From c6716e030c02f316b887c1d3ee4b443aa3ab6afd Mon Sep 17 00:00:00 2001 From: Wim Date: Fri, 1 Apr 2022 00:23:19 +0200 Subject: Update dependencies (#1784) --- .../github.com/graph-gophers/graphql-go/.gitignore | 5 + .../graph-gophers/graphql-go/.golangci.yml | 35 + .../graph-gophers/graphql-go/CHANGELOG.md | 10 + .../graph-gophers/graphql-go/CONTRIBUTING.md | 13 + vendor/github.com/graph-gophers/graphql-go/LICENSE | 24 + .../github.com/graph-gophers/graphql-go/README.md | 169 + .../graph-gophers/graphql-go/decode/decode.go | 13 + .../graph-gophers/graphql-go/errors/errors.go | 59 + .../graphql-go/errors/panic_handler.go | 18 + .../github.com/graph-gophers/graphql-go/graphql.go | 339 + vendor/github.com/graph-gophers/graphql-go/id.go | 30 + .../graphql-go/internal/common/blockstring.go | 103 + .../graphql-go/internal/common/directive.go | 18 + .../graphql-go/internal/common/lexer.go | 229 + .../graphql-go/internal/common/literals.go | 58 + .../graphql-go/internal/common/types.go | 67 + .../graphql-go/internal/common/values.go | 37 + .../graph-gophers/graphql-go/internal/exec/exec.go | 381 + .../graphql-go/internal/exec/packer/packer.go | 390 + .../graphql-go/internal/exec/resolvable/meta.go | 70 + .../internal/exec/resolvable/resolvable.go | 453 + .../graphql-go/internal/exec/selected/selected.go | 269 + .../graphql-go/internal/exec/subscribe.go | 179 + .../graphql-go/internal/query/query.go | 156 + .../graphql-go/internal/schema/meta.go | 203 + .../graphql-go/internal/schema/schema.go | 586 ++ .../graphql-go/internal/validation/suggestion.go | 71 + .../graphql-go/internal/validation/validation.go | 980 ++ .../graph-gophers/graphql-go/introspection.go | 118 + .../graphql-go/introspection/introspection.go | 312 + .../github.com/graph-gophers/graphql-go/log/log.go | 23 + .../graph-gophers/graphql-go/nullable_types.go | 166 + .../graph-gophers/graphql-go/subscriptions.go | 96 + vendor/github.com/graph-gophers/graphql-go/time.go | 64 + .../graph-gophers/graphql-go/trace/trace.go | 96 + .../graphql-go/trace/validation_trace.go | 25 + .../graph-gophers/graphql-go/types/argument.go | 44 + .../graph-gophers/graphql-go/types/directive.go | 34 + .../graph-gophers/graphql-go/types/doc.go | 9 + .../graph-gophers/graphql-go/types/enum.go | 32 + .../graph-gophers/graphql-go/types/extension.go | 13 + .../graph-gophers/graphql-go/types/field.go | 39 + .../graph-gophers/graphql-go/types/fragment.go | 51 + .../graph-gophers/graphql-go/types/input.go | 47 + .../graph-gophers/graphql-go/types/interface.go | 25 + .../graph-gophers/graphql-go/types/object.go | 25 + .../graph-gophers/graphql-go/types/query.go | 62 + .../graph-gophers/graphql-go/types/scalar.go | 22 + .../graph-gophers/graphql-go/types/schema.go | 42 + .../graph-gophers/graphql-go/types/types.go | 63 + .../graph-gophers/graphql-go/types/union.go | 24 + .../graph-gophers/graphql-go/types/value.go | 141 + .../graph-gophers/graphql-go/types/variable.go | 15 + vendor/github.com/klauspost/cpuid/v2/README.md | 4 +- vendor/github.com/klauspost/cpuid/v2/cpuid.go | 74 +- .../github.com/klauspost/cpuid/v2/detect_arm64.go | 3 +- vendor/github.com/klauspost/cpuid/v2/detect_ref.go | 3 +- vendor/github.com/klauspost/cpuid/v2/detect_x86.go | 3 +- .../klauspost/cpuid/v2/featureid_string.go | 197 +- .../klauspost/cpuid/v2/os_other_arm64.go | 5 +- .../klauspost/cpuid/v2/os_safe_linux_arm64.go | 3 +- .../klauspost/cpuid/v2/os_unsafe_linux_arm64.go | 3 +- vendor/github.com/labstack/echo/v4/CHANGELOG.md | 24 + vendor/github.com/labstack/echo/v4/echo.go | 12 +- .../github.com/labstack/echo/v4/echo_fs_go1.16.go | 40 +- .../labstack/echo/v4/middleware/extractor.go | 4 +- .../labstack/echo/v4/middleware/recover.go | 4 + .../labstack/echo/v4/middleware/timeout.go | 130 +- .../mattermost-server/v6/model/bulk_export.go | 13 + .../mattermost-server/v6/model/channel.go | 43 +- .../mattermost-server/v6/model/channel_member.go | 25 + .../mattermost-server/v6/model/channel_sidebar.go | 42 + .../mattermost-server/v6/model/client4.go | 99 +- .../mattermost-server/v6/model/config.go | 12 +- .../mattermost-server/v6/model/custom_status.go | 8 + .../mattermost/mattermost-server/v6/model/emoji.go | 5 +- .../mattermost-server/v6/model/feature_flags.go | 27 +- .../mattermost-server/v6/model/github_release.go | 26 + .../mattermost/mattermost-server/v6/model/group.go | 47 +- .../mattermost/mattermost-server/v6/model/job.go | 26 +- .../mattermost-server/v6/model/license.go | 6 + .../mattermost-server/v6/model/migration.go | 1 + .../mattermost-server/v6/model/onboarding.go | 25 + .../mattermost-server/v6/model/permission.go | 42 + .../v6/model/plugin_on_install_event.go | 9 + .../mattermost/mattermost-server/v6/model/post.go | 14 +- .../mattermost/mattermost-server/v6/model/role.go | 17 + .../mattermost-server/v6/model/status.go | 13 + .../mattermost-server/v6/model/system.go | 9 +- .../mattermost/mattermost-server/v6/model/team.go | 2 +- .../mattermost-server/v6/model/team_member.go | 6 + .../mattermost-server/v6/model/thread.go | 59 +- .../mattermost-server/v6/model/upload_session.go | 5 +- .../mattermost/mattermost-server/v6/model/user.go | 40 +- .../mattermost-server/v6/model/user_get.go | 2 + .../mattermost-server/v6/model/user_search.go | 1 + .../mattermost/mattermost-server/v6/model/utils.go | 18 + .../mattermost-server/v6/model/version.go | 3 +- .../v6/model/websocket_message.go | 5 + .../mattermost-server/v6/shared/mlog/graphql.go | 23 + .../github.com/minio/minio-go/v7/CONTRIBUTING.md | 1 - vendor/github.com/minio/minio-go/v7/README.md | 3 +- .../minio/minio-go/v7/api-error-response.go | 1 + .../minio/minio-go/v7/api-get-object-acl.go | 5 +- .../github.com/minio/minio-go/v7/api-get-object.go | 4 + .../minio/minio-go/v7/api-get-options.go | 1 + .../github.com/minio/minio-go/v7/api-put-object.go | 15 +- vendor/github.com/minio/minio-go/v7/api-remove.go | 128 +- .../minio/minio-go/v7/api-s3-datatypes.go | 2 +- vendor/github.com/minio/minio-go/v7/api.go | 75 +- .../minio/minio-go/v7/functional_tests.go | 152 +- .../minio-go/v7/pkg/credentials/assume_role.go | 20 +- .../minio-go/v7/pkg/credentials/error_response.go | 96 + .../minio-go/v7/pkg/credentials/signature-type.go | 77 - .../minio-go/v7/pkg/credentials/signature_type.go | 77 + .../v7/pkg/credentials/sts-tls-identity.go | 192 - .../v7/pkg/credentials/sts_client_grants.go | 20 +- .../v7/pkg/credentials/sts_ldap_identity.go | 21 +- .../v7/pkg/credentials/sts_tls_identity.go | 210 + .../v7/pkg/credentials/sts_web_identity.go | 20 +- .../minio/minio-go/v7/pkg/lifecycle/lifecycle.go | 17 +- .../minio/minio-go/v7/pkg/s3utils/utils.go | 16 + .../minio-go/v7/pkg/signer/request-signature-v2.go | 10 +- vendor/github.com/minio/minio-go/v7/transport.go | 1 + .../opentracing/opentracing-go/.gitignore | 1 + .../opentracing/opentracing-go/.travis.yml | 20 + .../opentracing/opentracing-go/CHANGELOG.md | 63 + .../github.com/opentracing/opentracing-go/LICENSE | 201 + .../github.com/opentracing/opentracing-go/Makefile | 20 + .../opentracing/opentracing-go/README.md | 171 + .../github.com/opentracing/opentracing-go/ext.go | 24 + .../opentracing/opentracing-go/ext/field.go | 17 + .../opentracing/opentracing-go/ext/tags.go | 215 + .../opentracing/opentracing-go/globaltracer.go | 42 + .../opentracing/opentracing-go/gocontext.go | 65 + .../opentracing/opentracing-go/log/field.go | 282 + .../opentracing/opentracing-go/log/util.go | 61 + .../github.com/opentracing/opentracing-go/noop.go | 64 + .../opentracing/opentracing-go/propagation.go | 176 + .../github.com/opentracing/opentracing-go/span.go | 189 + .../opentracing/opentracing-go/tracer.go | 304 + vendor/go.mau.fi/whatsmeow/client.go | 15 +- vendor/go.mau.fi/whatsmeow/download.go | 7 +- vendor/go.mau.fi/whatsmeow/mediaconn.go | 10 +- vendor/go.mau.fi/whatsmeow/message.go | 61 +- vendor/go.mau.fi/whatsmeow/send.go | 6 + vendor/go.mau.fi/whatsmeow/store/clientpayload.go | 2 +- vendor/go.mau.fi/whatsmeow/upload.go | 7 +- vendor/go.mau.fi/whatsmeow/user.go | 1 + vendor/golang.org/x/sys/unix/syscall_linux.go | 1 - .../golang.org/x/sys/unix/syscall_linux_alarm.go | 14 + vendor/golang.org/x/sys/unix/zerrors_linux.go | 26 +- vendor/golang.org/x/sys/unix/zerrors_linux_386.go | 3 + .../golang.org/x/sys/unix/zerrors_linux_amd64.go | 3 + vendor/golang.org/x/sys/unix/zerrors_linux_arm.go | 3 + .../golang.org/x/sys/unix/zerrors_linux_arm64.go | 3 + vendor/golang.org/x/sys/unix/zerrors_linux_mips.go | 3 + .../golang.org/x/sys/unix/zerrors_linux_mips64.go | 3 + .../x/sys/unix/zerrors_linux_mips64le.go | 3 + .../golang.org/x/sys/unix/zerrors_linux_mipsle.go | 3 + vendor/golang.org/x/sys/unix/zerrors_linux_ppc.go | 3 + .../golang.org/x/sys/unix/zerrors_linux_ppc64.go | 3 + .../golang.org/x/sys/unix/zerrors_linux_ppc64le.go | 3 + .../golang.org/x/sys/unix/zerrors_linux_riscv64.go | 3 + .../golang.org/x/sys/unix/zerrors_linux_s390x.go | 3 + .../golang.org/x/sys/unix/zerrors_linux_sparc64.go | 3 + vendor/golang.org/x/sys/unix/zsyscall_linux_386.go | 13 +- .../golang.org/x/sys/unix/zsyscall_linux_amd64.go | 13 +- .../golang.org/x/sys/unix/zsyscall_linux_mips.go | 13 +- .../golang.org/x/sys/unix/zsyscall_linux_mips64.go | 13 +- .../golang.org/x/sys/unix/zsyscall_linux_mipsle.go | 13 +- vendor/golang.org/x/sys/unix/zsyscall_linux_ppc.go | 13 +- .../golang.org/x/sys/unix/zsyscall_linux_ppc64.go | 13 +- .../x/sys/unix/zsyscall_linux_ppc64le.go | 13 +- .../golang.org/x/sys/unix/zsyscall_linux_s390x.go | 13 +- .../x/sys/unix/zsyscall_linux_sparc64.go | 13 +- vendor/golang.org/x/sys/unix/zsysnum_linux_386.go | 1 + .../golang.org/x/sys/unix/zsysnum_linux_amd64.go | 1 + vendor/golang.org/x/sys/unix/zsysnum_linux_arm.go | 1 + .../golang.org/x/sys/unix/zsysnum_linux_arm64.go | 1 + vendor/golang.org/x/sys/unix/zsysnum_linux_mips.go | 1 + .../golang.org/x/sys/unix/zsysnum_linux_mips64.go | 1 + .../x/sys/unix/zsysnum_linux_mips64le.go | 1 + .../golang.org/x/sys/unix/zsysnum_linux_mipsle.go | 1 + vendor/golang.org/x/sys/unix/zsysnum_linux_ppc.go | 1 + .../golang.org/x/sys/unix/zsysnum_linux_ppc64.go | 1 + .../golang.org/x/sys/unix/zsysnum_linux_ppc64le.go | 1 + .../golang.org/x/sys/unix/zsysnum_linux_riscv64.go | 1 + .../golang.org/x/sys/unix/zsysnum_linux_s390x.go | 1 + .../golang.org/x/sys/unix/zsysnum_linux_sparc64.go | 1 + vendor/golang.org/x/sys/unix/ztypes_linux.go | 32 +- vendor/golang.org/x/sys/windows/syscall_windows.go | 2 + vendor/golang.org/x/sys/windows/types_windows.go | 2 + .../golang.org/x/sys/windows/zsyscall_windows.go | 14 + .../x/tools/go/gcexportdata/gcexportdata.go | 23 +- .../x/tools/go/internal/gcimporter/bexport.go | 3 - .../x/tools/go/internal/gcimporter/bimport.go | 51 +- .../x/tools/go/internal/gcimporter/exportdata.go | 16 +- .../x/tools/go/internal/gcimporter/gcimporter.go | 12 +- .../x/tools/go/internal/gcimporter/iexport.go | 172 +- .../x/tools/go/internal/gcimporter/iimport.go | 166 +- .../tools/go/internal/gcimporter/support_go117.go | 4 +- .../tools/go/internal/gcimporter/support_go118.go | 7 +- vendor/golang.org/x/tools/go/packages/packages.go | 5 + .../x/tools/internal/typeparams/common.go | 78 +- .../x/tools/internal/typeparams/enabled_go117.go | 4 +- .../x/tools/internal/typeparams/enabled_go118.go | 4 +- .../x/tools/internal/typeparams/normalize.go | 216 + .../x/tools/internal/typeparams/termlist.go | 172 + .../tools/internal/typeparams/typeparams_go117.go | 105 +- .../tools/internal/typeparams/typeparams_go118.go | 83 +- .../x/tools/internal/typeparams/typeterm.go | 170 + vendor/gopkg.in/ini.v1/.editorconfig | 12 + vendor/gopkg.in/ini.v1/.gitignore | 1 + vendor/gopkg.in/ini.v1/file.go | 23 +- vendor/gopkg.in/ini.v1/key.go | 3 + vendor/modernc.org/ccgo/v3/lib/stringer.go | 5 +- vendor/modernc.org/memory/AUTHORS | 1 + vendor/modernc.org/memory/CONTRIBUTORS | 1 + vendor/modernc.org/memory/mmap_darwin.go | 19 + vendor/modernc.org/memory/mmap_fallback.go | 17 - vendor/modernc.org/memory/mmap_freebsd_32.go | 1 + vendor/modernc.org/memory/mmap_freebsd_64.go | 1 + vendor/modernc.org/memory/mmap_linux_32.go | 2 + vendor/modernc.org/memory/mmap_linux_64.go | 2 + vendor/modernc.org/memory/mmap_netbsd_32.go | 1 + vendor/modernc.org/memory/mmap_netbsd_64.go | 1 + vendor/modernc.org/memory/mmap_openbsd.go | 19 + vendor/modernc.org/sqlite/README.md | 15 +- vendor/modernc.org/sqlite/doc.go | 23 +- vendor/modernc.org/sqlite/generator.go | 8 +- vendor/modernc.org/sqlite/lib/capi_darwin_amd64.go | 2 +- vendor/modernc.org/sqlite/lib/capi_darwin_arm64.go | 2 +- vendor/modernc.org/sqlite/lib/capi_freebsd_386.go | 2 +- .../modernc.org/sqlite/lib/capi_freebsd_amd64.go | 2 +- vendor/modernc.org/sqlite/lib/capi_linux_386.go | 2 +- vendor/modernc.org/sqlite/lib/capi_linux_amd64.go | 2 +- vendor/modernc.org/sqlite/lib/capi_linux_arm.go | 2 +- vendor/modernc.org/sqlite/lib/capi_linux_arm64.go | 2 +- .../modernc.org/sqlite/lib/capi_linux_riscv64.go | 2 +- vendor/modernc.org/sqlite/lib/capi_linux_s390x.go | 2 +- .../modernc.org/sqlite/lib/capi_openbsd_amd64.go | 2 +- .../modernc.org/sqlite/lib/capi_windows_amd64.go | 2 +- .../modernc.org/sqlite/lib/sqlite_darwin_amd64.go | 9949 +++++++++--------- .../modernc.org/sqlite/lib/sqlite_darwin_arm64.go | 10088 ++++++++++--------- .../modernc.org/sqlite/lib/sqlite_freebsd_386.go | 9537 +++++++++--------- .../modernc.org/sqlite/lib/sqlite_freebsd_amd64.go | 9537 +++++++++--------- vendor/modernc.org/sqlite/lib/sqlite_linux_386.go | 9537 +++++++++--------- .../modernc.org/sqlite/lib/sqlite_linux_amd64.go | 9537 +++++++++--------- vendor/modernc.org/sqlite/lib/sqlite_linux_arm.go | 9537 +++++++++--------- .../modernc.org/sqlite/lib/sqlite_linux_arm64.go | 9537 +++++++++--------- .../modernc.org/sqlite/lib/sqlite_linux_riscv64.go | 9537 +++++++++--------- .../modernc.org/sqlite/lib/sqlite_linux_s390x.go | 9537 +++++++++--------- .../modernc.org/sqlite/lib/sqlite_openbsd_amd64.go | 9519 ++++++++--------- .../modernc.org/sqlite/lib/sqlite_windows_amd64.go | 9809 +++++++++--------- vendor/modules.txt | 50 +- 256 files changed, 69731 insertions(+), 58650 deletions(-) create mode 100644 vendor/github.com/graph-gophers/graphql-go/.gitignore create mode 100644 vendor/github.com/graph-gophers/graphql-go/.golangci.yml create mode 100644 vendor/github.com/graph-gophers/graphql-go/CHANGELOG.md create mode 100644 vendor/github.com/graph-gophers/graphql-go/CONTRIBUTING.md create mode 100644 vendor/github.com/graph-gophers/graphql-go/LICENSE create mode 100644 vendor/github.com/graph-gophers/graphql-go/README.md create mode 100644 vendor/github.com/graph-gophers/graphql-go/decode/decode.go create mode 100644 vendor/github.com/graph-gophers/graphql-go/errors/errors.go create mode 100644 vendor/github.com/graph-gophers/graphql-go/errors/panic_handler.go create mode 100644 vendor/github.com/graph-gophers/graphql-go/graphql.go create mode 100644 vendor/github.com/graph-gophers/graphql-go/id.go create mode 100644 vendor/github.com/graph-gophers/graphql-go/internal/common/blockstring.go create mode 100644 vendor/github.com/graph-gophers/graphql-go/internal/common/directive.go create mode 100644 vendor/github.com/graph-gophers/graphql-go/internal/common/lexer.go create mode 100644 vendor/github.com/graph-gophers/graphql-go/internal/common/literals.go create mode 100644 vendor/github.com/graph-gophers/graphql-go/internal/common/types.go create mode 100644 vendor/github.com/graph-gophers/graphql-go/internal/common/values.go create mode 100644 vendor/github.com/graph-gophers/graphql-go/internal/exec/exec.go create mode 100644 vendor/github.com/graph-gophers/graphql-go/internal/exec/packer/packer.go create mode 100644 vendor/github.com/graph-gophers/graphql-go/internal/exec/resolvable/meta.go create mode 100644 vendor/github.com/graph-gophers/graphql-go/internal/exec/resolvable/resolvable.go create mode 100644 vendor/github.com/graph-gophers/graphql-go/internal/exec/selected/selected.go create mode 100644 vendor/github.com/graph-gophers/graphql-go/internal/exec/subscribe.go create mode 100644 vendor/github.com/graph-gophers/graphql-go/internal/query/query.go create mode 100644 vendor/github.com/graph-gophers/graphql-go/internal/schema/meta.go create mode 100644 vendor/github.com/graph-gophers/graphql-go/internal/schema/schema.go create mode 100644 vendor/github.com/graph-gophers/graphql-go/internal/validation/suggestion.go create mode 100644 vendor/github.com/graph-gophers/graphql-go/internal/validation/validation.go create mode 100644 vendor/github.com/graph-gophers/graphql-go/introspection.go create mode 100644 vendor/github.com/graph-gophers/graphql-go/introspection/introspection.go create mode 100644 vendor/github.com/graph-gophers/graphql-go/log/log.go create mode 100644 vendor/github.com/graph-gophers/graphql-go/nullable_types.go create mode 100644 vendor/github.com/graph-gophers/graphql-go/subscriptions.go create mode 100644 vendor/github.com/graph-gophers/graphql-go/time.go create mode 100644 vendor/github.com/graph-gophers/graphql-go/trace/trace.go create mode 100644 vendor/github.com/graph-gophers/graphql-go/trace/validation_trace.go create mode 100644 vendor/github.com/graph-gophers/graphql-go/types/argument.go create mode 100644 vendor/github.com/graph-gophers/graphql-go/types/directive.go create mode 100644 vendor/github.com/graph-gophers/graphql-go/types/doc.go create mode 100644 vendor/github.com/graph-gophers/graphql-go/types/enum.go create mode 100644 vendor/github.com/graph-gophers/graphql-go/types/extension.go create mode 100644 vendor/github.com/graph-gophers/graphql-go/types/field.go create mode 100644 vendor/github.com/graph-gophers/graphql-go/types/fragment.go create mode 100644 vendor/github.com/graph-gophers/graphql-go/types/input.go create mode 100644 vendor/github.com/graph-gophers/graphql-go/types/interface.go create mode 100644 vendor/github.com/graph-gophers/graphql-go/types/object.go create mode 100644 vendor/github.com/graph-gophers/graphql-go/types/query.go create mode 100644 vendor/github.com/graph-gophers/graphql-go/types/scalar.go create mode 100644 vendor/github.com/graph-gophers/graphql-go/types/schema.go create mode 100644 vendor/github.com/graph-gophers/graphql-go/types/types.go create mode 100644 vendor/github.com/graph-gophers/graphql-go/types/union.go create mode 100644 vendor/github.com/graph-gophers/graphql-go/types/value.go create mode 100644 vendor/github.com/graph-gophers/graphql-go/types/variable.go create mode 100644 vendor/github.com/mattermost/mattermost-server/v6/model/bulk_export.go create mode 100644 vendor/github.com/mattermost/mattermost-server/v6/model/github_release.go create mode 100644 vendor/github.com/mattermost/mattermost-server/v6/model/onboarding.go create mode 100644 vendor/github.com/mattermost/mattermost-server/v6/model/plugin_on_install_event.go create mode 100644 vendor/github.com/mattermost/mattermost-server/v6/shared/mlog/graphql.go create mode 100644 vendor/github.com/minio/minio-go/v7/pkg/credentials/error_response.go delete mode 100644 vendor/github.com/minio/minio-go/v7/pkg/credentials/signature-type.go create mode 100644 vendor/github.com/minio/minio-go/v7/pkg/credentials/signature_type.go delete mode 100644 vendor/github.com/minio/minio-go/v7/pkg/credentials/sts-tls-identity.go create mode 100644 vendor/github.com/minio/minio-go/v7/pkg/credentials/sts_tls_identity.go create mode 100644 vendor/github.com/opentracing/opentracing-go/.gitignore create mode 100644 vendor/github.com/opentracing/opentracing-go/.travis.yml create mode 100644 vendor/github.com/opentracing/opentracing-go/CHANGELOG.md create mode 100644 vendor/github.com/opentracing/opentracing-go/LICENSE create mode 100644 vendor/github.com/opentracing/opentracing-go/Makefile create mode 100644 vendor/github.com/opentracing/opentracing-go/README.md create mode 100644 vendor/github.com/opentracing/opentracing-go/ext.go create mode 100644 vendor/github.com/opentracing/opentracing-go/ext/field.go create mode 100644 vendor/github.com/opentracing/opentracing-go/ext/tags.go create mode 100644 vendor/github.com/opentracing/opentracing-go/globaltracer.go create mode 100644 vendor/github.com/opentracing/opentracing-go/gocontext.go create mode 100644 vendor/github.com/opentracing/opentracing-go/log/field.go create mode 100644 vendor/github.com/opentracing/opentracing-go/log/util.go create mode 100644 vendor/github.com/opentracing/opentracing-go/noop.go create mode 100644 vendor/github.com/opentracing/opentracing-go/propagation.go create mode 100644 vendor/github.com/opentracing/opentracing-go/span.go create mode 100644 vendor/github.com/opentracing/opentracing-go/tracer.go create mode 100644 vendor/golang.org/x/sys/unix/syscall_linux_alarm.go create mode 100644 vendor/golang.org/x/tools/internal/typeparams/normalize.go create mode 100644 vendor/golang.org/x/tools/internal/typeparams/termlist.go create mode 100644 vendor/golang.org/x/tools/internal/typeparams/typeterm.go create mode 100644 vendor/gopkg.in/ini.v1/.editorconfig create mode 100644 vendor/modernc.org/memory/mmap_darwin.go delete mode 100644 vendor/modernc.org/memory/mmap_fallback.go create mode 100644 vendor/modernc.org/memory/mmap_openbsd.go (limited to 'vendor') diff --git a/vendor/github.com/graph-gophers/graphql-go/.gitignore b/vendor/github.com/graph-gophers/graphql-go/.gitignore new file mode 100644 index 00000000..2fa95abe --- /dev/null +++ b/vendor/github.com/graph-gophers/graphql-go/.gitignore @@ -0,0 +1,5 @@ +/.idea +/.vscode +/internal/validation/testdata/graphql-js +/internal/validation/testdata/node_modules +/vendor diff --git a/vendor/github.com/graph-gophers/graphql-go/.golangci.yml b/vendor/github.com/graph-gophers/graphql-go/.golangci.yml new file mode 100644 index 00000000..c6741d58 --- /dev/null +++ b/vendor/github.com/graph-gophers/graphql-go/.golangci.yml @@ -0,0 +1,35 @@ +run: + timeout: 5m + +linters-settings: + gofmt: + simplify: true + govet: + check-shadowing: true + enable-all: true + disable: + - fieldalignment + - deepequalerrors # remove later + +linters: + disable-all: true + enable: + - deadcode + - gofmt + - gosimple + - govet + - ineffassign + - exportloopref + - structcheck + - staticcheck + - unconvert + - unused + - varcheck + - misspell + - goimports + +issues: + exclude-rules: + - linters: + - unused + path: "graphql_test.go" \ No newline at end of file diff --git a/vendor/github.com/graph-gophers/graphql-go/CHANGELOG.md b/vendor/github.com/graph-gophers/graphql-go/CHANGELOG.md new file mode 100644 index 00000000..e5f48c06 --- /dev/null +++ b/vendor/github.com/graph-gophers/graphql-go/CHANGELOG.md @@ -0,0 +1,10 @@ +CHANGELOG + +[v1.1.0](https://github.com/graph-gophers/graphql-go/releases/tag/v1.1.0) Release v1.1.0 +* [FEATURE] Add types package #437 +* [FEATURE] Expose `packer.Unmarshaler` as `decode.Unmarshaler` to the public #450 +* [FEATURE] Add location fields to type definitions #454 +* [FEATURE] `errors.Errorf` preserves original error similar to `fmt.Errorf` #456 +* [BUGFIX] Fix duplicated __typename in response (fixes #369) #443 + +[v1.0.0](https://github.com/graph-gophers/graphql-go/releases/tag/v1.0.0) Initial release diff --git a/vendor/github.com/graph-gophers/graphql-go/CONTRIBUTING.md b/vendor/github.com/graph-gophers/graphql-go/CONTRIBUTING.md new file mode 100644 index 00000000..a2cffca8 --- /dev/null +++ b/vendor/github.com/graph-gophers/graphql-go/CONTRIBUTING.md @@ -0,0 +1,13 @@ +## Contributing + +- With issues: + - Use the search tool before opening a new issue. + - Please provide source code and commit sha if you found a bug. + - Review existing issues and provide feedback or react to them. + +- With pull requests: + - Open your pull request against `master` + - Your pull request should have no more than two commits, if not you should squash them. + - It should pass all tests in the available continuous integrations systems such as TravisCI. + - You should add/modify tests to cover your proposed code changes. + - If your pull request contains a new feature, please document it on the README. \ No newline at end of file diff --git a/vendor/github.com/graph-gophers/graphql-go/LICENSE b/vendor/github.com/graph-gophers/graphql-go/LICENSE new file mode 100644 index 00000000..3907ceca --- /dev/null +++ b/vendor/github.com/graph-gophers/graphql-go/LICENSE @@ -0,0 +1,24 @@ +Copyright (c) 2016 Richard Musiol. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/vendor/github.com/graph-gophers/graphql-go/README.md b/vendor/github.com/graph-gophers/graphql-go/README.md new file mode 100644 index 00000000..87b020c1 --- /dev/null +++ b/vendor/github.com/graph-gophers/graphql-go/README.md @@ -0,0 +1,169 @@ +# graphql-go [![Sourcegraph](https://sourcegraph.com/github.com/graph-gophers/graphql-go/-/badge.svg)](https://sourcegraph.com/github.com/graph-gophers/graphql-go?badge) [![Build Status](https://graph-gophers.semaphoreci.com/badges/graphql-go/branches/master.svg?style=shields)](https://graph-gophers.semaphoreci.com/projects/graphql-go) [![GoDoc](https://godoc.org/github.com/graph-gophers/graphql-go?status.svg)](https://godoc.org/github.com/graph-gophers/graphql-go) + +

+ +The goal of this project is to provide full support of the [GraphQL draft specification](https://facebook.github.io/graphql/draft) with a set of idiomatic, easy to use Go packages. + +While still under heavy development (`internal` APIs are almost certainly subject to change), this library is +safe for production use. + +## Features + +- minimal API +- support for `context.Context` +- support for the `OpenTracing` standard +- schema type-checking against resolvers +- resolvers are matched to the schema based on method sets (can resolve a GraphQL schema with a Go interface or Go struct). +- handles panics in resolvers +- parallel execution of resolvers +- subscriptions + - [sample WS transport](https://github.com/graph-gophers/graphql-transport-ws) + +## Roadmap + +We're trying out the GitHub Project feature to manage `graphql-go`'s [development roadmap](https://github.com/graph-gophers/graphql-go/projects/1). +Feedback is welcome and appreciated. + +## (Some) Documentation + +### Basic Sample + +```go +package main + +import ( + "log" + "net/http" + + graphql "github.com/graph-gophers/graphql-go" + "github.com/graph-gophers/graphql-go/relay" +) + +type query struct{} + +func (_ *query) Hello() string { return "Hello, world!" } + +func main() { + s := ` + type Query { + hello: String! + } + ` + schema := graphql.MustParseSchema(s, &query{}) + http.Handle("/query", &relay.Handler{Schema: schema}) + log.Fatal(http.ListenAndServe(":8080", nil)) +} +``` + +To test: + +```sh +curl -XPOST -d '{"query": "{ hello }"}' localhost:8080/query +``` + +### Resolvers + +A resolver must have one method or field for each field of the GraphQL type it resolves. The method or field name has to be [exported](https://golang.org/ref/spec#Exported_identifiers) and match the schema's field's name in a non-case-sensitive way. +You can use struct fields as resolvers by using `SchemaOpt: UseFieldResolvers()`. For example, +``` +opts := []graphql.SchemaOpt{graphql.UseFieldResolvers()} +schema := graphql.MustParseSchema(s, &query{}, opts...) +``` + +When using `UseFieldResolvers` schema option, a struct field will be used *only* when: +- there is no method for a struct field +- a struct field does not implement an interface method +- a struct field does not have arguments + +The method has up to two arguments: + +- Optional `context.Context` argument. +- Mandatory `*struct { ... }` argument if the corresponding GraphQL field has arguments. The names of the struct fields have to be [exported](https://golang.org/ref/spec#Exported_identifiers) and have to match the names of the GraphQL arguments in a non-case-sensitive way. + +The method has up to two results: + +- The GraphQL field's value as determined by the resolver. +- Optional `error` result. + +Example for a simple resolver method: + +```go +func (r *helloWorldResolver) Hello() string { + return "Hello world!" +} +``` + +The following signature is also allowed: + +```go +func (r *helloWorldResolver) Hello(ctx context.Context) (string, error) { + return "Hello world!", nil +} +``` + +### Schema Options + +- `UseStringDescriptions()` enables the usage of double quoted and triple quoted. When this is not enabled, comments are parsed as descriptions instead. +- `UseFieldResolvers()` specifies whether to use struct field resolvers. +- `MaxDepth(n int)` specifies the maximum field nesting depth in a query. The default is 0 which disables max depth checking. +- `MaxParallelism(n int)` specifies the maximum number of resolvers per request allowed to run in parallel. The default is 10. +- `Tracer(tracer trace.Tracer)` is used to trace queries and fields. It defaults to `trace.OpenTracingTracer`. +- `ValidationTracer(tracer trace.ValidationTracer)` is used to trace validation errors. It defaults to `trace.NoopValidationTracer`. +- `Logger(logger log.Logger)` is used to log panics during query execution. It defaults to `exec.DefaultLogger`. +- `PanicHandler(panicHandler errors.PanicHandler)` is used to transform panics into errors during query execution. It defaults to `errors.DefaultPanicHandler`. +- `DisableIntrospection()` disables introspection queries. + +### Custom Errors + +Errors returned by resolvers can include custom extensions by implementing the `ResolverError` interface: + +```go +type ResolverError interface { + error + Extensions() map[string]interface{} +} +``` + +Example of a simple custom error: + +```go +type droidNotFoundError struct { + Code string `json:"code"` + Message string `json:"message"` +} + +func (e droidNotFoundError) Error() string { + return fmt.Sprintf("error [%s]: %s", e.Code, e.Message) +} + +func (e droidNotFoundError) Extensions() map[string]interface{} { + return map[string]interface{}{ + "code": e.Code, + "message": e.Message, + } +} +``` + +Which could produce a GraphQL error such as: + +```go +{ + "errors": [ + { + "message": "error [NotFound]: This is not the droid you are looking for", + "path": [ + "droid" + ], + "extensions": { + "code": "NotFound", + "message": "This is not the droid you are looking for" + } + } + ], + "data": null +} +``` + +### [Examples](https://github.com/graph-gophers/graphql-go/wiki/Examples) + +### [Companies that use this library](https://github.com/graph-gophers/graphql-go/wiki/Users) diff --git a/vendor/github.com/graph-gophers/graphql-go/decode/decode.go b/vendor/github.com/graph-gophers/graphql-go/decode/decode.go new file mode 100644 index 00000000..56a9d5b5 --- /dev/null +++ b/vendor/github.com/graph-gophers/graphql-go/decode/decode.go @@ -0,0 +1,13 @@ +package decode + +// Unmarshaler defines the api of Go types mapped to custom GraphQL scalar types +type Unmarshaler interface { + // ImplementsGraphQLType maps the implementing custom Go type + // to the GraphQL scalar type in the schema. + ImplementsGraphQLType(name string) bool + // UnmarshalGraphQL is the custom unmarshaler for the implementing type + // + // This function will be called whenever you use the + // custom GraphQL scalar type as an input + UnmarshalGraphQL(input interface{}) error +} diff --git a/vendor/github.com/graph-gophers/graphql-go/errors/errors.go b/vendor/github.com/graph-gophers/graphql-go/errors/errors.go new file mode 100644 index 00000000..0f9340b1 --- /dev/null +++ b/vendor/github.com/graph-gophers/graphql-go/errors/errors.go @@ -0,0 +1,59 @@ +package errors + +import ( + "fmt" +) + +type QueryError struct { + Err error `json:"-"` // Err holds underlying if available + Message string `json:"message"` + Locations []Location `json:"locations,omitempty"` + Path []interface{} `json:"path,omitempty"` + Rule string `json:"-"` + ResolverError error `json:"-"` + Extensions map[string]interface{} `json:"extensions,omitempty"` +} + +type Location struct { + Line int `json:"line"` + Column int `json:"column"` +} + +func (a Location) Before(b Location) bool { + return a.Line < b.Line || (a.Line == b.Line && a.Column < b.Column) +} + +func Errorf(format string, a ...interface{}) *QueryError { + // similar to fmt.Errorf, Errorf will wrap the last argument if it is an instance of error + var err error + if n := len(a); n > 0 { + if v, ok := a[n-1].(error); ok { + err = v + } + } + + return &QueryError{ + Err: err, + Message: fmt.Sprintf(format, a...), + } +} + +func (err *QueryError) Error() string { + if err == nil { + return "" + } + str := fmt.Sprintf("graphql: %s", err.Message) + for _, loc := range err.Locations { + str += fmt.Sprintf(" (line %d, column %d)", loc.Line, loc.Column) + } + return str +} + +func (err *QueryError) Unwrap() error { + if err == nil { + return nil + } + return err.Err +} + +var _ error = &QueryError{} diff --git a/vendor/github.com/graph-gophers/graphql-go/errors/panic_handler.go b/vendor/github.com/graph-gophers/graphql-go/errors/panic_handler.go new file mode 100644 index 00000000..5446c2a9 --- /dev/null +++ b/vendor/github.com/graph-gophers/graphql-go/errors/panic_handler.go @@ -0,0 +1,18 @@ +package errors + +import ( + "context" +) + +// PanicHandler is the interface used to create custom panic errors that occur during query execution +type PanicHandler interface { + MakePanicError(ctx context.Context, value interface{}) *QueryError +} + +// DefaultPanicHandler is the default PanicHandler +type DefaultPanicHandler struct{} + +// MakePanicError creates a new QueryError from a panic that occurred during execution +func (h *DefaultPanicHandler) MakePanicError(ctx context.Context, value interface{}) *QueryError { + return Errorf("panic occurred: %v", value) +} diff --git a/vendor/github.com/graph-gophers/graphql-go/graphql.go b/vendor/github.com/graph-gophers/graphql-go/graphql.go new file mode 100644 index 00000000..76a6434d --- /dev/null +++ b/vendor/github.com/graph-gophers/graphql-go/graphql.go @@ -0,0 +1,339 @@ +package graphql + +import ( + "context" + "encoding/json" + "fmt" + "time" + + "github.com/graph-gophers/graphql-go/errors" + "github.com/graph-gophers/graphql-go/internal/common" + "github.com/graph-gophers/graphql-go/internal/exec" + "github.com/graph-gophers/graphql-go/internal/exec/resolvable" + "github.com/graph-gophers/graphql-go/internal/exec/selected" + "github.com/graph-gophers/graphql-go/internal/query" + "github.com/graph-gophers/graphql-go/internal/schema" + "github.com/graph-gophers/graphql-go/internal/validation" + "github.com/graph-gophers/graphql-go/introspection" + "github.com/graph-gophers/graphql-go/log" + "github.com/graph-gophers/graphql-go/trace" + "github.com/graph-gophers/graphql-go/types" +) + +// ParseSchema parses a GraphQL schema and attaches the given root resolver. It returns an error if +// the Go type signature of the resolvers does not match the schema. If nil is passed as the +// resolver, then the schema can not be executed, but it may be inspected (e.g. with ToJSON). +func ParseSchema(schemaString string, resolver interface{}, opts ...SchemaOpt) (*Schema, error) { + s := &Schema{ + schema: schema.New(), + maxParallelism: 10, + tracer: trace.OpenTracingTracer{}, + logger: &log.DefaultLogger{}, + panicHandler: &errors.DefaultPanicHandler{}, + } + for _, opt := range opts { + opt(s) + } + + if s.validationTracer == nil { + if tracer, ok := s.tracer.(trace.ValidationTracerContext); ok { + s.validationTracer = tracer + } else { + s.validationTracer = &validationBridgingTracer{tracer: trace.NoopValidationTracer{}} + } + } + + if err := schema.Parse(s.schema, schemaString, s.useStringDescriptions); err != nil { + return nil, err + } + if err := s.validateSchema(); err != nil { + return nil, err + } + + r, err := resolvable.ApplyResolver(s.schema, resolver) + if err != nil { + return nil, err + } + s.res = r + + return s, nil +} + +// MustParseSchema calls ParseSchema and panics on error. +func MustParseSchema(schemaString string, resolver interface{}, opts ...SchemaOpt) *Schema { + s, err := ParseSchema(schemaString, resolver, opts...) + if err != nil { + panic(err) + } + return s +} + +// Schema represents a GraphQL schema with an optional resolver. +type Schema struct { + schema *types.Schema + res *resolvable.Schema + + maxDepth int + maxParallelism int + tracer trace.Tracer + validationTracer trace.ValidationTracerContext + logger log.Logger + panicHandler errors.PanicHandler + useStringDescriptions bool + disableIntrospection bool + subscribeResolverTimeout time.Duration +} + +func (s *Schema) ASTSchema() *types.Schema { + return s.schema +} + +// SchemaOpt is an option to pass to ParseSchema or MustParseSchema. +type SchemaOpt func(*Schema) + +// UseStringDescriptions enables the usage of double quoted and triple quoted +// strings as descriptions as per the June 2018 spec +// https://facebook.github.io/graphql/June2018/. When this is not enabled, +// comments are parsed as descriptions instead. +func UseStringDescriptions() SchemaOpt { + return func(s *Schema) { + s.useStringDescriptions = true + } +} + +// UseFieldResolvers specifies whether to use struct field resolvers +func UseFieldResolvers() SchemaOpt { + return func(s *Schema) { + s.schema.UseFieldResolvers = true + } +} + +// MaxDepth specifies the maximum field nesting depth in a query. The default is 0 which disables max depth checking. +func MaxDepth(n int) SchemaOpt { + return func(s *Schema) { + s.maxDepth = n + } +} + +// MaxParallelism specifies the maximum number of resolvers per request allowed to run in parallel. The default is 10. +func MaxParallelism(n int) SchemaOpt { + return func(s *Schema) { + s.maxParallelism = n + } +} + +// Tracer is used to trace queries and fields. It defaults to trace.OpenTracingTracer. +func Tracer(tracer trace.Tracer) SchemaOpt { + return func(s *Schema) { + s.tracer = tracer + } +} + +// ValidationTracer is used to trace validation errors. It defaults to trace.NoopValidationTracer. +// Deprecated: context is needed to support tracing correctly. Use a Tracer which implements trace.ValidationTracerContext. +func ValidationTracer(tracer trace.ValidationTracer) SchemaOpt { //nolint:staticcheck + return func(s *Schema) { + s.validationTracer = &validationBridgingTracer{tracer: tracer} + } +} + +// Logger is used to log panics during query execution. It defaults to exec.DefaultLogger. +func Logger(logger log.Logger) SchemaOpt { + return func(s *Schema) { + s.logger = logger + } +} + +// PanicHandler is used to customize the panic errors during query execution. +// It defaults to errors.DefaultPanicHandler. +func PanicHandler(panicHandler errors.PanicHandler) SchemaOpt { + return func(s *Schema) { + s.panicHandler = panicHandler + } +} + +// DisableIntrospection disables introspection queries. +func DisableIntrospection() SchemaOpt { + return func(s *Schema) { + s.disableIntrospection = true + } +} + +// SubscribeResolverTimeout is an option to control the amount of time +// we allow for a single subscribe message resolver to complete it's job +// before it times out and returns an error to the subscriber. +func SubscribeResolverTimeout(timeout time.Duration) SchemaOpt { + return func(s *Schema) { + s.subscribeResolverTimeout = timeout + } +} + +// Response represents a typical response of a GraphQL server. It may be encoded to JSON directly or +// it may be further processed to a custom response type, for example to include custom error data. +// Errors are intentionally serialized first based on the advice in https://github.com/facebook/graphql/commit/7b40390d48680b15cb93e02d46ac5eb249689876#diff-757cea6edf0288677a9eea4cfc801d87R107 +type Response struct { + Errors []*errors.QueryError `json:"errors,omitempty"` + Data json.RawMessage `json:"data,omitempty"` + Extensions map[string]interface{} `json:"extensions,omitempty"` +} + +// Validate validates the given query with the schema. +func (s *Schema) Validate(queryString string) []*errors.QueryError { + return s.ValidateWithVariables(queryString, nil) +} + +// ValidateWithVariables validates the given query with the schema and the input variables. +func (s *Schema) ValidateWithVariables(queryString string, variables map[string]interface{}) []*errors.QueryError { + doc, qErr := query.Parse(queryString) + if qErr != nil { + return []*errors.QueryError{qErr} + } + + return validation.Validate(s.schema, doc, variables, s.maxDepth) +} + +// Exec executes the given query with the schema's resolver. It panics if the schema was created +// without a resolver. If the context get cancelled, no further resolvers will be called and a +// the context error will be returned as soon as possible (not immediately). +func (s *Schema) Exec(ctx context.Context, queryString string, operationName string, variables map[string]interface{}) *Response { + if !s.res.Resolver.IsValid() { + panic("schema created without resolver, can not exec") + } + return s.exec(ctx, queryString, operationName, variables, s.res) +} + +func (s *Schema) exec(ctx context.Context, queryString string, operationName string, variables map[string]interface{}, res *resolvable.Schema) *Response { + doc, qErr := query.Parse(queryString) + if qErr != nil { + return &Response{Errors: []*errors.QueryError{qErr}} + } + + validationFinish := s.validationTracer.TraceValidation(ctx) + errs := validation.Validate(s.schema, doc, variables, s.maxDepth) + validationFinish(errs) + if len(errs) != 0 { + return &Response{Errors: errs} + } + + op, err := getOperation(doc, operationName) + if err != nil { + return &Response{Errors: []*errors.QueryError{errors.Errorf("%s", err)}} + } + + // If the optional "operationName" POST parameter is not provided then + // use the query's operation name for improved tracing. + if operationName == "" { + operationName = op.Name.Name + } + + // Subscriptions are not valid in Exec. Use schema.Subscribe() instead. + if op.Type == query.Subscription { + return &Response{Errors: []*errors.QueryError{{Message: "graphql-ws protocol header is missing"}}} + } + if op.Type == query.Mutation { + if _, ok := s.schema.EntryPoints["mutation"]; !ok { + return &Response{Errors: []*errors.QueryError{{Message: "no mutations are offered by the schema"}}} + } + } + + // Fill in variables with the defaults from the operation + if variables == nil { + variables = make(map[string]interface{}, len(op.Vars)) + } + for _, v := range op.Vars { + if _, ok := variables[v.Name.Name]; !ok && v.Default != nil { + variables[v.Name.Name] = v.Default.Deserialize(nil) + } + } + + r := &exec.Request{ + Request: selected.Request{ + Doc: doc, + Vars: variables, + Schema: s.schema, + DisableIntrospection: s.disableIntrospection, + }, + Limiter: make(chan struct{}, s.maxParallelism), + Tracer: s.tracer, + Logger: s.logger, + PanicHandler: s.panicHandler, + } + varTypes := make(map[string]*introspection.Type) + for _, v := range op.Vars { + t, err := common.ResolveType(v.Type, s.schema.Resolve) + if err != nil { + return &Response{Errors: []*errors.QueryError{err}} + } + varTypes[v.Name.Name] = introspection.WrapType(t) + } + traceCtx, finish := s.tracer.TraceQuery(ctx, queryString, operationName, variables, varTypes) + data, errs := r.Execute(traceCtx, res, op) + finish(errs) + + return &Response{ + Data: data, + Errors: errs, + } +} + +func (s *Schema) validateSchema() error { + // https://graphql.github.io/graphql-spec/June2018/#sec-Root-Operation-Types + // > The query root operation type must be provided and must be an Object type. + if err := validateRootOp(s.schema, "query", true); err != nil { + return err + } + // > The mutation root operation type is optional; if it is not provided, the service does not support mutations. + // > If it is provided, it must be an Object type. + if err := validateRootOp(s.schema, "mutation", false); err != nil { + return err + } + // > Similarly, the subscription root operation type is also optional; if it is not provided, the service does not + // > support subscriptions. If it is provided, it must be an Object type. + if err := validateRootOp(s.schema, "subscription", false); err != nil { + return err + } + return nil +} + +type validationBridgingTracer struct { + tracer trace.ValidationTracer //nolint:staticcheck +} + +func (t *validationBridgingTracer) TraceValidation(context.Context) trace.TraceValidationFinishFunc { + return t.tracer.TraceValidation() +} + +func validateRootOp(s *types.Schema, name string, mandatory bool) error { + t, ok := s.EntryPoints[name] + if !ok { + if mandatory { + return fmt.Errorf("root operation %q must be defined", name) + } + return nil + } + if t.Kind() != "OBJECT" { + return fmt.Errorf("root operation %q must be an OBJECT", name) + } + return nil +} + +func getOperation(document *types.ExecutableDefinition, operationName string) (*types.OperationDefinition, error) { + if len(document.Operations) == 0 { + return nil, fmt.Errorf("no operations in query document") + } + + if operationName == "" { + if len(document.Operations) > 1 { + return nil, fmt.Errorf("more than one operation in query document and no operation name given") + } + for _, op := range document.Operations { + return op, nil // return the one and only operation + } + } + + op := document.Operations.Get(operationName) + if op == nil { + return nil, fmt.Errorf("no operation with name %q", operationName) + } + return op, nil +} diff --git a/vendor/github.com/graph-gophers/graphql-go/id.go b/vendor/github.com/graph-gophers/graphql-go/id.go new file mode 100644 index 00000000..80bdac90 --- /dev/null +++ b/vendor/github.com/graph-gophers/graphql-go/id.go @@ -0,0 +1,30 @@ +package graphql + +import ( + "fmt" + "strconv" +) + +// ID represents GraphQL's "ID" scalar type. A custom type may be used instead. +type ID string + +func (ID) ImplementsGraphQLType(name string) bool { + return name == "ID" +} + +func (id *ID) UnmarshalGraphQL(input interface{}) error { + var err error + switch input := input.(type) { + case string: + *id = ID(input) + case int32: + *id = ID(strconv.Itoa(int(input))) + default: + err = fmt.Errorf("wrong type for ID: %T", input) + } + return err +} + +func (id ID) MarshalJSON() ([]byte, error) { + return strconv.AppendQuote(nil, string(id)), nil +} diff --git a/vendor/github.com/graph-gophers/graphql-go/internal/common/blockstring.go b/vendor/github.com/graph-gophers/graphql-go/internal/common/blockstring.go new file mode 100644 index 00000000..1f7fe813 --- /dev/null +++ b/vendor/github.com/graph-gophers/graphql-go/internal/common/blockstring.go @@ -0,0 +1,103 @@ +// MIT License +// +// Copyright (c) 2019 GraphQL Contributors +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to deal +// in the Software without restriction, including without limitation the rights +// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +// copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in all +// copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +// SOFTWARE. +// +// This implementation has been adapted from the graphql-js reference implementation +// https://github.com/graphql/graphql-js/blob/5eb7c4ded7ceb83ac742149cbe0dae07a8af9a30/src/language/blockString.js +// which is released under the MIT License above. + +package common + +import ( + "strings" +) + +// Produces the value of a block string from its parsed raw value, similar to +// CoffeeScript's block string, Python's docstring trim or Ruby's strip_heredoc. +// +// This implements the GraphQL spec's BlockStringValue() static algorithm. +func blockString(raw string) string { + lines := strings.Split(raw, "\n") + + // Remove common indentation from all lines except the first (which has none) + ind := blockStringIndentation(lines) + if ind > 0 { + for i := 1; i < len(lines); i++ { + l := lines[i] + if len(l) < ind { + lines[i] = "" + continue + } + lines[i] = l[ind:] + } + } + + // Remove leading and trailing blank lines + trimStart := 0 + for i := 0; i < len(lines) && isBlank(lines[i]); i++ { + trimStart++ + } + lines = lines[trimStart:] + trimEnd := 0 + for i := len(lines) - 1; i > 0 && isBlank(lines[i]); i-- { + trimEnd++ + } + lines = lines[:len(lines)-trimEnd] + + return strings.Join(lines, "\n") +} + +func blockStringIndentation(lines []string) int { + var commonIndent *int + for i := 1; i < len(lines); i++ { + l := lines[i] + indent := leadingWhitespace(l) + if indent == len(l) { + // don't consider blank/empty lines + continue + } + if indent == 0 { + return 0 + } + if commonIndent == nil || indent < *commonIndent { + commonIndent = &indent + } + } + if commonIndent == nil { + return 0 + } + return *commonIndent +} + +func isBlank(s string) bool { + return len(s) == 0 || leadingWhitespace(s) == len(s) +} + +func leadingWhitespace(s string) int { + i := 0 + for _, r := range s { + if r != '\t' && r != ' ' { + break + } + i++ + } + return i +} diff --git a/vendor/github.com/graph-gophers/graphql-go/internal/common/directive.go b/vendor/github.com/graph-gophers/graphql-go/internal/common/directive.go new file mode 100644 index 00000000..f767e28f --- /dev/null +++ b/vendor/github.com/graph-gophers/graphql-go/internal/common/directive.go @@ -0,0 +1,18 @@ +package common + +import "github.com/graph-gophers/graphql-go/types" + +func ParseDirectives(l *Lexer) types.DirectiveList { + var directives types.DirectiveList + for l.Peek() == '@' { + l.ConsumeToken('@') + d := &types.Directive{} + d.Name = l.ConsumeIdentWithLoc() + d.Name.Loc.Column-- + if l.Peek() == '(' { + d.Arguments = ParseArgumentList(l) + } + directives = append(directives, d) + } + return directives +} diff --git a/vendor/github.com/graph-gophers/graphql-go/internal/common/lexer.go b/vendor/github.com/graph-gophers/graphql-go/internal/common/lexer.go new file mode 100644 index 00000000..ff45bcad --- /dev/null +++ b/vendor/github.com/graph-gophers/graphql-go/internal/common/lexer.go @@ -0,0 +1,229 @@ +package common + +import ( + "bytes" + "fmt" + "strconv" + "strings" + "text/scanner" + + "github.com/graph-gophers/graphql-go/errors" + "github.com/graph-gophers/graphql-go/types" +) + +type syntaxError string + +type Lexer struct { + sc *scanner.Scanner + next rune + comment bytes.Buffer + useStringDescriptions bool +} + +type Ident struct { + Name string + Loc errors.Location +} + +func NewLexer(s string, useStringDescriptions bool) *Lexer { + sc := &scanner.Scanner{ + Mode: scanner.ScanIdents | scanner.ScanInts | scanner.ScanFloats | scanner.ScanStrings, + } + sc.Init(strings.NewReader(s)) + + l := Lexer{sc: sc, useStringDescriptions: useStringDescriptions} + l.sc.Error = l.CatchScannerError + + return &l +} + +func (l *Lexer) CatchSyntaxError(f func()) (errRes *errors.QueryError) { + defer func() { + if err := recover(); err != nil { + if err, ok := err.(syntaxError); ok { + errRes = errors.Errorf("syntax error: %s", err) + errRes.Locations = []errors.Location{l.Location()} + return + } + panic(err) + } + }() + + f() + return +} + +func (l *Lexer) Peek() rune { + return l.next +} + +// ConsumeWhitespace consumes whitespace and tokens equivalent to whitespace (e.g. commas and comments). +// +// Consumed comment characters will build the description for the next type or field encountered. +// The description is available from `DescComment()`, and will be reset every time `ConsumeWhitespace()` is +// executed unless l.useStringDescriptions is set. +func (l *Lexer) ConsumeWhitespace() { + l.comment.Reset() + for { + l.next = l.sc.Scan() + + if l.next == ',' { + // Similar to white space and line terminators, commas (',') are used to improve the + // legibility of source text and separate lexical tokens but are otherwise syntactically and + // semantically insignificant within GraphQL documents. + // + // http://facebook.github.io/graphql/draft/#sec-Insignificant-Commas + continue + } + + if l.next == '#' { + // GraphQL source documents may contain single-line comments, starting with the '#' marker. + // + // A comment can contain any Unicode code point except `LineTerminator` so a comment always + // consists of all code points starting with the '#' character up to but not including the + // line terminator. + l.consumeComment() + continue + } + + break + } +} + +// consumeDescription optionally consumes a description based on the June 2018 graphql spec if any are present. +// +// Single quote strings are also single line. Triple quote strings can be multi-line. Triple quote strings +// whitespace trimmed on both ends. +// If a description is found, consume any following comments as well +// +// http://facebook.github.io/graphql/June2018/#sec-Descriptions +func (l *Lexer) consumeDescription() string { + // If the next token is not a string, we don't consume it + if l.next != scanner.String { + return "" + } + // Triple quote string is an empty "string" followed by an open quote due to the way the parser treats strings as one token + var desc string + if l.sc.Peek() == '"' { + desc = l.consumeTripleQuoteComment() + } else { + desc = l.consumeStringComment() + } + l.ConsumeWhitespace() + return desc +} + +func (l *Lexer) ConsumeIdent() string { + name := l.sc.TokenText() + l.ConsumeToken(scanner.Ident) + return name +} + +func (l *Lexer) ConsumeIdentWithLoc() types.Ident { + loc := l.Location() + name := l.sc.TokenText() + l.ConsumeToken(scanner.Ident) + return types.Ident{Name: name, Loc: loc} +} + +func (l *Lexer) ConsumeKeyword(keyword string) { + if l.next != scanner.Ident || l.sc.TokenText() != keyword { + l.SyntaxError(fmt.Sprintf("unexpected %q, expecting %q", l.sc.TokenText(), keyword)) + } + l.ConsumeWhitespace() +} + +func (l *Lexer) ConsumeLiteral() *types.PrimitiveValue { + lit := &types.PrimitiveValue{Type: l.next, Text: l.sc.TokenText()} + l.ConsumeWhitespace() + return lit +} + +func (l *Lexer) ConsumeToken(expected rune) { + if l.next != expected { + l.SyntaxError(fmt.Sprintf("unexpected %q, expecting %s", l.sc.TokenText(), scanner.TokenString(expected))) + } + l.ConsumeWhitespace() +} + +func (l *Lexer) DescComment() string { + comment := l.comment.String() + desc := l.consumeDescription() + if l.useStringDescriptions { + return desc + } + return comment +} + +func (l *Lexer) SyntaxError(message string) { + panic(syntaxError(message)) +} + +func (l *Lexer) Location() errors.Location { + return errors.Location{ + Line: l.sc.Line, + Column: l.sc.Column, + } +} + +func (l *Lexer) consumeTripleQuoteComment() string { + l.next = l.sc.Next() + if l.next != '"' { + panic("consumeTripleQuoteComment used in wrong context: no third quote?") + } + + var buf bytes.Buffer + var numQuotes int + for { + l.next = l.sc.Next() + if l.next == '"' { + numQuotes++ + } else { + numQuotes = 0 + } + buf.WriteRune(l.next) + if numQuotes == 3 || l.next == scanner.EOF { + break + } + } + val := buf.String() + val = val[:len(val)-numQuotes] + return blockString(val) +} + +func (l *Lexer) consumeStringComment() string { + val, err := strconv.Unquote(l.sc.TokenText()) + if err != nil { + panic(err) + } + return val +} + +// consumeComment consumes all characters from `#` to the first encountered line terminator. +// The characters are appended to `l.comment`. +func (l *Lexer) consumeComment() { + if l.next != '#' { + panic("consumeComment used in wrong context") + } + + // TODO: count and trim whitespace so we can dedent any following lines. + if l.sc.Peek() == ' ' { + l.sc.Next() + } + + if l.comment.Len() > 0 { + l.comment.WriteRune('\n') + } + + for { + next := l.sc.Next() + if next == '\r' || next == '\n' || next == scanner.EOF { + break + } + l.comment.WriteRune(next) + } +} + +func (l *Lexer) CatchScannerError(s *scanner.Scanner, msg string) { + l.SyntaxError(msg) +} diff --git a/vendor/github.com/graph-gophers/graphql-go/internal/common/literals.go b/vendor/github.com/graph-gophers/graphql-go/internal/common/literals.go new file mode 100644 index 00000000..a6af3c43 --- /dev/null +++ b/vendor/github.com/graph-gophers/graphql-go/internal/common/literals.go @@ -0,0 +1,58 @@ +package common + +import ( + "text/scanner" + + "github.com/graph-gophers/graphql-go/types" +) + +func ParseLiteral(l *Lexer, constOnly bool) types.Value { + loc := l.Location() + switch l.Peek() { + case '$': + if constOnly { + l.SyntaxError("variable not allowed") + panic("unreachable") + } + l.ConsumeToken('$') + return &types.Variable{Name: l.ConsumeIdent(), Loc: loc} + + case scanner.Int, scanner.Float, scanner.String, scanner.Ident: + lit := l.ConsumeLiteral() + if lit.Type == scanner.Ident && lit.Text == "null" { + return &types.NullValue{Loc: loc} + } + lit.Loc = loc + return lit + case '-': + l.ConsumeToken('-') + lit := l.ConsumeLiteral() + lit.Text = "-" + lit.Text + lit.Loc = loc + return lit + case '[': + l.ConsumeToken('[') + var list []types.Value + for l.Peek() != ']' { + list = append(list, ParseLiteral(l, constOnly)) + } + l.ConsumeToken(']') + return &types.ListValue{Values: list, Loc: loc} + + case '{': + l.ConsumeToken('{') + var fields []*types.ObjectField + for l.Peek() != '}' { + name := l.ConsumeIdentWithLoc() + l.ConsumeToken(':') + value := ParseLiteral(l, constOnly) + fields = append(fields, &types.ObjectField{Name: name, Value: value}) + } + l.ConsumeToken('}') + return &types.ObjectValue{Fields: fields, Loc: loc} + + default: + l.SyntaxError("invalid value") + panic("unreachable") + } +} diff --git a/vendor/github.com/graph-gophers/graphql-go/internal/common/types.go b/vendor/github.com/graph-gophers/graphql-go/internal/common/types.go new file mode 100644 index 00000000..4a30f46e --- /dev/null +++ b/vendor/github.com/graph-gophers/graphql-go/internal/common/types.go @@ -0,0 +1,67 @@ +package common + +import ( + "github.com/graph-gophers/graphql-go/errors" + "github.com/graph-gophers/graphql-go/types" +) + +func ParseType(l *Lexer) types.Type { + t := parseNullType(l) + if l.Peek() == '!' { + l.ConsumeToken('!') + return &types.NonNull{OfType: t} + } + return t +} + +func parseNullType(l *Lexer) types.Type { + if l.Peek() == '[' { + l.ConsumeToken('[') + ofType := ParseType(l) + l.ConsumeToken(']') + return &types.List{OfType: ofType} + } + + return &types.TypeName{Ident: l.ConsumeIdentWithLoc()} +} + +type Resolver func(name string) types.Type + +// ResolveType attempts to resolve a type's name against a resolving function. +// This function is used when one needs to check if a TypeName exists in the resolver (typically a Schema). +// +// In the example below, ResolveType would be used to check if the resolving function +// returns a valid type for Dimension: +// +// type Profile { +// picture(dimensions: Dimension): Url +// } +// +// ResolveType recursively unwraps List and NonNull types until a NamedType is reached. +func ResolveType(t types.Type, resolver Resolver) (types.Type, *errors.QueryError) { + switch t := t.(type) { + case *types.List: + ofType, err := ResolveType(t.OfType, resolver) + if err != nil { + return nil, err + } + return &types.List{OfType: ofType}, nil + case *types.NonNull: + ofType, err := ResolveType(t.OfType, resolver) + if err != nil { + return nil, err + } + return &types.NonNull{OfType: ofType}, nil + case *types.TypeName: + refT := resolver(t.Name) + if refT == nil { + err := errors.Errorf("Unknown type %q.", t.Name) + err.Rule = "KnownTypeNames" + err.Locations = []errors.Location{t.Loc} + return nil, err + } + return refT, nil + default: + return t, nil + } +} diff --git a/vendor/github.com/graph-gophers/graphql-go/internal/common/values.go b/vendor/github.com/graph-gophers/graphql-go/internal/common/values.go new file mode 100644 index 00000000..2d6e0b54 --- /dev/null +++ b/vendor/github.com/graph-gophers/graphql-go/internal/common/values.go @@ -0,0 +1,37 @@ +package common + +import ( + "github.com/graph-gophers/graphql-go/types" +) + +func ParseInputValue(l *Lexer) *types.InputValueDefinition { + p := &types.InputValueDefinition{} + p.Loc = l.Location() + p.Desc = l.DescComment() + p.Name = l.ConsumeIdentWithLoc() + l.ConsumeToken(':') + p.TypeLoc = l.Location() + p.Type = ParseType(l) + if l.Peek() == '=' { + l.ConsumeToken('=') + p.Default = ParseLiteral(l, true) + } + p.Directives = ParseDirectives(l) + return p +} + +func ParseArgumentList(l *Lexer) types.ArgumentList { + var args types.ArgumentList + l.ConsumeToken('(') + for l.Peek() != ')' { + name := l.ConsumeIdentWithLoc() + l.ConsumeToken(':') + value := ParseLiteral(l, false) + args = append(args, &types.Argument{ + Name: name, + Value: value, + }) + } + l.ConsumeToken(')') + return args +} diff --git a/vendor/github.com/graph-gophers/graphql-go/internal/exec/exec.go b/vendor/github.com/graph-gophers/graphql-go/internal/exec/exec.go new file mode 100644 index 00000000..6b478487 --- /dev/null +++ b/vendor/github.com/graph-gophers/graphql-go/internal/exec/exec.go @@ -0,0 +1,381 @@ +package exec + +import ( + "bytes" + "context" + "encoding/json" + "fmt" + "reflect" + "sync" + "time" + + "github.com/graph-gophers/graphql-go/errors" + "github.com/graph-gophers/graphql-go/internal/exec/resolvable" + "github.com/graph-gophers/graphql-go/internal/exec/selected" + "github.com/graph-gophers/graphql-go/internal/query" + "github.com/graph-gophers/graphql-go/log" + "github.com/graph-gophers/graphql-go/trace" + "github.com/graph-gophers/graphql-go/types" +) + +type Request struct { + selected.Request + Limiter chan struct{} + Tracer trace.Tracer + Logger log.Logger + PanicHandler errors.PanicHandler + SubscribeResolverTimeout time.Duration +} + +func (r *Request) handlePanic(ctx context.Context) { + if value := recover(); value != nil { + r.Logger.LogPanic(ctx, value) + r.AddError(r.PanicHandler.MakePanicError(ctx, value)) + } +} + +type extensionser interface { + Extensions() map[string]interface{} +} + +func (r *Request) Execute(ctx context.Context, s *resolvable.Schema, op *types.OperationDefinition) ([]byte, []*errors.QueryError) { + var out bytes.Buffer + func() { + defer r.handlePanic(ctx) + sels := selected.ApplyOperation(&r.Request, s, op) + r.execSelections(ctx, sels, nil, s, s.Resolver, &out, op.Type == query.Mutation) + }() + + if err := ctx.Err(); err != nil { + return nil, []*errors.QueryError{errors.Errorf("%s", err)} + } + + return out.Bytes(), r.Errs +} + +type fieldToExec struct { + field *selected.SchemaField + sels []selected.Selection + resolver reflect.Value + out *bytes.Buffer +} + +func resolvedToNull(b *bytes.Buffer) bool { + return bytes.Equal(b.Bytes(), []byte("null")) +} + +func (r *Request) execSelections(ctx context.Context, sels []selected.Selection, path *pathSegment, s *resolvable.Schema, resolver reflect.Value, out *bytes.Buffer, serially bool) { + async := !serially && selected.HasAsyncSel(sels) + + var fields []*fieldToExec + collectFieldsToResolve(sels, s, resolver, &fields, make(map[string]*fieldToExec)) + + if async { + var wg sync.WaitGroup + wg.Add(len(fields)) + for _, f := range fields { + go func(f *fieldToExec) { + defer wg.Done() + defer r.handlePanic(ctx) + f.out = new(bytes.Buffer) + execFieldSelection(ctx, r, s, f, &pathSegment{path, f.field.Alias}, true) + }(f) + } + wg.Wait() + } else { + for _, f := range fields { + f.out = new(bytes.Buffer) + execFieldSelection(ctx, r, s, f, &pathSegment{path, f.field.Alias}, true) + } + } + + out.WriteByte('{') + for i, f := range fields { + // If a non-nullable child resolved to null, an error was added to the + // "errors" list in the response, so this field resolves to null. + // If this field is non-nullable, the error is propagated to its parent. + if _, ok := f.field.Type.(*types.NonNull); ok && resolvedToNull(f.out) { + out.Reset() + out.Write([]byte("null")) + return + } + + if i > 0 { + out.WriteByte(',') + } + out.WriteByte('"') + out.WriteString(f.field.Alias) + out.WriteByte('"') + out.WriteByte(':') + out.Write(f.out.Bytes()) + } + out.WriteByte('}') +} + +func collectFieldsToResolve(sels []selected.Selection, s *resolvable.Schema, resolver reflect.Value, fields *[]*fieldToExec, fieldByAlias map[string]*fieldToExec) { + for _, sel := range sels { + switch sel := sel.(type) { + case *selected.SchemaField: + field, ok := fieldByAlias[sel.Alias] + if !ok { // validation already checked for conflict (TODO) + field = &fieldToExec{field: sel, resolver: resolver} + fieldByAlias[sel.Alias] = field + *fields = append(*fields, field) + } + field.sels = append(field.sels, sel.Sels...) + + case *selected.TypenameField: + _, ok := fieldByAlias[sel.Alias] + if !ok { + res := reflect.ValueOf(typeOf(sel, resolver)) + f := s.FieldTypename + f.TypeName = res.String() + + sf := &selected.SchemaField{ + Field: f, + Alias: sel.Alias, + FixedResult: res, + } + + field := &fieldToExec{field: sf, resolver: resolver} + *fields = append(*fields, field) + fieldByAlias[sel.Alias] = field + } + + case *selected.TypeAssertion: + out := resolver.Method(sel.MethodIndex).Call(nil) + if !out[1].Bool() { + continue + } + collectFieldsToResolve(sel.Sels, s, out[0], fields, fieldByAlias) + + default: + panic("unreachable") + } + } +} + +func typeOf(tf *selected.TypenameField, resolver reflect.Value) string { + if len(tf.TypeAssertions) == 0 { + return tf.Name + } + for name, a := range tf.TypeAssertions { + out := resolver.Method(a.MethodIndex).Call(nil) + if out[1].Bool() { + return name + } + } + return "" +} + +func execFieldSelection(ctx context.Context, r *Request, s *resolvable.Schema, f *fieldToExec, path *pathSegment, applyLimiter bool) { + if applyLimiter { + r.Limiter <- struct{}{} + } + + var result reflect.Value + var err *errors.QueryError + + traceCtx, finish := r.Tracer.TraceField(ctx, f.field.TraceLabel, f.field.TypeName, f.field.Name, !f.field.Async, f.field.Args) + defer func() { + finish(err) + }() + + err = func() (err *errors.QueryError) { + defer func() { + if panicValue := recover(); panicValue != nil { + r.Logger.LogPanic(ctx, panicValue) + err = r.PanicHandler.MakePanicError(ctx, panicValue) + err.Path = path.toSlice() + } + }() + + if f.field.FixedResult.IsValid() { + result = f.field.FixedResult + return nil + } + + if err := traceCtx.Err(); err != nil { + return errors.Errorf("%s", err) // don't execute any more resolvers if context got cancelled + } + + res := f.resolver + if f.field.UseMethodResolver() { + var in []reflect.Value + if f.field.HasContext { + in = append(in, reflect.ValueOf(traceCtx)) + } + if f.field.ArgsPacker != nil { + in = append(in, f.field.PackedArgs) + } + callOut := res.Method(f.field.MethodIndex).Call(in) + result = callOut[0] + if f.field.HasError && !callOut[1].IsNil() { + resolverErr := callOut[1].Interface().(error) + err := errors.Errorf("%s", resolverErr) + err.Path = path.toSlice() + err.ResolverError = resolverErr + if ex, ok := callOut[1].Interface().(extensionser); ok { + err.Extensions = ex.Extensions() + } + return err + } + } else { + // TODO extract out unwrapping ptr logic to a common place + if res.Kind() == reflect.Ptr { + res = res.Elem() + } + result = res.FieldByIndex(f.field.FieldIndex) + } + return nil + }() + + if applyLimiter { + <-r.Limiter + } + + if err != nil { + // If an error occurred while resolving a field, it should be treated as though the field + // returned null, and an error must be added to the "errors" list in the response. + r.AddError(err) + f.out.WriteString("null") + return + } + + r.execSelectionSet(traceCtx, f.sels, f.field.Type, path, s, result, f.out) +} + +func (r *Request) execSelectionSet(ctx context.Context, sels []selected.Selection, typ types.Type, path *pathSegment, s *resolvable.Schema, resolver reflect.Value, out *bytes.Buffer) { + t, nonNull := unwrapNonNull(typ) + + // a reflect.Value of a nil interface will show up as an Invalid value + if resolver.Kind() == reflect.Invalid || ((resolver.Kind() == reflect.Ptr || resolver.Kind() == reflect.Interface) && resolver.IsNil()) { + // If a field of a non-null type resolves to null (either because the + // function to resolve the field returned null or because an error occurred), + // add an error to the "errors" list in the response. + if nonNull { + err := errors.Errorf("graphql: got nil for non-null %q", t) + err.Path = path.toSlice() + r.AddError(err) + } + out.WriteString("null") + return + } + + switch t.(type) { + case *types.ObjectTypeDefinition, *types.InterfaceTypeDefinition, *types.Union: + r.execSelections(ctx, sels, path, s, resolver, out, false) + return + } + + // Any pointers or interfaces at this point should be non-nil, so we can get the actual value of them + // for serialization + if resolver.Kind() == reflect.Ptr || resolver.Kind() == reflect.Interface { + resolver = resolver.Elem() + } + + switch t := t.(type) { + case *types.List: + r.execList(ctx, sels, t, path, s, resolver, out) + + case *types.ScalarTypeDefinition: + v := resolver.Interface() + data, err := json.Marshal(v) + if err != nil { + panic(errors.Errorf("could not marshal %v: %s", v, err)) + } + out.Write(data) + + case *types.EnumTypeDefinition: + var stringer fmt.Stringer = resolver + if s, ok := resolver.Interface().(fmt.Stringer); ok { + stringer = s + } + name := stringer.String() + var valid bool + for _, v := range t.EnumValuesDefinition { + if v.EnumValue == name { + valid = true + break + } + } + if !valid { + err := errors.Errorf("Invalid value %s.\nExpected type %s, found %s.", name, t.Name, name) + err.Path = path.toSlice() + r.AddError(err) + out.WriteString("null") + return + } + out.WriteByte('"') + out.WriteString(name) + out.WriteByte('"') + + default: + panic("unreachable") + } +} + +func (r *Request) execList(ctx context.Context, sels []selected.Selection, typ *types.List, path *pathSegment, s *resolvable.Schema, resolver reflect.Value, out *bytes.Buffer) { + l := resolver.Len() + entryouts := make([]bytes.Buffer, l) + + if selected.HasAsyncSel(sels) { + // Limit the number of concurrent goroutines spawned as it can lead to large + // memory spikes for large lists. + concurrency := cap(r.Limiter) + sem := make(chan struct{}, concurrency) + for i := 0; i < l; i++ { + sem <- struct{}{} + go func(i int) { + defer func() { <-sem }() + defer r.handlePanic(ctx) + r.execSelectionSet(ctx, sels, typ.OfType, &pathSegment{path, i}, s, resolver.Index(i), &entryouts[i]) + }(i) + } + for i := 0; i < concurrency; i++ { + sem <- struct{}{} + } + } else { + for i := 0; i < l; i++ { + r.execSelectionSet(ctx, sels, typ.OfType, &pathSegment{path, i}, s, resolver.Index(i), &entryouts[i]) + } + } + + _, listOfNonNull := typ.OfType.(*types.NonNull) + + out.WriteByte('[') + for i, entryout := range entryouts { + // If the list wraps a non-null type and one of the list elements + // resolves to null, then the entire list resolves to null. + if listOfNonNull && resolvedToNull(&entryout) { + out.Reset() + out.WriteString("null") + return + } + + if i > 0 { + out.WriteByte(',') + } + out.Write(entryout.Bytes()) + } + out.WriteByte(']') +} + +func unwrapNonNull(t types.Type) (types.Type, bool) { + if nn, ok := t.(*types.NonNull); ok { + return nn.OfType, true + } + return t, false +} + +type pathSegment struct { + parent *pathSegment + value interface{} +} + +func (p *pathSegment) toSlice() []interface{} { + if p == nil { + return nil + } + return append(p.parent.toSlice(), p.value) +} diff --git a/vendor/github.com/graph-gophers/graphql-go/internal/exec/packer/packer.go b/vendor/github.com/graph-gophers/graphql-go/internal/exec/packer/packer.go new file mode 100644 index 00000000..c0bb7dc9 --- /dev/null +++ b/vendor/github.com/graph-gophers/graphql-go/internal/exec/packer/packer.go @@ -0,0 +1,390 @@ +package packer + +import ( + "fmt" + "math" + "reflect" + "strings" + + "github.com/graph-gophers/graphql-go/decode" + "github.com/graph-gophers/graphql-go/errors" + "github.com/graph-gophers/graphql-go/types" +) + +type packer interface { + Pack(value interface{}) (reflect.Value, error) +} + +type Builder struct { + packerMap map[typePair]*packerMapEntry + structPackers []*StructPacker +} + +type typePair struct { + graphQLType types.Type + resolverType reflect.Type +} + +type packerMapEntry struct { + packer packer + targets []*packer +} + +func NewBuilder() *Builder { + return &Builder{ + packerMap: make(map[typePair]*packerMapEntry), + } +} + +func (b *Builder) Finish() error { + for _, entry := range b.packerMap { + for _, target := range entry.targets { + *target = entry.packer + } + } + + for _, p := range b.structPackers { + p.defaultStruct = reflect.New(p.structType).Elem() + for _, f := range p.fields { + if defaultVal := f.field.Default; defaultVal != nil { + v, err := f.fieldPacker.Pack(defaultVal.Deserialize(nil)) + if err != nil { + return err + } + p.defaultStruct.FieldByIndex(f.fieldIndex).Set(v) + } + } + } + + return nil +} + +func (b *Builder) assignPacker(target *packer, schemaType types.Type, reflectType reflect.Type) error { + k := typePair{schemaType, reflectType} + ref, ok := b.packerMap[k] + if !ok { + ref = &packerMapEntry{} + b.packerMap[k] = ref + var err error + ref.packer, err = b.makePacker(schemaType, reflectType) + if err != nil { + return err + } + } + ref.targets = append(ref.targets, target) + return nil +} + +func (b *Builder) makePacker(schemaType types.Type, reflectType reflect.Type) (packer, error) { + t, nonNull := unwrapNonNull(schemaType) + if !nonNull { + if reflectType.Kind() == reflect.Ptr { + elemType := reflectType.Elem() + addPtr := true + if _, ok := t.(*types.InputObject); ok { + elemType = reflectType // keep pointer for input objects + addPtr = false + } + elem, err := b.makeNonNullPacker(t, elemType) + if err != nil { + return nil, err + } + return &nullPacker{ + elemPacker: elem, + valueType: reflectType, + addPtr: addPtr, + }, nil + } else if isNullable(reflectType) { + elemType := reflectType + addPtr := false + elem, err := b.makeNonNullPacker(t, elemType) + if err != nil { + return nil, err + } + return &nullPacker{ + elemPacker: elem, + valueType: reflectType, + addPtr: addPtr, + }, nil + } else { + return nil, fmt.Errorf("%s is not a pointer or a nullable type", reflectType) + } + } + + return b.makeNonNullPacker(t, reflectType) +} + +func (b *Builder) makeNonNullPacker(schemaType types.Type, reflectType reflect.Type) (packer, error) { + if u, ok := reflect.New(reflectType).Interface().(decode.Unmarshaler); ok { + if !u.ImplementsGraphQLType(schemaType.String()) { + return nil, fmt.Errorf("can not unmarshal %s into %s", schemaType, reflectType) + } + return &unmarshalerPacker{ + ValueType: reflectType, + }, nil + } + + switch t := schemaType.(type) { + case *types.ScalarTypeDefinition: + return &ValuePacker{ + ValueType: reflectType, + }, nil + + case *types.EnumTypeDefinition: + if reflectType.Kind() != reflect.String { + return nil, fmt.Errorf("wrong type, expected %s", reflect.String) + } + return &ValuePacker{ + ValueType: reflectType, + }, nil + + case *types.InputObject: + e, err := b.MakeStructPacker(t.Values, reflectType) + if err != nil { + return nil, err + } + return e, nil + + case *types.List: + if reflectType.Kind() != reflect.Slice { + return nil, fmt.Errorf("expected slice, got %s", reflectType) + } + p := &listPacker{ + sliceType: reflectType, + } + if err := b.assignPacker(&p.elem, t.OfType, reflectType.Elem()); err != nil { + return nil, err + } + return p, nil + + case *types.ObjectTypeDefinition, *types.InterfaceTypeDefinition, *types.Union: + return nil, fmt.Errorf("type of kind %s can not be used as input", t.Kind()) + + default: + panic("unreachable") + } +} + +func (b *Builder) MakeStructPacker(values []*types.InputValueDefinition, typ reflect.Type) (*StructPacker, error) { + structType := typ + usePtr := false + if typ.Kind() == reflect.Ptr { + structType = typ.Elem() + usePtr = true + } + if structType.Kind() != reflect.Struct { + return nil, fmt.Errorf("expected struct or pointer to struct, got %s (hint: missing `args struct { ... }` wrapper for field arguments?)", typ) + } + + var fields []*structPackerField + for _, v := range values { + fe := &structPackerField{field: v} + fx := func(n string) bool { + return strings.EqualFold(stripUnderscore(n), stripUnderscore(v.Name.Name)) + } + + sf, ok := structType.FieldByNameFunc(fx) + if !ok { + return nil, fmt.Errorf("%s does not define field %q (hint: missing `args struct { ... }` wrapper for field arguments, or missing field on input struct)", typ, v.Name.Name) + } + if sf.PkgPath != "" { + return nil, fmt.Errorf("field %q must be exported", sf.Name) + } + fe.fieldIndex = sf.Index + + ft := v.Type + if v.Default != nil { + ft, _ = unwrapNonNull(ft) + ft = &types.NonNull{OfType: ft} + } + + if err := b.assignPacker(&fe.fieldPacker, ft, sf.Type); err != nil { + return nil, fmt.Errorf("field %q: %s", sf.Name, err) + } + + fields = append(fields, fe) + } + + p := &StructPacker{ + structType: structType, + usePtr: usePtr, + fields: fields, + } + b.structPackers = append(b.structPackers, p) + return p, nil +} + +type StructPacker struct { + structType reflect.Type + usePtr bool + defaultStruct reflect.Value + fields []*structPackerField +} + +type structPackerField struct { + field *types.InputValueDefinition + fieldIndex []int + fieldPacker packer +} + +func (p *StructPacker) Pack(value interface{}) (reflect.Value, error) { + if value == nil { + return reflect.Value{}, errors.Errorf("got null for non-null") + } + + values := value.(map[string]interface{}) + v := reflect.New(p.structType) + v.Elem().Set(p.defaultStruct) + for _, f := range p.fields { + if value, ok := values[f.field.Name.Name]; ok { + packed, err := f.fieldPacker.Pack(value) + if err != nil { + return reflect.Value{}, err + } + v.Elem().FieldByIndex(f.fieldIndex).Set(packed) + } + } + if !p.usePtr { + return v.Elem(), nil + } + return v, nil +} + +type listPacker struct { + sliceType reflect.Type + elem packer +} + +func (e *listPacker) Pack(value interface{}) (reflect.Value, error) { + list, ok := value.([]interface{}) + if !ok { + list = []interface{}{value} + } + + v := reflect.MakeSlice(e.sliceType, len(list), len(list)) + for i := range list { + packed, err := e.elem.Pack(list[i]) + if err != nil { + return reflect.Value{}, err + } + v.Index(i).Set(packed) + } + return v, nil +} + +type nullPacker struct { + elemPacker packer + valueType reflect.Type + addPtr bool +} + +func (p *nullPacker) Pack(value interface{}) (reflect.Value, error) { + if value == nil && !isNullable(p.valueType) { + return reflect.Zero(p.valueType), nil + } + + v, err := p.elemPacker.Pack(value) + if err != nil { + return reflect.Value{}, err + } + + if p.addPtr { + ptr := reflect.New(p.valueType.Elem()) + ptr.Elem().Set(v) + return ptr, nil + } + + return v, nil +} + +type ValuePacker struct { + ValueType reflect.Type +} + +func (p *ValuePacker) Pack(value interface{}) (reflect.Value, error) { + if value == nil { + return reflect.Value{}, errors.Errorf("got null for non-null") + } + + coerced, err := unmarshalInput(p.ValueType, value) + if err != nil { + return reflect.Value{}, fmt.Errorf("could not unmarshal %#v (%T) into %s: %s", value, value, p.ValueType, err) + } + return reflect.ValueOf(coerced), nil +} + +type unmarshalerPacker struct { + ValueType reflect.Type +} + +func (p *unmarshalerPacker) Pack(value interface{}) (reflect.Value, error) { + if value == nil && !isNullable(p.ValueType) { + return reflect.Value{}, errors.Errorf("got null for non-null") + } + + v := reflect.New(p.ValueType) + if err := v.Interface().(decode.Unmarshaler).UnmarshalGraphQL(value); err != nil { + return reflect.Value{}, err + } + return v.Elem(), nil +} + +func unmarshalInput(typ reflect.Type, input interface{}) (interface{}, error) { + if reflect.TypeOf(input) == typ { + return input, nil + } + + switch typ.Kind() { + case reflect.Int32: + switch input := input.(type) { + case int: + if input < math.MinInt32 || input > math.MaxInt32 { + return nil, fmt.Errorf("not a 32-bit integer") + } + return int32(input), nil + case float64: + coerced := int32(input) + if input < math.MinInt32 || input > math.MaxInt32 || float64(coerced) != input { + return nil, fmt.Errorf("not a 32-bit integer") + } + return coerced, nil + } + + case reflect.Float64: + switch input := input.(type) { + case int32: + return float64(input), nil + case int: + return float64(input), nil + } + + case reflect.String: + if reflect.TypeOf(input).ConvertibleTo(typ) { + return reflect.ValueOf(input).Convert(typ).Interface(), nil + } + } + + return nil, fmt.Errorf("incompatible type") +} + +func unwrapNonNull(t types.Type) (types.Type, bool) { + if nn, ok := t.(*types.NonNull); ok { + return nn.OfType, true + } + return t, false +} + +func stripUnderscore(s string) string { + return strings.Replace(s, "_", "", -1) +} + +// NullUnmarshaller is an unmarshaller that can handle a nil input +type NullUnmarshaller interface { + decode.Unmarshaler + Nullable() +} + +func isNullable(t reflect.Type) bool { + _, ok := reflect.New(t).Interface().(NullUnmarshaller) + return ok +} diff --git a/vendor/github.com/graph-gophers/graphql-go/internal/exec/resolvable/meta.go b/vendor/github.com/graph-gophers/graphql-go/internal/exec/resolvable/meta.go new file mode 100644 index 00000000..02d5e262 --- /dev/null +++ b/vendor/github.com/graph-gophers/graphql-go/internal/exec/resolvable/meta.go @@ -0,0 +1,70 @@ +package resolvable + +import ( + "reflect" + + "github.com/graph-gophers/graphql-go/introspection" + "github.com/graph-gophers/graphql-go/types" +) + +// Meta defines the details of the metadata schema for introspection. +type Meta struct { + FieldSchema Field + FieldType Field + FieldTypename Field + Schema *Object + Type *Object +} + +func newMeta(s *types.Schema) *Meta { + var err error + b := newBuilder(s) + + metaSchema := s.Types["__Schema"].(*types.ObjectTypeDefinition) + so, err := b.makeObjectExec(metaSchema.Name, metaSchema.Fields, nil, false, reflect.TypeOf(&introspection.Schema{})) + if err != nil { + panic(err) + } + + metaType := s.Types["__Type"].(*types.ObjectTypeDefinition) + t, err := b.makeObjectExec(metaType.Name, metaType.Fields, nil, false, reflect.TypeOf(&introspection.Type{})) + if err != nil { + panic(err) + } + + if err := b.finish(); err != nil { + panic(err) + } + + fieldTypename := Field{ + FieldDefinition: types.FieldDefinition{ + Name: "__typename", + Type: &types.NonNull{OfType: s.Types["String"]}, + }, + TraceLabel: "GraphQL field: __typename", + } + + fieldSchema := Field{ + FieldDefinition: types.FieldDefinition{ + Name: "__schema", + Type: s.Types["__Schema"], + }, + TraceLabel: "GraphQL field: __schema", + } + + fieldType := Field{ + FieldDefinition: types.FieldDefinition{ + Name: "__type", + Type: s.Types["__Type"], + }, + TraceLabel: "GraphQL field: __type", + } + + return &Meta{ + FieldSchema: fieldSchema, + FieldTypename: fieldTypename, + FieldType: fieldType, + Schema: so, + Type: t, + } +} diff --git a/vendor/github.com/graph-gophers/graphql-go/internal/exec/resolvable/resolvable.go b/vendor/github.com/graph-gophers/graphql-go/internal/exec/resolvable/resolvable.go new file mode 100644 index 00000000..3410f557 --- /dev/null +++ b/vendor/github.com/graph-gophers/graphql-go/internal/exec/resolvable/resolvable.go @@ -0,0 +1,453 @@ +package resolvable + +import ( + "context" + "fmt" + "reflect" + "strings" + + "github.com/graph-gophers/graphql-go/decode" + "github.com/graph-gophers/graphql-go/internal/exec/packer" + "github.com/graph-gophers/graphql-go/types" +) + +type Schema struct { + *Meta + types.Schema + Query Resolvable + Mutation Resolvable + Subscription Resolvable + Resolver reflect.Value +} + +type Resolvable interface { + isResolvable() +} + +type Object struct { + Name string + Fields map[string]*Field + TypeAssertions map[string]*TypeAssertion +} + +type Field struct { + types.FieldDefinition + TypeName string + MethodIndex int + FieldIndex []int + HasContext bool + HasError bool + ArgsPacker *packer.StructPacker + ValueExec Resolvable + TraceLabel string +} + +func (f *Field) UseMethodResolver() bool { + return len(f.FieldIndex) == 0 +} + +type TypeAssertion struct { + MethodIndex int + TypeExec Resolvable +} + +type List struct { + Elem Resolvable +} + +type Scalar struct{} + +func (*Object) isResolvable() {} +func (*List) isResolvable() {} +func (*Scalar) isResolvable() {} + +func ApplyResolver(s *types.Schema, resolver interface{}) (*Schema, error) { + if resolver == nil { + return &Schema{Meta: newMeta(s), Schema: *s}, nil + } + + b := newBuilder(s) + + var query, mutation, subscription Resolvable + + if t, ok := s.EntryPoints["query"]; ok { + if err := b.assignExec(&query, t, reflect.TypeOf(resolver)); err != nil { + return nil, err + } + } + + if t, ok := s.EntryPoints["mutation"]; ok { + if err := b.assignExec(&mutation, t, reflect.TypeOf(resolver)); err != nil { + return nil, err + } + } + + if t, ok := s.EntryPoints["subscription"]; ok { + if err := b.assignExec(&subscription, t, reflect.TypeOf(resolver)); err != nil { + return nil, err + } + } + + if err := b.finish(); err != nil { + return nil, err + } + + return &Schema{ + Meta: newMeta(s), + Schema: *s, + Resolver: reflect.ValueOf(resolver), + Query: query, + Mutation: mutation, + Subscription: subscription, + }, nil +} + +type execBuilder struct { + schema *types.Schema + resMap map[typePair]*resMapEntry + packerBuilder *packer.Builder +} + +type typePair struct { + graphQLType types.Type + resolverType reflect.Type +} + +type resMapEntry struct { + exec Resolvable + targets []*Resolvable +} + +func newBuilder(s *types.Schema) *execBuilder { + return &execBuilder{ + schema: s, + resMap: make(map[typePair]*resMapEntry), + packerBuilder: packer.NewBuilder(), + } +} + +func (b *execBuilder) finish() error { + for _, entry := range b.resMap { + for _, target := range entry.targets { + *target = entry.exec + } + } + + return b.packerBuilder.Finish() +} + +func (b *execBuilder) assignExec(target *Resolvable, t types.Type, resolverType reflect.Type) error { + k := typePair{t, resolverType} + ref, ok := b.resMap[k] + if !ok { + ref = &resMapEntry{} + b.resMap[k] = ref + var err error + ref.exec, err = b.makeExec(t, resolverType) + if err != nil { + return err + } + } + ref.targets = append(ref.targets, target) + return nil +} + +func (b *execBuilder) makeExec(t types.Type, resolverType reflect.Type) (Resolvable, error) { + var nonNull bool + t, nonNull = unwrapNonNull(t) + + switch t := t.(type) { + case *types.ObjectTypeDefinition: + return b.makeObjectExec(t.Name, t.Fields, nil, nonNull, resolverType) + + case *types.InterfaceTypeDefinition: + return b.makeObjectExec(t.Name, t.Fields, t.PossibleTypes, nonNull, resolverType) + + case *types.Union: + return b.makeObjectExec(t.Name, nil, t.UnionMemberTypes, nonNull, resolverType) + } + + if !nonNull { + if resolverType.Kind() != reflect.Ptr { + return nil, fmt.Errorf("%s is not a pointer", resolverType) + } + resolverType = resolverType.Elem() + } + + switch t := t.(type) { + case *types.ScalarTypeDefinition: + return makeScalarExec(t, resolverType) + + case *types.EnumTypeDefinition: + return &Scalar{}, nil + + case *types.List: + if resolverType.Kind() != reflect.Slice { + return nil, fmt.Errorf("%s is not a slice", resolverType) + } + e := &List{} + if err := b.assignExec(&e.Elem, t.OfType, resolverType.Elem()); err != nil { + return nil, err + } + return e, nil + + default: + panic("invalid type: " + t.String()) + } +} + +func makeScalarExec(t *types.ScalarTypeDefinition, resolverType reflect.Type) (Resolvable, error) { + implementsType := false + switch r := reflect.New(resolverType).Interface().(type) { + case *int32: + implementsType = t.Name == "Int" + case *float64: + implementsType = t.Name == "Float" + case *string: + implementsType = t.Name == "String" + case *bool: + implementsType = t.Name == "Boolean" + case decode.Unmarshaler: + implementsType = r.ImplementsGraphQLType(t.Name) + } + + if !implementsType { + return nil, fmt.Errorf("can not use %s as %s", resolverType, t.Name) + } + return &Scalar{}, nil +} + +func (b *execBuilder) makeObjectExec(typeName string, fields types.FieldsDefinition, possibleTypes []*types.ObjectTypeDefinition, + nonNull bool, resolverType reflect.Type) (*Object, error) { + if !nonNull { + if resolverType.Kind() != reflect.Ptr && resolverType.Kind() != reflect.Interface { + return nil, fmt.Errorf("%s is not a pointer or interface", resolverType) + } + } + + methodHasReceiver := resolverType.Kind() != reflect.Interface + + Fields := make(map[string]*Field) + rt := unwrapPtr(resolverType) + fieldsCount := fieldCount(rt, map[string]int{}) + for _, f := range fields { + var fieldIndex []int + methodIndex := findMethod(resolverType, f.Name) + if b.schema.UseFieldResolvers && methodIndex == -1 { + if fieldsCount[strings.ToLower(stripUnderscore(f.Name))] > 1 { + return nil, fmt.Errorf("%s does not resolve %q: ambiguous field %q", resolverType, typeName, f.Name) + } + fieldIndex = findField(rt, f.Name, []int{}) + } + if methodIndex == -1 && len(fieldIndex) == 0 { + hint := "" + if findMethod(reflect.PtrTo(resolverType), f.Name) != -1 { + hint = " (hint: the method exists on the pointer type)" + } + return nil, fmt.Errorf("%s does not resolve %q: missing method for field %q%s", resolverType, typeName, f.Name, hint) + } + + var m reflect.Method + var sf reflect.StructField + if methodIndex != -1 { + m = resolverType.Method(methodIndex) + } else { + sf = rt.FieldByIndex(fieldIndex) + } + fe, err := b.makeFieldExec(typeName, f, m, sf, methodIndex, fieldIndex, methodHasReceiver) + if err != nil { + var resolverName string + if methodIndex != -1 { + resolverName = m.Name + } else { + resolverName = sf.Name + } + return nil, fmt.Errorf("%s\n\tused by (%s).%s", err, resolverType, resolverName) + } + Fields[f.Name] = fe + } + + // Check type assertions when + // 1) using method resolvers + // 2) Or resolver is not an interface type + typeAssertions := make(map[string]*TypeAssertion) + if !b.schema.UseFieldResolvers || resolverType.Kind() != reflect.Interface { + for _, impl := range possibleTypes { + methodIndex := findMethod(resolverType, "To"+impl.Name) + if methodIndex == -1 { + return nil, fmt.Errorf("%s does not resolve %q: missing method %q to convert to %q", resolverType, typeName, "To"+impl.Name, impl.Name) + } + if resolverType.Method(methodIndex).Type.NumOut() != 2 { + return nil, fmt.Errorf("%s does not resolve %q: method %q should return a value and a bool indicating success", resolverType, typeName, "To"+impl.Name) + } + a := &TypeAssertion{ + MethodIndex: methodIndex, + } + if err := b.assignExec(&a.TypeExec, impl, resolverType.Method(methodIndex).Type.Out(0)); err != nil { + return nil, err + } + typeAssertions[impl.Name] = a + } + } + + return &Object{ + Name: typeName, + Fields: Fields, + TypeAssertions: typeAssertions, + }, nil +} + +var contextType = reflect.TypeOf((*context.Context)(nil)).Elem() +var errorType = reflect.TypeOf((*error)(nil)).Elem() + +func (b *execBuilder) makeFieldExec(typeName string, f *types.FieldDefinition, m reflect.Method, sf reflect.StructField, + methodIndex int, fieldIndex []int, methodHasReceiver bool) (*Field, error) { + + var argsPacker *packer.StructPacker + var hasError bool + var hasContext bool + + // Validate resolver method only when there is one + if methodIndex != -1 { + in := make([]reflect.Type, m.Type.NumIn()) + for i := range in { + in[i] = m.Type.In(i) + } + if methodHasReceiver { + in = in[1:] // first parameter is receiver + } + + hasContext = len(in) > 0 && in[0] == contextType + if hasContext { + in = in[1:] + } + + if len(f.Arguments) > 0 { + if len(in) == 0 { + return nil, fmt.Errorf("must have parameter for field arguments") + } + var err error + argsPacker, err = b.packerBuilder.MakeStructPacker(f.Arguments, in[0]) + if err != nil { + return nil, err + } + in = in[1:] + } + + if len(in) > 0 { + return nil, fmt.Errorf("too many parameters") + } + + maxNumOfReturns := 2 + if m.Type.NumOut() < maxNumOfReturns-1 { + return nil, fmt.Errorf("too few return values") + } + + if m.Type.NumOut() > maxNumOfReturns { + return nil, fmt.Errorf("too many return values") + } + + hasError = m.Type.NumOut() == maxNumOfReturns + if hasError { + if m.Type.Out(maxNumOfReturns-1) != errorType { + return nil, fmt.Errorf(`must have "error" as its last return value`) + } + } + } + + fe := &Field{ + FieldDefinition: *f, + TypeName: typeName, + MethodIndex: methodIndex, + FieldIndex: fieldIndex, + HasContext: hasContext, + ArgsPacker: argsPacker, + HasError: hasError, + TraceLabel: fmt.Sprintf("GraphQL field: %s.%s", typeName, f.Name), + } + + var out reflect.Type + if methodIndex != -1 { + out = m.Type.Out(0) + sub, ok := b.schema.EntryPoints["subscription"] + if ok && typeName == sub.TypeName() && out.Kind() == reflect.Chan { + out = m.Type.Out(0).Elem() + } + } else { + out = sf.Type + } + if err := b.assignExec(&fe.ValueExec, f.Type, out); err != nil { + return nil, err + } + + return fe, nil +} + +func findMethod(t reflect.Type, name string) int { + for i := 0; i < t.NumMethod(); i++ { + if strings.EqualFold(stripUnderscore(name), stripUnderscore(t.Method(i).Name)) { + return i + } + } + return -1 +} + +func findField(t reflect.Type, name string, index []int) []int { + for i := 0; i < t.NumField(); i++ { + field := t.Field(i) + + if field.Type.Kind() == reflect.Struct && field.Anonymous { + newIndex := findField(field.Type, name, []int{i}) + if len(newIndex) > 1 { + return append(index, newIndex...) + } + } + + if strings.EqualFold(stripUnderscore(name), stripUnderscore(field.Name)) { + return append(index, i) + } + } + + return index +} + +// fieldCount helps resolve ambiguity when more than one embedded struct contains fields with the same name. +func fieldCount(t reflect.Type, count map[string]int) map[string]int { + if t.Kind() != reflect.Struct { + return nil + } + + for i := 0; i < t.NumField(); i++ { + field := t.Field(i) + fieldName := strings.ToLower(stripUnderscore(field.Name)) + + if field.Type.Kind() == reflect.Struct && field.Anonymous { + count = fieldCount(field.Type, count) + } else { + if _, ok := count[fieldName]; !ok { + count[fieldName] = 0 + } + count[fieldName]++ + } + } + + return count +} + +func unwrapNonNull(t types.Type) (types.Type, bool) { + if nn, ok := t.(*types.NonNull); ok { + return nn.OfType, true + } + return t, false +} + +func stripUnderscore(s string) string { + return strings.Replace(s, "_", "", -1) +} + +func unwrapPtr(t reflect.Type) reflect.Type { + if t.Kind() == reflect.Ptr { + return t.Elem() + } + return t +} diff --git a/vendor/github.com/graph-gophers/graphql-go/internal/exec/selected/selected.go b/vendor/github.com/graph-gophers/graphql-go/internal/exec/selected/selected.go new file mode 100644 index 00000000..9b96d2b6 --- /dev/null +++ b/vendor/github.com/graph-gophers/graphql-go/internal/exec/selected/selected.go @@ -0,0 +1,269 @@ +package selected + +import ( + "fmt" + "reflect" + "sync" + + "github.com/graph-gophers/graphql-go/errors" + "github.com/graph-gophers/graphql-go/internal/exec/packer" + "github.com/graph-gophers/graphql-go/internal/exec/resolvable" + "github.com/graph-gophers/graphql-go/internal/query" + "github.com/graph-gophers/graphql-go/introspection" + "github.com/graph-gophers/graphql-go/types" +) + +type Request struct { + Schema *types.Schema + Doc *types.ExecutableDefinition + Vars map[string]interface{} + Mu sync.Mutex + Errs []*errors.QueryError + DisableIntrospection bool +} + +func (r *Request) AddError(err *errors.QueryError) { + r.Mu.Lock() + r.Errs = append(r.Errs, err) + r.Mu.Unlock() +} + +func ApplyOperation(r *Request, s *resolvable.Schema, op *types.OperationDefinition) []Selection { + var obj *resolvable.Object + switch op.Type { + case query.Query: + obj = s.Query.(*resolvable.Object) + case query.Mutation: + obj = s.Mutation.(*resolvable.Object) + case query.Subscription: + obj = s.Subscription.(*resolvable.Object) + } + return applySelectionSet(r, s, obj, op.Selections) +} + +type Selection interface { + isSelection() +} + +type SchemaField struct { + resolvable.Field + Alias string + Args map[string]interface{} + PackedArgs reflect.Value + Sels []Selection + Async bool + FixedResult reflect.Value +} + +type TypeAssertion struct { + resolvable.TypeAssertion + Sels []Selection +} + +type TypenameField struct { + resolvable.Object + Alias string +} + +func (*SchemaField) isSelection() {} +func (*TypeAssertion) isSelection() {} +func (*TypenameField) isSelection() {} + +func applySelectionSet(r *Request, s *resolvable.Schema, e *resolvable.Object, sels []types.Selection) (flattenedSels []Selection) { + for _, sel := range sels { + switch sel := sel.(type) { + case *types.Field: + field := sel + if skipByDirective(r, field.Directives) { + continue + } + + switch field.Name.Name { + case "__typename": + // __typename is available even though r.DisableIntrospection == true + // because it is necessary when using union types and interfaces: https://graphql.org/learn/schema/#union-types + flattenedSels = append(flattenedSels, &TypenameField{ + Object: *e, + Alias: field.Alias.Name, + }) + + case "__schema": + if !r.DisableIntrospection { + flattenedSels = append(flattenedSels, &SchemaField{ + Field: s.Meta.FieldSchema, + Alias: field.Alias.Name, + Sels: applySelectionSet(r, s, s.Meta.Schema, field.SelectionSet), + Async: true, + FixedResult: reflect.ValueOf(introspection.WrapSchema(r.Schema)), + }) + } + + case "__type": + if !r.DisableIntrospection { + p := packer.ValuePacker{ValueType: reflect.TypeOf("")} + v, err := p.Pack(field.Arguments.MustGet("name").Deserialize(r.Vars)) + if err != nil { + r.AddError(errors.Errorf("%s", err)) + return nil + } + + t, ok := r.Schema.Types[v.String()] + if !ok { + return nil + } + + flattenedSels = append(flattenedSels, &SchemaField{ + Field: s.Meta.FieldType, + Alias: field.Alias.Name, + Sels: applySelectionSet(r, s, s.Meta.Type, field.SelectionSet), + Async: true, + FixedResult: reflect.ValueOf(introspection.WrapType(t)), + }) + } + + default: + fe := e.Fields[field.Name.Name] + + var args map[string]interface{} + var packedArgs reflect.Value + if fe.ArgsPacker != nil { + args = make(map[string]interface{}) + for _, arg := range field.Arguments { + args[arg.Name.Name] = arg.Value.Deserialize(r.Vars) + } + var err error + packedArgs, err = fe.ArgsPacker.Pack(args) + if err != nil { + r.AddError(errors.Errorf("%s", err)) + return + } + } + + fieldSels := applyField(r, s, fe.ValueExec, field.SelectionSet) + flattenedSels = append(flattenedSels, &SchemaField{ + Field: *fe, + Alias: field.Alias.Name, + Args: args, + PackedArgs: packedArgs, + Sels: fieldSels, + Async: fe.HasContext || fe.ArgsPacker != nil || fe.HasError || HasAsyncSel(fieldSels), + }) + } + + case *types.InlineFragment: + frag := sel + if skipByDirective(r, frag.Directives) { + continue + } + flattenedSels = append(flattenedSels, applyFragment(r, s, e, &frag.Fragment)...) + + case *types.FragmentSpread: + spread := sel + if skipByDirective(r, spread.Directives) { + continue + } + flattenedSels = append(flattenedSels, applyFragment(r, s, e, &r.Doc.Fragments.Get(spread.Name.Name).Fragment)...) + + default: + panic("invalid type") + } + } + return +} + +func applyFragment(r *Request, s *resolvable.Schema, e *resolvable.Object, frag *types.Fragment) []Selection { + if frag.On.Name != e.Name { + t := r.Schema.Resolve(frag.On.Name) + face, ok := t.(*types.InterfaceTypeDefinition) + if !ok && frag.On.Name != "" { + a, ok2 := e.TypeAssertions[frag.On.Name] + if !ok2 { + panic(fmt.Errorf("%q does not implement %q", frag.On, e.Name)) // TODO proper error handling + } + + return []Selection{&TypeAssertion{ + TypeAssertion: *a, + Sels: applySelectionSet(r, s, a.TypeExec.(*resolvable.Object), frag.Selections), + }} + } + if ok && len(face.PossibleTypes) > 0 { + sels := []Selection{} + for _, t := range face.PossibleTypes { + if t.Name == e.Name { + return applySelectionSet(r, s, e, frag.Selections) + } + + if a, ok := e.TypeAssertions[t.Name]; ok { + sels = append(sels, &TypeAssertion{ + TypeAssertion: *a, + Sels: applySelectionSet(r, s, a.TypeExec.(*resolvable.Object), frag.Selections), + }) + } + } + if len(sels) == 0 { + panic(fmt.Errorf("%q does not implement %q", e.Name, frag.On)) // TODO proper error handling + } + return sels + } + } + return applySelectionSet(r, s, e, frag.Selections) +} + +func applyField(r *Request, s *resolvable.Schema, e resolvable.Resolvable, sels []types.Selection) []Selection { + switch e := e.(type) { + case *resolvable.Object: + return applySelectionSet(r, s, e, sels) + case *resolvable.List: + return applyField(r, s, e.Elem, sels) + case *resolvable.Scalar: + return nil + default: + panic("unreachable") + } +} + +func skipByDirective(r *Request, directives types.DirectiveList) bool { + if d := directives.Get("skip"); d != nil { + p := packer.ValuePacker{ValueType: reflect.TypeOf(false)} + v, err := p.Pack(d.Arguments.MustGet("if").Deserialize(r.Vars)) + if err != nil { + r.AddError(errors.Errorf("%s", err)) + } + if err == nil && v.Bool() { + return true + } + } + + if d := directives.Get("include"); d != nil { + p := packer.ValuePacker{ValueType: reflect.TypeOf(false)} + v, err := p.Pack(d.Arguments.MustGet("if").Deserialize(r.Vars)) + if err != nil { + r.AddError(errors.Errorf("%s", err)) + } + if err == nil && !v.Bool() { + return true + } + } + + return false +} + +func HasAsyncSel(sels []Selection) bool { + for _, sel := range sels { + switch sel := sel.(type) { + case *SchemaField: + if sel.Async { + return true + } + case *TypeAssertion: + if HasAsyncSel(sel.Sels) { + return true + } + case *TypenameField: + // sync + default: + panic("unreachable") + } + } + return false +} diff --git a/vendor/github.com/graph-gophers/graphql-go/internal/exec/subscribe.go b/vendor/github.com/graph-gophers/graphql-go/internal/exec/subscribe.go new file mode 100644 index 00000000..37ebacbc --- /dev/null +++ b/vendor/github.com/graph-gophers/graphql-go/internal/exec/subscribe.go @@ -0,0 +1,179 @@ +package exec + +import ( + "bytes" + "context" + "encoding/json" + "fmt" + "reflect" + "time" + + "github.com/graph-gophers/graphql-go/errors" + "github.com/graph-gophers/graphql-go/internal/exec/resolvable" + "github.com/graph-gophers/graphql-go/internal/exec/selected" + "github.com/graph-gophers/graphql-go/types" +) + +type Response struct { + Data json.RawMessage + Errors []*errors.QueryError +} + +func (r *Request) Subscribe(ctx context.Context, s *resolvable.Schema, op *types.OperationDefinition) <-chan *Response { + var result reflect.Value + var f *fieldToExec + var err *errors.QueryError + func() { + defer r.handlePanic(ctx) + + sels := selected.ApplyOperation(&r.Request, s, op) + var fields []*fieldToExec + collectFieldsToResolve(sels, s, s.Resolver, &fields, make(map[string]*fieldToExec)) + + // TODO: move this check into validation.Validate + if len(fields) != 1 { + err = errors.Errorf("%s", "can subscribe to at most one subscription at a time") + return + } + f = fields[0] + + var in []reflect.Value + if f.field.HasContext { + in = append(in, reflect.ValueOf(ctx)) + } + if f.field.ArgsPacker != nil { + in = append(in, f.field.PackedArgs) + } + callOut := f.resolver.Method(f.field.MethodIndex).Call(in) + result = callOut[0] + + if f.field.HasError && !callOut[1].IsNil() { + switch resolverErr := callOut[1].Interface().(type) { + case *errors.QueryError: + err = resolverErr + case error: + err = errors.Errorf("%s", resolverErr) + err.ResolverError = resolverErr + default: + panic(fmt.Errorf("can only deal with *QueryError and error types, got %T", resolverErr)) + } + } + }() + + // Handles the case where the locally executed func above panicked + if len(r.Request.Errs) > 0 { + return sendAndReturnClosed(&Response{Errors: r.Request.Errs}) + } + + if f == nil { + return sendAndReturnClosed(&Response{Errors: []*errors.QueryError{err}}) + } + + if err != nil { + if _, nonNullChild := f.field.Type.(*types.NonNull); nonNullChild { + return sendAndReturnClosed(&Response{Errors: []*errors.QueryError{err}}) + } + return sendAndReturnClosed(&Response{Data: []byte(fmt.Sprintf(`{"%s":null}`, f.field.Alias)), Errors: []*errors.QueryError{err}}) + } + + if ctxErr := ctx.Err(); ctxErr != nil { + return sendAndReturnClosed(&Response{Errors: []*errors.QueryError{errors.Errorf("%s", ctxErr)}}) + } + + c := make(chan *Response) + // TODO: handle resolver nil channel better? + if result.IsZero() { + close(c) + return c + } + + go func() { + for { + // Check subscription context + chosen, resp, ok := reflect.Select([]reflect.SelectCase{ + { + Dir: reflect.SelectRecv, + Chan: reflect.ValueOf(ctx.Done()), + }, + { + Dir: reflect.SelectRecv, + Chan: result, + }, + }) + switch chosen { + // subscription context done + case 0: + close(c) + return + // upstream received + case 1: + // upstream closed + if !ok { + close(c) + return + } + + subR := &Request{ + Request: selected.Request{ + Doc: r.Request.Doc, + Vars: r.Request.Vars, + Schema: r.Request.Schema, + }, + Limiter: r.Limiter, + Tracer: r.Tracer, + Logger: r.Logger, + } + var out bytes.Buffer + func() { + timeout := r.SubscribeResolverTimeout + if timeout == 0 { + timeout = time.Second + } + + subCtx, cancel := context.WithTimeout(ctx, timeout) + defer cancel() + + // resolve response + func() { + defer subR.handlePanic(subCtx) + + var buf bytes.Buffer + subR.execSelectionSet(subCtx, f.sels, f.field.Type, &pathSegment{nil, f.field.Alias}, s, resp, &buf) + + propagateChildError := false + if _, nonNullChild := f.field.Type.(*types.NonNull); nonNullChild && resolvedToNull(&buf) { + propagateChildError = true + } + + if !propagateChildError { + out.WriteString(fmt.Sprintf(`{"%s":`, f.field.Alias)) + out.Write(buf.Bytes()) + out.WriteString(`}`) + } + }() + + if err := subCtx.Err(); err != nil { + c <- &Response{Errors: []*errors.QueryError{errors.Errorf("%s", err)}} + return + } + + // Send response within timeout + // TODO: maybe block until sent? + select { + case <-subCtx.Done(): + case c <- &Response{Data: out.Bytes(), Errors: subR.Errs}: + } + }() + } + } + }() + + return c +} + +func sendAndReturnClosed(resp *Response) chan *Response { + c := make(chan *Response, 1) + c <- resp + close(c) + return c +} diff --git a/vendor/github.com/graph-gophers/graphql-go/internal/query/query.go b/vendor/github.com/graph-gophers/graphql-go/internal/query/query.go new file mode 100644 index 00000000..ca0400cd --- /dev/null +++ b/vendor/github.com/graph-gophers/graphql-go/internal/query/query.go @@ -0,0 +1,156 @@ +package query + +import ( + "fmt" + "text/scanner" + + "github.com/graph-gophers/graphql-go/errors" + "github.com/graph-gophers/graphql-go/internal/common" + "github.com/graph-gophers/graphql-go/types" +) + +const ( + Query types.OperationType = "QUERY" + Mutation types.OperationType = "MUTATION" + Subscription types.OperationType = "SUBSCRIPTION" +) + +func Parse(queryString string) (*types.ExecutableDefinition, *errors.QueryError) { + l := common.NewLexer(queryString, false) + + var execDef *types.ExecutableDefinition + err := l.CatchSyntaxError(func() { execDef = parseExecutableDefinition(l) }) + if err != nil { + return nil, err + } + + return execDef, nil +} + +func parseExecutableDefinition(l *common.Lexer) *types.ExecutableDefinition { + ed := &types.ExecutableDefinition{} + l.ConsumeWhitespace() + for l.Peek() != scanner.EOF { + if l.Peek() == '{' { + op := &types.OperationDefinition{Type: Query, Loc: l.Location()} + op.Selections = parseSelectionSet(l) + ed.Operations = append(ed.Operations, op) + continue + } + + loc := l.Location() + switch x := l.ConsumeIdent(); x { + case "query": + op := parseOperation(l, Query) + op.Loc = loc + ed.Operations = append(ed.Operations, op) + + case "mutation": + ed.Operations = append(ed.Operations, parseOperation(l, Mutation)) + + case "subscription": + ed.Operations = append(ed.Operations, parseOperation(l, Subscription)) + + case "fragment": + frag := parseFragment(l) + frag.Loc = loc + ed.Fragments = append(ed.Fragments, frag) + + default: + l.SyntaxError(fmt.Sprintf(`unexpected %q, expecting "fragment"`, x)) + } + } + return ed +} + +func parseOperation(l *common.Lexer, opType types.OperationType) *types.OperationDefinition { + op := &types.OperationDefinition{Type: opType} + op.Name.Loc = l.Location() + if l.Peek() == scanner.Ident { + op.Name = l.ConsumeIdentWithLoc() + } + op.Directives = common.ParseDirectives(l) + if l.Peek() == '(' { + l.ConsumeToken('(') + for l.Peek() != ')' { + loc := l.Location() + l.ConsumeToken('$') + iv := common.ParseInputValue(l) + iv.Loc = loc + op.Vars = append(op.Vars, iv) + } + l.ConsumeToken(')') + } + op.Selections = parseSelectionSet(l) + return op +} + +func parseFragment(l *common.Lexer) *types.FragmentDefinition { + f := &types.FragmentDefinition{} + f.Name = l.ConsumeIdentWithLoc() + l.ConsumeKeyword("on") + f.On = types.TypeName{Ident: l.ConsumeIdentWithLoc()} + f.Directives = common.ParseDirectives(l) + f.Selections = parseSelectionSet(l) + return f +} + +func parseSelectionSet(l *common.Lexer) []types.Selection { + var sels []types.Selection + l.ConsumeToken('{') + for l.Peek() != '}' { + sels = append(sels, parseSelection(l)) + } + l.ConsumeToken('}') + return sels +} + +func parseSelection(l *common.Lexer) types.Selection { + if l.Peek() == '.' { + return parseSpread(l) + } + return parseFieldDef(l) +} + +func parseFieldDef(l *common.Lexer) *types.Field { + f := &types.Field{} + f.Alias = l.ConsumeIdentWithLoc() + f.Name = f.Alias + if l.Peek() == ':' { + l.ConsumeToken(':') + f.Name = l.ConsumeIdentWithLoc() + } + if l.Peek() == '(' { + f.Arguments = common.ParseArgumentList(l) + } + f.Directives = common.ParseDirectives(l) + if l.Peek() == '{' { + f.SelectionSetLoc = l.Location() + f.SelectionSet = parseSelectionSet(l) + } + return f +} + +func parseSpread(l *common.Lexer) types.Selection { + loc := l.Location() + l.ConsumeToken('.') + l.ConsumeToken('.') + l.ConsumeToken('.') + + f := &types.InlineFragment{Loc: loc} + if l.Peek() == scanner.Ident { + ident := l.ConsumeIdentWithLoc() + if ident.Name != "on" { + fs := &types.FragmentSpread{ + Name: ident, + Loc: loc, + } + fs.Directives = common.ParseDirectives(l) + return fs + } + f.On = types.TypeName{Ident: l.ConsumeIdentWithLoc()} + } + f.Directives = common.ParseDirectives(l) + f.Selections = parseSelectionSet(l) + return f +} diff --git a/vendor/github.com/graph-gophers/graphql-go/internal/schema/meta.go b/vendor/github.com/graph-gophers/graphql-go/internal/schema/meta.go new file mode 100644 index 00000000..9f5bba56 --- /dev/null +++ b/vendor/github.com/graph-gophers/graphql-go/internal/schema/meta.go @@ -0,0 +1,203 @@ +package schema + +import ( + "github.com/graph-gophers/graphql-go/types" +) + +func init() { + _ = newMeta() +} + +// newMeta initializes an instance of the meta Schema. +func newMeta() *types.Schema { + s := &types.Schema{ + EntryPointNames: make(map[string]string), + Types: make(map[string]types.NamedType), + Directives: make(map[string]*types.DirectiveDefinition), + } + + err := Parse(s, metaSrc, false) + if err != nil { + panic(err) + } + return s +} + +var metaSrc = ` + # The ` + "`" + `Int` + "`" + ` scalar type represents non-fractional signed whole numeric values. Int can represent values between -(2^31) and 2^31 - 1. + scalar Int + + # The ` + "`" + `Float` + "`" + ` scalar type represents signed double-precision fractional values as specified by [IEEE 754](http://en.wikipedia.org/wiki/IEEE_floating_point). + scalar Float + + # The ` + "`" + `String` + "`" + ` scalar type represents textual data, represented as UTF-8 character sequences. The String type is most often used by GraphQL to represent free-form human-readable text. + scalar String + + # The ` + "`" + `Boolean` + "`" + ` scalar type represents ` + "`" + `true` + "`" + ` or ` + "`" + `false` + "`" + `. + scalar Boolean + + # The ` + "`" + `ID` + "`" + ` scalar type represents a unique identifier, often used to refetch an object or as key for a cache. The ID type appears in a JSON response as a String; however, it is not intended to be human-readable. When expected as an input type, any string (such as ` + "`" + `"4"` + "`" + `) or integer (such as ` + "`" + `4` + "`" + `) input value will be accepted as an ID. + scalar ID + + # Directs the executor to include this field or fragment only when the ` + "`" + `if` + "`" + ` argument is true. + directive @include( + # Included when true. + if: Boolean! + ) on FIELD | FRAGMENT_SPREAD | INLINE_FRAGMENT + + # Directs the executor to skip this field or fragment when the ` + "`" + `if` + "`" + ` argument is true. + directive @skip( + # Skipped when true. + if: Boolean! + ) on FIELD | FRAGMENT_SPREAD | INLINE_FRAGMENT + + # Marks an element of a GraphQL schema as no longer supported. + directive @deprecated( + # Explains why this element was deprecated, usually also including a suggestion + # for how to access supported similar data. Formatted in + # [Markdown](https://daringfireball.net/projects/markdown/). + reason: String = "No longer supported" + ) on FIELD_DEFINITION | ENUM_VALUE + + # A Directive provides a way to describe alternate runtime execution and type validation behavior in a GraphQL document. + # + # In some cases, you need to provide options to alter GraphQL's execution behavior + # in ways field arguments will not suffice, such as conditionally including or + # skipping a field. Directives provide this by describing additional information + # to the executor. + type __Directive { + name: String! + description: String + locations: [__DirectiveLocation!]! + args: [__InputValue!]! + } + + # A Directive can be adjacent to many parts of the GraphQL language, a + # __DirectiveLocation describes one such possible adjacencies. + enum __DirectiveLocation { + # Location adjacent to a query operation. + QUERY + # Location adjacent to a mutation operation. + MUTATION + # Location adjacent to a subscription operation. + SUBSCRIPTION + # Location adjacent to a field. + FIELD + # Location adjacent to a fragment definition. + FRAGMENT_DEFINITION + # Location adjacent to a fragment spread. + FRAGMENT_SPREAD + # Location adjacent to an inline fragment. + INLINE_FRAGMENT + # Location adjacent to a schema definition. + SCHEMA + # Location adjacent to a scalar definition. + SCALAR + # Location adjacent to an object type definition. + OBJECT + # Location adjacent to a field definition. + FIELD_DEFINITION + # Location adjacent to an argument definition. + ARGUMENT_DEFINITION + # Location adjacent to an interface definition. + INTERFACE + # Location adjacent to a union definition. + UNION + # Location adjacent to an enum definition. + ENUM + # Location adjacent to an enum value definition. + ENUM_VALUE + # Location adjacent to an input object type definition. + INPUT_OBJECT + # Location adjacent to an input object field definition. + INPUT_FIELD_DEFINITION + } + + # One possible value for a given Enum. Enum values are unique values, not a + # placeholder for a string or numeric value. However an Enum value is returned in + # a JSON response as a string. + type __EnumValue { + name: String! + description: String + isDeprecated: Boolean! + deprecationReason: String + } + + # Object and Interface types are described by a list of Fields, each of which has + # a name, potentially a list of arguments, and a return type. + type __Field { + name: String! + description: String + args: [__InputValue!]! + type: __Type! + isDeprecated: Boolean! + deprecationReason: String + } + + # Arguments provided to Fields or Directives and the input fields of an + # InputObject are represented as Input Values which describe their type and + # optionally a default value. + type __InputValue { + name: String! + description: String + type: __Type! + # A GraphQL-formatted string representing the default value for this input value. + defaultValue: String + } + + # A GraphQL Schema defines the capabilities of a GraphQL server. It exposes all + # available types and directives on the server, as well as the entry points for + # query, mutation, and subscription operations. + type __Schema { + # A list of all types supported by this server. + types: [__Type!]! + # The type that query operations will be rooted at. + queryType: __Type! + # If this server supports mutation, the type that mutation operations will be rooted at. + mutationType: __Type + # If this server support subscription, the type that subscription operations will be rooted at. + subscriptionType: __Type + # A list of all directives supported by this server. + directives: [__Directive!]! + } + + # The fundamental unit of any GraphQL Schema is the type. There are many kinds of + # types in GraphQL as represented by the ` + "`" + `__TypeKind` + "`" + ` enum. + # + # Depending on the kind of a type, certain fields describe information about that + # type. Scalar types provide no information beyond a name and description, while + # Enum types provide their values. Object and Interface types provide the fields + # they describe. Abstract types, Union and Interface, provide the Object types + # possible at runtime. List and NonNull types compose other types. + type __Type { + kind: __TypeKind! + name: String + description: String + fields(includeDeprecated: Boolean = false): [__Field!] + interfaces: [__Type!] + possibleTypes: [__Type!] + enumValues(includeDeprecated: Boolean = false): [__EnumValue!] + inputFields: [__InputValue!] + ofType: __Type + } + + # An enum describing what kind of type a given ` + "`" + `__Type` + "`" + ` is. + enum __TypeKind { + # Indicates this type is a scalar. + SCALAR + # Indicates this type is an object. ` + "`" + `fields` + "`" + ` and ` + "`" + `interfaces` + "`" + ` are valid fields. + OBJECT + # Indicates this type is an interface. ` + "`" + `fields` + "`" + ` and ` + "`" + `possibleTypes` + "`" + ` are valid fields. + INTERFACE + # Indicates this type is a union. ` + "`" + `possibleTypes` + "`" + ` is a valid field. + UNION + # Indicates this type is an enum. ` + "`" + `enumValues` + "`" + ` is a valid field. + ENUM + # Indicates this type is an input object. ` + "`" + `inputFields` + "`" + ` is a valid field. + INPUT_OBJECT + # Indicates this type is a list. ` + "`" + `ofType` + "`" + ` is a valid field. + LIST + # Indicates this type is a non-null. ` + "`" + `ofType` + "`" + ` is a valid field. + NON_NULL + } +` diff --git a/vendor/github.com/graph-gophers/graphql-go/internal/schema/schema.go b/vendor/github.com/graph-gophers/graphql-go/internal/schema/schema.go new file mode 100644 index 00000000..fb301c46 --- /dev/null +++ b/vendor/github.com/graph-gophers/graphql-go/internal/schema/schema.go @@ -0,0 +1,586 @@ +package schema + +import ( + "fmt" + "text/scanner" + + "github.com/graph-gophers/graphql-go/errors" + "github.com/graph-gophers/graphql-go/internal/common" + "github.com/graph-gophers/graphql-go/types" +) + +// New initializes an instance of Schema. +func New() *types.Schema { + s := &types.Schema{ + EntryPointNames: make(map[string]string), + Types: make(map[string]types.NamedType), + Directives: make(map[string]*types.DirectiveDefinition), + } + m := newMeta() + for n, t := range m.Types { + s.Types[n] = t + } + for n, d := range m.Directives { + s.Directives[n] = d + } + return s +} + +func Parse(s *types.Schema, schemaString string, useStringDescriptions bool) error { + l := common.NewLexer(schemaString, useStringDescriptions) + err := l.CatchSyntaxError(func() { parseSchema(s, l) }) + if err != nil { + return err + } + + if err := mergeExtensions(s); err != nil { + return err + } + + for _, t := range s.Types { + if err := resolveNamedType(s, t); err != nil { + return err + } + } + for _, d := range s.Directives { + for _, arg := range d.Arguments { + t, err := common.ResolveType(arg.Type, s.Resolve) + if err != nil { + return err + } + arg.Type = t + } + } + + // https://graphql.github.io/graphql-spec/June2018/#sec-Root-Operation-Types + // > While any type can be the root operation type for a GraphQL operation, the type system definition language can + // > omit the schema definition when the query, mutation, and subscription root types are named Query, Mutation, + // > and Subscription respectively. + if len(s.EntryPointNames) == 0 { + if _, ok := s.Types["Query"]; ok { + s.EntryPointNames["query"] = "Query" + } + if _, ok := s.Types["Mutation"]; ok { + s.EntryPointNames["mutation"] = "Mutation" + } + if _, ok := s.Types["Subscription"]; ok { + s.EntryPointNames["subscription"] = "Subscription" + } + } + s.EntryPoints = make(map[string]types.NamedType) + for key, name := range s.EntryPointNames { + t, ok := s.Types[name] + if !ok { + return errors.Errorf("type %q not found", name) + } + s.EntryPoints[key] = t + } + + // Interface types need validation: https://spec.graphql.org/draft/#sec-Interfaces.Interfaces-Implementing-Interfaces + for _, typeDef := range s.Types { + switch t := typeDef.(type) { + case *types.InterfaceTypeDefinition: + for i, implements := range t.Interfaces { + typ, ok := s.Types[implements.Name] + if !ok { + return errors.Errorf("interface %q not found", implements) + } + inteface, ok := typ.(*types.InterfaceTypeDefinition) + if !ok { + return errors.Errorf("type %q is not an interface", inteface) + } + + for _, f := range inteface.Fields.Names() { + if t.Fields.Get(f) == nil { + return errors.Errorf("interface %q expects field %q but %q does not provide it", inteface.Name, f, t.Name) + } + } + + t.Interfaces[i] = inteface + } + default: + continue + } + } + + for _, obj := range s.Objects { + obj.Interfaces = make([]*types.InterfaceTypeDefinition, len(obj.InterfaceNames)) + if err := resolveDirectives(s, obj.Directives, "OBJECT"); err != nil { + return err + } + for _, field := range obj.Fields { + if err := resolveDirectives(s, field.Directives, "FIELD_DEFINITION"); err != nil { + return err + } + } + for i, intfName := range obj.InterfaceNames { + t, ok := s.Types[intfName] + if !ok { + return errors.Errorf("interface %q not found", intfName) + } + intf, ok := t.(*types.InterfaceTypeDefinition) + if !ok { + return errors.Errorf("type %q is not an interface", intfName) + } + for _, f := range intf.Fields.Names() { + if obj.Fields.Get(f) == nil { + return errors.Errorf("interface %q expects field %q but %q does not provide it", intfName, f, obj.Name) + } + } + obj.Interfaces[i] = intf + intf.PossibleTypes = append(intf.PossibleTypes, obj) + } + } + + for _, union := range s.Unions { + if err := resolveDirectives(s, union.Directives, "UNION"); err != nil { + return err + } + union.UnionMemberTypes = make([]*types.ObjectTypeDefinition, len(union.TypeNames)) + for i, name := range union.TypeNames { + t, ok := s.Types[name] + if !ok { + return errors.Errorf("object type %q not found", name) + } + obj, ok := t.(*types.ObjectTypeDefinition) + if !ok { + return errors.Errorf("type %q is not an object", name) + } + union.UnionMemberTypes[i] = obj + } + } + + for _, enum := range s.Enums { + if err := resolveDirectives(s, enum.Directives, "ENUM"); err != nil { + return err + } + for _, value := range enum.EnumValuesDefinition { + if err := resolveDirectives(s, value.Directives, "ENUM_VALUE"); err != nil { + return err + } + } + } + + return nil +} + +func ParseSchema(schemaString string, useStringDescriptions bool) (*types.Schema, error) { + s := New() + err := Parse(s, schemaString, useStringDescriptions) + return s, err +} + +func mergeExtensions(s *types.Schema) error { + for _, ext := range s.Extensions { + typ := s.Types[ext.Type.TypeName()] + if typ == nil { + return fmt.Errorf("trying to extend unknown type %q", ext.Type.TypeName()) + } + + if typ.Kind() != ext.Type.Kind() { + return fmt.Errorf("trying to extend type %q with type %q", typ.Kind(), ext.Type.Kind()) + } + + switch og := typ.(type) { + case *types.ObjectTypeDefinition: + e := ext.Type.(*types.ObjectTypeDefinition) + + for _, field := range e.Fields { + if og.Fields.Get(field.Name) != nil { + return fmt.Errorf("extended field %q already exists", field.Name) + } + } + og.Fields = append(og.Fields, e.Fields...) + + for _, en := range e.InterfaceNames { + for _, on := range og.InterfaceNames { + if on == en { + return fmt.Errorf("interface %q implemented in the extension is already implemented in %q", on, og.Name) + } + } + } + og.InterfaceNames = append(og.InterfaceNames, e.InterfaceNames...) + + case *types.InputObject: + e := ext.Type.(*types.InputObject) + + for _, field := range e.Values { + if og.Values.Get(field.Name.Name) != nil { + return fmt.Errorf("extended field %q already exists", field.Name) + } + } + og.Values = append(og.Values, e.Values...) + + case *types.InterfaceTypeDefinition: + e := ext.Type.(*types.InterfaceTypeDefinition) + + for _, field := range e.Fields { + if og.Fields.Get(field.Name) != nil { + return fmt.Errorf("extended field %s already exists", field.Name) + } + } + og.Fields = append(og.Fields, e.Fields...) + + case *types.Union: + e := ext.Type.(*types.Union) + + for _, en := range e.TypeNames { + for _, on := range og.TypeNames { + if on == en { + return fmt.Errorf("union type %q already declared in %q", on, og.Name) + } + } + } + og.TypeNames = append(og.TypeNames, e.TypeNames...) + + case *types.EnumTypeDefinition: + e := ext.Type.(*types.EnumTypeDefinition) + + for _, en := range e.EnumValuesDefinition { + for _, on := range og.EnumValuesDefinition { + if on.EnumValue == en.EnumValue { + return fmt.Errorf("enum value %q already declared in %q", on.EnumValue, og.Name) + } + } + } + og.EnumValuesDefinition = append(og.EnumValuesDefinition, e.EnumValuesDefinition...) + default: + return fmt.Errorf(`unexpected %q, expecting "schema", "type", "enum", "interface", "union" or "input"`, og.TypeName()) + } + } + + return nil +} + +func resolveNamedType(s *types.Schema, t types.NamedType) error { + switch t := t.(type) { + case *types.ObjectTypeDefinition: + for _, f := range t.Fields { + if err := resolveField(s, f); err != nil { + return err + } + } + case *types.InterfaceTypeDefinition: + for _, f := range t.Fields { + if err := resolveField(s, f); err != nil { + return err + } + } + case *types.InputObject: + if err := resolveInputObject(s, t.Values); err != nil { + return err + } + } + return nil +} + +func resolveField(s *types.Schema, f *types.FieldDefinition) error { + t, err := common.ResolveType(f.Type, s.Resolve) + if err != nil { + return err + } + f.Type = t + if err := resolveDirectives(s, f.Directives, "FIELD_DEFINITION"); err != nil { + return err + } + return resolveInputObject(s, f.Arguments) +} + +func resolveDirectives(s *types.Schema, directives types.DirectiveList, loc string) error { + for _, d := range directives { + dirName := d.Name.Name + dd, ok := s.Directives[dirName] + if !ok { + return errors.Errorf("directive %q not found", dirName) + } + validLoc := false + for _, l := range dd.Locations { + if l == loc { + validLoc = true + break + } + } + if !validLoc { + return errors.Errorf("invalid location %q for directive %q (must be one of %v)", loc, dirName, dd.Locations) + } + for _, arg := range d.Arguments { + if dd.Arguments.Get(arg.Name.Name) == nil { + return errors.Errorf("invalid argument %q for directive %q", arg.Name.Name, dirName) + } + } + for _, arg := range dd.Arguments { + if _, ok := d.Arguments.Get(arg.Name.Name); !ok { + d.Arguments = append(d.Arguments, &types.Argument{Name: arg.Name, Value: arg.Default}) + } + } + } + return nil +} + +func resolveInputObject(s *types.Schema, values types.ArgumentsDefinition) error { + for _, v := range values { + t, err := common.ResolveType(v.Type, s.Resolve) + if err != nil { + return err + } + v.Type = t + } + return nil +} + +func parseSchema(s *types.Schema, l *common.Lexer) { + l.ConsumeWhitespace() + + for l.Peek() != scanner.EOF { + desc := l.DescComment() + switch x := l.ConsumeIdent(); x { + + case "schema": + l.ConsumeToken('{') + for l.Peek() != '}' { + + name := l.ConsumeIdent() + l.ConsumeToken(':') + typ := l.ConsumeIdent() + s.EntryPointNames[name] = typ + } + l.ConsumeToken('}') + + case "type": + obj := parseObjectDef(l) + obj.Desc = desc + s.Types[obj.Name] = obj + s.Objects = append(s.Objects, obj) + + case "interface": + iface := parseInterfaceDef(l) + iface.Desc = desc + s.Types[iface.Name] = iface + + case "union": + union := parseUnionDef(l) + union.Desc = desc + s.Types[union.Name] = union + s.Unions = append(s.Unions, union) + + case "enum": + enum := parseEnumDef(l) + enum.Desc = desc + s.Types[enum.Name] = enum + s.Enums = append(s.Enums, enum) + + case "input": + input := parseInputDef(l) + input.Desc = desc + s.Types[input.Name] = input + + case "scalar": + loc := l.Location() + name := l.ConsumeIdent() + directives := common.ParseDirectives(l) + s.Types[name] = &types.ScalarTypeDefinition{Name: name, Desc: desc, Directives: directives, Loc: loc} + + case "directive": + directive := parseDirectiveDef(l) + directive.Desc = desc + s.Directives[directive.Name] = directive + + case "extend": + parseExtension(s, l) + + default: + // TODO: Add support for type extensions. + l.SyntaxError(fmt.Sprintf(`unexpected %q, expecting "schema", "type", "enum", "interface", "union", "input", "scalar" or "directive"`, x)) + } + } +} + +func parseObjectDef(l *common.Lexer) *types.ObjectTypeDefinition { + object := &types.ObjectTypeDefinition{Loc: l.Location(), Name: l.ConsumeIdent()} + + for { + if l.Peek() == '{' { + break + } + + if l.Peek() == '@' { + object.Directives = common.ParseDirectives(l) + continue + } + + if l.Peek() == scanner.Ident { + l.ConsumeKeyword("implements") + + for l.Peek() != '{' && l.Peek() != '@' { + if l.Peek() == '&' { + l.ConsumeToken('&') + } + + object.InterfaceNames = append(object.InterfaceNames, l.ConsumeIdent()) + } + continue + } + + } + l.ConsumeToken('{') + object.Fields = parseFieldsDef(l) + l.ConsumeToken('}') + + return object + +} + +func parseInterfaceDef(l *common.Lexer) *types.InterfaceTypeDefinition { + i := &types.InterfaceTypeDefinition{Loc: l.Location(), Name: l.ConsumeIdent()} + + if l.Peek() == scanner.Ident { + l.ConsumeKeyword("implements") + i.Interfaces = append(i.Interfaces, &types.InterfaceTypeDefinition{Name: l.ConsumeIdent()}) + + for l.Peek() == '&' { + l.ConsumeToken('&') + i.Interfaces = append(i.Interfaces, &types.InterfaceTypeDefinition{Name: l.ConsumeIdent()}) + } + } + + i.Directives = common.ParseDirectives(l) + + l.ConsumeToken('{') + i.Fields = parseFieldsDef(l) + l.ConsumeToken('}') + + return i +} + +func parseUnionDef(l *common.Lexer) *types.Union { + union := &types.Union{Loc: l.Location(), Name: l.ConsumeIdent()} + + union.Directives = common.ParseDirectives(l) + l.ConsumeToken('=') + union.TypeNames = []string{l.ConsumeIdent()} + for l.Peek() == '|' { + l.ConsumeToken('|') + union.TypeNames = append(union.TypeNames, l.ConsumeIdent()) + } + + return union +} + +func parseInputDef(l *common.Lexer) *types.InputObject { + i := &types.InputObject{} + i.Loc = l.Location() + i.Name = l.ConsumeIdent() + i.Directives = common.ParseDirectives(l) + l.ConsumeToken('{') + for l.Peek() != '}' { + i.Values = append(i.Values, common.ParseInputValue(l)) + } + l.ConsumeToken('}') + return i +} + +func parseEnumDef(l *common.Lexer) *types.EnumTypeDefinition { + enum := &types.EnumTypeDefinition{Loc: l.Location(), Name: l.ConsumeIdent()} + + enum.Directives = common.ParseDirectives(l) + l.ConsumeToken('{') + for l.Peek() != '}' { + v := &types.EnumValueDefinition{ + Desc: l.DescComment(), + Loc: l.Location(), + EnumValue: l.ConsumeIdent(), + Directives: common.ParseDirectives(l), + } + + enum.EnumValuesDefinition = append(enum.EnumValuesDefinition, v) + } + l.ConsumeToken('}') + return enum +} +func parseDirectiveDef(l *common.Lexer) *types.DirectiveDefinition { + l.ConsumeToken('@') + loc := l.Location() + d := &types.DirectiveDefinition{Name: l.ConsumeIdent(), Loc: loc} + + if l.Peek() == '(' { + l.ConsumeToken('(') + for l.Peek() != ')' { + v := common.ParseInputValue(l) + d.Arguments = append(d.Arguments, v) + } + l.ConsumeToken(')') + } + + l.ConsumeKeyword("on") + + for { + loc := l.ConsumeIdent() + d.Locations = append(d.Locations, loc) + if l.Peek() != '|' { + break + } + l.ConsumeToken('|') + } + return d +} + +func parseExtension(s *types.Schema, l *common.Lexer) { + loc := l.Location() + switch x := l.ConsumeIdent(); x { + case "schema": + l.ConsumeToken('{') + for l.Peek() != '}' { + name := l.ConsumeIdent() + l.ConsumeToken(':') + typ := l.ConsumeIdent() + s.EntryPointNames[name] = typ + } + l.ConsumeToken('}') + + case "type": + obj := parseObjectDef(l) + s.Extensions = append(s.Extensions, &types.Extension{Type: obj, Loc: loc}) + + case "interface": + iface := parseInterfaceDef(l) + s.Extensions = append(s.Extensions, &types.Extension{Type: iface, Loc: loc}) + + case "union": + union := parseUnionDef(l) + s.Extensions = append(s.Extensions, &types.Extension{Type: union, Loc: loc}) + + case "enum": + enum := parseEnumDef(l) + s.Extensions = append(s.Extensions, &types.Extension{Type: enum, Loc: loc}) + + case "input": + input := parseInputDef(l) + s.Extensions = append(s.Extensions, &types.Extension{Type: input, Loc: loc}) + + default: + // TODO: Add ScalarTypeDefinition when adding directives + l.SyntaxError(fmt.Sprintf(`unexpected %q, expecting "schema", "type", "enum", "interface", "union" or "input"`, x)) + } +} + +func parseFieldsDef(l *common.Lexer) types.FieldsDefinition { + var fields types.FieldsDefinition + for l.Peek() != '}' { + f := &types.FieldDefinition{} + f.Desc = l.DescComment() + f.Loc = l.Location() + f.Name = l.ConsumeIdent() + if l.Peek() == '(' { + l.ConsumeToken('(') + for l.Peek() != ')' { + f.Arguments = append(f.Arguments, common.ParseInputValue(l)) + } + l.ConsumeToken(')') + } + l.ConsumeToken(':') + f.Type = common.ParseType(l) + f.Directives = common.ParseDirectives(l) + fields = append(fields, f) + } + return fields +} diff --git a/vendor/github.com/graph-gophers/graphql-go/internal/validation/suggestion.go b/vendor/github.com/graph-gophers/graphql-go/internal/validation/suggestion.go new file mode 100644 index 00000000..9702b5f5 --- /dev/null +++ b/vendor/github.com/graph-gophers/graphql-go/internal/validation/suggestion.go @@ -0,0 +1,71 @@ +package validation + +import ( + "fmt" + "sort" + "strconv" + "strings" +) + +func makeSuggestion(prefix string, options []string, input string) string { + var selected []string + distances := make(map[string]int) + for _, opt := range options { + distance := levenshteinDistance(input, opt) + threshold := max(len(input)/2, max(len(opt)/2, 1)) + if distance < threshold { + selected = append(selected, opt) + distances[opt] = distance + } + } + + if len(selected) == 0 { + return "" + } + sort.Slice(selected, func(i, j int) bool { + return distances[selected[i]] < distances[selected[j]] + }) + + parts := make([]string, len(selected)) + for i, opt := range selected { + parts[i] = strconv.Quote(opt) + } + if len(parts) > 1 { + parts[len(parts)-1] = "or " + parts[len(parts)-1] + } + return fmt.Sprintf(" %s %s?", prefix, strings.Join(parts, ", ")) +} + +func levenshteinDistance(s1, s2 string) int { + column := make([]int, len(s1)+1) + for y := range s1 { + column[y+1] = y + 1 + } + for x, rx := range s2 { + column[0] = x + 1 + lastdiag := x + for y, ry := range s1 { + olddiag := column[y+1] + if rx != ry { + lastdiag++ + } + column[y+1] = min(column[y+1]+1, min(column[y]+1, lastdiag)) + lastdiag = olddiag + } + } + return column[len(s1)] +} + +func min(a, b int) int { + if a < b { + return a + } + return b +} + +func max(a, b int) int { + if a > b { + return a + } + return b +} diff --git a/vendor/github.com/graph-gophers/graphql-go/internal/validation/validation.go b/vendor/github.com/graph-gophers/graphql-go/internal/validation/validation.go new file mode 100644 index 00000000..e3672638 --- /dev/null +++ b/vendor/github.com/graph-gophers/graphql-go/internal/validation/validation.go @@ -0,0 +1,980 @@ +package validation + +import ( + "fmt" + "math" + "reflect" + "strconv" + "strings" + "text/scanner" + + "github.com/graph-gophers/graphql-go/errors" + "github.com/graph-gophers/graphql-go/internal/common" + "github.com/graph-gophers/graphql-go/internal/query" + "github.com/graph-gophers/graphql-go/types" +) + +type varSet map[*types.InputValueDefinition]struct{} + +type selectionPair struct{ a, b types.Selection } + +type nameSet map[string]errors.Location + +type fieldInfo struct { + sf *types.FieldDefinition + parent types.NamedType +} + +type context struct { + schema *types.Schema + doc *types.ExecutableDefinition + errs []*errors.QueryError + opErrs map[*types.OperationDefinition][]*errors.QueryError + usedVars map[*types.OperationDefinition]varSet + fieldMap map[*types.Field]fieldInfo + overlapValidated map[selectionPair]struct{} + maxDepth int +} + +func (c *context) addErr(loc errors.Location, rule string, format string, a ...interface{}) { + c.addErrMultiLoc([]errors.Location{loc}, rule, format, a...) +} + +func (c *context) addErrMultiLoc(locs []errors.Location, rule string, format string, a ...interface{}) { + c.errs = append(c.errs, &errors.QueryError{ + Message: fmt.Sprintf(format, a...), + Locations: locs, + Rule: rule, + }) +} + +type opContext struct { + *context + ops []*types.OperationDefinition +} + +func newContext(s *types.Schema, doc *types.ExecutableDefinition, maxDepth int) *context { + return &context{ + schema: s, + doc: doc, + opErrs: make(map[*types.OperationDefinition][]*errors.QueryError), + usedVars: make(map[*types.OperationDefinition]varSet), + fieldMap: make(map[*types.Field]fieldInfo), + overlapValidated: make(map[selectionPair]struct{}), + maxDepth: maxDepth, + } +} + +func Validate(s *types.Schema, doc *types.ExecutableDefinition, variables map[string]interface{}, maxDepth int) []*errors.QueryError { + c := newContext(s, doc, maxDepth) + + opNames := make(nameSet) + fragUsedBy := make(map[*types.FragmentDefinition][]*types.OperationDefinition) + for _, op := range doc.Operations { + c.usedVars[op] = make(varSet) + opc := &opContext{c, []*types.OperationDefinition{op}} + + // Check if max depth is exceeded, if it's set. If max depth is exceeded, + // don't continue to validate the document and exit early. + if validateMaxDepth(opc, op.Selections, nil, 1) { + return c.errs + } + + if op.Name.Name == "" && len(doc.Operations) != 1 { + c.addErr(op.Loc, "LoneAnonymousOperation", "This anonymous operation must be the only defined operation.") + } + if op.Name.Name != "" { + validateName(c, opNames, op.Name, "UniqueOperationNames", "operation") + } + + validateDirectives(opc, string(op.Type), op.Directives) + + varNames := make(nameSet) + for _, v := range op.Vars { + validateName(c, varNames, v.Name, "UniqueVariableNames", "variable") + + t := resolveType(c, v.Type) + if !canBeInput(t) { + c.addErr(v.TypeLoc, "VariablesAreInputTypes", "Variable %q cannot be non-input type %q.", "$"+v.Name.Name, t) + } + validateValue(opc, v, variables[v.Name.Name], t) + + if v.Default != nil { + validateLiteral(opc, v.Default) + + if t != nil { + if nn, ok := t.(*types.NonNull); ok { + c.addErr(v.Default.Location(), "DefaultValuesOfCorrectType", "Variable %q of type %q is required and will not use the default value. Perhaps you meant to use type %q.", "$"+v.Name.Name, t, nn.OfType) + } + + if ok, reason := validateValueType(opc, v.Default, t); !ok { + c.addErr(v.Default.Location(), "DefaultValuesOfCorrectType", "Variable %q of type %q has invalid default value %s.\n%s", "$"+v.Name.Name, t, v.Default, reason) + } + } + } + } + + var entryPoint types.NamedType + switch op.Type { + case query.Query: + entryPoint = s.EntryPoints["query"] + case query.Mutation: + entryPoint = s.EntryPoints["mutation"] + case query.Subscription: + entryPoint = s.EntryPoints["subscription"] + default: + panic("unreachable") + } + + validateSelectionSet(opc, op.Selections, entryPoint) + + fragUsed := make(map[*types.FragmentDefinition]struct{}) + markUsedFragments(c, op.Selections, fragUsed) + for frag := range fragUsed { + fragUsedBy[frag] = append(fragUsedBy[frag], op) + } + } + + fragNames := make(nameSet) + fragVisited := make(map[*types.FragmentDefinition]struct{}) + for _, frag := range doc.Fragments { + opc := &opContext{c, fragUsedBy[frag]} + + validateName(c, fragNames, frag.Name, "UniqueFragmentNames", "fragment") + validateDirectives(opc, "FRAGMENT_DEFINITION", frag.Directives) + + t := unwrapType(resolveType(c, &frag.On)) + // continue even if t is nil + if t != nil && !canBeFragment(t) { + c.addErr(frag.On.Loc, "FragmentsOnCompositeTypes", "Fragment %q cannot condition on non composite type %q.", frag.Name.Name, t) + continue + } + + validateSelectionSet(opc, frag.Selections, t) + + if _, ok := fragVisited[frag]; !ok { + detectFragmentCycle(c, frag.Selections, fragVisited, nil, map[string]int{frag.Name.Name: 0}) + } + } + + for _, frag := range doc.Fragments { + if len(fragUsedBy[frag]) == 0 { + c.addErr(frag.Loc, "NoUnusedFragments", "Fragment %q is never used.", frag.Name.Name) + } + } + + for _, op := range doc.Operations { + c.errs = append(c.errs, c.opErrs[op]...) + + opUsedVars := c.usedVars[op] + for _, v := range op.Vars { + if _, ok := opUsedVars[v]; !ok { + opSuffix := "" + if op.Name.Name != "" { + opSuffix = fmt.Sprintf(" in operation %q", op.Name.Name) + } + c.addErr(v.Loc, "NoUnusedVariables", "Variable %q is never used%s.", "$"+v.Name.Name, opSuffix) + } + } + } + + return c.errs +} + +func validateValue(c *opContext, v *types.InputValueDefinition, val interface{}, t types.Type) { + switch t := t.(type) { + case *types.NonNull: + if val == nil { + c.addErr(v.Loc, "VariablesOfCorrectType", "Variable \"%s\" has invalid value null.\nExpected type \"%s\", found null.", v.Name.Name, t) + return + } + validateValue(c, v, val, t.OfType) + case *types.List: + if val == nil { + return + } + vv, ok := val.([]interface{}) + if !ok { + // Input coercion rules allow single items without wrapping array + validateValue(c, v, val, t.OfType) + return + } + for _, elem := range vv { + validateValue(c, v, elem, t.OfType) + } + case *types.EnumTypeDefinition: + if val == nil { + return + } + e, ok := val.(string) + if !ok { + c.addErr(v.Loc, "VariablesOfCorrectType", "Variable \"%s\" has invalid type %T.\nExpected type \"%s\", found %v.", v.Name.Name, val, t, val) + return + } + for _, option := range t.EnumValuesDefinition { + if option.EnumValue == e { + return + } + } + c.addErr(v.Loc, "VariablesOfCorrectType", "Variable \"%s\" has invalid value %s.\nExpected type \"%s\", found %s.", v.Name.Name, e, t, e) + case *types.InputObject: + if val == nil { + return + } + in, ok := val.(map[string]interface{}) + if !ok { + c.addErr(v.Loc, "VariablesOfCorrectType", "Variable \"%s\" has invalid type %T.\nExpected type \"%s\", found %s.", v.Name.Name, val, t, val) + return + } + for _, f := range t.Values { + fieldVal := in[f.Name.Name] + validateValue(c, f, fieldVal, f.Type) + } + } +} + +// validates the query doesn't go deeper than maxDepth (if set). Returns whether +// or not query validated max depth to avoid excessive recursion. +// +// The visited map is necessary to ensure that max depth validation does not get stuck in cyclical +// fragment spreads. +func validateMaxDepth(c *opContext, sels []types.Selection, visited map[*types.FragmentDefinition]struct{}, depth int) bool { + // maxDepth checking is turned off when maxDepth is 0 + if c.maxDepth == 0 { + return false + } + + exceededMaxDepth := false + if visited == nil { + visited = map[*types.FragmentDefinition]struct{}{} + } + + for _, sel := range sels { + switch sel := sel.(type) { + case *types.Field: + if depth > c.maxDepth { + exceededMaxDepth = true + c.addErr(sel.Alias.Loc, "MaxDepthExceeded", "Field %q has depth %d that exceeds max depth %d", sel.Name.Name, depth, c.maxDepth) + continue + } + exceededMaxDepth = exceededMaxDepth || validateMaxDepth(c, sel.SelectionSet, visited, depth+1) + + case *types.InlineFragment: + // Depth is not checked because inline fragments resolve to other fields which are checked. + // Depth is not incremented because inline fragments have the same depth as neighboring fields + exceededMaxDepth = exceededMaxDepth || validateMaxDepth(c, sel.Selections, visited, depth) + case *types.FragmentSpread: + // Depth is not checked because fragments resolve to other fields which are checked. + frag := c.doc.Fragments.Get(sel.Name.Name) + if frag == nil { + // In case of unknown fragment (invalid request), ignore max depth evaluation + c.addErr(sel.Loc, "MaxDepthEvaluationError", "Unknown fragment %q. Unable to evaluate depth.", sel.Name.Name) + continue + } + + if _, ok := visited[frag]; ok { + // we've already seen this fragment, don't check depth again. + continue + } + visited[frag] = struct{}{} + + // Depth is not incremented because fragments have the same depth as surrounding fields + exceededMaxDepth = exceededMaxDepth || validateMaxDepth(c, frag.Selections, visited, depth) + } + } + + return exceededMaxDepth +} + +func validateSelectionSet(c *opContext, sels []types.Selection, t types.NamedType) { + for _, sel := range sels { + validateSelection(c, sel, t) + } + + for i, a := range sels { + for _, b := range sels[i+1:] { + c.validateOverlap(a, b, nil, nil) + } + } +} + +func validateSelection(c *opContext, sel types.Selection, t types.NamedType) { + switch sel := sel.(type) { + case *types.Field: + validateDirectives(c, "FIELD", sel.Directives) + + fieldName := sel.Name.Name + var f *types.FieldDefinition + switch fieldName { + case "__typename": + f = &types.FieldDefinition{ + Name: "__typename", + Type: c.schema.Types["String"], + } + case "__schema": + f = &types.FieldDefinition{ + Name: "__schema", + Type: c.schema.Types["__Schema"], + } + case "__type": + f = &types.FieldDefinition{ + Name: "__type", + Arguments: types.ArgumentsDefinition{ + &types.InputValueDefinition{ + Name: types.Ident{Name: "name"}, + Type: &types.NonNull{OfType: c.schema.Types["String"]}, + }, + }, + Type: c.schema.Types["__Type"], + } + default: + f = fields(t).Get(fieldName) + if f == nil && t != nil { + suggestion := makeSuggestion("Did you mean", fields(t).Names(), fieldName) + c.addErr(sel.Alias.Loc, "FieldsOnCorrectType", "Cannot query field %q on type %q.%s", fieldName, t, suggestion) + } + } + c.fieldMap[sel] = fieldInfo{sf: f, parent: t} + + validateArgumentLiterals(c, sel.Arguments) + if f != nil { + validateArgumentTypes(c, sel.Arguments, f.Arguments, sel.Alias.Loc, + func() string { return fmt.Sprintf("field %q of type %q", fieldName, t) }, + func() string { return fmt.Sprintf("Field %q", fieldName) }, + ) + } + + var ft types.Type + if f != nil { + ft = f.Type + sf := hasSubfields(ft) + if sf && sel.SelectionSet == nil { + c.addErr(sel.Alias.Loc, "ScalarLeafs", "Field %q of type %q must have a selection of subfields. Did you mean \"%s { ... }\"?", fieldName, ft, fieldName) + } + if !sf && sel.SelectionSet != nil { + c.addErr(sel.SelectionSetLoc, "ScalarLeafs", "Field %q must not have a selection since type %q has no subfields.", fieldName, ft) + } + } + if sel.SelectionSet != nil { + validateSelectionSet(c, sel.SelectionSet, unwrapType(ft)) + } + + case *types.InlineFragment: + validateDirectives(c, "INLINE_FRAGMENT", sel.Directives) + if sel.On.Name != "" { + fragTyp := unwrapType(resolveType(c.context, &sel.On)) + if fragTyp != nil && !compatible(t, fragTyp) { + c.addErr(sel.Loc, "PossibleFragmentSpreads", "Fragment cannot be spread here as objects of type %q can never be of type %q.", t, fragTyp) + } + t = fragTyp + // continue even if t is nil + } + if t != nil && !canBeFragment(t) { + c.addErr(sel.On.Loc, "FragmentsOnCompositeTypes", "Fragment cannot condition on non composite type %q.", t) + return + } + validateSelectionSet(c, sel.Selections, unwrapType(t)) + + case *types.FragmentSpread: + validateDirectives(c, "FRAGMENT_SPREAD", sel.Directives) + frag := c.doc.Fragments.Get(sel.Name.Name) + if frag == nil { + c.addErr(sel.Name.Loc, "KnownFragmentNames", "Unknown fragment %q.", sel.Name.Name) + return + } + fragTyp := c.schema.Types[frag.On.Name] + if !compatible(t, fragTyp) { + c.addErr(sel.Loc, "PossibleFragmentSpreads", "Fragment %q cannot be spread here as objects of type %q can never be of type %q.", frag.Name.Name, t, fragTyp) + } + + default: + panic("unreachable") + } +} + +func compatible(a, b types.Type) bool { + for _, pta := range possibleTypes(a) { + for _, ptb := range possibleTypes(b) { + if pta == ptb { + return true + } + } + } + return false +} + +func possibleTypes(t types.Type) []*types.ObjectTypeDefinition { + switch t := t.(type) { + case *types.ObjectTypeDefinition: + return []*types.ObjectTypeDefinition{t} + case *types.InterfaceTypeDefinition: + return t.PossibleTypes + case *types.Union: + return t.UnionMemberTypes + default: + return nil + } +} + +func markUsedFragments(c *context, sels []types.Selection, fragUsed map[*types.FragmentDefinition]struct{}) { + for _, sel := range sels { + switch sel := sel.(type) { + case *types.Field: + if sel.SelectionSet != nil { + markUsedFragments(c, sel.SelectionSet, fragUsed) + } + + case *types.InlineFragment: + markUsedFragments(c, sel.Selections, fragUsed) + + case *types.FragmentSpread: + frag := c.doc.Fragments.Get(sel.Name.Name) + if frag == nil { + return + } + + if _, ok := fragUsed[frag]; ok { + continue + } + + fragUsed[frag] = struct{}{} + markUsedFragments(c, frag.Selections, fragUsed) + + default: + panic("unreachable") + } + } +} + +func detectFragmentCycle(c *context, sels []types.Selection, fragVisited map[*types.FragmentDefinition]struct{}, spreadPath []*types.FragmentSpread, spreadPathIndex map[string]int) { + for _, sel := range sels { + detectFragmentCycleSel(c, sel, fragVisited, spreadPath, spreadPathIndex) + } +} + +func detectFragmentCycleSel(c *context, sel types.Selection, fragVisited map[*types.FragmentDefinition]struct{}, spreadPath []*types.FragmentSpread, spreadPathIndex map[string]int) { + switch sel := sel.(type) { + case *types.Field: + if sel.SelectionSet != nil { + detectFragmentCycle(c, sel.SelectionSet, fragVisited, spreadPath, spreadPathIndex) + } + + case *types.InlineFragment: + detectFragmentCycle(c, sel.Selections, fragVisited, spreadPath, spreadPathIndex) + + case *types.FragmentSpread: + frag := c.doc.Fragments.Get(sel.Name.Name) + if frag == nil { + return + } + + spreadPath = append(spreadPath, sel) + if i, ok := spreadPathIndex[frag.Name.Name]; ok { + cyclePath := spreadPath[i:] + via := "" + if len(cyclePath) > 1 { + names := make([]string, len(cyclePath)-1) + for i, frag := range cyclePath[:len(cyclePath)-1] { + names[i] = frag.Name.Name + } + via = " via " + strings.Join(names, ", ") + } + + locs := make([]errors.Location, len(cyclePath)) + for i, frag := range cyclePath { + locs[i] = frag.Loc + } + c.addErrMultiLoc(locs, "NoFragmentCycles", "Cannot spread fragment %q within itself%s.", frag.Name.Name, via) + return + } + + if _, ok := fragVisited[frag]; ok { + return + } + fragVisited[frag] = struct{}{} + + spreadPathIndex[frag.Name.Name] = len(spreadPath) + detectFragmentCycle(c, frag.Selections, fragVisited, spreadPath, spreadPathIndex) + delete(spreadPathIndex, frag.Name.Name) + + default: + panic("unreachable") + } +} + +func (c *context) validateOverlap(a, b types.Selection, reasons *[]string, locs *[]errors.Location) { + if a == b { + return + } + + if _, ok := c.overlapValidated[selectionPair{a, b}]; ok { + return + } + c.overlapValidated[selectionPair{a, b}] = struct{}{} + c.overlapValidated[selectionPair{b, a}] = struct{}{} + + switch a := a.(type) { + case *types.Field: + switch b := b.(type) { + case *types.Field: + if b.Alias.Loc.Before(a.Alias.Loc) { + a, b = b, a + } + if reasons2, locs2 := c.validateFieldOverlap(a, b); len(reasons2) != 0 { + locs2 = append(locs2, a.Alias.Loc, b.Alias.Loc) + if reasons == nil { + c.addErrMultiLoc(locs2, "OverlappingFieldsCanBeMerged", "Fields %q conflict because %s. Use different aliases on the fields to fetch both if this was intentional.", a.Alias.Name, strings.Join(reasons2, " and ")) + return + } + for _, r := range reasons2 { + *reasons = append(*reasons, fmt.Sprintf("subfields %q conflict because %s", a.Alias.Name, r)) + } + *locs = append(*locs, locs2...) + } + + case *types.InlineFragment: + for _, sel := range b.Selections { + c.validateOverlap(a, sel, reasons, locs) + } + + case *types.FragmentSpread: + if frag := c.doc.Fragments.Get(b.Name.Name); frag != nil { + for _, sel := range frag.Selections { + c.validateOverlap(a, sel, reasons, locs) + } + } + + default: + panic("unreachable") + } + + case *types.InlineFragment: + for _, sel := range a.Selections { + c.validateOverlap(sel, b, reasons, locs) + } + + case *types.FragmentSpread: + if frag := c.doc.Fragments.Get(a.Name.Name); frag != nil { + for _, sel := range frag.Selections { + c.validateOverlap(sel, b, reasons, locs) + } + } + + default: + panic("unreachable") + } +} + +func (c *context) validateFieldOverlap(a, b *types.Field) ([]string, []errors.Location) { + if a.Alias.Name != b.Alias.Name { + return nil, nil + } + + if asf := c.fieldMap[a].sf; asf != nil { + if bsf := c.fieldMap[b].sf; bsf != nil { + if !typesCompatible(asf.Type, bsf.Type) { + return []string{fmt.Sprintf("they return conflicting types %s and %s", asf.Type, bsf.Type)}, nil + } + } + } + + at := c.fieldMap[a].parent + bt := c.fieldMap[b].parent + if at == nil || bt == nil || at == bt { + if a.Name.Name != b.Name.Name { + return []string{fmt.Sprintf("%s and %s are different fields", a.Name.Name, b.Name.Name)}, nil + } + + if argumentsConflict(a.Arguments, b.Arguments) { + return []string{"they have differing arguments"}, nil + } + } + + var reasons []string + var locs []errors.Location + for _, a2 := range a.SelectionSet { + for _, b2 := range b.SelectionSet { + c.validateOverlap(a2, b2, &reasons, &locs) + } + } + return reasons, locs +} + +func argumentsConflict(a, b types.ArgumentList) bool { + if len(a) != len(b) { + return true + } + for _, argA := range a { + valB, ok := b.Get(argA.Name.Name) + if !ok || !reflect.DeepEqual(argA.Value.Deserialize(nil), valB.Deserialize(nil)) { + return true + } + } + return false +} + +func fields(t types.Type) types.FieldsDefinition { + switch t := t.(type) { + case *types.ObjectTypeDefinition: + return t.Fields + case *types.InterfaceTypeDefinition: + return t.Fields + default: + return nil + } +} + +func unwrapType(t types.Type) types.NamedType { + if t == nil { + return nil + } + for { + switch t2 := t.(type) { + case types.NamedType: + return t2 + case *types.List: + t = t2.OfType + case *types.NonNull: + t = t2.OfType + default: + panic("unreachable") + } + } +} + +func resolveType(c *context, t types.Type) types.Type { + t2, err := common.ResolveType(t, c.schema.Resolve) + if err != nil { + c.errs = append(c.errs, err) + } + return t2 +} + +func validateDirectives(c *opContext, loc string, directives types.DirectiveList) { + directiveNames := make(nameSet) + for _, d := range directives { + dirName := d.Name.Name + validateNameCustomMsg(c.context, directiveNames, d.Name, "UniqueDirectivesPerLocation", func() string { + return fmt.Sprintf("The directive %q can only be used once at this location.", dirName) + }) + + validateArgumentLiterals(c, d.Arguments) + + dd, ok := c.schema.Directives[dirName] + if !ok { + c.addErr(d.Name.Loc, "KnownDirectives", "Unknown directive %q.", dirName) + continue + } + + locOK := false + for _, allowedLoc := range dd.Locations { + if loc == allowedLoc { + locOK = true + break + } + } + if !locOK { + c.addErr(d.Name.Loc, "KnownDirectives", "Directive %q may not be used on %s.", dirName, loc) + } + + validateArgumentTypes(c, d.Arguments, dd.Arguments, d.Name.Loc, + func() string { return fmt.Sprintf("directive %q", "@"+dirName) }, + func() string { return fmt.Sprintf("Directive %q", "@"+dirName) }, + ) + } +} + +func validateName(c *context, set nameSet, name types.Ident, rule string, kind string) { + validateNameCustomMsg(c, set, name, rule, func() string { + return fmt.Sprintf("There can be only one %s named %q.", kind, name.Name) + }) +} + +func validateNameCustomMsg(c *context, set nameSet, name types.Ident, rule string, msg func() string) { + if loc, ok := set[name.Name]; ok { + c.addErrMultiLoc([]errors.Location{loc, name.Loc}, rule, msg()) + return + } + set[name.Name] = name.Loc +} + +func validateArgumentTypes(c *opContext, args types.ArgumentList, argDecls types.ArgumentsDefinition, loc errors.Location, owner1, owner2 func() string) { + for _, selArg := range args { + arg := argDecls.Get(selArg.Name.Name) + if arg == nil { + c.addErr(selArg.Name.Loc, "KnownArgumentNames", "Unknown argument %q on %s.", selArg.Name.Name, owner1()) + continue + } + value := selArg.Value + if ok, reason := validateValueType(c, value, arg.Type); !ok { + c.addErr(value.Location(), "ArgumentsOfCorrectType", "Argument %q has invalid value %s.\n%s", arg.Name.Name, value, reason) + } + } + for _, decl := range argDecls { + if _, ok := decl.Type.(*types.NonNull); ok { + if _, ok := args.Get(decl.Name.Name); !ok { + c.addErr(loc, "ProvidedNonNullArguments", "%s argument %q of type %q is required but not provided.", owner2(), decl.Name.Name, decl.Type) + } + } + } +} + +func validateArgumentLiterals(c *opContext, args types.ArgumentList) { + argNames := make(nameSet) + for _, arg := range args { + validateName(c.context, argNames, arg.Name, "UniqueArgumentNames", "argument") + validateLiteral(c, arg.Value) + } +} + +func validateLiteral(c *opContext, l types.Value) { + switch l := l.(type) { + case *types.ObjectValue: + fieldNames := make(nameSet) + for _, f := range l.Fields { + validateName(c.context, fieldNames, f.Name, "UniqueInputFieldNames", "input field") + validateLiteral(c, f.Value) + } + case *types.ListValue: + for _, entry := range l.Values { + validateLiteral(c, entry) + } + case *types.Variable: + for _, op := range c.ops { + v := op.Vars.Get(l.Name) + if v == nil { + byOp := "" + if op.Name.Name != "" { + byOp = fmt.Sprintf(" by operation %q", op.Name.Name) + } + c.opErrs[op] = append(c.opErrs[op], &errors.QueryError{ + Message: fmt.Sprintf("Variable %q is not defined%s.", "$"+l.Name, byOp), + Locations: []errors.Location{l.Loc, op.Loc}, + Rule: "NoUndefinedVariables", + }) + continue + } + validateValueType(c, l, resolveType(c.context, v.Type)) + c.usedVars[op][v] = struct{}{} + } + } +} + +func validateValueType(c *opContext, v types.Value, t types.Type) (bool, string) { + if v, ok := v.(*types.Variable); ok { + for _, op := range c.ops { + if v2 := op.Vars.Get(v.Name); v2 != nil { + t2, err := common.ResolveType(v2.Type, c.schema.Resolve) + if _, ok := t2.(*types.NonNull); !ok && v2.Default != nil { + t2 = &types.NonNull{OfType: t2} + } + if err == nil && !typeCanBeUsedAs(t2, t) { + c.addErrMultiLoc([]errors.Location{v2.Loc, v.Loc}, "VariablesInAllowedPosition", "Variable %q of type %q used in position expecting type %q.", "$"+v.Name, t2, t) + } + } + } + return true, "" + } + + if nn, ok := t.(*types.NonNull); ok { + if isNull(v) { + return false, fmt.Sprintf("Expected %q, found null.", t) + } + t = nn.OfType + } + if isNull(v) { + return true, "" + } + + switch t := t.(type) { + case *types.ScalarTypeDefinition, *types.EnumTypeDefinition: + if lit, ok := v.(*types.PrimitiveValue); ok { + if validateBasicLit(lit, t) { + return true, "" + } + return false, fmt.Sprintf("Expected type %q, found %s.", t, v) + } + return true, "" + + case *types.List: + list, ok := v.(*types.ListValue) + if !ok { + return validateValueType(c, v, t.OfType) // single value instead of list + } + for i, entry := range list.Values { + if ok, reason := validateValueType(c, entry, t.OfType); !ok { + return false, fmt.Sprintf("In element #%d: %s", i, reason) + } + } + return true, "" + + case *types.InputObject: + v, ok := v.(*types.ObjectValue) + if !ok { + return false, fmt.Sprintf("Expected %q, found not an object.", t) + } + for _, f := range v.Fields { + name := f.Name.Name + iv := t.Values.Get(name) + if iv == nil { + return false, fmt.Sprintf("In field %q: Unknown field.", name) + } + if ok, reason := validateValueType(c, f.Value, iv.Type); !ok { + return false, fmt.Sprintf("In field %q: %s", name, reason) + } + } + for _, iv := range t.Values { + found := false + for _, f := range v.Fields { + if f.Name.Name == iv.Name.Name { + found = true + break + } + } + if !found { + if _, ok := iv.Type.(*types.NonNull); ok && iv.Default == nil { + return false, fmt.Sprintf("In field %q: Expected %q, found null.", iv.Name.Name, iv.Type) + } + } + } + return true, "" + } + + return false, fmt.Sprintf("Expected type %q, found %s.", t, v) +} + +func validateBasicLit(v *types.PrimitiveValue, t types.Type) bool { + switch t := t.(type) { + case *types.ScalarTypeDefinition: + switch t.Name { + case "Int": + if v.Type != scanner.Int { + return false + } + f, err := strconv.ParseFloat(v.Text, 64) + if err != nil { + panic(err) + } + return f >= math.MinInt32 && f <= math.MaxInt32 + case "Float": + return v.Type == scanner.Int || v.Type == scanner.Float + case "String": + return v.Type == scanner.String + case "Boolean": + return v.Type == scanner.Ident && (v.Text == "true" || v.Text == "false") + case "ID": + return v.Type == scanner.Int || v.Type == scanner.String + default: + //TODO: Type-check against expected type by Unmarshalling + return true + } + + case *types.EnumTypeDefinition: + if v.Type != scanner.Ident { + return false + } + for _, option := range t.EnumValuesDefinition { + if option.EnumValue == v.Text { + return true + } + } + return false + } + + return false +} + +func canBeFragment(t types.Type) bool { + switch t.(type) { + case *types.ObjectTypeDefinition, *types.InterfaceTypeDefinition, *types.Union: + return true + default: + return false + } +} + +func canBeInput(t types.Type) bool { + switch t := t.(type) { + case *types.InputObject, *types.ScalarTypeDefinition, *types.EnumTypeDefinition: + return true + case *types.List: + return canBeInput(t.OfType) + case *types.NonNull: + return canBeInput(t.OfType) + default: + return false + } +} + +func hasSubfields(t types.Type) bool { + switch t := t.(type) { + case *types.ObjectTypeDefinition, *types.InterfaceTypeDefinition, *types.Union: + return true + case *types.List: + return hasSubfields(t.OfType) + case *types.NonNull: + return hasSubfields(t.OfType) + default: + return false + } +} + +func isLeaf(t types.Type) bool { + switch t.(type) { + case *types.ScalarTypeDefinition, *types.EnumTypeDefinition: + return true + default: + return false + } +} + +func isNull(lit interface{}) bool { + _, ok := lit.(*types.NullValue) + return ok +} + +func typesCompatible(a, b types.Type) bool { + al, aIsList := a.(*types.List) + bl, bIsList := b.(*types.List) + if aIsList || bIsList { + return aIsList && bIsList && typesCompatible(al.OfType, bl.OfType) + } + + ann, aIsNN := a.(*types.NonNull) + bnn, bIsNN := b.(*types.NonNull) + if aIsNN || bIsNN { + return aIsNN && bIsNN && typesCompatible(ann.OfType, bnn.OfType) + } + + if isLeaf(a) || isLeaf(b) { + return a == b + } + + return true +} + +func typeCanBeUsedAs(t, as types.Type) bool { + nnT, okT := t.(*types.NonNull) + if okT { + t = nnT.OfType + } + + nnAs, okAs := as.(*types.NonNull) + if okAs { + as = nnAs.OfType + if !okT { + return false // nullable can not be used as non-null + } + } + + if t == as { + return true + } + + if lT, ok := t.(*types.List); ok { + if lAs, ok := as.(*types.List); ok { + return typeCanBeUsedAs(lT.OfType, lAs.OfType) + } + } + return false +} diff --git a/vendor/github.com/graph-gophers/graphql-go/introspection.go b/vendor/github.com/graph-gophers/graphql-go/introspection.go new file mode 100644 index 00000000..6877bcaf --- /dev/null +++ b/vendor/github.com/graph-gophers/graphql-go/introspection.go @@ -0,0 +1,118 @@ +package graphql + +import ( + "context" + "encoding/json" + + "github.com/graph-gophers/graphql-go/internal/exec/resolvable" + "github.com/graph-gophers/graphql-go/introspection" +) + +// Inspect allows inspection of the given schema. +func (s *Schema) Inspect() *introspection.Schema { + return introspection.WrapSchema(s.schema) +} + +// ToJSON encodes the schema in a JSON format used by tools like Relay. +func (s *Schema) ToJSON() ([]byte, error) { + result := s.exec(context.Background(), introspectionQuery, "", nil, &resolvable.Schema{ + Meta: s.res.Meta, + Query: &resolvable.Object{}, + Schema: *s.schema, + }) + if len(result.Errors) != 0 { + panic(result.Errors[0]) + } + return json.MarshalIndent(result.Data, "", "\t") +} + +var introspectionQuery = ` + query { + __schema { + queryType { name } + mutationType { name } + subscriptionType { name } + types { + ...FullType + } + directives { + name + description + locations + args { + ...InputValue + } + } + } + } + fragment FullType on __Type { + kind + name + description + fields(includeDeprecated: true) { + name + description + args { + ...InputValue + } + type { + ...TypeRef + } + isDeprecated + deprecationReason + } + inputFields { + ...InputValue + } + interfaces { + ...TypeRef + } + enumValues(includeDeprecated: true) { + name + description + isDeprecated + deprecationReason + } + possibleTypes { + ...TypeRef + } + } + fragment InputValue on __InputValue { + name + description + type { ...TypeRef } + defaultValue + } + fragment TypeRef on __Type { + kind + name + ofType { + kind + name + ofType { + kind + name + ofType { + kind + name + ofType { + kind + name + ofType { + kind + name + ofType { + kind + name + ofType { + kind + name + } + } + } + } + } + } + } + } +` diff --git a/vendor/github.com/graph-gophers/graphql-go/introspection/introspection.go b/vendor/github.com/graph-gophers/graphql-go/introspection/introspection.go new file mode 100644 index 00000000..a0a2fa9b --- /dev/null +++ b/vendor/github.com/graph-gophers/graphql-go/introspection/introspection.go @@ -0,0 +1,312 @@ +package introspection + +import ( + "sort" + + "github.com/graph-gophers/graphql-go/types" +) + +type Schema struct { + schema *types.Schema +} + +// WrapSchema is only used internally. +func WrapSchema(schema *types.Schema) *Schema { + return &Schema{schema} +} + +func (r *Schema) Types() []*Type { + var names []string + for name := range r.schema.Types { + names = append(names, name) + } + sort.Strings(names) + + l := make([]*Type, len(names)) + for i, name := range names { + l[i] = &Type{r.schema.Types[name]} + } + return l +} + +func (r *Schema) Directives() []*Directive { + var names []string + for name := range r.schema.Directives { + names = append(names, name) + } + sort.Strings(names) + + l := make([]*Directive, len(names)) + for i, name := range names { + l[i] = &Directive{r.schema.Directives[name]} + } + return l +} + +func (r *Schema) QueryType() *Type { + t, ok := r.schema.EntryPoints["query"] + if !ok { + return nil + } + return &Type{t} +} + +func (r *Schema) MutationType() *Type { + t, ok := r.schema.EntryPoints["mutation"] + if !ok { + return nil + } + return &Type{t} +} + +func (r *Schema) SubscriptionType() *Type { + t, ok := r.schema.EntryPoints["subscription"] + if !ok { + return nil + } + return &Type{t} +} + +type Type struct { + typ types.Type +} + +// WrapType is only used internally. +func WrapType(typ types.Type) *Type { + return &Type{typ} +} + +func (r *Type) Kind() string { + return r.typ.Kind() +} + +func (r *Type) Name() *string { + if named, ok := r.typ.(types.NamedType); ok { + name := named.TypeName() + return &name + } + return nil +} + +func (r *Type) Description() *string { + if named, ok := r.typ.(types.NamedType); ok { + desc := named.Description() + if desc == "" { + return nil + } + return &desc + } + return nil +} + +func (r *Type) Fields(args *struct{ IncludeDeprecated bool }) *[]*Field { + var fields types.FieldsDefinition + switch t := r.typ.(type) { + case *types.ObjectTypeDefinition: + fields = t.Fields + case *types.InterfaceTypeDefinition: + fields = t.Fields + default: + return nil + } + + var l []*Field + for _, f := range fields { + if d := f.Directives.Get("deprecated"); d == nil || args.IncludeDeprecated { + l = append(l, &Field{field: f}) + } + } + return &l +} + +func (r *Type) Interfaces() *[]*Type { + t, ok := r.typ.(*types.ObjectTypeDefinition) + if !ok { + return nil + } + + l := make([]*Type, len(t.Interfaces)) + for i, intf := range t.Interfaces { + l[i] = &Type{intf} + } + return &l +} + +func (r *Type) PossibleTypes() *[]*Type { + var possibleTypes []*types.ObjectTypeDefinition + switch t := r.typ.(type) { + case *types.InterfaceTypeDefinition: + possibleTypes = t.PossibleTypes + case *types.Union: + possibleTypes = t.UnionMemberTypes + default: + return nil + } + + l := make([]*Type, len(possibleTypes)) + for i, intf := range possibleTypes { + l[i] = &Type{intf} + } + return &l +} + +func (r *Type) EnumValues(args *struct{ IncludeDeprecated bool }) *[]*EnumValue { + t, ok := r.typ.(*types.EnumTypeDefinition) + if !ok { + return nil + } + + var l []*EnumValue + for _, v := range t.EnumValuesDefinition { + if d := v.Directives.Get("deprecated"); d == nil || args.IncludeDeprecated { + l = append(l, &EnumValue{v}) + } + } + return &l +} + +func (r *Type) InputFields() *[]*InputValue { + t, ok := r.typ.(*types.InputObject) + if !ok { + return nil + } + + l := make([]*InputValue, len(t.Values)) + for i, v := range t.Values { + l[i] = &InputValue{v} + } + return &l +} + +func (r *Type) OfType() *Type { + switch t := r.typ.(type) { + case *types.List: + return &Type{t.OfType} + case *types.NonNull: + return &Type{t.OfType} + default: + return nil + } +} + +type Field struct { + field *types.FieldDefinition +} + +func (r *Field) Name() string { + return r.field.Name +} + +func (r *Field) Description() *string { + if r.field.Desc == "" { + return nil + } + return &r.field.Desc +} + +func (r *Field) Args() []*InputValue { + l := make([]*InputValue, len(r.field.Arguments)) + for i, v := range r.field.Arguments { + l[i] = &InputValue{v} + } + return l +} + +func (r *Field) Type() *Type { + return &Type{r.field.Type} +} + +func (r *Field) IsDeprecated() bool { + return r.field.Directives.Get("deprecated") != nil +} + +func (r *Field) DeprecationReason() *string { + d := r.field.Directives.Get("deprecated") + if d == nil { + return nil + } + reason := d.Arguments.MustGet("reason").Deserialize(nil).(string) + return &reason +} + +type InputValue struct { + value *types.InputValueDefinition +} + +func (r *InputValue) Name() string { + return r.value.Name.Name +} + +func (r *InputValue) Description() *string { + if r.value.Desc == "" { + return nil + } + return &r.value.Desc +} + +func (r *InputValue) Type() *Type { + return &Type{r.value.Type} +} + +func (r *InputValue) DefaultValue() *string { + if r.value.Default == nil { + return nil + } + s := r.value.Default.String() + return &s +} + +type EnumValue struct { + value *types.EnumValueDefinition +} + +func (r *EnumValue) Name() string { + return r.value.EnumValue +} + +func (r *EnumValue) Description() *string { + if r.value.Desc == "" { + return nil + } + return &r.value.Desc +} + +func (r *EnumValue) IsDeprecated() bool { + return r.value.Directives.Get("deprecated") != nil +} + +func (r *EnumValue) DeprecationReason() *string { + d := r.value.Directives.Get("deprecated") + if d == nil { + return nil + } + reason := d.Arguments.MustGet("reason").Deserialize(nil).(string) + return &reason +} + +type Directive struct { + directive *types.DirectiveDefinition +} + +func (r *Directive) Name() string { + return r.directive.Name +} + +func (r *Directive) Description() *string { + if r.directive.Desc == "" { + return nil + } + return &r.directive.Desc +} + +func (r *Directive) Locations() []string { + return r.directive.Locations +} + +func (r *Directive) Args() []*InputValue { + l := make([]*InputValue, len(r.directive.Arguments)) + for i, v := range r.directive.Arguments { + l[i] = &InputValue{v} + } + return l +} diff --git a/vendor/github.com/graph-gophers/graphql-go/log/log.go b/vendor/github.com/graph-gophers/graphql-go/log/log.go new file mode 100644 index 00000000..bdada874 --- /dev/null +++ b/vendor/github.com/graph-gophers/graphql-go/log/log.go @@ -0,0 +1,23 @@ +package log + +import ( + "context" + "log" + "runtime" +) + +// Logger is the interface used to log panics that occur during query execution. It is settable via graphql.ParseSchema +type Logger interface { + LogPanic(ctx context.Context, value interface{}) +} + +// DefaultLogger is the default logger used to log panics that occur during query execution +type DefaultLogger struct{} + +// LogPanic is used to log recovered panic values that occur during query execution +func (l *DefaultLogger) LogPanic(ctx context.Context, value interface{}) { + const size = 64 << 10 + buf := make([]byte, size) + buf = buf[:runtime.Stack(buf, false)] + log.Printf("graphql: panic occurred: %v\n%s\ncontext: %v", value, buf, ctx) +} diff --git a/vendor/github.com/graph-gophers/graphql-go/nullable_types.go b/vendor/github.com/graph-gophers/graphql-go/nullable_types.go new file mode 100644 index 00000000..fa5bbfd6 --- /dev/null +++ b/vendor/github.com/graph-gophers/graphql-go/nullable_types.go @@ -0,0 +1,166 @@ +package graphql + +import ( + "fmt" + "math" +) + +// NullString is a string that can be null. Use it in input structs to +// differentiate a value explicitly set to null from an omitted value. +// When the value is defined (either null or a value) Set is true. +type NullString struct { + Value *string + Set bool +} + +func (NullString) ImplementsGraphQLType(name string) bool { + return name == "String" +} + +func (s *NullString) UnmarshalGraphQL(input interface{}) error { + s.Set = true + + if input == nil { + return nil + } + + switch v := input.(type) { + case string: + s.Value = &v + return nil + default: + return fmt.Errorf("wrong type for String: %T", v) + } +} + +func (s *NullString) Nullable() {} + +// NullBool is a string that can be null. Use it in input structs to +// differentiate a value explicitly set to null from an omitted value. +// When the value is defined (either null or a value) Set is true. +type NullBool struct { + Value *bool + Set bool +} + +func (NullBool) ImplementsGraphQLType(name string) bool { + return name == "Boolean" +} + +func (s *NullBool) UnmarshalGraphQL(input interface{}) error { + s.Set = true + + if input == nil { + return nil + } + + switch v := input.(type) { + case bool: + s.Value = &v + return nil + default: + return fmt.Errorf("wrong type for Boolean: %T", v) + } +} + +func (s *NullBool) Nullable() {} + +// NullInt is a string that can be null. Use it in input structs to +// differentiate a value explicitly set to null from an omitted value. +// When the value is defined (either null or a value) Set is true. +type NullInt struct { + Value *int32 + Set bool +} + +func (NullInt) ImplementsGraphQLType(name string) bool { + return name == "Int" +} + +func (s *NullInt) UnmarshalGraphQL(input interface{}) error { + s.Set = true + + if input == nil { + return nil + } + + switch v := input.(type) { + case int32: + s.Value = &v + return nil + case float64: + coerced := int32(v) + if v < math.MinInt32 || v > math.MaxInt32 || float64(coerced) != v { + return fmt.Errorf("not a 32-bit integer") + } + s.Value = &coerced + return nil + default: + return fmt.Errorf("wrong type for Int: %T", v) + } +} + +func (s *NullInt) Nullable() {} + +// NullFloat is a string that can be null. Use it in input structs to +// differentiate a value explicitly set to null from an omitted value. +// When the value is defined (either null or a value) Set is true. +type NullFloat struct { + Value *float64 + Set bool +} + +func (NullFloat) ImplementsGraphQLType(name string) bool { + return name == "Float" +} + +func (s *NullFloat) UnmarshalGraphQL(input interface{}) error { + s.Set = true + + if input == nil { + return nil + } + + switch v := input.(type) { + case float64: + s.Value = &v + return nil + case int32: + coerced := float64(v) + s.Value = &coerced + return nil + case int: + coerced := float64(v) + s.Value = &coerced + return nil + default: + return fmt.Errorf("wrong type for Float: %T", v) + } +} + +func (s *NullFloat) Nullable() {} + +// NullTime is a string that can be null. Use it in input structs to +// differentiate a value explicitly set to null from an omitted value. +// When the value is defined (either null or a value) Set is true. +type NullTime struct { + Value *Time + Set bool +} + +func (NullTime) ImplementsGraphQLType(name string) bool { + return name == "Time" +} + +func (s *NullTime) UnmarshalGraphQL(input interface{}) error { + s.Set = true + + if input == nil { + return nil + } + + s.Value = new(Time) + return s.Value.UnmarshalGraphQL(input) +} + +func (s *NullTime) Nullable() {} diff --git a/vendor/github.com/graph-gophers/graphql-go/subscriptions.go b/vendor/github.com/graph-gophers/graphql-go/subscriptions.go new file mode 100644 index 00000000..34064dc7 --- /dev/null +++ b/vendor/github.com/graph-gophers/graphql-go/subscriptions.go @@ -0,0 +1,96 @@ +package graphql + +import ( + "context" + "errors" + + qerrors "github.com/graph-gophers/graphql-go/errors" + "github.com/graph-gophers/graphql-go/internal/common" + "github.com/graph-gophers/graphql-go/internal/exec" + "github.com/graph-gophers/graphql-go/internal/exec/resolvable" + "github.com/graph-gophers/graphql-go/internal/exec/selected" + "github.com/graph-gophers/graphql-go/internal/query" + "github.com/graph-gophers/graphql-go/internal/validation" + "github.com/graph-gophers/graphql-go/introspection" +) + +// Subscribe returns a response channel for the given subscription with the schema's +// resolver. It returns an error if the schema was created without a resolver. +// If the context gets cancelled, the response channel will be closed and no +// further resolvers will be called. The context error will be returned as soon +// as possible (not immediately). +func (s *Schema) Subscribe(ctx context.Context, queryString string, operationName string, variables map[string]interface{}) (<-chan interface{}, error) { + if !s.res.Resolver.IsValid() { + return nil, errors.New("schema created without resolver, can not subscribe") + } + if _, ok := s.schema.EntryPoints["subscription"]; !ok { + return nil, errors.New("no subscriptions are offered by the schema") + } + return s.subscribe(ctx, queryString, operationName, variables, s.res), nil +} + +func (s *Schema) subscribe(ctx context.Context, queryString string, operationName string, variables map[string]interface{}, res *resolvable.Schema) <-chan interface{} { + doc, qErr := query.Parse(queryString) + if qErr != nil { + return sendAndReturnClosed(&Response{Errors: []*qerrors.QueryError{qErr}}) + } + + validationFinish := s.validationTracer.TraceValidation(ctx) + errs := validation.Validate(s.schema, doc, variables, s.maxDepth) + validationFinish(errs) + if len(errs) != 0 { + return sendAndReturnClosed(&Response{Errors: errs}) + } + + op, err := getOperation(doc, operationName) + if err != nil { + return sendAndReturnClosed(&Response{Errors: []*qerrors.QueryError{qerrors.Errorf("%s", err)}}) + } + + r := &exec.Request{ + Request: selected.Request{ + Doc: doc, + Vars: variables, + Schema: s.schema, + }, + Limiter: make(chan struct{}, s.maxParallelism), + Tracer: s.tracer, + Logger: s.logger, + PanicHandler: s.panicHandler, + SubscribeResolverTimeout: s.subscribeResolverTimeout, + } + varTypes := make(map[string]*introspection.Type) + for _, v := range op.Vars { + t, err := common.ResolveType(v.Type, s.schema.Resolve) + if err != nil { + return sendAndReturnClosed(&Response{Errors: []*qerrors.QueryError{err}}) + } + varTypes[v.Name.Name] = introspection.WrapType(t) + } + + if op.Type == query.Query || op.Type == query.Mutation { + data, errs := r.Execute(ctx, res, op) + return sendAndReturnClosed(&Response{Data: data, Errors: errs}) + } + + responses := r.Subscribe(ctx, res, op) + c := make(chan interface{}) + go func() { + for resp := range responses { + c <- &Response{ + Data: resp.Data, + Errors: resp.Errors, + } + } + close(c) + }() + + return c +} + +func sendAndReturnClosed(resp *Response) chan interface{} { + c := make(chan interface{}, 1) + c <- resp + close(c) + return c +} diff --git a/vendor/github.com/graph-gophers/graphql-go/time.go b/vendor/github.com/graph-gophers/graphql-go/time.go new file mode 100644 index 00000000..974287e7 --- /dev/null +++ b/vendor/github.com/graph-gophers/graphql-go/time.go @@ -0,0 +1,64 @@ +package graphql + +import ( + "encoding/json" + "fmt" + "time" +) + +// Time is a custom GraphQL type to represent an instant in time. It has to be added to a schema +// via "scalar Time" since it is not a predeclared GraphQL type like "ID". +type Time struct { + time.Time +} + +// ImplementsGraphQLType maps this custom Go type +// to the graphql scalar type in the schema. +func (Time) ImplementsGraphQLType(name string) bool { + return name == "Time" +} + +// UnmarshalGraphQL is a custom unmarshaler for Time +// +// This function will be called whenever you use the +// time scalar as an input +func (t *Time) UnmarshalGraphQL(input interface{}) error { + switch input := input.(type) { + case time.Time: + t.Time = input + return nil + case string: + var err error + t.Time, err = time.Parse(time.RFC3339, input) + return err + case []byte: + var err error + t.Time, err = time.Parse(time.RFC3339, string(input)) + return err + case int32: + t.Time = time.Unix(int64(input), 0) + return nil + case int64: + if input >= 1e10 { + sec := input / 1e9 + nsec := input - (sec * 1e9) + t.Time = time.Unix(sec, nsec) + } else { + t.Time = time.Unix(input, 0) + } + return nil + case float64: + t.Time = time.Unix(int64(input), 0) + return nil + default: + return fmt.Errorf("wrong type for Time: %T", input) + } +} + +// MarshalJSON is a custom marshaler for Time +// +// This function will be called whenever you +// query for fields that use the Time type +func (t Time) MarshalJSON() ([]byte, error) { + return json.Marshal(t.Time) +} diff --git a/vendor/github.com/graph-gophers/graphql-go/trace/trace.go b/vendor/github.com/graph-gophers/graphql-go/trace/trace.go new file mode 100644 index 00000000..8d5d8a71 --- /dev/null +++ b/vendor/github.com/graph-gophers/graphql-go/trace/trace.go @@ -0,0 +1,96 @@ +package trace + +import ( + "context" + "fmt" + + "github.com/graph-gophers/graphql-go/errors" + "github.com/graph-gophers/graphql-go/introspection" + opentracing "github.com/opentracing/opentracing-go" + "github.com/opentracing/opentracing-go/ext" + "github.com/opentracing/opentracing-go/log" +) + +type TraceQueryFinishFunc func([]*errors.QueryError) +type TraceFieldFinishFunc func(*errors.QueryError) + +type Tracer interface { + TraceQuery(ctx context.Context, queryString string, operationName string, variables map[string]interface{}, varTypes map[string]*introspection.Type) (context.Context, TraceQueryFinishFunc) + TraceField(ctx context.Context, label, typeName, fieldName string, trivial bool, args map[string]interface{}) (context.Context, TraceFieldFinishFunc) +} + +type OpenTracingTracer struct{} + +func (OpenTracingTracer) TraceQuery(ctx context.Context, queryString string, operationName string, variables map[string]interface{}, varTypes map[string]*introspection.Type) (context.Context, TraceQueryFinishFunc) { + span, spanCtx := opentracing.StartSpanFromContext(ctx, "GraphQL request") + span.SetTag("graphql.query", queryString) + + if operationName != "" { + span.SetTag("graphql.operationName", operationName) + } + + if len(variables) != 0 { + span.LogFields(log.Object("graphql.variables", variables)) + } + + return spanCtx, func(errs []*errors.QueryError) { + if len(errs) > 0 { + msg := errs[0].Error() + if len(errs) > 1 { + msg += fmt.Sprintf(" (and %d more errors)", len(errs)-1) + } + ext.Error.Set(span, true) + span.SetTag("graphql.error", msg) + } + span.Finish() + } +} + +func (OpenTracingTracer) TraceField(ctx context.Context, label, typeName, fieldName string, trivial bool, args map[string]interface{}) (context.Context, TraceFieldFinishFunc) { + if trivial { + return ctx, noop + } + + span, spanCtx := opentracing.StartSpanFromContext(ctx, label) + span.SetTag("graphql.type", typeName) + span.SetTag("graphql.field", fieldName) + for name, value := range args { + span.SetTag("graphql.args."+name, value) + } + + return spanCtx, func(err *errors.QueryError) { + if err != nil { + ext.Error.Set(span, true) + span.SetTag("graphql.error", err.Error()) + } + span.Finish() + } +} + +func (OpenTracingTracer) TraceValidation(ctx context.Context) TraceValidationFinishFunc { + span, _ := opentracing.StartSpanFromContext(ctx, "Validate Query") + + return func(errs []*errors.QueryError) { + if len(errs) > 0 { + msg := errs[0].Error() + if len(errs) > 1 { + msg += fmt.Sprintf(" (and %d more errors)", len(errs)-1) + } + ext.Error.Set(span, true) + span.SetTag("graphql.error", msg) + } + span.Finish() + } +} + +func noop(*errors.QueryError) {} + +type NoopTracer struct{} + +func (NoopTracer) TraceQuery(ctx context.Context, queryString string, operationName string, variables map[string]interface{}, varTypes map[string]*introspection.Type) (context.Context, TraceQueryFinishFunc) { + return ctx, func(errs []*errors.QueryError) {} +} + +func (NoopTracer) TraceField(ctx context.Context, label, typeName, fieldName string, trivial bool, args map[string]interface{}) (context.Context, TraceFieldFinishFunc) { + return ctx, func(err *errors.QueryError) {} +} diff --git a/vendor/github.com/graph-gophers/graphql-go/trace/validation_trace.go b/vendor/github.com/graph-gophers/graphql-go/trace/validation_trace.go new file mode 100644 index 00000000..bce7a9a4 --- /dev/null +++ b/vendor/github.com/graph-gophers/graphql-go/trace/validation_trace.go @@ -0,0 +1,25 @@ +package trace + +import ( + "context" + + "github.com/graph-gophers/graphql-go/errors" +) + +type TraceValidationFinishFunc = TraceQueryFinishFunc + +// Deprecated: use ValidationTracerContext. +type ValidationTracer interface { + TraceValidation() TraceValidationFinishFunc +} + +type ValidationTracerContext interface { + TraceValidation(ctx context.Context) TraceValidationFinishFunc +} + +type NoopValidationTracer struct{} + +// Deprecated: use a Tracer which implements ValidationTracerContext. +func (NoopValidationTracer) TraceValidation() TraceValidationFinishFunc { + return func(errs []*errors.QueryError) {} +} diff --git a/vendor/github.com/graph-gophers/graphql-go/types/argument.go b/vendor/github.com/graph-gophers/graphql-go/types/argument.go new file mode 100644 index 00000000..b2681a28 --- /dev/null +++ b/vendor/github.com/graph-gophers/graphql-go/types/argument.go @@ -0,0 +1,44 @@ +package types + +// Argument is a representation of the GraphQL Argument. +// +// https://spec.graphql.org/draft/#sec-Language.Arguments +type Argument struct { + Name Ident + Value Value +} + +// ArgumentList is a collection of GraphQL Arguments. +type ArgumentList []*Argument + +// Returns a Value in the ArgumentList by name. +func (l ArgumentList) Get(name string) (Value, bool) { + for _, arg := range l { + if arg.Name.Name == name { + return arg.Value, true + } + } + return nil, false +} + +// MustGet returns a Value in the ArgumentList by name. +// MustGet will panic if the argument name is not found in the ArgumentList. +func (l ArgumentList) MustGet(name string) Value { + value, ok := l.Get(name) + if !ok { + panic("argument not found") + } + return value +} + +type ArgumentsDefinition []*InputValueDefinition + +// Get returns an InputValueDefinition in the ArgumentsDefinition by name or nil if not found. +func (a ArgumentsDefinition) Get(name string) *InputValueDefinition { + for _, inputValue := range a { + if inputValue.Name.Name == name { + return inputValue + } + } + return nil +} diff --git a/vendor/github.com/graph-gophers/graphql-go/types/directive.go b/vendor/github.com/graph-gophers/graphql-go/types/directive.go new file mode 100644 index 00000000..0f8a4b99 --- /dev/null +++ b/vendor/github.com/graph-gophers/graphql-go/types/directive.go @@ -0,0 +1,34 @@ +package types + +import "github.com/graph-gophers/graphql-go/errors" + +// Directive is a representation of the GraphQL Directive. +// +// http://spec.graphql.org/draft/#sec-Language.Directives +type Directive struct { + Name Ident + Arguments ArgumentList +} + +// DirectiveDefinition is a representation of the GraphQL DirectiveDefinition. +// +// http://spec.graphql.org/draft/#sec-Type-System.Directives +type DirectiveDefinition struct { + Name string + Desc string + Locations []string + Arguments ArgumentsDefinition + Loc errors.Location +} + +type DirectiveList []*Directive + +// Returns the Directive in the DirectiveList by name or nil if not found. +func (l DirectiveList) Get(name string) *Directive { + for _, d := range l { + if d.Name.Name == name { + return d + } + } + return nil +} diff --git a/vendor/github.com/graph-gophers/graphql-go/types/doc.go b/vendor/github.com/graph-gophers/graphql-go/types/doc.go new file mode 100644 index 00000000..87caa60b --- /dev/null +++ b/vendor/github.com/graph-gophers/graphql-go/types/doc.go @@ -0,0 +1,9 @@ +/* + Package types represents all types from the GraphQL specification in code. + + + The names of the Go types, whenever possible, match 1:1 with the names from + the specification. + +*/ +package types diff --git a/vendor/github.com/graph-gophers/graphql-go/types/enum.go b/vendor/github.com/graph-gophers/graphql-go/types/enum.go new file mode 100644 index 00000000..b2c84caa --- /dev/null +++ b/vendor/github.com/graph-gophers/graphql-go/types/enum.go @@ -0,0 +1,32 @@ +package types + +import "github.com/graph-gophers/graphql-go/errors" + +// EnumTypeDefinition defines a set of possible enum values. +// +// Like scalar types, an EnumTypeDefinition also represents a leaf value in a GraphQL type system. +// +// http://spec.graphql.org/draft/#sec-Enums +type EnumTypeDefinition struct { + Name string + EnumValuesDefinition []*EnumValueDefinition + Desc string + Directives DirectiveList + Loc errors.Location +} + +// EnumValueDefinition are unique values that may be serialized as a string: the name of the +// represented value. +// +// http://spec.graphql.org/draft/#EnumValueDefinition +type EnumValueDefinition struct { + EnumValue string + Directives DirectiveList + Desc string + Loc errors.Location +} + +func (*EnumTypeDefinition) Kind() string { return "ENUM" } +func (t *EnumTypeDefinition) String() string { return t.Name } +func (t *EnumTypeDefinition) TypeName() string { return t.Name } +func (t *EnumTypeDefinition) Description() string { return t.Desc } diff --git a/vendor/github.com/graph-gophers/graphql-go/types/extension.go b/vendor/github.com/graph-gophers/graphql-go/types/extension.go new file mode 100644 index 00000000..b82ea670 --- /dev/null +++ b/vendor/github.com/graph-gophers/graphql-go/types/extension.go @@ -0,0 +1,13 @@ +package types + +import "github.com/graph-gophers/graphql-go/errors" + +// Extension type defines a GraphQL type extension. +// Schemas, Objects, Inputs and Scalars can be extended. +// +// https://spec.graphql.org/draft/#sec-Type-System-Extensions +type Extension struct { + Type NamedType + Directives DirectiveList + Loc errors.Location +} diff --git a/vendor/github.com/graph-gophers/graphql-go/types/field.go b/vendor/github.com/graph-gophers/graphql-go/types/field.go new file mode 100644 index 00000000..ea5bca5c --- /dev/null +++ b/vendor/github.com/graph-gophers/graphql-go/types/field.go @@ -0,0 +1,39 @@ +package types + +import "github.com/graph-gophers/graphql-go/errors" + +// FieldDefinition is a representation of a GraphQL FieldDefinition. +// +// http://spec.graphql.org/draft/#FieldDefinition +type FieldDefinition struct { + Name string + Arguments ArgumentsDefinition + Type Type + Directives DirectiveList + Desc string + Loc errors.Location +} + +// FieldsDefinition is a list of an ObjectTypeDefinition's Fields. +// +// https://spec.graphql.org/draft/#FieldsDefinition +type FieldsDefinition []*FieldDefinition + +// Get returns a FieldDefinition in a FieldsDefinition by name or nil if not found. +func (l FieldsDefinition) Get(name string) *FieldDefinition { + for _, f := range l { + if f.Name == name { + return f + } + } + return nil +} + +// Names returns a slice of FieldDefinition names. +func (l FieldsDefinition) Names() []string { + names := make([]string, len(l)) + for i, f := range l { + names[i] = f.Name + } + return names +} diff --git a/vendor/github.com/graph-gophers/graphql-go/types/fragment.go b/vendor/github.com/graph-gophers/graphql-go/types/fragment.go new file mode 100644 index 00000000..606219ca --- /dev/null +++ b/vendor/github.com/graph-gophers/graphql-go/types/fragment.go @@ -0,0 +1,51 @@ +package types + +import "github.com/graph-gophers/graphql-go/errors" + +type Fragment struct { + On TypeName + Selections SelectionSet +} + +// InlineFragment is a representation of the GraphQL InlineFragment. +// +// http://spec.graphql.org/draft/#InlineFragment +type InlineFragment struct { + Fragment + Directives DirectiveList + Loc errors.Location +} + +// FragmentDefinition is a representation of the GraphQL FragmentDefinition. +// +// http://spec.graphql.org/draft/#FragmentDefinition +type FragmentDefinition struct { + Fragment + Name Ident + Directives DirectiveList + Loc errors.Location +} + +// FragmentSpread is a representation of the GraphQL FragmentSpread. +// +// http://spec.graphql.org/draft/#FragmentSpread +type FragmentSpread struct { + Name Ident + Directives DirectiveList + Loc errors.Location +} + +type FragmentList []*FragmentDefinition + +// Returns a FragmentDefinition by name or nil if not found. +func (l FragmentList) Get(name string) *FragmentDefinition { + for _, f := range l { + if f.Name.Name == name { + return f + } + } + return nil +} + +func (InlineFragment) isSelection() {} +func (FragmentSpread) isSelection() {} diff --git a/vendor/github.com/graph-gophers/graphql-go/types/input.go b/vendor/github.com/graph-gophers/graphql-go/types/input.go new file mode 100644 index 00000000..c179bc3e --- /dev/null +++ b/vendor/github.com/graph-gophers/graphql-go/types/input.go @@ -0,0 +1,47 @@ +package types + +import "github.com/graph-gophers/graphql-go/errors" + +// InputValueDefinition is a representation of the GraphQL InputValueDefinition. +// +// http://spec.graphql.org/draft/#InputValueDefinition +type InputValueDefinition struct { + Name Ident + Type Type + Default Value + Desc string + Directives DirectiveList + Loc errors.Location + TypeLoc errors.Location +} + +type InputValueDefinitionList []*InputValueDefinition + +// Returns an InputValueDefinition by name or nil if not found. +func (l InputValueDefinitionList) Get(name string) *InputValueDefinition { + for _, v := range l { + if v.Name.Name == name { + return v + } + } + return nil +} + +// InputObject types define a set of input fields; the input fields are either scalars, enums, or +// other input objects. +// +// This allows arguments to accept arbitrarily complex structs. +// +// http://spec.graphql.org/draft/#sec-Input-Objects +type InputObject struct { + Name string + Desc string + Values ArgumentsDefinition + Directives DirectiveList + Loc errors.Location +} + +func (*InputObject) Kind() string { return "INPUT_OBJECT" } +func (t *InputObject) String() string { return t.Name } +func (t *InputObject) TypeName() string { return t.Name } +func (t *InputObject) Description() string { return t.Desc } diff --git a/vendor/github.com/graph-gophers/graphql-go/types/interface.go b/vendor/github.com/graph-gophers/graphql-go/types/interface.go new file mode 100644 index 00000000..e741e591 --- /dev/null +++ b/vendor/github.com/graph-gophers/graphql-go/types/interface.go @@ -0,0 +1,25 @@ +package types + +import "github.com/graph-gophers/graphql-go/errors" + +// InterfaceTypeDefinition recusrively defines list of named fields with their arguments via the +// implementation chain of interfaces. +// +// GraphQL objects can then implement these interfaces which requires that the object type will +// define all fields defined by those interfaces. +// +// http://spec.graphql.org/draft/#sec-Interfaces +type InterfaceTypeDefinition struct { + Name string + PossibleTypes []*ObjectTypeDefinition + Fields FieldsDefinition + Desc string + Directives DirectiveList + Loc errors.Location + Interfaces []*InterfaceTypeDefinition +} + +func (*InterfaceTypeDefinition) Kind() string { return "INTERFACE" } +func (t *InterfaceTypeDefinition) String() string { return t.Name } +func (t *InterfaceTypeDefinition) TypeName() string { return t.Name } +func (t *InterfaceTypeDefinition) Description() string { return t.Desc } diff --git a/vendor/github.com/graph-gophers/graphql-go/types/object.go b/vendor/github.com/graph-gophers/graphql-go/types/object.go new file mode 100644 index 00000000..e65c79db --- /dev/null +++ b/vendor/github.com/graph-gophers/graphql-go/types/object.go @@ -0,0 +1,25 @@ +package types + +import "github.com/graph-gophers/graphql-go/errors" + +// ObjectTypeDefinition represents a GraphQL ObjectTypeDefinition. +// +// type FooObject { +// foo: String +// } +// +// https://spec.graphql.org/draft/#sec-Objects +type ObjectTypeDefinition struct { + Name string + Interfaces []*InterfaceTypeDefinition + Fields FieldsDefinition + Desc string + Directives DirectiveList + InterfaceNames []string + Loc errors.Location +} + +func (*ObjectTypeDefinition) Kind() string { return "OBJECT" } +func (t *ObjectTypeDefinition) String() string { return t.Name } +func (t *ObjectTypeDefinition) TypeName() string { return t.Name } +func (t *ObjectTypeDefinition) Description() string { return t.Desc } diff --git a/vendor/github.com/graph-gophers/graphql-go/types/query.go b/vendor/github.com/graph-gophers/graphql-go/types/query.go new file mode 100644 index 00000000..caca6ef4 --- /dev/null +++ b/vendor/github.com/graph-gophers/graphql-go/types/query.go @@ -0,0 +1,62 @@ +package types + +import "github.com/graph-gophers/graphql-go/errors" + +// ExecutableDefinition represents a set of operations or fragments that can be executed +// against a schema. +// +// http://spec.graphql.org/draft/#ExecutableDefinition +type ExecutableDefinition struct { + Operations OperationList + Fragments FragmentList +} + +// OperationDefinition represents a GraphQL Operation. +// +// https://spec.graphql.org/draft/#sec-Language.Operations +type OperationDefinition struct { + Type OperationType + Name Ident + Vars ArgumentsDefinition + Selections SelectionSet + Directives DirectiveList + Loc errors.Location +} + +type OperationType string + +// A Selection is a field requested in a GraphQL operation. +// +// http://spec.graphql.org/draft/#Selection +type Selection interface { + isSelection() +} + +// A SelectionSet represents a collection of Selections +// +// http://spec.graphql.org/draft/#sec-Selection-Sets +type SelectionSet []Selection + +// Field represents a field used in a query. +type Field struct { + Alias Ident + Name Ident + Arguments ArgumentList + Directives DirectiveList + SelectionSet SelectionSet + SelectionSetLoc errors.Location +} + +func (Field) isSelection() {} + +type OperationList []*OperationDefinition + +// Get returns an OperationDefinition by name or nil if not found. +func (l OperationList) Get(name string) *OperationDefinition { + for _, f := range l { + if f.Name.Name == name { + return f + } + } + return nil +} diff --git a/vendor/github.com/graph-gophers/graphql-go/types/scalar.go b/vendor/github.com/graph-gophers/graphql-go/types/scalar.go new file mode 100644 index 00000000..5bd529a8 --- /dev/null +++ b/vendor/github.com/graph-gophers/graphql-go/types/scalar.go @@ -0,0 +1,22 @@ +package types + +import "github.com/graph-gophers/graphql-go/errors" + +// ScalarTypeDefinition types represent primitive leaf values (e.g. a string or an integer) in a GraphQL type +// system. +// +// GraphQL responses take the form of a hierarchical tree; the leaves on these trees are GraphQL +// scalars. +// +// http://spec.graphql.org/draft/#sec-Scalars +type ScalarTypeDefinition struct { + Name string + Desc string + Directives DirectiveList + Loc errors.Location +} + +func (*ScalarTypeDefinition) Kind() string { return "SCALAR" } +func (t *ScalarTypeDefinition) String() string { return t.Name } +func (t *ScalarTypeDefinition) TypeName() string { return t.Name } +func (t *ScalarTypeDefinition) Description() string { return t.Desc } diff --git a/vendor/github.com/graph-gophers/graphql-go/types/schema.go b/vendor/github.com/graph-gophers/graphql-go/types/schema.go new file mode 100644 index 00000000..06811a97 --- /dev/null +++ b/vendor/github.com/graph-gophers/graphql-go/types/schema.go @@ -0,0 +1,42 @@ +package types + +// Schema represents a GraphQL service's collective type system capabilities. +// A schema is defined in terms of the types and directives it supports as well as the root +// operation types for each kind of operation: `query`, `mutation`, and `subscription`. +// +// For a more formal definition, read the relevant section in the specification: +// +// http://spec.graphql.org/draft/#sec-Schema +type Schema struct { + // EntryPoints determines the place in the type system where `query`, `mutation`, and + // `subscription` operations begin. + // + // http://spec.graphql.org/draft/#sec-Root-Operation-Types + // + EntryPoints map[string]NamedType + + // Types are the fundamental unit of any GraphQL schema. + // There are six kinds of named types, and two wrapping types. + // + // http://spec.graphql.org/draft/#sec-Types + Types map[string]NamedType + + // Directives are used to annotate various parts of a GraphQL document as an indicator that they + // should be evaluated differently by a validator, executor, or client tool such as a code + // generator. + // + // http://spec.graphql.org/#sec-Type-System.Directives + Directives map[string]*DirectiveDefinition + + UseFieldResolvers bool + + EntryPointNames map[string]string + Objects []*ObjectTypeDefinition + Unions []*Union + Enums []*EnumTypeDefinition + Extensions []*Extension +} + +func (s *Schema) Resolve(name string) Type { + return s.Types[name] +} diff --git a/vendor/github.com/graph-gophers/graphql-go/types/types.go b/vendor/github.com/graph-gophers/graphql-go/types/types.go new file mode 100644 index 00000000..df34d08a --- /dev/null +++ b/vendor/github.com/graph-gophers/graphql-go/types/types.go @@ -0,0 +1,63 @@ +package types + +import ( + "github.com/graph-gophers/graphql-go/errors" +) + +// TypeName is a base building block for GraphQL type references. +type TypeName struct { + Ident +} + +// NamedType represents a type with a name. +// +// http://spec.graphql.org/draft/#NamedType +type NamedType interface { + Type + TypeName() string + Description() string +} + +type Ident struct { + Name string + Loc errors.Location +} + +type Type interface { + // Kind returns one possible GraphQL type kind. A type kind must be + // valid as defined by the GraphQL spec. + // + // https://spec.graphql.org/draft/#sec-Type-Kinds + Kind() string + + // String serializes a Type into a GraphQL specification format type. + // + // http://spec.graphql.org/draft/#sec-Serialization-Format + String() string +} + +// List represents a GraphQL ListType. +// +// http://spec.graphql.org/draft/#ListType +type List struct { + // OfType represents the inner-type of a List type. + // For example, the List type `[Foo]` has an OfType of Foo. + OfType Type +} + +// NonNull represents a GraphQL NonNullType. +// +// https://spec.graphql.org/draft/#NonNullType +type NonNull struct { + // OfType represents the inner-type of a NonNull type. + // For example, the NonNull type `Foo!` has an OfType of Foo. + OfType Type +} + +func (*List) Kind() string { return "LIST" } +func (*NonNull) Kind() string { return "NON_NULL" } +func (*TypeName) Kind() string { panic("TypeName needs to be resolved to actual type") } + +func (t *List) String() string { return "[" + t.OfType.String() + "]" } +func (t *NonNull) String() string { return t.OfType.String() + "!" } +func (*TypeName) String() string { panic("TypeName needs to be resolved to actual type") } diff --git a/vendor/github.com/graph-gophers/graphql-go/types/union.go b/vendor/github.com/graph-gophers/graphql-go/types/union.go new file mode 100644 index 00000000..bb916673 --- /dev/null +++ b/vendor/github.com/graph-gophers/graphql-go/types/union.go @@ -0,0 +1,24 @@ +package types + +import "github.com/graph-gophers/graphql-go/errors" + +// Union types represent objects that could be one of a list of GraphQL object types, but provides no +// guaranteed fields between those types. +// +// They also differ from interfaces in that object types declare what interfaces they implement, but +// are not aware of what unions contain them. +// +// http://spec.graphql.org/draft/#sec-Unions +type Union struct { + Name string + UnionMemberTypes []*ObjectTypeDefinition + Desc string + Directives DirectiveList + TypeNames []string + Loc errors.Location +} + +func (*Union) Kind() string { return "UNION" } +func (t *Union) String() string { return t.Name } +func (t *Union) TypeName() string { return t.Name } +func (t *Union) Description() string { return t.Desc } diff --git a/vendor/github.com/graph-gophers/graphql-go/types/value.go b/vendor/github.com/graph-gophers/graphql-go/types/value.go new file mode 100644 index 00000000..9f8d041a --- /dev/null +++ b/vendor/github.com/graph-gophers/graphql-go/types/value.go @@ -0,0 +1,141 @@ +package types + +import ( + "strconv" + "strings" + "text/scanner" + + "github.com/graph-gophers/graphql-go/errors" +) + +// Value represents a literal input or literal default value in the GraphQL Specification. +// +// http://spec.graphql.org/draft/#sec-Input-Values +type Value interface { + // Deserialize transforms a GraphQL specification format literal into a Go type. + Deserialize(vars map[string]interface{}) interface{} + + // String serializes a Value into a GraphQL specification format literal. + String() string + Location() errors.Location +} + +// PrimitiveValue represents one of the following GraphQL scalars: Int, Float, +// String, or Boolean +type PrimitiveValue struct { + Type rune + Text string + Loc errors.Location +} + +func (val *PrimitiveValue) Deserialize(vars map[string]interface{}) interface{} { + switch val.Type { + case scanner.Int: + value, err := strconv.ParseInt(val.Text, 10, 32) + if err != nil { + panic(err) + } + return int32(value) + + case scanner.Float: + value, err := strconv.ParseFloat(val.Text, 64) + if err != nil { + panic(err) + } + return value + + case scanner.String: + value, err := strconv.Unquote(val.Text) + if err != nil { + panic(err) + } + return value + + case scanner.Ident: + switch val.Text { + case "true": + return true + case "false": + return false + default: + return val.Text + } + + default: + panic("invalid literal value") + } +} + +func (val *PrimitiveValue) String() string { return val.Text } +func (val *PrimitiveValue) Location() errors.Location { return val.Loc } + +// ListValue represents a literal list Value in the GraphQL specification. +// +// http://spec.graphql.org/draft/#sec-List-Value +type ListValue struct { + Values []Value + Loc errors.Location +} + +func (val *ListValue) Deserialize(vars map[string]interface{}) interface{} { + entries := make([]interface{}, len(val.Values)) + for i, entry := range val.Values { + entries[i] = entry.Deserialize(vars) + } + return entries +} + +func (val *ListValue) String() string { + entries := make([]string, len(val.Values)) + for i, entry := range val.Values { + entries[i] = entry.String() + } + return "[" + strings.Join(entries, ", ") + "]" +} + +func (val *ListValue) Location() errors.Location { return val.Loc } + +// ObjectValue represents a literal object Value in the GraphQL specification. +// +// http://spec.graphql.org/draft/#sec-Object-Value +type ObjectValue struct { + Fields []*ObjectField + Loc errors.Location +} + +// ObjectField represents field/value pairs in a literal ObjectValue. +type ObjectField struct { + Name Ident + Value Value +} + +func (val *ObjectValue) Deserialize(vars map[string]interface{}) interface{} { + fields := make(map[string]interface{}, len(val.Fields)) + for _, f := range val.Fields { + fields[f.Name.Name] = f.Value.Deserialize(vars) + } + return fields +} + +func (val *ObjectValue) String() string { + entries := make([]string, 0, len(val.Fields)) + for _, f := range val.Fields { + entries = append(entries, f.Name.Name+": "+f.Value.String()) + } + return "{" + strings.Join(entries, ", ") + "}" +} + +func (val *ObjectValue) Location() errors.Location { + return val.Loc +} + +// NullValue represents a literal `null` Value in the GraphQL specification. +// +// http://spec.graphql.org/draft/#sec-Null-Value +type NullValue struct { + Loc errors.Location +} + +func (val *NullValue) Deserialize(vars map[string]interface{}) interface{} { return nil } +func (val *NullValue) String() string { return "null" } +func (val *NullValue) Location() errors.Location { return val.Loc } diff --git a/vendor/github.com/graph-gophers/graphql-go/types/variable.go b/vendor/github.com/graph-gophers/graphql-go/types/variable.go new file mode 100644 index 00000000..1a4e2a51 --- /dev/null +++ b/vendor/github.com/graph-gophers/graphql-go/types/variable.go @@ -0,0 +1,15 @@ +package types + +import "github.com/graph-gophers/graphql-go/errors" + +// Variable is used in GraphQL operations to parameterize an input value. +// +// http://spec.graphql.org/draft/#Variable +type Variable struct { + Name string + Loc errors.Location +} + +func (v Variable) Deserialize(vars map[string]interface{}) interface{} { return vars[v.Name] } +func (v Variable) String() string { return "$" + v.Name } +func (v *Variable) Location() errors.Location { return v.Loc } diff --git a/vendor/github.com/klauspost/cpuid/v2/README.md b/vendor/github.com/klauspost/cpuid/v2/README.md index 465f4b77..bc2f98f0 100644 --- a/vendor/github.com/klauspost/cpuid/v2/README.md +++ b/vendor/github.com/klauspost/cpuid/v2/README.md @@ -39,10 +39,10 @@ func main() { fmt.Println("ThreadsPerCore:", CPU.ThreadsPerCore) fmt.Println("LogicalCores:", CPU.LogicalCores) fmt.Println("Family", CPU.Family, "Model:", CPU.Model, "Vendor ID:", CPU.VendorID) - fmt.Println("Features:", fmt.Sprintf(strings.Join(CPU.FeatureSet(), ","))) + fmt.Println("Features:", strings.Join(CPU.FeatureSet(), ",")) fmt.Println("Cacheline bytes:", CPU.CacheLine) fmt.Println("L1 Data Cache:", CPU.Cache.L1D, "bytes") - fmt.Println("L1 Instruction Cache:", CPU.Cache.L1D, "bytes") + fmt.Println("L1 Instruction Cache:", CPU.Cache.L1I, "bytes") fmt.Println("L2 Cache:", CPU.Cache.L2, "bytes") fmt.Println("L3 Cache:", CPU.Cache.L3, "bytes") fmt.Println("Frequency", CPU.Hz, "hz") diff --git a/vendor/github.com/klauspost/cpuid/v2/cpuid.go b/vendor/github.com/klauspost/cpuid/v2/cpuid.go index 1d88736b..3d543ce9 100644 --- a/vendor/github.com/klauspost/cpuid/v2/cpuid.go +++ b/vendor/github.com/klauspost/cpuid/v2/cpuid.go @@ -95,10 +95,13 @@ const ( AVXSLOW // Indicates the CPU performs 2 128 bit operations instead of one. BMI1 // Bit Manipulation Instruction Set 1 BMI2 // Bit Manipulation Instruction Set 2 + CETIBT // Intel CET Indirect Branch Tracking + CETSS // Intel CET Shadow Stack CLDEMOTE // Cache Line Demote CLMUL // Carry-less Multiplication CLZERO // CLZERO instruction supported CMOV // i686 CMOV + CMPXCHG8 // CMPXCHG8 instruction CPBOOST // Core Performance Boost CX16 // CMPXCHG16B Instruction ENQCMD // Enqueue Command @@ -106,6 +109,8 @@ const ( F16C // Half-precision floating-point conversion FMA3 // Intel FMA 3. Does not imply AVX. FMA4 // Bulldozer FMA4 functions + FXSR // FXSAVE, FXRESTOR instructions, CR4 bit 9 + FXSROPT // FXSAVE/FXRSTOR optimizations GFNI // Galois Field New Instructions HLE // Hardware Lock Elision HTT // Hyperthreading (enabled) @@ -123,16 +128,19 @@ const ( IBSRIPINVALIDCHK // Instruction Based Sampling Feature (AMD) INT_WBINVD // WBINVD/WBNOINVD are interruptible. INVLPGB // NVLPGB and TLBSYNC instruction supported + LAHF // LAHF/SAHF in long mode LZCNT // LZCNT instruction MCAOVERFLOW // MCA overflow recovery support. MCOMMIT // MCOMMIT instruction supported MMX // standard MMX MMXEXT // SSE integer functions or AMD MMX ext + MOVBE // MOVBE instruction (big-endian) MOVDIR64B // Move 64 Bytes as Direct Store MOVDIRI // Move Doubleword as Direct Store MPX // Intel MPX (Memory Protection Extensions) MSRIRC // Instruction Retired Counter MSR available NX // NX (No-Execute) bit + OSXSAVE // XSAVE enabled by OS POPCNT // POPCNT instruction RDPRU // RDPRU instruction supported RDRAND // RDRAND instruction is available @@ -140,6 +148,7 @@ const ( RDTSCP // RDTSCP Instruction RTM // Restricted Transactional Memory RTM_ALWAYS_ABORT // Indicates that the loaded microcode is forcing RTM abort. + SCE // SYSENTER and SYSEXIT instructions SERIALIZE // Serialize Instruction Execution SGX // Software Guard Extensions SGXLC // Software Guard Extensions Launch Control @@ -160,7 +169,9 @@ const ( VPCLMULQDQ // Carry-Less Multiplication Quadword WAITPKG // TPAUSE, UMONITOR, UMWAIT WBNOINVD // Write Back and Do Not Invalidate Cache + X87 // FPU XOP // Bulldozer XOP functions + XSAVE // XSAVE, XRESTOR, XSETBV, XGETBV // ARM features: AESARM // AES instructions @@ -311,6 +322,31 @@ func (c CPUInfo) Has(id FeatureID) bool { return c.featureSet.inSet(id) } +// https://en.wikipedia.org/wiki/X86-64#Microarchitecture_levels +var level1Features = flagSetWith(CMOV, CMPXCHG8, X87, FXSR, MMX, SCE, SSE, SSE2) +var level2Features = flagSetWith(CMOV, CMPXCHG8, X87, FXSR, MMX, SCE, SSE, SSE2, CX16, LAHF, POPCNT, SSE3, SSE4, SSE42, SSSE3) +var level3Features = flagSetWith(CMOV, CMPXCHG8, X87, FXSR, MMX, SCE, SSE, SSE2, CX16, LAHF, POPCNT, SSE3, SSE4, SSE42, SSSE3, AVX, AVX2, BMI1, BMI2, F16C, FMA3, LZCNT, MOVBE, OSXSAVE) +var level4Features = flagSetWith(CMOV, CMPXCHG8, X87, FXSR, MMX, SCE, SSE, SSE2, CX16, LAHF, POPCNT, SSE3, SSE4, SSE42, SSSE3, AVX, AVX2, BMI1, BMI2, F16C, FMA3, LZCNT, MOVBE, OSXSAVE, AVX512F, AVX512BW, AVX512CD, AVX512DQ, AVX512VL) + +// X64Level returns the microarchitecture level detected on the CPU. +// If features are lacking or non x64 mode, 0 is returned. +// See https://en.wikipedia.org/wiki/X86-64#Microarchitecture_levels +func (c CPUInfo) X64Level() int { + if c.featureSet.hasSet(level4Features) { + return 4 + } + if c.featureSet.hasSet(level3Features) { + return 3 + } + if c.featureSet.hasSet(level2Features) { + return 2 + } + if c.featureSet.hasSet(level1Features) { + return 1 + } + return 0 +} + // Disable will disable one or several features. func (c *CPUInfo) Disable(ids ...FeatureID) bool { for _, id := range ids { @@ -335,9 +371,7 @@ func (c CPUInfo) IsVendor(v Vendor) bool { func (c CPUInfo) FeatureSet() []string { s := make([]string, 0) - for _, f := range c.featureSet.Strings() { - s = append(s, f) - } + s = append(s, c.featureSet.Strings()...) return s } @@ -499,6 +533,24 @@ func (s *flagSet) or(other flagSet) { } } +// hasSet returns whether all features are present. +func (s flagSet) hasSet(other flagSet) bool { + for i, v := range other[:] { + if s[i]&v != v { + return false + } + } + return true +} + +func flagSetWith(feat ...FeatureID) flagSet { + var res flagSet + for _, f := range feat { + res.set(f) + } + return res +} + // ParseFeature will parse the string and return the ID of the matching feature. // Will return UNKNOWN if not found. func ParseFeature(s string) FeatureID { @@ -708,6 +760,7 @@ func (c *CPUInfo) cacheSize() { if maxFunctionID() < 4 { return } + c.Cache.L1I, c.Cache.L1D, c.Cache.L2, c.Cache.L3 = 0, 0, 0, 0 for i := uint32(0); ; i++ { eax, ebx, ecx, _ := cpuidex(4, i) cacheType := eax & 15 @@ -800,8 +853,6 @@ func (c *CPUInfo) cacheSize() { } } } - - return } type SGXEPCSection struct { @@ -865,9 +916,14 @@ func support() flagSet { family, model := familyModel() _, _, c, d := cpuid(1) + fs.setIf((d&(1<<0)) != 0, X87) + fs.setIf((d&(1<<8)) != 0, CMPXCHG8) + fs.setIf((d&(1<<11)) != 0, SCE) fs.setIf((d&(1<<15)) != 0, CMOV) + fs.setIf((d&(1<<22)) != 0, MMXEXT) fs.setIf((d&(1<<23)) != 0, MMX) - fs.setIf((d&(1<<25)) != 0, MMXEXT) + fs.setIf((d&(1<<24)) != 0, FXSR) + fs.setIf((d&(1<<25)) != 0, FXSROPT) fs.setIf((d&(1<<25)) != 0, SSE) fs.setIf((d&(1<<26)) != 0, SSE2) fs.setIf((c&1) != 0, SSE3) @@ -877,6 +933,7 @@ func support() flagSet { fs.setIf((c&0x00100000) != 0, SSE42) fs.setIf((c&(1<<25)) != 0, AESNI) fs.setIf((c&(1<<1)) != 0, CLMUL) + fs.setIf(c&(1<<22) != 0, MOVBE) fs.setIf(c&(1<<23) != 0, POPCNT) fs.setIf(c&(1<<30) != 0, RDRAND) @@ -892,6 +949,8 @@ func support() flagSet { if vend == AMD && (d&(1<<28)) != 0 && mfi >= 4 { fs.setIf(threadsPerCore() > 1, HTT) } + fs.setIf(c&1<<26 != 0, XSAVE) + fs.setIf(c&1<<27 != 0, OSXSAVE) // Check XGETBV/XSAVE (26), OXSAVE (27) and AVX (28) bits const avxCheck = 1<<26 | 1<<27 | 1<<28 if c&avxCheck == avxCheck { @@ -936,6 +995,7 @@ func support() flagSet { fs.setIf(ebx&(1<<29) != 0, SHA) // CPUID.(EAX=7, ECX=0).ECX fs.setIf(ecx&(1<<5) != 0, WAITPKG) + fs.setIf(ecx&(1<<7) != 0, CETSS) fs.setIf(ecx&(1<<25) != 0, CLDEMOTE) fs.setIf(ecx&(1<<27) != 0, MOVDIRI) fs.setIf(ecx&(1<<28) != 0, MOVDIR64B) @@ -945,6 +1005,7 @@ func support() flagSet { fs.setIf(edx&(1<<11) != 0, RTM_ALWAYS_ABORT) fs.setIf(edx&(1<<14) != 0, SERIALIZE) fs.setIf(edx&(1<<16) != 0, TSXLDTRK) + fs.setIf(edx&(1<<20) != 0, CETIBT) fs.setIf(edx&(1<<26) != 0, IBPB) fs.setIf(edx&(1<<27) != 0, STIBP) @@ -996,6 +1057,7 @@ func support() flagSet { fs.set(LZCNT) fs.set(POPCNT) } + fs.setIf((c&(1<<0)) != 0, LAHF) fs.setIf((c&(1<<10)) != 0, IBS) fs.setIf((d&(1<<31)) != 0, AMD3DNOW) fs.setIf((d&(1<<30)) != 0, AMD3DNOWEXT) diff --git a/vendor/github.com/klauspost/cpuid/v2/detect_arm64.go b/vendor/github.com/klauspost/cpuid/v2/detect_arm64.go index 9bf9f77f..9a53504a 100644 --- a/vendor/github.com/klauspost/cpuid/v2/detect_arm64.go +++ b/vendor/github.com/klauspost/cpuid/v2/detect_arm64.go @@ -1,6 +1,7 @@ // Copyright (c) 2015 Klaus Post, released under MIT License. See LICENSE file. -//+build arm64,!gccgo,!noasm,!appengine +//go:build arm64 && !gccgo && !noasm && !appengine +// +build arm64,!gccgo,!noasm,!appengine package cpuid diff --git a/vendor/github.com/klauspost/cpuid/v2/detect_ref.go b/vendor/github.com/klauspost/cpuid/v2/detect_ref.go index e9c8606a..9636c2bc 100644 --- a/vendor/github.com/klauspost/cpuid/v2/detect_ref.go +++ b/vendor/github.com/klauspost/cpuid/v2/detect_ref.go @@ -1,6 +1,7 @@ // Copyright (c) 2015 Klaus Post, released under MIT License. See LICENSE file. -//+build !amd64,!386,!arm64 gccgo noasm appengine +//go:build (!amd64 && !386 && !arm64) || gccgo || noasm || appengine +// +build !amd64,!386,!arm64 gccgo noasm appengine package cpuid diff --git a/vendor/github.com/klauspost/cpuid/v2/detect_x86.go b/vendor/github.com/klauspost/cpuid/v2/detect_x86.go index 367c35c8..35678d8a 100644 --- a/vendor/github.com/klauspost/cpuid/v2/detect_x86.go +++ b/vendor/github.com/klauspost/cpuid/v2/detect_x86.go @@ -1,6 +1,7 @@ // Copyright (c) 2015 Klaus Post, released under MIT License. See LICENSE file. -//+build 386,!gccgo,!noasm,!appengine amd64,!gccgo,!noasm,!appengine +//go:build (386 && !gccgo && !noasm && !appengine) || (amd64 && !gccgo && !noasm && !appengine) +// +build 386,!gccgo,!noasm,!appengine amd64,!gccgo,!noasm,!appengine package cpuid diff --git a/vendor/github.com/klauspost/cpuid/v2/featureid_string.go b/vendor/github.com/klauspost/cpuid/v2/featureid_string.go index b1fe42e4..02fe232a 100644 --- a/vendor/github.com/klauspost/cpuid/v2/featureid_string.go +++ b/vendor/github.com/klauspost/cpuid/v2/featureid_string.go @@ -36,103 +36,114 @@ func _() { _ = x[AVXSLOW-26] _ = x[BMI1-27] _ = x[BMI2-28] - _ = x[CLDEMOTE-29] - _ = x[CLMUL-30] - _ = x[CLZERO-31] - _ = x[CMOV-32] - _ = x[CPBOOST-33] - _ = x[CX16-34] - _ = x[ENQCMD-35] - _ = x[ERMS-36] - _ = x[F16C-37] - _ = x[FMA3-38] - _ = x[FMA4-39] - _ = x[GFNI-40] - _ = x[HLE-41] - _ = x[HTT-42] - _ = x[HWA-43] - _ = x[HYPERVISOR-44] - _ = x[IBPB-45] - _ = x[IBS-46] - _ = x[IBSBRNTRGT-47] - _ = x[IBSFETCHSAM-48] - _ = x[IBSFFV-49] - _ = x[IBSOPCNT-50] - _ = x[IBSOPCNTEXT-51] - _ = x[IBSOPSAM-52] - _ = x[IBSRDWROPCNT-53] - _ = x[IBSRIPINVALIDCHK-54] - _ = x[INT_WBINVD-55] - _ = x[INVLPGB-56] - _ = x[LZCNT-57] - _ = x[MCAOVERFLOW-58] - _ = x[MCOMMIT-59] - _ = x[MMX-60] - _ = x[MMXEXT-61] - _ = x[MOVDIR64B-62] - _ = x[MOVDIRI-63] - _ = x[MPX-64] - _ = x[MSRIRC-65] - _ = x[NX-66] - _ = x[POPCNT-67] - _ = x[RDPRU-68] - _ = x[RDRAND-69] - _ = x[RDSEED-70] - _ = x[RDTSCP-71] - _ = x[RTM-72] - _ = x[RTM_ALWAYS_ABORT-73] - _ = x[SERIALIZE-74] - _ = x[SGX-75] - _ = x[SGXLC-76] - _ = x[SHA-77] - _ = x[SSE-78] - _ = x[SSE2-79] - _ = x[SSE3-80] - _ = x[SSE4-81] - _ = x[SSE42-82] - _ = x[SSE4A-83] - _ = x[SSSE3-84] - _ = x[STIBP-85] - _ = x[SUCCOR-86] - _ = x[TBM-87] - _ = x[TSXLDTRK-88] - _ = x[VAES-89] - _ = x[VMX-90] - _ = x[VPCLMULQDQ-91] - _ = x[WAITPKG-92] - _ = x[WBNOINVD-93] - _ = x[XOP-94] - _ = x[AESARM-95] - _ = x[ARMCPUID-96] - _ = x[ASIMD-97] - _ = x[ASIMDDP-98] - _ = x[ASIMDHP-99] - _ = x[ASIMDRDM-100] - _ = x[ATOMICS-101] - _ = x[CRC32-102] - _ = x[DCPOP-103] - _ = x[EVTSTRM-104] - _ = x[FCMA-105] - _ = x[FP-106] - _ = x[FPHP-107] - _ = x[GPA-108] - _ = x[JSCVT-109] - _ = x[LRCPC-110] - _ = x[PMULL-111] - _ = x[SHA1-112] - _ = x[SHA2-113] - _ = x[SHA3-114] - _ = x[SHA512-115] - _ = x[SM3-116] - _ = x[SM4-117] - _ = x[SVE-118] - _ = x[lastID-119] + _ = x[CETIBT-29] + _ = x[CETSS-30] + _ = x[CLDEMOTE-31] + _ = x[CLMUL-32] + _ = x[CLZERO-33] + _ = x[CMOV-34] + _ = x[CMPXCHG8-35] + _ = x[CPBOOST-36] + _ = x[CX16-37] + _ = x[ENQCMD-38] + _ = x[ERMS-39] + _ = x[F16C-40] + _ = x[FMA3-41] + _ = x[FMA4-42] + _ = x[FXSR-43] + _ = x[FXSROPT-44] + _ = x[GFNI-45] + _ = x[HLE-46] + _ = x[HTT-47] + _ = x[HWA-48] + _ = x[HYPERVISOR-49] + _ = x[IBPB-50] + _ = x[IBS-51] + _ = x[IBSBRNTRGT-52] + _ = x[IBSFETCHSAM-53] + _ = x[IBSFFV-54] + _ = x[IBSOPCNT-55] + _ = x[IBSOPCNTEXT-56] + _ = x[IBSOPSAM-57] + _ = x[IBSRDWROPCNT-58] + _ = x[IBSRIPINVALIDCHK-59] + _ = x[INT_WBINVD-60] + _ = x[INVLPGB-61] + _ = x[LAHF-62] + _ = x[LZCNT-63] + _ = x[MCAOVERFLOW-64] + _ = x[MCOMMIT-65] + _ = x[MMX-66] + _ = x[MMXEXT-67] + _ = x[MOVBE-68] + _ = x[MOVDIR64B-69] + _ = x[MOVDIRI-70] + _ = x[MPX-71] + _ = x[MSRIRC-72] + _ = x[NX-73] + _ = x[OSXSAVE-74] + _ = x[POPCNT-75] + _ = x[RDPRU-76] + _ = x[RDRAND-77] + _ = x[RDSEED-78] + _ = x[RDTSCP-79] + _ = x[RTM-80] + _ = x[RTM_ALWAYS_ABORT-81] + _ = x[SCE-82] + _ = x[SERIALIZE-83] + _ = x[SGX-84] + _ = x[SGXLC-85] + _ = x[SHA-86] + _ = x[SSE-87] + _ = x[SSE2-88] + _ = x[SSE3-89] + _ = x[SSE4-90] + _ = x[SSE42-91] + _ = x[SSE4A-92] + _ = x[SSSE3-93] + _ = x[STIBP-94] + _ = x[SUCCOR-95] + _ = x[TBM-96] + _ = x[TSXLDTRK-97] + _ = x[VAES-98] + _ = x[VMX-99] + _ = x[VPCLMULQDQ-100] + _ = x[WAITPKG-101] + _ = x[WBNOINVD-102] + _ = x[X87-103] + _ = x[XOP-104] + _ = x[XSAVE-105] + _ = x[AESARM-106] + _ = x[ARMCPUID-107] + _ = x[ASIMD-108] + _ = x[ASIMDDP-109] + _ = x[ASIMDHP-110] + _ = x[ASIMDRDM-111] + _ = x[ATOMICS-112] + _ = x[CRC32-113] + _ = x[DCPOP-114] + _ = x[EVTSTRM-115] + _ = x[FCMA-116] + _ = x[FP-117] + _ = x[FPHP-118] + _ = x[GPA-119] + _ = x[JSCVT-120] + _ = x[LRCPC-121] + _ = x[PMULL-122] + _ = x[SHA1-123] + _ = x[SHA2-124] + _ = x[SHA3-125] + _ = x[SHA512-126] + _ = x[SM3-127] + _ = x[SM4-128] + _ = x[SVE-129] + _ = x[lastID-130] _ = x[firstID-0] } -const _FeatureID_name = "firstIDADXAESNIAMD3DNOWAMD3DNOWEXTAMXBF16AMXINT8AMXTILEAVXAVX2AVX512BF16AVX512BITALGAVX512BWAVX512CDAVX512DQAVX512ERAVX512FAVX512FP16AVX512IFMAAVX512PFAVX512VBMIAVX512VBMI2AVX512VLAVX512VNNIAVX512VP2INTERSECTAVX512VPOPCNTDQAVXSLOWBMI1BMI2CLDEMOTECLMULCLZEROCMOVCPBOOSTCX16ENQCMDERMSF16CFMA3FMA4GFNIHLEHTTHWAHYPERVISORIBPBIBSIBSBRNTRGTIBSFETCHSAMIBSFFVIBSOPCNTIBSOPCNTEXTIBSOPSAMIBSRDWROPCNTIBSRIPINVALIDCHKINT_WBINVDINVLPGBLZCNTMCAOVERFLOWMCOMMITMMXMMXEXTMOVDIR64BMOVDIRIMPXMSRIRCNXPOPCNTRDPRURDRANDRDSEEDRDTSCPRTMRTM_ALWAYS_ABORTSERIALIZESGXSGXLCSHASSESSE2SSE3SSE4SSE42SSE4ASSSE3STIBPSUCCORTBMTSXLDTRKVAESVMXVPCLMULQDQWAITPKGWBNOINVDXOPAESARMARMCPUIDASIMDASIMDDPASIMDHPASIMDRDMATOMICSCRC32DCPOPEVTSTRMFCMAFPFPHPGPAJSCVTLRCPCPMULLSHA1SHA2SHA3SHA512SM3SM4SVElastID" +const _FeatureID_name = "firstIDADXAESNIAMD3DNOWAMD3DNOWEXTAMXBF16AMXINT8AMXTILEAVXAVX2AVX512BF16AVX512BITALGAVX512BWAVX512CDAVX512DQAVX512ERAVX512FAVX512FP16AVX512IFMAAVX512PFAVX512VBMIAVX512VBMI2AVX512VLAVX512VNNIAVX512VP2INTERSECTAVX512VPOPCNTDQAVXSLOWBMI1BMI2CETIBTCETSSCLDEMOTECLMULCLZEROCMOVCMPXCHG8CPBOOSTCX16ENQCMDERMSF16CFMA3FMA4FXSRFXSROPTGFNIHLEHTTHWAHYPERVISORIBPBIBSIBSBRNTRGTIBSFETCHSAMIBSFFVIBSOPCNTIBSOPCNTEXTIBSOPSAMIBSRDWROPCNTIBSRIPINVALIDCHKINT_WBINVDINVLPGBLAHFLZCNTMCAOVERFLOWMCOMMITMMXMMXEXTMOVBEMOVDIR64BMOVDIRIMPXMSRIRCNXOSXSAVEPOPCNTRDPRURDRANDRDSEEDRDTSCPRTMRTM_ALWAYS_ABORTSCESERIALIZESGXSGXLCSHASSESSE2SSE3SSE4SSE42SSE4ASSSE3STIBPSUCCORTBMTSXLDTRKVAESVMXVPCLMULQDQWAITPKGWBNOINVDX87XOPXSAVEAESARMARMCPUIDASIMDASIMDDPASIMDHPASIMDRDMATOMICSCRC32DCPOPEVTSTRMFCMAFPFPHPGPAJSCVTLRCPCPMULLSHA1SHA2SHA3SHA512SM3SM4SVElastID" -var _FeatureID_index = [...]uint16{0, 7, 10, 15, 23, 34, 41, 48, 55, 58, 62, 72, 84, 92, 100, 108, 116, 123, 133, 143, 151, 161, 172, 180, 190, 208, 223, 230, 234, 238, 246, 251, 257, 261, 268, 272, 278, 282, 286, 290, 294, 298, 301, 304, 307, 317, 321, 324, 334, 345, 351, 359, 370, 378, 390, 406, 416, 423, 428, 439, 446, 449, 455, 464, 471, 474, 480, 482, 488, 493, 499, 505, 511, 514, 530, 539, 542, 547, 550, 553, 557, 561, 565, 570, 575, 580, 585, 591, 594, 602, 606, 609, 619, 626, 634, 637, 643, 651, 656, 663, 670, 678, 685, 690, 695, 702, 706, 708, 712, 715, 720, 725, 730, 734, 738, 742, 748, 751, 754, 757, 763} +var _FeatureID_index = [...]uint16{0, 7, 10, 15, 23, 34, 41, 48, 55, 58, 62, 72, 84, 92, 100, 108, 116, 123, 133, 143, 151, 161, 172, 180, 190, 208, 223, 230, 234, 238, 244, 249, 257, 262, 268, 272, 280, 287, 291, 297, 301, 305, 309, 313, 317, 324, 328, 331, 334, 337, 347, 351, 354, 364, 375, 381, 389, 400, 408, 420, 436, 446, 453, 457, 462, 473, 480, 483, 489, 494, 503, 510, 513, 519, 521, 528, 534, 539, 545, 551, 557, 560, 576, 579, 588, 591, 596, 599, 602, 606, 610, 614, 619, 624, 629, 634, 640, 643, 651, 655, 658, 668, 675, 683, 686, 689, 694, 700, 708, 713, 720, 727, 735, 742, 747, 752, 759, 763, 765, 769, 772, 777, 782, 787, 791, 795, 799, 805, 808, 811, 814, 820} func (i FeatureID) String() string { if i < 0 || i >= FeatureID(len(_FeatureID_index)-1) { diff --git a/vendor/github.com/klauspost/cpuid/v2/os_other_arm64.go b/vendor/github.com/klauspost/cpuid/v2/os_other_arm64.go index 1a951e6c..8733ba34 100644 --- a/vendor/github.com/klauspost/cpuid/v2/os_other_arm64.go +++ b/vendor/github.com/klauspost/cpuid/v2/os_other_arm64.go @@ -1,8 +1,7 @@ // Copyright (c) 2020 Klaus Post, released under MIT License. See LICENSE file. -// +build arm64 -// +build !linux -// +build !darwin +//go:build arm64 && !linux && !darwin +// +build arm64,!linux,!darwin package cpuid diff --git a/vendor/github.com/klauspost/cpuid/v2/os_safe_linux_arm64.go b/vendor/github.com/klauspost/cpuid/v2/os_safe_linux_arm64.go index 4d0b8b46..f8f201b5 100644 --- a/vendor/github.com/klauspost/cpuid/v2/os_safe_linux_arm64.go +++ b/vendor/github.com/klauspost/cpuid/v2/os_safe_linux_arm64.go @@ -1,6 +1,7 @@ // Copyright (c) 2021 Klaus Post, released under MIT License. See LICENSE file. -//+build nounsafe +//go:build nounsafe +// +build nounsafe package cpuid diff --git a/vendor/github.com/klauspost/cpuid/v2/os_unsafe_linux_arm64.go b/vendor/github.com/klauspost/cpuid/v2/os_unsafe_linux_arm64.go index 32980028..92af622e 100644 --- a/vendor/github.com/klauspost/cpuid/v2/os_unsafe_linux_arm64.go +++ b/vendor/github.com/klauspost/cpuid/v2/os_unsafe_linux_arm64.go @@ -1,6 +1,7 @@ // Copyright (c) 2021 Klaus Post, released under MIT License. See LICENSE file. -//+build !nounsafe +//go:build !nounsafe +// +build !nounsafe package cpuid diff --git a/vendor/github.com/labstack/echo/v4/CHANGELOG.md b/vendor/github.com/labstack/echo/v4/CHANGELOG.md index 461ac89c..ba75d71f 100644 --- a/vendor/github.com/labstack/echo/v4/CHANGELOG.md +++ b/vendor/github.com/labstack/echo/v4/CHANGELOG.md @@ -1,5 +1,29 @@ # Changelog +## v4.7.2 - 2022-03-16 + +**Fixes** + +* Fix nil pointer exception when calling Start again after address binding error [#2131](https://github.com/labstack/echo/pull/2131) +* Fix CSRF middleware not being able to extract token from multipart/form-data form [#2136](https://github.com/labstack/echo/pull/2136) +* Fix Timeout middleware write race [#2126](https://github.com/labstack/echo/pull/2126) + +**Enhancements** + +* Recover middleware should not log panic for aborted handler [#2134](https://github.com/labstack/echo/pull/2134) + + +## v4.7.1 - 2022-03-13 + +**Fixes** + +* Fix `e.Static`, `.File()`, `c.Attachment()` being picky with paths starting with `./`, `../` and `/` after 4.7.0 introduced echo.Filesystem support (Go1.16+) [#2123](https://github.com/labstack/echo/pull/2123) + +**Enhancements** + +* Remove some unused code [#2116](https://github.com/labstack/echo/pull/2116) + + ## v4.7.0 - 2022-03-01 **Enhancements** diff --git a/vendor/github.com/labstack/echo/v4/echo.go b/vendor/github.com/labstack/echo/v4/echo.go index 143f9ffe..8829619c 100644 --- a/vendor/github.com/labstack/echo/v4/echo.go +++ b/vendor/github.com/labstack/echo/v4/echo.go @@ -246,7 +246,7 @@ const ( const ( // Version of Echo - Version = "4.7.0" + Version = "4.7.2" website = "https://echo.labstack.com" // http://patorjk.com/software/taag/#p=display&f=Small%20Slant&t=Echo banner = ` @@ -732,7 +732,7 @@ func (e *Echo) StartServer(s *http.Server) (err error) { return s.Serve(e.Listener) } -func (e *Echo) configureServer(s *http.Server) (err error) { +func (e *Echo) configureServer(s *http.Server) error { // Setup e.colorer.SetOutput(e.Logger.Output()) s.ErrorLog = e.StdLogger @@ -747,10 +747,11 @@ func (e *Echo) configureServer(s *http.Server) (err error) { if s.TLSConfig == nil { if e.Listener == nil { - e.Listener, err = newListener(s.Addr, e.ListenerNetwork) + l, err := newListener(s.Addr, e.ListenerNetwork) if err != nil { return err } + e.Listener = l } if !e.HidePort { e.colorer.Printf("⇨ http server started on %s\n", e.colorer.Green(e.Listener.Addr())) @@ -791,7 +792,7 @@ func (e *Echo) TLSListenerAddr() net.Addr { } // StartH2CServer starts a custom http/2 server with h2c (HTTP/2 Cleartext). -func (e *Echo) StartH2CServer(address string, h2s *http2.Server) (err error) { +func (e *Echo) StartH2CServer(address string, h2s *http2.Server) error { e.startupMutex.Lock() // Setup s := e.Server @@ -808,11 +809,12 @@ func (e *Echo) StartH2CServer(address string, h2s *http2.Server) (err error) { } if e.Listener == nil { - e.Listener, err = newListener(s.Addr, e.ListenerNetwork) + l, err := newListener(s.Addr, e.ListenerNetwork) if err != nil { e.startupMutex.Unlock() return err } + e.Listener = l } if !e.HidePort { e.colorer.Printf("⇨ http server started on %s\n", e.colorer.Green(e.Listener.Addr())) diff --git a/vendor/github.com/labstack/echo/v4/echo_fs_go1.16.go b/vendor/github.com/labstack/echo/v4/echo_fs_go1.16.go index 435459de..eb17768a 100644 --- a/vendor/github.com/labstack/echo/v4/echo_fs_go1.16.go +++ b/vendor/github.com/labstack/echo/v4/echo_fs_go1.16.go @@ -10,6 +10,7 @@ import ( "net/url" "os" "path/filepath" + "runtime" "strings" ) @@ -94,10 +95,12 @@ func StaticFileHandler(file string, filesystem fs.FS) HandlerFunc { } } -// defaultFS emulates os.Open behaviour with filesystem opened by `os.DirFs`. Difference between `os.Open` and `fs.Open` -// is that FS does not allow to open path that start with `..` or `/` etc. For example previously you could have `../images` -// in your application but `fs := os.DirFS("./")` would not allow you to use `fs.Open("../images")` and this would break -// all old applications that rely on being able to traverse up from current executable run path. +// defaultFS exists to preserve pre v4.7.0 behaviour where files were open by `os.Open`. +// v4.7 introduced `echo.Filesystem` field which is Go1.16+ `fs.Fs` interface. +// Difference between `os.Open` and `fs.Open` is that FS does not allow opening path that start with `.`, `..` or `/` +// etc. For example previously you could have `../images` in your application but `fs := os.DirFS("./")` would not +// allow you to use `fs.Open("../images")` and this would break all old applications that rely on being able to +// traverse up from current executable run path. // NB: private because you really should use fs.FS implementation instances type defaultFS struct { prefix string @@ -108,20 +111,26 @@ func newDefaultFS() *defaultFS { dir, _ := os.Getwd() return &defaultFS{ prefix: dir, - fs: os.DirFS(dir), + fs: nil, } } func (fs defaultFS) Open(name string) (fs.File, error) { + if fs.fs == nil { + return os.Open(name) + } return fs.fs.Open(name) } func subFS(currentFs fs.FS, root string) (fs.FS, error) { root = filepath.ToSlash(filepath.Clean(root)) // note: fs.FS operates only with slashes. `ToSlash` is necessary for Windows if dFS, ok := currentFs.(*defaultFS); ok { - // we need to make exception for `defaultFS` instances as it interprets root prefix differently from fs.FS to - // allow cases when root is given as `../somepath` which is not valid for fs.FS - root = filepath.Join(dFS.prefix, root) + // we need to make exception for `defaultFS` instances as it interprets root prefix differently from fs.FS. + // fs.Fs.Open does not like relative paths ("./", "../") and absolute paths at all but prior echo.Filesystem we + // were able to use paths like `./myfile.log`, `/etc/hosts` and these would work fine with `os.Open` but not with fs.Fs + if isRelativePath(root) { + root = filepath.Join(dFS.prefix, root) + } return &defaultFS{ prefix: root, fs: os.DirFS(root), @@ -130,6 +139,21 @@ func subFS(currentFs fs.FS, root string) (fs.FS, error) { return fs.Sub(currentFs, root) } +func isRelativePath(path string) bool { + if path == "" { + return true + } + if path[0] == '/' { + return false + } + if runtime.GOOS == "windows" && strings.IndexByte(path, ':') != -1 { + // https://docs.microsoft.com/en-us/windows/win32/fileio/naming-a-file?redirectedfrom=MSDN#file_and_directory_names + // https://docs.microsoft.com/en-us/dotnet/standard/io/file-path-formats + return false + } + return true +} + // MustSubFS creates sub FS from current filesystem or panic on failure. // Panic happens when `fsRoot` contains invalid path according to `fs.ValidPath` rules. // diff --git a/vendor/github.com/labstack/echo/v4/middleware/extractor.go b/vendor/github.com/labstack/echo/v4/middleware/extractor.go index a57ed4e1..afdfd819 100644 --- a/vendor/github.com/labstack/echo/v4/middleware/extractor.go +++ b/vendor/github.com/labstack/echo/v4/middleware/extractor.go @@ -168,8 +168,8 @@ func valuesFromCookie(name string) ValuesExtractor { // valuesFromForm returns a function that extracts values from the form field. func valuesFromForm(name string) ValuesExtractor { return func(c echo.Context) ([]string, error) { - if parseErr := c.Request().ParseForm(); parseErr != nil { - return nil, fmt.Errorf("valuesFromForm parse form failed: %w", parseErr) + if c.Request().Form == nil { + _ = c.Request().ParseMultipartForm(32 << 20) // same what `c.Request().FormValue(name)` does } values := c.Request().Form[name] if len(values) == 0 { diff --git a/vendor/github.com/labstack/echo/v4/middleware/recover.go b/vendor/github.com/labstack/echo/v4/middleware/recover.go index a621a9ef..7b612853 100644 --- a/vendor/github.com/labstack/echo/v4/middleware/recover.go +++ b/vendor/github.com/labstack/echo/v4/middleware/recover.go @@ -2,6 +2,7 @@ package middleware import ( "fmt" + "net/http" "runtime" "github.com/labstack/echo/v4" @@ -77,6 +78,9 @@ func RecoverWithConfig(config RecoverConfig) echo.MiddlewareFunc { defer func() { if r := recover(); r != nil { + if r == http.ErrAbortHandler { + panic(r) + } err, ok := r.(error) if !ok { err = fmt.Errorf("%v", r) diff --git a/vendor/github.com/labstack/echo/v4/middleware/timeout.go b/vendor/github.com/labstack/echo/v4/middleware/timeout.go index 768ef8d7..4e8836c8 100644 --- a/vendor/github.com/labstack/echo/v4/middleware/timeout.go +++ b/vendor/github.com/labstack/echo/v4/middleware/timeout.go @@ -2,10 +2,10 @@ package middleware import ( "context" + "github.com/labstack/echo/v4" "net/http" + "sync" "time" - - "github.com/labstack/echo/v4" ) // --------------------------------------------------------------------------------------------------------------- @@ -55,29 +55,27 @@ import ( // }) // -type ( - // TimeoutConfig defines the config for Timeout middleware. - TimeoutConfig struct { - // Skipper defines a function to skip middleware. - Skipper Skipper - - // ErrorMessage is written to response on timeout in addition to http.StatusServiceUnavailable (503) status code - // It can be used to define a custom timeout error message - ErrorMessage string - - // OnTimeoutRouteErrorHandler is an error handler that is executed for error that was returned from wrapped route after - // request timeouted and we already had sent the error code (503) and message response to the client. - // NB: do not write headers/body inside this handler. The response has already been sent to the client and response writer - // will not accept anything no more. If you want to know what actual route middleware timeouted use `c.Path()` - OnTimeoutRouteErrorHandler func(err error, c echo.Context) - - // Timeout configures a timeout for the middleware, defaults to 0 for no timeout - // NOTE: when difference between timeout duration and handler execution time is almost the same (in range of 100microseconds) - // the result of timeout does not seem to be reliable - could respond timeout, could respond handler output - // difference over 500microseconds (0.5millisecond) response seems to be reliable - Timeout time.Duration - } -) +// TimeoutConfig defines the config for Timeout middleware. +type TimeoutConfig struct { + // Skipper defines a function to skip middleware. + Skipper Skipper + + // ErrorMessage is written to response on timeout in addition to http.StatusServiceUnavailable (503) status code + // It can be used to define a custom timeout error message + ErrorMessage string + + // OnTimeoutRouteErrorHandler is an error handler that is executed for error that was returned from wrapped route after + // request timeouted and we already had sent the error code (503) and message response to the client. + // NB: do not write headers/body inside this handler. The response has already been sent to the client and response writer + // will not accept anything no more. If you want to know what actual route middleware timeouted use `c.Path()` + OnTimeoutRouteErrorHandler func(err error, c echo.Context) + + // Timeout configures a timeout for the middleware, defaults to 0 for no timeout + // NOTE: when difference between timeout duration and handler execution time is almost the same (in range of 100microseconds) + // the result of timeout does not seem to be reliable - could respond timeout, could respond handler output + // difference over 500microseconds (0.5millisecond) response seems to be reliable + Timeout time.Duration +} var ( // DefaultTimeoutConfig is the default Timeout middleware config. @@ -94,10 +92,17 @@ func Timeout() echo.MiddlewareFunc { return TimeoutWithConfig(DefaultTimeoutConfig) } -// TimeoutWithConfig returns a Timeout middleware with config. -// See: `Timeout()`. +// TimeoutWithConfig returns a Timeout middleware with config or panics on invalid configuration. func TimeoutWithConfig(config TimeoutConfig) echo.MiddlewareFunc { - // Defaults + mw, err := config.ToMiddleware() + if err != nil { + panic(err) + } + return mw +} + +// ToMiddleware converts Config to middleware or returns an error for invalid configuration +func (config TimeoutConfig) ToMiddleware() (echo.MiddlewareFunc, error) { if config.Skipper == nil { config.Skipper = DefaultTimeoutConfig.Skipper } @@ -108,26 +113,29 @@ func TimeoutWithConfig(config TimeoutConfig) echo.MiddlewareFunc { return next(c) } + errChan := make(chan error, 1) handlerWrapper := echoHandlerFuncWrapper{ + writer: &ignorableWriter{ResponseWriter: c.Response().Writer}, ctx: c, handler: next, - errChan: make(chan error, 1), + errChan: errChan, errHandler: config.OnTimeoutRouteErrorHandler, } handler := http.TimeoutHandler(handlerWrapper, config.Timeout, config.ErrorMessage) - handler.ServeHTTP(c.Response().Writer, c.Request()) + handler.ServeHTTP(handlerWrapper.writer, c.Request()) select { - case err := <-handlerWrapper.errChan: + case err := <-errChan: return err default: return nil } } - } + }, nil } type echoHandlerFuncWrapper struct { + writer *ignorableWriter ctx echo.Context handler echo.HandlerFunc errHandler func(err error, c echo.Context) @@ -160,23 +168,53 @@ func (t echoHandlerFuncWrapper) ServeHTTP(rw http.ResponseWriter, r *http.Reques } return // on timeout we can not send handler error to client because `http.TimeoutHandler` has already sent headers } - // we restore original writer only for cases we did not timeout. On timeout we have already sent response to client - // and should not anymore send additional headers/data - // so on timeout writer stays what http.TimeoutHandler uses and prevents writing headers/body if err != nil { - // Error must be written into Writer created in `http.TimeoutHandler` so to get Response into `commited` state. - // So call global error handler to write error to the client. This is needed or `http.TimeoutHandler` will send - // status code by itself and after that our tries to write status code will not work anymore and/or create errors in - // log about `superfluous response.WriteHeader call from` - t.ctx.Error(err) - // we pass error from handler to middlewares up in handler chain to act on it if needed. But this means that - // global error handler is probably be called twice as `t.ctx.Error` already does that. - - // NB: later call of the global error handler or middlewares will not take any effect, as echo.Response will be - // already marked as `committed` because we called global error handler above. - t.ctx.Response().Writer = originalWriter // make sure we restore before we signal original coroutine about the error + // This is needed as `http.TimeoutHandler` will write status code by itself on error and after that our tries to write + // status code will not work anymore as Echo.Response thinks it has been already "committed" and further writes + // create errors in log about `superfluous response.WriteHeader call from` + t.writer.Ignore(true) + t.ctx.Response().Writer = originalWriter // make sure we restore writer before we signal original coroutine about the error + // we pass error from handler to middlewares up in handler chain to act on it if needed. t.errChan <- err return } + // we restore original writer only for cases we did not timeout. On timeout we have already sent response to client + // and should not anymore send additional headers/data + // so on timeout writer stays what http.TimeoutHandler uses and prevents writing headers/body t.ctx.Response().Writer = originalWriter } + +// ignorableWriter is ResponseWriter implementations that allows us to mark writer to ignore further write calls. This +// is handy in cases when you do not have direct control of code being executed (3rd party middleware) but want to make +// sure that external code will not be able to write response to the client. +// Writer is coroutine safe for writes. +type ignorableWriter struct { + http.ResponseWriter + + lock sync.Mutex + ignoreWrites bool +} + +func (w *ignorableWriter) Ignore(ignore bool) { + w.lock.Lock() + w.ignoreWrites = ignore + w.lock.Unlock() +} + +func (w *ignorableWriter) WriteHeader(code int) { + w.lock.Lock() + defer w.lock.Unlock() + if w.ignoreWrites { + return + } + w.ResponseWriter.WriteHeader(code) +} + +func (w *ignorableWriter) Write(b []byte) (int, error) { + w.lock.Lock() + defer w.lock.Unlock() + if w.ignoreWrites { + return len(b), nil + } + return w.ResponseWriter.Write(b) +} diff --git a/vendor/github.com/mattermost/mattermost-server/v6/model/bulk_export.go b/vendor/github.com/mattermost/mattermost-server/v6/model/bulk_export.go new file mode 100644 index 00000000..b18c32a3 --- /dev/null +++ b/vendor/github.com/mattermost/mattermost-server/v6/model/bulk_export.go @@ -0,0 +1,13 @@ +// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved. +// See LICENSE.txt for license information. + +package model + +// ExportDataDir is the name of the directory were to store additional data +// included with the export (e.g. file attachments). +const ExportDataDir = "data" + +type BulkExportOpts struct { + IncludeAttachments bool + CreateArchive bool +} diff --git a/vendor/github.com/mattermost/mattermost-server/v6/model/channel.go b/vendor/github.com/mattermost/mattermost-server/v6/model/channel.go index dfa40347..2f353c7c 100644 --- a/vendor/github.com/mattermost/mattermost-server/v6/model/channel.go +++ b/vendor/github.com/mattermost/mattermost-server/v6/model/channel.go @@ -6,6 +6,8 @@ package model import ( "crypto/sha1" "encoding/hex" + "encoding/json" + "errors" "io" "net/http" "sort" @@ -51,11 +53,11 @@ type Channel struct { ExtraUpdateAt int64 `json:"extra_update_at"` CreatorId string `json:"creator_id"` SchemeId *string `json:"scheme_id"` - Props map[string]interface{} `json:"props" db:"-"` + Props map[string]interface{} `json:"props"` GroupConstrained *bool `json:"group_constrained"` Shared *bool `json:"shared"` TotalMsgCountRoot int64 `json:"total_msg_count_root"` - PolicyID *string `json:"policy_id" db:"-"` + PolicyID *string `json:"policy_id"` LastRootPostAt int64 `json:"last_root_post_at"` } @@ -141,6 +143,8 @@ type ChannelSearchOpts struct { Private bool Page *int PerPage *int + LastDeleteAt int + LastUpdateAt int } type ChannelMemberCountByGroup struct { @@ -157,6 +161,23 @@ func WithID(ID string) ChannelOption { } } +// The following are some GraphQL methods necessary to return the +// data in float64 type. The spec doesn't support 64 bit integers, +// so we have to pass the data in float64. The _ at the end is +// a hack to keep the attribute name same in GraphQL schema. + +func (o *Channel) CreateAt_() float64 { + return float64(o.CreateAt) +} + +func (o *Channel) UpdateAt_() float64 { + return float64(o.UpdateAt) +} + +func (o *Channel) DeleteAt_() float64 { + return float64(o.DeleteAt) +} + func (o *Channel) DeepCopy() *Channel { copy := *o if copy.SchemeId != nil { @@ -303,6 +324,24 @@ func (o *Channel) GetOtherUserIdForDM(userId string) string { return otherUserId } +func (ChannelType) ImplementsGraphQLType(name string) bool { + return name == "ChannelType" +} + +func (t ChannelType) MarshalJSON() ([]byte, error) { + return json.Marshal(string(t)) +} + +func (t *ChannelType) UnmarshalGraphQL(input interface{}) error { + chType, ok := input.(string) + if !ok { + return errors.New("wrong type") + } + + *t = ChannelType(chType) + return nil +} + func GetDMNameFromIds(userId1, userId2 string) string { if userId1 > userId2 { return userId2 + "__" + userId1 diff --git a/vendor/github.com/mattermost/mattermost-server/v6/model/channel_member.go b/vendor/github.com/mattermost/mattermost-server/v6/model/channel_member.go index 324c4f89..cf26d3ea 100644 --- a/vendor/github.com/mattermost/mattermost-server/v6/model/channel_member.go +++ b/vendor/github.com/mattermost/mattermost-server/v6/model/channel_member.go @@ -60,6 +60,31 @@ type ChannelMember struct { ExplicitRoles string `json:"explicit_roles"` } +// The following are some GraphQL methods necessary to return the +// data in float64 type. The spec doesn't support 64 bit integers, +// so we have to pass the data in float64. The _ at the end is +// a hack to keep the attribute name same in GraphQL schema. + +func (o *ChannelMember) LastViewedAt_() float64 { + return float64(o.LastViewedAt) +} + +func (o *ChannelMember) MsgCount_() float64 { + return float64(o.MsgCount) +} + +func (o *ChannelMember) MentionCount_() float64 { + return float64(o.MentionCount) +} + +func (o *ChannelMember) MentionCountRoot_() float64 { + return float64(o.MentionCountRoot) +} + +func (o *ChannelMember) LastUpdateAt_() float64 { + return float64(o.LastUpdateAt) +} + // ChannelMemberWithTeamData contains ChannelMember appended with extra team information // as well. type ChannelMemberWithTeamData struct { diff --git a/vendor/github.com/mattermost/mattermost-server/v6/model/channel_sidebar.go b/vendor/github.com/mattermost/mattermost-server/v6/model/channel_sidebar.go index fd4d44ca..e434e174 100644 --- a/vendor/github.com/mattermost/mattermost-server/v6/model/channel_sidebar.go +++ b/vendor/github.com/mattermost/mattermost-server/v6/model/channel_sidebar.go @@ -4,6 +4,8 @@ package model import ( + "encoding/json" + "errors" "regexp" ) @@ -54,6 +56,10 @@ type SidebarCategoryWithChannels struct { Channels []string `json:"channel_ids"` } +func (sc SidebarCategoryWithChannels) ChannelIds() []string { + return sc.Channels +} + type SidebarCategoryOrder []string // OrderedSidebarCategories combines categories, their channel IDs and an array of Category IDs, sorted @@ -83,3 +89,39 @@ func IsValidCategoryId(s string) bool { // Or default categories can follow the pattern {type}_{userID}_{teamID} return categoryIdPattern.MatchString(s) } + +func (SidebarCategoryType) ImplementsGraphQLType(name string) bool { + return name == "SidebarCategoryType" +} + +func (t SidebarCategoryType) MarshalJSON() ([]byte, error) { + return json.Marshal(string(t)) +} + +func (t *SidebarCategoryType) UnmarshalGraphQL(input interface{}) error { + chType, ok := input.(string) + if !ok { + return errors.New("wrong type") + } + + *t = SidebarCategoryType(chType) + return nil +} + +func (SidebarCategorySorting) ImplementsGraphQLType(name string) bool { + return name == "SidebarCategorySorting" +} + +func (t SidebarCategorySorting) MarshalJSON() ([]byte, error) { + return json.Marshal(string(t)) +} + +func (t *SidebarCategorySorting) UnmarshalGraphQL(input interface{}) error { + chType, ok := input.(string) + if !ok { + return errors.New("wrong type") + } + + *t = SidebarCategorySorting(chType) + return nil +} diff --git a/vendor/github.com/mattermost/mattermost-server/v6/model/client4.go b/vendor/github.com/mattermost/mattermost-server/v6/model/client4.go index d4213d15..beabda82 100644 --- a/vendor/github.com/mattermost/mattermost-server/v6/model/client4.go +++ b/vendor/github.com/mattermost/mattermost-server/v6/model/client4.go @@ -46,6 +46,7 @@ const ( APIURLSuffixV1 = "/api/v1" APIURLSuffixV4 = "/api/v4" + APIURLSuffixV5 = "/api/v5" APIURLSuffix = APIURLSuffixV4 ) @@ -5252,7 +5253,7 @@ func (c *Client4) GetGroupsAssociatedToChannelsByTeam(teamId string, opts GroupS // GetGroups retrieves Mattermost Groups func (c *Client4) GetGroups(opts GroupSearchOpts) ([]*Group, *Response, error) { path := fmt.Sprintf( - "%s?include_member_count=%v¬_associated_to_team=%v¬_associated_to_channel=%v&filter_allow_reference=%v&q=%v&filter_parent_team_permitted=%v", + "%s?include_member_count=%v¬_associated_to_team=%v¬_associated_to_channel=%v&filter_allow_reference=%v&q=%v&filter_parent_team_permitted=%v&group_source=%v", c.groupsRoute(), opts.IncludeMemberCount, opts.NotAssociatedToTeam, @@ -5260,6 +5261,7 @@ func (c *Client4) GetGroups(opts GroupSearchOpts) ([]*Group, *Response, error) { opts.FilterAllowReference, opts.Q, opts.FilterParentTeamPermitted, + opts.Source, ) if opts.Since > 0 { path = fmt.Sprintf("%s&since=%v", path, opts.Since) @@ -7071,6 +7073,36 @@ func (c *Client4) GetGroup(groupID, etag string) (*Group, *Response, error) { return &g, BuildResponse(r), nil } +func (c *Client4) CreateGroup(group *Group) (*Group, *Response, error) { + groupJSON, jsonErr := json.Marshal(group) + if jsonErr != nil { + return nil, nil, NewAppError("CreateGroup", "api.marshal_error", nil, jsonErr.Error(), http.StatusInternalServerError) + } + r, err := c.DoAPIPostBytes("/groups", groupJSON) + if err != nil { + return nil, BuildResponse(r), err + } + defer closeBody(r) + var p Group + if jsonErr := json.NewDecoder(r.Body).Decode(&p); jsonErr != nil { + return nil, nil, NewAppError("CreateGroup", "api.unmarshal_error", nil, jsonErr.Error(), http.StatusInternalServerError) + } + return &p, BuildResponse(r), nil +} + +func (c *Client4) DeleteGroup(groupID string) (*Group, *Response, error) { + r, err := c.DoAPIDelete(c.groupRoute(groupID)) + if err != nil { + return nil, BuildResponse(r), err + } + defer closeBody(r) + var p Group + if jsonErr := json.NewDecoder(r.Body).Decode(&p); jsonErr != nil { + return nil, nil, NewAppError("DeleteGroup", "api.unmarshal_error", nil, jsonErr.Error(), http.StatusInternalServerError) + } + return &p, BuildResponse(r), nil +} + func (c *Client4) PatchGroup(groupID string, patch *GroupPatch) (*Group, *Response, error) { payload, _ := json.Marshal(patch) r, err := c.DoAPIPut(c.groupRoute(groupID)+"/patch", string(payload)) @@ -7085,6 +7117,40 @@ func (c *Client4) PatchGroup(groupID string, patch *GroupPatch) (*Group, *Respon return &g, BuildResponse(r), nil } +func (c *Client4) UpsertGroupMembers(groupID string, userIds *GroupModifyMembers) ([]*GroupMember, *Response, error) { + payload, jsonErr := json.Marshal(userIds) + if jsonErr != nil { + return nil, nil, NewAppError("UpsertGroupMembers", "api.marshal_error", nil, jsonErr.Error(), http.StatusInternalServerError) + } + r, err := c.DoAPIPostBytes(c.groupRoute(groupID)+"/members", payload) + if err != nil { + return nil, BuildResponse(r), err + } + defer closeBody(r) + var g []*GroupMember + if jsonErr := json.NewDecoder(r.Body).Decode(&g); jsonErr != nil { + return nil, nil, NewAppError("UpsertGroupMembers", "api.unmarshal_error", nil, jsonErr.Error(), http.StatusInternalServerError) + } + return g, BuildResponse(r), nil +} + +func (c *Client4) DeleteGroupMembers(groupID string, userIds *GroupModifyMembers) ([]*GroupMember, *Response, error) { + payload, jsonErr := json.Marshal(userIds) + if jsonErr != nil { + return nil, nil, NewAppError("DeleteGroupMembers", "api.marshal_error", nil, jsonErr.Error(), http.StatusInternalServerError) + } + r, err := c.DoAPIDeleteBytes(c.groupRoute(groupID)+"/members", payload) + if err != nil { + return nil, BuildResponse(r), err + } + defer closeBody(r) + var g []*GroupMember + if jsonErr := json.NewDecoder(r.Body).Decode(&g); jsonErr != nil { + return nil, nil, NewAppError("DeleteGroupMembers", "api.unmarshal_error", nil, jsonErr.Error(), http.StatusInternalServerError) + } + return g, BuildResponse(r), nil +} + func (c *Client4) LinkGroupSyncable(groupID, syncableID string, syncableType GroupSyncableType, patch *GroupSyncablePatch) (*GroupSyncable, *Response, error) { payload, _ := json.Marshal(patch) url := fmt.Sprintf("%s/link", c.groupSyncableRoute(groupID, syncableID, syncableType)) @@ -7435,6 +7501,20 @@ func (c *Client4) MarkNoticesViewed(ids []string) (*Response, error) { return BuildResponse(r), nil } +func (c *Client4) CompleteOnboarding(request *CompleteOnboardingRequest) (*Response, error) { + buf, err := json.Marshal(request) + if err != nil { + return nil, NewAppError("CompleteOnboarding", "api.marshal_error", nil, err.Error(), http.StatusInternalServerError) + } + r, err := c.DoAPIPost(c.systemRoute()+"/onboarding/complete", string(buf)) + if err != nil { + return BuildResponse(r), err + } + defer closeBody(r) + + return BuildResponse(r), nil +} + // CreateUpload creates a new upload session. func (c *Client4) CreateUpload(us *UploadSession) (*UploadSession, *Response, error) { buf, err := json.Marshal(us) @@ -7834,3 +7914,20 @@ func (c *Client4) GetAncillaryPermissions(subsectionPermissions []string) ([]str json.NewDecoder(r.Body).Decode(&returnedPermissions) return returnedPermissions, BuildResponse(r), nil } + +func (c *Client4) GetUsersWithInvalidEmails(page, perPage int) ([]*User, *Response, error) { + query := fmt.Sprintf("/invalid_emails?page=%v&per_page=%v", page, perPage) + r, err := c.DoAPIGet(c.usersRoute()+query, "") + if err != nil { + return nil, BuildResponse(r), err + } + defer closeBody(r) + var list []*User + if r.StatusCode == http.StatusNotModified { + return list, BuildResponse(r), nil + } + if jsonErr := json.NewDecoder(r.Body).Decode(&list); jsonErr != nil { + return nil, nil, NewAppError("GetUsers", "api.unmarshal_error", nil, jsonErr.Error(), http.StatusInternalServerError) + } + return list, BuildResponse(r), nil +} diff --git a/vendor/github.com/mattermost/mattermost-server/v6/model/config.go b/vendor/github.com/mattermost/mattermost-server/v6/model/config.go index d70b06b5..04dfa4f5 100644 --- a/vendor/github.com/mattermost/mattermost-server/v6/model/config.go +++ b/vendor/github.com/mattermost/mattermost-server/v6/model/config.go @@ -114,7 +114,7 @@ const ( TeamSettingsDefaultCustomDescriptionText = "" TeamSettingsDefaultUserStatusAwayTimeout = 300 - SqlSettingsDefaultDataSource = "postgres://mmuser:mostest@localhost/mattermost_test?sslmode=disable&connect_timeout=10" + SqlSettingsDefaultDataSource = "postgres://mmuser:mostest@localhost/mattermost_test?sslmode=disable&connect_timeout=10&binary_parameters=yes" FileSettingsDefaultDirectory = "./data/" @@ -305,6 +305,7 @@ type ServiceSettings struct { EnableTesting *bool `access:"environment_developer,write_restrictable,cloud_restrictable"` EnableDeveloper *bool `access:"environment_developer,write_restrictable,cloud_restrictable"` DeveloperFlags *string `access:"environment_developer"` + EnableClientPerformanceDebugging *bool `access:"environment_developer,write_restrictable,cloud_restrictable"` EnableOpenTracing *bool `access:"write_restrictable,cloud_restrictable"` EnableSecurityFixAlert *bool `access:"environment_smtp,write_restrictable,cloud_restrictable"` EnableInsecureOutgoingConnections *bool `access:"environment_web_server,write_restrictable,cloud_restrictable"` @@ -366,6 +367,7 @@ type ServiceSettings struct { ThreadAutoFollow *bool `access:"experimental_features"` CollapsedThreads *string `access:"experimental_features"` ManagedResourcePaths *string `access:"environment_web_server,write_restrictable,cloud_restrictable"` + EnableCustomGroups *bool `access:"site_users_and_teams"` } func (s *ServiceSettings) SetDefaults(isUpdate bool) { @@ -422,6 +424,10 @@ func (s *ServiceSettings) SetDefaults(isUpdate bool) { s.DeveloperFlags = NewString("") } + if s.EnableClientPerformanceDebugging == nil { + s.EnableClientPerformanceDebugging = NewBool(false) + } + if s.EnableOpenTracing == nil { s.EnableOpenTracing = NewBool(false) } @@ -782,6 +788,10 @@ func (s *ServiceSettings) SetDefaults(isUpdate bool) { if s.ManagedResourcePaths == nil { s.ManagedResourcePaths = NewString("") } + + if s.EnableCustomGroups == nil { + s.EnableCustomGroups = NewBool(true) + } } type ClusterSettings struct { diff --git a/vendor/github.com/mattermost/mattermost-server/v6/model/custom_status.go b/vendor/github.com/mattermost/mattermost-server/v6/model/custom_status.go index 2f5084b8..74cd9240 100644 --- a/vendor/github.com/mattermost/mattermost-server/v6/model/custom_status.go +++ b/vendor/github.com/mattermost/mattermost-server/v6/model/custom_status.go @@ -8,6 +8,8 @@ import ( "encoding/json" "fmt" "time" + + "github.com/graph-gophers/graphql-go" ) const ( @@ -61,6 +63,12 @@ func (cs *CustomStatus) AreDurationAndExpirationTimeValid() bool { return false } +// ExpiresAt_ returns the time in a type that has the marshal/unmarshal methods +// attached to it. +func (cs *CustomStatus) ExpiresAt_() graphql.Time { + return graphql.Time{Time: cs.ExpiresAt} +} + func RuneToHexadecimalString(r rune) string { return fmt.Sprintf("%04x", r) } diff --git a/vendor/github.com/mattermost/mattermost-server/v6/model/emoji.go b/vendor/github.com/mattermost/mattermost-server/v6/model/emoji.go index fd0e8ab3..4b30ee43 100644 --- a/vendor/github.com/mattermost/mattermost-server/v6/model/emoji.go +++ b/vendor/github.com/mattermost/mattermost-server/v6/model/emoji.go @@ -78,9 +78,12 @@ func (emoji *Emoji) IsValid() *AppError { } func IsValidEmojiName(name string) *AppError { - if name == "" || len(name) > EmojiNameMaxLength || !IsValidAlphaNumHyphenUnderscorePlus(name) || inSystemEmoji(name) { + if name == "" || len(name) > EmojiNameMaxLength || !IsValidAlphaNumHyphenUnderscorePlus(name) { return NewAppError("Emoji.IsValid", "model.emoji.name.app_error", nil, "", http.StatusBadRequest) } + if inSystemEmoji(name) { + return NewAppError("Emoji.IsValid", "model.emoji.system_emoji_name.app_error", nil, "", http.StatusBadRequest) + } return nil } diff --git a/vendor/github.com/mattermost/mattermost-server/v6/model/feature_flags.go b/vendor/github.com/mattermost/mattermost-server/v6/model/feature_flags.go index 6998a03a..a2fe45bd 100644 --- a/vendor/github.com/mattermost/mattermost-server/v6/model/feature_flags.go +++ b/vendor/github.com/mattermost/mattermost-server/v6/model/feature_flags.go @@ -41,18 +41,12 @@ type FeatureFlags struct { // Enable the Global Header GlobalHeader bool - // Enable different team menu button treatments, possible values = ("none", "by_team_name", "inverted_sidebar_bg_color") - AddChannelButton string - // Determine whether when a user gets created, they'll have noisy notifications e.g. Send desktop notifications for all activity NewAccountNoisy bool // Enable Calls plugin support in the mobile app CallsMobile bool - // Start A/B tour tips automatically, possible values = ("none", "auto") - AutoTour string - // A dash separated list for feature flags to turn on for Boards BoardsFeatureFlags string @@ -68,6 +62,8 @@ type FeatureFlags struct { // A/B test for whether radio buttons or toggle button is more effective in in-screen invite to team modal ("none", "toggle") InviteToTeam string + CustomGroups bool + // Enable inline post editing InlinePostEditing bool @@ -75,6 +71,17 @@ type FeatureFlags struct { BoardsDataRetention bool NormalizeLdapDNs bool + + EnableInactivityCheckJob bool + + // Enable special onboarding flow for first admin + UseCaseOnboarding bool + + // Enable Workspace optimization dashboard + WorkspaceOptimizationDashboard bool + + // Enable GraphQL feature + GraphQL bool } func (f *FeatureFlags) SetDefaults() { @@ -89,20 +96,22 @@ func (f *FeatureFlags) SetDefaults() { f.PluginFocalboard = "" f.PermalinkPreviews = true f.GlobalHeader = true - f.AddChannelButton = "by_team_name" f.NewAccountNoisy = false f.CallsMobile = false - f.AutoTour = "none" f.BoardsFeatureFlags = "" f.AddMembersToChannel = "top" f.GuidedChannelCreation = false f.ResendInviteEmailInterval = "" f.InviteToTeam = "none" + f.CustomGroups = true f.InlinePostEditing = false f.BoardsDataRetention = false f.NormalizeLdapDNs = false + f.EnableInactivityCheckJob = true + f.UseCaseOnboarding = true + f.WorkspaceOptimizationDashboard = true + f.GraphQL = false } - func (f *FeatureFlags) Plugins() map[string]string { rFFVal := reflect.ValueOf(f).Elem() rFFType := reflect.TypeOf(f).Elem() diff --git a/vendor/github.com/mattermost/mattermost-server/v6/model/github_release.go b/vendor/github.com/mattermost/mattermost-server/v6/model/github_release.go new file mode 100644 index 00000000..75cc0a5f --- /dev/null +++ b/vendor/github.com/mattermost/mattermost-server/v6/model/github_release.go @@ -0,0 +1,26 @@ +// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved. +// See LICENSE.txt for license information. + +package model + +import ( + "net/http" +) + +type GithubReleaseInfo struct { + Id int `json:"id"` + TagName string `json:"tag_name"` + Name string `json:"name"` + CreatedAt string `json:"created_at"` + PublishedAt string `json:"published_at"` + Body string `json:"body"` + Url string `json:"html_url"` +} + +func (g *GithubReleaseInfo) IsValid() *AppError { + if g.Id == 0 { + return NewAppError("GithubReleaseInfo.IsValid", "model.github_release_info.is_valid.id.app_error", nil, "", http.StatusInternalServerError) + } + + return nil +} diff --git a/vendor/github.com/mattermost/mattermost-server/v6/model/group.go b/vendor/github.com/mattermost/mattermost-server/v6/model/group.go index 566b2361..428c431a 100644 --- a/vendor/github.com/mattermost/mattermost-server/v6/model/group.go +++ b/vendor/github.com/mattermost/mattermost-server/v6/model/group.go @@ -9,7 +9,8 @@ import ( ) const ( - GroupSourceLdap GroupSource = "ldap" + GroupSourceLdap GroupSource = "ldap" + GroupSourceCustom GroupSource = "custom" GroupNameMaxLength = 64 GroupSourceMaxLength = 64 @@ -22,6 +23,7 @@ type GroupSource string var allGroupSources = []GroupSource{ GroupSourceLdap, + GroupSourceCustom, } var groupSourcesRequiringRemoteID = []GroupSource{ @@ -34,7 +36,7 @@ type Group struct { DisplayName string `json:"display_name"` Description string `json:"description"` Source GroupSource `json:"source"` - RemoteId string `json:"remote_id"` + RemoteId *string `json:"remote_id"` CreateAt int64 `json:"create_at"` UpdateAt int64 `json:"update_at"` DeleteAt int64 `json:"delete_at"` @@ -43,6 +45,11 @@ type Group struct { AllowReference bool `json:"allow_reference"` } +type GroupWithUserIds struct { + Group + UserIds []string `json:"user_ids"` +} + type GroupWithSchemeAdmin struct { Group SchemeAdmin *bool `db:"SyncableSchemeAdmin" json:"scheme_admin,omitempty"` @@ -63,6 +70,8 @@ type GroupPatch struct { DisplayName *string `json:"display_name"` Description *string `json:"description"` AllowReference *bool `json:"allow_reference"` + // For security reasons (including preventing unintended LDAP group synchronization) do no allow a Group's RemoteId or Source field to be + // included in patches. } type LdapGroupSearchOpts struct { @@ -79,12 +88,21 @@ type GroupSearchOpts struct { FilterAllowReference bool PageOpts *PageOpts Since int64 + Source GroupSource // FilterParentTeamPermitted filters the groups to the intersect of the // set associated to the parent team and those returned by the query. // If the parent team is not group-constrained or if NotAssociatedToChannel // is not set then this option is ignored. FilterParentTeamPermitted bool + + // FilterHasMember filters the groups to the intersect of the + // set returned by the query and those that have the given user as a member. + FilterHasMember string +} + +type GetGroupOpts struct { + IncludeMemberCount bool } type PageOpts struct { @@ -97,6 +115,10 @@ type GroupStats struct { TotalMemberCount int64 `json:"total_member_count"` } +type GroupModifyMembers struct { + UserIds []string `json:"user_ids"` +} + func (group *Group) Patch(patch *GroupPatch) { if patch.Name != nil { group.Name = patch.Name @@ -137,7 +159,7 @@ func (group *Group) IsValidForCreate() *AppError { return NewAppError("Group.IsValidForCreate", "model.group.source.app_error", nil, "", http.StatusBadRequest) } - if len(group.RemoteId) > GroupRemoteIDMaxLength || (group.RemoteId == "" && group.requiresRemoteId()) { + if (group.GetRemoteId() == "" && group.requiresRemoteId()) || len(group.GetRemoteId()) > GroupRemoteIDMaxLength { return NewAppError("Group.IsValidForCreate", "model.group.remote_id.app_error", nil, "", http.StatusBadRequest) } @@ -188,3 +210,22 @@ func (group *Group) IsValidName() *AppError { } return nil } + +func (group *Group) GetName() string { + if group.Name == nil { + return "" + } + return *group.Name +} + +func (group *Group) GetRemoteId() string { + if group.RemoteId == nil { + return "" + } + return *group.RemoteId +} + +type GroupsWithCount struct { + Groups []*Group `json:"groups"` + TotalCount int64 `json:"total_count"` +} diff --git a/vendor/github.com/mattermost/mattermost-server/v6/model/job.go b/vendor/github.com/mattermost/mattermost-server/v6/model/job.go index e892b051..8b6272e8 100644 --- a/vendor/github.com/mattermost/mattermost-server/v6/model/job.go +++ b/vendor/github.com/mattermost/mattermost-server/v6/model/job.go @@ -78,29 +78,6 @@ func (j *Job) IsValid() *AppError { return NewAppError("Job.IsValid", "model.job.is_valid.create_at.app_error", nil, "id="+j.Id, http.StatusBadRequest) } - switch j.Type { - case JobTypeDataRetention: - case JobTypeElasticsearchPostIndexing: - case JobTypeElasticsearchPostAggregation: - case JobTypeBlevePostIndexing: - case JobTypeLdapSync: - case JobTypeMessageExport: - case JobTypeMigrations: - case JobTypePlugins: - case JobTypeProductNotices: - case JobTypeExpiryNotify: - case JobTypeActiveUsers: - case JobTypeImportProcess: - case JobTypeImportDelete: - case JobTypeExportProcess: - case JobTypeExportDelete: - case JobTypeCloud: - case JobTypeResendInvitationEmail: - case JobTypeExtractContent: - default: - return NewAppError("Job.IsValid", "model.job.is_valid.type.app_error", nil, "id="+j.Id, http.StatusBadRequest) - } - switch j.Status { case JobStatusPending: case JobStatusInProgress: @@ -119,11 +96,10 @@ type Worker interface { Run() Stop() JobChannel() chan<- Job + IsEnabled(cfg *Config) bool } type Scheduler interface { - Name() string - JobType() string Enabled(cfg *Config) bool NextScheduleTime(cfg *Config, now time.Time, pendingJobs bool, lastSuccessfulJob *Job) *time.Time ScheduleJob(cfg *Config, pendingJobs bool, lastSuccessfulJob *Job) (*Job, *AppError) diff --git a/vendor/github.com/mattermost/mattermost-server/v6/model/license.go b/vendor/github.com/mattermost/mattermost-server/v6/model/license.go index dbdc296e..c8a95305 100644 --- a/vendor/github.com/mattermost/mattermost-server/v6/model/license.go +++ b/vendor/github.com/mattermost/mattermost-server/v6/model/license.go @@ -323,6 +323,12 @@ func NewTestLicense(features ...string) *License { return ret } +func NewTestLicenseSKU(skuShortName string, features ...string) *License { + lic := NewTestLicense(features...) + lic.SkuShortName = skuShortName + return lic +} + func (lr *LicenseRecord) IsValid() *AppError { if !IsValidId(lr.Id) { return NewAppError("LicenseRecord.IsValid", "model.license_record.is_valid.id.app_error", nil, "", http.StatusBadRequest) diff --git a/vendor/github.com/mattermost/mattermost-server/v6/model/migration.go b/vendor/github.com/mattermost/mattermost-server/v6/model/migration.go index 629189bb..16172e50 100644 --- a/vendor/github.com/mattermost/mattermost-server/v6/model/migration.go +++ b/vendor/github.com/mattermost/mattermost-server/v6/model/migration.go @@ -36,4 +36,5 @@ const ( MigrationKeyAddAboutSubsectionPermissions = "about_subsection_permissions" MigrationKeyAddIntegrationsSubsectionPermissions = "integrations_subsection_permissions" MigrationKeyAddPlaybooksPermissions = "playbooks_permissions" + MigrationKeyAddCustomUserGroupsPermissions = "custom_groups_permissions" ) diff --git a/vendor/github.com/mattermost/mattermost-server/v6/model/onboarding.go b/vendor/github.com/mattermost/mattermost-server/v6/model/onboarding.go new file mode 100644 index 00000000..9c83e376 --- /dev/null +++ b/vendor/github.com/mattermost/mattermost-server/v6/model/onboarding.go @@ -0,0 +1,25 @@ +// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved. +// See LICENSE.txt for license information. + +package model + +import ( + "encoding/json" + "io" +) + +// CompleteOnboardingRequest describes parameters of the requested plugin. +type CompleteOnboardingRequest struct { + InstallPlugins []string `json:"install_plugins"` // InstallPlugins is a list of plugins to be installed +} + +// CompleteOnboardingRequest decodes a json-encoded request from the given io.Reader. +func CompleteOnboardingRequestFromReader(reader io.Reader) (*CompleteOnboardingRequest, error) { + var r *CompleteOnboardingRequest + err := json.NewDecoder(reader).Decode(&r) + if err != nil { + return nil, err + } + + return r, nil +} diff --git a/vendor/github.com/mattermost/mattermost-server/v6/model/permission.go b/vendor/github.com/mattermost/mattermost-server/v6/model/permission.go index 9a3e4aae..e8d9d2c3 100644 --- a/vendor/github.com/mattermost/mattermost-server/v6/model/permission.go +++ b/vendor/github.com/mattermost/mattermost-server/v6/model/permission.go @@ -7,6 +7,7 @@ const ( PermissionScopeSystem = "system_scope" PermissionScopeTeam = "team_scope" PermissionScopeChannel = "channel_scope" + PermissionScopeGroup = "group_scope" PermissionScopePlaybook = "playbook_scope" PermissionScopeRun = "run_scope" ) @@ -355,6 +356,11 @@ var PermissionRunView *Permission // admin functions but not others var PermissionManageSystem *Permission +var PermissionCreateCustomGroup *Permission +var PermissionManageCustomGroupMembers *Permission +var PermissionEditCustomGroup *Permission +var PermissionDeleteCustomGroup *Permission + var AllPermissions []*Permission var DeprecatedPermissions []*Permission @@ -1914,6 +1920,34 @@ func initializePermissions() { PermissionScopeSystem, } + PermissionCreateCustomGroup = &Permission{ + "create_custom_group", + "authentication.permissions.create_custom_group.name", + "authentication.permissions.create_custom_group.description", + PermissionScopeSystem, + } + + PermissionManageCustomGroupMembers = &Permission{ + "manage_custom_group_members", + "authentication.permissions.manage_custom_group_members.name", + "authentication.permissions.manage_custom_group_members.description", + PermissionScopeGroup, + } + + PermissionEditCustomGroup = &Permission{ + "edit_custom_group", + "authentication.permissions.edit_custom_group.name", + "authentication.permissions.edit_custom_group.description", + PermissionScopeGroup, + } + + PermissionDeleteCustomGroup = &Permission{ + "delete_custom_group", + "authentication.permissions.delete_custom_group.name", + "authentication.permissions.delete_custom_group.description", + PermissionScopeGroup, + } + // Playbooks PermissionPublicPlaybookCreate = &Permission{ "playbook_public_create", @@ -2200,6 +2234,7 @@ func initializePermissions() { PermissionGetLogs, PermissionReadLicenseInformation, PermissionManageLicenseInformation, + PermissionCreateCustomGroup, } TeamScopedPermissions := []*Permission{ @@ -2259,6 +2294,12 @@ func initializePermissions() { PermissionUseGroupMentions, } + GroupScopedPermissions := []*Permission{ + PermissionManageCustomGroupMembers, + PermissionEditCustomGroup, + PermissionDeleteCustomGroup, + } + DeprecatedPermissions = []*Permission{ PermissionPermanentDeleteUser, PermissionManageWebhooks, @@ -2307,6 +2348,7 @@ func initializePermissions() { AllPermissions = append(AllPermissions, ChannelScopedPermissions...) AllPermissions = append(AllPermissions, SysconsoleReadPermissions...) AllPermissions = append(AllPermissions, SysconsoleWritePermissions...) + AllPermissions = append(AllPermissions, GroupScopedPermissions...) AllPermissions = append(AllPermissions, PlaybookScopedPermissions...) AllPermissions = append(AllPermissions, RunScopedPermissions...) diff --git a/vendor/github.com/mattermost/mattermost-server/v6/model/plugin_on_install_event.go b/vendor/github.com/mattermost/mattermost-server/v6/model/plugin_on_install_event.go new file mode 100644 index 00000000..186fd5bd --- /dev/null +++ b/vendor/github.com/mattermost/mattermost-server/v6/model/plugin_on_install_event.go @@ -0,0 +1,9 @@ +// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved. +// See LICENSE.txt for license information. + +package model + +// OnInstallEvent is sent to the plugin when it gets installed. +type OnInstallEvent struct { + UserId string // The user who installed the plugin +} diff --git a/vendor/github.com/mattermost/mattermost-server/v6/model/post.go b/vendor/github.com/mattermost/mattermost-server/v6/model/post.go index 87c1f338..8736de3a 100644 --- a/vendor/github.com/mattermost/mattermost-server/v6/model/post.go +++ b/vendor/github.com/mattermost/mattermost-server/v6/model/post.go @@ -87,7 +87,7 @@ type Post struct { // MessageSource will contain the message as submitted by the user if Message has been modified // by Mattermost for presentation (e.g if an image proxy is being used). It should be used to // populate edit boxes if present. - MessageSource string `json:"message_source,omitempty" db:"-"` + MessageSource string `json:"message_source,omitempty"` Type string `json:"type"` propsMu sync.RWMutex `db:"-"` // Unexported mutex used to guard Post.Props. @@ -95,16 +95,16 @@ type Post struct { Hashtags string `json:"hashtags"` Filenames StringArray `json:"-"` // Deprecated, do not use this field any more FileIds StringArray `json:"file_ids,omitempty"` - PendingPostId string `json:"pending_post_id" db:"-"` + PendingPostId string `json:"pending_post_id"` HasReactions bool `json:"has_reactions,omitempty"` RemoteId *string `json:"remote_id,omitempty"` // Transient data populated before sending a post to the client - ReplyCount int64 `json:"reply_count" db:"-"` - LastReplyAt int64 `json:"last_reply_at" db:"-"` - Participants []*User `json:"participants" db:"-"` - IsFollowing *bool `json:"is_following,omitempty" db:"-"` // for root posts in collapsed thread mode indicates if the current user is following this thread - Metadata *PostMetadata `json:"metadata,omitempty" db:"-"` + ReplyCount int64 `json:"reply_count"` + LastReplyAt int64 `json:"last_reply_at"` + Participants []*User `json:"participants"` + IsFollowing *bool `json:"is_following,omitempty"` // for root posts in collapsed thread mode indicates if the current user is following this thread + Metadata *PostMetadata `json:"metadata,omitempty"` } type PostEphemeral struct { diff --git a/vendor/github.com/mattermost/mattermost-server/v6/model/role.go b/vendor/github.com/mattermost/mattermost-server/v6/model/role.go index 0dcb405c..37edec4f 100644 --- a/vendor/github.com/mattermost/mattermost-server/v6/model/role.go +++ b/vendor/github.com/mattermost/mattermost-server/v6/model/role.go @@ -4,6 +4,7 @@ package model import ( + "fmt" "strings" ) @@ -42,6 +43,8 @@ func init() { ChannelUserRoleId, ChannelAdminRoleId, + CustomGroupUserRoleId, + PlaybookAdminRoleId, PlaybookMemberRoleId, RunAdminRoleId, @@ -367,6 +370,8 @@ const ( ChannelUserRoleId = "channel_user" ChannelAdminRoleId = "channel_admin" + CustomGroupUserRoleId = "custom_group_user" + PlaybookAdminRoleId = "playbook_admin" PlaybookMemberRoleId = "playbook_member" RunAdminRoleId = "run_admin" @@ -379,6 +384,7 @@ const ( RoleScopeSystem RoleScope = "System" RoleScopeTeam RoleScope = "Team" RoleScopeChannel RoleScope = "Channel" + RoleScopeGroup RoleScope = "Group" RoleTypeGuest RoleType = "Guest" RoleTypeUser RoleType = "User" @@ -683,6 +689,13 @@ func IsValidRoleName(roleName string) bool { func MakeDefaultRoles() map[string]*Role { roles := make(map[string]*Role) + roles[CustomGroupUserRoleId] = &Role{ + Name: CustomGroupUserRoleId, + DisplayName: fmt.Sprintf("authentication.roles.%s.name", CustomGroupUserRoleId), + Description: fmt.Sprintf("authentication.roles.%s.description", CustomGroupUserRoleId), + Permissions: []string{}, + } + roles[ChannelGuestRoleId] = &Role{ Name: "channel_guest", DisplayName: "authentication.roles.channel_guest.name", @@ -895,6 +908,10 @@ func MakeDefaultRoles() map[string]*Role { PermissionCreateGroupChannel.Id, PermissionViewMembers.Id, PermissionCreateTeam.Id, + PermissionCreateCustomGroup.Id, + PermissionEditCustomGroup.Id, + PermissionDeleteCustomGroup.Id, + PermissionManageCustomGroupMembers.Id, }, SchemeManaged: true, BuiltIn: true, diff --git a/vendor/github.com/mattermost/mattermost-server/v6/model/status.go b/vendor/github.com/mattermost/mattermost-server/v6/model/status.go index 45a6d5d2..5a5e9425 100644 --- a/vendor/github.com/mattermost/mattermost-server/v6/model/status.go +++ b/vendor/github.com/mattermost/mattermost-server/v6/model/status.go @@ -34,6 +34,19 @@ func (s *Status) ToJSON() ([]byte, error) { return json.Marshal(sCopy) } +// The following are some GraphQL methods necessary to return the +// data in float64 type. The spec doesn't support 64 bit integers, +// so we have to pass the data in float64. The _ at the end is +// a hack to keep the attribute name same in GraphQL schema. + +func (s *Status) LastActivityAt_() float64 { + return float64(s.LastActivityAt) +} + +func (s *Status) DNDEndTime_() float64 { + return float64(s.DNDEndTime) +} + func StatusListToJSON(u []*Status) ([]byte, error) { list := make([]Status, len(u)) for i, s := range u { diff --git a/vendor/github.com/mattermost/mattermost-server/v6/model/system.go b/vendor/github.com/mattermost/mattermost-server/v6/model/system.go index c8bcaba2..b1b9ca19 100644 --- a/vendor/github.com/mattermost/mattermost-server/v6/model/system.go +++ b/vendor/github.com/mattermost/mattermost-server/v6/model/system.go @@ -30,8 +30,8 @@ const ( SystemWarnMetricNumberOfActiveUsers500 = "warn_metric_number_of_active_users_500" SystemWarnMetricNumberOfPosts2m = "warn_metric_number_of_posts_2M" SystemWarnMetricLastRunTimestampKey = "LastWarnMetricRunTimestamp" - SystemMetricSupportEmailNotConfigured = "warn_metric_support_email_not_configured" SystemFirstAdminVisitMarketplace = "FirstAdminVisitMarketplace" + SystemFirstAdminSetupComplete = "FirstAdminSetupComplete" AwsMeteringReportInterval = 1 AwsMeteringDimensionUsageHrs = "UsageHrs" UserLimitOverageCycleEndDate = "UserLimitOverageCycleEndDate" @@ -147,13 +147,6 @@ var WarnMetricsTable = map[string]WarnMetric{ IsBotOnly: false, IsRunOnce: true, }, - SystemMetricSupportEmailNotConfigured: { - Id: SystemMetricSupportEmailNotConfigured, - Limit: -1, - IsBotOnly: true, - IsRunOnce: false, - SkipAction: true, - }, } type WarnMetric struct { diff --git a/vendor/github.com/mattermost/mattermost-server/v6/model/team.go b/vendor/github.com/mattermost/mattermost-server/v6/model/team.go index d18d1620..a5aa7f94 100644 --- a/vendor/github.com/mattermost/mattermost-server/v6/model/team.go +++ b/vendor/github.com/mattermost/mattermost-server/v6/model/team.go @@ -40,7 +40,7 @@ type Team struct { LastTeamIconUpdate int64 `json:"last_team_icon_update,omitempty"` SchemeId *string `json:"scheme_id"` GroupConstrained *bool `json:"group_constrained"` - PolicyID *string `json:"policy_id" db:"-"` + PolicyID *string `json:"policy_id"` } type TeamPatch struct { diff --git a/vendor/github.com/mattermost/mattermost-server/v6/model/team_member.go b/vendor/github.com/mattermost/mattermost-server/v6/model/team_member.go index 70fd40c4..45a22803 100644 --- a/vendor/github.com/mattermost/mattermost-server/v6/model/team_member.go +++ b/vendor/github.com/mattermost/mattermost-server/v6/model/team_member.go @@ -125,3 +125,9 @@ func (o *TeamMember) PreUpdate() { func (o *TeamMember) GetRoles() []string { return strings.Fields(o.Roles) } + +// DeleteAt_ returns the deleteAt value in float64. This is necessary to work +// with GraphQL since it doesn't support 64 bit integers. +func (o *TeamMember) DeleteAt_() float64 { + return float64(o.DeleteAt) +} diff --git a/vendor/github.com/mattermost/mattermost-server/v6/model/thread.go b/vendor/github.com/mattermost/mattermost-server/v6/model/thread.go index e774e87a..89985709 100644 --- a/vendor/github.com/mattermost/mattermost-server/v6/model/thread.go +++ b/vendor/github.com/mattermost/mattermost-server/v6/model/thread.go @@ -3,11 +3,24 @@ package model +// Thread tracks the metadata associated with a root post and its reply posts. +// +// Note that Thread metadata does not exist until the first reply to a root post. type Thread struct { - PostId string `json:"id"` - ChannelId string `json:"channel_id"` - ReplyCount int64 `json:"reply_count"` - LastReplyAt int64 `json:"last_reply_at"` + // PostId is the root post of the thread. + PostId string `json:"id"` + + // ChannelId is the channel in which the thread was posted. + ChannelId string `json:"channel_id"` + + // ReplyCount is the number of replies to the thread (excluding deleted posts). + ReplyCount int64 `json:"reply_count"` + + // LastReplyAt is the timestamp of the most recent post to the thread. + LastReplyAt int64 `json:"last_reply_at"` + + // Participants is a list of user ids that have replied to the thread, sorted by the oldest + // to newest. Note that the root post author is not included in this list until they reply. Participants StringArray `json:"participants"` } @@ -62,11 +75,37 @@ func (o *Thread) Etag() string { return Etag(o.PostId, o.LastReplyAt) } +// ThreadMembership models the relationship between a user and a thread of posts, with a similar +// data structure as ChannelMembership. type ThreadMembership struct { - PostId string `json:"post_id"` - UserId string `json:"user_id"` - Following bool `json:"following"` - LastViewed int64 `json:"last_view_at"` - LastUpdated int64 `json:"last_update_at"` - UnreadMentions int64 `json:"unread_mentions"` + // PostId is the root post id of the thread in question. + PostId string `json:"post_id"` + + // UserId is the user whose membership in the thread is being tracked. + UserId string `json:"user_id"` + + // Following tracks whether the user is following the given thread. This defaults to true + // when a ThreadMembership record is created (a record doesn't exist until the user first + // starts following the thread), but the user can stop following or resume following at + // will. + Following bool `json:"following"` + + // LastUpdated is either the creation time of the membership record, or the last time the + // membership record was changed (e.g. started/stopped following, viewed thread, mention + // count change). + // + // This field is used to constrain queries of thread memberships to those updated after + // a given timestamp (e.g. on websocket reconnect). It's also used as the time column for + // deletion decisions during any configured retention policy. + LastUpdated int64 `json:"last_update_at"` + + // LastViewed is the last time the user viewed this thread. It is the thread analogue to + // the ChannelMembership's LastViewedAt and is used to decide when there are new replies + // for the user and where the user should start reading. + LastViewed int64 `json:"last_view_at"` + + // UnreadMentions is the number of unseen at-mentions for the user in the given thread. It + // is the thread analogue to the ChannelMembership's MentionCount, and is used to highlight + // threads with the mention count. + UnreadMentions int64 `json:"unread_mentions"` } diff --git a/vendor/github.com/mattermost/mattermost-server/v6/model/upload_session.go b/vendor/github.com/mattermost/mattermost-server/v6/model/upload_session.go index 994e7fb3..0fb54ce6 100644 --- a/vendor/github.com/mattermost/mattermost-server/v6/model/upload_session.go +++ b/vendor/github.com/mattermost/mattermost-server/v6/model/upload_session.go @@ -12,8 +12,9 @@ import ( type UploadType string const ( - UploadTypeAttachment UploadType = "attachment" - UploadTypeImport UploadType = "import" + UploadTypeAttachment UploadType = "attachment" + UploadTypeImport UploadType = "import" + IncompleteUploadSuffix = ".tmp" ) // UploadNoUserID is a "fake" user id used by the API layer when in local mode. diff --git a/vendor/github.com/mattermost/mattermost-server/v6/model/user.go b/vendor/github.com/mattermost/mattermost-server/v6/model/user.go index 5035f9a5..698f3377 100644 --- a/vendor/github.com/mattermost/mattermost-server/v6/model/user.go +++ b/vendor/github.com/mattermost/mattermost-server/v6/model/user.go @@ -95,13 +95,13 @@ type User struct { MfaActive bool `json:"mfa_active,omitempty"` MfaSecret string `json:"mfa_secret,omitempty"` RemoteId *string `json:"remote_id,omitempty"` - LastActivityAt int64 `db:"-" json:"last_activity_at,omitempty"` - IsBot bool `db:"-" json:"is_bot,omitempty"` - BotDescription string `db:"-" json:"bot_description,omitempty"` - BotLastIconUpdate int64 `db:"-" json:"bot_last_icon_update,omitempty"` - TermsOfServiceId string `db:"-" json:"terms_of_service_id,omitempty"` - TermsOfServiceCreateAt int64 `db:"-" json:"terms_of_service_create_at,omitempty"` - DisableWelcomeEmail bool `db:"-" json:"disable_welcome_email"` + LastActivityAt int64 `json:"last_activity_at,omitempty"` + IsBot bool `json:"is_bot,omitempty"` + BotDescription string `json:"bot_description,omitempty"` + BotLastIconUpdate int64 `json:"bot_last_icon_update,omitempty"` + TermsOfServiceId string `json:"terms_of_service_id,omitempty"` + TermsOfServiceCreateAt int64 `json:"terms_of_service_create_at,omitempty"` + DisableWelcomeEmail bool `json:"disable_welcome_email"` } //msgp UserMap @@ -409,6 +409,23 @@ func (u *User) PreSave() { } } +// The following are some GraphQL methods necessary to return the +// data in float64 type. The spec doesn't support 64 bit integers, +// so we have to pass the data in float64. The _ at the end is +// a hack to keep the attribute name same in GraphQL schema. + +func (u *User) CreateAt_() float64 { + return float64(u.CreateAt) +} + +func (u *User) DeleteAt_() float64 { + return float64(u.DeleteAt) +} + +func (u *User) LastPictureUpdateAt() float64 { + return float64(u.LastPictureUpdate) +} + // PreUpdate should be run before updating the user in the db. func (u *User) PreUpdate() { u.Username = SanitizeUnicode(u.Username) @@ -630,6 +647,15 @@ func (u *User) GetCustomStatus() *CustomStatus { return o } +func (u *User) CustomStatus() *CustomStatus { + var o *CustomStatus + + data := u.Props[UserPropsKeyCustomStatus] + _ = json.Unmarshal([]byte(data), &o) + + return o +} + func (u *User) ClearCustomStatus() { u.MakeNonNil() u.Props[UserPropsKeyCustomStatus] = "" diff --git a/vendor/github.com/mattermost/mattermost-server/v6/model/user_get.go b/vendor/github.com/mattermost/mattermost-server/v6/model/user_get.go index 2748d735..0ba62f3f 100644 --- a/vendor/github.com/mattermost/mattermost-server/v6/model/user_get.go +++ b/vendor/github.com/mattermost/mattermost-server/v6/model/user_get.go @@ -14,6 +14,8 @@ type UserGetOptions struct { NotInChannelId string // Filters the users in the group InGroupId string + // Filters the users not in the group + NotInGroupId string // Filters the users group constrained GroupConstrained bool // Filters the users without a team diff --git a/vendor/github.com/mattermost/mattermost-server/v6/model/user_search.go b/vendor/github.com/mattermost/mattermost-server/v6/model/user_search.go index 93bf6009..d0480fe5 100644 --- a/vendor/github.com/mattermost/mattermost-server/v6/model/user_search.go +++ b/vendor/github.com/mattermost/mattermost-server/v6/model/user_search.go @@ -22,6 +22,7 @@ type UserSearch struct { Roles []string `json:"roles"` ChannelRoles []string `json:"channel_roles"` TeamRoles []string `json:"team_roles"` + NotInGroupId string `json:"not_in_group_id"` } // UserSearchOptions captures internal parameters derived from the user's permissions and a diff --git a/vendor/github.com/mattermost/mattermost-server/v6/model/utils.go b/vendor/github.com/mattermost/mattermost-server/v6/model/utils.go index c88d9100..4a6f633e 100644 --- a/vendor/github.com/mattermost/mattermost-server/v6/model/utils.go +++ b/vendor/github.com/mattermost/mattermost-server/v6/model/utils.go @@ -132,6 +132,24 @@ func (m StringMap) Value() (driver.Value, error) { return string(j), err } +func (StringMap) ImplementsGraphQLType(name string) bool { + return name == "StringMap" +} + +func (m StringMap) MarshalJSON() ([]byte, error) { + return json.Marshal((map[string]string)(m)) +} + +func (m *StringMap) UnmarshalGraphQL(input interface{}) error { + json, ok := input.(map[string]string) + if !ok { + return errors.New("wrong type") + } + + *m = json + return nil +} + func (si *StringInterface) Scan(value interface{}) error { if value == nil { return nil diff --git a/vendor/github.com/mattermost/mattermost-server/v6/model/version.go b/vendor/github.com/mattermost/mattermost-server/v6/model/version.go index 673d4be9..144b0303 100644 --- a/vendor/github.com/mattermost/mattermost-server/v6/model/version.go +++ b/vendor/github.com/mattermost/mattermost-server/v6/model/version.go @@ -13,8 +13,7 @@ import ( // It should be maintained in chronological order with most current // release at the front of the list. var versions = []string{ - "6.4.2", - "6.4.1", + "6.5.0", "6.4.0", "6.3.0", "6.2.0", diff --git a/vendor/github.com/mattermost/mattermost-server/v6/model/websocket_message.go b/vendor/github.com/mattermost/mattermost-server/v6/model/websocket_message.go index 8827a001..38e42bb2 100644 --- a/vendor/github.com/mattermost/mattermost-server/v6/model/websocket_message.go +++ b/vendor/github.com/mattermost/mattermost-server/v6/model/websocket_message.go @@ -62,6 +62,8 @@ const ( WebsocketEventReceivedGroupNotAssociatedToTeam = "received_group_not_associated_to_team" WebsocketEventReceivedGroupAssociatedToChannel = "received_group_associated_to_channel" WebsocketEventReceivedGroupNotAssociatedToChannel = "received_group_not_associated_to_channel" + WebsocketEventGroupMemberDelete = "group_member_deleted" + WebsocketEventGroupMemberAdd = "group_member_add" WebsocketEventSidebarCategoryCreated = "sidebar_category_created" WebsocketEventSidebarCategoryUpdated = "sidebar_category_updated" WebsocketEventSidebarCategoryDeleted = "sidebar_category_deleted" @@ -88,6 +90,9 @@ type WebsocketBroadcast struct { TeamId string `json:"team_id"` // broadcast only occurs for users in this team ContainsSanitizedData bool `json:"-"` ContainsSensitiveData bool `json:"-"` + // ReliableClusterSend indicates whether or not the message should + // be sent through the cluster using the reliable, TCP backed channel. + ReliableClusterSend bool `json:"-"` } func (wb *WebsocketBroadcast) copy() *WebsocketBroadcast { diff --git a/vendor/github.com/mattermost/mattermost-server/v6/shared/mlog/graphql.go b/vendor/github.com/mattermost/mattermost-server/v6/shared/mlog/graphql.go new file mode 100644 index 00000000..a09e0699 --- /dev/null +++ b/vendor/github.com/mattermost/mattermost-server/v6/shared/mlog/graphql.go @@ -0,0 +1,23 @@ +// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved. +// See LICENSE.txt for license information. + +package mlog + +import ( + "context" +) + +// GraphQLLogger is used to log panics that occur during query execution. +type GraphQLLogger struct { + logger *Logger +} + +func NewGraphQLLogger(logger *Logger) *GraphQLLogger { + return &GraphQLLogger{logger: logger} +} + +// LogPanic satisfies the graphql/log.Logger interface. +// It converts the panic into an error. +func (l *GraphQLLogger) LogPanic(_ context.Context, value interface{}) { + l.logger.Error("Error while executing GraphQL query", Any("error", value)) +} diff --git a/vendor/github.com/minio/minio-go/v7/CONTRIBUTING.md b/vendor/github.com/minio/minio-go/v7/CONTRIBUTING.md index 8b1ee86c..24522ef7 100644 --- a/vendor/github.com/minio/minio-go/v7/CONTRIBUTING.md +++ b/vendor/github.com/minio/minio-go/v7/CONTRIBUTING.md @@ -1,4 +1,3 @@ - ### Developer Guidelines ``minio-go`` welcomes your contribution. To make the process as seamless as possible, we ask for the following: diff --git a/vendor/github.com/minio/minio-go/v7/README.md b/vendor/github.com/minio/minio-go/v7/README.md index 3ba174f4..211dd5e8 100644 --- a/vendor/github.com/minio/minio-go/v7/README.md +++ b/vendor/github.com/minio/minio-go/v7/README.md @@ -8,7 +8,7 @@ This document assumes that you have a working [Go development environment](https ## Download from Github ```sh -GO111MODULE=on go get github.com/minio/minio-go/v7 +go get github.com/minio/minio-go/v7 ``` ## Initialize MinIO Client @@ -115,7 +115,6 @@ func main() { ### Run FileUploader ```sh -export GO111MODULE=on go run file-uploader.go 2016/08/13 17:03:28 Successfully created mymusic 2016/08/13 17:03:40 Successfully uploaded golden-oldies.zip of size 16253413 diff --git a/vendor/github.com/minio/minio-go/v7/api-error-response.go b/vendor/github.com/minio/minio-go/v7/api-error-response.go index 39df7eec..dd781cae 100644 --- a/vendor/github.com/minio/minio-go/v7/api-error-response.go +++ b/vendor/github.com/minio/minio-go/v7/api-error-response.go @@ -47,6 +47,7 @@ type ErrorResponse struct { Message string BucketName string Key string + Resource string RequestID string `xml:"RequestId"` HostID string `xml:"HostId"` diff --git a/vendor/github.com/minio/minio-go/v7/api-get-object-acl.go b/vendor/github.com/minio/minio-go/v7/api-get-object-acl.go index b1291b6b..9041d99e 100644 --- a/vendor/github.com/minio/minio-go/v7/api-get-object-acl.go +++ b/vendor/github.com/minio/minio-go/v7/api-get-object-acl.go @@ -47,8 +47,9 @@ type AccessControlList struct { } type accessControlPolicy struct { - Owner - AccessControlList + XMLName xml.Name `xml:"AccessControlPolicy"` + Owner Owner + AccessControlList AccessControlList } // GetObjectACL get object ACLs diff --git a/vendor/github.com/minio/minio-go/v7/api-get-object.go b/vendor/github.com/minio/minio-go/v7/api-get-object.go index b9b96025..2ce4b260 100644 --- a/vendor/github.com/minio/minio-go/v7/api-get-object.go +++ b/vendor/github.com/minio/minio-go/v7/api-get-object.go @@ -24,6 +24,7 @@ import ( "io" "net/http" "net/url" + "strconv" "sync" "github.com/minio/minio-go/v7/pkg/s3utils" @@ -652,6 +653,9 @@ func (c *Client) getObject(ctx context.Context, bucketName, objectName string, o if opts.VersionID != "" { urlValues.Set("versionId", opts.VersionID) } + if opts.PartNumber > 0 { + urlValues.Set("partNumber", strconv.Itoa(opts.PartNumber)) + } // Execute GET on objectName. resp, err := c.executeMethod(ctx, http.MethodGet, requestMetadata{ diff --git a/vendor/github.com/minio/minio-go/v7/api-get-options.go b/vendor/github.com/minio/minio-go/v7/api-get-options.go index 0be858d1..184ef9f8 100644 --- a/vendor/github.com/minio/minio-go/v7/api-get-options.go +++ b/vendor/github.com/minio/minio-go/v7/api-get-options.go @@ -37,6 +37,7 @@ type GetObjectOptions struct { headers map[string]string ServerSideEncryption encrypt.ServerSide VersionID string + PartNumber int // To be not used by external applications Internal AdvancedGetOptions } diff --git a/vendor/github.com/minio/minio-go/v7/api-put-object.go b/vendor/github.com/minio/minio-go/v7/api-put-object.go index fb61b407..e8a964e2 100644 --- a/vendor/github.com/minio/minio-go/v7/api-put-object.go +++ b/vendor/github.com/minio/minio-go/v7/api-put-object.go @@ -214,13 +214,20 @@ func (a completedParts) Less(i, j int) bool { return a[i].PartNumber < a[j].Part // // You must have WRITE permissions on a bucket to create an object. // -// - For size smaller than 128MiB PutObject automatically does a -// single atomic Put operation. -// - For size larger than 128MiB PutObject automatically does a -// multipart Put operation. +// - For size smaller than 16MiB PutObject automatically does a +// single atomic PUT operation. +// +// - For size larger than 16MiB PutObject automatically does a +// multipart upload operation. +// // - For size input as -1 PutObject does a multipart Put operation // until input stream reaches EOF. Maximum object size that can // be uploaded through this operation will be 5TiB. +// +// WARNING: Passing down '-1' will use memory and these cannot +// be reused for best outcomes for PutObject(), pass the size always. +// +// NOTE: Upon errors during upload multipart operation is entirely aborted. func (c *Client) PutObject(ctx context.Context, bucketName, objectName string, reader io.Reader, objectSize int64, opts PutObjectOptions) (info UploadInfo, err error) { if objectSize < 0 && opts.DisableMultipart { diff --git a/vendor/github.com/minio/minio-go/v7/api-remove.go b/vendor/github.com/minio/minio-go/v7/api-remove.go index fd3f1e12..0fee9022 100644 --- a/vendor/github.com/minio/minio-go/v7/api-remove.go +++ b/vendor/github.com/minio/minio-go/v7/api-remove.go @@ -136,11 +136,11 @@ func (c *Client) RemoveObject(ctx context.Context, bucketName, objectName string return err } - return c.removeObject(ctx, bucketName, objectName, opts) + res := c.removeObject(ctx, bucketName, objectName, opts) + return res.Err } -func (c *Client) removeObject(ctx context.Context, bucketName, objectName string, opts RemoveObjectOptions) error { - +func (c *Client) removeObject(ctx context.Context, bucketName, objectName string, opts RemoveObjectOptions) RemoveObjectResult { // Get resources properly escaped and lined up before // using them in http request. urlValues := make(url.Values) @@ -181,19 +181,25 @@ func (c *Client) removeObject(ctx context.Context, bucketName, objectName string }) defer closeResponse(resp) if err != nil { - return err + return RemoveObjectResult{Err: err} } if resp != nil { // if some unexpected error happened and max retry is reached, we want to let client know if resp.StatusCode != http.StatusNoContent { - return httpRespToErrorResponse(resp, bucketName, objectName) + err := httpRespToErrorResponse(resp, bucketName, objectName) + return RemoveObjectResult{Err: err} } } // DeleteObject always responds with http '204' even for // objects which do not exist. So no need to handle them // specifically. - return nil + return RemoveObjectResult{ + ObjectName: objectName, + ObjectVersionID: opts.VersionID, + DeleteMarker: resp.Header.Get("x-amz-delete-marker") == "true", + DeleteMarkerVersionID: resp.Header.Get("x-amz-version-id"), + } } // RemoveObjectError - container of Multi Delete S3 API error @@ -203,6 +209,17 @@ type RemoveObjectError struct { Err error } +// RemoveObjectResult - container of Multi Delete S3 API result +type RemoveObjectResult struct { + ObjectName string + ObjectVersionID string + + DeleteMarker bool + DeleteMarkerVersionID string + + Err error +} + // generateRemoveMultiObjects - generate the XML request for remove multi objects request func generateRemoveMultiObjectsRequest(objects []ObjectInfo) []byte { delObjects := []deleteObject{} @@ -212,21 +229,32 @@ func generateRemoveMultiObjectsRequest(objects []ObjectInfo) []byte { VersionID: obj.VersionID, }) } - xmlBytes, _ := xml.Marshal(deleteMultiObjects{Objects: delObjects, Quiet: true}) + xmlBytes, _ := xml.Marshal(deleteMultiObjects{Objects: delObjects, Quiet: false}) return xmlBytes } // processRemoveMultiObjectsResponse - parse the remove multi objects web service // and return the success/failure result status for each object -func processRemoveMultiObjectsResponse(body io.Reader, objects []ObjectInfo, errorCh chan<- RemoveObjectError) { +func processRemoveMultiObjectsResponse(body io.Reader, objects []ObjectInfo, resultCh chan<- RemoveObjectResult) { // Parse multi delete XML response rmResult := &deleteMultiObjectsResult{} err := xmlDecoder(body, rmResult) if err != nil { - errorCh <- RemoveObjectError{ObjectName: "", Err: err} + resultCh <- RemoveObjectResult{ObjectName: "", Err: err} return } + // Fill deletion that returned success + for _, obj := range rmResult.DeletedObjects { + resultCh <- RemoveObjectResult{ + ObjectName: obj.Key, + // Only filled with versioned buckets + ObjectVersionID: obj.VersionID, + DeleteMarker: obj.DeleteMarker, + DeleteMarkerVersionID: obj.DeleteMarkerVersionID, + } + } + // Fill deletion that returned an error. for _, obj := range rmResult.UnDeletedObjects { // Version does not exist is not an error ignore and continue. @@ -234,9 +262,9 @@ func processRemoveMultiObjectsResponse(body io.Reader, objects []ObjectInfo, err case "InvalidArgument", "NoSuchVersion": continue } - errorCh <- RemoveObjectError{ - ObjectName: obj.Key, - VersionID: obj.VersionID, + resultCh <- RemoveObjectResult{ + ObjectName: obj.Key, + ObjectVersionID: obj.VersionID, Err: ErrorResponse{ Code: obj.Code, Message: obj.Message, @@ -273,10 +301,54 @@ func (c *Client) RemoveObjects(ctx context.Context, bucketName string, objectsCh return errorCh } - go c.removeObjects(ctx, bucketName, objectsCh, errorCh, opts) + resultCh := make(chan RemoveObjectResult, 1) + go c.removeObjects(ctx, bucketName, objectsCh, resultCh, opts) + go func() { + defer close(errorCh) + for res := range resultCh { + // Send only errors to the error channel + if res.Err == nil { + continue + } + errorCh <- RemoveObjectError{ + ObjectName: res.ObjectName, + VersionID: res.ObjectVersionID, + Err: res.Err, + } + } + }() + return errorCh } +// RemoveObjectsWithResult removes multiple objects from a bucket while +// it is possible to specify objects versions which are received from +// objectsCh. Remove results, successes and failures are sent back via +// RemoveObjectResult channel +func (c *Client) RemoveObjectsWithResult(ctx context.Context, bucketName string, objectsCh <-chan ObjectInfo, opts RemoveObjectsOptions) <-chan RemoveObjectResult { + resultCh := make(chan RemoveObjectResult, 1) + + // Validate if bucket name is valid. + if err := s3utils.CheckValidBucketName(bucketName); err != nil { + defer close(resultCh) + resultCh <- RemoveObjectResult{ + Err: err, + } + return resultCh + } + // Validate objects channel to be properly allocated. + if objectsCh == nil { + defer close(resultCh) + resultCh <- RemoveObjectResult{ + Err: errInvalidArgument("Objects channel cannot be nil"), + } + return resultCh + } + + go c.removeObjects(ctx, bucketName, objectsCh, resultCh, opts) + return resultCh +} + // Return true if the character is within the allowed characters in an XML 1.0 document // The list of allowed characters can be found here: https://www.w3.org/TR/xml/#charsets func validXMLChar(r rune) (ok bool) { @@ -298,14 +370,14 @@ func hasInvalidXMLChar(str string) bool { } // Generate and call MultiDelete S3 requests based on entries received from objectsCh -func (c *Client) removeObjects(ctx context.Context, bucketName string, objectsCh <-chan ObjectInfo, errorCh chan<- RemoveObjectError, opts RemoveObjectsOptions) { +func (c *Client) removeObjects(ctx context.Context, bucketName string, objectsCh <-chan ObjectInfo, resultCh chan<- RemoveObjectResult, opts RemoveObjectsOptions) { maxEntries := 1000 finish := false urlValues := make(url.Values) urlValues.Set("delete", "") - // Close error channel when Multi delete finishes. - defer close(errorCh) + // Close result channel when Multi delete finishes. + defer close(resultCh) // Loop over entries by 1000 and call MultiDelete requests for { @@ -319,22 +391,20 @@ func (c *Client) removeObjects(ctx context.Context, bucketName string, objectsCh for object := range objectsCh { if hasInvalidXMLChar(object.Key) { // Use single DELETE so the object name will be in the request URL instead of the multi-delete XML document. - err := c.removeObject(ctx, bucketName, object.Key, RemoveObjectOptions{ + removeResult := c.removeObject(ctx, bucketName, object.Key, RemoveObjectOptions{ VersionID: object.VersionID, GovernanceBypass: opts.GovernanceBypass, }) - if err != nil { + if err := removeResult.Err; err != nil { // Version does not exist is not an error ignore and continue. switch ToErrorResponse(err).Code { case "InvalidArgument", "NoSuchVersion": continue } - errorCh <- RemoveObjectError{ - ObjectName: object.Key, - VersionID: object.VersionID, - Err: err, - } + resultCh <- removeResult } + + resultCh <- removeResult continue } @@ -374,22 +444,22 @@ func (c *Client) removeObjects(ctx context.Context, bucketName string, objectsCh if resp != nil { if resp.StatusCode != http.StatusOK { e := httpRespToErrorResponse(resp, bucketName, "") - errorCh <- RemoveObjectError{ObjectName: "", Err: e} + resultCh <- RemoveObjectResult{ObjectName: "", Err: e} } } if err != nil { for _, b := range batch { - errorCh <- RemoveObjectError{ - ObjectName: b.Key, - VersionID: b.VersionID, - Err: err, + resultCh <- RemoveObjectResult{ + ObjectName: b.Key, + ObjectVersionID: b.VersionID, + Err: err, } } continue } // Process multiobjects remove xml response - processRemoveMultiObjectsResponse(resp.Body, batch, errorCh) + processRemoveMultiObjectsResponse(resp.Body, batch, resultCh) closeResponse(resp) } diff --git a/vendor/github.com/minio/minio-go/v7/api-s3-datatypes.go b/vendor/github.com/minio/minio-go/v7/api-s3-datatypes.go index 948f8a74..592d4cdc 100644 --- a/vendor/github.com/minio/minio-go/v7/api-s3-datatypes.go +++ b/vendor/github.com/minio/minio-go/v7/api-s3-datatypes.go @@ -335,7 +335,7 @@ type deletedObject struct { VersionID string `xml:"VersionId,omitempty"` // These fields are ignored. DeleteMarker bool - DeleteMarkerVersionID string + DeleteMarkerVersionID string `xml:"DeleteMarkerVersionId,omitempty"` } // nonDeletedObject container for Error element (failed deletion) in MultiObjects Delete XML response diff --git a/vendor/github.com/minio/minio-go/v7/api.go b/vendor/github.com/minio/minio-go/v7/api.go index b5eaa690..357cd1b4 100644 --- a/vendor/github.com/minio/minio-go/v7/api.go +++ b/vendor/github.com/minio/minio-go/v7/api.go @@ -111,7 +111,7 @@ type Options struct { // Global constants. const ( libraryName = "minio-go" - libraryVersion = "v7.0.16" + libraryVersion = "v7.0.21" ) // User Agent should always following the below style. @@ -182,67 +182,6 @@ func (r *lockedRandSource) Seed(seed int64) { r.lk.Unlock() } -// Redirect requests by re signing the request. -func (c *Client) redirectHeaders(req *http.Request, via []*http.Request) error { - if len(via) >= 5 { - return errors.New("stopped after 5 redirects") - } - if len(via) == 0 { - return nil - } - lastRequest := via[len(via)-1] - var reAuth bool - for attr, val := range lastRequest.Header { - // if hosts do not match do not copy Authorization header - if attr == "Authorization" && req.Host != lastRequest.Host { - reAuth = true - continue - } - if _, ok := req.Header[attr]; !ok { - req.Header[attr] = val - } - } - - *c.endpointURL = *req.URL - - value, err := c.credsProvider.Get() - if err != nil { - return err - } - var ( - signerType = value.SignerType - accessKeyID = value.AccessKeyID - secretAccessKey = value.SecretAccessKey - sessionToken = value.SessionToken - region = c.region - ) - - // Custom signer set then override the behavior. - if c.overrideSignerType != credentials.SignatureDefault { - signerType = c.overrideSignerType - } - - // If signerType returned by credentials helper is anonymous, - // then do not sign regardless of signerType override. - if value.SignerType == credentials.SignatureAnonymous { - signerType = credentials.SignatureAnonymous - } - - if reAuth { - // Check if there is no region override, if not get it from the URL if possible. - if region == "" { - region = s3utils.GetRegionFromURL(*c.endpointURL) - } - switch { - case signerType.IsV2(): - return errors.New("signature V2 cannot support redirection") - case signerType.IsV4(): - signer.SignV4(*req, accessKeyID, secretAccessKey, sessionToken, getDefaultLocation(*c.endpointURL, region)) - } - } - return nil -} - func privateNew(endpoint string, opts *Options) (*Client, error) { // construct endpoint. endpointURL, err := getEndpointURL(endpoint, opts.Secure) @@ -279,9 +218,11 @@ func privateNew(endpoint string, opts *Options) (*Client, error) { // Instantiate http client and bucket location cache. clnt.httpClient = &http.Client{ - Jar: jar, - Transport: transport, - CheckRedirect: clnt.redirectHeaders, + Jar: jar, + Transport: transport, + CheckRedirect: func(req *http.Request, via []*http.Request) error { + return http.ErrUseLastResponse + }, } // Sets custom region, if region is empty bucket location cache is used automatically. @@ -917,8 +858,8 @@ func (c *Client) makeTargetURL(bucketName, objectName, bucketLocation string, is // http://docs.aws.amazon.com/AmazonS3/latest/dev/transfer-acceleration.html host = c.s3AccelerateEndpoint } else { - // Do not change the host if the endpoint URL is a FIPS S3 endpoint. - if !s3utils.IsAmazonFIPSEndpoint(*c.endpointURL) { + // Do not change the host if the endpoint URL is a FIPS S3 endpoint or a S3 PrivateLink interface endpoint + if !s3utils.IsAmazonFIPSEndpoint(*c.endpointURL) && !s3utils.IsAmazonPrivateLinkEndpoint(*c.endpointURL) { // Fetch new host based on the bucket location. host = getS3Endpoint(bucketLocation) } diff --git a/vendor/github.com/minio/minio-go/v7/functional_tests.go b/vendor/github.com/minio/minio-go/v7/functional_tests.go index b8950dd2..413b63e5 100644 --- a/vendor/github.com/minio/minio-go/v7/functional_tests.go +++ b/vendor/github.com/minio/minio-go/v7/functional_tests.go @@ -1,3 +1,4 @@ +//go:build mint // +build mint /* @@ -2627,6 +2628,138 @@ func testRemoveMultipleObjects() { successLogger(testName, function, args, startTime).Info() } +// Test removing multiple objects and check for results +func testRemoveMultipleObjectsWithResult() { + // initialize logging params + startTime := time.Now() + testName := getFuncName() + function := "RemoveObjects(bucketName, objectsCh)" + args := map[string]interface{}{ + "bucketName": "", + } + + // Seed random based on current time. + rand.Seed(time.Now().Unix()) + + // Instantiate new minio client object. + c, err := minio.New(os.Getenv(serverEndpoint), + &minio.Options{ + Creds: credentials.NewStaticV4(os.Getenv(accessKey), os.Getenv(secretKey), ""), + Secure: mustParseBool(os.Getenv(enableHTTPS)), + }) + if err != nil { + logError(testName, function, args, startTime, "", "MinIO client object creation failed", err) + return + } + + // Set user agent. + c.SetAppInfo("MinIO-go-FunctionalTest", "0.1.0") + + // Enable tracing, write to stdout. + // c.TraceOn(os.Stderr) + + // Generate a new random bucket name. + bucketName := randString(60, rand.NewSource(time.Now().UnixNano()), "minio-go-test-") + args["bucketName"] = bucketName + + // Make a new bucket. + err = c.MakeBucket(context.Background(), bucketName, minio.MakeBucketOptions{Region: "us-east-1", ObjectLocking: true}) + if err != nil { + logError(testName, function, args, startTime, "", "MakeBucket failed", err) + return + } + + defer cleanupVersionedBucket(bucketName, c) + + r := bytes.NewReader(bytes.Repeat([]byte("a"), 8)) + + nrObjects := 10 + nrLockedObjects := 5 + + objectsCh := make(chan minio.ObjectInfo) + + go func() { + defer close(objectsCh) + // Upload objects and send them to objectsCh + for i := 0; i < nrObjects; i++ { + objectName := "sample" + strconv.Itoa(i) + ".txt" + info, err := c.PutObject(context.Background(), bucketName, objectName, r, 8, + minio.PutObjectOptions{ContentType: "application/octet-stream"}) + if err != nil { + logError(testName, function, args, startTime, "", "PutObject failed", err) + return + } + if i < nrLockedObjects { + // t := time.Date(2130, time.April, 25, 14, 0, 0, 0, time.UTC) + t := time.Now().Add(5 * time.Minute) + m := minio.RetentionMode(minio.Governance) + opts := minio.PutObjectRetentionOptions{ + GovernanceBypass: false, + RetainUntilDate: &t, + Mode: &m, + VersionID: info.VersionID, + } + err = c.PutObjectRetention(context.Background(), bucketName, objectName, opts) + if err != nil { + logError(testName, function, args, startTime, "", "Error setting retention", err) + return + } + } + + objectsCh <- minio.ObjectInfo{ + Key: info.Key, + VersionID: info.VersionID, + } + } + }() + + // Call RemoveObjects API + resultCh := c.RemoveObjectsWithResult(context.Background(), bucketName, objectsCh, minio.RemoveObjectsOptions{}) + + var foundNil, foundErr int + + for { + // Check if errorCh doesn't receive any error + select { + case deleteRes, ok := <-resultCh: + if !ok { + goto out + } + if deleteRes.ObjectName == "" { + logError(testName, function, args, startTime, "", "Unexpected object name", nil) + return + } + if deleteRes.ObjectVersionID == "" { + logError(testName, function, args, startTime, "", "Unexpected object version ID", nil) + return + } + + if deleteRes.Err == nil { + foundNil++ + } else { + foundErr++ + } + } + } +out: + if foundNil+foundErr != nrObjects { + logError(testName, function, args, startTime, "", "Unexpected number of results", nil) + return + } + + if foundNil != nrObjects-nrLockedObjects { + logError(testName, function, args, startTime, "", "Unexpected number of nil errors", nil) + return + } + + if foundErr != nrLockedObjects { + logError(testName, function, args, startTime, "", "Unexpected number of errors", nil) + return + } + + successLogger(testName, function, args, startTime).Info() +} + // Tests FPutObject of a big file to trigger multipart func testFPutObjectMultipart() { // initialize logging params @@ -11297,12 +11430,6 @@ func testGetObjectACLContext() { // Seed random based on current time. rand.Seed(time.Now().Unix()) - // skipping region functional tests for non s3 runs - if os.Getenv(serverEndpoint) != "s3.amazonaws.com" { - ignoredLog(testName, function, args, startTime, "Skipped region functional tests for non s3 runs").Info() - return - } - // Instantiate new minio client object. c, err := minio.New(os.Getenv(serverEndpoint), &minio.Options{ @@ -11379,6 +11506,17 @@ func testGetObjectACLContext() { return } + // Do a very limited testing if this is not AWS S3 + if os.Getenv(serverEndpoint) != "s3.amazonaws.com" { + if s[0] != "private" { + logError(testName, function, args, startTime, "", "GetObjectACL fail \"X-Amz-Acl\" expected \"private\" but got"+fmt.Sprintf("%q", s[0]), nil) + return + } + + successLogger(testName, function, args, startTime).Info() + return + } + if s[0] != "public-read-write" { logError(testName, function, args, startTime, "", "GetObjectACL fail \"X-Amz-Acl\" expected \"public-read-write\" but got"+fmt.Sprintf("%q", s[0]), nil) return @@ -11978,6 +12116,7 @@ func main() { // Default to KMS tests. kms = true } + // execute tests if isFullMode() { testMakeBucketErrorV2() @@ -12009,6 +12148,7 @@ func main() { testGetObjectClosedTwice() testGetObjectS3Zip() testRemoveMultipleObjects() + testRemoveMultipleObjectsWithResult() testFPutObjectMultipart() testFPutObject() testGetObjectReadSeekFunctional() diff --git a/vendor/github.com/minio/minio-go/v7/pkg/credentials/assume_role.go b/vendor/github.com/minio/minio-go/v7/pkg/credentials/assume_role.go index 3b1b547b..107a11b1 100644 --- a/vendor/github.com/minio/minio-go/v7/pkg/credentials/assume_role.go +++ b/vendor/github.com/minio/minio-go/v7/pkg/credentials/assume_role.go @@ -18,6 +18,7 @@ package credentials import ( + "bytes" "encoding/hex" "encoding/xml" "errors" @@ -184,11 +185,26 @@ func getAssumeRoleCredentials(clnt *http.Client, endpoint string, opts STSAssume } defer closeResponse(resp) if resp.StatusCode != http.StatusOK { - return AssumeRoleResponse{}, errors.New(resp.Status) + var errResp ErrorResponse + buf, err := ioutil.ReadAll(resp.Body) + if err != nil { + return AssumeRoleResponse{}, err + } + _, err = xmlDecodeAndBody(bytes.NewReader(buf), &errResp) + if err != nil { + var s3Err Error + if _, err = xmlDecodeAndBody(bytes.NewReader(buf), &s3Err); err != nil { + return AssumeRoleResponse{}, err + } + errResp.RequestID = s3Err.RequestID + errResp.STSError.Code = s3Err.Code + errResp.STSError.Message = s3Err.Message + } + return AssumeRoleResponse{}, errResp } a := AssumeRoleResponse{} - if err = xml.NewDecoder(resp.Body).Decode(&a); err != nil { + if _, err = xmlDecodeAndBody(resp.Body, &a); err != nil { return AssumeRoleResponse{}, err } return a, nil diff --git a/vendor/github.com/minio/minio-go/v7/pkg/credentials/error_response.go b/vendor/github.com/minio/minio-go/v7/pkg/credentials/error_response.go new file mode 100644 index 00000000..f4b027a4 --- /dev/null +++ b/vendor/github.com/minio/minio-go/v7/pkg/credentials/error_response.go @@ -0,0 +1,96 @@ +/* + * MinIO Go Library for Amazon S3 Compatible Cloud Storage + * Copyright 2021 MinIO, Inc. + * + * 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. + */ + +package credentials + +import ( + "bytes" + "encoding/xml" + "fmt" + "io" + "io/ioutil" +) + +// ErrorResponse - Is the typed error returned. +// ErrorResponse struct should be comparable since it is compared inside +// golang http API (https://github.com/golang/go/issues/29768) +type ErrorResponse struct { + XMLName xml.Name `xml:"https://sts.amazonaws.com/doc/2011-06-15/ ErrorResponse" json:"-"` + STSError struct { + Type string `xml:"Type"` + Code string `xml:"Code"` + Message string `xml:"Message"` + } `xml:"Error"` + RequestID string `xml:"RequestId"` +} + +// Error - Is the typed error returned by all API operations. +type Error struct { + XMLName xml.Name `xml:"Error" json:"-"` + Code string + Message string + BucketName string + Key string + Resource string + RequestID string `xml:"RequestId"` + HostID string `xml:"HostId"` + + // Region where the bucket is located. This header is returned + // only in HEAD bucket and ListObjects response. + Region string + + // Captures the server string returned in response header. + Server string + + // Underlying HTTP status code for the returned error + StatusCode int `xml:"-" json:"-"` +} + +// Error - Returns S3 error string. +func (e Error) Error() string { + if e.Message == "" { + return fmt.Sprintf("Error response code %s.", e.Code) + } + return e.Message +} + +// Error - Returns STS error string. +func (e ErrorResponse) Error() string { + if e.STSError.Message == "" { + return fmt.Sprintf("Error response code %s.", e.STSError.Code) + } + return e.STSError.Message +} + +// xmlDecoder provide decoded value in xml. +func xmlDecoder(body io.Reader, v interface{}) error { + d := xml.NewDecoder(body) + return d.Decode(v) +} + +// xmlDecodeAndBody reads the whole body up to 1MB and +// tries to XML decode it into v. +// The body that was read and any error from reading or decoding is returned. +func xmlDecodeAndBody(bodyReader io.Reader, v interface{}) ([]byte, error) { + // read the whole body (up to 1MB) + const maxBodyLength = 1 << 20 + body, err := ioutil.ReadAll(io.LimitReader(bodyReader, maxBodyLength)) + if err != nil { + return nil, err + } + return bytes.TrimSpace(body), xmlDecoder(bytes.NewReader(body), v) +} diff --git a/vendor/github.com/minio/minio-go/v7/pkg/credentials/signature-type.go b/vendor/github.com/minio/minio-go/v7/pkg/credentials/signature-type.go deleted file mode 100644 index b7943330..00000000 --- a/vendor/github.com/minio/minio-go/v7/pkg/credentials/signature-type.go +++ /dev/null @@ -1,77 +0,0 @@ -/* - * MinIO Go Library for Amazon S3 Compatible Cloud Storage - * Copyright 2017 MinIO, Inc. - * - * 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. - */ - -package credentials - -import "strings" - -// SignatureType is type of Authorization requested for a given HTTP request. -type SignatureType int - -// Different types of supported signatures - default is SignatureV4 or SignatureDefault. -const ( - // SignatureDefault is always set to v4. - SignatureDefault SignatureType = iota - SignatureV4 - SignatureV2 - SignatureV4Streaming - SignatureAnonymous // Anonymous signature signifies, no signature. -) - -// IsV2 - is signature SignatureV2? -func (s SignatureType) IsV2() bool { - return s == SignatureV2 -} - -// IsV4 - is signature SignatureV4? -func (s SignatureType) IsV4() bool { - return s == SignatureV4 || s == SignatureDefault -} - -// IsStreamingV4 - is signature SignatureV4Streaming? -func (s SignatureType) IsStreamingV4() bool { - return s == SignatureV4Streaming -} - -// IsAnonymous - is signature empty? -func (s SignatureType) IsAnonymous() bool { - return s == SignatureAnonymous -} - -// Stringer humanized version of signature type, -// strings returned here are case insensitive. -func (s SignatureType) String() string { - if s.IsV2() { - return "S3v2" - } else if s.IsV4() { - return "S3v4" - } else if s.IsStreamingV4() { - return "S3v4Streaming" - } - return "Anonymous" -} - -func parseSignatureType(str string) SignatureType { - if strings.EqualFold(str, "S3v4") { - return SignatureV4 - } else if strings.EqualFold(str, "S3v2") { - return SignatureV2 - } else if strings.EqualFold(str, "S3v4Streaming") { - return SignatureV4Streaming - } - return SignatureAnonymous -} diff --git a/vendor/github.com/minio/minio-go/v7/pkg/credentials/signature_type.go b/vendor/github.com/minio/minio-go/v7/pkg/credentials/signature_type.go new file mode 100644 index 00000000..b7943330 --- /dev/null +++ b/vendor/github.com/minio/minio-go/v7/pkg/credentials/signature_type.go @@ -0,0 +1,77 @@ +/* + * MinIO Go Library for Amazon S3 Compatible Cloud Storage + * Copyright 2017 MinIO, Inc. + * + * 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. + */ + +package credentials + +import "strings" + +// SignatureType is type of Authorization requested for a given HTTP request. +type SignatureType int + +// Different types of supported signatures - default is SignatureV4 or SignatureDefault. +const ( + // SignatureDefault is always set to v4. + SignatureDefault SignatureType = iota + SignatureV4 + SignatureV2 + SignatureV4Streaming + SignatureAnonymous // Anonymous signature signifies, no signature. +) + +// IsV2 - is signature SignatureV2? +func (s SignatureType) IsV2() bool { + return s == SignatureV2 +} + +// IsV4 - is signature SignatureV4? +func (s SignatureType) IsV4() bool { + return s == SignatureV4 || s == SignatureDefault +} + +// IsStreamingV4 - is signature SignatureV4Streaming? +func (s SignatureType) IsStreamingV4() bool { + return s == SignatureV4Streaming +} + +// IsAnonymous - is signature empty? +func (s SignatureType) IsAnonymous() bool { + return s == SignatureAnonymous +} + +// Stringer humanized version of signature type, +// strings returned here are case insensitive. +func (s SignatureType) String() string { + if s.IsV2() { + return "S3v2" + } else if s.IsV4() { + return "S3v4" + } else if s.IsStreamingV4() { + return "S3v4Streaming" + } + return "Anonymous" +} + +func parseSignatureType(str string) SignatureType { + if strings.EqualFold(str, "S3v4") { + return SignatureV4 + } else if strings.EqualFold(str, "S3v2") { + return SignatureV2 + } else if strings.EqualFold(str, "S3v4Streaming") { + return SignatureV4Streaming + } + return SignatureAnonymous +} diff --git a/vendor/github.com/minio/minio-go/v7/pkg/credentials/sts-tls-identity.go b/vendor/github.com/minio/minio-go/v7/pkg/credentials/sts-tls-identity.go deleted file mode 100644 index 2e37025a..00000000 --- a/vendor/github.com/minio/minio-go/v7/pkg/credentials/sts-tls-identity.go +++ /dev/null @@ -1,192 +0,0 @@ -// MinIO Go Library for Amazon S3 Compatible Cloud Storage -// Copyright 2021 MinIO, Inc. -// -// 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. - -package credentials - -import ( - "crypto/tls" - "encoding/xml" - "errors" - "io" - "net" - "net/http" - "net/url" - "strconv" - "time" -) - -// CertificateIdentityOption is an optional AssumeRoleWithCertificate -// parameter - e.g. a custom HTTP transport configuration or S3 credental -// livetime. -type CertificateIdentityOption func(*STSCertificateIdentity) - -// CertificateIdentityWithTransport returns a CertificateIdentityOption that -// customizes the STSCertificateIdentity with the given http.RoundTripper. -func CertificateIdentityWithTransport(t http.RoundTripper) CertificateIdentityOption { - return CertificateIdentityOption(func(i *STSCertificateIdentity) { i.Client.Transport = t }) -} - -// CertificateIdentityWithExpiry returns a CertificateIdentityOption that -// customizes the STSCertificateIdentity with the given livetime. -// -// Fetched S3 credentials will have the given livetime if the STS server -// allows such credentials. -func CertificateIdentityWithExpiry(livetime time.Duration) CertificateIdentityOption { - return CertificateIdentityOption(func(i *STSCertificateIdentity) { i.S3CredentialLivetime = livetime }) -} - -// A STSCertificateIdentity retrieves S3 credentials from the MinIO STS API and -// rotates those credentials once they expire. -type STSCertificateIdentity struct { - Expiry - - // STSEndpoint is the base URL endpoint of the STS API. - // For example, https://minio.local:9000 - STSEndpoint string - - // S3CredentialLivetime is the duration temp. S3 access - // credentials should be valid. - // - // It represents the access credential livetime requested - // by the client. The STS server may choose to issue - // temp. S3 credentials that have a different - usually - // shorter - livetime. - // - // The default livetime is one hour. - S3CredentialLivetime time.Duration - - // Client is the HTTP client used to authenticate and fetch - // S3 credentials. - // - // A custom TLS client configuration can be specified by - // using a custom http.Transport: - // Client: http.Client { - // Transport: &http.Transport{ - // TLSClientConfig: &tls.Config{}, - // }, - // } - Client http.Client -} - -var _ Provider = (*STSWebIdentity)(nil) // compiler check - -// NewSTSCertificateIdentity returns a STSCertificateIdentity that authenticates -// to the given STS endpoint with the given TLS certificate and retrieves and -// rotates S3 credentials. -func NewSTSCertificateIdentity(endpoint string, certificate tls.Certificate, options ...CertificateIdentityOption) (*Credentials, error) { - if endpoint == "" { - return nil, errors.New("STS endpoint cannot be empty") - } - if _, err := url.Parse(endpoint); err != nil { - return nil, err - } - var identity = &STSCertificateIdentity{ - STSEndpoint: endpoint, - Client: http.Client{ - Transport: &http.Transport{ - Proxy: http.ProxyFromEnvironment, - DialContext: (&net.Dialer{ - Timeout: 30 * time.Second, - KeepAlive: 30 * time.Second, - }).DialContext, - ForceAttemptHTTP2: true, - MaxIdleConns: 100, - IdleConnTimeout: 90 * time.Second, - TLSHandshakeTimeout: 10 * time.Second, - ExpectContinueTimeout: 5 * time.Second, - TLSClientConfig: &tls.Config{ - Certificates: []tls.Certificate{certificate}, - }, - }, - }, - } - for _, option := range options { - option(identity) - } - return New(identity), nil -} - -// Retrieve fetches a new set of S3 credentials from the configured -// STS API endpoint. -func (i *STSCertificateIdentity) Retrieve() (Value, error) { - endpointURL, err := url.Parse(i.STSEndpoint) - if err != nil { - return Value{}, err - } - var livetime = i.S3CredentialLivetime - if livetime == 0 { - livetime = 1 * time.Hour - } - - queryValues := url.Values{} - queryValues.Set("Action", "AssumeRoleWithCertificate") - queryValues.Set("Version", STSVersion) - endpointURL.RawQuery = queryValues.Encode() - - req, err := http.NewRequest(http.MethodPost, endpointURL.String(), nil) - if err != nil { - return Value{}, err - } - req.Form.Add("DurationSeconds", strconv.FormatUint(uint64(livetime.Seconds()), 10)) - - resp, err := i.Client.Do(req) - if err != nil { - return Value{}, err - } - if resp.Body != nil { - defer resp.Body.Close() - } - if resp.StatusCode != http.StatusOK { - return Value{}, errors.New(resp.Status) - } - - const MaxSize = 10 * 1 << 20 - var body io.Reader = resp.Body - if resp.ContentLength > 0 && resp.ContentLength < MaxSize { - body = io.LimitReader(body, resp.ContentLength) - } else { - body = io.LimitReader(body, MaxSize) - } - - var response assumeRoleWithCertificateResponse - if err = xml.NewDecoder(body).Decode(&response); err != nil { - return Value{}, err - } - i.SetExpiration(response.Result.Credentials.Expiration, DefaultExpiryWindow) - return Value{ - AccessKeyID: response.Result.Credentials.AccessKey, - SecretAccessKey: response.Result.Credentials.SecretKey, - SessionToken: response.Result.Credentials.SessionToken, - SignerType: SignatureDefault, - }, nil -} - -// Expiration returns the expiration time of the current S3 credentials. -func (i *STSCertificateIdentity) Expiration() time.Time { return i.expiration } - -type assumeRoleWithCertificateResponse struct { - XMLName xml.Name `xml:"https://sts.amazonaws.com/doc/2011-06-15/ AssumeRoleWithCertificateResponse" json:"-"` - Result struct { - Credentials struct { - AccessKey string `xml:"AccessKeyId" json:"accessKey,omitempty"` - SecretKey string `xml:"SecretAccessKey" json:"secretKey,omitempty"` - Expiration time.Time `xml:"Expiration" json:"expiration,omitempty"` - SessionToken string `xml:"SessionToken" json:"sessionToken,omitempty"` - } `xml:"Credentials" json:"credentials,omitempty"` - } `xml:"AssumeRoleWithCertificateResult"` - ResponseMetadata struct { - RequestID string `xml:"RequestId,omitempty"` - } `xml:"ResponseMetadata,omitempty"` -} diff --git a/vendor/github.com/minio/minio-go/v7/pkg/credentials/sts_client_grants.go b/vendor/github.com/minio/minio-go/v7/pkg/credentials/sts_client_grants.go index b79f920f..b6712b19 100644 --- a/vendor/github.com/minio/minio-go/v7/pkg/credentials/sts_client_grants.go +++ b/vendor/github.com/minio/minio-go/v7/pkg/credentials/sts_client_grants.go @@ -18,9 +18,11 @@ package credentials import ( + "bytes" "encoding/xml" "errors" "fmt" + "io/ioutil" "net/http" "net/url" "time" @@ -132,7 +134,23 @@ func getClientGrantsCredentials(clnt *http.Client, endpoint string, } defer resp.Body.Close() if resp.StatusCode != http.StatusOK { - return AssumeRoleWithClientGrantsResponse{}, errors.New(resp.Status) + var errResp ErrorResponse + buf, err := ioutil.ReadAll(resp.Body) + if err != nil { + return AssumeRoleWithClientGrantsResponse{}, err + + } + _, err = xmlDecodeAndBody(bytes.NewReader(buf), &errResp) + if err != nil { + var s3Err Error + if _, err = xmlDecodeAndBody(bytes.NewReader(buf), &s3Err); err != nil { + return AssumeRoleWithClientGrantsResponse{}, err + } + errResp.RequestID = s3Err.RequestID + errResp.STSError.Code = s3Err.Code + errResp.STSError.Message = s3Err.Message + } + return AssumeRoleWithClientGrantsResponse{}, errResp } a := AssumeRoleWithClientGrantsResponse{} diff --git a/vendor/github.com/minio/minio-go/v7/pkg/credentials/sts_ldap_identity.go b/vendor/github.com/minio/minio-go/v7/pkg/credentials/sts_ldap_identity.go index bdde1fa3..39c7892b 100644 --- a/vendor/github.com/minio/minio-go/v7/pkg/credentials/sts_ldap_identity.go +++ b/vendor/github.com/minio/minio-go/v7/pkg/credentials/sts_ldap_identity.go @@ -18,9 +18,10 @@ package credentials import ( + "bytes" "encoding/xml" - "errors" "fmt" + "io/ioutil" "net/http" "net/url" "time" @@ -169,7 +170,23 @@ func (k *LDAPIdentity) Retrieve() (value Value, err error) { defer resp.Body.Close() if resp.StatusCode != http.StatusOK { - return value, errors.New(resp.Status) + var errResp ErrorResponse + buf, err := ioutil.ReadAll(resp.Body) + if err != nil { + return value, err + + } + _, err = xmlDecodeAndBody(bytes.NewReader(buf), &errResp) + if err != nil { + var s3Err Error + if _, err = xmlDecodeAndBody(bytes.NewReader(buf), &s3Err); err != nil { + return value, err + } + errResp.RequestID = s3Err.RequestID + errResp.STSError.Code = s3Err.Code + errResp.STSError.Message = s3Err.Message + } + return value, errResp } r := AssumeRoleWithLDAPResponse{} diff --git a/vendor/github.com/minio/minio-go/v7/pkg/credentials/sts_tls_identity.go b/vendor/github.com/minio/minio-go/v7/pkg/credentials/sts_tls_identity.go new file mode 100644 index 00000000..7f485d63 --- /dev/null +++ b/vendor/github.com/minio/minio-go/v7/pkg/credentials/sts_tls_identity.go @@ -0,0 +1,210 @@ +// MinIO Go Library for Amazon S3 Compatible Cloud Storage +// Copyright 2021 MinIO, Inc. +// +// 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. + +package credentials + +import ( + "bytes" + "crypto/tls" + "encoding/xml" + "errors" + "io" + "io/ioutil" + "net" + "net/http" + "net/url" + "strconv" + "time" +) + +// CertificateIdentityOption is an optional AssumeRoleWithCertificate +// parameter - e.g. a custom HTTP transport configuration or S3 credental +// livetime. +type CertificateIdentityOption func(*STSCertificateIdentity) + +// CertificateIdentityWithTransport returns a CertificateIdentityOption that +// customizes the STSCertificateIdentity with the given http.RoundTripper. +func CertificateIdentityWithTransport(t http.RoundTripper) CertificateIdentityOption { + return CertificateIdentityOption(func(i *STSCertificateIdentity) { i.Client.Transport = t }) +} + +// CertificateIdentityWithExpiry returns a CertificateIdentityOption that +// customizes the STSCertificateIdentity with the given livetime. +// +// Fetched S3 credentials will have the given livetime if the STS server +// allows such credentials. +func CertificateIdentityWithExpiry(livetime time.Duration) CertificateIdentityOption { + return CertificateIdentityOption(func(i *STSCertificateIdentity) { i.S3CredentialLivetime = livetime }) +} + +// A STSCertificateIdentity retrieves S3 credentials from the MinIO STS API and +// rotates those credentials once they expire. +type STSCertificateIdentity struct { + Expiry + + // STSEndpoint is the base URL endpoint of the STS API. + // For example, https://minio.local:9000 + STSEndpoint string + + // S3CredentialLivetime is the duration temp. S3 access + // credentials should be valid. + // + // It represents the access credential livetime requested + // by the client. The STS server may choose to issue + // temp. S3 credentials that have a different - usually + // shorter - livetime. + // + // The default livetime is one hour. + S3CredentialLivetime time.Duration + + // Client is the HTTP client used to authenticate and fetch + // S3 credentials. + // + // A custom TLS client configuration can be specified by + // using a custom http.Transport: + // Client: http.Client { + // Transport: &http.Transport{ + // TLSClientConfig: &tls.Config{}, + // }, + // } + Client http.Client +} + +var _ Provider = (*STSWebIdentity)(nil) // compiler check + +// NewSTSCertificateIdentity returns a STSCertificateIdentity that authenticates +// to the given STS endpoint with the given TLS certificate and retrieves and +// rotates S3 credentials. +func NewSTSCertificateIdentity(endpoint string, certificate tls.Certificate, options ...CertificateIdentityOption) (*Credentials, error) { + if endpoint == "" { + return nil, errors.New("STS endpoint cannot be empty") + } + if _, err := url.Parse(endpoint); err != nil { + return nil, err + } + var identity = &STSCertificateIdentity{ + STSEndpoint: endpoint, + Client: http.Client{ + Transport: &http.Transport{ + Proxy: http.ProxyFromEnvironment, + DialContext: (&net.Dialer{ + Timeout: 30 * time.Second, + KeepAlive: 30 * time.Second, + }).DialContext, + ForceAttemptHTTP2: true, + MaxIdleConns: 100, + IdleConnTimeout: 90 * time.Second, + TLSHandshakeTimeout: 10 * time.Second, + ExpectContinueTimeout: 5 * time.Second, + TLSClientConfig: &tls.Config{ + Certificates: []tls.Certificate{certificate}, + }, + }, + }, + } + for _, option := range options { + option(identity) + } + return New(identity), nil +} + +// Retrieve fetches a new set of S3 credentials from the configured +// STS API endpoint. +func (i *STSCertificateIdentity) Retrieve() (Value, error) { + endpointURL, err := url.Parse(i.STSEndpoint) + if err != nil { + return Value{}, err + } + var livetime = i.S3CredentialLivetime + if livetime == 0 { + livetime = 1 * time.Hour + } + + queryValues := url.Values{} + queryValues.Set("Action", "AssumeRoleWithCertificate") + queryValues.Set("Version", STSVersion) + endpointURL.RawQuery = queryValues.Encode() + + req, err := http.NewRequest(http.MethodPost, endpointURL.String(), nil) + if err != nil { + return Value{}, err + } + req.Form.Add("DurationSeconds", strconv.FormatUint(uint64(livetime.Seconds()), 10)) + + resp, err := i.Client.Do(req) + if err != nil { + return Value{}, err + } + if resp.Body != nil { + defer resp.Body.Close() + } + if resp.StatusCode != http.StatusOK { + var errResp ErrorResponse + buf, err := ioutil.ReadAll(resp.Body) + if err != nil { + return Value{}, err + + } + _, err = xmlDecodeAndBody(bytes.NewReader(buf), &errResp) + if err != nil { + var s3Err Error + if _, err = xmlDecodeAndBody(bytes.NewReader(buf), &s3Err); err != nil { + return Value{}, err + } + errResp.RequestID = s3Err.RequestID + errResp.STSError.Code = s3Err.Code + errResp.STSError.Message = s3Err.Message + } + return Value{}, errResp + } + + const MaxSize = 10 * 1 << 20 + var body io.Reader = resp.Body + if resp.ContentLength > 0 && resp.ContentLength < MaxSize { + body = io.LimitReader(body, resp.ContentLength) + } else { + body = io.LimitReader(body, MaxSize) + } + + var response assumeRoleWithCertificateResponse + if err = xml.NewDecoder(body).Decode(&response); err != nil { + return Value{}, err + } + i.SetExpiration(response.Result.Credentials.Expiration, DefaultExpiryWindow) + return Value{ + AccessKeyID: response.Result.Credentials.AccessKey, + SecretAccessKey: response.Result.Credentials.SecretKey, + SessionToken: response.Result.Credentials.SessionToken, + SignerType: SignatureDefault, + }, nil +} + +// Expiration returns the expiration time of the current S3 credentials. +func (i *STSCertificateIdentity) Expiration() time.Time { return i.expiration } + +type assumeRoleWithCertificateResponse struct { + XMLName xml.Name `xml:"https://sts.amazonaws.com/doc/2011-06-15/ AssumeRoleWithCertificateResponse" json:"-"` + Result struct { + Credentials struct { + AccessKey string `xml:"AccessKeyId" json:"accessKey,omitempty"` + SecretKey string `xml:"SecretAccessKey" json:"secretKey,omitempty"` + Expiration time.Time `xml:"Expiration" json:"expiration,omitempty"` + SessionToken string `xml:"SessionToken" json:"sessionToken,omitempty"` + } `xml:"Credentials" json:"credentials,omitempty"` + } `xml:"AssumeRoleWithCertificateResult"` + ResponseMetadata struct { + RequestID string `xml:"RequestId,omitempty"` + } `xml:"ResponseMetadata,omitempty"` +} diff --git a/vendor/github.com/minio/minio-go/v7/pkg/credentials/sts_web_identity.go b/vendor/github.com/minio/minio-go/v7/pkg/credentials/sts_web_identity.go index 25ca751d..98f6ea65 100644 --- a/vendor/github.com/minio/minio-go/v7/pkg/credentials/sts_web_identity.go +++ b/vendor/github.com/minio/minio-go/v7/pkg/credentials/sts_web_identity.go @@ -18,9 +18,11 @@ package credentials import ( + "bytes" "encoding/xml" "errors" "fmt" + "io/ioutil" "net/http" "net/url" "strconv" @@ -150,7 +152,23 @@ func getWebIdentityCredentials(clnt *http.Client, endpoint, roleARN, roleSession defer resp.Body.Close() if resp.StatusCode != http.StatusOK { - return AssumeRoleWithWebIdentityResponse{}, errors.New(resp.Status) + var errResp ErrorResponse + buf, err := ioutil.ReadAll(resp.Body) + if err != nil { + return AssumeRoleWithWebIdentityResponse{}, err + + } + _, err = xmlDecodeAndBody(bytes.NewReader(buf), &errResp) + if err != nil { + var s3Err Error + if _, err = xmlDecodeAndBody(bytes.NewReader(buf), &s3Err); err != nil { + return AssumeRoleWithWebIdentityResponse{}, err + } + errResp.RequestID = s3Err.RequestID + errResp.STSError.Code = s3Err.Code + errResp.STSError.Message = s3Err.Message + } + return AssumeRoleWithWebIdentityResponse{}, errResp } a := AssumeRoleWithWebIdentityResponse{} diff --git a/vendor/github.com/minio/minio-go/v7/pkg/lifecycle/lifecycle.go b/vendor/github.com/minio/minio-go/v7/pkg/lifecycle/lifecycle.go index 96f1101c..743d8eca 100644 --- a/vendor/github.com/minio/minio-go/v7/pkg/lifecycle/lifecycle.go +++ b/vendor/github.com/minio/minio-go/v7/pkg/lifecycle/lifecycle.go @@ -53,12 +53,12 @@ func (n AbortIncompleteMultipartUpload) MarshalXML(e *xml.Encoder, start xml.Sta // (or suspended) to request server delete noncurrent object versions at a // specific period in the object's lifetime. type NoncurrentVersionExpiration struct { - XMLName xml.Name `xml:"NoncurrentVersionExpiration" json:"-"` - NoncurrentDays ExpirationDays `xml:"NoncurrentDays,omitempty"` - MaxNoncurrentVersions int `xml:"MaxNoncurrentVersions,omitempty"` + XMLName xml.Name `xml:"NoncurrentVersionExpiration" json:"-"` + NoncurrentDays ExpirationDays `xml:"NoncurrentDays,omitempty"` + NewerNoncurrentVersions int `xml:"NewerNoncurrentVersions,omitempty"` } -// MarshalXML if non-current days not set to non zero value +// MarshalXML if n is non-empty, i.e has a non-zero NoncurrentDays or NewerNoncurrentVersions. func (n NoncurrentVersionExpiration) MarshalXML(e *xml.Encoder, start xml.StartElement) error { if n.isNull() { return nil @@ -73,16 +73,17 @@ func (n NoncurrentVersionExpiration) IsDaysNull() bool { } func (n NoncurrentVersionExpiration) isNull() bool { - return n.IsDaysNull() && n.MaxNoncurrentVersions == 0 + return n.IsDaysNull() && n.NewerNoncurrentVersions == 0 } // NoncurrentVersionTransition structure, set this action to request server to // transition noncurrent object versions to different set storage classes // at a specific period in the object's lifetime. type NoncurrentVersionTransition struct { - XMLName xml.Name `xml:"NoncurrentVersionTransition,omitempty" json:"-"` - StorageClass string `xml:"StorageClass,omitempty" json:"StorageClass,omitempty"` - NoncurrentDays ExpirationDays `xml:"NoncurrentDays" json:"NoncurrentDays"` + XMLName xml.Name `xml:"NoncurrentVersionTransition,omitempty" json:"-"` + StorageClass string `xml:"StorageClass,omitempty" json:"StorageClass,omitempty"` + NoncurrentDays ExpirationDays `xml:"NoncurrentDays" json:"NoncurrentDays"` + NewerNoncurrentVersions int `xml:"NewerNoncurrentVersions,omitempty" json:"NewerNoncurrentVersions,omitempty"` } // IsDaysNull returns true if days field is null diff --git a/vendor/github.com/minio/minio-go/v7/pkg/s3utils/utils.go b/vendor/github.com/minio/minio-go/v7/pkg/s3utils/utils.go index 44945464..2f1a5a65 100644 --- a/vendor/github.com/minio/minio-go/v7/pkg/s3utils/utils.go +++ b/vendor/github.com/minio/minio-go/v7/pkg/s3utils/utils.go @@ -104,6 +104,9 @@ var elbAmazonRegex = regexp.MustCompile(`elb(.*?).amazonaws.com$`) // Regular expression used to determine if the arg is elb host in china. var elbAmazonCnRegex = regexp.MustCompile(`elb(.*?).amazonaws.com.cn$`) +// amazonS3HostPrivateLink - regular expression used to determine if an arg is s3 host in AWS PrivateLink interface endpoints style +var amazonS3HostPrivateLink = regexp.MustCompile(`^(?:bucket|accesspoint).vpce-.*?.s3.(.*?).vpce.amazonaws.com$`) + // GetRegionFromURL - returns a region from url host. func GetRegionFromURL(endpointURL url.URL) string { if endpointURL == sentinelURL { @@ -139,6 +142,10 @@ func GetRegionFromURL(endpointURL url.URL) string { if len(parts) > 1 { return parts[1] } + parts = amazonS3HostPrivateLink.FindStringSubmatch(endpointURL.Host) + if len(parts) > 1 { + return parts[1] + } return "" } @@ -202,6 +209,15 @@ func IsAmazonFIPSEndpoint(endpointURL url.URL) bool { return IsAmazonFIPSUSEastWestEndpoint(endpointURL) || IsAmazonFIPSGovCloudEndpoint(endpointURL) } +// IsAmazonPrivateLinkEndpoint - Match if it is exactly Amazon S3 PrivateLink interface endpoint +// See https://docs.aws.amazon.com/AmazonS3/latest/userguide/privatelink-interface-endpoints.html. +func IsAmazonPrivateLinkEndpoint(endpointURL url.URL) bool { + if endpointURL == sentinelURL { + return false + } + return amazonS3HostPrivateLink.MatchString(endpointURL.Host) +} + // IsGoogleEndpoint - Match if it is exactly Google cloud storage endpoint. func IsGoogleEndpoint(endpointURL url.URL) bool { if endpointURL == sentinelURL { diff --git a/vendor/github.com/minio/minio-go/v7/pkg/signer/request-signature-v2.go b/vendor/github.com/minio/minio-go/v7/pkg/signer/request-signature-v2.go index b6ea78f7..cf7921d1 100644 --- a/vendor/github.com/minio/minio-go/v7/pkg/signer/request-signature-v2.go +++ b/vendor/github.com/minio/minio-go/v7/pkg/signer/request-signature-v2.go @@ -243,10 +243,14 @@ func writeCanonicalizedHeaders(buf *bytes.Buffer, req http.Request) { // http://docs.aws.amazon.com/AmazonS3/latest/dev/RESTAuthentication.html#RESTAuthenticationStringToSign // Whitelist resource list that will be used in query string for signature-V2 calculation. -// The list should be alphabetically sorted +// +// This list should be kept alphabetically sorted, do not hastily edit. var resourceList = []string{ "acl", + "cors", "delete", + "encryption", + "legal-hold", "lifecycle", "location", "logging", @@ -261,6 +265,10 @@ var resourceList = []string{ "response-content-language", "response-content-type", "response-expires", + "retention", + "select", + "select-type", + "tagging", "torrent", "uploadId", "uploads", diff --git a/vendor/github.com/minio/minio-go/v7/transport.go b/vendor/github.com/minio/minio-go/v7/transport.go index d5ad15b8..a88477b7 100644 --- a/vendor/github.com/minio/minio-go/v7/transport.go +++ b/vendor/github.com/minio/minio-go/v7/transport.go @@ -1,3 +1,4 @@ +//go:build go1.7 || go1.8 // +build go1.7 go1.8 /* diff --git a/vendor/github.com/opentracing/opentracing-go/.gitignore b/vendor/github.com/opentracing/opentracing-go/.gitignore new file mode 100644 index 00000000..c57100a5 --- /dev/null +++ b/vendor/github.com/opentracing/opentracing-go/.gitignore @@ -0,0 +1 @@ +coverage.txt diff --git a/vendor/github.com/opentracing/opentracing-go/.travis.yml b/vendor/github.com/opentracing/opentracing-go/.travis.yml new file mode 100644 index 00000000..b950e429 --- /dev/null +++ b/vendor/github.com/opentracing/opentracing-go/.travis.yml @@ -0,0 +1,20 @@ +language: go + +matrix: + include: + - go: "1.13.x" + - go: "1.14.x" + - go: "tip" + env: + - LINT=true + - COVERAGE=true + +install: + - if [ "$LINT" == true ]; then go get -u golang.org/x/lint/golint/... ; else echo 'skipping lint'; fi + - go get -u github.com/stretchr/testify/... + +script: + - make test + - go build ./... + - if [ "$LINT" == true ]; then make lint ; else echo 'skipping lint'; fi + - if [ "$COVERAGE" == true ]; then make cover && bash <(curl -s https://codecov.io/bash) ; else echo 'skipping coverage'; fi diff --git a/vendor/github.com/opentracing/opentracing-go/CHANGELOG.md b/vendor/github.com/opentracing/opentracing-go/CHANGELOG.md new file mode 100644 index 00000000..d3bfcf62 --- /dev/null +++ b/vendor/github.com/opentracing/opentracing-go/CHANGELOG.md @@ -0,0 +1,63 @@ +Changes by Version +================== + + +1.2.0 (2020-07-01) +------------------- + +* Restore the ability to reset the current span in context to nil (#231) -- Yuri Shkuro +* Use error.object per OpenTracing Semantic Conventions (#179) -- Rahman Syed +* Convert nil pointer log field value to string "nil" (#230) -- Cyril Tovena +* Add Go module support (#215) -- Zaba505 +* Make SetTag helper types in ext public (#229) -- Blake Edwards +* Add log/fields helpers for keys from specification (#226) -- Dmitry Monakhov +* Improve noop impementation (#223) -- chanxuehong +* Add an extension to Tracer interface for custom go context creation (#220) -- Krzesimir Nowak +* Fix typo in comments (#222) -- meteorlxy +* Improve documentation for log.Object() to emphasize the requirement to pass immutable arguments (#219) -- 疯狂的小企鹅 +* [mock] Return ErrInvalidSpanContext if span context is not MockSpanContext (#216) -- Milad Irannejad + + +1.1.0 (2019-03-23) +------------------- + +Notable changes: +- The library is now released under Apache 2.0 license +- Use Set() instead of Add() in HTTPHeadersCarrier is functionally a breaking change (fixes issue [#159](https://github.com/opentracing/opentracing-go/issues/159)) +- 'golang.org/x/net/context' is replaced with 'context' from the standard library + +List of all changes: + +- Export StartSpanFromContextWithTracer (#214) +- Add IsGlobalTracerRegistered() to indicate if a tracer has been registered (#201) +- Use Set() instead of Add() in HTTPHeadersCarrier (#191) +- Update license to Apache 2.0 (#181) +- Replace 'golang.org/x/net/context' with 'context' (#176) +- Port of Python opentracing/harness/api_check.py to Go (#146) +- Fix race condition in MockSpan.Context() (#170) +- Add PeerHostIPv4.SetString() (#155) +- Add a Noop log field type to log to allow for optional fields (#150) + + +1.0.2 (2017-04-26) +------------------- + +- Add more semantic tags (#139) + + +1.0.1 (2017-02-06) +------------------- + +- Correct spelling in comments +- Address race in nextMockID() (#123) +- log: avoid panic marshaling nil error (#131) +- Deprecate InitGlobalTracer in favor of SetGlobalTracer (#128) +- Drop Go 1.5 that fails in Travis (#129) +- Add convenience methods Key() and Value() to log.Field +- Add convenience methods to log.Field (2 years, 6 months ago) + +1.0.0 (2016-09-26) +------------------- + +- This release implements OpenTracing Specification 1.0 (https://opentracing.io/spec) + diff --git a/vendor/github.com/opentracing/opentracing-go/LICENSE b/vendor/github.com/opentracing/opentracing-go/LICENSE new file mode 100644 index 00000000..f0027349 --- /dev/null +++ b/vendor/github.com/opentracing/opentracing-go/LICENSE @@ -0,0 +1,201 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "{}" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright 2016 The OpenTracing Authors + + 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. diff --git a/vendor/github.com/opentracing/opentracing-go/Makefile b/vendor/github.com/opentracing/opentracing-go/Makefile new file mode 100644 index 00000000..62abb63f --- /dev/null +++ b/vendor/github.com/opentracing/opentracing-go/Makefile @@ -0,0 +1,20 @@ +.DEFAULT_GOAL := test-and-lint + +.PHONY: test-and-lint +test-and-lint: test lint + +.PHONY: test +test: + go test -v -cover -race ./... + +.PHONY: cover +cover: + go test -v -coverprofile=coverage.txt -covermode=atomic -race ./... + +.PHONY: lint +lint: + go fmt ./... + golint ./... + @# Run again with magic to exit non-zero if golint outputs anything. + @! (golint ./... | read dummy) + go vet ./... diff --git a/vendor/github.com/opentracing/opentracing-go/README.md b/vendor/github.com/opentracing/opentracing-go/README.md new file mode 100644 index 00000000..6ef1d7c9 --- /dev/null +++ b/vendor/github.com/opentracing/opentracing-go/README.md @@ -0,0 +1,171 @@ +[![Gitter chat](http://img.shields.io/badge/gitter-join%20chat%20%E2%86%92-brightgreen.svg)](https://gitter.im/opentracing/public) [![Build Status](https://travis-ci.org/opentracing/opentracing-go.svg?branch=master)](https://travis-ci.org/opentracing/opentracing-go) [![GoDoc](https://godoc.org/github.com/opentracing/opentracing-go?status.svg)](http://godoc.org/github.com/opentracing/opentracing-go) +[![Sourcegraph Badge](https://sourcegraph.com/github.com/opentracing/opentracing-go/-/badge.svg)](https://sourcegraph.com/github.com/opentracing/opentracing-go?badge) + +# OpenTracing API for Go + +This package is a Go platform API for OpenTracing. + +## Required Reading + +In order to understand the Go platform API, one must first be familiar with the +[OpenTracing project](https://opentracing.io) and +[terminology](https://opentracing.io/specification/) more specifically. + +## API overview for those adding instrumentation + +Everyday consumers of this `opentracing` package really only need to worry +about a couple of key abstractions: the `StartSpan` function, the `Span` +interface, and binding a `Tracer` at `main()`-time. Here are code snippets +demonstrating some important use cases. + +#### Singleton initialization + +The simplest starting point is `./default_tracer.go`. As early as possible, call + +```go + import "github.com/opentracing/opentracing-go" + import ".../some_tracing_impl" + + func main() { + opentracing.SetGlobalTracer( + // tracing impl specific: + some_tracing_impl.New(...), + ) + ... + } +``` + +#### Non-Singleton initialization + +If you prefer direct control to singletons, manage ownership of the +`opentracing.Tracer` implementation explicitly. + +#### Creating a Span given an existing Go `context.Context` + +If you use `context.Context` in your application, OpenTracing's Go library will +happily rely on it for `Span` propagation. To start a new (blocking child) +`Span`, you can use `StartSpanFromContext`. + +```go + func xyz(ctx context.Context, ...) { + ... + span, ctx := opentracing.StartSpanFromContext(ctx, "operation_name") + defer span.Finish() + span.LogFields( + log.String("event", "soft error"), + log.String("type", "cache timeout"), + log.Int("waited.millis", 1500)) + ... + } +``` + +#### Starting an empty trace by creating a "root span" + +It's always possible to create a "root" `Span` with no parent or other causal +reference. + +```go + func xyz() { + ... + sp := opentracing.StartSpan("operation_name") + defer sp.Finish() + ... + } +``` + +#### Creating a (child) Span given an existing (parent) Span + +```go + func xyz(parentSpan opentracing.Span, ...) { + ... + sp := opentracing.StartSpan( + "operation_name", + opentracing.ChildOf(parentSpan.Context())) + defer sp.Finish() + ... + } +``` + +#### Serializing to the wire + +```go + func makeSomeRequest(ctx context.Context) ... { + if span := opentracing.SpanFromContext(ctx); span != nil { + httpClient := &http.Client{} + httpReq, _ := http.NewRequest("GET", "http://myservice/", nil) + + // Transmit the span's TraceContext as HTTP headers on our + // outbound request. + opentracing.GlobalTracer().Inject( + span.Context(), + opentracing.HTTPHeaders, + opentracing.HTTPHeadersCarrier(httpReq.Header)) + + resp, err := httpClient.Do(httpReq) + ... + } + ... + } +``` + +#### Deserializing from the wire + +```go + http.HandleFunc("/", func(w http.ResponseWriter, req *http.Request) { + var serverSpan opentracing.Span + appSpecificOperationName := ... + wireContext, err := opentracing.GlobalTracer().Extract( + opentracing.HTTPHeaders, + opentracing.HTTPHeadersCarrier(req.Header)) + if err != nil { + // Optionally record something about err here + } + + // Create the span referring to the RPC client if available. + // If wireContext == nil, a root span will be created. + serverSpan = opentracing.StartSpan( + appSpecificOperationName, + ext.RPCServerOption(wireContext)) + + defer serverSpan.Finish() + + ctx := opentracing.ContextWithSpan(context.Background(), serverSpan) + ... + } +``` + +#### Conditionally capture a field using `log.Noop` + +In some situations, you may want to dynamically decide whether or not +to log a field. For example, you may want to capture additional data, +such as a customer ID, in non-production environments: + +```go + func Customer(order *Order) log.Field { + if os.Getenv("ENVIRONMENT") == "dev" { + return log.String("customer", order.Customer.ID) + } + return log.Noop() + } +``` + +#### Goroutine-safety + +The entire public API is goroutine-safe and does not require external +synchronization. + +## API pointers for those implementing a tracing system + +Tracing system implementors may be able to reuse or copy-paste-modify the `basictracer` package, found [here](https://github.com/opentracing/basictracer-go). In particular, see `basictracer.New(...)`. + +## API compatibility + +For the time being, "mild" backwards-incompatible changes may be made without changing the major version number. As OpenTracing and `opentracing-go` mature, backwards compatibility will become more of a priority. + +## Tracer test suite + +A test suite is available in the [harness](https://godoc.org/github.com/opentracing/opentracing-go/harness) package that can assist Tracer implementors to assert that their Tracer is working correctly. + +## Licensing + +[Apache 2.0 License](./LICENSE). diff --git a/vendor/github.com/opentracing/opentracing-go/ext.go b/vendor/github.com/opentracing/opentracing-go/ext.go new file mode 100644 index 00000000..e11977eb --- /dev/null +++ b/vendor/github.com/opentracing/opentracing-go/ext.go @@ -0,0 +1,24 @@ +package opentracing + +import ( + "context" +) + +// TracerContextWithSpanExtension is an extension interface that the +// implementation of the Tracer interface may want to implement. It +// allows to have some control over the go context when the +// ContextWithSpan is invoked. +// +// The primary purpose of this extension are adapters from opentracing +// API to some other tracing API. +type TracerContextWithSpanExtension interface { + // ContextWithSpanHook gets called by the ContextWithSpan + // function, when the Tracer implementation also implements + // this interface. It allows to put extra information into the + // context and make it available to the callers of the + // ContextWithSpan. + // + // This hook is invoked before the ContextWithSpan function + // actually puts the span into the context. + ContextWithSpanHook(ctx context.Context, span Span) context.Context +} diff --git a/vendor/github.com/opentracing/opentracing-go/ext/field.go b/vendor/github.com/opentracing/opentracing-go/ext/field.go new file mode 100644 index 00000000..8282bd75 --- /dev/null +++ b/vendor/github.com/opentracing/opentracing-go/ext/field.go @@ -0,0 +1,17 @@ +package ext + +import ( + "github.com/opentracing/opentracing-go" + "github.com/opentracing/opentracing-go/log" +) + +// LogError sets the error=true tag on the Span and logs err as an "error" event. +func LogError(span opentracing.Span, err error, fields ...log.Field) { + Error.Set(span, true) + ef := []log.Field{ + log.Event("error"), + log.Error(err), + } + ef = append(ef, fields...) + span.LogFields(ef...) +} diff --git a/vendor/github.com/opentracing/opentracing-go/ext/tags.go b/vendor/github.com/opentracing/opentracing-go/ext/tags.go new file mode 100644 index 00000000..a414b595 --- /dev/null +++ b/vendor/github.com/opentracing/opentracing-go/ext/tags.go @@ -0,0 +1,215 @@ +package ext + +import "github.com/opentracing/opentracing-go" + +// These constants define common tag names recommended for better portability across +// tracing systems and languages/platforms. +// +// The tag names are defined as typed strings, so that in addition to the usual use +// +// span.setTag(TagName, value) +// +// they also support value type validation via this additional syntax: +// +// TagName.Set(span, value) +// +var ( + ////////////////////////////////////////////////////////////////////// + // SpanKind (client/server or producer/consumer) + ////////////////////////////////////////////////////////////////////// + + // SpanKind hints at relationship between spans, e.g. client/server + SpanKind = spanKindTagName("span.kind") + + // SpanKindRPCClient marks a span representing the client-side of an RPC + // or other remote call + SpanKindRPCClientEnum = SpanKindEnum("client") + SpanKindRPCClient = opentracing.Tag{Key: string(SpanKind), Value: SpanKindRPCClientEnum} + + // SpanKindRPCServer marks a span representing the server-side of an RPC + // or other remote call + SpanKindRPCServerEnum = SpanKindEnum("server") + SpanKindRPCServer = opentracing.Tag{Key: string(SpanKind), Value: SpanKindRPCServerEnum} + + // SpanKindProducer marks a span representing the producer-side of a + // message bus + SpanKindProducerEnum = SpanKindEnum("producer") + SpanKindProducer = opentracing.Tag{Key: string(SpanKind), Value: SpanKindProducerEnum} + + // SpanKindConsumer marks a span representing the consumer-side of a + // message bus + SpanKindConsumerEnum = SpanKindEnum("consumer") + SpanKindConsumer = opentracing.Tag{Key: string(SpanKind), Value: SpanKindConsumerEnum} + + ////////////////////////////////////////////////////////////////////// + // Component name + ////////////////////////////////////////////////////////////////////// + + // Component is a low-cardinality identifier of the module, library, + // or package that is generating a span. + Component = StringTagName("component") + + ////////////////////////////////////////////////////////////////////// + // Sampling hint + ////////////////////////////////////////////////////////////////////// + + // SamplingPriority determines the priority of sampling this Span. + SamplingPriority = Uint16TagName("sampling.priority") + + ////////////////////////////////////////////////////////////////////// + // Peer tags. These tags can be emitted by either client-side or + // server-side to describe the other side/service in a peer-to-peer + // communications, like an RPC call. + ////////////////////////////////////////////////////////////////////// + + // PeerService records the service name of the peer. + PeerService = StringTagName("peer.service") + + // PeerAddress records the address name of the peer. This may be a "ip:port", + // a bare "hostname", a FQDN or even a database DSN substring + // like "mysql://username@127.0.0.1:3306/dbname" + PeerAddress = StringTagName("peer.address") + + // PeerHostname records the host name of the peer + PeerHostname = StringTagName("peer.hostname") + + // PeerHostIPv4 records IP v4 host address of the peer + PeerHostIPv4 = IPv4TagName("peer.ipv4") + + // PeerHostIPv6 records IP v6 host address of the peer + PeerHostIPv6 = StringTagName("peer.ipv6") + + // PeerPort records port number of the peer + PeerPort = Uint16TagName("peer.port") + + ////////////////////////////////////////////////////////////////////// + // HTTP Tags + ////////////////////////////////////////////////////////////////////// + + // HTTPUrl should be the URL of the request being handled in this segment + // of the trace, in standard URI format. The protocol is optional. + HTTPUrl = StringTagName("http.url") + + // HTTPMethod is the HTTP method of the request, and is case-insensitive. + HTTPMethod = StringTagName("http.method") + + // HTTPStatusCode is the numeric HTTP status code (200, 404, etc) of the + // HTTP response. + HTTPStatusCode = Uint16TagName("http.status_code") + + ////////////////////////////////////////////////////////////////////// + // DB Tags + ////////////////////////////////////////////////////////////////////// + + // DBInstance is database instance name. + DBInstance = StringTagName("db.instance") + + // DBStatement is a database statement for the given database type. + // It can be a query or a prepared statement (i.e., before substitution). + DBStatement = StringTagName("db.statement") + + // DBType is a database type. For any SQL database, "sql". + // For others, the lower-case database category, e.g. "redis" + DBType = StringTagName("db.type") + + // DBUser is a username for accessing database. + DBUser = StringTagName("db.user") + + ////////////////////////////////////////////////////////////////////// + // Message Bus Tag + ////////////////////////////////////////////////////////////////////// + + // MessageBusDestination is an address at which messages can be exchanged + MessageBusDestination = StringTagName("message_bus.destination") + + ////////////////////////////////////////////////////////////////////// + // Error Tag + ////////////////////////////////////////////////////////////////////// + + // Error indicates that operation represented by the span resulted in an error. + Error = BoolTagName("error") +) + +// --- + +// SpanKindEnum represents common span types +type SpanKindEnum string + +type spanKindTagName string + +// Set adds a string tag to the `span` +func (tag spanKindTagName) Set(span opentracing.Span, value SpanKindEnum) { + span.SetTag(string(tag), value) +} + +type rpcServerOption struct { + clientContext opentracing.SpanContext +} + +func (r rpcServerOption) Apply(o *opentracing.StartSpanOptions) { + if r.clientContext != nil { + opentracing.ChildOf(r.clientContext).Apply(o) + } + SpanKindRPCServer.Apply(o) +} + +// RPCServerOption returns a StartSpanOption appropriate for an RPC server span +// with `client` representing the metadata for the remote peer Span if available. +// In case client == nil, due to the client not being instrumented, this RPC +// server span will be a root span. +func RPCServerOption(client opentracing.SpanContext) opentracing.StartSpanOption { + return rpcServerOption{client} +} + +// --- + +// StringTagName is a common tag name to be set to a string value +type StringTagName string + +// Set adds a string tag to the `span` +func (tag StringTagName) Set(span opentracing.Span, value string) { + span.SetTag(string(tag), value) +} + +// --- + +// Uint32TagName is a common tag name to be set to a uint32 value +type Uint32TagName string + +// Set adds a uint32 tag to the `span` +func (tag Uint32TagName) Set(span opentracing.Span, value uint32) { + span.SetTag(string(tag), value) +} + +// --- + +// Uint16TagName is a common tag name to be set to a uint16 value +type Uint16TagName string + +// Set adds a uint16 tag to the `span` +func (tag Uint16TagName) Set(span opentracing.Span, value uint16) { + span.SetTag(string(tag), value) +} + +// --- + +// BoolTagName is a common tag name to be set to a bool value +type BoolTagName string + +// Set adds a bool tag to the `span` +func (tag BoolTagName) Set(span opentracing.Span, value bool) { + span.SetTag(string(tag), value) +} + +// IPv4TagName is a common tag name to be set to an ipv4 value +type IPv4TagName string + +// Set adds IP v4 host address of the peer as an uint32 value to the `span`, keep this for backward and zipkin compatibility +func (tag IPv4TagName) Set(span opentracing.Span, value uint32) { + span.SetTag(string(tag), value) +} + +// SetString records IP v4 host address of the peer as a .-separated tuple to the `span`. E.g., "127.0.0.1" +func (tag IPv4TagName) SetString(span opentracing.Span, value string) { + span.SetTag(string(tag), value) +} diff --git a/vendor/github.com/opentracing/opentracing-go/globaltracer.go b/vendor/github.com/opentracing/opentracing-go/globaltracer.go new file mode 100644 index 00000000..4f7066a9 --- /dev/null +++ b/vendor/github.com/opentracing/opentracing-go/globaltracer.go @@ -0,0 +1,42 @@ +package opentracing + +type registeredTracer struct { + tracer Tracer + isRegistered bool +} + +var ( + globalTracer = registeredTracer{NoopTracer{}, false} +) + +// SetGlobalTracer sets the [singleton] opentracing.Tracer returned by +// GlobalTracer(). Those who use GlobalTracer (rather than directly manage an +// opentracing.Tracer instance) should call SetGlobalTracer as early as +// possible in main(), prior to calling the `StartSpan` global func below. +// Prior to calling `SetGlobalTracer`, any Spans started via the `StartSpan` +// (etc) globals are noops. +func SetGlobalTracer(tracer Tracer) { + globalTracer = registeredTracer{tracer, true} +} + +// GlobalTracer returns the global singleton `Tracer` implementation. +// Before `SetGlobalTracer()` is called, the `GlobalTracer()` is a noop +// implementation that drops all data handed to it. +func GlobalTracer() Tracer { + return globalTracer.tracer +} + +// StartSpan defers to `Tracer.StartSpan`. See `GlobalTracer()`. +func StartSpan(operationName string, opts ...StartSpanOption) Span { + return globalTracer.tracer.StartSpan(operationName, opts...) +} + +// InitGlobalTracer is deprecated. Please use SetGlobalTracer. +func InitGlobalTracer(tracer Tracer) { + SetGlobalTracer(tracer) +} + +// IsGlobalTracerRegistered returns a `bool` to indicate if a tracer has been globally registered +func IsGlobalTracerRegistered() bool { + return globalTracer.isRegistered +} diff --git a/vendor/github.com/opentracing/opentracing-go/gocontext.go b/vendor/github.com/opentracing/opentracing-go/gocontext.go new file mode 100644 index 00000000..1831bc9b --- /dev/null +++ b/vendor/github.com/opentracing/opentracing-go/gocontext.go @@ -0,0 +1,65 @@ +package opentracing + +import "context" + +type contextKey struct{} + +var activeSpanKey = contextKey{} + +// ContextWithSpan returns a new `context.Context` that holds a reference to +// the span. If span is nil, a new context without an active span is returned. +func ContextWithSpan(ctx context.Context, span Span) context.Context { + if span != nil { + if tracerWithHook, ok := span.Tracer().(TracerContextWithSpanExtension); ok { + ctx = tracerWithHook.ContextWithSpanHook(ctx, span) + } + } + return context.WithValue(ctx, activeSpanKey, span) +} + +// SpanFromContext returns the `Span` previously associated with `ctx`, or +// `nil` if no such `Span` could be found. +// +// NOTE: context.Context != SpanContext: the former is Go's intra-process +// context propagation mechanism, and the latter houses OpenTracing's per-Span +// identity and baggage information. +func SpanFromContext(ctx context.Context) Span { + val := ctx.Value(activeSpanKey) + if sp, ok := val.(Span); ok { + return sp + } + return nil +} + +// StartSpanFromContext starts and returns a Span with `operationName`, using +// any Span found within `ctx` as a ChildOfRef. If no such parent could be +// found, StartSpanFromContext creates a root (parentless) Span. +// +// The second return value is a context.Context object built around the +// returned Span. +// +// Example usage: +// +// SomeFunction(ctx context.Context, ...) { +// sp, ctx := opentracing.StartSpanFromContext(ctx, "SomeFunction") +// defer sp.Finish() +// ... +// } +func StartSpanFromContext(ctx context.Context, operationName string, opts ...StartSpanOption) (Span, context.Context) { + return StartSpanFromContextWithTracer(ctx, GlobalTracer(), operationName, opts...) +} + +// StartSpanFromContextWithTracer starts and returns a span with `operationName` +// using a span found within the context as a ChildOfRef. If that doesn't exist +// it creates a root span. It also returns a context.Context object built +// around the returned span. +// +// It's behavior is identical to StartSpanFromContext except that it takes an explicit +// tracer as opposed to using the global tracer. +func StartSpanFromContextWithTracer(ctx context.Context, tracer Tracer, operationName string, opts ...StartSpanOption) (Span, context.Context) { + if parentSpan := SpanFromContext(ctx); parentSpan != nil { + opts = append(opts, ChildOf(parentSpan.Context())) + } + span := tracer.StartSpan(operationName, opts...) + return span, ContextWithSpan(ctx, span) +} diff --git a/vendor/github.com/opentracing/opentracing-go/log/field.go b/vendor/github.com/opentracing/opentracing-go/log/field.go new file mode 100644 index 00000000..f222ded7 --- /dev/null +++ b/vendor/github.com/opentracing/opentracing-go/log/field.go @@ -0,0 +1,282 @@ +package log + +import ( + "fmt" + "math" +) + +type fieldType int + +const ( + stringType fieldType = iota + boolType + intType + int32Type + uint32Type + int64Type + uint64Type + float32Type + float64Type + errorType + objectType + lazyLoggerType + noopType +) + +// Field instances are constructed via LogBool, LogString, and so on. +// Tracing implementations may then handle them via the Field.Marshal +// method. +// +// "heavily influenced by" (i.e., partially stolen from) +// https://github.com/uber-go/zap +type Field struct { + key string + fieldType fieldType + numericVal int64 + stringVal string + interfaceVal interface{} +} + +// String adds a string-valued key:value pair to a Span.LogFields() record +func String(key, val string) Field { + return Field{ + key: key, + fieldType: stringType, + stringVal: val, + } +} + +// Bool adds a bool-valued key:value pair to a Span.LogFields() record +func Bool(key string, val bool) Field { + var numericVal int64 + if val { + numericVal = 1 + } + return Field{ + key: key, + fieldType: boolType, + numericVal: numericVal, + } +} + +// Int adds an int-valued key:value pair to a Span.LogFields() record +func Int(key string, val int) Field { + return Field{ + key: key, + fieldType: intType, + numericVal: int64(val), + } +} + +// Int32 adds an int32-valued key:value pair to a Span.LogFields() record +func Int32(key string, val int32) Field { + return Field{ + key: key, + fieldType: int32Type, + numericVal: int64(val), + } +} + +// Int64 adds an int64-valued key:value pair to a Span.LogFields() record +func Int64(key string, val int64) Field { + return Field{ + key: key, + fieldType: int64Type, + numericVal: val, + } +} + +// Uint32 adds a uint32-valued key:value pair to a Span.LogFields() record +func Uint32(key string, val uint32) Field { + return Field{ + key: key, + fieldType: uint32Type, + numericVal: int64(val), + } +} + +// Uint64 adds a uint64-valued key:value pair to a Span.LogFields() record +func Uint64(key string, val uint64) Field { + return Field{ + key: key, + fieldType: uint64Type, + numericVal: int64(val), + } +} + +// Float32 adds a float32-valued key:value pair to a Span.LogFields() record +func Float32(key string, val float32) Field { + return Field{ + key: key, + fieldType: float32Type, + numericVal: int64(math.Float32bits(val)), + } +} + +// Float64 adds a float64-valued key:value pair to a Span.LogFields() record +func Float64(key string, val float64) Field { + return Field{ + key: key, + fieldType: float64Type, + numericVal: int64(math.Float64bits(val)), + } +} + +// Error adds an error with the key "error.object" to a Span.LogFields() record +func Error(err error) Field { + return Field{ + key: "error.object", + fieldType: errorType, + interfaceVal: err, + } +} + +// Object adds an object-valued key:value pair to a Span.LogFields() record +// Please pass in an immutable object, otherwise there may be concurrency issues. +// Such as passing in the map, log.Object may result in "fatal error: concurrent map iteration and map write". +// Because span is sent asynchronously, it is possible that this map will also be modified. +func Object(key string, obj interface{}) Field { + return Field{ + key: key, + fieldType: objectType, + interfaceVal: obj, + } +} + +// Event creates a string-valued Field for span logs with key="event" and value=val. +func Event(val string) Field { + return String("event", val) +} + +// Message creates a string-valued Field for span logs with key="message" and value=val. +func Message(val string) Field { + return String("message", val) +} + +// LazyLogger allows for user-defined, late-bound logging of arbitrary data +type LazyLogger func(fv Encoder) + +// Lazy adds a LazyLogger to a Span.LogFields() record; the tracing +// implementation will call the LazyLogger function at an indefinite time in +// the future (after Lazy() returns). +func Lazy(ll LazyLogger) Field { + return Field{ + fieldType: lazyLoggerType, + interfaceVal: ll, + } +} + +// Noop creates a no-op log field that should be ignored by the tracer. +// It can be used to capture optional fields, for example those that should +// only be logged in non-production environment: +// +// func customerField(order *Order) log.Field { +// if os.Getenv("ENVIRONMENT") == "dev" { +// return log.String("customer", order.Customer.ID) +// } +// return log.Noop() +// } +// +// span.LogFields(log.String("event", "purchase"), customerField(order)) +// +func Noop() Field { + return Field{ + fieldType: noopType, + } +} + +// Encoder allows access to the contents of a Field (via a call to +// Field.Marshal). +// +// Tracer implementations typically provide an implementation of Encoder; +// OpenTracing callers typically do not need to concern themselves with it. +type Encoder interface { + EmitString(key, value string) + EmitBool(key string, value bool) + EmitInt(key string, value int) + EmitInt32(key string, value int32) + EmitInt64(key string, value int64) + EmitUint32(key string, value uint32) + EmitUint64(key string, value uint64) + EmitFloat32(key string, value float32) + EmitFloat64(key string, value float64) + EmitObject(key string, value interface{}) + EmitLazyLogger(value LazyLogger) +} + +// Marshal passes a Field instance through to the appropriate +// field-type-specific method of an Encoder. +func (lf Field) Marshal(visitor Encoder) { + switch lf.fieldType { + case stringType: + visitor.EmitString(lf.key, lf.stringVal) + case boolType: + visitor.EmitBool(lf.key, lf.numericVal != 0) + case intType: + visitor.EmitInt(lf.key, int(lf.numericVal)) + case int32Type: + visitor.EmitInt32(lf.key, int32(lf.numericVal)) + case int64Type: + visitor.EmitInt64(lf.key, int64(lf.numericVal)) + case uint32Type: + visitor.EmitUint32(lf.key, uint32(lf.numericVal)) + case uint64Type: + visitor.EmitUint64(lf.key, uint64(lf.numericVal)) + case float32Type: + visitor.EmitFloat32(lf.key, math.Float32frombits(uint32(lf.numericVal))) + case float64Type: + visitor.EmitFloat64(lf.key, math.Float64frombits(uint64(lf.numericVal))) + case errorType: + if err, ok := lf.interfaceVal.(error); ok { + visitor.EmitString(lf.key, err.Error()) + } else { + visitor.EmitString(lf.key, "") + } + case objectType: + visitor.EmitObject(lf.key, lf.interfaceVal) + case lazyLoggerType: + visitor.EmitLazyLogger(lf.interfaceVal.(LazyLogger)) + case noopType: + // intentionally left blank + } +} + +// Key returns the field's key. +func (lf Field) Key() string { + return lf.key +} + +// Value returns the field's value as interface{}. +func (lf Field) Value() interface{} { + switch lf.fieldType { + case stringType: + return lf.stringVal + case boolType: + return lf.numericVal != 0 + case intType: + return int(lf.numericVal) + case int32Type: + return int32(lf.numericVal) + case int64Type: + return int64(lf.numericVal) + case uint32Type: + return uint32(lf.numericVal) + case uint64Type: + return uint64(lf.numericVal) + case float32Type: + return math.Float32frombits(uint32(lf.numericVal)) + case float64Type: + return math.Float64frombits(uint64(lf.numericVal)) + case errorType, objectType, lazyLoggerType: + return lf.interfaceVal + case noopType: + return nil + default: + return nil + } +} + +// String returns a string representation of the key and value. +func (lf Field) String() string { + return fmt.Sprint(lf.key, ":", lf.Value()) +} diff --git a/vendor/github.com/opentracing/opentracing-go/log/util.go b/vendor/github.com/opentracing/opentracing-go/log/util.go new file mode 100644 index 00000000..d57e28aa --- /dev/null +++ b/vendor/github.com/opentracing/opentracing-go/log/util.go @@ -0,0 +1,61 @@ +package log + +import ( + "fmt" + "reflect" +) + +// InterleavedKVToFields converts keyValues a la Span.LogKV() to a Field slice +// a la Span.LogFields(). +func InterleavedKVToFields(keyValues ...interface{}) ([]Field, error) { + if len(keyValues)%2 != 0 { + return nil, fmt.Errorf("non-even keyValues len: %d", len(keyValues)) + } + fields := make([]Field, len(keyValues)/2) + for i := 0; i*2 < len(keyValues); i++ { + key, ok := keyValues[i*2].(string) + if !ok { + return nil, fmt.Errorf( + "non-string key (pair #%d): %T", + i, keyValues[i*2]) + } + switch typedVal := keyValues[i*2+1].(type) { + case bool: + fields[i] = Bool(key, typedVal) + case string: + fields[i] = String(key, typedVal) + case int: + fields[i] = Int(key, typedVal) + case int8: + fields[i] = Int32(key, int32(typedVal)) + case int16: + fields[i] = Int32(key, int32(typedVal)) + case int32: + fields[i] = Int32(key, typedVal) + case int64: + fields[i] = Int64(key, typedVal) + case uint: + fields[i] = Uint64(key, uint64(typedVal)) + case uint64: + fields[i] = Uint64(key, typedVal) + case uint8: + fields[i] = Uint32(key, uint32(typedVal)) + case uint16: + fields[i] = Uint32(key, uint32(typedVal)) + case uint32: + fields[i] = Uint32(key, typedVal) + case float32: + fields[i] = Float32(key, typedVal) + case float64: + fields[i] = Float64(key, typedVal) + default: + if typedVal == nil || (reflect.ValueOf(typedVal).Kind() == reflect.Ptr && reflect.ValueOf(typedVal).IsNil()) { + fields[i] = String(key, "nil") + continue + } + // When in doubt, coerce to a string + fields[i] = String(key, fmt.Sprint(typedVal)) + } + } + return fields, nil +} diff --git a/vendor/github.com/opentracing/opentracing-go/noop.go b/vendor/github.com/opentracing/opentracing-go/noop.go new file mode 100644 index 00000000..f9b680a2 --- /dev/null +++ b/vendor/github.com/opentracing/opentracing-go/noop.go @@ -0,0 +1,64 @@ +package opentracing + +import "github.com/opentracing/opentracing-go/log" + +// A NoopTracer is a trivial, minimum overhead implementation of Tracer +// for which all operations are no-ops. +// +// The primary use of this implementation is in libraries, such as RPC +// frameworks, that make tracing an optional feature controlled by the +// end user. A no-op implementation allows said libraries to use it +// as the default Tracer and to write instrumentation that does +// not need to keep checking if the tracer instance is nil. +// +// For the same reason, the NoopTracer is the default "global" tracer +// (see GlobalTracer and SetGlobalTracer functions). +// +// WARNING: NoopTracer does not support baggage propagation. +type NoopTracer struct{} + +type noopSpan struct{} +type noopSpanContext struct{} + +var ( + defaultNoopSpanContext SpanContext = noopSpanContext{} + defaultNoopSpan Span = noopSpan{} + defaultNoopTracer Tracer = NoopTracer{} +) + +const ( + emptyString = "" +) + +// noopSpanContext: +func (n noopSpanContext) ForeachBaggageItem(handler func(k, v string) bool) {} + +// noopSpan: +func (n noopSpan) Context() SpanContext { return defaultNoopSpanContext } +func (n noopSpan) SetBaggageItem(key, val string) Span { return n } +func (n noopSpan) BaggageItem(key string) string { return emptyString } +func (n noopSpan) SetTag(key string, value interface{}) Span { return n } +func (n noopSpan) LogFields(fields ...log.Field) {} +func (n noopSpan) LogKV(keyVals ...interface{}) {} +func (n noopSpan) Finish() {} +func (n noopSpan) FinishWithOptions(opts FinishOptions) {} +func (n noopSpan) SetOperationName(operationName string) Span { return n } +func (n noopSpan) Tracer() Tracer { return defaultNoopTracer } +func (n noopSpan) LogEvent(event string) {} +func (n noopSpan) LogEventWithPayload(event string, payload interface{}) {} +func (n noopSpan) Log(data LogData) {} + +// StartSpan belongs to the Tracer interface. +func (n NoopTracer) StartSpan(operationName string, opts ...StartSpanOption) Span { + return defaultNoopSpan +} + +// Inject belongs to the Tracer interface. +func (n NoopTracer) Inject(sp SpanContext, format interface{}, carrier interface{}) error { + return nil +} + +// Extract belongs to the Tracer interface. +func (n NoopTracer) Extract(format interface{}, carrier interface{}) (SpanContext, error) { + return nil, ErrSpanContextNotFound +} diff --git a/vendor/github.com/opentracing/opentracing-go/propagation.go b/vendor/github.com/opentracing/opentracing-go/propagation.go new file mode 100644 index 00000000..b0c275eb --- /dev/null +++ b/vendor/github.com/opentracing/opentracing-go/propagation.go @@ -0,0 +1,176 @@ +package opentracing + +import ( + "errors" + "net/http" +) + +/////////////////////////////////////////////////////////////////////////////// +// CORE PROPAGATION INTERFACES: +/////////////////////////////////////////////////////////////////////////////// + +var ( + // ErrUnsupportedFormat occurs when the `format` passed to Tracer.Inject() or + // Tracer.Extract() is not recognized by the Tracer implementation. + ErrUnsupportedFormat = errors.New("opentracing: Unknown or unsupported Inject/Extract format") + + // ErrSpanContextNotFound occurs when the `carrier` passed to + // Tracer.Extract() is valid and uncorrupted but has insufficient + // information to extract a SpanContext. + ErrSpanContextNotFound = errors.New("opentracing: SpanContext not found in Extract carrier") + + // ErrInvalidSpanContext errors occur when Tracer.Inject() is asked to + // operate on a SpanContext which it is not prepared to handle (for + // example, since it was created by a different tracer implementation). + ErrInvalidSpanContext = errors.New("opentracing: SpanContext type incompatible with tracer") + + // ErrInvalidCarrier errors occur when Tracer.Inject() or Tracer.Extract() + // implementations expect a different type of `carrier` than they are + // given. + ErrInvalidCarrier = errors.New("opentracing: Invalid Inject/Extract carrier") + + // ErrSpanContextCorrupted occurs when the `carrier` passed to + // Tracer.Extract() is of the expected type but is corrupted. + ErrSpanContextCorrupted = errors.New("opentracing: SpanContext data corrupted in Extract carrier") +) + +/////////////////////////////////////////////////////////////////////////////// +// BUILTIN PROPAGATION FORMATS: +/////////////////////////////////////////////////////////////////////////////// + +// BuiltinFormat is used to demarcate the values within package `opentracing` +// that are intended for use with the Tracer.Inject() and Tracer.Extract() +// methods. +type BuiltinFormat byte + +const ( + // Binary represents SpanContexts as opaque binary data. + // + // For Tracer.Inject(): the carrier must be an `io.Writer`. + // + // For Tracer.Extract(): the carrier must be an `io.Reader`. + Binary BuiltinFormat = iota + + // TextMap represents SpanContexts as key:value string pairs. + // + // Unlike HTTPHeaders, the TextMap format does not restrict the key or + // value character sets in any way. + // + // For Tracer.Inject(): the carrier must be a `TextMapWriter`. + // + // For Tracer.Extract(): the carrier must be a `TextMapReader`. + TextMap + + // HTTPHeaders represents SpanContexts as HTTP header string pairs. + // + // Unlike TextMap, the HTTPHeaders format requires that the keys and values + // be valid as HTTP headers as-is (i.e., character casing may be unstable + // and special characters are disallowed in keys, values should be + // URL-escaped, etc). + // + // For Tracer.Inject(): the carrier must be a `TextMapWriter`. + // + // For Tracer.Extract(): the carrier must be a `TextMapReader`. + // + // See HTTPHeadersCarrier for an implementation of both TextMapWriter + // and TextMapReader that defers to an http.Header instance for storage. + // For example, Inject(): + // + // carrier := opentracing.HTTPHeadersCarrier(httpReq.Header) + // err := span.Tracer().Inject( + // span.Context(), opentracing.HTTPHeaders, carrier) + // + // Or Extract(): + // + // carrier := opentracing.HTTPHeadersCarrier(httpReq.Header) + // clientContext, err := tracer.Extract( + // opentracing.HTTPHeaders, carrier) + // + HTTPHeaders +) + +// TextMapWriter is the Inject() carrier for the TextMap builtin format. With +// it, the caller can encode a SpanContext for propagation as entries in a map +// of unicode strings. +type TextMapWriter interface { + // Set a key:value pair to the carrier. Multiple calls to Set() for the + // same key leads to undefined behavior. + // + // NOTE: The backing store for the TextMapWriter may contain data unrelated + // to SpanContext. As such, Inject() and Extract() implementations that + // call the TextMapWriter and TextMapReader interfaces must agree on a + // prefix or other convention to distinguish their own key:value pairs. + Set(key, val string) +} + +// TextMapReader is the Extract() carrier for the TextMap builtin format. With it, +// the caller can decode a propagated SpanContext as entries in a map of +// unicode strings. +type TextMapReader interface { + // ForeachKey returns TextMap contents via repeated calls to the `handler` + // function. If any call to `handler` returns a non-nil error, ForeachKey + // terminates and returns that error. + // + // NOTE: The backing store for the TextMapReader may contain data unrelated + // to SpanContext. As such, Inject() and Extract() implementations that + // call the TextMapWriter and TextMapReader interfaces must agree on a + // prefix or other convention to distinguish their own key:value pairs. + // + // The "foreach" callback pattern reduces unnecessary copying in some cases + // and also allows implementations to hold locks while the map is read. + ForeachKey(handler func(key, val string) error) error +} + +// TextMapCarrier allows the use of regular map[string]string +// as both TextMapWriter and TextMapReader. +type TextMapCarrier map[string]string + +// ForeachKey conforms to the TextMapReader interface. +func (c TextMapCarrier) ForeachKey(handler func(key, val string) error) error { + for k, v := range c { + if err := handler(k, v); err != nil { + return err + } + } + return nil +} + +// Set implements Set() of opentracing.TextMapWriter +func (c TextMapCarrier) Set(key, val string) { + c[key] = val +} + +// HTTPHeadersCarrier satisfies both TextMapWriter and TextMapReader. +// +// Example usage for server side: +// +// carrier := opentracing.HTTPHeadersCarrier(httpReq.Header) +// clientContext, err := tracer.Extract(opentracing.HTTPHeaders, carrier) +// +// Example usage for client side: +// +// carrier := opentracing.HTTPHeadersCarrier(httpReq.Header) +// err := tracer.Inject( +// span.Context(), +// opentracing.HTTPHeaders, +// carrier) +// +type HTTPHeadersCarrier http.Header + +// Set conforms to the TextMapWriter interface. +func (c HTTPHeadersCarrier) Set(key, val string) { + h := http.Header(c) + h.Set(key, val) +} + +// ForeachKey conforms to the TextMapReader interface. +func (c HTTPHeadersCarrier) ForeachKey(handler func(key, val string) error) error { + for k, vals := range c { + for _, v := range vals { + if err := handler(k, v); err != nil { + return err + } + } + } + return nil +} diff --git a/vendor/github.com/opentracing/opentracing-go/span.go b/vendor/github.com/opentracing/opentracing-go/span.go new file mode 100644 index 00000000..0d3fb534 --- /dev/null +++ b/vendor/github.com/opentracing/opentracing-go/span.go @@ -0,0 +1,189 @@ +package opentracing + +import ( + "time" + + "github.com/opentracing/opentracing-go/log" +) + +// SpanContext represents Span state that must propagate to descendant Spans and across process +// boundaries (e.g., a tuple). +type SpanContext interface { + // ForeachBaggageItem grants access to all baggage items stored in the + // SpanContext. + // The handler function will be called for each baggage key/value pair. + // The ordering of items is not guaranteed. + // + // The bool return value indicates if the handler wants to continue iterating + // through the rest of the baggage items; for example if the handler is trying to + // find some baggage item by pattern matching the name, it can return false + // as soon as the item is found to stop further iterations. + ForeachBaggageItem(handler func(k, v string) bool) +} + +// Span represents an active, un-finished span in the OpenTracing system. +// +// Spans are created by the Tracer interface. +type Span interface { + // Sets the end timestamp and finalizes Span state. + // + // With the exception of calls to Context() (which are always allowed), + // Finish() must be the last call made to any span instance, and to do + // otherwise leads to undefined behavior. + Finish() + // FinishWithOptions is like Finish() but with explicit control over + // timestamps and log data. + FinishWithOptions(opts FinishOptions) + + // Context() yields the SpanContext for this Span. Note that the return + // value of Context() is still valid after a call to Span.Finish(), as is + // a call to Span.Context() after a call to Span.Finish(). + Context() SpanContext + + // Sets or changes the operation name. + // + // Returns a reference to this Span for chaining. + SetOperationName(operationName string) Span + + // Adds a tag to the span. + // + // If there is a pre-existing tag set for `key`, it is overwritten. + // + // Tag values can be numeric types, strings, or bools. The behavior of + // other tag value types is undefined at the OpenTracing level. If a + // tracing system does not know how to handle a particular value type, it + // may ignore the tag, but shall not panic. + // + // Returns a reference to this Span for chaining. + SetTag(key string, value interface{}) Span + + // LogFields is an efficient and type-checked way to record key:value + // logging data about a Span, though the programming interface is a little + // more verbose than LogKV(). Here's an example: + // + // span.LogFields( + // log.String("event", "soft error"), + // log.String("type", "cache timeout"), + // log.Int("waited.millis", 1500)) + // + // Also see Span.FinishWithOptions() and FinishOptions.BulkLogData. + LogFields(fields ...log.Field) + + // LogKV is a concise, readable way to record key:value logging data about + // a Span, though unfortunately this also makes it less efficient and less + // type-safe than LogFields(). Here's an example: + // + // span.LogKV( + // "event", "soft error", + // "type", "cache timeout", + // "waited.millis", 1500) + // + // For LogKV (as opposed to LogFields()), the parameters must appear as + // key-value pairs, like + // + // span.LogKV(key1, val1, key2, val2, key3, val3, ...) + // + // The keys must all be strings. The values may be strings, numeric types, + // bools, Go error instances, or arbitrary structs. + // + // (Note to implementors: consider the log.InterleavedKVToFields() helper) + LogKV(alternatingKeyValues ...interface{}) + + // SetBaggageItem sets a key:value pair on this Span and its SpanContext + // that also propagates to descendants of this Span. + // + // SetBaggageItem() enables powerful functionality given a full-stack + // opentracing integration (e.g., arbitrary application data from a mobile + // app can make it, transparently, all the way into the depths of a storage + // system), and with it some powerful costs: use this feature with care. + // + // IMPORTANT NOTE #1: SetBaggageItem() will only propagate baggage items to + // *future* causal descendants of the associated Span. + // + // IMPORTANT NOTE #2: Use this thoughtfully and with care. Every key and + // value is copied into every local *and remote* child of the associated + // Span, and that can add up to a lot of network and cpu overhead. + // + // Returns a reference to this Span for chaining. + SetBaggageItem(restrictedKey, value string) Span + + // Gets the value for a baggage item given its key. Returns the empty string + // if the value isn't found in this Span. + BaggageItem(restrictedKey string) string + + // Provides access to the Tracer that created this Span. + Tracer() Tracer + + // Deprecated: use LogFields or LogKV + LogEvent(event string) + // Deprecated: use LogFields or LogKV + LogEventWithPayload(event string, payload interface{}) + // Deprecated: use LogFields or LogKV + Log(data LogData) +} + +// LogRecord is data associated with a single Span log. Every LogRecord +// instance must specify at least one Field. +type LogRecord struct { + Timestamp time.Time + Fields []log.Field +} + +// FinishOptions allows Span.FinishWithOptions callers to override the finish +// timestamp and provide log data via a bulk interface. +type FinishOptions struct { + // FinishTime overrides the Span's finish time, or implicitly becomes + // time.Now() if FinishTime.IsZero(). + // + // FinishTime must resolve to a timestamp that's >= the Span's StartTime + // (per StartSpanOptions). + FinishTime time.Time + + // LogRecords allows the caller to specify the contents of many LogFields() + // calls with a single slice. May be nil. + // + // None of the LogRecord.Timestamp values may be .IsZero() (i.e., they must + // be set explicitly). Also, they must be >= the Span's start timestamp and + // <= the FinishTime (or time.Now() if FinishTime.IsZero()). Otherwise the + // behavior of FinishWithOptions() is undefined. + // + // If specified, the caller hands off ownership of LogRecords at + // FinishWithOptions() invocation time. + // + // If specified, the (deprecated) BulkLogData must be nil or empty. + LogRecords []LogRecord + + // BulkLogData is DEPRECATED. + BulkLogData []LogData +} + +// LogData is DEPRECATED +type LogData struct { + Timestamp time.Time + Event string + Payload interface{} +} + +// ToLogRecord converts a deprecated LogData to a non-deprecated LogRecord +func (ld *LogData) ToLogRecord() LogRecord { + var literalTimestamp time.Time + if ld.Timestamp.IsZero() { + literalTimestamp = time.Now() + } else { + literalTimestamp = ld.Timestamp + } + rval := LogRecord{ + Timestamp: literalTimestamp, + } + if ld.Payload == nil { + rval.Fields = []log.Field{ + log.String("event", ld.Event), + } + } else { + rval.Fields = []log.Field{ + log.String("event", ld.Event), + log.Object("payload", ld.Payload), + } + } + return rval +} diff --git a/vendor/github.com/opentracing/opentracing-go/tracer.go b/vendor/github.com/opentracing/opentracing-go/tracer.go new file mode 100644 index 00000000..715f0ced --- /dev/null +++ b/vendor/github.com/opentracing/opentracing-go/tracer.go @@ -0,0 +1,304 @@ +package opentracing + +import "time" + +// Tracer is a simple, thin interface for Span creation and SpanContext +// propagation. +type Tracer interface { + + // Create, start, and return a new Span with the given `operationName` and + // incorporate the given StartSpanOption `opts`. (Note that `opts` borrows + // from the "functional options" pattern, per + // http://dave.cheney.net/2014/10/17/functional-options-for-friendly-apis) + // + // A Span with no SpanReference options (e.g., opentracing.ChildOf() or + // opentracing.FollowsFrom()) becomes the root of its own trace. + // + // Examples: + // + // var tracer opentracing.Tracer = ... + // + // // The root-span case: + // sp := tracer.StartSpan("GetFeed") + // + // // The vanilla child span case: + // sp := tracer.StartSpan( + // "GetFeed", + // opentracing.ChildOf(parentSpan.Context())) + // + // // All the bells and whistles: + // sp := tracer.StartSpan( + // "GetFeed", + // opentracing.ChildOf(parentSpan.Context()), + // opentracing.Tag{"user_agent", loggedReq.UserAgent}, + // opentracing.StartTime(loggedReq.Timestamp), + // ) + // + StartSpan(operationName string, opts ...StartSpanOption) Span + + // Inject() takes the `sm` SpanContext instance and injects it for + // propagation within `carrier`. The actual type of `carrier` depends on + // the value of `format`. + // + // OpenTracing defines a common set of `format` values (see BuiltinFormat), + // and each has an expected carrier type. + // + // Other packages may declare their own `format` values, much like the keys + // used by `context.Context` (see https://godoc.org/context#WithValue). + // + // Example usage (sans error handling): + // + // carrier := opentracing.HTTPHeadersCarrier(httpReq.Header) + // err := tracer.Inject( + // span.Context(), + // opentracing.HTTPHeaders, + // carrier) + // + // NOTE: All opentracing.Tracer implementations MUST support all + // BuiltinFormats. + // + // Implementations may return opentracing.ErrUnsupportedFormat if `format` + // is not supported by (or not known by) the implementation. + // + // Implementations may return opentracing.ErrInvalidCarrier or any other + // implementation-specific error if the format is supported but injection + // fails anyway. + // + // See Tracer.Extract(). + Inject(sm SpanContext, format interface{}, carrier interface{}) error + + // Extract() returns a SpanContext instance given `format` and `carrier`. + // + // OpenTracing defines a common set of `format` values (see BuiltinFormat), + // and each has an expected carrier type. + // + // Other packages may declare their own `format` values, much like the keys + // used by `context.Context` (see + // https://godoc.org/golang.org/x/net/context#WithValue). + // + // Example usage (with StartSpan): + // + // + // carrier := opentracing.HTTPHeadersCarrier(httpReq.Header) + // clientContext, err := tracer.Extract(opentracing.HTTPHeaders, carrier) + // + // // ... assuming the ultimate goal here is to resume the trace with a + // // server-side Span: + // var serverSpan opentracing.Span + // if err == nil { + // span = tracer.StartSpan( + // rpcMethodName, ext.RPCServerOption(clientContext)) + // } else { + // span = tracer.StartSpan(rpcMethodName) + // } + // + // + // NOTE: All opentracing.Tracer implementations MUST support all + // BuiltinFormats. + // + // Return values: + // - A successful Extract returns a SpanContext instance and a nil error + // - If there was simply no SpanContext to extract in `carrier`, Extract() + // returns (nil, opentracing.ErrSpanContextNotFound) + // - If `format` is unsupported or unrecognized, Extract() returns (nil, + // opentracing.ErrUnsupportedFormat) + // - If there are more fundamental problems with the `carrier` object, + // Extract() may return opentracing.ErrInvalidCarrier, + // opentracing.ErrSpanContextCorrupted, or implementation-specific + // errors. + // + // See Tracer.Inject(). + Extract(format interface{}, carrier interface{}) (SpanContext, error) +} + +// StartSpanOptions allows Tracer.StartSpan() callers and implementors a +// mechanism to override the start timestamp, specify Span References, and make +// a single Tag or multiple Tags available at Span start time. +// +// StartSpan() callers should look at the StartSpanOption interface and +// implementations available in this package. +// +// Tracer implementations can convert a slice of `StartSpanOption` instances +// into a `StartSpanOptions` struct like so: +// +// func StartSpan(opName string, opts ...opentracing.StartSpanOption) { +// sso := opentracing.StartSpanOptions{} +// for _, o := range opts { +// o.Apply(&sso) +// } +// ... +// } +// +type StartSpanOptions struct { + // Zero or more causal references to other Spans (via their SpanContext). + // If empty, start a "root" Span (i.e., start a new trace). + References []SpanReference + + // StartTime overrides the Span's start time, or implicitly becomes + // time.Now() if StartTime.IsZero(). + StartTime time.Time + + // Tags may have zero or more entries; the restrictions on map values are + // identical to those for Span.SetTag(). May be nil. + // + // If specified, the caller hands off ownership of Tags at + // StartSpan() invocation time. + Tags map[string]interface{} +} + +// StartSpanOption instances (zero or more) may be passed to Tracer.StartSpan. +// +// StartSpanOption borrows from the "functional options" pattern, per +// http://dave.cheney.net/2014/10/17/functional-options-for-friendly-apis +type StartSpanOption interface { + Apply(*StartSpanOptions) +} + +// SpanReferenceType is an enum type describing different categories of +// relationships between two Spans. If Span-2 refers to Span-1, the +// SpanReferenceType describes Span-1 from Span-2's perspective. For example, +// ChildOfRef means that Span-1 created Span-2. +// +// NOTE: Span-1 and Span-2 do *not* necessarily depend on each other for +// completion; e.g., Span-2 may be part of a background job enqueued by Span-1, +// or Span-2 may be sitting in a distributed queue behind Span-1. +type SpanReferenceType int + +const ( + // ChildOfRef refers to a parent Span that caused *and* somehow depends + // upon the new child Span. Often (but not always), the parent Span cannot + // finish until the child Span does. + // + // An timing diagram for a ChildOfRef that's blocked on the new Span: + // + // [-Parent Span---------] + // [-Child Span----] + // + // See http://opentracing.io/spec/ + // + // See opentracing.ChildOf() + ChildOfRef SpanReferenceType = iota + + // FollowsFromRef refers to a parent Span that does not depend in any way + // on the result of the new child Span. For instance, one might use + // FollowsFromRefs to describe pipeline stages separated by queues, + // or a fire-and-forget cache insert at the tail end of a web request. + // + // A FollowsFromRef Span is part of the same logical trace as the new Span: + // i.e., the new Span is somehow caused by the work of its FollowsFromRef. + // + // All of the following could be valid timing diagrams for children that + // "FollowFrom" a parent. + // + // [-Parent Span-] [-Child Span-] + // + // + // [-Parent Span--] + // [-Child Span-] + // + // + // [-Parent Span-] + // [-Child Span-] + // + // See http://opentracing.io/spec/ + // + // See opentracing.FollowsFrom() + FollowsFromRef +) + +// SpanReference is a StartSpanOption that pairs a SpanReferenceType and a +// referenced SpanContext. See the SpanReferenceType documentation for +// supported relationships. If SpanReference is created with +// ReferencedContext==nil, it has no effect. Thus it allows for a more concise +// syntax for starting spans: +// +// sc, _ := tracer.Extract(someFormat, someCarrier) +// span := tracer.StartSpan("operation", opentracing.ChildOf(sc)) +// +// The `ChildOf(sc)` option above will not panic if sc == nil, it will just +// not add the parent span reference to the options. +type SpanReference struct { + Type SpanReferenceType + ReferencedContext SpanContext +} + +// Apply satisfies the StartSpanOption interface. +func (r SpanReference) Apply(o *StartSpanOptions) { + if r.ReferencedContext != nil { + o.References = append(o.References, r) + } +} + +// ChildOf returns a StartSpanOption pointing to a dependent parent span. +// If sc == nil, the option has no effect. +// +// See ChildOfRef, SpanReference +func ChildOf(sc SpanContext) SpanReference { + return SpanReference{ + Type: ChildOfRef, + ReferencedContext: sc, + } +} + +// FollowsFrom returns a StartSpanOption pointing to a parent Span that caused +// the child Span but does not directly depend on its result in any way. +// If sc == nil, the option has no effect. +// +// See FollowsFromRef, SpanReference +func FollowsFrom(sc SpanContext) SpanReference { + return SpanReference{ + Type: FollowsFromRef, + ReferencedContext: sc, + } +} + +// StartTime is a StartSpanOption that sets an explicit start timestamp for the +// new Span. +type StartTime time.Time + +// Apply satisfies the StartSpanOption interface. +func (t StartTime) Apply(o *StartSpanOptions) { + o.StartTime = time.Time(t) +} + +// Tags are a generic map from an arbitrary string key to an opaque value type. +// The underlying tracing system is responsible for interpreting and +// serializing the values. +type Tags map[string]interface{} + +// Apply satisfies the StartSpanOption interface. +func (t Tags) Apply(o *StartSpanOptions) { + if o.Tags == nil { + o.Tags = make(map[string]interface{}) + } + for k, v := range t { + o.Tags[k] = v + } +} + +// Tag may be passed as a StartSpanOption to add a tag to new spans, +// or its Set method may be used to apply the tag to an existing Span, +// for example: +// +// tracer.StartSpan("opName", Tag{"Key", value}) +// +// or +// +// Tag{"key", value}.Set(span) +type Tag struct { + Key string + Value interface{} +} + +// Apply satisfies the StartSpanOption interface. +func (t Tag) Apply(o *StartSpanOptions) { + if o.Tags == nil { + o.Tags = make(map[string]interface{}) + } + o.Tags[t.Key] = t.Value +} + +// Set applies the tag to an existing Span. +func (t Tag) Set(s Span) { + s.SetTag(t.Key, t.Value) +} diff --git a/vendor/go.mau.fi/whatsmeow/client.go b/vendor/go.mau.fi/whatsmeow/client.go index f37b2a25..41bad823 100644 --- a/vendor/go.mau.fi/whatsmeow/client.go +++ b/vendor/go.mau.fi/whatsmeow/client.go @@ -67,11 +67,14 @@ type Client struct { appStateProc *appstate.Processor appStateSyncLock sync.Mutex + historySyncNotifications chan *waProto.HistorySyncNotification + historySyncHandlerStarted uint32 + uploadPreKeysLock sync.Mutex lastPreKeyUpload time.Time - mediaConn *MediaConn - mediaConnLock sync.Mutex + mediaConnCache *MediaConn + mediaConnLock sync.Mutex responseWaiters map[string]chan<- *waBinary.Node responseWaitersLock sync.Mutex @@ -102,6 +105,11 @@ type Client struct { // If it returns false, the accepting will be cancelled and the retry receipt will be ignored. PreRetryCallback func(receipt *events.Receipt, retryCount int, msg *waProto.Message) bool + // Should untrusted identity errors be handled automatically? If true, the stored identity and existing signal + // sessions will be removed on untrusted identity errors, and an events.IdentityChange will be dispatched. + // If false, decrypting a message from untrusted devices will fail. + AutoTrustIdentity bool + uniqueID string idCounter uint32 @@ -150,6 +158,8 @@ func NewClient(deviceStore *store.Device, log waLog.Logger) *Client { handlerQueue: make(chan *waBinary.Node, handlerQueueSize), appStateProc: appstate.NewProcessor(deviceStore, log.Sub("AppState")), + historySyncNotifications: make(chan *waProto.HistorySyncNotification, 32), + groupParticipantsCache: make(map[types.JID][]types.JID), userDevicesCache: make(map[types.JID][]types.JID), @@ -157,6 +167,7 @@ func NewClient(deviceStore *store.Device, log waLog.Logger) *Client { GetMessageForRetry: func(to types.JID, id types.MessageID) *waProto.Message { return nil }, EnableAutoReconnect: true, + AutoTrustIdentity: true, } cli.nodeHandlers = map[string]nodeHandler{ "message": cli.handleEncryptedMessage, diff --git a/vendor/go.mau.fi/whatsmeow/download.go b/vendor/go.mau.fi/whatsmeow/download.go index dd4aade0..6779478f 100644 --- a/vendor/go.mau.fi/whatsmeow/download.go +++ b/vendor/go.mau.fi/whatsmeow/download.go @@ -194,19 +194,20 @@ func (cli *Client) Download(msg DownloadableMessage) ([]byte, error) { // DownloadMediaWithPath downloads an attachment by manually specifying the path and encryption details. func (cli *Client) DownloadMediaWithPath(directPath string, encFileHash, fileHash, mediaKey []byte, fileLength int, mediaType MediaType, mmsType string) (data []byte, err error) { - err = cli.refreshMediaConn(false) + var mediaConn *MediaConn + mediaConn, err = cli.refreshMediaConn(false) if err != nil { return nil, fmt.Errorf("failed to refresh media connections: %w", err) } if len(mmsType) == 0 { mmsType = mediaTypeToMMSType[mediaType] } - for i, host := range cli.mediaConn.Hosts { + for i, host := range mediaConn.Hosts { mediaURL := fmt.Sprintf("https://%s%s&hash=%s&mms-type=%s&__wa-mms=", host.Hostname, directPath, base64.URLEncoding.EncodeToString(encFileHash), mmsType) data, err = cli.downloadAndDecrypt(mediaURL, mediaKey, mediaType, fileLength, encFileHash, fileHash) // TODO there are probably some errors that shouldn't retry if err != nil { - if i >= len(cli.mediaConn.Hosts)-1 { + if i >= len(mediaConn.Hosts)-1 { return nil, fmt.Errorf("failed to download media from last host: %w", err) } cli.Log.Warnf("Failed to download media: %s, trying with next host...", err) diff --git a/vendor/go.mau.fi/whatsmeow/mediaconn.go b/vendor/go.mau.fi/whatsmeow/mediaconn.go index 6faa27a6..2e833037 100644 --- a/vendor/go.mau.fi/whatsmeow/mediaconn.go +++ b/vendor/go.mau.fi/whatsmeow/mediaconn.go @@ -40,17 +40,17 @@ func (mc *MediaConn) Expiry() time.Time { return mc.FetchedAt.Add(time.Duration(mc.TTL) * time.Second) } -func (cli *Client) refreshMediaConn(force bool) error { +func (cli *Client) refreshMediaConn(force bool) (*MediaConn, error) { cli.mediaConnLock.Lock() defer cli.mediaConnLock.Unlock() - if cli.mediaConn == nil || force || time.Now().After(cli.mediaConn.Expiry()) { + if cli.mediaConnCache == nil || force || time.Now().After(cli.mediaConnCache.Expiry()) { var err error - cli.mediaConn, err = cli.queryMediaConn() + cli.mediaConnCache, err = cli.queryMediaConn() if err != nil { - return err + return nil, err } } - return nil + return cli.mediaConnCache, nil } func (cli *Client) queryMediaConn() (*MediaConn, error) { diff --git a/vendor/go.mau.fi/whatsmeow/message.go b/vendor/go.mau.fi/whatsmeow/message.go index 3238ba90..85ccb12b 100644 --- a/vendor/go.mau.fi/whatsmeow/message.go +++ b/vendor/go.mau.fi/whatsmeow/message.go @@ -13,7 +13,9 @@ import ( "errors" "fmt" "io" + "runtime/debug" "strconv" + "sync/atomic" "time" "go.mau.fi/libsignal/signalerror" @@ -162,6 +164,18 @@ func (cli *Client) decryptMessages(info *types.MessageInfo, node *waBinary.Node) } } +func (cli *Client) clearUntrustedIdentity(target types.JID) { + err := cli.Store.Identities.DeleteIdentity(target.SignalAddress().String()) + if err != nil { + cli.Log.Warnf("Failed to delete untrusted identity of %s from store: %v", target, err) + } + err = cli.Store.Sessions.DeleteSession(target.SignalAddress().String()) + if err != nil { + cli.Log.Warnf("Failed to delete session with %s (untrusted identity) from store: %v", target, err) + } + cli.dispatchEvent(&events.IdentityChange{JID: target, Timestamp: time.Now(), Implicit: true}) +} + func (cli *Client) decryptDM(child *waBinary.Node, from types.JID, isPreKey bool) ([]byte, error) { content, _ := child.Content.([]byte) @@ -174,17 +188,9 @@ func (cli *Client) decryptDM(child *waBinary.Node, from types.JID, isPreKey bool return nil, fmt.Errorf("failed to parse prekey message: %w", err) } plaintext, _, err = cipher.DecryptMessageReturnKey(preKeyMsg) - if errors.Is(err, signalerror.ErrUntrustedIdentity) { + if cli.AutoTrustIdentity && errors.Is(err, signalerror.ErrUntrustedIdentity) { cli.Log.Warnf("Got %v error while trying to decrypt prekey message from %s, clearing stored identity and retrying", err, from) - err = cli.Store.Identities.DeleteIdentity(from.SignalAddress().String()) - if err != nil { - cli.Log.Warnf("Failed to delete identity of %s from store after decryption error: %v", from, err) - } - err = cli.Store.Sessions.DeleteSession(from.SignalAddress().String()) - if err != nil { - cli.Log.Warnf("Failed to delete session with %s from store after decryption error: %v", from, err) - } - cli.dispatchEvent(&events.IdentityChange{JID: from, Timestamp: time.Now(), Implicit: true}) + cli.clearUntrustedIdentity(from) plaintext, _, err = cipher.DecryptMessageReturnKey(preKeyMsg) } if err != nil { @@ -261,6 +267,26 @@ func (cli *Client) handleSenderKeyDistributionMessage(chat, from types.JID, rawS cli.Log.Debugf("Processed sender key distribution message from %s in %s", senderKeyName.Sender().String(), senderKeyName.GroupID()) } +func (cli *Client) handleHistorySyncNotificationLoop() { + defer func() { + atomic.StoreUint32(&cli.historySyncHandlerStarted, 0) + err := recover() + if err != nil { + cli.Log.Errorf("History sync handler panicked: %v\n%s", err, debug.Stack()) + } + + // Check in case something new appeared in the channel between the loop stopping + // and the atomic variable being updated. If yes, restart the loop. + if len(cli.historySyncNotifications) > 0 && atomic.CompareAndSwapUint32(&cli.historySyncHandlerStarted, 0, 1) { + cli.Log.Warnf("New history sync notifications appeared after loop stopped, restarting loop...") + go cli.handleHistorySyncNotificationLoop() + } + }() + for notif := range cli.historySyncNotifications { + cli.handleHistorySyncNotification(notif) + } +} + func (cli *Client) handleHistorySyncNotification(notif *waProto.HistorySyncNotification) { var historySync waProto.HistorySync if data, err := cli.Download(notif); err != nil { @@ -272,7 +298,7 @@ func (cli *Client) handleHistorySyncNotification(notif *waProto.HistorySyncNotif } else if err = proto.Unmarshal(rawData, &historySync); err != nil { cli.Log.Errorf("Failed to unmarshal history sync data: %v", err) } else { - cli.Log.Debugf("Received history sync") + cli.Log.Debugf("Received history sync (type %s, chunk %d)", historySync.GetSyncType(), historySync.GetChunkOrder()) if historySync.GetSyncType() == waProto.HistorySync_PUSH_NAME { go cli.handleHistoricalPushNames(historySync.GetPushnames()) } @@ -314,16 +340,19 @@ func (cli *Client) handleProtocolMessage(info *types.MessageInfo, msg *waProto.M protoMsg := msg.GetProtocolMessage() if protoMsg.GetHistorySyncNotification() != nil && info.IsFromMe { - cli.handleHistorySyncNotification(protoMsg.HistorySyncNotification) - cli.sendProtocolMessageReceipt(info.ID, "hist_sync") + cli.historySyncNotifications <- protoMsg.HistorySyncNotification + if atomic.CompareAndSwapUint32(&cli.historySyncHandlerStarted, 0, 1) { + go cli.handleHistorySyncNotificationLoop() + } + go cli.sendProtocolMessageReceipt(info.ID, "hist_sync") } if protoMsg.GetAppStateSyncKeyShare() != nil && info.IsFromMe { - cli.handleAppStateSyncKeyShare(protoMsg.AppStateSyncKeyShare) + go cli.handleAppStateSyncKeyShare(protoMsg.AppStateSyncKeyShare) } if info.Category == "peer" { - cli.sendProtocolMessageReceipt(info.ID, "peer_msg") + go cli.sendProtocolMessageReceipt(info.ID, "peer_msg") } } @@ -347,7 +376,7 @@ func (cli *Client) handleDecryptedMessage(info *types.MessageInfo, msg *waProto. } } if msg.GetProtocolMessage() != nil { - go cli.handleProtocolMessage(info, msg) + cli.handleProtocolMessage(info, msg) } // Unwrap ephemeral and view-once messages diff --git a/vendor/go.mau.fi/whatsmeow/send.go b/vendor/go.mau.fi/whatsmeow/send.go index a3eae666..3216156e 100644 --- a/vendor/go.mau.fi/whatsmeow/send.go +++ b/vendor/go.mau.fi/whatsmeow/send.go @@ -17,6 +17,7 @@ import ( "strings" "time" + "go.mau.fi/libsignal/signalerror" "google.golang.org/protobuf/proto" "go.mau.fi/libsignal/groups" @@ -346,6 +347,11 @@ func (cli *Client) encryptMessageForDevice(plaintext []byte, to types.JID, bundl if bundle != nil { cli.Log.Debugf("Processing prekey bundle for %s", to) err := builder.ProcessBundle(bundle) + if cli.AutoTrustIdentity && errors.Is(err, signalerror.ErrUntrustedIdentity) { + cli.Log.Warnf("Got %v error while trying to process prekey bundle for %s, clearing stored identity and retrying", err, to) + cli.clearUntrustedIdentity(to) + err = builder.ProcessBundle(bundle) + } if err != nil { return nil, false, fmt.Errorf("failed to process prekey bundle: %w", err) } diff --git a/vendor/go.mau.fi/whatsmeow/store/clientpayload.go b/vendor/go.mau.fi/whatsmeow/store/clientpayload.go index 6649de2a..2f9496e8 100644 --- a/vendor/go.mau.fi/whatsmeow/store/clientpayload.go +++ b/vendor/go.mau.fi/whatsmeow/store/clientpayload.go @@ -74,7 +74,7 @@ func (vc WAVersionContainer) ProtoAppVersion() *waProto.AppVersion { } // waVersion is the WhatsApp web client version -var waVersion = WAVersionContainer{2, 2208, 14} +var waVersion = WAVersionContainer{2, 2210, 9} // waVersionHash is the md5 hash of a dot-separated waVersion var waVersionHash [16]byte diff --git a/vendor/go.mau.fi/whatsmeow/upload.go b/vendor/go.mau.fi/whatsmeow/upload.go index 6de805c6..b3e71cc4 100644 --- a/vendor/go.mau.fi/whatsmeow/upload.go +++ b/vendor/go.mau.fi/whatsmeow/upload.go @@ -87,7 +87,8 @@ func (cli *Client) Upload(ctx context.Context, plaintext []byte, appInfo MediaTy fileEncSHA256 := sha256.Sum256(dataToUpload) resp.FileEncSHA256 = fileEncSHA256[:] - err = cli.refreshMediaConn(false) + var mediaConn *MediaConn + mediaConn, err = cli.refreshMediaConn(false) if err != nil { err = fmt.Errorf("failed to refresh media connections: %w", err) return @@ -95,13 +96,13 @@ func (cli *Client) Upload(ctx context.Context, plaintext []byte, appInfo MediaTy token := base64.URLEncoding.EncodeToString(resp.FileEncSHA256) q := url.Values{ - "auth": []string{cli.mediaConn.Auth}, + "auth": []string{mediaConn.Auth}, "token": []string{token}, } mmsType := mediaTypeToMMSType[appInfo] uploadURL := url.URL{ Scheme: "https", - Host: cli.mediaConn.Hosts[0].Hostname, + Host: mediaConn.Hosts[0].Hostname, Path: fmt.Sprintf("/mms/%s/%s", mmsType, token), RawQuery: q.Encode(), } diff --git a/vendor/go.mau.fi/whatsmeow/user.go b/vendor/go.mau.fi/whatsmeow/user.go index 1855abaf..fea80521 100644 --- a/vendor/go.mau.fi/whatsmeow/user.go +++ b/vendor/go.mau.fi/whatsmeow/user.go @@ -230,6 +230,7 @@ func (cli *Client) handleHistoricalPushNames(names []*waProto.Pushname) { if cli.Store.Contacts == nil { return } + cli.Log.Infof("Updating contact store with %d push names from history sync", len(names)) for _, user := range names { if user.GetPushname() == "-" { continue diff --git a/vendor/golang.org/x/sys/unix/syscall_linux.go b/vendor/golang.org/x/sys/unix/syscall_linux.go index f432b068..e52e8b9e 100644 --- a/vendor/golang.org/x/sys/unix/syscall_linux.go +++ b/vendor/golang.org/x/sys/unix/syscall_linux.go @@ -2318,7 +2318,6 @@ type RemoteIovec struct { * Unimplemented */ // AfsSyscall -// Alarm // ArchPrctl // Brk // ClockNanosleep diff --git a/vendor/golang.org/x/sys/unix/syscall_linux_alarm.go b/vendor/golang.org/x/sys/unix/syscall_linux_alarm.go new file mode 100644 index 00000000..08086ac6 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/syscall_linux_alarm.go @@ -0,0 +1,14 @@ +// Copyright 2022 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +//go:build linux && (386 || amd64 || mips || mipsle || mips64 || mipsle || ppc64 || ppc64le || ppc || s390x || sparc64) +// +build linux +// +build 386 amd64 mips mipsle mips64 mipsle ppc64 ppc64le ppc s390x sparc64 + +package unix + +// SYS_ALARM is not defined on arm or riscv, but is available for other GOARCH +// values. + +//sys Alarm(seconds uint) (remaining uint, err error) diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux.go b/vendor/golang.org/x/sys/unix/zerrors_linux.go index bcc45d10..6bce6580 100644 --- a/vendor/golang.org/x/sys/unix/zerrors_linux.go +++ b/vendor/golang.org/x/sys/unix/zerrors_linux.go @@ -38,7 +38,8 @@ const ( AF_KEY = 0xf AF_LLC = 0x1a AF_LOCAL = 0x1 - AF_MAX = 0x2d + AF_MAX = 0x2e + AF_MCTP = 0x2d AF_MPLS = 0x1c AF_NETBEUI = 0xd AF_NETLINK = 0x10 @@ -741,6 +742,7 @@ const ( ETH_P_QINQ2 = 0x9200 ETH_P_QINQ3 = 0x9300 ETH_P_RARP = 0x8035 + ETH_P_REALTEK = 0x8899 ETH_P_SCA = 0x6007 ETH_P_SLOW = 0x8809 ETH_P_SNAP = 0x5 @@ -810,10 +812,12 @@ const ( FAN_EPIDFD = -0x2 FAN_EVENT_INFO_TYPE_DFID = 0x3 FAN_EVENT_INFO_TYPE_DFID_NAME = 0x2 + FAN_EVENT_INFO_TYPE_ERROR = 0x5 FAN_EVENT_INFO_TYPE_FID = 0x1 FAN_EVENT_INFO_TYPE_PIDFD = 0x4 FAN_EVENT_METADATA_LEN = 0x18 FAN_EVENT_ON_CHILD = 0x8000000 + FAN_FS_ERROR = 0x8000 FAN_MARK_ADD = 0x1 FAN_MARK_DONT_FOLLOW = 0x4 FAN_MARK_FILESYSTEM = 0x100 @@ -1827,6 +1831,8 @@ const ( PERF_MEM_BLK_DATA = 0x2 PERF_MEM_BLK_NA = 0x1 PERF_MEM_BLK_SHIFT = 0x28 + PERF_MEM_HOPS_0 = 0x1 + PERF_MEM_HOPS_SHIFT = 0x2b PERF_MEM_LOCK_LOCKED = 0x2 PERF_MEM_LOCK_NA = 0x1 PERF_MEM_LOCK_SHIFT = 0x18 @@ -1986,6 +1992,9 @@ const ( PR_SCHED_CORE_CREATE = 0x1 PR_SCHED_CORE_GET = 0x0 PR_SCHED_CORE_MAX = 0x4 + PR_SCHED_CORE_SCOPE_PROCESS_GROUP = 0x2 + PR_SCHED_CORE_SCOPE_THREAD = 0x0 + PR_SCHED_CORE_SCOPE_THREAD_GROUP = 0x1 PR_SCHED_CORE_SHARE_FROM = 0x3 PR_SCHED_CORE_SHARE_TO = 0x2 PR_SET_CHILD_SUBREAPER = 0x24 @@ -2167,12 +2176,23 @@ const ( RTCF_NAT = 0x800000 RTCF_VALVE = 0x200000 RTC_AF = 0x20 + RTC_BSM_DIRECT = 0x1 + RTC_BSM_DISABLED = 0x0 + RTC_BSM_LEVEL = 0x2 + RTC_BSM_STANDBY = 0x3 RTC_FEATURE_ALARM = 0x0 + RTC_FEATURE_ALARM_RES_2S = 0x3 RTC_FEATURE_ALARM_RES_MINUTE = 0x1 - RTC_FEATURE_CNT = 0x3 + RTC_FEATURE_BACKUP_SWITCH_MODE = 0x6 + RTC_FEATURE_CNT = 0x7 + RTC_FEATURE_CORRECTION = 0x5 RTC_FEATURE_NEED_WEEK_DAY = 0x2 + RTC_FEATURE_UPDATE_INTERRUPT = 0x4 RTC_IRQF = 0x80 RTC_MAX_FREQ = 0x2000 + RTC_PARAM_BACKUP_SWITCH_MODE = 0x2 + RTC_PARAM_CORRECTION = 0x1 + RTC_PARAM_FEATURES = 0x0 RTC_PF = 0x40 RTC_UF = 0x10 RTF_ADDRCLASSMASK = 0xf8000000 @@ -2532,6 +2552,8 @@ const ( SO_VM_SOCKETS_BUFFER_MIN_SIZE = 0x1 SO_VM_SOCKETS_BUFFER_SIZE = 0x0 SO_VM_SOCKETS_CONNECT_TIMEOUT = 0x6 + SO_VM_SOCKETS_CONNECT_TIMEOUT_NEW = 0x8 + SO_VM_SOCKETS_CONNECT_TIMEOUT_OLD = 0x6 SO_VM_SOCKETS_NONBLOCK_TXRX = 0x7 SO_VM_SOCKETS_PEER_HOST_VM_ID = 0x3 SO_VM_SOCKETS_TRUSTED = 0x5 diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_386.go b/vendor/golang.org/x/sys/unix/zerrors_linux_386.go index 3ca40ca7..234fd4a5 100644 --- a/vendor/golang.org/x/sys/unix/zerrors_linux_386.go +++ b/vendor/golang.org/x/sys/unix/zerrors_linux_386.go @@ -250,6 +250,8 @@ const ( RTC_EPOCH_SET = 0x4004700e RTC_IRQP_READ = 0x8004700b RTC_IRQP_SET = 0x4004700c + RTC_PARAM_GET = 0x40187013 + RTC_PARAM_SET = 0x40187014 RTC_PIE_OFF = 0x7006 RTC_PIE_ON = 0x7005 RTC_PLL_GET = 0x801c7011 @@ -327,6 +329,7 @@ const ( SO_RCVTIMEO = 0x14 SO_RCVTIMEO_NEW = 0x42 SO_RCVTIMEO_OLD = 0x14 + SO_RESERVE_MEM = 0x49 SO_REUSEADDR = 0x2 SO_REUSEPORT = 0xf SO_RXQ_OVFL = 0x28 diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_amd64.go b/vendor/golang.org/x/sys/unix/zerrors_linux_amd64.go index ead33209..58619b75 100644 --- a/vendor/golang.org/x/sys/unix/zerrors_linux_amd64.go +++ b/vendor/golang.org/x/sys/unix/zerrors_linux_amd64.go @@ -251,6 +251,8 @@ const ( RTC_EPOCH_SET = 0x4008700e RTC_IRQP_READ = 0x8008700b RTC_IRQP_SET = 0x4008700c + RTC_PARAM_GET = 0x40187013 + RTC_PARAM_SET = 0x40187014 RTC_PIE_OFF = 0x7006 RTC_PIE_ON = 0x7005 RTC_PLL_GET = 0x80207011 @@ -328,6 +330,7 @@ const ( SO_RCVTIMEO = 0x14 SO_RCVTIMEO_NEW = 0x42 SO_RCVTIMEO_OLD = 0x14 + SO_RESERVE_MEM = 0x49 SO_REUSEADDR = 0x2 SO_REUSEPORT = 0xf SO_RXQ_OVFL = 0x28 diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_arm.go b/vendor/golang.org/x/sys/unix/zerrors_linux_arm.go index 39bdc945..3a64ff59 100644 --- a/vendor/golang.org/x/sys/unix/zerrors_linux_arm.go +++ b/vendor/golang.org/x/sys/unix/zerrors_linux_arm.go @@ -257,6 +257,8 @@ const ( RTC_EPOCH_SET = 0x4004700e RTC_IRQP_READ = 0x8004700b RTC_IRQP_SET = 0x4004700c + RTC_PARAM_GET = 0x40187013 + RTC_PARAM_SET = 0x40187014 RTC_PIE_OFF = 0x7006 RTC_PIE_ON = 0x7005 RTC_PLL_GET = 0x801c7011 @@ -334,6 +336,7 @@ const ( SO_RCVTIMEO = 0x14 SO_RCVTIMEO_NEW = 0x42 SO_RCVTIMEO_OLD = 0x14 + SO_RESERVE_MEM = 0x49 SO_REUSEADDR = 0x2 SO_REUSEPORT = 0xf SO_RXQ_OVFL = 0x28 diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_arm64.go b/vendor/golang.org/x/sys/unix/zerrors_linux_arm64.go index 9aec987d..abe0b925 100644 --- a/vendor/golang.org/x/sys/unix/zerrors_linux_arm64.go +++ b/vendor/golang.org/x/sys/unix/zerrors_linux_arm64.go @@ -247,6 +247,8 @@ const ( RTC_EPOCH_SET = 0x4008700e RTC_IRQP_READ = 0x8008700b RTC_IRQP_SET = 0x4008700c + RTC_PARAM_GET = 0x40187013 + RTC_PARAM_SET = 0x40187014 RTC_PIE_OFF = 0x7006 RTC_PIE_ON = 0x7005 RTC_PLL_GET = 0x80207011 @@ -324,6 +326,7 @@ const ( SO_RCVTIMEO = 0x14 SO_RCVTIMEO_NEW = 0x42 SO_RCVTIMEO_OLD = 0x14 + SO_RESERVE_MEM = 0x49 SO_REUSEADDR = 0x2 SO_REUSEPORT = 0xf SO_RXQ_OVFL = 0x28 diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_mips.go b/vendor/golang.org/x/sys/unix/zerrors_linux_mips.go index a8bba949..14d7a843 100644 --- a/vendor/golang.org/x/sys/unix/zerrors_linux_mips.go +++ b/vendor/golang.org/x/sys/unix/zerrors_linux_mips.go @@ -250,6 +250,8 @@ const ( RTC_EPOCH_SET = 0x8004700e RTC_IRQP_READ = 0x4004700b RTC_IRQP_SET = 0x8004700c + RTC_PARAM_GET = 0x80187013 + RTC_PARAM_SET = 0x80187014 RTC_PIE_OFF = 0x20007006 RTC_PIE_ON = 0x20007005 RTC_PLL_GET = 0x401c7011 @@ -327,6 +329,7 @@ const ( SO_RCVTIMEO = 0x1006 SO_RCVTIMEO_NEW = 0x42 SO_RCVTIMEO_OLD = 0x1006 + SO_RESERVE_MEM = 0x49 SO_REUSEADDR = 0x4 SO_REUSEPORT = 0x200 SO_RXQ_OVFL = 0x28 diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_mips64.go b/vendor/golang.org/x/sys/unix/zerrors_linux_mips64.go index ee9e7e20..99e7c4ac 100644 --- a/vendor/golang.org/x/sys/unix/zerrors_linux_mips64.go +++ b/vendor/golang.org/x/sys/unix/zerrors_linux_mips64.go @@ -250,6 +250,8 @@ const ( RTC_EPOCH_SET = 0x8008700e RTC_IRQP_READ = 0x4008700b RTC_IRQP_SET = 0x8008700c + RTC_PARAM_GET = 0x80187013 + RTC_PARAM_SET = 0x80187014 RTC_PIE_OFF = 0x20007006 RTC_PIE_ON = 0x20007005 RTC_PLL_GET = 0x40207011 @@ -327,6 +329,7 @@ const ( SO_RCVTIMEO = 0x1006 SO_RCVTIMEO_NEW = 0x42 SO_RCVTIMEO_OLD = 0x1006 + SO_RESERVE_MEM = 0x49 SO_REUSEADDR = 0x4 SO_REUSEPORT = 0x200 SO_RXQ_OVFL = 0x28 diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_mips64le.go b/vendor/golang.org/x/sys/unix/zerrors_linux_mips64le.go index ba4b288a..496364c3 100644 --- a/vendor/golang.org/x/sys/unix/zerrors_linux_mips64le.go +++ b/vendor/golang.org/x/sys/unix/zerrors_linux_mips64le.go @@ -250,6 +250,8 @@ const ( RTC_EPOCH_SET = 0x8008700e RTC_IRQP_READ = 0x4008700b RTC_IRQP_SET = 0x8008700c + RTC_PARAM_GET = 0x80187013 + RTC_PARAM_SET = 0x80187014 RTC_PIE_OFF = 0x20007006 RTC_PIE_ON = 0x20007005 RTC_PLL_GET = 0x40207011 @@ -327,6 +329,7 @@ const ( SO_RCVTIMEO = 0x1006 SO_RCVTIMEO_NEW = 0x42 SO_RCVTIMEO_OLD = 0x1006 + SO_RESERVE_MEM = 0x49 SO_REUSEADDR = 0x4 SO_REUSEPORT = 0x200 SO_RXQ_OVFL = 0x28 diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_mipsle.go b/vendor/golang.org/x/sys/unix/zerrors_linux_mipsle.go index bc93afc3..3e408308 100644 --- a/vendor/golang.org/x/sys/unix/zerrors_linux_mipsle.go +++ b/vendor/golang.org/x/sys/unix/zerrors_linux_mipsle.go @@ -250,6 +250,8 @@ const ( RTC_EPOCH_SET = 0x8004700e RTC_IRQP_READ = 0x4004700b RTC_IRQP_SET = 0x8004700c + RTC_PARAM_GET = 0x80187013 + RTC_PARAM_SET = 0x80187014 RTC_PIE_OFF = 0x20007006 RTC_PIE_ON = 0x20007005 RTC_PLL_GET = 0x401c7011 @@ -327,6 +329,7 @@ const ( SO_RCVTIMEO = 0x1006 SO_RCVTIMEO_NEW = 0x42 SO_RCVTIMEO_OLD = 0x1006 + SO_RESERVE_MEM = 0x49 SO_REUSEADDR = 0x4 SO_REUSEPORT = 0x200 SO_RXQ_OVFL = 0x28 diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_ppc.go b/vendor/golang.org/x/sys/unix/zerrors_linux_ppc.go index 9295e694..1151a7df 100644 --- a/vendor/golang.org/x/sys/unix/zerrors_linux_ppc.go +++ b/vendor/golang.org/x/sys/unix/zerrors_linux_ppc.go @@ -305,6 +305,8 @@ const ( RTC_EPOCH_SET = 0x8004700e RTC_IRQP_READ = 0x4004700b RTC_IRQP_SET = 0x8004700c + RTC_PARAM_GET = 0x80187013 + RTC_PARAM_SET = 0x80187014 RTC_PIE_OFF = 0x20007006 RTC_PIE_ON = 0x20007005 RTC_PLL_GET = 0x401c7011 @@ -382,6 +384,7 @@ const ( SO_RCVTIMEO = 0x12 SO_RCVTIMEO_NEW = 0x42 SO_RCVTIMEO_OLD = 0x12 + SO_RESERVE_MEM = 0x49 SO_REUSEADDR = 0x2 SO_REUSEPORT = 0xf SO_RXQ_OVFL = 0x28 diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_ppc64.go b/vendor/golang.org/x/sys/unix/zerrors_linux_ppc64.go index 1fa081c9..ed17f249 100644 --- a/vendor/golang.org/x/sys/unix/zerrors_linux_ppc64.go +++ b/vendor/golang.org/x/sys/unix/zerrors_linux_ppc64.go @@ -309,6 +309,8 @@ const ( RTC_EPOCH_SET = 0x8008700e RTC_IRQP_READ = 0x4008700b RTC_IRQP_SET = 0x8008700c + RTC_PARAM_GET = 0x80187013 + RTC_PARAM_SET = 0x80187014 RTC_PIE_OFF = 0x20007006 RTC_PIE_ON = 0x20007005 RTC_PLL_GET = 0x40207011 @@ -386,6 +388,7 @@ const ( SO_RCVTIMEO = 0x12 SO_RCVTIMEO_NEW = 0x42 SO_RCVTIMEO_OLD = 0x12 + SO_RESERVE_MEM = 0x49 SO_REUSEADDR = 0x2 SO_REUSEPORT = 0xf SO_RXQ_OVFL = 0x28 diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_ppc64le.go b/vendor/golang.org/x/sys/unix/zerrors_linux_ppc64le.go index 74b32114..d84a37c1 100644 --- a/vendor/golang.org/x/sys/unix/zerrors_linux_ppc64le.go +++ b/vendor/golang.org/x/sys/unix/zerrors_linux_ppc64le.go @@ -309,6 +309,8 @@ const ( RTC_EPOCH_SET = 0x8008700e RTC_IRQP_READ = 0x4008700b RTC_IRQP_SET = 0x8008700c + RTC_PARAM_GET = 0x80187013 + RTC_PARAM_SET = 0x80187014 RTC_PIE_OFF = 0x20007006 RTC_PIE_ON = 0x20007005 RTC_PLL_GET = 0x40207011 @@ -386,6 +388,7 @@ const ( SO_RCVTIMEO = 0x12 SO_RCVTIMEO_NEW = 0x42 SO_RCVTIMEO_OLD = 0x12 + SO_RESERVE_MEM = 0x49 SO_REUSEADDR = 0x2 SO_REUSEPORT = 0xf SO_RXQ_OVFL = 0x28 diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_riscv64.go b/vendor/golang.org/x/sys/unix/zerrors_linux_riscv64.go index c91c8ac5..5cafba83 100644 --- a/vendor/golang.org/x/sys/unix/zerrors_linux_riscv64.go +++ b/vendor/golang.org/x/sys/unix/zerrors_linux_riscv64.go @@ -238,6 +238,8 @@ const ( RTC_EPOCH_SET = 0x4008700e RTC_IRQP_READ = 0x8008700b RTC_IRQP_SET = 0x4008700c + RTC_PARAM_GET = 0x40187013 + RTC_PARAM_SET = 0x40187014 RTC_PIE_OFF = 0x7006 RTC_PIE_ON = 0x7005 RTC_PLL_GET = 0x80207011 @@ -315,6 +317,7 @@ const ( SO_RCVTIMEO = 0x14 SO_RCVTIMEO_NEW = 0x42 SO_RCVTIMEO_OLD = 0x14 + SO_RESERVE_MEM = 0x49 SO_REUSEADDR = 0x2 SO_REUSEPORT = 0xf SO_RXQ_OVFL = 0x28 diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_s390x.go b/vendor/golang.org/x/sys/unix/zerrors_linux_s390x.go index b66bf222..6d122da4 100644 --- a/vendor/golang.org/x/sys/unix/zerrors_linux_s390x.go +++ b/vendor/golang.org/x/sys/unix/zerrors_linux_s390x.go @@ -313,6 +313,8 @@ const ( RTC_EPOCH_SET = 0x4008700e RTC_IRQP_READ = 0x8008700b RTC_IRQP_SET = 0x4008700c + RTC_PARAM_GET = 0x40187013 + RTC_PARAM_SET = 0x40187014 RTC_PIE_OFF = 0x7006 RTC_PIE_ON = 0x7005 RTC_PLL_GET = 0x80207011 @@ -390,6 +392,7 @@ const ( SO_RCVTIMEO = 0x14 SO_RCVTIMEO_NEW = 0x42 SO_RCVTIMEO_OLD = 0x14 + SO_RESERVE_MEM = 0x49 SO_REUSEADDR = 0x2 SO_REUSEPORT = 0xf SO_RXQ_OVFL = 0x28 diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_sparc64.go b/vendor/golang.org/x/sys/unix/zerrors_linux_sparc64.go index f7fb149b..6bd19e51 100644 --- a/vendor/golang.org/x/sys/unix/zerrors_linux_sparc64.go +++ b/vendor/golang.org/x/sys/unix/zerrors_linux_sparc64.go @@ -304,6 +304,8 @@ const ( RTC_EPOCH_SET = 0x8008700e RTC_IRQP_READ = 0x4008700b RTC_IRQP_SET = 0x8008700c + RTC_PARAM_GET = 0x80187013 + RTC_PARAM_SET = 0x80187014 RTC_PIE_OFF = 0x20007006 RTC_PIE_ON = 0x20007005 RTC_PLL_GET = 0x40207011 @@ -381,6 +383,7 @@ const ( SO_RCVTIMEO = 0x2000 SO_RCVTIMEO_NEW = 0x44 SO_RCVTIMEO_OLD = 0x2000 + SO_RESERVE_MEM = 0x52 SO_REUSEADDR = 0x4 SO_REUSEPORT = 0x200 SO_RXQ_OVFL = 0x24 diff --git a/vendor/golang.org/x/sys/unix/zsyscall_linux_386.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_386.go index ff90c81e..2fc6271f 100644 --- a/vendor/golang.org/x/sys/unix/zsyscall_linux_386.go +++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_386.go @@ -1,4 +1,4 @@ -// go run mksyscall.go -l32 -tags linux,386 syscall_linux.go syscall_linux_386.go +// go run mksyscall.go -l32 -tags linux,386 syscall_linux.go syscall_linux_386.go syscall_linux_alarm.go // Code generated by the command above; see README.md. DO NOT EDIT. //go:build linux && 386 @@ -524,3 +524,14 @@ func utimes(path string, times *[2]Timeval) (err error) { } return } + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Alarm(seconds uint) (remaining uint, err error) { + r0, _, e1 := Syscall(SYS_ALARM, uintptr(seconds), 0, 0) + remaining = uint(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} diff --git a/vendor/golang.org/x/sys/unix/zsyscall_linux_amd64.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_amd64.go index fa7d3dbe..21fb8507 100644 --- a/vendor/golang.org/x/sys/unix/zsyscall_linux_amd64.go +++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_amd64.go @@ -1,4 +1,4 @@ -// go run mksyscall.go -tags linux,amd64 syscall_linux.go syscall_linux_amd64.go +// go run mksyscall.go -tags linux,amd64 syscall_linux.go syscall_linux_amd64.go syscall_linux_alarm.go // Code generated by the command above; see README.md. DO NOT EDIT. //go:build linux && amd64 @@ -691,3 +691,14 @@ func kexecFileLoad(kernelFd int, initrdFd int, cmdlineLen int, cmdline string, f } return } + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Alarm(seconds uint) (remaining uint, err error) { + r0, _, e1 := Syscall(SYS_ALARM, uintptr(seconds), 0, 0) + remaining = uint(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} diff --git a/vendor/golang.org/x/sys/unix/zsyscall_linux_mips.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_mips.go index 6d155288..eab7ab9a 100644 --- a/vendor/golang.org/x/sys/unix/zsyscall_linux_mips.go +++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_mips.go @@ -1,4 +1,4 @@ -// go run mksyscall.go -b32 -arm -tags linux,mips syscall_linux.go syscall_linux_mipsx.go +// go run mksyscall.go -b32 -arm -tags linux,mips syscall_linux.go syscall_linux_mipsx.go syscall_linux_alarm.go // Code generated by the command above; see README.md. DO NOT EDIT. //go:build linux && mips @@ -702,3 +702,14 @@ func setrlimit(resource int, rlim *rlimit32) (err error) { } return } + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Alarm(seconds uint) (remaining uint, err error) { + r0, _, e1 := Syscall(SYS_ALARM, uintptr(seconds), 0, 0) + remaining = uint(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} diff --git a/vendor/golang.org/x/sys/unix/zsyscall_linux_mips64.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_mips64.go index 1e20d72d..dc3f47f1 100644 --- a/vendor/golang.org/x/sys/unix/zsyscall_linux_mips64.go +++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_mips64.go @@ -1,4 +1,4 @@ -// go run mksyscall.go -tags linux,mips64 syscall_linux.go syscall_linux_mips64x.go +// go run mksyscall.go -tags linux,mips64 syscall_linux.go syscall_linux_mips64x.go syscall_linux_alarm.go // Code generated by the command above; see README.md. DO NOT EDIT. //go:build linux && mips64 @@ -696,3 +696,14 @@ func stat(path string, st *stat_t) (err error) { } return } + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Alarm(seconds uint) (remaining uint, err error) { + r0, _, e1 := Syscall(SYS_ALARM, uintptr(seconds), 0, 0) + remaining = uint(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} diff --git a/vendor/golang.org/x/sys/unix/zsyscall_linux_mipsle.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_mipsle.go index a0440c1d..691f3de4 100644 --- a/vendor/golang.org/x/sys/unix/zsyscall_linux_mipsle.go +++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_mipsle.go @@ -1,4 +1,4 @@ -// go run mksyscall.go -l32 -arm -tags linux,mipsle syscall_linux.go syscall_linux_mipsx.go +// go run mksyscall.go -l32 -arm -tags linux,mipsle syscall_linux.go syscall_linux_mipsx.go syscall_linux_alarm.go // Code generated by the command above; see README.md. DO NOT EDIT. //go:build linux && mipsle @@ -702,3 +702,14 @@ func setrlimit(resource int, rlim *rlimit32) (err error) { } return } + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Alarm(seconds uint) (remaining uint, err error) { + r0, _, e1 := Syscall(SYS_ALARM, uintptr(seconds), 0, 0) + remaining = uint(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} diff --git a/vendor/golang.org/x/sys/unix/zsyscall_linux_ppc.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_ppc.go index 5864b9ca..5ce957c5 100644 --- a/vendor/golang.org/x/sys/unix/zsyscall_linux_ppc.go +++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_ppc.go @@ -1,4 +1,4 @@ -// go run mksyscall.go -b32 -tags linux,ppc syscall_linux.go syscall_linux_ppc.go +// go run mksyscall.go -b32 -tags linux,ppc syscall_linux.go syscall_linux_ppc.go syscall_linux_alarm.go // Code generated by the command above; see README.md. DO NOT EDIT. //go:build linux && ppc @@ -707,3 +707,14 @@ func kexecFileLoad(kernelFd int, initrdFd int, cmdlineLen int, cmdline string, f } return } + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Alarm(seconds uint) (remaining uint, err error) { + r0, _, e1 := Syscall(SYS_ALARM, uintptr(seconds), 0, 0) + remaining = uint(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} diff --git a/vendor/golang.org/x/sys/unix/zsyscall_linux_ppc64.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_ppc64.go index beeb49e3..82c5b633 100644 --- a/vendor/golang.org/x/sys/unix/zsyscall_linux_ppc64.go +++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_ppc64.go @@ -1,4 +1,4 @@ -// go run mksyscall.go -tags linux,ppc64 syscall_linux.go syscall_linux_ppc64x.go +// go run mksyscall.go -tags linux,ppc64 syscall_linux.go syscall_linux_ppc64x.go syscall_linux_alarm.go // Code generated by the command above; see README.md. DO NOT EDIT. //go:build linux && ppc64 @@ -753,3 +753,14 @@ func kexecFileLoad(kernelFd int, initrdFd int, cmdlineLen int, cmdline string, f } return } + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Alarm(seconds uint) (remaining uint, err error) { + r0, _, e1 := Syscall(SYS_ALARM, uintptr(seconds), 0, 0) + remaining = uint(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} diff --git a/vendor/golang.org/x/sys/unix/zsyscall_linux_ppc64le.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_ppc64le.go index 53139b82..178847e3 100644 --- a/vendor/golang.org/x/sys/unix/zsyscall_linux_ppc64le.go +++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_ppc64le.go @@ -1,4 +1,4 @@ -// go run mksyscall.go -tags linux,ppc64le syscall_linux.go syscall_linux_ppc64x.go +// go run mksyscall.go -tags linux,ppc64le syscall_linux.go syscall_linux_ppc64x.go syscall_linux_alarm.go // Code generated by the command above; see README.md. DO NOT EDIT. //go:build linux && ppc64le @@ -753,3 +753,14 @@ func kexecFileLoad(kernelFd int, initrdFd int, cmdlineLen int, cmdline string, f } return } + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Alarm(seconds uint) (remaining uint, err error) { + r0, _, e1 := Syscall(SYS_ALARM, uintptr(seconds), 0, 0) + remaining = uint(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} diff --git a/vendor/golang.org/x/sys/unix/zsyscall_linux_s390x.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_s390x.go index 202add37..9e462a96 100644 --- a/vendor/golang.org/x/sys/unix/zsyscall_linux_s390x.go +++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_s390x.go @@ -1,4 +1,4 @@ -// go run mksyscall.go -tags linux,s390x syscall_linux.go syscall_linux_s390x.go +// go run mksyscall.go -tags linux,s390x syscall_linux.go syscall_linux_s390x.go syscall_linux_alarm.go // Code generated by the command above; see README.md. DO NOT EDIT. //go:build linux && s390x @@ -533,3 +533,14 @@ func kexecFileLoad(kernelFd int, initrdFd int, cmdlineLen int, cmdline string, f } return } + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Alarm(seconds uint) (remaining uint, err error) { + r0, _, e1 := Syscall(SYS_ALARM, uintptr(seconds), 0, 0) + remaining = uint(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} diff --git a/vendor/golang.org/x/sys/unix/zsyscall_linux_sparc64.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_sparc64.go index 2ab268c3..ea7d7c29 100644 --- a/vendor/golang.org/x/sys/unix/zsyscall_linux_sparc64.go +++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_sparc64.go @@ -1,4 +1,4 @@ -// go run mksyscall.go -tags linux,sparc64 syscall_linux.go syscall_linux_sparc64.go +// go run mksyscall.go -tags linux,sparc64 syscall_linux.go syscall_linux_sparc64.go syscall_linux_alarm.go // Code generated by the command above; see README.md. DO NOT EDIT. //go:build linux && sparc64 @@ -697,3 +697,14 @@ func utimes(path string, times *[2]Timeval) (err error) { } return } + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Alarm(seconds uint) (remaining uint, err error) { + r0, _, e1 := Syscall(SYS_ALARM, uintptr(seconds), 0, 0) + remaining = uint(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_386.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_386.go index 31847d23..cac1f758 100644 --- a/vendor/golang.org/x/sys/unix/zsysnum_linux_386.go +++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_386.go @@ -445,4 +445,5 @@ const ( SYS_LANDLOCK_RESTRICT_SELF = 446 SYS_MEMFD_SECRET = 447 SYS_PROCESS_MRELEASE = 448 + SYS_FUTEX_WAITV = 449 ) diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_amd64.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_amd64.go index 3503cbbd..f327e4a0 100644 --- a/vendor/golang.org/x/sys/unix/zsysnum_linux_amd64.go +++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_amd64.go @@ -367,4 +367,5 @@ const ( SYS_LANDLOCK_RESTRICT_SELF = 446 SYS_MEMFD_SECRET = 447 SYS_PROCESS_MRELEASE = 448 + SYS_FUTEX_WAITV = 449 ) diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_arm.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_arm.go index 5ecd24bf..fb06a08d 100644 --- a/vendor/golang.org/x/sys/unix/zsysnum_linux_arm.go +++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_arm.go @@ -409,4 +409,5 @@ const ( SYS_LANDLOCK_ADD_RULE = 445 SYS_LANDLOCK_RESTRICT_SELF = 446 SYS_PROCESS_MRELEASE = 448 + SYS_FUTEX_WAITV = 449 ) diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_arm64.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_arm64.go index 7e5c94cc..58285646 100644 --- a/vendor/golang.org/x/sys/unix/zsysnum_linux_arm64.go +++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_arm64.go @@ -312,4 +312,5 @@ const ( SYS_LANDLOCK_RESTRICT_SELF = 446 SYS_MEMFD_SECRET = 447 SYS_PROCESS_MRELEASE = 448 + SYS_FUTEX_WAITV = 449 ) diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_mips.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_mips.go index e1e2a2bf..3b0418e6 100644 --- a/vendor/golang.org/x/sys/unix/zsysnum_linux_mips.go +++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_mips.go @@ -429,4 +429,5 @@ const ( SYS_LANDLOCK_ADD_RULE = 4445 SYS_LANDLOCK_RESTRICT_SELF = 4446 SYS_PROCESS_MRELEASE = 4448 + SYS_FUTEX_WAITV = 4449 ) diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_mips64.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_mips64.go index 7651915a..314ebf16 100644 --- a/vendor/golang.org/x/sys/unix/zsysnum_linux_mips64.go +++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_mips64.go @@ -359,4 +359,5 @@ const ( SYS_LANDLOCK_ADD_RULE = 5445 SYS_LANDLOCK_RESTRICT_SELF = 5446 SYS_PROCESS_MRELEASE = 5448 + SYS_FUTEX_WAITV = 5449 ) diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_mips64le.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_mips64le.go index a26a2c05..b8fbb937 100644 --- a/vendor/golang.org/x/sys/unix/zsysnum_linux_mips64le.go +++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_mips64le.go @@ -359,4 +359,5 @@ const ( SYS_LANDLOCK_ADD_RULE = 5445 SYS_LANDLOCK_RESTRICT_SELF = 5446 SYS_PROCESS_MRELEASE = 5448 + SYS_FUTEX_WAITV = 5449 ) diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_mipsle.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_mipsle.go index fda9a6a9..ee309b2b 100644 --- a/vendor/golang.org/x/sys/unix/zsysnum_linux_mipsle.go +++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_mipsle.go @@ -429,4 +429,5 @@ const ( SYS_LANDLOCK_ADD_RULE = 4445 SYS_LANDLOCK_RESTRICT_SELF = 4446 SYS_PROCESS_MRELEASE = 4448 + SYS_FUTEX_WAITV = 4449 ) diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc.go index e8496150..ac374810 100644 --- a/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc.go +++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc.go @@ -436,4 +436,5 @@ const ( SYS_LANDLOCK_ADD_RULE = 445 SYS_LANDLOCK_RESTRICT_SELF = 446 SYS_PROCESS_MRELEASE = 448 + SYS_FUTEX_WAITV = 449 ) diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64.go index 5ee0678a..5aa47211 100644 --- a/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64.go +++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64.go @@ -408,4 +408,5 @@ const ( SYS_LANDLOCK_ADD_RULE = 445 SYS_LANDLOCK_RESTRICT_SELF = 446 SYS_PROCESS_MRELEASE = 448 + SYS_FUTEX_WAITV = 449 ) diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64le.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64le.go index 29c0f9a3..0793ac1a 100644 --- a/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64le.go +++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64le.go @@ -408,4 +408,5 @@ const ( SYS_LANDLOCK_ADD_RULE = 445 SYS_LANDLOCK_RESTRICT_SELF = 446 SYS_PROCESS_MRELEASE = 448 + SYS_FUTEX_WAITV = 449 ) diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_riscv64.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_riscv64.go index 5c9a9a3b..a520962e 100644 --- a/vendor/golang.org/x/sys/unix/zsysnum_linux_riscv64.go +++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_riscv64.go @@ -310,4 +310,5 @@ const ( SYS_LANDLOCK_ADD_RULE = 445 SYS_LANDLOCK_RESTRICT_SELF = 446 SYS_PROCESS_MRELEASE = 448 + SYS_FUTEX_WAITV = 449 ) diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_s390x.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_s390x.go index 913f50f9..d1738586 100644 --- a/vendor/golang.org/x/sys/unix/zsysnum_linux_s390x.go +++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_s390x.go @@ -373,4 +373,5 @@ const ( SYS_LANDLOCK_ADD_RULE = 445 SYS_LANDLOCK_RESTRICT_SELF = 446 SYS_PROCESS_MRELEASE = 448 + SYS_FUTEX_WAITV = 449 ) diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_sparc64.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_sparc64.go index 0de03a72..dfd5660f 100644 --- a/vendor/golang.org/x/sys/unix/zsysnum_linux_sparc64.go +++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_sparc64.go @@ -387,4 +387,5 @@ const ( SYS_LANDLOCK_ADD_RULE = 445 SYS_LANDLOCK_RESTRICT_SELF = 446 SYS_PROCESS_MRELEASE = 448 + SYS_FUTEX_WAITV = 449 ) diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux.go b/vendor/golang.org/x/sys/unix/ztypes_linux.go index f6f0d79c..66788f15 100644 --- a/vendor/golang.org/x/sys/unix/ztypes_linux.go +++ b/vendor/golang.org/x/sys/unix/ztypes_linux.go @@ -1144,7 +1144,8 @@ const ( PERF_RECORD_BPF_EVENT = 0x12 PERF_RECORD_CGROUP = 0x13 PERF_RECORD_TEXT_POKE = 0x14 - PERF_RECORD_MAX = 0x15 + PERF_RECORD_AUX_OUTPUT_HW_ID = 0x15 + PERF_RECORD_MAX = 0x16 PERF_RECORD_KSYMBOL_TYPE_UNKNOWN = 0x0 PERF_RECORD_KSYMBOL_TYPE_BPF = 0x1 PERF_RECORD_KSYMBOL_TYPE_OOL = 0x2 @@ -1784,7 +1785,8 @@ const ( const ( NF_NETDEV_INGRESS = 0x0 - NF_NETDEV_NUMHOOKS = 0x1 + NF_NETDEV_EGRESS = 0x1 + NF_NETDEV_NUMHOOKS = 0x2 ) const ( @@ -3166,7 +3168,13 @@ const ( DEVLINK_ATTR_RELOAD_ACTION_INFO = 0xa2 DEVLINK_ATTR_RELOAD_ACTION_STATS = 0xa3 DEVLINK_ATTR_PORT_PCI_SF_NUMBER = 0xa4 - DEVLINK_ATTR_MAX = 0xa9 + DEVLINK_ATTR_RATE_TYPE = 0xa5 + DEVLINK_ATTR_RATE_TX_SHARE = 0xa6 + DEVLINK_ATTR_RATE_TX_MAX = 0xa7 + DEVLINK_ATTR_RATE_NODE_NAME = 0xa8 + DEVLINK_ATTR_RATE_PARENT_NODE_NAME = 0xa9 + DEVLINK_ATTR_REGION_MAX_SNAPSHOTS = 0xaa + DEVLINK_ATTR_MAX = 0xaa DEVLINK_DPIPE_FIELD_MAPPING_TYPE_NONE = 0x0 DEVLINK_DPIPE_FIELD_MAPPING_TYPE_IFINDEX = 0x1 DEVLINK_DPIPE_MATCH_TYPE_FIELD_EXACT = 0x0 @@ -3463,7 +3471,14 @@ const ( ETHTOOL_MSG_CABLE_TEST_ACT = 0x1a ETHTOOL_MSG_CABLE_TEST_TDR_ACT = 0x1b ETHTOOL_MSG_TUNNEL_INFO_GET = 0x1c - ETHTOOL_MSG_USER_MAX = 0x21 + ETHTOOL_MSG_FEC_GET = 0x1d + ETHTOOL_MSG_FEC_SET = 0x1e + ETHTOOL_MSG_MODULE_EEPROM_GET = 0x1f + ETHTOOL_MSG_STATS_GET = 0x20 + ETHTOOL_MSG_PHC_VCLOCKS_GET = 0x21 + ETHTOOL_MSG_MODULE_GET = 0x22 + ETHTOOL_MSG_MODULE_SET = 0x23 + ETHTOOL_MSG_USER_MAX = 0x23 ETHTOOL_MSG_KERNEL_NONE = 0x0 ETHTOOL_MSG_STRSET_GET_REPLY = 0x1 ETHTOOL_MSG_LINKINFO_GET_REPLY = 0x2 @@ -3494,7 +3509,14 @@ const ( ETHTOOL_MSG_CABLE_TEST_NTF = 0x1b ETHTOOL_MSG_CABLE_TEST_TDR_NTF = 0x1c ETHTOOL_MSG_TUNNEL_INFO_GET_REPLY = 0x1d - ETHTOOL_MSG_KERNEL_MAX = 0x22 + ETHTOOL_MSG_FEC_GET_REPLY = 0x1e + ETHTOOL_MSG_FEC_NTF = 0x1f + ETHTOOL_MSG_MODULE_EEPROM_GET_REPLY = 0x20 + ETHTOOL_MSG_STATS_GET_REPLY = 0x21 + ETHTOOL_MSG_PHC_VCLOCKS_GET_REPLY = 0x22 + ETHTOOL_MSG_MODULE_GET_REPLY = 0x23 + ETHTOOL_MSG_MODULE_NTF = 0x24 + ETHTOOL_MSG_KERNEL_MAX = 0x24 ETHTOOL_A_HEADER_UNSPEC = 0x0 ETHTOOL_A_HEADER_DEV_INDEX = 0x1 ETHTOOL_A_HEADER_DEV_NAME = 0x2 diff --git a/vendor/golang.org/x/sys/windows/syscall_windows.go b/vendor/golang.org/x/sys/windows/syscall_windows.go index 200b62a0..cf44e693 100644 --- a/vendor/golang.org/x/sys/windows/syscall_windows.go +++ b/vendor/golang.org/x/sys/windows/syscall_windows.go @@ -363,6 +363,8 @@ func NewCallbackCDecl(fn interface{}) uintptr { //sys SetProcessWorkingSetSizeEx(hProcess Handle, dwMinimumWorkingSetSize uintptr, dwMaximumWorkingSetSize uintptr, flags uint32) (err error) //sys GetCommTimeouts(handle Handle, timeouts *CommTimeouts) (err error) //sys SetCommTimeouts(handle Handle, timeouts *CommTimeouts) (err error) +//sys GetActiveProcessorCount(groupNumber uint16) (ret uint32) +//sys GetMaximumProcessorCount(groupNumber uint16) (ret uint32) // Volume Management Functions //sys DefineDosDevice(flags uint32, deviceName *uint16, targetPath *uint16) (err error) = DefineDosDeviceW diff --git a/vendor/golang.org/x/sys/windows/types_windows.go b/vendor/golang.org/x/sys/windows/types_windows.go index bb31abda..e19471c6 100644 --- a/vendor/golang.org/x/sys/windows/types_windows.go +++ b/vendor/golang.org/x/sys/windows/types_windows.go @@ -3172,3 +3172,5 @@ type ModuleInfo struct { SizeOfImage uint32 EntryPoint uintptr } + +const ALL_PROCESSOR_GROUPS = 0xFFFF diff --git a/vendor/golang.org/x/sys/windows/zsyscall_windows.go b/vendor/golang.org/x/sys/windows/zsyscall_windows.go index 1055d47e..9ea1a44f 100644 --- a/vendor/golang.org/x/sys/windows/zsyscall_windows.go +++ b/vendor/golang.org/x/sys/windows/zsyscall_windows.go @@ -226,6 +226,7 @@ var ( procFreeLibrary = modkernel32.NewProc("FreeLibrary") procGenerateConsoleCtrlEvent = modkernel32.NewProc("GenerateConsoleCtrlEvent") procGetACP = modkernel32.NewProc("GetACP") + procGetActiveProcessorCount = modkernel32.NewProc("GetActiveProcessorCount") procGetCommTimeouts = modkernel32.NewProc("GetCommTimeouts") procGetCommandLineW = modkernel32.NewProc("GetCommandLineW") procGetComputerNameExW = modkernel32.NewProc("GetComputerNameExW") @@ -251,6 +252,7 @@ var ( procGetLogicalDriveStringsW = modkernel32.NewProc("GetLogicalDriveStringsW") procGetLogicalDrives = modkernel32.NewProc("GetLogicalDrives") procGetLongPathNameW = modkernel32.NewProc("GetLongPathNameW") + procGetMaximumProcessorCount = modkernel32.NewProc("GetMaximumProcessorCount") procGetModuleFileNameW = modkernel32.NewProc("GetModuleFileNameW") procGetModuleHandleExW = modkernel32.NewProc("GetModuleHandleExW") procGetNamedPipeHandleStateW = modkernel32.NewProc("GetNamedPipeHandleStateW") @@ -1967,6 +1969,12 @@ func GetACP() (acp uint32) { return } +func GetActiveProcessorCount(groupNumber uint16) (ret uint32) { + r0, _, _ := syscall.Syscall(procGetActiveProcessorCount.Addr(), 1, uintptr(groupNumber), 0, 0) + ret = uint32(r0) + return +} + func GetCommTimeouts(handle Handle, timeouts *CommTimeouts) (err error) { r1, _, e1 := syscall.Syscall(procGetCommTimeouts.Addr(), 2, uintptr(handle), uintptr(unsafe.Pointer(timeouts)), 0) if r1 == 0 { @@ -2169,6 +2177,12 @@ func GetLongPathName(path *uint16, buf *uint16, buflen uint32) (n uint32, err er return } +func GetMaximumProcessorCount(groupNumber uint16) (ret uint32) { + r0, _, _ := syscall.Syscall(procGetMaximumProcessorCount.Addr(), 1, uintptr(groupNumber), 0, 0) + ret = uint32(r0) + return +} + func GetModuleFileName(module Handle, filename *uint16, size uint32) (n uint32, err error) { r0, _, e1 := syscall.Syscall(procGetModuleFileNameW.Addr(), 3, uintptr(module), uintptr(unsafe.Pointer(filename)), uintptr(size)) n = uint32(r0) diff --git a/vendor/golang.org/x/tools/go/gcexportdata/gcexportdata.go b/vendor/golang.org/x/tools/go/gcexportdata/gcexportdata.go index fc8beea5..cec819d6 100644 --- a/vendor/golang.org/x/tools/go/gcexportdata/gcexportdata.go +++ b/vendor/golang.org/x/tools/go/gcexportdata/gcexportdata.go @@ -50,11 +50,24 @@ func Find(importPath, srcDir string) (filename, path string) { // additional trailing data beyond the end of the export data. func NewReader(r io.Reader) (io.Reader, error) { buf := bufio.NewReader(r) - _, err := gcimporter.FindExportData(buf) - // If we ever switch to a zip-like archive format with the ToC - // at the end, we can return the correct portion of export data, - // but for now we must return the entire rest of the file. - return buf, err + _, size, err := gcimporter.FindExportData(buf) + if err != nil { + return nil, err + } + + if size >= 0 { + // We were given an archive and found the __.PKGDEF in it. + // This tells us the size of the export data, and we don't + // need to return the entire file. + return &io.LimitedReader{ + R: buf, + N: size, + }, nil + } else { + // We were given an object file. As such, we don't know how large + // the export data is and must return the entire file. + return buf, nil + } } // Read reads export data from in, decodes it, and returns type diff --git a/vendor/golang.org/x/tools/go/internal/gcimporter/bexport.go b/vendor/golang.org/x/tools/go/internal/gcimporter/bexport.go index 072005af..0a3cdb9a 100644 --- a/vendor/golang.org/x/tools/go/internal/gcimporter/bexport.go +++ b/vendor/golang.org/x/tools/go/internal/gcimporter/bexport.go @@ -34,9 +34,6 @@ import ( // (suspected) format errors, and whenever a change is made to the format. const debugFormat = false // default: false -// If trace is set, debugging output is printed to std out. -const trace = false // default: false - // Current export format version. Increase with each format change. // Note: The latest binary (non-indexed) export format is at version 6. // This exporter is still at level 4, but it doesn't matter since diff --git a/vendor/golang.org/x/tools/go/internal/gcimporter/bimport.go b/vendor/golang.org/x/tools/go/internal/gcimporter/bimport.go index b0231200..b85de014 100644 --- a/vendor/golang.org/x/tools/go/internal/gcimporter/bimport.go +++ b/vendor/golang.org/x/tools/go/internal/gcimporter/bimport.go @@ -74,9 +74,10 @@ func BImportData(fset *token.FileSet, imports map[string]*types.Package, data [] pathList: []string{""}, // empty string is mapped to 0 fake: fakeFileSet{ fset: fset, - files: make(map[string]*token.File), + files: make(map[string]*fileInfo), }, } + defer p.fake.setLines() // set lines for files in fset // read version info var versionstr string @@ -338,37 +339,49 @@ func (p *importer) pos() token.Pos { // Synthesize a token.Pos type fakeFileSet struct { fset *token.FileSet - files map[string]*token.File + files map[string]*fileInfo } +type fileInfo struct { + file *token.File + lastline int +} + +const maxlines = 64 * 1024 + func (s *fakeFileSet) pos(file string, line, column int) token.Pos { // TODO(mdempsky): Make use of column. - // Since we don't know the set of needed file positions, we - // reserve maxlines positions per file. - const maxlines = 64 * 1024 + // Since we don't know the set of needed file positions, we reserve maxlines + // positions per file. We delay calling token.File.SetLines until all + // positions have been calculated (by way of fakeFileSet.setLines), so that + // we can avoid setting unnecessary lines. See also golang/go#46586. f := s.files[file] if f == nil { - f = s.fset.AddFile(file, -1, maxlines) + f = &fileInfo{file: s.fset.AddFile(file, -1, maxlines)} s.files[file] = f - // Allocate the fake linebreak indices on first use. - // TODO(adonovan): opt: save ~512KB using a more complex scheme? - fakeLinesOnce.Do(func() { - fakeLines = make([]int, maxlines) - for i := range fakeLines { - fakeLines[i] = i - } - }) - f.SetLines(fakeLines) } - if line > maxlines { line = 1 } + if line > f.lastline { + f.lastline = line + } - // Treat the file as if it contained only newlines - // and column=1: use the line number as the offset. - return f.Pos(line - 1) + // Return a fake position assuming that f.file consists only of newlines. + return token.Pos(f.file.Base() + line - 1) +} + +func (s *fakeFileSet) setLines() { + fakeLinesOnce.Do(func() { + fakeLines = make([]int, maxlines) + for i := range fakeLines { + fakeLines[i] = i + } + }) + for _, f := range s.files { + f.file.SetLines(fakeLines[:f.lastline]) + } } var ( diff --git a/vendor/golang.org/x/tools/go/internal/gcimporter/exportdata.go b/vendor/golang.org/x/tools/go/internal/gcimporter/exportdata.go index f33dc561..f6437feb 100644 --- a/vendor/golang.org/x/tools/go/internal/gcimporter/exportdata.go +++ b/vendor/golang.org/x/tools/go/internal/gcimporter/exportdata.go @@ -16,7 +16,7 @@ import ( "strings" ) -func readGopackHeader(r *bufio.Reader) (name string, size int, err error) { +func readGopackHeader(r *bufio.Reader) (name string, size int64, err error) { // See $GOROOT/include/ar.h. hdr := make([]byte, 16+12+6+6+8+10+2) _, err = io.ReadFull(r, hdr) @@ -28,7 +28,8 @@ func readGopackHeader(r *bufio.Reader) (name string, size int, err error) { fmt.Printf("header: %s", hdr) } s := strings.TrimSpace(string(hdr[16+12+6+6+8:][:10])) - size, err = strconv.Atoi(s) + length, err := strconv.Atoi(s) + size = int64(length) if err != nil || hdr[len(hdr)-2] != '`' || hdr[len(hdr)-1] != '\n' { err = fmt.Errorf("invalid archive header") return @@ -42,8 +43,8 @@ func readGopackHeader(r *bufio.Reader) (name string, size int, err error) { // file by reading from it. The reader must be positioned at the // start of the file before calling this function. The hdr result // is the string before the export data, either "$$" or "$$B". -// -func FindExportData(r *bufio.Reader) (hdr string, err error) { +// The size result is the length of the export data in bytes, or -1 if not known. +func FindExportData(r *bufio.Reader) (hdr string, size int64, err error) { // Read first line to make sure this is an object file. line, err := r.ReadSlice('\n') if err != nil { @@ -54,7 +55,7 @@ func FindExportData(r *bufio.Reader) (hdr string, err error) { if string(line) == "!\n" { // Archive file. Scan to __.PKGDEF. var name string - if name, _, err = readGopackHeader(r); err != nil { + if name, size, err = readGopackHeader(r); err != nil { return } @@ -70,6 +71,7 @@ func FindExportData(r *bufio.Reader) (hdr string, err error) { err = fmt.Errorf("can't find export data (%v)", err) return } + size -= int64(len(line)) } // Now at __.PKGDEF in archive or still at beginning of file. @@ -86,8 +88,12 @@ func FindExportData(r *bufio.Reader) (hdr string, err error) { err = fmt.Errorf("can't find export data (%v)", err) return } + size -= int64(len(line)) } hdr = string(line) + if size < 0 { + size = -1 + } return } diff --git a/vendor/golang.org/x/tools/go/internal/gcimporter/gcimporter.go b/vendor/golang.org/x/tools/go/internal/gcimporter/gcimporter.go index e8cba6b2..3ab66830 100644 --- a/vendor/golang.org/x/tools/go/internal/gcimporter/gcimporter.go +++ b/vendor/golang.org/x/tools/go/internal/gcimporter/gcimporter.go @@ -29,8 +29,14 @@ import ( "text/scanner" ) -// debugging/development support -const debug = false +const ( + // Enable debug during development: it adds some additional checks, and + // prevents errors from being recovered. + debug = false + + // If trace is set, debugging output is printed to std out. + trace = false +) var pkgExts = [...]string{".a", ".o"} @@ -179,7 +185,7 @@ func Import(packages map[string]*types.Package, path, srcDir string, lookup func var hdr string buf := bufio.NewReader(rc) - if hdr, err = FindExportData(buf); err != nil { + if hdr, _, err = FindExportData(buf); err != nil { return } diff --git a/vendor/golang.org/x/tools/go/internal/gcimporter/iexport.go b/vendor/golang.org/x/tools/go/internal/gcimporter/iexport.go index be8b7459..20955340 100644 --- a/vendor/golang.org/x/tools/go/internal/gcimporter/iexport.go +++ b/vendor/golang.org/x/tools/go/internal/gcimporter/iexport.go @@ -11,6 +11,7 @@ package gcimporter import ( "bytes" "encoding/binary" + "fmt" "go/ast" "go/constant" "go/token" @@ -19,6 +20,8 @@ import ( "math/big" "reflect" "sort" + "strconv" + "strings" "golang.org/x/tools/internal/typeparams" ) @@ -33,15 +36,15 @@ const bundleVersion = 0 // The package path of the top-level package will not be recorded, // so that calls to IImportData can override with a provided package path. func IExportData(out io.Writer, fset *token.FileSet, pkg *types.Package) error { - return iexportCommon(out, fset, false, []*types.Package{pkg}) + return iexportCommon(out, fset, false, iexportVersion, []*types.Package{pkg}) } // IExportBundle writes an indexed export bundle for pkgs to out. func IExportBundle(out io.Writer, fset *token.FileSet, pkgs []*types.Package) error { - return iexportCommon(out, fset, true, pkgs) + return iexportCommon(out, fset, true, iexportVersion, pkgs) } -func iexportCommon(out io.Writer, fset *token.FileSet, bundle bool, pkgs []*types.Package) (err error) { +func iexportCommon(out io.Writer, fset *token.FileSet, bundle bool, version int, pkgs []*types.Package) (err error) { if !debug { defer func() { if e := recover(); e != nil { @@ -57,9 +60,11 @@ func iexportCommon(out io.Writer, fset *token.FileSet, bundle bool, pkgs []*type p := iexporter{ fset: fset, + version: version, allPkgs: map[*types.Package]bool{}, stringIndex: map[string]uint64{}, declIndex: map[types.Object]uint64{}, + tparamNames: map[types.Object]string{}, typIndex: map[types.Type]uint64{}, } if !bundle { @@ -119,7 +124,7 @@ func iexportCommon(out io.Writer, fset *token.FileSet, bundle bool, pkgs []*type if bundle { hdr.uint64(bundleVersion) } - hdr.uint64(iexportVersion) + hdr.uint64(uint64(p.version)) hdr.uint64(uint64(p.strings.Len())) hdr.uint64(dataLen) @@ -136,8 +141,12 @@ func iexportCommon(out io.Writer, fset *token.FileSet, bundle bool, pkgs []*type // non-compiler tools and includes a complete package description // (i.e., name and height). func (w *exportWriter) writeIndex(index map[types.Object]uint64) { + type pkgObj struct { + obj types.Object + name string // qualified name; differs from obj.Name for type params + } // Build a map from packages to objects from that package. - pkgObjs := map[*types.Package][]types.Object{} + pkgObjs := map[*types.Package][]pkgObj{} // For the main index, make sure to include every package that // we reference, even if we're not exporting (or reexporting) @@ -150,7 +159,8 @@ func (w *exportWriter) writeIndex(index map[types.Object]uint64) { } for obj := range index { - pkgObjs[obj.Pkg()] = append(pkgObjs[obj.Pkg()], obj) + name := w.p.exportName(obj) + pkgObjs[obj.Pkg()] = append(pkgObjs[obj.Pkg()], pkgObj{obj, name}) } var pkgs []*types.Package @@ -158,7 +168,7 @@ func (w *exportWriter) writeIndex(index map[types.Object]uint64) { pkgs = append(pkgs, pkg) sort.Slice(objs, func(i, j int) bool { - return indexName(objs[i]) < indexName(objs[j]) + return objs[i].name < objs[j].name }) } @@ -175,29 +185,25 @@ func (w *exportWriter) writeIndex(index map[types.Object]uint64) { objs := pkgObjs[pkg] w.uint64(uint64(len(objs))) for _, obj := range objs { - w.string(indexName(obj)) - w.uint64(index[obj]) + w.string(obj.name) + w.uint64(index[obj.obj]) } } } -// indexName returns the 'indexed' name of an object. It differs from -// obj.Name() only for type parameter names, where we include the subscripted -// type parameter ID. -// -// TODO(rfindley): remove this once we no longer need subscripts. -func indexName(obj types.Object) (res string) { - if _, ok := obj.(*types.TypeName); ok { - if tparam, ok := obj.Type().(*typeparams.TypeParam); ok { - return types.TypeString(tparam, func(*types.Package) string { return "" }) - } +// exportName returns the 'exported' name of an object. It differs from +// obj.Name() only for type parameters (see tparamExportName for details). +func (p *iexporter) exportName(obj types.Object) (res string) { + if name := p.tparamNames[obj]; name != "" { + return name } return obj.Name() } type iexporter struct { - fset *token.FileSet - out *bytes.Buffer + fset *token.FileSet + out *bytes.Buffer + version int localpkg *types.Package @@ -211,9 +217,21 @@ type iexporter struct { strings intWriter stringIndex map[string]uint64 - data0 intWriter - declIndex map[types.Object]uint64 - typIndex map[types.Type]uint64 + data0 intWriter + declIndex map[types.Object]uint64 + tparamNames map[types.Object]string // typeparam->exported name + typIndex map[types.Type]uint64 + + indent int // for tracing support +} + +func (p *iexporter) trace(format string, args ...interface{}) { + if !trace { + // Call sites should also be guarded, but having this check here allows + // easily enabling/disabling debug trace statements. + return + } + fmt.Printf(strings.Repeat("..", p.indent)+format+"\n", args...) } // stringOff returns the offset of s within the string section. @@ -239,7 +257,7 @@ func (p *iexporter) pushDecl(obj types.Object) { return } - p.declIndex[obj] = ^uint64(0) // mark n present in work queue + p.declIndex[obj] = ^uint64(0) // mark obj present in work queue p.declTodo.pushTail(obj) } @@ -262,6 +280,14 @@ func (w *exportWriter) exportPath(pkg *types.Package) string { } func (p *iexporter) doDecl(obj types.Object) { + if trace { + p.trace("exporting decl %v (%T)", obj, obj) + p.indent++ + defer func() { + p.indent-- + p.trace("=> %s", obj) + }() + } w := p.newWriter() w.setPkg(obj.Pkg(), false) @@ -284,14 +310,15 @@ func (p *iexporter) doDecl(obj types.Object) { w.tag('G') } w.pos(obj.Pos()) - // The tparam list of the function type is the - // declaration of the type params. So, write out the type - // params right now. Then those type params will be - // referenced via their type offset (via typOff) in all - // other places in the signature and function that they - // are used. + // The tparam list of the function type is the declaration of the type + // params. So, write out the type params right now. Then those type params + // will be referenced via their type offset (via typOff) in all other + // places in the signature and function where they are used. + // + // While importing the type parameters, tparamList computes and records + // their export name, so that it can be later used when writing the index. if tparams := typeparams.ForSignature(sig); tparams.Len() > 0 { - w.tparamList(tparams, obj.Pkg()) + w.tparamList(obj.Name(), tparams, obj.Pkg()) } w.signature(sig) @@ -306,7 +333,15 @@ func (p *iexporter) doDecl(obj types.Object) { if tparam, ok := t.(*typeparams.TypeParam); ok { w.tag('P') w.pos(obj.Pos()) - w.typ(tparam.Constraint(), obj.Pkg()) + constraint := tparam.Constraint() + if p.version >= iexportVersionGo1_18 { + implicit := false + if iface, _ := constraint.(*types.Interface); iface != nil { + implicit = typeparams.IsImplicit(iface) + } + w.bool(implicit) + } + w.typ(constraint, obj.Pkg()) break } @@ -331,7 +366,9 @@ func (p *iexporter) doDecl(obj types.Object) { w.pos(obj.Pos()) if typeparams.ForNamed(named).Len() > 0 { - w.tparamList(typeparams.ForNamed(named), obj.Pkg()) + // While importing the type parameters, tparamList computes and records + // their export name, so that it can be later used when writing the index. + w.tparamList(obj.Name(), typeparams.ForNamed(named), obj.Pkg()) } underlying := obj.Type().Underlying() @@ -348,6 +385,17 @@ func (p *iexporter) doDecl(obj types.Object) { w.pos(m.Pos()) w.string(m.Name()) sig, _ := m.Type().(*types.Signature) + + // Receiver type parameters are type arguments of the receiver type, so + // their name must be qualified before exporting recv. + if rparams := typeparams.RecvTypeParams(sig); rparams.Len() > 0 { + prefix := obj.Name() + "." + m.Name() + for i := 0; i < rparams.Len(); i++ { + rparam := rparams.At(i) + name := tparamExportName(prefix, rparam) + w.p.tparamNames[rparam.Obj()] = name + } + } w.param(sig.Recv()) w.signature(sig) } @@ -364,7 +412,7 @@ func (w *exportWriter) tag(tag byte) { } func (w *exportWriter) pos(pos token.Pos) { - if iexportVersion >= iexportVersionPosCol { + if w.p.version >= iexportVersionPosCol { w.posV1(pos) } else { w.posV0(pos) @@ -447,9 +495,11 @@ func (w *exportWriter) pkg(pkg *types.Package) { } func (w *exportWriter) qualifiedIdent(obj types.Object) { + name := w.p.exportName(obj) + // Ensure any referenced declarations are written out too. w.p.pushDecl(obj) - w.string(indexName(obj)) + w.string(name) w.pkg(obj.Pkg()) } @@ -483,6 +533,14 @@ func (w *exportWriter) startType(k itag) { } func (w *exportWriter) doTyp(t types.Type, pkg *types.Package) { + if trace { + w.p.trace("exporting type %s (%T)", t, t) + w.p.indent++ + defer func() { + w.p.indent-- + w.p.trace("=> %s", t) + }() + } switch t := t.(type) { case *types.Named: if targs := typeparams.NamedTypeArgs(t); targs.Len() > 0 { @@ -619,14 +677,49 @@ func (w *exportWriter) typeList(ts *typeparams.TypeList, pkg *types.Package) { } } -func (w *exportWriter) tparamList(list *typeparams.TypeParamList, pkg *types.Package) { +func (w *exportWriter) tparamList(prefix string, list *typeparams.TypeParamList, pkg *types.Package) { ll := uint64(list.Len()) w.uint64(ll) for i := 0; i < list.Len(); i++ { + tparam := list.At(i) + // Set the type parameter exportName before exporting its type. + exportName := tparamExportName(prefix, tparam) + w.p.tparamNames[tparam.Obj()] = exportName w.typ(list.At(i), pkg) } } +const blankMarker = "$" + +// tparamExportName returns the 'exported' name of a type parameter, which +// differs from its actual object name: it is prefixed with a qualifier, and +// blank type parameter names are disambiguated by their index in the type +// parameter list. +func tparamExportName(prefix string, tparam *typeparams.TypeParam) string { + assert(prefix != "") + name := tparam.Obj().Name() + if name == "_" { + name = blankMarker + strconv.Itoa(tparam.Index()) + } + return prefix + "." + name +} + +// tparamName returns the real name of a type parameter, after stripping its +// qualifying prefix and reverting blank-name encoding. See tparamExportName +// for details. +func tparamName(exportName string) string { + // Remove the "path" from the type param name that makes it unique. + ix := strings.LastIndex(exportName, ".") + if ix < 0 { + errorf("malformed type parameter export name %s: missing prefix", exportName) + } + name := exportName[ix+1:] + if strings.HasPrefix(name, blankMarker) { + return "_" + } + return name +} + func (w *exportWriter) paramList(tup *types.Tuple) { n := tup.Len() w.uint64(uint64(n)) @@ -643,6 +736,9 @@ func (w *exportWriter) param(obj types.Object) { func (w *exportWriter) value(typ types.Type, v constant.Value) { w.typ(typ, nil) + if w.p.version >= iexportVersionGo1_18 { + w.int64(int64(v.Kind())) + } switch b := typ.Underlying().(*types.Basic); b.Info() & types.IsConstType { case types.IsBoolean: @@ -832,7 +928,7 @@ func (w *exportWriter) localIdent(obj types.Object) { return } - name := indexName(obj) + name := obj.Name() if name == "_" { w.string("_") return diff --git a/vendor/golang.org/x/tools/go/internal/gcimporter/iimport.go b/vendor/golang.org/x/tools/go/internal/gcimporter/iimport.go index 1fcc87e5..1a33cd5c 100644 --- a/vendor/golang.org/x/tools/go/internal/gcimporter/iimport.go +++ b/vendor/golang.org/x/tools/go/internal/gcimporter/iimport.go @@ -18,6 +18,7 @@ import ( "go/types" "io" "sort" + "strings" "golang.org/x/tools/internal/typeparams" ) @@ -45,12 +46,10 @@ func (r *intReader) uint64() uint64 { // Keep this in sync with constants in iexport.go. const ( - iexportVersionGo1_11 = 0 - iexportVersionPosCol = 1 - // TODO: before release, change this back to 2. - iexportVersionGenerics = iexportVersionPosCol - - iexportVersionCurrent = iexportVersionGenerics + iexportVersionGo1_11 = 0 + iexportVersionPosCol = 1 + iexportVersionGo1_18 = 2 + iexportVersionGenerics = 2 ) type ident struct { @@ -123,9 +122,9 @@ func iimportCommon(fset *token.FileSet, imports map[string]*types.Package, data version = int64(r.uint64()) switch version { - case /* iexportVersionGenerics, */ iexportVersionPosCol, iexportVersionGo1_11: + case iexportVersionGo1_18, iexportVersionPosCol, iexportVersionGo1_11: default: - if version > iexportVersionGenerics { + if version > iexportVersionGo1_18 { errorf("unstable iexport format version %d, just rebuild compiler and std library", version) } else { errorf("unknown iexport format version %d", version) @@ -141,9 +140,8 @@ func iimportCommon(fset *token.FileSet, imports map[string]*types.Package, data r.Seek(sLen+dLen, io.SeekCurrent) p := iimporter{ - exportVersion: version, - ipath: path, - version: int(version), + version: int(version), + ipath: path, stringData: stringData, stringCache: make(map[uint64]string), @@ -153,14 +151,15 @@ func iimportCommon(fset *token.FileSet, imports map[string]*types.Package, data pkgIndex: make(map[*types.Package]map[string]uint64), typCache: make(map[uint64]types.Type), // Separate map for typeparams, keyed by their package and unique - // name (name with subscript). + // name. tparamIndex: make(map[ident]types.Type), fake: fakeFileSet{ fset: fset, - files: make(map[string]*token.File), + files: make(map[string]*fileInfo), }, } + defer p.fake.setLines() // set lines for files in fset for i, pt := range predeclared() { p.typCache[uint64(i)] = pt @@ -246,9 +245,8 @@ func iimportCommon(fset *token.FileSet, imports map[string]*types.Package, data } type iimporter struct { - exportVersion int64 - ipath string - version int + version int + ipath string stringData []byte stringCache map[uint64]string @@ -261,9 +259,28 @@ type iimporter struct { fake fakeFileSet interfaceList []*types.Interface + + indent int // for tracing support +} + +func (p *iimporter) trace(format string, args ...interface{}) { + if !trace { + // Call sites should also be guarded, but having this check here allows + // easily enabling/disabling debug trace statements. + return + } + fmt.Printf(strings.Repeat("..", p.indent)+format+"\n", args...) } func (p *iimporter) doDecl(pkg *types.Package, name string) { + if debug { + p.trace("import decl %s", name) + p.indent++ + defer func() { + p.indent-- + p.trace("=> %s", name) + }() + } // See if we've already imported this declaration. if obj := pkg.Scope().Lookup(name); obj != nil { return @@ -305,7 +322,7 @@ func (p *iimporter) pkgAt(off uint64) *types.Package { } func (p *iimporter) typAt(off uint64, base *types.Named) types.Type { - if t, ok := p.typCache[off]; ok && (base == nil || !isInterface(t)) { + if t, ok := p.typCache[off]; ok && canReuse(base, t) { return t } @@ -317,12 +334,30 @@ func (p *iimporter) typAt(off uint64, base *types.Named) types.Type { r.declReader.Reset(p.declData[off-predeclReserved:]) t := r.doType(base) - if base == nil || !isInterface(t) { + if canReuse(base, t) { p.typCache[off] = t } return t } +// canReuse reports whether the type rhs on the RHS of the declaration for def +// may be re-used. +// +// Specifically, if def is non-nil and rhs is an interface type with methods, it +// may not be re-used because we have a convention of setting the receiver type +// for interface methods to def. +func canReuse(def *types.Named, rhs types.Type) bool { + if def == nil { + return true + } + iface, _ := rhs.(*types.Interface) + if iface == nil { + return true + } + // Don't use iface.Empty() here as iface may not be complete. + return iface.NumEmbeddeds() == 0 && iface.NumExplicitMethods() == 0 +} + type importReader struct { p *iimporter declReader bytes.Reader @@ -352,8 +387,7 @@ func (r *importReader) obj(name string) { if tag == 'G' { tparams = r.tparamList() } - sig := r.signature(nil) - typeparams.SetForSignature(sig, tparams) + sig := r.signature(nil, nil, tparams) r.declare(types.NewFunc(pos, r.currPkg, name, sig)) case 'T', 'U': @@ -377,23 +411,21 @@ func (r *importReader) obj(name string) { mpos := r.pos() mname := r.ident() recv := r.param() - msig := r.signature(recv) // If the receiver has any targs, set those as the // rparams of the method (since those are the // typeparams being used in the method sig/body). - targs := typeparams.NamedTypeArgs(baseType(msig.Recv().Type())) + base := baseType(recv.Type()) + assert(base != nil) + targs := typeparams.NamedTypeArgs(base) + var rparams []*typeparams.TypeParam if targs.Len() > 0 { - rparams := make([]*typeparams.TypeParam, targs.Len()) + rparams = make([]*typeparams.TypeParam, targs.Len()) for i := range rparams { - // TODO(rfindley): this is less tolerant than the standard library - // go/internal/gcimporter, which calls under(...) and is tolerant - // of nil rparams. Bring them in sync by making the standard - // library importer stricter. rparams[i] = targs.At(i).(*typeparams.TypeParam) } - typeparams.SetRecvTypeParams(msig, rparams) } + msig := r.signature(recv, rparams, nil) named.AddMethod(types.NewFunc(mpos, r.currPkg, mname, msig)) } @@ -403,25 +435,30 @@ func (r *importReader) obj(name string) { // We need to "declare" a typeparam in order to have a name that // can be referenced recursively (if needed) in the type param's // bound. - if r.p.exportVersion < iexportVersionGenerics { + if r.p.version < iexportVersionGenerics { errorf("unexpected type param type") } - name0, sub := parseSubscript(name) + name0 := tparamName(name) tn := types.NewTypeName(pos, r.currPkg, name0, nil) t := typeparams.NewTypeParam(tn, nil) - if sub == 0 { - errorf("name %q missing subscript", name) - } - - // TODO(rfindley): can we use a different, stable ID? - // t.SetId(sub) // To handle recursive references to the typeparam within its // bound, save the partial type in tparamIndex before reading the bounds. id := ident{r.currPkg.Name(), name} r.p.tparamIndex[id] = t - - typeparams.SetTypeParamConstraint(t, r.typ()) + var implicit bool + if r.p.version >= iexportVersionGo1_18 { + implicit = r.bool() + } + constraint := r.typ() + if implicit { + iface, _ := constraint.(*types.Interface) + if iface == nil { + errorf("non-interface constraint marked implicit") + } + typeparams.MarkImplicit(iface) + } + typeparams.SetTypeParamConstraint(t, constraint) case 'V': typ := r.typ() @@ -439,6 +476,10 @@ func (r *importReader) declare(obj types.Object) { func (r *importReader) value() (typ types.Type, val constant.Value) { typ = r.typ() + if r.p.version >= iexportVersionGo1_18 { + // TODO: add support for using the kind. + _ = constant.Kind(r.int64()) + } switch b := typ.Underlying().(*types.Basic); b.Info() & types.IsConstType { case types.IsBoolean: @@ -581,7 +622,7 @@ func (r *importReader) qualifiedIdent() (*types.Package, string) { } func (r *importReader) pos() token.Pos { - if r.p.exportVersion >= iexportVersionPosCol { + if r.p.version >= iexportVersionPosCol { r.posv1() } else { r.posv0() @@ -629,8 +670,17 @@ func isInterface(t types.Type) bool { func (r *importReader) pkg() *types.Package { return r.p.pkgAt(r.uint64()) } func (r *importReader) string() string { return r.p.stringAt(r.uint64()) } -func (r *importReader) doType(base *types.Named) types.Type { - switch k := r.kind(); k { +func (r *importReader) doType(base *types.Named) (res types.Type) { + k := r.kind() + if debug { + r.p.trace("importing type %d (base: %s)", k, base) + r.p.indent++ + defer func() { + r.p.indent-- + r.p.trace("=> %s", res) + }() + } + switch k { default: errorf("unexpected kind tag in %q: %v", r.p.ipath, k) return nil @@ -653,7 +703,7 @@ func (r *importReader) doType(base *types.Named) types.Type { return types.NewMap(r.typ(), r.typ()) case signatureType: r.currPkg = r.pkg() - return r.signature(nil) + return r.signature(nil, nil, nil) case structType: r.currPkg = r.pkg() @@ -693,7 +743,7 @@ func (r *importReader) doType(base *types.Named) types.Type { recv = types.NewVar(token.NoPos, r.currPkg, "", base) } - msig := r.signature(recv) + msig := r.signature(recv, nil, nil) methods[i] = types.NewFunc(mpos, r.currPkg, mname, msig) } @@ -702,7 +752,7 @@ func (r *importReader) doType(base *types.Named) types.Type { return typ case typeParamType: - if r.p.exportVersion < iexportVersionGenerics { + if r.p.version < iexportVersionGenerics { errorf("unexpected type param type") } pkg, name := r.qualifiedIdent() @@ -716,7 +766,7 @@ func (r *importReader) doType(base *types.Named) types.Type { return r.p.tparamIndex[id] case instanceType: - if r.p.exportVersion < iexportVersionGenerics { + if r.p.version < iexportVersionGenerics { errorf("unexpected instantiation type") } // pos does not matter for instances: they are positioned on the original @@ -735,7 +785,7 @@ func (r *importReader) doType(base *types.Named) types.Type { return t case unionType: - if r.p.exportVersion < iexportVersionGenerics { + if r.p.version < iexportVersionGenerics { errorf("unexpected instantiation type") } terms := make([]*typeparams.Term, r.uint64()) @@ -750,11 +800,11 @@ func (r *importReader) kind() itag { return itag(r.uint64()) } -func (r *importReader) signature(recv *types.Var) *types.Signature { +func (r *importReader) signature(recv *types.Var, rparams []*typeparams.TypeParam, tparams []*typeparams.TypeParam) *types.Signature { params := r.paramList() results := r.paramList() variadic := params.Len() > 0 && r.bool() - return types.NewSignature(recv, params, results, variadic) + return typeparams.NewSignatureType(recv, rparams, tparams, params, results, variadic) } func (r *importReader) tparamList() []*typeparams.TypeParam { @@ -823,23 +873,3 @@ func baseType(typ types.Type) *types.Named { n, _ := typ.(*types.Named) return n } - -func parseSubscript(name string) (string, uint64) { - // Extract the subscript value from the type param name. We export - // and import the subscript value, so that all type params have - // unique names. - sub := uint64(0) - startsub := -1 - for i, r := range name { - if '₀' <= r && r < '₀'+10 { - if startsub == -1 { - startsub = i - } - sub = sub*10 + uint64(r-'₀') - } - } - if startsub >= 0 { - name = name[:startsub] - } - return name, sub -} diff --git a/vendor/golang.org/x/tools/go/internal/gcimporter/support_go117.go b/vendor/golang.org/x/tools/go/internal/gcimporter/support_go117.go index 817a147e..d892273e 100644 --- a/vendor/golang.org/x/tools/go/internal/gcimporter/support_go117.go +++ b/vendor/golang.org/x/tools/go/internal/gcimporter/support_go117.go @@ -2,8 +2,8 @@ // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. -//go:build !typeparams || !go1.18 -// +build !typeparams !go1.18 +//go:build !go1.18 +// +build !go1.18 package gcimporter diff --git a/vendor/golang.org/x/tools/go/internal/gcimporter/support_go118.go b/vendor/golang.org/x/tools/go/internal/gcimporter/support_go118.go index e6b81fc5..a9938432 100644 --- a/vendor/golang.org/x/tools/go/internal/gcimporter/support_go118.go +++ b/vendor/golang.org/x/tools/go/internal/gcimporter/support_go118.go @@ -2,8 +2,8 @@ // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. -//go:build typeparams && go1.18 -// +build typeparams,go1.18 +//go:build go1.18 +// +build go1.18 package gcimporter @@ -16,5 +16,8 @@ func additionalPredeclared() []types.Type { return []types.Type{ // comparable types.Universe.Lookup("comparable").Type(), + + // any + types.Universe.Lookup("any").Type(), } } diff --git a/vendor/golang.org/x/tools/go/packages/packages.go b/vendor/golang.org/x/tools/go/packages/packages.go index 8a1a2d68..1b5424e7 100644 --- a/vendor/golang.org/x/tools/go/packages/packages.go +++ b/vendor/golang.org/x/tools/go/packages/packages.go @@ -26,6 +26,7 @@ import ( "golang.org/x/tools/go/gcexportdata" "golang.org/x/tools/internal/gocommand" "golang.org/x/tools/internal/packagesinternal" + "golang.org/x/tools/internal/typeparams" "golang.org/x/tools/internal/typesinternal" ) @@ -327,6 +328,9 @@ type Package struct { // The NeedSyntax LoadMode bit populates this field for packages matching the patterns. // If NeedDeps and NeedImports are also set, this field will also be populated // for dependencies. + // + // Syntax is kept in the same order as CompiledGoFiles, with the caveat that nils are + // removed. If parsing returned nil, Syntax may be shorter than CompiledGoFiles. Syntax []*ast.File // TypesInfo provides type information about the package's syntax trees. @@ -910,6 +914,7 @@ func (ld *loader) loadPackage(lpkg *loaderPackage) { Scopes: make(map[ast.Node]*types.Scope), Selections: make(map[*ast.SelectorExpr]*types.Selection), } + typeparams.InitInstanceInfo(lpkg.TypesInfo) lpkg.TypesSizes = ld.sizes importer := importerFunc(func(path string) (*types.Package, error) { diff --git a/vendor/golang.org/x/tools/internal/typeparams/common.go b/vendor/golang.org/x/tools/internal/typeparams/common.go index 9fc6b4be..1222764b 100644 --- a/vendor/golang.org/x/tools/internal/typeparams/common.go +++ b/vendor/golang.org/x/tools/internal/typeparams/common.go @@ -2,24 +2,78 @@ // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. -// Package typeparams provides functions to work indirectly with type parameter -// data stored in go/ast and go/types objects, while these API are guarded by a -// build constraint. +// Package typeparams contains common utilities for writing tools that interact +// with generic Go code, as introduced with Go 1.18. // -// This package exists to make it easier for tools to work with generic code, -// while also compiling against older Go versions. +// Many of the types and functions in this package are proxies for the new APIs +// introduced in the standard library with Go 1.18. For example, the +// typeparams.Union type is an alias for go/types.Union, and the ForTypeSpec +// function returns the value of the go/ast.TypeSpec.TypeParams field. At Go +// versions older than 1.18 these helpers are implemented as stubs, allowing +// users of this package to write code that handles generic constructs inline, +// even if the Go version being used to compile does not support generics. +// +// Additionally, this package contains common utilities for working with the +// new generic constructs, to supplement the standard library APIs. Notably, +// the StructuralTerms API computes a minimal representation of the structural +// restrictions on a type parameter. In the future, this API may be available +// from go/types. +// +// See the example/README.md for a more detailed guide on how to update tools +// to support generics. package typeparams import ( "go/ast" "go/token" + "go/types" ) -// A IndexExprData holds data from both ast.IndexExpr and the new -// ast.MultiIndexExpr, which was introduced in Go 1.18. -type IndexExprData struct { - X ast.Expr // expression - Lbrack token.Pos // position of "[" - Indices []ast.Expr // index expressions - Rbrack token.Pos // position of "]" +// UnpackIndexExpr extracts data from AST nodes that represent index +// expressions. +// +// For an ast.IndexExpr, the resulting indices slice will contain exactly one +// index expression. For an ast.IndexListExpr (go1.18+), it may have a variable +// number of index expressions. +// +// For nodes that don't represent index expressions, the first return value of +// UnpackIndexExpr will be nil. +func UnpackIndexExpr(n ast.Node) (x ast.Expr, lbrack token.Pos, indices []ast.Expr, rbrack token.Pos) { + switch e := n.(type) { + case *ast.IndexExpr: + return e.X, e.Lbrack, []ast.Expr{e.Index}, e.Rbrack + case *IndexListExpr: + return e.X, e.Lbrack, e.Indices, e.Rbrack + } + return nil, token.NoPos, nil, token.NoPos +} + +// PackIndexExpr returns an *ast.IndexExpr or *ast.IndexListExpr, depending on +// the cardinality of indices. Calling PackIndexExpr with len(indices) == 0 +// will panic. +func PackIndexExpr(x ast.Expr, lbrack token.Pos, indices []ast.Expr, rbrack token.Pos) ast.Expr { + switch len(indices) { + case 0: + panic("empty indices") + case 1: + return &ast.IndexExpr{ + X: x, + Lbrack: lbrack, + Index: indices[0], + Rbrack: rbrack, + } + default: + return &IndexListExpr{ + X: x, + Lbrack: lbrack, + Indices: indices, + Rbrack: rbrack, + } + } +} + +// IsTypeParam reports whether t is a type parameter. +func IsTypeParam(t types.Type) bool { + _, ok := t.(*TypeParam) + return ok } diff --git a/vendor/golang.org/x/tools/internal/typeparams/enabled_go117.go b/vendor/golang.org/x/tools/internal/typeparams/enabled_go117.go index 72d010e5..18212390 100644 --- a/vendor/golang.org/x/tools/internal/typeparams/enabled_go117.go +++ b/vendor/golang.org/x/tools/internal/typeparams/enabled_go117.go @@ -2,8 +2,8 @@ // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. -//go:build !typeparams || !go1.18 -// +build !typeparams !go1.18 +//go:build !go1.18 +// +build !go1.18 package typeparams diff --git a/vendor/golang.org/x/tools/internal/typeparams/enabled_go118.go b/vendor/golang.org/x/tools/internal/typeparams/enabled_go118.go index 642fc8ee..d6714882 100644 --- a/vendor/golang.org/x/tools/internal/typeparams/enabled_go118.go +++ b/vendor/golang.org/x/tools/internal/typeparams/enabled_go118.go @@ -2,8 +2,8 @@ // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. -//go:build typeparams && go1.18 -// +build typeparams,go1.18 +//go:build go1.18 +// +build go1.18 package typeparams diff --git a/vendor/golang.org/x/tools/internal/typeparams/normalize.go b/vendor/golang.org/x/tools/internal/typeparams/normalize.go new file mode 100644 index 00000000..090f142a --- /dev/null +++ b/vendor/golang.org/x/tools/internal/typeparams/normalize.go @@ -0,0 +1,216 @@ +// Copyright 2021 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package typeparams + +import ( + "errors" + "fmt" + "go/types" + "os" + "strings" +) + +//go:generate go run copytermlist.go + +const debug = false + +var ErrEmptyTypeSet = errors.New("empty type set") + +// StructuralTerms returns a slice of terms representing the normalized +// structural type restrictions of a type parameter, if any. +// +// Structural type restrictions of a type parameter are created via +// non-interface types embedded in its constraint interface (directly, or via a +// chain of interface embeddings). For example, in the declaration +// type T[P interface{~int; m()}] int +// the structural restriction of the type parameter P is ~int. +// +// With interface embedding and unions, the specification of structural type +// restrictions may be arbitrarily complex. For example, consider the +// following: +// +// type A interface{ ~string|~[]byte } +// +// type B interface{ int|string } +// +// type C interface { ~string|~int } +// +// type T[P interface{ A|B; C }] int +// +// In this example, the structural type restriction of P is ~string|int: A|B +// expands to ~string|~[]byte|int|string, which reduces to ~string|~[]byte|int, +// which when intersected with C (~string|~int) yields ~string|int. +// +// StructuralTerms computes these expansions and reductions, producing a +// "normalized" form of the embeddings. A structural restriction is normalized +// if it is a single union containing no interface terms, and is minimal in the +// sense that removing any term changes the set of types satisfying the +// constraint. It is left as a proof for the reader that, modulo sorting, there +// is exactly one such normalized form. +// +// Because the minimal representation always takes this form, StructuralTerms +// returns a slice of tilde terms corresponding to the terms of the union in +// the normalized structural restriction. An error is returned if the +// constraint interface is invalid, exceeds complexity bounds, or has an empty +// type set. In the latter case, StructuralTerms returns ErrEmptyTypeSet. +// +// StructuralTerms makes no guarantees about the order of terms, except that it +// is deterministic. +func StructuralTerms(tparam *TypeParam) ([]*Term, error) { + constraint := tparam.Constraint() + if constraint == nil { + return nil, fmt.Errorf("%s has nil constraint", tparam) + } + iface, _ := constraint.Underlying().(*types.Interface) + if iface == nil { + return nil, fmt.Errorf("constraint is %T, not *types.Interface", constraint.Underlying()) + } + return InterfaceTermSet(iface) +} + +// InterfaceTermSet computes the normalized terms for a constraint interface, +// returning an error if the term set cannot be computed or is empty. In the +// latter case, the error will be ErrEmptyTypeSet. +// +// See the documentation of StructuralTerms for more information on +// normalization. +func InterfaceTermSet(iface *types.Interface) ([]*Term, error) { + return computeTermSet(iface) +} + +// UnionTermSet computes the normalized terms for a union, returning an error +// if the term set cannot be computed or is empty. In the latter case, the +// error will be ErrEmptyTypeSet. +// +// See the documentation of StructuralTerms for more information on +// normalization. +func UnionTermSet(union *Union) ([]*Term, error) { + return computeTermSet(union) +} + +func computeTermSet(typ types.Type) ([]*Term, error) { + tset, err := computeTermSetInternal(typ, make(map[types.Type]*termSet), 0) + if err != nil { + return nil, err + } + if tset.terms.isEmpty() { + return nil, ErrEmptyTypeSet + } + if tset.terms.isAll() { + return nil, nil + } + var terms []*Term + for _, term := range tset.terms { + terms = append(terms, NewTerm(term.tilde, term.typ)) + } + return terms, nil +} + +// A termSet holds the normalized set of terms for a given type. +// +// The name termSet is intentionally distinct from 'type set': a type set is +// all types that implement a type (and includes method restrictions), whereas +// a term set just represents the structural restrictions on a type. +type termSet struct { + complete bool + terms termlist +} + +func indentf(depth int, format string, args ...interface{}) { + fmt.Fprintf(os.Stderr, strings.Repeat(".", depth)+format+"\n", args...) +} + +func computeTermSetInternal(t types.Type, seen map[types.Type]*termSet, depth int) (res *termSet, err error) { + if t == nil { + panic("nil type") + } + + if debug { + indentf(depth, "%s", t.String()) + defer func() { + if err != nil { + indentf(depth, "=> %s", err) + } else { + indentf(depth, "=> %s", res.terms.String()) + } + }() + } + + const maxTermCount = 100 + if tset, ok := seen[t]; ok { + if !tset.complete { + return nil, fmt.Errorf("cycle detected in the declaration of %s", t) + } + return tset, nil + } + + // Mark the current type as seen to avoid infinite recursion. + tset := new(termSet) + defer func() { + tset.complete = true + }() + seen[t] = tset + + switch u := t.Underlying().(type) { + case *types.Interface: + // The term set of an interface is the intersection of the term sets of its + // embedded types. + tset.terms = allTermlist + for i := 0; i < u.NumEmbeddeds(); i++ { + embedded := u.EmbeddedType(i) + if _, ok := embedded.Underlying().(*TypeParam); ok { + return nil, fmt.Errorf("invalid embedded type %T", embedded) + } + tset2, err := computeTermSetInternal(embedded, seen, depth+1) + if err != nil { + return nil, err + } + tset.terms = tset.terms.intersect(tset2.terms) + } + case *Union: + // The term set of a union is the union of term sets of its terms. + tset.terms = nil + for i := 0; i < u.Len(); i++ { + t := u.Term(i) + var terms termlist + switch t.Type().Underlying().(type) { + case *types.Interface: + tset2, err := computeTermSetInternal(t.Type(), seen, depth+1) + if err != nil { + return nil, err + } + terms = tset2.terms + case *TypeParam, *Union: + // A stand-alone type parameter or union is not permitted as union + // term. + return nil, fmt.Errorf("invalid union term %T", t) + default: + if t.Type() == types.Typ[types.Invalid] { + continue + } + terms = termlist{{t.Tilde(), t.Type()}} + } + tset.terms = tset.terms.union(terms) + if len(tset.terms) > maxTermCount { + return nil, fmt.Errorf("exceeded max term count %d", maxTermCount) + } + } + case *TypeParam: + panic("unreachable") + default: + // For all other types, the term set is just a single non-tilde term + // holding the type itself. + if u != types.Typ[types.Invalid] { + tset.terms = termlist{{false, t}} + } + } + return tset, nil +} + +// under is a facade for the go/types internal function of the same name. It is +// used by typeterm.go. +func under(t types.Type) types.Type { + return t.Underlying() +} diff --git a/vendor/golang.org/x/tools/internal/typeparams/termlist.go b/vendor/golang.org/x/tools/internal/typeparams/termlist.go new file mode 100644 index 00000000..10857d50 --- /dev/null +++ b/vendor/golang.org/x/tools/internal/typeparams/termlist.go @@ -0,0 +1,172 @@ +// Copyright 2021 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Code generated by copytermlist.go DO NOT EDIT. + +package typeparams + +import ( + "bytes" + "go/types" +) + +// A termlist represents the type set represented by the union +// t1 ∪ y2 ∪ ... tn of the type sets of the terms t1 to tn. +// A termlist is in normal form if all terms are disjoint. +// termlist operations don't require the operands to be in +// normal form. +type termlist []*term + +// allTermlist represents the set of all types. +// It is in normal form. +var allTermlist = termlist{new(term)} + +// String prints the termlist exactly (without normalization). +func (xl termlist) String() string { + if len(xl) == 0 { + return "∅" + } + var buf bytes.Buffer + for i, x := range xl { + if i > 0 { + buf.WriteString(" ∪ ") + } + buf.WriteString(x.String()) + } + return buf.String() +} + +// isEmpty reports whether the termlist xl represents the empty set of types. +func (xl termlist) isEmpty() bool { + // If there's a non-nil term, the entire list is not empty. + // If the termlist is in normal form, this requires at most + // one iteration. + for _, x := range xl { + if x != nil { + return false + } + } + return true +} + +// isAll reports whether the termlist xl represents the set of all types. +func (xl termlist) isAll() bool { + // If there's a 𝓤 term, the entire list is 𝓤. + // If the termlist is in normal form, this requires at most + // one iteration. + for _, x := range xl { + if x != nil && x.typ == nil { + return true + } + } + return false +} + +// norm returns the normal form of xl. +func (xl termlist) norm() termlist { + // Quadratic algorithm, but good enough for now. + // TODO(gri) fix asymptotic performance + used := make([]bool, len(xl)) + var rl termlist + for i, xi := range xl { + if xi == nil || used[i] { + continue + } + for j := i + 1; j < len(xl); j++ { + xj := xl[j] + if xj == nil || used[j] { + continue + } + if u1, u2 := xi.union(xj); u2 == nil { + // If we encounter a 𝓤 term, the entire list is 𝓤. + // Exit early. + // (Note that this is not just an optimization; + // if we continue, we may end up with a 𝓤 term + // and other terms and the result would not be + // in normal form.) + if u1.typ == nil { + return allTermlist + } + xi = u1 + used[j] = true // xj is now unioned into xi - ignore it in future iterations + } + } + rl = append(rl, xi) + } + return rl +} + +// If the type set represented by xl is specified by a single (non-𝓤) term, +// structuralType returns that type. Otherwise it returns nil. +func (xl termlist) structuralType() types.Type { + if nl := xl.norm(); len(nl) == 1 { + return nl[0].typ // if nl.isAll() then typ is nil, which is ok + } + return nil +} + +// union returns the union xl ∪ yl. +func (xl termlist) union(yl termlist) termlist { + return append(xl, yl...).norm() +} + +// intersect returns the intersection xl ∩ yl. +func (xl termlist) intersect(yl termlist) termlist { + if xl.isEmpty() || yl.isEmpty() { + return nil + } + + // Quadratic algorithm, but good enough for now. + // TODO(gri) fix asymptotic performance + var rl termlist + for _, x := range xl { + for _, y := range yl { + if r := x.intersect(y); r != nil { + rl = append(rl, r) + } + } + } + return rl.norm() +} + +// equal reports whether xl and yl represent the same type set. +func (xl termlist) equal(yl termlist) bool { + // TODO(gri) this should be more efficient + return xl.subsetOf(yl) && yl.subsetOf(xl) +} + +// includes reports whether t ∈ xl. +func (xl termlist) includes(t types.Type) bool { + for _, x := range xl { + if x.includes(t) { + return true + } + } + return false +} + +// supersetOf reports whether y ⊆ xl. +func (xl termlist) supersetOf(y *term) bool { + for _, x := range xl { + if y.subsetOf(x) { + return true + } + } + return false +} + +// subsetOf reports whether xl ⊆ yl. +func (xl termlist) subsetOf(yl termlist) bool { + if yl.isEmpty() { + return xl.isEmpty() + } + + // each term x of xl must be a subset of yl + for _, x := range xl { + if !yl.supersetOf(x) { + return false // x is not a subset yl + } + } + return true +} diff --git a/vendor/golang.org/x/tools/internal/typeparams/typeparams_go117.go b/vendor/golang.org/x/tools/internal/typeparams/typeparams_go117.go index 12817af8..5fd3fc35 100644 --- a/vendor/golang.org/x/tools/internal/typeparams/typeparams_go117.go +++ b/vendor/golang.org/x/tools/internal/typeparams/typeparams_go117.go @@ -2,13 +2,14 @@ // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. -//go:build !typeparams || !go1.18 -// +build !typeparams !go1.18 +//go:build !go1.18 +// +build !go1.18 package typeparams import ( "go/ast" + "go/token" "go/types" ) @@ -16,18 +17,14 @@ func unsupported() { panic("type parameters are unsupported at this go version") } -// GetIndexExprData extracts data from *ast.IndexExpr nodes. -// For other nodes, GetIndexExprData returns nil. -func GetIndexExprData(n ast.Node) *IndexExprData { - if e, _ := n.(*ast.IndexExpr); e != nil { - return &IndexExprData{ - X: e.X, - Lbrack: e.Lbrack, - Indices: []ast.Expr{e.Index}, - Rbrack: e.Rbrack, - } - } - return nil +// IndexListExpr is a placeholder type, as type parameters are not supported at +// this Go version. Its methods panic on use. +type IndexListExpr struct { + ast.Expr + X ast.Expr // expression + Lbrack token.Pos // position of "[" + Indices []ast.Expr // index expressions + Rbrack token.Pos // position of "]" } // ForTypeSpec returns an empty field list, as type parameters on not supported @@ -46,6 +43,7 @@ func ForFuncType(*ast.FuncType) *ast.FieldList { // this Go version. Its methods panic on use. type TypeParam struct{ types.Type } +func (*TypeParam) Index() int { unsupported(); return 0 } func (*TypeParam) Constraint() types.Type { unsupported(); return nil } func (*TypeParam) Obj() *types.TypeName { unsupported(); return nil } @@ -72,42 +70,46 @@ func SetTypeParamConstraint(tparam *TypeParam, constraint types.Type) { unsupported() } +// NewSignatureType calls types.NewSignature, panicking if recvTypeParams or +// typeParams is non-empty. +func NewSignatureType(recv *types.Var, recvTypeParams, typeParams []*TypeParam, params, results *types.Tuple, variadic bool) *types.Signature { + if len(recvTypeParams) != 0 || len(typeParams) != 0 { + panic("signatures cannot have type parameters at this Go version") + } + return types.NewSignature(recv, params, results, variadic) +} + // ForSignature returns an empty slice. func ForSignature(*types.Signature) *TypeParamList { return nil } -// SetForSignature panics if tparams is non-empty. -func SetForSignature(_ *types.Signature, tparams []*TypeParam) { - if len(tparams) > 0 { - unsupported() - } -} - // RecvTypeParams returns a nil slice. func RecvTypeParams(sig *types.Signature) *TypeParamList { return nil } -// SetRecvTypeParams panics if rparams is non-empty. -func SetRecvTypeParams(sig *types.Signature, rparams []*TypeParam) { - if len(rparams) > 0 { - unsupported() - } -} - // IsComparable returns false, as no interfaces are type-restricted at this Go // version. func IsComparable(*types.Interface) bool { return false } -// IsConstraint returns false, as no interfaces are type-restricted at this Go +// IsMethodSet returns true, as no interfaces are type-restricted at this Go // version. -func IsConstraint(*types.Interface) bool { +func IsMethodSet(*types.Interface) bool { + return true +} + +// IsImplicit returns false, as no interfaces are implicit at this Go version. +func IsImplicit(*types.Interface) bool { return false } +// MarkImplicit does nothing, because this Go version does not have implicit +// interfaces. +func MarkImplicit(*types.Interface) {} + // ForNamed returns an empty type parameter list, as type parameters are not // supported at this Go version. func ForNamed(*types.Named) *TypeParamList { @@ -131,19 +133,25 @@ func NamedTypeOrigin(named *types.Named) types.Type { return named } -// Term is a placeholder type, as type parameters are not supported at this Go -// version. Its methods panic on use. -type Term struct{} +// Term holds information about a structural type restriction. +type Term struct { + tilde bool + typ types.Type +} -func (*Term) Tilde() bool { unsupported(); return false } -func (*Term) Type() types.Type { unsupported(); return nil } -func (*Term) String() string { unsupported(); return "" } -func (*Term) Underlying() types.Type { unsupported(); return nil } +func (m *Term) Tilde() bool { return m.tilde } +func (m *Term) Type() types.Type { return m.typ } +func (m *Term) String() string { + pre := "" + if m.tilde { + pre = "~" + } + return pre + m.typ.String() +} // NewTerm is unsupported at this Go version, and panics. func NewTerm(tilde bool, typ types.Type) *Term { - unsupported() - return nil + return &Term{tilde, typ} } // Union is a placeholder type, as type parameters are not supported at this Go @@ -162,16 +170,23 @@ func NewUnion(terms []*Term) *Union { // InitInstanceInfo is a noop at this Go version. func InitInstanceInfo(*types.Info) {} -// GetInstance returns nothing, as type parameters are not supported at this Go -// version. -func GetInstance(*types.Info, *ast.Ident) (*TypeList, types.Type) { return nil, nil } +// Instance is a placeholder type, as type parameters are not supported at this +// Go version. +type Instance struct { + TypeArgs *TypeList + Type types.Type +} + +// GetInstances returns a nil map, as type parameters are not supported at this +// Go version. +func GetInstances(info *types.Info) map[*ast.Ident]Instance { return nil } -// Environment is a placeholder type, as type parameters are not supported at +// Context is a placeholder type, as type parameters are not supported at // this Go version. -type Environment struct{} +type Context struct{} // Instantiate is unsupported on this Go version, and panics. -func Instantiate(env *Environment, typ types.Type, targs []types.Type, validate bool) (types.Type, error) { +func Instantiate(ctxt *Context, typ types.Type, targs []types.Type, validate bool) (types.Type, error) { unsupported() return nil, nil } diff --git a/vendor/golang.org/x/tools/internal/typeparams/typeparams_go118.go b/vendor/golang.org/x/tools/internal/typeparams/typeparams_go118.go index 8ab17b77..7470aed8 100644 --- a/vendor/golang.org/x/tools/internal/typeparams/typeparams_go118.go +++ b/vendor/golang.org/x/tools/internal/typeparams/typeparams_go118.go @@ -2,8 +2,8 @@ // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. -//go:build typeparams && go1.18 -// +build typeparams,go1.18 +//go:build go1.18 +// +build go1.18 package typeparams @@ -12,29 +12,8 @@ import ( "go/types" ) -// GetIndexExprData extracts data from AST nodes that represent index -// expressions. -// -// For an ast.IndexExpr, the resulting IndexExprData will have exactly one -// index expression. For an ast.IndexListExpr (go1.18+), it may have a -// variable number of index expressions. -// -// For nodes that don't represent index expressions, GetIndexExprData returns -// nil. -func GetIndexExprData(n ast.Node) *IndexExprData { - switch e := n.(type) { - case *ast.IndexExpr: - return &IndexExprData{ - X: e.X, - Lbrack: e.Lbrack, - Indices: []ast.Expr{e.Index}, - Rbrack: e.Rbrack, - } - case *ast.IndexListExpr: - return (*IndexExprData)(e) - } - return nil -} +// IndexListExpr is an alias for ast.IndexListExpr. +type IndexListExpr = ast.IndexListExpr // ForTypeSpec returns n.TypeParams. func ForTypeSpec(n *ast.TypeSpec) *ast.FieldList { @@ -71,34 +50,39 @@ func SetTypeParamConstraint(tparam *TypeParam, constraint types.Type) { tparam.SetConstraint(constraint) } +// NewSignatureType calls types.NewSignatureType. +func NewSignatureType(recv *types.Var, recvTypeParams, typeParams []*TypeParam, params, results *types.Tuple, variadic bool) *types.Signature { + return types.NewSignatureType(recv, recvTypeParams, typeParams, params, results, variadic) +} + // ForSignature returns sig.TypeParams() func ForSignature(sig *types.Signature) *TypeParamList { return sig.TypeParams() } -// SetForSignature calls sig.SetTypeParams(tparams) -func SetForSignature(sig *types.Signature, tparams []*TypeParam) { - sig.SetTypeParams(tparams) -} - // RecvTypeParams returns sig.RecvTypeParams(). func RecvTypeParams(sig *types.Signature) *TypeParamList { return sig.RecvTypeParams() } -// SetRecvTypeParams calls sig.SetRecvTypeParams(rparams). -func SetRecvTypeParams(sig *types.Signature, rparams []*TypeParam) { - sig.SetRecvTypeParams(rparams) -} - // IsComparable calls iface.IsComparable(). func IsComparable(iface *types.Interface) bool { return iface.IsComparable() } -// IsConstraint calls iface.IsConstraint(). -func IsConstraint(iface *types.Interface) bool { - return iface.IsConstraint() +// IsMethodSet calls iface.IsMethodSet(). +func IsMethodSet(iface *types.Interface) bool { + return iface.IsMethodSet() +} + +// IsImplicit calls iface.IsImplicit(). +func IsImplicit(iface *types.Interface) bool { + return iface.IsImplicit() +} + +// MarkImplicit calls iface.MarkImplicit(). +func MarkImplicit(iface *types.Interface) { + iface.MarkImplicit() } // ForNamed extracts the (possibly empty) type parameter object list from @@ -145,21 +129,18 @@ func InitInstanceInfo(info *types.Info) { info.Instances = make(map[*ast.Ident]types.Instance) } -// GetInstance extracts information about the instantiation occurring at the -// identifier id. id should be the identifier denoting a parameterized type or -// function in an instantiation expression or function call. -func GetInstance(info *types.Info, id *ast.Ident) (*TypeList, types.Type) { - if info.Instances != nil { - inf := info.Instances[id] - return inf.TypeArgs, inf.Type - } - return nil, nil +// Instance is an alias for types.Instance. +type Instance = types.Instance + +// GetInstances returns info.Instances. +func GetInstances(info *types.Info) map[*ast.Ident]Instance { + return info.Instances } -// Environment is an alias for types.Environment. -type Environment = types.Environment +// Context is an alias for types.Context. +type Context = types.Context // Instantiate calls types.Instantiate. -func Instantiate(env *Environment, typ types.Type, targs []types.Type, validate bool) (types.Type, error) { - return types.Instantiate(env, typ, targs, validate) +func Instantiate(ctxt *Context, typ types.Type, targs []types.Type, validate bool) (types.Type, error) { + return types.Instantiate(ctxt, typ, targs, validate) } diff --git a/vendor/golang.org/x/tools/internal/typeparams/typeterm.go b/vendor/golang.org/x/tools/internal/typeparams/typeterm.go new file mode 100644 index 00000000..7ddee28d --- /dev/null +++ b/vendor/golang.org/x/tools/internal/typeparams/typeterm.go @@ -0,0 +1,170 @@ +// Copyright 2021 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Code generated by copytermlist.go DO NOT EDIT. + +package typeparams + +import "go/types" + +// A term describes elementary type sets: +// +// ∅: (*term)(nil) == ∅ // set of no types (empty set) +// 𝓤: &term{} == 𝓤 // set of all types (𝓤niverse) +// T: &term{false, T} == {T} // set of type T +// ~t: &term{true, t} == {t' | under(t') == t} // set of types with underlying type t +// +type term struct { + tilde bool // valid if typ != nil + typ types.Type +} + +func (x *term) String() string { + switch { + case x == nil: + return "∅" + case x.typ == nil: + return "𝓤" + case x.tilde: + return "~" + x.typ.String() + default: + return x.typ.String() + } +} + +// equal reports whether x and y represent the same type set. +func (x *term) equal(y *term) bool { + // easy cases + switch { + case x == nil || y == nil: + return x == y + case x.typ == nil || y.typ == nil: + return x.typ == y.typ + } + // ∅ ⊂ x, y ⊂ 𝓤 + + return x.tilde == y.tilde && types.Identical(x.typ, y.typ) +} + +// union returns the union x ∪ y: zero, one, or two non-nil terms. +func (x *term) union(y *term) (_, _ *term) { + // easy cases + switch { + case x == nil && y == nil: + return nil, nil // ∅ ∪ ∅ == ∅ + case x == nil: + return y, nil // ∅ ∪ y == y + case y == nil: + return x, nil // x ∪ ∅ == x + case x.typ == nil: + return x, nil // 𝓤 ∪ y == 𝓤 + case y.typ == nil: + return y, nil // x ∪ 𝓤 == 𝓤 + } + // ∅ ⊂ x, y ⊂ 𝓤 + + if x.disjoint(y) { + return x, y // x ∪ y == (x, y) if x ∩ y == ∅ + } + // x.typ == y.typ + + // ~t ∪ ~t == ~t + // ~t ∪ T == ~t + // T ∪ ~t == ~t + // T ∪ T == T + if x.tilde || !y.tilde { + return x, nil + } + return y, nil +} + +// intersect returns the intersection x ∩ y. +func (x *term) intersect(y *term) *term { + // easy cases + switch { + case x == nil || y == nil: + return nil // ∅ ∩ y == ∅ and ∩ ∅ == ∅ + case x.typ == nil: + return y // 𝓤 ∩ y == y + case y.typ == nil: + return x // x ∩ 𝓤 == x + } + // ∅ ⊂ x, y ⊂ 𝓤 + + if x.disjoint(y) { + return nil // x ∩ y == ∅ if x ∩ y == ∅ + } + // x.typ == y.typ + + // ~t ∩ ~t == ~t + // ~t ∩ T == T + // T ∩ ~t == T + // T ∩ T == T + if !x.tilde || y.tilde { + return x + } + return y +} + +// includes reports whether t ∈ x. +func (x *term) includes(t types.Type) bool { + // easy cases + switch { + case x == nil: + return false // t ∈ ∅ == false + case x.typ == nil: + return true // t ∈ 𝓤 == true + } + // ∅ ⊂ x ⊂ 𝓤 + + u := t + if x.tilde { + u = under(u) + } + return types.Identical(x.typ, u) +} + +// subsetOf reports whether x ⊆ y. +func (x *term) subsetOf(y *term) bool { + // easy cases + switch { + case x == nil: + return true // ∅ ⊆ y == true + case y == nil: + return false // x ⊆ ∅ == false since x != ∅ + case y.typ == nil: + return true // x ⊆ 𝓤 == true + case x.typ == nil: + return false // 𝓤 ⊆ y == false since y != 𝓤 + } + // ∅ ⊂ x, y ⊂ 𝓤 + + if x.disjoint(y) { + return false // x ⊆ y == false if x ∩ y == ∅ + } + // x.typ == y.typ + + // ~t ⊆ ~t == true + // ~t ⊆ T == false + // T ⊆ ~t == true + // T ⊆ T == true + return !x.tilde || y.tilde +} + +// disjoint reports whether x ∩ y == ∅. +// x.typ and y.typ must not be nil. +func (x *term) disjoint(y *term) bool { + if debug && (x.typ == nil || y.typ == nil) { + panic("invalid argument(s)") + } + ux := x.typ + if y.tilde { + ux = under(ux) + } + uy := y.typ + if x.tilde { + uy = under(uy) + } + return !types.Identical(ux, uy) +} diff --git a/vendor/gopkg.in/ini.v1/.editorconfig b/vendor/gopkg.in/ini.v1/.editorconfig new file mode 100644 index 00000000..4a2d9180 --- /dev/null +++ b/vendor/gopkg.in/ini.v1/.editorconfig @@ -0,0 +1,12 @@ +# http://editorconfig.org + +root = true + +[*] +charset = utf-8 +end_of_line = lf +insert_final_newline = true +trim_trailing_whitespace = true + +[*_test.go] +trim_trailing_whitespace = false diff --git a/vendor/gopkg.in/ini.v1/.gitignore b/vendor/gopkg.in/ini.v1/.gitignore index 12411127..588388bd 100644 --- a/vendor/gopkg.in/ini.v1/.gitignore +++ b/vendor/gopkg.in/ini.v1/.gitignore @@ -4,3 +4,4 @@ ini.sublime-workspace testdata/conf_reflect.ini .idea /.vscode +.DS_Store diff --git a/vendor/gopkg.in/ini.v1/file.go b/vendor/gopkg.in/ini.v1/file.go index 7b4e560d..9d91c31a 100644 --- a/vendor/gopkg.in/ini.v1/file.go +++ b/vendor/gopkg.in/ini.v1/file.go @@ -442,16 +442,16 @@ func (f *File) writeToBuffer(indent string) (*bytes.Buffer, error) { kname = `"""` + kname + `"""` } - for _, val := range key.ValueWithShadows() { + writeKeyValue := func(val string) (bool, error) { if _, err := buf.WriteString(kname); err != nil { - return nil, err + return false, err } if key.isBooleanType { if kname != sec.keyList[len(sec.keyList)-1] { buf.WriteString(LineBreak) } - continue KeyList + return true, nil } // Write out alignment spaces before "=" sign @@ -468,10 +468,27 @@ func (f *File) writeToBuffer(indent string) (*bytes.Buffer, error) { val = `"` + val + `"` } if _, err := buf.WriteString(equalSign + val + LineBreak); err != nil { + return false, err + } + return false, nil + } + + shadows := key.ValueWithShadows() + if len(shadows) == 0 { + if _, err := writeKeyValue(""); err != nil { return nil, err } } + for _, val := range shadows { + exitLoop, err := writeKeyValue(val) + if err != nil { + return nil, err + } else if exitLoop { + continue KeyList + } + } + for _, val := range key.nestedValues { if _, err := buf.WriteString(indent + " " + val + LineBreak); err != nil { return nil, err diff --git a/vendor/gopkg.in/ini.v1/key.go b/vendor/gopkg.in/ini.v1/key.go index 0302c291..21479742 100644 --- a/vendor/gopkg.in/ini.v1/key.go +++ b/vendor/gopkg.in/ini.v1/key.go @@ -113,6 +113,9 @@ func (k *Key) Value() string { // ValueWithShadows returns raw values of key and its shadows if any. func (k *Key) ValueWithShadows() []string { if len(k.shadows) == 0 { + if k.value == "" { + return []string{} + } return []string{k.value} } vals := make([]string, len(k.shadows)+1) diff --git a/vendor/modernc.org/ccgo/v3/lib/stringer.go b/vendor/modernc.org/ccgo/v3/lib/stringer.go index 9aaaccfe..dee785ca 100644 --- a/vendor/modernc.org/ccgo/v3/lib/stringer.go +++ b/vendor/modernc.org/ccgo/v3/lib/stringer.go @@ -19,11 +19,12 @@ func _() { _ = x[exprSelect-9] _ = x[exprValue-10] _ = x[exprVoid-11] + _ = x[exprGoPtr-12] } -const _exprMode_name = "exprAddrOfexprBoolexprCondInitexprCondReturnexprDecayexprFuncexprLValueexprPSelectexprSelectexprValueexprVoid" +const _exprMode_name = "exprAddrOfexprBoolexprCondInitexprCondReturnexprDecayexprFuncexprLValueexprPSelectexprSelectexprValueexprVoidexprGoPtr" -var _exprMode_index = [...]uint8{0, 10, 18, 30, 44, 53, 61, 71, 82, 92, 101, 109} +var _exprMode_index = [...]uint8{0, 10, 18, 30, 44, 53, 61, 71, 82, 92, 101, 109, 118} func (i exprMode) String() string { i -= 1 diff --git a/vendor/modernc.org/memory/AUTHORS b/vendor/modernc.org/memory/AUTHORS index 50f44cec..06687a28 100644 --- a/vendor/modernc.org/memory/AUTHORS +++ b/vendor/modernc.org/memory/AUTHORS @@ -10,3 +10,4 @@ Jan Mercl <0xjnml@gmail.com> Steffen Butzer +Gleb Sakhnov diff --git a/vendor/modernc.org/memory/CONTRIBUTORS b/vendor/modernc.org/memory/CONTRIBUTORS index 72167486..c363066a 100644 --- a/vendor/modernc.org/memory/CONTRIBUTORS +++ b/vendor/modernc.org/memory/CONTRIBUTORS @@ -9,3 +9,4 @@ Jan Mercl <0xjnml@gmail.com> Steffen Butzer ZHU Zijia +Gleb Sakhnov diff --git a/vendor/modernc.org/memory/mmap_darwin.go b/vendor/modernc.org/memory/mmap_darwin.go new file mode 100644 index 00000000..d597cb45 --- /dev/null +++ b/vendor/modernc.org/memory/mmap_darwin.go @@ -0,0 +1,19 @@ +// Copyright 2017 The Memory Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +//go:build amd64 || arm64 +// +build amd64 arm64 + +package memory + +import ( + _ "unsafe" +) + +// Function syscall.mmap for darwin and openbsd calls internal/abi.FuncPCABI0, +// which is implemented as a compile intrinsic so the code cannot be reused. +// Using go:linkname directive to link mmapSyscall to syscall.mmap + +//go:linkname mmapSyscall syscall.mmap +func mmapSyscall(addr uintptr, length uintptr, prot int, flags int, fd int, offset int64) (xaddr uintptr, err error) diff --git a/vendor/modernc.org/memory/mmap_fallback.go b/vendor/modernc.org/memory/mmap_fallback.go deleted file mode 100644 index 35b2f2b0..00000000 --- a/vendor/modernc.org/memory/mmap_fallback.go +++ /dev/null @@ -1,17 +0,0 @@ -// Copyright 2017 The Memory Authors. All rights reserved. -// Use of this source code is governed by a BSD-style -// license that can be found in the LICENSE file. -//go:build (darwin && (amd64 || arm64)) || (openbsd && (386 || amd64)) - -package memory - -import ( - _ "unsafe" -) - -// Function syscall.mmap for darwin and openbsd calls internal/abi.FuncPCABI0, -// which is implemented as a compile intrinsic so the code cannot be reused. -// Using go:linkname directive to link mmapSyscall to syscall.mmap - -//go:linkname mmapSyscall syscall.mmap -func mmapSyscall(addr uintptr, length uintptr, prot int, flags int, fd int, offset int64) (xaddr uintptr, err error) diff --git a/vendor/modernc.org/memory/mmap_freebsd_32.go b/vendor/modernc.org/memory/mmap_freebsd_32.go index 47b29962..0055e64b 100644 --- a/vendor/modernc.org/memory/mmap_freebsd_32.go +++ b/vendor/modernc.org/memory/mmap_freebsd_32.go @@ -3,6 +3,7 @@ // license that can be found in the LICENSE-GO file. //go:build freebsd && 386 +// +build freebsd,386 package memory diff --git a/vendor/modernc.org/memory/mmap_freebsd_64.go b/vendor/modernc.org/memory/mmap_freebsd_64.go index 87a4c238..cf1c91df 100644 --- a/vendor/modernc.org/memory/mmap_freebsd_64.go +++ b/vendor/modernc.org/memory/mmap_freebsd_64.go @@ -3,6 +3,7 @@ // license that can be found in the LICENSE-GO file. //go:build freebsd && amd64 +// +build freebsd,amd64 package memory diff --git a/vendor/modernc.org/memory/mmap_linux_32.go b/vendor/modernc.org/memory/mmap_linux_32.go index 996805c4..207ad417 100644 --- a/vendor/modernc.org/memory/mmap_linux_32.go +++ b/vendor/modernc.org/memory/mmap_linux_32.go @@ -3,6 +3,8 @@ // license that can be found in the LICENSE-GO file. //go:build linux && (386 || arm || mips || mipsle) +// +build linux +// +build 386 arm mips mipsle package memory diff --git a/vendor/modernc.org/memory/mmap_linux_64.go b/vendor/modernc.org/memory/mmap_linux_64.go index 9f65896d..e571af2d 100644 --- a/vendor/modernc.org/memory/mmap_linux_64.go +++ b/vendor/modernc.org/memory/mmap_linux_64.go @@ -3,6 +3,8 @@ // license that can be found in the LICENSE-GO file. //go:build linux && (amd64 || arm64 || mips64 || mips64le || riscv64) +// +build linux +// +build amd64 arm64 mips64 mips64le riscv64 package memory diff --git a/vendor/modernc.org/memory/mmap_netbsd_32.go b/vendor/modernc.org/memory/mmap_netbsd_32.go index bd1a32c8..d417f359 100644 --- a/vendor/modernc.org/memory/mmap_netbsd_32.go +++ b/vendor/modernc.org/memory/mmap_netbsd_32.go @@ -3,6 +3,7 @@ // license that can be found in the LICENSE-GO file. //go:build netbsd && 386 +// +build netbsd,386 package memory diff --git a/vendor/modernc.org/memory/mmap_netbsd_64.go b/vendor/modernc.org/memory/mmap_netbsd_64.go index ced5dbc9..5c09a7bb 100644 --- a/vendor/modernc.org/memory/mmap_netbsd_64.go +++ b/vendor/modernc.org/memory/mmap_netbsd_64.go @@ -3,6 +3,7 @@ // license that can be found in the LICENSE-GO file. //go:build netbsd && amd64 +// +build netbsd,amd64 package memory diff --git a/vendor/modernc.org/memory/mmap_openbsd.go b/vendor/modernc.org/memory/mmap_openbsd.go new file mode 100644 index 00000000..117cfd9f --- /dev/null +++ b/vendor/modernc.org/memory/mmap_openbsd.go @@ -0,0 +1,19 @@ +// Copyright 2017 The Memory Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +//go:build 386 || amd64 +// +build 386 amd64 + +package memory + +import ( + _ "unsafe" +) + +// Function syscall.mmap for darwin and openbsd calls internal/abi.FuncPCABI0, +// which is implemented as a compile intrinsic so the code cannot be reused. +// Using go:linkname directive to link mmapSyscall to syscall.mmap + +//go:linkname mmapSyscall syscall.mmap +func mmapSyscall(addr uintptr, length uintptr, prot int, flags int, fd int, offset int64) (xaddr uintptr, err error) diff --git a/vendor/modernc.org/sqlite/README.md b/vendor/modernc.org/sqlite/README.md index c7bbeb79..8eec61d3 100644 --- a/vendor/modernc.org/sqlite/README.md +++ b/vendor/modernc.org/sqlite/README.md @@ -5,10 +5,19 @@ Package sqlite is a CGo-free port of SQLite. SQLite is an in-process implementation of a self-contained, serverless, zero-configuration, transactional SQL database engine. -Installation +## Thanks + +This project is sponsored by Schleibinger Geräte Teubert u. Greim GmbH by +allowing one of the maintainers to work on it also in office hours. + +## Installation $ go get modernc.org/sqlite -Documentation: [godoc.org/modernc.org/sqlite](http://godoc.org/modernc.org/sqlite) +##Documentation + +[godoc.org/modernc.org/sqlite](http://godoc.org/modernc.org/sqlite) + +## Builders -Builders: [modern-c.appspot.com/-/builder/?importpath=modernc.org%2fsqlite](https://modern-c.appspot.com/-/builder/?importpath=modernc.org%2fsqlite) +[modern-c.appspot.com/-/builder/?importpath=modernc.org%2fsqlite](https://modern-c.appspot.com/-/builder/?importpath=modernc.org%2fsqlite) diff --git a/vendor/modernc.org/sqlite/doc.go b/vendor/modernc.org/sqlite/doc.go index f9e07b48..0f585a60 100644 --- a/vendor/modernc.org/sqlite/doc.go +++ b/vendor/modernc.org/sqlite/doc.go @@ -8,21 +8,26 @@ // SQLite is an in-process implementation of a self-contained, serverless, // zero-configuration, transactional SQL database engine. // +// Thanks +// +// This project is sponsored by Schleibinger Geräte Teubert u. Greim GmbH by +// allowing one of the maintainers to work on it also in office hours. +// // Supported platforms and architectures // // These combinations of GOOS and GOARCH are currently supported // // OS Arch SQLite version // ------------------------------ -// darwin amd64 3.38.1 -// darwin arm64 3.38.1 -// freebsd amd64 3.38.1 -// linux 386 3.38.1 -// linux amd64 3.38.1 -// linux arm 3.38.1 -// linux arm64 3.38.1 -// linux riscv64 3.38.1 -// windows amd64 3.38.1 +// darwin amd64 3.38.2 +// darwin arm64 3.38.2 +// freebsd amd64 3.38.2 +// linux 386 3.38.2 +// linux amd64 3.38.2 +// linux arm 3.38.2 +// linux arm64 3.38.2 +// linux riscv64 3.38.2 +// windows amd64 3.38.2 // // Builders // diff --git a/vendor/modernc.org/sqlite/generator.go b/vendor/modernc.org/sqlite/generator.go index 7f718ded..7779231e 100644 --- a/vendor/modernc.org/sqlite/generator.go +++ b/vendor/modernc.org/sqlite/generator.go @@ -254,12 +254,12 @@ var ( sz int dev bool }{ - {sqliteDir, "https://www.sqlite.org/2022/sqlite-amalgamation-3380100.zip", 2457, false}, - {sqliteSrcDir, "https://www.sqlite.org/2022/sqlite-src-3380100.zip", 12814, false}, + {sqliteDir, "https://www.sqlite.org/2022/sqlite-amalgamation-3380200.zip", 2457, false}, + {sqliteSrcDir, "https://www.sqlite.org/2022/sqlite-src-3380200.zip", 12814, false}, } - sqliteDir = filepath.FromSlash("testdata/sqlite-amalgamation-3380100") - sqliteSrcDir = filepath.FromSlash("testdata/sqlite-src-3380100") + sqliteDir = filepath.FromSlash("testdata/sqlite-amalgamation-3380200") + sqliteSrcDir = filepath.FromSlash("testdata/sqlite-src-3380200") ) func download() { diff --git a/vendor/modernc.org/sqlite/lib/capi_darwin_amd64.go b/vendor/modernc.org/sqlite/lib/capi_darwin_amd64.go index f9be9dd1..c0d97a2c 100644 --- a/vendor/modernc.org/sqlite/lib/capi_darwin_amd64.go +++ b/vendor/modernc.org/sqlite/lib/capi_darwin_amd64.go @@ -1,4 +1,4 @@ -// Code generated by 'ccgo -DSQLITE_PRIVATE= -export-defines -export-enums -export-externs X -export-fields F -export-typedefs -ignore-unsupported-alignment -pkgname sqlite3 -o lib/sqlite_darwin_amd64.go -trace-translation-units testdata/sqlite-amalgamation-3380100/sqlite3.c -DNDEBUG -DHAVE_USLEEP -DLONGDOUBLE_TYPE=double -DSQLITE_CORE -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_GEOPOLY -DSQLITE_ENABLE_MATH_FUNCTIONS -DSQLITE_ENABLE_MEMORY_MANAGEMENT -DSQLITE_ENABLE_OFFSET_SQL_FUNC -DSQLITE_ENABLE_PREUPDATE_HOOK -DSQLITE_ENABLE_RBU -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_SESSION -DSQLITE_ENABLE_SNAPSHOT -DSQLITE_ENABLE_STAT4 -DSQLITE_ENABLE_UNLOCK_NOTIFY -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_MUTEX_APPDEF=1 -DSQLITE_MUTEX_NOOP -DSQLITE_SOUNDEX -DSQLITE_THREADSAFE=1 -DSQLITE_OS_UNIX=1 -DSQLITE_WITHOUT_ZONEMALLOC', DO NOT EDIT. +// Code generated by 'ccgo -DSQLITE_PRIVATE= -export-defines -export-enums -export-externs X -export-fields F -export-typedefs -ignore-unsupported-alignment -pkgname sqlite3 -o lib/sqlite_darwin_amd64.go -trace-translation-units testdata/sqlite-amalgamation-3380200/sqlite3.c -DNDEBUG -DHAVE_USLEEP -DLONGDOUBLE_TYPE=double -DSQLITE_CORE -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_GEOPOLY -DSQLITE_ENABLE_MATH_FUNCTIONS -DSQLITE_ENABLE_MEMORY_MANAGEMENT -DSQLITE_ENABLE_OFFSET_SQL_FUNC -DSQLITE_ENABLE_PREUPDATE_HOOK -DSQLITE_ENABLE_RBU -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_SESSION -DSQLITE_ENABLE_SNAPSHOT -DSQLITE_ENABLE_STAT4 -DSQLITE_ENABLE_UNLOCK_NOTIFY -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_MUTEX_APPDEF=1 -DSQLITE_MUTEX_NOOP -DSQLITE_SOUNDEX -DSQLITE_THREADSAFE=1 -DSQLITE_OS_UNIX=1 -DSQLITE_WITHOUT_ZONEMALLOC', DO NOT EDIT. package sqlite3 diff --git a/vendor/modernc.org/sqlite/lib/capi_darwin_arm64.go b/vendor/modernc.org/sqlite/lib/capi_darwin_arm64.go index c0ae7ff6..57ea6247 100644 --- a/vendor/modernc.org/sqlite/lib/capi_darwin_arm64.go +++ b/vendor/modernc.org/sqlite/lib/capi_darwin_arm64.go @@ -1,4 +1,4 @@ -// Code generated by 'ccgo -DSQLITE_PRIVATE= -export-defines -export-enums -export-externs X -export-fields F -export-typedefs -ignore-unsupported-alignment -pkgname sqlite3 -o lib/sqlite_darwin_arm64.go -trace-translation-units testdata/sqlite-amalgamation-3380100/sqlite3.c -DNDEBUG -DHAVE_USLEEP -DLONGDOUBLE_TYPE=double -DSQLITE_CORE -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_GEOPOLY -DSQLITE_ENABLE_MATH_FUNCTIONS -DSQLITE_ENABLE_MEMORY_MANAGEMENT -DSQLITE_ENABLE_OFFSET_SQL_FUNC -DSQLITE_ENABLE_PREUPDATE_HOOK -DSQLITE_ENABLE_RBU -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_SESSION -DSQLITE_ENABLE_SNAPSHOT -DSQLITE_ENABLE_STAT4 -DSQLITE_ENABLE_UNLOCK_NOTIFY -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_MUTEX_APPDEF=1 -DSQLITE_MUTEX_NOOP -DSQLITE_SOUNDEX -DSQLITE_THREADSAFE=1 -DSQLITE_OS_UNIX=1 -DSQLITE_WITHOUT_ZONEMALLOC', DO NOT EDIT. +// Code generated by 'ccgo -DSQLITE_PRIVATE= -export-defines -export-enums -export-externs X -export-fields F -export-typedefs -ignore-unsupported-alignment -pkgname sqlite3 -o lib/sqlite_darwin_arm64.go -trace-translation-units testdata/sqlite-amalgamation-3380200/sqlite3.c -DNDEBUG -DHAVE_USLEEP -DLONGDOUBLE_TYPE=double -DSQLITE_CORE -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_GEOPOLY -DSQLITE_ENABLE_MATH_FUNCTIONS -DSQLITE_ENABLE_MEMORY_MANAGEMENT -DSQLITE_ENABLE_OFFSET_SQL_FUNC -DSQLITE_ENABLE_PREUPDATE_HOOK -DSQLITE_ENABLE_RBU -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_SESSION -DSQLITE_ENABLE_SNAPSHOT -DSQLITE_ENABLE_STAT4 -DSQLITE_ENABLE_UNLOCK_NOTIFY -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_MUTEX_APPDEF=1 -DSQLITE_MUTEX_NOOP -DSQLITE_SOUNDEX -DSQLITE_THREADSAFE=1 -DSQLITE_OS_UNIX=1 -DSQLITE_WITHOUT_ZONEMALLOC', DO NOT EDIT. package sqlite3 diff --git a/vendor/modernc.org/sqlite/lib/capi_freebsd_386.go b/vendor/modernc.org/sqlite/lib/capi_freebsd_386.go index 64610b8c..72b34f58 100644 --- a/vendor/modernc.org/sqlite/lib/capi_freebsd_386.go +++ b/vendor/modernc.org/sqlite/lib/capi_freebsd_386.go @@ -1,4 +1,4 @@ -// Code generated by 'ccgo -DSQLITE_PRIVATE= -export-defines -export-enums -export-externs X -export-fields F -export-typedefs -ignore-unsupported-alignment -pkgname sqlite3 -o lib/sqlite_freebsd_386.go -trace-translation-units testdata/sqlite-amalgamation-3380100/sqlite3.c -DNDEBUG -DHAVE_USLEEP -DLONGDOUBLE_TYPE=double -DSQLITE_CORE -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_GEOPOLY -DSQLITE_ENABLE_MATH_FUNCTIONS -DSQLITE_ENABLE_MEMORY_MANAGEMENT -DSQLITE_ENABLE_OFFSET_SQL_FUNC -DSQLITE_ENABLE_PREUPDATE_HOOK -DSQLITE_ENABLE_RBU -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_SESSION -DSQLITE_ENABLE_SNAPSHOT -DSQLITE_ENABLE_STAT4 -DSQLITE_ENABLE_UNLOCK_NOTIFY -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_MUTEX_APPDEF=1 -DSQLITE_MUTEX_NOOP -DSQLITE_SOUNDEX -DSQLITE_THREADSAFE=1 -DSQLITE_OS_UNIX=1', DO NOT EDIT. +// Code generated by 'ccgo -DSQLITE_PRIVATE= -export-defines -export-enums -export-externs X -export-fields F -export-typedefs -ignore-unsupported-alignment -pkgname sqlite3 -o lib/sqlite_freebsd_386.go -trace-translation-units testdata/sqlite-amalgamation-3380200/sqlite3.c -DNDEBUG -DHAVE_USLEEP -DLONGDOUBLE_TYPE=double -DSQLITE_CORE -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_GEOPOLY -DSQLITE_ENABLE_MATH_FUNCTIONS -DSQLITE_ENABLE_MEMORY_MANAGEMENT -DSQLITE_ENABLE_OFFSET_SQL_FUNC -DSQLITE_ENABLE_PREUPDATE_HOOK -DSQLITE_ENABLE_RBU -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_SESSION -DSQLITE_ENABLE_SNAPSHOT -DSQLITE_ENABLE_STAT4 -DSQLITE_ENABLE_UNLOCK_NOTIFY -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_MUTEX_APPDEF=1 -DSQLITE_MUTEX_NOOP -DSQLITE_SOUNDEX -DSQLITE_THREADSAFE=1 -DSQLITE_OS_UNIX=1', DO NOT EDIT. package sqlite3 diff --git a/vendor/modernc.org/sqlite/lib/capi_freebsd_amd64.go b/vendor/modernc.org/sqlite/lib/capi_freebsd_amd64.go index 5f4a9319..8d90ca7a 100644 --- a/vendor/modernc.org/sqlite/lib/capi_freebsd_amd64.go +++ b/vendor/modernc.org/sqlite/lib/capi_freebsd_amd64.go @@ -1,4 +1,4 @@ -// Code generated by 'ccgo -DSQLITE_PRIVATE= -export-defines -export-enums -export-externs X -export-fields F -export-typedefs -ignore-unsupported-alignment -pkgname sqlite3 -o lib/sqlite_freebsd_amd64.go -trace-translation-units testdata/sqlite-amalgamation-3380100/sqlite3.c -DNDEBUG -DHAVE_USLEEP -DLONGDOUBLE_TYPE=double -DSQLITE_CORE -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_GEOPOLY -DSQLITE_ENABLE_MATH_FUNCTIONS -DSQLITE_ENABLE_MEMORY_MANAGEMENT -DSQLITE_ENABLE_OFFSET_SQL_FUNC -DSQLITE_ENABLE_PREUPDATE_HOOK -DSQLITE_ENABLE_RBU -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_SESSION -DSQLITE_ENABLE_SNAPSHOT -DSQLITE_ENABLE_STAT4 -DSQLITE_ENABLE_UNLOCK_NOTIFY -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_MUTEX_APPDEF=1 -DSQLITE_MUTEX_NOOP -DSQLITE_SOUNDEX -DSQLITE_THREADSAFE=1 -DSQLITE_OS_UNIX=1', DO NOT EDIT. +// Code generated by 'ccgo -DSQLITE_PRIVATE= -export-defines -export-enums -export-externs X -export-fields F -export-typedefs -ignore-unsupported-alignment -pkgname sqlite3 -o lib/sqlite_freebsd_amd64.go -trace-translation-units testdata/sqlite-amalgamation-3380200/sqlite3.c -DNDEBUG -DHAVE_USLEEP -DLONGDOUBLE_TYPE=double -DSQLITE_CORE -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_GEOPOLY -DSQLITE_ENABLE_MATH_FUNCTIONS -DSQLITE_ENABLE_MEMORY_MANAGEMENT -DSQLITE_ENABLE_OFFSET_SQL_FUNC -DSQLITE_ENABLE_PREUPDATE_HOOK -DSQLITE_ENABLE_RBU -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_SESSION -DSQLITE_ENABLE_SNAPSHOT -DSQLITE_ENABLE_STAT4 -DSQLITE_ENABLE_UNLOCK_NOTIFY -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_MUTEX_APPDEF=1 -DSQLITE_MUTEX_NOOP -DSQLITE_SOUNDEX -DSQLITE_THREADSAFE=1 -DSQLITE_OS_UNIX=1', DO NOT EDIT. package sqlite3 diff --git a/vendor/modernc.org/sqlite/lib/capi_linux_386.go b/vendor/modernc.org/sqlite/lib/capi_linux_386.go index 38933a5a..53c1928b 100644 --- a/vendor/modernc.org/sqlite/lib/capi_linux_386.go +++ b/vendor/modernc.org/sqlite/lib/capi_linux_386.go @@ -1,4 +1,4 @@ -// Code generated by 'ccgo -DSQLITE_PRIVATE= -export-defines -export-enums -export-externs X -export-fields F -export-typedefs -ignore-unsupported-alignment -pkgname sqlite3 -o lib/sqlite_linux_386.go -trace-translation-units testdata/sqlite-amalgamation-3380100/sqlite3.c -DNDEBUG -DHAVE_USLEEP -DLONGDOUBLE_TYPE=double -DSQLITE_CORE -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_GEOPOLY -DSQLITE_ENABLE_MATH_FUNCTIONS -DSQLITE_ENABLE_MEMORY_MANAGEMENT -DSQLITE_ENABLE_OFFSET_SQL_FUNC -DSQLITE_ENABLE_PREUPDATE_HOOK -DSQLITE_ENABLE_RBU -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_SESSION -DSQLITE_ENABLE_SNAPSHOT -DSQLITE_ENABLE_STAT4 -DSQLITE_ENABLE_UNLOCK_NOTIFY -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_MUTEX_APPDEF=1 -DSQLITE_MUTEX_NOOP -DSQLITE_SOUNDEX -DSQLITE_THREADSAFE=1 -DSQLITE_OS_UNIX=1', DO NOT EDIT. +// Code generated by 'ccgo -DSQLITE_PRIVATE= -export-defines -export-enums -export-externs X -export-fields F -export-typedefs -ignore-unsupported-alignment -pkgname sqlite3 -o lib/sqlite_linux_386.go -trace-translation-units testdata/sqlite-amalgamation-3380200/sqlite3.c -DNDEBUG -DHAVE_USLEEP -DLONGDOUBLE_TYPE=double -DSQLITE_CORE -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_GEOPOLY -DSQLITE_ENABLE_MATH_FUNCTIONS -DSQLITE_ENABLE_MEMORY_MANAGEMENT -DSQLITE_ENABLE_OFFSET_SQL_FUNC -DSQLITE_ENABLE_PREUPDATE_HOOK -DSQLITE_ENABLE_RBU -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_SESSION -DSQLITE_ENABLE_SNAPSHOT -DSQLITE_ENABLE_STAT4 -DSQLITE_ENABLE_UNLOCK_NOTIFY -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_MUTEX_APPDEF=1 -DSQLITE_MUTEX_NOOP -DSQLITE_SOUNDEX -DSQLITE_THREADSAFE=1 -DSQLITE_OS_UNIX=1', DO NOT EDIT. package sqlite3 diff --git a/vendor/modernc.org/sqlite/lib/capi_linux_amd64.go b/vendor/modernc.org/sqlite/lib/capi_linux_amd64.go index 82135f5f..05209aea 100644 --- a/vendor/modernc.org/sqlite/lib/capi_linux_amd64.go +++ b/vendor/modernc.org/sqlite/lib/capi_linux_amd64.go @@ -1,4 +1,4 @@ -// Code generated by 'ccgo -DSQLITE_PRIVATE= -export-defines -export-enums -export-externs X -export-fields F -export-typedefs -ignore-unsupported-alignment -pkgname sqlite3 -o lib/sqlite_linux_amd64.go -trace-translation-units testdata/sqlite-amalgamation-3380100/sqlite3.c -DNDEBUG -DHAVE_USLEEP -DLONGDOUBLE_TYPE=double -DSQLITE_CORE -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_GEOPOLY -DSQLITE_ENABLE_MATH_FUNCTIONS -DSQLITE_ENABLE_MEMORY_MANAGEMENT -DSQLITE_ENABLE_OFFSET_SQL_FUNC -DSQLITE_ENABLE_PREUPDATE_HOOK -DSQLITE_ENABLE_RBU -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_SESSION -DSQLITE_ENABLE_SNAPSHOT -DSQLITE_ENABLE_STAT4 -DSQLITE_ENABLE_UNLOCK_NOTIFY -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_MUTEX_APPDEF=1 -DSQLITE_MUTEX_NOOP -DSQLITE_SOUNDEX -DSQLITE_THREADSAFE=1 -DSQLITE_OS_UNIX=1', DO NOT EDIT. +// Code generated by 'ccgo -DSQLITE_PRIVATE= -export-defines -export-enums -export-externs X -export-fields F -export-typedefs -ignore-unsupported-alignment -pkgname sqlite3 -o lib/sqlite_linux_amd64.go -trace-translation-units testdata/sqlite-amalgamation-3380200/sqlite3.c -DNDEBUG -DHAVE_USLEEP -DLONGDOUBLE_TYPE=double -DSQLITE_CORE -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_GEOPOLY -DSQLITE_ENABLE_MATH_FUNCTIONS -DSQLITE_ENABLE_MEMORY_MANAGEMENT -DSQLITE_ENABLE_OFFSET_SQL_FUNC -DSQLITE_ENABLE_PREUPDATE_HOOK -DSQLITE_ENABLE_RBU -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_SESSION -DSQLITE_ENABLE_SNAPSHOT -DSQLITE_ENABLE_STAT4 -DSQLITE_ENABLE_UNLOCK_NOTIFY -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_MUTEX_APPDEF=1 -DSQLITE_MUTEX_NOOP -DSQLITE_SOUNDEX -DSQLITE_THREADSAFE=1 -DSQLITE_OS_UNIX=1', DO NOT EDIT. package sqlite3 diff --git a/vendor/modernc.org/sqlite/lib/capi_linux_arm.go b/vendor/modernc.org/sqlite/lib/capi_linux_arm.go index cf690706..7d321e54 100644 --- a/vendor/modernc.org/sqlite/lib/capi_linux_arm.go +++ b/vendor/modernc.org/sqlite/lib/capi_linux_arm.go @@ -1,4 +1,4 @@ -// Code generated by 'ccgo -DSQLITE_PRIVATE= -export-defines -export-enums -export-externs X -export-fields F -export-typedefs -ignore-unsupported-alignment -pkgname sqlite3 -o lib/sqlite_linux_arm.go -trace-translation-units testdata/sqlite-amalgamation-3380100/sqlite3.c -DNDEBUG -DHAVE_USLEEP -DLONGDOUBLE_TYPE=double -DSQLITE_CORE -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_GEOPOLY -DSQLITE_ENABLE_MATH_FUNCTIONS -DSQLITE_ENABLE_MEMORY_MANAGEMENT -DSQLITE_ENABLE_OFFSET_SQL_FUNC -DSQLITE_ENABLE_PREUPDATE_HOOK -DSQLITE_ENABLE_RBU -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_SESSION -DSQLITE_ENABLE_SNAPSHOT -DSQLITE_ENABLE_STAT4 -DSQLITE_ENABLE_UNLOCK_NOTIFY -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_MUTEX_APPDEF=1 -DSQLITE_MUTEX_NOOP -DSQLITE_SOUNDEX -DSQLITE_THREADSAFE=1 -DSQLITE_OS_UNIX=1', DO NOT EDIT. +// Code generated by 'ccgo -DSQLITE_PRIVATE= -export-defines -export-enums -export-externs X -export-fields F -export-typedefs -ignore-unsupported-alignment -pkgname sqlite3 -o lib/sqlite_linux_arm.go -trace-translation-units testdata/sqlite-amalgamation-3380200/sqlite3.c -DNDEBUG -DHAVE_USLEEP -DLONGDOUBLE_TYPE=double -DSQLITE_CORE -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_GEOPOLY -DSQLITE_ENABLE_MATH_FUNCTIONS -DSQLITE_ENABLE_MEMORY_MANAGEMENT -DSQLITE_ENABLE_OFFSET_SQL_FUNC -DSQLITE_ENABLE_PREUPDATE_HOOK -DSQLITE_ENABLE_RBU -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_SESSION -DSQLITE_ENABLE_SNAPSHOT -DSQLITE_ENABLE_STAT4 -DSQLITE_ENABLE_UNLOCK_NOTIFY -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_MUTEX_APPDEF=1 -DSQLITE_MUTEX_NOOP -DSQLITE_SOUNDEX -DSQLITE_THREADSAFE=1 -DSQLITE_OS_UNIX=1', DO NOT EDIT. package sqlite3 diff --git a/vendor/modernc.org/sqlite/lib/capi_linux_arm64.go b/vendor/modernc.org/sqlite/lib/capi_linux_arm64.go index 91940ccb..bf9327a4 100644 --- a/vendor/modernc.org/sqlite/lib/capi_linux_arm64.go +++ b/vendor/modernc.org/sqlite/lib/capi_linux_arm64.go @@ -1,4 +1,4 @@ -// Code generated by 'ccgo -DSQLITE_PRIVATE= -export-defines -export-enums -export-externs X -export-fields F -export-typedefs -ignore-unsupported-alignment -pkgname sqlite3 -o lib/sqlite_linux_arm64.go -trace-translation-units testdata/sqlite-amalgamation-3380100/sqlite3.c -DNDEBUG -DHAVE_USLEEP -DLONGDOUBLE_TYPE=double -DSQLITE_CORE -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_GEOPOLY -DSQLITE_ENABLE_MATH_FUNCTIONS -DSQLITE_ENABLE_MEMORY_MANAGEMENT -DSQLITE_ENABLE_OFFSET_SQL_FUNC -DSQLITE_ENABLE_PREUPDATE_HOOK -DSQLITE_ENABLE_RBU -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_SESSION -DSQLITE_ENABLE_SNAPSHOT -DSQLITE_ENABLE_STAT4 -DSQLITE_ENABLE_UNLOCK_NOTIFY -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_MUTEX_APPDEF=1 -DSQLITE_MUTEX_NOOP -DSQLITE_SOUNDEX -DSQLITE_THREADSAFE=1 -DSQLITE_OS_UNIX=1', DO NOT EDIT. +// Code generated by 'ccgo -DSQLITE_PRIVATE= -export-defines -export-enums -export-externs X -export-fields F -export-typedefs -ignore-unsupported-alignment -pkgname sqlite3 -o lib/sqlite_linux_arm64.go -trace-translation-units testdata/sqlite-amalgamation-3380200/sqlite3.c -DNDEBUG -DHAVE_USLEEP -DLONGDOUBLE_TYPE=double -DSQLITE_CORE -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_GEOPOLY -DSQLITE_ENABLE_MATH_FUNCTIONS -DSQLITE_ENABLE_MEMORY_MANAGEMENT -DSQLITE_ENABLE_OFFSET_SQL_FUNC -DSQLITE_ENABLE_PREUPDATE_HOOK -DSQLITE_ENABLE_RBU -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_SESSION -DSQLITE_ENABLE_SNAPSHOT -DSQLITE_ENABLE_STAT4 -DSQLITE_ENABLE_UNLOCK_NOTIFY -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_MUTEX_APPDEF=1 -DSQLITE_MUTEX_NOOP -DSQLITE_SOUNDEX -DSQLITE_THREADSAFE=1 -DSQLITE_OS_UNIX=1', DO NOT EDIT. package sqlite3 diff --git a/vendor/modernc.org/sqlite/lib/capi_linux_riscv64.go b/vendor/modernc.org/sqlite/lib/capi_linux_riscv64.go index 0ab8f850..d8011089 100644 --- a/vendor/modernc.org/sqlite/lib/capi_linux_riscv64.go +++ b/vendor/modernc.org/sqlite/lib/capi_linux_riscv64.go @@ -1,4 +1,4 @@ -// Code generated by 'ccgo -DSQLITE_PRIVATE= -export-defines -export-enums -export-externs X -export-fields F -export-typedefs -ignore-unsupported-alignment -pkgname sqlite3 -o lib/sqlite_linux_riscv64.go -trace-translation-units testdata/sqlite-amalgamation-3380100/sqlite3.c -DNDEBUG -DHAVE_USLEEP -DLONGDOUBLE_TYPE=double -DSQLITE_CORE -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_GEOPOLY -DSQLITE_ENABLE_MATH_FUNCTIONS -DSQLITE_ENABLE_MEMORY_MANAGEMENT -DSQLITE_ENABLE_OFFSET_SQL_FUNC -DSQLITE_ENABLE_PREUPDATE_HOOK -DSQLITE_ENABLE_RBU -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_SESSION -DSQLITE_ENABLE_SNAPSHOT -DSQLITE_ENABLE_STAT4 -DSQLITE_ENABLE_UNLOCK_NOTIFY -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_MUTEX_APPDEF=1 -DSQLITE_MUTEX_NOOP -DSQLITE_SOUNDEX -DSQLITE_THREADSAFE=1 -DSQLITE_OS_UNIX=1', DO NOT EDIT. +// Code generated by 'ccgo -DSQLITE_PRIVATE= -export-defines -export-enums -export-externs X -export-fields F -export-typedefs -ignore-unsupported-alignment -pkgname sqlite3 -o lib/sqlite_linux_riscv64.go -trace-translation-units testdata/sqlite-amalgamation-3380200/sqlite3.c -DNDEBUG -DHAVE_USLEEP -DLONGDOUBLE_TYPE=double -DSQLITE_CORE -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_GEOPOLY -DSQLITE_ENABLE_MATH_FUNCTIONS -DSQLITE_ENABLE_MEMORY_MANAGEMENT -DSQLITE_ENABLE_OFFSET_SQL_FUNC -DSQLITE_ENABLE_PREUPDATE_HOOK -DSQLITE_ENABLE_RBU -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_SESSION -DSQLITE_ENABLE_SNAPSHOT -DSQLITE_ENABLE_STAT4 -DSQLITE_ENABLE_UNLOCK_NOTIFY -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_MUTEX_APPDEF=1 -DSQLITE_MUTEX_NOOP -DSQLITE_SOUNDEX -DSQLITE_THREADSAFE=1 -DSQLITE_OS_UNIX=1', DO NOT EDIT. package sqlite3 diff --git a/vendor/modernc.org/sqlite/lib/capi_linux_s390x.go b/vendor/modernc.org/sqlite/lib/capi_linux_s390x.go index 944fc194..21e4adf9 100644 --- a/vendor/modernc.org/sqlite/lib/capi_linux_s390x.go +++ b/vendor/modernc.org/sqlite/lib/capi_linux_s390x.go @@ -1,4 +1,4 @@ -// Code generated by 'ccgo -DSQLITE_PRIVATE= -export-defines -export-enums -export-externs X -export-fields F -export-typedefs -ignore-unsupported-alignment -pkgname sqlite3 -o lib/sqlite_linux_s390x.go -trace-translation-units testdata/sqlite-amalgamation-3380100/sqlite3.c -DNDEBUG -DHAVE_USLEEP -DLONGDOUBLE_TYPE=double -DSQLITE_CORE -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_GEOPOLY -DSQLITE_ENABLE_MATH_FUNCTIONS -DSQLITE_ENABLE_MEMORY_MANAGEMENT -DSQLITE_ENABLE_OFFSET_SQL_FUNC -DSQLITE_ENABLE_PREUPDATE_HOOK -DSQLITE_ENABLE_RBU -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_SESSION -DSQLITE_ENABLE_SNAPSHOT -DSQLITE_ENABLE_STAT4 -DSQLITE_ENABLE_UNLOCK_NOTIFY -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_MUTEX_APPDEF=1 -DSQLITE_MUTEX_NOOP -DSQLITE_SOUNDEX -DSQLITE_THREADSAFE=1 -DSQLITE_OS_UNIX=1', DO NOT EDIT. +// Code generated by 'ccgo -DSQLITE_PRIVATE= -export-defines -export-enums -export-externs X -export-fields F -export-typedefs -ignore-unsupported-alignment -pkgname sqlite3 -o lib/sqlite_linux_s390x.go -trace-translation-units testdata/sqlite-amalgamation-3380200/sqlite3.c -DNDEBUG -DHAVE_USLEEP -DLONGDOUBLE_TYPE=double -DSQLITE_CORE -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_GEOPOLY -DSQLITE_ENABLE_MATH_FUNCTIONS -DSQLITE_ENABLE_MEMORY_MANAGEMENT -DSQLITE_ENABLE_OFFSET_SQL_FUNC -DSQLITE_ENABLE_PREUPDATE_HOOK -DSQLITE_ENABLE_RBU -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_SESSION -DSQLITE_ENABLE_SNAPSHOT -DSQLITE_ENABLE_STAT4 -DSQLITE_ENABLE_UNLOCK_NOTIFY -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_MUTEX_APPDEF=1 -DSQLITE_MUTEX_NOOP -DSQLITE_SOUNDEX -DSQLITE_THREADSAFE=1 -DSQLITE_OS_UNIX=1', DO NOT EDIT. package sqlite3 diff --git a/vendor/modernc.org/sqlite/lib/capi_openbsd_amd64.go b/vendor/modernc.org/sqlite/lib/capi_openbsd_amd64.go index 9857cee0..70da0fc0 100644 --- a/vendor/modernc.org/sqlite/lib/capi_openbsd_amd64.go +++ b/vendor/modernc.org/sqlite/lib/capi_openbsd_amd64.go @@ -1,4 +1,4 @@ -// Code generated by 'ccgo -DSQLITE_PRIVATE= -export-defines -export-enums -export-externs X -export-fields F -export-typedefs -ignore-unsupported-alignment -pkgname sqlite3 -o lib/sqlite_openbsd_amd64.go -trace-translation-units testdata/sqlite-amalgamation-3380100/sqlite3.c -DNDEBUG -DHAVE_USLEEP -DLONGDOUBLE_TYPE=double -DSQLITE_CORE -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_GEOPOLY -DSQLITE_ENABLE_MATH_FUNCTIONS -DSQLITE_ENABLE_MEMORY_MANAGEMENT -DSQLITE_ENABLE_OFFSET_SQL_FUNC -DSQLITE_ENABLE_PREUPDATE_HOOK -DSQLITE_ENABLE_RBU -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_SESSION -DSQLITE_ENABLE_SNAPSHOT -DSQLITE_ENABLE_STAT4 -DSQLITE_ENABLE_UNLOCK_NOTIFY -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_MUTEX_APPDEF=1 -DSQLITE_MUTEX_NOOP -DSQLITE_SOUNDEX -DSQLITE_THREADSAFE=1 -DSQLITE_OS_UNIX=1', DO NOT EDIT. +// Code generated by 'ccgo -DSQLITE_PRIVATE= -export-defines -export-enums -export-externs X -export-fields F -export-typedefs -ignore-unsupported-alignment -pkgname sqlite3 -o lib/sqlite_openbsd_amd64.go -trace-translation-units testdata/sqlite-amalgamation-3380200/sqlite3.c -DNDEBUG -DHAVE_USLEEP -DLONGDOUBLE_TYPE=double -DSQLITE_CORE -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_GEOPOLY -DSQLITE_ENABLE_MATH_FUNCTIONS -DSQLITE_ENABLE_MEMORY_MANAGEMENT -DSQLITE_ENABLE_OFFSET_SQL_FUNC -DSQLITE_ENABLE_PREUPDATE_HOOK -DSQLITE_ENABLE_RBU -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_SESSION -DSQLITE_ENABLE_SNAPSHOT -DSQLITE_ENABLE_STAT4 -DSQLITE_ENABLE_UNLOCK_NOTIFY -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_MUTEX_APPDEF=1 -DSQLITE_MUTEX_NOOP -DSQLITE_SOUNDEX -DSQLITE_THREADSAFE=1 -DSQLITE_OS_UNIX=1', DO NOT EDIT. package sqlite3 diff --git a/vendor/modernc.org/sqlite/lib/capi_windows_amd64.go b/vendor/modernc.org/sqlite/lib/capi_windows_amd64.go index ae7b6a22..1427ce17 100644 --- a/vendor/modernc.org/sqlite/lib/capi_windows_amd64.go +++ b/vendor/modernc.org/sqlite/lib/capi_windows_amd64.go @@ -1,4 +1,4 @@ -// Code generated by 'ccgo -DSQLITE_PRIVATE= -export-defines -export-enums -export-externs X -export-fields F -export-typedefs -ignore-unsupported-alignment -pkgname sqlite3 -o lib/sqlite_windows_amd64.go -trace-translation-units testdata/sqlite-amalgamation-3380100/sqlite3.c -DNDEBUG -DHAVE_USLEEP -DLONGDOUBLE_TYPE=double -DSQLITE_CORE -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_GEOPOLY -DSQLITE_ENABLE_MATH_FUNCTIONS -DSQLITE_ENABLE_MEMORY_MANAGEMENT -DSQLITE_ENABLE_OFFSET_SQL_FUNC -DSQLITE_ENABLE_PREUPDATE_HOOK -DSQLITE_ENABLE_RBU -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_SESSION -DSQLITE_ENABLE_SNAPSHOT -DSQLITE_ENABLE_STAT4 -DSQLITE_ENABLE_UNLOCK_NOTIFY -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_MUTEX_APPDEF=1 -DSQLITE_MUTEX_NOOP -DSQLITE_SOUNDEX -DSQLITE_THREADSAFE=1 -DSQLITE_OS_WIN=1 -D_MSC_VER=1900', DO NOT EDIT. +// Code generated by 'ccgo -DSQLITE_PRIVATE= -export-defines -export-enums -export-externs X -export-fields F -export-typedefs -ignore-unsupported-alignment -pkgname sqlite3 -o lib/sqlite_windows_amd64.go -trace-translation-units testdata/sqlite-amalgamation-3380200/sqlite3.c -DNDEBUG -DHAVE_USLEEP -DLONGDOUBLE_TYPE=double -DSQLITE_CORE -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_GEOPOLY -DSQLITE_ENABLE_MATH_FUNCTIONS -DSQLITE_ENABLE_MEMORY_MANAGEMENT -DSQLITE_ENABLE_OFFSET_SQL_FUNC -DSQLITE_ENABLE_PREUPDATE_HOOK -DSQLITE_ENABLE_RBU -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_SESSION -DSQLITE_ENABLE_SNAPSHOT -DSQLITE_ENABLE_STAT4 -DSQLITE_ENABLE_UNLOCK_NOTIFY -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_MUTEX_APPDEF=1 -DSQLITE_MUTEX_NOOP -DSQLITE_SOUNDEX -DSQLITE_THREADSAFE=1 -DSQLITE_OS_WIN=1 -D_MSC_VER=1900', DO NOT EDIT. package sqlite3 diff --git a/vendor/modernc.org/sqlite/lib/sqlite_darwin_amd64.go b/vendor/modernc.org/sqlite/lib/sqlite_darwin_amd64.go index 79728979..3b3f2bab 100644 --- a/vendor/modernc.org/sqlite/lib/sqlite_darwin_amd64.go +++ b/vendor/modernc.org/sqlite/lib/sqlite_darwin_amd64.go @@ -1,4 +1,4 @@ -// Code generated by 'ccgo -DSQLITE_PRIVATE= -export-defines "" -export-enums "" -export-externs X -export-fields F -export-typedefs "" -ignore-unsupported-alignment -pkgname sqlite3 -o lib/sqlite_darwin_amd64.go -trace-translation-units testdata/sqlite-amalgamation-3380100/sqlite3.c -DNDEBUG -DHAVE_USLEEP -DLONGDOUBLE_TYPE=double -DSQLITE_CORE -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_GEOPOLY -DSQLITE_ENABLE_MATH_FUNCTIONS -DSQLITE_ENABLE_MEMORY_MANAGEMENT -DSQLITE_ENABLE_OFFSET_SQL_FUNC -DSQLITE_ENABLE_PREUPDATE_HOOK -DSQLITE_ENABLE_RBU -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_SESSION -DSQLITE_ENABLE_SNAPSHOT -DSQLITE_ENABLE_STAT4 -DSQLITE_ENABLE_UNLOCK_NOTIFY -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_MUTEX_APPDEF=1 -DSQLITE_MUTEX_NOOP -DSQLITE_SOUNDEX -DSQLITE_THREADSAFE=1 -DSQLITE_OS_UNIX=1 -DSQLITE_WITHOUT_ZONEMALLOC', DO NOT EDIT. +// Code generated by 'ccgo -DSQLITE_PRIVATE= -export-defines "" -export-enums "" -export-externs X -export-fields F -export-typedefs "" -ignore-unsupported-alignment -pkgname sqlite3 -o lib/sqlite_darwin_amd64.go -trace-translation-units testdata/sqlite-amalgamation-3380200/sqlite3.c -DNDEBUG -DHAVE_USLEEP -DLONGDOUBLE_TYPE=double -DSQLITE_CORE -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_GEOPOLY -DSQLITE_ENABLE_MATH_FUNCTIONS -DSQLITE_ENABLE_MEMORY_MANAGEMENT -DSQLITE_ENABLE_OFFSET_SQL_FUNC -DSQLITE_ENABLE_PREUPDATE_HOOK -DSQLITE_ENABLE_RBU -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_SESSION -DSQLITE_ENABLE_SNAPSHOT -DSQLITE_ENABLE_STAT4 -DSQLITE_ENABLE_UNLOCK_NOTIFY -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_MUTEX_APPDEF=1 -DSQLITE_MUTEX_NOOP -DSQLITE_SOUNDEX -DSQLITE_THREADSAFE=1 -DSQLITE_OS_UNIX=1 -DSQLITE_WITHOUT_ZONEMALLOC', DO NOT EDIT. package sqlite3 @@ -2513,7 +2513,7 @@ const ( SQLITE_SHM_UNLOCK = 1 SQLITE_SORTER_PMASZ = 250 SQLITE_SOUNDEX = 1 - SQLITE_SOURCE_ID = "2022-03-12 13:37:29 38c210fdd258658321c85ec9c01a072fda3ada94540e3239d29b34dc547a8cbc" + SQLITE_SOURCE_ID = "2022-03-26 13:51:10 d33c709cc0af66bc5b6dc6216eba9f1f0b40960b9ae83694c986fbf4c1d6f08f" SQLITE_SO_ASC = 0 SQLITE_SO_DESC = 1 SQLITE_SO_UNDEFINED = -1 @@ -2621,8 +2621,8 @@ const ( SQLITE_UTF8 = 1 SQLITE_VDBEINT_H = 0 SQLITE_VDBE_H = 0 - SQLITE_VERSION = "3.38.1" - SQLITE_VERSION_NUMBER = 3038001 + SQLITE_VERSION = "3.38.2" + SQLITE_VERSION_NUMBER = 3038002 SQLITE_VTABRISK_High = 2 SQLITE_VTABRISK_Low = 0 SQLITE_VTABRISK_Normal = 1 @@ -4218,7 +4218,7 @@ var X__darwin_check_fd_set_overflow uintptr /* :146:5: */ // ***************************************************************************** // // This file is an amalgamation of many separate C source files from SQLite -// version 3.38.1. By combining all the individual C code files into this +// version 3.38.2. By combining all the individual C code files into this // single large file, the entire code can be compiled as a single translation // unit. This allows many compilers to do optimizations that would not be // possible if the files were compiled separately. Performance improvements @@ -38940,12 +38940,22 @@ var pgsz int32 = 4096 /* sqlite3.c:39581:28 */ // to shared and back or from unlocked to exclusive and back. But one may // not go from shared to exclusive or from exclusive to shared. func unixShmLock(tls *libc.TLS, fd uintptr, ofst int32, n int32, flags int32) int32 { /* sqlite3.c:39687:12: */ - var pDbFd uintptr = fd // Connection holding shared memory - var p uintptr = (*UnixFile)(unsafe.Pointer(pDbFd)).FpShm // The shared memory being locked - var pShmNode uintptr = (*UnixShm)(unsafe.Pointer(p)).FpShmNode // The underlying file iNode - var rc int32 = SQLITE_OK // Result code - var mask U16 // Mask of locks to take or release - var aLock uintptr = pShmNode + 64 /* &.aLock */ + var pDbFd uintptr = fd // Connection holding shared memory + var p uintptr // The shared memory being locked + var pShmNode uintptr // The underlying file iNode + var rc int32 = SQLITE_OK // Result code + var mask U16 // Mask of locks to take or release + var aLock uintptr + + p = (*UnixFile)(unsafe.Pointer(pDbFd)).FpShm + if p == uintptr(0) { + return SQLITE_IOERR | int32(20)<<8 + } + pShmNode = (*UnixShm)(unsafe.Pointer(p)).FpShmNode + if pShmNode == uintptr(0) { + return SQLITE_IOERR | int32(20)<<8 + } + aLock = pShmNode + 64 /* &.aLock */ // Check that, if this to be a blocking lock, no locks that occur later // in the following list than the lock being obtained are already held: @@ -39046,7 +39056,7 @@ func unixShmLock(tls *libc.TLS, fd uintptr, ofst int32, n int32, flags int32) in // // All loads and stores begun before the barrier must complete before // any load or store begun after the barrier. -func unixShmBarrier(tls *libc.TLS, fd uintptr) { /* sqlite3.c:39819:13: */ +func unixShmBarrier(tls *libc.TLS, fd uintptr) { /* sqlite3.c:39825:13: */ _ = fd // compiler-defined memory barrier @@ -39059,7 +39069,7 @@ func unixShmBarrier(tls *libc.TLS, fd uintptr) { /* sqlite3.c:39819:13: */ // // If there is no shared memory associated with the connection then this // routine is a harmless no-op. -func unixShmUnmap(tls *libc.TLS, fd uintptr, deleteFlag int32) int32 { /* sqlite3.c:39838:12: */ +func unixShmUnmap(tls *libc.TLS, fd uintptr, deleteFlag int32) int32 { /* sqlite3.c:39844:12: */ var p uintptr // The connection to be closed var pShmNode uintptr // The underlying shared-memory file var pp uintptr // For looping over sibling connections @@ -39102,7 +39112,7 @@ func unixShmUnmap(tls *libc.TLS, fd uintptr, deleteFlag int32) int32 { /* sqlite } // If it is currently memory mapped, unmap file pFd. -func unixUnmapfile(tls *libc.TLS, pFd uintptr) { /* sqlite3.c:39895:13: */ +func unixUnmapfile(tls *libc.TLS, pFd uintptr) { /* sqlite3.c:39901:13: */ if (*UnixFile)(unsafe.Pointer(pFd)).FpMapRegion != 0 { (*(*func(*libc.TLS, uintptr, Size_t) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 23*24 + 8)))(tls, (*UnixFile)(unsafe.Pointer(pFd)).FpMapRegion, uint64((*UnixFile)(unsafe.Pointer(pFd)).FmmapSizeActual)) @@ -39125,7 +39135,7 @@ func unixUnmapfile(tls *libc.TLS, pFd uintptr) { /* sqlite3.c:39895:13: */ // the three variables above are zeroed. In this case SQLite should // continue accessing the database using the xRead() and xWrite() // methods. -func unixRemapfile(tls *libc.TLS, pFd uintptr, nNew I64) { /* sqlite3.c:39920:13: */ +func unixRemapfile(tls *libc.TLS, pFd uintptr, nNew I64) { /* sqlite3.c:39926:13: */ var zErr uintptr = ts + 3363 /* "mmap" */ var h int32 = (*UnixFile)(unsafe.Pointer(pFd)).Fh // File descriptor open on db file var pOrig uintptr = (*UnixFile)(unsafe.Pointer(pFd)).FpMapRegion // Pointer to current file mapping @@ -39167,7 +39177,7 @@ func unixRemapfile(tls *libc.TLS, pFd uintptr, nNew I64) { /* sqlite3.c:39920:13 if pNew == libc.UintptrFromInt32(-1) { pNew = uintptr(0) nNew = int64(0) - unixLogErrorAtLine(tls, SQLITE_OK, zErr, (*UnixFile)(unsafe.Pointer(pFd)).FzPath, 39985) + unixLogErrorAtLine(tls, SQLITE_OK, zErr, (*UnixFile)(unsafe.Pointer(pFd)).FzPath, 39991) // If the mmap() above failed, assume that all subsequent mmap() calls // will probably fail too. Fall back to using xRead/xWrite exclusively @@ -39192,7 +39202,7 @@ func unixRemapfile(tls *libc.TLS, pFd uintptr, nNew I64) { /* sqlite3.c:39920:13 // SQLITE_OK is returned if no error occurs (even if the mapping is not // recreated as a result of outstanding references) or an SQLite error // code otherwise. -func unixMapfile(tls *libc.TLS, pFd uintptr, nMap I64) int32 { /* sqlite3.c:40012:12: */ +func unixMapfile(tls *libc.TLS, pFd uintptr, nMap I64) int32 { /* sqlite3.c:40018:12: */ bp := tls.Alloc(144) defer tls.Free(144) @@ -39229,7 +39239,7 @@ func unixMapfile(tls *libc.TLS, pFd uintptr, nMap I64) int32 { /* sqlite3.c:4001 // // If this function does return a pointer, the caller must eventually // release the reference by calling unixUnfetch(). -func unixFetch(tls *libc.TLS, fd uintptr, iOff I64, nAmt int32, pp uintptr) int32 { /* sqlite3.c:40049:12: */ +func unixFetch(tls *libc.TLS, fd uintptr, iOff I64, nAmt int32, pp uintptr) int32 { /* sqlite3.c:40055:12: */ var pFd uintptr = fd // The underlying database file *(*uintptr)(unsafe.Pointer(pp)) = uintptr(0) @@ -39256,7 +39266,7 @@ func unixFetch(tls *libc.TLS, fd uintptr, iOff I64, nAmt int32, pp uintptr) int3 // Or, if the third argument is NULL, then this function is being called // to inform the VFS layer that, according to POSIX, any existing mapping // may now be invalid and should be unmapped. -func unixUnfetch(tls *libc.TLS, fd uintptr, iOff I64, p uintptr) int32 { /* sqlite3.c:40080:12: */ +func unixUnfetch(tls *libc.TLS, fd uintptr, iOff I64, p uintptr) int32 { /* sqlite3.c:40086:12: */ var pFd uintptr = fd // The underlying database file _ = iOff @@ -39317,80 +39327,80 @@ func unixUnfetch(tls *libc.TLS, fd uintptr, iOff I64, p uintptr) int32 { /* sqli // Here are all of the sqlite3_io_methods objects for each of the // locking strategies. Functions that return pointers to these methods // are also created. -var posixIoMethods = Sqlite3_io_methods{FiVersion: 3 /* iVersion */, FxClose: 0 /* xClose */, FxRead: 0 /* xRead */, FxWrite: 0 /* xWrite */, FxTruncate: 0 /* xTruncate */, FxSync: 0 /* xSync */, FxFileSize: 0 /* xFileSize */, FxLock: 0 /* xLock */, FxUnlock: 0 /* xUnlock */, FxCheckReservedLock: 0 /* xCheckReservedLock */, FxFileControl: 0 /* xFileControl */, FxSectorSize: 0 /* xSectorSize */, FxDeviceCharacteristics: 0 /* xDeviceCapabilities */, FxShmMap: 0 /* xShmMap */, FxShmLock: 0 /* xShmLock */, FxShmBarrier: 0 /* xShmBarrier */, FxShmUnmap: 0 /* xShmUnmap */, FxFetch: 0 /* xFetch */, FxUnfetch: 0 /* xUnfetch */} /* sqlite3.c:40182:1 */ +var posixIoMethods = Sqlite3_io_methods{FiVersion: 3 /* iVersion */, FxClose: 0 /* xClose */, FxRead: 0 /* xRead */, FxWrite: 0 /* xWrite */, FxTruncate: 0 /* xTruncate */, FxSync: 0 /* xSync */, FxFileSize: 0 /* xFileSize */, FxLock: 0 /* xLock */, FxUnlock: 0 /* xUnlock */, FxCheckReservedLock: 0 /* xCheckReservedLock */, FxFileControl: 0 /* xFileControl */, FxSectorSize: 0 /* xSectorSize */, FxDeviceCharacteristics: 0 /* xDeviceCapabilities */, FxShmMap: 0 /* xShmMap */, FxShmLock: 0 /* xShmLock */, FxShmBarrier: 0 /* xShmBarrier */, FxShmUnmap: 0 /* xShmUnmap */, FxFetch: 0 /* xFetch */, FxUnfetch: 0 /* xUnfetch */} /* sqlite3.c:40188:1 */ -func posixIoFinderImpl(tls *libc.TLS, z uintptr, p uintptr) uintptr { /* sqlite3.c:40182:1: */ +func posixIoFinderImpl(tls *libc.TLS, z uintptr, p uintptr) uintptr { /* sqlite3.c:40188:1: */ _ = z _ = p return uintptr(unsafe.Pointer(&posixIoMethods)) } -var posixIoFinder uintptr = 0 /* sqlite3.c:40182:1 */ -var nolockIoMethods = Sqlite3_io_methods{FiVersion: 3 /* iVersion */, FxClose: 0 /* xClose */, FxRead: 0 /* xRead */, FxWrite: 0 /* xWrite */, FxTruncate: 0 /* xTruncate */, FxSync: 0 /* xSync */, FxFileSize: 0 /* xFileSize */, FxLock: 0 /* xLock */, FxUnlock: 0 /* xUnlock */, FxCheckReservedLock: 0 /* xCheckReservedLock */, FxFileControl: 0 /* xFileControl */, FxSectorSize: 0 /* xSectorSize */, FxDeviceCharacteristics: 0 /* xShmMap */, FxShmLock: 0 /* xShmLock */, FxShmBarrier: 0 /* xShmBarrier */, FxShmUnmap: 0 /* xShmUnmap */, FxFetch: 0 /* xFetch */, FxUnfetch: 0 /* xUnfetch */} /* sqlite3.c:40192:1 */ +var posixIoFinder uintptr = 0 /* sqlite3.c:40188:1 */ +var nolockIoMethods = Sqlite3_io_methods{FiVersion: 3 /* iVersion */, FxClose: 0 /* xClose */, FxRead: 0 /* xRead */, FxWrite: 0 /* xWrite */, FxTruncate: 0 /* xTruncate */, FxSync: 0 /* xSync */, FxFileSize: 0 /* xFileSize */, FxLock: 0 /* xLock */, FxUnlock: 0 /* xUnlock */, FxCheckReservedLock: 0 /* xCheckReservedLock */, FxFileControl: 0 /* xFileControl */, FxSectorSize: 0 /* xSectorSize */, FxDeviceCharacteristics: 0 /* xShmMap */, FxShmLock: 0 /* xShmLock */, FxShmBarrier: 0 /* xShmBarrier */, FxShmUnmap: 0 /* xShmUnmap */, FxFetch: 0 /* xFetch */, FxUnfetch: 0 /* xUnfetch */} /* sqlite3.c:40198:1 */ -func nolockIoFinderImpl(tls *libc.TLS, z uintptr, p uintptr) uintptr { /* sqlite3.c:40192:1: */ +func nolockIoFinderImpl(tls *libc.TLS, z uintptr, p uintptr) uintptr { /* sqlite3.c:40198:1: */ _ = z _ = p return uintptr(unsafe.Pointer(&nolockIoMethods)) } -var nolockIoFinder uintptr = 0 /* sqlite3.c:40192:1 */ -var dotlockIoMethods = Sqlite3_io_methods{FiVersion: 1 /* iVersion */, FxClose: 0 /* xClose */, FxRead: 0 /* xRead */, FxWrite: 0 /* xWrite */, FxTruncate: 0 /* xTruncate */, FxSync: 0 /* xSync */, FxFileSize: 0 /* xFileSize */, FxLock: 0 /* xLock */, FxUnlock: 0 /* xUnlock */, FxCheckReservedLock: 0 /* xCheckReservedLock */, FxFileControl: 0 /* xFileControl */, FxSectorSize: 0 /* xSectorSize */, FxDeviceCharacteristics: 0 /* xShmMap */, FxShmLock: 0 /* xShmLock */, FxShmBarrier: 0 /* xShmBarrier */, FxShmUnmap: 0 /* xShmUnmap */, FxFetch: 0 /* xFetch */, FxUnfetch: 0 /* xUnfetch */} /* sqlite3.c:40202:1 */ +var nolockIoFinder uintptr = 0 /* sqlite3.c:40198:1 */ +var dotlockIoMethods = Sqlite3_io_methods{FiVersion: 1 /* iVersion */, FxClose: 0 /* xClose */, FxRead: 0 /* xRead */, FxWrite: 0 /* xWrite */, FxTruncate: 0 /* xTruncate */, FxSync: 0 /* xSync */, FxFileSize: 0 /* xFileSize */, FxLock: 0 /* xLock */, FxUnlock: 0 /* xUnlock */, FxCheckReservedLock: 0 /* xCheckReservedLock */, FxFileControl: 0 /* xFileControl */, FxSectorSize: 0 /* xSectorSize */, FxDeviceCharacteristics: 0 /* xShmMap */, FxShmLock: 0 /* xShmLock */, FxShmBarrier: 0 /* xShmBarrier */, FxShmUnmap: 0 /* xShmUnmap */, FxFetch: 0 /* xFetch */, FxUnfetch: 0 /* xUnfetch */} /* sqlite3.c:40208:1 */ -func dotlockIoFinderImpl(tls *libc.TLS, z uintptr, p uintptr) uintptr { /* sqlite3.c:40202:1: */ +func dotlockIoFinderImpl(tls *libc.TLS, z uintptr, p uintptr) uintptr { /* sqlite3.c:40208:1: */ _ = z _ = p return uintptr(unsafe.Pointer(&dotlockIoMethods)) } -var dotlockIoFinder uintptr = 0 /* sqlite3.c:40202:1 */ +var dotlockIoFinder uintptr = 0 /* sqlite3.c:40208:1 */ -var flockIoMethods = Sqlite3_io_methods{FiVersion: 1 /* iVersion */, FxClose: 0 /* xClose */, FxRead: 0 /* xRead */, FxWrite: 0 /* xWrite */, FxTruncate: 0 /* xTruncate */, FxSync: 0 /* xSync */, FxFileSize: 0 /* xFileSize */, FxLock: 0 /* xLock */, FxUnlock: 0 /* xUnlock */, FxCheckReservedLock: 0 /* xCheckReservedLock */, FxFileControl: 0 /* xFileControl */, FxSectorSize: 0 /* xSectorSize */, FxDeviceCharacteristics: 0 /* xShmMap */, FxShmLock: 0 /* xShmLock */, FxShmBarrier: 0 /* xShmBarrier */, FxShmUnmap: 0 /* xShmUnmap */, FxFetch: 0 /* xFetch */, FxUnfetch: 0 /* xUnfetch */} /* sqlite3.c:40214:1 */ +var flockIoMethods = Sqlite3_io_methods{FiVersion: 1 /* iVersion */, FxClose: 0 /* xClose */, FxRead: 0 /* xRead */, FxWrite: 0 /* xWrite */, FxTruncate: 0 /* xTruncate */, FxSync: 0 /* xSync */, FxFileSize: 0 /* xFileSize */, FxLock: 0 /* xLock */, FxUnlock: 0 /* xUnlock */, FxCheckReservedLock: 0 /* xCheckReservedLock */, FxFileControl: 0 /* xFileControl */, FxSectorSize: 0 /* xSectorSize */, FxDeviceCharacteristics: 0 /* xShmMap */, FxShmLock: 0 /* xShmLock */, FxShmBarrier: 0 /* xShmBarrier */, FxShmUnmap: 0 /* xShmUnmap */, FxFetch: 0 /* xFetch */, FxUnfetch: 0 /* xUnfetch */} /* sqlite3.c:40220:1 */ -func flockIoFinderImpl(tls *libc.TLS, z uintptr, p uintptr) uintptr { /* sqlite3.c:40214:1: */ +func flockIoFinderImpl(tls *libc.TLS, z uintptr, p uintptr) uintptr { /* sqlite3.c:40220:1: */ _ = z _ = p return uintptr(unsafe.Pointer(&flockIoMethods)) } -var flockIoFinder uintptr = 0 /* sqlite3.c:40214:1 */ +var flockIoFinder uintptr = 0 /* sqlite3.c:40220:1 */ -var afpIoMethods = Sqlite3_io_methods{FiVersion: 1 /* iVersion */, FxClose: 0 /* xClose */, FxRead: 0 /* xRead */, FxWrite: 0 /* xWrite */, FxTruncate: 0 /* xTruncate */, FxSync: 0 /* xSync */, FxFileSize: 0 /* xFileSize */, FxLock: 0 /* xLock */, FxUnlock: 0 /* xUnlock */, FxCheckReservedLock: 0 /* xCheckReservedLock */, FxFileControl: 0 /* xFileControl */, FxSectorSize: 0 /* xSectorSize */, FxDeviceCharacteristics: 0 /* xShmMap */, FxShmLock: 0 /* xShmLock */, FxShmBarrier: 0 /* xShmBarrier */, FxShmUnmap: 0 /* xShmUnmap */, FxFetch: 0 /* xFetch */, FxUnfetch: 0 /* xUnfetch */} /* sqlite3.c:40240:1 */ +var afpIoMethods = Sqlite3_io_methods{FiVersion: 1 /* iVersion */, FxClose: 0 /* xClose */, FxRead: 0 /* xRead */, FxWrite: 0 /* xWrite */, FxTruncate: 0 /* xTruncate */, FxSync: 0 /* xSync */, FxFileSize: 0 /* xFileSize */, FxLock: 0 /* xLock */, FxUnlock: 0 /* xUnlock */, FxCheckReservedLock: 0 /* xCheckReservedLock */, FxFileControl: 0 /* xFileControl */, FxSectorSize: 0 /* xSectorSize */, FxDeviceCharacteristics: 0 /* xShmMap */, FxShmLock: 0 /* xShmLock */, FxShmBarrier: 0 /* xShmBarrier */, FxShmUnmap: 0 /* xShmUnmap */, FxFetch: 0 /* xFetch */, FxUnfetch: 0 /* xUnfetch */} /* sqlite3.c:40246:1 */ -func afpIoFinderImpl(tls *libc.TLS, z uintptr, p uintptr) uintptr { /* sqlite3.c:40240:1: */ +func afpIoFinderImpl(tls *libc.TLS, z uintptr, p uintptr) uintptr { /* sqlite3.c:40246:1: */ _ = z _ = p return uintptr(unsafe.Pointer(&afpIoMethods)) } -var afpIoFinder uintptr = 0 /* sqlite3.c:40240:1 */ -var proxyIoMethods = Sqlite3_io_methods{FiVersion: 1 /* iVersion */, FxClose: 0 /* xClose */, FxRead: 0 /* xRead */, FxWrite: 0 /* xWrite */, FxTruncate: 0 /* xTruncate */, FxSync: 0 /* xSync */, FxFileSize: 0 /* xFileSize */, FxLock: 0 /* xLock */, FxUnlock: 0 /* xUnlock */, FxCheckReservedLock: 0 /* xCheckReservedLock */, FxFileControl: 0 /* xFileControl */, FxSectorSize: 0 /* xSectorSize */, FxDeviceCharacteristics: 0 /* xShmMap */, FxShmLock: 0 /* xShmLock */, FxShmBarrier: 0 /* xShmBarrier */, FxShmUnmap: 0 /* xShmUnmap */, FxFetch: 0 /* xFetch */, FxUnfetch: 0 /* xUnfetch */} /* sqlite3.c:40266:1 */ +var afpIoFinder uintptr = 0 /* sqlite3.c:40246:1 */ +var proxyIoMethods = Sqlite3_io_methods{FiVersion: 1 /* iVersion */, FxClose: 0 /* xClose */, FxRead: 0 /* xRead */, FxWrite: 0 /* xWrite */, FxTruncate: 0 /* xTruncate */, FxSync: 0 /* xSync */, FxFileSize: 0 /* xFileSize */, FxLock: 0 /* xLock */, FxUnlock: 0 /* xUnlock */, FxCheckReservedLock: 0 /* xCheckReservedLock */, FxFileControl: 0 /* xFileControl */, FxSectorSize: 0 /* xSectorSize */, FxDeviceCharacteristics: 0 /* xShmMap */, FxShmLock: 0 /* xShmLock */, FxShmBarrier: 0 /* xShmBarrier */, FxShmUnmap: 0 /* xShmUnmap */, FxFetch: 0 /* xFetch */, FxUnfetch: 0 /* xUnfetch */} /* sqlite3.c:40272:1 */ -func proxyIoFinderImpl(tls *libc.TLS, z uintptr, p uintptr) uintptr { /* sqlite3.c:40266:1: */ +func proxyIoFinderImpl(tls *libc.TLS, z uintptr, p uintptr) uintptr { /* sqlite3.c:40272:1: */ _ = z _ = p return uintptr(unsafe.Pointer(&proxyIoMethods)) } -var proxyIoFinder uintptr = 0 /* sqlite3.c:40266:1 */ +var proxyIoFinder uintptr = 0 /* sqlite3.c:40272:1 */ // nfs lockd on OSX 10.3+ doesn't clear write locks when a read lock is set -var nfsIoMethods = Sqlite3_io_methods{FiVersion: 1 /* iVersion */, FxClose: 0 /* xClose */, FxRead: 0 /* xRead */, FxWrite: 0 /* xWrite */, FxTruncate: 0 /* xTruncate */, FxSync: 0 /* xSync */, FxFileSize: 0 /* xFileSize */, FxLock: 0 /* xLock */, FxUnlock: 0 /* xUnlock */, FxCheckReservedLock: 0 /* xCheckReservedLock */, FxFileControl: 0 /* xFileControl */, FxSectorSize: 0 /* xSectorSize */, FxDeviceCharacteristics: 0 /* xShmMap */, FxShmLock: 0 /* xShmLock */, FxShmBarrier: 0 /* xShmBarrier */, FxShmUnmap: 0 /* xShmUnmap */, FxFetch: 0 /* xFetch */, FxUnfetch: 0 /* xUnfetch */} /* sqlite3.c:40280:1 */ +var nfsIoMethods = Sqlite3_io_methods{FiVersion: 1 /* iVersion */, FxClose: 0 /* xClose */, FxRead: 0 /* xRead */, FxWrite: 0 /* xWrite */, FxTruncate: 0 /* xTruncate */, FxSync: 0 /* xSync */, FxFileSize: 0 /* xFileSize */, FxLock: 0 /* xLock */, FxUnlock: 0 /* xUnlock */, FxCheckReservedLock: 0 /* xCheckReservedLock */, FxFileControl: 0 /* xFileControl */, FxSectorSize: 0 /* xSectorSize */, FxDeviceCharacteristics: 0 /* xShmMap */, FxShmLock: 0 /* xShmLock */, FxShmBarrier: 0 /* xShmBarrier */, FxShmUnmap: 0 /* xShmUnmap */, FxFetch: 0 /* xFetch */, FxUnfetch: 0 /* xUnfetch */} /* sqlite3.c:40286:1 */ -func nfsIoFinderImpl(tls *libc.TLS, z uintptr, p uintptr) uintptr { /* sqlite3.c:40280:1: */ +func nfsIoFinderImpl(tls *libc.TLS, z uintptr, p uintptr) uintptr { /* sqlite3.c:40286:1: */ _ = z _ = p return uintptr(unsafe.Pointer(&nfsIoMethods)) } -var nfsIoFinder uintptr = 0 /* sqlite3.c:40280:1 */ +var nfsIoFinder uintptr = 0 /* sqlite3.c:40286:1 */ // This "finder" function attempts to determine the best locking strategy // for the database file "filePath". It then returns the sqlite3_io_methods // object that implements that strategy. // // This is for MacOSX only. -func autolockIoFinderImpl(tls *libc.TLS, filePath uintptr, pNew uintptr) uintptr { /* sqlite3.c:40300:33: */ +func autolockIoFinderImpl(tls *libc.TLS, filePath uintptr, pNew uintptr) uintptr { /* sqlite3.c:40306:33: */ bp := tls.Alloc(2200) defer tls.Free(2200) @@ -39437,7 +39447,7 @@ func autolockIoFinderImpl(tls *libc.TLS, filePath uintptr, pNew uintptr) uintptr type Mapping = struct { FzFilesystem uintptr FpMethods uintptr -} /* sqlite3.c:40304:16 */ +} /* sqlite3.c:40310:16 */ var aMap = [6]Mapping{ {FzFilesystem: ts + 3647, FpMethods: 0}, @@ -39446,11 +39456,11 @@ var aMap = [6]Mapping{ {FzFilesystem: ts + 3661, FpMethods: 0}, {FzFilesystem: ts + 3667, FpMethods: 0}, {}, -} /* sqlite3.c:40307:5 */ -var autolockIoFinder uintptr = 0 /* sqlite3.c:40354:3 */ +} /* sqlite3.c:40313:5 */ +var autolockIoFinder uintptr = 0 /* sqlite3.c:40360:3 */ // An abstract type for a pointer to an IO method finder function: -type Finder_type = uintptr /* sqlite3.c:40397:34 */ +type Finder_type = uintptr /* sqlite3.c:40403:34 */ // *************************************************************************** // @@ -39460,7 +39470,7 @@ type Finder_type = uintptr /* sqlite3.c:40397:34 */ // sqlite3_vfs object. // Initialize the contents of the unixFile structure pointed to by pId. -func fillInUnixFile(tls *libc.TLS, pVfs uintptr, h int32, pId uintptr, zFilename uintptr, ctrlFlags int32) int32 { /* sqlite3.c:40410:12: */ +func fillInUnixFile(tls *libc.TLS, pVfs uintptr, h int32, pId uintptr, zFilename uintptr, ctrlFlags int32) int32 { /* sqlite3.c:40416:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -39522,7 +39532,7 @@ func fillInUnixFile(tls *libc.TLS, pVfs uintptr, h int32, pId uintptr, zFilename // If scenario (a) caused the error then things are not so safe. The // implicit assumption here is that if fstat() fails, things are in // such bad shape that dropping a lock or two doesn't matter much. - robust_close(tls, pNew, h, 40488) + robust_close(tls, pNew, h, 40494) h = -1 } unixLeaveMutex(tls) @@ -39544,7 +39554,7 @@ func fillInUnixFile(tls *libc.TLS, pVfs uintptr, h int32, pId uintptr, zFilename rc = findInodeInfo(tls, pNew, pNew+16) if rc != SQLITE_OK { Xsqlite3_free(tls, (*UnixFile)(unsafe.Pointer(pNew)).FlockingContext) - robust_close(tls, pNew, h, 40514) + robust_close(tls, pNew, h, 40520) h = -1 } unixLeaveMutex(tls) @@ -39568,7 +39578,7 @@ func fillInUnixFile(tls *libc.TLS, pVfs uintptr, h int32, pId uintptr, zFilename storeLastErrno(tls, pNew, 0) if rc != SQLITE_OK { if h >= 0 { - robust_close(tls, pNew, h, 40573) + robust_close(tls, pNew, h, 40579) } } else { (*Sqlite3_file)(unsafe.Pointer(pId)).FpMethods = pLockingStyle @@ -39586,17 +39596,17 @@ var azTempDirs = [6]uintptr{ ts + 3706, ts + 3715, ts + 1540, -} /* sqlite3.c:40585:19 */ +} /* sqlite3.c:40591:19 */ // Initialize first two members of azTempDirs[] array. -func unixTempFileInit(tls *libc.TLS) { /* sqlite3.c:40597:13: */ +func unixTempFileInit(tls *libc.TLS) { /* sqlite3.c:40603:13: */ azTempDirs[0] = libc.Xgetenv(tls, ts+3720) azTempDirs[1] = libc.Xgetenv(tls, ts+3734) } // Return the name of a directory in which to put temporary files. // If no suitable temporary file directory can be found, return NULL. -func unixTempFileDir(tls *libc.TLS) uintptr { /* sqlite3.c:40606:19: */ +func unixTempFileDir(tls *libc.TLS) uintptr { /* sqlite3.c:40612:19: */ bp := tls.Alloc(144) defer tls.Free(144) @@ -39623,7 +39633,7 @@ func unixTempFileDir(tls *libc.TLS) uintptr { /* sqlite3.c:40606:19: */ // Create a temporary file name in zBuf. zBuf must be allocated // by the calling process and must be big enough to hold at least // pVfs->mxPathname bytes. -func unixGetTempname(tls *libc.TLS, nBuf int32, zBuf uintptr) int32 { /* sqlite3.c:40630:12: */ +func unixGetTempname(tls *libc.TLS, nBuf int32, zBuf uintptr) int32 { /* sqlite3.c:40636:12: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -39667,7 +39677,7 @@ func unixGetTempname(tls *libc.TLS, nBuf int32, zBuf uintptr) int32 { /* sqlite3 // // If a suitable file descriptor is found, then it is returned. If no // such file descriptor is located, -1 is returned. -func findReusableFd(tls *libc.TLS, zPath uintptr, flags int32) uintptr { /* sqlite3.c:40680:21: */ +func findReusableFd(tls *libc.TLS, zPath uintptr, flags int32) uintptr { /* sqlite3.c:40686:21: */ bp := tls.Alloc(144) defer tls.Free(144) @@ -39718,7 +39728,7 @@ func findReusableFd(tls *libc.TLS, zPath uintptr, flags int32) uintptr { /* sqli } // Find the mode, uid and gid of file zFile. -func getFileMode(tls *libc.TLS, zFile uintptr, pMode uintptr, pUid uintptr, pGid uintptr) int32 { /* sqlite3.c:40730:12: */ +func getFileMode(tls *libc.TLS, zFile uintptr, pMode uintptr, pUid uintptr, pGid uintptr) int32 { /* sqlite3.c:40736:12: */ bp := tls.Alloc(144) defer tls.Free(144) @@ -39754,7 +39764,7 @@ func getFileMode(tls *libc.TLS, zFile uintptr, pMode uintptr, pUid uintptr, pGid // original filename is unavailable. But 8_3_NAMES is only used for // FAT filesystems and permissions do not matter there, so just use // the default permissions. In 8_3_NAMES mode, leave *pMode set to zero. -func findCreateFileMode(tls *libc.TLS, zPath uintptr, flags int32, pMode uintptr, pUid uintptr, pGid uintptr) int32 { /* sqlite3.c:40769:12: */ +func findCreateFileMode(tls *libc.TLS, zPath uintptr, flags int32, pMode uintptr, pUid uintptr, pGid uintptr) int32 { /* sqlite3.c:40775:12: */ bp := tls.Alloc(513) defer tls.Free(513) @@ -39828,7 +39838,7 @@ func findCreateFileMode(tls *libc.TLS, zPath uintptr, flags int32, pMode uintptr // file handle closed. To achieve the same effect using this new // interface, add the DELETEONCLOSE flag to those specified above for // OpenExclusive(). -func unixOpen(tls *libc.TLS, pVfs uintptr, zPath uintptr, pFile uintptr, flags int32, pOutFlags uintptr) int32 { /* sqlite3.c:40846:12: */ +func unixOpen(tls *libc.TLS, pVfs uintptr, zPath uintptr, pFile uintptr, flags int32, pOutFlags uintptr) int32 { /* sqlite3.c:40852:12: */ bp := tls.Alloc(2696) defer tls.Free(2696) @@ -40032,7 +40042,7 @@ __15: if !(fd < 0) { goto __19 } - rc2 = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 41002), ts+3205, zName, 41002) + rc2 = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 41008), ts+3205, zName, 41008) if !(rc == SQLITE_OK) { goto __20 } @@ -40092,7 +40102,7 @@ __25: goto __26 } storeLastErrno(tls, p, *(*int32)(unsafe.Pointer(libc.X__error(tls)))) - robust_close(tls, p, fd, 41056) + robust_close(tls, p, fd, 41062) return SQLITE_IOERR | int32(13)<<8 __26: ; @@ -40199,7 +40209,7 @@ __40: // Delete the file at zPath. If the dirSync argument is true, fsync() // the directory after deleting the file. -func unixDelete(tls *libc.TLS, NotUsed uintptr, zPath uintptr, dirSync int32) int32 { /* sqlite3.c:41125:12: */ +func unixDelete(tls *libc.TLS, NotUsed uintptr, zPath uintptr, dirSync int32) int32 { /* sqlite3.c:41131:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -40210,7 +40220,7 @@ func unixDelete(tls *libc.TLS, NotUsed uintptr, zPath uintptr, dirSync int32) in if *(*int32)(unsafe.Pointer(libc.X__error(tls))) == ENOENT { rc = SQLITE_IOERR | int32(23)<<8 } else { - rc = unixLogErrorAtLine(tls, SQLITE_IOERR|int32(10)<<8, ts+3315, zPath, 41141) + rc = unixLogErrorAtLine(tls, SQLITE_IOERR|int32(10)<<8, ts+3315, zPath, 41147) } return rc } @@ -40220,9 +40230,9 @@ func unixDelete(tls *libc.TLS, NotUsed uintptr, zPath uintptr, dirSync int32) in rc = (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 17*24 + 8)))(tls, zPath, bp) if rc == SQLITE_OK { if full_fsync(tls, *(*int32)(unsafe.Pointer(bp)), 0, 0) != 0 { - rc = unixLogErrorAtLine(tls, SQLITE_IOERR|int32(5)<<8, ts+3811, zPath, 41151) + rc = unixLogErrorAtLine(tls, SQLITE_IOERR|int32(5)<<8, ts+3811, zPath, 41157) } - robust_close(tls, uintptr(0), *(*int32)(unsafe.Pointer(bp /* fd */)), 41153) + robust_close(tls, uintptr(0), *(*int32)(unsafe.Pointer(bp /* fd */)), 41159) } else { rc = SQLITE_OK @@ -40239,7 +40249,7 @@ func unixDelete(tls *libc.TLS, NotUsed uintptr, zPath uintptr, dirSync int32) in // SQLITE_ACCESS_READONLY: Return 1 if the file is readable. // // Otherwise return 0. -func unixAccess(tls *libc.TLS, NotUsed uintptr, zPath uintptr, flags int32, pResOut uintptr) int32 { /* sqlite3.c:41173:12: */ +func unixAccess(tls *libc.TLS, NotUsed uintptr, zPath uintptr, flags int32, pResOut uintptr) int32 { /* sqlite3.c:41179:12: */ bp := tls.Alloc(144) defer tls.Free(144) @@ -40261,7 +40271,7 @@ func unixAccess(tls *libc.TLS, NotUsed uintptr, zPath uintptr, flags int32, pRes // If the last component of the pathname in z[0]..z[j-1] is something // other than ".." then back it out and return true. If the last // component is empty or if it is ".." then return false. -func unixBackupDir(tls *libc.TLS, z uintptr, pJ uintptr) int32 { /* sqlite3.c:41202:12: */ +func unixBackupDir(tls *libc.TLS, z uintptr, pJ uintptr) int32 { /* sqlite3.c:41208:12: */ var j int32 = *(*int32)(unsafe.Pointer(pJ)) var i int32 if j <= 0 { @@ -40284,7 +40294,7 @@ func unixBackupDir(tls *libc.TLS, z uintptr, pJ uintptr) int32 { /* sqlite3.c:41 // // Remove all instances of /./ // Remove all isntances of /X/../ for any X -func mkFullPathname(tls *libc.TLS, zPath uintptr, zOut uintptr, nOut int32) int32 { /* sqlite3.c:41220:12: */ +func mkFullPathname(tls *libc.TLS, zPath uintptr, zOut uintptr, nOut int32) int32 { /* sqlite3.c:41226:12: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -40295,7 +40305,7 @@ func mkFullPathname(tls *libc.TLS, zPath uintptr, zOut uintptr, nOut int32) int3 if int32(*(*int8)(unsafe.Pointer(zPath))) != '/' { if (*(*func(*libc.TLS, uintptr, Size_t) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 3*24 + 8)))(tls, zOut, uint64(nOut-2)) == uintptr(0) { - return unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 41230), ts+3223, zPath, 41230) + return unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 41236), ts+3223, zPath, 41236) } iOff = Xsqlite3Strlen30(tls, zOut) *(*int8)(unsafe.Pointer(zOut + uintptr(libc.PostIncInt32(&iOff, 1)))) = int8('/') @@ -40304,7 +40314,7 @@ func mkFullPathname(tls *libc.TLS, zPath uintptr, zOut uintptr, nOut int32) int3 // SQLite assumes that xFullPathname() nul-terminates the output buffer // even if it returns an error. *(*int8)(unsafe.Pointer(zOut + uintptr(iOff))) = int8(0) - return Xsqlite3CantopenError(tls, 41239) + return Xsqlite3CantopenError(tls, 41245) } Xsqlite3_snprintf(tls, nOut-iOff, zOut+uintptr(iOff), ts+3609, libc.VaList(bp, zPath)) @@ -40355,7 +40365,7 @@ func mkFullPathname(tls *libc.TLS, zPath uintptr, zOut uintptr, nOut int32) int3 // zOut points to a buffer of at least sqlite3_vfs.mxPathname bytes // (in this case, MAX_PATHNAME bytes). The full-path is written to // this buffer before returning. -func unixFullPathname(tls *libc.TLS, pVfs uintptr, zPath uintptr, nOut int32, zOut uintptr) int32 { /* sqlite3.c:41289:12: */ +func unixFullPathname(tls *libc.TLS, pVfs uintptr, zPath uintptr, nOut int32, zOut uintptr) int32 { /* sqlite3.c:41295:12: */ bp := tls.Alloc(144) defer tls.Free(144) @@ -40381,7 +40391,7 @@ func unixFullPathname(tls *libc.TLS, pVfs uintptr, zPath uintptr, nOut int32, zO if (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 27*24 + 8)))(tls, zIn, bp) != 0 { if *(*int32)(unsafe.Pointer(libc.X__error(tls))) != ENOENT { - rc = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 41322), ts+3403, zIn, 41322) + rc = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 41328), ts+3403, zIn, 41328) } } else { bLink = libc.Bool32(int32((*stat)(unsafe.Pointer(bp)).Fst_mode)&S_IFMT == S_IFLNK) @@ -40395,20 +40405,20 @@ func unixFullPathname(tls *libc.TLS, pVfs uintptr, zPath uintptr, nOut int32, zO rc = SQLITE_NOMEM } } else if nLink >= SQLITE_MAX_SYMLINKS { - rc = Xsqlite3CantopenError(tls, 41334) + rc = Xsqlite3CantopenError(tls, 41340) } if rc == SQLITE_OK { nByte = int32((*(*func(*libc.TLS, uintptr, uintptr, Size_t) Ssize_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 26*24 + 8)))(tls, zIn, zDel, uint64(nOut-1))) if nByte < 0 { - rc = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 41340), ts+3394, zIn, 41340) + rc = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 41346), ts+3394, zIn, 41346) } else { if int32(*(*int8)(unsafe.Pointer(zDel))) != '/' { var n int32 for n = Xsqlite3Strlen30(tls, zIn); n > 0 && int32(*(*int8)(unsafe.Pointer(zIn + uintptr(n-1)))) != '/'; n-- { } if nByte+n+1 > nOut { - rc = Xsqlite3CantopenError(tls, 41346) + rc = Xsqlite3CantopenError(tls, 41352) } else { libc.X__builtin___memmove_chk(tls, zDel+uintptr(n), zDel, uint64(nByte+1), libc.X__builtin_object_size(tls, zDel+uintptr(n), 0)) libc.X__builtin___memcpy_chk(tls, zDel, zIn, uint64(n), libc.X__builtin_object_size(tls, zDel, 0)) @@ -40693,7 +40703,7 @@ type Dl_info = dl_info /* dlfcn.h:57:3 */ // Special handle arguments for dlsym(). -func unixDlOpen(tls *libc.TLS, NotUsed uintptr, zFilename uintptr) uintptr { /* sqlite3.c:41381:13: */ +func unixDlOpen(tls *libc.TLS, NotUsed uintptr, zFilename uintptr) uintptr { /* sqlite3.c:41387:13: */ _ = NotUsed return libc.Xdlopen(tls, zFilename, RTLD_NOW|RTLD_GLOBAL) } @@ -40703,7 +40713,7 @@ func unixDlOpen(tls *libc.TLS, NotUsed uintptr, zFilename uintptr) uintptr { /* // message is available, it is written to zBufOut. If no error message // is available, zBufOut is left unmodified and SQLite uses a default // error message. -func unixDlError(tls *libc.TLS, NotUsed uintptr, nBuf int32, zBufOut uintptr) { /* sqlite3.c:41393:13: */ +func unixDlError(tls *libc.TLS, NotUsed uintptr, nBuf int32, zBufOut uintptr) { /* sqlite3.c:41399:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -40717,7 +40727,7 @@ func unixDlError(tls *libc.TLS, NotUsed uintptr, nBuf int32, zBufOut uintptr) { unixLeaveMutex(tls) } -func unixDlSym(tls *libc.TLS, NotUsed uintptr, p uintptr, zSym uintptr) uintptr { /* sqlite3.c:41403:13: */ +func unixDlSym(tls *libc.TLS, NotUsed uintptr, p uintptr, zSym uintptr) uintptr { /* sqlite3.c:41409:13: */ // GCC with -pedantic-errors says that C90 does not allow a void* to be // cast into a pointer to a function. And yet the library dlsym() routine // returns a void* which is really a pointer to a function. So how do we @@ -40743,13 +40753,13 @@ func unixDlSym(tls *libc.TLS, NotUsed uintptr, p uintptr, zSym uintptr) uintptr })(unsafe.Pointer(&struct{ uintptr }{x})).f(tls, p, zSym) } -func unixDlClose(tls *libc.TLS, NotUsed uintptr, pHandle uintptr) { /* sqlite3.c:41426:13: */ +func unixDlClose(tls *libc.TLS, NotUsed uintptr, pHandle uintptr) { /* sqlite3.c:41432:13: */ _ = NotUsed libc.Xdlclose(tls, pHandle) } // Write nBuf bytes of random data to the supplied buffer zBuf. -func unixRandomness(tls *libc.TLS, NotUsed uintptr, nBuf int32, zBuf uintptr) int32 { /* sqlite3.c:41440:12: */ +func unixRandomness(tls *libc.TLS, NotUsed uintptr, nBuf int32, zBuf uintptr) int32 { /* sqlite3.c:41446:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -40784,7 +40794,7 @@ func unixRandomness(tls *libc.TLS, NotUsed uintptr, nBuf int32, zBuf uintptr) in for __ccgo := true; __ccgo; __ccgo = got < 0 && *(*int32)(unsafe.Pointer(libc.X__error(tls))) == EINTR { got = int32((*(*func(*libc.TLS, int32, uintptr, Size_t) Ssize_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 8*24 + 8)))(tls, fd, zBuf, uint64(nBuf))) } - robust_close(tls, uintptr(0), fd, 41471) + robust_close(tls, uintptr(0), fd, 41477) } } @@ -40797,7 +40807,7 @@ func unixRandomness(tls *libc.TLS, NotUsed uintptr, nBuf int32, zBuf uintptr) in // requested from the underlying operating system, a number which // might be greater than or equal to the argument, but not less // than the argument. -func unixSleep(tls *libc.TLS, NotUsed uintptr, microseconds int32) int32 { /* sqlite3.c:41487:12: */ +func unixSleep(tls *libc.TLS, NotUsed uintptr, microseconds int32) int32 { /* sqlite3.c:41493:12: */ if microseconds >= 1000000 { libc.Xsleep(tls, uint32(microseconds/1000000)) } @@ -40820,7 +40830,7 @@ func unixSleep(tls *libc.TLS, NotUsed uintptr, microseconds int32) int32 { /* sq // // On success, return SQLITE_OK. Return SQLITE_ERROR if the time and date // cannot be found. -func unixCurrentTimeInt64(tls *libc.TLS, NotUsed uintptr, piNow uintptr) int32 { /* sqlite3.c:41528:12: */ +func unixCurrentTimeInt64(tls *libc.TLS, NotUsed uintptr, piNow uintptr) int32 { /* sqlite3.c:41534:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -40834,12 +40844,12 @@ func unixCurrentTimeInt64(tls *libc.TLS, NotUsed uintptr, piNow uintptr) int32 { return rc } -var unixEpoch Sqlite3_int64 = int64(24405875) * int64(8640000) /* sqlite3.c:41529:30 */ +var unixEpoch Sqlite3_int64 = int64(24405875) * int64(8640000) /* sqlite3.c:41535:30 */ // Find the current time (in Universal Coordinated Time). Write the // current time and date as a Julian Day number into *prNow and // return 0. Return 1 if the time and date cannot be found. -func unixCurrentTime(tls *libc.TLS, NotUsed uintptr, prNow uintptr) int32 { /* sqlite3.c:41560:12: */ +func unixCurrentTime(tls *libc.TLS, NotUsed uintptr, prNow uintptr) int32 { /* sqlite3.c:41566:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -40855,7 +40865,7 @@ func unixCurrentTime(tls *libc.TLS, NotUsed uintptr, prNow uintptr) int32 { /* s // low-level error message when operating-system problems come up // during SQLite operation. Only the integer return code is currently // used. -func unixGetLastError(tls *libc.TLS, NotUsed uintptr, NotUsed2 int32, NotUsed3 uintptr) int32 { /* sqlite3.c:41578:12: */ +func unixGetLastError(tls *libc.TLS, NotUsed uintptr, NotUsed2 int32, NotUsed3 uintptr) int32 { /* sqlite3.c:41584:12: */ _ = NotUsed _ = NotUsed2 _ = NotUsed3 @@ -41030,7 +41040,7 @@ type proxyLockingContext = struct { FnFails int32 FoldLockingContext uintptr FpOldMethod uintptr -} /* sqlite3.c:41749:9 */ +} /* sqlite3.c:41755:9 */ // // End of sqlite3_vfs methods *************************** @@ -41190,12 +41200,12 @@ type proxyLockingContext = struct { // The proxyLockingContext has the path and file structures for the remote // and local proxy files in it -type ProxyLockingContext = proxyLockingContext /* sqlite3.c:41749:36 */ +type ProxyLockingContext = proxyLockingContext /* sqlite3.c:41755:36 */ // The proxy lock file path for the database at dbPath is written into lPath, // which must point to valid, writable memory large enough for a maxLen length // file path. -func proxyGetLockPath(tls *libc.TLS, dbPath uintptr, lPath uintptr, maxLen Size_t) int32 { /* sqlite3.c:41767:12: */ +func proxyGetLockPath(tls *libc.TLS, dbPath uintptr, lPath uintptr, maxLen Size_t) int32 { /* sqlite3.c:41773:12: */ var len int32 var dbLen int32 var i int32 @@ -41231,7 +41241,7 @@ func proxyGetLockPath(tls *libc.TLS, dbPath uintptr, lPath uintptr, maxLen Size_ } // Creates the lock file and any missing directories in lockPath -func proxyCreateLockPath(tls *libc.TLS, lockPath uintptr) int32 { /* sqlite3.c:41808:12: */ +func proxyCreateLockPath(tls *libc.TLS, lockPath uintptr) int32 { /* sqlite3.c:41814:12: */ bp := tls.Alloc(1024) defer tls.Free(1024) @@ -41271,7 +41281,7 @@ func proxyCreateLockPath(tls *libc.TLS, lockPath uintptr) int32 { /* sqlite3.c:4 // // The caller is responsible not only for closing the file descriptor // but also for freeing the memory associated with the file descriptor. -func proxyCreateUnixFile(tls *libc.TLS, path uintptr, ppFile uintptr, islockfile int32) int32 { /* sqlite3.c:41848:12: */ +func proxyCreateUnixFile(tls *libc.TLS, path uintptr, ppFile uintptr, islockfile int32) int32 { /* sqlite3.c:41854:12: */ bp := tls.Alloc(168) defer tls.Free(168) @@ -41359,7 +41369,7 @@ __11: __12: return SQLITE_IOERR | int32(15)<<8 // even though it is the conch __13: - return Xsqlite3CantopenError(tls, 41900) + return Xsqlite3CantopenError(tls, 41906) __10: ; __8: @@ -41391,7 +41401,7 @@ __14: __15: ; end_create_proxy: - robust_close(tls, pNew, fd, 41924) + robust_close(tls, pNew, fd, 41930) Xsqlite3_free(tls, pNew) Xsqlite3_free(tls, pUnused) return rc @@ -41399,7 +41409,7 @@ end_create_proxy: // get the host ID via gethostuuid(), pHostID must point to PROXY_HOSTIDLEN // bytes of writable memory. -func proxyGetHostID(tls *libc.TLS, pHostID uintptr, pError uintptr) int32 { /* sqlite3.c:41945:12: */ +func proxyGetHostID(tls *libc.TLS, pHostID uintptr, pError uintptr) int32 { /* sqlite3.c:41951:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -41425,7 +41435,7 @@ func proxyGetHostID(tls *libc.TLS, pHostID uintptr, pError uintptr) int32 { /* s // it back. The newly created file's file descriptor is assigned to the // conch file structure and finally the original conch file descriptor is // closed. Returns zero if successful. -func proxyBreakConchLock(tls *libc.TLS, pFile uintptr, myHostID uintptr) int32 { /* sqlite3.c:41985:12: */ +func proxyBreakConchLock(tls *libc.TLS, pFile uintptr, myHostID uintptr) int32 { /* sqlite3.c:41991:12: */ bp := tls.Alloc(2193) defer tls.Free(2193) @@ -41495,7 +41505,7 @@ __5: ; rc = 0 libc.Xfprintf(tls, libc.X__stderrp, ts+4017, libc.VaList(bp+40, cPath)) - robust_close(tls, pFile, (*UnixFile)(unsafe.Pointer(conchFile)).Fh, 42027) + robust_close(tls, pFile, (*UnixFile)(unsafe.Pointer(conchFile)).Fh, 42033) (*UnixFile)(unsafe.Pointer(conchFile)).Fh = fd (*UnixFile)(unsafe.Pointer(conchFile)).FopenFlags = O_RDWR | O_CREAT @@ -41507,7 +41517,7 @@ end_breaklock: goto __7 } (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 16*24 + 8)))(tls, bp+64) - robust_close(tls, pFile, fd, 42035) + robust_close(tls, pFile, fd, 42041) __7: ; libc.Xfprintf(tls, libc.X__stderrp, ts+4041, libc.VaList(bp+48, cPath, bp+1088)) @@ -41518,7 +41528,7 @@ __6: // Take the requested lock on the conch file and break a stale lock if the // host id matches. -func proxyConchLock(tls *libc.TLS, pFile uintptr, myHostID uintptr, lockType int32) int32 { /* sqlite3.c:42045:12: */ +func proxyConchLock(tls *libc.TLS, pFile uintptr, myHostID uintptr, lockType int32) int32 { /* sqlite3.c:42051:12: */ bp := tls.Alloc(1201) defer tls.Free(1201) @@ -41602,7 +41612,7 @@ func proxyConchLock(tls *libc.TLS, pFile uintptr, myHostID uintptr, lockType int // lockPath means that the lockPath in the conch file will be used if the // host IDs match, or a new lock path will be generated automatically // and written to the conch file. -func proxyTakeConch(tls *libc.TLS, pFile uintptr) int32 { /* sqlite3.c:42123:12: */ +func proxyTakeConch(tls *libc.TLS, pFile uintptr) int32 { /* sqlite3.c:42129:12: */ bp := tls.Alloc(3272) defer tls.Free(3272) @@ -41832,7 +41842,7 @@ end_takeconch: if !((*UnixFile)(unsafe.Pointer(pFile)).Fh >= 0) { goto __29 } - robust_close(tls, pFile, (*UnixFile)(unsafe.Pointer(pFile)).Fh, 42288) + robust_close(tls, pFile, (*UnixFile)(unsafe.Pointer(pFile)).Fh, 42294) __29: ; (*UnixFile)(unsafe.Pointer(pFile)).Fh = -1 @@ -41844,7 +41854,7 @@ __29: (*UnixFile)(unsafe.Pointer(pFile)).Fh = fd goto __31 __30: - rc = Xsqlite3CantopenError(tls, 42296) // SQLITE_BUSY? proxyTakeConch called + rc = Xsqlite3CantopenError(tls, 42302) // SQLITE_BUSY? proxyTakeConch called // during locking __31: ; @@ -41926,7 +41936,7 @@ __2: } // If pFile holds a lock on a conch file, then release that lock. -func proxyReleaseConch(tls *libc.TLS, pFile uintptr) int32 { /* sqlite3.c:42345:12: */ +func proxyReleaseConch(tls *libc.TLS, pFile uintptr) int32 { /* sqlite3.c:42351:12: */ var rc int32 = SQLITE_OK // Subroutine return code var pCtx uintptr // The locking context for the proxy lock var conchFile uintptr // Name of the conch file @@ -41953,7 +41963,7 @@ func proxyReleaseConch(tls *libc.TLS, pFile uintptr) int32 { /* sqlite3.c:42345: // space is eventually freed. // // *pConchPath is set to NULL if a memory allocation error occurs. -func proxyCreateConchPathname(tls *libc.TLS, dbPath uintptr, pConchPath uintptr) int32 { /* sqlite3.c:42375:12: */ +func proxyCreateConchPathname(tls *libc.TLS, dbPath uintptr, pConchPath uintptr) int32 { /* sqlite3.c:42381:12: */ var i int32 // Loop counter var len int32 = int32(libc.Xstrlen(tls, dbPath)) // Length of database filename - dbPath var conchPath uintptr // buffer in which to construct conch name @@ -41987,7 +41997,7 @@ func proxyCreateConchPathname(tls *libc.TLS, dbPath uintptr, pConchPath uintptr) // Takes a fully configured proxy locking-style unix file and switches // the local lock file path -func switchLockProxyPath(tls *libc.TLS, pFile uintptr, path uintptr) int32 { /* sqlite3.c:42412:12: */ +func switchLockProxyPath(tls *libc.TLS, pFile uintptr, path uintptr) int32 { /* sqlite3.c:42418:12: */ var pCtx uintptr = (*UnixFile)(unsafe.Pointer(pFile)).FlockingContext var oldPath uintptr = (*ProxyLockingContext)(unsafe.Pointer(pCtx)).FlockProxyPath var rc int32 = SQLITE_OK @@ -42024,7 +42034,7 @@ func switchLockProxyPath(tls *libc.TLS, pFile uintptr, path uintptr) int32 { /* // // This routine find the filename associated with pFile and writes it // int dbPath. -func proxyGetDbPathForUnixFile(tls *libc.TLS, pFile uintptr, dbPath uintptr) int32 { /* sqlite3.c:42448:12: */ +func proxyGetDbPathForUnixFile(tls *libc.TLS, pFile uintptr, dbPath uintptr) int32 { /* sqlite3.c:42454:12: */ if (*UnixFile)(unsafe.Pointer(pFile)).FpMethod == uintptr(unsafe.Pointer(&afpIoMethods)) { // afp style keeps a reference to the db path in the filePath field // of the struct @@ -42050,7 +42060,7 @@ func proxyGetDbPathForUnixFile(tls *libc.TLS, pFile uintptr, dbPath uintptr) int // the unix structure properly cleaned up at close time: // ->lockingContext // ->pMethod -func proxyTransformUnixFile(tls *libc.TLS, pFile uintptr, path uintptr) int32 { /* sqlite3.c:42479:12: */ +func proxyTransformUnixFile(tls *libc.TLS, pFile uintptr, path uintptr) int32 { /* sqlite3.c:42485:12: */ bp := tls.Alloc(3344) defer tls.Free(3344) @@ -42136,7 +42146,7 @@ func proxyTransformUnixFile(tls *libc.TLS, pFile uintptr, path uintptr) int32 { // This routine handles sqlite3_file_control() calls that are specific // to proxy locking. -func proxyFileControl(tls *libc.TLS, id uintptr, op int32, pArg uintptr) int32 { /* sqlite3.c:42566:12: */ +func proxyFileControl(tls *libc.TLS, id uintptr, op int32, pArg uintptr) int32 { /* sqlite3.c:42572:12: */ switch op { case SQLITE_FCNTL_GET_LOCKPROXYFILE: { @@ -42206,7 +42216,7 @@ func proxyFileControl(tls *libc.TLS, id uintptr, op int32, pArg uintptr) int32 { // file by this or any other process. If such a lock is held, set *pResOut // to a non-zero value otherwise *pResOut is set to zero. The return value // is set to SQLITE_OK unless an I/O error occurs during lock checking. -func proxyCheckReservedLock(tls *libc.TLS, id uintptr, pResOut uintptr) int32 { /* sqlite3.c:42639:12: */ +func proxyCheckReservedLock(tls *libc.TLS, id uintptr, pResOut uintptr) int32 { /* sqlite3.c:42645:12: */ var pFile uintptr = id var rc int32 = proxyTakeConch(tls, pFile) if rc == SQLITE_OK { @@ -42245,7 +42255,7 @@ func proxyCheckReservedLock(tls *libc.TLS, id uintptr, pResOut uintptr) int32 { // // This routine will only increase a lock. Use the sqlite3OsUnlock() // routine to lower a locking level. -func proxyLock(tls *libc.TLS, id uintptr, eFileLock int32) int32 { /* sqlite3.c:42678:12: */ +func proxyLock(tls *libc.TLS, id uintptr, eFileLock int32) int32 { /* sqlite3.c:42684:12: */ var pFile uintptr = id var rc int32 = proxyTakeConch(tls, pFile) if rc == SQLITE_OK { @@ -42268,7 +42278,7 @@ func proxyLock(tls *libc.TLS, id uintptr, eFileLock int32) int32 { /* sqlite3.c: // // If the locking level of the file descriptor is already at or below // the requested locking level, this routine is a no-op. -func proxyUnlock(tls *libc.TLS, id uintptr, eFileLock int32) int32 { /* sqlite3.c:42702:12: */ +func proxyUnlock(tls *libc.TLS, id uintptr, eFileLock int32) int32 { /* sqlite3.c:42708:12: */ var pFile uintptr = id var rc int32 = proxyTakeConch(tls, pFile) if rc == SQLITE_OK { @@ -42287,7 +42297,7 @@ func proxyUnlock(tls *libc.TLS, id uintptr, eFileLock int32) int32 { /* sqlite3. } // Close a file that uses proxy locks. -func proxyClose(tls *libc.TLS, id uintptr) int32 { /* sqlite3.c:42721:12: */ +func proxyClose(tls *libc.TLS, id uintptr) int32 { /* sqlite3.c:42727:12: */ if id != 0 { var pFile uintptr = id var pCtx uintptr = (*UnixFile)(unsafe.Pointer(pFile)).FlockingContext @@ -42360,7 +42370,7 @@ func proxyClose(tls *libc.TLS, id uintptr) int32 { /* sqlite3.c:42721:12: */ // single thread. The memory allocation and mutex subsystems have not // necessarily been initialized when this routine is called, and so they // should not be used. -func Xsqlite3_os_init(tls *libc.TLS) int32 { /* sqlite3.c:42783:16: */ +func Xsqlite3_os_init(tls *libc.TLS) int32 { /* sqlite3.c:42789:16: */ var i uint32 // Loop counter // Double-check that the aSyscall[] array has been constructed @@ -42403,14 +42413,14 @@ var aVfs = [9]Sqlite3_vfs{ {FiVersion: 3 /* iVersion */, FszOsFile: int32(unsafe.Sizeof(UnixFile{})) /* szOsFile */, FmxPathname: MAX_PATHNAME /* pNext */, FzName: ts + 4160, FpAppData: 0 /* pAppData */, FxOpen: 0 /* xOpen */, FxDelete: 0 /* xDelete */, FxAccess: 0 /* xAccess */, FxFullPathname: 0 /* xFullPathname */, FxDlOpen: 0 /* xDlOpen */, FxDlError: 0 /* xDlError */, FxDlSym: 0 /* xDlSym */, FxDlClose: 0 /* xDlClose */, FxRandomness: 0 /* xRandomness */, FxSleep: 0 /* xSleep */, FxCurrentTime: 0 /* xCurrentTime */, FxGetLastError: 0 /* xGetLastError */, FxCurrentTimeInt64: 0 /* xCurrentTimeInt64 */, FxSetSystemCall: 0 /* xSetSystemCall */, FxGetSystemCall: 0 /* xGetSystemCall */, FxNextSystemCall: 0 /* xNextSystemCall */}, {FiVersion: 3 /* iVersion */, FszOsFile: int32(unsafe.Sizeof(UnixFile{})) /* szOsFile */, FmxPathname: MAX_PATHNAME /* pNext */, FzName: ts + 4169, FpAppData: 0 /* pAppData */, FxOpen: 0 /* xOpen */, FxDelete: 0 /* xDelete */, FxAccess: 0 /* xAccess */, FxFullPathname: 0 /* xFullPathname */, FxDlOpen: 0 /* xDlOpen */, FxDlError: 0 /* xDlError */, FxDlSym: 0 /* xDlSym */, FxDlClose: 0 /* xDlClose */, FxRandomness: 0 /* xRandomness */, FxSleep: 0 /* xSleep */, FxCurrentTime: 0 /* xCurrentTime */, FxGetLastError: 0 /* xGetLastError */, FxCurrentTimeInt64: 0 /* xCurrentTimeInt64 */, FxSetSystemCall: 0 /* xSetSystemCall */, FxGetSystemCall: 0 /* xGetSystemCall */, FxNextSystemCall: 0 /* xNextSystemCall */}, {FiVersion: 3 /* iVersion */, FszOsFile: int32(unsafe.Sizeof(UnixFile{})) /* szOsFile */, FmxPathname: MAX_PATHNAME /* pNext */, FzName: ts + 4178, FpAppData: 0 /* pAppData */, FxOpen: 0 /* xOpen */, FxDelete: 0 /* xDelete */, FxAccess: 0 /* xAccess */, FxFullPathname: 0 /* xFullPathname */, FxDlOpen: 0 /* xDlOpen */, FxDlError: 0 /* xDlError */, FxDlSym: 0 /* xDlSym */, FxDlClose: 0 /* xDlClose */, FxRandomness: 0 /* xRandomness */, FxSleep: 0 /* xSleep */, FxCurrentTime: 0 /* xCurrentTime */, FxGetLastError: 0 /* xGetLastError */, FxCurrentTimeInt64: 0 /* xCurrentTimeInt64 */, FxSetSystemCall: 0 /* xSetSystemCall */, FxGetSystemCall: 0 /* xGetSystemCall */, FxNextSystemCall: 0 /* xNextSystemCall */}, -} /* sqlite3.c:42836:22 */ +} /* sqlite3.c:42842:22 */ // Shutdown the operating system interface. // // Some operating systems might need to do some cleanup in this routine, // to release dynamically allocated objects. But not on unix. // This routine is a no-op for unix. -func Xsqlite3_os_end(tls *libc.TLS) int32 { /* sqlite3.c:42905:16: */ +func Xsqlite3_os_end(tls *libc.TLS) int32 { /* sqlite3.c:42911:16: */ unixBigLock = uintptr(0) return SQLITE_OK } @@ -42452,15 +42462,15 @@ func Xsqlite3_os_end(tls *libc.TLS) int32 { /* sqlite3.c:42905:16: */ // #include "sqliteInt.h" // Forward declaration of objects used by this utility -type MemVfs = sqlite3_vfs /* sqlite3.c:49095:28 */ +type MemVfs = sqlite3_vfs /* sqlite3.c:49105:28 */ type MemFile1 = struct { Fbase Sqlite3_file FpStore uintptr FeLock int32 F__ccgo_pad1 [4]byte -} /* sqlite3.c:49096:9 */ +} /* sqlite3.c:49106:9 */ -type MemFile = MemFile1 /* sqlite3.c:49096:24 */ +type MemFile = MemFile1 /* sqlite3.c:49106:24 */ type MemStore1 = struct { Fsz Sqlite3_int64 FszAlloc Sqlite3_int64 @@ -42474,9 +42484,9 @@ type MemStore1 = struct { FnRef int32 F__ccgo_pad1 [4]byte FzFName uintptr -} /* sqlite3.c:49096:9 */ +} /* sqlite3.c:49106:9 */ -type MemStore = MemStore1 /* sqlite3.c:49097:25 */ +type MemStore = MemStore1 /* sqlite3.c:49107:25 */ // File-scope variables for holding the memdb files that are accessible // to multiple database connections in separate threads. @@ -42486,13 +42496,13 @@ type MemFS = struct { FnMemStore int32 F__ccgo_pad1 [4]byte FapMemStore uintptr -} /* sqlite3.c:49167:8 */ +} /* sqlite3.c:49177:8 */ // File-scope variables for holding the memdb files that are accessible // to multiple database connections in separate threads. // // Must hold SQLITE_MUTEX_STATIC_VFS1 to access any part of this object. -var memdb_g MemFS /* sqlite3.c:49170:3: */ +var memdb_g MemFS /* sqlite3.c:49180:3: */ var memdb_vfs = Sqlite3_vfs{ FiVersion: 2, // szOsFile (set when registered) @@ -42509,7 +42519,7 @@ var memdb_vfs = Sqlite3_vfs{ FxSleep: 0, /* memdbCurrentTime, */ // xCurrentTime FxGetLastError: 0, // xGetLastError FxCurrentTimeInt64: 0, // xNextSystemCall -} /* sqlite3.c:49206:20 */ +} /* sqlite3.c:49216:20 */ var memdb_io_methods = Sqlite3_io_methods{ FiVersion: 3, // iVersion @@ -42525,21 +42535,21 @@ var memdb_io_methods = Sqlite3_io_methods{ FxDeviceCharacteristics: 0, // xShmUnmap FxFetch: 0, // xFetch FxUnfetch: 0, // xUnfetch -} /* sqlite3.c:49231:33 */ +} /* sqlite3.c:49241:33 */ // Enter/leave the mutex on a MemStore -func memdbEnter(tls *libc.TLS, p uintptr) { /* sqlite3.c:49264:13: */ +func memdbEnter(tls *libc.TLS, p uintptr) { /* sqlite3.c:49274:13: */ Xsqlite3_mutex_enter(tls, (*MemStore)(unsafe.Pointer(p)).FpMutex) } -func memdbLeave(tls *libc.TLS, p uintptr) { /* sqlite3.c:49267:13: */ +func memdbLeave(tls *libc.TLS, p uintptr) { /* sqlite3.c:49277:13: */ Xsqlite3_mutex_leave(tls, (*MemStore)(unsafe.Pointer(p)).FpMutex) } // Close an memdb-file. // Free the underlying MemStore object when its refcount drops to zero // or less. -func memdbClose(tls *libc.TLS, pFile uintptr) int32 { /* sqlite3.c:49279:12: */ +func memdbClose(tls *libc.TLS, pFile uintptr) int32 { /* sqlite3.c:49289:12: */ var p uintptr = (*MemFile)(unsafe.Pointer(pFile)).FpStore if (*MemStore)(unsafe.Pointer(p)).FzFName != 0 { var i int32 @@ -42577,7 +42587,7 @@ func memdbClose(tls *libc.TLS, pFile uintptr) int32 { /* sqlite3.c:49279:12: */ } // Read data from an memdb-file. -func memdbRead(tls *libc.TLS, pFile uintptr, zBuf uintptr, iAmt int32, iOfst Sqlite_int64) int32 { /* sqlite3.c:49321:12: */ +func memdbRead(tls *libc.TLS, pFile uintptr, zBuf uintptr, iAmt int32, iOfst Sqlite_int64) int32 { /* sqlite3.c:49331:12: */ var p uintptr = (*MemFile)(unsafe.Pointer(pFile)).FpStore memdbEnter(tls, p) if iOfst+Sqlite_int64(iAmt) > (*MemStore)(unsafe.Pointer(p)).Fsz { @@ -42594,7 +42604,7 @@ func memdbRead(tls *libc.TLS, pFile uintptr, zBuf uintptr, iAmt int32, iOfst Sql } // Try to enlarge the memory allocation to hold at least sz bytes -func memdbEnlarge(tls *libc.TLS, p uintptr, newSz Sqlite3_int64) int32 { /* sqlite3.c:49343:12: */ +func memdbEnlarge(tls *libc.TLS, p uintptr, newSz Sqlite3_int64) int32 { /* sqlite3.c:49353:12: */ var pNew uintptr if (*MemStore)(unsafe.Pointer(p)).FmFlags&uint32(SQLITE_DESERIALIZE_RESIZEABLE) == uint32(0) || (*MemStore)(unsafe.Pointer(p)).FnMmap > 0 { return SQLITE_FULL @@ -42616,7 +42626,7 @@ func memdbEnlarge(tls *libc.TLS, p uintptr, newSz Sqlite3_int64) int32 { /* sqli } // Write data to an memdb-file. -func memdbWrite(tls *libc.TLS, pFile uintptr, z uintptr, iAmt int32, iOfst Sqlite_int64) int32 { /* sqlite3.c:49363:12: */ +func memdbWrite(tls *libc.TLS, pFile uintptr, z uintptr, iAmt int32, iOfst Sqlite_int64) int32 { /* sqlite3.c:49373:12: */ var p uintptr = (*MemFile)(unsafe.Pointer(pFile)).FpStore memdbEnter(tls, p) if (*MemStore)(unsafe.Pointer(p)).FmFlags&uint32(SQLITE_DESERIALIZE_READONLY) != 0 { @@ -42647,7 +42657,7 @@ func memdbWrite(tls *libc.TLS, pFile uintptr, z uintptr, iAmt int32, iOfst Sqlit // In rollback mode (which is always the case for memdb, as it does not // support WAL mode) the truncate() method is only used to reduce // the size of a file, never to increase the size. -func memdbTruncate(tls *libc.TLS, pFile uintptr, size Sqlite_int64) int32 { /* sqlite3.c:49400:12: */ +func memdbTruncate(tls *libc.TLS, pFile uintptr, size Sqlite_int64) int32 { /* sqlite3.c:49410:12: */ var p uintptr = (*MemFile)(unsafe.Pointer(pFile)).FpStore var rc int32 = SQLITE_OK memdbEnter(tls, p) @@ -42662,14 +42672,14 @@ func memdbTruncate(tls *libc.TLS, pFile uintptr, size Sqlite_int64) int32 { /* s } // Sync an memdb-file. -func memdbSync(tls *libc.TLS, pFile uintptr, flags int32) int32 { /* sqlite3.c:49417:12: */ +func memdbSync(tls *libc.TLS, pFile uintptr, flags int32) int32 { /* sqlite3.c:49427:12: */ _ = pFile _ = flags return SQLITE_OK } // Return the current file-size of an memdb-file. -func memdbFileSize(tls *libc.TLS, pFile uintptr, pSize uintptr) int32 { /* sqlite3.c:49426:12: */ +func memdbFileSize(tls *libc.TLS, pFile uintptr, pSize uintptr) int32 { /* sqlite3.c:49436:12: */ var p uintptr = (*MemFile)(unsafe.Pointer(pFile)).FpStore memdbEnter(tls, p) *(*Sqlite_int64)(unsafe.Pointer(pSize)) = (*MemStore)(unsafe.Pointer(p)).Fsz @@ -42678,7 +42688,7 @@ func memdbFileSize(tls *libc.TLS, pFile uintptr, pSize uintptr) int32 { /* sqlit } // Lock an memdb-file. -func memdbLock(tls *libc.TLS, pFile uintptr, eLock int32) int32 { /* sqlite3.c:49437:12: */ +func memdbLock(tls *libc.TLS, pFile uintptr, eLock int32) int32 { /* sqlite3.c:49447:12: */ var pThis uintptr = pFile var p uintptr = (*MemFile)(unsafe.Pointer(pThis)).FpStore var rc int32 = SQLITE_OK @@ -42722,7 +42732,7 @@ func memdbLock(tls *libc.TLS, pFile uintptr, eLock int32) int32 { /* sqlite3.c:4 } // File control method. For custom operations on an memdb-file. -func memdbFileControl(tls *libc.TLS, pFile uintptr, op int32, pArg uintptr) int32 { /* sqlite3.c:49491:12: */ +func memdbFileControl(tls *libc.TLS, pFile uintptr, op int32, pArg uintptr) int32 { /* sqlite3.c:49501:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -42751,13 +42761,13 @@ func memdbFileControl(tls *libc.TLS, pFile uintptr, op int32, pArg uintptr) int3 } // Return the device characteristic flags supported by an memdb-file. -func memdbDeviceCharacteristics(tls *libc.TLS, pFile uintptr) int32 { /* sqlite3.c:49528:12: */ +func memdbDeviceCharacteristics(tls *libc.TLS, pFile uintptr) int32 { /* sqlite3.c:49538:12: */ _ = pFile return SQLITE_IOCAP_ATOMIC | SQLITE_IOCAP_POWERSAFE_OVERWRITE | SQLITE_IOCAP_SAFE_APPEND | SQLITE_IOCAP_SEQUENTIAL } // Fetch a page of a memory-mapped file -func memdbFetch(tls *libc.TLS, pFile uintptr, iOfst Sqlite3_int64, iAmt int32, pp uintptr) int32 { /* sqlite3.c:49537:12: */ +func memdbFetch(tls *libc.TLS, pFile uintptr, iOfst Sqlite3_int64, iAmt int32, pp uintptr) int32 { /* sqlite3.c:49547:12: */ var p uintptr = (*MemFile)(unsafe.Pointer(pFile)).FpStore memdbEnter(tls, p) if iOfst+Sqlite3_int64(iAmt) > (*MemStore)(unsafe.Pointer(p)).Fsz || (*MemStore)(unsafe.Pointer(p)).FmFlags&uint32(SQLITE_DESERIALIZE_RESIZEABLE) != uint32(0) { @@ -42771,7 +42781,7 @@ func memdbFetch(tls *libc.TLS, pFile uintptr, iOfst Sqlite3_int64, iAmt int32, p } // Release a memory-mapped page -func memdbUnfetch(tls *libc.TLS, pFile uintptr, iOfst Sqlite3_int64, pPage uintptr) int32 { /* sqlite3.c:49556:12: */ +func memdbUnfetch(tls *libc.TLS, pFile uintptr, iOfst Sqlite3_int64, pPage uintptr) int32 { /* sqlite3.c:49566:12: */ var p uintptr = (*MemFile)(unsafe.Pointer(pFile)).FpStore _ = iOfst _ = pPage @@ -42782,7 +42792,7 @@ func memdbUnfetch(tls *libc.TLS, pFile uintptr, iOfst Sqlite3_int64, pPage uintp } // Open an mem file handle. -func memdbOpen(tls *libc.TLS, pVfs uintptr, zName uintptr, pFd uintptr, flags int32, pOutFlags uintptr) int32 { /* sqlite3.c:49569:12: */ +func memdbOpen(tls *libc.TLS, pVfs uintptr, zName uintptr, pFd uintptr, flags int32, pOutFlags uintptr) int32 { /* sqlite3.c:49579:12: */ var pFile uintptr = pFd var p uintptr = uintptr(0) var szName int32 @@ -42857,7 +42867,7 @@ func memdbOpen(tls *libc.TLS, pVfs uintptr, zName uintptr, pFd uintptr, flags in // is available, or false otherwise. // // With memdb, no files ever exist on disk. So always return false. -func memdbAccess(tls *libc.TLS, pVfs uintptr, zPath uintptr, flags int32, pResOut uintptr) int32 { /* sqlite3.c:49666:12: */ +func memdbAccess(tls *libc.TLS, pVfs uintptr, zPath uintptr, flags int32, pResOut uintptr) int32 { /* sqlite3.c:49676:12: */ _ = pVfs _ = zPath _ = flags @@ -42868,7 +42878,7 @@ func memdbAccess(tls *libc.TLS, pVfs uintptr, zPath uintptr, flags int32, pResOu // Populate buffer zOut with the full canonical pathname corresponding // to the pathname in zPath. zOut is guaranteed to point to a buffer // of at least (INST_MAX_PATHNAME+1) bytes. -func memdbFullPathname(tls *libc.TLS, pVfs uintptr, zPath uintptr, nOut int32, zOut uintptr) int32 { /* sqlite3.c:49684:12: */ +func memdbFullPathname(tls *libc.TLS, pVfs uintptr, zPath uintptr, nOut int32, zOut uintptr) int32 { /* sqlite3.c:49694:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -42878,7 +42888,7 @@ func memdbFullPathname(tls *libc.TLS, pVfs uintptr, zPath uintptr, nOut int32, z } // Open the dynamic library located at zPath and return a handle. -func memdbDlOpen(tls *libc.TLS, pVfs uintptr, zPath uintptr) uintptr { /* sqlite3.c:49698:13: */ +func memdbDlOpen(tls *libc.TLS, pVfs uintptr, zPath uintptr) uintptr { /* sqlite3.c:49708:13: */ return (*struct { f func(*libc.TLS, uintptr, uintptr) uintptr })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer((*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData)).FxDlOpen})).f(tls, (*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, zPath) @@ -42887,21 +42897,21 @@ func memdbDlOpen(tls *libc.TLS, pVfs uintptr, zPath uintptr) uintptr { /* sqlite // Populate the buffer zErrMsg (size nByte bytes) with a human readable // utf-8 string describing the most recent error encountered associated // with dynamic libraries. -func memdbDlError(tls *libc.TLS, pVfs uintptr, nByte int32, zErrMsg uintptr) { /* sqlite3.c:49707:13: */ +func memdbDlError(tls *libc.TLS, pVfs uintptr, nByte int32, zErrMsg uintptr) { /* sqlite3.c:49717:13: */ (*struct { f func(*libc.TLS, uintptr, int32, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer((*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData)).FxDlError})).f(tls, (*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, nByte, zErrMsg) } // Return a pointer to the symbol zSymbol in the dynamic library pHandle. -func memdbDlSym(tls *libc.TLS, pVfs uintptr, p uintptr, zSym uintptr) uintptr { /* sqlite3.c:49714:13: */ +func memdbDlSym(tls *libc.TLS, pVfs uintptr, p uintptr, zSym uintptr) uintptr { /* sqlite3.c:49724:13: */ return (*struct { f func(*libc.TLS, uintptr, uintptr, uintptr) uintptr })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer((*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData)).FxDlSym})).f(tls, (*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, p, zSym) } // Close the dynamic library handle pHandle. -func memdbDlClose(tls *libc.TLS, pVfs uintptr, pHandle uintptr) { /* sqlite3.c:49721:13: */ +func memdbDlClose(tls *libc.TLS, pVfs uintptr, pHandle uintptr) { /* sqlite3.c:49731:13: */ (*struct { f func(*libc.TLS, uintptr, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer((*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData)).FxDlClose})).f(tls, (*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, pHandle) @@ -42909,7 +42919,7 @@ func memdbDlClose(tls *libc.TLS, pVfs uintptr, pHandle uintptr) { /* sqlite3.c:4 // Populate the buffer pointed to by zBufOut with nByte bytes of // random data. -func memdbRandomness(tls *libc.TLS, pVfs uintptr, nByte int32, zBufOut uintptr) int32 { /* sqlite3.c:49729:12: */ +func memdbRandomness(tls *libc.TLS, pVfs uintptr, nByte int32, zBufOut uintptr) int32 { /* sqlite3.c:49739:12: */ return (*struct { f func(*libc.TLS, uintptr, int32, uintptr) int32 })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer((*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData)).FxRandomness})).f(tls, (*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, nByte, zBufOut) @@ -42917,19 +42927,19 @@ func memdbRandomness(tls *libc.TLS, pVfs uintptr, nByte int32, zBufOut uintptr) // Sleep for nMicro microseconds. Return the number of microseconds // actually slept. -func memdbSleep(tls *libc.TLS, pVfs uintptr, nMicro int32) int32 { /* sqlite3.c:49737:12: */ +func memdbSleep(tls *libc.TLS, pVfs uintptr, nMicro int32) int32 { /* sqlite3.c:49747:12: */ return (*struct { f func(*libc.TLS, uintptr, int32) int32 })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer((*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData)).FxSleep})).f(tls, (*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, nMicro) } -func memdbGetLastError(tls *libc.TLS, pVfs uintptr, a int32, b uintptr) int32 { /* sqlite3.c:49750:12: */ +func memdbGetLastError(tls *libc.TLS, pVfs uintptr, a int32, b uintptr) int32 { /* sqlite3.c:49760:12: */ return (*struct { f func(*libc.TLS, uintptr, int32, uintptr) int32 })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer((*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData)).FxGetLastError})).f(tls, (*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, a, b) } -func memdbCurrentTimeInt64(tls *libc.TLS, pVfs uintptr, p uintptr) int32 { /* sqlite3.c:49753:12: */ +func memdbCurrentTimeInt64(tls *libc.TLS, pVfs uintptr, p uintptr) int32 { /* sqlite3.c:49763:12: */ return (*struct { f func(*libc.TLS, uintptr, uintptr) int32 })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer((*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData)).FxCurrentTimeInt64})).f(tls, (*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, p) @@ -42937,7 +42947,7 @@ func memdbCurrentTimeInt64(tls *libc.TLS, pVfs uintptr, p uintptr) int32 { /* sq // Translate a database connection pointer and schema name into a // MemFile pointer. -func memdbFromDbSchema(tls *libc.TLS, db uintptr, zSchema uintptr) uintptr { /* sqlite3.c:49761:16: */ +func memdbFromDbSchema(tls *libc.TLS, db uintptr, zSchema uintptr) uintptr { /* sqlite3.c:49771:16: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -42960,7 +42970,7 @@ func memdbFromDbSchema(tls *libc.TLS, db uintptr, zSchema uintptr) uintptr { /* } // Return the serialization of a database -func Xsqlite3_serialize(tls *libc.TLS, db uintptr, zSchema uintptr, piSize uintptr, mFlags uint32) uintptr { /* sqlite3.c:49777:26: */ +func Xsqlite3_serialize(tls *libc.TLS, db uintptr, zSchema uintptr, piSize uintptr, mFlags uint32) uintptr { /* sqlite3.c:49787:26: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -43051,7 +43061,7 @@ func Xsqlite3_serialize(tls *libc.TLS, db uintptr, zSchema uintptr, piSize uintp } // Convert zSchema to a MemDB and initialize its content. -func Xsqlite3_deserialize(tls *libc.TLS, db uintptr, zSchema uintptr, pData uintptr, szDb Sqlite3_int64, szBuf Sqlite3_int64, mFlags uint32) int32 { /* sqlite3.c:49858:16: */ +func Xsqlite3_deserialize(tls *libc.TLS, db uintptr, zSchema uintptr, pData uintptr, szDb Sqlite3_int64, szBuf Sqlite3_int64, mFlags uint32) int32 { /* sqlite3.c:49868:16: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -43146,7 +43156,7 @@ __10: // This routine is called when the extension is loaded. // Register the new VFS. -func Xsqlite3MemdbInit(tls *libc.TLS) int32 { /* sqlite3.c:49934:20: */ +func Xsqlite3MemdbInit(tls *libc.TLS) int32 { /* sqlite3.c:49944:20: */ var pLower uintptr = Xsqlite3_vfs_find(tls, uintptr(0)) var sz uint32 if pLower == uintptr(0) { @@ -43168,7 +43178,7 @@ func Xsqlite3MemdbInit(tls *libc.TLS) int32 { /* sqlite3.c:49934:20: */ // Create a new bitmap object able to handle bits between 0 and iSize, // inclusive. Return a pointer to the new object. Return NULL if // malloc fails. -func Xsqlite3BitvecCreate(tls *libc.TLS, iSize U32) uintptr { /* sqlite3.c:50066:23: */ +func Xsqlite3BitvecCreate(tls *libc.TLS, iSize U32) uintptr { /* sqlite3.c:50076:23: */ var p uintptr p = Xsqlite3MallocZero(tls, uint64(unsafe.Sizeof(Bitvec{}))) @@ -43181,7 +43191,7 @@ func Xsqlite3BitvecCreate(tls *libc.TLS, iSize U32) uintptr { /* sqlite3.c:50066 // Check to see if the i-th bit is set. Return true or false. // If p is NULL (if the bitmap has not been created) or if // i is out of range, then return false. -func Xsqlite3BitvecTestNotNull(tls *libc.TLS, p uintptr, i U32) int32 { /* sqlite3.c:50081:20: */ +func Xsqlite3BitvecTestNotNull(tls *libc.TLS, p uintptr, i U32) int32 { /* sqlite3.c:50091:20: */ i-- if i >= (*Bitvec)(unsafe.Pointer(p)).FiSize { @@ -43210,7 +43220,7 @@ func Xsqlite3BitvecTestNotNull(tls *libc.TLS, p uintptr, i U32) int32 { /* sqlit return int32(0) } -func Xsqlite3BitvecTest(tls *libc.TLS, p uintptr, i U32) int32 { /* sqlite3.c:50104:20: */ +func Xsqlite3BitvecTest(tls *libc.TLS, p uintptr, i U32) int32 { /* sqlite3.c:50114:20: */ return libc.Bool32(p != uintptr(0) && Xsqlite3BitvecTestNotNull(tls, p, i) != 0) } @@ -43224,7 +43234,7 @@ func Xsqlite3BitvecTest(tls *libc.TLS, p uintptr, i U32) int32 { /* sqlite3.c:50 // The calling function must ensure that p is a valid Bitvec object // and that the value for "i" is within range of the Bitvec object. // Otherwise the behavior is undefined. -func Xsqlite3BitvecSet(tls *libc.TLS, p uintptr, i U32) int32 { /* sqlite3.c:50120:20: */ +func Xsqlite3BitvecSet(tls *libc.TLS, p uintptr, i U32) int32 { /* sqlite3.c:50130:20: */ var h U32 var bin U32 var j uint32 @@ -43361,7 +43371,7 @@ bitvec_set_end: // // pBuf must be a pointer to at least BITVEC_SZ bytes of temporary storage // that BitvecClear can use to rebuilt its hash table. -func Xsqlite3BitvecClear(tls *libc.TLS, p uintptr, i U32, pBuf uintptr) { /* sqlite3.c:50191:21: */ +func Xsqlite3BitvecClear(tls *libc.TLS, p uintptr, i U32, pBuf uintptr) { /* sqlite3.c:50201:21: */ if p == uintptr(0) { return } @@ -43400,7 +43410,7 @@ func Xsqlite3BitvecClear(tls *libc.TLS, p uintptr, i U32, pBuf uintptr) { /* sql } // Destroy a bitmap object. Reclaim all memory used. -func Xsqlite3BitvecDestroy(tls *libc.TLS, p uintptr) { /* sqlite3.c:50228:21: */ +func Xsqlite3BitvecDestroy(tls *libc.TLS, p uintptr) { /* sqlite3.c:50238:21: */ if p == uintptr(0) { return } @@ -43415,7 +43425,7 @@ func Xsqlite3BitvecDestroy(tls *libc.TLS, p uintptr) { /* sqlite3.c:50228:21: */ // Return the value of the iSize parameter specified when Bitvec *p // was created. -func Xsqlite3BitvecSize(tls *libc.TLS, p uintptr) U32 { /* sqlite3.c:50243:20: */ +func Xsqlite3BitvecSize(tls *libc.TLS, p uintptr) U32 { /* sqlite3.c:50253:20: */ return (*Bitvec)(unsafe.Pointer(p)).FiSize } @@ -43452,7 +43462,7 @@ func Xsqlite3BitvecSize(tls *libc.TLS, p uintptr) U32 { /* sqlite3.c:50243:20: * // an error is returned. If they are the same, zero is returned. // // If a memory allocation error occurs, return -1. -func Xsqlite3BitvecBuiltinTest(tls *libc.TLS, sz int32, aOp uintptr) int32 { /* sqlite3.c:50288:20: */ +func Xsqlite3BitvecBuiltinTest(tls *libc.TLS, sz int32, aOp uintptr) int32 { /* sqlite3.c:50298:20: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -43615,7 +43625,7 @@ bitvec_end: // argument determines what operation to do. The 0x01 bit means first // remove pPage from the dirty list. The 0x02 means add pPage back to // the dirty list. Doing both moves pPage to the front of the dirty list. -func pcacheManageDirtyList(tls *libc.TLS, pPage uintptr, addRemove U8) { /* sqlite3.c:50523:13: */ +func pcacheManageDirtyList(tls *libc.TLS, pPage uintptr, addRemove U8) { /* sqlite3.c:50533:13: */ var p uintptr = (*PgHdr)(unsafe.Pointer(pPage)).FpCache if int32(addRemove)&PCACHE_DIRTYLIST_REMOVE != 0 { @@ -43677,7 +43687,7 @@ func pcacheManageDirtyList(tls *libc.TLS, pPage uintptr, addRemove U8) { /* sqli // Wrapper around the pluggable caches xUnpin method. If the cache is // being used for an in-memory database, this function is a no-op. -func pcacheUnpin(tls *libc.TLS, p uintptr) { /* sqlite3.c:50593:13: */ +func pcacheUnpin(tls *libc.TLS, p uintptr) { /* sqlite3.c:50603:13: */ if (*PCache)(unsafe.Pointer((*PgHdr)(unsafe.Pointer(p)).FpCache)).FbPurgeable != 0 { (*struct { @@ -43689,7 +43699,7 @@ func pcacheUnpin(tls *libc.TLS, p uintptr) { /* sqlite3.c:50593:13: */ // Compute the number of pages of cache requested. p->szCache is the // cache size requested by the "PRAGMA cache_size" statement. -func numberOfCachePages(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:50605:12: */ +func numberOfCachePages(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:50615:12: */ if (*PCache)(unsafe.Pointer(p)).FszCache >= 0 { // IMPLEMENTATION-OF: R-42059-47211 If the argument N is positive then the // suggested cache size is set to N. @@ -43714,7 +43724,7 @@ func numberOfCachePages(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:50605:12: // // Initialize and shutdown the page cache subsystem. Neither of these // functions are threadsafe. -func Xsqlite3PcacheInitialize(tls *libc.TLS) int32 { /* sqlite3.c:50627:20: */ +func Xsqlite3PcacheInitialize(tls *libc.TLS) int32 { /* sqlite3.c:50637:20: */ if Xsqlite3Config.Fpcache2.FxInit == uintptr(0) { // IMPLEMENTATION-OF: R-26801-64137 If the xInit() method is NULL, then the // built-in default page cache is used instead of the application defined @@ -43727,7 +43737,7 @@ func Xsqlite3PcacheInitialize(tls *libc.TLS) int32 { /* sqlite3.c:50627:20: */ })(unsafe.Pointer(&struct{ uintptr }{Xsqlite3Config.Fpcache2.FxInit})).f(tls, Xsqlite3Config.Fpcache2.FpArg) } -func Xsqlite3PcacheShutdown(tls *libc.TLS) { /* sqlite3.c:50637:21: */ +func Xsqlite3PcacheShutdown(tls *libc.TLS) { /* sqlite3.c:50647:21: */ if Xsqlite3Config.Fpcache2.FxShutdown != 0 { // IMPLEMENTATION-OF: R-26000-56589 The xShutdown() method may be NULL. (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{Xsqlite3Config.Fpcache2.FxShutdown})).f(tls, Xsqlite3Config.Fpcache2.FpArg) @@ -43735,7 +43745,7 @@ func Xsqlite3PcacheShutdown(tls *libc.TLS) { /* sqlite3.c:50637:21: */ } // Return the size in bytes of a PCache object. -func Xsqlite3PcacheSize(tls *libc.TLS) int32 { /* sqlite3.c:50647:20: */ +func Xsqlite3PcacheSize(tls *libc.TLS) int32 { /* sqlite3.c:50657:20: */ return int32(unsafe.Sizeof(PCache{})) } @@ -43749,7 +43759,7 @@ func Xsqlite3PcacheSize(tls *libc.TLS) int32 { /* sqlite3.c:50647:20: */ // but remaining content will be uninitialized. Though it is opaque // to this module, the extra space really ends up being the MemPage // structure in the pager. -func Xsqlite3PcacheOpen(tls *libc.TLS, szPage int32, szExtra int32, bPurgeable int32, xStress uintptr, pStress uintptr, p uintptr) int32 { /* sqlite3.c:50661:20: */ +func Xsqlite3PcacheOpen(tls *libc.TLS, szPage int32, szExtra int32, bPurgeable int32, xStress uintptr, pStress uintptr, p uintptr) int32 { /* sqlite3.c:50671:20: */ libc.X__builtin___memset_chk(tls, p, 0, uint64(unsafe.Sizeof(PCache{})), libc.X__builtin_object_size(tls, p, 0)) (*PCache)(unsafe.Pointer(p)).FszPage = 1 (*PCache)(unsafe.Pointer(p)).FszExtra = szExtra @@ -43766,7 +43776,7 @@ func Xsqlite3PcacheOpen(tls *libc.TLS, szPage int32, szExtra int32, bPurgeable i // Change the page size for PCache object. The caller must ensure that there // are no outstanding page references when this function is called. -func Xsqlite3PcacheSetPageSize(tls *libc.TLS, pCache uintptr, szPage int32) int32 { /* sqlite3.c:50687:20: */ +func Xsqlite3PcacheSetPageSize(tls *libc.TLS, pCache uintptr, szPage int32) int32 { /* sqlite3.c:50697:20: */ if (*PCache)(unsafe.Pointer(pCache)).FszPage != 0 { var pNew uintptr @@ -43813,7 +43823,7 @@ func Xsqlite3PcacheSetPageSize(tls *libc.TLS, pCache uintptr, szPage int32) int3 // they can both (usually) operate without having to push values to // the stack on entry and pop them back off on exit, which saves a // lot of pushing and popping. -func Xsqlite3PcacheFetch(tls *libc.TLS, pCache uintptr, pgno Pgno, createFlag int32) uintptr { /* sqlite3.c:50731:36: */ +func Xsqlite3PcacheFetch(tls *libc.TLS, pCache uintptr, pgno Pgno, createFlag int32) uintptr { /* sqlite3.c:50741:36: */ var eCreate int32 var pRes uintptr @@ -43841,7 +43851,7 @@ func Xsqlite3PcacheFetch(tls *libc.TLS, pCache uintptr, pgno Pgno, createFlag in // an OOM error. // // This routine should be invoked only after sqlite3PcacheFetch() fails. -func Xsqlite3PcacheFetchStress(tls *libc.TLS, pCache uintptr, pgno Pgno, ppPage uintptr) int32 { /* sqlite3.c:50772:20: */ +func Xsqlite3PcacheFetchStress(tls *libc.TLS, pCache uintptr, pgno Pgno, ppPage uintptr) int32 { /* sqlite3.c:50782:20: */ var pPg uintptr if int32((*PCache)(unsafe.Pointer(pCache)).FeCreate) == 2 { return 0 @@ -43892,7 +43902,7 @@ func Xsqlite3PcacheFetchStress(tls *libc.TLS, pCache uintptr, pgno Pgno, ppPage // This routine is broken out into a separate function since it // requires extra stack manipulation that can be avoided in the common // case. -func pcacheFetchFinishWithInit(tls *libc.TLS, pCache uintptr, pgno Pgno, pPage uintptr) uintptr { /* sqlite3.c:50828:30: */ +func pcacheFetchFinishWithInit(tls *libc.TLS, pCache uintptr, pgno Pgno, pPage uintptr) uintptr { /* sqlite3.c:50838:30: */ var pPgHdr uintptr pPgHdr = (*Sqlite3_pcache_page)(unsafe.Pointer(pPage)).FpExtra @@ -43912,7 +43922,7 @@ func pcacheFetchFinishWithInit(tls *libc.TLS, pCache uintptr, pgno Pgno, pPage u // sqlite3PcacheFetch() into an initialized PgHdr object. This routine // must be called after sqlite3PcacheFetch() in order to get a usable // result. -func Xsqlite3PcacheFetchFinish(tls *libc.TLS, pCache uintptr, pgno Pgno, pPage uintptr) uintptr { /* sqlite3.c:50854:22: */ +func Xsqlite3PcacheFetchFinish(tls *libc.TLS, pCache uintptr, pgno Pgno, pPage uintptr) uintptr { /* sqlite3.c:50864:22: */ var pPgHdr uintptr pPgHdr = (*Sqlite3_pcache_page)(unsafe.Pointer(pPage)).FpExtra @@ -43928,7 +43938,7 @@ func Xsqlite3PcacheFetchFinish(tls *libc.TLS, pCache uintptr, pgno Pgno, pPage u // Decrement the reference count on a page. If the page is clean and the // reference count drops to 0, then it is made eligible for recycling. -func Xsqlite3PcacheRelease(tls *libc.TLS, p uintptr) { /* sqlite3.c:50877:37: */ +func Xsqlite3PcacheRelease(tls *libc.TLS, p uintptr) { /* sqlite3.c:50887:37: */ (*PCache)(unsafe.Pointer((*PgHdr)(unsafe.Pointer(p)).FpCache)).FnRefSum-- if int32(libc.PreDecInt16(&(*PgHdr)(unsafe.Pointer(p)).FnRef, 1)) == 0 { @@ -43941,7 +43951,7 @@ func Xsqlite3PcacheRelease(tls *libc.TLS, p uintptr) { /* sqlite3.c:50877:37: */ } // Increase the reference count of a supplied page by 1. -func Xsqlite3PcacheRef(tls *libc.TLS, p uintptr) { /* sqlite3.c:50892:21: */ +func Xsqlite3PcacheRef(tls *libc.TLS, p uintptr) { /* sqlite3.c:50902:21: */ (*PgHdr)(unsafe.Pointer(p)).FnRef++ (*PCache)(unsafe.Pointer((*PgHdr)(unsafe.Pointer(p)).FpCache)).FnRefSum++ @@ -43950,7 +43960,7 @@ func Xsqlite3PcacheRef(tls *libc.TLS, p uintptr) { /* sqlite3.c:50892:21: */ // Drop a page from the cache. There must be exactly one reference to the // page. This function deletes that reference, so after it returns the // page pointed to by p is invalid. -func Xsqlite3PcacheDrop(tls *libc.TLS, p uintptr) { /* sqlite3.c:50904:21: */ +func Xsqlite3PcacheDrop(tls *libc.TLS, p uintptr) { /* sqlite3.c:50914:21: */ if int32((*PgHdr)(unsafe.Pointer(p)).Fflags)&PGHDR_DIRTY != 0 { pcacheManageDirtyList(tls, p, uint8(PCACHE_DIRTYLIST_REMOVE)) @@ -43963,7 +43973,7 @@ func Xsqlite3PcacheDrop(tls *libc.TLS, p uintptr) { /* sqlite3.c:50904:21: */ // Make sure the page is marked as dirty. If it isn't dirty already, // make it so. -func Xsqlite3PcacheMakeDirty(tls *libc.TLS, p uintptr) { /* sqlite3.c:50918:21: */ +func Xsqlite3PcacheMakeDirty(tls *libc.TLS, p uintptr) { /* sqlite3.c:50928:21: */ if int32((*PgHdr)(unsafe.Pointer(p)).Fflags)&(PGHDR_CLEAN|PGHDR_DONT_WRITE) != 0 { //OPTIMIZATION-IF-FALSE *(*U16)(unsafe.Pointer(p + 52)) &= libc.Uint16FromInt32(libc.CplInt32(PGHDR_DONT_WRITE)) @@ -43978,7 +43988,7 @@ func Xsqlite3PcacheMakeDirty(tls *libc.TLS, p uintptr) { /* sqlite3.c:50918:21: // Make sure the page is marked as clean. If it isn't clean already, // make it so. -func Xsqlite3PcacheMakeClean(tls *libc.TLS, p uintptr) { /* sqlite3.c:50938:21: */ +func Xsqlite3PcacheMakeClean(tls *libc.TLS, p uintptr) { /* sqlite3.c:50948:21: */ pcacheManageDirtyList(tls, p, uint8(PCACHE_DIRTYLIST_REMOVE)) *(*U16)(unsafe.Pointer(p + 52)) &= libc.Uint16FromInt32(libc.CplInt32(PGHDR_DIRTY | PGHDR_NEED_SYNC | PGHDR_WRITEABLE)) @@ -43990,7 +44000,7 @@ func Xsqlite3PcacheMakeClean(tls *libc.TLS, p uintptr) { /* sqlite3.c:50938:21: } // Make every page in the cache clean. -func Xsqlite3PcacheCleanAll(tls *libc.TLS, pCache uintptr) { /* sqlite3.c:50955:21: */ +func Xsqlite3PcacheCleanAll(tls *libc.TLS, pCache uintptr) { /* sqlite3.c:50965:21: */ var p uintptr for libc.AssignUintptr(&p, (*PCache)(unsafe.Pointer(pCache)).FpDirty) != uintptr(0) { @@ -43999,7 +44009,7 @@ func Xsqlite3PcacheCleanAll(tls *libc.TLS, pCache uintptr) { /* sqlite3.c:50955: } // Clear the PGHDR_NEED_SYNC and PGHDR_WRITEABLE flag from all dirty pages. -func Xsqlite3PcacheClearWritable(tls *libc.TLS, pCache uintptr) { /* sqlite3.c:50966:21: */ +func Xsqlite3PcacheClearWritable(tls *libc.TLS, pCache uintptr) { /* sqlite3.c:50976:21: */ var p uintptr for p = (*PCache)(unsafe.Pointer(pCache)).FpDirty; p != 0; p = (*PgHdr)(unsafe.Pointer(p)).FpDirtyNext { @@ -44009,7 +44019,7 @@ func Xsqlite3PcacheClearWritable(tls *libc.TLS, pCache uintptr) { /* sqlite3.c:5 } // Clear the PGHDR_NEED_SYNC flag from all dirty pages. -func Xsqlite3PcacheClearSyncFlags(tls *libc.TLS, pCache uintptr) { /* sqlite3.c:50978:21: */ +func Xsqlite3PcacheClearSyncFlags(tls *libc.TLS, pCache uintptr) { /* sqlite3.c:50988:21: */ var p uintptr for p = (*PCache)(unsafe.Pointer(pCache)).FpDirty; p != 0; p = (*PgHdr)(unsafe.Pointer(p)).FpDirtyNext { *(*U16)(unsafe.Pointer(p + 52)) &= libc.Uint16FromInt32(libc.CplInt32(PGHDR_NEED_SYNC)) @@ -44018,7 +44028,7 @@ func Xsqlite3PcacheClearSyncFlags(tls *libc.TLS, pCache uintptr) { /* sqlite3.c: } // Change the page number of page p to newPgno. -func Xsqlite3PcacheMove(tls *libc.TLS, p uintptr, newPgno Pgno) { /* sqlite3.c:50989:21: */ +func Xsqlite3PcacheMove(tls *libc.TLS, p uintptr, newPgno Pgno) { /* sqlite3.c:50999:21: */ var pCache uintptr = (*PgHdr)(unsafe.Pointer(p)).FpCache (*struct { @@ -44037,7 +44047,7 @@ func Xsqlite3PcacheMove(tls *libc.TLS, p uintptr, newPgno Pgno) { /* sqlite3.c:5 // If there is a reference to page 1 and the pgno parameter passed to this // function is 0, then the data area associated with page 1 is zeroed, but // the page object is not dropped. -func Xsqlite3PcacheTruncate(tls *libc.TLS, pCache uintptr, pgno Pgno) { /* sqlite3.c:51011:21: */ +func Xsqlite3PcacheTruncate(tls *libc.TLS, pCache uintptr, pgno Pgno) { /* sqlite3.c:51021:21: */ if (*PCache)(unsafe.Pointer(pCache)).FpCache != 0 { var p uintptr var pNext uintptr @@ -44071,19 +44081,19 @@ func Xsqlite3PcacheTruncate(tls *libc.TLS, pCache uintptr, pgno Pgno) { /* sqlit } // Close a cache. -func Xsqlite3PcacheClose(tls *libc.TLS, pCache uintptr) { /* sqlite3.c:51044:21: */ +func Xsqlite3PcacheClose(tls *libc.TLS, pCache uintptr) { /* sqlite3.c:51054:21: */ (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{Xsqlite3Config.Fpcache2.FxDestroy})).f(tls, (*PCache)(unsafe.Pointer(pCache)).FpCache) } // Discard the contents of the cache. -func Xsqlite3PcacheClear(tls *libc.TLS, pCache uintptr) { /* sqlite3.c:51053:21: */ +func Xsqlite3PcacheClear(tls *libc.TLS, pCache uintptr) { /* sqlite3.c:51063:21: */ Xsqlite3PcacheTruncate(tls, pCache, uint32(0)) } // Merge two lists of pages connected by pDirty and in pgno order. // Do not bother fixing the pDirtyPrev pointers. -func pcacheMergeDirtyList(tls *libc.TLS, pA uintptr, pB uintptr) uintptr { /* sqlite3.c:51061:14: */ +func pcacheMergeDirtyList(tls *libc.TLS, pA uintptr, pB uintptr) uintptr { /* sqlite3.c:51071:14: */ bp := tls.Alloc(72) defer tls.Free(72) @@ -44122,7 +44132,7 @@ func pcacheMergeDirtyList(tls *libc.TLS, pA uintptr, pB uintptr) uintptr { /* sq // there cannot be more than 31 buckets required by the merge sorter. // One extra bucket is added to catch overflow in case something // ever changes to make the previous sentence incorrect. -func pcacheSortDirtyList(tls *libc.TLS, pIn uintptr) uintptr { /* sqlite3.c:51098:14: */ +func pcacheSortDirtyList(tls *libc.TLS, pIn uintptr) uintptr { /* sqlite3.c:51108:14: */ bp := tls.Alloc(256) defer tls.Free(256) @@ -44165,7 +44175,7 @@ func pcacheSortDirtyList(tls *libc.TLS, pIn uintptr) uintptr { /* sqlite3.c:5109 } // Return a list of all dirty pages in the cache, sorted by page number. -func Xsqlite3PcacheDirtyList(tls *libc.TLS, pCache uintptr) uintptr { /* sqlite3.c:51133:22: */ +func Xsqlite3PcacheDirtyList(tls *libc.TLS, pCache uintptr) uintptr { /* sqlite3.c:51143:22: */ var p uintptr for p = (*PCache)(unsafe.Pointer(pCache)).FpDirty; p != 0; p = (*PgHdr)(unsafe.Pointer(p)).FpDirtyNext { (*PgHdr)(unsafe.Pointer(p)).FpDirty = (*PgHdr)(unsafe.Pointer(p)).FpDirtyNext @@ -44177,17 +44187,17 @@ func Xsqlite3PcacheDirtyList(tls *libc.TLS, pCache uintptr) uintptr { /* sqlite3 // // This is not the total number of pages referenced, but the sum of the // reference count for all pages. -func Xsqlite3PcacheRefCount(tls *libc.TLS, pCache uintptr) int32 { /* sqlite3.c:51147:20: */ +func Xsqlite3PcacheRefCount(tls *libc.TLS, pCache uintptr) int32 { /* sqlite3.c:51157:20: */ return (*PCache)(unsafe.Pointer(pCache)).FnRefSum } // Return the number of references to the page supplied as an argument. -func Xsqlite3PcachePageRefcount(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:51154:20: */ +func Xsqlite3PcachePageRefcount(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:51164:20: */ return int32((*PgHdr)(unsafe.Pointer(p)).FnRef) } // Return the total number of pages in the cache. -func Xsqlite3PcachePagecount(tls *libc.TLS, pCache uintptr) int32 { /* sqlite3.c:51161:20: */ +func Xsqlite3PcachePagecount(tls *libc.TLS, pCache uintptr) int32 { /* sqlite3.c:51171:20: */ return (*struct { f func(*libc.TLS, uintptr) int32 @@ -44195,7 +44205,7 @@ func Xsqlite3PcachePagecount(tls *libc.TLS, pCache uintptr) int32 { /* sqlite3.c } // Set the suggested cache-size value. -func Xsqlite3PcacheSetCachesize(tls *libc.TLS, pCache uintptr, mxPage int32) { /* sqlite3.c:51178:21: */ +func Xsqlite3PcacheSetCachesize(tls *libc.TLS, pCache uintptr, mxPage int32) { /* sqlite3.c:51188:21: */ (*PCache)(unsafe.Pointer(pCache)).FszCache = mxPage (*struct { @@ -44207,7 +44217,7 @@ func Xsqlite3PcacheSetCachesize(tls *libc.TLS, pCache uintptr, mxPage int32) { / // Set the suggested cache-spill value. Make no changes if if the // argument is zero. Return the effective cache-spill size, which will // be the larger of the szSpill and szCache. -func Xsqlite3PcacheSetSpillsize(tls *libc.TLS, p uintptr, mxPage int32) int32 { /* sqlite3.c:51190:20: */ +func Xsqlite3PcacheSetSpillsize(tls *libc.TLS, p uintptr, mxPage int32) int32 { /* sqlite3.c:51200:20: */ var res int32 if mxPage != 0 { @@ -44224,20 +44234,20 @@ func Xsqlite3PcacheSetSpillsize(tls *libc.TLS, p uintptr, mxPage int32) int32 { } // Free up as much memory as possible from the page cache. -func Xsqlite3PcacheShrink(tls *libc.TLS, pCache uintptr) { /* sqlite3.c:51207:21: */ +func Xsqlite3PcacheShrink(tls *libc.TLS, pCache uintptr) { /* sqlite3.c:51217:21: */ (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{Xsqlite3Config.Fpcache2.FxShrink})).f(tls, (*PCache)(unsafe.Pointer(pCache)).FpCache) } // Return the size of the header added by this middleware layer // in the page-cache hierarchy. -func Xsqlite3HeaderSizePcache(tls *libc.TLS) int32 { /* sqlite3.c:51216:20: */ +func Xsqlite3HeaderSizePcache(tls *libc.TLS) int32 { /* sqlite3.c:51226:20: */ return int32((uint64(unsafe.Sizeof(PgHdr{})) + uint64(7)) & libc.Uint64FromInt32(libc.CplInt32(7))) } // Return the number of dirty pages currently in the cache, as a percentage // of the configured cache size. -func Xsqlite3PCachePercentDirty(tls *libc.TLS, pCache uintptr) int32 { /* sqlite3.c:51222:20: */ +func Xsqlite3PCachePercentDirty(tls *libc.TLS, pCache uintptr) int32 { /* sqlite3.c:51232:20: */ var pDirty uintptr var nDirty int32 = 0 var nCache int32 = numberOfCachePages(tls, pCache) @@ -44352,7 +44362,7 @@ type PCache11 = struct { FapHash uintptr FpFree uintptr FpBulk uintptr -} /* sqlite3.c:51339:9 */ +} /* sqlite3.c:51349:9 */ //************* End of pcache.c ********************************************* //************* Begin file pcache1.c **************************************** @@ -44438,7 +44448,7 @@ type PCache11 = struct { // common workloads. // #include "sqliteInt.h" -type PCache1 = PCache11 /* sqlite3.c:51339:24 */ +type PCache1 = PCache11 /* sqlite3.c:51349:24 */ type PgHdr11 = struct { Fpage Sqlite3_pcache_page FiKey uint32 @@ -44448,12 +44458,12 @@ type PgHdr11 = struct { FpCache uintptr FpLruNext uintptr FpLruPrev uintptr -} /* sqlite3.c:51339:9 */ +} /* sqlite3.c:51349:9 */ -type PgHdr1 = PgHdr11 /* sqlite3.c:51340:23 */ -type PgFreeslot1 = struct{ FpNext uintptr } /* sqlite3.c:51341:9 */ +type PgHdr1 = PgHdr11 /* sqlite3.c:51350:23 */ +type PgFreeslot1 = struct{ FpNext uintptr } /* sqlite3.c:51351:9 */ -type PgFreeslot = PgFreeslot1 /* sqlite3.c:51341:27 */ +type PgFreeslot = PgFreeslot1 /* sqlite3.c:51351:27 */ type PGroup1 = struct { Fmutex uintptr FnMaxPage uint32 @@ -44461,9 +44471,9 @@ type PGroup1 = struct { FmxPinned uint32 FnPurgeable uint32 Flru PgHdr1 -} /* sqlite3.c:51339:9 */ +} /* sqlite3.c:51349:9 */ -type PGroup = PGroup1 /* sqlite3.c:51342:23 */ +type PGroup = PGroup1 /* sqlite3.c:51352:23 */ // Global data used by this cache. type PCacheGlobal = struct { @@ -44480,10 +44490,10 @@ type PCacheGlobal = struct { FpFree uintptr FnFreeSlot int32 FbUnderPressure int32 -} /* sqlite3.c:51459:19 */ +} /* sqlite3.c:51469:19 */ // Global data used by this cache. -var pcache1_g PCacheGlobal /* sqlite3.c:51483:3: */ +var pcache1_g PCacheGlobal /* sqlite3.c:51493:3: */ // All code in this file should access the global structure above via the // alias "pcache1". This ensures that the WSD emulation is used when @@ -44501,7 +44511,7 @@ var pcache1_g PCacheGlobal /* sqlite3.c:51483:3: */ // // This routine is called from sqlite3_initialize() and so it is guaranteed // to be serialized already. There is no need for further mutexing. -func Xsqlite3PCacheBufferSetup(tls *libc.TLS, pBuf uintptr, sz int32, n int32) { /* sqlite3.c:51518:21: */ +func Xsqlite3PCacheBufferSetup(tls *libc.TLS, pBuf uintptr, sz int32, n int32) { /* sqlite3.c:51528:21: */ if pcache1_g.FisInit != 0 { var p uintptr if pBuf == uintptr(0) { @@ -44534,7 +44544,7 @@ func Xsqlite3PCacheBufferSetup(tls *libc.TLS, pBuf uintptr, sz int32, n int32) { // Try to initialize the pCache->pFree and pCache->pBulk fields. Return // true if pCache->pFree ends up containing one or more free pages. -func pcache1InitBulk(tls *libc.TLS, pCache uintptr) int32 { /* sqlite3.c:51544:12: */ +func pcache1InitBulk(tls *libc.TLS, pCache uintptr) int32 { /* sqlite3.c:51554:12: */ var szBulk I64 var zBulk uintptr if pcache1_g.FnInitPage == 0 { @@ -44579,7 +44589,7 @@ func pcache1InitBulk(tls *libc.TLS, pCache uintptr) int32 { /* sqlite3.c:51544:1 // // Multiple threads can run this routine at the same time. Global variables // in pcache1 need to be protected via mutex. -func pcache1Alloc(tls *libc.TLS, nByte int32) uintptr { /* sqlite3.c:51587:13: */ +func pcache1Alloc(tls *libc.TLS, nByte int32) uintptr { /* sqlite3.c:51597:13: */ var p uintptr = uintptr(0) if nByte <= pcache1_g.FszSlot { @@ -44612,7 +44622,7 @@ func pcache1Alloc(tls *libc.TLS, nByte int32) uintptr { /* sqlite3.c:51587:13: * } // Free an allocated buffer obtained from pcache1Alloc(). -func pcache1Free(tls *libc.TLS, p uintptr) { /* sqlite3.c:51625:13: */ +func pcache1Free(tls *libc.TLS, p uintptr) { /* sqlite3.c:51635:13: */ if p == uintptr(0) { return } @@ -44642,7 +44652,7 @@ func pcache1Free(tls *libc.TLS, p uintptr) { /* sqlite3.c:51625:13: */ } // Return the size of a pcache allocation -func pcache1MemSize(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:51658:12: */ +func pcache1MemSize(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:51668:12: */ if p >= pcache1_g.FpStart && p < pcache1_g.FpEnd { return pcache1_g.FszSlot } else { @@ -44656,7 +44666,7 @@ func pcache1MemSize(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:51658:12: */ } // Allocate a new page object initially associated with cache pCache. -func pcache1AllocPage(tls *libc.TLS, pCache uintptr, benignMalloc int32) uintptr { /* sqlite3.c:51675:15: */ +func pcache1AllocPage(tls *libc.TLS, pCache uintptr, benignMalloc int32) uintptr { /* sqlite3.c:51685:15: */ var p uintptr = uintptr(0) var pPg uintptr @@ -44694,7 +44704,7 @@ func pcache1AllocPage(tls *libc.TLS, pCache uintptr, benignMalloc int32) uintptr } // Free a page object allocated by pcache1AllocPage(). -func pcache1FreePage(tls *libc.TLS, p uintptr) { /* sqlite3.c:51727:13: */ +func pcache1FreePage(tls *libc.TLS, p uintptr) { /* sqlite3.c:51737:13: */ var pCache uintptr pCache = (*PgHdr1)(unsafe.Pointer(p)).FpCache @@ -44711,13 +44721,13 @@ func pcache1FreePage(tls *libc.TLS, p uintptr) { /* sqlite3.c:51727:13: */ // Malloc function used by SQLite to obtain space from the buffer configured // using sqlite3_config(SQLITE_CONFIG_PAGECACHE) option. If no such buffer // exists, this function falls back to sqlite3Malloc(). -func Xsqlite3PageMalloc(tls *libc.TLS, sz int32) uintptr { /* sqlite3.c:51749:21: */ +func Xsqlite3PageMalloc(tls *libc.TLS, sz int32) uintptr { /* sqlite3.c:51759:21: */ // These allocations are never very large return pcache1Alloc(tls, sz) } // Free an allocated buffer obtained from sqlite3PageMalloc(). -func Xsqlite3PageFree(tls *libc.TLS, p uintptr) { /* sqlite3.c:51757:21: */ +func Xsqlite3PageFree(tls *libc.TLS, p uintptr) { /* sqlite3.c:51767:21: */ pcache1Free(tls, p) } @@ -44735,7 +44745,7 @@ func Xsqlite3PageFree(tls *libc.TLS, p uintptr) { /* sqlite3.c:51757:21: */ // under memory pressure, then again it is desirable to avoid // allocating a new page cache entry in order to avoid stressing // the heap even further. -func pcache1UnderMemoryPressure(tls *libc.TLS, pCache uintptr) int32 { /* sqlite3.c:51778:12: */ +func pcache1UnderMemoryPressure(tls *libc.TLS, pCache uintptr) int32 { /* sqlite3.c:51788:12: */ if pcache1_g.FnSlot != 0 && (*PCache1)(unsafe.Pointer(pCache)).FszPage+(*PCache1)(unsafe.Pointer(pCache)).FszExtra <= pcache1_g.FszSlot { return pcache1_g.FbUnderPressure } else { @@ -44751,7 +44761,7 @@ func pcache1UnderMemoryPressure(tls *libc.TLS, pCache uintptr) int32 { /* sqlite // as the first argument. // // The PCache mutex must be held when this function is called. -func pcache1ResizeHash(tls *libc.TLS, p uintptr) { /* sqlite3.c:51795:13: */ +func pcache1ResizeHash(tls *libc.TLS, p uintptr) { /* sqlite3.c:51805:13: */ var apNew uintptr var nNew uint32 var i uint32 @@ -44792,7 +44802,7 @@ func pcache1ResizeHash(tls *libc.TLS, p uintptr) { /* sqlite3.c:51795:13: */ // LRU list, then this function is a no-op. // // The PGroup mutex must be held when this function is called. -func pcache1PinPage(tls *libc.TLS, pPage uintptr) uintptr { /* sqlite3.c:51836:15: */ +func pcache1PinPage(tls *libc.TLS, pPage uintptr) uintptr { /* sqlite3.c:51846:15: */ (*PgHdr1)(unsafe.Pointer((*PgHdr1)(unsafe.Pointer(pPage)).FpLruPrev)).FpLruNext = (*PgHdr1)(unsafe.Pointer(pPage)).FpLruNext (*PgHdr1)(unsafe.Pointer((*PgHdr1)(unsafe.Pointer(pPage)).FpLruNext)).FpLruPrev = (*PgHdr1)(unsafe.Pointer(pPage)).FpLruPrev @@ -44809,7 +44819,7 @@ func pcache1PinPage(tls *libc.TLS, pPage uintptr) uintptr { /* sqlite3.c:51836:1 // Also free the page if freePage is true. // // The PGroup mutex must be held when this function is called. -func pcache1RemoveFromHash(tls *libc.TLS, pPage uintptr, freeFlag int32) { /* sqlite3.c:51861:13: */ +func pcache1RemoveFromHash(tls *libc.TLS, pPage uintptr, freeFlag int32) { /* sqlite3.c:51871:13: */ var h uint32 var pCache uintptr = (*PgHdr1)(unsafe.Pointer(pPage)).FpCache var pp uintptr @@ -44827,7 +44837,7 @@ func pcache1RemoveFromHash(tls *libc.TLS, pPage uintptr, freeFlag int32) { /* sq // If there are currently more than nMaxPage pages allocated, try // to recycle pages to reduce the number allocated to nMaxPage. -func pcache1EnforceMaxPage(tls *libc.TLS, pCache uintptr) { /* sqlite3.c:51879:13: */ +func pcache1EnforceMaxPage(tls *libc.TLS, pCache uintptr) { /* sqlite3.c:51889:13: */ var pGroup uintptr = (*PCache1)(unsafe.Pointer(pCache)).FpGroup var p uintptr @@ -44848,7 +44858,7 @@ func pcache1EnforceMaxPage(tls *libc.TLS, pCache uintptr) { /* sqlite3.c:51879:1 // criteria are unpinned before they are discarded. // // The PCache mutex must be held when this function is called. -func pcache1TruncateUnsafe(tls *libc.TLS, pCache uintptr, iLimit uint32) { /* sqlite3.c:51904:13: */ +func pcache1TruncateUnsafe(tls *libc.TLS, pCache uintptr, iLimit uint32) { /* sqlite3.c:51914:13: */ var h uint32 var iStop uint32 @@ -44896,7 +44906,7 @@ func pcache1TruncateUnsafe(tls *libc.TLS, pCache uintptr, iLimit uint32) { /* sq //******* sqlite3_pcache Methods ********************************************* // Implementation of the sqlite3_pcache.xInit method. -func pcache1Init(tls *libc.TLS, NotUsed uintptr) int32 { /* sqlite3.c:51955:12: */ +func pcache1Init(tls *libc.TLS, NotUsed uintptr) int32 { /* sqlite3.c:51965:12: */ _ = NotUsed libc.X__builtin___memset_chk(tls, uintptr(unsafe.Pointer(&pcache1_g)), 0, uint64(unsafe.Sizeof(pcache1_g)), libc.X__builtin_object_size(tls, uintptr(unsafe.Pointer(&pcache1_g)), 0)) @@ -44934,7 +44944,7 @@ func pcache1Init(tls *libc.TLS, NotUsed uintptr) int32 { /* sqlite3.c:51955:12: // Implementation of the sqlite3_pcache.xShutdown method. // Note that the static mutex allocated in xInit does // not need to be freed. -func pcache1Shutdown(tls *libc.TLS, NotUsed uintptr) { /* sqlite3.c:52008:13: */ +func pcache1Shutdown(tls *libc.TLS, NotUsed uintptr) { /* sqlite3.c:52018:13: */ _ = NotUsed libc.X__builtin___memset_chk(tls, uintptr(unsafe.Pointer(&pcache1_g)), 0, uint64(unsafe.Sizeof(pcache1_g)), libc.X__builtin_object_size(tls, uintptr(unsafe.Pointer(&pcache1_g)), 0)) @@ -44943,7 +44953,7 @@ func pcache1Shutdown(tls *libc.TLS, NotUsed uintptr) { /* sqlite3.c:52008:13: */ // Implementation of the sqlite3_pcache.xCreate method. // // Allocate a new cache. -func pcache1Create(tls *libc.TLS, szPage int32, szExtra int32, bPurgeable int32) uintptr { /* sqlite3.c:52022:23: */ +func pcache1Create(tls *libc.TLS, szPage int32, szExtra int32, bPurgeable int32) uintptr { /* sqlite3.c:52032:23: */ var pCache uintptr // The newly created page cache var pGroup uintptr // The group the new page cache will belong to var sz int32 // Bytes of memory required to allocate the new cache @@ -44993,7 +45003,7 @@ func pcache1Create(tls *libc.TLS, szPage int32, szExtra int32, bPurgeable int32) // Implementation of the sqlite3_pcache.xCachesize method. // // Configure the cache_size limit for a cache. -func pcache1Cachesize(tls *libc.TLS, p uintptr, nMax int32) { /* sqlite3.c:52072:13: */ +func pcache1Cachesize(tls *libc.TLS, p uintptr, nMax int32) { /* sqlite3.c:52082:13: */ var pCache uintptr = p var n U32 @@ -45016,7 +45026,7 @@ func pcache1Cachesize(tls *libc.TLS, p uintptr, nMax int32) { /* sqlite3.c:52072 // Implementation of the sqlite3_pcache.xShrink method. // // Free up as much memory as possible. -func pcache1Shrink(tls *libc.TLS, p uintptr) { /* sqlite3.c:52097:13: */ +func pcache1Shrink(tls *libc.TLS, p uintptr) { /* sqlite3.c:52107:13: */ var pCache uintptr = p if (*PCache1)(unsafe.Pointer(pCache)).FbPurgeable != 0 { var pGroup uintptr = (*PCache1)(unsafe.Pointer(pCache)).FpGroup @@ -45031,7 +45041,7 @@ func pcache1Shrink(tls *libc.TLS, p uintptr) { /* sqlite3.c:52097:13: */ } // Implementation of the sqlite3_pcache.xPagecount method. -func pcache1Pagecount(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:52114:12: */ +func pcache1Pagecount(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:52124:12: */ var n int32 var pCache uintptr = p Xsqlite3_mutex_enter(tls, (*PGroup)(unsafe.Pointer((*PCache1)(unsafe.Pointer(pCache)).FpGroup)).Fmutex) @@ -45046,7 +45056,7 @@ func pcache1Pagecount(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:52114:12: * // This steps are broken out into a separate procedure because they are // usually not needed, and by avoiding the stack initialization required // for these steps, the main pcache1Fetch() procedure can run faster. -func pcache1FetchStage2(tls *libc.TLS, pCache uintptr, iKey uint32, createFlag int32) uintptr { /* sqlite3.c:52132:31: */ +func pcache1FetchStage2(tls *libc.TLS, pCache uintptr, iKey uint32, createFlag int32) uintptr { /* sqlite3.c:52142:31: */ var nPinned uint32 var pGroup uintptr = (*PCache1)(unsafe.Pointer(pCache)).FpGroup var pPage uintptr = uintptr(0) @@ -45164,7 +45174,7 @@ func pcache1FetchStage2(tls *libc.TLS, pCache uintptr, iKey uint32, createFlag i // the general case. pcache1FetchNoMutex() is a faster implementation for // the common case where pGroup->mutex is NULL. The pcache1Fetch() wrapper // invokes the appropriate routine. -func pcache1FetchNoMutex(tls *libc.TLS, p uintptr, iKey uint32, createFlag int32) uintptr { /* sqlite3.c:52260:15: */ +func pcache1FetchNoMutex(tls *libc.TLS, p uintptr, iKey uint32, createFlag int32) uintptr { /* sqlite3.c:52270:15: */ var pCache uintptr = p var pPage uintptr = uintptr(0) @@ -45193,7 +45203,7 @@ func pcache1FetchNoMutex(tls *libc.TLS, p uintptr, iKey uint32, createFlag int32 return uintptr(0) } -func pcache1FetchWithMutex(tls *libc.TLS, p uintptr, iKey uint32, createFlag int32) uintptr { /* sqlite3.c:52290:15: */ +func pcache1FetchWithMutex(tls *libc.TLS, p uintptr, iKey uint32, createFlag int32) uintptr { /* sqlite3.c:52300:15: */ var pCache uintptr = p var pPage uintptr @@ -45204,7 +45214,7 @@ func pcache1FetchWithMutex(tls *libc.TLS, p uintptr, iKey uint32, createFlag int return pPage } -func pcache1Fetch(tls *libc.TLS, p uintptr, iKey uint32, createFlag int32) uintptr { /* sqlite3.c:52305:28: */ +func pcache1Fetch(tls *libc.TLS, p uintptr, iKey uint32, createFlag int32) uintptr { /* sqlite3.c:52315:28: */ var pCache uintptr = p if (*PGroup)(unsafe.Pointer((*PCache1)(unsafe.Pointer(pCache)).FpGroup)).Fmutex != 0 { @@ -45218,7 +45228,7 @@ func pcache1Fetch(tls *libc.TLS, p uintptr, iKey uint32, createFlag int32) uintp // Implementation of the sqlite3_pcache.xUnpin method. // // Mark a page as unpinned (eligible for asynchronous recycling). -func pcache1Unpin(tls *libc.TLS, p uintptr, pPg uintptr, reuseUnlikely int32) { /* sqlite3.c:52336:13: */ +func pcache1Unpin(tls *libc.TLS, p uintptr, pPg uintptr, reuseUnlikely int32) { /* sqlite3.c:52346:13: */ var pCache uintptr = p var pPage uintptr = pPg var pGroup uintptr = (*PCache1)(unsafe.Pointer(pCache)).FpGroup @@ -45243,7 +45253,7 @@ func pcache1Unpin(tls *libc.TLS, p uintptr, pPg uintptr, reuseUnlikely int32) { } // Implementation of the sqlite3_pcache.xRekey method. -func pcache1Rekey(tls *libc.TLS, p uintptr, pPg uintptr, iOld uint32, iNew uint32) { /* sqlite3.c:52371:13: */ +func pcache1Rekey(tls *libc.TLS, p uintptr, pPg uintptr, iOld uint32, iNew uint32) { /* sqlite3.c:52381:13: */ var pCache uintptr = p var pPage uintptr = pPg var pp uintptr @@ -45274,7 +45284,7 @@ func pcache1Rekey(tls *libc.TLS, p uintptr, pPg uintptr, iOld uint32, iNew uint3 // Discard all unpinned pages in the cache with a page number equal to // or greater than parameter iLimit. Any pinned pages with a page number // equal to or greater than iLimit are implicitly unpinned. -func pcache1Truncate(tls *libc.TLS, p uintptr, iLimit uint32) { /* sqlite3.c:52411:13: */ +func pcache1Truncate(tls *libc.TLS, p uintptr, iLimit uint32) { /* sqlite3.c:52421:13: */ var pCache uintptr = p Xsqlite3_mutex_enter(tls, (*PGroup)(unsafe.Pointer((*PCache1)(unsafe.Pointer(pCache)).FpGroup)).Fmutex) if iLimit <= (*PCache1)(unsafe.Pointer(pCache)).FiMaxKey { @@ -45287,7 +45297,7 @@ func pcache1Truncate(tls *libc.TLS, p uintptr, iLimit uint32) { /* sqlite3.c:524 // Implementation of the sqlite3_pcache.xDestroy method. // // Destroy a cache allocated using pcache1Create(). -func pcache1Destroy(tls *libc.TLS, p uintptr) { /* sqlite3.c:52426:13: */ +func pcache1Destroy(tls *libc.TLS, p uintptr) { /* sqlite3.c:52436:13: */ var pCache uintptr = p var pGroup uintptr = (*PCache1)(unsafe.Pointer(pCache)).FpGroup @@ -45310,7 +45320,7 @@ func pcache1Destroy(tls *libc.TLS, p uintptr) { /* sqlite3.c:52426:13: */ // This function is called during initialization (sqlite3_initialize()) to // install the default pluggable cache module, assuming the user has not // already provided an alternative. -func Xsqlite3PCacheSetDefault(tls *libc.TLS) { /* sqlite3.c:52449:21: */ +func Xsqlite3PCacheSetDefault(tls *libc.TLS) { /* sqlite3.c:52459:21: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -45330,16 +45340,16 @@ var defaultMethods1 = Sqlite3_pcache_methods2{ FxTruncate: 0, // xTruncate FxDestroy: 0, // xDestroy FxShrink: 0, // xShrink -} /* sqlite3.c:52450:40 */ +} /* sqlite3.c:52460:40 */ // Return the size of the header on each page of this PCACHE implementation. -func Xsqlite3HeaderSizePcache1(tls *libc.TLS) int32 { /* sqlite3.c:52471:20: */ +func Xsqlite3HeaderSizePcache1(tls *libc.TLS) int32 { /* sqlite3.c:52481:20: */ return int32((uint64(unsafe.Sizeof(PgHdr1{})) + uint64(7)) & libc.Uint64FromInt32(libc.CplInt32(7))) } // Return the global mutex used by this PCACHE implementation. The // sqlite3_status() routine needs access to this mutex. -func Xsqlite3Pcache1Mutex(tls *libc.TLS) uintptr { /* sqlite3.c:52477:30: */ +func Xsqlite3Pcache1Mutex(tls *libc.TLS) uintptr { /* sqlite3.c:52487:30: */ return pcache1_g.Fmutex } @@ -45350,7 +45360,7 @@ func Xsqlite3Pcache1Mutex(tls *libc.TLS) uintptr { /* sqlite3.c:52477:30: */ // nReq is the number of bytes of memory required. Once this much has // been released, the function returns. The return value is the total number // of bytes of memory released. -func Xsqlite3PcacheReleaseMemory(tls *libc.TLS, nReq int32) int32 { /* sqlite3.c:52491:20: */ +func Xsqlite3PcacheReleaseMemory(tls *libc.TLS, nReq int32) int32 { /* sqlite3.c:52501:20: */ var nFree int32 = 0 if Xsqlite3Config.FpPage == uintptr(0) { @@ -45467,7 +45477,7 @@ type RowSetChunk = struct { // Allocate a RowSet object. Return NULL if a memory allocation // error occurs. -func Xsqlite3RowSetInit(tls *libc.TLS, db uintptr) uintptr { /* sqlite3.c:52671:23: */ +func Xsqlite3RowSetInit(tls *libc.TLS, db uintptr) uintptr { /* sqlite3.c:52681:23: */ var p uintptr = Xsqlite3DbMallocRawNN(tls, db, uint64(unsafe.Sizeof(RowSet{}))) if p != 0 { var N int32 = Xsqlite3DbMallocSize(tls, db, p) @@ -45487,7 +45497,7 @@ func Xsqlite3RowSetInit(tls *libc.TLS, db uintptr) uintptr { /* sqlite3.c:52671: // Deallocate all chunks from a RowSet. This frees all memory that // the RowSet has allocated over its lifetime. This routine is // the destructor for the RowSet. -func Xsqlite3RowSetClear(tls *libc.TLS, pArg uintptr) { /* sqlite3.c:52693:21: */ +func Xsqlite3RowSetClear(tls *libc.TLS, pArg uintptr) { /* sqlite3.c:52703:21: */ var p uintptr = pArg var pChunk uintptr var pNextChunk uintptr @@ -45506,7 +45516,7 @@ func Xsqlite3RowSetClear(tls *libc.TLS, pArg uintptr) { /* sqlite3.c:52693:21: * // Deallocate all chunks from a RowSet. This frees all memory that // the RowSet has allocated over its lifetime. This routine is // the destructor for the RowSet. -func Xsqlite3RowSetDelete(tls *libc.TLS, pArg uintptr) { /* sqlite3.c:52713:21: */ +func Xsqlite3RowSetDelete(tls *libc.TLS, pArg uintptr) { /* sqlite3.c:52723:21: */ Xsqlite3RowSetClear(tls, pArg) Xsqlite3DbFree(tls, (*RowSet)(unsafe.Pointer(pArg)).Fdb, pArg) } @@ -45517,7 +45527,7 @@ func Xsqlite3RowSetDelete(tls *libc.TLS, pArg uintptr) { /* sqlite3.c:52713:21: // // In an OOM situation, the RowSet.db->mallocFailed flag is set and this // routine returns NULL. -func rowSetEntryAlloc(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:52726:27: */ +func rowSetEntryAlloc(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:52736:27: */ if int32((*RowSet)(unsafe.Pointer(p)).FnFresh) == 0 { //OPTIMIZATION-IF-FALSE // We could allocate a fresh RowSetEntry each time one is needed, but it @@ -45540,7 +45550,7 @@ func rowSetEntryAlloc(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:52726:27: // // The mallocFailed flag of the database connection is set if a // memory allocation fails. -func Xsqlite3RowSetInsert(tls *libc.TLS, p uintptr, rowid I64) { /* sqlite3.c:52751:21: */ +func Xsqlite3RowSetInsert(tls *libc.TLS, p uintptr, rowid I64) { /* sqlite3.c:52761:21: */ var pEntry uintptr // The new entry var pLast uintptr // The last prior entry @@ -45570,7 +45580,7 @@ func Xsqlite3RowSetInsert(tls *libc.TLS, p uintptr, rowid I64) { /* sqlite3.c:52 // // The input lists are connected via pRight pointers and are // assumed to each already be in sorted order. -func rowSetEntryMerge(tls *libc.TLS, pA uintptr, pB uintptr) uintptr { /* sqlite3.c:52782:27: */ +func rowSetEntryMerge(tls *libc.TLS, pA uintptr, pB uintptr) uintptr { /* sqlite3.c:52792:27: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -45605,7 +45615,7 @@ func rowSetEntryMerge(tls *libc.TLS, pA uintptr, pB uintptr) uintptr { /* sqlite // Sort all elements on the list of RowSetEntry objects into order of // increasing v. -func rowSetEntrySort(tls *libc.TLS, pIn uintptr) uintptr { /* sqlite3.c:52817:27: */ +func rowSetEntrySort(tls *libc.TLS, pIn uintptr) uintptr { /* sqlite3.c:52827:27: */ bp := tls.Alloc(320) defer tls.Free(320) @@ -45641,7 +45651,7 @@ func rowSetEntrySort(tls *libc.TLS, pIn uintptr) uintptr { /* sqlite3.c:52817:27 // The input, pIn, is a binary tree (or subtree) of RowSetEntry objects. // Convert this tree into a linked list connected by the pRight pointers // and return pointers to the first and last elements of the new list. -func rowSetTreeToList(tls *libc.TLS, pIn uintptr, ppFirst uintptr, ppLast uintptr) { /* sqlite3.c:52846:13: */ +func rowSetTreeToList(tls *libc.TLS, pIn uintptr, ppFirst uintptr, ppLast uintptr) { /* sqlite3.c:52856:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -45672,7 +45682,7 @@ func rowSetTreeToList(tls *libc.TLS, pIn uintptr, ppFirst uintptr, ppLast uintpt // and leave *ppList set to NULL. // // Return a pointer to the root of the constructed binary tree. -func rowSetNDeepTree(tls *libc.TLS, ppList uintptr, iDepth int32) uintptr { /* sqlite3.c:52881:27: */ +func rowSetNDeepTree(tls *libc.TLS, ppList uintptr, iDepth int32) uintptr { /* sqlite3.c:52891:27: */ var p uintptr // Root of the new tree var pLeft uintptr // Left subtree if *(*uintptr)(unsafe.Pointer(ppList)) == uintptr(0) { //OPTIMIZATION-IF-TRUE @@ -45703,7 +45713,7 @@ func rowSetNDeepTree(tls *libc.TLS, ppList uintptr, iDepth int32) uintptr { /* s // Convert a sorted list of elements into a binary tree. Make the tree // as deep as it needs to be in order to contain the entire list. -func rowSetListToTree(tls *libc.TLS, pList uintptr) uintptr { /* sqlite3.c:52917:27: */ +func rowSetListToTree(tls *libc.TLS, pList uintptr) uintptr { /* sqlite3.c:52927:27: */ bp := tls.Alloc(8) defer tls.Free(8) *(*uintptr)(unsafe.Pointer(bp)) = pList @@ -45736,7 +45746,7 @@ func rowSetListToTree(tls *libc.TLS, pList uintptr) uintptr { /* sqlite3.c:52917 // been used. Older versions of RowSet allowed that, but as the // capability was not used by the code generator, it was removed // for code economy. -func Xsqlite3RowSetNext(tls *libc.TLS, p uintptr, pRowid uintptr) int32 { /* sqlite3.c:52949:20: */ +func Xsqlite3RowSetNext(tls *libc.TLS, p uintptr, pRowid uintptr) int32 { /* sqlite3.c:52959:20: */ // Cannot be used with sqlite3RowSetText() @@ -45769,7 +45779,7 @@ func Xsqlite3RowSetNext(tls *libc.TLS, p uintptr, pRowid uintptr) int32 { /* sql // If this is the first test of a new batch and if there exist entries // on pRowSet->pEntry, then sort those entries into the forest at // pRowSet->pForest so that they can be tested. -func Xsqlite3RowSetTest(tls *libc.TLS, pRowSet uintptr, iBatch int32, iRowid Sqlite3_int64) int32 { /* sqlite3.c:52983:20: */ +func Xsqlite3RowSetTest(tls *libc.TLS, pRowSet uintptr, iBatch int32, iRowid Sqlite3_int64) int32 { /* sqlite3.c:52993:20: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -45954,7 +45964,7 @@ type Wal1 = struct { // Connection to a write-ahead log (WAL) file. // There is one object of this type for each pager. -type Wal = Wal1 /* sqlite3.c:53125:20 */ +type Wal = Wal1 /* sqlite3.c:53135:20 */ //************* End of wal.h ************************************************ //************* Continuing where we left off in pager.c ********************* @@ -46723,7 +46733,7 @@ type PagerSavepoint1 = struct { // immediately following the last journal record written into the main // journal before the journal-header. This is required during savepoint // rollback (see pagerPlaybackSavepoint()). -type PagerSavepoint = PagerSavepoint1 /* sqlite3.c:53636:31 */ +type PagerSavepoint = PagerSavepoint1 /* sqlite3.c:53646:31 */ // Indexes for use with Pager.aStat[]. The Pager.aStat[] array contains // the values accessed by passing SQLITE_DBSTATUS_CACHE_HIT, CACHE_MISS @@ -46756,11 +46766,11 @@ type PagerSavepoint = PagerSavepoint1 /* sqlite3.c:53636:31 */ // is different for every journal, we minimize that risk. var aJournalMagic = [8]uint8{ uint8(0xd9), uint8(0xd5), uint8(0x05), uint8(0xf9), uint8(0x20), uint8(0xa1), uint8(0x63), uint8(0xd7), -} /* sqlite3.c:53958:28 */ +} /* sqlite3.c:53968:28 */ // Set the Pager.xGet method for the appropriate routine used to fetch // content from the pager. -func setGetterMethod(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:54251:13: */ +func setGetterMethod(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:54261:13: */ if (*Pager)(unsafe.Pointer(pPager)).FerrCode != 0 { (*Pager)(unsafe.Pointer(pPager)).FxGet = *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, Pgno, uintptr, int32) int32 @@ -46783,7 +46793,7 @@ func setGetterMethod(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:54251:13: */ // * The page-number is less than or equal to PagerSavepoint.nOrig, and // * The bit corresponding to the page-number is not set in // PagerSavepoint.pInSavepoint. -func subjRequiresPage(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:54272:12: */ +func subjRequiresPage(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:54282:12: */ var pPager uintptr = (*PgHdr)(unsafe.Pointer(pPg)).FpPager var p uintptr var pgno Pgno = (*PgHdr)(unsafe.Pointer(pPg)).Fpgno @@ -46805,7 +46815,7 @@ func subjRequiresPage(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:54272:12: // error code is something goes wrong. // // All values are stored on disk as big-endian. -func read32bits(tls *libc.TLS, fd uintptr, offset I64, pRes uintptr) int32 { /* sqlite3.c:54305:12: */ +func read32bits(tls *libc.TLS, fd uintptr, offset I64, pRes uintptr) int32 { /* sqlite3.c:54315:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -46822,7 +46832,7 @@ func read32bits(tls *libc.TLS, fd uintptr, offset I64, pRes uintptr) int32 { /* // Write a 32-bit integer into the given file descriptor. Return SQLITE_OK // on success or an error code is something goes wrong. -func write32bits(tls *libc.TLS, fd uintptr, offset I64, val U32) int32 { /* sqlite3.c:54324:12: */ +func write32bits(tls *libc.TLS, fd uintptr, offset I64, val U32) int32 { /* sqlite3.c:54334:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -46839,7 +46849,7 @@ func write32bits(tls *libc.TLS, fd uintptr, offset I64, val U32) int32 { /* sqli // Except, if Pager.eLock is set to UNKNOWN_LOCK when this function is // called, do not modify it. See the comment above the #define of // UNKNOWN_LOCK for an explanation of this. -func pagerUnlockDb(tls *libc.TLS, pPager uintptr, eLock int32) int32 { /* sqlite3.c:54339:12: */ +func pagerUnlockDb(tls *libc.TLS, pPager uintptr, eLock int32) int32 { /* sqlite3.c:54349:12: */ var rc int32 = SQLITE_OK if (*Sqlite3_file)(unsafe.Pointer((*Pager)(unsafe.Pointer(pPager)).Ffd)).FpMethods != uintptr(0) { @@ -46866,7 +46876,7 @@ func pagerUnlockDb(tls *libc.TLS, pPager uintptr, eLock int32) int32 { /* sqlite // called, do not modify it unless the new locking state is EXCLUSIVE_LOCK. // See the comment above the #define of UNKNOWN_LOCK for an explanation // of this. -func pagerLockDb(tls *libc.TLS, pPager uintptr, eLock int32) int32 { /* sqlite3.c:54367:12: */ +func pagerLockDb(tls *libc.TLS, pPager uintptr, eLock int32) int32 { /* sqlite3.c:54377:12: */ var rc int32 = SQLITE_OK if int32((*Pager)(unsafe.Pointer(pPager)).FeLock) < eLock || int32((*Pager)(unsafe.Pointer(pPager)).FeLock) == EXCLUSIVE_LOCK+1 { @@ -46900,7 +46910,7 @@ func pagerLockDb(tls *libc.TLS, pPager uintptr, eLock int32) int32 { /* sqlite3. // returned in this case. // // If neither optimization can be used, 0 is returned. -func jrnlBufferSize(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:54400:12: */ +func jrnlBufferSize(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:54410:12: */ _ = pPager @@ -46934,7 +46944,7 @@ func jrnlBufferSize(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:54400:12 // // If an error occurs while reading from the journal file, an SQLite // error code is returned. -func readSuperJournal(tls *libc.TLS, pJrnl uintptr, zSuper uintptr, nSuper U32) int32 { /* sqlite3.c:54505:12: */ +func readSuperJournal(tls *libc.TLS, pJrnl uintptr, zSuper uintptr, nSuper U32) int32 { /* sqlite3.c:54515:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -46993,7 +47003,7 @@ func readSuperJournal(tls *libc.TLS, pJrnl uintptr, zSuper uintptr, nSuper U32) // 100 512 // 2000 2048 // -func journalHdrOffset(tls *libc.TLS, pPager uintptr) I64 { /* sqlite3.c:54561:12: */ +func journalHdrOffset(tls *libc.TLS, pPager uintptr) I64 { /* sqlite3.c:54571:12: */ var offset I64 = int64(0) var c I64 = (*Pager)(unsafe.Pointer(pPager)).FjournalOff if c != 0 { @@ -47022,7 +47032,7 @@ func journalHdrOffset(tls *libc.TLS, pPager uintptr) I64 { /* sqlite3.c:54561:12 // // If an IO error occurs, abandon processing and return the IO error code. // Otherwise, return SQLITE_OK. -func zeroJournalHdr(tls *libc.TLS, pPager uintptr, doTruncate int32) int32 { /* sqlite3.c:54594:12: */ +func zeroJournalHdr(tls *libc.TLS, pPager uintptr, doTruncate int32) int32 { /* sqlite3.c:54604:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -47057,7 +47067,7 @@ func zeroJournalHdr(tls *libc.TLS, pPager uintptr, doTruncate int32) int32 { /* return rc } -var zeroHdr = [28]int8{0: int8(0)} /* sqlite3.c:54605:25 */ +var zeroHdr = [28]int8{0: int8(0)} /* sqlite3.c:54615:25 */ // The journal file must be open when this routine is called. A journal // header (JOURNAL_HDR_SZ bytes) is written into the journal file at the @@ -47072,7 +47082,7 @@ var zeroHdr = [28]int8{0: int8(0)} /* sqlite3.c:54605:25 */ // - 4 bytes: Database page size. // // Followed by (JOURNAL_HDR_SZ - 28) bytes of unused space. -func writeJournalHdr(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:54644:12: */ +func writeJournalHdr(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:54654:12: */ var rc int32 = SQLITE_OK // Return code var zHeader uintptr = (*Pager)(unsafe.Pointer(pPager)).FpTmpSpace // Temporary space used to build header var nHeader U32 = U32((*Pager)(unsafe.Pointer(pPager)).FpageSize) // Size of buffer pointed to by zHeader @@ -47181,7 +47191,7 @@ func writeJournalHdr(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:54644:1 // If the journal header file appears to be corrupted, SQLITE_DONE is // returned and *pNRec and *PDbSize are undefined. If JOURNAL_HDR_SZ bytes // cannot be read from the journal file an error code is returned. -func readJournalHdr(tls *libc.TLS, pPager uintptr, isHot int32, journalSize I64, pNRec uintptr, pDbSize uintptr) int32 { /* sqlite3.c:54762:12: */ +func readJournalHdr(tls *libc.TLS, pPager uintptr, isHot int32, journalSize I64, pNRec uintptr, pDbSize uintptr) int32 { /* sqlite3.c:54772:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -47291,7 +47301,7 @@ func readJournalHdr(tls *libc.TLS, pPager uintptr, isHot int32, journalSize I64, // // If zSuper is a NULL pointer (occurs for a single database transaction), // this call is a no-op. -func writeSuperJournal(tls *libc.TLS, pPager uintptr, zSuper uintptr) int32 { /* sqlite3.c:54887:12: */ +func writeSuperJournal(tls *libc.TLS, pPager uintptr, zSuper uintptr) int32 { /* sqlite3.c:54897:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -47351,21 +47361,21 @@ func writeSuperJournal(tls *libc.TLS, pPager uintptr, zSuper uintptr) int32 { /* } // Discard the entire contents of the in-memory page-cache. -func pager_reset(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:54955:13: */ +func pager_reset(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:54965:13: */ (*Pager)(unsafe.Pointer(pPager)).FiDataVersion++ Xsqlite3BackupRestart(tls, (*Pager)(unsafe.Pointer(pPager)).FpBackup) Xsqlite3PcacheClear(tls, (*Pager)(unsafe.Pointer(pPager)).FpPCache) } // Return the pPager->iDataVersion value -func Xsqlite3PagerDataVersion(tls *libc.TLS, pPager uintptr) U32 { /* sqlite3.c:54964:20: */ +func Xsqlite3PagerDataVersion(tls *libc.TLS, pPager uintptr) U32 { /* sqlite3.c:54974:20: */ return (*Pager)(unsafe.Pointer(pPager)).FiDataVersion } // Free all structures in the Pager.aSavepoint[] array and set both // Pager.aSavepoint and Pager.nSavepoint to zero. Close the sub-journal // if it is open and the pager is not in exclusive mode. -func releaseAllSavepoints(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:54973:13: */ +func releaseAllSavepoints(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:54983:13: */ var ii int32 // Iterator for looping through Pager.aSavepoint for ii = 0; ii < (*Pager)(unsafe.Pointer(pPager)).FnSavepoint; ii++ { Xsqlite3BitvecDestroy(tls, (*PagerSavepoint)(unsafe.Pointer((*Pager)(unsafe.Pointer(pPager)).FaSavepoint+uintptr(ii)*56)).FpInSavepoint) @@ -47382,7 +47392,7 @@ func releaseAllSavepoints(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:54973:13 // Set the bit number pgno in the PagerSavepoint.pInSavepoint // bitvecs of all open savepoints. Return SQLITE_OK if successful // or SQLITE_NOMEM if a malloc failure occurs. -func addToSavepointBitvecs(tls *libc.TLS, pPager uintptr, pgno Pgno) int32 { /* sqlite3.c:54992:12: */ +func addToSavepointBitvecs(tls *libc.TLS, pPager uintptr, pgno Pgno) int32 { /* sqlite3.c:55002:12: */ var ii int32 // Loop counter var rc int32 = SQLITE_OK // Result code @@ -47411,7 +47421,7 @@ func addToSavepointBitvecs(tls *libc.TLS, pPager uintptr, pgno Pgno) int32 { /* // or not, any journal file left in the file-system will be treated // as a hot-journal and rolled back the next time a read-transaction // is opened (by this or by any other connection). -func pager_unlock(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:55024:13: */ +func pager_unlock(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:55034:13: */ Xsqlite3BitvecDestroy(tls, (*Pager)(unsafe.Pointer(pPager)).FpInJournal) (*Pager)(unsafe.Pointer(pPager)).FpInJournal = uintptr(0) @@ -47503,7 +47513,7 @@ func pager_unlock(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:55024:13: */ // the persistent error occurred, then the rollback journal may need // to be replayed to restore the contents of the database file (as if // it were a hot-journal). -func pager_error(tls *libc.TLS, pPager uintptr, rc int32) int32 { /* sqlite3.c:55121:12: */ +func pager_error(tls *libc.TLS, pPager uintptr, rc int32) int32 { /* sqlite3.c:55131:12: */ var rc2 int32 = rc & 0xff if rc2 == SQLITE_FULL || rc2 == SQLITE_IOERR { @@ -47528,7 +47538,7 @@ func pager_error(tls *libc.TLS, pPager uintptr, rc int32) int32 { /* sqlite3.c:5 // file has been created already (via a spill on pagerStress()) and // when the number of dirty pages in memory exceeds 25% of the total // cache size. -func pagerFlushOnCommit(tls *libc.TLS, pPager uintptr, bCommit int32) int32 { /* sqlite3.c:55155:12: */ +func pagerFlushOnCommit(tls *libc.TLS, pPager uintptr, bCommit int32) int32 { /* sqlite3.c:55165:12: */ if int32((*Pager)(unsafe.Pointer(pPager)).FtempFile) == 0 { return 1 } @@ -47592,7 +47602,7 @@ func pagerFlushOnCommit(tls *libc.TLS, pPager uintptr, bCommit int32) int32 { /* // unlock operation fails as well, then the first error code related // to the first error encountered (the journal finalization one) is // returned. -func pager_end_transaction(tls *libc.TLS, pPager uintptr, hasSuper int32, bCommit int32) int32 { /* sqlite3.c:55215:12: */ +func pager_end_transaction(tls *libc.TLS, pPager uintptr, hasSuper int32, bCommit int32) int32 { /* sqlite3.c:55225:12: */ var rc int32 = SQLITE_OK // Error code from journal finalization operation var rc2 int32 = SQLITE_OK // Error code from db file unlock operation @@ -47719,7 +47729,7 @@ func pager_end_transaction(tls *libc.TLS, pPager uintptr, hasSuper int32, bCommi // malloc error occurs during a rollback, then this will itself cause // the pager to enter the ERROR state. Which will be cleared by the // call to pager_unlock(), as described above. -func pagerUnlockAndRollback(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:55362:13: */ +func pagerUnlockAndRollback(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:55372:13: */ if int32((*Pager)(unsafe.Pointer(pPager)).FeState) != PAGER_ERROR && int32((*Pager)(unsafe.Pointer(pPager)).FeState) != PAGER_OPEN { if int32((*Pager)(unsafe.Pointer(pPager)).FeState) >= PAGER_WRITER_LOCKED { @@ -47751,7 +47761,7 @@ func pagerUnlockAndRollback(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:55362: // It is much less likely that the two ends of the journal record will be // correct and the middle be corrupt. Thus, this "checksum" scheme, // though fast and simple, catches the mostly likely kind of corruption. -func pager_cksum(tls *libc.TLS, pPager uintptr, aData uintptr) U32 { /* sqlite3.c:55396:12: */ +func pager_cksum(tls *libc.TLS, pPager uintptr, aData uintptr) U32 { /* sqlite3.c:55406:12: */ var cksum U32 = (*Pager)(unsafe.Pointer(pPager)).FcksumInit // Checksum value to return var i int32 = int32((*Pager)(unsafe.Pointer(pPager)).FpageSize - int64(200)) // Loop counter for i > 0 { @@ -47796,7 +47806,7 @@ func pager_cksum(tls *libc.TLS, pPager uintptr, aData uintptr) U32 { /* sqlite3. // If this is a savepoint rollback, then memory may have to be dynamically // allocated by this function. If this is the case and an allocation fails, // SQLITE_NOMEM is returned. -func pager_playback_one_page(tls *libc.TLS, pPager uintptr, pOffset uintptr, pDone uintptr, isMainJrnl int32, isSavepnt int32) int32 { /* sqlite3.c:55443:12: */ +func pager_playback_one_page(tls *libc.TLS, pPager uintptr, pOffset uintptr, pDone uintptr, isMainJrnl int32, isSavepnt int32) int32 { /* sqlite3.c:55453:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -48030,7 +48040,7 @@ func pager_playback_one_page(tls *libc.TLS, pPager uintptr, pOffset uintptr, pDo // the entire contents of the super-journal file. This could be // a couple of kilobytes or so - potentially larger than the page // size. -func pager_delsuper(tls *libc.TLS, pPager uintptr, zSuper uintptr) int32 { /* sqlite3.c:55690:12: */ +func pager_delsuper(tls *libc.TLS, pPager uintptr, zSuper uintptr) int32 { /* sqlite3.c:55700:12: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -48196,7 +48206,7 @@ __14: // // If successful, return SQLITE_OK. If an IO error occurs while modifying // the database file, return the error code to the caller. -func pager_truncate(tls *libc.TLS, pPager uintptr, nPage Pgno) int32 { /* sqlite3.c:55808:12: */ +func pager_truncate(tls *libc.TLS, pPager uintptr, nPage Pgno) int32 { /* sqlite3.c:55818:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -48231,7 +48241,7 @@ func pager_truncate(tls *libc.TLS, pPager uintptr, nPage Pgno) int32 { /* sqlite // Return a sanitized version of the sector-size of OS file pFile. The // return value is guaranteed to lie between 32 and MAX_SECTOR_SIZE. -func Xsqlite3SectorSize(tls *libc.TLS, pFile uintptr) int32 { /* sqlite3.c:55844:20: */ +func Xsqlite3SectorSize(tls *libc.TLS, pFile uintptr) int32 { /* sqlite3.c:55854:20: */ var iRet int32 = Xsqlite3OsSectorSize(tls, pFile) if iRet < 32 { iRet = 512 @@ -48263,7 +48273,7 @@ func Xsqlite3SectorSize(tls *libc.TLS, pFile uintptr) int32 { /* sqlite3.c:55844 // (that is what POWERSAFE_OVERWRITE means), so we minimize the sector // size. For backwards compatibility of the rollback journal file format, // we cannot reduce the effective sector size below 512. -func setSectorSize(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:55878:13: */ +func setSectorSize(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:55888:13: */ if (*Pager)(unsafe.Pointer(pPager)).FtempFile != 0 || Xsqlite3OsDeviceCharacteristics(tls, (*Pager)(unsafe.Pointer(pPager)).Ffd)&SQLITE_IOCAP_POWERSAFE_OVERWRITE != 0 { @@ -48331,7 +48341,7 @@ func setSectorSize(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:55878:13: */ // If the journal really is hot, reset the pager cache prior rolling // back any content. If the journal is merely persistent, no reset is // needed. -func pager_playback(tls *libc.TLS, pPager uintptr, isHot int32) int32 { /* sqlite3.c:55951:12: */ +func pager_playback(tls *libc.TLS, pPager uintptr, isHot int32) int32 { /* sqlite3.c:55961:12: */ bp := tls.Alloc(40) defer tls.Free(40) @@ -48622,7 +48632,7 @@ __28: // // If an IO error occurs, then the IO error is returned to the caller. // Otherwise, SQLITE_OK is returned. -func readDbPage(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:56171:12: */ +func readDbPage(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:56181:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -48676,7 +48686,7 @@ func readDbPage(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:56171:12: */ // This is an unconditional update. See also the pager_incr_changecounter() // routine which only updates the change-counter if the update is actually // needed, as determined by the pPager->changeCountDone state variable. -func pager_write_changecounter(tls *libc.TLS, pPg uintptr) { /* sqlite3.c:56234:13: */ +func pager_write_changecounter(tls *libc.TLS, pPg uintptr) { /* sqlite3.c:56244:13: */ var change_counter U32 if pPg == uintptr(0) { return @@ -48703,7 +48713,7 @@ func pager_write_changecounter(tls *libc.TLS, pPg uintptr) { /* sqlite3.c:56234: // references, the page content is reloaded from the database. If the // attempt to reload content from the database is required and fails, // return an SQLite error code. Otherwise, SQLITE_OK. -func pagerUndoCallback(tls *libc.TLS, pCtx uintptr, iPg Pgno) int32 { /* sqlite3.c:56262:12: */ +func pagerUndoCallback(tls *libc.TLS, pCtx uintptr, iPg Pgno) int32 { /* sqlite3.c:56272:12: */ var rc int32 = SQLITE_OK var pPager uintptr = pCtx var pPg uintptr @@ -48734,7 +48744,7 @@ func pagerUndoCallback(tls *libc.TLS, pCtx uintptr, iPg Pgno) int32 { /* sqlite3 } // This function is called to rollback a transaction on a WAL database. -func pagerRollbackWal(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:56297:12: */ +func pagerRollbackWal(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:56307:12: */ var rc int32 // Return Code var pList uintptr // List of dirty pages to revert @@ -48765,7 +48775,7 @@ func pagerRollbackWal(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:56297: // // The list of pages passed into this routine is always sorted by page number. // Hence, if page 1 appears anywhere on the list, it will be the first page. -func pagerWalFrames(tls *libc.TLS, pPager uintptr, pList uintptr, nTruncate Pgno, isCommit int32) int32 { /* sqlite3.c:56329:12: */ +func pagerWalFrames(tls *libc.TLS, pPager uintptr, pList uintptr, nTruncate Pgno, isCommit int32) int32 { /* sqlite3.c:56339:12: */ bp := tls.Alloc(8) defer tls.Free(8) *(*uintptr)(unsafe.Pointer(bp)) = pList @@ -48813,7 +48823,7 @@ func pagerWalFrames(tls *libc.TLS, pPager uintptr, pList uintptr, nTruncate Pgno // makes a snapshot of the database at the current point in time and preserves // that snapshot for use by the reader in spite of concurrently changes by // other writers or checkpointers. -func pagerBeginReadTransaction(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:56396:12: */ +func pagerBeginReadTransaction(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:56406:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -48844,7 +48854,7 @@ func pagerBeginReadTransaction(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3 // If no error occurs, SQLITE_OK is returned and the size of the database // in pages is stored in *pnPage. Otherwise, an error code (perhaps // SQLITE_IOERR_FSTAT) is returned and *pnPage is left unmodified. -func pagerPagecount(tls *libc.TLS, pPager uintptr, pnPage uintptr) int32 { /* sqlite3.c:56429:12: */ +func pagerPagecount(tls *libc.TLS, pPager uintptr, pnPage uintptr) int32 { /* sqlite3.c:56439:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -48898,7 +48908,7 @@ func pagerPagecount(tls *libc.TLS, pPager uintptr, pnPage uintptr) int32 { /* sq // a WAL on a none-empty database, this ensures there is no race condition // between the xAccess() below and an xDelete() being executed by some // other connection. -func pagerOpenWalIfPresent(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:56489:12: */ +func pagerOpenWalIfPresent(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:56499:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -48966,7 +48976,7 @@ func pagerOpenWalIfPresent(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:5 // is reset to the value that it held at the start of the savepoint // (or transaction). No page with a page-number greater than this value // is played back. If one is encountered it is simply skipped. -func pagerPlaybackSavepoint(tls *libc.TLS, pPager uintptr, pSavepoint uintptr) int32 { /* sqlite3.c:56556:12: */ +func pagerPlaybackSavepoint(tls *libc.TLS, pPager uintptr, pSavepoint uintptr) int32 { /* sqlite3.c:56566:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -49075,18 +49085,18 @@ func pagerPlaybackSavepoint(tls *libc.TLS, pPager uintptr, pSavepoint uintptr) i // Change the maximum number of in-memory pages that are allowed // before attempting to recycle clean and unused pages. -func Xsqlite3PagerSetCachesize(tls *libc.TLS, pPager uintptr, mxPage int32) { /* sqlite3.c:56668:21: */ +func Xsqlite3PagerSetCachesize(tls *libc.TLS, pPager uintptr, mxPage int32) { /* sqlite3.c:56678:21: */ Xsqlite3PcacheSetCachesize(tls, (*Pager)(unsafe.Pointer(pPager)).FpPCache, mxPage) } // Change the maximum number of in-memory pages that are allowed // before attempting to spill pages to journal. -func Xsqlite3PagerSetSpillsize(tls *libc.TLS, pPager uintptr, mxPage int32) int32 { /* sqlite3.c:56676:20: */ +func Xsqlite3PagerSetSpillsize(tls *libc.TLS, pPager uintptr, mxPage int32) int32 { /* sqlite3.c:56686:20: */ return Xsqlite3PcacheSetSpillsize(tls, (*Pager)(unsafe.Pointer(pPager)).FpPCache, mxPage) } // Invoke SQLITE_FCNTL_MMAP_SIZE based on the current value of szMmap. -func pagerFixMaplimit(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:56683:13: */ +func pagerFixMaplimit(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:56693:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -49102,13 +49112,13 @@ func pagerFixMaplimit(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:56683:13: */ } // Change the maximum size of any memory mapping made of the database file. -func Xsqlite3PagerSetMmapLimit(tls *libc.TLS, pPager uintptr, szMmap Sqlite3_int64) { /* sqlite3.c:56699:21: */ +func Xsqlite3PagerSetMmapLimit(tls *libc.TLS, pPager uintptr, szMmap Sqlite3_int64) { /* sqlite3.c:56709:21: */ (*Pager)(unsafe.Pointer(pPager)).FszMmap = szMmap pagerFixMaplimit(tls, pPager) } // Free as much memory as possible from the pager. -func Xsqlite3PagerShrink(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:56707:21: */ +func Xsqlite3PagerShrink(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:56717:21: */ Xsqlite3PcacheShrink(tls, (*Pager)(unsafe.Pointer(pPager)).FpPCache) } @@ -49161,7 +49171,7 @@ func Xsqlite3PagerShrink(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:56707:21: // // Numeric values associated with these states are OFF==1, NORMAL=2, // and FULL=3. -func Xsqlite3PagerSetFlags(tls *libc.TLS, pPager uintptr, pgFlags uint32) { /* sqlite3.c:56763:21: */ +func Xsqlite3PagerSetFlags(tls *libc.TLS, pPager uintptr, pgFlags uint32) { /* sqlite3.c:56773:21: */ var level uint32 = pgFlags & uint32(PAGER_SYNCHRONOUS_MASK) if (*Pager)(unsafe.Pointer(pPager)).FtempFile != 0 { (*Pager)(unsafe.Pointer(pPager)).FnoSync = U8(1) @@ -49225,7 +49235,7 @@ func Xsqlite3PagerSetFlags(tls *libc.TLS, pPager uintptr, pgFlags uint32) { /* s // SQLITE_OPEN_CREATE // SQLITE_OPEN_EXCLUSIVE // SQLITE_OPEN_DELETEONCLOSE -func pagerOpentemp(tls *libc.TLS, pPager uintptr, pFile uintptr, vfsFlags int32) int32 { /* sqlite3.c:56823:12: */ +func pagerOpentemp(tls *libc.TLS, pPager uintptr, pFile uintptr, vfsFlags int32) int32 { /* sqlite3.c:56833:12: */ var rc int32 // Return code vfsFlags = vfsFlags | (SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE | SQLITE_OPEN_EXCLUSIVE | SQLITE_OPEN_DELETEONCLOSE) @@ -49253,7 +49263,7 @@ func pagerOpentemp(tls *libc.TLS, pPager uintptr, pFile uintptr, vfsFlags int32) // If the busy-handler callback returns non-zero, the lock is // retried. If it returns zero, then the SQLITE_BUSY error is // returned to the caller of the pager API function. -func Xsqlite3PagerSetBusyHandler(tls *libc.TLS, pPager uintptr, xBusyHandler uintptr, pBusyHandlerArg uintptr) { /* sqlite3.c:56862:21: */ +func Xsqlite3PagerSetBusyHandler(tls *libc.TLS, pPager uintptr, xBusyHandler uintptr, pBusyHandlerArg uintptr) { /* sqlite3.c:56872:21: */ var ap uintptr (*Pager)(unsafe.Pointer(pPager)).FxBusyHandler = xBusyHandler (*Pager)(unsafe.Pointer(pPager)).FpBusyHandlerArg = pBusyHandlerArg @@ -49290,7 +49300,7 @@ func Xsqlite3PagerSetBusyHandler(tls *libc.TLS, pPager uintptr, xBusyHandler uin // conditions above is not true, the pager was in error state when this // function was called, or because the memory allocation attempt failed, // then *pPageSize is set to the old, retained page size before returning. -func Xsqlite3PagerSetPagesize(tls *libc.TLS, pPager uintptr, pPageSize uintptr, nReserve int32) int32 { /* sqlite3.c:56906:20: */ +func Xsqlite3PagerSetPagesize(tls *libc.TLS, pPager uintptr, pPageSize uintptr, nReserve int32) int32 { /* sqlite3.c:56916:20: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -49359,7 +49369,7 @@ func Xsqlite3PagerSetPagesize(tls *libc.TLS, pPager uintptr, pPageSize uintptr, // during rollback and will be overwritten whenever a rollback // occurs. But other modules are free to use it too, as long as // no rollbacks are happening. -func Xsqlite3PagerTempSpace(tls *libc.TLS, pPager uintptr) uintptr { /* sqlite3.c:56974:21: */ +func Xsqlite3PagerTempSpace(tls *libc.TLS, pPager uintptr) uintptr { /* sqlite3.c:56984:21: */ return (*Pager)(unsafe.Pointer(pPager)).FpTmpSpace } @@ -49368,7 +49378,7 @@ func Xsqlite3PagerTempSpace(tls *libc.TLS, pPager uintptr) uintptr { /* sqlite3. // maximum page count below the current size of the database. // // Regardless of mxPage, return the current maximum page count. -func Xsqlite3PagerMaxPageCount(tls *libc.TLS, pPager uintptr, mxPage Pgno) Pgno { /* sqlite3.c:56985:21: */ +func Xsqlite3PagerMaxPageCount(tls *libc.TLS, pPager uintptr, mxPage Pgno) Pgno { /* sqlite3.c:56995:21: */ if mxPage > Pgno(0) { (*Pager)(unsafe.Pointer(pPager)).FmxPgno = mxPage } @@ -49399,7 +49409,7 @@ func Xsqlite3PagerMaxPageCount(tls *libc.TLS, pPager uintptr, mxPage Pgno) Pgno // If any IO error apart from SQLITE_IOERR_SHORT_READ is encountered, // the error code is returned to the caller and the contents of the // output buffer undefined. -func Xsqlite3PagerReadFileheader(tls *libc.TLS, pPager uintptr, N int32, pDest uintptr) int32 { /* sqlite3.c:57035:20: */ +func Xsqlite3PagerReadFileheader(tls *libc.TLS, pPager uintptr, N int32, pDest uintptr) int32 { /* sqlite3.c:57045:20: */ var rc int32 = SQLITE_OK libc.X__builtin___memset_chk(tls, pDest, 0, uint64(N), libc.X__builtin_object_size(tls, pDest, 0)) @@ -49422,7 +49432,7 @@ func Xsqlite3PagerReadFileheader(tls *libc.TLS, pPager uintptr, N int32, pDest u // // However, if the file is between 1 and bytes in size, then // this is considered a 1 page file. -func Xsqlite3PagerPagecount(tls *libc.TLS, pPager uintptr, pnPage uintptr) { /* sqlite3.c:57063:21: */ +func Xsqlite3PagerPagecount(tls *libc.TLS, pPager uintptr, pnPage uintptr) { /* sqlite3.c:57073:21: */ *(*int32)(unsafe.Pointer(pnPage)) = int32((*Pager)(unsafe.Pointer(pPager)).FdbSize) } @@ -49439,7 +49449,7 @@ func Xsqlite3PagerPagecount(tls *libc.TLS, pPager uintptr, pnPage uintptr) { /* // Return SQLITE_OK on success and an error code if we cannot obtain // the lock. If the lock is obtained successfully, set the Pager.state // variable to locktype before returning. -func pager_wait_on_lock(tls *libc.TLS, pPager uintptr, locktype int32) int32 { /* sqlite3.c:57084:12: */ +func pager_wait_on_lock(tls *libc.TLS, pPager uintptr, locktype int32) int32 { /* sqlite3.c:57094:12: */ var rc int32 // Return code // Check that this is either a no-op (because the requested lock is @@ -49484,7 +49494,7 @@ func pager_wait_on_lock(tls *libc.TLS, pPager uintptr, locktype int32) int32 { / // Once this function has been called, the transaction must either be // rolled back or committed. It is not safe to call this function and // then continue writing to the database. -func Xsqlite3PagerTruncateImage(tls *libc.TLS, pPager uintptr, nPage Pgno) { /* sqlite3.c:57155:21: */ +func Xsqlite3PagerTruncateImage(tls *libc.TLS, pPager uintptr, nPage Pgno) { /* sqlite3.c:57165:21: */ (*Pager)(unsafe.Pointer(pPager)).FdbSize = nPage @@ -49511,7 +49521,7 @@ func Xsqlite3PagerTruncateImage(tls *libc.TLS, pPager uintptr, nPage Pgno) { /* // // If everything goes as planned, SQLITE_OK is returned. Otherwise, // an SQLite error code. -func pagerSyncHotJournal(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:57186:12: */ +func pagerSyncHotJournal(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:57196:12: */ var rc int32 = SQLITE_OK if !(int32((*Pager)(unsafe.Pointer(pPager)).FnoSync) != 0) { rc = Xsqlite3OsSync(tls, (*Pager)(unsafe.Pointer(pPager)).Fjfd, SQLITE_SYNC_NORMAL) @@ -49530,7 +49540,7 @@ func pagerSyncHotJournal(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:571 // // Page references obtained by calling this function should be released // by calling pagerReleaseMapPage(). -func pagerAcquireMapPage(tls *libc.TLS, pPager uintptr, pgno Pgno, pData uintptr, ppPage uintptr) int32 { /* sqlite3.c:57208:12: */ +func pagerAcquireMapPage(tls *libc.TLS, pPager uintptr, pgno Pgno, pData uintptr, ppPage uintptr) int32 { /* sqlite3.c:57218:12: */ var p uintptr // Memory mapped page to return if (*Pager)(unsafe.Pointer(pPager)).FpMmapFreelist != 0 { @@ -49560,7 +49570,7 @@ func pagerAcquireMapPage(tls *libc.TLS, pPager uintptr, pgno Pgno, pData uintptr // Release a reference to page pPg. pPg must have been returned by an // earlier call to pagerAcquireMapPage(). -func pagerReleaseMapPage(tls *libc.TLS, pPg uintptr) { /* sqlite3.c:57252:13: */ +func pagerReleaseMapPage(tls *libc.TLS, pPg uintptr) { /* sqlite3.c:57262:13: */ var pPager uintptr = (*PgHdr)(unsafe.Pointer(pPg)).FpPager (*Pager)(unsafe.Pointer(pPager)).FnMmapOut-- (*PgHdr)(unsafe.Pointer(pPg)).FpDirty = (*Pager)(unsafe.Pointer(pPager)).FpMmapFreelist @@ -49570,7 +49580,7 @@ func pagerReleaseMapPage(tls *libc.TLS, pPg uintptr) { /* sqlite3.c:57252:13: */ } // Free all PgHdr objects stored in the Pager.pMmapFreelist list. -func pagerFreeMapHdrs(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:57265:13: */ +func pagerFreeMapHdrs(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:57275:13: */ var p uintptr var pNext uintptr for p = (*Pager)(unsafe.Pointer(pPager)).FpMmapFreelist; p != 0; p = pNext { @@ -49583,7 +49593,7 @@ func pagerFreeMapHdrs(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:57265:13: */ // under the pager. Return SQLITE_OK if the database is still where it ought // to be on disk. Return non-zero (SQLITE_READONLY_DBMOVED or some other error // code from sqlite3OsAccess()) if the database has gone missing. -func databaseIsUnmoved(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:57279:12: */ +func databaseIsUnmoved(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:57289:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -49621,7 +49631,7 @@ func databaseIsUnmoved(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:57279 // is made to roll it back. If an error occurs during the rollback // a hot journal may be left in the filesystem but no error is returned // to the caller. -func Xsqlite3PagerClose(tls *libc.TLS, pPager uintptr, db uintptr) int32 { /* sqlite3.c:57313:20: */ +func Xsqlite3PagerClose(tls *libc.TLS, pPager uintptr, db uintptr) int32 { /* sqlite3.c:57323:20: */ var pTmp uintptr = (*Pager)(unsafe.Pointer(pPager)).FpTmpSpace Xsqlite3BeginBenignMalloc(tls) @@ -49670,7 +49680,7 @@ func Xsqlite3PagerClose(tls *libc.TLS, pPager uintptr, db uintptr) int32 { /* sq } // Increment the reference count for page pPg. -func Xsqlite3PagerRef(tls *libc.TLS, pPg uintptr) { /* sqlite3.c:57382:21: */ +func Xsqlite3PagerRef(tls *libc.TLS, pPg uintptr) { /* sqlite3.c:57392:21: */ Xsqlite3PcacheRef(tls, pPg) } @@ -49707,7 +49717,7 @@ func Xsqlite3PagerRef(tls *libc.TLS, pPg uintptr) { /* sqlite3.c:57382:21: */ // If successful, this routine clears the PGHDR_NEED_SYNC flag of every // page currently held in memory before returning SQLITE_OK. If an IO // error is encountered, then the IO error code is returned to the caller. -func syncJournal(tls *libc.TLS, pPager uintptr, newHdr int32) int32 { /* sqlite3.c:57421:12: */ +func syncJournal(tls *libc.TLS, pPager uintptr, newHdr int32) int32 { /* sqlite3.c:57431:12: */ bp := tls.Alloc(20) defer tls.Free(20) @@ -49821,7 +49831,7 @@ func syncJournal(tls *libc.TLS, pPager uintptr, newHdr int32) int32 { /* sqlite3 return SQLITE_OK } -var zerobyte U8 = U8(0) /* sqlite3.c:57472:27 */ +var zerobyte U8 = U8(0) /* sqlite3.c:57482:27 */ // The argument is the first in a linked list of dirty pages connected // by the PgHdr.pDirty pointer. This function writes each one of the @@ -49853,7 +49863,7 @@ var zerobyte U8 = U8(0) /* sqlite3.c:57472:27 */ // If everything is successful, SQLITE_OK is returned. If an IO error // occurs, an IO error code is returned. Or, if the EXCLUSIVE lock cannot // be obtained, SQLITE_BUSY is returned. -func pager_write_pagelist(tls *libc.TLS, pPager uintptr, pList uintptr) int32 { /* sqlite3.c:57564:12: */ +func pager_write_pagelist(tls *libc.TLS, pPager uintptr, pList uintptr) int32 { /* sqlite3.c:57574:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -49933,7 +49943,7 @@ func pager_write_pagelist(tls *libc.TLS, pPager uintptr, pList uintptr) int32 { // SQLITE_OK is returned if everything goes according to plan. An // SQLITE_IOERR_XXX error code is returned if a call to sqlite3OsOpen() // fails. -func openSubJournal(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:57655:12: */ +func openSubJournal(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:57665:12: */ var rc int32 = SQLITE_OK if !((*Sqlite3_file)(unsafe.Pointer((*Pager)(unsafe.Pointer(pPager)).Fsjfd)).FpMethods != uintptr(0)) { var flags int32 = SQLITE_OPEN_SUBJOURNAL | SQLITE_OPEN_READWRITE | @@ -49957,7 +49967,7 @@ func openSubJournal(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:57655:12 // error code if the attempt to write to the sub-journal fails, or // SQLITE_NOMEM if a malloc fails while setting a bit in a savepoint // bitvec. -func subjournalPage(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:57681:12: */ +func subjournalPage(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:57691:12: */ var rc int32 = SQLITE_OK var pPager uintptr = (*PgHdr)(unsafe.Pointer(pPg)).FpPager if int32((*Pager)(unsafe.Pointer(pPager)).FjournalMode) != PAGER_JOURNALMODE_OFF { @@ -49988,7 +49998,7 @@ func subjournalPage(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:57681:12: * return rc } -func subjournalPageIfRequired(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:57717:12: */ +func subjournalPageIfRequired(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:57727:12: */ if subjRequiresPage(tls, pPg) != 0 { return subjournalPage(tls, pPg) } else { @@ -50014,7 +50024,7 @@ func subjournalPageIfRequired(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:5 // page clean, the IO error code is returned. If the page cannot be // made clean for some other reason, but no error occurs, then SQLITE_OK // is returned by sqlite3PcacheMakeClean() is not called. -func pagerStress(tls *libc.TLS, p uintptr, pPg uintptr) int32 { /* sqlite3.c:57744:12: */ +func pagerStress(tls *libc.TLS, p uintptr, pPg uintptr) int32 { /* sqlite3.c:57754:12: */ var pPager uintptr = p var rc int32 = SQLITE_OK @@ -50076,7 +50086,7 @@ func pagerStress(tls *libc.TLS, p uintptr, pPg uintptr) int32 { /* sqlite3.c:577 } // Flush all unreferenced dirty pages to disk. -func Xsqlite3PagerFlush(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:57821:20: */ +func Xsqlite3PagerFlush(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:57831:20: */ var rc int32 = (*Pager)(unsafe.Pointer(pPager)).FerrCode if !(int32((*Pager)(unsafe.Pointer(pPager)).FmemDb) != 0) { var pList uintptr = Xsqlite3PcacheDirtyList(tls, (*Pager)(unsafe.Pointer(pPager)).FpPCache) @@ -50123,7 +50133,7 @@ func Xsqlite3PagerFlush(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:5782 // and error code returned. This function may return SQLITE_NOMEM // (sqlite3Malloc() is used to allocate memory), SQLITE_CANTOPEN or // various SQLITE_IO_XXX errors. -func Xsqlite3PagerOpen(tls *libc.TLS, pVfs uintptr, ppPager uintptr, zFilename uintptr, nExtra int32, flags int32, vfsFlags int32, xReinit uintptr) int32 { /* sqlite3.c:57870:20: */ +func Xsqlite3PagerOpen(tls *libc.TLS, pVfs uintptr, ppPager uintptr, zFilename uintptr, nExtra int32, flags int32, vfsFlags int32, xReinit uintptr) int32 { /* sqlite3.c:57880:20: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -50249,7 +50259,7 @@ __11: // bytes in length. This means the database cannot be opened, // as it will not be possible to open the journal file or even // check for a hot-journal before reading. - rc = Xsqlite3CantopenError(tls, 57957) + rc = Xsqlite3CantopenError(tls, 57967) __12: ; if !(rc != SQLITE_OK) { @@ -50568,7 +50578,7 @@ __37: // Return the sqlite3_file for the main database given the name // of the corresonding WAL or Journal name as passed into // xOpen. -func Xsqlite3_database_file_object(tls *libc.TLS, zName uintptr) uintptr { /* sqlite3.c:58242:25: */ +func Xsqlite3_database_file_object(tls *libc.TLS, zName uintptr) uintptr { /* sqlite3.c:58252:25: */ var pPager uintptr for int32(*(*int8)(unsafe.Pointer(zName + libc.UintptrFromInt32(-1)))) != 0 || int32(*(*int8)(unsafe.Pointer(zName + libc.UintptrFromInt32(-2)))) != 0 || int32(*(*int8)(unsafe.Pointer(zName + libc.UintptrFromInt32(-3)))) != 0 || int32(*(*int8)(unsafe.Pointer(zName + libc.UintptrFromInt32(-4)))) != 0 { zName-- @@ -50606,7 +50616,7 @@ func Xsqlite3_database_file_object(tls *libc.TLS, zName uintptr) uintptr { /* sq // set to 0 and SQLITE_OK returned. If an IO error occurs while trying // to determine whether or not a hot-journal file exists, the IO error // code is returned and the value of *pExists is undefined. -func hasHotJournal(tls *libc.TLS, pPager uintptr, pExists uintptr) int32 { /* sqlite3.c:58283:12: */ +func hasHotJournal(tls *libc.TLS, pPager uintptr, pExists uintptr) int32 { /* sqlite3.c:58293:12: */ bp := tls.Alloc(17) defer tls.Free(17) @@ -50717,7 +50727,7 @@ func hasHotJournal(tls *libc.TLS, pPager uintptr, pExists uintptr) int32 { /* sq // If everything is successful, SQLITE_OK is returned. If an IO error // occurs while locking the database, checking for a hot-journal file or // rolling back a journal file, the IO error code is returned. -func Xsqlite3PagerSharedLock(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:58403:20: */ +func Xsqlite3PagerSharedLock(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:58413:20: */ bp := tls.Alloc(28) defer tls.Free(28) @@ -50843,7 +50853,7 @@ __7: if !(rc == SQLITE_OK && *(*int32)(unsafe.Pointer(bp + 8))&SQLITE_OPEN_READONLY != 0) { goto __10 } - rc = Xsqlite3CantopenError(tls, 58487) + rc = Xsqlite3CantopenError(tls, 58497) Xsqlite3OsClose(tls, (*Pager)(unsafe.Pointer(pPager)).Fjfd) __10: ; @@ -50992,7 +51002,7 @@ __24: // Except, in locking_mode=EXCLUSIVE when there is nothing to in // the rollback journal, the unlock is not performed and there is // nothing to rollback, so this routine is a no-op. -func pagerUnlockIfUnused(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:58620:13: */ +func pagerUnlockIfUnused(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:58630:13: */ if Xsqlite3PcacheRefCount(tls, (*Pager)(unsafe.Pointer(pPager)).FpPCache) == 0 { // because page1 is never memory mapped pagerUnlockAndRollback(tls, pPager) @@ -51054,7 +51064,7 @@ func pagerUnlockIfUnused(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:58620:13: // has to go to disk, and could also playback an old journal if necessary. // Since Lookup() never goes to disk, it never has to deal with locks // or journal files. -func getPageNormal(tls *libc.TLS, pPager uintptr, pgno Pgno, ppPage uintptr, flags int32) int32 { /* sqlite3.c:58684:12: */ +func getPageNormal(tls *libc.TLS, pPager uintptr, pgno Pgno, ppPage uintptr, flags int32) int32 { /* sqlite3.c:58694:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -51067,7 +51077,7 @@ func getPageNormal(tls *libc.TLS, pPager uintptr, pgno Pgno, ppPage uintptr, fla if !(pgno == Pgno(0)) { goto __1 } - return Xsqlite3CorruptError(tls, 58700) + return Xsqlite3CorruptError(tls, 58710) __1: ; *(*uintptr)(unsafe.Pointer(bp /* pBase */)) = Xsqlite3PcacheFetch(tls, (*Pager)(unsafe.Pointer(pPager)).FpPCache, pgno, 3) @@ -51113,7 +51123,7 @@ __5: if !(pgno == Pgno(I64(Xsqlite3PendingByte)/(*Pager)(unsafe.Pointer(pPager)).FpageSize+int64(1))) { goto __7 } - rc = Xsqlite3CorruptError(tls, 58732) + rc = Xsqlite3CorruptError(tls, 58742) goto pager_acquire_err __7: ; @@ -51185,7 +51195,7 @@ __14: } // The page getter for when memory-mapped I/O is enabled -func getPageMMap(tls *libc.TLS, pPager uintptr, pgno Pgno, ppPage uintptr, flags int32) int32 { /* sqlite3.c:58786:12: */ +func getPageMMap(tls *libc.TLS, pPager uintptr, pgno Pgno, ppPage uintptr, flags int32) int32 { /* sqlite3.c:58796:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -51205,7 +51215,7 @@ func getPageMMap(tls *libc.TLS, pPager uintptr, pgno Pgno, ppPage uintptr, flags // test in the previous statement, and avoid testing pgno==0 in the // common case where pgno is large. if pgno <= Pgno(1) && pgno == Pgno(0) { - return Xsqlite3CorruptError(tls, 58811) + return Xsqlite3CorruptError(tls, 58821) } if bMmapOk != 0 && (*Pager)(unsafe.Pointer(pPager)).FpWal != uintptr(0) { @@ -51243,7 +51253,7 @@ func getPageMMap(tls *libc.TLS, pPager uintptr, pgno Pgno, ppPage uintptr, flags } // The page getter method for when the pager is an error state -func getPageError(tls *libc.TLS, pPager uintptr, pgno Pgno, ppPage uintptr, flags int32) int32 { /* sqlite3.c:58855:12: */ +func getPageError(tls *libc.TLS, pPager uintptr, pgno Pgno, ppPage uintptr, flags int32) int32 { /* sqlite3.c:58865:12: */ _ = pgno _ = flags @@ -51252,7 +51262,7 @@ func getPageError(tls *libc.TLS, pPager uintptr, pgno Pgno, ppPage uintptr, flag } // Dispatch all page fetch requests to the appropriate getter method. -func Xsqlite3PagerGet(tls *libc.TLS, pPager uintptr, pgno Pgno, ppPage uintptr, flags int32) int32 { /* sqlite3.c:58871:20: */ +func Xsqlite3PagerGet(tls *libc.TLS, pPager uintptr, pgno Pgno, ppPage uintptr, flags int32) int32 { /* sqlite3.c:58881:20: */ // printf("PAGE %u\n", pgno); fflush(stdout); return (*struct { f func(*libc.TLS, uintptr, Pgno, uintptr, int32) int32 @@ -51268,7 +51278,7 @@ func Xsqlite3PagerGet(tls *libc.TLS, pPager uintptr, pgno Pgno, ppPage uintptr, // in the page if the page is not already in cache. This routine // returns NULL if the page is not in cache or if a disk I/O error // has ever happened. -func Xsqlite3PagerLookup(tls *libc.TLS, pPager uintptr, pgno Pgno) uintptr { /* sqlite3.c:58892:23: */ +func Xsqlite3PagerLookup(tls *libc.TLS, pPager uintptr, pgno Pgno) uintptr { /* sqlite3.c:58902:23: */ var pPage uintptr pPage = Xsqlite3PcacheFetch(tls, (*Pager)(unsafe.Pointer(pPager)).FpPCache, pgno, 0) @@ -51289,7 +51299,7 @@ func Xsqlite3PagerLookup(tls *libc.TLS, pPager uintptr, pgno Pgno) uintptr { /* // Use sqlite3PagerUnrefPageOne() to release page1. This latter routine // checks the total number of outstanding pages and if the number of // pages reaches zero it drops the database lock. -func Xsqlite3PagerUnrefNotNull(tls *libc.TLS, pPg uintptr) { /* sqlite3.c:58915:21: */ +func Xsqlite3PagerUnrefNotNull(tls *libc.TLS, pPg uintptr) { /* sqlite3.c:58925:21: */ if int32((*DbPage)(unsafe.Pointer(pPg)).Fflags)&PGHDR_MMAP != 0 { // Page1 is never memory mapped @@ -51301,13 +51311,13 @@ func Xsqlite3PagerUnrefNotNull(tls *libc.TLS, pPg uintptr) { /* sqlite3.c:58915: } -func Xsqlite3PagerUnref(tls *libc.TLS, pPg uintptr) { /* sqlite3.c:58927:21: */ +func Xsqlite3PagerUnref(tls *libc.TLS, pPg uintptr) { /* sqlite3.c:58937:21: */ if pPg != 0 { Xsqlite3PagerUnrefNotNull(tls, pPg) } } -func Xsqlite3PagerUnrefPageOne(tls *libc.TLS, pPg uintptr) { /* sqlite3.c:58930:21: */ +func Xsqlite3PagerUnrefPageOne(tls *libc.TLS, pPg uintptr) { /* sqlite3.c:58940:21: */ var pPager uintptr // Page1 is never memory mapped @@ -51336,7 +51346,7 @@ func Xsqlite3PagerUnrefPageOne(tls *libc.TLS, pPg uintptr) { /* sqlite3.c:58930: // Return SQLITE_OK if everything is successful. Otherwise, return // SQLITE_NOMEM if the attempt to allocate Pager.pInJournal fails, or // an IO error code if opening or writing the journal file fails. -func pager_open_journal(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:58962:12: */ +func pager_open_journal(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:58972:12: */ var rc int32 = SQLITE_OK // Return code var pVfs uintptr = (*Pager)(unsafe.Pointer(pPager)).FpVfs // Local cache of vfs pointer @@ -51418,7 +51428,7 @@ func pager_open_journal(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:5896 // sub-journal. If the subjInMemory argument is zero, then any required // sub-journal is implemented in-memory if pPager is an in-memory database, // or using a temporary file otherwise. -func Xsqlite3PagerBegin(tls *libc.TLS, pPager uintptr, exFlag int32, subjInMemory int32) int32 { /* sqlite3.c:59051:20: */ +func Xsqlite3PagerBegin(tls *libc.TLS, pPager uintptr, exFlag int32, subjInMemory int32) int32 { /* sqlite3.c:59061:20: */ var rc int32 = SQLITE_OK if (*Pager)(unsafe.Pointer(pPager)).FerrCode != 0 { @@ -51478,7 +51488,7 @@ func Xsqlite3PagerBegin(tls *libc.TLS, pPager uintptr, exFlag int32, subjInMemor } // Write page pPg onto the end of the rollback journal. -func pagerAddPageToRollbackJournal(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:59120:28: */ +func pagerAddPageToRollbackJournal(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:59130:28: */ var pPager uintptr = (*PgHdr)(unsafe.Pointer(pPg)).FpPager var rc int32 var cksum U32 @@ -51528,7 +51538,7 @@ func pagerAddPageToRollbackJournal(tls *libc.TLS, pPg uintptr) int32 { /* sqlite // one of the journals, the corresponding bit is set in the // Pager.pInJournal bitvec and the PagerSavepoint.pInSavepoint bitvecs // of any open savepoints as appropriate. -func pager_write(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:59177:12: */ +func pager_write(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:59187:12: */ var pPager uintptr = (*PgHdr)(unsafe.Pointer(pPg)).FpPager var rc int32 = SQLITE_OK @@ -51602,7 +51612,7 @@ func pager_write(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:59177:12: */ // Usually, the sector size is less than or equal to the page size, in which // case pages can be individually written. This routine only runs in the // exceptional case where the page size is smaller than the sector size. -func pagerWriteLargeSector(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:59269:28: */ +func pagerWriteLargeSector(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:59279:28: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -51690,7 +51700,7 @@ func pagerWriteLargeSector(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:5926 // // If an error occurs, SQLITE_NOMEM or an IO error code is returned // as appropriate. Otherwise, SQLITE_OK. -func Xsqlite3PagerWrite(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:59363:20: */ +func Xsqlite3PagerWrite(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:59373:20: */ var pPager uintptr = (*PgHdr)(unsafe.Pointer(pPg)).FpPager if int32((*PgHdr)(unsafe.Pointer(pPg)).Fflags)&PGHDR_WRITEABLE != 0 && (*Pager)(unsafe.Pointer(pPager)).FdbSize >= (*PgHdr)(unsafe.Pointer(pPg)).Fpgno { @@ -51731,7 +51741,7 @@ func Xsqlite3PagerWrite(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:59363:2 // memory pressure forces page pPg out of the cache, the data does need // to be written out to disk so that it may be read back in if the // current transaction is rolled back. -func Xsqlite3PagerDontWrite(tls *libc.TLS, pPg uintptr) { /* sqlite3.c:59412:21: */ +func Xsqlite3PagerDontWrite(tls *libc.TLS, pPg uintptr) { /* sqlite3.c:59422:21: */ var pPager uintptr = (*PgHdr)(unsafe.Pointer(pPg)).FpPager if !(int32((*Pager)(unsafe.Pointer(pPager)).FtempFile) != 0) && int32((*PgHdr)(unsafe.Pointer(pPg)).Fflags)&PGHDR_DIRTY != 0 && (*Pager)(unsafe.Pointer(pPager)).FnSavepoint == 0 { @@ -51761,7 +51771,7 @@ func Xsqlite3PagerDontWrite(tls *libc.TLS, pPg uintptr) { /* sqlite3.c:59412:21: // if isDirect is non-zero, then the database file is updated directly // by writing an updated version of page 1 using a call to the // sqlite3OsWrite() function. -func pager_incr_changecounter(tls *libc.TLS, pPager uintptr, isDirectMode int32) int32 { /* sqlite3.c:59446:12: */ +func pager_incr_changecounter(tls *libc.TLS, pPager uintptr, isDirectMode int32) int32 { /* sqlite3.c:59456:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -51831,7 +51841,7 @@ func pager_incr_changecounter(tls *libc.TLS, pPager uintptr, isDirectMode int32) // // If successful, or if called on a pager for which it is a no-op, this // function returns SQLITE_OK. Otherwise, an IO error code is returned. -func Xsqlite3PagerSync(tls *libc.TLS, pPager uintptr, zSuper uintptr) int32 { /* sqlite3.c:59529:20: */ +func Xsqlite3PagerSync(tls *libc.TLS, pPager uintptr, zSuper uintptr) int32 { /* sqlite3.c:59539:20: */ var rc int32 = SQLITE_OK var pArg uintptr = zSuper rc = Xsqlite3OsFileControl(tls, (*Pager)(unsafe.Pointer(pPager)).Ffd, SQLITE_FCNTL_SYNC, pArg) @@ -51854,7 +51864,7 @@ func Xsqlite3PagerSync(tls *libc.TLS, pPager uintptr, zSuper uintptr) int32 { /* // successful, or the connection is in WAL mode, SQLITE_OK is returned. // Otherwise, either SQLITE_BUSY or an SQLITE_IOERR_XXX error code is // returned. -func Xsqlite3PagerExclusiveLock(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:59552:20: */ +func Xsqlite3PagerExclusiveLock(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:59562:20: */ var rc int32 = (*Pager)(unsafe.Pointer(pPager)).FerrCode if rc == SQLITE_OK { @@ -51890,7 +51900,7 @@ func Xsqlite3PagerExclusiveLock(tls *libc.TLS, pPager uintptr) int32 { /* sqlite // is not synced. The caller must call sqlite3PagerSync() directly to // sync the database file before calling CommitPhaseTwo() to delete the // journal file in this case. -func Xsqlite3PagerCommitPhaseOne(tls *libc.TLS, pPager uintptr, zSuper uintptr, noSync int32) int32 { /* sqlite3.c:59594:20: */ +func Xsqlite3PagerCommitPhaseOne(tls *libc.TLS, pPager uintptr, zSuper uintptr, noSync int32) int32 { /* sqlite3.c:59604:20: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -52080,7 +52090,7 @@ __19: // // If an error occurs, an IO error code is returned and the pager // moves into the error state. Otherwise, SQLITE_OK is returned. -func Xsqlite3PagerCommitPhaseTwo(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:59824:20: */ +func Xsqlite3PagerCommitPhaseTwo(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:59834:20: */ var rc int32 = SQLITE_OK // Return code // This routine should not be called if a prior error has occurred. @@ -52137,7 +52147,7 @@ func Xsqlite3PagerCommitPhaseTwo(tls *libc.TLS, pPager uintptr) int32 { /* sqlit // current transaction are either expelled from the cache or reverted to // their pre-transaction state by re-reading data from the database or // WAL files. The WAL transaction is then closed. -func Xsqlite3PagerRollback(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:59890:20: */ +func Xsqlite3PagerRollback(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:59900:20: */ var rc int32 = SQLITE_OK // Return code // PagerRollback() is a no-op if called in READER or OPEN state. If @@ -52181,13 +52191,13 @@ func Xsqlite3PagerRollback(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:5 // Return TRUE if the database file is opened read-only. Return FALSE // if the database is (in theory) writable. -func Xsqlite3PagerIsreadonly(tls *libc.TLS, pPager uintptr) U8 { /* sqlite3.c:59940:19: */ +func Xsqlite3PagerIsreadonly(tls *libc.TLS, pPager uintptr) U8 { /* sqlite3.c:59950:19: */ return (*Pager)(unsafe.Pointer(pPager)).FreadOnly } // Return the approximate number of bytes of memory currently // used by the pager and its associated cache. -func Xsqlite3PagerMemUsed(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:59957:20: */ +func Xsqlite3PagerMemUsed(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:59967:20: */ var perPageSize int32 = int32((*Pager)(unsafe.Pointer(pPager)).FpageSize + I64((*Pager)(unsafe.Pointer(pPager)).FnExtra) + I64(int32(uint64(unsafe.Sizeof(PgHdr{}))+uint64(5)*uint64(unsafe.Sizeof(uintptr(0)))))) return int32(I64(perPageSize*Xsqlite3PcachePagecount(tls, (*Pager)(unsafe.Pointer(pPager)).FpPCache)+ @@ -52196,7 +52206,7 @@ func Xsqlite3PagerMemUsed(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:59 } // Return the number of references to the specified page. -func Xsqlite3PagerPageRefcount(tls *libc.TLS, pPage uintptr) int32 { /* sqlite3.c:59968:20: */ +func Xsqlite3PagerPageRefcount(tls *libc.TLS, pPage uintptr) int32 { /* sqlite3.c:59978:20: */ return Xsqlite3PcachePageRefcount(tls, pPage) } @@ -52209,7 +52219,7 @@ func Xsqlite3PagerPageRefcount(tls *libc.TLS, pPage uintptr) int32 { /* sqlite3. // current cache hit or miss count, according to the value of eStat. If the // reset parameter is non-zero, the cache hit or miss count is zeroed before // returning. -func Xsqlite3PagerCacheStat(tls *libc.TLS, pPager uintptr, eStat int32, reset int32, pnVal uintptr) { /* sqlite3.c:60004:21: */ +func Xsqlite3PagerCacheStat(tls *libc.TLS, pPager uintptr, eStat int32, reset int32, pnVal uintptr) { /* sqlite3.c:60014:21: */ eStat = eStat - SQLITE_DBSTATUS_CACHE_HIT *(*int32)(unsafe.Pointer(pnVal)) += *(*int32)(unsafe.Pointer(pPager + 240 + uintptr(eStat)*4)) @@ -52219,7 +52229,7 @@ func Xsqlite3PagerCacheStat(tls *libc.TLS, pPager uintptr, eStat int32, reset in } // Return true if this is an in-memory or temp-file backed pager. -func Xsqlite3PagerIsMemdb(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:60027:20: */ +func Xsqlite3PagerIsMemdb(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:60037:20: */ return libc.Bool32((*Pager)(unsafe.Pointer(pPager)).FtempFile != 0 || (*Pager)(unsafe.Pointer(pPager)).FmemVfs != 0) } @@ -52231,7 +52241,7 @@ func Xsqlite3PagerIsMemdb(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:60 // If a memory allocation fails, SQLITE_NOMEM is returned. If an error // occurs while opening the sub-journal file, then an IO error code is // returned. Otherwise, SQLITE_OK. -func pagerOpenSavepoint(tls *libc.TLS, pPager uintptr, nSavepoint int32) int32 { /* sqlite3.c:60041:28: */ +func pagerOpenSavepoint(tls *libc.TLS, pPager uintptr, nSavepoint int32) int32 { /* sqlite3.c:60051:28: */ var rc int32 = SQLITE_OK // Return code var nCurrent int32 = (*Pager)(unsafe.Pointer(pPager)).FnSavepoint // Current number of savepoints var ii int32 // Iterator variable @@ -52271,7 +52281,7 @@ func pagerOpenSavepoint(tls *libc.TLS, pPager uintptr, nSavepoint int32) int32 { return rc } -func Xsqlite3PagerOpenSavepoint(tls *libc.TLS, pPager uintptr, nSavepoint int32) int32 { /* sqlite3.c:60087:20: */ +func Xsqlite3PagerOpenSavepoint(tls *libc.TLS, pPager uintptr, nSavepoint int32) int32 { /* sqlite3.c:60097:20: */ if nSavepoint > (*Pager)(unsafe.Pointer(pPager)).FnSavepoint && (*Pager)(unsafe.Pointer(pPager)).FuseJournal != 0 { return pagerOpenSavepoint(tls, pPager, nSavepoint) @@ -52309,7 +52319,7 @@ func Xsqlite3PagerOpenSavepoint(tls *libc.TLS, pPager uintptr, nSavepoint int32) // This function may return SQLITE_NOMEM if a memory allocation fails, // or an IO error code if an IO error occurs while rolling back a // savepoint. If no errors occur, SQLITE_OK is returned. -func Xsqlite3PagerSavepoint(tls *libc.TLS, pPager uintptr, op int32, iSavepoint int32) int32 { /* sqlite3.c:60129:20: */ +func Xsqlite3PagerSavepoint(tls *libc.TLS, pPager uintptr, op int32, iSavepoint int32) int32 { /* sqlite3.c:60139:20: */ var rc int32 = (*Pager)(unsafe.Pointer(pPager)).FerrCode if rc == SQLITE_OK && iSavepoint < (*Pager)(unsafe.Pointer(pPager)).FnSavepoint { @@ -52370,30 +52380,30 @@ func Xsqlite3PagerSavepoint(tls *libc.TLS, pPager uintptr, op int32, iSavepoint // // The return value to this routine is always safe to use with // sqlite3_uri_parameter() and sqlite3_filename_database() and friends. -func Xsqlite3PagerFilename(tls *libc.TLS, pPager uintptr, nullIfMemDb int32) uintptr { /* sqlite3.c:60210:27: */ +func Xsqlite3PagerFilename(tls *libc.TLS, pPager uintptr, nullIfMemDb int32) uintptr { /* sqlite3.c:60220:27: */ if nullIfMemDb != 0 && (*Pager)(unsafe.Pointer(pPager)).FmemDb != 0 { return uintptr(unsafe.Pointer(&zFake)) + 4 } return (*Pager)(unsafe.Pointer(pPager)).FzFilename } -var zFake = [8]int8{int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0)} /* sqlite3.c:60211:21 */ +var zFake = [8]int8{int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0)} /* sqlite3.c:60221:21 */ // Return the VFS structure for the pager. -func Xsqlite3PagerVfs(tls *libc.TLS, pPager uintptr) uintptr { /* sqlite3.c:60218:28: */ +func Xsqlite3PagerVfs(tls *libc.TLS, pPager uintptr) uintptr { /* sqlite3.c:60228:28: */ return (*Pager)(unsafe.Pointer(pPager)).FpVfs } // Return the file handle for the database file associated // with the pager. This might return NULL if the file has // not yet been opened. -func Xsqlite3PagerFile(tls *libc.TLS, pPager uintptr) uintptr { /* sqlite3.c:60227:29: */ +func Xsqlite3PagerFile(tls *libc.TLS, pPager uintptr) uintptr { /* sqlite3.c:60237:29: */ return (*Pager)(unsafe.Pointer(pPager)).Ffd } // Return the file handle for the journal file (if it exists). // This will be either the rollback journal or the WAL file. -func Xsqlite3PagerJrnlFile(tls *libc.TLS, pPager uintptr) uintptr { /* sqlite3.c:60235:29: */ +func Xsqlite3PagerJrnlFile(tls *libc.TLS, pPager uintptr) uintptr { /* sqlite3.c:60245:29: */ if (*Pager)(unsafe.Pointer(pPager)).FpWal != 0 { return Xsqlite3WalFile(tls, (*Pager)(unsafe.Pointer(pPager)).FpWal) } @@ -52401,7 +52411,7 @@ func Xsqlite3PagerJrnlFile(tls *libc.TLS, pPager uintptr) uintptr { /* sqlite3.c } // Return the full pathname of the journal file. -func Xsqlite3PagerJournalname(tls *libc.TLS, pPager uintptr) uintptr { /* sqlite3.c:60246:27: */ +func Xsqlite3PagerJournalname(tls *libc.TLS, pPager uintptr) uintptr { /* sqlite3.c:60256:27: */ return (*Pager)(unsafe.Pointer(pPager)).FzJournal } @@ -52428,7 +52438,7 @@ func Xsqlite3PagerJournalname(tls *libc.TLS, pPager uintptr) uintptr { /* sqlite // // This function may return SQLITE_NOMEM or an IO error code if an error // occurs. Otherwise, it returns SQLITE_OK. -func Xsqlite3PagerMovepage(tls *libc.TLS, pPager uintptr, pPg uintptr, pgno Pgno, isCommit int32) int32 { /* sqlite3.c:60276:20: */ +func Xsqlite3PagerMovepage(tls *libc.TLS, pPager uintptr, pPg uintptr, pgno Pgno, isCommit int32) int32 { /* sqlite3.c:60286:20: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -52490,7 +52500,7 @@ func Xsqlite3PagerMovepage(tls *libc.TLS, pPager uintptr, pPg uintptr, pgno Pgno if pPgOld != 0 { if int32((*PgHdr)(unsafe.Pointer(pPgOld)).FnRef) > 1 { Xsqlite3PagerUnrefNotNull(tls, pPgOld) - return Xsqlite3CorruptError(tls, 60350) + return Xsqlite3CorruptError(tls, 60360) } *(*U16)(unsafe.Pointer(pPg + 52)) |= U16(int32((*PgHdr)(unsafe.Pointer(pPgOld)).Fflags) & PGHDR_NEED_SYNC) if (*Pager)(unsafe.Pointer(pPager)).FtempFile != 0 { @@ -52550,21 +52560,21 @@ func Xsqlite3PagerMovepage(tls *libc.TLS, pPager uintptr, pPg uintptr, pgno Pgno // with a page number other than iNew. This function changes the page's // page number to iNew and sets the value of the PgHdr.flags field to // the value passed as the third parameter. -func Xsqlite3PagerRekey(tls *libc.TLS, pPg uintptr, iNew Pgno, flags U16) { /* sqlite3.c:60414:21: */ +func Xsqlite3PagerRekey(tls *libc.TLS, pPg uintptr, iNew Pgno, flags U16) { /* sqlite3.c:60424:21: */ (*DbPage)(unsafe.Pointer(pPg)).Fflags = flags Xsqlite3PcacheMove(tls, pPg, iNew) } // Return a pointer to the data for the specified page. -func Xsqlite3PagerGetData(tls *libc.TLS, pPg uintptr) uintptr { /* sqlite3.c:60423:21: */ +func Xsqlite3PagerGetData(tls *libc.TLS, pPg uintptr) uintptr { /* sqlite3.c:60433:21: */ return (*DbPage)(unsafe.Pointer(pPg)).FpData } // Return a pointer to the Pager.nExtra bytes of "extra" space // allocated along with the specified page. -func Xsqlite3PagerGetExtra(tls *libc.TLS, pPg uintptr) uintptr { /* sqlite3.c:60432:21: */ +func Xsqlite3PagerGetExtra(tls *libc.TLS, pPg uintptr) uintptr { /* sqlite3.c:60442:21: */ return (*DbPage)(unsafe.Pointer(pPg)).FpExtra } @@ -52576,7 +52586,7 @@ func Xsqlite3PagerGetExtra(tls *libc.TLS, pPg uintptr) uintptr { /* sqlite3.c:60 // The returned value is either PAGER_LOCKINGMODE_NORMAL or // PAGER_LOCKINGMODE_EXCLUSIVE, indicating the current (possibly updated) // locking-mode. -func Xsqlite3PagerLockingMode(tls *libc.TLS, pPager uintptr, eMode int32) int32 { /* sqlite3.c:60446:20: */ +func Xsqlite3PagerLockingMode(tls *libc.TLS, pPager uintptr, eMode int32) int32 { /* sqlite3.c:60456:20: */ if eMode >= 0 && !(int32((*Pager)(unsafe.Pointer(pPager)).FtempFile) != 0) && !(Xsqlite3WalHeapMemory(tls, (*Pager)(unsafe.Pointer(pPager)).FpWal) != 0) { (*Pager)(unsafe.Pointer(pPager)).FexclusiveMode = U8(eMode) @@ -52602,7 +52612,7 @@ func Xsqlite3PagerLockingMode(tls *libc.TLS, pPager uintptr, eMode int32) int32 // * Temporary databases cannot have _WAL journalmode. // // The returned indicate the current (possibly updated) journal-mode. -func Xsqlite3PagerSetJournalMode(tls *libc.TLS, pPager uintptr, eMode int32) int32 { /* sqlite3.c:60479:20: */ +func Xsqlite3PagerSetJournalMode(tls *libc.TLS, pPager uintptr, eMode int32) int32 { /* sqlite3.c:60489:20: */ var eOld U8 = (*Pager)(unsafe.Pointer(pPager)).FjournalMode // Prior journalmode // The eMode parameter is always valid @@ -52672,14 +52682,14 @@ func Xsqlite3PagerSetJournalMode(tls *libc.TLS, pPager uintptr, eMode int32) int } // Return the current journal mode. -func Xsqlite3PagerGetJournalMode(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:60569:20: */ +func Xsqlite3PagerGetJournalMode(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:60579:20: */ return int32((*Pager)(unsafe.Pointer(pPager)).FjournalMode) } // Return TRUE if the pager is in a state where it is OK to change the // journalmode. Journalmode changes can only happen when the database // is unmodified. -func Xsqlite3PagerOkToChangeJournalMode(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:60578:20: */ +func Xsqlite3PagerOkToChangeJournalMode(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:60588:20: */ if int32((*Pager)(unsafe.Pointer(pPager)).FeState) >= PAGER_WRITER_CACHEMOD { return 0 @@ -52694,7 +52704,7 @@ func Xsqlite3PagerOkToChangeJournalMode(tls *libc.TLS, pPager uintptr) int32 { / // // Setting the size limit to -1 means no limit is enforced. // An attempt to set a limit smaller than -1 is a no-op. -func Xsqlite3PagerJournalSizeLimit(tls *libc.TLS, pPager uintptr, iLimit I64) I64 { /* sqlite3.c:60591:20: */ +func Xsqlite3PagerJournalSizeLimit(tls *libc.TLS, pPager uintptr, iLimit I64) I64 { /* sqlite3.c:60601:20: */ if iLimit >= int64(-1) { (*Pager)(unsafe.Pointer(pPager)).FjournalSizeLimit = iLimit Xsqlite3WalLimit(tls, (*Pager)(unsafe.Pointer(pPager)).FpWal, iLimit) @@ -52706,12 +52716,12 @@ func Xsqlite3PagerJournalSizeLimit(tls *libc.TLS, pPager uintptr, iLimit I64) I6 // in backup.c maintains the content of this variable. This module // uses it opaquely as an argument to sqlite3BackupRestart() and // sqlite3BackupUpdate() only. -func Xsqlite3PagerBackupPtr(tls *libc.TLS, pPager uintptr) uintptr { /* sqlite3.c:60605:31: */ +func Xsqlite3PagerBackupPtr(tls *libc.TLS, pPager uintptr) uintptr { /* sqlite3.c:60615:31: */ return pPager + 112 } // Unless this is an in-memory or temporary database, clear the pager cache. -func Xsqlite3PagerClearCache(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:60613:21: */ +func Xsqlite3PagerClearCache(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:60623:21: */ if int32((*Pager)(unsafe.Pointer(pPager)).FtempFile) == 0 { pager_reset(tls, pPager) @@ -52723,7 +52733,7 @@ func Xsqlite3PagerClearCache(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:60613 // or wal_blocking_checkpoint() API functions. // // Parameter eMode is one of SQLITE_CHECKPOINT_PASSIVE, FULL or RESTART. -func Xsqlite3PagerCheckpoint(tls *libc.TLS, pPager uintptr, db uintptr, eMode int32, pnLog uintptr, pnCkpt uintptr) int32 { /* sqlite3.c:60628:20: */ +func Xsqlite3PagerCheckpoint(tls *libc.TLS, pPager uintptr, db uintptr, eMode int32, pnLog uintptr, pnCkpt uintptr) int32 { /* sqlite3.c:60638:20: */ var rc int32 = SQLITE_OK if (*Pager)(unsafe.Pointer(pPager)).FpWal == uintptr(0) && int32((*Pager)(unsafe.Pointer(pPager)).FjournalMode) == PAGER_JOURNALMODE_WAL { // This only happens when a database file is zero bytes in size opened and @@ -52751,13 +52761,13 @@ func Xsqlite3PagerCheckpoint(tls *libc.TLS, pPager uintptr, db uintptr, eMode in return rc } -func Xsqlite3PagerWalCallback(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:60659:20: */ +func Xsqlite3PagerWalCallback(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:60669:20: */ return Xsqlite3WalCallback(tls, (*Pager)(unsafe.Pointer(pPager)).FpWal) } // Return true if the underlying VFS for the given pager supports the // primitives necessary for write-ahead logging. -func Xsqlite3PagerWalSupported(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:60667:20: */ +func Xsqlite3PagerWalSupported(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:60677:20: */ var pMethods uintptr = (*Sqlite3_file)(unsafe.Pointer((*Pager)(unsafe.Pointer(pPager)).Ffd)).FpMethods if (*Pager)(unsafe.Pointer(pPager)).FnoLock != 0 { return 0 @@ -52767,7 +52777,7 @@ func Xsqlite3PagerWalSupported(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3 // Attempt to take an exclusive lock on the database file. If a PENDING lock // is obtained instead, immediately release it. -func pagerExclusiveLock(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:60677:12: */ +func pagerExclusiveLock(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:60687:12: */ var rc int32 // Return code rc = pagerLockDb(tls, pPager, EXCLUSIVE_LOCK) @@ -52784,7 +52794,7 @@ func pagerExclusiveLock(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:6067 // exclusive-locking mode when this function is called, take an EXCLUSIVE // lock on the database file and use heap-memory to store the wal-index // in. Otherwise, use the normal shared-memory. -func pagerOpenWal(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:60697:12: */ +func pagerOpenWal(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:60707:12: */ var rc int32 = SQLITE_OK // If the pager is already in exclusive-mode, the WAL module will use @@ -52820,7 +52830,7 @@ func pagerOpenWal(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:60697:12: // If the pager is open on a temp-file (or in-memory database), or if // the WAL file is already open, set *pbOpen to 1 and return SQLITE_OK // without doing anything. -func Xsqlite3PagerOpenWal(tls *libc.TLS, pPager uintptr, pbOpen uintptr) int32 { /* sqlite3.c:60742:20: */ +func Xsqlite3PagerOpenWal(tls *libc.TLS, pPager uintptr, pbOpen uintptr) int32 { /* sqlite3.c:60752:20: */ var rc int32 = SQLITE_OK // Return code if !(int32((*Pager)(unsafe.Pointer(pPager)).FtempFile) != 0) && !(int32((*Pager)(unsafe.Pointer(pPager)).FpWal) != 0) { @@ -52850,7 +52860,7 @@ func Xsqlite3PagerOpenWal(tls *libc.TLS, pPager uintptr, pbOpen uintptr) int32 { // EXCLUSIVE lock on the database file. If this cannot be obtained, an // error (SQLITE_BUSY) is returned and the log connection is not closed. // If successful, the EXCLUSIVE lock is not released before returning. -func Xsqlite3PagerCloseWal(tls *libc.TLS, pPager uintptr, db uintptr) int32 { /* sqlite3.c:60781:20: */ +func Xsqlite3PagerCloseWal(tls *libc.TLS, pPager uintptr, db uintptr) int32 { /* sqlite3.c:60791:20: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -52890,7 +52900,7 @@ func Xsqlite3PagerCloseWal(tls *libc.TLS, pPager uintptr, db uintptr) int32 { /* // If this is a WAL database, obtain a snapshot handle for the snapshot // currently open. Otherwise, return an error. -func Xsqlite3PagerSnapshotGet(tls *libc.TLS, pPager uintptr, ppSnapshot uintptr) int32 { /* sqlite3.c:60850:20: */ +func Xsqlite3PagerSnapshotGet(tls *libc.TLS, pPager uintptr, ppSnapshot uintptr) int32 { /* sqlite3.c:60860:20: */ var rc int32 = SQLITE_ERROR if (*Pager)(unsafe.Pointer(pPager)).FpWal != 0 { rc = Xsqlite3WalSnapshotGet(tls, (*Pager)(unsafe.Pointer(pPager)).FpWal, ppSnapshot) @@ -52901,7 +52911,7 @@ func Xsqlite3PagerSnapshotGet(tls *libc.TLS, pPager uintptr, ppSnapshot uintptr) // If this is a WAL database, store a pointer to pSnapshot. Next time a // read transaction is opened, attempt to read from the snapshot it // identifies. If this is not a WAL database, return an error. -func Xsqlite3PagerSnapshotOpen(tls *libc.TLS, pPager uintptr, pSnapshot uintptr) int32 { /* sqlite3.c:60863:20: */ +func Xsqlite3PagerSnapshotOpen(tls *libc.TLS, pPager uintptr, pSnapshot uintptr) int32 { /* sqlite3.c:60873:20: */ var rc int32 = SQLITE_OK if (*Pager)(unsafe.Pointer(pPager)).FpWal != 0 { Xsqlite3WalSnapshotOpen(tls, (*Pager)(unsafe.Pointer(pPager)).FpWal, pSnapshot) @@ -52913,7 +52923,7 @@ func Xsqlite3PagerSnapshotOpen(tls *libc.TLS, pPager uintptr, pSnapshot uintptr) // If this is a WAL database, call sqlite3WalSnapshotRecover(). If this // is not a WAL database, return an error. -func Xsqlite3PagerSnapshotRecover(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:60880:20: */ +func Xsqlite3PagerSnapshotRecover(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:60890:20: */ var rc int32 if (*Pager)(unsafe.Pointer(pPager)).FpWal != 0 { rc = Xsqlite3WalSnapshotRecover(tls, (*Pager)(unsafe.Pointer(pPager)).FpWal) @@ -52933,7 +52943,7 @@ func Xsqlite3PagerSnapshotRecover(tls *libc.TLS, pPager uintptr) int32 { /* sqli // the CHECKPOINTER lock cannot be obtained, SQLITE_BUSY. If any error // occurs (any value other than SQLITE_OK is returned), the CHECKPOINTER // lock is released before returning. -func Xsqlite3PagerSnapshotCheck(tls *libc.TLS, pPager uintptr, pSnapshot uintptr) int32 { /* sqlite3.c:60902:20: */ +func Xsqlite3PagerSnapshotCheck(tls *libc.TLS, pPager uintptr, pSnapshot uintptr) int32 { /* sqlite3.c:60912:20: */ var rc int32 if (*Pager)(unsafe.Pointer(pPager)).FpWal != 0 { rc = Xsqlite3WalSnapshotCheck(tls, (*Pager)(unsafe.Pointer(pPager)).FpWal, pSnapshot) @@ -52945,7 +52955,7 @@ func Xsqlite3PagerSnapshotCheck(tls *libc.TLS, pPager uintptr, pSnapshot uintptr // Release a lock obtained by an earlier successful call to // sqlite3PagerSnapshotCheck(). -func Xsqlite3PagerSnapshotUnlock(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:60916:21: */ +func Xsqlite3PagerSnapshotUnlock(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:60926:21: */ Xsqlite3WalSnapshotUnlock(tls, (*Pager)(unsafe.Pointer(pPager)).FpWal) } @@ -53524,7 +53534,7 @@ type WalIndexHdr1 = struct { // byte. // Object declarations -type WalIndexHdr = WalIndexHdr1 /* sqlite3.c:61244:28 */ +type WalIndexHdr = WalIndexHdr1 /* sqlite3.c:61254:28 */ type WalIterator1 = struct { FiPrior U32 FnSegment int32 @@ -53536,18 +53546,18 @@ type WalIterator1 = struct { FnEntry int32 FiZero int32 } -} /* sqlite3.c:61245:9 */ +} /* sqlite3.c:61255:9 */ -type WalIterator = WalIterator1 /* sqlite3.c:61245:28 */ +type WalIterator = WalIterator1 /* sqlite3.c:61255:28 */ type WalCkptInfo1 = struct { FnBackfill U32 FaReadMark [5]U32 FaLock [8]U8 FnBackfillAttempted U32 FnotUsed0 U32 -} /* sqlite3.c:61246:9 */ +} /* sqlite3.c:61256:9 */ -type WalCkptInfo = WalCkptInfo1 /* sqlite3.c:61246:28 */ +type WalCkptInfo = WalCkptInfo1 /* sqlite3.c:61256:28 */ // Candidate values for Wal.exclusiveMode. @@ -53555,7 +53565,7 @@ type WalCkptInfo = WalCkptInfo1 /* sqlite3.c:61246:28 */ // Each page of the wal-index mapping contains a hash-table made up of // an array of HASHTABLE_NSLOT elements of the following type. -type Ht_slot = U16 /* sqlite3.c:61501:13 */ +type Ht_slot = U16 /* sqlite3.c:61511:13 */ // 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 @@ -53577,7 +53587,7 @@ type WalSegment = struct { FaPgno uintptr FnEntry int32 FiZero int32 -} /* sqlite3.c:61245:9 */ +} /* sqlite3.c:61255:9 */ // Define the parameters of the hash tables in the wal-index file. There // is a hash-table following every HASHTABLE_NPAGE page numbers in the @@ -53608,7 +53618,7 @@ type WalSegment = struct { // (3) rc==SQLITE_OK and *ppPage==NULL // only if iPage==0 // // Scenario (3) can only occur when pWal->writeLock is false and iPage==0 -func walIndexPageRealloc(tls *libc.TLS, pWal uintptr, iPage int32, ppPage uintptr) int32 { /* sqlite3.c:61572:28: */ +func walIndexPageRealloc(tls *libc.TLS, pWal uintptr, iPage int32, ppPage uintptr) int32 { /* sqlite3.c:61582:28: */ var rc int32 = SQLITE_OK // Enlarge the pWal->apWiData[] array if required @@ -53653,7 +53663,7 @@ func walIndexPageRealloc(tls *libc.TLS, pWal uintptr, iPage int32, ppPage uintpt return rc } -func walIndexPage(tls *libc.TLS, pWal uintptr, iPage int32, ppPage uintptr) int32 { /* sqlite3.c:61621:12: */ +func walIndexPage(tls *libc.TLS, pWal uintptr, iPage int32, ppPage uintptr) int32 { /* sqlite3.c:61631:12: */ if (*Wal)(unsafe.Pointer(pWal)).FnWiData <= iPage || libc.AssignPtrUintptr(ppPage, *(*uintptr)(unsafe.Pointer((*Wal)(unsafe.Pointer(pWal)).FapWiData + uintptr(iPage)*8))) == uintptr(0) { return walIndexPageRealloc(tls, pWal, iPage, ppPage) } @@ -53661,13 +53671,13 @@ func walIndexPage(tls *libc.TLS, pWal uintptr, iPage int32, ppPage uintptr) int3 } // Return a pointer to the WalCkptInfo structure in the wal-index. -func walCkptInfo(tls *libc.TLS, pWal uintptr) uintptr { /* sqlite3.c:61635:29: */ +func walCkptInfo(tls *libc.TLS, pWal uintptr) uintptr { /* sqlite3.c:61645:29: */ return *(*uintptr)(unsafe.Pointer((*Wal)(unsafe.Pointer(pWal)).FapWiData)) + 24*4 } // Return a pointer to the WalIndexHdr structure in the wal-index. -func walIndexHdr(tls *libc.TLS, pWal uintptr) uintptr { /* sqlite3.c:61643:29: */ +func walIndexHdr(tls *libc.TLS, pWal uintptr) uintptr { /* sqlite3.c:61653:29: */ return *(*uintptr)(unsafe.Pointer((*Wal)(unsafe.Pointer(pWal)).FapWiData)) } @@ -53685,7 +53695,7 @@ func walIndexHdr(tls *libc.TLS, pWal uintptr) uintptr { /* sqlite3.c:61643:29: * // The checksum is written back into aOut[] before returning. // // nByte must be a positive multiple of 8. -func walChecksumBytes(tls *libc.TLS, nativeCksum int32, a uintptr, nByte int32, aIn uintptr, aOut uintptr) { /* sqlite3.c:61669:13: */ +func walChecksumBytes(tls *libc.TLS, nativeCksum int32, a uintptr, nByte int32, aIn uintptr, aOut uintptr) { /* sqlite3.c:61679:13: */ var s1 U32 var s2 U32 var aData uintptr = a @@ -53717,7 +53727,7 @@ func walChecksumBytes(tls *libc.TLS, nativeCksum int32, a uintptr, nByte int32, // If there is the possibility of concurrent access to the SHM file // from multiple threads and/or processes, then do a memory barrier. -func walShmBarrier(tls *libc.TLS, pWal uintptr) { /* sqlite3.c:61712:13: */ +func walShmBarrier(tls *libc.TLS, pWal uintptr) { /* sqlite3.c:61722:13: */ if int32((*Wal)(unsafe.Pointer(pWal)).FexclusiveMode) != WAL_HEAPMEMORY_MODE { Xsqlite3OsShmBarrier(tls, (*Wal)(unsafe.Pointer(pWal)).FpDbFd) } @@ -53732,7 +53742,7 @@ func walShmBarrier(tls *libc.TLS, pWal uintptr) { /* sqlite3.c:61712:13: */ // Write the header information in pWal->hdr into the wal-index. // // The checksum on pWal->hdr is updated before it is written. -func walIndexWriteHdr(tls *libc.TLS, pWal uintptr) { /* sqlite3.c:61736:28: */ +func walIndexWriteHdr(tls *libc.TLS, pWal uintptr) { /* sqlite3.c:61746:28: */ var aHdr uintptr = walIndexHdr(tls, pWal) var nCksum int32 = int32(uintptr(0) + 40) @@ -53756,7 +53766,7 @@ func walIndexWriteHdr(tls *libc.TLS, pWal uintptr) { /* sqlite3.c:61736:28: */ // 12: Salt-2 (copied from the wal-header) // 16: Checksum-1. // 20: Checksum-2. -func walEncodeFrame(tls *libc.TLS, pWal uintptr, iPage U32, nTruncate U32, aData uintptr, aFrame uintptr) { /* sqlite3.c:61763:13: */ +func walEncodeFrame(tls *libc.TLS, pWal uintptr, iPage U32, nTruncate U32, aData uintptr, aFrame uintptr) { /* sqlite3.c:61773:13: */ var nativeCksum int32 // True for native byte-order checksums var aCksum uintptr = pWal + 72 + 24 @@ -53779,7 +53789,7 @@ func walEncodeFrame(tls *libc.TLS, pWal uintptr, iPage U32, nTruncate U32, aData // Check to see if the frame with header in aFrame[] and content // in aData[] is valid. If it is a valid frame, fill *piPage and // *pnTruncate and return true. Return if the frame is not valid. -func walDecodeFrame(tls *libc.TLS, pWal uintptr, piPage uintptr, pnTruncate uintptr, aData uintptr, aFrame uintptr) int32 { /* sqlite3.c:61794:12: */ +func walDecodeFrame(tls *libc.TLS, pWal uintptr, piPage uintptr, pnTruncate uintptr, aData uintptr, aFrame uintptr) int32 { /* sqlite3.c:61804:12: */ var nativeCksum int32 // True for native byte-order checksums var aCksum uintptr = pWal + 72 + 24 var pgno U32 // Page number of the frame @@ -53821,7 +53831,7 @@ func walDecodeFrame(tls *libc.TLS, pWal uintptr, piPage uintptr, pnTruncate uint // through the unlocked state first. // // In locking_mode=EXCLUSIVE, all of these routines become no-ops. -func walLockShared(tls *libc.TLS, pWal uintptr, lockIdx int32) int32 { /* sqlite3.c:61873:12: */ +func walLockShared(tls *libc.TLS, pWal uintptr, lockIdx int32) int32 { /* sqlite3.c:61883:12: */ var rc int32 if (*Wal)(unsafe.Pointer(pWal)).FexclusiveMode != 0 { return SQLITE_OK @@ -53832,7 +53842,7 @@ func walLockShared(tls *libc.TLS, pWal uintptr, lockIdx int32) int32 { /* sqlite return rc } -func walUnlockShared(tls *libc.TLS, pWal uintptr, lockIdx int32) { /* sqlite3.c:61883:13: */ +func walUnlockShared(tls *libc.TLS, pWal uintptr, lockIdx int32) { /* sqlite3.c:61893:13: */ if (*Wal)(unsafe.Pointer(pWal)).FexclusiveMode != 0 { return } @@ -53841,7 +53851,7 @@ func walUnlockShared(tls *libc.TLS, pWal uintptr, lockIdx int32) { /* sqlite3.c: } -func walLockExclusive(tls *libc.TLS, pWal uintptr, lockIdx int32, n int32) int32 { /* sqlite3.c:61889:12: */ +func walLockExclusive(tls *libc.TLS, pWal uintptr, lockIdx int32, n int32) int32 { /* sqlite3.c:61899:12: */ var rc int32 if (*Wal)(unsafe.Pointer(pWal)).FexclusiveMode != 0 { return SQLITE_OK @@ -53852,7 +53862,7 @@ func walLockExclusive(tls *libc.TLS, pWal uintptr, lockIdx int32, n int32) int32 return rc } -func walUnlockExclusive(tls *libc.TLS, pWal uintptr, lockIdx int32, n int32) { /* sqlite3.c:61899:13: */ +func walUnlockExclusive(tls *libc.TLS, pWal uintptr, lockIdx int32, n int32) { /* sqlite3.c:61909:13: */ if (*Wal)(unsafe.Pointer(pWal)).FexclusiveMode != 0 { return } @@ -53864,12 +53874,12 @@ func walUnlockExclusive(tls *libc.TLS, pWal uintptr, lockIdx int32, n int32) { / // Compute a hash on a page number. The resulting hash value must land // between 0 and (HASHTABLE_NSLOT-1). The walHashNext() function advances // the hash to the next value in the event of a collision. -func walHash(tls *libc.TLS, iPage U32) int32 { /* sqlite3.c:61912:12: */ +func walHash(tls *libc.TLS, iPage U32) int32 { /* sqlite3.c:61922:12: */ return int32(iPage * U32(HASHTABLE_HASH_1) & U32(HASHTABLE_NPAGE*2-1)) } -func walNextHash(tls *libc.TLS, iPriorHash int32) int32 { /* sqlite3.c:61917:12: */ +func walNextHash(tls *libc.TLS, iPriorHash int32) int32 { /* sqlite3.c:61927:12: */ return (iPriorHash + 1) & (HASHTABLE_NPAGE*2 - 1) } @@ -53881,12 +53891,12 @@ type WalHashLoc1 = struct { FaPgno uintptr FiZero U32 F__ccgo_pad1 [4]byte -} /* sqlite3.c:61926:9 */ +} /* sqlite3.c:61936:9 */ // An instance of the WalHashLoc object is used to describe the location // of a page hash table in the wal-index. This becomes the return value // from walHashGet(). -type WalHashLoc = WalHashLoc1 /* sqlite3.c:61926:27 */ +type WalHashLoc = WalHashLoc1 /* sqlite3.c:61936:27 */ // Return pointers to the hash table and page number array stored on // page iHash of the wal-index. The wal-index is broken into 32KB pages @@ -53900,7 +53910,7 @@ type WalHashLoc = WalHashLoc1 /* sqlite3.c:61926:27 */ // // Finally, set pLoc->aPgno so that pLoc->aPgno[0] is the page number of the // first frame indexed by the hash table, frame (pLoc->iZero). -func walHashGet(tls *libc.TLS, pWal uintptr, iHash int32, pLoc uintptr) int32 { /* sqlite3.c:61947:12: */ +func walHashGet(tls *libc.TLS, pWal uintptr, iHash int32, pLoc uintptr) int32 { /* sqlite3.c:61957:12: */ var rc int32 // Return code rc = walIndexPage(tls, pWal, iHash, pLoc+8) @@ -53923,14 +53933,14 @@ func walHashGet(tls *libc.TLS, pWal uintptr, iHash int32, pLoc uintptr) int32 { // and page-number array that contain entries corresponding to WAL frame // iFrame. The wal-index is broken up into 32KB pages. Wal-index pages // are numbered starting from 0. -func walFramePage(tls *libc.TLS, iFrame U32) int32 { /* sqlite3.c:61977:12: */ +func walFramePage(tls *libc.TLS, iFrame U32) int32 { /* sqlite3.c:61987:12: */ var iHash int32 = int32((uint64(iFrame+U32(HASHTABLE_NPAGE)) - (uint64(HASHTABLE_NPAGE) - (uint64(unsafe.Sizeof(WalIndexHdr{}))*uint64(2)+uint64(unsafe.Sizeof(WalCkptInfo{})))/uint64(unsafe.Sizeof(U32(0)))) - uint64(1)) / uint64(HASHTABLE_NPAGE)) return iHash } // Return the page number associated with frame iFrame in this WAL. -func walFramePgno(tls *libc.TLS, pWal uintptr, iFrame U32) U32 { /* sqlite3.c:61992:12: */ +func walFramePgno(tls *libc.TLS, pWal uintptr, iFrame U32) U32 { /* sqlite3.c:62002:12: */ var iHash int32 = walFramePage(tls, iFrame) if iHash == 0 { return *(*U32)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer((*Wal)(unsafe.Pointer(pWal)).FapWiData)) + uintptr((uint64(unsafe.Sizeof(WalIndexHdr{}))*uint64(2)+uint64(unsafe.Sizeof(WalCkptInfo{})))/uint64(unsafe.Sizeof(U32(0)))+uint64(iFrame)-uint64(1))*4)) @@ -53948,7 +53958,7 @@ func walFramePgno(tls *libc.TLS, pWal uintptr, iFrame U32) U32 { /* sqlite3.c:61 // updated. Any later hash tables will be automatically cleared when // pWal->hdr.mxFrame advances to the point where those hash tables are // actually needed. -func walCleanupHash(tls *libc.TLS, pWal uintptr) { /* sqlite3.c:62012:13: */ +func walCleanupHash(tls *libc.TLS, pWal uintptr) { /* sqlite3.c:62022:13: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -53991,7 +54001,7 @@ func walCleanupHash(tls *libc.TLS, pWal uintptr) { /* sqlite3.c:62012:13: */ // Set an entry in the wal-index that will map database page number // pPage into WAL frame iFrame. -func walIndexAppend(tls *libc.TLS, pWal uintptr, iFrame U32, iPage U32) int32 { /* sqlite3.c:62074:12: */ +func walIndexAppend(tls *libc.TLS, pWal uintptr, iFrame U32, iPage U32) int32 { /* sqlite3.c:62084:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -54032,7 +54042,7 @@ func walIndexAppend(tls *libc.TLS, pWal uintptr, iFrame U32, iPage U32) int32 { nCollide = idx for iKey = walHash(tls, iPage); *(*Ht_slot)(unsafe.Pointer((*WalHashLoc)(unsafe.Pointer(bp /* &sLoc */)).FaHash + uintptr(iKey)*2)) != 0; iKey = walNextHash(tls, iKey) { if libc.PostDecInt32(&nCollide, 1) == 0 { - return Xsqlite3CorruptError(tls, 62114) + return Xsqlite3CorruptError(tls, 62124) } } *(*U32)(unsafe.Pointer((*WalHashLoc)(unsafe.Pointer(bp /* &sLoc */)).FaPgno + uintptr(idx-1)*4)) = iPage @@ -54051,7 +54061,7 @@ func walIndexAppend(tls *libc.TLS, pWal uintptr, iFrame U32, iPage U32) int32 { // WAL_RECOVER_LOCK is also held so that other threads will know // that this thread is running recovery. If unable to establish // the necessary locks, this routine returns SQLITE_BUSY. -func walIndexRecover(tls *libc.TLS, pWal uintptr) int32 { /* sqlite3.c:62163:12: */ +func walIndexRecover(tls *libc.TLS, pWal uintptr) int32 { /* sqlite3.c:62173:12: */ bp := tls.Alloc(80) defer tls.Free(80) @@ -54166,7 +54176,7 @@ __6: if !(version != U32(WAL_MAX_VERSION)) { goto __7 } - rc = Xsqlite3CantopenError(tls, 62246) + rc = Xsqlite3CantopenError(tls, 62256) goto finished __7: ; @@ -54370,7 +54380,7 @@ recovery_error: } // Close an open wal-index. -func walIndexClose(tls *libc.TLS, pWal uintptr, isDelete int32) { /* sqlite3.c:62386:13: */ +func walIndexClose(tls *libc.TLS, pWal uintptr, isDelete int32) { /* sqlite3.c:62396:13: */ if int32((*Wal)(unsafe.Pointer(pWal)).FexclusiveMode) == WAL_HEAPMEMORY_MODE || (*Wal)(unsafe.Pointer(pWal)).FbShmUnreliable != 0 { var i int32 for i = 0; i < (*Wal)(unsafe.Pointer(pWal)).FnWiData; i++ { @@ -54396,7 +54406,7 @@ func walIndexClose(tls *libc.TLS, pWal uintptr, isDelete int32) { /* sqlite3.c:6 // If the log file is successfully opened, SQLITE_OK is returned and // *ppWal is set to point to a new WAL handle. If an error occurs, // an SQLite error code is returned and *ppWal is left unmodified. -func Xsqlite3WalOpen(tls *libc.TLS, pVfs uintptr, pDbFd uintptr, zWalName uintptr, bNoShm int32, mxWalSize I64, ppWal uintptr) int32 { /* sqlite3.c:62414:20: */ +func Xsqlite3WalOpen(tls *libc.TLS, pVfs uintptr, pDbFd uintptr, zWalName uintptr, bNoShm int32, mxWalSize I64, ppWal uintptr) int32 { /* sqlite3.c:62424:20: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -54468,7 +54478,7 @@ func Xsqlite3WalOpen(tls *libc.TLS, pVfs uintptr, pDbFd uintptr, zWalName uintpt } // Change the size to which the WAL file is trucated on each reset. -func Xsqlite3WalLimit(tls *libc.TLS, pWal uintptr, iLimit I64) { /* sqlite3.c:62517:21: */ +func Xsqlite3WalLimit(tls *libc.TLS, pWal uintptr, iLimit I64) { /* sqlite3.c:62527:21: */ if pWal != 0 { (*Wal)(unsafe.Pointer(pWal)).FmxWalSize = iLimit } @@ -54482,7 +54492,7 @@ func Xsqlite3WalLimit(tls *libc.TLS, pWal uintptr, iLimit I64) { /* sqlite3.c:62 // // Return 0 on success. If there are no pages in the WAL with a page // number larger than *piPage, then return 1. -func walIteratorNext(tls *libc.TLS, p uintptr, piPage uintptr, piFrame uintptr) int32 { /* sqlite3.c:62531:12: */ +func walIteratorNext(tls *libc.TLS, p uintptr, piPage uintptr, piFrame uintptr) int32 { /* sqlite3.c:62541:12: */ var iMin U32 // Result pgno must be greater than iMin var iRet U32 = 0xFFFFFFFF // 0xffffffff is never a valid page number var i int32 // For looping through segments @@ -54529,7 +54539,7 @@ func walIteratorNext(tls *libc.TLS, p uintptr, piPage uintptr, piFrame uintptr) // aLeft[X]!=aRight[Y] && aContent[aLeft[X]] == aContent[aRight[Y]] // // When that happens, omit the aLeft[X] and use the aRight[Y] index. -func walMerge(tls *libc.TLS, aContent uintptr, aLeft uintptr, nLeft int32, paRight uintptr, pnRight uintptr, aTmp uintptr) { /* sqlite3.c:62584:13: */ +func walMerge(tls *libc.TLS, aContent uintptr, aLeft uintptr, nLeft int32, paRight uintptr, pnRight uintptr, aTmp uintptr) { /* sqlite3.c:62594:13: */ var iLeft int32 = 0 // Current index in aLeft var iRight int32 = 0 // Current index in aRight var iOut int32 = 0 // Current index in output buffer @@ -54575,7 +54585,7 @@ func walMerge(tls *libc.TLS, aContent uintptr, aLeft uintptr, nLeft int32, paRig // // Keep the larger of the two values aList[X] and aList[Y] and discard // the smaller. -func walMergesort(tls *libc.TLS, aContent uintptr, aBuffer uintptr, aList uintptr, pnList uintptr) { /* sqlite3.c:62641:13: */ +func walMergesort(tls *libc.TLS, aContent uintptr, aBuffer uintptr, aList uintptr, pnList uintptr) { /* sqlite3.c:62651:13: */ bp := tls.Alloc(220) defer tls.Free(220) @@ -54621,10 +54631,10 @@ type Sublist = struct { FnList int32 F__ccgo_pad1 [4]byte FaList uintptr -} /* sqlite3.c:62647:3 */ +} /* sqlite3.c:62657:3 */ // Free an iterator allocated by walIteratorInit(). -func walIteratorFree(tls *libc.TLS, p uintptr) { /* sqlite3.c:62704:13: */ +func walIteratorFree(tls *libc.TLS, p uintptr) { /* sqlite3.c:62714:13: */ Xsqlite3_free(tls, p) } @@ -54639,7 +54649,7 @@ func walIteratorFree(tls *libc.TLS, p uintptr) { /* sqlite3.c:62704:13: */ // // The calling routine should invoke walIteratorFree() to destroy the // WalIterator object when it has finished with it. -func walIteratorInit(tls *libc.TLS, pWal uintptr, nBackfill U32, pp uintptr) int32 { /* sqlite3.c:62721:12: */ +func walIteratorInit(tls *libc.TLS, pWal uintptr, nBackfill U32, pp uintptr) int32 { /* sqlite3.c:62731:12: */ bp := tls.Alloc(28) defer tls.Free(28) @@ -54723,7 +54733,7 @@ func walIteratorInit(tls *libc.TLS, pWal uintptr, nBackfill U32, pp uintptr) int // n. If the attempt fails and parameter xBusy is not NULL, then it is a // 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) int32 { /* sqlite3.c:62884:12: */ +func walBusyLock(tls *libc.TLS, pWal uintptr, xBusy uintptr, pBusyArg uintptr, lockIdx int32, n int32) int32 { /* sqlite3.c:62894:12: */ var rc int32 for __ccgo := true; __ccgo; __ccgo = xBusy != 0 && rc == SQLITE_BUSY && (*struct { f func(*libc.TLS, uintptr) int32 @@ -54735,7 +54745,7 @@ func walBusyLock(tls *libc.TLS, pWal uintptr, xBusy uintptr, pBusyArg uintptr, l // The cache of the wal-index header must be valid to call this function. // Return the page-size in bytes used by the database. -func walPagesize(tls *libc.TLS, pWal uintptr) int32 { /* sqlite3.c:62908:12: */ +func walPagesize(tls *libc.TLS, pWal uintptr) int32 { /* sqlite3.c:62918:12: */ return int32((*Wal)(unsafe.Pointer(pWal)).Fhdr.FszPage)&0xfe00 + int32((*Wal)(unsafe.Pointer(pWal)).Fhdr.FszPage)&0x0001<<16 } @@ -54754,7 +54764,7 @@ func walPagesize(tls *libc.TLS, pWal uintptr) int32 { /* sqlite3.c:62908:12: */ // The value of parameter salt1 is used as the aSalt[1] value in the // new wal-index header. It should be passed a pseudo-random value (i.e. // one obtained from sqlite3_randomness()). -func walRestartHdr(tls *libc.TLS, pWal uintptr, salt1 U32) { /* sqlite3.c:62929:13: */ +func walRestartHdr(tls *libc.TLS, pWal uintptr, salt1 U32) { /* sqlite3.c:62939:13: */ bp := tls.Alloc(4) defer tls.Free(4) *(*U32)(unsafe.Pointer(bp)) = salt1 @@ -54805,7 +54815,7 @@ func walRestartHdr(tls *libc.TLS, pWal uintptr, salt1 U32) { /* sqlite3.c:62929: // The caller must be holding sufficient locks to ensure that no other // 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) int32 { /* sqlite3.c:62976:12: */ +func walCheckpoint(tls *libc.TLS, pWal uintptr, db uintptr, eMode int32, xBusy uintptr, pBusyArg uintptr, sync_flags int32, zBuf uintptr) int32 { /* sqlite3.c:62986:12: */ bp := tls.Alloc(36) defer tls.Free(36) @@ -54936,7 +54946,7 @@ __10: // 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 = Xsqlite3CorruptError(tls, 63060) + rc = Xsqlite3CorruptError(tls, 63070) goto __15 __14: Xsqlite3OsFileControlHint(tls, (*Wal)(unsafe.Pointer(pWal)).FpDbFd, SQLITE_FCNTL_SIZE_HINT, bp+16) @@ -55097,7 +55107,7 @@ walcheckpoint_out: // If the WAL file is currently larger than nMax bytes in size, truncate // it to exactly nMax bytes. If an error occurs while doing so, ignore it. -func walLimitSize(tls *libc.TLS, pWal uintptr, nMax I64) { /* sqlite3.c:63162:13: */ +func walLimitSize(tls *libc.TLS, pWal uintptr, nMax I64) { /* sqlite3.c:63172:13: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -55116,7 +55126,7 @@ func walLimitSize(tls *libc.TLS, pWal uintptr, nMax I64) { /* sqlite3.c:63162:13 } // Close a connection to a log file. -func Xsqlite3WalClose(tls *libc.TLS, pWal uintptr, db uintptr, sync_flags int32, nBuf int32, zBuf uintptr) int32 { /* sqlite3.c:63179:20: */ +func Xsqlite3WalClose(tls *libc.TLS, pWal uintptr, db uintptr, sync_flags int32, nBuf int32, zBuf uintptr) int32 { /* sqlite3.c:63189:20: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -55188,7 +55198,7 @@ func Xsqlite3WalClose(tls *libc.TLS, pWal uintptr, db uintptr, sync_flags int32, // // If the checksum cannot be verified return non-zero. If the header // is read successfully and the checksum verified, return zero. -func walIndexTryHdr(tls *libc.TLS, pWal uintptr, pChanged uintptr) int32 { /* sqlite3.c:63260:27: */ +func walIndexTryHdr(tls *libc.TLS, pWal uintptr, pChanged uintptr) int32 { /* sqlite3.c:63270:27: */ bp := tls.Alloc(104) defer tls.Free(104) @@ -55257,7 +55267,7 @@ func walIndexTryHdr(tls *libc.TLS, pWal uintptr, pChanged uintptr) int32 { /* sq // // If the wal-index header is successfully read, return SQLITE_OK. // Otherwise an SQLite error code. -func walIndexReadHdr(tls *libc.TLS, pWal uintptr, pChanged uintptr) int32 { /* sqlite3.c:63330:12: */ +func walIndexReadHdr(tls *libc.TLS, pWal uintptr, pChanged uintptr) int32 { /* sqlite3.c:63340:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -55337,7 +55347,7 @@ func walIndexReadHdr(tls *libc.TLS, pWal uintptr, pChanged uintptr) int32 { /* s // sure the wal-index was not constructed with some future format that // this version of SQLite cannot understand. if badHdr == 0 && (*Wal)(unsafe.Pointer(pWal)).Fhdr.FiVersion != U32(WALINDEX_MAX_VERSION) { - rc = Xsqlite3CantopenError(tls, 63409) + rc = Xsqlite3CantopenError(tls, 63419) } if (*Wal)(unsafe.Pointer(pWal)).FbShmUnreliable != 0 { if rc != SQLITE_OK { @@ -55382,7 +55392,7 @@ func walIndexReadHdr(tls *libc.TLS, pWal uintptr, pChanged uintptr) int32 { /* s // beginning (including attempting to map the *-shm file). // // If an error occurs, an SQLite error code is returned. -func walBeginShmUnreliable(tls *libc.TLS, pWal uintptr, pChanged uintptr) int32 { /* sqlite3.c:63454:12: */ +func walBeginShmUnreliable(tls *libc.TLS, pWal uintptr, pChanged uintptr) int32 { /* sqlite3.c:63464:12: */ bp := tls.Alloc(64) defer tls.Free(64) @@ -55648,7 +55658,7 @@ __15: // update values of the aReadMark[] array in the header, but if it does // so it takes care to hold an exclusive lock on the corresponding // WAL_READ_LOCK() while changing values. -func walTryBeginRead(tls *libc.TLS, pWal uintptr, pChanged uintptr, useWal int32, cnt int32) int32 { /* sqlite3.c:63651:12: */ +func walTryBeginRead(tls *libc.TLS, pWal uintptr, pChanged uintptr, useWal int32, cnt int32) int32 { /* sqlite3.c:63661:12: */ var pInfo uintptr // Checkpoint information in wal-index var mxReadMark U32 // Largest aReadMark[] value var mxI int32 // Index of largest aReadMark[] value @@ -55865,7 +55875,7 @@ func walTryBeginRead(tls *libc.TLS, pWal uintptr, pChanged uintptr, useWal int32 // SQLITE_OK is returned if successful, or an SQLite error code if an // error occurs. It is not an error if nBackfillAttempted cannot be // decreased at all. -func Xsqlite3WalSnapshotRecover(tls *libc.TLS, pWal uintptr) int32 { /* sqlite3.c:63881:20: */ +func Xsqlite3WalSnapshotRecover(tls *libc.TLS, pWal uintptr) int32 { /* sqlite3.c:63891:20: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -55939,7 +55949,7 @@ func Xsqlite3WalSnapshotRecover(tls *libc.TLS, pWal uintptr) int32 { /* sqlite3. // transaction, then *pChanged is set to 1 before returning. The // Pager layer will use this to know that its cache is stale and // needs to be flushed. -func Xsqlite3WalBeginReadTransaction(tls *libc.TLS, pWal uintptr, pChanged uintptr) int32 { /* sqlite3.c:63952:20: */ +func Xsqlite3WalBeginReadTransaction(tls *libc.TLS, pWal uintptr, pChanged uintptr) int32 { /* sqlite3.c:63962:20: */ var rc int32 // Return code var cnt int32 = 0 // Number of TryBeginRead attempts var bChanged int32 = 0 @@ -56027,7 +56037,7 @@ func Xsqlite3WalBeginReadTransaction(tls *libc.TLS, pWal uintptr, pChanged uintp // Finish with a read transaction. All this does is release the // read-lock. -func Xsqlite3WalEndReadTransaction(tls *libc.TLS, pWal uintptr) { /* sqlite3.c:64060:21: */ +func Xsqlite3WalEndReadTransaction(tls *libc.TLS, pWal uintptr) { /* sqlite3.c:64070:21: */ Xsqlite3WalEndWriteTransaction(tls, pWal) if int32((*Wal)(unsafe.Pointer(pWal)).FreadLock) >= 0 { walUnlockShared(tls, pWal, 3+int32((*Wal)(unsafe.Pointer(pWal)).FreadLock)) @@ -56041,7 +56051,7 @@ func Xsqlite3WalEndReadTransaction(tls *libc.TLS, pWal uintptr) { /* sqlite3.c:6 // // Return SQLITE_OK if successful, or an error code if an error occurs. If an // error does occur, the final value of *piRead is undefined. -func Xsqlite3WalFindFrame(tls *libc.TLS, pWal uintptr, pgno Pgno, piRead uintptr) int32 { /* sqlite3.c:64076:20: */ +func Xsqlite3WalFindFrame(tls *libc.TLS, pWal uintptr, pgno Pgno, piRead uintptr) int32 { /* sqlite3.c:64086:20: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -56108,7 +56118,7 @@ func Xsqlite3WalFindFrame(tls *libc.TLS, pWal uintptr, pgno Pgno, piRead uintptr iRead = iFrame } if libc.PostDecInt32(&nCollide, 1) == 0 { - return Xsqlite3CorruptError(tls, 64146) + return Xsqlite3CorruptError(tls, 64156) } iKey = walNextHash(tls, iKey) } @@ -56124,7 +56134,7 @@ func Xsqlite3WalFindFrame(tls *libc.TLS, pWal uintptr, pgno Pgno, piRead uintptr // Read the contents of frame iRead from the wal file into buffer pOut // (which is nOut bytes in size). Return SQLITE_OK if successful, or an // error code otherwise. -func Xsqlite3WalReadFrame(tls *libc.TLS, pWal uintptr, iRead U32, nOut int32, pOut uintptr) int32 { /* sqlite3.c:64180:20: */ +func Xsqlite3WalReadFrame(tls *libc.TLS, pWal uintptr, iRead U32, nOut int32, pOut uintptr) int32 { /* sqlite3.c:64190:20: */ var sz int32 var iOffset I64 sz = int32((*Wal)(unsafe.Pointer(pWal)).Fhdr.FszPage) @@ -56141,7 +56151,7 @@ func Xsqlite3WalReadFrame(tls *libc.TLS, pWal uintptr, iRead U32, nOut int32, pO } // Return the size of the database in pages (or zero, if unknown). -func Xsqlite3WalDbsize(tls *libc.TLS, pWal uintptr) Pgno { /* sqlite3.c:64200:21: */ +func Xsqlite3WalDbsize(tls *libc.TLS, pWal uintptr) Pgno { /* sqlite3.c:64210:21: */ if pWal != 0 && int32((*Wal)(unsafe.Pointer(pWal)).FreadLock) >= 0 { return (*Wal)(unsafe.Pointer(pWal)).Fhdr.FnPage } @@ -56159,7 +56169,7 @@ func Xsqlite3WalDbsize(tls *libc.TLS, pWal uintptr) Pgno { /* sqlite3.c:64200:21 // returns SQLITE_BUSY in that case and no write transaction is started. // // There can only be a single writer active at a time. -func Xsqlite3WalBeginWriteTransaction(tls *libc.TLS, pWal uintptr) int32 { /* sqlite3.c:64221:20: */ +func Xsqlite3WalBeginWriteTransaction(tls *libc.TLS, pWal uintptr) int32 { /* sqlite3.c:64231:20: */ var rc int32 // Cannot start a write transaction without first holding a read @@ -56191,7 +56201,7 @@ func Xsqlite3WalBeginWriteTransaction(tls *libc.TLS, pWal uintptr) int32 { /* sq // End a write transaction. The commit has already been done. This // routine merely releases the lock. -func Xsqlite3WalEndWriteTransaction(tls *libc.TLS, pWal uintptr) int32 { /* sqlite3.c:64269:20: */ +func Xsqlite3WalEndWriteTransaction(tls *libc.TLS, pWal uintptr) int32 { /* sqlite3.c:64279:20: */ if (*Wal)(unsafe.Pointer(pWal)).FwriteLock != 0 { walUnlockExclusive(tls, pWal, WAL_WRITE_LOCK, 1) (*Wal)(unsafe.Pointer(pWal)).FwriteLock = U8(0) @@ -56211,7 +56221,7 @@ func Xsqlite3WalEndWriteTransaction(tls *libc.TLS, pWal uintptr) int32 { /* sqli // // Otherwise, if the callback function does not return an error, this // function returns SQLITE_OK. -func Xsqlite3WalUndo(tls *libc.TLS, pWal uintptr, xUndo uintptr, pUndoCtx uintptr) int32 { /* sqlite3.c:64291:20: */ +func Xsqlite3WalUndo(tls *libc.TLS, pWal uintptr, xUndo uintptr, pUndoCtx uintptr) int32 { /* sqlite3.c:64301:20: */ var rc int32 = SQLITE_OK if (*Wal)(unsafe.Pointer(pWal)).FwriteLock != 0 { var iMax Pgno = (*Wal)(unsafe.Pointer(pWal)).Fhdr.FmxFrame @@ -56248,7 +56258,7 @@ func Xsqlite3WalUndo(tls *libc.TLS, pWal uintptr, xUndo uintptr, pUndoCtx uintpt // values. This function populates the array with values required to // "rollback" the write position of the WAL handle back to the current // point in the event of a savepoint rollback (via WalSavepointUndo()). -func Xsqlite3WalSavepoint(tls *libc.TLS, pWal uintptr, aWalData uintptr) { /* sqlite3.c:64331:21: */ +func Xsqlite3WalSavepoint(tls *libc.TLS, pWal uintptr, aWalData uintptr) { /* sqlite3.c:64341:21: */ *(*U32)(unsafe.Pointer(aWalData)) = (*Wal)(unsafe.Pointer(pWal)).Fhdr.FmxFrame *(*U32)(unsafe.Pointer(aWalData + 1*4)) = *(*U32)(unsafe.Pointer(pWal + 72 + 24)) @@ -56260,7 +56270,7 @@ func Xsqlite3WalSavepoint(tls *libc.TLS, pWal uintptr, aWalData uintptr) { /* sq // the values in the aWalData[] array. aWalData must point to an array // of WAL_SAVEPOINT_NDATA u32 values that has been previously populated // by a call to WalSavepoint(). -func Xsqlite3WalSavepointUndo(tls *libc.TLS, pWal uintptr, aWalData uintptr) int32 { /* sqlite3.c:64345:20: */ +func Xsqlite3WalSavepointUndo(tls *libc.TLS, pWal uintptr, aWalData uintptr) int32 { /* sqlite3.c:64355:20: */ var rc int32 = SQLITE_OK if *(*U32)(unsafe.Pointer(aWalData + 3*4)) != (*Wal)(unsafe.Pointer(pWal)).FnCkpt { @@ -56291,7 +56301,7 @@ func Xsqlite3WalSavepointUndo(tls *libc.TLS, pWal uintptr, aWalData uintptr) int // SQLITE_OK is returned if no error is encountered (regardless of whether // or not pWal->hdr.mxFrame is modified). An SQLite error code is returned // if an error occurs. -func walRestartLog(tls *libc.TLS, pWal uintptr) int32 { /* sqlite3.c:64382:12: */ +func walRestartLog(tls *libc.TLS, pWal uintptr) int32 { /* sqlite3.c:64392:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -56345,12 +56355,12 @@ type WalWriter1 = struct { FiSyncPoint Sqlite3_int64 FsyncFlags int32 FszPage int32 -} /* sqlite3.c:64429:9 */ +} /* sqlite3.c:64439:9 */ // Information about the current state of the WAL file and where // the next fsync should occur - passed from sqlite3WalFrames() into // walWriteToLog(). -type WalWriter = WalWriter1 /* sqlite3.c:64435:3 */ +type WalWriter = WalWriter1 /* sqlite3.c:64445:3 */ // Write iAmt bytes of content into the WAL file beginning at iOffset. // Do a sync when crossing the p->iSyncPoint boundary. @@ -56358,7 +56368,7 @@ type WalWriter = WalWriter1 /* sqlite3.c:64435:3 */ // In other words, if iSyncPoint is in between iOffset and iOffset+iAmt, // first write the part before iSyncPoint, then sync, then write the // rest. -func walWriteToLog(tls *libc.TLS, p uintptr, pContent uintptr, iAmt int32, iOffset Sqlite3_int64) int32 { /* sqlite3.c:64445:12: */ +func walWriteToLog(tls *libc.TLS, p uintptr, pContent uintptr, iAmt int32, iOffset Sqlite3_int64) int32 { /* sqlite3.c:64455:12: */ var rc int32 if iOffset < (*WalWriter)(unsafe.Pointer(p)).FiSyncPoint && iOffset+Sqlite3_int64(iAmt) >= (*WalWriter)(unsafe.Pointer(p)).FiSyncPoint { var iFirstAmt int32 = int32((*WalWriter)(unsafe.Pointer(p)).FiSyncPoint - iOffset) @@ -56380,7 +56390,7 @@ func walWriteToLog(tls *libc.TLS, p uintptr, pContent uintptr, iAmt int32, iOffs } // Write out a single frame of the WAL -func walWriteOneFrame(tls *libc.TLS, p uintptr, pPage uintptr, nTruncate int32, iOffset Sqlite3_int64) int32 { /* sqlite3.c:64470:12: */ +func walWriteOneFrame(tls *libc.TLS, p uintptr, pPage uintptr, nTruncate int32, iOffset Sqlite3_int64) int32 { /* sqlite3.c:64480:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -56405,7 +56415,7 @@ func walWriteOneFrame(tls *libc.TLS, p uintptr, pPage uintptr, nTruncate int32, // with the earliest to have been overwritten. // // SQLITE_OK is returned if successful, or an SQLite error code otherwise. -func walRewriteChecksums(tls *libc.TLS, pWal uintptr, iLast U32) int32 { /* sqlite3.c:64496:12: */ +func walRewriteChecksums(tls *libc.TLS, pWal uintptr, iLast U32) int32 { /* sqlite3.c:64506:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -56459,7 +56469,7 @@ func walRewriteChecksums(tls *libc.TLS, pWal uintptr, iLast U32) int32 { /* sqli // Write a set of frames to the log. The caller must hold the write-lock // on the log file (obtained using sqlite3WalBeginWriteTransaction()). -func Xsqlite3WalFrames(tls *libc.TLS, pWal uintptr, szPage int32, pList uintptr, nTruncate Pgno, isCommit int32, sync_flags int32) int32 { /* sqlite3.c:64545:20: */ +func Xsqlite3WalFrames(tls *libc.TLS, pWal uintptr, szPage int32, pList uintptr, nTruncate Pgno, isCommit int32, sync_flags int32) int32 { /* sqlite3.c:64555:20: */ bp := tls.Alloc(80) defer tls.Free(80) @@ -56692,7 +56702,7 @@ func Xsqlite3WalFrames(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 Xsqlite3WalCheckpoint(tls *libc.TLS, pWal uintptr, db uintptr, eMode int32, xBusy uintptr, pBusyArg uintptr, sync_flags int32, nBuf int32, zBuf uintptr, pnLog uintptr, pnCkpt uintptr) int32 { /* sqlite3.c:64783:20: */ +func Xsqlite3WalCheckpoint(tls *libc.TLS, pWal uintptr, db uintptr, eMode int32, xBusy uintptr, pBusyArg uintptr, sync_flags int32, nBuf int32, zBuf uintptr, pnLog uintptr, pnCkpt uintptr) int32 { /* sqlite3.c:64793:20: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -56757,7 +56767,7 @@ func Xsqlite3WalCheckpoint(tls *libc.TLS, pWal uintptr, db uintptr, eMode int32, if rc == SQLITE_OK { if (*Wal)(unsafe.Pointer(pWal)).Fhdr.FmxFrame != 0 && walPagesize(tls, pWal) != nBuf { - rc = Xsqlite3CorruptError(tls, 64865) + rc = Xsqlite3CorruptError(tls, 64875) } else { rc = walCheckpoint(tls, pWal, db, eMode2, xBusy2, pBusyArg, sync_flags, zBuf) } @@ -56801,7 +56811,7 @@ func Xsqlite3WalCheckpoint(tls *libc.TLS, pWal uintptr, db uintptr, eMode int32, // number of frames in the WAL at the point of the last commit since // sqlite3WalCallback() was called. If no commits have occurred since // the last call, then return 0. -func Xsqlite3WalCallback(tls *libc.TLS, pWal uintptr) int32 { /* sqlite3.c:64908:20: */ +func Xsqlite3WalCallback(tls *libc.TLS, pWal uintptr) int32 { /* sqlite3.c:64918:20: */ var ret U32 = U32(0) if pWal != 0 { ret = (*Wal)(unsafe.Pointer(pWal)).FiCallback @@ -56832,7 +56842,7 @@ func Xsqlite3WalCallback(tls *libc.TLS, pWal uintptr) int32 { /* sqlite3.c:64908 // not actually change anything. The pager uses this to see if it // should acquire the database exclusive lock prior to invoking // the op==1 case. -func Xsqlite3WalExclusiveMode(tls *libc.TLS, pWal uintptr, op int32) int32 { /* sqlite3.c:64941:20: */ +func Xsqlite3WalExclusiveMode(tls *libc.TLS, pWal uintptr, op int32) int32 { /* sqlite3.c:64951:20: */ var rc int32 // pWal->readLock is usually set, but might be -1 if there was a @@ -56866,14 +56876,14 @@ func Xsqlite3WalExclusiveMode(tls *libc.TLS, pWal uintptr, op int32) int32 { /* // Return true if the argument is non-NULL and the WAL module is using // heap-memory for the wal-index. Otherwise, if the argument is NULL or the // WAL module is using shared-memory, return false. -func Xsqlite3WalHeapMemory(tls *libc.TLS, pWal uintptr) int32 { /* sqlite3.c:64983:20: */ +func Xsqlite3WalHeapMemory(tls *libc.TLS, pWal uintptr) int32 { /* sqlite3.c:64993:20: */ return libc.Bool32(pWal != 0 && int32((*Wal)(unsafe.Pointer(pWal)).FexclusiveMode) == WAL_HEAPMEMORY_MODE) } // Create a snapshot object. The content of a snapshot is opaque to // every other subsystem, so the WAL module can put whatever it needs // in the object. -func Xsqlite3WalSnapshotGet(tls *libc.TLS, pWal uintptr, ppSnapshot uintptr) int32 { /* sqlite3.c:64992:20: */ +func Xsqlite3WalSnapshotGet(tls *libc.TLS, pWal uintptr, ppSnapshot uintptr) int32 { /* sqlite3.c:65002:20: */ var rc int32 = SQLITE_OK var pRet uintptr @@ -56892,16 +56902,16 @@ func Xsqlite3WalSnapshotGet(tls *libc.TLS, pWal uintptr, ppSnapshot uintptr) int return rc } -var aZero = [4]U32{U32(0), U32(0), U32(0), U32(0)} /* sqlite3.c:64995:20 */ +var aZero = [4]U32{U32(0), U32(0), U32(0), U32(0)} /* sqlite3.c:65005:20 */ // Try to open on pSnapshot when the next read-transaction starts -func Xsqlite3WalSnapshotOpen(tls *libc.TLS, pWal uintptr, pSnapshot uintptr) { /* sqlite3.c:65016:21: */ +func Xsqlite3WalSnapshotOpen(tls *libc.TLS, pWal uintptr, pSnapshot uintptr) { /* sqlite3.c:65026:21: */ (*Wal)(unsafe.Pointer(pWal)).FpSnapshot = pSnapshot } // Return a +ve value if snapshot p1 is newer than p2. A -ve value if // p1 is older than p2 and zero if p1 and p2 are the same snapshot. -func Xsqlite3_snapshot_cmp(tls *libc.TLS, p1 uintptr, p2 uintptr) int32 { /* sqlite3.c:65027:16: */ +func Xsqlite3_snapshot_cmp(tls *libc.TLS, p1 uintptr, p2 uintptr) int32 { /* sqlite3.c:65037:16: */ var pHdr1 uintptr = p1 var pHdr2 uintptr = p2 @@ -56931,7 +56941,7 @@ func Xsqlite3_snapshot_cmp(tls *libc.TLS, p1 uintptr, p2 uintptr) int32 { /* sql // the CHECKPOINTER lock cannot be obtained, SQLITE_BUSY. If any error // occurs (any value other than SQLITE_OK is returned), the CHECKPOINTER // lock is released before returning. -func Xsqlite3WalSnapshotCheck(tls *libc.TLS, pWal uintptr, pSnapshot uintptr) int32 { /* sqlite3.c:65051:20: */ +func Xsqlite3WalSnapshotCheck(tls *libc.TLS, pWal uintptr, pSnapshot uintptr) int32 { /* sqlite3.c:65061:20: */ var rc int32 rc = walLockShared(tls, pWal, WAL_CKPT_LOCK) if rc == SQLITE_OK { @@ -56947,13 +56957,13 @@ func Xsqlite3WalSnapshotCheck(tls *libc.TLS, pWal uintptr, pSnapshot uintptr) in // Release a lock obtained by an earlier successful call to // sqlite3WalSnapshotCheck(). -func Xsqlite3WalSnapshotUnlock(tls *libc.TLS, pWal uintptr) { /* sqlite3.c:65070:21: */ +func Xsqlite3WalSnapshotUnlock(tls *libc.TLS, pWal uintptr) { /* sqlite3.c:65080:21: */ walUnlockShared(tls, pWal, WAL_CKPT_LOCK) } // Return the sqlite3_file object for the WAL file -func Xsqlite3WalFile(tls *libc.TLS, pWal uintptr) uintptr { /* sqlite3.c:65092:29: */ +func Xsqlite3WalFile(tls *libc.TLS, pWal uintptr) uintptr { /* sqlite3.c:65102:29: */ return (*Wal)(unsafe.Pointer(pWal)).FpWalFd } @@ -57474,7 +57484,7 @@ type MemPage1 = struct { // small cells will be rare, but they are possible. // Forward declarations -type MemPage = MemPage1 /* sqlite3.c:65350:24 */ +type MemPage = MemPage1 /* sqlite3.c:65360:24 */ type BtLock1 = struct { FpBtree uintptr FiTable Pgno @@ -57483,7 +57493,7 @@ type BtLock1 = struct { FpNext uintptr } /* sqlite3.c:578:9 */ -type BtLock = BtLock1 /* sqlite3.c:65351:23 */ +type BtLock = BtLock1 /* sqlite3.c:65361:23 */ type CellInfo1 = struct { FnKey I64 FpPayload uintptr @@ -57492,7 +57502,7 @@ type CellInfo1 = struct { FnSize U16 } /* sqlite3.c:578:9 */ -type CellInfo = CellInfo1 /* sqlite3.c:65352:25 */ +type CellInfo = CellInfo1 /* sqlite3.c:65362:25 */ // Legal values for BtCursor.curFlags @@ -57602,7 +57612,7 @@ type IntegrityCk1 = struct { FerrMsg StrAccum Fheap uintptr Fdb uintptr -} /* sqlite3.c:65811:9 */ +} /* sqlite3.c:65821:9 */ // Legal values for BtCursor.curFlags @@ -57698,7 +57708,7 @@ type IntegrityCk1 = struct { // the database the corresponding bit is set. This allows integrity-check to // detect pages that are used twice and orphaned pages (both of which // indicate corruption). -type IntegrityCk = IntegrityCk1 /* sqlite3.c:65811:28 */ +type IntegrityCk = IntegrityCk1 /* sqlite3.c:65821:28 */ // Routines to read or write a two- and four-byte big-endian integer values. @@ -57712,7 +57722,7 @@ type IntegrityCk = IntegrityCk1 /* sqlite3.c:65811:28 */ // Obtain the BtShared mutex associated with B-Tree handle p. Also, // set BtShared.db to the database handle associated with p and the // p->locked boolean to true. -func lockBtreeMutex(tls *libc.TLS, p uintptr) { /* sqlite3.c:65861:13: */ +func lockBtreeMutex(tls *libc.TLS, p uintptr) { /* sqlite3.c:65871:13: */ Xsqlite3_mutex_enter(tls, (*BtShared)(unsafe.Pointer((*Btree)(unsafe.Pointer(p)).FpBt)).Fmutex) (*BtShared)(unsafe.Pointer((*Btree)(unsafe.Pointer(p)).FpBt)).Fdb = (*Btree)(unsafe.Pointer(p)).Fdb @@ -57721,7 +57731,7 @@ func lockBtreeMutex(tls *libc.TLS, p uintptr) { /* sqlite3.c:65861:13: */ // Release the BtShared mutex associated with B-Tree handle p and // clear the p->locked boolean. -func unlockBtreeMutex(tls *libc.TLS, p uintptr) { /* sqlite3.c:65875:29: */ +func unlockBtreeMutex(tls *libc.TLS, p uintptr) { /* sqlite3.c:65885:29: */ var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt Xsqlite3_mutex_leave(tls, (*BtShared)(unsafe.Pointer(pBt)).Fmutex) @@ -57742,7 +57752,7 @@ func unlockBtreeMutex(tls *libc.TLS, p uintptr) { /* sqlite3.c:65875:29: */ // p, then first unlock all of the others on p->pNext, then wait // for the lock to become available on p, then relock all of the // subsequent Btrees that desire a lock. -func Xsqlite3BtreeEnter(tls *libc.TLS, p uintptr) { /* sqlite3.c:65905:21: */ +func Xsqlite3BtreeEnter(tls *libc.TLS, p uintptr) { /* sqlite3.c:65915:21: */ // Some basic sanity checking on the Btree. The list of Btrees // connected by pNext and pPrev should be in sorted order by // Btree.pBt value. All elements of the list should belong to @@ -57770,7 +57780,7 @@ func Xsqlite3BtreeEnter(tls *libc.TLS, p uintptr) { /* sqlite3.c:65905:21: */ // into this routine, we avoid unnecessary stack pointer changes // and thus help the sqlite3BtreeLock() routine to run much faster // in the common case. -func btreeLockCarefully(tls *libc.TLS, p uintptr) { /* sqlite3.c:65939:29: */ +func btreeLockCarefully(tls *libc.TLS, p uintptr) { /* sqlite3.c:65949:29: */ var pLater uintptr // In most cases, we should be able to acquire the lock we @@ -57801,7 +57811,7 @@ func btreeLockCarefully(tls *libc.TLS, p uintptr) { /* sqlite3.c:65939:29: */ } // Exit the recursive mutex on a Btree. -func Xsqlite3BtreeLeave(tls *libc.TLS, p uintptr) { /* sqlite3.c:65977:21: */ +func Xsqlite3BtreeLeave(tls *libc.TLS, p uintptr) { /* sqlite3.c:65987:21: */ if (*Btree)(unsafe.Pointer(p)).Fsharable != 0 { @@ -57824,7 +57834,7 @@ func Xsqlite3BtreeLeave(tls *libc.TLS, p uintptr) { /* sqlite3.c:65977:21: */ // to avoid the possibility of deadlock when two threads with // two or more btrees in common both try to lock all their btrees // at the same instant. -func btreeEnterAll(tls *libc.TLS, db uintptr) { /* sqlite3.c:66020:29: */ +func btreeEnterAll(tls *libc.TLS, db uintptr) { /* sqlite3.c:66030:29: */ var i int32 var skipOk int32 = 1 var p uintptr @@ -57839,13 +57849,13 @@ func btreeEnterAll(tls *libc.TLS, db uintptr) { /* sqlite3.c:66020:29: */ (*Sqlite3)(unsafe.Pointer(db)).FnoSharedCache = U8(skipOk) } -func Xsqlite3BtreeEnterAll(tls *libc.TLS, db uintptr) { /* sqlite3.c:66034:21: */ +func Xsqlite3BtreeEnterAll(tls *libc.TLS, db uintptr) { /* sqlite3.c:66044:21: */ if int32((*Sqlite3)(unsafe.Pointer(db)).FnoSharedCache) == 0 { btreeEnterAll(tls, db) } } -func btreeLeaveAll(tls *libc.TLS, db uintptr) { /* sqlite3.c:66037:29: */ +func btreeLeaveAll(tls *libc.TLS, db uintptr) { /* sqlite3.c:66047:29: */ var i int32 var p uintptr @@ -57857,7 +57867,7 @@ func btreeLeaveAll(tls *libc.TLS, db uintptr) { /* sqlite3.c:66037:29: */ } } -func Xsqlite3BtreeLeaveAll(tls *libc.TLS, db uintptr) { /* sqlite3.c:66046:21: */ +func Xsqlite3BtreeLeaveAll(tls *libc.TLS, db uintptr) { /* sqlite3.c:66056:21: */ if int32((*Sqlite3)(unsafe.Pointer(db)).FnoSharedCache) == 0 { btreeLeaveAll(tls, db) } @@ -57868,11 +57878,11 @@ func Xsqlite3BtreeLeaveAll(tls *libc.TLS, db uintptr) { /* sqlite3.c:66046:21: * // These entry points are used by incremental I/O only. Enter() is required // any time OMIT_SHARED_CACHE is not defined, regardless of whether or not // the build is threadsafe. Leave() is only required by threadsafe builds. -func Xsqlite3BtreeEnterCursor(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:66132:21: */ +func Xsqlite3BtreeEnterCursor(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:66142:21: */ Xsqlite3BtreeEnter(tls, (*BtCursor)(unsafe.Pointer(pCur)).FpBtree) } -func Xsqlite3BtreeLeaveCursor(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:66136:21: */ +func Xsqlite3BtreeLeaveCursor(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:66146:21: */ Xsqlite3BtreeLeave(tls, (*BtCursor)(unsafe.Pointer(pCur)).FpBtree) } @@ -57895,7 +57905,7 @@ func Xsqlite3BtreeLeaveCursor(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:66136: // The header string that appears at the beginning of every // SQLite database. -var zMagicHeader = *(*[16]int8)(unsafe.Pointer(ts + 4387)) /* sqlite3.c:66167:19 */ +var zMagicHeader = *(*[16]int8)(unsafe.Pointer(ts + 4387)) /* sqlite3.c:66177:19 */ // Set this global variable to 1 to enable tracing using the TRACE // macro. @@ -57921,14 +57931,14 @@ var zMagicHeader = *(*[16]int8)(unsafe.Pointer(ts + 4387)) /* sqlite3.c:66167:19 // test builds. // // Access to this variable is protected by SQLITE_MUTEX_STATIC_MAIN. -var sqlite3SharedCacheList uintptr = uintptr(0) /* sqlite3.c:66222:17 */ +var sqlite3SharedCacheList uintptr = uintptr(0) /* sqlite3.c:66232:17 */ // Enable or disable the shared pager and schema features. // // This routine has no effect on existing database connections. // The shared cache setting effects only future calls to // sqlite3_open(), sqlite3_open16(), or sqlite3_open_v2(). -func Xsqlite3_enable_shared_cache(tls *libc.TLS, enable int32) int32 { /* sqlite3.c:66234:16: */ +func Xsqlite3_enable_shared_cache(tls *libc.TLS, enable int32) int32 { /* sqlite3.c:66244:16: */ Xsqlite3Config.FsharedCacheEnabled = enable return SQLITE_OK } @@ -57945,7 +57955,7 @@ func Xsqlite3_enable_shared_cache(tls *libc.TLS, enable int32) int32 { /* sqlite // (READ_LOCK or WRITE_LOCK) on the table with root-page iTab. Return // SQLITE_OK if the lock may be obtained (by calling // setSharedCacheTableLock()), or SQLITE_LOCKED if not. -func querySharedCacheTableLock(tls *libc.TLS, p uintptr, iTab Pgno, eLock U8) int32 { /* sqlite3.c:66433:12: */ +func querySharedCacheTableLock(tls *libc.TLS, p uintptr, iTab Pgno, eLock U8) int32 { /* sqlite3.c:66443:12: */ var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt var pIter uintptr @@ -58002,7 +58012,7 @@ func querySharedCacheTableLock(tls *libc.TLS, p uintptr, iTab Pgno, eLock U8) in // // SQLITE_OK is returned if the lock is added successfully. SQLITE_NOMEM // is returned if a malloc attempt fails. -func setSharedCacheTableLock(tls *libc.TLS, p uintptr, iTable Pgno, eLock U8) int32 { /* sqlite3.c:66505:12: */ +func setSharedCacheTableLock(tls *libc.TLS, p uintptr, iTable Pgno, eLock U8) int32 { /* sqlite3.c:66515:12: */ var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt var pLock uintptr = uintptr(0) var pIter uintptr @@ -58053,7 +58063,7 @@ func setSharedCacheTableLock(tls *libc.TLS, p uintptr, iTable Pgno, eLock U8) in // This function assumes that Btree p has an open read or write // transaction. If it does not, then the BTS_PENDING flag // may be incorrectly cleared. -func clearAllSharedCacheTableLocks(tls *libc.TLS, p uintptr) { /* sqlite3.c:66569:13: */ +func clearAllSharedCacheTableLocks(tls *libc.TLS, p uintptr) { /* sqlite3.c:66579:13: */ var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt var ppIter uintptr = pBt + 120 @@ -58088,7 +58098,7 @@ func clearAllSharedCacheTableLocks(tls *libc.TLS, p uintptr) { /* sqlite3.c:6656 } // This function changes all write-locks held by Btree p into read-locks. -func downgradeAllSharedCacheTableLocks(tls *libc.TLS, p uintptr) { /* sqlite3.c:66613:13: */ +func downgradeAllSharedCacheTableLocks(tls *libc.TLS, p uintptr) { /* sqlite3.c:66623:13: */ var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt if (*BtShared)(unsafe.Pointer(pBt)).FpWriter == p { var pLock uintptr @@ -58112,7 +58122,7 @@ func downgradeAllSharedCacheTableLocks(tls *libc.TLS, p uintptr) { /* sqlite3.c: // Invalidate the overflow page-list cache for all cursors opened // on the shared btree structure pBt. -func invalidateAllOverflowCache(tls *libc.TLS, pBt uintptr) { /* sqlite3.c:66666:13: */ +func invalidateAllOverflowCache(tls *libc.TLS, pBt uintptr) { /* sqlite3.c:66676:13: */ var p uintptr for p = (*BtShared)(unsafe.Pointer(pBt)).FpCursor; p != 0; p = (*BtCursor)(unsafe.Pointer(p)).FpNext { @@ -58131,7 +58141,7 @@ func invalidateAllOverflowCache(tls *libc.TLS, pBt uintptr) { /* sqlite3.c:66666 // Otherwise, if argument isClearTable is false, then the row with // rowid iRow is being replaced or deleted. In this case invalidate // only those incrblob cursors open on that specific row. -func invalidateIncrblobCursors(tls *libc.TLS, pBtree uintptr, pgnoRoot Pgno, iRow I64, isClearTable int32) { /* sqlite3.c:66688:13: */ +func invalidateIncrblobCursors(tls *libc.TLS, pBtree uintptr, pgnoRoot Pgno, iRow I64, isClearTable int32) { /* sqlite3.c:66698:13: */ var p uintptr (*Btree)(unsafe.Pointer(pBtree)).FhasIncrblobCur = U8(0) @@ -58178,7 +58188,7 @@ func invalidateIncrblobCursors(tls *libc.TLS, pBtree uintptr, pgnoRoot Pgno, iRo // optimization 2 above is omitted if the corresponding bit is already // set in BtShared.pHasContent. The contents of the bitvec are cleared // at the end of every transaction. -func btreeSetHasContent(tls *libc.TLS, pBt uintptr, pgno Pgno) int32 { /* sqlite3.c:66748:12: */ +func btreeSetHasContent(tls *libc.TLS, pBt uintptr, pgno Pgno) int32 { /* sqlite3.c:66758:12: */ var rc int32 = SQLITE_OK if !(int32((*BtShared)(unsafe.Pointer(pBt)).FpHasContent) != 0) { @@ -58198,20 +58208,20 @@ func btreeSetHasContent(tls *libc.TLS, pBt uintptr, pgno Pgno) int32 { /* sqlite // This function is called when a free-list leaf page is removed from the // free-list for reuse. It returns false if it is safe to retrieve the // page from the pager layer with the 'no-content' flag set. True otherwise. -func btreeGetHasContent(tls *libc.TLS, pBt uintptr, pgno Pgno) int32 { /* sqlite3.c:66770:12: */ +func btreeGetHasContent(tls *libc.TLS, pBt uintptr, pgno Pgno) int32 { /* sqlite3.c:66780:12: */ var p uintptr = (*BtShared)(unsafe.Pointer(pBt)).FpHasContent return libc.Bool32(p != 0 && (pgno > Xsqlite3BitvecSize(tls, p) || Xsqlite3BitvecTestNotNull(tls, p, pgno) != 0)) } // Clear (destroy) the BtShared.pHasContent bitvec. This should be // invoked at the conclusion of each write-transaction. -func btreeClearHasContent(tls *libc.TLS, pBt uintptr) { /* sqlite3.c:66779:13: */ +func btreeClearHasContent(tls *libc.TLS, pBt uintptr) { /* sqlite3.c:66789:13: */ Xsqlite3BitvecDestroy(tls, (*BtShared)(unsafe.Pointer(pBt)).FpHasContent) (*BtShared)(unsafe.Pointer(pBt)).FpHasContent = uintptr(0) } // Release all of the apPage[] pages for a cursor. -func btreeReleaseAllCursorPages(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:66787:13: */ +func btreeReleaseAllCursorPages(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:66797:13: */ var i int32 if int32((*BtCursor)(unsafe.Pointer(pCur)).FiPage) >= 0 { for i = 0; i < int32((*BtCursor)(unsafe.Pointer(pCur)).FiPage); i++ { @@ -58233,7 +58243,7 @@ func btreeReleaseAllCursorPages(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:6678 // NULL. If the cursor is open on a non-intkey table, then pCur->pKey is // set to point to a malloced buffer pCur->nKey bytes in size containing // the key. -func saveCursorKey(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:66811:12: */ +func saveCursorKey(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:66821:12: */ var rc int32 = SQLITE_OK if (*BtCursor)(unsafe.Pointer(pCur)).FcurIntKey != 0 { @@ -58270,7 +58280,7 @@ func saveCursorKey(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:66811:12: * // // The caller must ensure that the cursor is valid (has eState==CURSOR_VALID) // prior to calling this routine. -func saveCursorPosition(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:66853:12: */ +func saveCursorPosition(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:66863:12: */ var rc int32 if int32((*BtCursor)(unsafe.Pointer(pCur)).FcurFlags)&BTCF_Pinned != 0 { @@ -58311,7 +58321,7 @@ func saveCursorPosition(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:66853: // Implementation note: This routine merely checks to see if any cursors // need to be saved. It calls out to saveCursorsOnList() in the (unusual) // event that cursors are in need to being saved. -func saveAllCursors(tls *libc.TLS, pBt uintptr, iRoot Pgno, pExcept uintptr) int32 { /* sqlite3.c:66903:12: */ +func saveAllCursors(tls *libc.TLS, pBt uintptr, iRoot Pgno, pExcept uintptr) int32 { /* sqlite3.c:66913:12: */ var p uintptr for p = (*BtShared)(unsafe.Pointer(pBt)).FpCursor; p != 0; p = (*BtCursor)(unsafe.Pointer(p)).FpNext { @@ -58332,7 +58342,7 @@ func saveAllCursors(tls *libc.TLS, pBt uintptr, iRoot Pgno, pExcept uintptr) int // the cursors if and when a cursor is found that actually requires saving. // The common case is that no cursors need to be saved, so this routine is // broken out from its caller to avoid unnecessary stack pointer movement. -func saveCursorsOnList(tls *libc.TLS, p uintptr, iRoot Pgno, pExcept uintptr) int32 { /* sqlite3.c:66920:28: */ +func saveCursorsOnList(tls *libc.TLS, p uintptr, iRoot Pgno, pExcept uintptr) int32 { /* sqlite3.c:66930:28: */ for __ccgo := true; __ccgo; __ccgo = p != 0 { if p != pExcept && (Pgno(0) == iRoot || (*BtCursor)(unsafe.Pointer(p)).FpgnoRoot == iRoot) { if int32((*BtCursor)(unsafe.Pointer(p)).FeState) == CURSOR_VALID || int32((*BtCursor)(unsafe.Pointer(p)).FeState) == CURSOR_SKIPNEXT { @@ -58351,7 +58361,7 @@ func saveCursorsOnList(tls *libc.TLS, p uintptr, iRoot Pgno, pExcept uintptr) in } // Clear the current cursor position. -func Xsqlite3BtreeClearCursor(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:66945:21: */ +func Xsqlite3BtreeClearCursor(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:66955:21: */ Xsqlite3_free(tls, (*BtCursor)(unsafe.Pointer(pCur)).FpKey) (*BtCursor)(unsafe.Pointer(pCur)).FpKey = uintptr(0) @@ -58361,7 +58371,7 @@ func Xsqlite3BtreeClearCursor(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:66945: // In this version of BtreeMoveto, pKey is a packed index record // such as is generated by the OP_MakeRecord opcode. Unpack the // record and then call BtreeMovetoUnpacked() to do the work. -func btreeMoveto(tls *libc.TLS, pCur uintptr, pKey uintptr, nKey I64, bias int32, pRes uintptr) int32 { /* sqlite3.c:66957:12: */ +func btreeMoveto(tls *libc.TLS, pCur uintptr, pKey uintptr, nKey I64, bias int32, pRes uintptr) int32 { /* sqlite3.c:66967:12: */ var rc int32 // Status code var pIdxKey uintptr // Unpacked index key @@ -58374,7 +58384,7 @@ func btreeMoveto(tls *libc.TLS, pCur uintptr, pKey uintptr, nKey I64, bias int32 } Xsqlite3VdbeRecordUnpack(tls, pKeyInfo, int32(nKey), pKey, pIdxKey) if int32((*UnpackedRecord)(unsafe.Pointer(pIdxKey)).FnField) == 0 || int32((*UnpackedRecord)(unsafe.Pointer(pIdxKey)).FnField) > int32((*KeyInfo)(unsafe.Pointer(pKeyInfo)).FnAllField) { - rc = Xsqlite3CorruptError(tls, 66974) + rc = Xsqlite3CorruptError(tls, 66984) } else { rc = Xsqlite3BtreeIndexMoveto(tls, pCur, pIdxKey, pRes) } @@ -58391,7 +58401,7 @@ func btreeMoveto(tls *libc.TLS, pCur uintptr, pKey uintptr, nKey I64, bias int32 // saved position info stored by saveCursorPosition(), so there can be // at most one effective restoreCursorPosition() call after each // saveCursorPosition(). -func btreeRestoreCursorPosition(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:66993:12: */ +func btreeRestoreCursorPosition(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:67003:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -58431,7 +58441,7 @@ func btreeRestoreCursorPosition(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3. // // Use the separate sqlite3BtreeCursorRestore() routine to restore a cursor // back to where it ought to be if this routine returns true. -func Xsqlite3BtreeCursorHasMoved(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:67036:20: */ +func Xsqlite3BtreeCursorHasMoved(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:67046:20: */ return libc.Bool32(CURSOR_VALID != int32(*(*U8)(unsafe.Pointer(pCur)))) } @@ -58439,12 +58449,12 @@ func Xsqlite3BtreeCursorHasMoved(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3 // Return a pointer to a fake BtCursor object that will always answer // false to the sqlite3BtreeCursorHasMoved() routine above. The fake // cursor returned must not be used with any other Btree interface. -func Xsqlite3BtreeFakeValidCursor(tls *libc.TLS) uintptr { /* sqlite3.c:67049:25: */ +func Xsqlite3BtreeFakeValidCursor(tls *libc.TLS) uintptr { /* sqlite3.c:67059:25: */ return uintptr(unsafe.Pointer(&fakeCursor)) } -var fakeCursor U8 = U8(CURSOR_VALID) /* sqlite3.c:67050:13 */ +var fakeCursor U8 = U8(CURSOR_VALID) /* sqlite3.c:67060:13 */ // This routine restores a cursor back to its original position after it // has been moved by some outside activity (such as a btree rebalance or @@ -58457,7 +58467,7 @@ var fakeCursor U8 = U8(CURSOR_VALID) /* sqlite3.c:67050:13 */ // // This routine should only be called for a cursor that just returned // TRUE from sqlite3BtreeCursorHasMoved(). -func Xsqlite3BtreeCursorRestore(tls *libc.TLS, pCur uintptr, pDifferentRow uintptr) int32 { /* sqlite3.c:67068:20: */ +func Xsqlite3BtreeCursorRestore(tls *libc.TLS, pCur uintptr, pDifferentRow uintptr) int32 { /* sqlite3.c:67078:20: */ var rc int32 rc = func() int32 { @@ -58479,7 +58489,7 @@ func Xsqlite3BtreeCursorRestore(tls *libc.TLS, pCur uintptr, pDifferentRow uintp } // Provide flag hints to the cursor. -func Xsqlite3BtreeCursorHintFlags(tls *libc.TLS, pCur uintptr, x uint32) { /* sqlite3.c:67100:21: */ +func Xsqlite3BtreeCursorHintFlags(tls *libc.TLS, pCur uintptr, x uint32) { /* sqlite3.c:67110:21: */ (*BtCursor)(unsafe.Pointer(pCur)).Fhints = U8(x) } @@ -58491,7 +58501,7 @@ func Xsqlite3BtreeCursorHintFlags(tls *libc.TLS, pCur uintptr, x uint32) { /* sq // Return 0 (not a valid page) for pgno==1 since there is // no pointer map associated with page 1. The integrity_check logic // requires that ptrmapPageno(*,1)!=1. -func ptrmapPageno(tls *libc.TLS, pBt uintptr, pgno Pgno) Pgno { /* sqlite3.c:67116:13: */ +func ptrmapPageno(tls *libc.TLS, pBt uintptr, pgno Pgno) Pgno { /* sqlite3.c:67126:13: */ var nPagesPerMapPage int32 var iPtrMap Pgno var ret Pgno @@ -58516,7 +58526,7 @@ func ptrmapPageno(tls *libc.TLS, pBt uintptr, pgno Pgno) Pgno { /* sqlite3.c:671 // If *pRC is initially non-zero (non-SQLITE_OK) then this routine is // a no-op. If an error occurs, the appropriate error code is written // into *pRC. -func ptrmapPut(tls *libc.TLS, pBt uintptr, key Pgno, eType U8, parent Pgno, pRC uintptr) { /* sqlite3.c:67140:13: */ +func ptrmapPut(tls *libc.TLS, pBt uintptr, key Pgno, eType U8, parent Pgno, pRC uintptr) { /* sqlite3.c:67150:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -58539,7 +58549,7 @@ __1: if !(key == Pgno(0)) { goto __2 } - *(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 67155) + *(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 67165) return __2: ; @@ -58558,7 +58568,7 @@ __3: // 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)) = Xsqlite3CorruptError(tls, 67168) + *(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 67178) goto ptrmap_exit __4: ; @@ -58566,7 +58576,7 @@ __4: if !(offset < 0) { goto __5 } - *(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 67173) + *(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 67183) goto ptrmap_exit __5: ; @@ -58597,7 +58607,7 @@ ptrmap_exit: // This routine retrieves the pointer map entry for page 'key', writing // the type and parent page number to *pEType and *pPgno respectively. // An error code is returned if something goes wrong, otherwise SQLITE_OK. -func ptrmapGet(tls *libc.TLS, pBt uintptr, key Pgno, pEType uintptr, pPgno uintptr) int32 { /* sqlite3.c:67199:12: */ +func ptrmapGet(tls *libc.TLS, pBt uintptr, key Pgno, pEType uintptr, pPgno uintptr) int32 { /* sqlite3.c:67209:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -58618,7 +58628,7 @@ func ptrmapGet(tls *libc.TLS, pBt uintptr, key Pgno, pEType uintptr, pPgno uintp offset = int32(Pgno(5) * (key - Pgno(iPtrmap) - Pgno(1))) if offset < 0 { Xsqlite3PagerUnref(tls, *(*uintptr)(unsafe.Pointer(bp /* pDbPage */))) - return Xsqlite3CorruptError(tls, 67218) + return Xsqlite3CorruptError(tls, 67228) } *(*U8)(unsafe.Pointer(pEType)) = *(*U8)(unsafe.Pointer(pPtrmap + uintptr(offset))) @@ -58628,7 +58638,7 @@ func ptrmapGet(tls *libc.TLS, pBt uintptr, key Pgno, pEType uintptr, pPgno uintp Xsqlite3PagerUnref(tls, *(*uintptr)(unsafe.Pointer(bp /* pDbPage */))) if int32(*(*U8)(unsafe.Pointer(pEType))) < 1 || int32(*(*U8)(unsafe.Pointer(pEType))) > 5 { - return Xsqlite3CorruptError(tls, 67226) + return Xsqlite3CorruptError(tls, 67236) } return SQLITE_OK } @@ -58646,7 +58656,7 @@ func ptrmapGet(tls *libc.TLS, pBt uintptr, key Pgno, pEType uintptr, pPgno uintp // btreeParseCellPtrIndex() for the case when the cell does not fit entirely // on a single B-tree page. Make necessary adjustments to the CellInfo // structure. -func btreeParseCellAdjustSizeForOverflow(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintptr) { /* sqlite3.c:67258:29: */ +func btreeParseCellAdjustSizeForOverflow(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintptr) { /* sqlite3.c:67268:29: */ // If the payload will not fit completely on the local page, we have // to decide how much to store locally and how much to spill onto // overflow pages. The strategy is to minimize the amount of unused @@ -58673,7 +58683,7 @@ func btreeParseCellAdjustSizeForOverflow(tls *libc.TLS, pPage uintptr, pCell uin // Given a record with nPayload bytes of payload stored within btree // page pPage, return the number of bytes of payload stored locally. -func btreePayloadToLocal(tls *libc.TLS, pPage uintptr, nPayload I64) int32 { /* sqlite3.c:67293:12: */ +func btreePayloadToLocal(tls *libc.TLS, pPage uintptr, nPayload I64) int32 { /* sqlite3.c:67303:12: */ var maxLocal int32 // Maximum amount of payload held locally maxLocal = int32((*MemPage)(unsafe.Pointer(pPage)).FmaxLocal) if nPayload <= I64(maxLocal) { @@ -58703,7 +58713,7 @@ func btreePayloadToLocal(tls *libc.TLS, pPage uintptr, nPayload I64) int32 { /* // There is also a wrapper function btreeParseCell() that works for // all MemPage types and that references the cell by index rather than // by pointer. -func btreeParseCellPtrNoPayload(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintptr) { /* sqlite3.c:67321:13: */ +func btreeParseCellPtrNoPayload(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintptr) { /* sqlite3.c:67331:13: */ _ = pPage (*CellInfo)(unsafe.Pointer(pInfo)).FnSize = U16(4 + int32(Xsqlite3GetVarint(tls, pCell+4, pInfo))) @@ -58713,7 +58723,7 @@ func btreeParseCellPtrNoPayload(tls *libc.TLS, pPage uintptr, pCell uintptr, pIn return } -func btreeParseCellPtr(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintptr) { /* sqlite3.c:67338:13: */ +func btreeParseCellPtr(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintptr) { /* sqlite3.c:67348:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -58790,7 +58800,7 @@ func btreeParseCellPtr(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintpt } } -func btreeParseCellPtrIndex(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintptr) { /* sqlite3.c:67420:13: */ +func btreeParseCellPtrIndex(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintptr) { /* sqlite3.c:67430:13: */ var pIter uintptr // For scanning through pCell var nPayload U32 // Number of bytes of cell payload @@ -58821,7 +58831,7 @@ func btreeParseCellPtrIndex(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo u } } -func btreeParseCell(tls *libc.TLS, pPage uintptr, iCell int32, pInfo uintptr) { /* sqlite3.c:67457:13: */ +func btreeParseCell(tls *libc.TLS, pPage uintptr, iCell int32, pInfo uintptr) { /* sqlite3.c:67467:13: */ (*struct { f func(*libc.TLS, uintptr, uintptr, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*MemPage)(unsafe.Pointer(pPage)).FxParseCell})).f(tls, pPage, (*MemPage)(unsafe.Pointer(pPage)).FaData+uintptr(int32((*MemPage)(unsafe.Pointer(pPage)).FmaskPage)&(int32(*(*U8)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPage)).FaCellIdx + uintptr(2*iCell))))<<8|int32(*(*U8)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPage)).FaCellIdx + uintptr(2*iCell) + 1))))), pInfo) @@ -58837,7 +58847,7 @@ func btreeParseCell(tls *libc.TLS, pPage uintptr, iCell int32, pInfo uintptr) { // // cellSizePtrNoPayload() => table internal nodes // cellSizePtr() => all index nodes & table leaf nodes -func cellSizePtr(tls *libc.TLS, pPage uintptr, pCell uintptr) U16 { /* sqlite3.c:67477:12: */ +func cellSizePtr(tls *libc.TLS, pPage uintptr, pCell uintptr) U16 { /* sqlite3.c:67487:12: */ var pIter uintptr = pCell + uintptr((*MemPage)(unsafe.Pointer(pPage)).FchildPtrSize) // For looping over bytes of pCell var pEnd uintptr // End mark for a varint var nSize U32 // Size value to return @@ -58878,7 +58888,7 @@ func cellSizePtr(tls *libc.TLS, pPage uintptr, pCell uintptr) U16 { /* sqlite3.c return U16(nSize) } -func cellSizePtrNoPayload(tls *libc.TLS, pPage uintptr, pCell uintptr) U16 { /* sqlite3.c:67525:12: */ +func cellSizePtrNoPayload(tls *libc.TLS, pPage uintptr, pCell uintptr) U16 { /* sqlite3.c:67535:12: */ var pIter uintptr = pCell + uintptr(4) // For looping over bytes of pCell var pEnd uintptr // End mark for a varint @@ -58895,7 +58905,7 @@ func cellSizePtrNoPayload(tls *libc.TLS, pPage uintptr, pCell uintptr) U16 { /* // of pPage. (pSrc and pPager are often the same.) If pCell contains a // pointer to an overflow page, insert an entry into the pointer-map for // the overflow page that will be valid after pCell has been moved to pPage. -func ptrmapPutOvflPtr(tls *libc.TLS, pPage uintptr, pSrc uintptr, pCell uintptr, pRC uintptr) { /* sqlite3.c:67563:13: */ +func ptrmapPutOvflPtr(tls *libc.TLS, pPage uintptr, pSrc uintptr, pCell uintptr, pRC uintptr) { /* sqlite3.c:67573:13: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -58912,7 +58922,7 @@ func ptrmapPutOvflPtr(tls *libc.TLS, pPage uintptr, pSrc uintptr, pCell uintptr, var ovfl Pgno if Uptr((*MemPage)(unsafe.Pointer(pSrc)).FaDataEnd) >= Uptr(pCell) && Uptr((*MemPage)(unsafe.Pointer(pSrc)).FaDataEnd) < Uptr(pCell+uintptr((*CellInfo)(unsafe.Pointer(bp)).FnLocal)) { - *(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 67572) + *(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 67582) return } ovfl = Xsqlite3Get4byte(tls, pCell+uintptr(int32((*CellInfo)(unsafe.Pointer(bp)).FnSize)-4)) @@ -58930,7 +58940,7 @@ func ptrmapPutOvflPtr(tls *libc.TLS, pPage uintptr, pSrc uintptr, pCell uintptr, // b-tree page so that there are no freeblocks or fragment bytes, all // unused bytes are contained in the unallocated space region, and all // cells are packed tightly at the end of the page. -func defragmentPage(tls *libc.TLS, pPage uintptr, nMaxFrag int32) int32 { /* sqlite3.c:67594:12: */ +func defragmentPage(tls *libc.TLS, pPage uintptr, nMaxFrag int32) int32 { /* sqlite3.c:67604:12: */ var i int32 // Loop counter var pc int32 // Address of the i-th cell var hdr int32 // Offset to the page header @@ -58975,7 +58985,7 @@ func defragmentPage(tls *libc.TLS, pPage uintptr, nMaxFrag int32) int32 { /* sql if !(iFree > usableSize-4) { goto __2 } - return Xsqlite3CorruptError(tls, 67631) + return Xsqlite3CorruptError(tls, 67641) __2: ; if !(iFree != 0) { @@ -58985,7 +58995,7 @@ __2: if !(iFree2 > usableSize-4) { goto __4 } - return Xsqlite3CorruptError(tls, 67634) + return Xsqlite3CorruptError(tls, 67644) __4: ; if !(0 == iFree2 || int32(*(*uint8)(unsafe.Pointer(data + uintptr(iFree2)))) == 0 && int32(*(*uint8)(unsafe.Pointer(data + uintptr(iFree2+1)))) == 0) { @@ -58998,7 +59008,7 @@ __4: if !(top >= iFree) { goto __6 } - return Xsqlite3CorruptError(tls, 67642) + return Xsqlite3CorruptError(tls, 67652) __6: ; if !(iFree2 != 0) { @@ -59007,14 +59017,14 @@ __6: if !(iFree+sz > iFree2) { goto __9 } - return Xsqlite3CorruptError(tls, 67645) + return Xsqlite3CorruptError(tls, 67655) __9: ; sz2 = int32(*(*uint8)(unsafe.Pointer(data + uintptr(iFree2+2))))<<8 | int32(*(*uint8)(unsafe.Pointer(data + uintptr(iFree2+2) + 1))) if !(iFree2+sz2 > usableSize) { goto __10 } - return Xsqlite3CorruptError(tls, 67647) + return Xsqlite3CorruptError(tls, 67657) __10: ; libc.X__builtin___memmove_chk(tls, data+uintptr(iFree+sz+sz2), data+uintptr(iFree+sz), uint64(iFree2-(iFree+sz)), libc.X__builtin_object_size(tls, data+uintptr(iFree+sz+sz2), 0)) @@ -59024,7 +59034,7 @@ __7: if !(iFree+sz > usableSize) { goto __11 } - return Xsqlite3CorruptError(tls, 67651) + return Xsqlite3CorruptError(tls, 67661) __11: ; __8: @@ -59086,7 +59096,7 @@ __18: if !(pc < iCellStart || pc > iCellLast) { goto __21 } - return Xsqlite3CorruptError(tls, 67680) + return Xsqlite3CorruptError(tls, 67690) __21: ; @@ -59097,7 +59107,7 @@ __21: if !(cbrk < iCellStart || pc+size > usableSize) { goto __22 } - return Xsqlite3CorruptError(tls, 67686) + return Xsqlite3CorruptError(tls, 67696) __22: ; @@ -59132,7 +59142,7 @@ defragment_out: if !(int32(*(*uint8)(unsafe.Pointer(data + uintptr(hdr+7))))+cbrk-iCellFirst != (*MemPage)(unsafe.Pointer(pPage)).FnFree) { goto __25 } - return Xsqlite3CorruptError(tls, 67705) + return Xsqlite3CorruptError(tls, 67715) __25: ; @@ -59157,7 +59167,7 @@ __25: // Slots on the free list that are between 1 and 3 bytes larger than nByte // will be ignored if adding the extra space to the fragmentation count // causes the fragmentation count to exceed 60. -func pageFindSlot(tls *libc.TLS, pPg uintptr, nByte int32, pRc uintptr) uintptr { /* sqlite3.c:67730:11: */ +func pageFindSlot(tls *libc.TLS, pPg uintptr, nByte int32, pRc uintptr) uintptr { /* sqlite3.c:67740:11: */ var hdr int32 = int32((*MemPage)(unsafe.Pointer(pPg)).FhdrOffset) // Offset to page header var aData uintptr = (*MemPage)(unsafe.Pointer(pPg)).FaData // Page data var iAddr int32 = hdr + 1 // Address of ptr to pc @@ -59186,7 +59196,7 @@ func pageFindSlot(tls *libc.TLS, pPg uintptr, nByte int32, pRc uintptr) uintptr *(*U8)(unsafe.Pointer(aData + uintptr(hdr+7))) += U8(int32(U8(x))) } else if x+pc > maxPC { // This slot extends off the end of the usable part of the page - *(*int32)(unsafe.Pointer(pRc)) = Xsqlite3CorruptError(tls, 67759) + *(*int32)(unsafe.Pointer(pRc)) = Xsqlite3CorruptError(tls, 67769) return uintptr(0) } else { // The slot remains on the free-list. Reduce its size to account @@ -59201,14 +59211,14 @@ func pageFindSlot(tls *libc.TLS, pPg uintptr, nByte int32, pRc uintptr) uintptr if pc <= iAddr+size { if pc != 0 { // The next slot in the chain is not past the end of the current slot - *(*int32)(unsafe.Pointer(pRc)) = Xsqlite3CorruptError(tls, 67773) + *(*int32)(unsafe.Pointer(pRc)) = Xsqlite3CorruptError(tls, 67783) } return uintptr(0) } } if pc > maxPC+nByte-4 { // The free slot chain extends off the end of the page - *(*int32)(unsafe.Pointer(pRc)) = Xsqlite3CorruptError(tls, 67780) + *(*int32)(unsafe.Pointer(pRc)) = Xsqlite3CorruptError(tls, 67790) } return uintptr(0) } @@ -59224,7 +59234,7 @@ func pageFindSlot(tls *libc.TLS, pPg uintptr, nByte int32, pRc uintptr) uintptr // the first two bytes past the cell pointer area since presumably this // allocation is being made in order to insert a new cell, so we will // also end up needing a new cell pointer. -func allocateSpace(tls *libc.TLS, pPage uintptr, nByte int32, pIdx uintptr) int32 { /* sqlite3.c:67798:12: */ +func allocateSpace(tls *libc.TLS, pPage uintptr, nByte int32, pIdx uintptr) int32 { /* sqlite3.c:67808:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -59249,7 +59259,7 @@ func allocateSpace(tls *libc.TLS, pPage uintptr, nByte int32, pIdx uintptr) int3 if top == 0 && (*BtShared)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize == U32(65536) { top = 65536 } else { - return Xsqlite3CorruptError(tls, 67827) + return Xsqlite3CorruptError(tls, 67837) } } @@ -59264,7 +59274,7 @@ func allocateSpace(tls *libc.TLS, pPage uintptr, nByte int32, pIdx uintptr) int3 *(*int32)(unsafe.Pointer(pIdx)) = libc.AssignInt32(&g2, int32((int64(pSpace)-int64(data))/1)) if g2 <= gap { - return Xsqlite3CorruptError(tls, 67845) + return Xsqlite3CorruptError(tls, 67855) } else { return SQLITE_OK } @@ -59315,7 +59325,7 @@ func allocateSpace(tls *libc.TLS, pPage uintptr, nByte int32, pIdx uintptr) int3 // does it detect cells or freeblocks that encrouch into the reserved bytes // at the end of the page. So do additional corruption checks inside this // routine and return SQLITE_CORRUPT if any problems are found. -func freeSpace(tls *libc.TLS, pPage uintptr, iStart U16, iSize U16) int32 { /* sqlite3.c:67894:12: */ +func freeSpace(tls *libc.TLS, pPage uintptr, iStart U16, iSize U16) int32 { /* sqlite3.c:67904:12: */ var iPtr U16 // Address of ptr to next freeblock var iFreeBlk U16 // Address of the next freeblock var hdr U8 // Page header size. 0 or 100 @@ -59339,12 +59349,12 @@ func freeSpace(tls *libc.TLS, pPage uintptr, iStart U16, iSize U16) int32 { /* s if int32(iFreeBlk) == 0 { break } // TH3: corrupt082.100 - return Xsqlite3CorruptError(tls, 67923) + return Xsqlite3CorruptError(tls, 67933) } iPtr = iFreeBlk } if U32(iFreeBlk) > (*BtShared)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize-U32(4) { // TH3: corrupt081.100 - return Xsqlite3CorruptError(tls, 67928) + return Xsqlite3CorruptError(tls, 67938) } // At this point: @@ -59355,11 +59365,11 @@ func freeSpace(tls *libc.TLS, pPage uintptr, iStart U16, iSize U16) int32 { /* s if iFreeBlk != 0 && iEnd+U32(3) >= U32(iFreeBlk) { nFrag = U8(U32(iFreeBlk) - iEnd) if iEnd > U32(iFreeBlk) { - return Xsqlite3CorruptError(tls, 67940) + return Xsqlite3CorruptError(tls, 67950) } iEnd = U32(int32(iFreeBlk) + (int32(*(*uint8)(unsafe.Pointer(data + uintptr(int32(iFreeBlk)+2))))<<8 | int32(*(*uint8)(unsafe.Pointer(data + uintptr(int32(iFreeBlk)+2) + 1))))) if iEnd > (*BtShared)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize { - return Xsqlite3CorruptError(tls, 67943) + return Xsqlite3CorruptError(tls, 67953) } iSize = U16(iEnd - U32(iStart)) iFreeBlk = U16(int32(*(*uint8)(unsafe.Pointer(data + uintptr(iFreeBlk))))<<8 | int32(*(*uint8)(unsafe.Pointer(data + uintptr(iFreeBlk) + 1)))) @@ -59372,7 +59382,7 @@ func freeSpace(tls *libc.TLS, pPage uintptr, iStart U16, iSize U16) int32 { /* s var iPtrEnd int32 = int32(iPtr) + (int32(*(*uint8)(unsafe.Pointer(data + uintptr(int32(iPtr)+2))))<<8 | int32(*(*uint8)(unsafe.Pointer(data + uintptr(int32(iPtr)+2) + 1)))) if iPtrEnd+3 >= int32(iStart) { if iPtrEnd > int32(iStart) { - return Xsqlite3CorruptError(tls, 67956) + return Xsqlite3CorruptError(tls, 67966) } nFrag = U8(int32(nFrag) + (int32(iStart) - iPtrEnd)) iSize = U16(iEnd - U32(iPtr)) @@ -59380,7 +59390,7 @@ func freeSpace(tls *libc.TLS, pPage uintptr, iStart U16, iSize U16) int32 { /* s } } if int32(nFrag) > int32(*(*uint8)(unsafe.Pointer(data + uintptr(int32(hdr)+7)))) { - return Xsqlite3CorruptError(tls, 67962) + return Xsqlite3CorruptError(tls, 67972) } *(*uint8)(unsafe.Pointer(data + uintptr(int32(hdr)+7))) -= uint8(int32(nFrag)) } @@ -59390,10 +59400,10 @@ func freeSpace(tls *libc.TLS, pPage uintptr, iStart U16, iSize U16) int32 { /* s // so just extend the cell content area rather than create another // freelist entry if int32(iStart) < int32(x) { - return Xsqlite3CorruptError(tls, 67970) + return Xsqlite3CorruptError(tls, 67980) } if int32(iPtr) != int32(hdr)+1 { - return Xsqlite3CorruptError(tls, 67971) + return Xsqlite3CorruptError(tls, 67981) } *(*uint8)(unsafe.Pointer(data + uintptr(int32(hdr)+1))) = U8(int32(iFreeBlk) >> 8) *(*uint8)(unsafe.Pointer(data + uintptr(int32(hdr)+1) + 1)) = U8(iFreeBlk) @@ -59427,7 +59437,7 @@ func freeSpace(tls *libc.TLS, pPage uintptr, iStart U16, iSize U16) int32 { /* s // PTF_ZERODATA | PTF_LEAF // PTF_LEAFDATA | PTF_INTKEY // PTF_LEAFDATA | PTF_INTKEY | PTF_LEAF -func decodeFlags(tls *libc.TLS, pPage uintptr, flagByte int32) int32 { /* sqlite3.c:68001:12: */ +func decodeFlags(tls *libc.TLS, pPage uintptr, flagByte int32) int32 { /* sqlite3.c:68011:12: */ var pBt uintptr // A copy of pPage->pBt (*MemPage)(unsafe.Pointer(pPage)).Fleaf = U8(flagByte >> 3) @@ -59478,7 +59488,7 @@ func decodeFlags(tls *libc.TLS, pPage uintptr, flagByte int32) int32 { /* sqlite } else { // EVIDENCE-OF: R-47608-56469 Any other value for the b-tree page type is // an error. - return Xsqlite3CorruptError(tls, 68044) + return Xsqlite3CorruptError(tls, 68054) } (*MemPage)(unsafe.Pointer(pPage)).Fmax1bytePayload = (*BtShared)(unsafe.Pointer(pBt)).Fmax1bytePayload return SQLITE_OK @@ -59486,7 +59496,7 @@ func decodeFlags(tls *libc.TLS, pPage uintptr, flagByte int32) int32 { /* sqlite // Compute the amount of freespace on the page. In other words, fill // in the pPage->nFree field. -func btreeComputeFreeSpace(tls *libc.TLS, pPage uintptr) int32 { /* sqlite3.c:68054:12: */ +func btreeComputeFreeSpace(tls *libc.TLS, pPage uintptr) int32 { /* sqlite3.c:68064:12: */ var pc int32 // Address of a freeblock within pPage->aData[] var hdr U8 // Offset to beginning of page header var data uintptr // Equal to pPage->aData @@ -59518,12 +59528,12 @@ func btreeComputeFreeSpace(tls *libc.TLS, pPage uintptr) int32 { /* sqlite3.c:68 if pc < top { // 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 Xsqlite3CorruptError(tls, 68095) + return Xsqlite3CorruptError(tls, 68105) } for 1 != 0 { if pc > iCellLast { // Freeblock off the end of the page - return Xsqlite3CorruptError(tls, 68100) + return Xsqlite3CorruptError(tls, 68110) } next = U32(int32(*(*U8)(unsafe.Pointer(data + uintptr(pc))))<<8 | int32(*(*U8)(unsafe.Pointer(data + uintptr(pc) + 1)))) size = U32(int32(*(*U8)(unsafe.Pointer(data + uintptr(pc+2))))<<8 | int32(*(*U8)(unsafe.Pointer(data + uintptr(pc+2) + 1)))) @@ -59535,11 +59545,11 @@ func btreeComputeFreeSpace(tls *libc.TLS, pPage uintptr) int32 { /* sqlite3.c:68 } if next > U32(0) { // Freeblock not in ascending order - return Xsqlite3CorruptError(tls, 68110) + return Xsqlite3CorruptError(tls, 68120) } if U32(pc)+size > uint32(usableSize) { // Last freeblock extends past page end - return Xsqlite3CorruptError(tls, 68114) + return Xsqlite3CorruptError(tls, 68124) } } @@ -59550,7 +59560,7 @@ func btreeComputeFreeSpace(tls *libc.TLS, pPage uintptr) int32 { /* sqlite3.c:68 // serves to verify that the offset to the start of the cell-content // area, according to the page header, lies within the page. if nFree > usableSize || nFree < iCellFirst { - return Xsqlite3CorruptError(tls, 68126) + return Xsqlite3CorruptError(tls, 68136) } (*MemPage)(unsafe.Pointer(pPage)).FnFree = int32(U16(nFree - iCellFirst)) return SQLITE_OK @@ -59558,7 +59568,7 @@ func btreeComputeFreeSpace(tls *libc.TLS, pPage uintptr) int32 { /* sqlite3.c:68 // Do additional sanity check after btreeInitPage() if // PRAGMA cell_size_check=ON -func btreeCellSizeCheck(tls *libc.TLS, pPage uintptr) int32 { /* sqlite3.c:68136:28: */ +func btreeCellSizeCheck(tls *libc.TLS, pPage uintptr) int32 { /* sqlite3.c:68146:28: */ var iCellFirst int32 // First allowable cell or freeblock offset var iCellLast int32 // Last possible cell or freeblock offset var i int32 // Index into the cell pointer array @@ -59580,14 +59590,14 @@ func btreeCellSizeCheck(tls *libc.TLS, pPage uintptr) int32 { /* sqlite3.c:68136 pc = int32(*(*U8)(unsafe.Pointer(data + uintptr(cellOffset+i*2))))<<8 | int32(*(*U8)(unsafe.Pointer(data + uintptr(cellOffset+i*2) + 1))) if pc < iCellFirst || pc > iCellLast { - return Xsqlite3CorruptError(tls, 68157) + return Xsqlite3CorruptError(tls, 68167) } sz = int32((*struct { f func(*libc.TLS, uintptr, uintptr) U16 })(unsafe.Pointer(&struct{ uintptr }{(*MemPage)(unsafe.Pointer(pPage)).FxCellSize})).f(tls, pPage, data+uintptr(pc))) if pc+sz > usableSize { - return Xsqlite3CorruptError(tls, 68162) + return Xsqlite3CorruptError(tls, 68172) } } return SQLITE_OK @@ -59600,7 +59610,7 @@ func btreeCellSizeCheck(tls *libc.TLS, pPage uintptr) int32 { /* sqlite3.c:68136 // SQLITE_CORRUPT. Note that a return of SQLITE_OK does not // guarantee that the page is well-formed. It only shows that // we failed to detect any corruption. -func btreeInitPage(tls *libc.TLS, pPage uintptr) int32 { /* sqlite3.c:68177:12: */ +func btreeInitPage(tls *libc.TLS, pPage uintptr) int32 { /* sqlite3.c:68187:12: */ var data uintptr // Equal to pPage->aData var pBt uintptr // The main btree structure @@ -59609,7 +59619,7 @@ func btreeInitPage(tls *libc.TLS, pPage uintptr) int32 { /* sqlite3.c:68177:12: // EVIDENCE-OF: R-28594-02890 The one-byte flag at offset 0 indicating // the b-tree page type. if decodeFlags(tls, pPage, int32(*(*U8)(unsafe.Pointer(data)))) != 0 { - return Xsqlite3CorruptError(tls, 68194) + return Xsqlite3CorruptError(tls, 68204) } (*MemPage)(unsafe.Pointer(pPage)).FmaskPage = U16((*BtShared)(unsafe.Pointer(pBt)).FpageSize - U32(1)) @@ -59623,7 +59633,7 @@ func btreeInitPage(tls *libc.TLS, pPage uintptr) int32 { /* sqlite3.c:68177:12: (*MemPage)(unsafe.Pointer(pPage)).FnCell = U16(int32(*(*U8)(unsafe.Pointer(data + 3)))<<8 | int32(*(*U8)(unsafe.Pointer(data + 3 + 1)))) if U32((*MemPage)(unsafe.Pointer(pPage)).FnCell) > ((*BtShared)(unsafe.Pointer(pBt)).FpageSize-U32(8))/U32(6) { // To many cells for a single page. The page must be corrupt - return Xsqlite3CorruptError(tls, 68208) + return Xsqlite3CorruptError(tls, 68218) } // EVIDENCE-OF: R-24089-57979 If a page contains no cells (which is only @@ -59641,7 +59651,7 @@ func btreeInitPage(tls *libc.TLS, pPage uintptr) int32 { /* sqlite3.c:68177:12: // Set up a raw page so that it looks like a database page holding // no entries. -func zeroPage(tls *libc.TLS, pPage uintptr, flags int32) { /* sqlite3.c:68230:13: */ +func zeroPage(tls *libc.TLS, pPage uintptr, flags int32) { /* sqlite3.c:68240:13: */ var data uintptr = (*MemPage)(unsafe.Pointer(pPage)).FaData var pBt uintptr = (*MemPage)(unsafe.Pointer(pPage)).FpBt var hdr U8 = (*MemPage)(unsafe.Pointer(pPage)).FhdrOffset @@ -59676,7 +59686,7 @@ func zeroPage(tls *libc.TLS, pPage uintptr, flags int32) { /* sqlite3.c:68230:13 // Convert a DbPage obtained from the pager into a MemPage used by // the btree layer. -func btreePageFromDbPage(tls *libc.TLS, pDbPage uintptr, pgno Pgno, pBt uintptr) uintptr { /* sqlite3.c:68267:16: */ +func btreePageFromDbPage(tls *libc.TLS, pDbPage uintptr, pgno Pgno, pBt uintptr) uintptr { /* sqlite3.c:68277:16: */ var pPage uintptr = Xsqlite3PagerGetExtra(tls, pDbPage) if pgno != (*MemPage)(unsafe.Pointer(pPage)).Fpgno { (*MemPage)(unsafe.Pointer(pPage)).FaData = Xsqlite3PagerGetData(tls, pDbPage) @@ -59703,7 +59713,7 @@ func btreePageFromDbPage(tls *libc.TLS, pDbPage uintptr, pgno Pgno, pBt uintptr) // If in the future we call sqlite3PagerWrite() on this page, that // means we have started to be concerned about content and the disk // read should occur at that point. -func btreeGetPage(tls *libc.TLS, pBt uintptr, pgno Pgno, ppPage uintptr, flags int32) int32 { /* sqlite3.c:68291:12: */ +func btreeGetPage(tls *libc.TLS, pBt uintptr, pgno Pgno, ppPage uintptr, flags int32) int32 { /* sqlite3.c:68301:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -59721,7 +59731,7 @@ func btreeGetPage(tls *libc.TLS, pBt uintptr, pgno Pgno, ppPage uintptr, flags i // Retrieve a page from the pager cache. If the requested page is not // already in the pager cache return NULL. Initialize the MemPage.pBt and // MemPage.aData elements if needed. -func btreePageLookup(tls *libc.TLS, pBt uintptr, pgno Pgno) uintptr { /* sqlite3.c:68313:16: */ +func btreePageLookup(tls *libc.TLS, pBt uintptr, pgno Pgno) uintptr { /* sqlite3.c:68323:16: */ var pDbPage uintptr pDbPage = Xsqlite3PagerLookup(tls, (*BtShared)(unsafe.Pointer(pBt)).FpPager, pgno) @@ -59733,11 +59743,11 @@ func btreePageLookup(tls *libc.TLS, pBt uintptr, pgno Pgno) uintptr { /* sqlite3 // Return the size of the database file in pages. If there is any kind of // error, return ((unsigned int)-1). -func btreePagecount(tls *libc.TLS, pBt uintptr) Pgno { /* sqlite3.c:68327:13: */ +func btreePagecount(tls *libc.TLS, pBt uintptr) Pgno { /* sqlite3.c:68337:13: */ return (*BtShared)(unsafe.Pointer(pBt)).FnPage } -func Xsqlite3BtreeLastPage(tls *libc.TLS, p uintptr) Pgno { /* sqlite3.c:68330:21: */ +func Xsqlite3BtreeLastPage(tls *libc.TLS, p uintptr) Pgno { /* sqlite3.c:68340:21: */ return btreePagecount(tls, (*Btree)(unsafe.Pointer(p)).FpBt) } @@ -59753,7 +59763,7 @@ func Xsqlite3BtreeLastPage(tls *libc.TLS, p uintptr) Pgno { /* sqlite3.c:68330:2 // // If an error occurs, then *ppPage is undefined. It // may remain unchanged, or it may be set to an invalid value. -func getAndInitPage(tls *libc.TLS, pBt uintptr, pgno Pgno, ppPage uintptr, pCur uintptr, bReadOnly int32) int32 { /* sqlite3.c:68348:12: */ +func getAndInitPage(tls *libc.TLS, pBt uintptr, pgno Pgno, ppPage uintptr, pCur uintptr, bReadOnly int32) int32 { /* sqlite3.c:68358:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -59763,7 +59773,7 @@ func getAndInitPage(tls *libc.TLS, pBt uintptr, pgno Pgno, ppPage uintptr, pCur if !(pgno > btreePagecount(tls, pBt)) { goto __1 } - rc = Xsqlite3CorruptError(tls, 68363) + rc = Xsqlite3CorruptError(tls, 68373) goto getAndInitPage_error1 __1: ; @@ -59794,7 +59804,7 @@ __3: if !(pCur != 0 && (int32((*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(ppPage)))).FnCell) < 1 || int32((*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(ppPage)))).FintKey) != int32((*BtCursor)(unsafe.Pointer(pCur)).FcurIntKey))) { goto __5 } - rc = Xsqlite3CorruptError(tls, 68384) + rc = Xsqlite3CorruptError(tls, 68394) goto getAndInitPage_error2 __5: ; @@ -59818,18 +59828,18 @@ __6: // call to btreeGetPage. // // Page1 is a special case and must be released using releasePageOne(). -func releasePageNotNull(tls *libc.TLS, pPage uintptr) { /* sqlite3.c:68407:13: */ +func releasePageNotNull(tls *libc.TLS, pPage uintptr) { /* sqlite3.c:68417:13: */ Xsqlite3PagerUnrefNotNull(tls, (*MemPage)(unsafe.Pointer(pPage)).FpDbPage) } -func releasePage(tls *libc.TLS, pPage uintptr) { /* sqlite3.c:68416:13: */ +func releasePage(tls *libc.TLS, pPage uintptr) { /* sqlite3.c:68426:13: */ if pPage != 0 { releasePageNotNull(tls, pPage) } } -func releasePageOne(tls *libc.TLS, pPage uintptr) { /* sqlite3.c:68419:13: */ +func releasePageOne(tls *libc.TLS, pPage uintptr) { /* sqlite3.c:68429:13: */ Xsqlite3PagerUnrefPageOne(tls, (*MemPage)(unsafe.Pointer(pPage)).FpDbPage) } @@ -59841,13 +59851,13 @@ func releasePageOne(tls *libc.TLS, pPage uintptr) { /* sqlite3.c:68419:13: */ // * If the page is already in use for some other purpose, immediately // release it and return an SQLITE_CURRUPT error. // * Make sure the isInit flag is clear -func btreeGetUnusedPage(tls *libc.TLS, pBt uintptr, pgno Pgno, ppPage uintptr, flags int32) int32 { /* sqlite3.c:68439:12: */ +func btreeGetUnusedPage(tls *libc.TLS, pBt uintptr, pgno Pgno, ppPage uintptr, flags int32) int32 { /* sqlite3.c:68449:12: */ var rc int32 = btreeGetPage(tls, pBt, pgno, ppPage, flags) if rc == SQLITE_OK { if Xsqlite3PagerPageRefcount(tls, (*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(ppPage)))).FpDbPage) > 1 { releasePage(tls, *(*uintptr)(unsafe.Pointer(ppPage))) *(*uintptr)(unsafe.Pointer(ppPage)) = uintptr(0) - return Xsqlite3CorruptError(tls, 68450) + return Xsqlite3CorruptError(tls, 68460) } (*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(ppPage)))).FisInit = U8(0) } else { @@ -59862,7 +59872,7 @@ func btreeGetUnusedPage(tls *libc.TLS, pBt uintptr, pgno Pgno, ppPage uintptr, f // // This routine needs to reset the extra data section at the end of the // page to agree with the restored data. -func pageReinit(tls *libc.TLS, pData uintptr) { /* sqlite3.c:68468:13: */ +func pageReinit(tls *libc.TLS, pData uintptr) { /* sqlite3.c:68478:13: */ var pPage uintptr pPage = Xsqlite3PagerGetExtra(tls, pData) @@ -59882,7 +59892,7 @@ func pageReinit(tls *libc.TLS, pData uintptr) { /* sqlite3.c:68468:13: */ } // Invoke the busy handler for a btree. -func btreeInvokeBusyHandler(tls *libc.TLS, pArg uintptr) int32 { /* sqlite3.c:68490:12: */ +func btreeInvokeBusyHandler(tls *libc.TLS, pArg uintptr) int32 { /* sqlite3.c:68500:12: */ var pBt uintptr = pArg return Xsqlite3InvokeBusyHandler(tls, (*BtShared)(unsafe.Pointer(pBt)).Fdb+664) @@ -59907,7 +59917,7 @@ func btreeInvokeBusyHandler(tls *libc.TLS, pArg uintptr) int32 { /* sqlite3.c:68 // SQLITE_CONSTRAINT error. We cannot allow two or more BtShared // objects in the same database connection since doing so will lead // to problems with locking. -func Xsqlite3BtreeOpen(tls *libc.TLS, pVfs uintptr, zFilename uintptr, db uintptr, ppBtree uintptr, flags int32, vfsFlags int32) int32 { /* sqlite3.c:68518:20: */ +func Xsqlite3BtreeOpen(tls *libc.TLS, pVfs uintptr, zFilename uintptr, db uintptr, ppBtree uintptr, flags int32, vfsFlags int32) int32 { /* sqlite3.c:68528:20: */ bp := tls.Alloc(100) defer tls.Free(100) @@ -60328,7 +60338,7 @@ __49: // remove the BtShared structure from the sharing list. Return // true if the BtShared.nRef counter reaches zero and return // false if it is still positive. -func removeFromSharingList(tls *libc.TLS, pBt uintptr) int32 { /* sqlite3.c:68816:12: */ +func removeFromSharingList(tls *libc.TLS, pBt uintptr) int32 { /* sqlite3.c:68826:12: */ var pMainMtx uintptr var pList uintptr var removed int32 = 0 @@ -60360,7 +60370,7 @@ func removeFromSharingList(tls *libc.TLS, pBt uintptr) int32 { /* sqlite3.c:6881 // Make sure pBt->pTmpSpace points to an allocation of // MX_CELL_SIZE(pBt) bytes with a 4-byte prefix for a left-child // pointer. -func allocateTempSpace(tls *libc.TLS, pBt uintptr) int32 { /* sqlite3.c:68855:28: */ +func allocateTempSpace(tls *libc.TLS, pBt uintptr) int32 { /* sqlite3.c:68865:28: */ // This routine is called only by btreeCursor() when allocating the // first write cursor for the BtShared object @@ -60393,7 +60403,7 @@ func allocateTempSpace(tls *libc.TLS, pBt uintptr) int32 { /* sqlite3.c:68855:28 } // Free the pBt->pTmpSpace allocation -func freeTempSpace(tls *libc.TLS, pBt uintptr) { /* sqlite3.c:68892:13: */ +func freeTempSpace(tls *libc.TLS, pBt uintptr) { /* sqlite3.c:68902:13: */ if (*BtShared)(unsafe.Pointer(pBt)).FpTmpSpace != 0 { *(*uintptr)(unsafe.Pointer(pBt + 136)) -= uintptr(4) Xsqlite3PageFree(tls, (*BtShared)(unsafe.Pointer(pBt)).FpTmpSpace) @@ -60402,7 +60412,7 @@ func freeTempSpace(tls *libc.TLS, pBt uintptr) { /* sqlite3.c:68892:13: */ } // Close an open database and invalidate all cursors. -func Xsqlite3BtreeClose(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:68903:20: */ +func Xsqlite3BtreeClose(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:68913:20: */ var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt // Close all cursors opened via this handle. @@ -60452,7 +60462,7 @@ func Xsqlite3BtreeClose(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:68903:20: // pages in the cache exceeds this soft limit. But the size of the // cache is allowed to grow larger than this limit if it contains // dirty pages or pages still in active use. -func Xsqlite3BtreeSetCacheSize(tls *libc.TLS, p uintptr, mxPage int32) int32 { /* sqlite3.c:68969:20: */ +func Xsqlite3BtreeSetCacheSize(tls *libc.TLS, p uintptr, mxPage int32) int32 { /* sqlite3.c:68979:20: */ var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt Xsqlite3BtreeEnter(tls, p) @@ -60469,7 +60479,7 @@ func Xsqlite3BtreeSetCacheSize(tls *libc.TLS, p uintptr, mxPage int32) int32 { / // The value returned is the current spill size. If zero is passed // as an argument, no changes are made to the spill size setting, so // using mxPage of 0 is a way to query the current spill size. -func Xsqlite3BtreeSetSpillSize(tls *libc.TLS, p uintptr, mxPage int32) int32 { /* sqlite3.c:68988:20: */ +func Xsqlite3BtreeSetSpillSize(tls *libc.TLS, p uintptr, mxPage int32) int32 { /* sqlite3.c:68998:20: */ var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt var res int32 @@ -60481,7 +60491,7 @@ func Xsqlite3BtreeSetSpillSize(tls *libc.TLS, p uintptr, mxPage int32) int32 { / // Change the limit on the amount of the database file that may be // memory mapped. -func Xsqlite3BtreeSetMmapLimit(tls *libc.TLS, p uintptr, szMmap Sqlite3_int64) int32 { /* sqlite3.c:69003:20: */ +func Xsqlite3BtreeSetMmapLimit(tls *libc.TLS, p uintptr, szMmap Sqlite3_int64) int32 { /* sqlite3.c:69013:20: */ var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt Xsqlite3BtreeEnter(tls, p) @@ -60496,7 +60506,7 @@ func Xsqlite3BtreeSetMmapLimit(tls *libc.TLS, p uintptr, szMmap Sqlite3_int64) i // there is a high probability of damage) Level 2 is the default. There // is a very low but non-zero probability of damage. Level 3 reduces the // probability of damage to near zero but with a write performance reduction. -func Xsqlite3BtreeSetPagerFlags(tls *libc.TLS, p uintptr, pgFlags uint32) int32 { /* sqlite3.c:69022:20: */ +func Xsqlite3BtreeSetPagerFlags(tls *libc.TLS, p uintptr, pgFlags uint32) int32 { /* sqlite3.c:69032:20: */ var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt Xsqlite3BtreeEnter(tls, p) @@ -60523,7 +60533,7 @@ func Xsqlite3BtreeSetPagerFlags(tls *libc.TLS, p uintptr, pgFlags uint32) int32 // // If the iFix!=0 then the BTS_PAGESIZE_FIXED flag is set so that the page size // and autovacuum mode can no longer be changed. -func Xsqlite3BtreeSetPageSize(tls *libc.TLS, p uintptr, pageSize int32, nReserve int32, iFix int32) int32 { /* sqlite3.c:69055:20: */ +func Xsqlite3BtreeSetPageSize(tls *libc.TLS, p uintptr, pageSize int32, nReserve int32, iFix int32) int32 { /* sqlite3.c:69065:20: */ var rc int32 = SQLITE_OK var x int32 var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt @@ -60557,7 +60567,7 @@ func Xsqlite3BtreeSetPageSize(tls *libc.TLS, p uintptr, pageSize int32, nReserve } // Return the currently defined page size -func Xsqlite3BtreeGetPageSize(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:69087:20: */ +func Xsqlite3BtreeGetPageSize(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:69097:20: */ return int32((*BtShared)(unsafe.Pointer((*Btree)(unsafe.Pointer(p)).FpBt)).FpageSize) } @@ -60570,7 +60580,7 @@ func Xsqlite3BtreeGetPageSize(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:690 // database handle that owns *p is not. In this case if sqlite3BtreeEnter() // were to be called, it might collide with some other operation on the // database handle that owns *p, causing undefined behavior. -func Xsqlite3BtreeGetReserveNoMutex(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:69102:20: */ +func Xsqlite3BtreeGetReserveNoMutex(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:69112:20: */ var n int32 n = int32((*BtShared)(unsafe.Pointer((*Btree)(unsafe.Pointer(p)).FpBt)).FpageSize - (*BtShared)(unsafe.Pointer((*Btree)(unsafe.Pointer(p)).FpBt)).FusableSize) @@ -60584,7 +60594,7 @@ func Xsqlite3BtreeGetReserveNoMutex(tls *libc.TLS, p uintptr) int32 { /* sqlite3 // The value returned is the larger of the current reserve size and // the latest reserve size requested by SQLITE_FILECTRL_RESERVE_BYTES. // The amount of reserve can only grow - never shrink. -func Xsqlite3BtreeGetRequestedReserve(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:69118:20: */ +func Xsqlite3BtreeGetRequestedReserve(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:69128:20: */ var n1 int32 var n2 int32 Xsqlite3BtreeEnter(tls, p) @@ -60600,7 +60610,7 @@ func Xsqlite3BtreeGetRequestedReserve(tls *libc.TLS, p uintptr) int32 { /* sqlit // Set the maximum page count for a database if mxPage is positive. // No changes are made if mxPage is 0 or negative. // Regardless of the value of mxPage, return the maximum page count. -func Xsqlite3BtreeMaxPageCount(tls *libc.TLS, p uintptr, mxPage Pgno) Pgno { /* sqlite3.c:69133:21: */ +func Xsqlite3BtreeMaxPageCount(tls *libc.TLS, p uintptr, mxPage Pgno) Pgno { /* sqlite3.c:69143:21: */ var n Pgno Xsqlite3BtreeEnter(tls, p) n = Xsqlite3PagerMaxPageCount(tls, (*BtShared)(unsafe.Pointer((*Btree)(unsafe.Pointer(p)).FpBt)).FpPager, mxPage) @@ -60624,7 +60634,7 @@ func Xsqlite3BtreeMaxPageCount(tls *libc.TLS, p uintptr, mxPage Pgno) Pgno { /* // With BTS_SECURE_DELETE, operation is like BTS_OVERWRITE with the addition // that freelist leaf pages are written back into the database, increasing // the amount of disk I/O. -func Xsqlite3BtreeSecureDelete(tls *libc.TLS, p uintptr, newFlag int32) int32 { /* sqlite3.c:69159:20: */ +func Xsqlite3BtreeSecureDelete(tls *libc.TLS, p uintptr, newFlag int32) int32 { /* sqlite3.c:69169:20: */ var b int32 if p == uintptr(0) { return 0 @@ -60644,7 +60654,7 @@ func Xsqlite3BtreeSecureDelete(tls *libc.TLS, p uintptr, newFlag int32) int32 { // parameter is non-zero, then auto-vacuum mode is enabled. If zero, it // is disabled. The default value for the auto-vacuum property is // determined by the SQLITE_DEFAULT_AUTOVACUUM macro. -func Xsqlite3BtreeSetAutoVacuum(tls *libc.TLS, p uintptr, autoVacuum int32) int32 { /* sqlite3.c:69180:20: */ +func Xsqlite3BtreeSetAutoVacuum(tls *libc.TLS, p uintptr, autoVacuum int32) int32 { /* sqlite3.c:69190:20: */ var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt var rc int32 = SQLITE_OK var av U8 = U8(autoVacuum) @@ -60677,7 +60687,7 @@ func Xsqlite3BtreeSetAutoVacuum(tls *libc.TLS, p uintptr, autoVacuum int32) int3 // Return the value of the 'auto-vacuum' property. If auto-vacuum is // enabled 1 is returned. Otherwise 0. -func Xsqlite3BtreeGetAutoVacuum(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:69204:20: */ +func Xsqlite3BtreeGetAutoVacuum(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:69214:20: */ var rc int32 Xsqlite3BtreeEnter(tls, p) rc = func() int32 { @@ -60702,7 +60712,7 @@ func Xsqlite3BtreeGetAutoVacuum(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:6 // well-formed database file, then SQLITE_CORRUPT is returned. // SQLITE_BUSY is returned if the database is locked. SQLITE_NOMEM // is returned if we run out of memory. -func lockBtree(tls *libc.TLS, pBt uintptr) int32 { /* sqlite3.c:69260:12: */ +func lockBtree(tls *libc.TLS, pBt uintptr) int32 { /* sqlite3.c:69270:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -60871,7 +60881,7 @@ __16: if !(Xsqlite3WritableSchema(tls, (*BtShared)(unsafe.Pointer(pBt)).Fdb) == 0) { goto __18 } - rc = Xsqlite3CorruptError(tls, 69385) + rc = Xsqlite3CorruptError(tls, 69395) goto page1_init_failed goto __19 __18: @@ -60948,7 +60958,7 @@ page1_init_failed: // has the effect of releasing the read lock. // // If there is a transaction in progress, this routine is a no-op. -func unlockBtreeIfUnused(tls *libc.TLS, pBt uintptr) { /* sqlite3.c:69470:13: */ +func unlockBtreeIfUnused(tls *libc.TLS, pBt uintptr) { /* sqlite3.c:69480:13: */ if int32((*BtShared)(unsafe.Pointer(pBt)).FinTransaction) == TRANS_NONE && (*BtShared)(unsafe.Pointer(pBt)).FpPage1 != uintptr(0) { var pPage1 uintptr = (*BtShared)(unsafe.Pointer(pBt)).FpPage1 @@ -60961,7 +60971,7 @@ func unlockBtreeIfUnused(tls *libc.TLS, pBt uintptr) { /* sqlite3.c:69470:13: */ // If pBt points to an empty file then convert that empty file // into a new empty database by initializing the first page of // the database. -func newDatabase(tls *libc.TLS, pBt uintptr) int32 { /* sqlite3.c:69487:12: */ +func newDatabase(tls *libc.TLS, pBt uintptr) int32 { /* sqlite3.c:69497:12: */ var pP1 uintptr var data uintptr var rc int32 @@ -61001,7 +61011,7 @@ func newDatabase(tls *libc.TLS, pBt uintptr) int32 { /* sqlite3.c:69487:12: */ // Initialize the first page of the database file (creating a database // consisting of a single page and no schema objects). Return SQLITE_OK // if successful, or an SQLite error code otherwise. -func Xsqlite3BtreeNewDb(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:69531:20: */ +func Xsqlite3BtreeNewDb(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:69541:20: */ var rc int32 Xsqlite3BtreeEnter(tls, p) (*BtShared)(unsafe.Pointer((*Btree)(unsafe.Pointer(p)).FpBt)).FnPage = U32(0) @@ -61043,7 +61053,7 @@ func Xsqlite3BtreeNewDb(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:69531:20: // no progress. By returning SQLITE_BUSY and not invoking the busy callback // when A already has a read lock, we encourage A to give up and let B // proceed. -func Xsqlite3BtreeBeginTrans(tls *libc.TLS, p uintptr, wrflag int32, pSchemaVersion uintptr) int32 { /* sqlite3.c:69575:20: */ +func Xsqlite3BtreeBeginTrans(tls *libc.TLS, p uintptr, wrflag int32, pSchemaVersion uintptr) int32 { /* sqlite3.c:69585:20: */ var pBt uintptr var pPager uintptr var rc int32 @@ -61307,7 +61317,7 @@ __34: // Set the pointer-map entries for all children of page pPage. Also, if // pPage contains cells that point to overflow pages, set the pointer // map entries for the overflow pages as well. -func setChildPtrmaps(tls *libc.TLS, pPage uintptr) int32 { /* sqlite3.c:69755:12: */ +func setChildPtrmaps(tls *libc.TLS, pPage uintptr) int32 { /* sqlite3.c:69765:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -61359,14 +61369,14 @@ func setChildPtrmaps(tls *libc.TLS, pPage uintptr) int32 { /* sqlite3.c:69755:12 // // PTRMAP_OVERFLOW2: pPage is an overflow-page. The pointer points at the next // overflow page in the list. -func modifyPagePointer(tls *libc.TLS, pPage uintptr, iFrom Pgno, iTo Pgno, eType U8) int32 { /* sqlite3.c:69800:12: */ +func modifyPagePointer(tls *libc.TLS, pPage uintptr, iFrom Pgno, iTo Pgno, eType U8) int32 { /* sqlite3.c:69810:12: */ bp := tls.Alloc(24) defer tls.Free(24) if int32(eType) == PTRMAP_OVERFLOW2 { // The pointer is always the first 4 bytes of the page in this case. if Xsqlite3Get4byte(tls, (*MemPage)(unsafe.Pointer(pPage)).FaData) != iFrom { - return Xsqlite3CorruptError(tls, 69806) + return Xsqlite3CorruptError(tls, 69816) } Xsqlite3Put4byte(tls, (*MemPage)(unsafe.Pointer(pPage)).FaData, iTo) } else { @@ -61394,7 +61404,7 @@ func modifyPagePointer(tls *libc.TLS, pPage uintptr, iFrom Pgno, iTo Pgno, eType })(unsafe.Pointer(&struct{ uintptr }{(*MemPage)(unsafe.Pointer(pPage)).FxParseCell})).f(tls, pPage, pCell, bp /* &info */) if U32((*CellInfo)(unsafe.Pointer(bp)).FnLocal) < (*CellInfo)(unsafe.Pointer(bp)).FnPayload { if pCell+uintptr((*CellInfo)(unsafe.Pointer(bp)).FnSize) > (*MemPage)(unsafe.Pointer(pPage)).FaData+uintptr((*BtShared)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize) { - return Xsqlite3CorruptError(tls, 69825) + return Xsqlite3CorruptError(tls, 69835) } if iFrom == Xsqlite3Get4byte(tls, pCell+uintptr((*CellInfo)(unsafe.Pointer(bp)).FnSize)-uintptr(4)) { Xsqlite3Put4byte(tls, pCell+uintptr((*CellInfo)(unsafe.Pointer(bp)).FnSize)-uintptr(4), iTo) @@ -61411,7 +61421,7 @@ func modifyPagePointer(tls *libc.TLS, pPage uintptr, iFrom Pgno, iTo Pgno, eType if i == nCell { if int32(eType) != PTRMAP_BTREE || Xsqlite3Get4byte(tls, (*MemPage)(unsafe.Pointer(pPage)).FaData+uintptr(int32((*MemPage)(unsafe.Pointer(pPage)).FhdrOffset)+8)) != iFrom { - return Xsqlite3CorruptError(tls, 69843) + return Xsqlite3CorruptError(tls, 69853) } Xsqlite3Put4byte(tls, (*MemPage)(unsafe.Pointer(pPage)).FaData+uintptr(int32((*MemPage)(unsafe.Pointer(pPage)).FhdrOffset)+8), iTo) } @@ -61426,7 +61436,7 @@ func modifyPagePointer(tls *libc.TLS, pPage uintptr, iFrom Pgno, iTo Pgno, eType // the journal needs to be sync()ed before database page pDbPage->pgno // can be written to. The caller has already promised not to write to that // page. -func relocatePage(tls *libc.TLS, pBt uintptr, pDbPage uintptr, eType U8, iPtrPage Pgno, iFreePage Pgno, isCommit int32) int32 { /* sqlite3.c:69861:12: */ +func relocatePage(tls *libc.TLS, pBt uintptr, pDbPage uintptr, eType U8, iPtrPage Pgno, iFreePage Pgno, isCommit int32) int32 { /* sqlite3.c:69871:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -61437,7 +61447,7 @@ func relocatePage(tls *libc.TLS, pBt uintptr, pDbPage uintptr, eType U8, iPtrPag // var rc int32 at bp, 4 if iDbPage < Pgno(3) { - return Xsqlite3CorruptError(tls, 69878) + return Xsqlite3CorruptError(tls, 69888) } // Move page iDbPage from its current location to page number iFreePage @@ -61507,7 +61517,7 @@ func relocatePage(tls *libc.TLS, pBt uintptr, pDbPage uintptr, eType U8, iPtrPag // caller will keep calling incrVacuumStep() until it returns SQLITE_DONE // or an error. bCommit is passed true for an auto-vacuum-on-commit // operation, or false for an incremental vacuum. -func incrVacuumStep(tls *libc.TLS, pBt uintptr, nFin Pgno, iLastPg Pgno, bCommit int32) int32 { /* sqlite3.c:69955:12: */ +func incrVacuumStep(tls *libc.TLS, pBt uintptr, nFin Pgno, iLastPg Pgno, bCommit int32) int32 { /* sqlite3.c:69965:12: */ bp := tls.Alloc(44) defer tls.Free(44) @@ -61529,7 +61539,7 @@ func incrVacuumStep(tls *libc.TLS, pBt uintptr, nFin Pgno, iLastPg Pgno, bCommit return rc } if int32(*(*U8)(unsafe.Pointer(bp))) == PTRMAP_ROOTPAGE { - return Xsqlite3CorruptError(tls, 69976) + return Xsqlite3CorruptError(tls, 69986) } if int32(*(*U8)(unsafe.Pointer(bp))) == PTRMAP_FREEPAGE { @@ -61604,7 +61614,7 @@ func incrVacuumStep(tls *libc.TLS, pBt uintptr, nFin Pgno, iLastPg Pgno, bCommit // The database opened by the first argument is an auto-vacuum database // nOrig pages in size containing nFree free pages. Return the expected // size of the database in pages following an auto-vacuum operation. -func finalDbSize(tls *libc.TLS, pBt uintptr, nOrig Pgno, nFree Pgno) Pgno { /* sqlite3.c:70051:13: */ +func finalDbSize(tls *libc.TLS, pBt uintptr, nOrig Pgno, nFree Pgno) Pgno { /* sqlite3.c:70061:13: */ var nEntry int32 // Number of entries on one ptrmap page var nPtrmap Pgno // Number of PtrMap pages to be freed var nFin Pgno // Return value @@ -61628,7 +61638,7 @@ func finalDbSize(tls *libc.TLS, pBt uintptr, nOrig Pgno, nFree Pgno) Pgno { /* s // If the incremental vacuum is finished after this function has run, // SQLITE_DONE is returned. If it is not finished, but no error occurred, // SQLITE_OK is returned. Otherwise an SQLite error code. -func Xsqlite3BtreeIncrVacuum(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:70077:20: */ +func Xsqlite3BtreeIncrVacuum(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:70087:20: */ var rc int32 var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt @@ -61642,7 +61652,7 @@ func Xsqlite3BtreeIncrVacuum(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:7007 var nFin Pgno = finalDbSize(tls, pBt, nOrig, nFree) if nOrig < nFin || nFree >= nOrig { - rc = Xsqlite3CorruptError(tls, 70091) + rc = Xsqlite3CorruptError(tls, 70101) } else if nFree > Pgno(0) { rc = saveAllCursors(tls, pBt, uint32(0), uintptr(0)) if rc == SQLITE_OK { @@ -61663,7 +61673,7 @@ func Xsqlite3BtreeIncrVacuum(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:7007 // This routine is called prior to sqlite3PagerCommit when a transaction // is committed for an auto-vacuum database. -func autoVacuumCommit(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:70114:12: */ +func autoVacuumCommit(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:70124:12: */ var rc int32 = SQLITE_OK var pPager uintptr var pBt uintptr @@ -61686,7 +61696,7 @@ func autoVacuumCommit(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:70114:12: * // It is not possible to create a database for which the final page // is either a pointer-map page or the pending-byte page. If one // is encountered, this indicates corruption. - return Xsqlite3CorruptError(tls, 70142) + return Xsqlite3CorruptError(tls, 70152) } nFree = Xsqlite3Get4byte(tls, (*MemPage)(unsafe.Pointer((*BtShared)(unsafe.Pointer(pBt)).FpPage1)).FaData+36) @@ -61717,7 +61727,7 @@ func autoVacuumCommit(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:70114:12: * } nFin = finalDbSize(tls, pBt, nOrig, nVac) if nFin > nOrig { - return Xsqlite3CorruptError(tls, 70169) + return Xsqlite3CorruptError(tls, 70179) } if nFin < nOrig { rc = saveAllCursors(tls, pBt, uint32(0), uintptr(0)) @@ -61767,7 +61777,7 @@ func autoVacuumCommit(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:70114:12: * // // Once this is routine has returned, the only thing required to commit // the write-transaction for this database file is to delete the journal. -func Xsqlite3BtreeCommitPhaseOne(tls *libc.TLS, p uintptr, zSuperJrnl uintptr) int32 { /* sqlite3.c:70225:20: */ +func Xsqlite3BtreeCommitPhaseOne(tls *libc.TLS, p uintptr, zSuperJrnl uintptr) int32 { /* sqlite3.c:70235:20: */ var rc int32 = SQLITE_OK if int32((*Btree)(unsafe.Pointer(p)).FinTrans) == TRANS_WRITE { var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt @@ -61790,7 +61800,7 @@ func Xsqlite3BtreeCommitPhaseOne(tls *libc.TLS, p uintptr, zSuperJrnl uintptr) i // This function is called from both BtreeCommitPhaseTwo() and BtreeRollback() // at the conclusion of a transaction. -func btreeEndTransaction(tls *libc.TLS, p uintptr) { /* sqlite3.c:70252:13: */ +func btreeEndTransaction(tls *libc.TLS, p uintptr) { /* sqlite3.c:70262:13: */ var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt var db uintptr = (*Btree)(unsafe.Pointer(p)).Fdb @@ -61846,7 +61856,7 @@ func btreeEndTransaction(tls *libc.TLS, p uintptr) { /* sqlite3.c:70252:13: */ // // This will release the write lock on the database file. If there // are no active cursors, it also releases the read lock. -func Xsqlite3BtreeCommitPhaseTwo(tls *libc.TLS, p uintptr, bCleanup int32) int32 { /* sqlite3.c:70314:20: */ +func Xsqlite3BtreeCommitPhaseTwo(tls *libc.TLS, p uintptr, bCleanup int32) int32 { /* sqlite3.c:70324:20: */ if int32((*Btree)(unsafe.Pointer(p)).FinTrans) == TRANS_NONE { return SQLITE_OK @@ -61875,7 +61885,7 @@ func Xsqlite3BtreeCommitPhaseTwo(tls *libc.TLS, p uintptr, bCleanup int32) int32 } // Do both phases of a commit. -func Xsqlite3BtreeCommit(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:70346:20: */ +func Xsqlite3BtreeCommit(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:70356:20: */ var rc int32 Xsqlite3BtreeEnter(tls, p) rc = Xsqlite3BtreeCommitPhaseOne(tls, p, uintptr(0)) @@ -61910,7 +61920,7 @@ func Xsqlite3BtreeCommit(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:70346:20 // // SQLITE_OK is returned if successful, or if an error occurs while // saving a cursor position, an SQLite error code. -func Xsqlite3BtreeTripAllCursors(tls *libc.TLS, pBtree uintptr, errCode int32, writeOnly int32) int32 { /* sqlite3.c:70383:20: */ +func Xsqlite3BtreeTripAllCursors(tls *libc.TLS, pBtree uintptr, errCode int32, writeOnly int32) int32 { /* sqlite3.c:70393:20: */ var p uintptr var rc int32 = SQLITE_OK @@ -61939,7 +61949,7 @@ func Xsqlite3BtreeTripAllCursors(tls *libc.TLS, pBtree uintptr, errCode int32, w // Set the pBt->nPage field correctly, according to the current // state of the database. Assume pBt->pPage1 is valid. -func btreeSetNPage(tls *libc.TLS, pBt uintptr, pPage1 uintptr) { /* sqlite3.c:70415:13: */ +func btreeSetNPage(tls *libc.TLS, pBt uintptr, pPage1 uintptr) { /* sqlite3.c:70425:13: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -61961,7 +61971,7 @@ func btreeSetNPage(tls *libc.TLS, pBt uintptr, pPage1 uintptr) { /* sqlite3.c:70 // // This will release the write lock on the database file. If there // are no active cursors, it also releases the read lock. -func Xsqlite3BtreeRollback(tls *libc.TLS, p uintptr, tripCode int32, writeOnly int32) int32 { /* sqlite3.c:70434:20: */ +func Xsqlite3BtreeRollback(tls *libc.TLS, p uintptr, tripCode int32, writeOnly int32) int32 { /* sqlite3.c:70444:20: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -62027,7 +62037,7 @@ func Xsqlite3BtreeRollback(tls *libc.TLS, p uintptr, tripCode int32, writeOnly i // are no active savepoints and no other statement-transactions open, // iStatement is 1. This anonymous savepoint can be released or rolled back // using the sqlite3BtreeSavepoint() function. -func Xsqlite3BtreeBeginStmt(tls *libc.TLS, p uintptr, iStatement int32) int32 { /* sqlite3.c:70499:20: */ +func Xsqlite3BtreeBeginStmt(tls *libc.TLS, p uintptr, iStatement int32) int32 { /* sqlite3.c:70509:20: */ var rc int32 var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt Xsqlite3BtreeEnter(tls, p) @@ -62051,7 +62061,7 @@ func Xsqlite3BtreeBeginStmt(tls *libc.TLS, p uintptr, iStatement int32) int32 { // contents of the entire transaction are rolled back. This is different // from a normal transaction rollback, as no locks are released and the // transaction remains open. -func Xsqlite3BtreeSavepoint(tls *libc.TLS, p uintptr, op int32, iSavepoint int32) int32 { /* sqlite3.c:70530:20: */ +func Xsqlite3BtreeSavepoint(tls *libc.TLS, p uintptr, op int32, iSavepoint int32) int32 { /* sqlite3.c:70540:20: */ var rc int32 = SQLITE_OK if p != 0 && int32((*Btree)(unsafe.Pointer(p)).FinTrans) == TRANS_WRITE { var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt @@ -62119,7 +62129,7 @@ func Xsqlite3BtreeSavepoint(tls *libc.TLS, p uintptr, op int32, iSavepoint int32 // // It is assumed that the sqlite3BtreeCursorZero() has been called // on pCur to initialize the memory space prior to invoking this routine. -func btreeCursor(tls *libc.TLS, p uintptr, iTable Pgno, wrFlag int32, pKeyInfo uintptr, pCur uintptr) int32 { /* sqlite3.c:70601:12: */ +func btreeCursor(tls *libc.TLS, p uintptr, iTable Pgno, wrFlag int32, pKeyInfo uintptr, pCur uintptr) int32 { /* sqlite3.c:70611:12: */ var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt // Shared b-tree handle var pX uintptr // Looping over other all cursors @@ -62132,7 +62142,7 @@ func btreeCursor(tls *libc.TLS, p uintptr, iTable Pgno, wrFlag int32, pKeyInfo u if iTable <= Pgno(1) { if iTable < Pgno(1) { - return Xsqlite3CorruptError(tls, 70633) + return Xsqlite3CorruptError(tls, 70643) } else if btreePagecount(tls, pBt) == Pgno(0) { iTable = Pgno(0) @@ -62170,7 +62180,7 @@ func btreeCursor(tls *libc.TLS, p uintptr, iTable Pgno, wrFlag int32, pKeyInfo u return SQLITE_OK } -func btreeCursorWithLock(tls *libc.TLS, p uintptr, iTable Pgno, wrFlag int32, pKeyInfo uintptr, pCur uintptr) int32 { /* sqlite3.c:70668:12: */ +func btreeCursorWithLock(tls *libc.TLS, p uintptr, iTable Pgno, wrFlag int32, pKeyInfo uintptr, pCur uintptr) int32 { /* sqlite3.c:70678:12: */ var rc int32 Xsqlite3BtreeEnter(tls, p) rc = btreeCursor(tls, p, iTable, wrFlag, pKeyInfo, pCur) @@ -62178,7 +62188,7 @@ func btreeCursorWithLock(tls *libc.TLS, p uintptr, iTable Pgno, wrFlag int32, pK return rc } -func Xsqlite3BtreeCursor(tls *libc.TLS, p uintptr, iTable Pgno, wrFlag int32, pKeyInfo uintptr, pCur uintptr) int32 { /* sqlite3.c:70681:20: */ +func Xsqlite3BtreeCursor(tls *libc.TLS, p uintptr, iTable Pgno, wrFlag int32, pKeyInfo uintptr, pCur uintptr) int32 { /* sqlite3.c:70691:20: */ if (*Btree)(unsafe.Pointer(p)).Fsharable != 0 { return btreeCursorWithLock(tls, p, iTable, wrFlag, pKeyInfo, pCur) } else { @@ -62193,7 +62203,7 @@ func Xsqlite3BtreeCursor(tls *libc.TLS, p uintptr, iTable Pgno, wrFlag int32, pK // sufficient storage to hold a cursor. The BtCursor object is opaque // to users so they cannot do the sizeof() themselves - they must call // this routine. -func Xsqlite3BtreeCursorSize(tls *libc.TLS) int32 { /* sqlite3.c:70703:20: */ +func Xsqlite3BtreeCursorSize(tls *libc.TLS) int32 { /* sqlite3.c:70713:20: */ return int32((uint64(unsafe.Sizeof(BtCursor{})) + uint64(7)) & libc.Uint64FromInt32(libc.CplInt32(7))) } @@ -62203,13 +62213,13 @@ func Xsqlite3BtreeCursorSize(tls *libc.TLS) int32 { /* sqlite3.c:70703:20: */ // to zero. But it turns out that the apPage[] and aiIdx[] arrays // do not need to be zeroed and they are large, so we can save a lot // of run-time by skipping the initialization of those elements. -func Xsqlite3BtreeCursorZero(tls *libc.TLS, p uintptr) { /* sqlite3.c:70715:21: */ +func Xsqlite3BtreeCursorZero(tls *libc.TLS, p uintptr) { /* sqlite3.c:70725:21: */ libc.X__builtin___memset_chk(tls, p, 0, uint64(uintptr(0)+32), libc.X__builtin_object_size(tls, p, 0)) } // Close a cursor. The read lock on the database file is released // when the last cursor is closed. -func Xsqlite3BtreeCloseCursor(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:70723:20: */ +func Xsqlite3BtreeCloseCursor(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:70733:20: */ var pBtree uintptr = (*BtCursor)(unsafe.Pointer(pCur)).FpBtree if pBtree != 0 { var pBt uintptr = (*BtCursor)(unsafe.Pointer(pCur)).FpBt @@ -62250,7 +62260,7 @@ func Xsqlite3BtreeCloseCursor(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c: // // BtCursor.info is a cache of the information in the current cell. // Using this cache reduces the number of calls to btreeParseCell(). -func getCellInfo(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:70784:29: */ +func getCellInfo(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:70794:29: */ if int32((*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnSize) == 0 { *(*U8)(unsafe.Pointer(pCur + 1)) |= U8(BTCF_ValidNKey) btreeParseCell(tls, (*BtCursor)(unsafe.Pointer(pCur)).FpPage, int32((*BtCursor)(unsafe.Pointer(pCur)).Fix), pCur+48) @@ -62259,7 +62269,7 @@ func getCellInfo(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:70784:29: */ } } -func Xsqlite3BtreeCursorIsValidNN(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:70803:20: */ +func Xsqlite3BtreeCursorIsValidNN(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:70813:20: */ return libc.Bool32(int32((*BtCursor)(unsafe.Pointer(pCur)).FeState) == CURSOR_VALID) } @@ -62268,26 +62278,26 @@ func Xsqlite3BtreeCursorIsValidNN(tls *libc.TLS, pCur uintptr) int32 { /* sqlite // This routine is only valid for a cursor that is pointing into a // ordinary table btree. If the cursor points to an index btree or // is invalid, the result of this routine is undefined. -func Xsqlite3BtreeIntegerKey(tls *libc.TLS, pCur uintptr) I64 { /* sqlite3.c:70814:20: */ +func Xsqlite3BtreeIntegerKey(tls *libc.TLS, pCur uintptr) I64 { /* sqlite3.c:70824:20: */ getCellInfo(tls, pCur) return (*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnKey } // Pin or unpin a cursor. -func Xsqlite3BtreeCursorPin(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:70825:21: */ +func Xsqlite3BtreeCursorPin(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:70835:21: */ *(*U8)(unsafe.Pointer(pCur + 1)) |= U8(BTCF_Pinned) } -func Xsqlite3BtreeCursorUnpin(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:70829:21: */ +func Xsqlite3BtreeCursorUnpin(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:70839:21: */ *(*U8)(unsafe.Pointer(pCur + 1)) &= libc.Uint8FromInt32(libc.CplInt32(BTCF_Pinned)) } // Return the offset into the database file for the start of the // payload to which the cursor is pointing. -func Xsqlite3BtreeOffset(tls *libc.TLS, pCur uintptr) I64 { /* sqlite3.c:70839:20: */ +func Xsqlite3BtreeOffset(tls *libc.TLS, pCur uintptr) I64 { /* sqlite3.c:70849:20: */ getCellInfo(tls, pCur) return I64((*BtShared)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pCur)).FpBt)).FpageSize)*(I64((*MemPage)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pCur)).FpPage)).Fpgno)-int64(1)) + I64((int64((*BtCursor)(unsafe.Pointer(pCur)).Finfo.FpPayload)-int64((*MemPage)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pCur)).FpPage)).FaData))/1) @@ -62300,7 +62310,7 @@ func Xsqlite3BtreeOffset(tls *libc.TLS, pCur uintptr) I64 { /* sqlite3.c:70839:2 // The caller must guarantee that the cursor is pointing to a non-NULL // valid entry. In other words, the calling procedure must guarantee // that the cursor has Cursor.eState==CURSOR_VALID. -func Xsqlite3BtreePayloadSize(tls *libc.TLS, pCur uintptr) U32 { /* sqlite3.c:70857:20: */ +func Xsqlite3BtreePayloadSize(tls *libc.TLS, pCur uintptr) U32 { /* sqlite3.c:70867:20: */ getCellInfo(tls, pCur) return (*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnPayload @@ -62317,7 +62327,7 @@ func Xsqlite3BtreePayloadSize(tls *libc.TLS, pCur uintptr) U32 { /* sqlite3.c:70 // // The current implementation merely returns the size of the underlying // database file. -func Xsqlite3BtreeMaxRecordSize(tls *libc.TLS, pCur uintptr) Sqlite3_int64 { /* sqlite3.c:70877:30: */ +func Xsqlite3BtreeMaxRecordSize(tls *libc.TLS, pCur uintptr) Sqlite3_int64 { /* sqlite3.c:70887:30: */ return Sqlite3_int64((*BtShared)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pCur)).FpBt)).FpageSize) * Sqlite3_int64((*BtShared)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pCur)).FpBt)).FnPage) } @@ -62339,7 +62349,7 @@ func Xsqlite3BtreeMaxRecordSize(tls *libc.TLS, pCur uintptr) Sqlite3_int64 { /* // on *ppPage to free the reference. In no reference was obtained (because // the pointer-map was used to obtain the value for *pPgnoNext), then // *ppPage is set to zero. -func getOverflowPage(tls *libc.TLS, pBt uintptr, ovfl Pgno, ppPage uintptr, pPgnoNext uintptr) int32 { /* sqlite3.c:70902:12: */ +func getOverflowPage(tls *libc.TLS, pBt uintptr, ovfl Pgno, ppPage uintptr, pPgnoNext uintptr) int32 { /* sqlite3.c:70912:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -62407,7 +62417,7 @@ func getOverflowPage(tls *libc.TLS, pBt uintptr, ovfl Pgno, ppPage uintptr, pPgn // of data are copied from the buffer pBuf to pPayload. // // SQLITE_OK is returned on success, otherwise an error code. -func copyPayload(tls *libc.TLS, pPayload uintptr, pBuf uintptr, nByte int32, eOp int32, pDbPage uintptr) int32 { /* sqlite3.c:70970:12: */ +func copyPayload(tls *libc.TLS, pPayload uintptr, pBuf uintptr, nByte int32, eOp int32, pDbPage uintptr) int32 { /* sqlite3.c:70980:12: */ if eOp != 0 { // Copy data from buffer to page (a write operation) var rc int32 = Xsqlite3PagerWrite(tls, pDbPage) @@ -62449,7 +62459,7 @@ func copyPayload(tls *libc.TLS, pPayload uintptr, pBuf uintptr, nByte int32, eOp // * An incremental vacuum, // * A commit in auto_vacuum="full" mode, // * Creating a table (may require moving an overflow page). -func accessPayload(tls *libc.TLS, pCur uintptr, offset U32, amt U32, pBuf uintptr, eOp int32) int32 { /* sqlite3.c:71020:12: */ +func accessPayload(tls *libc.TLS, pCur uintptr, offset U32, amt U32, pBuf uintptr, eOp int32) int32 { /* sqlite3.c:71030:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -62460,7 +62470,7 @@ func accessPayload(tls *libc.TLS, pCur uintptr, offset U32, amt U32, pBuf uintpt var pBt uintptr = (*BtCursor)(unsafe.Pointer(pCur)).FpBt // Btree this cursor belongs to if int32((*BtCursor)(unsafe.Pointer(pCur)).Fix) >= int32((*MemPage)(unsafe.Pointer(pPage)).FnCell) { - return Xsqlite3CorruptError(tls, 71040) + return Xsqlite3CorruptError(tls, 71050) } getCellInfo(tls, pCur) @@ -62471,7 +62481,7 @@ func accessPayload(tls *libc.TLS, pCur uintptr, offset U32, amt U32, pBuf uintpt // conditional above is really: // &aPayload[pCur->info.nLocal] > &pPage->aData[pBt->usableSize] // but is recast into its current form to avoid integer overflow problems - return Xsqlite3CorruptError(tls, 71055) + return Xsqlite3CorruptError(tls, 71065) } // Check if data must be read/written to/from the btree page itself. @@ -62528,7 +62538,7 @@ func accessPayload(tls *libc.TLS, pCur uintptr, offset U32, amt U32, pBuf uintpt for *(*Pgno)(unsafe.Pointer(bp)) != 0 { // If required, populate the overflow page-list cache. if *(*Pgno)(unsafe.Pointer(bp)) > (*BtShared)(unsafe.Pointer(pBt)).FnPage { - return Xsqlite3CorruptError(tls, 71117) + return Xsqlite3CorruptError(tls, 71127) } *(*Pgno)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pCur)).FaOverflow + uintptr(iIdx)*4)) = *(*Pgno)(unsafe.Pointer(bp /* nextPage */)) @@ -62588,7 +62598,7 @@ func accessPayload(tls *libc.TLS, pCur uintptr, offset U32, amt U32, pBuf uintpt if rc == SQLITE_OK && amt > U32(0) { // Overflow chain ends prematurely - return Xsqlite3CorruptError(tls, 71202) + return Xsqlite3CorruptError(tls, 71212) } return rc } @@ -62608,7 +62618,7 @@ func accessPayload(tls *libc.TLS, pCur uintptr, offset U32, amt U32, pBuf uintpt // Return SQLITE_OK on success or an error code if anything goes // wrong. An error is returned if "offset+amt" is larger than // the available payload. -func Xsqlite3BtreePayload(tls *libc.TLS, pCur uintptr, offset U32, amt U32, pBuf uintptr) int32 { /* sqlite3.c:71224:20: */ +func Xsqlite3BtreePayload(tls *libc.TLS, pCur uintptr, offset U32, amt U32, pBuf uintptr) int32 { /* sqlite3.c:71234:20: */ return accessPayload(tls, pCur, offset, amt, pBuf, 0) } @@ -62616,7 +62626,7 @@ func Xsqlite3BtreePayload(tls *libc.TLS, pCur uintptr, offset U32, amt U32, pBuf // This variant of sqlite3BtreePayload() works even if the cursor has not // in the CURSOR_VALID state. It is only used by the sqlite3_blob_read() // interface. -func accessPayloadChecked(tls *libc.TLS, pCur uintptr, offset U32, amt U32, pBuf uintptr) int32 { /* sqlite3.c:71237:28: */ +func accessPayloadChecked(tls *libc.TLS, pCur uintptr, offset U32, amt U32, pBuf uintptr) int32 { /* sqlite3.c:71247:28: */ var rc int32 if int32((*BtCursor)(unsafe.Pointer(pCur)).FeState) == CURSOR_INVALID { return SQLITE_ABORT @@ -62629,7 +62639,7 @@ func accessPayloadChecked(tls *libc.TLS, pCur uintptr, offset U32, amt U32, pBuf return accessPayload(tls, pCur, offset, amt, pBuf, 0) } -func Xsqlite3BtreePayloadChecked(tls *libc.TLS, pCur uintptr, offset U32, amt U32, pBuf uintptr) int32 { /* sqlite3.c:71251:20: */ +func Xsqlite3BtreePayloadChecked(tls *libc.TLS, pCur uintptr, offset U32, amt U32, pBuf uintptr) int32 { /* sqlite3.c:71261:20: */ if int32((*BtCursor)(unsafe.Pointer(pCur)).FeState) == CURSOR_VALID { return accessPayload(tls, pCur, offset, amt, pBuf, 0) @@ -62656,7 +62666,7 @@ func Xsqlite3BtreePayloadChecked(tls *libc.TLS, pCur uintptr, offset U32, amt U3 // The pointer returned by this routine looks directly into the cached // page of the database. The data might change or move the next time // any btree routine is called. -func fetchPayload(tls *libc.TLS, pCur uintptr, pAmt uintptr) uintptr { /* sqlite3.c:71280:19: */ +func fetchPayload(tls *libc.TLS, pCur uintptr, pAmt uintptr) uintptr { /* sqlite3.c:71290:19: */ var amt int32 amt = int32((*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnLocal) @@ -62687,7 +62697,7 @@ func fetchPayload(tls *libc.TLS, pCur uintptr, pAmt uintptr) uintptr { /* sqlite // // These routines is used to get quick access to key and data // in the common case where no overflow pages are used. -func Xsqlite3BtreePayloadFetch(tls *libc.TLS, pCur uintptr, pAmt uintptr) uintptr { /* sqlite3.c:71319:27: */ +func Xsqlite3BtreePayloadFetch(tls *libc.TLS, pCur uintptr, pAmt uintptr) uintptr { /* sqlite3.c:71329:27: */ return fetchPayload(tls, pCur, pAmt) } @@ -62698,11 +62708,11 @@ func Xsqlite3BtreePayloadFetch(tls *libc.TLS, pCur uintptr, pAmt uintptr) uintpt // the new child page does not match the flags field of the parent (i.e. // if an intkey page appears to be the parent of a non-intkey page, or // vice-versa). -func moveToChild(tls *libc.TLS, pCur uintptr, newPgno U32) int32 { /* sqlite3.c:71333:12: */ +func moveToChild(tls *libc.TLS, pCur uintptr, newPgno U32) int32 { /* sqlite3.c:71343:12: */ var pBt uintptr = (*BtCursor)(unsafe.Pointer(pCur)).FpBt if int32((*BtCursor)(unsafe.Pointer(pCur)).FiPage) >= BTCURSOR_MAX_DEPTH-1 { - return Xsqlite3CorruptError(tls, 71341) + return Xsqlite3CorruptError(tls, 71351) } (*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnSize = U16(0) *(*U8)(unsafe.Pointer(pCur + 1)) &= libc.Uint8FromInt32(libc.CplInt32(BTCF_ValidNKey | BTCF_ValidOvfl)) @@ -62719,7 +62729,7 @@ func moveToChild(tls *libc.TLS, pCur uintptr, newPgno U32) int32 { /* sqlite3.c: // to the page we are coming from. If we are coming from the // right-most child page then pCur->idx is set to one more than // the largest cell index. -func moveToParent(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:71382:13: */ +func moveToParent(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:71392:13: */ var pLeaf uintptr (*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnSize = U16(0) @@ -62749,7 +62759,7 @@ func moveToParent(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:71382:13: */ // indicating a table b-tree, or if the caller did specify a KeyInfo // structure the flags byte is set to 0x02 or 0x0A, indicating an index // b-tree). -func moveToRoot(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:71423:12: */ +func moveToRoot(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:71433:12: */ var pRoot uintptr var rc int32 var subpage Pgno @@ -62828,7 +62838,7 @@ __2: if !(int32((*MemPage)(unsafe.Pointer(pRoot)).FisInit) == 0 || libc.Bool32((*BtCursor)(unsafe.Pointer(pCur)).FpKeyInfo == uintptr(0)) != int32((*MemPage)(unsafe.Pointer(pRoot)).FintKey)) { goto __11 } - return Xsqlite3CorruptError(tls, 71479) + return Xsqlite3CorruptError(tls, 71489) __11: ; @@ -62849,7 +62859,7 @@ __12: if !((*MemPage)(unsafe.Pointer(pRoot)).Fpgno != Pgno(1)) { goto __16 } - return Xsqlite3CorruptError(tls, 71491) + return Xsqlite3CorruptError(tls, 71501) __16: ; subpage = Xsqlite3Get4byte(tls, (*MemPage)(unsafe.Pointer(pRoot)).FaData+uintptr(int32((*MemPage)(unsafe.Pointer(pRoot)).FhdrOffset)+8)) @@ -62871,7 +62881,7 @@ __13: // // The left-most leaf is the one with the smallest key - the first // in ascending order. -func moveToLeftmost(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:71509:12: */ +func moveToLeftmost(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:71519:12: */ var pgno Pgno var rc int32 = SQLITE_OK var pPage uintptr @@ -62892,7 +62902,7 @@ func moveToLeftmost(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:71509:12: // // The right-most entry is the one with the largest key - the last // key in ascending order. -func moveToRightmost(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:71534:12: */ +func moveToRightmost(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:71544:12: */ var pgno Pgno var rc int32 = SQLITE_OK var pPage uintptr = uintptr(0) @@ -62913,7 +62923,7 @@ func moveToRightmost(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:71534:12: // Move the cursor to the first entry in the table. Return SQLITE_OK // on success. Set *pRes to 0 if the cursor actually points to something // or set *pRes to 1 if the table is empty. -func Xsqlite3BtreeFirst(tls *libc.TLS, pCur uintptr, pRes uintptr) int32 { /* sqlite3.c:71557:20: */ +func Xsqlite3BtreeFirst(tls *libc.TLS, pCur uintptr, pRes uintptr) int32 { /* sqlite3.c:71567:20: */ var rc int32 rc = moveToRoot(tls, pCur) @@ -62932,7 +62942,7 @@ func Xsqlite3BtreeFirst(tls *libc.TLS, pCur uintptr, pRes uintptr) int32 { /* sq // Move the cursor to the last entry in the table. Return SQLITE_OK // on success. Set *pRes to 0 if the cursor actually points to something // or set *pRes to 1 if the table is empty. -func Xsqlite3BtreeLast(tls *libc.TLS, pCur uintptr, pRes uintptr) int32 { /* sqlite3.c:71579:20: */ +func Xsqlite3BtreeLast(tls *libc.TLS, pCur uintptr, pRes uintptr) int32 { /* sqlite3.c:71589:20: */ var rc int32 // If the cursor already points to the last entry, this is a no-op. @@ -62981,7 +62991,7 @@ func Xsqlite3BtreeLast(tls *libc.TLS, pCur uintptr, pRes uintptr) int32 { /* sql // // *pRes>0 The cursor is left pointing at an entry that // is larger than intKey. -func Xsqlite3BtreeTableMoveto(tls *libc.TLS, pCur uintptr, intKey I64, biasRight int32, pRes uintptr) int32 { /* sqlite3.c:71644:20: */ +func Xsqlite3BtreeTableMoveto(tls *libc.TLS, pCur uintptr, intKey I64, biasRight int32, pRes uintptr) int32 { /* sqlite3.c:71654:20: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -63096,7 +63106,7 @@ __19: if !(pCell >= (*MemPage)(unsafe.Pointer(pPage)).FaDataEnd) { goto __21 } - return Xsqlite3CorruptError(tls, 71733) + return Xsqlite3CorruptError(tls, 71743) __21: ; goto __19 @@ -63225,7 +63235,7 @@ moveto_table_finish: // // The pIdxKey->eqSeen field is set to 1 if there // exists an entry in the table that exactly matches pIdxKey. -func Xsqlite3BtreeIndexMoveto(tls *libc.TLS, pCur uintptr, pIdxKey uintptr, pRes uintptr) int32 { /* sqlite3.c:71812:20: */ +func Xsqlite3BtreeIndexMoveto(tls *libc.TLS, pCur uintptr, pIdxKey uintptr, pRes uintptr) int32 { /* sqlite3.c:71822:20: */ var rc int32 var xRecordCompare RecordCompare // The record flows over onto one or more overflow pages. In @@ -63329,7 +63339,7 @@ __11: if !(nCell < 2 || U32(nCell)/(*BtShared)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pCur)).FpBt)).FusableSize > (*BtShared)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pCur)).FpBt)).FnPage) { goto __13 } - rc = Xsqlite3CorruptError(tls, 71914) + rc = Xsqlite3CorruptError(tls, 71924) goto moveto_index_finish __13: ; @@ -63378,7 +63388,7 @@ __18: if !((*UnpackedRecord)(unsafe.Pointer(pIdxKey)).FerrCode != 0) { goto __20 } - rc = Xsqlite3CorruptError(tls, 71946) + rc = Xsqlite3CorruptError(tls, 71956) __20: ; goto moveto_index_finish @@ -63445,7 +63455,7 @@ moveto_index_finish: // TRUE will be returned after a call to sqlite3BtreeNext() moves // past the last entry in the table or sqlite3BtreePrev() moves past // the first entry. TRUE is also returned if the table is empty. -func Xsqlite3BtreeEof(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:71985:20: */ +func Xsqlite3BtreeEof(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:71995:20: */ // TODO: What if the cursor is in CURSOR_REQUIRESEEK but all table entries // have been deleted? This API will need to change to return an error code // as well as the boolean result value. @@ -63455,7 +63465,7 @@ func Xsqlite3BtreeEof(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:71985:20 // Return an estimate for the number of rows in the table that pCur is // pointing to. Return a negative number if no estimate is currently // available. -func Xsqlite3BtreeRowCountEst(tls *libc.TLS, pCur uintptr) I64 { /* sqlite3.c:71998:20: */ +func Xsqlite3BtreeRowCountEst(tls *libc.TLS, pCur uintptr) I64 { /* sqlite3.c:72008:20: */ var n I64 var i U8 @@ -63494,7 +63504,7 @@ func Xsqlite3BtreeRowCountEst(tls *libc.TLS, pCur uintptr) I64 { /* sqlite3.c:71 // skipped if the SQL index had been a unique index. The F argument // is a hint to the implement. SQLite btree implementation does not use // this hint, but COMDB2 does. -func btreeNext(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:72038:28: */ +func btreeNext(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:72048:28: */ var rc int32 var idx int32 var pPage uintptr @@ -63531,7 +63541,7 @@ func btreeNext(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:72038:28: */ // has pages in common with the table being queried. See TH3 // module cov1/btree78.test testcase 220 (2018-06-08) for an // example. - return Xsqlite3CorruptError(tls, 72069) + return Xsqlite3CorruptError(tls, 72079) } if idx >= int32((*MemPage)(unsafe.Pointer(pPage)).FnCell) { @@ -63564,7 +63574,7 @@ func btreeNext(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:72038:28: */ return int32(0) } -func Xsqlite3BtreeNext(tls *libc.TLS, pCur uintptr, flags int32) int32 { /* sqlite3.c:72098:20: */ +func Xsqlite3BtreeNext(tls *libc.TLS, pCur uintptr, flags int32) int32 { /* sqlite3.c:72108:20: */ var pPage uintptr _ = flags // Used in COMDB2 but not native SQLite @@ -63604,7 +63614,7 @@ func Xsqlite3BtreeNext(tls *libc.TLS, pCur uintptr, flags int32) int32 { /* sqli // skipped if the SQL index had been a unique index. The F argument is a // hint to the implement. The native SQLite btree implementation does not // use this hint, but COMDB2 does. -func btreePrevious(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:72138:28: */ +func btreePrevious(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:72148:28: */ var rc int32 var pPage uintptr @@ -63658,7 +63668,7 @@ func btreePrevious(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:72138:28: * return rc } -func Xsqlite3BtreePrevious(tls *libc.TLS, pCur uintptr, flags int32) int32 { /* sqlite3.c:72187:20: */ +func Xsqlite3BtreePrevious(tls *libc.TLS, pCur uintptr, flags int32) int32 { /* sqlite3.c:72197:20: */ _ = flags // Used in COMDB2 but not native SQLite *(*U8)(unsafe.Pointer(pCur + 1)) &= libc.Uint8FromInt32(libc.CplInt32(BTCF_AtLast | BTCF_ValidOvfl | BTCF_ValidNKey)) @@ -63692,7 +63702,7 @@ func Xsqlite3BtreePrevious(tls *libc.TLS, pCur uintptr, flags int32) int32 { /* // eMode is BTALLOC_LT then the page returned will be less than or equal // to nearby if any such page exists. If eMode is BTALLOC_ANY then there // are no restrictions on which page is returned. -func allocateBtreePage(tls *libc.TLS, pBt uintptr, ppPage uintptr, pPgno uintptr, nearby Pgno, eMode U8) int32 { /* sqlite3.c:72225:12: */ +func allocateBtreePage(tls *libc.TLS, pBt uintptr, ppPage uintptr, pPgno uintptr, nearby Pgno, eMode U8) int32 { /* sqlite3.c:72235:12: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -63759,7 +63769,7 @@ func allocateBtreePage(tls *libc.TLS, pBt uintptr, ppPage uintptr, pPgno uintptr if !(n >= mxPage) { goto __1 } - return Xsqlite3CorruptError(tls, 72249) + return Xsqlite3CorruptError(tls, 72259) __1: ; if !(n > U32(0)) { @@ -63840,7 +63850,7 @@ __15: if !(iTrunk > mxPage || libc.PostIncUint32(&nSearch, 1) > n) { goto __16 } - rc = Xsqlite3CorruptError(tls, 72305) + rc = Xsqlite3CorruptError(tls, 72315) goto __17 __16: rc = btreeGetUnusedPage(tls, pBt, iTrunk, bp+8, 0) @@ -63882,7 +63892,7 @@ __19: goto __22 } // Value of k is out of range. Database corruption - rc = Xsqlite3CorruptError(tls, 72334) + rc = Xsqlite3CorruptError(tls, 72344) goto end_allocate_page goto __23 __22: @@ -63927,7 +63937,7 @@ __27: if !(iNewTrunk > mxPage) { goto __32 } - rc = Xsqlite3CorruptError(tls, 72368) + rc = Xsqlite3CorruptError(tls, 72378) goto end_allocate_page __32: ; @@ -64041,7 +64051,7 @@ __40: if !(iPage > mxPage || iPage < Pgno(2)) { goto __51 } - rc = Xsqlite3CorruptError(tls, 72433) + rc = Xsqlite3CorruptError(tls, 72443) goto end_allocate_page __51: ; @@ -64216,7 +64226,7 @@ end_allocate_page: // // If a pointer to a MemPage object is passed as the second argument, // its reference count is not altered by this function. -func freePage2(tls *libc.TLS, pBt uintptr, pMemPage uintptr, iPage Pgno) int32 { /* sqlite3.c:72547:12: */ +func freePage2(tls *libc.TLS, pBt uintptr, pMemPage uintptr, iPage Pgno) int32 { /* sqlite3.c:72557:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -64237,7 +64247,7 @@ func freePage2(tls *libc.TLS, pBt uintptr, pMemPage uintptr, iPage Pgno) int32 { if !(iPage < Pgno(2) || iPage > (*BtShared)(unsafe.Pointer(pBt)).FnPage) { goto __1 } - return Xsqlite3CorruptError(tls, 72560) + return Xsqlite3CorruptError(tls, 72570) __1: ; if !(pMemPage != 0) { @@ -64307,7 +64317,7 @@ __7: if !(iTrunk > btreePagecount(tls, pBt)) { goto __10 } - *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) = Xsqlite3CorruptError(tls, 72607) + *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) = Xsqlite3CorruptError(tls, 72617) goto freepage_out __10: ; @@ -64324,7 +64334,7 @@ __11: if !(nLeaf > (*BtShared)(unsafe.Pointer(pBt)).FusableSize/U32(4)-U32(2)) { goto __12 } - *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) = Xsqlite3CorruptError(tls, 72618) + *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) = Xsqlite3CorruptError(tls, 72628) goto freepage_out __12: ; @@ -64405,14 +64415,14 @@ __18: return *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) } -func freePage(tls *libc.TLS, pPage uintptr, pRC uintptr) { /* sqlite3.c:72681:13: */ +func freePage(tls *libc.TLS, pPage uintptr, pRC uintptr) { /* sqlite3.c:72691:13: */ if *(*int32)(unsafe.Pointer(pRC)) == SQLITE_OK { *(*int32)(unsafe.Pointer(pRC)) = freePage2(tls, (*MemPage)(unsafe.Pointer(pPage)).FpBt, pPage, (*MemPage)(unsafe.Pointer(pPage)).Fpgno) } } // Free the overflow pages associated with the given Cell. -func clearCellOverflow(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintptr) int32 { /* sqlite3.c:72690:28: */ +func clearCellOverflow(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintptr) int32 { /* sqlite3.c:72700:28: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -64424,7 +64434,7 @@ func clearCellOverflow(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintpt if pCell+uintptr((*CellInfo)(unsafe.Pointer(pInfo)).FnSize) > (*MemPage)(unsafe.Pointer(pPage)).FaDataEnd { // Cell extends past end of page - return Xsqlite3CorruptError(tls, 72707) + return Xsqlite3CorruptError(tls, 72717) } ovflPgno = Xsqlite3Get4byte(tls, pCell+uintptr((*CellInfo)(unsafe.Pointer(pInfo)).FnSize)-uintptr(4)) pBt = (*MemPage)(unsafe.Pointer(pPage)).FpBt @@ -64439,7 +64449,7 @@ func clearCellOverflow(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintpt // 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 Xsqlite3CorruptError(tls, 72724) + return Xsqlite3CorruptError(tls, 72734) } if nOvfl != 0 { rc = getOverflowPage(tls, pBt, ovflPgno, bp, bp+8) @@ -64459,7 +64469,7 @@ func clearCellOverflow(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintpt // enabled. If this 'overflow' page happens to be a page that the // caller is iterating through or using in some other way, this // can be problematic. - rc = Xsqlite3CorruptError(tls, 72744) + rc = Xsqlite3CorruptError(tls, 72754) } else { rc = freePage2(tls, pBt, *(*uintptr)(unsafe.Pointer(bp /* pOvfl */)), ovflPgno) } @@ -64491,7 +64501,7 @@ func clearCellOverflow(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintpt // area. pCell might point to some temporary storage. The cell will // be constructed in this temporary area then copied into pPage->aData // later. -func fillInCell(tls *libc.TLS, pPage uintptr, pCell uintptr, pX uintptr, pnSize uintptr) int32 { /* sqlite3.c:72785:12: */ +func fillInCell(tls *libc.TLS, pPage uintptr, pCell uintptr, pX uintptr, pnSize uintptr) int32 { /* sqlite3.c:72795:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -64673,7 +64683,7 @@ func fillInCell(tls *libc.TLS, pPage uintptr, pCell uintptr, pX uintptr, pnSize // removes the reference to the cell from pPage. // // "sz" must be the number of bytes in the cell. -func dropCell(tls *libc.TLS, pPage uintptr, idx int32, sz int32, pRC uintptr) { /* sqlite3.c:72975:13: */ +func dropCell(tls *libc.TLS, pPage uintptr, idx int32, sz int32, pRC uintptr) { /* sqlite3.c:72985:13: */ var pc U32 // Offset to cell content of cell being deleted var data uintptr // pPage->aData var ptr uintptr // Used to move bytes around within data[] @@ -64691,7 +64701,7 @@ func dropCell(tls *libc.TLS, pPage uintptr, idx int32, sz int32, pRC uintptr) { hdr = int32((*MemPage)(unsafe.Pointer(pPage)).FhdrOffset) if pc+U32(sz) > (*BtShared)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize { - *(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 73003) + *(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 73013) return } rc = freeSpace(tls, pPage, uint16(pc), uint16(sz)) @@ -64727,7 +64737,7 @@ func dropCell(tls *libc.TLS, pPage uintptr, idx int32, sz int32, pRC uintptr) { // pPage->nOverflow is incremented. // // *pRC must be SQLITE_OK when this routine is called. -func insertCell(tls *libc.TLS, pPage uintptr, i int32, pCell uintptr, sz int32, pTemp uintptr, iChild Pgno, pRC uintptr) { /* sqlite3.c:73039:13: */ +func insertCell(tls *libc.TLS, pPage uintptr, i int32, pCell uintptr, sz int32, pTemp uintptr, iChild Pgno, pRC uintptr) { /* sqlite3.c:73049:13: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -64888,7 +64898,7 @@ type CellArray1 = struct { FszCell uintptr FapEnd [6]uintptr FixNx [6]int32 -} /* sqlite3.c:73214:9 */ +} /* sqlite3.c:73224:9 */ // The following parameters determine how many adjacent pages get involved // in a balancing operation. NN is the number of neighbors on either side @@ -64965,11 +64975,11 @@ type CellArray1 = struct { // cases, ixNx[] entries with higher indexes, and the corresponding apEnd[] // entries, shift down. The end result is that each ixNx[] entry should // be larger than the previous -type CellArray = CellArray1 /* sqlite3.c:73214:26 */ +type CellArray = CellArray1 /* sqlite3.c:73224:26 */ // Make sure the cell sizes at idx, idx+1, ..., idx+N-1 have been // computed. -func populateCellCache(tls *libc.TLS, p uintptr, idx int32, N int32) { /* sqlite3.c:73228:13: */ +func populateCellCache(tls *libc.TLS, p uintptr, idx int32, N int32) { /* sqlite3.c:73238:13: */ for N > 0 { @@ -64986,7 +64996,7 @@ func populateCellCache(tls *libc.TLS, p uintptr, idx int32, N int32) { /* sqlite } // Return the size of the Nth element of the cell array -func computeCellSize(tls *libc.TLS, p uintptr, N int32) U16 { /* sqlite3.c:73246:28: */ +func computeCellSize(tls *libc.TLS, p uintptr, N int32) U16 { /* sqlite3.c:73256:28: */ *(*U16)(unsafe.Pointer((*CellArray)(unsafe.Pointer(p)).FszCell + uintptr(N)*2)) = (*struct { f func(*libc.TLS, uintptr, uintptr) U16 @@ -64994,7 +65004,7 @@ func computeCellSize(tls *libc.TLS, p uintptr, N int32) U16 { /* sqlite3.c:73246 return *(*U16)(unsafe.Pointer((*CellArray)(unsafe.Pointer(p)).FszCell + uintptr(N)*2)) } -func cachedCellSize(tls *libc.TLS, p uintptr, N int32) U16 { /* sqlite3.c:73252:12: */ +func cachedCellSize(tls *libc.TLS, p uintptr, N int32) U16 { /* sqlite3.c:73262:12: */ if *(*U16)(unsafe.Pointer((*CellArray)(unsafe.Pointer(p)).FszCell + uintptr(N)*2)) != 0 { return *(*U16)(unsafe.Pointer((*CellArray)(unsafe.Pointer(p)).FszCell + uintptr(N)*2)) @@ -65013,7 +65023,7 @@ func cachedCellSize(tls *libc.TLS, p uintptr, N int32) U16 { /* sqlite3.c:73252: // // The MemPage.nFree field is invalidated by this function. It is the // responsibility of the caller to set it correctly. -func rebuildPage(tls *libc.TLS, pCArray uintptr, iFirst int32, nCell int32, pPg uintptr) int32 { /* sqlite3.c:73271:12: */ +func rebuildPage(tls *libc.TLS, pCArray uintptr, iFirst int32, nCell int32, pPg uintptr) int32 { /* sqlite3.c:73281:12: */ var hdr int32 = int32((*MemPage)(unsafe.Pointer(pPg)).FhdrOffset) // Offset of header on pPg var aData uintptr = (*MemPage)(unsafe.Pointer(pPg)).FaData // Pointer to data for pPg var usableSize int32 = int32((*BtShared)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPg)).FpBt)).FusableSize) @@ -65044,12 +65054,12 @@ func rebuildPage(tls *libc.TLS, pCArray uintptr, iFirst int32, nCell int32, pPg if Uptr(pCell) >= Uptr(aData+uintptr(j)) && Uptr(pCell) < Uptr(pEnd) { if Uptr(pCell+uintptr(sz)) > Uptr(pEnd) { - return Xsqlite3CorruptError(tls, 73304) + return Xsqlite3CorruptError(tls, 73314) } pCell = pTmp + uintptr((int64(pCell)-int64(aData))/1) } else if Uptr(pCell+uintptr(sz)) > Uptr(pSrcEnd) && Uptr(pCell) < Uptr(pSrcEnd) { - return Xsqlite3CorruptError(tls, 73309) + return Xsqlite3CorruptError(tls, 73319) } pData -= uintptr(sz) @@ -65057,7 +65067,7 @@ func rebuildPage(tls *libc.TLS, pCArray uintptr, iFirst int32, nCell int32, pPg *(*U8)(unsafe.Pointer(pCellptr + 1)) = U8((int64(pData) - int64(aData)) / 1) pCellptr += uintptr(2) if pData < pCellptr { - return Xsqlite3CorruptError(tls, 73315) + return Xsqlite3CorruptError(tls, 73325) } libc.X__builtin___memmove_chk(tls, pData, pCell, uint64(sz), libc.X__builtin_object_size(tls, pData, 0)) @@ -65107,7 +65117,7 @@ func rebuildPage(tls *libc.TLS, pCArray uintptr, iFirst int32, nCell int32, pPg // all cells - not just those inserted by the current call). If the content // area must be extended to before this point in order to accomodate all // cells in apCell[], then the cells do not fit and non-zero is returned. -func pageInsertArray(tls *libc.TLS, pPg uintptr, pBegin uintptr, ppData uintptr, pCellptr uintptr, iFirst int32, nCell int32, pCArray uintptr) int32 { /* sqlite3.c:73361:12: */ +func pageInsertArray(tls *libc.TLS, pPg uintptr, pBegin uintptr, ppData uintptr, pCellptr uintptr, iFirst int32, nCell int32, pCArray uintptr) int32 { /* sqlite3.c:73371:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -65145,7 +65155,7 @@ func pageInsertArray(tls *libc.TLS, pPg uintptr, pBegin uintptr, ppData uintptr, if Uptr(*(*uintptr)(unsafe.Pointer((*CellArray)(unsafe.Pointer(pCArray)).FapCell + uintptr(i)*8))+uintptr(sz)) > Uptr(pEnd) && Uptr(*(*uintptr)(unsafe.Pointer((*CellArray)(unsafe.Pointer(pCArray)).FapCell + uintptr(i)*8))) < Uptr(pEnd) { - Xsqlite3CorruptError(tls, 73400) + Xsqlite3CorruptError(tls, 73410) return 1 } libc.X__builtin___memmove_chk(tls, pSlot, *(*uintptr)(unsafe.Pointer((*CellArray)(unsafe.Pointer(pCArray)).FapCell + uintptr(i)*8)), uint64(sz), libc.X__builtin_object_size(tls, pSlot, 0)) @@ -65172,7 +65182,7 @@ func pageInsertArray(tls *libc.TLS, pPg uintptr, pBegin uintptr, ppData uintptr, // The cell-pointers and other fields of the page are not updated. // // This function returns the total number of cells added to the free-list. -func pageFreeArray(tls *libc.TLS, pPg uintptr, iFirst int32, nCell int32, pCArray uintptr) int32 { /* sqlite3.c:73426:12: */ +func pageFreeArray(tls *libc.TLS, pPg uintptr, iFirst int32, nCell int32, pCArray uintptr) int32 { /* sqlite3.c:73436:12: */ var aData uintptr = (*MemPage)(unsafe.Pointer(pPg)).FaData var pEnd uintptr = aData + uintptr((*BtShared)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPg)).FpBt)).FusableSize) var pStart uintptr = aData + uintptr(int32((*MemPage)(unsafe.Pointer(pPg)).FhdrOffset)+8+int32((*MemPage)(unsafe.Pointer(pPg)).FchildPtrSize)) @@ -65224,7 +65234,7 @@ func pageFreeArray(tls *libc.TLS, pPg uintptr, iFirst int32, nCell int32, pCArra // // The pPg->nFree field is invalid when this function returns. It is the // responsibility of the caller to set it correctly. -func editPage(tls *libc.TLS, pPg uintptr, iOld int32, iNew int32, nNew int32, pCArray uintptr) int32 { /* sqlite3.c:73485:12: */ +func editPage(tls *libc.TLS, pPg uintptr, iOld int32, iNew int32, nNew int32, pCArray uintptr) int32 { /* sqlite3.c:73495:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -65258,7 +65268,7 @@ func editPage(tls *libc.TLS, pPg uintptr, iOld int32, iNew int32, nNew int32, pC if !(nShift > nCell) { goto __2 } - return Xsqlite3CorruptError(tls, 73511) + return Xsqlite3CorruptError(tls, 73521) __2: ; libc.X__builtin___memmove_chk(tls, (*MemPage)(unsafe.Pointer(pPg)).FaCellIdx, (*MemPage)(unsafe.Pointer(pPg)).FaCellIdx+uintptr(nShift*2), uint64(nCell*2), libc.X__builtin_object_size(tls, (*MemPage)(unsafe.Pointer(pPg)).FaCellIdx, 0)) @@ -65398,7 +65408,7 @@ editpage_fail: // byte page number followed by a variable length integer. In other // words, at most 13 bytes. Hence the pSpace buffer must be at // least 13 bytes in size. -func balance_quick(tls *libc.TLS, pParent uintptr, pPage uintptr, pSpace uintptr) int32 { /* sqlite3.c:73614:12: */ +func balance_quick(tls *libc.TLS, pParent uintptr, pPage uintptr, pSpace uintptr) int32 { /* sqlite3.c:73624:12: */ bp := tls.Alloc(140) defer tls.Free(140) @@ -65411,7 +65421,7 @@ func balance_quick(tls *libc.TLS, pParent uintptr, pPage uintptr, pSpace uintptr // Page number of pNew if int32((*MemPage)(unsafe.Pointer(pPage)).FnCell) == 0 { - return Xsqlite3CorruptError(tls, 73624) + return Xsqlite3CorruptError(tls, 73634) } // dbfuzz001.test // Allocate a new page. This page will become the right-sibling of @@ -65509,7 +65519,7 @@ func balance_quick(tls *libc.TLS, pParent uintptr, pPage uintptr, pSpace uintptr // The performance of this function is not critical. It is only used by // the balance_shallower() and balance_deeper() procedures, neither of // which are called often under normal circumstances. -func copyNodeContent(tls *libc.TLS, pFrom uintptr, pTo uintptr, pRC uintptr) { /* sqlite3.c:73769:13: */ +func copyNodeContent(tls *libc.TLS, pFrom uintptr, pTo uintptr, pRC uintptr) { /* sqlite3.c:73779:13: */ if *(*int32)(unsafe.Pointer(pRC)) == SQLITE_OK { var pBt uintptr = (*MemPage)(unsafe.Pointer(pFrom)).FpBt var aFrom uintptr = (*MemPage)(unsafe.Pointer(pFrom)).FaData @@ -65589,7 +65599,7 @@ func copyNodeContent(tls *libc.TLS, pFrom uintptr, pTo uintptr, pRC uintptr) { / // // If aOvflSpace is set to a null pointer, this function returns // SQLITE_NOMEM. -func balance_nonroot(tls *libc.TLS, pParent uintptr, iParentIdx int32, aOvflSpace uintptr, isRoot int32, bBulk int32) int32 { /* sqlite3.c:73851:12: */ +func balance_nonroot(tls *libc.TLS, pParent uintptr, iParentIdx int32, aOvflSpace uintptr, isRoot int32, bBulk int32) int32 { /* sqlite3.c:73861:12: */ bp := tls.Alloc(344) defer tls.Free(344) @@ -65891,7 +65901,7 @@ __22: if !(int32(*(*U8)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pOld)).FaData))) != int32(*(*U8)(unsafe.Pointer((*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 112)))).FaData)))) { goto __25 } - *(*int32)(unsafe.Pointer(bp + 172 /* rc */)) = Xsqlite3CorruptError(tls, 74047) + *(*int32)(unsafe.Pointer(bp + 172 /* rc */)) = Xsqlite3CorruptError(tls, 74057) goto balance_cleanup __25: ; @@ -65919,7 +65929,7 @@ __25: if !(limit < int32(*(*U16)(unsafe.Pointer(pOld + 28)))) { goto __27 } - *(*int32)(unsafe.Pointer(bp + 172 /* rc */)) = Xsqlite3CorruptError(tls, 74071) + *(*int32)(unsafe.Pointer(bp + 172 /* rc */)) = Xsqlite3CorruptError(tls, 74081) goto balance_cleanup __27: ; @@ -66098,7 +66108,7 @@ __52: if !(k > NB+2) { goto __55 } - *(*int32)(unsafe.Pointer(bp + 172 /* rc */)) = Xsqlite3CorruptError(tls, 74172) + *(*int32)(unsafe.Pointer(bp + 172 /* rc */)) = Xsqlite3CorruptError(tls, 74182) goto balance_cleanup __55: ; @@ -66172,7 +66182,7 @@ __65: }()) { goto __67 } - *(*int32)(unsafe.Pointer(bp + 172 /* rc */)) = Xsqlite3CorruptError(tls, 74205) + *(*int32)(unsafe.Pointer(bp + 172 /* rc */)) = Xsqlite3CorruptError(tls, 74215) goto balance_cleanup __67: ; @@ -66245,7 +66255,7 @@ __73: }()) { goto __75 } - *(*int32)(unsafe.Pointer(bp + 172 /* rc */)) = Xsqlite3CorruptError(tls, 74247) + *(*int32)(unsafe.Pointer(bp + 172 /* rc */)) = Xsqlite3CorruptError(tls, 74257) goto balance_cleanup __75: ; @@ -66282,7 +66292,7 @@ __76: *(*int32)(unsafe.Pointer(bp + 172)) == SQLITE_OK) { goto __81 } - *(*int32)(unsafe.Pointer(bp + 172 /* rc */)) = Xsqlite3CorruptError(tls, 74280) + *(*int32)(unsafe.Pointer(bp + 172 /* rc */)) = Xsqlite3CorruptError(tls, 74290) __81: ; if !(*(*int32)(unsafe.Pointer(bp + 172)) != 0) { @@ -66366,7 +66376,7 @@ __89: // cache with two separate objects associated with the same // page number. - *(*int32)(unsafe.Pointer(bp + 172 /* rc */)) = Xsqlite3CorruptError(tls, 74326) + *(*int32)(unsafe.Pointer(bp + 172 /* rc */)) = Xsqlite3CorruptError(tls, 74336) goto balance_cleanup __92: ; @@ -66619,7 +66629,7 @@ __125: if !(Uptr(pSrcEnd) >= Uptr(pCell1) && Uptr(pSrcEnd) < Uptr(pCell1+uintptr(sz2))) { goto __126 } - *(*int32)(unsafe.Pointer(bp + 172 /* rc */)) = Xsqlite3CorruptError(tls, 74483) + *(*int32)(unsafe.Pointer(bp + 172 /* rc */)) = Xsqlite3CorruptError(tls, 74493) goto balance_cleanup __126: ; @@ -66841,7 +66851,7 @@ __150: // page and SQLITE_OK is returned. In this case the caller is required // to call releasePage() on *ppChild exactly once. If an error occurs, // an error code is returned and *ppChild is set to 0. -func balance_deeper(tls *libc.TLS, pRoot uintptr, ppChild uintptr) int32 { /* sqlite3.c:74648:12: */ +func balance_deeper(tls *libc.TLS, pRoot uintptr, ppChild uintptr) int32 { /* sqlite3.c:74658:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -66890,13 +66900,13 @@ func balance_deeper(tls *libc.TLS, pRoot uintptr, ppChild uintptr) int32 { /* sq // table linked to the same b-tree. If the secondary insert causes a // rebalance, that can change content out from under the cursor on the // first SQL table, violating invariants on the first insert. -func anotherValidCursor(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:74706:12: */ +func anotherValidCursor(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:74716:12: */ var pOther uintptr for pOther = (*BtShared)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pCur)).FpBt)).FpCursor; pOther != 0; pOther = (*BtCursor)(unsafe.Pointer(pOther)).FpNext { if pOther != pCur && int32((*BtCursor)(unsafe.Pointer(pOther)).FeState) == CURSOR_VALID && (*BtCursor)(unsafe.Pointer(pOther)).FpPage == (*BtCursor)(unsafe.Pointer(pCur)).FpPage { - return Xsqlite3CorruptError(tls, 74713) + return Xsqlite3CorruptError(tls, 74723) } } return SQLITE_OK @@ -66910,7 +66920,7 @@ func anotherValidCursor(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:74706: // balance_quick() // balance_deeper() // balance_nonroot() -func balance(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:74729:12: */ +func balance(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:74739:12: */ bp := tls.Alloc(13) defer tls.Free(13) @@ -67029,7 +67039,7 @@ func balance(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:74729:12: */ // Overwrite content from pX into pDest. Only do the write if the // content is different from what is already there. -func btreeOverwriteContent(tls *libc.TLS, pPage uintptr, pDest uintptr, pX uintptr, iOffset int32, iAmt int32) int32 { /* sqlite3.c:74855:12: */ +func btreeOverwriteContent(tls *libc.TLS, pPage uintptr, pDest uintptr, pX uintptr, iOffset int32, iAmt int32) int32 { /* sqlite3.c:74865:12: */ var nData int32 = (*BtreePayload)(unsafe.Pointer(pX)).FnData - iOffset if nData <= 0 { // Overwritting with zeros @@ -67071,7 +67081,7 @@ func btreeOverwriteContent(tls *libc.TLS, pPage uintptr, pDest uintptr, pX uintp // Overwrite the cell that cursor pCur is pointing to with fresh content // contained in pX. -func btreeOverwriteCell(tls *libc.TLS, pCur uintptr, pX uintptr) int32 { /* sqlite3.c:74898:12: */ +func btreeOverwriteCell(tls *libc.TLS, pCur uintptr, pX uintptr) int32 { /* sqlite3.c:74908:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -67085,7 +67095,7 @@ func btreeOverwriteCell(tls *libc.TLS, pCur uintptr, pX uintptr) int32 { /* sqli if (*BtCursor)(unsafe.Pointer(pCur)).Finfo.FpPayload+uintptr((*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnLocal) > (*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FaDataEnd || (*BtCursor)(unsafe.Pointer(pCur)).Finfo.FpPayload < (*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FaData+uintptr((*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FcellOffset) { - return Xsqlite3CorruptError(tls, 74910) + return Xsqlite3CorruptError(tls, 74920) } // Overwrite the local portion first rc = btreeOverwriteContent(tls, *(*uintptr)(unsafe.Pointer(bp /* pPage */)), (*BtCursor)(unsafe.Pointer(pCur)).Finfo.FpPayload, pX, @@ -67109,7 +67119,7 @@ func btreeOverwriteCell(tls *libc.TLS, pCur uintptr, pX uintptr) int32 { /* sqli return rc } if Xsqlite3PagerPageRefcount(tls, (*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FpDbPage) != 1 || (*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FisInit != 0 { - rc = Xsqlite3CorruptError(tls, 74929) + rc = Xsqlite3CorruptError(tls, 74939) } else { if U32(iOffset)+ovflPageSize < U32(nTotal) { ovflPgno = Xsqlite3Get4byte(tls, (*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* pPage */)))).FaData) @@ -67156,7 +67166,7 @@ func btreeOverwriteCell(tls *libc.TLS, pCur uintptr, pX uintptr) int32 { /* sqli // if pX->nMem is non-zero, then pX->aMem contains pointers to the unpacked // key values and pX->aMem can be used instead of pX->pKey to avoid having // to decode the key. -func Xsqlite3BtreeInsert(tls *libc.TLS, pCur uintptr, pX uintptr, flags int32, seekResult int32) int32 { /* sqlite3.c:74977:20: */ +func Xsqlite3BtreeInsert(tls *libc.TLS, pCur uintptr, pX uintptr, flags int32, seekResult int32) int32 { /* sqlite3.c:74987:20: */ bp := tls.Alloc(136) defer tls.Free(136) @@ -67186,20 +67196,6 @@ func Xsqlite3BtreeInsert(tls *libc.TLS, pCur uintptr, pX uintptr, flags int32, s pBt = (*Btree)(unsafe.Pointer(p)).FpBt newCell = uintptr(0) - if !(int32((*BtCursor)(unsafe.Pointer(pCur)).FeState) == CURSOR_FAULT) { - goto __1 - } - - return (*BtCursor)(unsafe.Pointer(pCur)).FskipNext -__1: - ; - - // Assert that the caller has been consistent. If this cursor was opened - // expecting an index b-tree, then the caller should be inserting blob - // keys with no associated data. If the cursor was opened expecting an - // intkey table, the caller should be inserting integer keys with a - // blob of associated data. - // Save the positions of any other cursors open on this table. // // In some cases, the call to btreeMoveto() below is a no-op. For @@ -67211,40 +67207,59 @@ __1: // doing any work. To avoid thwarting these optimizations, it is important // not to clear the cursor here. if !(int32((*BtCursor)(unsafe.Pointer(pCur)).FcurFlags)&BTCF_Multiple != 0) { - goto __2 + goto __1 } *(*int32)(unsafe.Pointer(bp + 104 /* rc */)) = saveAllCursors(tls, pBt, (*BtCursor)(unsafe.Pointer(pCur)).FpgnoRoot, pCur) if !(*(*int32)(unsafe.Pointer(bp + 104)) != 0) { - goto __3 + goto __2 } return *(*int32)(unsafe.Pointer(bp + 104 /* rc */)) -__3: +__2: ; if !(*(*int32)(unsafe.Pointer(bp)) != 0 && int32((*BtCursor)(unsafe.Pointer(pCur)).FiPage) < 0) { - goto __4 + goto __3 } // This can only happen if the schema is corrupt such that there is more // than one table or index with the same root page as used by the cursor. // 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 Xsqlite3CorruptError(tls, 75034) -__4: + return Xsqlite3CorruptError(tls, 75026) +__3: ; -__2: +__1: ; - if !((*BtCursor)(unsafe.Pointer(pCur)).FpKeyInfo == uintptr(0)) { + if !(int32((*BtCursor)(unsafe.Pointer(pCur)).FeState) >= CURSOR_REQUIRESEEK) { + goto __4 + } + *(*int32)(unsafe.Pointer(bp + 104 /* rc */)) = moveToRoot(tls, pCur) + if !(*(*int32)(unsafe.Pointer(bp + 104)) != 0 && *(*int32)(unsafe.Pointer(bp + 104)) != SQLITE_EMPTY) { goto __5 } + return *(*int32)(unsafe.Pointer(bp + 104 /* rc */)) +__5: + ; +__4: + ; + + // Assert that the caller has been consistent. If this cursor was opened + // expecting an index b-tree, then the caller should be inserting blob + // keys with no associated data. If the cursor was opened expecting an + // intkey table, the caller should be inserting integer keys with a + // blob of associated data. + + if !((*BtCursor)(unsafe.Pointer(pCur)).FpKeyInfo == uintptr(0)) { + goto __6 + } // If this is an insert into a table b-tree, invalidate any incrblob // cursors open on the row being replaced if !((*Btree)(unsafe.Pointer(p)).FhasIncrblobCur != 0) { - goto __7 + goto __8 } invalidateIncrblobCursors(tls, p, (*BtCursor)(unsafe.Pointer(pCur)).FpgnoRoot, (*BtreePayload)(unsafe.Pointer(pX)).FnKey, 0) -__7: +__8: ; // If BTREE_SAVEPOSITION is set, the cursor must already be pointing @@ -67254,24 +67269,24 @@ __7: // that the cursor is not pointing to a row to be overwritten. // So do a complete check. if !(int32((*BtCursor)(unsafe.Pointer(pCur)).FcurFlags)&BTCF_ValidNKey != 0 && (*BtreePayload)(unsafe.Pointer(pX)).FnKey == (*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnKey) { - goto __8 + goto __9 } // The cursor is pointing to the entry that is to be // overwritten if !(int32((*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnSize) != 0 && (*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnPayload == U32((*BtreePayload)(unsafe.Pointer(pX)).FnData)+U32((*BtreePayload)(unsafe.Pointer(pX)).FnZero)) { - goto __10 + goto __11 } // New entry is the same size as the old. Do an overwrite return btreeOverwriteCell(tls, pCur, pX) -__10: +__11: ; - goto __9 -__8: + goto __10 +__9: if !(*(*int32)(unsafe.Pointer(bp)) == 0) { - goto __11 + goto __12 } // The cursor is *not* pointing to the cell to be overwritten, nor // to an adjacent cell. Move the cursor so that it is pointing either @@ -67279,17 +67294,17 @@ __8: *(*int32)(unsafe.Pointer(bp + 104 /* rc */)) = Xsqlite3BtreeTableMoveto(tls, pCur, (*BtreePayload)(unsafe.Pointer(pX)).FnKey, libc.Bool32(flags&BTREE_APPEND != 0), bp) if !(*(*int32)(unsafe.Pointer(bp + 104)) != 0) { - goto __12 + goto __13 } return *(*int32)(unsafe.Pointer(bp + 104 /* rc */)) -__12: +__13: ; -__11: +__12: ; -__9: +__10: ; - goto __6 -__5: + goto __7 +__6: // This is an index or a WITHOUT ROWID table // If BTREE_SAVEPOSITION is set, the cursor must already be pointing @@ -67301,10 +67316,10 @@ __5: // not pointing to an immediately adjacent cell, then move the cursor // so that it does. if !(*(*int32)(unsafe.Pointer(bp)) == 0 && flags&BTREE_SAVEPOSITION == 0) { - goto __13 + goto __14 } if !((*BtreePayload)(unsafe.Pointer(pX)).FnMem != 0) { - goto __14 + goto __15 } (*UnpackedRecord)(unsafe.Pointer(bp + 8 /* &r */)).FpKeyInfo = (*BtCursor)(unsafe.Pointer(pCur)).FpKeyInfo (*UnpackedRecord)(unsafe.Pointer(bp + 8 /* &r */)).FaMem = (*BtreePayload)(unsafe.Pointer(pX)).FaMem @@ -67312,147 +67327,147 @@ __5: (*UnpackedRecord)(unsafe.Pointer(bp + 8 /* &r */)).Fdefault_rc = int8(0) (*UnpackedRecord)(unsafe.Pointer(bp + 8 /* &r */)).FeqSeen = U8(0) *(*int32)(unsafe.Pointer(bp + 104 /* rc */)) = Xsqlite3BtreeIndexMoveto(tls, pCur, bp+8, bp) - goto __15 -__14: + goto __16 +__15: *(*int32)(unsafe.Pointer(bp + 104 /* rc */)) = btreeMoveto(tls, pCur, (*BtreePayload)(unsafe.Pointer(pX)).FpKey, (*BtreePayload)(unsafe.Pointer(pX)).FnKey, libc.Bool32(flags&BTREE_APPEND != 0), bp) -__15: +__16: ; if !(*(*int32)(unsafe.Pointer(bp + 104)) != 0) { - goto __16 + goto __17 } return *(*int32)(unsafe.Pointer(bp + 104 /* rc */)) -__16: +__17: ; -__13: +__14: ; // If the cursor is currently pointing to an entry to be overwritten // and the new content is the same as as the old, then use the // overwrite optimization. if !(*(*int32)(unsafe.Pointer(bp)) == 0) { - goto __17 + goto __18 } getCellInfo(tls, pCur) if !((*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnKey == (*BtreePayload)(unsafe.Pointer(pX)).FnKey) { - goto __18 + goto __19 } (*BtreePayload)(unsafe.Pointer(bp + 32 /* &x2 */)).FpData = (*BtreePayload)(unsafe.Pointer(pX)).FpKey (*BtreePayload)(unsafe.Pointer(bp + 32 /* &x2 */)).FnData = int32((*BtreePayload)(unsafe.Pointer(pX)).FnKey) (*BtreePayload)(unsafe.Pointer(bp + 32 /* &x2 */)).FnZero = 0 return btreeOverwriteCell(tls, pCur, bp+32) -__18: +__19: ; -__17: +__18: ; -__6: +__7: ; pPage = (*BtCursor)(unsafe.Pointer(pCur)).FpPage if !((*MemPage)(unsafe.Pointer(pPage)).FnFree < 0) { - goto __19 + goto __20 } if !(int32((*BtCursor)(unsafe.Pointer(pCur)).FeState) > CURSOR_INVALID) { - goto __20 + goto __21 } - *(*int32)(unsafe.Pointer(bp + 104 /* rc */)) = Xsqlite3CorruptError(tls, 75134) - goto __21 -__20: - *(*int32)(unsafe.Pointer(bp + 104 /* rc */)) = btreeComputeFreeSpace(tls, pPage) + *(*int32)(unsafe.Pointer(bp + 104 /* rc */)) = Xsqlite3CorruptError(tls, 75143) + goto __22 __21: + *(*int32)(unsafe.Pointer(bp + 104 /* rc */)) = btreeComputeFreeSpace(tls, pPage) +__22: ; if !(*(*int32)(unsafe.Pointer(bp + 104)) != 0) { - goto __22 + goto __23 } return *(*int32)(unsafe.Pointer(bp + 104 /* rc */)) -__22: +__23: ; -__19: +__20: ; newCell = (*BtShared)(unsafe.Pointer(pBt)).FpTmpSpace if !(flags&BTREE_PREFORMAT != 0) { - goto __23 + goto __24 } *(*int32)(unsafe.Pointer(bp + 104 /* rc */)) = SQLITE_OK *(*int32)(unsafe.Pointer(bp + 108 /* szNew */)) = (*BtShared)(unsafe.Pointer(pBt)).FnPreformatSize if !(*(*int32)(unsafe.Pointer(bp + 108)) < 4) { - goto __25 + goto __26 } *(*int32)(unsafe.Pointer(bp + 108 /* szNew */)) = 4 -__25: +__26: ; if !((*BtShared)(unsafe.Pointer(pBt)).FautoVacuum != 0 && *(*int32)(unsafe.Pointer(bp + 108)) > int32((*MemPage)(unsafe.Pointer(pPage)).FmaxLocal)) { - goto __26 + goto __27 } (*struct { f func(*libc.TLS, uintptr, uintptr, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*MemPage)(unsafe.Pointer(pPage)).FxParseCell})).f(tls, pPage, newCell, bp+80 /* &info */) if !((*CellInfo)(unsafe.Pointer(bp+80)).FnPayload != U32((*CellInfo)(unsafe.Pointer(bp+80)).FnLocal)) { - goto __27 + goto __28 } ovfl = Xsqlite3Get4byte(tls, newCell+uintptr(*(*int32)(unsafe.Pointer(bp + 108))-4)) ptrmapPut(tls, pBt, ovfl, uint8(PTRMAP_OVERFLOW1), (*MemPage)(unsafe.Pointer(pPage)).Fpgno, bp+104) -__27: +__28: ; -__26: +__27: ; - goto __24 -__23: - *(*int32)(unsafe.Pointer(bp + 104 /* rc */)) = fillInCell(tls, pPage, newCell, pX, bp+108) + goto __25 __24: + *(*int32)(unsafe.Pointer(bp + 104 /* rc */)) = fillInCell(tls, pPage, newCell, pX, bp+108) +__25: ; if !(*(*int32)(unsafe.Pointer(bp + 104)) != 0) { - goto __28 + goto __29 } goto end_insert -__28: +__29: ; idx = int32((*BtCursor)(unsafe.Pointer(pCur)).Fix) if !(*(*int32)(unsafe.Pointer(bp)) == 0) { - goto __29 + goto __30 } if !(idx >= int32((*MemPage)(unsafe.Pointer(pPage)).FnCell)) { - goto __31 + goto __32 } - return Xsqlite3CorruptError(tls, 75170) -__31: + return Xsqlite3CorruptError(tls, 75179) +__32: ; *(*int32)(unsafe.Pointer(bp + 104 /* rc */)) = Xsqlite3PagerWrite(tls, (*MemPage)(unsafe.Pointer(pPage)).FpDbPage) if !(*(*int32)(unsafe.Pointer(bp + 104)) != 0) { - goto __32 + goto __33 } goto end_insert -__32: +__33: ; oldCell = (*MemPage)(unsafe.Pointer(pPage)).FaData + uintptr(int32((*MemPage)(unsafe.Pointer(pPage)).FmaskPage)&(int32(*(*U8)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPage)).FaCellIdx + uintptr(2*idx))))<<8|int32(*(*U8)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPage)).FaCellIdx + uintptr(2*idx) + 1))))) if !!(int32((*MemPage)(unsafe.Pointer(pPage)).Fleaf) != 0) { - goto __33 + goto __34 } libc.X__builtin___memcpy_chk(tls, newCell, oldCell, uint64(4), libc.X__builtin_object_size(tls, newCell, 0)) -__33: +__34: ; (*struct { f func(*libc.TLS, uintptr, uintptr, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*MemPage)(unsafe.Pointer(pPage)).FxParseCell})).f(tls, pPage, oldCell, bp+112 /* &info1 */) if !(U32((*CellInfo)(unsafe.Pointer(bp+112 /* &info1 */)).FnLocal) != (*CellInfo)(unsafe.Pointer(bp+112 /* &info1 */)).FnPayload) { - goto __34 + goto __35 } *(*int32)(unsafe.Pointer(bp + 104 /* rc */)) = clearCellOverflow(tls, pPage, oldCell, bp+112 /* &info1 */) - goto __35 -__34: - *(*int32)(unsafe.Pointer(bp + 104 /* rc */)) = SQLITE_OK + goto __36 __35: + *(*int32)(unsafe.Pointer(bp + 104 /* rc */)) = SQLITE_OK +__36: ; *(*U8)(unsafe.Pointer(pCur + 1)) &= libc.Uint8FromInt32(libc.CplInt32(BTCF_ValidOvfl)) if !(int32((*CellInfo)(unsafe.Pointer(bp+112)).FnSize) == *(*int32)(unsafe.Pointer(bp + 108)) && U32((*CellInfo)(unsafe.Pointer(bp+112)).FnLocal) == (*CellInfo)(unsafe.Pointer(bp+112)).FnPayload && (!(int32((*BtShared)(unsafe.Pointer(pBt)).FautoVacuum) != 0) || *(*int32)(unsafe.Pointer(bp + 108)) < int32((*MemPage)(unsafe.Pointer(pPage)).FminLocal))) { - goto __36 + goto __37 } // Overwrite the old cell with the new if they are the same size. // We could also try to do this if the old cell is smaller, then add @@ -67465,42 +67480,42 @@ __35: // necessary to add the PTRMAP_OVERFLOW1 pointer-map entry. // clearCell never fails when nLocal==nPayload if !(oldCell < (*MemPage)(unsafe.Pointer(pPage)).FaData+uintptr((*MemPage)(unsafe.Pointer(pPage)).FhdrOffset)+uintptr(10)) { - goto __37 + goto __38 } - return Xsqlite3CorruptError(tls, 75197) -__37: + return Xsqlite3CorruptError(tls, 75206) +__38: ; if !(oldCell+uintptr(*(*int32)(unsafe.Pointer(bp + 108))) > (*MemPage)(unsafe.Pointer(pPage)).FaDataEnd) { - goto __38 + goto __39 } - return Xsqlite3CorruptError(tls, 75200) -__38: + return Xsqlite3CorruptError(tls, 75209) +__39: ; libc.X__builtin___memcpy_chk(tls, oldCell, newCell, uint64(*(*int32)(unsafe.Pointer(bp + 108 /* szNew */))), libc.X__builtin_object_size(tls, oldCell, 0)) return SQLITE_OK -__36: +__37: ; dropCell(tls, pPage, idx, int32((*CellInfo)(unsafe.Pointer(bp+112 /* &info1 */)).FnSize), bp+104) if !(*(*int32)(unsafe.Pointer(bp + 104)) != 0) { - goto __39 + goto __40 } goto end_insert -__39: +__40: ; - goto __30 -__29: + goto __31 +__30: if !(*(*int32)(unsafe.Pointer(bp)) < 0 && int32((*MemPage)(unsafe.Pointer(pPage)).FnCell) > 0) { - goto __40 + goto __41 } idx = int32(libc.PreIncUint16(&(*BtCursor)(unsafe.Pointer(pCur)).Fix, 1)) *(*U8)(unsafe.Pointer(pCur + 1)) &= libc.Uint8FromInt32(libc.CplInt32(BTCF_ValidNKey)) - goto __41 -__40: - ; + goto __42 __41: ; -__30: +__42: + ; +__31: ; insertCell(tls, pPage, idx, newCell, *(*int32)(unsafe.Pointer(bp + 108 /* szNew */)), uintptr(0), uint32(0), bp+104) @@ -67525,7 +67540,7 @@ __30: // row without seeking the cursor. This can be a big performance boost. (*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnSize = U16(0) if !((*MemPage)(unsafe.Pointer(pPage)).FnOverflow != 0) { - goto __42 + goto __43 } *(*U8)(unsafe.Pointer(pCur + 1)) &= libc.Uint8FromInt32(libc.CplInt32(BTCF_ValidNKey)) @@ -67538,30 +67553,30 @@ __30: (*MemPage)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pCur)).FpPage)).FnOverflow = U8(0) (*BtCursor)(unsafe.Pointer(pCur)).FeState = U8(CURSOR_INVALID) if !(flags&BTREE_SAVEPOSITION != 0 && *(*int32)(unsafe.Pointer(bp + 104)) == SQLITE_OK) { - goto __43 + goto __44 } btreeReleaseAllCursorPages(tls, pCur) if !((*BtCursor)(unsafe.Pointer(pCur)).FpKeyInfo != 0) { - goto __44 + goto __45 } (*BtCursor)(unsafe.Pointer(pCur)).FpKey = Xsqlite3Malloc(tls, uint64((*BtreePayload)(unsafe.Pointer(pX)).FnKey)) if !((*BtCursor)(unsafe.Pointer(pCur)).FpKey == uintptr(0)) { - goto __45 + goto __46 } *(*int32)(unsafe.Pointer(bp + 104 /* rc */)) = SQLITE_NOMEM - goto __46 -__45: - libc.X__builtin___memcpy_chk(tls, (*BtCursor)(unsafe.Pointer(pCur)).FpKey, (*BtreePayload)(unsafe.Pointer(pX)).FpKey, uint64((*BtreePayload)(unsafe.Pointer(pX)).FnKey), libc.X__builtin_object_size(tls, (*BtCursor)(unsafe.Pointer(pCur)).FpKey, 0)) + goto __47 __46: + libc.X__builtin___memcpy_chk(tls, (*BtCursor)(unsafe.Pointer(pCur)).FpKey, (*BtreePayload)(unsafe.Pointer(pX)).FpKey, uint64((*BtreePayload)(unsafe.Pointer(pX)).FnKey), libc.X__builtin_object_size(tls, (*BtCursor)(unsafe.Pointer(pCur)).FpKey, 0)) +__47: ; -__44: +__45: ; (*BtCursor)(unsafe.Pointer(pCur)).FeState = U8(CURSOR_REQUIRESEEK) (*BtCursor)(unsafe.Pointer(pCur)).FnKey = (*BtreePayload)(unsafe.Pointer(pX)).FnKey -__43: +__44: ; -__42: +__43: ; end_insert: @@ -67581,7 +67596,7 @@ end_insert: // calling sqlite3BtreeInsert() with the BTREE_PREFORMAT flag specified. // // SQLITE_OK is returned if successful, or an SQLite error code otherwise. -func Xsqlite3BtreeTransferRow(tls *libc.TLS, pDest uintptr, pSrc uintptr, iKey I64) int32 { /* sqlite3.c:75286:20: */ +func Xsqlite3BtreeTransferRow(tls *libc.TLS, pDest uintptr, pSrc uintptr, iKey I64) int32 { /* sqlite3.c:75295:20: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -67608,7 +67623,7 @@ func Xsqlite3BtreeTransferRow(tls *libc.TLS, pDest uintptr, pSrc uintptr, iKey I nIn = U32((*BtCursor)(unsafe.Pointer(pSrc)).Finfo.FnLocal) aIn = (*BtCursor)(unsafe.Pointer(pSrc)).Finfo.FpPayload if aIn+uintptr(nIn) > (*MemPage)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pSrc)).FpPage)).FaDataEnd { - return Xsqlite3CorruptError(tls, 75300) + return Xsqlite3CorruptError(tls, 75309) } nRem = (*BtCursor)(unsafe.Pointer(pSrc)).Finfo.FnPayload if nIn == nRem && nIn < U32((*MemPage)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pDest)).FpPage)).FmaxLocal) { @@ -67631,7 +67646,7 @@ func Xsqlite3BtreeTransferRow(tls *libc.TLS, pDest uintptr, pSrc uintptr, iKey I if nRem > nIn { if aIn+uintptr(nIn)+uintptr(4) > (*MemPage)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pSrc)).FpPage)).FaDataEnd { - return Xsqlite3CorruptError(tls, 75323) + return Xsqlite3CorruptError(tls, 75332) } ovflIn = Xsqlite3Get4byte(tls, (*BtCursor)(unsafe.Pointer(pSrc)).Finfo.FpPayload+uintptr(nIn)) } @@ -67713,7 +67728,7 @@ func Xsqlite3BtreeTransferRow(tls *libc.TLS, pDest uintptr, pSrc uintptr, iKey I // operation on non-FORDELETE cursors is tagged with the AUXDELETE flag. // The BTREE_AUXDELETE bit is a hint that is not used by this implementation, // but which might be used by alternative storage engines. -func Xsqlite3BtreeDelete(tls *libc.TLS, pCur uintptr, flags U8) int32 { /* sqlite3.c:75396:20: */ +func Xsqlite3BtreeDelete(tls *libc.TLS, pCur uintptr, flags U8) int32 { /* sqlite3.c:75405:20: */ bp := tls.Alloc(28) defer tls.Free(28) @@ -67729,11 +67744,15 @@ func Xsqlite3BtreeDelete(tls *libc.TLS, pCur uintptr, flags U8) int32 { /* sqlit // Size of the cell being deleted var bPreserve U8 // Keep cursor valid. 2 for CURSOR_SKIPNEXT - if int32((*BtCursor)(unsafe.Pointer(pCur)).FeState) == CURSOR_REQUIRESEEK { - *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) = btreeRestoreCursorPosition(tls, pCur) + if int32((*BtCursor)(unsafe.Pointer(pCur)).FeState) != CURSOR_VALID { + if int32((*BtCursor)(unsafe.Pointer(pCur)).FeState) >= CURSOR_REQUIRESEEK { + *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) = btreeRestoreCursorPosition(tls, pCur) - if *(*int32)(unsafe.Pointer(bp + 24)) != 0 || int32((*BtCursor)(unsafe.Pointer(pCur)).FeState) != CURSOR_VALID { - return *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) + if *(*int32)(unsafe.Pointer(bp + 24)) != 0 || int32((*BtCursor)(unsafe.Pointer(pCur)).FeState) != CURSOR_VALID { + return *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) + } + } else { + return Xsqlite3CorruptError(tls, 75429) } } @@ -67741,11 +67760,11 @@ func Xsqlite3BtreeDelete(tls *libc.TLS, pCur uintptr, flags U8) int32 { /* sqlit iCellIdx = int32((*BtCursor)(unsafe.Pointer(pCur)).Fix) pPage = (*BtCursor)(unsafe.Pointer(pCur)).FpPage if int32((*MemPage)(unsafe.Pointer(pPage)).FnCell) <= iCellIdx { - return Xsqlite3CorruptError(tls, 75425) + return Xsqlite3CorruptError(tls, 75438) } pCell = (*MemPage)(unsafe.Pointer(pPage)).FaData + uintptr(int32((*MemPage)(unsafe.Pointer(pPage)).FmaskPage)&(int32(*(*U8)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPage)).FaCellIdx + uintptr(2*iCellIdx))))<<8|int32(*(*U8)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPage)).FaCellIdx + uintptr(2*iCellIdx) + 1))))) if (*MemPage)(unsafe.Pointer(pPage)).FnFree < 0 && btreeComputeFreeSpace(tls, pPage) != 0 { - return Xsqlite3CorruptError(tls, 75429) + return Xsqlite3CorruptError(tls, 75442) } // If the BTREE_SAVEPOSITION bit is on, then the cursor position must @@ -67854,7 +67873,7 @@ func Xsqlite3BtreeDelete(tls *libc.TLS, pCur uintptr, flags U8) int32 { /* sqlit } pCell = (*MemPage)(unsafe.Pointer(pLeaf)).FaData + uintptr(int32((*MemPage)(unsafe.Pointer(pLeaf)).FmaskPage)&(int32(*(*U8)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pLeaf)).FaCellIdx + uintptr(2*(int32((*MemPage)(unsafe.Pointer(pLeaf)).FnCell)-1)))))<<8|int32(*(*U8)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pLeaf)).FaCellIdx + uintptr(2*(int32((*MemPage)(unsafe.Pointer(pLeaf)).FnCell)-1)) + 1))))) if pCell < (*MemPage)(unsafe.Pointer(pLeaf)).FaData+4 { - return Xsqlite3CorruptError(tls, 75519) + return Xsqlite3CorruptError(tls, 75532) } nCell = int32((*struct { f func(*libc.TLS, uintptr, uintptr) U16 @@ -67931,7 +67950,7 @@ func Xsqlite3BtreeDelete(tls *libc.TLS, pCur uintptr, flags U8) int32 { /* sqlit // // BTREE_INTKEY|BTREE_LEAFDATA Used for SQL tables with rowid keys // BTREE_ZERODATA Used for SQL indices -func btreeCreateTable(tls *libc.TLS, p uintptr, piTable uintptr, createTabFlags int32) int32 { /* sqlite3.c:75593:12: */ +func btreeCreateTable(tls *libc.TLS, p uintptr, piTable uintptr, createTabFlags int32) int32 { /* sqlite3.c:75606:12: */ bp := tls.Alloc(44) defer tls.Free(44) @@ -67961,7 +67980,7 @@ func btreeCreateTable(tls *libc.TLS, p uintptr, piTable uintptr, createTabFlags // created so far, so the new root-page is (meta[3]+1). Xsqlite3BtreeGetMeta(tls, p, BTREE_LARGEST_ROOT_PAGE, bp) if *(*Pgno)(unsafe.Pointer(bp)) > btreePagecount(tls, pBt) { - return Xsqlite3CorruptError(tls, 75627) + return Xsqlite3CorruptError(tls, 75640) } *(*Pgno)(unsafe.Pointer(bp /* pgnoRoot */))++ @@ -68004,7 +68023,7 @@ func btreeCreateTable(tls *libc.TLS, p uintptr, piTable uintptr, createTabFlags } *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = ptrmapGet(tls, pBt, *(*Pgno)(unsafe.Pointer(bp /* pgnoRoot */)), bp+32, bp+36) if int32(*(*U8)(unsafe.Pointer(bp + 32))) == PTRMAP_ROOTPAGE || int32(*(*U8)(unsafe.Pointer(bp + 32))) == PTRMAP_FREEPAGE { - *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = Xsqlite3CorruptError(tls, 75675) + *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = Xsqlite3CorruptError(tls, 75688) } if *(*int32)(unsafe.Pointer(bp + 40)) != SQLITE_OK { releasePage(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* pRoot */))) @@ -68067,7 +68086,7 @@ func btreeCreateTable(tls *libc.TLS, p uintptr, piTable uintptr, createTabFlags return SQLITE_OK } -func Xsqlite3BtreeCreateTable(tls *libc.TLS, p uintptr, piTable uintptr, flags int32) int32 { /* sqlite3.c:75738:20: */ +func Xsqlite3BtreeCreateTable(tls *libc.TLS, p uintptr, piTable uintptr, flags int32) int32 { /* sqlite3.c:75751:20: */ var rc int32 Xsqlite3BtreeEnter(tls, p) rc = btreeCreateTable(tls, p, piTable, flags) @@ -68077,7 +68096,7 @@ func Xsqlite3BtreeCreateTable(tls *libc.TLS, p uintptr, piTable uintptr, flags i // Erase the given database page and all its children. Return // the page to the freelist. -func clearDatabasePage(tls *libc.TLS, pBt uintptr, pgno Pgno, freePageFlag int32, pnChange uintptr) int32 { /* sqlite3.c:75750:12: */ +func clearDatabasePage(tls *libc.TLS, pBt uintptr, pgno Pgno, freePageFlag int32, pnChange uintptr) int32 { /* sqlite3.c:75763:12: */ bp := tls.Alloc(36) defer tls.Free(36) @@ -68093,7 +68112,7 @@ func clearDatabasePage(tls *libc.TLS, pBt uintptr, pgno Pgno, freePageFlag int32 if !(pgno > btreePagecount(tls, pBt)) { goto __1 } - return Xsqlite3CorruptError(tls, 75765) + return Xsqlite3CorruptError(tls, 75778) __1: ; *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) = getAndInitPage(tls, pBt, pgno, bp, uintptr(0), 0) @@ -68107,7 +68126,7 @@ __2: Xsqlite3PagerPageRefcount(tls, (*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FpDbPage) != 1+libc.Bool32(pgno == Pgno(1))) { goto __3 } - *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) = Xsqlite3CorruptError(tls, 75772) + *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) = Xsqlite3CorruptError(tls, 75785) goto cleardatabasepage_out __3: ; @@ -68211,7 +68230,7 @@ cleardatabasepage_out: // // If pnChange is not NULL, then the integer value pointed to by pnChange // is incremented by the number of entries in the table. -func Xsqlite3BtreeClearTable(tls *libc.TLS, p uintptr, iTable int32, pnChange uintptr) int32 { /* sqlite3.c:75817:20: */ +func Xsqlite3BtreeClearTable(tls *libc.TLS, p uintptr, iTable int32, pnChange uintptr) int32 { /* sqlite3.c:75830:20: */ var rc int32 var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt Xsqlite3BtreeEnter(tls, p) @@ -68234,7 +68253,7 @@ func Xsqlite3BtreeClearTable(tls *libc.TLS, p uintptr, iTable int32, pnChange ui // Delete all information from the single table that pCur is open on. // // This routine only work for pCur on an ephemeral table. -func Xsqlite3BtreeClearTableOfCursor(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:75843:20: */ +func Xsqlite3BtreeClearTableOfCursor(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:75856:20: */ return Xsqlite3BtreeClearTable(tls, (*BtCursor)(unsafe.Pointer(pCur)).FpBtree, int32((*BtCursor)(unsafe.Pointer(pCur)).FpgnoRoot), uintptr(0)) } @@ -68256,7 +68275,7 @@ func Xsqlite3BtreeClearTableOfCursor(tls *libc.TLS, pCur uintptr) int32 { /* sql // the move. If no page gets moved, *piMoved is set to 0. // The last root page is recorded in meta[3] and the value of // meta[3] is updated by this procedure. -func btreeDropTable(tls *libc.TLS, p uintptr, iTable Pgno, piMoved uintptr) int32 { /* sqlite3.c:75867:12: */ +func btreeDropTable(tls *libc.TLS, p uintptr, iTable Pgno, piMoved uintptr) int32 { /* sqlite3.c:75880:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -68266,7 +68285,7 @@ func btreeDropTable(tls *libc.TLS, p uintptr, iTable Pgno, piMoved uintptr) int3 var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt if iTable > btreePagecount(tls, pBt) { - return Xsqlite3CorruptError(tls, 75876) + return Xsqlite3CorruptError(tls, 75889) } *(*int32)(unsafe.Pointer(bp + 12 /* rc */)) = Xsqlite3BtreeClearTable(tls, p, int32(iTable), uintptr(0)) @@ -68338,7 +68357,7 @@ func btreeDropTable(tls *libc.TLS, p uintptr, iTable Pgno, piMoved uintptr) int3 return *(*int32)(unsafe.Pointer(bp + 12 /* rc */)) } -func Xsqlite3BtreeDropTable(tls *libc.TLS, p uintptr, iTable int32, piMoved uintptr) int32 { /* sqlite3.c:75952:20: */ +func Xsqlite3BtreeDropTable(tls *libc.TLS, p uintptr, iTable int32, piMoved uintptr) int32 { /* sqlite3.c:75965:20: */ var rc int32 Xsqlite3BtreeEnter(tls, p) rc = btreeDropTable(tls, p, uint32(iTable), piMoved) @@ -68364,7 +68383,7 @@ func Xsqlite3BtreeDropTable(tls *libc.TLS, p uintptr, iTable int32, piMoved uint // database file. It is a number computed by the pager. But its access // pattern is the same as header meta values, and so it is convenient to // read it from this routine. -func Xsqlite3BtreeGetMeta(tls *libc.TLS, p uintptr, idx int32, pMeta uintptr) { /* sqlite3.c:75981:21: */ +func Xsqlite3BtreeGetMeta(tls *libc.TLS, p uintptr, idx int32, pMeta uintptr) { /* sqlite3.c:75994:21: */ var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt Xsqlite3BtreeEnter(tls, p) @@ -68383,7 +68402,7 @@ func Xsqlite3BtreeGetMeta(tls *libc.TLS, p uintptr, idx int32, pMeta uintptr) { // Write meta-information back into the database. Meta[0] is // read-only and may not be written. -func Xsqlite3BtreeUpdateMeta(tls *libc.TLS, p uintptr, idx int32, iMeta U32) int32 { /* sqlite3.c:76011:20: */ +func Xsqlite3BtreeUpdateMeta(tls *libc.TLS, p uintptr, idx int32, iMeta U32) int32 { /* sqlite3.c:76024:20: */ var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt var pP1 uintptr var rc int32 @@ -68409,7 +68428,7 @@ func Xsqlite3BtreeUpdateMeta(tls *libc.TLS, p uintptr, idx int32, iMeta U32) int // SQLITE_OK is returned if the operation is successfully executed. // Otherwise, if an error is encountered (i.e. an IO error or database // corruption) an SQLite error code is returned. -func Xsqlite3BtreeCount(tls *libc.TLS, db uintptr, pCur uintptr, pnEntry uintptr) int32 { /* sqlite3.c:76043:20: */ +func Xsqlite3BtreeCount(tls *libc.TLS, db uintptr, pCur uintptr, pnEntry uintptr) int32 { /* sqlite3.c:76056:20: */ var nEntry I64 = int64(0) // Value to return in *pnEntry var rc int32 // Return code @@ -68472,12 +68491,12 @@ func Xsqlite3BtreeCount(tls *libc.TLS, db uintptr, pCur uintptr, pnEntry uintptr // Return the pager associated with a BTree. This routine is used for // testing and debugging only. -func Xsqlite3BtreePager(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:76112:22: */ +func Xsqlite3BtreePager(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:76125:22: */ return (*BtShared)(unsafe.Pointer((*Btree)(unsafe.Pointer(p)).FpBt)).FpPager } // Append a message to the error message string. -func checkAppendMsg(tls *libc.TLS, pCheck uintptr, zFormat uintptr, va uintptr) { /* sqlite3.c:76120:13: */ +func checkAppendMsg(tls *libc.TLS, pCheck uintptr, zFormat uintptr, va uintptr) { /* sqlite3.c:76133:13: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -68504,13 +68523,13 @@ func checkAppendMsg(tls *libc.TLS, pCheck uintptr, zFormat uintptr, va uintptr) // Return non-zero if the bit in the IntegrityCk.aPgRef[] array that // corresponds to page iPg is already set. -func getPageReferenced(tls *libc.TLS, pCheck uintptr, iPg Pgno) int32 { /* sqlite3.c:76150:12: */ +func getPageReferenced(tls *libc.TLS, pCheck uintptr, iPg Pgno) int32 { /* sqlite3.c:76163:12: */ return int32(*(*U8)(unsafe.Pointer((*IntegrityCk)(unsafe.Pointer(pCheck)).FaPgRef + uintptr(iPg/Pgno(8))))) & (int32(1) << (iPg & Pgno(0x07))) } // Set the bit in the IntegrityCk.aPgRef[] array that corresponds to page iPg. -func setPageReferenced(tls *libc.TLS, pCheck uintptr, iPg Pgno) { /* sqlite3.c:76158:13: */ +func setPageReferenced(tls *libc.TLS, pCheck uintptr, iPg Pgno) { /* sqlite3.c:76171:13: */ *(*U8)(unsafe.Pointer((*IntegrityCk)(unsafe.Pointer(pCheck)).FaPgRef + uintptr(iPg/Pgno(8)))) |= U8(int32(1) << (iPg & Pgno(0x07))) } @@ -68521,7 +68540,7 @@ func setPageReferenced(tls *libc.TLS, pCheck uintptr, iPg Pgno) { /* sqlite3.c:7 // if this is the first reference to the page. // // Also check that the page number is in bounds. -func checkRef(tls *libc.TLS, pCheck uintptr, iPage Pgno) int32 { /* sqlite3.c:76172:12: */ +func checkRef(tls *libc.TLS, pCheck uintptr, iPage Pgno) int32 { /* sqlite3.c:76185:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -68543,7 +68562,7 @@ func checkRef(tls *libc.TLS, pCheck uintptr, iPage Pgno) int32 { /* sqlite3.c:76 // Check that the entry in the pointer-map for page iChild maps to // page iParent, pointer type ptrType. If not, append an error message // to pCheck. -func checkPtrmap(tls *libc.TLS, pCheck uintptr, iChild Pgno, eType U8, iParent Pgno) { /* sqlite3.c:76192:13: */ +func checkPtrmap(tls *libc.TLS, pCheck uintptr, iChild Pgno, eType U8, iParent Pgno) { /* sqlite3.c:76205:13: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -68570,7 +68589,7 @@ func checkPtrmap(tls *libc.TLS, pCheck uintptr, iChild Pgno, eType U8, iParent P // Check the integrity of the freelist or of an overflow page list. // Verify that the number of pages on the list is N. -func checkList(tls *libc.TLS, pCheck uintptr, isFreeList int32, iPage Pgno, N U32) { /* sqlite3.c:76221:13: */ +func checkList(tls *libc.TLS, pCheck uintptr, isFreeList int32, iPage Pgno, N U32) { /* sqlite3.c:76234:13: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -68654,7 +68673,7 @@ func checkList(tls *libc.TLS, pCheck uintptr, isFreeList int32, iPage Pgno, N U3 // entry represents the span of a cell or freeblock on a btree page. // The upper 16 bits are the index of the first byte of a range and the // lower 16 bits are the index of the last byte of that range. -func btreeHeapInsert(tls *libc.TLS, aHeap uintptr, x U32) { /* sqlite3.c:76310:13: */ +func btreeHeapInsert(tls *libc.TLS, aHeap uintptr, x U32) { /* sqlite3.c:76323:13: */ var j U32 var i U32 = libc.PreIncUint32(&*(*U32)(unsafe.Pointer(aHeap)), 1) *(*U32)(unsafe.Pointer(aHeap + uintptr(i)*4)) = x @@ -68666,7 +68685,7 @@ func btreeHeapInsert(tls *libc.TLS, aHeap uintptr, x U32) { /* sqlite3.c:76310:1 } } -func btreeHeapPull(tls *libc.TLS, aHeap uintptr, pOut uintptr) int32 { /* sqlite3.c:76320:12: */ +func btreeHeapPull(tls *libc.TLS, aHeap uintptr, pOut uintptr) int32 { /* sqlite3.c:76333:12: */ var j U32 var i U32 var x U32 @@ -68705,7 +68724,7 @@ func btreeHeapPull(tls *libc.TLS, aHeap uintptr, pOut uintptr) int32 { /* sqlite // 3. Check the integrity of overflow pages. // 4. Recursively call checkTreePage on all children. // 5. Verify that the depth of all children is the same. -func checkTreePage(tls *libc.TLS, pCheck uintptr, iPage Pgno, piMinKey uintptr, maxKey I64) int32 { /* sqlite3.c:76354:12: */ +func checkTreePage(tls *libc.TLS, pCheck uintptr, iPage Pgno, piMinKey uintptr, maxKey I64) int32 { /* sqlite3.c:76367:12: */ bp := tls.Alloc(140) defer tls.Free(140) *(*I64)(unsafe.Pointer(bp + 104)) = maxKey @@ -69094,7 +69113,7 @@ __34: // since obviously it is not possible to know which pages are covered by // the unverified btrees. Except, if aRoot[1] is 1, then the freelist // checks are still performed. -func Xsqlite3BtreeIntegrityCheck(tls *libc.TLS, db uintptr, p uintptr, aRoot uintptr, nRoot int32, mxErr int32, pnErr uintptr) uintptr { /* sqlite3.c:76633:21: */ +func Xsqlite3BtreeIntegrityCheck(tls *libc.TLS, db uintptr, p uintptr, aRoot uintptr, nRoot int32, mxErr int32, pnErr uintptr) uintptr { /* sqlite3.c:76646:21: */ bp := tls.Alloc(248) defer tls.Free(248) @@ -69328,7 +69347,7 @@ __29: // // The pager filename is invariant as long as the pager is // open so it is safe to access without the BtShared mutex. -func Xsqlite3BtreeGetFilename(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:76788:27: */ +func Xsqlite3BtreeGetFilename(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:76801:27: */ return Xsqlite3PagerFilename(tls, (*BtShared)(unsafe.Pointer((*Btree)(unsafe.Pointer(p)).FpBt)).FpPager, 1) } @@ -69339,14 +69358,14 @@ func Xsqlite3BtreeGetFilename(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:7 // // The pager journal filename is invariant as long as the pager is // open so it is safe to access without the BtShared mutex. -func Xsqlite3BtreeGetJournalname(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:76801:27: */ +func Xsqlite3BtreeGetJournalname(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:76814:27: */ return Xsqlite3PagerJournalname(tls, (*BtShared)(unsafe.Pointer((*Btree)(unsafe.Pointer(p)).FpBt)).FpPager) } // Return one of SQLITE_TXN_NONE, SQLITE_TXN_READ, or SQLITE_TXN_WRITE // to describe the current transaction state of Btree p. -func Xsqlite3BtreeTxnState(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:76810:20: */ +func Xsqlite3BtreeTxnState(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:76823:20: */ if p != 0 { return int32((*Btree)(unsafe.Pointer(p)).FinTrans) @@ -69360,7 +69379,7 @@ func Xsqlite3BtreeTxnState(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:76810: // transaction on the shared-cache the argument Btree is connected to. // // Parameter eMode is one of SQLITE_CHECKPOINT_PASSIVE, FULL or RESTART. -func Xsqlite3BtreeCheckpoint(tls *libc.TLS, p uintptr, eMode int32, pnLog uintptr, pnCkpt uintptr) int32 { /* sqlite3.c:76824:20: */ +func Xsqlite3BtreeCheckpoint(tls *libc.TLS, p uintptr, eMode int32, pnLog uintptr, pnCkpt uintptr) int32 { /* sqlite3.c:76837:20: */ var rc int32 = SQLITE_OK if p != 0 { var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt @@ -69376,7 +69395,7 @@ func Xsqlite3BtreeCheckpoint(tls *libc.TLS, p uintptr, eMode int32, pnLog uintpt } // Return true if there is currently a backup running on Btree p. -func Xsqlite3BtreeIsInBackup(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:76843:20: */ +func Xsqlite3BtreeIsInBackup(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:76856:20: */ return libc.Bool32((*Btree)(unsafe.Pointer(p)).FnBackup != 0) } @@ -69399,7 +69418,7 @@ func Xsqlite3BtreeIsInBackup(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:7684 // xFree argument when the memory allocation was made is invoked on the // blob of allocated memory. The xFree function should not call sqlite3_free() // on the memory, the btree layer does that. -func Xsqlite3BtreeSchema(tls *libc.TLS, p uintptr, nBytes int32, xFree uintptr) uintptr { /* sqlite3.c:76869:21: */ +func Xsqlite3BtreeSchema(tls *libc.TLS, p uintptr, nBytes int32, xFree uintptr) uintptr { /* sqlite3.c:76882:21: */ var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt Xsqlite3BtreeEnter(tls, p) if !(int32((*BtShared)(unsafe.Pointer(pBt)).FpSchema) != 0) && nBytes != 0 { @@ -69413,7 +69432,7 @@ func Xsqlite3BtreeSchema(tls *libc.TLS, p uintptr, nBytes int32, xFree uintptr) // Return SQLITE_LOCKED_SHAREDCACHE if another user of the same shared // btree as the argument handle holds an exclusive lock on the // sqlite_schema table. Otherwise SQLITE_OK. -func Xsqlite3BtreeSchemaLocked(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:76885:20: */ +func Xsqlite3BtreeSchemaLocked(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:76898:20: */ var rc int32 Xsqlite3BtreeEnter(tls, p) @@ -69426,7 +69445,7 @@ func Xsqlite3BtreeSchemaLocked(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:76 // Obtain a lock on the table whose root page is iTab. The // lock is a write lock if isWritelock is true or a read lock // if it is false. -func Xsqlite3BtreeLockTable(tls *libc.TLS, p uintptr, iTab int32, isWriteLock U8) int32 { /* sqlite3.c:76902:20: */ +func Xsqlite3BtreeLockTable(tls *libc.TLS, p uintptr, iTab int32, isWriteLock U8) int32 { /* sqlite3.c:76915:20: */ var rc int32 = SQLITE_OK if (*Btree)(unsafe.Pointer(p)).Fsharable != 0 { @@ -69450,7 +69469,7 @@ func Xsqlite3BtreeLockTable(tls *libc.TLS, p uintptr, iTab int32, isWriteLock U8 // change the length of the data stored. If this function is called with // parameters that attempt to write past the end of the existing data, // no modifications are made and SQLITE_CORRUPT is returned. -func Xsqlite3BtreePutData(tls *libc.TLS, pCsr uintptr, offset U32, amt U32, z uintptr) int32 { /* sqlite3.c:76932:20: */ +func Xsqlite3BtreePutData(tls *libc.TLS, pCsr uintptr, offset U32, amt U32, z uintptr) int32 { /* sqlite3.c:76945:20: */ var rc int32 rc = func() int32 { @@ -69490,7 +69509,7 @@ func Xsqlite3BtreePutData(tls *libc.TLS, pCsr uintptr, offset U32, amt U32, z ui } // Mark this cursor as an incremental blob cursor. -func Xsqlite3BtreeIncrblobCursor(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:76980:21: */ +func Xsqlite3BtreeIncrblobCursor(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:76993:21: */ *(*U8)(unsafe.Pointer(pCur + 1)) |= U8(BTCF_Incrblob) (*Btree)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pCur)).FpBtree)).FhasIncrblobCur = U8(1) } @@ -69498,7 +69517,7 @@ func Xsqlite3BtreeIncrblobCursor(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:769 // Set both the "read version" (single byte at byte offset 18) and // "write version" (single byte at byte offset 19) fields in the database // header to iVersion. -func Xsqlite3BtreeSetVersion(tls *libc.TLS, pBtree uintptr, iVersion int32) int32 { /* sqlite3.c:76991:20: */ +func Xsqlite3BtreeSetVersion(tls *libc.TLS, pBtree uintptr, iVersion int32) int32 { /* sqlite3.c:77004:20: */ var pBt uintptr = (*Btree)(unsafe.Pointer(pBtree)).FpBt var rc int32 // Return code @@ -69530,29 +69549,29 @@ func Xsqlite3BtreeSetVersion(tls *libc.TLS, pBtree uintptr, iVersion int32) int3 // Return true if the cursor has a hint specified. This routine is // only used from within assert() statements -func Xsqlite3BtreeCursorHasHint(tls *libc.TLS, pCsr uintptr, mask uint32) int32 { /* sqlite3.c:77026:20: */ +func Xsqlite3BtreeCursorHasHint(tls *libc.TLS, pCsr uintptr, mask uint32) int32 { /* sqlite3.c:77039:20: */ return libc.Bool32(uint32((*BtCursor)(unsafe.Pointer(pCsr)).Fhints)&mask != uint32(0)) } // Return true if the given Btree is read-only. -func Xsqlite3BtreeIsReadonly(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:77033:20: */ +func Xsqlite3BtreeIsReadonly(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:77046:20: */ return libc.Bool32(int32((*BtShared)(unsafe.Pointer((*Btree)(unsafe.Pointer(p)).FpBt)).FbtsFlags)&BTS_READ_ONLY != 0) } // Return the size of the header added to each page by this module. -func Xsqlite3HeaderSizeBtree(tls *libc.TLS) int32 { /* sqlite3.c:77040:20: */ +func Xsqlite3HeaderSizeBtree(tls *libc.TLS) int32 { /* sqlite3.c:77053:20: */ return int32((uint64(unsafe.Sizeof(MemPage{})) + uint64(7)) & libc.Uint64FromInt32(libc.CplInt32(7))) } // Return true if the Btree passed as the only argument is sharable. -func Xsqlite3BtreeSharable(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:77046:20: */ +func Xsqlite3BtreeSharable(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:77059:20: */ return int32((*Btree)(unsafe.Pointer(p)).Fsharable) } // Return the number of connections to the BtShared object accessed by // the Btree handle passed as the only argument. For private caches // this is always 1. For shared caches it may be 1 or greater. -func Xsqlite3BtreeConnectionCount(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:77055:20: */ +func Xsqlite3BtreeConnectionCount(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:77068:20: */ return (*BtShared)(unsafe.Pointer((*Btree)(unsafe.Pointer(p)).FpBt)).FnRef } @@ -69592,7 +69611,7 @@ func Xsqlite3BtreeConnectionCount(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c // If the "temp" database is requested, it may need to be opened by this // function. If an error occurs while doing so, return 0 and write an // error message to pErrorDb. -func findBtree(tls *libc.TLS, pErrorDb uintptr, pDb uintptr, zDb uintptr) uintptr { /* sqlite3.c:77144:14: */ +func findBtree(tls *libc.TLS, pErrorDb uintptr, pDb uintptr, zDb uintptr) uintptr { /* sqlite3.c:77157:14: */ bp := tls.Alloc(424) defer tls.Free(424) @@ -69624,7 +69643,7 @@ func findBtree(tls *libc.TLS, pErrorDb uintptr, pDb uintptr, zDb uintptr) uintpt // Attempt to set the page size of the destination to match the page size // of the source. -func setDestPgsz(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:77174:12: */ +func setDestPgsz(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:77187:12: */ var rc int32 rc = Xsqlite3BtreeSetPageSize(tls, (*Sqlite3_backup)(unsafe.Pointer(p)).FpDest, Xsqlite3BtreeGetPageSize(tls, (*Sqlite3_backup)(unsafe.Pointer(p)).FpSrc), 0, 0) return rc @@ -69634,7 +69653,7 @@ func setDestPgsz(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:77174:12: */ // second argument. If there is not, return SQLITE_OK. Otherwise, if there // is an open read-transaction, return SQLITE_ERROR and leave an error // message in database handle db. -func checkReadTransaction(tls *libc.TLS, db uintptr, p uintptr) int32 { /* sqlite3.c:77186:12: */ +func checkReadTransaction(tls *libc.TLS, db uintptr, p uintptr) int32 { /* sqlite3.c:77199:12: */ if Xsqlite3BtreeTxnState(tls, p) != SQLITE_TXN_NONE { Xsqlite3ErrorWithMsg(tls, db, SQLITE_ERROR, ts+5208, 0) return SQLITE_ERROR @@ -69648,7 +69667,7 @@ func checkReadTransaction(tls *libc.TLS, db uintptr, p uintptr) int32 { /* sqlit // // If an error occurs, NULL is returned and an error code and error message // stored in database handle pDestDb. -func Xsqlite3_backup_init(tls *libc.TLS, pDestDb uintptr, zDestDb uintptr, pSrcDb uintptr, zSrcDb uintptr) uintptr { /* sqlite3.c:77202:27: */ +func Xsqlite3_backup_init(tls *libc.TLS, pDestDb uintptr, zDestDb uintptr, pSrcDb uintptr, zSrcDb uintptr) uintptr { /* sqlite3.c:77215:27: */ var p uintptr // Value to return // Lock the source database handle. The destination database @@ -69708,14 +69727,14 @@ func Xsqlite3_backup_init(tls *libc.TLS, pDestDb uintptr, zDestDb uintptr, pSrcD // Argument rc is an SQLite error code. Return true if this error is // considered fatal if encountered during a backup operation. All errors // are considered fatal except for SQLITE_BUSY and SQLITE_LOCKED. -func isFatalError(tls *libc.TLS, rc int32) int32 { /* sqlite3.c:77279:12: */ +func isFatalError(tls *libc.TLS, rc int32) int32 { /* sqlite3.c:77292:12: */ return libc.Bool32(rc != SQLITE_OK && rc != SQLITE_BUSY && rc != SQLITE_LOCKED) } // Parameter zSrcData points to a buffer containing the data for // page iSrcPg from the source database. Copy this data into the // destination database. -func backupOnePage(tls *libc.TLS, p uintptr, iSrcPg Pgno, zSrcData uintptr, bUpdate int32) int32 { /* sqlite3.c:77288:12: */ +func backupOnePage(tls *libc.TLS, p uintptr, iSrcPg Pgno, zSrcData uintptr, bUpdate int32) int32 { /* sqlite3.c:77301:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -69777,7 +69796,7 @@ func backupOnePage(tls *libc.TLS, p uintptr, iSrcPg Pgno, zSrcData uintptr, bUpd // // Return SQLITE_OK if everything is successful, or an SQLite error // code if an error occurs. -func backupTruncateFile(tls *libc.TLS, pFile uintptr, iSize I64) int32 { /* sqlite3.c:77357:12: */ +func backupTruncateFile(tls *libc.TLS, pFile uintptr, iSize I64) int32 { /* sqlite3.c:77370:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -69792,7 +69811,7 @@ func backupTruncateFile(tls *libc.TLS, pFile uintptr, iSize I64) int32 { /* sqli // Register this backup object with the associated source pager for // callbacks when pages are changed or the cache invalidated. -func attachBackupObject(tls *libc.TLS, p uintptr) { /* sqlite3.c:77370:13: */ +func attachBackupObject(tls *libc.TLS, p uintptr) { /* sqlite3.c:77383:13: */ var pp uintptr pp = Xsqlite3PagerBackupPtr(tls, Xsqlite3BtreePager(tls, (*Sqlite3_backup)(unsafe.Pointer(p)).FpSrc)) @@ -69802,7 +69821,7 @@ func attachBackupObject(tls *libc.TLS, p uintptr) { /* sqlite3.c:77370:13: */ } // Copy nPage pages from the source b-tree to the destination. -func Xsqlite3_backup_step(tls *libc.TLS, p uintptr, nPage int32) int32 { /* sqlite3.c:77382:16: */ +func Xsqlite3_backup_step(tls *libc.TLS, p uintptr, nPage int32) int32 { /* sqlite3.c:77395:16: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -70040,7 +70059,7 @@ func Xsqlite3_backup_step(tls *libc.TLS, p uintptr, nPage int32) int32 { /* sqli } // Release all resources associated with an sqlite3_backup* handle. -func Xsqlite3_backup_finish(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:77636:16: */ +func Xsqlite3_backup_finish(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:77649:16: */ var pp uintptr // Ptr to head of pagers backup list var pSrcDb uintptr // Source database connection var rc int32 // Value to return @@ -70098,13 +70117,13 @@ func Xsqlite3_backup_finish(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:77636 // Return the number of pages still to be backed up as of the most recent // call to sqlite3_backup_step(). -func Xsqlite3_backup_remaining(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:77690:16: */ +func Xsqlite3_backup_remaining(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:77703:16: */ return int32((*Sqlite3_backup)(unsafe.Pointer(p)).FnRemaining) } // Return the total number of pages in the source database as of the most // recent call to sqlite3_backup_step(). -func Xsqlite3_backup_pagecount(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:77704:16: */ +func Xsqlite3_backup_pagecount(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:77717:16: */ return int32((*Sqlite3_backup)(unsafe.Pointer(p)).FnPagecount) } @@ -70118,7 +70137,7 @@ func Xsqlite3_backup_pagecount(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:77 // It is assumed that the mutex associated with the BtShared object // corresponding to the source database is held when this function is // called. -func backupUpdate(tls *libc.TLS, p uintptr, iPage Pgno, aData uintptr) { /* sqlite3.c:77726:29: */ +func backupUpdate(tls *libc.TLS, p uintptr, iPage Pgno, aData uintptr) { /* sqlite3.c:77739:29: */ for __ccgo := true; __ccgo; __ccgo = libc.AssignUintptr(&p, (*Sqlite3_backup)(unsafe.Pointer(p)).FpNext) != uintptr(0) { @@ -70139,7 +70158,7 @@ func backupUpdate(tls *libc.TLS, p uintptr, iPage Pgno, aData uintptr) { /* sqli } } -func Xsqlite3BackupUpdate(tls *libc.TLS, pBackup uintptr, iPage Pgno, aData uintptr) { /* sqlite3.c:77751:21: */ +func Xsqlite3BackupUpdate(tls *libc.TLS, pBackup uintptr, iPage Pgno, aData uintptr) { /* sqlite3.c:77764:21: */ if pBackup != 0 { backupUpdate(tls, pBackup, iPage, aData) } @@ -70154,7 +70173,7 @@ func Xsqlite3BackupUpdate(tls *libc.TLS, pBackup uintptr, iPage Pgno, aData uint // It is assumed that the mutex associated with the BtShared object // corresponding to the source database is held when this function is // called. -func Xsqlite3BackupRestart(tls *libc.TLS, pBackup uintptr) { /* sqlite3.c:77766:21: */ +func Xsqlite3BackupRestart(tls *libc.TLS, pBackup uintptr) { /* sqlite3.c:77779:21: */ var p uintptr // Iterator variable for p = pBackup; p != 0; p = (*Sqlite3_backup)(unsafe.Pointer(p)).FpNext { @@ -70168,7 +70187,7 @@ func Xsqlite3BackupRestart(tls *libc.TLS, pBackup uintptr) { /* sqlite3.c:77766: // The size of file pTo may be reduced by this operation. If anything // goes wrong, the transaction on pTo is rolled back. If successful, the // transaction is committed before returning. -func Xsqlite3BtreeCopyFile(tls *libc.TLS, pTo uintptr, pFrom uintptr) int32 { /* sqlite3.c:77783:20: */ +func Xsqlite3BtreeCopyFile(tls *libc.TLS, pTo uintptr, pFrom uintptr) int32 { /* sqlite3.c:77796:20: */ bp := tls.Alloc(80) defer tls.Free(80) @@ -70262,7 +70281,7 @@ copy_finished: // Render a Mem object which is one of MEM_Int, MEM_Real, or MEM_IntReal // into a buffer. -func vdbeMemRenderNum(tls *libc.TLS, sz int32, zBuf uintptr, p uintptr) { /* sqlite3.c:77941:13: */ +func vdbeMemRenderNum(tls *libc.TLS, sz int32, zBuf uintptr, p uintptr) { /* sqlite3.c:77954:13: */ bp := tls.Alloc(40) defer tls.Free(40) @@ -70295,7 +70314,7 @@ func vdbeMemRenderNum(tls *libc.TLS, sz int32, zBuf uintptr, p uintptr) { /* sql // SQLITE_OK is returned if the conversion is successful (or not required). // SQLITE_NOMEM may be returned if a malloc() fails during conversion // between formats. -func Xsqlite3VdbeChangeEncoding(tls *libc.TLS, pMem uintptr, desiredEnc int32) int32 { /* sqlite3.c:78034:20: */ +func Xsqlite3VdbeChangeEncoding(tls *libc.TLS, pMem uintptr, desiredEnc int32) int32 { /* sqlite3.c:78047:20: */ var rc int32 if !(int32((*Mem)(unsafe.Pointer(pMem)).Fflags)&MEM_Str != 0) || int32((*Mem)(unsafe.Pointer(pMem)).Fenc) == desiredEnc { @@ -70315,7 +70334,7 @@ func Xsqlite3VdbeChangeEncoding(tls *libc.TLS, pMem uintptr, desiredEnc int32) i // pMem->z into the new allocation. pMem must be either a string or // blob if bPreserve is true. If bPreserve is false, any prior content // in pMem->z is discarded. -func Xsqlite3VdbeMemGrow(tls *libc.TLS, pMem uintptr, n int32, bPreserve int32) int32 { /* sqlite3.c:78069:36: */ +func Xsqlite3VdbeMemGrow(tls *libc.TLS, pMem uintptr, n int32, bPreserve int32) int32 { /* sqlite3.c:78082:36: */ // If the bPreserve flag is set to true, then the memory cell must already // contain a valid string or blob value. @@ -70371,7 +70390,7 @@ func Xsqlite3VdbeMemGrow(tls *libc.TLS, pMem uintptr, n int32, bPreserve int32) // // Return SQLITE_OK on success or an error code (probably SQLITE_NOMEM) // if unable to complete the resizing. -func Xsqlite3VdbeMemClearAndResize(tls *libc.TLS, pMem uintptr, szNew int32) int32 { /* sqlite3.c:78132:20: */ +func Xsqlite3VdbeMemClearAndResize(tls *libc.TLS, pMem uintptr, szNew int32) int32 { /* sqlite3.c:78145:20: */ if (*Mem)(unsafe.Pointer(pMem)).FszMalloc < szNew { return Xsqlite3VdbeMemGrow(tls, pMem, szNew, 0) @@ -70389,7 +70408,7 @@ func Xsqlite3VdbeMemClearAndResize(tls *libc.TLS, pMem uintptr, szNew int32) int // to be a double-zero byte at an even byte boundary in order to // terminate a UTF16 string, even if the initial size of the buffer // is an odd number of bytes. -func vdbeMemAddTerminator(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c:78153:28: */ +func vdbeMemAddTerminator(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c:78166:28: */ if Xsqlite3VdbeMemGrow(tls, pMem, (*Mem)(unsafe.Pointer(pMem)).Fn+3, 1) != 0 { return SQLITE_NOMEM } @@ -70404,7 +70423,7 @@ func vdbeMemAddTerminator(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c:7815 // MEM.zMalloc, where it can be safely written. // // Return SQLITE_OK on success or SQLITE_NOMEM if malloc fails. -func Xsqlite3VdbeMemMakeWriteable(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c:78170:20: */ +func Xsqlite3VdbeMemMakeWriteable(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c:78183:20: */ if int32((*Mem)(unsafe.Pointer(pMem)).Fflags)&(MEM_Str|MEM_Blob) != 0 { if func() int32 { @@ -70429,7 +70448,7 @@ func Xsqlite3VdbeMemMakeWriteable(tls *libc.TLS, pMem uintptr) int32 { /* sqlite // If the given Mem* has a zero-filled tail, turn it into an ordinary // blob stored in dynamically allocated space. -func Xsqlite3VdbeMemExpandBlob(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c:78194:20: */ +func Xsqlite3VdbeMemExpandBlob(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c:78207:20: */ var nByte int32 // Set nByte to the number of bytes required to store the expanded blob. @@ -70451,7 +70470,7 @@ func Xsqlite3VdbeMemExpandBlob(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c } // Make sure the given Mem is \u0000 terminated. -func Xsqlite3VdbeMemNulTerminate(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c:78225:20: */ +func Xsqlite3VdbeMemNulTerminate(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c:78238:20: */ if int32((*Mem)(unsafe.Pointer(pMem)).Fflags)&(MEM_Term|MEM_Str) != MEM_Str { return SQLITE_OK // Nothing to do @@ -70473,7 +70492,7 @@ func Xsqlite3VdbeMemNulTerminate(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3 // sqlite3_value_text()), or for ensuring that values to be used as btree // keys are strings. In the former case a NULL pointer is returned the // user and the latter is an internal programming error. -func Xsqlite3VdbeMemStringify(tls *libc.TLS, pMem uintptr, enc U8, bForce U8) int32 { /* sqlite3.c:78251:20: */ +func Xsqlite3VdbeMemStringify(tls *libc.TLS, pMem uintptr, enc U8, bForce U8) int32 { /* sqlite3.c:78264:20: */ var nByte int32 = 32 if Xsqlite3VdbeMemClearAndResize(tls, pMem, nByte) != 0 { @@ -70499,7 +70518,7 @@ func Xsqlite3VdbeMemStringify(tls *libc.TLS, pMem uintptr, enc U8, bForce U8) in // // Return SQLITE_ERROR if the finalizer reports an error. SQLITE_OK // otherwise. -func Xsqlite3VdbeMemFinalize(tls *libc.TLS, pMem uintptr, pFunc uintptr) int32 { /* sqlite3.c:78286:20: */ +func Xsqlite3VdbeMemFinalize(tls *libc.TLS, pMem uintptr, pFunc uintptr) int32 { /* sqlite3.c:78299:20: */ bp := tls.Alloc(112) defer tls.Free(112) @@ -70529,7 +70548,7 @@ func Xsqlite3VdbeMemFinalize(tls *libc.TLS, pMem uintptr, pFunc uintptr) int32 { // // SQLITE_ERROR is returned if xValue() reports an error. SQLITE_OK // otherwise. -func Xsqlite3VdbeMemAggValue(tls *libc.TLS, pAccum uintptr, pOut uintptr, pFunc uintptr) int32 { /* sqlite3.c:78317:20: */ +func Xsqlite3VdbeMemAggValue(tls *libc.TLS, pAccum uintptr, pOut uintptr, pFunc uintptr) int32 { /* sqlite3.c:78330:20: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -70551,7 +70570,7 @@ func Xsqlite3VdbeMemAggValue(tls *libc.TLS, pAccum uintptr, pOut uintptr, pFunc // This is a helper routine for sqlite3VdbeMemSetNull() and // for sqlite3VdbeMemRelease(). Use those other routines as the // entry point for releasing Mem resources. -func vdbeMemClearExternAndSetNull(tls *libc.TLS, p uintptr) { /* sqlite3.c:78342:29: */ +func vdbeMemClearExternAndSetNull(tls *libc.TLS, p uintptr) { /* sqlite3.c:78355:29: */ if int32((*Mem)(unsafe.Pointer(p)).Fflags)&MEM_Agg != 0 { Xsqlite3VdbeMemFinalize(tls, p, *(*uintptr)(unsafe.Pointer(p))) @@ -70570,7 +70589,7 @@ func vdbeMemClearExternAndSetNull(tls *libc.TLS, p uintptr) { /* sqlite3.c:78342 // This is a helper routine invoked by sqlite3VdbeMemRelease() in // the unusual case where there really is memory in p that needs // to be freed. -func vdbeMemClear(tls *libc.TLS, p uintptr) { /* sqlite3.c:78365:29: */ +func vdbeMemClear(tls *libc.TLS, p uintptr) { /* sqlite3.c:78378:29: */ if int32((*Mem)(unsafe.Pointer(p)).Fflags)&(MEM_Agg|MEM_Dyn) != 0 { vdbeMemClearExternAndSetNull(tls, p) } @@ -70589,7 +70608,7 @@ func vdbeMemClear(tls *libc.TLS, p uintptr) { /* sqlite3.c:78365:29: */ // // Use sqlite3VdbeMemSetNull() to release just the Mem.xDel space // prior to inserting new content into the Mem. -func Xsqlite3VdbeMemRelease(tls *libc.TLS, p uintptr) { /* sqlite3.c:78386:21: */ +func Xsqlite3VdbeMemRelease(tls *libc.TLS, p uintptr) { /* sqlite3.c:78399:21: */ if int32((*Mem)(unsafe.Pointer(p)).Fflags)&(MEM_Agg|MEM_Dyn) != 0 || (*Mem)(unsafe.Pointer(p)).FszMalloc != 0 { vdbeMemClear(tls, p) @@ -70599,7 +70618,7 @@ func Xsqlite3VdbeMemRelease(tls *libc.TLS, p uintptr) { /* sqlite3.c:78386:21: * // Convert a 64-bit IEEE double into a 64-bit signed integer. // If the double is out of range of a 64-bit signed integer then // return the closest available 64-bit signed integer. -func doubleToInt64(tls *libc.TLS, r float64) I64 { /* sqlite3.c:78398:28: */ +func doubleToInt64(tls *libc.TLS, r float64) I64 { /* sqlite3.c:78411:28: */ if r <= float64(minInt) { return minInt @@ -70611,8 +70630,8 @@ func doubleToInt64(tls *libc.TLS, r float64) I64 { /* sqlite3.c:78398:28: */ return I64(0) } -var maxInt I64 = int64(0xffffffff) | I64(int64(0x7fffffff))<<32 /* sqlite3.c:78410:20 */ -var minInt I64 = int64(-1) - (int64(0xffffffff) | I64(int64(0x7fffffff))<<32) /* sqlite3.c:78411:20 */ +var maxInt I64 = int64(0xffffffff) | I64(int64(0x7fffffff))<<32 /* sqlite3.c:78423:20 */ +var minInt I64 = int64(-1) - (int64(0xffffffff) | I64(int64(0x7fffffff))<<32) /* sqlite3.c:78424:20 */ // Return some kind of integer value which is the best we can do // at representing the value that *pMem describes as an integer. @@ -70623,7 +70642,7 @@ var minInt I64 = int64(-1) - (int64(0xffffffff) | I64(int64(0x7fffffff))<<32) /* // an SQL-NULL value, return 0. // // If pMem represents a string value, its encoding might be changed. -func memIntValue(tls *libc.TLS, pMem uintptr) I64 { /* sqlite3.c:78434:28: */ +func memIntValue(tls *libc.TLS, pMem uintptr) I64 { /* sqlite3.c:78447:28: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -70632,7 +70651,7 @@ func memIntValue(tls *libc.TLS, pMem uintptr) I64 { /* sqlite3.c:78434:28: */ return *(*I64)(unsafe.Pointer(bp /* value */)) } -func Xsqlite3VdbeIntValue(tls *libc.TLS, pMem uintptr) I64 { /* sqlite3.c:78439:20: */ +func Xsqlite3VdbeIntValue(tls *libc.TLS, pMem uintptr) I64 { /* sqlite3.c:78452:20: */ var flags int32 flags = int32((*Mem)(unsafe.Pointer(pMem)).Fflags) @@ -70653,7 +70672,7 @@ func Xsqlite3VdbeIntValue(tls *libc.TLS, pMem uintptr) I64 { /* sqlite3.c:78439: // double. If pMem is already a double or an integer, return its // value. If it is a string or blob, try to convert it to a double. // If it is a NULL, return 0.0. -func memRealValue(tls *libc.TLS, pMem uintptr) float64 { /* sqlite3.c:78463:31: */ +func memRealValue(tls *libc.TLS, pMem uintptr) float64 { /* sqlite3.c:78476:31: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -70663,7 +70682,7 @@ func memRealValue(tls *libc.TLS, pMem uintptr) float64 { /* sqlite3.c:78463:31: return *(*float64)(unsafe.Pointer(bp /* val */)) } -func Xsqlite3VdbeRealValue(tls *libc.TLS, pMem uintptr) float64 { /* sqlite3.c:78469:23: */ +func Xsqlite3VdbeRealValue(tls *libc.TLS, pMem uintptr) float64 { /* sqlite3.c:78482:23: */ if int32((*Mem)(unsafe.Pointer(pMem)).Fflags)&MEM_Real != 0 { return *(*float64)(unsafe.Pointer(pMem)) @@ -70681,7 +70700,7 @@ func Xsqlite3VdbeRealValue(tls *libc.TLS, pMem uintptr) float64 { /* sqlite3.c:7 // Return 1 if pMem represents true, and return 0 if pMem represents false. // Return the value ifNull if pMem is NULL. -func Xsqlite3VdbeBooleanValue(tls *libc.TLS, pMem uintptr, ifNull int32) int32 { /* sqlite3.c:78490:20: */ +func Xsqlite3VdbeBooleanValue(tls *libc.TLS, pMem uintptr, ifNull int32) int32 { /* sqlite3.c:78503:20: */ if int32((*Mem)(unsafe.Pointer(pMem)).Fflags)&(MEM_Int|MEM_IntReal) != 0 { return libc.Bool32(*(*I64)(unsafe.Pointer(pMem)) != int64(0)) @@ -70694,7 +70713,7 @@ func Xsqlite3VdbeBooleanValue(tls *libc.TLS, pMem uintptr, ifNull int32) int32 { // The MEM structure is already a MEM_Real. Try to also make it a // MEM_Int if we can. -func Xsqlite3VdbeIntegerAffinity(tls *libc.TLS, pMem uintptr) { /* sqlite3.c:78501:21: */ +func Xsqlite3VdbeIntegerAffinity(tls *libc.TLS, pMem uintptr) { /* sqlite3.c:78514:21: */ var ix I64 ix = doubleToInt64(tls, *(*float64)(unsafe.Pointer(pMem))) @@ -70715,7 +70734,7 @@ func Xsqlite3VdbeIntegerAffinity(tls *libc.TLS, pMem uintptr) { /* sqlite3.c:785 } // Convert pMem to type integer. Invalidate any prior representations. -func Xsqlite3VdbeMemIntegerify(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c:78530:20: */ +func Xsqlite3VdbeMemIntegerify(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c:78543:20: */ *(*I64)(unsafe.Pointer(pMem)) = Xsqlite3VdbeIntValue(tls, pMem) (*Mem)(unsafe.Pointer(pMem)).Fflags = U16(int32((*Mem)(unsafe.Pointer(pMem)).Fflags)&libc.CplInt32(MEM_TypeMask|MEM_Zero) | MEM_Int) @@ -70724,7 +70743,7 @@ func Xsqlite3VdbeMemIntegerify(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c // Convert pMem so that it is of type MEM_Real. // Invalidate any prior representations. -func Xsqlite3VdbeMemRealify(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c:78545:20: */ +func Xsqlite3VdbeMemRealify(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c:78558:20: */ *(*float64)(unsafe.Pointer(pMem)) = Xsqlite3VdbeRealValue(tls, pMem) (*Mem)(unsafe.Pointer(pMem)).Fflags = U16(int32((*Mem)(unsafe.Pointer(pMem)).Fflags)&libc.CplInt32(MEM_TypeMask|MEM_Zero) | MEM_Real) @@ -70739,7 +70758,7 @@ func Xsqlite3VdbeMemRealify(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c:78 // For some versions of GCC on 32-bit machines, if you do the more obvious // comparison of "r1==(double)i" you sometimes get an answer of false even // though the r1 and (double)i values are bit-for-bit the same. -func Xsqlite3RealSameAsInt(tls *libc.TLS, r1 float64, i Sqlite3_int64) int32 { /* sqlite3.c:78564:20: */ +func Xsqlite3RealSameAsInt(tls *libc.TLS, r1 float64, i Sqlite3_int64) int32 { /* sqlite3.c:78577:20: */ bp := tls.Alloc(16) defer tls.Free(16) *(*float64)(unsafe.Pointer(bp)) = r1 @@ -70756,7 +70775,7 @@ func Xsqlite3RealSameAsInt(tls *libc.TLS, r1 float64, i Sqlite3_int64) int32 { / // Every effort is made to force the conversion, even if the input // is a string that does not look completely like a number. Convert // as much of the string as we can and ignore the rest. -func Xsqlite3VdbeMemNumerify(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c:78579:20: */ +func Xsqlite3VdbeMemNumerify(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c:78592:20: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -70783,7 +70802,7 @@ func Xsqlite3VdbeMemNumerify(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c:7 // is forced. In other words, the value is converted into the desired // affinity even if that results in loss of data. This routine is // used (for example) to implement the SQL "cast()" operator. -func Xsqlite3VdbeMemCast(tls *libc.TLS, pMem uintptr, aff U8, encoding U8) int32 { /* sqlite3.c:78612:20: */ +func Xsqlite3VdbeMemCast(tls *libc.TLS, pMem uintptr, aff U8, encoding U8) int32 { /* sqlite3.c:78625:20: */ if int32((*Mem)(unsafe.Pointer(pMem)).Fflags)&MEM_Null != 0 { return SQLITE_OK } @@ -70837,7 +70856,7 @@ func Xsqlite3VdbeMemCast(tls *libc.TLS, pMem uintptr, aff U8, encoding U8) int32 // Initialize bulk memory to be a consistent Mem object. // // The minimum amount of initialization feasible is performed. -func Xsqlite3VdbeMemInit(tls *libc.TLS, pMem uintptr, db uintptr, flags U16) { /* sqlite3.c:78655:21: */ +func Xsqlite3VdbeMemInit(tls *libc.TLS, pMem uintptr, db uintptr, flags U16) { /* sqlite3.c:78668:21: */ (*Mem)(unsafe.Pointer(pMem)).Fflags = flags (*Mem)(unsafe.Pointer(pMem)).Fdb = db @@ -70854,7 +70873,7 @@ func Xsqlite3VdbeMemInit(tls *libc.TLS, pMem uintptr, db uintptr, flags U16) { / // Use this routine to reset the Mem prior to insert a new value. // // Use sqlite3VdbeMemRelease() to complete erase the Mem prior to abandoning it. -func Xsqlite3VdbeMemSetNull(tls *libc.TLS, pMem uintptr) { /* sqlite3.c:78675:21: */ +func Xsqlite3VdbeMemSetNull(tls *libc.TLS, pMem uintptr) { /* sqlite3.c:78688:21: */ if int32((*Mem)(unsafe.Pointer(pMem)).Fflags)&(MEM_Agg|MEM_Dyn) != 0 { vdbeMemClearExternAndSetNull(tls, pMem) } else { @@ -70862,13 +70881,13 @@ func Xsqlite3VdbeMemSetNull(tls *libc.TLS, pMem uintptr) { /* sqlite3.c:78675:21 } } -func Xsqlite3ValueSetNull(tls *libc.TLS, p uintptr) { /* sqlite3.c:78682:21: */ +func Xsqlite3ValueSetNull(tls *libc.TLS, p uintptr) { /* sqlite3.c:78695:21: */ Xsqlite3VdbeMemSetNull(tls, p) } // Delete any previous value and set the value to be a BLOB of length // n containing all zeros. -func Xsqlite3VdbeMemSetZeroBlob(tls *libc.TLS, pMem uintptr, n int32) { /* sqlite3.c:78691:21: */ +func Xsqlite3VdbeMemSetZeroBlob(tls *libc.TLS, pMem uintptr, n int32) { /* sqlite3.c:78704:21: */ Xsqlite3VdbeMemRelease(tls, pMem) (*Mem)(unsafe.Pointer(pMem)).Fflags = U16(MEM_Blob | MEM_Zero) (*Mem)(unsafe.Pointer(pMem)).Fn = 0 @@ -70883,7 +70902,7 @@ func Xsqlite3VdbeMemSetZeroBlob(tls *libc.TLS, pMem uintptr, n int32) { /* sqlit // The pMem is known to contain content that needs to be destroyed prior // to a value change. So invoke the destructor, then set the value to // a 64-bit integer. -func vdbeReleaseAndSetInt64(tls *libc.TLS, pMem uintptr, val I64) { /* sqlite3.c:78721:29: */ +func vdbeReleaseAndSetInt64(tls *libc.TLS, pMem uintptr, val I64) { /* sqlite3.c:78734:29: */ Xsqlite3VdbeMemSetNull(tls, pMem) *(*I64)(unsafe.Pointer(pMem)) = val (*Mem)(unsafe.Pointer(pMem)).Fflags = U16(MEM_Int) @@ -70891,7 +70910,7 @@ func vdbeReleaseAndSetInt64(tls *libc.TLS, pMem uintptr, val I64) { /* sqlite3.c // Delete any previous value and set the value stored in *pMem to val, // manifest type INTEGER. -func Xsqlite3VdbeMemSetInt64(tls *libc.TLS, pMem uintptr, val I64) { /* sqlite3.c:78731:21: */ +func Xsqlite3VdbeMemSetInt64(tls *libc.TLS, pMem uintptr, val I64) { /* sqlite3.c:78744:21: */ if int32((*Mem)(unsafe.Pointer(pMem)).Fflags)&(MEM_Agg|MEM_Dyn) != 0 { vdbeReleaseAndSetInt64(tls, pMem, val) } else { @@ -70901,13 +70920,13 @@ func Xsqlite3VdbeMemSetInt64(tls *libc.TLS, pMem uintptr, val I64) { /* sqlite3. } // A no-op destructor -func Xsqlite3NoopDestructor(tls *libc.TLS, p uintptr) { /* sqlite3.c:78741:21: */ +func Xsqlite3NoopDestructor(tls *libc.TLS, p uintptr) { /* sqlite3.c:78754:21: */ _ = p } // Set the value stored in *pMem should already be a NULL. // Also store a pointer to go with it. -func Xsqlite3VdbeMemSetPointer(tls *libc.TLS, pMem uintptr, pPtr uintptr, zPType uintptr, xDestructor uintptr) { /* sqlite3.c:78747:21: */ +func Xsqlite3VdbeMemSetPointer(tls *libc.TLS, pMem uintptr, pPtr uintptr, zPType uintptr, xDestructor uintptr) { /* sqlite3.c:78760:21: */ vdbeMemClear(tls, pMem) *(*uintptr)(unsafe.Pointer(pMem)) = func() uintptr { @@ -70929,7 +70948,7 @@ func Xsqlite3VdbeMemSetPointer(tls *libc.TLS, pMem uintptr, pPtr uintptr, zPType // Delete any previous value and set the value stored in *pMem to val, // manifest type REAL. -func Xsqlite3VdbeMemSetDouble(tls *libc.TLS, pMem uintptr, val float64) { /* sqlite3.c:78767:21: */ +func Xsqlite3VdbeMemSetDouble(tls *libc.TLS, pMem uintptr, val float64) { /* sqlite3.c:78780:21: */ Xsqlite3VdbeMemSetNull(tls, pMem) if !(Xsqlite3IsNaN(tls, val) != 0) { *(*float64)(unsafe.Pointer(pMem)) = val @@ -70942,7 +70961,7 @@ func Xsqlite3VdbeMemSetDouble(tls *libc.TLS, pMem uintptr, val float64) { /* sql // // Return SQLITE_OK on success and SQLITE_NOMEM if a memory allocation // error occurs. -func Xsqlite3VdbeMemSetRowSet(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c:78794:20: */ +func Xsqlite3VdbeMemSetRowSet(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c:78807:20: */ var db uintptr = (*Mem)(unsafe.Pointer(pMem)).Fdb var p uintptr @@ -70959,7 +70978,7 @@ func Xsqlite3VdbeMemSetRowSet(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c: // Return true if the Mem object contains a TEXT or BLOB that is // too large - whose size exceeds SQLITE_MAX_LENGTH. -func Xsqlite3VdbeMemTooBig(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:78812:20: */ +func Xsqlite3VdbeMemTooBig(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:78825:20: */ if int32((*Mem)(unsafe.Pointer(p)).Fflags)&(MEM_Str|MEM_Blob) != 0 { var n int32 = (*Mem)(unsafe.Pointer(p)).Fn @@ -70975,13 +70994,13 @@ func Xsqlite3VdbeMemTooBig(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:78812: // pTo are freed. The pFrom->z field is not duplicated. If // pFrom->z is used, then pTo->z points to the same thing as pFrom->z // and flags gets srcType (either MEM_Ephem or MEM_Static). -func vdbeClrCopy(tls *libc.TLS, pTo uintptr, pFrom uintptr, eType int32) { /* sqlite3.c:78868:29: */ +func vdbeClrCopy(tls *libc.TLS, pTo uintptr, pFrom uintptr, eType int32) { /* sqlite3.c:78881:29: */ vdbeMemClearExternAndSetNull(tls, pTo) Xsqlite3VdbeMemShallowCopy(tls, pTo, pFrom, eType) } -func Xsqlite3VdbeMemShallowCopy(tls *libc.TLS, pTo uintptr, pFrom uintptr, srcType int32) { /* sqlite3.c:78873:21: */ +func Xsqlite3VdbeMemShallowCopy(tls *libc.TLS, pTo uintptr, pFrom uintptr, srcType int32) { /* sqlite3.c:78886:21: */ if int32((*Mem)(unsafe.Pointer(pTo)).Fflags)&(MEM_Agg|MEM_Dyn) != 0 { vdbeClrCopy(tls, pTo, pFrom, srcType) @@ -70997,7 +71016,7 @@ func Xsqlite3VdbeMemShallowCopy(tls *libc.TLS, pTo uintptr, pFrom uintptr, srcTy // Make a full copy of pFrom into pTo. Prior contents of pTo are // freed before the copy is made. -func Xsqlite3VdbeMemCopy(tls *libc.TLS, pTo uintptr, pFrom uintptr) int32 { /* sqlite3.c:78889:20: */ +func Xsqlite3VdbeMemCopy(tls *libc.TLS, pTo uintptr, pFrom uintptr) int32 { /* sqlite3.c:78902:20: */ var rc int32 = SQLITE_OK if int32((*Mem)(unsafe.Pointer(pTo)).Fflags)&(MEM_Agg|MEM_Dyn) != 0 { @@ -71019,7 +71038,7 @@ func Xsqlite3VdbeMemCopy(tls *libc.TLS, pTo uintptr, pFrom uintptr) int32 { /* s // freed. If pFrom contains ephemeral data, a copy is made. // // pFrom contains an SQL NULL when this routine returns. -func Xsqlite3VdbeMemMove(tls *libc.TLS, pTo uintptr, pFrom uintptr) { /* sqlite3.c:78912:21: */ +func Xsqlite3VdbeMemMove(tls *libc.TLS, pTo uintptr, pFrom uintptr) { /* sqlite3.c:78925:21: */ Xsqlite3VdbeMemRelease(tls, pTo) libc.X__builtin___memcpy_chk(tls, pTo, pFrom, uint64(unsafe.Sizeof(Mem{})), libc.X__builtin_object_size(tls, pTo, 0)) @@ -71040,7 +71059,7 @@ func Xsqlite3VdbeMemMove(tls *libc.TLS, pTo uintptr, pFrom uintptr) { /* sqlite3 // stored without allocating memory, then it is. If a memory allocation // is required to store the string, then value of pMem is unchanged. In // either case, SQLITE_TOOBIG is returned. -func Xsqlite3VdbeMemSetStr(tls *libc.TLS, pMem uintptr, z uintptr, n I64, enc U8, xDel uintptr) int32 { /* sqlite3.c:78938:20: */ +func Xsqlite3VdbeMemSetStr(tls *libc.TLS, pMem uintptr, z uintptr, n I64, enc U8, xDel uintptr) int32 { /* sqlite3.c:78951:20: */ var nByte I64 = n // New value for pMem->n var iLimit int32 // Maximum allowed string or blob size var flags U16 = U16(0) // New value for pMem->flags @@ -71153,11 +71172,11 @@ func Xsqlite3VdbeMemSetStr(tls *libc.TLS, pMem uintptr, z uintptr, n I64, enc U8 // // If this routine fails for any reason (malloc returns NULL or unable // to read from the disk) then the pMem is left in an inconsistent state. -func Xsqlite3VdbeMemFromBtree(tls *libc.TLS, pCur uintptr, offset U32, amt U32, pMem uintptr) int32 { /* sqlite3.c:79047:20: */ +func Xsqlite3VdbeMemFromBtree(tls *libc.TLS, pCur uintptr, offset U32, amt U32, pMem uintptr) int32 { /* sqlite3.c:79060:20: */ var rc int32 (*Mem)(unsafe.Pointer(pMem)).Fflags = U16(MEM_Null) if Xsqlite3BtreeMaxRecordSize(tls, pCur) < Sqlite3_int64(offset+amt) { - return Xsqlite3CorruptError(tls, 79056) + return Xsqlite3CorruptError(tls, 79069) } if SQLITE_OK == libc.AssignInt32(&rc, Xsqlite3VdbeMemClearAndResize(tls, pMem, int32(amt+U32(1)))) { rc = Xsqlite3BtreePayload(tls, pCur, offset, amt, (*Mem)(unsafe.Pointer(pMem)).Fz) @@ -71172,7 +71191,7 @@ func Xsqlite3VdbeMemFromBtree(tls *libc.TLS, pCur uintptr, offset U32, amt U32, return rc } -func Xsqlite3VdbeMemFromBtreeZeroOffset(tls *libc.TLS, pCur uintptr, amt U32, pMem uintptr) int32 { /* sqlite3.c:79070:20: */ +func Xsqlite3VdbeMemFromBtreeZeroOffset(tls *libc.TLS, pCur uintptr, amt U32, pMem uintptr) int32 { /* sqlite3.c:79083:20: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -71197,7 +71216,7 @@ func Xsqlite3VdbeMemFromBtreeZeroOffset(tls *libc.TLS, pCur uintptr, amt U32, pM // The pVal argument is known to be a value other than NULL. // Convert it into a string with encoding enc and return a pointer // to a zero-terminated version of that string. -func valueToText(tls *libc.TLS, pVal uintptr, enc U8) uintptr { /* sqlite3.c:79102:35: */ +func valueToText(tls *libc.TLS, pVal uintptr, enc U8) uintptr { /* sqlite3.c:79115:35: */ if int32((*Sqlite3_value)(unsafe.Pointer(pVal)).Fflags)&(MEM_Blob|MEM_Str) != 0 { if func() int32 { @@ -71242,7 +71261,7 @@ func valueToText(tls *libc.TLS, pVal uintptr, enc U8) uintptr { /* sqlite3.c:791 // (2006-02-16:) The enc value can be or-ed with SQLITE_UTF16_ALIGNED. // If that is the case, then the result must be aligned on an even byte // boundary. -func Xsqlite3ValueText(tls *libc.TLS, pVal uintptr, enc U8) uintptr { /* sqlite3.c:79145:27: */ +func Xsqlite3ValueText(tls *libc.TLS, pVal uintptr, enc U8) uintptr { /* sqlite3.c:79158:27: */ if !(pVal != 0) { return uintptr(0) } @@ -71258,7 +71277,7 @@ func Xsqlite3ValueText(tls *libc.TLS, pVal uintptr, enc U8) uintptr { /* sqlite3 } // Create a new sqlite3_value object. -func Xsqlite3ValueNew(tls *libc.TLS, db uintptr) uintptr { /* sqlite3.c:79163:30: */ +func Xsqlite3ValueNew(tls *libc.TLS, db uintptr) uintptr { /* sqlite3.c:79176:30: */ var p uintptr = Xsqlite3DbMallocZero(tls, db, uint64(unsafe.Sizeof(Mem{}))) if p != 0 { (*Mem)(unsafe.Pointer(p)).Fflags = U16(MEM_Null) @@ -71275,7 +71294,7 @@ type ValueNewStat4Ctx = struct { FppRec uintptr FiVal int32 F__ccgo_pad1 [4]byte -} /* sqlite3.c:79176:1 */ +} /* sqlite3.c:79189:1 */ // Allocate and return a pointer to a new sqlite3_value object. If // the second argument to this function is NULL, the object is allocated @@ -71286,7 +71305,7 @@ type ValueNewStat4Ctx = struct { // already been allocated, allocate the UnpackedRecord structure that // that function will return to its caller here. Then return a pointer to // an sqlite3_value within the UnpackedRecord.a[] array. -func valueNew(tls *libc.TLS, db uintptr, p uintptr) uintptr { /* sqlite3.c:79194:22: */ +func valueNew(tls *libc.TLS, db uintptr, p uintptr) uintptr { /* sqlite3.c:79207:22: */ if p != 0 { var pRec uintptr = *(*uintptr)(unsafe.Pointer((*ValueNewStat4Ctx)(unsafe.Pointer(p)).FppRec)) @@ -71342,7 +71361,7 @@ func valueNew(tls *libc.TLS, db uintptr, p uintptr) uintptr { /* sqlite3.c:79194 // If the conditions above are not met, this function returns SQLITE_OK // and sets (*ppVal) to NULL. Or, if an error occurs, (*ppVal) is set to // NULL and an SQLite error code returned. -func valueFromFunction(tls *libc.TLS, db uintptr, p uintptr, enc U8, aff U8, ppVal uintptr, pCtx uintptr) int32 { /* sqlite3.c:79256:12: */ +func valueFromFunction(tls *libc.TLS, db uintptr, p uintptr, enc U8, aff U8, ppVal uintptr, pCtx uintptr) int32 { /* sqlite3.c:79269:12: */ bp := tls.Alloc(64) defer tls.Free(64) @@ -71488,7 +71507,7 @@ __14: // has been allocated, it is freed before returning. Or, if pCtx is not // NULL, it is assumed that the caller will free any allocated object // in all cases. -func valueFromExpr(tls *libc.TLS, db uintptr, pExpr uintptr, enc U8, affinity U8, ppVal uintptr, pCtx uintptr) int32 { /* sqlite3.c:79352:12: */ +func valueFromExpr(tls *libc.TLS, db uintptr, pExpr uintptr, enc U8, affinity U8, ppVal uintptr, pCtx uintptr) int32 { /* sqlite3.c:79365:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -71736,7 +71755,7 @@ __35: // a pointer written to *ppVal. The caller is responsible for deallocating // the value by passing it to sqlite3ValueFree() later on. If the expression // cannot be converted to a value, then *ppVal is set to NULL. -func Xsqlite3ValueFromExpr(tls *libc.TLS, db uintptr, pExpr uintptr, enc U8, affinity U8, ppVal uintptr) int32 { /* sqlite3.c:79507:20: */ +func Xsqlite3ValueFromExpr(tls *libc.TLS, db uintptr, pExpr uintptr, enc U8, affinity U8, ppVal uintptr) int32 { /* sqlite3.c:79520:20: */ if pExpr != 0 { return valueFromExpr(tls, db, pExpr, enc, affinity, ppVal, uintptr(0)) } @@ -71759,7 +71778,7 @@ func Xsqlite3ValueFromExpr(tls *libc.TLS, db uintptr, pExpr uintptr, enc U8, aff // // On success, *ppVal is made to point to the extracted value. The caller // is responsible for ensuring that the value is eventually freed. -func stat4ValueFromExpr(tls *libc.TLS, pParse uintptr, pExpr uintptr, affinity U8, pAlloc uintptr, ppVal uintptr) int32 { /* sqlite3.c:79536:12: */ +func stat4ValueFromExpr(tls *libc.TLS, pParse uintptr, pExpr uintptr, affinity U8, pAlloc uintptr, ppVal uintptr) int32 { /* sqlite3.c:79549:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -71827,7 +71846,7 @@ func stat4ValueFromExpr(tls *libc.TLS, pParse uintptr, pExpr uintptr, affinity U // Unless an error is encountered, SQLITE_OK is returned. It is not an // error if a value cannot be extracted from pExpr. If an error does // occur, an SQLite error code is returned. -func Xsqlite3Stat4ProbeSetValue(tls *libc.TLS, pParse uintptr, pIdx uintptr, ppRec uintptr, pExpr uintptr, nElem int32, iVal int32, pnExtract uintptr) int32 { /* sqlite3.c:79611:20: */ +func Xsqlite3Stat4ProbeSetValue(tls *libc.TLS, pParse uintptr, pIdx uintptr, ppRec uintptr, pExpr uintptr, nElem int32, iVal int32, pnExtract uintptr) int32 { /* sqlite3.c:79624:20: */ bp := tls.Alloc(40) defer tls.Free(40) @@ -71872,7 +71891,7 @@ func Xsqlite3Stat4ProbeSetValue(tls *libc.TLS, pParse uintptr, pIdx uintptr, ppR // (e.g. OOM), return SQLITE_OK and set *ppVal to NULL. Or, if an error // does occur, return an SQLite error code. The final value of *ppVal // is undefined in this case. -func Xsqlite3Stat4ValueFromExpr(tls *libc.TLS, pParse uintptr, pExpr uintptr, affinity U8, ppVal uintptr) int32 { /* sqlite3.c:79656:20: */ +func Xsqlite3Stat4ValueFromExpr(tls *libc.TLS, pParse uintptr, pExpr uintptr, affinity U8, ppVal uintptr) int32 { /* sqlite3.c:79669:20: */ return stat4ValueFromExpr(tls, pParse, pExpr, affinity, uintptr(0), ppVal) } @@ -71882,7 +71901,7 @@ func Xsqlite3Stat4ValueFromExpr(tls *libc.TLS, pParse uintptr, pExpr uintptr, af // // If *ppVal is initially NULL then the caller is responsible for // ensuring that the value written into *ppVal is eventually freed. -func Xsqlite3Stat4Column(tls *libc.TLS, db uintptr, pRec uintptr, nRec int32, iCol int32, ppVal uintptr) int32 { /* sqlite3.c:79673:20: */ +func Xsqlite3Stat4Column(tls *libc.TLS, db uintptr, pRec uintptr, nRec int32, iCol int32, ppVal uintptr) int32 { /* sqlite3.c:79686:20: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -71903,7 +71922,7 @@ func Xsqlite3Stat4Column(tls *libc.TLS, db uintptr, pRec uintptr, nRec int32, iC return Xsqlite3GetVarint32(tls, a, bp) }()) if *(*int32)(unsafe.Pointer(bp)) > nRec || iHdr >= *(*int32)(unsafe.Pointer(bp)) { - return Xsqlite3CorruptError(tls, 79691) + return Xsqlite3CorruptError(tls, 79704) } iField = *(*int32)(unsafe.Pointer(bp /* nHdr */)) for i = 0; i <= iCol; i++ { @@ -71918,14 +71937,14 @@ func Xsqlite3Stat4Column(tls *libc.TLS, db uintptr, pRec uintptr, nRec int32, iC }()) if iHdr > *(*int32)(unsafe.Pointer(bp)) { - return Xsqlite3CorruptError(tls, 79697) + return Xsqlite3CorruptError(tls, 79710) } szField = int32(Xsqlite3VdbeSerialTypeLen(tls, *(*U32)(unsafe.Pointer(bp + 4 /* t */)))) iField = iField + szField } if iField > nRec { - return Xsqlite3CorruptError(tls, 79703) + return Xsqlite3CorruptError(tls, 79716) } if pMem == uintptr(0) { pMem = libc.AssignPtrUintptr(ppVal, Xsqlite3ValueNew(tls, db)) @@ -71941,7 +71960,7 @@ func Xsqlite3Stat4Column(tls *libc.TLS, db uintptr, pRec uintptr, nRec int32, iC // Unless it is NULL, the argument must be an UnpackedRecord object returned // by an earlier call to sqlite3Stat4ProbeSetValue(). This call deletes // the object. -func Xsqlite3Stat4ProbeFree(tls *libc.TLS, pRec uintptr) { /* sqlite3.c:79718:21: */ +func Xsqlite3Stat4ProbeFree(tls *libc.TLS, pRec uintptr) { /* sqlite3.c:79731:21: */ if pRec != 0 { var i int32 var nCol int32 = int32((*KeyInfo)(unsafe.Pointer((*UnpackedRecord)(unsafe.Pointer(pRec)).FpKeyInfo)).FnAllField) @@ -71956,14 +71975,14 @@ func Xsqlite3Stat4ProbeFree(tls *libc.TLS, pRec uintptr) { /* sqlite3.c:79718:21 } // Change the string value of an sqlite3_value object -func Xsqlite3ValueSetStr(tls *libc.TLS, v uintptr, n int32, z uintptr, enc U8, xDel uintptr) { /* sqlite3.c:79736:21: */ +func Xsqlite3ValueSetStr(tls *libc.TLS, v uintptr, n int32, z uintptr, enc U8, xDel uintptr) { /* sqlite3.c:79749:21: */ if v != 0 { Xsqlite3VdbeMemSetStr(tls, v, z, int64(n), enc, xDel) } } // Free an sqlite3_value object -func Xsqlite3ValueFree(tls *libc.TLS, v uintptr) { /* sqlite3.c:79749:21: */ +func Xsqlite3ValueFree(tls *libc.TLS, v uintptr) { /* sqlite3.c:79762:21: */ if !(v != 0) { return } @@ -71974,14 +71993,14 @@ func Xsqlite3ValueFree(tls *libc.TLS, v uintptr) { /* sqlite3.c:79749:21: */ // The sqlite3ValueBytes() routine returns the number of bytes in the // sqlite3_value object assuming that it uses the encoding "enc". // The valueBytes() routine is a helper function. -func valueBytes(tls *libc.TLS, pVal uintptr, enc U8) int32 { /* sqlite3.c:79760:28: */ +func valueBytes(tls *libc.TLS, pVal uintptr, enc U8) int32 { /* sqlite3.c:79773:28: */ if valueToText(tls, pVal, enc) != uintptr(0) { return (*Sqlite3_value)(unsafe.Pointer(pVal)).Fn } return 0 } -func Xsqlite3ValueBytes(tls *libc.TLS, pVal uintptr, enc U8) int32 { /* sqlite3.c:79763:20: */ +func Xsqlite3ValueBytes(tls *libc.TLS, pVal uintptr, enc U8) int32 { /* sqlite3.c:79776:20: */ var p uintptr = pVal if int32((*Mem)(unsafe.Pointer(p)).Fflags)&MEM_Str != 0 && int32((*Sqlite3_value)(unsafe.Pointer(pVal)).Fenc) == int32(enc) { @@ -72001,7 +72020,7 @@ func Xsqlite3ValueBytes(tls *libc.TLS, pVal uintptr, enc U8) int32 { /* sqlite3. } // Create a new virtual database engine. -func Xsqlite3VdbeCreate(tls *libc.TLS, pParse uintptr) uintptr { /* sqlite3.c:79806:21: */ +func Xsqlite3VdbeCreate(tls *libc.TLS, pParse uintptr) uintptr { /* sqlite3.c:79819:21: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb var p uintptr p = Xsqlite3DbMallocRawNN(tls, db, uint64(unsafe.Sizeof(Vdbe{}))) @@ -72025,12 +72044,12 @@ func Xsqlite3VdbeCreate(tls *libc.TLS, pParse uintptr) uintptr { /* sqlite3.c:79 } // Return the Parse object that owns a Vdbe object. -func Xsqlite3VdbeParser(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:79833:22: */ +func Xsqlite3VdbeParser(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:79846:22: */ return (*Vdbe)(unsafe.Pointer(p)).FpParse } // Change the error string stored in Vdbe.zErrMsg -func Xsqlite3VdbeError(tls *libc.TLS, p uintptr, zFormat uintptr, va uintptr) { /* sqlite3.c:79840:21: */ +func Xsqlite3VdbeError(tls *libc.TLS, p uintptr, zFormat uintptr, va uintptr) { /* sqlite3.c:79853:21: */ var ap Va_list _ = ap Xsqlite3DbFree(tls, (*Vdbe)(unsafe.Pointer(p)).Fdb, (*Vdbe)(unsafe.Pointer(p)).FzErrMsg) @@ -72040,7 +72059,7 @@ func Xsqlite3VdbeError(tls *libc.TLS, p uintptr, zFormat uintptr, va uintptr) { } // Remember the SQL string for a prepared statement. -func Xsqlite3VdbeSetSql(tls *libc.TLS, p uintptr, z uintptr, n int32, prepFlags U8) { /* sqlite3.c:79851:21: */ +func Xsqlite3VdbeSetSql(tls *libc.TLS, p uintptr, z uintptr, n int32, prepFlags U8) { /* sqlite3.c:79864:21: */ if p == uintptr(0) { return } @@ -72053,7 +72072,7 @@ func Xsqlite3VdbeSetSql(tls *libc.TLS, p uintptr, z uintptr, n int32, prepFlags } // Swap all content between two VDBE structures. -func Xsqlite3VdbeSwap(tls *libc.TLS, pA uintptr, pB uintptr) { /* sqlite3.c:79901:21: */ +func Xsqlite3VdbeSwap(tls *libc.TLS, pA uintptr, pB uintptr) { /* sqlite3.c:79914:21: */ var tmp Vdbe var pTmp uintptr var zTmp uintptr @@ -72084,7 +72103,7 @@ func Xsqlite3VdbeSwap(tls *libc.TLS, pA uintptr, pB uintptr) { /* sqlite3.c:7990 // SQLITE_NOMEM. In this case Vdbe.aOp and Vdbe.nOpAlloc remain // unchanged (this is so that any opcodes already allocated can be // correctly deallocated along with the rest of the Vdbe). -func growOpArray(tls *libc.TLS, v uintptr, nOp int32) int32 { /* sqlite3.c:79938:12: */ +func growOpArray(tls *libc.TLS, v uintptr, nOp int32) int32 { /* sqlite3.c:79951:12: */ var pNew uintptr var p uintptr = (*Vdbe)(unsafe.Pointer(v)).FpParse @@ -72137,7 +72156,7 @@ func growOpArray(tls *libc.TLS, v uintptr, nOp int32) int32 { /* sqlite3.c:79938 // Use the sqlite3VdbeResolveLabel() function to fix an address and // the sqlite3VdbeChangeP4() function to change the value of the P4 // operand. -func growOp3(tls *libc.TLS, p uintptr, op int32, p1 int32, p2 int32, p3 int32) int32 { /* sqlite3.c:80009:28: */ +func growOp3(tls *libc.TLS, p uintptr, op int32, p1 int32, p2 int32, p3 int32) int32 { /* sqlite3.c:80022:28: */ if growOpArray(tls, p, 1) != 0 { return 1 @@ -72146,7 +72165,7 @@ func growOp3(tls *libc.TLS, p uintptr, op int32, p1 int32, p2 int32, p3 int32) i return Xsqlite3VdbeAddOp3(tls, p, op, p1, p2, p3) } -func Xsqlite3VdbeAddOp3(tls *libc.TLS, p uintptr, op int32, p1 int32, p2 int32, p3 int32) int32 { /* sqlite3.c:80015:20: */ +func Xsqlite3VdbeAddOp3(tls *libc.TLS, p uintptr, op int32, p1 int32, p2 int32, p3 int32) int32 { /* sqlite3.c:80028:20: */ var i int32 var pOp uintptr @@ -72169,26 +72188,26 @@ func Xsqlite3VdbeAddOp3(tls *libc.TLS, p uintptr, op int32, p1 int32, p2 int32, return i } -func Xsqlite3VdbeAddOp0(tls *libc.TLS, p uintptr, op int32) int32 { /* sqlite3.c:80054:20: */ +func Xsqlite3VdbeAddOp0(tls *libc.TLS, p uintptr, op int32) int32 { /* sqlite3.c:80067:20: */ return Xsqlite3VdbeAddOp3(tls, p, op, 0, 0, 0) } -func Xsqlite3VdbeAddOp1(tls *libc.TLS, p uintptr, op int32, p1 int32) int32 { /* sqlite3.c:80057:20: */ +func Xsqlite3VdbeAddOp1(tls *libc.TLS, p uintptr, op int32, p1 int32) int32 { /* sqlite3.c:80070:20: */ return Xsqlite3VdbeAddOp3(tls, p, op, p1, 0, 0) } -func Xsqlite3VdbeAddOp2(tls *libc.TLS, p uintptr, op int32, p1 int32, p2 int32) int32 { /* sqlite3.c:80060:20: */ +func Xsqlite3VdbeAddOp2(tls *libc.TLS, p uintptr, op int32, p1 int32, p2 int32) int32 { /* sqlite3.c:80073:20: */ return Xsqlite3VdbeAddOp3(tls, p, op, p1, p2, 0) } // Generate code for an unconditional jump to instruction iDest -func Xsqlite3VdbeGoto(tls *libc.TLS, p uintptr, iDest int32) int32 { /* sqlite3.c:80066:20: */ +func Xsqlite3VdbeGoto(tls *libc.TLS, p uintptr, iDest int32) int32 { /* sqlite3.c:80079:20: */ return Xsqlite3VdbeAddOp3(tls, p, OP_Goto, 0, iDest, 0) } // Generate code to cause the string zStr to be loaded into // register iDest -func Xsqlite3VdbeLoadString(tls *libc.TLS, p uintptr, iDest int32, zStr uintptr) int32 { /* sqlite3.c:80073:20: */ +func Xsqlite3VdbeLoadString(tls *libc.TLS, p uintptr, iDest int32, zStr uintptr) int32 { /* sqlite3.c:80086:20: */ return Xsqlite3VdbeAddOp4(tls, p, OP_String8, 0, iDest, 0, zStr, 0) } @@ -72201,7 +72220,7 @@ func Xsqlite3VdbeLoadString(tls *libc.TLS, p uintptr, iDest int32, zStr uintptr) // // If the input string does not end with "X" then an OP_ResultRow instruction // is generated for the values inserted. -func Xsqlite3VdbeMultiLoad(tls *libc.TLS, p uintptr, iDest int32, zTypes uintptr, va uintptr) { /* sqlite3.c:80088:21: */ +func Xsqlite3VdbeMultiLoad(tls *libc.TLS, p uintptr, iDest int32, zTypes uintptr, va uintptr) { /* sqlite3.c:80101:21: */ var ap Va_list _ = ap var i int32 @@ -72249,7 +72268,7 @@ skip_op_resultrow: } // Add an opcode that includes the p4 value as a pointer. -func Xsqlite3VdbeAddOp4(tls *libc.TLS, p uintptr, op int32, p1 int32, p2 int32, p3 int32, zP4 uintptr, p4type int32) int32 { /* sqlite3.c:80111:20: */ +func Xsqlite3VdbeAddOp4(tls *libc.TLS, p uintptr, op int32, p1 int32, p2 int32, p3 int32, zP4 uintptr, p4type int32) int32 { /* sqlite3.c:80124:20: */ var addr int32 = Xsqlite3VdbeAddOp3(tls, p, op, p1, p2, p3) Xsqlite3VdbeChangeP4(tls, p, addr, zP4, p4type) return addr @@ -72263,7 +72282,7 @@ func Xsqlite3VdbeAddOp4(tls *libc.TLS, p uintptr, op int32, p1 int32, p2 int32, // NC_IdxExpr means called as part of an index expression. NC_PartIdx // means in the WHERE clause of a partial index. NC_GenCol means called // while computing a generated column value. 0 is the usual case. -func Xsqlite3VdbeAddFunctionCall(tls *libc.TLS, pParse uintptr, p1 int32, p2 int32, p3 int32, nArg int32, pFunc uintptr, eCallCtx int32) int32 { /* sqlite3.c:80135:20: */ +func Xsqlite3VdbeAddFunctionCall(tls *libc.TLS, pParse uintptr, p1 int32, p2 int32, p3 int32, nArg int32, pFunc uintptr, eCallCtx int32) int32 { /* sqlite3.c:80148:20: */ var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe var nByte int32 var addr int32 @@ -72295,7 +72314,7 @@ func Xsqlite3VdbeAddFunctionCall(tls *libc.TLS, pParse uintptr, p1 int32, p2 int // Add an opcode that includes the p4 value with a P4_INT64 or // P4_REAL type. -func Xsqlite3VdbeAddOp4Dup8(tls *libc.TLS, p uintptr, op int32, p1 int32, p2 int32, p3 int32, zP4 uintptr, p4type int32) int32 { /* sqlite3.c:80172:20: */ +func Xsqlite3VdbeAddOp4Dup8(tls *libc.TLS, p uintptr, op int32, p1 int32, p2 int32, p3 int32, zP4 uintptr, p4type int32) int32 { /* sqlite3.c:80185:20: */ var p4copy uintptr = Xsqlite3DbMallocRawNN(tls, Xsqlite3VdbeDb(tls, p), uint64(8)) if p4copy != 0 { libc.X__builtin___memcpy_chk(tls, p4copy, zP4, uint64(8), libc.X__builtin_object_size(tls, p4copy, 0)) @@ -72305,7 +72324,7 @@ func Xsqlite3VdbeAddOp4Dup8(tls *libc.TLS, p uintptr, op int32, p1 int32, p2 int // Return the address of the current EXPLAIN QUERY PLAN baseline. // 0 means "none". -func Xsqlite3VdbeExplainParent(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:80191:20: */ +func Xsqlite3VdbeExplainParent(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:80204:20: */ var pOp uintptr if (*Parse)(unsafe.Pointer(pParse)).FaddrExplain == 0 { return 0 @@ -72321,7 +72340,7 @@ func Xsqlite3VdbeExplainParent(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3 // // If the bPush flag is true, then make this opcode the parent for // subsequent Explains until sqlite3VdbeExplainPop() is called. -func Xsqlite3VdbeExplain(tls *libc.TLS, pParse uintptr, bPush U8, zFmt uintptr, va uintptr) { /* sqlite3.c:80215:21: */ +func Xsqlite3VdbeExplain(tls *libc.TLS, pParse uintptr, bPush U8, zFmt uintptr, va uintptr) { /* sqlite3.c:80228:21: */ // Always include the OP_Explain opcodes if SQLITE_DEBUG is defined. // But omit them (for performance) during production builds if int32((*Parse)(unsafe.Pointer(pParse)).Fexplain) == 2 { @@ -72345,7 +72364,7 @@ func Xsqlite3VdbeExplain(tls *libc.TLS, pParse uintptr, bPush U8, zFmt uintptr, } // Pop the EXPLAIN QUERY PLAN stack one level. -func Xsqlite3VdbeExplainPop(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:80243:21: */ +func Xsqlite3VdbeExplainPop(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:80256:21: */ (*Parse)(unsafe.Pointer(pParse)).FaddrExplain = Xsqlite3VdbeExplainParent(tls, pParse) } @@ -72356,7 +72375,7 @@ func Xsqlite3VdbeExplainPop(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:80243: // // The zWhere string must have been obtained from sqlite3_malloc(). // This routine will take ownership of the allocated memory. -func Xsqlite3VdbeAddParseSchemaOp(tls *libc.TLS, p uintptr, iDb int32, zWhere uintptr, p5 U16) { /* sqlite3.c:80257:21: */ +func Xsqlite3VdbeAddParseSchemaOp(tls *libc.TLS, p uintptr, iDb int32, zWhere uintptr, p5 U16) { /* sqlite3.c:80270:21: */ var j int32 Xsqlite3VdbeAddOp4(tls, p, OP_ParseSchema, iDb, 0, 0, zWhere, -7) Xsqlite3VdbeChangeP5(tls, p, p5) @@ -72367,7 +72386,7 @@ func Xsqlite3VdbeAddParseSchemaOp(tls *libc.TLS, p uintptr, iDb int32, zWhere ui } // Add an opcode that includes the p4 value as an integer. -func Xsqlite3VdbeAddOp4Int(tls *libc.TLS, p uintptr, op int32, p1 int32, p2 int32, p3 int32, p4 int32) int32 { /* sqlite3.c:80268:20: */ +func Xsqlite3VdbeAddOp4Int(tls *libc.TLS, p uintptr, op int32, p1 int32, p2 int32, p3 int32, p4 int32) int32 { /* sqlite3.c:80281:20: */ var addr int32 = Xsqlite3VdbeAddOp3(tls, p, op, p1, p2, p3) if int32((*Sqlite3)(unsafe.Pointer((*Vdbe)(unsafe.Pointer(p)).Fdb)).FmallocFailed) == 0 { var pOp uintptr = (*Vdbe)(unsafe.Pointer(p)).FaOp + uintptr(addr)*24 @@ -72378,7 +72397,7 @@ func Xsqlite3VdbeAddOp4Int(tls *libc.TLS, p uintptr, op int32, p1 int32, p2 int3 } // Insert the end of a co-routine -func Xsqlite3VdbeEndCoroutine(tls *libc.TLS, v uintptr, regYield int32) { /* sqlite3.c:80287:21: */ +func Xsqlite3VdbeEndCoroutine(tls *libc.TLS, v uintptr, regYield int32) { /* sqlite3.c:80300:21: */ Xsqlite3VdbeAddOp1(tls, v, OP_EndCoroutine, regYield) // Clear the temporary register cache, thereby ensuring that each @@ -72413,14 +72432,14 @@ func Xsqlite3VdbeEndCoroutine(tls *libc.TLS, v uintptr, regYield int32) { /* sql // been issued. The negative is stored because // that gives a performance improvement over storing // the equivalent positive value. -func Xsqlite3VdbeMakeLabel(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:80325:20: */ +func Xsqlite3VdbeMakeLabel(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:80338:20: */ return libc.PreDecInt32(&(*Parse)(unsafe.Pointer(pParse)).FnLabel, 1) } // Resolve label "x" to be the address of the next instruction to // be inserted. The parameter "x" must have been obtained from // a prior call to sqlite3VdbeMakeLabel(). -func resizeResolveLabel(tls *libc.TLS, p uintptr, v uintptr, j int32) { /* sqlite3.c:80334:29: */ +func resizeResolveLabel(tls *libc.TLS, p uintptr, v uintptr, j int32) { /* sqlite3.c:80347:29: */ var nNewSize int32 = 10 - (*Parse)(unsafe.Pointer(p)).FnLabel (*Parse)(unsafe.Pointer(p)).FaLabel = Xsqlite3DbReallocOrFree(tls, (*Parse)(unsafe.Pointer(p)).Fdb, (*Parse)(unsafe.Pointer(p)).FaLabel, uint64(uint64(nNewSize)*uint64(unsafe.Sizeof(int32(0))))) @@ -72432,7 +72451,7 @@ func resizeResolveLabel(tls *libc.TLS, p uintptr, v uintptr, j int32) { /* sqlit } } -func Xsqlite3VdbeResolveLabel(tls *libc.TLS, v uintptr, x int32) { /* sqlite3.c:80349:21: */ +func Xsqlite3VdbeResolveLabel(tls *libc.TLS, v uintptr, x int32) { /* sqlite3.c:80362:21: */ var p uintptr = (*Vdbe)(unsafe.Pointer(v)).FpParse var j int32 = ^x @@ -72445,12 +72464,12 @@ func Xsqlite3VdbeResolveLabel(tls *libc.TLS, v uintptr, x int32) { /* sqlite3.c: } // Mark the VDBE as one that can only be run one time. -func Xsqlite3VdbeRunOnlyOnce(tls *libc.TLS, p uintptr) { /* sqlite3.c:80371:21: */ +func Xsqlite3VdbeRunOnlyOnce(tls *libc.TLS, p uintptr) { /* sqlite3.c:80384:21: */ libc.SetBitFieldPtr16Uint32(p+208, Bft(1), 5, 0x20) } // Mark the VDBE as one that can only be run multiple times. -func Xsqlite3VdbeReusable(tls *libc.TLS, p uintptr) { /* sqlite3.c:80378:21: */ +func Xsqlite3VdbeReusable(tls *libc.TLS, p uintptr) { /* sqlite3.c:80391:21: */ libc.SetBitFieldPtr16Uint32(p+208, Bft(0), 5, 0x20) } @@ -72473,7 +72492,7 @@ func Xsqlite3VdbeReusable(tls *libc.TLS, p uintptr) { /* sqlite3.c:80378:21: */ // This routine will only function correctly if the mkopcodeh.tcl generator // script numbers the opcodes correctly. Changes to this routine must be // coordinated with changes to mkopcodeh.tcl. -func resolveP2Values(tls *libc.TLS, p uintptr, pMaxFuncArgs uintptr) { /* sqlite3.c:80574:13: */ +func resolveP2Values(tls *libc.TLS, p uintptr, pMaxFuncArgs uintptr) { /* sqlite3.c:80587:13: */ var nMaxArgs int32 = *(*int32)(unsafe.Pointer(pMaxFuncArgs)) var pOp uintptr var pParse uintptr = (*Vdbe)(unsafe.Pointer(p)).FpParse @@ -72605,7 +72624,7 @@ func resolveP2Values(tls *libc.TLS, p uintptr, pMaxFuncArgs uintptr) { /* sqlite } // Return the address of the next instruction to be inserted. -func Xsqlite3VdbeCurrentAddr(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:80676:20: */ +func Xsqlite3VdbeCurrentAddr(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:80689:20: */ return (*Vdbe)(unsafe.Pointer(p)).FnOp } @@ -72636,7 +72655,7 @@ func Xsqlite3VdbeCurrentAddr(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:8067 // array. Also, *pnMaxArg is set to the larger of its current value and // the number of entries in the Vdbe.apArg[] array required to execute the // returned program. -func Xsqlite3VdbeTakeOpArray(tls *libc.TLS, p uintptr, pnOp uintptr, pnMaxArg uintptr) uintptr { /* sqlite3.c:80733:23: */ +func Xsqlite3VdbeTakeOpArray(tls *libc.TLS, p uintptr, pnOp uintptr, pnMaxArg uintptr) uintptr { /* sqlite3.c:80746:23: */ var aOp uintptr = (*Vdbe)(unsafe.Pointer(p)).FaOp // Check that sqlite3VdbeUsesBtree() was not called on this VM @@ -72652,7 +72671,7 @@ func Xsqlite3VdbeTakeOpArray(tls *libc.TLS, p uintptr, pnOp uintptr, pnMaxArg ui // // Non-zero P2 arguments to jump instructions are automatically adjusted // so that the jump target is relative to the first operation inserted. -func Xsqlite3VdbeAddOpList(tls *libc.TLS, p uintptr, nOp int32, aOp uintptr, iLineno int32) uintptr { /* sqlite3.c:80753:23: */ +func Xsqlite3VdbeAddOpList(tls *libc.TLS, p uintptr, nOp int32, aOp uintptr, iLineno int32) uintptr { /* sqlite3.c:80766:23: */ var i int32 var pOut uintptr var pFirst uintptr @@ -72696,23 +72715,23 @@ __3: // Change the value of the opcode, or P1, P2, P3, or P5 operands // for a specific instruction. -func Xsqlite3VdbeChangeOpcode(tls *libc.TLS, p uintptr, addr int32, iNewOpcode U8) { /* sqlite3.c:80829:21: */ +func Xsqlite3VdbeChangeOpcode(tls *libc.TLS, p uintptr, addr int32, iNewOpcode U8) { /* sqlite3.c:80842:21: */ (*VdbeOp)(unsafe.Pointer(Xsqlite3VdbeGetOp(tls, p, addr))).Fopcode = iNewOpcode } -func Xsqlite3VdbeChangeP1(tls *libc.TLS, p uintptr, addr int32, val int32) { /* sqlite3.c:80832:21: */ +func Xsqlite3VdbeChangeP1(tls *libc.TLS, p uintptr, addr int32, val int32) { /* sqlite3.c:80845:21: */ (*VdbeOp)(unsafe.Pointer(Xsqlite3VdbeGetOp(tls, p, addr))).Fp1 = val } -func Xsqlite3VdbeChangeP2(tls *libc.TLS, p uintptr, addr int32, val int32) { /* sqlite3.c:80835:21: */ +func Xsqlite3VdbeChangeP2(tls *libc.TLS, p uintptr, addr int32, val int32) { /* sqlite3.c:80848:21: */ (*VdbeOp)(unsafe.Pointer(Xsqlite3VdbeGetOp(tls, p, addr))).Fp2 = val } -func Xsqlite3VdbeChangeP3(tls *libc.TLS, p uintptr, addr int32, val int32) { /* sqlite3.c:80838:21: */ +func Xsqlite3VdbeChangeP3(tls *libc.TLS, p uintptr, addr int32, val int32) { /* sqlite3.c:80851:21: */ (*VdbeOp)(unsafe.Pointer(Xsqlite3VdbeGetOp(tls, p, addr))).Fp3 = val } -func Xsqlite3VdbeChangeP5(tls *libc.TLS, p uintptr, p5 U16) { /* sqlite3.c:80841:21: */ +func Xsqlite3VdbeChangeP5(tls *libc.TLS, p uintptr, p5 U16) { /* sqlite3.c:80854:21: */ if (*Vdbe)(unsafe.Pointer(p)).FnOp > 0 { (*Op)(unsafe.Pointer((*Vdbe)(unsafe.Pointer(p)).FaOp + uintptr((*Vdbe)(unsafe.Pointer(p)).FnOp-1)*24)).Fp5 = p5 @@ -72721,7 +72740,7 @@ func Xsqlite3VdbeChangeP5(tls *libc.TLS, p uintptr, p5 U16) { /* sqlite3.c:80841 // Change the P2 operand of instruction addr so that it points to // the address of the next instruction to be coded. -func Xsqlite3VdbeJumpHere(tls *libc.TLS, p uintptr, addr int32) { /* sqlite3.c:80850:21: */ +func Xsqlite3VdbeJumpHere(tls *libc.TLS, p uintptr, addr int32) { /* sqlite3.c:80863:21: */ Xsqlite3VdbeChangeP2(tls, p, addr, (*Vdbe)(unsafe.Pointer(p)).FnOp) } @@ -72736,7 +72755,7 @@ func Xsqlite3VdbeJumpHere(tls *libc.TLS, p uintptr, addr int32) { /* sqlite3.c:8 // // 7 Once 0 8 0 // 8 ... -func Xsqlite3VdbeJumpHereOrPopInst(tls *libc.TLS, p uintptr, addr int32) { /* sqlite3.c:80867:21: */ +func Xsqlite3VdbeJumpHereOrPopInst(tls *libc.TLS, p uintptr, addr int32) { /* sqlite3.c:80880:21: */ if addr == (*Vdbe)(unsafe.Pointer(p)).FnOp-1 { (*Vdbe)(unsafe.Pointer(p)).FnOp-- @@ -72747,26 +72766,26 @@ func Xsqlite3VdbeJumpHereOrPopInst(tls *libc.TLS, p uintptr, addr int32) { /* sq // If the input FuncDef structure is ephemeral, then free it. If // the FuncDef is not ephermal, then do nothing. -func freeEphemeralFunction(tls *libc.TLS, db uintptr, pDef uintptr) { /* sqlite3.c:80887:13: */ +func freeEphemeralFunction(tls *libc.TLS, db uintptr, pDef uintptr) { /* sqlite3.c:80900:13: */ if (*FuncDef)(unsafe.Pointer(pDef)).FfuncFlags&U32(SQLITE_FUNC_EPHEM) != U32(0) { Xsqlite3DbFreeNN(tls, db, pDef) } } // Delete a P4 value if necessary. -func freeP4Mem(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:80896:29: */ +func freeP4Mem(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:80909:29: */ if (*Mem)(unsafe.Pointer(p)).FszMalloc != 0 { Xsqlite3DbFree(tls, db, (*Mem)(unsafe.Pointer(p)).FzMalloc) } Xsqlite3DbFreeNN(tls, db, p) } -func freeP4FuncCtx(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:80900:29: */ +func freeP4FuncCtx(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:80913:29: */ freeEphemeralFunction(tls, db, (*Sqlite3_context)(unsafe.Pointer(p)).FpFunc) Xsqlite3DbFreeNN(tls, db, p) } -func freeP4(tls *libc.TLS, db uintptr, p4type int32, p4 uintptr) { /* sqlite3.c:80904:13: */ +func freeP4(tls *libc.TLS, db uintptr, p4type int32, p4 uintptr) { /* sqlite3.c:80917:13: */ switch p4type { case -16: @@ -72827,7 +72846,7 @@ func freeP4(tls *libc.TLS, db uintptr, p4type int32, p4 uintptr) { /* sqlite3.c: // Free the space allocated for aOp and any p4 values allocated for the // opcodes contained within. If aOp is not NULL it is assumed to contain // nOp entries. -func vdbeFreeOpArray(tls *libc.TLS, db uintptr, aOp uintptr, nOp int32) { /* sqlite3.c:80953:13: */ +func vdbeFreeOpArray(tls *libc.TLS, db uintptr, aOp uintptr, nOp int32) { /* sqlite3.c:80966:13: */ if aOp != 0 { var pOp uintptr for pOp = aOp + uintptr(nOp-1)*24; pOp >= aOp; pOp -= 24 { @@ -72842,18 +72861,18 @@ func vdbeFreeOpArray(tls *libc.TLS, db uintptr, aOp uintptr, nOp int32) { /* sql // Link the SubProgram object passed as the second argument into the linked // list at Vdbe.pSubProgram. This list is used to delete all sub-program // objects when the VM is no longer required. -func Xsqlite3VdbeLinkSubProgram(tls *libc.TLS, pVdbe uintptr, p uintptr) { /* sqlite3.c:80971:21: */ +func Xsqlite3VdbeLinkSubProgram(tls *libc.TLS, pVdbe uintptr, p uintptr) { /* sqlite3.c:80984:21: */ (*SubProgram)(unsafe.Pointer(p)).FpNext = (*Vdbe)(unsafe.Pointer(pVdbe)).FpProgram (*Vdbe)(unsafe.Pointer(pVdbe)).FpProgram = p } // Return true if the given Vdbe has any SubPrograms. -func Xsqlite3VdbeHasSubProgram(tls *libc.TLS, pVdbe uintptr) int32 { /* sqlite3.c:80979:20: */ +func Xsqlite3VdbeHasSubProgram(tls *libc.TLS, pVdbe uintptr) int32 { /* sqlite3.c:80992:20: */ return libc.Bool32((*Vdbe)(unsafe.Pointer(pVdbe)).FpProgram != uintptr(0)) } // Change the opcode at addr into OP_Noop -func Xsqlite3VdbeChangeToNoop(tls *libc.TLS, p uintptr, addr int32) int32 { /* sqlite3.c:80986:20: */ +func Xsqlite3VdbeChangeToNoop(tls *libc.TLS, p uintptr, addr int32) int32 { /* sqlite3.c:80999:20: */ var pOp uintptr if (*Sqlite3)(unsafe.Pointer((*Vdbe)(unsafe.Pointer(p)).Fdb)).FmallocFailed != 0 { return 0 @@ -72869,7 +72888,7 @@ func Xsqlite3VdbeChangeToNoop(tls *libc.TLS, p uintptr, addr int32) int32 { /* s // If the last opcode is "op" and it is not a jump destination, // then remove it. Return true if and only if an opcode was removed. -func Xsqlite3VdbeDeletePriorOpcode(tls *libc.TLS, p uintptr, op U8) int32 { /* sqlite3.c:81002:20: */ +func Xsqlite3VdbeDeletePriorOpcode(tls *libc.TLS, p uintptr, op U8) int32 { /* sqlite3.c:81015:20: */ if (*Vdbe)(unsafe.Pointer(p)).FnOp > 0 && int32((*Op)(unsafe.Pointer((*Vdbe)(unsafe.Pointer(p)).FaOp+uintptr((*Vdbe)(unsafe.Pointer(p)).FnOp-1)*24)).Fopcode) == int32(op) { return Xsqlite3VdbeChangeToNoop(tls, p, (*Vdbe)(unsafe.Pointer(p)).FnOp-1) } else { @@ -72893,7 +72912,7 @@ func Xsqlite3VdbeDeletePriorOpcode(tls *libc.TLS, p uintptr, op U8) int32 { /* s // the Vdbe. In these cases we can just copy the pointer. // // If addr<0 then change P4 on the most recently inserted instruction. -func vdbeChangeP4Full(tls *libc.TLS, p uintptr, pOp uintptr, zP4 uintptr, n int32) { /* sqlite3.c:81062:29: */ +func vdbeChangeP4Full(tls *libc.TLS, p uintptr, pOp uintptr, zP4 uintptr, n int32) { /* sqlite3.c:81075:29: */ if (*Op)(unsafe.Pointer(pOp)).Fp4type != 0 { freeP4(tls, (*Vdbe)(unsafe.Pointer(p)).Fdb, int32((*Op)(unsafe.Pointer(pOp)).Fp4type), *(*uintptr)(unsafe.Pointer(pOp + 16))) (*Op)(unsafe.Pointer(pOp)).Fp4type = int8(0) @@ -72910,7 +72929,7 @@ func vdbeChangeP4Full(tls *libc.TLS, p uintptr, pOp uintptr, zP4 uintptr, n int3 } } -func Xsqlite3VdbeChangeP4(tls *libc.TLS, p uintptr, addr int32, zP4 uintptr, n int32) { /* sqlite3.c:81081:21: */ +func Xsqlite3VdbeChangeP4(tls *libc.TLS, p uintptr, addr int32, zP4 uintptr, n int32) { /* sqlite3.c:81094:21: */ bp := tls.Alloc(8) defer tls.Free(8) *(*uintptr)(unsafe.Pointer(bp)) = zP4 @@ -72957,7 +72976,7 @@ func Xsqlite3VdbeChangeP4(tls *libc.TLS, p uintptr, addr int32, zP4 uintptr, n i // The P4 operand must not have been previously defined. And the new // P4 must not be P4_INT32. Use sqlite3VdbeChangeP4() in either of // those cases. -func Xsqlite3VdbeAppendP4(tls *libc.TLS, p uintptr, pP4 uintptr, n int32) { /* sqlite3.c:81124:21: */ +func Xsqlite3VdbeAppendP4(tls *libc.TLS, p uintptr, pP4 uintptr, n int32) { /* sqlite3.c:81137:21: */ var pOp uintptr if (*Sqlite3)(unsafe.Pointer((*Vdbe)(unsafe.Pointer(p)).Fdb)).FmallocFailed != 0 { @@ -72973,7 +72992,7 @@ func Xsqlite3VdbeAppendP4(tls *libc.TLS, p uintptr, pP4 uintptr, n int32) { /* s // Set the P4 on the most recently added opcode to the KeyInfo for the // index given. -func Xsqlite3VdbeSetP4KeyInfo(tls *libc.TLS, pParse uintptr, pIdx uintptr) { /* sqlite3.c:81144:21: */ +func Xsqlite3VdbeSetP4KeyInfo(tls *libc.TLS, pParse uintptr, pIdx uintptr) { /* sqlite3.c:81157:21: */ var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe var pKeyInfo uintptr @@ -72994,7 +73013,7 @@ func Xsqlite3VdbeSetP4KeyInfo(tls *libc.TLS, pParse uintptr, pIdx uintptr) { /* // this routine is a valid pointer. But because the dummy.opcode is 0, // dummy will never be written to. This is verified by code inspection and // by running with Valgrind. -func Xsqlite3VdbeGetOp(tls *libc.TLS, p uintptr, addr int32) uintptr { /* sqlite3.c:81210:23: */ // Ignore the MSVC warning about no initializer +func Xsqlite3VdbeGetOp(tls *libc.TLS, p uintptr, addr int32) uintptr { /* sqlite3.c:81223:23: */ // Ignore the MSVC warning about no initializer if addr < 0 { addr = (*Vdbe)(unsafe.Pointer(p)).FnOp - 1 @@ -73008,11 +73027,11 @@ func Xsqlite3VdbeGetOp(tls *libc.TLS, p uintptr, addr int32) uintptr { /* sqlite return uintptr(0) } -var dummy VdbeOp /* sqlite3.c:81213:17: */ +var dummy VdbeOp /* sqlite3.c:81226:17: */ // Compute a string that describes the P4 parameter for an opcode. // Use zTemp for any required temporary buffer space. -func Xsqlite3VdbeDisplayP4(tls *libc.TLS, db uintptr, pOp uintptr) uintptr { /* sqlite3.c:81414:21: */ +func Xsqlite3VdbeDisplayP4(tls *libc.TLS, db uintptr, pOp uintptr) uintptr { /* sqlite3.c:81427:21: */ bp := tls.Alloc(176) defer tls.Free(176) @@ -73175,7 +73194,7 @@ func Xsqlite3VdbeDisplayP4(tls *libc.TLS, db uintptr, pOp uintptr) uintptr { /* return Xsqlite3StrAccumFinish(tls, bp+144) } -var encnames = [4]uintptr{ts + 5362, ts + 5364, ts + 5366, ts + 5371} /* sqlite3.c:81444:25 */ +var encnames = [4]uintptr{ts + 5362, ts + 5364, ts + 5366, ts + 5371} /* sqlite3.c:81457:25 */ // Declare to the Vdbe that the BTree object at db->aDb[i] is used. // @@ -73183,7 +73202,7 @@ var encnames = [4]uintptr{ts + 5362, ts + 5364, ts + 5366, ts + 5371} /* sqlite3 // attached databases that will be use. A mask of these databases // is maintained in p->btreeMask. The p->lockMask value is the subset of // p->btreeMask of databases that will require a lock. -func Xsqlite3VdbeUsesBtree(tls *libc.TLS, p uintptr, i int32) { /* sqlite3.c:81539:21: */ +func Xsqlite3VdbeUsesBtree(tls *libc.TLS, p uintptr, i int32) { /* sqlite3.c:81552:21: */ *(*YDbMask)(unsafe.Pointer(p + 212)) |= YDbMask(YDbMask(1)) << i if i != 1 && Xsqlite3BtreeSharable(tls, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer((*Vdbe)(unsafe.Pointer(p)).Fdb)).FaDb+uintptr(i)*32)).FpBt) != 0 { @@ -73210,7 +73229,7 @@ func Xsqlite3VdbeUsesBtree(tls *libc.TLS, p uintptr, i int32) { /* sqlite3.c:815 // corresponding to btrees that use shared cache. Then the runtime of // this routine is N*N. But as N is rarely more than 1, this should not // be a problem. -func Xsqlite3VdbeEnter(tls *libc.TLS, p uintptr) { /* sqlite3.c:81570:21: */ +func Xsqlite3VdbeEnter(tls *libc.TLS, p uintptr) { /* sqlite3.c:81583:21: */ var i int32 var db uintptr var aDb uintptr @@ -73229,7 +73248,7 @@ func Xsqlite3VdbeEnter(tls *libc.TLS, p uintptr) { /* sqlite3.c:81570:21: */ } // Unlock all of the btrees previously locked by a call to sqlite3VdbeEnter(). -func vdbeLeave(tls *libc.TLS, p uintptr) { /* sqlite3.c:81591:29: */ +func vdbeLeave(tls *libc.TLS, p uintptr) { /* sqlite3.c:81604:29: */ var i int32 var db uintptr var aDb uintptr @@ -73244,7 +73263,7 @@ func vdbeLeave(tls *libc.TLS, p uintptr) { /* sqlite3.c:81591:29: */ } } -func Xsqlite3VdbeLeave(tls *libc.TLS, p uintptr) { /* sqlite3.c:81605:21: */ +func Xsqlite3VdbeLeave(tls *libc.TLS, p uintptr) { /* sqlite3.c:81618:21: */ if (*Vdbe)(unsafe.Pointer(p)).FlockMask == YDbMask(0) { return } // The common case @@ -73252,7 +73271,7 @@ func Xsqlite3VdbeLeave(tls *libc.TLS, p uintptr) { /* sqlite3.c:81605:21: */ } // Initialize an array of N Mem element. -func initMemArray(tls *libc.TLS, p uintptr, N int32, db uintptr, flags U16) { /* sqlite3.c:81647:13: */ +func initMemArray(tls *libc.TLS, p uintptr, N int32, db uintptr, flags U16) { /* sqlite3.c:81660:13: */ for libc.PostDecInt32(&N, 1) > 0 { (*Mem)(unsafe.Pointer(p)).Fdb = db (*Mem)(unsafe.Pointer(p)).Fflags = flags @@ -73262,7 +73281,7 @@ func initMemArray(tls *libc.TLS, p uintptr, N int32, db uintptr, flags U16) { /* } // Release an array of N Mem elements -func releaseMemArray(tls *libc.TLS, p uintptr, N int32) { /* sqlite3.c:81662:13: */ +func releaseMemArray(tls *libc.TLS, p uintptr, N int32) { /* sqlite3.c:81675:13: */ if p != 0 && N != 0 { var pEnd uintptr = p + uintptr(N)*56 var db uintptr = (*Mem)(unsafe.Pointer(p)).Fdb @@ -73306,7 +73325,7 @@ func releaseMemArray(tls *libc.TLS, p uintptr, N int32) { /* sqlite3.c:81662:13: // // This routine does not delete the Frame right away. It merely adds the // frame to a list of frames to be deleted when the Vdbe halts. -func Xsqlite3VdbeFrameMemDel(tls *libc.TLS, pArg uintptr) { /* sqlite3.c:81724:21: */ +func Xsqlite3VdbeFrameMemDel(tls *libc.TLS, pArg uintptr) { /* sqlite3.c:81737:21: */ var pFrame uintptr = pArg (*VdbeFrame)(unsafe.Pointer(pFrame)).FpParent = (*Vdbe)(unsafe.Pointer((*VdbeFrame)(unsafe.Pointer(pFrame)).Fv)).FpDelFrame @@ -73318,7 +73337,7 @@ func Xsqlite3VdbeFrameMemDel(tls *libc.TLS, pArg uintptr) { /* sqlite3.c:81724:2 // // Return SQLITE_ROW on success. Return SQLITE_DONE if there are no // more opcodes to be displayed. -func Xsqlite3VdbeNextOpcode(tls *libc.TLS, p uintptr, pSub uintptr, eMode int32, piPc uintptr, piAddr uintptr, paOp uintptr) int32 { /* sqlite3.c:81739:20: */ +func Xsqlite3VdbeNextOpcode(tls *libc.TLS, p uintptr, pSub uintptr, eMode int32, piPc uintptr, piAddr uintptr, paOp uintptr) int32 { /* sqlite3.c:81752:20: */ var nRow int32 // Stop when row count reaches this var nSub int32 = 0 // Number of sub-vdbes seen so far var apSub uintptr = uintptr(0) // Array of sub-vdbes @@ -73417,7 +73436,7 @@ func Xsqlite3VdbeNextOpcode(tls *libc.TLS, p uintptr, pSub uintptr, eMode int32, // Delete a VdbeFrame object and its contents. VdbeFrame objects are // allocated by the OP_Program opcode in sqlite3VdbeExec(). -func Xsqlite3VdbeFrameDelete(tls *libc.TLS, p uintptr) { /* sqlite3.c:81851:21: */ +func Xsqlite3VdbeFrameDelete(tls *libc.TLS, p uintptr) { /* sqlite3.c:81864:21: */ var i int32 var aMem uintptr = p + 120 var apCsr uintptr = aMem + uintptr((*VdbeFrame)(unsafe.Pointer(p)).FnChildMem)*56 @@ -73446,7 +73465,7 @@ func Xsqlite3VdbeFrameDelete(tls *libc.TLS, p uintptr) { /* sqlite3.c:81851:21: // // When p->explain==1, first the main program is listed, then each of // the trigger subprograms are listed one by one. -func Xsqlite3VdbeList(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:81883:20: */ +func Xsqlite3VdbeList(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:81896:20: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -73535,7 +73554,7 @@ type ReusableSpace = struct { FpSpace uintptr FnFree Sqlite3_int64 FnNeeded Sqlite3_int64 -} /* sqlite3.c:82028:1 */ +} /* sqlite3.c:82041:1 */ // Try to allocate nByte bytes of 8-byte aligned bulk memory for pBuf // from the ReusableSpace object. Return a pointer to the allocated @@ -73550,7 +73569,7 @@ type ReusableSpace = struct { // This allocator is employed to repurpose unused slots at the end of the // opcode array of prepared state for other memory needs of the prepared // statement. -func allocSpace(tls *libc.TLS, p uintptr, pBuf uintptr, nByte Sqlite3_int64) uintptr { /* sqlite3.c:82048:13: */ +func allocSpace(tls *libc.TLS, p uintptr, pBuf uintptr, nByte Sqlite3_int64) uintptr { /* sqlite3.c:82061:13: */ if pBuf == uintptr(0) { nByte = (nByte + int64(7)) & int64(libc.CplInt32(7)) @@ -73567,7 +73586,7 @@ func allocSpace(tls *libc.TLS, p uintptr, pBuf uintptr, nByte Sqlite3_int64) uin // Rewind the VDBE back to the beginning in preparation for // running it. -func Xsqlite3VdbeRewind(tls *libc.TLS, p uintptr) { /* sqlite3.c:82071:21: */ +func Xsqlite3VdbeRewind(tls *libc.TLS, p uintptr) { /* sqlite3.c:82084:21: */ // There should be at least one opcode. @@ -73600,7 +73619,7 @@ func Xsqlite3VdbeRewind(tls *libc.TLS, p uintptr) { /* sqlite3.c:82071:21: */ // // Use the sqlite3VdbeRewind() procedure to restore a virtual machine back // to its initial state after it has been run. -func Xsqlite3VdbeMakeReady(tls *libc.TLS, p uintptr, pParse uintptr) { /* sqlite3.c:82124:21: */ +func Xsqlite3VdbeMakeReady(tls *libc.TLS, p uintptr, pParse uintptr) { /* sqlite3.c:82137:21: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -73709,11 +73728,11 @@ func Xsqlite3VdbeMakeReady(tls *libc.TLS, p uintptr, pParse uintptr) { /* sqlite var azColName = [12]uintptr{ ts + 5376, ts + 5381, ts + 5388, ts + 5391, ts + 5394, ts + 5397, ts + 5400, ts + 5403, ts + 5411, ts + 5414, ts + 5421, ts + 5429, -} /* sqlite3.c:82172:23 */ +} /* sqlite3.c:82185:23 */ // Close a VDBE cursor and release all the resources that cursor // happens to hold. -func Xsqlite3VdbeFreeCursor(tls *libc.TLS, p uintptr, pCx uintptr) { /* sqlite3.c:82249:21: */ +func Xsqlite3VdbeFreeCursor(tls *libc.TLS, p uintptr, pCx uintptr) { /* sqlite3.c:82262:21: */ if pCx == uintptr(0) { return } @@ -73747,7 +73766,7 @@ func Xsqlite3VdbeFreeCursor(tls *libc.TLS, p uintptr, pCx uintptr) { /* sqlite3. } // Close all cursors in the current frame. -func closeCursorsInFrame(tls *libc.TLS, p uintptr) { /* sqlite3.c:82279:13: */ +func closeCursorsInFrame(tls *libc.TLS, p uintptr) { /* sqlite3.c:82292:13: */ if (*Vdbe)(unsafe.Pointer(p)).FapCsr != 0 { var i int32 for i = 0; i < (*Vdbe)(unsafe.Pointer(p)).FnCursor; i++ { @@ -73763,7 +73782,7 @@ func closeCursorsInFrame(tls *libc.TLS, p uintptr) { /* sqlite3.c:82279:13: */ // Copy the values stored in the VdbeFrame structure to its Vdbe. This // is used, for example, when a trigger sub-program is halted to restore // control to the main program. -func Xsqlite3VdbeFrameRestore(tls *libc.TLS, pFrame uintptr) int32 { /* sqlite3.c:82297:20: */ +func Xsqlite3VdbeFrameRestore(tls *libc.TLS, pFrame uintptr) int32 { /* sqlite3.c:82310:20: */ var v uintptr = (*VdbeFrame)(unsafe.Pointer(pFrame)).Fv closeCursorsInFrame(tls, v) (*Vdbe)(unsafe.Pointer(v)).FaOp = (*VdbeFrame)(unsafe.Pointer(pFrame)).FaOp @@ -73787,7 +73806,7 @@ func Xsqlite3VdbeFrameRestore(tls *libc.TLS, pFrame uintptr) int32 { /* sqlite3. // cell array. This is necessary as the memory cell array may contain // pointers to VdbeFrame objects, which may in turn contain pointers to // open cursors. -func closeAllCursors(tls *libc.TLS, p uintptr) { /* sqlite3.c:82326:13: */ +func closeAllCursors(tls *libc.TLS, p uintptr) { /* sqlite3.c:82339:13: */ if (*Vdbe)(unsafe.Pointer(p)).FpFrame != 0 { var pFrame uintptr for pFrame = (*Vdbe)(unsafe.Pointer(p)).FpFrame; (*VdbeFrame)(unsafe.Pointer(pFrame)).FpParent != 0; pFrame = (*VdbeFrame)(unsafe.Pointer(pFrame)).FpParent { @@ -73818,7 +73837,7 @@ func closeAllCursors(tls *libc.TLS, p uintptr) { /* sqlite3.c:82326:13: */ // statement. This is now set at compile time, rather than during // execution of the vdbe program so that sqlite3_column_count() can // be called on an SQL statement before sqlite3_step(). -func Xsqlite3VdbeSetNumCols(tls *libc.TLS, p uintptr, nResColumn int32) { /* sqlite3.c:82356:21: */ +func Xsqlite3VdbeSetNumCols(tls *libc.TLS, p uintptr, nResColumn int32) { /* sqlite3.c:82369:21: */ var n int32 var db uintptr = (*Vdbe)(unsafe.Pointer(p)).Fdb @@ -73843,7 +73862,7 @@ func Xsqlite3VdbeSetNumCols(tls *libc.TLS, p uintptr, nResColumn int32) { /* sql // The final parameter, xDel, must be one of SQLITE_DYNAMIC, SQLITE_STATIC // 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 Xsqlite3VdbeSetColName(tls *libc.TLS, p uintptr, idx int32, var1 int32, zName uintptr, xDel uintptr) int32 { /* sqlite3.c:82381:20: */ +func Xsqlite3VdbeSetColName(tls *libc.TLS, p uintptr, idx int32, var1 int32, zName uintptr, xDel uintptr) int32 { /* sqlite3.c:82394:20: */ var rc int32 var pColName uintptr @@ -73862,7 +73881,7 @@ func Xsqlite3VdbeSetColName(tls *libc.TLS, p uintptr, idx int32, var1 int32, zNa // db. If a transaction is active, commit it. If there is a // write-transaction spanning more than one database file, this routine // takes care of the super-journal trickery. -func vdbeCommit(tls *libc.TLS, db uintptr, p uintptr) int32 { /* sqlite3.c:82409:12: */ +func vdbeCommit(tls *libc.TLS, db uintptr, p uintptr) int32 { /* sqlite3.c:82422:12: */ bp := tls.Alloc(72) defer tls.Free(72) @@ -74090,7 +74109,7 @@ var aMJNeeded = [6]U8{ /* TRUNCATE */ U8(1), /* MEMORY */ U8(0), /* WAL */ U8(0), -} /* sqlite3.c:82444:23 */ +} /* sqlite3.c:82457:23 */ // This routine checks that the sqlite3.nVdbeActive count variable // matches the number of vdbe's in the list sqlite3.pVdbe that are @@ -74108,7 +74127,7 @@ var aMJNeeded = [6]U8{ // // If an IO error occurs, an SQLITE_IOERR_XXX error code is returned. // Otherwise SQLITE_OK. -func vdbeCloseStatement(tls *libc.TLS, p uintptr, eOp int32) int32 { /* sqlite3.c:82705:28: */ +func vdbeCloseStatement(tls *libc.TLS, p uintptr, eOp int32) int32 { /* sqlite3.c:82718:28: */ var db uintptr = (*Vdbe)(unsafe.Pointer(p)).Fdb var rc int32 = SQLITE_OK var i int32 @@ -74151,7 +74170,7 @@ func vdbeCloseStatement(tls *libc.TLS, p uintptr, eOp int32) int32 { /* sqlite3. return rc } -func Xsqlite3VdbeCloseStatement(tls *libc.TLS, p uintptr, eOp int32) int32 { /* sqlite3.c:82751:20: */ +func Xsqlite3VdbeCloseStatement(tls *libc.TLS, p uintptr, eOp int32) int32 { /* sqlite3.c:82764:20: */ if (*Sqlite3)(unsafe.Pointer((*Vdbe)(unsafe.Pointer(p)).Fdb)).FnStatement != 0 && (*Vdbe)(unsafe.Pointer(p)).FiStatement != 0 { return vdbeCloseStatement(tls, p, eOp) } @@ -74166,7 +74185,7 @@ func Xsqlite3VdbeCloseStatement(tls *libc.TLS, p uintptr, eOp int32) int32 { /* // If there are outstanding FK violations and this function returns // SQLITE_ERROR, set the result of the VM to SQLITE_CONSTRAINT_FOREIGNKEY // and write an error message to it. Then return SQLITE_ERROR. -func Xsqlite3VdbeCheckFk(tls *libc.TLS, p uintptr, deferred int32) int32 { /* sqlite3.c:82770:20: */ +func Xsqlite3VdbeCheckFk(tls *libc.TLS, p uintptr, deferred int32) int32 { /* sqlite3.c:82783:20: */ var db uintptr = (*Vdbe)(unsafe.Pointer(p)).Fdb if deferred != 0 && (*Sqlite3)(unsafe.Pointer(db)).FnDeferredCons+(*Sqlite3)(unsafe.Pointer(db)).FnDeferredImmCons > int64(0) || !(deferred != 0) && (*Vdbe)(unsafe.Pointer(p)).FnFkConstraint > int64(0) { @@ -74189,7 +74208,7 @@ func Xsqlite3VdbeCheckFk(tls *libc.TLS, p uintptr, deferred int32) int32 { /* sq // Return an error code. If the commit could not complete because of // lock contention, return SQLITE_BUSY. If SQLITE_BUSY is returned, it // means the close did not happen and needs to be repeated. -func Xsqlite3VdbeHalt(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:82797:20: */ +func Xsqlite3VdbeHalt(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:82810:20: */ var rc int32 // Used to store transient return codes var db uintptr = (*Vdbe)(unsafe.Pointer(p)).Fdb @@ -74393,7 +74412,7 @@ func Xsqlite3VdbeHalt(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:82797:20: * // Each VDBE holds the result of the most recent sqlite3_step() call // in p->rc. This routine sets that result back to SQLITE_OK. -func Xsqlite3VdbeResetStepResult(tls *libc.TLS, p uintptr) { /* sqlite3.c:83007:21: */ +func Xsqlite3VdbeResetStepResult(tls *libc.TLS, p uintptr) { /* sqlite3.c:83020:21: */ (*Vdbe)(unsafe.Pointer(p)).Frc = SQLITE_OK } @@ -74403,7 +74422,7 @@ func Xsqlite3VdbeResetStepResult(tls *libc.TLS, p uintptr) { /* sqlite3.c:83007: // // This function does not clear the VDBE error code or message, just // copies them to the database handle. -func Xsqlite3VdbeTransferError(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:83019:20: */ +func Xsqlite3VdbeTransferError(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:83032:20: */ var db uintptr = (*Vdbe)(unsafe.Pointer(p)).Fdb var rc int32 = (*Vdbe)(unsafe.Pointer(p)).Frc if (*Vdbe)(unsafe.Pointer(p)).FzErrMsg != 0 { @@ -74432,7 +74451,7 @@ func Xsqlite3VdbeTransferError(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:83 // To look at it another way, this routine resets the state of the // virtual machine from VDBE_MAGIC_RUN or VDBE_MAGIC_HALT back to // VDBE_MAGIC_INIT. -func Xsqlite3VdbeReset(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:83069:20: */ +func Xsqlite3VdbeReset(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:83082:20: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -74484,7 +74503,7 @@ func Xsqlite3VdbeReset(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:83069:20: // Clean up and delete a VDBE after execution. Return an integer which is // the result code. Write any error message text into *pzErrMsg. -func Xsqlite3VdbeFinalize(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:83166:20: */ +func Xsqlite3VdbeFinalize(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:83179:20: */ var rc int32 = SQLITE_OK if (*Vdbe)(unsafe.Pointer(p)).FiVdbeMagic == U32(VDBE_MAGIC_RUN) || (*Vdbe)(unsafe.Pointer(p)).FiVdbeMagic == U32(VDBE_MAGIC_HALT) { rc = Xsqlite3VdbeReset(tls, p) @@ -74508,7 +74527,7 @@ func Xsqlite3VdbeFinalize(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:83166:2 // // * the corresponding bit in argument mask is clear (where the first // function parameter corresponds to bit 0 etc.). -func Xsqlite3VdbeDeleteAuxData(tls *libc.TLS, db uintptr, pp uintptr, iOp int32, mask int32) { /* sqlite3.c:83192:21: */ +func Xsqlite3VdbeDeleteAuxData(tls *libc.TLS, db uintptr, pp uintptr, iOp int32, mask int32) { /* sqlite3.c:83205:21: */ for *(*uintptr)(unsafe.Pointer(pp)) != 0 { var pAux uintptr = *(*uintptr)(unsafe.Pointer(pp)) if iOp < 0 || @@ -74533,7 +74552,7 @@ func Xsqlite3VdbeDeleteAuxData(tls *libc.TLS, db uintptr, pp uintptr, iOp int32, // The difference between this function and sqlite3VdbeDelete() is that // VdbeDelete() also unlinks the Vdbe from the list of VMs associated with // the database connection and frees the object itself. -func Xsqlite3VdbeClearObject(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:83220:21: */ +func Xsqlite3VdbeClearObject(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:83233:21: */ var pSub uintptr var pNext uintptr @@ -74554,7 +74573,7 @@ func Xsqlite3VdbeClearObject(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3. } // Delete an entire VDBE. -func Xsqlite3VdbeDelete(tls *libc.TLS, p uintptr) { /* sqlite3.c:83261:21: */ +func Xsqlite3VdbeDelete(tls *libc.TLS, p uintptr) { /* sqlite3.c:83274:21: */ var db uintptr db = (*Vdbe)(unsafe.Pointer(p)).Fdb @@ -74577,7 +74596,7 @@ func Xsqlite3VdbeDelete(tls *libc.TLS, p uintptr) { /* sqlite3.c:83261:21: */ // The cursor "p" has a pending seek operation that has not yet been // carried out. Seek the cursor now. If an error occurs, return // the appropriate error code. -func Xsqlite3VdbeFinishMoveto(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:83287:36: */ +func Xsqlite3VdbeFinishMoveto(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:83300:36: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -74590,7 +74609,7 @@ func Xsqlite3VdbeFinishMoveto(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:832 return rc } if *(*int32)(unsafe.Pointer(bp)) != 0 { - return Xsqlite3CorruptError(tls, 83297) + return Xsqlite3CorruptError(tls, 83310) } (*VdbeCursor)(unsafe.Pointer(p)).FdeferredMoveto = U8(0) (*VdbeCursor)(unsafe.Pointer(p)).FcacheStatus = U32(CACHE_STALE) @@ -74602,7 +74621,7 @@ func Xsqlite3VdbeFinishMoveto(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:832 // rebalanced. Whatever the cause, try to restore "p" to the place it // is supposed to be pointing. If the row was deleted out from under the // cursor, set the cursor to point to a NULL row. -func handleMovedCursor(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:83313:28: */ +func handleMovedCursor(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:83326:28: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -74620,7 +74639,7 @@ func handleMovedCursor(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:83313:28: // Check to ensure that the cursor is valid. Restore the cursor // if need be. Return any I/O error from the restore operation. -func Xsqlite3VdbeCursorRestore(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:83328:20: */ +func Xsqlite3VdbeCursorRestore(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:83341:20: */ if Xsqlite3BtreeCursorHasMoved(tls, *(*uintptr)(unsafe.Pointer(p + 48))) != 0 { return handleMovedCursor(tls, p) @@ -74639,7 +74658,7 @@ func Xsqlite3VdbeCursorRestore(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:83 // // If the cursor is already pointing to the correct row and that row has // not been deleted out from under the cursor, then this routine is a no-op. -func Xsqlite3VdbeCursorMoveto(tls *libc.TLS, pp uintptr, piCol uintptr) int32 { /* sqlite3.c:83349:20: */ +func Xsqlite3VdbeCursorMoveto(tls *libc.TLS, pp uintptr, piCol uintptr) int32 { /* sqlite3.c:83362:20: */ var p uintptr = *(*uintptr)(unsafe.Pointer(pp)) if (*VdbeCursor)(unsafe.Pointer(p)).FdeferredMoveto != 0 { @@ -74714,10 +74733,10 @@ var sqlite3SmallTypeSizes = [128]U8{ /* 100 */ U8(44), U8(44), U8(45), U8(45), U8(46), U8(46), U8(47), U8(47), U8(48), U8(48), /* 110 */ U8(49), U8(49), U8(50), U8(50), U8(51), U8(51), U8(52), U8(52), U8(53), U8(53), /* 120 */ U8(54), U8(54), U8(55), U8(55), U8(56), U8(56), U8(57), U8(57), -} /* sqlite3.c:83486:17 */ +} /* sqlite3.c:83499:17 */ // Return the length of the data corresponding to the supplied serial-type. -func Xsqlite3VdbeSerialTypeLen(tls *libc.TLS, serial_type U32) U32 { /* sqlite3.c:83506:20: */ +func Xsqlite3VdbeSerialTypeLen(tls *libc.TLS, serial_type U32) U32 { /* sqlite3.c:83519:20: */ if serial_type >= U32(128) { return (serial_type - U32(12)) / U32(2) } else { @@ -74727,7 +74746,7 @@ func Xsqlite3VdbeSerialTypeLen(tls *libc.TLS, serial_type U32) U32 { /* sqlite3. return U32(0) } -func Xsqlite3VdbeOneByteSerialTypeLen(tls *libc.TLS, serial_type U8) U8 { /* sqlite3.c:83515:19: */ +func Xsqlite3VdbeOneByteSerialTypeLen(tls *libc.TLS, serial_type U8) U8 { /* sqlite3.c:83528:19: */ return sqlite3SmallTypeSizes[serial_type] } @@ -74776,7 +74795,7 @@ func Xsqlite3VdbeOneByteSerialTypeLen(tls *libc.TLS, serial_type U8) U8 { /* sql // Return the number of bytes actually written into buf[]. The number // of bytes in the zero-filled tail is included in the return value only // if those bytes were zeroed in buf[]. -func Xsqlite3VdbeSerialPut(tls *libc.TLS, buf uintptr, pMem uintptr, serial_type U32) U32 { /* sqlite3.c:83586:20: */ +func Xsqlite3VdbeSerialPut(tls *libc.TLS, buf uintptr, pMem uintptr, serial_type U32) U32 { /* sqlite3.c:83599:20: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -74827,7 +74846,7 @@ func Xsqlite3VdbeSerialPut(tls *libc.TLS, buf uintptr, pMem uintptr, serial_type // The few cases that require local variables are broken out into a separate // routine so that in most cases the overhead of moving the stack pointer // is avoided. -func serialGet(tls *libc.TLS, buf uintptr, serial_type U32, pMem uintptr) { /* sqlite3.c:83640:13: */ +func serialGet(tls *libc.TLS, buf uintptr, serial_type U32, pMem uintptr) { /* sqlite3.c:83653:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -74854,7 +74873,7 @@ func serialGet(tls *libc.TLS, buf uintptr, serial_type U32, pMem uintptr) { /* s } } -func Xsqlite3VdbeSerialGet(tls *libc.TLS, buf uintptr, serial_type U32, pMem uintptr) { /* sqlite3.c:83675:21: */ +func Xsqlite3VdbeSerialGet(tls *libc.TLS, buf uintptr, serial_type U32, pMem uintptr) { /* sqlite3.c:83688:21: */ switch serial_type { case U32(10): { // Internal use only: NULL with virtual table @@ -74957,7 +74976,7 @@ func Xsqlite3VdbeSerialGet(tls *libc.TLS, buf uintptr, serial_type U32, pMem uin return } -var aFlag = [2]U16{U16(MEM_Blob | MEM_Ephem), U16(MEM_Str | MEM_Ephem)} /* sqlite3.c:83758:24 */ +var aFlag = [2]U16{U16(MEM_Blob | MEM_Ephem), U16(MEM_Str | MEM_Ephem)} /* sqlite3.c:83771:24 */ // This routine is used to allocate sufficient space for an UnpackedRecord // structure large enough to be used with sqlite3VdbeRecordUnpack() if @@ -74971,7 +74990,7 @@ var aFlag = [2]U16{U16(MEM_Blob | MEM_Ephem), U16(MEM_Str | MEM_Ephem)} /* sqlit // before returning. // // If an OOM error occurs, NULL is returned. -func Xsqlite3VdbeAllocUnpackedRecord(tls *libc.TLS, pKeyInfo uintptr) uintptr { /* sqlite3.c:83781:31: */ +func Xsqlite3VdbeAllocUnpackedRecord(tls *libc.TLS, pKeyInfo uintptr) uintptr { /* sqlite3.c:83794:31: */ var p uintptr // Unpacked record to return var nByte int32 // Number of bytes required for *p nByte = int32((uint64(unsafe.Sizeof(UnpackedRecord{}))+uint64(7))&libc.Uint64FromInt32(libc.CplInt32(7)) + uint64(unsafe.Sizeof(Mem{}))*uint64(int32((*KeyInfo)(unsafe.Pointer(pKeyInfo)).FnKeyField)+1)) @@ -74989,7 +75008,7 @@ func Xsqlite3VdbeAllocUnpackedRecord(tls *libc.TLS, pKeyInfo uintptr) uintptr { // Given the nKey-byte encoding of a record in pKey[], populate the // UnpackedRecord structure indicated by the fourth argument with the // contents of the decoded record. -func Xsqlite3VdbeRecordUnpack(tls *libc.TLS, pKeyInfo uintptr, nKey int32, pKey uintptr, p uintptr) { /* sqlite3.c:83801:21: */ +func Xsqlite3VdbeRecordUnpack(tls *libc.TLS, pKeyInfo uintptr, nKey int32, pKey uintptr, p uintptr) { /* sqlite3.c:83814:21: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -75050,7 +75069,7 @@ func Xsqlite3VdbeRecordUnpack(tls *libc.TLS, pKeyInfo uintptr, nKey int32, pKey // using the collation sequence pColl. As usual, return a negative , zero // or positive value if *pMem1 is less than, equal to or greater than // *pMem2, respectively. Similar in spirit to "rc = (*pMem1) - (*pMem2);". -func vdbeCompareMemString(tls *libc.TLS, pMem1 uintptr, pMem2 uintptr, pColl uintptr, prcErr uintptr) int32 { /* sqlite3.c:83998:12: */ +func vdbeCompareMemString(tls *libc.TLS, pMem1 uintptr, pMem2 uintptr, pColl uintptr, prcErr uintptr) int32 { /* sqlite3.c:84011:12: */ bp := tls.Alloc(112) defer tls.Free(112) @@ -75093,7 +75112,7 @@ func vdbeCompareMemString(tls *libc.TLS, pMem1 uintptr, pMem2 uintptr, pColl uin // The input pBlob is guaranteed to be a Blob that is not marked // with MEM_Zero. Return true if it could be a zero-blob. -func isAllZero(tls *libc.TLS, z uintptr, n int32) int32 { /* sqlite3.c:84035:12: */ +func isAllZero(tls *libc.TLS, z uintptr, n int32) int32 { /* sqlite3.c:84048:12: */ var i int32 for i = 0; i < n; i++ { if *(*int8)(unsafe.Pointer(z + uintptr(i))) != 0 { @@ -75106,7 +75125,7 @@ func isAllZero(tls *libc.TLS, z uintptr, n int32) int32 { /* sqlite3.c:84035:12: // Compare two blobs. Return negative, zero, or positive if the first // is less than, equal to, or greater than the second, respectively. // If one blob is a prefix of the other, then the shorter is the lessor. -func Xsqlite3BlobCompare(tls *libc.TLS, pB1 uintptr, pB2 uintptr) int32 { /* sqlite3.c:84048:36: */ +func Xsqlite3BlobCompare(tls *libc.TLS, pB1 uintptr, pB2 uintptr) int32 { /* sqlite3.c:84061:36: */ var c int32 var n1 int32 = (*Mem)(unsafe.Pointer(pB1)).Fn var n2 int32 = (*Mem)(unsafe.Pointer(pB2)).Fn @@ -75146,7 +75165,7 @@ func Xsqlite3BlobCompare(tls *libc.TLS, pB1 uintptr, pB2 uintptr) int32 { /* sql // Do a comparison between a 64-bit signed integer and a 64-bit floating-point // number. Return negative, zero, or positive if the first (i64) is less than, // equal to, or greater than the second (double). -func Xsqlite3IntFloatCompare(tls *libc.TLS, i I64, r float64) int32 { /* sqlite3.c:84081:20: */ +func Xsqlite3IntFloatCompare(tls *libc.TLS, i I64, r float64) int32 { /* sqlite3.c:84094:20: */ if uint64(unsafe.Sizeof(float64(0))) > uint64(8) { var x float64 = float64(i) @@ -75192,7 +75211,7 @@ func Xsqlite3IntFloatCompare(tls *libc.TLS, i I64, r float64) int32 { /* sqlite3 // sequence pColl and finally blob's ordered by memcmp(). // // Two NULL values are considered equal by this function. -func Xsqlite3MemCompare(tls *libc.TLS, pMem1 uintptr, pMem2 uintptr, pColl uintptr) int32 { /* sqlite3.c:84114:20: */ +func Xsqlite3MemCompare(tls *libc.TLS, pMem1 uintptr, pMem2 uintptr, pColl uintptr) int32 { /* sqlite3.c:84127:20: */ var f1 int32 var f2 int32 var combined_flags int32 @@ -75286,7 +75305,7 @@ func Xsqlite3MemCompare(tls *libc.TLS, pMem1 uintptr, pMem2 uintptr, pColl uintp // except 7. The second points to a buffer containing an integer value // serialized according to serial_type. This function deserializes // and returns the value. -func vdbeRecordDecodeInt(tls *libc.TLS, serial_type U32, aKey uintptr) I64 { /* sqlite3.c:84213:12: */ +func vdbeRecordDecodeInt(tls *libc.TLS, serial_type U32, aKey uintptr) I64 { /* sqlite3.c:84226:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -75349,7 +75368,7 @@ func vdbeRecordDecodeInt(tls *libc.TLS, serial_type U32, aKey uintptr) I64 { /* // SQLITE_CORRUPT and return 0. If an OOM error is encountered, // pPKey2->errCode is set to SQLITE_NOMEM and, if it is not NULL, the // malloc-failed flag set on database handle (pPKey2->pKeyInfo->db). -func Xsqlite3VdbeRecordCompareWithSkip(tls *libc.TLS, nKey1 int32, pKey1 uintptr, pPKey2 uintptr, bSkip int32) int32 { /* sqlite3.c:84268:20: */ +func Xsqlite3VdbeRecordCompareWithSkip(tls *libc.TLS, nKey1 int32, pKey1 uintptr, pPKey2 uintptr, bSkip int32) int32 { /* sqlite3.c:84281:20: */ bp := tls.Alloc(68) defer tls.Free(68) @@ -75391,7 +75410,7 @@ func Xsqlite3VdbeRecordCompareWithSkip(tls *libc.TLS, nKey1 int32, pKey1 uintptr i = 0 } if d1 > uint32(nKey1) { - (*UnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = U8(Xsqlite3CorruptError(tls, 84299)) + (*UnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = U8(Xsqlite3CorruptError(tls, 84312)) return 0 // Corruption } @@ -75456,7 +75475,7 @@ func Xsqlite3VdbeRecordCompareWithSkip(tls *libc.TLS, nKey1 int32, pKey1 uintptr if d1+U32((*Mem)(unsafe.Pointer(bp+8)).Fn) > uint32(nKey1) || int32((*KeyInfo)(unsafe.Pointer(libc.AssignUintptr(&pKeyInfo, (*UnpackedRecord)(unsafe.Pointer(pPKey2)).FpKeyInfo))).FnAllField) <= i { - (*UnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = U8(Xsqlite3CorruptError(tls, 84376)) + (*UnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = U8(Xsqlite3CorruptError(tls, 84389)) return 0 // Corruption } else if *(*uintptr)(unsafe.Pointer(pKeyInfo + 32 + uintptr(i)*8)) != 0 { (*Mem)(unsafe.Pointer(bp + 8 /* &mem1 */)).Fenc = (*KeyInfo)(unsafe.Pointer(pKeyInfo)).Fenc @@ -75491,7 +75510,7 @@ func Xsqlite3VdbeRecordCompareWithSkip(tls *libc.TLS, nKey1 int32, pKey1 uintptr var nStr int32 = int32((*(*U32)(unsafe.Pointer(bp + 64)) - U32(12)) / U32(2)) if d1+U32(nStr) > uint32(nKey1) { - (*UnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = U8(Xsqlite3CorruptError(tls, 84406)) + (*UnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = U8(Xsqlite3CorruptError(tls, 84419)) return 0 // Corruption } else if int32((*Mem)(unsafe.Pointer(pRhs)).Fflags)&MEM_Zero != 0 { if !(isAllZero(tls, aKey1+uintptr(d1), nStr) != 0) { @@ -75552,7 +75571,7 @@ func Xsqlite3VdbeRecordCompareWithSkip(tls *libc.TLS, nKey1 int32, pKey1 uintptr return int32((*UnpackedRecord)(unsafe.Pointer(pPKey2)).Fdefault_rc) } -func Xsqlite3VdbeRecordCompare(tls *libc.TLS, nKey1 int32, pKey1 uintptr, pPKey2 uintptr) int32 { /* sqlite3.c:84465:20: */ +func Xsqlite3VdbeRecordCompare(tls *libc.TLS, nKey1 int32, pKey1 uintptr, pPKey2 uintptr) int32 { /* sqlite3.c:84478:20: */ return Xsqlite3VdbeRecordCompareWithSkip(tls, nKey1, pKey1, pPKey2, 0) } @@ -75563,7 +75582,7 @@ func Xsqlite3VdbeRecordCompare(tls *libc.TLS, nKey1 int32, pKey1 uintptr, pPKey2 // // To avoid concerns about buffer overreads, this routine is only used // on schemas where the maximum valid header size is 63 bytes or less. -func vdbeRecordCompareInt(tls *libc.TLS, nKey1 int32, pKey1 uintptr, pPKey2 uintptr) int32 { /* sqlite3.c:84482:12: */ +func vdbeRecordCompareInt(tls *libc.TLS, nKey1 int32, pKey1 uintptr, pPKey2 uintptr) int32 { /* sqlite3.c:84495:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -75668,7 +75687,7 @@ func vdbeRecordCompareInt(tls *libc.TLS, nKey1 int32, pKey1 uintptr, pPKey2 uint // that (a) the first field of pPKey2 is a string, that (b) the first field // uses the collation sequence BINARY and (c) that the size-of-header varint // at the start of (pKey1/nKey1) fits in a single byte. -func vdbeRecordCompareString(tls *libc.TLS, nKey1 int32, pKey1 uintptr, pPKey2 uintptr) int32 { /* sqlite3.c:84576:12: */ +func vdbeRecordCompareString(tls *libc.TLS, nKey1 int32, pKey1 uintptr, pPKey2 uintptr) int32 { /* sqlite3.c:84589:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -75692,7 +75711,7 @@ func vdbeRecordCompareString(tls *libc.TLS, nKey1 int32, pKey1 uintptr, pPKey2 u nStr = (*(*int32)(unsafe.Pointer(bp)) - 12) / 2 if szHdr+nStr > nKey1 { - (*UnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = U8(Xsqlite3CorruptError(tls, 84601)) + (*UnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = U8(Xsqlite3CorruptError(tls, 84614)) return 0 // Corruption } nCmp = func() int32 { @@ -75730,7 +75749,7 @@ func vdbeRecordCompareString(tls *libc.TLS, nKey1 int32, pKey1 uintptr, pPKey2 u // Return a pointer to an sqlite3VdbeRecordCompare() compatible function // suitable for comparing serialized records to the unpacked record passed // as the only argument. -func Xsqlite3VdbeFindCompare(tls *libc.TLS, p uintptr) RecordCompare { /* sqlite3.c:84640:30: */ +func Xsqlite3VdbeFindCompare(tls *libc.TLS, p uintptr) RecordCompare { /* sqlite3.c:84653:30: */ // varintRecordCompareInt() and varintRecordCompareString() both assume // that the size-of-header varint that occurs at the start of each record // fits in a single byte (i.e. is 127 or less). varintRecordCompareInt() @@ -75784,7 +75803,7 @@ func Xsqlite3VdbeFindCompare(tls *libc.TLS, p uintptr) RecordCompare { /* sqlite // // pCur might be pointing to text obtained from a corrupt database file. // So the content cannot be trusted. Do appropriate checks on the content. -func Xsqlite3VdbeIdxRowid(tls *libc.TLS, db uintptr, pCur uintptr, rowid uintptr) int32 { /* sqlite3.c:84691:20: */ +func Xsqlite3VdbeIdxRowid(tls *libc.TLS, db uintptr, pCur uintptr, rowid uintptr) int32 { /* sqlite3.c:84704:20: */ bp := tls.Alloc(120) defer tls.Free(120) @@ -75869,7 +75888,7 @@ __6: idx_rowid_corruption: ; Xsqlite3VdbeMemRelease(tls, bp) - return Xsqlite3CorruptError(tls, 84756) + return Xsqlite3CorruptError(tls, 84769) } // Compare the key of the index entry that cursor pC is pointing to against @@ -75881,7 +75900,7 @@ idx_rowid_corruption: // omits the rowid at the end. The rowid at the end of the index entry // is ignored as well. Hence, this routine only compares the prefixes // of the keys prior to the final rowid, not the entire key. -func Xsqlite3VdbeIdxKeyCompare(tls *libc.TLS, db uintptr, pC uintptr, pUnpacked uintptr, res uintptr) int32 { /* sqlite3.c:84770:20: */ +func Xsqlite3VdbeIdxKeyCompare(tls *libc.TLS, db uintptr, pC uintptr, pUnpacked uintptr, res uintptr) int32 { /* sqlite3.c:84783:20: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -75897,7 +75916,7 @@ func Xsqlite3VdbeIdxKeyCompare(tls *libc.TLS, db uintptr, pC uintptr, pUnpacked // that btreeParseCellPtr() and sqlite3GetVarint32() are implemented if nCellKey <= int64(0) || nCellKey > int64(0x7fffffff) { *(*int32)(unsafe.Pointer(res)) = 0 - return Xsqlite3CorruptError(tls, 84789) + return Xsqlite3CorruptError(tls, 84802) } Xsqlite3VdbeMemInit(tls, bp, db, uint16(0)) rc = Xsqlite3VdbeMemFromBtreeZeroOffset(tls, pCur, U32(nCellKey), bp) @@ -75911,7 +75930,7 @@ func Xsqlite3VdbeIdxKeyCompare(tls *libc.TLS, db uintptr, pC uintptr, pUnpacked // This routine sets the value to be returned by subsequent calls to // sqlite3_changes() on the database handle 'db'. -func Xsqlite3VdbeSetChanges(tls *libc.TLS, db uintptr, nChange I64) { /* sqlite3.c:84805:21: */ +func Xsqlite3VdbeSetChanges(tls *libc.TLS, db uintptr, nChange I64) { /* sqlite3.c:84818:21: */ (*Sqlite3)(unsafe.Pointer(db)).FnChange = nChange *(*I64)(unsafe.Pointer(db + 128)) += nChange @@ -75919,7 +75938,7 @@ func Xsqlite3VdbeSetChanges(tls *libc.TLS, db uintptr, nChange I64) { /* sqlite3 // Set a flag in the vdbe to update the change counter when it is finalised // or reset. -func Xsqlite3VdbeCountChanges(tls *libc.TLS, v uintptr) { /* sqlite3.c:84815:21: */ +func Xsqlite3VdbeCountChanges(tls *libc.TLS, v uintptr) { /* sqlite3.c:84828:21: */ libc.SetBitFieldPtr16Uint32(v+208, Bft(1), 4, 0x10) } @@ -75939,7 +75958,7 @@ func Xsqlite3VdbeCountChanges(tls *libc.TLS, v uintptr) { /* sqlite3.c:84815:21: // Internally, this function just sets the Vdbe.expired flag on all // prepared statements. The flag is set to 1 for an immediate expiration // and set to 2 for an advisory expiration. -func Xsqlite3ExpirePreparedStatements(tls *libc.TLS, db uintptr, iCode int32) { /* sqlite3.c:84837:21: */ +func Xsqlite3ExpirePreparedStatements(tls *libc.TLS, db uintptr, iCode int32) { /* sqlite3.c:84850:21: */ var p uintptr for p = (*Sqlite3)(unsafe.Pointer(db)).FpVdbe; p != 0; p = (*Vdbe)(unsafe.Pointer(p)).FpNext { libc.SetBitFieldPtr16Uint32(p+208, Bft(iCode+1), 0, 0x3) @@ -75947,12 +75966,12 @@ func Xsqlite3ExpirePreparedStatements(tls *libc.TLS, db uintptr, iCode int32) { } // Return the database associated with the Vdbe. -func Xsqlite3VdbeDb(tls *libc.TLS, v uintptr) uintptr { /* sqlite3.c:84847:24: */ +func Xsqlite3VdbeDb(tls *libc.TLS, v uintptr) uintptr { /* sqlite3.c:84860:24: */ return (*Vdbe)(unsafe.Pointer(v)).Fdb } // Return the SQLITE_PREPARE flags for a Vdbe. -func Xsqlite3VdbePrepareFlags(tls *libc.TLS, v uintptr) U8 { /* sqlite3.c:84854:19: */ +func Xsqlite3VdbePrepareFlags(tls *libc.TLS, v uintptr) U8 { /* sqlite3.c:84867:19: */ return (*Vdbe)(unsafe.Pointer(v)).FprepFlags } @@ -75962,7 +75981,7 @@ func Xsqlite3VdbePrepareFlags(tls *libc.TLS, v uintptr) U8 { /* sqlite3.c:84854: // constants) to the value before returning it. // // The returned value must be freed by the caller using sqlite3ValueFree(). -func Xsqlite3VdbeGetBoundValue(tls *libc.TLS, v uintptr, iVar int32, aff U8) uintptr { /* sqlite3.c:84866:30: */ +func Xsqlite3VdbeGetBoundValue(tls *libc.TLS, v uintptr, iVar int32, aff U8) uintptr { /* sqlite3.c:84879:30: */ if v != 0 { var pMem uintptr = (*Vdbe)(unsafe.Pointer(v)).FaVar + uintptr(iVar-1)*56 @@ -75982,7 +76001,7 @@ func Xsqlite3VdbeGetBoundValue(tls *libc.TLS, v uintptr, iVar int32, aff U8) uin // Configure SQL variable iVar so that binding a new value to it signals // to sqlite3_reoptimize() that re-preparing the statement may result // in a better query plan. -func Xsqlite3VdbeSetVarmask(tls *libc.TLS, v uintptr, iVar int32) { /* sqlite3.c:84888:21: */ +func Xsqlite3VdbeSetVarmask(tls *libc.TLS, v uintptr, iVar int32) { /* sqlite3.c:84901:21: */ if iVar >= 32 { *(*U32)(unsafe.Pointer(v + 292)) |= 0x80000000 @@ -75998,7 +76017,7 @@ func Xsqlite3VdbeSetVarmask(tls *libc.TLS, v uintptr, iVar int32) { /* sqlite3.c // throw an error if it is given inputs that would make it non-deterministic. // This routine is invoked by date/time functions that use non-deterministic // features such as 'now'. -func Xsqlite3NotPureFunc(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:84907:20: */ +func Xsqlite3NotPureFunc(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:84920:20: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -76029,7 +76048,7 @@ func Xsqlite3NotPureFunc(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:84907 // Transfer error message text from an sqlite3_vtab.zErrMsg (text stored // in memory obtained from sqlite3_malloc) into a Vdbe.zErrMsg (text stored // in memory obtained from sqlite3DbMalloc). -func Xsqlite3VtabImportErrmsg(tls *libc.TLS, p uintptr, pVtab uintptr) { /* sqlite3.c:84938:21: */ +func Xsqlite3VtabImportErrmsg(tls *libc.TLS, p uintptr, pVtab uintptr) { /* sqlite3.c:84951:21: */ if (*Sqlite3_vtab)(unsafe.Pointer(pVtab)).FzErrMsg != 0 { var db uintptr = (*Vdbe)(unsafe.Pointer(p)).Fdb Xsqlite3DbFree(tls, db, (*Vdbe)(unsafe.Pointer(p)).FzErrMsg) @@ -76045,7 +76064,7 @@ func Xsqlite3VtabImportErrmsg(tls *libc.TLS, p uintptr, pVtab uintptr) { /* sqli // // This function is used to free UnpackedRecord structures allocated by // the vdbeUnpackRecord() function found in vdbeapi.c. -func vdbeFreeUnpacked(tls *libc.TLS, db uintptr, nField int32, p uintptr) { /* sqlite3.c:84959:13: */ +func vdbeFreeUnpacked(tls *libc.TLS, db uintptr, nField int32, p uintptr) { /* sqlite3.c:84972:13: */ if p != 0 { var i int32 for i = 0; i < nField; i++ { @@ -76062,7 +76081,7 @@ func vdbeFreeUnpacked(tls *libc.TLS, db uintptr, nField int32, p uintptr) { /* s // then cursor passed as the second argument should point to the row about // to be update or deleted. If the application calls sqlite3_preupdate_old(), // the required value will be read from the row the cursor points to. -func Xsqlite3VdbePreUpdateHook(tls *libc.TLS, v uintptr, pCsr uintptr, op int32, zDb uintptr, pTab uintptr, iKey1 I64, iReg int32, iBlobWrite int32) { /* sqlite3.c:84978:21: */ +func Xsqlite3VdbePreUpdateHook(tls *libc.TLS, v uintptr, pCsr uintptr, op int32, zDb uintptr, pTab uintptr, iKey1 I64, iReg int32, iBlobWrite int32) { /* sqlite3.c:84991:21: */ bp := tls.Alloc(136) defer tls.Free(136) @@ -76114,7 +76133,7 @@ func Xsqlite3VdbePreUpdateHook(tls *libc.TLS, v uintptr, pCsr uintptr, op int32, } } -var fakeSortOrder U8 = U8(0) /* sqlite3.c:84992:19 */ +var fakeSortOrder U8 = U8(0) /* sqlite3.c:85005:19 */ //************* End of vdbeaux.c ******************************************** //************* Begin file vdbeapi.c **************************************** @@ -76140,7 +76159,7 @@ var fakeSortOrder U8 = U8(0) /* sqlite3.c:84992:19 */ // that sqlite3_prepare() generates. For example, if new functions or // collating sequences are registered or if an authorizer function is // added or changed. -func Xsqlite3_expired(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:85071:16: */ +func Xsqlite3_expired(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:85084:16: */ var p uintptr = pStmt return libc.Bool32(p == uintptr(0) || Bft(int32(*(*uint16)(unsafe.Pointer(p + 208))&0x3>>0)) != 0) } @@ -76148,7 +76167,7 @@ func Xsqlite3_expired(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:85071:1 // Check on a Vdbe to make sure it has not been finalized. Log // an error and return true if it has been finalized (or is otherwise // invalid). Return false if it is ok. -func vdbeSafety(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:85082:12: */ +func vdbeSafety(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:85095:12: */ if (*Vdbe)(unsafe.Pointer(p)).Fdb == uintptr(0) { Xsqlite3_log(tls, SQLITE_MISUSE, ts+5603, 0) return 1 @@ -76158,7 +76177,7 @@ func vdbeSafety(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:85082:12: */ return int32(0) } -func vdbeSafetyNotNull(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:85090:12: */ +func vdbeSafetyNotNull(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:85103:12: */ if p == uintptr(0) { Xsqlite3_log(tls, SQLITE_MISUSE, ts+5648, 0) return 1 @@ -76170,7 +76189,7 @@ func vdbeSafetyNotNull(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:85090:12: // Invoke the profile callback. This routine is only called if we already // know that the profile callback is defined and needs to be invoked. -func invokeProfileCallback(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:85104:29: */ +func invokeProfileCallback(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:85117:29: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -76203,7 +76222,7 @@ func invokeProfileCallback(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c: // // This routine sets the error code and string returned by // sqlite3_errcode(), sqlite3_errmsg() and sqlite3_errmsg16(). -func Xsqlite3_finalize(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:85142:16: */ +func Xsqlite3_finalize(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:85155:16: */ var rc int32 if pStmt == uintptr(0) { // IMPLEMENTATION-OF: R-57228-12904 Invoking sqlite3_finalize() on a NULL @@ -76213,7 +76232,7 @@ func Xsqlite3_finalize(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:85142: var v uintptr = pStmt var db uintptr = (*Vdbe)(unsafe.Pointer(v)).Fdb if vdbeSafety(tls, v) != 0 { - return Xsqlite3MisuseError(tls, 85151) + return Xsqlite3MisuseError(tls, 85164) } Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) if (*Vdbe)(unsafe.Pointer(v)).FstartTime > int64(0) { @@ -76233,7 +76252,7 @@ func Xsqlite3_finalize(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:85142: // // This routine sets the error code and string returned by // sqlite3_errcode(), sqlite3_errmsg() and sqlite3_errmsg16(). -func Xsqlite3_reset(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:85169:16: */ +func Xsqlite3_reset(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:85182:16: */ var rc int32 if pStmt == uintptr(0) { rc = SQLITE_OK @@ -76255,7 +76274,7 @@ func Xsqlite3_reset(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:85169:16: } // Set all the parameters in the compiled SQL statement to NULL. -func Xsqlite3_clear_bindings(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:85190:16: */ +func Xsqlite3_clear_bindings(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:85203:16: */ var i int32 var rc int32 = SQLITE_OK var p uintptr = pStmt @@ -76277,7 +76296,7 @@ func Xsqlite3_clear_bindings(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c: // // The following routines extract information from a Mem or sqlite3_value // structure. -func Xsqlite3_value_blob(tls *libc.TLS, pVal uintptr) uintptr { /* sqlite3.c:85215:23: */ +func Xsqlite3_value_blob(tls *libc.TLS, pVal uintptr) uintptr { /* sqlite3.c:85228:23: */ var p uintptr = pVal if int32((*Mem)(unsafe.Pointer(p)).Fflags)&(MEM_Blob|MEM_Str) != 0 { if func() int32 { @@ -76300,27 +76319,27 @@ func Xsqlite3_value_blob(tls *libc.TLS, pVal uintptr) uintptr { /* sqlite3.c:852 return uintptr(0) } -func Xsqlite3_value_bytes(tls *libc.TLS, pVal uintptr) int32 { /* sqlite3.c:85228:16: */ +func Xsqlite3_value_bytes(tls *libc.TLS, pVal uintptr) int32 { /* sqlite3.c:85241:16: */ return Xsqlite3ValueBytes(tls, pVal, uint8(SQLITE_UTF8)) } -func Xsqlite3_value_bytes16(tls *libc.TLS, pVal uintptr) int32 { /* sqlite3.c:85231:16: */ +func Xsqlite3_value_bytes16(tls *libc.TLS, pVal uintptr) int32 { /* sqlite3.c:85244:16: */ return Xsqlite3ValueBytes(tls, pVal, uint8(SQLITE_UTF16LE)) } -func Xsqlite3_value_double(tls *libc.TLS, pVal uintptr) float64 { /* sqlite3.c:85234:19: */ +func Xsqlite3_value_double(tls *libc.TLS, pVal uintptr) float64 { /* sqlite3.c:85247:19: */ return Xsqlite3VdbeRealValue(tls, pVal) } -func Xsqlite3_value_int(tls *libc.TLS, pVal uintptr) int32 { /* sqlite3.c:85237:16: */ +func Xsqlite3_value_int(tls *libc.TLS, pVal uintptr) int32 { /* sqlite3.c:85250:16: */ return int32(Xsqlite3VdbeIntValue(tls, pVal)) } -func Xsqlite3_value_int64(tls *libc.TLS, pVal uintptr) Sqlite_int64 { /* sqlite3.c:85240:25: */ +func Xsqlite3_value_int64(tls *libc.TLS, pVal uintptr) Sqlite_int64 { /* sqlite3.c:85253:25: */ return Xsqlite3VdbeIntValue(tls, pVal) } -func Xsqlite3_value_subtype(tls *libc.TLS, pVal uintptr) uint32 { /* sqlite3.c:85243:25: */ +func Xsqlite3_value_subtype(tls *libc.TLS, pVal uintptr) uint32 { /* sqlite3.c:85256:25: */ var pMem uintptr = pVal return func() uint32 { if int32((*Mem)(unsafe.Pointer(pMem)).Fflags)&MEM_Subtype != 0 { @@ -76330,7 +76349,7 @@ func Xsqlite3_value_subtype(tls *libc.TLS, pVal uintptr) uint32 { /* sqlite3.c:8 }() } -func Xsqlite3_value_pointer(tls *libc.TLS, pVal uintptr, zPType uintptr) uintptr { /* sqlite3.c:85247:17: */ +func Xsqlite3_value_pointer(tls *libc.TLS, pVal uintptr, zPType uintptr) uintptr { /* sqlite3.c:85260:17: */ var p uintptr = pVal if int32((*Mem)(unsafe.Pointer(p)).Fflags)&(MEM_TypeMask|MEM_Term|MEM_Subtype) == MEM_Null|MEM_Term|MEM_Subtype && zPType != uintptr(0) && @@ -76343,26 +76362,26 @@ func Xsqlite3_value_pointer(tls *libc.TLS, pVal uintptr, zPType uintptr) uintptr return uintptr(0) } -func Xsqlite3_value_text(tls *libc.TLS, pVal uintptr) uintptr { /* sqlite3.c:85260:32: */ +func Xsqlite3_value_text(tls *libc.TLS, pVal uintptr) uintptr { /* sqlite3.c:85273:32: */ return Xsqlite3ValueText(tls, pVal, uint8(SQLITE_UTF8)) } -func Xsqlite3_value_text16(tls *libc.TLS, pVal uintptr) uintptr { /* sqlite3.c:85264:23: */ +func Xsqlite3_value_text16(tls *libc.TLS, pVal uintptr) uintptr { /* sqlite3.c:85277:23: */ return Xsqlite3ValueText(tls, pVal, uint8(SQLITE_UTF16LE)) } -func Xsqlite3_value_text16be(tls *libc.TLS, pVal uintptr) uintptr { /* sqlite3.c:85267:23: */ +func Xsqlite3_value_text16be(tls *libc.TLS, pVal uintptr) uintptr { /* sqlite3.c:85280:23: */ return Xsqlite3ValueText(tls, pVal, uint8(SQLITE_UTF16BE)) } -func Xsqlite3_value_text16le(tls *libc.TLS, pVal uintptr) uintptr { /* sqlite3.c:85270:23: */ +func Xsqlite3_value_text16le(tls *libc.TLS, pVal uintptr) uintptr { /* sqlite3.c:85283:23: */ return Xsqlite3ValueText(tls, pVal, uint8(SQLITE_UTF16LE)) } // EVIDENCE-OF: R-12793-43283 Every value in SQLite has one of five // fundamental datatypes: 64-bit signed integer 64-bit IEEE floating // point number string BLOB NULL -func Xsqlite3_value_type(tls *libc.TLS, pVal uintptr) int32 { /* sqlite3.c:85278:16: */ +func Xsqlite3_value_type(tls *libc.TLS, pVal uintptr) int32 { /* sqlite3.c:85291:16: */ return int32(aType[int32((*Sqlite3_value)(unsafe.Pointer(pVal)).Fflags)&MEM_AffMask]) } @@ -76431,20 +76450,20 @@ var aType = [64]U8{ U8(SQLITE_NULL), // 0x3d (not possible) U8(SQLITE_FLOAT), // 0x3e (not possible) U8(SQLITE_NULL), // 0x3f (not possible) -} /* sqlite3.c:85279:19 */ +} /* sqlite3.c:85292:19 */ // Return true if a parameter to xUpdate represents an unchanged column -func Xsqlite3_value_nochange(tls *libc.TLS, pVal uintptr) int32 { /* sqlite3.c:85364:16: */ +func Xsqlite3_value_nochange(tls *libc.TLS, pVal uintptr) int32 { /* sqlite3.c:85377:16: */ return libc.Bool32(int32((*Sqlite3_value)(unsafe.Pointer(pVal)).Fflags)&(MEM_Null|MEM_Zero) == MEM_Null|MEM_Zero) } // Return true if a parameter value originated from an sqlite3_bind() -func Xsqlite3_value_frombind(tls *libc.TLS, pVal uintptr) int32 { /* sqlite3.c:85369:16: */ +func Xsqlite3_value_frombind(tls *libc.TLS, pVal uintptr) int32 { /* sqlite3.c:85382:16: */ return libc.Bool32(int32((*Sqlite3_value)(unsafe.Pointer(pVal)).Fflags)&MEM_FromBind != 0) } // Make a copy of an sqlite3_value object -func Xsqlite3_value_dup(tls *libc.TLS, pOrig uintptr) uintptr { /* sqlite3.c:85375:26: */ +func Xsqlite3_value_dup(tls *libc.TLS, pOrig uintptr) uintptr { /* sqlite3.c:85388:26: */ var pNew uintptr if pOrig == uintptr(0) { return uintptr(0) @@ -76470,7 +76489,7 @@ func Xsqlite3_value_dup(tls *libc.TLS, pOrig uintptr) uintptr { /* sqlite3.c:853 // Destroy an sqlite3_value object previously obtained from // sqlite3_value_dup(). -func Xsqlite3_value_free(tls *libc.TLS, pOld uintptr) { /* sqlite3.c:85398:17: */ +func Xsqlite3_value_free(tls *libc.TLS, pOld uintptr) { /* sqlite3.c:85411:17: */ Xsqlite3ValueFree(tls, pOld) } @@ -76485,7 +76504,7 @@ func Xsqlite3_value_free(tls *libc.TLS, pOld uintptr) { /* sqlite3.c:85398:17: * // // The invokeValueDestructor(P,X) routine invokes destructor function X() // on value P is not going to be used and need to be destroyed. -func setResultStrOrError(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, enc U8, xDel uintptr) { /* sqlite3.c:85414:13: */ +func setResultStrOrError(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, enc U8, xDel uintptr) { /* sqlite3.c:85427:13: */ var rc int32 = Xsqlite3VdbeMemSetStr(tls, (*Sqlite3_context)(unsafe.Pointer(pCtx)).FpOut, z, int64(n), enc, xDel) if rc != 0 { if rc == SQLITE_TOOBIG { @@ -76499,7 +76518,7 @@ func setResultStrOrError(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, enc U8 } } -func invokeValueDestructor(tls *libc.TLS, p uintptr, xDel uintptr, pCtx uintptr) int32 { /* sqlite3.c:85433:12: */ +func invokeValueDestructor(tls *libc.TLS, p uintptr, xDel uintptr, pCtx uintptr) int32 { /* sqlite3.c:85446:12: */ if xDel == uintptr(0) { // noop @@ -76512,12 +76531,12 @@ func invokeValueDestructor(tls *libc.TLS, p uintptr, xDel uintptr, pCtx uintptr) return SQLITE_TOOBIG } -func Xsqlite3_result_blob(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, xDel uintptr) { /* sqlite3.c:85449:17: */ +func Xsqlite3_result_blob(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, xDel uintptr) { /* sqlite3.c:85462:17: */ setResultStrOrError(tls, pCtx, z, n, uint8(0), xDel) } -func Xsqlite3_result_blob64(tls *libc.TLS, pCtx uintptr, z uintptr, n Sqlite3_uint64, xDel uintptr) { /* sqlite3.c:85459:17: */ +func Xsqlite3_result_blob64(tls *libc.TLS, pCtx uintptr, z uintptr, n Sqlite3_uint64, xDel uintptr) { /* sqlite3.c:85472:17: */ if n > uint64(0x7fffffff) { invokeValueDestructor(tls, z, xDel, pCtx) @@ -76526,39 +76545,39 @@ func Xsqlite3_result_blob64(tls *libc.TLS, pCtx uintptr, z uintptr, n Sqlite3_ui } } -func Xsqlite3_result_double(tls *libc.TLS, pCtx uintptr, rVal float64) { /* sqlite3.c:85473:17: */ +func Xsqlite3_result_double(tls *libc.TLS, pCtx uintptr, rVal float64) { /* sqlite3.c:85486:17: */ Xsqlite3VdbeMemSetDouble(tls, (*Sqlite3_context)(unsafe.Pointer(pCtx)).FpOut, rVal) } -func Xsqlite3_result_error(tls *libc.TLS, pCtx uintptr, z uintptr, n int32) { /* sqlite3.c:85477:17: */ +func Xsqlite3_result_error(tls *libc.TLS, pCtx uintptr, z uintptr, n int32) { /* sqlite3.c:85490:17: */ (*Sqlite3_context)(unsafe.Pointer(pCtx)).FisError = SQLITE_ERROR Xsqlite3VdbeMemSetStr(tls, (*Sqlite3_context)(unsafe.Pointer(pCtx)).FpOut, z, int64(n), uint8(SQLITE_UTF8), libc.UintptrFromInt32(-1)) } -func Xsqlite3_result_error16(tls *libc.TLS, pCtx uintptr, z uintptr, n int32) { /* sqlite3.c:85483:17: */ +func Xsqlite3_result_error16(tls *libc.TLS, pCtx uintptr, z uintptr, n int32) { /* sqlite3.c:85496:17: */ (*Sqlite3_context)(unsafe.Pointer(pCtx)).FisError = SQLITE_ERROR Xsqlite3VdbeMemSetStr(tls, (*Sqlite3_context)(unsafe.Pointer(pCtx)).FpOut, z, int64(n), uint8(SQLITE_UTF16LE), libc.UintptrFromInt32(-1)) } -func Xsqlite3_result_int(tls *libc.TLS, pCtx uintptr, iVal int32) { /* sqlite3.c:85489:17: */ +func Xsqlite3_result_int(tls *libc.TLS, pCtx uintptr, iVal int32) { /* sqlite3.c:85502:17: */ Xsqlite3VdbeMemSetInt64(tls, (*Sqlite3_context)(unsafe.Pointer(pCtx)).FpOut, I64(iVal)) } -func Xsqlite3_result_int64(tls *libc.TLS, pCtx uintptr, iVal I64) { /* sqlite3.c:85493:17: */ +func Xsqlite3_result_int64(tls *libc.TLS, pCtx uintptr, iVal I64) { /* sqlite3.c:85506:17: */ Xsqlite3VdbeMemSetInt64(tls, (*Sqlite3_context)(unsafe.Pointer(pCtx)).FpOut, iVal) } -func Xsqlite3_result_null(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:85497:17: */ +func Xsqlite3_result_null(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:85510:17: */ Xsqlite3VdbeMemSetNull(tls, (*Sqlite3_context)(unsafe.Pointer(pCtx)).FpOut) } -func Xsqlite3_result_pointer(tls *libc.TLS, pCtx uintptr, pPtr uintptr, zPType uintptr, xDestructor uintptr) { /* sqlite3.c:85501:17: */ +func Xsqlite3_result_pointer(tls *libc.TLS, pCtx uintptr, pPtr uintptr, zPType uintptr, xDestructor uintptr) { /* sqlite3.c:85514:17: */ var pOut uintptr = (*Sqlite3_context)(unsafe.Pointer(pCtx)).FpOut Xsqlite3VdbeMemRelease(tls, pOut) @@ -76566,19 +76585,19 @@ func Xsqlite3_result_pointer(tls *libc.TLS, pCtx uintptr, pPtr uintptr, zPType u Xsqlite3VdbeMemSetPointer(tls, pOut, pPtr, zPType, xDestructor) } -func Xsqlite3_result_subtype(tls *libc.TLS, pCtx uintptr, eSubtype uint32) { /* sqlite3.c:85513:17: */ +func Xsqlite3_result_subtype(tls *libc.TLS, pCtx uintptr, eSubtype uint32) { /* sqlite3.c:85526:17: */ var pOut uintptr = (*Sqlite3_context)(unsafe.Pointer(pCtx)).FpOut (*Mem)(unsafe.Pointer(pOut)).FeSubtype = U8(eSubtype & uint32(0xff)) *(*U16)(unsafe.Pointer(pOut + 8)) |= U16(MEM_Subtype) } -func Xsqlite3_result_text(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, xDel uintptr) { /* sqlite3.c:85519:17: */ +func Xsqlite3_result_text(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, xDel uintptr) { /* sqlite3.c:85532:17: */ setResultStrOrError(tls, pCtx, z, n, uint8(SQLITE_UTF8), xDel) } -func Xsqlite3_result_text64(tls *libc.TLS, pCtx uintptr, z uintptr, n Sqlite3_uint64, xDel uintptr, enc uint8) { /* sqlite3.c:85528:17: */ +func Xsqlite3_result_text64(tls *libc.TLS, pCtx uintptr, z uintptr, n Sqlite3_uint64, xDel uintptr, enc uint8) { /* sqlite3.c:85541:17: */ if int32(enc) == SQLITE_UTF16 { enc = uint8(SQLITE_UTF16LE) @@ -76590,32 +76609,32 @@ func Xsqlite3_result_text64(tls *libc.TLS, pCtx uintptr, z uintptr, n Sqlite3_ui } } -func Xsqlite3_result_text16(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, xDel uintptr) { /* sqlite3.c:85545:17: */ +func Xsqlite3_result_text16(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, xDel uintptr) { /* sqlite3.c:85558:17: */ setResultStrOrError(tls, pCtx, z, n, uint8(SQLITE_UTF16LE), xDel) } -func Xsqlite3_result_text16be(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, xDel uintptr) { /* sqlite3.c:85554:17: */ +func Xsqlite3_result_text16be(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, xDel uintptr) { /* sqlite3.c:85567:17: */ setResultStrOrError(tls, pCtx, z, n, uint8(SQLITE_UTF16BE), xDel) } -func Xsqlite3_result_text16le(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, xDel uintptr) { /* sqlite3.c:85563:17: */ +func Xsqlite3_result_text16le(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, xDel uintptr) { /* sqlite3.c:85576:17: */ setResultStrOrError(tls, pCtx, z, n, uint8(SQLITE_UTF16LE), xDel) } -func Xsqlite3_result_value(tls *libc.TLS, pCtx uintptr, pValue uintptr) { /* sqlite3.c:85573:17: */ +func Xsqlite3_result_value(tls *libc.TLS, pCtx uintptr, pValue uintptr) { /* sqlite3.c:85586:17: */ Xsqlite3VdbeMemCopy(tls, (*Sqlite3_context)(unsafe.Pointer(pCtx)).FpOut, pValue) } -func Xsqlite3_result_zeroblob(tls *libc.TLS, pCtx uintptr, n int32) { /* sqlite3.c:85577:17: */ +func Xsqlite3_result_zeroblob(tls *libc.TLS, pCtx uintptr, n int32) { /* sqlite3.c:85590:17: */ Xsqlite3VdbeMemSetZeroBlob(tls, (*Sqlite3_context)(unsafe.Pointer(pCtx)).FpOut, n) } -func Xsqlite3_result_zeroblob64(tls *libc.TLS, pCtx uintptr, n U64) int32 { /* sqlite3.c:85581:16: */ +func Xsqlite3_result_zeroblob64(tls *libc.TLS, pCtx uintptr, n U64) int32 { /* sqlite3.c:85594:16: */ var pOut uintptr = (*Sqlite3_context)(unsafe.Pointer(pCtx)).FpOut if n > U64(*(*int32)(unsafe.Pointer((*Mem)(unsafe.Pointer(pOut)).Fdb + 136))) { @@ -76625,7 +76644,7 @@ func Xsqlite3_result_zeroblob64(tls *libc.TLS, pCtx uintptr, n U64) int32 { /* s return SQLITE_OK } -func Xsqlite3_result_error_code(tls *libc.TLS, pCtx uintptr, errCode int32) { /* sqlite3.c:85594:17: */ +func Xsqlite3_result_error_code(tls *libc.TLS, pCtx uintptr, errCode int32) { /* sqlite3.c:85607:17: */ (*Sqlite3_context)(unsafe.Pointer(pCtx)).FisError = func() int32 { if errCode != 0 { return errCode @@ -76639,7 +76658,7 @@ func Xsqlite3_result_error_code(tls *libc.TLS, pCtx uintptr, errCode int32) { /* } // Force an SQLITE_TOOBIG error. -func Xsqlite3_result_error_toobig(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:85606:17: */ +func Xsqlite3_result_error_toobig(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:85619:17: */ (*Sqlite3_context)(unsafe.Pointer(pCtx)).FisError = SQLITE_TOOBIG Xsqlite3VdbeMemSetStr(tls, (*Sqlite3_context)(unsafe.Pointer(pCtx)).FpOut, ts+5688, int64(-1), @@ -76647,7 +76666,7 @@ func Xsqlite3_result_error_toobig(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:85 } // An SQLITE_NOMEM error. -func Xsqlite3_result_error_nomem(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:85614:17: */ +func Xsqlite3_result_error_nomem(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:85627:17: */ Xsqlite3VdbeMemSetNull(tls, (*Sqlite3_context)(unsafe.Pointer(pCtx)).FpOut) (*Sqlite3_context)(unsafe.Pointer(pCtx)).FisError = SQLITE_NOMEM @@ -76657,7 +76676,7 @@ func Xsqlite3_result_error_nomem(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:856 // Force the INT64 value currently stored as the result to be // a MEM_IntReal value. See the SQLITE_TESTCTRL_RESULT_INTREAL // test-control. -func Xsqlite3ResultIntReal(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:85626:21: */ +func Xsqlite3ResultIntReal(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:85639:21: */ if int32((*Mem)(unsafe.Pointer((*Sqlite3_context)(unsafe.Pointer(pCtx)).FpOut)).Fflags)&MEM_Int != 0 { *(*U16)(unsafe.Pointer((*Sqlite3_context)(unsafe.Pointer(pCtx)).FpOut + 8)) &= libc.Uint16FromInt32(libc.CplInt32(MEM_Int)) @@ -76667,7 +76686,7 @@ func Xsqlite3ResultIntReal(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:85626:21: // This function is called after a transaction has been committed. It // invokes callbacks registered with sqlite3_wal_hook() as required. -func doWalCallbacks(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:85640:12: */ +func doWalCallbacks(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:85653:12: */ var rc int32 = SQLITE_OK var i int32 for i = 0; i < (*Sqlite3)(unsafe.Pointer(db)).FnDb; i++ { @@ -76694,7 +76713,7 @@ func doWalCallbacks(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:85640:12: */ // API. The only thing omitted is the automatic recompile if a // schema change has occurred. That detail is handled by the // outer sqlite3_step() wrapper procedure. -func sqlite3Step(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:85670:12: */ +func sqlite3Step(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:85683:12: */ var db uintptr var rc int32 @@ -76861,14 +76880,14 @@ end_of_step: // This is the top-level implementation of sqlite3_step(). Call // sqlite3Step() to do most of the work. If a schema error occurs, // call sqlite3Reprepare() and try again. -func Xsqlite3_step(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:85804:16: */ +func Xsqlite3_step(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:85817:16: */ var rc int32 = SQLITE_OK // Result from sqlite3Step() var v uintptr = pStmt // the prepared statement var cnt int32 = 0 // Counter to prevent infinite loop of reprepares var db uintptr // The database connection if vdbeSafetyNotNull(tls, v) != 0 { - return Xsqlite3MisuseError(tls, 85811) + return Xsqlite3MisuseError(tls, 85824) } db = (*Vdbe)(unsafe.Pointer(v)).Fdb Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) @@ -76908,7 +76927,7 @@ func Xsqlite3_step(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:85804:16: // Extract the user data from a sqlite3_context structure and return a // pointer to it. -func Xsqlite3_user_data(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:85853:17: */ +func Xsqlite3_user_data(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:85866:17: */ return (*FuncDef)(unsafe.Pointer((*Sqlite3_context)(unsafe.Pointer(p)).FpFunc)).FpUserData } @@ -76921,7 +76940,7 @@ func Xsqlite3_user_data(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:85853:1 // parameter) of the sqlite3_create_function() and // sqlite3_create_function16() routines that originally registered the // application defined function. -func Xsqlite3_context_db_handle(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:85868:20: */ +func Xsqlite3_context_db_handle(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:85881:20: */ return (*Mem)(unsafe.Pointer((*Sqlite3_context)(unsafe.Pointer(p)).FpOut)).Fdb } @@ -76938,14 +76957,14 @@ func Xsqlite3_context_db_handle(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c // Virtual table implements might use this routine to optimize their // performance by substituting a NULL result, or some other light-weight // value, as a signal to the xUpdate routine that the column is unchanged. -func Xsqlite3_vtab_nochange(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:85887:16: */ +func Xsqlite3_vtab_nochange(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:85900:16: */ return Xsqlite3_value_nochange(tls, (*Sqlite3_context)(unsafe.Pointer(p)).FpOut) } // Implementation of sqlite3_vtab_in_first() (if bNext==0) and // sqlite3_vtab_in_next() (if bNext!=0). -func valueFromValueList(tls *libc.TLS, pVal uintptr, ppOut uintptr, bNext int32) int32 { /* sqlite3.c:85896:12: */ +func valueFromValueList(tls *libc.TLS, pVal uintptr, ppOut uintptr, bNext int32) int32 { /* sqlite3.c:85909:12: */ bp := tls.Alloc(68) defer tls.Free(68) @@ -77003,13 +77022,13 @@ func valueFromValueList(tls *libc.TLS, pVal uintptr, ppOut uintptr, bNext int32) // Set the iterator value pVal to point to the first value in the set. // Set (*ppOut) to point to this value before returning. -func Xsqlite3_vtab_in_first(tls *libc.TLS, pVal uintptr, ppOut uintptr) int32 { /* sqlite3.c:85944:16: */ +func Xsqlite3_vtab_in_first(tls *libc.TLS, pVal uintptr, ppOut uintptr) int32 { /* sqlite3.c:85957:16: */ return valueFromValueList(tls, pVal, ppOut, 0) } // Set the iterator value pVal to point to the next value in the set. // Set (*ppOut) to point to this value before returning. -func Xsqlite3_vtab_in_next(tls *libc.TLS, pVal uintptr, ppOut uintptr) int32 { /* sqlite3.c:85952:16: */ +func Xsqlite3_vtab_in_next(tls *libc.TLS, pVal uintptr, ppOut uintptr) int32 { /* sqlite3.c:85965:16: */ return valueFromValueList(tls, pVal, ppOut, 1) } @@ -77018,7 +77037,7 @@ func Xsqlite3_vtab_in_next(tls *libc.TLS, pVal uintptr, ppOut uintptr) int32 { / // statement, the exact same time is returned for each invocation regardless // of the amount of time that elapses between invocations. In other words, // the time returned is always the time of the first call. -func Xsqlite3StmtCurrentTime(tls *libc.TLS, p uintptr) Sqlite3_int64 { /* sqlite3.c:85963:30: */ +func Xsqlite3StmtCurrentTime(tls *libc.TLS, p uintptr) Sqlite3_int64 { /* sqlite3.c:85976:30: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -77041,7 +77060,7 @@ func Xsqlite3StmtCurrentTime(tls *libc.TLS, p uintptr) Sqlite3_int64 { /* sqlite // Create a new aggregate context for p and return a pointer to // its pMem->z element. -func createAggContext(tls *libc.TLS, p uintptr, nByte int32) uintptr { /* sqlite3.c:85983:29: */ +func createAggContext(tls *libc.TLS, p uintptr, nByte int32) uintptr { /* sqlite3.c:85996:29: */ var pMem uintptr = (*Sqlite3_context)(unsafe.Pointer(p)).FpMem if nByte <= 0 { @@ -77061,7 +77080,7 @@ func createAggContext(tls *libc.TLS, p uintptr, nByte int32) uintptr { /* sqlite // Allocate or return the aggregate context for a user function. A new // context is allocated on the first call. Subsequent calls return the // same context that was returned on prior calls. -func Xsqlite3_aggregate_context(tls *libc.TLS, p uintptr, nByte int32) uintptr { /* sqlite3.c:86005:17: */ +func Xsqlite3_aggregate_context(tls *libc.TLS, p uintptr, nByte int32) uintptr { /* sqlite3.c:86018:17: */ if int32((*Mem)(unsafe.Pointer((*Sqlite3_context)(unsafe.Pointer(p)).FpMem)).Fflags)&MEM_Agg == 0 { return createAggContext(tls, p, nByte) @@ -77079,7 +77098,7 @@ func Xsqlite3_aggregate_context(tls *libc.TLS, p uintptr, nByte int32) uintptr { // Undocumented behavior: If iArg is negative then access a cache of // auxiliary data pointers that is available to all functions within a // single prepared statement. The iArg values must match. -func Xsqlite3_get_auxdata(tls *libc.TLS, pCtx uintptr, iArg int32) uintptr { /* sqlite3.c:86026:17: */ +func Xsqlite3_get_auxdata(tls *libc.TLS, pCtx uintptr, iArg int32) uintptr { /* sqlite3.c:86039:17: */ var pAuxData uintptr if (*Sqlite3_context)(unsafe.Pointer(pCtx)).FpVdbe == uintptr(0) { @@ -77102,7 +77121,7 @@ func Xsqlite3_get_auxdata(tls *libc.TLS, pCtx uintptr, iArg int32) uintptr { /* // Undocumented behavior: If iArg is negative then make the data available // 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) { /* sqlite3.c:86054:17: */ +func Xsqlite3_set_auxdata(tls *libc.TLS, pCtx uintptr, iArg int32, pAux uintptr, xDelete uintptr) { /* sqlite3.c:86067:17: */ var pAuxData uintptr var pVdbe uintptr pVdbe = (*Sqlite3_context)(unsafe.Pointer(pCtx)).FpVdbe @@ -77182,13 +77201,13 @@ __11: // provide only to avoid breaking legacy code. New aggregate function // implementations should keep their own counts within their aggregate // context. -func Xsqlite3_aggregate_count(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:86107:16: */ +func Xsqlite3_aggregate_count(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:86120:16: */ return (*Mem)(unsafe.Pointer((*Sqlite3_context)(unsafe.Pointer(p)).FpMem)).Fn } // Return the number of columns in the result set for the statement pStmt. -func Xsqlite3_column_count(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:86116:16: */ +func Xsqlite3_column_count(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:86129:16: */ var pVm uintptr = pStmt if pVm != 0 { return int32((*Vdbe)(unsafe.Pointer(pVm)).FnResColumn) @@ -77198,7 +77217,7 @@ func Xsqlite3_column_count(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:86 // Return the number of values available from the current row of the // currently executing statement pStmt. -func Xsqlite3_data_count(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:86125:16: */ +func Xsqlite3_data_count(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:86138:16: */ var pVm uintptr = pStmt if pVm == uintptr(0) || (*Vdbe)(unsafe.Pointer(pVm)).FpResultSet == uintptr(0) { return 0 @@ -77207,19 +77226,19 @@ func Xsqlite3_data_count(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:8612 } // Return a pointer to static memory containing an SQL NULL value. -func columnNullValue(tls *libc.TLS) uintptr { /* sqlite3.c:86134:18: */ +func columnNullValue(tls *libc.TLS) uintptr { /* sqlite3.c:86147:18: */ return uintptr(unsafe.Pointer(&nullMem)) } var nullMem = Mem{ /* .flags = */ Fflags: U16(MEM_Null), -} /* sqlite3.c:86144:20 */ +} /* sqlite3.c:86157:20 */ // Check to see if column iCol of the given statement is valid. If // it is, return a pointer to the Mem for the value of that column. // If iCol is not valid, return a pointer to a Mem which has a value // of NULL. -func columnMem(tls *libc.TLS, pStmt uintptr, i int32) uintptr { /* sqlite3.c:86174:12: */ +func columnMem(tls *libc.TLS, pStmt uintptr, i int32) uintptr { /* sqlite3.c:86187:12: */ var pVm uintptr var pOut uintptr @@ -77254,7 +77273,7 @@ func columnMem(tls *libc.TLS, pStmt uintptr, i int32) uintptr { /* sqlite3.c:861 // sqlite3_column_bytes() // sqlite3_column_bytes16() // sqiite3_column_blob() -func columnMallocFailure(tls *libc.TLS, pStmt uintptr) { /* sqlite3.c:86209:13: */ +func columnMallocFailure(tls *libc.TLS, pStmt uintptr) { /* sqlite3.c:86222:13: */ // If malloc() failed during an encoding conversion within an // sqlite3_column_XXX API, then set the return code of the statement to // SQLITE_NOMEM. The next call to _step() (if any) will return SQLITE_ERROR @@ -77271,7 +77290,7 @@ func columnMallocFailure(tls *libc.TLS, pStmt uintptr) { /* sqlite3.c:86209:13: // // The following routines are used to access elements of the current row // in the result set. -func Xsqlite3_column_blob(tls *libc.TLS, pStmt uintptr, i int32) uintptr { /* sqlite3.c:86229:23: */ +func Xsqlite3_column_blob(tls *libc.TLS, pStmt uintptr, i int32) uintptr { /* sqlite3.c:86242:23: */ var val uintptr val = Xsqlite3_value_blob(tls, columnMem(tls, pStmt, i)) // Even though there is no encoding conversion, value_blob() might @@ -77281,43 +77300,43 @@ func Xsqlite3_column_blob(tls *libc.TLS, pStmt uintptr, i int32) uintptr { /* sq return val } -func Xsqlite3_column_bytes(tls *libc.TLS, pStmt uintptr, i int32) int32 { /* sqlite3.c:86239:16: */ +func Xsqlite3_column_bytes(tls *libc.TLS, pStmt uintptr, i int32) int32 { /* sqlite3.c:86252:16: */ var val int32 = Xsqlite3_value_bytes(tls, columnMem(tls, pStmt, i)) columnMallocFailure(tls, pStmt) return val } -func Xsqlite3_column_bytes16(tls *libc.TLS, pStmt uintptr, i int32) int32 { /* sqlite3.c:86244:16: */ +func Xsqlite3_column_bytes16(tls *libc.TLS, pStmt uintptr, i int32) int32 { /* sqlite3.c:86257:16: */ var val int32 = Xsqlite3_value_bytes16(tls, columnMem(tls, pStmt, i)) columnMallocFailure(tls, pStmt) return val } -func Xsqlite3_column_double(tls *libc.TLS, pStmt uintptr, i int32) float64 { /* sqlite3.c:86249:19: */ +func Xsqlite3_column_double(tls *libc.TLS, pStmt uintptr, i int32) float64 { /* sqlite3.c:86262:19: */ var val float64 = Xsqlite3_value_double(tls, columnMem(tls, pStmt, i)) columnMallocFailure(tls, pStmt) return val } -func Xsqlite3_column_int(tls *libc.TLS, pStmt uintptr, i int32) int32 { /* sqlite3.c:86254:16: */ +func Xsqlite3_column_int(tls *libc.TLS, pStmt uintptr, i int32) int32 { /* sqlite3.c:86267:16: */ var val int32 = Xsqlite3_value_int(tls, columnMem(tls, pStmt, i)) columnMallocFailure(tls, pStmt) return val } -func Xsqlite3_column_int64(tls *libc.TLS, pStmt uintptr, i int32) Sqlite_int64 { /* sqlite3.c:86259:25: */ +func Xsqlite3_column_int64(tls *libc.TLS, pStmt uintptr, i int32) Sqlite_int64 { /* sqlite3.c:86272:25: */ var val Sqlite_int64 = Xsqlite3_value_int64(tls, columnMem(tls, pStmt, i)) columnMallocFailure(tls, pStmt) return val } -func Xsqlite3_column_text(tls *libc.TLS, pStmt uintptr, i int32) uintptr { /* sqlite3.c:86264:32: */ +func Xsqlite3_column_text(tls *libc.TLS, pStmt uintptr, i int32) uintptr { /* sqlite3.c:86277:32: */ var val uintptr = Xsqlite3_value_text(tls, columnMem(tls, pStmt, i)) columnMallocFailure(tls, pStmt) return val } -func Xsqlite3_column_value(tls *libc.TLS, pStmt uintptr, i int32) uintptr { /* sqlite3.c:86269:26: */ +func Xsqlite3_column_value(tls *libc.TLS, pStmt uintptr, i int32) uintptr { /* sqlite3.c:86282:26: */ var pOut uintptr = columnMem(tls, pStmt, i) if int32((*Mem)(unsafe.Pointer(pOut)).Fflags)&MEM_Static != 0 { *(*U16)(unsafe.Pointer(pOut + 8)) &= libc.Uint16FromInt32(libc.CplInt32(MEM_Static)) @@ -77327,13 +77346,13 @@ func Xsqlite3_column_value(tls *libc.TLS, pStmt uintptr, i int32) uintptr { /* s return pOut } -func Xsqlite3_column_text16(tls *libc.TLS, pStmt uintptr, i int32) uintptr { /* sqlite3.c:86279:23: */ +func Xsqlite3_column_text16(tls *libc.TLS, pStmt uintptr, i int32) uintptr { /* sqlite3.c:86292:23: */ var val uintptr = Xsqlite3_value_text16(tls, columnMem(tls, pStmt, i)) columnMallocFailure(tls, pStmt) return val } -func Xsqlite3_column_type(tls *libc.TLS, pStmt uintptr, i int32) int32 { /* sqlite3.c:86285:16: */ +func Xsqlite3_column_type(tls *libc.TLS, pStmt uintptr, i int32) int32 { /* sqlite3.c:86298:16: */ var iType int32 = Xsqlite3_value_type(tls, columnMem(tls, pStmt, i)) columnMallocFailure(tls, pStmt) return iType @@ -77353,7 +77372,7 @@ func Xsqlite3_column_type(tls *libc.TLS, pStmt uintptr, i int32) int32 { /* sqli // // If the result is not a simple column reference (if it is an expression // or a constant) then useTypes 2, 3, and 4 return NULL. -func columnName(tls *libc.TLS, pStmt uintptr, N int32, useUtf16 int32, useType int32) uintptr { /* sqlite3.c:86307:19: */ +func columnName(tls *libc.TLS, pStmt uintptr, N int32, useUtf16 int32, useType int32) uintptr { /* sqlite3.c:86320:19: */ var ret uintptr var p uintptr var n int32 @@ -77385,11 +77404,11 @@ func columnName(tls *libc.TLS, pStmt uintptr, N int32, useUtf16 int32, useType i // Return the name of the Nth column of the result set returned by SQL // statement pStmt. -func Xsqlite3_column_name(tls *libc.TLS, pStmt uintptr, N int32) uintptr { /* sqlite3.c:86356:23: */ +func Xsqlite3_column_name(tls *libc.TLS, pStmt uintptr, N int32) uintptr { /* sqlite3.c:86369:23: */ return columnName(tls, pStmt, N, 0, COLNAME_NAME) } -func Xsqlite3_column_name16(tls *libc.TLS, pStmt uintptr, N int32) uintptr { /* sqlite3.c:86360:23: */ +func Xsqlite3_column_name16(tls *libc.TLS, pStmt uintptr, N int32) uintptr { /* sqlite3.c:86373:23: */ return columnName(tls, pStmt, N, 1, COLNAME_NAME) } @@ -77398,44 +77417,44 @@ func Xsqlite3_column_name16(tls *libc.TLS, pStmt uintptr, N int32) uintptr { /* // Return the column declaration type (if applicable) of the 'i'th column // of the result set of SQL statement pStmt. -func Xsqlite3_column_decltype(tls *libc.TLS, pStmt uintptr, N int32) uintptr { /* sqlite3.c:86379:23: */ +func Xsqlite3_column_decltype(tls *libc.TLS, pStmt uintptr, N int32) uintptr { /* sqlite3.c:86392:23: */ return columnName(tls, pStmt, N, 0, COLNAME_DECLTYPE) } -func Xsqlite3_column_decltype16(tls *libc.TLS, pStmt uintptr, N int32) uintptr { /* sqlite3.c:86383:23: */ +func Xsqlite3_column_decltype16(tls *libc.TLS, pStmt uintptr, N int32) uintptr { /* sqlite3.c:86396:23: */ return columnName(tls, pStmt, N, 1, COLNAME_DECLTYPE) } // Return the name of the database from which a result column derives. // NULL is returned if the result column is an expression or constant or // anything else which is not an unambiguous reference to a database column. -func Xsqlite3_column_database_name(tls *libc.TLS, pStmt uintptr, N int32) uintptr { /* sqlite3.c:86395:23: */ +func Xsqlite3_column_database_name(tls *libc.TLS, pStmt uintptr, N int32) uintptr { /* sqlite3.c:86408:23: */ return columnName(tls, pStmt, N, 0, COLNAME_DATABASE) } -func Xsqlite3_column_database_name16(tls *libc.TLS, pStmt uintptr, N int32) uintptr { /* sqlite3.c:86399:23: */ +func Xsqlite3_column_database_name16(tls *libc.TLS, pStmt uintptr, N int32) uintptr { /* sqlite3.c:86412:23: */ return columnName(tls, pStmt, N, 1, COLNAME_DATABASE) } // Return the name of the table from which a result column derives. // NULL is returned if the result column is an expression or constant or // anything else which is not an unambiguous reference to a database column. -func Xsqlite3_column_table_name(tls *libc.TLS, pStmt uintptr, N int32) uintptr { /* sqlite3.c:86409:23: */ +func Xsqlite3_column_table_name(tls *libc.TLS, pStmt uintptr, N int32) uintptr { /* sqlite3.c:86422:23: */ return columnName(tls, pStmt, N, 0, COLNAME_TABLE) } -func Xsqlite3_column_table_name16(tls *libc.TLS, pStmt uintptr, N int32) uintptr { /* sqlite3.c:86413:23: */ +func Xsqlite3_column_table_name16(tls *libc.TLS, pStmt uintptr, N int32) uintptr { /* sqlite3.c:86426:23: */ return columnName(tls, pStmt, N, 1, COLNAME_TABLE) } // Return the name of the table column from which a result column derives. // NULL is returned if the result column is an expression or constant or // anything else which is not an unambiguous reference to a database column. -func Xsqlite3_column_origin_name(tls *libc.TLS, pStmt uintptr, N int32) uintptr { /* sqlite3.c:86423:23: */ +func Xsqlite3_column_origin_name(tls *libc.TLS, pStmt uintptr, N int32) uintptr { /* sqlite3.c:86436:23: */ return columnName(tls, pStmt, N, 0, COLNAME_COLUMN) } -func Xsqlite3_column_origin_name16(tls *libc.TLS, pStmt uintptr, N int32) uintptr { /* sqlite3.c:86427:23: */ +func Xsqlite3_column_origin_name16(tls *libc.TLS, pStmt uintptr, N int32) uintptr { /* sqlite3.c:86440:23: */ return columnName(tls, pStmt, N, 1, COLNAME_COLUMN) } @@ -77452,13 +77471,13 @@ func Xsqlite3_column_origin_name16(tls *libc.TLS, pStmt uintptr, N int32) uintpt // // The error code stored in database p->db is overwritten with the return // value in any case. -func vdbeUnbind(tls *libc.TLS, p uintptr, i int32) int32 { /* sqlite3.c:86449:12: */ +func vdbeUnbind(tls *libc.TLS, p uintptr, i int32) int32 { /* sqlite3.c:86462:12: */ bp := tls.Alloc(8) defer tls.Free(8) var pVar uintptr if vdbeSafetyNotNull(tls, p) != 0 { - return Xsqlite3MisuseError(tls, 86452) + return Xsqlite3MisuseError(tls, 86465) } Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer((*Vdbe)(unsafe.Pointer(p)).Fdb)).Fmutex) if (*Vdbe)(unsafe.Pointer(p)).FiVdbeMagic != U32(VDBE_MAGIC_RUN) || (*Vdbe)(unsafe.Pointer(p)).Fpc >= 0 { @@ -77466,7 +77485,7 @@ func vdbeUnbind(tls *libc.TLS, p uintptr, i int32) int32 { /* sqlite3.c:86449:12 Xsqlite3_mutex_leave(tls, (*Sqlite3)(unsafe.Pointer((*Vdbe)(unsafe.Pointer(p)).Fdb)).Fmutex) Xsqlite3_log(tls, SQLITE_MISUSE, ts+5721, libc.VaList(bp, (*Vdbe)(unsafe.Pointer(p)).FzSql)) - return Xsqlite3MisuseError(tls, 86460) + return Xsqlite3MisuseError(tls, 86473) } if i < 1 || i > int32((*Vdbe)(unsafe.Pointer(p)).FnVar) { Xsqlite3Error(tls, (*Vdbe)(unsafe.Pointer(p)).Fdb, SQLITE_RANGE) @@ -77500,7 +77519,7 @@ func vdbeUnbind(tls *libc.TLS, p uintptr, i int32) int32 { /* sqlite3.c:86449:12 } // Bind a text or BLOB value. -func bindText(tls *libc.TLS, pStmt uintptr, i int32, zData uintptr, nData I64, xDel uintptr, encoding U8) int32 { /* sqlite3.c:86492:12: */ +func bindText(tls *libc.TLS, pStmt uintptr, i int32, zData uintptr, nData I64, xDel uintptr, encoding U8) int32 { /* sqlite3.c:86505:12: */ var p uintptr = pStmt var pVar uintptr var rc int32 @@ -77526,16 +77545,16 @@ func bindText(tls *libc.TLS, pStmt uintptr, i int32, zData uintptr, nData I64, x } // 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) int32 { /* sqlite3.c:86528:16: */ +func Xsqlite3_bind_blob(tls *libc.TLS, pStmt uintptr, i int32, zData uintptr, nData int32, xDel uintptr) int32 { /* sqlite3.c:86541:16: */ return bindText(tls, pStmt, i, zData, int64(nData), xDel, uint8(0)) } -func Xsqlite3_bind_blob64(tls *libc.TLS, pStmt uintptr, i int32, zData uintptr, nData Sqlite3_uint64, xDel uintptr) int32 { /* sqlite3.c:86540:16: */ +func Xsqlite3_bind_blob64(tls *libc.TLS, pStmt uintptr, i int32, zData uintptr, nData Sqlite3_uint64, xDel uintptr) int32 { /* sqlite3.c:86553:16: */ return bindText(tls, pStmt, i, zData, int64(nData), xDel, uint8(0)) } -func Xsqlite3_bind_double(tls *libc.TLS, pStmt uintptr, i int32, rValue float64) int32 { /* sqlite3.c:86550:16: */ +func Xsqlite3_bind_double(tls *libc.TLS, pStmt uintptr, i int32, rValue float64) int32 { /* sqlite3.c:86563:16: */ var rc int32 var p uintptr = pStmt rc = vdbeUnbind(tls, p, i) @@ -77546,11 +77565,11 @@ func Xsqlite3_bind_double(tls *libc.TLS, pStmt uintptr, i int32, rValue float64) return rc } -func Xsqlite3_bind_int(tls *libc.TLS, p uintptr, i int32, iValue int32) int32 { /* sqlite3.c:86560:16: */ +func Xsqlite3_bind_int(tls *libc.TLS, p uintptr, i int32, iValue int32) int32 { /* sqlite3.c:86573:16: */ return Xsqlite3_bind_int64(tls, p, i, I64(iValue)) } -func Xsqlite3_bind_int64(tls *libc.TLS, pStmt uintptr, i int32, iValue Sqlite_int64) int32 { /* sqlite3.c:86563:16: */ +func Xsqlite3_bind_int64(tls *libc.TLS, pStmt uintptr, i int32, iValue Sqlite_int64) int32 { /* sqlite3.c:86576:16: */ var rc int32 var p uintptr = pStmt rc = vdbeUnbind(tls, p, i) @@ -77561,7 +77580,7 @@ func Xsqlite3_bind_int64(tls *libc.TLS, pStmt uintptr, i int32, iValue Sqlite_in return rc } -func Xsqlite3_bind_null(tls *libc.TLS, pStmt uintptr, i int32) int32 { /* sqlite3.c:86573:16: */ +func Xsqlite3_bind_null(tls *libc.TLS, pStmt uintptr, i int32) int32 { /* sqlite3.c:86586:16: */ var rc int32 var p uintptr = pStmt rc = vdbeUnbind(tls, p, i) @@ -77571,7 +77590,7 @@ func Xsqlite3_bind_null(tls *libc.TLS, pStmt uintptr, i int32) int32 { /* sqlite return rc } -func Xsqlite3_bind_pointer(tls *libc.TLS, pStmt uintptr, i int32, pPtr uintptr, zPTtype uintptr, xDestructor uintptr) int32 { /* sqlite3.c:86582:16: */ +func Xsqlite3_bind_pointer(tls *libc.TLS, pStmt uintptr, i int32, pPtr uintptr, zPTtype uintptr, xDestructor uintptr) int32 { /* sqlite3.c:86595:16: */ var rc int32 var p uintptr = pStmt rc = vdbeUnbind(tls, p, i) @@ -77584,11 +77603,11 @@ func Xsqlite3_bind_pointer(tls *libc.TLS, pStmt uintptr, i int32, pPtr uintptr, return rc } -func Xsqlite3_bind_text(tls *libc.TLS, pStmt uintptr, i int32, zData uintptr, nData int32, xDel uintptr) int32 { /* sqlite3.c:86600:16: */ +func Xsqlite3_bind_text(tls *libc.TLS, pStmt uintptr, i int32, zData uintptr, nData int32, xDel uintptr) int32 { /* sqlite3.c:86613:16: */ return bindText(tls, pStmt, i, zData, int64(nData), xDel, uint8(SQLITE_UTF8)) } -func Xsqlite3_bind_text64(tls *libc.TLS, pStmt uintptr, i int32, zData uintptr, nData Sqlite3_uint64, xDel uintptr, enc uint8) int32 { /* sqlite3.c:86609:16: */ +func Xsqlite3_bind_text64(tls *libc.TLS, pStmt uintptr, i int32, zData uintptr, nData Sqlite3_uint64, xDel uintptr, enc uint8) int32 { /* sqlite3.c:86622:16: */ if int32(enc) == SQLITE_UTF16 { enc = uint8(SQLITE_UTF16LE) @@ -77596,11 +77615,11 @@ func Xsqlite3_bind_text64(tls *libc.TLS, pStmt uintptr, i int32, zData uintptr, return bindText(tls, pStmt, i, zData, int64(nData), xDel, enc) } -func Xsqlite3_bind_text16(tls *libc.TLS, pStmt uintptr, i int32, zData uintptr, nData int32, xDel uintptr) int32 { /* sqlite3.c:86622:16: */ +func Xsqlite3_bind_text16(tls *libc.TLS, pStmt uintptr, i int32, zData uintptr, nData int32, xDel uintptr) int32 { /* sqlite3.c:86635:16: */ return bindText(tls, pStmt, i, zData, int64(nData), xDel, uint8(SQLITE_UTF16LE)) } -func Xsqlite3_bind_value(tls *libc.TLS, pStmt uintptr, i int32, pValue uintptr) int32 { /* sqlite3.c:86632:16: */ +func Xsqlite3_bind_value(tls *libc.TLS, pStmt uintptr, i int32, pValue uintptr) int32 { /* sqlite3.c:86645:16: */ var rc int32 switch Xsqlite3_value_type(tls, pValue) { case SQLITE_INTEGER: @@ -77649,7 +77668,7 @@ func Xsqlite3_bind_value(tls *libc.TLS, pStmt uintptr, i int32, pValue uintptr) return rc } -func Xsqlite3_bind_zeroblob(tls *libc.TLS, pStmt uintptr, i int32, n int32) int32 { /* sqlite3.c:86666:16: */ +func Xsqlite3_bind_zeroblob(tls *libc.TLS, pStmt uintptr, i int32, n int32) int32 { /* sqlite3.c:86679:16: */ var rc int32 var p uintptr = pStmt rc = vdbeUnbind(tls, p, i) @@ -77660,7 +77679,7 @@ func Xsqlite3_bind_zeroblob(tls *libc.TLS, pStmt uintptr, i int32, n int32) int3 return rc } -func Xsqlite3_bind_zeroblob64(tls *libc.TLS, pStmt uintptr, i int32, n Sqlite3_uint64) int32 { /* sqlite3.c:86680:16: */ +func Xsqlite3_bind_zeroblob64(tls *libc.TLS, pStmt uintptr, i int32, n Sqlite3_uint64) int32 { /* sqlite3.c:86693:16: */ var rc int32 var p uintptr = pStmt Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer((*Vdbe)(unsafe.Pointer(p)).Fdb)).Fmutex) @@ -77677,7 +77696,7 @@ func Xsqlite3_bind_zeroblob64(tls *libc.TLS, pStmt uintptr, i int32, n Sqlite3_u // Return the number of wildcards that can be potentially bound to. // This routine is added to support DBD::SQLite. -func Xsqlite3_bind_parameter_count(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:86699:16: */ +func Xsqlite3_bind_parameter_count(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:86712:16: */ var p uintptr = pStmt if p != 0 { return int32((*Vdbe)(unsafe.Pointer(p)).FnVar) @@ -77689,7 +77708,7 @@ func Xsqlite3_bind_parameter_count(tls *libc.TLS, pStmt uintptr) int32 { /* sqli // is out of range or if the wildcard is unnamed. // // The result is always UTF-8. -func Xsqlite3_bind_parameter_name(tls *libc.TLS, pStmt uintptr, i int32) uintptr { /* sqlite3.c:86710:23: */ +func Xsqlite3_bind_parameter_name(tls *libc.TLS, pStmt uintptr, i int32) uintptr { /* sqlite3.c:86723:23: */ var p uintptr = pStmt if p == uintptr(0) { return uintptr(0) @@ -77700,19 +77719,19 @@ func Xsqlite3_bind_parameter_name(tls *libc.TLS, pStmt uintptr, i int32) uintptr // Given a wildcard parameter name, return the index of the variable // with that name. If there is no variable with the given name, // return 0. -func Xsqlite3VdbeParameterIndex(tls *libc.TLS, p uintptr, zName uintptr, nName int32) int32 { /* sqlite3.c:86721:20: */ +func Xsqlite3VdbeParameterIndex(tls *libc.TLS, p uintptr, zName uintptr, nName int32) int32 { /* sqlite3.c:86734:20: */ if p == uintptr(0) || zName == uintptr(0) { return 0 } return Xsqlite3VListNameToNum(tls, (*Vdbe)(unsafe.Pointer(p)).FpVList, zName, nName) } -func Xsqlite3_bind_parameter_index(tls *libc.TLS, pStmt uintptr, zName uintptr) int32 { /* sqlite3.c:86725:16: */ +func Xsqlite3_bind_parameter_index(tls *libc.TLS, pStmt uintptr, zName uintptr) int32 { /* sqlite3.c:86738:16: */ return Xsqlite3VdbeParameterIndex(tls, pStmt, zName, Xsqlite3Strlen30(tls, zName)) } // Transfer all bindings from the first statement over to the second. -func Xsqlite3TransferBindings(tls *libc.TLS, pFromStmt uintptr, pToStmt uintptr) int32 { /* sqlite3.c:86732:20: */ +func Xsqlite3TransferBindings(tls *libc.TLS, pFromStmt uintptr, pToStmt uintptr) int32 { /* sqlite3.c:86745:20: */ var pFrom uintptr = pFromStmt var pTo uintptr = pToStmt var i int32 @@ -77735,7 +77754,7 @@ func Xsqlite3TransferBindings(tls *libc.TLS, pFromStmt uintptr, pToStmt uintptr) // If the two statements contain a different number of bindings, then // an SQLITE_ERROR is returned. Nothing else can go wrong, so otherwise // SQLITE_OK is returned. -func Xsqlite3_transfer_bindings(tls *libc.TLS, pFromStmt uintptr, pToStmt uintptr) int32 { /* sqlite3.c:86759:16: */ +func Xsqlite3_transfer_bindings(tls *libc.TLS, pFromStmt uintptr, pToStmt uintptr) int32 { /* sqlite3.c:86772:16: */ var pFrom uintptr = pFromStmt var pTo uintptr = pToStmt if int32((*Vdbe)(unsafe.Pointer(pFrom)).FnVar) != int32((*Vdbe)(unsafe.Pointer(pTo)).FnVar) { @@ -77756,7 +77775,7 @@ func Xsqlite3_transfer_bindings(tls *libc.TLS, pFromStmt uintptr, pToStmt uintpt // in the argument belongs. This is the same database handle that was // the first argument to the sqlite3_prepare() that was used to create // the statement in the first place. -func Xsqlite3_db_handle(tls *libc.TLS, pStmt uintptr) uintptr { /* sqlite3.c:86783:20: */ +func Xsqlite3_db_handle(tls *libc.TLS, pStmt uintptr) uintptr { /* sqlite3.c:86796:20: */ if pStmt != 0 { return (*Vdbe)(unsafe.Pointer(pStmt)).Fdb } @@ -77765,7 +77784,7 @@ func Xsqlite3_db_handle(tls *libc.TLS, pStmt uintptr) uintptr { /* sqlite3.c:867 // Return true if the prepared statement is guaranteed to not modify the // database. -func Xsqlite3_stmt_readonly(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:86791:16: */ +func Xsqlite3_stmt_readonly(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:86804:16: */ if pStmt != 0 { return int32(*(*uint16)(unsafe.Pointer(pStmt + 208)) & 0x80 >> 7) } @@ -77774,7 +77793,7 @@ func Xsqlite3_stmt_readonly(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:8 // Return 1 if the statement is an EXPLAIN and return 2 if the // statement is an EXPLAIN QUERY PLAN -func Xsqlite3_stmt_isexplain(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:86799:16: */ +func Xsqlite3_stmt_isexplain(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:86812:16: */ if pStmt != 0 { return int32(*(*uint16)(unsafe.Pointer(pStmt + 208)) & 0xc >> 2) } @@ -77782,7 +77801,7 @@ func Xsqlite3_stmt_isexplain(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c: } // Return true if the prepared statement is in need of being reset. -func Xsqlite3_stmt_busy(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:86806:16: */ +func Xsqlite3_stmt_busy(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:86819:16: */ var v uintptr = pStmt return libc.Bool32(v != uintptr(0) && (*Vdbe)(unsafe.Pointer(v)).FiVdbeMagic == U32(VDBE_MAGIC_RUN) && (*Vdbe)(unsafe.Pointer(v)).Fpc >= 0) } @@ -77791,7 +77810,7 @@ func Xsqlite3_stmt_busy(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:86806 // with database connection pDb. If pStmt is NULL, return the first // prepared statement for the database connection. Return NULL if there // are no more. -func Xsqlite3_next_stmt(tls *libc.TLS, pDb uintptr, pStmt uintptr) uintptr { /* sqlite3.c:86817:25: */ +func Xsqlite3_next_stmt(tls *libc.TLS, pDb uintptr, pStmt uintptr) uintptr { /* sqlite3.c:86830:25: */ var pNext uintptr Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(pDb)).Fmutex) if pStmt == uintptr(0) { @@ -77804,7 +77823,7 @@ func Xsqlite3_next_stmt(tls *libc.TLS, pDb uintptr, pStmt uintptr) uintptr { /* } // Return the value of a status counter for a prepared statement -func Xsqlite3_stmt_status(tls *libc.TLS, pStmt uintptr, op int32, resetFlag int32) int32 { /* sqlite3.c:86838:16: */ +func Xsqlite3_stmt_status(tls *libc.TLS, pStmt uintptr, op int32, resetFlag int32) int32 { /* sqlite3.c:86851:16: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -77830,7 +77849,7 @@ func Xsqlite3_stmt_status(tls *libc.TLS, pStmt uintptr, op int32, resetFlag int3 } // Return the SQL associated with a prepared statement -func Xsqlite3_sql(tls *libc.TLS, pStmt uintptr) uintptr { /* sqlite3.c:86868:23: */ +func Xsqlite3_sql(tls *libc.TLS, pStmt uintptr) uintptr { /* sqlite3.c:86881:23: */ var p uintptr = pStmt if p != 0 { return (*Vdbe)(unsafe.Pointer(p)).FzSql @@ -77845,7 +77864,7 @@ func Xsqlite3_sql(tls *libc.TLS, pStmt uintptr) uintptr { /* sqlite3.c:86868:23: // // The SQLITE_TRACE_SIZE_LIMIT puts an upper bound on the size of // expanded bound parameters. -func Xsqlite3_expanded_sql(tls *libc.TLS, pStmt uintptr) uintptr { /* sqlite3.c:86882:17: */ +func Xsqlite3_expanded_sql(tls *libc.TLS, pStmt uintptr) uintptr { /* sqlite3.c:86895:17: */ var z uintptr = uintptr(0) var zSql uintptr = Xsqlite3_sql(tls, pStmt) if zSql != 0 { @@ -77860,7 +77879,7 @@ func Xsqlite3_expanded_sql(tls *libc.TLS, pStmt uintptr) uintptr { /* sqlite3.c: // Allocate and populate an UnpackedRecord structure based on the serialized // record in nKey/pKey. Return a pointer to the new UnpackedRecord structure // if successful, or a NULL pointer if an OOM error is encountered. -func vdbeUnpackRecord(tls *libc.TLS, pKeyInfo uintptr, nKey int32, pKey uintptr) uintptr { /* sqlite3.c:86920:23: */ +func vdbeUnpackRecord(tls *libc.TLS, pKeyInfo uintptr, nKey int32, pKey uintptr) uintptr { /* sqlite3.c:86933:23: */ var pRet uintptr // Return value pRet = Xsqlite3VdbeAllocUnpackedRecord(tls, pKeyInfo) @@ -77873,7 +77892,7 @@ func vdbeUnpackRecord(tls *libc.TLS, pKeyInfo uintptr, nKey int32, pKey uintptr) // This function is called from within a pre-update callback to retrieve // a field of the row currently being updated or deleted. -func Xsqlite3_preupdate_old(tls *libc.TLS, db uintptr, iIdx int32, ppValue uintptr) int32 { /* sqlite3.c:86939:16: */ +func Xsqlite3_preupdate_old(tls *libc.TLS, db uintptr, iIdx int32, ppValue uintptr) int32 { /* sqlite3.c:86952:16: */ var p uintptr var pMem uintptr var rc int32 @@ -77887,7 +77906,7 @@ func Xsqlite3_preupdate_old(tls *libc.TLS, db uintptr, iIdx int32, ppValue uintp if !(!(p != 0) || (*PreUpdate)(unsafe.Pointer(p)).Fop == SQLITE_INSERT) { goto __1 } - rc = Xsqlite3MisuseError(tls, 86947) + rc = Xsqlite3MisuseError(tls, 86960) goto preupdate_old_out __1: ; @@ -77979,7 +77998,7 @@ preupdate_old_out: // This function is called from within a pre-update callback to retrieve // the number of columns in the row being updated, deleted or inserted. -func Xsqlite3_preupdate_count(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:87003:16: */ +func Xsqlite3_preupdate_count(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:87016:16: */ var p uintptr = (*Sqlite3)(unsafe.Pointer(db)).FpPreUpdate return func() int32 { if p != 0 { @@ -77998,7 +78017,7 @@ func Xsqlite3_preupdate_count(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:87 // // For the purposes of the previous paragraph, a foreign key CASCADE, SET NULL // or SET DEFAULT action is considered a trigger. -func Xsqlite3_preupdate_depth(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:87021:16: */ +func Xsqlite3_preupdate_depth(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:87034:16: */ var p uintptr = (*Sqlite3)(unsafe.Pointer(db)).FpPreUpdate return func() int32 { if p != 0 { @@ -78010,7 +78029,7 @@ func Xsqlite3_preupdate_depth(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:87 // This function is designed to be called from within a pre-update callback // only. -func Xsqlite3_preupdate_blobwrite(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:87032:16: */ +func Xsqlite3_preupdate_blobwrite(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:87045:16: */ var p uintptr = (*Sqlite3)(unsafe.Pointer(db)).FpPreUpdate return func() int32 { if p != 0 { @@ -78022,7 +78041,7 @@ func Xsqlite3_preupdate_blobwrite(tls *libc.TLS, db uintptr) int32 { /* sqlite3. // This function is called from within a pre-update callback to retrieve // a field of the row currently being updated or inserted. -func Xsqlite3_preupdate_new(tls *libc.TLS, db uintptr, iIdx int32, ppValue uintptr) int32 { /* sqlite3.c:87043:16: */ +func Xsqlite3_preupdate_new(tls *libc.TLS, db uintptr, iIdx int32, ppValue uintptr) int32 { /* sqlite3.c:87056:16: */ var p uintptr var rc int32 var pMem uintptr @@ -78036,7 +78055,7 @@ func Xsqlite3_preupdate_new(tls *libc.TLS, db uintptr, iIdx int32, ppValue uintp if !(!(p != 0) || (*PreUpdate)(unsafe.Pointer(p)).Fop == SQLITE_DELETE) { goto __1 } - rc = Xsqlite3MisuseError(tls, 87049) + rc = Xsqlite3MisuseError(tls, 87062) goto preupdate_new_out __1: ; @@ -78177,7 +78196,7 @@ preupdate_new_out: // bytes in this text up to but excluding the first character in // a host parameter. If the text contains no host parameters, return // the total number of bytes in the text. -func findNextHostParameter(tls *libc.TLS, zSql uintptr, pnToken uintptr) int32 { /* sqlite3.c:87213:12: */ +func findNextHostParameter(tls *libc.TLS, zSql uintptr, pnToken uintptr) int32 { /* sqlite3.c:87226:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -78222,7 +78241,7 @@ func findNextHostParameter(tls *libc.TLS, zSql uintptr, pnToken uintptr) int32 { // statement for the corresponding OP_Variable opcode. Once the host // parameter index is known, locate the value in p->aVar[]. Then render // the value as a literal in place of the host parameter name. -func Xsqlite3VdbeExpandSql(tls *libc.TLS, p uintptr, zRawSql uintptr) uintptr { /* sqlite3.c:87256:21: */ +func Xsqlite3VdbeExpandSql(tls *libc.TLS, p uintptr, zRawSql uintptr) uintptr { /* sqlite3.c:87269:21: */ bp := tls.Alloc(144) defer tls.Free(144) @@ -78445,7 +78464,7 @@ func Xsqlite3VdbeExpandSql(tls *libc.TLS, p uintptr, zRawSql uintptr) uintptr { // Allocate VdbeCursor number iCur. Return a pointer to it. Return NULL // if we run out of memory. -func allocateCursor(tls *libc.TLS, p uintptr, iCur int32, nField int32, eCurType U8) uintptr { /* sqlite3.c:87619:19: */ +func allocateCursor(tls *libc.TLS, p uintptr, iCur int32, nField int32, eCurType U8) uintptr { /* sqlite3.c:87632:19: */ // Find the memory cell that will be used to store the blob of memory // required for this VdbeCursor structure. It is convenient to use a // vdbe memory cell to manage the memory allocation required for a @@ -78516,7 +78535,7 @@ func allocateCursor(tls *libc.TLS, p uintptr, iCur int32, nField int32, eCurType // floating point value of rValue. Return true and set *piValue to the // integer value if the string is in range to be an integer. Otherwise, // return false. -func alsoAnInt(tls *libc.TLS, pRec uintptr, rValue float64, piValue uintptr) int32 { /* sqlite3.c:87695:12: */ +func alsoAnInt(tls *libc.TLS, pRec uintptr, rValue float64, piValue uintptr) int32 { /* sqlite3.c:87708:12: */ var iValue I64 = I64(rValue) if Xsqlite3RealSameAsInt(tls, rValue, iValue) != 0 { *(*I64)(unsafe.Pointer(piValue)) = iValue @@ -78538,7 +78557,7 @@ func alsoAnInt(tls *libc.TLS, pRec uintptr, rValue float64, piValue uintptr) int // If bTryForInt is false, then if the input string contains a decimal // point or exponential notation, the result is only MEM_Real, even // if there is an exact integer representation of the quantity. -func applyNumericAffinity(tls *libc.TLS, pRec uintptr, bTryForInt int32) { /* sqlite3.c:87719:13: */ +func applyNumericAffinity(tls *libc.TLS, pRec uintptr, bTryForInt int32) { /* sqlite3.c:87732:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -78584,7 +78603,7 @@ func applyNumericAffinity(tls *libc.TLS, pRec uintptr, bTryForInt int32) { /* sq // SQLITE_AFF_BLOB: // SQLITE_AFF_NONE: // No-op. pRec is unchanged. -func applyAffinity(tls *libc.TLS, pRec uintptr, affinity int8, enc U8) { /* sqlite3.c:87759:13: */ +func applyAffinity(tls *libc.TLS, pRec uintptr, affinity int8, enc U8) { /* sqlite3.c:87772:13: */ if int32(affinity) >= SQLITE_AFF_NUMERIC { if int32((*Mem)(unsafe.Pointer(pRec)).Fflags)&MEM_Int == 0 { //OPTIMIZATION-IF-FALSE @@ -78616,7 +78635,7 @@ func applyAffinity(tls *libc.TLS, pRec uintptr, affinity int8, enc U8) { /* sqli // into a numeric representation. Use either INTEGER or REAL whichever // is appropriate. But only do the conversion if it is possible without // loss of information and return the revised type of the argument. -func Xsqlite3_value_numeric_type(tls *libc.TLS, pVal uintptr) int32 { /* sqlite3.c:87798:16: */ +func Xsqlite3_value_numeric_type(tls *libc.TLS, pVal uintptr) int32 { /* sqlite3.c:87811:16: */ var eType int32 = Xsqlite3_value_type(tls, pVal) if eType == SQLITE_TEXT { var pMem uintptr = pVal @@ -78628,7 +78647,7 @@ func Xsqlite3_value_numeric_type(tls *libc.TLS, pVal uintptr) int32 { /* sqlite3 // Exported version of applyAffinity(). This one works on sqlite3_value*, // not the internal Mem* type. -func Xsqlite3ValueApplyAffinity(tls *libc.TLS, pVal uintptr, affinity U8, enc U8) { /* sqlite3.c:87812:21: */ +func Xsqlite3ValueApplyAffinity(tls *libc.TLS, pVal uintptr, affinity U8, enc U8) { /* sqlite3.c:87825:21: */ applyAffinity(tls, pVal, int8(affinity), enc) } @@ -78636,7 +78655,7 @@ func Xsqlite3ValueApplyAffinity(tls *libc.TLS, pVal uintptr, affinity U8, enc U8 // interpret as a string if we want to). Compute its corresponding // numeric type, if has one. Set the pMem->u.r and pMem->u.i fields // accordingly. -func computeNumericType(tls *libc.TLS, pMem uintptr) U16 { /* sqlite3.c:87826:28: */ +func computeNumericType(tls *libc.TLS, pMem uintptr) U16 { /* sqlite3.c:87839:28: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -78672,7 +78691,7 @@ func computeNumericType(tls *libc.TLS, pMem uintptr) U16 { /* sqlite3.c:87826:28 // // Unlike applyNumericAffinity(), this routine does not modify pMem->flags. // But it does set pMem->u.r and pMem->u.i appropriately. -func numericType(tls *libc.TLS, pMem uintptr) U16 { /* sqlite3.c:87857:12: */ +func numericType(tls *libc.TLS, pMem uintptr) U16 { /* sqlite3.c:87870:12: */ if int32((*Mem)(unsafe.Pointer(pMem)).Fflags)&(MEM_Int|MEM_Real|MEM_IntReal) != 0 { return U16(int32((*Mem)(unsafe.Pointer(pMem)).Fflags) & (MEM_Int | MEM_Real | MEM_IntReal)) @@ -78686,13 +78705,13 @@ func numericType(tls *libc.TLS, pMem uintptr) U16 { /* sqlite3.c:87857:12: */ // Return the register of pOp->p2 after first preparing it to be // overwritten with an integer value. -func out2PrereleaseWithClear(tls *libc.TLS, pOut uintptr) uintptr { /* sqlite3.c:88032:28: */ +func out2PrereleaseWithClear(tls *libc.TLS, pOut uintptr) uintptr { /* sqlite3.c:88045:28: */ Xsqlite3VdbeMemSetNull(tls, pOut) (*Mem)(unsafe.Pointer(pOut)).Fflags = U16(MEM_Int) return pOut } -func out2Prerelease(tls *libc.TLS, p uintptr, pOp uintptr) uintptr { /* sqlite3.c:88037:12: */ +func out2Prerelease(tls *libc.TLS, p uintptr, pOp uintptr) uintptr { /* sqlite3.c:88050:12: */ var pOut uintptr pOut = (*Vdbe)(unsafe.Pointer(p)).FaMem + uintptr((*VdbeOp)(unsafe.Pointer(pOp)).Fp2)*56 @@ -78708,7 +78727,7 @@ func out2Prerelease(tls *libc.TLS, p uintptr, pOp uintptr) uintptr { /* sqlite3. // Compute a bloom filter hash using pOp->p4.i registers from aMem[] beginning // with pOp->p3. Return the hash. -func filterHash(tls *libc.TLS, aMem uintptr, pOp uintptr) U64 { /* sqlite3.c:88055:12: */ +func filterHash(tls *libc.TLS, aMem uintptr, pOp uintptr) U64 { /* sqlite3.c:88068:12: */ var i int32 var mx int32 var h U64 = uint64(0) @@ -78732,7 +78751,7 @@ func filterHash(tls *libc.TLS, aMem uintptr, pOp uintptr) U64 { /* sqlite3.c:880 } // Return the symbolic name for the data type of a pMem -func vdbeMemTypeName(tls *libc.TLS, pMem uintptr) uintptr { /* sqlite3.c:88077:19: */ +func vdbeMemTypeName(tls *libc.TLS, pMem uintptr) uintptr { /* sqlite3.c:88090:19: */ return azTypes[Xsqlite3_value_type(tls, pMem)-1] } @@ -78742,11 +78761,11 @@ var azTypes = [5]uintptr{ ts + 1105, ts + 1083, ts + 1528, -} /* sqlite3.c:88078:21 */ +} /* sqlite3.c:88091:21 */ // Execute as much of a VDBE program as we can. // This is the core of sqlite3_step(). -func Xsqlite3VdbeExec(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:88092:20: */ +func Xsqlite3VdbeExec(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:88105:20: */ bp := tls.Alloc(976) defer tls.Free(976) @@ -84270,7 +84289,7 @@ op_column_corrupt: goto __8 goto __400 __399: - rc = Xsqlite3CorruptError(tls, 90310) + rc = Xsqlite3CorruptError(tls, 90323) goto abort_due_to_error __400: ; @@ -86769,7 +86788,7 @@ notExistsWithKey: if !((*Op)(unsafe.Pointer(pOp)).Fp2 == 0) { goto __642 } - rc = Xsqlite3CorruptError(tls, 92457) + rc = Xsqlite3CorruptError(tls, 92470) goto __643 __642: goto jump_to_p2 @@ -87933,7 +87952,7 @@ __724: if !((*Op)(unsafe.Pointer(pOp)).Fp5 != 0 && !(Xsqlite3WritableSchema(tls, db) != 0)) { goto __727 } - rc = Xsqlite3ReportError(tls, SQLITE_CORRUPT|int32(3)<<8, 93513, ts+6230) + rc = Xsqlite3ReportError(tls, SQLITE_CORRUPT|int32(3)<<8, 93526, ts+6230) goto abort_due_to_error __727: ; @@ -88125,7 +88144,7 @@ __737: if !(nCellKey <= int64(0) || nCellKey > int64(0x7fffffff)) { goto __738 } - rc = Xsqlite3CorruptError(tls, 93717) + rc = Xsqlite3CorruptError(tls, 93730) goto abort_due_to_error __738: ; @@ -88401,7 +88420,7 @@ __759: // 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 = Xsqlite3CorruptError(tls, 93969) + rc = Xsqlite3CorruptError(tls, 93982) __760: ; Xsqlite3DbFreeNN(tls, db, zSql) @@ -90414,7 +90433,7 @@ __916: if !(rc == SQLITE_IOERR|int32(33)<<8) { goto __918 } - rc = Xsqlite3CorruptError(tls, 95906) + rc = Xsqlite3CorruptError(tls, 95919) __918: ; __917: @@ -90503,11 +90522,11 @@ abort_due_to_interrupt: } var azType = [4]uintptr{ts + 6472, ts + 6481, ts + 6488, - ts + 6494} /* sqlite3.c:88537:25 */ -var and_logic = [9]uint8{uint8(0), uint8(0), uint8(0), uint8(0), uint8(1), uint8(2), uint8(0), uint8(2), uint8(2)} /* sqlite3.c:89761:32 */ -var or_logic = [9]uint8{uint8(0), uint8(1), uint8(2), uint8(1), uint8(1), uint8(1), uint8(2), uint8(1), uint8(2)} /* sqlite3.c:89764:32 */ -var aFlag1 = [2]U16{U16(MEM_Blob), U16(MEM_Str | MEM_Term)} /* sqlite3.c:90257:24 */ -var vfsFlags int32 = SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE | SQLITE_OPEN_EXCLUSIVE | SQLITE_OPEN_DELETEONCLOSE | SQLITE_OPEN_TRANSIENT_DB /* sqlite3.c:91512:20 */ + ts + 6494} /* sqlite3.c:88550:25 */ +var and_logic = [9]uint8{uint8(0), uint8(0), uint8(0), uint8(0), uint8(1), uint8(2), uint8(0), uint8(2), uint8(2)} /* sqlite3.c:89774:32 */ +var or_logic = [9]uint8{uint8(0), uint8(1), uint8(2), uint8(1), uint8(1), uint8(1), uint8(2), uint8(1), uint8(2)} /* sqlite3.c:89777:32 */ +var aFlag1 = [2]U16{U16(MEM_Blob), U16(MEM_Str | MEM_Term)} /* sqlite3.c:90270:24 */ +var vfsFlags int32 = SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE | SQLITE_OPEN_EXCLUSIVE | SQLITE_OPEN_DELETEONCLOSE | SQLITE_OPEN_TRANSIENT_DB /* sqlite3.c:91525:20 */ //************* End of vdbe.c *********************************************** //************* Begin file vdbeblob.c *************************************** @@ -90538,7 +90557,7 @@ type Incrblob1 = struct { Fdb uintptr FzDb uintptr FpTab uintptr -} /* sqlite3.c:96011:9 */ +} /* sqlite3.c:96024:9 */ //************* End of vdbe.c *********************************************** //************* Begin file vdbeblob.c *************************************** @@ -90559,7 +90578,7 @@ type Incrblob1 = struct { // #include "vdbeInt.h" // Valid sqlite3_blob* handles point to Incrblob structures. -type Incrblob = Incrblob1 /* sqlite3.c:96011:25 */ +type Incrblob = Incrblob1 /* sqlite3.c:96024:25 */ // This function is used by both blob_open() and blob_reopen(). It seeks // the b-tree cursor associated with blob handle p to point to row iRow. @@ -90576,7 +90595,7 @@ type Incrblob = Incrblob1 /* sqlite3.c:96011:25 */ // If an error does occur, then the b-tree cursor is closed. All subsequent // calls to sqlite3_blob_read(), blob_write() or blob_reopen() will // immediately return SQLITE_ABORT. -func blobSeekToRow(tls *libc.TLS, p uintptr, iRow Sqlite3_int64, pzErr uintptr) int32 { /* sqlite3.c:96041:12: */ +func blobSeekToRow(tls *libc.TLS, p uintptr, iRow Sqlite3_int64, pzErr uintptr) int32 { /* sqlite3.c:96054:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -90652,7 +90671,7 @@ func blobSeekToRow(tls *libc.TLS, p uintptr, iRow Sqlite3_int64, pzErr uintptr) } // Open a blob handle. -func Xsqlite3_blob_open(tls *libc.TLS, db uintptr, zDb uintptr, zTable uintptr, zColumn uintptr, iRow Sqlite_int64, wrFlag int32, ppBlob uintptr) int32 { /* sqlite3.c:96109:16: */ +func Xsqlite3_blob_open(tls *libc.TLS, db uintptr, zDb uintptr, zTable uintptr, zColumn uintptr, iRow Sqlite_int64, wrFlag int32, ppBlob uintptr) int32 { /* sqlite3.c:96122:16: */ bp := tls.Alloc(464) defer tls.Free(464) @@ -90973,7 +90992,7 @@ __38: return rc } -var iLn int32 = 0 /* sqlite3.c:96252:24 */ +var iLn int32 = 0 /* sqlite3.c:96265:24 */ var openBlob = [6]VdbeOpList{ {Fopcode: U8(OP_TableLock)}, // 0: Acquire a read or write lock {Fopcode: U8(OP_OpenRead)}, // 1: Open a cursor @@ -90982,11 +91001,11 @@ var openBlob = [6]VdbeOpList{ {Fopcode: U8(OP_Column), Fp3: int8(1)}, // 3 {Fopcode: U8(OP_ResultRow), Fp1: int8(1)}, // 4 {Fopcode: U8(OP_Halt)}, // 5 -} /* sqlite3.c:96253:31 */ +} /* sqlite3.c:96266:31 */ // Close a blob handle that was previously created using // sqlite3_blob_open(). -func Xsqlite3_blob_close(tls *libc.TLS, pBlob uintptr) int32 { /* sqlite3.c:96344:16: */ +func Xsqlite3_blob_close(tls *libc.TLS, pBlob uintptr) int32 { /* sqlite3.c:96357:16: */ var p uintptr = pBlob var rc int32 var db uintptr @@ -91005,14 +91024,14 @@ func Xsqlite3_blob_close(tls *libc.TLS, pBlob uintptr) int32 { /* sqlite3.c:9634 } // Perform a read or write operation on a blob -func blobReadWrite(tls *libc.TLS, pBlob uintptr, z uintptr, n int32, iOffset int32, xCall uintptr) int32 { /* sqlite3.c:96365:12: */ +func blobReadWrite(tls *libc.TLS, pBlob uintptr, z uintptr, n int32, iOffset int32, xCall uintptr) int32 { /* sqlite3.c:96378:12: */ var rc int32 var p uintptr = pBlob var v uintptr var db uintptr if p == uintptr(0) { - return Xsqlite3MisuseError(tls, 96377) + return Xsqlite3MisuseError(tls, 96390) } db = (*Incrblob)(unsafe.Pointer(p)).Fdb Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) @@ -91071,14 +91090,14 @@ func blobReadWrite(tls *libc.TLS, pBlob uintptr, z uintptr, n int32, iOffset int } // Read data from a blob handle. -func Xsqlite3_blob_read(tls *libc.TLS, pBlob uintptr, z uintptr, n int32, iOffset int32) int32 { /* sqlite3.c:96440:16: */ +func Xsqlite3_blob_read(tls *libc.TLS, pBlob uintptr, z uintptr, n int32, iOffset int32) int32 { /* sqlite3.c:96453:16: */ return blobReadWrite(tls, pBlob, z, n, iOffset, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, U32, U32, uintptr) int32 }{Xsqlite3BtreePayloadChecked}))) } // Write data to a blob handle. -func Xsqlite3_blob_write(tls *libc.TLS, pBlob uintptr, z uintptr, n int32, iOffset int32) int32 { /* sqlite3.c:96447:16: */ +func Xsqlite3_blob_write(tls *libc.TLS, pBlob uintptr, z uintptr, n int32, iOffset int32) int32 { /* sqlite3.c:96460:16: */ return blobReadWrite(tls, pBlob, z, n, iOffset, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, U32, U32, uintptr) int32 }{Xsqlite3BtreePutData}))) @@ -91088,7 +91107,7 @@ func Xsqlite3_blob_write(tls *libc.TLS, pBlob uintptr, z uintptr, n int32, iOffs // // The Incrblob.nByte field is fixed for the lifetime of the Incrblob // so no mutex is required for access. -func Xsqlite3_blob_bytes(tls *libc.TLS, pBlob uintptr) int32 { /* sqlite3.c:96457:16: */ +func Xsqlite3_blob_bytes(tls *libc.TLS, pBlob uintptr) int32 { /* sqlite3.c:96470:16: */ var p uintptr = pBlob if p != 0 && (*Incrblob)(unsafe.Pointer(p)).FpStmt != 0 { return (*Incrblob)(unsafe.Pointer(p)).FnByte @@ -91104,7 +91123,7 @@ func Xsqlite3_blob_bytes(tls *libc.TLS, pBlob uintptr) int32 { /* sqlite3.c:9645 // database handle error code and message set. If this happens, then all // subsequent calls to sqlite3_blob_xxx() functions (except blob_close()) // immediately return SQLITE_ABORT. -func Xsqlite3_blob_reopen(tls *libc.TLS, pBlob uintptr, iRow Sqlite3_int64) int32 { /* sqlite3.c:96472:16: */ +func Xsqlite3_blob_reopen(tls *libc.TLS, pBlob uintptr, iRow Sqlite3_int64) int32 { /* sqlite3.c:96485:16: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -91113,7 +91132,7 @@ func Xsqlite3_blob_reopen(tls *libc.TLS, pBlob uintptr, iRow Sqlite3_int64) int3 var db uintptr if p == uintptr(0) { - return Xsqlite3MisuseError(tls, 96477) + return Xsqlite3MisuseError(tls, 96490) } db = (*Incrblob)(unsafe.Pointer(p)).Fdb Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) @@ -91451,7 +91470,7 @@ type MergeEngine1 = struct { // overflows. 512MiB. // Private objects used by the sorter -type MergeEngine = MergeEngine1 /* sqlite3.c:96666:28 */ // Merge PMAs together +type MergeEngine = MergeEngine1 /* sqlite3.c:96679:28 */ // Merge PMAs together type PmaReader1 = struct { FiReadOff I64 FiEof I64 @@ -91468,7 +91487,7 @@ type PmaReader1 = struct { } /* sqlite3.c:22082:9 */ // Merge PMAs together -type PmaReader = PmaReader1 /* sqlite3.c:96667:26 */ // Incrementally read one PMA +type PmaReader = PmaReader1 /* sqlite3.c:96680:26 */ // Incrementally read one PMA type PmaWriter1 = struct { FeFWErr int32 F__ccgo_pad1 [4]byte @@ -91479,10 +91498,10 @@ type PmaWriter1 = struct { F__ccgo_pad2 [4]byte FiWriteOff I64 FpFd uintptr -} /* sqlite3.c:96668:9 */ +} /* sqlite3.c:96681:9 */ // Incrementally read one PMA -type PmaWriter = PmaWriter1 /* sqlite3.c:96668:26 */ // Incrementally write one PMA +type PmaWriter = PmaWriter1 /* sqlite3.c:96681:26 */ // Incrementally write one PMA type SorterRecord1 = struct { FnVal int32 F__ccgo_pad1 [4]byte @@ -91490,7 +91509,7 @@ type SorterRecord1 = struct { } /* sqlite3.c:22082:9 */ // Incrementally write one PMA -type SorterRecord = SorterRecord1 /* sqlite3.c:96669:29 */ // A record being sorted +type SorterRecord = SorterRecord1 /* sqlite3.c:96682:29 */ // A record being sorted type SortSubtask1 = struct { FpThread uintptr FbDone int32 @@ -91506,14 +91525,14 @@ type SortSubtask1 = struct { } /* sqlite3.c:22082:9 */ // A record being sorted -type SortSubtask = SortSubtask1 /* sqlite3.c:96670:28 */ // A sub-task in the sort process +type SortSubtask = SortSubtask1 /* sqlite3.c:96683:28 */ // A sub-task in the sort process type SorterFile1 = struct { FpFd uintptr FiEof I64 } /* sqlite3.c:22082:9 */ // A sub-task in the sort process -type SorterFile = SorterFile1 /* sqlite3.c:96671:27 */ // Temporary file object wrapper +type SorterFile = SorterFile1 /* sqlite3.c:96684:27 */ // Temporary file object wrapper type SorterList1 = struct { FpList uintptr FaMemory uintptr @@ -91522,7 +91541,7 @@ type SorterList1 = struct { } /* sqlite3.c:22082:9 */ // Temporary file object wrapper -type SorterList = SorterList1 /* sqlite3.c:96672:27 */ // In-memory list of records +type SorterList = SorterList1 /* sqlite3.c:96685:27 */ // In-memory list of records type IncrMerger1 = struct { FpTask uintptr FpMerger uintptr @@ -91535,7 +91554,7 @@ type IncrMerger1 = struct { } /* sqlite3.c:22082:9 */ // In-memory list of records -type IncrMerger = IncrMerger1 /* sqlite3.c:96673:27 */ +type IncrMerger = IncrMerger1 /* sqlite3.c:96686:27 */ // This object represents a single thread of control in a sort operation. // Exactly VdbeSorter.nTask instances of this object are allocated @@ -91566,11 +91585,11 @@ type IncrMerger = IncrMerger1 /* sqlite3.c:96673:27 */ // In both cases, the effects of the main thread seeing (bDone==0) even // after the thread has finished are not dire. So we don't worry about // memory barriers and such here. -type SorterCompare = uintptr /* sqlite3.c:96800:13 */ +type SorterCompare = uintptr /* sqlite3.c:96813:13 */ // Free all memory belonging to the PmaReader object passed as the // argument. All structure fields are set to zero before returning. -func vdbePmaReaderClear(tls *libc.TLS, pReadr uintptr) { /* sqlite3.c:96975:13: */ +func vdbePmaReaderClear(tls *libc.TLS, pReadr uintptr) { /* sqlite3.c:96988:13: */ Xsqlite3_free(tls, (*PmaReader)(unsafe.Pointer(pReadr)).FaAlloc) Xsqlite3_free(tls, (*PmaReader)(unsafe.Pointer(pReadr)).FaBuffer) if (*PmaReader)(unsafe.Pointer(pReadr)).FaMap != 0 { @@ -91587,7 +91606,7 @@ func vdbePmaReaderClear(tls *libc.TLS, pReadr uintptr) { /* sqlite3.c:96975:13: // // The buffer returned in *ppOut is only valid until the // next call to this function. -func vdbePmaReadBlob(tls *libc.TLS, p uintptr, nByte int32, ppOut uintptr) int32 { /* sqlite3.c:96992:12: */ +func vdbePmaReadBlob(tls *libc.TLS, p uintptr, nByte int32, ppOut uintptr) int32 { /* sqlite3.c:97005:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -91691,7 +91710,7 @@ func vdbePmaReadBlob(tls *libc.TLS, p uintptr, nByte int32, ppOut uintptr) int32 // Read a varint from the stream of data accessed by p. Set *pnOut to // the value read. -func vdbePmaReadVarint(tls *libc.TLS, p uintptr, pnOut uintptr) int32 { /* sqlite3.c:97086:12: */ +func vdbePmaReadVarint(tls *libc.TLS, p uintptr, pnOut uintptr) int32 { /* sqlite3.c:97099:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -91731,7 +91750,7 @@ func vdbePmaReadVarint(tls *libc.TLS, p uintptr, pnOut uintptr) int32 { /* sqlit // // Or, if an error occurs, return an SQLite error code. The final value of // *pp is undefined in this case. -func vdbeSorterMapFile(tls *libc.TLS, pTask uintptr, pFile uintptr, pp uintptr) int32 { /* sqlite3.c:97119:12: */ +func vdbeSorterMapFile(tls *libc.TLS, pTask uintptr, pFile uintptr, pp uintptr) int32 { /* sqlite3.c:97132:12: */ var rc int32 = SQLITE_OK if (*SorterFile)(unsafe.Pointer(pFile)).FiEof <= I64((*Sqlite3)(unsafe.Pointer((*VdbeSorter)(unsafe.Pointer((*SortSubtask)(unsafe.Pointer(pTask)).FpSorter)).Fdb)).FnMaxSorterMmap) { var pFd uintptr = (*SorterFile)(unsafe.Pointer(pFile)).FpFd @@ -91746,7 +91765,7 @@ func vdbeSorterMapFile(tls *libc.TLS, pTask uintptr, pFile uintptr, pp uintptr) // Attach PmaReader pReadr to file pFile (if it is not already attached to // that file) and seek it to offset iOff within the file. Return SQLITE_OK // if successful, or an SQLite error code if an error occurs. -func vdbePmaReaderSeek(tls *libc.TLS, pTask uintptr, pReadr uintptr, pFile uintptr, iOff I64) int32 { /* sqlite3.c:97136:12: */ +func vdbePmaReaderSeek(tls *libc.TLS, pTask uintptr, pReadr uintptr, pFile uintptr, iOff I64) int32 { /* sqlite3.c:97149:12: */ var rc int32 = SQLITE_OK if Xsqlite3FaultSim(tls, 201) != 0 { @@ -91787,7 +91806,7 @@ func vdbePmaReaderSeek(tls *libc.TLS, pTask uintptr, pReadr uintptr, pFile uintp // Advance PmaReader pReadr to the next key in its PMA. Return SQLITE_OK if // no error occurs, or an SQLite error code if one does. -func vdbePmaReaderNext(tls *libc.TLS, pReadr uintptr) int32 { /* sqlite3.c:97183:12: */ +func vdbePmaReaderNext(tls *libc.TLS, pReadr uintptr) int32 { /* sqlite3.c:97196:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -91833,7 +91852,7 @@ func vdbePmaReaderNext(tls *libc.TLS, pReadr uintptr) int32 { /* sqlite3.c:97183 // // If the pnByte parameter is NULL, then it is assumed that the file // contains a single PMA, and that that PMA omits the initial length varint. -func vdbePmaReaderInit(tls *libc.TLS, pTask uintptr, pFile uintptr, iStart I64, pReadr uintptr, pnByte uintptr) int32 { /* sqlite3.c:97230:12: */ +func vdbePmaReaderInit(tls *libc.TLS, pTask uintptr, pFile uintptr, iStart I64, pReadr uintptr, pnByte uintptr) int32 { /* sqlite3.c:97243:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -91856,7 +91875,7 @@ func vdbePmaReaderInit(tls *libc.TLS, pTask uintptr, pFile uintptr, iStart I64, // A version of vdbeSorterCompare() that assumes that it has already been // determined that the first field of key1 is equal to the first field of // key2. -func vdbeSorterCompareTail(tls *libc.TLS, pTask uintptr, pbKey2Cached uintptr, pKey1 uintptr, nKey1 int32, pKey2 uintptr, nKey2 int32) int32 { /* sqlite3.c:97263:12: */ +func vdbeSorterCompareTail(tls *libc.TLS, pTask uintptr, pbKey2Cached uintptr, pKey1 uintptr, nKey1 int32, pKey2 uintptr, nKey2 int32) int32 { /* sqlite3.c:97276:12: */ var r2 uintptr = (*SortSubtask)(unsafe.Pointer(pTask)).FpUnpacked if *(*int32)(unsafe.Pointer(pbKey2Cached)) == 0 { Xsqlite3VdbeRecordUnpack(tls, (*VdbeSorter)(unsafe.Pointer((*SortSubtask)(unsafe.Pointer(pTask)).FpSorter)).FpKeyInfo, nKey2, pKey2, r2) @@ -91876,7 +91895,7 @@ func vdbeSorterCompareTail(tls *libc.TLS, pTask uintptr, pbKey2Cached uintptr, p // // If an OOM error is encountered, (pTask->pUnpacked->error_rc) is set // to SQLITE_NOMEM. -func vdbeSorterCompare(tls *libc.TLS, pTask uintptr, pbKey2Cached uintptr, pKey1 uintptr, nKey1 int32, pKey2 uintptr, nKey2 int32) int32 { /* sqlite3.c:97290:12: */ +func vdbeSorterCompare(tls *libc.TLS, pTask uintptr, pbKey2Cached uintptr, pKey1 uintptr, nKey1 int32, pKey2 uintptr, nKey2 int32) int32 { /* sqlite3.c:97303:12: */ var r2 uintptr = (*SortSubtask)(unsafe.Pointer(pTask)).FpUnpacked if !(*(*int32)(unsafe.Pointer(pbKey2Cached)) != 0) { Xsqlite3VdbeRecordUnpack(tls, (*VdbeSorter)(unsafe.Pointer((*SortSubtask)(unsafe.Pointer(pTask)).FpSorter)).FpKeyInfo, nKey2, pKey2, r2) @@ -91888,7 +91907,7 @@ func vdbeSorterCompare(tls *libc.TLS, pTask uintptr, pbKey2Cached uintptr, pKey1 // A specially optimized version of vdbeSorterCompare() that assumes that // the first field of each key is a TEXT value and that the collation // sequence to compare them with is BINARY. -func vdbeSorterCompareText(tls *libc.TLS, pTask uintptr, pbKey2Cached uintptr, pKey1 uintptr, nKey1 int32, pKey2 uintptr, nKey2 int32) int32 { /* sqlite3.c:97309:12: */ +func vdbeSorterCompareText(tls *libc.TLS, pTask uintptr, pbKey2Cached uintptr, pKey1 uintptr, nKey1 int32, pKey2 uintptr, nKey2 int32) int32 { /* sqlite3.c:97322:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -91938,7 +91957,7 @@ func vdbeSorterCompareText(tls *libc.TLS, pTask uintptr, pbKey2Cached uintptr, p // A specially optimized version of vdbeSorterCompare() that assumes that // the first field of each key is an INTEGER value. -func vdbeSorterCompareInt(tls *libc.TLS, pTask uintptr, pbKey2Cached uintptr, pKey1 uintptr, nKey1 int32, pKey2 uintptr, nKey2 int32) int32 { /* sqlite3.c:97351:12: */ +func vdbeSorterCompareInt(tls *libc.TLS, pTask uintptr, pbKey2Cached uintptr, pKey1 uintptr, nKey1 int32, pKey2 uintptr, nKey2 int32) int32 { /* sqlite3.c:97364:12: */ var p1 uintptr = pKey1 var p2 uintptr = pKey2 var s1 int32 = int32(*(*U8)(unsafe.Pointer(p1 + 1))) // Left hand serial type @@ -91998,7 +92017,7 @@ func vdbeSorterCompareInt(tls *libc.TLS, pTask uintptr, pbKey2Cached uintptr, pK return res } -var aLen = [10]U8{U8(0), U8(1), U8(2), U8(3), U8(4), U8(6), U8(8), U8(0), U8(0), U8(0)} /* sqlite3.c:97370:21 */ +var aLen = [10]U8{U8(0), U8(1), U8(2), U8(3), U8(4), U8(6), U8(8), U8(0), U8(0), U8(0)} /* sqlite3.c:97383:21 */ // Initialize the temporary index cursor just opened as a sorter cursor. // @@ -92017,7 +92036,7 @@ var aLen = [10]U8{U8(0), U8(1), U8(2), U8(3), U8(4), U8(6), U8(8), U8(0), U8(0), // mode, but not in multi-threaded mode. // // SQLITE_OK is returned if successful, or an SQLite error code otherwise. -func Xsqlite3VdbeSorterInit(tls *libc.TLS, db uintptr, nField int32, pCsr uintptr) int32 { /* sqlite3.c:97434:20: */ +func Xsqlite3VdbeSorterInit(tls *libc.TLS, db uintptr, nField int32, pCsr uintptr) int32 { /* sqlite3.c:97447:20: */ var pgsz int32 // Page size of main database var i int32 // Used to iterate through aTask[] var pSorter uintptr // The new sorter @@ -92113,7 +92132,7 @@ func Xsqlite3VdbeSorterInit(tls *libc.TLS, db uintptr, nField int32, pCsr uintpt } // Free the list of sorted records starting at pRecord. -func vdbeSorterRecordFree(tls *libc.TLS, db uintptr, pRecord uintptr) { /* sqlite3.c:97540:13: */ +func vdbeSorterRecordFree(tls *libc.TLS, db uintptr, pRecord uintptr) { /* sqlite3.c:97553:13: */ var p uintptr var pNext uintptr for p = pRecord; p != 0; p = pNext { @@ -92124,7 +92143,7 @@ func vdbeSorterRecordFree(tls *libc.TLS, db uintptr, pRecord uintptr) { /* sqlit // Free all resources owned by the object indicated by argument pTask. All // fields of *pTask are zeroed before returning. -func vdbeSortSubtaskCleanup(tls *libc.TLS, db uintptr, pTask uintptr) { /* sqlite3.c:97553:13: */ +func vdbeSortSubtaskCleanup(tls *libc.TLS, db uintptr, pTask uintptr) { /* sqlite3.c:97566:13: */ Xsqlite3DbFree(tls, db, (*SortSubtask)(unsafe.Pointer(pTask)).FpUnpacked) // pTask->list.aMemory can only be non-zero if it was handed memory // from the main thread. That only occurs SQLITE_MAX_WORKER_THREADS>0 @@ -92144,7 +92163,7 @@ func vdbeSortSubtaskCleanup(tls *libc.TLS, db uintptr, pTask uintptr) { /* sqlit } // Join thread pTask->thread. -func vdbeSorterJoinThread(tls *libc.TLS, pTask uintptr) int32 { /* sqlite3.c:97619:12: */ +func vdbeSorterJoinThread(tls *libc.TLS, pTask uintptr) int32 { /* sqlite3.c:97632:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -92163,14 +92182,14 @@ func vdbeSorterJoinThread(tls *libc.TLS, pTask uintptr) int32 { /* sqlite3.c:976 } // Launch a background thread to run xTask(pIn). -func vdbeSorterCreateThread(tls *libc.TLS, pTask uintptr, xTask uintptr, pIn uintptr) int32 { /* sqlite3.c:97640:12: */ +func vdbeSorterCreateThread(tls *libc.TLS, pTask uintptr, xTask uintptr, pIn uintptr) int32 { /* sqlite3.c:97653:12: */ return Xsqlite3ThreadCreate(tls, pTask, xTask, pIn) } // Join all outstanding threads launched by SorterWrite() to create // level-0 PMAs. -func vdbeSorterJoinAll(tls *libc.TLS, pSorter uintptr, rcin int32) int32 { /* sqlite3.c:97653:12: */ +func vdbeSorterJoinAll(tls *libc.TLS, pSorter uintptr, rcin int32) int32 { /* sqlite3.c:97666:12: */ var rc int32 = rcin var i int32 @@ -92196,7 +92215,7 @@ func vdbeSorterJoinAll(tls *libc.TLS, pSorter uintptr, rcin int32) int32 { /* sq // // nReader is automatically rounded up to the next power of two. // nReader may not exceed SORTER_MAX_MERGE_COUNT even after rounding up. -func vdbeMergeEngineNew(tls *libc.TLS, nReader int32) uintptr { /* sqlite3.c:97683:20: */ +func vdbeMergeEngineNew(tls *libc.TLS, nReader int32) uintptr { /* sqlite3.c:97696:20: */ var N int32 = 2 // Smallest power of two >= nReader var nByte int32 // Total bytes of space to allocate var pNew uintptr // Pointer to allocated object to return @@ -92221,7 +92240,7 @@ func vdbeMergeEngineNew(tls *libc.TLS, nReader int32) uintptr { /* sqlite3.c:976 } // Free the MergeEngine object passed as the only argument. -func vdbeMergeEngineFree(tls *libc.TLS, pMerger uintptr) { /* sqlite3.c:97706:13: */ +func vdbeMergeEngineFree(tls *libc.TLS, pMerger uintptr) { /* sqlite3.c:97719:13: */ var i int32 if pMerger != 0 { for i = 0; i < (*MergeEngine)(unsafe.Pointer(pMerger)).FnTree; i++ { @@ -92233,7 +92252,7 @@ func vdbeMergeEngineFree(tls *libc.TLS, pMerger uintptr) { /* sqlite3.c:97706:13 // Free all resources associated with the IncrMerger object indicated by // the first argument. -func vdbeIncrFree(tls *libc.TLS, pIncr uintptr) { /* sqlite3.c:97720:13: */ +func vdbeIncrFree(tls *libc.TLS, pIncr uintptr) { /* sqlite3.c:97733:13: */ if pIncr != 0 { if (*IncrMerger)(unsafe.Pointer(pIncr)).FbUseThread != 0 { vdbeSorterJoinThread(tls, (*IncrMerger)(unsafe.Pointer(pIncr)).FpTask) @@ -92250,7 +92269,7 @@ func vdbeIncrFree(tls *libc.TLS, pIncr uintptr) { /* sqlite3.c:97720:13: */ } // Reset a sorting cursor back to its original empty state. -func Xsqlite3VdbeSorterReset(tls *libc.TLS, db uintptr, pSorter uintptr) { /* sqlite3.c:97737:21: */ +func Xsqlite3VdbeSorterReset(tls *libc.TLS, db uintptr, pSorter uintptr) { /* sqlite3.c:97750:21: */ var i int32 vdbeSorterJoinAll(tls, pSorter, SQLITE_OK) @@ -92279,7 +92298,7 @@ func Xsqlite3VdbeSorterReset(tls *libc.TLS, db uintptr, pSorter uintptr) { /* sq } // Free any cursor components allocated by sqlite3VdbeSorterXXX routines. -func Xsqlite3VdbeSorterClose(tls *libc.TLS, db uintptr, pCsr uintptr) { /* sqlite3.c:97770:21: */ +func Xsqlite3VdbeSorterClose(tls *libc.TLS, db uintptr, pCsr uintptr) { /* sqlite3.c:97783:21: */ var pSorter uintptr pSorter = *(*uintptr)(unsafe.Pointer(pCsr + 48)) @@ -92298,7 +92317,7 @@ func Xsqlite3VdbeSorterClose(tls *libc.TLS, db uintptr, pCsr uintptr) { /* sqlit // // Whether or not the file does end up memory mapped of course depends on // the specific VFS implementation. -func vdbeSorterExtendFile(tls *libc.TLS, db uintptr, pFd uintptr, nByte I64) { /* sqlite3.c:97792:13: */ +func vdbeSorterExtendFile(tls *libc.TLS, db uintptr, pFd uintptr, nByte I64) { /* sqlite3.c:97805:13: */ bp := tls.Alloc(24) defer tls.Free(24) *(*I64)(unsafe.Pointer(bp + 8)) = nByte @@ -92318,7 +92337,7 @@ func vdbeSorterExtendFile(tls *libc.TLS, db uintptr, pFd uintptr, nByte I64) { / // Allocate space for a file-handle and open a temporary file. If successful, // set *ppFd to point to the malloc'd file-handle and return SQLITE_OK. // Otherwise, set *ppFd to 0 and return an SQLite error code. -func vdbeSorterOpenTempFile(tls *libc.TLS, db uintptr, nExtend I64, ppFd uintptr) int32 { /* sqlite3.c:97811:12: */ +func vdbeSorterOpenTempFile(tls *libc.TLS, db uintptr, nExtend I64, ppFd uintptr) int32 { /* sqlite3.c:97824:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -92342,7 +92361,7 @@ func vdbeSorterOpenTempFile(tls *libc.TLS, db uintptr, nExtend I64, ppFd uintptr // If it has not already been allocated, allocate the UnpackedRecord // structure at pTask->pUnpacked. Return SQLITE_OK if successful (or // if no allocation was required), or SQLITE_NOMEM otherwise. -func vdbeSortAllocUnpacked(tls *libc.TLS, pTask uintptr) int32 { /* sqlite3.c:97838:12: */ +func vdbeSortAllocUnpacked(tls *libc.TLS, pTask uintptr) int32 { /* sqlite3.c:97851:12: */ if (*SortSubtask)(unsafe.Pointer(pTask)).FpUnpacked == uintptr(0) { (*SortSubtask)(unsafe.Pointer(pTask)).FpUnpacked = Xsqlite3VdbeAllocUnpackedRecord(tls, (*VdbeSorter)(unsafe.Pointer((*SortSubtask)(unsafe.Pointer(pTask)).FpSorter)).FpKeyInfo) if (*SortSubtask)(unsafe.Pointer(pTask)).FpUnpacked == uintptr(0) { @@ -92355,7 +92374,7 @@ func vdbeSortAllocUnpacked(tls *libc.TLS, pTask uintptr) int32 { /* sqlite3.c:97 } // Merge the two sorted lists p1 and p2 into a single list. -func vdbeSorterMerge(tls *libc.TLS, pTask uintptr, p1 uintptr, p2 uintptr) uintptr { /* sqlite3.c:97852:21: */ +func vdbeSorterMerge(tls *libc.TLS, pTask uintptr, p1 uintptr, p2 uintptr) uintptr { /* sqlite3.c:97865:21: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -92394,7 +92413,7 @@ func vdbeSorterMerge(tls *libc.TLS, pTask uintptr, p1 uintptr, p2 uintptr) uintp // Return the SorterCompare function to compare values collected by the // sorter object passed as the only argument. -func vdbeSorterGetCompare(tls *libc.TLS, p uintptr) SorterCompare { /* sqlite3.c:97894:22: */ +func vdbeSorterGetCompare(tls *libc.TLS, p uintptr) SorterCompare { /* sqlite3.c:97907:22: */ if int32((*VdbeSorter)(unsafe.Pointer(p)).FtypeMask) == SORTER_TYPE_INTEGER { return *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr, int32) int32 @@ -92412,7 +92431,7 @@ func vdbeSorterGetCompare(tls *libc.TLS, p uintptr) SorterCompare { /* sqlite3.c // Sort the linked list of records headed at pTask->pList. Return // SQLITE_OK if successful, or an SQLite error code (i.e. SQLITE_NOMEM) if // an error occurs. -func vdbeSorterSort(tls *libc.TLS, pTask uintptr, pList uintptr) int32 { /* sqlite3.c:97908:12: */ +func vdbeSorterSort(tls *libc.TLS, pTask uintptr, pList uintptr) int32 { /* sqlite3.c:97921:12: */ bp := tls.Alloc(512) defer tls.Free(512) @@ -92469,7 +92488,7 @@ func vdbeSorterSort(tls *libc.TLS, pTask uintptr, pList uintptr) int32 { /* sqli } // Initialize a PMA-writer object. -func vdbePmaWriterInit(tls *libc.TLS, pFd uintptr, p uintptr, nBuf int32, iStart I64) { /* sqlite3.c:97959:13: */ +func vdbePmaWriterInit(tls *libc.TLS, pFd uintptr, p uintptr, nBuf int32, iStart I64) { /* sqlite3.c:97972:13: */ libc.X__builtin___memset_chk(tls, p, 0, uint64(unsafe.Sizeof(PmaWriter{})), libc.X__builtin_object_size(tls, p, 0)) (*PmaWriter)(unsafe.Pointer(p)).FaBuffer = Xsqlite3Malloc(tls, uint64(nBuf)) if !(int32((*PmaWriter)(unsafe.Pointer(p)).FaBuffer) != 0) { @@ -92484,7 +92503,7 @@ func vdbePmaWriterInit(tls *libc.TLS, pFd uintptr, p uintptr, nBuf int32, iStart // Write nData bytes of data to the PMA. Return SQLITE_OK // if successful, or an SQLite error code if an error occurs. -func vdbePmaWriteBlob(tls *libc.TLS, p uintptr, pData uintptr, nData int32) { /* sqlite3.c:97981:13: */ +func vdbePmaWriteBlob(tls *libc.TLS, p uintptr, pData uintptr, nData int32) { /* sqlite3.c:97994:13: */ var nRem int32 = nData for nRem > 0 && (*PmaWriter)(unsafe.Pointer(p)).FeFWErr == 0 { var nCopy int32 = nRem @@ -92513,7 +92532,7 @@ func vdbePmaWriteBlob(tls *libc.TLS, p uintptr, pData uintptr, nData int32) { /* // // Before returning, set *piEof to the offset immediately following the // last byte written to the file. -func vdbePmaWriterFinish(tls *libc.TLS, p uintptr, piEof uintptr) int32 { /* sqlite3.c:98014:12: */ +func vdbePmaWriterFinish(tls *libc.TLS, p uintptr, piEof uintptr) int32 { /* sqlite3.c:98027:12: */ var rc int32 if (*PmaWriter)(unsafe.Pointer(p)).FeFWErr == 0 && (*PmaWriter)(unsafe.Pointer(p)).FaBuffer != 0 && (*PmaWriter)(unsafe.Pointer(p)).FiBufEnd > (*PmaWriter)(unsafe.Pointer(p)).FiBufStart { (*PmaWriter)(unsafe.Pointer(p)).FeFWErr = Xsqlite3OsWrite(tls, (*PmaWriter)(unsafe.Pointer(p)).FpFd, @@ -92529,7 +92548,7 @@ func vdbePmaWriterFinish(tls *libc.TLS, p uintptr, piEof uintptr) int32 { /* sql // Write value iVal encoded as a varint to the PMA. Return // SQLITE_OK if successful, or an SQLite error code if an error occurs. -func vdbePmaWriteVarint(tls *libc.TLS, p uintptr, iVal U64) { /* sqlite3.c:98033:13: */ +func vdbePmaWriteVarint(tls *libc.TLS, p uintptr, iVal U64) { /* sqlite3.c:98046:13: */ bp := tls.Alloc(10) defer tls.Free(10) @@ -92552,7 +92571,7 @@ func vdbePmaWriteVarint(tls *libc.TLS, p uintptr, iVal U64) { /* sqlite3.c:98033 // * One or more records packed end-to-end in order of ascending keys. // Each record consists of a varint followed by a blob of data (the // key). The varint is the number of bytes in the blob of data. -func vdbeSorterListToPMA(tls *libc.TLS, pTask uintptr, pList uintptr) int32 { /* sqlite3.c:98054:12: */ +func vdbeSorterListToPMA(tls *libc.TLS, pTask uintptr, pList uintptr) int32 { /* sqlite3.c:98067:12: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -92607,7 +92626,7 @@ func vdbeSorterListToPMA(tls *libc.TLS, pTask uintptr, pList uintptr) int32 { /* // the MergeEngine has reached the end of all its inputs. // // Return SQLITE_OK if successful or an error code if an error occurs. -func vdbeMergeEngineStep(tls *libc.TLS, pMerger uintptr, pbEof uintptr) int32 { /* sqlite3.c:98118:12: */ +func vdbeMergeEngineStep(tls *libc.TLS, pMerger uintptr, pbEof uintptr) int32 { /* sqlite3.c:98131:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -92683,7 +92702,7 @@ func vdbeMergeEngineStep(tls *libc.TLS, pMerger uintptr, pbEof uintptr) int32 { } // The main routine for background threads that write level-0 PMAs. -func vdbeSorterFlushThread(tls *libc.TLS, pCtx uintptr) uintptr { /* sqlite3.c:98189:13: */ +func vdbeSorterFlushThread(tls *libc.TLS, pCtx uintptr) uintptr { /* sqlite3.c:98202:13: */ var pTask uintptr = pCtx var rc int32 // Return code @@ -92694,7 +92713,7 @@ func vdbeSorterFlushThread(tls *libc.TLS, pCtx uintptr) uintptr { /* sqlite3.c:9 // Flush the current contents of VdbeSorter.list to a new PMA, possibly // using a background thread. -func vdbeSorterFlushPMA(tls *libc.TLS, pSorter uintptr) int32 { /* sqlite3.c:98203:12: */ +func vdbeSorterFlushPMA(tls *libc.TLS, pSorter uintptr) int32 { /* sqlite3.c:98216:12: */ var rc int32 = SQLITE_OK var i int32 var pTask uintptr = uintptr(0) // Thread context used to create new PMA @@ -92758,7 +92777,7 @@ func vdbeSorterFlushPMA(tls *libc.TLS, pSorter uintptr) int32 { /* sqlite3.c:982 } // Add a record to the sorter. -func Xsqlite3VdbeSorterWrite(tls *libc.TLS, pCsr uintptr, pVal uintptr) int32 { /* sqlite3.c:98273:20: */ +func Xsqlite3VdbeSorterWrite(tls *libc.TLS, pCsr uintptr, pVal uintptr) int32 { /* sqlite3.c:98286:20: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -92874,7 +92893,7 @@ func Xsqlite3VdbeSorterWrite(tls *libc.TLS, pCsr uintptr, pVal uintptr) int32 { // Read keys from pIncr->pMerger and populate pIncr->aFile[1]. The format // of the data stored in aFile[1] is the same as that used by regular PMAs, // except that the number-of-bytes varint is omitted from the start. -func vdbeIncrPopulate(tls *libc.TLS, pIncr uintptr) int32 { /* sqlite3.c:98385:12: */ +func vdbeIncrPopulate(tls *libc.TLS, pIncr uintptr) int32 { /* sqlite3.c:98398:12: */ bp := tls.Alloc(52) defer tls.Free(52) @@ -92920,7 +92939,7 @@ func vdbeIncrPopulate(tls *libc.TLS, pIncr uintptr) int32 { /* sqlite3.c:98385:1 // The main routine for background threads that populate aFile[1] of // multi-threaded IncrMerger objects. -func vdbeIncrPopulateThread(tls *libc.TLS, pCtx uintptr) uintptr { /* sqlite3.c:98427:13: */ +func vdbeIncrPopulateThread(tls *libc.TLS, pCtx uintptr) uintptr { /* sqlite3.c:98440:13: */ var pIncr uintptr = pCtx var pRet uintptr = uintptr(int64(vdbeIncrPopulate(tls, pIncr))) (*SortSubtask)(unsafe.Pointer((*IncrMerger)(unsafe.Pointer(pIncr)).FpTask)).FbDone = 1 @@ -92928,7 +92947,7 @@ func vdbeIncrPopulateThread(tls *libc.TLS, pCtx uintptr) uintptr { /* sqlite3.c: } // Launch a background thread to populate aFile[1] of pIncr. -func vdbeIncrBgPopulate(tls *libc.TLS, pIncr uintptr) int32 { /* sqlite3.c:98437:12: */ +func vdbeIncrBgPopulate(tls *libc.TLS, pIncr uintptr) int32 { /* sqlite3.c:98450:12: */ var p uintptr = pIncr return vdbeSorterCreateThread(tls, (*IncrMerger)(unsafe.Pointer(pIncr)).FpTask, *(*uintptr)(unsafe.Pointer(&struct { @@ -92951,7 +92970,7 @@ func vdbeIncrBgPopulate(tls *libc.TLS, pIncr uintptr) int32 { /* sqlite3.c:98437 // to populate the new aFile[1]. // // SQLITE_OK is returned on success, or an SQLite error code otherwise. -func vdbeIncrSwap(tls *libc.TLS, pIncr uintptr) int32 { /* sqlite3.c:98461:12: */ +func vdbeIncrSwap(tls *libc.TLS, pIncr uintptr) int32 { /* sqlite3.c:98474:12: */ var rc int32 = SQLITE_OK if (*IncrMerger)(unsafe.Pointer(pIncr)).FbUseThread != 0 { @@ -92985,7 +93004,7 @@ func vdbeIncrSwap(tls *libc.TLS, pIncr uintptr) int32 { /* sqlite3.c:98461:12: * // // If an OOM condition is encountered, return NULL. In this case free the // pMerger argument before returning. -func vdbeIncrMergerNew(tls *libc.TLS, pTask uintptr, pMerger uintptr, ppOut uintptr) int32 { /* sqlite3.c:98500:12: */ +func vdbeIncrMergerNew(tls *libc.TLS, pTask uintptr, pMerger uintptr, ppOut uintptr) int32 { /* sqlite3.c:98513:12: */ var rc int32 = SQLITE_OK var pIncr uintptr = libc.AssignPtrUintptr(ppOut, func() uintptr { if Xsqlite3FaultSim(tls, 100) != 0 { @@ -93012,7 +93031,7 @@ func vdbeIncrMergerNew(tls *libc.TLS, pTask uintptr, pMerger uintptr, ppOut uint } // Set the "use-threads" flag on object pIncr. -func vdbeIncrMergerSetThreads(tls *libc.TLS, pIncr uintptr) { /* sqlite3.c:98525:13: */ +func vdbeIncrMergerSetThreads(tls *libc.TLS, pIncr uintptr) { /* sqlite3.c:98538:13: */ (*IncrMerger)(unsafe.Pointer(pIncr)).FbUseThread = 1 *(*I64)(unsafe.Pointer((*IncrMerger)(unsafe.Pointer(pIncr)).FpTask + 88 + 8)) -= I64((*IncrMerger)(unsafe.Pointer(pIncr)).FmxSz) } @@ -93020,7 +93039,7 @@ func vdbeIncrMergerSetThreads(tls *libc.TLS, pIncr uintptr) { /* sqlite3.c:98525 // Recompute pMerger->aTree[iOut] by comparing the next keys on the // two PmaReaders that feed that entry. Neither of the PmaReaders // are advanced. This routine merely does the comparison. -func vdbeMergeEngineCompare(tls *libc.TLS, pMerger uintptr, iOut int32) { /* sqlite3.c:98538:13: */ +func vdbeMergeEngineCompare(tls *libc.TLS, pMerger uintptr, iOut int32) { /* sqlite3.c:98551:13: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -93080,7 +93099,7 @@ func vdbeMergeEngineCompare(tls *libc.TLS, pMerger uintptr, iOut int32) { /* sql // to pMerger. // // SQLITE_OK is returned if successful, or an SQLite error code otherwise. -func vdbeMergeEngineInit(tls *libc.TLS, pTask uintptr, pMerger uintptr, eMode int32) int32 { /* sqlite3.c:98620:12: */ +func vdbeMergeEngineInit(tls *libc.TLS, pTask uintptr, pMerger uintptr, eMode int32) int32 { /* sqlite3.c:98633:12: */ var rc int32 = SQLITE_OK // Return code var i int32 // For looping over PmaReader objects var nTree int32 // Number of subtrees to merge @@ -93150,7 +93169,7 @@ func vdbeMergeEngineInit(tls *libc.TLS, pTask uintptr, pMerger uintptr, eMode in // the current PmaReader set to point to the first key in its range. // // SQLITE_OK is returned if successful, or an SQLite error code otherwise. -func vdbePmaReaderIncrMergeInit(tls *libc.TLS, pReadr uintptr, eMode int32) int32 { /* sqlite3.c:98696:12: */ +func vdbePmaReaderIncrMergeInit(tls *libc.TLS, pReadr uintptr, eMode int32) int32 { /* sqlite3.c:98709:12: */ var rc int32 = SQLITE_OK var pIncr uintptr = (*PmaReader)(unsafe.Pointer(pReadr)).FpIncr var pTask uintptr = (*IncrMerger)(unsafe.Pointer(pIncr)).FpTask @@ -93207,7 +93226,7 @@ func vdbePmaReaderIncrMergeInit(tls *libc.TLS, pReadr uintptr, eMode int32) int3 // The main routine for vdbePmaReaderIncrMergeInit() operations run in // background threads. -func vdbePmaReaderBgIncrInit(tls *libc.TLS, pCtx uintptr) uintptr { /* sqlite3.c:98763:13: */ +func vdbePmaReaderBgIncrInit(tls *libc.TLS, pCtx uintptr) uintptr { /* sqlite3.c:98776:13: */ var pReader uintptr = pCtx var pRet uintptr = uintptr(int64(vdbePmaReaderIncrMergeInit(tls, pReader, INCRINIT_TASK))) (*SortSubtask)(unsafe.Pointer((*IncrMerger)(unsafe.Pointer((*PmaReader)(unsafe.Pointer(pReader)).FpIncr)).FpTask)).FbDone = 1 @@ -93223,7 +93242,7 @@ func vdbePmaReaderBgIncrInit(tls *libc.TLS, pCtx uintptr) uintptr { /* sqlite3.c // then a background thread is launched to call vdbePmaReaderIncrMergeInit(). // Or, if the IncrMerger is single threaded, the same function is called // using the current thread. -func vdbePmaReaderIncrInit(tls *libc.TLS, pReadr uintptr, eMode int32) int32 { /* sqlite3.c:98784:12: */ +func vdbePmaReaderIncrInit(tls *libc.TLS, pReadr uintptr, eMode int32) int32 { /* sqlite3.c:98797:12: */ var pIncr uintptr = (*PmaReader)(unsafe.Pointer(pReadr)).FpIncr // Incremental merger var rc int32 = SQLITE_OK // Return code if pIncr != 0 { @@ -93250,7 +93269,7 @@ func vdbePmaReaderIncrInit(tls *libc.TLS, pReadr uintptr, eMode int32) int32 { / // set to the offset immediately following the last byte of the last // PMA before returning. If an error does occur, then the final value of // *piOffset is undefined. -func vdbeMergeEngineLevel0(tls *libc.TLS, pTask uintptr, nPMA int32, piOffset uintptr, ppOut uintptr) int32 { /* sqlite3.c:98814:12: */ +func vdbeMergeEngineLevel0(tls *libc.TLS, pTask uintptr, nPMA int32, piOffset uintptr, ppOut uintptr) int32 { /* sqlite3.c:98827:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -93287,7 +93306,7 @@ func vdbeMergeEngineLevel0(tls *libc.TLS, pTask uintptr, nPMA int32, piOffset ui // nPMA<=16 -> TreeDepth() == 0 // nPMA<=256 -> TreeDepth() == 1 // nPMA<=65536 -> TreeDepth() == 2 -func vdbeSorterTreeDepth(tls *libc.TLS, nPMA int32) int32 { /* sqlite3.c:98853:12: */ +func vdbeSorterTreeDepth(tls *libc.TLS, nPMA int32) int32 { /* sqlite3.c:98866:12: */ var nDepth int32 = 0 var nDiv I64 = int64(SORTER_MAX_MERGE_COUNT) for nDiv < I64(nPMA) { @@ -93303,7 +93322,7 @@ func vdbeSorterTreeDepth(tls *libc.TLS, nPMA int32) int32 { /* sqlite3.c:98853:1 // // If successful, SQLITE_OK is returned. If an error occurs, an SQLite error // code is returned and pLeaf is freed. -func vdbeSorterAddToTree(tls *libc.TLS, pTask uintptr, nDepth int32, iSeq int32, pRoot uintptr, pLeaf uintptr) int32 { /* sqlite3.c:98871:12: */ +func vdbeSorterAddToTree(tls *libc.TLS, pTask uintptr, nDepth int32, iSeq int32, pRoot uintptr, pLeaf uintptr) int32 { /* sqlite3.c:98884:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -93354,7 +93373,7 @@ func vdbeSorterAddToTree(tls *libc.TLS, pTask uintptr, nDepth int32, iSeq int32, // MergeEngine object at the root of the tree before returning. Or, if an // error occurs, an SQLite error code is returned and the final value // of *ppOut is undefined. -func vdbeSorterMergeTreeBuild(tls *libc.TLS, pSorter uintptr, ppOut uintptr) int32 { /* sqlite3.c:98927:12: */ +func vdbeSorterMergeTreeBuild(tls *libc.TLS, pSorter uintptr, ppOut uintptr) int32 { /* sqlite3.c:98940:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -93435,7 +93454,7 @@ func vdbeSorterMergeTreeBuild(tls *libc.TLS, pSorter uintptr, ppOut uintptr) int // all records stored in the sorter. // // SQLITE_OK is returned if successful, or an SQLite error code otherwise. -func vdbeSorterSetupMerge(tls *libc.TLS, pSorter uintptr) int32 { /* sqlite3.c:99006:12: */ +func vdbeSorterSetupMerge(tls *libc.TLS, pSorter uintptr) int32 { /* sqlite3.c:99019:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -93510,7 +93529,7 @@ func vdbeSorterSetupMerge(tls *libc.TLS, pSorter uintptr) int32 { /* sqlite3.c:9 // Once the sorter has been populated by calls to sqlite3VdbeSorterWrite, // this function is called to prepare for iterating through the records // in sorted order. -func Xsqlite3VdbeSorterRewind(tls *libc.TLS, pCsr uintptr, pbEof uintptr) int32 { /* sqlite3.c:99088:20: */ +func Xsqlite3VdbeSorterRewind(tls *libc.TLS, pCsr uintptr, pbEof uintptr) int32 { /* sqlite3.c:99101:20: */ var pSorter uintptr var rc int32 = SQLITE_OK // Return code @@ -93555,7 +93574,7 @@ func Xsqlite3VdbeSorterRewind(tls *libc.TLS, pCsr uintptr, pbEof uintptr) int32 // SQLITE_OK success // SQLITE_DONE end of data // otherwise some kind of error. -func Xsqlite3VdbeSorterNext(tls *libc.TLS, db uintptr, pCsr uintptr) int32 { /* sqlite3.c:99140:20: */ +func Xsqlite3VdbeSorterNext(tls *libc.TLS, db uintptr, pCsr uintptr) int32 { /* sqlite3.c:99153:20: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -93597,7 +93616,7 @@ func Xsqlite3VdbeSorterNext(tls *libc.TLS, db uintptr, pCsr uintptr) int32 { /* // Return a pointer to a buffer owned by the sorter that contains the // current key. -func vdbeSorterRowkey(tls *libc.TLS, pSorter uintptr, pnKey uintptr) uintptr { /* sqlite3.c:99178:13: */ +func vdbeSorterRowkey(tls *libc.TLS, pSorter uintptr, pnKey uintptr) uintptr { /* sqlite3.c:99191:13: */ var pKey uintptr if (*VdbeSorter)(unsafe.Pointer(pSorter)).FbUsePMA != 0 { var pReader uintptr @@ -93616,7 +93635,7 @@ func vdbeSorterRowkey(tls *libc.TLS, pSorter uintptr, pnKey uintptr) uintptr { / } // Copy the current sorter key into the memory cell pOut. -func Xsqlite3VdbeSorterRowkey(tls *libc.TLS, pCsr uintptr, pOut uintptr) int32 { /* sqlite3.c:99205:20: */ +func Xsqlite3VdbeSorterRowkey(tls *libc.TLS, pCsr uintptr, pOut uintptr) int32 { /* sqlite3.c:99218:20: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -93651,7 +93670,7 @@ func Xsqlite3VdbeSorterRowkey(tls *libc.TLS, pCsr uintptr, pOut uintptr) int32 { // // This routine forms the core of the OP_SorterCompare opcode, which in // turn is used to verify uniqueness when constructing a UNIQUE INDEX. -func Xsqlite3VdbeSorterCompare(tls *libc.TLS, pCsr uintptr, pVal uintptr, nKeyCol int32, pRes uintptr) int32 { /* sqlite3.c:99238:20: */ +func Xsqlite3VdbeSorterCompare(tls *libc.TLS, pCsr uintptr, pVal uintptr, nKeyCol int32, pRes uintptr) int32 { /* sqlite3.c:99251:20: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -93743,7 +93762,7 @@ type MemJournal1 = struct { F__ccgo_pad1 [4]byte FpVfs uintptr FzJournal uintptr -} /* sqlite3.c:99731:9 */ +} /* sqlite3.c:99744:9 */ //************* End of vdbesort.c ******************************************* //************* Begin file vdbevtab.c *************************************** @@ -93790,23 +93809,23 @@ type MemJournal1 = struct { // #include "sqliteInt.h" // Forward references to internal structures -type MemJournal = MemJournal1 /* sqlite3.c:99731:27 */ +type MemJournal = MemJournal1 /* sqlite3.c:99744:27 */ type FilePoint1 = struct { FiOffset Sqlite3_int64 FpChunk uintptr -} /* sqlite3.c:99731:9 */ +} /* sqlite3.c:99744:9 */ -type FilePoint = FilePoint1 /* sqlite3.c:99732:26 */ +type FilePoint = FilePoint1 /* sqlite3.c:99745:26 */ type FileChunk1 = struct { FpNext uintptr FzChunk [8]U8 -} /* sqlite3.c:99731:9 */ +} /* sqlite3.c:99744:9 */ -type FileChunk = FileChunk1 /* sqlite3.c:99733:26 */ +type FileChunk = FileChunk1 /* sqlite3.c:99746:26 */ // Read data from the in-memory journal file. This is the implementation // of the sqlite3_vfs.xRead method. -func memjrnlRead(tls *libc.TLS, pJfd uintptr, zBuf uintptr, iAmt int32, iOfst Sqlite_int64) int32 { /* sqlite3.c:99788:12: */ +func memjrnlRead(tls *libc.TLS, pJfd uintptr, zBuf uintptr, iAmt int32, iOfst Sqlite_int64) int32 { /* sqlite3.c:99801:12: */ var p uintptr = pJfd var zOut uintptr = zBuf var nRead int32 = iAmt @@ -93853,7 +93872,7 @@ func memjrnlRead(tls *libc.TLS, pJfd uintptr, zBuf uintptr, iAmt int32, iOfst Sq } // Free the list of FileChunk structures headed at MemJournal.pFirst. -func memjrnlFreeChunks(tls *libc.TLS, pFirst uintptr) { /* sqlite3.c:99835:13: */ +func memjrnlFreeChunks(tls *libc.TLS, pFirst uintptr) { /* sqlite3.c:99848:13: */ var pIter uintptr var pNext uintptr for pIter = pFirst; pIter != 0; pIter = pNext { @@ -93863,7 +93882,7 @@ func memjrnlFreeChunks(tls *libc.TLS, pFirst uintptr) { /* sqlite3.c:99835:13: * } // Flush the contents of memory to a real file on disk. -func memjrnlCreateFile(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:99847:12: */ +func memjrnlCreateFile(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:99860:12: */ var rc int32 var pReal uintptr = p var copy = *(*MemJournal)(unsafe.Pointer(p)) @@ -93901,7 +93920,7 @@ func memjrnlCreateFile(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:99847:12: } // Write data to the file. -func memjrnlWrite(tls *libc.TLS, pJfd uintptr, zBuf uintptr, iAmt int32, iOfst Sqlite_int64) int32 { /* sqlite3.c:99889:12: */ +func memjrnlWrite(tls *libc.TLS, pJfd uintptr, zBuf uintptr, iAmt int32, iOfst Sqlite_int64) int32 { /* sqlite3.c:99902:12: */ var p uintptr = pJfd var nWrite int32 = iAmt var zWrite uintptr = zBuf @@ -93967,7 +93986,7 @@ func memjrnlWrite(tls *libc.TLS, pJfd uintptr, zBuf uintptr, iAmt int32, iOfst S } // Truncate the in-memory file. -func memjrnlTruncate(tls *libc.TLS, pJfd uintptr, size Sqlite_int64) int32 { /* sqlite3.c:99962:12: */ +func memjrnlTruncate(tls *libc.TLS, pJfd uintptr, size Sqlite_int64) int32 { /* sqlite3.c:99975:12: */ var p uintptr = pJfd if size < (*MemJournal)(unsafe.Pointer(p)).Fendpoint.FiOffset { @@ -93995,7 +94014,7 @@ func memjrnlTruncate(tls *libc.TLS, pJfd uintptr, size Sqlite_int64) int32 { /* } // Close the file. -func memjrnlClose(tls *libc.TLS, pJfd uintptr) int32 { /* sqlite3.c:99992:12: */ +func memjrnlClose(tls *libc.TLS, pJfd uintptr) int32 { /* sqlite3.c:100005:12: */ var p uintptr = pJfd memjrnlFreeChunks(tls, (*MemJournal)(unsafe.Pointer(p)).FpFirst) return SQLITE_OK @@ -94005,14 +94024,14 @@ func memjrnlClose(tls *libc.TLS, pJfd uintptr) int32 { /* sqlite3.c:99992:12: */ // // If the real file has been created, call its xSync method. Otherwise, // syncing an in-memory journal is a no-op. -func memjrnlSync(tls *libc.TLS, pJfd uintptr, flags int32) int32 { /* sqlite3.c:100004:12: */ +func memjrnlSync(tls *libc.TLS, pJfd uintptr, flags int32) int32 { /* sqlite3.c:100017:12: */ _ = pJfd _ = flags return SQLITE_OK } // Query the size of the file in bytes. -func memjrnlFileSize(tls *libc.TLS, pJfd uintptr, pSize uintptr) int32 { /* sqlite3.c:100012:12: */ +func memjrnlFileSize(tls *libc.TLS, pJfd uintptr, pSize uintptr) int32 { /* sqlite3.c:100025:12: */ var p uintptr = pJfd *(*Sqlite_int64)(unsafe.Pointer(pSize)) = (*MemJournal)(unsafe.Pointer(p)).Fendpoint.FiOffset return SQLITE_OK @@ -94027,7 +94046,7 @@ var sMemJournalMethods = sqlite3_io_methods{ FxTruncate: 0, // xTruncate FxSync: 0, // xSync FxFileSize: 0, // xUnfetch -} /* sqlite3.c:100021:40 */ +} /* sqlite3.c:100034:40 */ // Open a journal file. // @@ -94039,7 +94058,7 @@ var sMemJournalMethods = sqlite3_io_methods{ // but may be flushed to disk later on. In this case the journal file is // flushed to disk either when it grows larger than nSpill bytes in size, // or when sqlite3JournalCreate() is called. -func Xsqlite3JournalOpen(tls *libc.TLS, pVfs uintptr, zName uintptr, pJfd uintptr, flags int32, nSpill int32) int32 { /* sqlite3.c:100055:20: */ +func Xsqlite3JournalOpen(tls *libc.TLS, pVfs uintptr, zName uintptr, pJfd uintptr, flags int32, nSpill int32) int32 { /* sqlite3.c:100068:20: */ var p uintptr = pJfd // Zero the file-handle object. If nSpill was passed zero, initialize @@ -94067,20 +94086,20 @@ func Xsqlite3JournalOpen(tls *libc.TLS, pVfs uintptr, zName uintptr, pJfd uintpt } // Open an in-memory journal file. -func Xsqlite3MemJournalOpen(tls *libc.TLS, pJfd uintptr) { /* sqlite3.c:100091:21: */ +func Xsqlite3MemJournalOpen(tls *libc.TLS, pJfd uintptr) { /* sqlite3.c:100104:21: */ Xsqlite3JournalOpen(tls, uintptr(0), uintptr(0), pJfd, 0, -1) } // The file-handle passed as the only argument is open on a journal file. // Return true if this "journal file" is currently stored in heap memory, // or false otherwise. -func Xsqlite3JournalIsInMemory(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:100130:20: */ +func Xsqlite3JournalIsInMemory(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:100143:20: */ return libc.Bool32((*Sqlite3_file)(unsafe.Pointer(p)).FpMethods == uintptr(unsafe.Pointer(&sMemJournalMethods))) } // Return the number of bytes required to store a JournalFile that uses vfs // pVfs to create the underlying on-disk files. -func Xsqlite3JournalSize(tls *libc.TLS, pVfs uintptr) int32 { /* sqlite3.c:100138:20: */ +func Xsqlite3JournalSize(tls *libc.TLS, pVfs uintptr) int32 { /* sqlite3.c:100151:20: */ return func() int32 { if (*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FszOsFile > int32(unsafe.Sizeof(MemJournal{})) { return (*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FszOsFile @@ -94109,7 +94128,7 @@ func Xsqlite3JournalSize(tls *libc.TLS, pVfs uintptr) int32 { /* sqlite3.c:10013 // Walk all expressions linked into the list of Window objects passed // as the second argument. -func walkWindowList(tls *libc.TLS, pWalker uintptr, pList uintptr, bOneOnly int32) int32 { /* sqlite3.c:100168:12: */ +func walkWindowList(tls *libc.TLS, pWalker uintptr, pList uintptr, bOneOnly int32) int32 { /* sqlite3.c:100181:12: */ var pWin uintptr for pWin = pList; pWin != 0; pWin = (*Window)(unsafe.Pointer(pWin)).FpNextWin { var rc int32 @@ -94157,7 +94176,7 @@ func walkWindowList(tls *libc.TLS, pWalker uintptr, pList uintptr, bOneOnly int3 // // The return value from this routine is WRC_Abort to abandon the tree walk // and WRC_Continue to continue. -func walkExpr(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:100207:28: */ +func walkExpr(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:100220:28: */ var rc int32 for 1 != 0 { @@ -94199,7 +94218,7 @@ func walkExpr(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3. return WRC_Continue } -func Xsqlite3WalkExpr(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:100239:20: */ +func Xsqlite3WalkExpr(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:100252:20: */ if pExpr != 0 { return walkExpr(tls, pWalker, pExpr) } @@ -94208,7 +94227,7 @@ func Xsqlite3WalkExpr(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* // Call sqlite3WalkExpr() for every expression in list p or until // an abort request is seen. -func Xsqlite3WalkExprList(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sqlite3.c:100247:20: */ +func Xsqlite3WalkExprList(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sqlite3.c:100260:20: */ var i int32 var pItem uintptr if p != 0 { @@ -94237,7 +94256,7 @@ func Xsqlite3WalkExprList(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* // This is a no-op callback for Walker->xSelectCallback2. If this // callback is set, then the Select->pWinDefn list is traversed. -func Xsqlite3WalkWinDefnDummyCallback(tls *libc.TLS, pWalker uintptr, p uintptr) { /* sqlite3.c:100262:21: */ +func Xsqlite3WalkWinDefnDummyCallback(tls *libc.TLS, pWalker uintptr, p uintptr) { /* sqlite3.c:100275:21: */ _ = pWalker _ = p // No-op @@ -94247,7 +94266,7 @@ func Xsqlite3WalkWinDefnDummyCallback(tls *libc.TLS, pWalker uintptr, p uintptr) // not invoke the SELECT callback on p, but do (of course) invoke // any expr callbacks and SELECT callbacks that come from subqueries. // Return WRC_Abort or WRC_Continue. -func Xsqlite3WalkSelectExpr(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sqlite3.c:100274:20: */ +func Xsqlite3WalkSelectExpr(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sqlite3.c:100287:20: */ if Xsqlite3WalkExprList(tls, pWalker, (*Select)(unsafe.Pointer(p)).FpEList) != 0 { return WRC_Abort } @@ -94289,7 +94308,7 @@ func Xsqlite3WalkSelectExpr(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { / // callback on p, but do invoke it on each FROM clause subquery // and on any subqueries further down in the tree. Return // WRC_Abort or WRC_Continue; -func Xsqlite3WalkSelectFrom(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sqlite3.c:100307:20: */ +func Xsqlite3WalkSelectFrom(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sqlite3.c:100320:20: */ var pSrc uintptr var i int32 var pItem uintptr @@ -94338,7 +94357,7 @@ func Xsqlite3WalkSelectFrom(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { / // // If the Walker does not have an xSelectCallback() then this routine // is a no-op returning WRC_Continue. -func Xsqlite3WalkSelect(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sqlite3.c:100345:20: */ +func Xsqlite3WalkSelect(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sqlite3.c:100358:20: */ var rc int32 if p == uintptr(0) { return WRC_Continue @@ -94369,13 +94388,13 @@ func Xsqlite3WalkSelect(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sq // Increase the walkerDepth when entering a subquery, and // descrease when leaving the subquery. -func Xsqlite3WalkerDepthIncrease(tls *libc.TLS, pWalker uintptr, pSelect uintptr) int32 { /* sqlite3.c:100368:20: */ +func Xsqlite3WalkerDepthIncrease(tls *libc.TLS, pWalker uintptr, pSelect uintptr) int32 { /* sqlite3.c:100381:20: */ _ = pSelect (*Walker)(unsafe.Pointer(pWalker)).FwalkerDepth++ return WRC_Continue } -func Xsqlite3WalkerDepthDecrease(tls *libc.TLS, pWalker uintptr, pSelect uintptr) { /* sqlite3.c:100373:21: */ +func Xsqlite3WalkerDepthDecrease(tls *libc.TLS, pWalker uintptr, pSelect uintptr) { /* sqlite3.c:100386:21: */ _ = pSelect (*Walker)(unsafe.Pointer(pWalker)).FwalkerDepth-- } @@ -94387,7 +94406,7 @@ func Xsqlite3WalkerDepthDecrease(tls *libc.TLS, pWalker uintptr, pSelect uintptr // when this routine is used for Walker.xExprCallback then // Walker.xSelectCallback is set to do something useful for every // subquery in the parser tree. -func Xsqlite3ExprWalkNoop(tls *libc.TLS, NotUsed uintptr, NotUsed2 uintptr) int32 { /* sqlite3.c:100388:20: */ +func Xsqlite3ExprWalkNoop(tls *libc.TLS, NotUsed uintptr, NotUsed2 uintptr) int32 { /* sqlite3.c:100401:20: */ _ = NotUsed _ = NotUsed2 return WRC_Continue @@ -94395,7 +94414,7 @@ func Xsqlite3ExprWalkNoop(tls *libc.TLS, NotUsed uintptr, NotUsed2 uintptr) int3 // No-op routine for the parse-tree walker for SELECT statements. // subquery in the parser tree. -func Xsqlite3SelectWalkNoop(tls *libc.TLS, NotUsed uintptr, NotUsed2 uintptr) int32 { /* sqlite3.c:100397:20: */ +func Xsqlite3SelectWalkNoop(tls *libc.TLS, NotUsed uintptr, NotUsed2 uintptr) int32 { /* sqlite3.c:100410:20: */ _ = NotUsed _ = NotUsed2 return WRC_Continue @@ -94430,14 +94449,14 @@ func Xsqlite3SelectWalkNoop(tls *libc.TLS, NotUsed uintptr, NotUsed2 uintptr) in // is a helper function - a callback for the tree walker. // // See also the sqlite3WindowExtraAggFuncDepth() routine in window.c -func incrAggDepth(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:100438:12: */ +func incrAggDepth(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:100451:12: */ if int32((*Expr)(unsafe.Pointer(pExpr)).Fop) == TK_AGG_FUNCTION { *(*U8)(unsafe.Pointer(pExpr + 2)) += U8(*(*int32)(unsafe.Pointer(pWalker + 40))) } return WRC_Continue } -func incrAggFunctionDepth(tls *libc.TLS, pExpr uintptr, N int32) { /* sqlite3.c:100442:13: */ +func incrAggFunctionDepth(tls *libc.TLS, pExpr uintptr, N int32) { /* sqlite3.c:100455:13: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -94470,7 +94489,7 @@ func incrAggFunctionDepth(tls *libc.TLS, pExpr uintptr, N int32) { /* sqlite3.c: // zero but it might be more if the alias is contained within a subquery // of the original expression. The Expr.op2 field of TK_AGG_FUNCTION // structures must be increased by the nSubquery amount. -func resolveAlias(tls *libc.TLS, pParse uintptr, pEList uintptr, iCol int32, pExpr uintptr, nSubquery int32) { /* sqlite3.c:100471:13: */ +func resolveAlias(tls *libc.TLS, pParse uintptr, pEList uintptr, iCol int32, pExpr uintptr, nSubquery int32) { /* sqlite3.c:100484:13: */ var pOrig uintptr // The iCol-th column of the result set var pDup uintptr // Copy of pOrig var db uintptr // The database connection @@ -94516,7 +94535,7 @@ func resolveAlias(tls *libc.TLS, pParse uintptr, pEList uintptr, iCol int32, pEx // // Return FALSE if the USING clause is NULL or if it does not contain // zCol. -func nameInUsingClause(tls *libc.TLS, pUsing uintptr, zCol uintptr) int32 { /* sqlite3.c:100528:12: */ +func nameInUsingClause(tls *libc.TLS, pUsing uintptr, zCol uintptr) int32 { /* sqlite3.c:100541:12: */ if pUsing != 0 { var k int32 for k = 0; k < (*IdList)(unsafe.Pointer(pUsing)).FnId; k++ { @@ -94533,7 +94552,7 @@ func nameInUsingClause(tls *libc.TLS, pUsing uintptr, zCol uintptr) int32 { /* s // Check to see if the zSpan given to this routine matches the zDb, zTab, // and zCol. If any of zDb, zTab, and zCol are NULL then those fields will // match anything. -func Xsqlite3MatchEName(tls *libc.TLS, pItem uintptr, zCol uintptr, zTab uintptr, zDb uintptr) int32 { /* sqlite3.c:100545:20: */ +func Xsqlite3MatchEName(tls *libc.TLS, pItem uintptr, zCol uintptr, zTab uintptr, zDb uintptr) int32 { /* sqlite3.c:100558:20: */ var n int32 var zSpan uintptr if int32(*(*uint8)(unsafe.Pointer(pItem + 20))&0x3>>0) != ENAME_TAB { @@ -94559,7 +94578,7 @@ func Xsqlite3MatchEName(tls *libc.TLS, pItem uintptr, zCol uintptr, zTab uintptr } // Return TRUE if the double-quoted string mis-feature should be supported. -func areDoubleQuotedStringsEnabled(tls *libc.TLS, db uintptr, pTopNC uintptr) int32 { /* sqlite3.c:100574:12: */ +func areDoubleQuotedStringsEnabled(tls *libc.TLS, db uintptr, pTopNC uintptr) int32 { /* sqlite3.c:100587:12: */ if (*Sqlite3)(unsafe.Pointer(db)).Finit.Fbusy != 0 { return 1 } // Always support for legacy schemas @@ -94578,7 +94597,7 @@ func areDoubleQuotedStringsEnabled(tls *libc.TLS, db uintptr, pTopNC uintptr) in // The argument is guaranteed to be a non-NULL Expr node of type TK_COLUMN. // return the appropriate colUsed mask. -func Xsqlite3ExprColUsed(tls *libc.TLS, pExpr uintptr) Bitmask { /* sqlite3.c:100592:24: */ +func Xsqlite3ExprColUsed(tls *libc.TLS, pExpr uintptr) Bitmask { /* sqlite3.c:100605:24: */ var n int32 var pExTab uintptr @@ -94628,7 +94647,7 @@ func Xsqlite3ExprColUsed(tls *libc.TLS, pExpr uintptr) Bitmask { /* sqlite3.c:10 // // If the name cannot be resolved unambiguously, leave an error message // in pParse and return WRC_Abort. Return WRC_Prune on success. -func lookupName(tls *libc.TLS, pParse uintptr, zDb uintptr, zTab uintptr, zCol uintptr, pNC uintptr, pExpr uintptr) int32 { /* sqlite3.c:100641:12: */ +func lookupName(tls *libc.TLS, pParse uintptr, zDb uintptr, zTab uintptr, zCol uintptr, pNC uintptr, pExpr uintptr) int32 { /* sqlite3.c:100654:12: */ bp := tls.Alloc(96) defer tls.Free(96) @@ -95343,7 +95362,7 @@ __88: // Allocate and return a pointer to an expression to load the column iCol // from datasource iSrc in SrcList pSrc. -func Xsqlite3CreateColumnExpr(tls *libc.TLS, db uintptr, pSrc uintptr, iSrc int32, iCol int32) uintptr { /* sqlite3.c:101087:21: */ +func Xsqlite3CreateColumnExpr(tls *libc.TLS, db uintptr, pSrc uintptr, iSrc int32, iCol int32) uintptr { /* sqlite3.c:101100:21: */ var p uintptr = Xsqlite3ExprAlloc(tls, db, TK_COLUMN, uintptr(0), 0) if p != 0 { var pItem uintptr = pSrc + 8 + uintptr(iSrc)*112 @@ -95392,7 +95411,7 @@ func Xsqlite3CreateColumnExpr(tls *libc.TLS, db uintptr, pSrc uintptr, iSrc int3 // As an optimization, since the conditional is almost always false // (because errors are rare), the conditional is moved outside of the // function call using a macro. -func notValidImpl(tls *libc.TLS, pParse uintptr, pNC uintptr, zMsg uintptr, pExpr uintptr, pError uintptr) { /* sqlite3.c:101131:13: */ +func notValidImpl(tls *libc.TLS, pParse uintptr, pNC uintptr, zMsg uintptr, pExpr uintptr, pError uintptr) { /* sqlite3.c:101144:13: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -95414,7 +95433,7 @@ func notValidImpl(tls *libc.TLS, pParse uintptr, pNC uintptr, zMsg uintptr, pExp // Expression p should encode a floating point value between 1.0 and 0.0. // Return 1024 times this value. Or return -1 if p is not a floating point // value between 1.0 and 0.0. -func exprProbability(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:101159:12: */ +func exprProbability(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:101172:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -95440,7 +95459,7 @@ func exprProbability(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:101159:12: * // This routine also does error checking and name resolution for // function names. The operator for aggregate functions is changed // to TK_AGG_FUNCTION. -func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:101180:12: */ +func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:101193:12: */ bp := tls.Alloc(96) defer tls.Free(96) @@ -95922,7 +95941,7 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* s // return 0. // // pEList has been resolved. pE has not. -func resolveAsName(tls *libc.TLS, pParse uintptr, pEList uintptr, pE uintptr) int32 { /* sqlite3.c:101638:12: */ +func resolveAsName(tls *libc.TLS, pParse uintptr, pEList uintptr, pE uintptr) int32 { /* sqlite3.c:101651:12: */ var i int32 // Loop counter _ = pParse @@ -95957,7 +95976,7 @@ func resolveAsName(tls *libc.TLS, pParse uintptr, pEList uintptr, pE uintptr) in // the column. // // If there is no match, return 0. Return -1 if an error occurs. -func resolveOrderByTermToExprList(tls *libc.TLS, pParse uintptr, pSelect uintptr, pE uintptr) int32 { /* sqlite3.c:101680:12: */ +func resolveOrderByTermToExprList(tls *libc.TLS, pParse uintptr, pSelect uintptr, pE uintptr) int32 { /* sqlite3.c:101693:12: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -96001,7 +96020,7 @@ func resolveOrderByTermToExprList(tls *libc.TLS, pParse uintptr, pSelect uintptr } // Generate an ORDER BY or GROUP BY term out-of-range error. -func resolveOutOfRangeError(tls *libc.TLS, pParse uintptr, zType uintptr, i int32, mx int32, pError uintptr) { /* sqlite3.c:101727:13: */ +func resolveOutOfRangeError(tls *libc.TLS, pParse uintptr, zType uintptr, i int32, mx int32, pError uintptr) { /* sqlite3.c:101740:13: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -96024,7 +96043,7 @@ func resolveOutOfRangeError(tls *libc.TLS, pParse uintptr, zType uintptr, i int3 // the integer column number. // // Return the number of errors seen. -func resolveCompoundOrderBy(tls *libc.TLS, pParse uintptr, pSelect uintptr) int32 { /* sqlite3.c:101755:12: */ +func resolveCompoundOrderBy(tls *libc.TLS, pParse uintptr, pSelect uintptr) int32 { /* sqlite3.c:101768:12: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -96161,7 +96180,7 @@ func resolveCompoundOrderBy(tls *libc.TLS, pParse uintptr, pSelect uintptr) int3 // // If any errors are detected, add an error message to pParse and // return non-zero. Return zero if no errors are seen. -func Xsqlite3ResolveOrderGroupBy(tls *libc.TLS, pParse uintptr, pSelect uintptr, pOrderBy uintptr, zType uintptr) int32 { /* sqlite3.c:101868:20: */ +func Xsqlite3ResolveOrderGroupBy(tls *libc.TLS, pParse uintptr, pSelect uintptr, pOrderBy uintptr, zType uintptr) int32 { /* sqlite3.c:101881:20: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -96207,7 +96226,7 @@ __3: } // Walker callback for windowRemoveExprFromSelect(). -func resolveRemoveWindowsCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:101902:12: */ +func resolveRemoveWindowsCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:101915:12: */ _ = pWalker if (*Expr)(unsafe.Pointer(pExpr)).Fflags&U32(EP_WinFunc) != U32(0) { var pWin uintptr = *(*uintptr)(unsafe.Pointer(pExpr + 64)) @@ -96218,7 +96237,7 @@ func resolveRemoveWindowsCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 // Remove any Window objects owned by the expression pExpr from the // Select.pWin list of Select object pSelect. -func windowRemoveExprFromSelect(tls *libc.TLS, pSelect uintptr, pExpr uintptr) { /* sqlite3.c:101915:13: */ +func windowRemoveExprFromSelect(tls *libc.TLS, pSelect uintptr, pExpr uintptr) { /* sqlite3.c:101928:13: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -96250,7 +96269,7 @@ func windowRemoveExprFromSelect(tls *libc.TLS, pSelect uintptr, pExpr uintptr) { // This routine returns the number of errors. If errors occur, then // an appropriate error message might be left in pParse. (OOM errors // excepted.) -func resolveOrderGroupBy(tls *libc.TLS, pNC uintptr, pSelect uintptr, pOrderBy uintptr, zType uintptr) int32 { /* sqlite3.c:101946:12: */ +func resolveOrderGroupBy(tls *libc.TLS, pNC uintptr, pSelect uintptr, pOrderBy uintptr, zType uintptr) int32 { /* sqlite3.c:101959:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -96327,7 +96346,7 @@ __3: } // Resolve names in the SELECT statement p and all of its descendants. -func resolveSelectStep(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sqlite3.c:102009:12: */ +func resolveSelectStep(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sqlite3.c:102022:12: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -96626,7 +96645,7 @@ func resolveSelectStep(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sql // // An error message is left in pParse if anything is amiss. The number // if errors is returned. -func Xsqlite3ResolveExprNames(tls *libc.TLS, pNC uintptr, pExpr uintptr) int32 { /* sqlite3.c:102297:20: */ +func Xsqlite3ResolveExprNames(tls *libc.TLS, pNC uintptr, pExpr uintptr) int32 { /* sqlite3.c:102310:20: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -96667,7 +96686,7 @@ func Xsqlite3ResolveExprNames(tls *libc.TLS, pNC uintptr, pExpr uintptr) int32 { // Resolve all names for all expression in an expression list. This is // just like sqlite3ResolveExprNames() except that it works for an expression // list rather than a single expression. -func Xsqlite3ResolveExprListNames(tls *libc.TLS, pNC uintptr, pList uintptr) int32 { /* sqlite3.c:102336:20: */ +func Xsqlite3ResolveExprListNames(tls *libc.TLS, pNC uintptr, pList uintptr) int32 { /* sqlite3.c:102349:20: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -96724,7 +96743,7 @@ func Xsqlite3ResolveExprListNames(tls *libc.TLS, pNC uintptr, pList uintptr) int // // All SELECT statements should have been expanded using // sqlite3SelectExpand() prior to invoking this routine. -func Xsqlite3ResolveSelectNames(tls *libc.TLS, pParse uintptr, p uintptr, pOuterNC uintptr) { /* sqlite3.c:102392:21: */ +func Xsqlite3ResolveSelectNames(tls *libc.TLS, pParse uintptr, p uintptr, pOuterNC uintptr) { /* sqlite3.c:102405:21: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -96758,7 +96777,7 @@ func Xsqlite3ResolveSelectNames(tls *libc.TLS, pParse uintptr, p uintptr, pOuter // set to the column number. In case (4), TK_COLUMN nodes cause an error. // // Any errors cause an error message to be set in pParse. -func Xsqlite3ResolveSelfReference(tls *libc.TLS, pParse uintptr, pTab uintptr, type1 int32, pExpr uintptr, pList uintptr) int32 { /* sqlite3.c:102426:20: */ +func Xsqlite3ResolveSelfReference(tls *libc.TLS, pParse uintptr, pTab uintptr, type1 int32, pExpr uintptr, pList uintptr) int32 { /* sqlite3.c:102439:20: */ bp := tls.Alloc(176) defer tls.Free(176) @@ -96794,7 +96813,7 @@ func Xsqlite3ResolveSelfReference(tls *libc.TLS, pParse uintptr, pTab uintptr, t } // Return the affinity character for a single column of a table. -func Xsqlite3TableColumnAffinity(tls *libc.TLS, pTab uintptr, iCol int32) int8 { /* sqlite3.c:102486:21: */ +func Xsqlite3TableColumnAffinity(tls *libc.TLS, pTab uintptr, iCol int32) int8 { /* sqlite3.c:102499:21: */ if iCol < 0 || iCol >= int32((*Table)(unsafe.Pointer(pTab)).FnCol) { return int8(SQLITE_AFF_INTEGER) } @@ -96815,7 +96834,7 @@ func Xsqlite3TableColumnAffinity(tls *libc.TLS, pTab uintptr, iCol int32) int8 { // SELECT * FROM t1 WHERE a; // SELECT a AS b FROM t1 WHERE b; // SELECT * FROM t1 WHERE (select a from t1); -func Xsqlite3ExprAffinity(tls *libc.TLS, pExpr uintptr) int8 { /* sqlite3.c:102507:21: */ +func Xsqlite3ExprAffinity(tls *libc.TLS, pExpr uintptr) int8 { /* sqlite3.c:102520:21: */ var op int32 for (*Expr)(unsafe.Pointer(pExpr)).Fflags&U32(EP_Skip|EP_IfNullRow) != U32(0) { @@ -96858,7 +96877,7 @@ func Xsqlite3ExprAffinity(tls *libc.TLS, pExpr uintptr) int8 { /* sqlite3.c:1025 // // If a memory allocation error occurs, that fact is recorded in pParse->db // and the pExpr parameter is returned unchanged. -func Xsqlite3ExprAddCollateToken(tls *libc.TLS, pParse uintptr, pExpr uintptr, pCollName uintptr, dequote int32) uintptr { /* sqlite3.c:102560:21: */ +func Xsqlite3ExprAddCollateToken(tls *libc.TLS, pParse uintptr, pExpr uintptr, pCollName uintptr, dequote int32) uintptr { /* sqlite3.c:102573:21: */ if (*Token)(unsafe.Pointer(pCollName)).Fn > uint32(0) { var pNew uintptr = Xsqlite3ExprAlloc(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, TK_COLLATE, pCollName, dequote) if pNew != 0 { @@ -96870,7 +96889,7 @@ func Xsqlite3ExprAddCollateToken(tls *libc.TLS, pParse uintptr, pExpr uintptr, p return pExpr } -func Xsqlite3ExprAddCollateString(tls *libc.TLS, pParse uintptr, pExpr uintptr, zC uintptr) uintptr { /* sqlite3.c:102576:21: */ +func Xsqlite3ExprAddCollateString(tls *libc.TLS, pParse uintptr, pExpr uintptr, zC uintptr) uintptr { /* sqlite3.c:102589:21: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -96881,7 +96900,7 @@ func Xsqlite3ExprAddCollateString(tls *libc.TLS, pParse uintptr, pExpr uintptr, } // Skip over any TK_COLLATE operators. -func Xsqlite3ExprSkipCollate(tls *libc.TLS, pExpr uintptr) uintptr { /* sqlite3.c:102590:21: */ +func Xsqlite3ExprSkipCollate(tls *libc.TLS, pExpr uintptr) uintptr { /* sqlite3.c:102603:21: */ for pExpr != 0 && (*Expr)(unsafe.Pointer(pExpr)).Fflags&U32(EP_Skip) != U32(0) { pExpr = (*Expr)(unsafe.Pointer(pExpr)).FpLeft @@ -96892,7 +96911,7 @@ func Xsqlite3ExprSkipCollate(tls *libc.TLS, pExpr uintptr) uintptr { /* sqlite3. // Skip over any TK_COLLATE operators and/or any unlikely() // or likelihood() or likely() functions at the root of an // expression. -func Xsqlite3ExprSkipCollateAndLikely(tls *libc.TLS, pExpr uintptr) uintptr { /* sqlite3.c:102603:21: */ +func Xsqlite3ExprSkipCollateAndLikely(tls *libc.TLS, pExpr uintptr) uintptr { /* sqlite3.c:102616:21: */ for pExpr != 0 && (*Expr)(unsafe.Pointer(pExpr)).Fflags&U32(EP_Skip|EP_Unlikely) != U32(0) { if (*Expr)(unsafe.Pointer(pExpr)).Fflags&U32(EP_Unlikely) != U32(0) { @@ -96917,7 +96936,7 @@ func Xsqlite3ExprSkipCollateAndLikely(tls *libc.TLS, pExpr uintptr) uintptr { /* // or by the presence of a column with a defined collating sequence. // COLLATE operators take first precedence. Left operands take // precedence over right operands. -func Xsqlite3ExprCollSeq(tls *libc.TLS, pParse uintptr, pExpr uintptr) uintptr { /* sqlite3.c:102632:24: */ +func Xsqlite3ExprCollSeq(tls *libc.TLS, pParse uintptr, pExpr uintptr) uintptr { /* sqlite3.c:102645:24: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb var pColl uintptr = uintptr(0) var p uintptr = pExpr @@ -96989,7 +97008,7 @@ func Xsqlite3ExprCollSeq(tls *libc.TLS, pParse uintptr, pExpr uintptr) uintptr { // // The sqlite3ExprCollSeq() routine works the same except that it // returns NULL if there is no defined collation. -func Xsqlite3ExprNNCollSeq(tls *libc.TLS, pParse uintptr, pExpr uintptr) uintptr { /* sqlite3.c:102705:24: */ +func Xsqlite3ExprNNCollSeq(tls *libc.TLS, pParse uintptr, pExpr uintptr) uintptr { /* sqlite3.c:102718:24: */ var p uintptr = Xsqlite3ExprCollSeq(tls, pParse, pExpr) if p == uintptr(0) { p = (*Sqlite3)(unsafe.Pointer((*Parse)(unsafe.Pointer(pParse)).Fdb)).FpDfltColl @@ -96999,7 +97018,7 @@ func Xsqlite3ExprNNCollSeq(tls *libc.TLS, pParse uintptr, pExpr uintptr) uintptr } // Return TRUE if the two expressions have equivalent collating sequences. -func Xsqlite3ExprCollSeqMatch(tls *libc.TLS, pParse uintptr, pE1 uintptr, pE2 uintptr) int32 { /* sqlite3.c:102715:20: */ +func Xsqlite3ExprCollSeqMatch(tls *libc.TLS, pParse uintptr, pE1 uintptr, pE2 uintptr) int32 { /* sqlite3.c:102728:20: */ var pColl1 uintptr = Xsqlite3ExprNNCollSeq(tls, pParse, pE1) var pColl2 uintptr = Xsqlite3ExprNNCollSeq(tls, pParse, pE2) return libc.Bool32(Xsqlite3StrICmp(tls, (*CollSeq)(unsafe.Pointer(pColl1)).FzName, (*CollSeq)(unsafe.Pointer(pColl2)).FzName) == 0) @@ -97008,7 +97027,7 @@ func Xsqlite3ExprCollSeqMatch(tls *libc.TLS, pParse uintptr, pE1 uintptr, pE2 ui // pExpr is an operand of a comparison operator. aff2 is the // type affinity of the other operand. This routine returns the // type affinity that should be used for the comparison operator. -func Xsqlite3CompareAffinity(tls *libc.TLS, pExpr uintptr, aff2 int8) int8 { /* sqlite3.c:102726:21: */ +func Xsqlite3CompareAffinity(tls *libc.TLS, pExpr uintptr, aff2 int8) int8 { /* sqlite3.c:102739:21: */ var aff1 int8 = Xsqlite3ExprAffinity(tls, pExpr) if int32(aff1) > SQLITE_AFF_NONE && int32(aff2) > SQLITE_AFF_NONE { // Both sides of the comparison are columns. If one has numeric @@ -97033,7 +97052,7 @@ func Xsqlite3CompareAffinity(tls *libc.TLS, pExpr uintptr, aff2 int8) int8 { /* // pExpr is a comparison operator. Return the type affinity that should // be applied to both operands prior to doing the comparison. -func comparisonAffinity(tls *libc.TLS, pExpr uintptr) int8 { /* sqlite3.c:102748:13: */ +func comparisonAffinity(tls *libc.TLS, pExpr uintptr) int8 { /* sqlite3.c:102761:13: */ var aff int8 aff = Xsqlite3ExprAffinity(tls, (*Expr)(unsafe.Pointer(pExpr)).FpLeft) @@ -97051,7 +97070,7 @@ func comparisonAffinity(tls *libc.TLS, pExpr uintptr) int8 { /* sqlite3.c:102748 // idx_affinity is the affinity of an indexed column. Return true // if the index with affinity idx_affinity may be used to implement // the comparison in pExpr. -func Xsqlite3IndexAffinityOk(tls *libc.TLS, pExpr uintptr, idx_affinity int8) int32 { /* sqlite3.c:102771:20: */ +func Xsqlite3IndexAffinityOk(tls *libc.TLS, pExpr uintptr, idx_affinity int8) int32 { /* sqlite3.c:102784:20: */ var aff int8 = comparisonAffinity(tls, pExpr) if int32(aff) < SQLITE_AFF_TEXT { return 1 @@ -97064,7 +97083,7 @@ func Xsqlite3IndexAffinityOk(tls *libc.TLS, pExpr uintptr, idx_affinity int8) in // Return the P5 value that should be used for a binary comparison // opcode (OP_Eq, OP_Ge etc.) used to compare pExpr1 and pExpr2. -func binaryCompareP5(tls *libc.TLS, pExpr1 uintptr, pExpr2 uintptr, jumpIfNull int32) U8 { /* sqlite3.c:102786:11: */ +func binaryCompareP5(tls *libc.TLS, pExpr1 uintptr, pExpr2 uintptr, jumpIfNull int32) U8 { /* sqlite3.c:102799:11: */ var aff U8 = U8(Xsqlite3ExprAffinity(tls, pExpr2)) aff = U8(int32(U8(Xsqlite3CompareAffinity(tls, pExpr1, int8(aff)))) | int32(U8(jumpIfNull))) return aff @@ -97080,7 +97099,7 @@ func binaryCompareP5(tls *libc.TLS, pExpr1 uintptr, pExpr2 uintptr, jumpIfNull i // // Argument pRight (but not pLeft) may be a null pointer. In this case, // it is not considered. -func Xsqlite3BinaryCompareCollSeq(tls *libc.TLS, pParse uintptr, pLeft uintptr, pRight uintptr) uintptr { /* sqlite3.c:102808:24: */ +func Xsqlite3BinaryCompareCollSeq(tls *libc.TLS, pParse uintptr, pLeft uintptr, pRight uintptr) uintptr { /* sqlite3.c:102821:24: */ var pColl uintptr if (*Expr)(unsafe.Pointer(pLeft)).Fflags&U32(EP_Collate) != 0 { @@ -97103,7 +97122,7 @@ func Xsqlite3BinaryCompareCollSeq(tls *libc.TLS, pParse uintptr, pLeft uintptr, // However, if the OP_Commuted flag is set, then the order of the operands // is reversed in the sqlite3BinaryCompareCollSeq() call so that the // correct collating sequence is found. -func Xsqlite3ExprCompareCollSeq(tls *libc.TLS, pParse uintptr, p uintptr) uintptr { /* sqlite3.c:102836:24: */ +func Xsqlite3ExprCompareCollSeq(tls *libc.TLS, pParse uintptr, p uintptr) uintptr { /* sqlite3.c:102849:24: */ if (*Expr)(unsafe.Pointer(p)).Fflags&U32(EP_Commuted) != U32(0) { return Xsqlite3BinaryCompareCollSeq(tls, pParse, (*Expr)(unsafe.Pointer(p)).FpRight, (*Expr)(unsafe.Pointer(p)).FpLeft) } else { @@ -97113,7 +97132,7 @@ func Xsqlite3ExprCompareCollSeq(tls *libc.TLS, pParse uintptr, p uintptr) uintpt } // Generate code for a comparison operator. -func codeCompare(tls *libc.TLS, pParse uintptr, pLeft uintptr, pRight uintptr, opcode int32, in1 int32, in2 int32, dest int32, jumpIfNull int32, isCommuted int32) int32 { /* sqlite3.c:102847:12: */ +func codeCompare(tls *libc.TLS, pParse uintptr, pLeft uintptr, pRight uintptr, opcode int32, in1 int32, in2 int32, dest int32, jumpIfNull int32, isCommuted int32) int32 { /* sqlite3.c:102860:12: */ var p5 int32 var addr int32 var p4 uintptr @@ -97140,7 +97159,7 @@ func codeCompare(tls *libc.TLS, pParse uintptr, pLeft uintptr, pRight uintptr, o // parser will not generate a TK_VECTOR with fewer than two entries. // But a TK_SELECT might be either a vector or a scalar. It is only // considered a vector if it has two or more result columns. -func Xsqlite3ExprIsVector(tls *libc.TLS, pExpr uintptr) int32 { /* sqlite3.c:102883:20: */ +func Xsqlite3ExprIsVector(tls *libc.TLS, pExpr uintptr) int32 { /* sqlite3.c:102896:20: */ return libc.Bool32(Xsqlite3ExprVectorSize(tls, pExpr) > 1) } @@ -97148,7 +97167,7 @@ func Xsqlite3ExprIsVector(tls *libc.TLS, pExpr uintptr) int32 { /* sqlite3.c:102 // return the number of expressions in the vector. Or, if the expression // is a sub-select, return the number of columns in the sub-select. For // any other type of expression, return 1. -func Xsqlite3ExprVectorSize(tls *libc.TLS, pExpr uintptr) int32 { /* sqlite3.c:102893:20: */ +func Xsqlite3ExprVectorSize(tls *libc.TLS, pExpr uintptr) int32 { /* sqlite3.c:102906:20: */ var op U8 = (*Expr)(unsafe.Pointer(pExpr)).Fop if int32(op) == TK_REGISTER { op = (*Expr)(unsafe.Pointer(pExpr)).Fop2 @@ -97178,7 +97197,7 @@ func Xsqlite3ExprVectorSize(tls *libc.TLS, pExpr uintptr) int32 { /* sqlite3.c:1 // just the expression for the i-th term of the result set, and may // not be ready for evaluation because the table cursor has not yet // been positioned. -func Xsqlite3VectorFieldSubexpr(tls *libc.TLS, pVector uintptr, i int32) uintptr { /* sqlite3.c:102922:21: */ +func Xsqlite3VectorFieldSubexpr(tls *libc.TLS, pVector uintptr, i int32) uintptr { /* sqlite3.c:102935:21: */ if Xsqlite3ExprIsVector(tls, pVector) != 0 { @@ -97212,7 +97231,7 @@ func Xsqlite3VectorFieldSubexpr(tls *libc.TLS, pVector uintptr, i int32) uintptr // A trick to cause a TK_SELECT pVector to be deleted together with // the returned Expr object is to attach the pVector to the pRight field // of the returned TK_SELECT_COLUMN Expr object. -func Xsqlite3ExprForVectorField(tls *libc.TLS, pParse uintptr, pVector uintptr, iField int32, nField int32) uintptr { /* sqlite3.c:102958:21: */ +func Xsqlite3ExprForVectorField(tls *libc.TLS, pParse uintptr, pVector uintptr, iField int32, nField int32) uintptr { /* sqlite3.c:102971:21: */ var pRet uintptr if int32((*Expr)(unsafe.Pointer(pVector)).Fop) == TK_SELECT { @@ -97260,7 +97279,7 @@ func Xsqlite3ExprForVectorField(tls *libc.TLS, pParse uintptr, pVector uintptr, // of registers in which the result is stored). // // If pExpr is not a TK_SELECT expression, return 0. -func exprCodeSubselect(tls *libc.TLS, pParse uintptr, pExpr uintptr) int32 { /* sqlite3.c:103014:12: */ +func exprCodeSubselect(tls *libc.TLS, pParse uintptr, pExpr uintptr) int32 { /* sqlite3.c:103027:12: */ var reg int32 = 0 if int32((*Expr)(unsafe.Pointer(pExpr)).Fop) == TK_SELECT { reg = Xsqlite3CodeSubselect(tls, pParse, pExpr) @@ -97284,7 +97303,7 @@ func exprCodeSubselect(tls *libc.TLS, pParse uintptr, pExpr uintptr) int32 { /* // // Before returning, output parameter (*ppExpr) is set to point to the // Expr object corresponding to element iElem of the vector. -func exprVectorRegister(tls *libc.TLS, pParse uintptr, pVector uintptr, iField int32, regSelect int32, ppExpr uintptr, pRegFree uintptr) int32 { /* sqlite3.c:103042:12: */ +func exprVectorRegister(tls *libc.TLS, pParse uintptr, pVector uintptr, iField int32, regSelect int32, ppExpr uintptr, pRegFree uintptr) int32 { /* sqlite3.c:103055:12: */ var op U8 = (*Expr)(unsafe.Pointer(pVector)).Fop if int32(op) == TK_REGISTER { @@ -97313,7 +97332,7 @@ func exprVectorRegister(tls *libc.TLS, pParse uintptr, pVector uintptr, iField i // if pExpr->op==TK_IS: op==TK_EQ and p5==SQLITE_NULLEQ // if pExpr->op==TK_ISNOT: op==TK_NE and p5==SQLITE_NULLEQ // otherwise: op==pExpr->op and p5==0 -func codeVectorCompare(tls *libc.TLS, pParse uintptr, pExpr uintptr, dest int32, op U8, p5 U8) { /* sqlite3.c:103080:13: */ +func codeVectorCompare(tls *libc.TLS, pParse uintptr, pExpr uintptr, dest int32, op U8, p5 U8) { /* sqlite3.c:103093:13: */ bp := tls.Alloc(28) defer tls.Free(28) @@ -97401,7 +97420,7 @@ func codeVectorCompare(tls *libc.TLS, pParse uintptr, pExpr uintptr, dest int32, // Check that argument nHeight is less than or equal to the maximum // expression depth allowed. If it is not, leave an error message in // pParse. -func Xsqlite3ExprCheckHeight(tls *libc.TLS, pParse uintptr, nHeight int32) int32 { /* sqlite3.c:103175:20: */ +func Xsqlite3ExprCheckHeight(tls *libc.TLS, pParse uintptr, nHeight int32) int32 { /* sqlite3.c:103188:20: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -97423,7 +97442,7 @@ func Xsqlite3ExprCheckHeight(tls *libc.TLS, pParse uintptr, nHeight int32) int32 // If this maximum height is greater than the current value pointed // to by pnHeight, the second parameter, then set *pnHeight to that // value. -func heightOfExpr(tls *libc.TLS, p uintptr, pnHeight uintptr) { /* sqlite3.c:103196:13: */ +func heightOfExpr(tls *libc.TLS, p uintptr, pnHeight uintptr) { /* sqlite3.c:103209:13: */ if p != 0 { if (*Expr)(unsafe.Pointer(p)).FnHeight > *(*int32)(unsafe.Pointer(pnHeight)) { *(*int32)(unsafe.Pointer(pnHeight)) = (*Expr)(unsafe.Pointer(p)).FnHeight @@ -97431,7 +97450,7 @@ func heightOfExpr(tls *libc.TLS, p uintptr, pnHeight uintptr) { /* sqlite3.c:103 } } -func heightOfExprList(tls *libc.TLS, p uintptr, pnHeight uintptr) { /* sqlite3.c:103203:13: */ +func heightOfExprList(tls *libc.TLS, p uintptr, pnHeight uintptr) { /* sqlite3.c:103216:13: */ if p != 0 { var i int32 for i = 0; i < (*ExprList)(unsafe.Pointer(p)).FnExpr; i++ { @@ -97440,7 +97459,7 @@ func heightOfExprList(tls *libc.TLS, p uintptr, pnHeight uintptr) { /* sqlite3.c } } -func heightOfSelect(tls *libc.TLS, pSelect uintptr, pnHeight uintptr) { /* sqlite3.c:103211:13: */ +func heightOfSelect(tls *libc.TLS, pSelect uintptr, pnHeight uintptr) { /* sqlite3.c:103224:13: */ var p uintptr for p = pSelect; p != 0; p = (*Select)(unsafe.Pointer(p)).FpPrior { heightOfExpr(tls, (*Select)(unsafe.Pointer(p)).FpWhere, pnHeight) @@ -97460,7 +97479,7 @@ func heightOfSelect(tls *libc.TLS, pSelect uintptr, pnHeight uintptr) { /* sqlit // // Also propagate EP_Propagate flags up from Expr.x.pList to Expr.flags, // if appropriate. -func exprSetHeight(tls *libc.TLS, p uintptr) { /* sqlite3.c:103233:13: */ +func exprSetHeight(tls *libc.TLS, p uintptr) { /* sqlite3.c:103246:13: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -97487,7 +97506,7 @@ func exprSetHeight(tls *libc.TLS, p uintptr) { /* sqlite3.c:103233:13: */ // // Also propagate all EP_Propagate flags from the Expr.x.pList into // Expr.flags. -func Xsqlite3ExprSetHeightAndFlags(tls *libc.TLS, pParse uintptr, p uintptr) { /* sqlite3.c:103253:21: */ +func Xsqlite3ExprSetHeightAndFlags(tls *libc.TLS, pParse uintptr, p uintptr) { /* sqlite3.c:103266:21: */ if (*Parse)(unsafe.Pointer(pParse)).FnErr != 0 { return } @@ -97497,7 +97516,7 @@ func Xsqlite3ExprSetHeightAndFlags(tls *libc.TLS, pParse uintptr, p uintptr) { / // Return the maximum height of any expression tree referenced // by the select statement passed as an argument. -func Xsqlite3SelectExprHeight(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:103263:20: */ +func Xsqlite3SelectExprHeight(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:103276:20: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -97524,7 +97543,7 @@ func Xsqlite3SelectExprHeight(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:103 // stored in u.zToken. Instead, the integer values is written // into u.iValue and the EP_IntValue flag is set. No extra storage // is allocated to hold the integer text and the dequote flag is ignored. -func Xsqlite3ExprAlloc(tls *libc.TLS, db uintptr, op int32, pToken uintptr, dequote int32) uintptr { /* sqlite3.c:103302:21: */ +func Xsqlite3ExprAlloc(tls *libc.TLS, db uintptr, op int32, pToken uintptr, dequote int32) uintptr { /* sqlite3.c:103315:21: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -97572,7 +97591,7 @@ func Xsqlite3ExprAlloc(tls *libc.TLS, db uintptr, op int32, pToken uintptr, dequ // Allocate a new expression node from a zero-terminated token that has // already been dequoted. -func Xsqlite3Expr(tls *libc.TLS, db uintptr, op int32, zToken uintptr) uintptr { /* sqlite3.c:103350:21: */ +func Xsqlite3Expr(tls *libc.TLS, db uintptr, op int32, zToken uintptr) uintptr { /* sqlite3.c:103363:21: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -97587,7 +97606,7 @@ func Xsqlite3Expr(tls *libc.TLS, db uintptr, op int32, zToken uintptr) uintptr { // // If pRoot==NULL that means that a memory allocation error has occurred. // In that case, delete the subtrees pLeft and pRight. -func Xsqlite3ExprAttachSubtrees(tls *libc.TLS, db uintptr, pRoot uintptr, pLeft uintptr, pRight uintptr) { /* sqlite3.c:103367:21: */ +func Xsqlite3ExprAttachSubtrees(tls *libc.TLS, db uintptr, pRoot uintptr, pLeft uintptr, pRight uintptr) { /* sqlite3.c:103380:21: */ if pRoot == uintptr(0) { Xsqlite3ExprDelete(tls, db, pLeft) @@ -97610,7 +97629,7 @@ func Xsqlite3ExprAttachSubtrees(tls *libc.TLS, db uintptr, pRoot uintptr, pLeft // One or both of the subtrees can be NULL. Return a pointer to the new // Expr node. Or, if an OOM error occurs, set pParse->db->mallocFailed, // free the subtrees and return NULL. -func Xsqlite3PExpr(tls *libc.TLS, pParse uintptr, op int32, pLeft uintptr, pRight uintptr) uintptr { /* sqlite3.c:103397:21: */ +func Xsqlite3PExpr(tls *libc.TLS, pParse uintptr, op int32, pLeft uintptr, pRight uintptr) uintptr { /* sqlite3.c:103410:21: */ var p uintptr p = Xsqlite3DbMallocRawNN(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, uint64(unsafe.Sizeof(Expr{}))) if p != 0 { @@ -97628,7 +97647,7 @@ func Xsqlite3PExpr(tls *libc.TLS, pParse uintptr, op int32, pLeft uintptr, pRigh // Add pSelect to the Expr.x.pSelect field. Or, if pExpr is NULL (due // do a memory allocation failure) then delete the pSelect object. -func Xsqlite3PExprAddSelect(tls *libc.TLS, pParse uintptr, pExpr uintptr, pSelect uintptr) { /* sqlite3.c:103422:21: */ +func Xsqlite3PExprAddSelect(tls *libc.TLS, pParse uintptr, pExpr uintptr, pSelect uintptr) { /* sqlite3.c:103435:21: */ if pExpr != 0 { *(*uintptr)(unsafe.Pointer(pExpr + 32)) = pSelect *(*U32)(unsafe.Pointer(pExpr + 4)) |= U32(EP_xIsSelect | EP_Subquery) @@ -97656,7 +97675,7 @@ func Xsqlite3PExprAddSelect(tls *libc.TLS, pParse uintptr, pExpr uintptr, pSelec // // This is used as part of processing IN(...) expressions with a list // of vectors on the RHS. e.g. "... IN ((1,2), (3,4), (5,6))". -func Xsqlite3ExprListToValues(tls *libc.TLS, pParse uintptr, nElem int32, pEList uintptr) uintptr { /* sqlite3.c:103452:23: */ +func Xsqlite3ExprListToValues(tls *libc.TLS, pParse uintptr, nElem int32, pEList uintptr) uintptr { /* sqlite3.c:103465:23: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -97708,7 +97727,7 @@ func Xsqlite3ExprListToValues(tls *libc.TLS, pParse uintptr, nElem int32, pEList // If one side or the other of the AND is known to be false, then instead // of returning an AND expression, just return a constant expression with // a value of false. -func Xsqlite3ExprAnd(tls *libc.TLS, pParse uintptr, pLeft uintptr, pRight uintptr) uintptr { /* sqlite3.c:103499:21: */ +func Xsqlite3ExprAnd(tls *libc.TLS, pParse uintptr, pLeft uintptr, pRight uintptr) uintptr { /* sqlite3.c:103512:21: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb if pLeft == uintptr(0) { return pRight @@ -97727,7 +97746,7 @@ func Xsqlite3ExprAnd(tls *libc.TLS, pParse uintptr, pLeft uintptr, pRight uintpt // Construct a new expression node for a function with multiple // arguments. -func Xsqlite3ExprFunction(tls *libc.TLS, pParse uintptr, pList uintptr, pToken uintptr, eDistinct int32) uintptr { /* sqlite3.c:103520:21: */ +func Xsqlite3ExprFunction(tls *libc.TLS, pParse uintptr, pList uintptr, pToken uintptr, eDistinct int32) uintptr { /* sqlite3.c:103533:21: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -97764,7 +97783,7 @@ func Xsqlite3ExprFunction(tls *libc.TLS, pParse uintptr, pList uintptr, pToken u // top-level SQL // // If the function is not usable, create an error. -func Xsqlite3ExprFunctionUsable(tls *libc.TLS, pParse uintptr, pExpr uintptr, pDef uintptr) { /* sqlite3.c:103560:21: */ +func Xsqlite3ExprFunctionUsable(tls *libc.TLS, pParse uintptr, pExpr uintptr, pDef uintptr) { /* sqlite3.c:103573:21: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -97796,7 +97815,7 @@ func Xsqlite3ExprFunctionUsable(tls *libc.TLS, pParse uintptr, pExpr uintptr, pD // as the previous instance of the same wildcard. Or if this is the first // instance of the wildcard, the next sequential variable number is // assigned. -func Xsqlite3ExprAssignVarNumber(tls *libc.TLS, pParse uintptr, pExpr uintptr, n U32) { /* sqlite3.c:103599:21: */ +func Xsqlite3ExprAssignVarNumber(tls *libc.TLS, pParse uintptr, pExpr uintptr, n U32) { /* sqlite3.c:103612:21: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -97864,7 +97883,7 @@ func Xsqlite3ExprAssignVarNumber(tls *libc.TLS, pParse uintptr, pExpr uintptr, n } // Recursively delete an expression tree. -func sqlite3ExprDeleteNN(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:103669:29: */ +func sqlite3ExprDeleteNN(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:103682:29: */ if !((*Expr)(unsafe.Pointer(p)).Fflags&U32(EP_TokenOnly|EP_Leaf) != U32(0)) { // The Expr.x union is never used at the same time as Expr.pRight @@ -97894,7 +97913,7 @@ func sqlite3ExprDeleteNN(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:10 } } -func Xsqlite3ExprDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:103710:21: */ +func Xsqlite3ExprDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:103723:21: */ if p != 0 { sqlite3ExprDeleteNN(tls, db, p) } @@ -97908,13 +97927,13 @@ func Xsqlite3ExprDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:103 // // The deferred delete is (currently) implemented by adding the // pExpr to the pParse->pConstExpr list with a register number of 0. -func Xsqlite3ExprDeferredDelete(tls *libc.TLS, pParse uintptr, pExpr uintptr) { /* sqlite3.c:103725:21: */ +func Xsqlite3ExprDeferredDelete(tls *libc.TLS, pParse uintptr, pExpr uintptr) { /* sqlite3.c:103738:21: */ (*Parse)(unsafe.Pointer(pParse)).FpConstExpr = Xsqlite3ExprListAppend(tls, pParse, (*Parse)(unsafe.Pointer(pParse)).FpConstExpr, pExpr) } // Invoke sqlite3RenameExprUnmap() and sqlite3ExprDelete() on the // expression. -func Xsqlite3ExprUnmapAndDelete(tls *libc.TLS, pParse uintptr, p uintptr) { /* sqlite3.c:103733:21: */ +func Xsqlite3ExprUnmapAndDelete(tls *libc.TLS, pParse uintptr, p uintptr) { /* sqlite3.c:103746:21: */ if p != 0 { if int32((*Parse)(unsafe.Pointer(pParse)).FeParseMode) >= PARSE_MODE_RENAME { Xsqlite3RenameExprUnmap(tls, pParse, p) @@ -97926,7 +97945,7 @@ func Xsqlite3ExprUnmapAndDelete(tls *libc.TLS, pParse uintptr, p uintptr) { /* s // Return the number of bytes allocated for the expression structure // passed as the first argument. This is always one of EXPR_FULLSIZE, // EXPR_REDUCEDSIZE or EXPR_TOKENONLYSIZE. -func exprStructSize(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:103747:12: */ +func exprStructSize(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:103760:12: */ if (*Expr)(unsafe.Pointer(p)).Fflags&U32(EP_TokenOnly) != U32(0) { return int32(uintptr(0) + 16) } @@ -97968,7 +97987,7 @@ func exprStructSize(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:103747:12: */ // to reduce a pristine expression tree from the parser. The implementation // of dupedExprStructSize() contain multiple assert() statements that attempt // to enforce this constraint. -func dupedExprStructSize(tls *libc.TLS, p uintptr, flags int32) int32 { /* sqlite3.c:103787:12: */ +func dupedExprStructSize(tls *libc.TLS, p uintptr, flags int32) int32 { /* sqlite3.c:103800:12: */ var nSize int32 // Only one flag value allowed @@ -97990,7 +98009,7 @@ func dupedExprStructSize(tls *libc.TLS, p uintptr, flags int32) int32 { /* sqlit // This function returns the space in bytes required to store the copy // of the Expr structure and a copy of the Expr.u.zToken string (if that // string is defined.) -func dupedExprNodeSize(tls *libc.TLS, p uintptr, flags int32) int32 { /* sqlite3.c:103818:12: */ +func dupedExprNodeSize(tls *libc.TLS, p uintptr, flags int32) int32 { /* sqlite3.c:103831:12: */ var nByte int32 = dupedExprStructSize(tls, p, flags) & 0xfff if !((*Expr)(unsafe.Pointer(p)).Fflags&U32(EP_IntValue) != U32(0)) && *(*uintptr)(unsafe.Pointer(p + 8)) != 0 { nByte = int32(Size_t(nByte) + (libc.Xstrlen(tls, *(*uintptr)(unsafe.Pointer(p + 8)))&uint64(0x3fffffff) + uint64(1))) @@ -98009,7 +98028,7 @@ func dupedExprNodeSize(tls *libc.TLS, p uintptr, flags int32) int32 { /* sqlite3 // space to duplicate all Expr nodes in the tree formed by Expr.pLeft // and Expr.pRight variables (but not for any structures pointed to or // descended from the Expr.x.pList or Expr.x.pSelect variables). -func dupedExprSize(tls *libc.TLS, p uintptr, flags int32) int32 { /* sqlite3.c:103839:12: */ +func dupedExprSize(tls *libc.TLS, p uintptr, flags int32) int32 { /* sqlite3.c:103852:12: */ var nByte int32 = 0 if p != 0 { nByte = dupedExprNodeSize(tls, p, flags) @@ -98026,7 +98045,7 @@ func dupedExprSize(tls *libc.TLS, p uintptr, flags int32) int32 { /* sqlite3.c:1 // (if applicable), and the copies of the p->pLeft and p->pRight expressions, // if any. Before returning, *pzBuffer is set to the first byte past the // portion of the buffer copied into by this function. -func exprDup(tls *libc.TLS, db uintptr, p uintptr, dupFlags int32, pzBuffer uintptr) uintptr { /* sqlite3.c:103858:13: */ +func exprDup(tls *libc.TLS, db uintptr, p uintptr, dupFlags int32, pzBuffer uintptr) uintptr { /* sqlite3.c:103871:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -98136,7 +98155,7 @@ func exprDup(tls *libc.TLS, db uintptr, p uintptr, dupFlags int32, pzBuffer uint // Create and return a deep copy of the object passed as the second // argument. If an OOM condition is encountered, NULL is returned // and the db->mallocFailed flag set. -func Xsqlite3WithDup(tls *libc.TLS, db uintptr, p uintptr) uintptr { /* sqlite3.c:103968:21: */ +func Xsqlite3WithDup(tls *libc.TLS, db uintptr, p uintptr) uintptr { /* sqlite3.c:103981:21: */ var pRet uintptr = uintptr(0) if p != 0 { var nByte Sqlite3_int64 = Sqlite3_int64(uint64(unsafe.Sizeof(With{})) + uint64(unsafe.Sizeof(Cte{}))*uint64((*With)(unsafe.Pointer(p)).FnCte-1)) @@ -98158,7 +98177,7 @@ func Xsqlite3WithDup(tls *libc.TLS, db uintptr, p uintptr) uintptr { /* sqlite3. // gatherSelectWindowsCallback() are used to scan all the expressions // an a newly duplicated SELECT statement and gather all of the Window // objects found there, assembling them onto the linked list at Select->pWin. -func gatherSelectWindowsCallback(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:103996:12: */ +func gatherSelectWindowsCallback(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:104009:12: */ if int32((*Expr)(unsafe.Pointer(pExpr)).Fop) == TK_FUNCTION && (*Expr)(unsafe.Pointer(pExpr)).Fflags&U32(EP_WinFunc) != U32(0) { var pSelect uintptr = *(*uintptr)(unsafe.Pointer(pWalker + 40)) var pWin uintptr = *(*uintptr)(unsafe.Pointer(pExpr + 64)) @@ -98168,14 +98187,14 @@ func gatherSelectWindowsCallback(tls *libc.TLS, pWalker uintptr, pExpr uintptr) return WRC_Continue } -func gatherSelectWindowsSelectCallback(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sqlite3.c:104007:12: */ +func gatherSelectWindowsSelectCallback(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sqlite3.c:104020:12: */ if p == *(*uintptr)(unsafe.Pointer(pWalker + 40)) { return WRC_Continue } return WRC_Prune } -func gatherSelectWindows(tls *libc.TLS, p uintptr) { /* sqlite3.c:104010:13: */ +func gatherSelectWindows(tls *libc.TLS, p uintptr) { /* sqlite3.c:104023:13: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -98208,7 +98227,7 @@ func gatherSelectWindows(tls *libc.TLS, p uintptr) { /* sqlite3.c:104010:13: */ // If the EXPRDUP_REDUCE flag is set, then the structure returned is a // truncated version of the usual Expr structure that will be stored as // part of the in-memory representation of the database schema. -func Xsqlite3ExprDup(tls *libc.TLS, db uintptr, p uintptr, flags int32) uintptr { /* sqlite3.c:104039:21: */ +func Xsqlite3ExprDup(tls *libc.TLS, db uintptr, p uintptr, flags int32) uintptr { /* sqlite3.c:104052:21: */ if p != 0 { return exprDup(tls, db, p, flags, uintptr(0)) @@ -98216,7 +98235,7 @@ func Xsqlite3ExprDup(tls *libc.TLS, db uintptr, p uintptr, flags int32) uintptr return uintptr(0) } -func Xsqlite3ExprListDup(tls *libc.TLS, db uintptr, p uintptr, flags int32) uintptr { /* sqlite3.c:104043:25: */ +func Xsqlite3ExprListDup(tls *libc.TLS, db uintptr, p uintptr, flags int32) uintptr { /* sqlite3.c:104056:25: */ var pNew uintptr var pItem uintptr var pOldItem uintptr @@ -98285,7 +98304,7 @@ __3: // the build, then none of the following routines, except for // sqlite3SelectDup(), can be called. sqlite3SelectDup() is sometimes // called with a NULL argument. -func Xsqlite3SrcListDup(tls *libc.TLS, db uintptr, p uintptr, flags int32) uintptr { /* sqlite3.c:104098:24: */ +func Xsqlite3SrcListDup(tls *libc.TLS, db uintptr, p uintptr, flags int32) uintptr { /* sqlite3.c:104111:24: */ var pNew uintptr var i int32 var nByte int32 @@ -98338,7 +98357,7 @@ func Xsqlite3SrcListDup(tls *libc.TLS, db uintptr, p uintptr, flags int32) uintp return pNew } -func Xsqlite3IdListDup(tls *libc.TLS, db uintptr, p uintptr) uintptr { /* sqlite3.c:104142:23: */ +func Xsqlite3IdListDup(tls *libc.TLS, db uintptr, p uintptr) uintptr { /* sqlite3.c:104155:23: */ var pNew uintptr var i int32 @@ -98367,7 +98386,7 @@ func Xsqlite3IdListDup(tls *libc.TLS, db uintptr, p uintptr) uintptr { /* sqlite return pNew } -func Xsqlite3SelectDup(tls *libc.TLS, db uintptr, pDup uintptr, flags int32) uintptr { /* sqlite3.c:104166:23: */ +func Xsqlite3SelectDup(tls *libc.TLS, db uintptr, pDup uintptr, flags int32) uintptr { /* sqlite3.c:104179:23: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -98433,9 +98452,9 @@ func Xsqlite3SelectDup(tls *libc.TLS, db uintptr, pDup uintptr, flags int32) uin // If a memory allocation error occurs, the entire list is freed and // NULL is returned. If non-NULL is returned, then it is guaranteed // that the new entry was successfully appended. -var zeroItem = ExprList_item{} /* sqlite3.c:104237:35 */ +var zeroItem = ExprList_item{} /* sqlite3.c:104250:35 */ -func Xsqlite3ExprListAppendNew(tls *libc.TLS, db uintptr, pExpr uintptr) uintptr { /* sqlite3.c:104238:41: */ +func Xsqlite3ExprListAppendNew(tls *libc.TLS, db uintptr, pExpr uintptr) uintptr { /* sqlite3.c:104251:41: */ var pItem uintptr var pList uintptr @@ -98452,7 +98471,7 @@ func Xsqlite3ExprListAppendNew(tls *libc.TLS, db uintptr, pExpr uintptr) uintptr return pList } -func Xsqlite3ExprListAppendGrow(tls *libc.TLS, db uintptr, pList uintptr, pExpr uintptr) uintptr { /* sqlite3.c:104257:41: */ +func Xsqlite3ExprListAppendGrow(tls *libc.TLS, db uintptr, pList uintptr, pExpr uintptr) uintptr { /* sqlite3.c:104270:41: */ var pItem uintptr var pNew uintptr *(*int32)(unsafe.Pointer(pList + 4)) *= 2 @@ -98471,7 +98490,7 @@ func Xsqlite3ExprListAppendGrow(tls *libc.TLS, db uintptr, pList uintptr, pExpr return pList } -func Xsqlite3ExprListAppend(tls *libc.TLS, pParse uintptr, pList uintptr, pExpr uintptr) uintptr { /* sqlite3.c:104279:25: */ +func Xsqlite3ExprListAppend(tls *libc.TLS, pParse uintptr, pList uintptr, pExpr uintptr) uintptr { /* sqlite3.c:104292:25: */ var pItem uintptr if pList == uintptr(0) { return Xsqlite3ExprListAppendNew(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, pExpr) @@ -98494,7 +98513,7 @@ func Xsqlite3ExprListAppend(tls *libc.TLS, pParse uintptr, pList uintptr, pExpr // For each term of the vector assignment, append new entries to the // expression list pList. In the case of a subquery on the RHS, append // TK_SELECT_COLUMN expressions. -func Xsqlite3ExprListAppendVector(tls *libc.TLS, pParse uintptr, pList uintptr, pColumns uintptr, pExpr uintptr) uintptr { /* sqlite3.c:104308:25: */ +func Xsqlite3ExprListAppendVector(tls *libc.TLS, pParse uintptr, pList uintptr, pColumns uintptr, pExpr uintptr) uintptr { /* sqlite3.c:104321:25: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -98591,7 +98610,7 @@ vector_append_error: } // Set the sort order for the last element on the given ExprList. -func Xsqlite3ExprListSetSortOrder(tls *libc.TLS, p uintptr, iSortOrder int32, eNulls int32) { /* sqlite3.c:104370:21: */ +func Xsqlite3ExprListSetSortOrder(tls *libc.TLS, p uintptr, iSortOrder int32, eNulls int32) { /* sqlite3.c:104383:21: */ var pItem uintptr if p == uintptr(0) { return @@ -98618,7 +98637,7 @@ func Xsqlite3ExprListSetSortOrder(tls *libc.TLS, p uintptr, iSortOrder int32, eN // pList might be NULL following an OOM error. But pName should never be // NULL. If a memory allocation fails, the pParse->db->mallocFailed flag // is set. -func Xsqlite3ExprListSetName(tls *libc.TLS, pParse uintptr, pList uintptr, pName uintptr, dequote int32) { /* sqlite3.c:104408:21: */ +func Xsqlite3ExprListSetName(tls *libc.TLS, pParse uintptr, pList uintptr, pName uintptr, dequote int32) { /* sqlite3.c:104421:21: */ if pList != 0 { var pItem uintptr @@ -98644,7 +98663,7 @@ func Xsqlite3ExprListSetName(tls *libc.TLS, pParse uintptr, pList uintptr, pName // pList might be NULL following an OOM error. But pSpan should never be // NULL. If a memory allocation fails, the pParse->db->mallocFailed flag // is set. -func Xsqlite3ExprListSetSpan(tls *libc.TLS, pParse uintptr, pList uintptr, zStart uintptr, zEnd uintptr) { /* sqlite3.c:104443:21: */ +func Xsqlite3ExprListSetSpan(tls *libc.TLS, pParse uintptr, pList uintptr, zStart uintptr, zEnd uintptr) { /* sqlite3.c:104456:21: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb if pList != 0 { @@ -98659,7 +98678,7 @@ func Xsqlite3ExprListSetSpan(tls *libc.TLS, pParse uintptr, pList uintptr, zStar // If the expression list pEList contains more than iLimit elements, // leave an error message in pParse. -func Xsqlite3ExprListCheckLength(tls *libc.TLS, pParse uintptr, pEList uintptr, zObject uintptr) { /* sqlite3.c:104465:21: */ +func Xsqlite3ExprListCheckLength(tls *libc.TLS, pParse uintptr, pEList uintptr, zObject uintptr) { /* sqlite3.c:104478:21: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -98671,7 +98690,7 @@ func Xsqlite3ExprListCheckLength(tls *libc.TLS, pParse uintptr, pEList uintptr, } // Delete an entire expression list. -func exprListDeleteNN(tls *libc.TLS, db uintptr, pList uintptr) { /* sqlite3.c:104481:29: */ +func exprListDeleteNN(tls *libc.TLS, db uintptr, pList uintptr) { /* sqlite3.c:104494:29: */ var i int32 = (*ExprList)(unsafe.Pointer(pList)).FnExpr var pItem uintptr = pList + 8 /* &.a */ @@ -98683,7 +98702,7 @@ func exprListDeleteNN(tls *libc.TLS, db uintptr, pList uintptr) { /* sqlite3.c:1 Xsqlite3DbFreeNN(tls, db, pList) } -func Xsqlite3ExprListDelete(tls *libc.TLS, db uintptr, pList uintptr) { /* sqlite3.c:104492:21: */ +func Xsqlite3ExprListDelete(tls *libc.TLS, db uintptr, pList uintptr) { /* sqlite3.c:104505:21: */ if pList != 0 { exprListDeleteNN(tls, db, pList) } @@ -98691,7 +98710,7 @@ func Xsqlite3ExprListDelete(tls *libc.TLS, db uintptr, pList uintptr) { /* sqlit // Return the bitwise-OR of all Expr.flags fields in the given // ExprList. -func Xsqlite3ExprListFlags(tls *libc.TLS, pList uintptr) U32 { /* sqlite3.c:104500:20: */ +func Xsqlite3ExprListFlags(tls *libc.TLS, pList uintptr) U32 { /* sqlite3.c:104513:20: */ var i int32 var m U32 = U32(0) @@ -98708,7 +98727,7 @@ func Xsqlite3ExprListFlags(tls *libc.TLS, pList uintptr) U32 { /* sqlite3.c:1045 // pWalker->eCode to zero and abort. // // This callback is used by multiple expression walkers. -func Xsqlite3SelectWalkFail(tls *libc.TLS, pWalker uintptr, NotUsed uintptr) int32 { /* sqlite3.c:104519:20: */ +func Xsqlite3SelectWalkFail(tls *libc.TLS, pWalker uintptr, NotUsed uintptr) int32 { /* sqlite3.c:104532:20: */ _ = NotUsed (*Walker)(unsafe.Pointer(pWalker)).FeCode = U16(0) return WRC_Abort @@ -98720,7 +98739,7 @@ func Xsqlite3SelectWalkFail(tls *libc.TLS, pWalker uintptr, NotUsed uintptr) int // "true" EP_IsTrue // "false" EP_IsFalse // anything else 0 -func Xsqlite3IsTrueOrFalse(tls *libc.TLS, zIn uintptr) U32 { /* sqlite3.c:104533:20: */ +func Xsqlite3IsTrueOrFalse(tls *libc.TLS, zIn uintptr) U32 { /* sqlite3.c:104546:20: */ if Xsqlite3StrICmp(tls, zIn, ts+7049) == 0 { return U32(EP_IsTrue) } @@ -98733,7 +98752,7 @@ func Xsqlite3IsTrueOrFalse(tls *libc.TLS, zIn uintptr) U32 { /* sqlite3.c:104533 // If the input expression is an ID with the name "true" or "false" // then convert it into an TK_TRUEFALSE term. Return non-zero if // the conversion happened, and zero if the expression is unaltered. -func Xsqlite3ExprIdToTrueFalse(tls *libc.TLS, pExpr uintptr) int32 { /* sqlite3.c:104545:20: */ +func Xsqlite3ExprIdToTrueFalse(tls *libc.TLS, pExpr uintptr) int32 { /* sqlite3.c:104558:20: */ var v U32 if !((*Expr)(unsafe.Pointer(pExpr)).Fflags&U32(EP_Quoted|EP_IntValue) != U32(0)) && @@ -98747,7 +98766,7 @@ func Xsqlite3ExprIdToTrueFalse(tls *libc.TLS, pExpr uintptr) int32 { /* sqlite3. // The argument must be a TK_TRUEFALSE Expr node. Return 1 if it is TRUE // and 0 if it is FALSE. -func Xsqlite3ExprTruthValue(tls *libc.TLS, pExpr uintptr) int32 { /* sqlite3.c:104562:20: */ +func Xsqlite3ExprTruthValue(tls *libc.TLS, pExpr uintptr) int32 { /* sqlite3.c:104575:20: */ pExpr = Xsqlite3ExprSkipCollate(tls, pExpr) return libc.Bool32(int32(*(*int8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pExpr + 8)) + 4))) == 0) @@ -98764,7 +98783,7 @@ func Xsqlite3ExprTruthValue(tls *libc.TLS, pExpr uintptr) int32 { /* sqlite3.c:1 // (x<10) AND (y=22 OR false) => (x<10) AND (y=22) // (x<10) AND (y=22 OR true) => (x<10) // (y=22) OR true => true -func Xsqlite3ExprSimplifiedAndOr(tls *libc.TLS, pExpr uintptr) uintptr { /* sqlite3.c:104584:21: */ +func Xsqlite3ExprSimplifiedAndOr(tls *libc.TLS, pExpr uintptr) uintptr { /* sqlite3.c:104597:21: */ if int32((*Expr)(unsafe.Pointer(pExpr)).Fop) == TK_AND || int32((*Expr)(unsafe.Pointer(pExpr)).Fop) == TK_OR { var pRight uintptr = Xsqlite3ExprSimplifiedAndOr(tls, (*Expr)(unsafe.Pointer(pExpr)).FpRight) @@ -98810,7 +98829,7 @@ func Xsqlite3ExprSimplifiedAndOr(tls *libc.TLS, pExpr uintptr) uintptr { /* sqli // contain a bound parameter because they were generated by older versions // of SQLite to be parsed by newer versions of SQLite without raising a // malformed schema error. -func exprNodeIsConstant(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:104625:12: */ +func exprNodeIsConstant(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:104638:12: */ // If pWalker->eCode is 2 then any term of the expression that comes from // the ON or USING clauses of a left join disqualifies the expression @@ -98888,7 +98907,7 @@ func exprNodeIsConstant(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { / return int32(0) } -func exprIsConst(tls *libc.TLS, p uintptr, initFlag int32, iCur int32) int32 { /* sqlite3.c:104697:12: */ +func exprIsConst(tls *libc.TLS, p uintptr, initFlag int32, iCur int32) int32 { /* sqlite3.c:104710:12: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -98912,7 +98931,7 @@ func exprIsConst(tls *libc.TLS, p uintptr, initFlag int32, iCur int32) int32 { / // For the purposes of this function, a double-quoted string (ex: "abc") // is considered a variable but a single-quoted string (ex: 'abc') is // a constant. -func Xsqlite3ExprIsConstant(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:104718:20: */ +func Xsqlite3ExprIsConstant(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:104731:20: */ return exprIsConst(tls, p, 1, 0) } @@ -98927,7 +98946,7 @@ func Xsqlite3ExprIsConstant(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:10471 // When this routine returns true, it indicates that the expression // can be added to the pParse->pConstExpr list and evaluated once when // the prepared statement starts up. See sqlite3ExprCodeRunJustOnce(). -func Xsqlite3ExprIsConstantNotJoin(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:104735:20: */ +func Xsqlite3ExprIsConstantNotJoin(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:104748:20: */ return exprIsConst(tls, p, 2, 0) } @@ -98935,12 +98954,12 @@ func Xsqlite3ExprIsConstantNotJoin(tls *libc.TLS, p uintptr) int32 { /* sqlite3. // for any single row of the table with cursor iCur. In other words, the // expression must not refer to any non-deterministic function nor any // table other than iCur. -func Xsqlite3ExprIsTableConstant(tls *libc.TLS, p uintptr, iCur int32) int32 { /* sqlite3.c:104745:20: */ +func Xsqlite3ExprIsTableConstant(tls *libc.TLS, p uintptr, iCur int32) int32 { /* sqlite3.c:104758:20: */ return exprIsConst(tls, p, 3, iCur) } // sqlite3WalkExpr() callback used by sqlite3ExprIsConstantOrGroupBy(). -func exprNodeIsConstantOrGroupBy(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:104753:12: */ +func exprNodeIsConstantOrGroupBy(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:104766:12: */ var pGroupBy uintptr = *(*uintptr)(unsafe.Pointer(pWalker + 40)) var i int32 @@ -98982,7 +99001,7 @@ func exprNodeIsConstantOrGroupBy(tls *libc.TLS, pWalker uintptr, pExpr uintptr) // alternative collating sequences are uncommon, and this is only an // optimization, so we take the easy way out and simply require the // GROUP BY to use the BINARY collating sequence. -func Xsqlite3ExprIsConstantOrGroupBy(tls *libc.TLS, pParse uintptr, p uintptr, pGroupBy uintptr) int32 { /* sqlite3.c:104797:20: */ +func Xsqlite3ExprIsConstantOrGroupBy(tls *libc.TLS, pParse uintptr, p uintptr, pGroupBy uintptr) int32 { /* sqlite3.c:104810:20: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -99018,7 +99037,7 @@ func Xsqlite3ExprIsConstantOrGroupBy(tls *libc.TLS, pParse uintptr, p uintptr, p // For the purposes of this function, a double-quoted string (ex: "abc") // is considered a variable but a single-quoted string (ex: 'abc') is // a constant. -func Xsqlite3ExprIsConstantOrFunction(tls *libc.TLS, p uintptr, isInit U8) int32 { /* sqlite3.c:104829:20: */ +func Xsqlite3ExprIsConstantOrFunction(tls *libc.TLS, p uintptr, isInit U8) int32 { /* sqlite3.c:104842:20: */ return exprIsConst(tls, p, 4+int32(isInit), 0) } @@ -99027,7 +99046,7 @@ func Xsqlite3ExprIsConstantOrFunction(tls *libc.TLS, p uintptr, isInit U8) int32 // to fit in a 32-bit integer, return 1 and put the value of the integer // in *pValue. If the expression is not an integer or if it is too big // to fit in a signed 32-bit integer, return 0 and leave *pValue unchanged. -func Xsqlite3ExprIsInteger(tls *libc.TLS, p uintptr, pValue uintptr) int32 { /* sqlite3.c:104858:20: */ +func Xsqlite3ExprIsInteger(tls *libc.TLS, p uintptr, pValue uintptr) int32 { /* sqlite3.c:104871:20: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -99079,7 +99098,7 @@ func Xsqlite3ExprIsInteger(tls *libc.TLS, p uintptr, pValue uintptr) int32 { /* // hand, a false negative (returning FALSE when the result could be NULL) // will likely result in an incorrect answer. So when in doubt, return // TRUE. -func Xsqlite3ExprCanBeNull(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:104904:20: */ +func Xsqlite3ExprCanBeNull(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:104917:20: */ var op U8 for int32((*Expr)(unsafe.Pointer(p)).Fop) == TK_UPLUS || int32((*Expr)(unsafe.Pointer(p)).Fop) == TK_UMINUS { @@ -99118,7 +99137,7 @@ func Xsqlite3ExprCanBeNull(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:104904 // can be omitted. When in doubt return FALSE. A false negative // is harmless. A false positive, however, can result in the wrong // answer. -func Xsqlite3ExprNeedsNoAffinityChange(tls *libc.TLS, p uintptr, aff int8) int32 { /* sqlite3.c:104941:20: */ +func Xsqlite3ExprNeedsNoAffinityChange(tls *libc.TLS, p uintptr, aff int8) int32 { /* sqlite3.c:104954:20: */ var op U8 var unaryMinus int32 = 0 if int32(aff) == SQLITE_AFF_BLOB { @@ -99171,7 +99190,7 @@ func Xsqlite3ExprNeedsNoAffinityChange(tls *libc.TLS, p uintptr, aff int8) int32 } // Return TRUE if the given string is a row-id column name. -func Xsqlite3IsRowid(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:104977:20: */ +func Xsqlite3IsRowid(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:104990:20: */ if Xsqlite3StrICmp(tls, z, ts+7995) == 0 { return 1 } @@ -99189,7 +99208,7 @@ func Xsqlite3IsRowid(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:104977:20: * // a pointer to the SELECT statement. If pX is not a SELECT statement, // or if the SELECT statement needs to be manifested into a transient // table, then return NULL. -func isCandidateForInOpt(tls *libc.TLS, pX uintptr) uintptr { /* sqlite3.c:104992:15: */ +func isCandidateForInOpt(tls *libc.TLS, pX uintptr) uintptr { /* sqlite3.c:105005:15: */ var p uintptr var pSrc uintptr var pEList uintptr @@ -99247,7 +99266,7 @@ func isCandidateForInOpt(tls *libc.TLS, pX uintptr) uintptr { /* sqlite3.c:10499 // it contains any NULL entries. Cause the register at regHasNull to be set // to a non-NULL value if iCur contains no NULLs. Cause register regHasNull // to be set to NULL if iCur contains one or more NULL values. -func sqlite3SetHasNullFlag(tls *libc.TLS, v uintptr, iCur int32, regHasNull int32) { /* sqlite3.c:105037:13: */ +func sqlite3SetHasNullFlag(tls *libc.TLS, v uintptr, iCur int32, regHasNull int32) { /* sqlite3.c:105050:13: */ var addr1 int32 Xsqlite3VdbeAddOp2(tls, v, OP_Integer, 0, regHasNull) addr1 = Xsqlite3VdbeAddOp1(tls, v, OP_Rewind, iCur) @@ -99259,7 +99278,7 @@ func sqlite3SetHasNullFlag(tls *libc.TLS, v uintptr, iCur int32, regHasNull int3 // The argument is an IN operator with a list (not a subquery) on the // right-hand side. Return TRUE if that list is constant. -func sqlite3InRhsIsConstant(tls *libc.TLS, pIn uintptr) int32 { /* sqlite3.c:105054:12: */ +func sqlite3InRhsIsConstant(tls *libc.TLS, pIn uintptr) int32 { /* sqlite3.c:105067:12: */ var pLHS uintptr var res int32 @@ -99348,7 +99367,7 @@ func sqlite3InRhsIsConstant(tls *libc.TLS, pIn uintptr) int32 { /* sqlite3.c:105 // CREATE INDEX i1 ON t1(b, c, a); // // then aiMap[] is populated with {2, 0, 1}. -func Xsqlite3FindInIndex(tls *libc.TLS, pParse uintptr, pX uintptr, inFlags U32, prRhsHasNull uintptr, aiMap uintptr, piTab uintptr) int32 { /* sqlite3.c:105147:20: */ +func Xsqlite3FindInIndex(tls *libc.TLS, pParse uintptr, pX uintptr, inFlags U32, prRhsHasNull uintptr, aiMap uintptr, piTab uintptr) int32 { /* sqlite3.c:105160:20: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -99566,7 +99585,7 @@ func Xsqlite3FindInIndex(tls *libc.TLS, pParse uintptr, pX uintptr, inFlags U32, // // It is the responsibility of the caller to ensure that the returned // string is eventually freed using sqlite3DbFree(). -func exprINAffinity(tls *libc.TLS, pParse uintptr, pExpr uintptr) uintptr { /* sqlite3.c:105370:13: */ +func exprINAffinity(tls *libc.TLS, pParse uintptr, pExpr uintptr) uintptr { /* sqlite3.c:105383:13: */ var pLeft uintptr = (*Expr)(unsafe.Pointer(pExpr)).FpLeft var nVal int32 = Xsqlite3ExprVectorSize(tls, pLeft) var pSelect uintptr @@ -99598,7 +99617,7 @@ func exprINAffinity(tls *libc.TLS, pParse uintptr, pExpr uintptr) uintptr { /* s // message of the form: // // "sub-select returns N columns - expected M" -func Xsqlite3SubselectError(tls *libc.TLS, pParse uintptr, nActual int32, nExpect int32) { /* sqlite3.c:105402:21: */ +func Xsqlite3SubselectError(tls *libc.TLS, pParse uintptr, nActual int32, nExpect int32) { /* sqlite3.c:105415:21: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -99617,7 +99636,7 @@ func Xsqlite3SubselectError(tls *libc.TLS, pParse uintptr, nActual int32, nExpec // Or, if it is a regular scalar vector: // // "row value misused" -func Xsqlite3VectorErrorMsg(tls *libc.TLS, pParse uintptr, pExpr uintptr) { /* sqlite3.c:105421:21: */ +func Xsqlite3VectorErrorMsg(tls *libc.TLS, pParse uintptr, pExpr uintptr) { /* sqlite3.c:105434:21: */ if (*Expr)(unsafe.Pointer(pExpr)).Fflags&U32(EP_xIsSelect) != U32(0) { Xsqlite3SubselectError(tls, pParse, (*ExprList)(unsafe.Pointer((*Select)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pExpr + 32)))).FpEList)).FnExpr, 1) } else { @@ -99645,7 +99664,7 @@ func Xsqlite3VectorErrorMsg(tls *libc.TLS, pParse uintptr, pExpr uintptr) { /* s // if either column has NUMERIC or INTEGER affinity. If neither // 'x' nor the SELECT... statement are columns, then numeric affinity // is used. -func Xsqlite3CodeRhsOfIN(tls *libc.TLS, pParse uintptr, pExpr uintptr, iTab int32) { /* sqlite3.c:105455:21: */ +func Xsqlite3CodeRhsOfIN(tls *libc.TLS, pParse uintptr, pExpr uintptr, iTab int32) { /* sqlite3.c:105468:21: */ bp := tls.Alloc(65) defer tls.Free(65) @@ -99840,7 +99859,7 @@ func Xsqlite3CodeRhsOfIN(tls *libc.TLS, pParse uintptr, pExpr uintptr, iTab int3 // the result is stored in a contiguous array of registers and the // return value is the register of the left-most result column. // Return 0 if an error occurs. -func Xsqlite3CodeSubselect(tls *libc.TLS, pParse uintptr, pExpr uintptr) int32 { /* sqlite3.c:105650:20: */ +func Xsqlite3CodeSubselect(tls *libc.TLS, pParse uintptr, pExpr uintptr) int32 { /* sqlite3.c:105663:20: */ bp := tls.Alloc(64) defer tls.Free(64) @@ -99963,7 +99982,7 @@ func Xsqlite3CodeSubselect(tls *libc.TLS, pParse uintptr, pExpr uintptr) int32 { // sub-select on the RHS of the IN() operator has the same number of // columns as the vector on the LHS. Or, if the RHS of the IN() is not // a sub-query, that the LHS is a vector of size 1. -func Xsqlite3ExprCheckIN(tls *libc.TLS, pParse uintptr, pIn uintptr) int32 { /* sqlite3.c:105772:20: */ +func Xsqlite3ExprCheckIN(tls *libc.TLS, pParse uintptr, pIn uintptr) int32 { /* sqlite3.c:105785:20: */ var nVector int32 = Xsqlite3ExprVectorSize(tls, (*Expr)(unsafe.Pointer(pIn)).FpLeft) if (*Expr)(unsafe.Pointer(pIn)).Fflags&U32(EP_xIsSelect) != U32(0) && !(int32((*Sqlite3)(unsafe.Pointer((*Parse)(unsafe.Pointer(pParse)).Fdb)).FmallocFailed) != 0) { if nVector != (*ExprList)(unsafe.Pointer((*Select)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pIn + 32)))).FpEList)).FnExpr { @@ -100000,7 +100019,7 @@ func Xsqlite3ExprCheckIN(tls *libc.TLS, pParse uintptr, pIn uintptr) int32 { /* // // See the separate in-operator.md documentation file in the canonical // SQLite source tree for additional information. -func sqlite3ExprCodeIN(tls *libc.TLS, pParse uintptr, pExpr uintptr, destIfFalse int32, destIfNull int32) { /* sqlite3.c:105813:13: */ +func sqlite3ExprCodeIN(tls *libc.TLS, pParse uintptr, pExpr uintptr, destIfFalse int32, destIfNull int32) { /* sqlite3.c:105826:13: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -100381,7 +100400,7 @@ sqlite3ExprCodeIN_oom_error: // The z[] string will probably not be zero-terminated. But the // z[n] character is guaranteed to be something that does not look // like the continuation of the number. -func codeReal(tls *libc.TLS, v uintptr, z uintptr, negateFlag int32, iMem int32) { /* sqlite3.c:106071:13: */ +func codeReal(tls *libc.TLS, v uintptr, z uintptr, negateFlag int32, iMem int32) { /* sqlite3.c:106084:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -100401,7 +100420,7 @@ func codeReal(tls *libc.TLS, v uintptr, z uintptr, negateFlag int32, iMem int32) // text z[0..n-1] into register iMem. // // Expr.u.zToken is always UTF8 and zero-terminated. -func codeInteger(tls *libc.TLS, pParse uintptr, pExpr uintptr, negFlag int32, iMem int32) { /* sqlite3.c:106089:13: */ +func codeInteger(tls *libc.TLS, pParse uintptr, pExpr uintptr, negFlag int32, iMem int32) { /* sqlite3.c:106102:13: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -100447,7 +100466,7 @@ func codeInteger(tls *libc.TLS, pParse uintptr, pExpr uintptr, negFlag int32, iM // Generate code that will load into register regOut a value that is // appropriate for the iIdxCol-th column of index pIdx. -func Xsqlite3ExprCodeLoadIndexColumn(tls *libc.TLS, pParse uintptr, pIdx uintptr, iTabCur int32, iIdxCol int32, regOut int32) { /* sqlite3.c:106127:21: */ +func Xsqlite3ExprCodeLoadIndexColumn(tls *libc.TLS, pParse uintptr, pIdx uintptr, iTabCur int32, iIdxCol int32, regOut int32) { /* sqlite3.c:106140:21: */ var iTabCol I16 = *(*I16)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FaiColumn + uintptr(iIdxCol)*2)) if int32(iTabCol) == -2 { @@ -100462,7 +100481,7 @@ func Xsqlite3ExprCodeLoadIndexColumn(tls *libc.TLS, pParse uintptr, pIdx uintptr // Generate code that will compute the value of generated column pCol // and store the result in register regOut -func Xsqlite3ExprCodeGeneratedColumn(tls *libc.TLS, pParse uintptr, pTab uintptr, pCol uintptr, regOut int32) { /* sqlite3.c:106152:21: */ +func Xsqlite3ExprCodeGeneratedColumn(tls *libc.TLS, pParse uintptr, pTab uintptr, pCol uintptr, regOut int32) { /* sqlite3.c:106165:21: */ var iAddr int32 var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe @@ -100481,7 +100500,7 @@ func Xsqlite3ExprCodeGeneratedColumn(tls *libc.TLS, pParse uintptr, pTab uintptr } // Generate code to extract the value of the iCol-th column of a table. -func Xsqlite3ExprCodeGetColumnOfTable(tls *libc.TLS, v uintptr, pTab uintptr, iTabCur int32, iCol int32, regOut int32) { /* sqlite3.c:106178:21: */ +func Xsqlite3ExprCodeGetColumnOfTable(tls *libc.TLS, v uintptr, pTab uintptr, iTabCur int32, iCol int32, regOut int32) { /* sqlite3.c:106191:21: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -100532,7 +100551,7 @@ func Xsqlite3ExprCodeGetColumnOfTable(tls *libc.TLS, v uintptr, pTab uintptr, iT // // There must be an open cursor to pTab in iTable when this routine // is called. If iColumn<0 then code is generated that extracts the rowid. -func Xsqlite3ExprCodeGetColumn(tls *libc.TLS, pParse uintptr, pTab uintptr, iColumn int32, iTable int32, iReg int32, p5 U8) int32 { /* sqlite3.c:106236:20: */ +func Xsqlite3ExprCodeGetColumn(tls *libc.TLS, pParse uintptr, pTab uintptr, iColumn int32, iTable int32, iReg int32, p5 U8) int32 { /* sqlite3.c:106249:20: */ Xsqlite3ExprCodeGetColumnOfTable(tls, (*Parse)(unsafe.Pointer(pParse)).FpVdbe, pTab, iTable, iColumn, iReg) if p5 != 0 { @@ -100546,14 +100565,14 @@ func Xsqlite3ExprCodeGetColumn(tls *libc.TLS, pParse uintptr, pTab uintptr, iCol // Generate code to move content from registers iFrom...iFrom+nReg-1 // over to iTo..iTo+nReg-1. -func Xsqlite3ExprCodeMove(tls *libc.TLS, pParse uintptr, iFrom int32, iTo int32, nReg int32) { /* sqlite3.c:106257:21: */ +func Xsqlite3ExprCodeMove(tls *libc.TLS, pParse uintptr, iFrom int32, iTo int32, nReg int32) { /* sqlite3.c:106270:21: */ Xsqlite3VdbeAddOp3(tls, (*Parse)(unsafe.Pointer(pParse)).FpVdbe, OP_Move, iFrom, iTo, nReg) } // Convert a scalar expression node to a TK_REGISTER referencing // register iReg. The caller must ensure that iReg already contains // the correct value for the expression. -func exprToRegister(tls *libc.TLS, pExpr uintptr, iReg int32) { /* sqlite3.c:106266:13: */ +func exprToRegister(tls *libc.TLS, pExpr uintptr, iReg int32) { /* sqlite3.c:106279:13: */ var p uintptr = Xsqlite3ExprSkipCollateAndLikely(tls, pExpr) if p == uintptr(0) { return @@ -100572,7 +100591,7 @@ func exprToRegister(tls *libc.TLS, pExpr uintptr, iReg int32) { /* sqlite3.c:106 // that register number into *piFreeable. If the returned result register // is not a temporary or if the expression is a vector set *piFreeable // to 0. -func exprCodeVector(tls *libc.TLS, pParse uintptr, p uintptr, piFreeable uintptr) int32 { /* sqlite3.c:106285:12: */ +func exprCodeVector(tls *libc.TLS, pParse uintptr, p uintptr, piFreeable uintptr) int32 { /* sqlite3.c:106298:12: */ var iResult int32 var nResult int32 = Xsqlite3ExprVectorSize(tls, p) if nResult == 1 { @@ -100596,7 +100615,7 @@ func exprCodeVector(tls *libc.TLS, pParse uintptr, p uintptr, piFreeable uintptr // If the last opcode is a OP_Copy, then set the do-not-merge flag (p5) // so that a subsequent copy will not be merged into this one. -func setDoNotMergeFlagOnCopy(tls *libc.TLS, v uintptr) { /* sqlite3.c:106315:13: */ +func setDoNotMergeFlagOnCopy(tls *libc.TLS, v uintptr) { /* sqlite3.c:106328:13: */ if int32((*VdbeOp)(unsafe.Pointer(Xsqlite3VdbeGetOp(tls, v, -1))).Fopcode) == OP_Copy { Xsqlite3VdbeChangeP5(tls, v, uint16(1)) // Tag trailing OP_Copy as not mergable } @@ -100604,7 +100623,7 @@ func setDoNotMergeFlagOnCopy(tls *libc.TLS, v uintptr) { /* sqlite3.c:106315:13: // Generate code to implement special SQL functions that are implemented // in-line rather than by using the usual callbacks. -func exprCodeInlineFunction(tls *libc.TLS, pParse uintptr, pFarg uintptr, iFuncId int32, target int32) int32 { /* sqlite3.c:106325:12: */ +func exprCodeInlineFunction(tls *libc.TLS, pParse uintptr, pFarg uintptr, iFuncId int32, target int32) int32 { /* sqlite3.c:106338:12: */ bp := tls.Alloc(112) defer tls.Free(112) @@ -100729,7 +100748,7 @@ func exprCodeInlineFunction(tls *libc.TLS, pParse uintptr, pFarg uintptr, iFuncI // register if it is convenient to do so. The calling function // must check the return code and move the results to the desired // register. -func Xsqlite3ExprCodeTarget(tls *libc.TLS, pParse uintptr, pExpr uintptr, target int32) int32 { /* sqlite3.c:106441:20: */ +func Xsqlite3ExprCodeTarget(tls *libc.TLS, pParse uintptr, pExpr uintptr, target int32) int32 { /* sqlite3.c:106454:20: */ bp := tls.Alloc(192) defer tls.Free(192) @@ -101800,7 +101819,7 @@ __3: return inReg } -var zAff = *(*[8]int8)(unsafe.Pointer(ts + 8414)) /* sqlite3.c:106508:29 */ +var zAff = *(*[8]int8)(unsafe.Pointer(ts + 8414)) /* sqlite3.c:106521:29 */ // Generate code that will evaluate expression pExpr just one time // per prepared statement execution. @@ -101817,7 +101836,7 @@ var zAff = *(*[8]int8)(unsafe.Pointer(ts + 8414)) /* sqlite3.c:106508:29 */ // code to the same register, if they do not contain function calls and hence // are factored out into the initialization section at the end of the // prepared statement. -func Xsqlite3ExprCodeRunJustOnce(tls *libc.TLS, pParse uintptr, pExpr uintptr, regDest int32) int32 { /* sqlite3.c:107215:20: */ +func Xsqlite3ExprCodeRunJustOnce(tls *libc.TLS, pParse uintptr, pExpr uintptr, regDest int32) int32 { /* sqlite3.c:107228:20: */ var p uintptr p = (*Parse)(unsafe.Pointer(pParse)).FpConstExpr @@ -101886,7 +101905,7 @@ func Xsqlite3ExprCodeRunJustOnce(tls *libc.TLS, pParse uintptr, pExpr uintptr, r // If pExpr is a constant, then this routine might generate this // code to fill the register in the initialization section of the // VDBE program, in order to factor it out of the evaluation loop. -func Xsqlite3ExprCodeTemp(tls *libc.TLS, pParse uintptr, pExpr uintptr, pReg uintptr) int32 { /* sqlite3.c:107272:20: */ +func Xsqlite3ExprCodeTemp(tls *libc.TLS, pParse uintptr, pExpr uintptr, pReg uintptr) int32 { /* sqlite3.c:107285:20: */ var r2 int32 pExpr = Xsqlite3ExprSkipCollateAndLikely(tls, pExpr) if (*Parse)(unsafe.Pointer(pParse)).FokConstFactor != 0 && @@ -101911,7 +101930,7 @@ func Xsqlite3ExprCodeTemp(tls *libc.TLS, pParse uintptr, pExpr uintptr, pReg uin // Generate code that will evaluate expression pExpr and store the // results in register target. The results are guaranteed to appear // in register target. -func Xsqlite3ExprCode(tls *libc.TLS, pParse uintptr, pExpr uintptr, target int32) { /* sqlite3.c:107300:21: */ +func Xsqlite3ExprCode(tls *libc.TLS, pParse uintptr, pExpr uintptr, target int32) { /* sqlite3.c:107313:21: */ var inReg int32 if (*Parse)(unsafe.Pointer(pParse)).FpVdbe == uintptr(0) { @@ -101932,7 +101951,7 @@ func Xsqlite3ExprCode(tls *libc.TLS, pParse uintptr, pExpr uintptr, target int32 // Make a transient copy of expression pExpr and then code it using // sqlite3ExprCode(). This routine works just like sqlite3ExprCode() // except that the input expression is guaranteed to be unchanged. -func Xsqlite3ExprCodeCopy(tls *libc.TLS, pParse uintptr, pExpr uintptr, target int32) { /* sqlite3.c:107324:21: */ +func Xsqlite3ExprCodeCopy(tls *libc.TLS, pParse uintptr, pExpr uintptr, target int32) { /* sqlite3.c:107337:21: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb pExpr = Xsqlite3ExprDup(tls, db, pExpr, 0) if !(int32((*Sqlite3)(unsafe.Pointer(db)).FmallocFailed) != 0) { @@ -101945,7 +101964,7 @@ func Xsqlite3ExprCodeCopy(tls *libc.TLS, pParse uintptr, pExpr uintptr, target i // results in register target. The results are guaranteed to appear // in register target. If the expression is constant, then this routine // might choose to code the expression at initialization time. -func Xsqlite3ExprCodeFactorable(tls *libc.TLS, pParse uintptr, pExpr uintptr, target int32) { /* sqlite3.c:107337:21: */ +func Xsqlite3ExprCodeFactorable(tls *libc.TLS, pParse uintptr, pExpr uintptr, target int32) { /* sqlite3.c:107350:21: */ if (*Parse)(unsafe.Pointer(pParse)).FokConstFactor != 0 && Xsqlite3ExprIsConstantNotJoin(tls, pExpr) != 0 { Xsqlite3ExprCodeRunJustOnce(tls, pParse, pExpr, target) } else { @@ -101971,7 +101990,7 @@ func Xsqlite3ExprCodeFactorable(tls *libc.TLS, pParse uintptr, pExpr uintptr, ta // in registers at srcReg, and so the value can be copied from there. // If SQLITE_ECEL_OMITREF is also set, then the values with u.x.iOrderByCol>0 // are simply omitted rather than being copied from srcReg. -func Xsqlite3ExprCodeExprList(tls *libc.TLS, pParse uintptr, pList uintptr, target int32, srcReg int32, flags U8) int32 { /* sqlite3.c:107365:20: */ +func Xsqlite3ExprCodeExprList(tls *libc.TLS, pParse uintptr, pList uintptr, target int32, srcReg int32, flags U8) int32 { /* sqlite3.c:107378:20: */ var pItem uintptr var i int32 var j int32 @@ -102053,7 +102072,7 @@ __3: // sqlite3ExprIfFalse: Jump to dest if false // // The jumpIfNull parameter is ignored if xJumpIf is NULL. -func exprCodeBetween(tls *libc.TLS, pParse uintptr, pExpr uintptr, dest int32, xJump uintptr, jumpIfNull int32) { /* sqlite3.c:107440:13: */ +func exprCodeBetween(tls *libc.TLS, pParse uintptr, pExpr uintptr, dest int32, xJump uintptr, jumpIfNull int32) { /* sqlite3.c:107453:13: */ bp := tls.Alloc(220) defer tls.Free(220) @@ -102116,7 +102135,7 @@ func exprCodeBetween(tls *libc.TLS, pParse uintptr, pExpr uintptr, dest int32, x // operation. Special comments in vdbe.c and the mkopcodeh.awk script in // the make process cause these values to align. Assert()s in the code // below verify that the numbers are aligned correctly. -func Xsqlite3ExprIfTrue(tls *libc.TLS, pParse uintptr, pExpr uintptr, dest int32, jumpIfNull int32) { /* sqlite3.c:107512:21: */ +func Xsqlite3ExprIfTrue(tls *libc.TLS, pParse uintptr, pExpr uintptr, dest int32, jumpIfNull int32) { /* sqlite3.c:107525:21: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -102348,7 +102367,7 @@ __3: // If the expression evaluates to NULL (neither true nor false) then // jump if jumpIfNull is SQLITE_JUMPIFNULL or fall through if jumpIfNull // is 0. -func Xsqlite3ExprIfFalse(tls *libc.TLS, pParse uintptr, pExpr uintptr, dest int32, jumpIfNull int32) { /* sqlite3.c:107654:21: */ +func Xsqlite3ExprIfFalse(tls *libc.TLS, pParse uintptr, pExpr uintptr, dest int32, jumpIfNull int32) { /* sqlite3.c:107667:21: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -102598,7 +102617,7 @@ __3: // Like sqlite3ExprIfFalse() except that a copy is made of pExpr before // code generation, and that copy is deleted after code generation. This // ensures that the original pExpr is unchanged. -func Xsqlite3ExprIfFalseDup(tls *libc.TLS, pParse uintptr, pExpr uintptr, dest int32, jumpIfNull int32) { /* sqlite3.c:107826:21: */ +func Xsqlite3ExprIfFalseDup(tls *libc.TLS, pParse uintptr, pExpr uintptr, dest int32, jumpIfNull int32) { /* sqlite3.c:107839:21: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb var pCopy uintptr = Xsqlite3ExprDup(tls, db, pExpr, 0) if int32((*Sqlite3)(unsafe.Pointer(db)).FmallocFailed) == 0 { @@ -102618,7 +102637,7 @@ func Xsqlite3ExprIfFalseDup(tls *libc.TLS, pParse uintptr, pExpr uintptr, dest i // same as that currently bound to variable pVar, non-zero is returned. // Otherwise, if the values are not the same or if pExpr is not a simple // SQL value, zero is returned. -func exprCompareVariable(tls *libc.TLS, pParse uintptr, pVar uintptr, pExpr uintptr) int32 { /* sqlite3.c:107848:12: */ +func exprCompareVariable(tls *libc.TLS, pParse uintptr, pVar uintptr, pExpr uintptr) int32 { /* sqlite3.c:107861:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -102672,7 +102691,7 @@ func exprCompareVariable(tls *libc.TLS, pParse uintptr, pVar uintptr, pExpr uint // If pParse is NULL (the normal case) then any TK_VARIABLE term in // Argument pParse should normally be NULL. If it is not NULL and pA or // pB causes a return value of 2. -func Xsqlite3ExprCompare(tls *libc.TLS, pParse uintptr, pA uintptr, pB uintptr, iTab int32) int32 { /* sqlite3.c:107904:20: */ +func Xsqlite3ExprCompare(tls *libc.TLS, pParse uintptr, pA uintptr, pB uintptr, iTab int32) int32 { /* sqlite3.c:107917:20: */ var combinedFlags U32 if pA == uintptr(0) || pB == uintptr(0) { if pB == pA { @@ -102776,7 +102795,7 @@ func Xsqlite3ExprCompare(tls *libc.TLS, pParse uintptr, pA uintptr, pB uintptr, // // Two NULL pointers are considered to be the same. But a NULL pointer // always differs from a non-NULL pointer. -func Xsqlite3ExprListCompare(tls *libc.TLS, pA uintptr, pB uintptr, iTab int32) int32 { /* sqlite3.c:108000:20: */ +func Xsqlite3ExprListCompare(tls *libc.TLS, pA uintptr, pB uintptr, iTab int32) int32 { /* sqlite3.c:108013:20: */ var i int32 if pA == uintptr(0) && pB == uintptr(0) { return 0 @@ -102803,7 +102822,7 @@ func Xsqlite3ExprListCompare(tls *libc.TLS, pA uintptr, pB uintptr, iTab int32) // Like sqlite3ExprCompare() except COLLATE operators at the top-level // are ignored. -func Xsqlite3ExprCompareSkip(tls *libc.TLS, pA uintptr, pB uintptr, iTab int32) int32 { /* sqlite3.c:108019:20: */ +func Xsqlite3ExprCompareSkip(tls *libc.TLS, pA uintptr, pB uintptr, iTab int32) int32 { /* sqlite3.c:108032:20: */ return Xsqlite3ExprCompare(tls, uintptr(0), Xsqlite3ExprSkipCollateAndLikely(tls, pA), Xsqlite3ExprSkipCollateAndLikely(tls, pB), @@ -102814,7 +102833,7 @@ func Xsqlite3ExprCompareSkip(tls *libc.TLS, pA uintptr, pB uintptr, iTab int32) // // Or if seenNot is true, return non-zero if Expr p can only be // non-NULL if pNN is not NULL -func exprImpliesNotNull(tls *libc.TLS, pParse uintptr, p uintptr, pNN uintptr, iTab int32, seenNot int32) int32 { /* sqlite3.c:108032:12: */ +func exprImpliesNotNull(tls *libc.TLS, pParse uintptr, p uintptr, pNN uintptr, iTab int32, seenNot int32) int32 { /* sqlite3.c:108045:12: */ if Xsqlite3ExprCompare(tls, pParse, p, pNN, iTab) == 0 { return libc.Bool32(int32((*Expr)(unsafe.Pointer(pNN)).Fop) != TK_NULL) @@ -102942,7 +102961,7 @@ func exprImpliesNotNull(tls *libc.TLS, pParse uintptr, p uintptr, pNN uintptr, i // When in doubt, return false. Returning true might give a performance // improvement. Returning false might cause a performance reduction, but // it will always give the correct answer and is hence always safe. -func Xsqlite3ExprImpliesExpr(tls *libc.TLS, pParse uintptr, pE1 uintptr, pE2 uintptr, iTab int32) int32 { /* sqlite3.c:108129:20: */ +func Xsqlite3ExprImpliesExpr(tls *libc.TLS, pParse uintptr, pE1 uintptr, pE2 uintptr, iTab int32) int32 { /* sqlite3.c:108142:20: */ if Xsqlite3ExprCompare(tls, pParse, pE1, pE2, iTab) == 0 { return 1 } @@ -102965,7 +102984,7 @@ func Xsqlite3ExprImpliesExpr(tls *libc.TLS, pParse uintptr, pE1 uintptr, pE2 uin // This routine controls an optimization. False positives (setting // pWalker->eCode to 1 when it should not be) are deadly, but false-negatives // (never setting pWalker->eCode) is a harmless missed optimization. -func impliesNotNullRow(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:108161:12: */ +func impliesNotNullRow(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:108174:12: */ if (*Expr)(unsafe.Pointer(pExpr)).Fflags&U32(EP_FromJoin) != U32(0) { return WRC_Prune @@ -103075,7 +103094,7 @@ func impliesNotNullRow(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* // clause requires that some column of the right table of the LEFT JOIN // be non-NULL, then the LEFT JOIN can be safely converted into an // ordinary join. -func Xsqlite3ExprImpliesNonNullRow(tls *libc.TLS, p uintptr, iTab int32) int32 { /* sqlite3.c:108270:20: */ +func Xsqlite3ExprImpliesNonNullRow(tls *libc.TLS, p uintptr, iTab int32) int32 { /* sqlite3.c:108283:20: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -103109,7 +103128,7 @@ func Xsqlite3ExprImpliesNonNullRow(tls *libc.TLS, p uintptr, iTab int32) int32 { // Check to see if there are references to columns in table // pWalker->u.pIdxCover->iCur can be satisfied using the index // pWalker->u.pIdxCover->pIdx. -func exprIdxCover(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:108308:12: */ +func exprIdxCover(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:108321:12: */ if int32((*Expr)(unsafe.Pointer(pExpr)).Fop) == TK_COLUMN && (*Expr)(unsafe.Pointer(pExpr)).FiTable == (*IdxCover)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pWalker + 40)))).FiCur && int32(Xsqlite3TableColumnToIndex(tls, (*IdxCover)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pWalker + 40)))).FpIdx, (*Expr)(unsafe.Pointer(pExpr)).FiColumn)) < 0 { @@ -103127,7 +103146,7 @@ func exprIdxCover(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqli // An index covering an expression means that the expression can be // evaluated using only the index and without having to lookup the // corresponding table entry. -func Xsqlite3ExprCoveredByIndex(tls *libc.TLS, pExpr uintptr, iCur int32, pIdx uintptr) int32 { /* sqlite3.c:108329:20: */ +func Xsqlite3ExprCoveredByIndex(tls *libc.TLS, pExpr uintptr, iCur int32, pIdx uintptr) int32 { /* sqlite3.c:108342:20: */ bp := tls.Alloc(64) defer tls.Free(64) @@ -103152,7 +103171,7 @@ func Xsqlite3ExprCoveredByIndex(tls *libc.TLS, pExpr uintptr, iCur int32, pIdx u // entries for that subquery to the exclude list. // // When leaving the subquery, remove those entries from the exclude list. -func selectRefEnter(tls *libc.TLS, pWalker uintptr, pSelect uintptr) int32 { /* sqlite3.c:108364:12: */ +func selectRefEnter(tls *libc.TLS, pWalker uintptr, pSelect uintptr) int32 { /* sqlite3.c:108377:12: */ var p uintptr = *(*uintptr)(unsafe.Pointer(pWalker + 40)) var pSrc uintptr = (*Select)(unsafe.Pointer(pSelect)).FpSrc var i I64 @@ -103190,7 +103209,7 @@ __3: return WRC_Continue } -func selectRefLeave(tls *libc.TLS, pWalker uintptr, pSelect uintptr) { /* sqlite3.c:108384:13: */ +func selectRefLeave(tls *libc.TLS, pWalker uintptr, pSelect uintptr) { /* sqlite3.c:108397:13: */ var p uintptr = *(*uintptr)(unsafe.Pointer(pWalker + 40)) var pSrc uintptr = (*Select)(unsafe.Pointer(pSelect)).FpSrc if (*RefSrcList)(unsafe.Pointer(p)).FnExclude != 0 { @@ -103206,7 +103225,7 @@ func selectRefLeave(tls *libc.TLS, pWalker uintptr, pSelect uintptr) { /* sqlite // // Set the 0x02 bit of pWalker->eCode if there is a reference to a // table is in neither RefSrcList.pRef nor RefSrcList.aiExclude. -func exprRefToSrcList(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:108401:12: */ +func exprRefToSrcList(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:108414:12: */ if int32((*Expr)(unsafe.Pointer(pExpr)).Fop) == TK_COLUMN || int32((*Expr)(unsafe.Pointer(pExpr)).Fop) == TK_AGG_COLUMN { var i int32 @@ -103246,7 +103265,7 @@ func exprRefToSrcList(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* // // As currently used, pExpr is always an aggregate function call. That // fact is exploited for efficiency. -func Xsqlite3ReferencesSrcList(tls *libc.TLS, pParse uintptr, pExpr uintptr, pSrcList uintptr) int32 { /* sqlite3.c:108438:20: */ +func Xsqlite3ReferencesSrcList(tls *libc.TLS, pParse uintptr, pExpr uintptr, pSrcList uintptr) int32 { /* sqlite3.c:108451:20: */ bp := tls.Alloc(80) defer tls.Free(80) @@ -103295,7 +103314,7 @@ func Xsqlite3ReferencesSrcList(tls *libc.TLS, pParse uintptr, pExpr uintptr, pSr // This will cause the expression to be deleted automatically when the // Parse object is destroyed, but the zero register number means that it // will not generate any code in the preamble. -func agginfoPersistExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:108480:12: */ +func agginfoPersistExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:108493:12: */ if !((*Expr)(unsafe.Pointer(pExpr)).Fflags&U32(EP_TokenOnly|EP_Reduced) != U32(0)) && (*Expr)(unsafe.Pointer(pExpr)).FpAggInfo != uintptr(0) { var pAggInfo uintptr = (*Expr)(unsafe.Pointer(pExpr)).FpAggInfo @@ -103328,7 +103347,7 @@ func agginfoPersistExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { // Initialize a Walker object so that will persist AggInfo entries referenced // by the tree that is walked. -func Xsqlite3AggInfoPersistWalkerInit(tls *libc.TLS, pWalker uintptr, pParse uintptr) { /* sqlite3.c:108516:21: */ +func Xsqlite3AggInfoPersistWalkerInit(tls *libc.TLS, pWalker uintptr, pParse uintptr) { /* sqlite3.c:108529:21: */ libc.X__builtin___memset_chk(tls, pWalker, 0, uint64(unsafe.Sizeof(Walker{})), libc.X__builtin_object_size(tls, pWalker, 0)) (*Walker)(unsafe.Pointer(pWalker)).FpParse = pParse (*Walker)(unsafe.Pointer(pWalker)).FxExprCallback = *(*uintptr)(unsafe.Pointer(&struct { @@ -103341,7 +103360,7 @@ func Xsqlite3AggInfoPersistWalkerInit(tls *libc.TLS, pWalker uintptr, pParse uin // Add a new element to the pAggInfo->aCol[] array. Return the index of // the new element. Return a negative number if malloc fails. -func addAggInfoColumn(tls *libc.TLS, db uintptr, pInfo uintptr) int32 { /* sqlite3.c:108527:12: */ +func addAggInfoColumn(tls *libc.TLS, db uintptr, pInfo uintptr) int32 { /* sqlite3.c:108540:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -103358,7 +103377,7 @@ func addAggInfoColumn(tls *libc.TLS, db uintptr, pInfo uintptr) int32 { /* sqlit // Add a new element to the pAggInfo->aFunc[] array. Return the index of // the new element. Return a negative number if malloc fails. -func addAggInfoFunc(tls *libc.TLS, db uintptr, pInfo uintptr) int32 { /* sqlite3.c:108543:12: */ +func addAggInfoFunc(tls *libc.TLS, db uintptr, pInfo uintptr) int32 { /* sqlite3.c:108556:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -103376,7 +103395,7 @@ func addAggInfoFunc(tls *libc.TLS, db uintptr, pInfo uintptr) int32 { /* sqlite3 // This is the xExprCallback for a tree walker. It is used to // implement sqlite3ExprAnalyzeAggregates(). See sqlite3ExprAnalyzeAggregates // for additional information. -func analyzeAggregate(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:108560:12: */ +func analyzeAggregate(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:108573:12: */ var i int32 var pNC uintptr = *(*uintptr)(unsafe.Pointer(pWalker + 40)) var pParse uintptr = (*NameContext)(unsafe.Pointer(pNC)).FpParse @@ -103567,7 +103586,7 @@ func analyzeAggregate(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* // // This routine should only be called after the expression has been // analyzed by sqlite3ResolveExprNames(). -func Xsqlite3ExprAnalyzeAggregates(tls *libc.TLS, pNC uintptr, pExpr uintptr) { /* sqlite3.c:108698:21: */ +func Xsqlite3ExprAnalyzeAggregates(tls *libc.TLS, pNC uintptr, pExpr uintptr) { /* sqlite3.c:108711:21: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -103593,7 +103612,7 @@ func Xsqlite3ExprAnalyzeAggregates(tls *libc.TLS, pNC uintptr, pExpr uintptr) { // expression list. Return the number of errors. // // If an error is found, the analysis is cut short. -func Xsqlite3ExprAnalyzeAggList(tls *libc.TLS, pNC uintptr, pList uintptr) { /* sqlite3.c:108716:21: */ +func Xsqlite3ExprAnalyzeAggList(tls *libc.TLS, pNC uintptr, pList uintptr) { /* sqlite3.c:108729:21: */ var pItem uintptr var i int32 if pList != 0 { @@ -103618,7 +103637,7 @@ func Xsqlite3ExprAnalyzeAggList(tls *libc.TLS, pNC uintptr, pList uintptr) { /* } // Allocate a single new register for use to hold some intermediate result. -func Xsqlite3GetTempReg(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:108729:20: */ +func Xsqlite3GetTempReg(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:108742:20: */ if int32((*Parse)(unsafe.Pointer(pParse)).FnTempReg) == 0 { return libc.PreIncInt32(&(*Parse)(unsafe.Pointer(pParse)).FnMem, 1) } @@ -103627,7 +103646,7 @@ func Xsqlite3GetTempReg(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:1087 // Deallocate a register, making available for reuse for some other // purpose. -func Xsqlite3ReleaseTempReg(tls *libc.TLS, pParse uintptr, iReg int32) { /* sqlite3.c:108740:21: */ +func Xsqlite3ReleaseTempReg(tls *libc.TLS, pParse uintptr, iReg int32) { /* sqlite3.c:108753:21: */ if iReg != 0 { if int32((*Parse)(unsafe.Pointer(pParse)).FnTempReg) < int32(uint64(unsafe.Sizeof([8]int32{}))/uint64(unsafe.Sizeof(int32(0)))) { @@ -103637,7 +103656,7 @@ func Xsqlite3ReleaseTempReg(tls *libc.TLS, pParse uintptr, iReg int32) { /* sqli } // Allocate or deallocate a block of nReg consecutive registers. -func Xsqlite3GetTempRange(tls *libc.TLS, pParse uintptr, nReg int32) int32 { /* sqlite3.c:108752:20: */ +func Xsqlite3GetTempRange(tls *libc.TLS, pParse uintptr, nReg int32) int32 { /* sqlite3.c:108765:20: */ var i int32 var n int32 if nReg == 1 { @@ -103655,7 +103674,7 @@ func Xsqlite3GetTempRange(tls *libc.TLS, pParse uintptr, nReg int32) int32 { /* return i } -func Xsqlite3ReleaseTempRange(tls *libc.TLS, pParse uintptr, iReg int32, nReg int32) { /* sqlite3.c:108766:21: */ +func Xsqlite3ReleaseTempRange(tls *libc.TLS, pParse uintptr, iReg int32, nReg int32) { /* sqlite3.c:108779:21: */ if nReg == 1 { Xsqlite3ReleaseTempReg(tls, pParse, iReg) return @@ -103673,7 +103692,7 @@ func Xsqlite3ReleaseTempRange(tls *libc.TLS, pParse uintptr, iReg int32, nReg in // that might be invoked from other parts of the code, to ensure that // the sub/co-routine does not use registers in common with the code that // invokes the sub/co-routine. -func Xsqlite3ClearTempRegCache(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:108786:21: */ +func Xsqlite3ClearTempRegCache(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:108799:21: */ (*Parse)(unsafe.Pointer(pParse)).FnTempReg = U8(0) (*Parse)(unsafe.Pointer(pParse)).FnRangeReg = 0 } @@ -103707,7 +103726,7 @@ func Xsqlite3ClearTempRegCache(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:108 // in pParse->zErr (system tables may not be altered) and returns non-zero. // // Or, if zName is not a system table, zero is returned. -func isAlterableTable(tls *libc.TLS, pParse uintptr, pTab uintptr) int32 { /* sqlite3.c:108846:12: */ +func isAlterableTable(tls *libc.TLS, pParse uintptr, pTab uintptr) int32 { /* sqlite3.c:108859:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -103726,7 +103745,7 @@ func isAlterableTable(tls *libc.TLS, pParse uintptr, pTab uintptr) int32 { /* sq // called at the end of the generation of an ALTER TABLE ... RENAME ... // statement to ensure that the operation has not rendered any schema // objects unusable. -func renameTestSchema(tls *libc.TLS, pParse uintptr, zDb uintptr, bTemp int32, zWhen uintptr, bNoDQS int32) { /* sqlite3.c:108868:13: */ +func renameTestSchema(tls *libc.TLS, pParse uintptr, zDb uintptr, bTemp int32, zWhen uintptr, bNoDQS int32) { /* sqlite3.c:108881:13: */ bp := tls.Alloc(64) defer tls.Free(64) @@ -103750,7 +103769,7 @@ func renameTestSchema(tls *libc.TLS, pParse uintptr, zDb uintptr, bTemp int32, z // database zDb with their single-quoted equivalents. If argument bTemp is // not true, similarly update all SQL statements in the sqlite_schema table // of the temp db. -func renameFixQuotes(tls *libc.TLS, pParse uintptr, zDb uintptr, bTemp int32) { /* sqlite3.c:108905:13: */ +func renameFixQuotes(tls *libc.TLS, pParse uintptr, zDb uintptr, bTemp int32) { /* sqlite3.c:108918:13: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -103766,7 +103785,7 @@ func renameFixQuotes(tls *libc.TLS, pParse uintptr, zDb uintptr, bTemp int32) { // Generate code to reload the schema for database iDb. And, if iDb!=1, for // the temp database as well. -func renameReloadSchema(tls *libc.TLS, pParse uintptr, iDb int32, p5 U16) { /* sqlite3.c:108926:13: */ +func renameReloadSchema(tls *libc.TLS, pParse uintptr, iDb int32, p5 U16) { /* sqlite3.c:108939:13: */ var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe if v != 0 { Xsqlite3ChangeCookie(tls, pParse, iDb) @@ -103779,7 +103798,7 @@ func renameReloadSchema(tls *libc.TLS, pParse uintptr, iDb int32, p5 U16) { /* s // Generate code to implement the "ALTER TABLE xxx RENAME TO yyy" // command. -func Xsqlite3AlterRenameTable(tls *libc.TLS, pParse uintptr, pSrc uintptr, pName uintptr) { /* sqlite3.c:108939:21: */ +func Xsqlite3AlterRenameTable(tls *libc.TLS, pParse uintptr, pSrc uintptr, pName uintptr) { /* sqlite3.c:108952:21: */ bp := tls.Alloc(184) defer tls.Free(184) @@ -103964,7 +103983,7 @@ exit_rename_table: // Write code that will raise an error if the table described by // zDb and zTab is not empty. -func sqlite3ErrorIfNotEmpty(tls *libc.TLS, pParse uintptr, zDb uintptr, zTab uintptr, zErr uintptr) { /* sqlite3.c:109108:13: */ +func sqlite3ErrorIfNotEmpty(tls *libc.TLS, pParse uintptr, zDb uintptr, zTab uintptr, zErr uintptr) { /* sqlite3.c:109121:13: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -103979,7 +103998,7 @@ func sqlite3ErrorIfNotEmpty(tls *libc.TLS, pParse uintptr, zDb uintptr, zTab uin // // The Table structure pParse->pNewTable was extended to include // the new column during parsing. -func Xsqlite3AlterFinishAddColumn(tls *libc.TLS, pParse uintptr, pColDef uintptr) { /* sqlite3.c:109128:21: */ +func Xsqlite3AlterFinishAddColumn(tls *libc.TLS, pParse uintptr, pColDef uintptr) { /* sqlite3.c:109141:21: */ bp := tls.Alloc(64) defer tls.Free(64) @@ -104125,7 +104144,7 @@ func Xsqlite3AlterFinishAddColumn(tls *libc.TLS, pParse uintptr, pColDef uintptr // // Routine sqlite3AlterFinishAddColumn() will be called to complete // coding the "ALTER TABLE ... ADD" statement. -func Xsqlite3AlterBeginAddColumn(tls *libc.TLS, pParse uintptr, pSrc uintptr) { /* sqlite3.c:109293:21: */ +func Xsqlite3AlterBeginAddColumn(tls *libc.TLS, pParse uintptr, pSrc uintptr) { /* sqlite3.c:109306:21: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -104242,7 +104261,7 @@ exit_begin_add_column: // it loads an error message into pParse and returns non-zero. // // Or, if pTab is not a view or virtual table, zero is returned. -func isRealTable(tls *libc.TLS, pParse uintptr, pTab uintptr, bDrop int32) int32 { /* sqlite3.c:109376:12: */ +func isRealTable(tls *libc.TLS, pParse uintptr, pTab uintptr, bDrop int32) int32 { /* sqlite3.c:109389:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -104270,7 +104289,7 @@ func isRealTable(tls *libc.TLS, pParse uintptr, pTab uintptr, bDrop int32) int32 // Handles the following parser reduction: // // cmd ::= ALTER TABLE pSrc RENAME COLUMN pOld TO pNew -func Xsqlite3AlterRenameColumn(tls *libc.TLS, pParse uintptr, pSrc uintptr, pOld uintptr, pNew uintptr) { /* sqlite3.c:109406:21: */ +func Xsqlite3AlterRenameColumn(tls *libc.TLS, pParse uintptr, pSrc uintptr, pOld uintptr, pNew uintptr) { /* sqlite3.c:109419:21: */ bp := tls.Alloc(112) defer tls.Free(112) @@ -104399,7 +104418,7 @@ exit_rename_column: // The context of an ALTER TABLE RENAME COLUMN operation that gets passed // down into the Walker. -type RenameCtx = RenameCtx1 /* sqlite3.c:109521:26 */ +type RenameCtx = RenameCtx1 /* sqlite3.c:109534:26 */ // Remember that the parser tree element pPtr was created using // the token pToken. @@ -104411,7 +104430,7 @@ type RenameCtx = RenameCtx1 /* sqlite3.c:109521:26 */ // The pPtr argument is returned so that this routine can be used // with tail recursion in tokenExpr() routine, for a small performance // improvement. -func Xsqlite3RenameTokenMap(tls *libc.TLS, pParse uintptr, pPtr uintptr, pToken uintptr) uintptr { /* sqlite3.c:109584:27: */ +func Xsqlite3RenameTokenMap(tls *libc.TLS, pParse uintptr, pPtr uintptr, pToken uintptr) uintptr { /* sqlite3.c:109597:27: */ var pNew uintptr if int32((*Parse)(unsafe.Pointer(pParse)).FeParseMode) != PARSE_MODE_UNMAP { @@ -104430,7 +104449,7 @@ func Xsqlite3RenameTokenMap(tls *libc.TLS, pParse uintptr, pPtr uintptr, pToken // It is assumed that there is already a RenameToken object associated // with parse tree element pFrom. This function remaps the associated token // to parse tree element pTo. -func Xsqlite3RenameTokenRemap(tls *libc.TLS, pParse uintptr, pTo uintptr, pFrom uintptr) { /* sqlite3.c:109610:21: */ +func Xsqlite3RenameTokenRemap(tls *libc.TLS, pParse uintptr, pTo uintptr, pFrom uintptr) { /* sqlite3.c:109623:21: */ var p uintptr for p = (*Parse)(unsafe.Pointer(pParse)).FpRename; p != 0; p = (*RenameToken)(unsafe.Pointer(p)).FpNext { @@ -104442,7 +104461,7 @@ func Xsqlite3RenameTokenRemap(tls *libc.TLS, pParse uintptr, pTo uintptr, pFrom } // Walker callback used by sqlite3RenameExprUnmap(). -func renameUnmapExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:109624:12: */ +func renameUnmapExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:109637:12: */ var pParse uintptr = (*Walker)(unsafe.Pointer(pWalker)).FpParse Xsqlite3RenameTokenRemap(tls, pParse, uintptr(0), pExpr) if (*Expr)(unsafe.Pointer(pExpr)).Fflags&U32(EP_WinFunc|EP_Subrtn) == U32(0) { @@ -104453,7 +104472,7 @@ func renameUnmapExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* // Iterate through the Select objects that are part of WITH clauses attached // to select statement pSelect. -func renameWalkWith(tls *libc.TLS, pWalker uintptr, pSelect uintptr) { /* sqlite3.c:109637:13: */ +func renameWalkWith(tls *libc.TLS, pWalker uintptr, pSelect uintptr) { /* sqlite3.c:109650:13: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -104494,7 +104513,7 @@ func renameWalkWith(tls *libc.TLS, pWalker uintptr, pSelect uintptr) { /* sqlite } // Unmap all tokens in the IdList object passed as the second argument. -func unmapColumnIdlistNames(tls *libc.TLS, pParse uintptr, pIdList uintptr) { /* sqlite3.c:109672:13: */ +func unmapColumnIdlistNames(tls *libc.TLS, pParse uintptr, pIdList uintptr) { /* sqlite3.c:109685:13: */ if pIdList != 0 { var ii int32 for ii = 0; ii < (*IdList)(unsafe.Pointer(pIdList)).FnId; ii++ { @@ -104504,7 +104523,7 @@ func unmapColumnIdlistNames(tls *libc.TLS, pParse uintptr, pIdList uintptr) { /* } // Walker callback used by sqlite3RenameExprUnmap(). -func renameUnmapSelectCb(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sqlite3.c:109687:12: */ +func renameUnmapSelectCb(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sqlite3.c:109700:12: */ var pParse uintptr = (*Walker)(unsafe.Pointer(pWalker)).FpParse var i int32 if (*Parse)(unsafe.Pointer(pParse)).FnErr != 0 { @@ -104536,7 +104555,7 @@ func renameUnmapSelectCb(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* s } // Remove all nodes that are part of expression pExpr from the rename list. -func Xsqlite3RenameExprUnmap(tls *libc.TLS, pParse uintptr, pExpr uintptr) { /* sqlite3.c:109720:21: */ +func Xsqlite3RenameExprUnmap(tls *libc.TLS, pParse uintptr, pExpr uintptr) { /* sqlite3.c:109733:21: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -104558,7 +104577,7 @@ func Xsqlite3RenameExprUnmap(tls *libc.TLS, pParse uintptr, pExpr uintptr) { /* // Remove all nodes that are part of expression-list pEList from the // rename list. -func Xsqlite3RenameExprlistUnmap(tls *libc.TLS, pParse uintptr, pEList uintptr) { /* sqlite3.c:109736:21: */ +func Xsqlite3RenameExprlistUnmap(tls *libc.TLS, pParse uintptr, pEList uintptr) { /* sqlite3.c:109749:21: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -104581,7 +104600,7 @@ func Xsqlite3RenameExprlistUnmap(tls *libc.TLS, pParse uintptr, pEList uintptr) } // Free the list of RenameToken objects given in the second argument -func renameTokenFree(tls *libc.TLS, db uintptr, pToken uintptr) { /* sqlite3.c:109755:13: */ +func renameTokenFree(tls *libc.TLS, db uintptr, pToken uintptr) { /* sqlite3.c:109768:13: */ var pNext uintptr var p uintptr for p = pToken; p != 0; p = pNext { @@ -104597,7 +104616,7 @@ func renameTokenFree(tls *libc.TLS, db uintptr, pToken uintptr) { /* sqlite3.c:1 // If the second argument passed to this function is not NULL and a matching // RenameToken object is found, remove it from the Parse object and add it to // the list maintained by the RenameCtx object. -func renameTokenFind(tls *libc.TLS, pParse uintptr, pCtx uintptr, pPtr uintptr) uintptr { /* sqlite3.c:109773:20: */ +func renameTokenFind(tls *libc.TLS, pParse uintptr, pCtx uintptr, pPtr uintptr) uintptr { /* sqlite3.c:109786:20: */ var pp uintptr if pPtr == uintptr(0) { return uintptr(0) @@ -104620,7 +104639,7 @@ func renameTokenFind(tls *libc.TLS, pParse uintptr, pCtx uintptr, pPtr uintptr) // This is a Walker select callback. It does nothing. It is only required // because without a dummy callback, sqlite3WalkExpr() and similar do not // descend into sub-select statements. -func renameColumnSelectCb(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sqlite3.c:109802:12: */ +func renameColumnSelectCb(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sqlite3.c:109815:12: */ if (*Select)(unsafe.Pointer(p)).FselFlags&U32(SF_View|SF_CopyCte) != 0 { return WRC_Prune @@ -104636,7 +104655,7 @@ func renameColumnSelectCb(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* // ALTER TABLE statement. If it is, then attach its associated // RenameToken object to the list of RenameToken objects being // constructed in RenameCtx object at pWalker->u.pRename. -func renameColumnExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:109821:12: */ +func renameColumnExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:109834:12: */ var p uintptr = *(*uintptr)(unsafe.Pointer(pWalker + 40)) if int32((*Expr)(unsafe.Pointer(pExpr)).Fop) == TK_TRIGGER && int32((*Expr)(unsafe.Pointer(pExpr)).FiColumn) == (*RenameCtx)(unsafe.Pointer(p)).FiCol && @@ -104658,7 +104677,7 @@ func renameColumnExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { / // the input SQL is parsed from left to right. Repeated calls to this routine // return all column name tokens in the order that they are encountered // in the SQL statement. -func renameColumnTokenNext(tls *libc.TLS, pCtx uintptr) uintptr { /* sqlite3.c:109847:20: */ +func renameColumnTokenNext(tls *libc.TLS, pCtx uintptr) uintptr { /* sqlite3.c:109860:20: */ var pBest uintptr = (*RenameCtx)(unsafe.Pointer(pCtx)).FpList var pToken uintptr var pp uintptr @@ -104680,7 +104699,7 @@ func renameColumnTokenNext(tls *libc.TLS, pCtx uintptr) uintptr { /* sqlite3.c:1 // ALTER TABLE RENAME COLUMN program. The error message emitted by the // sub-routine is currently stored in pParse->zErrMsg. This function // adds context to the error message and then stores it in pCtx. -func renameColumnParseError(tls *libc.TLS, pCtx uintptr, zWhen uintptr, pType uintptr, pObject uintptr, pParse uintptr) { /* sqlite3.c:109868:13: */ +func renameColumnParseError(tls *libc.TLS, pCtx uintptr, zWhen uintptr, pType uintptr, pObject uintptr, pParse uintptr) { /* sqlite3.c:109881:13: */ bp := tls.Alloc(40) defer tls.Free(40) @@ -104704,7 +104723,7 @@ func renameColumnParseError(tls *libc.TLS, pCtx uintptr, zWhen uintptr, pType ui // pEList->a[i].zName) that matches the string in zOld, extract the // corresponding rename-token from Parse object pParse and add it // to the RenameCtx pCtx. -func renameColumnElistNames(tls *libc.TLS, pParse uintptr, pCtx uintptr, pEList uintptr, zOld uintptr) { /* sqlite3.c:109893:13: */ +func renameColumnElistNames(tls *libc.TLS, pParse uintptr, pCtx uintptr, pEList uintptr, zOld uintptr) { /* sqlite3.c:109906:13: */ if pEList != 0 { var i int32 for i = 0; i < (*ExprList)(unsafe.Pointer(pEList)).FnExpr; i++ { @@ -104721,7 +104740,7 @@ func renameColumnElistNames(tls *libc.TLS, pParse uintptr, pCtx uintptr, pEList // For each name in the the id-list pIdList (i.e. each pIdList->a[i].zName) // that matches the string in zOld, extract the corresponding rename-token // from Parse object pParse and add it to the RenameCtx pCtx. -func renameColumnIdlistNames(tls *libc.TLS, pParse uintptr, pCtx uintptr, pIdList uintptr, zOld uintptr) { /* sqlite3.c:109918:13: */ +func renameColumnIdlistNames(tls *libc.TLS, pParse uintptr, pCtx uintptr, pIdList uintptr, zOld uintptr) { /* sqlite3.c:109931:13: */ if pIdList != 0 { var i int32 for i = 0; i < (*IdList)(unsafe.Pointer(pIdList)).FnId; i++ { @@ -104735,7 +104754,7 @@ func renameColumnIdlistNames(tls *libc.TLS, pParse uintptr, pCtx uintptr, pIdLis // Parse the SQL statement zSql using Parse object (*p). The Parse object // is initialized by this function before it is used. -func renameParseSql(tls *libc.TLS, p uintptr, zDb uintptr, db uintptr, zSql uintptr, bTemp int32) int32 { /* sqlite3.c:109940:12: */ +func renameParseSql(tls *libc.TLS, p uintptr, zDb uintptr, db uintptr, zSql uintptr, bTemp int32) int32 { /* sqlite3.c:109953:12: */ var rc int32 Xsqlite3ParseObjectInit(tls, p, db) @@ -104743,7 +104762,7 @@ func renameParseSql(tls *libc.TLS, p uintptr, zDb uintptr, db uintptr, zSql uint return SQLITE_NOMEM } if Xsqlite3_strnicmp(tls, zSql, ts+11210, 7) != 0 { - return Xsqlite3CorruptError(tls, 109954) + return Xsqlite3CorruptError(tls, 109967) } (*Sqlite3)(unsafe.Pointer(db)).Finit.FiDb = func() uint8 { if bTemp != 0 { @@ -104760,7 +104779,7 @@ func renameParseSql(tls *libc.TLS, p uintptr, zDb uintptr, db uintptr, zSql uint } if rc == SQLITE_OK && ((*Parse)(unsafe.Pointer(p)).FpNewTable == uintptr(0) && (*Parse)(unsafe.Pointer(p)).FpNewIndex == uintptr(0) && (*Parse)(unsafe.Pointer(p)).FpNewTrigger == uintptr(0)) { - rc = Xsqlite3CorruptError(tls, 109965) + rc = Xsqlite3CorruptError(tls, 109978) } (*Sqlite3)(unsafe.Pointer(db)).Finit.FiDb = U8(0) @@ -104774,7 +104793,7 @@ func renameParseSql(tls *libc.TLS, p uintptr, zDb uintptr, db uintptr, zSql uint // // Or, if an error occurs (i.e. an OOM condition), an error is left in // pCtx and an SQLite error code returned. -func renameEditSql(tls *libc.TLS, pCtx uintptr, pRename uintptr, zSql uintptr, zNew uintptr, bQuote int32) int32 { /* sqlite3.c:109993:12: */ +func renameEditSql(tls *libc.TLS, pCtx uintptr, pRename uintptr, zSql uintptr, zNew uintptr, bQuote int32) int32 { /* sqlite3.c:110006:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -104879,7 +104898,7 @@ func renameEditSql(tls *libc.TLS, pCtx uintptr, pRename uintptr, zSql uintptr, z // it was read from the schema of database zDb. Return SQLITE_OK if // successful. Otherwise, return an SQLite error code and leave an error // message in the Parse object. -func renameResolveTrigger(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:110100:12: */ +func renameResolveTrigger(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:110113:12: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -104977,7 +104996,7 @@ func renameResolveTrigger(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:11 // Invoke sqlite3WalkExpr() or sqlite3WalkSelect() on all Select or Expr // objects that are part of the trigger passed as the second argument. -func renameWalkTrigger(tls *libc.TLS, pWalker uintptr, pTrigger uintptr) { /* sqlite3.c:110196:13: */ +func renameWalkTrigger(tls *libc.TLS, pWalker uintptr, pTrigger uintptr) { /* sqlite3.c:110209:13: */ var pStep uintptr // Find tokens to edit in WHEN clause @@ -105006,7 +105025,7 @@ func renameWalkTrigger(tls *libc.TLS, pWalker uintptr, pTrigger uintptr) { /* sq // Free the contents of Parse object (*pParse). Do not free the memory // occupied by the Parse object itself. -func renameParseCleanup(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:110227:13: */ +func renameParseCleanup(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:110240:13: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb var pIdx uintptr if (*Parse)(unsafe.Pointer(pParse)).FpVdbe != 0 { @@ -105045,7 +105064,7 @@ func renameParseCleanup(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:110227:13: // It is only accessible to SQL created using sqlite3NestedParse(). It is // not reachable from ordinary SQL passed into sqlite3_prepare() unless the // SQLITE_TESTCTRL_INTERNAL_FUNCTIONS test setting is enabled. -func renameColumnFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { /* sqlite3.c:110268:13: */ +func renameColumnFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { /* sqlite3.c:110281:13: */ bp := tls.Alloc(488) defer tls.Free(488) @@ -105388,7 +105407,7 @@ __44: } // Walker expression callback used by "RENAME TABLE". -func renameTableExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:110435:12: */ +func renameTableExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:110448:12: */ var p uintptr = *(*uintptr)(unsafe.Pointer(pWalker + 40)) if int32((*Expr)(unsafe.Pointer(pExpr)).Fop) == TK_COLUMN && (*Expr)(unsafe.Pointer(pExpr)).Fflags&U32(EP_WinFunc|EP_Subrtn) == U32(0) && @@ -105399,7 +105418,7 @@ func renameTableExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* } // Walker select callback used by "RENAME TABLE". -func renameTableSelectCb(tls *libc.TLS, pWalker uintptr, pSelect uintptr) int32 { /* sqlite3.c:110449:12: */ +func renameTableSelectCb(tls *libc.TLS, pWalker uintptr, pSelect uintptr) int32 { /* sqlite3.c:110462:12: */ var i int32 var p uintptr = *(*uintptr)(unsafe.Pointer(pWalker + 40)) var pSrc uintptr = (*Select)(unsafe.Pointer(pSelect)).FpSrc @@ -105439,7 +105458,7 @@ func renameTableSelectCb(tls *libc.TLS, pWalker uintptr, pSelect uintptr) int32 // // sqlite_rename_table('main', 'CREATE TABLE t1(a REFERENCES t2)','t2','t3',0) // -> 'CREATE TABLE t1(a REFERENCES t3)' -func renameTableFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { /* sqlite3.c:110493:13: */ +func renameTableFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { /* sqlite3.c:110506:13: */ bp := tls.Alloc(544) defer tls.Free(544) @@ -105573,7 +105592,7 @@ func renameTableFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr return } -func renameQuotefixExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:110636:12: */ +func renameQuotefixExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:110649:12: */ if int32((*Expr)(unsafe.Pointer(pExpr)).Fop) == TK_STRING && (*Expr)(unsafe.Pointer(pExpr)).Fflags&U32(EP_DblQuoted) != 0 { renameTokenFind(tls, (*Walker)(unsafe.Pointer(pWalker)).FpParse, *(*uintptr)(unsafe.Pointer(pWalker + 40)), pExpr) } @@ -105606,7 +105625,7 @@ func renameQuotefixExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { // If there is a error in the input SQL, then raise an error, except // if PRAGMA writable_schema=ON, then just return the input string // unmodified following an error. -func renameQuotefixFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { /* sqlite3.c:110670:13: */ +func renameQuotefixFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { /* sqlite3.c:110683:13: */ bp := tls.Alloc(488) defer tls.Free(488) @@ -105720,7 +105739,7 @@ func renameQuotefixFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uint // B. Else if a trigger is created and the the table that the trigger is // attached to is in database zDb, then return 1. // C. Otherwise return NULL. -func renameTableTest(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { /* sqlite3.c:110783:13: */ +func renameTableTest(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { /* sqlite3.c:110796:13: */ bp := tls.Alloc(464) defer tls.Free(464) @@ -105792,7 +105811,7 @@ func renameTableTest(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr // // The value returned is a string containing the CREATE TABLE statement // with column argv[2] removed. -func dropColumnFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { /* sqlite3.c:110858:13: */ +func dropColumnFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { /* sqlite3.c:110871:13: */ bp := tls.Alloc(432) defer tls.Free(432) @@ -105832,7 +105851,7 @@ __1: goto __2 } // This can happen if the sqlite_schema table is corrupt - rc = Xsqlite3CorruptError(tls, 110886) + rc = Xsqlite3CorruptError(tls, 110899) goto drop_column_done __2: ; @@ -105878,7 +105897,7 @@ __7: // // statement. Argument pSrc contains the possibly qualified name of the // table being edited, and token pName the name of the column to drop. -func Xsqlite3AlterDropColumn(tls *libc.TLS, pParse uintptr, pSrc uintptr, pName uintptr) { /* sqlite3.c:110923:21: */ +func Xsqlite3AlterDropColumn(tls *libc.TLS, pParse uintptr, pSrc uintptr, pName uintptr) { /* sqlite3.c:110936:21: */ bp := tls.Alloc(64) defer tls.Free(64) @@ -106111,7 +106130,7 @@ exit_drop_column: } // Register built-in functions used to help implement ALTER TABLE -func Xsqlite3AlterFunctions(tls *libc.TLS) { /* sqlite3.c:111065:21: */ +func Xsqlite3AlterFunctions(tls *libc.TLS) { /* sqlite3.c:111078:21: */ Xsqlite3InsertBuiltinFuncs(tls, uintptr(unsafe.Pointer(&aAlterTableFuncs)), int32(uint64(unsafe.Sizeof(aAlterTableFuncs))/uint64(unsafe.Sizeof(FuncDef{})))) } @@ -106120,7 +106139,7 @@ var aAlterTableFuncs = [5]FuncDef{ {FnArg: int8(7), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_FUNC_INTERNAL | SQLITE_UTF8 | SQLITE_FUNC_CONSTANT), FxSFunc: 0, FzName: ts + 11484}, {FnArg: int8(7), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_FUNC_INTERNAL | SQLITE_UTF8 | SQLITE_FUNC_CONSTANT), FxSFunc: 0, FzName: ts + 11504}, {FnArg: int8(3), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_FUNC_INTERNAL | SQLITE_UTF8 | SQLITE_FUNC_CONSTANT), FxSFunc: 0, FzName: ts + 11523}, - {FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_FUNC_INTERNAL | SQLITE_UTF8 | SQLITE_FUNC_CONSTANT), FxSFunc: 0, FzName: ts + 11542}} /* sqlite3.c:111066:18 */ + {FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_FUNC_INTERNAL | SQLITE_UTF8 | SQLITE_FUNC_CONSTANT), FxSFunc: 0, FzName: ts + 11542}} /* sqlite3.c:111079:18 */ //************* End of alter.c ********************************************** //************* Begin file analyze.c **************************************** @@ -106276,7 +106295,7 @@ var aAlterTableFuncs = [5]FuncDef{ // or it may be a NULL pointer. If it is not NULL, then all entries in // the sqlite_statN tables associated with the named table are deleted. // If zWhere==0, then code is generated to delete all stat table entries. -func openStatTable(tls *libc.TLS, pParse uintptr, iDb int32, iStatCur int32, zWhere uintptr, zWhereType uintptr) { /* sqlite3.c:111244:13: */ +func openStatTable(tls *libc.TLS, pParse uintptr, iDb int32, iStatCur int32, zWhere uintptr, zWhereType uintptr) { /* sqlite3.c:111257:13: */ bp := tls.Alloc(88) defer tls.Free(88) @@ -106356,7 +106375,7 @@ var aTable = [3]struct { {FzName: ts + 11636 /* "sqlite_stat1" */, FzCols: ts + 11649 /* "tbl,idx,stat" */}, {FzName: ts + 11662 /* "sqlite_stat4" */, FzCols: ts + 11675 /* "tbl,idx,neq,nlt,..." */}, {FzName: ts + 11703 /* "sqlite_stat3" */}, -} /* sqlite3.c:111254:5 */ +} /* sqlite3.c:111267:5 */ // Recommended number of samples for sqlite_stat4 @@ -106383,14 +106402,14 @@ type StatAccum1 = struct { FnMaxEqZero int32 FiGet int32 Fa uintptr -} /* sqlite3.c:111342:9 */ +} /* sqlite3.c:111355:9 */ // Recommended number of samples for sqlite_stat4 // Three SQL functions - stat_init(), stat_push(), and stat_get() - // share an instance of the following structure to hold their state // information. -type StatAccum = StatAccum1 /* sqlite3.c:111342:26 */ +type StatAccum = StatAccum1 /* sqlite3.c:111355:26 */ type StatSample1 = struct { FanEq uintptr FanDLt uintptr @@ -106401,12 +106420,12 @@ type StatSample1 = struct { F__ccgo_pad1 [3]byte FiCol int32 FiHash U32 -} /* sqlite3.c:111342:9 */ +} /* sqlite3.c:111355:9 */ -type StatSample = StatSample1 /* sqlite3.c:111343:27 */ +type StatSample = StatSample1 /* sqlite3.c:111356:27 */ // Reclaim memory used by a StatSample -func sampleClear(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:111384:13: */ +func sampleClear(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:111397:13: */ if (*StatSample)(unsafe.Pointer(p)).FnRowid != 0 { Xsqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(p + 24))) @@ -106415,7 +106434,7 @@ func sampleClear(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:111384:13: } // Initialize the BLOB value of a ROWID -func sampleSetRowid(tls *libc.TLS, db uintptr, p uintptr, n int32, pData uintptr) { /* sqlite3.c:111396:13: */ +func sampleSetRowid(tls *libc.TLS, db uintptr, p uintptr, n int32, pData uintptr) { /* sqlite3.c:111409:13: */ if (*StatSample)(unsafe.Pointer(p)).FnRowid != 0 { Xsqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(p + 24))) @@ -106430,7 +106449,7 @@ func sampleSetRowid(tls *libc.TLS, db uintptr, p uintptr, n int32, pData uintptr } // Initialize the INTEGER value of a ROWID. -func sampleSetRowidInt64(tls *libc.TLS, db uintptr, p uintptr, iRowid I64) { /* sqlite3.c:111412:13: */ +func sampleSetRowidInt64(tls *libc.TLS, db uintptr, p uintptr, iRowid I64) { /* sqlite3.c:111425:13: */ if (*StatSample)(unsafe.Pointer(p)).FnRowid != 0 { Xsqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(p + 24))) @@ -106440,7 +106459,7 @@ func sampleSetRowidInt64(tls *libc.TLS, db uintptr, p uintptr, iRowid I64) { /* } // Copy the contents of object (*pFrom) into (*pTo). -func sampleCopy(tls *libc.TLS, p uintptr, pTo uintptr, pFrom uintptr) { /* sqlite3.c:111425:13: */ +func sampleCopy(tls *libc.TLS, p uintptr, pTo uintptr, pFrom uintptr) { /* sqlite3.c:111438:13: */ (*StatSample)(unsafe.Pointer(pTo)).FisPSample = (*StatSample)(unsafe.Pointer(pFrom)).FisPSample (*StatSample)(unsafe.Pointer(pTo)).FiCol = (*StatSample)(unsafe.Pointer(pFrom)).FiCol (*StatSample)(unsafe.Pointer(pTo)).FiHash = (*StatSample)(unsafe.Pointer(pFrom)).FiHash @@ -106455,7 +106474,7 @@ func sampleCopy(tls *libc.TLS, p uintptr, pTo uintptr, pFrom uintptr) { /* sqlit } // Reclaim all memory of a StatAccum structure. -func statAccumDestructor(tls *libc.TLS, pOld uintptr) { /* sqlite3.c:111443:13: */ +func statAccumDestructor(tls *libc.TLS, pOld uintptr) { /* sqlite3.c:111456:13: */ var p uintptr = pOld if (*StatAccum)(unsafe.Pointer(p)).FmxSample != 0 { var i int32 @@ -106490,7 +106509,7 @@ func statAccumDestructor(tls *libc.TLS, pOld uintptr) { /* sqlite3.c:111443:13: // value is a pointer to the StatAccum object. The datatype of the // return value is BLOB, but it is really just a pointer to the StatAccum // object. -func statInit(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:111478:13: */ +func statInit(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:111491:13: */ var p uintptr var nCol int32 // Number of columns in index being sampled var nKeyCol int32 // Number of key columns @@ -106585,7 +106604,7 @@ var statInitFuncdef = FuncDef{ FnArg: int8(4), // nArg FfuncFlags: U32(SQLITE_UTF8), // pNext FxSFunc: 0, // xValue, xInverse - FzName: ts + 11716} /* sqlite3.c:111564:22 */ + FzName: ts + 11716} /* sqlite3.c:111577:22 */ // pNew and pOld are both candidate non-periodic samples selected for // the same column (pNew->iCol==pOld->iCol). Ignoring this column and @@ -106596,7 +106615,7 @@ var statInitFuncdef = FuncDef{ // // This function assumes that for each argument sample, the contents of // the anEq[] array from pSample->anEq[pSample->iCol+1] onwards are valid. -func sampleIsBetterPost(tls *libc.TLS, pAccum uintptr, pNew uintptr, pOld uintptr) int32 { /* sqlite3.c:111588:12: */ +func sampleIsBetterPost(tls *libc.TLS, pAccum uintptr, pNew uintptr, pOld uintptr) int32 { /* sqlite3.c:111601:12: */ var nCol int32 = (*StatAccum)(unsafe.Pointer(pAccum)).FnCol var i int32 @@ -106618,7 +106637,7 @@ func sampleIsBetterPost(tls *libc.TLS, pAccum uintptr, pNew uintptr, pOld uintpt // // This function assumes that for each argument sample, the contents of // the anEq[] array from pSample->anEq[pSample->iCol] onwards are valid. -func sampleIsBetter(tls *libc.TLS, pAccum uintptr, pNew uintptr, pOld uintptr) int32 { /* sqlite3.c:111612:12: */ +func sampleIsBetter(tls *libc.TLS, pAccum uintptr, pNew uintptr, pOld uintptr) int32 { /* sqlite3.c:111625:12: */ var nEqNew TRowcnt = *(*TRowcnt)(unsafe.Pointer((*StatSample)(unsafe.Pointer(pNew)).FanEq + uintptr((*StatSample)(unsafe.Pointer(pNew)).FiCol)*4)) var nEqOld TRowcnt = *(*TRowcnt)(unsafe.Pointer((*StatSample)(unsafe.Pointer(pOld)).FanEq + uintptr((*StatSample)(unsafe.Pointer(pOld)).FiCol)*4)) @@ -106636,7 +106655,7 @@ func sampleIsBetter(tls *libc.TLS, pAccum uintptr, pNew uintptr, pOld uintptr) i // Copy the contents of sample *pNew into the p->a[] array. If necessary, // remove the least desirable sample from p->a[] to make room. -func sampleInsert(tls *libc.TLS, p uintptr, pNew uintptr, nEqZero int32) { /* sqlite3.c:111635:13: */ +func sampleInsert(tls *libc.TLS, p uintptr, pNew uintptr, nEqZero int32) { /* sqlite3.c:111648:13: */ var pSample uintptr var i int32 var pOld uintptr @@ -106779,7 +106798,7 @@ __11: // p->current contains a sample that reflects the previous row of the // index. The value of anEq[iChng] and subsequent anEq[] elements are // correct at this point. -func samplePushPrevious(tls *libc.TLS, p uintptr, iChng int32) { /* sqlite3.c:111727:13: */ +func samplePushPrevious(tls *libc.TLS, p uintptr, iChng int32) { /* sqlite3.c:111740:13: */ var i int32 // Check if any samples from the aBest[] array should be pushed @@ -106831,7 +106850,7 @@ func samplePushPrevious(tls *libc.TLS, p uintptr, iChng int32) { /* sqlite3.c:11 // if it wants the byte-code to do special processing. // // The R parameter is only used for STAT4 -func statPush(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:111779:13: */ +func statPush(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:111792:13: */ var i int32 // The three function arguments @@ -106903,7 +106922,7 @@ var statPushFuncdef = FuncDef{ FnArg: int8(2 + IsStat4), FfuncFlags: U32(SQLITE_UTF8), // pNext FxSFunc: 0, // xValue, xInverse - FzName: ts + 11726} /* sqlite3.c:111854:22 */ + FzName: ts + 11726} /* sqlite3.c:111867:22 */ // Implementation of the stat_get(P,J) SQL function. This routine is // used to query statistical information that has been gathered into @@ -106922,7 +106941,7 @@ var statPushFuncdef = FuncDef{ // STAT_GET_STAT1 and is hence omitted and this routine becomes // a one-parameter function, stat_get(P), that always returns the // stat1 table entry information. -func statGet(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:111891:13: */ +func statGet(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:111904:13: */ bp := tls.Alloc(88) defer tls.Free(88) @@ -107023,9 +107042,9 @@ var statGetFuncdef = FuncDef{ FnArg: int8(1 + IsStat4), FfuncFlags: U32(SQLITE_UTF8), // pNext FxSFunc: 0, // xValue, xInverse - FzName: ts + 11753} /* sqlite3.c:111988:22 */ + FzName: ts + 11753} /* sqlite3.c:112001:22 */ -func callStatGet(tls *libc.TLS, pParse uintptr, regStat int32, iParam int32, regOut int32) { /* sqlite3.c:112000:13: */ +func callStatGet(tls *libc.TLS, pParse uintptr, regStat int32, iParam int32, regOut int32) { /* sqlite3.c:112013:13: */ Xsqlite3VdbeAddOp2(tls, (*Parse)(unsafe.Pointer(pParse)).FpVdbe, OP_Integer, iParam, regStat+1) Xsqlite3VdbeAddFunctionCall(tls, pParse, 0, regStat, regOut, 1+IsStat4, @@ -107034,7 +107053,7 @@ func callStatGet(tls *libc.TLS, pParse uintptr, regStat int32, iParam int32, reg // Generate code to do an analysis of all indices associated with // a single table. -func analyzeOneTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uintptr, iStatCur int32, iMem int32, iTab int32) { /* sqlite3.c:112041:13: */ +func analyzeOneTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uintptr, iStatCur int32, iMem int32, iTab int32) { /* sqlite3.c:112054:13: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb // Database handle var pIdx uintptr // An index to being analyzed var iIdxCur int32 // Cursor open on index being analyzed @@ -107394,7 +107413,7 @@ func analyzeOneTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uintp // Generate code that will cause the most recent index analysis to // be loaded into internal hash tables where is can be used. -func loadAnalysis(tls *libc.TLS, pParse uintptr, iDb int32) { /* sqlite3.c:112403:13: */ +func loadAnalysis(tls *libc.TLS, pParse uintptr, iDb int32) { /* sqlite3.c:112416:13: */ var v uintptr = Xsqlite3GetVdbe(tls, pParse) if v != 0 { Xsqlite3VdbeAddOp1(tls, v, OP_LoadAnalysis, iDb) @@ -107402,7 +107421,7 @@ func loadAnalysis(tls *libc.TLS, pParse uintptr, iDb int32) { /* sqlite3.c:11240 } // Generate code that will do an analysis of an entire database -func analyzeDatabase(tls *libc.TLS, pParse uintptr, iDb int32) { /* sqlite3.c:112413:13: */ +func analyzeDatabase(tls *libc.TLS, pParse uintptr, iDb int32) { /* sqlite3.c:112426:13: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb var pSchema uintptr = (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32)).FpSchema // Schema of database iDb var k uintptr @@ -107427,7 +107446,7 @@ func analyzeDatabase(tls *libc.TLS, pParse uintptr, iDb int32) { /* sqlite3.c:11 // Generate code that will do an analysis of a single table in // a database. If pOnlyIdx is not NULL then it is a single index // in pTab that should be analyzed. -func analyzeTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uintptr) { /* sqlite3.c:112440:13: */ +func analyzeTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uintptr) { /* sqlite3.c:112453:13: */ var iDb int32 var iStatCur int32 @@ -107454,7 +107473,7 @@ func analyzeTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uintptr) // Form 1 causes all indices in all attached databases to be analyzed. // Form 2 analyzes all indices the single database named. // Form 3 analyzes all indices associated with the named table. -func Xsqlite3Analyze(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 uintptr) { /* sqlite3.c:112471:21: */ +func Xsqlite3Analyze(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 uintptr) { /* sqlite3.c:112484:21: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -107517,16 +107536,16 @@ func Xsqlite3Analyze(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 uintp type analysisInfo = struct { Fdb uintptr FzDatabase uintptr -} /* sqlite3.c:112523:9 */ +} /* sqlite3.c:112536:9 */ // Used to pass information from the analyzer reader through to the // callback routine. -type AnalysisInfo = analysisInfo /* sqlite3.c:112523:29 */ +type AnalysisInfo = analysisInfo /* sqlite3.c:112536:29 */ // The first argument points to a nul-terminated string containing a // list of space separated integers. Read the first nOut of these into // the array aOut[]. -func decodeIntArray(tls *libc.TLS, zIntArray uintptr, nOut int32, aOut uintptr, aLog uintptr, pIndex uintptr) { /* sqlite3.c:112534:13: */ +func decodeIntArray(tls *libc.TLS, zIntArray uintptr, nOut int32, aOut uintptr, aLog uintptr, pIndex uintptr) { /* sqlite3.c:112547:13: */ var z uintptr = zIntArray var c int32 var i int32 @@ -107585,7 +107604,7 @@ func decodeIntArray(tls *libc.TLS, zIntArray uintptr, nOut int32, aOut uintptr, // // Entries for which argv[1]==NULL simply record the number of rows in // the table. -func analysisLoader(tls *libc.TLS, pData uintptr, argc int32, argv uintptr, NotUsed uintptr) int32 { /* sqlite3.c:112607:12: */ +func analysisLoader(tls *libc.TLS, pData uintptr, argc int32, argv uintptr, NotUsed uintptr) int32 { /* sqlite3.c:112620:12: */ bp := tls.Alloc(152) defer tls.Free(152) @@ -107647,7 +107666,7 @@ func analysisLoader(tls *libc.TLS, pData uintptr, argc int32, argv uintptr, NotU // If the Index.aSample variable is not NULL, delete the aSample[] array // and its contents. -func Xsqlite3DeleteIndexSamples(tls *libc.TLS, db uintptr, pIdx uintptr) { /* sqlite3.c:112670:21: */ +func Xsqlite3DeleteIndexSamples(tls *libc.TLS, db uintptr, pIdx uintptr) { /* sqlite3.c:112683:21: */ if (*Index)(unsafe.Pointer(pIdx)).FaSample != 0 { var j int32 for j = 0; j < (*Index)(unsafe.Pointer(pIdx)).FnSample; j++ { @@ -107664,7 +107683,7 @@ func Xsqlite3DeleteIndexSamples(tls *libc.TLS, db uintptr, pIdx uintptr) { /* sq // Populate the pIdx->aAvgEq[] array based on the samples currently // stored in pIdx->aSample[]. -func initAvgEq(tls *libc.TLS, pIdx uintptr) { /* sqlite3.c:112695:13: */ +func initAvgEq(tls *libc.TLS, pIdx uintptr) { /* sqlite3.c:112708:13: */ if pIdx != 0 { var aSample uintptr = (*Index)(unsafe.Pointer(pIdx)).FaSample var pFinal uintptr = aSample + uintptr((*Index)(unsafe.Pointer(pIdx)).FnSample-1)*40 @@ -107722,7 +107741,7 @@ func initAvgEq(tls *libc.TLS, pIdx uintptr) { /* sqlite3.c:112695:13: */ // Look up an index by name. Or, if the name of a WITHOUT ROWID table // is supplied instead, find the PRIMARY KEY index for that table. -func findIndexOrPrimaryKey(tls *libc.TLS, db uintptr, zName uintptr, zDb uintptr) uintptr { /* sqlite3.c:112754:14: */ +func findIndexOrPrimaryKey(tls *libc.TLS, db uintptr, zName uintptr, zDb uintptr) uintptr { /* sqlite3.c:112767:14: */ var pIdx uintptr = Xsqlite3FindIndex(tls, db, zName, zDb) if pIdx == uintptr(0) { var pTab uintptr = Xsqlite3FindTable(tls, db, zName, zDb) @@ -107743,7 +107762,7 @@ func findIndexOrPrimaryKey(tls *libc.TLS, db uintptr, zName uintptr, zDb uintptr // zSql2: SELECT idx,neq,nlt,ndlt,sample FROM %Q.sqlite_stat4 // // where %Q is replaced with the database name before the SQL is executed. -func loadStatTbl(tls *libc.TLS, db uintptr, zSql1 uintptr, zSql2 uintptr, zDb uintptr) int32 { /* sqlite3.c:112779:12: */ +func loadStatTbl(tls *libc.TLS, db uintptr, zSql1 uintptr, zSql2 uintptr, zDb uintptr) int32 { /* sqlite3.c:112792:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -107879,7 +107898,7 @@ func loadStatTbl(tls *libc.TLS, db uintptr, zSql1 uintptr, zSql2 uintptr, zDb ui // Load content from the sqlite_stat4 table into // the Index.aSample[] arrays of all indices. -func loadStat4(tls *libc.TLS, db uintptr, zDb uintptr) int32 { /* sqlite3.c:112900:12: */ +func loadStat4(tls *libc.TLS, db uintptr, zDb uintptr) int32 { /* sqlite3.c:112913:12: */ var rc int32 = SQLITE_OK // Result codes from subroutines var pStat4 uintptr @@ -107911,7 +107930,7 @@ func loadStat4(tls *libc.TLS, db uintptr, zDb uintptr) int32 { /* sqlite3.c:1129 // If an OOM error occurs, this function always sets db->mallocFailed. // This means if the caller does not care about other errors, the return // code may be ignored. -func Xsqlite3AnalysisLoad(tls *libc.TLS, db uintptr, iDb int32) int32 { /* sqlite3.c:112938:20: */ +func Xsqlite3AnalysisLoad(tls *libc.TLS, db uintptr, iDb int32) int32 { /* sqlite3.c:112951:20: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -108018,7 +108037,7 @@ func Xsqlite3AnalysisLoad(tls *libc.TLS, db uintptr, iDb int32) int32 { /* sqlit // ATTACH DATABASE abc||def AS 'db2' // // will fail because neither abc or def can be resolved. -func resolveAttachExpr(tls *libc.TLS, pName uintptr, pExpr uintptr) int32 { /* sqlite3.c:113046:12: */ +func resolveAttachExpr(tls *libc.TLS, pName uintptr, pExpr uintptr) int32 { /* sqlite3.c:113059:12: */ var rc int32 = SQLITE_OK if pExpr != 0 { if int32((*Expr)(unsafe.Pointer(pExpr)).Fop) != TK_ID { @@ -108032,7 +108051,7 @@ func resolveAttachExpr(tls *libc.TLS, pName uintptr, pExpr uintptr) int32 { /* s // Return true if zName points to a name that may be used to refer to // database iDb attached to handle db. -func Xsqlite3DbIsNamed(tls *libc.TLS, db uintptr, iDb int32, zName uintptr) int32 { /* sqlite3.c:113063:20: */ +func Xsqlite3DbIsNamed(tls *libc.TLS, db uintptr, iDb int32, zName uintptr) int32 { /* sqlite3.c:113076:20: */ return libc.Bool32(Xsqlite3StrICmp(tls, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(iDb)*32)).FzDbSName, zName) == 0 || iDb == 0 && Xsqlite3StrICmp(tls, ts+6735, zName) == 0) } @@ -108050,7 +108069,7 @@ func Xsqlite3DbIsNamed(tls *libc.TLS, db uintptr, iDb int32, zName uintptr) int3 // If the db->init.reopenMemdb flags is set, then instead of attaching a // new database, close the database on db->init.iDb and reopen it as an // empty MemDB. -func attachFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { /* sqlite3.c:113085:13: */ +func attachFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { /* sqlite3.c:113098:13: */ bp := tls.Alloc(64) defer tls.Free(64) @@ -108343,7 +108362,7 @@ __34: // DETACH DATABASE x // // SELECT sqlite_detach(x) -func detachFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { /* sqlite3.c:113278:13: */ +func detachFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { /* sqlite3.c:113291:13: */ bp := tls.Alloc(152) defer tls.Free(152) @@ -108448,7 +108467,7 @@ detach_error: // This procedure generates VDBE code for a single invocation of either the // sqlite_detach() or sqlite_attach() SQL user functions. -func codeAttach(tls *libc.TLS, pParse uintptr, type1 int32, pFunc uintptr, pAuthArg uintptr, pFilename uintptr, pDbname uintptr, pKey uintptr) { /* sqlite3.c:113340:13: */ +func codeAttach(tls *libc.TLS, pParse uintptr, type1 int32, pFunc uintptr, pAuthArg uintptr, pFilename uintptr, pDbname uintptr, pKey uintptr) { /* sqlite3.c:113353:13: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -108527,7 +108546,7 @@ attach_end: // Called by the parser to compile a DETACH statement. // // DETACH pDbname -func Xsqlite3Detach(tls *libc.TLS, pParse uintptr, pDbname uintptr) { /* sqlite3.c:113412:21: */ +func Xsqlite3Detach(tls *libc.TLS, pParse uintptr, pDbname uintptr) { /* sqlite3.c:113425:21: */ codeAttach(tls, pParse, SQLITE_DETACH, uintptr(unsafe.Pointer(&detach_func)), pDbname, uintptr(0), uintptr(0), pDbname) } @@ -108535,12 +108554,12 @@ var detach_func = FuncDef{ FnArg: int8(1), // nArg FfuncFlags: U32(SQLITE_UTF8), // pNext FxSFunc: 0, // xValue, xInverse - FzName: ts + 12228} /* sqlite3.c:113413:24 */ + FzName: ts + 12228} /* sqlite3.c:113426:24 */ // Called by the parser to compile an ATTACH statement. // // ATTACH p AS pDbname KEY pKey -func Xsqlite3Attach(tls *libc.TLS, pParse uintptr, p uintptr, pDbname uintptr, pKey uintptr) { /* sqlite3.c:113432:21: */ +func Xsqlite3Attach(tls *libc.TLS, pParse uintptr, p uintptr, pDbname uintptr, pKey uintptr) { /* sqlite3.c:113445:21: */ codeAttach(tls, pParse, SQLITE_ATTACH, uintptr(unsafe.Pointer(&attach_func)), p, p, pDbname, pKey) } @@ -108548,10 +108567,10 @@ var attach_func = FuncDef{ FnArg: int8(3), // nArg FfuncFlags: U32(SQLITE_UTF8), // pNext FxSFunc: 0, // xValue, xInverse - FzName: ts + 12242} /* sqlite3.c:113433:24 */ + FzName: ts + 12242} /* sqlite3.c:113446:24 */ // Expression callback used by sqlite3FixAAAA() routines. -func fixExprCb(tls *libc.TLS, p uintptr, pExpr uintptr) int32 { /* sqlite3.c:113451:12: */ +func fixExprCb(tls *libc.TLS, p uintptr, pExpr uintptr) int32 { /* sqlite3.c:113464:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -108571,7 +108590,7 @@ func fixExprCb(tls *libc.TLS, p uintptr, pExpr uintptr) int32 { /* sqlite3.c:113 } // Select callback used by sqlite3FixAAAA() routines. -func fixSelectCb(tls *libc.TLS, p uintptr, pSelect uintptr) int32 { /* sqlite3.c:113468:12: */ +func fixSelectCb(tls *libc.TLS, p uintptr, pSelect uintptr) int32 { /* sqlite3.c:113481:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -108632,7 +108651,7 @@ __3: // Initialize a DbFixer structure. This routine must be called prior // to passing the structure to one of the sqliteFixAAAA() routines below. -func Xsqlite3FixInit(tls *libc.TLS, pFix uintptr, pParse uintptr, iDb int32, zType uintptr, pName uintptr) { /* sqlite3.c:113511:21: */ +func Xsqlite3FixInit(tls *libc.TLS, pFix uintptr, pParse uintptr, iDb int32, zType uintptr, pName uintptr) { /* sqlite3.c:113524:21: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb (*DbFixer)(unsafe.Pointer(pFix)).FpParse = pParse @@ -108668,7 +108687,7 @@ func Xsqlite3FixInit(tls *libc.TLS, pFix uintptr, pParse uintptr, iDb int32, zTy // to an object in a different database, an error message is added to // pParse->zErrMsg and these routines return non-zero. If everything // checks out, these routines return 0. -func Xsqlite3FixSrcList(tls *libc.TLS, pFix uintptr, pList uintptr) int32 { /* sqlite3.c:113549:20: */ +func Xsqlite3FixSrcList(tls *libc.TLS, pFix uintptr, pList uintptr) int32 { /* sqlite3.c:113562:20: */ bp := tls.Alloc(128) defer tls.Free(128) @@ -108683,15 +108702,15 @@ func Xsqlite3FixSrcList(tls *libc.TLS, pFix uintptr, pList uintptr) int32 { /* s return res } -func Xsqlite3FixSelect(tls *libc.TLS, pFix uintptr, pSelect uintptr) int32 { /* sqlite3.c:113563:20: */ +func Xsqlite3FixSelect(tls *libc.TLS, pFix uintptr, pSelect uintptr) int32 { /* sqlite3.c:113576:20: */ return Xsqlite3WalkSelect(tls, pFix+8, pSelect) } -func Xsqlite3FixExpr(tls *libc.TLS, pFix uintptr, pExpr uintptr) int32 { /* sqlite3.c:113569:20: */ +func Xsqlite3FixExpr(tls *libc.TLS, pFix uintptr, pExpr uintptr) int32 { /* sqlite3.c:113582:20: */ return Xsqlite3WalkExpr(tls, pFix+8, pExpr) } -func Xsqlite3FixTriggerStep(tls *libc.TLS, pFix uintptr, pStep uintptr) int32 { /* sqlite3.c:113578:20: */ +func Xsqlite3FixTriggerStep(tls *libc.TLS, pFix uintptr, pStep uintptr) int32 { /* sqlite3.c:113591:20: */ for pStep != 0 { if Xsqlite3WalkSelect(tls, pFix+8, (*TriggerStep)(unsafe.Pointer(pStep)).FpSelect) != 0 || Xsqlite3WalkExpr(tls, pFix+8, (*TriggerStep)(unsafe.Pointer(pStep)).FpWhere) != 0 || @@ -108781,7 +108800,7 @@ func Xsqlite3FixTriggerStep(tls *libc.TLS, pFix uintptr, pStep uintptr) 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) int32 { /* sqlite3.c:113682:16: */ +func Xsqlite3_set_authorizer(tls *libc.TLS, db uintptr, xAuth uintptr, pArg uintptr) int32 { /* sqlite3.c:113695:16: */ Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) (*Sqlite3)(unsafe.Pointer(db)).FxAuth = xAuth (*Sqlite3)(unsafe.Pointer(db)).FpAuthArg = pArg @@ -108794,7 +108813,7 @@ func Xsqlite3_set_authorizer(tls *libc.TLS, db uintptr, xAuth uintptr, pArg uint // Write an error message into pParse->zErrMsg that explains that the // user-supplied authorization function returned an illegal value. -func sqliteAuthBadReturnCode(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:113702:13: */ +func sqliteAuthBadReturnCode(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:113715:13: */ Xsqlite3ErrorMsg(tls, pParse, ts+12326, 0) (*Parse)(unsafe.Pointer(pParse)).Frc = SQLITE_ERROR } @@ -108806,7 +108825,7 @@ func sqliteAuthBadReturnCode(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:11370 // If SQLITE_IGNORE is returned and pExpr is not NULL, then pExpr is changed // to an SQL NULL expression. Otherwise, if pExpr is NULL, then SQLITE_IGNORE // is treated as SQLITE_DENY. In this case an error is left in pParse. -func Xsqlite3AuthReadCol(tls *libc.TLS, pParse uintptr, zTab uintptr, zCol uintptr, iDb int32) int32 { /* sqlite3.c:113716:20: */ +func Xsqlite3AuthReadCol(tls *libc.TLS, pParse uintptr, zTab uintptr, zCol uintptr, iDb int32) int32 { /* sqlite3.c:113729:20: */ bp := tls.Alloc(40) defer tls.Free(40) @@ -108840,7 +108859,7 @@ func Xsqlite3AuthReadCol(tls *libc.TLS, pParse uintptr, zTab uintptr, zCol uintp // If the auth function returns SQLITE_IGNORE, change the TK_COLUMN // instruction into a TK_NULL. If the auth function returns SQLITE_DENY, // then generate an error. -func Xsqlite3AuthRead(tls *libc.TLS, pParse uintptr, pExpr uintptr, pSchema uintptr, pTabList uintptr) { /* sqlite3.c:113752:21: */ +func Xsqlite3AuthRead(tls *libc.TLS, pParse uintptr, pExpr uintptr, pSchema uintptr, pTabList uintptr) { /* sqlite3.c:113765:21: */ var pTab uintptr = uintptr(0) // The table being read var zCol uintptr // Name of the column of the table var iSrc int32 // Index in pTabList->a[] of table being read @@ -108889,7 +108908,7 @@ func Xsqlite3AuthRead(tls *libc.TLS, pParse uintptr, pExpr uintptr, pSchema uint // either SQLITE_OK (zero) or SQLITE_IGNORE or SQLITE_DENY. If SQLITE_DENY // is returned, then the error count and error message in pParse are // modified appropriately. -func Xsqlite3AuthCheck(tls *libc.TLS, pParse uintptr, code int32, zArg1 uintptr, zArg2 uintptr, zArg3 uintptr) int32 { /* sqlite3.c:113809:20: */ +func Xsqlite3AuthCheck(tls *libc.TLS, pParse uintptr, code int32, zArg1 uintptr, zArg2 uintptr, zArg3 uintptr) int32 { /* sqlite3.c:113822:20: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb var rc int32 @@ -108923,7 +108942,7 @@ func Xsqlite3AuthCheck(tls *libc.TLS, pParse uintptr, code int32, zArg1 uintptr, // Push an authorization context. After this routine is called, the // zArg3 argument to authorization callbacks will be zContext until // popped. Or if pParse==0, this routine is a no-op. -func Xsqlite3AuthContextPush(tls *libc.TLS, pParse uintptr, pContext uintptr, zContext uintptr) { /* sqlite3.c:113858:21: */ +func Xsqlite3AuthContextPush(tls *libc.TLS, pParse uintptr, pContext uintptr, zContext uintptr) { /* sqlite3.c:113871:21: */ (*AuthContext)(unsafe.Pointer(pContext)).FpParse = pParse (*AuthContext)(unsafe.Pointer(pContext)).FzAuthContext = (*Parse)(unsafe.Pointer(pParse)).FzAuthContext @@ -108932,7 +108951,7 @@ func Xsqlite3AuthContextPush(tls *libc.TLS, pParse uintptr, pContext uintptr, zC // Pop an authorization context that was previously pushed // by sqlite3AuthContextPush -func Xsqlite3AuthContextPop(tls *libc.TLS, pContext uintptr) { /* sqlite3.c:113873:21: */ +func Xsqlite3AuthContextPop(tls *libc.TLS, pContext uintptr) { /* sqlite3.c:113886:21: */ if (*AuthContext)(unsafe.Pointer(pContext)).FpParse != 0 { (*Parse)(unsafe.Pointer((*AuthContext)(unsafe.Pointer(pContext)).FpParse)).FzAuthContext = (*AuthContext)(unsafe.Pointer(pContext)).FzAuthContext (*AuthContext)(unsafe.Pointer(pContext)).FpParse = uintptr(0) @@ -108947,7 +108966,7 @@ func Xsqlite3AuthContextPop(tls *libc.TLS, pContext uintptr) { /* sqlite3.c:1138 // This routine just records the fact that the lock is desired. The // code to make the lock occur is generated by a later call to // codeTableLocks() which occurs during sqlite3FinishCoding(). -func lockTable(tls *libc.TLS, pParse uintptr, iDb int32, iTab Pgno, isWriteLock U8, zName uintptr) { /* sqlite3.c:113932:29: */ +func lockTable(tls *libc.TLS, pParse uintptr, iDb int32, iTab Pgno, isWriteLock U8, zName uintptr) { /* sqlite3.c:113945:29: */ var pToplevel uintptr var i int32 var nBytes int32 @@ -108981,7 +109000,7 @@ func lockTable(tls *libc.TLS, pParse uintptr, iDb int32, iTab Pgno, isWriteLock } } -func Xsqlite3TableLock(tls *libc.TLS, pParse uintptr, iDb int32, iTab Pgno, isWriteLock U8, zName uintptr) { /* sqlite3.c:113968:21: */ +func Xsqlite3TableLock(tls *libc.TLS, pParse uintptr, iDb int32, iTab Pgno, isWriteLock U8, zName uintptr) { /* sqlite3.c:113981:21: */ if iDb == 1 { return } @@ -108993,7 +109012,7 @@ func Xsqlite3TableLock(tls *libc.TLS, pParse uintptr, iDb int32, iTab Pgno, isWr // Code an OP_TableLock instruction for each table locked by the // statement (configured by calls to sqlite3TableLock()). -func codeTableLocks(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:113984:13: */ +func codeTableLocks(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:113997:13: */ var i int32 var pVdbe uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe @@ -109017,7 +109036,7 @@ func codeTableLocks(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:113984:13: */ // // Note that if an error occurred, it might be the case that // no VDBE code was generated. -func Xsqlite3FinishCoding(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:114023:21: */ +func Xsqlite3FinishCoding(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:114036:21: */ var db uintptr var v uintptr @@ -109170,7 +109189,7 @@ func Xsqlite3FinishCoding(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:114023:2 // * Built-in SQL functions always take precedence over application-defined // SQL functions. In other words, it is not possible to override a // built-in function. -func Xsqlite3NestedParse(tls *libc.TLS, pParse uintptr, zFormat uintptr, va uintptr) { /* sqlite3.c:114194:21: */ +func Xsqlite3NestedParse(tls *libc.TLS, pParse uintptr, zFormat uintptr, va uintptr) { /* sqlite3.c:114207:21: */ bp := tls.Alloc(136) defer tls.Free(136) @@ -109221,7 +109240,7 @@ func Xsqlite3NestedParse(tls *libc.TLS, pParse uintptr, zFormat uintptr, va uint // auxiliary databases added using the ATTACH command. // // See also sqlite3LocateTable(). -func Xsqlite3FindTable(tls *libc.TLS, db uintptr, zName uintptr, zDatabase uintptr) uintptr { /* sqlite3.c:114249:22: */ +func Xsqlite3FindTable(tls *libc.TLS, db uintptr, zName uintptr, zDatabase uintptr) uintptr { /* sqlite3.c:114262:22: */ var p uintptr = uintptr(0) var i int32 @@ -109297,7 +109316,7 @@ func Xsqlite3FindTable(tls *libc.TLS, db uintptr, zName uintptr, zDatabase uintp // The difference between this routine and sqlite3FindTable() is that this // routine leaves an error message in pParse->zErrMsg where // sqlite3FindTable() does not. -func Xsqlite3LocateTable(tls *libc.TLS, pParse uintptr, flags U32, zName uintptr, zDbase uintptr) uintptr { /* sqlite3.c:114327:22: */ +func Xsqlite3LocateTable(tls *libc.TLS, pParse uintptr, flags U32, zName uintptr, zDbase uintptr) uintptr { /* sqlite3.c:114340:22: */ bp := tls.Alloc(40) defer tls.Free(40) @@ -109360,7 +109379,7 @@ func Xsqlite3LocateTable(tls *libc.TLS, pParse uintptr, flags U32, zName uintptr // the search to schema (p->pSchema) if it is not NULL. p->pSchema may be // non-NULL if it is part of a view or trigger program definition. See // sqlite3FixSrcList() for details. -func Xsqlite3LocateTableItem(tls *libc.TLS, pParse uintptr, flags U32, p uintptr) uintptr { /* sqlite3.c:114390:22: */ +func Xsqlite3LocateTableItem(tls *libc.TLS, pParse uintptr, flags U32, p uintptr) uintptr { /* sqlite3.c:114403:22: */ var zDb uintptr if (*SrcItem)(unsafe.Pointer(p)).FpSchema != 0 { @@ -109374,7 +109393,7 @@ func Xsqlite3LocateTableItem(tls *libc.TLS, pParse uintptr, flags U32, p uintptr // Return the preferred table name for system tables. Translate legacy // names into the new preferred names, as appropriate. -func Xsqlite3PreferredTableName(tls *libc.TLS, zName uintptr) uintptr { /* sqlite3.c:114410:27: */ +func Xsqlite3PreferredTableName(tls *libc.TLS, zName uintptr) uintptr { /* sqlite3.c:114423:27: */ if Xsqlite3_strnicmp(tls, zName, ts+8422, 7) == 0 { if Xsqlite3StrICmp(tls, zName+uintptr(7), ts+6247+7) == 0 { return ts + 12422 /* "sqlite_schema" */ @@ -109396,7 +109415,7 @@ func Xsqlite3PreferredTableName(tls *libc.TLS, zName uintptr) uintptr { /* sqlit // for duplicate index names is done.) The search order is // TEMP first, then MAIN, then any auxiliary databases added // using the ATTACH command. -func Xsqlite3FindIndex(tls *libc.TLS, db uintptr, zName uintptr, zDb uintptr) uintptr { /* sqlite3.c:114434:22: */ +func Xsqlite3FindIndex(tls *libc.TLS, db uintptr, zName uintptr, zDb uintptr) uintptr { /* sqlite3.c:114447:22: */ var p uintptr = uintptr(0) var i int32 // All mutexes are required for schema access. Make sure we hold them. @@ -109423,7 +109442,7 @@ func Xsqlite3FindIndex(tls *libc.TLS, db uintptr, zName uintptr, zDb uintptr) ui } // Reclaim the memory used by an index -func Xsqlite3FreeIndex(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:114454:21: */ +func Xsqlite3FreeIndex(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:114467:21: */ Xsqlite3DeleteIndexSamples(tls, db, p) Xsqlite3ExprDelete(tls, db, (*Index)(unsafe.Pointer(p)).FpPartIdxWhere) Xsqlite3ExprListDelete(tls, db, (*Index)(unsafe.Pointer(p)).FaColExpr) @@ -109439,7 +109458,7 @@ func Xsqlite3FreeIndex(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:1144 // unlike that index from its Table then remove the index from // the index hash table and free all memory structures associated // with the index. -func Xsqlite3UnlinkAndDeleteIndex(tls *libc.TLS, db uintptr, iDb int32, zIdxName uintptr) { /* sqlite3.c:114474:21: */ +func Xsqlite3UnlinkAndDeleteIndex(tls *libc.TLS, db uintptr, iDb int32, zIdxName uintptr) { /* sqlite3.c:114487:21: */ var pIndex uintptr var pHash uintptr @@ -109471,7 +109490,7 @@ func Xsqlite3UnlinkAndDeleteIndex(tls *libc.TLS, db uintptr, iDb int32, zIdxName // // Entry 0 (the "main" database) and entry 1 (the "temp" database) // are never candidates for being collapsed. -func Xsqlite3CollapseDatabaseArray(tls *libc.TLS, db uintptr) { /* sqlite3.c:114507:21: */ +func Xsqlite3CollapseDatabaseArray(tls *libc.TLS, db uintptr) { /* sqlite3.c:114520:21: */ var i int32 var j int32 for i = libc.AssignInt32(&j, 2); i < (*Sqlite3)(unsafe.Pointer(db)).FnDb; i++ { @@ -109497,7 +109516,7 @@ func Xsqlite3CollapseDatabaseArray(tls *libc.TLS, db uintptr) { /* sqlite3.c:114 // Reset the schema for the database at index iDb. Also reset the // TEMP schema. The reset is deferred if db->nSchemaLock is not zero. // Deferred resets may be run by calling with iDb<0. -func Xsqlite3ResetOneSchema(tls *libc.TLS, db uintptr, iDb int32) { /* sqlite3.c:114534:21: */ +func Xsqlite3ResetOneSchema(tls *libc.TLS, db uintptr, iDb int32) { /* sqlite3.c:114547:21: */ var i int32 if iDb >= 0 { @@ -109518,7 +109537,7 @@ func Xsqlite3ResetOneSchema(tls *libc.TLS, db uintptr, iDb int32) { /* sqlite3.c // Erase all schema information from all attached databases (including // "main" and "temp") for a single database connection. -func Xsqlite3ResetAllSchemasOfConnection(tls *libc.TLS, db uintptr) { /* sqlite3.c:114558:21: */ +func Xsqlite3ResetAllSchemasOfConnection(tls *libc.TLS, db uintptr) { /* sqlite3.c:114571:21: */ var i int32 Xsqlite3BtreeEnterAll(tls, db) for i = 0; i < (*Sqlite3)(unsafe.Pointer(db)).FnDb; i++ { @@ -109540,14 +109559,14 @@ func Xsqlite3ResetAllSchemasOfConnection(tls *libc.TLS, db uintptr) { /* sqlite3 } // This routine is called when a commit occurs. -func Xsqlite3CommitInternalChanges(tls *libc.TLS, db uintptr) { /* sqlite3.c:114582:21: */ +func Xsqlite3CommitInternalChanges(tls *libc.TLS, db uintptr) { /* sqlite3.c:114595:21: */ *(*U32)(unsafe.Pointer(db + 44)) &= libc.Uint32FromInt32(libc.CplInt32(DBFLAG_SchemaChange)) } // Set the expression associated with a column. This is usually // the DEFAULT value, but might also be the expression that computes // the value for a generated column. -func Xsqlite3ColumnSetExpr(tls *libc.TLS, pParse uintptr, pTab uintptr, pCol uintptr, pExpr uintptr) { /* sqlite3.c:114591:21: */ +func Xsqlite3ColumnSetExpr(tls *libc.TLS, pParse uintptr, pTab uintptr, pCol uintptr, pExpr uintptr) { /* sqlite3.c:114604:21: */ var pList uintptr pList = *(*uintptr)(unsafe.Pointer(pTab + 64 + 16 /* &.pDfltList */)) @@ -109570,7 +109589,7 @@ func Xsqlite3ColumnSetExpr(tls *libc.TLS, pParse uintptr, pTab uintptr, pCol uin // Return the expression associated with a column. The expression might be // the DEFAULT clause or the AS clause of a generated column. // Return NULL if the column has no associated expression. -func Xsqlite3ColumnExpr(tls *libc.TLS, pTab uintptr, pCol uintptr) uintptr { /* sqlite3.c:114617:21: */ +func Xsqlite3ColumnExpr(tls *libc.TLS, pTab uintptr, pCol uintptr) uintptr { /* sqlite3.c:114630:21: */ if int32((*Column)(unsafe.Pointer(pCol)).FiDflt) == 0 { return uintptr(0) } @@ -109587,7 +109606,7 @@ func Xsqlite3ColumnExpr(tls *libc.TLS, pTab uintptr, pCol uintptr) uintptr { /* } // Set the collating sequence name for a column. -func Xsqlite3ColumnSetColl(tls *libc.TLS, db uintptr, pCol uintptr, zColl uintptr) { /* sqlite3.c:114628:21: */ +func Xsqlite3ColumnSetColl(tls *libc.TLS, db uintptr, pCol uintptr, zColl uintptr) { /* sqlite3.c:114641:21: */ var nColl I64 var n I64 var zNew uintptr @@ -109606,7 +109625,7 @@ func Xsqlite3ColumnSetColl(tls *libc.TLS, db uintptr, pCol uintptr, zColl uintpt } // Return the collating squence name for a column -func Xsqlite3ColumnColl(tls *libc.TLS, pCol uintptr) uintptr { /* sqlite3.c:114653:27: */ +func Xsqlite3ColumnColl(tls *libc.TLS, pCol uintptr) uintptr { /* sqlite3.c:114666:27: */ var z uintptr if int32((*Column)(unsafe.Pointer(pCol)).FcolFlags)&COLFLAG_HASCOLL == 0 { return uintptr(0) @@ -109625,7 +109644,7 @@ func Xsqlite3ColumnColl(tls *libc.TLS, pCol uintptr) uintptr { /* sqlite3.c:1146 // Delete memory allocated for the column names of a table or view (the // Table.aCol[] array). -func Xsqlite3DeleteColumnNames(tls *libc.TLS, db uintptr, pTable uintptr) { /* sqlite3.c:114668:21: */ +func Xsqlite3DeleteColumnNames(tls *libc.TLS, db uintptr, pTable uintptr) { /* sqlite3.c:114681:21: */ var i int32 var pCol uintptr @@ -109675,7 +109694,7 @@ func Xsqlite3DeleteColumnNames(tls *libc.TLS, db uintptr, pTable uintptr) { /* s // lookaside memory, but some ephemeral Table objects do.) Or the // db parameter can be used with db->pnBytesFreed to measure the memory // used by the Table object. -func deleteTable(tls *libc.TLS, db uintptr, pTable uintptr) { /* sqlite3.c:114706:29: */ +func deleteTable(tls *libc.TLS, db uintptr, pTable uintptr) { /* sqlite3.c:114719:29: */ var pIndex uintptr var pNext uintptr @@ -109712,7 +109731,7 @@ func deleteTable(tls *libc.TLS, db uintptr, pTable uintptr) { /* sqlite3.c:11470 } -func Xsqlite3DeleteTable(tls *libc.TLS, db uintptr, pTable uintptr) { /* sqlite3.c:114763:21: */ +func Xsqlite3DeleteTable(tls *libc.TLS, db uintptr, pTable uintptr) { /* sqlite3.c:114776:21: */ // Do not delete the table until the reference count reaches zero. if !(pTable != 0) { return @@ -109725,7 +109744,7 @@ func Xsqlite3DeleteTable(tls *libc.TLS, db uintptr, pTable uintptr) { /* sqlite3 // Unlink the given table from the hash tables and the delete the // table structure with all its indices and foreign keys. -func Xsqlite3UnlinkAndDeleteTable(tls *libc.TLS, db uintptr, iDb int32, zTabName uintptr) { /* sqlite3.c:114775:21: */ +func Xsqlite3UnlinkAndDeleteTable(tls *libc.TLS, db uintptr, iDb int32, zTabName uintptr) { /* sqlite3.c:114788:21: */ var p uintptr var pDb uintptr @@ -109747,7 +109766,7 @@ func Xsqlite3UnlinkAndDeleteTable(tls *libc.TLS, db uintptr, iDb int32, zTabName // Tokens are often just pointers into the original SQL text and so // are not \000 terminated and are not persistent. The returned string // is \000 terminated and is persistent. -func Xsqlite3NameFromToken(tls *libc.TLS, db uintptr, pName uintptr) uintptr { /* sqlite3.c:114803:21: */ +func Xsqlite3NameFromToken(tls *libc.TLS, db uintptr, pName uintptr) uintptr { /* sqlite3.c:114816:21: */ var zName uintptr if pName != 0 { zName = Xsqlite3DbStrNDup(tls, db, (*Token)(unsafe.Pointer(pName)).Fz, uint64((*Token)(unsafe.Pointer(pName)).Fn)) @@ -109760,7 +109779,7 @@ func Xsqlite3NameFromToken(tls *libc.TLS, db uintptr, pName uintptr) uintptr { / // Open the sqlite_schema table stored in database number iDb for // writing. The table is opened using cursor 0. -func Xsqlite3OpenSchemaTable(tls *libc.TLS, p uintptr, iDb int32) { /* sqlite3.c:114818:21: */ +func Xsqlite3OpenSchemaTable(tls *libc.TLS, p uintptr, iDb int32) { /* sqlite3.c:114831:21: */ var v uintptr = Xsqlite3GetVdbe(tls, p) Xsqlite3TableLock(tls, p, iDb, uint32(SCHEMA_ROOT), uint8(1), ts+6247) Xsqlite3VdbeAddOp4Int(tls, v, OP_OpenWrite, 0, SCHEMA_ROOT, iDb, 5) @@ -109773,7 +109792,7 @@ func Xsqlite3OpenSchemaTable(tls *libc.TLS, p uintptr, iDb int32) { /* sqlite3.c // of a database ("main", "temp" or the name of an attached db). This // function returns the index of the named database in db->aDb[], or // -1 if the named db cannot be found. -func Xsqlite3FindDbName(tls *libc.TLS, db uintptr, zName uintptr) int32 { /* sqlite3.c:114833:20: */ +func Xsqlite3FindDbName(tls *libc.TLS, db uintptr, zName uintptr) int32 { /* sqlite3.c:114846:20: */ var i int32 = -1 // Database number if zName != 0 { var pDb uintptr @@ -109809,7 +109828,7 @@ func Xsqlite3FindDbName(tls *libc.TLS, db uintptr, zName uintptr) int32 { /* sql // "temp" or the name of an attached db). This routine returns the // index of the named database in db->aDb[], or -1 if the named db // does not exist. -func Xsqlite3FindDb(tls *libc.TLS, db uintptr, pName uintptr) int32 { /* sqlite3.c:114853:20: */ +func Xsqlite3FindDb(tls *libc.TLS, db uintptr, pName uintptr) int32 { /* sqlite3.c:114866:20: */ var i int32 // Database number var zName uintptr // Name we are searching for zName = Xsqlite3NameFromToken(tls, db, pName) @@ -109833,7 +109852,7 @@ func Xsqlite3FindDb(tls *libc.TLS, db uintptr, pName uintptr) int32 { /* sqlite3 // This routine sets the *ppUnqual pointer to point at the token (pName1 or // pName2) that stores the unqualified table name. The index of the // database "xxx" is returned. -func Xsqlite3TwoPartName(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 uintptr, pUnqual uintptr) int32 { /* sqlite3.c:114878:20: */ +func Xsqlite3TwoPartName(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 uintptr, pUnqual uintptr) int32 { /* sqlite3.c:114891:20: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -109860,7 +109879,7 @@ func Xsqlite3TwoPartName(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 u } // True if PRAGMA writable_schema is ON -func Xsqlite3WritableSchema(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:114911:20: */ +func Xsqlite3WritableSchema(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:114924:20: */ return libc.Bool32((*Sqlite3)(unsafe.Pointer(db)).Fflags&uint64(SQLITE_WriteSchema|SQLITE_Defensive) == uint64(SQLITE_WriteSchema)) } @@ -109874,7 +109893,7 @@ func Xsqlite3WritableSchema(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:1149 // When parsing the sqlite_schema table, this routine also checks to // make sure the "type", "name", and "tbl_name" columns are consistent // with the SQL. -func Xsqlite3CheckObjectName(tls *libc.TLS, pParse uintptr, zName uintptr, zType uintptr, zTblName uintptr) int32 { /* sqlite3.c:114933:20: */ +func Xsqlite3CheckObjectName(tls *libc.TLS, pParse uintptr, zName uintptr, zType uintptr, zTblName uintptr) int32 { /* sqlite3.c:114946:20: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -109905,7 +109924,7 @@ func Xsqlite3CheckObjectName(tls *libc.TLS, pParse uintptr, zName uintptr, zType } // Return the PRIMARY KEY index of a table -func Xsqlite3PrimaryKeyIndex(tls *libc.TLS, pTab uintptr) uintptr { /* sqlite3.c:114971:22: */ +func Xsqlite3PrimaryKeyIndex(tls *libc.TLS, pTab uintptr) uintptr { /* sqlite3.c:114984:22: */ var p uintptr for p = (*Table)(unsafe.Pointer(pTab)).FpIndex; p != 0 && !(int32(*(*uint16)(unsafe.Pointer(p + 100 /* &.idxType */))&0x3>>0) == SQLITE_IDXTYPE_PRIMARYKEY); p = (*Index)(unsafe.Pointer(p)).FpNext { } @@ -109916,7 +109935,7 @@ func Xsqlite3PrimaryKeyIndex(tls *libc.TLS, pTab uintptr) uintptr { /* sqlite3.c // for the column iCol in the table (as defined by the CREATE TABLE statement) // find the (first) offset of that column in index pIdx. Or return -1 // if column iCol is not used in index pIdx. -func Xsqlite3TableColumnToIndex(tls *libc.TLS, pIdx uintptr, iCol I16) I16 { /* sqlite3.c:114983:20: */ +func Xsqlite3TableColumnToIndex(tls *libc.TLS, pIdx uintptr, iCol I16) I16 { /* sqlite3.c:114996:20: */ var i int32 for i = 0; i < int32((*Index)(unsafe.Pointer(pIdx)).FnColumn); i++ { if int32(iCol) == int32(*(*I16)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FaiColumn + uintptr(i)*2))) { @@ -109936,7 +109955,7 @@ func Xsqlite3TableColumnToIndex(tls *libc.TLS, pIdx uintptr, iCol I16) I16 { /* // and only there are VIRTUAL columns to the left. // // If SQLITE_OMIT_GENERATED_COLUMNS, this routine is a no-op macro. -func Xsqlite3StorageColumnToTable(tls *libc.TLS, pTab uintptr, iCol I16) I16 { /* sqlite3.c:115003:20: */ +func Xsqlite3StorageColumnToTable(tls *libc.TLS, pTab uintptr, iCol I16) I16 { /* sqlite3.c:115016:20: */ if (*Table)(unsafe.Pointer(pTab)).FtabFlags&U32(TF_HasVirtual) != 0 { var i int32 for i = 0; i <= int32(iCol); i++ { @@ -109983,7 +110002,7 @@ func Xsqlite3StorageColumnToTable(tls *libc.TLS, pTab uintptr, iCol I16) I16 { / // this routine is a no-op macro. If the pTab does not have any virtual // columns, then this routine is no-op that always return iCol. If iCol // is negative (indicating the ROWID column) then this routine return iCol. -func Xsqlite3TableColumnToStorage(tls *libc.TLS, pTab uintptr, iCol I16) I16 { /* sqlite3.c:115051:20: */ +func Xsqlite3TableColumnToStorage(tls *libc.TLS, pTab uintptr, iCol I16) I16 { /* sqlite3.c:115064:20: */ var i int32 var n I16 @@ -110013,7 +110032,7 @@ func Xsqlite3TableColumnToStorage(tls *libc.TLS, pTab uintptr, iCol I16) I16 { / // exists, so that the prepared statement for CREATE TABLE IF NOT EXISTS // will return false for sqlite3_stmt_readonly() even if that statement // is a read-only no-op. -func sqlite3ForceNotReadOnly(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:115077:13: */ +func sqlite3ForceNotReadOnly(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:115090:13: */ var iReg int32 = libc.PreIncInt32(&(*Parse)(unsafe.Pointer(pParse)).FnMem, 1) var v uintptr = Xsqlite3GetVdbe(tls, pParse) if v != 0 { @@ -110036,7 +110055,7 @@ func sqlite3ForceNotReadOnly(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:11507 // routines will be called to add more information to this record. // At the end of the CREATE TABLE statement, the sqlite3EndTable() routine // is called to complete the construction of the new table record. -func Xsqlite3StartTable(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 uintptr, isTemp int32, isView int32, isVirtual int32, noErr int32) { /* sqlite3.c:115102:21: */ +func Xsqlite3StartTable(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 uintptr, isTemp int32, isView int32, isVirtual int32, noErr int32) { /* sqlite3.c:115115:21: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -110294,8 +110313,8 @@ var aCode = [4]U8{ U8(SQLITE_CREATE_TEMP_TABLE), U8(SQLITE_CREATE_VIEW), U8(SQLITE_CREATE_TEMP_VIEW), -} /* sqlite3.c:115149:21 */ -var nullRow = [6]int8{int8(6), int8(0), int8(0), int8(0), int8(0), int8(0)} /* sqlite3.c:115228:23 */ +} /* sqlite3.c:115162:21 */ +var nullRow = [6]int8{int8(6), int8(0), int8(0), int8(0), int8(0), int8(0)} /* sqlite3.c:115241:23 */ // Set properties of a table column based on the (magical) // name of the column. @@ -110305,7 +110324,7 @@ var nullRow = [6]int8{int8(6), int8(0), int8(0), int8(0), int8(0), int8(0)} /* s // with any application-generated triggers. // Clean up the data structures associated with the RETURNING clause. -func sqlite3DeleteReturning(tls *libc.TLS, db uintptr, pRet uintptr) { /* sqlite3.c:115313:13: */ +func sqlite3DeleteReturning(tls *libc.TLS, db uintptr, pRet uintptr) { /* sqlite3.c:115326:13: */ var pHash uintptr pHash = (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+1*32)).FpSchema + 56 Xsqlite3HashInsert(tls, pHash, ts+12666, uintptr(0)) @@ -110327,7 +110346,7 @@ func sqlite3DeleteReturning(tls *libc.TLS, db uintptr, pRet uintptr) { /* sqlite // is attached to a DELETE, INSERT, or UPDATE, so construct it as a // RETURNING trigger instead. It will then be converted into the appropriate // type on the first call to sqlite3TriggersExist(). -func Xsqlite3AddReturning(tls *libc.TLS, pParse uintptr, pList uintptr) { /* sqlite3.c:115337:21: */ +func Xsqlite3AddReturning(tls *libc.TLS, pParse uintptr, pList uintptr) { /* sqlite3.c:115350:21: */ var pRet uintptr var pHash uintptr var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb @@ -110377,7 +110396,7 @@ func Xsqlite3AddReturning(tls *libc.TLS, pParse uintptr, pList uintptr) { /* sql // in a CREATE TABLE statement. sqlite3StartTable() gets called // first to get things going. Then this routine is called for each // column. -func Xsqlite3AddColumn(tls *libc.TLS, pParse uintptr, sName Token, sType Token) { /* sqlite3.c:115385:21: */ +func Xsqlite3AddColumn(tls *libc.TLS, pParse uintptr, sName Token, sType Token) { /* sqlite3.c:115398:21: */ bp := tls.Alloc(48) defer tls.Free(48) *(*Token)(unsafe.Pointer(bp + 16)) = sName @@ -110496,7 +110515,7 @@ func Xsqlite3AddColumn(tls *libc.TLS, pParse uintptr, sName Token, sType Token) // parsing a CREATE TABLE statement. A "NOT NULL" constraint has // been seen on a column. This routine sets the notNull flag on // the column currently under construction. -func Xsqlite3AddNotNull(tls *libc.TLS, pParse uintptr, onError int32) { /* sqlite3.c:115498:21: */ +func Xsqlite3AddNotNull(tls *libc.TLS, pParse uintptr, onError int32) { /* sqlite3.c:115511:21: */ var p uintptr var pCol uintptr p = (*Parse)(unsafe.Pointer(pParse)).FpNewTable @@ -110543,7 +110562,7 @@ func Xsqlite3AddNotNull(tls *libc.TLS, pParse uintptr, onError int32) { /* sqlit // // If none of the substrings in the above table are found, // SQLITE_AFF_NUMERIC is returned. -func Xsqlite3AffinityType(tls *libc.TLS, zIn uintptr, pCol uintptr) int8 { /* sqlite3.c:115545:21: */ +func Xsqlite3AffinityType(tls *libc.TLS, zIn uintptr, pCol uintptr) int8 { /* sqlite3.c:115558:21: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -110617,7 +110636,7 @@ func Xsqlite3AffinityType(tls *libc.TLS, zIn uintptr, pCol uintptr) int8 { /* sq // // This routine is called by the parser while in the middle of // parsing a CREATE TABLE statement. -func Xsqlite3AddDefaultValue(tls *libc.TLS, pParse uintptr, pExpr uintptr, zStart uintptr, zEnd uintptr) { /* sqlite3.c:115622:21: */ +func Xsqlite3AddDefaultValue(tls *libc.TLS, pParse uintptr, pExpr uintptr, zStart uintptr, zEnd uintptr) { /* sqlite3.c:115635:21: */ bp := tls.Alloc(80) defer tls.Free(80) @@ -110670,7 +110689,7 @@ func Xsqlite3AddDefaultValue(tls *libc.TLS, pParse uintptr, pExpr uintptr, zStar // if the expression is just a TK_STRING with an optional COLLATE clause. // If the expression is anything other than TK_STRING, the expression is // unchanged. -func sqlite3StringToId(tls *libc.TLS, p uintptr) { /* sqlite3.c:115681:13: */ +func sqlite3StringToId(tls *libc.TLS, p uintptr) { /* sqlite3.c:115694:13: */ if int32((*Expr)(unsafe.Pointer(p)).Fop) == TK_STRING { (*Expr)(unsafe.Pointer(p)).Fop = U8(TK_ID) } else if int32((*Expr)(unsafe.Pointer(p)).Fop) == TK_COLLATE && int32((*Expr)(unsafe.Pointer((*Expr)(unsafe.Pointer(p)).FpLeft)).Fop) == TK_STRING { @@ -110679,7 +110698,7 @@ func sqlite3StringToId(tls *libc.TLS, p uintptr) { /* sqlite3.c:115681:13: */ } // Tag the given column as being part of the PRIMARY KEY -func makeColumnPartOfPrimaryKey(tls *libc.TLS, pParse uintptr, pCol uintptr) { /* sqlite3.c:115692:13: */ +func makeColumnPartOfPrimaryKey(tls *libc.TLS, pParse uintptr, pCol uintptr) { /* sqlite3.c:115705:13: */ *(*U16)(unsafe.Pointer(pCol + 16)) |= U16(COLFLAG_PRIMKEY) if int32((*Column)(unsafe.Pointer(pCol)).FcolFlags)&COLFLAG_GENERATED != 0 { @@ -110704,7 +110723,7 @@ func makeColumnPartOfPrimaryKey(tls *libc.TLS, pParse uintptr, pCol uintptr) { / // // If the key is not an INTEGER PRIMARY KEY, then create a unique // index for the key. No index is created for INTEGER PRIMARY KEYs. -func Xsqlite3AddPrimaryKey(tls *libc.TLS, pParse uintptr, pList uintptr, onError int32, autoInc int32, sortOrder int32) { /* sqlite3.c:115722:21: */ +func Xsqlite3AddPrimaryKey(tls *libc.TLS, pParse uintptr, pList uintptr, onError int32, autoInc int32, sortOrder int32) { /* sqlite3.c:115735:21: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -110835,7 +110854,7 @@ primary_key_exit: } // Add a new CHECK constraint to the table currently under construction. -func Xsqlite3AddCheckConstraint(tls *libc.TLS, pParse uintptr, pCheckExpr uintptr, zStart uintptr, zEnd uintptr) { /* sqlite3.c:115799:21: */ +func Xsqlite3AddCheckConstraint(tls *libc.TLS, pParse uintptr, pCheckExpr uintptr, zStart uintptr, zEnd uintptr) { /* sqlite3.c:115812:21: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -110865,7 +110884,7 @@ func Xsqlite3AddCheckConstraint(tls *libc.TLS, pParse uintptr, pCheckExpr uintpt // Set the collation function of the most recently parsed table column // to the CollSeq given. -func Xsqlite3AddCollateType(tls *libc.TLS, pParse uintptr, pToken uintptr) { /* sqlite3.c:115833:21: */ +func Xsqlite3AddCollateType(tls *libc.TLS, pParse uintptr, pToken uintptr) { /* sqlite3.c:115846:21: */ var p uintptr var i int32 var zColl uintptr // Dequoted name of collation sequence @@ -110900,7 +110919,7 @@ func Xsqlite3AddCollateType(tls *libc.TLS, pParse uintptr, pToken uintptr) { /* // Change the most recently parsed column to be a GENERATED ALWAYS AS // column. -func Xsqlite3AddGenerated(tls *libc.TLS, pParse uintptr, pExpr uintptr, pType uintptr) { /* sqlite3.c:115866:21: */ +func Xsqlite3AddGenerated(tls *libc.TLS, pParse uintptr, pExpr uintptr, pType uintptr) { /* sqlite3.c:115879:21: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -110995,7 +111014,7 @@ generated_done: // // IMPLEMENTATION-OF: R-34230-56049 SQLite automatically increments // the schema-version whenever the schema changes. -func Xsqlite3ChangeCookie(tls *libc.TLS, pParse uintptr, iDb int32) { /* sqlite3.c:115934:21: */ +func Xsqlite3ChangeCookie(tls *libc.TLS, pParse uintptr, iDb int32) { /* sqlite3.c:115947:21: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe @@ -111009,7 +111028,7 @@ func Xsqlite3ChangeCookie(tls *libc.TLS, pParse uintptr, iDb int32) { /* sqlite3 // // The estimate is conservative. It might be larger that what is // really needed. -func identLength(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:115950:12: */ +func identLength(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:115963:12: */ var n int32 n = 0 __1: @@ -111044,7 +111063,7 @@ __3: // characters, does not begin with a digit and is not an SQL keyword, // then it is copied to the output buffer exactly as it is. Otherwise, // it is quoted using double-quotes. -func identPut(tls *libc.TLS, z uintptr, pIdx uintptr, zSignedIdent uintptr) { /* sqlite3.c:115971:13: */ +func identPut(tls *libc.TLS, z uintptr, pIdx uintptr, zSignedIdent uintptr) { /* sqlite3.c:115984:13: */ var zIdent uintptr = zSignedIdent var i int32 var j int32 @@ -111080,7 +111099,7 @@ func identPut(tls *libc.TLS, z uintptr, pIdx uintptr, zSignedIdent uintptr) { /* // Generate a CREATE TABLE statement appropriate for the given // table. Memory to hold the text of the statement is obtained // from sqliteMalloc() and must be freed by the calling function. -func createTableStmt(tls *libc.TLS, db uintptr, p uintptr) uintptr { /* sqlite3.c:115999:13: */ +func createTableStmt(tls *libc.TLS, db uintptr, p uintptr) uintptr { /* sqlite3.c:116012:13: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -111172,11 +111191,11 @@ var azType1 = [5]uintptr{ ts + 13141, ts + 13146, ts + 13151, -} /* sqlite3.c:116029:23 */ +} /* sqlite3.c:116042:23 */ // Resize an Index object to hold N columns total. Return SQLITE_OK // on success and SQLITE_NOMEM on an OOM error. -func resizeIndexObject(tls *libc.TLS, db uintptr, pIdx uintptr, N int32) int32 { /* sqlite3.c:116067:12: */ +func resizeIndexObject(tls *libc.TLS, db uintptr, pIdx uintptr, N int32) int32 { /* sqlite3.c:116080:12: */ var zExtra uintptr var nByte int32 if int32((*Index)(unsafe.Pointer(pIdx)).FnColumn) >= N { @@ -111205,7 +111224,7 @@ func resizeIndexObject(tls *libc.TLS, db uintptr, pIdx uintptr, N int32) int32 { } // Estimate the total row width for a table. -func estimateTableWidth(tls *libc.TLS, pTab uintptr) { /* sqlite3.c:116094:13: */ +func estimateTableWidth(tls *libc.TLS, pTab uintptr) { /* sqlite3.c:116107:13: */ var wTable uint32 = uint32(0) var pTabCol uintptr var i int32 @@ -111234,7 +111253,7 @@ __3: } // Estimate the average size of a row for an index. -func estimateIndexWidth(tls *libc.TLS, pIdx uintptr) { /* sqlite3.c:116108:13: */ +func estimateIndexWidth(tls *libc.TLS, pIdx uintptr) { /* sqlite3.c:116121:13: */ var wIndex uint32 = uint32(0) var i int32 var aCol uintptr = (*Table)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FpTable)).FaCol @@ -111254,7 +111273,7 @@ func estimateIndexWidth(tls *libc.TLS, pIdx uintptr) { /* sqlite3.c:116108:13: * // Return true if column number x is any of the first nCol entries of aiCol[]. // This is used to determine if the column number x appears in any of the // first nCol entries of an index. -func hasColumn(tls *libc.TLS, aiCol uintptr, nCol int32, x int32) int32 { /* sqlite3.c:116124:12: */ +func hasColumn(tls *libc.TLS, aiCol uintptr, nCol int32, x int32) int32 { /* sqlite3.c:116137:12: */ for libc.PostDecInt32(&nCol, 1) > 0 { if x == int32(*(*I16)(unsafe.Pointer(libc.PostIncUintptr(&aiCol, 2)))) { return 1 @@ -111274,7 +111293,7 @@ func hasColumn(tls *libc.TLS, aiCol uintptr, nCol int32, x int32) int32 { /* sql // This routine differs from hasColumn() in that both the column and the // collating sequence must match for this routine, but for hasColumn() only // the column name must match. -func isDupColumn(tls *libc.TLS, pIdx uintptr, nKey int32, pPk uintptr, iCol int32) int32 { /* sqlite3.c:116146:12: */ +func isDupColumn(tls *libc.TLS, pIdx uintptr, nKey int32, pPk uintptr, iCol int32) int32 { /* sqlite3.c:116159:12: */ var i int32 var j int32 @@ -111307,7 +111326,7 @@ func isDupColumn(tls *libc.TLS, pIdx uintptr, nKey int32, pPk uintptr, iCol int3 // // The colNotIdxed mask is AND-ed with the SrcList.a[].colUsed mask // to determine if the index is covering index. -func recomputeColumnsNotIndexed(tls *libc.TLS, pIdx uintptr) { /* sqlite3.c:116185:13: */ +func recomputeColumnsNotIndexed(tls *libc.TLS, pIdx uintptr) { /* sqlite3.c:116198:13: */ var m Bitmask = uint64(0) var j int32 var pTab uintptr = (*Index)(unsafe.Pointer(pIdx)).FpTable @@ -111346,7 +111365,7 @@ func recomputeColumnsNotIndexed(tls *libc.TLS, pIdx uintptr) { /* sqlite3.c:1161 // indices with the PRIMARY KEY columns. // // For virtual tables, only (1) is performed. -func convertToWithoutRowidTable(tls *libc.TLS, pParse uintptr, pTab uintptr) { /* sqlite3.c:116225:13: */ +func convertToWithoutRowidTable(tls *libc.TLS, pParse uintptr, pTab uintptr) { /* sqlite3.c:116238:13: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -111509,7 +111528,7 @@ func convertToWithoutRowidTable(tls *libc.TLS, pParse uintptr, pTab uintptr) { / // Return true if pTab is a virtual table and zName is a shadow table name // for that virtual table. -func Xsqlite3IsShadowTableOf(tls *libc.TLS, db uintptr, pTab uintptr, zName uintptr) int32 { /* sqlite3.c:116385:20: */ +func Xsqlite3IsShadowTableOf(tls *libc.TLS, db uintptr, pTab uintptr, zName uintptr) int32 { /* sqlite3.c:116398:20: */ var nName int32 // Length of zName var pMod uintptr // Module for the virtual table @@ -111542,7 +111561,7 @@ func Xsqlite3IsShadowTableOf(tls *libc.TLS, db uintptr, pTab uintptr, zName uint // exists and has an xShadowName method, then loop over all other ordinary // tables within the same schema looking for shadow tables of pTab, and mark // any shadow tables seen using the TF_Shadow flag. -func Xsqlite3MarkAllShadowTablesOf(tls *libc.TLS, db uintptr, pTab uintptr) { /* sqlite3.c:116408:21: */ +func Xsqlite3MarkAllShadowTablesOf(tls *libc.TLS, db uintptr, pTab uintptr) { /* sqlite3.c:116421:21: */ var nName int32 // Length of pTab->zName var pMod uintptr // Module for the virtual table var k uintptr // For looping through the symbol table @@ -111586,7 +111605,7 @@ func Xsqlite3MarkAllShadowTablesOf(tls *libc.TLS, db uintptr, pTab uintptr) { /* // // zName is temporarily modified while this routine is running, but is // restored to its original value prior to this routine returning. -func Xsqlite3ShadowTableName(tls *libc.TLS, db uintptr, zName uintptr) int32 { /* sqlite3.c:116444:20: */ +func Xsqlite3ShadowTableName(tls *libc.TLS, db uintptr, zName uintptr) int32 { /* sqlite3.c:116457:20: */ var zTail uintptr // Pointer to the last "_" in zName var pTab uintptr // Table that zName is a shadow of zTail = libc.Xstrrchr(tls, zName, '_') @@ -111623,7 +111642,7 @@ func Xsqlite3ShadowTableName(tls *libc.TLS, db uintptr, zName uintptr) int32 { / // was called to create a table generated from a // "CREATE TABLE ... AS SELECT ..." statement. The column names of // the new table will match the result set of the SELECT. -func Xsqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr, tabOpts U32, pSelect uintptr) { /* sqlite3.c:116505:21: */ +func Xsqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr, tabOpts U32, pSelect uintptr) { /* sqlite3.c:116518:21: */ bp := tls.Alloc(184) defer tls.Free(184) @@ -111944,7 +111963,7 @@ func Xsqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr } // The parser calls this routine in order to create a new VIEW -func Xsqlite3CreateView(tls *libc.TLS, pParse uintptr, pBegin uintptr, pName1 uintptr, pName2 uintptr, pCNames uintptr, pSelect uintptr, isTemp int32, noErr int32) { /* sqlite3.c:116847:21: */ +func Xsqlite3CreateView(tls *libc.TLS, pParse uintptr, pBegin uintptr, pName1 uintptr, pName2 uintptr, pCNames uintptr, pSelect uintptr, isTemp int32, noErr int32) { /* sqlite3.c:116860:21: */ bp := tls.Alloc(120) defer tls.Free(120) @@ -112062,7 +112081,7 @@ __10: // The Table structure pTable is really a VIEW. Fill in the names of // the columns of the view in the pTable structure. Return the number // of errors. If an error is seen leave an error message in pParse->zErrMsg. -func Xsqlite3ViewGetColumnNames(tls *libc.TLS, pParse uintptr, pTable uintptr) int32 { /* sqlite3.c:116939:20: */ +func Xsqlite3ViewGetColumnNames(tls *libc.TLS, pParse uintptr, pTable uintptr) int32 { /* sqlite3.c:116952:20: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -112177,7 +112196,7 @@ func Xsqlite3ViewGetColumnNames(tls *libc.TLS, pParse uintptr, pTable uintptr) i } // Clear the column names from every VIEW in database idx. -func sqliteViewResetAll(tls *libc.TLS, db uintptr, idx int32) { /* sqlite3.c:117067:13: */ +func sqliteViewResetAll(tls *libc.TLS, db uintptr, idx int32) { /* sqlite3.c:117080:13: */ var i uintptr if !(int32((*Schema)(unsafe.Pointer((*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(idx)*32)).FpSchema)).FschemaFlags)&DB_UnresetViews == DB_UnresetViews) { @@ -112207,7 +112226,7 @@ func sqliteViewResetAll(tls *libc.TLS, db uintptr, idx int32) { /* sqlite3.c:117 // We must continue looping until all tables and indices with // rootpage==iFrom have been converted to have a rootpage of iTo // in order to be certain that we got the right one. -func Xsqlite3RootPageMoved(tls *libc.TLS, db uintptr, iDb int32, iFrom Pgno, iTo Pgno) { /* sqlite3.c:117101:21: */ +func Xsqlite3RootPageMoved(tls *libc.TLS, db uintptr, iDb int32, iFrom Pgno, iTo Pgno) { /* sqlite3.c:117114:21: */ var pElem uintptr var pHash uintptr var pDb uintptr @@ -112233,7 +112252,7 @@ func Xsqlite3RootPageMoved(tls *libc.TLS, db uintptr, iDb int32, iFrom Pgno, iTo // Also write code to modify the sqlite_schema table and internal schema // if a root-page of another table is moved by the btree-layer whilst // erasing iTable (this can happen with an auto-vacuum database). -func destroyRootPage(tls *libc.TLS, pParse uintptr, iTable int32, iDb int32) { /* sqlite3.c:117131:13: */ +func destroyRootPage(tls *libc.TLS, pParse uintptr, iTable int32, iDb int32) { /* sqlite3.c:117144:13: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -112263,7 +112282,7 @@ func destroyRootPage(tls *libc.TLS, pParse uintptr, iTable int32, iDb int32) { / // Code to update the sqlite_schema tables and internal schema definitions // in case a root-page belonging to another table is moved by the btree layer // is also added (this can happen with an auto-vacuum database). -func destroyTable(tls *libc.TLS, pParse uintptr, pTab uintptr) { /* sqlite3.c:117161:13: */ +func destroyTable(tls *libc.TLS, pParse uintptr, pTab uintptr) { /* sqlite3.c:117174:13: */ // If the database may be auto-vacuum capable (if SQLITE_OMIT_AUTOVACUUM // is not defined), then it is important to call OP_Destroy on the // table and index root-pages in order, starting with the numerically @@ -112309,7 +112328,7 @@ func destroyTable(tls *libc.TLS, pParse uintptr, pTab uintptr) { /* sqlite3.c:11 // Remove entries from the sqlite_statN tables (for N in (1,2,3)) // after a DROP INDEX or DROP TABLE command. -func sqlite3ClearStatTables(tls *libc.TLS, pParse uintptr, iDb int32, zType uintptr, zName uintptr) { /* sqlite3.c:117210:13: */ +func sqlite3ClearStatTables(tls *libc.TLS, pParse uintptr, iDb int32, zType uintptr, zName uintptr) { /* sqlite3.c:117223:13: */ bp := tls.Alloc(64) defer tls.Free(64) @@ -112328,7 +112347,7 @@ func sqlite3ClearStatTables(tls *libc.TLS, pParse uintptr, iDb int32, zType uint } // Generate code to drop a table. -func Xsqlite3CodeDropTable(tls *libc.TLS, pParse uintptr, pTab uintptr, iDb int32, isView int32) { /* sqlite3.c:117233:21: */ +func Xsqlite3CodeDropTable(tls *libc.TLS, pParse uintptr, pTab uintptr, iDb int32, isView int32) { /* sqlite3.c:117246:21: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -112392,7 +112411,7 @@ func Xsqlite3CodeDropTable(tls *libc.TLS, pParse uintptr, pTab uintptr, iDb int3 // Return TRUE if shadow tables should be read-only in the current // context. -func Xsqlite3ReadOnlyShadowTables(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:117306:20: */ +func Xsqlite3ReadOnlyShadowTables(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:117319:20: */ if (*Sqlite3)(unsafe.Pointer(db)).Fflags&uint64(SQLITE_Defensive) != uint64(0) && (*Sqlite3)(unsafe.Pointer(db)).FpVtabCtx == uintptr(0) && (*Sqlite3)(unsafe.Pointer(db)).FnVdbeExec == 0 && @@ -112403,7 +112422,7 @@ func Xsqlite3ReadOnlyShadowTables(tls *libc.TLS, db uintptr) int32 { /* sqlite3. } // Return true if it is not allowed to drop the given table -func tableMayNotBeDropped(tls *libc.TLS, db uintptr, pTab uintptr) int32 { /* sqlite3.c:117322:12: */ +func tableMayNotBeDropped(tls *libc.TLS, db uintptr, pTab uintptr) int32 { /* sqlite3.c:117335:12: */ if Xsqlite3_strnicmp(tls, (*Table)(unsafe.Pointer(pTab)).FzName, ts+8422, 7) == 0 { if Xsqlite3_strnicmp(tls, (*Table)(unsafe.Pointer(pTab)).FzName+uintptr(7), ts+3230, 4) == 0 { return 0 @@ -112424,7 +112443,7 @@ func tableMayNotBeDropped(tls *libc.TLS, db uintptr, pTab uintptr) int32 { /* sq // This routine is called to do the work of a DROP TABLE statement. // pName is the name of the table to be dropped. -func Xsqlite3DropTable(tls *libc.TLS, pParse uintptr, pName uintptr, isView int32, noErr int32) { /* sqlite3.c:117341:21: */ +func Xsqlite3DropTable(tls *libc.TLS, pParse uintptr, pName uintptr, isView int32, noErr int32) { /* sqlite3.c:117354:21: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -112612,7 +112631,7 @@ exit_drop_table: // // The foreign key is set for IMMEDIATE processing. A subsequent call // to sqlite3DeferForeignKey() might change this to DEFERRED. -func Xsqlite3CreateForeignKey(tls *libc.TLS, pParse uintptr, pFromCol uintptr, pTo uintptr, pToCol uintptr, flags int32) { /* sqlite3.c:117461:21: */ +func Xsqlite3CreateForeignKey(tls *libc.TLS, pParse uintptr, pFromCol uintptr, pTo uintptr, pToCol uintptr, flags int32) { /* sqlite3.c:117474:21: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -112835,7 +112854,7 @@ fk_end: // parameter is 1 for INITIALLY DEFERRED and 0 for INITIALLY IMMEDIATE. // The behavior of the most recently created foreign key is adjusted // accordingly. -func Xsqlite3DeferForeignKey(tls *libc.TLS, pParse uintptr, isDeferred int32) { /* sqlite3.c:117593:21: */ +func Xsqlite3DeferForeignKey(tls *libc.TLS, pParse uintptr, isDeferred int32) { /* sqlite3.c:117606:21: */ var pTab uintptr var pFKey uintptr if libc.AssignUintptr(&pTab, (*Parse)(unsafe.Pointer(pParse)).FpNewTable) == uintptr(0) { @@ -112860,7 +112879,7 @@ func Xsqlite3DeferForeignKey(tls *libc.TLS, pParse uintptr, isDeferred int32) { // root page number of the index. If memRootPage is negative, then // the index already exists and must be cleared before being refilled and // the root page number of the index is taken from pIndex->tnum. -func sqlite3RefillIndex(tls *libc.TLS, pParse uintptr, pIndex uintptr, memRootPage int32) { /* sqlite3.c:117616:13: */ +func sqlite3RefillIndex(tls *libc.TLS, pParse uintptr, pIndex uintptr, memRootPage int32) { /* sqlite3.c:117629:13: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -112972,7 +112991,7 @@ func sqlite3RefillIndex(tls *libc.TLS, pParse uintptr, pIndex uintptr, memRootPa // Increase the allocation size to provide an extra nExtra bytes // of 8-byte aligned space after the Index object and return a // pointer to this extra space in *ppExtra. -func Xsqlite3AllocateIndexObject(tls *libc.TLS, db uintptr, nCol I16, nExtra int32, ppExtra uintptr) uintptr { /* sqlite3.c:117722:22: */ +func Xsqlite3AllocateIndexObject(tls *libc.TLS, db uintptr, nCol I16, nExtra int32, ppExtra uintptr) uintptr { /* sqlite3.c:117735:22: */ var p uintptr // Allocated index object var nByte int32 // Bytes of space for Index object + arrays @@ -112997,7 +113016,7 @@ func Xsqlite3AllocateIndexObject(tls *libc.TLS, db uintptr, nCol I16, nExtra int // If expression list pList contains an expression that was parsed with // an explicit "NULLS FIRST" or "NULLS LAST" clause, leave an error in // pParse and return non-zero. Otherwise, return zero. -func Xsqlite3HasExplicitNulls(tls *libc.TLS, pParse uintptr, pList uintptr) int32 { /* sqlite3.c:117755:20: */ +func Xsqlite3HasExplicitNulls(tls *libc.TLS, pParse uintptr, pList uintptr) int32 { /* sqlite3.c:117768:20: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -113030,7 +113049,7 @@ func Xsqlite3HasExplicitNulls(tls *libc.TLS, pParse uintptr, pList uintptr) int3 // pList is a list of columns to be indexed. pList will be NULL if this // is a primary key or unique-constraint on the most recent column added // to the table currently under construction. -func Xsqlite3CreateIndex(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 uintptr, pTblName uintptr, pList uintptr, onError int32, pStart uintptr, pPIWhere uintptr, sortOrder int32, ifNotExist int32, idxType U8) { /* sqlite3.c:117783:21: */ +func Xsqlite3CreateIndex(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 uintptr, pTblName uintptr, pList uintptr, onError int32, pStart uintptr, pPIWhere uintptr, sortOrder int32, ifNotExist int32, idxType U8) { /* sqlite3.c:117796:21: */ bp := tls.Alloc(256) defer tls.Free(256) @@ -113800,7 +113819,7 @@ __81: goto __101 } Xsqlite3ErrorMsg(tls, pParse, ts+14480, 0) - (*Parse)(unsafe.Pointer(pParse)).Frc = Xsqlite3CorruptError(tls, 118239) + (*Parse)(unsafe.Pointer(pParse)).Frc = Xsqlite3CorruptError(tls, 118252) goto exit_create_index __101: ; @@ -113986,7 +114005,7 @@ __113: // Apart from that, we have little to go on besides intuition as to // how aiRowEst[] should be initialized. The numbers generated here // are based on typical values found in actual indices. -func Xsqlite3DefaultRowEst(tls *libc.TLS, pIdx uintptr) { /* sqlite3.c:118394:21: */ +func Xsqlite3DefaultRowEst(tls *libc.TLS, pIdx uintptr) { /* sqlite3.c:118407:21: */ var a uintptr = (*Index)(unsafe.Pointer(pIdx)).FaiRowLogEst var x LogEst var nCopy int32 = func() int32 { @@ -114030,11 +114049,11 @@ func Xsqlite3DefaultRowEst(tls *libc.TLS, pIdx uintptr) { /* sqlite3.c:118394:21 } } -var aVal = [5]LogEst{int16(33), int16(32), int16(30), int16(28), int16(26)} /* sqlite3.c:118396:23 */ +var aVal = [5]LogEst{int16(33), int16(32), int16(30), int16(28), int16(26)} /* sqlite3.c:118409:23 */ // This routine will drop an existing named index. This routine // implements the DROP INDEX statement. -func Xsqlite3DropIndex(tls *libc.TLS, pParse uintptr, pName uintptr, ifExists int32) { /* sqlite3.c:118438:21: */ +func Xsqlite3DropIndex(tls *libc.TLS, pParse uintptr, pName uintptr, ifExists int32) { /* sqlite3.c:118451:21: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -114153,7 +114172,7 @@ exit_drop_index: // // Otherwise, if the realloc() fails, *pIdx is set to -1, *pnEntry remains // unchanged and a copy of pArray returned. -func Xsqlite3ArrayAllocate(tls *libc.TLS, db uintptr, pArray uintptr, szEntry int32, pnEntry uintptr, pIdx uintptr) uintptr { /* sqlite3.c:118520:21: */ +func Xsqlite3ArrayAllocate(tls *libc.TLS, db uintptr, pArray uintptr, szEntry int32, pnEntry uintptr, pIdx uintptr) uintptr { /* sqlite3.c:118533:21: */ var z uintptr var n Sqlite3_int64 = Sqlite3_int64(libc.AssignPtrInt32(pIdx, *(*int32)(unsafe.Pointer(pnEntry)))) if n&(n-int64(1)) == int64(0) { @@ -114180,7 +114199,7 @@ func Xsqlite3ArrayAllocate(tls *libc.TLS, db uintptr, pArray uintptr, szEntry in // need be. // // A new IdList is returned, or NULL if malloc() fails. -func Xsqlite3IdListAppend(tls *libc.TLS, pParse uintptr, pList uintptr, pToken uintptr) uintptr { /* sqlite3.c:118550:23: */ +func Xsqlite3IdListAppend(tls *libc.TLS, pParse uintptr, pList uintptr, pToken uintptr) uintptr { /* sqlite3.c:118563:23: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -114211,7 +114230,7 @@ func Xsqlite3IdListAppend(tls *libc.TLS, pParse uintptr, pList uintptr, pToken u } // Delete an IdList. -func Xsqlite3IdListDelete(tls *libc.TLS, db uintptr, pList uintptr) { /* sqlite3.c:118578:21: */ +func Xsqlite3IdListDelete(tls *libc.TLS, db uintptr, pList uintptr) { /* sqlite3.c:118591:21: */ var i int32 if pList == uintptr(0) { return @@ -114225,7 +114244,7 @@ func Xsqlite3IdListDelete(tls *libc.TLS, db uintptr, pList uintptr) { /* sqlite3 // Return the index in pList of the identifier named zId. Return -1 // if not found. -func Xsqlite3IdListIndex(tls *libc.TLS, pList uintptr, zName uintptr) int32 { /* sqlite3.c:118592:20: */ +func Xsqlite3IdListIndex(tls *libc.TLS, pList uintptr, zName uintptr) int32 { /* sqlite3.c:118605:20: */ var i int32 if pList == uintptr(0) { return -1 @@ -114263,7 +114282,7 @@ func Xsqlite3IdListIndex(tls *libc.TLS, pList uintptr, zName uintptr) int32 { /* // If a memory allocation fails or the SrcList becomes too large, leave // the original SrcList unchanged, return NULL, and leave an error message // in pParse. -func Xsqlite3SrcListEnlarge(tls *libc.TLS, pParse uintptr, pSrc uintptr, nExtra int32, iStart int32) uintptr { /* sqlite3.c:118633:24: */ +func Xsqlite3SrcListEnlarge(tls *libc.TLS, pParse uintptr, pSrc uintptr, nExtra int32, iStart int32) uintptr { /* sqlite3.c:118646:24: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -114345,7 +114364,7 @@ func Xsqlite3SrcListEnlarge(tls *libc.TLS, pParse uintptr, pSrc uintptr, nExtra // // Both pTable and pDatabase are assumed to be quoted. They are dequoted // before being added to the SrcList. -func Xsqlite3SrcListAppend(tls *libc.TLS, pParse uintptr, pList uintptr, pTable uintptr, pDatabase uintptr) uintptr { /* sqlite3.c:118722:24: */ +func Xsqlite3SrcListAppend(tls *libc.TLS, pParse uintptr, pList uintptr, pTable uintptr, pDatabase uintptr) uintptr { /* sqlite3.c:118735:24: */ var pItem uintptr var db uintptr // Cannot have C without B @@ -114384,7 +114403,7 @@ func Xsqlite3SrcListAppend(tls *libc.TLS, pParse uintptr, pList uintptr, pTable } // Assign VdbeCursor index numbers to all tables in a SrcList -func Xsqlite3SrcListAssignCursors(tls *libc.TLS, pParse uintptr, pList uintptr) { /* sqlite3.c:118767:21: */ +func Xsqlite3SrcListAssignCursors(tls *libc.TLS, pParse uintptr, pList uintptr) { /* sqlite3.c:118780:21: */ var i int32 var pItem uintptr @@ -114416,7 +114435,7 @@ func Xsqlite3SrcListAssignCursors(tls *libc.TLS, pParse uintptr, pList uintptr) } // Delete an entire SrcList including all its substructure. -func Xsqlite3SrcListDelete(tls *libc.TLS, db uintptr, pList uintptr) { /* sqlite3.c:118785:21: */ +func Xsqlite3SrcListDelete(tls *libc.TLS, db uintptr, pList uintptr) { /* sqlite3.c:118798:21: */ var i int32 var pItem uintptr if pList == uintptr(0) { @@ -114479,7 +114498,7 @@ __3: // // Return a new SrcList which encodes is the FROM with the new // term added. -func Xsqlite3SrcListAppendFromTerm(tls *libc.TLS, pParse uintptr, p uintptr, pTable uintptr, pDatabase uintptr, pAlias uintptr, pSubquery uintptr, pOn uintptr, pUsing uintptr) uintptr { /* sqlite3.c:118819:24: */ +func Xsqlite3SrcListAppendFromTerm(tls *libc.TLS, pParse uintptr, p uintptr, pTable uintptr, pDatabase uintptr, pAlias uintptr, pSubquery uintptr, pOn uintptr, pUsing uintptr) uintptr { /* sqlite3.c:118832:24: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -114543,7 +114562,7 @@ append_from_error: // Add an INDEXED BY or NOT INDEXED clause to the most recently added // element of the source-list passed as the second argument. -func Xsqlite3SrcListIndexedBy(tls *libc.TLS, pParse uintptr, p uintptr, pIndexedBy uintptr) { /* sqlite3.c:118870:21: */ +func Xsqlite3SrcListIndexedBy(tls *libc.TLS, pParse uintptr, p uintptr, pIndexedBy uintptr) { /* sqlite3.c:118883:21: */ if p != 0 && (*Token)(unsafe.Pointer(pIndexedBy)).Fn > uint32(0) { var pItem uintptr @@ -114565,7 +114584,7 @@ func Xsqlite3SrcListIndexedBy(tls *libc.TLS, pParse uintptr, p uintptr, pIndexed // Append the contents of SrcList p2 to SrcList p1 and return the resulting // SrcList. Or, if an error occurs, return NULL. In all cases, p1 and p2 // are deleted by this function. -func Xsqlite3SrcListAppendList(tls *libc.TLS, pParse uintptr, p1 uintptr, p2 uintptr) uintptr { /* sqlite3.c:118896:24: */ +func Xsqlite3SrcListAppendList(tls *libc.TLS, pParse uintptr, p1 uintptr, p2 uintptr) uintptr { /* sqlite3.c:118909:24: */ if p2 != 0 { var pNew uintptr = Xsqlite3SrcListEnlarge(tls, pParse, p1, (*SrcList)(unsafe.Pointer(p2)).FnSrc, 1) @@ -114582,7 +114601,7 @@ func Xsqlite3SrcListAppendList(tls *libc.TLS, pParse uintptr, p1 uintptr, p2 uin // Add the list of function arguments to the SrcList entry for a // table-valued-function. -func Xsqlite3SrcListFuncArgs(tls *libc.TLS, pParse uintptr, p uintptr, pList uintptr) { /* sqlite3.c:118915:21: */ +func Xsqlite3SrcListFuncArgs(tls *libc.TLS, pParse uintptr, p uintptr, pList uintptr) { /* sqlite3.c:118928:21: */ if p != 0 { var pItem uintptr = p + 8 + uintptr((*SrcList)(unsafe.Pointer(p)).FnSrc-1)*112 @@ -114606,7 +114625,7 @@ func Xsqlite3SrcListFuncArgs(tls *libc.TLS, pParse uintptr, p uintptr, pList uin // The operator is "natural cross join". The A and B operands are stored // in p->a[0] and p->a[1], respectively. The parser initially stores the // operator with A. This routine shifts that operator over to B. -func Xsqlite3SrcListShiftJoinType(tls *libc.TLS, p uintptr) { /* sqlite3.c:118943:21: */ +func Xsqlite3SrcListShiftJoinType(tls *libc.TLS, p uintptr) { /* sqlite3.c:118956:21: */ if p != 0 { var i int32 for i = (*SrcList)(unsafe.Pointer(p)).FnSrc - 1; i > 0; i-- { @@ -114617,7 +114636,7 @@ func Xsqlite3SrcListShiftJoinType(tls *libc.TLS, p uintptr) { /* sqlite3.c:11894 } // Generate VDBE code for a BEGIN statement. -func Xsqlite3BeginTransaction(tls *libc.TLS, pParse uintptr, type1 int32) { /* sqlite3.c:118956:21: */ +func Xsqlite3BeginTransaction(tls *libc.TLS, pParse uintptr, type1 int32) { /* sqlite3.c:118969:21: */ var db uintptr var v uintptr var i int32 @@ -114652,7 +114671,7 @@ func Xsqlite3BeginTransaction(tls *libc.TLS, pParse uintptr, type1 int32) { /* s // Generate VDBE code for a COMMIT or ROLLBACK statement. // Code for ROLLBACK is generated if eType==TK_ROLLBACK. Otherwise // code is generated for a COMMIT. -func Xsqlite3EndTransaction(tls *libc.TLS, pParse uintptr, eType int32) { /* sqlite3.c:118992:21: */ +func Xsqlite3EndTransaction(tls *libc.TLS, pParse uintptr, eType int32) { /* sqlite3.c:119005:21: */ var v uintptr var isRollback int32 @@ -114674,7 +114693,7 @@ func Xsqlite3EndTransaction(tls *libc.TLS, pParse uintptr, eType int32) { /* sql // This function is called by the parser when it parses a command to create, // release or rollback an SQL savepoint. -func Xsqlite3Savepoint(tls *libc.TLS, pParse uintptr, op int32, pName uintptr) { /* sqlite3.c:119014:21: */ +func Xsqlite3Savepoint(tls *libc.TLS, pParse uintptr, op int32, pName uintptr) { /* sqlite3.c:119027:21: */ var zName uintptr = Xsqlite3NameFromToken(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, pName) if zName != 0 { var v uintptr = Xsqlite3GetVdbe(tls, pParse) @@ -114687,11 +114706,11 @@ func Xsqlite3Savepoint(tls *libc.TLS, pParse uintptr, op int32, pName uintptr) { } } -var az = [3]uintptr{ts + 14843, ts + 14865, ts + 14849} /* sqlite3.c:119019:23 */ +var az = [3]uintptr{ts + 14843, ts + 14865, ts + 14849} /* sqlite3.c:119032:23 */ // Make sure the TEMP database is open and available for use. Return // the number of errors. Leave any error messages in the pParse structure. -func Xsqlite3OpenTempDatabase(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:119034:20: */ +func Xsqlite3OpenTempDatabase(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:119047:20: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -114717,13 +114736,13 @@ func Xsqlite3OpenTempDatabase(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3. return 0 } -var flags int32 = SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE | SQLITE_OPEN_EXCLUSIVE | SQLITE_OPEN_DELETEONCLOSE | SQLITE_OPEN_TEMP_DB /* sqlite3.c:119039:22 */ +var flags int32 = SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE | SQLITE_OPEN_EXCLUSIVE | SQLITE_OPEN_DELETEONCLOSE | SQLITE_OPEN_TEMP_DB /* sqlite3.c:119052:22 */ // Record the fact that the schema cookie will need to be verified // for database iDb. The code to actually verify the schema cookie // will occur at the end of the top-level VDBE and will be generated // later, by sqlite3FinishCoding(). -func sqlite3CodeVerifySchemaAtToplevel(tls *libc.TLS, pToplevel uintptr, iDb int32) { /* sqlite3.c:119069:13: */ +func sqlite3CodeVerifySchemaAtToplevel(tls *libc.TLS, pToplevel uintptr, iDb int32) { /* sqlite3.c:119082:13: */ if libc.Bool32((*Parse)(unsafe.Pointer(pToplevel)).FcookieMask&(YDbMask(YDbMask(1))< UTF-16 conversion if // possible. -func synthCollSeq(tls *libc.TLS, db uintptr, pColl uintptr) int32 { /* sqlite3.c:119579:12: */ +func synthCollSeq(tls *libc.TLS, db uintptr, pColl uintptr) int32 { /* sqlite3.c:119592:12: */ var pColl2 uintptr var z uintptr = (*CollSeq)(unsafe.Pointer(pColl)).FzName var i int32 @@ -115236,7 +115255,7 @@ func synthCollSeq(tls *libc.TLS, db uintptr, pColl uintptr) int32 { /* sqlite3.c return SQLITE_ERROR } -var aEnc = [3]U8{U8(SQLITE_UTF16BE), U8(SQLITE_UTF16LE), U8(SQLITE_UTF8)} /* sqlite3.c:119583:19 */ +var aEnc = [3]U8{U8(SQLITE_UTF16BE), U8(SQLITE_UTF16LE), U8(SQLITE_UTF8)} /* sqlite3.c:119596:19 */ // This routine is called on a collation sequence before it is used to // check that it is defined. An undefined collation sequence exists when @@ -115247,7 +115266,7 @@ var aEnc = [3]U8{U8(SQLITE_UTF16BE), U8(SQLITE_UTF16LE), U8(SQLITE_UTF8)} /* sql // request a definition of the collating sequence. If this doesn't work, // an equivalent collating sequence that uses a text encoding different // from the main database is substituted, if one is available. -func Xsqlite3CheckCollSeq(tls *libc.TLS, pParse uintptr, pColl uintptr) int32 { /* sqlite3.c:119606:20: */ +func Xsqlite3CheckCollSeq(tls *libc.TLS, pParse uintptr, pColl uintptr) int32 { /* sqlite3.c:119619:20: */ if pColl != 0 && (*CollSeq)(unsafe.Pointer(pColl)).FxCmp == uintptr(0) { var zName uintptr = (*CollSeq)(unsafe.Pointer(pColl)).FzName var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb @@ -115271,7 +115290,7 @@ func Xsqlite3CheckCollSeq(tls *libc.TLS, pParse uintptr, pColl uintptr) int32 { // Stored immediately after the three collation sequences is a copy of // the collation sequence name. A pointer to this string is stored in // each collation sequence structure. -func findCollSeqEntry(tls *libc.TLS, db uintptr, zName uintptr, create int32) uintptr { /* sqlite3.c:119634:16: */ +func findCollSeqEntry(tls *libc.TLS, db uintptr, zName uintptr, create int32) uintptr { /* sqlite3.c:119647:16: */ var pColl uintptr pColl = Xsqlite3HashFind(tls, db+640, zName) @@ -115316,7 +115335,7 @@ func findCollSeqEntry(tls *libc.TLS, db uintptr, zName uintptr, create int32) ui // cannot be found. // // See also: sqlite3LocateCollSeq(), sqlite3GetCollSeq() -func Xsqlite3FindCollSeq(tls *libc.TLS, db uintptr, enc U8, zName uintptr, create int32) uintptr { /* sqlite3.c:119686:24: */ +func Xsqlite3FindCollSeq(tls *libc.TLS, db uintptr, enc U8, zName uintptr, create int32) uintptr { /* sqlite3.c:119699:24: */ var pColl uintptr if zName != 0 { @@ -115332,7 +115351,7 @@ func Xsqlite3FindCollSeq(tls *libc.TLS, db uintptr, enc U8, zName uintptr, creat // Change the text encoding for a database connection. This means that // the pDfltColl must change as well. -func Xsqlite3SetTextEncoding(tls *libc.TLS, db uintptr, enc U8) { /* sqlite3.c:119708:21: */ +func Xsqlite3SetTextEncoding(tls *libc.TLS, db uintptr, enc U8) { /* sqlite3.c:119721:21: */ (*Sqlite3)(unsafe.Pointer(db)).Fenc = enc // EVIDENCE-OF: R-08308-17224 The default collating function for all @@ -115352,7 +115371,7 @@ func Xsqlite3SetTextEncoding(tls *libc.TLS, db uintptr, enc U8) { /* sqlite3.c:1 // sequence can be found. If no collation is found, leave an error message. // // See also: sqlite3LocateCollSeq(), sqlite3FindCollSeq() -func Xsqlite3GetCollSeq(tls *libc.TLS, pParse uintptr, enc U8, pColl uintptr, zName uintptr) uintptr { /* sqlite3.c:119731:24: */ +func Xsqlite3GetCollSeq(tls *libc.TLS, pParse uintptr, enc U8, pColl uintptr, zName uintptr) uintptr { /* sqlite3.c:119744:24: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -115398,7 +115417,7 @@ func Xsqlite3GetCollSeq(tls *libc.TLS, pParse uintptr, enc U8, pColl uintptr, zN // and generates an error message. // // See also: sqlite3FindCollSeq(), sqlite3GetCollSeq() -func Xsqlite3LocateCollSeq(tls *libc.TLS, pParse uintptr, zName uintptr) uintptr { /* sqlite3.c:119782:24: */ +func Xsqlite3LocateCollSeq(tls *libc.TLS, pParse uintptr, zName uintptr) uintptr { /* sqlite3.c:119795:24: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb var enc U8 = (*Sqlite3)(unsafe.Pointer(db)).Fenc var initbusy U8 = (*Sqlite3)(unsafe.Pointer(db)).Finit.Fbusy @@ -115439,7 +115458,7 @@ func Xsqlite3LocateCollSeq(tls *libc.TLS, pParse uintptr, zName uintptr) uintptr // If nArg==(-2) then any function with a non-null xSFunc is // a perfect match and any function with xSFunc NULL is // a non-match. -func matchQuality(tls *libc.TLS, p uintptr, nArg int32, enc U8) int32 { /* sqlite3.c:119825:12: */ +func matchQuality(tls *libc.TLS, p uintptr, nArg int32, enc U8) int32 { /* sqlite3.c:119838:12: */ var match int32 // Wrong number of arguments means "no match" @@ -115475,7 +115494,7 @@ func matchQuality(tls *libc.TLS, p uintptr, nArg int32, enc U8) int32 { /* sqlit // Search a FuncDefHash for a function with the given name. Return // a pointer to the matching FuncDef if found, or 0 if there is no match. -func Xsqlite3FunctionSearch(tls *libc.TLS, h int32, zFunc uintptr) uintptr { /* sqlite3.c:119861:24: */ +func Xsqlite3FunctionSearch(tls *libc.TLS, h int32, zFunc uintptr) uintptr { /* sqlite3.c:119874:24: */ var p uintptr for p = *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&Xsqlite3BuiltinFunctions)) + uintptr(h)*8)); p != 0; p = *(*uintptr)(unsafe.Pointer(p + 64)) { @@ -115487,7 +115506,7 @@ func Xsqlite3FunctionSearch(tls *libc.TLS, h int32, zFunc uintptr) uintptr { /* } // Insert a new FuncDef into a FuncDefHash hash table. -func Xsqlite3InsertBuiltinFuncs(tls *libc.TLS, aDef uintptr, nDef int32) { /* sqlite3.c:119878:21: */ +func Xsqlite3InsertBuiltinFuncs(tls *libc.TLS, aDef uintptr, nDef int32) { /* sqlite3.c:119891:21: */ var i int32 for i = 0; i < nDef; i++ { var pOther uintptr @@ -115525,7 +115544,7 @@ func Xsqlite3InsertBuiltinFuncs(tls *libc.TLS, aDef uintptr, nDef int32) { /* sq // If createFlag is false, then a function with the required name and // number of arguments may be returned even if the eTextRep flag does not // match that requested. -func Xsqlite3FindFunction(tls *libc.TLS, db uintptr, zName uintptr, nArg int32, enc U8, createFlag U8) uintptr { /* sqlite3.c:119923:24: */ +func Xsqlite3FindFunction(tls *libc.TLS, db uintptr, zName uintptr, nArg int32, enc U8, createFlag U8) uintptr { /* sqlite3.c:119936:24: */ var p uintptr // Iterator variable var pBest uintptr = uintptr(0) // Best match found so far var bestScore int32 = 0 // Score of best match @@ -115605,7 +115624,7 @@ func Xsqlite3FindFunction(tls *libc.TLS, db uintptr, zName uintptr, nArg int32, // of the schema hash tables). // // The Schema.cache_size variable is not cleared. -func Xsqlite3SchemaClear(tls *libc.TLS, p uintptr) { /* sqlite3.c:120015:21: */ +func Xsqlite3SchemaClear(tls *libc.TLS, p uintptr) { /* sqlite3.c:120028:21: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -115640,7 +115659,7 @@ func Xsqlite3SchemaClear(tls *libc.TLS, p uintptr) { /* sqlite3.c:120015:21: */ // Find and return the schema associated with a BTree. Create // a new one if necessary. -func Xsqlite3SchemaGet(tls *libc.TLS, db uintptr, pBt uintptr) uintptr { /* sqlite3.c:120047:23: */ +func Xsqlite3SchemaGet(tls *libc.TLS, db uintptr, pBt uintptr) uintptr { /* sqlite3.c:120060:23: */ var p uintptr if pBt != 0 { p = Xsqlite3BtreeSchema(tls, pBt, int32(unsafe.Sizeof(Schema{})), *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{Xsqlite3SchemaClear}))) @@ -115687,7 +115706,7 @@ func Xsqlite3SchemaGet(tls *libc.TLS, db uintptr, pBt uintptr) uintptr { /* sqli // pSrc->a[0].pTab Pointer to the Table object // pSrc->a[0].pIndex Pointer to the INDEXED BY index, if there is one // -func Xsqlite3SrcListLookup(tls *libc.TLS, pParse uintptr, pSrc uintptr) uintptr { /* sqlite3.c:120098:22: */ +func Xsqlite3SrcListLookup(tls *libc.TLS, pParse uintptr, pSrc uintptr) uintptr { /* sqlite3.c:120111:22: */ var pItem uintptr = pSrc + 8 /* &.a */ var pTab uintptr @@ -115705,7 +115724,7 @@ func Xsqlite3SrcListLookup(tls *libc.TLS, pParse uintptr, pSrc uintptr) uintptr // Generate byte-code that will report the number of rows modified // by a DELETE, INSERT, or UPDATE statement. -func Xsqlite3CodeChangeCount(tls *libc.TLS, v uintptr, regCounter int32, zColName uintptr) { /* sqlite3.c:120117:21: */ +func Xsqlite3CodeChangeCount(tls *libc.TLS, v uintptr, regCounter int32, zColName uintptr) { /* sqlite3.c:120130:21: */ Xsqlite3VdbeAddOp0(tls, v, OP_FkCheck) Xsqlite3VdbeAddOp2(tls, v, OP_ResultRow, regCounter, 1) Xsqlite3VdbeSetNumCols(tls, v, 1) @@ -115726,7 +115745,7 @@ func Xsqlite3CodeChangeCount(tls *libc.TLS, v uintptr, regCounter int32, zColNam // 3) The table is a shadow table, the database connection is in // defensive mode, and the current sqlite3_prepare() // is for a top-level SQL statement. -func tabIsReadOnly(tls *libc.TLS, pParse uintptr, pTab uintptr) int32 { /* sqlite3.c:120139:12: */ +func tabIsReadOnly(tls *libc.TLS, pParse uintptr, pTab uintptr) int32 { /* sqlite3.c:120152:12: */ var db uintptr if int32((*Table)(unsafe.Pointer(pTab)).FeTabType) == TABTYP_VTAB { return libc.Bool32((*Sqlite3_module)(unsafe.Pointer((*Module)(unsafe.Pointer((*VTable)(unsafe.Pointer(Xsqlite3GetVTable(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, pTab))).FpMod)).FpModule)).FxUpdate == uintptr(0)) @@ -115745,7 +115764,7 @@ func tabIsReadOnly(tls *libc.TLS, pParse uintptr, pTab uintptr) int32 { /* sqlit // Check to make sure the given table is writable. If it is not // writable, generate an error message and return 1. If it is // writable return 0; -func Xsqlite3IsReadOnly(tls *libc.TLS, pParse uintptr, pTab uintptr, viewOk int32) int32 { /* sqlite3.c:120158:20: */ +func Xsqlite3IsReadOnly(tls *libc.TLS, pParse uintptr, pTab uintptr, viewOk int32) int32 { /* sqlite3.c:120171:20: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -115763,7 +115782,7 @@ func Xsqlite3IsReadOnly(tls *libc.TLS, pParse uintptr, pTab uintptr, viewOk int3 // Evaluate a view and store its result in an ephemeral table. The // pWhere argument is an optional WHERE clause that restricts the // set of rows in the view that are to be added to the ephemeral table. -func Xsqlite3MaterializeView(tls *libc.TLS, pParse uintptr, pView uintptr, pWhere uintptr, pOrderBy uintptr, pLimit uintptr, iCur int32) { /* sqlite3.c:120179:21: */ +func Xsqlite3MaterializeView(tls *libc.TLS, pParse uintptr, pView uintptr, pWhere uintptr, pOrderBy uintptr, pLimit uintptr, iCur int32) { /* sqlite3.c:120192:21: */ bp := tls.Alloc(40) defer tls.Free(40) @@ -115795,7 +115814,7 @@ func Xsqlite3MaterializeView(tls *libc.TLS, pParse uintptr, pView uintptr, pWher // DELETE FROM table_wxyz WHERE a<5 AND b NOT NULL; // \________/ \________________/ // pTabList pWhere -func Xsqlite3DeleteFrom(tls *libc.TLS, pParse uintptr, pTabList uintptr, pWhere uintptr, pOrderBy uintptr, pLimit uintptr) { /* sqlite3.c:120318:21: */ +func Xsqlite3DeleteFrom(tls *libc.TLS, pParse uintptr, pTabList uintptr, pWhere uintptr, pOrderBy uintptr, pLimit uintptr) { /* sqlite3.c:120331:21: */ bp := tls.Alloc(88) defer tls.Free(88) @@ -116401,7 +116420,7 @@ delete_from_cleanup: // starting at iIdxCur) that already points to the index entry to be deleted. // Except, this optimization is disabled if there are BEFORE triggers since // the trigger body might have moved the cursor. -func Xsqlite3GenerateRowDelete(tls *libc.TLS, pParse uintptr, pTab uintptr, pTrigger uintptr, iDataCur int32, iIdxCur int32, iPk int32, nPk I16, count U8, onconf U8, eMode U8, iIdxNoSeek int32) { /* sqlite3.c:120766:21: */ +func Xsqlite3GenerateRowDelete(tls *libc.TLS, pParse uintptr, pTab uintptr, pTrigger uintptr, iDataCur int32, iIdxCur int32, iPk int32, nPk I16, count U8, onconf U8, eMode U8, iIdxNoSeek int32) { /* sqlite3.c:120779:21: */ var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe // Vdbe var iOld int32 = 0 // First register in OLD.* array var iLabel int32 // Label resolved to end of generated code @@ -116538,7 +116557,7 @@ func Xsqlite3GenerateRowDelete(tls *libc.TLS, pParse uintptr, pTab uintptr, pTri // // 3. The "iDataCur" cursor must be already be positioned on the row // that is to be deleted. -func Xsqlite3GenerateRowIndexDelete(tls *libc.TLS, pParse uintptr, pTab uintptr, iDataCur int32, iIdxCur int32, aRegIdx uintptr, iIdxNoSeek int32) { /* sqlite3.c:120918:21: */ +func Xsqlite3GenerateRowIndexDelete(tls *libc.TLS, pParse uintptr, pTab uintptr, iDataCur int32, iIdxCur int32, aRegIdx uintptr, iIdxNoSeek int32) { /* sqlite3.c:120931:21: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -116627,7 +116646,7 @@ __3: // This optimization is helpful when doing a DELETE or an INTEGRITY_CHECK // on a table with multiple indices, and especially with the ROWID or // PRIMARY KEY columns of the index. -func Xsqlite3GenerateIndexKey(tls *libc.TLS, pParse uintptr, pIdx uintptr, iDataCur int32, regOut int32, prefixOnly int32, piPartIdxLabel uintptr, pPrior uintptr, regPrior int32) int32 { /* sqlite3.c:120983:20: */ +func Xsqlite3GenerateIndexKey(tls *libc.TLS, pParse uintptr, pIdx uintptr, iDataCur int32, regOut int32, prefixOnly int32, piPartIdxLabel uintptr, pPrior uintptr, regPrior int32) int32 { /* sqlite3.c:120996:20: */ var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe var j int32 var regBase int32 @@ -116683,7 +116702,7 @@ func Xsqlite3GenerateIndexKey(tls *libc.TLS, pParse uintptr, pIdx uintptr, iData // If a prior call to sqlite3GenerateIndexKey() generated a jump-over label // because it was a partial index, then this routine should be called to // resolve that label. -func Xsqlite3ResolvePartIdxLabel(tls *libc.TLS, pParse uintptr, iLabel int32) { /* sqlite3.c:121045:21: */ +func Xsqlite3ResolvePartIdxLabel(tls *libc.TLS, pParse uintptr, iLabel int32) { /* sqlite3.c:121058:21: */ if iLabel != 0 { Xsqlite3VdbeResolveLabel(tls, (*Parse)(unsafe.Pointer(pParse)).FpVdbe, iLabel) } @@ -116711,7 +116730,7 @@ func Xsqlite3ResolvePartIdxLabel(tls *libc.TLS, pParse uintptr, iLabel int32) { // #include "vdbeInt.h" // Return the collating function associated with a function. -func sqlite3GetFuncCollSeq(tls *libc.TLS, context uintptr) uintptr { /* sqlite3.c:121079:16: */ +func sqlite3GetFuncCollSeq(tls *libc.TLS, context uintptr) uintptr { /* sqlite3.c:121092:16: */ var pOp uintptr pOp = (*Vdbe)(unsafe.Pointer((*Sqlite3_context)(unsafe.Pointer(context)).FpVdbe)).FaOp + uintptr((*Sqlite3_context)(unsafe.Pointer(context)).FiOp-1)*24 @@ -116721,14 +116740,14 @@ func sqlite3GetFuncCollSeq(tls *libc.TLS, context uintptr) uintptr { /* sqlite3. // Indicate that the accumulator load should be skipped on this // iteration of the aggregate loop. -func sqlite3SkipAccumulatorLoad(tls *libc.TLS, context uintptr) { /* sqlite3.c:121092:13: */ +func sqlite3SkipAccumulatorLoad(tls *libc.TLS, context uintptr) { /* sqlite3.c:121105:13: */ (*Sqlite3_context)(unsafe.Pointer(context)).FisError = -1 (*Sqlite3_context)(unsafe.Pointer(context)).FskipFlag = U8(1) } // Implementation of the non-aggregate min() and max() functions -func minmaxFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121101:13: */ +func minmaxFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121114:13: */ var i int32 var mask int32 // 0 for min() or 0xffffffff for max() var iBest int32 @@ -116758,7 +116777,7 @@ func minmaxFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* s } // Return the type of the argument. -func typeofFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { /* sqlite3.c:121131:13: */ +func typeofFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { /* sqlite3.c:121144:13: */ var i int32 = Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(argv))) - 1 _ = NotUsed @@ -116769,18 +116788,18 @@ func typeofFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { / Xsqlite3_result_text(tls, context, azType2[i], -1, uintptr(0)) } -var azType2 = [5]uintptr{ts + 6545, ts + 6540, ts + 8295, ts + 8290, ts + 6535} /* sqlite3.c:121136:21 */ +var azType2 = [5]uintptr{ts + 6545, ts + 6540, ts + 8295, ts + 8290, ts + 6535} /* sqlite3.c:121149:21 */ // subtype(X) // // Return the subtype of X -func subtypeFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121156:13: */ +func subtypeFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121169:13: */ _ = argc Xsqlite3_result_int(tls, context, int32(Xsqlite3_value_subtype(tls, *(*uintptr)(unsafe.Pointer(argv))))) } // Implementation of the length() function -func lengthFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121168:13: */ +func lengthFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121181:13: */ _ = argc switch Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(argv))) { @@ -116829,7 +116848,7 @@ func lengthFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* s // // IMP: R-23979-26855 The abs(X) function returns the absolute value of // the numeric argument X. -func absFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121210:13: */ +func absFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121223:13: */ _ = argc switch Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(argv))) { @@ -116883,7 +116902,7 @@ func absFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqli // If both haystack and needle are BLOBs, then the result is one more than // the number of bytes in haystack prior to the first occurrence of needle, // or 0 if needle never occurs in haystack. -func instrFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121259:13: */ +func instrFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121272:13: */ var zHaystack uintptr var zNeedle uintptr var nHaystack int32 @@ -116998,7 +117017,7 @@ endInstrOOM: } // Implementation of the printf() (a.k.a. format()) SQL function. -func printfFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121327:13: */ +func printfFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121340:13: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -117035,7 +117054,7 @@ func printfFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* s // If p1 is negative, then we begin abs(p1) from the end of x[]. // // If p2 is negative, return the p2 characters preceding p1. -func substrFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121363:13: */ +func substrFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121376:13: */ var z uintptr var z2 uintptr var len int32 @@ -117143,7 +117162,7 @@ func substrFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* s } // Implementation of the round() function -func roundFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121458:13: */ +func roundFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121471:13: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -117197,7 +117216,7 @@ func roundFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sq // the database handle that malloc() has failed and return NULL. // If nByte is larger than the maximum string or blob length, then // raise an SQLITE_TOOBIG exception and return NULL. -func contextMalloc(tls *libc.TLS, context uintptr, nByte I64) uintptr { /* sqlite3.c:121499:13: */ +func contextMalloc(tls *libc.TLS, context uintptr, nByte I64) uintptr { /* sqlite3.c:121512:13: */ var z uintptr var db uintptr = Xsqlite3_context_db_handle(tls, context) @@ -117214,7 +117233,7 @@ func contextMalloc(tls *libc.TLS, context uintptr, nByte I64) uintptr { /* sqlit } // Implementation of the upper() and lower() SQL functions. -func upperFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121520:13: */ +func upperFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121533:13: */ var z1 uintptr var z2 uintptr var i int32 @@ -117235,7 +117254,7 @@ func upperFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sq } } -func lowerFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121539:13: */ +func lowerFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121552:13: */ var z1 uintptr var z2 uintptr var i int32 @@ -117264,7 +117283,7 @@ func lowerFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sq // is. We might as well use the "version()" function as a substitute. // Implementation of random(). Return a random integer. -func randomFunc(tls *libc.TLS, context uintptr, NotUsed int32, NotUsed2 uintptr) { /* sqlite3.c:121572:13: */ +func randomFunc(tls *libc.TLS, context uintptr, NotUsed int32, NotUsed2 uintptr) { /* sqlite3.c:121585:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -117288,7 +117307,7 @@ func randomFunc(tls *libc.TLS, context uintptr, NotUsed int32, NotUsed2 uintptr) // Implementation of randomblob(N). Return a random blob // that is N bytes long. -func randomBlob(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121598:13: */ +func randomBlob(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121611:13: */ var n Sqlite3_int64 var p uintptr @@ -117306,7 +117325,7 @@ func randomBlob(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* s // Implementation of the last_insert_rowid() SQL function. The return // value is the same as the sqlite3_last_insert_rowid() API function. -func last_insert_rowid(tls *libc.TLS, context uintptr, NotUsed int32, NotUsed2 uintptr) { /* sqlite3.c:121622:13: */ +func last_insert_rowid(tls *libc.TLS, context uintptr, NotUsed int32, NotUsed2 uintptr) { /* sqlite3.c:121635:13: */ var db uintptr = Xsqlite3_context_db_handle(tls, context) _ = NotUsed _ = NotUsed2 @@ -117321,7 +117340,7 @@ func last_insert_rowid(tls *libc.TLS, context uintptr, NotUsed int32, NotUsed2 u // IMP: R-32760-32347 The changes() SQL function is a wrapper // around the sqlite3_changes64() C/C++ function and hence follows the // same rules for counting changes. -func changes(tls *libc.TLS, context uintptr, NotUsed int32, NotUsed2 uintptr) { /* sqlite3.c:121642:13: */ +func changes(tls *libc.TLS, context uintptr, NotUsed int32, NotUsed2 uintptr) { /* sqlite3.c:121655:13: */ var db uintptr = Xsqlite3_context_db_handle(tls, context) _ = NotUsed _ = NotUsed2 @@ -117330,7 +117349,7 @@ func changes(tls *libc.TLS, context uintptr, NotUsed int32, NotUsed2 uintptr) { // Implementation of the total_changes() SQL function. The return value is // the same as the sqlite3_total_changes64() API function. -func total_changes(tls *libc.TLS, context uintptr, NotUsed int32, NotUsed2 uintptr) { /* sqlite3.c:121656:13: */ +func total_changes(tls *libc.TLS, context uintptr, NotUsed int32, NotUsed2 uintptr) { /* sqlite3.c:121669:13: */ var db uintptr = Xsqlite3_context_db_handle(tls, context) _ = NotUsed _ = NotUsed2 @@ -117345,20 +117364,20 @@ type compareInfo = struct { FmatchOne U8 FmatchSet U8 FnoCase U8 -} /* sqlite3.c:121671:1 */ +} /* sqlite3.c:121684:1 */ // For LIKE and GLOB matching on EBCDIC machines, assume that every // character is exactly one byte in size. Also, provde the Utf8Read() // macro for fast reading of the next character in the common case where // the next character is ASCII. -var globInfo = compareInfo{FmatchAll: U8('*'), FmatchOne: U8('?'), FmatchSet: U8('[')} /* sqlite3.c:121691:33 */ +var globInfo = compareInfo{FmatchAll: U8('*'), FmatchOne: U8('?'), FmatchSet: U8('[')} /* sqlite3.c:121704:33 */ // The correct SQL-92 behavior is for the LIKE operator to ignore // case. Thus 'a' LIKE 'A' would be true. -var likeInfoNorm = compareInfo{FmatchAll: U8('%'), FmatchOne: U8('_'), FnoCase: U8(1)} /* sqlite3.c:121694:33 */ +var likeInfoNorm = compareInfo{FmatchAll: U8('%'), FmatchOne: U8('_'), FnoCase: U8(1)} /* sqlite3.c:121707:33 */ // If SQLITE_CASE_SENSITIVE_LIKE is defined, then the LIKE operator // is case sensitive causing 'a' LIKE 'A' to be false -var likeInfoAlt = compareInfo{FmatchAll: U8('%'), FmatchOne: U8('_')} /* sqlite3.c:121697:33 */ +var likeInfoAlt = compareInfo{FmatchAll: U8('%'), FmatchOne: U8('_')} /* sqlite3.c:121710:33 */ // Possible error returns from patternMatch() @@ -117398,7 +117417,7 @@ var likeInfoAlt = compareInfo{FmatchAll: U8('%'), FmatchOne: U8('_')} /* sqlite3 // The comments within this routine usually assume glob matching. // // This routine is usually quick, but can be N**2 in the worst case. -func patternCompare(tls *libc.TLS, zPattern uintptr, zString uintptr, pInfo uintptr, matchOther U32) int32 { /* sqlite3.c:121744:12: */ +func patternCompare(tls *libc.TLS, zPattern uintptr, zString uintptr, pInfo uintptr, matchOther U32) int32 { /* sqlite3.c:121757:12: */ bp := tls.Alloc(19) defer tls.Free(19) *(*uintptr)(unsafe.Pointer(bp)) = zPattern @@ -117584,13 +117603,13 @@ func patternCompare(tls *libc.TLS, zPattern uintptr, zString uintptr, pInfo uint // The sqlite3_strglob() interface. Return 0 on a match (like strcmp()) and // non-zero if there is no match. -func Xsqlite3_strglob(tls *libc.TLS, zGlobPattern uintptr, zString uintptr) int32 { /* sqlite3.c:121877:16: */ +func Xsqlite3_strglob(tls *libc.TLS, zGlobPattern uintptr, zString uintptr) int32 { /* sqlite3.c:121890:16: */ return patternCompare(tls, zGlobPattern, zString, uintptr(unsafe.Pointer(&globInfo)), uint32('[')) } // The sqlite3_strlike() interface. Return 0 on a match and non-zero for // a miss - like strcmp(). -func Xsqlite3_strlike(tls *libc.TLS, zPattern uintptr, zStr uintptr, esc uint32) int32 { /* sqlite3.c:121885:16: */ +func Xsqlite3_strlike(tls *libc.TLS, zPattern uintptr, zStr uintptr, esc uint32) int32 { /* sqlite3.c:121898:16: */ return patternCompare(tls, zPattern, zStr, uintptr(unsafe.Pointer(&likeInfoNorm)), esc) } @@ -117608,7 +117627,7 @@ func Xsqlite3_strlike(tls *libc.TLS, zPattern uintptr, zStr uintptr, esc uint32) // // This same function (with a different compareInfo structure) computes // the GLOB operator. -func likeFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121911:13: */ +func likeFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121924:13: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -117671,7 +117690,7 @@ func likeFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sql // Implementation of the NULLIF(x,y) function. The result is the first // argument if the arguments are different. The result is NULL if the // arguments are equal to each other. -func nullifFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { /* sqlite3.c:121982:13: */ +func nullifFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { /* sqlite3.c:121995:13: */ var pColl uintptr = sqlite3GetFuncCollSeq(tls, context) _ = NotUsed if Xsqlite3MemCompare(tls, *(*uintptr)(unsafe.Pointer(argv)), *(*uintptr)(unsafe.Pointer(argv + 1*8)), pColl) != 0 { @@ -117681,7 +117700,7 @@ func nullifFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { / // Implementation of the sqlite_version() function. The result is the version // of the SQLite library that is running. -func versionFunc(tls *libc.TLS, context uintptr, NotUsed int32, NotUsed2 uintptr) { /* sqlite3.c:121998:13: */ +func versionFunc(tls *libc.TLS, context uintptr, NotUsed int32, NotUsed2 uintptr) { /* sqlite3.c:122011:13: */ _ = NotUsed _ = NotUsed2 // IMP: R-48699-48617 This function is an SQL wrapper around the @@ -117692,7 +117711,7 @@ func versionFunc(tls *libc.TLS, context uintptr, NotUsed int32, NotUsed2 uintptr // Implementation of the sqlite_source_id() function. The result is a string // that identifies the particular version of the source code used to build // SQLite. -func sourceidFunc(tls *libc.TLS, context uintptr, NotUsed int32, NotUsed2 uintptr) { /* sqlite3.c:122014:13: */ +func sourceidFunc(tls *libc.TLS, context uintptr, NotUsed int32, NotUsed2 uintptr) { /* sqlite3.c:122027:13: */ _ = NotUsed _ = NotUsed2 // IMP: R-24470-31136 This function is an SQL wrapper around the @@ -117703,7 +117722,7 @@ func sourceidFunc(tls *libc.TLS, context uintptr, NotUsed int32, NotUsed2 uintpt // Implementation of the sqlite_log() function. This is a wrapper around // sqlite3_log(). The return value is NULL. The function exists purely for // its side-effects. -func errlogFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122030:13: */ +func errlogFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122043:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -117715,7 +117734,7 @@ func errlogFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* s // Implementation of the sqlite_compileoption_used() function. // The result is an integer that identifies if the compiler option // was used to build SQLite. -func compileoptionusedFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122046:13: */ +func compileoptionusedFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122059:13: */ var zOptName uintptr _ = argc @@ -117730,7 +117749,7 @@ func compileoptionusedFunc(tls *libc.TLS, context uintptr, argc int32, argv uint // Implementation of the sqlite_compileoption_get() function. // The result is a string that identifies the compiler options // used to build SQLite. -func compileoptiongetFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122070:13: */ +func compileoptiongetFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122083:13: */ var n int32 _ = argc @@ -117745,11 +117764,11 @@ func compileoptiongetFunc(tls *libc.TLS, context uintptr, argc int32, argv uintp var hexdigits = [16]int8{ int8('0'), int8('1'), int8('2'), int8('3'), int8('4'), int8('5'), int8('6'), int8('7'), int8('8'), int8('9'), int8('A'), int8('B'), int8('C'), int8('D'), int8('E'), int8('F'), -} /* sqlite3.c:122088:19 */ +} /* sqlite3.c:122101:19 */ // Append to pStr text that is the SQL literal representation of the // value contained in pValue. -func Xsqlite3QuoteValue(tls *libc.TLS, pStr uintptr, pValue uintptr) { /* sqlite3.c:122097:21: */ +func Xsqlite3QuoteValue(tls *libc.TLS, pStr uintptr, pValue uintptr) { /* sqlite3.c:122110:21: */ bp := tls.Alloc(40) defer tls.Free(40) @@ -117830,7 +117849,7 @@ func Xsqlite3QuoteValue(tls *libc.TLS, pStr uintptr, pValue uintptr) { /* sqlite // as needed. BLOBs are encoded as hexadecimal literals. Strings with // embedded NUL characters cannot be represented as string literals in SQL // and hence the returned string literal is truncated prior to the first NUL. -func quoteFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122166:13: */ +func quoteFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122179:13: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -117853,7 +117872,7 @@ func quoteFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sq // The unicode() function. Return the integer unicode code-point value // for the first character of the input string. -func unicodeFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122185:13: */ +func unicodeFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122198:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -117867,7 +117886,7 @@ func unicodeFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* // The char() function takes zero or more arguments, each of which is // an integer. It constructs a string where each character of the string // is the unicode character for the corresponding integer argument. -func charFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122200:13: */ +func charFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122213:13: */ var z uintptr var zOut uintptr var i int32 @@ -117905,7 +117924,7 @@ func charFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sql // The hex() function. Interpret the argument as a blob. Return // a hexadecimal rendering as text. -func hexFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122241:13: */ +func hexFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122254:13: */ var i int32 var n int32 var pBlob uintptr @@ -117943,7 +117962,7 @@ func hexFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqli } // The zeroblob(N) function returns a zero-filled blob of size N bytes. -func zeroblobFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122269:13: */ +func zeroblobFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122282:13: */ var n I64 var rc int32 @@ -117962,7 +117981,7 @@ func zeroblobFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* // them A, B, and C. The result is also a string which is derived // from A by replacing every occurrence of B with C. The match // must be exact. Collating sequences are not used. -func replaceFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122292:13: */ +func replaceFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122305:13: */ var zStr uintptr // The input string A var zPattern uintptr // The pattern string B var zRep uintptr // The replacement string C @@ -118051,7 +118070,7 @@ func replaceFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* // Implementation of the TRIM(), LTRIM(), and RTRIM() functions. // The userdata is 0x1 for left trim, 0x2 for right trim, 0x3 for both. -func trimFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122385:13: */ +func trimFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122398:13: */ var zIn uintptr // Input string var zCharSet uintptr // Set of characters to trim var nIn uint32 // Number of bytes in input @@ -118154,8 +118173,8 @@ func trimFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sql Xsqlite3_result_text(tls, context, zIn, int32(nIn), libc.UintptrFromInt32(-1)) } -var lenOne = [1]uint32{uint32(1)} /* sqlite3.c:122407:27 */ -var azOne = [1]uintptr{uintptr(ts + 11208 /* " " */)} /* sqlite3.c:122408:26 */ +var lenOne = [1]uint32{uint32(1)} /* sqlite3.c:122420:27 */ +var azOne = [1]uintptr{uintptr(ts + 11208 /* " " */)} /* sqlite3.c:122421:26 */ // IMP: R-25361-16150 This function is omitted from SQLite by default. It // is only available if the SQLITE_SOUNDEX compile-time option is used @@ -118164,7 +118183,7 @@ var azOne = [1]uintptr{uintptr(ts + 11208 /* " " */)} /* sqlite3.c:122408:26 */ // // IMP: R-59782-00072 The soundex(X) function returns a string that is the // soundex encoding of the string X. -func soundexFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122498:13: */ +func soundexFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122511:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -118215,10 +118234,10 @@ var iCode = [128]uint8{ uint8(1), uint8(2), uint8(6), uint8(2), uint8(3), uint8(0), uint8(1), uint8(0), uint8(2), uint8(0), uint8(2), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(1), uint8(2), uint8(3), uint8(0), uint8(1), uint8(2), uint8(0), uint8(0), uint8(2), uint8(2), uint8(4), uint8(5), uint8(5), uint8(0), uint8(1), uint8(2), uint8(6), uint8(2), uint8(3), uint8(0), uint8(1), uint8(0), uint8(2), uint8(0), uint8(2), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), -} /* sqlite3.c:122506:30 */ +} /* sqlite3.c:122519:30 */ // A function that loads a shared-library extension then returns NULL. -func loadExt(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122551:13: */ +func loadExt(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122564:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -118254,11 +118273,11 @@ type SumCtx1 = struct { Foverflow U8 Fapprox U8 F__ccgo_pad1 [6]byte -} /* sqlite3.c:122582:9 */ +} /* sqlite3.c:122595:9 */ // An instance of the following structure holds the context of a // sum() or avg() aggregate computation. -type SumCtx = SumCtx1 /* sqlite3.c:122582:23 */ +type SumCtx = SumCtx1 /* sqlite3.c:122595:23 */ // Routines used to compute the sum, average, and total. // @@ -118268,7 +118287,7 @@ type SumCtx = SumCtx1 /* sqlite3.c:122582:23 */ // SUM might return an integer if it never encounters a floating point // value. TOTAL never fails, but SUM might through an exception if // it overflows an integer. -func sumStep(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122601:13: */ +func sumStep(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122614:13: */ var p uintptr var type1 int32 @@ -118290,7 +118309,7 @@ func sumStep(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqli } } -func sumInverse(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122623:13: */ +func sumInverse(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122636:13: */ var p uintptr var type1 int32 @@ -118313,7 +118332,7 @@ func sumInverse(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* s } } -func sumFinalize(tls *libc.TLS, context uintptr) { /* sqlite3.c:122648:13: */ +func sumFinalize(tls *libc.TLS, context uintptr) { /* sqlite3.c:122661:13: */ var p uintptr p = Xsqlite3_aggregate_context(tls, context, 0) if p != 0 && (*SumCtx)(unsafe.Pointer(p)).Fcnt > int64(0) { @@ -118327,7 +118346,7 @@ func sumFinalize(tls *libc.TLS, context uintptr) { /* sqlite3.c:122648:13: */ } } -func avgFinalize(tls *libc.TLS, context uintptr) { /* sqlite3.c:122661:13: */ +func avgFinalize(tls *libc.TLS, context uintptr) { /* sqlite3.c:122674:13: */ var p uintptr p = Xsqlite3_aggregate_context(tls, context, 0) if p != 0 && (*SumCtx)(unsafe.Pointer(p)).Fcnt > int64(0) { @@ -118335,7 +118354,7 @@ func avgFinalize(tls *libc.TLS, context uintptr) { /* sqlite3.c:122661:13: */ } } -func totalFinalize(tls *libc.TLS, context uintptr) { /* sqlite3.c:122668:13: */ +func totalFinalize(tls *libc.TLS, context uintptr) { /* sqlite3.c:122681:13: */ var p uintptr p = Xsqlite3_aggregate_context(tls, context, 0) // (double)0 In case of SQLITE_OMIT_FLOATING_POINT... @@ -118349,14 +118368,14 @@ func totalFinalize(tls *libc.TLS, context uintptr) { /* sqlite3.c:122668:13: */ // The following structure keeps track of state information for the // count() aggregate function. -type CountCtx1 = struct{ Fn I64 } /* sqlite3.c:122679:9 */ +type CountCtx1 = struct{ Fn I64 } /* sqlite3.c:122692:9 */ // The following structure keeps track of state information for the // count() aggregate function. -type CountCtx = CountCtx1 /* sqlite3.c:122679:25 */ +type CountCtx = CountCtx1 /* sqlite3.c:122692:25 */ // Routines to implement the count() aggregate function. -func countStep(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122690:13: */ +func countStep(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122703:13: */ var p uintptr p = Xsqlite3_aggregate_context(tls, context, int32(unsafe.Sizeof(CountCtx{}))) if (argc == 0 || SQLITE_NULL != Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(argv)))) && p != 0 { @@ -118370,7 +118389,7 @@ func countStep(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sq } -func countFinalize(tls *libc.TLS, context uintptr) { /* sqlite3.c:122706:13: */ +func countFinalize(tls *libc.TLS, context uintptr) { /* sqlite3.c:122719:13: */ var p uintptr p = Xsqlite3_aggregate_context(tls, context, 0) Xsqlite3_result_int64(tls, context, func() int64 { @@ -118381,7 +118400,7 @@ func countFinalize(tls *libc.TLS, context uintptr) { /* sqlite3.c:122706:13: */ }()) } -func countInverse(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:122712:13: */ +func countInverse(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:122725:13: */ var p uintptr p = Xsqlite3_aggregate_context(tls, ctx, int32(unsafe.Sizeof(CountCtx{}))) // p is always non-NULL since countStep() will have been called first @@ -118391,7 +118410,7 @@ func countInverse(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sql } // Routines to implement min() and max() aggregate functions. -func minmaxStep(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { /* sqlite3.c:122730:13: */ +func minmaxStep(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { /* sqlite3.c:122743:13: */ var pArg uintptr = *(*uintptr)(unsafe.Pointer(argv)) var pBest uintptr _ = NotUsed @@ -118429,7 +118448,7 @@ func minmaxStep(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { / } } -func minMaxValueFinalize(tls *libc.TLS, context uintptr, bValue int32) { /* sqlite3.c:122768:13: */ +func minMaxValueFinalize(tls *libc.TLS, context uintptr, bValue int32) { /* sqlite3.c:122781:13: */ var pRes uintptr pRes = Xsqlite3_aggregate_context(tls, context, 0) if pRes != 0 { @@ -118442,11 +118461,11 @@ func minMaxValueFinalize(tls *libc.TLS, context uintptr, bValue int32) { /* sqli } } -func minMaxValue(tls *libc.TLS, context uintptr) { /* sqlite3.c:122779:13: */ +func minMaxValue(tls *libc.TLS, context uintptr) { /* sqlite3.c:122792:13: */ minMaxValueFinalize(tls, context, 1) } -func minMaxFinalize(tls *libc.TLS, context uintptr) { /* sqlite3.c:122785:13: */ +func minMaxFinalize(tls *libc.TLS, context uintptr) { /* sqlite3.c:122798:13: */ minMaxValueFinalize(tls, context, 0) } @@ -118462,9 +118481,9 @@ type GroupConcatCtx = struct { FnAccum int32 FnFirstSepLength int32 FpnSepLengths uintptr -} /* sqlite3.c:122810:3 */ +} /* sqlite3.c:122823:3 */ -func groupConcatStep(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122812:13: */ +func groupConcatStep(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122825:13: */ var zVal uintptr var pGCC uintptr var zSep uintptr @@ -118529,7 +118548,7 @@ func groupConcatStep(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { } } -func groupConcatInverse(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122883:13: */ +func groupConcatInverse(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122896:13: */ var pGCC uintptr _ = argc // Suppress unused parameter warning @@ -118570,7 +118589,7 @@ func groupConcatInverse(tls *libc.TLS, context uintptr, argc int32, argv uintptr } } -func groupConcatFinalize(tls *libc.TLS, context uintptr) { /* sqlite3.c:122929:13: */ +func groupConcatFinalize(tls *libc.TLS, context uintptr) { /* sqlite3.c:122942:13: */ var pGCC uintptr = Xsqlite3_aggregate_context(tls, context, 0) if pGCC != 0 { Xsqlite3ResultStrAccum(tls, context, pGCC) @@ -118578,7 +118597,7 @@ func groupConcatFinalize(tls *libc.TLS, context uintptr) { /* sqlite3.c:122929:1 } } -func groupConcatValue(tls *libc.TLS, context uintptr) { /* sqlite3.c:122940:13: */ +func groupConcatValue(tls *libc.TLS, context uintptr) { /* sqlite3.c:122953:13: */ var pGCC uintptr = Xsqlite3_aggregate_context(tls, context, 0) if pGCC != 0 { var pAccum uintptr = pGCC @@ -118596,7 +118615,7 @@ func groupConcatValue(tls *libc.TLS, context uintptr) { /* sqlite3.c:122940:13: // This routine does per-connection function registration. Most // of the built-in functions above are part of the global function set. // This routine only deals with those that are not global. -func Xsqlite3RegisterPerConnectionBuiltinFunctions(tls *libc.TLS, db uintptr) { /* sqlite3.c:122964:21: */ +func Xsqlite3RegisterPerConnectionBuiltinFunctions(tls *libc.TLS, db uintptr) { /* sqlite3.c:122977:21: */ var rc int32 = Xsqlite3_overload_function(tls, db, ts+15268, 2) if rc == SQLITE_NOMEM { @@ -118607,7 +118626,7 @@ func Xsqlite3RegisterPerConnectionBuiltinFunctions(tls *libc.TLS, db uintptr) { // Re-register the built-in LIKE functions. The caseSensitive // parameter determines whether or not the LIKE operator is case // sensitive. -func Xsqlite3RegisterLikeFunctions(tls *libc.TLS, db uintptr, caseSensitive int32) { /* sqlite3.c:122977:21: */ +func Xsqlite3RegisterLikeFunctions(tls *libc.TLS, db uintptr, caseSensitive int32) { /* sqlite3.c:122990:21: */ var pInfo uintptr var flags int32 if caseSensitive != 0 { @@ -118642,7 +118661,7 @@ func Xsqlite3RegisterLikeFunctions(tls *libc.TLS, db uintptr, caseSensitive int3 // the function (default for LIKE). If the function makes the distinction // between uppercase and lowercase (as does GLOB) then *pIsNocase is set to // false. -func Xsqlite3IsLikeFunction(tls *libc.TLS, db uintptr, pExpr uintptr, pIsNocase uintptr, aWc uintptr) int32 { /* sqlite3.c:123010:20: */ +func Xsqlite3IsLikeFunction(tls *libc.TLS, db uintptr, pExpr uintptr, pIsNocase uintptr, aWc uintptr) int32 { /* sqlite3.c:123023:20: */ var pDef uintptr var nExpr int32 @@ -118698,7 +118717,7 @@ func Xsqlite3IsLikeFunction(tls *libc.TLS, db uintptr, pExpr uintptr, pIsNocase // // The sqlite3_user_data() pointer is a pointer to the libm implementation // of the underlying C function. -func ceilingFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:123081:13: */ +func ceilingFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:123094:13: */ switch Xsqlite3_value_numeric_type(tls, *(*uintptr)(unsafe.Pointer(argv))) { case SQLITE_INTEGER: @@ -118727,11 +118746,11 @@ func ceilingFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* // On some systems, ceil() and floor() are intrinsic function. You are // unable to take a pointer to these functions. Hence, we here wrap them // in our own actual functions. -func xCeil(tls *libc.TLS, x float64) float64 { /* sqlite3.c:123108:15: */ +func xCeil(tls *libc.TLS, x float64) float64 { /* sqlite3.c:123121:15: */ return libc.Xceil(tls, x) } -func xFloor(tls *libc.TLS, x float64) float64 { /* sqlite3.c:123109:15: */ +func xFloor(tls *libc.TLS, x float64) float64 { /* sqlite3.c:123122:15: */ return libc.Xfloor(tls, x) } @@ -118741,7 +118760,7 @@ func xFloor(tls *libc.TLS, x float64) float64 { /* sqlite3.c:123109:15: */ // log(X) - log X base 10 // log10(X) - log X base 10 // log(B,X) - log X base B -func logFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:123119:13: */ +func logFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:123132:13: */ var x float64 var b float64 var ans float64 @@ -118798,18 +118817,18 @@ func logFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqli } // Functions to converts degrees to radians and radians to degrees. -func degToRad(tls *libc.TLS, x float64) float64 { /* sqlite3.c:123169:15: */ +func degToRad(tls *libc.TLS, x float64) float64 { /* sqlite3.c:123182:15: */ return x * (float64(3.14159265358979323846264338327950288) / 180.0) } -func radToDeg(tls *libc.TLS, x float64) float64 { /* sqlite3.c:123170:15: */ +func radToDeg(tls *libc.TLS, x float64) float64 { /* sqlite3.c:123183:15: */ return x * (float64(180.0) / 3.14159265358979323846264338327950288) } // Implementation of 1-argument SQL math functions: // // exp(X) - Compute e to the X-th power -func math1Func(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:123177:13: */ +func math1Func(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:123190:13: */ var type0 int32 var v0 float64 var ans float64 @@ -118830,7 +118849,7 @@ func math1Func(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sq // Implementation of 2-argument SQL math functions: // // power(X,Y) - Compute X to the Y-th power -func math2Func(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:123199:13: */ +func math2Func(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:123212:13: */ var type0 int32 var type1 int32 var v0 float64 @@ -118856,13 +118875,13 @@ func math2Func(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sq } // Implementation of 0-argument pi() function. -func piFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:123222:13: */ +func piFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:123235:13: */ Xsqlite3_result_double(tls, context, 3.14159265358979323846264338327950288) } // Implementation of sign(X) function. -func signFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:123236:13: */ +func signFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:123249:13: */ var type0 int32 var x float64 _ = argc @@ -118890,7 +118909,7 @@ func signFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sql // a consequence of calling sqlite3_initialize()). // // After this routine runs -func Xsqlite3RegisterBuiltinFunctions(tls *libc.TLS) { /* sqlite3.c:123258:21: */ +func Xsqlite3RegisterBuiltinFunctions(tls *libc.TLS) { /* sqlite3.c:123271:21: */ Xsqlite3AlterFunctions(tls) Xsqlite3WindowFunctions(tls) Xsqlite3RegisterDateTimeFunctions(tls) @@ -119003,7 +119022,7 @@ var aBuiltinFunc = [101]FuncDef{ {FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_FUNC_CONSTANT | SQLITE_UTF8 | 0*SQLITE_FUNC_NEEDCOLL), FxSFunc: 0, FzName: ts + 15910}, {FnArg: int8(1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_FUNC_CONSTANT | SQLITE_UTF8 | 0*SQLITE_FUNC_NEEDCOLL), FxSFunc: 0, FzName: ts + 15913}, {FnArg: int8(-1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_UTF8 | SQLITE_FUNC_INLINE | SQLITE_FUNC_CONSTANT | 0), FxSFunc: 0, FzName: ts + 15753}, - {FnArg: int8(3), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_UTF8 | SQLITE_FUNC_INLINE | SQLITE_FUNC_CONSTANT | 0), FpUserData: uintptr(int64(INLINEFUNC_iif)), FxSFunc: 0, FzName: ts + 15918}} /* sqlite3.c:123269:18 */ + {FnArg: int8(3), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_UTF8 | SQLITE_FUNC_INLINE | SQLITE_FUNC_CONSTANT | 0), FpUserData: uintptr(int64(INLINEFUNC_iif)), FxSFunc: 0, FzName: ts + 15918}} /* sqlite3.c:123282:18 */ //************* End of func.c *********************************************** //************* Begin file fkey.c ******************************************* @@ -119178,7 +119197,7 @@ var aBuiltinFunc = [101]FuncDef{ // then non-zero is returned, and a "foreign key mismatch" error loaded // into pParse. If an OOM error occurs, non-zero is returned and the // pParse->db->mallocFailed flag is set. -func Xsqlite3FkLocateIndex(tls *libc.TLS, pParse uintptr, pParent uintptr, pFKey uintptr, ppIdx uintptr, paiCol uintptr) int32 { /* sqlite3.c:123622:20: */ +func Xsqlite3FkLocateIndex(tls *libc.TLS, pParse uintptr, pParent uintptr, pFKey uintptr, ppIdx uintptr, paiCol uintptr) int32 { /* sqlite3.c:123635:20: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -119324,7 +119343,7 @@ func Xsqlite3FkLocateIndex(tls *libc.TLS, pParse uintptr, pParent uintptr, pFKey // // These operations are identified in the comment at the top of this file // (fkey.c) as "I.1" and "D.1". -func fkLookupParent(tls *libc.TLS, pParse uintptr, iDb int32, pTab uintptr, pIdx uintptr, pFKey uintptr, aiCol uintptr, regData int32, nIncr int32, isIgnore int32) { /* sqlite3.c:123759:13: */ +func fkLookupParent(tls *libc.TLS, pParse uintptr, iDb int32, pTab uintptr, pIdx uintptr, pFKey uintptr, aiCol uintptr, regData int32, nIncr int32, isIgnore int32) { /* sqlite3.c:123772:13: */ var i int32 // Iterator variable var v uintptr = Xsqlite3GetVdbe(tls, pParse) // Vdbe to add code to var iCur int32 = (*Parse)(unsafe.Pointer(pParse)).FnTab - 1 // Cursor number to use @@ -119454,7 +119473,7 @@ func fkLookupParent(tls *libc.TLS, pParse uintptr, iDb int32, pTab uintptr, pIdx // regBase is the first of an array of register that contains the data // for pTab. regBase itself holds the rowid. regBase+1 holds the first // column. regBase+2 holds the second column, and so forth. -func exprTableRegister(tls *libc.TLS, pParse uintptr, pTab uintptr, regBase int32, iCol I16) uintptr { /* sqlite3.c:123912:13: */ +func exprTableRegister(tls *libc.TLS, pParse uintptr, pTab uintptr, regBase int32, iCol I16) uintptr { /* sqlite3.c:123925:13: */ var pExpr uintptr var pCol uintptr var zColl uintptr @@ -119481,7 +119500,7 @@ func exprTableRegister(tls *libc.TLS, pParse uintptr, pTab uintptr, regBase int3 // Return an Expr object that refers to column iCol of table pTab which // has cursor iCur. -func exprTableColumn(tls *libc.TLS, db uintptr, pTab uintptr, iCursor int32, iCol I16) uintptr { /* sqlite3.c:123944:13: */ +func exprTableColumn(tls *libc.TLS, db uintptr, pTab uintptr, iCursor int32, iCol I16) uintptr { /* sqlite3.c:123957:13: */ var pExpr uintptr = Xsqlite3Expr(tls, db, TK_COLUMN, uintptr(0)) if pExpr != 0 { @@ -119522,7 +119541,7 @@ func exprTableColumn(tls *libc.TLS, db uintptr, pTab uintptr, iCursor int32, iCo // // These operations are identified in the comment at the top of this file // (fkey.c) as "I.2" and "D.2". -func fkScanChildren(tls *libc.TLS, pParse uintptr, pSrc uintptr, pTab uintptr, pIdx uintptr, pFKey uintptr, aiCol uintptr, regData int32, nIncr int32) { /* sqlite3.c:123992:13: */ +func fkScanChildren(tls *libc.TLS, pParse uintptr, pSrc uintptr, pTab uintptr, pIdx uintptr, pFKey uintptr, aiCol uintptr, regData int32, nIncr int32) { /* sqlite3.c:124005:13: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -119646,7 +119665,7 @@ func fkScanChildren(tls *libc.TLS, pParse uintptr, pSrc uintptr, pTab uintptr, p // "t2". Calling this function with "t2" as the argument would return a // NULL pointer (as there are no FK constraints for which t2 is the parent // table). -func Xsqlite3FkReferences(tls *libc.TLS, pTab uintptr) uintptr { /* sqlite3.c:124121:21: */ +func Xsqlite3FkReferences(tls *libc.TLS, pTab uintptr) uintptr { /* sqlite3.c:124134:21: */ return Xsqlite3HashFind(tls, (*Table)(unsafe.Pointer(pTab)).FpSchema+80, (*Table)(unsafe.Pointer(pTab)).FzName) } @@ -119656,7 +119675,7 @@ func Xsqlite3FkReferences(tls *libc.TLS, pTab uintptr) uintptr { /* sqlite3.c:12 // // The Trigger structure or any of its sub-components may be allocated from // the lookaside buffer belonging to database handle dbMem. -func fkTriggerDelete(tls *libc.TLS, dbMem uintptr, p uintptr) { /* sqlite3.c:124133:13: */ +func fkTriggerDelete(tls *libc.TLS, dbMem uintptr, p uintptr) { /* sqlite3.c:124146:13: */ if p != 0 { var pStep uintptr = (*Trigger)(unsafe.Pointer(p)).Fstep_list Xsqlite3ExprDelete(tls, dbMem, (*TriggerStep)(unsafe.Pointer(pStep)).FpWhere) @@ -119670,7 +119689,7 @@ func fkTriggerDelete(tls *libc.TLS, dbMem uintptr, p uintptr) { /* sqlite3.c:124 // Clear the apTrigger[] cache of CASCADE triggers for all foreign keys // in a particular database. This needs to happen when the schema // changes. -func Xsqlite3FkClearTriggerCache(tls *libc.TLS, db uintptr, iDb int32) { /* sqlite3.c:124149:21: */ +func Xsqlite3FkClearTriggerCache(tls *libc.TLS, db uintptr, iDb int32) { /* sqlite3.c:124162:21: */ var k uintptr var pHash uintptr = (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(iDb)*32)).FpSchema + 8 for k = (*Hash)(unsafe.Pointer(pHash)).Ffirst; k != 0; k = (*HashElem)(unsafe.Pointer(k)).Fnext { @@ -119703,7 +119722,7 @@ func Xsqlite3FkClearTriggerCache(tls *libc.TLS, db uintptr, iDb int32) { /* sqli // then the equivalent of "DELETE FROM " is executed before dropping // the table from the database. Triggers are disabled while running this // DELETE, but foreign key actions are not. -func Xsqlite3FkDropTable(tls *libc.TLS, pParse uintptr, pName uintptr, pTab uintptr) { /* sqlite3.c:124180:21: */ +func Xsqlite3FkDropTable(tls *libc.TLS, pParse uintptr, pName uintptr, pTab uintptr) { /* sqlite3.c:124193:21: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb if (*Sqlite3)(unsafe.Pointer(db)).Fflags&uint64(SQLITE_ForeignKeys) != 0 && int32((*Table)(unsafe.Pointer(pTab)).FeTabType) == TABTYP_NORM { var iSkip int32 = 0 @@ -119766,7 +119785,7 @@ func Xsqlite3FkDropTable(tls *libc.TLS, pParse uintptr, pName uintptr, pTab uint // // This function returns true if any of the columns that are part of the // child key for FK constraint *p are modified. -func fkChildIsModified(tls *libc.TLS, pTab uintptr, p uintptr, aChange uintptr, bChngRowid int32) int32 { /* sqlite3.c:124243:12: */ +func fkChildIsModified(tls *libc.TLS, pTab uintptr, p uintptr, aChange uintptr, bChngRowid int32) int32 { /* sqlite3.c:124256:12: */ var i int32 for i = 0; i < (*FKey)(unsafe.Pointer(p)).FnCol; i++ { var iChildKey int32 = (*sColMap)(unsafe.Pointer(p + 64 + uintptr(i)*16)).FiFrom @@ -119790,7 +119809,7 @@ func fkChildIsModified(tls *libc.TLS, pTab uintptr, p uintptr, aChange uintptr, // // This function returns true if any of the columns that are part of the // parent key for FK constraint *p are modified. -func fkParentIsModified(tls *libc.TLS, pTab uintptr, p uintptr, aChange uintptr, bChngRowid int32) int32 { /* sqlite3.c:124270:12: */ +func fkParentIsModified(tls *libc.TLS, pTab uintptr, p uintptr, aChange uintptr, bChngRowid int32) int32 { /* sqlite3.c:124283:12: */ var i int32 for i = 0; i < (*FKey)(unsafe.Pointer(p)).FnCol; i++ { var zKey uintptr = (*sColMap)(unsafe.Pointer(p + 64 + uintptr(i)*16)).FzCol @@ -119814,7 +119833,7 @@ func fkParentIsModified(tls *libc.TLS, pTab uintptr, p uintptr, aChange uintptr, // Return true if the parser passed as the first argument is being // used to code a trigger that is really a "SET NULL" action belonging // to trigger pFKey. -func isSetNullAction(tls *libc.TLS, pParse uintptr, pFKey uintptr) int32 { /* sqlite3.c:124299:12: */ +func isSetNullAction(tls *libc.TLS, pParse uintptr, pFKey uintptr) int32 { /* sqlite3.c:124312:12: */ var pTop uintptr = func() uintptr { if (*Parse)(unsafe.Pointer(pParse)).FpToplevel != 0 { return (*Parse)(unsafe.Pointer(pParse)).FpToplevel @@ -119849,7 +119868,7 @@ func isSetNullAction(tls *libc.TLS, pParse uintptr, pFKey uintptr) int32 { /* sq // the original record is deleted from the table using the calling convention // described for DELETE. Then again after the original record is deleted // but before the new record is inserted using the INSERT convention. -func Xsqlite3FkCheck(tls *libc.TLS, pParse uintptr, pTab uintptr, regOld int32, regNew int32, aChange uintptr, bChngRowid int32) { /* sqlite3.c:124332:21: */ +func Xsqlite3FkCheck(tls *libc.TLS, pParse uintptr, pTab uintptr, regOld int32, regNew int32, aChange uintptr, bChngRowid int32) { /* sqlite3.c:124345:21: */ bp := tls.Alloc(40) defer tls.Free(40) @@ -120051,7 +120070,7 @@ func Xsqlite3FkCheck(tls *libc.TLS, pParse uintptr, pTab uintptr, regOld int32, // This function is called before generating code to update or delete a // row contained in table pTab. -func Xsqlite3FkOldmask(tls *libc.TLS, pParse uintptr, pTab uintptr) U32 { /* sqlite3.c:124535:20: */ +func Xsqlite3FkOldmask(tls *libc.TLS, pParse uintptr, pTab uintptr) U32 { /* sqlite3.c:124548:20: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -120110,7 +120129,7 @@ func Xsqlite3FkOldmask(tls *libc.TLS, pParse uintptr, pTab uintptr) U32 { /* sql // not "NO ACTION" (i.e. is CASCADE, SET DEFAULT or SET NULL). // // Or, assuming some other foreign key processing is required, 1. -func Xsqlite3FkRequired(tls *libc.TLS, pParse uintptr, pTab uintptr, aChange uintptr, chngRowid int32) int32 { /* sqlite3.c:124585:20: */ +func Xsqlite3FkRequired(tls *libc.TLS, pParse uintptr, pTab uintptr, aChange uintptr, chngRowid int32) int32 { /* sqlite3.c:124598:20: */ var eRet int32 = 1 // Value to return if bHaveFK is true var bHaveFK int32 = 0 // If FK processing is required if (*Sqlite3)(unsafe.Pointer((*Parse)(unsafe.Pointer(pParse)).Fdb)).Fflags&uint64(SQLITE_ForeignKeys) != 0 && int32((*Table)(unsafe.Pointer(pTab)).FeTabType) == TABTYP_NORM { @@ -120178,7 +120197,7 @@ func Xsqlite3FkRequired(tls *libc.TLS, pParse uintptr, pTab uintptr, aChange uin // The returned pointer is cached as part of the foreign key object. It // is eventually freed along with the rest of the foreign key object by // sqlite3FkDelete(). -func fkActionTrigger(tls *libc.TLS, pParse uintptr, pTab uintptr, pFKey uintptr, pChanges uintptr) uintptr { /* sqlite3.c:124653:16: */ +func fkActionTrigger(tls *libc.TLS, pParse uintptr, pTab uintptr, pFKey uintptr, pChanges uintptr) uintptr { /* sqlite3.c:124666:16: */ bp := tls.Alloc(96) defer tls.Free(96) @@ -120381,7 +120400,7 @@ func fkActionTrigger(tls *libc.TLS, pParse uintptr, pTab uintptr, pFKey uintptr, // This function is called when deleting or updating a row to implement // any required CASCADE, SET NULL or SET DEFAULT actions. -func Xsqlite3FkActions(tls *libc.TLS, pParse uintptr, pTab uintptr, pChanges uintptr, regOld int32, aChange uintptr, bChngRowid int32) { /* sqlite3.c:124845:21: */ +func Xsqlite3FkActions(tls *libc.TLS, pParse uintptr, pTab uintptr, pChanges uintptr, regOld int32, aChange uintptr, bChngRowid int32) { /* sqlite3.c:124858:21: */ // If foreign-key support is enabled, iterate through all FKs that // refer to table pTab. If there is an action associated with the FK // for this operation (either update or delete), invoke the associated @@ -120402,7 +120421,7 @@ func Xsqlite3FkActions(tls *libc.TLS, pParse uintptr, pTab uintptr, pChanges uin // Free all memory associated with foreign key definitions attached to // table pTab. Remove the deleted foreign keys from the Schema.fkeyHash // hash table. -func Xsqlite3FkDelete(tls *libc.TLS, db uintptr, pTab uintptr) { /* sqlite3.c:124877:21: */ +func Xsqlite3FkDelete(tls *libc.TLS, db uintptr, pTab uintptr) { /* sqlite3.c:124890:21: */ var pFKey uintptr // Iterator variable var pNext uintptr // Copy of pFKey->pNextFrom @@ -120462,7 +120481,7 @@ func Xsqlite3FkDelete(tls *libc.TLS, db uintptr, pTab uintptr) { /* sqlite3.c:12 // // If pTab is a WITHOUT ROWID table, then it is the PRIMARY KEY index // for that table that is actually opened. -func Xsqlite3OpenTable(tls *libc.TLS, pParse uintptr, iCur int32, iDb int32, pTab uintptr, opcode int32) { /* sqlite3.c:124943:21: */ +func Xsqlite3OpenTable(tls *libc.TLS, pParse uintptr, iCur int32, iDb int32, pTab uintptr, opcode int32) { /* sqlite3.c:124956:21: */ var v uintptr v = (*Parse)(unsafe.Pointer(pParse)).FpVdbe @@ -120504,7 +120523,7 @@ func Xsqlite3OpenTable(tls *libc.TLS, pParse uintptr, iCur int32, iDb int32, pTa // Memory for the buffer containing the column index affinity string // is managed along with the rest of the Index structure. It will be // released when sqlite3DeleteIndex() is called. -func Xsqlite3IndexAffinityStr(tls *libc.TLS, db uintptr, pIdx uintptr) uintptr { /* sqlite3.c:124990:27: */ +func Xsqlite3IndexAffinityStr(tls *libc.TLS, db uintptr, pIdx uintptr) uintptr { /* sqlite3.c:125003:27: */ if !(int32((*Index)(unsafe.Pointer(pIdx)).FzColAff) != 0) { // The first time a column affinity string for a particular index is // required, it is allocated and populated here. It is then stored as @@ -120583,7 +120602,7 @@ func Xsqlite3IndexAffinityStr(tls *libc.TLS, db uintptr, pIdx uintptr) uintptr { // register set as the OP_MakeRecord. If iReg>0 then register iReg is // the first of a series of registers that will form the new record. // Apply the type checking to that array of registers. -func Xsqlite3TableAffinity(tls *libc.TLS, v uintptr, pTab uintptr, iReg int32) { /* sqlite3.c:125069:21: */ +func Xsqlite3TableAffinity(tls *libc.TLS, v uintptr, pTab uintptr, iReg int32) { /* sqlite3.c:125082:21: */ var i int32 var j int32 var zColAff uintptr @@ -120641,7 +120660,7 @@ func Xsqlite3TableAffinity(tls *libc.TLS, v uintptr, pTab uintptr, iReg int32) { // have been opened at any point in the VDBE program. This is used to see if // a statement of the form "INSERT INTO SELECT ..." can // run without using a temporary table for the results of the SELECT. -func readsTable(tls *libc.TLS, p uintptr, iDb int32, pTab uintptr) int32 { /* sqlite3.c:125130:12: */ +func readsTable(tls *libc.TLS, p uintptr, iDb int32, pTab uintptr) int32 { /* sqlite3.c:125143:12: */ var v uintptr = Xsqlite3GetVdbe(tls, p) var i int32 var iEnd int32 = Xsqlite3VdbeCurrentAddr(tls, v) @@ -120677,7 +120696,7 @@ func readsTable(tls *libc.TLS, p uintptr, iDb int32, pTab uintptr) int32 { /* sq // This walker callback will compute the union of colFlags flags for all // referenced columns in a CHECK constraint or generated column expression. -func exprColumnFlagUnion(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:125167:12: */ +func exprColumnFlagUnion(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:125180:12: */ if int32((*Expr)(unsafe.Pointer(pExpr)).Fop) == TK_COLUMN && int32((*Expr)(unsafe.Pointer(pExpr)).FiColumn) >= 0 { *(*U16)(unsafe.Pointer(pWalker + 36)) |= U16(int32((*Column)(unsafe.Pointer((*Table1)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pWalker + 40)))).FaCol + uintptr((*Expr)(unsafe.Pointer(pExpr)).FiColumn)*24)).FcolFlags)) @@ -120690,7 +120709,7 @@ func exprColumnFlagUnion(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { // or VIRTUAL columns have not yet been initialized. This routine goes // back and computes the values for those columns based on the previously // computed normal columns. -func Xsqlite3ComputeGeneratedColumns(tls *libc.TLS, pParse uintptr, iRegStore int32, pTab uintptr) { /* sqlite3.c:125183:21: */ +func Xsqlite3ComputeGeneratedColumns(tls *libc.TLS, pParse uintptr, iRegStore int32, pTab uintptr) { /* sqlite3.c:125196:21: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -120803,7 +120822,7 @@ func Xsqlite3ComputeGeneratedColumns(tls *libc.TLS, pParse uintptr, iRegStore in // // The 2nd register is the one that is returned. That is all the // insert routine needs to know about. -func autoIncBegin(tls *libc.TLS, pParse uintptr, iDb int32, pTab uintptr) int32 { /* sqlite3.c:125307:12: */ +func autoIncBegin(tls *libc.TLS, pParse uintptr, iDb int32, pTab uintptr) int32 { /* sqlite3.c:125320:12: */ var memId int32 = 0 // Register holding maximum rowid if (*Table)(unsafe.Pointer(pTab)).FtabFlags&U32(TF_Autoincrement) != U32(0) && @@ -120857,7 +120876,7 @@ func autoIncBegin(tls *libc.TLS, pParse uintptr, iDb int32, pTab uintptr) int32 // This routine generates code that will initialize all of the // register used by the autoincrement tracker. -func Xsqlite3AutoincrementBegin(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:125358:21: */ +func Xsqlite3AutoincrementBegin(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:125371:21: */ var p uintptr // Information about an AUTOINCREMENT var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb // The database connection var pDb uintptr // Database only autoinc table @@ -120897,7 +120916,7 @@ func Xsqlite3AutoincrementBegin(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:12 } } -var iLn1 int32 = 0 /* sqlite3.c:125372:22 */ +var iLn1 int32 = 0 /* sqlite3.c:125385:22 */ var autoInc = [12]VdbeOpList{ /* 0 */ {Fopcode: U8(OP_Null)}, /* 1 */ {Fopcode: U8(OP_Rewind), Fp2: int8(10)}, @@ -120911,7 +120930,7 @@ var autoInc = [12]VdbeOpList{ /* 9 */ {Fopcode: U8(OP_Next), Fp2: int8(2)}, /* 10 */ {Fopcode: U8(OP_Integer)}, /* 11 */ {Fopcode: U8(OP_Close)}, -} /* sqlite3.c:125373:29 */ +} /* sqlite3.c:125386:29 */ // Update the maximum rowid for an autoincrement calculation. // @@ -120919,7 +120938,7 @@ var autoInc = [12]VdbeOpList{ // new rowid that is about to be inserted. If that new rowid is // larger than the maximum rowid in the memId memory cell, then the // memory cell is updated. -func autoIncStep(tls *libc.TLS, pParse uintptr, memId int32, regRowid int32) { /* sqlite3.c:125419:13: */ +func autoIncStep(tls *libc.TLS, pParse uintptr, memId int32, regRowid int32) { /* sqlite3.c:125432:13: */ if memId > 0 { Xsqlite3VdbeAddOp2(tls, (*Parse)(unsafe.Pointer(pParse)).FpVdbe, OP_MemMax, memId, regRowid) } @@ -120930,7 +120949,7 @@ func autoIncStep(tls *libc.TLS, pParse uintptr, memId int32, regRowid int32) { / // Every statement that might do an INSERT into an autoincrement // table (either directly or through triggers) needs to call this // routine just before the "exit" code. -func autoIncrementEnd(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:125432:29: */ +func autoIncrementEnd(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:125445:29: */ var p uintptr var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb @@ -120961,16 +120980,16 @@ func autoIncrementEnd(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:125432:29: * } } -var iLn2 int32 = 0 /* sqlite3.c:125439:22 */ +var iLn2 int32 = 0 /* sqlite3.c:125452:22 */ var autoIncEnd = [5]VdbeOpList{ /* 0 */ {Fopcode: U8(OP_NotNull), Fp2: int8(2)}, /* 1 */ {Fopcode: U8(OP_NewRowid)}, /* 2 */ {Fopcode: U8(OP_MakeRecord), Fp2: int8(2)}, /* 3 */ {Fopcode: U8(OP_Insert)}, /* 4 */ {Fopcode: U8(OP_Close)}, -} /* sqlite3.c:125440:29 */ +} /* sqlite3.c:125453:29 */ -func Xsqlite3AutoincrementEnd(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:125469:21: */ +func Xsqlite3AutoincrementEnd(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:125482:21: */ if (*Parse)(unsafe.Pointer(pParse)).FpAinc != 0 { autoIncrementEnd(tls, pParse) } @@ -121071,7 +121090,7 @@ func Xsqlite3AutoincrementEnd(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:1254 // transfer values form intermediate table into // end loop // D: cleanup -func Xsqlite3Insert(tls *libc.TLS, pParse uintptr, pTabList uintptr, pSelect uintptr, pColumn uintptr, onError int32, pUpsert uintptr) { /* sqlite3.c:125588:21: */ +func Xsqlite3Insert(tls *libc.TLS, pParse uintptr, pTabList uintptr, pSelect uintptr, pColumn uintptr, onError int32, pUpsert uintptr) { /* sqlite3.c:125601:21: */ bp := tls.Alloc(188) defer tls.Free(188) @@ -122125,7 +122144,7 @@ insert_cleanup: // Set bit 0x01 of pWalker->eCode if pWalker->eCode to 0 and if this // expression node references any of the // columns that are being modifed by an UPDATE statement. -func checkConstraintExprNode(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:126347:12: */ +func checkConstraintExprNode(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:126360:12: */ if int32((*Expr)(unsafe.Pointer(pExpr)).Fop) == TK_COLUMN { if int32((*Expr)(unsafe.Pointer(pExpr)).FiColumn) >= 0 { @@ -122152,7 +122171,7 @@ func checkConstraintExprNode(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int3 // The operation of this routine is the same - return true if an only if // the expression uses one or more of columns identified by the second and // third arguments. -func Xsqlite3ExprReferencesUpdatedColumn(tls *libc.TLS, pExpr uintptr, aiChng uintptr, chngRowid int32) int32 { /* sqlite3.c:126376:20: */ +func Xsqlite3ExprReferencesUpdatedColumn(tls *libc.TLS, pExpr uintptr, aiChng uintptr, chngRowid int32) int32 { /* sqlite3.c:126389:20: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -122186,7 +122205,7 @@ type IndexListTerm1 = struct { Fp uintptr Fix int32 F__ccgo_pad1 [4]byte -} /* sqlite3.c:126409:9 */ +} /* sqlite3.c:126422:9 */ // The sqlite3GenerateConstraintChecks() routine usually wants to visit // the indexes of a table in the order provided in the Table->pIndex list. @@ -122197,7 +122216,7 @@ type IndexListTerm1 = struct { // The IndexIterator object is used to walk through all of the indexes // of a table in either Index.pNext order, or in some other order established // by an array of IndexListTerm objects. -type IndexListTerm = IndexListTerm1 /* sqlite3.c:126409:30 */ +type IndexListTerm = IndexListTerm1 /* sqlite3.c:126422:30 */ type IndexIterator1 = struct { FeType int32 Fi int32 @@ -122205,12 +122224,12 @@ type IndexIterator1 = struct { Flx struct{ FpIdx uintptr } F__ccgo_pad1 [8]byte } -} /* sqlite3.c:126410:9 */ +} /* sqlite3.c:126423:9 */ -type IndexIterator = IndexIterator1 /* sqlite3.c:126410:30 */ +type IndexIterator = IndexIterator1 /* sqlite3.c:126423:30 */ // Return the first index on the list -func indexIteratorFirst(tls *libc.TLS, pIter uintptr, pIx uintptr) uintptr { /* sqlite3.c:126434:14: */ +func indexIteratorFirst(tls *libc.TLS, pIter uintptr, pIx uintptr) uintptr { /* sqlite3.c:126447:14: */ if (*IndexIterator)(unsafe.Pointer(pIter)).FeType != 0 { *(*int32)(unsafe.Pointer(pIx)) = (*IndexListTerm)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pIter + 8 + 8 /* &.aIdx */)))).Fix @@ -122223,7 +122242,7 @@ func indexIteratorFirst(tls *libc.TLS, pIter uintptr, pIx uintptr) uintptr { /* } // Return the next index from the list. Return NULL when out of indexes -func indexIteratorNext(tls *libc.TLS, pIter uintptr, pIx uintptr) uintptr { /* sqlite3.c:126446:14: */ +func indexIteratorNext(tls *libc.TLS, pIter uintptr, pIx uintptr) uintptr { /* sqlite3.c:126459:14: */ if (*IndexIterator)(unsafe.Pointer(pIter)).FeType != 0 { var i int32 = libc.PreIncInt32(&(*IndexIterator)(unsafe.Pointer(pIter)).Fi, 1) if i >= *(*int32)(unsafe.Pointer(pIter + 8)) { @@ -122329,7 +122348,7 @@ func indexIteratorNext(tls *libc.TLS, pIter uintptr, pIx uintptr) uintptr { /* s // Or if overrideError==OE_Default, then the pParse->onError parameter // is used. Or if pParse->onError==OE_Default then the onError value // for the constraint is used. -func Xsqlite3GenerateConstraintChecks(tls *libc.TLS, pParse uintptr, pTab uintptr, aRegIdx uintptr, iDataCur int32, iIdxCur int32, regNewData int32, regOldData int32, pkChng U8, overrideError U8, ignoreDest int32, pbMayReplace uintptr, aiChng uintptr, pUpsert uintptr) { /* sqlite3.c:126553:21: */ +func Xsqlite3GenerateConstraintChecks(tls *libc.TLS, pParse uintptr, pTab uintptr, aRegIdx uintptr, iDataCur int32, iIdxCur int32, regNewData int32, regOldData int32, pkChng U8, overrideError U8, ignoreDest int32, pbMayReplace uintptr, aiChng uintptr, pUpsert uintptr) { /* sqlite3.c:126566:21: */ bp := tls.Alloc(72) defer tls.Free(72) @@ -123192,7 +123211,7 @@ func Xsqlite3GenerateConstraintChecks(tls *libc.TLS, pParse uintptr, pTab uintpt // number is iCur, and register regData contains the new record for the // PK index. This function adds code to invoke the pre-update hook, // if one is registered. -func codeWithoutRowidPreupdate(tls *libc.TLS, pParse uintptr, pTab uintptr, iCur int32, regData int32) { /* sqlite3.c:127411:13: */ +func codeWithoutRowidPreupdate(tls *libc.TLS, pParse uintptr, pTab uintptr, iCur int32, regData int32) { /* sqlite3.c:127424:13: */ var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe var r int32 = Xsqlite3GetTempReg(tls, pParse) @@ -123209,7 +123228,7 @@ func codeWithoutRowidPreupdate(tls *libc.TLS, pParse uintptr, pTab uintptr, iCur // // The arguments to this routine should be the same as the first six // arguments to sqlite3GenerateConstraintChecks. -func Xsqlite3CompleteInsertion(tls *libc.TLS, pParse uintptr, pTab uintptr, iDataCur int32, iIdxCur int32, regNewData int32, aRegIdx uintptr, update_flags int32, appendBias int32, useSeekResult int32) { /* sqlite3.c:127439:21: */ +func Xsqlite3CompleteInsertion(tls *libc.TLS, pParse uintptr, pTab uintptr, iDataCur int32, iIdxCur int32, regNewData int32, aRegIdx uintptr, update_flags int32, appendBias int32, useSeekResult int32) { /* sqlite3.c:127452:21: */ var v uintptr // Prepared statements under construction var pIdx uintptr // An index being inserted or updated var pik_flags U8 // flag values passed to the btree insert @@ -123312,7 +123331,7 @@ __3: // // If pTab is a virtual table, then this routine is a no-op and the // *piDataCur and *piIdxCur values are left uninitialized. -func Xsqlite3OpenTableAndIndices(tls *libc.TLS, pParse uintptr, pTab uintptr, op int32, p5 U8, iBase int32, aToOpen uintptr, piDataCur uintptr, piIdxCur uintptr) int32 { /* sqlite3.c:127527:20: */ +func Xsqlite3OpenTableAndIndices(tls *libc.TLS, pParse uintptr, pTab uintptr, op int32, p5 U8, iBase int32, aToOpen uintptr, piDataCur uintptr, piIdxCur uintptr) int32 { /* sqlite3.c:127540:20: */ var i int32 var iDb int32 var iDataCur int32 @@ -123390,7 +123409,7 @@ __3: // * The same onError processing (OE_Abort, OE_Ignore, etc) // * The same collating sequence on each column // * The index has the exact same WHERE clause -func xferCompatibleIndex(tls *libc.TLS, pDest uintptr, pSrc uintptr) int32 { /* sqlite3.c:127606:12: */ +func xferCompatibleIndex(tls *libc.TLS, pDest uintptr, pSrc uintptr) int32 { /* sqlite3.c:127619:12: */ var i int32 if int32((*Index)(unsafe.Pointer(pDest)).FnKeyCol) != int32((*Index)(unsafe.Pointer(pSrc)).FnKeyCol) || int32((*Index)(unsafe.Pointer(pDest)).FnColumn) != int32((*Index)(unsafe.Pointer(pSrc)).FnColumn) { @@ -123448,7 +123467,7 @@ func xferCompatibleIndex(tls *libc.TLS, pDest uintptr, pSrc uintptr) int32 { /* // is no chance that the xfer optimization can be applied. // // This optimization is particularly useful at making VACUUM run faster. -func xferOptimization(tls *libc.TLS, pParse uintptr, pDest uintptr, pSelect uintptr, onError int32, iDbDest int32) int32 { /* sqlite3.c:127667:12: */ +func xferOptimization(tls *libc.TLS, pParse uintptr, pDest uintptr, pSelect uintptr, onError int32, iDbDest int32) int32 { /* sqlite3.c:127680:12: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb var pEList uintptr // The result set of the SELECT var pSrc uintptr // The table in the FROM clause of SELECT @@ -123828,7 +123847,7 @@ func xferOptimization(tls *libc.TLS, pParse uintptr, pDest uintptr, pSelect uint // the xCallback() function is called. pArg becomes the first // 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 Sqlite3_callback, pArg uintptr, pzErrMsg uintptr) int32 { /* sqlite3.c:128078:16: */ +func Xsqlite3_exec(tls *libc.TLS, db uintptr, zSql uintptr, xCallback Sqlite3_callback, pArg uintptr, pzErrMsg uintptr) int32 { /* sqlite3.c:128091:16: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -123849,7 +123868,7 @@ func Xsqlite3_exec(tls *libc.TLS, db uintptr, zSql uintptr, xCallback Sqlite3_ca if !!(Xsqlite3SafetyCheckOk(tls, db) != 0) { goto __1 } - return Xsqlite3MisuseError(tls, 128091) + return Xsqlite3MisuseError(tls, 128104) __1: ; if !(zSql == uintptr(0)) { @@ -124038,7 +124057,7 @@ __26: // This is the function signature used for all extension entry points. It // is also defined in the file "loadext.c". -type Sqlite3_loadext_entry = uintptr /* sqlite3.c:128572:13 */ +type Sqlite3_loadext_entry = uintptr /* sqlite3.c:128585:13 */ // The following macros redefine the API routines so that they are // redirected through the global sqlite3_api structure. @@ -124372,7 +124391,7 @@ var sqlite3Apis = Sqlite3_api_routines{ Fvtab_in: 0, Fvtab_in_first: 0, Fvtab_in_next: 0, -} /* sqlite3.c:129018:35 */ +} /* sqlite3.c:129031:35 */ // True if x is the directory separator character @@ -124386,7 +124405,7 @@ var sqlite3Apis = Sqlite3_api_routines{ // If an error occurs and pzErrMsg is not 0, then fill *pzErrMsg with // error message text. The calling function should free this memory // by calling sqlite3DbFree(db, ). -func sqlite3LoadExtension(tls *libc.TLS, db uintptr, zFile uintptr, zProc uintptr, pzErrMsg uintptr) int32 { /* sqlite3.c:129402:12: */ +func sqlite3LoadExtension(tls *libc.TLS, db uintptr, zFile uintptr, zProc uintptr, pzErrMsg uintptr) int32 { /* sqlite3.c:129415:12: */ bp := tls.Alloc(64) defer tls.Free(64) @@ -124640,9 +124659,9 @@ __28: var azEndings = [1]uintptr{ ts + 16352, -} /* sqlite3.c:129420:21 */ +} /* sqlite3.c:129433:21 */ -func Xsqlite3_load_extension(tls *libc.TLS, db uintptr, zFile uintptr, zProc uintptr, pzErrMsg uintptr) int32 { /* sqlite3.c:129553:16: */ +func Xsqlite3_load_extension(tls *libc.TLS, db uintptr, zFile uintptr, zProc uintptr, pzErrMsg uintptr) int32 { /* sqlite3.c:129566:16: */ var rc int32 Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) rc = sqlite3LoadExtension(tls, db, zFile, zProc, pzErrMsg) @@ -124653,7 +124672,7 @@ func Xsqlite3_load_extension(tls *libc.TLS, db uintptr, zFile uintptr, zProc uin // Call this routine when the database connection is closing in order // to clean up loaded extensions -func Xsqlite3CloseExtensions(tls *libc.TLS, db uintptr) { /* sqlite3.c:129571:21: */ +func Xsqlite3CloseExtensions(tls *libc.TLS, db uintptr) { /* sqlite3.c:129584:21: */ var i int32 for i = 0; i < (*Sqlite3)(unsafe.Pointer(db)).FnExtension; i++ { @@ -124664,7 +124683,7 @@ func Xsqlite3CloseExtensions(tls *libc.TLS, db uintptr) { /* sqlite3.c:129571:21 // Enable or disable extension loading. Extension loading is disabled by // default so as not to open security holes in older applications. -func Xsqlite3_enable_load_extension(tls *libc.TLS, db uintptr, onoff int32) int32 { /* sqlite3.c:129584:16: */ +func Xsqlite3_enable_load_extension(tls *libc.TLS, db uintptr, onoff int32) int32 { /* sqlite3.c:129597:16: */ Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) if onoff != 0 { *(*U64)(unsafe.Pointer(db + 48)) |= uint64(SQLITE_LoadExtension | SQLITE_LoadExtFunc) @@ -124684,15 +124703,15 @@ type sqlite3AutoExtList = struct { FnExt U32 F__ccgo_pad1 [4]byte FaExt uintptr -} /* sqlite3.c:129604:9 */ +} /* sqlite3.c:129617:9 */ // The following object holds the list of automatically loaded // extensions. // // This list is shared across threads. The SQLITE_MUTEX_STATIC_MAIN // mutex must be held while accessing this list. -type Sqlite3AutoExtList = sqlite3AutoExtList /* sqlite3.c:129604:35 */ -var sqlite3Autoext = sqlite3AutoExtList{} /* sqlite3.c:129608:3 */ +type Sqlite3AutoExtList = sqlite3AutoExtList /* sqlite3.c:129617:35 */ +var sqlite3Autoext = sqlite3AutoExtList{} /* sqlite3.c:129621:3 */ // The "wsdAutoext" macro will resolve to the autoextension // state vector. If writable static data is unsupported on the target, @@ -124702,7 +124721,7 @@ var sqlite3Autoext = sqlite3AutoExtList{} /* sqlite3.c:129608:3 */ // Register a statically linked extension that is automatically // loaded by every new database connection. -func Xsqlite3_auto_extension(tls *libc.TLS, xInit uintptr) int32 { /* sqlite3.c:129630:16: */ +func Xsqlite3_auto_extension(tls *libc.TLS, xInit uintptr) int32 { /* sqlite3.c:129643:16: */ var rc int32 = SQLITE_OK rc = Xsqlite3_initialize(tls) if rc != 0 { @@ -124743,7 +124762,7 @@ func Xsqlite3_auto_extension(tls *libc.TLS, xInit uintptr) int32 { /* sqlite3.c: // // 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) int32 { /* sqlite3.c:129677:16: */ +func Xsqlite3_cancel_auto_extension(tls *libc.TLS, xInit uintptr) int32 { /* sqlite3.c:129690:16: */ var mutex uintptr = Xsqlite3MutexAlloc(tls, SQLITE_MUTEX_STATIC_MAIN) var i int32 var n int32 = 0 @@ -124762,7 +124781,7 @@ func Xsqlite3_cancel_auto_extension(tls *libc.TLS, xInit uintptr) int32 { /* sql } // Reset the automatic extension loading mechanism. -func Xsqlite3_reset_auto_extension(tls *libc.TLS) { /* sqlite3.c:129702:17: */ +func Xsqlite3_reset_auto_extension(tls *libc.TLS) { /* sqlite3.c:129715:17: */ if Xsqlite3_initialize(tls) == SQLITE_OK { var mutex uintptr = Xsqlite3MutexAlloc(tls, SQLITE_MUTEX_STATIC_MAIN) @@ -124777,7 +124796,7 @@ func Xsqlite3_reset_auto_extension(tls *libc.TLS) { /* sqlite3.c:129702:17: */ // Load all automatic extensions. // // If anything goes wrong, set an error in the database connection. -func Xsqlite3AutoLoadExtensions(tls *libc.TLS, db uintptr) { /* sqlite3.c:129724:21: */ +func Xsqlite3AutoLoadExtensions(tls *libc.TLS, db uintptr) { /* sqlite3.c:129737:21: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -124914,7 +124933,7 @@ var pragCName = [57]uintptr{ ts + 16630, ts + 16641, -} /* sqlite3.c:129865:19 */ +} /* sqlite3.c:129878:19 */ // Definitions of all built-in pragmas type PragmaName1 = struct { @@ -124925,10 +124944,10 @@ type PragmaName1 = struct { FnPragCName U8 F__ccgo_pad1 [4]byte FiArg U64 -} /* sqlite3.c:129930:9 */ +} /* sqlite3.c:129943:9 */ // Definitions of all built-in pragmas -type PragmaName = PragmaName1 /* sqlite3.c:129937:3 */ +type PragmaName = PragmaName1 /* sqlite3.c:129950:3 */ var aPragmaName = [67]PragmaName{ { /* zName: */ FzName: ts + 16649, /* ePragTyp: */ FePragTyp: U8(PragTyp_ANALYSIS_LIMIT), @@ -125168,7 +125187,7 @@ var aPragmaName = [67]PragmaName{ /* ePragTyp: */ FePragTyp: U8(PragTyp_FLAG), /* ePragFlg: */ FmPragFlg: U8(PragFlg_Result0 | PragFlg_NoColumns1), /* iArg: */ FiArg: uint64(SQLITE_WriteSchema | SQLITE_NoSchemaError)}, -} /* sqlite3.c:129938:25 */ +} /* sqlite3.c:129951:25 */ // Number of pragmas: 68 on by default, 78 total. @@ -125184,7 +125203,7 @@ var aPragmaName = [67]PragmaName{ // should be passed into sqlite3BtreeSetSafetyLevel(). The is done // to support legacy SQL code. The safety level used to be boolean // and older scripts may have used numbers 0 for OFF and 1 for ON. -func getSafetyLevel(tls *libc.TLS, z uintptr, omitFull int32, dflt U8) U8 { /* sqlite3.c:130472:11: */ +func getSafetyLevel(tls *libc.TLS, z uintptr, omitFull int32, dflt U8) U8 { /* sqlite3.c:130485:11: */ // on no off false yes true extra full var i int32 var n int32 @@ -125201,13 +125220,13 @@ func getSafetyLevel(tls *libc.TLS, z uintptr, omitFull int32, dflt U8) U8 { /* s return dflt } -var zText = *(*[25]int8)(unsafe.Pointer(ts + 17632)) /* sqlite3.c:130474:21 */ -var iOffset = [8]U8{U8(0), U8(1), U8(2), U8(4), U8(9), U8(12), U8(15), U8(20)} /* sqlite3.c:130475:19 */ -var iLength = [8]U8{U8(2), U8(2), U8(3), U8(5), U8(3), U8(4), U8(5), U8(4)} /* sqlite3.c:130476:19 */ -var iValue = [8]U8{U8(1), U8(0), U8(0), U8(0), U8(1), U8(1), U8(3), U8(2)} /* sqlite3.c:130477:19 */ +var zText = *(*[25]int8)(unsafe.Pointer(ts + 17632)) /* sqlite3.c:130487:21 */ +var iOffset = [8]U8{U8(0), U8(1), U8(2), U8(4), U8(9), U8(12), U8(15), U8(20)} /* sqlite3.c:130488:19 */ +var iLength = [8]U8{U8(2), U8(2), U8(3), U8(5), U8(3), U8(4), U8(5), U8(4)} /* sqlite3.c:130489:19 */ +var iValue = [8]U8{U8(1), U8(0), U8(0), U8(0), U8(1), U8(1), U8(3), U8(2)} /* sqlite3.c:130490:19 */ // Interpret the given string as a boolean value. -func Xsqlite3GetBoolean(tls *libc.TLS, z uintptr, dflt U8) U8 { /* sqlite3.c:130497:19: */ +func Xsqlite3GetBoolean(tls *libc.TLS, z uintptr, dflt U8) U8 { /* sqlite3.c:130510:19: */ return U8(libc.Bool32(int32(getSafetyLevel(tls, z, 1, dflt)) != 0)) } @@ -125216,7 +125235,7 @@ func Xsqlite3GetBoolean(tls *libc.TLS, z uintptr, dflt U8) U8 { /* sqlite3.c:130 // the rest of the file if PRAGMAs are omitted from the build. // Interpret the given string as a locking mode value. -func getLockingMode(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:130510:12: */ +func getLockingMode(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:130523:12: */ if z != 0 { if 0 == Xsqlite3StrICmp(tls, z, ts+17657) { return PAGER_LOCKINGMODE_EXCLUSIVE @@ -125232,7 +125251,7 @@ func getLockingMode(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:130510:12: */ // // The following strings, "none", "full" and "incremental" are // acceptable, as are their numeric equivalents: 0, 1 and 2 respectively. -func getAutoVacuum(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:130525:12: */ +func getAutoVacuum(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:130538:12: */ var i int32 if 0 == Xsqlite3StrICmp(tls, z, ts+8308) { return BTREE_AUTOVACUUM_NONE @@ -125255,7 +125274,7 @@ func getAutoVacuum(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:130525:12: */ // Interpret the given string as a temp db location. Return 1 for file // backed temporary databases, 2 for the Red-Black tree in memory database // and 0 to use the compile-time default. -func getTempStore(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:130541:12: */ +func getTempStore(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:130554:12: */ if int32(*(*int8)(unsafe.Pointer(z))) >= '0' && int32(*(*int8)(unsafe.Pointer(z))) <= '2' { return int32(*(*int8)(unsafe.Pointer(z))) - '0' } else if Xsqlite3StrICmp(tls, z, ts+16591) == 0 { @@ -125270,7 +125289,7 @@ func getTempStore(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:130541:12: */ // Invalidate temp storage, either when the temp storage is changed // from default, or when 'file' and the temp_store_directory has changed -func invalidateTempStorage(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:130559:12: */ +func invalidateTempStorage(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:130572:12: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb if (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+1*32)).FpBt != uintptr(0) { if !(int32((*Sqlite3)(unsafe.Pointer(db)).FautoCommit) != 0) || @@ -125289,7 +125308,7 @@ func invalidateTempStorage(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:1 // If the TEMP database is open, close it and mark the database schema // as needing reloading. This must be done when using the SQLITE_TEMP_STORE // or DEFAULT_TEMP_STORE pragmas. -func changeTempStorage(tls *libc.TLS, pParse uintptr, zStorageType uintptr) int32 { /* sqlite3.c:130583:12: */ +func changeTempStorage(tls *libc.TLS, pParse uintptr, zStorageType uintptr) int32 { /* sqlite3.c:130596:12: */ var ts int32 = getTempStore(tls, zStorageType) var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb if int32((*Sqlite3)(unsafe.Pointer(db)).Ftemp_store) == ts { @@ -125303,7 +125322,7 @@ func changeTempStorage(tls *libc.TLS, pParse uintptr, zStorageType uintptr) int3 } // Set result column names for a pragma. -func setPragmaResultColumnNames(tls *libc.TLS, v uintptr, pPragma uintptr) { /* sqlite3.c:130598:13: */ +func setPragmaResultColumnNames(tls *libc.TLS, v uintptr, pPragma uintptr) { /* sqlite3.c:130611:13: */ var n U8 = (*PragmaName)(unsafe.Pointer(pPragma)).FnPragCName Xsqlite3VdbeSetNumCols(tls, v, func() int32 { if int32(n) == 0 { @@ -125337,7 +125356,7 @@ func setPragmaResultColumnNames(tls *libc.TLS, v uintptr, pPragma uintptr) { /* } // Generate code to return a single integer value. -func returnSingleInt(tls *libc.TLS, v uintptr, value I64) { /* sqlite3.c:130617:13: */ +func returnSingleInt(tls *libc.TLS, v uintptr, value I64) { /* sqlite3.c:130630:13: */ bp := tls.Alloc(8) defer tls.Free(8) *(*I64)(unsafe.Pointer(bp)) = value @@ -125347,7 +125366,7 @@ func returnSingleInt(tls *libc.TLS, v uintptr, value I64) { /* sqlite3.c:130617: } // Generate code to return a single text value. -func returnSingleText(tls *libc.TLS, v uintptr, zValue uintptr) { /* sqlite3.c:130625:13: */ +func returnSingleText(tls *libc.TLS, v uintptr, zValue uintptr) { /* sqlite3.c:130638:13: */ if zValue != 0 { Xsqlite3VdbeLoadString(tls, v, 1, zValue) Xsqlite3VdbeAddOp2(tls, v, OP_ResultRow, 1, 1) @@ -125356,7 +125375,7 @@ func returnSingleText(tls *libc.TLS, v uintptr, zValue uintptr) { /* sqlite3.c:1 // Set the safety_level and pager flags for pager iDb. Or if iDb<0 // set these values for all pagers. -func setAllPagerFlags(tls *libc.TLS, db uintptr) { /* sqlite3.c:130641:13: */ +func setAllPagerFlags(tls *libc.TLS, db uintptr) { /* sqlite3.c:130654:13: */ if (*Sqlite3)(unsafe.Pointer(db)).FautoCommit != 0 { var pDb uintptr = (*Sqlite3)(unsafe.Pointer(db)).FaDb var n int32 = (*Sqlite3)(unsafe.Pointer(db)).FnDb @@ -125372,7 +125391,7 @@ func setAllPagerFlags(tls *libc.TLS, db uintptr) { /* sqlite3.c:130641:13: */ } // Return a human-readable name for a constraint resolution action. -func actionName(tls *libc.TLS, action U8) uintptr { /* sqlite3.c:130669:19: */ +func actionName(tls *libc.TLS, action U8) uintptr { /* sqlite3.c:130682:19: */ var zName uintptr switch int32(action) { case OE_SetNull: @@ -125397,7 +125416,7 @@ func actionName(tls *libc.TLS, action U8) uintptr { /* sqlite3.c:130669:19: */ // Parameter eMode must be one of the PAGER_JOURNALMODE_XXX constants // defined in pager.h. This function returns the associated lowercase // journal-mode name. -func Xsqlite3JournalModename(tls *libc.TLS, eMode int32) uintptr { /* sqlite3.c:130689:27: */ +func Xsqlite3JournalModename(tls *libc.TLS, eMode int32) uintptr { /* sqlite3.c:130702:27: */ if eMode == int32(uint64(unsafe.Sizeof(azModeName))/uint64(unsafe.Sizeof(uintptr(0)))) { return uintptr(0) @@ -125407,10 +125426,10 @@ func Xsqlite3JournalModename(tls *libc.TLS, eMode int32) uintptr { /* sqlite3.c: var azModeName = [6]uintptr{ ts + 17808, ts + 17815, ts + 17823, ts + 17827, ts + 17691, ts + 17836, -} /* sqlite3.c:130690:15 */ +} /* sqlite3.c:130703:15 */ // Locate a pragma in the aPragmaName[] array. -func pragmaLocate(tls *libc.TLS, zName uintptr) uintptr { /* sqlite3.c:130711:25: */ +func pragmaLocate(tls *libc.TLS, zName uintptr) uintptr { /* sqlite3.c:130724:25: */ var upr int32 var lwr int32 var mid int32 = 0 @@ -125437,7 +125456,7 @@ func pragmaLocate(tls *libc.TLS, zName uintptr) uintptr { /* sqlite3.c:130711:25 // Create zero or more entries in the output for the SQL functions // defined by FuncDef p. -func pragmaFunclistLine(tls *libc.TLS, v uintptr, p uintptr, isBuiltin int32, showInternFuncs int32) { /* sqlite3.c:130732:13: */ +func pragmaFunclistLine(tls *libc.TLS, v uintptr, p uintptr, isBuiltin int32, showInternFuncs int32) { /* sqlite3.c:130745:13: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -125466,15 +125485,15 @@ func pragmaFunclistLine(tls *libc.TLS, v uintptr, p uintptr, isBuiltin int32, sh } } -var mask U32 = U32(SQLITE_DETERMINISTIC | SQLITE_DIRECTONLY | SQLITE_SUBTYPE | SQLITE_INNOCUOUS | SQLITE_FUNC_INTERNAL) /* sqlite3.c:130740:22 */ -var azEnc = [4]uintptr{uintptr(0), ts + 17851, ts + 17856, ts + 17864 /* "utf16be" */} /* sqlite3.c:130747:23 */ +var mask U32 = U32(SQLITE_DETERMINISTIC | SQLITE_DIRECTONLY | SQLITE_SUBTYPE | SQLITE_INNOCUOUS | SQLITE_FUNC_INTERNAL) /* sqlite3.c:130753:22 */ +var azEnc = [4]uintptr{uintptr(0), ts + 17851, ts + 17856, ts + 17864 /* "utf16be" */} /* sqlite3.c:130760:23 */ // Helper subroutine for PRAGMA integrity_check: // // Generate code to output a single-column result row with a value of the // string held in register 3. Decrement the result count in register 1 // and halt if the maximum number of result rows have been issued. -func integrityCheckResultRow(tls *libc.TLS, v uintptr) int32 { /* sqlite3.c:130784:12: */ +func integrityCheckResultRow(tls *libc.TLS, v uintptr) int32 { /* sqlite3.c:130797:12: */ var addr int32 Xsqlite3VdbeAddOp2(tls, v, OP_ResultRow, 3, 1) addr = Xsqlite3VdbeAddOp3(tls, v, OP_IfPos, 1, Xsqlite3VdbeCurrentAddr(tls, v)+2, 1) @@ -125496,7 +125515,7 @@ func integrityCheckResultRow(tls *libc.TLS, v uintptr) int32 { /* sqlite3.c:1307 // If the left side is "database.id" then pId1 is the database name // and pId2 is the id. If the left side is just "id" then pId1 is the // id and pId2 is any empty string. -func Xsqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, pValue uintptr, minusFlag int32) { /* sqlite3.c:130808:21: */ +func Xsqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, pValue uintptr, minusFlag int32) { /* sqlite3.c:130821:21: */ bp := tls.Alloc(624) defer tls.Free(624) @@ -128937,9 +128956,9 @@ type EncName = struct { FzName uintptr Fenc U8 F__ccgo_pad1 [7]byte -} /* sqlite3.c:132383:18 */ +} /* sqlite3.c:132396:18 */ -var iLn3 int32 = 0 /* sqlite3.c:130937:22 */ +var iLn3 int32 = 0 /* sqlite3.c:130950:22 */ var getCacheSize = [9]VdbeOpList{ {Fopcode: U8(OP_Transaction)}, // 0 {Fopcode: U8(OP_ReadCookie), Fp2: int8(1), Fp3: int8(BTREE_DEFAULT_CACHE_SIZE)}, // 1 @@ -128950,16 +128969,16 @@ var getCacheSize = [9]VdbeOpList{ {Fopcode: U8(OP_Integer), Fp2: int8(1)}, // 6 {Fopcode: U8(OP_Noop)}, {Fopcode: U8(OP_ResultRow), Fp1: int8(1), Fp2: int8(1)}, -} /* sqlite3.c:130938:29 */ -var iLn4 int32 = 0 /* sqlite3.c:131206:26 */ +} /* sqlite3.c:130951:29 */ +var iLn4 int32 = 0 /* sqlite3.c:131219:26 */ var setMeta6 = [5]VdbeOpList{ {Fopcode: U8(OP_Transaction), Fp2: int8(1)}, // 0 {Fopcode: U8(OP_ReadCookie), Fp2: int8(1), Fp3: int8(BTREE_LARGEST_ROOT_PAGE)}, {Fopcode: U8(OP_If), Fp1: int8(1)}, // 2 {Fopcode: U8(OP_Halt), Fp2: int8(OE_Abort)}, // 3 {Fopcode: U8(OP_SetCookie), Fp2: int8(BTREE_INCR_VACUUM)}, // 4 -} /* sqlite3.c:131207:33 */ -var iLn5 int32 = 0 /* sqlite3.c:132333:24 */ +} /* sqlite3.c:131220:33 */ +var iLn5 int32 = 0 /* sqlite3.c:132346:24 */ var endCode = [7]VdbeOpList{ {Fopcode: U8(OP_AddImm), Fp1: int8(1)}, // 0 {Fopcode: U8(OP_IfNotZero), Fp1: int8(1), Fp2: int8(4)}, // 1 @@ -128968,7 +128987,7 @@ var endCode = [7]VdbeOpList{ {Fopcode: U8(OP_Halt)}, // 4 {Fopcode: U8(OP_String8), Fp2: int8(3)}, // 5 {Fopcode: U8(OP_Goto), Fp2: int8(3)}, // 6 -} /* sqlite3.c:132334:31 */ +} /* sqlite3.c:132347:31 */ var encnames1 = [9]EncName{ {FzName: ts + 18317, Fenc: U8(SQLITE_UTF8)}, {FzName: ts + 18322, Fenc: U8(SQLITE_UTF8)}, // Must be element [1] @@ -128979,16 +128998,16 @@ var encnames1 = [9]EncName{ {FzName: ts + 18362}, {FzName: ts + 18369}, {}, -} /* sqlite3.c:132386:7 */ +} /* sqlite3.c:132399:7 */ var setCookie = [2]VdbeOpList{ {Fopcode: U8(OP_Transaction), Fp2: int8(1)}, // 0 {Fopcode: U8(OP_SetCookie)}, // 1 -} /* sqlite3.c:132466:31 */ +} /* sqlite3.c:132479:31 */ var readCookie = [3]VdbeOpList{ {Fopcode: U8(OP_Transaction)}, // 0 {Fopcode: U8(OP_ReadCookie), Fp2: int8(1)}, // 1 {Fopcode: U8(OP_ResultRow), Fp1: int8(1), Fp2: int8(1)}, -} /* sqlite3.c:132481:31 */ +} /* sqlite3.c:132494:31 */ // **************************************************************************** // // Implementation of an eponymous virtual table that runs a pragma. @@ -129000,24 +129019,24 @@ type PragmaVtab1 = struct { FnHidden U8 FiHidden U8 F__ccgo_pad1 [6]byte -} /* sqlite3.c:132841:9 */ +} /* sqlite3.c:132854:9 */ // **************************************************************************** // // Implementation of an eponymous virtual table that runs a pragma. // -type PragmaVtab = PragmaVtab1 /* sqlite3.c:132841:27 */ +type PragmaVtab = PragmaVtab1 /* sqlite3.c:132854:27 */ type PragmaVtabCursor1 = struct { Fbase Sqlite3_vtab_cursor FpPragma uintptr FiRowid Sqlite_int64 FazArg [2]uintptr -} /* sqlite3.c:132842:9 */ +} /* sqlite3.c:132855:9 */ -type PragmaVtabCursor = PragmaVtabCursor1 /* sqlite3.c:132842:33 */ +type PragmaVtabCursor = PragmaVtabCursor1 /* sqlite3.c:132855:33 */ // Pragma virtual table module xConnect method. -func pragmaVtabConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 { /* sqlite3.c:132860:12: */ +func pragmaVtabConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 { /* sqlite3.c:132873:12: */ bp := tls.Alloc(264) defer tls.Free(264) @@ -129091,7 +129110,7 @@ __3: } // Pragma virtual table module xDisconnect method. -func pragmaVtabDisconnect(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:132922:12: */ +func pragmaVtabDisconnect(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:132935:12: */ var pTab uintptr = pVtab Xsqlite3_free(tls, pTab) return SQLITE_OK @@ -129103,7 +129122,7 @@ func pragmaVtabDisconnect(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:132 // query planner to give == constraints on as many hidden parameters as // possible, and especially on the first hidden parameter. So return a // high cost if hidden parameters are unconstrained. -func pragmaVtabBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 { /* sqlite3.c:132935:12: */ +func pragmaVtabBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 { /* sqlite3.c:132948:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -129168,7 +129187,7 @@ __3: } // Create a new cursor for the pragma virtual table -func pragmaVtabOpen(tls *libc.TLS, pVtab uintptr, ppCursor uintptr) int32 { /* sqlite3.c:132972:12: */ +func pragmaVtabOpen(tls *libc.TLS, pVtab uintptr, ppCursor uintptr) int32 { /* sqlite3.c:132985:12: */ var pCsr uintptr pCsr = Xsqlite3_malloc(tls, int32(unsafe.Sizeof(PragmaVtabCursor{}))) if pCsr == uintptr(0) { @@ -129181,7 +129200,7 @@ func pragmaVtabOpen(tls *libc.TLS, pVtab uintptr, ppCursor uintptr) int32 { /* s } // Clear all content from pragma virtual table cursor. -func pragmaVtabCursorClear(tls *libc.TLS, pCsr uintptr) { /* sqlite3.c:132983:13: */ +func pragmaVtabCursorClear(tls *libc.TLS, pCsr uintptr) { /* sqlite3.c:132996:13: */ var i int32 Xsqlite3_finalize(tls, (*PragmaVtabCursor)(unsafe.Pointer(pCsr)).FpPragma) (*PragmaVtabCursor)(unsafe.Pointer(pCsr)).FpPragma = uintptr(0) @@ -129192,7 +129211,7 @@ func pragmaVtabCursorClear(tls *libc.TLS, pCsr uintptr) { /* sqlite3.c:132983:13 } // Close a pragma virtual table cursor -func pragmaVtabClose(tls *libc.TLS, cur uintptr) int32 { /* sqlite3.c:132994:12: */ +func pragmaVtabClose(tls *libc.TLS, cur uintptr) int32 { /* sqlite3.c:133007:12: */ var pCsr uintptr = cur pragmaVtabCursorClear(tls, pCsr) Xsqlite3_free(tls, pCsr) @@ -129200,7 +129219,7 @@ func pragmaVtabClose(tls *libc.TLS, cur uintptr) int32 { /* sqlite3.c:132994:12: } // Advance the pragma virtual table cursor to the next row -func pragmaVtabNext(tls *libc.TLS, pVtabCursor uintptr) int32 { /* sqlite3.c:133002:12: */ +func pragmaVtabNext(tls *libc.TLS, pVtabCursor uintptr) int32 { /* sqlite3.c:133015:12: */ var pCsr uintptr = pVtabCursor var rc int32 = SQLITE_OK @@ -129216,7 +129235,7 @@ func pragmaVtabNext(tls *libc.TLS, pVtabCursor uintptr) int32 { /* sqlite3.c:133 } // Pragma virtual table module xFilter method. -func pragmaVtabFilter(tls *libc.TLS, pVtabCursor uintptr, idxNum int32, idxStr uintptr, argc int32, argv uintptr) int32 { /* sqlite3.c:133020:12: */ +func pragmaVtabFilter(tls *libc.TLS, pVtabCursor uintptr, idxNum int32, idxStr uintptr, argc int32, argv uintptr) int32 { /* sqlite3.c:133033:12: */ bp := tls.Alloc(64) defer tls.Free(64) @@ -129284,14 +129303,14 @@ __3: } // Pragma virtual table module xEof method. -func pragmaVtabEof(tls *libc.TLS, pVtabCursor uintptr) int32 { /* sqlite3.c:133070:12: */ +func pragmaVtabEof(tls *libc.TLS, pVtabCursor uintptr) int32 { /* sqlite3.c:133083:12: */ var pCsr uintptr = pVtabCursor return libc.Bool32((*PragmaVtabCursor)(unsafe.Pointer(pCsr)).FpPragma == uintptr(0)) } // The xColumn method simply returns the corresponding column from // the PRAGMA. -func pragmaVtabColumn(tls *libc.TLS, pVtabCursor uintptr, ctx uintptr, i int32) int32 { /* sqlite3.c:133078:12: */ +func pragmaVtabColumn(tls *libc.TLS, pVtabCursor uintptr, ctx uintptr, i int32) int32 { /* sqlite3.c:133091:12: */ var pCsr uintptr = pVtabCursor var pTab uintptr = (*Sqlite3_vtab_cursor)(unsafe.Pointer(pVtabCursor)).FpVtab if i < int32((*PragmaVtab)(unsafe.Pointer(pTab)).FiHidden) { @@ -129303,7 +129322,7 @@ func pragmaVtabColumn(tls *libc.TLS, pVtabCursor uintptr, ctx uintptr, i int32) } // Pragma virtual table module xRowid method. -func pragmaVtabRowid(tls *libc.TLS, pVtabCursor uintptr, p uintptr) int32 { /* sqlite3.c:133096:12: */ +func pragmaVtabRowid(tls *libc.TLS, pVtabCursor uintptr, p uintptr) int32 { /* sqlite3.c:133109:12: */ var pCsr uintptr = pVtabCursor *(*Sqlite_int64)(unsafe.Pointer(p)) = (*PragmaVtabCursor)(unsafe.Pointer(pCsr)).FiRowid return SQLITE_OK @@ -129321,12 +129340,12 @@ var pragmaVtabModule = Sqlite3_module{ // xCreate - create a table FxEof: 0, // xEof FxColumn: 0, // xColumn - read data FxRowid: 0, // xShadowName -} /* sqlite3.c:133103:29 */ +} /* sqlite3.c:133116:29 */ // Check to see if zTabName is really the name of a pragma. If it is, // then register an eponymous virtual table for that pragma and return // a pointer to the Module object for the new virtual table. -func Xsqlite3PragmaVtabRegister(tls *libc.TLS, db uintptr, zName uintptr) uintptr { /* sqlite3.c:133135:23: */ +func Xsqlite3PragmaVtabRegister(tls *libc.TLS, db uintptr, zName uintptr) uintptr { /* sqlite3.c:133148:23: */ var pName uintptr pName = pragmaLocate(tls, zName+uintptr(7)) @@ -129359,7 +129378,7 @@ func Xsqlite3PragmaVtabRegister(tls *libc.TLS, db uintptr, zName uintptr) uintpt // Fill the InitData structure with an error message that indicates // that the database is corrupt. -func corruptSchema(tls *libc.TLS, pData uintptr, azObj uintptr, zExtra uintptr) { /* sqlite3.c:133172:13: */ +func corruptSchema(tls *libc.TLS, pData uintptr, azObj uintptr, zExtra uintptr) { /* sqlite3.c:133185:13: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -129375,7 +129394,7 @@ func corruptSchema(tls *libc.TLS, pData uintptr, azObj uintptr, zExtra uintptr) zExtra)) (*InitData)(unsafe.Pointer(pData)).Frc = SQLITE_ERROR } else if (*Sqlite3)(unsafe.Pointer(db)).Fflags&uint64(SQLITE_WriteSchema) != 0 { - (*InitData)(unsafe.Pointer(pData)).Frc = Xsqlite3CorruptError(tls, 133195) + (*InitData)(unsafe.Pointer(pData)).Frc = Xsqlite3CorruptError(tls, 133208) } else { var z uintptr var zObj uintptr @@ -129389,7 +129408,7 @@ func corruptSchema(tls *libc.TLS, pData uintptr, azObj uintptr, zExtra uintptr) z = Xsqlite3MPrintf(tls, db, ts+18505, libc.VaList(bp+40, z, zExtra)) } *(*uintptr)(unsafe.Pointer((*InitData)(unsafe.Pointer(pData)).FpzErrMsg)) = z - (*InitData)(unsafe.Pointer(pData)).Frc = Xsqlite3CorruptError(tls, 133202) + (*InitData)(unsafe.Pointer(pData)).Frc = Xsqlite3CorruptError(tls, 133215) } } @@ -129397,12 +129416,12 @@ var azAlterType = [3]uintptr{ ts + 18513, ts + 18520, ts + 18532, -} /* sqlite3.c:133183:23 */ +} /* sqlite3.c:133196:23 */ // Check to see if any sibling index (another index on the same table) // of pIndex has the same root page number, and if it does, return true. // This would indicate a corrupt schema. -func Xsqlite3IndexHasDuplicateRootPage(tls *libc.TLS, pIndex uintptr) int32 { /* sqlite3.c:133211:20: */ +func Xsqlite3IndexHasDuplicateRootPage(tls *libc.TLS, pIndex uintptr) int32 { /* sqlite3.c:133224:20: */ var p uintptr for p = (*Table)(unsafe.Pointer((*Index)(unsafe.Pointer(pIndex)).FpTable)).FpIndex; p != 0; p = (*Index)(unsafe.Pointer(p)).FpNext { if (*Index)(unsafe.Pointer(p)).Ftnum == (*Index)(unsafe.Pointer(pIndex)).Ftnum && p != pIndex { @@ -129424,7 +129443,7 @@ func Xsqlite3IndexHasDuplicateRootPage(tls *libc.TLS, pIndex uintptr) int32 { /* // argv[3] = root page number for table or index. 0 for trigger or view. // argv[4] = SQL text for the CREATE statement. // -func Xsqlite3InitCallback(tls *libc.TLS, pInit uintptr, argc int32, argv uintptr, NotUsed uintptr) int32 { /* sqlite3.c:133245:20: */ +func Xsqlite3InitCallback(tls *libc.TLS, pInit uintptr, argc int32, argv uintptr, NotUsed uintptr) int32 { /* sqlite3.c:133258:20: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -129526,7 +129545,7 @@ func Xsqlite3InitCallback(tls *libc.TLS, pInit uintptr, argc int32, argv uintptr // database. iDb==1 should never be used. iDb>=2 is used for // auxiliary databases. Return one of the SQLITE_ error codes to // indicate success or failure. -func Xsqlite3InitOne(tls *libc.TLS, db uintptr, iDb int32, pzErrMsg uintptr, mFlags U32) int32 { /* sqlite3.c:133348:20: */ +func Xsqlite3InitOne(tls *libc.TLS, db uintptr, iDb int32, pzErrMsg uintptr, mFlags U32) int32 { /* sqlite3.c:133361:20: */ bp := tls.Alloc(124) defer tls.Free(124) @@ -129772,7 +129791,7 @@ __20: pDb = (*Sqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32 goto __22 __21: - if !(rc == SQLITE_OK || (*Sqlite3)(unsafe.Pointer(db)).Fflags&uint64(SQLITE_NoSchemaError) != 0) { + if !(rc == SQLITE_OK || (*Sqlite3)(unsafe.Pointer(db)).Fflags&uint64(SQLITE_NoSchemaError) != 0 && rc != SQLITE_NOMEM) { goto __23 } // Hack: If the SQLITE_NoSchemaError flag is set, then consider @@ -129827,7 +129846,7 @@ __25: // // After a database is initialized, the DB_SchemaLoaded bit is set // bit is set in the flags field of the Db structure. -func Xsqlite3Init(tls *libc.TLS, db uintptr, pzErrMsg uintptr) int32 { /* sqlite3.c:133587:20: */ +func Xsqlite3Init(tls *libc.TLS, db uintptr, pzErrMsg uintptr) int32 { /* sqlite3.c:133600:20: */ var i int32 var rc int32 var commit_internal int32 = libc.BoolInt32(!((*Sqlite3)(unsafe.Pointer(db)).FmDbFlags&U32(DBFLAG_SchemaChange) != 0)) @@ -129859,7 +129878,7 @@ func Xsqlite3Init(tls *libc.TLS, db uintptr, pzErrMsg uintptr) int32 { /* sqlite // This routine is a no-op if the database schema is already initialized. // Otherwise, the schema is loaded. An error code is returned. -func Xsqlite3ReadSchema(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:133619:20: */ +func Xsqlite3ReadSchema(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:133632:20: */ var rc int32 = SQLITE_OK var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb @@ -129878,7 +129897,7 @@ func Xsqlite3ReadSchema(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:1336 // Check schema cookies in all databases. If any cookie is out // of date set pParse->rc to SQLITE_SCHEMA. If all schema cookies // make no changes to pParse->rc. -func schemaIsValid(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:133641:13: */ +func schemaIsValid(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:133654:13: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -129931,7 +129950,7 @@ func schemaIsValid(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:133641:13: */ // // If the same database is attached more than once, the first // attached database is returned. -func Xsqlite3SchemaToIndex(tls *libc.TLS, db uintptr, pSchema uintptr) int32 { /* sqlite3.c:133691:20: */ +func Xsqlite3SchemaToIndex(tls *libc.TLS, db uintptr, pSchema uintptr) int32 { /* sqlite3.c:133704:20: */ var i int32 = -32768 // If pSchema is NULL, then return -32768. This happens when code in @@ -129958,7 +129977,7 @@ func Xsqlite3SchemaToIndex(tls *libc.TLS, db uintptr, pSchema uintptr) int32 { / } // Free all memory allocations in the pParse object -func Xsqlite3ParseObjectReset(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:133721:21: */ +func Xsqlite3ParseObjectReset(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:133734:21: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb Xsqlite3DbFree(tls, db, (*Parse)(unsafe.Pointer(pParse)).FaTableLock) @@ -130014,7 +130033,7 @@ func Xsqlite3ParseObjectReset(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:1337 // return value thereafter. Something like this: // // pObj = sqlite3ParserAddCleanup(pParse, destructor, pObj); -func Xsqlite3ParserAddCleanup(tls *libc.TLS, pParse uintptr, xCleanup uintptr, pPtr uintptr) uintptr { /* sqlite3.c:133776:21: */ +func Xsqlite3ParserAddCleanup(tls *libc.TLS, pParse uintptr, xCleanup uintptr, pPtr uintptr) uintptr { /* sqlite3.c:133789:21: */ var pCleanup uintptr = Xsqlite3DbMallocRaw(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, uint64(unsafe.Sizeof(ParseCleanup{}))) if pCleanup != 0 { (*ParseCleanup)(unsafe.Pointer(pCleanup)).FpNext = (*Parse)(unsafe.Pointer(pParse)).FpCleanup @@ -130037,7 +130056,7 @@ func Xsqlite3ParserAddCleanup(tls *libc.TLS, pParse uintptr, xCleanup uintptr, p // // Caution: Do not confuse this routine with sqlite3ParseObjectInit() which // is generated by Lemon. -func Xsqlite3ParseObjectInit(tls *libc.TLS, pParse uintptr, db uintptr) { /* sqlite3.c:133806:21: */ +func Xsqlite3ParseObjectInit(tls *libc.TLS, pParse uintptr, db uintptr) { /* sqlite3.c:133819:21: */ libc.X__builtin___memset_chk(tls, pParse+uintptr(uint64(uintptr(0)+8)), 0, uint64(uintptr(0)+216)-uint64(uintptr(0)+8), libc.X__builtin_object_size(tls, pParse+uintptr(uint64(uintptr(0)+8)), 0)) libc.X__builtin___memset_chk(tls, pParse+uintptr(uint64(uintptr(0)+272)), 0, uint64(unsafe.Sizeof(Parse{}))-uint64(uintptr(0)+272), libc.X__builtin_object_size(tls, pParse+uintptr(uint64(uintptr(0)+272)), 0)) @@ -130050,7 +130069,7 @@ func Xsqlite3ParseObjectInit(tls *libc.TLS, pParse uintptr, db uintptr) { /* sql } // Compile the UTF-8 encoded SQL statement zSql into a statement handle. -func sqlite3Prepare(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, prepFlags U32, pReprepare uintptr, ppStmt uintptr, pzTail uintptr) int32 { /* sqlite3.c:133819:12: */ +func sqlite3Prepare(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, prepFlags U32, pReprepare uintptr, ppStmt uintptr, pzTail uintptr) int32 { /* sqlite3.c:133832:12: */ bp := tls.Alloc(424) defer tls.Free(424) @@ -130256,13 +130275,13 @@ end_prepare: return rc } -func sqlite3LockAndPrepare(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, prepFlags U32, pOld uintptr, ppStmt uintptr, pzTail uintptr) int32 { /* sqlite3.c:133962:12: */ +func sqlite3LockAndPrepare(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, prepFlags U32, pOld uintptr, ppStmt uintptr, pzTail uintptr) int32 { /* sqlite3.c:133975:12: */ var rc int32 var cnt int32 = 0 *(*uintptr)(unsafe.Pointer(ppStmt)) = uintptr(0) if !(Xsqlite3SafetyCheckOk(tls, db) != 0) || zSql == uintptr(0) { - return Xsqlite3MisuseError(tls, 133979) + return Xsqlite3MisuseError(tls, 133992) } Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) Xsqlite3BtreeEnterAll(tls, db) @@ -130291,7 +130310,7 @@ func sqlite3LockAndPrepare(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32 // if the statement cannot be recompiled because another connection has // locked the sqlite3_schema table, return SQLITE_LOCKED. If any other error // occurs, return SQLITE_SCHEMA. -func Xsqlite3Reprepare(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:134009:20: */ +func Xsqlite3Reprepare(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:134022:20: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -130330,14 +130349,14 @@ func Xsqlite3Reprepare(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:134009:20: // sqlite3_step(). In the new version, the original SQL text is retained // and the statement is automatically recompiled if an schema change // occurs. -func Xsqlite3_prepare(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, ppStmt uintptr, pzTail uintptr) int32 { /* sqlite3.c:134048:16: */ +func Xsqlite3_prepare(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, ppStmt uintptr, pzTail uintptr) int32 { /* sqlite3.c:134061:16: */ var rc int32 rc = sqlite3LockAndPrepare(tls, db, zSql, nBytes, uint32(0), uintptr(0), ppStmt, pzTail) // VERIFY: F13021 return rc } -func Xsqlite3_prepare_v2(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, ppStmt uintptr, pzTail uintptr) int32 { /* sqlite3.c:134060:16: */ +func Xsqlite3_prepare_v2(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, ppStmt uintptr, pzTail uintptr) int32 { /* sqlite3.c:134073:16: */ var rc int32 // EVIDENCE-OF: R-37923-12173 The sqlite3_prepare_v2() interface works // exactly the same as sqlite3_prepare_v3() with a zero prepFlags @@ -130350,7 +130369,7 @@ func Xsqlite3_prepare_v2(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, return rc } -func Xsqlite3_prepare_v3(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, prepFlags uint32, ppStmt uintptr, pzTail uintptr) int32 { /* sqlite3.c:134078:16: */ +func Xsqlite3_prepare_v3(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, prepFlags uint32, ppStmt uintptr, pzTail uintptr) int32 { /* sqlite3.c:134091:16: */ var rc int32 // EVIDENCE-OF: R-56861-42673 sqlite3_prepare_v3() differs from // sqlite3_prepare_v2() only in having the extra prepFlags parameter, @@ -130367,7 +130386,7 @@ func Xsqlite3_prepare_v3(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, } // Compile the UTF-16 encoded SQL statement zSql into a statement handle. -func sqlite3Prepare16(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, prepFlags U32, ppStmt uintptr, pzTail uintptr) int32 { /* sqlite3.c:134106:12: */ +func sqlite3Prepare16(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, prepFlags U32, ppStmt uintptr, pzTail uintptr) int32 { /* sqlite3.c:134119:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -130380,7 +130399,7 @@ func sqlite3Prepare16(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, pre *(*uintptr)(unsafe.Pointer(ppStmt)) = uintptr(0) if !(Xsqlite3SafetyCheckOk(tls, db) != 0) || zSql == uintptr(0) { - return Xsqlite3MisuseError(tls, 134127) + return Xsqlite3MisuseError(tls, 134140) } if nBytes >= 0 { var sz int32 @@ -130415,21 +130434,21 @@ func sqlite3Prepare16(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, pre // sqlite3_step(). In the new version, the original SQL text is retained // and the statement is automatically recompiled if an schema change // occurs. -func Xsqlite3_prepare16(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, ppStmt uintptr, pzTail uintptr) int32 { /* sqlite3.c:134164:16: */ +func Xsqlite3_prepare16(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, ppStmt uintptr, pzTail uintptr) int32 { /* sqlite3.c:134177:16: */ var rc int32 rc = sqlite3Prepare16(tls, db, zSql, nBytes, uint32(0), ppStmt, pzTail) // VERIFY: F13021 return rc } -func Xsqlite3_prepare16_v2(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, ppStmt uintptr, pzTail uintptr) int32 { /* sqlite3.c:134176:16: */ +func Xsqlite3_prepare16_v2(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, ppStmt uintptr, pzTail uintptr) int32 { /* sqlite3.c:134189:16: */ var rc int32 rc = sqlite3Prepare16(tls, db, zSql, nBytes, uint32(SQLITE_PREPARE_SAVESQL), ppStmt, pzTail) // VERIFY: F13021 return rc } -func Xsqlite3_prepare16_v3(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, prepFlags uint32, ppStmt uintptr, pzTail uintptr) int32 { /* sqlite3.c:134188:16: */ +func Xsqlite3_prepare16_v3(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, prepFlags uint32, ppStmt uintptr, pzTail uintptr) int32 { /* sqlite3.c:134201:16: */ var rc int32 rc = sqlite3Prepare16(tls, db, zSql, nBytes, uint32(SQLITE_PREPARE_SAVESQL)|prepFlags&uint32(SQLITE_PREPARE_MASK), @@ -130463,7 +130482,7 @@ type DistinctCtx1 = struct { F__ccgo_pad1 [2]byte FtabTnct int32 FaddrTnct int32 -} /* sqlite3.c:134229:9 */ +} /* sqlite3.c:134242:9 */ //************* End of prepare.c ******************************************** //************* Begin file select.c ***************************************** @@ -130484,7 +130503,7 @@ type DistinctCtx1 = struct { // An instance of the following object is used to record information about // how to process the DISTINCT keyword, to simplify passing that information // into the selectInnerLoop() routine. -type DistinctCtx = DistinctCtx1 /* sqlite3.c:134229:28 */ +type DistinctCtx = DistinctCtx1 /* sqlite3.c:134242:28 */ // An instance of the following object is used to record information about // the ORDER BY (or GROUP BY) clause of query is being coded. @@ -130514,7 +130533,7 @@ type SortCtx1 = struct { FsortFlags U8 F__ccgo_pad1 [3]byte FpDeferredRowLoad uintptr -} /* sqlite3.c:134255:9 */ +} /* sqlite3.c:134268:9 */ // An instance of the following object is used to record information about // the ORDER BY (or GROUP BY) clause of query is being coded. @@ -130532,19 +130551,19 @@ type SortCtx1 = struct { // When the sorter-reference optimization is used, there is one entry in the // aDefer[] array for each database table that may be read as values are // extracted from the sorter. -type SortCtx = SortCtx1 /* sqlite3.c:134255:24 */ +type SortCtx = SortCtx1 /* sqlite3.c:134268:24 */ type RowLoadInfo1 = struct { FregResult int32 FecelFlags U8 F__ccgo_pad1 [3]byte -} /* sqlite3.c:134255:9 */ +} /* sqlite3.c:134268:9 */ // Delete all the content of a Select structure. Deallocate the structure // itself depending on the value of bFree // // If bFree==1, call sqlite3DbFree() on the p object. // If bFree==0, Leave the first Select object unfreed -func clearSelect(tls *libc.TLS, db uintptr, p uintptr, bFree int32) { /* sqlite3.c:134285:13: */ +func clearSelect(tls *libc.TLS, db uintptr, p uintptr, bFree int32) { /* sqlite3.c:134298:13: */ for p != 0 { var pPrior uintptr = (*Select)(unsafe.Pointer(p)).FpPrior Xsqlite3ExprListDelete(tls, db, (*Select)(unsafe.Pointer(p)).FpEList) @@ -130573,7 +130592,7 @@ func clearSelect(tls *libc.TLS, db uintptr, p uintptr, bFree int32) { /* sqlite3 } // Initialize a SelectDest structure. -func Xsqlite3SelectDestInit(tls *libc.TLS, pDest uintptr, eDest int32, iParm int32) { /* sqlite3.c:134314:21: */ +func Xsqlite3SelectDestInit(tls *libc.TLS, pDest uintptr, eDest int32, iParm int32) { /* sqlite3.c:134327:21: */ (*SelectDest)(unsafe.Pointer(pDest)).FeDest = U8(eDest) (*SelectDest)(unsafe.Pointer(pDest)).FiSDParm = iParm (*SelectDest)(unsafe.Pointer(pDest)).FiSDParm2 = 0 @@ -130584,7 +130603,7 @@ func Xsqlite3SelectDestInit(tls *libc.TLS, pDest uintptr, eDest int32, iParm int // Allocate a new Select structure and return a pointer to that // structure. -func Xsqlite3SelectNew(tls *libc.TLS, pParse uintptr, pEList uintptr, pSrc uintptr, pWhere uintptr, pGroupBy uintptr, pHaving uintptr, pOrderBy uintptr, selFlags U32, pLimit uintptr) uintptr { /* sqlite3.c:134328:23: */ +func Xsqlite3SelectNew(tls *libc.TLS, pParse uintptr, pEList uintptr, pSrc uintptr, pWhere uintptr, pGroupBy uintptr, pHaving uintptr, pOrderBy uintptr, selFlags U32, pLimit uintptr) uintptr { /* sqlite3.c:134341:23: */ bp := tls.Alloc(128) defer tls.Free(128) @@ -130634,14 +130653,14 @@ func Xsqlite3SelectNew(tls *libc.TLS, pParse uintptr, pEList uintptr, pSrc uintp } // Delete the given Select structure and all of its substructures. -func Xsqlite3SelectDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:134386:21: */ +func Xsqlite3SelectDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:134399:21: */ if p != 0 { clearSelect(tls, db, p, 1) } } // Return a pointer to the right-most SELECT statement in a compound. -func findRightmost(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:134393:15: */ +func findRightmost(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:134406:15: */ for (*Select)(unsafe.Pointer(p)).FpNext != 0 { p = (*Select)(unsafe.Pointer(p)).FpNext } @@ -130663,7 +130682,7 @@ func findRightmost(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:134393:15: * // // If an illegal or unsupported join type is seen, then still return // a join type, but put an error in the pParse structure. -func Xsqlite3JoinType(tls *libc.TLS, pParse uintptr, pA uintptr, pB uintptr, pC uintptr) int32 { /* sqlite3.c:134415:20: */ +func Xsqlite3JoinType(tls *libc.TLS, pParse uintptr, pA uintptr, pB uintptr, pC uintptr) int32 { /* sqlite3.c:134428:20: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -130717,7 +130736,7 @@ func Xsqlite3JoinType(tls *libc.TLS, pParse uintptr, pA uintptr, pB uintptr, pC return jointype } -var zKeyText = *(*[34]int8)(unsafe.Pointer(ts + 18834)) /* sqlite3.c:134420:21 */ +var zKeyText = *(*[34]int8)(unsafe.Pointer(ts + 18834)) /* sqlite3.c:134433:21 */ var aKeyword = [7]struct { Fi U8 FnChar U8 @@ -130730,11 +130749,11 @@ var aKeyword = [7]struct { /* full */ {Fi: U8(19), FnChar: U8(4), Fcode: U8(JT_LEFT | JT_RIGHT | JT_OUTER)}, /* inner */ {Fi: U8(23), FnChar: U8(5), Fcode: U8(JT_INNER)}, /* cross */ {Fi: U8(28), FnChar: U8(5), Fcode: U8(JT_INNER | JT_CROSS)}, -} /* sqlite3.c:134425:5 */ +} /* sqlite3.c:134438:5 */ // Return the index of a column in a table. Return -1 if the column // is not contained in the table. -func Xsqlite3ColumnIndex(tls *libc.TLS, pTab uintptr, zCol uintptr) int32 { /* sqlite3.c:134476:20: */ +func Xsqlite3ColumnIndex(tls *libc.TLS, pTab uintptr, zCol uintptr) int32 { /* sqlite3.c:134489:20: */ var i int32 var h U8 = Xsqlite3StrIHash(tls, zCol) var pCol uintptr @@ -130768,7 +130787,7 @@ __3: // of the matching column and return TRUE. // // If not found, return FALSE. -func tableAndColumnIndex(tls *libc.TLS, pSrc uintptr, N int32, zCol uintptr, piTab uintptr, piCol uintptr, bIgnoreHidden int32) int32 { /* sqlite3.c:134495:12: */ +func tableAndColumnIndex(tls *libc.TLS, pSrc uintptr, N int32, zCol uintptr, piTab uintptr, piCol uintptr, bIgnoreHidden int32) int32 { /* sqlite3.c:134508:12: */ var i int32 // For looping over tables in pSrc var iCol int32 // Index of column matching zCol @@ -130796,7 +130815,7 @@ func tableAndColumnIndex(tls *libc.TLS, pSrc uintptr, N int32, zCol uintptr, piT // where tab1 is the iSrc'th table in SrcList pSrc and tab2 is the // (iSrc+1)'th. Column col1 is column iColLeft of tab1, and col2 is // column iColRight of tab2. -func addWhereTerm(tls *libc.TLS, pParse uintptr, pSrc uintptr, iLeft int32, iColLeft int32, iRight int32, iColRight int32, isOuterJoin int32, ppWhere uintptr) { /* sqlite3.c:134533:13: */ +func addWhereTerm(tls *libc.TLS, pParse uintptr, pSrc uintptr, iLeft int32, iColLeft int32, iRight int32, iColRight int32, isOuterJoin int32, ppWhere uintptr) { /* sqlite3.c:134546:13: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb var pE1 uintptr var pE2 uintptr @@ -130841,7 +130860,7 @@ func addWhereTerm(tls *libc.TLS, pParse uintptr, pSrc uintptr, iLeft int32, iCol // defer the handling of t1.x=5, it will be processed immediately // after the t1 loop and rows with t1.x!=5 will never appear in // the output, which is incorrect. -func Xsqlite3SetJoinExpr(tls *libc.TLS, p uintptr, iTable int32) { /* sqlite3.c:134595:21: */ +func Xsqlite3SetJoinExpr(tls *libc.TLS, p uintptr, iTable int32) { /* sqlite3.c:134608:21: */ for p != 0 { *(*U32)(unsafe.Pointer(p + 4)) |= U32(EP_FromJoin) @@ -130865,7 +130884,7 @@ func Xsqlite3SetJoinExpr(tls *libc.TLS, p uintptr, iTable int32) { /* sqlite3.c: // an ordinary term that omits the EP_FromJoin mark. // // This happens when a LEFT JOIN is simplified into an ordinary JOIN. -func unsetJoinExpr(tls *libc.TLS, p uintptr, iTable int32) { /* sqlite3.c:134621:13: */ +func unsetJoinExpr(tls *libc.TLS, p uintptr, iTable int32) { /* sqlite3.c:134634:13: */ for p != 0 { if (*Expr)(unsafe.Pointer(p)).Fflags&U32(EP_FromJoin) != U32(0) && (iTable < 0 || *(*int32)(unsafe.Pointer(p + 52)) == iTable) { @@ -130900,7 +130919,7 @@ func unsetJoinExpr(tls *libc.TLS, p uintptr, iTable int32) { /* sqlite3.c:134621 // also attached to the left entry. // // This routine returns the number of errors encountered. -func sqliteProcessJoin(tls *libc.TLS, pParse uintptr, p uintptr) int32 { /* sqlite3.c:134658:12: */ +func sqliteProcessJoin(tls *libc.TLS, pParse uintptr, p uintptr) int32 { /* sqlite3.c:134671:12: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -131014,11 +131033,11 @@ __3: // An instance of this object holds information (beyond pParse and pSelect) // needed to load the next result row that is to be added to the sorter. -type RowLoadInfo = RowLoadInfo1 /* sqlite3.c:134750:28 */ +type RowLoadInfo = RowLoadInfo1 /* sqlite3.c:134763:28 */ // This routine does the work of loading query data into an array of // registers so that it can be added to the sorter. -func innerLoopLoadRow(tls *libc.TLS, pParse uintptr, pSelect uintptr, pInfo uintptr) { /* sqlite3.c:134764:13: */ +func innerLoopLoadRow(tls *libc.TLS, pParse uintptr, pSelect uintptr, pInfo uintptr) { /* sqlite3.c:134777:13: */ Xsqlite3ExprCodeExprList(tls, pParse, (*Select)(unsafe.Pointer(pSelect)).FpEList, (*RowLoadInfo)(unsafe.Pointer(pInfo)).FregResult, 0, (*RowLoadInfo)(unsafe.Pointer(pInfo)).FecelFlags) } @@ -131027,7 +131046,7 @@ func innerLoopLoadRow(tls *libc.TLS, pParse uintptr, pSelect uintptr, pInfo uint // added into the sorter. // // Return the register in which the result is stored. -func makeSorterRecord(tls *libc.TLS, pParse uintptr, pSort uintptr, pSelect uintptr, regBase int32, nBase int32) int32 { /* sqlite3.c:134785:12: */ +func makeSorterRecord(tls *libc.TLS, pParse uintptr, pSort uintptr, pSelect uintptr, regBase int32, nBase int32) int32 { /* sqlite3.c:134798:12: */ var nOBSat int32 = (*SortCtx)(unsafe.Pointer(pSort)).FnOBSat var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe var regOut int32 = libc.PreIncInt32(&(*Parse)(unsafe.Pointer(pParse)).FnMem, 1) @@ -131040,7 +131059,7 @@ func makeSorterRecord(tls *libc.TLS, pParse uintptr, pSort uintptr, pSelect uint // Generate code that will push the record in registers regData // through regData+nData-1 onto the sorter. -func pushOntoSorter(tls *libc.TLS, pParse uintptr, pSort uintptr, pSelect uintptr, regData int32, regOrigData int32, nData int32, nPrefixReg int32) { /* sqlite3.c:134806:13: */ +func pushOntoSorter(tls *libc.TLS, pParse uintptr, pSort uintptr, pSelect uintptr, regData int32, regOrigData int32, nData int32, nPrefixReg int32) { /* sqlite3.c:134819:13: */ var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe // Stmt under construction var bSeq int32 = libc.Bool32(int32((*SortCtx)(unsafe.Pointer(pSort)).FsortFlags)&SORTFLAG_UseSorter == 0) var nExpr int32 = (*ExprList)(unsafe.Pointer((*SortCtx)(unsafe.Pointer(pSort)).FpOrderBy)).FnExpr // No. of ORDER BY terms @@ -131183,7 +131202,7 @@ func pushOntoSorter(tls *libc.TLS, pParse uintptr, pSort uintptr, pSelect uintpt } // Add code to implement the OFFSET -func codeOffset(tls *libc.TLS, v uintptr, iOffset int32, iContinue int32) { /* sqlite3.c:134948:13: */ +func codeOffset(tls *libc.TLS, v uintptr, iOffset int32, iContinue int32) { /* sqlite3.c:134961:13: */ if iOffset > 0 { Xsqlite3VdbeAddOp3(tls, v, OP_IfPos, iOffset, iContinue, 1) @@ -131231,7 +131250,7 @@ func codeOffset(tls *libc.TLS, v uintptr, iOffset int32, iContinue int32) { /* s // how many elements there are in the array of registers and (b) the // collation sequences that should be used for the comparisons if // eTnctType is WHERE_DISTINCT_ORDERED. -func codeDistinct(tls *libc.TLS, pParse uintptr, eTnctType int32, iTab int32, addrRepeat int32, pEList uintptr, regElem int32) int32 { /* sqlite3.c:135002:12: */ +func codeDistinct(tls *libc.TLS, pParse uintptr, eTnctType int32, iTab int32, addrRepeat int32, pEList uintptr, regElem int32) int32 { /* sqlite3.c:135015:12: */ var iRet int32 = 0 var nResultCol int32 = (*ExprList)(unsafe.Pointer(pEList)).FnExpr var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe @@ -131312,7 +131331,7 @@ func codeDistinct(tls *libc.TLS, pParse uintptr, eTnctType int32, iTab int32, ad // The ephemeral table is not needed. But we do need register // iVal to be initialized to NULL. So change the OP_OpenEphemeral // into an OP_Null on the iVal register. -func fixDistinctOpenEph(tls *libc.TLS, pParse uintptr, eTnctType int32, iVal int32, iOpenEphAddr int32) { /* sqlite3.c:135086:13: */ +func fixDistinctOpenEph(tls *libc.TLS, pParse uintptr, eTnctType int32, iVal int32, iOpenEphAddr int32) { /* sqlite3.c:135099:13: */ if (*Parse)(unsafe.Pointer(pParse)).FnErr == 0 && (eTnctType == WHERE_DISTINCT_UNIQUE || eTnctType == WHERE_DISTINCT_ORDERED) { var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe @@ -131340,7 +131359,7 @@ func fixDistinctOpenEph(tls *libc.TLS, pParse uintptr, eTnctType int32, iVal int // are evaluated in order to get the data for this row. If srcTab is // zero or more, then data is pulled from srcTab and p->pEList is used only // to get the number of columns and the collation sequence for each column. -func selectInnerLoop(tls *libc.TLS, pParse uintptr, p uintptr, srcTab int32, pSort uintptr, pDistinct uintptr, pDest uintptr, iContinue int32, iBreak int32) { /* sqlite3.c:135208:13: */ +func selectInnerLoop(tls *libc.TLS, pParse uintptr, p uintptr, srcTab int32, pSort uintptr, pDistinct uintptr, pDest uintptr, iContinue int32, iBreak int32) { /* sqlite3.c:135221:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -131696,7 +131715,7 @@ func selectInnerLoop(tls *libc.TLS, pParse uintptr, p uintptr, srcTab int32, pSo // Allocate a KeyInfo object sufficient for an index of N key columns and // X extra columns. -func Xsqlite3KeyInfoAlloc(tls *libc.TLS, db uintptr, N int32, X int32) uintptr { /* sqlite3.c:135602:24: */ +func Xsqlite3KeyInfoAlloc(tls *libc.TLS, db uintptr, N int32, X int32) uintptr { /* sqlite3.c:135615:24: */ var nExtra int32 = int32(uint64(N+X)*(uint64(unsafe.Sizeof(uintptr(0)))+uint64(1)) - uint64(unsafe.Sizeof(uintptr(0)))) var p uintptr = Xsqlite3DbMallocRawNN(tls, db, uint64(uint64(unsafe.Sizeof(KeyInfo{}))+uint64(nExtra))) if p != 0 { @@ -131714,7 +131733,7 @@ func Xsqlite3KeyInfoAlloc(tls *libc.TLS, db uintptr, N int32, X int32) uintptr { } // Deallocate a KeyInfo object -func Xsqlite3KeyInfoUnref(tls *libc.TLS, p uintptr) { /* sqlite3.c:135622:21: */ +func Xsqlite3KeyInfoUnref(tls *libc.TLS, p uintptr) { /* sqlite3.c:135635:21: */ if p != 0 { (*KeyInfo)(unsafe.Pointer(p)).FnRef-- @@ -131725,7 +131744,7 @@ func Xsqlite3KeyInfoUnref(tls *libc.TLS, p uintptr) { /* sqlite3.c:135622:21: */ } // Make a new pointer to a KeyInfo object -func Xsqlite3KeyInfoRef(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:135633:24: */ +func Xsqlite3KeyInfoRef(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:135646:24: */ if p != 0 { (*KeyInfo)(unsafe.Pointer(p)).FnRef++ @@ -131745,7 +131764,7 @@ func Xsqlite3KeyInfoRef(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:135633: // Space to hold the KeyInfo structure is obtained from malloc. The calling // function is responsible for seeing that this structure is eventually // freed. -func Xsqlite3KeyInfoFromExprList(tls *libc.TLS, pParse uintptr, pList uintptr, iStart int32, nExtra int32) uintptr { /* sqlite3.c:135665:24: */ +func Xsqlite3KeyInfoFromExprList(tls *libc.TLS, pParse uintptr, pList uintptr, iStart int32, nExtra int32) uintptr { /* sqlite3.c:135678:24: */ var nExpr int32 var pInfo uintptr var pItem uintptr @@ -131779,7 +131798,7 @@ func Xsqlite3KeyInfoFromExprList(tls *libc.TLS, pParse uintptr, pList uintptr, i } // Name of the connection operator, used for error messages. -func Xsqlite3SelectOpName(tls *libc.TLS, id int32) uintptr { /* sqlite3.c:135692:27: */ +func Xsqlite3SelectOpName(tls *libc.TLS, id int32) uintptr { /* sqlite3.c:135705:27: */ var z uintptr switch id { case TK_ALL: @@ -131806,7 +131825,7 @@ func Xsqlite3SelectOpName(tls *libc.TLS, id int32) uintptr { /* sqlite3.c:135692 // // where xxx is one of "DISTINCT", "ORDER BY" or "GROUP BY". Exactly which // is determined by the zUsage argument. -func explainTempTable(tls *libc.TLS, pParse uintptr, zUsage uintptr) { /* sqlite3.c:135714:13: */ +func explainTempTable(tls *libc.TLS, pParse uintptr, zUsage uintptr) { /* sqlite3.c:135727:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -131823,7 +131842,7 @@ func explainTempTable(tls *libc.TLS, pParse uintptr, zUsage uintptr) { /* sqlite // then the results were placed in a sorter. After the loop is terminated // we need to run the sorter and output the results. The following // routine generates the code needed to do that. -func generateSortTail(tls *libc.TLS, pParse uintptr, p uintptr, pSort uintptr, nColumn int32, pDest uintptr) { /* sqlite3.c:135740:13: */ +func generateSortTail(tls *libc.TLS, pParse uintptr, p uintptr, pSort uintptr, nColumn int32, pDest uintptr) { /* sqlite3.c:135753:13: */ var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe // The prepared statement var addrBreak int32 = (*SortCtx)(unsafe.Pointer(pSort)).FlabelDone // Jump here to exit loop var addrContinue int32 = Xsqlite3VdbeMakeLabel(tls, pParse) // Jump here for next cycle @@ -132002,7 +132021,7 @@ func generateSortTail(tls *libc.TLS, pParse uintptr, p uintptr, pSort uintptr, n // // This routine has either 3 or 6 parameters depending on whether or not // the SQLITE_ENABLE_COLUMN_METADATA compile-time option is used. -func columnTypeImpl(tls *libc.TLS, pNC uintptr, pExpr uintptr, pzOrigDb uintptr, pzOrigTab uintptr, pzOrigCol uintptr) uintptr { /* sqlite3.c:135968:19: */ +func columnTypeImpl(tls *libc.TLS, pNC uintptr, pExpr uintptr, pzOrigDb uintptr, pzOrigTab uintptr, pzOrigCol uintptr) uintptr { /* sqlite3.c:135981:19: */ bp := tls.Alloc(136) defer tls.Free(136) @@ -132126,7 +132145,7 @@ func columnTypeImpl(tls *libc.TLS, pNC uintptr, pExpr uintptr, pzOrigDb uintptr, // Generate code that will tell the VDBE the declaration types of columns // in the result set. -func generateColumnTypes(tls *libc.TLS, pParse uintptr, pTabList uintptr, pEList uintptr) { /* sqlite3.c:136119:13: */ +func generateColumnTypes(tls *libc.TLS, pParse uintptr, pTabList uintptr, pEList uintptr) { /* sqlite3.c:136132:13: */ bp := tls.Alloc(80) defer tls.Free(80) @@ -132183,7 +132202,7 @@ func generateColumnTypes(tls *libc.TLS, pParse uintptr, pTabList uintptr, pEList // full=ON, short=ANY: If the result refers directly to a table column, // then the result column name with the table name // prefix, ex: TABLE.COLUMN. Otherwise use zSpan. -func Xsqlite3GenerateColumnNames(tls *libc.TLS, pParse uintptr, pSelect uintptr) { /* sqlite3.c:136186:21: */ +func Xsqlite3GenerateColumnNames(tls *libc.TLS, pParse uintptr, pSelect uintptr) { /* sqlite3.c:136199:21: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -132283,7 +132302,7 @@ func Xsqlite3GenerateColumnNames(tls *libc.TLS, pParse uintptr, pSelect uintptr) // when modifying this routine to avoid breaking legacy. // // See Also: sqlite3GenerateColumnNames() -func Xsqlite3ColumnsFromExprList(tls *libc.TLS, pParse uintptr, pEList uintptr, pnCol uintptr, paCol uintptr) int32 { /* sqlite3.c:136279:20: */ +func Xsqlite3ColumnsFromExprList(tls *libc.TLS, pParse uintptr, pEList uintptr, pnCol uintptr, paCol uintptr) int32 { /* sqlite3.c:136292:20: */ bp := tls.Alloc(60) defer tls.Free(60) @@ -132415,7 +132434,7 @@ __3: // // This routine requires that all identifiers in the SELECT // statement be resolved. -func Xsqlite3SelectAddColumnTypeAndCollation(tls *libc.TLS, pParse uintptr, pTab uintptr, pSelect uintptr, aff int8) { /* sqlite3.c:136386:21: */ +func Xsqlite3SelectAddColumnTypeAndCollation(tls *libc.TLS, pParse uintptr, pTab uintptr, pSelect uintptr, aff int8) { /* sqlite3.c:136399:21: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -132484,7 +132503,7 @@ __3: // Given a SELECT statement, generate a Table structure that describes // the result set of that SELECT. -func Xsqlite3ResultSetOfSelect(tls *libc.TLS, pParse uintptr, pSelect uintptr, aff int8) uintptr { /* sqlite3.c:136441:22: */ +func Xsqlite3ResultSetOfSelect(tls *libc.TLS, pParse uintptr, pSelect uintptr, aff int8) uintptr { /* sqlite3.c:136454:22: */ var pTab uintptr var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb var savedFlags U64 @@ -132519,7 +132538,7 @@ func Xsqlite3ResultSetOfSelect(tls *libc.TLS, pParse uintptr, pSelect uintptr, a // Get a VDBE for the given parser context. Create a new one if necessary. // If an error occurs, return NULL and leave a message in pParse. -func Xsqlite3GetVdbe(tls *libc.TLS, pParse uintptr) uintptr { /* sqlite3.c:136474:21: */ +func Xsqlite3GetVdbe(tls *libc.TLS, pParse uintptr) uintptr { /* sqlite3.c:136487:21: */ if (*Parse)(unsafe.Pointer(pParse)).FpVdbe != 0 { return (*Parse)(unsafe.Pointer(pParse)).FpVdbe } @@ -132551,7 +132570,7 @@ func Xsqlite3GetVdbe(tls *libc.TLS, pParse uintptr) uintptr { /* sqlite3.c:13647 // redefined. The UNION ALL operator uses this property to force // the reuse of the same limit and offset registers across multiple // SELECT statements. -func computeLimitRegisters(tls *libc.TLS, pParse uintptr, p uintptr, iBreak int32) { /* sqlite3.c:136510:13: */ +func computeLimitRegisters(tls *libc.TLS, pParse uintptr, p uintptr, iBreak int32) { /* sqlite3.c:136523:13: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -132608,7 +132627,7 @@ func computeLimitRegisters(tls *libc.TLS, pParse uintptr, p uintptr, iBreak int3 // // The collating sequence for the compound select is taken from the // left-most term of the select that has a collating sequence. -func multiSelectCollSeq(tls *libc.TLS, pParse uintptr, p uintptr, iCol int32) uintptr { /* sqlite3.c:136567:16: */ +func multiSelectCollSeq(tls *libc.TLS, pParse uintptr, p uintptr, iCol int32) uintptr { /* sqlite3.c:136580:16: */ var pRet uintptr if (*Select)(unsafe.Pointer(p)).FpPrior != 0 { pRet = multiSelectCollSeq(tls, pParse, (*Select)(unsafe.Pointer(p)).FpPrior, iCol) @@ -132632,7 +132651,7 @@ func multiSelectCollSeq(tls *libc.TLS, pParse uintptr, p uintptr, iCol int32) ui // Space to hold the KeyInfo structure is obtained from malloc. The calling // function is responsible for ensuring that this structure is eventually // freed. -func multiSelectOrderByKeyInfo(tls *libc.TLS, pParse uintptr, p uintptr, nExtra int32) uintptr { /* sqlite3.c:136593:16: */ +func multiSelectOrderByKeyInfo(tls *libc.TLS, pParse uintptr, p uintptr, nExtra int32) uintptr { /* sqlite3.c:136606:16: */ var pOrderBy uintptr = (*Select)(unsafe.Pointer(p)).FpOrderBy var nOrderBy int32 if pOrderBy != uintptr(0) { @@ -132701,7 +132720,7 @@ func multiSelectOrderByKeyInfo(tls *libc.TLS, pParse uintptr, p uintptr, nExtra // with a positive value, then the first OFFSET outputs are discarded rather // than being sent to pDest. The LIMIT count does not begin until after OFFSET // rows have been skipped. -func generateWithRecursiveQuery(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) { /* sqlite3.c:136659:13: */ +func generateWithRecursiveQuery(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) { /* sqlite3.c:136672:13: */ bp := tls.Alloc(40) defer tls.Free(40) @@ -132942,7 +132961,7 @@ end_of_recursive_query: // clause occurs within scalar expression (ex: "SELECT (VALUES(1),(2),(3))"). // The sqlite3CodeSubselect will have added the LIMIT 1 clause in tht case. // Since the limit is exactly 1, we only need to evalutes the left-most VALUES. -func multiSelectValues(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) int32 { /* sqlite3.c:136835:12: */ +func multiSelectValues(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) int32 { /* sqlite3.c:136848:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -132982,7 +133001,7 @@ func multiSelectValues(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) // Return true if the SELECT statement which is known to be the recursive // part of a recursive CTE still has its anchor terms attached. If the // anchor terms have already been removed, then return false. -func hasAnchor(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:136872:12: */ +func hasAnchor(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:136885:12: */ for p != 0 && (*Select)(unsafe.Pointer(p)).FselFlags&U32(SF_Recursive) != U32(0) { p = (*Select)(unsafe.Pointer(p)).FpPrior } @@ -133018,7 +133037,7 @@ func hasAnchor(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:136872:12: */ // // Notice that because of the way SQLite parses compound SELECTs, the // individual selects always group from left to right. -func multiSelect(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) int32 { /* sqlite3.c:136908:12: */ +func multiSelect(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) int32 { /* sqlite3.c:136921:12: */ bp := tls.Alloc(144) defer tls.Free(144) @@ -133481,7 +133500,7 @@ __44: // Error message for when two or more terms of a compound select have different // size result sets. -func Xsqlite3SelectWrongNumTermsError(tls *libc.TLS, pParse uintptr, p uintptr) { /* sqlite3.c:137264:21: */ +func Xsqlite3SelectWrongNumTermsError(tls *libc.TLS, pParse uintptr, p uintptr) { /* sqlite3.c:137277:21: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -133512,7 +133531,7 @@ func Xsqlite3SelectWrongNumTermsError(tls *libc.TLS, pParse uintptr, p uintptr) // // If the LIMIT found in p->iLimit is reached, jump immediately to // iBreak. -func generateOutputSubroutine(tls *libc.TLS, pParse uintptr, p uintptr, pIn uintptr, pDest uintptr, regReturn int32, regPrev int32, pKeyInfo uintptr, iBreak int32) int32 { /* sqlite3.c:137294:12: */ +func generateOutputSubroutine(tls *libc.TLS, pParse uintptr, p uintptr, pIn uintptr, pDest uintptr, regReturn int32, regPrev int32, pKeyInfo uintptr, iBreak int32) int32 { /* sqlite3.c:137307:12: */ var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe var iContinue int32 var addr int32 @@ -133708,7 +133727,7 @@ func generateOutputSubroutine(tls *libc.TLS, pParse uintptr, p uintptr, pIn uint // actually called using Gosub and they do not Return. EofA and EofB loop // until all data is exhausted then jump to the "end" labe. AltB, AeqB, // and AgtB jump to either L2 or to one of EofA or EofB. -func multiSelectOrderBy(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) int32 { /* sqlite3.c:137502:12: */ +func multiSelectOrderBy(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) int32 { /* sqlite3.c:137515:12: */ bp := tls.Alloc(88) defer tls.Free(88) @@ -134058,14 +134077,14 @@ type SubstContext1 = struct { FisLeftJoin int32 F__ccgo_pad1 [4]byte FpEList uintptr -} /* sqlite3.c:137827:9 */ +} /* sqlite3.c:137840:9 */ // An instance of the SubstContext object describes an substitution edit // to be performed on a parse tree. // // All references to columns in table iTable are to be replaced by corresponding // expressions in pEList. -type SubstContext = SubstContext1 /* sqlite3.c:137833:3 */ +type SubstContext = SubstContext1 /* sqlite3.c:137846:3 */ // Scan through the expression pExpr. Replace every reference to // a column in table number iTable with a copy of the iColumn-th @@ -134078,7 +134097,7 @@ type SubstContext = SubstContext1 /* sqlite3.c:137833:3 */ // FORM clause entry is iTable. This routine makes the necessary // changes to pExpr so that it refers directly to the source table // of the subquery rather the result set of the subquery. -func substExpr(tls *libc.TLS, pSubst uintptr, pExpr uintptr) uintptr { /* sqlite3.c:137852:13: */ +func substExpr(tls *libc.TLS, pSubst uintptr, pExpr uintptr) uintptr { /* sqlite3.c:137865:13: */ bp := tls.Alloc(72) defer tls.Free(72) @@ -134161,7 +134180,7 @@ func substExpr(tls *libc.TLS, pSubst uintptr, pExpr uintptr) uintptr { /* sqlite return pExpr } -func substExprList(tls *libc.TLS, pSubst uintptr, pList uintptr) { /* sqlite3.c:137937:13: */ +func substExprList(tls *libc.TLS, pSubst uintptr, pList uintptr) { /* sqlite3.c:137950:13: */ var i int32 if pList == uintptr(0) { return @@ -134171,7 +134190,7 @@ func substExprList(tls *libc.TLS, pSubst uintptr, pList uintptr) { /* sqlite3.c: } } -func substSelect(tls *libc.TLS, pSubst uintptr, p uintptr, doPrior int32) { /* sqlite3.c:137947:13: */ +func substSelect(tls *libc.TLS, pSubst uintptr, p uintptr, doPrior int32) { /* sqlite3.c:137960:13: */ var pSrc uintptr var pItem uintptr var i int32 @@ -134214,7 +134233,7 @@ func substSelect(tls *libc.TLS, pSubst uintptr, p uintptr, doPrior int32) { /* s // // This routine scans the entire SELECT statement and recomputes the // pSrcItem->colUsed mask. -func recomputeColumnsUsedExpr(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:137982:12: */ +func recomputeColumnsUsedExpr(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:137995:12: */ var pItem uintptr if int32((*Expr)(unsafe.Pointer(pExpr)).Fop) != TK_COLUMN { return WRC_Continue @@ -134230,7 +134249,7 @@ func recomputeColumnsUsedExpr(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int return WRC_Continue } -func recomputeColumnsUsed(tls *libc.TLS, pSelect uintptr, pSrcItem uintptr) { /* sqlite3.c:137991:13: */ +func recomputeColumnsUsed(tls *libc.TLS, pSelect uintptr, pSrcItem uintptr) { /* sqlite3.c:138004:13: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -134262,7 +134281,7 @@ func recomputeColumnsUsed(tls *libc.TLS, pSelect uintptr, pSrcItem uintptr) { /* // // If pSrc contains any sub-selects, call this routine recursively // on the FROM clause of each such sub-select, with iExcept set to -1. -func srclistRenumberCursors(tls *libc.TLS, pParse uintptr, aCsrMap uintptr, pSrc uintptr, iExcept int32) { /* sqlite3.c:138020:13: */ +func srclistRenumberCursors(tls *libc.TLS, pParse uintptr, aCsrMap uintptr, pSrc uintptr, iExcept int32) { /* sqlite3.c:138033:13: */ var i int32 var pItem uintptr i = 0 @@ -134295,7 +134314,7 @@ __3: } // *piCursor is a cursor number. Change it if it needs to be mapped. -func renumberCursorDoMapping(tls *libc.TLS, pWalker uintptr, piCursor uintptr) { /* sqlite3.c:138046:13: */ +func renumberCursorDoMapping(tls *libc.TLS, pWalker uintptr, piCursor uintptr) { /* sqlite3.c:138059:13: */ var aCsrMap uintptr = *(*uintptr)(unsafe.Pointer(pWalker + 40)) var iCsr int32 = *(*int32)(unsafe.Pointer(piCursor)) if iCsr < *(*int32)(unsafe.Pointer(aCsrMap)) && *(*int32)(unsafe.Pointer(aCsrMap + uintptr(iCsr+1)*4)) > 0 { @@ -134305,7 +134324,7 @@ func renumberCursorDoMapping(tls *libc.TLS, pWalker uintptr, piCursor uintptr) { // Expression walker callback used by renumberCursors() to update // Expr objects to match newly assigned cursor numbers. -func renumberCursorsCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:138058:12: */ +func renumberCursorsCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:138071:12: */ var op int32 = int32((*Expr)(unsafe.Pointer(pExpr)).Fop) if op == TK_COLUMN || op == TK_IF_NULL_ROW { renumberCursorDoMapping(tls, pWalker, pExpr+44) @@ -134332,7 +134351,7 @@ func renumberCursorsCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* // * the array entries for all cursor numbers that do *not* appear in // FROM clauses of the select statement as described above are // initialized to zero. -func renumberCursors(tls *libc.TLS, pParse uintptr, p uintptr, iExcept int32, aCsrMap uintptr) { /* sqlite3.c:138087:13: */ +func renumberCursors(tls *libc.TLS, pParse uintptr, p uintptr, iExcept int32, aCsrMap uintptr) { /* sqlite3.c:138100:13: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -134502,7 +134521,7 @@ func renumberCursors(tls *libc.TLS, pParse uintptr, p uintptr, iExcept int32, aC // // All of the expression analysis must occur on both the outer query and // the subquery before this routine runs. -func flattenSubquery(tls *libc.TLS, pParse uintptr, p uintptr, iFrom int32, isAgg int32) int32 { /* sqlite3.c:138258:12: */ +func flattenSubquery(tls *libc.TLS, pParse uintptr, p uintptr, iFrom int32, isAgg int32) int32 { /* sqlite3.c:138271:12: */ bp := tls.Alloc(80) defer tls.Free(80) @@ -134927,7 +134946,7 @@ __3: // A structure to keep track of all of the column values that are fixed to // a known value due to WHERE clause constraints of the form COLUMN=VALUE. -type WhereConst = WhereConst1 /* sqlite3.c:138682:27 */ +type WhereConst = WhereConst1 /* sqlite3.c:138695:27 */ // Add a new entry to the pConst object. Except, do not add duplicate // pColumn entires. Also, do not add if doing so would not be appropriate. @@ -134935,7 +134954,7 @@ type WhereConst = WhereConst1 /* sqlite3.c:138682:27 */ // The caller guarantees the pColumn is a column and pValue is a constant. // This routine has to do some additional checks before completing the // insert. -func constInsert(tls *libc.TLS, pConst uintptr, pColumn uintptr, pValue uintptr, pExpr uintptr) { /* sqlite3.c:138700:13: */ +func constInsert(tls *libc.TLS, pConst uintptr, pColumn uintptr, pValue uintptr, pExpr uintptr) { /* sqlite3.c:138713:13: */ var i int32 if (*Expr)(unsafe.Pointer(pColumn)).Fflags&U32(EP_FixedCol) != U32(0) { @@ -134977,7 +134996,7 @@ func constInsert(tls *libc.TLS, pConst uintptr, pColumn uintptr, pValue uintptr, // is a constant expression and where the term must be true because it // is part of the AND-connected terms of the expression. For each term // found, add it to the pConst structure. -func findConstInWhere(tls *libc.TLS, pConst uintptr, pExpr uintptr) { /* sqlite3.c:138748:13: */ +func findConstInWhere(tls *libc.TLS, pConst uintptr, pExpr uintptr) { /* sqlite3.c:138761:13: */ var pRight uintptr var pLeft uintptr if pExpr == uintptr(0) { @@ -135012,7 +135031,7 @@ func findConstInWhere(tls *libc.TLS, pConst uintptr, pExpr uintptr) { /* sqlite3 // then overwrite it with the corresponding value. Except, do not do so // if argument bIgnoreAffBlob is non-zero and the affinity of pExpr // is SQLITE_AFF_BLOB. -func propagateConstantExprRewriteOne(tls *libc.TLS, pConst uintptr, pExpr uintptr, bIgnoreAffBlob int32) int32 { /* sqlite3.c:138779:12: */ +func propagateConstantExprRewriteOne(tls *libc.TLS, pConst uintptr, pExpr uintptr, bIgnoreAffBlob int32) int32 { /* sqlite3.c:138792:12: */ var i int32 if *(*U8)(unsafe.Pointer((*WhereConst)(unsafe.Pointer(pConst)).FpOomFault)) != 0 { return WRC_Prune @@ -135066,7 +135085,7 @@ func propagateConstantExprRewriteOne(tls *libc.TLS, pConst uintptr, pExpr uintpt // uses an affinity other than TEXT and one of its immediate // children is a column that matches one of the columns in // pWalker->u.pConst. -func propagateConstantExprRewrite(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:138828:12: */ +func propagateConstantExprRewrite(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:138841:12: */ var pConst uintptr = *(*uintptr)(unsafe.Pointer(pWalker + 40)) if (*WhereConst)(unsafe.Pointer(pConst)).FbHasAffBlob != 0 { @@ -135133,7 +135152,7 @@ func propagateConstantExprRewrite(tls *libc.TLS, pWalker uintptr, pExpr uintptr) // operators ==, <=, <, >=, >, or IS in a way that will cause the correct // type conversions to occur. See logic associated with the bHasAffBlob flag // for details. -func propagateConstants(tls *libc.TLS, pParse uintptr, p uintptr) int32 { /* sqlite3.c:138899:12: */ +func propagateConstants(tls *libc.TLS, pParse uintptr, p uintptr) int32 { /* sqlite3.c:138912:12: */ bp := tls.Alloc(88) defer tls.Free(88) @@ -135186,7 +135205,7 @@ func propagateConstants(tls *libc.TLS, pParse uintptr, p uintptr) int32 { /* sql // // * the sub-query uses only one distinct window frame, and // * that the window frame has a PARTITION BY clase. -func pushDownWindowCheck(tls *libc.TLS, pParse uintptr, pSubq uintptr, pExpr uintptr) int32 { /* sqlite3.c:138950:12: */ +func pushDownWindowCheck(tls *libc.TLS, pParse uintptr, pSubq uintptr, pExpr uintptr) int32 { /* sqlite3.c:138963:12: */ return Xsqlite3ExprIsConstantOrGroupBy(tls, pParse, pExpr, (*Window)(unsafe.Pointer((*Select)(unsafe.Pointer(pSubq)).FpWin)).FpPartition) } @@ -135257,7 +135276,7 @@ func pushDownWindowCheck(tls *libc.TLS, pParse uintptr, pSubq uintptr, pExpr uin // // Return 0 if no changes are made and non-zero if one or more WHERE clause // terms are duplicated into the subquery. -func pushDownWhereTerms(tls *libc.TLS, pParse uintptr, pSubq uintptr, pWhere uintptr, iCursor int32, isLeftJoin int32) int32 { /* sqlite3.c:139028:12: */ +func pushDownWhereTerms(tls *libc.TLS, pParse uintptr, pSubq uintptr, pWhere uintptr, iCursor int32, isLeftJoin int32) int32 { /* sqlite3.c:139041:12: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -135345,7 +135364,7 @@ func pushDownWhereTerms(tls *libc.TLS, pParse uintptr, pSubq uintptr, pWhere uin // This routine must be called after aggregate functions have been // located but before their arguments have been subjected to aggregate // analysis. -func minMaxQuery(tls *libc.TLS, db uintptr, pFunc uintptr, ppMinMax uintptr) U8 { /* sqlite3.c:139132:11: */ +func minMaxQuery(tls *libc.TLS, db uintptr, pFunc uintptr, ppMinMax uintptr) U8 { /* sqlite3.c:139145:11: */ var eRet int32 = WHERE_ORDERBY_NORMAL // Return value var pEList uintptr // Arguments to agg function var zFunc uintptr // Name of aggregate function pFunc @@ -135395,7 +135414,7 @@ func minMaxQuery(tls *libc.TLS, db uintptr, pFunc uintptr, ppMinMax uintptr) U8 // this routine returns NULL when it could have returned a table pointer. // But returning the pointer when NULL should have been returned can // result in incorrect answers and/or crashes. So, when in doubt, return NULL. -func isSimpleCount(tls *libc.TLS, p uintptr, pAggInfo uintptr) uintptr { /* sqlite3.c:139187:14: */ +func isSimpleCount(tls *libc.TLS, p uintptr, pAggInfo uintptr) uintptr { /* sqlite3.c:139200:14: */ var pTab uintptr var pExpr uintptr @@ -135435,7 +135454,7 @@ func isSimpleCount(tls *libc.TLS, p uintptr, pAggInfo uintptr) uintptr { /* sqli // was such a clause and the named index cannot be found, return // SQLITE_ERROR and leave an error in pParse. Otherwise, populate // pFrom->pIndex and return SQLITE_OK. -func Xsqlite3IndexedByLookup(tls *libc.TLS, pParse uintptr, pFrom uintptr) int32 { /* sqlite3.c:139225:20: */ +func Xsqlite3IndexedByLookup(tls *libc.TLS, pParse uintptr, pFrom uintptr) int32 { /* sqlite3.c:139238:20: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -135474,7 +135493,7 @@ func Xsqlite3IndexedByLookup(tls *libc.TLS, pParse uintptr, pFrom uintptr) int32 // This transformation is only needed for EXCEPT, INTERSECT, and UNION. // The UNION ALL operator works fine with multiSelectOrderBy() even when // there are COLLATE terms in the ORDER BY. -func convertCompoundSelectToSubquery(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sqlite3.c:139267:12: */ +func convertCompoundSelectToSubquery(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sqlite3.c:139280:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -135553,7 +135572,7 @@ func convertCompoundSelectToSubquery(tls *libc.TLS, pWalker uintptr, p uintptr) // Check to see if the FROM clause term pFrom has table-valued function // arguments. If it does, leave an error message in pParse and return // non-zero, since pFrom is not allowed to be a table-valued function. -func cannotBeFunction(tls *libc.TLS, pParse uintptr, pFrom uintptr) int32 { /* sqlite3.c:139332:12: */ +func cannotBeFunction(tls *libc.TLS, pParse uintptr, pFrom uintptr) int32 { /* sqlite3.c:139345:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -135572,7 +135591,7 @@ func cannotBeFunction(tls *libc.TLS, pParse uintptr, pFrom uintptr) int32 { /* s // // If a non-NULL value is returned, set *ppContext to point to the With // object that the returned CTE belongs to. -func searchWith(tls *libc.TLS, pWith uintptr, pItem uintptr, ppContext uintptr) uintptr { /* sqlite3.c:139351:19: */ +func searchWith(tls *libc.TLS, pWith uintptr, pItem uintptr, ppContext uintptr) uintptr { /* sqlite3.c:139364:19: */ var zName uintptr = (*SrcItem)(unsafe.Pointer(pItem)).FzName var p uintptr @@ -135607,7 +135626,7 @@ func searchWith(tls *libc.TLS, pWith uintptr, pItem uintptr, ppContext uintptr) // // If bFree is true, do not continue to use the pWith pointer after // calling this routine, Instead, use only the return value. -func Xsqlite3WithPush(tls *libc.TLS, pParse uintptr, pWith uintptr, bFree U8) uintptr { /* sqlite3.c:139390:21: */ +func Xsqlite3WithPush(tls *libc.TLS, pParse uintptr, pWith uintptr, bFree U8) uintptr { /* sqlite3.c:139403:21: */ if pWith != 0 { if bFree != 0 { pWith = Xsqlite3ParserAddCleanup(tls, pParse, @@ -135640,7 +135659,7 @@ func Xsqlite3WithPush(tls *libc.TLS, pParse uintptr, pWith uintptr, bFree U8) ui // Return 0 if no match is found. // Return 1 if a match is found. // Return 2 if an error condition is detected. -func resolveFromTermToCte(tls *libc.TLS, pParse uintptr, pWalker uintptr, pFrom uintptr) int32 { /* sqlite3.c:139421:12: */ +func resolveFromTermToCte(tls *libc.TLS, pParse uintptr, pWalker uintptr, pFrom uintptr) int32 { /* sqlite3.c:139434:12: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -135822,7 +135841,7 @@ func resolveFromTermToCte(tls *libc.TLS, pParse uintptr, pWalker uintptr, pFrom // This function is used as the xSelectCallback2() callback by // sqlite3SelectExpand() when walking a SELECT tree to resolve table // names and other FROM clause elements. -func Xsqlite3SelectPopWith(tls *libc.TLS, pWalker uintptr, p uintptr) { /* sqlite3.c:139605:21: */ +func Xsqlite3SelectPopWith(tls *libc.TLS, pWalker uintptr, p uintptr) { /* sqlite3.c:139618:21: */ var pParse uintptr = (*Walker)(unsafe.Pointer(pWalker)).FpParse if (*Parse)(unsafe.Pointer(pParse)).FpWith != 0 && (*Select)(unsafe.Pointer(p)).FpPrior == uintptr(0) { var pWith uintptr = (*Select)(unsafe.Pointer(findRightmost(tls, p))).FpWith @@ -135838,7 +135857,7 @@ func Xsqlite3SelectPopWith(tls *libc.TLS, pWalker uintptr, p uintptr) { /* sqlit // allocates and populates the SrcList_item.pTab object. If successful, // SQLITE_OK is returned. Otherwise, if an OOM error is encountered, // SQLITE_NOMEM. -func Xsqlite3ExpandSubquery(tls *libc.TLS, pParse uintptr, pFrom uintptr) int32 { /* sqlite3.c:139624:20: */ +func Xsqlite3ExpandSubquery(tls *libc.TLS, pParse uintptr, pFrom uintptr) int32 { /* sqlite3.c:139637:20: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -135892,7 +135911,7 @@ func Xsqlite3ExpandSubquery(tls *libc.TLS, pParse uintptr, pFrom uintptr) int32 // If found, expand each "*" to be every column in every table // and TABLE.* to be every column in TABLE. // -func selectExpander(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sqlite3.c:139676:12: */ +func selectExpander(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sqlite3.c:139689:12: */ bp := tls.Alloc(88) defer tls.Free(88) @@ -136241,7 +136260,7 @@ __3: // If anything goes wrong, an error message is written into pParse. // The calling function can detect the problem by looking at pParse->nErr // and/or pParse->db->mallocFailed. -func sqlite3SelectExpand(tls *libc.TLS, pParse uintptr, pSelect uintptr) { /* sqlite3.c:140003:13: */ +func sqlite3SelectExpand(tls *libc.TLS, pParse uintptr, pSelect uintptr) { /* sqlite3.c:140016:13: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -136279,7 +136298,7 @@ func sqlite3SelectExpand(tls *libc.TLS, pParse uintptr, pSelect uintptr) { /* sq // by selectExpander() but the type and collation information was omitted // at that point because identifiers had not yet been resolved. This // routine is called after identifier resolution. -func selectAddSubqueryTypeInfo(tls *libc.TLS, pWalker uintptr, p uintptr) { /* sqlite3.c:140033:13: */ +func selectAddSubqueryTypeInfo(tls *libc.TLS, pWalker uintptr, p uintptr) { /* sqlite3.c:140046:13: */ var pParse uintptr var i int32 var pTabList uintptr @@ -136327,7 +136346,7 @@ __3: // SELECT statement. // // Use this routine after name resolution. -func sqlite3SelectAddTypeInfo(tls *libc.TLS, pParse uintptr, pSelect uintptr) { /* sqlite3.c:140068:13: */ +func sqlite3SelectAddTypeInfo(tls *libc.TLS, pParse uintptr, pSelect uintptr) { /* sqlite3.c:140081:13: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -136356,7 +136375,7 @@ func sqlite3SelectAddTypeInfo(tls *libc.TLS, pParse uintptr, pSelect uintptr) { // * Identifiers in expression are matched to tables. // // This routine acts recursively on all subqueries within the SELECT. -func Xsqlite3SelectPrep(tls *libc.TLS, pParse uintptr, p uintptr, pOuterNC uintptr) { /* sqlite3.c:140092:21: */ +func Xsqlite3SelectPrep(tls *libc.TLS, pParse uintptr, p uintptr, pOuterNC uintptr) { /* sqlite3.c:140105:21: */ if (*Sqlite3)(unsafe.Pointer((*Parse)(unsafe.Pointer(pParse)).Fdb)).FmallocFailed != 0 { return @@ -136381,7 +136400,7 @@ func Xsqlite3SelectPrep(tls *libc.TLS, pParse uintptr, p uintptr, pOuterNC uintp // intermediate results while calculating an aggregate. This // routine generates code that stores NULLs in all of those memory // cells. -func resetAccumulator(tls *libc.TLS, pParse uintptr, pAggInfo uintptr) { /* sqlite3.c:140116:13: */ +func resetAccumulator(tls *libc.TLS, pParse uintptr, pAggInfo uintptr) { /* sqlite3.c:140129:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -136431,7 +136450,7 @@ __3: // Invoke the OP_AggFinalize opcode for every aggregate function // in the AggInfo structure. -func finalizeAggFunctions(tls *libc.TLS, pParse uintptr, pAggInfo uintptr) { /* sqlite3.c:140162:13: */ +func finalizeAggFunctions(tls *libc.TLS, pParse uintptr, pAggInfo uintptr) { /* sqlite3.c:140175:13: */ var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe var i int32 var pF uintptr @@ -136470,7 +136489,7 @@ __3: // in pAggInfo, then only populate the pAggInfo->nAccumulator accumulator // registers if register regAcc contains 0. The caller will take care // of setting and clearing regAcc. -func updateAccumulator(tls *libc.TLS, pParse uintptr, regAcc int32, pAggInfo uintptr, eDistinctType int32) { /* sqlite3.c:140185:13: */ +func updateAccumulator(tls *libc.TLS, pParse uintptr, regAcc int32, pAggInfo uintptr, eDistinctType int32) { /* sqlite3.c:140198:13: */ var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe var i int32 var regHit int32 = 0 @@ -136611,7 +136630,7 @@ __9: // Add a single OP_Explain instruction to the VDBE to explain a simple // count(*) query ("SELECT count(*) FROM pTab"). -func explainSimpleCount(tls *libc.TLS, pParse uintptr, pTab uintptr, pIdx uintptr) { /* sqlite3.c:140287:13: */ +func explainSimpleCount(tls *libc.TLS, pParse uintptr, pTab uintptr, pIdx uintptr) { /* sqlite3.c:140300:13: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -136643,7 +136662,7 @@ func explainSimpleCount(tls *libc.TLS, pParse uintptr, pTab uintptr, pIdx uintpt // sub-expression matches the criteria for being moved to the WHERE // clause. If so, add it to the WHERE clause and replace the sub-expression // within the HAVING expression with a constant "1". -func havingToWhereExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:140316:12: */ +func havingToWhereExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:140329:12: */ if int32((*Expr)(unsafe.Pointer(pExpr)).Fop) != TK_AND { var pS uintptr = *(*uintptr)(unsafe.Pointer(pWalker + 40)) // This routine is called before the HAVING clause of the current @@ -136689,7 +136708,7 @@ func havingToWhereExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { // A term of the HAVING expression is eligible for transfer if it consists // entirely of constants and expressions that are also GROUP BY terms that // use the "BINARY" collation sequence. -func havingToWhere(tls *libc.TLS, pParse uintptr, p uintptr) { /* sqlite3.c:140360:13: */ +func havingToWhere(tls *libc.TLS, pParse uintptr, p uintptr) { /* sqlite3.c:140373:13: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -136707,7 +136726,7 @@ func havingToWhere(tls *libc.TLS, pParse uintptr, p uintptr) { /* sqlite3.c:1403 // Check to see if the pThis entry of pTabList is a self-join of a prior view. // If it is, then return the SrcList_item for the prior view. If it is not, // then return 0. -func isSelfJoinView(tls *libc.TLS, pTabList uintptr, pThis uintptr) uintptr { /* sqlite3.c:140380:16: */ +func isSelfJoinView(tls *libc.TLS, pTabList uintptr, pThis uintptr) uintptr { /* sqlite3.c:140393:16: */ var pItem uintptr if (*Select)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pThis)).FpSelect)).FselFlags&U32(SF_PushDown) != 0 { @@ -136748,7 +136767,7 @@ func isSelfJoinView(tls *libc.TLS, pTabList uintptr, pThis uintptr) uintptr { /* } // Deallocate a single AggInfo object -func agginfoFree(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:140415:13: */ +func agginfoFree(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:140428:13: */ Xsqlite3DbFree(tls, db, (*AggInfo)(unsafe.Pointer(p)).FaCol) Xsqlite3DbFree(tls, db, (*AggInfo)(unsafe.Pointer(p)).FaFunc) Xsqlite3DbFreeNN(tls, db, p) @@ -136765,7 +136784,7 @@ func agginfoFree(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:140415:13: // // This routine does NOT free the Select structure passed in. The // calling function needs to do that. -func Xsqlite3Select(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) int32 { /* sqlite3.c:140523:20: */ +func Xsqlite3Select(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) int32 { /* sqlite3.c:140536:20: */ bp := tls.Alloc(216) defer tls.Free(216) @@ -138362,7 +138381,7 @@ type TabResult1 = struct { FnData U32 Frc int32 F__ccgo_pad1 [4]byte -} /* sqlite3.c:141786:9 */ +} /* sqlite3.c:141799:9 */ //************* End of select.c ********************************************* //************* Begin file table.c ****************************************** @@ -138386,12 +138405,12 @@ type TabResult1 = struct { // This structure is used to pass data from sqlite3_get_table() through // to the callback function is uses to build the result. -type TabResult = TabResult1 /* sqlite3.c:141794:3 */ +type TabResult = TabResult1 /* sqlite3.c:141807:3 */ // This routine is called once for each row in the result table. Its job // is to fill in the TabResult structure appropriately, allocating new // memory as necessary. -func sqlite3_get_table_cb(tls *libc.TLS, pArg uintptr, nCol int32, argv uintptr, colv uintptr) int32 { /* sqlite3.c:141801:12: */ +func sqlite3_get_table_cb(tls *libc.TLS, pArg uintptr, nCol int32, argv uintptr, colv uintptr) int32 { /* sqlite3.c:141814:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -138522,7 +138541,7 @@ malloc_failed: // from malloc(). But the caller cannot free this memory directly. // Instead, the entire table should be passed to sqlite3_free_table() when // the calling procedure is finished using it. -func Xsqlite3_get_table(tls *libc.TLS, db uintptr, zSql uintptr, pazResult uintptr, pnRow uintptr, pnColumn uintptr, pzErrMsg uintptr) int32 { /* sqlite3.c:141875:16: */ +func Xsqlite3_get_table(tls *libc.TLS, db uintptr, zSql uintptr, pazResult uintptr, pnRow uintptr, pnColumn uintptr, pzErrMsg uintptr) int32 { /* sqlite3.c:141888:16: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -138594,7 +138613,7 @@ func Xsqlite3_get_table(tls *libc.TLS, db uintptr, zSql uintptr, pazResult uintp } // This routine frees the space the sqlite3_get_table() malloced. -func Xsqlite3_free_table(tls *libc.TLS, azResult uintptr) { /* sqlite3.c:141944:17: */ +func Xsqlite3_free_table(tls *libc.TLS, azResult uintptr) { /* sqlite3.c:141957:17: */ if azResult != 0 { var i int32 var n int32 @@ -138625,7 +138644,7 @@ func Xsqlite3_free_table(tls *libc.TLS, azResult uintptr) { /* sqlite3.c:141944: // #include "sqliteInt.h" // Delete a linked list of TriggerStep structures. -func Xsqlite3DeleteTriggerStep(tls *libc.TLS, db uintptr, pTriggerStep uintptr) { /* sqlite3.c:141979:21: */ +func Xsqlite3DeleteTriggerStep(tls *libc.TLS, db uintptr, pTriggerStep uintptr) { /* sqlite3.c:141992:21: */ for pTriggerStep != 0 { var pTmp uintptr = pTriggerStep pTriggerStep = (*TriggerStep)(unsafe.Pointer(pTriggerStep)).FpNext @@ -138654,7 +138673,7 @@ func Xsqlite3DeleteTriggerStep(tls *libc.TLS, db uintptr, pTriggerStep uintptr) // To state it another way: This routine returns a list of all triggers // that fire off of pTab. The list will include any TEMP triggers on // pTab as well as the triggers lised in pTab->pTrigger. -func Xsqlite3TriggerList(tls *libc.TLS, pParse uintptr, pTab uintptr) uintptr { /* sqlite3.c:142010:24: */ +func Xsqlite3TriggerList(tls *libc.TLS, pParse uintptr, pTab uintptr) uintptr { /* sqlite3.c:142023:24: */ var pTmpSchema uintptr // Schema of the pTab table var pList uintptr // List of triggers to return var p uintptr // Loop variable for TEMP triggers @@ -138692,7 +138711,7 @@ func Xsqlite3TriggerList(tls *libc.TLS, pParse uintptr, pTab uintptr) uintptr { // in pParse->pNewTrigger. After the trigger actions have been parsed, the // sqlite3FinishTrigger() function is called to complete the trigger // construction process. -func Xsqlite3BeginTrigger(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 uintptr, tr_tm int32, op int32, pColumns uintptr, pTableName uintptr, pWhen uintptr, isTemp int32, noErr int32) { /* sqlite3.c:142066:21: */ +func Xsqlite3BeginTrigger(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 uintptr, tr_tm int32, op int32, pColumns uintptr, pTableName uintptr, pWhen uintptr, isTemp int32, noErr int32) { /* sqlite3.c:142079:21: */ bp := tls.Alloc(136) defer tls.Free(136) @@ -138999,7 +139018,7 @@ __31: // This routine is called after all of the trigger actions have been parsed // in order to complete the process of building the trigger. -func Xsqlite3FinishTrigger(tls *libc.TLS, pParse uintptr, pStepList uintptr, pAll uintptr) { /* sqlite3.c:142273:21: */ +func Xsqlite3FinishTrigger(tls *libc.TLS, pParse uintptr, pStepList uintptr, pAll uintptr) { /* sqlite3.c:142286:21: */ bp := tls.Alloc(152) defer tls.Free(152) @@ -139123,7 +139142,7 @@ triggerfinish_cleanup: // Duplicate a range of text from an SQL statement, then convert all // whitespace characters into ordinary space characters. -func triggerSpanDup(tls *libc.TLS, db uintptr, zStart uintptr, zEnd uintptr) uintptr { /* sqlite3.c:142361:13: */ +func triggerSpanDup(tls *libc.TLS, db uintptr, zStart uintptr, zEnd uintptr) uintptr { /* sqlite3.c:142374:13: */ var z uintptr = Xsqlite3DbSpanDup(tls, db, zStart, zEnd) var i int32 if z != 0 { @@ -139141,7 +139160,7 @@ func triggerSpanDup(tls *libc.TLS, db uintptr, zStart uintptr, zEnd uintptr) uin // // The parser calls this routine when it finds a SELECT statement in // body of a TRIGGER. -func Xsqlite3TriggerSelectStep(tls *libc.TLS, db uintptr, pSelect uintptr, zStart uintptr, zEnd uintptr) uintptr { /* sqlite3.c:142375:28: */ +func Xsqlite3TriggerSelectStep(tls *libc.TLS, db uintptr, pSelect uintptr, zStart uintptr, zEnd uintptr) uintptr { /* sqlite3.c:142388:28: */ var pTriggerStep uintptr = Xsqlite3DbMallocZero(tls, db, uint64(unsafe.Sizeof(TriggerStep{}))) if pTriggerStep == uintptr(0) { Xsqlite3SelectDelete(tls, db, pSelect) @@ -139158,7 +139177,7 @@ func Xsqlite3TriggerSelectStep(tls *libc.TLS, db uintptr, pSelect uintptr, zStar // holds both the TriggerStep object and the TriggerStep.target.z string. // // If an OOM error occurs, NULL is returned and db->mallocFailed is set. -func triggerStepAllocate(tls *libc.TLS, pParse uintptr, op U8, pName uintptr, zStart uintptr, zEnd uintptr) uintptr { /* sqlite3.c:142399:20: */ +func triggerStepAllocate(tls *libc.TLS, pParse uintptr, op U8, pName uintptr, zStart uintptr, zEnd uintptr) uintptr { /* sqlite3.c:142412:20: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb var pTriggerStep uintptr @@ -139185,7 +139204,7 @@ func triggerStepAllocate(tls *libc.TLS, pParse uintptr, op U8, pName uintptr, zS // // The parser calls this routine when it sees an INSERT inside the // body of a trigger. -func Xsqlite3TriggerInsertStep(tls *libc.TLS, pParse uintptr, pTableName uintptr, pColumn uintptr, pSelect uintptr, orconf U8, pUpsert uintptr, zStart uintptr, zEnd uintptr) uintptr { /* sqlite3.c:142432:28: */ +func Xsqlite3TriggerInsertStep(tls *libc.TLS, pParse uintptr, pTableName uintptr, pColumn uintptr, pSelect uintptr, orconf U8, pUpsert uintptr, zStart uintptr, zEnd uintptr) uintptr { /* sqlite3.c:142445:28: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb var pTriggerStep uintptr @@ -139217,7 +139236,7 @@ func Xsqlite3TriggerInsertStep(tls *libc.TLS, pParse uintptr, pTableName uintptr // Construct a trigger step that implements an UPDATE statement and return // a pointer to that trigger step. The parser calls this routine when it // sees an UPDATE statement inside the body of a CREATE TRIGGER. -func Xsqlite3TriggerUpdateStep(tls *libc.TLS, pParse uintptr, pTableName uintptr, pFrom uintptr, pEList uintptr, pWhere uintptr, orconf U8, zStart uintptr, zEnd uintptr) uintptr { /* sqlite3.c:142477:28: */ +func Xsqlite3TriggerUpdateStep(tls *libc.TLS, pParse uintptr, pTableName uintptr, pFrom uintptr, pEList uintptr, pWhere uintptr, orconf U8, zStart uintptr, zEnd uintptr) uintptr { /* sqlite3.c:142490:28: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb var pTriggerStep uintptr @@ -139246,7 +139265,7 @@ func Xsqlite3TriggerUpdateStep(tls *libc.TLS, pParse uintptr, pTableName uintptr // Construct a trigger step that implements a DELETE statement and return // a pointer to that trigger step. The parser calls this routine when it // sees a DELETE statement inside the body of a CREATE TRIGGER. -func Xsqlite3TriggerDeleteStep(tls *libc.TLS, pParse uintptr, pTableName uintptr, pWhere uintptr, zStart uintptr, zEnd uintptr) uintptr { /* sqlite3.c:142517:28: */ +func Xsqlite3TriggerDeleteStep(tls *libc.TLS, pParse uintptr, pTableName uintptr, pWhere uintptr, zStart uintptr, zEnd uintptr) uintptr { /* sqlite3.c:142530:28: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb var pTriggerStep uintptr @@ -139265,7 +139284,7 @@ func Xsqlite3TriggerDeleteStep(tls *libc.TLS, pParse uintptr, pTableName uintptr } // Recursively delete a Trigger structure -func Xsqlite3DeleteTrigger(tls *libc.TLS, db uintptr, pTrigger uintptr) { /* sqlite3.c:142544:21: */ +func Xsqlite3DeleteTrigger(tls *libc.TLS, db uintptr, pTrigger uintptr) { /* sqlite3.c:142557:21: */ if pTrigger == uintptr(0) || (*Trigger)(unsafe.Pointer(pTrigger)).FbReturning != 0 { return } @@ -139285,7 +139304,7 @@ func Xsqlite3DeleteTrigger(tls *libc.TLS, db uintptr, pTrigger uintptr) { /* sql // same job as this routine except it takes a pointer to the trigger // instead of the trigger name. // -func Xsqlite3DropTrigger(tls *libc.TLS, pParse uintptr, pName uintptr, noErr int32) { /* sqlite3.c:142562:21: */ +func Xsqlite3DropTrigger(tls *libc.TLS, pParse uintptr, pName uintptr, noErr int32) { /* sqlite3.c:142575:21: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -139369,12 +139388,12 @@ drop_trigger_cleanup: // Return a pointer to the Table structure for the table that a trigger // is set on. -func tableOfTrigger(tls *libc.TLS, pTrigger uintptr) uintptr { /* sqlite3.c:142604:14: */ +func tableOfTrigger(tls *libc.TLS, pTrigger uintptr) uintptr { /* sqlite3.c:142617:14: */ return Xsqlite3HashFind(tls, (*Trigger)(unsafe.Pointer(pTrigger)).FpTabSchema+8, (*Trigger)(unsafe.Pointer(pTrigger)).Ftable) } // Drop a trigger given a pointer to that trigger. -func Xsqlite3DropTriggerPtr(tls *libc.TLS, pParse uintptr, pTrigger uintptr) { /* sqlite3.c:142612:21: */ +func Xsqlite3DropTriggerPtr(tls *libc.TLS, pParse uintptr, pTrigger uintptr) { /* sqlite3.c:142625:21: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -139415,7 +139434,7 @@ func Xsqlite3DropTriggerPtr(tls *libc.TLS, pParse uintptr, pTrigger uintptr) { / } // Remove a trigger from the hash tables of the sqlite* pointer. -func Xsqlite3UnlinkAndDeleteTrigger(tls *libc.TLS, db uintptr, iDb int32, zName uintptr) { /* sqlite3.c:142650:21: */ +func Xsqlite3UnlinkAndDeleteTrigger(tls *libc.TLS, db uintptr, iDb int32, zName uintptr) { /* sqlite3.c:142663:21: */ var pTrigger uintptr var pHash uintptr @@ -139446,7 +139465,7 @@ func Xsqlite3UnlinkAndDeleteTrigger(tls *libc.TLS, db uintptr, iDb int32, zName // wildcard that matches anything. Likewise if pEList==NULL then // it matches anything so always return true. Return false only // if there is no match. -func checkColumnOverlap(tls *libc.TLS, pIdList uintptr, pEList uintptr) int32 { /* sqlite3.c:142684:12: */ +func checkColumnOverlap(tls *libc.TLS, pIdList uintptr, pEList uintptr) int32 { /* sqlite3.c:142697:12: */ var e int32 if pIdList == uintptr(0) || pEList == uintptr(0) { return 1 @@ -139463,7 +139482,7 @@ func checkColumnOverlap(tls *libc.TLS, pIdList uintptr, pEList uintptr) int32 { // one trigger that must be fired when an operation of type 'op' is // performed on the table, and, if that operation is an UPDATE, if at // least one of the columns in pChanges is being modified. -func Xsqlite3TriggersExist(tls *libc.TLS, pParse uintptr, pTab uintptr, op int32, pChanges uintptr, pMask uintptr) uintptr { /* sqlite3.c:142699:24: */ +func Xsqlite3TriggersExist(tls *libc.TLS, pParse uintptr, pTab uintptr, op int32, pChanges uintptr, pMask uintptr) uintptr { /* sqlite3.c:142712:24: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -139590,7 +139609,7 @@ __17: // referring to a target in another database. An exception is when the // trigger is in TEMP in which case it can refer to any other database it // wants. -func Xsqlite3TriggerStepSrc(tls *libc.TLS, pParse uintptr, pStep uintptr) uintptr { /* sqlite3.c:142773:24: */ +func Xsqlite3TriggerStepSrc(tls *libc.TLS, pParse uintptr, pStep uintptr) uintptr { /* sqlite3.c:142786:24: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb var pSrc uintptr // SrcList to be returned var zName uintptr = Xsqlite3DbStrDup(tls, db, (*TriggerStep)(unsafe.Pointer(pStep)).FzTarget) @@ -139615,7 +139634,7 @@ func Xsqlite3TriggerStepSrc(tls *libc.TLS, pParse uintptr, pStep uintptr) uintpt // Return true if the pExpr term from the RETURNING clause argument // list is of the form "*". Raise an error if the terms if of the // form "table.*". -func isAsteriskTerm(tls *libc.TLS, pParse uintptr, pTerm uintptr) int32 { /* sqlite3.c:142804:12: */ +func isAsteriskTerm(tls *libc.TLS, pParse uintptr, pTerm uintptr) int32 { /* sqlite3.c:142817:12: */ if int32((*Expr)(unsafe.Pointer(pTerm)).Fop) == TK_ASTERISK { return 1 @@ -139636,7 +139655,7 @@ func isAsteriskTerm(tls *libc.TLS, pParse uintptr, pTerm uintptr) int32 { /* sql // // This routine makes a copy of the pList, and at the same time expands // any "*" wildcards to be the complete set of columns from pTab. -func sqlite3ExpandReturning(tls *libc.TLS, pParse uintptr, pList uintptr, pTab uintptr) uintptr { /* sqlite3.c:142824:17: */ +func sqlite3ExpandReturning(tls *libc.TLS, pParse uintptr, pList uintptr, pTab uintptr) uintptr { /* sqlite3.c:142837:17: */ var pNew uintptr = uintptr(0) var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb var i int32 @@ -139677,7 +139696,7 @@ func sqlite3ExpandReturning(tls *libc.TLS, pParse uintptr, pList uintptr, pTab u // Generate code for the RETURNING trigger. Unlike other triggers // that invoke a subprogram in the bytecode, the code for RETURNING // is generated in-line. -func codeReturningTrigger(tls *libc.TLS, pParse uintptr, pTrigger uintptr, pTab uintptr, regIn int32) { /* sqlite3.c:142867:13: */ +func codeReturningTrigger(tls *libc.TLS, pParse uintptr, pTrigger uintptr, pTab uintptr, regIn int32) { /* sqlite3.c:142880:13: */ bp := tls.Alloc(304) defer tls.Free(304) @@ -139745,7 +139764,7 @@ func codeReturningTrigger(tls *libc.TLS, pParse uintptr, pTrigger uintptr, pTab // Generate VDBE code for the statements inside the body of a single // trigger. -func codeTriggerProgram(tls *libc.TLS, pParse uintptr, pStepList uintptr, orconf int32) int32 { /* sqlite3.c:142943:12: */ +func codeTriggerProgram(tls *libc.TLS, pParse uintptr, pStepList uintptr, orconf int32) int32 { /* sqlite3.c:142956:12: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -139832,7 +139851,7 @@ func codeTriggerProgram(tls *libc.TLS, pParse uintptr, pStepList uintptr, orconf // Parse context structure pFrom has just been used to create a sub-vdbe // (trigger program). If an error has occurred, transfer error information // from pFrom to pTo. -func transferParseError(tls *libc.TLS, pTo uintptr, pFrom uintptr) { /* sqlite3.c:143047:13: */ +func transferParseError(tls *libc.TLS, pTo uintptr, pFrom uintptr) { /* sqlite3.c:143060:13: */ if (*Parse)(unsafe.Pointer(pTo)).FnErr == 0 { (*Parse)(unsafe.Pointer(pTo)).FzErrMsg = (*Parse)(unsafe.Pointer(pFrom)).FzErrMsg @@ -139845,7 +139864,7 @@ func transferParseError(tls *libc.TLS, pTo uintptr, pFrom uintptr) { /* sqlite3. // Create and populate a new TriggerPrg object with a sub-program // implementing trigger pTrigger with ON CONFLICT policy orconf. -func codeRowTrigger(tls *libc.TLS, pParse uintptr, pTrigger uintptr, pTab uintptr, orconf int32) uintptr { /* sqlite3.c:143063:19: */ +func codeRowTrigger(tls *libc.TLS, pParse uintptr, pTrigger uintptr, pTab uintptr, orconf int32) uintptr { /* sqlite3.c:143076:19: */ bp := tls.Alloc(472) defer tls.Free(472) @@ -139951,7 +139970,7 @@ func codeRowTrigger(tls *libc.TLS, pParse uintptr, pTrigger uintptr, pTab uintpt // trigger pTrigger with default ON CONFLICT algorithm orconf. If no such // TriggerPrg object exists, a new object is allocated and populated before // being returned. -func getRowTrigger(tls *libc.TLS, pParse uintptr, pTrigger uintptr, pTab uintptr, orconf int32) uintptr { /* sqlite3.c:143177:19: */ +func getRowTrigger(tls *libc.TLS, pParse uintptr, pTrigger uintptr, pTab uintptr, orconf int32) uintptr { /* sqlite3.c:143190:19: */ var pRoot uintptr = func() uintptr { if (*Parse)(unsafe.Pointer(pParse)).FpToplevel != 0 { return (*Parse)(unsafe.Pointer(pParse)).FpToplevel @@ -139980,7 +139999,7 @@ func getRowTrigger(tls *libc.TLS, pParse uintptr, pTrigger uintptr, pTab uintptr // table pTab. The reg, orconf and ignoreJump parameters passed to this // function are the same as those described in the header function for // sqlite3CodeRowTrigger() -func Xsqlite3CodeRowTriggerDirect(tls *libc.TLS, pParse uintptr, p uintptr, pTab uintptr, reg int32, orconf int32, ignoreJump int32) { /* sqlite3.c:143212:21: */ +func Xsqlite3CodeRowTriggerDirect(tls *libc.TLS, pParse uintptr, p uintptr, pTab uintptr, reg int32, orconf int32, ignoreJump int32) { /* sqlite3.c:143225:21: */ var v uintptr = Xsqlite3GetVdbe(tls, pParse) // Main VM var pPrg uintptr pPrg = getRowTrigger(tls, pParse, p, pTab, orconf) @@ -140040,7 +140059,7 @@ func Xsqlite3CodeRowTriggerDirect(tls *libc.TLS, pParse uintptr, p uintptr, pTab // trigger program to use (REPLACE, IGNORE etc.). Parameter ignoreJump // is the instruction that control should jump to if a trigger program // raises an IGNORE exception. -func Xsqlite3CodeRowTrigger(tls *libc.TLS, pParse uintptr, pTrigger uintptr, op int32, pChanges uintptr, tr_tm int32, pTab uintptr, reg int32, orconf int32, ignoreJump int32) { /* sqlite3.c:143284:21: */ +func Xsqlite3CodeRowTrigger(tls *libc.TLS, pParse uintptr, pTrigger uintptr, op int32, pChanges uintptr, tr_tm int32, pTab uintptr, reg int32, orconf int32, ignoreJump int32) { /* sqlite3.c:143297:21: */ var p uintptr // Used to iterate through pTrigger list for p = pTrigger; p != 0; p = (*Trigger)(unsafe.Pointer(p)).FpNext { @@ -140088,7 +140107,7 @@ func Xsqlite3CodeRowTrigger(tls *libc.TLS, pParse uintptr, pTrigger uintptr, op // included in the returned mask if the TRIGGER_BEFORE bit is set in the // tr_tm parameter. Similarly, values accessed by AFTER triggers are only // included in the returned mask if the TRIGGER_AFTER bit is set in tr_tm. -func Xsqlite3TriggerColmask(tls *libc.TLS, pParse uintptr, pTrigger uintptr, pChanges uintptr, isNew int32, tr_tm int32, pTab uintptr, orconf int32) U32 { /* sqlite3.c:143354:20: */ +func Xsqlite3TriggerColmask(tls *libc.TLS, pParse uintptr, pTrigger uintptr, pChanges uintptr, isNew int32, tr_tm int32, pTab uintptr, orconf int32) U32 { /* sqlite3.c:143367:20: */ var op int32 if pChanges != 0 { op = TK_UPDATE @@ -140145,7 +140164,7 @@ func Xsqlite3TriggerColmask(tls *libc.TLS, pParse uintptr, pTrigger uintptr, pCh // (not a virtual table) then the value might have been stored as an // integer. In that case, add an OP_RealAffinity opcode to make sure // it has been converted into REAL. -func Xsqlite3ColumnDefault(tls *libc.TLS, v uintptr, pTab uintptr, i int32, iReg int32) { /* sqlite3.c:143452:21: */ +func Xsqlite3ColumnDefault(tls *libc.TLS, v uintptr, pTab uintptr, i int32, iReg int32) { /* sqlite3.c:143465:21: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -140175,7 +140194,7 @@ func Xsqlite3ColumnDefault(tls *libc.TLS, v uintptr, pTab uintptr, i int32, iReg // aXRef[j] will be non-negative if column j of the original table is // being updated. chngRowid will be true if the rowid of the table is // being updated. -func indexColumnIsBeingUpdated(tls *libc.TLS, pIdx uintptr, iCol int32, aXRef uintptr, chngRowid int32) int32 { /* sqlite3.c:143485:12: */ +func indexColumnIsBeingUpdated(tls *libc.TLS, pIdx uintptr, iCol int32, aXRef uintptr, chngRowid int32) int32 { /* sqlite3.c:143498:12: */ var iIdxCol I16 = *(*I16)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FaiColumn + uintptr(iCol)*2)) // Cannot index rowid if int32(iIdxCol) >= 0 { @@ -140196,7 +140215,7 @@ func indexColumnIsBeingUpdated(tls *libc.TLS, pIdx uintptr, iCol int32, aXRef ui // aXRef[j] will be non-negative if column j of the original table is // being updated. chngRowid will be true if the rowid of the table is // being updated. -func indexWhereClauseMightChange(tls *libc.TLS, pIdx uintptr, aXRef uintptr, chngRowid int32) int32 { /* sqlite3.c:143515:12: */ +func indexWhereClauseMightChange(tls *libc.TLS, pIdx uintptr, aXRef uintptr, chngRowid int32) int32 { /* sqlite3.c:143528:12: */ if (*Index)(unsafe.Pointer(pIdx)).FpPartIdxWhere == uintptr(0) { return 0 } @@ -140208,7 +140227,7 @@ func indexWhereClauseMightChange(tls *libc.TLS, pIdx uintptr, aXRef uintptr, chn // Expr.iColumn set to value (iCol+1). The resolver will modify the // expression to be a TK_COLUMN reading column iCol of the first // table in the source-list (pSrc->a[0]). -func exprRowColumn(tls *libc.TLS, pParse uintptr, iCol int32) uintptr { /* sqlite3.c:143531:13: */ +func exprRowColumn(tls *libc.TLS, pParse uintptr, iCol int32) uintptr { /* sqlite3.c:143544:13: */ var pRet uintptr = Xsqlite3PExpr(tls, pParse, TK_ROW, uintptr(0), uintptr(0)) if pRet != 0 { (*Expr)(unsafe.Pointer(pRet)).FiColumn = YnVar(iCol + 1) @@ -140252,7 +140271,7 @@ func exprRowColumn(tls *libc.TLS, pParse uintptr, iCol int32) uintptr { /* sqlit // records with automatically assigned integer keys For intkey tables, the // rowid value in is used as the integer key, and the // remaining fields make up the table record. -func updateFromSelect(tls *libc.TLS, pParse uintptr, iEph int32, pPk uintptr, pChanges uintptr, pTabList uintptr, pWhere uintptr, pOrderBy uintptr, pLimit uintptr) { /* sqlite3.c:143575:13: */ +func updateFromSelect(tls *libc.TLS, pParse uintptr, iEph int32, pPk uintptr, pChanges uintptr, pTabList uintptr, pWhere uintptr, pOrderBy uintptr, pLimit uintptr) { /* sqlite3.c:143588:13: */ bp := tls.Alloc(40) defer tls.Free(40) @@ -140335,7 +140354,7 @@ func updateFromSelect(tls *libc.TLS, pParse uintptr, iEph int32, pPk uintptr, pC // onError | pChanges | pWhere // \_______________________/ // pTabList -func Xsqlite3Update(tls *libc.TLS, pParse uintptr, pTabList uintptr, pChanges uintptr, pWhere uintptr, onError int32, pOrderBy uintptr, pLimit uintptr, pUpsert uintptr) { /* sqlite3.c:143672:21: */ +func Xsqlite3Update(tls *libc.TLS, pParse uintptr, pTabList uintptr, pChanges uintptr, pWhere uintptr, onError int32, pOrderBy uintptr, pLimit uintptr, pUpsert uintptr) { /* sqlite3.c:143685:21: */ bp := tls.Alloc(108) defer tls.Free(108) @@ -141725,7 +141744,7 @@ update_cleanup: // The "onepass" strategy does not use an ephemeral table. Instead, it // stores the same values (A, B and C above) in a register array and // makes a single invocation of VUpdate. -func updateVirtualTable(tls *libc.TLS, pParse uintptr, pSrc uintptr, pTab uintptr, pChanges uintptr, pRowid uintptr, aXRef uintptr, pWhere uintptr, onError int32) { /* sqlite3.c:144564:13: */ +func updateVirtualTable(tls *libc.TLS, pParse uintptr, pSrc uintptr, pTab uintptr, pChanges uintptr, pRowid uintptr, aXRef uintptr, pWhere uintptr, onError int32) { /* sqlite3.c:144577:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -141898,7 +141917,7 @@ func updateVirtualTable(tls *libc.TLS, pParse uintptr, pSrc uintptr, pTab uintpt // #include "sqliteInt.h" // Free a list of Upsert objects -func upsertDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:144752:29: */ +func upsertDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:144765:29: */ for __ccgo := true; __ccgo; __ccgo = p != 0 { var pNext uintptr = (*Upsert)(unsafe.Pointer(p)).FpNextUpsert Xsqlite3ExprListDelete(tls, db, (*Upsert)(unsafe.Pointer(p)).FpUpsertTarget) @@ -141911,14 +141930,14 @@ func upsertDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:144752:29 } } -func Xsqlite3UpsertDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:144764:21: */ +func Xsqlite3UpsertDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:144777:21: */ if p != 0 { upsertDelete(tls, db, p) } } // Duplicate an Upsert object. -func Xsqlite3UpsertDup(tls *libc.TLS, db uintptr, p uintptr) uintptr { /* sqlite3.c:144772:23: */ +func Xsqlite3UpsertDup(tls *libc.TLS, db uintptr, p uintptr) uintptr { /* sqlite3.c:144785:23: */ if p == uintptr(0) { return uintptr(0) } @@ -141931,7 +141950,7 @@ func Xsqlite3UpsertDup(tls *libc.TLS, db uintptr, p uintptr) uintptr { /* sqlite } // Create a new Upsert object. -func Xsqlite3UpsertNew(tls *libc.TLS, db uintptr, pTarget uintptr, pTargetWhere uintptr, pSet uintptr, pWhere uintptr, pNext uintptr) uintptr { /* sqlite3.c:144786:23: */ +func Xsqlite3UpsertNew(tls *libc.TLS, db uintptr, pTarget uintptr, pTargetWhere uintptr, pSet uintptr, pWhere uintptr, pNext uintptr) uintptr { /* sqlite3.c:144799:23: */ var pNew uintptr pNew = Xsqlite3DbMallocZero(tls, db, uint64(unsafe.Sizeof(Upsert{}))) if pNew == uintptr(0) { @@ -141957,7 +141976,7 @@ func Xsqlite3UpsertNew(tls *libc.TLS, db uintptr, pTarget uintptr, pTargetWhere // // Return SQLITE_OK if everything works, or an error code is something // is wrong. -func Xsqlite3UpsertAnalyzeTarget(tls *libc.TLS, pParse uintptr, pTabList uintptr, pUpsert uintptr) int32 { /* sqlite3.c:144821:20: */ +func Xsqlite3UpsertAnalyzeTarget(tls *libc.TLS, pParse uintptr, pTabList uintptr, pUpsert uintptr) int32 { /* sqlite3.c:144834:20: */ bp := tls.Alloc(232) defer tls.Free(232) @@ -142099,7 +142118,7 @@ __3: // Return true if pUpsert is the last ON CONFLICT clause with a // conflict target, or if pUpsert is followed by another ON CONFLICT // clause that targets the INTEGER PRIMARY KEY. -func Xsqlite3UpsertNextIsIPK(tls *libc.TLS, pUpsert uintptr) int32 { /* sqlite3.c:144948:20: */ +func Xsqlite3UpsertNextIsIPK(tls *libc.TLS, pUpsert uintptr) int32 { /* sqlite3.c:144961:20: */ var pNext uintptr if pUpsert == uintptr(0) { return 0 @@ -142121,7 +142140,7 @@ func Xsqlite3UpsertNextIsIPK(tls *libc.TLS, pUpsert uintptr) int32 { /* sqlite3. // a particular index pIdx, return a pointer to the particular ON CONFLICT // clause that applies to the index. Or, if the index is not subject to // any ON CONFLICT clause, return NULL. -func Xsqlite3UpsertOfIndex(tls *libc.TLS, pUpsert uintptr, pIdx uintptr) uintptr { /* sqlite3.c:144964:23: */ +func Xsqlite3UpsertOfIndex(tls *libc.TLS, pUpsert uintptr, pIdx uintptr) uintptr { /* sqlite3.c:144977:23: */ for pUpsert != 0 && (*Upsert)(unsafe.Pointer(pUpsert)).FpUpsertTarget != uintptr(0) && (*Upsert)(unsafe.Pointer(pUpsert)).FpUpsertIdx != pIdx { @@ -142137,7 +142156,7 @@ func Xsqlite3UpsertOfIndex(tls *libc.TLS, pUpsert uintptr, pIdx uintptr) uintptr // currently points to the conflicting table row. Otherwise, if pIdx // is not NULL, then pIdx is the constraint that failed and iCur is a // cursor points to the conflicting row. -func Xsqlite3UpsertDoUpdate(tls *libc.TLS, pParse uintptr, pUpsert uintptr, pTab uintptr, pIdx uintptr, iCur int32) { /* sqlite3.c:144984:21: */ +func Xsqlite3UpsertDoUpdate(tls *libc.TLS, pParse uintptr, pUpsert uintptr, pTab uintptr, pIdx uintptr, iCur int32) { /* sqlite3.c:144997:21: */ var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb var pSrc uintptr // FROM clause for the UPDATE @@ -142217,7 +142236,7 @@ func Xsqlite3UpsertDoUpdate(tls *libc.TLS, pParse uintptr, pUpsert uintptr, pTab // // The execSqlF() routine does the same thing, except it accepts // a format string as its third argument -func execSql(tls *libc.TLS, db uintptr, pzErrMsg uintptr, zSql uintptr) int32 { /* sqlite3.c:145081:12: */ +func execSql(tls *libc.TLS, db uintptr, pzErrMsg uintptr, zSql uintptr) int32 { /* sqlite3.c:145094:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -142257,7 +142276,7 @@ func execSql(tls *libc.TLS, db uintptr, pzErrMsg uintptr, zSql uintptr) int32 { return rc } -func execSqlF(tls *libc.TLS, db uintptr, pzErrMsg uintptr, zSql uintptr, va uintptr) int32 { /* sqlite3.c:145111:12: */ +func execSqlF(tls *libc.TLS, db uintptr, pzErrMsg uintptr, zSql uintptr, va uintptr) int32 { /* sqlite3.c:145124:12: */ var z uintptr var ap Va_list _ = ap @@ -142301,7 +142320,7 @@ func execSqlF(tls *libc.TLS, db uintptr, pzErrMsg uintptr, zSql uintptr, va uint // And a power loss in between deleting the original and renaming the // transient would cause the database file to appear to be deleted // following reboot. -func Xsqlite3Vacuum(tls *libc.TLS, pParse uintptr, pNm uintptr, pInto uintptr) { /* sqlite3.c:145154:21: */ +func Xsqlite3Vacuum(tls *libc.TLS, pParse uintptr, pNm uintptr, pInto uintptr) { /* sqlite3.c:145167:21: */ bp := tls.Alloc(8) defer tls.Free(8) *(*uintptr)(unsafe.Pointer(bp)) = pNm @@ -142358,7 +142377,7 @@ build_vacuum_end: } // This routine implements the OP_Vacuum opcode of the VDBE. -func Xsqlite3RunVacuum(tls *libc.TLS, pzErrMsg uintptr, db uintptr, iDb int32, pOut uintptr) int32 { /* sqlite3.c:145192:36: */ +func Xsqlite3RunVacuum(tls *libc.TLS, pzErrMsg uintptr, db uintptr, iDb int32, pOut uintptr) int32 { /* sqlite3.c:145205:36: */ bp := tls.Alloc(52) defer tls.Free(52) @@ -142696,7 +142715,7 @@ var aCopy = [10]uint8{ uint8(BTREE_TEXT_ENCODING), uint8(0), // Preserve the text encoding uint8(BTREE_USER_VERSION), uint8(0), // Preserve the user version uint8(BTREE_APPLICATION_ID), uint8(0), // Preserve the application id -} /* sqlite3.c:145385:32 */ +} /* sqlite3.c:145398:32 */ // Construct and install a Module object for a virtual table. When this // routine is called, it is guaranteed that all appropriate locks are held @@ -142704,7 +142723,7 @@ var aCopy = [10]uint8{ // // 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 Xsqlite3VtabCreateModule(tls *libc.TLS, db uintptr, zName uintptr, pModule uintptr, pAux uintptr, xDestroy uintptr) uintptr { /* sqlite3.c:145497:23: */ +func Xsqlite3VtabCreateModule(tls *libc.TLS, db uintptr, zName uintptr, pModule uintptr, pAux uintptr, xDestroy uintptr) uintptr { /* sqlite3.c:145510:23: */ var pMod uintptr var pDel uintptr var zCopy uintptr @@ -142744,7 +142763,7 @@ func Xsqlite3VtabCreateModule(tls *libc.TLS, db uintptr, zName uintptr, pModule // The actual function that does the work of creating a new module. // 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) int32 { /* sqlite3.c:145545:12: */ +func createModule(tls *libc.TLS, db uintptr, zName uintptr, pModule uintptr, pAux uintptr, xDestroy uintptr) int32 { /* sqlite3.c:145558:12: */ var rc int32 = SQLITE_OK Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) @@ -142758,18 +142777,18 @@ func createModule(tls *libc.TLS, db uintptr, zName uintptr, pModule uintptr, pAu } // External API function used to create a new virtual-table module. -func Xsqlite3_create_module(tls *libc.TLS, db uintptr, zName uintptr, pModule uintptr, pAux uintptr) int32 { /* sqlite3.c:145566:16: */ +func Xsqlite3_create_module(tls *libc.TLS, db uintptr, zName uintptr, pModule uintptr, pAux uintptr) int32 { /* sqlite3.c:145579:16: */ return createModule(tls, db, zName, pModule, pAux, uintptr(0)) } // 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) int32 { /* sqlite3.c:145581:16: */ +func Xsqlite3_create_module_v2(tls *libc.TLS, db uintptr, zName uintptr, pModule uintptr, pAux uintptr, xDestroy uintptr) int32 { /* sqlite3.c:145594:16: */ return createModule(tls, db, zName, pModule, pAux, xDestroy) } // External API to drop all virtual-table modules, except those named // on the azNames list. -func Xsqlite3_drop_modules(tls *libc.TLS, db uintptr, azNames uintptr) int32 { /* sqlite3.c:145598:16: */ +func Xsqlite3_drop_modules(tls *libc.TLS, db uintptr, azNames uintptr) int32 { /* sqlite3.c:145611:16: */ var pThis uintptr var pNext uintptr for pThis = (*Hash)(unsafe.Pointer(db + 568)).Ffirst; pThis != 0; pThis = pNext { @@ -142790,7 +142809,7 @@ func Xsqlite3_drop_modules(tls *libc.TLS, db uintptr, azNames uintptr) int32 { / // Decrement the reference count on a Module object. Destroy the // module when the reference count reaches zero. -func Xsqlite3VtabModuleUnref(tls *libc.TLS, db uintptr, pMod uintptr) { /* sqlite3.c:145620:21: */ +func Xsqlite3VtabModuleUnref(tls *libc.TLS, db uintptr, pMod uintptr) { /* sqlite3.c:145633:21: */ (*Module)(unsafe.Pointer(pMod)).FnRefModule-- if (*Module)(unsafe.Pointer(pMod)).FnRefModule == 0 { @@ -142808,14 +142827,14 @@ func Xsqlite3VtabModuleUnref(tls *libc.TLS, db uintptr, pMod uintptr) { /* sqlit // // If a disconnect is attempted while a virtual table is locked, // the disconnect is deferred until all locks have been removed. -func Xsqlite3VtabLock(tls *libc.TLS, pVTab uintptr) { /* sqlite3.c:145640:21: */ +func Xsqlite3VtabLock(tls *libc.TLS, pVTab uintptr) { /* sqlite3.c:145653:21: */ (*VTable)(unsafe.Pointer(pVTab)).FnRef++ } // pTab is a pointer to a Table structure representing a virtual-table. // Return a pointer to the VTable object used by connection db to access // this virtual-table, if one has been created, or NULL otherwise. -func Xsqlite3GetVTable(tls *libc.TLS, db uintptr, pTab uintptr) uintptr { /* sqlite3.c:145650:23: */ +func Xsqlite3GetVTable(tls *libc.TLS, db uintptr, pTab uintptr) uintptr { /* sqlite3.c:145663:23: */ var pVtab uintptr for pVtab = *(*uintptr)(unsafe.Pointer(pTab + 64 + 16 /* &.p */)); pVtab != 0 && (*VTable)(unsafe.Pointer(pVtab)).Fdb != db; pVtab = (*VTable)(unsafe.Pointer(pVtab)).FpNext { @@ -142825,7 +142844,7 @@ func Xsqlite3GetVTable(tls *libc.TLS, db uintptr, pTab uintptr) uintptr { /* sql // Decrement the ref-count on a virtual table object. When the ref-count // reaches zero, call the xDisconnect() method to delete the object. -func Xsqlite3VtabUnlock(tls *libc.TLS, pVTab uintptr) { /* sqlite3.c:145661:21: */ +func Xsqlite3VtabUnlock(tls *libc.TLS, pVTab uintptr) { /* sqlite3.c:145674:21: */ var db uintptr = (*VTable)(unsafe.Pointer(pVTab)).Fdb (*VTable)(unsafe.Pointer(pVTab)).FnRef-- @@ -142846,7 +142865,7 @@ func Xsqlite3VtabUnlock(tls *libc.TLS, pVTab uintptr) { /* sqlite3.c:145661:21: // database connections to be disconnected at the next opportunity. // Except, if argument db is not NULL, then the entry associated with // connection db is left in the p->u.vtab.p list. -func vtabDisconnectAll(tls *libc.TLS, db uintptr, p uintptr) uintptr { /* sqlite3.c:145687:15: */ +func vtabDisconnectAll(tls *libc.TLS, db uintptr, p uintptr) uintptr { /* sqlite3.c:145700:15: */ var pRet uintptr = uintptr(0) var pVTable uintptr @@ -142883,7 +142902,7 @@ func vtabDisconnectAll(tls *libc.TLS, db uintptr, p uintptr) uintptr { /* sqlite // used when closing database connection db to free all of its VTable // objects without disturbing the rest of the Schema object (which may // be being used by other shared-cache connections). -func Xsqlite3VtabDisconnect(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:145730:21: */ +func Xsqlite3VtabDisconnect(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:145743:21: */ var ppVTab uintptr for ppVTab = p + 64 + 16; *(*uintptr)(unsafe.Pointer(ppVTab)) != 0; ppVTab = *(*uintptr)(unsafe.Pointer(ppVTab)) + 40 { @@ -142914,7 +142933,7 @@ func Xsqlite3VtabDisconnect(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c // // As a result, a sqlite3.pDisconnect cannot be accessed simultaneously // by multiple threads. It is thread-safe. -func Xsqlite3VtabUnlockList(tls *libc.TLS, db uintptr) { /* sqlite3.c:145768:21: */ +func Xsqlite3VtabUnlockList(tls *libc.TLS, db uintptr) { /* sqlite3.c:145781:21: */ var p uintptr = (*Sqlite3)(unsafe.Pointer(db)).FpDisconnect if p != 0 { @@ -142940,7 +142959,7 @@ func Xsqlite3VtabUnlockList(tls *libc.TLS, db uintptr) { /* sqlite3.c:145768:21: // structure being xDisconnected and free). Any other VTable structures // in the list are moved to the sqlite3.pDisconnect list of the associated // database connection. -func Xsqlite3VtabClear(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:145799:21: */ +func Xsqlite3VtabClear(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:145812:21: */ if !(db != 0) || (*Sqlite3)(unsafe.Pointer(db)).FpnBytesFreed == uintptr(0) { vtabDisconnectAll(tls, uintptr(0), p) @@ -142960,7 +142979,7 @@ func Xsqlite3VtabClear(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:1457 // The string is not copied - the pointer is stored. The // string will be freed automatically when the table is // deleted. -func addModuleArgument(tls *libc.TLS, pParse uintptr, pTable uintptr, zArg uintptr) { /* sqlite3.c:145817:13: */ +func addModuleArgument(tls *libc.TLS, pParse uintptr, pTable uintptr, zArg uintptr) { /* sqlite3.c:145830:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -142986,7 +143005,7 @@ func addModuleArgument(tls *libc.TLS, pParse uintptr, pTable uintptr, zArg uintp // The parser calls this routine when it first sees a CREATE VIRTUAL TABLE // statement. The module name has been parsed, but the optional list // of parameters that follow the module name are still pending. -func Xsqlite3VtabBeginParse(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 uintptr, pModuleName uintptr, ifNotExists int32) { /* sqlite3.c:145843:21: */ +func Xsqlite3VtabBeginParse(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 uintptr, pModuleName uintptr, ifNotExists int32) { /* sqlite3.c:145856:21: */ var pTable uintptr // The new virtual table var db uintptr // Database connection @@ -143021,7 +143040,7 @@ func Xsqlite3VtabBeginParse(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName // This routine takes the module argument that has been accumulating // in pParse->zArg[] and appends it to the list of arguments on the // virtual table currently under construction in pParse->pTable. -func addArgumentToVtab(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:145892:13: */ +func addArgumentToVtab(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:145905:13: */ if (*Parse)(unsafe.Pointer(pParse)).FsArg.Fz != 0 && (*Parse)(unsafe.Pointer(pParse)).FpNewTable != 0 { var z uintptr = (*Parse)(unsafe.Pointer(pParse)).FsArg.Fz var n int32 = int32((*Parse)(unsafe.Pointer(pParse)).FsArg.Fn) @@ -143032,7 +143051,7 @@ func addArgumentToVtab(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:145892:13: // The parser calls this routine after the CREATE VIRTUAL TABLE statement // has been completely parsed. -func Xsqlite3VtabFinishParse(tls *libc.TLS, pParse uintptr, pEnd uintptr) { /* sqlite3.c:145905:21: */ +func Xsqlite3VtabFinishParse(tls *libc.TLS, pParse uintptr, pEnd uintptr) { /* sqlite3.c:145918:21: */ bp := tls.Alloc(64) defer tls.Free(64) @@ -143116,7 +143135,7 @@ func Xsqlite3VtabFinishParse(tls *libc.TLS, pParse uintptr, pEnd uintptr) { /* s // The parser calls this routine when it sees the first token // of an argument to the module name in a CREATE VIRTUAL TABLE statement. -func Xsqlite3VtabArgInit(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:145988:21: */ +func Xsqlite3VtabArgInit(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:146001:21: */ addArgumentToVtab(tls, pParse) (*Parse)(unsafe.Pointer(pParse)).FsArg.Fz = uintptr(0) (*Parse)(unsafe.Pointer(pParse)).FsArg.Fn = uint32(0) @@ -143124,7 +143143,7 @@ func Xsqlite3VtabArgInit(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:145988:21 // The parser calls this routine for each token after the first token // in an argument to the module name in a CREATE VIRTUAL TABLE statement. -func Xsqlite3VtabArgExtend(tls *libc.TLS, pParse uintptr, p uintptr) { /* sqlite3.c:145998:21: */ +func Xsqlite3VtabArgExtend(tls *libc.TLS, pParse uintptr, p uintptr) { /* sqlite3.c:146011:21: */ var pArg uintptr = pParse + 368 if (*Token)(unsafe.Pointer(pArg)).Fz == uintptr(0) { (*Token)(unsafe.Pointer(pArg)).Fz = (*Token)(unsafe.Pointer(p)).Fz @@ -143138,7 +143157,7 @@ func Xsqlite3VtabArgExtend(tls *libc.TLS, pParse uintptr, p uintptr) { /* sqlite // Invoke a virtual table constructor (either xCreate or xConnect). The // 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) int32 { /* sqlite3.c:146014:12: */ +func vtabCallConstructor(tls *libc.TLS, db uintptr, pTab uintptr, pMod uintptr, xConstruct uintptr, pzErr uintptr) int32 { /* sqlite3.c:146027:12: */ bp := tls.Alloc(72) defer tls.Free(72) @@ -143274,7 +143293,7 @@ func vtabCallConstructor(tls *libc.TLS, db uintptr, pTab uintptr, pMod uintptr, // and an error left in pParse. // // This call is a no-op if table pTab is not a virtual table. -func Xsqlite3VtabCallConnect(tls *libc.TLS, pParse uintptr, pTab uintptr) int32 { /* sqlite3.c:146150:20: */ +func Xsqlite3VtabCallConnect(tls *libc.TLS, pParse uintptr, pTab uintptr) int32 { /* sqlite3.c:146163:20: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -143310,7 +143329,7 @@ func Xsqlite3VtabCallConnect(tls *libc.TLS, pParse uintptr, pTab uintptr) int32 // Grow the db->aVTrans[] array so that there is room for at least one // more v-table. Return SQLITE_NOMEM if a malloc fails, or SQLITE_OK otherwise. -func growVTrans(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:146186:12: */ +func growVTrans(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:146199:12: */ var ARRAY_INCR int32 = 5 // Grow the sqlite3.aVTrans array if required @@ -143330,7 +143349,7 @@ func growVTrans(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:146186:12: */ // Add the virtual table pVTab to the array sqlite3.aVTrans[]. Space should // have already been reserved using growVTrans(). -func addToVTrans(tls *libc.TLS, db uintptr, pVTab uintptr) { /* sqlite3.c:146209:13: */ +func addToVTrans(tls *libc.TLS, db uintptr, pVTab uintptr) { /* sqlite3.c:146222:13: */ // Add pVtab to the end of sqlite3.aVTrans *(*uintptr)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaVTrans + uintptr(libc.PostIncInt32(&(*Sqlite3)(unsafe.Pointer(db)).FnVTrans, 1))*8)) = pVTab Xsqlite3VtabLock(tls, pVTab) @@ -143342,7 +143361,7 @@ func addToVTrans(tls *libc.TLS, db uintptr, pVTab uintptr) { /* sqlite3.c:146209 // If an error occurs, *pzErr is set to point to an English language // description of the error and an SQLITE_XXX error code is returned. // In this case the caller must call sqlite3DbFree(db, ) on *pzErr. -func Xsqlite3VtabCallCreate(tls *libc.TLS, db uintptr, iDb int32, zTab uintptr, pzErr uintptr) int32 { /* sqlite3.c:146223:20: */ +func Xsqlite3VtabCallCreate(tls *libc.TLS, db uintptr, iDb int32, zTab uintptr, pzErr uintptr) int32 { /* sqlite3.c:146236:20: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -143382,7 +143401,7 @@ func Xsqlite3VtabCallCreate(tls *libc.TLS, db uintptr, iDb int32, zTab uintptr, // This function is used to set the schema of a virtual table. It is only // valid to call this function from within the xCreate() or xConnect() of a // virtual table module. -func Xsqlite3_declare_vtab(tls *libc.TLS, db uintptr, zCreateTable uintptr) int32 { /* sqlite3.c:146264:16: */ +func Xsqlite3_declare_vtab(tls *libc.TLS, db uintptr, zCreateTable uintptr) int32 { /* sqlite3.c:146277:16: */ bp := tls.Alloc(416) defer tls.Free(416) @@ -143398,12 +143417,13 @@ func Xsqlite3_declare_vtab(tls *libc.TLS, db uintptr, zCreateTable uintptr) int3 if !(pCtx != 0) || (*VtabCtx)(unsafe.Pointer(pCtx)).FbDeclared != 0 { Xsqlite3Error(tls, db, SQLITE_MISUSE) Xsqlite3_mutex_leave(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) - return Xsqlite3MisuseError(tls, 146281) + return Xsqlite3MisuseError(tls, 146294) } pTab = (*VtabCtx)(unsafe.Pointer(pCtx)).FpTab Xsqlite3ParseObjectInit(tls, bp+8, db) (*Parse)(unsafe.Pointer(bp + 8 /* &sParse */)).FeParseMode = U8(PARSE_MODE_DECLARE_VTAB) + (*Parse)(unsafe.Pointer(bp + 8 /* &sParse */)).FdisableTriggers = U8(1) // We should never be able to reach this point while loading the // schema. Nevertheless, defend against that (turn off db->init.busy) // in case a bug arises. @@ -143472,7 +143492,7 @@ func Xsqlite3_declare_vtab(tls *libc.TLS, db uintptr, zCreateTable uintptr) int3 // when a DROP TABLE is mentioned. // // This call is a no-op if zTab is not a virtual table. -func Xsqlite3VtabCallDestroy(tls *libc.TLS, db uintptr, iDb int32, zTab uintptr) int32 { /* sqlite3.c:146357:20: */ +func Xsqlite3VtabCallDestroy(tls *libc.TLS, db uintptr, iDb int32, zTab uintptr) int32 { /* sqlite3.c:146371:20: */ var rc int32 = SQLITE_OK var pTab uintptr @@ -143517,7 +143537,7 @@ func Xsqlite3VtabCallDestroy(tls *libc.TLS, db uintptr, iDb int32, zTab uintptr) // the offset of the method to call in the sqlite3_module structure. // // The array is cleared after invoking the callbacks. -func callFinaliser(tls *libc.TLS, db uintptr, offset int32) { /* sqlite3.c:146401:13: */ +func callFinaliser(tls *libc.TLS, db uintptr, offset int32) { /* sqlite3.c:146415:13: */ var i int32 if (*Sqlite3)(unsafe.Pointer(db)).FaVTrans != 0 { var aVTrans uintptr = (*Sqlite3)(unsafe.Pointer(db)).FaVTrans @@ -143547,7 +143567,7 @@ func callFinaliser(tls *libc.TLS, db uintptr, offset int32) { /* sqlite3.c:14640 // SQLITE_OK if all xSync operations are successful. // // If an error message is available, leave it in p->zErrMsg. -func Xsqlite3VtabSync(tls *libc.TLS, db uintptr, p uintptr) int32 { /* sqlite3.c:146429:20: */ +func Xsqlite3VtabSync(tls *libc.TLS, db uintptr, p uintptr) int32 { /* sqlite3.c:146443:20: */ var i int32 var rc int32 = SQLITE_OK var aVTrans uintptr = (*Sqlite3)(unsafe.Pointer(db)).FaVTrans @@ -143569,14 +143589,14 @@ func Xsqlite3VtabSync(tls *libc.TLS, db uintptr, p uintptr) int32 { /* sqlite3.c // Invoke the xRollback method of all virtual tables in the // sqlite3.aVTrans array. Then clear the array itself. -func Xsqlite3VtabRollback(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:146451:20: */ +func Xsqlite3VtabRollback(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:146465:20: */ callFinaliser(tls, db, int32(uintptr(0)+136)) return SQLITE_OK } // Invoke the xCommit method of all virtual tables in the // sqlite3.aVTrans array. Then clear the array itself. -func Xsqlite3VtabCommit(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:146460:20: */ +func Xsqlite3VtabCommit(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:146474:20: */ callFinaliser(tls, db, int32(uintptr(0)+128)) return SQLITE_OK } @@ -143587,7 +143607,7 @@ func Xsqlite3VtabCommit(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:146460:2 // // If the xBegin call is successful, place the sqlite3_vtab pointer // in the sqlite3.aVTrans array. -func Xsqlite3VtabBegin(tls *libc.TLS, db uintptr, pVTab uintptr) int32 { /* sqlite3.c:146473:20: */ +func Xsqlite3VtabBegin(tls *libc.TLS, db uintptr, pVTab uintptr) int32 { /* sqlite3.c:146487:20: */ var rc int32 = SQLITE_OK var pModule uintptr @@ -143648,7 +143668,7 @@ func Xsqlite3VtabBegin(tls *libc.TLS, db uintptr, pVTab uintptr) int32 { /* sqli // processing is abandoned and the error returned to the caller of this // function immediately. If all calls to virtual table methods are successful, // SQLITE_OK is returned. -func Xsqlite3VtabSavepoint(tls *libc.TLS, db uintptr, op int32, iSavepoint int32) int32 { /* sqlite3.c:146533:20: */ +func Xsqlite3VtabSavepoint(tls *libc.TLS, db uintptr, op int32, iSavepoint int32) int32 { /* sqlite3.c:146547:20: */ var rc int32 = SQLITE_OK if (*Sqlite3)(unsafe.Pointer(db)).FaVTrans != 0 { @@ -143696,7 +143716,7 @@ func Xsqlite3VtabSavepoint(tls *libc.TLS, db uintptr, op int32, iSavepoint int32 // Return either the pDef argument (indicating no change) or a // new FuncDef structure that is marked as ephemeral using the // SQLITE_FUNC_EPHEM flag. -func Xsqlite3VtabOverloadFunction(tls *libc.TLS, db uintptr, pDef uintptr, nArg int32, pExpr uintptr) uintptr { /* sqlite3.c:146581:24: */ +func Xsqlite3VtabOverloadFunction(tls *libc.TLS, db uintptr, pDef uintptr, nArg int32, pExpr uintptr) uintptr { /* sqlite3.c:146595:24: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -143763,7 +143783,7 @@ func Xsqlite3VtabOverloadFunction(tls *libc.TLS, db uintptr, pDef uintptr, nArg // array so that an OP_VBegin will get generated for it. Add pTab to the // array if it is missing. If pTab is already in the array, this routine // is a no-op. -func Xsqlite3VtabMakeWritable(tls *libc.TLS, pParse uintptr, pTab uintptr) { /* sqlite3.c:146651:21: */ +func Xsqlite3VtabMakeWritable(tls *libc.TLS, pParse uintptr, pTab uintptr) { /* sqlite3.c:146665:21: */ var pToplevel uintptr = func() uintptr { if (*Parse)(unsafe.Pointer(pParse)).FpToplevel != 0 { return (*Parse)(unsafe.Pointer(pParse)).FpToplevel @@ -143802,7 +143822,7 @@ func Xsqlite3VtabMakeWritable(tls *libc.TLS, pParse uintptr, pTab uintptr) { /* // // Any virtual table module for which xConnect and xCreate are the same // method can have an eponymous virtual table instance. -func Xsqlite3VtabEponymousTableInit(tls *libc.TLS, pParse uintptr, pMod uintptr) int32 { /* sqlite3.c:146685:20: */ +func Xsqlite3VtabEponymousTableInit(tls *libc.TLS, pParse uintptr, pMod uintptr) int32 { /* sqlite3.c:146699:20: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -143847,7 +143867,7 @@ func Xsqlite3VtabEponymousTableInit(tls *libc.TLS, pParse uintptr, pMod uintptr) // Erase the eponymous virtual table instance associated with // virtual table module pMod, if it exists. -func Xsqlite3VtabEponymousTableClear(tls *libc.TLS, db uintptr, pMod uintptr) { /* sqlite3.c:146723:21: */ +func Xsqlite3VtabEponymousTableClear(tls *libc.TLS, db uintptr, pMod uintptr) { /* sqlite3.c:146737:21: */ var pTab uintptr = (*Module)(unsafe.Pointer(pMod)).FpEpoTab if pTab != uintptr(0) { // Mark the table as Ephemeral prior to deleting it, so that the @@ -143864,19 +143884,19 @@ func Xsqlite3VtabEponymousTableClear(tls *libc.TLS, db uintptr, pMod uintptr) { // // The results of this routine are undefined unless it is called from // within an xUpdate method. -func Xsqlite3_vtab_on_conflict(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:146742:16: */ +func Xsqlite3_vtab_on_conflict(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:146756:16: */ return int32(aMap1[int32((*Sqlite3)(unsafe.Pointer(db)).FvtabOnConflict)-1]) } var aMap1 = [5]uint8{ uint8(SQLITE_ROLLBACK), uint8(SQLITE_ABORT), uint8(SQLITE_FAIL), uint8(SQLITE_IGNORE), uint8(SQLITE_REPLACE), -} /* sqlite3.c:146743:30 */ +} /* sqlite3.c:146757:30 */ // Call from within the xCreate() or xConnect() methods to provide // the SQLite core with additional information about the behavior // of the virtual table being implemented. -func Xsqlite3_vtab_config(tls *libc.TLS, db uintptr, op int32, va uintptr) int32 { /* sqlite3.c:146760:16: */ +func Xsqlite3_vtab_config(tls *libc.TLS, db uintptr, op int32, va uintptr) int32 { /* sqlite3.c:146774:16: */ var ap Va_list _ = ap var rc int32 = SQLITE_OK @@ -143885,7 +143905,7 @@ func Xsqlite3_vtab_config(tls *libc.TLS, db uintptr, op int32, va uintptr) int32 Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) p = (*Sqlite3)(unsafe.Pointer(db)).FpVtabCtx if !(p != 0) { - rc = Xsqlite3MisuseError(tls, 146771) + rc = Xsqlite3MisuseError(tls, 146785) } else { ap = va @@ -143913,7 +143933,7 @@ func Xsqlite3_vtab_config(tls *libc.TLS, db uintptr, op int32, va uintptr) int32 fallthrough default: { - rc = Xsqlite3MisuseError(tls, 146789) + rc = Xsqlite3MisuseError(tls, 146803) break } @@ -144017,23 +144037,23 @@ type WhereClause1 = struct { // a separate source file for easier editing. // Forward references -type WhereClause = WhereClause1 /* sqlite3.c:146849:28 */ +type WhereClause = WhereClause1 /* sqlite3.c:146863:28 */ type WhereMaskSet1 = struct { FbVarSelect int32 Fn int32 Fix [64]int32 } /* sqlite3.c:14626:9 */ -type WhereMaskSet = WhereMaskSet1 /* sqlite3.c:146850:29 */ +type WhereMaskSet = WhereMaskSet1 /* sqlite3.c:146864:29 */ type WhereOrInfo1 = struct { Fwc WhereClause Findexable Bitmask -} /* sqlite3.c:146851:9 */ +} /* sqlite3.c:146865:9 */ -type WhereOrInfo = WhereOrInfo1 /* sqlite3.c:146851:28 */ -type WhereAndInfo1 = struct{ Fwc WhereClause } /* sqlite3.c:146852:9 */ +type WhereOrInfo = WhereOrInfo1 /* sqlite3.c:146865:28 */ +type WhereAndInfo1 = struct{ Fwc WhereClause } /* sqlite3.c:146866:9 */ -type WhereAndInfo = WhereAndInfo1 /* sqlite3.c:146852:29 */ +type WhereAndInfo = WhereAndInfo1 /* sqlite3.c:146866:29 */ type WhereLevel1 = struct { FiLeftJoin int32 FiTabCur int32 @@ -144065,7 +144085,7 @@ type WhereLevel1 = struct { FnotReady Bitmask } /* sqlite3.c:14626:9 */ -type WhereLevel = WhereLevel1 /* sqlite3.c:146853:27 */ +type WhereLevel = WhereLevel1 /* sqlite3.c:146867:27 */ type WhereLoop1 = struct { Fprereq Bitmask FmaskSelf Bitmask @@ -144094,7 +144114,7 @@ type WhereLoop1 = struct { FaLTermSpace [3]uintptr } /* sqlite3.c:14626:9 */ -type WhereLoop = WhereLoop1 /* sqlite3.c:146854:26 */ +type WhereLoop = WhereLoop1 /* sqlite3.c:146868:26 */ type WherePath1 = struct { FmaskLoop Bitmask FrevLoop Bitmask @@ -144104,9 +144124,9 @@ type WherePath1 = struct { FisOrdered I8 F__ccgo_pad1 [1]byte FaLoop uintptr -} /* sqlite3.c:146855:9 */ +} /* sqlite3.c:146869:9 */ -type WherePath = WherePath1 /* sqlite3.c:146855:26 */ +type WherePath = WherePath1 /* sqlite3.c:146869:26 */ type WhereTerm1 = struct { FpExpr uintptr FpWC uintptr @@ -144128,7 +144148,7 @@ type WhereTerm1 = struct { FprereqAll Bitmask } /* sqlite3.c:14626:9 */ -type WhereTerm = WhereTerm1 /* sqlite3.c:146856:26 */ +type WhereTerm = WhereTerm1 /* sqlite3.c:146870:26 */ type WhereLoopBuilder1 = struct { FpWInfo uintptr FpWC uintptr @@ -144141,9 +144161,9 @@ type WhereLoopBuilder1 = struct { F__ccgo_pad1 [2]byte FiPlanLimit uint32 F__ccgo_pad2 [4]byte -} /* sqlite3.c:146857:9 */ +} /* sqlite3.c:146871:9 */ -type WhereLoopBuilder = WhereLoopBuilder1 /* sqlite3.c:146857:33 */ +type WhereLoopBuilder = WhereLoopBuilder1 /* sqlite3.c:146871:33 */ type WhereScan1 = struct { FpOrigWC uintptr FpWC uintptr @@ -144158,24 +144178,24 @@ type WhereScan1 = struct { FaiCur [11]int32 FaiColumn [11]I16 F__ccgo_pad2 [2]byte -} /* sqlite3.c:146858:9 */ +} /* sqlite3.c:146872:9 */ -type WhereScan = WhereScan1 /* sqlite3.c:146858:26 */ +type WhereScan = WhereScan1 /* sqlite3.c:146872:26 */ type WhereOrCost1 = struct { Fprereq Bitmask FrRun LogEst FnOut LogEst F__ccgo_pad1 [4]byte -} /* sqlite3.c:146857:9 */ +} /* sqlite3.c:146871:9 */ -type WhereOrCost = WhereOrCost1 /* sqlite3.c:146859:28 */ +type WhereOrCost = WhereOrCost1 /* sqlite3.c:146873:28 */ type WhereOrSet1 = struct { Fn U16 F__ccgo_pad1 [6]byte Fa [3]WhereOrCost -} /* sqlite3.c:146857:9 */ +} /* sqlite3.c:146871:9 */ -type WhereOrSet = WhereOrSet1 /* sqlite3.c:146860:27 */ +type WhereOrSet = WhereOrSet1 /* sqlite3.c:146874:27 */ // This object contains information needed to implement a single nested // loop in WHERE clause. @@ -144197,7 +144217,7 @@ type InLoop = struct { FnPrefix int32 FeEndLoopOp U8 F__ccgo_pad1 [3]byte -} /* sqlite3.c:146900:7 */ +} /* sqlite3.c:146914:7 */ // Allowed values for WhereLoopBuider.bldFlags @@ -144245,7 +144265,7 @@ type WhereExprMod1 = struct { // of an index rather than an expression or a virtual column. All // such transformations need to be undone at the end of WHERE clause // processing. -type WhereExprMod = WhereExprMod1 /* sqlite3.c:147262:29 */ +type WhereExprMod = WhereExprMod1 /* sqlite3.c:147276:29 */ // Bitmasks for the operators on WhereTerm objects. These are all // operators that are of interest to the query planner. An @@ -144267,7 +144287,7 @@ type WhereExprMod = WhereExprMod1 /* sqlite3.c:147262:29 */ //************* Continuing where we left off in wherecode.c ***************** // Return the name of the i-th column of the pIdx index. -func explainIndexColumnName(tls *libc.TLS, pIdx uintptr, i int32) uintptr { /* sqlite3.c:147456:19: */ +func explainIndexColumnName(tls *libc.TLS, pIdx uintptr, i int32) uintptr { /* sqlite3.c:147470:19: */ i = int32(*(*I16)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FaiColumn + uintptr(i)*2))) if i == -2 { return ts + 21824 /* "" */ @@ -144284,7 +144304,7 @@ func explainIndexColumnName(tls *libc.TLS, pIdx uintptr, i int32) uintptr { /* s // at a time. This routine adds a new term to the end of the expression. // Terms are separated by AND so add the "AND" text for second and subsequent // terms only. -func explainAppendTerm(tls *libc.TLS, pStr uintptr, pIdx uintptr, nTerm int32, iTerm int32, bAnd int32, zOp uintptr) { /* sqlite3.c:147471:13: */ +func explainAppendTerm(tls *libc.TLS, pStr uintptr, pIdx uintptr, nTerm int32, iTerm int32, bAnd int32, zOp uintptr) { /* sqlite3.c:147485:13: */ var i int32 if bAnd != 0 { @@ -144332,7 +144352,7 @@ func explainAppendTerm(tls *libc.TLS, pStr uintptr, pIdx uintptr, nTerm int32, i // string similar to: // // "a=? AND b>?" -func explainIndexRange(tls *libc.TLS, pStr uintptr, pLoop uintptr) { /* sqlite3.c:147515:13: */ +func explainIndexRange(tls *libc.TLS, pStr uintptr, pLoop uintptr) { /* sqlite3.c:147529:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -144377,7 +144397,7 @@ func explainIndexRange(tls *libc.TLS, pStr uintptr, pLoop uintptr) { /* sqlite3. // // If an OP_Explain opcode is added to the VM, its address is returned. // Otherwise, if no OP_Explain is coded, zero is returned. -func Xsqlite3WhereExplainOneScan(tls *libc.TLS, pParse uintptr, pTabList uintptr, pLevel uintptr, wctrlFlags U16) int32 { /* sqlite3.c:147549:20: */ +func Xsqlite3WhereExplainOneScan(tls *libc.TLS, pParse uintptr, pTabList uintptr, pLevel uintptr, wctrlFlags U16) int32 { /* sqlite3.c:147563:20: */ bp := tls.Alloc(196) defer tls.Free(196) @@ -144478,7 +144498,7 @@ func Xsqlite3WhereExplainOneScan(tls *libc.TLS, pParse uintptr, pTabList uintptr // // If an OP_Explain opcode is added to the VM, its address is returned. // Otherwise, if no OP_Explain is coded, zero is returned. -func Xsqlite3WhereExplainBloomFilter(tls *libc.TLS, pParse uintptr, pWInfo uintptr, pLevel uintptr) int32 { /* sqlite3.c:147661:20: */ +func Xsqlite3WhereExplainBloomFilter(tls *libc.TLS, pParse uintptr, pWInfo uintptr, pLevel uintptr) int32 { /* sqlite3.c:147675:20: */ bp := tls.Alloc(156) defer tls.Free(156) @@ -144561,7 +144581,7 @@ func Xsqlite3WhereExplainBloomFilter(tls *libc.TLS, pParse uintptr, pWInfo uintp // The TERM_LIKECOND marking indicates that the term should be coded inside // a conditional such that is only evaluated on the second pass of a // LIKE-optimization loop, when scanning BLOBs instead of strings. -func disableTerm(tls *libc.TLS, pLevel uintptr, pTerm uintptr) { /* sqlite3.c:147774:13: */ +func disableTerm(tls *libc.TLS, pLevel uintptr, pTerm uintptr) { /* sqlite3.c:147788:13: */ var nLoop int32 = 0 for int32((*WhereTerm)(unsafe.Pointer(pTerm)).FwtFlags)&TERM_CODED == 0 && @@ -144594,7 +144614,7 @@ func disableTerm(tls *libc.TLS, pLevel uintptr, pTerm uintptr) { /* sqlite3.c:14 // // This routine makes its own copy of zAff so that the caller is free // to modify zAff after this routine returns. -func codeApplyAffinity(tls *libc.TLS, pParse uintptr, base int32, n int32, zAff uintptr) { /* sqlite3.c:147812:13: */ +func codeApplyAffinity(tls *libc.TLS, pParse uintptr, base int32, n int32, zAff uintptr) { /* sqlite3.c:147826:13: */ var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe if zAff == uintptr(0) { @@ -144627,7 +144647,7 @@ func codeApplyAffinity(tls *libc.TLS, pParse uintptr, base int32, n int32, zAff // // * the comparison will be performed with no affinity, or // * the affinity change in zAff is guaranteed not to change the value. -func updateRangeAffinityStr(tls *libc.TLS, pRight uintptr, n int32, zAff uintptr) { /* sqlite3.c:147849:13: */ +func updateRangeAffinityStr(tls *libc.TLS, pRight uintptr, n int32, zAff uintptr) { /* sqlite3.c:147863:13: */ var i int32 for i = 0; i < n; i++ { var p uintptr = Xsqlite3VectorFieldSubexpr(tls, pRight, i) @@ -144665,7 +144685,7 @@ func updateRangeAffinityStr(tls *libc.TLS, pRight uintptr, n int32, zAff uintptr // The reduced pX is different from the original (obviously) and thus is // only used for indexing, to improve performance. The original unaltered // IN expression must also be run on each output row for correctness. -func removeUnindexableInClauseTerms(tls *libc.TLS, pParse uintptr, iEq int32, pLoop uintptr, pX uintptr) uintptr { /* sqlite3.c:147895:13: */ +func removeUnindexableInClauseTerms(tls *libc.TLS, pParse uintptr, iEq int32, pLoop uintptr, pX uintptr) uintptr { /* sqlite3.c:147909:13: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb var pNew uintptr pNew = Xsqlite3ExprDup(tls, db, pX, 0) @@ -144740,7 +144760,7 @@ func removeUnindexableInClauseTerms(tls *libc.TLS, pParse uintptr, iEq int32, pL // For a constraint of the form X=expr, the expression is evaluated in // straight-line code. For constraints of the form X IN (...) // this routine sets up a loop that will iterate over all values of X. -func codeEqualityTerm(tls *libc.TLS, pParse uintptr, pTerm uintptr, pLevel uintptr, iEq int32, bRev int32, iTarget int32) int32 { /* sqlite3.c:147984:12: */ +func codeEqualityTerm(tls *libc.TLS, pParse uintptr, pTerm uintptr, pLevel uintptr, iEq int32, bRev int32, iTarget int32) int32 { /* sqlite3.c:147998:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -144933,7 +144953,7 @@ func codeEqualityTerm(tls *libc.TLS, pParse uintptr, pTerm uintptr, pLevel uintp // no conversion should be attempted before using a t2.b value as part of // a key to search the index. Hence the first byte in the returned affinity // string in this example would be set to SQLITE_AFF_BLOB. -func codeAllEqualityTerms(tls *libc.TLS, pParse uintptr, pLevel uintptr, bRev int32, nExtraReg int32, pzAff uintptr) int32 { /* sqlite3.c:148180:12: */ +func codeAllEqualityTerms(tls *libc.TLS, pParse uintptr, pLevel uintptr, bRev int32, nExtraReg int32, pzAff uintptr) int32 { /* sqlite3.c:148194:12: */ var nEq U16 // The number of == or IN constraints to code var nSkip U16 // Number of left-most columns to skip var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe // The vm under construction @@ -145054,7 +145074,7 @@ func codeAllEqualityTerms(tls *libc.TLS, pParse uintptr, pLevel uintptr, bRev in // on. For each table column, if the column is the i'th column of the // index, then the corresponding array entry is set to (i+1). If the column // does not appear in the index at all, the array entry is set to 0. -func codeDeferredSeek(tls *libc.TLS, pWInfo uintptr, pIdx uintptr, iCur int32, iIdxCur int32) { /* sqlite3.c:148558:13: */ +func codeDeferredSeek(tls *libc.TLS, pWInfo uintptr, pIdx uintptr, iCur int32, iIdxCur int32) { /* sqlite3.c:148572:13: */ var pParse uintptr = (*WhereInfo)(unsafe.Pointer(pWInfo)).FpParse // Parse context var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe // Vdbe to generate code within @@ -145095,7 +145115,7 @@ func codeDeferredSeek(tls *libc.TLS, pWInfo uintptr, pIdx uintptr, iCur int32, i // If the expression is not a vector, then nReg must be passed 1. In // this case, generate code to evaluate the expression and leave the // result in register iReg. -func codeExprOrVector(tls *libc.TLS, pParse uintptr, p uintptr, iReg int32, nReg int32) { /* sqlite3.c:148602:13: */ +func codeExprOrVector(tls *libc.TLS, pParse uintptr, p uintptr, iReg int32, nReg int32) { /* sqlite3.c:148616:13: */ if p != 0 && Xsqlite3ExprIsVector(tls, p) != 0 { if (*Expr)(unsafe.Pointer(p)).Fflags&U32(EP_xIsSelect) != U32(0) { @@ -145123,10 +145143,10 @@ func codeExprOrVector(tls *libc.TLS, pParse uintptr, p uintptr, iReg int32, nReg // An instance of the IdxExprTrans object carries information about a // mapping from an expression on table columns into a column in an index // down through the Walker. -type IdxExprTrans = IdxExprTrans1 /* sqlite3.c:148642:3 */ +type IdxExprTrans = IdxExprTrans1 /* sqlite3.c:148656:3 */ // Preserve pExpr on the WhereETrans list of the WhereInfo. -func preserveExpr(tls *libc.TLS, pTrans uintptr, pExpr uintptr) { /* sqlite3.c:148647:13: */ +func preserveExpr(tls *libc.TLS, pTrans uintptr, pExpr uintptr) { /* sqlite3.c:148661:13: */ var pNew uintptr pNew = Xsqlite3DbMallocRaw(tls, (*IdxExprTrans)(unsafe.Pointer(pTrans)).Fdb, uint64(unsafe.Sizeof(WhereExprMod{}))) if pNew == uintptr(0) { @@ -145143,7 +145163,7 @@ func preserveExpr(tls *libc.TLS, pTrans uintptr, pExpr uintptr) { /* sqlite3.c:1 // // If pExpr matches, then transform it into a reference to the index column // that contains the value of pExpr. -func whereIndexExprTransNode(tls *libc.TLS, p uintptr, pExpr uintptr) int32 { /* sqlite3.c:148663:12: */ +func whereIndexExprTransNode(tls *libc.TLS, p uintptr, pExpr uintptr) int32 { /* sqlite3.c:148677:12: */ var pX uintptr = *(*uintptr)(unsafe.Pointer(p + 40)) if Xsqlite3ExprCompare(tls, uintptr(0), pExpr, (*IdxExprTrans)(unsafe.Pointer(pX)).FpIdxExpr, (*IdxExprTrans)(unsafe.Pointer(pX)).FiTabCur) == 0 { preserveExpr(tls, pX, pExpr) @@ -145163,7 +145183,7 @@ func whereIndexExprTransNode(tls *libc.TLS, p uintptr, pExpr uintptr) int32 { /* // A walker node callback that translates a column reference to a table // into a corresponding column reference of an index. -func whereIndexExprTransColumn(tls *libc.TLS, p uintptr, pExpr uintptr) int32 { /* sqlite3.c:148685:12: */ +func whereIndexExprTransColumn(tls *libc.TLS, p uintptr, pExpr uintptr) int32 { /* sqlite3.c:148699:12: */ if int32((*Expr)(unsafe.Pointer(pExpr)).Fop) == TK_COLUMN { var pX uintptr = *(*uintptr)(unsafe.Pointer(p + 40)) if (*Expr)(unsafe.Pointer(pExpr)).FiTable == (*IdxExprTrans)(unsafe.Pointer(pX)).FiTabCur && int32((*Expr)(unsafe.Pointer(pExpr)).FiColumn) == (*IdxExprTrans)(unsafe.Pointer(pX)).FiTabCol { @@ -145185,7 +145205,7 @@ func whereIndexExprTransColumn(tls *libc.TLS, p uintptr, pExpr uintptr) int32 { // 2019-10-24: Updated to also translate references to a VIRTUAL column in // the table into references to the corresponding (stored) column of the // index. -func whereIndexExprTrans(tls *libc.TLS, pIdx uintptr, iTabCur int32, iIdxCur int32, pWInfo uintptr) { /* sqlite3.c:148710:13: */ +func whereIndexExprTrans(tls *libc.TLS, pIdx uintptr, iTabCur int32, iIdxCur int32, pWInfo uintptr) { /* sqlite3.c:148724:13: */ bp := tls.Alloc(88) defer tls.Free(88) @@ -145250,7 +145270,7 @@ func whereIndexExprTrans(tls *libc.TLS, pIdx uintptr, iTabCur int32, iIdxCur int // WHERE clause terms on the query, and if any of those terms must be // true because pTruth is true, then mark those WHERE clause terms as // coded. -func whereApplyPartialIndexConstraints(tls *libc.TLS, pTruth uintptr, iTabCur int32, pWC uintptr) { /* sqlite3.c:148774:13: */ +func whereApplyPartialIndexConstraints(tls *libc.TLS, pTruth uintptr, iTabCur int32, pWC uintptr) { /* sqlite3.c:148788:13: */ var i int32 var pTerm uintptr for int32((*Expr)(unsafe.Pointer(pTruth)).Fop) == TK_AND { @@ -145296,7 +145316,7 @@ __3: // WhereLevel.regFilter set. If an inner-loop Bloom filter is checked, // then clear the WhereLevel.regFilter value to prevent the Bloom filter // from being checked a second time when the inner loop is evaluated. -func filterPullDown(tls *libc.TLS, pParse uintptr, pWInfo uintptr, iLevel int32, addrNxt int32, notReady Bitmask) { /* sqlite3.c:148810:29: */ +func filterPullDown(tls *libc.TLS, pParse uintptr, pWInfo uintptr, iLevel int32, addrNxt int32, notReady Bitmask) { /* sqlite3.c:148824:29: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -145341,7 +145361,7 @@ func filterPullDown(tls *libc.TLS, pParse uintptr, pWInfo uintptr, iLevel int32, // Generate code for the start of the iLevel-th loop in the WHERE clause // implementation described by pWInfo. -func Xsqlite3WhereCodeOneLoopStart(tls *libc.TLS, pParse uintptr, v uintptr, pWInfo uintptr, iLevel int32, pLevel uintptr, notReady Bitmask) Bitmask { /* sqlite3.c:148858:24: */ +func Xsqlite3WhereCodeOneLoopStart(tls *libc.TLS, pParse uintptr, v uintptr, pWInfo uintptr, iLevel int32, pLevel uintptr, notReady Bitmask) Bitmask { /* sqlite3.c:148872:24: */ bp := tls.Alloc(96) defer tls.Free(96) @@ -146571,24 +146591,24 @@ var aStartOp = [8]U8{ U8(OP_SeekLT), // 5: (start_constraints && !startEq && bRev) U8(OP_SeekGE), // 6: (start_constraints && startEq && !bRev) U8(OP_SeekLE), // 7: (start_constraints && startEq && bRev) -} /* sqlite3.c:149238:21 */ +} /* sqlite3.c:149252:21 */ var aEndOp = [4]U8{ U8(OP_IdxGE), // 0: (end_constraints && !bRev && !endEq) U8(OP_IdxGT), // 1: (end_constraints && !bRev && endEq) U8(OP_IdxLE), // 2: (end_constraints && bRev && !endEq) U8(OP_IdxLT), // 3: (end_constraints && bRev && endEq) -} /* sqlite3.c:149248:21 */ -var aStep = [2]U8{U8(OP_Next), U8(OP_Prev)} /* sqlite3.c:149966:21 */ -var aStart = [2]U8{U8(OP_Rewind), U8(OP_Last)} /* sqlite3.c:149967:21 */ +} /* sqlite3.c:149262:21 */ +var aStep = [2]U8{U8(OP_Next), U8(OP_Prev)} /* sqlite3.c:149980:21 */ +var aStart = [2]U8{U8(OP_Rewind), U8(OP_Last)} /* sqlite3.c:149981:21 */ // Deallocate all memory associated with a WhereOrInfo object. -func whereOrInfoDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:150176:13: */ +func whereOrInfoDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:150190:13: */ Xsqlite3WhereClauseClear(tls, p) Xsqlite3DbFree(tls, db, p) } // Deallocate all memory associated with a WhereAndInfo object. -func whereAndInfoDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:150184:13: */ +func whereAndInfoDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:150198:13: */ Xsqlite3WhereClauseClear(tls, p) Xsqlite3DbFree(tls, db, p) } @@ -146610,7 +146630,7 @@ func whereAndInfoDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:150 // WhereTerms. All pointers to WhereTerms should be invalidated after // calling this routine. Such pointers may be reinitialized by referencing // the pWC->a[] array. -func whereClauseInsert(tls *libc.TLS, pWC uintptr, p uintptr, wtFlags U16) int32 { /* sqlite3.c:150208:12: */ +func whereClauseInsert(tls *libc.TLS, pWC uintptr, p uintptr, wtFlags U16) int32 { /* sqlite3.c:150222:12: */ var pTerm uintptr var idx int32 @@ -146651,14 +146671,14 @@ func whereClauseInsert(tls *libc.TLS, pWC uintptr, p uintptr, wtFlags U16) int32 // Return TRUE if the given operator is one of the operators that is // allowed for an indexable WHERE clause term. The allowed operators are // "=", "<", ">", "<=", ">=", "IN", "IS", and "IS NULL" -func allowedOp(tls *libc.TLS, op int32) int32 { /* sqlite3.c:150250:12: */ +func allowedOp(tls *libc.TLS, op int32) int32 { /* sqlite3.c:150264:12: */ return libc.Bool32(op == TK_IN || op >= TK_EQ && op <= TK_GE || op == TK_ISNULL || op == TK_IS) } // Commute a comparison operator. Expressions of the form "X op Y" // are converted into "Y op X". -func exprCommute(tls *libc.TLS, pParse uintptr, pExpr uintptr) U16 { /* sqlite3.c:150262:12: */ +func exprCommute(tls *libc.TLS, pParse uintptr, pExpr uintptr) U16 { /* sqlite3.c:150276:12: */ if int32((*Expr)(unsafe.Pointer((*Expr)(unsafe.Pointer(pExpr)).FpLeft)).Fop) == TK_VECTOR || int32((*Expr)(unsafe.Pointer((*Expr)(unsafe.Pointer(pExpr)).FpRight)).Fop) == TK_VECTOR || Xsqlite3BinaryCompareCollSeq(tls, pParse, (*Expr)(unsafe.Pointer(pExpr)).FpLeft, (*Expr)(unsafe.Pointer(pExpr)).FpRight) != Xsqlite3BinaryCompareCollSeq(tls, pParse, (*Expr)(unsafe.Pointer(pExpr)).FpRight, (*Expr)(unsafe.Pointer(pExpr)).FpLeft) { @@ -146678,7 +146698,7 @@ func exprCommute(tls *libc.TLS, pParse uintptr, pExpr uintptr) U16 { /* sqlite3. } // Translate from TK_xx operator to WO_xx bitmask. -func operatorMask(tls *libc.TLS, op int32) U16 { /* sqlite3.c:150285:12: */ +func operatorMask(tls *libc.TLS, op int32) U16 { /* sqlite3.c:150299:12: */ var c U16 if op == TK_IN { @@ -146705,7 +146725,7 @@ func operatorMask(tls *libc.TLS, op int32) U16 { /* sqlite3.c:150285:12: */ // that virtual tables cannot participate in the LIKE optimization.) The // collating sequence for the column on the LHS must be appropriate for // the operator. -func isLikeOrGlob(tls *libc.TLS, pParse uintptr, pExpr uintptr, ppPrefix uintptr, pisComplete uintptr, pnoCase uintptr) int32 { /* sqlite3.c:150323:12: */ +func isLikeOrGlob(tls *libc.TLS, pParse uintptr, pExpr uintptr, ppPrefix uintptr, pisComplete uintptr, pnoCase uintptr) int32 { /* sqlite3.c:150337:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -146877,7 +146897,7 @@ func isLikeOrGlob(tls *libc.TLS, pParse uintptr, pExpr uintptr, ppPrefix uintptr // of virtual table in forms (5) or (7) then return 2. // // If the expression matches none of the patterns above, return 0. -func isAuxiliaryVtabOperator(tls *libc.TLS, db uintptr, pExpr uintptr, peOp2 uintptr, ppLeft uintptr, ppRight uintptr) int32 { /* sqlite3.c:150502:12: */ +func isAuxiliaryVtabOperator(tls *libc.TLS, db uintptr, pExpr uintptr, peOp2 uintptr, ppLeft uintptr, ppRight uintptr) int32 { /* sqlite3.c:150516:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -146982,18 +147002,18 @@ type Op2 = struct { FzOp uintptr FeOp2 uint8 F__ccgo_pad1 [7]byte -} /* sqlite3.c:150510:18 */ +} /* sqlite3.c:150524:18 */ var aOp = [4]Op2{ {FzOp: ts + 16429, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_MATCH)}, {FzOp: ts + 15748, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_GLOB)}, {FzOp: ts + 15274, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_LIKE)}, {FzOp: ts + 22096, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_REGEXP)}, -} /* sqlite3.c:150513:7 */ +} /* sqlite3.c:150527:7 */ // If the pBase expression originated in the ON or USING clause of // a join, then transfer the appropriate markings over to derived. -func transferJoinMarkings(tls *libc.TLS, pDerived uintptr, pBase uintptr) { /* sqlite3.c:150614:13: */ +func transferJoinMarkings(tls *libc.TLS, pDerived uintptr, pBase uintptr) { /* sqlite3.c:150628:13: */ if pDerived != 0 { *(*U32)(unsafe.Pointer(pDerived + 4)) |= (*Expr)(unsafe.Pointer(pBase)).Fflags & U32(EP_FromJoin) *(*int32)(unsafe.Pointer(pDerived + 52)) = *(*int32)(unsafe.Pointer(pBase + 52)) @@ -147001,7 +147021,7 @@ func transferJoinMarkings(tls *libc.TLS, pDerived uintptr, pBase uintptr) { /* s } // Mark term iChild as being a child of term iParent -func markTermAsChild(tls *libc.TLS, pWC uintptr, iChild int32, iParent int32) { /* sqlite3.c:150624:13: */ +func markTermAsChild(tls *libc.TLS, pWC uintptr, iChild int32, iParent int32) { /* sqlite3.c:150638:13: */ (*WhereTerm)(unsafe.Pointer((*WhereClause)(unsafe.Pointer(pWC)).Fa + uintptr(iChild)*56)).FiParent = iParent (*WhereTerm)(unsafe.Pointer((*WhereClause)(unsafe.Pointer(pWC)).Fa + uintptr(iChild)*56)).FtruthProb = (*WhereTerm)(unsafe.Pointer((*WhereClause)(unsafe.Pointer(pWC)).Fa + uintptr(iParent)*56)).FtruthProb (*WhereTerm)(unsafe.Pointer((*WhereClause)(unsafe.Pointer(pWC)).Fa+uintptr(iParent)*56)).FnChild++ @@ -147010,7 +147030,7 @@ func markTermAsChild(tls *libc.TLS, pWC uintptr, iChild int32, iParent int32) { // Return the N-th AND-connected subterm of pTerm. Or if pTerm is not // a conjunction, then return just pTerm when N==0. If N is exceeds // the number of available subterms, return NULL. -func whereNthSubterm(tls *libc.TLS, pTerm uintptr, N int32) uintptr { /* sqlite3.c:150635:18: */ +func whereNthSubterm(tls *libc.TLS, pTerm uintptr, N int32) uintptr { /* sqlite3.c:150649:18: */ if int32((*WhereTerm)(unsafe.Pointer(pTerm)).FeOperator) != WO_AND { if N == 0 { return pTerm @@ -147041,7 +147061,7 @@ func whereNthSubterm(tls *libc.TLS, pTerm uintptr, N int32) uintptr { /* sqlite3 // The following is NOT generated: // // xy --> x!=y -func whereCombineDisjuncts(tls *libc.TLS, pSrc uintptr, pWC uintptr, pOne uintptr, pTwo uintptr) { /* sqlite3.c:150665:13: */ +func whereCombineDisjuncts(tls *libc.TLS, pSrc uintptr, pWC uintptr, pOne uintptr, pTwo uintptr) { /* sqlite3.c:150679:13: */ var eOp U16 = U16(int32((*WhereTerm)(unsafe.Pointer(pOne)).FeOperator) | int32((*WhereTerm)(unsafe.Pointer(pTwo)).FeOperator)) var db uintptr // Database connection (for malloc) var pNew uintptr // New virtual expression @@ -147174,7 +147194,7 @@ func whereCombineDisjuncts(tls *libc.TLS, pSrc uintptr, pWC uintptr, pOne uintpt // // If none of cases 1, 2, or 3 apply, then leave the eOperator set to // zero. This term is not useful for search. -func exprAnalyzeOrTerm(tls *libc.TLS, pSrc uintptr, pWC uintptr, idxTerm int32) { /* sqlite3.c:150792:13: */ +func exprAnalyzeOrTerm(tls *libc.TLS, pSrc uintptr, pWC uintptr, idxTerm int32) { /* sqlite3.c:150806:13: */ var pWInfo uintptr = (*WhereClause)(unsafe.Pointer(pWC)).FpWInfo // WHERE clause processing context var pParse uintptr = (*WhereInfo)(unsafe.Pointer(pWInfo)).FpParse // Parser context var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb // Database connection @@ -147493,7 +147513,7 @@ __3: // for the LHS anyplace else in the WHERE clause where the LHS column occurs. // This is an optimization. No harm comes from returning 0. But if 1 is // returned when it should not be, then incorrect answers might result. -func termIsEquivalence(tls *libc.TLS, pParse uintptr, pExpr uintptr) int32 { /* sqlite3.c:151066:12: */ +func termIsEquivalence(tls *libc.TLS, pParse uintptr, pExpr uintptr) int32 { /* sqlite3.c:151080:12: */ var aff1 int8 var aff2 int8 var pColl uintptr @@ -147522,7 +147542,7 @@ func termIsEquivalence(tls *libc.TLS, pParse uintptr, pExpr uintptr) int32 { /* // Recursively walk the expressions of a SELECT statement and generate // a bitmask indicating which tables are used in that expression // tree. -func exprSelectUsage(tls *libc.TLS, pMaskSet uintptr, pS uintptr) Bitmask { /* sqlite3.c:151089:16: */ +func exprSelectUsage(tls *libc.TLS, pMaskSet uintptr, pS uintptr) Bitmask { /* sqlite3.c:151103:16: */ var mask Bitmask = uint64(0) for pS != 0 { var pSrc uintptr = (*Select)(unsafe.Pointer(pS)).FpSrc @@ -147557,7 +147577,7 @@ func exprSelectUsage(tls *libc.TLS, pMaskSet uintptr, pS uintptr) Bitmask { /* s // If pExpr is a TK_COLUMN column reference, then this routine always returns // true even if that particular column is not indexed, because the column // might be added to an automatic index later. -func exprMightBeIndexed2(tls *libc.TLS, pFrom uintptr, mPrereq Bitmask, aiCurCol uintptr, pExpr uintptr) int32 { /* sqlite3.c:151126:28: */ +func exprMightBeIndexed2(tls *libc.TLS, pFrom uintptr, mPrereq Bitmask, aiCurCol uintptr, pExpr uintptr) int32 { /* sqlite3.c:151140:28: */ var pIdx uintptr var i int32 var iCur int32 @@ -147595,7 +147615,7 @@ __3: return 0 } -func exprMightBeIndexed(tls *libc.TLS, pFrom uintptr, mPrereq Bitmask, aiCurCol uintptr, pExpr uintptr, op int32) int32 { /* sqlite3.c:151150:12: */ +func exprMightBeIndexed(tls *libc.TLS, pFrom uintptr, mPrereq Bitmask, aiCurCol uintptr, pExpr uintptr, op int32) int32 { /* sqlite3.c:151164:12: */ // If this expression is a vector to the left or right of a // inequality constraint (>, <, >= or <=), perform the processing // on the first element of the vector. @@ -147636,7 +147656,7 @@ func exprMightBeIndexed(tls *libc.TLS, pFrom uintptr, mPrereq Bitmask, aiCurCol // needs to be freed with the WhereClause) and TERM_VIRTUAL (because it // is a commuted copy of a prior term.) The original term has nChild=1 // and the copy has idxParent set to the index of the original term. -func exprAnalyze(tls *libc.TLS, pSrc uintptr, pWC uintptr, idxTerm int32) { /* sqlite3.c:151198:13: */ +func exprAnalyze(tls *libc.TLS, pSrc uintptr, pWC uintptr, idxTerm int32) { /* sqlite3.c:151212:13: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -148004,7 +148024,7 @@ func exprAnalyze(tls *libc.TLS, pSrc uintptr, pWC uintptr, idxTerm int32) { /* s *(*Bitmask)(unsafe.Pointer(pTerm + 40)) |= extraRight } -var ops = [2]U8{U8(TK_GE), U8(TK_LE)} /* sqlite3.c:151367:21 */ +var ops = [2]U8{U8(TK_GE), U8(TK_LE)} /* sqlite3.c:151381:21 */ // ************************************************************************** // @@ -148027,7 +148047,7 @@ var ops = [2]U8{U8(TK_GE), U8(TK_LE)} /* sqlite3.c:151367:21 */ // In the previous sentence and in the diagram, "slot[]" refers to // the WhereClause.a[] array. The slot[] array grows as needed to contain // all terms of the WHERE clause. -func Xsqlite3WhereSplit(tls *libc.TLS, pWC uintptr, pExpr uintptr, op U8) { /* sqlite3.c:151663:21: */ +func Xsqlite3WhereSplit(tls *libc.TLS, pWC uintptr, pExpr uintptr, op U8) { /* sqlite3.c:151677:21: */ var pE2 uintptr = Xsqlite3ExprSkipCollateAndLikely(tls, pExpr) (*WhereClause)(unsafe.Pointer(pWC)).Fop = op @@ -148051,7 +148071,7 @@ func Xsqlite3WhereSplit(tls *libc.TLS, pWC uintptr, pExpr uintptr, op U8) { /* s // (example: "LIMIT 5 OFFSET 10") then the expression codes as a // TK_INTEGER so that it will be available to sqlite3_vtab_rhs_value(). // If not, then it codes as a TK_REGISTER expression. -func whereAddLimitExpr(tls *libc.TLS, pWC uintptr, iReg int32, pExpr uintptr, iCsr int32, eMatchOp int32) { /* sqlite3.c:151687:13: */ +func whereAddLimitExpr(tls *libc.TLS, pWC uintptr, iReg int32, pExpr uintptr, iCsr int32, eMatchOp int32) { /* sqlite3.c:151701:13: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -148103,7 +148123,7 @@ func whereAddLimitExpr(tls *libc.TLS, pWC uintptr, iReg int32, pExpr uintptr, iC // LIMIT and OFFSET terms are ignored by most of the planner code. They // exist only so that they may be passed to the xBestIndex method of the // single virtual table in the FROM clause of the SELECT. -func Xsqlite3WhereAddLimit(tls *libc.TLS, pWC uintptr, p uintptr) { /* sqlite3.c:151740:21: */ +func Xsqlite3WhereAddLimit(tls *libc.TLS, pWC uintptr, p uintptr) { /* sqlite3.c:151754:21: */ if p != 0 && (*Select)(unsafe.Pointer(p)).FpLimit != 0 && (*Select)(unsafe.Pointer(p)).FselFlags&U32(SF_Distinct|SF_Aggregate) == U32(0) && @@ -148153,7 +148173,7 @@ func Xsqlite3WhereAddLimit(tls *libc.TLS, pWC uintptr, p uintptr) { /* sqlite3.c } // Initialize a preallocated WhereClause structure. -func Xsqlite3WhereClauseInit(tls *libc.TLS, pWC uintptr, pWInfo uintptr) { /* sqlite3.c:151786:21: */ +func Xsqlite3WhereClauseInit(tls *libc.TLS, pWC uintptr, pWInfo uintptr) { /* sqlite3.c:151800:21: */ (*WhereClause)(unsafe.Pointer(pWC)).FpWInfo = pWInfo (*WhereClause)(unsafe.Pointer(pWC)).FhasOr = U8(0) (*WhereClause)(unsafe.Pointer(pWC)).FpOuter = uintptr(0) @@ -148166,7 +148186,7 @@ func Xsqlite3WhereClauseInit(tls *libc.TLS, pWC uintptr, pWInfo uintptr) { /* sq // Deallocate a WhereClause structure. The WhereClause structure // itself is not freed. This routine is the inverse of // sqlite3WhereClauseInit(). -func Xsqlite3WhereClauseClear(tls *libc.TLS, pWC uintptr) { /* sqlite3.c:151804:21: */ +func Xsqlite3WhereClauseClear(tls *libc.TLS, pWC uintptr) { /* sqlite3.c:151818:21: */ var db uintptr = (*Parse)(unsafe.Pointer((*WhereInfo)(unsafe.Pointer((*WhereClause)(unsafe.Pointer(pWC)).FpWInfo)).FpParse)).Fdb if (*WhereClause)(unsafe.Pointer(pWC)).FnTerm > 0 { @@ -148226,7 +148246,7 @@ func Xsqlite3WhereClauseClear(tls *libc.TLS, pWC uintptr) { /* sqlite3.c:151804: // computations done by this routine are broken out into a separate // "no-inline" function to avoid the stack push overhead in the // common case where it is not needed. -func sqlite3WhereExprUsageFull(tls *libc.TLS, pMaskSet uintptr, p uintptr) Bitmask { /* sqlite3.c:151872:32: */ +func sqlite3WhereExprUsageFull(tls *libc.TLS, pMaskSet uintptr, p uintptr) Bitmask { /* sqlite3.c:151886:32: */ var mask Bitmask if int32((*Expr)(unsafe.Pointer(p)).Fop) == TK_IF_NULL_ROW { mask = Xsqlite3WhereGetMask(tls, pMaskSet, (*Expr)(unsafe.Pointer(p)).FiTable) @@ -148256,7 +148276,7 @@ func sqlite3WhereExprUsageFull(tls *libc.TLS, pMaskSet uintptr, p uintptr) Bitma return mask } -func Xsqlite3WhereExprUsageNN(tls *libc.TLS, pMaskSet uintptr, p uintptr) Bitmask { /* sqlite3.c:151898:24: */ +func Xsqlite3WhereExprUsageNN(tls *libc.TLS, pMaskSet uintptr, p uintptr) Bitmask { /* sqlite3.c:151912:24: */ if int32((*Expr)(unsafe.Pointer(p)).Fop) == TK_COLUMN && !((*Expr)(unsafe.Pointer(p)).Fflags&U32(EP_FixedCol) != U32(0)) { return Xsqlite3WhereGetMask(tls, pMaskSet, (*Expr)(unsafe.Pointer(p)).FiTable) } else if (*Expr)(unsafe.Pointer(p)).Fflags&U32(EP_TokenOnly|EP_Leaf) != U32(0) { @@ -148266,14 +148286,14 @@ func Xsqlite3WhereExprUsageNN(tls *libc.TLS, pMaskSet uintptr, p uintptr) Bitmas return sqlite3WhereExprUsageFull(tls, pMaskSet, p) } -func Xsqlite3WhereExprUsage(tls *libc.TLS, pMaskSet uintptr, p uintptr) Bitmask { /* sqlite3.c:151907:24: */ +func Xsqlite3WhereExprUsage(tls *libc.TLS, pMaskSet uintptr, p uintptr) Bitmask { /* sqlite3.c:151921:24: */ if p != 0 { return Xsqlite3WhereExprUsageNN(tls, pMaskSet, p) } return uint64(0) } -func Xsqlite3WhereExprListUsage(tls *libc.TLS, pMaskSet uintptr, pList uintptr) Bitmask { /* sqlite3.c:151910:24: */ +func Xsqlite3WhereExprListUsage(tls *libc.TLS, pMaskSet uintptr, pList uintptr) Bitmask { /* sqlite3.c:151924:24: */ var i int32 var mask Bitmask = uint64(0) if pList != 0 { @@ -148290,7 +148310,7 @@ func Xsqlite3WhereExprListUsage(tls *libc.TLS, pMaskSet uintptr, pList uintptr) // end of the WHERE clause. We do not want to analyze these new // virtual terms, so start analyzing at the end and work forward // so that the added virtual terms are never processed. -func Xsqlite3WhereExprAnalyze(tls *libc.TLS, pTabList uintptr, pWC uintptr) { /* sqlite3.c:151930:21: */ +func Xsqlite3WhereExprAnalyze(tls *libc.TLS, pTabList uintptr, pWC uintptr) { /* sqlite3.c:151944:21: */ var i int32 for i = (*WhereClause)(unsafe.Pointer(pWC)).FnTerm - 1; i >= 0; i-- { exprAnalyze(tls, pTabList, pWC, i) @@ -148302,7 +148322,7 @@ func Xsqlite3WhereExprAnalyze(tls *libc.TLS, pTabList uintptr, pWC uintptr) { /* // // Each function argument translates into an equality constraint against // a HIDDEN column in the table. -func Xsqlite3WhereTabFuncArgs(tls *libc.TLS, pParse uintptr, pItem uintptr, pWC uintptr) { /* sqlite3.c:151947:21: */ +func Xsqlite3WhereTabFuncArgs(tls *libc.TLS, pParse uintptr, pItem uintptr, pWC uintptr) { /* sqlite3.c:151961:21: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -148386,7 +148406,7 @@ type HiddenIndexInfo1 = struct { FmHandleIn U32 F__ccgo_pad1 [4]byte FaRhs [1]uintptr -} /* sqlite3.c:152019:9 */ +} /* sqlite3.c:152033:9 */ //************* End of whereexpr.c ****************************************** //************* Begin file where.c ****************************************** @@ -148416,16 +148436,16 @@ type HiddenIndexInfo1 = struct { // This object is not an API and can be changed from one release to the // next. As long as allocateIndexInfo() and sqlite3_vtab_collation() // agree on the structure, all will be well. -type HiddenIndexInfo = HiddenIndexInfo1 /* sqlite3.c:152019:32 */ +type HiddenIndexInfo = HiddenIndexInfo1 /* sqlite3.c:152033:32 */ // Return the estimated number of output rows from a WHERE clause -func Xsqlite3WhereOutputRowCount(tls *libc.TLS, pWInfo uintptr) LogEst { /* sqlite3.c:152037:23: */ +func Xsqlite3WhereOutputRowCount(tls *libc.TLS, pWInfo uintptr) LogEst { /* sqlite3.c:152051:23: */ return (*WhereInfo)(unsafe.Pointer(pWInfo)).FnRowOut } // Return one of the WHERE_DISTINCT_xxxxx values to indicate how this // WHERE clause returns outputs for DISTINCT processing. -func Xsqlite3WhereIsDistinct(tls *libc.TLS, pWInfo uintptr) int32 { /* sqlite3.c:152045:20: */ +func Xsqlite3WhereIsDistinct(tls *libc.TLS, pWInfo uintptr) int32 { /* sqlite3.c:152059:20: */ return int32((*WhereInfo)(unsafe.Pointer(pWInfo)).FeDistinct) } @@ -148435,7 +148455,7 @@ func Xsqlite3WhereIsDistinct(tls *libc.TLS, pWInfo uintptr) int32 { /* sqlite3.c // terms means that no sorting is needed at all. A return that // is positive but less than the number of ORDER BY terms means that // block sorting is required. -func Xsqlite3WhereIsOrdered(tls *libc.TLS, pWInfo uintptr) int32 { /* sqlite3.c:152057:20: */ +func Xsqlite3WhereIsOrdered(tls *libc.TLS, pWInfo uintptr) int32 { /* sqlite3.c:152071:20: */ return int32((*WhereInfo)(unsafe.Pointer(pWInfo)).FnOBSat) } @@ -148460,7 +148480,7 @@ func Xsqlite3WhereIsOrdered(tls *libc.TLS, pWInfo uintptr) int32 { /* sqlite3.c: // Returning the continuation the second inner loop is an optimization // that might make the code run a little faster, but should not change // the final answer. -func Xsqlite3WhereOrderByLimitOptLabel(tls *libc.TLS, pWInfo uintptr) int32 { /* sqlite3.c:152084:20: */ +func Xsqlite3WhereOrderByLimitOptLabel(tls *libc.TLS, pWInfo uintptr) int32 { /* sqlite3.c:152098:20: */ var pInner uintptr if !(int32(*(*uint8)(unsafe.Pointer(pWInfo + 76))&0x4>>2) != 0) { // The ORDER BY LIMIT optimization does not apply. Jump to the @@ -148481,7 +148501,7 @@ func Xsqlite3WhereOrderByLimitOptLabel(tls *libc.TLS, pWInfo uintptr) int32 { /* // Any extra OP_Goto that is coded here is an optimization. The // correct answer should be obtained regardless. This OP_Goto just // makes the answer appear faster. -func Xsqlite3WhereMinMaxOptEarlyOut(tls *libc.TLS, v uintptr, pWInfo uintptr) { /* sqlite3.c:152107:21: */ +func Xsqlite3WhereMinMaxOptEarlyOut(tls *libc.TLS, v uintptr, pWInfo uintptr) { /* sqlite3.c:152121:21: */ var pInner uintptr var i int32 if !(int32(*(*uint8)(unsafe.Pointer(pWInfo + 76))&0x4>>2) != 0) { @@ -148502,14 +148522,14 @@ func Xsqlite3WhereMinMaxOptEarlyOut(tls *libc.TLS, v uintptr, pWInfo uintptr) { // Return the VDBE address or label to jump to in order to continue // immediately with the next row of a WHERE clause. -func Xsqlite3WhereContinueLabel(tls *libc.TLS, pWInfo uintptr) int32 { /* sqlite3.c:152126:20: */ +func Xsqlite3WhereContinueLabel(tls *libc.TLS, pWInfo uintptr) int32 { /* sqlite3.c:152140:20: */ return (*WhereInfo)(unsafe.Pointer(pWInfo)).FiContinue } // Return the VDBE address or label to jump to in order to break // out of a WHERE loop. -func Xsqlite3WhereBreakLabel(tls *libc.TLS, pWInfo uintptr) int32 { /* sqlite3.c:152135:20: */ +func Xsqlite3WhereBreakLabel(tls *libc.TLS, pWInfo uintptr) int32 { /* sqlite3.c:152149:20: */ return (*WhereInfo)(unsafe.Pointer(pWInfo)).FiBreak } @@ -148528,19 +148548,19 @@ func Xsqlite3WhereBreakLabel(tls *libc.TLS, pWInfo uintptr) int32 { /* sqlite3.c // // aiCur[0] and aiCur[1] both get -1 if the where-clause logic is // unable to use the ONEPASS optimization. -func Xsqlite3WhereOkOnePass(tls *libc.TLS, pWInfo uintptr, aiCur uintptr) int32 { /* sqlite3.c:152156:20: */ +func Xsqlite3WhereOkOnePass(tls *libc.TLS, pWInfo uintptr, aiCur uintptr) int32 { /* sqlite3.c:152170:20: */ libc.X__builtin___memcpy_chk(tls, aiCur, pWInfo+48, uint64(unsafe.Sizeof(int32(0)))*uint64(2), libc.X__builtin_object_size(tls, aiCur, 0)) return int32((*WhereInfo)(unsafe.Pointer(pWInfo)).FeOnePass) } // Return TRUE if the WHERE loop uses the OP_DeferredSeek opcode to move // the data cursor to the row selected by the index cursor. -func Xsqlite3WhereUsesDeferredSeek(tls *libc.TLS, pWInfo uintptr) int32 { /* sqlite3.c:152172:20: */ +func Xsqlite3WhereUsesDeferredSeek(tls *libc.TLS, pWInfo uintptr) int32 { /* sqlite3.c:152186:20: */ return int32(*(*uint8)(unsafe.Pointer(pWInfo + 76)) & 0x1 >> 0) } // Move the content of pSrc into pDest -func whereOrMove(tls *libc.TLS, pDest uintptr, pSrc uintptr) { /* sqlite3.c:152179:13: */ +func whereOrMove(tls *libc.TLS, pDest uintptr, pSrc uintptr) { /* sqlite3.c:152193:13: */ (*WhereOrSet)(unsafe.Pointer(pDest)).Fn = (*WhereOrSet)(unsafe.Pointer(pSrc)).Fn libc.X__builtin___memcpy_chk(tls, pDest+8, pSrc+8, uint64((*WhereOrSet)(unsafe.Pointer(pDest)).Fn)*uint64(unsafe.Sizeof(WhereOrCost{})), libc.X__builtin_object_size(tls, pDest+8, 0)) } @@ -148550,7 +148570,7 @@ func whereOrMove(tls *libc.TLS, pDest uintptr, pSrc uintptr) { /* sqlite3.c:1521 // The new entry might overwrite an existing entry, or it might be // appended, or it might be discarded. Do whatever is the right thing // so that pSet keeps the N_OR_COST best entries seen so far. -func whereOrInsert(tls *libc.TLS, pSet uintptr, prereq Bitmask, rRun LogEst, nOut LogEst) int32 { /* sqlite3.c:152191:12: */ +func whereOrInsert(tls *libc.TLS, pSet uintptr, prereq Bitmask, rRun LogEst, nOut LogEst) int32 { /* sqlite3.c:152205:12: */ var i U16 var p uintptr i = (*WhereOrSet)(unsafe.Pointer(pSet)).Fn @@ -148627,7 +148647,7 @@ __13: // Return the bitmask for the given cursor number. Return 0 if // iCursor is not in the set. -func Xsqlite3WhereGetMask(tls *libc.TLS, pMaskSet uintptr, iCursor int32) Bitmask { /* sqlite3.c:152228:24: */ +func Xsqlite3WhereGetMask(tls *libc.TLS, pMaskSet uintptr, iCursor int32) Bitmask { /* sqlite3.c:152242:24: */ var i int32 if *(*int32)(unsafe.Pointer(pMaskSet + 8)) == iCursor { @@ -148647,14 +148667,14 @@ func Xsqlite3WhereGetMask(tls *libc.TLS, pMaskSet uintptr, iCursor int32) Bitmas // tables in the FROM clause is limited by a test early in the // sqlite3WhereBegin() routine. So we know that the pMaskSet->ix[] // array will never overflow. -func createMask(tls *libc.TLS, pMaskSet uintptr, iCursor int32) { /* sqlite3.c:152252:13: */ +func createMask(tls *libc.TLS, pMaskSet uintptr, iCursor int32) { /* sqlite3.c:152266:13: */ *(*int32)(unsafe.Pointer(pMaskSet + 8 + uintptr(libc.PostIncInt32(&(*WhereMaskSet)(unsafe.Pointer(pMaskSet)).Fn, 1))*4)) = iCursor } // If the right-hand branch of the expression is a TK_COLUMN, then return // a pointer to the right-hand branch. Otherwise, return NULL. -func whereRightSubexprIsColumn(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:152261:13: */ +func whereRightSubexprIsColumn(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:152275:13: */ p = Xsqlite3ExprSkipCollateAndLikely(tls, (*Expr)(unsafe.Pointer(p)).FpRight) if p != uintptr(0) && int32((*Expr)(unsafe.Pointer(p)).Fop) == TK_COLUMN && !((*Expr)(unsafe.Pointer(p)).Fflags&U32(EP_FixedCol) != U32(0)) { return p @@ -148665,7 +148685,7 @@ func whereRightSubexprIsColumn(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c: // Advance to the next WhereTerm that matches according to the criteria // established when the pScan object was initialized by whereScanInit(). // Return NULL if there are no more matching WhereTerms. -func whereScanNext(tls *libc.TLS, pScan uintptr) uintptr { /* sqlite3.c:152274:18: */ +func whereScanNext(tls *libc.TLS, pScan uintptr) uintptr { /* sqlite3.c:152288:18: */ var iCur int32 // The cursor on the LHS of the term var iColumn I16 // The column on the LHS of the term. -1 for IPK var pX uintptr // An expression being tested @@ -148769,7 +148789,7 @@ func whereScanNext(tls *libc.TLS, pScan uintptr) uintptr { /* sqlite3.c:152274:1 // It is factored out into a separate tail-recursion subroutine so that // the normal whereScanInit() routine, which is a high-runner, does not // need to push registers onto the stack as part of its prologue. -func whereScanInitIndexExpr(tls *libc.TLS, pScan uintptr) uintptr { /* sqlite3.c:152376:34: */ +func whereScanInitIndexExpr(tls *libc.TLS, pScan uintptr) uintptr { /* sqlite3.c:152390:34: */ (*WhereScan)(unsafe.Pointer(pScan)).Fidxaff = Xsqlite3ExprAffinity(tls, (*WhereScan)(unsafe.Pointer(pScan)).FpIdxExpr) return whereScanNext(tls, pScan) } @@ -148791,7 +148811,7 @@ func whereScanInitIndexExpr(tls *libc.TLS, pScan uintptr) uintptr { /* sqlite3.c // // If X is not the INTEGER PRIMARY KEY then X must be compatible with // index pIdx. -func whereScanInit(tls *libc.TLS, pScan uintptr, pWC uintptr, iCur int32, iColumn int32, opMask U32, pIdx uintptr) uintptr { /* sqlite3.c:152400:18: */ +func whereScanInit(tls *libc.TLS, pScan uintptr, pWC uintptr, iCur int32, iColumn int32, opMask U32, pIdx uintptr) uintptr { /* sqlite3.c:152414:18: */ (*WhereScan)(unsafe.Pointer(pScan)).FpOrigWC = pWC (*WhereScan)(unsafe.Pointer(pScan)).FpWC = pWC (*WhereScan)(unsafe.Pointer(pScan)).FpIdxExpr = uintptr(0) @@ -148846,7 +148866,7 @@ func whereScanInit(tls *libc.TLS, pScan uintptr, pWC uintptr, iCur int32, iColum // the form "X Y" where Y is a column in another table if no terms of // the form "X " exist. If no terms with a constant RHS // exist, try to return a term that does not use WO_EQUIV. -func Xsqlite3WhereFindTerm(tls *libc.TLS, pWC uintptr, iCur int32, iColumn int32, notReady Bitmask, op U32, pIdx uintptr) uintptr { /* sqlite3.c:152464:26: */ +func Xsqlite3WhereFindTerm(tls *libc.TLS, pWC uintptr, iCur int32, iColumn int32, notReady Bitmask, op U32, pIdx uintptr) uintptr { /* sqlite3.c:152478:26: */ bp := tls.Alloc(112) defer tls.Free(112) @@ -148876,7 +148896,7 @@ func Xsqlite3WhereFindTerm(tls *libc.TLS, pWC uintptr, iCur int32, iColumn int32 // // If such an expression is found, its index in pList->a[] is returned. If // no expression is found, -1 is returned. -func findIndexCol(tls *libc.TLS, pParse uintptr, pList uintptr, iBase int32, pIdx uintptr, iCol int32) int32 { /* sqlite3.c:152498:12: */ +func findIndexCol(tls *libc.TLS, pParse uintptr, pList uintptr, iBase int32, pIdx uintptr, iCol int32) int32 { /* sqlite3.c:152512:12: */ var i int32 var zColl uintptr = *(*uintptr)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FazColl + uintptr(iCol)*8)) @@ -148897,7 +148917,7 @@ func findIndexCol(tls *libc.TLS, pParse uintptr, pList uintptr, iBase int32, pId } // Return TRUE if the iCol-th column of index pIdx is NOT NULL -func indexColumnNotNull(tls *libc.TLS, pIdx uintptr, iCol int32) int32 { /* sqlite3.c:152528:12: */ +func indexColumnNotNull(tls *libc.TLS, pIdx uintptr, iCol int32) int32 { /* sqlite3.c:152542:12: */ var j int32 j = int32(*(*I16)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FaiColumn + uintptr(iCol)*2))) @@ -148918,7 +148938,7 @@ func indexColumnNotNull(tls *libc.TLS, pIdx uintptr, iCol int32) int32 { /* sqli // // A DISTINCT list is redundant if any subset of the columns in the // DISTINCT list are collectively unique and individually non-null. -func isDistinctRedundant(tls *libc.TLS, pParse uintptr, pTabList uintptr, pWC uintptr, pDistinct uintptr) int32 { /* sqlite3.c:152551:12: */ +func isDistinctRedundant(tls *libc.TLS, pParse uintptr, pTabList uintptr, pWC uintptr, pDistinct uintptr) int32 { /* sqlite3.c:152565:12: */ var pTab uintptr var pIdx uintptr var i int32 @@ -148988,7 +149008,7 @@ func isDistinctRedundant(tls *libc.TLS, pParse uintptr, pTabList uintptr, pWC ui } // Estimate the logarithm of the input value to base 2. -func estLog(tls *libc.TLS, N LogEst) LogEst { /* sqlite3.c:152615:15: */ +func estLog(tls *libc.TLS, N LogEst) LogEst { /* sqlite3.c:152629:15: */ if int32(N) <= 10 { return int16(0) } @@ -149005,7 +149025,7 @@ func estLog(tls *libc.TLS, N LogEst) LogEst { /* sqlite3.c:152615:15: */ // cursor iTabCur are transformed into OP_Sequence opcode for the // iAutoidxCur cursor, in order to generate unique rowids for the // automatic index being generated. -func translateColumnToCopy(tls *libc.TLS, pParse uintptr, iStart int32, iTabCur int32, iRegister int32, iAutoidxCur int32) { /* sqlite3.c:152631:13: */ +func translateColumnToCopy(tls *libc.TLS, pParse uintptr, iStart int32, iTabCur int32, iRegister int32, iAutoidxCur int32) { /* sqlite3.c:152645:13: */ var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe var pOp uintptr = Xsqlite3VdbeGetOp(tls, v, iStart) var iEnd int32 = Xsqlite3VdbeCurrentAddr(tls, v) @@ -149048,7 +149068,7 @@ __3: // Return TRUE if the WHERE clause term pTerm is of a form where it // could be used with an index to access pSrc, assuming an appropriate // index existed. -func termCanDriveIndex(tls *libc.TLS, pTerm uintptr, pSrc uintptr, notReady Bitmask) int32 { /* sqlite3.c:152715:12: */ +func termCanDriveIndex(tls *libc.TLS, pTerm uintptr, pSrc uintptr, notReady Bitmask) int32 { /* sqlite3.c:152729:12: */ var aff int8 if (*WhereTerm)(unsafe.Pointer(pTerm)).FleftCursor != (*SrcItem)(unsafe.Pointer(pSrc)).FiCursor { return 0 @@ -149082,7 +149102,7 @@ func termCanDriveIndex(tls *libc.TLS, pTerm uintptr, pSrc uintptr, notReady Bitm // Generate code to construct the Index object for an automatic index // and to set up the WhereLevel object pLevel so that the code generator // makes use of the automatic index. -func constructAutomaticIndex(tls *libc.TLS, pParse uintptr, pWC uintptr, pSrc uintptr, notReady Bitmask, pLevel uintptr) { /* sqlite3.c:152749:29: */ +func constructAutomaticIndex(tls *libc.TLS, pParse uintptr, pWC uintptr, pSrc uintptr, notReady Bitmask, pLevel uintptr) { /* sqlite3.c:152763:29: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -149440,7 +149460,7 @@ end_auto_index_create: // This routine may only be called if it has previously been determined that // the loop would benefit from a Bloom filter, and the WHERE_BLOOMFILTER bit // is set. -func sqlite3ConstructBloomFilter(tls *libc.TLS, pWInfo uintptr, iLevel int32, pLevel uintptr, notReady Bitmask) { /* sqlite3.c:152984:29: */ +func sqlite3ConstructBloomFilter(tls *libc.TLS, pWInfo uintptr, iLevel int32, pLevel uintptr, notReady Bitmask) { /* sqlite3.c:152998:29: */ var addrOnce int32 // Address of opening OP_Once var addrTop int32 // Address of OP_Rewind var addrCont int32 // Jump here to skip a row @@ -149545,7 +149565,7 @@ func sqlite3ConstructBloomFilter(tls *libc.TLS, pWInfo uintptr, iLevel int32, pL // Allocate and populate an sqlite3_index_info structure. It is the // responsibility of the caller to eventually release the structure // by passing the pointer returned by this function to freeIndexInfo(). -func allocateIndexInfo(tls *libc.TLS, pWInfo uintptr, pWC uintptr, mUnusable Bitmask, pSrc uintptr, pmNoOmit uintptr) uintptr { /* sqlite3.c:153097:27: */ +func allocateIndexInfo(tls *libc.TLS, pWInfo uintptr, pWC uintptr, mUnusable Bitmask, pSrc uintptr, pmNoOmit uintptr) uintptr { /* sqlite3.c:153111:27: */ var i int32 var j int32 var nTerm int32 @@ -149771,7 +149791,7 @@ __6: // Free an sqlite3_index_info structure allocated by allocateIndexInfo() // and possibly modified by xBestIndex methods. -func freeIndexInfo(tls *libc.TLS, db uintptr, pIdxInfo uintptr) { /* sqlite3.c:153296:13: */ +func freeIndexInfo(tls *libc.TLS, db uintptr, pIdxInfo uintptr) { /* sqlite3.c:153310:13: */ var pHidden uintptr var i int32 @@ -149798,7 +149818,7 @@ func freeIndexInfo(tls *libc.TLS, db uintptr, pIdxInfo uintptr) { /* sqlite3.c:1 // Whether or not an error is returned, it is the responsibility of the // caller to eventually free p->idxStr if p->needToFreeIdxStr indicates // that this is required. -func vtabBestIndex(tls *libc.TLS, pParse uintptr, pTab uintptr, p uintptr) int32 { /* sqlite3.c:153326:12: */ +func vtabBestIndex(tls *libc.TLS, pParse uintptr, pTab uintptr, p uintptr) int32 { /* sqlite3.c:153340:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -149836,7 +149856,7 @@ func vtabBestIndex(tls *libc.TLS, pParse uintptr, pTab uintptr, p uintptr) int32 // into the aSample[] array - it is an index into a virtual set of samples // based on the contents of aSample[] and the number of fields in record // pRec. -func whereKeyStats(tls *libc.TLS, pParse uintptr, pIdx uintptr, pRec uintptr, roundUp int32, aStat uintptr) int32 { /* sqlite3.c:153365:12: */ +func whereKeyStats(tls *libc.TLS, pParse uintptr, pIdx uintptr, pRec uintptr, roundUp int32, aStat uintptr) int32 { /* sqlite3.c:153379:12: */ var aSample uintptr = (*Index)(unsafe.Pointer(pIdx)).FaSample var iCol int32 // Index of required stats in anEq[] etc. var i int32 // Index of first sample >= pRec @@ -149975,7 +149995,7 @@ func whereKeyStats(tls *libc.TLS, pParse uintptr, pIdx uintptr, pRec uintptr, ro // then the return value is the likelihood multiplied by the number of // input rows. Otherwise, this function assumes that an "IS NOT NULL" term // has a likelihood of 0.50, and any other term a likelihood of 0.25. -func whereRangeAdjust(tls *libc.TLS, pTerm uintptr, nNew LogEst) LogEst { /* sqlite3.c:153557:15: */ +func whereRangeAdjust(tls *libc.TLS, pTerm uintptr, nNew LogEst) LogEst { /* sqlite3.c:153571:15: */ var nRet LogEst = nNew if pTerm != 0 { if int32((*WhereTerm)(unsafe.Pointer(pTerm)).FtruthProb) <= 0 { @@ -149988,7 +150008,7 @@ func whereRangeAdjust(tls *libc.TLS, pTerm uintptr, nNew LogEst) LogEst { /* sql } // Return the affinity for a single column of an index. -func Xsqlite3IndexColumnAffinity(tls *libc.TLS, db uintptr, pIdx uintptr, iCol int32) int8 { /* sqlite3.c:153574:21: */ +func Xsqlite3IndexColumnAffinity(tls *libc.TLS, db uintptr, pIdx uintptr, iCol int32) int8 { /* sqlite3.c:153588:21: */ if !(int32((*Index)(unsafe.Pointer(pIdx)).FzColAff) != 0) { if Xsqlite3IndexAffinityStr(tls, db, pIdx) == uintptr(0) { @@ -150032,7 +150052,7 @@ func Xsqlite3IndexColumnAffinity(tls *libc.TLS, db uintptr, pIdx uintptr, iCol i // // If an error occurs, an SQLite error code is returned. Otherwise, // SQLITE_OK. -func whereRangeSkipScanEst(tls *libc.TLS, pParse uintptr, pLower uintptr, pUpper uintptr, pLoop uintptr, pbDone uintptr) int32 { /* sqlite3.c:153621:12: */ +func whereRangeSkipScanEst(tls *libc.TLS, pParse uintptr, pLower uintptr, pUpper uintptr, pLoop uintptr, pbDone uintptr) int32 { /* sqlite3.c:153635:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -150147,7 +150167,7 @@ func whereRangeSkipScanEst(tls *libc.TLS, pParse uintptr, pLower uintptr, pUpper // used, a single range inequality reduces the search space by a factor of 4. // and a pair of constraints (x>? AND x>0)) != 0 { Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(p + 24 + 16 /* &.idxStr */))) @@ -150455,7 +150475,7 @@ func whereLoopClearUnion(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:15 } // Deallocate internal memory used by a WhereLoop object -func whereLoopClear(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:154152:13: */ +func whereLoopClear(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:154166:13: */ if (*WhereLoop)(unsafe.Pointer(p)).FaLTerm != p+88 { Xsqlite3DbFreeNN(tls, db, (*WhereLoop)(unsafe.Pointer(p)).FaLTerm) } @@ -150464,7 +150484,7 @@ func whereLoopClear(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:154152: } // Increase the memory allocation for pLoop->aLTerm[] to be at least n. -func whereLoopResize(tls *libc.TLS, db uintptr, p uintptr, n int32) int32 { /* sqlite3.c:154161:12: */ +func whereLoopResize(tls *libc.TLS, db uintptr, p uintptr, n int32) int32 { /* sqlite3.c:154175:12: */ var paNew uintptr if int32((*WhereLoop)(unsafe.Pointer(p)).FnLSlot) >= n { return SQLITE_OK @@ -150484,7 +150504,7 @@ func whereLoopResize(tls *libc.TLS, db uintptr, p uintptr, n int32) int32 { /* s } // Transfer content from the second pLoop into the first. -func whereLoopXfer(tls *libc.TLS, db uintptr, pTo uintptr, pFrom uintptr) int32 { /* sqlite3.c:154177:12: */ +func whereLoopXfer(tls *libc.TLS, db uintptr, pTo uintptr, pFrom uintptr) int32 { /* sqlite3.c:154191:12: */ whereLoopClearUnion(tls, db, pTo) if whereLoopResize(tls, db, pTo, int32((*WhereLoop)(unsafe.Pointer(pFrom)).FnLTerm)) != 0 { libc.X__builtin___memset_chk(tls, pTo, 0, uint64(uintptr(0)+64), libc.X__builtin_object_size(tls, pTo, 0)) @@ -150501,13 +150521,13 @@ func whereLoopXfer(tls *libc.TLS, db uintptr, pTo uintptr, pFrom uintptr) int32 } // Delete a WhereLoop object -func whereLoopDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:154196:13: */ +func whereLoopDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:154210:13: */ whereLoopClear(tls, db, p) Xsqlite3DbFreeNN(tls, db, p) } // Free a WhereInfo structure -func whereInfoFree(tls *libc.TLS, db uintptr, pWInfo uintptr) { /* sqlite3.c:154204:13: */ +func whereInfoFree(tls *libc.TLS, db uintptr, pWInfo uintptr) { /* sqlite3.c:154218:13: */ var i int32 for i = 0; i < int32((*WhereInfo)(unsafe.Pointer(pWInfo)).FnLevel); i++ { @@ -150528,7 +150548,7 @@ func whereInfoFree(tls *libc.TLS, db uintptr, pWInfo uintptr) { /* sqlite3.c:154 } // Undo all Expr node modifications -func whereUndoExprMods(tls *libc.TLS, pWInfo uintptr) { /* sqlite3.c:154226:13: */ +func whereUndoExprMods(tls *libc.TLS, pWInfo uintptr) { /* sqlite3.c:154240:13: */ for (*WhereInfo)(unsafe.Pointer(pWInfo)).FpExprMods != 0 { var p uintptr = (*WhereInfo)(unsafe.Pointer(pWInfo)).FpExprMods (*WhereInfo)(unsafe.Pointer(pWInfo)).FpExprMods = (*WhereExprMod)(unsafe.Pointer(p)).FpNext @@ -150554,7 +150574,7 @@ func whereUndoExprMods(tls *libc.TLS, pWInfo uintptr) { /* sqlite3.c:154226:13: // deserve a lower cost even if it is a proper subset of Y. Constraint (5) // was added because a covering index probably deserves to have a lower cost // than a non-covering index even if it is a proper subset. -func whereLoopCheaperProperSubset(tls *libc.TLS, pX uintptr, pY uintptr) int32 { /* sqlite3.c:154254:12: */ +func whereLoopCheaperProperSubset(tls *libc.TLS, pX uintptr, pY uintptr) int32 { /* sqlite3.c:154268:12: */ var i int32 var j int32 if int32((*WhereLoop)(unsafe.Pointer(pX)).FnLTerm)-int32((*WhereLoop)(unsafe.Pointer(pX)).FnSkip) >= int32((*WhereLoop)(unsafe.Pointer(pY)).FnLTerm)-int32((*WhereLoop)(unsafe.Pointer(pY)).FnSkip) { @@ -150598,7 +150618,7 @@ func whereLoopCheaperProperSubset(tls *libc.TLS, pX uintptr, pY uintptr) int32 { // To say "WhereLoop X is a proper subset of Y" means that X uses fewer // WHERE clause terms than Y and that every WHERE clause term used by X is // also used by Y. -func whereLoopAdjustCost(tls *libc.TLS, p uintptr, pTemplate uintptr) { /* sqlite3.c:154292:13: */ +func whereLoopAdjustCost(tls *libc.TLS, p uintptr, pTemplate uintptr) { /* sqlite3.c:154306:13: */ if (*WhereLoop)(unsafe.Pointer(pTemplate)).FwsFlags&U32(WHERE_INDEXED) == U32(0) { return } @@ -150657,7 +150677,7 @@ func whereLoopAdjustCost(tls *libc.TLS, p uintptr, pTemplate uintptr) { /* sqlit // If pTemplate cannot replace any existing element of the list but needs // to be added to the list as a new entry, then return a pointer to the // tail of the list. -func whereLoopFindLesser(tls *libc.TLS, ppPrev uintptr, pTemplate uintptr) uintptr { /* sqlite3.c:154333:18: */ +func whereLoopFindLesser(tls *libc.TLS, ppPrev uintptr, pTemplate uintptr) uintptr { /* sqlite3.c:154347:18: */ var p uintptr p = *(*uintptr)(unsafe.Pointer(ppPrev)) __1: @@ -150746,7 +150766,7 @@ __3: // (2) They have the same iSortIdx. // (3) The template has same or fewer dependencies than the current loop // (4) The template has the same or lower cost than the current loop -func whereLoopInsert(tls *libc.TLS, pBuilder uintptr, pTemplate uintptr) int32 { /* sqlite3.c:154421:12: */ +func whereLoopInsert(tls *libc.TLS, pBuilder uintptr, pTemplate uintptr) int32 { /* sqlite3.c:154435:12: */ var ppPrev uintptr var p uintptr var pWInfo uintptr = (*WhereLoopBuilder)(unsafe.Pointer(pBuilder)).FpWInfo @@ -150853,7 +150873,7 @@ func whereLoopInsert(tls *libc.TLS, pBuilder uintptr, pTemplate uintptr) int32 { // "x" column is boolean or else -1 or 0 or 1 is a common default value // on the "x" column and so in that case only cap the output row estimate // at 1/2 instead of 1/4. -func whereLoopOutputAdjust(tls *libc.TLS, pWC uintptr, pLoop uintptr, nRow LogEst) { /* sqlite3.c:154558:13: */ +func whereLoopOutputAdjust(tls *libc.TLS, pWC uintptr, pLoop uintptr, nRow LogEst) { /* sqlite3.c:154572:13: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -150899,7 +150919,14 @@ __1: // that depend only on the table being scanned, and that will tend to // cause many rows to be omitted, then mark that table as // "self-culling". - *(*U32)(unsafe.Pointer(pLoop + 56)) |= U32(WHERE_SELFCULL) + // + // 2022-03-24: Self-culling only applies if either the extra terms + // are straight comparison operators that are non-true with NULL + // operand, or if the loop is not a LEFT JOIN. + if int32((*WhereTerm)(unsafe.Pointer(pTerm)).FeOperator)&0x3f != 0 || + int32((*SrcItem)(unsafe.Pointer((*WhereInfo)(unsafe.Pointer((*WhereClause)(unsafe.Pointer(pWC)).FpWInfo)).FpTabList+8+uintptr((*WhereLoop)(unsafe.Pointer(pLoop)).FiTab)*112)).Ffg.Fjointype)&JT_LEFT == 0 { + *(*U32)(unsafe.Pointer(pLoop + 56)) |= U32(WHERE_SELFCULL) + } } if int32((*WhereTerm)(unsafe.Pointer(pTerm)).FtruthProb) <= 0 { // If a truth probability is specified using the likelihood() hints, @@ -150956,7 +150983,7 @@ __3: // // then this function would be invoked with nEq=1. The value returned in // this case is 3. -func whereRangeVectorLen(tls *libc.TLS, pParse uintptr, iCur int32, pIdx uintptr, nEq int32, pTerm uintptr) int32 { /* sqlite3.c:154637:12: */ +func whereRangeVectorLen(tls *libc.TLS, pParse uintptr, iCur int32, pIdx uintptr, nEq int32, pTerm uintptr) int32 { /* sqlite3.c:154660:12: */ var nCmp int32 = Xsqlite3ExprVectorSize(tls, (*Expr)(unsafe.Pointer((*WhereTerm)(unsafe.Pointer(pTerm)).FpExpr)).FpLeft) var i int32 @@ -151024,7 +151051,7 @@ func whereRangeVectorLen(tls *libc.TLS, pParse uintptr, iCur int32, pIdx uintptr // // If pProbe->idxType==SQLITE_IDXTYPE_IPK, that means pIndex is // a fake index used for the INTEGER PRIMARY KEY. -func whereLoopAddBtreeIndex(tls *libc.TLS, pBuilder uintptr, pSrc uintptr, pProbe uintptr, nInMul LogEst) int32 { /* sqlite3.c:154711:12: */ +func whereLoopAddBtreeIndex(tls *libc.TLS, pBuilder uintptr, pSrc uintptr, pProbe uintptr, nInMul LogEst) int32 { /* sqlite3.c:154734:12: */ bp := tls.Alloc(116) defer tls.Free(116) @@ -151384,7 +151411,7 @@ func whereLoopAddBtreeIndex(tls *libc.TLS, pBuilder uintptr, pSrc uintptr, pProb // Return False if pBuilder does not contain an ORDER BY clause or // if there is no way for pIndex to be useful in implementing that // ORDER BY clause. -func indexMightHelpWithOrderBy(tls *libc.TLS, pBuilder uintptr, pIndex uintptr, iCursor int32) int32 { /* sqlite3.c:155111:12: */ +func indexMightHelpWithOrderBy(tls *libc.TLS, pBuilder uintptr, pIndex uintptr, iCursor int32) int32 { /* sqlite3.c:155134:12: */ var pOB uintptr var aColExpr uintptr var ii int32 @@ -151426,7 +151453,7 @@ func indexMightHelpWithOrderBy(tls *libc.TLS, pBuilder uintptr, pIndex uintptr, // Check to see if a partial index with pPartIndexWhere can be used // in the current query. Return true if it can be and false if not. -func whereUsablePartialIndex(tls *libc.TLS, iTab int32, isLeft int32, pWC uintptr, pWhere uintptr) int32 { /* sqlite3.c:155145:12: */ +func whereUsablePartialIndex(tls *libc.TLS, iTab int32, isLeft int32, pWC uintptr, pWhere uintptr) int32 { /* sqlite3.c:155168:12: */ var i int32 var pTerm uintptr var pParse uintptr = (*WhereInfo)(unsafe.Pointer((*WhereClause)(unsafe.Pointer(pWC)).FpWInfo)).FpParse @@ -151501,7 +151528,7 @@ __3: // bias the scoring in favor of using an index, since the worst-case // performance of using an index is far better than the worst-case performance // of a full table scan. -func whereLoopAddBtree(tls *libc.TLS, pBuilder uintptr, mPrereq Bitmask) int32 { /* sqlite3.c:155209:12: */ +func whereLoopAddBtree(tls *libc.TLS, pBuilder uintptr, mPrereq Bitmask) int32 { /* sqlite3.c:155232:12: */ bp := tls.Alloc(158) defer tls.Free(158) @@ -151786,7 +151813,7 @@ __3: } // Return true if pTerm is a virtual table LIMIT or OFFSET term. -func isLimitTerm(tls *libc.TLS, pTerm uintptr) int32 { /* sqlite3.c:155467:12: */ +func isLimitTerm(tls *libc.TLS, pTerm uintptr) int32 { /* sqlite3.c:155490:12: */ return libc.Bool32(int32((*WhereTerm)(unsafe.Pointer(pTerm)).FeMatchOp) >= SQLITE_INDEX_CONSTRAINT_LIMIT && int32((*WhereTerm)(unsafe.Pointer(pTerm)).FeMatchOp) <= SQLITE_INDEX_CONSTRAINT_OFFSET) @@ -151810,7 +151837,7 @@ func isLimitTerm(tls *libc.TLS, pTerm uintptr) int32 { /* sqlite3.c:155467:12: * // // Output parameter *pbIn is set to true if the plan added to pBuilder // uses one or more WO_IN terms, or false otherwise. -func whereLoopAddVirtualOne(tls *libc.TLS, pBuilder uintptr, mPrereq Bitmask, mUsable Bitmask, mExclude U16, pIdxInfo uintptr, mNoOmit U16, pbIn uintptr, pbRetryLimit uintptr) int32 { /* sqlite3.c:155493:12: */ +func whereLoopAddVirtualOne(tls *libc.TLS, pBuilder uintptr, mPrereq Bitmask, mUsable Bitmask, mExclude U16, pIdxInfo uintptr, mNoOmit U16, pbIn uintptr, pbRetryLimit uintptr) int32 { /* sqlite3.c:155516:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -152034,7 +152061,7 @@ __6: // 2. Else, if the column has an alternative collation, return that. // // 3. Otherwise, return "BINARY". -func Xsqlite3_vtab_collation(tls *libc.TLS, pIdxInfo uintptr, iCons int32) uintptr { /* sqlite3.c:155685:23: */ +func Xsqlite3_vtab_collation(tls *libc.TLS, pIdxInfo uintptr, iCons int32) uintptr { /* sqlite3.c:155708:23: */ var pHidden uintptr = pIdxInfo + 1*96 var zRet uintptr = uintptr(0) if iCons >= 0 && iCons < (*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FnConstraint { @@ -152057,7 +152084,7 @@ func Xsqlite3_vtab_collation(tls *libc.TLS, pIdxInfo uintptr, iCons int32) uintp // Return true if constraint iCons is really an IN(...) constraint, or // false otherwise. If iCons is an IN(...) constraint, set (if bHandle!=0) // or clear (if bHandle==0) the flag to handle it using an iterator. -func Xsqlite3_vtab_in(tls *libc.TLS, pIdxInfo uintptr, iCons int32, bHandle int32) int32 { /* sqlite3.c:155705:16: */ +func Xsqlite3_vtab_in(tls *libc.TLS, pIdxInfo uintptr, iCons int32, bHandle int32) int32 { /* sqlite3.c:155728:16: */ var pHidden uintptr = pIdxInfo + 1*96 var m U32 = func() uint32 { if iCons <= 31 { @@ -152080,7 +152107,7 @@ func Xsqlite3_vtab_in(tls *libc.TLS, pIdxInfo uintptr, iCons int32, bHandle int3 // // If possible, set (*ppVal) to point to an object containing the value // on the right-hand-side of constraint iCons. -func Xsqlite3_vtab_rhs_value(tls *libc.TLS, pIdxInfo uintptr, iCons int32, ppVal uintptr) int32 { /* sqlite3.c:155725:16: */ +func Xsqlite3_vtab_rhs_value(tls *libc.TLS, pIdxInfo uintptr, iCons int32, ppVal uintptr) int32 { /* sqlite3.c:155748:16: */ var pH uintptr = pIdxInfo + 1*96 var pVal uintptr = uintptr(0) var rc int32 = SQLITE_OK @@ -152106,7 +152133,7 @@ func Xsqlite3_vtab_rhs_value(tls *libc.TLS, pIdxInfo uintptr, iCons int32, ppVal } // Return true if ORDER BY clause may be handled as DISTINCT. -func Xsqlite3_vtab_distinct(tls *libc.TLS, pIdxInfo uintptr) int32 { /* sqlite3.c:155758:16: */ +func Xsqlite3_vtab_distinct(tls *libc.TLS, pIdxInfo uintptr) int32 { /* sqlite3.c:155781:16: */ var pHidden uintptr = pIdxInfo + 1*96 return (*HiddenIndexInfo)(unsafe.Pointer(pHidden)).FeDistinct @@ -152135,7 +152162,7 @@ func Xsqlite3_vtab_distinct(tls *libc.TLS, pIdxInfo uintptr) int32 { /* sqlite3. // Conversely, all tables in mUnusable must be scanned after the current // virtual table, so any terms for which the prerequisites overlap with // mUnusable should always be configured as "not-usable" for xBestIndex. -func whereLoopAddVirtual(tls *libc.TLS, pBuilder uintptr, mPrereq Bitmask, mUnusable Bitmask) int32 { /* sqlite3.c:155807:12: */ +func whereLoopAddVirtual(tls *libc.TLS, pBuilder uintptr, mPrereq Bitmask, mUnusable Bitmask) int32 { /* sqlite3.c:155830:12: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -152271,7 +152298,7 @@ func whereLoopAddVirtual(tls *libc.TLS, pBuilder uintptr, mPrereq Bitmask, mUnus // Add WhereLoop entries to handle OR terms. This works for either // btrees or virtual tables. -func whereLoopAddOr(tls *libc.TLS, pBuilder uintptr, mPrereq Bitmask, mUnusable Bitmask) int32 { /* sqlite3.c:155938:12: */ +func whereLoopAddOr(tls *libc.TLS, pBuilder uintptr, mPrereq Bitmask, mUnusable Bitmask) int32 { /* sqlite3.c:155961:12: */ bp := tls.Alloc(712) defer tls.Free(712) @@ -152396,7 +152423,7 @@ func whereLoopAddOr(tls *libc.TLS, pBuilder uintptr, mPrereq Bitmask, mUnusable } // Add all WhereLoop objects for all tables -func whereLoopAddAll(tls *libc.TLS, pBuilder uintptr) int32 { /* sqlite3.c:156064:12: */ +func whereLoopAddAll(tls *libc.TLS, pBuilder uintptr) int32 { /* sqlite3.c:156087:12: */ var pWInfo uintptr = (*WhereLoopBuilder)(unsafe.Pointer(pBuilder)).FpWInfo var mPrereq Bitmask = uint64(0) var mPrior Bitmask = uint64(0) @@ -152484,7 +152511,7 @@ __3: // as equivalent rows are grouped together. Thus for GROUP BY and DISTINCT // the pOrderBy terms can be matched in any order. With ORDER BY, the // pOrderBy terms must be matched in strict left-to-right order. -func wherePathSatisfiesOrderBy(tls *libc.TLS, pWInfo uintptr, pOrderBy uintptr, pPath uintptr, wctrlFlags U16, nLoop U16, pLast uintptr, pRevMask uintptr) I8 { /* sqlite3.c:156142:11: */ +func wherePathSatisfiesOrderBy(tls *libc.TLS, pWInfo uintptr, pOrderBy uintptr, pPath uintptr, wctrlFlags U16, nLoop U16, pLast uintptr, pRevMask uintptr) I8 { /* sqlite3.c:156165:11: */ var revSet U8 // True if rev is known var rev U8 // Composite sort order var revIdx U8 // Index sort order @@ -152852,7 +152879,7 @@ func wherePathSatisfiesOrderBy(tls *libc.TLS, pWInfo uintptr, pOrderBy uintptr, // // SELECT * FROM t1 GROUP BY x,y ORDER BY x,y; -- IsSorted()==1 // SELECT * FROM t1 GROUP BY y,x ORDER BY y,x; -- IsSorted()==0 -func Xsqlite3WhereIsSorted(tls *libc.TLS, pWInfo uintptr) int32 { /* sqlite3.c:156487:20: */ +func Xsqlite3WhereIsSorted(tls *libc.TLS, pWInfo uintptr) int32 { /* sqlite3.c:156510:20: */ return int32(*(*uint8)(unsafe.Pointer(pWInfo + 76)) & 0x8 >> 3) } @@ -152860,7 +152887,7 @@ func Xsqlite3WhereIsSorted(tls *libc.TLS, pWInfo uintptr) int32 { /* sqlite3.c:1 // Return the cost of sorting nRow rows, assuming that the keys have // nOrderby columns and that the first nSorted columns are already in // order. -func whereSortingCost(tls *libc.TLS, pWInfo uintptr, nRow LogEst, nOrderBy int32, nSorted int32) LogEst { /* sqlite3.c:156510:15: */ +func whereSortingCost(tls *libc.TLS, pWInfo uintptr, nRow LogEst, nOrderBy int32, nSorted int32) LogEst { /* sqlite3.c:156533:15: */ // TUNING: Estimated cost of a full external sort, where N is // the number of rows to sort is: // @@ -152907,7 +152934,7 @@ func whereSortingCost(tls *libc.TLS, pWInfo uintptr, nRow LogEst, nOrderBy int32 // // Return SQLITE_OK on success or SQLITE_NOMEM of a memory allocation // error occurs. -func wherePathSolver(tls *libc.TLS, pWInfo uintptr, nRowEst LogEst) int32 { /* sqlite3.c:156563:12: */ +func wherePathSolver(tls *libc.TLS, pWInfo uintptr, nRowEst LogEst) int32 { /* sqlite3.c:156586:12: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -153314,7 +153341,7 @@ __3: // Return non-zero on success, if this query can be handled by this // no-frills query planner. Return zero if this query needs the // general-purpose query planner. -func whereShortCut(tls *libc.TLS, pBuilder uintptr) int32 { /* sqlite3.c:156955:12: */ +func whereShortCut(tls *libc.TLS, pBuilder uintptr) int32 { /* sqlite3.c:156978:12: */ bp := tls.Alloc(112) defer tls.Free(112) @@ -153421,7 +153448,7 @@ func whereShortCut(tls *libc.TLS, pBuilder uintptr) int32 { /* sqlite3.c:156955: } // Helper function for exprIsDeterministic(). -func exprNodeIsDeterministic(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:157046:12: */ +func exprNodeIsDeterministic(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:157069:12: */ if int32((*Expr)(unsafe.Pointer(pExpr)).Fop) == TK_FUNCTION && libc.Bool32((*Expr)(unsafe.Pointer(pExpr)).Fflags&U32(EP_ConstFunc) != U32(0)) == 0 { (*Walker)(unsafe.Pointer(pWalker)).FeCode = U16(0) return WRC_Abort @@ -153432,7 +153459,7 @@ func exprNodeIsDeterministic(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int3 // Return true if the expression contains no non-deterministic SQL // functions. Do not consider non-deterministic SQL functions that are // part of sub-select statements. -func exprIsDeterministic(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:157059:12: */ +func exprIsDeterministic(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:157082:12: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -153478,7 +153505,7 @@ func exprIsDeterministic(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:157059:1 // SELECT DISTINCT v1, v3 FROM t1 // LEFT JOIN t2 // LEFT JOIN t3 ON (t1.ipk=t3.ipk) -func whereOmitNoopJoin(tls *libc.TLS, pWInfo uintptr, notReady Bitmask) Bitmask { /* sqlite3.c:157120:32: */ +func whereOmitNoopJoin(tls *libc.TLS, pWInfo uintptr, notReady Bitmask) Bitmask { /* sqlite3.c:157143:32: */ var i int32 var tabUsed Bitmask @@ -153553,7 +153580,7 @@ func whereOmitNoopJoin(tls *libc.TLS, pWInfo uintptr, notReady Bitmask) Bitmask // appropriate, and if so sets the WHERE_BLOOMFILTER flag on the // WhereLoop. The implementation of the Bloom filter comes further // down where the code for each WhereLoop is generated. -func whereCheckIfBloomFilterIsUseful(tls *libc.TLS, pWInfo uintptr) { /* sqlite3.c:157199:29: */ +func whereCheckIfBloomFilterIsUseful(tls *libc.TLS, pWInfo uintptr) { /* sqlite3.c:157222:29: */ var i int32 var nSearch LogEst @@ -153665,7 +153692,7 @@ func whereCheckIfBloomFilterIsUseful(tls *libc.TLS, pWInfo uintptr) { /* sqlite3 // the first cursor in an array of cursors for all indices. iIdxCur should // be used to compute the appropriate cursor depending on which index is // used. -func Xsqlite3WhereBegin(tls *libc.TLS, pParse uintptr, pTabList uintptr, pWhere uintptr, pOrderBy uintptr, pResultSet uintptr, pLimit uintptr, wctrlFlags U16, iAuxArg int32) uintptr { /* sqlite3.c:157323:26: */ +func Xsqlite3WhereBegin(tls *libc.TLS, pParse uintptr, pTabList uintptr, pWhere uintptr, pOrderBy uintptr, pResultSet uintptr, pLimit uintptr, wctrlFlags U16, iAuxArg int32) uintptr { /* sqlite3.c:157346:26: */ bp := tls.Alloc(64) defer tls.Free(64) @@ -154349,7 +154376,7 @@ __78: // Generate the end of the WHERE loop. See comments on // sqlite3WhereBegin() for additional information. -func Xsqlite3WhereEnd(tls *libc.TLS, pWInfo uintptr) { /* sqlite3.c:157889:21: */ +func Xsqlite3WhereEnd(tls *libc.TLS, pWInfo uintptr) { /* sqlite3.c:157932:21: */ var pParse uintptr = (*WhereInfo)(unsafe.Pointer(pWInfo)).FpParse var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe var i int32 @@ -154562,12 +154589,12 @@ __4: int32((*VdbeOp)(unsafe.Pointer(pOp)).Fopcode) == OP_Offset { var x int32 = (*VdbeOp)(unsafe.Pointer(pOp)).Fp2 - if !((*Table)(unsafe.Pointer(pTab)).FtabFlags&U32(TF_WithoutRowid) == U32(0)) { + if int32((*VdbeOp)(unsafe.Pointer(pOp)).Fopcode) == OP_Offset { + // Do not need to translate the column number + } else if !((*Table)(unsafe.Pointer(pTab)).FtabFlags&U32(TF_WithoutRowid) == U32(0)) { var pPk uintptr = Xsqlite3PrimaryKeyIndex(tls, pTab) x = int32(*(*I16)(unsafe.Pointer((*Index)(unsafe.Pointer(pPk)).FaiColumn + uintptr(x)*2))) - } else if int32((*VdbeOp)(unsafe.Pointer(pOp)).Fopcode) == OP_Offset { - // Do not need to translate the column number } else { x = int32(Xsqlite3StorageColumnToTable(tls, pTab, int16(x))) @@ -154577,8 +154604,12 @@ __4: (*VdbeOp)(unsafe.Pointer(pOp)).Fp2 = x (*VdbeOp)(unsafe.Pointer(pOp)).Fp1 = (*WhereLevel)(unsafe.Pointer(pLevel)).FiIdxCur - } + } else { + // Unable to translate the table reference into an index + // reference. Verify that this is harmless - that the + // table being referenced really is open. + } } else if int32((*VdbeOp)(unsafe.Pointer(pOp)).Fopcode) == OP_Rowid { (*VdbeOp)(unsafe.Pointer(pOp)).Fp1 = (*WhereLevel)(unsafe.Pointer(pLevel)).FiIdxCur (*VdbeOp)(unsafe.Pointer(pOp)).Fopcode = U8(OP_IdxRowid) @@ -154749,7 +154780,7 @@ __6: // window frame has been coerced to: // // ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW -func row_numberStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158331:13: */ +func row_numberStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158388:13: */ var p uintptr = Xsqlite3_aggregate_context(tls, pCtx, int32(unsafe.Sizeof(I64(0)))) if p != 0 { *(*I64)(unsafe.Pointer(p))++ @@ -154758,7 +154789,7 @@ func row_numberStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) _ = apArg } -func row_numberValueFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158341:13: */ +func row_numberValueFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158398:13: */ var p uintptr = Xsqlite3_aggregate_context(tls, pCtx, int32(unsafe.Sizeof(I64(0)))) Xsqlite3_result_int64(tls, pCtx, func() int64 { if p != 0 { @@ -154774,13 +154805,13 @@ type CallCount = struct { FnValue I64 FnStep I64 FnTotal I64 -} /* sqlite3.c:158350:1 */ +} /* sqlite3.c:158407:1 */ // Implementation of built-in window function dense_rank(). Assumes that // the window frame has been set to: // // RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW -func dense_rankStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158362:13: */ +func dense_rankStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158419:13: */ var p uintptr p = Xsqlite3_aggregate_context(tls, pCtx, int32(unsafe.Sizeof(CallCount{}))) if p != 0 { @@ -154790,7 +154821,7 @@ func dense_rankStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) _ = apArg } -func dense_rankValueFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158373:13: */ +func dense_rankValueFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158430:13: */ var p uintptr p = Xsqlite3_aggregate_context(tls, pCtx, int32(unsafe.Sizeof(CallCount{}))) if p != 0 { @@ -154808,9 +154839,9 @@ func dense_rankValueFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158373:13: type NthValueCtx = struct { FnStep I64 FpValue uintptr -} /* sqlite3.c:158390:1 */ +} /* sqlite3.c:158447:1 */ -func nth_valueStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158394:13: */ +func nth_valueStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158451:13: */ var p uintptr var fVal float64 var iVal I64 @@ -154876,7 +154907,7 @@ error_out: pCtx, ts+22349, -1) } -func nth_valueFinalizeFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158435:13: */ +func nth_valueFinalizeFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158492:13: */ var p uintptr p = Xsqlite3_aggregate_context(tls, pCtx, 0) if p != 0 && (*NthValueCtx)(unsafe.Pointer(p)).FpValue != 0 { @@ -154886,7 +154917,7 @@ func nth_valueFinalizeFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158435:13 } } -func first_valueStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158447:13: */ +func first_valueStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158504:13: */ var p uintptr p = Xsqlite3_aggregate_context(tls, pCtx, int32(unsafe.Sizeof(NthValueCtx{}))) if p != 0 && (*NthValueCtx)(unsafe.Pointer(p)).FpValue == uintptr(0) { @@ -154899,7 +154930,7 @@ func first_valueStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) _ = apArg } -func first_valueFinalizeFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158463:13: */ +func first_valueFinalizeFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158520:13: */ var p uintptr p = Xsqlite3_aggregate_context(tls, pCtx, int32(unsafe.Sizeof(NthValueCtx{}))) if p != 0 && (*NthValueCtx)(unsafe.Pointer(p)).FpValue != 0 { @@ -154913,7 +154944,7 @@ func first_valueFinalizeFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158463: // the window frame has been set to: // // RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW -func rankStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158481:13: */ +func rankStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158538:13: */ var p uintptr p = Xsqlite3_aggregate_context(tls, pCtx, int32(unsafe.Sizeof(CallCount{}))) if p != 0 { @@ -154926,7 +154957,7 @@ func rankStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* s _ = apArg } -func rankValueFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158497:13: */ +func rankValueFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158554:13: */ var p uintptr p = Xsqlite3_aggregate_context(tls, pCtx, int32(unsafe.Sizeof(CallCount{}))) if p != 0 { @@ -154939,7 +154970,7 @@ func rankValueFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158497:13: */ // the window frame has been set to: // // GROUPS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING -func percent_rankStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158512:13: */ +func percent_rankStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158569:13: */ var p uintptr _ = nArg _ = apArg @@ -154949,7 +154980,7 @@ func percent_rankStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr } } -func percent_rankInvFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158525:13: */ +func percent_rankInvFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158582:13: */ var p uintptr _ = nArg _ = apArg @@ -154957,7 +154988,7 @@ func percent_rankInvFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) (*CallCount)(unsafe.Pointer(p)).FnStep++ } -func percent_rankValueFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158536:13: */ +func percent_rankValueFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158593:13: */ var p uintptr p = Xsqlite3_aggregate_context(tls, pCtx, int32(unsafe.Sizeof(CallCount{}))) if p != 0 { @@ -154975,7 +155006,7 @@ func percent_rankValueFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158536:13 // the window frame has been set to: // // GROUPS BETWEEN 1 FOLLOWING AND UNBOUNDED FOLLOWING -func cume_distStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158557:13: */ +func cume_distStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158614:13: */ var p uintptr _ = nArg _ = apArg @@ -154985,7 +155016,7 @@ func cume_distStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { } } -func cume_distInvFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158570:13: */ +func cume_distInvFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158627:13: */ var p uintptr _ = nArg _ = apArg @@ -154993,7 +155024,7 @@ func cume_distInvFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { (*CallCount)(unsafe.Pointer(p)).FnStep++ } -func cume_distValueFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158581:13: */ +func cume_distValueFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158638:13: */ var p uintptr p = Xsqlite3_aggregate_context(tls, pCtx, 0) if p != 0 { @@ -155007,13 +155038,13 @@ type NtileCtx = struct { FnTotal I64 FnParam I64 FiRow I64 -} /* sqlite3.c:158594:1 */ +} /* sqlite3.c:158651:1 */ // Implementation of ntile(). This assumes that the window frame has // been coerced to: // // ROWS CURRENT ROW AND UNBOUNDED FOLLOWING -func ntileStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158606:13: */ +func ntileStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158663:13: */ var p uintptr _ = nArg p = Xsqlite3_aggregate_context(tls, pCtx, int32(unsafe.Sizeof(NtileCtx{}))) @@ -155029,7 +155060,7 @@ func ntileStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* } } -func ntileInvFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158626:13: */ +func ntileInvFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158683:13: */ var p uintptr _ = nArg _ = apArg @@ -155037,7 +155068,7 @@ func ntileInvFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* s (*NtileCtx)(unsafe.Pointer(p)).FiRow++ } -func ntileValueFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158637:13: */ +func ntileValueFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158694:13: */ var p uintptr p = Xsqlite3_aggregate_context(tls, pCtx, int32(unsafe.Sizeof(NtileCtx{}))) if p != 0 && (*NtileCtx)(unsafe.Pointer(p)).FnParam > int64(0) { @@ -155063,10 +155094,10 @@ type LastValueCtx = struct { FpVal uintptr FnVal int32 F__ccgo_pad1 [4]byte -} /* sqlite3.c:158664:1 */ +} /* sqlite3.c:158721:1 */ // Implementation of last_value(). -func last_valueStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158672:13: */ +func last_valueStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158729:13: */ var p uintptr _ = nArg p = Xsqlite3_aggregate_context(tls, pCtx, int32(unsafe.Sizeof(LastValueCtx{}))) @@ -155081,7 +155112,7 @@ func last_valueStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) } } -func last_valueInvFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158690:13: */ +func last_valueInvFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158747:13: */ var p uintptr _ = nArg _ = apArg @@ -155095,7 +155126,7 @@ func last_valueInvFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { } } -func last_valueValueFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158707:13: */ +func last_valueValueFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158764:13: */ var p uintptr p = Xsqlite3_aggregate_context(tls, pCtx, 0) if p != 0 && (*LastValueCtx)(unsafe.Pointer(p)).FpVal != 0 { @@ -155103,7 +155134,7 @@ func last_valueValueFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158707:13: } } -func last_valueFinalizeFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158714:13: */ +func last_valueFinalizeFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158771:13: */ var p uintptr p = Xsqlite3_aggregate_context(tls, pCtx, int32(unsafe.Sizeof(LastValueCtx{}))) if p != 0 && (*LastValueCtx)(unsafe.Pointer(p)).FpVal != 0 { @@ -155119,17 +155150,17 @@ func last_valueFinalizeFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158714:1 // comparison of the zName pointer. Example: // // if( pFuncDef->zName==row_valueName ){ ... } -var row_numberName = *(*[11]int8)(unsafe.Pointer(ts + 22450)) /* sqlite3.c:158732:19 */ -var dense_rankName = *(*[11]int8)(unsafe.Pointer(ts + 22461)) /* sqlite3.c:158733:19 */ -var rankName = *(*[5]int8)(unsafe.Pointer(ts + 22472)) /* sqlite3.c:158734:19 */ -var percent_rankName = *(*[13]int8)(unsafe.Pointer(ts + 22477)) /* sqlite3.c:158735:19 */ -var cume_distName = *(*[10]int8)(unsafe.Pointer(ts + 22490)) /* sqlite3.c:158736:19 */ -var ntileName = *(*[6]int8)(unsafe.Pointer(ts + 22500)) /* sqlite3.c:158737:19 */ -var last_valueName = *(*[11]int8)(unsafe.Pointer(ts + 22506)) /* sqlite3.c:158738:19 */ -var nth_valueName = *(*[10]int8)(unsafe.Pointer(ts + 22517)) /* sqlite3.c:158739:19 */ -var first_valueName = *(*[12]int8)(unsafe.Pointer(ts + 22527)) /* sqlite3.c:158740:19 */ -var leadName = *(*[5]int8)(unsafe.Pointer(ts + 22539)) /* sqlite3.c:158741:19 */ -var lagName = *(*[4]int8)(unsafe.Pointer(ts + 22544 /* "lag" */)) /* sqlite3.c:158742:19 */ +var row_numberName = *(*[11]int8)(unsafe.Pointer(ts + 22450)) /* sqlite3.c:158789:19 */ +var dense_rankName = *(*[11]int8)(unsafe.Pointer(ts + 22461)) /* sqlite3.c:158790:19 */ +var rankName = *(*[5]int8)(unsafe.Pointer(ts + 22472)) /* sqlite3.c:158791:19 */ +var percent_rankName = *(*[13]int8)(unsafe.Pointer(ts + 22477)) /* sqlite3.c:158792:19 */ +var cume_distName = *(*[10]int8)(unsafe.Pointer(ts + 22490)) /* sqlite3.c:158793:19 */ +var ntileName = *(*[6]int8)(unsafe.Pointer(ts + 22500)) /* sqlite3.c:158794:19 */ +var last_valueName = *(*[11]int8)(unsafe.Pointer(ts + 22506)) /* sqlite3.c:158795:19 */ +var nth_valueName = *(*[10]int8)(unsafe.Pointer(ts + 22517)) /* sqlite3.c:158796:19 */ +var first_valueName = *(*[12]int8)(unsafe.Pointer(ts + 22527)) /* sqlite3.c:158797:19 */ +var leadName = *(*[5]int8)(unsafe.Pointer(ts + 22539)) /* sqlite3.c:158798:19 */ +var lagName = *(*[4]int8)(unsafe.Pointer(ts + 22544 /* "lag" */)) /* sqlite3.c:158799:19 */ // No-op implementations of xStep() and xFinalize(). Used as place-holders // for built-in window functions that never call those interfaces. @@ -155138,7 +155169,7 @@ var lagName = *(*[4]int8)(unsafe.Pointer(ts + 22544 /* "lag" */)) /* sqlite3.c:1 // noopStepFunc() is never called, and so it is marked with NO_TEST to // let the test coverage routine know not to expect this function to be // invoked. -func noopStepFunc(tls *libc.TLS, p uintptr, n int32, a uintptr) { /* sqlite3.c:158753:13: */ //NO_TEST +func noopStepFunc(tls *libc.TLS, p uintptr, n int32, a uintptr) { /* sqlite3.c:158810:13: */ //NO_TEST _ = p //NO_TEST _ = n //NO_TEST _ = a //NO_TEST @@ -155146,7 +155177,7 @@ func noopStepFunc(tls *libc.TLS, p uintptr, n int32, a uintptr) { /* sqlite3.c:1 } //NO_TEST -func noopValueFunc(tls *libc.TLS, p uintptr) { /* sqlite3.c:158763:13: */ +func noopValueFunc(tls *libc.TLS, p uintptr) { /* sqlite3.c:158820:13: */ _ = p /*no-op*/ } @@ -155161,7 +155192,7 @@ func noopValueFunc(tls *libc.TLS, p uintptr) { /* sqlite3.c:158763:13: */ // xInverse. // Register those built-in window functions that are not also aggregates. -func Xsqlite3WindowFunctions(tls *libc.TLS) { /* sqlite3.c:158794:21: */ +func Xsqlite3WindowFunctions(tls *libc.TLS) { /* sqlite3.c:158851:21: */ Xsqlite3InsertBuiltinFuncs(tls, uintptr(unsafe.Pointer(&aWindowFuncs)), int32(uint64(unsafe.Sizeof(aWindowFuncs))/uint64(unsafe.Sizeof(FuncDef{})))) } @@ -155180,9 +155211,9 @@ var aWindowFuncs = [15]FuncDef{ {FnArg: int8(3), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_UTF8 | SQLITE_FUNC_WINDOW | 0), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: 0}, {FnArg: int8(1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_UTF8 | SQLITE_FUNC_WINDOW | 0), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: 0}, {FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_UTF8 | SQLITE_FUNC_WINDOW | 0), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: 0}, - {FnArg: int8(3), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_UTF8 | SQLITE_FUNC_WINDOW | 0), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: 0}} /* sqlite3.c:158795:18 */ + {FnArg: int8(3), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_UTF8 | SQLITE_FUNC_WINDOW | 0), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: 0}} /* sqlite3.c:158852:18 */ -func windowFind(tls *libc.TLS, pParse uintptr, pList uintptr, zName uintptr) uintptr { /* sqlite3.c:158815:15: */ +func windowFind(tls *libc.TLS, pParse uintptr, pList uintptr, zName uintptr) uintptr { /* sqlite3.c:158872:15: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -155213,7 +155244,7 @@ func windowFind(tls *libc.TLS, pParse uintptr, pList uintptr, zName uintptr) uin // * If the function is a built-in window function that requires the // window to be coerced (see "BUILT-IN WINDOW FUNCTIONS" at the top // of this file), pWin is updated here. -func Xsqlite3WindowUpdate(tls *libc.TLS, pParse uintptr, pList uintptr, pWin uintptr, pFunc uintptr) { /* sqlite3.c:158843:21: */ +func Xsqlite3WindowUpdate(tls *libc.TLS, pParse uintptr, pList uintptr, pWin uintptr, pFunc uintptr) { /* sqlite3.c:158900:21: */ bp := tls.Alloc(192) defer tls.Free(192) @@ -155281,16 +155312,16 @@ type WindowUpdate = struct { FeStart int32 FeEnd int32 F__ccgo_pad1 [4]byte -} /* sqlite3.c:158878:7 */ +} /* sqlite3.c:158935:7 */ // Context object passed through sqlite3WalkExprList() to // selectWindowRewriteExprCb() by selectWindowRewriteEList(). -type WindowRewrite = WindowRewrite1 /* sqlite3.c:158918:30 */ +type WindowRewrite = WindowRewrite1 /* sqlite3.c:158975:30 */ // Callback function used by selectWindowRewriteEList(). If necessary, // this function appends to the output expression-list and updates // expression (*ppExpr) in place. -func selectWindowRewriteExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:158932:12: */ +func selectWindowRewriteExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:158989:12: */ var p uintptr = *(*uintptr)(unsafe.Pointer(pWalker + 40)) var pParse uintptr = (*Walker)(unsafe.Pointer(pWalker)).FpParse @@ -155390,7 +155421,7 @@ func selectWindowRewriteExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) in return WRC_Continue } -func selectWindowRewriteSelectCb(tls *libc.TLS, pWalker uintptr, pSelect uintptr) int32 { /* sqlite3.c:159014:12: */ +func selectWindowRewriteSelectCb(tls *libc.TLS, pWalker uintptr, pSelect uintptr) int32 { /* sqlite3.c:159071:12: */ var p uintptr = *(*uintptr)(unsafe.Pointer(pWalker + 40)) var pSave uintptr = (*WindowRewrite1)(unsafe.Pointer(p)).FpSubSelect if pSave == pSelect { @@ -155414,7 +155445,7 @@ func selectWindowRewriteSelectCb(tls *libc.TLS, pWalker uintptr, pSelect uintptr // with a TK_COLUMN that reads the (N-1)th element of table // pWin->iEphCsr, where N is the number of elements in (*ppSub) after // appending the new one. -func selectWindowRewriteEList(tls *libc.TLS, pParse uintptr, pWin uintptr, pSrc uintptr, pEList uintptr, pTab uintptr, ppSub uintptr) { /* sqlite3.c:159041:13: */ +func selectWindowRewriteEList(tls *libc.TLS, pParse uintptr, pWin uintptr, pSrc uintptr, pEList uintptr, pTab uintptr, ppSub uintptr) { /* sqlite3.c:159098:13: */ bp := tls.Alloc(88) defer tls.Free(88) @@ -155446,7 +155477,7 @@ func selectWindowRewriteEList(tls *libc.TLS, pParse uintptr, pWin uintptr, pSrc // Append a copy of each expression in expression-list pAppend to // expression list pList. Return a pointer to the result list. -func exprListAppendList(tls *libc.TLS, pParse uintptr, pList uintptr, pAppend uintptr, bIntToNull int32) uintptr { /* sqlite3.c:159075:17: */ +func exprListAppendList(tls *libc.TLS, pParse uintptr, pList uintptr, pAppend uintptr, bIntToNull int32) uintptr { /* sqlite3.c:159132:17: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -155492,7 +155523,7 @@ func exprListAppendList(tls *libc.TLS, pParse uintptr, pList uintptr, pAppend ui // due to the extra subquery layer that was added. // // See also the incrAggDepth() routine in resolve.c -func sqlite3WindowExtraAggFuncDepth(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:159117:12: */ +func sqlite3WindowExtraAggFuncDepth(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:159174:12: */ if int32((*Expr)(unsafe.Pointer(pExpr)).Fop) == TK_AGG_FUNCTION && int32((*Expr)(unsafe.Pointer(pExpr)).Fop2) >= (*Walker)(unsafe.Pointer(pWalker)).FwalkerDepth { (*Expr)(unsafe.Pointer(pExpr)).Fop2++ @@ -155500,7 +155531,7 @@ func sqlite3WindowExtraAggFuncDepth(tls *libc.TLS, pWalker uintptr, pExpr uintpt return WRC_Continue } -func disallowAggregatesInOrderByCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:159126:12: */ +func disallowAggregatesInOrderByCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:159183:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -155517,7 +155548,7 @@ func disallowAggregatesInOrderByCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr // rewrites the SELECT statement so that window function xStep functions // are invoked in the correct order as described under "SELECT REWRITING" // at the top of this file. -func Xsqlite3WindowRewrite(tls *libc.TLS, pParse uintptr, p uintptr) int32 { /* sqlite3.c:159142:20: */ +func Xsqlite3WindowRewrite(tls *libc.TLS, pParse uintptr, p uintptr) int32 { /* sqlite3.c:159199:20: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -155701,7 +155732,7 @@ func Xsqlite3WindowRewrite(tls *libc.TLS, pParse uintptr, p uintptr) int32 { /* // Unlink the Window object from the Select to which it is attached, // if it is attached. -func Xsqlite3WindowUnlinkFromSelect(tls *libc.TLS, p uintptr) { /* sqlite3.c:159306:21: */ +func Xsqlite3WindowUnlinkFromSelect(tls *libc.TLS, p uintptr) { /* sqlite3.c:159363:21: */ if (*Window)(unsafe.Pointer(p)).FppThis != 0 { *(*uintptr)(unsafe.Pointer((*Window)(unsafe.Pointer(p)).FppThis)) = (*Window)(unsafe.Pointer(p)).FpNextWin if (*Window)(unsafe.Pointer(p)).FpNextWin != 0 { @@ -155712,7 +155743,7 @@ func Xsqlite3WindowUnlinkFromSelect(tls *libc.TLS, p uintptr) { /* sqlite3.c:159 } // Free the Window object passed as the second argument. -func Xsqlite3WindowDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:159317:21: */ +func Xsqlite3WindowDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:159374:21: */ if p != 0 { Xsqlite3WindowUnlinkFromSelect(tls, p) Xsqlite3ExprDelete(tls, db, (*Window)(unsafe.Pointer(p)).FpFilter) @@ -155727,7 +155758,7 @@ func Xsqlite3WindowDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:1 } // Free the linked list of Window objects starting at the second argument. -func Xsqlite3WindowListDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:159334:21: */ +func Xsqlite3WindowListDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:159391:21: */ for p != 0 { var pNext uintptr = (*Window)(unsafe.Pointer(p)).FpNextWin Xsqlite3WindowDelete(tls, db, p) @@ -155740,7 +155771,7 @@ func Xsqlite3WindowListDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3 // constant, change it to NULL. The fact that it is then a non-negative // integer will be caught later. But it is important not to leave // variable values in the expression tree. -func sqlite3WindowOffsetExpr(tls *libc.TLS, pParse uintptr, pExpr uintptr) uintptr { /* sqlite3.c:159349:13: */ +func sqlite3WindowOffsetExpr(tls *libc.TLS, pParse uintptr, pExpr uintptr) uintptr { /* sqlite3.c:159406:13: */ if 0 == Xsqlite3ExprIsConstant(tls, pExpr) { if int32((*Parse)(unsafe.Pointer(pParse)).FeParseMode) >= PARSE_MODE_RENAME { Xsqlite3RenameExprUnmap(tls, pParse, pExpr) @@ -155752,7 +155783,7 @@ func sqlite3WindowOffsetExpr(tls *libc.TLS, pParse uintptr, pExpr uintptr) uintp } // Allocate and return a new Window object describing a Window Definition. -func Xsqlite3WindowAlloc(tls *libc.TLS, pParse uintptr, eType int32, eStart int32, pStart uintptr, eEnd int32, pEnd uintptr, eExclude U8) uintptr { /* sqlite3.c:159361:23: */ +func Xsqlite3WindowAlloc(tls *libc.TLS, pParse uintptr, eType int32, eStart int32, pStart uintptr, eEnd int32, pEnd uintptr, eExclude U8) uintptr { /* sqlite3.c:159418:23: */ var pWin uintptr var bImplicitFrame int32 pWin = uintptr(0) @@ -155821,7 +155852,7 @@ windowAllocErr: // Attach PARTITION and ORDER BY clauses pPartition and pOrderBy to window // pWin. Also, if parameter pBase is not NULL, set pWin->zBase to the // equivalent nul-terminated string. -func Xsqlite3WindowAssemble(tls *libc.TLS, pParse uintptr, pWin uintptr, pPartition uintptr, pOrderBy uintptr, pBase uintptr) uintptr { /* sqlite3.c:159433:23: */ +func Xsqlite3WindowAssemble(tls *libc.TLS, pParse uintptr, pWin uintptr, pPartition uintptr, pOrderBy uintptr, pBase uintptr) uintptr { /* sqlite3.c:159490:23: */ if pWin != 0 { (*Window)(unsafe.Pointer(pWin)).FpPartition = pPartition (*Window)(unsafe.Pointer(pWin)).FpOrderBy = pOrderBy @@ -155840,7 +155871,7 @@ func Xsqlite3WindowAssemble(tls *libc.TLS, pParse uintptr, pWin uintptr, pPartit // stored in the linked list starting at pWin->pNextWin. This function // either updates *pWin according to the base specification, or else // leaves an error in pParse. -func Xsqlite3WindowChain(tls *libc.TLS, pParse uintptr, pWin uintptr, pList uintptr) { /* sqlite3.c:159460:21: */ +func Xsqlite3WindowChain(tls *libc.TLS, pParse uintptr, pWin uintptr, pList uintptr) { /* sqlite3.c:159517:21: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -155874,7 +155905,7 @@ func Xsqlite3WindowChain(tls *libc.TLS, pParse uintptr, pWin uintptr, pList uint } // Attach window object pWin to expression p. -func Xsqlite3WindowAttach(tls *libc.TLS, pParse uintptr, p uintptr, pWin uintptr) { /* sqlite3.c:159494:21: */ +func Xsqlite3WindowAttach(tls *libc.TLS, pParse uintptr, p uintptr, pWin uintptr) { /* sqlite3.c:159551:21: */ if p != 0 { *(*uintptr)(unsafe.Pointer(p + 64)) = pWin @@ -155893,7 +155924,7 @@ func Xsqlite3WindowAttach(tls *libc.TLS, pParse uintptr, p uintptr, pWin uintptr // to be processed as part of SELECT statement pSel). The window is linked // in if either (a) there are no other windows already linked to this // SELECT, or (b) the windows already linked use a compatible window frame. -func Xsqlite3WindowLink(tls *libc.TLS, pSel uintptr, pWin uintptr) { /* sqlite3.c:159517:21: */ +func Xsqlite3WindowLink(tls *libc.TLS, pSel uintptr, pWin uintptr) { /* sqlite3.c:159574:21: */ if pSel != 0 { if uintptr(0) == (*Select)(unsafe.Pointer(pSel)).FpWin || 0 == Xsqlite3WindowCompare(tls, uintptr(0), (*Select)(unsafe.Pointer(pSel)).FpWin, pWin, 0) { (*Window)(unsafe.Pointer(pWin)).FpNextWin = (*Select)(unsafe.Pointer(pSel)).FpWin @@ -155913,7 +155944,7 @@ func Xsqlite3WindowLink(tls *libc.TLS, pSel uintptr, pWin uintptr) { /* sqlite3. // Return 0 if the two window objects are identical, 1 if they are // different, or 2 if it cannot be determined if the objects are identical // or not. Identical window objects can be processed in a single scan. -func Xsqlite3WindowCompare(tls *libc.TLS, pParse uintptr, p1 uintptr, p2 uintptr, bFilter int32) int32 { /* sqlite3.c:159539:20: */ +func Xsqlite3WindowCompare(tls *libc.TLS, pParse uintptr, p1 uintptr, p2 uintptr, bFilter int32) int32 { /* sqlite3.c:159596:20: */ var res int32 if p1 == uintptr(0) || p2 == uintptr(0) { return 1 @@ -155953,7 +155984,7 @@ func Xsqlite3WindowCompare(tls *libc.TLS, pParse uintptr, p1 uintptr, p2 uintptr // This is called by code in select.c before it calls sqlite3WhereBegin() // to begin iterating through the sub-query results. It is used to allocate // and initialize registers and cursors used by sqlite3WindowCodeStep(). -func Xsqlite3WindowCodeInit(tls *libc.TLS, pParse uintptr, pSelect uintptr) { /* sqlite3.c:159573:21: */ +func Xsqlite3WindowCodeInit(tls *libc.TLS, pParse uintptr, pSelect uintptr) { /* sqlite3.c:159630:21: */ var nEphExpr int32 = (*ExprList)(unsafe.Pointer((*Select)(unsafe.Pointer((*SrcItem)(unsafe.Pointer((*Select)(unsafe.Pointer(pSelect)).FpSrc + 8)).FpSelect)).FpEList)).FnExpr var pMWin uintptr = (*Select)(unsafe.Pointer(pSelect)).FpWin var pWin uintptr @@ -156029,7 +156060,7 @@ func Xsqlite3WindowCodeInit(tls *libc.TLS, pParse uintptr, pSelect uintptr) { /* // evaluated and the result left in register reg. This function generates VM // code to check that the value is a non-negative integer and throws an // exception if it is not. -func windowCheckValue(tls *libc.TLS, pParse uintptr, reg int32, eCond int32) { /* sqlite3.c:159660:13: */ +func windowCheckValue(tls *libc.TLS, pParse uintptr, reg int32, eCond int32) { /* sqlite3.c:159717:13: */ var v uintptr = Xsqlite3GetVdbe(tls, pParse) var regZero int32 = Xsqlite3GetTempReg(tls, pParse) @@ -156063,12 +156094,12 @@ var azErr = [5]uintptr{ ts + 22349, ts + 22996, ts + 23048, -} /* sqlite3.c:159661:21 */ -var aOp1 = [5]int32{OP_Ge, OP_Ge, OP_Gt, OP_Ge, OP_Ge} /* sqlite3.c:159668:14 */ +} /* sqlite3.c:159718:21 */ +var aOp1 = [5]int32{OP_Ge, OP_Ge, OP_Gt, OP_Ge, OP_Ge} /* sqlite3.c:159725:14 */ // Return the number of arguments passed to the window-function associated // with the object passed as the only argument to this function. -func windowArgCount(tls *libc.TLS, pWin uintptr) int32 { /* sqlite3.c:159707:12: */ +func windowArgCount(tls *libc.TLS, pWin uintptr) int32 { /* sqlite3.c:159764:12: */ var pList uintptr pList = *(*uintptr)(unsafe.Pointer((*Window)(unsafe.Pointer(pWin)).FpOwner + 32)) @@ -156093,19 +156124,19 @@ type WindowCodeArg1 = struct { Fcurrent WindowCsrAndReg Fend WindowCsrAndReg F__ccgo_pad1 [4]byte -} /* sqlite3.c:159714:9 */ +} /* sqlite3.c:159771:9 */ -type WindowCodeArg = WindowCodeArg1 /* sqlite3.c:159714:30 */ +type WindowCodeArg = WindowCodeArg1 /* sqlite3.c:159771:30 */ type WindowCsrAndReg1 = struct { Fcsr int32 Freg int32 -} /* sqlite3.c:159714:9 */ +} /* sqlite3.c:159771:9 */ -type WindowCsrAndReg = WindowCsrAndReg1 /* sqlite3.c:159715:32 */ +type WindowCsrAndReg = WindowCsrAndReg1 /* sqlite3.c:159772:32 */ // Generate VM code to read the window frames peer values from cursor csr into // an array of registers starting at reg. -func windowReadPeerValues(tls *libc.TLS, p uintptr, csr int32, reg int32) { /* sqlite3.c:159799:13: */ +func windowReadPeerValues(tls *libc.TLS, p uintptr, csr int32, reg int32) { /* sqlite3.c:159856:13: */ var pMWin uintptr = (*WindowCodeArg)(unsafe.Pointer(p)).FpMWin var pOrderBy uintptr = (*Window)(unsafe.Pointer(pMWin)).FpOrderBy if pOrderBy != 0 { @@ -156141,7 +156172,7 @@ func windowReadPeerValues(tls *libc.TLS, p uintptr, csr int32, reg int32) { /* s // // If argument regPartSize is non-zero, then it is a register containing the // number of rows in the current partition. -func windowAggStep(tls *libc.TLS, p uintptr, pMWin uintptr, csr int32, bInverse int32, reg int32) { /* sqlite3.c:159836:13: */ +func windowAggStep(tls *libc.TLS, p uintptr, pMWin uintptr, csr int32, bInverse int32, reg int32) { /* sqlite3.c:159893:13: */ var pParse uintptr = (*WindowCodeArg)(unsafe.Pointer(p)).FpParse var v uintptr = Xsqlite3GetVdbe(tls, pParse) var pWin uintptr @@ -156248,7 +156279,7 @@ func windowAggStep(tls *libc.TLS, p uintptr, pMWin uintptr, csr int32, bInverse // (bFin==1) for each window function in the linked list starting at // pMWin. Or, for built-in window-functions that do not use the standard // API, generate the equivalent VM code. -func windowAggFinal(tls *libc.TLS, p uintptr, bFin int32) { /* sqlite3.c:159953:13: */ +func windowAggFinal(tls *libc.TLS, p uintptr, bFin int32) { /* sqlite3.c:160010:13: */ var pParse uintptr = (*WindowCodeArg)(unsafe.Pointer(p)).FpParse var pMWin uintptr = (*WindowCodeArg)(unsafe.Pointer(p)).FpMWin var v uintptr = Xsqlite3GetVdbe(tls, pParse) @@ -156284,7 +156315,7 @@ func windowAggFinal(tls *libc.TLS, p uintptr, bFin int32) { /* sqlite3.c:159953: // p->pMWin list by doing a full scan of the current window frame. Store the // results in the Window.regResult registers, ready to return the upper // layer. -func windowFullScan(tls *libc.TLS, p uintptr) { /* sqlite3.c:159992:13: */ +func windowFullScan(tls *libc.TLS, p uintptr) { /* sqlite3.c:160049:13: */ var pWin uintptr var pParse uintptr = (*WindowCodeArg)(unsafe.Pointer(p)).FpParse var pMWin uintptr = (*WindowCodeArg)(unsafe.Pointer(p)).FpMWin @@ -156391,7 +156422,7 @@ func windowFullScan(tls *libc.TLS, p uintptr) { /* sqlite3.c:159992:13: */ // first_value() // lag() // lead() -func windowReturnOneRow(tls *libc.TLS, p uintptr) { /* sqlite3.c:160098:13: */ +func windowReturnOneRow(tls *libc.TLS, p uintptr) { /* sqlite3.c:160155:13: */ var pMWin uintptr = (*WindowCodeArg)(unsafe.Pointer(p)).FpMWin var v uintptr = (*WindowCodeArg)(unsafe.Pointer(p)).FpVdbe @@ -156474,7 +156505,7 @@ func windowReturnOneRow(tls *libc.TLS, p uintptr) { /* sqlite3.c:160098:13: */ // in the linked list passed as the second argument to NULL. And perform // any equivalent initialization required by any built-in window functions // in the list. -func windowInitAccum(tls *libc.TLS, pParse uintptr, pMWin uintptr) int32 { /* sqlite3.c:160175:12: */ +func windowInitAccum(tls *libc.TLS, pParse uintptr, pMWin uintptr) int32 { /* sqlite3.c:160232:12: */ var v uintptr = Xsqlite3GetVdbe(tls, pParse) var regArg int32 var nArg int32 = 0 @@ -156509,7 +156540,7 @@ func windowInitAccum(tls *libc.TLS, pParse uintptr, pMWin uintptr) int32 { /* sq // Return true if the current frame should be cached in the ephemeral table, // even if there are no xInverse() calls required. -func windowCacheFrame(tls *libc.TLS, pMWin uintptr) int32 { /* sqlite3.c:160207:12: */ +func windowCacheFrame(tls *libc.TLS, pMWin uintptr) int32 { /* sqlite3.c:160264:12: */ var pWin uintptr if (*Window)(unsafe.Pointer(pMWin)).FregStartRowid != 0 { return 1 @@ -156534,7 +156565,7 @@ func windowCacheFrame(tls *libc.TLS, pMWin uintptr) int32 { /* sqlite3.c:160207: // If the two arrays are not equal, the contents of regNew is copied to // regOld and control falls through. Otherwise, if the contents of the arrays // are equal, an OP_Goto is executed. The address of the OP_Goto is returned. -func windowIfNewPeer(tls *libc.TLS, pParse uintptr, pOrderBy uintptr, regNew int32, regOld int32, addr int32) { /* sqlite3.c:160233:13: */ +func windowIfNewPeer(tls *libc.TLS, pParse uintptr, pOrderBy uintptr, regNew int32, regOld int32, addr int32) { /* sqlite3.c:160290:13: */ var v uintptr = Xsqlite3GetVdbe(tls, pParse) if pOrderBy != 0 { var nVal int32 = (*ExprList)(unsafe.Pointer(pOrderBy)).FnExpr @@ -156571,7 +156602,7 @@ func windowIfNewPeer(tls *libc.TLS, pParse uintptr, pOrderBy uintptr, regNew int // A special type of arithmetic is used such that if csr1.peerVal is not // a numeric type (real or integer), then the result of the addition // or subtraction is a a copy of csr1.peerVal. -func windowCodeRangeTest(tls *libc.TLS, p uintptr, op int32, csr1 int32, regVal int32, csr2 int32, lbl int32) { /* sqlite3.c:160279:13: */ +func windowCodeRangeTest(tls *libc.TLS, p uintptr, op int32, csr1 int32, regVal int32, csr2 int32, lbl int32) { /* sqlite3.c:160336:13: */ var pParse uintptr = (*WindowCodeArg)(unsafe.Pointer(p)).FpParse var v uintptr = Xsqlite3GetVdbe(tls, pParse) var pOrderBy uintptr = (*Window)(unsafe.Pointer((*WindowCodeArg)(unsafe.Pointer(p)).FpMWin)).FpOrderBy // ORDER BY clause for window @@ -156694,7 +156725,7 @@ func windowCodeRangeTest(tls *libc.TLS, p uintptr, op int32, csr1 int32, regVal // generates VM code for a single RETURN_ROW, AGGSTEP or AGGINVERSE // operation. Refer to the header comment for sqlite3WindowCodeStep() for // details. -func windowCodeOp(tls *libc.TLS, p uintptr, op int32, regCountdown int32, jumpOnEof int32) int32 { /* sqlite3.c:160412:12: */ +func windowCodeOp(tls *libc.TLS, p uintptr, op int32, regCountdown int32, jumpOnEof int32) int32 { /* sqlite3.c:160469:12: */ var csr int32 var reg int32 var pParse uintptr = (*WindowCodeArg)(unsafe.Pointer(p)).FpParse @@ -156842,7 +156873,7 @@ func windowCodeOp(tls *libc.TLS, p uintptr, op int32, regCountdown int32, jumpOn // Allocate and return a duplicate of the Window object indicated by the // third argument. Set the Window.pOwner field of the new object to // pOwner. -func Xsqlite3WindowDup(tls *libc.TLS, db uintptr, pOwner uintptr, p uintptr) uintptr { /* sqlite3.c:160561:23: */ +func Xsqlite3WindowDup(tls *libc.TLS, db uintptr, pOwner uintptr, p uintptr) uintptr { /* sqlite3.c:160618:23: */ var pNew uintptr = uintptr(0) if p != 0 { pNew = Xsqlite3DbMallocZero(tls, db, uint64(unsafe.Sizeof(Window{}))) @@ -156873,7 +156904,7 @@ func Xsqlite3WindowDup(tls *libc.TLS, db uintptr, pOwner uintptr, p uintptr) uin // Return a copy of the linked list of Window objects passed as the // second argument. -func Xsqlite3WindowListDup(tls *libc.TLS, db uintptr, p uintptr) uintptr { /* sqlite3.c:160594:23: */ +func Xsqlite3WindowListDup(tls *libc.TLS, db uintptr, p uintptr) uintptr { /* sqlite3.c:160651:23: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -156898,7 +156929,7 @@ func Xsqlite3WindowListDup(tls *libc.TLS, db uintptr, p uintptr) uintptr { /* sq // // If an OOM error occurs, this function sets the Parse.db.mallocFailed // flag and returns zero. -func windowExprGtZero(tls *libc.TLS, pParse uintptr, pExpr uintptr) int32 { /* sqlite3.c:160616:12: */ +func windowExprGtZero(tls *libc.TLS, pParse uintptr, pExpr uintptr) int32 { /* sqlite3.c:160673:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -157246,7 +157277,7 @@ func windowExprGtZero(tls *libc.TLS, pParse uintptr, pExpr uintptr) int32 { /* s // // The text above leaves out many details. Refer to the code and comments // below for a more complete picture. -func Xsqlite3WindowCodeStep(tls *libc.TLS, pParse uintptr, p uintptr, pWInfo uintptr, regGosub int32, addrGosub int32) { /* sqlite3.c:160963:21: */ +func Xsqlite3WindowCodeStep(tls *libc.TLS, pParse uintptr, p uintptr, pWInfo uintptr, regGosub int32, addrGosub int32) { /* sqlite3.c:161020:21: */ bp := tls.Alloc(72) defer tls.Free(72) @@ -157643,17 +157674,17 @@ type TrigEvent = struct { Fa int32 F__ccgo_pad1 [4]byte Fb uintptr -} /* sqlite3.c:161363:1 */ +} /* sqlite3.c:161420:1 */ type FrameBound = struct { FeType int32 F__ccgo_pad1 [4]byte FpExpr uintptr -} /* sqlite3.c:161365:1 */ +} /* sqlite3.c:161422:1 */ // Disable lookaside memory allocation for objects that might be // shared across database connections. -func disableLookaside(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:161371:13: */ +func disableLookaside(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:161428:13: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb (*Parse)(unsafe.Pointer(pParse)).FdisableLookaside++ (*Sqlite3)(unsafe.Pointer(db)).Flookaside.FbDisable++ @@ -157663,7 +157694,7 @@ func disableLookaside(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:161371:13: * // For a compound SELECT statement, make sure p->pPrior->pNext==p for // all elements in the list. And make sure list length does not exceed // SQLITE_LIMIT_COMPOUND_SELECT. -func parserDoubleLinkSelect(tls *libc.TLS, pParse uintptr, p uintptr) { /* sqlite3.c:161404:15: */ +func parserDoubleLinkSelect(tls *libc.TLS, pParse uintptr, p uintptr) { /* sqlite3.c:161461:15: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -157702,7 +157733,7 @@ func parserDoubleLinkSelect(tls *libc.TLS, pParse uintptr, p uintptr) { /* sqlit // Attach a With object describing the WITH clause to a Select // object describing the query for which the WITH clause is a prefix. -func attachWithToSelect(tls *libc.TLS, pParse uintptr, pSelect uintptr, pWith uintptr) uintptr { /* sqlite3.c:161435:17: */ +func attachWithToSelect(tls *libc.TLS, pParse uintptr, pSelect uintptr, pWith uintptr) uintptr { /* sqlite3.c:161492:17: */ if pSelect != 0 { (*Select)(unsafe.Pointer(pSelect)).FpWith = pWith parserDoubleLinkSelect(tls, pParse, pSelect) @@ -157714,7 +157745,7 @@ func attachWithToSelect(tls *libc.TLS, pParse uintptr, pSelect uintptr, pWith ui } // Construct a new Expr object from a single token -func tokenExpr(tls *libc.TLS, pParse uintptr, op int32, t Token) uintptr { /* sqlite3.c:161447:15: */ +func tokenExpr(tls *libc.TLS, pParse uintptr, op int32, t Token) uintptr { /* sqlite3.c:161504:15: */ bp := tls.Alloc(16) defer tls.Free(16) *(*Token)(unsafe.Pointer(bp)) = t @@ -157752,7 +157783,7 @@ func tokenExpr(tls *libc.TLS, pParse uintptr, op int32, t Token) uintptr { /* sq // A routine to convert a binary TK_IS or TK_ISNOT expression into a // unary TK_ISNULL or TK_NOTNULL expression. -func binaryToUnaryIfNull(tls *libc.TLS, pParse uintptr, pY uintptr, pA uintptr, op int32) { /* sqlite3.c:161483:15: */ +func binaryToUnaryIfNull(tls *libc.TLS, pParse uintptr, pY uintptr, pA uintptr, op int32) { /* sqlite3.c:161540:15: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb if pA != 0 && pY != 0 && int32((*Expr)(unsafe.Pointer(pY)).Fop) == TK_NULL && !(int32((*Parse)(unsafe.Pointer(pParse)).FeParseMode) >= PARSE_MODE_RENAME) { (*Expr)(unsafe.Pointer(pA)).Fop = U8(op) @@ -157766,7 +157797,7 @@ func binaryToUnaryIfNull(tls *libc.TLS, pParse uintptr, pY uintptr, pA uintptr, // list of identifiers. Report an error if the ID list contains // a COLLATE clause or an ASC or DESC keyword, except ignore the // error while parsing a legacy schema. -func parserAddExprIdListTerm(tls *libc.TLS, pParse uintptr, pPrior uintptr, pIdToken uintptr, hasCollate int32, sortOrder int32) uintptr { /* sqlite3.c:161497:19: */ +func parserAddExprIdListTerm(tls *libc.TLS, pParse uintptr, pPrior uintptr, pIdToken uintptr, hasCollate int32, sortOrder int32) uintptr { /* sqlite3.c:161554:19: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -157841,7 +157872,7 @@ type YYMINORTYPE = struct { F__ccgo_pad1 [0]uint64 Fyyinit int32 F__ccgo_pad2 [12]byte -} /* sqlite3.c:161789:3 */ +} /* sqlite3.c:161846:3 */ //************ End control #defines ****************************************** // Define the yytestcase() macro to be a no-op if is not already defined @@ -158110,7 +158141,7 @@ var yy_action = [2070]uint16{ /* 2040 */ uint16(29), uint16(921), uint16(390), uint16(1176), uint16(172), uint16(139), uint16(1175), uint16(1235), uint16(261), uint16(1235), /* 2050 */ uint16(1235), uint16(1235), uint16(1235), uint16(1235), uint16(1235), uint16(1235), uint16(1235), uint16(262), uint16(1235), uint16(1235), /* 2060 */ uint16(1235), uint16(1235), uint16(1235), uint16(1235), uint16(1235), uint16(1235), uint16(1235), uint16(1235), uint16(1593), uint16(1592), -} /* sqlite3.c:161883:27 */ +} /* sqlite3.c:161940:27 */ var yy_lookahead = [2255]uint16{ /* 0 */ uint16(193), uint16(223), uint16(193), uint16(225), uint16(193), uint16(193), uint16(193), uint16(274), uint16(275), uint16(276), /* 10 */ uint16(193), uint16(233), uint16(219), uint16(193), uint16(274), uint16(275), uint16(276), uint16(206), uint16(206), uint16(19), @@ -158338,7 +158369,7 @@ var yy_lookahead = [2255]uint16{ /* 2230 */ uint16(319), uint16(319), uint16(319), uint16(319), uint16(319), uint16(319), uint16(319), uint16(319), uint16(319), uint16(319), /* 2240 */ uint16(319), uint16(319), uint16(319), uint16(319), uint16(319), uint16(319), uint16(319), uint16(319), uint16(319), uint16(319), /* 2250 */ uint16(319), uint16(319), uint16(319), uint16(319), uint16(319), -} /* sqlite3.c:162092:25 */ +} /* sqlite3.c:162149:25 */ var yy_shift_ofst = [574]uint16{ /* 0 */ uint16(1648), uint16(1477), uint16(1272), uint16(322), uint16(322), uint16(262), uint16(1319), uint16(1478), uint16(1491), uint16(1662), /* 10 */ uint16(1662), uint16(1662), uint16(317), uint16(0), uint16(0), uint16(214), uint16(1093), uint16(1662), uint16(1662), uint16(1662), @@ -158398,7 +158429,7 @@ var yy_shift_ofst = [574]uint16{ /* 550 */ uint16(2005), uint16(2006), uint16(2007), uint16(2008), uint16(2009), uint16(2001), uint16(2020), uint16(2012), uint16(2013), uint16(2014), /* 560 */ uint16(2015), uint16(2017), uint16(2018), uint16(2011), uint16(1906), uint16(1907), uint16(1916), uint16(1927), uint16(1928), uint16(2019), /* 570 */ uint16(2022), uint16(2027), uint16(2042), uint16(2045), -} /* sqlite3.c:162323:33 */ +} /* sqlite3.c:162380:33 */ var yy_reduce_ofst = [409]int16{ /* 0 */ int16(-125), int16(733), int16(789), int16(241), int16(293), int16(-123), int16(-193), int16(-191), int16(-183), int16(-187), /* 10 */ int16(-180), int16(83), int16(133), int16(-207), int16(-198), int16(-267), int16(-175), int16(-6), int16(166), int16(313), @@ -158441,7 +158472,7 @@ var yy_reduce_ofst = [409]int16{ /* 380 */ int16(1641), int16(1602), int16(1676), int16(1642), int16(1646), int16(1644), int16(1650), int16(1654), int16(1683), int16(1694), /* 390 */ int16(1707), int16(1711), int16(1712), int16(1714), int16(1643), int16(1647), int16(1652), int16(1698), int16(1695), int16(1696), /* 400 */ int16(1697), int16(1699), int16(1700), int16(1689), int16(1691), int16(1701), int16(1702), int16(1704), int16(1715), -} /* sqlite3.c:162386:20 */ +} /* sqlite3.c:162443:20 */ var yy_default = [574]uint16{ /* 0 */ uint16(1637), uint16(1637), uint16(1637), uint16(1466), uint16(1233), uint16(1344), uint16(1233), uint16(1233), uint16(1233), uint16(1466), /* 10 */ uint16(1466), uint16(1466), uint16(1233), uint16(1374), uint16(1374), uint16(1519), uint16(1266), uint16(1233), uint16(1233), uint16(1233), @@ -158501,7 +158532,7 @@ var yy_default = [574]uint16{ /* 550 */ uint16(1233), uint16(1233), uint16(1233), uint16(1233), uint16(1233), uint16(1233), uint16(1233), uint16(1233), uint16(1233), uint16(1233), /* 560 */ uint16(1233), uint16(1233), uint16(1233), uint16(1610), uint16(1325), uint16(1416), uint16(1233), uint16(1415), uint16(1419), uint16(1255), /* 570 */ uint16(1233), uint16(1245), uint16(1233), uint16(1233), -} /* sqlite3.c:162429:27 */ +} /* sqlite3.c:162486:27 */ //********* End of lemon-generated parsing tables **************************** // The next table maps tokens (terminal symbols) into fallback tokens. @@ -158703,7 +158734,7 @@ var yyFallback = [185]uint16{ uint16(0), // ERROR => nothing uint16(0), // SPACE => nothing uint16(0), // ILLEGAL => nothing -} /* sqlite3.c:162506:25 */ +} /* sqlite3.c:162563:25 */ // The following structure represents a single element of the // parser's stack. Information stored includes: @@ -158725,9 +158756,9 @@ type yyStackEntry = struct { Fmajor uint16 F__ccgo_pad1 [4]byte Fminor YYMINORTYPE -} /* sqlite3.c:162711:1 */ +} /* sqlite3.c:162768:1 */ -type YyStackEntry = yyStackEntry /* sqlite3.c:162718:29 */ +type YyStackEntry = yyStackEntry /* sqlite3.c:162775:29 */ // The state of the parser is completely contained in an instance of // the following structure @@ -158736,9 +158767,9 @@ type yyParser = struct { FpParse uintptr Fyystack [100]YyStackEntry FyystackEnd uintptr -} /* sqlite3.c:162722:1 */ +} /* sqlite3.c:162779:1 */ -type YyParser = yyParser /* sqlite3.c:162741:25 */ +type YyParser = yyParser /* sqlite3.c:162798:25 */ // #include @@ -158748,7 +158779,7 @@ type YyParser = yyParser /* sqlite3.c:162741:25 */ // grammar. // Initialize a new parser that has already been allocated. -func Xsqlite3ParserInit(tls *libc.TLS, yypRawParser uintptr, pParse uintptr) { /* sqlite3.c:163556:21: */ +func Xsqlite3ParserInit(tls *libc.TLS, yypRawParser uintptr, pParse uintptr) { /* sqlite3.c:163613:21: */ var yypParser uintptr = yypRawParser (*YyParser)(unsafe.Pointer(yypParser)).FpParse = pParse (*YyParser)(unsafe.Pointer(yypParser)).Fyytos = yypParser + 16 /* &.yystack */ @@ -158763,7 +158794,7 @@ func Xsqlite3ParserInit(tls *libc.TLS, yypRawParser uintptr, pParse uintptr) { / // a pointer to the value to be deleted. The code used to do the // deletions is derived from the %destructor and/or %token_destructor // directives of the input grammar. -func yy_destructor(tls *libc.TLS, yypParser uintptr, yymajor uint16, yypminor uintptr) { /* sqlite3.c:163614:13: */ +func yy_destructor(tls *libc.TLS, yypParser uintptr, yymajor uint16, yypminor uintptr) { /* sqlite3.c:163671:13: */ var pParse uintptr = (*YyParser)(unsafe.Pointer(yypParser)).FpParse switch int32(yymajor) { @@ -158922,7 +158953,7 @@ func yy_destructor(tls *libc.TLS, yypParser uintptr, yymajor uint16, yypminor ui // // If there is a destructor routine associated with the token which // is popped from the stack, then call it. -func yy_pop_parser_stack(tls *libc.TLS, pParser uintptr) { /* sqlite3.c:163739:13: */ +func yy_pop_parser_stack(tls *libc.TLS, pParser uintptr) { /* sqlite3.c:163796:13: */ var yytos uintptr yytos = libc.PostDecUintptr(&(*YyParser)(unsafe.Pointer(pParser)).Fyytos, 24) @@ -158930,7 +158961,7 @@ func yy_pop_parser_stack(tls *libc.TLS, pParser uintptr) { /* sqlite3.c:163739:1 } // Clear all secondary memory allocations from the parser -func Xsqlite3ParserFinalize(tls *libc.TLS, p uintptr) { /* sqlite3.c:163757:21: */ +func Xsqlite3ParserFinalize(tls *libc.TLS, p uintptr) { /* sqlite3.c:163814:21: */ var pParser uintptr = p for (*YyParser)(unsafe.Pointer(pParser)).Fyytos > pParser+16 { yy_pop_parser_stack(tls, pParser) @@ -158953,7 +158984,7 @@ func Xsqlite3ParserFinalize(tls *libc.TLS, p uintptr) { /* sqlite3.c:163757:21: // Find the appropriate action for a parser given the terminal // look-ahead token iLookAhead. -func yy_find_shift_action(tls *libc.TLS, iLookAhead uint16, stateno uint16) uint16 { /* sqlite3.c:163837:21: */ +func yy_find_shift_action(tls *libc.TLS, iLookAhead uint16, stateno uint16) uint16 { /* sqlite3.c:163894:21: */ var i int32 if int32(stateno) > YY_MAX_SHIFT { @@ -158993,7 +159024,7 @@ func yy_find_shift_action(tls *libc.TLS, iLookAhead uint16, stateno uint16) uint // Find the appropriate action for a parser given the non-terminal // look-ahead token iLookAhead. -func yy_find_reduce_action(tls *libc.TLS, stateno uint16, iLookAhead uint16) uint16 { /* sqlite3.c:163902:21: */ +func yy_find_reduce_action(tls *libc.TLS, stateno uint16, iLookAhead uint16) uint16 { /* sqlite3.c:163959:21: */ var i int32 i = int32(yy_reduce_ofst[stateno]) @@ -159004,7 +159035,7 @@ func yy_find_reduce_action(tls *libc.TLS, stateno uint16, iLookAhead uint16) uin } // The following routine is called if the stack overflows. -func yyStackOverflow(tls *libc.TLS, yypParser uintptr) { /* sqlite3.c:163931:13: */ +func yyStackOverflow(tls *libc.TLS, yypParser uintptr) { /* sqlite3.c:163988:13: */ var pParse uintptr = (*YyParser)(unsafe.Pointer(yypParser)).FpParse for (*YyParser)(unsafe.Pointer(yypParser)).Fyytos > yypParser+16 { @@ -159023,7 +159054,7 @@ func yyStackOverflow(tls *libc.TLS, yypParser uintptr) { /* sqlite3.c:163931:13: // Print tracing information for a SHIFT action // Perform a shift action. -func yy_shift(tls *libc.TLS, yypParser uintptr, yyNewState uint16, yyMajor uint16, yyMinor Token) { /* sqlite3.c:163974:13: */ +func yy_shift(tls *libc.TLS, yypParser uintptr, yyNewState uint16, yyMajor uint16, yyMinor Token) { /* sqlite3.c:164031:13: */ var yytos uintptr (*YyParser)(unsafe.Pointer(yypParser)).Fyytos += 24 if (*YyParser)(unsafe.Pointer(yypParser)).Fyytos > (*YyParser)(unsafe.Pointer(yypParser)).FyystackEnd { @@ -159446,7 +159477,7 @@ var yyRuleInfoLhs = [402]uint16{ uint16(303), // (399) anylist ::= anylist LP anylist RP uint16(303), // (400) anylist ::= anylist ANY uint16(266), // (401) with ::= -} /* sqlite3.c:164015:25 */ +} /* sqlite3.c:164072:25 */ // For rule J, yyRuleInfoNRhs[J] contains the negative of the number // of symbols on the right-hand side of that rule. @@ -159853,7 +159884,7 @@ var yyRuleInfoNRhs = [402]int8{ int8(-4), // (399) anylist ::= anylist LP anylist RP int8(-2), // (400) anylist ::= anylist ANY int8(0), // (401) with ::= -} /* sqlite3.c:164422:26 */ +} /* sqlite3.c:164479:26 */ // Forward Declaration @@ -159865,7 +159896,7 @@ var yyRuleInfoNRhs = [402]int8{ // if the lookahead token has already been consumed. As this procedure is // only called from one place, optimizing compilers will in-line it, which // means that the extra parameters have no performance impact. -func yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead int32, yyLookaheadToken Token, pParse uintptr) uint16 { /* sqlite3.c:164839:21: */ +func yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead int32, yyLookaheadToken Token, pParse uintptr) uint16 { /* sqlite3.c:164896:21: */ bp := tls.Alloc(144) defer tls.Free(144) @@ -161860,7 +161891,7 @@ func yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead in // The following code executes when the parse fails // The following code executes when a syntax error first occurs. -func yy_syntax_error(tls *libc.TLS, yypParser uintptr, yymajor int32, yyminor Token) { /* sqlite3.c:166395:13: */ +func yy_syntax_error(tls *libc.TLS, yypParser uintptr, yymajor int32, yyminor Token) { /* sqlite3.c:166452:13: */ bp := tls.Alloc(24) defer tls.Free(24) *(*Token)(unsafe.Pointer(bp + 8)) = yyminor @@ -161880,7 +161911,7 @@ func yy_syntax_error(tls *libc.TLS, yypParser uintptr, yymajor int32, yyminor To } // The following is executed when the parser accepts -func yy_accept(tls *libc.TLS, yypParser uintptr) { /* sqlite3.c:166419:13: */ +func yy_accept(tls *libc.TLS, yypParser uintptr) { /* sqlite3.c:166476:13: */ var pParse uintptr = (*YyParser)(unsafe.Pointer(yypParser)).FpParse @@ -161910,7 +161941,7 @@ func yy_accept(tls *libc.TLS, yypParser uintptr) { /* sqlite3.c:166419:13: */ // // Outputs: // None. -func Xsqlite3Parser(tls *libc.TLS, yyp uintptr, yymajor int32, yyminor Token) { /* sqlite3.c:166460:21: */ +func Xsqlite3Parser(tls *libc.TLS, yyp uintptr, yymajor int32, yyminor Token) { /* sqlite3.c:166517:21: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -161964,7 +161995,7 @@ func Xsqlite3Parser(tls *libc.TLS, yyp uintptr, yymajor int32, yyminor Token) { // Return the fallback token corresponding to canonical token iToken, or // 0 if iToken has no fallback. -func Xsqlite3ParserFallback(tls *libc.TLS, iToken int32) int32 { /* sqlite3.c:166677:20: */ +func Xsqlite3ParserFallback(tls *libc.TLS, iToken int32) int32 { /* sqlite3.c:166734:20: */ return int32(yyFallback[iToken]) } @@ -162015,7 +162046,7 @@ var aiClass = [256]uint8{ /* Dx */ uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), /* Ex */ uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(30), /* Fx */ uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), -} /* sqlite3.c:166749:28 */ +} /* sqlite3.c:166806:28 */ // The charMap() macro maps alphabetic characters (only) into their // lower-case ASCII equivalent. On ASCII machines, this is just @@ -162101,7 +162132,7 @@ var zKWText = [666]int8{ int8('W'), int8('S'), int8('U'), int8('N'), int8('B'), int8('O'), int8('U'), int8('N'), int8('D'), int8('E'), int8('D'), int8('U'), int8('N'), int8('I'), int8('O'), int8('N'), int8('U'), int8('S'), int8('I'), int8('N'), int8('G'), int8('V'), int8('A'), int8('C'), int8('U'), int8('U'), int8('M'), int8('V'), int8('I'), int8('E'), int8('W'), int8('I'), int8('N'), int8('D'), int8('O'), int8('W'), int8('B'), int8('Y'), int8('I'), int8('N'), int8('I'), int8('T'), int8('I'), int8('A'), int8('L'), int8('L'), int8('Y'), int8('P'), int8('R'), int8('I'), int8('M'), int8('A'), int8('R'), int8('Y'), -} /* sqlite3.c:166865:19 */ +} /* sqlite3.c:166922:19 */ // aKWHash[i] is the hash value for the i-th keyword var aKWHash = [127]uint8{ uint8(84), uint8(92), uint8(134), uint8(82), uint8(105), uint8(29), uint8(0), uint8(0), uint8(94), uint8(0), uint8(85), uint8(72), uint8(0), @@ -162114,7 +162145,7 @@ var aKWHash = [127]uint8{ uint8(50), uint8(124), uint8(0), uint8(100), uint8(0), uint8(18), uint8(121), uint8(144), uint8(56), uint8(130), uint8(139), uint8(88), uint8(83), uint8(37), uint8(30), uint8(126), uint8(0), uint8(0), uint8(108), uint8(51), uint8(131), uint8(128), uint8(0), uint8(34), uint8(0), uint8(0), uint8(132), uint8(0), uint8(98), uint8(38), uint8(39), uint8(0), uint8(20), uint8(45), uint8(117), uint8(93), -} /* sqlite3.c:166905:28 */ +} /* sqlite3.c:166962:28 */ // aKWNext[] forms the hash collision chain. If aKWHash[i]==0 // then the i-th keyword has no more hash collisions. Otherwise, // the next keyword with the same hash is aKWHash[i]-1. @@ -162131,7 +162162,7 @@ var aKWNext = [147]uint8{ uint8(112), uint8(21), uint8(7), uint8(67), uint8(0), uint8(79), uint8(96), uint8(118), uint8(0), uint8(0), uint8(68), uint8(0), uint8(0), uint8(99), uint8(44), uint8(0), uint8(55), uint8(0), uint8(76), uint8(0), uint8(95), uint8(32), uint8(33), uint8(57), uint8(25), uint8(0), uint8(102), uint8(0), uint8(0), uint8(87), -} /* sqlite3.c:166920:28 */ +} /* sqlite3.c:166977:28 */ // aKWLen[i] is the length (in bytes) of the i-th keyword var aKWLen = [147]uint8{ uint8(7), uint8(7), uint8(5), uint8(4), uint8(6), uint8(4), uint8(5), uint8(3), uint8(6), uint8(7), uint8(3), uint8(6), uint8(6), @@ -162146,7 +162177,7 @@ var aKWLen = [147]uint8{ uint8(4), uint8(4), uint8(6), uint8(7), uint8(5), uint8(9), uint8(4), uint8(4), uint8(5), uint8(2), uint8(5), uint8(8), uint8(6), uint8(4), uint8(9), uint8(5), uint8(8), uint8(4), uint8(3), uint8(9), uint8(5), uint8(5), uint8(6), uint8(4), uint8(6), uint8(2), uint8(2), uint8(9), uint8(3), uint8(7), -} /* sqlite3.c:166935:28 */ +} /* sqlite3.c:166992:28 */ // aKWOffset[i] is the index into zKWText[] of the start of // the text for the i-th keyword. var aKWOffset = [147]uint16{ @@ -162162,7 +162193,7 @@ var aKWOffset = [147]uint16{ uint16(520), uint16(523), uint16(527), uint16(532), uint16(539), uint16(544), uint16(553), uint16(557), uint16(560), uint16(565), uint16(567), uint16(571), uint16(579), uint16(585), uint16(588), uint16(597), uint16(602), uint16(610), uint16(610), uint16(614), uint16(623), uint16(628), uint16(633), uint16(639), uint16(642), uint16(645), uint16(648), uint16(650), uint16(655), uint16(659), -} /* sqlite3.c:166951:33 */ +} /* sqlite3.c:167008:33 */ // aKWCode[i] is the parser symbol code for the i-th keyword var aKWCode = [147]uint8{ uint8(TK_REINDEX), uint8(TK_INDEXED), uint8(TK_INDEX), uint8(TK_DESC), uint8(TK_ESCAPE), @@ -162195,7 +162226,7 @@ var aKWCode = [147]uint8{ uint8(TK_ROW), uint8(TK_UNBOUNDED), uint8(TK_UNION), uint8(TK_USING), uint8(TK_VACUUM), uint8(TK_VIEW), uint8(TK_WINDOW), uint8(TK_DO), uint8(TK_BY), uint8(TK_INITIALLY), uint8(TK_ALL), uint8(TK_PRIMARY), -} /* sqlite3.c:166966:28 */ +} /* sqlite3.c:167023:28 */ // Hash table decoded: // 0: INSERT @@ -162328,7 +162359,7 @@ var aKWCode = [147]uint8{ // Check to see if z[0..n-1] is a keyword. If it is, write the // parser symbol code for that keyword into *pType. Always // return the integer n (the length of the token). -func keywordCode(tls *libc.TLS, z uintptr, n int32, pType uintptr) int32 { /* sqlite3.c:167130:12: */ +func keywordCode(tls *libc.TLS, z uintptr, n int32, pType uintptr) int32 { /* sqlite3.c:167187:12: */ var i int32 var j int32 var zKW uintptr @@ -162506,7 +162537,7 @@ func keywordCode(tls *libc.TLS, z uintptr, n int32, pType uintptr) int32 { /* sq return n } -func Xsqlite3KeywordCode(tls *libc.TLS, z uintptr, n int32) int32 { /* sqlite3.c:167304:20: */ +func Xsqlite3KeywordCode(tls *libc.TLS, z uintptr, n int32) int32 { /* sqlite3.c:167361:20: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -162515,7 +162546,7 @@ func Xsqlite3KeywordCode(tls *libc.TLS, z uintptr, n int32) int32 { /* sqlite3.c return *(*int32)(unsafe.Pointer(bp /* id */)) } -func Xsqlite3_keyword_name(tls *libc.TLS, i int32, pzName uintptr, pnName uintptr) int32 { /* sqlite3.c:167310:16: */ +func Xsqlite3_keyword_name(tls *libc.TLS, i int32, pzName uintptr, pnName uintptr) int32 { /* sqlite3.c:167367:16: */ if i < 0 || i >= SQLITE_N_KEYWORD { return SQLITE_ERROR } @@ -162524,11 +162555,11 @@ func Xsqlite3_keyword_name(tls *libc.TLS, i int32, pzName uintptr, pnName uintpt return SQLITE_OK } -func Xsqlite3_keyword_count(tls *libc.TLS) int32 { /* sqlite3.c:167316:16: */ +func Xsqlite3_keyword_count(tls *libc.TLS) int32 { /* sqlite3.c:167373:16: */ return SQLITE_N_KEYWORD } -func Xsqlite3_keyword_check(tls *libc.TLS, zName uintptr, nName int32) int32 { /* sqlite3.c:167317:16: */ +func Xsqlite3_keyword_check(tls *libc.TLS, zName uintptr, nName int32) int32 { /* sqlite3.c:167374:16: */ return libc.Bool32(TK_ID != Xsqlite3KeywordCode(tls, zName, nName)) } @@ -162551,13 +162582,13 @@ func Xsqlite3_keyword_check(tls *libc.TLS, zName uintptr, nName int32) int32 { / // But the feature is undocumented. // Make the IdChar function accessible from ctime.c and alter.c -func Xsqlite3IsIdChar(tls *libc.TLS, c U8) int32 { /* sqlite3.c:167364:20: */ +func Xsqlite3IsIdChar(tls *libc.TLS, c U8) int32 { /* sqlite3.c:167421:20: */ return libc.Bool32(int32(Xsqlite3CtypeMap[c])&0x46 != 0) } // Return the id of the next token in string (*pz). Before returning, set // (*pz) to point to the byte following the parsed token. -func getToken(tls *libc.TLS, pz uintptr) int32 { /* sqlite3.c:167371:12: */ +func getToken(tls *libc.TLS, pz uintptr) int32 { /* sqlite3.c:167428:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -162607,7 +162638,7 @@ func getToken(tls *libc.TLS, pz uintptr) int32 { /* sqlite3.c:167371:12: */ // // * the previous token was TK_RP, and // * the next token is TK_LP. -func analyzeWindowKeyword(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:167420:12: */ +func analyzeWindowKeyword(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:167477:12: */ bp := tls.Alloc(8) defer tls.Free(8) *(*uintptr)(unsafe.Pointer(bp)) = z @@ -162624,7 +162655,7 @@ func analyzeWindowKeyword(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:167420: return TK_WINDOW } -func analyzeOverKeyword(tls *libc.TLS, z uintptr, lastToken int32) int32 { /* sqlite3.c:167428:12: */ +func analyzeOverKeyword(tls *libc.TLS, z uintptr, lastToken int32) int32 { /* sqlite3.c:167485:12: */ bp := tls.Alloc(8) defer tls.Free(8) *(*uintptr)(unsafe.Pointer(bp)) = z @@ -162638,7 +162669,7 @@ func analyzeOverKeyword(tls *libc.TLS, z uintptr, lastToken int32) int32 { /* sq return TK_ID } -func analyzeFilterKeyword(tls *libc.TLS, z uintptr, lastToken int32) int32 { /* sqlite3.c:167435:12: */ +func analyzeFilterKeyword(tls *libc.TLS, z uintptr, lastToken int32) int32 { /* sqlite3.c:167492:12: */ bp := tls.Alloc(8) defer tls.Free(8) *(*uintptr)(unsafe.Pointer(bp)) = z @@ -162651,7 +162682,7 @@ func analyzeFilterKeyword(tls *libc.TLS, z uintptr, lastToken int32) int32 { /* // Return the length (in bytes) of the token that begins at z[0]. // Store the token type in *tokenType before returning. -func Xsqlite3GetToken(tls *libc.TLS, z uintptr, tokenType uintptr) int32 { /* sqlite3.c:167447:20: */ +func Xsqlite3GetToken(tls *libc.TLS, z uintptr, tokenType uintptr) int32 { /* sqlite3.c:167504:20: */ var i int32 var c int32 switch int32(aiClass[*(*uint8)(unsafe.Pointer(z))]) { // Switch on the character-class of the first byte @@ -163019,7 +163050,7 @@ func Xsqlite3GetToken(tls *libc.TLS, z uintptr, tokenType uintptr) int32 { /* sq } // Run the parser on the given SQL string. -func Xsqlite3RunParser(tls *libc.TLS, pParse uintptr, zSql uintptr) int32 { /* sqlite3.c:167741:20: */ +func Xsqlite3RunParser(tls *libc.TLS, pParse uintptr, zSql uintptr) int32 { /* sqlite3.c:167798:20: */ bp := tls.Alloc(2480) defer tls.Free(2480) @@ -163209,7 +163240,7 @@ func Xsqlite3RunParser(tls *libc.TLS, pParse uintptr, zSql uintptr) int32 { /* s // If we compile with SQLITE_OMIT_TRIGGER, all of the computation needed // to recognize the end of a trigger can be omitted. All we have to do // is look for a semicolon that is not part of an string or comment. -func Xsqlite3_complete(tls *libc.TLS, zSql uintptr) int32 { /* sqlite3.c:168133:16: */ +func Xsqlite3_complete(tls *libc.TLS, zSql uintptr) int32 { /* sqlite3.c:168190:16: */ var state U8 = U8(0) // Current state, using numbers defined in header comment var token U8 @@ -163386,12 +163417,12 @@ var trans = [8][8]U8{ /* 5 TRIGGER: */ {U8(6), U8(5), U8(5), U8(5), U8(5), U8(5), U8(5), U8(5)}, /* 6 SEMI: */ {U8(6), U8(6), U8(5), U8(5), U8(5), U8(5), U8(5), U8(7)}, /* 7 END: */ {U8(1), U8(7), U8(5), U8(5), U8(5), U8(5), U8(5), U8(5)}, -} /* sqlite3.c:168141:19 */ +} /* sqlite3.c:168198:19 */ // This routine is the same as the sqlite3_complete() routine described // above, except that the parameter is required to be UTF-16 encoded, not // UTF-8. -func Xsqlite3_complete16(tls *libc.TLS, zSql uintptr) int32 { /* sqlite3.c:168298:16: */ +func Xsqlite3_complete16(tls *libc.TLS, zSql uintptr) int32 { /* sqlite3.c:168355:16: */ var pVal uintptr var zSql8 uintptr var rc int32 @@ -163418,7 +163449,7 @@ func Xsqlite3_complete16(tls *libc.TLS, zSql uintptr) int32 { /* sqlite3.c:16829 // This is an extension initializer that is a no-op and always // succeeds, except that it fails if the fault-simulation is set // to 500. -func sqlite3TestExtInit(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:168450:12: */ +func sqlite3TestExtInit(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:168507:12: */ _ = db return Xsqlite3FaultSim(tls, 500) } @@ -163430,11 +163461,11 @@ var sqlite3BuiltinExtensions = [4]uintptr{ 0, 0, 0, -} /* sqlite3.c:168477:12 */ +} /* sqlite3.c:168534:12 */ // IMPLEMENTATION-OF: R-53536-42575 The sqlite3_libversion() function returns // a pointer to the to the sqlite3_version[] string constant. -func Xsqlite3_libversion(tls *libc.TLS) uintptr { /* sqlite3.c:168524:23: */ +func Xsqlite3_libversion(tls *libc.TLS) uintptr { /* sqlite3.c:168581:23: */ return uintptr(unsafe.Pointer(&Xsqlite3_version)) } @@ -163447,14 +163478,14 @@ func Xsqlite3_libversion(tls *libc.TLS) uintptr { /* sqlite3.c:168524:23: */ // IMPLEMENTATION-OF: R-35210-63508 The sqlite3_libversion_number() function // returns an integer equal to SQLITE_VERSION_NUMBER. -func Xsqlite3_libversion_number(tls *libc.TLS) int32 { /* sqlite3.c:168537:16: */ +func Xsqlite3_libversion_number(tls *libc.TLS) int32 { /* sqlite3.c:168594:16: */ return SQLITE_VERSION_NUMBER } // IMPLEMENTATION-OF: R-20790-14025 The sqlite3_threadsafe() function returns // zero if and only if SQLite was compiled with mutexing code omitted due to // the SQLITE_THREADSAFE compile-time option being set to 0. -func Xsqlite3_threadsafe(tls *libc.TLS) int32 { /* sqlite3.c:168543:16: */ +func Xsqlite3_threadsafe(tls *libc.TLS) int32 { /* sqlite3.c:168600:16: */ return SQLITE_THREADSAFE } @@ -163467,14 +163498,14 @@ func Xsqlite3_threadsafe(tls *libc.TLS) int32 { /* sqlite3.c:168543:16: */ // temporary files. // // See also the "PRAGMA temp_store_directory" SQL command. -var Xsqlite3_temp_directory uintptr = uintptr(0) /* sqlite3.c:168574:17 */ +var Xsqlite3_temp_directory uintptr = uintptr(0) /* sqlite3.c:168631:17 */ // If the following global variable points to a string which is the // name of a directory, then that directory will be used to store // all database files specified with a relative pathname. // // See also the "PRAGMA data_store_directory" SQL command. -var Xsqlite3_data_directory uintptr = uintptr(0) /* sqlite3.c:168583:17 */ +var Xsqlite3_data_directory uintptr = uintptr(0) /* sqlite3.c:168640:17 */ // Initialize SQLite. // @@ -163505,7 +163536,7 @@ var Xsqlite3_data_directory uintptr = uintptr(0) /* sqlite3.c:168583:17 */ // // * Recursive calls to this routine from thread X return immediately // without blocking. -func Xsqlite3_initialize(tls *libc.TLS) int32 { /* sqlite3.c:168616:16: */ +func Xsqlite3_initialize(tls *libc.TLS) int32 { /* sqlite3.c:168673:16: */ var pMainMtx uintptr // The main static mutex var rc int32 // Result code @@ -163631,7 +163662,7 @@ func Xsqlite3_initialize(tls *libc.TLS) int32 { /* sqlite3.c:168616:16: */ // routine is not threadsafe. But it is safe to invoke this routine // on when SQLite is already shut down. If SQLite is already shut down // when this routine is invoked, then this routine is a harmless no-op. -func Xsqlite3_shutdown(tls *libc.TLS) int32 { /* sqlite3.c:168791:16: */ +func Xsqlite3_shutdown(tls *libc.TLS) int32 { /* sqlite3.c:168848:16: */ if Xsqlite3Config.FisInit != 0 { Xsqlite3_os_end(tls) @@ -163670,7 +163701,7 @@ func Xsqlite3_shutdown(tls *libc.TLS) int32 { /* sqlite3.c:168791:16: */ // database connections or memory allocations. This routine is not // threadsafe. Failure to heed these warnings can lead to unpredictable // behavior. -func Xsqlite3_config(tls *libc.TLS, op int32, va uintptr) int32 { /* sqlite3.c:168845:16: */ +func Xsqlite3_config(tls *libc.TLS, op int32, va uintptr) int32 { /* sqlite3.c:168902:16: */ var ap Va_list _ = ap var rc int32 = SQLITE_OK @@ -163678,7 +163709,7 @@ func Xsqlite3_config(tls *libc.TLS, op int32, va uintptr) int32 { /* sqlite3.c:1 // sqlite3_config() shall return SQLITE_MISUSE if it is invoked while // the SQLite library is in use. if Xsqlite3Config.FisInit != 0 { - return Xsqlite3MisuseError(tls, 168851) + return Xsqlite3MisuseError(tls, 168908) } ap = va @@ -163948,7 +163979,7 @@ func Xsqlite3_config(tls *libc.TLS, op int32, va uintptr) int32 { /* sqlite3.c:1 // space for the lookaside memory is obtained from sqlite3_malloc(). // If pStart is not NULL then it is sz*cnt bytes of memory to use for // the lookaside memory. -func setupLookaside(tls *libc.TLS, db uintptr, pBuf uintptr, sz int32, cnt int32) int32 { /* sqlite3.c:169163:12: */ +func setupLookaside(tls *libc.TLS, db uintptr, pBuf uintptr, sz int32, cnt int32) int32 { /* sqlite3.c:169220:12: */ var pStart uintptr var szAlloc Sqlite3_int64 = Sqlite3_int64(sz) * Sqlite3_int64(cnt) var nBig int32 // Number of full-size slots @@ -164046,13 +164077,13 @@ func setupLookaside(tls *libc.TLS, db uintptr, pBuf uintptr, sz int32, cnt int32 } // Return the mutex associated with a database connection. -func Xsqlite3_db_mutex(tls *libc.TLS, db uintptr) uintptr { /* sqlite3.c:169263:26: */ +func Xsqlite3_db_mutex(tls *libc.TLS, db uintptr) uintptr { /* sqlite3.c:169320:26: */ return (*Sqlite3)(unsafe.Pointer(db)).Fmutex } // Free up as much memory as we can from the given database // connection. -func Xsqlite3_db_release_memory(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:169277:16: */ +func Xsqlite3_db_release_memory(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:169334:16: */ var i int32 Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) @@ -164071,7 +164102,7 @@ func Xsqlite3_db_release_memory(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c: // Flush any dirty pages in the pager-cache for any attached database // to disk. -func Xsqlite3_db_cacheflush(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:169301:16: */ +func Xsqlite3_db_cacheflush(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:169358:16: */ var i int32 var rc int32 = SQLITE_OK var bSeenBusy int32 = 0 @@ -164100,7 +164131,7 @@ func Xsqlite3_db_cacheflush(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:1693 } // Configuration settings for an individual database connection -func Xsqlite3_db_config(tls *libc.TLS, db uintptr, op int32, va uintptr) int32 { /* sqlite3.c:169330:16: */ +func Xsqlite3_db_config(tls *libc.TLS, db uintptr, op int32, va uintptr) int32 { /* sqlite3.c:169387:16: */ var ap Va_list _ = ap var rc int32 @@ -164179,11 +164210,11 @@ var aFlagOp = [16]struct { {Fop: SQLITE_DBCONFIG_DQS_DML, Fmask: U32(SQLITE_DqsDML)}, {Fop: SQLITE_DBCONFIG_LEGACY_FILE_FORMAT, Fmask: U32(SQLITE_LegacyFileFmt)}, {Fop: SQLITE_DBCONFIG_TRUSTED_SCHEMA, Fmask: U32(SQLITE_TrustedSchema)}, -} /* sqlite3.c:169353:9 */ +} /* sqlite3.c:169410:9 */ // This is the default collating function named "BINARY" which is always // available. -func binCollFunc(tls *libc.TLS, NotUsed uintptr, nKey1 int32, pKey1 uintptr, nKey2 int32, pKey2 uintptr) int32 { /* sqlite3.c:169405:12: */ +func binCollFunc(tls *libc.TLS, NotUsed uintptr, nKey1 int32, pKey1 uintptr, nKey2 int32, pKey2 uintptr) int32 { /* sqlite3.c:169462:12: */ var rc int32 var n int32 _ = NotUsed @@ -164205,7 +164236,7 @@ func binCollFunc(tls *libc.TLS, NotUsed uintptr, nKey1 int32, pKey1 uintptr, nKe // This is the collating function named "RTRIM" which is always // available. Ignore trailing spaces. -func rtrimCollFunc(tls *libc.TLS, pUser uintptr, nKey1 int32, pKey1 uintptr, nKey2 int32, pKey2 uintptr) int32 { /* sqlite3.c:169428:12: */ +func rtrimCollFunc(tls *libc.TLS, pUser uintptr, nKey1 int32, pKey1 uintptr, nKey2 int32, pKey2 uintptr) int32 { /* sqlite3.c:169485:12: */ var pK1 uintptr = pKey1 var pK2 uintptr = pKey2 for nKey1 != 0 && int32(*(*U8)(unsafe.Pointer(pK1 + uintptr(nKey1-1)))) == ' ' { @@ -164218,7 +164249,7 @@ func rtrimCollFunc(tls *libc.TLS, pUser uintptr, nKey1 int32, pKey1 uintptr, nKe } // Return true if CollSeq is the default built-in BINARY. -func Xsqlite3IsBinary(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:169443:20: */ +func Xsqlite3IsBinary(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:169500:20: */ return libc.Bool32(p == uintptr(0) || (*CollSeq)(unsafe.Pointer(p)).FxCmp == *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32 @@ -164232,7 +164263,7 @@ func Xsqlite3IsBinary(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:169443:20: // extends only to the 26 characters used in the English language. // // At the moment there is only a UTF-8 implementation. -func nocaseCollatingFunc(tls *libc.TLS, NotUsed uintptr, nKey1 int32, pKey1 uintptr, nKey2 int32, pKey2 uintptr) int32 { /* sqlite3.c:169457:12: */ +func nocaseCollatingFunc(tls *libc.TLS, NotUsed uintptr, nKey1 int32, pKey1 uintptr, nKey2 int32, pKey2 uintptr) int32 { /* sqlite3.c:169514:12: */ var r int32 = Xsqlite3_strnicmp(tls, pKey1, pKey2, func() int32 { if nKey1 < nKey2 { @@ -164248,39 +164279,39 @@ func nocaseCollatingFunc(tls *libc.TLS, NotUsed uintptr, nKey1 int32, pKey1 uint } // Return the ROWID of the most recent insert -func Xsqlite3_last_insert_rowid(tls *libc.TLS, db uintptr) Sqlite_int64 { /* sqlite3.c:169474:25: */ +func Xsqlite3_last_insert_rowid(tls *libc.TLS, db uintptr) Sqlite_int64 { /* sqlite3.c:169531:25: */ return (*Sqlite3)(unsafe.Pointer(db)).FlastRowid } // Set the value returned by the sqlite3_last_insert_rowid() API function. -func Xsqlite3_set_last_insert_rowid(tls *libc.TLS, db uintptr, iRowid Sqlite3_int64) { /* sqlite3.c:169487:17: */ +func Xsqlite3_set_last_insert_rowid(tls *libc.TLS, db uintptr, iRowid Sqlite3_int64) { /* sqlite3.c:169544:17: */ Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) (*Sqlite3)(unsafe.Pointer(db)).FlastRowid = iRowid Xsqlite3_mutex_leave(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) } // Return the number of changes in the most recent call to sqlite3_exec(). -func Xsqlite3_changes64(tls *libc.TLS, db uintptr) Sqlite3_int64 { /* sqlite3.c:169502:26: */ +func Xsqlite3_changes64(tls *libc.TLS, db uintptr) Sqlite3_int64 { /* sqlite3.c:169559:26: */ return (*Sqlite3)(unsafe.Pointer(db)).FnChange } -func Xsqlite3_changes(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:169511:16: */ +func Xsqlite3_changes(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:169568:16: */ return int32(Xsqlite3_changes64(tls, db)) } // Return the number of changes since the database handle was opened. -func Xsqlite3_total_changes64(tls *libc.TLS, db uintptr) Sqlite3_int64 { /* sqlite3.c:169518:26: */ +func Xsqlite3_total_changes64(tls *libc.TLS, db uintptr) Sqlite3_int64 { /* sqlite3.c:169575:26: */ return (*Sqlite3)(unsafe.Pointer(db)).FnTotalChange } -func Xsqlite3_total_changes(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:169527:16: */ +func Xsqlite3_total_changes(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:169584:16: */ return int32(Xsqlite3_total_changes64(tls, db)) } // Close all open savepoints. This function only manipulates fields of the // database handle object, it does not close any savepoints that may be open // at the b-tree/pager level. -func Xsqlite3CloseSavepoints(tls *libc.TLS, db uintptr) { /* sqlite3.c:169536:21: */ +func Xsqlite3CloseSavepoints(tls *libc.TLS, db uintptr) { /* sqlite3.c:169593:21: */ for (*Sqlite3)(unsafe.Pointer(db)).FpSavepoint != 0 { var pTmp uintptr = (*Sqlite3)(unsafe.Pointer(db)).FpSavepoint (*Sqlite3)(unsafe.Pointer(db)).FpSavepoint = (*Savepoint)(unsafe.Pointer(pTmp)).FpNext @@ -164295,7 +164326,7 @@ func Xsqlite3CloseSavepoints(tls *libc.TLS, db uintptr) { /* sqlite3.c:169536:21 // if this is not the last copy of the function, do not invoke it. Multiple // copies of a single function are created when create_function() is called // with SQLITE_ANY as the encoding. -func functionDestroy(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:169553:13: */ +func functionDestroy(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:169610:13: */ var pDestructor uintptr pDestructor = *(*uintptr)(unsafe.Pointer(p + 64)) @@ -164310,7 +164341,7 @@ func functionDestroy(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:169553 // Disconnect all sqlite3_vtab objects that belong to database connection // db. This is called when db is being closed. -func disconnectAllVtab(tls *libc.TLS, db uintptr) { /* sqlite3.c:169570:13: */ +func disconnectAllVtab(tls *libc.TLS, db uintptr) { /* sqlite3.c:169627:13: */ var i int32 var p uintptr Xsqlite3BtreeEnterAll(tls, db) @@ -164337,7 +164368,7 @@ func disconnectAllVtab(tls *libc.TLS, db uintptr) { /* sqlite3.c:169570:13: */ // Return TRUE if database connection db has unfinalized prepared // statements or unfinished sqlite3_backup objects. -func connectionIsBusy(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:169601:12: */ +func connectionIsBusy(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:169658:12: */ var j int32 if (*Sqlite3)(unsafe.Pointer(db)).FpVdbe != 0 { @@ -164353,14 +164384,14 @@ func connectionIsBusy(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:169601:12: } // Close an existing SQLite database -func sqlite3Close(tls *libc.TLS, db uintptr, forceZombie int32) int32 { /* sqlite3.c:169615:12: */ +func sqlite3Close(tls *libc.TLS, db uintptr, forceZombie int32) int32 { /* sqlite3.c:169672:12: */ if !(db != 0) { // EVIDENCE-OF: R-63257-11740 Calling sqlite3_close() or // sqlite3_close_v2() with a NULL pointer argument is a harmless no-op. return SQLITE_OK } if !(Xsqlite3SafetyCheckSickOrOk(tls, db) != 0) { - return Xsqlite3MisuseError(tls, 169622) + return Xsqlite3MisuseError(tls, 169679) } Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) if int32((*Sqlite3)(unsafe.Pointer(db)).FmTrace)&SQLITE_TRACE_CLOSE != 0 { @@ -164397,7 +164428,7 @@ func sqlite3Close(tls *libc.TLS, db uintptr, forceZombie int32) int32 { /* sqlit // Return the transaction state for a single databse, or the maximum // transaction state over all attached databases if zSchema is null. -func Xsqlite3_txn_state(tls *libc.TLS, db uintptr, zSchema uintptr) int32 { /* sqlite3.c:169669:16: */ +func Xsqlite3_txn_state(tls *libc.TLS, db uintptr, zSchema uintptr) int32 { /* sqlite3.c:169726:16: */ var iDb int32 var nDb int32 var iTxn int32 = -1 @@ -164434,11 +164465,11 @@ func Xsqlite3_txn_state(tls *libc.TLS, db uintptr, zSchema uintptr) int32 { /* s // version forces the connection to become a zombie if there are // unclosed resources, and arranges for deallocation when the last // prepare statement or sqlite3_backup closes. -func Xsqlite3_close(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:169704:16: */ +func Xsqlite3_close(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:169761:16: */ return sqlite3Close(tls, db, 0) } -func Xsqlite3_close_v2(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:169705:16: */ +func Xsqlite3_close_v2(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:169762:16: */ return sqlite3Close(tls, db, 1) } @@ -164448,7 +164479,7 @@ func Xsqlite3_close_v2(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:169705:16 // has been a prior call to sqlite3_close(db) or sqlite3_close_v2(db)) and // every sqlite3_stmt has now been finalized and every sqlite3_backup has // finished, then free all resources. -func Xsqlite3LeaveMutexAndCloseZombie(tls *libc.TLS, db uintptr) { /* sqlite3.c:169716:21: */ +func Xsqlite3LeaveMutexAndCloseZombie(tls *libc.TLS, db uintptr) { /* sqlite3.c:169773:21: */ var i uintptr // Hash table iterator var j int32 @@ -164558,7 +164589,7 @@ func Xsqlite3LeaveMutexAndCloseZombie(tls *libc.TLS, db uintptr) { /* sqlite3.c: // breaker") and made to return tripCode if there are any further // attempts to use that cursor. Read cursors remain open and valid // but are "saved" in case the table pages are moved around. -func Xsqlite3RollbackAll(tls *libc.TLS, db uintptr, tripCode int32) { /* sqlite3.c:169839:21: */ +func Xsqlite3RollbackAll(tls *libc.TLS, db uintptr, tripCode int32) { /* sqlite3.c:169896:21: */ var i int32 var inTrans int32 = 0 var schemaChange int32 @@ -164608,7 +164639,7 @@ func Xsqlite3RollbackAll(tls *libc.TLS, db uintptr, tripCode int32) { /* sqlite3 // Return a static string that describes the kind of error specified in the // argument. -func Xsqlite3ErrStr(tls *libc.TLS, rc int32) uintptr { /* sqlite3.c:170000:27: */ +func Xsqlite3ErrStr(tls *libc.TLS, rc int32) uintptr { /* sqlite3.c:170057:27: */ var zErr uintptr = ts + 23719 /* "unknown error" */ switch rc { case SQLITE_ABORT | int32(2)<<8: @@ -164672,7 +164703,7 @@ var aMsg = [29]uintptr{ ts + 24215, ts + 24238, ts + 24259, -} /* sqlite3.c:170001:20 */ +} /* sqlite3.c:170058:20 */ // This routine implements a busy callback that sleeps and tries // again until a timeout value is reached. The timeout value is @@ -164681,7 +164712,7 @@ var aMsg = [29]uintptr{ // // Return non-zero to retry the lock. Return zero to stop trying // and cause SQLite to return SQLITE_BUSY. -func sqliteDefaultBusyCallback(tls *libc.TLS, ptr uintptr, count int32) int32 { /* sqlite3.c:170070:12: */ +func sqliteDefaultBusyCallback(tls *libc.TLS, ptr uintptr, count int32) int32 { /* sqlite3.c:170127:12: */ var db uintptr = ptr var tmout int32 = (*Sqlite3)(unsafe.Pointer(db)).FbusyTimeout var delay int32 @@ -164704,8 +164735,8 @@ func sqliteDefaultBusyCallback(tls *libc.TLS, ptr uintptr, count int32) int32 { return 1 } -var delays = [12]U8{U8(1), U8(2), U8(5), U8(10), U8(15), U8(20), U8(25), U8(25), U8(25), U8(50), U8(50), U8(100)} /* sqlite3.c:170077:19 */ -var totals = [12]U8{U8(0), U8(1), U8(3), U8(8), U8(18), U8(33), U8(53), U8(78), U8(103), U8(128), U8(178), U8(228)} /* sqlite3.c:170079:19 */ +var delays = [12]U8{U8(1), U8(2), U8(5), U8(10), U8(15), U8(20), U8(25), U8(25), U8(25), U8(50), U8(50), U8(100)} /* sqlite3.c:170134:19 */ +var totals = [12]U8{U8(0), U8(1), U8(3), U8(8), U8(18), U8(33), U8(53), U8(78), U8(103), U8(128), U8(178), U8(228)} /* sqlite3.c:170136:19 */ // Invoke the given busy handler. // @@ -164714,7 +164745,7 @@ var totals = [12]U8{U8(0), U8(1), U8(3), U8(8), U8(18), U8(33), U8(53), U8(78), // // If this routine returns non-zero, the lock is retried. If it // returns 0, the operation aborts with an SQLITE_BUSY error. -func Xsqlite3InvokeBusyHandler(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:170122:20: */ +func Xsqlite3InvokeBusyHandler(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:170179:20: */ var rc int32 if (*BusyHandler)(unsafe.Pointer(p)).FxBusyHandler == uintptr(0) || (*BusyHandler)(unsafe.Pointer(p)).FnBusy < 0 { return 0 @@ -164732,7 +164763,7 @@ func Xsqlite3InvokeBusyHandler(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:17 // This routine sets the busy callback for an Sqlite database to the // given callback function with the given argument. -func Xsqlite3_busy_handler(tls *libc.TLS, db uintptr, xBusy uintptr, pArg uintptr) int32 { /* sqlite3.c:170138:16: */ +func Xsqlite3_busy_handler(tls *libc.TLS, db uintptr, xBusy uintptr, pArg uintptr) int32 { /* sqlite3.c:170195:16: */ Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) (*Sqlite3)(unsafe.Pointer(db)).FbusyHandler.FxBusyHandler = xBusy (*Sqlite3)(unsafe.Pointer(db)).FbusyHandler.FpBusyArg = pArg @@ -164745,7 +164776,7 @@ func Xsqlite3_busy_handler(tls *libc.TLS, db uintptr, xBusy uintptr, pArg uintpt // This routine sets the progress callback for an Sqlite database to the // given callback function with the given argument. The progress callback will // be invoked every nOps opcodes. -func Xsqlite3_progress_handler(tls *libc.TLS, db uintptr, nOps int32, xProgress uintptr, pArg uintptr) { /* sqlite3.c:170161:17: */ +func Xsqlite3_progress_handler(tls *libc.TLS, db uintptr, nOps int32, xProgress uintptr, pArg uintptr) { /* sqlite3.c:170218:17: */ Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) if nOps > 0 { (*Sqlite3)(unsafe.Pointer(db)).FxProgress = xProgress @@ -164761,7 +164792,7 @@ func Xsqlite3_progress_handler(tls *libc.TLS, db uintptr, nOps int32, xProgress // This routine installs a default busy handler that waits for the // specified number of milliseconds before returning 0. -func Xsqlite3_busy_timeout(tls *libc.TLS, db uintptr, ms int32) int32 { /* sqlite3.c:170192:16: */ +func Xsqlite3_busy_timeout(tls *libc.TLS, db uintptr, ms int32) int32 { /* sqlite3.c:170249:16: */ if ms > 0 { Xsqlite3_busy_handler(tls, db, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32) int32 @@ -164775,7 +164806,7 @@ func Xsqlite3_busy_timeout(tls *libc.TLS, db uintptr, ms int32) int32 { /* sqlit } // Cause any pending operation to stop at its earliest opportunity. -func Xsqlite3_interrupt(tls *libc.TLS, db uintptr) { /* sqlite3.c:170209:17: */ +func Xsqlite3_interrupt(tls *libc.TLS, db uintptr) { /* sqlite3.c:170266:17: */ *(*int32)(unsafe.Pointer(db + 432)) = 1 } @@ -164783,7 +164814,7 @@ func Xsqlite3_interrupt(tls *libc.TLS, db uintptr) { /* sqlite3.c:170209:17: */ // that it is designed to be called by internal code. The difference is // that if a malloc() fails in sqlite3_create_function(), an error code // is returned and the mallocFailed flag cleared. -func Xsqlite3CreateFunc(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) int32 { /* sqlite3.c:170226:20: */ +func Xsqlite3CreateFunc(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) int32 { /* sqlite3.c:170283:20: */ var p uintptr var extraFlags int32 @@ -164793,7 +164824,7 @@ func Xsqlite3CreateFunc(tls *libc.TLS, db uintptr, zFunctionName uintptr, nArg i libc.Bool32(xValue == uintptr(0)) != libc.Bool32(xInverse == uintptr(0)) || (nArg < -1 || nArg > SQLITE_MAX_FUNCTION_ARG) || 255 < Xsqlite3Strlen30(tls, zFunctionName) { - return Xsqlite3MisuseError(tls, 170251) + return Xsqlite3MisuseError(tls, 170308) } extraFlags = enc & (SQLITE_DETERMINISTIC | SQLITE_DIRECTONLY | SQLITE_SUBTYPE | SQLITE_INNOCUOUS) @@ -164898,7 +164929,7 @@ func Xsqlite3CreateFunc(tls *libc.TLS, db uintptr, zFunctionName uintptr, nArg i // sqlite3_create_function() // 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) int32 { /* sqlite3.c:170360:12: */ +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) int32 { /* sqlite3.c:170417:12: */ var rc int32 var pArg uintptr rc = SQLITE_ERROR @@ -164940,22 +164971,22 @@ out: } // 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) int32 { /* sqlite3.c:170411:16: */ +func Xsqlite3_create_function(tls *libc.TLS, db uintptr, zFunc uintptr, nArg int32, enc int32, p uintptr, xSFunc uintptr, xStep uintptr, xFinal uintptr) int32 { /* sqlite3.c:170468:16: */ return createFunctionApi(tls, db, zFunc, nArg, enc, p, xSFunc, xStep, 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) int32 { /* sqlite3.c:170424:16: */ +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) int32 { /* sqlite3.c:170481:16: */ return createFunctionApi(tls, db, zFunc, nArg, enc, p, xSFunc, xStep, xFinal, uintptr(0), uintptr(0), 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) int32 { /* sqlite3.c:170438:16: */ +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) int32 { /* sqlite3.c:170495:16: */ return createFunctionApi(tls, db, zFunc, nArg, enc, p, uintptr(0), xStep, xFinal, xValue, xInverse, xDestroy) } -func Xsqlite3_create_function16(tls *libc.TLS, db uintptr, zFunctionName uintptr, nArg int32, eTextRep int32, p uintptr, xSFunc uintptr, xStep uintptr, xFinal uintptr) int32 { /* sqlite3.c:170455:16: */ +func Xsqlite3_create_function16(tls *libc.TLS, db uintptr, zFunctionName uintptr, nArg int32, eTextRep int32, p uintptr, xSFunc uintptr, xStep uintptr, xFinal uintptr) int32 { /* sqlite3.c:170512:16: */ var rc int32 var zFunc8 uintptr @@ -164975,7 +165006,7 @@ func Xsqlite3_create_function16(tls *libc.TLS, db uintptr, zFunctionName uintptr // SQL function that use this routine so that the functions will exist // for name resolution but are actually overloaded by the xFindFunction // method of virtual tables. -func sqlite3InvalidFunction(tls *libc.TLS, context uintptr, NotUsed int32, NotUsed2 uintptr) { /* sqlite3.c:170491:13: */ +func sqlite3InvalidFunction(tls *libc.TLS, context uintptr, NotUsed int32, NotUsed2 uintptr) { /* sqlite3.c:170548:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -164999,7 +165030,7 @@ func sqlite3InvalidFunction(tls *libc.TLS, context uintptr, NotUsed int32, NotUs // should call this routine to make sure the global function exists. // A global function must exist in order for name resolution to work // properly. -func Xsqlite3_overload_function(tls *libc.TLS, db uintptr, zName uintptr, nArg int32) int32 { /* sqlite3.c:170517:16: */ +func Xsqlite3_overload_function(tls *libc.TLS, db uintptr, zName uintptr, nArg int32) int32 { /* sqlite3.c:170574:16: */ var rc int32 var zCopy uintptr @@ -165025,7 +165056,7 @@ func Xsqlite3_overload_function(tls *libc.TLS, db uintptr, zName uintptr, nArg i // A NULL trace function means that no tracing is executes. A non-NULL // 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) uintptr { /* sqlite3.c:170550:17: */ +func Xsqlite3_trace(tls *libc.TLS, db uintptr, xTrace uintptr, pArg uintptr) uintptr { /* sqlite3.c:170607:17: */ var pOld uintptr Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) @@ -165043,7 +165074,7 @@ func Xsqlite3_trace(tls *libc.TLS, db uintptr, xTrace uintptr, pArg uintptr) uin } // Register a trace callback using the version-2 interface. -func Xsqlite3_trace_v2(tls *libc.TLS, db uintptr, mTrace uint32, xTrace uintptr, pArg uintptr) int32 { /* sqlite3.c:170571:16: */ +func Xsqlite3_trace_v2(tls *libc.TLS, db uintptr, mTrace uint32, xTrace uintptr, pArg uintptr) int32 { /* sqlite3.c:170628:16: */ Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) if mTrace == uint32(0) { xTrace = uintptr(0) @@ -165064,7 +165095,7 @@ func Xsqlite3_trace_v2(tls *libc.TLS, db uintptr, mTrace uint32, xTrace uintptr, // A NULL profile function means that no profiling is executes. A non-NULL // 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) uintptr { /* sqlite3.c:170601:17: */ +func Xsqlite3_profile(tls *libc.TLS, db uintptr, xProfile uintptr, pArg uintptr) uintptr { /* sqlite3.c:170658:17: */ var pOld uintptr Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) @@ -165082,7 +165113,7 @@ func Xsqlite3_profile(tls *libc.TLS, db uintptr, xProfile uintptr, pArg uintptr) // Register a function to be invoked when a transaction commits. // 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) uintptr { /* sqlite3.c:170631:17: */ +func Xsqlite3_commit_hook(tls *libc.TLS, db uintptr, xCallback uintptr, pArg uintptr) uintptr { /* sqlite3.c:170688:17: */ var pOld uintptr Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) @@ -165095,7 +165126,7 @@ func Xsqlite3_commit_hook(tls *libc.TLS, db uintptr, xCallback uintptr, pArg uin // 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) uintptr { /* sqlite3.c:170656:17: */ +func Xsqlite3_update_hook(tls *libc.TLS, db uintptr, xCallback uintptr, pArg uintptr) uintptr { /* sqlite3.c:170713:17: */ var pRet uintptr Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) @@ -165108,7 +165139,7 @@ func Xsqlite3_update_hook(tls *libc.TLS, db uintptr, xCallback uintptr, pArg uin // 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) uintptr { /* sqlite3.c:170681:17: */ +func Xsqlite3_rollback_hook(tls *libc.TLS, db uintptr, xCallback uintptr, pArg uintptr) uintptr { /* sqlite3.c:170738:17: */ var pRet uintptr Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) @@ -165121,7 +165152,7 @@ func Xsqlite3_rollback_hook(tls *libc.TLS, db uintptr, xCallback uintptr, pArg u // 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) uintptr { /* sqlite3.c:170707:17: */ +func Xsqlite3_preupdate_hook(tls *libc.TLS, db uintptr, xCallback uintptr, pArg uintptr) uintptr { /* sqlite3.c:170764:17: */ var pRet uintptr Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) pRet = (*Sqlite3)(unsafe.Pointer(db)).FpPreUpdateArg @@ -165133,7 +165164,7 @@ func Xsqlite3_preupdate_hook(tls *libc.TLS, db uintptr, xCallback uintptr, pArg // 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) int32 { /* sqlite3.c:170727:16: */ +func Xsqlite3_autovacuum_pages(tls *libc.TLS, db uintptr, xCallback uintptr, pArg uintptr, xDestructor uintptr) int32 { /* sqlite3.c:170784:16: */ Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) if (*Sqlite3)(unsafe.Pointer(db)).FxAutovacDestr != 0 { (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3)(unsafe.Pointer(db)).FxAutovacDestr})).f(tls, (*Sqlite3)(unsafe.Pointer(db)).FpAutovacPagesArg) @@ -165149,7 +165180,7 @@ func Xsqlite3_autovacuum_pages(tls *libc.TLS, db uintptr, xCallback uintptr, pAr // Invoke sqlite3_wal_checkpoint if the number of frames in the log file // is greater than sqlite3.pWalArg cast to an integer (the value configured by // wal_autocheckpoint()). -func Xsqlite3WalDefaultHook(tls *libc.TLS, pClientData uintptr, db uintptr, zDb uintptr, nFrame int32) int32 { /* sqlite3.c:170758:20: */ +func Xsqlite3WalDefaultHook(tls *libc.TLS, pClientData uintptr, db uintptr, zDb uintptr, nFrame int32) int32 { /* sqlite3.c:170815:20: */ if nFrame >= int32(pClientData) { Xsqlite3BeginBenignMalloc(tls) Xsqlite3_wal_checkpoint(tls, db, zDb) @@ -165167,7 +165198,7 @@ func Xsqlite3WalDefaultHook(tls *libc.TLS, pClientData uintptr, db uintptr, zDb // registered using sqlite3_wal_hook(). Likewise, registering a callback // using sqlite3_wal_hook() disables the automatic checkpoint mechanism // configured by this function. -func Xsqlite3_wal_autocheckpoint(tls *libc.TLS, db uintptr, nFrame int32) int32 { /* sqlite3.c:170784:16: */ +func Xsqlite3_wal_autocheckpoint(tls *libc.TLS, db uintptr, nFrame int32) int32 { /* sqlite3.c:170841:16: */ if nFrame > 0 { Xsqlite3_wal_hook(tls, db, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, uintptr, int32) int32 @@ -165180,7 +165211,7 @@ func Xsqlite3_wal_autocheckpoint(tls *libc.TLS, db uintptr, nFrame int32) int32 // 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) uintptr { /* sqlite3.c:170805:17: */ +func Xsqlite3_wal_hook(tls *libc.TLS, db uintptr, xCallback uintptr, pArg uintptr) uintptr { /* sqlite3.c:170862:17: */ var pRet uintptr Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) pRet = (*Sqlite3)(unsafe.Pointer(db)).FpWalArg @@ -165191,7 +165222,7 @@ func Xsqlite3_wal_hook(tls *libc.TLS, db uintptr, xCallback uintptr, pArg uintpt } // Checkpoint database zDb. -func Xsqlite3_wal_checkpoint_v2(tls *libc.TLS, db uintptr, zDb uintptr, eMode int32, pnLog uintptr, pnCkpt uintptr) int32 { /* sqlite3.c:170832:16: */ +func Xsqlite3_wal_checkpoint_v2(tls *libc.TLS, db uintptr, zDb uintptr, eMode int32, pnLog uintptr, pnCkpt uintptr) int32 { /* sqlite3.c:170889:16: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -165241,7 +165272,7 @@ func Xsqlite3_wal_checkpoint_v2(tls *libc.TLS, db uintptr, zDb uintptr, eMode in // Checkpoint database zDb. If zDb is NULL, or if the buffer zDb points // to contains a zero-length string, all attached databases are // checkpointed. -func Xsqlite3_wal_checkpoint(tls *libc.TLS, db uintptr, zDb uintptr) int32 { /* sqlite3.c:170896:16: */ +func Xsqlite3_wal_checkpoint(tls *libc.TLS, db uintptr, zDb uintptr) int32 { /* sqlite3.c:170953:16: */ // EVIDENCE-OF: R-41613-20553 The sqlite3_wal_checkpoint(D,X) is equivalent to // sqlite3_wal_checkpoint_v2(D,X,SQLITE_CHECKPOINT_PASSIVE,0,0). return Xsqlite3_wal_checkpoint_v2(tls, db, zDb, SQLITE_CHECKPOINT_PASSIVE, uintptr(0), uintptr(0)) @@ -165265,7 +165296,7 @@ func Xsqlite3_wal_checkpoint(tls *libc.TLS, db uintptr, zDb uintptr) int32 { /* // // Parameter eMode is one of SQLITE_CHECKPOINT_PASSIVE, FULL, RESTART // or TRUNCATE. -func Xsqlite3Checkpoint(tls *libc.TLS, db uintptr, iDb int32, eMode int32, pnLog uintptr, pnCkpt uintptr) int32 { /* sqlite3.c:170923:20: */ +func Xsqlite3Checkpoint(tls *libc.TLS, db uintptr, iDb int32, eMode int32, pnLog uintptr, pnCkpt uintptr) int32 { /* sqlite3.c:170980:20: */ var rc int32 = SQLITE_OK // Return code var i int32 // Used to iterate through attached dbs var bBusy int32 = 0 // True if SQLITE_BUSY has been encountered @@ -165307,19 +165338,19 @@ func Xsqlite3Checkpoint(tls *libc.TLS, db uintptr, iDb int32, eMode int32, pnLog // 2 2 memory (return 1) // 2 0 memory (return 1) // 3 any memory (return 1) -func Xsqlite3TempInMemory(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:170969:20: */ +func Xsqlite3TempInMemory(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:171026:20: */ return libc.Bool32(int32((*Sqlite3)(unsafe.Pointer(db)).Ftemp_store) == 2) } // Return UTF-8 encoded English language explanation of the most recent // error. -func Xsqlite3_errmsg(tls *libc.TLS, db uintptr) uintptr { /* sqlite3.c:170990:23: */ +func Xsqlite3_errmsg(tls *libc.TLS, db uintptr) uintptr { /* sqlite3.c:171047:23: */ var z uintptr if !(db != 0) { return Xsqlite3ErrStr(tls, SQLITE_NOMEM) } if !(Xsqlite3SafetyCheckSickOrOk(tls, db) != 0) { - return Xsqlite3ErrStr(tls, Xsqlite3MisuseError(tls, 170996)) + return Xsqlite3ErrStr(tls, Xsqlite3MisuseError(tls, 171053)) } Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) if (*Sqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 { @@ -165341,7 +165372,7 @@ func Xsqlite3_errmsg(tls *libc.TLS, db uintptr) uintptr { /* sqlite3.c:170990:23 } // Return the byte offset of the most recent error -func Xsqlite3_error_offset(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:171016:16: */ +func Xsqlite3_error_offset(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:171073:16: */ var iOffset int32 = -1 if db != 0 && Xsqlite3SafetyCheckSickOrOk(tls, db) != 0 && (*Sqlite3)(unsafe.Pointer(db)).FerrCode != 0 { Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) @@ -165353,7 +165384,7 @@ func Xsqlite3_error_offset(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:17101 // Return UTF-16 encoded English language explanation of the most recent // error. -func Xsqlite3_errmsg16(tls *libc.TLS, db uintptr) uintptr { /* sqlite3.c:171031:23: */ +func Xsqlite3_errmsg16(tls *libc.TLS, db uintptr) uintptr { /* sqlite3.c:171088:23: */ var z uintptr if !(db != 0) { return uintptr(uintptr(unsafe.Pointer(&outOfMem))) @@ -165382,18 +165413,18 @@ func Xsqlite3_errmsg16(tls *libc.TLS, db uintptr) uintptr { /* sqlite3.c:171031: var outOfMem = [14]U16{ U16('o'), U16('u'), U16('t'), U16(' '), U16('o'), U16('f'), U16(' '), U16('m'), U16('e'), U16('m'), U16('o'), U16('r'), U16('y'), U16(0), -} /* sqlite3.c:171032:20 */ +} /* sqlite3.c:171089:20 */ var misuse = [34]U16{ U16('b'), U16('a'), U16('d'), U16(' '), U16('p'), U16('a'), U16('r'), U16('a'), U16('m'), U16('e'), U16('t'), U16('e'), U16('r'), U16(' '), U16('o'), U16('r'), U16(' '), U16('o'), U16('t'), U16('h'), U16('e'), U16('r'), U16(' '), U16('A'), U16('P'), U16('I'), U16(' '), U16('m'), U16('i'), U16('s'), U16('u'), U16('s'), U16('e'), U16(0), -} /* sqlite3.c:171035:20 */ +} /* sqlite3.c:171092:20 */ // Return the most recent error code generated by an SQLite routine. If NULL is // passed to this function, we assume a malloc() failed during sqlite3_open(). -func Xsqlite3_errcode(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:171073:16: */ +func Xsqlite3_errcode(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:171130:16: */ if db != 0 && !(Xsqlite3SafetyCheckSickOrOk(tls, db) != 0) { - return Xsqlite3MisuseError(tls, 171075) + return Xsqlite3MisuseError(tls, 171132) } if !(db != 0) || (*Sqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 { return SQLITE_NOMEM @@ -165401,9 +165432,9 @@ func Xsqlite3_errcode(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:171073:16: return (*Sqlite3)(unsafe.Pointer(db)).FerrCode & (*Sqlite3)(unsafe.Pointer(db)).FerrMask } -func Xsqlite3_extended_errcode(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:171082:16: */ +func Xsqlite3_extended_errcode(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:171139:16: */ if db != 0 && !(Xsqlite3SafetyCheckSickOrOk(tls, db) != 0) { - return Xsqlite3MisuseError(tls, 171084) + return Xsqlite3MisuseError(tls, 171141) } if !(db != 0) || (*Sqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 { return SQLITE_NOMEM @@ -165411,7 +165442,7 @@ func Xsqlite3_extended_errcode(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:1 return (*Sqlite3)(unsafe.Pointer(db)).FerrCode } -func Xsqlite3_system_errno(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:171091:16: */ +func Xsqlite3_system_errno(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:171148:16: */ if db != 0 { return (*Sqlite3)(unsafe.Pointer(db)).FiSysErrno } @@ -165421,13 +165452,13 @@ func Xsqlite3_system_errno(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:17109 // Return a string that describes the kind of error specified in the // argument. For now, this simply calls the internal sqlite3ErrStr() // function. -func Xsqlite3_errstr(tls *libc.TLS, rc int32) uintptr { /* sqlite3.c:171100:23: */ +func Xsqlite3_errstr(tls *libc.TLS, rc int32) uintptr { /* sqlite3.c:171157:23: */ return Xsqlite3ErrStr(tls, rc) } // 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 U8, pCtx uintptr, xCompare uintptr, xDel uintptr) int32 { /* sqlite3.c:171108:12: */ +func createCollation(tls *libc.TLS, db uintptr, zName uintptr, enc U8, pCtx uintptr, xCompare uintptr, xDel uintptr) int32 { /* sqlite3.c:171165:12: */ var pColl uintptr var enc2 int32 @@ -165440,7 +165471,7 @@ func createCollation(tls *libc.TLS, db uintptr, zName uintptr, enc U8, pCtx uint enc2 = SQLITE_UTF16LE } if enc2 < SQLITE_UTF8 || enc2 > SQLITE_UTF16BE { - return Xsqlite3MisuseError(tls, 171132) + return Xsqlite3MisuseError(tls, 171189) } // Check if this call is removing or replacing an existing collation @@ -165503,7 +165534,7 @@ var aHardLimit = [12]int32{ SQLITE_MAX_VARIABLE_NUMBER, // IMP: R-38091-32352 SQLITE_MAX_TRIGGER_DEPTH, SQLITE_MAX_WORKER_THREADS, -} /* sqlite3.c:171185:18 */ +} /* sqlite3.c:171242:18 */ // Make sure the hard limits are set to reasonable values @@ -165515,7 +165546,7 @@ var aHardLimit = [12]int32{ // A new lower limit does not shrink existing constructs. // It merely prevents new constructs that exceed the limit // from forming. -func Xsqlite3_limit(tls *libc.TLS, db uintptr, limitId int32, newLimit int32) int32 { /* sqlite3.c:171248:16: */ +func Xsqlite3_limit(tls *libc.TLS, db uintptr, limitId int32, newLimit int32) int32 { /* sqlite3.c:171305:16: */ var oldLimit int32 // EVIDENCE-OF: R-30189-54097 For each limit category SQLITE_LIMIT_NAME @@ -165562,7 +165593,7 @@ func Xsqlite3_limit(tls *libc.TLS, db uintptr, limitId int32, newLimit int32) in // may be set to point to a buffer containing an English language error // message. It is the responsibility of the caller to eventually release // this buffer by calling sqlite3_free(). -func Xsqlite3ParseUri(tls *libc.TLS, zDefaultVfs uintptr, zUri uintptr, pFlags uintptr, ppVfs uintptr, pzFile uintptr, pzErrMsg uintptr) int32 { /* sqlite3.c:171320:20: */ +func Xsqlite3ParseUri(tls *libc.TLS, zDefaultVfs uintptr, zUri uintptr, pFlags uintptr, ppVfs uintptr, pzFile uintptr, pzErrMsg uintptr) int32 { /* sqlite3.c:171377:20: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -165900,24 +165931,24 @@ type OpenMode = struct { Fz uintptr Fmode int32 F__ccgo_pad1 [4]byte -} /* sqlite3.c:171462:9 */ +} /* sqlite3.c:171519:9 */ var aCacheMode = [3]OpenMode{ {Fz: ts + 24597, Fmode: SQLITE_OPEN_SHAREDCACHE}, {Fz: ts + 24604, Fmode: SQLITE_OPEN_PRIVATECACHE}, {}, -} /* sqlite3.c:171471:34 */ +} /* sqlite3.c:171528:34 */ var aOpenMode = [5]OpenMode{ {Fz: ts + 24612, Fmode: SQLITE_OPEN_READONLY}, {Fz: ts + 24615, Fmode: SQLITE_OPEN_READWRITE}, {Fz: ts + 24618, Fmode: SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE}, {Fz: ts + 17691, Fmode: SQLITE_OPEN_MEMORY}, {}, -} /* sqlite3.c:171483:34 */ +} /* sqlite3.c:171540:34 */ // This routine does the core work of extracting URI parameters from a // database filename for the sqlite3_uri_parameter() interface. -func uriParameter(tls *libc.TLS, zFilename uintptr, zParam uintptr) uintptr { /* sqlite3.c:171557:19: */ +func uriParameter(tls *libc.TLS, zFilename uintptr, zParam uintptr) uintptr { /* sqlite3.c:171614:19: */ zFilename += uintptr(Xsqlite3Strlen30(tls, zFilename) + 1) for zFilename != uintptr(0) && *(*int8)(unsafe.Pointer(zFilename)) != 0 { var x int32 = libc.Xstrcmp(tls, zFilename, zParam) @@ -165933,7 +165964,7 @@ func uriParameter(tls *libc.TLS, zFilename uintptr, zParam uintptr) uintptr { /* // This routine does the work of opening a database on behalf of // sqlite3_open() and sqlite3_open16(). The database filename "zFilename" // is UTF-8 encoded. -func openDatabase(tls *libc.TLS, zFilename uintptr, ppDb uintptr, flags uint32, zVfs uintptr) int32 { /* sqlite3.c:171575:12: */ +func openDatabase(tls *libc.TLS, zFilename uintptr, ppDb uintptr, flags uint32, zVfs uintptr) int32 { /* sqlite3.c:171632:12: */ bp := tls.Alloc(32) defer tls.Free(32) *(*uint32)(unsafe.Pointer(bp + 8)) = flags @@ -166117,7 +166148,7 @@ __15: if !(int32(1)<<(*(*uint32)(unsafe.Pointer(bp + 8))&uint32(7))&0x46 == 0) { goto __16 } - rc = Xsqlite3MisuseError(tls, 171788) // IMP: R-18321-05872 + rc = Xsqlite3MisuseError(tls, 171845) // IMP: R-18321-05872 goto __17 __16: rc = Xsqlite3ParseUri(tls, zVfs, zFilename, bp+8, db, bp+16, bp+24) @@ -166273,17 +166304,17 @@ __32: } // Open a new database handle. -func Xsqlite3_open(tls *libc.TLS, zFilename uintptr, ppDb uintptr) int32 { /* sqlite3.c:171910:16: */ +func Xsqlite3_open(tls *libc.TLS, zFilename uintptr, ppDb uintptr) int32 { /* sqlite3.c:171967:16: */ return openDatabase(tls, zFilename, ppDb, uint32(SQLITE_OPEN_READWRITE|SQLITE_OPEN_CREATE), uintptr(0)) } -func Xsqlite3_open_v2(tls *libc.TLS, filename uintptr, ppDb uintptr, flags int32, zVfs uintptr) int32 { /* sqlite3.c:171917:16: */ +func Xsqlite3_open_v2(tls *libc.TLS, filename uintptr, ppDb uintptr, flags int32, zVfs uintptr) int32 { /* sqlite3.c:171974:16: */ return openDatabase(tls, filename, ppDb, uint32(flags), zVfs) } // Open a new database handle. -func Xsqlite3_open16(tls *libc.TLS, zFilename uintptr, ppDb uintptr) int32 { /* sqlite3.c:171930:16: */ +func Xsqlite3_open16(tls *libc.TLS, zFilename uintptr, ppDb uintptr) int32 { /* sqlite3.c:171987:16: */ var zFilename8 uintptr // zFilename encoded in UTF-8 instead of UTF-16 var pVal uintptr var rc int32 @@ -166315,12 +166346,12 @@ func Xsqlite3_open16(tls *libc.TLS, zFilename uintptr, ppDb uintptr) int32 { /* } // 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) int32 { /* sqlite3.c:171969:16: */ +func Xsqlite3_create_collation(tls *libc.TLS, db uintptr, zName uintptr, enc int32, pCtx uintptr, xCompare uintptr) int32 { /* sqlite3.c:172026:16: */ return Xsqlite3_create_collation_v2(tls, db, zName, enc, pCtx, xCompare, uintptr(0)) } // 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) int32 { /* sqlite3.c:171982:16: */ +func Xsqlite3_create_collation_v2(tls *libc.TLS, db uintptr, zName uintptr, enc int32, pCtx uintptr, xCompare uintptr, xDel uintptr) int32 { /* sqlite3.c:172039:16: */ var rc int32 Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) @@ -166332,7 +166363,7 @@ func Xsqlite3_create_collation_v2(tls *libc.TLS, db uintptr, zName uintptr, enc } // 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) int32 { /* sqlite3.c:172007:16: */ +func Xsqlite3_create_collation16(tls *libc.TLS, db uintptr, zName uintptr, enc int32, pCtx uintptr, xCompare uintptr) int32 { /* sqlite3.c:172064:16: */ var rc int32 = SQLITE_OK var zName8 uintptr @@ -166350,7 +166381,7 @@ func Xsqlite3_create_collation16(tls *libc.TLS, db uintptr, zName uintptr, enc i // 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) int32 { /* sqlite3.c:172037:16: */ +func Xsqlite3_collation_needed(tls *libc.TLS, db uintptr, pCollNeededArg uintptr, xCollNeeded uintptr) int32 { /* sqlite3.c:172094:16: */ Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) (*Sqlite3)(unsafe.Pointer(db)).FxCollNeeded = xCollNeeded (*Sqlite3)(unsafe.Pointer(db)).FxCollNeeded16 = uintptr(0) @@ -166361,7 +166392,7 @@ func Xsqlite3_collation_needed(tls *libc.TLS, db uintptr, pCollNeededArg uintptr // 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) int32 { /* sqlite3.c:172058:16: */ +func Xsqlite3_collation_needed16(tls *libc.TLS, db uintptr, pCollNeededArg uintptr, xCollNeeded16 uintptr) int32 { /* sqlite3.c:172115:16: */ Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) (*Sqlite3)(unsafe.Pointer(db)).FxCollNeeded = uintptr(0) (*Sqlite3)(unsafe.Pointer(db)).FxCollNeeded16 = xCollNeeded16 @@ -166372,7 +166403,7 @@ func Xsqlite3_collation_needed16(tls *libc.TLS, db uintptr, pCollNeededArg uintp // This function is now an anachronism. It used to be used to recover from a // malloc() failure, but SQLite now does this automatically. -func Xsqlite3_global_recover(tls *libc.TLS) int32 { /* sqlite3.c:172080:16: */ +func Xsqlite3_global_recover(tls *libc.TLS) int32 { /* sqlite3.c:172137:16: */ return SQLITE_OK } @@ -166380,7 +166411,7 @@ func Xsqlite3_global_recover(tls *libc.TLS) int32 { /* sqlite3.c:172080:16: */ // mode. Return TRUE if it is and FALSE if not. Autocommit mode is on // by default. Autocommit is disabled by a BEGIN statement and reenabled // by the next COMMIT or ROLLBACK. -func Xsqlite3_get_autocommit(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:172091:16: */ +func Xsqlite3_get_autocommit(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:172148:16: */ return int32((*Sqlite3)(unsafe.Pointer(db)).FautoCommit) } @@ -166393,7 +166424,7 @@ func Xsqlite3_get_autocommit(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:172 // // 2. Invoke sqlite3_log() to provide the source code location where // a low-level error is first detected. -func Xsqlite3ReportError(tls *libc.TLS, iErr int32, lineno int32, zType uintptr) int32 { /* sqlite3.c:172112:20: */ +func Xsqlite3ReportError(tls *libc.TLS, iErr int32, lineno int32, zType uintptr) int32 { /* sqlite3.c:172169:20: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -166402,17 +166433,17 @@ func Xsqlite3ReportError(tls *libc.TLS, iErr int32, lineno int32, zType uintptr) return iErr } -func Xsqlite3CorruptError(tls *libc.TLS, lineno int32) int32 { /* sqlite3.c:172117:20: */ +func Xsqlite3CorruptError(tls *libc.TLS, lineno int32) int32 { /* sqlite3.c:172174:20: */ return Xsqlite3ReportError(tls, SQLITE_CORRUPT, lineno, ts+24656) } -func Xsqlite3MisuseError(tls *libc.TLS, lineno int32) int32 { /* sqlite3.c:172121:20: */ +func Xsqlite3MisuseError(tls *libc.TLS, lineno int32) int32 { /* sqlite3.c:172178:20: */ return Xsqlite3ReportError(tls, SQLITE_MISUSE, lineno, ts+24676) } -func Xsqlite3CantopenError(tls *libc.TLS, lineno int32) int32 { /* sqlite3.c:172125:20: */ +func Xsqlite3CantopenError(tls *libc.TLS, lineno int32) int32 { /* sqlite3.c:172182:20: */ return Xsqlite3ReportError(tls, SQLITE_CANTOPEN, lineno, ts+24683) } @@ -166422,12 +166453,12 @@ func Xsqlite3CantopenError(tls *libc.TLS, lineno int32) int32 { /* sqlite3.c:172 // // SQLite no longer uses thread-specific data so this routine is now a // no-op. It is retained for historical compatibility. -func Xsqlite3_thread_cleanup(tls *libc.TLS) { /* sqlite3.c:172156:17: */ +func Xsqlite3_thread_cleanup(tls *libc.TLS) { /* sqlite3.c:172213:17: */ } // Return meta information about a specific column of a database table. // See comment in sqlite3.h (sqlite.h.in) for details. -func Xsqlite3_table_column_metadata(tls *libc.TLS, db uintptr, zDbName uintptr, zTableName uintptr, zColumnName uintptr, pzDataType uintptr, pzCollSeq uintptr, pNotNull uintptr, pPrimaryKey uintptr, pAutoinc uintptr) int32 { /* sqlite3.c:172164:16: */ +func Xsqlite3_table_column_metadata(tls *libc.TLS, db uintptr, zDbName uintptr, zTableName uintptr, zColumnName uintptr, pzDataType uintptr, pzCollSeq uintptr, pNotNull uintptr, pPrimaryKey uintptr, pAutoinc uintptr) int32 { /* sqlite3.c:172221:16: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -166611,7 +166642,7 @@ __20: } // Sleep for a little while. Return the amount of time slept. -func Xsqlite3_sleep(tls *libc.TLS, ms int32) int32 { /* sqlite3.c:172282:16: */ +func Xsqlite3_sleep(tls *libc.TLS, ms int32) int32 { /* sqlite3.c:172339:16: */ var pVfs uintptr var rc int32 pVfs = Xsqlite3_vfs_find(tls, uintptr(0)) @@ -166626,7 +166657,7 @@ func Xsqlite3_sleep(tls *libc.TLS, ms int32) int32 { /* sqlite3.c:172282:16: */ } // Enable or disable the extended result codes. -func Xsqlite3_extended_result_codes(tls *libc.TLS, db uintptr, onoff int32) int32 { /* sqlite3.c:172298:16: */ +func Xsqlite3_extended_result_codes(tls *libc.TLS, db uintptr, onoff int32) int32 { /* sqlite3.c:172355:16: */ Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) (*Sqlite3)(unsafe.Pointer(db)).FerrMask = func() int32 { if onoff != 0 { @@ -166639,7 +166670,7 @@ func Xsqlite3_extended_result_codes(tls *libc.TLS, db uintptr, onoff int32) int3 } // Invoke the xFileControl method on a particular database. -func Xsqlite3_file_control(tls *libc.TLS, db uintptr, zDbName uintptr, op int32, pArg uintptr) int32 { /* sqlite3.c:172311:16: */ +func Xsqlite3_file_control(tls *libc.TLS, db uintptr, zDbName uintptr, op int32, pArg uintptr) int32 { /* sqlite3.c:172368:16: */ var rc int32 = SQLITE_ERROR var pBtree uintptr @@ -166684,7 +166715,7 @@ func Xsqlite3_file_control(tls *libc.TLS, db uintptr, zDbName uintptr, op int32, } // Interface to the testing logic. -func Xsqlite3_test_control(tls *libc.TLS, op int32, va uintptr) int32 { /* sqlite3.c:172361:16: */ +func Xsqlite3_test_control(tls *libc.TLS, op int32, va uintptr) int32 { /* sqlite3.c:172418:16: */ var rc int32 = 0 var ap Va_list _ = ap @@ -167143,7 +167174,7 @@ func Xsqlite3_test_control(tls *libc.TLS, op int32, va uintptr) int32 { /* sqlit // backwards for the first byte following four consecutive zero bytes. // // This only works if the filename passed in was obtained from the Pager. -func databaseName(tls *libc.TLS, zName uintptr) uintptr { /* sqlite3.c:172857:19: */ +func databaseName(tls *libc.TLS, zName uintptr) uintptr { /* sqlite3.c:172914:19: */ for int32(*(*int8)(unsafe.Pointer(zName + libc.UintptrFromInt32(-1)))) != 0 || int32(*(*int8)(unsafe.Pointer(zName + libc.UintptrFromInt32(-2)))) != 0 || int32(*(*int8)(unsafe.Pointer(zName + libc.UintptrFromInt32(-3)))) != 0 || int32(*(*int8)(unsafe.Pointer(zName + libc.UintptrFromInt32(-4)))) != 0 { zName-- } @@ -167152,7 +167183,7 @@ func databaseName(tls *libc.TLS, zName uintptr) uintptr { /* sqlite3.c:172857:19 // Append text z[] to the end of p[]. Return a pointer to the first // character after then zero terminator on the new text in p[]. -func appendText(tls *libc.TLS, p uintptr, z uintptr) uintptr { /* sqlite3.c:172868:13: */ +func appendText(tls *libc.TLS, p uintptr, z uintptr) uintptr { /* sqlite3.c:172925:13: */ var n Size_t = libc.Xstrlen(tls, z) libc.X__builtin___memcpy_chk(tls, p, z, n+uint64(1), libc.X__builtin_object_size(tls, p, 0)) return p + uintptr(n) + uintptr(1) @@ -167165,7 +167196,7 @@ func appendText(tls *libc.TLS, p uintptr, z uintptr) uintptr { /* sqlite3.c:1728 // // Memory layout must be compatible with that generated by the pager // and expected by sqlite3_uri_parameter() and databaseName(). -func Xsqlite3_create_filename(tls *libc.TLS, zDatabase uintptr, zJournal uintptr, zWal uintptr, nParam int32, azParam uintptr) uintptr { /* sqlite3.c:172883:17: */ +func Xsqlite3_create_filename(tls *libc.TLS, zDatabase uintptr, zJournal uintptr, zWal uintptr, nParam int32, azParam uintptr) uintptr { /* sqlite3.c:172940:17: */ var nByte Sqlite3_int64 var i int32 var pResult uintptr @@ -167196,7 +167227,7 @@ func Xsqlite3_create_filename(tls *libc.TLS, zDatabase uintptr, zJournal uintptr // Free memory obtained from sqlite3_create_filename(). It is a severe // error to call this routine with any parameter other than a pointer // previously obtained from sqlite3_create_filename() or a NULL pointer. -func Xsqlite3_free_filename(tls *libc.TLS, p uintptr) { /* sqlite3.c:172919:17: */ +func Xsqlite3_free_filename(tls *libc.TLS, p uintptr) { /* sqlite3.c:172976:17: */ if p == uintptr(0) { return } @@ -167213,7 +167244,7 @@ func Xsqlite3_free_filename(tls *libc.TLS, p uintptr) { /* sqlite3.c:172919:17: // query parameter we seek. This routine returns the value of the zParam // parameter if it exists. If the parameter does not exist, this routine // returns a NULL pointer. -func Xsqlite3_uri_parameter(tls *libc.TLS, zFilename uintptr, zParam uintptr) uintptr { /* sqlite3.c:172937:23: */ +func Xsqlite3_uri_parameter(tls *libc.TLS, zFilename uintptr, zParam uintptr) uintptr { /* sqlite3.c:172994:23: */ if zFilename == uintptr(0) || zParam == uintptr(0) { return uintptr(0) } @@ -167222,7 +167253,7 @@ func Xsqlite3_uri_parameter(tls *libc.TLS, zFilename uintptr, zParam uintptr) ui } // Return a pointer to the name of Nth query parameter of the filename. -func Xsqlite3_uri_key(tls *libc.TLS, zFilename uintptr, N int32) uintptr { /* sqlite3.c:172946:23: */ +func Xsqlite3_uri_key(tls *libc.TLS, zFilename uintptr, N int32) uintptr { /* sqlite3.c:173003:23: */ if zFilename == uintptr(0) || N < 0 { return uintptr(0) } @@ -167239,7 +167270,7 @@ func Xsqlite3_uri_key(tls *libc.TLS, zFilename uintptr, N int32) uintptr { /* sq } // Return a boolean value for a query parameter. -func Xsqlite3_uri_boolean(tls *libc.TLS, zFilename uintptr, zParam uintptr, bDflt int32) int32 { /* sqlite3.c:172960:16: */ +func Xsqlite3_uri_boolean(tls *libc.TLS, zFilename uintptr, zParam uintptr, bDflt int32) int32 { /* sqlite3.c:173017:16: */ var z uintptr = Xsqlite3_uri_parameter(tls, zFilename, zParam) bDflt = libc.Bool32(bDflt != 0) if z != 0 { @@ -167249,7 +167280,7 @@ func Xsqlite3_uri_boolean(tls *libc.TLS, zFilename uintptr, zParam uintptr, bDfl } // Return a 64-bit integer value for a query parameter. -func Xsqlite3_uri_int64(tls *libc.TLS, zFilename uintptr, zParam uintptr, bDflt Sqlite3_int64) Sqlite3_int64 { /* sqlite3.c:172969:26: */ +func Xsqlite3_uri_int64(tls *libc.TLS, zFilename uintptr, zParam uintptr, bDflt Sqlite3_int64) Sqlite3_int64 { /* sqlite3.c:173026:26: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -167270,14 +167301,14 @@ func Xsqlite3_uri_int64(tls *libc.TLS, zFilename uintptr, zParam uintptr, bDflt // passing free() a pointer that was not obtained from malloc() - it is // an error that we cannot easily detect but that will likely cause memory // corruption. -func Xsqlite3_filename_database(tls *libc.TLS, zFilename uintptr) uintptr { /* sqlite3.c:172992:23: */ +func Xsqlite3_filename_database(tls *libc.TLS, zFilename uintptr) uintptr { /* sqlite3.c:173049:23: */ if zFilename == uintptr(0) { return uintptr(0) } return databaseName(tls, zFilename) } -func Xsqlite3_filename_journal(tls *libc.TLS, zFilename uintptr) uintptr { /* sqlite3.c:172996:23: */ +func Xsqlite3_filename_journal(tls *libc.TLS, zFilename uintptr) uintptr { /* sqlite3.c:173053:23: */ if zFilename == uintptr(0) { return uintptr(0) } @@ -167290,7 +167321,7 @@ func Xsqlite3_filename_journal(tls *libc.TLS, zFilename uintptr) uintptr { /* sq return zFilename + uintptr(1) } -func Xsqlite3_filename_wal(tls *libc.TLS, zFilename uintptr) uintptr { /* sqlite3.c:173006:23: */ +func Xsqlite3_filename_wal(tls *libc.TLS, zFilename uintptr) uintptr { /* sqlite3.c:173063:23: */ zFilename = Xsqlite3_filename_journal(tls, zFilename) if zFilename != 0 { zFilename += uintptr(Xsqlite3Strlen30(tls, zFilename) + 1) @@ -167299,7 +167330,7 @@ func Xsqlite3_filename_wal(tls *libc.TLS, zFilename uintptr) uintptr { /* sqlite } // Return the Btree pointer identified by zDbName. Return NULL if not found. -func Xsqlite3DbNameToBtree(tls *libc.TLS, db uintptr, zDbName uintptr) uintptr { /* sqlite3.c:173019:22: */ +func Xsqlite3DbNameToBtree(tls *libc.TLS, db uintptr, zDbName uintptr) uintptr { /* sqlite3.c:173076:22: */ var iDb int32 if zDbName != 0 { iDb = Xsqlite3FindDbName(tls, db, zDbName) @@ -167314,7 +167345,7 @@ func Xsqlite3DbNameToBtree(tls *libc.TLS, db uintptr, zDbName uintptr) uintptr { // Return the filename of the database associated with a database // connection. -func Xsqlite3_db_filename(tls *libc.TLS, db uintptr, zDbName uintptr) uintptr { /* sqlite3.c:173028:23: */ +func Xsqlite3_db_filename(tls *libc.TLS, db uintptr, zDbName uintptr) uintptr { /* sqlite3.c:173085:23: */ var pBt uintptr pBt = Xsqlite3DbNameToBtree(tls, db, zDbName) if pBt != 0 { @@ -167325,7 +167356,7 @@ func Xsqlite3_db_filename(tls *libc.TLS, db uintptr, zDbName uintptr) uintptr { // Return 1 if database is read-only or 0 if read/write. Return -1 if // no such database exists. -func Xsqlite3_db_readonly(tls *libc.TLS, db uintptr, zDbName uintptr) int32 { /* sqlite3.c:173044:16: */ +func Xsqlite3_db_readonly(tls *libc.TLS, db uintptr, zDbName uintptr) int32 { /* sqlite3.c:173101:16: */ var pBt uintptr pBt = Xsqlite3DbNameToBtree(tls, db, zDbName) if pBt != 0 { @@ -167336,7 +167367,7 @@ func Xsqlite3_db_readonly(tls *libc.TLS, db uintptr, zDbName uintptr) int32 { /* // Obtain a snapshot handle for the snapshot of database zDb currently // being read by handle db. -func Xsqlite3_snapshot_get(tls *libc.TLS, db uintptr, zDb uintptr, ppSnapshot uintptr) int32 { /* sqlite3.c:173061:16: */ +func Xsqlite3_snapshot_get(tls *libc.TLS, db uintptr, zDb uintptr, ppSnapshot uintptr) int32 { /* sqlite3.c:173118:16: */ var rc int32 = SQLITE_ERROR Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) @@ -167359,7 +167390,7 @@ func Xsqlite3_snapshot_get(tls *libc.TLS, db uintptr, zDb uintptr, ppSnapshot ui } // Open a read-transaction on the snapshot idendified by pSnapshot. -func Xsqlite3_snapshot_open(tls *libc.TLS, db uintptr, zDb uintptr, pSnapshot uintptr) int32 { /* sqlite3.c:173097:16: */ +func Xsqlite3_snapshot_open(tls *libc.TLS, db uintptr, zDb uintptr, pSnapshot uintptr) int32 { /* sqlite3.c:173154:16: */ var rc int32 = SQLITE_ERROR Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) @@ -167402,7 +167433,7 @@ func Xsqlite3_snapshot_open(tls *libc.TLS, db uintptr, zDb uintptr, pSnapshot ui // Recover as many snapshots as possible from the wal file associated with // schema zDb of database db. -func Xsqlite3_snapshot_recover(tls *libc.TLS, db uintptr, zDb uintptr) int32 { /* sqlite3.c:173153:16: */ +func Xsqlite3_snapshot_recover(tls *libc.TLS, db uintptr, zDb uintptr) int32 { /* sqlite3.c:173210:16: */ var rc int32 = SQLITE_ERROR var iDb int32 @@ -167423,7 +167454,7 @@ func Xsqlite3_snapshot_recover(tls *libc.TLS, db uintptr, zDb uintptr) int32 { / } // Free a snapshot handle obtained from sqlite3_snapshot_get(). -func Xsqlite3_snapshot_free(tls *libc.TLS, pSnapshot uintptr) { /* sqlite3.c:173184:17: */ +func Xsqlite3_snapshot_free(tls *libc.TLS, pSnapshot uintptr) { /* sqlite3.c:173241:17: */ Xsqlite3_free(tls, pSnapshot) } @@ -167432,7 +167463,7 @@ func Xsqlite3_snapshot_free(tls *libc.TLS, pSnapshot uintptr) { /* sqlite3.c:173 // // The name can optionally begin with "SQLITE_" but the "SQLITE_" prefix // is not required for a match. -func Xsqlite3_compileoption_used(tls *libc.TLS, zOptName uintptr) int32 { /* sqlite3.c:173197:16: */ +func Xsqlite3_compileoption_used(tls *libc.TLS, zOptName uintptr) int32 { /* sqlite3.c:173254:16: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -167462,7 +167493,7 @@ func Xsqlite3_compileoption_used(tls *libc.TLS, zOptName uintptr) int32 { /* sql // Return the N-th compile-time option string. If N is out of range, // return a NULL pointer. -func Xsqlite3_compileoption_get(tls *libc.TLS, N int32) uintptr { /* sqlite3.c:173230:23: */ +func Xsqlite3_compileoption_get(tls *libc.TLS, N int32) uintptr { /* sqlite3.c:173287:23: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -167507,11 +167538,11 @@ func Xsqlite3_compileoption_get(tls *libc.TLS, N int32) uintptr { /* sqlite3.c:1 // for which either sqlite3.pBlockingConnection or sqlite3.pUnlockConnection // is not NULL. This variable may only accessed while the STATIC_MAIN // mutex is held. -var sqlite3BlockedList uintptr = uintptr(0) /* sqlite3.c:173282:16 */ +var sqlite3BlockedList uintptr = uintptr(0) /* sqlite3.c:173339:16 */ // Remove connection db from the blocked connections list. If connection // db is not currently a part of the list, this function is a no-op. -func removeFromBlockedList(tls *libc.TLS, db uintptr) { /* sqlite3.c:173325:13: */ +func removeFromBlockedList(tls *libc.TLS, db uintptr) { /* sqlite3.c:173382:13: */ var pp uintptr for pp = uintptr(unsafe.Pointer(&sqlite3BlockedList)); *(*uintptr)(unsafe.Pointer(pp)) != 0; pp = *(*uintptr)(unsafe.Pointer(pp)) + 832 { @@ -167524,7 +167555,7 @@ func removeFromBlockedList(tls *libc.TLS, db uintptr) { /* sqlite3.c:173325:13: // Add connection db to the blocked connections list. It is assumed // that it is not already a part of the list. -func addToBlockedList(tls *libc.TLS, db uintptr) { /* sqlite3.c:173340:13: */ +func addToBlockedList(tls *libc.TLS, db uintptr) { /* sqlite3.c:173397:13: */ var pp uintptr for pp = uintptr(unsafe.Pointer(&sqlite3BlockedList)); *(*uintptr)(unsafe.Pointer(pp)) != 0 && (*Sqlite3)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pp)))).FxUnlockNotify != (*Sqlite3)(unsafe.Pointer(db)).FxUnlockNotify; pp = *(*uintptr)(unsafe.Pointer(pp)) + 832 { @@ -167534,13 +167565,13 @@ func addToBlockedList(tls *libc.TLS, db uintptr) { /* sqlite3.c:173340:13: */ } // Obtain the STATIC_MAIN mutex. -func enterMutex(tls *libc.TLS) { /* sqlite3.c:173355:13: */ +func enterMutex(tls *libc.TLS) { /* sqlite3.c:173412:13: */ Xsqlite3_mutex_enter(tls, Xsqlite3MutexAlloc(tls, SQLITE_MUTEX_STATIC_MAIN)) } // Release the STATIC_MAIN mutex. -func leaveMutex(tls *libc.TLS) { /* sqlite3.c:173363:13: */ +func leaveMutex(tls *libc.TLS) { /* sqlite3.c:173420:13: */ Xsqlite3_mutex_leave(tls, Xsqlite3MutexAlloc(tls, SQLITE_MUTEX_STATIC_MAIN)) } @@ -167564,7 +167595,7 @@ func leaveMutex(tls *libc.TLS) { /* sqlite3.c:173363:13: */ // Each call to this routine overrides any prior callbacks registered // 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) int32 { /* sqlite3.c:173390:16: */ +func Xsqlite3_unlock_notify(tls *libc.TLS, db uintptr, xNotify uintptr, pArg uintptr) int32 { /* sqlite3.c:173447:16: */ bp := tls.Alloc(8) defer tls.Free(8) *(*uintptr)(unsafe.Pointer(bp)) = pArg @@ -167619,7 +167650,7 @@ func Xsqlite3_unlock_notify(tls *libc.TLS, db uintptr, xNotify uintptr, pArg uin // associated with connection db. The operation will return SQLITE_LOCKED // to the user because it requires a lock that will not be available // until connection pBlocker concludes its current transaction. -func Xsqlite3ConnectionBlocked(tls *libc.TLS, db uintptr, pBlocker uintptr) { /* sqlite3.c:173440:21: */ +func Xsqlite3ConnectionBlocked(tls *libc.TLS, db uintptr, pBlocker uintptr) { /* sqlite3.c:173497:21: */ enterMutex(tls) if (*Sqlite3)(unsafe.Pointer(db)).FpBlockingConnection == uintptr(0) && (*Sqlite3)(unsafe.Pointer(db)).FpUnlockConnection == uintptr(0) { addToBlockedList(tls, db) @@ -167645,7 +167676,7 @@ func Xsqlite3ConnectionBlocked(tls *libc.TLS, db uintptr, pBlocker uintptr) { /* // 3) If the two steps above mean that pBlockingConnection==0 and // pUnlockConnection==0, remove the entry from the blocked connections // list. -func Xsqlite3ConnectionUnlocked(tls *libc.TLS, db uintptr) { /* sqlite3.c:173468:21: */ +func Xsqlite3ConnectionUnlocked(tls *libc.TLS, db uintptr) { /* sqlite3.c:173525:21: */ bp := tls.Alloc(128) defer tls.Free(128) @@ -167749,7 +167780,7 @@ func Xsqlite3ConnectionUnlocked(tls *libc.TLS, db uintptr) { /* sqlite3.c:173468 // This is called when the database connection passed as an argument is // being closed. The connection is removed from the blocked list. -func Xsqlite3ConnectionClosed(tls *libc.TLS, db uintptr) { /* sqlite3.c:173567:21: */ +func Xsqlite3ConnectionClosed(tls *libc.TLS, db uintptr) { /* sqlite3.c:173624:21: */ Xsqlite3ConnectionUnlocked(tls, db) enterMutex(tls) removeFromBlockedList(tls, db) @@ -168354,7 +168385,7 @@ var jsonIsSpace = [256]int8{ int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), -} /* sqlite3.c:193144:19 */ +} /* sqlite3.c:193201:19 */ // Objects type JsonString1 = struct { @@ -168366,10 +168397,10 @@ type JsonString1 = struct { FbErr U8 FzSpace [100]int8 F__ccgo_pad1 [2]byte -} /* sqlite3.c:193171:9 */ +} /* sqlite3.c:193228:9 */ // Objects -type JsonString = JsonString1 /* sqlite3.c:193171:27 */ +type JsonString = JsonString1 /* sqlite3.c:193228:27 */ type JsonNode1 = struct { FeType U8 FjnFlags U8 @@ -168377,9 +168408,9 @@ type JsonNode1 = struct { F__ccgo_pad1 [1]byte Fn U32 Fu struct{ FzJContent uintptr } -} /* sqlite3.c:193172:9 */ +} /* sqlite3.c:193229:9 */ -type JsonNode = JsonNode1 /* sqlite3.c:193172:25 */ +type JsonNode = JsonNode1 /* sqlite3.c:193229:25 */ type JsonParse1 = struct { FnNode U32 FnAlloc U32 @@ -168392,9 +168423,9 @@ type JsonParse1 = struct { FnJson int32 FiHold U32 F__ccgo_pad1 [4]byte -} /* sqlite3.c:193173:9 */ +} /* sqlite3.c:193230:9 */ -type JsonParse = JsonParse1 /* sqlite3.c:193173:26 */ +type JsonParse = JsonParse1 /* sqlite3.c:193230:26 */ // JSON type values @@ -168403,7 +168434,7 @@ type JsonParse = JsonParse1 /* sqlite3.c:193173:26 */ // Names of the various JSON types: var jsonType = [8]uintptr{ ts + 6535, ts + 7049, ts + 7054, ts + 6545, ts + 6540, ts + 8295, ts + 24759, ts + 24765, -} /* sqlite3.c:193206:19 */ +} /* sqlite3.c:193263:19 */ // Maximum nesting depth of JSON for this implementation. // @@ -168417,7 +168448,7 @@ var jsonType = [8]uintptr{ // // Set the JsonString object to an empty string -func jsonZero(tls *libc.TLS, p uintptr) { /* sqlite3.c:193267:13: */ +func jsonZero(tls *libc.TLS, p uintptr) { /* sqlite3.c:193324:13: */ (*JsonString)(unsafe.Pointer(p)).FzBuf = p + 34 /* &.zSpace */ (*JsonString)(unsafe.Pointer(p)).FnAlloc = U64(unsafe.Sizeof([100]int8{})) (*JsonString)(unsafe.Pointer(p)).FnUsed = uint64(0) @@ -168425,7 +168456,7 @@ func jsonZero(tls *libc.TLS, p uintptr) { /* sqlite3.c:193267:13: */ } // Initialize the JsonString object -func jsonInit(tls *libc.TLS, p uintptr, pCtx uintptr) { /* sqlite3.c:193276:13: */ +func jsonInit(tls *libc.TLS, p uintptr, pCtx uintptr) { /* sqlite3.c:193333:13: */ (*JsonString)(unsafe.Pointer(p)).FpCtx = pCtx (*JsonString)(unsafe.Pointer(p)).FbErr = U8(0) jsonZero(tls, p) @@ -168433,7 +168464,7 @@ func jsonInit(tls *libc.TLS, p uintptr, pCtx uintptr) { /* sqlite3.c:193276:13: // Free all allocated memory and reset the JsonString object back to its // initial state. -func jsonReset(tls *libc.TLS, p uintptr) { /* sqlite3.c:193286:13: */ +func jsonReset(tls *libc.TLS, p uintptr) { /* sqlite3.c:193343:13: */ if !(int32((*JsonString)(unsafe.Pointer(p)).FbStatic) != 0) { Xsqlite3_free(tls, (*JsonString)(unsafe.Pointer(p)).FzBuf) } @@ -168441,7 +168472,7 @@ func jsonReset(tls *libc.TLS, p uintptr) { /* sqlite3.c:193286:13: */ } // Report an out-of-memory (OOM) condition -func jsonOom(tls *libc.TLS, p uintptr) { /* sqlite3.c:193294:13: */ +func jsonOom(tls *libc.TLS, p uintptr) { /* sqlite3.c:193351:13: */ (*JsonString)(unsafe.Pointer(p)).FbErr = U8(1) Xsqlite3_result_error_nomem(tls, (*JsonString)(unsafe.Pointer(p)).FpCtx) jsonReset(tls, p) @@ -168449,7 +168480,7 @@ func jsonOom(tls *libc.TLS, p uintptr) { /* sqlite3.c:193294:13: */ // Enlarge pJson->zBuf so that it can hold at least N more bytes. // Return zero on success. Return non-zero on an OOM error -func jsonGrow(tls *libc.TLS, p uintptr, N U32) int32 { /* sqlite3.c:193303:12: */ +func jsonGrow(tls *libc.TLS, p uintptr, N U32) int32 { /* sqlite3.c:193360:12: */ var nTotal U64 if U64(N) < (*JsonString)(unsafe.Pointer(p)).FnAlloc { nTotal = (*JsonString)(unsafe.Pointer(p)).FnAlloc * uint64(2) @@ -168482,7 +168513,7 @@ func jsonGrow(tls *libc.TLS, p uintptr, N U32) int32 { /* sqlite3.c:193303:12: * } // Append N bytes from zIn onto the end of the JsonString string. -func jsonAppendRaw(tls *libc.TLS, p uintptr, zIn uintptr, N U32) { /* sqlite3.c:193330:13: */ +func jsonAppendRaw(tls *libc.TLS, p uintptr, zIn uintptr, N U32) { /* sqlite3.c:193387:13: */ if N == U32(0) { return } @@ -168494,7 +168525,7 @@ func jsonAppendRaw(tls *libc.TLS, p uintptr, zIn uintptr, N U32) { /* sqlite3.c: } // Append formatted text (not to exceed N bytes) to the JsonString. -func jsonPrintf(tls *libc.TLS, N int32, p uintptr, zFormat uintptr, va uintptr) { /* sqlite3.c:193339:13: */ +func jsonPrintf(tls *libc.TLS, N int32, p uintptr, zFormat uintptr, va uintptr) { /* sqlite3.c:193396:13: */ var ap Va_list _ = ap if (*JsonString)(unsafe.Pointer(p)).FnUsed+U64(N) >= (*JsonString)(unsafe.Pointer(p)).FnAlloc && jsonGrow(tls, p, uint32(N)) != 0 { @@ -168507,7 +168538,7 @@ func jsonPrintf(tls *libc.TLS, N int32, p uintptr, zFormat uintptr, va uintptr) } // Append a single character -func jsonAppendChar(tls *libc.TLS, p uintptr, c int8) { /* sqlite3.c:193350:13: */ +func jsonAppendChar(tls *libc.TLS, p uintptr, c int8) { /* sqlite3.c:193407:13: */ if (*JsonString)(unsafe.Pointer(p)).FnUsed >= (*JsonString)(unsafe.Pointer(p)).FnAlloc && jsonGrow(tls, p, uint32(1)) != 0 { return } @@ -168516,7 +168547,7 @@ func jsonAppendChar(tls *libc.TLS, p uintptr, c int8) { /* sqlite3.c:193350:13: // Append a comma separator to the output buffer, if the previous // character is not '[' or '{'. -func jsonAppendSeparator(tls *libc.TLS, p uintptr) { /* sqlite3.c:193358:13: */ +func jsonAppendSeparator(tls *libc.TLS, p uintptr) { /* sqlite3.c:193415:13: */ var c int8 if (*JsonString)(unsafe.Pointer(p)).FnUsed == uint64(0) { return @@ -168531,7 +168562,7 @@ func jsonAppendSeparator(tls *libc.TLS, p uintptr) { /* sqlite3.c:193358:13: */ // under construction. Enclose the string in "..." and escape // any double-quotes or backslash characters contained within the // string. -func jsonAppendString(tls *libc.TLS, p uintptr, zIn uintptr, N U32) { /* sqlite3.c:193370:13: */ +func jsonAppendString(tls *libc.TLS, p uintptr, zIn uintptr, N U32) { /* sqlite3.c:193427:13: */ var i U32 var c uint8 if !(zIn == uintptr(0) || U64(N)+(*JsonString)(unsafe.Pointer(p)).FnUsed+uint64(2) >= (*JsonString)(unsafe.Pointer(p)).FnAlloc && jsonGrow(tls, p, N+U32(2)) != 0) { @@ -168602,11 +168633,11 @@ __4: var aSpecial = [32]int8{ int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8('b'), int8('t'), int8('n'), int8(0), int8('f'), int8('r'), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), -} /* sqlite3.c:193381:25 */ +} /* sqlite3.c:193438:25 */ // Append a function parameter value to the JSON string under // construction. -func jsonAppendValue(tls *libc.TLS, p uintptr, pValue uintptr) { /* sqlite3.c:193413:13: */ +func jsonAppendValue(tls *libc.TLS, p uintptr, pValue uintptr) { /* sqlite3.c:193470:13: */ switch Xsqlite3_value_type(tls, pValue) { case SQLITE_NULL: { @@ -168650,7 +168681,7 @@ func jsonAppendValue(tls *libc.TLS, p uintptr, pValue uintptr) { /* sqlite3.c:19 } // Make the JSON in p the result of the SQL function. -func jsonResult(tls *libc.TLS, p uintptr) { /* sqlite3.c:193453:13: */ +func jsonResult(tls *libc.TLS, p uintptr) { /* sqlite3.c:193510:13: */ if int32((*JsonString)(unsafe.Pointer(p)).FbErr) == 0 { Xsqlite3_result_text64(tls, (*JsonString)(unsafe.Pointer(p)).FpCtx, (*JsonString)(unsafe.Pointer(p)).FzBuf, (*JsonString)(unsafe.Pointer(p)).FnUsed, func() uintptr { @@ -168677,7 +168708,7 @@ func jsonResult(tls *libc.TLS, p uintptr) { /* sqlite3.c:193453:13: */ // Appended elements are not counted. The value returned is the number // by which the JsonNode counter should increment in order to go to the // next peer value. -func jsonNodeSize(tls *libc.TLS, pNode uintptr) U32 { /* sqlite3.c:193476:12: */ +func jsonNodeSize(tls *libc.TLS, pNode uintptr) U32 { /* sqlite3.c:193533:12: */ if int32((*JsonNode)(unsafe.Pointer(pNode)).FeType) >= JSON_ARRAY { return (*JsonNode)(unsafe.Pointer(pNode)).Fn + U32(1) } @@ -168686,7 +168717,7 @@ func jsonNodeSize(tls *libc.TLS, pNode uintptr) U32 { /* sqlite3.c:193476:12: */ // Reclaim all memory allocated by a JsonParse object. But do not // delete the JsonParse object itself. -func jsonParseReset(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:193484:13: */ +func jsonParseReset(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:193541:13: */ Xsqlite3_free(tls, (*JsonParse)(unsafe.Pointer(pParse)).FaNode) (*JsonParse)(unsafe.Pointer(pParse)).FaNode = uintptr(0) (*JsonParse)(unsafe.Pointer(pParse)).FnNode = U32(0) @@ -168696,7 +168727,7 @@ func jsonParseReset(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:193484:13: */ } // Free a JsonParse object that was obtained from sqlite3_malloc(). -func jsonParseFree(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:193496:13: */ +func jsonParseFree(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:193553:13: */ jsonParseReset(tls, pParse) Xsqlite3_free(tls, pParse) } @@ -168704,7 +168735,7 @@ func jsonParseFree(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:193496:13: */ // Convert the JsonNode pNode into a pure JSON string and // append to pOut. Subsubstructure is also included. Return // the number of JsonNode objects that are encoded. -func jsonRenderNode(tls *libc.TLS, pNode uintptr, pOut uintptr, aReplace uintptr) { /* sqlite3.c:193506:13: */ +func jsonRenderNode(tls *libc.TLS, pNode uintptr, pOut uintptr, aReplace uintptr) { /* sqlite3.c:193563:13: */ if int32((*JsonNode)(unsafe.Pointer(pNode)).FjnFlags)&(JNODE_REPLACE|JNODE_PATCH) != 0 { if int32((*JsonNode)(unsafe.Pointer(pNode)).FjnFlags)&JNODE_REPLACE != 0 && aReplace != uintptr(0) { @@ -168807,7 +168838,7 @@ func jsonRenderNode(tls *libc.TLS, pNode uintptr, pOut uintptr, aReplace uintptr } // Return a JsonNode and all its descendents as a JSON string. -func jsonReturnJson(tls *libc.TLS, pNode uintptr, pCtx uintptr, aReplace uintptr) { /* sqlite3.c:193595:13: */ +func jsonReturnJson(tls *libc.TLS, pNode uintptr, pCtx uintptr, aReplace uintptr) { /* sqlite3.c:193652:13: */ bp := tls.Alloc(136) defer tls.Free(136) @@ -168822,14 +168853,14 @@ func jsonReturnJson(tls *libc.TLS, pNode uintptr, pCtx uintptr, aReplace uintptr // Translate a single byte of Hex into an integer. // This routine only works if h really is a valid hexadecimal // character: 0..9a..fA..F -func jsonHexToInt(tls *libc.TLS, h int32) U8 { /* sqlite3.c:193612:11: */ +func jsonHexToInt(tls *libc.TLS, h int32) U8 { /* sqlite3.c:193669:11: */ h = h + 9*(1&(h>>6)) return U8(h & 0xf) } // Convert a 4-byte hex string into an integer -func jsonHexToInt4(tls *libc.TLS, z uintptr) U32 { /* sqlite3.c:193625:12: */ +func jsonHexToInt4(tls *libc.TLS, z uintptr) U32 { /* sqlite3.c:193682:12: */ var v U32 v = U32(int32(jsonHexToInt(tls, int32(*(*int8)(unsafe.Pointer(z)))))<<12 + @@ -168840,7 +168871,7 @@ func jsonHexToInt4(tls *libc.TLS, z uintptr) U32 { /* sqlite3.c:193625:12: */ } // Make the JsonNode the return value of the function. -func jsonReturn(tls *libc.TLS, pNode uintptr, pCtx uintptr, aReplace uintptr) { /* sqlite3.c:193641:13: */ +func jsonReturn(tls *libc.TLS, pNode uintptr, pCtx uintptr, aReplace uintptr) { /* sqlite3.c:193698:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -169121,7 +169152,7 @@ __1: // A macro to hint to the compiler that a function should not be // inlined. -func jsonParseAddNodeExpand(tls *libc.TLS, pParse uintptr, eType U32, n U32, zContent uintptr) int32 { /* sqlite3.c:193814:26: */ +func jsonParseAddNodeExpand(tls *libc.TLS, pParse uintptr, eType U32, n U32, zContent uintptr) int32 { /* sqlite3.c:193871:26: */ var nNew U32 var pNew uintptr @@ -169143,7 +169174,7 @@ func jsonParseAddNodeExpand(tls *libc.TLS, pParse uintptr, eType U32, n U32, zCo // Create a new JsonNode instance based on the arguments and append that // instance to the JsonParse. Return the index in pParse->aNode[] of the // new node, or -1 if a memory allocation fails. -func jsonParseAddNode(tls *libc.TLS, pParse uintptr, eType U32, n U32, zContent uintptr) int32 { /* sqlite3.c:193841:12: */ +func jsonParseAddNode(tls *libc.TLS, pParse uintptr, eType U32, n U32, zContent uintptr) int32 { /* sqlite3.c:193898:12: */ var p uintptr if (*JsonParse)(unsafe.Pointer(pParse)).FaNode == uintptr(0) || (*JsonParse)(unsafe.Pointer(pParse)).FnNode >= (*JsonParse)(unsafe.Pointer(pParse)).FnAlloc { return jsonParseAddNodeExpand(tls, pParse, eType, n, zContent) @@ -169158,7 +169189,7 @@ func jsonParseAddNode(tls *libc.TLS, pParse uintptr, eType U32, n U32, zContent } // Return true if z[] begins with 4 (or more) hexadecimal digits -func jsonIs4Hex(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:193863:12: */ +func jsonIs4Hex(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:193920:12: */ var i int32 for i = 0; i < 4; i++ { if !(int32(Xsqlite3CtypeMap[uint8(*(*int8)(unsafe.Pointer(z + uintptr(i))))])&0x08 != 0) { @@ -169174,7 +169205,7 @@ func jsonIs4Hex(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:193863:12: */ // Return negative for a syntax error. Special cases: return -2 if the // first non-whitespace character is '}' and return -3 if the first // non-whitespace character is ']'. -func jsonParseValue(tls *libc.TLS, pParse uintptr, i U32) int32 { /* sqlite3.c:193877:12: */ +func jsonParseValue(tls *libc.TLS, pParse uintptr, i U32) int32 { /* sqlite3.c:193934:12: */ var c int8 var j U32 var iThis int32 @@ -169401,7 +169432,7 @@ func jsonParseValue(tls *libc.TLS, pParse uintptr, i U32) int32 { /* sqlite3.c:1 // pParse. // // pParse is uninitialized when this routine is called. -func jsonParse(tls *libc.TLS, pParse uintptr, pCtx uintptr, zJson uintptr) int32 { /* sqlite3.c:194038:12: */ +func jsonParse(tls *libc.TLS, pParse uintptr, pCtx uintptr, zJson uintptr) int32 { /* sqlite3.c:194095:12: */ var i int32 libc.X__builtin___memset_chk(tls, pParse, 0, uint64(unsafe.Sizeof(JsonParse{})), libc.X__builtin_object_size(tls, pParse, 0)) if zJson == uintptr(0) { @@ -169437,7 +169468,7 @@ func jsonParse(tls *libc.TLS, pParse uintptr, pCtx uintptr, zJson uintptr) int32 // Mark node i of pParse as being a child of iParent. Call recursively // to fill in all the descendants of node i. -func jsonParseFillInParentage(tls *libc.TLS, pParse uintptr, i U32, iParent U32) { /* sqlite3.c:194071:13: */ +func jsonParseFillInParentage(tls *libc.TLS, pParse uintptr, i U32, iParent U32) { /* sqlite3.c:194128:13: */ var pNode uintptr = (*JsonParse)(unsafe.Pointer(pParse)).FaNode + uintptr(i)*16 var j U32 *(*U32)(unsafe.Pointer((*JsonParse)(unsafe.Pointer(pParse)).FaUp + uintptr(i)*4)) = iParent @@ -169468,7 +169499,7 @@ func jsonParseFillInParentage(tls *libc.TLS, pParse uintptr, i U32, iParent U32) } // Compute the parentage of all nodes in a completed parse. -func jsonParseFindParents(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:194098:12: */ +func jsonParseFindParents(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:194155:12: */ var aUp uintptr aUp = libc.AssignPtrUintptr(pParse+24, Xsqlite3_malloc64(tls, uint64(uint64(unsafe.Sizeof(U32(0)))*uint64((*JsonParse)(unsafe.Pointer(pParse)).FnNode)))) @@ -169488,7 +169519,7 @@ func jsonParseFindParents(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:19 // is no longer valid, parse the JSON again and return the new parse, // and also register the new parse so that it will be available for // future sqlite3_get_auxdata() calls. -func jsonParseCached(tls *libc.TLS, pCtx uintptr, argv uintptr, pErrCtx uintptr) uintptr { /* sqlite3.c:194124:18: */ +func jsonParseCached(tls *libc.TLS, pCtx uintptr, argv uintptr, pErrCtx uintptr) uintptr { /* sqlite3.c:194181:18: */ var zJson uintptr = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv))) var nJson int32 = Xsqlite3_value_bytes(tls, *(*uintptr)(unsafe.Pointer(argv))) var p uintptr @@ -169545,7 +169576,7 @@ func jsonParseCached(tls *libc.TLS, pCtx uintptr, argv uintptr, pErrCtx uintptr) // Compare the OBJECT label at pNode against zKey,nKey. Return true on // a match. -func jsonLabelCompare(tls *libc.TLS, pNode uintptr, zKey uintptr, nKey U32) int32 { /* sqlite3.c:194186:12: */ +func jsonLabelCompare(tls *libc.TLS, pNode uintptr, zKey uintptr, nKey U32) int32 { /* sqlite3.c:194243:12: */ if int32((*JsonNode)(unsafe.Pointer(pNode)).FjnFlags)&JNODE_RAW != 0 { if (*JsonNode)(unsafe.Pointer(pNode)).Fn != nKey { @@ -169568,7 +169599,7 @@ func jsonLabelCompare(tls *libc.TLS, pNode uintptr, zKey uintptr, nKey U32) int3 // If pApnd!=0, then try to append new nodes to complete zPath if it is // possible to do so and if no existing node corresponds to zPath. If // new nodes are appended *pApnd is set to 1. -func jsonLookupStep(tls *libc.TLS, pParse uintptr, iRoot U32, zPath uintptr, pApnd uintptr, pzErr uintptr) uintptr { /* sqlite3.c:194209:17: */ +func jsonLookupStep(tls *libc.TLS, pParse uintptr, iRoot U32, zPath uintptr, pApnd uintptr, pzErr uintptr) uintptr { /* sqlite3.c:194266:17: */ var i U32 var j U32 var nKey U32 @@ -169743,7 +169774,7 @@ func jsonLookupStep(tls *libc.TLS, pParse uintptr, iRoot U32, zPath uintptr, pAp // Append content to pParse that will complete zPath. Return a pointer // to the inserted node, or return NULL if the append fails. -func jsonLookupAppend(tls *libc.TLS, pParse uintptr, zPath uintptr, pApnd uintptr, pzErr uintptr) uintptr { /* sqlite3.c:194361:17: */ +func jsonLookupAppend(tls *libc.TLS, pParse uintptr, zPath uintptr, pApnd uintptr, pzErr uintptr) uintptr { /* sqlite3.c:194418:17: */ *(*int32)(unsafe.Pointer(pApnd)) = 1 if int32(*(*int8)(unsafe.Pointer(zPath))) == 0 { jsonParseAddNode(tls, pParse, uint32(JSON_NULL), uint32(0), uintptr(0)) @@ -169767,7 +169798,7 @@ func jsonLookupAppend(tls *libc.TLS, pParse uintptr, zPath uintptr, pApnd uintpt // Return the text of a syntax error message on a JSON path. Space is // obtained from sqlite3_malloc(). -func jsonPathSyntaxError(tls *libc.TLS, zErr uintptr) uintptr { /* sqlite3.c:194387:13: */ +func jsonPathSyntaxError(tls *libc.TLS, zErr uintptr) uintptr { /* sqlite3.c:194444:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -169782,7 +169813,7 @@ func jsonPathSyntaxError(tls *libc.TLS, zErr uintptr) uintptr { /* sqlite3.c:194 // // If pApnd!=NULL then try to append missing nodes and set *pApnd = 1 if // nodes are appended. -func jsonLookup(tls *libc.TLS, pParse uintptr, zPath uintptr, pApnd uintptr, pCtx uintptr) uintptr { /* sqlite3.c:194401:17: */ +func jsonLookup(tls *libc.TLS, pParse uintptr, zPath uintptr, pApnd uintptr, pCtx uintptr) uintptr { /* sqlite3.c:194458:17: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -169834,7 +169865,7 @@ __5: // Report the wrong number of arguments for json_insert(), json_replace() // or json_set(). -func jsonWrongNumArgs(tls *libc.TLS, pCtx uintptr, zFuncName uintptr) { /* sqlite3.c:194438:13: */ +func jsonWrongNumArgs(tls *libc.TLS, pCtx uintptr, zFuncName uintptr) { /* sqlite3.c:194495:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -169845,7 +169876,7 @@ func jsonWrongNumArgs(tls *libc.TLS, pCtx uintptr, zFuncName uintptr) { /* sqlit } // Mark all NULL entries in the Object passed in as JNODE_REMOVE. -func jsonRemoveAllNulls(tls *libc.TLS, pNode uintptr) { /* sqlite3.c:194451:13: */ +func jsonRemoveAllNulls(tls *libc.TLS, pNode uintptr) { /* sqlite3.c:194508:13: */ var i int32 var n int32 @@ -169876,7 +169907,7 @@ func jsonRemoveAllNulls(tls *libc.TLS, pNode uintptr) { /* sqlite3.c:194451:13: // corresponding to the SQL value input. Mostly this means putting // double-quotes around strings and returning the unquoted string "null" // when given a NULL input. -func jsonQuoteFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:194540:13: */ +func jsonQuoteFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:194597:13: */ bp := tls.Alloc(136) defer tls.Free(136) @@ -169893,7 +169924,7 @@ func jsonQuoteFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sq // Implementation of the json_array(VALUE,...) function. Return a JSON // array that contains all values given in arguments. Or if any argument // is a BLOB, throw an error. -func jsonArrayFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:194559:13: */ +func jsonArrayFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:194616:13: */ bp := tls.Alloc(136) defer tls.Free(136) @@ -169916,7 +169947,7 @@ func jsonArrayFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sq // // Return the number of elements in the top-level JSON array. // Return 0 if the input is not a well-formed JSON array. -func jsonArrayLengthFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:194586:13: */ +func jsonArrayLengthFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:194643:13: */ var p uintptr // The parse var n Sqlite3_int64 = int64(0) var i U32 @@ -169966,7 +169997,7 @@ func jsonArrayLengthFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { // // Abbreviated JSON path expressions are allows if JSON_ABPATH, for // compatibility with PG. -func jsonExtractFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:194646:13: */ +func jsonExtractFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:194703:13: */ bp := tls.Alloc(136) defer tls.Free(136) @@ -170060,7 +170091,7 @@ func jsonExtractFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* } // This is the RFC 7396 MergePatch algorithm. -func jsonMergePatch(tls *libc.TLS, pParse uintptr, iTarget U32, pPatch uintptr) uintptr { /* sqlite3.c:194729:17: */ +func jsonMergePatch(tls *libc.TLS, pParse uintptr, iTarget U32, pPatch uintptr) uintptr { /* sqlite3.c:194786:17: */ var i U32 var j U32 var iRoot U32 @@ -170133,7 +170164,7 @@ func jsonMergePatch(tls *libc.TLS, pParse uintptr, iTarget U32, pPatch uintptr) // Implementation of the json_mergepatch(JSON1,JSON2) function. Return a JSON // object that is the result of running the RFC 7396 MergePatch() algorithm // on the two arguments. -func jsonPatchFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:194811:13: */ +func jsonPatchFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:194868:13: */ bp := tls.Alloc(96) defer tls.Free(96) @@ -170165,7 +170196,7 @@ func jsonPatchFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sq // Implementation of the json_object(NAME,VALUE,...) function. Return a JSON // object that contains all name/value given in arguments. Or if any name // is not a string or if any value is a BLOB, throw an error. -func jsonObjectFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:194843:13: */ +func jsonObjectFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:194900:13: */ bp := tls.Alloc(136) defer tls.Free(136) @@ -170204,7 +170235,7 @@ func jsonObjectFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* s // // Remove the named elements from JSON and return the result. malformed // JSON or PATH arguments result in an error. -func jsonRemoveFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:194885:13: */ +func jsonRemoveFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:194942:13: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -170273,7 +170304,7 @@ remove_done: // // Replace the value at PATH with VALUE. If PATH does not already exist, // this routine is a no-op. If JSON or PATH is malformed, throw an error. -func jsonReplaceFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:194918:13: */ +func jsonReplaceFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:194975:13: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -170356,7 +170387,7 @@ replace_err: // // Create PATH and initialize it to VALUE. If PATH already exists, this // routine is a no-op. If JSON or PATH is malformed, throw an error. -func jsonSetFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:194970:13: */ +func jsonSetFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:195027:13: */ bp := tls.Alloc(52) defer tls.Free(52) @@ -170454,7 +170485,7 @@ jsonSetDone: // // Return the top-level "type" of a JSON string. json_type() raises an // error if either the JSON or PATH inputs are not well-formed. -func jsonTypeFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:195023:13: */ +func jsonTypeFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:195080:13: */ var p uintptr // The parse var zPath uintptr var pNode uintptr @@ -170478,7 +170509,7 @@ func jsonTypeFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sql // // Return 1 if JSON is a well-formed JSON string according to RFC-7159. // Return 0 otherwise. -func jsonValidFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:195051:13: */ +func jsonValidFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:195108:13: */ var p uintptr // The parse _ = argc p = jsonParseCached(tls, ctx, argv, uintptr(0)) @@ -170492,7 +170523,7 @@ func jsonValidFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sq // json_group_array(VALUE) // // Return a JSON array composed of all values in the aggregate. -func jsonArrayStep(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:195071:13: */ +func jsonArrayStep(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:195128:13: */ var pStr uintptr _ = argc pStr = Xsqlite3_aggregate_context(tls, ctx, int32(unsafe.Sizeof(JsonString{}))) @@ -170508,7 +170539,7 @@ func jsonArrayStep(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sq } } -func jsonArrayCompute(tls *libc.TLS, ctx uintptr, isFinal int32) { /* sqlite3.c:195090:13: */ +func jsonArrayCompute(tls *libc.TLS, ctx uintptr, isFinal int32) { /* sqlite3.c:195147:13: */ var pStr uintptr pStr = Xsqlite3_aggregate_context(tls, ctx, 0) if pStr != 0 { @@ -170538,11 +170569,11 @@ func jsonArrayCompute(tls *libc.TLS, ctx uintptr, isFinal int32) { /* sqlite3.c: Xsqlite3_result_subtype(tls, ctx, uint32(JSON_SUBTYPE)) } -func jsonArrayValue(tls *libc.TLS, ctx uintptr) { /* sqlite3.c:195112:13: */ +func jsonArrayValue(tls *libc.TLS, ctx uintptr) { /* sqlite3.c:195169:13: */ jsonArrayCompute(tls, ctx, 0) } -func jsonArrayFinal(tls *libc.TLS, ctx uintptr) { /* sqlite3.c:195115:13: */ +func jsonArrayFinal(tls *libc.TLS, ctx uintptr) { /* sqlite3.c:195172:13: */ jsonArrayCompute(tls, ctx, 1) } @@ -170550,7 +170581,7 @@ func jsonArrayFinal(tls *libc.TLS, ctx uintptr) { /* sqlite3.c:195115:13: */ // It works by removing the first element of the group by searching forward // to the first comma (",") that is not within a string and deleting all // text through that comma. -func jsonGroupInverse(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:195126:13: */ +func jsonGroupInverse(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:195183:13: */ var i uint32 var inStr int32 = 0 var nNest int32 = 0 @@ -170592,7 +170623,7 @@ func jsonGroupInverse(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* // json_group_obj(NAME,VALUE) // // Return a JSON object composed of all names and values in the aggregate. -func jsonObjectStep(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:195174:13: */ +func jsonObjectStep(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:195231:13: */ var pStr uintptr var z uintptr var n U32 @@ -170614,7 +170645,7 @@ func jsonObjectStep(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* s } } -func jsonObjectCompute(tls *libc.TLS, ctx uintptr, isFinal int32) { /* sqlite3.c:195199:13: */ +func jsonObjectCompute(tls *libc.TLS, ctx uintptr, isFinal int32) { /* sqlite3.c:195256:13: */ var pStr uintptr pStr = Xsqlite3_aggregate_context(tls, ctx, 0) if pStr != 0 { @@ -170643,11 +170674,11 @@ func jsonObjectCompute(tls *libc.TLS, ctx uintptr, isFinal int32) { /* sqlite3.c Xsqlite3_result_subtype(tls, ctx, uint32(JSON_SUBTYPE)) } -func jsonObjectValue(tls *libc.TLS, ctx uintptr) { /* sqlite3.c:195220:13: */ +func jsonObjectValue(tls *libc.TLS, ctx uintptr) { /* sqlite3.c:195277:13: */ jsonObjectCompute(tls, ctx, 0) } -func jsonObjectFinal(tls *libc.TLS, ctx uintptr) { /* sqlite3.c:195223:13: */ +func jsonObjectFinal(tls *libc.TLS, ctx uintptr) { /* sqlite3.c:195280:13: */ jsonObjectCompute(tls, ctx, 1) } @@ -170667,16 +170698,16 @@ type JsonEachCursor1 = struct { FzJson uintptr FzRoot uintptr FsParse JsonParse -} /* sqlite3.c:195233:9 */ +} /* sqlite3.c:195290:9 */ // *************************************************************************** // // The json_each virtual table // -type JsonEachCursor = JsonEachCursor1 /* sqlite3.c:195233:31 */ +type JsonEachCursor = JsonEachCursor1 /* sqlite3.c:195290:31 */ // Constructor for the json_each virtual table -func jsonEachConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 { /* sqlite3.c:195248:12: */ +func jsonEachConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 { /* sqlite3.c:195305:12: */ var pNew uintptr var rc int32 @@ -170704,13 +170735,13 @@ func jsonEachConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv u } // destructor for json_each virtual table -func jsonEachDisconnect(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:195290:12: */ +func jsonEachDisconnect(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:195347:12: */ Xsqlite3_free(tls, pVtab) return SQLITE_OK } // constructor for a JsonEachCursor object for json_each(). -func jsonEachOpenEach(tls *libc.TLS, p uintptr, ppCursor uintptr) int32 { /* sqlite3.c:195296:12: */ +func jsonEachOpenEach(tls *libc.TLS, p uintptr, ppCursor uintptr) int32 { /* sqlite3.c:195353:12: */ var pCur uintptr _ = p @@ -170724,7 +170755,7 @@ func jsonEachOpenEach(tls *libc.TLS, p uintptr, ppCursor uintptr) int32 { /* sql } // constructor for a JsonEachCursor object for json_tree(). -func jsonEachOpenTree(tls *libc.TLS, p uintptr, ppCursor uintptr) int32 { /* sqlite3.c:195308:12: */ +func jsonEachOpenTree(tls *libc.TLS, p uintptr, ppCursor uintptr) int32 { /* sqlite3.c:195365:12: */ var rc int32 = jsonEachOpenEach(tls, p, ppCursor) if rc == SQLITE_OK { var pCur uintptr = *(*uintptr)(unsafe.Pointer(ppCursor)) @@ -170735,7 +170766,7 @@ func jsonEachOpenTree(tls *libc.TLS, p uintptr, ppCursor uintptr) int32 { /* sql // Reset a JsonEachCursor back to its original state. Free any memory // held. -func jsonEachCursorReset(tls *libc.TLS, p uintptr) { /* sqlite3.c:195319:13: */ +func jsonEachCursorReset(tls *libc.TLS, p uintptr) { /* sqlite3.c:195376:13: */ Xsqlite3_free(tls, (*JsonEachCursor)(unsafe.Pointer(p)).FzJson) Xsqlite3_free(tls, (*JsonEachCursor)(unsafe.Pointer(p)).FzRoot) jsonParseReset(tls, p+48) @@ -170748,7 +170779,7 @@ func jsonEachCursorReset(tls *libc.TLS, p uintptr) { /* sqlite3.c:195319:13: */ } // Destructor for a jsonEachCursor object -func jsonEachClose(tls *libc.TLS, cur uintptr) int32 { /* sqlite3.c:195332:12: */ +func jsonEachClose(tls *libc.TLS, cur uintptr) int32 { /* sqlite3.c:195389:12: */ var p uintptr = cur jsonEachCursorReset(tls, p) Xsqlite3_free(tls, cur) @@ -170757,13 +170788,13 @@ func jsonEachClose(tls *libc.TLS, cur uintptr) int32 { /* sqlite3.c:195332:12: * // Return TRUE if the jsonEachCursor object has been advanced off the end // of the JSON object -func jsonEachEof(tls *libc.TLS, cur uintptr) int32 { /* sqlite3.c:195341:12: */ +func jsonEachEof(tls *libc.TLS, cur uintptr) int32 { /* sqlite3.c:195398:12: */ var p uintptr = cur return libc.Bool32((*JsonEachCursor)(unsafe.Pointer(p)).Fi >= (*JsonEachCursor)(unsafe.Pointer(p)).FiEnd) } // Advance the cursor to the next element for json_tree() -func jsonEachNext(tls *libc.TLS, cur uintptr) int32 { /* sqlite3.c:195347:12: */ +func jsonEachNext(tls *libc.TLS, cur uintptr) int32 { /* sqlite3.c:195404:12: */ var p uintptr = cur if (*JsonEachCursor)(unsafe.Pointer(p)).FbRecursive != 0 { if int32((*JsonNode)(unsafe.Pointer((*JsonEachCursor)(unsafe.Pointer(p)).FsParse.FaNode+uintptr((*JsonEachCursor)(unsafe.Pointer(p)).Fi)*16)).FjnFlags)&JNODE_LABEL != 0 { @@ -170814,7 +170845,7 @@ func jsonEachNext(tls *libc.TLS, cur uintptr) int32 { /* sqlite3.c:195347:12: */ } // Append the name of the path for element i to pStr -func jsonEachComputePath(tls *libc.TLS, p uintptr, pStr uintptr, i U32) { /* sqlite3.c:195391:13: */ +func jsonEachComputePath(tls *libc.TLS, p uintptr, pStr uintptr, i U32) { /* sqlite3.c:195448:13: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -170843,7 +170874,7 @@ func jsonEachComputePath(tls *libc.TLS, p uintptr, pStr uintptr, i U32) { /* sql } // Return the value of a column -func jsonEachColumn(tls *libc.TLS, cur uintptr, ctx uintptr, i int32) int32 { /* sqlite3.c:195421:12: */ +func jsonEachColumn(tls *libc.TLS, cur uintptr, ctx uintptr, i int32) int32 { /* sqlite3.c:195478:12: */ bp := tls.Alloc(296) defer tls.Free(296) @@ -170980,7 +171011,7 @@ func jsonEachColumn(tls *libc.TLS, cur uintptr, ctx uintptr, i int32) int32 { /* } // Return the current rowid value -func jsonEachRowid(tls *libc.TLS, cur uintptr, pRowid uintptr) int32 { /* sqlite3.c:195522:12: */ +func jsonEachRowid(tls *libc.TLS, cur uintptr, pRowid uintptr) int32 { /* sqlite3.c:195579:12: */ var p uintptr = cur *(*Sqlite_int64)(unsafe.Pointer(pRowid)) = Sqlite_int64((*JsonEachCursor)(unsafe.Pointer(p)).FiRowid) return SQLITE_OK @@ -170990,7 +171021,7 @@ func jsonEachRowid(tls *libc.TLS, cur uintptr, pRowid uintptr) int32 { /* sqlite // column. Without such a constraint, the table cannot operate. idxNum is // 1 if the constraint is found, 3 if the constraint and zRoot are found, // and 0 otherwise. -func jsonEachBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 { /* sqlite3.c:195533:12: */ +func jsonEachBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 { /* sqlite3.c:195590:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -171065,7 +171096,7 @@ __3: } // Start a search on a new JSON string -func jsonEachFilter(tls *libc.TLS, cur uintptr, idxNum int32, idxStr uintptr, argc int32, argv uintptr) int32 { /* sqlite3.c:195592:12: */ +func jsonEachFilter(tls *libc.TLS, cur uintptr, idxNum int32, idxStr uintptr, argc int32, argv uintptr) int32 { /* sqlite3.c:195649:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -171170,7 +171201,7 @@ var jsonEachModule = Sqlite3_module{ // xCreate FxEof: 0, // xEof - check for end of scan FxColumn: 0, // xColumn - read data FxRowid: 0, // xShadowName -} /* sqlite3.c:195673:23 */ +} /* sqlite3.c:195730:23 */ // The methods of the json_tree virtual table. var jsonTreeModule = Sqlite3_module{ // xCreate @@ -171184,10 +171215,10 @@ var jsonTreeModule = Sqlite3_module{ // xCreate FxEof: 0, // xEof - check for end of scan FxColumn: 0, // xColumn - read data FxRowid: 0, // xShadowName -} /* sqlite3.c:195701:23 */ +} /* sqlite3.c:195758:23 */ // Register JSON functions. -func Xsqlite3RegisterJsonFunctions(tls *libc.TLS) { /* sqlite3.c:195733:21: */ +func Xsqlite3RegisterJsonFunctions(tls *libc.TLS) { /* sqlite3.c:195790:21: */ Xsqlite3InsertBuiltinFuncs(tls, uintptr(unsafe.Pointer(&aJsonFunc)), int32(uint64(unsafe.Sizeof(aJsonFunc))/uint64(unsafe.Sizeof(FuncDef{})))) } @@ -171210,10 +171241,10 @@ var aJsonFunc = [19]FuncDef{ {FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_INNOCUOUS | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 25244}, {FnArg: int8(1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_INNOCUOUS | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 25254}, {FnArg: int8(1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_UTF8 | 0*SQLITE_FUNC_NEEDCOLL | SQLITE_SUBTYPE | SQLITE_UTF8 | SQLITE_DETERMINISTIC | SQLITE_INNOCUOUS), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 25265}, - {FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_UTF8 | 0*SQLITE_FUNC_NEEDCOLL | SQLITE_SUBTYPE | SQLITE_UTF8 | SQLITE_DETERMINISTIC | SQLITE_INNOCUOUS), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 25282}} /* sqlite3.c:195735:18 */ + {FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_UTF8 | 0*SQLITE_FUNC_NEEDCOLL | SQLITE_SUBTYPE | SQLITE_UTF8 | SQLITE_DETERMINISTIC | SQLITE_INNOCUOUS), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 25282}} /* sqlite3.c:195792:18 */ // Register the JSON table-valued functions -func Xsqlite3JsonTableFunctions(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:195772:20: */ +func Xsqlite3JsonTableFunctions(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:195829:20: */ var rc int32 = SQLITE_OK var i uint32 for i = uint32(0); uint64(i) < uint64(unsafe.Sizeof(aMod))/uint64(unsafe.Sizeof(struct { @@ -171231,7 +171262,7 @@ var aMod = [2]struct { }{ {FzName: ts + 25300 /* "json_each" */, FpModule: 0}, {FzName: ts + 25310 /* "json_tree" */, FpModule: 0}, -} /* sqlite3.c:195777:5 */ // In the SQLite core +} /* sqlite3.c:195834:5 */ // In the SQLite core // If building separately, we will need some setup that is normally // found in sqliteInt.h @@ -171278,7 +171309,7 @@ type Rtree1 = struct { FpDeleteParent uintptr FpWriteAux uintptr FaHash [97]uintptr -} /* sqlite3.c:195900:9 */ +} /* sqlite3.c:195957:9 */ // In the SQLite core @@ -171292,7 +171323,7 @@ type Rtree1 = struct { // The following macro is used to suppress compiler warnings. -type Rtree = Rtree1 /* sqlite3.c:195900:22 */ +type Rtree = Rtree1 /* sqlite3.c:195957:22 */ type RtreeCursor1 = struct { Fbase Sqlite3_vtab_cursor FatEOF U8 @@ -171313,9 +171344,9 @@ type RtreeCursor1 = struct { FaNode [5]uintptr FanQueue [41]U32 F__ccgo_pad4 [4]byte -} /* sqlite3.c:195901:9 */ +} /* sqlite3.c:195958:9 */ -type RtreeCursor = RtreeCursor1 /* sqlite3.c:195901:28 */ +type RtreeCursor = RtreeCursor1 /* sqlite3.c:195958:28 */ type RtreeNode1 = struct { FpParent uintptr FiNode I64 @@ -171323,23 +171354,23 @@ type RtreeNode1 = struct { FisDirty int32 FzData uintptr FpNext uintptr -} /* sqlite3.c:195900:9 */ +} /* sqlite3.c:195957:9 */ -type RtreeNode = RtreeNode1 /* sqlite3.c:195902:26 */ +type RtreeNode = RtreeNode1 /* sqlite3.c:195959:26 */ type RtreeCell1 = struct { FiRowid I64 FaCoord [10]RtreeCoord -} /* sqlite3.c:195903:9 */ +} /* sqlite3.c:195960:9 */ -type RtreeCell = RtreeCell1 /* sqlite3.c:195903:26 */ +type RtreeCell = RtreeCell1 /* sqlite3.c:195960:26 */ type RtreeConstraint1 = struct { FiCoord int32 Fop int32 Fu struct{ FrValue RtreeDValue } FpInfo uintptr -} /* sqlite3.c:195901:9 */ +} /* sqlite3.c:195958:9 */ -type RtreeConstraint = RtreeConstraint1 /* sqlite3.c:195904:32 */ +type RtreeConstraint = RtreeConstraint1 /* sqlite3.c:195961:32 */ type RtreeMatchArg1 = struct { FiSize U32 F__ccgo_pad1 [4]byte @@ -171348,20 +171379,20 @@ type RtreeMatchArg1 = struct { F__ccgo_pad2 [4]byte FapSqlParam uintptr FaParam [1]RtreeDValue -} /* sqlite3.c:195905:9 */ +} /* sqlite3.c:195962:9 */ -type RtreeMatchArg = RtreeMatchArg1 /* sqlite3.c:195905:30 */ +type RtreeMatchArg = RtreeMatchArg1 /* sqlite3.c:195962:30 */ type RtreeGeomCallback1 = struct { FxGeom uintptr FxQueryFunc uintptr FxDestructor uintptr FpContext uintptr -} /* sqlite3.c:195905:9 */ +} /* sqlite3.c:195962:9 */ -type RtreeGeomCallback = RtreeGeomCallback1 /* sqlite3.c:195906:34 */ -type RtreeCoord1 = struct{ Ff RtreeValue } /* sqlite3.c:195903:9 */ +type RtreeGeomCallback = RtreeGeomCallback1 /* sqlite3.c:195963:34 */ +type RtreeCoord1 = struct{ Ff RtreeValue } /* sqlite3.c:195960:9 */ -type RtreeCoord = RtreeCoord1 /* sqlite3.c:195907:26 */ +type RtreeCoord = RtreeCoord1 /* sqlite3.c:195964:26 */ type RtreeSearchPoint1 = struct { FrScore RtreeDValue Fid Sqlite3_int64 @@ -171369,17 +171400,17 @@ type RtreeSearchPoint1 = struct { FeWithin U8 FiCell U8 F__ccgo_pad1 [5]byte -} /* sqlite3.c:195901:9 */ +} /* sqlite3.c:195958:9 */ -type RtreeSearchPoint = RtreeSearchPoint1 /* sqlite3.c:195908:33 */ +type RtreeSearchPoint = RtreeSearchPoint1 /* sqlite3.c:195965:33 */ // Possible values for Rtree.eCoordType: // 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 RtreeDValue = float64 /* sqlite3.c:196005:18 */ // High accuracy coordinate -type RtreeValue = float32 /* sqlite3.c:196006:17 */ +type RtreeDValue = float64 /* sqlite3.c:196062:18 */ // High accuracy coordinate +type RtreeValue = float32 /* sqlite3.c:196063:17 */ // What version of GCC is being used. 0 means GCC is not being used . // Note that the GCC_VERSION macro will also be set correctly when using @@ -171405,28 +171436,28 @@ type RtreeValue = float32 /* sqlite3.c:196006:17 */ // Functions to deserialize a 16 bit integer, 32 bit real number and // 64 bit integer. The deserialized value is returned. -func readInt16(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:196290:12: */ +func readInt16(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:196347:12: */ return int32(*(*U8)(unsafe.Pointer(p)))<<8 + int32(*(*U8)(unsafe.Pointer(p + 1))) } -func readCoord(tls *libc.TLS, p uintptr, pCoord uintptr) { /* sqlite3.c:196293:13: */ +func readCoord(tls *libc.TLS, p uintptr, pCoord uintptr) { /* sqlite3.c:196350:13: */ // p is always 4-byte aligned *(*U32)(unsafe.Pointer(pCoord)) = U32(*(*U8)(unsafe.Pointer(p)))<<24 + U32(*(*U8)(unsafe.Pointer(p + 1)))<<16 + U32(*(*U8)(unsafe.Pointer(p + 2)))<<8 + U32(*(*U8)(unsafe.Pointer(p + 3)))<<0 } -func readInt64(tls *libc.TLS, p uintptr) I64 { /* sqlite3.c:196310:12: */ +func readInt64(tls *libc.TLS, p uintptr) I64 { /* sqlite3.c:196367:12: */ return I64(U64(*(*U8)(unsafe.Pointer(p)))<<56 + U64(*(*U8)(unsafe.Pointer(p + 1)))<<48 + U64(*(*U8)(unsafe.Pointer(p + 2)))<<40 + U64(*(*U8)(unsafe.Pointer(p + 3)))<<32 + U64(*(*U8)(unsafe.Pointer(p + 4)))<<24 + U64(*(*U8)(unsafe.Pointer(p + 5)))<<16 + U64(*(*U8)(unsafe.Pointer(p + 6)))<<8 + U64(*(*U8)(unsafe.Pointer(p + 7)))<<0) } // Functions to serialize a 16 bit integer, 32 bit real number and // 64 bit integer. The value returned is the number of bytes written // to the argument buffer (always 2, 4 and 8 respectively). -func writeInt16(tls *libc.TLS, p uintptr, i int32) { /* sqlite3.c:196342:13: */ +func writeInt16(tls *libc.TLS, p uintptr, i int32) { /* sqlite3.c:196399:13: */ *(*U8)(unsafe.Pointer(p)) = U8(i >> 8 & 0xFF) *(*U8)(unsafe.Pointer(p + 1)) = U8(i >> 0 & 0xFF) } -func writeCoord(tls *libc.TLS, p uintptr, pCoord uintptr) int32 { /* sqlite3.c:196346:12: */ +func writeCoord(tls *libc.TLS, p uintptr, pCoord uintptr) int32 { /* sqlite3.c:196403:12: */ var i U32 // p is always 4-byte aligned @@ -171438,7 +171469,7 @@ func writeCoord(tls *libc.TLS, p uintptr, pCoord uintptr) int32 { /* sqlite3.c:1 return 4 } -func writeInt64(tls *libc.TLS, p uintptr, i I64) int32 { /* sqlite3.c:196369:12: */ +func writeInt64(tls *libc.TLS, p uintptr, i I64) int32 { /* sqlite3.c:196426:12: */ *(*U8)(unsafe.Pointer(p)) = U8(i >> 56 & int64(0xFF)) *(*U8)(unsafe.Pointer(p + 1)) = U8(i >> 48 & int64(0xFF)) *(*U8)(unsafe.Pointer(p + 2)) = U8(i >> 40 & int64(0xFF)) @@ -171451,7 +171482,7 @@ func writeInt64(tls *libc.TLS, p uintptr, i I64) int32 { /* sqlite3.c:196369:12: } // Increment the reference count of node p. -func nodeReference(tls *libc.TLS, p uintptr) { /* sqlite3.c:196394:13: */ +func nodeReference(tls *libc.TLS, p uintptr) { /* sqlite3.c:196451:13: */ if p != 0 { (*RtreeNode)(unsafe.Pointer(p)).FnRef++ @@ -171459,20 +171490,20 @@ func nodeReference(tls *libc.TLS, p uintptr) { /* sqlite3.c:196394:13: */ } // Clear the content of node p (set all bytes to 0x00). -func nodeZero(tls *libc.TLS, pRtree uintptr, p uintptr) { /* sqlite3.c:196404:13: */ +func nodeZero(tls *libc.TLS, pRtree uintptr, p uintptr) { /* sqlite3.c:196461:13: */ libc.X__builtin___memset_chk(tls, (*RtreeNode)(unsafe.Pointer(p)).FzData+2, 0, uint64((*Rtree)(unsafe.Pointer(pRtree)).FiNodeSize-2), libc.X__builtin_object_size(tls, (*RtreeNode)(unsafe.Pointer(p)).FzData+2, 0)) (*RtreeNode)(unsafe.Pointer(p)).FisDirty = 1 } // Given a node number iNode, return the corresponding key to use // in the Rtree.aHash table. -func nodeHash(tls *libc.TLS, iNode I64) uint32 { /* sqlite3.c:196413:21: */ +func nodeHash(tls *libc.TLS, iNode I64) uint32 { /* sqlite3.c:196470:21: */ return uint32(iNode) % uint32(HASHSIZE) } // Search the node hash table for node iNode. If found, return a pointer // to it. Otherwise, return 0. -func nodeHashLookup(tls *libc.TLS, pRtree uintptr, iNode I64) uintptr { /* sqlite3.c:196421:18: */ +func nodeHashLookup(tls *libc.TLS, pRtree uintptr, iNode I64) uintptr { /* sqlite3.c:196478:18: */ var p uintptr for p = *(*uintptr)(unsafe.Pointer(pRtree + 192 + uintptr(nodeHash(tls, iNode))*8)); p != 0 && (*RtreeNode)(unsafe.Pointer(p)).FiNode != iNode; p = (*RtreeNode)(unsafe.Pointer(p)).FpNext { } @@ -171480,7 +171511,7 @@ func nodeHashLookup(tls *libc.TLS, pRtree uintptr, iNode I64) uintptr { /* sqlit } // Add node pNode to the node hash table. -func nodeHashInsert(tls *libc.TLS, pRtree uintptr, pNode uintptr) { /* sqlite3.c:196430:13: */ +func nodeHashInsert(tls *libc.TLS, pRtree uintptr, pNode uintptr) { /* sqlite3.c:196487:13: */ var iHash int32 iHash = int32(nodeHash(tls, (*RtreeNode)(unsafe.Pointer(pNode)).FiNode)) @@ -171489,7 +171520,7 @@ func nodeHashInsert(tls *libc.TLS, pRtree uintptr, pNode uintptr) { /* sqlite3.c } // Remove node pNode from the node hash table. -func nodeHashDelete(tls *libc.TLS, pRtree uintptr, pNode uintptr) { /* sqlite3.c:196441:13: */ +func nodeHashDelete(tls *libc.TLS, pRtree uintptr, pNode uintptr) { /* sqlite3.c:196498:13: */ var pp uintptr if (*RtreeNode)(unsafe.Pointer(pNode)).FiNode != int64(0) { pp = pRtree + 192 + uintptr(nodeHash(tls, (*RtreeNode)(unsafe.Pointer(pNode)).FiNode))*8 @@ -171504,7 +171535,7 @@ func nodeHashDelete(tls *libc.TLS, pRtree uintptr, pNode uintptr) { /* sqlite3.c // indicating that node has not yet been assigned a node number. It is // assigned a node number when nodeWrite() is called to write the // node contents out to the database. -func nodeNew(tls *libc.TLS, pRtree uintptr, pParent uintptr) uintptr { /* sqlite3.c:196457:18: */ +func nodeNew(tls *libc.TLS, pRtree uintptr, pParent uintptr) uintptr { /* sqlite3.c:196514:18: */ var pNode uintptr pNode = Xsqlite3_malloc64(tls, uint64(uint64(unsafe.Sizeof(RtreeNode{}))+uint64((*Rtree)(unsafe.Pointer(pRtree)).FiNodeSize))) if pNode != 0 { @@ -171520,7 +171551,7 @@ func nodeNew(tls *libc.TLS, pRtree uintptr, pParent uintptr) uintptr { /* sqlite } // Clear the Rtree.pNodeBlob object -func nodeBlobReset(tls *libc.TLS, pRtree uintptr) { /* sqlite3.c:196475:13: */ +func nodeBlobReset(tls *libc.TLS, pRtree uintptr) { /* sqlite3.c:196532:13: */ if (*Rtree)(unsafe.Pointer(pRtree)).FpNodeBlob != 0 && int32((*Rtree)(unsafe.Pointer(pRtree)).FinWrTrans) == 0 && (*Rtree)(unsafe.Pointer(pRtree)).FnCursor == U32(0) { var pBlob uintptr = (*Rtree)(unsafe.Pointer(pRtree)).FpNodeBlob (*Rtree)(unsafe.Pointer(pRtree)).FpNodeBlob = uintptr(0) @@ -171529,7 +171560,7 @@ func nodeBlobReset(tls *libc.TLS, pRtree uintptr) { /* sqlite3.c:196475:13: */ } // Obtain a reference to an r-tree node. -func nodeAcquire(tls *libc.TLS, pRtree uintptr, iNode I64, pParent uintptr, ppNode uintptr) int32 { /* sqlite3.c:196486:12: */ +func nodeAcquire(tls *libc.TLS, pRtree uintptr, iNode I64, pParent uintptr, ppNode uintptr) int32 { /* sqlite3.c:196543:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -171639,7 +171670,7 @@ func nodeAcquire(tls *libc.TLS, pRtree uintptr, iNode I64, pParent uintptr, ppNo } // Overwrite cell iCell of node pNode with the contents of pCell. -func nodeOverwriteCell(tls *libc.TLS, pRtree uintptr, pNode uintptr, pCell uintptr, iCell int32) { /* sqlite3.c:196599:13: */ +func nodeOverwriteCell(tls *libc.TLS, pRtree uintptr, pNode uintptr, pCell uintptr, iCell int32) { /* sqlite3.c:196656:13: */ var ii int32 var p uintptr = (*RtreeNode)(unsafe.Pointer(pNode)).FzData + uintptr(4+int32((*Rtree)(unsafe.Pointer(pRtree)).FnBytesPerCell)*iCell) p += uintptr(writeInt64(tls, p, (*RtreeCell)(unsafe.Pointer(pCell)).FiRowid)) @@ -171650,7 +171681,7 @@ func nodeOverwriteCell(tls *libc.TLS, pRtree uintptr, pNode uintptr, pCell uintp } // Remove the cell with index iCell from node pNode. -func nodeDeleteCell(tls *libc.TLS, pRtree uintptr, pNode uintptr, iCell int32) { /* sqlite3.c:196617:13: */ +func nodeDeleteCell(tls *libc.TLS, pRtree uintptr, pNode uintptr, iCell int32) { /* sqlite3.c:196674:13: */ var pDst uintptr = (*RtreeNode)(unsafe.Pointer(pNode)).FzData + uintptr(4+int32((*Rtree)(unsafe.Pointer(pRtree)).FnBytesPerCell)*iCell) var pSrc uintptr = pDst + uintptr((*Rtree)(unsafe.Pointer(pRtree)).FnBytesPerCell) var nByte int32 = (readInt16(tls, (*RtreeNode)(unsafe.Pointer(pNode)).FzData+2) - iCell - 1) * int32((*Rtree)(unsafe.Pointer(pRtree)).FnBytesPerCell) @@ -171663,7 +171694,7 @@ func nodeDeleteCell(tls *libc.TLS, pRtree uintptr, pNode uintptr, iCell int32) { // is successful, return SQLITE_OK. // // If there is not enough free space in pNode, return SQLITE_FULL. -func nodeInsertCell(tls *libc.TLS, pRtree uintptr, pNode uintptr, pCell uintptr) int32 { /* sqlite3.c:196632:12: */ +func nodeInsertCell(tls *libc.TLS, pRtree uintptr, pNode uintptr, pCell uintptr) int32 { /* sqlite3.c:196689:12: */ var nCell int32 // Current number of cells in pNode var nMaxCell int32 // Maximum number of cells for pNode @@ -171680,7 +171711,7 @@ func nodeInsertCell(tls *libc.TLS, pRtree uintptr, pNode uintptr, pCell uintptr) } // If the node is dirty, write it out to the database. -func nodeWrite(tls *libc.TLS, pRtree uintptr, pNode uintptr) int32 { /* sqlite3.c:196656:12: */ +func nodeWrite(tls *libc.TLS, pRtree uintptr, pNode uintptr) int32 { /* sqlite3.c:196713:12: */ var rc int32 = SQLITE_OK if (*RtreeNode)(unsafe.Pointer(pNode)).FisDirty != 0 { var p uintptr = (*Rtree)(unsafe.Pointer(pRtree)).FpWriteNode @@ -171704,7 +171735,7 @@ func nodeWrite(tls *libc.TLS, pRtree uintptr, pNode uintptr) int32 { /* sqlite3. // Release a reference to a node. If the node is dirty and the reference // count drops to zero, the node data is written to the database. -func nodeRelease(tls *libc.TLS, pRtree uintptr, pNode uintptr) int32 { /* sqlite3.c:196682:12: */ +func nodeRelease(tls *libc.TLS, pRtree uintptr, pNode uintptr) int32 { /* sqlite3.c:196739:12: */ var rc int32 = SQLITE_OK if pNode != 0 { @@ -171730,19 +171761,19 @@ func nodeRelease(tls *libc.TLS, pRtree uintptr, pNode uintptr) int32 { /* sqlite // Return the 64-bit integer value associated with cell iCell of // node pNode. If pNode is a leaf node, this is a rowid. If it is // an internal node, then the 64-bit integer is a child page number. -func nodeGetRowid(tls *libc.TLS, pRtree uintptr, pNode uintptr, iCell int32) I64 { /* sqlite3.c:196711:12: */ +func nodeGetRowid(tls *libc.TLS, pRtree uintptr, pNode uintptr, iCell int32) I64 { /* sqlite3.c:196768:12: */ return readInt64(tls, (*RtreeNode)(unsafe.Pointer(pNode)).FzData+uintptr(4+int32((*Rtree)(unsafe.Pointer(pRtree)).FnBytesPerCell)*iCell)) } // Return coordinate iCoord from cell iCell in node pNode. -func nodeGetCoord(tls *libc.TLS, pRtree uintptr, pNode uintptr, iCell int32, iCoord int32, pCoord uintptr) { /* sqlite3.c:196723:13: */ +func nodeGetCoord(tls *libc.TLS, pRtree uintptr, pNode uintptr, iCell int32, iCoord int32, pCoord uintptr) { /* sqlite3.c:196780:13: */ readCoord(tls, (*RtreeNode)(unsafe.Pointer(pNode)).FzData+uintptr(12+int32((*Rtree)(unsafe.Pointer(pRtree)).FnBytesPerCell)*iCell+4*iCoord), pCoord) } // Deserialize cell iCell of node pNode. Populate the structure pointed // to by pCell with the results. -func nodeGetCell(tls *libc.TLS, pRtree uintptr, pNode uintptr, iCell int32, pCell uintptr) { /* sqlite3.c:196737:13: */ +func nodeGetCell(tls *libc.TLS, pRtree uintptr, pNode uintptr, iCell int32, pCell uintptr) { /* sqlite3.c:196794:13: */ var pData uintptr var pCoord uintptr var ii int32 = 0 @@ -171758,23 +171789,23 @@ func nodeGetCell(tls *libc.TLS, pRtree uintptr, pNode uintptr, iCell int32, pCel } // Rtree virtual table module xCreate method. -func rtreeCreate(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 { /* sqlite3.c:196768:12: */ +func rtreeCreate(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 { /* sqlite3.c:196825:12: */ return rtreeInit(tls, db, pAux, argc, argv, ppVtab, pzErr, 1) } // Rtree virtual table module xConnect method. -func rtreeConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 { /* sqlite3.c:196781:12: */ +func rtreeConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 { /* sqlite3.c:196838:12: */ return rtreeInit(tls, db, pAux, argc, argv, ppVtab, pzErr, 0) } // Increment the r-tree reference count. -func rtreeReference(tls *libc.TLS, pRtree uintptr) { /* sqlite3.c:196794:13: */ +func rtreeReference(tls *libc.TLS, pRtree uintptr) { /* sqlite3.c:196851:13: */ (*Rtree)(unsafe.Pointer(pRtree)).FnBusy++ } // Decrement the r-tree reference count. When the reference count reaches // zero the structure is deleted. -func rtreeRelease(tls *libc.TLS, pRtree uintptr) { /* sqlite3.c:196802:13: */ +func rtreeRelease(tls *libc.TLS, pRtree uintptr) { /* sqlite3.c:196859:13: */ (*Rtree)(unsafe.Pointer(pRtree)).FnBusy-- if (*Rtree)(unsafe.Pointer(pRtree)).FnBusy == U32(0) { (*Rtree)(unsafe.Pointer(pRtree)).FinWrTrans = U8(0) @@ -171796,13 +171827,13 @@ func rtreeRelease(tls *libc.TLS, pRtree uintptr) { /* sqlite3.c:196802:13: */ } // Rtree virtual table module xDisconnect method. -func rtreeDisconnect(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:196826:12: */ +func rtreeDisconnect(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:196883:12: */ rtreeRelease(tls, pVtab) return SQLITE_OK } // Rtree virtual table module xDestroy method. -func rtreeDestroy(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:196834:12: */ +func rtreeDestroy(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:196891:12: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -171829,7 +171860,7 @@ func rtreeDestroy(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:196834:12: } // Rtree virtual table module xOpen method. -func rtreeOpen(tls *libc.TLS, pVTab uintptr, ppCursor uintptr) int32 { /* sqlite3.c:196862:12: */ +func rtreeOpen(tls *libc.TLS, pVTab uintptr, ppCursor uintptr) int32 { /* sqlite3.c:196919:12: */ var rc int32 = SQLITE_NOMEM var pRtree uintptr = pVTab var pCsr uintptr @@ -171847,7 +171878,7 @@ func rtreeOpen(tls *libc.TLS, pVTab uintptr, ppCursor uintptr) int32 { /* sqlite } // Reset a cursor back to its initial state. -func resetCursor(tls *libc.TLS, pCsr uintptr) { /* sqlite3.c:196883:13: */ +func resetCursor(tls *libc.TLS, pCsr uintptr) { /* sqlite3.c:196940:13: */ var pRtree uintptr = (*RtreeCursor)(unsafe.Pointer(pCsr)).Fbase.FpVtab var ii int32 var pStmt uintptr @@ -171877,7 +171908,7 @@ func resetCursor(tls *libc.TLS, pCsr uintptr) { /* sqlite3.c:196883:13: */ } // Rtree virtual table module xClose method. -func rtreeClose(tls *libc.TLS, cur uintptr) int32 { /* sqlite3.c:196911:12: */ +func rtreeClose(tls *libc.TLS, cur uintptr) int32 { /* sqlite3.c:196968:12: */ var pRtree uintptr = (*Sqlite3_vtab_cursor)(unsafe.Pointer(cur)).FpVtab var pCsr uintptr = cur @@ -171893,7 +171924,7 @@ func rtreeClose(tls *libc.TLS, cur uintptr) int32 { /* sqlite3.c:196911:12: */ // // Return non-zero if the cursor does not currently point to a valid // record (i.e if the scan has finished), or zero otherwise. -func rtreeEof(tls *libc.TLS, cur uintptr) int32 { /* sqlite3.c:196929:12: */ +func rtreeEof(tls *libc.TLS, cur uintptr) int32 { /* sqlite3.c:196986:12: */ var pCsr uintptr = cur return int32((*RtreeCursor)(unsafe.Pointer(pCsr)).FatEOF) } @@ -171910,7 +171941,7 @@ func rtreeEof(tls *libc.TLS, cur uintptr) int32 { /* sqlite3.c:196929:12: */ // Check the RTree node or entry given by pCellData and p against the MATCH // constraint pConstraint. -func rtreeCallbackConstraint(tls *libc.TLS, pConstraint uintptr, eInt int32, pCellData uintptr, pSearch uintptr, prScore uintptr, peWithin uintptr) int32 { /* sqlite3.c:196984:12: */ +func rtreeCallbackConstraint(tls *libc.TLS, pConstraint uintptr, eInt int32, pCellData uintptr, pSearch uintptr, prScore uintptr, peWithin uintptr) int32 { /* sqlite3.c:197041:12: */ bp := tls.Alloc(92) defer tls.Free(92) @@ -172022,7 +172053,7 @@ func rtreeCallbackConstraint(tls *libc.TLS, pConstraint uintptr, eInt int32, pCe // Check the internal RTree node given by pCellData against constraint p. // If this constraint cannot be satisfied by any child within the node, // set *peWithin to NOT_WITHIN. -func rtreeNonleafConstraint(tls *libc.TLS, p uintptr, eInt int32, pCellData uintptr, peWithin uintptr) { /* sqlite3.c:197060:13: */ +func rtreeNonleafConstraint(tls *libc.TLS, p uintptr, eInt int32, pCellData uintptr, peWithin uintptr) { /* sqlite3.c:197117:13: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -172124,7 +172155,7 @@ func rtreeNonleafConstraint(tls *libc.TLS, p uintptr, eInt int32, pCellData uint // // The op is given by p->op. The xN is p->iCoord-th coordinate in // pCellData. $val is given by p->u.rValue. -func rtreeLeafConstraint(tls *libc.TLS, p uintptr, eInt int32, pCellData uintptr, peWithin uintptr) { /* sqlite3.c:197117:13: */ +func rtreeLeafConstraint(tls *libc.TLS, p uintptr, eInt int32, pCellData uintptr, peWithin uintptr) { /* sqlite3.c:197174:13: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -172180,7 +172211,7 @@ func rtreeLeafConstraint(tls *libc.TLS, p uintptr, eInt int32, pCellData uintptr // One of the cells in node pNode is guaranteed to have a 64-bit // integer value equal to iRowid. Return the index of this cell. -func nodeRowidIndex(tls *libc.TLS, pRtree uintptr, pNode uintptr, iRowid I64, piIndex uintptr) int32 { /* sqlite3.c:197147:12: */ +func nodeRowidIndex(tls *libc.TLS, pRtree uintptr, pNode uintptr, iRowid I64, piIndex uintptr) int32 { /* sqlite3.c:197204:12: */ var ii int32 var nCell int32 = readInt16(tls, (*RtreeNode)(unsafe.Pointer(pNode)).FzData+2) @@ -172196,7 +172227,7 @@ func nodeRowidIndex(tls *libc.TLS, pRtree uintptr, pNode uintptr, iRowid I64, pi // Return the index of the cell containing a pointer to node pNode // in its parent. If pNode is the root node, return -1. -func nodeParentIndex(tls *libc.TLS, pRtree uintptr, pNode uintptr, piIndex uintptr) int32 { /* sqlite3.c:197170:12: */ +func nodeParentIndex(tls *libc.TLS, pRtree uintptr, pNode uintptr, piIndex uintptr) int32 { /* sqlite3.c:197227:12: */ var pParent uintptr = (*RtreeNode)(unsafe.Pointer(pNode)).FpParent if pParent != 0 { return nodeRowidIndex(tls, pRtree, pParent, (*RtreeNode)(unsafe.Pointer(pNode)).FiNode, piIndex) @@ -172215,7 +172246,7 @@ func nodeParentIndex(tls *libc.TLS, pRtree uintptr, pNode uintptr, piIndex uintp // iLevel values coming first. In this way, if rScore is the same for all // SearchPoints, then iLevel becomes the deciding factor and the result // is a depth-first search, which is the desired default behavior. -func rtreeSearchPointCompare(tls *libc.TLS, pA uintptr, pB uintptr) int32 { /* sqlite3.c:197190:12: */ +func rtreeSearchPointCompare(tls *libc.TLS, pA uintptr, pB uintptr) int32 { /* sqlite3.c:197247:12: */ if (*RtreeSearchPoint)(unsafe.Pointer(pA)).FrScore < (*RtreeSearchPoint)(unsafe.Pointer(pB)).FrScore { return -1 } @@ -172232,7 +172263,7 @@ func rtreeSearchPointCompare(tls *libc.TLS, pA uintptr, pB uintptr) int32 { /* s } // Interchange two search points in a cursor. -func rtreeSearchPointSwap(tls *libc.TLS, p uintptr, i int32, j int32) { /* sqlite3.c:197204:13: */ +func rtreeSearchPointSwap(tls *libc.TLS, p uintptr, i int32, j int32) { /* sqlite3.c:197261:13: */ var t = *(*RtreeSearchPoint)(unsafe.Pointer((*RtreeCursor)(unsafe.Pointer(p)).FaPoint + uintptr(i)*24)) *(*RtreeSearchPoint)(unsafe.Pointer((*RtreeCursor)(unsafe.Pointer(p)).FaPoint + uintptr(i)*24)) = *(*RtreeSearchPoint)(unsafe.Pointer((*RtreeCursor)(unsafe.Pointer(p)).FaPoint + uintptr(j)*24)) @@ -172252,7 +172283,7 @@ func rtreeSearchPointSwap(tls *libc.TLS, p uintptr, i int32, j int32) { /* sqlit } // Return the search point with the lowest current score. -func rtreeSearchPointFirst(tls *libc.TLS, pCur uintptr) uintptr { /* sqlite3.c:197225:25: */ +func rtreeSearchPointFirst(tls *libc.TLS, pCur uintptr) uintptr { /* sqlite3.c:197282:25: */ if (*RtreeCursor)(unsafe.Pointer(pCur)).FbPoint != 0 { return pCur + 64 } @@ -172263,7 +172294,7 @@ func rtreeSearchPointFirst(tls *libc.TLS, pCur uintptr) uintptr { /* sqlite3.c:1 } // Get the RtreeNode for the search point with the lowest score. -func rtreeNodeOfFirstSearchPoint(tls *libc.TLS, pCur uintptr, pRC uintptr) uintptr { /* sqlite3.c:197232:18: */ +func rtreeNodeOfFirstSearchPoint(tls *libc.TLS, pCur uintptr, pRC uintptr) uintptr { /* sqlite3.c:197289:18: */ var id Sqlite3_int64 var ii int32 = 1 - int32((*RtreeCursor)(unsafe.Pointer(pCur)).FbPoint) @@ -172280,7 +172311,7 @@ func rtreeNodeOfFirstSearchPoint(tls *libc.TLS, pCur uintptr, pRC uintptr) uintp } // Push a new element onto the priority queue -func rtreeEnqueue(tls *libc.TLS, pCur uintptr, rScore RtreeDValue, iLevel U8) uintptr { /* sqlite3.c:197248:25: */ +func rtreeEnqueue(tls *libc.TLS, pCur uintptr, rScore RtreeDValue, iLevel U8) uintptr { /* sqlite3.c:197305:25: */ var i int32 var j int32 var pNew uintptr @@ -172314,7 +172345,7 @@ func rtreeEnqueue(tls *libc.TLS, pCur uintptr, rScore RtreeDValue, iLevel U8) ui // Allocate a new RtreeSearchPoint and return a pointer to it. Return // NULL if malloc fails. -func rtreeSearchPointNew(tls *libc.TLS, pCur uintptr, rScore RtreeDValue, iLevel U8) uintptr { /* sqlite3.c:197283:25: */ +func rtreeSearchPointNew(tls *libc.TLS, pCur uintptr, rScore RtreeDValue, iLevel U8) uintptr { /* sqlite3.c:197340:25: */ var pNew uintptr var pFirst uintptr pFirst = rtreeSearchPointFirst(tls, pCur) @@ -172350,7 +172381,7 @@ func rtreeSearchPointNew(tls *libc.TLS, pCur uintptr, rScore RtreeDValue, iLevel } // Remove the search point with the lowest current score. -func rtreeSearchPointPop(tls *libc.TLS, p uintptr) { /* sqlite3.c:197351:13: */ +func rtreeSearchPointPop(tls *libc.TLS, p uintptr) { /* sqlite3.c:197408:13: */ var i int32 var j int32 var k int32 @@ -172398,7 +172429,7 @@ func rtreeSearchPointPop(tls *libc.TLS, p uintptr) { /* sqlite3.c:197351:13: */ // contains an entry suitable for returning as a result-set row, // or until the RtreeSearchPoint queue is empty, indicating that the // query has completed. -func rtreeStepToLeaf(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:197399:12: */ +func rtreeStepToLeaf(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:197456:12: */ bp := tls.Alloc(20) defer tls.Free(20) @@ -172491,7 +172522,7 @@ func rtreeStepToLeaf(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:197399:12 } // Rtree virtual table module xNext method. -func rtreeNext(tls *libc.TLS, pVtabCursor uintptr) int32 { /* sqlite3.c:197480:12: */ +func rtreeNext(tls *libc.TLS, pVtabCursor uintptr) int32 { /* sqlite3.c:197537:12: */ var pCsr uintptr = pVtabCursor var rc int32 = SQLITE_OK @@ -172507,7 +172538,7 @@ func rtreeNext(tls *libc.TLS, pVtabCursor uintptr) int32 { /* sqlite3.c:197480:1 } // Rtree virtual table module xRowid method. -func rtreeRowid(tls *libc.TLS, pVtabCursor uintptr, pRowid uintptr) int32 { /* sqlite3.c:197498:12: */ +func rtreeRowid(tls *libc.TLS, pVtabCursor uintptr, pRowid uintptr) int32 { /* sqlite3.c:197555:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -172522,7 +172553,7 @@ func rtreeRowid(tls *libc.TLS, pVtabCursor uintptr, pRowid uintptr) int32 { /* s } // Rtree virtual table module xColumn method. -func rtreeColumn(tls *libc.TLS, cur uintptr, ctx uintptr, i int32) int32 { /* sqlite3.c:197512:12: */ +func rtreeColumn(tls *libc.TLS, cur uintptr, ctx uintptr, i int32) int32 { /* sqlite3.c:197569:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -172583,7 +172614,7 @@ func rtreeColumn(tls *libc.TLS, cur uintptr, ctx uintptr, i int32) int32 { /* sq // return SQLITE_OK. If there is no such record in the table, set // *ppLeaf to 0 and return SQLITE_OK. If an error occurs, set *ppLeaf // to zero and return an SQLite error code. -func findLeafNode(tls *libc.TLS, pRtree uintptr, iRowid I64, ppLeaf uintptr, piNode uintptr) int32 { /* sqlite3.c:197566:12: */ +func findLeafNode(tls *libc.TLS, pRtree uintptr, iRowid I64, ppLeaf uintptr, piNode uintptr) int32 { /* sqlite3.c:197623:12: */ var rc int32 *(*uintptr)(unsafe.Pointer(ppLeaf)) = uintptr(0) Xsqlite3_bind_int64(tls, (*Rtree)(unsafe.Pointer(pRtree)).FpReadRowid, 1, iRowid) @@ -172604,7 +172635,7 @@ func findLeafNode(tls *libc.TLS, pRtree uintptr, iRowid I64, ppLeaf uintptr, piN // as the second argument for a MATCH constraint. The value passed as the // first argument to this function is the right-hand operand to the MATCH // operator. -func deserializeGeometry(tls *libc.TLS, pValue uintptr, pCons uintptr) int32 { /* sqlite3.c:197592:12: */ +func deserializeGeometry(tls *libc.TLS, pValue uintptr, pCons uintptr) int32 { /* sqlite3.c:197649:12: */ var pBlob uintptr var pSrc uintptr // BLOB returned by geometry function var pInfo uintptr // Callback information @@ -172636,7 +172667,7 @@ func deserializeGeometry(tls *libc.TLS, pValue uintptr, pCons uintptr) int32 { / } // Rtree virtual table module xFilter method. -func rtreeFilter(tls *libc.TLS, pVtabCursor uintptr, idxNum int32, idxStr uintptr, argc int32, argv uintptr) int32 { /* sqlite3.c:197622:12: */ +func rtreeFilter(tls *libc.TLS, pVtabCursor uintptr, idxNum int32, idxStr uintptr, argc int32, argv uintptr) int32 { /* sqlite3.c:197679:12: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -172779,7 +172810,7 @@ func rtreeFilter(tls *libc.TLS, pVtabCursor uintptr, idxNum int32, idxStr uintpt // The second of each pair of bytes identifies the coordinate column // to which the constraint applies. The leftmost coordinate column // is 'a', the second from the left 'b' etc. -func rtreeBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 { /* sqlite3.c:197775:12: */ +func rtreeBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 { /* sqlite3.c:197832:12: */ bp := tls.Alloc(49) defer tls.Free(49) @@ -172886,7 +172917,7 @@ func rtreeBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 { /* sql } // Return the N-dimensional volumn of the cell stored in *p. -func cellArea(tls *libc.TLS, pRtree uintptr, p uintptr) RtreeDValue { /* sqlite3.c:197864:20: */ +func cellArea(tls *libc.TLS, pRtree uintptr, p uintptr) RtreeDValue { /* sqlite3.c:197921:20: */ var area RtreeDValue = RtreeDValue(1) if int32((*Rtree)(unsafe.Pointer(pRtree)).FeCoordType) == RTREE_COORD_REAL32 { @@ -172929,7 +172960,7 @@ func cellArea(tls *libc.TLS, pRtree uintptr, p uintptr) RtreeDValue { /* sqlite3 // Return the margin length of cell p. The margin length is the sum // of the objects size in each dimension. -func cellMargin(tls *libc.TLS, pRtree uintptr, p uintptr) RtreeDValue { /* sqlite3.c:197894:20: */ +func cellMargin(tls *libc.TLS, pRtree uintptr, p uintptr) RtreeDValue { /* sqlite3.c:197951:20: */ var margin RtreeDValue = RtreeDValue(0) var ii int32 = int32((*Rtree)(unsafe.Pointer(pRtree)).FnDim2) - 2 for __ccgo := true; __ccgo; __ccgo = ii >= 0 { @@ -172950,7 +172981,7 @@ func cellMargin(tls *libc.TLS, pRtree uintptr, p uintptr) RtreeDValue { /* sqlit } // Store the union of cells p1 and p2 in p1. -func cellUnion(tls *libc.TLS, pRtree uintptr, p1 uintptr, p2 uintptr) { /* sqlite3.c:197907:13: */ +func cellUnion(tls *libc.TLS, pRtree uintptr, p1 uintptr, p2 uintptr) { /* sqlite3.c:197964:13: */ var ii int32 = 0 if int32((*Rtree)(unsafe.Pointer(pRtree)).FeCoordType) == RTREE_COORD_REAL32 { for __ccgo := true; __ccgo; __ccgo = ii < int32((*Rtree)(unsafe.Pointer(pRtree)).FnDim2) { @@ -172989,7 +173020,7 @@ func cellUnion(tls *libc.TLS, pRtree uintptr, p1 uintptr, p2 uintptr) { /* sqlit // Return true if the area covered by p2 is a subset of the area covered // by p1. False otherwise. -func cellContains(tls *libc.TLS, pRtree uintptr, p1 uintptr, p2 uintptr) int32 { /* sqlite3.c:197928:12: */ +func cellContains(tls *libc.TLS, pRtree uintptr, p1 uintptr, p2 uintptr) int32 { /* sqlite3.c:197985:12: */ var ii int32 var isInt int32 = libc.Bool32(int32((*Rtree)(unsafe.Pointer(pRtree)).FeCoordType) == RTREE_COORD_INT32) for ii = 0; ii < int32((*Rtree)(unsafe.Pointer(pRtree)).FnDim2); ii = ii + 2 { @@ -173004,7 +173035,7 @@ func cellContains(tls *libc.TLS, pRtree uintptr, p1 uintptr, p2 uintptr) int32 { } // Return the amount cell p would grow by if it were unioned with pCell. -func cellGrowth(tls *libc.TLS, pRtree uintptr, p uintptr, pCell uintptr) RtreeDValue { /* sqlite3.c:197946:20: */ +func cellGrowth(tls *libc.TLS, pRtree uintptr, p uintptr, pCell uintptr) RtreeDValue { /* sqlite3.c:198003:20: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -173017,7 +173048,7 @@ func cellGrowth(tls *libc.TLS, pRtree uintptr, p uintptr, pCell uintptr) RtreeDV return cellArea(tls, pRtree, bp) - area } -func cellOverlap(tls *libc.TLS, pRtree uintptr, p uintptr, aCell uintptr, nCell int32) RtreeDValue { /* sqlite3.c:197955:20: */ +func cellOverlap(tls *libc.TLS, pRtree uintptr, p uintptr, aCell uintptr, nCell int32) RtreeDValue { /* sqlite3.c:198012:20: */ var ii int32 var overlap RtreeDValue = 0.0 for ii = 0; ii < nCell; ii++ { @@ -173092,7 +173123,7 @@ func cellOverlap(tls *libc.TLS, pRtree uintptr, p uintptr, aCell uintptr, nCell // This function implements the ChooseLeaf algorithm from Gutman[84]. // ChooseSubTree in r*tree terminology. -func sChooseLeaf(tls *libc.TLS, pRtree uintptr, pCell uintptr, iHeight int32, ppLeaf uintptr) int32 { /* sqlite3.c:197987:12: */ +func sChooseLeaf(tls *libc.TLS, pRtree uintptr, pCell uintptr, iHeight int32, ppLeaf uintptr) int32 { /* sqlite3.c:198044:12: */ bp := tls.Alloc(64) defer tls.Free(64) @@ -173148,7 +173179,7 @@ func sChooseLeaf(tls *libc.TLS, pRtree uintptr, pCell uintptr, iHeight int32, pp // A cell with the same content as pCell has just been inserted into // the node pNode. This function updates the bounding box cells in // all ancestor elements. -func sAdjustTree(tls *libc.TLS, pRtree uintptr, pNode uintptr, pCell uintptr) int32 { /* sqlite3.c:198047:12: */ +func sAdjustTree(tls *libc.TLS, pRtree uintptr, pNode uintptr, pCell uintptr) int32 { /* sqlite3.c:198104:12: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -173184,7 +173215,7 @@ func sAdjustTree(tls *libc.TLS, pRtree uintptr, pNode uintptr, pCell uintptr) in } // Write mapping (iRowid->iNode) to the _rowid table. -func rowidWrite(tls *libc.TLS, pRtree uintptr, iRowid Sqlite3_int64, iNode Sqlite3_int64) int32 { /* sqlite3.c:198085:12: */ +func rowidWrite(tls *libc.TLS, pRtree uintptr, iRowid Sqlite3_int64, iNode Sqlite3_int64) int32 { /* sqlite3.c:198142:12: */ Xsqlite3_bind_int64(tls, (*Rtree)(unsafe.Pointer(pRtree)).FpWriteRowid, 1, iRowid) Xsqlite3_bind_int64(tls, (*Rtree)(unsafe.Pointer(pRtree)).FpWriteRowid, 2, iNode) Xsqlite3_step(tls, (*Rtree)(unsafe.Pointer(pRtree)).FpWriteRowid) @@ -173192,7 +173223,7 @@ func rowidWrite(tls *libc.TLS, pRtree uintptr, iRowid Sqlite3_int64, iNode Sqlit } // Write mapping (iNode->iPar) to the _parent table. -func parentWrite(tls *libc.TLS, pRtree uintptr, iNode Sqlite3_int64, iPar Sqlite3_int64) int32 { /* sqlite3.c:198095:12: */ +func parentWrite(tls *libc.TLS, pRtree uintptr, iNode Sqlite3_int64, iPar Sqlite3_int64) int32 { /* sqlite3.c:198152:12: */ Xsqlite3_bind_int64(tls, (*Rtree)(unsafe.Pointer(pRtree)).FpWriteParent, 1, iNode) Xsqlite3_bind_int64(tls, (*Rtree)(unsafe.Pointer(pRtree)).FpWriteParent, 2, iPar) Xsqlite3_step(tls, (*Rtree)(unsafe.Pointer(pRtree)).FpWriteParent) @@ -173214,7 +173245,7 @@ func parentWrite(tls *libc.TLS, pRtree uintptr, iNode Sqlite3_int64, iPar Sqlite // // The aSpare array is used as temporary working space by the // sorting algorithm. -func sSortByDistance(tls *libc.TLS, aIdx uintptr, nIdx int32, aDistance uintptr, aSpare uintptr) { /* sqlite3.c:198122:13: */ +func sSortByDistance(tls *libc.TLS, aIdx uintptr, nIdx int32, aDistance uintptr, aSpare uintptr) { /* sqlite3.c:198179:13: */ if nIdx > 1 { var iLeft int32 = 0 var iRight int32 = 0 @@ -173262,7 +173293,7 @@ func sSortByDistance(tls *libc.TLS, aIdx uintptr, nIdx int32, aDistance uintptr, // // The aSpare array is used as temporary working space by the // sorting algorithm. -func sSortByDimension(tls *libc.TLS, pRtree uintptr, aIdx uintptr, nIdx int32, iDim int32, aCell uintptr, aSpare uintptr) { /* sqlite3.c:198188:13: */ +func sSortByDimension(tls *libc.TLS, pRtree uintptr, aIdx uintptr, nIdx int32, iDim int32, aCell uintptr, aSpare uintptr) { /* sqlite3.c:198245:13: */ if nIdx > 1 { var iLeft int32 = 0 @@ -173318,7 +173349,7 @@ func sSortByDimension(tls *libc.TLS, pRtree uintptr, aIdx uintptr, nIdx int32, i } // Implementation of the R*-tree variant of SplitNode from Beckman[1990]. -func splitNodeStartree(tls *libc.TLS, pRtree uintptr, aCell uintptr, nCell int32, pLeft uintptr, pRight uintptr, pBboxLeft uintptr, pBboxRight uintptr) int32 { /* sqlite3.c:198247:12: */ +func splitNodeStartree(tls *libc.TLS, pRtree uintptr, aCell uintptr, nCell int32, pLeft uintptr, pRight uintptr, pBboxLeft uintptr, pBboxRight uintptr) int32 { /* sqlite3.c:198304:12: */ bp := tls.Alloc(96) defer tls.Free(96) @@ -173417,7 +173448,7 @@ func splitNodeStartree(tls *libc.TLS, pRtree uintptr, aCell uintptr, nCell int32 return SQLITE_OK } -func updateMapping(tls *libc.TLS, pRtree uintptr, iRowid I64, pNode uintptr, iHeight int32) int32 { /* sqlite3.c:198345:12: */ +func updateMapping(tls *libc.TLS, pRtree uintptr, iRowid I64, pNode uintptr, iHeight int32) int32 { /* sqlite3.c:198402:12: */ var xSetMapping uintptr xSetMapping = func() uintptr { if iHeight == 0 { @@ -173451,7 +173482,7 @@ func updateMapping(tls *libc.TLS, pRtree uintptr, iRowid I64, pNode uintptr, iHe })(unsafe.Pointer(&struct{ uintptr }{xSetMapping})).f(tls, pRtree, iRowid, (*RtreeNode)(unsafe.Pointer(pNode)).FiNode) } -func sSplitNode(tls *libc.TLS, pRtree uintptr, pNode uintptr, pCell uintptr, iHeight int32) int32 { /* sqlite3.c:198369:12: */ +func sSplitNode(tls *libc.TLS, pRtree uintptr, pNode uintptr, pCell uintptr, iHeight int32) int32 { /* sqlite3.c:198426:12: */ bp := tls.Alloc(100) defer tls.Free(100) @@ -173686,7 +173717,7 @@ splitnode_out: // rowid of the row to delete, which can be used to find the leaf on which // the entry resides (argument pLeaf). Once the leaf is located, this // function is called to determine its ancestry. -func fixLeafParent(tls *libc.TLS, pRtree uintptr, pLeaf uintptr) int32 { /* sqlite3.c:198517:12: */ +func fixLeafParent(tls *libc.TLS, pRtree uintptr, pLeaf uintptr) int32 { /* sqlite3.c:198574:12: */ var rc int32 = SQLITE_OK var pChild uintptr = pLeaf for rc == SQLITE_OK && (*RtreeNode)(unsafe.Pointer(pChild)).FiNode != int64(1) && (*RtreeNode)(unsafe.Pointer(pChild)).FpParent == uintptr(0) { @@ -173721,7 +173752,7 @@ func fixLeafParent(tls *libc.TLS, pRtree uintptr, pLeaf uintptr) int32 { /* sqli return rc } -func removeNode(tls *libc.TLS, pRtree uintptr, pNode uintptr, iHeight int32) int32 { /* sqlite3.c:198552:12: */ +func removeNode(tls *libc.TLS, pRtree uintptr, pNode uintptr, iHeight int32) int32 { /* sqlite3.c:198609:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -173771,7 +173802,7 @@ func removeNode(tls *libc.TLS, pRtree uintptr, pNode uintptr, iHeight int32) int return SQLITE_OK } -func fixBoundingBox(tls *libc.TLS, pRtree uintptr, pNode uintptr) int32 { /* sqlite3.c:198602:12: */ +func fixBoundingBox(tls *libc.TLS, pRtree uintptr, pNode uintptr) int32 { /* sqlite3.c:198659:12: */ bp := tls.Alloc(100) defer tls.Free(100) @@ -173802,7 +173833,7 @@ func fixBoundingBox(tls *libc.TLS, pRtree uintptr, pNode uintptr) int32 { /* sql // Delete the cell at index iCell of node pNode. After removing the // cell, adjust the r-tree data structure if required. -func deleteCell(tls *libc.TLS, pRtree uintptr, pNode uintptr, iCell int32, iHeight int32) int32 { /* sqlite3.c:198629:12: */ +func deleteCell(tls *libc.TLS, pRtree uintptr, pNode uintptr, iCell int32, iHeight int32) int32 { /* sqlite3.c:198686:12: */ var pParent uintptr var rc int32 @@ -173831,7 +173862,7 @@ func deleteCell(tls *libc.TLS, pRtree uintptr, pNode uintptr, iCell int32, iHeig return rc } -func sReinsert(tls *libc.TLS, pRtree uintptr, pNode uintptr, pCell uintptr, iHeight int32) int32 { /* sqlite3.c:198660:12: */ +func sReinsert(tls *libc.TLS, pRtree uintptr, pNode uintptr, pCell uintptr, iHeight int32) int32 { /* sqlite3.c:198717:12: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -173946,7 +173977,7 @@ func sReinsert(tls *libc.TLS, pRtree uintptr, pNode uintptr, pCell uintptr, iHei // Insert cell pCell into node pNode. Node pNode is the head of a // subtree iHeight high (leaf nodes have iHeight==0). -func rtreeInsertCell(tls *libc.TLS, pRtree uintptr, pNode uintptr, pCell uintptr, iHeight int32) int32 { /* sqlite3.c:198765:12: */ +func rtreeInsertCell(tls *libc.TLS, pRtree uintptr, pNode uintptr, pCell uintptr, iHeight int32) int32 { /* sqlite3.c:198822:12: */ var rc int32 = SQLITE_OK if iHeight > 0 { var pChild uintptr = nodeHashLookup(tls, pRtree, (*RtreeCell)(unsafe.Pointer(pCell)).FiRowid) @@ -173976,7 +174007,7 @@ func rtreeInsertCell(tls *libc.TLS, pRtree uintptr, pNode uintptr, pCell uintptr return rc } -func reinsertNodeContent(tls *libc.TLS, pRtree uintptr, pNode uintptr) int32 { /* sqlite3.c:198800:12: */ +func reinsertNodeContent(tls *libc.TLS, pRtree uintptr, pNode uintptr) int32 { /* sqlite3.c:198857:12: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -174007,7 +174038,7 @@ func reinsertNodeContent(tls *libc.TLS, pRtree uintptr, pNode uintptr) int32 { / } // Select a currently unused rowid for a new r-tree record. -func rtreeNewRowid(tls *libc.TLS, pRtree uintptr, piRowid uintptr) int32 { /* sqlite3.c:198829:12: */ +func rtreeNewRowid(tls *libc.TLS, pRtree uintptr, piRowid uintptr) int32 { /* sqlite3.c:198886:12: */ var rc int32 Xsqlite3_bind_null(tls, (*Rtree)(unsafe.Pointer(pRtree)).FpWriteRowid, 1) Xsqlite3_bind_null(tls, (*Rtree)(unsafe.Pointer(pRtree)).FpWriteRowid, 2) @@ -174018,7 +174049,7 @@ func rtreeNewRowid(tls *libc.TLS, pRtree uintptr, piRowid uintptr) int32 { /* sq } // Remove the entry with rowid=iDelete from the r-tree structure. -func rtreeDeleteRowid(tls *libc.TLS, pRtree uintptr, iDelete Sqlite3_int64) int32 { /* sqlite3.c:198842:12: */ +func rtreeDeleteRowid(tls *libc.TLS, pRtree uintptr, iDelete Sqlite3_int64) int32 { /* sqlite3.c:198899:12: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -174107,7 +174138,7 @@ func rtreeDeleteRowid(tls *libc.TLS, pRtree uintptr, iDelete Sqlite3_int64) int3 // Convert an sqlite3_value into an RtreeValue (presumably a float) // while taking care to round toward negative or positive, respectively. -func rtreeValueDown(tls *libc.TLS, v uintptr) RtreeValue { /* sqlite3.c:198939:19: */ +func rtreeValueDown(tls *libc.TLS, v uintptr) RtreeValue { /* sqlite3.c:198996:19: */ var d float64 = Xsqlite3_value_double(tls, v) var f float32 = float32(d) if float64(f) > d { @@ -174121,7 +174152,7 @@ func rtreeValueDown(tls *libc.TLS, v uintptr) RtreeValue { /* sqlite3.c:198939:1 return f } -func rtreeValueUp(tls *libc.TLS, v uintptr) RtreeValue { /* sqlite3.c:198947:19: */ +func rtreeValueUp(tls *libc.TLS, v uintptr) RtreeValue { /* sqlite3.c:199004:19: */ var d float64 = Xsqlite3_value_double(tls, v) var f float32 = float32(d) if float64(f) < d { @@ -174146,7 +174177,7 @@ func rtreeValueUp(tls *libc.TLS, v uintptr) RtreeValue { /* sqlite3.c:198947:19: // (c1<=c2) constraint on columns iCol and iCol+1 that has failed. // // If an OOM occurs, SQLITE_NOMEM is returned instead of SQLITE_CONSTRAINT. -func rtreeConstraintError(tls *libc.TLS, pRtree uintptr, iCol int32) int32 { /* sqlite3.c:198970:12: */ +func rtreeConstraintError(tls *libc.TLS, pRtree uintptr, iCol int32) int32 { /* sqlite3.c:199027:12: */ bp := tls.Alloc(64) defer tls.Free(64) @@ -174185,7 +174216,7 @@ func rtreeConstraintError(tls *libc.TLS, pRtree uintptr, iCol int32) int32 { /* } // The xUpdate method for rtree module virtual tables. -func rtreeUpdate(tls *libc.TLS, pVtab uintptr, nData int32, aData uintptr, pRowid uintptr) int32 { /* sqlite3.c:199008:12: */ +func rtreeUpdate(tls *libc.TLS, pVtab uintptr, nData int32, aData uintptr, pRowid uintptr) int32 { /* sqlite3.c:199065:12: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -174414,7 +174445,7 @@ constraint: } // Called when a transaction starts. -func rtreeBeginTransaction(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:199156:12: */ +func rtreeBeginTransaction(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:199213:12: */ var pRtree uintptr = pVtab (*Rtree)(unsafe.Pointer(pRtree)).FinWrTrans++ @@ -174423,7 +174454,7 @@ func rtreeBeginTransaction(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:19 // Called when a transaction completes (either by COMMIT or ROLLBACK). // The sqlite3_blob object should be released at this point. -func rtreeEndTransaction(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:199167:12: */ +func rtreeEndTransaction(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:199224:12: */ var pRtree uintptr = pVtab (*Rtree)(unsafe.Pointer(pRtree)).FinWrTrans = U8(0) nodeBlobReset(tls, pRtree) @@ -174431,7 +174462,7 @@ func rtreeEndTransaction(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:1991 } // The xRename method for rtree module virtual tables. -func rtreeRename(tls *libc.TLS, pVtab uintptr, zNewName uintptr) int32 { /* sqlite3.c:199177:12: */ +func rtreeRename(tls *libc.TLS, pVtab uintptr, zNewName uintptr) int32 { /* sqlite3.c:199234:12: */ bp := tls.Alloc(72) defer tls.Free(72) @@ -174460,7 +174491,7 @@ func rtreeRename(tls *libc.TLS, pVtab uintptr, zNewName uintptr) int32 { /* sqli // INSERT INTO rtree... // DROP TABLE ; -- Would fail with SQLITE_LOCKED // COMMIT; -func rtreeSavepoint(tls *libc.TLS, pVtab uintptr, iSavepoint int32) int32 { /* sqlite3.c:199210:12: */ +func rtreeSavepoint(tls *libc.TLS, pVtab uintptr, iSavepoint int32) int32 { /* sqlite3.c:199267:12: */ var pRtree uintptr = pVtab var iwt U8 = (*Rtree)(unsafe.Pointer(pRtree)).FinWrTrans _ = iSavepoint @@ -174473,7 +174504,7 @@ func rtreeSavepoint(tls *libc.TLS, pVtab uintptr, iSavepoint int32) int32 { /* s // This function populates the pRtree->nRowEst variable with an estimate // of the number of rows in the virtual table. If possible, this is based // on sqlite_stat1 data. Otherwise, use RTREE_DEFAULT_ROWEST. -func rtreeQueryStat1(tls *libc.TLS, db uintptr, pRtree uintptr) int32 { /* sqlite3.c:199225:12: */ +func rtreeQueryStat1(tls *libc.TLS, db uintptr, pRtree uintptr) int32 { /* sqlite3.c:199282:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -174517,7 +174548,7 @@ func rtreeQueryStat1(tls *libc.TLS, db uintptr, pRtree uintptr) int32 { /* sqlit // Return true if zName is the extension on one of the shadow tables used // by this module. -func rtreeShadowName(tls *libc.TLS, zName uintptr) int32 { /* sqlite3.c:199259:12: */ +func rtreeShadowName(tls *libc.TLS, zName uintptr) int32 { /* sqlite3.c:199316:12: */ var i uint32 for i = uint32(0); uint64(i) < uint64(unsafe.Sizeof(azName1))/uint64(unsafe.Sizeof(uintptr(0))); i++ { if Xsqlite3_stricmp(tls, zName, azName1[i]) == 0 { @@ -174529,7 +174560,7 @@ func rtreeShadowName(tls *libc.TLS, zName uintptr) int32 { /* sqlite3.c:199259:1 var azName1 = [3]uintptr{ ts + 25719, ts + 5414, ts + 16580, -} /* sqlite3.c:199260:21 */ +} /* sqlite3.c:199317:21 */ var rtreeModule = Sqlite3_module{ FiVersion: 3, // iVersion @@ -174553,9 +174584,9 @@ var rtreeModule = Sqlite3_module{ FxRename: 0, // xRename - rename the table FxSavepoint: 0, // xRollbackTo FxShadowName: 0, // xShadowName -} /* sqlite3.c:199270:23 */ +} /* sqlite3.c:199327:23 */ -func rtreeSqlInit(tls *libc.TLS, pRtree uintptr, db uintptr, zDb uintptr, zPrefix uintptr, isCreate int32) int32 { /* sqlite3.c:199297:12: */ +func rtreeSqlInit(tls *libc.TLS, pRtree uintptr, db uintptr, zDb uintptr, zPrefix uintptr, isCreate int32) int32 { /* sqlite3.c:199354:12: */ bp := tls.Alloc(232) defer tls.Free(232) @@ -174672,14 +174703,14 @@ var azSql = [8]uintptr{ ts + 26449, ts + 26507, ts + 26562, -} /* sqlite3.c:199307:21 */ +} /* sqlite3.c:199364:21 */ // The second argument to this function contains the text of an SQL statement // that returns a single integer value. The statement is compiled and executed // using database connection db. If successful, the integer value returned // is written to *piVal and SQLITE_OK returned. Otherwise, an SQLite error // code is returned and the value of *piVal after returning is not defined. -func getIntFromStmt(tls *libc.TLS, db uintptr, zSql uintptr, piVal uintptr) int32 { /* sqlite3.c:199430:12: */ +func getIntFromStmt(tls *libc.TLS, db uintptr, zSql uintptr, piVal uintptr) int32 { /* sqlite3.c:199487:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -174710,7 +174741,7 @@ func getIntFromStmt(tls *libc.TLS, db uintptr, zSql uintptr, piVal uintptr) int3 // This ensures that each node is stored on a single database page. If the // database page-size is so large that more than RTREE_MAXCELLS entries // would fit in a single node, use a smaller node-size. -func getNodeSize(tls *libc.TLS, db uintptr, pRtree uintptr, isCreate int32, pzErr uintptr) int32 { /* sqlite3.c:199460:12: */ +func getNodeSize(tls *libc.TLS, db uintptr, pRtree uintptr, isCreate int32, pzErr uintptr) int32 { /* sqlite3.c:199517:12: */ bp := tls.Alloc(52) defer tls.Free(52) @@ -174748,7 +174779,7 @@ func getNodeSize(tls *libc.TLS, db uintptr, pRtree uintptr, isCreate int32, pzEr } // Return the length of a token -func rtreeTokenLength(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:199503:12: */ +func rtreeTokenLength(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:199560:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -174763,7 +174794,7 @@ func rtreeTokenLength(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:199503:12: // argv[1] -> database name // argv[2] -> table name // argv[...] -> column names... -func rtreeInit(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr, isCreate int32) int32 { /* sqlite3.c:199517:12: */ +func rtreeInit(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr, isCreate int32) int32 { /* sqlite3.c:199574:12: */ bp := tls.Alloc(136) defer tls.Free(136) @@ -174963,7 +174994,7 @@ __25: return rc } -var azFormat = [2]uintptr{ts + 26905, ts + 26916} /* sqlite3.c:199583:25 */ +var azFormat = [2]uintptr{ts + 26905, ts + 26916} /* sqlite3.c:199640:25 */ // Implementation of a scalar function that decodes r-tree nodes to // human readable strings. This can be used for debugging and analysis. @@ -174979,7 +175010,7 @@ var azFormat = [2]uintptr{ts + 26905, ts + 26916} /* sqlite3.c:199583:25 */ // entry for each cell in the r-tree node. Each entry is itself a // list, containing the 8-byte rowid/pageno followed by the // *2 coordinates. -func rtreenode(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:199654:13: */ +func rtreenode(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:199711:13: */ bp := tls.Alloc(1072) defer tls.Free(1072) @@ -175042,7 +175073,7 @@ func rtreenode(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) { /* sqlit // The depth value is 0 for all nodes other than the root node, and the root // node always has nodeno=1, so the example above is the primary use for this // routine. This routine is intended for testing and analysis only. -func rtreedepth(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:199706:13: */ +func rtreedepth(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:199763:13: */ _ = nArg if Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(apArg))) != SQLITE_BLOB || Xsqlite3_value_bytes(tls, *(*uintptr)(unsafe.Pointer(apArg))) < 2 { @@ -175074,15 +175105,15 @@ type RtreeCheck1 = struct { FzReport uintptr FnErr int32 F__ccgo_pad2 [4]byte -} /* sqlite3.c:199727:9 */ +} /* sqlite3.c:199784:9 */ // Context object passed between the various routines that make up the // implementation of integrity-check function rtreecheck(). -type RtreeCheck = RtreeCheck1 /* sqlite3.c:199727:27 */ +type RtreeCheck = RtreeCheck1 /* sqlite3.c:199784:27 */ // Reset SQL statement pStmt. If the sqlite3_reset() call returns an error, // and RtreeCheck.rc==SQLITE_OK, set RtreeCheck.rc to the error code. -func rtreeCheckReset(tls *libc.TLS, pCheck uintptr, pStmt uintptr) { /* sqlite3.c:199749:13: */ +func rtreeCheckReset(tls *libc.TLS, pCheck uintptr, pStmt uintptr) { /* sqlite3.c:199806:13: */ var rc int32 = Xsqlite3_reset(tls, pStmt) if (*RtreeCheck)(unsafe.Pointer(pCheck)).Frc == SQLITE_OK { (*RtreeCheck)(unsafe.Pointer(pCheck)).Frc = rc @@ -175095,7 +175126,7 @@ func rtreeCheckReset(tls *libc.TLS, pCheck uintptr, pStmt uintptr) { /* sqlite3. // // If successful, a pointer to the new SQL statement is returned. Otherwise, // NULL is returned and an error code left in RtreeCheck.rc. -func rtreeCheckPrepare(tls *libc.TLS, pCheck uintptr, zFmt uintptr, va uintptr) uintptr { /* sqlite3.c:199762:21: */ +func rtreeCheckPrepare(tls *libc.TLS, pCheck uintptr, zFmt uintptr, va uintptr) uintptr { /* sqlite3.c:199819:21: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -175123,7 +175154,7 @@ func rtreeCheckPrepare(tls *libc.TLS, pCheck uintptr, zFmt uintptr, va uintptr) // The second and subsequent arguments to this function are a printf() // style format string and arguments. This function formats the string and // appends it to the report being accumuated in pCheck. -func rtreeCheckAppendMsg(tls *libc.TLS, pCheck uintptr, zFmt uintptr, va uintptr) { /* sqlite3.c:199791:13: */ +func rtreeCheckAppendMsg(tls *libc.TLS, pCheck uintptr, zFmt uintptr, va uintptr) { /* sqlite3.c:199848:13: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -175163,7 +175194,7 @@ func rtreeCheckAppendMsg(tls *libc.TLS, pCheck uintptr, zFmt uintptr, va uintptr // Or, if an error does occur, NULL is returned and an error code left // in the RtreeCheck object. The final value of *pnNode is undefined in // this case. -func rtreeCheckGetNode(tls *libc.TLS, pCheck uintptr, iNode I64, pnNode uintptr) uintptr { /* sqlite3.c:199825:11: */ +func rtreeCheckGetNode(tls *libc.TLS, pCheck uintptr, iNode I64, pnNode uintptr) uintptr { /* sqlite3.c:199882:11: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -175207,7 +175238,7 @@ func rtreeCheckGetNode(tls *libc.TLS, pCheck uintptr, iNode I64, pnNode uintptr) // In both cases, this function checks that there exists an entry with // IPK value iKey and the second column set to iVal. // -func rtreeCheckMapping(tls *libc.TLS, pCheck uintptr, bLeaf int32, iKey I64, iVal I64) { /* sqlite3.c:199869:13: */ +func rtreeCheckMapping(tls *libc.TLS, pCheck uintptr, bLeaf int32, iKey I64, iVal I64) { /* sqlite3.c:199926:13: */ bp := tls.Alloc(96) defer tls.Free(96) @@ -175263,7 +175294,7 @@ func rtreeCheckMapping(tls *libc.TLS, pCheck uintptr, bLeaf int32, iKey I64, iVa // containing pCell. In this case it is also verified that the two // sets of coordinates are mutually consistent and an error message added // to the RtreeCheck object if they are not. -func rtreeCheckCellCoord(tls *libc.TLS, pCheck uintptr, iNode I64, iCell int32, pCell uintptr, pParent uintptr) { /* sqlite3.c:199921:13: */ +func rtreeCheckCellCoord(tls *libc.TLS, pCheck uintptr, iNode I64, iCell int32, pCell uintptr, pParent uintptr) { /* sqlite3.c:199978:13: */ bp := tls.Alloc(64) defer tls.Free(64) @@ -175321,7 +175352,7 @@ func rtreeCheckCellCoord(tls *libc.TLS, pCheck uintptr, iNode I64, iCell int32, // // If any problems are discovered, an error message is appended to the // report accumulated in the RtreeCheck object. -func rtreeCheckNode(tls *libc.TLS, pCheck uintptr, iDepth int32, aParent uintptr, iNode I64) { /* sqlite3.c:199967:13: */ +func rtreeCheckNode(tls *libc.TLS, pCheck uintptr, iDepth int32, aParent uintptr, iNode I64) { /* sqlite3.c:200024:13: */ bp := tls.Alloc(52) defer tls.Free(52) @@ -175375,7 +175406,7 @@ func rtreeCheckNode(tls *libc.TLS, pCheck uintptr, iDepth int32, aParent uintptr // %_rowid or %_parent table is exactly nExpect. If not, it adds // an error message to the report in the RtreeCheck object indicated // by the first argument. -func rtreeCheckCount(tls *libc.TLS, pCheck uintptr, zTbl uintptr, nExpect I64) { /* sqlite3.c:200030:13: */ +func rtreeCheckCount(tls *libc.TLS, pCheck uintptr, zTbl uintptr, nExpect I64) { /* sqlite3.c:200087:13: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -175398,7 +175429,7 @@ func rtreeCheckCount(tls *libc.TLS, pCheck uintptr, zTbl uintptr, nExpect I64) { // This function does the bulk of the work for the rtree integrity-check. // It is called by rtreecheck(), which is the SQL function implementation. -func rtreeCheckTable(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, pzReport uintptr) int32 { /* sqlite3.c:200054:12: */ +func rtreeCheckTable(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, pzReport uintptr) int32 { /* sqlite3.c:200111:12: */ bp := tls.Alloc(120) defer tls.Free(120) @@ -175505,7 +175536,7 @@ func rtreeCheckTable(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, pzRep // as there are non-leaf cells in the r-tree structure, and that // there is a non-leaf cell that corresponds to each entry in the // %_parent table. -func rtreecheck(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:200161:13: */ +func rtreecheck(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:200218:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -175568,7 +175599,7 @@ func rtreecheck(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) { /* sqli // Compiler and version // Datatype for coordinates -type GeoCoord = float32 /* sqlite3.c:200282:15 */ +type GeoCoord = float32 /* sqlite3.c:200339:15 */ // Internal representation of a polygon. // @@ -175594,7 +175625,7 @@ type GeoPoly1 = struct { FnVertex int32 Fhdr [4]uint8 Fa [8]GeoCoord -} /* sqlite3.c:200306:9 */ +} /* sqlite3.c:200363:9 */ // Internal representation of a polygon. // @@ -175616,7 +175647,7 @@ type GeoPoly1 = struct { // warnings coming from some compiler (notably, clang). In reality, the size // of each GeoPoly memory allocate is adjusted as necessary so that the // GeoPoly.a[] array at the end is the appropriate size. -type GeoPoly = GeoPoly1 /* sqlite3.c:200306:24 */ +type GeoPoly = GeoPoly1 /* sqlite3.c:200363:24 */ // The size of a memory allocation needed for a GeoPoly object sufficient // to hold N coordinate pairs. @@ -175633,7 +175664,7 @@ type GeoParse1 = struct { FnErr int32 F__ccgo_pad1 [4]byte Fa uintptr -} /* sqlite3.c:200329:9 */ +} /* sqlite3.c:200386:9 */ // The size of a memory allocation needed for a GeoPoly object sufficient // to hold N coordinate pairs. @@ -175643,10 +175674,10 @@ type GeoParse1 = struct { // to silence (incorrect) UBSAN warnings if the array index is too large. // State of a parse of a GeoJSON input. -type GeoParse = GeoParse1 /* sqlite3.c:200329:25 */ +type GeoParse = GeoParse1 /* sqlite3.c:200386:25 */ // Do a 4-byte byte swap -func geopolySwab32(tls *libc.TLS, a uintptr) { /* sqlite3.c:200339:13: */ +func geopolySwab32(tls *libc.TLS, a uintptr) { /* sqlite3.c:200396:13: */ var t uint8 = *(*uint8)(unsafe.Pointer(a)) *(*uint8)(unsafe.Pointer(a)) = *(*uint8)(unsafe.Pointer(a + 3)) *(*uint8)(unsafe.Pointer(a + 3)) = t @@ -175656,7 +175687,7 @@ func geopolySwab32(tls *libc.TLS, a uintptr) { /* sqlite3.c:200339:13: */ } // Skip whitespace. Return the next non-whitespace character. -func geopolySkipSpace(tls *libc.TLS, p uintptr) int8 { /* sqlite3.c:200349:13: */ +func geopolySkipSpace(tls *libc.TLS, p uintptr) int8 { /* sqlite3.c:200406:13: */ for jsonIsSpace[*(*uint8)(unsafe.Pointer((*GeoParse)(unsafe.Pointer(p)).Fz))] != 0 { (*GeoParse)(unsafe.Pointer(p)).Fz++ } @@ -175665,7 +175696,7 @@ func geopolySkipSpace(tls *libc.TLS, p uintptr) int8 { /* sqlite3.c:200349:13: * // Parse out a number. Write the value into *pVal if pVal!=0. // return non-zero on success and zero if the next token is not a number. -func geopolyParseNumber(tls *libc.TLS, p uintptr, pVal uintptr) int32 { /* sqlite3.c:200357:12: */ +func geopolyParseNumber(tls *libc.TLS, p uintptr, pVal uintptr) int32 { /* sqlite3.c:200414:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -175737,7 +175768,7 @@ func geopolyParseNumber(tls *libc.TLS, p uintptr, pVal uintptr) int32 { /* sqlit // that object. // // If any error occurs, return NULL. -func geopolyParseJson(tls *libc.TLS, z uintptr, pRc uintptr) uintptr { /* sqlite3.c:200415:16: */ +func geopolyParseJson(tls *libc.TLS, z uintptr, pRc uintptr) uintptr { /* sqlite3.c:200472:16: */ bp := tls.Alloc(36) defer tls.Free(36) @@ -175879,7 +175910,7 @@ __16: // in the binary format or JSON text. Compute a GeoPoly object and // return a pointer to that object. Or if the input is not a well-formed // polygon, put an error message in sqlite3_context and return NULL. -func geopolyFuncParam(tls *libc.TLS, pCtx uintptr, pVal uintptr, pRc uintptr) uintptr { /* sqlite3.c:200492:16: */ +func geopolyFuncParam(tls *libc.TLS, pCtx uintptr, pVal uintptr, pRc uintptr) uintptr { /* sqlite3.c:200549:16: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -175948,7 +175979,7 @@ func geopolyFuncParam(tls *libc.TLS, pCtx uintptr, pVal uintptr, pRc uintptr) ui // If the input is a well-formed Geopoly BLOB or JSON string // then return the BLOB representation of the polygon. Otherwise // return NULL. -func geopolyBlobFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:200553:13: */ +func geopolyBlobFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:200610:13: */ var p uintptr = geopolyFuncParam(tls, context, *(*uintptr)(unsafe.Pointer(argv)), uintptr(0)) if p != 0 { Xsqlite3_result_blob(tls, context, p+4, @@ -175961,7 +175992,7 @@ func geopolyBlobFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { // // Interpret X as a polygon and render it as a JSON array // of coordinates. Or, if X is not a valid polygon, return NULL. -func geopolyJsonFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:200572:13: */ +func geopolyJsonFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:200629:13: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -175984,7 +176015,7 @@ func geopolyJsonFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { // // Interpret X as a polygon and render it as a SVG . // Additional arguments are added as attributes to the . -func geopolySvgFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:200598:13: */ +func geopolySvgFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:200655:13: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -176030,7 +176061,7 @@ func geopolySvgFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { // Rotate by R around the point (0,0): // // geopoly_xform(poly, cos(R), sin(R), -sin(R), cos(R), 0, 0) -func geopolyXformFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:200645:13: */ +func geopolyXformFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:200702:13: */ var p uintptr = geopolyFuncParam(tls, context, *(*uintptr)(unsafe.Pointer(argv)), uintptr(0)) var A float64 = Xsqlite3_value_double(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))) var B float64 = Xsqlite3_value_double(tls, *(*uintptr)(unsafe.Pointer(argv + 2*8))) @@ -176063,7 +176094,7 @@ func geopolyXformFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) // This routine can also be used to detect polygons that rotate in // the wrong direction. Polygons are suppose to be counter-clockwise (CCW). // This routine returns a negative value for clockwise (CW) polygons. -func geopolyArea(tls *libc.TLS, p uintptr) float64 { /* sqlite3.c:200681:15: */ +func geopolyArea(tls *libc.TLS, p uintptr) float64 { /* sqlite3.c:200738:15: */ var rArea float64 = 0.0 var ii int32 for ii = 0; ii < (*GeoPoly)(unsafe.Pointer(p)).FnVertex-1; ii++ { @@ -176083,7 +176114,7 @@ func geopolyArea(tls *libc.TLS, p uintptr) float64 { /* sqlite3.c:200681:15: */ // enclosed by the polygon. If the polygon circulates clockwise instead // of counterclockwise (as it should) then return the negative of the // enclosed area. Otherwise return NULL. -func geopolyAreaFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:200703:13: */ +func geopolyAreaFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:200760:13: */ var p uintptr = geopolyFuncParam(tls, context, *(*uintptr)(unsafe.Pointer(argv)), uintptr(0)) if p != 0 { Xsqlite3_result_double(tls, context, geopolyArea(tls, p)) @@ -176102,7 +176133,7 @@ func geopolyAreaFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { // // Use this routine to sanitize historical inputs that that sometimes // contain polygons that wind in the wrong direction. -func geopolyCcwFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:200728:13: */ +func geopolyCcwFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:200785:13: */ var p uintptr = geopolyFuncParam(tls, context, *(*uintptr)(unsafe.Pointer(argv)), uintptr(0)) if p != 0 { if geopolyArea(tls, p) < 0.0 { @@ -176138,7 +176169,7 @@ func geopolyCcwFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { } // Fast approximation for sine(X) for X between -0.5*pi and 2*pi -func geopolySine(tls *libc.TLS, r float64) float64 { /* sqlite3.c:200756:15: */ +func geopolySine(tls *libc.TLS, r float64) float64 { /* sqlite3.c:200813:15: */ if r >= float64(1.5)*3.1415926535897932385 { r = r - float64(2.0)*3.1415926535897932385 @@ -176158,7 +176189,7 @@ func geopolySine(tls *libc.TLS, r float64) float64 { /* sqlite3.c:200756:15: */ // // Construct a simple, convex, regular polygon centered at X, Y // with circumradius R and with N sides. -func geopolyRegularFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:200777:13: */ +func geopolyRegularFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:200834:13: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -176203,7 +176234,7 @@ func geopolyRegularFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr // // If pPoly is NULL but aCoord is not NULL, then compute a new GeoPoly from // the bounding box in aCoord and return a pointer to that GeoPoly. -func geopolyBBox(tls *libc.TLS, context uintptr, pPoly uintptr, aCoord uintptr, pRc uintptr) uintptr { /* sqlite3.c:200820:16: */ +func geopolyBBox(tls *libc.TLS, context uintptr, pPoly uintptr, aCoord uintptr, pRc uintptr) uintptr { /* sqlite3.c:200877:16: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -176344,7 +176375,7 @@ __4: } // Implementation of the geopoly_bbox(X) SQL function. -func geopolyBBoxFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:200891:13: */ +func geopolyBBoxFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:200948:13: */ var p uintptr = geopolyBBox(tls, context, *(*uintptr)(unsafe.Pointer(argv)), uintptr(0), uintptr(0)) if p != 0 { Xsqlite3_result_blob(tls, context, p+4, @@ -176357,13 +176388,13 @@ func geopolyBBoxFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { type GeoBBox1 = struct { FisInit int32 Fa [4]RtreeCoord -} /* sqlite3.c:200907:9 */ +} /* sqlite3.c:200964:9 */ // State vector for the geopoly_group_bbox() aggregate function. -type GeoBBox = GeoBBox1 /* sqlite3.c:200907:24 */ +type GeoBBox = GeoBBox1 /* sqlite3.c:200964:24 */ // Implementation of the geopoly_group_bbox(X) aggregate SQL function. -func geopolyBBoxStep(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:200917:13: */ +func geopolyBBoxStep(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:200974:13: */ bp := tls.Alloc(20) defer tls.Free(20) @@ -176397,7 +176428,7 @@ func geopolyBBoxStep(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { } } -func geopolyBBoxFinal(tls *libc.TLS, context uintptr) { /* sqlite3.c:200940:13: */ +func geopolyBBoxFinal(tls *libc.TLS, context uintptr) { /* sqlite3.c:200997:13: */ var p uintptr var pBBox uintptr pBBox = Xsqlite3_aggregate_context(tls, context, 0) @@ -176424,7 +176455,7 @@ func geopolyBBoxFinal(tls *libc.TLS, context uintptr) { /* sqlite3.c:200940:13: // // The left-most coordinate min(x1,x2) is not considered to be part of // the line segment for the purposes of this analysis. -func pointBeneathLine(tls *libc.TLS, x0 float64, y0 float64, x1 float64, y1 float64, x2 float64, y2 float64) int32 { /* sqlite3.c:200970:12: */ +func pointBeneathLine(tls *libc.TLS, x0 float64, y0 float64, x1 float64, y1 float64, x2 float64, y2 float64) int32 { /* sqlite3.c:201027:12: */ var y float64 if x0 == x1 && y0 == y1 { return 2 @@ -176465,7 +176496,7 @@ func pointBeneathLine(tls *libc.TLS, x0 float64, y0 float64, x1 float64, y1 floa // Return +2 if point X,Y is within polygon P. // Return +1 if point X,Y is on the polygon boundary. // Return 0 if point X,Y is outside the polygon -func geopolyContainsPointFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:201001:13: */ +func geopolyContainsPointFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:201058:13: */ var p1 uintptr = geopolyFuncParam(tls, context, *(*uintptr)(unsafe.Pointer(argv)), uintptr(0)) var x0 float64 = Xsqlite3_value_double(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))) var y0 float64 = Xsqlite3_value_double(tls, *(*uintptr)(unsafe.Pointer(argv + 2*8))) @@ -176503,7 +176534,7 @@ func geopolyContainsPointFunc(tls *libc.TLS, context uintptr, argc int32, argv u // Return +1 if P2 is contained within P1 // Return 0 if any part of P2 is on the outside of P1 // -func geopolyWithinFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:201044:13: */ +func geopolyWithinFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:201101:13: */ var p1 uintptr = geopolyFuncParam(tls, context, *(*uintptr)(unsafe.Pointer(argv)), uintptr(0)) var p2 uintptr = geopolyFuncParam(tls, context, *(*uintptr)(unsafe.Pointer(argv + 1*8)), uintptr(0)) if p1 != 0 && p2 != 0 { @@ -176535,10 +176566,10 @@ type GeoEvent1 = struct { F__ccgo_pad1 [4]byte FpSeg uintptr FpNext uintptr -} /* sqlite3.c:201064:9 */ +} /* sqlite3.c:201121:9 */ // Objects used by the overlap algorihm. -type GeoEvent = GeoEvent1 /* sqlite3.c:201064:25 */ +type GeoEvent = GeoEvent1 /* sqlite3.c:201121:25 */ type GeoSegment1 = struct { FC float64 FB float64 @@ -176549,20 +176580,20 @@ type GeoSegment1 = struct { Fidx uint32 F__ccgo_pad2 [4]byte FpNext uintptr -} /* sqlite3.c:201064:9 */ +} /* sqlite3.c:201121:9 */ -type GeoSegment = GeoSegment1 /* sqlite3.c:201065:27 */ +type GeoSegment = GeoSegment1 /* sqlite3.c:201122:27 */ type GeoOverlap1 = struct { FaEvent uintptr FaSegment uintptr FnEvent int32 FnSegment int32 -} /* sqlite3.c:201066:9 */ +} /* sqlite3.c:201123:9 */ -type GeoOverlap = GeoOverlap1 /* sqlite3.c:201066:27 */ +type GeoOverlap = GeoOverlap1 /* sqlite3.c:201123:27 */ // Add a single segment and its associated events. -func geopolyAddOneSegment(tls *libc.TLS, p uintptr, x0 GeoCoord, y0 GeoCoord, x1 GeoCoord, y1 GeoCoord, side uint8, idx uint32) { /* sqlite3.c:201091:13: */ +func geopolyAddOneSegment(tls *libc.TLS, p uintptr, x0 GeoCoord, y0 GeoCoord, x1 GeoCoord, y1 GeoCoord, side uint8, idx uint32) { /* sqlite3.c:201148:13: */ var pSeg uintptr var pEvent uintptr if x0 == x1 { @@ -176596,7 +176627,7 @@ func geopolyAddOneSegment(tls *libc.TLS, p uintptr, x0 GeoCoord, y0 GeoCoord, x1 } // Insert all segments and events for polygon pPoly. -func geopolyAddSegments(tls *libc.TLS, p uintptr, pPoly uintptr, side uint8) { /* sqlite3.c:201135:13: */ +func geopolyAddSegments(tls *libc.TLS, p uintptr, pPoly uintptr, side uint8) { /* sqlite3.c:201192:13: */ var i uint32 var x uintptr for i = uint32(0); i < uint32((*GeoPoly)(unsafe.Pointer(pPoly)).FnVertex)-uint32(1); i++ { @@ -176608,7 +176639,7 @@ func geopolyAddSegments(tls *libc.TLS, p uintptr, pPoly uintptr, side uint8) { / } // Merge two lists of sorted events by X coordinate -func geopolyEventMerge(tls *libc.TLS, pLeft uintptr, pRight uintptr) uintptr { /* sqlite3.c:201153:17: */ +func geopolyEventMerge(tls *libc.TLS, pLeft uintptr, pRight uintptr) uintptr { /* sqlite3.c:201210:17: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -176638,7 +176669,7 @@ func geopolyEventMerge(tls *libc.TLS, pLeft uintptr, pRight uintptr) uintptr { / } // Sort an array of nEvent event objects into a list. -func geopolySortEventsByX(tls *libc.TLS, aEvent uintptr, nEvent int32) uintptr { /* sqlite3.c:201175:17: */ +func geopolySortEventsByX(tls *libc.TLS, aEvent uintptr, nEvent int32) uintptr { /* sqlite3.c:201232:17: */ bp := tls.Alloc(400) defer tls.Free(400) @@ -176668,7 +176699,7 @@ func geopolySortEventsByX(tls *libc.TLS, aEvent uintptr, nEvent int32) uintptr { } // Merge two lists of sorted segments by Y, and then by C. -func geopolySegmentMerge(tls *libc.TLS, pLeft uintptr, pRight uintptr) uintptr { /* sqlite3.c:201200:19: */ +func geopolySegmentMerge(tls *libc.TLS, pLeft uintptr, pRight uintptr) uintptr { /* sqlite3.c:201257:19: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -176703,7 +176734,7 @@ func geopolySegmentMerge(tls *libc.TLS, pLeft uintptr, pRight uintptr) uintptr { // Sort a list of GeoSegments in order of increasing Y and in the event of // a tie, increasing C (slope). -func geopolySortSegmentsByYAndC(tls *libc.TLS, pList uintptr) uintptr { /* sqlite3.c:201225:19: */ +func geopolySortSegmentsByYAndC(tls *libc.TLS, pList uintptr) uintptr { /* sqlite3.c:201282:19: */ bp := tls.Alloc(400) defer tls.Free(400) @@ -176733,7 +176764,7 @@ func geopolySortSegmentsByYAndC(tls *libc.TLS, pList uintptr) uintptr { /* sqlit } // Determine the overlap between two polygons -func geopolyOverlap(tls *libc.TLS, p1 uintptr, p2 uintptr) int32 { /* sqlite3.c:201251:12: */ +func geopolyOverlap(tls *libc.TLS, p1 uintptr, p2 uintptr) int32 { /* sqlite3.c:201308:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -176969,7 +177000,7 @@ geopolyOverlapDone: // 3 P2 is completely contained within P1 // 4 P1 and P2 are the same polygon // NULL Either P1 or P2 or both are not valid polygons -func geopolyOverlapFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:201374:13: */ +func geopolyOverlapFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:201431:13: */ var p1 uintptr = geopolyFuncParam(tls, context, *(*uintptr)(unsafe.Pointer(argv)), uintptr(0)) var p2 uintptr = geopolyFuncParam(tls, context, *(*uintptr)(unsafe.Pointer(argv + 1*8)), uintptr(0)) if p1 != 0 && p2 != 0 { @@ -176985,7 +177016,7 @@ func geopolyOverlapFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr } // Enable or disable debugging output -func geopolyDebugFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:201396:13: */ +func geopolyDebugFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:201453:13: */ } // This function is the implementation of both the xConnect and xCreate @@ -176995,7 +177026,7 @@ func geopolyDebugFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) // argv[1] -> database name // argv[2] -> table name // argv[...] -> column names... -func geopolyInit(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr, isCreate int32) int32 { /* sqlite3.c:201415:12: */ +func geopolyInit(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr, isCreate int32) int32 { /* sqlite3.c:201472:12: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -177110,12 +177141,12 @@ __11: } // GEOPOLY virtual table module xCreate method. -func geopolyCreate(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 { /* sqlite3.c:201499:12: */ +func geopolyCreate(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 { /* sqlite3.c:201556:12: */ return geopolyInit(tls, db, pAux, argc, argv, ppVtab, pzErr, 1) } // GEOPOLY virtual table module xConnect method. -func geopolyConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 { /* sqlite3.c:201512:12: */ +func geopolyConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 { /* sqlite3.c:201569:12: */ return geopolyInit(tls, db, pAux, argc, argv, ppVtab, pzErr, 0) } @@ -177129,7 +177160,7 @@ func geopolyConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv ui // 3 search for objects overlapping the same bounding box // that contains polygon argv[0] // 4 full table scan -func geopolyFilter(tls *libc.TLS, pVtabCursor uintptr, idxNum int32, idxStr uintptr, argc int32, argv uintptr) int32 { /* sqlite3.c:201535:12: */ +func geopolyFilter(tls *libc.TLS, pVtabCursor uintptr, idxNum int32, idxStr uintptr, argc int32, argv uintptr) int32 { /* sqlite3.c:201592:12: */ bp := tls.Alloc(52) defer tls.Free(52) @@ -177296,7 +177327,7 @@ geopoly_filter_end: // 3 "rtree" R-tree within query using geopoly_within() // 4 "fullscan" full-table scan. // ------------------------------------------------ -func geopolyBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 { /* sqlite3.c:201667:12: */ +func geopolyBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 { /* sqlite3.c:201724:12: */ var ii int32 var iRowidTerm int32 = -1 var iFuncTerm int32 = -1 @@ -177347,7 +177378,7 @@ func geopolyBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 { /* s } // GEOPOLY virtual table module xColumn method. -func geopolyColumn(tls *libc.TLS, cur uintptr, ctx uintptr, i int32) int32 { /* sqlite3.c:201719:12: */ +func geopolyColumn(tls *libc.TLS, cur uintptr, ctx uintptr, i int32) int32 { /* sqlite3.c:201776:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -177412,7 +177443,7 @@ func geopolyColumn(tls *libc.TLS, cur uintptr, ctx uintptr, i int32) int32 { /* // argv[1] = rowid after the change. Never NULL // argv[2] = new value for _shape // argv[3] = new value for first application-defined column.... -func geopolyUpdate(tls *libc.TLS, pVtab uintptr, nData int32, aData uintptr, pRowid uintptr) int32 { /* sqlite3.c:201774:12: */ +func geopolyUpdate(tls *libc.TLS, pVtab uintptr, nData int32, aData uintptr, pRowid uintptr) int32 { /* sqlite3.c:201831:12: */ bp := tls.Alloc(64) defer tls.Free(64) @@ -177623,7 +177654,7 @@ 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) int32 { /* sqlite3.c:201911:12: */ +func geopolyFindFunction(tls *libc.TLS, pVtab uintptr, nArg int32, zName uintptr, pxFunc uintptr, ppArg uintptr) int32 { /* sqlite3.c:201968:12: */ if Xsqlite3_stricmp(tls, zName, ts+27894) == 0 { *(*uintptr)(unsafe.Pointer(pxFunc)) = *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) @@ -177664,9 +177695,9 @@ var geopolyModule = Sqlite3_module{ FxRename: 0, // xRename - rename the table FxSavepoint: 0, // xRollbackTo FxShadowName: 0, // xShadowName -} /* sqlite3.c:201932:23 */ +} /* sqlite3.c:201989:23 */ -func sqlite3_geopoly_init(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:201959:12: */ +func sqlite3_geopoly_init(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:202016:12: */ var rc int32 = SQLITE_OK var i int32 for i = 0; uint64(i) < uint64(unsafe.Sizeof(aFunc))/uint64(unsafe.Sizeof(struct { @@ -177720,14 +177751,14 @@ var aFunc = [12]struct { {FxFunc: 0, FnArg: int8(7), FbPure: uint8(1), FzName: ts + 28034 /* "geopoly_xform" */}, {FxFunc: 0, FnArg: int8(4), FbPure: uint8(1), FzName: ts + 28048 /* "geopoly_regular" */}, {FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 28064 /* "geopoly_ccw" */}, -} /* sqlite3.c:201966:5 */ +} /* sqlite3.c:202023:5 */ var aAgg = [1]struct { FxStep uintptr FxFinal uintptr FzName uintptr }{ {FxStep: 0, FxFinal: 0, FzName: ts + 28076 /* "geopoly_group_bb..." */}, -} /* sqlite3.c:201984:5 */ +} /* sqlite3.c:202041:5 */ //************* End of geopoly.c ******************************************** //************* Continuing where we left off in rtree.c ********************* @@ -177735,7 +177766,7 @@ var aAgg = [1]struct { // Register the r-tree module with database handle db. This creates the // virtual table module "rtree" and the debugging/analysis scalar // function "rtreenode". -func Xsqlite3RtreeInit(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:202019:20: */ +func Xsqlite3RtreeInit(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:202076:20: */ var utf8 int32 = SQLITE_UTF8 var rc int32 @@ -177772,7 +177803,7 @@ func Xsqlite3RtreeInit(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:202019:20 // or sqlite3_rtree_query_callback(). In other words, this routine is the // destructor for an RtreeGeomCallback objecct. This routine is called when // the corresponding SQL function is deleted. -func rtreeFreeCallback(tls *libc.TLS, p uintptr) { /* sqlite3.c:202058:13: */ +func rtreeFreeCallback(tls *libc.TLS, p uintptr) { /* sqlite3.c:202115:13: */ var pInfo uintptr = p if (*RtreeGeomCallback)(unsafe.Pointer(pInfo)).FxDestructor != 0 { (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*RtreeGeomCallback)(unsafe.Pointer(pInfo)).FxDestructor})).f(tls, (*RtreeGeomCallback)(unsafe.Pointer(pInfo)).FpContext) @@ -177781,7 +177812,7 @@ func rtreeFreeCallback(tls *libc.TLS, p uintptr) { /* sqlite3.c:202058:13: */ } // This routine frees the BLOB that is returned by geomCallback(). -func rtreeMatchArgFree(tls *libc.TLS, pArg uintptr) { /* sqlite3.c:202067:13: */ +func rtreeMatchArgFree(tls *libc.TLS, pArg uintptr) { /* sqlite3.c:202124:13: */ var i int32 var p uintptr = pArg for i = 0; i < (*RtreeMatchArg)(unsafe.Pointer(p)).FnParam; i++ { @@ -177802,7 +177833,7 @@ func rtreeMatchArgFree(tls *libc.TLS, pArg uintptr) { /* sqlite3.c:202067:13: */ // The R-Tree MATCH operator will read the returned BLOB, deserialize // the RtreeMatchArg object, and use the RtreeMatchArg object to figure // out which elements of the R-Tree should be returned by the query. -func geomCallback(tls *libc.TLS, ctx uintptr, nArg int32, aArg uintptr) { /* sqlite3.c:202090:13: */ +func geomCallback(tls *libc.TLS, ctx uintptr, nArg int32, aArg uintptr) { /* sqlite3.c:202147:13: */ var pGeomCtx uintptr = Xsqlite3_user_data(tls, ctx) var pBlob uintptr var nBlob Sqlite3_int64 @@ -177836,7 +177867,7 @@ func geomCallback(tls *libc.TLS, ctx uintptr, nArg int32, aArg uintptr) { /* sql } // 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) int32 { /* sqlite3.c:202128:16: */ +func Xsqlite3_rtree_geometry_callback(tls *libc.TLS, db uintptr, zGeom uintptr, xGeom uintptr, pContext uintptr) int32 { /* sqlite3.c:202185:16: */ var pGeomCtx uintptr // Context object for new user-function // Allocate and populate the context object. @@ -177856,7 +177887,7 @@ func Xsqlite3_rtree_geometry_callback(tls *libc.TLS, db uintptr, zGeom uintptr, // 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) int32 { /* sqlite3.c:202152:16: */ +func Xsqlite3_rtree_query_callback(tls *libc.TLS, db uintptr, zQueryFunc uintptr, xQueryFunc uintptr, pContext uintptr, xDestructor uintptr) int32 { /* sqlite3.c:202209:16: */ var pGeomCtx uintptr // Context object for new user-function // Allocate and populate the context object. @@ -178312,7 +178343,7 @@ type sqlite3rbu = struct { FnRbu int32 F__ccgo_pad6 [4]byte FpRbuFd uintptr -} /* sqlite3.c:203382:9 */ +} /* sqlite3.c:203439:9 */ //************* End of rtree.c ********************************************** //************* Begin file icu.c ******************************************** @@ -178713,7 +178744,7 @@ type sqlite3rbu = struct { // #include "sqlite3.h" ** Required for error code definitions ** -type Sqlite3rbu = sqlite3rbu /* sqlite3.c:203382:27 */ +type Sqlite3rbu = sqlite3rbu /* sqlite3.c:203439:27 */ //************* End of sqlite3rbu.h ***************************************** //************* Continuing where we left off in sqlite3rbu.c **************** @@ -178778,7 +178809,7 @@ type Sqlite3rbu = sqlite3rbu /* sqlite3.c:203382:27 */ type RbuFrame1 = struct { FiDbPage U32 FiWalFrame U32 -} /* sqlite3.c:203382:9 */ +} /* sqlite3.c:203439:9 */ //************* End of sqlite3rbu.h ***************************************** //************* Continuing where we left off in sqlite3rbu.c **************** @@ -178840,7 +178871,7 @@ type RbuFrame1 = struct { // Only valid if STAGE==1. The RBU database name of the table // currently being read. -type RbuFrame = RbuFrame1 /* sqlite3.c:203813:25 */ +type RbuFrame = RbuFrame1 /* sqlite3.c:203870:25 */ type RbuObjIter1 = struct { FpTblIter uintptr FpIdxIter uintptr @@ -178872,9 +178903,9 @@ type RbuObjIter1 = struct { FaIdxCol uintptr FzIdxSql uintptr FpRbuUpdate uintptr -} /* sqlite3.c:203382:9 */ +} /* sqlite3.c:203439:9 */ -type RbuObjIter = RbuObjIter1 /* sqlite3.c:203814:27 */ +type RbuObjIter = RbuObjIter1 /* sqlite3.c:203871:27 */ type RbuState1 = struct { FeStage int32 F__ccgo_pad1 [4]byte @@ -178889,16 +178920,16 @@ type RbuState1 = struct { F__ccgo_pad3 [4]byte FiOalSz I64 FnPhaseOneStep I64 -} /* sqlite3.c:203815:9 */ +} /* sqlite3.c:203872:9 */ -type RbuState = RbuState1 /* sqlite3.c:203815:25 */ +type RbuState = RbuState1 /* sqlite3.c:203872:25 */ type RbuSpan1 = struct { FzSpan uintptr FnSpan int32 F__ccgo_pad1 [4]byte -} /* sqlite3.c:203382:9 */ +} /* sqlite3.c:203439:9 */ -type RbuSpan = RbuSpan1 /* sqlite3.c:203816:24 */ +type RbuSpan = RbuSpan1 /* sqlite3.c:203873:24 */ type rbu_vfs = struct { Fbase Sqlite3_vfs FpRealVfs uintptr @@ -178906,9 +178937,9 @@ type rbu_vfs = struct { FpRbu uintptr FpMain uintptr FpMainRbu uintptr -} /* sqlite3.c:203382:9 */ +} /* sqlite3.c:203439:9 */ -type Rbu_vfs = rbu_vfs /* sqlite3.c:203817:24 */ +type Rbu_vfs = rbu_vfs /* sqlite3.c:203874:24 */ type rbu_file = struct { Fbase Sqlite3_file FpReal uintptr @@ -178927,16 +178958,16 @@ type rbu_file = struct { FpWalFd uintptr FpMainNext uintptr FpMainRbuNext uintptr -} /* sqlite3.c:203382:9 */ +} /* sqlite3.c:203439:9 */ -type Rbu_file = rbu_file /* sqlite3.c:203818:25 */ +type Rbu_file = rbu_file /* sqlite3.c:203875:25 */ type RbuUpdateStmt1 = struct { FzMask uintptr FpUpdate uintptr FpNext uintptr -} /* sqlite3.c:203382:9 */ +} /* sqlite3.c:203439:9 */ -type RbuUpdateStmt = RbuUpdateStmt1 /* sqlite3.c:203819:30 */ +type RbuUpdateStmt = RbuUpdateStmt1 /* sqlite3.c:203876:30 */ // True for an RBU vacuum handle, or false otherwise. @@ -178955,7 +178986,7 @@ type RbuUpdateStmt = RbuUpdateStmt1 /* sqlite3.c:203819:30 */ // finished, leave *pz pointing to the first character past the end of // the integer. The *pLen parameter holds the length of the string // in *pz and is decremented once for each character in the integer. -func rbuDeltaGetInt(tls *libc.TLS, pz uintptr, pLen uintptr) uint32 { /* sqlite3.c:204109:21: */ +func rbuDeltaGetInt(tls *libc.TLS, pz uintptr, pLen uintptr) uint32 { /* sqlite3.c:204166:21: */ var v uint32 = uint32(0) var c int32 var z uintptr = *(*uintptr)(unsafe.Pointer(pz)) @@ -178978,7 +179009,7 @@ var zValue = [128]int8{ int8(25), int8(26), int8(27), int8(28), int8(29), int8(30), int8(31), int8(32), int8(33), int8(34), int8(35), int8(-1), int8(-1), int8(-1), int8(-1), int8(36), int8(-1), int8(37), int8(38), int8(39), int8(40), int8(41), int8(42), int8(43), int8(44), int8(45), int8(46), int8(47), int8(48), int8(49), int8(50), int8(51), int8(52), int8(53), int8(54), int8(55), int8(56), int8(57), int8(58), int8(59), int8(60), int8(61), int8(62), int8(-1), int8(-1), int8(-1), int8(63), int8(-1), -} /* sqlite3.c:204110:28 */ +} /* sqlite3.c:204167:28 */ // Apply a delta. // @@ -178998,7 +179029,7 @@ var zValue = [128]int8{ // // Refer to the delta_create() documentation above for a description // of the delta file format. -func rbuDeltaApply(tls *libc.TLS, zSrc uintptr, lenSrc int32, zDelta uintptr, lenDelta int32, zOut uintptr) int32 { /* sqlite3.c:204190:12: */ +func rbuDeltaApply(tls *libc.TLS, zSrc uintptr, lenSrc int32, zDelta uintptr, lenDelta int32, zOut uintptr) int32 { /* sqlite3.c:204247:12: */ bp := tls.Alloc(12) defer tls.Free(12) *(*uintptr)(unsafe.Pointer(bp)) = zDelta @@ -179088,7 +179119,7 @@ func rbuDeltaApply(tls *libc.TLS, zSrc uintptr, lenSrc int32, zDelta uintptr, le return -1 } -func rbuDeltaOutputSize(tls *libc.TLS, zDelta uintptr, lenDelta int32) int32 { /* sqlite3.c:204276:12: */ +func rbuDeltaOutputSize(tls *libc.TLS, zDelta uintptr, lenDelta int32) int32 { /* sqlite3.c:204333:12: */ bp := tls.Alloc(12) defer tls.Free(12) *(*uintptr)(unsafe.Pointer(bp)) = zDelta @@ -179113,7 +179144,7 @@ func rbuDeltaOutputSize(tls *libc.TLS, zDelta uintptr, lenDelta int32) int32 { / // arguments must be passed to this function. The first is the blob to // patch and the second the patch to apply. If no error occurs, this // function returns the patched blob. -func rbuFossilDeltaFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:204298:13: */ +func rbuFossilDeltaFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:204355:13: */ var aDelta uintptr var nDelta int32 var aOrig uintptr @@ -179156,7 +179187,7 @@ func rbuFossilDeltaFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr // an SQLite error code. Additionally, set output variable *pzErrmsg to // point to a buffer containing an error message. It is the responsibility // of the caller to (eventually) free this buffer using sqlite3_free(). -func prepareAndCollectError(tls *libc.TLS, db uintptr, ppStmt uintptr, pzErrmsg uintptr, zSql uintptr) int32 { /* sqlite3.c:204351:12: */ +func prepareAndCollectError(tls *libc.TLS, db uintptr, ppStmt uintptr, pzErrmsg uintptr, zSql uintptr) int32 { /* sqlite3.c:204408:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -179174,7 +179205,7 @@ func prepareAndCollectError(tls *libc.TLS, db uintptr, ppStmt uintptr, pzErrmsg // If an error has occurred, then set *pzErrmsg to point to a buffer // containing an error message. It is the responsibility of the caller // to eventually free this buffer using sqlite3_free(). -func resetAndCollectError(tls *libc.TLS, pStmt uintptr, pzErrmsg uintptr) int32 { /* sqlite3.c:204373:12: */ +func resetAndCollectError(tls *libc.TLS, pStmt uintptr, pzErrmsg uintptr) int32 { /* sqlite3.c:204430:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -179198,7 +179229,7 @@ func resetAndCollectError(tls *libc.TLS, pStmt uintptr, pzErrmsg uintptr) int32 // // If argument zSql is NULL, this function assumes that an OOM has occurred. // In this case SQLITE_NOMEM is returned and *ppStmt set to NULL. -func prepareFreeAndCollectError(tls *libc.TLS, db uintptr, ppStmt uintptr, pzErrmsg uintptr, zSql uintptr) int32 { /* sqlite3.c:204396:12: */ +func prepareFreeAndCollectError(tls *libc.TLS, db uintptr, ppStmt uintptr, pzErrmsg uintptr, zSql uintptr) int32 { /* sqlite3.c:204453:12: */ var rc int32 if zSql == uintptr(0) { @@ -179213,7 +179244,7 @@ func prepareFreeAndCollectError(tls *libc.TLS, db uintptr, ppStmt uintptr, pzErr // Free the RbuObjIter.azTblCol[] and RbuObjIter.abTblPk[] arrays allocated // by an earlier call to rbuObjIterCacheTableInfo(). -func rbuObjIterFreeCols(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:204418:13: */ +func rbuObjIterFreeCols(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:204475:13: */ var i int32 for i = 0; i < (*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol; i++ { Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8))) @@ -179231,7 +179262,7 @@ func rbuObjIterFreeCols(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:204418:13: // Finalize all statements and free all allocations that are specific to // the current object (table/index pair). -func rbuObjIterClearStatements(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:204438:13: */ +func rbuObjIterClearStatements(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:204495:13: */ var pUp uintptr Xsqlite3_finalize(tls, (*RbuObjIter)(unsafe.Pointer(pIter)).FpSelect) @@ -179261,7 +179292,7 @@ func rbuObjIterClearStatements(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:2044 // Clean up any resources allocated as part of the iterator object passed // as the only argument. -func rbuObjIterFinalize(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:204470:13: */ +func rbuObjIterFinalize(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:204527:13: */ rbuObjIterClearStatements(tls, pIter) Xsqlite3_finalize(tls, (*RbuObjIter)(unsafe.Pointer(pIter)).FpTblIter) Xsqlite3_finalize(tls, (*RbuObjIter)(unsafe.Pointer(pIter)).FpIdxIter) @@ -179275,7 +179306,7 @@ func rbuObjIterFinalize(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:204470:13: // pointing to the next entry. Otherwise, an error code and message is // left in the RBU handle passed as the first argument. A copy of the // error code is returned. -func rbuObjIterNext(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlite3.c:204486:12: */ +func rbuObjIterNext(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlite3.c:204543:12: */ var rc int32 = (*Sqlite3rbu)(unsafe.Pointer(p)).Frc if rc == SQLITE_OK { @@ -179356,7 +179387,7 @@ func rbuObjIterNext(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlite3. // // For an rbu vacuum handle, a copy of the first argument is returned if // the second argument is either missing or 0 (not a view). -func rbuTargetNameFunc(tls *libc.TLS, pCtx uintptr, argc int32, argv uintptr) { /* sqlite3.c:204566:13: */ +func rbuTargetNameFunc(tls *libc.TLS, pCtx uintptr, argc int32, argv uintptr) { /* sqlite3.c:204623:13: */ var p uintptr = Xsqlite3_user_data(tls, pCtx) var zIn uintptr @@ -179386,7 +179417,7 @@ func rbuTargetNameFunc(tls *libc.TLS, pCtx uintptr, argc int32, argv uintptr) { // pointing to the first entry. Otherwise, an error code and message is // left in the RBU handle passed as the first argument. A copy of the // error code is returned. -func rbuObjIterFirst(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlite3.c:204602:12: */ +func rbuObjIterFirst(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlite3.c:204659:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -179421,7 +179452,7 @@ func rbuObjIterFirst(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlite3 // than SQLITE_OK), then this function returns NULL without modifying the // stored error code. In this case it still calls sqlite3_free() on any // printf() parameters associated with %z conversions. -func rbuMPrintf(tls *libc.TLS, p uintptr, zFmt uintptr, va uintptr) uintptr { /* sqlite3.c:204637:13: */ +func rbuMPrintf(tls *libc.TLS, p uintptr, zFmt uintptr, va uintptr) uintptr { /* sqlite3.c:204694:13: */ var zSql uintptr = uintptr(0) var ap Va_list _ = ap @@ -179447,7 +179478,7 @@ func rbuMPrintf(tls *libc.TLS, p uintptr, zFmt uintptr, va uintptr) uintptr { /* // If an error occurs, an error code and error message is stored in the // RBU handle. If an error has already occurred when this function is // called, it is a no-op. -func rbuMPrintfExec(tls *libc.TLS, p uintptr, db uintptr, zFmt uintptr, va uintptr) int32 { /* sqlite3.c:204662:12: */ +func rbuMPrintfExec(tls *libc.TLS, p uintptr, db uintptr, zFmt uintptr, va uintptr) int32 { /* sqlite3.c:204719:12: */ var ap Va_list _ = ap var zSql uintptr @@ -179473,7 +179504,7 @@ func rbuMPrintfExec(tls *libc.TLS, p uintptr, db uintptr, zFmt uintptr, va uintp // error has already occurred when this function is called, return NULL // immediately without attempting the allocation or modifying the stored // error code. -func rbuMalloc(tls *libc.TLS, p uintptr, nByte Sqlite3_int64) uintptr { /* sqlite3.c:204689:13: */ +func rbuMalloc(tls *libc.TLS, p uintptr, nByte Sqlite3_int64) uintptr { /* sqlite3.c:204746:13: */ var pRet uintptr = uintptr(0) if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { @@ -179490,7 +179521,7 @@ func rbuMalloc(tls *libc.TLS, p uintptr, nByte Sqlite3_int64) uintptr { /* sqlit // Allocate and zero the pIter->azTblCol[] and abTblPk[] arrays so that // there is room for at least nCol elements. If an OOM occurs, store an // error code in the RBU handle passed as the first argument. -func rbuAllocateIterArrays(tls *libc.TLS, p uintptr, pIter uintptr, nCol int32) { /* sqlite3.c:204709:13: */ +func rbuAllocateIterArrays(tls *libc.TLS, p uintptr, pIter uintptr, nCol int32) { /* sqlite3.c:204766:13: */ var nByte Sqlite3_int64 = Sqlite3_int64((uint64(2)*uint64(unsafe.Sizeof(uintptr(0))) + uint64(unsafe.Sizeof(int32(0))) + uint64(3)*uint64(unsafe.Sizeof(U8(0)))) * uint64(nCol)) var azNew uintptr @@ -179513,7 +179544,7 @@ func rbuAllocateIterArrays(tls *libc.TLS, p uintptr, pIter uintptr, nCol int32) // If an OOM condition is encountered when attempting to allocate memory, // output variable (*pRc) is set to SQLITE_NOMEM before returning. Otherwise, // if the allocation succeeds, (*pRc) is left unchanged. -func rbuStrndup(tls *libc.TLS, zStr uintptr, pRc uintptr) uintptr { /* sqlite3.c:204734:13: */ +func rbuStrndup(tls *libc.TLS, zStr uintptr, pRc uintptr) uintptr { /* sqlite3.c:204791:13: */ var zRet uintptr = uintptr(0) if *(*int32)(unsafe.Pointer(pRc)) == SQLITE_OK { @@ -179536,7 +179567,7 @@ func rbuStrndup(tls *libc.TLS, zStr uintptr, pRc uintptr) uintptr { /* sqlite3.c // If the sqlite3_finalize() call indicates that an error occurs, and the // rbu handle error code is not already set, set the error code and error // message accordingly. -func rbuFinalize(tls *libc.TLS, p uintptr, pStmt uintptr) { /* sqlite3.c:204759:13: */ +func rbuFinalize(tls *libc.TLS, p uintptr, pStmt uintptr) { /* sqlite3.c:204816:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -179586,7 +179617,7 @@ func rbuFinalize(tls *libc.TLS, p uintptr, pStmt uintptr) { /* sqlite3.c:204759: // }else{ // return RBU_PK_NONE // } -func rbuTableType(tls *libc.TLS, p uintptr, zTab uintptr, peType uintptr, piTnum uintptr, piPk uintptr) { /* sqlite3.c:204807:13: */ +func rbuTableType(tls *libc.TLS, p uintptr, zTab uintptr, peType uintptr, piTnum uintptr, piPk uintptr) { /* sqlite3.c:204864:13: */ bp := tls.Alloc(64) defer tls.Free(64) @@ -179707,7 +179738,7 @@ __16: // This is a helper function for rbuObjIterCacheTableInfo(). It populates // the pIter->abIndexed[] array. -func rbuObjIterCacheIndexedCols(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:204893:13: */ +func rbuObjIterCacheIndexedCols(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:204950:13: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -179765,7 +179796,7 @@ func rbuObjIterCacheIndexedCols(tls *libc.TLS, p uintptr, pIter uintptr) { /* sq // Return SQLITE_OK if successful, or an SQLite error code otherwise. If // an error does occur, an error code and error message are also left in // the RBU handle. -func rbuObjIterCacheTableInfo(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlite3.c:204947:12: */ +func rbuObjIterCacheTableInfo(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlite3.c:205004:12: */ bp := tls.Alloc(72) defer tls.Free(72) @@ -179887,7 +179918,7 @@ func rbuObjIterCacheTableInfo(tls *libc.TLS, p uintptr, pIter uintptr) int32 { / // This function constructs and returns a pointer to a nul-terminated // string containing some SQL clause or list based on one or more of the // column names currently stored in the pIter->azTblCol[] array. -func rbuObjIterGetCollist(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { /* sqlite3.c:205057:13: */ +func rbuObjIterGetCollist(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { /* sqlite3.c:205114:13: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -179906,7 +179937,7 @@ func rbuObjIterGetCollist(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { /* // in order, for the current table. Before each column name, add the text // zPre. After each column name, add the zPost text. Use zSeparator as // the separator text (usually ", "). -func rbuObjIterGetPkList(tls *libc.TLS, p uintptr, pIter uintptr, zPre uintptr, zSeparator uintptr, zPost uintptr) uintptr { /* sqlite3.c:205078:13: */ +func rbuObjIterGetPkList(tls *libc.TLS, p uintptr, pIter uintptr, zPre uintptr, zSeparator uintptr, zPost uintptr) uintptr { /* sqlite3.c:205135:13: */ bp := tls.Alloc(40) defer tls.Free(40) @@ -179948,7 +179979,7 @@ func rbuObjIterGetPkList(tls *libc.TLS, p uintptr, pIter uintptr, zPre uintptr, // // Instead of "?" placeholders, the actual WHERE clauses created by // this function contain literal SQL values. -func rbuVacuumTableStart(tls *libc.TLS, p uintptr, pIter uintptr, bRowid int32, zWrite uintptr) uintptr { /* sqlite3.c:205123:13: */ +func rbuVacuumTableStart(tls *libc.TLS, p uintptr, pIter uintptr, bRowid int32, zWrite uintptr) uintptr { /* sqlite3.c:205180:13: */ bp := tls.Alloc(80) defer tls.Free(80) @@ -180007,7 +180038,7 @@ func rbuVacuumTableStart(tls *libc.TLS, p uintptr, pIter uintptr, bRowid int32, // If the expression cannot be created, NULL is returned. In this case, // the caller has to use an OFFSET clause to extract only the required // rows from the sourct table, just as it does for an RBU update operation. -func rbuVacuumIndexStart(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { /* sqlite3.c:205190:13: */ +func rbuVacuumIndexStart(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { /* sqlite3.c:205247:13: */ bp := tls.Alloc(192) defer tls.Free(192) @@ -180188,7 +180219,7 @@ index_start_out: // pzImposterCols: ... // pzImposterPk: ... // pzWhere: ... -func rbuObjIterGetIndexCols(tls *libc.TLS, p uintptr, pIter uintptr, pzImposterCols uintptr, pzImposterPk uintptr, pzWhere uintptr, pnBind uintptr) uintptr { /* sqlite3.c:205305:13: */ +func rbuObjIterGetIndexCols(tls *libc.TLS, p uintptr, pIter uintptr, pzImposterCols uintptr, pzImposterPk uintptr, pzWhere uintptr, pnBind uintptr) uintptr { /* sqlite3.c:205362:13: */ bp := tls.Alloc(208) defer tls.Free(208) @@ -180299,7 +180330,7 @@ func rbuObjIterGetIndexCols(tls *libc.TLS, p uintptr, pIter uintptr, pzImposterC // // For tables with implicit rowids - RBU_PK_EXTERNAL and RBU_PK_NONE, append // the text ", old._rowid_" to the returned value. -func rbuObjIterGetOldlist(tls *libc.TLS, p uintptr, pIter uintptr, zObj uintptr) uintptr { /* sqlite3.c:205417:13: */ +func rbuObjIterGetOldlist(tls *libc.TLS, p uintptr, pIter uintptr, zObj uintptr) uintptr { /* sqlite3.c:205474:13: */ bp := tls.Alloc(64) defer tls.Free(64) @@ -180337,7 +180368,7 @@ func rbuObjIterGetOldlist(tls *libc.TLS, p uintptr, pIter uintptr, zObj uintptr) // Return the string: // // "b = ?1 AND c = ?2" -func rbuObjIterGetWhere(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { /* sqlite3.c:205458:13: */ +func rbuObjIterGetWhere(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { /* sqlite3.c:205515:13: */ bp := tls.Alloc(80) defer tls.Free(80) @@ -180375,7 +180406,7 @@ func rbuObjIterGetWhere(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { /* sq // is something wrong with the rbu_control value in the rbu_control value // stored in the (p->nCol+1)'th column. Set the error code and error message // of the RBU handle to something reflecting this. -func rbuBadControlError(tls *libc.TLS, p uintptr) { /* sqlite3.c:205499:13: */ +func rbuBadControlError(tls *libc.TLS, p uintptr) { /* sqlite3.c:205556:13: */ (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_ERROR (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+29612, 0) } @@ -180395,7 +180426,7 @@ func rbuBadControlError(tls *libc.TLS, p uintptr) { /* sqlite3.c:205499:13: */ // argument and NULL is returned. Or, if an error has already occurred // when this function is called, NULL is returned immediately, without // attempting the allocation or modifying the stored error code. -func rbuObjIterGetSetlist(tls *libc.TLS, p uintptr, pIter uintptr, zMask uintptr) uintptr { /* sqlite3.c:205522:13: */ +func rbuObjIterGetSetlist(tls *libc.TLS, p uintptr, pIter uintptr, zMask uintptr) uintptr { /* sqlite3.c:205579:13: */ bp := tls.Alloc(112) defer tls.Free(112) @@ -180441,7 +180472,7 @@ func rbuObjIterGetSetlist(tls *libc.TLS, p uintptr, pIter uintptr, zMask uintptr // argument and NULL is returned. Or, if an error has already occurred // when this function is called, NULL is returned immediately, without // attempting the allocation or modifying the stored error code. -func rbuObjIterGetBindlist(tls *libc.TLS, p uintptr, nBind int32) uintptr { /* sqlite3.c:205576:13: */ +func rbuObjIterGetBindlist(tls *libc.TLS, p uintptr, nBind int32) uintptr { /* sqlite3.c:205633:13: */ var zRet uintptr = uintptr(0) var nByte Sqlite3_int64 = int64(2)*Sqlite3_int64(nBind) + int64(1) @@ -180471,7 +180502,7 @@ func rbuObjIterGetBindlist(tls *libc.TLS, p uintptr, nBind int32) uintptr { /* s // this function returns: // // PRIMARY KEY("b", "a" DESC) -func rbuWithoutRowidPK(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { /* sqlite3.c:205603:13: */ +func rbuWithoutRowidPK(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { /* sqlite3.c:205660:13: */ bp := tls.Alloc(72) defer tls.Free(72) @@ -180534,7 +180565,7 @@ func rbuWithoutRowidPK(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { /* sql // // CREATE TABLE rbu_imposter2(c1 TEXT, c2 REAL, id INTEGER) WITHOUT ROWID; // -func rbuCreateImposterTable2(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:205662:13: */ +func rbuCreateImposterTable2(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:205719:13: */ bp := tls.Alloc(184) defer tls.Free(184) @@ -180610,7 +180641,7 @@ func rbuCreateImposterTable2(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlit // More precisely, the "same schema" means the same columns, types, // collation sequences. For tables that do not have an external PRIMARY // KEY, it also means the same PRIMARY KEY declaration. -func rbuCreateImposterTable(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:205736:13: */ +func rbuCreateImposterTable(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:205793:13: */ bp := tls.Alloc(200) defer tls.Free(200) @@ -180674,7 +180705,7 @@ func rbuCreateImposterTable(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite // the target table, plus one (for the rbu_control column), plus one more // (for the rbu_rowid column) if the target table is an implicit IPK or // virtual table. -func rbuObjIterPrepareTmpInsert(tls *libc.TLS, p uintptr, pIter uintptr, zCollist uintptr, zRbuRowid uintptr) { /* sqlite3.c:205792:13: */ +func rbuObjIterPrepareTmpInsert(tls *libc.TLS, p uintptr, pIter uintptr, zCollist uintptr, zRbuRowid uintptr) { /* sqlite3.c:205849:13: */ bp := tls.Alloc(40) defer tls.Free(40) @@ -180689,7 +180720,7 @@ func rbuObjIterPrepareTmpInsert(tls *libc.TLS, p uintptr, pIter uintptr, zCollis } } -func rbuTmpInsertFunc(tls *libc.TLS, pCtx uintptr, nVal int32, apVal uintptr) { /* sqlite3.c:205810:13: */ +func rbuTmpInsertFunc(tls *libc.TLS, pCtx uintptr, nVal int32, apVal uintptr) { /* sqlite3.c:205867:13: */ var p uintptr = Xsqlite3_user_data(tls, pCtx) var rc int32 = SQLITE_OK var i int32 @@ -180711,7 +180742,7 @@ func rbuTmpInsertFunc(tls *libc.TLS, pCtx uintptr, nVal int32, apVal uintptr) { } } -func rbuObjIterGetIndexWhere(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { /* sqlite3.c:205840:13: */ +func rbuObjIterGetIndexWhere(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { /* sqlite3.c:205897:13: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -180819,7 +180850,7 @@ func rbuObjIterGetIndexWhere(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { // Ensure that the SQLite statement handles required to update the // target database object currently indicated by the iterator passed // as the second argument are available. -func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32) int32 { /* sqlite3.c:205940:12: */ +func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32) int32 { /* sqlite3.c:205997:12: */ bp := tls.Alloc(628) defer tls.Free(628) @@ -181094,7 +181125,7 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32 // // If the zMask string does not specify any columns to update, then this // is not an error. Output variable *ppStmt is set to NULL in this case. -func rbuGetUpdateStmt(tls *libc.TLS, p uintptr, pIter uintptr, zMask uintptr, ppStmt uintptr) int32 { /* sqlite3.c:206207:12: */ +func rbuGetUpdateStmt(tls *libc.TLS, p uintptr, pIter uintptr, zMask uintptr, ppStmt uintptr) int32 { /* sqlite3.c:206264:12: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -181160,7 +181191,7 @@ func rbuGetUpdateStmt(tls *libc.TLS, p uintptr, pIter uintptr, zMask uintptr, pp return (*Sqlite3rbu)(unsafe.Pointer(p)).Frc } -func rbuOpenDbhandle(tls *libc.TLS, p uintptr, zName uintptr, bUseVfs int32) uintptr { /* sqlite3.c:206275:16: */ +func rbuOpenDbhandle(tls *libc.TLS, p uintptr, zName uintptr, bUseVfs int32) uintptr { /* sqlite3.c:206332:16: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -181183,7 +181214,7 @@ func rbuOpenDbhandle(tls *libc.TLS, p uintptr, zName uintptr, bUseVfs int32) uin } // Free an RbuState object allocated by rbuLoadState(). -func rbuFreeState(tls *libc.TLS, p uintptr) { /* sqlite3.c:206296:13: */ +func rbuFreeState(tls *libc.TLS, p uintptr) { /* sqlite3.c:206353:13: */ if p != 0 { Xsqlite3_free(tls, (*RbuState)(unsafe.Pointer(p)).FzTbl) Xsqlite3_free(tls, (*RbuState)(unsafe.Pointer(p)).FzDataTbl) @@ -181199,7 +181230,7 @@ func rbuFreeState(tls *libc.TLS, p uintptr) { /* sqlite3.c:206296:13: */ // // If an error occurs, leave an error code and message in the rbu handle // and return NULL. -func rbuLoadState(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:206314:17: */ +func rbuLoadState(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:206371:17: */ bp := tls.Alloc(20) defer tls.Free(20) @@ -181283,7 +181314,7 @@ func rbuLoadState(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:206314:17: */ // If argument dbMain is not NULL, then it is a database handle already // open on the target database. Use this handle instead of opening a new // one. -func rbuOpenDatabase(tls *libc.TLS, p uintptr, dbMain uintptr, pbRetry uintptr) { /* sqlite3.c:206395:13: */ +func rbuOpenDatabase(tls *libc.TLS, p uintptr, dbMain uintptr, pbRetry uintptr) { /* sqlite3.c:206452:13: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -181445,7 +181476,7 @@ func rbuOpenDatabase(tls *libc.TLS, p uintptr, dbMain uintptr, pbRetry uintptr) // test.db-wal => test.wal // test.db-shm => test.shm // test.db-mj7f3319fa => test.9fa -func rbuFileSuffix3(tls *libc.TLS, zBase uintptr, z uintptr) { /* sqlite3.c:206576:13: */ +func rbuFileSuffix3(tls *libc.TLS, zBase uintptr, z uintptr) { /* sqlite3.c:206633:13: */ } // Return the current wal-index header checksum for the target database @@ -181453,7 +181484,7 @@ func rbuFileSuffix3(tls *libc.TLS, zBase uintptr, z uintptr) { /* sqlite3.c:2065 // // The checksum is store in the first page of xShmMap memory as an 8-byte // blob starting at byte offset 40. -func rbuShmChecksum(tls *libc.TLS, p uintptr) I64 { /* sqlite3.c:206597:12: */ +func rbuShmChecksum(tls *libc.TLS, p uintptr) I64 { /* sqlite3.c:206654:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -181486,7 +181517,7 @@ func rbuShmChecksum(tls *libc.TLS, p uintptr) I64 { /* sqlite3.c:206597:12: */ // object, then the rbu handle is set to DONE state. This occurs if some // other client appends a transaction to the wal file in the middle of // an incremental checkpoint. -func rbuSetupCheckpoint(tls *libc.TLS, p uintptr, pState uintptr) { /* sqlite3.c:206626:13: */ +func rbuSetupCheckpoint(tls *libc.TLS, p uintptr, pState uintptr) { /* sqlite3.c:206683:13: */ // If pState is NULL, then the wal file may not have been opened and // recovered. Running a read-statement here to ensure that doing so @@ -181578,7 +181609,7 @@ func rbuSetupCheckpoint(tls *libc.TLS, p uintptr, pState uintptr) { /* sqlite3.c // Called when iAmt bytes are read from offset iOff of the wal file while // the rbu object is in capture mode. Record the frame number of the frame // being read in the aFrame[] array. -func rbuCaptureWalRead(tls *libc.TLS, pRbu uintptr, iOff I64, iAmt int32) int32 { /* sqlite3.c:206710:12: */ +func rbuCaptureWalRead(tls *libc.TLS, pRbu uintptr, iOff I64, iAmt int32) int32 { /* sqlite3.c:206767:12: */ var mReq U32 = U32(int32(1)<dbMain to one more than the schema cookie of the main // db opened by p->dbRbu. -func rbuIncrSchemaCookie(tls *libc.TLS, p uintptr) { /* sqlite3.c:207135:13: */ +func rbuIncrSchemaCookie(tls *libc.TLS, p uintptr) { /* sqlite3.c:207192:13: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -181985,7 +182016,7 @@ func rbuIncrSchemaCookie(tls *libc.TLS, p uintptr) { /* sqlite3.c:207135:13: */ // Update the contents of the rbu_state table within the rbu database. The // value stored in the RBU_STATE_STAGE column is eStage. All other values // are determined by inspecting the rbu handle passed as the first argument. -func rbuSaveState(tls *libc.TLS, p uintptr, eStage int32) { /* sqlite3.c:207166:13: */ +func rbuSaveState(tls *libc.TLS, p uintptr, eStage int32) { /* sqlite3.c:207223:13: */ bp := tls.Alloc(176) defer tls.Free(176) @@ -182040,7 +182071,7 @@ func rbuSaveState(tls *libc.TLS, p uintptr, eStage int32) { /* sqlite3.c:207166: // // In short, it copies the value of the specified PRAGMA setting from // dbRbu to dbMain. -func rbuCopyPragma(tls *libc.TLS, p uintptr, zPragma uintptr) { /* sqlite3.c:207227:13: */ +func rbuCopyPragma(tls *libc.TLS, p uintptr, zPragma uintptr) { /* sqlite3.c:207284:13: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -182059,7 +182090,7 @@ func rbuCopyPragma(tls *libc.TLS, p uintptr, zPragma uintptr) { /* sqlite3.c:207 // The RBU handle passed as the only argument has just been opened and // the state database is empty. If this RBU handle was opened for an // RBU vacuum operation, create the schema in the target db. -func rbuCreateTargetSchema(tls *libc.TLS, p uintptr) { /* sqlite3.c:207247:13: */ +func rbuCreateTargetSchema(tls *libc.TLS, p uintptr) { /* sqlite3.c:207304:13: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -182109,7 +182140,7 @@ func rbuCreateTargetSchema(tls *libc.TLS, p uintptr) { /* sqlite3.c:207247:13: * } // Step the RBU object. -func Xsqlite3rbu_step(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:207299:16: */ +func Xsqlite3rbu_step(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:207356:16: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -182252,7 +182283,7 @@ func Xsqlite3rbu_step(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:207299:16: // Compare strings z1 and z2, returning 0 if they are identical, or non-zero // otherwise. Either or both argument may be NULL. Two NULL values are // considered equal, and NULL is considered distinct from all other values. -func rbuStrCompare(tls *libc.TLS, z1 uintptr, z2 uintptr) int32 { /* sqlite3.c:207428:12: */ +func rbuStrCompare(tls *libc.TLS, z1 uintptr, z2 uintptr) int32 { /* sqlite3.c:207485:12: */ if z1 == uintptr(0) && z2 == uintptr(0) { return 0 } @@ -182270,7 +182301,7 @@ func rbuStrCompare(tls *libc.TLS, z1 uintptr, z2 uintptr) int32 { /* sqlite3.c:2 // // If an error occurs, an error code and error message are left in the // rbu handle passed as the first argument. -func rbuSetupOal(tls *libc.TLS, p uintptr, pState uintptr) { /* sqlite3.c:207444:13: */ +func rbuSetupOal(tls *libc.TLS, p uintptr, pState uintptr) { /* sqlite3.c:207501:13: */ if (*RbuState)(unsafe.Pointer(pState)).FzTbl != 0 { var pIter uintptr = p + 80 @@ -182300,7 +182331,7 @@ func rbuSetupOal(tls *libc.TLS, p uintptr, pState uintptr) { /* sqlite3.c:207444 // If there is a "*-oal" file in the file-system corresponding to the // target database in the file-system, delete it. If an error occurs, // leave an error code and error message in the rbu handle. -func rbuDeleteOalFile(tls *libc.TLS, p uintptr) { /* sqlite3.c:207477:13: */ +func rbuDeleteOalFile(tls *libc.TLS, p uintptr) { /* sqlite3.c:207534:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -182319,7 +182350,7 @@ func rbuDeleteOalFile(tls *libc.TLS, p uintptr) { /* sqlite3.c:207477:13: */ // argument. This VFS will be used unless the call to sqlite3rbu_open() // specified a URI with a vfs=? option in place of a target database // file name. -func rbuCreateVfs(tls *libc.TLS, p uintptr) { /* sqlite3.c:207493:13: */ +func rbuCreateVfs(tls *libc.TLS, p uintptr) { /* sqlite3.c:207550:13: */ bp := tls.Alloc(76) defer tls.Free(76) @@ -182340,7 +182371,7 @@ func rbuCreateVfs(tls *libc.TLS, p uintptr) { /* sqlite3.c:207493:13: */ // Destroy the private VFS created for the rbu handle passed as the only // argument by an earlier call to rbuCreateVfs(). -func rbuDeleteVfs(tls *libc.TLS, p uintptr) { /* sqlite3.c:207513:13: */ +func rbuDeleteVfs(tls *libc.TLS, p uintptr) { /* sqlite3.c:207570:13: */ if (*Sqlite3rbu)(unsafe.Pointer(p)).FzVfsName != 0 { Xsqlite3rbu_destroy_vfs(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FzVfsName) (*Sqlite3rbu)(unsafe.Pointer(p)).FzVfsName = uintptr(0) @@ -182350,7 +182381,7 @@ func rbuDeleteVfs(tls *libc.TLS, p uintptr) { /* sqlite3.c:207513:13: */ // This user-defined SQL function is invoked with a single argument - the // name of a table expected to appear in the target database. It returns // the number of auxilliary indexes on the table. -func rbuIndexCntFunc(tls *libc.TLS, pCtx uintptr, nVal int32, apVal uintptr) { /* sqlite3.c:207525:13: */ +func rbuIndexCntFunc(tls *libc.TLS, pCtx uintptr, nVal int32, apVal uintptr) { /* sqlite3.c:207582:13: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -182399,7 +182430,7 @@ func rbuIndexCntFunc(tls *libc.TLS, pCtx uintptr, nVal int32, apVal uintptr) { / // sqlite3rbu.nPhaseOneStep is initialized to the sum of (1 + nIndex) * cnt // for all rows in the rbu_count table, where nIndex is the number of // indexes on the corresponding target database table. -func rbuInitPhaseOneSteps(tls *libc.TLS, p uintptr) { /* sqlite3.c:207575:13: */ +func rbuInitPhaseOneSteps(tls *libc.TLS, p uintptr) { /* sqlite3.c:207632:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -182441,7 +182472,7 @@ func rbuInitPhaseOneSteps(tls *libc.TLS, p uintptr) { /* sqlite3.c:207575:13: */ } } -func openRbuHandle(tls *libc.TLS, zTarget uintptr, zRbu uintptr, zState uintptr) uintptr { /* sqlite3.c:207616:19: */ +func openRbuHandle(tls *libc.TLS, zTarget uintptr, zRbu uintptr, zState uintptr) uintptr { /* sqlite3.c:207673:19: */ bp := tls.Alloc(20) defer tls.Free(20) @@ -182614,7 +182645,7 @@ func openRbuHandle(tls *libc.TLS, zTarget uintptr, zRbu uintptr, zState uintptr) // Allocate and return an RBU handle with all fields zeroed except for the // error code, which is set to SQLITE_MISUSE. -func rbuMisuseError(tls *libc.TLS) uintptr { /* sqlite3.c:207780:19: */ +func rbuMisuseError(tls *libc.TLS) uintptr { /* sqlite3.c:207837:19: */ var pRet uintptr pRet = Xsqlite3_malloc64(tls, uint64(unsafe.Sizeof(Sqlite3rbu{}))) if pRet != 0 { @@ -182625,7 +182656,7 @@ func rbuMisuseError(tls *libc.TLS) uintptr { /* sqlite3.c:207780:19: */ } // Open and return a new RBU handle. -func Xsqlite3rbu_open(tls *libc.TLS, zTarget uintptr, zRbu uintptr, zState uintptr) uintptr { /* sqlite3.c:207793:23: */ +func Xsqlite3rbu_open(tls *libc.TLS, zTarget uintptr, zRbu uintptr, zState uintptr) uintptr { /* sqlite3.c:207850:23: */ if zTarget == uintptr(0) || zRbu == uintptr(0) { return rbuMisuseError(tls) } @@ -182633,7 +182664,7 @@ func Xsqlite3rbu_open(tls *libc.TLS, zTarget uintptr, zRbu uintptr, zState uintp } // Open a handle to begin or resume an RBU VACUUM operation. -func Xsqlite3rbu_vacuum(tls *libc.TLS, zTarget uintptr, zState uintptr) uintptr { /* sqlite3.c:207805:23: */ +func Xsqlite3rbu_vacuum(tls *libc.TLS, zTarget uintptr, zState uintptr) uintptr { /* sqlite3.c:207862:23: */ if zTarget == uintptr(0) { return rbuMisuseError(tls) } @@ -182648,7 +182679,7 @@ func Xsqlite3rbu_vacuum(tls *libc.TLS, zTarget uintptr, zState uintptr) uintptr } // Return the database handle used by pRbu. -func Xsqlite3rbu_db(tls *libc.TLS, pRbu uintptr, bRbu int32) uintptr { /* sqlite3.c:207823:20: */ +func Xsqlite3rbu_db(tls *libc.TLS, pRbu uintptr, bRbu int32) uintptr { /* sqlite3.c:207880:20: */ var db uintptr = uintptr(0) if pRbu != 0 { db = func() uintptr { @@ -182664,7 +182695,7 @@ func Xsqlite3rbu_db(tls *libc.TLS, pRbu uintptr, bRbu int32) uintptr { /* sqlite // If the error code currently stored in the RBU handle is SQLITE_CONSTRAINT, // then edit any error message string so as to remove all occurrences of // the pattern "rbu_imp_[0-9]*". -func rbuEditErrmsg(tls *libc.TLS, p uintptr) { /* sqlite3.c:207837:13: */ +func rbuEditErrmsg(tls *libc.TLS, p uintptr) { /* sqlite3.c:207894:13: */ if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_CONSTRAINT && (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg != 0 { var i uint32 var nErrmsg Size_t = libc.Xstrlen(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg) @@ -182682,7 +182713,7 @@ func rbuEditErrmsg(tls *libc.TLS, p uintptr) { /* sqlite3.c:207837:13: */ } // Close the RBU handle. -func Xsqlite3rbu_close(tls *libc.TLS, p uintptr, pzErrmsg uintptr) int32 { /* sqlite3.c:207855:16: */ +func Xsqlite3rbu_close(tls *libc.TLS, p uintptr, pzErrmsg uintptr) int32 { /* sqlite3.c:207912:16: */ var rc int32 if p != 0 { @@ -182747,13 +182778,13 @@ func Xsqlite3rbu_close(tls *libc.TLS, p uintptr, pzErrmsg uintptr) int32 { /* sq // Return the total number of key-value operations (inserts, deletes or // updates) that have been performed on the target database since the // current RBU update was started. -func Xsqlite3rbu_progress(tls *libc.TLS, pRbu uintptr) Sqlite3_int64 { /* sqlite3.c:207918:26: */ +func Xsqlite3rbu_progress(tls *libc.TLS, pRbu uintptr) Sqlite3_int64 { /* sqlite3.c:207975:26: */ return Sqlite3_int64((*Sqlite3rbu)(unsafe.Pointer(pRbu)).FnProgress) } // Return permyriadage progress indications for the two main stages of // an RBU update. -func Xsqlite3rbu_bp_progress(tls *libc.TLS, p uintptr, pnOne uintptr, pnTwo uintptr) { /* sqlite3.c:207926:17: */ +func Xsqlite3rbu_bp_progress(tls *libc.TLS, p uintptr, pnOne uintptr, pnTwo uintptr) { /* sqlite3.c:207983:17: */ var MAX_PROGRESS int32 = 10000 switch (*Sqlite3rbu)(unsafe.Pointer(p)).FeStage { case RBU_STAGE_OAL: @@ -182786,7 +182817,7 @@ func Xsqlite3rbu_bp_progress(tls *libc.TLS, p uintptr, pnOne uintptr, pnTwo uint } // Return the current state of the RBU vacuum or update operation. -func Xsqlite3rbu_state(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:207961:16: */ +func Xsqlite3rbu_state(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:208018:16: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -182804,7 +182835,7 @@ func Xsqlite3rbu_state(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:207961:16: return int32(0) } -func Xsqlite3rbu_savestate(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:207989:16: */ +func Xsqlite3rbu_savestate(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:208046:16: */ var rc int32 = (*Sqlite3rbu)(unsafe.Pointer(p)).Frc if rc == SQLITE_DONE { return SQLITE_OK @@ -182911,7 +182942,7 @@ func Xsqlite3rbu_savestate(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:207989 // relinquished). Finally, calls to xSync() on the target database // file fail with SQLITE_INTERNAL errors. -func rbuUnlockShm(tls *libc.TLS, p uintptr) { /* sqlite3.c:208082:13: */ +func rbuUnlockShm(tls *libc.TLS, p uintptr) { /* sqlite3.c:208139:13: */ if (*Rbu_file)(unsafe.Pointer(p)).FpRbu != 0 { var xShmLock uintptr = (*sqlite3_io_methods)(unsafe.Pointer((*Sqlite3_file)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer(p)).FpReal)).FpMethods)).FxShmLock @@ -182928,7 +182959,7 @@ func rbuUnlockShm(tls *libc.TLS, p uintptr) { /* sqlite3.c:208082:13: */ } // -func rbuUpdateTempSize(tls *libc.TLS, pFd uintptr, nNew Sqlite3_int64) int32 { /* sqlite3.c:208098:12: */ +func rbuUpdateTempSize(tls *libc.TLS, pFd uintptr, nNew Sqlite3_int64) int32 { /* sqlite3.c:208155:12: */ var pRbu uintptr = (*Rbu_file)(unsafe.Pointer(pFd)).FpRbu var nDiff I64 = nNew - (*Rbu_file)(unsafe.Pointer(pFd)).Fsz *(*I64)(unsafe.Pointer(pRbu + 360)) += nDiff @@ -182946,7 +182977,7 @@ func rbuUpdateTempSize(tls *libc.TLS, pFd uintptr, nNew Sqlite3_int64) int32 { / // for all file descriptors with rbu_file.pDb!=0. If the argument has // rbu_file.pDb!=0, then it is assumed to already be present on the // main list and is only added to the pDb!=0 list. -func rbuMainlistAdd(tls *libc.TLS, p uintptr) { /* sqlite3.c:208116:13: */ +func rbuMainlistAdd(tls *libc.TLS, p uintptr) { /* sqlite3.c:208173:13: */ var pRbuVfs uintptr = (*Rbu_file)(unsafe.Pointer(p)).FpRbuVfs var pIter uintptr @@ -182968,7 +182999,7 @@ func rbuMainlistAdd(tls *libc.TLS, p uintptr) { /* sqlite3.c:208116:13: */ } // Remove an item from the main-db lists. -func rbuMainlistRemove(tls *libc.TLS, p uintptr) { /* sqlite3.c:208138:13: */ +func rbuMainlistRemove(tls *libc.TLS, p uintptr) { /* sqlite3.c:208195:13: */ var pp uintptr Xsqlite3_mutex_enter(tls, (*Rbu_vfs)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer(p)).FpRbuVfs)).Fmutex) for pp = (*Rbu_file)(unsafe.Pointer(p)).FpRbuVfs + 192; *(*uintptr)(unsafe.Pointer(pp)) != 0 && *(*uintptr)(unsafe.Pointer(pp)) != p; pp = *(*uintptr)(unsafe.Pointer(pp)) + 88 { @@ -182993,7 +183024,7 @@ func rbuMainlistRemove(tls *libc.TLS, p uintptr) { /* sqlite3.c:208138:13: */ // // If parameter bRbu is true, only search for file-descriptors with // rbu_file.pDb!=0. -func rbuFindMaindb(tls *libc.TLS, pRbuVfs uintptr, zWal uintptr, bRbu int32) uintptr { /* sqlite3.c:208159:17: */ +func rbuFindMaindb(tls *libc.TLS, pRbuVfs uintptr, zWal uintptr, bRbu int32) uintptr { /* sqlite3.c:208216:17: */ var pDb uintptr Xsqlite3_mutex_enter(tls, (*Rbu_vfs)(unsafe.Pointer(pRbuVfs)).Fmutex) if bRbu != 0 { @@ -183008,7 +183039,7 @@ func rbuFindMaindb(tls *libc.TLS, pRbuVfs uintptr, zWal uintptr, bRbu int32) uin } // Close an rbu file. -func rbuVfsClose(tls *libc.TLS, pFile uintptr) int32 { /* sqlite3.c:208174:12: */ +func rbuVfsClose(tls *libc.TLS, pFile uintptr) int32 { /* sqlite3.c:208231:12: */ var p uintptr = pFile var rc int32 var i int32 @@ -183040,7 +183071,7 @@ func rbuVfsClose(tls *libc.TLS, pFile uintptr) int32 { /* sqlite3.c:208174:12: * // Read and return an unsigned 32-bit big-endian integer from the buffer // passed as the only argument. -func rbuGetU32(tls *libc.TLS, aBuf uintptr) U32 { /* sqlite3.c:208207:12: */ +func rbuGetU32(tls *libc.TLS, aBuf uintptr) U32 { /* sqlite3.c:208264:12: */ return U32(*(*U8)(unsafe.Pointer(aBuf)))<<24 + U32(*(*U8)(unsafe.Pointer(aBuf + 1)))<<16 + U32(*(*U8)(unsafe.Pointer(aBuf + 2)))<<8 + @@ -183049,20 +183080,20 @@ func rbuGetU32(tls *libc.TLS, aBuf uintptr) U32 { /* sqlite3.c:208207:12: */ // Write an unsigned 32-bit value in big-endian format to the supplied // buffer. -func rbuPutU32(tls *libc.TLS, aBuf uintptr, iVal U32) { /* sqlite3.c:208218:13: */ +func rbuPutU32(tls *libc.TLS, aBuf uintptr, iVal U32) { /* sqlite3.c:208275:13: */ *(*U8)(unsafe.Pointer(aBuf)) = U8(iVal >> 24 & U32(0xFF)) *(*U8)(unsafe.Pointer(aBuf + 1)) = U8(iVal >> 16 & U32(0xFF)) *(*U8)(unsafe.Pointer(aBuf + 2)) = U8(iVal >> 8 & U32(0xFF)) *(*U8)(unsafe.Pointer(aBuf + 3)) = U8(iVal >> 0 & U32(0xFF)) } -func rbuPutU16(tls *libc.TLS, aBuf uintptr, iVal U16) { /* sqlite3.c:208225:13: */ +func rbuPutU16(tls *libc.TLS, aBuf uintptr, iVal U16) { /* sqlite3.c:208282:13: */ *(*U8)(unsafe.Pointer(aBuf)) = U8(int32(iVal) >> 8 & 0xFF) *(*U8)(unsafe.Pointer(aBuf + 1)) = U8(int32(iVal) >> 0 & 0xFF) } // Read data from an rbuVfs-file. -func rbuVfsRead(tls *libc.TLS, pFile uintptr, zBuf uintptr, iAmt int32, iOfst Sqlite_int64) int32 { /* sqlite3.c:208233:12: */ +func rbuVfsRead(tls *libc.TLS, pFile uintptr, zBuf uintptr, iAmt int32, iOfst Sqlite_int64) int32 { /* sqlite3.c:208290:12: */ var p uintptr = pFile var pRbu uintptr = (*Rbu_file)(unsafe.Pointer(p)).FpRbu var rc int32 @@ -183126,7 +183157,7 @@ func rbuVfsRead(tls *libc.TLS, pFile uintptr, zBuf uintptr, iAmt int32, iOfst Sq } // Write data to an rbuVfs-file. -func rbuVfsWrite(tls *libc.TLS, pFile uintptr, zBuf uintptr, iAmt int32, iOfst Sqlite_int64) int32 { /* sqlite3.c:208299:12: */ +func rbuVfsWrite(tls *libc.TLS, pFile uintptr, zBuf uintptr, iAmt int32, iOfst Sqlite_int64) int32 { /* sqlite3.c:208356:12: */ var p uintptr = pFile var pRbu uintptr = (*Rbu_file)(unsafe.Pointer(p)).FpRbu var rc int32 @@ -183165,7 +183196,7 @@ func rbuVfsWrite(tls *libc.TLS, pFile uintptr, zBuf uintptr, iAmt int32, iOfst S } // Truncate an rbuVfs-file. -func rbuVfsTruncate(tls *libc.TLS, pFile uintptr, size Sqlite_int64) int32 { /* sqlite3.c:208342:12: */ +func rbuVfsTruncate(tls *libc.TLS, pFile uintptr, size Sqlite_int64) int32 { /* sqlite3.c:208399:12: */ var p uintptr = pFile if (*Rbu_file)(unsafe.Pointer(p)).FopenFlags&SQLITE_OPEN_DELETEONCLOSE != 0 && (*Rbu_file)(unsafe.Pointer(p)).FpRbu != 0 { var rc int32 = rbuUpdateTempSize(tls, p, size) @@ -183179,7 +183210,7 @@ func rbuVfsTruncate(tls *libc.TLS, pFile uintptr, size Sqlite_int64) int32 { /* } // Sync an rbuVfs-file. -func rbuVfsSync(tls *libc.TLS, pFile uintptr, flags int32) int32 { /* sqlite3.c:208354:12: */ +func rbuVfsSync(tls *libc.TLS, pFile uintptr, flags int32) int32 { /* sqlite3.c:208411:12: */ var p uintptr = pFile if (*Rbu_file)(unsafe.Pointer(p)).FpRbu != 0 && (*Sqlite3rbu)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer(p)).FpRbu)).FeStage == RBU_STAGE_CAPTURE { if (*Rbu_file)(unsafe.Pointer(p)).FopenFlags&SQLITE_OPEN_MAIN_DB != 0 { @@ -183193,7 +183224,7 @@ func rbuVfsSync(tls *libc.TLS, pFile uintptr, flags int32) int32 { /* sqlite3.c: } // Return the current file-size of an rbuVfs-file. -func rbuVfsFileSize(tls *libc.TLS, pFile uintptr, pSize uintptr) int32 { /* sqlite3.c:208368:12: */ +func rbuVfsFileSize(tls *libc.TLS, pFile uintptr, pSize uintptr) int32 { /* sqlite3.c:208425:12: */ var p uintptr = pFile var rc int32 rc = (*struct { @@ -183213,7 +183244,7 @@ func rbuVfsFileSize(tls *libc.TLS, pFile uintptr, pSize uintptr) int32 { /* sqli } // Lock an rbuVfs-file. -func rbuVfsLock(tls *libc.TLS, pFile uintptr, eLock int32) int32 { /* sqlite3.c:208389:12: */ +func rbuVfsLock(tls *libc.TLS, pFile uintptr, eLock int32) int32 { /* sqlite3.c:208446:12: */ var p uintptr = pFile var pRbu uintptr = (*Rbu_file)(unsafe.Pointer(p)).FpRbu var rc int32 = SQLITE_OK @@ -183233,7 +183264,7 @@ func rbuVfsLock(tls *libc.TLS, pFile uintptr, eLock int32) int32 { /* sqlite3.c: } // Unlock an rbuVfs-file. -func rbuVfsUnlock(tls *libc.TLS, pFile uintptr, eLock int32) int32 { /* sqlite3.c:208411:12: */ +func rbuVfsUnlock(tls *libc.TLS, pFile uintptr, eLock int32) int32 { /* sqlite3.c:208468:12: */ var p uintptr = pFile return (*struct { f func(*libc.TLS, uintptr, int32) int32 @@ -183241,7 +183272,7 @@ func rbuVfsUnlock(tls *libc.TLS, pFile uintptr, eLock int32) int32 { /* sqlite3. } // Check if another file-handle holds a RESERVED lock on an rbuVfs-file. -func rbuVfsCheckReservedLock(tls *libc.TLS, pFile uintptr, pResOut uintptr) int32 { /* sqlite3.c:208419:12: */ +func rbuVfsCheckReservedLock(tls *libc.TLS, pFile uintptr, pResOut uintptr) int32 { /* sqlite3.c:208476:12: */ var p uintptr = pFile return (*struct { f func(*libc.TLS, uintptr, uintptr) int32 @@ -183249,7 +183280,7 @@ func rbuVfsCheckReservedLock(tls *libc.TLS, pFile uintptr, pResOut uintptr) int3 } // File control method. For custom operations on an rbuVfs-file. -func rbuVfsFileControl(tls *libc.TLS, pFile uintptr, op int32, pArg uintptr) int32 { /* sqlite3.c:208427:12: */ +func rbuVfsFileControl(tls *libc.TLS, pFile uintptr, op int32, pArg uintptr) int32 { /* sqlite3.c:208484:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -183312,7 +183343,7 @@ func rbuVfsFileControl(tls *libc.TLS, pFile uintptr, op int32, pArg uintptr) int } // Return the sector-size in bytes for an rbuVfs-file. -func rbuVfsSectorSize(tls *libc.TLS, pFile uintptr) int32 { /* sqlite3.c:208483:12: */ +func rbuVfsSectorSize(tls *libc.TLS, pFile uintptr) int32 { /* sqlite3.c:208540:12: */ var p uintptr = pFile return (*struct { f func(*libc.TLS, uintptr) int32 @@ -183320,7 +183351,7 @@ func rbuVfsSectorSize(tls *libc.TLS, pFile uintptr) int32 { /* sqlite3.c:208483: } // Return the device characteristic flags supported by an rbuVfs-file. -func rbuVfsDeviceCharacteristics(tls *libc.TLS, pFile uintptr) int32 { /* sqlite3.c:208491:12: */ +func rbuVfsDeviceCharacteristics(tls *libc.TLS, pFile uintptr) int32 { /* sqlite3.c:208548:12: */ var p uintptr = pFile return (*struct { f func(*libc.TLS, uintptr) int32 @@ -183328,7 +183359,7 @@ func rbuVfsDeviceCharacteristics(tls *libc.TLS, pFile uintptr) int32 { /* sqlite } // Take or release a shared-memory lock. -func rbuVfsShmLock(tls *libc.TLS, pFile uintptr, ofst int32, n int32, flags int32) int32 { /* sqlite3.c:208499:12: */ +func rbuVfsShmLock(tls *libc.TLS, pFile uintptr, ofst int32, n int32, flags int32) int32 { /* sqlite3.c:208556:12: */ var p uintptr = pFile var pRbu uintptr = (*Rbu_file)(unsafe.Pointer(p)).FpRbu var rc int32 = SQLITE_OK @@ -183361,7 +183392,7 @@ func rbuVfsShmLock(tls *libc.TLS, pFile uintptr, ofst int32, n int32, flags int3 } // Obtain a pointer to a mapping of a single 32KiB page of the *-shm file. -func rbuVfsShmMap(tls *libc.TLS, pFile uintptr, iRegion int32, szRegion int32, isWrite int32, pp uintptr) int32 { /* sqlite3.c:208537:12: */ +func rbuVfsShmMap(tls *libc.TLS, pFile uintptr, iRegion int32, szRegion int32, isWrite int32, pp uintptr) int32 { /* sqlite3.c:208594:12: */ var p uintptr = pFile var rc int32 = SQLITE_OK var eStage int32 = func() int32 { @@ -183418,13 +183449,13 @@ func rbuVfsShmMap(tls *libc.TLS, pFile uintptr, iRegion int32, szRegion int32, i } // Memory barrier. -func rbuVfsShmBarrier(tls *libc.TLS, pFile uintptr) { /* sqlite3.c:208595:13: */ +func rbuVfsShmBarrier(tls *libc.TLS, pFile uintptr) { /* sqlite3.c:208652:13: */ var p uintptr = pFile (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods)(unsafe.Pointer((*Sqlite3_file)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer(p)).FpReal)).FpMethods)).FxShmBarrier})).f(tls, (*Rbu_file)(unsafe.Pointer(p)).FpReal) } // The xShmUnmap method. -func rbuVfsShmUnmap(tls *libc.TLS, pFile uintptr, delFlag int32) int32 { /* sqlite3.c:208603:12: */ +func rbuVfsShmUnmap(tls *libc.TLS, pFile uintptr, delFlag int32) int32 { /* sqlite3.c:208660:12: */ var p uintptr = pFile var rc int32 = SQLITE_OK var eStage int32 = func() int32 { @@ -183447,7 +183478,7 @@ func rbuVfsShmUnmap(tls *libc.TLS, pFile uintptr, delFlag int32) int32 { /* sqli } // Open an rbu file handle. -func rbuVfsOpen(tls *libc.TLS, pVfs uintptr, zName uintptr, pFile uintptr, flags int32, pOutFlags uintptr) int32 { /* sqlite3.c:208622:12: */ +func rbuVfsOpen(tls *libc.TLS, pVfs uintptr, zName uintptr, pFile uintptr, flags int32, pOutFlags uintptr) int32 { /* sqlite3.c:208679:12: */ var pRbuVfs uintptr = pVfs var pRealVfs uintptr = (*Rbu_vfs)(unsafe.Pointer(pRbuVfs)).FpRealVfs var pFd uintptr = pFile @@ -183533,10 +183564,10 @@ var rbuvfs_io_methods = Sqlite3_io_methods{ FxShmLock: 0, // xShmLock FxShmBarrier: 0, // xShmBarrier FxShmUnmap: 0, // xFetch, xUnfetch -} /* sqlite3.c:208629:29 */ +} /* sqlite3.c:208686:29 */ // Delete the file located at zPath. -func rbuVfsDelete(tls *libc.TLS, pVfs uintptr, zPath uintptr, dirSync int32) int32 { /* sqlite3.c:208720:12: */ +func rbuVfsDelete(tls *libc.TLS, pVfs uintptr, zPath uintptr, dirSync int32) int32 { /* sqlite3.c:208777:12: */ var pRealVfs uintptr = (*Rbu_vfs)(unsafe.Pointer(pVfs)).FpRealVfs return (*struct { f func(*libc.TLS, uintptr, uintptr, int32) int32 @@ -183545,7 +183576,7 @@ func rbuVfsDelete(tls *libc.TLS, pVfs uintptr, zPath uintptr, dirSync int32) int // Test for access permissions. Return true if the requested permission // is available, or false otherwise. -func rbuVfsAccess(tls *libc.TLS, pVfs uintptr, zPath uintptr, flags int32, pResOut uintptr) int32 { /* sqlite3.c:208729:12: */ +func rbuVfsAccess(tls *libc.TLS, pVfs uintptr, zPath uintptr, flags int32, pResOut uintptr) int32 { /* sqlite3.c:208786:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -183590,7 +183621,7 @@ func rbuVfsAccess(tls *libc.TLS, pVfs uintptr, zPath uintptr, flags int32, pResO // Populate buffer zOut with the full canonical pathname corresponding // to the pathname in zPath. zOut is guaranteed to point to a buffer // of at least (DEVSYM_MAX_PATHNAME+1) bytes. -func rbuVfsFullPathname(tls *libc.TLS, pVfs uintptr, zPath uintptr, nOut int32, zOut uintptr) int32 { /* sqlite3.c:208777:12: */ +func rbuVfsFullPathname(tls *libc.TLS, pVfs uintptr, zPath uintptr, nOut int32, zOut uintptr) int32 { /* sqlite3.c:208834:12: */ var pRealVfs uintptr = (*Rbu_vfs)(unsafe.Pointer(pVfs)).FpRealVfs return (*struct { f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 @@ -183598,7 +183629,7 @@ func rbuVfsFullPathname(tls *libc.TLS, pVfs uintptr, zPath uintptr, nOut int32, } // Open the dynamic library located at zPath and return a handle. -func rbuVfsDlOpen(tls *libc.TLS, pVfs uintptr, zPath uintptr) uintptr { /* sqlite3.c:208791:13: */ +func rbuVfsDlOpen(tls *libc.TLS, pVfs uintptr, zPath uintptr) uintptr { /* sqlite3.c:208848:13: */ var pRealVfs uintptr = (*Rbu_vfs)(unsafe.Pointer(pVfs)).FpRealVfs return (*struct { f func(*libc.TLS, uintptr, uintptr) uintptr @@ -183608,7 +183639,7 @@ func rbuVfsDlOpen(tls *libc.TLS, pVfs uintptr, zPath uintptr) uintptr { /* sqlit // Populate the buffer zErrMsg (size nByte bytes) with a human readable // utf-8 string describing the most recent error encountered associated // with dynamic libraries. -func rbuVfsDlError(tls *libc.TLS, pVfs uintptr, nByte int32, zErrMsg uintptr) { /* sqlite3.c:208801:13: */ +func rbuVfsDlError(tls *libc.TLS, pVfs uintptr, nByte int32, zErrMsg uintptr) { /* sqlite3.c:208858:13: */ var pRealVfs uintptr = (*Rbu_vfs)(unsafe.Pointer(pVfs)).FpRealVfs (*struct { f func(*libc.TLS, uintptr, int32, uintptr) @@ -183616,7 +183647,7 @@ func rbuVfsDlError(tls *libc.TLS, pVfs uintptr, nByte int32, zErrMsg uintptr) { } // Return a pointer to the symbol zSymbol in the dynamic library pHandle. -func rbuVfsDlSym(tls *libc.TLS, pVfs uintptr, pArg uintptr, zSym uintptr) uintptr { /* sqlite3.c:208809:13: */ +func rbuVfsDlSym(tls *libc.TLS, pVfs uintptr, pArg uintptr, zSym uintptr) uintptr { /* sqlite3.c:208866:13: */ var pRealVfs uintptr = (*Rbu_vfs)(unsafe.Pointer(pVfs)).FpRealVfs return (*struct { f func(*libc.TLS, uintptr, uintptr, uintptr) uintptr @@ -183624,7 +183655,7 @@ func rbuVfsDlSym(tls *libc.TLS, pVfs uintptr, pArg uintptr, zSym uintptr) uintpt } // Close the dynamic library handle pHandle. -func rbuVfsDlClose(tls *libc.TLS, pVfs uintptr, pHandle uintptr) { /* sqlite3.c:208821:13: */ +func rbuVfsDlClose(tls *libc.TLS, pVfs uintptr, pHandle uintptr) { /* sqlite3.c:208878:13: */ var pRealVfs uintptr = (*Rbu_vfs)(unsafe.Pointer(pVfs)).FpRealVfs (*struct { f func(*libc.TLS, uintptr, uintptr) @@ -183633,7 +183664,7 @@ func rbuVfsDlClose(tls *libc.TLS, pVfs uintptr, pHandle uintptr) { /* sqlite3.c: // Populate the buffer pointed to by zBufOut with nByte bytes of // random data. -func rbuVfsRandomness(tls *libc.TLS, pVfs uintptr, nByte int32, zBufOut uintptr) int32 { /* sqlite3.c:208831:12: */ +func rbuVfsRandomness(tls *libc.TLS, pVfs uintptr, nByte int32, zBufOut uintptr) int32 { /* sqlite3.c:208888:12: */ var pRealVfs uintptr = (*Rbu_vfs)(unsafe.Pointer(pVfs)).FpRealVfs return (*struct { f func(*libc.TLS, uintptr, int32, uintptr) int32 @@ -183642,7 +183673,7 @@ func rbuVfsRandomness(tls *libc.TLS, pVfs uintptr, nByte int32, zBufOut uintptr) // Sleep for nMicro microseconds. Return the number of microseconds // actually slept. -func rbuVfsSleep(tls *libc.TLS, pVfs uintptr, nMicro int32) int32 { /* sqlite3.c:208840:12: */ +func rbuVfsSleep(tls *libc.TLS, pVfs uintptr, nMicro int32) int32 { /* sqlite3.c:208897:12: */ var pRealVfs uintptr = (*Rbu_vfs)(unsafe.Pointer(pVfs)).FpRealVfs return (*struct { f func(*libc.TLS, uintptr, int32) int32 @@ -183650,7 +183681,7 @@ func rbuVfsSleep(tls *libc.TLS, pVfs uintptr, nMicro int32) int32 { /* sqlite3.c } // Return the current time as a Julian Day number in *pTimeOut. -func rbuVfsCurrentTime(tls *libc.TLS, pVfs uintptr, pTimeOut uintptr) int32 { /* sqlite3.c:208848:12: */ +func rbuVfsCurrentTime(tls *libc.TLS, pVfs uintptr, pTimeOut uintptr) int32 { /* sqlite3.c:208905:12: */ var pRealVfs uintptr = (*Rbu_vfs)(unsafe.Pointer(pVfs)).FpRealVfs return (*struct { f func(*libc.TLS, uintptr, uintptr) int32 @@ -183658,13 +183689,13 @@ func rbuVfsCurrentTime(tls *libc.TLS, pVfs uintptr, pTimeOut uintptr) int32 { /* } // No-op. -func rbuVfsGetLastError(tls *libc.TLS, pVfs uintptr, a int32, b uintptr) int32 { /* sqlite3.c:208856:12: */ +func rbuVfsGetLastError(tls *libc.TLS, pVfs uintptr, a int32, b uintptr) int32 { /* sqlite3.c:208913:12: */ return 0 } // Deregister and destroy an RBU vfs created by an earlier call to // sqlite3rbu_create_vfs(). -func Xsqlite3rbu_destroy_vfs(tls *libc.TLS, zName uintptr) { /* sqlite3.c:208864:17: */ +func Xsqlite3rbu_destroy_vfs(tls *libc.TLS, zName uintptr) { /* sqlite3.c:208921:17: */ var pVfs uintptr = Xsqlite3_vfs_find(tls, zName) if pVfs != 0 && (*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FxOpen == *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32 @@ -183678,7 +183709,7 @@ func Xsqlite3rbu_destroy_vfs(tls *libc.TLS, zName uintptr) { /* sqlite3.c:208864 // Create an RBU VFS named zName that accesses the underlying file-system // via existing VFS zParent. The new object is registered as a non-default // VFS with SQLite before returning. -func Xsqlite3rbu_create_vfs(tls *libc.TLS, zName uintptr, zParent uintptr) int32 { /* sqlite3.c:208878:16: */ +func Xsqlite3rbu_create_vfs(tls *libc.TLS, zName uintptr, zParent uintptr) int32 { /* sqlite3.c:208935:16: */ var pNew uintptr = uintptr(0) // Newly allocated VFS var rc int32 = SQLITE_OK @@ -183739,17 +183770,17 @@ var vfs_template = Sqlite3_vfs{ FxSleep: 0, // xSleep FxCurrentTime: 0, // xCurrentTime FxGetLastError: 0, // Unimplemented version 3 methods -} /* sqlite3.c:208881:22 */ +} /* sqlite3.c:208938:22 */ // Configure the aggregate temp file size limit for this RBU handle. -func Xsqlite3rbu_temp_size_limit(tls *libc.TLS, pRbu uintptr, n Sqlite3_int64) Sqlite3_int64 { /* sqlite3.c:208956:26: */ +func Xsqlite3rbu_temp_size_limit(tls *libc.TLS, pRbu uintptr, n Sqlite3_int64) Sqlite3_int64 { /* sqlite3.c:209013:26: */ if n >= int64(0) { (*Sqlite3rbu)(unsafe.Pointer(pRbu)).FszTempLimit = n } return (*Sqlite3rbu)(unsafe.Pointer(pRbu)).FszTempLimit } -func Xsqlite3rbu_temp_size(tls *libc.TLS, pRbu uintptr) Sqlite3_int64 { /* sqlite3.c:208963:26: */ +func Xsqlite3rbu_temp_size(tls *libc.TLS, pRbu uintptr) Sqlite3_int64 { /* sqlite3.c:209020:26: */ return (*Sqlite3rbu)(unsafe.Pointer(pRbu)).FszTemp } @@ -183903,7 +183934,7 @@ type SessionTable1 = struct { // #include // #include -type SessionTable = SessionTable1 /* sqlite3.c:210308:29 */ +type SessionTable = SessionTable1 /* sqlite3.c:210365:29 */ type SessionChange1 = struct { Fop U8 FbIndirect U8 @@ -183915,14 +183946,14 @@ type SessionChange1 = struct { FpNext uintptr } /* sqlite3.c:10832:9 */ -type SessionChange = SessionChange1 /* sqlite3.c:210309:30 */ +type SessionChange = SessionChange1 /* sqlite3.c:210366:30 */ type SessionBuffer1 = struct { FaBuf uintptr FnBuf int32 FnAlloc int32 } /* sqlite3.c:10840:9 */ -type SessionBuffer = SessionBuffer1 /* sqlite3.c:210310:30 */ +type SessionBuffer = SessionBuffer1 /* sqlite3.c:210367:30 */ type SessionInput1 = struct { FbNoDiscard int32 FiCurrent int32 @@ -183938,11 +183969,11 @@ type SessionInput1 = struct { F__ccgo_pad3 [4]byte } /* sqlite3.c:10840:9 */ -type SessionInput = SessionInput1 /* sqlite3.c:210311:29 */ +type SessionInput = SessionInput1 /* sqlite3.c:210368:29 */ // Minimum chunk size used by streaming versions of functions. -var sessions_strm_chunk_size int32 = SESSIONS_STRM_CHUNK_SIZE /* sqlite3.c:210324:12 */ +var sessions_strm_chunk_size int32 = SESSIONS_STRM_CHUNK_SIZE /* sqlite3.c:210381:12 */ type SessionHook1 = struct { FpCtx uintptr @@ -183952,11 +183983,11 @@ type SessionHook1 = struct { FxDepth uintptr } /* sqlite3.c:10832:9 */ -type SessionHook = SessionHook1 /* sqlite3.c:210326:28 */ +type SessionHook = SessionHook1 /* sqlite3.c:210383:28 */ // Write a varint with value iVal into the buffer at aBuf. Return the // number of bytes written. -func sessionVarintPut(tls *libc.TLS, aBuf uintptr, iVal int32) int32 { /* sqlite3.c:210604:12: */ +func sessionVarintPut(tls *libc.TLS, aBuf uintptr, iVal int32) int32 { /* sqlite3.c:210661:12: */ return int32(func() uint8 { if U32(iVal) < U32(0x80) { return uint8(func() int32 { *(*U8)(unsafe.Pointer(aBuf)) = uint8(iVal); return 1 }()) @@ -183966,13 +183997,13 @@ func sessionVarintPut(tls *libc.TLS, aBuf uintptr, iVal int32) int32 { /* sqlite } // Return the number of bytes required to store value iVal as a varint. -func sessionVarintLen(tls *libc.TLS, iVal int32) int32 { /* sqlite3.c:210611:12: */ +func sessionVarintLen(tls *libc.TLS, iVal int32) int32 { /* sqlite3.c:210668:12: */ return Xsqlite3VarintLen(tls, uint64(iVal)) } // Read a varint value from aBuf[] into *piVal. Return the number of // bytes read. -func sessionVarintGet(tls *libc.TLS, aBuf uintptr, piVal uintptr) int32 { /* sqlite3.c:210619:12: */ +func sessionVarintGet(tls *libc.TLS, aBuf uintptr, piVal uintptr) int32 { /* sqlite3.c:210676:12: */ return int32(func() uint8 { if int32(*(*U8)(unsafe.Pointer(aBuf))) < int32(U8(0x80)) { return uint8(func() int32 { *(*int32)(unsafe.Pointer(piVal)) = int32(U32(*(*U8)(unsafe.Pointer(aBuf)))); return 1 }()) @@ -183985,7 +184016,7 @@ func sessionVarintGet(tls *libc.TLS, aBuf uintptr, piVal uintptr) int32 { /* sql // Read a 64-bit big-endian integer value from buffer aRec[]. Return // the value read. -func sessionGetI64(tls *libc.TLS, aRec uintptr) Sqlite3_int64 { /* sqlite3.c:210630:22: */ +func sessionGetI64(tls *libc.TLS, aRec uintptr) Sqlite3_int64 { /* sqlite3.c:210687:22: */ var x U64 = U64(U32(*(*U8)(unsafe.Pointer(aRec)))<<24 | U32(int32(*(*U8)(unsafe.Pointer(aRec + 1)))<<16) | U32(int32(*(*U8)(unsafe.Pointer(aRec + 2)))<<8) | U32(*(*U8)(unsafe.Pointer(aRec + 3)))) var y U32 = U32(*(*U8)(unsafe.Pointer(aRec + uintptr(4))))<<24 | U32(int32(*(*U8)(unsafe.Pointer(aRec + uintptr(4) + 1)))<<16) | U32(int32(*(*U8)(unsafe.Pointer(aRec + uintptr(4) + 2)))<<8) | U32(*(*U8)(unsafe.Pointer(aRec + uintptr(4) + 3))) x = x<<32 + U64(y) @@ -183993,7 +184024,7 @@ func sessionGetI64(tls *libc.TLS, aRec uintptr) Sqlite3_int64 { /* sqlite3.c:210 } // Write a 64-bit big-endian integer value to the buffer aBuf[]. -func sessionPutI64(tls *libc.TLS, aBuf uintptr, i Sqlite3_int64) { /* sqlite3.c:210640:13: */ +func sessionPutI64(tls *libc.TLS, aBuf uintptr, i Sqlite3_int64) { /* sqlite3.c:210697:13: */ *(*U8)(unsafe.Pointer(aBuf)) = U8(i >> 56 & int64(0xFF)) *(*U8)(unsafe.Pointer(aBuf + 1)) = U8(i >> 48 & int64(0xFF)) *(*U8)(unsafe.Pointer(aBuf + 2)) = U8(i >> 40 & int64(0xFF)) @@ -184015,7 +184046,7 @@ func sessionPutI64(tls *libc.TLS, aBuf uintptr, i Sqlite3_int64) { /* sqlite3.c: // If no error occurs, SQLITE_OK is returned. Or, if an OOM error occurs // within a call to sqlite3_value_text() (may fail if the db is utf-16)) // SQLITE_NOMEM is returned. -func sessionSerializeValue(tls *libc.TLS, aBuf uintptr, pValue uintptr, pnWrite uintptr) int32 { /* sqlite3.c:210664:12: */ +func sessionSerializeValue(tls *libc.TLS, aBuf uintptr, pValue uintptr, pnWrite uintptr) int32 { /* sqlite3.c:210721:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -184103,7 +184134,7 @@ func sessionSerializeValue(tls *libc.TLS, aBuf uintptr, pValue uintptr, pnWrite // Allocate and return a pointer to a buffer nByte bytes in size. If // pSession is not NULL, increase the sqlite3_session.nMalloc variable // by the number of bytes allocated. -func sessionMalloc64(tls *libc.TLS, pSession uintptr, nByte I64) uintptr { /* sqlite3.c:210740:13: */ +func sessionMalloc64(tls *libc.TLS, pSession uintptr, nByte I64) uintptr { /* sqlite3.c:210797:13: */ var pRet uintptr = Xsqlite3_malloc64(tls, uint64(nByte)) if pSession != 0 { *(*I64)(unsafe.Pointer(pSession + 56)) += I64(Xsqlite3_msize(tls, pRet)) @@ -184114,7 +184145,7 @@ func sessionMalloc64(tls *libc.TLS, pSession uintptr, nByte I64) uintptr { /* sq // Free buffer pFree, which must have been allocated by an earlier // call to sessionMalloc64(). If pSession is not NULL, decrease the // sqlite3_session.nMalloc counter by the number of bytes freed. -func sessionFree(tls *libc.TLS, pSession uintptr, pFree uintptr) { /* sqlite3.c:210751:13: */ +func sessionFree(tls *libc.TLS, pSession uintptr, pFree uintptr) { /* sqlite3.c:210808:13: */ if pSession != 0 { *(*I64)(unsafe.Pointer(pSession + 56)) -= I64(Xsqlite3_msize(tls, pFree)) } @@ -184137,14 +184168,14 @@ func sessionFree(tls *libc.TLS, pSession uintptr, pFree uintptr) { /* sqlite3.c: // Append the hash of the 64-bit integer passed as the second argument to the // hash-key value passed as the first. Return the new hash-key value. -func sessionHashAppendI64(tls *libc.TLS, h uint32, i I64) uint32 { /* sqlite3.c:210777:21: */ +func sessionHashAppendI64(tls *libc.TLS, h uint32, i I64) uint32 { /* sqlite3.c:210834:21: */ h = h<<3 ^ h ^ uint32(i&int64(0xFFFFFFFF)) return h<<3 ^ h ^ uint32(i>>32&int64(0xFFFFFFFF)) } // Append the hash of the blob passed via the second and third arguments to // the hash-key value passed as the first. Return the new hash-key value. -func sessionHashAppendBlob(tls *libc.TLS, h uint32, n int32, z uintptr) uint32 { /* sqlite3.c:210786:21: */ +func sessionHashAppendBlob(tls *libc.TLS, h uint32, n int32, z uintptr) uint32 { /* sqlite3.c:210843:21: */ var i int32 for i = 0; i < n; i++ { h = h<<3 ^ h ^ uint32(*(*U8)(unsafe.Pointer(z + uintptr(i)))) @@ -184154,7 +184185,7 @@ func sessionHashAppendBlob(tls *libc.TLS, h uint32, n int32, z uintptr) uint32 { // Append the hash of the data type passed as the second argument to the // hash-key value passed as the first. Return the new hash-key value. -func sessionHashAppendType(tls *libc.TLS, h uint32, eType int32) uint32 { /* sqlite3.c:210796:21: */ +func sessionHashAppendType(tls *libc.TLS, h uint32, eType int32) uint32 { /* sqlite3.c:210853:21: */ return h<<3 ^ h ^ uint32(eType) } @@ -184167,7 +184198,7 @@ func sessionHashAppendType(tls *libc.TLS, h uint32, eType int32) uint32 { /* sql // If an error occurs, an SQLite error code is returned and the final values // of *piHash asn *pbNullPK are undefined. Otherwise, SQLITE_OK is returned // and the output variables are set as described above. -func sessionPreupdateHash(tls *libc.TLS, pSession uintptr, pTab uintptr, bNew int32, piHash uintptr, pbNullPK uintptr) int32 { /* sqlite3.c:210811:12: */ +func sessionPreupdateHash(tls *libc.TLS, pSession uintptr, pTab uintptr, bNew int32, piHash uintptr, pbNullPK uintptr) int32 { /* sqlite3.c:210868:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -184233,7 +184264,7 @@ func sessionPreupdateHash(tls *libc.TLS, pSession uintptr, pTab uintptr, bNew in // The buffer that the argument points to contains a serialized SQL value. // Return the number of bytes of space occupied by the value (including // the type byte). -func sessionSerialLen(tls *libc.TLS, a uintptr) int32 { /* sqlite3.c:210876:12: */ +func sessionSerialLen(tls *libc.TLS, a uintptr) int32 { /* sqlite3.c:210933:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -184259,7 +184290,7 @@ func sessionSerialLen(tls *libc.TLS, a uintptr) int32 { /* sqlite3.c:210876:12: // // The bPkOnly argument is non-zero if the record at aRecord[] is from // a patchset DELETE. In this case the non-PK fields are omitted entirely. -func sessionChangeHash(tls *libc.TLS, pTab uintptr, bPkOnly int32, aRecord uintptr, nBucket int32) uint32 { /* sqlite3.c:210894:21: */ +func sessionChangeHash(tls *libc.TLS, pTab uintptr, bPkOnly int32, aRecord uintptr, nBucket int32) uint32 { /* sqlite3.c:210951:21: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -184302,7 +184333,7 @@ func sessionChangeHash(tls *libc.TLS, pTab uintptr, bPkOnly int32, aRecord uintp // This function returns true if the two records apply to the same row (i.e. // have the same values stored in the primary key columns), or false // otherwise. -func sessionChangeEqual(tls *libc.TLS, pTab uintptr, bLeftPkOnly int32, aLeft uintptr, bRightPkOnly int32, aRight uintptr) int32 { /* sqlite3.c:210943:12: */ +func sessionChangeEqual(tls *libc.TLS, pTab uintptr, bLeftPkOnly int32, aLeft uintptr, bRightPkOnly int32, aRight uintptr) int32 { /* sqlite3.c:211000:12: */ var a1 uintptr = aLeft // Cursor to iterate through aLeft var a2 uintptr = aRight // Cursor to iterate through aRight var iCol int32 // Used to iterate through table columns @@ -184341,7 +184372,7 @@ func sessionChangeEqual(tls *libc.TLS, pTab uintptr, bLeftPkOnly int32, aLeft ui // their. Otherwise, if aLeft contains a value, copy it. If neither // record contains a value for a given column, then neither does the // output record. -func sessionMergeRecord(tls *libc.TLS, paOut uintptr, nCol int32, aLeft uintptr, aRight uintptr) { /* sqlite3.c:210986:13: */ +func sessionMergeRecord(tls *libc.TLS, paOut uintptr, nCol int32, aLeft uintptr, aRight uintptr) { /* sqlite3.c:211043:13: */ var a1 uintptr = aLeft // Cursor used to iterate through aLeft var a2 uintptr = aRight // Cursor used to iterate through aRight var aOut uintptr = *(*uintptr)(unsafe.Pointer(paOut)) // Output cursor @@ -184380,7 +184411,7 @@ func sessionMergeRecord(tls *libc.TLS, paOut uintptr, nCol int32, aLeft uintptr, // if( *paTwo is valid ) return *paTwo; // return *paOne; // -func sessionMergeValue(tls *libc.TLS, paOne uintptr, paTwo uintptr, pnVal uintptr) uintptr { /* sqlite3.c:211032:11: */ +func sessionMergeValue(tls *libc.TLS, paOne uintptr, paTwo uintptr, pnVal uintptr) uintptr { /* sqlite3.c:211089:11: */ var a1 uintptr = *(*uintptr)(unsafe.Pointer(paOne)) var a2 uintptr = *(*uintptr)(unsafe.Pointer(paTwo)) var pRet uintptr = uintptr(0) @@ -184407,7 +184438,7 @@ func sessionMergeValue(tls *libc.TLS, paOne uintptr, paTwo uintptr, pnVal uintpt // This function is used by changeset_concat() to merge two UPDATE changes // on the same row. -func sessionMergeUpdate(tls *libc.TLS, paOut uintptr, pTab uintptr, bPatchset int32, aOldRecord1 uintptr, aOldRecord2 uintptr, aNewRecord1 uintptr, aNewRecord2 uintptr) int32 { /* sqlite3.c:211066:12: */ +func sessionMergeUpdate(tls *libc.TLS, paOut uintptr, pTab uintptr, bPatchset int32, aOldRecord1 uintptr, aOldRecord2 uintptr, aNewRecord1 uintptr, aNewRecord2 uintptr) int32 { /* sqlite3.c:211123:12: */ bp := tls.Alloc(52) defer tls.Free(52) @@ -184482,7 +184513,7 @@ func sessionMergeUpdate(tls *libc.TLS, paOut uintptr, pTab uintptr, bPatchset in // as the change stored in argument pChange. If so, it returns true. Otherwise // if the pre-update-hook does not affect the same row as pChange, it returns // false. -func sessionPreupdateEqual(tls *libc.TLS, pSession uintptr, pTab uintptr, pChange uintptr, op int32) int32 { /* sqlite3.c:211143:12: */ +func sessionPreupdateEqual(tls *libc.TLS, pSession uintptr, pTab uintptr, pChange uintptr, op int32) int32 { /* sqlite3.c:211200:12: */ bp := tls.Alloc(28) defer tls.Free(28) @@ -184570,7 +184601,7 @@ func sessionPreupdateEqual(tls *libc.TLS, pSession uintptr, pTab uintptr, pChang // that case the hash-table does not grow, but SQLITE_OK is returned anyway. // Growing the hash table in this case is a performance optimization only, // it is not required for correct operation. -func sessionGrowHash(tls *libc.TLS, pSession uintptr, bPatchset int32, pTab uintptr) int32 { /* sqlite3.c:211222:12: */ +func sessionGrowHash(tls *libc.TLS, pSession uintptr, bPatchset int32, pTab uintptr) int32 { /* sqlite3.c:211279:12: */ if (*SessionTable)(unsafe.Pointer(pTab)).FnChange == 0 || (*SessionTable)(unsafe.Pointer(pTab)).FnEntry >= (*SessionTable)(unsafe.Pointer(pTab)).FnChange/2 { var i int32 var apNew uintptr @@ -184634,7 +184665,7 @@ func sessionGrowHash(tls *libc.TLS, pSession uintptr, bPatchset int32, pTab uint // // All returned buffers are part of the same single allocation, which must // be freed using sqlite3_free() by the caller -func sessionTableInfo(tls *libc.TLS, pSession uintptr, db uintptr, zDb uintptr, zThis uintptr, pnCol uintptr, pzTab uintptr, pazCol uintptr, pabPK uintptr) int32 { /* sqlite3.c:211288:12: */ +func sessionTableInfo(tls *libc.TLS, pSession uintptr, db uintptr, zDb uintptr, zThis uintptr, pnCol uintptr, pzTab uintptr, pazCol uintptr, pabPK uintptr) int32 { /* sqlite3.c:211345:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -184765,7 +184796,7 @@ func sessionTableInfo(tls *libc.TLS, pSession uintptr, db uintptr, zDb uintptr, // key, sqlite3_session.rc is left set to SQLITE_OK and non-zero returned to // indicate that updates on this table should be ignored. SessionTable.abPK // is set to NULL in this case. -func sessionInitTable(tls *libc.TLS, pSession uintptr, pTab uintptr) int32 { /* sqlite3.c:211421:12: */ +func sessionInitTable(tls *libc.TLS, pSession uintptr, pTab uintptr) int32 { /* sqlite3.c:211478:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -184801,15 +184832,15 @@ func sessionInitTable(tls *libc.TLS, pSession uintptr, pTab uintptr) int32 { /* type SessionStat1Ctx1 = struct { Fhook SessionHook FpSession uintptr -} /* sqlite3.c:211456:9 */ +} /* sqlite3.c:211513:9 */ // Versions of the four methods in object SessionHook for use with the // sqlite_stat1 table. The purpose of this is to substitute a zero-length // blob each time a NULL value is read from the "idx" column of the // sqlite_stat1 table. -type SessionStat1Ctx = SessionStat1Ctx1 /* sqlite3.c:211456:32 */ +type SessionStat1Ctx = SessionStat1Ctx1 /* sqlite3.c:211513:32 */ -func sessionStat1Old(tls *libc.TLS, pCtx uintptr, iCol int32, ppVal uintptr) int32 { /* sqlite3.c:211461:12: */ +func sessionStat1Old(tls *libc.TLS, pCtx uintptr, iCol int32, ppVal uintptr) int32 { /* sqlite3.c:211518:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -184825,7 +184856,7 @@ func sessionStat1Old(tls *libc.TLS, pCtx uintptr, iCol int32, ppVal uintptr) int return rc } -func sessionStat1New(tls *libc.TLS, pCtx uintptr, iCol int32, ppVal uintptr) int32 { /* sqlite3.c:211471:12: */ +func sessionStat1New(tls *libc.TLS, pCtx uintptr, iCol int32, ppVal uintptr) int32 { /* sqlite3.c:211528:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -184841,21 +184872,21 @@ func sessionStat1New(tls *libc.TLS, pCtx uintptr, iCol int32, ppVal uintptr) int return rc } -func sessionStat1Count(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:211481:12: */ +func sessionStat1Count(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:211538:12: */ var p uintptr = pCtx return (*struct { f func(*libc.TLS, uintptr) int32 })(unsafe.Pointer(&struct{ uintptr }{(*SessionStat1Ctx)(unsafe.Pointer(p)).Fhook.FxCount})).f(tls, (*SessionStat1Ctx)(unsafe.Pointer(p)).Fhook.FpCtx) } -func sessionStat1Depth(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:211485:12: */ +func sessionStat1Depth(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:211542:12: */ var p uintptr = pCtx return (*struct { f func(*libc.TLS, uintptr) int32 })(unsafe.Pointer(&struct{ uintptr }{(*SessionStat1Ctx)(unsafe.Pointer(p)).Fhook.FxDepth})).f(tls, (*SessionStat1Ctx)(unsafe.Pointer(p)).Fhook.FpCtx) } -func sessionUpdateMaxSize(tls *libc.TLS, op int32, pSession uintptr, pTab uintptr, pC uintptr) int32 { /* sqlite3.c:211490:12: */ +func sessionUpdateMaxSize(tls *libc.TLS, op int32, pSession uintptr, pTab uintptr, pC uintptr) int32 { /* sqlite3.c:211547:12: */ bp := tls.Alloc(44) defer tls.Free(44) @@ -184969,7 +185000,7 @@ func sessionUpdateMaxSize(tls *libc.TLS, op int32, pSession uintptr, pTab uintpt // // Unless one is already present or an error occurs, an entry is added // to the changed-rows hash table associated with table pTab. -func sessionPreupdateOneChange(tls *libc.TLS, op int32, pSession uintptr, pTab uintptr) { /* sqlite3.c:211596:13: */ +func sessionPreupdateOneChange(tls *libc.TLS, op int32, pSession uintptr, pTab uintptr) { /* sqlite3.c:211653:13: */ bp := tls.Alloc(80) defer tls.Free(80) @@ -185265,7 +185296,7 @@ __35: __36: } -func sessionFindTable(tls *libc.TLS, pSession uintptr, zName uintptr, ppTab uintptr) int32 { /* sqlite3.c:211745:12: */ +func sessionFindTable(tls *libc.TLS, pSession uintptr, zName uintptr, ppTab uintptr) int32 { /* sqlite3.c:211802:12: */ var rc int32 = SQLITE_OK var nName int32 = Xsqlite3Strlen30(tls, zName) var pRet uintptr @@ -185300,7 +185331,7 @@ func sessionFindTable(tls *libc.TLS, pSession uintptr, zName uintptr, ppTab uint } // The 'pre-update' hook registered by this module with SQLite databases. -func xPreUpdate(tls *libc.TLS, pCtx uintptr, db uintptr, op int32, zDb uintptr, zName uintptr, iKey1 Sqlite3_int64, iKey2 Sqlite3_int64) { /* sqlite3.c:211785:13: */ +func xPreUpdate(tls *libc.TLS, pCtx uintptr, db uintptr, op int32, zDb uintptr, zName uintptr, iKey1 Sqlite3_int64, iKey2 Sqlite3_int64) { /* sqlite3.c:211842:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -185335,25 +185366,25 @@ func xPreUpdate(tls *libc.TLS, pCtx uintptr, db uintptr, op int32, zDb uintptr, } // The pre-update hook implementations. -func sessionPreupdateOld(tls *libc.TLS, pCtx uintptr, iVal int32, ppVal uintptr) int32 { /* sqlite3.c:211823:12: */ +func sessionPreupdateOld(tls *libc.TLS, pCtx uintptr, iVal int32, ppVal uintptr) int32 { /* sqlite3.c:211880:12: */ return Xsqlite3_preupdate_old(tls, pCtx, iVal, ppVal) } -func sessionPreupdateNew(tls *libc.TLS, pCtx uintptr, iVal int32, ppVal uintptr) int32 { /* sqlite3.c:211826:12: */ +func sessionPreupdateNew(tls *libc.TLS, pCtx uintptr, iVal int32, ppVal uintptr) int32 { /* sqlite3.c:211883:12: */ return Xsqlite3_preupdate_new(tls, pCtx, iVal, ppVal) } -func sessionPreupdateCount(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:211829:12: */ +func sessionPreupdateCount(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:211886:12: */ return Xsqlite3_preupdate_count(tls, pCtx) } -func sessionPreupdateDepth(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:211832:12: */ +func sessionPreupdateDepth(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:211889:12: */ return Xsqlite3_preupdate_depth(tls, pCtx) } // Install the pre-update hooks on the session object passed as the only // argument. -func sessionPreupdateHooks(tls *libc.TLS, pSession uintptr) { /* sqlite3.c:211840:13: */ +func sessionPreupdateHooks(tls *libc.TLS, pSession uintptr) { /* sqlite3.c:211897:13: */ (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx = (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FxOld = *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) int32 @@ -185373,24 +185404,24 @@ type SessionDiffCtx1 = struct { FpStmt uintptr FnOldOff int32 F__ccgo_pad1 [4]byte -} /* sqlite3.c:211850:9 */ +} /* sqlite3.c:211907:9 */ -type SessionDiffCtx = SessionDiffCtx1 /* sqlite3.c:211850:31 */ +type SessionDiffCtx = SessionDiffCtx1 /* sqlite3.c:211907:31 */ // The diff hook implementations. -func sessionDiffOld(tls *libc.TLS, pCtx uintptr, iVal int32, ppVal uintptr) int32 { /* sqlite3.c:211859:12: */ +func sessionDiffOld(tls *libc.TLS, pCtx uintptr, iVal int32, ppVal uintptr) int32 { /* sqlite3.c:211916:12: */ var p uintptr = pCtx *(*uintptr)(unsafe.Pointer(ppVal)) = Xsqlite3_column_value(tls, (*SessionDiffCtx)(unsafe.Pointer(p)).FpStmt, iVal+(*SessionDiffCtx)(unsafe.Pointer(p)).FnOldOff) return SQLITE_OK } -func sessionDiffNew(tls *libc.TLS, pCtx uintptr, iVal int32, ppVal uintptr) int32 { /* sqlite3.c:211864:12: */ +func sessionDiffNew(tls *libc.TLS, pCtx uintptr, iVal int32, ppVal uintptr) int32 { /* sqlite3.c:211921:12: */ var p uintptr = pCtx *(*uintptr)(unsafe.Pointer(ppVal)) = Xsqlite3_column_value(tls, (*SessionDiffCtx)(unsafe.Pointer(p)).FpStmt, iVal) return SQLITE_OK } -func sessionDiffCount(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:211869:12: */ +func sessionDiffCount(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:211926:12: */ var p uintptr = pCtx if (*SessionDiffCtx)(unsafe.Pointer(p)).FnOldOff != 0 { return (*SessionDiffCtx)(unsafe.Pointer(p)).FnOldOff @@ -185398,13 +185429,13 @@ func sessionDiffCount(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:211869:1 return Xsqlite3_column_count(tls, (*SessionDiffCtx)(unsafe.Pointer(p)).FpStmt) } -func sessionDiffDepth(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:211873:12: */ +func sessionDiffDepth(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:211930:12: */ return 0 } // Install the diff hooks on the session object passed as the only // argument. -func sessionDiffHooks(tls *libc.TLS, pSession uintptr, pDiffCtx uintptr) { /* sqlite3.c:211881:13: */ +func sessionDiffHooks(tls *libc.TLS, pSession uintptr, pDiffCtx uintptr) { /* sqlite3.c:211938:13: */ (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx = pDiffCtx (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FxOld = *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) int32 @@ -185420,7 +185451,7 @@ func sessionDiffHooks(tls *libc.TLS, pSession uintptr, pDiffCtx uintptr) { /* sq }{sessionDiffDepth})) } -func sessionExprComparePK(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uintptr, zTab uintptr, azCol uintptr, abPK uintptr) uintptr { /* sqlite3.c:211892:13: */ +func sessionExprComparePK(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uintptr, zTab uintptr, azCol uintptr, abPK uintptr) uintptr { /* sqlite3.c:211949:13: */ bp := tls.Alloc(64) defer tls.Free(64) @@ -185442,7 +185473,7 @@ func sessionExprComparePK(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uintptr, return zRet } -func sessionExprCompareOther(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uintptr, zTab uintptr, azCol uintptr, abPK uintptr) uintptr { /* sqlite3.c:211915:13: */ +func sessionExprCompareOther(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uintptr, zTab uintptr, azCol uintptr, abPK uintptr) uintptr { /* sqlite3.c:211972:13: */ bp := tls.Alloc(64) defer tls.Free(64) @@ -185472,7 +185503,7 @@ func sessionExprCompareOther(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uintp return zRet } -func sessionSelectFindNew(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uintptr, zTbl uintptr, zExpr uintptr) uintptr { /* sqlite3.c:211946:13: */ +func sessionSelectFindNew(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uintptr, zTbl uintptr, zExpr uintptr) uintptr { /* sqlite3.c:212003:13: */ bp := tls.Alloc(40) defer tls.Free(40) @@ -185483,7 +185514,7 @@ func sessionSelectFindNew(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uintptr, return zRet } -func sessionDiffFindNew(tls *libc.TLS, op int32, pSession uintptr, pTab uintptr, zDb1 uintptr, zDb2 uintptr, zExpr uintptr) int32 { /* sqlite3.c:211962:12: */ +func sessionDiffFindNew(tls *libc.TLS, op int32, pSession uintptr, pTab uintptr, zDb1 uintptr, zDb2 uintptr, zExpr uintptr) int32 { /* sqlite3.c:212019:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -185511,7 +185542,7 @@ func sessionDiffFindNew(tls *libc.TLS, op int32, pSession uintptr, pTab uintptr, return rc } -func sessionDiffFindModified(tls *libc.TLS, pSession uintptr, pTab uintptr, zFrom uintptr, zExpr uintptr) int32 { /* sqlite3.c:211993:12: */ +func sessionDiffFindModified(tls *libc.TLS, pSession uintptr, pTab uintptr, zFrom uintptr, zExpr uintptr) int32 { /* sqlite3.c:212050:12: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -185548,7 +185579,7 @@ func sessionDiffFindModified(tls *libc.TLS, pSession uintptr, pTab uintptr, zFro return rc } -func Xsqlite3session_diff(tls *libc.TLS, pSession uintptr, zFrom uintptr, zTbl uintptr, pzErrMsg uintptr) int32 { /* sqlite3.c:212033:16: */ +func Xsqlite3session_diff(tls *libc.TLS, pSession uintptr, zFrom uintptr, zTbl uintptr, pzErrMsg uintptr) int32 { /* sqlite3.c:212090:16: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -185721,7 +185752,7 @@ diff_out: // Create a session object. This session object will record changes to // database zDb attached to connection db. -func Xsqlite3session_create(tls *libc.TLS, db uintptr, zDb uintptr, ppSession uintptr) int32 { /* sqlite3.c:212128:16: */ +func Xsqlite3session_create(tls *libc.TLS, db uintptr, zDb uintptr, ppSession uintptr) int32 { /* sqlite3.c:212185:16: */ var pNew uintptr // Newly allocated session object var pOld uintptr // Session object already attached to db var nDb int32 = Xsqlite3Strlen30(tls, zDb) // Length of zDb in bytes @@ -185757,7 +185788,7 @@ func Xsqlite3session_create(tls *libc.TLS, db uintptr, zDb uintptr, ppSession ui // Free the list of table objects passed as the first argument. The contents // of the changed-rows hash tables are also deleted. -func sessionDeleteTable(tls *libc.TLS, pSession uintptr, pList uintptr) { /* sqlite3.c:212166:13: */ +func sessionDeleteTable(tls *libc.TLS, pSession uintptr, pList uintptr) { /* sqlite3.c:212223:13: */ var pNext uintptr var pTab uintptr @@ -185779,7 +185810,7 @@ func sessionDeleteTable(tls *libc.TLS, pSession uintptr, pList uintptr) { /* sql } // Delete a session object previously allocated using sqlite3session_create(). -func Xsqlite3session_delete(tls *libc.TLS, pSession uintptr) { /* sqlite3.c:212190:17: */ +func Xsqlite3session_delete(tls *libc.TLS, pSession uintptr) { /* sqlite3.c:212247:17: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -185817,7 +185848,7 @@ func Xsqlite3session_delete(tls *libc.TLS, pSession uintptr) { /* sqlite3.c:2121 } // Set a table filter on a Session Object. -func Xsqlite3session_table_filter(tls *libc.TLS, pSession uintptr, xFilter uintptr, pCtx uintptr) { /* sqlite3.c:212222:17: */ +func Xsqlite3session_table_filter(tls *libc.TLS, pSession uintptr, xFilter uintptr, pCtx uintptr) { /* sqlite3.c:212279:17: */ (*Sqlite3_session)(unsafe.Pointer(pSession)).FbAutoAttach = 1 (*Sqlite3_session)(unsafe.Pointer(pSession)).FpFilterCtx = pCtx (*Sqlite3_session)(unsafe.Pointer(pSession)).FxTableFilter = xFilter @@ -185829,7 +185860,7 @@ func Xsqlite3session_table_filter(tls *libc.TLS, pSession uintptr, xFilter uintp // Only tables that have a PRIMARY KEY defined may be attached. It does // not matter if the PRIMARY KEY is an "INTEGER PRIMARY KEY" (rowid alias) // or not. -func Xsqlite3session_attach(tls *libc.TLS, pSession uintptr, zName uintptr) int32 { /* sqlite3.c:212240:16: */ +func Xsqlite3session_attach(tls *libc.TLS, pSession uintptr, zName uintptr) int32 { /* sqlite3.c:212297:16: */ var rc int32 = SQLITE_OK Xsqlite3_mutex_enter(tls, Xsqlite3_db_mutex(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb)) @@ -185880,7 +185911,7 @@ func Xsqlite3session_attach(tls *libc.TLS, pSession uintptr, zName uintptr) int3 // // If successful, return zero. Otherwise, if an OOM condition is encountered, // set *pRc to SQLITE_NOMEM and return non-zero. -func sessionBufferGrow(tls *libc.TLS, p uintptr, nByte I64, pRc uintptr) int32 { /* sqlite3.c:212293:12: */ +func sessionBufferGrow(tls *libc.TLS, p uintptr, nByte I64, pRc uintptr) int32 { /* sqlite3.c:212350:12: */ var nReq I64 = I64((*SessionBuffer)(unsafe.Pointer(p)).FnBuf) + nByte if *(*int32)(unsafe.Pointer(pRc)) == SQLITE_OK && nReq > I64((*SessionBuffer)(unsafe.Pointer(p)).FnAlloc) { var aNew uintptr @@ -185925,7 +185956,7 @@ func sessionBufferGrow(tls *libc.TLS, p uintptr, nByte I64, pRc uintptr) int32 { // This function is a no-op if *pRc is non-zero when it is called. // Otherwise, if an error occurs, *pRc is set to an SQLite error code // before returning. -func sessionAppendValue(tls *libc.TLS, p uintptr, pVal uintptr, pRc uintptr) { /* sqlite3.c:212336:13: */ +func sessionAppendValue(tls *libc.TLS, p uintptr, pVal uintptr, pRc uintptr) { /* sqlite3.c:212393:13: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -185948,7 +185979,7 @@ func sessionAppendValue(tls *libc.TLS, p uintptr, pVal uintptr, pRc uintptr) { / // // If an OOM condition is encountered, set *pRc to SQLITE_NOMEM before // returning. -func sessionAppendByte(tls *libc.TLS, p uintptr, v U8, pRc uintptr) { /* sqlite3.c:212358:13: */ +func sessionAppendByte(tls *libc.TLS, p uintptr, v U8, pRc uintptr) { /* sqlite3.c:212415:13: */ if 0 == sessionBufferGrow(tls, p, int64(1), pRc) { *(*U8)(unsafe.Pointer((*SessionBuffer)(unsafe.Pointer(p)).FaBuf + uintptr(libc.PostIncInt32(&(*SessionBuffer)(unsafe.Pointer(p)).FnBuf, 1)))) = v } @@ -185959,7 +185990,7 @@ func sessionAppendByte(tls *libc.TLS, p uintptr, v U8, pRc uintptr) { /* sqlite3 // // If an OOM condition is encountered, set *pRc to SQLITE_NOMEM before // returning. -func sessionAppendVarint(tls *libc.TLS, p uintptr, v int32, pRc uintptr) { /* sqlite3.c:212371:13: */ +func sessionAppendVarint(tls *libc.TLS, p uintptr, v int32, pRc uintptr) { /* sqlite3.c:212428:13: */ if 0 == sessionBufferGrow(tls, p, int64(9), pRc) { *(*int32)(unsafe.Pointer(p + 8)) += sessionVarintPut(tls, (*SessionBuffer)(unsafe.Pointer(p)).FaBuf+uintptr((*SessionBuffer)(unsafe.Pointer(p)).FnBuf), v) } @@ -185970,7 +186001,7 @@ func sessionAppendVarint(tls *libc.TLS, p uintptr, v int32, pRc uintptr) { /* sq // // If an OOM condition is encountered, set *pRc to SQLITE_NOMEM before // returning. -func sessionAppendBlob(tls *libc.TLS, p uintptr, aBlob uintptr, nBlob int32, pRc uintptr) { /* sqlite3.c:212384:13: */ +func sessionAppendBlob(tls *libc.TLS, p uintptr, aBlob uintptr, nBlob int32, pRc uintptr) { /* sqlite3.c:212441:13: */ if nBlob > 0 && 0 == sessionBufferGrow(tls, p, int64(nBlob), pRc) { libc.X__builtin___memcpy_chk(tls, (*SessionBuffer)(unsafe.Pointer(p)).FaBuf+uintptr((*SessionBuffer)(unsafe.Pointer(p)).FnBuf), aBlob, uint64(nBlob), libc.X__builtin_object_size(tls, (*SessionBuffer)(unsafe.Pointer(p)).FaBuf+uintptr((*SessionBuffer)(unsafe.Pointer(p)).FnBuf), 0)) *(*int32)(unsafe.Pointer(p + 8)) += nBlob @@ -185983,7 +186014,7 @@ func sessionAppendBlob(tls *libc.TLS, p uintptr, aBlob uintptr, nBlob int32, pRc // // If an OOM condition is encountered, set *pRc to SQLITE_NOMEM before // returning. -func sessionAppendStr(tls *libc.TLS, p uintptr, zStr uintptr, pRc uintptr) { /* sqlite3.c:212404:13: */ +func sessionAppendStr(tls *libc.TLS, p uintptr, zStr uintptr, pRc uintptr) { /* sqlite3.c:212461:13: */ var nStr int32 = Xsqlite3Strlen30(tls, zStr) if 0 == sessionBufferGrow(tls, p, int64(nStr), pRc) { libc.X__builtin___memcpy_chk(tls, (*SessionBuffer)(unsafe.Pointer(p)).FaBuf+uintptr((*SessionBuffer)(unsafe.Pointer(p)).FnBuf), zStr, uint64(nStr), libc.X__builtin_object_size(tls, (*SessionBuffer)(unsafe.Pointer(p)).FaBuf+uintptr((*SessionBuffer)(unsafe.Pointer(p)).FnBuf), 0)) @@ -185997,7 +186028,7 @@ func sessionAppendStr(tls *libc.TLS, p uintptr, zStr uintptr, pRc uintptr) { /* // // If an OOM condition is encountered, set *pRc to SQLITE_NOMEM before // returning. -func sessionAppendInteger(tls *libc.TLS, p uintptr, iVal int32, pRc uintptr) { /* sqlite3.c:212424:13: */ +func sessionAppendInteger(tls *libc.TLS, p uintptr, iVal int32, pRc uintptr) { /* sqlite3.c:212481:13: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -186014,7 +186045,7 @@ func sessionAppendInteger(tls *libc.TLS, p uintptr, iVal int32, pRc uintptr) { / // // If an OOM condition is encountered, set *pRc to SQLITE_NOMEM before // returning. -func sessionAppendIdent(tls *libc.TLS, p uintptr, zStr uintptr, pRc uintptr) { /* sqlite3.c:212443:13: */ +func sessionAppendIdent(tls *libc.TLS, p uintptr, zStr uintptr, pRc uintptr) { /* sqlite3.c:212500:13: */ var nStr int32 = Xsqlite3Strlen30(tls, zStr)*2 + 2 + 1 if 0 == sessionBufferGrow(tls, p, int64(nStr), pRc) { var zOut uintptr = (*SessionBuffer)(unsafe.Pointer(p)).FaBuf + uintptr((*SessionBuffer)(unsafe.Pointer(p)).FnBuf) @@ -186035,7 +186066,7 @@ func sessionAppendIdent(tls *libc.TLS, p uintptr, zStr uintptr, pRc uintptr) { / // called. Otherwse, it appends the serialized version of the value stored // in column iCol of the row that SQL statement pStmt currently points // to to the buffer. -func sessionAppendCol(tls *libc.TLS, p uintptr, pStmt uintptr, iCol int32, pRc uintptr) { /* sqlite3.c:212468:13: */ +func sessionAppendCol(tls *libc.TLS, p uintptr, pStmt uintptr, iCol int32, pRc uintptr) { /* sqlite3.c:212525:13: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -186095,7 +186126,7 @@ func sessionAppendCol(tls *libc.TLS, p uintptr, pStmt uintptr, iCol int32, pRc u // Otherwise, the old.* record contains all primary key values and the // original values of any fields that have been modified. The new.* record // contains the new values of only those fields that have been modified. -func sessionAppendUpdate(tls *libc.TLS, pBuf uintptr, bPatchset int32, pStmt uintptr, p uintptr, abPK uintptr) int32 { /* sqlite3.c:212530:12: */ +func sessionAppendUpdate(tls *libc.TLS, pBuf uintptr, bPatchset int32, pStmt uintptr, p uintptr, abPK uintptr) int32 { /* sqlite3.c:212587:12: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -186201,7 +186232,7 @@ func sessionAppendUpdate(tls *libc.TLS, pBuf uintptr, bPatchset int32, pStmt uin // Append a DELETE change to the buffer passed as the first argument. Use // the changeset format if argument bPatchset is zero, or the patchset // format otherwise. -func sessionAppendDelete(tls *libc.TLS, pBuf uintptr, bPatchset int32, p uintptr, nCol int32, abPK uintptr) int32 { /* sqlite3.c:212630:12: */ +func sessionAppendDelete(tls *libc.TLS, pBuf uintptr, bPatchset int32, p uintptr, nCol int32, abPK uintptr) int32 { /* sqlite3.c:212687:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -186258,7 +186289,7 @@ func sessionAppendDelete(tls *libc.TLS, pBuf uintptr, bPatchset int32, p uintptr // zTab in database zDb based on its primary key. i.e. // // SELECT * FROM zDb.zTab WHERE pk1 = ? AND pk2 = ? AND ... -func sessionSelectStmt(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, nCol int32, azCol uintptr, abPK uintptr, ppStmt uintptr) int32 { /* sqlite3.c:212685:12: */ +func sessionSelectStmt(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, nCol int32, azCol uintptr, abPK uintptr, ppStmt uintptr) int32 { /* sqlite3.c:212742:12: */ bp := tls.Alloc(28) defer tls.Free(28) @@ -186309,7 +186340,7 @@ func sessionSelectStmt(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, nCo // // Return SQLITE_OK if all PK values are successfully bound, or an SQLite // error code (e.g. SQLITE_NOMEM) otherwise. -func sessionSelectBind(tls *libc.TLS, pSelect uintptr, nCol int32, abPK uintptr, pChange uintptr) int32 { /* sqlite3.c:212742:12: */ +func sessionSelectBind(tls *libc.TLS, pSelect uintptr, nCol int32, abPK uintptr, pChange uintptr) int32 { /* sqlite3.c:212799:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -186387,7 +186418,7 @@ func sessionSelectBind(tls *libc.TLS, pSelect uintptr, nCol int32, abPK uintptr, // is called. Otherwise, append a serialized table header (part of the binary // changeset format) to buffer *pBuf. If an error occurs, set *pRc to an // SQLite error code before returning. -func sessionAppendTableHdr(tls *libc.TLS, pBuf uintptr, bPatchset int32, pTab uintptr, pRc uintptr) { /* sqlite3.c:212813:13: */ +func sessionAppendTableHdr(tls *libc.TLS, pBuf uintptr, bPatchset int32, pTab uintptr, pRc uintptr) { /* sqlite3.c:212870:13: */ // Write a table header sessionAppendByte(tls, pBuf, func() uint8 { if bPatchset != 0 { @@ -186408,7 +186439,7 @@ func sessionAppendTableHdr(tls *libc.TLS, pBuf uintptr, bPatchset int32, pTab ui // stored in output variables *pnChangeset and *ppChangeset. Or, if an error // 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) int32 { /* sqlite3.c:212836:12: */ +func sessionGenerateChangeset(tls *libc.TLS, pSession uintptr, bPatchset int32, xOutput uintptr, pOut uintptr, pnChangeset uintptr, ppChangeset uintptr) int32 { /* sqlite3.c:212893:12: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -186538,7 +186569,7 @@ func sessionGenerateChangeset(tls *libc.TLS, pSession uintptr, bPatchset int32, // // It is the responsibility of the caller to eventually free the buffer // using sqlite3_free(). -func Xsqlite3session_changeset(tls *libc.TLS, pSession uintptr, pnChangeset uintptr, ppChangeset uintptr) int32 { /* sqlite3.c:212965:16: */ +func Xsqlite3session_changeset(tls *libc.TLS, pSession uintptr, pnChangeset uintptr, ppChangeset uintptr) int32 { /* sqlite3.c:213022:16: */ var rc int32 if pnChangeset == uintptr(0) || ppChangeset == uintptr(0) { @@ -186550,7 +186581,7 @@ func Xsqlite3session_changeset(tls *libc.TLS, pSession uintptr, pnChangeset uint } // Streaming version of sqlite3session_changeset(). -func Xsqlite3session_changeset_strm(tls *libc.TLS, pSession uintptr, xOutput uintptr, pOut uintptr) int32 { /* sqlite3.c:212983:16: */ +func Xsqlite3session_changeset_strm(tls *libc.TLS, pSession uintptr, xOutput uintptr, pOut uintptr) int32 { /* sqlite3.c:213040:16: */ if xOutput == uintptr(0) { return SQLITE_MISUSE } @@ -186558,7 +186589,7 @@ func Xsqlite3session_changeset_strm(tls *libc.TLS, pSession uintptr, xOutput uin } // Streaming version of sqlite3session_patchset(). -func Xsqlite3session_patchset_strm(tls *libc.TLS, pSession uintptr, xOutput uintptr, pOut uintptr) int32 { /* sqlite3.c:212995:16: */ +func Xsqlite3session_patchset_strm(tls *libc.TLS, pSession uintptr, xOutput uintptr, pOut uintptr) int32 { /* sqlite3.c:213052:16: */ if xOutput == uintptr(0) { return SQLITE_MISUSE } @@ -186570,7 +186601,7 @@ func Xsqlite3session_patchset_strm(tls *libc.TLS, pSession uintptr, xOutput uint // // It is the responsibility of the caller to eventually free the buffer // using sqlite3_free(). -func Xsqlite3session_patchset(tls *libc.TLS, pSession uintptr, pnPatchset uintptr, ppPatchset uintptr) int32 { /* sqlite3.c:213011:16: */ +func Xsqlite3session_patchset(tls *libc.TLS, pSession uintptr, pnPatchset uintptr, ppPatchset uintptr) int32 { /* sqlite3.c:213068:16: */ if pnPatchset == uintptr(0) || ppPatchset == uintptr(0) { return SQLITE_MISUSE } @@ -186578,7 +186609,7 @@ func Xsqlite3session_patchset(tls *libc.TLS, pSession uintptr, pnPatchset uintpt } // Enable or disable the session object passed as the first argument. -func Xsqlite3session_enable(tls *libc.TLS, pSession uintptr, bEnable int32) int32 { /* sqlite3.c:213023:16: */ +func Xsqlite3session_enable(tls *libc.TLS, pSession uintptr, bEnable int32) int32 { /* sqlite3.c:213080:16: */ var ret int32 Xsqlite3_mutex_enter(tls, Xsqlite3_db_mutex(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb)) if bEnable >= 0 { @@ -186590,7 +186621,7 @@ func Xsqlite3session_enable(tls *libc.TLS, pSession uintptr, bEnable int32) int3 } // Enable or disable the session object passed as the first argument. -func Xsqlite3session_indirect(tls *libc.TLS, pSession uintptr, bIndirect int32) int32 { /* sqlite3.c:213037:16: */ +func Xsqlite3session_indirect(tls *libc.TLS, pSession uintptr, bIndirect int32) int32 { /* sqlite3.c:213094:16: */ var ret int32 Xsqlite3_mutex_enter(tls, Xsqlite3_db_mutex(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb)) if bIndirect >= 0 { @@ -186603,7 +186634,7 @@ func Xsqlite3session_indirect(tls *libc.TLS, pSession uintptr, bIndirect int32) // Return true if there have been no changes to monitored tables recorded // by the session object passed as the only argument. -func Xsqlite3session_isempty(tls *libc.TLS, pSession uintptr) int32 { /* sqlite3.c:213052:16: */ +func Xsqlite3session_isempty(tls *libc.TLS, pSession uintptr) int32 { /* sqlite3.c:213109:16: */ var ret int32 = 0 var pTab uintptr @@ -186617,12 +186648,12 @@ func Xsqlite3session_isempty(tls *libc.TLS, pSession uintptr) int32 { /* sqlite3 } // Return the amount of heap memory in use. -func Xsqlite3session_memory_used(tls *libc.TLS, pSession uintptr) Sqlite3_int64 { /* sqlite3.c:213068:26: */ +func Xsqlite3session_memory_used(tls *libc.TLS, pSession uintptr) Sqlite3_int64 { /* sqlite3.c:213125:26: */ return (*Sqlite3_session)(unsafe.Pointer(pSession)).FnMalloc } // Configure the session object passed as the first argument. -func Xsqlite3session_object_config(tls *libc.TLS, pSession uintptr, op int32, pArg uintptr) int32 { /* sqlite3.c:213075:16: */ +func Xsqlite3session_object_config(tls *libc.TLS, pSession uintptr, op int32, pArg uintptr) int32 { /* sqlite3.c:213132:16: */ var rc int32 = SQLITE_OK switch op { case SQLITE_SESSION_OBJCONFIG_SIZE: @@ -186648,12 +186679,12 @@ func Xsqlite3session_object_config(tls *libc.TLS, pSession uintptr, op int32, pA } // Return the maximum size of sqlite3session_changeset() output. -func Xsqlite3session_changeset_size(tls *libc.TLS, pSession uintptr) Sqlite3_int64 { /* sqlite3.c:213101:26: */ +func Xsqlite3session_changeset_size(tls *libc.TLS, pSession uintptr) Sqlite3_int64 { /* sqlite3.c:213158:26: */ return (*Sqlite3_session)(unsafe.Pointer(pSession)).FnMaxChangesetSize } // 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) int32 { /* sqlite3.c:213108:12: */ +func sessionChangesetStart(tls *libc.TLS, pp uintptr, xInput uintptr, pIn uintptr, nChangeset int32, pChangeset uintptr, bInvert int32, bSkipEmpty int32) int32 { /* sqlite3.c:213165:12: */ var pRet uintptr // Iterator to return var nByte int32 // Number of bytes to allocate for iterator @@ -186686,28 +186717,28 @@ func sessionChangesetStart(tls *libc.TLS, pp uintptr, xInput uintptr, pIn uintpt } // Create an iterator used to iterate through the contents of a changeset. -func Xsqlite3changeset_start(tls *libc.TLS, pp uintptr, nChangeset int32, pChangeset uintptr) int32 { /* sqlite3.c:213146:16: */ +func Xsqlite3changeset_start(tls *libc.TLS, pp uintptr, nChangeset int32, pChangeset uintptr) int32 { /* sqlite3.c:213203:16: */ return sessionChangesetStart(tls, pp, uintptr(0), uintptr(0), nChangeset, pChangeset, 0, 0) } -func Xsqlite3changeset_start_v2(tls *libc.TLS, pp uintptr, nChangeset int32, pChangeset uintptr, flags int32) int32 { /* sqlite3.c:213153:16: */ +func Xsqlite3changeset_start_v2(tls *libc.TLS, pp uintptr, nChangeset int32, pChangeset uintptr, flags int32) int32 { /* sqlite3.c:213210:16: */ var bInvert int32 = libc.BoolInt32(!!(flags&SQLITE_CHANGESETSTART_INVERT != 0)) return sessionChangesetStart(tls, pp, uintptr(0), uintptr(0), nChangeset, pChangeset, bInvert, 0) } // Streaming version of sqlite3changeset_start(). -func Xsqlite3changeset_start_strm(tls *libc.TLS, pp uintptr, xInput uintptr, pIn uintptr) int32 { /* sqlite3.c:213166:16: */ +func Xsqlite3changeset_start_strm(tls *libc.TLS, pp uintptr, xInput uintptr, pIn uintptr) int32 { /* sqlite3.c:213223:16: */ return sessionChangesetStart(tls, pp, xInput, pIn, 0, uintptr(0), 0, 0) } -func Xsqlite3changeset_start_v2_strm(tls *libc.TLS, pp uintptr, xInput uintptr, pIn uintptr, flags int32) int32 { /* sqlite3.c:213173:16: */ +func Xsqlite3changeset_start_v2_strm(tls *libc.TLS, pp uintptr, xInput uintptr, pIn uintptr, flags int32) int32 { /* sqlite3.c:213230:16: */ var bInvert int32 = libc.BoolInt32(!!(flags&SQLITE_CHANGESETSTART_INVERT != 0)) return sessionChangesetStart(tls, pp, xInput, pIn, 0, uintptr(0), bInvert, 0) } // If the SessionInput object passed as the only argument is a streaming // object and the buffer is full, discard some data to free up space. -func sessionDiscardData(tls *libc.TLS, pIn uintptr) { /* sqlite3.c:213187:13: */ +func sessionDiscardData(tls *libc.TLS, pIn uintptr) { /* sqlite3.c:213244:13: */ if (*SessionInput)(unsafe.Pointer(pIn)).FxInput != 0 && (*SessionInput)(unsafe.Pointer(pIn)).FiNext >= sessions_strm_chunk_size { var nMove int32 = (*SessionInput)(unsafe.Pointer(pIn)).Fbuf.FnBuf - (*SessionInput)(unsafe.Pointer(pIn)).FiNext @@ -186725,7 +186756,7 @@ func sessionDiscardData(tls *libc.TLS, pIn uintptr) { /* sqlite3.c:213187:13: */ // data is in the buffer. // // Return an SQLite error code if an error occurs, or SQLITE_OK otherwise. -func sessionInputBuffer(tls *libc.TLS, pIn uintptr, nByte int32) int32 { /* sqlite3.c:213207:12: */ +func sessionInputBuffer(tls *libc.TLS, pIn uintptr, nByte int32) int32 { /* sqlite3.c:213264:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -186758,7 +186789,7 @@ func sessionInputBuffer(tls *libc.TLS, pIn uintptr, nByte int32) int32 { /* sqli // When this function is called, *ppRec points to the start of a record // that contains nCol values. This function advances the pointer *ppRec // until it points to the byte immediately following that record. -func sessionSkipRecord(tls *libc.TLS, ppRec uintptr, nCol int32) { /* sqlite3.c:213235:13: */ +func sessionSkipRecord(tls *libc.TLS, ppRec uintptr, nCol int32) { /* sqlite3.c:213292:13: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -186783,7 +186814,7 @@ func sessionSkipRecord(tls *libc.TLS, ppRec uintptr, nCol int32) { /* sqlite3.c: // first argument to a copy of the string or blob held in the aData[] // buffer. SQLITE_OK is returned if successful, or SQLITE_NOMEM if an OOM // error occurs. -func sessionValueSetStr(tls *libc.TLS, pVal uintptr, aData uintptr, nData int32, enc U8) int32 { /* sqlite3.c:213261:12: */ +func sessionValueSetStr(tls *libc.TLS, pVal uintptr, aData uintptr, nData int32, enc U8) int32 { /* sqlite3.c:213318:12: */ // In theory this code could just pass SQLITE_TRANSIENT as the final // argument to sqlite3ValueSetStr() and have the copy created // automatically. But doing so makes it difficult to detect any OOM @@ -186819,7 +186850,7 @@ func sessionValueSetStr(tls *libc.TLS, pVal uintptr, aData uintptr, nData int32, // // If an error occurs, an SQLite error code (e.g. SQLITE_NOMEM) is returned. // The apOut[] array may have been partially populated in this case. -func sessionReadRecord(tls *libc.TLS, pIn uintptr, nCol int32, abPK uintptr, apOut uintptr, pbEmpty uintptr) int32 { /* sqlite3.c:213302:12: */ +func sessionReadRecord(tls *libc.TLS, pIn uintptr, nCol int32, abPK uintptr, apOut uintptr, pbEmpty uintptr) int32 { /* sqlite3.c:213359:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -186837,7 +186868,7 @@ func sessionReadRecord(tls *libc.TLS, pIn uintptr, nCol int32, abPK uintptr, apO rc = sessionInputBuffer(tls, pIn, 9) if rc == SQLITE_OK { if (*SessionInput)(unsafe.Pointer(pIn)).FiNext >= (*SessionInput)(unsafe.Pointer(pIn)).FnData { - rc = Xsqlite3CorruptError(tls, 213320) + rc = Xsqlite3CorruptError(tls, 213377) } else { eType = int32(*(*U8)(unsafe.Pointer((*SessionInput)(unsafe.Pointer(pIn)).FaData + uintptr(libc.PostIncInt32(&(*SessionInput)(unsafe.Pointer(pIn)).FiNext, 1))))) @@ -186862,7 +186893,7 @@ func sessionReadRecord(tls *libc.TLS, pIn uintptr, nCol int32, abPK uintptr, apO rc = sessionInputBuffer(tls, pIn, *(*int32)(unsafe.Pointer(bp /* nByte */))) if rc == SQLITE_OK { if *(*int32)(unsafe.Pointer(bp)) < 0 || *(*int32)(unsafe.Pointer(bp)) > (*SessionInput)(unsafe.Pointer(pIn)).FnData-(*SessionInput)(unsafe.Pointer(pIn)).FiNext { - rc = Xsqlite3CorruptError(tls, 213340) + rc = Xsqlite3CorruptError(tls, 213397) } else { var enc U8 = func() uint8 { if eType == SQLITE_TEXT { @@ -186904,7 +186935,7 @@ func sessionReadRecord(tls *libc.TLS, pIn uintptr, nCol int32, abPK uintptr, apO // buffer (i.e. that it can be accessed without any calls to xInput()). // If successful, SQLITE_OK is returned. Otherwise, an SQLite error code. // The input pointer is not moved. -func sessionChangesetBufferTblhdr(tls *libc.TLS, pIn uintptr, pnByte uintptr) int32 { /* sqlite3.c:213378:12: */ +func sessionChangesetBufferTblhdr(tls *libc.TLS, pIn uintptr, pnByte uintptr) int32 { /* sqlite3.c:213435:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -186923,7 +186954,7 @@ func sessionChangesetBufferTblhdr(tls *libc.TLS, pIn uintptr, pnByte uintptr) in // 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)) > 65536 { - rc = Xsqlite3CorruptError(tls, 213394) + rc = Xsqlite3CorruptError(tls, 213451) } else { rc = sessionInputBuffer(tls, pIn, nRead+*(*int32)(unsafe.Pointer(bp))+100) nRead = nRead + *(*int32)(unsafe.Pointer(bp)) @@ -186950,7 +186981,7 @@ func sessionChangesetBufferTblhdr(tls *libc.TLS, pIn uintptr, pnByte uintptr) in // If successful, SQLITE_OK is returned and *pnByte is set to the size of // the record in bytes. Otherwise, an SQLite error code is returned. The // final value of *pnByte is undefined in this case. -func sessionChangesetBufferRecord(tls *libc.TLS, pIn uintptr, nCol int32, pnByte uintptr) int32 { /* sqlite3.c:213421:12: */ +func sessionChangesetBufferRecord(tls *libc.TLS, pIn uintptr, nCol int32, pnByte uintptr) int32 { /* sqlite3.c:213478:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -186992,7 +187023,7 @@ func sessionChangesetBufferRecord(tls *libc.TLS, pIn uintptr, nCol int32, pnByte // If successful, SQLITE_OK is returned. Otherwise, an SQLite error code // is returned and the final values of the various fields enumerated above // are undefined. -func sessionChangesetReadTblhdr(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:213465:12: */ +func sessionChangesetReadTblhdr(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:213522:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -187012,7 +187043,7 @@ func sessionChangesetReadTblhdr(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:2 (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Ftblhdr.FnBuf = 0 sessionBufferGrow(tls, p+72, int64(nByte), bp+4) } else { - *(*int32)(unsafe.Pointer(bp + 4 /* rc */)) = Xsqlite3CorruptError(tls, 213482) + *(*int32)(unsafe.Pointer(bp + 4 /* rc */)) = Xsqlite3CorruptError(tls, 213539) } } @@ -187047,7 +187078,7 @@ func sessionChangesetReadTblhdr(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:2 // // * If the iterator is configured to skip no-op UPDATEs, // sessionChangesetNext() does that. This function does not. -func sessionChangesetNextOne(tls *libc.TLS, p uintptr, paRec uintptr, pnRec uintptr, pbNew uintptr, pbEmpty uintptr) int32 { /* sqlite3.c:213514:12: */ +func sessionChangesetNextOne(tls *libc.TLS, p uintptr, paRec uintptr, pnRec uintptr, pbNew uintptr, pbEmpty uintptr) int32 { /* sqlite3.c:213571:12: */ var i int32 var op U8 @@ -187104,13 +187135,13 @@ func sessionChangesetNextOne(tls *libc.TLS, p uintptr, paRec uintptr, pnRec uint // The first record in the changeset is not a table header. Must be a // corrupt changeset. - return libc.AssignPtrInt32(p+100, Xsqlite3CorruptError(tls, 213568)) + return libc.AssignPtrInt32(p+100, Xsqlite3CorruptError(tls, 213625)) } (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fop = int32(op) (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FbIndirect = int32(*(*U8)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FaData + uintptr(libc.PostIncInt32(&(*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FiNext, 1))))) if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fop != SQLITE_UPDATE && (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fop != SQLITE_DELETE && (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fop != SQLITE_INSERT { - return libc.AssignPtrInt32(p+100, Xsqlite3CorruptError(tls, 213574)) + return libc.AssignPtrInt32(p+100, Xsqlite3CorruptError(tls, 213631)) } if paRec != 0 { @@ -187180,7 +187211,7 @@ func sessionChangesetNextOne(tls *libc.TLS, p uintptr, paRec uintptr, pnRec uint *(*uintptr)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue + uintptr(i)*8)) = *(*uintptr)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue + uintptr(i+(*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol)*8)) if *(*uintptr)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue + uintptr(i)*8)) == uintptr(0) { - return libc.AssignPtrInt32(p+100, Xsqlite3CorruptError(tls, 213618)) + return libc.AssignPtrInt32(p+100, Xsqlite3CorruptError(tls, 213675)) } *(*uintptr)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue + uintptr(i+(*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol)*8)) = uintptr(0) } @@ -187211,7 +187242,7 @@ func sessionChangesetNextOne(tls *libc.TLS, p uintptr, paRec uintptr, pnRec uint // successfully advanced to the next change in the changeset, an SQLite // error code if an error occurs, or SQLITE_DONE if there are no further // changes in the changeset. -func sessionChangesetNext(tls *libc.TLS, p uintptr, paRec uintptr, pnRec uintptr, pbNew uintptr) int32 { /* sqlite3.c:213647:12: */ +func sessionChangesetNext(tls *libc.TLS, p uintptr, paRec uintptr, pnRec uintptr, pbNew uintptr) int32 { /* sqlite3.c:213704:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -187231,14 +187262,14 @@ func sessionChangesetNext(tls *libc.TLS, p uintptr, paRec uintptr, pnRec uintptr // // This function may not be called on iterators passed to a conflict handler // callback by changeset_apply(). -func Xsqlite3changeset_next(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:213670:16: */ +func Xsqlite3changeset_next(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:213727:16: */ return sessionChangesetNext(tls, p, uintptr(0), uintptr(0), uintptr(0)) } // The following function extracts information on the current change // from a changeset iterator. It may only be called after changeset_next() // has returned SQLITE_ROW. -func Xsqlite3changeset_op(tls *libc.TLS, pIter uintptr, pzTab uintptr, pnCol uintptr, pOp uintptr, pbIndirect uintptr) int32 { /* sqlite3.c:213679:16: */ +func Xsqlite3changeset_op(tls *libc.TLS, pIter uintptr, pzTab uintptr, pnCol uintptr, pOp uintptr, pbIndirect uintptr) int32 { /* sqlite3.c:213736:16: */ *(*int32)(unsafe.Pointer(pOp)) = (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fop *(*int32)(unsafe.Pointer(pnCol)) = (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol *(*uintptr)(unsafe.Pointer(pzTab)) = (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FzTab @@ -187252,7 +187283,7 @@ func Xsqlite3changeset_op(tls *libc.TLS, pIter uintptr, pzTab uintptr, pnCol uin // the database table affected by the change that pIter currently points // to. This function may only be called after changeset_next() returns // SQLITE_ROW. -func Xsqlite3changeset_pk(tls *libc.TLS, pIter uintptr, pabPK uintptr, pnCol uintptr) int32 { /* sqlite3.c:213699:16: */ +func Xsqlite3changeset_pk(tls *libc.TLS, pIter uintptr, pabPK uintptr, pnCol uintptr) int32 { /* sqlite3.c:213756:16: */ *(*uintptr)(unsafe.Pointer(pabPK)) = (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FabPK if pnCol != 0 { *(*int32)(unsafe.Pointer(pnCol)) = (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol @@ -187271,7 +187302,7 @@ func Xsqlite3changeset_pk(tls *libc.TLS, pIter uintptr, pabPK uintptr, pnCol uin // // If value iVal is out-of-range, SQLITE_RANGE is returned and *ppValue is // not modified. Otherwise, SQLITE_OK. -func Xsqlite3changeset_old(tls *libc.TLS, pIter uintptr, iVal int32, ppValue uintptr) int32 { /* sqlite3.c:213722:16: */ +func Xsqlite3changeset_old(tls *libc.TLS, pIter uintptr, iVal int32, ppValue uintptr) int32 { /* sqlite3.c:213779:16: */ if (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fop != SQLITE_UPDATE && (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fop != SQLITE_DELETE { return SQLITE_MISUSE } @@ -187293,7 +187324,7 @@ func Xsqlite3changeset_old(tls *libc.TLS, pIter uintptr, iVal int32, ppValue uin // // If value iVal is out-of-range, SQLITE_RANGE is returned and *ppValue is // not modified. Otherwise, SQLITE_OK. -func Xsqlite3changeset_new(tls *libc.TLS, pIter uintptr, iVal int32, ppValue uintptr) int32 { /* sqlite3.c:213750:16: */ +func Xsqlite3changeset_new(tls *libc.TLS, pIter uintptr, iVal int32, ppValue uintptr) int32 { /* sqlite3.c:213807:16: */ if (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fop != SQLITE_UPDATE && (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fop != SQLITE_INSERT { return SQLITE_MISUSE } @@ -187317,7 +187348,7 @@ func Xsqlite3changeset_new(tls *libc.TLS, pIter uintptr, iVal int32, ppValue uin // // If value iVal is out-of-range or some other error occurs, an SQLite error // code is returned. Otherwise, SQLITE_OK. -func Xsqlite3changeset_conflict(tls *libc.TLS, pIter uintptr, iVal int32, ppValue uintptr) int32 { /* sqlite3.c:213784:16: */ +func Xsqlite3changeset_conflict(tls *libc.TLS, pIter uintptr, iVal int32, ppValue uintptr) int32 { /* sqlite3.c:213841:16: */ if !(int32((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FpConflict) != 0) { return SQLITE_MISUSE } @@ -187334,7 +187365,7 @@ func Xsqlite3changeset_conflict(tls *libc.TLS, pIter uintptr, iVal int32, ppValu // violations in the destination database and returns SQLITE_OK. // // In all other cases this function returns SQLITE_MISUSE. -func Xsqlite3changeset_fk_conflicts(tls *libc.TLS, pIter uintptr, pnOut uintptr) int32 { /* sqlite3.c:213807:16: */ +func Xsqlite3changeset_fk_conflicts(tls *libc.TLS, pIter uintptr, pnOut uintptr) int32 { /* sqlite3.c:213864:16: */ if (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FpConflict != 0 || (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FapValue != 0 { return SQLITE_MISUSE } @@ -187346,7 +187377,7 @@ func Xsqlite3changeset_fk_conflicts(tls *libc.TLS, pIter uintptr, pnOut uintptr) // // This function may not be called on iterators passed to a conflict handler // callback by changeset_apply(). -func Xsqlite3changeset_finalize(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:213825:16: */ +func Xsqlite3changeset_finalize(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:213882:16: */ var rc int32 = SQLITE_OK if p != 0 { var i int32 // Used to iterate through p->apValue[] @@ -187363,7 +187394,7 @@ func Xsqlite3changeset_finalize(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:2 return rc } -func sessionChangesetInvert(tls *libc.TLS, pInput uintptr, xOutput uintptr, pOut uintptr, pnInverted uintptr, ppInverted uintptr) int32 { /* sqlite3.c:213840:12: */ +func sessionChangesetInvert(tls *libc.TLS, pInput uintptr, xOutput uintptr, pOut uintptr, pnInverted uintptr, ppInverted uintptr) int32 { /* sqlite3.c:213897:12: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -187599,7 +187630,7 @@ __27: goto __6 __11: - *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = Xsqlite3CorruptError(tls, 213967) + *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = Xsqlite3CorruptError(tls, 214024) goto finished_invert __6: ; @@ -187650,7 +187681,7 @@ finished_invert: } // Invert a changeset object. -func Xsqlite3changeset_invert(tls *libc.TLS, nChangeset int32, pChangeset uintptr, pnInverted uintptr, ppInverted uintptr) int32 { /* sqlite3.c:213999:16: */ +func Xsqlite3changeset_invert(tls *libc.TLS, nChangeset int32, pChangeset uintptr, pnInverted uintptr, ppInverted uintptr) int32 { /* sqlite3.c:214056:16: */ bp := tls.Alloc(72) defer tls.Free(72) @@ -187665,7 +187696,7 @@ func Xsqlite3changeset_invert(tls *libc.TLS, nChangeset int32, pChangeset uintpt } // Streaming version of sqlite3changeset_invert(). -func Xsqlite3changeset_invert_strm(tls *libc.TLS, xInput uintptr, pIn uintptr, xOutput uintptr, pOut uintptr) int32 { /* sqlite3.c:214018:16: */ +func Xsqlite3changeset_invert_strm(tls *libc.TLS, xInput uintptr, pIn uintptr, xOutput uintptr, pOut uintptr) int32 { /* sqlite3.c:214075:16: */ bp := tls.Alloc(72) defer tls.Free(72) @@ -187687,9 +187718,9 @@ type SessionUpdate1 = struct { FpStmt uintptr FaMask uintptr FpNext uintptr -} /* sqlite3.c:214038:9 */ +} /* sqlite3.c:214095:9 */ -type SessionUpdate = SessionUpdate1 /* sqlite3.c:214038:30 */ +type SessionUpdate = SessionUpdate1 /* sqlite3.c:214095:30 */ type SessionApplyCtx1 = struct { Fdb uintptr @@ -187711,9 +187742,9 @@ type SessionApplyCtx1 = struct { FbRebaseStarted U8 FbRebase U8 F__ccgo_pad3 [6]byte -} /* sqlite3.c:214045:9 */ +} /* sqlite3.c:214102:9 */ -type SessionApplyCtx = SessionApplyCtx1 /* sqlite3.c:214045:32 */ +type SessionApplyCtx = SessionApplyCtx1 /* sqlite3.c:214102:32 */ // Number of prepared UPDATE statements to cache. @@ -187721,7 +187752,7 @@ type SessionApplyCtx = SessionApplyCtx1 /* sqlite3.c:214045:32 */ // being visited by the iterator. The UPDATE is of the form: // // UPDATE tbl SET col = ?, col2 = ? WHERE pk1 IS ? AND pk2 IS ? -func sessionUpdateFind(tls *libc.TLS, pIter uintptr, p uintptr, bPatchset int32, ppStmt uintptr) int32 { /* sqlite3.c:214074:12: */ +func sessionUpdateFind(tls *libc.TLS, pIter uintptr, p uintptr, bPatchset int32, ppStmt uintptr) int32 { /* sqlite3.c:214131:12: */ bp := tls.Alloc(20) defer tls.Free(20) @@ -187855,7 +187886,7 @@ func sessionUpdateFind(tls *libc.TLS, pIter uintptr, p uintptr, bPatchset int32, } // Free all cached UPDATE statements. -func sessionUpdateFree(tls *libc.TLS, p uintptr) { /* sqlite3.c:214213:13: */ +func sessionUpdateFree(tls *libc.TLS, p uintptr) { /* sqlite3.c:214270:13: */ var pUp uintptr var pNext uintptr for pUp = (*SessionApplyCtx)(unsafe.Pointer(p)).FpUp; pUp != 0; pUp = pNext { @@ -187883,7 +187914,7 @@ func sessionUpdateFree(tls *libc.TLS, p uintptr) { /* sqlite3.c:214213:13: */ // // If successful, SQLITE_OK is returned and SessionApplyCtx.pDelete is left // pointing to the prepared version of the SQL statement. -func sessionDeleteRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) int32 { /* sqlite3.c:214243:12: */ +func sessionDeleteRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) int32 { /* sqlite3.c:214300:12: */ bp := tls.Alloc(20) defer tls.Free(20) @@ -187945,7 +187976,7 @@ func sessionDeleteRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) int32 // // If successful, SQLITE_OK is returned and SessionApplyCtx.pSelect is left // pointing to the prepared version of the SQL statement. -func sessionSelectRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) int32 { /* sqlite3.c:214308:12: */ +func sessionSelectRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) int32 { /* sqlite3.c:214365:12: */ return sessionSelectStmt(tls, db, ts+6735, zTab, (*SessionApplyCtx)(unsafe.Pointer(p)).FnCol, (*SessionApplyCtx)(unsafe.Pointer(p)).FazCol, (*SessionApplyCtx)(unsafe.Pointer(p)).FabPK, p+24) } @@ -187957,7 +187988,7 @@ func sessionSelectRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) int32 // // If successful, SQLITE_OK is returned and SessionApplyCtx.pInsert is left // pointing to the prepared version of the SQL statement. -func sessionInsertRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) int32 { /* sqlite3.c:214326:12: */ +func sessionInsertRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) int32 { /* sqlite3.c:214383:12: */ bp := tls.Alloc(20) defer tls.Free(20) @@ -187988,7 +188019,7 @@ func sessionInsertRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) int32 return *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) } -func sessionPrepare(tls *libc.TLS, db uintptr, pp uintptr, zSql uintptr) int32 { /* sqlite3.c:214356:12: */ +func sessionPrepare(tls *libc.TLS, db uintptr, pp uintptr, zSql uintptr) int32 { /* sqlite3.c:214413:12: */ return Xsqlite3_prepare_v2(tls, db, zSql, -1, pp, uintptr(0)) } @@ -187996,7 +188027,7 @@ func sessionPrepare(tls *libc.TLS, db uintptr, pp uintptr, zSql uintptr) int32 { // These are similar to those created by sessionSelectRow(), // sessionInsertRow(), sessionUpdateRow() and sessionDeleteRow() for // other tables. -func sessionStat1Sql(tls *libc.TLS, db uintptr, p uintptr) int32 { /* sqlite3.c:214366:12: */ +func sessionStat1Sql(tls *libc.TLS, db uintptr, p uintptr) int32 { /* sqlite3.c:214423:12: */ var rc int32 = sessionSelectRow(tls, db, ts+11636, p) if rc == SQLITE_OK { rc = sessionPrepare(tls, db, p+16, @@ -188013,7 +188044,7 @@ func sessionStat1Sql(tls *libc.TLS, db uintptr, p uintptr) int32 { /* sqlite3.c: // A wrapper around sqlite3_bind_value() that detects an extra problem. // See comments in the body of this function for details. -func sessionBindValue(tls *libc.TLS, pStmt uintptr, i int32, pVal uintptr) int32 { /* sqlite3.c:214389:12: */ +func sessionBindValue(tls *libc.TLS, pStmt uintptr, i int32, pVal uintptr) int32 { /* sqlite3.c:214446:12: */ var eType int32 = Xsqlite3_value_type(tls, pVal) // COVERAGE: The (pVal->z==0) branch is never true using current versions // of SQLite. If a malloc fails in an sqlite3_value_xxx() function, either @@ -188040,7 +188071,7 @@ func sessionBindValue(tls *libc.TLS, pStmt uintptr, i int32, pVal uintptr) int32 // statement. // // 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) int32 { /* sqlite3.c:214422:12: */ +func sessionBindRow(tls *libc.TLS, pIter uintptr, xValue uintptr, nCol int32, abPK uintptr, pStmt uintptr) int32 { /* sqlite3.c:214479:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -188061,7 +188092,7 @@ func sessionBindRow(tls *libc.TLS, pIter uintptr, xValue uintptr, nCol int32, ab if *(*uintptr)(unsafe.Pointer(bp)) == uintptr(0) { // The value in the changeset was "undefined". This indicates a // corrupt changeset blob. - rc = Xsqlite3CorruptError(tls, 214445) + rc = Xsqlite3CorruptError(tls, 214502) } else { rc = sessionBindValue(tls, pStmt, i+1, *(*uintptr)(unsafe.Pointer(bp /* pVal */))) } @@ -188085,7 +188116,7 @@ func sessionBindRow(tls *libc.TLS, pIter uintptr, xValue uintptr, nCol int32, ab // If the iterator currently points to an INSERT record, bind values from the // new.* record to the SELECT statement. Or, if it points to a DELETE or // UPDATE, bind values from the old.* record. -func sessionSeekToRow(tls *libc.TLS, db uintptr, pIter uintptr, abPK uintptr, pSelect uintptr) int32 { /* sqlite3.c:214471:12: */ +func sessionSeekToRow(tls *libc.TLS, db uintptr, pIter uintptr, abPK uintptr, pSelect uintptr) int32 { /* sqlite3.c:214528:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -188129,7 +188160,7 @@ func sessionSeekToRow(tls *libc.TLS, db uintptr, pIter uintptr, abPK uintptr, pS // of apply_v2() as the "rebase" buffer. // // Return SQLITE_OK if successful, or an SQLite error code otherwise. -func sessionRebaseAdd(tls *libc.TLS, p uintptr, eType int32, pIter uintptr) int32 { /* sqlite3.c:214506:12: */ +func sessionRebaseAdd(tls *libc.TLS, p uintptr, eType int32, pIter uintptr) int32 { /* sqlite3.c:214563:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -188201,7 +188232,7 @@ func sessionRebaseAdd(tls *libc.TLS, p uintptr, eType int32, pIter uintptr) int3 // returned. Or, if the conflict handler returns an invalid value, // 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) int32 { /* sqlite3.c:214580:12: */ +func sessionConflictHandler(tls *libc.TLS, eType int32, p uintptr, pIter uintptr, xConflict uintptr, pCtx uintptr, pbReplace uintptr) int32 { /* sqlite3.c:214637:12: */ bp := tls.Alloc(20) defer tls.Free(20) @@ -188301,7 +188332,7 @@ func sessionConflictHandler(tls *libc.TLS, eType int32, p uintptr, pIter uintptr // If any conflict handler returns SQLITE_CHANGESET_ABORT, this function // 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) int32 { /* sqlite3.c:214678:12: */ +func sessionApplyOneOp(tls *libc.TLS, pIter uintptr, p uintptr, xConflict uintptr, pCtx uintptr, pbReplace uintptr, pbRetry uintptr) int32 { /* sqlite3.c:214735:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -188436,7 +188467,7 @@ func sessionApplyOneOp(tls *libc.TLS, pIter uintptr, p uintptr, xConflict uintpt // function handles the case where the conflict-handler is invoked and // 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) int32 { /* sqlite3.c:214811:12: */ +func sessionApplyOneWithRetry(tls *libc.TLS, db uintptr, pIter uintptr, pApply uintptr, xConflict uintptr, pCtx uintptr) int32 { /* sqlite3.c:214868:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -188483,7 +188514,7 @@ func sessionApplyOneWithRetry(tls *libc.TLS, db uintptr, pIter uintptr, pApply u } // 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) int32 { /* sqlite3.c:214868:12: */ +func sessionRetryConstraints(tls *libc.TLS, db uintptr, bPatchset int32, zTab uintptr, pApply uintptr, xConflict uintptr, pCtx uintptr) int32 { /* sqlite3.c:214925:12: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -188537,7 +188568,7 @@ func sessionRetryConstraints(tls *libc.TLS, db uintptr, bPatchset int32, zTab ui // changeset to the main database attached to handle "db". The supplied // 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) int32 { /* sqlite3.c:214924:12: */ +func sessionChangesetApply(tls *libc.TLS, db uintptr, pIter uintptr, xFilter uintptr, xConflict uintptr, pCtx uintptr, ppRebase uintptr, pnRebase uintptr, flags int32) int32 { /* sqlite3.c:214981:12: */ bp := tls.Alloc(368) defer tls.Free(368) @@ -188728,7 +188759,7 @@ func sessionChangesetApply(tls *libc.TLS, db uintptr, pIter uintptr, xFilter uin // 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) int32 { /* sqlite3.c:215122:16: */ +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) int32 { /* sqlite3.c:215179:16: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -188746,7 +188777,7 @@ func Xsqlite3changeset_apply_v2(tls *libc.TLS, db uintptr, nChangeset int32, pCh // Apply the changeset passed via pChangeset/nChangeset to the main database // 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) int32 { /* sqlite3.c:215155:16: */ +func Xsqlite3changeset_apply(tls *libc.TLS, db uintptr, nChangeset int32, pChangeset uintptr, xFilter uintptr, xConflict uintptr, pCtx uintptr) int32 { /* sqlite3.c:215212:16: */ return Xsqlite3changeset_apply_v2(tls, db, nChangeset, pChangeset, xFilter, xConflict, pCtx, uintptr(0), uintptr(0), 0) } @@ -188754,7 +188785,7 @@ func Xsqlite3changeset_apply(tls *libc.TLS, db uintptr, nChangeset int32, pChang // Apply the changeset passed via xInput/pIn to the main database // 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) int32 { /* sqlite3.c:215180:16: */ +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) int32 { /* sqlite3.c:215237:16: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -188769,7 +188800,7 @@ func Xsqlite3changeset_apply_v2_strm(tls *libc.TLS, db uintptr, xInput uintptr, return rc } -func Xsqlite3changeset_apply_strm(tls *libc.TLS, db uintptr, xInput uintptr, pIn uintptr, xFilter uintptr, xConflict uintptr, pCtx uintptr) int32 { /* sqlite3.c:215207:16: */ +func Xsqlite3changeset_apply_strm(tls *libc.TLS, db uintptr, xInput uintptr, pIn uintptr, xFilter uintptr, xConflict uintptr, pCtx uintptr) int32 { /* sqlite3.c:215264:16: */ return Xsqlite3changeset_apply_v2_strm(tls, db, xInput, pIn, xFilter, xConflict, pCtx, uintptr(0), uintptr(0), 0) } @@ -188777,7 +188808,7 @@ func Xsqlite3changeset_apply_strm(tls *libc.TLS, db uintptr, xInput uintptr, pIn // This function is called to merge two changes to the same row together as // part of an sqlite3changeset_concat() operation. A new change object is // allocated and a pointer to it stored in *ppNew. -func sessionChangeMerge(tls *libc.TLS, pTab uintptr, bRebase int32, bPatchset int32, pExist uintptr, op2 int32, bIndirect int32, aRec uintptr, nRec int32, ppNew uintptr) int32 { /* sqlite3.c:215241:12: */ +func sessionChangeMerge(tls *libc.TLS, pTab uintptr, bRebase int32, bPatchset int32, pExist uintptr, op2 int32, bIndirect int32, aRec uintptr, nRec int32, ppNew uintptr) int32 { /* sqlite3.c:215298:12: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -188949,7 +188980,7 @@ func sessionChangeMerge(tls *libc.TLS, pTab uintptr, bRebase int32, bPatchset in // Add all changes in the changeset traversed by the iterator passed as // the first argument to the changegroup hash tables. -func sessionChangesetToHash(tls *libc.TLS, pIter uintptr, pGrp uintptr, bRebase int32) int32 { /* sqlite3.c:215423:12: */ +func sessionChangesetToHash(tls *libc.TLS, pIter uintptr, pGrp uintptr, bRebase int32) int32 { /* sqlite3.c:215480:12: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -189080,7 +189111,7 @@ func sessionChangesetToHash(tls *libc.TLS, pIter uintptr, pGrp uintptr, bRebase // If successful, SQLITE_OK is returned. Or, if an error occurs, an SQLite // 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) int32 { /* sqlite3.c:215546:12: */ +func sessionChangegroupOutput(tls *libc.TLS, pGrp uintptr, xOutput uintptr, pOut uintptr, pnOut uintptr, ppOut uintptr) int32 { /* sqlite3.c:215603:12: */ bp := tls.Alloc(20) defer tls.Free(20) @@ -189134,7 +189165,7 @@ func sessionChangegroupOutput(tls *libc.TLS, pGrp uintptr, xOutput uintptr, pOut } // Allocate a new, empty, sqlite3_changegroup. -func Xsqlite3changegroup_new(tls *libc.TLS, pp uintptr) int32 { /* sqlite3.c:215597:16: */ +func Xsqlite3changegroup_new(tls *libc.TLS, pp uintptr) int32 { /* sqlite3.c:215654:16: */ var rc int32 = SQLITE_OK // Return code var p uintptr // New object p = Xsqlite3_malloc(tls, int32(unsafe.Sizeof(Sqlite3_changegroup{}))) @@ -189149,7 +189180,7 @@ func Xsqlite3changegroup_new(tls *libc.TLS, pp uintptr) int32 { /* sqlite3.c:215 // Add the changeset currently stored in buffer pData, size nData bytes, // to changeset-group p. -func Xsqlite3changegroup_add(tls *libc.TLS, pGrp uintptr, nData int32, pData uintptr) int32 { /* sqlite3.c:215614:16: */ +func Xsqlite3changegroup_add(tls *libc.TLS, pGrp uintptr, nData int32, pData uintptr) int32 { /* sqlite3.c:215671:16: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -189167,12 +189198,12 @@ func Xsqlite3changegroup_add(tls *libc.TLS, pGrp uintptr, nData int32, pData uin // Obtain a buffer containing a changeset representing the concatenation // of all changesets added to the group so far. -func Xsqlite3changegroup_output(tls *libc.TLS, pGrp uintptr, pnData uintptr, ppData uintptr) int32 { /* sqlite3.c:215630:16: */ +func Xsqlite3changegroup_output(tls *libc.TLS, pGrp uintptr, pnData uintptr, ppData uintptr) int32 { /* sqlite3.c:215687:16: */ return sessionChangegroupOutput(tls, pGrp, uintptr(0), uintptr(0), pnData, ppData) } // Streaming versions of changegroup_add(). -func Xsqlite3changegroup_add_strm(tls *libc.TLS, pGrp uintptr, xInput uintptr, pIn uintptr) int32 { /* sqlite3.c:215641:16: */ +func Xsqlite3changegroup_add_strm(tls *libc.TLS, pGrp uintptr, xInput uintptr, pIn uintptr) int32 { /* sqlite3.c:215698:16: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -189189,12 +189220,12 @@ func Xsqlite3changegroup_add_strm(tls *libc.TLS, pGrp uintptr, xInput uintptr, p } // Streaming versions of changegroup_output(). -func Xsqlite3changegroup_output_strm(tls *libc.TLS, pGrp uintptr, xOutput uintptr, pOut uintptr) int32 { /* sqlite3.c:215660:16: */ +func Xsqlite3changegroup_output_strm(tls *libc.TLS, pGrp uintptr, xOutput uintptr, pOut uintptr) int32 { /* sqlite3.c:215717:16: */ return sessionChangegroupOutput(tls, pGrp, xOutput, pOut, uintptr(0), uintptr(0)) } // Delete a changegroup object. -func Xsqlite3changegroup_delete(tls *libc.TLS, pGrp uintptr) { /* sqlite3.c:215671:17: */ +func Xsqlite3changegroup_delete(tls *libc.TLS, pGrp uintptr) { /* sqlite3.c:215728:17: */ if pGrp != 0 { sessionDeleteTable(tls, uintptr(0), (*Sqlite3_changegroup)(unsafe.Pointer(pGrp)).FpList) Xsqlite3_free(tls, pGrp) @@ -189202,7 +189233,7 @@ func Xsqlite3changegroup_delete(tls *libc.TLS, pGrp uintptr) { /* sqlite3.c:2156 } // Combine two changesets together. -func Xsqlite3changeset_concat(tls *libc.TLS, nLeft int32, pLeft uintptr, nRight int32, pRight uintptr, pnOut uintptr, ppOut uintptr) int32 { /* sqlite3.c:215681:16: */ +func Xsqlite3changeset_concat(tls *libc.TLS, nLeft int32, pLeft uintptr, nRight int32, pRight uintptr, pnOut uintptr, ppOut uintptr) int32 { /* sqlite3.c:215738:16: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -189226,7 +189257,7 @@ func Xsqlite3changeset_concat(tls *libc.TLS, nLeft int32, pLeft uintptr, nRight } // Streaming version of sqlite3changeset_concat(). -func Xsqlite3changeset_concat_strm(tls *libc.TLS, xInputA uintptr, pInA uintptr, xInputB uintptr, pInB uintptr, xOutput uintptr, pOut uintptr) int32 { /* sqlite3.c:215710:16: */ +func Xsqlite3changeset_concat_strm(tls *libc.TLS, xInputA uintptr, pInA uintptr, xInputB uintptr, pInB uintptr, xOutput uintptr, pOut uintptr) int32 { /* sqlite3.c:215767:16: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -189253,7 +189284,7 @@ func Xsqlite3changeset_concat_strm(tls *libc.TLS, xInputA uintptr, pInA uintptr, // fields in size. This function appends an nCol sessions module // record to buffer pBuf that is a copy of a1, except that for // each field that is undefined in a1[], swap in the field from a2[]. -func sessionAppendRecordMerge(tls *libc.TLS, pBuf uintptr, nCol int32, a1 uintptr, n1 int32, a2 uintptr, n2 int32, pRc uintptr) { /* sqlite3.c:215749:13: */ +func sessionAppendRecordMerge(tls *libc.TLS, pBuf uintptr, nCol int32, a1 uintptr, n1 int32, a2 uintptr, n2 int32, pRc uintptr) { /* sqlite3.c:215806:13: */ sessionBufferGrow(tls, pBuf, int64(n1+n2), pRc) if *(*int32)(unsafe.Pointer(pRc)) == SQLITE_OK { var i int32 @@ -189294,7 +189325,7 @@ func sessionAppendRecordMerge(tls *libc.TLS, pBuf uintptr, nCol int32, a1 uintpt // corresponding field in the rebase buffer is not "undefined" (0x00) // or "replaced" (0xFF), the old.* value is replaced by the value // in the rebase buffer. -func sessionAppendPartialUpdate(tls *libc.TLS, pBuf uintptr, pIter uintptr, aRec uintptr, nRec int32, aChange uintptr, nChange int32, pRc uintptr) { /* sqlite3.c:215798:13: */ +func sessionAppendPartialUpdate(tls *libc.TLS, pBuf uintptr, pIter uintptr, aRec uintptr, nRec int32, aChange uintptr, nChange int32, pRc uintptr) { /* sqlite3.c:215855:13: */ sessionBufferGrow(tls, pBuf, int64(2+nRec+nChange), pRc) if *(*int32)(unsafe.Pointer(pRc)) == SQLITE_OK { var bData int32 = 0 @@ -189356,7 +189387,7 @@ func sessionAppendPartialUpdate(tls *libc.TLS, pBuf uintptr, pIter uintptr, aRec // If an error occurs, an SQLite error code is returned. If ppOut and // 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) int32 { /* sqlite3.c:215866:12: */ +func sessionRebase(tls *libc.TLS, p uintptr, pIter uintptr, xOutput uintptr, pOut uintptr, pnOut uintptr, ppOut uintptr) int32 { /* sqlite3.c:215923:12: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -189494,7 +189525,7 @@ func sessionRebase(tls *libc.TLS, p uintptr, pIter uintptr, xOutput uintptr, pOu } // Create a new rebaser object. -func Xsqlite3rebaser_create(tls *libc.TLS, ppNew uintptr) int32 { /* sqlite3.c:215998:16: */ +func Xsqlite3rebaser_create(tls *libc.TLS, ppNew uintptr) int32 { /* sqlite3.c:216055:16: */ var rc int32 = SQLITE_OK var pNew uintptr @@ -189509,7 +189540,7 @@ func Xsqlite3rebaser_create(tls *libc.TLS, ppNew uintptr) int32 { /* sqlite3.c:2 } // Call this one or more times to configure a rebaser. -func Xsqlite3rebaser_configure(tls *libc.TLS, p uintptr, nRebase int32, pRebase uintptr) int32 { /* sqlite3.c:216015:16: */ +func Xsqlite3rebaser_configure(tls *libc.TLS, p uintptr, nRebase int32, pRebase uintptr) int32 { /* sqlite3.c:216072:16: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -189524,7 +189555,7 @@ func Xsqlite3rebaser_configure(tls *libc.TLS, p uintptr, nRebase int32, pRebase } // Rebase a changeset according to current rebaser configuration -func Xsqlite3rebaser_rebase(tls *libc.TLS, p uintptr, nIn int32, pIn uintptr, pnOut uintptr, ppOut uintptr) int32 { /* sqlite3.c:216032:16: */ +func Xsqlite3rebaser_rebase(tls *libc.TLS, p uintptr, nIn int32, pIn uintptr, pnOut uintptr, ppOut uintptr) int32 { /* sqlite3.c:216089:16: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -189540,7 +189571,7 @@ func Xsqlite3rebaser_rebase(tls *libc.TLS, p uintptr, nIn int32, pIn uintptr, pn } // 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) int32 { /* sqlite3.c:216051:16: */ +func Xsqlite3rebaser_rebase_strm(tls *libc.TLS, p uintptr, xInput uintptr, pIn uintptr, xOutput uintptr, pOut uintptr) int32 { /* sqlite3.c:216108:16: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -189556,7 +189587,7 @@ func Xsqlite3rebaser_rebase_strm(tls *libc.TLS, p uintptr, xInput uintptr, pIn u } // Destroy a rebaser object -func Xsqlite3rebaser_delete(tls *libc.TLS, p uintptr) { /* sqlite3.c:216072:17: */ +func Xsqlite3rebaser_delete(tls *libc.TLS, p uintptr) { /* sqlite3.c:216129:17: */ if p != 0 { sessionDeleteTable(tls, uintptr(0), (*Sqlite3_rebaser)(unsafe.Pointer(p)).Fgrp.FpList) Xsqlite3_free(tls, p) @@ -189564,7 +189595,7 @@ func Xsqlite3rebaser_delete(tls *libc.TLS, p uintptr) { /* sqlite3.c:216072:17: } // Global configuration -func Xsqlite3session_config(tls *libc.TLS, op int32, pArg uintptr) int32 { /* sqlite3.c:216082:16: */ +func Xsqlite3session_config(tls *libc.TLS, op int32, pArg uintptr) int32 { /* sqlite3.c:216139:16: */ var rc int32 = SQLITE_OK switch op { case SQLITE_SESSION_CONFIG_STRMSIZE: @@ -189652,7 +189683,7 @@ type Fts5Global1 = struct { FpTok uintptr FpDfltTok uintptr FpCsr uintptr -} /* sqlite3.c:216813:9 */ +} /* sqlite3.c:216870:9 */ //************* End of sqlite3session.c ************************************* //************* Begin file fts5.c ******************************************* @@ -189714,13 +189745,13 @@ type Fts5Global1 = struct { // Mark a function parameter as unused, to suppress nuisance compiler // warnings. -type Fts5Global = Fts5Global1 /* sqlite3.c:216813:27 */ +type Fts5Global = Fts5Global1 /* sqlite3.c:216870:27 */ type Fts5Colset1 = struct { FnCol int32 FaiCol [1]int32 -} /* sqlite3.c:216813:9 */ +} /* sqlite3.c:216870:9 */ -type Fts5Colset = Fts5Colset1 /* sqlite3.c:216814:27 */ +type Fts5Colset = Fts5Colset1 /* sqlite3.c:216871:27 */ // ************************************************************************* // @@ -189758,14 +189789,14 @@ type Fts5Config1 = struct { FzRank uintptr FzRankArgs uintptr FpzErrmsg uintptr -} /* sqlite3.c:216813:9 */ +} /* sqlite3.c:216870:9 */ // ************************************************************************* // // Interface to code in fts5_config.c. fts5_config.c contains contains code // to parse the arguments passed to the CREATE VIRTUAL TABLE statement. -type Fts5Config = Fts5Config1 /* sqlite3.c:216834:27 */ +type Fts5Config = Fts5Config1 /* sqlite3.c:216891:27 */ // // End of interface to code in fts5_config.c. @@ -189780,7 +189811,7 @@ type Fts5Buffer1 = struct { Fp uintptr Fn int32 FnSpace int32 -} /* sqlite3.c:216813:9 */ +} /* sqlite3.c:216870:9 */ // // End of interface to code in fts5_config.c. @@ -189791,7 +189822,7 @@ type Fts5Buffer1 = struct { // Interface to code in fts5_buffer.c. // Buffer object for the incremental building of string data. -type Fts5Buffer = Fts5Buffer1 /* sqlite3.c:216960:27 */ +type Fts5Buffer = Fts5Buffer1 /* sqlite3.c:217017:27 */ type Fts5PoslistReader1 = struct { Fa uintptr @@ -189801,19 +189832,19 @@ type Fts5PoslistReader1 = struct { FbEof U8 F__ccgo_pad1 [6]byte FiPos I64 -} /* sqlite3.c:216813:9 */ +} /* sqlite3.c:216870:9 */ -type Fts5PoslistReader = Fts5PoslistReader1 /* sqlite3.c:216996:34 */ +type Fts5PoslistReader = Fts5PoslistReader1 /* sqlite3.c:217053:34 */ -type Fts5PoslistWriter1 = struct{ FiPrev I64 } /* sqlite3.c:217015:9 */ +type Fts5PoslistWriter1 = struct{ FiPrev I64 } /* sqlite3.c:217072:9 */ -type Fts5PoslistWriter = Fts5PoslistWriter1 /* sqlite3.c:217015:34 */ +type Fts5PoslistWriter = Fts5PoslistWriter1 /* sqlite3.c:217072:34 */ // Bucket of terms object used by the integrity-check in offsets=0 mode. -type Fts5Termset1 = struct{ FapHash [512]uintptr } /* sqlite3.c:217037:9 */ +type Fts5Termset1 = struct{ FapHash [512]uintptr } /* sqlite3.c:217094:9 */ // Bucket of terms object used by the integrity-check in offsets=0 mode. -type Fts5Termset = Fts5Termset1 /* sqlite3.c:217037:28 */ +type Fts5Termset = Fts5Termset1 /* sqlite3.c:217094:28 */ // // End of interface to code in fts5_buffer.c. @@ -189846,7 +189877,7 @@ type Fts5Index1 = struct { FpDataVersion uintptr FiStructVersion I64 FpStruct uintptr -} /* sqlite3.c:216813:9 */ +} /* sqlite3.c:216870:9 */ // // End of interface to code in fts5_buffer.c. @@ -189857,16 +189888,16 @@ type Fts5Index1 = struct { // Interface to code in fts5_index.c. fts5_index.c contains contains code // to access the data stored in the %_data table. -type Fts5Index = Fts5Index1 /* sqlite3.c:217051:26 */ +type Fts5Index = Fts5Index1 /* sqlite3.c:217108:26 */ type Fts5IndexIter1 = struct { FiRowid I64 FpData uintptr FnData int32 FbEof U8 F__ccgo_pad1 [3]byte -} /* sqlite3.c:216813:9 */ +} /* sqlite3.c:216870:9 */ -type Fts5IndexIter = Fts5IndexIter1 /* sqlite3.c:217052:30 */ +type Fts5IndexIter = Fts5IndexIter1 /* sqlite3.c:217109:30 */ // // End of interface to code in fts5_varint.c. @@ -189881,7 +189912,7 @@ type Fts5Table1 = struct { Fbase Sqlite3_vtab FpConfig uintptr FpIndex uintptr -} /* sqlite3.c:217254:9 */ +} /* sqlite3.c:217311:9 */ // // End of interface to code in fts5_varint.c. @@ -189892,7 +189923,7 @@ type Fts5Table1 = struct { // Interface to code in fts5_main.c. // Virtual-table object. -type Fts5Table = Fts5Table1 /* sqlite3.c:217254:26 */ +type Fts5Table = Fts5Table1 /* sqlite3.c:217311:26 */ // // End of interface to code in fts5.c. @@ -189909,7 +189940,7 @@ type Fts5Hash1 = struct { FnSlot int32 FpScan uintptr FaSlot uintptr -} /* sqlite3.c:216813:9 */ +} /* sqlite3.c:216870:9 */ // // End of interface to code in fts5.c. @@ -189918,7 +189949,7 @@ type Fts5Hash1 = struct { // ************************************************************************* // // Interface to code in fts5_hash.c. -type Fts5Hash = Fts5Hash1 /* sqlite3.c:217280:25 */ +type Fts5Hash = Fts5Hash1 /* sqlite3.c:217337:25 */ // // End of interface to code in fts5_hash.c. @@ -189937,7 +189968,7 @@ type Fts5Storage1 = struct { FnTotalRow I64 FaTotalSize uintptr FaStmt [11]uintptr -} /* sqlite3.c:217336:9 */ +} /* sqlite3.c:217393:9 */ // // End of interface to code in fts5_hash.c. @@ -189948,7 +189979,7 @@ type Fts5Storage1 = struct { // Interface to code in fts5_storage.c. fts5_storage.c contains contains // code to access the data stored in the %_content and %_docsize tables. -type Fts5Storage = Fts5Storage1 /* sqlite3.c:217336:28 */ +type Fts5Storage = Fts5Storage1 /* sqlite3.c:217393:28 */ // // End of interface to code in fts5_storage.c. @@ -189964,7 +189995,7 @@ type Fts5Expr1 = struct { FbDesc int32 FnPhrase int32 FapExprPhrase uintptr -} /* sqlite3.c:216813:9 */ +} /* sqlite3.c:216870:9 */ // // End of interface to code in fts5_storage.c. @@ -189973,7 +190004,7 @@ type Fts5Expr1 = struct { // ************************************************************************* // // Interface to code in fts5_expr.c. -type Fts5Expr = Fts5Expr1 /* sqlite3.c:217379:25 */ +type Fts5Expr = Fts5Expr1 /* sqlite3.c:217436:25 */ type Fts5ExprNode1 = struct { FeType int32 FbEof int32 @@ -189985,9 +190016,9 @@ type Fts5ExprNode1 = struct { FnChild int32 F__ccgo_pad2 [4]byte FapChild [1]uintptr -} /* sqlite3.c:216813:9 */ +} /* sqlite3.c:216870:9 */ -type Fts5ExprNode = Fts5ExprNode1 /* sqlite3.c:217380:29 */ +type Fts5ExprNode = Fts5ExprNode1 /* sqlite3.c:217437:29 */ type Fts5Parse1 = struct { FpConfig uintptr FzErr uintptr @@ -189997,25 +190028,25 @@ type Fts5Parse1 = struct { FpExpr uintptr FbPhraseToAnd int32 F__ccgo_pad1 [4]byte -} /* sqlite3.c:217381:9 */ +} /* sqlite3.c:217438:9 */ -type Fts5Parse = Fts5Parse1 /* sqlite3.c:217381:26 */ +type Fts5Parse = Fts5Parse1 /* sqlite3.c:217438:26 */ type Fts5Token1 = struct { Fp uintptr Fn int32 F__ccgo_pad1 [4]byte -} /* sqlite3.c:217382:9 */ +} /* sqlite3.c:217439:9 */ -type Fts5Token = Fts5Token1 /* sqlite3.c:217382:26 */ +type Fts5Token = Fts5Token1 /* sqlite3.c:217439:26 */ type Fts5ExprPhrase1 = struct { FpNode uintptr Fposlist Fts5Buffer FnTerm int32 F__ccgo_pad1 [4]byte FaTerm [1]Fts5ExprTerm -} /* sqlite3.c:216813:9 */ +} /* sqlite3.c:216870:9 */ -type Fts5ExprPhrase = Fts5ExprPhrase1 /* sqlite3.c:217383:31 */ +type Fts5ExprPhrase = Fts5ExprPhrase1 /* sqlite3.c:217440:31 */ type Fts5ExprNearset1 = struct { FnNear int32 F__ccgo_pad1 [4]byte @@ -190023,17 +190054,17 @@ type Fts5ExprNearset1 = struct { FnPhrase int32 F__ccgo_pad2 [4]byte FapPhrase [1]uintptr -} /* sqlite3.c:216813:9 */ +} /* sqlite3.c:216870:9 */ -type Fts5ExprNearset = Fts5ExprNearset1 /* sqlite3.c:217384:32 */ +type Fts5ExprNearset = Fts5ExprNearset1 /* sqlite3.c:217441:32 */ type Fts5PoslistPopulator1 = struct { Fwriter Fts5PoslistWriter FbOk int32 FbMiss int32 -} /* sqlite3.c:217432:9 */ +} /* sqlite3.c:217489:9 */ -type Fts5PoslistPopulator = Fts5PoslistPopulator1 /* sqlite3.c:217432:37 */ +type Fts5PoslistPopulator = Fts5PoslistPopulator1 /* sqlite3.c:217489:37 */ // // End of interface to code in fts5_unicode2.c. // @@ -190138,7 +190169,7 @@ type Fts5YYMINORTYPE = struct { F__ccgo_pad1 [0]uint64 Ffts5yyinit int32 F__ccgo_pad2 [12]byte -} /* sqlite3.c:217708:3 */ +} /* sqlite3.c:217765:3 */ //************ End control #defines ****************************************** // Define the fts5yytestcase() macro to be a no-op if is not already defined @@ -190211,7 +190242,7 @@ var fts5yy_action = [105]uint8{ /* 80 */ uint8(5), uint8(3), uint8(63), uint8(5), uint8(3), uint8(62), uint8(12), uint8(2), uint8(86), uint8(13), /* 90 */ uint8(9), uint8(30), uint8(10), uint8(10), uint8(54), uint8(57), uint8(75), uint8(78), uint8(78), uint8(53), /* 100 */ uint8(57), uint8(15), uint8(82), uint8(82), uint8(71), -} /* sqlite3.c:217801:31 */ +} /* sqlite3.c:217858:31 */ var fts5yy_lookahead = [121]uint8{ /* 0 */ uint8(16), uint8(17), uint8(18), uint8(19), uint8(20), uint8(22), uint8(22), uint8(24), uint8(24), uint8(17), /* 10 */ uint8(18), uint8(19), uint8(20), uint8(7), uint8(22), uint8(9), uint8(24), uint8(17), uint8(18), uint8(19), @@ -190226,23 +190257,23 @@ var fts5yy_lookahead = [121]uint8{ /* 100 */ uint8(9), uint8(9), uint8(27), uint8(27), uint8(11), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), /* 110 */ uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), /* 120 */ uint8(27), -} /* sqlite3.c:217814:29 */ +} /* sqlite3.c:217871:29 */ var fts5yy_shift_ofst = [35]uint8{ /* 0 */ uint8(44), uint8(44), uint8(44), uint8(44), uint8(44), uint8(44), uint8(51), uint8(77), uint8(43), uint8(12), /* 10 */ uint8(14), uint8(83), uint8(82), uint8(14), uint8(23), uint8(23), uint8(31), uint8(31), uint8(71), uint8(74), /* 20 */ uint8(78), uint8(81), uint8(86), uint8(91), uint8(6), uint8(53), uint8(53), uint8(60), uint8(64), uint8(68), /* 30 */ uint8(53), uint8(87), uint8(92), uint8(53), uint8(93), -} /* sqlite3.c:217832:28 */ +} /* sqlite3.c:217889:28 */ var fts5yy_reduce_ofst = [18]int8{ /* 0 */ int8(-16), int8(-8), int8(0), int8(9), int8(17), int8(25), int8(46), int8(-17), int8(-17), int8(37), /* 10 */ int8(67), int8(4), int8(4), int8(8), int8(4), int8(20), int8(27), int8(38), -} /* sqlite3.c:217841:26 */ +} /* sqlite3.c:217898:26 */ var fts5yy_default = [35]uint8{ /* 0 */ uint8(80), uint8(80), uint8(80), uint8(80), uint8(80), uint8(80), uint8(95), uint8(80), uint8(80), uint8(105), /* 10 */ uint8(80), uint8(110), uint8(110), uint8(80), uint8(110), uint8(110), uint8(80), uint8(80), uint8(80), uint8(80), /* 20 */ uint8(80), uint8(91), uint8(80), uint8(80), uint8(80), uint8(101), uint8(100), uint8(80), uint8(80), uint8(90), /* 30 */ uint8(103), uint8(80), uint8(80), uint8(104), uint8(80), -} /* sqlite3.c:217845:31 */ +} /* sqlite3.c:217902:31 */ //********* End of lemon-generated parsing tables **************************** // The next table maps tokens (terminal symbols) into fallback tokens. @@ -190279,9 +190310,9 @@ type fts5yyStackEntry = struct { Fmajor uint8 F__ccgo_pad1 [6]byte Fminor Fts5YYMINORTYPE -} /* sqlite3.c:217888:1 */ +} /* sqlite3.c:217945:1 */ -type Fts5yyStackEntry = fts5yyStackEntry /* sqlite3.c:217895:33 */ +type Fts5yyStackEntry = fts5yyStackEntry /* sqlite3.c:217952:33 */ // The state of the parser is completely contained in an instance of // the following structure @@ -190290,9 +190321,9 @@ type fts5yyParser = struct { FpParse uintptr Ffts5yystack [100]Fts5yyStackEntry Ffts5yystackEnd uintptr -} /* sqlite3.c:217899:1 */ +} /* sqlite3.c:217956:1 */ -type Fts5yyParser = fts5yyParser /* sqlite3.c:217918:29 */ +type Fts5yyParser = fts5yyParser /* sqlite3.c:217975:29 */ // #include @@ -190302,7 +190333,7 @@ type Fts5yyParser = fts5yyParser /* sqlite3.c:217918:29 */ // grammar. // Initialize a new parser that has already been allocated. -func sqlite3Fts5ParserInit(tls *libc.TLS, fts5yypRawParser uintptr) { /* sqlite3.c:218067:13: */ +func sqlite3Fts5ParserInit(tls *libc.TLS, fts5yypRawParser uintptr) { /* sqlite3.c:218124:13: */ var fts5yypParser uintptr = fts5yypRawParser (*Fts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yytos = fts5yypParser + 16 /* &.fts5yystack */ @@ -190321,7 +190352,7 @@ func sqlite3Fts5ParserInit(tls *libc.TLS, fts5yypRawParser uintptr) { /* sqlite3 // Outputs: // A pointer to a parser. This pointer is used in subsequent calls // to sqlite3Fts5Parser and sqlite3Fts5ParserFree. -func sqlite3Fts5ParserAlloc(tls *libc.TLS, mallocProc uintptr) uintptr { /* sqlite3.c:218106:13: */ +func sqlite3Fts5ParserAlloc(tls *libc.TLS, mallocProc uintptr) uintptr { /* sqlite3.c:218163:13: */ var fts5yypParser uintptr fts5yypParser = (*struct{ f func(*libc.TLS, U64) uintptr })(unsafe.Pointer(&struct{ uintptr }{mallocProc})).f(tls, U64(unsafe.Sizeof(Fts5yyParser{}))) if fts5yypParser != 0 { @@ -190337,7 +190368,7 @@ func sqlite3Fts5ParserAlloc(tls *libc.TLS, mallocProc uintptr) uintptr { /* sqli // a pointer to the value to be deleted. The code used to do the // deletions is derived from the %destructor and/or %token_destructor // directives of the input grammar. -func fts5yy_destructor(tls *libc.TLS, fts5yypParser uintptr, fts5yymajor uint8, fts5yypminor uintptr) { /* sqlite3.c:218125:13: */ +func fts5yy_destructor(tls *libc.TLS, fts5yypParser uintptr, fts5yymajor uint8, fts5yypminor uintptr) { /* sqlite3.c:218182:13: */ var pParse uintptr = (*Fts5yyParser)(unsafe.Pointer(fts5yypParser)).FpParse _ = pParse @@ -190395,7 +190426,7 @@ func fts5yy_destructor(tls *libc.TLS, fts5yypParser uintptr, fts5yymajor uint8, // // If there is a destructor routine associated with the token which // is popped from the stack, then call it. -func fts5yy_pop_parser_stack(tls *libc.TLS, pParser uintptr) { /* sqlite3.c:218184:13: */ +func fts5yy_pop_parser_stack(tls *libc.TLS, pParser uintptr) { /* sqlite3.c:218241:13: */ var fts5yytos uintptr fts5yytos = libc.PostDecUintptr(&(*Fts5yyParser)(unsafe.Pointer(pParser)).Ffts5yytos, 24) @@ -190403,7 +190434,7 @@ func fts5yy_pop_parser_stack(tls *libc.TLS, pParser uintptr) { /* sqlite3.c:2181 } // Clear all secondary memory allocations from the parser -func sqlite3Fts5ParserFinalize(tls *libc.TLS, p uintptr) { /* sqlite3.c:218202:13: */ +func sqlite3Fts5ParserFinalize(tls *libc.TLS, p uintptr) { /* sqlite3.c:218259:13: */ var pParser uintptr = p for (*Fts5yyParser)(unsafe.Pointer(pParser)).Ffts5yytos > pParser+16 { fts5yy_pop_parser_stack(tls, pParser) @@ -190416,7 +190447,7 @@ func sqlite3Fts5ParserFinalize(tls *libc.TLS, p uintptr) { /* sqlite3.c:218202:1 // If the fts5YYPARSEFREENEVERNULL macro exists (for example because it // 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) { /* sqlite3.c:218219:13: */ +func sqlite3Fts5ParserFree(tls *libc.TLS, p uintptr, freeProc uintptr) { /* sqlite3.c:218276:13: */ if p == uintptr(0) { return } @@ -190440,7 +190471,7 @@ func sqlite3Fts5ParserFree(tls *libc.TLS, p uintptr, freeProc uintptr) { /* sqli // Find the appropriate action for a parser given the terminal // look-ahead token iLookAhead. -func fts5yy_find_shift_action(tls *libc.TLS, iLookAhead uint8, stateno uint8) uint8 { /* sqlite3.c:218282:25: */ +func fts5yy_find_shift_action(tls *libc.TLS, iLookAhead uint8, stateno uint8) uint8 { /* sqlite3.c:218339:25: */ var i int32 if int32(stateno) > Fts5YY_MAX_SHIFT { @@ -190464,7 +190495,7 @@ func fts5yy_find_shift_action(tls *libc.TLS, iLookAhead uint8, stateno uint8) ui // Find the appropriate action for a parser given the non-terminal // look-ahead token iLookAhead. -func fts5yy_find_reduce_action(tls *libc.TLS, stateno uint8, iLookAhead uint8) uint8 { /* sqlite3.c:218347:25: */ +func fts5yy_find_reduce_action(tls *libc.TLS, stateno uint8, iLookAhead uint8) uint8 { /* sqlite3.c:218404:25: */ var i int32 i = int32(fts5yy_reduce_ofst[stateno]) @@ -190475,7 +190506,7 @@ func fts5yy_find_reduce_action(tls *libc.TLS, stateno uint8, iLookAhead uint8) u } // The following routine is called if the stack overflows. -func fts5yyStackOverflow(tls *libc.TLS, fts5yypParser uintptr) { /* sqlite3.c:218376:13: */ +func fts5yyStackOverflow(tls *libc.TLS, fts5yypParser uintptr) { /* sqlite3.c:218433:13: */ var pParse uintptr = (*Fts5yyParser)(unsafe.Pointer(fts5yypParser)).FpParse for (*Fts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yytos > fts5yypParser+16 { @@ -190494,7 +190525,7 @@ func fts5yyStackOverflow(tls *libc.TLS, fts5yypParser uintptr) { /* sqlite3.c:21 // Print tracing information for a SHIFT action // Perform a shift action. -func fts5yy_shift(tls *libc.TLS, fts5yypParser uintptr, fts5yyNewState uint8, fts5yyMajor uint8, fts5yyMinor Fts5Token) { /* sqlite3.c:218419:13: */ +func fts5yy_shift(tls *libc.TLS, fts5yypParser uintptr, fts5yyNewState uint8, fts5yyMajor uint8, fts5yyMinor Fts5Token) { /* sqlite3.c:218476:13: */ var fts5yytos uintptr (*Fts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yytos += 24 if (*Fts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yytos > (*Fts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yystackEnd { @@ -190543,7 +190574,7 @@ var fts5yyRuleInfoLhs = [28]uint8{ uint8(24), // (25) phrase ::= STRING star_opt uint8(26), // (26) star_opt ::= STAR uint8(26), // (27) star_opt ::= -} /* sqlite3.c:218460:29 */ +} /* sqlite3.c:218517:29 */ // For rule J, fts5yyRuleInfoNRhs[J] contains the negative of the number // of symbols on the right-hand side of that rule. @@ -190576,7 +190607,7 @@ var fts5yyRuleInfoNRhs = [28]int8{ int8(-2), // (25) phrase ::= STRING star_opt int8(-1), // (26) star_opt ::= STAR int8(0), // (27) star_opt ::= -} /* sqlite3.c:218493:26 */ +} /* sqlite3.c:218550:26 */ // Forward Declaration @@ -190588,7 +190619,7 @@ var fts5yyRuleInfoNRhs = [28]int8{ // if the lookahead token has already been consumed. As this procedure is // only called from one place, optimizing compilers will in-line it, which // means that the extra parameters have no performance impact. -func fts5yy_reduce(tls *libc.TLS, fts5yypParser uintptr, fts5yyruleno uint32, fts5yyLookahead int32, fts5yyLookaheadToken Fts5Token) uint8 { /* sqlite3.c:218536:25: */ +func fts5yy_reduce(tls *libc.TLS, fts5yypParser uintptr, fts5yyruleno uint32, fts5yyLookahead int32, fts5yyLookaheadToken Fts5Token) uint8 { /* sqlite3.c:218593:25: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -190798,7 +190829,7 @@ func fts5yy_reduce(tls *libc.TLS, fts5yypParser uintptr, fts5yyruleno uint32, ft // The following code executes when the parse fails // The following code executes when a syntax error first occurs. -func fts5yy_syntax_error(tls *libc.TLS, fts5yypParser uintptr, fts5yymajor int32, fts5yyminor Fts5Token) { /* sqlite3.c:218754:13: */ +func fts5yy_syntax_error(tls *libc.TLS, fts5yypParser uintptr, fts5yymajor int32, fts5yyminor Fts5Token) { /* sqlite3.c:218811:13: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -190815,7 +190846,7 @@ func fts5yy_syntax_error(tls *libc.TLS, fts5yypParser uintptr, fts5yymajor int32 } // The following is executed when the parser accepts -func fts5yy_accept(tls *libc.TLS, fts5yypParser uintptr) { /* sqlite3.c:218776:13: */ +func fts5yy_accept(tls *libc.TLS, fts5yypParser uintptr) { /* sqlite3.c:218833:13: */ var pParse uintptr = (*Fts5yyParser)(unsafe.Pointer(fts5yypParser)).FpParse // Here code is inserted which will be executed whenever the @@ -190844,7 +190875,7 @@ func fts5yy_accept(tls *libc.TLS, fts5yypParser uintptr) { /* sqlite3.c:218776:1 // // Outputs: // None. -func sqlite3Fts5Parser(tls *libc.TLS, fts5yyp uintptr, fts5yymajor int32, fts5yyminor Fts5Token, pParse uintptr) { /* sqlite3.c:218817:13: */ +func sqlite3Fts5Parser(tls *libc.TLS, fts5yyp uintptr, fts5yymajor int32, fts5yyminor Fts5Token, pParse uintptr) { /* sqlite3.c:218874:13: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -190899,7 +190930,7 @@ func sqlite3Fts5Parser(tls *libc.TLS, fts5yyp uintptr, fts5yymajor int32, fts5yy // Return the fallback token corresponding to canonical token iToken, or // 0 if iToken has no fallback. -func sqlite3Fts5ParserFallback(tls *libc.TLS, iToken int32) int32 { /* sqlite3.c:219034:12: */ +func sqlite3Fts5ParserFallback(tls *libc.TLS, iToken int32) int32 { /* sqlite3.c:219091:12: */ _ = iToken return 0 } @@ -190962,7 +190993,7 @@ type CInstIter1 = struct { FiStart int32 FiEnd int32 F__ccgo_pad1 [4]byte -} /* sqlite3.c:219080:9 */ +} /* sqlite3.c:219137:9 */ // 2014 May 31 // @@ -191013,11 +191044,11 @@ type CInstIter1 = struct { // printf("instance starts at %d, ends at %d\n", iter.iStart, iter.iEnd); // } // -type CInstIter = CInstIter1 /* sqlite3.c:219080:26 */ +type CInstIter = CInstIter1 /* sqlite3.c:219137:26 */ // Advance the iterator to the next coalesced phrase instance. Return // an SQLite error code if an error occurs, or SQLITE_OK otherwise. -func fts5CInstIterNext(tls *libc.TLS, pIter uintptr) int32 { /* sqlite3.c:219097:12: */ +func fts5CInstIterNext(tls *libc.TLS, pIter uintptr) int32 { /* sqlite3.c:219154:12: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -191060,7 +191091,7 @@ func fts5CInstIterNext(tls *libc.TLS, pIter uintptr) int32 { /* sqlite3.c:219097 // Initialize the iterator object indicated by the final parameter to // iterate through coalesced phrase instances in column iCol. -func fts5CInstIterInit(tls *libc.TLS, pApi uintptr, pFts uintptr, iCol int32, pIter uintptr) int32 { /* sqlite3.c:219128:12: */ +func fts5CInstIterInit(tls *libc.TLS, pApi uintptr, pFts uintptr, iCol int32, pIter uintptr) int32 { /* sqlite3.c:219185:12: */ var rc int32 libc.X__builtin___memset_chk(tls, pIter, 0, uint64(unsafe.Sizeof(CInstIter{})), libc.X__builtin_object_size(tls, pIter, 0)) @@ -191093,12 +191124,12 @@ type HighlightContext1 = struct { FnIn int32 FiOff int32 FzOut uintptr -} /* sqlite3.c:219154:9 */ +} /* sqlite3.c:219211:9 */ // ************************************************************************ // // Start of highlight() implementation. -type HighlightContext = HighlightContext1 /* sqlite3.c:219154:33 */ +type HighlightContext = HighlightContext1 /* sqlite3.c:219211:33 */ // Append text to the HighlightContext output string - p->zOut. Argument // z points to a buffer containing n bytes of text to append. If n is @@ -191107,7 +191138,7 @@ type HighlightContext = HighlightContext1 /* sqlite3.c:219154:33 */ // If *pRc is set to any value other than SQLITE_OK when this function is // called, it is a no-op. If an error (i.e. an OOM condition) is encountered, // *pRc is set to an error code before returning. -func fts5HighlightAppend(tls *libc.TLS, pRc uintptr, p uintptr, z uintptr, n int32) { /* sqlite3.c:219177:13: */ +func fts5HighlightAppend(tls *libc.TLS, pRc uintptr, p uintptr, z uintptr, n int32) { /* sqlite3.c:219234:13: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -191123,7 +191154,7 @@ func fts5HighlightAppend(tls *libc.TLS, pRc uintptr, p uintptr, z uintptr, n int } // Tokenizer callback used by implementation of highlight() function. -func fts5HighlightCb(tls *libc.TLS, pContext uintptr, tflags int32, pToken uintptr, nToken int32, iStartOff int32, iEndOff int32) int32 { /* sqlite3.c:219192:12: */ +func fts5HighlightCb(tls *libc.TLS, pContext uintptr, tflags int32, pToken uintptr, nToken int32, iStartOff int32, iEndOff int32) int32 { /* sqlite3.c:219249:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -191178,7 +191209,7 @@ func fts5HighlightCb(tls *libc.TLS, pContext uintptr, tflags int32, pToken uintp } // Implementation of highlight() function. -func fts5HighlightFunction(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uintptr, nVal int32, apVal uintptr) { /* sqlite3.c:219246:13: */ +func fts5HighlightFunction(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uintptr, nVal int32, apVal uintptr) { /* sqlite3.c:219303:13: */ bp := tls.Alloc(100) defer tls.Free(100) @@ -191238,19 +191269,19 @@ type Fts5SFinder1 = struct { F__ccgo_pad1 [4]byte FaFirst uintptr FzDoc uintptr -} /* sqlite3.c:219295:9 */ +} /* sqlite3.c:219352:9 */ // // End of highlight() implementation. // // Context object passed to the fts5SentenceFinderCb() function. -type Fts5SFinder = Fts5SFinder1 /* sqlite3.c:219295:28 */ +type Fts5SFinder = Fts5SFinder1 /* sqlite3.c:219352:28 */ // Add an entry to the Fts5SFinder.aFirst[] array. Grow the array if // necessary. Return SQLITE_OK if successful, or SQLITE_NOMEM if an // error occurs. -func fts5SentenceFinderAdd(tls *libc.TLS, p uintptr, iAdd int32) int32 { /* sqlite3.c:219309:12: */ +func fts5SentenceFinderAdd(tls *libc.TLS, p uintptr, iAdd int32) int32 { /* sqlite3.c:219366:12: */ if (*Fts5SFinder)(unsafe.Pointer(p)).FnFirstAlloc == (*Fts5SFinder)(unsafe.Pointer(p)).FnFirst { var nNew int32 if (*Fts5SFinder)(unsafe.Pointer(p)).FnFirstAlloc != 0 { @@ -191274,7 +191305,7 @@ func fts5SentenceFinderAdd(tls *libc.TLS, p uintptr, iAdd int32) int32 { /* sqli // This function is an xTokenize() callback used by the auxiliary snippet() // function. Its job is to identify tokens that are the first in a sentence. // For each such token, an entry is added to the SFinder.aFirst[] array. -func fts5SentenceFinderCb(tls *libc.TLS, pContext uintptr, tflags int32, pToken uintptr, nToken int32, iStartOff int32, iEndOff int32) int32 { /* sqlite3.c:219328:12: */ +func fts5SentenceFinderCb(tls *libc.TLS, pContext uintptr, tflags int32, pToken uintptr, nToken int32, iStartOff int32, iEndOff int32) int32 { /* sqlite3.c:219385:12: */ var rc int32 = SQLITE_OK _ = pToken @@ -191303,7 +191334,7 @@ func fts5SentenceFinderCb(tls *libc.TLS, pContext uintptr, tflags int32, pToken return rc } -func fts5SnippetScore(tls *libc.TLS, pApi uintptr, pFts uintptr, nDocsize int32, aSeen uintptr, iCol int32, iPos int32, nToken int32, pnScore uintptr, piPos uintptr) int32 { /* sqlite3.c:219361:12: */ +func fts5SnippetScore(tls *libc.TLS, pApi uintptr, pFts uintptr, nDocsize int32, aSeen uintptr, iCol int32, iPos int32, nToken int32, pnScore uintptr, piPos uintptr) int32 { /* sqlite3.c:219418:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -191361,7 +191392,7 @@ func fts5SnippetScore(tls *libc.TLS, pApi uintptr, pFts uintptr, nDocsize int32, // Return the value in pVal interpreted as utf-8 text. Except, if pVal // contains a NULL value, return a pointer to a static string zero // bytes in length instead of a NULL pointer. -func fts5ValueToText(tls *libc.TLS, pVal uintptr) uintptr { /* sqlite3.c:219410:19: */ +func fts5ValueToText(tls *libc.TLS, pVal uintptr) uintptr { /* sqlite3.c:219467:19: */ var zRet uintptr = Xsqlite3_value_text(tls, pVal) if zRet != 0 { return zRet @@ -191370,7 +191401,7 @@ func fts5ValueToText(tls *libc.TLS, pVal uintptr) uintptr { /* sqlite3.c:219410: } // Implementation of snippet() function. -func fts5SnippetFunction(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uintptr, nVal int32, apVal uintptr) { /* sqlite3.c:219418:13: */ +func fts5SnippetFunction(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uintptr, nVal int32, apVal uintptr) { /* sqlite3.c:219475:13: */ bp := tls.Alloc(172) defer tls.Free(172) @@ -191585,17 +191616,17 @@ type Fts5Bm25Data1 = struct { Favgdl float64 FaIDF uintptr FaFreq uintptr -} /* sqlite3.c:219576:9 */ +} /* sqlite3.c:219633:9 */ //********************************************************************** // The first time the bm25() function is called for a query, an instance // of the following structure is allocated and populated. -type Fts5Bm25Data = Fts5Bm25Data1 /* sqlite3.c:219576:29 */ +type Fts5Bm25Data = Fts5Bm25Data1 /* sqlite3.c:219633:29 */ // Callback used by fts5Bm25GetData() to count the number of rows in the // table matched by each individual phrase within the query. -func fts5CountCb(tls *libc.TLS, pApi uintptr, pFts uintptr, pUserData uintptr) int32 { /* sqlite3.c:219588:12: */ +func fts5CountCb(tls *libc.TLS, pApi uintptr, pFts uintptr, pUserData uintptr) int32 { /* sqlite3.c:219645:12: */ var pn uintptr = pUserData _ = pApi _ = pFts @@ -191606,7 +191637,7 @@ func fts5CountCb(tls *libc.TLS, pApi uintptr, pFts uintptr, pUserData uintptr) i // Set *ppData to point to the Fts5Bm25Data object for the current query. // If the object has not already been allocated, allocate and populate it // now. -func fts5Bm25GetData(tls *libc.TLS, pApi uintptr, pFts uintptr, ppData uintptr) int32 { /* sqlite3.c:219604:12: */ +func fts5Bm25GetData(tls *libc.TLS, pApi uintptr, pFts uintptr, ppData uintptr) int32 { /* sqlite3.c:219661:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -191700,7 +191731,7 @@ func fts5Bm25GetData(tls *libc.TLS, pApi uintptr, pFts uintptr, ppData uintptr) } // Implementation of bm25() function. -func fts5Bm25Function(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uintptr, nVal int32, apVal uintptr) { /* sqlite3.c:219677:13: */ +func fts5Bm25Function(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uintptr, nVal int32, apVal uintptr) { /* sqlite3.c:219734:13: */ bp := tls.Alloc(28) defer tls.Free(28) @@ -191768,7 +191799,7 @@ func fts5Bm25Function(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uintptr, n } } -func sqlite3Fts5AuxInit(tls *libc.TLS, pApi uintptr) int32 { /* sqlite3.c:219733:12: */ +func sqlite3Fts5AuxInit(tls *libc.TLS, pApi uintptr) int32 { /* sqlite3.c:219790:12: */ bp := tls.Alloc(96) defer tls.Free(96) @@ -191804,7 +191835,7 @@ type Builtin = struct { FpUserData uintptr FxFunc Fts5_extension_function FxDestroy uintptr -} /* sqlite3.c:219734:3 */ +} /* sqlite3.c:219791:3 */ // 2014 May 31 // @@ -191819,7 +191850,7 @@ type Builtin = struct { // #include "fts5Int.h" -func sqlite3Fts5BufferSize(tls *libc.TLS, pRc uintptr, pBuf uintptr, nByte U32) int32 { /* sqlite3.c:219776:12: */ +func sqlite3Fts5BufferSize(tls *libc.TLS, pRc uintptr, pBuf uintptr, nByte U32) int32 { /* sqlite3.c:219833:12: */ if U32((*Fts5Buffer)(unsafe.Pointer(pBuf)).FnSpace) < nByte { var nNew U64 if (*Fts5Buffer)(unsafe.Pointer(pBuf)).FnSpace != 0 { @@ -191845,7 +191876,7 @@ func sqlite3Fts5BufferSize(tls *libc.TLS, pRc uintptr, pBuf uintptr, nByte U32) // Encode value iVal as an SQLite varint and append it to the buffer object // pBuf. If an OOM error occurs, set the error code in p. -func sqlite3Fts5BufferAppendVarint(tls *libc.TLS, pRc uintptr, pBuf uintptr, iVal I64) { /* sqlite3.c:219800:13: */ +func sqlite3Fts5BufferAppendVarint(tls *libc.TLS, pRc uintptr, pBuf uintptr, iVal I64) { /* sqlite3.c:219857:13: */ if func() int32 { if U32((*Fts5Buffer)(unsafe.Pointer(pBuf)).Fn)+U32(9) <= U32((*Fts5Buffer)(unsafe.Pointer(pBuf)).FnSpace) { return 0 @@ -191857,21 +191888,21 @@ func sqlite3Fts5BufferAppendVarint(tls *libc.TLS, pRc uintptr, pBuf uintptr, iVa *(*int32)(unsafe.Pointer(pBuf + 8)) += sqlite3Fts5PutVarint(tls, (*Fts5Buffer)(unsafe.Pointer(pBuf)).Fp+uintptr((*Fts5Buffer)(unsafe.Pointer(pBuf)).Fn), uint64(iVal)) } -func sqlite3Fts5Put32(tls *libc.TLS, aBuf uintptr, iVal int32) { /* sqlite3.c:219805:13: */ +func sqlite3Fts5Put32(tls *libc.TLS, aBuf uintptr, iVal int32) { /* sqlite3.c:219862:13: */ *(*U8)(unsafe.Pointer(aBuf)) = U8(iVal >> 24 & 0x00FF) *(*U8)(unsafe.Pointer(aBuf + 1)) = U8(iVal >> 16 & 0x00FF) *(*U8)(unsafe.Pointer(aBuf + 2)) = U8(iVal >> 8 & 0x00FF) *(*U8)(unsafe.Pointer(aBuf + 3)) = U8(iVal >> 0 & 0x00FF) } -func sqlite3Fts5Get32(tls *libc.TLS, aBuf uintptr) int32 { /* sqlite3.c:219812:12: */ +func sqlite3Fts5Get32(tls *libc.TLS, aBuf uintptr) int32 { /* sqlite3.c:219869:12: */ return int32(U32(*(*U8)(unsafe.Pointer(aBuf)))<<24 + U32(int32(*(*U8)(unsafe.Pointer(aBuf + 1)))<<16) + U32(int32(*(*U8)(unsafe.Pointer(aBuf + 2)))<<8) + U32(*(*U8)(unsafe.Pointer(aBuf + 3)))) } // Append buffer nData/pData to buffer pBuf. If an OOM error occurs, set // the error code in p. If an error has already occurred when this function // is called, it is a no-op. -func sqlite3Fts5BufferAppendBlob(tls *libc.TLS, pRc uintptr, pBuf uintptr, nData U32, pData uintptr) { /* sqlite3.c:219821:13: */ +func sqlite3Fts5BufferAppendBlob(tls *libc.TLS, pRc uintptr, pBuf uintptr, nData U32, pData uintptr) { /* sqlite3.c:219878:13: */ if nData != 0 { if func() int32 { if U32((*Fts5Buffer)(unsafe.Pointer(pBuf)).Fn)+nData <= U32((*Fts5Buffer)(unsafe.Pointer(pBuf)).FnSpace) { @@ -191889,7 +191920,7 @@ func sqlite3Fts5BufferAppendBlob(tls *libc.TLS, pRc uintptr, pBuf uintptr, nData // Append the nul-terminated string zStr to the buffer pBuf. This function // ensures that the byte following the buffer data is set to 0x00, even // though this byte is not included in the pBuf->n count. -func sqlite3Fts5BufferAppendString(tls *libc.TLS, pRc uintptr, pBuf uintptr, zStr uintptr) { /* sqlite3.c:219839:13: */ +func sqlite3Fts5BufferAppendString(tls *libc.TLS, pRc uintptr, pBuf uintptr, zStr uintptr) { /* sqlite3.c:219896:13: */ var nStr int32 = int32(libc.Xstrlen(tls, zStr)) sqlite3Fts5BufferAppendBlob(tls, pRc, pBuf, uint32(nStr+1), zStr) (*Fts5Buffer)(unsafe.Pointer(pBuf)).Fn-- @@ -191901,7 +191932,7 @@ func sqlite3Fts5BufferAppendString(tls *libc.TLS, pRc uintptr, pBuf uintptr, zSt // Like sqlite3Fts5BufferAppendString(), this function ensures that the byte // following the buffer data is set to 0x00, even though this byte is not // included in the pBuf->n count. -func sqlite3Fts5BufferAppendPrintf(tls *libc.TLS, pRc uintptr, pBuf uintptr, zFmt uintptr, va uintptr) { /* sqlite3.c:219857:13: */ +func sqlite3Fts5BufferAppendPrintf(tls *libc.TLS, pRc uintptr, pBuf uintptr, zFmt uintptr, va uintptr) { /* sqlite3.c:219914:13: */ if *(*int32)(unsafe.Pointer(pRc)) == SQLITE_OK { var zTmp uintptr var ap Va_list @@ -191919,7 +191950,7 @@ func sqlite3Fts5BufferAppendPrintf(tls *libc.TLS, pRc uintptr, pBuf uintptr, zFm } } -func sqlite3Fts5Mprintf(tls *libc.TLS, pRc uintptr, zFmt uintptr, va uintptr) uintptr { /* sqlite3.c:219878:13: */ +func sqlite3Fts5Mprintf(tls *libc.TLS, pRc uintptr, zFmt uintptr, va uintptr) uintptr { /* sqlite3.c:219935:13: */ var zRet uintptr = uintptr(0) if *(*int32)(unsafe.Pointer(pRc)) == SQLITE_OK { var ap Va_list @@ -191935,26 +191966,26 @@ func sqlite3Fts5Mprintf(tls *libc.TLS, pRc uintptr, zFmt uintptr, va uintptr) ui } // Free any buffer allocated by pBuf. Zero the structure before returning. -func sqlite3Fts5BufferFree(tls *libc.TLS, pBuf uintptr) { /* sqlite3.c:219896:13: */ +func sqlite3Fts5BufferFree(tls *libc.TLS, pBuf uintptr) { /* sqlite3.c:219953:13: */ Xsqlite3_free(tls, (*Fts5Buffer)(unsafe.Pointer(pBuf)).Fp) libc.X__builtin___memset_chk(tls, pBuf, 0, uint64(unsafe.Sizeof(Fts5Buffer{})), libc.X__builtin_object_size(tls, pBuf, 0)) } // Zero the contents of the buffer object. But do not free the associated // memory allocation. -func sqlite3Fts5BufferZero(tls *libc.TLS, pBuf uintptr) { /* sqlite3.c:219905:13: */ +func sqlite3Fts5BufferZero(tls *libc.TLS, pBuf uintptr) { /* sqlite3.c:219962:13: */ (*Fts5Buffer)(unsafe.Pointer(pBuf)).Fn = 0 } // Set the buffer to contain nData/pData. If an OOM error occurs, leave an // the error code in p. If an error has already occurred when this function // is called, it is a no-op. -func sqlite3Fts5BufferSet(tls *libc.TLS, pRc uintptr, pBuf uintptr, nData int32, pData uintptr) { /* sqlite3.c:219914:13: */ +func sqlite3Fts5BufferSet(tls *libc.TLS, pRc uintptr, pBuf uintptr, nData int32, pData uintptr) { /* sqlite3.c:219971:13: */ (*Fts5Buffer)(unsafe.Pointer(pBuf)).Fn = 0 sqlite3Fts5BufferAppendBlob(tls, pRc, pBuf, uint32(nData), pData) } -func sqlite3Fts5PoslistNext64(tls *libc.TLS, a uintptr, n int32, pi uintptr, piOff uintptr) int32 { /* sqlite3.c:219924:12: */ +func sqlite3Fts5PoslistNext64(tls *libc.TLS, a uintptr, n int32, pi uintptr, piOff uintptr) int32 { /* sqlite3.c:219981:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -192016,14 +192047,14 @@ func sqlite3Fts5PoslistNext64(tls *libc.TLS, a uintptr, n int32, pi uintptr, piO // Advance the iterator object passed as the only argument. Return true // if the iterator reaches EOF, or false otherwise. -func sqlite3Fts5PoslistReaderNext(tls *libc.TLS, pIter uintptr) int32 { /* sqlite3.c:219967:12: */ +func sqlite3Fts5PoslistReaderNext(tls *libc.TLS, pIter uintptr) int32 { /* sqlite3.c:220024:12: */ if sqlite3Fts5PoslistNext64(tls, (*Fts5PoslistReader)(unsafe.Pointer(pIter)).Fa, (*Fts5PoslistReader)(unsafe.Pointer(pIter)).Fn, pIter+12, pIter+24) != 0 { (*Fts5PoslistReader)(unsafe.Pointer(pIter)).FbEof = U8(1) } return int32((*Fts5PoslistReader)(unsafe.Pointer(pIter)).FbEof) } -func sqlite3Fts5PoslistReaderInit(tls *libc.TLS, a uintptr, n int32, pIter uintptr) int32 { /* sqlite3.c:219974:12: */ +func sqlite3Fts5PoslistReaderInit(tls *libc.TLS, a uintptr, n int32, pIter uintptr) int32 { /* sqlite3.c:220031:12: */ libc.X__builtin___memset_chk(tls, pIter, 0, uint64(unsafe.Sizeof(Fts5PoslistReader{})), libc.X__builtin_object_size(tls, pIter, 0)) (*Fts5PoslistReader)(unsafe.Pointer(pIter)).Fa = a (*Fts5PoslistReader)(unsafe.Pointer(pIter)).Fn = n @@ -192035,7 +192066,7 @@ func sqlite3Fts5PoslistReaderInit(tls *libc.TLS, a uintptr, n int32, pIter uintp // pBuf, which must be already be large enough to hold the new data. // The previous position written to this list is *piPrev. *piPrev is set // to iPos before returning. -func sqlite3Fts5PoslistSafeAppend(tls *libc.TLS, pBuf uintptr, piPrev uintptr, iPos I64) { /* sqlite3.c:219991:13: */ +func sqlite3Fts5PoslistSafeAppend(tls *libc.TLS, pBuf uintptr, piPrev uintptr, iPos I64) { /* sqlite3.c:220048:13: */ if iPos >= *(*I64)(unsafe.Pointer(piPrev)) { if iPos&colmask != *(*I64)(unsafe.Pointer(piPrev))&colmask { *(*U8)(unsafe.Pointer((*Fts5Buffer)(unsafe.Pointer(pBuf)).Fp + uintptr(libc.PostIncInt32(&(*Fts5Buffer)(unsafe.Pointer(pBuf)).Fn, 1)))) = U8(1) @@ -192047,9 +192078,9 @@ func sqlite3Fts5PoslistSafeAppend(tls *libc.TLS, pBuf uintptr, piPrev uintptr, i } } -var colmask I64 = I64(int64(0x7FFFFFFF)) << 32 /* sqlite3.c:219997:22 */ +var colmask I64 = I64(int64(0x7FFFFFFF)) << 32 /* sqlite3.c:220054:22 */ -func sqlite3Fts5PoslistWriterAppend(tls *libc.TLS, pBuf uintptr, pWriter uintptr, iPos I64) int32 { /* sqlite3.c:220008:12: */ +func sqlite3Fts5PoslistWriterAppend(tls *libc.TLS, pBuf uintptr, pWriter uintptr, iPos I64) int32 { /* sqlite3.c:220065:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -192066,7 +192097,7 @@ func sqlite3Fts5PoslistWriterAppend(tls *libc.TLS, pBuf uintptr, pWriter uintptr return SQLITE_OK } -func sqlite3Fts5MallocZero(tls *libc.TLS, pRc uintptr, nByte Sqlite3_int64) uintptr { /* sqlite3.c:220019:13: */ +func sqlite3Fts5MallocZero(tls *libc.TLS, pRc uintptr, nByte Sqlite3_int64) uintptr { /* sqlite3.c:220076:13: */ var pRet uintptr = uintptr(0) if *(*int32)(unsafe.Pointer(pRc)) == SQLITE_OK { pRet = Xsqlite3_malloc64(tls, uint64(nByte)) @@ -192087,7 +192118,7 @@ func sqlite3Fts5MallocZero(tls *libc.TLS, pRc uintptr, nByte Sqlite3_int64) uint // // It is the responsibility of the caller to eventually free the returned // buffer using sqlite3_free(). If an OOM error occurs, NULL is returned. -func sqlite3Fts5Strndup(tls *libc.TLS, pRc uintptr, pIn uintptr, nIn int32) uintptr { /* sqlite3.c:220040:13: */ +func sqlite3Fts5Strndup(tls *libc.TLS, pRc uintptr, pIn uintptr, nIn int32) uintptr { /* sqlite3.c:220097:13: */ var zRet uintptr = uintptr(0) if *(*int32)(unsafe.Pointer(pRc)) == SQLITE_OK { if nIn < 0 { @@ -192112,7 +192143,7 @@ func sqlite3Fts5Strndup(tls *libc.TLS, pRc uintptr, pIn uintptr, nIn int32) uint // * The 10 integer ASCII characters. // * The underscore character "_" (0x5F). // * The unicode "subsitute" character (0x1A). -func sqlite3Fts5IsBareword(tls *libc.TLS, t int8) int32 { /* sqlite3.c:220068:12: */ +func sqlite3Fts5IsBareword(tls *libc.TLS, t int8) int32 { /* sqlite3.c:220125:12: */ bp := tls.Alloc(128) defer tls.Free(128) @@ -192137,13 +192168,13 @@ type Fts5TermsetEntry1 = struct { FnTerm int32 FiIdx int32 FpNext uintptr -} /* sqlite3.c:217037:9 */ +} /* sqlite3.c:217094:9 */ // ************************************************************************ // -type Fts5TermsetEntry = Fts5TermsetEntry1 /* sqlite3.c:220086:33 */ +type Fts5TermsetEntry = Fts5TermsetEntry1 /* sqlite3.c:220143:33 */ -func sqlite3Fts5TermsetNew(tls *libc.TLS, pp uintptr) int32 { /* sqlite3.c:220098:12: */ +func sqlite3Fts5TermsetNew(tls *libc.TLS, pp uintptr) int32 { /* sqlite3.c:220155:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -192152,7 +192183,7 @@ func sqlite3Fts5TermsetNew(tls *libc.TLS, pp uintptr) int32 { /* sqlite3.c:22009 return *(*int32)(unsafe.Pointer(bp /* rc */)) } -func sqlite3Fts5TermsetAdd(tls *libc.TLS, p uintptr, iIdx int32, pTerm uintptr, nTerm int32, pbPresent uintptr) int32 { /* sqlite3.c:220104:12: */ +func sqlite3Fts5TermsetAdd(tls *libc.TLS, p uintptr, iIdx int32, pTerm uintptr, nTerm int32, pbPresent uintptr) int32 { /* sqlite3.c:220161:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -192198,7 +192229,7 @@ func sqlite3Fts5TermsetAdd(tls *libc.TLS, p uintptr, iIdx int32, pTerm uintptr, return *(*int32)(unsafe.Pointer(bp /* rc */)) } -func sqlite3Fts5TermsetFree(tls *libc.TLS, p uintptr) { /* sqlite3.c:220153:13: */ +func sqlite3Fts5TermsetFree(tls *libc.TLS, p uintptr) { /* sqlite3.c:220210:13: */ if p != 0 { var i U32 for i = U32(0); i < U32(int32(uint64(unsafe.Sizeof([512]uintptr{}))/uint64(unsafe.Sizeof(uintptr(0))))); i++ { @@ -192230,18 +192261,18 @@ func sqlite3Fts5TermsetFree(tls *libc.TLS, p uintptr) { /* sqlite3.c:220153:13: // Maximum allowed page size -func fts5_iswhitespace(tls *libc.TLS, x int8) int32 { /* sqlite3.c:220195:12: */ +func fts5_iswhitespace(tls *libc.TLS, x int8) int32 { /* sqlite3.c:220252:12: */ return libc.Bool32(int32(x) == ' ') } -func fts5_isopenquote(tls *libc.TLS, x int8) int32 { /* sqlite3.c:220199:12: */ +func fts5_isopenquote(tls *libc.TLS, x int8) int32 { /* sqlite3.c:220256:12: */ return libc.Bool32(int32(x) == '"' || int32(x) == '\'' || int32(x) == '[' || int32(x) == '`') } // Argument pIn points to a character that is part of a nul-terminated // string. Return a pointer to the first character following *pIn in // the string that is not a white-space character. -func fts5ConfigSkipWhitespace(tls *libc.TLS, pIn uintptr) uintptr { /* sqlite3.c:220208:19: */ +func fts5ConfigSkipWhitespace(tls *libc.TLS, pIn uintptr) uintptr { /* sqlite3.c:220265:19: */ var p uintptr = pIn if p != 0 { for fts5_iswhitespace(tls, *(*int8)(unsafe.Pointer(p))) != 0 { @@ -192254,7 +192285,7 @@ func fts5ConfigSkipWhitespace(tls *libc.TLS, pIn uintptr) uintptr { /* sqlite3.c // Argument pIn points to a character that is part of a nul-terminated // string. Return a pointer to the first character following *pIn in // the string that is not a "bareword" character. -func fts5ConfigSkipBareword(tls *libc.TLS, pIn uintptr) uintptr { /* sqlite3.c:220221:19: */ +func fts5ConfigSkipBareword(tls *libc.TLS, pIn uintptr) uintptr { /* sqlite3.c:220278:19: */ var p uintptr = pIn for sqlite3Fts5IsBareword(tls, *(*int8)(unsafe.Pointer(p))) != 0 { p++ @@ -192265,11 +192296,11 @@ func fts5ConfigSkipBareword(tls *libc.TLS, pIn uintptr) uintptr { /* sqlite3.c:2 return p } -func fts5_isdigit(tls *libc.TLS, a int8) int32 { /* sqlite3.c:220228:12: */ +func fts5_isdigit(tls *libc.TLS, a int8) int32 { /* sqlite3.c:220285:12: */ return libc.Bool32(int32(a) >= '0' && int32(a) <= '9') } -func fts5ConfigSkipLiteral(tls *libc.TLS, pIn uintptr) uintptr { /* sqlite3.c:220234:19: */ +func fts5ConfigSkipLiteral(tls *libc.TLS, pIn uintptr) uintptr { /* sqlite3.c:220291:19: */ var p uintptr = pIn switch int32(*(*int8)(unsafe.Pointer(p))) { case 'n': @@ -192358,7 +192389,7 @@ func fts5ConfigSkipLiteral(tls *libc.TLS, pIn uintptr) uintptr { /* sqlite3.c:22 // the character immediately following it. Or, if the close-quote is not // found, -1 is returned. If -1 is returned, the buffer is left in an // undefined state. -func fts5Dequote(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:220310:12: */ +func fts5Dequote(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:220367:12: */ var q int8 var iIn int32 = 1 var iOut int32 = 0 @@ -192403,7 +192434,7 @@ func fts5Dequote(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:220310:12: */ // 'xyz' becomes xyz // [pqr] becomes pqr // `mno` becomes mno -func sqlite3Fts5Dequote(tls *libc.TLS, z uintptr) { /* sqlite3.c:220355:13: */ +func sqlite3Fts5Dequote(tls *libc.TLS, z uintptr) { /* sqlite3.c:220412:13: */ var quote int8 // Quote character (if any ) quote = *(*int8)(unsafe.Pointer(z)) @@ -192416,11 +192447,11 @@ type Fts5Enum1 = struct { FzName uintptr FeVal int32 F__ccgo_pad1 [4]byte -} /* sqlite3.c:220366:1 */ +} /* sqlite3.c:220423:1 */ -type Fts5Enum = Fts5Enum1 /* sqlite3.c:220370:25 */ +type Fts5Enum = Fts5Enum1 /* sqlite3.c:220427:25 */ -func fts5ConfigSetEnum(tls *libc.TLS, aEnum uintptr, zEnum uintptr, peVal uintptr) int32 { /* sqlite3.c:220372:12: */ +func fts5ConfigSetEnum(tls *libc.TLS, aEnum uintptr, zEnum uintptr, peVal uintptr) int32 { /* sqlite3.c:220429:12: */ var nEnum int32 = int32(libc.Xstrlen(tls, zEnum)) var i int32 var iVal int32 = -1 @@ -192448,7 +192479,7 @@ func fts5ConfigSetEnum(tls *libc.TLS, aEnum uintptr, zEnum uintptr, peVal uintpt // an error occurs, an SQLite error code is returned and an error message // may be left in *pzErr. It is the responsibility of the caller to // eventually free any such error message using sqlite3_free(). -func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCmd uintptr, zArg uintptr, pzErr uintptr) int32 { /* sqlite3.c:220401:12: */ +func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCmd uintptr, zArg uintptr, pzErr uintptr) int32 { /* sqlite3.c:220458:12: */ bp := tls.Alloc(112) defer tls.Free(112) @@ -192611,7 +192642,7 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm // Allocate an instance of the default tokenizer ("simple") at // Fts5Config.pTokenizer. Return SQLITE_OK if successful, or an SQLite error // code if an error occurs. -func fts5ConfigDefaultTokenizer(tls *libc.TLS, pGlobal uintptr, pConfig uintptr) int32 { /* sqlite3.c:220565:12: */ +func fts5ConfigDefaultTokenizer(tls *libc.TLS, pGlobal uintptr, pConfig uintptr) int32 { /* sqlite3.c:220622:12: */ return sqlite3Fts5GetTokenizer(tls, pGlobal, uintptr(0), 0, pConfig, uintptr(0)) } @@ -192629,7 +192660,7 @@ func fts5ConfigDefaultTokenizer(tls *libc.TLS, pGlobal uintptr, pConfig uintptr) // a no-op (NULL is returned). Otherwise, if an OOM occurs within this // function, *pRc is set to SQLITE_NOMEM before returning. *pRc is *not* // set if a parse error (failed to find close quote) occurs. -func fts5ConfigGobbleWord(tls *libc.TLS, pRc uintptr, zIn uintptr, pzOut uintptr, pbQuoted uintptr) uintptr { /* sqlite3.c:220585:19: */ +func fts5ConfigGobbleWord(tls *libc.TLS, pRc uintptr, zIn uintptr, pzOut uintptr, pbQuoted uintptr) uintptr { /* sqlite3.c:220642:19: */ var zRet uintptr = uintptr(0) var nIn Sqlite3_int64 = Sqlite3_int64(libc.Xstrlen(tls, zIn)) @@ -192663,7 +192694,7 @@ func fts5ConfigGobbleWord(tls *libc.TLS, pRc uintptr, zIn uintptr, pzOut uintptr return zRet } -func fts5ConfigParseColumn(tls *libc.TLS, p uintptr, zCol uintptr, zArg uintptr, pzErr uintptr) int32 { /* sqlite3.c:220625:12: */ +func fts5ConfigParseColumn(tls *libc.TLS, p uintptr, zCol uintptr, zArg uintptr, pzErr uintptr) int32 { /* sqlite3.c:220682:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -192686,7 +192717,7 @@ func fts5ConfigParseColumn(tls *libc.TLS, p uintptr, zCol uintptr, zArg uintptr, } // Populate the Fts5Config.zContentExprlist string. -func fts5ConfigMakeExprlist(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:220653:12: */ +func fts5ConfigMakeExprlist(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:220710:12: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -192719,7 +192750,7 @@ func fts5ConfigMakeExprlist(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:22065 // returned, *ppOut is set to NULL and an error message may be left in // *pzErr. It is the responsibility of the caller to eventually free any // such error message using sqlite3_free(). -func sqlite3Fts5ConfigParse(tls *libc.TLS, pGlobal uintptr, db uintptr, nArg int32, azArg uintptr, ppOut uintptr, pzErr uintptr) int32 { /* sqlite3.c:220686:12: */ +func sqlite3Fts5ConfigParse(tls *libc.TLS, pGlobal uintptr, db uintptr, nArg int32, azArg uintptr, ppOut uintptr, pzErr uintptr) int32 { /* sqlite3.c:220743:12: */ bp := tls.Alloc(76) defer tls.Free(76) @@ -192852,7 +192883,7 @@ func sqlite3Fts5ConfigParse(tls *libc.TLS, pGlobal uintptr, db uintptr, nArg int } // Free the configuration object passed as the only argument. -func sqlite3Fts5ConfigFree(tls *libc.TLS, pConfig uintptr) { /* sqlite3.c:220810:13: */ +func sqlite3Fts5ConfigFree(tls *libc.TLS, pConfig uintptr) { /* sqlite3.c:220867:13: */ if pConfig != 0 { var i int32 if (*Fts5Config)(unsafe.Pointer(pConfig)).FpTok != 0 { @@ -192877,7 +192908,7 @@ func sqlite3Fts5ConfigFree(tls *libc.TLS, pConfig uintptr) { /* sqlite3.c:220810 // Call sqlite3_declare_vtab() based on the contents of the configuration // object passed as the only argument. Return SQLITE_OK if successful, or // an SQLite error code if an error occurs. -func sqlite3Fts5ConfigDeclareVtab(tls *libc.TLS, pConfig uintptr) int32 { /* sqlite3.c:220837:12: */ +func sqlite3Fts5ConfigDeclareVtab(tls *libc.TLS, pConfig uintptr) int32 { /* sqlite3.c:220894:12: */ bp := tls.Alloc(52) defer tls.Free(52) @@ -192927,7 +192958,7 @@ func sqlite3Fts5ConfigDeclareVtab(tls *libc.TLS, pConfig uintptr) int32 { /* sql // still returns SQLITE_OK. Or, if the tokenization was abandoned early // 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) int32 { /* sqlite3.c:220883:12: */ +func sqlite3Fts5Tokenize(tls *libc.TLS, pConfig uintptr, flags int32, pText uintptr, nText int32, pCtx uintptr, xToken uintptr) int32 { /* sqlite3.c:220940:12: */ if pText == uintptr(0) { return SQLITE_OK } @@ -192941,7 +192972,7 @@ func sqlite3Fts5Tokenize(tls *libc.TLS, pConfig uintptr, flags int32, pText uint // a comma-separated list of SQL literals followed by a ')' character. // If it actually is this, return a pointer to the ')'. Otherwise, return // NULL to indicate a parse error. -func fts5ConfigSkipArgs(tls *libc.TLS, pIn uintptr) uintptr { /* sqlite3.c:220902:19: */ +func fts5ConfigSkipArgs(tls *libc.TLS, pIn uintptr) uintptr { /* sqlite3.c:220959:19: */ var p uintptr = pIn for 1 != 0 { @@ -192968,7 +192999,7 @@ func fts5ConfigSkipArgs(tls *libc.TLS, pIn uintptr) uintptr { /* sqlite3.c:22090 // + Open parenthesis - "(" // + Zero or more SQL literals in a comma separated list // + Close parenthesis - ")" -func sqlite3Fts5ConfigParseRank(tls *libc.TLS, zIn uintptr, pzRank uintptr, pzRankArgs uintptr) int32 { /* sqlite3.c:220929:12: */ +func sqlite3Fts5ConfigParseRank(tls *libc.TLS, zIn uintptr, pzRank uintptr, pzRankArgs uintptr) int32 { /* sqlite3.c:220986:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -193032,7 +193063,7 @@ func sqlite3Fts5ConfigParseRank(tls *libc.TLS, zIn uintptr, pzRank uintptr, pzRa return *(*int32)(unsafe.Pointer(bp /* rc */)) } -func sqlite3Fts5ConfigSetValue(tls *libc.TLS, pConfig uintptr, zKey uintptr, pVal uintptr, pbBadkey uintptr) int32 { /* sqlite3.c:220988:12: */ +func sqlite3Fts5ConfigSetValue(tls *libc.TLS, pConfig uintptr, zKey uintptr, pVal uintptr, pbBadkey uintptr) int32 { /* sqlite3.c:221045:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -193120,7 +193151,7 @@ func sqlite3Fts5ConfigSetValue(tls *libc.TLS, pConfig uintptr, zKey uintptr, pVa } // Load the contents of the %_config table into memory. -func sqlite3Fts5ConfigLoad(tls *libc.TLS, pConfig uintptr, iCookie int32) int32 { /* sqlite3.c:221082:12: */ +func sqlite3Fts5ConfigLoad(tls *libc.TLS, pConfig uintptr, iCookie int32) int32 { /* sqlite3.c:221139:12: */ bp := tls.Alloc(52) defer tls.Free(52) @@ -193197,7 +193228,7 @@ type Fts5ExprTerm1 = struct { FzTerm uintptr FpIter uintptr FpSynonym uintptr -} /* sqlite3.c:216813:9 */ +} /* sqlite3.c:216870:9 */ // 2014 May 31 // @@ -193216,9 +193247,9 @@ type Fts5ExprTerm1 = struct { // All token types in the generated fts5parse.h file are greater than 0. -type Fts5ExprTerm = Fts5ExprTerm1 /* sqlite3.c:221160:29 */ +type Fts5ExprTerm = Fts5ExprTerm1 /* sqlite3.c:221217:29 */ -func sqlite3Fts5ParseError(tls *libc.TLS, pParse uintptr, zFmt uintptr, va uintptr) { /* sqlite3.c:221267:13: */ +func sqlite3Fts5ParseError(tls *libc.TLS, pParse uintptr, zFmt uintptr, va uintptr) { /* sqlite3.c:221324:13: */ var ap Va_list _ = ap ap = va @@ -193230,12 +193261,12 @@ func sqlite3Fts5ParseError(tls *libc.TLS, pParse uintptr, zFmt uintptr, va uintp _ = ap } -func fts5ExprIsspace(tls *libc.TLS, t int8) int32 { /* sqlite3.c:221278:12: */ +func fts5ExprIsspace(tls *libc.TLS, t int8) int32 { /* sqlite3.c:221335:12: */ return libc.Bool32(int32(t) == ' ' || int32(t) == '\t' || int32(t) == '\n' || int32(t) == '\r') } // Read the first token from the nul-terminated string at *pz. -func fts5ExprGetToken(tls *libc.TLS, pParse uintptr, pz uintptr, pToken uintptr) int32 { /* sqlite3.c:221285:12: */ +func fts5ExprGetToken(tls *libc.TLS, pParse uintptr, pz uintptr, pToken uintptr) int32 { /* sqlite3.c:221342:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -193335,15 +193366,15 @@ func fts5ExprGetToken(tls *libc.TLS, pParse uintptr, pz uintptr, pToken uintptr) return tok } -func fts5ParseAlloc(tls *libc.TLS, t U64) uintptr { /* sqlite3.c:221349:13: */ +func fts5ParseAlloc(tls *libc.TLS, t U64) uintptr { /* sqlite3.c:221406:13: */ return Xsqlite3_malloc64(tls, uint64(Sqlite3_int64(t))) } -func fts5ParseFree(tls *libc.TLS, p uintptr) { /* sqlite3.c:221350:13: */ +func fts5ParseFree(tls *libc.TLS, p uintptr) { /* sqlite3.c:221407:13: */ Xsqlite3_free(tls, p) } -func sqlite3Fts5ExprNew(tls *libc.TLS, pConfig uintptr, bPhraseToAnd int32, iCol int32, zExpr uintptr, ppNew uintptr, pzErr uintptr) int32 { /* sqlite3.c:221352:12: */ +func sqlite3Fts5ExprNew(tls *libc.TLS, pConfig uintptr, bPhraseToAnd int32, iCol int32, zExpr uintptr, ppNew uintptr, pzErr uintptr) int32 { /* sqlite3.c:221409:12: */ bp := tls.Alloc(72) defer tls.Free(72) @@ -193421,7 +193452,7 @@ func sqlite3Fts5ExprNew(tls *libc.TLS, pConfig uintptr, bPhraseToAnd int32, iCol // expression that will match a superset of the rows matched by the LIKE or // GLOB. If successful, SQLITE_OK is returned. Otherwise, an SQLite error // code. -func sqlite3Fts5ExprPattern(tls *libc.TLS, pConfig uintptr, bGlob int32, iCol int32, zText uintptr, pp uintptr) int32 { /* sqlite3.c:221433:12: */ +func sqlite3Fts5ExprPattern(tls *libc.TLS, pConfig uintptr, bGlob int32, iCol int32, zText uintptr, pp uintptr) int32 { /* sqlite3.c:221490:12: */ bp := tls.Alloc(3) defer tls.Free(3) @@ -193496,7 +193527,7 @@ func sqlite3Fts5ExprPattern(tls *libc.TLS, pConfig uintptr, bGlob int32, iCol in } // Free the expression node object passed as the only argument. -func sqlite3Fts5ParseNodeFree(tls *libc.TLS, p uintptr) { /* sqlite3.c:221503:13: */ +func sqlite3Fts5ParseNodeFree(tls *libc.TLS, p uintptr) { /* sqlite3.c:221560:13: */ if p != 0 { var i int32 for i = 0; i < (*Fts5ExprNode)(unsafe.Pointer(p)).FnChild; i++ { @@ -193508,7 +193539,7 @@ func sqlite3Fts5ParseNodeFree(tls *libc.TLS, p uintptr) { /* sqlite3.c:221503:13 } // Free the expression object passed as the only argument. -func sqlite3Fts5ExprFree(tls *libc.TLS, p uintptr) { /* sqlite3.c:221517:13: */ +func sqlite3Fts5ExprFree(tls *libc.TLS, p uintptr) { /* sqlite3.c:221574:13: */ if p != 0 { sqlite3Fts5ParseNodeFree(tls, (*Fts5Expr)(unsafe.Pointer(p)).FpRoot) Xsqlite3_free(tls, (*Fts5Expr)(unsafe.Pointer(p)).FapExprPhrase) @@ -193516,7 +193547,7 @@ func sqlite3Fts5ExprFree(tls *libc.TLS, p uintptr) { /* sqlite3.c:221517:13: */ } } -func sqlite3Fts5ExprAnd(tls *libc.TLS, pp1 uintptr, p2 uintptr) int32 { /* sqlite3.c:221525:12: */ +func sqlite3Fts5ExprAnd(tls *libc.TLS, pp1 uintptr, p2 uintptr) int32 { /* sqlite3.c:221582:12: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -193557,7 +193588,7 @@ func sqlite3Fts5ExprAnd(tls *libc.TLS, pp1 uintptr, p2 uintptr) int32 { /* sqlit // Argument pTerm must be a synonym iterator. Return the current rowid // that it points to. -func fts5ExprSynonymRowid(tls *libc.TLS, pTerm uintptr, bDesc int32, pbEof uintptr) I64 { /* sqlite3.c:221565:12: */ +func fts5ExprSynonymRowid(tls *libc.TLS, pTerm uintptr, bDesc int32, pbEof uintptr) I64 { /* sqlite3.c:221622:12: */ var iRet I64 = int64(0) var bRetValid int32 = 0 var p uintptr @@ -193579,7 +193610,7 @@ func fts5ExprSynonymRowid(tls *libc.TLS, pTerm uintptr, bDesc int32, pbEof uintp } // Argument pTerm must be a synonym iterator. -func fts5ExprSynonymList(tls *libc.TLS, pTerm uintptr, iRowid I64, pBuf uintptr, pa uintptr, pn uintptr) int32 { /* sqlite3.c:221590:12: */ +func fts5ExprSynonymList(tls *libc.TLS, pTerm uintptr, iRowid I64, pBuf uintptr, pa uintptr, pn uintptr) int32 { /* sqlite3.c:221647:12: */ bp := tls.Alloc(136) defer tls.Free(136) @@ -193743,7 +193774,7 @@ __22: // SQLITE_OK is returned if an error occurs, or an SQLite error code // otherwise. It is not considered an error code if the current rowid is // not a match. -func fts5ExprPhraseIsMatch(tls *libc.TLS, pNode uintptr, pPhrase uintptr, pbMatch uintptr) int32 { /* sqlite3.c:221673:12: */ +func fts5ExprPhraseIsMatch(tls *libc.TLS, pNode uintptr, pPhrase uintptr, pbMatch uintptr) int32 { /* sqlite3.c:221730:12: */ bp := tls.Alloc(168) defer tls.Free(168) @@ -193968,11 +193999,11 @@ type Fts5LookaheadReader1 = struct { Fi int32 FiPos I64 FiLookahead I64 -} /* sqlite3.c:221757:9 */ +} /* sqlite3.c:221814:9 */ -type Fts5LookaheadReader = Fts5LookaheadReader1 /* sqlite3.c:221757:36 */ +type Fts5LookaheadReader = Fts5LookaheadReader1 /* sqlite3.c:221814:36 */ -func fts5LookaheadReaderNext(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:221768:12: */ +func fts5LookaheadReaderNext(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:221825:12: */ (*Fts5LookaheadReader)(unsafe.Pointer(p)).FiPos = (*Fts5LookaheadReader)(unsafe.Pointer(p)).FiLookahead if sqlite3Fts5PoslistNext64(tls, (*Fts5LookaheadReader)(unsafe.Pointer(p)).Fa, (*Fts5LookaheadReader)(unsafe.Pointer(p)).Fn, p+12, p+24) != 0 { (*Fts5LookaheadReader)(unsafe.Pointer(p)).FiLookahead = I64(int64(1)) << 62 @@ -193980,7 +194011,7 @@ func fts5LookaheadReaderNext(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:2217 return libc.Bool32((*Fts5LookaheadReader)(unsafe.Pointer(p)).FiPos == I64(int64(1))<<62) } -func fts5LookaheadReaderInit(tls *libc.TLS, a uintptr, n int32, p uintptr) int32 { /* sqlite3.c:221776:12: */ +func fts5LookaheadReaderInit(tls *libc.TLS, a uintptr, n int32, p uintptr) int32 { /* sqlite3.c:221833:12: */ libc.X__builtin___memset_chk(tls, p, 0, uint64(unsafe.Sizeof(Fts5LookaheadReader{})), libc.X__builtin_object_size(tls, p, 0)) (*Fts5LookaheadReader)(unsafe.Pointer(p)).Fa = a (*Fts5LookaheadReader)(unsafe.Pointer(p)).Fn = n @@ -193992,9 +194023,9 @@ type Fts5NearTrimmer1 = struct { Freader Fts5LookaheadReader Fwriter Fts5PoslistWriter FpOut uintptr -} /* sqlite3.c:221787:9 */ +} /* sqlite3.c:221844:9 */ -type Fts5NearTrimmer = Fts5NearTrimmer1 /* sqlite3.c:221787:32 */ +type Fts5NearTrimmer = Fts5NearTrimmer1 /* sqlite3.c:221844:32 */ // The near-set object passed as the first argument contains more than // one phrase. All phrases currently point to the same row. The @@ -194011,7 +194042,7 @@ type Fts5NearTrimmer = Fts5NearTrimmer1 /* sqlite3.c:221787:32 */ // If no error occurs and non-zero (a match) is returned, the position-list // of each phrase object is edited to contain only those entries that // meet the constraint before returning. -func fts5ExprNearIsMatch(tls *libc.TLS, pRc uintptr, pNear uintptr) int32 { /* sqlite3.c:221811:12: */ +func fts5ExprNearIsMatch(tls *libc.TLS, pRc uintptr, pNear uintptr) int32 { /* sqlite3.c:221868:12: */ bp := tls.Alloc(196) defer tls.Free(196) @@ -194213,7 +194244,7 @@ __29: // If the iterator reaches EOF, set *pbEof to true before returning. If // an error occurs, set *pRc to an error code. If either *pbEof or *pRc // are set, return a non-zero value. Otherwise, return zero. -func fts5ExprAdvanceto(tls *libc.TLS, pIter uintptr, bDesc int32, piLast uintptr, pRc uintptr, pbEof uintptr) int32 { /* sqlite3.c:221910:12: */ +func fts5ExprAdvanceto(tls *libc.TLS, pIter uintptr, bDesc int32, piLast uintptr, pRc uintptr, pbEof uintptr) int32 { /* sqlite3.c:221967:12: */ var iLast I64 = *(*I64)(unsafe.Pointer(piLast)) var iRowid I64 @@ -194233,7 +194264,7 @@ func fts5ExprAdvanceto(tls *libc.TLS, pIter uintptr, bDesc int32, piLast uintptr return 0 } -func fts5ExprSynonymAdvanceto(tls *libc.TLS, pTerm uintptr, bDesc int32, piLast uintptr, pRc uintptr) int32 { /* sqlite3.c:221936:12: */ +func fts5ExprSynonymAdvanceto(tls *libc.TLS, pTerm uintptr, bDesc int32, piLast uintptr, pRc uintptr) int32 { /* sqlite3.c:221993:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -194260,7 +194291,7 @@ func fts5ExprSynonymAdvanceto(tls *libc.TLS, pTerm uintptr, bDesc int32, piLast return *(*int32)(unsafe.Pointer(bp /* bEof */)) } -func fts5ExprNearTest(tls *libc.TLS, pRc uintptr, pExpr uintptr, pNode uintptr) int32 { /* sqlite3.c:221966:12: */ +func fts5ExprNearTest(tls *libc.TLS, pRc uintptr, pExpr uintptr, pNode uintptr) int32 { /* sqlite3.c:222023:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -194317,7 +194348,7 @@ func fts5ExprNearTest(tls *libc.TLS, pRc uintptr, pExpr uintptr, pNode uintptr) // If an error occurs, return an SQLite error code. Otherwise, return // SQLITE_OK. It is not considered an error if some term matches zero // documents. -func fts5ExprNearInitAll(tls *libc.TLS, pExpr uintptr, pNode uintptr) int32 { /* sqlite3.c:222025:12: */ +func fts5ExprNearInitAll(tls *libc.TLS, pExpr uintptr, pNode uintptr) int32 { /* sqlite3.c:222082:12: */ var pNear uintptr = (*Fts5ExprNode)(unsafe.Pointer(pNode)).FpNear var i int32 @@ -194383,7 +194414,7 @@ func fts5ExprNearInitAll(tls *libc.TLS, pExpr uintptr, pNode uintptr) int32 { /* // Otherwise, if this is a DESC iterator, the opposite is returned: // // (iRhs - iLhs) -func fts5RowidCmp(tls *libc.TLS, pExpr uintptr, iLhs I64, iRhs I64) int32 { /* sqlite3.c:222087:12: */ +func fts5RowidCmp(tls *libc.TLS, pExpr uintptr, iLhs I64, iRhs I64) int32 { /* sqlite3.c:222144:12: */ if (*Fts5Expr)(unsafe.Pointer(pExpr)).FbDesc == 0 { if iLhs < iRhs { @@ -194399,7 +194430,7 @@ func fts5RowidCmp(tls *libc.TLS, pExpr uintptr, iLhs I64, iRhs I64) int32 { /* s return int32(0) } -func fts5ExprSetEof(tls *libc.TLS, pNode uintptr) { /* sqlite3.c:222102:13: */ +func fts5ExprSetEof(tls *libc.TLS, pNode uintptr) { /* sqlite3.c:222159:13: */ var i int32 (*Fts5ExprNode)(unsafe.Pointer(pNode)).FbEof = 1 (*Fts5ExprNode)(unsafe.Pointer(pNode)).FbNomatch = 0 @@ -194408,7 +194439,7 @@ func fts5ExprSetEof(tls *libc.TLS, pNode uintptr) { /* sqlite3.c:222102:13: */ } } -func fts5ExprNodeZeroPoslist(tls *libc.TLS, pNode uintptr) { /* sqlite3.c:222111:13: */ +func fts5ExprNodeZeroPoslist(tls *libc.TLS, pNode uintptr) { /* sqlite3.c:222168:13: */ if (*Fts5ExprNode)(unsafe.Pointer(pNode)).FeType == FTS5_STRING || (*Fts5ExprNode)(unsafe.Pointer(pNode)).FeType == FTS5_TERM { var pNear uintptr = (*Fts5ExprNode)(unsafe.Pointer(pNode)).FpNear var i int32 @@ -194434,7 +194465,7 @@ func fts5ExprNodeZeroPoslist(tls *libc.TLS, pNode uintptr) { /* sqlite3.c:222111 // This means that if the iteration order is ASC, then numerically larger // rowids are considered larger. Or if it is the default DESC, numerically // smaller rowids are larger. -func fts5NodeCompare(tls *libc.TLS, pExpr uintptr, p1 uintptr, p2 uintptr) int32 { /* sqlite3.c:222141:12: */ +func fts5NodeCompare(tls *libc.TLS, pExpr uintptr, p1 uintptr, p2 uintptr) int32 { /* sqlite3.c:222198:12: */ if (*Fts5ExprNode)(unsafe.Pointer(p2)).FbEof != 0 { return -1 } @@ -194453,7 +194484,7 @@ func fts5NodeCompare(tls *libc.TLS, pExpr uintptr, p1 uintptr, p2 uintptr) int32 // SQLITE_OK is returned if an error occurs, or an SQLite error code // otherwise. It is not considered an error code if an iterator reaches // EOF. -func fts5ExprNodeTest_STRING(tls *libc.TLS, pExpr uintptr, pNode uintptr) int32 { /* sqlite3.c:222162:12: */ +func fts5ExprNodeTest_STRING(tls *libc.TLS, pExpr uintptr, pNode uintptr) int32 { /* sqlite3.c:222219:12: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -194521,7 +194552,7 @@ func fts5ExprNodeTest_STRING(tls *libc.TLS, pExpr uintptr, pNode uintptr) int32 // // Return SQLITE_OK if successful, or an SQLite error code if an error // occurs. -func fts5ExprNodeNext_STRING(tls *libc.TLS, pExpr uintptr, pNode uintptr, bFromValid int32, iFrom I64) int32 { /* sqlite3.c:222232:12: */ +func fts5ExprNodeNext_STRING(tls *libc.TLS, pExpr uintptr, pNode uintptr, bFromValid int32, iFrom I64) int32 { /* sqlite3.c:222289:12: */ var pTerm uintptr = *(*uintptr)(unsafe.Pointer((*Fts5ExprNode)(unsafe.Pointer(pNode)).FpNear + 24)) + 32 var rc int32 = SQLITE_OK @@ -194580,7 +194611,7 @@ func fts5ExprNodeNext_STRING(tls *libc.TLS, pExpr uintptr, pNode uintptr, bFromV return rc } -func fts5ExprNodeTest_TERM(tls *libc.TLS, pExpr uintptr, pNode uintptr) int32 { /* sqlite3.c:222297:12: */ +func fts5ExprNodeTest_TERM(tls *libc.TLS, pExpr uintptr, pNode uintptr) int32 { /* sqlite3.c:222354:12: */ // As this "NEAR" object is actually a single phrase that consists // of a single term only, grab pointers into the poslist managed by the // fts5_index.c iterator object. This is much faster than synthesizing @@ -194599,7 +194630,7 @@ func fts5ExprNodeTest_TERM(tls *libc.TLS, pExpr uintptr, pNode uintptr) int32 { } // xNext() method for a node of type FTS5_TERM. -func fts5ExprNodeNext_TERM(tls *libc.TLS, pExpr uintptr, pNode uintptr, bFromValid int32, iFrom I64) int32 { /* sqlite3.c:222325:12: */ +func fts5ExprNodeNext_TERM(tls *libc.TLS, pExpr uintptr, pNode uintptr, bFromValid int32, iFrom I64) int32 { /* sqlite3.c:222382:12: */ var rc int32 var pIter uintptr = (*Fts5ExprTerm)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer((*Fts5ExprNode)(unsafe.Pointer(pNode)).FpNear + 24)) + 32)).FpIter @@ -194617,7 +194648,7 @@ func fts5ExprNodeNext_TERM(tls *libc.TLS, pExpr uintptr, pNode uintptr, bFromVal return rc } -func fts5ExprNodeTest_OR(tls *libc.TLS, pExpr uintptr, pNode uintptr) { /* sqlite3.c:222349:13: */ +func fts5ExprNodeTest_OR(tls *libc.TLS, pExpr uintptr, pNode uintptr) { /* sqlite3.c:222406:13: */ var pNext uintptr = *(*uintptr)(unsafe.Pointer(pNode + 48)) var i int32 @@ -194633,7 +194664,7 @@ func fts5ExprNodeTest_OR(tls *libc.TLS, pExpr uintptr, pNode uintptr) { /* sqlit (*Fts5ExprNode)(unsafe.Pointer(pNode)).FbNomatch = (*Fts5ExprNode)(unsafe.Pointer(pNext)).FbNomatch } -func fts5ExprNodeNext_OR(tls *libc.TLS, pExpr uintptr, pNode uintptr, bFromValid int32, iFrom I64) int32 { /* sqlite3.c:222368:12: */ +func fts5ExprNodeNext_OR(tls *libc.TLS, pExpr uintptr, pNode uintptr, bFromValid int32, iFrom I64) int32 { /* sqlite3.c:222425:12: */ var i int32 var iLast I64 = (*Fts5ExprNode)(unsafe.Pointer(pNode)).FiRowid @@ -194659,7 +194690,7 @@ func fts5ExprNodeNext_OR(tls *libc.TLS, pExpr uintptr, pNode uintptr, bFromValid } // Argument pNode is an FTS5_AND node. -func fts5ExprNodeTest_AND(tls *libc.TLS, pExpr uintptr, pAnd uintptr) int32 { /* sqlite3.c:222400:12: */ +func fts5ExprNodeTest_AND(tls *libc.TLS, pExpr uintptr, pAnd uintptr) int32 { /* sqlite3.c:222457:12: */ var iChild int32 var iLast I64 = (*Fts5ExprNode)(unsafe.Pointer(pAnd)).FiRowid var rc int32 = SQLITE_OK @@ -194709,7 +194740,7 @@ func fts5ExprNodeTest_AND(tls *libc.TLS, pExpr uintptr, pAnd uintptr) int32 { /* return SQLITE_OK } -func fts5ExprNodeNext_AND(tls *libc.TLS, pExpr uintptr, pNode uintptr, bFromValid int32, iFrom I64) int32 { /* sqlite3.c:222452:12: */ +func fts5ExprNodeNext_AND(tls *libc.TLS, pExpr uintptr, pNode uintptr, bFromValid int32, iFrom I64) int32 { /* sqlite3.c:222509:12: */ var rc int32 = (*struct { f func(*libc.TLS, uintptr, uintptr, int32, I64) int32 })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExprNode)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pNode + 48 /* &.apChild */)))).FxNext})).f(tls, pExpr, *(*uintptr)(unsafe.Pointer(pNode + 48 /* &.apChild */)), bFromValid, iFrom) @@ -194721,7 +194752,7 @@ func fts5ExprNodeNext_AND(tls *libc.TLS, pExpr uintptr, pNode uintptr, bFromVali return rc } -func fts5ExprNodeTest_NOT(tls *libc.TLS, pExpr uintptr, pNode uintptr) int32 { /* sqlite3.c:222467:12: */ +func fts5ExprNodeTest_NOT(tls *libc.TLS, pExpr uintptr, pNode uintptr) int32 { /* sqlite3.c:222524:12: */ var rc int32 = SQLITE_OK var p1 uintptr = *(*uintptr)(unsafe.Pointer(pNode + 48)) var p2 uintptr = *(*uintptr)(unsafe.Pointer(pNode + 48 + 1*8)) @@ -194751,7 +194782,7 @@ func fts5ExprNodeTest_NOT(tls *libc.TLS, pExpr uintptr, pNode uintptr) int32 { / return rc } -func fts5ExprNodeNext_NOT(tls *libc.TLS, pExpr uintptr, pNode uintptr, bFromValid int32, iFrom I64) int32 { /* sqlite3.c:222495:12: */ +func fts5ExprNodeNext_NOT(tls *libc.TLS, pExpr uintptr, pNode uintptr, bFromValid int32, iFrom I64) int32 { /* sqlite3.c:222552:12: */ var rc int32 = (*struct { f func(*libc.TLS, uintptr, uintptr, int32, I64) int32 })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExprNode)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pNode + 48 /* &.apChild */)))).FxNext})).f(tls, pExpr, *(*uintptr)(unsafe.Pointer(pNode + 48 /* &.apChild */)), bFromValid, iFrom) @@ -194767,7 +194798,7 @@ func fts5ExprNodeNext_NOT(tls *libc.TLS, pExpr uintptr, pNode uintptr, bFromVali // If pNode currently points to a match, this function returns SQLITE_OK // without modifying it. Otherwise, pNode is advanced until it does point // to a match or EOF is reached. -func fts5ExprNodeTest(tls *libc.TLS, pExpr uintptr, pNode uintptr) int32 { /* sqlite3.c:222516:12: */ +func fts5ExprNodeTest(tls *libc.TLS, pExpr uintptr, pNode uintptr) int32 { /* sqlite3.c:222573:12: */ var rc int32 = SQLITE_OK if (*Fts5ExprNode)(unsafe.Pointer(pNode)).FbEof == 0 { switch (*Fts5ExprNode)(unsafe.Pointer(pNode)).FeType { @@ -194820,7 +194851,7 @@ func fts5ExprNodeTest(tls *libc.TLS, pExpr uintptr, pNode uintptr) int32 { /* sq // // Return an SQLite error code if an error occurs, or SQLITE_OK otherwise. // It is not an error if there are no matches. -func fts5ExprNodeFirst(tls *libc.TLS, pExpr uintptr, pNode uintptr) int32 { /* sqlite3.c:222561:12: */ +func fts5ExprNodeFirst(tls *libc.TLS, pExpr uintptr, pNode uintptr) int32 { /* sqlite3.c:222618:12: */ var rc int32 = SQLITE_OK (*Fts5ExprNode)(unsafe.Pointer(pNode)).FbEof = 0 (*Fts5ExprNode)(unsafe.Pointer(pNode)).FbNomatch = 0 @@ -194882,7 +194913,7 @@ func fts5ExprNodeFirst(tls *libc.TLS, pExpr uintptr, pNode uintptr) int32 { /* s // // Return SQLITE_OK if successful, or an SQLite error code otherwise. It // is not considered an error if the query does not match any documents. -func sqlite3Fts5ExprFirst(tls *libc.TLS, p uintptr, pIdx uintptr, iFirst I64, bDesc int32) int32 { /* sqlite3.c:222620:12: */ +func sqlite3Fts5ExprFirst(tls *libc.TLS, p uintptr, pIdx uintptr, iFirst I64, bDesc int32) int32 { /* sqlite3.c:222677:12: */ var pRoot uintptr = (*Fts5Expr)(unsafe.Pointer(p)).FpRoot var rc int32 // Return code @@ -194914,7 +194945,7 @@ func sqlite3Fts5ExprFirst(tls *libc.TLS, p uintptr, pIdx uintptr, iFirst I64, bD // // Return SQLITE_OK if successful, or an SQLite error code otherwise. It // is not considered an error if the query does not match any documents. -func sqlite3Fts5ExprNext(tls *libc.TLS, p uintptr, iLast I64) int32 { /* sqlite3.c:222651:12: */ +func sqlite3Fts5ExprNext(tls *libc.TLS, p uintptr, iLast I64) int32 { /* sqlite3.c:222708:12: */ var rc int32 var pRoot uintptr = (*Fts5Expr)(unsafe.Pointer(p)).FpRoot @@ -194930,15 +194961,15 @@ func sqlite3Fts5ExprNext(tls *libc.TLS, p uintptr, iLast I64) int32 { /* sqlite3 return rc } -func sqlite3Fts5ExprEof(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:222665:12: */ +func sqlite3Fts5ExprEof(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:222722:12: */ return (*Fts5ExprNode)(unsafe.Pointer((*Fts5Expr)(unsafe.Pointer(p)).FpRoot)).FbEof } -func sqlite3Fts5ExprRowid(tls *libc.TLS, p uintptr) I64 { /* sqlite3.c:222669:12: */ +func sqlite3Fts5ExprRowid(tls *libc.TLS, p uintptr) I64 { /* sqlite3.c:222726:12: */ return (*Fts5ExprNode)(unsafe.Pointer((*Fts5Expr)(unsafe.Pointer(p)).FpRoot)).FiRowid } -func fts5ParseStringFromToken(tls *libc.TLS, pToken uintptr, pz uintptr) int32 { /* sqlite3.c:222673:12: */ +func fts5ParseStringFromToken(tls *libc.TLS, pToken uintptr, pz uintptr) int32 { /* sqlite3.c:222730:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -194948,7 +194979,7 @@ func fts5ParseStringFromToken(tls *libc.TLS, pToken uintptr, pz uintptr) int32 { } // Free the phrase object passed as the only argument. -func fts5ExprPhraseFree(tls *libc.TLS, pPhrase uintptr) { /* sqlite3.c:222682:13: */ +func fts5ExprPhraseFree(tls *libc.TLS, pPhrase uintptr) { /* sqlite3.c:222739:13: */ if pPhrase != 0 { var i int32 for i = 0; i < (*Fts5ExprPhrase)(unsafe.Pointer(pPhrase)).FnTerm; i++ { @@ -194973,7 +195004,7 @@ func fts5ExprPhraseFree(tls *libc.TLS, pPhrase uintptr) { /* sqlite3.c:222682:13 // Set the "bFirst" flag on the first token of the phrase passed as the // only argument. -func sqlite3Fts5ParseSetCaret(tls *libc.TLS, pPhrase uintptr) { /* sqlite3.c:222707:13: */ +func sqlite3Fts5ParseSetCaret(tls *libc.TLS, pPhrase uintptr) { /* sqlite3.c:222764:13: */ if pPhrase != 0 && (*Fts5ExprPhrase)(unsafe.Pointer(pPhrase)).FnTerm != 0 { (*Fts5ExprTerm)(unsafe.Pointer(pPhrase + 32)).FbFirst = U8(1) } @@ -194985,7 +195016,7 @@ func sqlite3Fts5ParseSetCaret(tls *libc.TLS, pPhrase uintptr) { /* sqlite3.c:222 // // If an OOM error occurs, both the pNear and pPhrase objects are freed and // NULL returned. -func sqlite3Fts5ParseNearset(tls *libc.TLS, pParse uintptr, pNear uintptr, pPhrase uintptr) uintptr { /* sqlite3.c:222721:24: */ +func sqlite3Fts5ParseNearset(tls *libc.TLS, pParse uintptr, pNear uintptr, pPhrase uintptr) uintptr { /* sqlite3.c:222778:24: */ var SZALLOC int32 = 8 var pRet uintptr = uintptr(0) @@ -195045,12 +195076,12 @@ type TokenCtx1 = struct { FpPhrase uintptr Frc int32 F__ccgo_pad1 [4]byte -} /* sqlite3.c:222781:9 */ +} /* sqlite3.c:222838:9 */ -type TokenCtx = TokenCtx1 /* sqlite3.c:222781:25 */ +type TokenCtx = TokenCtx1 /* sqlite3.c:222838:25 */ // Callback for tokenizing terms used by ParseTerm(). -func fts5ParseTokenize(tls *libc.TLS, pContext uintptr, tflags int32, pToken uintptr, nToken int32, iUnused1 int32, iUnused2 int32) int32 { /* sqlite3.c:222790:12: */ +func fts5ParseTokenize(tls *libc.TLS, pContext uintptr, tflags int32, pToken uintptr, nToken int32, iUnused1 int32, iUnused2 int32) int32 { /* sqlite3.c:222847:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -195119,12 +195150,12 @@ func fts5ParseTokenize(tls *libc.TLS, pContext uintptr, tflags int32, pToken uin } // Free the phrase object passed as the only argument. -func sqlite3Fts5ParsePhraseFree(tls *libc.TLS, pPhrase uintptr) { /* sqlite3.c:222855:13: */ +func sqlite3Fts5ParsePhraseFree(tls *libc.TLS, pPhrase uintptr) { /* sqlite3.c:222912:13: */ fts5ExprPhraseFree(tls, pPhrase) } // Free the phrase object passed as the second argument. -func sqlite3Fts5ParseNearsetFree(tls *libc.TLS, pNear uintptr) { /* sqlite3.c:222862:13: */ +func sqlite3Fts5ParseNearsetFree(tls *libc.TLS, pNear uintptr) { /* sqlite3.c:222919:13: */ if pNear != 0 { var i int32 for i = 0; i < (*Fts5ExprNearset)(unsafe.Pointer(pNear)).FnPhrase; i++ { @@ -195135,12 +195166,12 @@ func sqlite3Fts5ParseNearsetFree(tls *libc.TLS, pNear uintptr) { /* sqlite3.c:22 } } -func sqlite3Fts5ParseFinished(tls *libc.TLS, pParse uintptr, p uintptr) { /* sqlite3.c:222873:13: */ +func sqlite3Fts5ParseFinished(tls *libc.TLS, pParse uintptr, p uintptr) { /* sqlite3.c:222930:13: */ (*Fts5Parse)(unsafe.Pointer(pParse)).FpExpr = p } -func parseGrowPhraseArray(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:222878:12: */ +func parseGrowPhraseArray(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:222935:12: */ if (*Fts5Parse)(unsafe.Pointer(pParse)).FnPhrase%8 == 0 { var nByte Sqlite3_int64 = Sqlite3_int64(uint64(unsafe.Sizeof(uintptr(0))) * uint64((*Fts5Parse)(unsafe.Pointer(pParse)).FnPhrase+8)) var apNew uintptr @@ -195157,7 +195188,7 @@ func parseGrowPhraseArray(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:22 // This function is called by the parser to process a string token. The // string may or may not be quoted. In any case it is tokenized and a // phrase object consisting of all tokens returned. -func sqlite3Fts5ParseTerm(tls *libc.TLS, pParse uintptr, pAppend uintptr, pToken uintptr, bPrefix int32) uintptr { /* sqlite3.c:222897:23: */ +func sqlite3Fts5ParseTerm(tls *libc.TLS, pParse uintptr, pAppend uintptr, pToken uintptr, bPrefix int32) uintptr { /* sqlite3.c:222954:23: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -195215,7 +195246,7 @@ func sqlite3Fts5ParseTerm(tls *libc.TLS, pParse uintptr, pAppend uintptr, pToken // Create a new FTS5 expression by cloning phrase iPhrase of the // expression passed as the second argument. -func sqlite3Fts5ExprClonePhrase(tls *libc.TLS, pExpr uintptr, iPhrase int32, ppNew uintptr) int32 { /* sqlite3.c:222951:12: */ +func sqlite3Fts5ExprClonePhrase(tls *libc.TLS, pExpr uintptr, iPhrase int32, ppNew uintptr) int32 { /* sqlite3.c:223008:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -195310,7 +195341,7 @@ func sqlite3Fts5ExprClonePhrase(tls *libc.TLS, pExpr uintptr, iPhrase int32, ppN // Token pTok has appeared in a MATCH expression where the NEAR operator // is expected. If token pTok does not contain "NEAR", store an error // in the pParse object. -func sqlite3Fts5ParseNear(tls *libc.TLS, pParse uintptr, pTok uintptr) { /* sqlite3.c:223047:13: */ +func sqlite3Fts5ParseNear(tls *libc.TLS, pParse uintptr, pTok uintptr) { /* sqlite3.c:223104:13: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -195320,7 +195351,7 @@ func sqlite3Fts5ParseNear(tls *libc.TLS, pParse uintptr, pTok uintptr) { /* sqli } } -func sqlite3Fts5ParseSetDistance(tls *libc.TLS, pParse uintptr, pNear uintptr, p uintptr) { /* sqlite3.c:223055:13: */ +func sqlite3Fts5ParseSetDistance(tls *libc.TLS, pParse uintptr, pNear uintptr, p uintptr) { /* sqlite3.c:223112:13: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -195351,7 +195382,7 @@ func sqlite3Fts5ParseSetDistance(tls *libc.TLS, pParse uintptr, pNear uintptr, p // // If an OOM error occurs, store an error code in pParse and return NULL. // The old colset object (if any) is not freed in this case. -func fts5ParseColset(tls *libc.TLS, pParse uintptr, p uintptr, iCol int32) uintptr { /* sqlite3.c:223090:19: */ +func fts5ParseColset(tls *libc.TLS, pParse uintptr, p uintptr, iCol int32) uintptr { /* sqlite3.c:223147:19: */ var nCol int32 if p != 0 { nCol = (*Fts5Colset)(unsafe.Pointer(p)).FnCol @@ -195389,7 +195420,7 @@ func fts5ParseColset(tls *libc.TLS, pParse uintptr, p uintptr, iCol int32) uintp // Allocate and return an Fts5Colset object specifying the inverse of // the colset passed as the second argument. Free the colset passed // as the second argument before returning. -func sqlite3Fts5ParseColsetInvert(tls *libc.TLS, pParse uintptr, p uintptr) uintptr { /* sqlite3.c:223131:19: */ +func sqlite3Fts5ParseColsetInvert(tls *libc.TLS, pParse uintptr, p uintptr) uintptr { /* sqlite3.c:223188:19: */ var pRet uintptr var nCol int32 = (*Fts5Config)(unsafe.Pointer((*Fts5Parse)(unsafe.Pointer(pParse)).FpConfig)).FnCol @@ -195411,7 +195442,7 @@ func sqlite3Fts5ParseColsetInvert(tls *libc.TLS, pParse uintptr, p uintptr) uint return pRet } -func sqlite3Fts5ParseColset(tls *libc.TLS, pParse uintptr, pColset uintptr, p uintptr) uintptr { /* sqlite3.c:223154:19: */ +func sqlite3Fts5ParseColset(tls *libc.TLS, pParse uintptr, pColset uintptr, p uintptr) uintptr { /* sqlite3.c:223211:19: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -195450,7 +195481,7 @@ func sqlite3Fts5ParseColset(tls *libc.TLS, pParse uintptr, pColset uintptr, p ui // Otherwise, a copy of (*pOrig) is made into memory obtained from // sqlite3Fts5MallocZero() and a pointer to it returned. If the allocation // fails, (*pRc) is set to SQLITE_NOMEM and NULL is returned. -func fts5CloneColset(tls *libc.TLS, pRc uintptr, pOrig uintptr) uintptr { /* sqlite3.c:223194:19: */ +func fts5CloneColset(tls *libc.TLS, pRc uintptr, pOrig uintptr) uintptr { /* sqlite3.c:223251:19: */ var pRet uintptr if pOrig != 0 { var nByte Sqlite3_int64 = Sqlite3_int64(uint64(unsafe.Sizeof(Fts5Colset{})) + uint64((*Fts5Colset)(unsafe.Pointer(pOrig)).FnCol-1)*uint64(unsafe.Sizeof(int32(0)))) @@ -195465,7 +195496,7 @@ func fts5CloneColset(tls *libc.TLS, pRc uintptr, pOrig uintptr) uintptr { /* sql } // Remove from colset pColset any columns that are not also in colset pMerge. -func fts5MergeColset(tls *libc.TLS, pColset uintptr, pMerge uintptr) { /* sqlite3.c:223211:13: */ +func fts5MergeColset(tls *libc.TLS, pColset uintptr, pMerge uintptr) { /* sqlite3.c:223268:13: */ var iIn int32 = 0 // Next input in pColset var iMerge int32 = 0 // Next input in pMerge var iOut int32 = 0 // Next output slot in pColset @@ -195489,7 +195520,7 @@ func fts5MergeColset(tls *libc.TLS, pColset uintptr, pMerge uintptr) { /* sqlite // its decendents. If (*ppFree) is not NULL, it contains a spare copy // of pColset. This function may use the spare copy and set (*ppFree) to // zero, or it may create copies of pColset using fts5CloneColset(). -func fts5ParseSetColset(tls *libc.TLS, pParse uintptr, pNode uintptr, pColset uintptr, ppFree uintptr) { /* sqlite3.c:223237:13: */ +func fts5ParseSetColset(tls *libc.TLS, pParse uintptr, pNode uintptr, pColset uintptr, ppFree uintptr) { /* sqlite3.c:223294:13: */ if (*Fts5Parse)(unsafe.Pointer(pParse)).Frc == SQLITE_OK { if (*Fts5ExprNode)(unsafe.Pointer(pNode)).FeType == FTS5_STRING || (*Fts5ExprNode)(unsafe.Pointer(pNode)).FeType == FTS5_TERM { @@ -195517,7 +195548,7 @@ func fts5ParseSetColset(tls *libc.TLS, pParse uintptr, pNode uintptr, pColset ui } // Apply colset pColset to expression node pExpr and all of its descendents. -func sqlite3Fts5ParseSetColset(tls *libc.TLS, pParse uintptr, pExpr uintptr, pColset uintptr) { /* sqlite3.c:223275:13: */ +func sqlite3Fts5ParseSetColset(tls *libc.TLS, pParse uintptr, pExpr uintptr, pColset uintptr) { /* sqlite3.c:223332:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -195531,7 +195562,7 @@ func sqlite3Fts5ParseSetColset(tls *libc.TLS, pParse uintptr, pExpr uintptr, pCo Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp /* pFree */))) } -func fts5ExprAssignXNext(tls *libc.TLS, pNode uintptr) { /* sqlite3.c:223291:13: */ +func fts5ExprAssignXNext(tls *libc.TLS, pNode uintptr) { /* sqlite3.c:223348:13: */ switch (*Fts5ExprNode)(unsafe.Pointer(pNode)).FeType { case FTS5_STRING: { @@ -195582,7 +195613,7 @@ func fts5ExprAssignXNext(tls *libc.TLS, pNode uintptr) { /* sqlite3.c:223291:13: } } -func fts5ExprAddChildren(tls *libc.TLS, p uintptr, pSub uintptr) { /* sqlite3.c:223324:13: */ +func fts5ExprAddChildren(tls *libc.TLS, p uintptr, pSub uintptr) { /* sqlite3.c:223381:13: */ if (*Fts5ExprNode)(unsafe.Pointer(p)).FeType != FTS5_NOT && (*Fts5ExprNode)(unsafe.Pointer(pSub)).FeType == (*Fts5ExprNode)(unsafe.Pointer(p)).FeType { var nByte int32 = int32(uint64(unsafe.Sizeof(uintptr(0))) * uint64((*Fts5ExprNode)(unsafe.Pointer(pSub)).FnChild)) libc.X__builtin___memcpy_chk(tls, p+48+uintptr((*Fts5ExprNode)(unsafe.Pointer(p)).FnChild)*8, pSub+48, uint64(nByte), libc.X__builtin_object_size(tls, p+48+uintptr((*Fts5ExprNode)(unsafe.Pointer(p)).FnChild)*8, 0)) @@ -195602,7 +195633,7 @@ func fts5ExprAddChildren(tls *libc.TLS, p uintptr, pSub uintptr) { /* sqlite3.c: // into an AND tree: // // abc AND def AND ghi -func fts5ParsePhraseToAnd(tls *libc.TLS, pParse uintptr, pNear uintptr) uintptr { /* sqlite3.c:223346:21: */ +func fts5ParsePhraseToAnd(tls *libc.TLS, pParse uintptr, pNear uintptr) uintptr { /* sqlite3.c:223403:21: */ var nTerm int32 = (*Fts5ExprPhrase)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pNear + 24)))).FnTerm var ii int32 var nByte int32 @@ -195645,7 +195676,7 @@ func fts5ParsePhraseToAnd(tls *libc.TLS, pParse uintptr, pNear uintptr) uintptr // Allocate and return a new expression object. If anything goes wrong (i.e. // OOM error), leave an error code in pParse and return NULL. -func sqlite3Fts5ParseNode(tls *libc.TLS, pParse uintptr, eType int32, pLeft uintptr, pRight uintptr, pNear uintptr) uintptr { /* sqlite3.c:223400:21: */ +func sqlite3Fts5ParseNode(tls *libc.TLS, pParse uintptr, eType int32, pLeft uintptr, pRight uintptr, pNear uintptr) uintptr { /* sqlite3.c:223457:21: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -195733,7 +195764,7 @@ func sqlite3Fts5ParseNode(tls *libc.TLS, pParse uintptr, eType int32, pLeft uint return pRet } -func sqlite3Fts5ParseImplicitAnd(tls *libc.TLS, pParse uintptr, pLeft uintptr, pRight uintptr) uintptr { /* sqlite3.c:223482:21: */ +func sqlite3Fts5ParseImplicitAnd(tls *libc.TLS, pParse uintptr, pLeft uintptr, pRight uintptr) uintptr { /* sqlite3.c:223539:21: */ var pRet uintptr = uintptr(0) var pPrev uintptr @@ -195779,7 +195810,7 @@ func sqlite3Fts5ParseImplicitAnd(tls *libc.TLS, pParse uintptr, pLeft uintptr, p // This is called during initialization to register the fts5_expr() scalar // UDF with the SQLite handle passed as the only argument. -func sqlite3Fts5ExprInit(tls *libc.TLS, pGlobal uintptr, db uintptr) int32 { /* sqlite3.c:223919:12: */ +func sqlite3Fts5ExprInit(tls *libc.TLS, pGlobal uintptr, db uintptr) int32 { /* sqlite3.c:223976:12: */ var rc int32 = SQLITE_OK _ = pGlobal _ = db @@ -195792,7 +195823,7 @@ func sqlite3Fts5ExprInit(tls *libc.TLS, pGlobal uintptr, db uintptr) int32 { /* } // Return the number of phrases in expression pExpr. -func sqlite3Fts5ExprPhraseCount(tls *libc.TLS, pExpr uintptr) int32 { /* sqlite3.c:223956:12: */ +func sqlite3Fts5ExprPhraseCount(tls *libc.TLS, pExpr uintptr) int32 { /* sqlite3.c:224013:12: */ return func() int32 { if pExpr != 0 { return (*Fts5Expr)(unsafe.Pointer(pExpr)).FnPhrase @@ -195802,7 +195833,7 @@ func sqlite3Fts5ExprPhraseCount(tls *libc.TLS, pExpr uintptr) int32 { /* sqlite3 } // Return the number of terms in the iPhrase'th phrase in pExpr. -func sqlite3Fts5ExprPhraseSize(tls *libc.TLS, pExpr uintptr, iPhrase int32) int32 { /* sqlite3.c:223963:12: */ +func sqlite3Fts5ExprPhraseSize(tls *libc.TLS, pExpr uintptr, iPhrase int32) int32 { /* sqlite3.c:224020:12: */ if iPhrase < 0 || iPhrase >= (*Fts5Expr)(unsafe.Pointer(pExpr)).FnPhrase { return 0 } @@ -195811,7 +195842,7 @@ func sqlite3Fts5ExprPhraseSize(tls *libc.TLS, pExpr uintptr, iPhrase int32) int3 // This function is used to access the current position list for phrase // iPhrase. -func sqlite3Fts5ExprPoslist(tls *libc.TLS, pExpr uintptr, iPhrase int32, pa uintptr) int32 { /* sqlite3.c:223972:12: */ +func sqlite3Fts5ExprPoslist(tls *libc.TLS, pExpr uintptr, iPhrase int32, pa uintptr) int32 { /* sqlite3.c:224029:12: */ var nRet int32 var pPhrase uintptr = *(*uintptr)(unsafe.Pointer((*Fts5Expr)(unsafe.Pointer(pExpr)).FapExprPhrase + uintptr(iPhrase)*8)) var pNode uintptr = (*Fts5ExprPhrase)(unsafe.Pointer(pPhrase)).FpNode @@ -195832,7 +195863,7 @@ func sqlite3Fts5ExprPoslist(tls *libc.TLS, pExpr uintptr, iPhrase int32, pa uint // At present this function is only used for detail=col and detail=none // fts5 tables. This implies that all phrases must be at most 1 token // in size, as phrase matches are not supported without detail=full. -func sqlite3Fts5ExprClearPoslists(tls *libc.TLS, pExpr uintptr, bLive int32) uintptr { /* sqlite3.c:224001:29: */ +func sqlite3Fts5ExprClearPoslists(tls *libc.TLS, pExpr uintptr, bLive int32) uintptr { /* sqlite3.c:224058:29: */ var pRet uintptr pRet = Xsqlite3_malloc64(tls, uint64(uint64(unsafe.Sizeof(Fts5PoslistPopulator{}))*uint64((*Fts5Expr)(unsafe.Pointer(pExpr)).FnPhrase))) if pRet != 0 { @@ -195856,12 +195887,12 @@ type Fts5ExprCtx1 = struct { FpExpr uintptr FaPopulator uintptr FiOff I64 -} /* sqlite3.c:224023:1 */ +} /* sqlite3.c:224080:1 */ -type Fts5ExprCtx = Fts5ExprCtx1 /* sqlite3.c:224028:28 */ +type Fts5ExprCtx = Fts5ExprCtx1 /* sqlite3.c:224085:28 */ // TODO: Make this more efficient! -func fts5ExprColsetTest(tls *libc.TLS, pColset uintptr, iCol int32) int32 { /* sqlite3.c:224033:12: */ +func fts5ExprColsetTest(tls *libc.TLS, pColset uintptr, iCol int32) int32 { /* sqlite3.c:224090:12: */ var i int32 for i = 0; i < (*Fts5Colset)(unsafe.Pointer(pColset)).FnCol; i++ { if *(*int32)(unsafe.Pointer(pColset + 4 + uintptr(i)*4)) == iCol { @@ -195871,7 +195902,7 @@ func fts5ExprColsetTest(tls *libc.TLS, pColset uintptr, iCol int32) int32 { /* s return 0 } -func fts5ExprPopulatePoslistsCb(tls *libc.TLS, pCtx uintptr, tflags int32, pToken uintptr, nToken int32, iUnused1 int32, iUnused2 int32) int32 { /* sqlite3.c:224041:12: */ +func fts5ExprPopulatePoslistsCb(tls *libc.TLS, pCtx uintptr, tflags int32, pToken uintptr, nToken int32, iUnused1 int32, iUnused2 int32) int32 { /* sqlite3.c:224098:12: */ var p uintptr = pCtx var pExpr uintptr = (*Fts5ExprCtx)(unsafe.Pointer(p)).FpExpr var i int32 @@ -195906,7 +195937,7 @@ func fts5ExprPopulatePoslistsCb(tls *libc.TLS, pCtx uintptr, tflags int32, pToke return SQLITE_OK } -func sqlite3Fts5ExprPopulatePoslists(tls *libc.TLS, pConfig uintptr, pExpr uintptr, aPopulator uintptr, iCol int32, z uintptr, n int32) int32 { /* sqlite3.c:224076:12: */ +func sqlite3Fts5ExprPopulatePoslists(tls *libc.TLS, pConfig uintptr, pExpr uintptr, aPopulator uintptr, iCol int32, z uintptr, n int32) int32 { /* sqlite3.c:224133:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -195934,7 +195965,7 @@ func sqlite3Fts5ExprPopulatePoslists(tls *libc.TLS, pConfig uintptr, pExpr uintp }{fts5ExprPopulatePoslistsCb}))) } -func fts5ExprClearPoslists(tls *libc.TLS, pNode uintptr) { /* sqlite3.c:224106:13: */ +func fts5ExprClearPoslists(tls *libc.TLS, pNode uintptr) { /* sqlite3.c:224163:13: */ if (*Fts5ExprNode)(unsafe.Pointer(pNode)).FeType == FTS5_TERM || (*Fts5ExprNode)(unsafe.Pointer(pNode)).FeType == FTS5_STRING { (*Fts5ExprPhrase)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer((*Fts5ExprNode)(unsafe.Pointer(pNode)).FpNear + 24)))).Fposlist.Fn = 0 } else { @@ -195945,7 +195976,7 @@ func fts5ExprClearPoslists(tls *libc.TLS, pNode uintptr) { /* sqlite3.c:224106:1 } } -func fts5ExprCheckPoslists(tls *libc.TLS, pNode uintptr, iRowid I64) int32 { /* sqlite3.c:224117:12: */ +func fts5ExprCheckPoslists(tls *libc.TLS, pNode uintptr, iRowid I64) int32 { /* sqlite3.c:224174:12: */ (*Fts5ExprNode)(unsafe.Pointer(pNode)).FiRowid = iRowid (*Fts5ExprNode)(unsafe.Pointer(pNode)).FbEof = 0 switch (*Fts5ExprNode)(unsafe.Pointer(pNode)).FeType { @@ -195995,12 +196026,12 @@ func fts5ExprCheckPoslists(tls *libc.TLS, pNode uintptr, iRowid I64) int32 { /* return 1 } -func sqlite3Fts5ExprCheckPoslists(tls *libc.TLS, pExpr uintptr, iRowid I64) { /* sqlite3.c:224161:13: */ +func sqlite3Fts5ExprCheckPoslists(tls *libc.TLS, pExpr uintptr, iRowid I64) { /* sqlite3.c:224218:13: */ fts5ExprCheckPoslists(tls, (*Fts5Expr)(unsafe.Pointer(pExpr)).FpRoot, iRowid) } // This function is only called for detail=columns tables. -func sqlite3Fts5ExprPhraseCollist(tls *libc.TLS, pExpr uintptr, iPhrase int32, ppCollist uintptr, pnCollist uintptr) int32 { /* sqlite3.c:224168:12: */ +func sqlite3Fts5ExprPhraseCollist(tls *libc.TLS, pExpr uintptr, iPhrase int32, ppCollist uintptr, pnCollist uintptr) int32 { /* sqlite3.c:224225:12: */ var pPhrase uintptr = *(*uintptr)(unsafe.Pointer((*Fts5Expr)(unsafe.Pointer(pExpr)).FapExprPhrase + uintptr(iPhrase)*8)) var pNode uintptr = (*Fts5ExprPhrase)(unsafe.Pointer(pPhrase)).FpNode var rc int32 = SQLITE_OK @@ -196051,7 +196082,7 @@ type Fts5HashEntry1 = struct { FiCol I16 FiPos int32 FiRowid I64 -} /* sqlite3.c:216813:9 */ +} /* sqlite3.c:216870:9 */ // 2014 August 11 // @@ -196067,14 +196098,14 @@ type Fts5HashEntry1 = struct { // #include "fts5Int.h" -type Fts5HashEntry = Fts5HashEntry1 /* sqlite3.c:224221:30 */ +type Fts5HashEntry = Fts5HashEntry1 /* sqlite3.c:224278:30 */ // Eqivalent to: // // char *fts5EntryKey(Fts5HashEntry *pEntry){ return zKey; } // Allocate a new hash table. -func sqlite3Fts5HashNew(tls *libc.TLS, pConfig uintptr, ppNew uintptr, pnByte uintptr) int32 { /* sqlite3.c:224287:12: */ +func sqlite3Fts5HashNew(tls *libc.TLS, pConfig uintptr, ppNew uintptr, pnByte uintptr) int32 { /* sqlite3.c:224344:12: */ var rc int32 = SQLITE_OK var pNew uintptr @@ -196102,7 +196133,7 @@ func sqlite3Fts5HashNew(tls *libc.TLS, pConfig uintptr, ppNew uintptr, pnByte ui } // Free a hash table object. -func sqlite3Fts5HashFree(tls *libc.TLS, pHash uintptr) { /* sqlite3.c:224317:13: */ +func sqlite3Fts5HashFree(tls *libc.TLS, pHash uintptr) { /* sqlite3.c:224374:13: */ if pHash != 0 { sqlite3Fts5HashClear(tls, pHash) Xsqlite3_free(tls, (*Fts5Hash)(unsafe.Pointer(pHash)).FaSlot) @@ -196111,7 +196142,7 @@ func sqlite3Fts5HashFree(tls *libc.TLS, pHash uintptr) { /* sqlite3.c:224317:13: } // Empty (but do not delete) a hash table. -func sqlite3Fts5HashClear(tls *libc.TLS, pHash uintptr) { /* sqlite3.c:224328:13: */ +func sqlite3Fts5HashClear(tls *libc.TLS, pHash uintptr) { /* sqlite3.c:224385:13: */ var i int32 for i = 0; i < (*Fts5Hash)(unsafe.Pointer(pHash)).FnSlot; i++ { var pNext uintptr @@ -196125,7 +196156,7 @@ func sqlite3Fts5HashClear(tls *libc.TLS, pHash uintptr) { /* sqlite3.c:224328:13 (*Fts5Hash)(unsafe.Pointer(pHash)).FnEntry = 0 } -func fts5HashKey(tls *libc.TLS, nSlot int32, p uintptr, n int32) uint32 { /* sqlite3.c:224342:21: */ +func fts5HashKey(tls *libc.TLS, nSlot int32, p uintptr, n int32) uint32 { /* sqlite3.c:224399:21: */ var i int32 var h uint32 = uint32(13) for i = n - 1; i >= 0; i-- { @@ -196134,7 +196165,7 @@ func fts5HashKey(tls *libc.TLS, nSlot int32, p uintptr, n int32) uint32 { /* sql return h % uint32(nSlot) } -func fts5HashKey2(tls *libc.TLS, nSlot int32, b U8, p uintptr, n int32) uint32 { /* sqlite3.c:224351:21: */ +func fts5HashKey2(tls *libc.TLS, nSlot int32, b U8, p uintptr, n int32) uint32 { /* sqlite3.c:224408:21: */ var i int32 var h uint32 = uint32(13) for i = n - 1; i >= 0; i-- { @@ -196145,7 +196176,7 @@ func fts5HashKey2(tls *libc.TLS, nSlot int32, b U8, p uintptr, n int32) uint32 { } // Resize the hash table by doubling the number of slots. -func fts5HashResize(tls *libc.TLS, pHash uintptr) int32 { /* sqlite3.c:224364:12: */ +func fts5HashResize(tls *libc.TLS, pHash uintptr) int32 { /* sqlite3.c:224421:12: */ var nNew int32 = (*Fts5Hash)(unsafe.Pointer(pHash)).FnSlot * 2 var i int32 var apNew uintptr @@ -196175,7 +196206,7 @@ func fts5HashResize(tls *libc.TLS, pHash uintptr) int32 { /* sqlite3.c:224364:12 return SQLITE_OK } -func fts5HashAddPoslistSize(tls *libc.TLS, pHash uintptr, p uintptr, p2 uintptr) int32 { /* sqlite3.c:224392:12: */ +func fts5HashAddPoslistSize(tls *libc.TLS, pHash uintptr, p uintptr, p2 uintptr) int32 { /* sqlite3.c:224449:12: */ var nRet int32 = 0 if (*Fts5HashEntry)(unsafe.Pointer(p)).FiSzPoslist != 0 { var pPtr uintptr @@ -196224,7 +196255,7 @@ func fts5HashAddPoslistSize(tls *libc.TLS, pHash uintptr, p uintptr, p2 uintptr) // (bByte || pToken) -> (iRowid,iCol,iPos) // // Or, if iCol is negative, then the value is a delete marker. -func sqlite3Fts5HashWrite(tls *libc.TLS, pHash uintptr, iRowid I64, iCol int32, iPos int32, bByte int8, pToken uintptr, nToken int32) int32 { /* sqlite3.c:224443:12: */ +func sqlite3Fts5HashWrite(tls *libc.TLS, pHash uintptr, iRowid I64, iCol int32, iPos int32, bByte int8, pToken uintptr, nToken int32) int32 { /* sqlite3.c:224500:12: */ var iHash uint32 var p uintptr var pPtr uintptr @@ -196383,7 +196414,7 @@ func sqlite3Fts5HashWrite(tls *libc.TLS, pHash uintptr, iRowid I64, iCol int32, // Arguments pLeft and pRight point to linked-lists of hash-entry objects, // each sorted in key order. This function merges the two lists into a // single list and returns a pointer to its first element. -func fts5HashEntryMerge(tls *libc.TLS, pLeft uintptr, pRight uintptr) uintptr { /* sqlite3.c:224596:22: */ +func fts5HashEntryMerge(tls *libc.TLS, pLeft uintptr, pRight uintptr) uintptr { /* sqlite3.c:224653:22: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -196429,7 +196460,7 @@ func fts5HashEntryMerge(tls *libc.TLS, pLeft uintptr, pRight uintptr) uintptr { // in sorted order. The hash table is cleared before returning. It is // the responsibility of the caller to free the elements of the returned // list. -func fts5HashEntrySort(tls *libc.TLS, pHash uintptr, pTerm uintptr, nTerm int32, ppSorted uintptr) int32 { /* sqlite3.c:224642:12: */ +func fts5HashEntrySort(tls *libc.TLS, pHash uintptr, pTerm uintptr, nTerm int32, ppSorted uintptr) int32 { /* sqlite3.c:224699:12: */ var nMergeSlot int32 = 32 var ap uintptr var pList uintptr @@ -196471,7 +196502,7 @@ func fts5HashEntrySort(tls *libc.TLS, pHash uintptr, pTerm uintptr, nTerm int32, } // Query the hash table for a doclist associated with term pTerm/nTerm. -func sqlite3Fts5HashQuery(tls *libc.TLS, pHash uintptr, nPre int32, pTerm uintptr, nTerm int32, ppOut uintptr, pnDoclist uintptr) int32 { /* sqlite3.c:224689:12: */ +func sqlite3Fts5HashQuery(tls *libc.TLS, pHash uintptr, nPre int32, pTerm uintptr, nTerm int32, ppOut uintptr, pnDoclist uintptr) int32 { /* sqlite3.c:224746:12: */ var iHash uint32 = fts5HashKey(tls, (*Fts5Hash)(unsafe.Pointer(pHash)).FnSlot, pTerm, nTerm) var zKey uintptr = uintptr(0) var p uintptr @@ -196505,20 +196536,20 @@ func sqlite3Fts5HashQuery(tls *libc.TLS, pHash uintptr, nPre int32, pTerm uintpt return SQLITE_OK } -func sqlite3Fts5HashScanInit(tls *libc.TLS, p uintptr, pTerm uintptr, nTerm int32) int32 { /* sqlite3.c:224727:12: */ +func sqlite3Fts5HashScanInit(tls *libc.TLS, p uintptr, pTerm uintptr, nTerm int32) int32 { /* sqlite3.c:224784:12: */ return fts5HashEntrySort(tls, p, pTerm, nTerm, p+24) } -func sqlite3Fts5HashScanNext(tls *libc.TLS, p uintptr) { /* sqlite3.c:224734:13: */ +func sqlite3Fts5HashScanNext(tls *libc.TLS, p uintptr) { /* sqlite3.c:224791:13: */ (*Fts5Hash)(unsafe.Pointer(p)).FpScan = (*Fts5HashEntry)(unsafe.Pointer((*Fts5Hash)(unsafe.Pointer(p)).FpScan)).FpScanNext } -func sqlite3Fts5HashScanEof(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:224739:12: */ +func sqlite3Fts5HashScanEof(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:224796:12: */ return libc.Bool32((*Fts5Hash)(unsafe.Pointer(p)).FpScan == uintptr(0)) } -func sqlite3Fts5HashScanEntry(tls *libc.TLS, pHash uintptr, pzTerm uintptr, ppDoclist uintptr, pnDoclist uintptr) { /* sqlite3.c:224743:13: */ +func sqlite3Fts5HashScanEntry(tls *libc.TLS, pHash uintptr, pzTerm uintptr, ppDoclist uintptr, pnDoclist uintptr) { /* sqlite3.c:224800:13: */ var p uintptr if libc.AssignUintptr(&p, (*Fts5Hash)(unsafe.Pointer(pHash)).FpScan) != 0 { var zKey uintptr = p + 1*48 @@ -196744,7 +196775,7 @@ type Fts5Data1 = struct { Fp uintptr Fnn int32 FszLeaf int32 -} /* sqlite3.c:225018:9 */ +} /* sqlite3.c:225075:9 */ // 2014 May 31 // @@ -196952,14 +196983,14 @@ type Fts5Data1 = struct { // many zero bytes. This makes it easier to decode the various record formats // without overreading if the records are corrupt. -type Fts5Data = Fts5Data1 /* sqlite3.c:225018:25 */ +type Fts5Data = Fts5Data1 /* sqlite3.c:225075:25 */ type Fts5DlidxIter1 = struct { FnLvl int32 FiSegid int32 FaLvl [1]Fts5DlidxLvl -} /* sqlite3.c:225019:9 */ +} /* sqlite3.c:225076:9 */ -type Fts5DlidxIter = Fts5DlidxIter1 /* sqlite3.c:225019:30 */ +type Fts5DlidxIter = Fts5DlidxIter1 /* sqlite3.c:225076:30 */ type Fts5DlidxLvl1 = struct { FpData uintptr FiOff int32 @@ -196967,17 +196998,17 @@ type Fts5DlidxLvl1 = struct { FiFirstOff int32 FiLeafPgno int32 FiRowid I64 -} /* sqlite3.c:225019:9 */ +} /* sqlite3.c:225076:9 */ -type Fts5DlidxLvl = Fts5DlidxLvl1 /* sqlite3.c:225020:29 */ +type Fts5DlidxLvl = Fts5DlidxLvl1 /* sqlite3.c:225077:29 */ type Fts5DlidxWriter1 = struct { Fpgno int32 FbPrevValid int32 FiPrev I64 Fbuf Fts5Buffer -} /* sqlite3.c:225021:9 */ +} /* sqlite3.c:225078:9 */ -type Fts5DlidxWriter = Fts5DlidxWriter1 /* sqlite3.c:225021:32 */ +type Fts5DlidxWriter = Fts5DlidxWriter1 /* sqlite3.c:225078:32 */ type Fts5Iter1 = struct { Fbase Fts5IndexIter FpIndex uintptr @@ -196991,18 +197022,18 @@ type Fts5Iter1 = struct { FiSwitchRowid I64 FaFirst uintptr FaSeg [1]Fts5SegIter -} /* sqlite3.c:225022:9 */ +} /* sqlite3.c:225079:9 */ -type Fts5Iter = Fts5Iter1 /* sqlite3.c:225022:25 */ +type Fts5Iter = Fts5Iter1 /* sqlite3.c:225079:25 */ type Fts5PageWriter1 = struct { Fpgno int32 FiPrevPgidx int32 Fbuf Fts5Buffer Fpgidx Fts5Buffer Fterm Fts5Buffer -} /* sqlite3.c:225023:9 */ +} /* sqlite3.c:225080:9 */ -type Fts5PageWriter = Fts5PageWriter1 /* sqlite3.c:225023:31 */ +type Fts5PageWriter = Fts5PageWriter1 /* sqlite3.c:225080:31 */ type Fts5SegIter1 = struct { FpSeg uintptr Fflags int32 @@ -197024,18 +197055,18 @@ type Fts5SegIter1 = struct { FnPos int32 FbDel U8 F__ccgo_pad1 [3]byte -} /* sqlite3.c:225022:9 */ +} /* sqlite3.c:225079:9 */ -type Fts5SegIter = Fts5SegIter1 /* sqlite3.c:225024:28 */ +type Fts5SegIter = Fts5SegIter1 /* sqlite3.c:225081:28 */ type Fts5DoclistIter1 = struct { FaEof uintptr FiRowid I64 FaPoslist uintptr FnPoslist int32 FnSize int32 -} /* sqlite3.c:225025:9 */ +} /* sqlite3.c:225082:9 */ -type Fts5DoclistIter = Fts5DoclistIter1 /* sqlite3.c:225025:32 */ +type Fts5DoclistIter = Fts5DoclistIter1 /* sqlite3.c:225082:32 */ type Fts5SegWriter1 = struct { FiSegid int32 F__ccgo_pad1 [4]byte @@ -197052,9 +197083,9 @@ type Fts5SegWriter1 = struct { Fbtterm Fts5Buffer FiBtPage int32 F__ccgo_pad3 [4]byte -} /* sqlite3.c:225026:9 */ +} /* sqlite3.c:225083:9 */ -type Fts5SegWriter = Fts5SegWriter1 /* sqlite3.c:225026:30 */ +type Fts5SegWriter = Fts5SegWriter1 /* sqlite3.c:225083:30 */ type Fts5Structure1 = struct { FnRef int32 F__ccgo_pad1 [4]byte @@ -197062,38 +197093,38 @@ type Fts5Structure1 = struct { FnSegment int32 FnLevel int32 FaLevel [1]Fts5StructureLevel -} /* sqlite3.c:216813:9 */ +} /* sqlite3.c:216870:9 */ -type Fts5Structure = Fts5Structure1 /* sqlite3.c:225027:30 */ +type Fts5Structure = Fts5Structure1 /* sqlite3.c:225084:30 */ type Fts5StructureLevel1 = struct { FnMerge int32 FnSeg int32 FaSeg uintptr -} /* sqlite3.c:216813:9 */ +} /* sqlite3.c:216870:9 */ -type Fts5StructureLevel = Fts5StructureLevel1 /* sqlite3.c:225028:35 */ +type Fts5StructureLevel = Fts5StructureLevel1 /* sqlite3.c:225085:35 */ type Fts5StructureSegment1 = struct { FiSegid int32 FpgnoFirst int32 FpgnoLast int32 -} /* sqlite3.c:216813:9 */ +} /* sqlite3.c:216870:9 */ -type Fts5StructureSegment = Fts5StructureSegment1 /* sqlite3.c:225029:37 */ +type Fts5StructureSegment = Fts5StructureSegment1 /* sqlite3.c:225086:37 */ type Fts5CResult1 = struct { FiFirst U16 FbTermEq U8 F__ccgo_pad1 [1]byte -} /* sqlite3.c:225022:9 */ +} /* sqlite3.c:225079:9 */ -type Fts5CResult = Fts5CResult1 /* sqlite3.c:225139:28 */ +type Fts5CResult = Fts5CResult1 /* sqlite3.c:225196:28 */ -func fts5PutU16(tls *libc.TLS, aOut uintptr, iVal U16) { /* sqlite3.c:225318:13: */ +func fts5PutU16(tls *libc.TLS, aOut uintptr, iVal U16) { /* sqlite3.c:225375:13: */ *(*U8)(unsafe.Pointer(aOut)) = U8(int32(iVal) >> 8) *(*U8)(unsafe.Pointer(aOut + 1)) = U8(int32(iVal) & 0xFF) } -func fts5GetU16(tls *libc.TLS, aIn uintptr) U16 { /* sqlite3.c:225323:12: */ +func fts5GetU16(tls *libc.TLS, aIn uintptr) U16 { /* sqlite3.c:225380:12: */ return U16(int32(U16(*(*U8)(unsafe.Pointer(aIn))))<<8 + int32(*(*U8)(unsafe.Pointer(aIn + 1)))) } @@ -197101,7 +197132,7 @@ func fts5GetU16(tls *libc.TLS, aIn uintptr) U16 { /* sqlite3.c:225323:12: */ // // If an OOM error is encountered, return NULL and set the error code in // the Fts5Index handle passed as the first argument. -func fts5IdxMalloc(tls *libc.TLS, p uintptr, nByte Sqlite3_int64) uintptr { /* sqlite3.c:225333:13: */ +func fts5IdxMalloc(tls *libc.TLS, p uintptr, nByte Sqlite3_int64) uintptr { /* sqlite3.c:225390:13: */ return sqlite3Fts5MallocZero(tls, p+52, nByte) } @@ -197119,7 +197150,7 @@ func fts5IdxMalloc(tls *libc.TLS, p uintptr, nByte Sqlite3_int64) uintptr { /* s // +ve if pRight is smaller than pLeft. In other words: // // res = *pLeft - *pRight -func fts5BufferCompare(tls *libc.TLS, pLeft uintptr, pRight uintptr) int32 { /* sqlite3.c:225365:12: */ +func fts5BufferCompare(tls *libc.TLS, pLeft uintptr, pRight uintptr) int32 { /* sqlite3.c:225422:12: */ var nCmp int32 var res int32 nCmp = func() int32 { @@ -197143,7 +197174,7 @@ func fts5BufferCompare(tls *libc.TLS, pLeft uintptr, pRight uintptr) int32 { /* }() } -func fts5LeafFirstTermOff(tls *libc.TLS, pLeaf uintptr) int32 { /* sqlite3.c:225374:12: */ +func fts5LeafFirstTermOff(tls *libc.TLS, pLeaf uintptr) int32 { /* sqlite3.c:225431:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -197154,7 +197185,7 @@ func fts5LeafFirstTermOff(tls *libc.TLS, pLeaf uintptr) int32 { /* sqlite3.c:225 } // Close the read-only blob handle, if it is open. -func sqlite3Fts5IndexCloseReader(tls *libc.TLS, p uintptr) { /* sqlite3.c:225383:13: */ +func sqlite3Fts5IndexCloseReader(tls *libc.TLS, p uintptr) { /* sqlite3.c:225440:13: */ if (*Fts5Index)(unsafe.Pointer(p)).FpReader != 0 { var pReader uintptr = (*Fts5Index)(unsafe.Pointer(p)).FpReader (*Fts5Index)(unsafe.Pointer(p)).FpReader = uintptr(0) @@ -197166,7 +197197,7 @@ func sqlite3Fts5IndexCloseReader(tls *libc.TLS, p uintptr) { /* sqlite3.c:225383 // // If an error occurs, NULL is returned and an error left in the // Fts5Index object. -func fts5DataRead(tls *libc.TLS, p uintptr, iRowid I64) uintptr { /* sqlite3.c:225397:17: */ +func fts5DataRead(tls *libc.TLS, p uintptr, iRowid I64) uintptr { /* sqlite3.c:225454:17: */ var pRet uintptr = uintptr(0) if (*Fts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK { var rc int32 = SQLITE_OK @@ -197239,11 +197270,11 @@ func fts5DataRead(tls *libc.TLS, p uintptr, iRowid I64) uintptr { /* sqlite3.c:2 // Release a reference to data record returned by an earlier call to // fts5DataRead(). -func fts5DataRelease(tls *libc.TLS, pData uintptr) { /* sqlite3.c:225471:13: */ +func fts5DataRelease(tls *libc.TLS, pData uintptr) { /* sqlite3.c:225528:13: */ Xsqlite3_free(tls, pData) } -func fts5LeafRead(tls *libc.TLS, p uintptr, iRowid I64) uintptr { /* sqlite3.c:225475:17: */ +func fts5LeafRead(tls *libc.TLS, p uintptr, iRowid I64) uintptr { /* sqlite3.c:225532:17: */ var pRet uintptr = fts5DataRead(tls, p, iRowid) if pRet != 0 { if (*Fts5Data)(unsafe.Pointer(pRet)).Fnn < 4 || (*Fts5Data)(unsafe.Pointer(pRet)).FszLeaf > (*Fts5Data)(unsafe.Pointer(pRet)).Fnn { @@ -197255,7 +197286,7 @@ func fts5LeafRead(tls *libc.TLS, p uintptr, iRowid I64) uintptr { /* sqlite3.c:2 return pRet } -func fts5IndexPrepareStmt(tls *libc.TLS, p uintptr, ppStmt uintptr, zSql uintptr) int32 { /* sqlite3.c:225487:12: */ +func fts5IndexPrepareStmt(tls *libc.TLS, p uintptr, ppStmt uintptr, zSql uintptr) int32 { /* sqlite3.c:225544:12: */ if (*Fts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK { if zSql != 0 { (*Fts5Index)(unsafe.Pointer(p)).Frc = Xsqlite3_prepare_v3(tls, (*Fts5Config)(unsafe.Pointer((*Fts5Index)(unsafe.Pointer(p)).FpConfig)).Fdb, zSql, -1, @@ -197270,7 +197301,7 @@ func fts5IndexPrepareStmt(tls *libc.TLS, p uintptr, ppStmt uintptr, zSql uintptr } // INSERT OR REPLACE a record into the %_data table. -func fts5DataWrite(tls *libc.TLS, p uintptr, iRowid I64, pData uintptr, nData int32) { /* sqlite3.c:225509:13: */ +func fts5DataWrite(tls *libc.TLS, p uintptr, iRowid I64, pData uintptr, nData int32) { /* sqlite3.c:225566:13: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -197298,7 +197329,7 @@ func fts5DataWrite(tls *libc.TLS, p uintptr, iRowid I64, pData uintptr, nData in // Execute the following SQL: // // DELETE FROM %_data WHERE id BETWEEN $iFirst AND $iLast -func fts5DataDelete(tls *libc.TLS, p uintptr, iFirst I64, iLast I64) { /* sqlite3.c:225533:13: */ +func fts5DataDelete(tls *libc.TLS, p uintptr, iFirst I64, iLast I64) { /* sqlite3.c:225590:13: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -197323,7 +197354,7 @@ func fts5DataDelete(tls *libc.TLS, p uintptr, iFirst I64, iLast I64) { /* sqlite } // Remove all records associated with segment iSegid. -func fts5DataRemoveSegment(tls *libc.TLS, p uintptr, iSegid int32) { /* sqlite3.c:225554:13: */ +func fts5DataRemoveSegment(tls *libc.TLS, p uintptr, iSegid int32) { /* sqlite3.c:225611:13: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -197345,7 +197376,7 @@ func fts5DataRemoveSegment(tls *libc.TLS, p uintptr, iSegid int32) { /* sqlite3. // Release a reference to an Fts5Structure object returned by an earlier // call to fts5StructureRead() or fts5StructureDecode(). -func fts5StructureRelease(tls *libc.TLS, pStruct uintptr) { /* sqlite3.c:225576:13: */ +func fts5StructureRelease(tls *libc.TLS, pStruct uintptr) { /* sqlite3.c:225633:13: */ if pStruct != 0 && 0 >= libc.PreDecInt32(&(*Fts5Structure)(unsafe.Pointer(pStruct)).FnRef, 1) { var i int32 @@ -197356,22 +197387,22 @@ func fts5StructureRelease(tls *libc.TLS, pStruct uintptr) { /* sqlite3.c:225576: } } -func fts5StructureRef(tls *libc.TLS, pStruct uintptr) { /* sqlite3.c:225587:13: */ +func fts5StructureRef(tls *libc.TLS, pStruct uintptr) { /* sqlite3.c:225644:13: */ (*Fts5Structure)(unsafe.Pointer(pStruct)).FnRef++ } -func sqlite3Fts5StructureRef(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:225591:13: */ +func sqlite3Fts5StructureRef(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:225648:13: */ fts5StructureRef(tls, (*Fts5Index)(unsafe.Pointer(p)).FpStruct) return (*Fts5Index)(unsafe.Pointer(p)).FpStruct } -func sqlite3Fts5StructureRelease(tls *libc.TLS, p uintptr) { /* sqlite3.c:225595:13: */ +func sqlite3Fts5StructureRelease(tls *libc.TLS, p uintptr) { /* sqlite3.c:225652:13: */ if p != 0 { fts5StructureRelease(tls, p) } } -func sqlite3Fts5StructureTest(tls *libc.TLS, p uintptr, pStruct uintptr) int32 { /* sqlite3.c:225600:12: */ +func sqlite3Fts5StructureTest(tls *libc.TLS, p uintptr, pStruct uintptr) int32 { /* sqlite3.c:225657:12: */ if (*Fts5Index)(unsafe.Pointer(p)).FpStruct != pStruct { return SQLITE_ABORT } @@ -197382,7 +197413,7 @@ func sqlite3Fts5StructureTest(tls *libc.TLS, p uintptr, pStruct uintptr) int32 { // // This function is a no-op if (*pRc) is not SQLITE_OK when it is called. If // an error occurs, (*pRc) is set to an SQLite error code before returning. -func fts5StructureMakeWritable(tls *libc.TLS, pRc uintptr, pp uintptr) { /* sqlite3.c:225613:13: */ +func fts5StructureMakeWritable(tls *libc.TLS, pRc uintptr, pp uintptr) { /* sqlite3.c:225670:13: */ var p uintptr = *(*uintptr)(unsafe.Pointer(pp)) if *(*int32)(unsafe.Pointer(pRc)) == SQLITE_OK && (*Fts5Structure)(unsafe.Pointer(p)).FnRef > 1 { var nByte I64 = I64(uint64(unsafe.Sizeof(Fts5Structure{})) + uint64((*Fts5Structure)(unsafe.Pointer(p)).FnLevel-1)*uint64(unsafe.Sizeof(Fts5StructureLevel{}))) @@ -197424,7 +197455,7 @@ func fts5StructureMakeWritable(tls *libc.TLS, pRc uintptr, pp uintptr) { /* sqli // If an error occurs, *ppOut is set to NULL and an SQLite error code // returned. Otherwise, *ppOut is set to point to the new object and // SQLITE_OK returned. -func fts5StructureDecode(tls *libc.TLS, pData uintptr, nData int32, piCookie uintptr, ppOut uintptr) int32 { /* sqlite3.c:225655:12: */ +func fts5StructureDecode(tls *libc.TLS, pData uintptr, nData int32, piCookie uintptr, ppOut uintptr) int32 { /* sqlite3.c:225712:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -197517,7 +197548,7 @@ func fts5StructureDecode(tls *libc.TLS, pData uintptr, nData int32, piCookie uin // Add a level to the Fts5Structure.aLevel[] array of structure object // (*ppStruct). -func fts5StructureAddLevel(tls *libc.TLS, pRc uintptr, ppStruct uintptr) { /* sqlite3.c:225747:13: */ +func fts5StructureAddLevel(tls *libc.TLS, pRc uintptr, ppStruct uintptr) { /* sqlite3.c:225804:13: */ fts5StructureMakeWritable(tls, pRc, ppStruct) if *(*int32)(unsafe.Pointer(pRc)) == SQLITE_OK { var pStruct uintptr = *(*uintptr)(unsafe.Pointer(ppStruct)) @@ -197537,7 +197568,7 @@ func fts5StructureAddLevel(tls *libc.TLS, pRc uintptr, ppStruct uintptr) { /* sq // Extend level iLvl so that there is room for at least nExtra more // segments. -func fts5StructureExtendLevel(tls *libc.TLS, pRc uintptr, pStruct uintptr, iLvl int32, nExtra int32, bInsert int32) { /* sqlite3.c:225772:13: */ +func fts5StructureExtendLevel(tls *libc.TLS, pRc uintptr, pStruct uintptr, iLvl int32, nExtra int32, bInsert int32) { /* sqlite3.c:225829:13: */ if *(*int32)(unsafe.Pointer(pRc)) == SQLITE_OK { var pLvl uintptr = pStruct + 24 + uintptr(iLvl)*16 var aNew uintptr @@ -197560,7 +197591,7 @@ func fts5StructureExtendLevel(tls *libc.TLS, pRc uintptr, pStruct uintptr, iLvl } } -func fts5StructureReadUncached(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:225801:22: */ +func fts5StructureReadUncached(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:225858:22: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -197588,7 +197619,7 @@ func fts5StructureReadUncached(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c: return *(*uintptr)(unsafe.Pointer(bp + 8 /* pRet */)) } -func fts5IndexDataVersion(tls *libc.TLS, p uintptr) I64 { /* sqlite3.c:225825:12: */ +func fts5IndexDataVersion(tls *libc.TLS, p uintptr) I64 { /* sqlite3.c:225882:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -197621,7 +197652,7 @@ func fts5IndexDataVersion(tls *libc.TLS, p uintptr) I64 { /* sqlite3.c:225825:12 // If an error occurs, NULL is returned and an error code left in the // Fts5Index handle. If an error has already occurred when this function // is called, it is a no-op. -func fts5StructureRead(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:225856:22: */ +func fts5StructureRead(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:225913:22: */ if (*Fts5Index)(unsafe.Pointer(p)).FpStruct == uintptr(0) { (*Fts5Index)(unsafe.Pointer(p)).FiStructVersion = fts5IndexDataVersion(tls, p) @@ -197638,7 +197669,7 @@ func fts5StructureRead(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:225856:2 return (*Fts5Index)(unsafe.Pointer(p)).FpStruct } -func fts5StructureInvalidate(tls *libc.TLS, p uintptr) { /* sqlite3.c:225895:13: */ +func fts5StructureInvalidate(tls *libc.TLS, p uintptr) { /* sqlite3.c:225952:13: */ if (*Fts5Index)(unsafe.Pointer(p)).FpStruct != 0 { fts5StructureRelease(tls, (*Fts5Index)(unsafe.Pointer(p)).FpStruct) (*Fts5Index)(unsafe.Pointer(p)).FpStruct = uintptr(0) @@ -197652,7 +197683,7 @@ func fts5StructureInvalidate(tls *libc.TLS, p uintptr) { /* sqlite3.c:225895:13: // // If an error occurs, leave an error code in the Fts5Index object. If an // error has already occurred, this function is a no-op. -func fts5StructureWrite(tls *libc.TLS, p uintptr, pStruct uintptr) { /* sqlite3.c:225938:13: */ +func fts5StructureWrite(tls *libc.TLS, p uintptr, pStruct uintptr) { /* sqlite3.c:225995:13: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -197705,14 +197736,14 @@ func fts5StructureWrite(tls *libc.TLS, p uintptr, pStruct uintptr) { /* sqlite3. } } -func fts5SegmentSize(tls *libc.TLS, pSeg uintptr) int32 { /* sqlite3.c:225993:12: */ +func fts5SegmentSize(tls *libc.TLS, pSeg uintptr) int32 { /* sqlite3.c:226050:12: */ return 1 + (*Fts5StructureSegment)(unsafe.Pointer(pSeg)).FpgnoLast - (*Fts5StructureSegment)(unsafe.Pointer(pSeg)).FpgnoFirst } // Return a copy of index structure pStruct. Except, promote as many // segments as possible to level iPromote. If an OOM occurs, NULL is // returned. -func fts5StructurePromoteTo(tls *libc.TLS, p uintptr, iPromote int32, szPromote int32, pStruct uintptr) { /* sqlite3.c:226002:13: */ +func fts5StructurePromoteTo(tls *libc.TLS, p uintptr, iPromote int32, szPromote int32, pStruct uintptr) { /* sqlite3.c:226059:13: */ var il int32 var is int32 var pOut uintptr = pStruct + 24 + uintptr(iPromote)*16 @@ -197755,7 +197786,7 @@ func fts5StructurePromoteTo(tls *libc.TLS, p uintptr, iPromote int32, szPromote // // If one or more segments are promoted, the structure object is updated // to reflect this. -func fts5StructurePromote(tls *libc.TLS, p uintptr, iLvl int32, pStruct uintptr) { /* sqlite3.c:226045:13: */ +func fts5StructurePromote(tls *libc.TLS, p uintptr, iLvl int32, pStruct uintptr) { /* sqlite3.c:226102:13: */ if (*Fts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK { var iTst int32 var iPromote int32 = -1 @@ -197804,7 +197835,7 @@ func fts5StructurePromote(tls *libc.TLS, p uintptr, iLvl int32, pStruct uintptr) // Advance the iterator passed as the only argument. If the end of the // doclist-index page is reached, return non-zero. -func fts5DlidxLvlNext(tls *libc.TLS, pLvl uintptr) int32 { /* sqlite3.c:226096:12: */ +func fts5DlidxLvlNext(tls *libc.TLS, pLvl uintptr) int32 { /* sqlite3.c:226153:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -197840,7 +197871,7 @@ func fts5DlidxLvlNext(tls *libc.TLS, pLvl uintptr) int32 { /* sqlite3.c:226096:1 } // Advance the iterator passed as the only argument. -func fts5DlidxIterNextR(tls *libc.TLS, p uintptr, pIter uintptr, iLvl int32) int32 { /* sqlite3.c:226128:12: */ +func fts5DlidxIterNextR(tls *libc.TLS, p uintptr, pIter uintptr, iLvl int32) int32 { /* sqlite3.c:226185:12: */ var pLvl uintptr = pIter + 8 + uintptr(iLvl)*32 if fts5DlidxLvlNext(tls, pLvl) != 0 { @@ -197861,7 +197892,7 @@ func fts5DlidxIterNextR(tls *libc.TLS, p uintptr, pIter uintptr, iLvl int32) int return (*Fts5DlidxLvl)(unsafe.Pointer(pIter + 8)).FbEof } -func fts5DlidxIterNext(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlite3.c:226148:12: */ +func fts5DlidxIterNext(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlite3.c:226205:12: */ return fts5DlidxIterNextR(tls, p, pIter, 0) } @@ -197874,7 +197905,7 @@ func fts5DlidxIterNext(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlit // // When this function is called pIter->iLeafPgno is the page number the // doclist is associated with (the one featuring the term). -func fts5DlidxIterFirst(tls *libc.TLS, pIter uintptr) int32 { /* sqlite3.c:226163:12: */ +func fts5DlidxIterFirst(tls *libc.TLS, pIter uintptr) int32 { /* sqlite3.c:226220:12: */ var i int32 for i = 0; i < (*Fts5DlidxIter)(unsafe.Pointer(pIter)).FnLvl; i++ { fts5DlidxLvlNext(tls, pIter+8+uintptr(i)*32) @@ -197882,11 +197913,11 @@ func fts5DlidxIterFirst(tls *libc.TLS, pIter uintptr) int32 { /* sqlite3.c:22616 return (*Fts5DlidxLvl)(unsafe.Pointer(pIter + 8)).FbEof } -func fts5DlidxIterEof(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlite3.c:226172:12: */ +func fts5DlidxIterEof(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlite3.c:226229:12: */ return libc.Bool32((*Fts5Index)(unsafe.Pointer(p)).Frc != SQLITE_OK || (*Fts5DlidxLvl)(unsafe.Pointer(pIter+8)).FbEof != 0) } -func fts5DlidxIterLast(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:226176:13: */ +func fts5DlidxIterLast(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:226233:13: */ var i int32 // Advance each level to the last entry on the last page @@ -197907,7 +197938,7 @@ func fts5DlidxIterLast(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:2 } // Move the iterator passed as the only argument to the previous entry. -func fts5DlidxLvlPrev(tls *libc.TLS, pLvl uintptr) int32 { /* sqlite3.c:226199:12: */ +func fts5DlidxLvlPrev(tls *libc.TLS, pLvl uintptr) int32 { /* sqlite3.c:226256:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -197969,7 +198000,7 @@ func fts5DlidxLvlPrev(tls *libc.TLS, pLvl uintptr) int32 { /* sqlite3.c:226199:1 return (*Fts5DlidxLvl)(unsafe.Pointer(pLvl)).FbEof } -func fts5DlidxIterPrevR(tls *libc.TLS, p uintptr, pIter uintptr, iLvl int32) int32 { /* sqlite3.c:226248:12: */ +func fts5DlidxIterPrevR(tls *libc.TLS, p uintptr, pIter uintptr, iLvl int32) int32 { /* sqlite3.c:226305:12: */ var pLvl uintptr = pIter + 8 + uintptr(iLvl)*32 if fts5DlidxLvlPrev(tls, pLvl) != 0 { @@ -197992,12 +198023,12 @@ func fts5DlidxIterPrevR(tls *libc.TLS, p uintptr, pIter uintptr, iLvl int32) int return (*Fts5DlidxLvl)(unsafe.Pointer(pIter + 8)).FbEof } -func fts5DlidxIterPrev(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlite3.c:226271:12: */ +func fts5DlidxIterPrev(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlite3.c:226328:12: */ return fts5DlidxIterPrevR(tls, p, pIter, 0) } // Free a doclist-index iterator object allocated by fts5DlidxIterInit(). -func fts5DlidxIterFree(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:226278:13: */ +func fts5DlidxIterFree(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:226335:13: */ if pIter != 0 { var i int32 for i = 0; i < (*Fts5DlidxIter)(unsafe.Pointer(pIter)).FnLvl; i++ { @@ -198007,7 +198038,7 @@ func fts5DlidxIterFree(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:226278:13: * } } -func fts5DlidxIterInit(tls *libc.TLS, p uintptr, bRev int32, iSegid int32, iLeafPg int32) uintptr { /* sqlite3.c:226288:22: */ +func fts5DlidxIterInit(tls *libc.TLS, p uintptr, bRev int32, iSegid int32, iLeafPg int32) uintptr { /* sqlite3.c:226345:22: */ var pIter uintptr = uintptr(0) var i int32 var bDone int32 = 0 @@ -198049,16 +198080,16 @@ func fts5DlidxIterInit(tls *libc.TLS, p uintptr, bRev int32, iSegid int32, iLeaf return pIter } -func fts5DlidxIterRowid(tls *libc.TLS, pIter uintptr) I64 { /* sqlite3.c:226335:12: */ +func fts5DlidxIterRowid(tls *libc.TLS, pIter uintptr) I64 { /* sqlite3.c:226392:12: */ return (*Fts5DlidxLvl)(unsafe.Pointer(pIter + 8)).FiRowid } -func fts5DlidxIterPgno(tls *libc.TLS, pIter uintptr) int32 { /* sqlite3.c:226338:12: */ +func fts5DlidxIterPgno(tls *libc.TLS, pIter uintptr) int32 { /* sqlite3.c:226395:12: */ return (*Fts5DlidxLvl)(unsafe.Pointer(pIter + 8)).FiLeafPgno } // Load the next leaf page into the segment iterator. -func fts5SegIterNextPage(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:226345:13: */ +func fts5SegIterNextPage(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:226402:13: */ var pLeaf uintptr var pSeg uintptr = (*Fts5SegIter)(unsafe.Pointer(pIter)).FpSeg fts5DataRelease(tls, (*Fts5SegIter)(unsafe.Pointer(pIter)).FpLeaf) @@ -198088,7 +198119,7 @@ func fts5SegIterNextPage(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c // position list size field. Read the varint and return the number of bytes // read. Before returning, set *pnSz to the number of bytes in the position // list, and *pbDel to true if the delete flag is set, or false otherwise. -func fts5GetPoslistSize(tls *libc.TLS, p uintptr, pnSz uintptr, pbDel uintptr) int32 { /* sqlite3.c:226383:12: */ +func fts5GetPoslistSize(tls *libc.TLS, p uintptr, pnSz uintptr, pbDel uintptr) int32 { /* sqlite3.c:226440:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -198117,7 +198148,7 @@ func fts5GetPoslistSize(tls *libc.TLS, p uintptr, pnSz uintptr, pbDel uintptr) i // // Leave Fts5SegIter.iLeafOffset pointing to the first byte of the // position list content (if any). -func fts5SegIterLoadNPos(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:226404:13: */ +func fts5SegIterLoadNPos(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:226461:13: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -198162,7 +198193,7 @@ func fts5SegIterLoadNPos(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c } } -func fts5SegIterLoadRowid(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:226433:13: */ +func fts5SegIterLoadRowid(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:226490:13: */ var a uintptr = (*Fts5Data)(unsafe.Pointer((*Fts5SegIter)(unsafe.Pointer(pIter)).FpLeaf)).Fp // Buffer to read data from var iOff I64 = (*Fts5SegIter)(unsafe.Pointer(pIter)).FiLeafOffset @@ -198194,7 +198225,7 @@ func fts5SegIterLoadRowid(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3. // accordingly and leaves (Fts5SegIter.iLeafOffset) set to the content of // the first position list. The position list belonging to document // (Fts5SegIter.iRowid). -func fts5SegIterLoadTerm(tls *libc.TLS, p uintptr, pIter uintptr, nKeep int32) { /* sqlite3.c:226466:13: */ +func fts5SegIterLoadTerm(tls *libc.TLS, p uintptr, pIter uintptr, nKeep int32) { /* sqlite3.c:226523:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -198228,7 +198259,7 @@ func fts5SegIterLoadTerm(tls *libc.TLS, p uintptr, pIter uintptr, nKeep int32) { fts5SegIterLoadRowid(tls, p, pIter) } -func fts5SegIterSetNext(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:226499:13: */ +func fts5SegIterSetNext(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:226556:13: */ if (*Fts5SegIter)(unsafe.Pointer(pIter)).Fflags&FTS5_SEGITER_REVERSE != 0 { (*Fts5SegIter)(unsafe.Pointer(pIter)).FxNext = *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, uintptr) @@ -198250,7 +198281,7 @@ func fts5SegIterSetNext(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c: // // If an error occurs, Fts5Index.rc is set to an appropriate error code. If // an error has already occurred when this function is called, it is a no-op. -func fts5SegIterInit(tls *libc.TLS, p uintptr, pSeg uintptr, pIter uintptr) { /* sqlite3.c:226517:13: */ +func fts5SegIterInit(tls *libc.TLS, p uintptr, pSeg uintptr, pIter uintptr) { /* sqlite3.c:226574:13: */ if (*Fts5StructureSegment)(unsafe.Pointer(pSeg)).FpgnoFirst == 0 { // This happens if the segment is being used as an input to an incremental // merge and all data has already been "trimmed". See function @@ -198291,7 +198322,7 @@ func fts5SegIterInit(tls *libc.TLS, p uintptr, pSeg uintptr, pIter uintptr) { /* // aRowidOffset[] and iRowidOffset variables. At this point the iterator // is in its regular state - Fts5SegIter.iLeafOffset points to the first // byte of the position list content associated with said rowid. -func fts5SegIterReverseInitPage(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:226566:13: */ +func fts5SegIterReverseInitPage(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:226623:13: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -198350,7 +198381,7 @@ func fts5SegIterReverseInitPage(tls *libc.TLS, p uintptr, pIter uintptr) { /* sq } // -func fts5SegIterReverseNewPage(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:226619:13: */ +func fts5SegIterReverseNewPage(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:226676:13: */ fts5DataRelease(tls, (*Fts5SegIter)(unsafe.Pointer(pIter)).FpLeaf) (*Fts5SegIter)(unsafe.Pointer(pIter)).FpLeaf = uintptr(0) @@ -198400,7 +198431,7 @@ func fts5SegIterReverseNewPage(tls *libc.TLS, p uintptr, pIter uintptr) { /* sql // Return true if the iterator passed as the second argument currently // points to a delete marker. A delete marker is an entry with a 0 byte // position-list. -func fts5MultiIterIsEmpty(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlite3.c:226675:12: */ +func fts5MultiIterIsEmpty(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlite3.c:226732:12: */ var pSeg uintptr = pIter + 96 + uintptr((*Fts5CResult)(unsafe.Pointer((*Fts5Iter)(unsafe.Pointer(pIter)).FaFirst+1*4)).FiFirst)*120 return libc.Bool32((*Fts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK && (*Fts5SegIter)(unsafe.Pointer(pSeg)).FpLeaf != 0 && (*Fts5SegIter)(unsafe.Pointer(pSeg)).FnPos == 0) } @@ -198408,7 +198439,7 @@ func fts5MultiIterIsEmpty(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sq // Advance iterator pIter to the next entry. // // This version of fts5SegIterNext() is only used by reverse iterators. -func fts5SegIterNext_Reverse(tls *libc.TLS, p uintptr, pIter uintptr, pbUnused uintptr) { /* sqlite3.c:226685:13: */ +func fts5SegIterNext_Reverse(tls *libc.TLS, p uintptr, pIter uintptr, pbUnused uintptr) { /* sqlite3.c:226742:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -198437,7 +198468,7 @@ func fts5SegIterNext_Reverse(tls *libc.TLS, p uintptr, pIter uintptr, pbUnused u // // This version of fts5SegIterNext() is only used if detail=none and the // iterator is not a reverse direction iterator. -func fts5SegIterNext_None(tls *libc.TLS, p uintptr, pIter uintptr, pbNewTerm uintptr) { /* sqlite3.c:226719:13: */ +func fts5SegIterNext_None(tls *libc.TLS, p uintptr, pIter uintptr, pbNewTerm uintptr) { /* sqlite3.c:226776:13: */ bp := tls.Alloc(36) defer tls.Free(36) @@ -198542,7 +198573,7 @@ next_none_eof: // If an error occurs, Fts5Index.rc is set to an appropriate error code. It // is not considered an error if the iterator reaches EOF. If an error has // already occurred when this function is called, it is a no-op. -func fts5SegIterNext(tls *libc.TLS, p uintptr, pIter uintptr, pbNewTerm uintptr) { /* sqlite3.c:226791:13: */ +func fts5SegIterNext(tls *libc.TLS, p uintptr, pIter uintptr, pbNewTerm uintptr) { /* sqlite3.c:226848:13: */ bp := tls.Alloc(44) defer tls.Free(44) @@ -198667,7 +198698,7 @@ func fts5SegIterNext(tls *libc.TLS, p uintptr, pIter uintptr, pbNewTerm uintptr) // Iterator pIter currently points to the first rowid in a doclist. This // function sets the iterator up so that iterates in reverse order through // the doclist. -func fts5SegIterReverse(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:226922:13: */ +func fts5SegIterReverse(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:226979:13: */ var pDlidx uintptr = (*Fts5SegIter)(unsafe.Pointer(pIter)).FpDlidx var pLast uintptr = uintptr(0) var pgnoLast int32 = 0 @@ -198767,7 +198798,7 @@ func fts5SegIterReverse(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c: // There is a doclist-index associated with the final term on the current // page. If the current term is the last term on the page, load the // doclist-index from disk and initialize an iterator at (pIter->pDlidx). -func fts5SegIterLoadDlidx(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:227011:13: */ +func fts5SegIterLoadDlidx(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:227068:13: */ var iSeg int32 = (*Fts5StructureSegment)(unsafe.Pointer((*Fts5SegIter)(unsafe.Pointer(pIter)).FpSeg)).FiSegid var bRev int32 = (*Fts5SegIter)(unsafe.Pointer(pIter)).Fflags & FTS5_SEGITER_REVERSE var pLeaf uintptr = (*Fts5SegIter)(unsafe.Pointer(pIter)).FpLeaf // Current leaf data @@ -198795,7 +198826,7 @@ func fts5SegIterLoadDlidx(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3. // iterator is left pointing to the smallest term in the segment that // is larger than the specified term, even if this term is not on the // current page. -func fts5LeafSeek(tls *libc.TLS, p uintptr, bGe int32, pIter uintptr, pTerm uintptr, nTerm int32) { /* sqlite3.c:227045:13: */ +func fts5LeafSeek(tls *libc.TLS, p uintptr, bGe int32, pIter uintptr, pTerm uintptr, nTerm int32) { /* sqlite3.c:227102:13: */ bp := tls.Alloc(20) defer tls.Free(20) @@ -199029,7 +199060,7 @@ __31: fts5SegIterLoadNPos(tls, p, pIter) } -func fts5IdxSelectStmt(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:227171:21: */ +func fts5IdxSelectStmt(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:227228:21: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -199048,7 +199079,7 @@ func fts5IdxSelectStmt(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:227171:2 // // If an error occurs, Fts5Index.rc is set to an appropriate error code. If // an error has already occurred when this function is called, it is a no-op. -func fts5SegIterSeekInit(tls *libc.TLS, p uintptr, pTerm uintptr, nTerm int32, flags int32, pSeg uintptr, pIter uintptr) { /* sqlite3.c:227190:13: */ +func fts5SegIterSeekInit(tls *libc.TLS, p uintptr, pTerm uintptr, nTerm int32, flags int32, pSeg uintptr, pIter uintptr) { /* sqlite3.c:227247:13: */ var iPg int32 = 1 var bGe int32 = flags & FTS5INDEX_QUERY_SCAN var bDlidx int32 = 0 // True if there is a doclist-index @@ -199118,7 +199149,7 @@ func fts5SegIterSeekInit(tls *libc.TLS, p uintptr, pTerm uintptr, nTerm int32, f // // If an error occurs, Fts5Index.rc is set to an appropriate error code. If // an error has already occurred when this function is called, it is a no-op. -func fts5SegIterHashInit(tls *libc.TLS, p uintptr, pTerm uintptr, nTerm int32, flags int32, pIter uintptr) { /* sqlite3.c:227273:13: */ +func fts5SegIterHashInit(tls *libc.TLS, p uintptr, pTerm uintptr, nTerm int32, flags int32, pIter uintptr) { /* sqlite3.c:227330:13: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -199174,7 +199205,7 @@ func fts5SegIterHashInit(tls *libc.TLS, p uintptr, pTerm uintptr, nTerm int32, f } // Zero the iterator passed as the only argument. -func fts5SegIterClear(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:227332:13: */ +func fts5SegIterClear(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:227389:13: */ sqlite3Fts5BufferFree(tls, pIter+88) fts5DataRelease(tls, (*Fts5SegIter)(unsafe.Pointer(pIter)).FpLeaf) fts5DataRelease(tls, (*Fts5SegIter)(unsafe.Pointer(pIter)).FpNextLeaf) @@ -199189,7 +199220,7 @@ func fts5SegIterClear(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:227332:13: */ // in the pIter->aSeg[] array that is (a) not at EOF, and (b) pointing // to a key that is a duplicate of another, higher priority, // segment-iterator in the pSeg->aSeg[] array. -func fts5MultiIterDoCompare(tls *libc.TLS, pIter uintptr, iOut int32) int32 { /* sqlite3.c:227436:12: */ +func fts5MultiIterDoCompare(tls *libc.TLS, pIter uintptr, iOut int32) int32 { /* sqlite3.c:227493:12: */ var i1 int32 // Index of left-hand Fts5SegIter var i2 int32 // Index of right-hand Fts5SegIter var iRes int32 @@ -199241,7 +199272,7 @@ func fts5MultiIterDoCompare(tls *libc.TLS, pIter uintptr, iOut int32) int32 { /* // Move the seg-iter so that it points to the first rowid on page iLeafPgno. // It is an error if leaf iLeafPgno does not exist or contains no rowids. -func fts5SegIterGotoPage(tls *libc.TLS, p uintptr, pIter uintptr, iLeafPgno int32) { /* sqlite3.c:227490:13: */ +func fts5SegIterGotoPage(tls *libc.TLS, p uintptr, pIter uintptr, iLeafPgno int32) { /* sqlite3.c:227547:13: */ if iLeafPgno > (*Fts5StructureSegment)(unsafe.Pointer((*Fts5SegIter)(unsafe.Pointer(pIter)).FpSeg)).FpgnoLast { (*Fts5Index)(unsafe.Pointer(p)).Frc = SQLITE_CORRUPT | int32(1)<<8 @@ -199271,7 +199302,7 @@ func fts5SegIterGotoPage(tls *libc.TLS, p uintptr, pIter uintptr, iLeafPgno int3 // Advance the iterator passed as the second argument until it is at or // past rowid iFrom. Regardless of the value of iFrom, the iterator is // always advanced at least once. -func fts5SegIterNextFrom(tls *libc.TLS, p uintptr, pIter uintptr, iMatch I64) { /* sqlite3.c:227528:13: */ +func fts5SegIterNextFrom(tls *libc.TLS, p uintptr, pIter uintptr, iMatch I64) { /* sqlite3.c:227585:13: */ var bRev int32 = (*Fts5SegIter)(unsafe.Pointer(pIter)).Fflags & FTS5_SEGITER_REVERSE var pDlidx uintptr = (*Fts5SegIter)(unsafe.Pointer(pIter)).FpDlidx var iLeafPgno int32 = (*Fts5SegIter)(unsafe.Pointer(pIter)).FiLeafPgno @@ -199321,7 +199352,7 @@ func fts5SegIterNextFrom(tls *libc.TLS, p uintptr, pIter uintptr, iMatch I64) { } // Free the iterator object passed as the second argument. -func fts5MultiIterFree(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:227582:13: */ +func fts5MultiIterFree(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:227639:13: */ if pIter != 0 { var i int32 for i = 0; i < (*Fts5Iter)(unsafe.Pointer(pIter)).FnSeg; i++ { @@ -199332,7 +199363,7 @@ func fts5MultiIterFree(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:227582:13: * } } -func fts5MultiIterAdvanced(tls *libc.TLS, p uintptr, pIter uintptr, iChanged int32, iMinset int32) { /* sqlite3.c:227593:13: */ +func fts5MultiIterAdvanced(tls *libc.TLS, p uintptr, pIter uintptr, iChanged int32, iMinset int32) { /* sqlite3.c:227650:13: */ var i int32 for i = ((*Fts5Iter)(unsafe.Pointer(pIter)).FnSeg + iChanged) / 2; i >= iMinset && (*Fts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK; i = i / 2 { var iEq int32 @@ -199355,7 +199386,7 @@ func fts5MultiIterAdvanced(tls *libc.TLS, p uintptr, pIter uintptr, iChanged int // If non-zero is returned, the caller should call fts5MultiIterAdvanced() // on the iterator instead. That function does the same as this one, except // that it deals with more complicated cases as well. -func fts5MultiIterAdvanceRowid(tls *libc.TLS, pIter uintptr, iChanged int32, ppFirst uintptr) int32 { /* sqlite3.c:227621:12: */ +func fts5MultiIterAdvanceRowid(tls *libc.TLS, pIter uintptr, iChanged int32, ppFirst uintptr) int32 { /* sqlite3.c:227678:12: */ var pNew uintptr = pIter + 96 + uintptr(iChanged)*120 if (*Fts5SegIter)(unsafe.Pointer(pNew)).FiRowid == (*Fts5Iter)(unsafe.Pointer(pIter)).FiSwitchRowid || @@ -199395,7 +199426,7 @@ func fts5MultiIterAdvanceRowid(tls *libc.TLS, pIter uintptr, iChanged int32, ppF } // Set the pIter->bEof variable based on the state of the sub-iterators. -func fts5MultiIterSetEof(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:227664:13: */ +func fts5MultiIterSetEof(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:227721:13: */ var pSeg uintptr = pIter + 96 + uintptr((*Fts5CResult)(unsafe.Pointer((*Fts5Iter)(unsafe.Pointer(pIter)).FaFirst+1*4)).FiFirst)*120 (*Fts5Iter)(unsafe.Pointer(pIter)).Fbase.FbEof = U8(libc.Bool32((*Fts5SegIter)(unsafe.Pointer(pSeg)).FpLeaf == uintptr(0))) (*Fts5Iter)(unsafe.Pointer(pIter)).FiSwitchRowid = (*Fts5SegIter)(unsafe.Pointer(pSeg)).FiRowid @@ -199406,7 +199437,7 @@ func fts5MultiIterSetEof(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:227664:13: // If an error occurs, an error code is left in Fts5Index.rc. It is not // considered an error if the iterator reaches EOF, or if it is already at // EOF when this function is called. -func fts5MultiIterNext(tls *libc.TLS, p uintptr, pIter uintptr, bFrom int32, iFrom I64) { /* sqlite3.c:227677:13: */ +func fts5MultiIterNext(tls *libc.TLS, p uintptr, pIter uintptr, bFrom int32, iFrom I64) { /* sqlite3.c:227734:13: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -199445,7 +199476,7 @@ func fts5MultiIterNext(tls *libc.TLS, p uintptr, pIter uintptr, bFrom int32, iFr } } -func fts5MultiIterNext2(tls *libc.TLS, p uintptr, pIter uintptr, pbNewTerm uintptr) { /* sqlite3.c:227715:13: */ +func fts5MultiIterNext2(tls *libc.TLS, p uintptr, pIter uintptr, pbNewTerm uintptr) { /* sqlite3.c:227772:13: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -199470,12 +199501,12 @@ func fts5MultiIterNext2(tls *libc.TLS, p uintptr, pIter uintptr, pbNewTerm uintp } } -func fts5IterSetOutputs_Noop(tls *libc.TLS, pUnused1 uintptr, pUnused2 uintptr) { /* sqlite3.c:227743:13: */ +func fts5IterSetOutputs_Noop(tls *libc.TLS, pUnused1 uintptr, pUnused2 uintptr) { /* sqlite3.c:227800:13: */ _ = pUnused1 _ = pUnused2 } -func fts5MultiIterAlloc(tls *libc.TLS, p uintptr, nSeg int32) uintptr { /* sqlite3.c:227747:17: */ +func fts5MultiIterAlloc(tls *libc.TLS, p uintptr, nSeg int32) uintptr { /* sqlite3.c:227804:17: */ var pNew uintptr var nSlot int32 // Power of two >= nSeg @@ -199494,7 +199525,7 @@ func fts5MultiIterAlloc(tls *libc.TLS, p uintptr, nSeg int32) uintptr { /* sqlit return pNew } -func fts5PoslistCallback(tls *libc.TLS, pUnused uintptr, pContext uintptr, pChunk uintptr, nChunk int32) { /* sqlite3.c:227769:13: */ +func fts5PoslistCallback(tls *libc.TLS, pUnused uintptr, pContext uintptr, pChunk uintptr, nChunk int32) { /* sqlite3.c:227826:13: */ _ = pUnused if nChunk > 0 { @@ -199511,21 +199542,21 @@ type PoslistCallbackCtx1 = struct { FpColset uintptr FeState int32 F__ccgo_pad1 [4]byte -} /* sqlite3.c:227781:9 */ +} /* sqlite3.c:227838:9 */ -type PoslistCallbackCtx = PoslistCallbackCtx1 /* sqlite3.c:227781:35 */ +type PoslistCallbackCtx = PoslistCallbackCtx1 /* sqlite3.c:227838:35 */ type PoslistOffsetsCtx1 = struct { FpBuf uintptr FpColset uintptr FiRead int32 FiWrite int32 -} /* sqlite3.c:227788:9 */ +} /* sqlite3.c:227845:9 */ -type PoslistOffsetsCtx = PoslistOffsetsCtx1 /* sqlite3.c:227788:34 */ +type PoslistOffsetsCtx = PoslistOffsetsCtx1 /* sqlite3.c:227845:34 */ // TODO: Make this more efficient! -func fts5IndexColsetTest(tls *libc.TLS, pColset uintptr, iCol int32) int32 { /* sqlite3.c:227799:12: */ +func fts5IndexColsetTest(tls *libc.TLS, pColset uintptr, iCol int32) int32 { /* sqlite3.c:227856:12: */ var i int32 for i = 0; i < (*Fts5Colset)(unsafe.Pointer(pColset)).FnCol; i++ { if *(*int32)(unsafe.Pointer(pColset + 4 + uintptr(i)*4)) == iCol { @@ -199535,7 +199566,7 @@ func fts5IndexColsetTest(tls *libc.TLS, pColset uintptr, iCol int32) int32 { /* return 0 } -func fts5PoslistOffsetsCallback(tls *libc.TLS, pUnused uintptr, pContext uintptr, pChunk uintptr, nChunk int32) { /* sqlite3.c:227807:13: */ +func fts5PoslistOffsetsCallback(tls *libc.TLS, pUnused uintptr, pContext uintptr, pChunk uintptr, nChunk int32) { /* sqlite3.c:227864:13: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -199561,7 +199592,7 @@ func fts5PoslistOffsetsCallback(tls *libc.TLS, pUnused uintptr, pContext uintptr } } -func fts5PoslistFilterCallback(tls *libc.TLS, pUnused uintptr, pContext uintptr, pChunk uintptr, nChunk int32) { /* sqlite3.c:227830:13: */ +func fts5PoslistFilterCallback(tls *libc.TLS, pUnused uintptr, pContext uintptr, pChunk uintptr, nChunk int32) { /* sqlite3.c:227887:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -199641,7 +199672,7 @@ func fts5PoslistFilterCallback(tls *libc.TLS, pUnused uintptr, pContext uintptr, } } -func fts5ChunkIterate(tls *libc.TLS, p uintptr, pSeg uintptr, pCtx uintptr, xChunk uintptr) { /* sqlite3.c:227882:13: */ +func fts5ChunkIterate(tls *libc.TLS, p uintptr, pSeg uintptr, pCtx uintptr, xChunk uintptr) { /* sqlite3.c:227939:13: */ var nRem int32 = (*Fts5SegIter)(unsafe.Pointer(pSeg)).FnPos // Number of bytes still to come var pData uintptr = uintptr(0) var pChunk uintptr = (*Fts5Data)(unsafe.Pointer((*Fts5SegIter)(unsafe.Pointer(pSeg)).FpLeaf)).Fp + uintptr((*Fts5SegIter)(unsafe.Pointer(pSeg)).FiLeafOffset) @@ -199697,7 +199728,7 @@ func fts5ChunkIterate(tls *libc.TLS, p uintptr, pSeg uintptr, pCtx uintptr, xChu // function appends the position list data for the current entry to // buffer pBuf. It does not make a copy of the position-list size // field. -func fts5SegiterPoslist(tls *libc.TLS, p uintptr, pSeg uintptr, pColset uintptr, pBuf uintptr) { /* sqlite3.c:227932:13: */ +func fts5SegiterPoslist(tls *libc.TLS, p uintptr, pSeg uintptr, pColset uintptr, pBuf uintptr) { /* sqlite3.c:227989:13: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -199748,7 +199779,7 @@ func fts5SegiterPoslist(tls *libc.TLS, p uintptr, pSeg uintptr, pColset uintptr, // This function is a no-op if *pRc is other than SQLITE_OK when it is // called. If an OOM error is encountered, *pRc is set to SQLITE_NOMEM // before returning. -func fts5IndexExtractColset(tls *libc.TLS, pRc uintptr, pColset uintptr, pPos uintptr, nPos int32, pIter uintptr) { /* sqlite3.c:227977:13: */ +func fts5IndexExtractColset(tls *libc.TLS, pRc uintptr, pColset uintptr, pPos uintptr, nPos int32, pIter uintptr) { /* sqlite3.c:228034:13: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -199809,7 +199840,7 @@ func fts5IndexExtractColset(tls *libc.TLS, pRc uintptr, pColset uintptr, pPos ui } // xSetOutputs callback used by detail=none tables. -func fts5IterSetOutputs_None(tls *libc.TLS, pIter uintptr, pSeg uintptr) { /* sqlite3.c:228037:13: */ +func fts5IterSetOutputs_None(tls *libc.TLS, pIter uintptr, pSeg uintptr) { /* sqlite3.c:228094:13: */ (*Fts5Iter)(unsafe.Pointer(pIter)).Fbase.FiRowid = (*Fts5SegIter)(unsafe.Pointer(pSeg)).FiRowid (*Fts5Iter)(unsafe.Pointer(pIter)).Fbase.FnData = (*Fts5SegIter)(unsafe.Pointer(pSeg)).FnPos @@ -199817,7 +199848,7 @@ func fts5IterSetOutputs_None(tls *libc.TLS, pIter uintptr, pSeg uintptr) { /* sq // xSetOutputs callback used by detail=full and detail=col tables when no // column filters are specified. -func fts5IterSetOutputs_Nocolset(tls *libc.TLS, pIter uintptr, pSeg uintptr) { /* sqlite3.c:228047:13: */ +func fts5IterSetOutputs_Nocolset(tls *libc.TLS, pIter uintptr, pSeg uintptr) { /* sqlite3.c:228104:13: */ (*Fts5Iter)(unsafe.Pointer(pIter)).Fbase.FiRowid = (*Fts5SegIter)(unsafe.Pointer(pSeg)).FiRowid (*Fts5Iter)(unsafe.Pointer(pIter)).Fbase.FnData = (*Fts5SegIter)(unsafe.Pointer(pSeg)).FnPos @@ -199837,7 +199868,7 @@ func fts5IterSetOutputs_Nocolset(tls *libc.TLS, pIter uintptr, pSeg uintptr) { / // xSetOutputs callback used when the Fts5Colset object has nCol==0 (match // against no columns at all). -func fts5IterSetOutputs_ZeroColset(tls *libc.TLS, pIter uintptr, pSeg uintptr) { /* sqlite3.c:228072:13: */ +func fts5IterSetOutputs_ZeroColset(tls *libc.TLS, pIter uintptr, pSeg uintptr) { /* sqlite3.c:228129:13: */ _ = pSeg (*Fts5Iter)(unsafe.Pointer(pIter)).Fbase.FnData = 0 } @@ -199845,7 +199876,7 @@ func fts5IterSetOutputs_ZeroColset(tls *libc.TLS, pIter uintptr, pSeg uintptr) { // xSetOutputs callback used by detail=col when there is a column filter // and there are 100 or more columns. Also called as a fallback from // fts5IterSetOutputs_Col100 if the column-list spans more than one page. -func fts5IterSetOutputs_Col(tls *libc.TLS, pIter uintptr, pSeg uintptr) { /* sqlite3.c:228082:13: */ +func fts5IterSetOutputs_Col(tls *libc.TLS, pIter uintptr, pSeg uintptr) { /* sqlite3.c:228139:13: */ sqlite3Fts5BufferZero(tls, pIter+32) fts5SegiterPoslist(tls, (*Fts5Iter)(unsafe.Pointer(pIter)).FpIndex, pSeg, (*Fts5Iter)(unsafe.Pointer(pIter)).FpColset, pIter+32) (*Fts5Iter)(unsafe.Pointer(pIter)).Fbase.FiRowid = (*Fts5SegIter)(unsafe.Pointer(pSeg)).FiRowid @@ -199861,7 +199892,7 @@ func fts5IterSetOutputs_Col(tls *libc.TLS, pIter uintptr, pSeg uintptr) { /* sql // // The last point is to ensure all column numbers are stored as // single-byte varints. -func fts5IterSetOutputs_Col100(tls *libc.TLS, pIter uintptr, pSeg uintptr) { /* sqlite3.c:228100:13: */ +func fts5IterSetOutputs_Col100(tls *libc.TLS, pIter uintptr, pSeg uintptr) { /* sqlite3.c:228157:13: */ var a uintptr var pEnd uintptr var iPrev int32 @@ -199923,7 +199954,7 @@ __2: } // xSetOutputs callback used by detail=full when there is a column filter. -func fts5IterSetOutputs_Full(tls *libc.TLS, pIter uintptr, pSeg uintptr) { /* sqlite3.c:228140:13: */ +func fts5IterSetOutputs_Full(tls *libc.TLS, pIter uintptr, pSeg uintptr) { /* sqlite3.c:228197:13: */ var pColset uintptr = (*Fts5Iter)(unsafe.Pointer(pIter)).FpColset (*Fts5Iter)(unsafe.Pointer(pIter)).Fbase.FiRowid = (*Fts5SegIter)(unsafe.Pointer(pSeg)).FiRowid @@ -199945,7 +199976,7 @@ func fts5IterSetOutputs_Full(tls *libc.TLS, pIter uintptr, pSeg uintptr) { /* sq } } -func fts5IterSetOutputCb(tls *libc.TLS, pRc uintptr, pIter uintptr) { /* sqlite3.c:228165:13: */ +func fts5IterSetOutputCb(tls *libc.TLS, pRc uintptr, pIter uintptr) { /* sqlite3.c:228222:13: */ if *(*int32)(unsafe.Pointer(pRc)) == SQLITE_OK { var pConfig uintptr = (*Fts5Index)(unsafe.Pointer((*Fts5Iter)(unsafe.Pointer(pIter)).FpIndex)).FpConfig @@ -199990,7 +200021,7 @@ func fts5IterSetOutputCb(tls *libc.TLS, pRc uintptr, pIter uintptr) { /* sqlite3 // // The iterator initially points to the first term/rowid entry in the // iterated data. -func fts5MultiIterNew(tls *libc.TLS, p uintptr, pStruct uintptr, flags int32, pColset uintptr, pTerm uintptr, nTerm int32, iLevel int32, nSegment int32, ppOut uintptr) { /* sqlite3.c:228209:13: */ +func fts5MultiIterNew(tls *libc.TLS, p uintptr, pStruct uintptr, flags int32, pColset uintptr, pTerm uintptr, nTerm int32, iLevel int32, nSegment int32, ppOut uintptr) { /* sqlite3.c:228266:13: */ var nSeg int32 // Number of segment-iters in use var iIter int32 // var iSeg int32 // Used to iterate through segments @@ -200193,7 +200224,7 @@ fts5MultiIterNew_post_check: // Create an Fts5Iter that iterates through the doclist provided // as the second argument. -func fts5MultiIterNew2(tls *libc.TLS, p uintptr, pData uintptr, bDesc int32, ppOut uintptr) { /* sqlite3.c:228315:13: */ +func fts5MultiIterNew2(tls *libc.TLS, p uintptr, pData uintptr, bDesc int32, ppOut uintptr) { /* sqlite3.c:228372:13: */ var pNew uintptr pNew = fts5MultiIterAlloc(tls, p, 2) if pNew != 0 { @@ -200226,7 +200257,7 @@ func fts5MultiIterNew2(tls *libc.TLS, p uintptr, pData uintptr, bDesc int32, ppO // Return true if the iterator is at EOF or if an error has occurred. // False otherwise. -func fts5MultiIterEof(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlite3.c:228355:12: */ +func fts5MultiIterEof(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlite3.c:228412:12: */ return libc.Bool32((*Fts5Index)(unsafe.Pointer(p)).Frc != 0 || (*Fts5Iter)(unsafe.Pointer(pIter)).Fbase.FbEof != 0) } @@ -200234,13 +200265,13 @@ func fts5MultiIterEof(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlite // Return the rowid of the entry that the iterator currently points // to. If the iterator points to EOF when this function is called the // results are undefined. -func fts5MultiIterRowid(tls *libc.TLS, pIter uintptr) I64 { /* sqlite3.c:228368:12: */ +func fts5MultiIterRowid(tls *libc.TLS, pIter uintptr) I64 { /* sqlite3.c:228425:12: */ return (*Fts5SegIter)(unsafe.Pointer(pIter + 96 + uintptr((*Fts5CResult)(unsafe.Pointer((*Fts5Iter)(unsafe.Pointer(pIter)).FaFirst+1*4)).FiFirst)*120)).FiRowid } // Move the iterator to the next entry at or following iMatch. -func fts5MultiIterNextFrom(tls *libc.TLS, p uintptr, pIter uintptr, iMatch I64) { /* sqlite3.c:228376:13: */ +func fts5MultiIterNextFrom(tls *libc.TLS, p uintptr, pIter uintptr, iMatch I64) { /* sqlite3.c:228433:13: */ for 1 != 0 { var iRowid I64 fts5MultiIterNext(tls, p, pIter, 1, iMatch) @@ -200259,7 +200290,7 @@ func fts5MultiIterNextFrom(tls *libc.TLS, p uintptr, pIter uintptr, iMatch I64) // Return a pointer to a buffer containing the term associated with the // entry that the iterator currently points to. -func fts5MultiIterTerm(tls *libc.TLS, pIter uintptr, pn uintptr) uintptr { /* sqlite3.c:228395:17: */ +func fts5MultiIterTerm(tls *libc.TLS, pIter uintptr, pn uintptr) uintptr { /* sqlite3.c:228452:17: */ var p uintptr = pIter + 96 + uintptr((*Fts5CResult)(unsafe.Pointer((*Fts5Iter)(unsafe.Pointer(pIter)).FaFirst+1*4)).FiFirst)*120 *(*int32)(unsafe.Pointer(pn)) = (*Fts5SegIter)(unsafe.Pointer(p)).Fterm.Fn return (*Fts5SegIter)(unsafe.Pointer(p)).Fterm.Fp @@ -200272,7 +200303,7 @@ func fts5MultiIterTerm(tls *libc.TLS, pIter uintptr, pn uintptr) uintptr { /* sq // // If an error has already occurred, this function is a no-op. 0 is // returned in this case. -func fts5AllocateSegid(tls *libc.TLS, p uintptr, pStruct uintptr) int32 { /* sqlite3.c:228410:12: */ +func fts5AllocateSegid(tls *libc.TLS, p uintptr, pStruct uintptr) int32 { /* sqlite3.c:228467:12: */ bp := tls.Alloc(252) defer tls.Free(252) @@ -200314,7 +200345,7 @@ func fts5AllocateSegid(tls *libc.TLS, p uintptr, pStruct uintptr) int32 { /* sql } // Discard all data currently cached in the hash-tables. -func fts5IndexDiscardData(tls *libc.TLS, p uintptr) { /* sqlite3.c:228467:13: */ +func fts5IndexDiscardData(tls *libc.TLS, p uintptr) { /* sqlite3.c:228524:13: */ if (*Fts5Index)(unsafe.Pointer(p)).FpHash != 0 { sqlite3Fts5HashClear(tls, (*Fts5Index)(unsafe.Pointer(p)).FpHash) @@ -200327,7 +200358,7 @@ func fts5IndexDiscardData(tls *libc.TLS, p uintptr) { /* sqlite3.c:228467:13: */ // // Buffer (pNew/) is guaranteed to be greater // than buffer (pOld/nOld). -func fts5PrefixCompress(tls *libc.TLS, nOld int32, pOld uintptr, pNew uintptr) int32 { /* sqlite3.c:228482:12: */ +func fts5PrefixCompress(tls *libc.TLS, nOld int32, pOld uintptr, pNew uintptr) int32 { /* sqlite3.c:228539:12: */ var i int32 for i = 0; i < nOld; i++ { if int32(*(*U8)(unsafe.Pointer(pOld + uintptr(i)))) != int32(*(*U8)(unsafe.Pointer(pNew + uintptr(i)))) { @@ -200337,7 +200368,7 @@ func fts5PrefixCompress(tls *libc.TLS, nOld int32, pOld uintptr, pNew uintptr) i return i } -func fts5WriteDlidxClear(tls *libc.TLS, p uintptr, pWriter uintptr, bFlush int32) { /* sqlite3.c:228490:13: */ +func fts5WriteDlidxClear(tls *libc.TLS, p uintptr, pWriter uintptr, bFlush int32) { /* sqlite3.c:228547:13: */ var i int32 for i = 0; i < (*Fts5SegWriter)(unsafe.Pointer(pWriter)).FnDlidx; i++ { @@ -200358,7 +200389,7 @@ func fts5WriteDlidxClear(tls *libc.TLS, p uintptr, pWriter uintptr, bFlush int32 // Grow the pWriter->aDlidx[] array to at least nLvl elements in size. // Any new array elements are zeroed before returning. -func fts5WriteDlidxGrow(tls *libc.TLS, p uintptr, pWriter uintptr, nLvl int32) int32 { /* sqlite3.c:228516:12: */ +func fts5WriteDlidxGrow(tls *libc.TLS, p uintptr, pWriter uintptr, nLvl int32) int32 { /* sqlite3.c:228573:12: */ if (*Fts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK && nLvl >= (*Fts5SegWriter)(unsafe.Pointer(pWriter)).FnDlidx { var aDlidx uintptr = Xsqlite3_realloc64(tls, (*Fts5SegWriter)(unsafe.Pointer(pWriter)).FaDlidx, uint64(uint64(unsafe.Sizeof(Fts5DlidxWriter{}))*uint64(nLvl))) @@ -200377,7 +200408,7 @@ func fts5WriteDlidxGrow(tls *libc.TLS, p uintptr, pWriter uintptr, nLvl int32) i // If the current doclist-index accumulating in pWriter->aDlidx[] is large // enough, flush it to disk and return 1. Otherwise discard it and return // zero. -func fts5WriteFlushDlidx(tls *libc.TLS, p uintptr, pWriter uintptr) int32 { /* sqlite3.c:228542:12: */ +func fts5WriteFlushDlidx(tls *libc.TLS, p uintptr, pWriter uintptr) int32 { /* sqlite3.c:228599:12: */ var bFlag int32 = 0 // If there were FTS5_MIN_DLIDX_SIZE or more empty leaf pages written @@ -200399,7 +200430,7 @@ func fts5WriteFlushDlidx(tls *libc.TLS, p uintptr, pWriter uintptr) int32 { /* s // it. // // Fts5SegWriter.btterm currently contains the first term on page iBtPage. -func fts5WriteFlushBtree(tls *libc.TLS, p uintptr, pWriter uintptr) { /* sqlite3.c:228566:13: */ +func fts5WriteFlushBtree(tls *libc.TLS, p uintptr, pWriter uintptr) { /* sqlite3.c:228623:13: */ var bFlag int32 if (*Fts5SegWriter)(unsafe.Pointer(pWriter)).FiBtPage == 0 { @@ -200432,7 +200463,7 @@ func fts5WriteFlushBtree(tls *libc.TLS, p uintptr, pWriter uintptr) { /* sqlite3 // // If an error occurs, an error code is left in Fts5Index.rc. If an error // has already occurred when this function is called, it is a no-op. -func fts5WriteBtreeTerm(tls *libc.TLS, p uintptr, pWriter uintptr, nTerm int32, pTerm uintptr) { /* sqlite3.c:228595:13: */ +func fts5WriteBtreeTerm(tls *libc.TLS, p uintptr, pWriter uintptr, nTerm int32, pTerm uintptr) { /* sqlite3.c:228652:13: */ fts5WriteFlushBtree(tls, p, pWriter) if (*Fts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK { sqlite3Fts5BufferSet(tls, p+52, pWriter+96, nTerm, pTerm) @@ -200442,7 +200473,7 @@ func fts5WriteBtreeTerm(tls *libc.TLS, p uintptr, pWriter uintptr, nTerm int32, // This function is called when flushing a leaf page that contains no // terms at all to disk. -func fts5WriteBtreeNoTerm(tls *libc.TLS, p uintptr, pWriter uintptr) { /* sqlite3.c:228611:13: */ +func fts5WriteBtreeNoTerm(tls *libc.TLS, p uintptr, pWriter uintptr) { /* sqlite3.c:228668:13: */ // If there were no rowids on the leaf page either and the doclist-index // has already been started, append an 0x00 byte to it. if (*Fts5SegWriter)(unsafe.Pointer(pWriter)).FbFirstRowidInPage != 0 && (*Fts5DlidxWriter)(unsafe.Pointer((*Fts5SegWriter)(unsafe.Pointer(pWriter)).FaDlidx)).Fbuf.Fn > 0 { @@ -200455,7 +200486,7 @@ func fts5WriteBtreeNoTerm(tls *libc.TLS, p uintptr, pWriter uintptr) { /* sqlite (*Fts5SegWriter)(unsafe.Pointer(pWriter)).FnEmpty++ } -func fts5DlidxExtractFirstRowid(tls *libc.TLS, pBuf uintptr) I64 { /* sqlite3.c:228627:12: */ +func fts5DlidxExtractFirstRowid(tls *libc.TLS, pBuf uintptr) I64 { /* sqlite3.c:228684:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -200471,7 +200502,7 @@ func fts5DlidxExtractFirstRowid(tls *libc.TLS, pBuf uintptr) I64 { /* sqlite3.c: // Rowid iRowid has just been appended to the current leaf page. It is the // first on the page. This function appends an appropriate entry to the current // doclist-index. -func fts5WriteDlidxAppend(tls *libc.TLS, p uintptr, pWriter uintptr, iRowid I64) { /* sqlite3.c:228641:13: */ +func fts5WriteDlidxAppend(tls *libc.TLS, p uintptr, pWriter uintptr, iRowid I64) { /* sqlite3.c:228698:13: */ var i int32 var bDone int32 = 0 @@ -200531,7 +200562,7 @@ func fts5WriteDlidxAppend(tls *libc.TLS, p uintptr, pWriter uintptr, iRowid I64) } } -func fts5WriteFlushLeaf(tls *libc.TLS, p uintptr, pWriter uintptr) { /* sqlite3.c:228701:13: */ +func fts5WriteFlushLeaf(tls *libc.TLS, p uintptr, pWriter uintptr) { /* sqlite3.c:228758:13: */ var pPage uintptr = pWriter + 8 var iRowid I64 @@ -200567,14 +200598,14 @@ func fts5WriteFlushLeaf(tls *libc.TLS, p uintptr, pWriter uintptr) { /* sqlite3. (*Fts5SegWriter)(unsafe.Pointer(pWriter)).FbFirstRowidInPage = U8(1) } -var zero = [4]U8{U8(0x00), U8(0x00), U8(0x00), U8(0x00)} /* sqlite3.c:228702:19 */ +var zero = [4]U8{U8(0x00), U8(0x00), U8(0x00), U8(0x00)} /* sqlite3.c:228759:19 */ // Append term pTerm/nTerm to the segment being written by the writer passed // as the second argument. // // If an error occurs, set the Fts5Index.rc error code. If an error has // already occurred, this function is a no-op. -func fts5WriteAppendTerm(tls *libc.TLS, p uintptr, pWriter uintptr, nTerm int32, pTerm uintptr) { /* sqlite3.c:228747:13: */ +func fts5WriteAppendTerm(tls *libc.TLS, p uintptr, pWriter uintptr, nTerm int32, pTerm uintptr) { /* sqlite3.c:228804:13: */ var nPrefix int32 // Bytes of prefix compression for term var pPage uintptr = pWriter + 8 var pPgidx uintptr = pWriter + 8 + 24 @@ -200650,7 +200681,7 @@ func fts5WriteAppendTerm(tls *libc.TLS, p uintptr, pWriter uintptr, nTerm int32, } // Append a rowid and position-list size field to the writers output. -func fts5WriteAppendRowid(tls *libc.TLS, p uintptr, pWriter uintptr, iRowid I64) { /* sqlite3.c:228828:13: */ +func fts5WriteAppendRowid(tls *libc.TLS, p uintptr, pWriter uintptr, iRowid I64) { /* sqlite3.c:228885:13: */ if (*Fts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK { var pPage uintptr = pWriter + 8 @@ -200679,7 +200710,7 @@ func fts5WriteAppendRowid(tls *libc.TLS, p uintptr, pWriter uintptr, iRowid I64) } } -func fts5WriteAppendPoslistData(tls *libc.TLS, p uintptr, pWriter uintptr, aData uintptr, nData int32) { /* sqlite3.c:228861:13: */ +func fts5WriteAppendPoslistData(tls *libc.TLS, p uintptr, pWriter uintptr, aData uintptr, nData int32) { /* sqlite3.c:228918:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -200708,7 +200739,7 @@ func fts5WriteAppendPoslistData(tls *libc.TLS, p uintptr, pWriter uintptr, aData // Flush any data cached by the writer object to the database. Free any // allocations associated with the writer. -func fts5WriteFinish(tls *libc.TLS, p uintptr, pWriter uintptr, pnLeaf uintptr) { /* sqlite3.c:228895:13: */ +func fts5WriteFinish(tls *libc.TLS, p uintptr, pWriter uintptr, pnLeaf uintptr) { /* sqlite3.c:228952:13: */ var i int32 var pLeaf uintptr = pWriter + 8 if (*Fts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK { @@ -200732,7 +200763,7 @@ func fts5WriteFinish(tls *libc.TLS, p uintptr, pWriter uintptr, pnLeaf uintptr) Xsqlite3_free(tls, (*Fts5SegWriter)(unsafe.Pointer(pWriter)).FaDlidx) } -func fts5WriteInit(tls *libc.TLS, p uintptr, pWriter uintptr, iSegid int32) { /* sqlite3.c:228923:13: */ +func fts5WriteInit(tls *libc.TLS, p uintptr, pWriter uintptr, iSegid int32) { /* sqlite3.c:228980:13: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -200772,7 +200803,7 @@ func fts5WriteInit(tls *libc.TLS, p uintptr, pWriter uintptr, iSegid int32) { /* // Iterator pIter was used to iterate through the input segments of on an // incremental merge operation. This function is called if the incremental // merge step has finished but the input has not been completely exhausted. -func fts5TrimSegments(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:228970:13: */ +func fts5TrimSegments(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:229027:13: */ bp := tls.Alloc(20) defer tls.Free(20) @@ -200841,13 +200872,13 @@ func fts5TrimSegments(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:22 sqlite3Fts5BufferFree(tls, bp) } -func fts5MergeChunkCallback(tls *libc.TLS, p uintptr, pCtx uintptr, pChunk uintptr, nChunk int32) { /* sqlite3.c:229036:13: */ +func fts5MergeChunkCallback(tls *libc.TLS, p uintptr, pCtx uintptr, pChunk uintptr, nChunk int32) { /* sqlite3.c:229093:13: */ var pWriter uintptr = pCtx fts5WriteAppendPoslistData(tls, p, pWriter, pChunk, nChunk) } // -func fts5IndexMergeLevel(tls *libc.TLS, p uintptr, ppStruct uintptr, iLvl int32, pnRem uintptr) { /* sqlite3.c:229048:13: */ +func fts5IndexMergeLevel(tls *libc.TLS, p uintptr, ppStruct uintptr, iLvl int32, pnRem uintptr) { /* sqlite3.c:229105:13: */ bp := tls.Alloc(148) defer tls.Free(148) @@ -201006,7 +201037,7 @@ func fts5IndexMergeLevel(tls *libc.TLS, p uintptr, ppStruct uintptr, iLvl int32, // Do up to nPg pages of automerge work on the index. // // Return true if any changes were actually made, or false otherwise. -func fts5IndexMerge(tls *libc.TLS, p uintptr, ppStruct uintptr, nPg int32, nMin int32) int32 { /* sqlite3.c:229198:12: */ +func fts5IndexMerge(tls *libc.TLS, p uintptr, ppStruct uintptr, nPg int32, nMin int32) int32 { /* sqlite3.c:229255:12: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -201056,7 +201087,7 @@ func fts5IndexMerge(tls *libc.TLS, p uintptr, ppStruct uintptr, nPg int32, nMin // // If an error occurs, set the Fts5Index.rc error code. If an error has // already occurred, this function is a no-op. -func fts5IndexAutomerge(tls *libc.TLS, p uintptr, ppStruct uintptr, nLeaf int32) { /* sqlite3.c:229257:13: */ +func fts5IndexAutomerge(tls *libc.TLS, p uintptr, ppStruct uintptr, nLeaf int32) { /* sqlite3.c:229314:13: */ if (*Fts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK && (*Fts5Config)(unsafe.Pointer((*Fts5Index)(unsafe.Pointer(p)).FpConfig)).FnAutomerge > 0 && *(*uintptr)(unsafe.Pointer(ppStruct)) != uintptr(0) { var pStruct uintptr = *(*uintptr)(unsafe.Pointer(ppStruct)) var nWrite U64 // Initial value of write-counter @@ -201073,7 +201104,7 @@ func fts5IndexAutomerge(tls *libc.TLS, p uintptr, ppStruct uintptr, nLeaf int32) } } -func fts5IndexCrisismerge(tls *libc.TLS, p uintptr, ppStruct uintptr) { /* sqlite3.c:229278:13: */ +func fts5IndexCrisismerge(tls *libc.TLS, p uintptr, ppStruct uintptr) { /* sqlite3.c:229335:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -201090,7 +201121,7 @@ func fts5IndexCrisismerge(tls *libc.TLS, p uintptr, ppStruct uintptr) { /* sqlit *(*uintptr)(unsafe.Pointer(ppStruct)) = *(*uintptr)(unsafe.Pointer(bp /* pStruct */)) } -func fts5IndexReturn(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:229296:12: */ +func fts5IndexReturn(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:229353:12: */ var rc int32 = (*Fts5Index)(unsafe.Pointer(p)).Frc (*Fts5Index)(unsafe.Pointer(p)).Frc = SQLITE_OK return rc @@ -201099,14 +201130,14 @@ func fts5IndexReturn(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:229296:12: * type Fts5FlushCtx1 = struct { FpIdx uintptr Fwriter Fts5SegWriter -} /* sqlite3.c:229302:9 */ +} /* sqlite3.c:229359:9 */ -type Fts5FlushCtx = Fts5FlushCtx1 /* sqlite3.c:229302:29 */ +type Fts5FlushCtx = Fts5FlushCtx1 /* sqlite3.c:229359:29 */ // Buffer aBuf[] contains a list of varints, all small enough to fit // in a 32-bit integer. Return the size of the largest prefix of this // list nMax bytes or less in size. -func fts5PoslistPrefix(tls *libc.TLS, aBuf uintptr, nMax int32) int32 { /* sqlite3.c:229313:12: */ +func fts5PoslistPrefix(tls *libc.TLS, aBuf uintptr, nMax int32) int32 { /* sqlite3.c:229370:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -201131,7 +201162,7 @@ func fts5PoslistPrefix(tls *libc.TLS, aBuf uintptr, nMax int32) int32 { /* sqlit // // If an error occurs, set the Fts5Index.rc error code. If an error has // already occurred, this function is a no-op. -func fts5FlushOneHash(tls *libc.TLS, p uintptr) { /* sqlite3.c:229334:13: */ +func fts5FlushOneHash(tls *libc.TLS, p uintptr) { /* sqlite3.c:229391:13: */ bp := tls.Alloc(176) defer tls.Free(176) @@ -201309,7 +201340,7 @@ func fts5FlushOneHash(tls *libc.TLS, p uintptr) { /* sqlite3.c:229334:13: */ } // Flush any data stored in the in-memory hash tables to the database. -func fts5IndexFlush(tls *libc.TLS, p uintptr) { /* sqlite3.c:229488:13: */ +func fts5IndexFlush(tls *libc.TLS, p uintptr) { /* sqlite3.c:229545:13: */ // Unless it is empty, flush the hash table to disk if (*Fts5Index)(unsafe.Pointer(p)).FnPendingData != 0 { @@ -201318,7 +201349,7 @@ func fts5IndexFlush(tls *libc.TLS, p uintptr) { /* sqlite3.c:229488:13: */ } } -func fts5IndexOptimizeStruct(tls *libc.TLS, p uintptr, pStruct uintptr) uintptr { /* sqlite3.c:229497:22: */ +func fts5IndexOptimizeStruct(tls *libc.TLS, p uintptr, pStruct uintptr) uintptr { /* sqlite3.c:229554:22: */ var pNew uintptr = uintptr(0) var nByte Sqlite3_int64 = Sqlite3_int64(unsafe.Sizeof(Fts5Structure{})) var nSeg int32 = (*Fts5Structure)(unsafe.Pointer(pStruct)).FnSegment @@ -201379,7 +201410,7 @@ func fts5IndexOptimizeStruct(tls *libc.TLS, p uintptr, pStruct uintptr) uintptr return pNew } -func sqlite3Fts5IndexOptimize(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:229559:12: */ +func sqlite3Fts5IndexOptimize(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:229616:12: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -201413,7 +201444,7 @@ func sqlite3Fts5IndexOptimize(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:229 // This is called to implement the special "VALUES('merge', $nMerge)" // INSERT command. -func sqlite3Fts5IndexMerge(tls *libc.TLS, p uintptr, nMerge int32) int32 { /* sqlite3.c:229593:12: */ +func sqlite3Fts5IndexMerge(tls *libc.TLS, p uintptr, nMerge int32) int32 { /* sqlite3.c:229650:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -201438,12 +201469,12 @@ func sqlite3Fts5IndexMerge(tls *libc.TLS, p uintptr, nMerge int32) int32 { /* sq return fts5IndexReturn(tls, p) } -func fts5AppendRowid(tls *libc.TLS, p uintptr, iDelta I64, pUnused uintptr, pBuf uintptr) { /* sqlite3.c:229615:13: */ +func fts5AppendRowid(tls *libc.TLS, p uintptr, iDelta I64, pUnused uintptr, pBuf uintptr) { /* sqlite3.c:229672:13: */ _ = pUnused sqlite3Fts5BufferAppendVarint(tls, p+52, pBuf, iDelta) } -func fts5AppendPoslist(tls *libc.TLS, p uintptr, iDelta I64, pMulti uintptr, pBuf uintptr) { /* sqlite3.c:229625:13: */ +func fts5AppendPoslist(tls *libc.TLS, p uintptr, iDelta I64, pMulti uintptr, pBuf uintptr) { /* sqlite3.c:229682:13: */ var nData int32 = (*Fts5Iter)(unsafe.Pointer(pMulti)).Fbase.FnData var nByte int32 = nData + 9 + 9 + FTS5_DATA_ZERO_PADDING @@ -201470,7 +201501,7 @@ func fts5AppendPoslist(tls *libc.TLS, p uintptr, iDelta I64, pMulti uintptr, pBu } } -func fts5DoclistIterNext(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:229643:13: */ +func fts5DoclistIterNext(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:229700:13: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -201502,7 +201533,7 @@ func fts5DoclistIterNext(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:229643:13: } } -func fts5DoclistIterInit(tls *libc.TLS, pBuf uintptr, pIter uintptr) { /* sqlite3.c:229672:13: */ +func fts5DoclistIterInit(tls *libc.TLS, pBuf uintptr, pIter uintptr) { /* sqlite3.c:229729:13: */ libc.X__builtin___memset_chk(tls, pIter, 0, uint64(unsafe.Sizeof(Fts5DoclistIter{})), libc.X__builtin_object_size(tls, pIter, 0)) if (*Fts5Buffer)(unsafe.Pointer(pBuf)).Fn > 0 { (*Fts5DoclistIter)(unsafe.Pointer(pIter)).FaPoslist = (*Fts5Buffer)(unsafe.Pointer(pBuf)).Fp @@ -201512,13 +201543,13 @@ func fts5DoclistIterInit(tls *libc.TLS, pBuf uintptr, pIter uintptr) { /* sqlite } // Swap the contents of buffer *p1 with that of *p2. -func fts5BufferSwap(tls *libc.TLS, p1 uintptr, p2 uintptr) { /* sqlite3.c:229711:13: */ +func fts5BufferSwap(tls *libc.TLS, p1 uintptr, p2 uintptr) { /* sqlite3.c:229768:13: */ var tmp = *(*Fts5Buffer)(unsafe.Pointer(p1)) *(*Fts5Buffer)(unsafe.Pointer(p1)) = *(*Fts5Buffer)(unsafe.Pointer(p2)) *(*Fts5Buffer)(unsafe.Pointer(p2)) = tmp } -func fts5NextRowid(tls *libc.TLS, pBuf uintptr, piOff uintptr, piRowid uintptr) { /* sqlite3.c:229717:13: */ +func fts5NextRowid(tls *libc.TLS, pBuf uintptr, piOff uintptr, piRowid uintptr) { /* sqlite3.c:229774:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -201535,7 +201566,7 @@ func fts5NextRowid(tls *libc.TLS, pBuf uintptr, piOff uintptr, piRowid uintptr) // This is the equivalent of fts5MergePrefixLists() for detail=none mode. // In this case the buffers consist of a delta-encoded list of rowids only. -func fts5MergeRowidLists(tls *libc.TLS, p uintptr, p1 uintptr, nBuf int32, aBuf uintptr) { /* sqlite3.c:229732:13: */ +func fts5MergeRowidLists(tls *libc.TLS, p uintptr, p1 uintptr, nBuf int32, aBuf uintptr) { /* sqlite3.c:229789:13: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -201591,11 +201622,11 @@ type PrefixMerger1 = struct { F__ccgo_pad1 [4]byte FaPos uintptr FpNext uintptr -} /* sqlite3.c:229775:9 */ +} /* sqlite3.c:229832:9 */ -type PrefixMerger = PrefixMerger1 /* sqlite3.c:229775:29 */ +type PrefixMerger = PrefixMerger1 /* sqlite3.c:229832:29 */ -func fts5PrefixMergerInsertByRowid(tls *libc.TLS, ppHead uintptr, p uintptr) { /* sqlite3.c:229784:13: */ +func fts5PrefixMergerInsertByRowid(tls *libc.TLS, ppHead uintptr, p uintptr) { /* sqlite3.c:229841:13: */ if (*PrefixMerger)(unsafe.Pointer(p)).Fiter.FaPoslist != 0 { var pp uintptr = ppHead for *(*uintptr)(unsafe.Pointer(pp)) != 0 && (*PrefixMerger)(unsafe.Pointer(p)).Fiter.FiRowid > (*PrefixMerger)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pp)))).Fiter.FiRowid { @@ -201606,7 +201637,7 @@ func fts5PrefixMergerInsertByRowid(tls *libc.TLS, ppHead uintptr, p uintptr) { / } } -func fts5PrefixMergerInsertByPosition(tls *libc.TLS, ppHead uintptr, p uintptr) { /* sqlite3.c:229798:13: */ +func fts5PrefixMergerInsertByPosition(tls *libc.TLS, ppHead uintptr, p uintptr) { /* sqlite3.c:229855:13: */ if (*PrefixMerger)(unsafe.Pointer(p)).FiPos >= int64(0) { var pp uintptr = ppHead for *(*uintptr)(unsafe.Pointer(pp)) != 0 && (*PrefixMerger)(unsafe.Pointer(p)).FiPos > (*PrefixMerger)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pp)))).FiPos { @@ -201619,7 +201650,7 @@ func fts5PrefixMergerInsertByPosition(tls *libc.TLS, ppHead uintptr, p uintptr) // Array aBuf[] contains nBuf doclists. These are all merged in with the // doclist in buffer p1. -func fts5MergePrefixLists(tls *libc.TLS, p uintptr, p1 uintptr, nBuf int32, aBuf uintptr) { /* sqlite3.c:229817:13: */ +func fts5MergePrefixLists(tls *libc.TLS, p uintptr, p1 uintptr, nBuf int32, aBuf uintptr) { /* sqlite3.c:229874:13: */ bp := tls.Alloc(1072) defer tls.Free(1072) @@ -201784,7 +201815,7 @@ func fts5MergePrefixLists(tls *libc.TLS, p uintptr, p1 uintptr, nBuf int32, aBuf *(*Fts5Buffer)(unsafe.Pointer(p1)) = *(*Fts5Buffer)(unsafe.Pointer(bp + 1032 /* out */)) } -func fts5SetupPrefixIter(tls *libc.TLS, p uintptr, bDesc int32, iIdx int32, pToken uintptr, nToken int32, pColset uintptr, ppIter uintptr) { /* sqlite3.c:229961:13: */ +func fts5SetupPrefixIter(tls *libc.TLS, p uintptr, bDesc int32, iIdx int32, pToken uintptr, nToken int32, pColset uintptr, ppIter uintptr) { /* sqlite3.c:230018:13: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -201931,7 +201962,7 @@ func fts5SetupPrefixIter(tls *libc.TLS, p uintptr, bDesc int32, iIdx int32, pTok // Indicate that all subsequent calls to sqlite3Fts5IndexWrite() pertain // to the document with rowid iRowid. -func sqlite3Fts5IndexBeginWrite(tls *libc.TLS, p uintptr, bDelete int32, iRowid I64) int32 { /* sqlite3.c:230098:12: */ +func sqlite3Fts5IndexBeginWrite(tls *libc.TLS, p uintptr, bDelete int32, iRowid I64) int32 { /* sqlite3.c:230155:12: */ // Allocate the hash table if it has not already been allocated if (*Fts5Index)(unsafe.Pointer(p)).FpHash == uintptr(0) { @@ -201951,7 +201982,7 @@ func sqlite3Fts5IndexBeginWrite(tls *libc.TLS, p uintptr, bDelete int32, iRowid } // Commit data to disk. -func sqlite3Fts5IndexSync(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:230122:12: */ +func sqlite3Fts5IndexSync(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:230179:12: */ fts5IndexFlush(tls, p) sqlite3Fts5IndexCloseReader(tls, p) @@ -201962,7 +201993,7 @@ func sqlite3Fts5IndexSync(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:230122: // to the database. Additionally, assume that the contents of the %_data // table may have changed on disk. So any in-memory caches of %_data // records must be invalidated. -func sqlite3Fts5IndexRollback(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:230135:12: */ +func sqlite3Fts5IndexRollback(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:230192:12: */ sqlite3Fts5IndexCloseReader(tls, p) fts5IndexDiscardData(tls, p) fts5StructureInvalidate(tls, p) @@ -201973,7 +202004,7 @@ func sqlite3Fts5IndexRollback(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:230 // The %_data table is completely empty when this function is called. This // function populates it with the initial structure objects for each index, // and the initial version of the "averages" record (a zero-byte blob). -func sqlite3Fts5IndexReinit(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:230148:12: */ +func sqlite3Fts5IndexReinit(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:230205:12: */ bp := tls.Alloc(40) defer tls.Free(40) @@ -201992,7 +202023,7 @@ func sqlite3Fts5IndexReinit(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:23014 // // If successful, set *pp to point to the new object and return SQLITE_OK. // Otherwise, set *pp to NULL and return an SQLite error code. -func sqlite3Fts5IndexOpen(tls *libc.TLS, pConfig uintptr, bCreate int32, pp uintptr, pzErr uintptr) int32 { /* sqlite3.c:230165:12: */ +func sqlite3Fts5IndexOpen(tls *libc.TLS, pConfig uintptr, bCreate int32, pp uintptr, pzErr uintptr) int32 { /* sqlite3.c:230222:12: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -202026,7 +202057,7 @@ func sqlite3Fts5IndexOpen(tls *libc.TLS, pConfig uintptr, bCreate int32, pp uint } // Close a handle opened by an earlier call to sqlite3Fts5IndexOpen(). -func sqlite3Fts5IndexClose(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:230206:12: */ +func sqlite3Fts5IndexClose(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:230263:12: */ var rc int32 = SQLITE_OK if p != 0 { @@ -202047,7 +202078,7 @@ func sqlite3Fts5IndexClose(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:230206 // Argument p points to a buffer containing utf-8 text that is n bytes in // size. Return the number of bytes in the nChar character prefix of the // buffer, or 0 if there are less than nChar characters in total. -func sqlite3Fts5IndexCharlenToBytelen(tls *libc.TLS, p uintptr, nByte int32, nChar int32) int32 { /* sqlite3.c:230229:12: */ +func sqlite3Fts5IndexCharlenToBytelen(tls *libc.TLS, p uintptr, nByte int32, nChar int32) int32 { /* sqlite3.c:230286:12: */ var n int32 = 0 var i int32 for i = 0; i < nChar; i++ { @@ -202074,7 +202105,7 @@ func sqlite3Fts5IndexCharlenToBytelen(tls *libc.TLS, p uintptr, nByte int32, nCh // pIn is a UTF-8 encoded string, nIn bytes in size. Return the number of // unicode characters in the string. -func fts5IndexCharlen(tls *libc.TLS, pIn uintptr, nIn int32) int32 { /* sqlite3.c:230256:12: */ +func fts5IndexCharlen(tls *libc.TLS, pIn uintptr, nIn int32) int32 { /* sqlite3.c:230313:12: */ var nChar int32 = 0 var i int32 = 0 for i < nIn { @@ -202096,7 +202127,7 @@ func fts5IndexCharlen(tls *libc.TLS, pIn uintptr, nIn int32) int32 { /* sqlite3. // If the operation is a delete, it must be called (at least) once for each // unique token in the document with an iCol value less than zero. The iPos // argument is ignored for a delete. -func sqlite3Fts5IndexWrite(tls *libc.TLS, p uintptr, iCol int32, iPos int32, pToken uintptr, nToken int32) int32 { /* sqlite3.c:230278:12: */ +func sqlite3Fts5IndexWrite(tls *libc.TLS, p uintptr, iCol int32, iPos int32, pToken uintptr, nToken int32) int32 { /* sqlite3.c:230335:12: */ var i int32 // Used to iterate through indexes var rc int32 = SQLITE_OK // Return code var pConfig uintptr = (*Fts5Index)(unsafe.Pointer(p)).FpConfig @@ -202120,7 +202151,7 @@ func sqlite3Fts5IndexWrite(tls *libc.TLS, p uintptr, iCol int32, iPos int32, pTo // Open a new iterator to iterate though all rowid that match the // specified token or token prefix. -func sqlite3Fts5IndexQuery(tls *libc.TLS, p uintptr, pToken uintptr, nToken int32, flags int32, pColset uintptr, ppIter uintptr) int32 { /* sqlite3.c:230314:12: */ +func sqlite3Fts5IndexQuery(tls *libc.TLS, p uintptr, pToken uintptr, nToken int32, flags int32, pColset uintptr, ppIter uintptr) int32 { /* sqlite3.c:230371:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -202203,7 +202234,7 @@ func sqlite3Fts5IndexQuery(tls *libc.TLS, p uintptr, pToken uintptr, nToken int3 // Return true if the iterator passed as the only argument is at EOF. // Move to the next matching rowid. -func sqlite3Fts5IterNext(tls *libc.TLS, pIndexIter uintptr) int32 { /* sqlite3.c:230402:12: */ +func sqlite3Fts5IterNext(tls *libc.TLS, pIndexIter uintptr) int32 { /* sqlite3.c:230459:12: */ var pIter uintptr = pIndexIter fts5MultiIterNext(tls, (*Fts5Iter)(unsafe.Pointer(pIter)).FpIndex, pIter, 0, int64(0)) @@ -202211,7 +202242,7 @@ func sqlite3Fts5IterNext(tls *libc.TLS, pIndexIter uintptr) int32 { /* sqlite3.c } // Move to the next matching term/rowid. Used by the fts5vocab module. -func sqlite3Fts5IterNextScan(tls *libc.TLS, pIndexIter uintptr) int32 { /* sqlite3.c:230412:12: */ +func sqlite3Fts5IterNextScan(tls *libc.TLS, pIndexIter uintptr) int32 { /* sqlite3.c:230469:12: */ var pIter uintptr = pIndexIter var p uintptr = (*Fts5Iter)(unsafe.Pointer(pIter)).FpIndex @@ -202231,14 +202262,14 @@ func sqlite3Fts5IterNextScan(tls *libc.TLS, pIndexIter uintptr) int32 { /* sqlit // Move to the next matching rowid that occurs at or after iMatch. The // definition of "at or after" depends on whether this iterator iterates // in ascending or descending rowid order. -func sqlite3Fts5IterNextFrom(tls *libc.TLS, pIndexIter uintptr, iMatch I64) int32 { /* sqlite3.c:230436:12: */ +func sqlite3Fts5IterNextFrom(tls *libc.TLS, pIndexIter uintptr, iMatch I64) int32 { /* sqlite3.c:230493:12: */ var pIter uintptr = pIndexIter fts5MultiIterNextFrom(tls, (*Fts5Iter)(unsafe.Pointer(pIter)).FpIndex, pIter, iMatch) return fts5IndexReturn(tls, (*Fts5Iter)(unsafe.Pointer(pIter)).FpIndex) } // Return the current term. -func sqlite3Fts5IterTerm(tls *libc.TLS, pIndexIter uintptr, pn uintptr) uintptr { /* sqlite3.c:230445:19: */ +func sqlite3Fts5IterTerm(tls *libc.TLS, pIndexIter uintptr, pn uintptr) uintptr { /* sqlite3.c:230502:19: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -202256,7 +202287,7 @@ func sqlite3Fts5IterTerm(tls *libc.TLS, pIndexIter uintptr, pn uintptr) uintptr } // Close an iterator opened by an earlier call to sqlite3Fts5IndexQuery(). -func sqlite3Fts5IterClose(tls *libc.TLS, pIndexIter uintptr) { /* sqlite3.c:230456:13: */ +func sqlite3Fts5IterClose(tls *libc.TLS, pIndexIter uintptr) { /* sqlite3.c:230513:13: */ if pIndexIter != 0 { var pIter uintptr = pIndexIter var pIndex uintptr = (*Fts5Iter)(unsafe.Pointer(pIter)).FpIndex @@ -202269,7 +202300,7 @@ func sqlite3Fts5IterClose(tls *libc.TLS, pIndexIter uintptr) { /* sqlite3.c:2304 // // Parameter anSize must point to an array of size nCol, where nCol is // the number of user defined columns in the FTS table. -func sqlite3Fts5IndexGetAverages(tls *libc.TLS, p uintptr, pnRow uintptr, anSize uintptr) int32 { /* sqlite3.c:230471:12: */ +func sqlite3Fts5IndexGetAverages(tls *libc.TLS, p uintptr, pnRow uintptr, anSize uintptr) int32 { /* sqlite3.c:230528:12: */ var nCol int32 = (*Fts5Config)(unsafe.Pointer((*Fts5Index)(unsafe.Pointer(p)).FpConfig)).FnCol var pData uintptr @@ -202291,7 +202322,7 @@ func sqlite3Fts5IndexGetAverages(tls *libc.TLS, p uintptr, pnRow uintptr, anSize // Replace the current "averages" record with the contents of the buffer // supplied as the second argument. -func sqlite3Fts5IndexSetAverages(tls *libc.TLS, p uintptr, pData uintptr, nData int32) int32 { /* sqlite3.c:230495:12: */ +func sqlite3Fts5IndexSetAverages(tls *libc.TLS, p uintptr, pData uintptr, nData int32) int32 { /* sqlite3.c:230552:12: */ fts5DataWrite(tls, p, int64(FTS5_AVERAGES_ROWID), pData, nData) return fts5IndexReturn(tls, p) @@ -202299,7 +202330,7 @@ func sqlite3Fts5IndexSetAverages(tls *libc.TLS, p uintptr, pData uintptr, nData // Return the total number of blocks this module has read from the %_data // table since it was created. -func sqlite3Fts5IndexReads(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:230505:12: */ +func sqlite3Fts5IndexReads(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:230562:12: */ return (*Fts5Index)(unsafe.Pointer(p)).FnRead } @@ -202308,7 +202339,7 @@ func sqlite3Fts5IndexReads(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:230505 // // Return SQLITE_OK if successful, or an SQLite error code if an error // occurs. -func sqlite3Fts5IndexSetCookie(tls *libc.TLS, p uintptr, iNew int32) int32 { /* sqlite3.c:230516:12: */ +func sqlite3Fts5IndexSetCookie(tls *libc.TLS, p uintptr, iNew int32) int32 { /* sqlite3.c:230573:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -202330,7 +202361,7 @@ func sqlite3Fts5IndexSetCookie(tls *libc.TLS, p uintptr, iNew int32) int32 { /* return rc } -func sqlite3Fts5IndexLoadConfig(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:230536:12: */ +func sqlite3Fts5IndexLoadConfig(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:230593:12: */ var pStruct uintptr pStruct = fts5StructureRead(tls, p) fts5StructureRelease(tls, pStruct) @@ -202344,7 +202375,7 @@ func sqlite3Fts5IndexLoadConfig(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:2 // functionality. // Return a simple checksum value based on the arguments. -func sqlite3Fts5IndexEntryCksum(tls *libc.TLS, iRowid I64, iCol int32, iPos int32, iIdx int32, pTerm uintptr, nTerm int32) U64 { /* sqlite3.c:230553:12: */ +func sqlite3Fts5IndexEntryCksum(tls *libc.TLS, iRowid I64, iCol int32, iPos int32, iIdx int32, pTerm uintptr, nTerm int32) U64 { /* sqlite3.c:230610:12: */ var i int32 var ret U64 = U64(iRowid) ret = ret + (ret<<3 + U64(iCol)) @@ -202364,7 +202395,7 @@ func sqlite3Fts5IndexEntryCksum(tls *libc.TLS, iRowid I64, iCol int32, iPos int3 // contain zero terms. // 2) All leaves of pSeg between iNoRowid and iLast (inclusive) exist and // contain zero rowids. -func fts5IndexIntegrityCheckEmpty(tls *libc.TLS, p uintptr, pSeg uintptr, iFirst int32, iNoRowid int32, iLast int32) { /* sqlite3.c:230771:13: */ +func fts5IndexIntegrityCheckEmpty(tls *libc.TLS, p uintptr, pSeg uintptr, iFirst int32, iNoRowid int32, iLast int32) { /* sqlite3.c:230828:13: */ var i int32 // Now check that the iter.nEmpty leaves following the current leaf @@ -202383,7 +202414,7 @@ func fts5IndexIntegrityCheckEmpty(tls *libc.TLS, p uintptr, pSeg uintptr, iFirst } } -func fts5IntegrityCheckPgidx(tls *libc.TLS, p uintptr, pLeaf uintptr) { /* sqlite3.c:230792:13: */ +func fts5IntegrityCheckPgidx(tls *libc.TLS, p uintptr, pLeaf uintptr) { /* sqlite3.c:230849:13: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -202442,7 +202473,7 @@ func fts5IntegrityCheckPgidx(tls *libc.TLS, p uintptr, pLeaf uintptr) { /* sqlit sqlite3Fts5BufferFree(tls, bp+32) } -func fts5IndexIntegrityCheckSegment(tls *libc.TLS, p uintptr, pSeg uintptr) { /* sqlite3.c:230842:13: */ +func fts5IndexIntegrityCheckSegment(tls *libc.TLS, p uintptr, pSeg uintptr) { /* sqlite3.c:230899:13: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -202611,7 +202642,7 @@ func fts5IndexIntegrityCheckSegment(tls *libc.TLS, p uintptr, pSeg uintptr) { /* // checksum does not match. Return SQLITE_OK if all checks pass without // error, or some other SQLite error code if another error (e.g. OOM) // occurs. -func sqlite3Fts5IndexIntegrityCheck(tls *libc.TLS, p uintptr, cksum U64, bUseCksum int32) int32 { /* sqlite3.c:230987:12: */ +func sqlite3Fts5IndexIntegrityCheck(tls *libc.TLS, p uintptr, cksum U64, bUseCksum int32) int32 { /* sqlite3.c:231044:12: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -202701,13 +202732,13 @@ func sqlite3Fts5IndexIntegrityCheck(tls *libc.TLS, p uintptr, cksum U64, bUseCks // // If successful, SQLITE_OK is returned. If an error occurs, some other // SQLite error code is returned instead. -func sqlite3Fts5IndexInit(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:231550:12: */ +func sqlite3Fts5IndexInit(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:231607:12: */ return SQLITE_OK _ = db return int32(0) } -func sqlite3Fts5IndexReset(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:231576:12: */ +func sqlite3Fts5IndexReset(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:231633:12: */ if fts5IndexDataVersion(tls, p) != (*Fts5Index)(unsafe.Pointer(p)).FiStructVersion { fts5StructureInvalidate(tls, p) @@ -202740,7 +202771,7 @@ type Fts5Auxdata1 = struct { FpPtr uintptr FxDelete uintptr FpNext uintptr -} /* sqlite3.c:216813:9 */ +} /* sqlite3.c:216870:9 */ // 2014 Jun 09 // @@ -202762,7 +202793,7 @@ type Fts5Auxdata1 = struct { // assert() conditions in the fts5 code are activated - conditions that are // only true if it is guaranteed that the fts5 database is not corrupt. -type Fts5Auxdata = Fts5Auxdata1 /* sqlite3.c:231613:28 */ +type Fts5Auxdata = Fts5Auxdata1 /* sqlite3.c:231670:28 */ type Fts5Auxiliary1 = struct { FpGlobal uintptr FzFunc uintptr @@ -202770,9 +202801,9 @@ type Fts5Auxiliary1 = struct { FxFunc Fts5_extension_function FxDestroy uintptr FpNext uintptr -} /* sqlite3.c:216813:9 */ +} /* sqlite3.c:216870:9 */ -type Fts5Auxiliary = Fts5Auxiliary1 /* sqlite3.c:231614:30 */ +type Fts5Auxiliary = Fts5Auxiliary1 /* sqlite3.c:231671:30 */ type Fts5Cursor1 = struct { Fbase Sqlite3_vtab_cursor FpNext uintptr @@ -202801,35 +202832,35 @@ type Fts5Cursor1 = struct { FnInstAlloc int32 FnInstCount int32 FaInst uintptr -} /* sqlite3.c:216813:9 */ +} /* sqlite3.c:216870:9 */ -type Fts5Cursor = Fts5Cursor1 /* sqlite3.c:231615:27 */ +type Fts5Cursor = Fts5Cursor1 /* sqlite3.c:231672:27 */ type Fts5FullTable1 = struct { Fp Fts5Table FpStorage uintptr FpGlobal uintptr FpSortCsr uintptr -} /* sqlite3.c:231616:9 */ +} /* sqlite3.c:231673:9 */ -type Fts5FullTable = Fts5FullTable1 /* sqlite3.c:231616:30 */ +type Fts5FullTable = Fts5FullTable1 /* sqlite3.c:231673:30 */ type Fts5Sorter1 = struct { FpStmt uintptr FiRowid I64 FaPoslist uintptr FnIdx int32 FaIdx [1]int32 -} /* sqlite3.c:216813:9 */ +} /* sqlite3.c:216870:9 */ -type Fts5Sorter = Fts5Sorter1 /* sqlite3.c:231617:27 */ +type Fts5Sorter = Fts5Sorter1 /* sqlite3.c:231674:27 */ type Fts5TokenizerModule1 = struct { FzName uintptr FpUserData uintptr Fx Fts5_tokenizer FxDestroy uintptr FpNext uintptr -} /* sqlite3.c:216813:9 */ +} /* sqlite3.c:216870:9 */ -type Fts5TokenizerModule = Fts5TokenizerModule1 /* sqlite3.c:231618:36 */ +type Fts5TokenizerModule = Fts5TokenizerModule1 /* sqlite3.c:231675:36 */ // NOTES ON TRANSACTIONS: // @@ -202863,21 +202894,21 @@ type Fts5TokenizerModule = Fts5TokenizerModule1 /* sqlite3.c:231618:36 */ type Fts5TransactionState = struct { FeState int32 FiSavepoint int32 -} /* sqlite3.c:231651:1 */ +} /* sqlite3.c:231708:1 */ type Fts5MatchPhrase = struct { FpPoslist uintptr FnTerm int32 F__ccgo_pad1 [4]byte -} /* sqlite3.c:231708:1 */ +} /* sqlite3.c:231765:1 */ // Return true if pTab is a contentless table. -func fts5IsContentless(tls *libc.TLS, pTab uintptr) int32 { /* sqlite3.c:231892:12: */ +func fts5IsContentless(tls *libc.TLS, pTab uintptr) int32 { /* sqlite3.c:231949:12: */ return libc.Bool32((*Fts5Config)(unsafe.Pointer((*Fts5FullTable)(unsafe.Pointer(pTab)).Fp.FpConfig)).FeContent == FTS5_CONTENT_NONE) } // Delete a virtual table handle allocated by fts5InitVtab(). -func fts5FreeVtab(tls *libc.TLS, pTab uintptr) { /* sqlite3.c:231899:13: */ +func fts5FreeVtab(tls *libc.TLS, pTab uintptr) { /* sqlite3.c:231956:13: */ if pTab != 0 { sqlite3Fts5IndexClose(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).Fp.FpIndex) sqlite3Fts5StorageClose(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).FpStorage) @@ -202887,13 +202918,13 @@ func fts5FreeVtab(tls *libc.TLS, pTab uintptr) { /* sqlite3.c:231899:13: */ } // The xDisconnect() virtual table method. -func fts5DisconnectMethod(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:231911:12: */ +func fts5DisconnectMethod(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:231968:12: */ fts5FreeVtab(tls, pVtab) return SQLITE_OK } // The xDestroy() virtual table method. -func fts5DestroyMethod(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:231919:12: */ +func fts5DestroyMethod(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:231976:12: */ var pTab uintptr = pVtab var rc int32 = sqlite3Fts5DropAll(tls, (*Fts5Table)(unsafe.Pointer(pTab)).FpConfig) if rc == SQLITE_OK { @@ -202911,7 +202942,7 @@ func fts5DestroyMethod(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:231919 // argv[1] -> database name // argv[2] -> table name // argv[...] -> "column name" and other module argument fields. -func fts5InitVtab(tls *libc.TLS, bCreate int32, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVTab uintptr, pzErr uintptr) int32 { /* sqlite3.c:231939:12: */ +func fts5InitVtab(tls *libc.TLS, bCreate int32, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVTab uintptr, pzErr uintptr) int32 { /* sqlite3.c:231996:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -202969,11 +203000,11 @@ func fts5InitVtab(tls *libc.TLS, bCreate int32, db uintptr, pAux uintptr, argc i // The xConnect() and xCreate() methods for the virtual table. All the // work is done in function fts5InitVtab(). -func fts5ConnectMethod(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 { /* sqlite3.c:232005:12: */ +func fts5ConnectMethod(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 { /* sqlite3.c:232062:12: */ return fts5InitVtab(tls, 0, db, pAux, argc, argv, ppVtab, pzErr) } -func fts5CreateMethod(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 { /* sqlite3.c:232015:12: */ +func fts5CreateMethod(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 { /* sqlite3.c:232072:12: */ return fts5InitVtab(tls, 1, db, pAux, argc, argv, ppVtab, pzErr) } @@ -202982,14 +203013,14 @@ func fts5CreateMethod(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv // Set the SQLITE_INDEX_SCAN_UNIQUE flag in pIdxInfo->flags. Unless this // extension is currently being used by a version of SQLite too old to // support index-info flags. In that case this function is a no-op. -func fts5SetUniqueFlag(tls *libc.TLS, pIdxInfo uintptr) { /* sqlite3.c:232041:13: */ +func fts5SetUniqueFlag(tls *libc.TLS, pIdxInfo uintptr) { /* sqlite3.c:232098:13: */ { *(*int32)(unsafe.Pointer(pIdxInfo + 80)) |= SQLITE_INDEX_SCAN_UNIQUE } } -func fts5UsePatternMatch(tls *libc.TLS, pConfig uintptr, p uintptr) int32 { /* sqlite3.c:232052:12: */ +func fts5UsePatternMatch(tls *libc.TLS, pConfig uintptr, p uintptr) int32 { /* sqlite3.c:232109:12: */ if (*Fts5Config)(unsafe.Pointer(pConfig)).FePattern == FTS5_PATTERN_GLOB && int32((*sqlite3_index_constraint)(unsafe.Pointer(p)).Fop) == FTS5_PATTERN_GLOB { return 1 @@ -203060,7 +203091,7 @@ func fts5UsePatternMatch(tls *libc.TLS, pConfig uintptr, p uintptr) int32 { /* s // * An == rowid constraint: cost=10.0 // // Costs are not modified by the ORDER BY clause. -func fts5BestIndexMethod(tls *libc.TLS, pVTab uintptr, pInfo uintptr) int32 { /* sqlite3.c:232130:12: */ +func fts5BestIndexMethod(tls *libc.TLS, pVTab uintptr, pInfo uintptr) int32 { /* sqlite3.c:232187:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -203222,7 +203253,7 @@ func fts5BestIndexMethod(tls *libc.TLS, pVTab uintptr, pInfo uintptr) int32 { /* return SQLITE_OK } -func fts5NewTransaction(tls *libc.TLS, pTab uintptr) int32 { /* sqlite3.c:232265:12: */ +func fts5NewTransaction(tls *libc.TLS, pTab uintptr) int32 { /* sqlite3.c:232322:12: */ var pCsr uintptr for pCsr = (*Fts5Global)(unsafe.Pointer((*Fts5FullTable)(unsafe.Pointer(pTab)).FpGlobal)).FpCsr; pCsr != 0; pCsr = (*Fts5Cursor)(unsafe.Pointer(pCsr)).FpNext { if (*Fts5Cursor)(unsafe.Pointer(pCsr)).Fbase.FpVtab == pTab { @@ -203233,7 +203264,7 @@ func fts5NewTransaction(tls *libc.TLS, pTab uintptr) int32 { /* sqlite3.c:232265 } // Implementation of xOpen method. -func fts5OpenMethod(tls *libc.TLS, pVTab uintptr, ppCsr uintptr) int32 { /* sqlite3.c:232276:12: */ +func fts5OpenMethod(tls *libc.TLS, pVTab uintptr, ppCsr uintptr) int32 { /* sqlite3.c:232333:12: */ var pTab uintptr = pVTab var pConfig uintptr = (*Fts5FullTable)(unsafe.Pointer(pTab)).Fp.FpConfig var pCsr uintptr = uintptr(0) // New cursor object @@ -203259,7 +203290,7 @@ func fts5OpenMethod(tls *libc.TLS, pVTab uintptr, ppCsr uintptr) int32 { /* sqli return rc } -func fts5StmtType(tls *libc.TLS, pCsr uintptr) int32 { /* sqlite3.c:232302:12: */ +func fts5StmtType(tls *libc.TLS, pCsr uintptr) int32 { /* sqlite3.c:232359:12: */ if (*Fts5Cursor)(unsafe.Pointer(pCsr)).FePlan == FTS5_PLAN_SCAN { if (*Fts5Cursor)(unsafe.Pointer(pCsr)).FbDesc != 0 { return FTS5_STMT_SCAN_DESC @@ -203272,11 +203303,11 @@ func fts5StmtType(tls *libc.TLS, pCsr uintptr) int32 { /* sqlite3.c:232302:12: * // This function is called after the cursor passed as the only argument // is moved to point at a different row. It clears all cached data // specific to the previous row stored by the cursor object. -func fts5CsrNewrow(tls *libc.TLS, pCsr uintptr) { /* sqlite3.c:232314:13: */ +func fts5CsrNewrow(tls *libc.TLS, pCsr uintptr) { /* sqlite3.c:232371:13: */ *(*int32)(unsafe.Pointer(pCsr + 80)) |= FTS5CSR_REQUIRE_CONTENT | FTS5CSR_REQUIRE_DOCSIZE | FTS5CSR_REQUIRE_INST | FTS5CSR_REQUIRE_POSLIST } -func fts5FreeCursorComponents(tls *libc.TLS, pCsr uintptr) { /* sqlite3.c:232323:13: */ +func fts5FreeCursorComponents(tls *libc.TLS, pCsr uintptr) { /* sqlite3.c:232380:13: */ var pTab uintptr = (*Fts5Cursor)(unsafe.Pointer(pCsr)).Fbase.FpVtab var pData uintptr var pNext uintptr @@ -203319,7 +203350,7 @@ func fts5FreeCursorComponents(tls *libc.TLS, pCsr uintptr) { /* sqlite3.c:232323 // Close the cursor. For additional information see the documentation // on the xClose method of the virtual table interface. -func fts5CloseMethod(tls *libc.TLS, pCursor uintptr) int32 { /* sqlite3.c:232367:12: */ +func fts5CloseMethod(tls *libc.TLS, pCursor uintptr) int32 { /* sqlite3.c:232424:12: */ if pCursor != 0 { var pTab uintptr = (*Sqlite3_vtab_cursor)(unsafe.Pointer(pCursor)).FpVtab var pCsr uintptr = pCursor @@ -203336,7 +203367,7 @@ func fts5CloseMethod(tls *libc.TLS, pCursor uintptr) int32 { /* sqlite3.c:232367 return SQLITE_OK } -func fts5SorterNext(tls *libc.TLS, pCsr uintptr) int32 { /* sqlite3.c:232383:12: */ +func fts5SorterNext(tls *libc.TLS, pCsr uintptr) int32 { /* sqlite3.c:232440:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -203380,7 +203411,7 @@ func fts5SorterNext(tls *libc.TLS, pCsr uintptr) int32 { /* sqlite3.c:232383:12: // Set the FTS5CSR_REQUIRE_RESEEK flag on all FTS5_PLAN_MATCH cursors // open on table pTab. -func fts5TripCursors(tls *libc.TLS, pTab uintptr) { /* sqlite3.c:232426:13: */ +func fts5TripCursors(tls *libc.TLS, pTab uintptr) { /* sqlite3.c:232483:13: */ var pCsr uintptr for pCsr = (*Fts5Global)(unsafe.Pointer((*Fts5FullTable)(unsafe.Pointer(pTab)).FpGlobal)).FpCsr; pCsr != 0; pCsr = (*Fts5Cursor)(unsafe.Pointer(pCsr)).FpNext { if (*Fts5Cursor)(unsafe.Pointer(pCsr)).FePlan == FTS5_PLAN_MATCH && @@ -203400,7 +203431,7 @@ func fts5TripCursors(tls *libc.TLS, pTab uintptr) { /* sqlite3.c:232426:13: */ // // Return SQLITE_OK if successful or if no reseek was required, or an // error code if an error occurred. -func fts5CursorReseek(tls *libc.TLS, pCsr uintptr, pbSkip uintptr) int32 { /* sqlite3.c:232449:12: */ +func fts5CursorReseek(tls *libc.TLS, pCsr uintptr, pbSkip uintptr) int32 { /* sqlite3.c:232506:12: */ var rc int32 = SQLITE_OK if (*Fts5Cursor)(unsafe.Pointer(pCsr)).Fcsrflags&FTS5CSR_REQUIRE_RESEEK != 0 { @@ -203429,7 +203460,7 @@ func fts5CursorReseek(tls *libc.TLS, pCsr uintptr, pbSkip uintptr) int32 { /* sq // Return SQLITE_OK if nothing goes wrong. SQLITE_OK is returned // even if we reach end-of-file. The fts5EofMethod() will be called // subsequently to determine whether or not an EOF was hit. -func fts5NextMethod(tls *libc.TLS, pCursor uintptr) int32 { /* sqlite3.c:232481:12: */ +func fts5NextMethod(tls *libc.TLS, pCursor uintptr) int32 { /* sqlite3.c:232538:12: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -203488,7 +203519,7 @@ func fts5NextMethod(tls *libc.TLS, pCursor uintptr) int32 { /* sqlite3.c:232481: return rc } -func fts5PrepareStatement(tls *libc.TLS, ppStmt uintptr, pConfig uintptr, zFmt uintptr, va uintptr) int32 { /* sqlite3.c:232534:12: */ +func fts5PrepareStatement(tls *libc.TLS, ppStmt uintptr, pConfig uintptr, zFmt uintptr, va uintptr) int32 { /* sqlite3.c:232591:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -203516,7 +203547,7 @@ func fts5PrepareStatement(tls *libc.TLS, ppStmt uintptr, pConfig uintptr, zFmt u return rc } -func fts5CursorFirstSorted(tls *libc.TLS, pTab uintptr, pCsr uintptr, bDesc int32) int32 { /* sqlite3.c:232563:12: */ +func fts5CursorFirstSorted(tls *libc.TLS, pTab uintptr, pCsr uintptr, bDesc int32) int32 { /* sqlite3.c:232620:12: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -203583,7 +203614,7 @@ func fts5CursorFirstSorted(tls *libc.TLS, pTab uintptr, pCsr uintptr, bDesc int3 return rc } -func fts5CursorFirst(tls *libc.TLS, pTab uintptr, pCsr uintptr, bDesc int32) int32 { /* sqlite3.c:232615:12: */ +func fts5CursorFirst(tls *libc.TLS, pTab uintptr, pCsr uintptr, bDesc int32) int32 { /* sqlite3.c:232672:12: */ var rc int32 var pExpr uintptr = (*Fts5Cursor)(unsafe.Pointer(pCsr)).FpExpr rc = sqlite3Fts5ExprFirst(tls, pExpr, (*Fts5FullTable)(unsafe.Pointer(pTab)).Fp.FpIndex, (*Fts5Cursor)(unsafe.Pointer(pCsr)).FiFirstRowid, bDesc) @@ -203598,7 +203629,7 @@ func fts5CursorFirst(tls *libc.TLS, pTab uintptr, pCsr uintptr, bDesc int32) int // MATCH expression that begins with a '*' character. The remainder of // the text passed to the MATCH operator are used as the special query // parameters. -func fts5SpecialMatch(tls *libc.TLS, pTab uintptr, pCsr uintptr, zQuery uintptr) int32 { /* sqlite3.c:232632:12: */ +func fts5SpecialMatch(tls *libc.TLS, pTab uintptr, pCsr uintptr, zQuery uintptr) int32 { /* sqlite3.c:232689:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -203630,7 +203661,7 @@ func fts5SpecialMatch(tls *libc.TLS, pTab uintptr, pCsr uintptr, zQuery uintptr) // Search for an auxiliary function named zName that can be used with table // pTab. If one is found, return a pointer to the corresponding Fts5Auxiliary // structure. Otherwise, if no such function exists, return NULL. -func fts5FindAuxiliary(tls *libc.TLS, pTab uintptr, zName uintptr) uintptr { /* sqlite3.c:232667:22: */ +func fts5FindAuxiliary(tls *libc.TLS, pTab uintptr, zName uintptr) uintptr { /* sqlite3.c:232724:22: */ var pAux uintptr for pAux = (*Fts5Global)(unsafe.Pointer((*Fts5FullTable)(unsafe.Pointer(pTab)).FpGlobal)).FpAux; pAux != 0; pAux = (*Fts5Auxiliary)(unsafe.Pointer(pAux)).FpNext { @@ -203643,7 +203674,7 @@ func fts5FindAuxiliary(tls *libc.TLS, pTab uintptr, zName uintptr) uintptr { /* return uintptr(0) } -func fts5FindRankFunction(tls *libc.TLS, pCsr uintptr) int32 { /* sqlite3.c:232679:12: */ +func fts5FindRankFunction(tls *libc.TLS, pCsr uintptr) int32 { /* sqlite3.c:232736:12: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -203696,7 +203727,7 @@ func fts5FindRankFunction(tls *libc.TLS, pCsr uintptr) int32 { /* sqlite3.c:2326 return *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) } -func fts5CursorParseRank(tls *libc.TLS, pConfig uintptr, pCsr uintptr, pRank uintptr) int32 { /* sqlite3.c:232730:12: */ +func fts5CursorParseRank(tls *libc.TLS, pConfig uintptr, pCsr uintptr, pRank uintptr) int32 { /* sqlite3.c:232787:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -203733,7 +203764,7 @@ func fts5CursorParseRank(tls *libc.TLS, pConfig uintptr, pCsr uintptr, pRank uin return rc } -func fts5GetRowidLimit(tls *libc.TLS, pVal uintptr, iDefault I64) I64 { /* sqlite3.c:232767:12: */ +func fts5GetRowidLimit(tls *libc.TLS, pVal uintptr, iDefault I64) I64 { /* sqlite3.c:232824:12: */ if pVal != 0 { var eType int32 = Xsqlite3_value_numeric_type(tls, pVal) if eType == SQLITE_INTEGER { @@ -203752,7 +203783,7 @@ func fts5GetRowidLimit(tls *libc.TLS, pVal uintptr, iDefault I64) I64 { /* sqlit // 1. Full-text search using a MATCH operator. // 2. A by-rowid lookup. // 3. A full-table scan. -func fts5FilterMethod(tls *libc.TLS, pCursor uintptr, idxNum int32, idxStr uintptr, nVal int32, apVal uintptr) int32 { /* sqlite3.c:232788:12: */ +func fts5FilterMethod(tls *libc.TLS, pCursor uintptr, idxNum int32, idxStr uintptr, nVal int32, apVal uintptr) int32 { /* sqlite3.c:232845:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -204073,7 +204104,7 @@ filter_out: // This is the xEof method of the virtual table. SQLite calls this // routine to find out if it has reached the end of a result set. -func fts5EofMethod(tls *libc.TLS, pCursor uintptr) int32 { /* sqlite3.c:232981:12: */ +func fts5EofMethod(tls *libc.TLS, pCursor uintptr) int32 { /* sqlite3.c:233038:12: */ var pCsr uintptr = pCursor return func() int32 { if (*Fts5Cursor)(unsafe.Pointer(pCsr)).Fcsrflags&FTS5CSR_EOF != 0 { @@ -204084,7 +204115,7 @@ func fts5EofMethod(tls *libc.TLS, pCursor uintptr) int32 { /* sqlite3.c:232981:1 } // Return the rowid that the cursor currently points to. -func fts5CursorRowid(tls *libc.TLS, pCsr uintptr) I64 { /* sqlite3.c:232989:12: */ +func fts5CursorRowid(tls *libc.TLS, pCsr uintptr) I64 { /* sqlite3.c:233046:12: */ if (*Fts5Cursor)(unsafe.Pointer(pCsr)).FpSorter != 0 { return (*Fts5Sorter)(unsafe.Pointer((*Fts5Cursor)(unsafe.Pointer(pCsr)).FpSorter)).FiRowid @@ -204098,7 +204129,7 @@ func fts5CursorRowid(tls *libc.TLS, pCsr uintptr) I64 { /* sqlite3.c:232989:12: // retrieve the rowid for the current row of the result set. fts5 // exposes %_content.rowid as the rowid for the virtual table. The // rowid should be written to *pRowid. -func fts5RowidMethod(tls *libc.TLS, pCursor uintptr, pRowid uintptr) int32 { /* sqlite3.c:233007:12: */ +func fts5RowidMethod(tls *libc.TLS, pCursor uintptr, pRowid uintptr) int32 { /* sqlite3.c:233064:12: */ var pCsr uintptr = pCursor var ePlan int32 = (*Fts5Cursor)(unsafe.Pointer(pCsr)).FePlan @@ -204128,7 +204159,7 @@ func fts5RowidMethod(tls *libc.TLS, pCursor uintptr, pRowid uintptr) int32 { /* // // If argument bErrormsg is true and an error occurs, an error message may // be left in sqlite3_vtab.zErrMsg. -func fts5SeekCursor(tls *libc.TLS, pCsr uintptr, bErrormsg int32) int32 { /* sqlite3.c:233038:12: */ +func fts5SeekCursor(tls *libc.TLS, pCsr uintptr, bErrormsg int32) int32 { /* sqlite3.c:233095:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -204172,7 +204203,7 @@ func fts5SeekCursor(tls *libc.TLS, pCsr uintptr, bErrormsg int32) int32 { /* sql return rc } -func fts5SetVtabError(tls *libc.TLS, p uintptr, zFormat uintptr, va uintptr) { /* sqlite3.c:233077:13: */ +func fts5SetVtabError(tls *libc.TLS, p uintptr, zFormat uintptr, va uintptr) { /* sqlite3.c:233134:13: */ var ap Va_list _ = ap // ... printf arguments ap = va @@ -204194,7 +204225,7 @@ func fts5SetVtabError(tls *libc.TLS, p uintptr, zFormat uintptr, va uintptr) { / // The commands implemented by this function are documented in the "Special // INSERT Directives" section of the documentation. It should be updated if // more commands are added to this function. -func fts5SpecialInsert(tls *libc.TLS, pTab uintptr, zCmd uintptr, pVal uintptr) int32 { /* sqlite3.c:233100:12: */ +func fts5SpecialInsert(tls *libc.TLS, pTab uintptr, zCmd uintptr, pVal uintptr) int32 { /* sqlite3.c:233157:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -204243,7 +204274,7 @@ func fts5SpecialInsert(tls *libc.TLS, pTab uintptr, zCmd uintptr, pVal uintptr) return rc } -func fts5SpecialDelete(tls *libc.TLS, pTab uintptr, apVal uintptr) int32 { /* sqlite3.c:233156:12: */ +func fts5SpecialDelete(tls *libc.TLS, pTab uintptr, apVal uintptr) int32 { /* sqlite3.c:233213:12: */ var rc int32 = SQLITE_OK var eType1 int32 = Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(apVal + 1*8))) if eType1 == SQLITE_INTEGER { @@ -204253,7 +204284,7 @@ func fts5SpecialDelete(tls *libc.TLS, pTab uintptr, apVal uintptr) int32 { /* sq return rc } -func fts5StorageInsert(tls *libc.TLS, pRc uintptr, pTab uintptr, apVal uintptr, piRowid uintptr) { /* sqlite3.c:233169:13: */ +func fts5StorageInsert(tls *libc.TLS, pRc uintptr, pTab uintptr, apVal uintptr, piRowid uintptr) { /* sqlite3.c:233226:13: */ var rc int32 = *(*int32)(unsafe.Pointer(pRc)) if rc == SQLITE_OK { rc = sqlite3Fts5StorageContentInsert(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).FpStorage, apVal, piRowid) @@ -204276,7 +204307,7 @@ func fts5StorageInsert(tls *libc.TLS, pRc uintptr, pTab uintptr, apVal uintptr, // 2. The "new" rowid. // 3. Values for each of the nCol matchable columns. // 4. Values for the two hidden columns ( and "rank"). -func fts5UpdateMethod(tls *libc.TLS, pVtab uintptr, nArg int32, apVal uintptr, pRowid uintptr) int32 { /* sqlite3.c:233199:12: */ +func fts5UpdateMethod(tls *libc.TLS, pVtab uintptr, nArg int32, apVal uintptr, pRowid uintptr) int32 { /* sqlite3.c:233256:12: */ bp := tls.Alloc(20) defer tls.Free(20) @@ -204378,7 +204409,7 @@ func fts5UpdateMethod(tls *libc.TLS, pVtab uintptr, nArg int32, apVal uintptr, p } // Implementation of xSync() method. -func fts5SyncMethod(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:233325:12: */ +func fts5SyncMethod(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:233382:12: */ var rc int32 var pTab uintptr = pVtab @@ -204390,7 +204421,7 @@ func fts5SyncMethod(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:233325:12 } // Implementation of xBegin() method. -func fts5BeginMethod(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:233339:12: */ +func fts5BeginMethod(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:233396:12: */ fts5NewTransaction(tls, pVtab) return SQLITE_OK @@ -204399,7 +204430,7 @@ func fts5BeginMethod(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:233339:1 // Implementation of xCommit() method. This is a no-op. The contents of // the pending-terms hash-table have already been flushed into the database // by fts5SyncMethod(). -func fts5CommitMethod(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:233350:12: */ +func fts5CommitMethod(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:233407:12: */ _ = pVtab // Call below is a no-op for NDEBUG builds return SQLITE_OK @@ -204407,7 +204438,7 @@ func fts5CommitMethod(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:233350: // Implementation of xRollback(). Discard the contents of the pending-terms // hash-table. Any changes made to the database are reverted by SQLite. -func fts5RollbackMethod(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:233360:12: */ +func fts5RollbackMethod(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:233417:12: */ var rc int32 var pTab uintptr = pVtab @@ -204415,46 +204446,46 @@ func fts5RollbackMethod(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:23336 return rc } -func fts5ApiUserData(tls *libc.TLS, pCtx uintptr) uintptr { /* sqlite3.c:233370:13: */ +func fts5ApiUserData(tls *libc.TLS, pCtx uintptr) uintptr { /* sqlite3.c:233427:13: */ var pCsr uintptr = pCtx return (*Fts5Auxiliary)(unsafe.Pointer((*Fts5Cursor)(unsafe.Pointer(pCsr)).FpAux)).FpUserData } -func fts5ApiColumnCount(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:233375:12: */ +func fts5ApiColumnCount(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:233432:12: */ var pCsr uintptr = pCtx return (*Fts5Config)(unsafe.Pointer((*Fts5Table)(unsafe.Pointer((*Fts5Cursor)(unsafe.Pointer(pCsr)).Fbase.FpVtab)).FpConfig)).FnCol } -func fts5ApiColumnTotalSize(tls *libc.TLS, pCtx uintptr, iCol int32, pnToken uintptr) int32 { /* sqlite3.c:233380:12: */ +func fts5ApiColumnTotalSize(tls *libc.TLS, pCtx uintptr, iCol int32, pnToken uintptr) int32 { /* sqlite3.c:233437:12: */ var pCsr uintptr = pCtx var pTab uintptr = (*Fts5Cursor)(unsafe.Pointer(pCsr)).Fbase.FpVtab return sqlite3Fts5StorageSize(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).FpStorage, iCol, pnToken) } -func fts5ApiRowCount(tls *libc.TLS, pCtx uintptr, pnRow uintptr) int32 { /* sqlite3.c:233390:12: */ +func fts5ApiRowCount(tls *libc.TLS, pCtx uintptr, pnRow uintptr) int32 { /* sqlite3.c:233447:12: */ var pCsr uintptr = pCtx var pTab uintptr = (*Fts5Cursor)(unsafe.Pointer(pCsr)).Fbase.FpVtab return sqlite3Fts5StorageRowCount(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).FpStorage, pnRow) } -func fts5ApiTokenize(tls *libc.TLS, pCtx uintptr, pText uintptr, nText int32, pUserData uintptr, xToken uintptr) int32 { /* sqlite3.c:233396:12: */ +func fts5ApiTokenize(tls *libc.TLS, pCtx uintptr, pText uintptr, nText int32, pUserData uintptr, xToken uintptr) int32 { /* sqlite3.c:233453:12: */ var pCsr uintptr = pCtx var pTab uintptr = (*Fts5Cursor)(unsafe.Pointer(pCsr)).Fbase.FpVtab return sqlite3Fts5Tokenize(tls, (*Fts5Table)(unsafe.Pointer(pTab)).FpConfig, FTS5_TOKENIZE_AUX, pText, nText, pUserData, xToken) } -func fts5ApiPhraseCount(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:233409:12: */ +func fts5ApiPhraseCount(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:233466:12: */ var pCsr uintptr = pCtx return sqlite3Fts5ExprPhraseCount(tls, (*Fts5Cursor)(unsafe.Pointer(pCsr)).FpExpr) } -func fts5ApiPhraseSize(tls *libc.TLS, pCtx uintptr, iPhrase int32) int32 { /* sqlite3.c:233414:12: */ +func fts5ApiPhraseSize(tls *libc.TLS, pCtx uintptr, iPhrase int32) int32 { /* sqlite3.c:233471:12: */ var pCsr uintptr = pCtx return sqlite3Fts5ExprPhraseSize(tls, (*Fts5Cursor)(unsafe.Pointer(pCsr)).FpExpr, iPhrase) } -func fts5ApiColumnText(tls *libc.TLS, pCtx uintptr, iCol int32, pz uintptr, pn uintptr) int32 { /* sqlite3.c:233419:12: */ +func fts5ApiColumnText(tls *libc.TLS, pCtx uintptr, iCol int32, pz uintptr, pn uintptr) int32 { /* sqlite3.c:233476:12: */ var rc int32 = SQLITE_OK var pCsr uintptr = pCtx if fts5IsContentless(tls, (*Fts5Cursor)(unsafe.Pointer(pCsr)).Fbase.FpVtab) != 0 || @@ -204471,7 +204502,7 @@ func fts5ApiColumnText(tls *libc.TLS, pCtx uintptr, iCol int32, pz uintptr, pn u return rc } -func fts5CsrPoslist(tls *libc.TLS, pCsr uintptr, iPhrase int32, pa uintptr, pn uintptr) int32 { /* sqlite3.c:233442:12: */ +func fts5CsrPoslist(tls *libc.TLS, pCsr uintptr, iPhrase int32, pa uintptr, pn uintptr) int32 { /* sqlite3.c:233499:12: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -204528,7 +204559,7 @@ func fts5CsrPoslist(tls *libc.TLS, pCsr uintptr, iPhrase int32, pa uintptr, pn u // Ensure that the Fts5Cursor.nInstCount and aInst[] variables are populated // correctly for the current view. Return SQLITE_OK if successful, or an // SQLite error code otherwise. -func fts5CacheInstArray(tls *libc.TLS, pCsr uintptr) int32 { /* sqlite3.c:233494:12: */ +func fts5CacheInstArray(tls *libc.TLS, pCsr uintptr) int32 { /* sqlite3.c:233551:12: */ bp := tls.Alloc(20) defer tls.Free(20) @@ -204612,7 +204643,7 @@ func fts5CacheInstArray(tls *libc.TLS, pCsr uintptr) int32 { /* sqlite3.c:233494 return *(*int32)(unsafe.Pointer(bp /* rc */)) } -func fts5ApiInstCount(tls *libc.TLS, pCtx uintptr, pnInst uintptr) int32 { /* sqlite3.c:233568:12: */ +func fts5ApiInstCount(tls *libc.TLS, pCtx uintptr, pnInst uintptr) int32 { /* sqlite3.c:233625:12: */ var pCsr uintptr = pCtx var rc int32 = SQLITE_OK if (*Fts5Cursor)(unsafe.Pointer(pCsr)).Fcsrflags&FTS5CSR_REQUIRE_INST == 0 || @@ -204622,7 +204653,7 @@ func fts5ApiInstCount(tls *libc.TLS, pCtx uintptr, pnInst uintptr) int32 { /* sq return rc } -func fts5ApiInst(tls *libc.TLS, pCtx uintptr, iIdx int32, piPhrase uintptr, piCol uintptr, piOff uintptr) int32 { /* sqlite3.c:233578:12: */ +func fts5ApiInst(tls *libc.TLS, pCtx uintptr, iIdx int32, piPhrase uintptr, piCol uintptr, piOff uintptr) int32 { /* sqlite3.c:233635:12: */ var pCsr uintptr = pCtx var rc int32 = SQLITE_OK if (*Fts5Cursor)(unsafe.Pointer(pCsr)).Fcsrflags&FTS5CSR_REQUIRE_INST == 0 || @@ -204638,11 +204669,11 @@ func fts5ApiInst(tls *libc.TLS, pCtx uintptr, iIdx int32, piPhrase uintptr, piCo return rc } -func fts5ApiRowid(tls *libc.TLS, pCtx uintptr) Sqlite3_int64 { /* sqlite3.c:233607:22: */ +func fts5ApiRowid(tls *libc.TLS, pCtx uintptr) Sqlite3_int64 { /* sqlite3.c:233664:22: */ return fts5CursorRowid(tls, pCtx) } -func fts5ColumnSizeCb(tls *libc.TLS, pContext uintptr, tflags int32, pUnused uintptr, nUnused int32, iUnused1 int32, iUnused2 int32) int32 { /* sqlite3.c:233611:12: */ +func fts5ColumnSizeCb(tls *libc.TLS, pContext uintptr, tflags int32, pUnused uintptr, nUnused int32, iUnused1 int32, iUnused2 int32) int32 { /* sqlite3.c:233668:12: */ var pCnt uintptr = pContext _ = pUnused _ = nUnused @@ -204654,7 +204685,7 @@ func fts5ColumnSizeCb(tls *libc.TLS, pContext uintptr, tflags int32, pUnused uin return SQLITE_OK } -func fts5ApiColumnSize(tls *libc.TLS, pCtx uintptr, iCol int32, pnToken uintptr) int32 { /* sqlite3.c:233628:12: */ +func fts5ApiColumnSize(tls *libc.TLS, pCtx uintptr, iCol int32, pnToken uintptr) int32 { /* sqlite3.c:233685:12: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -204712,7 +204743,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) int32 { /* sqlite3.c:233681:12: */ +func fts5ApiSetAuxdata(tls *libc.TLS, pCtx uintptr, pPtr uintptr, xDelete uintptr) int32 { /* sqlite3.c:233738:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -204750,7 +204781,7 @@ func fts5ApiSetAuxdata(tls *libc.TLS, pCtx uintptr, pPtr uintptr, xDelete uintpt return SQLITE_OK } -func fts5ApiGetAuxdata(tls *libc.TLS, pCtx uintptr, bClear int32) uintptr { /* sqlite3.c:233716:13: */ +func fts5ApiGetAuxdata(tls *libc.TLS, pCtx uintptr, bClear int32) uintptr { /* sqlite3.c:233773:13: */ var pCsr uintptr = pCtx var pData uintptr var pRet uintptr = uintptr(0) @@ -204772,7 +204803,7 @@ func fts5ApiGetAuxdata(tls *libc.TLS, pCtx uintptr, bClear int32) uintptr { /* s return pRet } -func fts5ApiPhraseNext(tls *libc.TLS, pUnused uintptr, pIter uintptr, piCol uintptr, piOff uintptr) { /* sqlite3.c:233736:13: */ +func fts5ApiPhraseNext(tls *libc.TLS, pUnused uintptr, pIter uintptr, piCol uintptr, piOff uintptr) { /* sqlite3.c:233793:13: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -204794,7 +204825,7 @@ func fts5ApiPhraseNext(tls *libc.TLS, pUnused uintptr, pIter uintptr, piCol uint } } -func fts5ApiPhraseFirst(tls *libc.TLS, pCtx uintptr, iPhrase int32, pIter uintptr, piCol uintptr, piOff uintptr) int32 { /* sqlite3.c:233758:12: */ +func fts5ApiPhraseFirst(tls *libc.TLS, pCtx uintptr, iPhrase int32, pIter uintptr, piCol uintptr, piOff uintptr) int32 { /* sqlite3.c:233815:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -204817,7 +204848,7 @@ func fts5ApiPhraseFirst(tls *libc.TLS, pCtx uintptr, iPhrase int32, pIter uintpt return rc } -func fts5ApiPhraseNextColumn(tls *libc.TLS, pCtx uintptr, pIter uintptr, piCol uintptr) { /* sqlite3.c:233777:13: */ +func fts5ApiPhraseNextColumn(tls *libc.TLS, pCtx uintptr, pIter uintptr, piCol uintptr) { /* sqlite3.c:233834:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -204850,7 +204881,7 @@ func fts5ApiPhraseNextColumn(tls *libc.TLS, pCtx uintptr, pIter uintptr, piCol u } } -func fts5ApiPhraseFirstColumn(tls *libc.TLS, pCtx uintptr, iPhrase int32, pIter uintptr, piCol uintptr) int32 { /* sqlite3.c:233807:12: */ +func fts5ApiPhraseFirstColumn(tls *libc.TLS, pCtx uintptr, iPhrase int32, pIter uintptr, piCol uintptr) int32 { /* sqlite3.c:233864:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -204931,10 +204962,10 @@ var sFts5Api = Fts5ExtensionApi{ FxPhraseNext: 0, FxPhraseFirstColumn: 0, FxPhraseNextColumn: 0, -} /* sqlite3.c:233857:31 */ +} /* sqlite3.c:233914:31 */ // Implementation of API function xQueryPhrase(). -func fts5ApiQueryPhrase(tls *libc.TLS, pCtx uintptr, iPhrase int32, pUserData uintptr, xCallback uintptr) int32 { /* sqlite3.c:233883:12: */ +func fts5ApiQueryPhrase(tls *libc.TLS, pCtx uintptr, iPhrase int32, pUserData uintptr, xCallback uintptr) int32 { /* sqlite3.c:233940:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -204970,7 +205001,7 @@ func fts5ApiQueryPhrase(tls *libc.TLS, pCtx uintptr, iPhrase int32, pUserData ui return rc } -func fts5ApiInvoke(tls *libc.TLS, pAux uintptr, pCsr uintptr, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:233920:13: */ +func fts5ApiInvoke(tls *libc.TLS, pAux uintptr, pCsr uintptr, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:233977:13: */ (*Fts5Cursor)(unsafe.Pointer(pCsr)).FpAux = pAux (*struct { @@ -204979,7 +205010,7 @@ func fts5ApiInvoke(tls *libc.TLS, pAux uintptr, pCsr uintptr, context uintptr, a (*Fts5Cursor)(unsafe.Pointer(pCsr)).FpAux = uintptr(0) } -func fts5CursorFromCsrid(tls *libc.TLS, pGlobal uintptr, iCsrId I64) uintptr { /* sqlite3.c:233933:19: */ +func fts5CursorFromCsrid(tls *libc.TLS, pGlobal uintptr, iCsrId I64) uintptr { /* sqlite3.c:233990:19: */ var pCsr uintptr for pCsr = (*Fts5Global)(unsafe.Pointer(pGlobal)).FpCsr; pCsr != 0; pCsr = (*Fts5Cursor)(unsafe.Pointer(pCsr)).FpNext { if (*Fts5Cursor)(unsafe.Pointer(pCsr)).FiCsrId == iCsrId { @@ -204989,7 +205020,7 @@ func fts5CursorFromCsrid(tls *libc.TLS, pGlobal uintptr, iCsrId I64) uintptr { / return pCsr } -func fts5ApiCallback(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:233941:13: */ +func fts5ApiCallback(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:233998:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -205012,7 +205043,7 @@ func fts5ApiCallback(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { // Given cursor id iId, return a pointer to the corresponding Fts5Table // object. Or NULL If the cursor id does not exist. -func sqlite3Fts5TableFromCsrid(tls *libc.TLS, pGlobal uintptr, iCsrId I64) uintptr { /* sqlite3.c:233970:18: */ +func sqlite3Fts5TableFromCsrid(tls *libc.TLS, pGlobal uintptr, iCsrId I64) uintptr { /* sqlite3.c:234027:18: */ var pCsr uintptr pCsr = fts5CursorFromCsrid(tls, pGlobal, iCsrId) if pCsr != 0 { @@ -205034,7 +205065,7 @@ func sqlite3Fts5TableFromCsrid(tls *libc.TLS, pGlobal uintptr, iCsrId I64) uintp // for phrase 0. The second (same disclaimer) contains the size of position // list 1. And so on. There is no size field for the final position list, // as it can be derived from the total size of the blob. -func fts5PoslistBlob(tls *libc.TLS, pCtx uintptr, pCsr uintptr) int32 { /* sqlite3.c:233997:12: */ +func fts5PoslistBlob(tls *libc.TLS, pCtx uintptr, pCsr uintptr) int32 { /* sqlite3.c:234054:12: */ bp := tls.Alloc(68) defer tls.Free(68) @@ -205098,7 +205129,7 @@ func fts5PoslistBlob(tls *libc.TLS, pCtx uintptr, pCsr uintptr) int32 { /* sqlit // This is the xColumn method, called by SQLite to request a value from // the row that the supplied cursor currently points to. -func fts5ColumnMethod(tls *libc.TLS, pCursor uintptr, pCtx uintptr, iCol int32) int32 { /* sqlite3.c:234054:12: */ +func fts5ColumnMethod(tls *libc.TLS, pCursor uintptr, pCtx uintptr, iCol int32) int32 { /* sqlite3.c:234111:12: */ var pTab uintptr = (*Sqlite3_vtab_cursor)(unsafe.Pointer(pCursor)).FpVtab var pConfig uintptr = (*Fts5FullTable)(unsafe.Pointer(pTab)).Fp.FpConfig var pCsr uintptr = pCursor @@ -205138,7 +205169,7 @@ 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) int32 { /* sqlite3.c:234107:12: */ +func fts5FindFunctionMethod(tls *libc.TLS, pVtab uintptr, nUnused int32, zName uintptr, pxFunc uintptr, ppArg uintptr) int32 { /* sqlite3.c:234164:12: */ var pTab uintptr = pVtab var pAux uintptr @@ -205157,12 +205188,12 @@ func fts5FindFunctionMethod(tls *libc.TLS, pVtab uintptr, nUnused int32, zName u } // Implementation of FTS5 xRename method. Rename an fts5 table. -func fts5RenameMethod(tls *libc.TLS, pVtab uintptr, zName uintptr) int32 { /* sqlite3.c:234132:12: */ +func fts5RenameMethod(tls *libc.TLS, pVtab uintptr, zName uintptr) int32 { /* sqlite3.c:234189:12: */ var pTab uintptr = pVtab return sqlite3Fts5StorageRename(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).FpStorage, zName) } -func sqlite3Fts5FlushToDisk(tls *libc.TLS, pTab uintptr) int32 { /* sqlite3.c:234140:12: */ +func sqlite3Fts5FlushToDisk(tls *libc.TLS, pTab uintptr) int32 { /* sqlite3.c:234197:12: */ fts5TripCursors(tls, pTab) return sqlite3Fts5StorageSync(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).FpStorage) } @@ -205170,7 +205201,7 @@ func sqlite3Fts5FlushToDisk(tls *libc.TLS, pTab uintptr) int32 { /* sqlite3.c:23 // The xSavepoint() method. // // Flush the contents of the pending-terms table to disk. -func fts5SavepointMethod(tls *libc.TLS, pVtab uintptr, iSavepoint int32) int32 { /* sqlite3.c:234150:12: */ +func fts5SavepointMethod(tls *libc.TLS, pVtab uintptr, iSavepoint int32) int32 { /* sqlite3.c:234207:12: */ _ = iSavepoint // Call below is a no-op for NDEBUG builds return sqlite3Fts5FlushToDisk(tls, pVtab) @@ -205179,7 +205210,7 @@ func fts5SavepointMethod(tls *libc.TLS, pVtab uintptr, iSavepoint int32) int32 { // The xRelease() method. // // This is a no-op. -func fts5ReleaseMethod(tls *libc.TLS, pVtab uintptr, iSavepoint int32) int32 { /* sqlite3.c:234161:12: */ +func fts5ReleaseMethod(tls *libc.TLS, pVtab uintptr, iSavepoint int32) int32 { /* sqlite3.c:234218:12: */ _ = iSavepoint // Call below is a no-op for NDEBUG builds return sqlite3Fts5FlushToDisk(tls, pVtab) @@ -205188,7 +205219,7 @@ func fts5ReleaseMethod(tls *libc.TLS, pVtab uintptr, iSavepoint int32) int32 { / // The xRollbackTo() method. // // Discard the contents of the pending terms table. -func fts5RollbackToMethod(tls *libc.TLS, pVtab uintptr, iSavepoint int32) int32 { /* sqlite3.c:234172:12: */ +func fts5RollbackToMethod(tls *libc.TLS, pVtab uintptr, iSavepoint int32) int32 { /* sqlite3.c:234229:12: */ var pTab uintptr = pVtab _ = iSavepoint // Call below is a no-op for NDEBUG builds @@ -205197,7 +205228,7 @@ func fts5RollbackToMethod(tls *libc.TLS, pVtab uintptr, iSavepoint int32) int32 } // Register a new auxiliary function with global context pGlobal. -func fts5CreateAux(tls *libc.TLS, pApi uintptr, zName uintptr, pUserData uintptr, xFunc Fts5_extension_function, xDestroy uintptr) int32 { /* sqlite3.c:234183:12: */ +func fts5CreateAux(tls *libc.TLS, pApi uintptr, zName uintptr, pUserData uintptr, xFunc Fts5_extension_function, xDestroy uintptr) int32 { /* sqlite3.c:234240:12: */ var pGlobal uintptr = pApi var rc int32 = Xsqlite3_overload_function(tls, (*Fts5Global)(unsafe.Pointer(pGlobal)).Fdb, zName, -1) if rc == SQLITE_OK { @@ -205228,7 +205259,7 @@ func fts5CreateAux(tls *libc.TLS, pApi uintptr, zName uintptr, pUserData uintptr // Register a new tokenizer. This is the implementation of the // fts5_api.xCreateTokenizer() method. -func fts5CreateTokenizer(tls *libc.TLS, pApi uintptr, zName uintptr, pUserData uintptr, pTokenizer uintptr, xDestroy uintptr) int32 { /* sqlite3.c:234222:12: */ +func fts5CreateTokenizer(tls *libc.TLS, pApi uintptr, zName uintptr, pUserData uintptr, pTokenizer uintptr, xDestroy uintptr) int32 { /* sqlite3.c:234279:12: */ var pGlobal uintptr = pApi var pNew uintptr var nName Sqlite3_int64 // Size of zName and its \0 terminator @@ -205257,7 +205288,7 @@ func fts5CreateTokenizer(tls *libc.TLS, pApi uintptr, zName uintptr, pUserData u return rc } -func fts5LocateTokenizer(tls *libc.TLS, pGlobal uintptr, zName uintptr) uintptr { /* sqlite3.c:234257:28: */ +func fts5LocateTokenizer(tls *libc.TLS, pGlobal uintptr, zName uintptr) uintptr { /* sqlite3.c:234314:28: */ var pMod uintptr = uintptr(0) if zName == uintptr(0) { @@ -205275,7 +205306,7 @@ func fts5LocateTokenizer(tls *libc.TLS, pGlobal uintptr, zName uintptr) uintptr // Find a tokenizer. This is the implementation of the // fts5_api.xFindTokenizer() method. -func fts5FindTokenizer(tls *libc.TLS, pApi uintptr, zName uintptr, ppUserData uintptr, pTokenizer uintptr) int32 { /* sqlite3.c:234278:12: */ +func fts5FindTokenizer(tls *libc.TLS, pApi uintptr, zName uintptr, ppUserData uintptr, pTokenizer uintptr) int32 { /* sqlite3.c:234335:12: */ var rc int32 = SQLITE_OK var pMod uintptr @@ -205291,7 +205322,7 @@ func fts5FindTokenizer(tls *libc.TLS, pApi uintptr, zName uintptr, ppUserData ui return rc } -func sqlite3Fts5GetTokenizer(tls *libc.TLS, pGlobal uintptr, azArg uintptr, nArg int32, pConfig uintptr, pzErr uintptr) int32 { /* sqlite3.c:234299:12: */ +func sqlite3Fts5GetTokenizer(tls *libc.TLS, pGlobal uintptr, azArg uintptr, nArg int32, pConfig uintptr, pzErr uintptr) int32 { /* sqlite3.c:234356:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -205342,7 +205373,7 @@ func sqlite3Fts5GetTokenizer(tls *libc.TLS, pGlobal uintptr, azArg uintptr, nArg return rc } -func fts5ModuleDestroy(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:234336:13: */ +func fts5ModuleDestroy(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:234393:13: */ var pTok uintptr var pNextTok uintptr var pAux uintptr @@ -205368,7 +205399,7 @@ func fts5ModuleDestroy(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:234336:13: */ Xsqlite3_free(tls, pGlobal) } -func fts5Fts5Func(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:234356:13: */ +func fts5Fts5Func(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:234413:13: */ var pGlobal uintptr = Xsqlite3_user_data(tls, pCtx) var ppApi uintptr _ = nArg @@ -205380,7 +205411,7 @@ func fts5Fts5Func(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* s } // Implementation of fts5_source_id() function. -func fts5SourceIdFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apUnused uintptr) { /* sqlite3.c:234372:13: */ +func fts5SourceIdFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apUnused uintptr) { /* sqlite3.c:234429:13: */ _ = nArg _ = apUnused @@ -205389,7 +205420,7 @@ func fts5SourceIdFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apUnused uintptr) // Return true if zName is the extension on one of the shadow tables used // by this module. -func fts5ShadowName(tls *libc.TLS, zName uintptr) int32 { /* sqlite3.c:234386:12: */ +func fts5ShadowName(tls *libc.TLS, zName uintptr) int32 { /* sqlite3.c:234443:12: */ var i uint32 for i = uint32(0); uint64(i) < uint64(unsafe.Sizeof(azName2))/uint64(unsafe.Sizeof(uintptr(0))); i++ { if Xsqlite3_stricmp(tls, zName, azName2[i]) == 0 { @@ -205401,9 +205432,9 @@ func fts5ShadowName(tls *libc.TLS, zName uintptr) int32 { /* sqlite3.c:234386:12 var azName2 = [5]uintptr{ ts + 36229, ts + 34328, ts + 25328, ts + 34679, ts + 11776, -} /* sqlite3.c:234387:21 */ +} /* sqlite3.c:234444:21 */ -func fts5Init(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:234397:12: */ +func fts5Init(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:234454:12: */ var rc int32 var pGlobal uintptr = uintptr(0) @@ -205486,7 +205517,7 @@ var fts5Mod = Sqlite3_module{ /* xRelease */ FxRelease: 0, /* xRollbackTo */ FxRollbackTo: 0, /* xShadowName */ FxShadowName: 0, -} /* sqlite3.c:234398:31 */ +} /* sqlite3.c:234455:31 */ // The following functions are used to register the module with SQLite. If // this module is being built as part of the SQLite core (SQLITE_CORE is @@ -205495,7 +205526,7 @@ var fts5Mod = Sqlite3_module{ // Or, if this module is being built as a loadable extension, // sqlite3Fts5Init() is omitted and the two standard entry points // sqlite3_fts_init() and sqlite3_fts5_init() defined instead. -func Xsqlite3Fts5Init(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:234506:20: */ +func Xsqlite3Fts5Init(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:234563:20: */ return fts5Init(tls, db) } @@ -205503,7 +205534,7 @@ func Xsqlite3Fts5Init(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:234506:20: // Fts5Storage.pInsertDocsize - if they have not already been prepared. // Return SQLITE_OK if successful, or an SQLite error code if an error // occurs. -func fts5StorageGetStmt(tls *libc.TLS, p uintptr, eStmt int32, ppStmt uintptr, pzErrMsg uintptr) int32 { /* sqlite3.c:234564:12: */ +func fts5StorageGetStmt(tls *libc.TLS, p uintptr, eStmt int32, ppStmt uintptr, pzErrMsg uintptr) int32 { /* sqlite3.c:234621:12: */ bp := tls.Alloc(216) defer tls.Free(216) @@ -205604,7 +205635,7 @@ func fts5StorageGetStmt(tls *libc.TLS, p uintptr, eStmt int32, ppStmt uintptr, p return rc } -func fts5ExecPrintf(tls *libc.TLS, db uintptr, pzErr uintptr, zFormat uintptr, va uintptr) int32 { /* sqlite3.c:234667:12: */ +func fts5ExecPrintf(tls *libc.TLS, db uintptr, pzErr uintptr, zFormat uintptr, va uintptr) int32 { /* sqlite3.c:234724:12: */ var rc int32 var ap Va_list _ = ap // ... printf arguments @@ -205626,7 +205657,7 @@ func fts5ExecPrintf(tls *libc.TLS, db uintptr, pzErr uintptr, zFormat uintptr, v // Drop all shadow tables. Return SQLITE_OK if successful or an SQLite error // code otherwise. -func sqlite3Fts5DropAll(tls *libc.TLS, pConfig uintptr) int32 { /* sqlite3.c:234695:12: */ +func sqlite3Fts5DropAll(tls *libc.TLS, pConfig uintptr) int32 { /* sqlite3.c:234752:12: */ bp := tls.Alloc(80) defer tls.Free(80) @@ -205649,7 +205680,7 @@ func sqlite3Fts5DropAll(tls *libc.TLS, pConfig uintptr) int32 { /* sqlite3.c:234 return rc } -func fts5StorageRenameOne(tls *libc.TLS, pConfig uintptr, pRc uintptr, zTail uintptr, zName uintptr) { /* sqlite3.c:234719:13: */ +func fts5StorageRenameOne(tls *libc.TLS, pConfig uintptr, pRc uintptr, zTail uintptr, zName uintptr) { /* sqlite3.c:234776:13: */ bp := tls.Alloc(40) defer tls.Free(40) @@ -205660,7 +205691,7 @@ func fts5StorageRenameOne(tls *libc.TLS, pConfig uintptr, pRc uintptr, zTail uin } } -func sqlite3Fts5StorageRename(tls *libc.TLS, pStorage uintptr, zName uintptr) int32 { /* sqlite3.c:234733:12: */ +func sqlite3Fts5StorageRename(tls *libc.TLS, pStorage uintptr, zName uintptr) int32 { /* sqlite3.c:234790:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -205681,7 +205712,7 @@ func sqlite3Fts5StorageRename(tls *libc.TLS, pStorage uintptr, zName uintptr) in // Create the shadow table named zPost, with definition zDefn. Return // SQLITE_OK if successful, or an SQLite error code otherwise. -func sqlite3Fts5CreateTable(tls *libc.TLS, pConfig uintptr, zPost uintptr, zDefn uintptr, bWithout int32, pzErr uintptr) int32 { /* sqlite3.c:234753:12: */ +func sqlite3Fts5CreateTable(tls *libc.TLS, pConfig uintptr, zPost uintptr, zDefn uintptr, bWithout int32, pzErr uintptr) int32 { /* sqlite3.c:234810:12: */ bp := tls.Alloc(72) defer tls.Free(72) @@ -205711,7 +205742,7 @@ func sqlite3Fts5CreateTable(tls *libc.TLS, pConfig uintptr, zPost uintptr, zDefn // // If successful, set *pp to point to the new object and return SQLITE_OK. // Otherwise, set *pp to NULL and return an SQLite error code. -func sqlite3Fts5StorageOpen(tls *libc.TLS, pConfig uintptr, pIndex uintptr, bCreate int32, pp uintptr, pzErr uintptr) int32 { /* sqlite3.c:234788:12: */ +func sqlite3Fts5StorageOpen(tls *libc.TLS, pConfig uintptr, pIndex uintptr, bCreate int32, pp uintptr, pzErr uintptr) int32 { /* sqlite3.c:234845:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -205772,7 +205803,7 @@ func sqlite3Fts5StorageOpen(tls *libc.TLS, pConfig uintptr, pIndex uintptr, bCre } // Close a handle opened by an earlier call to sqlite3Fts5StorageOpen(). -func sqlite3Fts5StorageClose(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:234854:12: */ +func sqlite3Fts5StorageClose(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:234911:12: */ var rc int32 = SQLITE_OK if p != 0 { var i int32 @@ -205791,12 +205822,12 @@ type Fts5InsertCtx1 = struct { FpStorage uintptr FiCol int32 FszCol int32 -} /* sqlite3.c:234869:9 */ +} /* sqlite3.c:234926:9 */ -type Fts5InsertCtx = Fts5InsertCtx1 /* sqlite3.c:234869:30 */ +type Fts5InsertCtx = Fts5InsertCtx1 /* sqlite3.c:234926:30 */ // Tokenization callback used when inserting tokens into the FTS index. -func fts5StorageInsertCallback(tls *libc.TLS, pContext uintptr, tflags int32, pToken uintptr, nToken int32, iUnused1 int32, iUnused2 int32) int32 { /* sqlite3.c:234879:12: */ +func fts5StorageInsertCallback(tls *libc.TLS, pContext uintptr, tflags int32, pToken uintptr, nToken int32, iUnused1 int32, iUnused2 int32) int32 { /* sqlite3.c:234936:12: */ var pCtx uintptr = pContext var pIdx uintptr = (*Fts5Storage)(unsafe.Pointer((*Fts5InsertCtx)(unsafe.Pointer(pCtx)).FpStorage)).FpIndex _ = iUnused1 @@ -205813,7 +205844,7 @@ func fts5StorageInsertCallback(tls *libc.TLS, pContext uintptr, tflags int32, pT // If a row with rowid iDel is present in the %_content table, add the // delete-markers to the FTS index necessary to delete it. Do not actually // remove the %_content row at this time though. -func fts5StorageDeleteFromIndex(tls *libc.TLS, p uintptr, iDel I64, apVal uintptr) int32 { /* sqlite3.c:234902:12: */ +func fts5StorageDeleteFromIndex(tls *libc.TLS, p uintptr, iDel I64, apVal uintptr) int32 { /* sqlite3.c:234959:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -205882,7 +205913,7 @@ func fts5StorageDeleteFromIndex(tls *libc.TLS, p uintptr, iDel I64, apVal uintpt // // If there is no %_docsize table (as happens if the columnsize=0 option // is specified when the FTS5 table is created), this function is a no-op. -func fts5StorageInsertDocsize(tls *libc.TLS, p uintptr, iRowid I64, pBuf uintptr) int32 { /* sqlite3.c:234971:12: */ +func fts5StorageInsertDocsize(tls *libc.TLS, p uintptr, iRowid I64, pBuf uintptr) int32 { /* sqlite3.c:235028:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -205909,7 +205940,7 @@ func fts5StorageInsertDocsize(tls *libc.TLS, p uintptr, iRowid I64, pBuf uintptr // // Return SQLITE_OK if successful, or an SQLite error code if an error // occurs. -func fts5StorageLoadTotals(tls *libc.TLS, p uintptr, bCache int32) int32 { /* sqlite3.c:235001:12: */ +func fts5StorageLoadTotals(tls *libc.TLS, p uintptr, bCache int32) int32 { /* sqlite3.c:235058:12: */ var rc int32 = SQLITE_OK if (*Fts5Storage)(unsafe.Pointer(p)).FbTotalsValid == 0 { rc = sqlite3Fts5IndexGetAverages(tls, (*Fts5Storage)(unsafe.Pointer(p)).FpIndex, p+24, (*Fts5Storage)(unsafe.Pointer(p)).FaTotalSize) @@ -205923,7 +205954,7 @@ func fts5StorageLoadTotals(tls *libc.TLS, p uintptr, bCache int32) int32 { /* sq // // Return SQLITE_OK if successful, or an SQLite error code if an error // occurs. -func fts5StorageSaveTotals(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:235017:12: */ +func fts5StorageSaveTotals(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:235074:12: */ bp := tls.Alloc(20) defer tls.Free(20) @@ -205947,7 +205978,7 @@ func fts5StorageSaveTotals(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:235017 } // Remove a row from the FTS table. -func sqlite3Fts5StorageDelete(tls *libc.TLS, p uintptr, iDel I64, apVal uintptr) int32 { /* sqlite3.c:235039:12: */ +func sqlite3Fts5StorageDelete(tls *libc.TLS, p uintptr, iDel I64, apVal uintptr) int32 { /* sqlite3.c:235096:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -205988,7 +206019,7 @@ func sqlite3Fts5StorageDelete(tls *libc.TLS, p uintptr, iDel I64, apVal uintptr) } // Delete all entries in the FTS5 index. -func sqlite3Fts5StorageDeleteAll(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:235080:12: */ +func sqlite3Fts5StorageDeleteAll(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:235137:12: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -206020,7 +206051,7 @@ func sqlite3Fts5StorageDeleteAll(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c: return rc } -func sqlite3Fts5StorageRebuild(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:235111:12: */ +func sqlite3Fts5StorageRebuild(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:235168:12: */ bp := tls.Alloc(44) defer tls.Free(44) @@ -206084,15 +206115,15 @@ func sqlite3Fts5StorageRebuild(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:23 return *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) } -func sqlite3Fts5StorageOptimize(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:235166:12: */ +func sqlite3Fts5StorageOptimize(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:235223:12: */ return sqlite3Fts5IndexOptimize(tls, (*Fts5Storage)(unsafe.Pointer(p)).FpIndex) } -func sqlite3Fts5StorageMerge(tls *libc.TLS, p uintptr, nMerge int32) int32 { /* sqlite3.c:235170:12: */ +func sqlite3Fts5StorageMerge(tls *libc.TLS, p uintptr, nMerge int32) int32 { /* sqlite3.c:235227:12: */ return sqlite3Fts5IndexMerge(tls, (*Fts5Storage)(unsafe.Pointer(p)).FpIndex, nMerge) } -func sqlite3Fts5StorageReset(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:235174:12: */ +func sqlite3Fts5StorageReset(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:235231:12: */ return sqlite3Fts5IndexReset(tls, (*Fts5Storage)(unsafe.Pointer(p)).FpIndex) } @@ -206103,7 +206134,7 @@ func sqlite3Fts5StorageReset(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:2351 // // If the %_docsize table does not exist, SQLITE_MISMATCH is returned. In // this case the user is required to provide a rowid explicitly. -func fts5StorageNewRowid(tls *libc.TLS, p uintptr, piRowid uintptr) int32 { /* sqlite3.c:235187:12: */ +func fts5StorageNewRowid(tls *libc.TLS, p uintptr, piRowid uintptr) int32 { /* sqlite3.c:235244:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -206125,7 +206156,7 @@ func fts5StorageNewRowid(tls *libc.TLS, p uintptr, piRowid uintptr) int32 { /* s } // Insert a new row into the FTS content table. -func sqlite3Fts5StorageContentInsert(tls *libc.TLS, p uintptr, apVal uintptr, piRowid uintptr) int32 { /* sqlite3.c:235208:12: */ +func sqlite3Fts5StorageContentInsert(tls *libc.TLS, p uintptr, apVal uintptr, piRowid uintptr) int32 { /* sqlite3.c:235265:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -206157,7 +206188,7 @@ func sqlite3Fts5StorageContentInsert(tls *libc.TLS, p uintptr, apVal uintptr, pi } // Insert new entries into the FTS index and %_docsize table. -func sqlite3Fts5StorageIndexInsert(tls *libc.TLS, p uintptr, apVal uintptr, iRowid I64) int32 { /* sqlite3.c:235243:12: */ +func sqlite3Fts5StorageIndexInsert(tls *libc.TLS, p uintptr, apVal uintptr, iRowid I64) int32 { /* sqlite3.c:235300:12: */ bp := tls.Alloc(36) defer tls.Free(36) @@ -206202,7 +206233,7 @@ func sqlite3Fts5StorageIndexInsert(tls *libc.TLS, p uintptr, apVal uintptr, iRow return *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) } -func fts5StorageCount(tls *libc.TLS, p uintptr, zSuffix uintptr, pnRow uintptr) int32 { /* sqlite3.c:235286:12: */ +func fts5StorageCount(tls *libc.TLS, p uintptr, zSuffix uintptr, pnRow uintptr) int32 { /* sqlite3.c:235343:12: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -206237,13 +206268,13 @@ type Fts5IntegrityCtx1 = struct { Fcksum U64 FpTermset uintptr FpConfig uintptr -} /* sqlite3.c:235314:9 */ +} /* sqlite3.c:235371:9 */ // Context object used by sqlite3Fts5StorageIntegrity(). -type Fts5IntegrityCtx = Fts5IntegrityCtx1 /* sqlite3.c:235314:33 */ +type Fts5IntegrityCtx = Fts5IntegrityCtx1 /* sqlite3.c:235371:33 */ // Tokenization callback used by integrity check. -func fts5StorageIntegrityCallback(tls *libc.TLS, pContext uintptr, tflags int32, pToken uintptr, nToken int32, iUnused1 int32, iUnused2 int32) int32 { /* sqlite3.c:235328:12: */ +func fts5StorageIntegrityCallback(tls *libc.TLS, pContext uintptr, tflags int32, pToken uintptr, nToken int32, iUnused1 int32, iUnused2 int32) int32 { /* sqlite3.c:235385:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -206309,7 +206340,7 @@ func fts5StorageIntegrityCallback(tls *libc.TLS, pContext uintptr, tflags int32, // table. Return SQLITE_OK if they do, or SQLITE_CORRUPT if not. Return // some other SQLite error code if an error occurs while attempting to // determine this. -func sqlite3Fts5StorageIntegrity(tls *libc.TLS, p uintptr, iArg int32) int32 { /* sqlite3.c:235398:12: */ +func sqlite3Fts5StorageIntegrity(tls *libc.TLS, p uintptr, iArg int32) int32 { /* sqlite3.c:235455:12: */ bp := tls.Alloc(64) defer tls.Free(64) @@ -206434,7 +206465,7 @@ func sqlite3Fts5StorageIntegrity(tls *libc.TLS, p uintptr, iArg int32) int32 { / // Obtain an SQLite statement handle that may be used to read data from the // %_content table. -func sqlite3Fts5StorageStmt(tls *libc.TLS, p uintptr, eStmt int32, pp uintptr, pzErrMsg uintptr) int32 { /* sqlite3.c:235506:12: */ +func sqlite3Fts5StorageStmt(tls *libc.TLS, p uintptr, eStmt int32, pp uintptr, pzErrMsg uintptr) int32 { /* sqlite3.c:235563:12: */ var rc int32 rc = fts5StorageGetStmt(tls, p, eStmt, pp, pzErrMsg) @@ -206448,7 +206479,7 @@ func sqlite3Fts5StorageStmt(tls *libc.TLS, p uintptr, eStmt int32, pp uintptr, p // Release an SQLite statement handle obtained via an earlier call to // sqlite3Fts5StorageStmt(). The eStmt parameter passed to this function // must match that passed to the sqlite3Fts5StorageStmt() call. -func sqlite3Fts5StorageStmtRelease(tls *libc.TLS, p uintptr, eStmt int32, pStmt uintptr) { /* sqlite3.c:235530:13: */ +func sqlite3Fts5StorageStmtRelease(tls *libc.TLS, p uintptr, eStmt int32, pStmt uintptr) { /* sqlite3.c:235587:13: */ if *(*uintptr)(unsafe.Pointer(p + 40 + uintptr(eStmt)*8)) == uintptr(0) { Xsqlite3_reset(tls, pStmt) @@ -206458,7 +206489,7 @@ func sqlite3Fts5StorageStmtRelease(tls *libc.TLS, p uintptr, eStmt int32, pStmt } } -func fts5StorageDecodeSizeArray(tls *libc.TLS, aCol uintptr, nCol int32, aBlob uintptr, nBlob int32) int32 { /* sqlite3.c:235547:12: */ +func fts5StorageDecodeSizeArray(tls *libc.TLS, aCol uintptr, nCol int32, aBlob uintptr, nBlob int32) int32 { /* sqlite3.c:235604:12: */ var i int32 var iOff int32 = 0 for i = 0; i < nCol; i++ { @@ -206476,7 +206507,7 @@ func fts5StorageDecodeSizeArray(tls *libc.TLS, aCol uintptr, nCol int32, aBlob u // // An SQLite error code is returned if an error occurs, or SQLITE_OK // otherwise. -func sqlite3Fts5StorageDocsize(tls *libc.TLS, p uintptr, iRowid I64, aCol uintptr) int32 { /* sqlite3.c:235568:12: */ +func sqlite3Fts5StorageDocsize(tls *libc.TLS, p uintptr, iRowid I64, aCol uintptr) int32 { /* sqlite3.c:235625:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -206507,7 +206538,7 @@ func sqlite3Fts5StorageDocsize(tls *libc.TLS, p uintptr, iRowid I64, aCol uintpt return rc } -func sqlite3Fts5StorageSize(tls *libc.TLS, p uintptr, iCol int32, pnToken uintptr) int32 { /* sqlite3.c:235597:12: */ +func sqlite3Fts5StorageSize(tls *libc.TLS, p uintptr, iCol int32, pnToken uintptr) int32 { /* sqlite3.c:235654:12: */ var rc int32 = fts5StorageLoadTotals(tls, p, 0) if rc == SQLITE_OK { *(*I64)(unsafe.Pointer(pnToken)) = int64(0) @@ -206525,7 +206556,7 @@ func sqlite3Fts5StorageSize(tls *libc.TLS, p uintptr, iCol int32, pnToken uintpt return rc } -func sqlite3Fts5StorageRowCount(tls *libc.TLS, p uintptr, pnRow uintptr) int32 { /* sqlite3.c:235615:12: */ +func sqlite3Fts5StorageRowCount(tls *libc.TLS, p uintptr, pnRow uintptr) int32 { /* sqlite3.c:235672:12: */ var rc int32 = fts5StorageLoadTotals(tls, p, 0) if rc == SQLITE_OK { // nTotalRow being zero does not necessarily indicate a corrupt @@ -206542,7 +206573,7 @@ func sqlite3Fts5StorageRowCount(tls *libc.TLS, p uintptr, pnRow uintptr) int32 { } // Flush any data currently held in-memory to disk. -func sqlite3Fts5StorageSync(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:235632:12: */ +func sqlite3Fts5StorageSync(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:235689:12: */ var rc int32 = SQLITE_OK var iLastRowid I64 = Xsqlite3_last_insert_rowid(tls, (*Fts5Config)(unsafe.Pointer((*Fts5Storage)(unsafe.Pointer(p)).FpConfig)).Fdb) if (*Fts5Storage)(unsafe.Pointer(p)).FbTotalsValid != 0 { @@ -206556,12 +206587,12 @@ func sqlite3Fts5StorageSync(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:23563 return rc } -func sqlite3Fts5StorageRollback(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:235646:12: */ +func sqlite3Fts5StorageRollback(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:235703:12: */ (*Fts5Storage)(unsafe.Pointer(p)).FbTotalsValid = 0 return sqlite3Fts5IndexRollback(tls, (*Fts5Storage)(unsafe.Pointer(p)).FpIndex) } -func sqlite3Fts5StorageConfigValue(tls *libc.TLS, p uintptr, z uintptr, pVal uintptr, iVal int32) int32 { /* sqlite3.c:235651:12: */ +func sqlite3Fts5StorageConfigValue(tls *libc.TLS, p uintptr, z uintptr, pVal uintptr, iVal int32) int32 { /* sqlite3.c:235708:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -206616,13 +206647,13 @@ var aAsciiTokenChar = [128]uint8{ uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), // 0x50..0x5F uint8(0), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), // 0x60..0x6F uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), // 0x70..0x7F -} /* sqlite3.c:235704:22 */ +} /* sqlite3.c:235761:22 */ -type AsciiTokenizer1 = struct{ FaTokenChar [128]uint8 } /* sqlite3.c:235715:9 */ +type AsciiTokenizer1 = struct{ FaTokenChar [128]uint8 } /* sqlite3.c:235772:9 */ -type AsciiTokenizer = AsciiTokenizer1 /* sqlite3.c:235715:31 */ +type AsciiTokenizer = AsciiTokenizer1 /* sqlite3.c:235772:31 */ -func fts5AsciiAddExceptions(tls *libc.TLS, p uintptr, zArg uintptr, bTokenChars int32) { /* sqlite3.c:235720:13: */ +func fts5AsciiAddExceptions(tls *libc.TLS, p uintptr, zArg uintptr, bTokenChars int32) { /* sqlite3.c:235777:13: */ var i int32 for i = 0; *(*int8)(unsafe.Pointer(zArg + uintptr(i))) != 0; i++ { if int32(*(*int8)(unsafe.Pointer(zArg + uintptr(i))))&0x80 == 0 { @@ -206632,12 +206663,12 @@ func fts5AsciiAddExceptions(tls *libc.TLS, p uintptr, zArg uintptr, bTokenChars } // Delete a "ascii" tokenizer. -func fts5AsciiDelete(tls *libc.TLS, p uintptr) { /* sqlite3.c:235736:13: */ +func fts5AsciiDelete(tls *libc.TLS, p uintptr) { /* sqlite3.c:235793:13: */ Xsqlite3_free(tls, p) } // Create an "ascii" tokenizer. -func fts5AsciiCreate(tls *libc.TLS, pUnused uintptr, azArg uintptr, nArg int32, ppOut uintptr) int32 { /* sqlite3.c:235743:12: */ +func fts5AsciiCreate(tls *libc.TLS, pUnused uintptr, azArg uintptr, nArg int32, ppOut uintptr) int32 { /* sqlite3.c:235800:12: */ var rc int32 = SQLITE_OK var p uintptr = uintptr(0) _ = pUnused @@ -206672,7 +206703,7 @@ func fts5AsciiCreate(tls *libc.TLS, pUnused uintptr, azArg uintptr, nArg int32, return rc } -func asciiFold(tls *libc.TLS, aOut uintptr, aIn uintptr, nByte int32) { /* sqlite3.c:235784:13: */ +func asciiFold(tls *libc.TLS, aOut uintptr, aIn uintptr, nByte int32) { /* sqlite3.c:235841:13: */ var i int32 for i = 0; i < nByte; i++ { var c int8 = *(*int8)(unsafe.Pointer(aIn + uintptr(i))) @@ -206684,7 +206715,7 @@ func asciiFold(tls *libc.TLS, aOut uintptr, aIn uintptr, nByte int32) { /* sqlit } // Tokenize some text using the ascii tokenizer. -func fts5AsciiTokenize(tls *libc.TLS, pTokenizer uintptr, pCtx uintptr, iUnused int32, pText uintptr, nText int32, xToken uintptr) int32 { /* sqlite3.c:235796:12: */ +func fts5AsciiTokenize(tls *libc.TLS, pTokenizer uintptr, pCtx uintptr, iUnused int32, pText uintptr, nText int32, xToken uintptr) int32 { /* sqlite3.c:235853:12: */ bp := tls.Alloc(64) defer tls.Free(64) @@ -206765,7 +206796,7 @@ type Unicode61Tokenizer1 = struct { F__ccgo_pad1 [4]byte FaiException uintptr FaCategory [32]uint8 -} /* sqlite3.c:235911:9 */ +} /* sqlite3.c:235968:9 */ // ************************************************************************* // @@ -206775,11 +206806,11 @@ type Unicode61Tokenizer1 = struct { // from the sqlite3 source file utf.c. If this file is compiled as part // of the amalgamation, they are not required. -type Unicode61Tokenizer = Unicode61Tokenizer1 /* sqlite3.c:235911:35 */ +type Unicode61Tokenizer = Unicode61Tokenizer1 /* sqlite3.c:235968:35 */ // Values for eRemoveDiacritic (must match internals of fts5_unicode2.c) -func fts5UnicodeAddExceptions(tls *libc.TLS, p uintptr, z uintptr, bTokenChars int32) int32 { /* sqlite3.c:235928:12: */ +func fts5UnicodeAddExceptions(tls *libc.TLS, p uintptr, z uintptr, bTokenChars int32) int32 { /* sqlite3.c:235985:12: */ var rc int32 = SQLITE_OK var n int32 = int32(libc.Xstrlen(tls, z)) var aNew uintptr @@ -206834,7 +206865,7 @@ func fts5UnicodeAddExceptions(tls *libc.TLS, p uintptr, z uintptr, bTokenChars i } // Return true if the p->aiException[] array contains the value iCode. -func fts5UnicodeIsException(tls *libc.TLS, p uintptr, iCode int32) int32 { /* sqlite3.c:235978:12: */ +func fts5UnicodeIsException(tls *libc.TLS, p uintptr, iCode int32) int32 { /* sqlite3.c:236035:12: */ if (*Unicode61Tokenizer)(unsafe.Pointer(p)).FnException > 0 { var a uintptr = (*Unicode61Tokenizer)(unsafe.Pointer(p)).FaiException var iLo int32 = 0 @@ -206856,7 +206887,7 @@ func fts5UnicodeIsException(tls *libc.TLS, p uintptr, iCode int32) int32 { /* sq } // Delete a "unicode61" tokenizer. -func fts5UnicodeDelete(tls *libc.TLS, pTok uintptr) { /* sqlite3.c:236002:13: */ +func fts5UnicodeDelete(tls *libc.TLS, pTok uintptr) { /* sqlite3.c:236059:13: */ if pTok != 0 { var p uintptr = pTok Xsqlite3_free(tls, (*Unicode61Tokenizer)(unsafe.Pointer(p)).FaiException) @@ -206866,7 +206897,7 @@ func fts5UnicodeDelete(tls *libc.TLS, pTok uintptr) { /* sqlite3.c:236002:13: */ return } -func unicodeSetCategories(tls *libc.TLS, p uintptr, zCat uintptr) int32 { /* sqlite3.c:236012:12: */ +func unicodeSetCategories(tls *libc.TLS, p uintptr, zCat uintptr) int32 { /* sqlite3.c:236069:12: */ var z uintptr = zCat for *(*int8)(unsafe.Pointer(z)) != 0 { @@ -206886,7 +206917,7 @@ func unicodeSetCategories(tls *libc.TLS, p uintptr, zCat uintptr) int32 { /* sql } // Create a "unicode61" tokenizer. -func fts5UnicodeCreate(tls *libc.TLS, pUnused uintptr, azArg uintptr, nArg int32, ppOut uintptr) int32 { /* sqlite3.c:236030:12: */ +func fts5UnicodeCreate(tls *libc.TLS, pUnused uintptr, azArg uintptr, nArg int32, ppOut uintptr) int32 { /* sqlite3.c:236087:12: */ var rc int32 = SQLITE_OK // Return code var p uintptr = uintptr(0) // New tokenizer object @@ -206954,12 +206985,12 @@ func fts5UnicodeCreate(tls *libc.TLS, pUnused uintptr, azArg uintptr, nArg int32 // Return true if, for the purposes of tokenizing with the tokenizer // passed as the first argument, codepoint iCode is considered a token // character (not a separator). -func fts5UnicodeIsAlnum(tls *libc.TLS, p uintptr, iCode int32) int32 { /* sqlite3.c:236110:12: */ +func fts5UnicodeIsAlnum(tls *libc.TLS, p uintptr, iCode int32) int32 { /* sqlite3.c:236167:12: */ return int32(*(*uint8)(unsafe.Pointer(p + 160 + uintptr(sqlite3Fts5UnicodeCategory(tls, U32(iCode)))))) ^ fts5UnicodeIsException(tls, p, iCode) } -func fts5UnicodeTokenize(tls *libc.TLS, pTokenizer uintptr, pCtx uintptr, iUnused int32, pText uintptr, nText int32, xToken uintptr) int32 { /* sqlite3.c:236117:12: */ +func fts5UnicodeTokenize(tls *libc.TLS, pTokenizer uintptr, pCtx uintptr, iUnused int32, pText uintptr, nText int32, xToken uintptr) int32 { /* sqlite3.c:236174:12: */ var p uintptr var rc int32 var a uintptr @@ -207215,7 +207246,7 @@ type PorterTokenizer1 = struct { Ftokenizer Fts5_tokenizer FpTokenizer uintptr FaBuf [128]int8 -} /* sqlite3.c:236229:9 */ +} /* sqlite3.c:236286:9 */ // ************************************************************************* // @@ -207224,10 +207255,10 @@ type PorterTokenizer1 = struct { // Any tokens larger than this (in bytes) are passed through without // stemming. -type PorterTokenizer = PorterTokenizer1 /* sqlite3.c:236229:32 */ +type PorterTokenizer = PorterTokenizer1 /* sqlite3.c:236286:32 */ // Delete a "porter" tokenizer. -func fts5PorterDelete(tls *libc.TLS, pTok uintptr) { /* sqlite3.c:236239:13: */ +func fts5PorterDelete(tls *libc.TLS, pTok uintptr) { /* sqlite3.c:236296:13: */ if pTok != 0 { var p uintptr = pTok if (*PorterTokenizer)(unsafe.Pointer(p)).FpTokenizer != 0 { @@ -207238,7 +207269,7 @@ func fts5PorterDelete(tls *libc.TLS, pTok uintptr) { /* sqlite3.c:236239:13: */ } // Create a "porter" tokenizer. -func fts5PorterCreate(tls *libc.TLS, pCtx uintptr, azArg uintptr, nArg int32, ppOut uintptr) int32 { /* sqlite3.c:236252:12: */ +func fts5PorterCreate(tls *libc.TLS, pCtx uintptr, azArg uintptr, nArg int32, ppOut uintptr) int32 { /* sqlite3.c:236309:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -207291,9 +207322,9 @@ type PorterContext1 = struct { FpCtx uintptr FxToken uintptr FaBuf uintptr -} /* sqlite3.c:236288:9 */ +} /* sqlite3.c:236345:9 */ -type PorterContext = PorterContext1 /* sqlite3.c:236288:30 */ +type PorterContext = PorterContext1 /* sqlite3.c:236345:30 */ type PorterRule1 = struct { FzSuffix uintptr @@ -207303,15 +207334,15 @@ type PorterRule1 = struct { FzOutput uintptr FnOutput int32 F__ccgo_pad2 [4]byte -} /* sqlite3.c:236295:9 */ +} /* sqlite3.c:236352:9 */ -type PorterRule = PorterRule1 /* sqlite3.c:236295:27 */ +type PorterRule = PorterRule1 /* sqlite3.c:236352:27 */ -func fts5PorterIsVowel(tls *libc.TLS, c int8, bYIsVowel int32) int32 { /* sqlite3.c:236330:12: */ +func fts5PorterIsVowel(tls *libc.TLS, c int8, bYIsVowel int32) int32 { /* sqlite3.c:236387:12: */ return libc.Bool32(int32(c) == 'a' || int32(c) == 'e' || int32(c) == 'i' || int32(c) == 'o' || int32(c) == 'u' || bYIsVowel != 0 && int32(c) == 'y') } -func fts5PorterGobbleVC(tls *libc.TLS, zStem uintptr, nStem int32, bPrevCons int32) int32 { /* sqlite3.c:236336:12: */ +func fts5PorterGobbleVC(tls *libc.TLS, zStem uintptr, nStem int32, bPrevCons int32) int32 { /* sqlite3.c:236393:12: */ var i int32 var bCons int32 = bPrevCons @@ -207332,12 +207363,12 @@ func fts5PorterGobbleVC(tls *libc.TLS, zStem uintptr, nStem int32, bPrevCons int } // porter rule condition: (m > 0) -func fts5Porter_MGt0(tls *libc.TLS, zStem uintptr, nStem int32) int32 { /* sqlite3.c:236353:12: */ +func fts5Porter_MGt0(tls *libc.TLS, zStem uintptr, nStem int32) int32 { /* sqlite3.c:236410:12: */ return libc.BoolInt32(!!(fts5PorterGobbleVC(tls, zStem, nStem, 0) != 0)) } // porter rule condition: (m > 1) -func fts5Porter_MGt1(tls *libc.TLS, zStem uintptr, nStem int32) int32 { /* sqlite3.c:236358:12: */ +func fts5Porter_MGt1(tls *libc.TLS, zStem uintptr, nStem int32) int32 { /* sqlite3.c:236415:12: */ var n int32 n = fts5PorterGobbleVC(tls, zStem, nStem, 0) if n != 0 && fts5PorterGobbleVC(tls, zStem+uintptr(n), nStem-n, 1) != 0 { @@ -207347,7 +207378,7 @@ func fts5Porter_MGt1(tls *libc.TLS, zStem uintptr, nStem int32) int32 { /* sqlit } // porter rule condition: (m = 1) -func fts5Porter_MEq1(tls *libc.TLS, zStem uintptr, nStem int32) int32 { /* sqlite3.c:236368:12: */ +func fts5Porter_MEq1(tls *libc.TLS, zStem uintptr, nStem int32) int32 { /* sqlite3.c:236425:12: */ var n int32 n = fts5PorterGobbleVC(tls, zStem, nStem, 0) if n != 0 && 0 == fts5PorterGobbleVC(tls, zStem+uintptr(n), nStem-n, 1) { @@ -207357,7 +207388,7 @@ func fts5Porter_MEq1(tls *libc.TLS, zStem uintptr, nStem int32) int32 { /* sqlit } // porter rule condition: (*o) -func fts5Porter_Ostar(tls *libc.TLS, zStem uintptr, nStem int32) int32 { /* sqlite3.c:236378:12: */ +func fts5Porter_Ostar(tls *libc.TLS, zStem uintptr, nStem int32) int32 { /* sqlite3.c:236435:12: */ if int32(*(*int8)(unsafe.Pointer(zStem + uintptr(nStem-1)))) == 'w' || int32(*(*int8)(unsafe.Pointer(zStem + uintptr(nStem-1)))) == 'x' || int32(*(*int8)(unsafe.Pointer(zStem + uintptr(nStem-1)))) == 'y' { return 0 } else { @@ -207375,14 +207406,14 @@ func fts5Porter_Ostar(tls *libc.TLS, zStem uintptr, nStem int32) int32 { /* sqli } // porter rule condition: (m > 1 and (*S or *T)) -func fts5Porter_MGt1_and_S_or_T(tls *libc.TLS, zStem uintptr, nStem int32) int32 { /* sqlite3.c:236395:12: */ +func fts5Porter_MGt1_and_S_or_T(tls *libc.TLS, zStem uintptr, nStem int32) int32 { /* sqlite3.c:236452:12: */ return libc.Bool32((int32(*(*int8)(unsafe.Pointer(zStem + uintptr(nStem-1)))) == 's' || int32(*(*int8)(unsafe.Pointer(zStem + uintptr(nStem-1)))) == 't') && fts5Porter_MGt1(tls, zStem, nStem) != 0) } // porter rule condition: (*v*) -func fts5Porter_Vowel(tls *libc.TLS, zStem uintptr, nStem int32) int32 { /* sqlite3.c:236402:12: */ +func fts5Porter_Vowel(tls *libc.TLS, zStem uintptr, nStem int32) int32 { /* sqlite3.c:236459:12: */ var i int32 for i = 0; i < nStem; i++ { if fts5PorterIsVowel(tls, *(*int8)(unsafe.Pointer(zStem + uintptr(i))), libc.Bool32(i > 0)) != 0 { @@ -207397,7 +207428,7 @@ func fts5Porter_Vowel(tls *libc.TLS, zStem uintptr, nStem int32) int32 { /* sqli // // GENERATED CODE STARTS HERE (mkportersteps.tcl) -func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqlite3.c:236418:12: */ +func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqlite3.c:236475:12: */ var ret int32 = 0 var nBuf int32 = *(*int32)(unsafe.Pointer(pnBuf)) switch int32(*(*int8)(unsafe.Pointer(aBuf + uintptr(nBuf-2)))) { @@ -207530,7 +207561,7 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli return ret } -func fts5PorterStep1B2(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqlite3.c:236552:12: */ +func fts5PorterStep1B2(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqlite3.c:236609:12: */ var ret int32 = 0 var nBuf int32 = *(*int32)(unsafe.Pointer(pnBuf)) switch int32(*(*int8)(unsafe.Pointer(aBuf + uintptr(nBuf-2)))) { @@ -207563,7 +207594,7 @@ func fts5PorterStep1B2(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sq return ret } -func fts5PorterStep2(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqlite3.c:236586:12: */ +func fts5PorterStep2(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqlite3.c:236643:12: */ var ret int32 = 0 var nBuf int32 = *(*int32)(unsafe.Pointer(pnBuf)) switch int32(*(*int8)(unsafe.Pointer(aBuf + uintptr(nBuf-2)))) { @@ -207709,7 +207740,7 @@ func fts5PorterStep2(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli return ret } -func fts5PorterStep3(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqlite3.c:236733:12: */ +func fts5PorterStep3(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqlite3.c:236790:12: */ var ret int32 = 0 var nBuf int32 = *(*int32)(unsafe.Pointer(pnBuf)) switch int32(*(*int8)(unsafe.Pointer(aBuf + uintptr(nBuf-2)))) { @@ -207774,7 +207805,7 @@ func fts5PorterStep3(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli return ret } -func fts5PorterStep1B(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqlite3.c:236799:12: */ +func fts5PorterStep1B(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqlite3.c:236856:12: */ var ret int32 = 0 var nBuf int32 = *(*int32)(unsafe.Pointer(pnBuf)) switch int32(*(*int8)(unsafe.Pointer(aBuf + uintptr(nBuf-2)))) { @@ -207811,7 +207842,7 @@ func fts5PorterStep1B(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sql // // -func fts5PorterStep1A(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) { /* sqlite3.c:236836:13: */ +func fts5PorterStep1A(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) { /* sqlite3.c:236893:13: */ var nBuf int32 = *(*int32)(unsafe.Pointer(pnBuf)) if int32(*(*int8)(unsafe.Pointer(aBuf + uintptr(nBuf-1)))) == 's' { if int32(*(*int8)(unsafe.Pointer(aBuf + uintptr(nBuf-2)))) == 'e' { @@ -207827,7 +207858,7 @@ func fts5PorterStep1A(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) { /* sqlite3.c } } -func fts5PorterCb(tls *libc.TLS, pCtx uintptr, tflags int32, pToken uintptr, nToken int32, iStart int32, iEnd int32) int32 { /* sqlite3.c:236854:12: */ +func fts5PorterCb(tls *libc.TLS, pCtx uintptr, tflags int32, pToken uintptr, nToken int32, iStart int32, iEnd int32) int32 { /* sqlite3.c:236911:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -207925,7 +207956,7 @@ pass_through: } // Tokenize using the porter tokenizer. -func fts5PorterTokenize(tls *libc.TLS, pTokenizer uintptr, pCtx uintptr, flags int32, pText uintptr, nText int32, xToken uintptr) int32 { /* sqlite3.c:236923:12: */ +func fts5PorterTokenize(tls *libc.TLS, pTokenizer uintptr, pCtx uintptr, flags int32, pText uintptr, nText int32, xToken uintptr) int32 { /* sqlite3.c:236980:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -207946,20 +207977,20 @@ func fts5PorterTokenize(tls *libc.TLS, pTokenizer uintptr, pCtx uintptr, flags i // ************************************************************************* // // Start of trigram implementation. -type TrigramTokenizer1 = struct{ FbFold int32 } /* sqlite3.c:236943:9 */ +type TrigramTokenizer1 = struct{ FbFold int32 } /* sqlite3.c:237000:9 */ // ************************************************************************* // // Start of trigram implementation. -type TrigramTokenizer = TrigramTokenizer1 /* sqlite3.c:236943:33 */ +type TrigramTokenizer = TrigramTokenizer1 /* sqlite3.c:237000:33 */ // Free a trigram tokenizer. -func fts5TriDelete(tls *libc.TLS, p uintptr) { /* sqlite3.c:236951:13: */ +func fts5TriDelete(tls *libc.TLS, p uintptr) { /* sqlite3.c:237008:13: */ Xsqlite3_free(tls, p) } // Allocate a trigram tokenizer. -func fts5TriCreate(tls *libc.TLS, pUnused uintptr, azArg uintptr, nArg int32, ppOut uintptr) int32 { /* sqlite3.c:236958:12: */ +func fts5TriCreate(tls *libc.TLS, pUnused uintptr, azArg uintptr, nArg int32, ppOut uintptr) int32 { /* sqlite3.c:237015:12: */ var rc int32 = SQLITE_OK var pNew uintptr = Xsqlite3_malloc(tls, int32(unsafe.Sizeof(TrigramTokenizer{}))) _ = pUnused @@ -207990,7 +208021,7 @@ func fts5TriCreate(tls *libc.TLS, pUnused uintptr, azArg uintptr, nArg int32, pp } // Trigram tokenizer tokenize routine. -func fts5TriTokenize(tls *libc.TLS, pTok uintptr, pCtx uintptr, unusedFlags int32, pText uintptr, nText int32, xToken uintptr) int32 { /* sqlite3.c:236996:12: */ +func fts5TriTokenize(tls *libc.TLS, pTok uintptr, pCtx uintptr, unusedFlags int32, pText uintptr, nText int32, xToken uintptr) int32 { /* sqlite3.c:237053:12: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -208143,7 +208174,7 @@ func fts5TriTokenize(tls *libc.TLS, pTok uintptr, pCtx uintptr, unusedFlags int3 // "trigram" tokenizer, case_sensitive=1 - FTS5_PATTERN_GLOB // "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) int32 { /* sqlite3.c:237056:12: */ +func sqlite3Fts5TokenizerPattern(tls *libc.TLS, xCreate uintptr, pTok uintptr) int32 { /* sqlite3.c:237113:12: */ if xCreate == *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 }{fts5TriCreate})) { @@ -208157,7 +208188,7 @@ func sqlite3Fts5TokenizerPattern(tls *libc.TLS, xCreate uintptr, pTok uintptr) i } // Register all built-in tokenizers with FTS5. -func sqlite3Fts5TokenizerInit(tls *libc.TLS, pApi uintptr) int32 { /* sqlite3.c:237070:12: */ +func sqlite3Fts5TokenizerInit(tls *libc.TLS, pApi uintptr) int32 { /* sqlite3.c:237127:12: */ bp := tls.Alloc(128) defer tls.Free(128) @@ -208203,7 +208234,7 @@ func sqlite3Fts5TokenizerInit(tls *libc.TLS, pApi uintptr) int32 { /* sqlite3.c: type BuiltinTokenizer = struct { FzName uintptr Fx Fts5_tokenizer -} /* sqlite3.c:237071:3 */ +} /* sqlite3.c:237128:3 */ // 2012-05-25 // @@ -208226,7 +208257,7 @@ type BuiltinTokenizer = struct { // SMALL LETTER E WITH DIAERESIS" - return 65 ("LATIN SMALL LETTER // E"). The resuls of passing a codepoint that corresponds to an // uppercase letter are undefined. -func fts5_remove_diacritic(tls *libc.TLS, c int32, bComplex int32) int32 { /* sqlite3.c:237126:12: */ +func fts5_remove_diacritic(tls *libc.TLS, c int32, bComplex int32) int32 { /* sqlite3.c:237183:12: */ bp := tls.Alloc(378) defer tls.Free(378) @@ -208297,7 +208328,7 @@ func fts5_remove_diacritic(tls *libc.TLS, c int32, bComplex int32) int32 { /* sq // Return true if the argument interpreted as a unicode codepoint // is a diacritical modifier character. -func sqlite3Fts5UnicodeIsdiacritic(tls *libc.TLS, c int32) int32 { /* sqlite3.c:237193:12: */ +func sqlite3Fts5UnicodeIsdiacritic(tls *libc.TLS, c int32) int32 { /* sqlite3.c:237250:12: */ var mask0 uint32 = uint32(0x08029FDF) var mask1 uint32 = uint32(0x000361F8) if c < 768 || c > 817 { @@ -208316,7 +208347,7 @@ func sqlite3Fts5UnicodeIsdiacritic(tls *libc.TLS, c int32) int32 { /* sqlite3.c: // // The results are undefined if the value passed to this function // is less than zero. -func sqlite3Fts5UnicodeFold(tls *libc.TLS, c int32, eRemoveDiacritic int32) int32 { /* sqlite3.c:237212:12: */ +func sqlite3Fts5UnicodeFold(tls *libc.TLS, c int32, eRemoveDiacritic int32) int32 { /* sqlite3.c:237269:12: */ var ret int32 = c @@ -208377,7 +208408,7 @@ type TableEntry = struct { FiCode uint16 Fflags uint8 FnRange uint8 -} /* sqlite3.c:237230:16 */ +} /* sqlite3.c:237287:16 */ var aEntry = [163]TableEntry{ {FiCode: uint16(65), Fflags: uint8(14), FnRange: uint8(26)}, {FiCode: uint16(181), Fflags: uint8(64), FnRange: uint8(1)}, {FiCode: uint16(192), Fflags: uint8(14), FnRange: uint8(23)}, @@ -208435,7 +208466,7 @@ var aEntry = [163]TableEntry{ {FiCode: uint16(42878), Fflags: uint8(1), FnRange: uint8(10)}, {FiCode: uint16(42891), FnRange: uint8(1)}, {FiCode: uint16(42893), Fflags: uint8(74), FnRange: uint8(1)}, {FiCode: uint16(42896), Fflags: uint8(1), FnRange: uint8(4)}, {FiCode: uint16(42912), Fflags: uint8(1), FnRange: uint8(10)}, {FiCode: uint16(42922), Fflags: uint8(72), FnRange: uint8(1)}, {FiCode: uint16(65313), Fflags: uint8(14), FnRange: uint8(26)}, -} /* sqlite3.c:237234:5 */ +} /* sqlite3.c:237291:5 */ var aiOff = [77]uint16{ uint16(1), uint16(2), uint16(8), uint16(15), uint16(16), uint16(26), uint16(28), uint16(32), uint16(37), uint16(38), uint16(40), uint16(48), uint16(63), uint16(64), uint16(69), uint16(71), @@ -208447,9 +208478,9 @@ var aiOff = [77]uint16{ uint16(65408), uint16(65410), uint16(65415), uint16(65424), uint16(65436), uint16(65439), uint16(65450), uint16(65462), uint16(65472), uint16(65476), uint16(65478), uint16(65480), uint16(65482), uint16(65488), uint16(65506), uint16(65511), uint16(65514), uint16(65521), uint16(65527), uint16(65528), uint16(65529), -} /* sqlite3.c:237291:31 */ +} /* sqlite3.c:237348:31 */ -func sqlite3Fts5UnicodeCatParse(tls *libc.TLS, zCat uintptr, aArray uintptr) int32 { /* sqlite3.c:237348:12: */ +func sqlite3Fts5UnicodeCatParse(tls *libc.TLS, zCat uintptr, aArray uintptr) int32 { /* sqlite3.c:237405:12: */ *(*U8)(unsafe.Pointer(aArray)) = U8(1) switch int32(*(*int8)(unsafe.Pointer(zCat))) { case 'C': @@ -208646,7 +208677,7 @@ func sqlite3Fts5UnicodeCatParse(tls *libc.TLS, zCat uintptr, aArray uintptr) int var aFts5UnicodeBlock = [17]U16{ U16(0), U16(1471), U16(1753), U16(1760), U16(1760), U16(1760), U16(1760), U16(1760), U16(1760), U16(1760), U16(1760), U16(1760), U16(1760), U16(1760), U16(1760), U16(1763), U16(1765), -} /* sqlite3.c:237466:12 */ +} /* sqlite3.c:237523:12 */ var aFts5UnicodeMap = [1765]U16{ U16(0), U16(32), U16(33), U16(36), U16(37), U16(40), U16(41), U16(42), U16(43), U16(44), U16(45), U16(46), U16(48), U16(58), U16(60), U16(63), U16(65), U16(91), U16(92), U16(93), @@ -208825,7 +208856,7 @@ var aFts5UnicodeMap = [1765]U16{ U16(62406), U16(62432), U16(62464), U16(62528), U16(62530), U16(62713), U16(62720), U16(62784), U16(62800), U16(62971), U16(63045), U16(63104), U16(63232), U16(0), U16(42710), U16(42752), U16(46900), U16(46912), U16(47133), U16(63488), U16(1), U16(32), U16(256), U16(0), U16(65533), -} /* sqlite3.c:237470:12 */ +} /* sqlite3.c:237527:12 */ var aFts5UnicodeData = [1765]U16{ U16(1025), U16(61), U16(117), U16(55), U16(117), U16(54), U16(50), U16(53), U16(57), U16(53), U16(49), U16(85), U16(333), U16(85), U16(121), U16(85), U16(841), U16(54), U16(53), U16(50), @@ -209004,9 +209035,9 @@ var aFts5UnicodeData = [1765]U16{ U16(186), U16(570), U16(2042), U16(58), U16(5850), U16(154), U16(2010), U16(154), U16(794), U16(2266), U16(378), U16(2266), U16(3738), U16(39), U16(39), U16(39), U16(39), U16(39), U16(39), U16(17351), U16(34), U16(3074), U16(7692), U16(63), U16(63), -} /* sqlite3.c:237649:12 */ +} /* sqlite3.c:237706:12 */ -func sqlite3Fts5UnicodeCategory(tls *libc.TLS, iCode U32) int32 { /* sqlite3.c:237829:12: */ +func sqlite3Fts5UnicodeCategory(tls *libc.TLS, iCode U32) int32 { /* sqlite3.c:237886:12: */ var iRes int32 = -1 var iHi int32 var iLo int32 @@ -209046,7 +209077,7 @@ func sqlite3Fts5UnicodeCategory(tls *libc.TLS, iCode U32) int32 { /* sqlite3.c:2 return 9 } -func sqlite3Fts5UnicodeAscii(tls *libc.TLS, aArray uintptr, aAscii uintptr) { /* sqlite3.c:237860:13: */ +func sqlite3Fts5UnicodeAscii(tls *libc.TLS, aArray uintptr, aAscii uintptr) { /* sqlite3.c:237917:13: */ var i int32 = 0 var iTbl int32 = 0 for i < 128 { @@ -209078,7 +209109,7 @@ func sqlite3Fts5UnicodeAscii(tls *libc.TLS, aArray uintptr, aAscii uintptr) { /* // This is a copy of the sqlite3GetVarint32() routine from the SQLite core. // Except, this version does handle the single byte case that the core // version depends on being handled before its function is called. -func sqlite3Fts5GetVarint32(tls *libc.TLS, p uintptr, v uintptr) int32 { /* sqlite3.c:237898:12: */ +func sqlite3Fts5GetVarint32(tls *libc.TLS, p uintptr, v uintptr) int32 { /* sqlite3.c:237955:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -209153,7 +209184,7 @@ func sqlite3Fts5GetVarint32(tls *libc.TLS, p uintptr, v uintptr) int32 { /* sqli // Read a 64-bit variable-length integer from memory starting at p[0]. // Return the number of bytes read. The value is stored in *v. -func sqlite3Fts5GetVarint(tls *libc.TLS, p uintptr, v uintptr) U8 { /* sqlite3.c:237976:11: */ +func sqlite3Fts5GetVarint(tls *libc.TLS, p uintptr, v uintptr) U8 { /* sqlite3.c:238033:11: */ var a U32 var b U32 var s U32 @@ -209329,7 +209360,7 @@ func sqlite3Fts5GetVarint(tls *libc.TLS, p uintptr, v uintptr) U8 { /* sqlite3.c // for all bytes that have the 8th bit set and one byte with the 8th // bit clear. Except, if we get to the 9th byte, it stores the full // 8 bits and is the last byte. -func fts5PutVarint64(tls *libc.TLS, p uintptr, v U64) int32 { /* sqlite3.c:238170:26: */ +func fts5PutVarint64(tls *libc.TLS, p uintptr, v U64) int32 { /* sqlite3.c:238227:26: */ bp := tls.Alloc(10) defer tls.Free(10) @@ -209375,7 +209406,7 @@ __3: return n } -func sqlite3Fts5PutVarint(tls *libc.TLS, p uintptr, v U64) int32 { /* sqlite3.c:238195:12: */ +func sqlite3Fts5PutVarint(tls *libc.TLS, p uintptr, v U64) int32 { /* sqlite3.c:238252:12: */ if v <= uint64(0x7f) { *(*uint8)(unsafe.Pointer(p)) = uint8(v & uint64(0x7f)) return 1 @@ -209388,7 +209419,7 @@ func sqlite3Fts5PutVarint(tls *libc.TLS, p uintptr, v U64) int32 { /* sqlite3.c: return fts5PutVarint64(tls, p, v) } -func sqlite3Fts5GetVarintLen(tls *libc.TLS, iVal U32) int32 { /* sqlite3.c:238209:12: */ +func sqlite3Fts5GetVarintLen(tls *libc.TLS, iVal U32) int32 { /* sqlite3.c:238266:12: */ if iVal < U32(int32(1)<<14) { return 2 @@ -209448,7 +209479,7 @@ type Fts5VocabTable1 = struct { FpGlobal uintptr FeType int32 FbBusy uint32 -} /* sqlite3.c:238262:9 */ +} /* sqlite3.c:238319:9 */ // 2015 May 08 // @@ -209488,7 +209519,7 @@ type Fts5VocabTable1 = struct { // #include "fts5Int.h" -type Fts5VocabTable = Fts5VocabTable1 /* sqlite3.c:238262:31 */ +type Fts5VocabTable = Fts5VocabTable1 /* sqlite3.c:238319:31 */ type Fts5VocabCursor1 = struct { Fbase Sqlite3_vtab_cursor FpStmt uintptr @@ -209509,9 +209540,9 @@ type Fts5VocabCursor1 = struct { FiInstPos I64 FiInstOff int32 F__ccgo_pad4 [4]byte -} /* sqlite3.c:238263:9 */ +} /* sqlite3.c:238320:9 */ -type Fts5VocabCursor = Fts5VocabCursor1 /* sqlite3.c:238263:32 */ +type Fts5VocabCursor = Fts5VocabCursor1 /* sqlite3.c:238320:32 */ // Bits for the mask used as the idxNum value by xBestIndex/xFilter. @@ -209519,7 +209550,7 @@ type Fts5VocabCursor = Fts5VocabCursor1 /* sqlite3.c:238263:32 */ // FTS5_VOCAB_XXX constant. If successful, set *peType to the output // value and return SQLITE_OK. Otherwise, set *pzErr to an error message // and return SQLITE_ERROR. -func fts5VocabTableType(tls *libc.TLS, zType uintptr, pzErr uintptr, peType uintptr) int32 { /* sqlite3.c:238323:12: */ +func fts5VocabTableType(tls *libc.TLS, zType uintptr, pzErr uintptr, peType uintptr) int32 { /* sqlite3.c:238380:12: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -209544,14 +209575,14 @@ func fts5VocabTableType(tls *libc.TLS, zType uintptr, pzErr uintptr, peType uint } // The xDisconnect() virtual table method. -func fts5VocabDisconnectMethod(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:238352:12: */ +func fts5VocabDisconnectMethod(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:238409:12: */ var pTab uintptr = pVtab Xsqlite3_free(tls, pTab) return SQLITE_OK } // The xDestroy() virtual table method. -func fts5VocabDestroyMethod(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:238361:12: */ +func fts5VocabDestroyMethod(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:238418:12: */ var pTab uintptr = pVtab Xsqlite3_free(tls, pTab) return SQLITE_OK @@ -209576,7 +209607,7 @@ func fts5VocabDestroyMethod(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:2 // argv[3] -> name of fts5 tables database // argv[4] -> name of fts5 table // argv[5] -> type of fts5vocab table -func fts5VocabInitVtab(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVTab uintptr, pzErr uintptr) int32 { /* sqlite3.c:238388:12: */ +func fts5VocabInitVtab(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVTab uintptr, pzErr uintptr) int32 { /* sqlite3.c:238445:12: */ bp := tls.Alloc(36) defer tls.Free(36) @@ -209646,11 +209677,11 @@ func fts5VocabInitVtab(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv // The xConnect() and xCreate() methods for the virtual table. All the // work is done in function fts5VocabInitVtab(). -func fts5VocabConnectMethod(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 { /* sqlite3.c:238450:12: */ +func fts5VocabConnectMethod(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 { /* sqlite3.c:238507:12: */ return fts5VocabInitVtab(tls, db, pAux, argc, argv, ppVtab, pzErr) } -func fts5VocabCreateMethod(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 { /* sqlite3.c:238460:12: */ +func fts5VocabCreateMethod(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 { /* sqlite3.c:238517:12: */ return fts5VocabInitVtab(tls, db, pAux, argc, argv, ppVtab, pzErr) } @@ -209664,7 +209695,7 @@ func fts5VocabCreateMethod(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, // // are interpreted. Less-than and less-than-or-equal are treated // identically, as are greater-than and greater-than-or-equal. -func fts5VocabBestIndexMethod(tls *libc.TLS, pUnused uintptr, pInfo uintptr) int32 { /* sqlite3.c:238483:12: */ +func fts5VocabBestIndexMethod(tls *libc.TLS, pUnused uintptr, pInfo uintptr) int32 { /* sqlite3.c:238540:12: */ var i int32 var iTermEq int32 = -1 var iTermGe int32 = -1 @@ -209732,7 +209763,7 @@ func fts5VocabBestIndexMethod(tls *libc.TLS, pUnused uintptr, pInfo uintptr) int } // Implementation of xOpen method. -func fts5VocabOpenMethod(tls *libc.TLS, pVTab uintptr, ppCsr uintptr) int32 { /* sqlite3.c:238545:12: */ +func fts5VocabOpenMethod(tls *libc.TLS, pVTab uintptr, ppCsr uintptr) int32 { /* sqlite3.c:238602:12: */ bp := tls.Alloc(80) defer tls.Free(80) @@ -209799,7 +209830,7 @@ func fts5VocabOpenMethod(tls *libc.TLS, pVTab uintptr, ppCsr uintptr) int32 { /* return *(*int32)(unsafe.Pointer(bp + 64 /* rc */)) } -func fts5VocabResetCursor(tls *libc.TLS, pCsr uintptr) { /* sqlite3.c:238613:13: */ +func fts5VocabResetCursor(tls *libc.TLS, pCsr uintptr) { /* sqlite3.c:238670:13: */ (*Fts5VocabCursor)(unsafe.Pointer(pCsr)).Frowid = int64(0) sqlite3Fts5IterClose(tls, (*Fts5VocabCursor)(unsafe.Pointer(pCsr)).FpIter) sqlite3Fts5StructureRelease(tls, (*Fts5VocabCursor)(unsafe.Pointer(pCsr)).FpStruct) @@ -209813,7 +209844,7 @@ func fts5VocabResetCursor(tls *libc.TLS, pCsr uintptr) { /* sqlite3.c:238613:13: // Close the cursor. For additional information see the documentation // on the xClose method of the virtual table interface. -func fts5VocabCloseMethod(tls *libc.TLS, pCursor uintptr) int32 { /* sqlite3.c:238629:12: */ +func fts5VocabCloseMethod(tls *libc.TLS, pCursor uintptr) int32 { /* sqlite3.c:238686:12: */ var pCsr uintptr = pCursor fts5VocabResetCursor(tls, pCsr) sqlite3Fts5BufferFree(tls, pCsr+96) @@ -209822,7 +209853,7 @@ func fts5VocabCloseMethod(tls *libc.TLS, pCursor uintptr) int32 { /* sqlite3.c:2 return SQLITE_OK } -func fts5VocabInstanceNewTerm(tls *libc.TLS, pCsr uintptr) int32 { /* sqlite3.c:238638:12: */ +func fts5VocabInstanceNewTerm(tls *libc.TLS, pCsr uintptr) int32 { /* sqlite3.c:238695:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -209853,7 +209884,7 @@ func fts5VocabInstanceNewTerm(tls *libc.TLS, pCsr uintptr) int32 { /* sqlite3.c: return *(*int32)(unsafe.Pointer(bp + 4 /* rc */)) } -func fts5VocabInstanceNext(tls *libc.TLS, pCsr uintptr) int32 { /* sqlite3.c:238660:12: */ +func fts5VocabInstanceNext(tls *libc.TLS, pCsr uintptr) int32 { /* sqlite3.c:238717:12: */ var eDetail int32 = (*Fts5Config)(unsafe.Pointer((*Fts5Table)(unsafe.Pointer((*Fts5VocabCursor)(unsafe.Pointer(pCsr)).FpFts5)).FpConfig)).FeDetail var rc int32 = SQLITE_OK var pIter uintptr = (*Fts5VocabCursor)(unsafe.Pointer(pCsr)).FpIter @@ -209882,7 +209913,7 @@ func fts5VocabInstanceNext(tls *libc.TLS, pCsr uintptr) int32 { /* sqlite3.c:238 } // Advance the cursor to the next row in the table. -func fts5VocabNextMethod(tls *libc.TLS, pCursor uintptr) int32 { /* sqlite3.c:238692:12: */ +func fts5VocabNextMethod(tls *libc.TLS, pCursor uintptr) int32 { /* sqlite3.c:238749:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -210026,7 +210057,7 @@ func fts5VocabNextMethod(tls *libc.TLS, pCursor uintptr) int32 { /* sqlite3.c:23 } // This is the xFilter implementation for the virtual table. -func fts5VocabFilterMethod(tls *libc.TLS, pCursor uintptr, idxNum int32, zUnused uintptr, nUnused int32, apVal uintptr) int32 { /* sqlite3.c:238820:12: */ +func fts5VocabFilterMethod(tls *libc.TLS, pCursor uintptr, idxNum int32, zUnused uintptr, nUnused int32, apVal uintptr) int32 { /* sqlite3.c:238877:12: */ var pTab uintptr = (*Sqlite3_vtab_cursor)(unsafe.Pointer(pCursor)).FpVtab var pCsr uintptr = pCursor var eType int32 = (*Fts5VocabTable)(unsafe.Pointer(pTab)).FeType @@ -210100,12 +210131,12 @@ func fts5VocabFilterMethod(tls *libc.TLS, pCursor uintptr, idxNum int32, zUnused // This is the xEof method of the virtual table. SQLite calls this // routine to find out if it has reached the end of a result set. -func fts5VocabEofMethod(tls *libc.TLS, pCursor uintptr) int32 { /* sqlite3.c:238894:12: */ +func fts5VocabEofMethod(tls *libc.TLS, pCursor uintptr) int32 { /* sqlite3.c:238951:12: */ var pCsr uintptr = pCursor return (*Fts5VocabCursor)(unsafe.Pointer(pCsr)).FbEof } -func fts5VocabColumnMethod(tls *libc.TLS, pCursor uintptr, pCtx uintptr, iCol int32) int32 { /* sqlite3.c:238899:12: */ +func fts5VocabColumnMethod(tls *libc.TLS, pCursor uintptr, pCtx uintptr, iCol int32) int32 { /* sqlite3.c:238956:12: */ var pCsr uintptr = pCursor var eDetail int32 = (*Fts5Config)(unsafe.Pointer((*Fts5Table)(unsafe.Pointer((*Fts5VocabCursor)(unsafe.Pointer(pCsr)).FpFts5)).FpConfig)).FeDetail var eType int32 = (*Fts5VocabTable)(unsafe.Pointer((*Sqlite3_vtab_cursor)(unsafe.Pointer(pCursor)).FpVtab)).FeType @@ -210178,13 +210209,13 @@ func fts5VocabColumnMethod(tls *libc.TLS, pCursor uintptr, pCtx uintptr, iCol in // This is the xRowid method. The SQLite core calls this routine to // retrieve the rowid for the current row of the result set. The // rowid should be written to *pRowid. -func fts5VocabRowidMethod(tls *libc.TLS, pCursor uintptr, pRowid uintptr) int32 { /* sqlite3.c:238971:12: */ +func fts5VocabRowidMethod(tls *libc.TLS, pCursor uintptr, pRowid uintptr) int32 { /* sqlite3.c:239028:12: */ var pCsr uintptr = pCursor *(*Sqlite_int64)(unsafe.Pointer(pRowid)) = (*Fts5VocabCursor)(unsafe.Pointer(pCsr)).Frowid return SQLITE_OK } -func sqlite3Fts5VocabInit(tls *libc.TLS, pGlobal uintptr, db uintptr) int32 { /* sqlite3.c:238980:12: */ +func sqlite3Fts5VocabInit(tls *libc.TLS, pGlobal uintptr, db uintptr) int32 { /* sqlite3.c:239037:12: */ var p uintptr = pGlobal return Xsqlite3_create_module_v2(tls, db, ts+37909, uintptr(unsafe.Pointer(&fts5Vocab)), p, uintptr(0)) @@ -210204,7 +210235,7 @@ var fts5Vocab = Sqlite3_module{ /* xEof */ FxEof: 0, /* xColumn */ FxColumn: 0, /* xRowid */ FxRowid: 0, -} /* sqlite3.c:238981:31 */ +} /* sqlite3.c:239038:31 */ //************* End of fts5.c *********************************************** //************* Begin file stmt.c ******************************************* @@ -210231,8 +210262,8 @@ var fts5Vocab = Sqlite3_module{ //************* End of stmt.c *********************************************** // Return the source-id for this library -func Xsqlite3_sourceid(tls *libc.TLS) uintptr { /* sqlite3.c:239321:23: */ - return ts + 37919 /* "2022-03-12 13:37..." */ +func Xsqlite3_sourceid(tls *libc.TLS) uintptr { /* sqlite3.c:239378:23: */ + return ts + 37919 /* "2022-03-26 13:51..." */ } //************************* End of sqlite3.c ***************************** @@ -210241,162 +210272,162 @@ func init() { *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&Xsqlite3aEQb)) + 0)) = uintptr(unsafe.Pointer(&Xsqlite3UpperToLower)) + 210 // sqlite3.c:21690:51: *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&Xsqlite3aGTb)) + 0)) = uintptr(unsafe.Pointer(&Xsqlite3UpperToLower)) + 216 // sqlite3.c:21691:51: *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&Xsqlite3aLTb)) + 0)) = uintptr(unsafe.Pointer(&Xsqlite3UpperToLower)) + 204 // sqlite3.c:21689:51: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aAgg)) + 0)) = geopolyBBoxStep // sqlite3.c:201985:8: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aAgg)) + 8)) = geopolyBBoxFinal // sqlite3.c:201985:25: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aAlterTableFuncs)) + 24)) = renameColumnFunc // sqlite3.c:111067:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aAlterTableFuncs)) + 96)) = renameTableFunc // sqlite3.c:111068:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aAlterTableFuncs)) + 168)) = renameTableTest // sqlite3.c:111069:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aAlterTableFuncs)) + 240)) = dropColumnFunc // sqlite3.c:111070:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aAlterTableFuncs)) + 312)) = renameQuotefixFunc // sqlite3.c:111071:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 24)) = versionFunc // sqlite3.c:123272:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 96)) = versionFunc // sqlite3.c:123273:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 168)) = versionFunc // sqlite3.c:123274:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 240)) = versionFunc // sqlite3.c:123275:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 312)) = soundexFunc // sqlite3.c:123279:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 384)) = loadExt // sqlite3.c:123282:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 456)) = loadExt // sqlite3.c:123283:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 528)) = compileoptionusedFunc // sqlite3.c:123289:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 600)) = compileoptiongetFunc // sqlite3.c:123290:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 672)) = versionFunc // sqlite3.c:123292:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 744)) = versionFunc // sqlite3.c:123293:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 816)) = versionFunc // sqlite3.c:123294:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 888)) = versionFunc // sqlite3.c:123297:12: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 960)) = trimFunc // sqlite3.c:123299:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1032)) = trimFunc // sqlite3.c:123300:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1104)) = trimFunc // sqlite3.c:123301:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1176)) = trimFunc // sqlite3.c:123302:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1248)) = trimFunc // sqlite3.c:123303:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1320)) = trimFunc // sqlite3.c:123304:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1392)) = minmaxFunc // sqlite3.c:123305:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1536)) = minmaxStep // sqlite3.c:123307:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1544)) = minMaxFinalize // sqlite3.c:123307:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1552)) = minMaxValue // sqlite3.c:123307:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1608)) = minmaxFunc // sqlite3.c:123309:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1752)) = minmaxStep // sqlite3.c:123311:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1760)) = minMaxFinalize // sqlite3.c:123311:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1768)) = minMaxValue // sqlite3.c:123311:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1824)) = typeofFunc // sqlite3.c:123313:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1896)) = subtypeFunc // sqlite3.c:123314:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1968)) = lengthFunc // sqlite3.c:123315:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2040)) = instrFunc // sqlite3.c:123316:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2112)) = printfFunc // sqlite3.c:123317:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2184)) = printfFunc // sqlite3.c:123318:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2256)) = unicodeFunc // sqlite3.c:123319:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2328)) = charFunc // sqlite3.c:123320:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2400)) = absFunc // sqlite3.c:123321:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2472)) = roundFunc // sqlite3.c:123323:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2544)) = roundFunc // sqlite3.c:123324:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2616)) = upperFunc // sqlite3.c:123326:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2688)) = lowerFunc // sqlite3.c:123327:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2760)) = hexFunc // sqlite3.c:123328:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2832)) = versionFunc // sqlite3.c:123329:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2904)) = randomFunc // sqlite3.c:123330:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2976)) = randomBlob // sqlite3.c:123331:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3048)) = nullifFunc // sqlite3.c:123332:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3120)) = versionFunc // sqlite3.c:123333:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3192)) = sourceidFunc // sqlite3.c:123334:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3264)) = errlogFunc // sqlite3.c:123335:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3336)) = quoteFunc // sqlite3.c:123336:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3408)) = last_insert_rowid // sqlite3.c:123337:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3480)) = changes // sqlite3.c:123338:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3552)) = total_changes // sqlite3.c:123339:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3624)) = replaceFunc // sqlite3.c:123340:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3696)) = zeroblobFunc // sqlite3.c:123341:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3768)) = substrFunc // sqlite3.c:123342:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3840)) = substrFunc // sqlite3.c:123343:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3912)) = substrFunc // sqlite3.c:123344:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3984)) = substrFunc // sqlite3.c:123345:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4056)) = sumStep // sqlite3.c:123346:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4064)) = sumFinalize // sqlite3.c:123346:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4072)) = sumFinalize // sqlite3.c:123346:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4080)) = sumInverse // sqlite3.c:123346:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4128)) = sumStep // sqlite3.c:123347:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4136)) = totalFinalize // sqlite3.c:123347:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4144)) = totalFinalize // sqlite3.c:123347:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4152)) = sumInverse // sqlite3.c:123347:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4200)) = sumStep // sqlite3.c:123348:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4208)) = avgFinalize // sqlite3.c:123348:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4216)) = avgFinalize // sqlite3.c:123348:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4224)) = sumInverse // sqlite3.c:123348:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4272)) = countStep // sqlite3.c:123349:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4280)) = countFinalize // sqlite3.c:123349:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4288)) = countFinalize // sqlite3.c:123349:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4296)) = countInverse // sqlite3.c:123349:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4344)) = countStep // sqlite3.c:123352:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4352)) = countFinalize // sqlite3.c:123352:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4360)) = countFinalize // sqlite3.c:123352:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4368)) = countInverse // sqlite3.c:123352:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4416)) = groupConcatStep // sqlite3.c:123354:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4424)) = groupConcatFinalize // sqlite3.c:123354:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4432)) = groupConcatValue // sqlite3.c:123354:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4440)) = groupConcatInverse // sqlite3.c:123354:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4488)) = groupConcatStep // sqlite3.c:123356:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4496)) = groupConcatFinalize // sqlite3.c:123356:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4504)) = groupConcatValue // sqlite3.c:123356:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4512)) = groupConcatInverse // sqlite3.c:123356:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4544 /* .pUserData */)) = uintptr(unsafe.Pointer(&globInfo)) // sqlite3.c:123359:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4560)) = likeFunc // sqlite3.c:123359:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4616 /* .pUserData */)) = uintptr(unsafe.Pointer(&likeInfoNorm)) // sqlite3.c:123364:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4632)) = likeFunc // sqlite3.c:123364:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4688 /* .pUserData */)) = uintptr(unsafe.Pointer(&likeInfoNorm)) // sqlite3.c:123365:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4704)) = likeFunc // sqlite3.c:123365:5: - *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4904)) = xCeil // sqlite3.c:123373:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4920)) = ceilingFunc // sqlite3.c:123373:5: - *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4976)) = xCeil // sqlite3.c:123374:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4992)) = ceilingFunc // sqlite3.c:123374:5: - *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5048)) = xFloor // sqlite3.c:123375:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5064)) = ceilingFunc // sqlite3.c:123375:5: - *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5120)) = libc.Xtrunc // sqlite3.c:123377:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5136)) = ceilingFunc // sqlite3.c:123377:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5208)) = logFunc // sqlite3.c:123379:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5280)) = logFunc // sqlite3.c:123380:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5352)) = logFunc // sqlite3.c:123381:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5424)) = logFunc // sqlite3.c:123382:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5496)) = logFunc // sqlite3.c:123383:5: - *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5552)) = libc.Xexp // sqlite3.c:123384:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5568)) = math1Func // sqlite3.c:123384:5: - *(*func(*libc.TLS, float64, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5624)) = libc.Xpow // sqlite3.c:123385:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5640)) = math2Func // sqlite3.c:123385:5: - *(*func(*libc.TLS, float64, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5696)) = libc.Xpow // sqlite3.c:123386:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5712)) = math2Func // sqlite3.c:123386:5: - *(*func(*libc.TLS, float64, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5768)) = libc.Xfmod // sqlite3.c:123387:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5784)) = math2Func // sqlite3.c:123387:5: - *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5840)) = libc.Xacos // sqlite3.c:123388:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5856)) = math1Func // sqlite3.c:123388:5: - *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5912)) = libc.Xasin // sqlite3.c:123389:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5928)) = math1Func // sqlite3.c:123389:5: - *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5984)) = libc.Xatan // sqlite3.c:123390:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6000)) = math1Func // sqlite3.c:123390:5: - *(*func(*libc.TLS, float64, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6056)) = libc.Xatan2 // sqlite3.c:123391:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6072)) = math2Func // sqlite3.c:123391:5: - *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6128)) = libc.Xcos // sqlite3.c:123392:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6144)) = math1Func // sqlite3.c:123392:5: - *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6200)) = libc.Xsin // sqlite3.c:123393:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6216)) = math1Func // sqlite3.c:123393:5: - *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6272)) = libc.Xtan // sqlite3.c:123394:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6288)) = math1Func // sqlite3.c:123394:5: - *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6344)) = libc.Xcosh // sqlite3.c:123395:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6360)) = math1Func // sqlite3.c:123395:5: - *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6416)) = libc.Xsinh // sqlite3.c:123396:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6432)) = math1Func // sqlite3.c:123396:5: - *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6488)) = libc.Xtanh // sqlite3.c:123397:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6504)) = math1Func // sqlite3.c:123397:5: - *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6560)) = libc.Xacosh // sqlite3.c:123399:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6576)) = math1Func // sqlite3.c:123399:5: - *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6632)) = libc.Xasinh // sqlite3.c:123400:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6648)) = math1Func // sqlite3.c:123400:5: - *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6704)) = libc.Xatanh // sqlite3.c:123401:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6720)) = math1Func // sqlite3.c:123401:5: - *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6776)) = libc.Xsqrt // sqlite3.c:123403:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6792)) = math1Func // sqlite3.c:123403:5: - *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6848)) = degToRad // sqlite3.c:123404:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6864)) = math1Func // sqlite3.c:123404:5: - *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6920)) = radToDeg // sqlite3.c:123405:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6936)) = math1Func // sqlite3.c:123405:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 7008)) = piFunc // sqlite3.c:123406:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 7080)) = signFunc // sqlite3.c:123408:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 7152)) = versionFunc // sqlite3.c:123409:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 7224)) = versionFunc // sqlite3.c:123410:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aAgg)) + 0)) = geopolyBBoxStep // sqlite3.c:202042:8: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aAgg)) + 8)) = geopolyBBoxFinal // sqlite3.c:202042:25: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aAlterTableFuncs)) + 24)) = renameColumnFunc // sqlite3.c:111080:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aAlterTableFuncs)) + 96)) = renameTableFunc // sqlite3.c:111081:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aAlterTableFuncs)) + 168)) = renameTableTest // sqlite3.c:111082:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aAlterTableFuncs)) + 240)) = dropColumnFunc // sqlite3.c:111083:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aAlterTableFuncs)) + 312)) = renameQuotefixFunc // sqlite3.c:111084:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 24)) = versionFunc // sqlite3.c:123285:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 96)) = versionFunc // sqlite3.c:123286:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 168)) = versionFunc // sqlite3.c:123287:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 240)) = versionFunc // sqlite3.c:123288:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 312)) = soundexFunc // sqlite3.c:123292:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 384)) = loadExt // sqlite3.c:123295:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 456)) = loadExt // sqlite3.c:123296:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 528)) = compileoptionusedFunc // sqlite3.c:123302:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 600)) = compileoptiongetFunc // sqlite3.c:123303:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 672)) = versionFunc // sqlite3.c:123305:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 744)) = versionFunc // sqlite3.c:123306:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 816)) = versionFunc // sqlite3.c:123307:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 888)) = versionFunc // sqlite3.c:123310:12: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 960)) = trimFunc // sqlite3.c:123312:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1032)) = trimFunc // sqlite3.c:123313:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1104)) = trimFunc // sqlite3.c:123314:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1176)) = trimFunc // sqlite3.c:123315:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1248)) = trimFunc // sqlite3.c:123316:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1320)) = trimFunc // sqlite3.c:123317:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1392)) = minmaxFunc // sqlite3.c:123318:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1536)) = minmaxStep // sqlite3.c:123320:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1544)) = minMaxFinalize // sqlite3.c:123320:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1552)) = minMaxValue // sqlite3.c:123320:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1608)) = minmaxFunc // sqlite3.c:123322:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1752)) = minmaxStep // sqlite3.c:123324:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1760)) = minMaxFinalize // sqlite3.c:123324:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1768)) = minMaxValue // sqlite3.c:123324:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1824)) = typeofFunc // sqlite3.c:123326:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1896)) = subtypeFunc // sqlite3.c:123327:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1968)) = lengthFunc // sqlite3.c:123328:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2040)) = instrFunc // sqlite3.c:123329:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2112)) = printfFunc // sqlite3.c:123330:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2184)) = printfFunc // sqlite3.c:123331:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2256)) = unicodeFunc // sqlite3.c:123332:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2328)) = charFunc // sqlite3.c:123333:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2400)) = absFunc // sqlite3.c:123334:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2472)) = roundFunc // sqlite3.c:123336:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2544)) = roundFunc // sqlite3.c:123337:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2616)) = upperFunc // sqlite3.c:123339:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2688)) = lowerFunc // sqlite3.c:123340:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2760)) = hexFunc // sqlite3.c:123341:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2832)) = versionFunc // sqlite3.c:123342:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2904)) = randomFunc // sqlite3.c:123343:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2976)) = randomBlob // sqlite3.c:123344:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3048)) = nullifFunc // sqlite3.c:123345:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3120)) = versionFunc // sqlite3.c:123346:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3192)) = sourceidFunc // sqlite3.c:123347:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3264)) = errlogFunc // sqlite3.c:123348:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3336)) = quoteFunc // sqlite3.c:123349:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3408)) = last_insert_rowid // sqlite3.c:123350:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3480)) = changes // sqlite3.c:123351:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3552)) = total_changes // sqlite3.c:123352:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3624)) = replaceFunc // sqlite3.c:123353:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3696)) = zeroblobFunc // sqlite3.c:123354:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3768)) = substrFunc // sqlite3.c:123355:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3840)) = substrFunc // sqlite3.c:123356:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3912)) = substrFunc // sqlite3.c:123357:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3984)) = substrFunc // sqlite3.c:123358:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4056)) = sumStep // sqlite3.c:123359:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4064)) = sumFinalize // sqlite3.c:123359:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4072)) = sumFinalize // sqlite3.c:123359:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4080)) = sumInverse // sqlite3.c:123359:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4128)) = sumStep // sqlite3.c:123360:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4136)) = totalFinalize // sqlite3.c:123360:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4144)) = totalFinalize // sqlite3.c:123360:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4152)) = sumInverse // sqlite3.c:123360:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4200)) = sumStep // sqlite3.c:123361:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4208)) = avgFinalize // sqlite3.c:123361:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4216)) = avgFinalize // sqlite3.c:123361:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4224)) = sumInverse // sqlite3.c:123361:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4272)) = countStep // sqlite3.c:123362:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4280)) = countFinalize // sqlite3.c:123362:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4288)) = countFinalize // sqlite3.c:123362:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4296)) = countInverse // sqlite3.c:123362:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4344)) = countStep // sqlite3.c:123365:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4352)) = countFinalize // sqlite3.c:123365:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4360)) = countFinalize // sqlite3.c:123365:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4368)) = countInverse // sqlite3.c:123365:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4416)) = groupConcatStep // sqlite3.c:123367:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4424)) = groupConcatFinalize // sqlite3.c:123367:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4432)) = groupConcatValue // sqlite3.c:123367:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4440)) = groupConcatInverse // sqlite3.c:123367:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4488)) = groupConcatStep // sqlite3.c:123369:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4496)) = groupConcatFinalize // sqlite3.c:123369:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4504)) = groupConcatValue // sqlite3.c:123369:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4512)) = groupConcatInverse // sqlite3.c:123369:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4544 /* .pUserData */)) = uintptr(unsafe.Pointer(&globInfo)) // sqlite3.c:123372:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4560)) = likeFunc // sqlite3.c:123372:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4616 /* .pUserData */)) = uintptr(unsafe.Pointer(&likeInfoNorm)) // sqlite3.c:123377:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4632)) = likeFunc // sqlite3.c:123377:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4688 /* .pUserData */)) = uintptr(unsafe.Pointer(&likeInfoNorm)) // sqlite3.c:123378:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4704)) = likeFunc // sqlite3.c:123378:5: + *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4904)) = xCeil // sqlite3.c:123386:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4920)) = ceilingFunc // sqlite3.c:123386:5: + *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4976)) = xCeil // sqlite3.c:123387:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4992)) = ceilingFunc // sqlite3.c:123387:5: + *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5048)) = xFloor // sqlite3.c:123388:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5064)) = ceilingFunc // sqlite3.c:123388:5: + *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5120)) = libc.Xtrunc // sqlite3.c:123390:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5136)) = ceilingFunc // sqlite3.c:123390:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5208)) = logFunc // sqlite3.c:123392:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5280)) = logFunc // sqlite3.c:123393:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5352)) = logFunc // sqlite3.c:123394:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5424)) = logFunc // sqlite3.c:123395:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5496)) = logFunc // sqlite3.c:123396:5: + *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5552)) = libc.Xexp // sqlite3.c:123397:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5568)) = math1Func // sqlite3.c:123397:5: + *(*func(*libc.TLS, float64, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5624)) = libc.Xpow // sqlite3.c:123398:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5640)) = math2Func // sqlite3.c:123398:5: + *(*func(*libc.TLS, float64, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5696)) = libc.Xpow // sqlite3.c:123399:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5712)) = math2Func // sqlite3.c:123399:5: + *(*func(*libc.TLS, float64, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5768)) = libc.Xfmod // sqlite3.c:123400:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5784)) = math2Func // sqlite3.c:123400:5: + *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5840)) = libc.Xacos // sqlite3.c:123401:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5856)) = math1Func // sqlite3.c:123401:5: + *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5912)) = libc.Xasin // sqlite3.c:123402:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5928)) = math1Func // sqlite3.c:123402:5: + *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5984)) = libc.Xatan // sqlite3.c:123403:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6000)) = math1Func // sqlite3.c:123403:5: + *(*func(*libc.TLS, float64, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6056)) = libc.Xatan2 // sqlite3.c:123404:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6072)) = math2Func // sqlite3.c:123404:5: + *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6128)) = libc.Xcos // sqlite3.c:123405:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6144)) = math1Func // sqlite3.c:123405:5: + *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6200)) = libc.Xsin // sqlite3.c:123406:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6216)) = math1Func // sqlite3.c:123406:5: + *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6272)) = libc.Xtan // sqlite3.c:123407:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6288)) = math1Func // sqlite3.c:123407:5: + *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6344)) = libc.Xcosh // sqlite3.c:123408:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6360)) = math1Func // sqlite3.c:123408:5: + *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6416)) = libc.Xsinh // sqlite3.c:123409:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6432)) = math1Func // sqlite3.c:123409:5: + *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6488)) = libc.Xtanh // sqlite3.c:123410:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6504)) = math1Func // sqlite3.c:123410:5: + *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6560)) = libc.Xacosh // sqlite3.c:123412:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6576)) = math1Func // sqlite3.c:123412:5: + *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6632)) = libc.Xasinh // sqlite3.c:123413:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6648)) = math1Func // sqlite3.c:123413:5: + *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6704)) = libc.Xatanh // sqlite3.c:123414:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6720)) = math1Func // sqlite3.c:123414:5: + *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6776)) = libc.Xsqrt // sqlite3.c:123416:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6792)) = math1Func // sqlite3.c:123416:5: + *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6848)) = degToRad // sqlite3.c:123417:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6864)) = math1Func // sqlite3.c:123417:5: + *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6920)) = radToDeg // sqlite3.c:123418:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6936)) = math1Func // sqlite3.c:123418:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 7008)) = piFunc // sqlite3.c:123419:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 7080)) = signFunc // sqlite3.c:123421:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 7152)) = versionFunc // sqlite3.c:123422:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 7224)) = versionFunc // sqlite3.c:123423:5: *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aDateTimeFuncs)) + 8 /* .pUserData */)) = uintptr(unsafe.Pointer(&Xsqlite3Config)) // sqlite3.c:24402:5: *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aDateTimeFuncs)) + 24)) = juliandayFunc // sqlite3.c:24402:5: *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aDateTimeFuncs)) + 80 /* .pUserData */)) = uintptr(unsafe.Pointer(&Xsqlite3Config)) // sqlite3.c:24403:5: @@ -210412,50 +210443,50 @@ func init() { *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aDateTimeFuncs)) + 456)) = ctimeFunc // sqlite3.c:24408:5: *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aDateTimeFuncs)) + 528)) = ctimestampFunc // sqlite3.c:24409:5: *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aDateTimeFuncs)) + 600)) = cdateFunc // sqlite3.c:24410:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 0)) = geopolyAreaFunc // sqlite3.c:201967:8: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 24)) = geopolyBlobFunc // sqlite3.c:201968:8: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 48)) = geopolyJsonFunc // sqlite3.c:201969:8: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 72)) = geopolySvgFunc // sqlite3.c:201970:8: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 96)) = geopolyWithinFunc // sqlite3.c:201971:8: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 120)) = geopolyContainsPointFunc // sqlite3.c:201972:8: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 144)) = geopolyOverlapFunc // sqlite3.c:201973:8: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 168)) = geopolyDebugFunc // sqlite3.c:201974:8: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 192)) = geopolyBBoxFunc // sqlite3.c:201975:8: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 216)) = geopolyXformFunc // sqlite3.c:201976:8: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 240)) = geopolyRegularFunc // sqlite3.c:201977:8: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 264)) = geopolyCcwFunc // sqlite3.c:201978:8: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 24)) = jsonRemoveFunc // sqlite3.c:195736:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 96)) = jsonArrayFunc // sqlite3.c:195737:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 168)) = jsonArrayLengthFunc // sqlite3.c:195738:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 240)) = jsonArrayLengthFunc // sqlite3.c:195739:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 312)) = jsonExtractFunc // sqlite3.c:195740:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 384)) = jsonExtractFunc // sqlite3.c:195741:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 456)) = jsonExtractFunc // sqlite3.c:195742:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 528)) = jsonSetFunc // sqlite3.c:195743:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 600)) = jsonObjectFunc // sqlite3.c:195744:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 672)) = jsonPatchFunc // sqlite3.c:195745:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 744)) = jsonQuoteFunc // sqlite3.c:195746:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 816)) = jsonRemoveFunc // sqlite3.c:195747:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 888)) = jsonReplaceFunc // sqlite3.c:195748:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 960)) = jsonSetFunc // sqlite3.c:195749:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 1032)) = jsonTypeFunc // sqlite3.c:195750:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 1104)) = jsonTypeFunc // sqlite3.c:195751:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 1176)) = jsonValidFunc // sqlite3.c:195752:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 1248)) = jsonArrayStep // sqlite3.c:195757:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 1256)) = jsonArrayFinal // sqlite3.c:195757:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 1264)) = jsonArrayValue // sqlite3.c:195757:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 1272)) = jsonGroupInverse // sqlite3.c:195757:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 1320)) = jsonObjectStep // sqlite3.c:195760:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 1328)) = jsonObjectFinal // sqlite3.c:195760:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 1336)) = jsonObjectValue // sqlite3.c:195760:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 1344)) = jsonGroupInverse // sqlite3.c:195760:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aMap)) + 8 /* .pMethods */)) = uintptr(unsafe.Pointer(&posixIoMethods)) // sqlite3.c:40308:17: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aMap)) + 24 /* .pMethods */)) = uintptr(unsafe.Pointer(&posixIoMethods)) // sqlite3.c:40309:17: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aMap)) + 40 /* .pMethods */)) = uintptr(unsafe.Pointer(&afpIoMethods)) // sqlite3.c:40310:17: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aMap)) + 56 /* .pMethods */)) = uintptr(unsafe.Pointer(&afpIoMethods)) // sqlite3.c:40311:17: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aMap)) + 72 /* .pMethods */)) = uintptr(unsafe.Pointer(&nolockIoMethods)) // sqlite3.c:40312:17: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aMod)) + 8 /* .pModule */)) = uintptr(unsafe.Pointer(&jsonEachModule)) // sqlite3.c:195778:31: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aMod)) + 24 /* .pModule */)) = uintptr(unsafe.Pointer(&jsonTreeModule)) // sqlite3.c:195779:31: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 0)) = geopolyAreaFunc // sqlite3.c:202024:8: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 24)) = geopolyBlobFunc // sqlite3.c:202025:8: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 48)) = geopolyJsonFunc // sqlite3.c:202026:8: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 72)) = geopolySvgFunc // sqlite3.c:202027:8: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 96)) = geopolyWithinFunc // sqlite3.c:202028:8: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 120)) = geopolyContainsPointFunc // sqlite3.c:202029:8: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 144)) = geopolyOverlapFunc // sqlite3.c:202030:8: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 168)) = geopolyDebugFunc // sqlite3.c:202031:8: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 192)) = geopolyBBoxFunc // sqlite3.c:202032:8: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 216)) = geopolyXformFunc // sqlite3.c:202033:8: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 240)) = geopolyRegularFunc // sqlite3.c:202034:8: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 264)) = geopolyCcwFunc // sqlite3.c:202035:8: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 24)) = jsonRemoveFunc // sqlite3.c:195793:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 96)) = jsonArrayFunc // sqlite3.c:195794:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 168)) = jsonArrayLengthFunc // sqlite3.c:195795:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 240)) = jsonArrayLengthFunc // sqlite3.c:195796:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 312)) = jsonExtractFunc // sqlite3.c:195797:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 384)) = jsonExtractFunc // sqlite3.c:195798:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 456)) = jsonExtractFunc // sqlite3.c:195799:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 528)) = jsonSetFunc // sqlite3.c:195800:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 600)) = jsonObjectFunc // sqlite3.c:195801:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 672)) = jsonPatchFunc // sqlite3.c:195802:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 744)) = jsonQuoteFunc // sqlite3.c:195803:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 816)) = jsonRemoveFunc // sqlite3.c:195804:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 888)) = jsonReplaceFunc // sqlite3.c:195805:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 960)) = jsonSetFunc // sqlite3.c:195806:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 1032)) = jsonTypeFunc // sqlite3.c:195807:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 1104)) = jsonTypeFunc // sqlite3.c:195808:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 1176)) = jsonValidFunc // sqlite3.c:195809:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 1248)) = jsonArrayStep // sqlite3.c:195814:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 1256)) = jsonArrayFinal // sqlite3.c:195814:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 1264)) = jsonArrayValue // sqlite3.c:195814:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 1272)) = jsonGroupInverse // sqlite3.c:195814:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 1320)) = jsonObjectStep // sqlite3.c:195817:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 1328)) = jsonObjectFinal // sqlite3.c:195817:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 1336)) = jsonObjectValue // sqlite3.c:195817:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 1344)) = jsonGroupInverse // sqlite3.c:195817:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aMap)) + 8 /* .pMethods */)) = uintptr(unsafe.Pointer(&posixIoMethods)) // sqlite3.c:40314:17: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aMap)) + 24 /* .pMethods */)) = uintptr(unsafe.Pointer(&posixIoMethods)) // sqlite3.c:40315:17: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aMap)) + 40 /* .pMethods */)) = uintptr(unsafe.Pointer(&afpIoMethods)) // sqlite3.c:40316:17: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aMap)) + 56 /* .pMethods */)) = uintptr(unsafe.Pointer(&afpIoMethods)) // sqlite3.c:40317:17: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aMap)) + 72 /* .pMethods */)) = uintptr(unsafe.Pointer(&nolockIoMethods)) // sqlite3.c:40318:17: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aMod)) + 8 /* .pModule */)) = uintptr(unsafe.Pointer(&jsonEachModule)) // sqlite3.c:195835:31: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aMod)) + 24 /* .pModule */)) = uintptr(unsafe.Pointer(&jsonTreeModule)) // sqlite3.c:195836:31: *(*Sqlite3_syscall_ptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 8 /* .pCurrent */)) = *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, int32) int32 }{posixOpen})) // sqlite3.c:35170:21: @@ -210522,254 +210553,254 @@ func init() { *(*Sqlite3_syscall_ptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 656 /* .pCurrent */)) = *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr) int32 }{libc.Xlstat})) // sqlite3.c:35313:22: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 32 /* .pAppData */)) = uintptr(unsafe.Pointer(&autolockIoFinder)) // sqlite3.c:42838:5: - *(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 40)) = unixOpen // sqlite3.c:42838:5: - *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 48)) = unixDelete // sqlite3.c:42838:5: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 56)) = unixAccess // sqlite3.c:42838:5: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 64)) = unixFullPathname // sqlite3.c:42838:5: - *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 72)) = unixDlOpen // sqlite3.c:42838:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 80)) = unixDlError // sqlite3.c:42838:5: - *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 88)) = unixDlSym // sqlite3.c:42838:5: - *(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 96)) = unixDlClose // sqlite3.c:42838:5: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 104)) = unixRandomness // sqlite3.c:42838:5: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 112)) = unixSleep // sqlite3.c:42838:5: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 120)) = unixCurrentTime // sqlite3.c:42838:5: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 128)) = unixGetLastError // sqlite3.c:42838:5: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 136)) = unixCurrentTimeInt64 // sqlite3.c:42838:5: - *(*func(*libc.TLS, uintptr, uintptr, Sqlite3_syscall_ptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 144)) = unixSetSystemCall // sqlite3.c:42838:5: - *(*func(*libc.TLS, uintptr, uintptr) Sqlite3_syscall_ptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 152)) = unixGetSystemCall // sqlite3.c:42838:5: - *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 160)) = unixNextSystemCall // sqlite3.c:42838:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 200 /* .pAppData */)) = uintptr(unsafe.Pointer(&nolockIoFinder)) // sqlite3.c:42844:5: - *(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 208)) = unixOpen // sqlite3.c:42844:5: - *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 216)) = unixDelete // sqlite3.c:42844:5: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 224)) = unixAccess // sqlite3.c:42844:5: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 232)) = unixFullPathname // sqlite3.c:42844:5: - *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 240)) = unixDlOpen // sqlite3.c:42844:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 248)) = unixDlError // sqlite3.c:42844:5: - *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 256)) = unixDlSym // sqlite3.c:42844:5: - *(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 264)) = unixDlClose // sqlite3.c:42844:5: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 272)) = unixRandomness // sqlite3.c:42844:5: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 280)) = unixSleep // sqlite3.c:42844:5: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 288)) = unixCurrentTime // sqlite3.c:42844:5: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 296)) = unixGetLastError // sqlite3.c:42844:5: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 304)) = unixCurrentTimeInt64 // sqlite3.c:42844:5: - *(*func(*libc.TLS, uintptr, uintptr, Sqlite3_syscall_ptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 312)) = unixSetSystemCall // sqlite3.c:42844:5: - *(*func(*libc.TLS, uintptr, uintptr) Sqlite3_syscall_ptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 320)) = unixGetSystemCall // sqlite3.c:42844:5: - *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 328)) = unixNextSystemCall // sqlite3.c:42844:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 368 /* .pAppData */)) = uintptr(unsafe.Pointer(&dotlockIoFinder)) // sqlite3.c:42845:5: - *(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 376)) = unixOpen // sqlite3.c:42845:5: - *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 384)) = unixDelete // sqlite3.c:42845:5: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 392)) = unixAccess // sqlite3.c:42845:5: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 400)) = unixFullPathname // sqlite3.c:42845:5: - *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 408)) = unixDlOpen // sqlite3.c:42845:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 416)) = unixDlError // sqlite3.c:42845:5: - *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 424)) = unixDlSym // sqlite3.c:42845:5: - *(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 432)) = unixDlClose // sqlite3.c:42845:5: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 440)) = unixRandomness // sqlite3.c:42845:5: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 448)) = unixSleep // sqlite3.c:42845:5: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 456)) = unixCurrentTime // sqlite3.c:42845:5: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 464)) = unixGetLastError // sqlite3.c:42845:5: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 472)) = unixCurrentTimeInt64 // sqlite3.c:42845:5: - *(*func(*libc.TLS, uintptr, uintptr, Sqlite3_syscall_ptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 480)) = unixSetSystemCall // sqlite3.c:42845:5: - *(*func(*libc.TLS, uintptr, uintptr) Sqlite3_syscall_ptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 488)) = unixGetSystemCall // sqlite3.c:42845:5: - *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 496)) = unixNextSystemCall // sqlite3.c:42845:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 536 /* .pAppData */)) = uintptr(unsafe.Pointer(&posixIoFinder)) // sqlite3.c:42846:5: - *(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 544)) = unixOpen // sqlite3.c:42846:5: - *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 552)) = unixDelete // sqlite3.c:42846:5: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 560)) = unixAccess // sqlite3.c:42846:5: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 568)) = unixFullPathname // sqlite3.c:42846:5: - *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 576)) = unixDlOpen // sqlite3.c:42846:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 584)) = unixDlError // sqlite3.c:42846:5: - *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 592)) = unixDlSym // sqlite3.c:42846:5: - *(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 600)) = unixDlClose // sqlite3.c:42846:5: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 608)) = unixRandomness // sqlite3.c:42846:5: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 616)) = unixSleep // sqlite3.c:42846:5: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 624)) = unixCurrentTime // sqlite3.c:42846:5: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 632)) = unixGetLastError // sqlite3.c:42846:5: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 640)) = unixCurrentTimeInt64 // sqlite3.c:42846:5: - *(*func(*libc.TLS, uintptr, uintptr, Sqlite3_syscall_ptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 648)) = unixSetSystemCall // sqlite3.c:42846:5: - *(*func(*libc.TLS, uintptr, uintptr) Sqlite3_syscall_ptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 656)) = unixGetSystemCall // sqlite3.c:42846:5: - *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 664)) = unixNextSystemCall // sqlite3.c:42846:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 704 /* .pAppData */)) = uintptr(unsafe.Pointer(&posixIoFinder)) // sqlite3.c:42851:5: - *(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 712)) = unixOpen // sqlite3.c:42851:5: - *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 720)) = unixDelete // sqlite3.c:42851:5: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 728)) = unixAccess // sqlite3.c:42851:5: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 736)) = unixFullPathname // sqlite3.c:42851:5: - *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 744)) = unixDlOpen // sqlite3.c:42851:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 752)) = unixDlError // sqlite3.c:42851:5: - *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 760)) = unixDlSym // sqlite3.c:42851:5: - *(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 768)) = unixDlClose // sqlite3.c:42851:5: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 776)) = unixRandomness // sqlite3.c:42851:5: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 784)) = unixSleep // sqlite3.c:42851:5: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 792)) = unixCurrentTime // sqlite3.c:42851:5: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 800)) = unixGetLastError // sqlite3.c:42851:5: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 808)) = unixCurrentTimeInt64 // sqlite3.c:42851:5: - *(*func(*libc.TLS, uintptr, uintptr, Sqlite3_syscall_ptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 816)) = unixSetSystemCall // sqlite3.c:42851:5: - *(*func(*libc.TLS, uintptr, uintptr) Sqlite3_syscall_ptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 824)) = unixGetSystemCall // sqlite3.c:42851:5: - *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 832)) = unixNextSystemCall // sqlite3.c:42851:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 872 /* .pAppData */)) = uintptr(unsafe.Pointer(&flockIoFinder)) // sqlite3.c:42854:5: - *(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 880)) = unixOpen // sqlite3.c:42854:5: - *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 888)) = unixDelete // sqlite3.c:42854:5: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 896)) = unixAccess // sqlite3.c:42854:5: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 904)) = unixFullPathname // sqlite3.c:42854:5: - *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 912)) = unixDlOpen // sqlite3.c:42854:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 920)) = unixDlError // sqlite3.c:42854:5: - *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 928)) = unixDlSym // sqlite3.c:42854:5: - *(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 936)) = unixDlClose // sqlite3.c:42854:5: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 944)) = unixRandomness // sqlite3.c:42854:5: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 952)) = unixSleep // sqlite3.c:42854:5: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 960)) = unixCurrentTime // sqlite3.c:42854:5: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 968)) = unixGetLastError // sqlite3.c:42854:5: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 976)) = unixCurrentTimeInt64 // sqlite3.c:42854:5: - *(*func(*libc.TLS, uintptr, uintptr, Sqlite3_syscall_ptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 984)) = unixSetSystemCall // sqlite3.c:42854:5: - *(*func(*libc.TLS, uintptr, uintptr) Sqlite3_syscall_ptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 992)) = unixGetSystemCall // sqlite3.c:42854:5: - *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 1000)) = unixNextSystemCall // sqlite3.c:42854:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 1040 /* .pAppData */)) = uintptr(unsafe.Pointer(&afpIoFinder)) // sqlite3.c:42857:5: - *(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 1048)) = unixOpen // sqlite3.c:42857:5: - *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 1056)) = unixDelete // sqlite3.c:42857:5: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 1064)) = unixAccess // sqlite3.c:42857:5: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 1072)) = unixFullPathname // sqlite3.c:42857:5: - *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 1080)) = unixDlOpen // sqlite3.c:42857:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 1088)) = unixDlError // sqlite3.c:42857:5: - *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 1096)) = unixDlSym // sqlite3.c:42857:5: - *(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 1104)) = unixDlClose // sqlite3.c:42857:5: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 1112)) = unixRandomness // sqlite3.c:42857:5: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 1120)) = unixSleep // sqlite3.c:42857:5: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 1128)) = unixCurrentTime // sqlite3.c:42857:5: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 1136)) = unixGetLastError // sqlite3.c:42857:5: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 1144)) = unixCurrentTimeInt64 // sqlite3.c:42857:5: - *(*func(*libc.TLS, uintptr, uintptr, Sqlite3_syscall_ptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 1152)) = unixSetSystemCall // sqlite3.c:42857:5: - *(*func(*libc.TLS, uintptr, uintptr) Sqlite3_syscall_ptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 1160)) = unixGetSystemCall // sqlite3.c:42857:5: - *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 1168)) = unixNextSystemCall // sqlite3.c:42857:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 1208 /* .pAppData */)) = uintptr(unsafe.Pointer(&nfsIoFinder)) // sqlite3.c:42858:5: - *(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 1216)) = unixOpen // sqlite3.c:42858:5: - *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 1224)) = unixDelete // sqlite3.c:42858:5: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 1232)) = unixAccess // sqlite3.c:42858:5: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 1240)) = unixFullPathname // sqlite3.c:42858:5: - *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 1248)) = unixDlOpen // sqlite3.c:42858:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 1256)) = unixDlError // sqlite3.c:42858:5: - *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 1264)) = unixDlSym // sqlite3.c:42858:5: - *(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 1272)) = unixDlClose // sqlite3.c:42858:5: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 1280)) = unixRandomness // sqlite3.c:42858:5: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 1288)) = unixSleep // sqlite3.c:42858:5: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 1296)) = unixCurrentTime // sqlite3.c:42858:5: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 1304)) = unixGetLastError // sqlite3.c:42858:5: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 1312)) = unixCurrentTimeInt64 // sqlite3.c:42858:5: - *(*func(*libc.TLS, uintptr, uintptr, Sqlite3_syscall_ptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 1320)) = unixSetSystemCall // sqlite3.c:42858:5: - *(*func(*libc.TLS, uintptr, uintptr) Sqlite3_syscall_ptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 1328)) = unixGetSystemCall // sqlite3.c:42858:5: - *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 1336)) = unixNextSystemCall // sqlite3.c:42858:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 1376 /* .pAppData */)) = uintptr(unsafe.Pointer(&proxyIoFinder)) // sqlite3.c:42859:5: - *(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 1384)) = unixOpen // sqlite3.c:42859:5: - *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 1392)) = unixDelete // sqlite3.c:42859:5: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 1400)) = unixAccess // sqlite3.c:42859:5: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 1408)) = unixFullPathname // sqlite3.c:42859:5: - *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 1416)) = unixDlOpen // sqlite3.c:42859:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 1424)) = unixDlError // sqlite3.c:42859:5: - *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 1432)) = unixDlSym // sqlite3.c:42859:5: - *(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 1440)) = unixDlClose // sqlite3.c:42859:5: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 1448)) = unixRandomness // sqlite3.c:42859:5: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 1456)) = unixSleep // sqlite3.c:42859:5: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 1464)) = unixCurrentTime // sqlite3.c:42859:5: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 1472)) = unixGetLastError // sqlite3.c:42859:5: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 1480)) = unixCurrentTimeInt64 // sqlite3.c:42859:5: - *(*func(*libc.TLS, uintptr, uintptr, Sqlite3_syscall_ptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 1488)) = unixSetSystemCall // sqlite3.c:42859:5: - *(*func(*libc.TLS, uintptr, uintptr) Sqlite3_syscall_ptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 1496)) = unixGetSystemCall // sqlite3.c:42859:5: - *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 1504)) = unixNextSystemCall // sqlite3.c:42859:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 24)) = row_numberStepFunc // sqlite3.c:158796:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 32)) = row_numberValueFunc // sqlite3.c:158796:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 40)) = row_numberValueFunc // sqlite3.c:158796:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 48)) = noopStepFunc // sqlite3.c:158796:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 56 /* .zName */)) = uintptr(unsafe.Pointer(&row_numberName)) // sqlite3.c:158796:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 96)) = dense_rankStepFunc // sqlite3.c:158797:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 104)) = dense_rankValueFunc // sqlite3.c:158797:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 112)) = dense_rankValueFunc // sqlite3.c:158797:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 120)) = noopStepFunc // sqlite3.c:158797:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 128 /* .zName */)) = uintptr(unsafe.Pointer(&dense_rankName)) // sqlite3.c:158797:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 168)) = rankStepFunc // sqlite3.c:158798:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 176)) = rankValueFunc // sqlite3.c:158798:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 184)) = rankValueFunc // sqlite3.c:158798:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 192)) = noopStepFunc // sqlite3.c:158798:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 200 /* .zName */)) = uintptr(unsafe.Pointer(&rankName)) // sqlite3.c:158798:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 240)) = percent_rankStepFunc // sqlite3.c:158799:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 248)) = percent_rankValueFunc // sqlite3.c:158799:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 256)) = percent_rankValueFunc // sqlite3.c:158799:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 264)) = percent_rankInvFunc // sqlite3.c:158799:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 272 /* .zName */)) = uintptr(unsafe.Pointer(&percent_rankName)) // sqlite3.c:158799:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 312)) = cume_distStepFunc // sqlite3.c:158800:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 320)) = cume_distValueFunc // sqlite3.c:158800:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 328)) = cume_distValueFunc // sqlite3.c:158800:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 336)) = cume_distInvFunc // sqlite3.c:158800:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 344 /* .zName */)) = uintptr(unsafe.Pointer(&cume_distName)) // sqlite3.c:158800:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 384)) = ntileStepFunc // sqlite3.c:158801:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 392)) = ntileValueFunc // sqlite3.c:158801:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 400)) = ntileValueFunc // sqlite3.c:158801:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 408)) = ntileInvFunc // sqlite3.c:158801:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 416 /* .zName */)) = uintptr(unsafe.Pointer(&ntileName)) // sqlite3.c:158801:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 456)) = last_valueStepFunc // sqlite3.c:158802:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 464)) = last_valueFinalizeFunc // sqlite3.c:158802:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 472)) = last_valueValueFunc // sqlite3.c:158802:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 480)) = last_valueInvFunc // sqlite3.c:158802:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 488 /* .zName */)) = uintptr(unsafe.Pointer(&last_valueName)) // sqlite3.c:158802:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 528)) = nth_valueStepFunc // sqlite3.c:158803:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 536)) = nth_valueFinalizeFunc // sqlite3.c:158803:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 544)) = noopValueFunc // sqlite3.c:158803:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 552)) = noopStepFunc // sqlite3.c:158803:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 560 /* .zName */)) = uintptr(unsafe.Pointer(&nth_valueName)) // sqlite3.c:158803:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 600)) = first_valueStepFunc // sqlite3.c:158804:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 608)) = first_valueFinalizeFunc // sqlite3.c:158804:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 616)) = noopValueFunc // sqlite3.c:158804:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 624)) = noopStepFunc // sqlite3.c:158804:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 632 /* .zName */)) = uintptr(unsafe.Pointer(&first_valueName)) // sqlite3.c:158804:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 672)) = noopStepFunc // sqlite3.c:158805:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 680)) = noopValueFunc // sqlite3.c:158805:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 688)) = noopValueFunc // sqlite3.c:158805:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 696)) = noopStepFunc // sqlite3.c:158805:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 704 /* .zName */)) = uintptr(unsafe.Pointer(&leadName)) // sqlite3.c:158805:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 744)) = noopStepFunc // sqlite3.c:158806:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 752)) = noopValueFunc // sqlite3.c:158806:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 760)) = noopValueFunc // sqlite3.c:158806:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 768)) = noopStepFunc // sqlite3.c:158806:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 776 /* .zName */)) = uintptr(unsafe.Pointer(&leadName)) // sqlite3.c:158806:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 816)) = noopStepFunc // sqlite3.c:158807:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 824)) = noopValueFunc // sqlite3.c:158807:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 832)) = noopValueFunc // sqlite3.c:158807:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 840)) = noopStepFunc // sqlite3.c:158807:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 848 /* .zName */)) = uintptr(unsafe.Pointer(&leadName)) // sqlite3.c:158807:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 888)) = noopStepFunc // sqlite3.c:158808:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 896)) = noopValueFunc // sqlite3.c:158808:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 904)) = noopValueFunc // sqlite3.c:158808:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 912)) = noopStepFunc // sqlite3.c:158808:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 920 /* .zName */)) = uintptr(unsafe.Pointer(&lagName)) // sqlite3.c:158808:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 960)) = noopStepFunc // sqlite3.c:158809:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 968)) = noopValueFunc // sqlite3.c:158809:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 976)) = noopValueFunc // sqlite3.c:158809:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 984)) = noopStepFunc // sqlite3.c:158809:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 992 /* .zName */)) = uintptr(unsafe.Pointer(&lagName)) // sqlite3.c:158809:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 1032)) = noopStepFunc // sqlite3.c:158810:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 1040)) = noopValueFunc // sqlite3.c:158810:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 1048)) = noopValueFunc // sqlite3.c:158810:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 1056)) = noopStepFunc // sqlite3.c:158810:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 1064 /* .zName */)) = uintptr(unsafe.Pointer(&lagName)) // sqlite3.c:158810:5: - *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&afpIoFinder)) + 0)) = afpIoFinderImpl // sqlite3.c:40240:1: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&afpIoMethods)) + 8)) = afpClose // sqlite3.c:40240:1: - *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&afpIoMethods)) + 16)) = unixRead // sqlite3.c:40240:1: - *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&afpIoMethods)) + 24)) = unixWrite // sqlite3.c:40240:1: - *(*func(*libc.TLS, uintptr, I64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&afpIoMethods)) + 32)) = unixTruncate // sqlite3.c:40240:1: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&afpIoMethods)) + 40)) = unixSync // sqlite3.c:40240:1: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&afpIoMethods)) + 48)) = unixFileSize // sqlite3.c:40240:1: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&afpIoMethods)) + 56)) = afpLock // sqlite3.c:40240:1: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&afpIoMethods)) + 64)) = afpUnlock // sqlite3.c:40240:1: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&afpIoMethods)) + 72)) = afpCheckReservedLock // sqlite3.c:40240:1: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&afpIoMethods)) + 80)) = unixFileControl // sqlite3.c:40240:1: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&afpIoMethods)) + 88)) = unixSectorSize // sqlite3.c:40240:1: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&afpIoMethods)) + 96)) = unixDeviceCharacteristics // sqlite3.c:40240:1: - *(*func(*libc.TLS, uintptr, int32, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&afpIoMethods)) + 112)) = unixShmLock // sqlite3.c:40240:1: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&afpIoMethods)) + 120)) = unixShmBarrier // sqlite3.c:40240:1: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&afpIoMethods)) + 128)) = unixShmUnmap // sqlite3.c:40240:1: - *(*func(*libc.TLS, uintptr, I64, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&afpIoMethods)) + 136)) = unixFetch // sqlite3.c:40240:1: - *(*func(*libc.TLS, uintptr, I64, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&afpIoMethods)) + 144)) = unixUnfetch // sqlite3.c:40240:1: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&attach_func)) + 24)) = attachFunc // sqlite3.c:113438:5: - *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&autolockIoFinder)) + 0)) = autolockIoFinderImpl // sqlite3.c:40354:55: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 32 /* .pAppData */)) = uintptr(unsafe.Pointer(&autolockIoFinder)) // sqlite3.c:42844:5: + *(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 40)) = unixOpen // sqlite3.c:42844:5: + *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 48)) = unixDelete // sqlite3.c:42844:5: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 56)) = unixAccess // sqlite3.c:42844:5: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 64)) = unixFullPathname // sqlite3.c:42844:5: + *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 72)) = unixDlOpen // sqlite3.c:42844:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 80)) = unixDlError // sqlite3.c:42844:5: + *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 88)) = unixDlSym // sqlite3.c:42844:5: + *(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 96)) = unixDlClose // sqlite3.c:42844:5: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 104)) = unixRandomness // sqlite3.c:42844:5: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 112)) = unixSleep // sqlite3.c:42844:5: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 120)) = unixCurrentTime // sqlite3.c:42844:5: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 128)) = unixGetLastError // sqlite3.c:42844:5: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 136)) = unixCurrentTimeInt64 // sqlite3.c:42844:5: + *(*func(*libc.TLS, uintptr, uintptr, Sqlite3_syscall_ptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 144)) = unixSetSystemCall // sqlite3.c:42844:5: + *(*func(*libc.TLS, uintptr, uintptr) Sqlite3_syscall_ptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 152)) = unixGetSystemCall // sqlite3.c:42844:5: + *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 160)) = unixNextSystemCall // sqlite3.c:42844:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 200 /* .pAppData */)) = uintptr(unsafe.Pointer(&nolockIoFinder)) // sqlite3.c:42850:5: + *(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 208)) = unixOpen // sqlite3.c:42850:5: + *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 216)) = unixDelete // sqlite3.c:42850:5: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 224)) = unixAccess // sqlite3.c:42850:5: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 232)) = unixFullPathname // sqlite3.c:42850:5: + *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 240)) = unixDlOpen // sqlite3.c:42850:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 248)) = unixDlError // sqlite3.c:42850:5: + *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 256)) = unixDlSym // sqlite3.c:42850:5: + *(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 264)) = unixDlClose // sqlite3.c:42850:5: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 272)) = unixRandomness // sqlite3.c:42850:5: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 280)) = unixSleep // sqlite3.c:42850:5: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 288)) = unixCurrentTime // sqlite3.c:42850:5: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 296)) = unixGetLastError // sqlite3.c:42850:5: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 304)) = unixCurrentTimeInt64 // sqlite3.c:42850:5: + *(*func(*libc.TLS, uintptr, uintptr, Sqlite3_syscall_ptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 312)) = unixSetSystemCall // sqlite3.c:42850:5: + *(*func(*libc.TLS, uintptr, uintptr) Sqlite3_syscall_ptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 320)) = unixGetSystemCall // sqlite3.c:42850:5: + *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 328)) = unixNextSystemCall // sqlite3.c:42850:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 368 /* .pAppData */)) = uintptr(unsafe.Pointer(&dotlockIoFinder)) // sqlite3.c:42851:5: + *(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 376)) = unixOpen // sqlite3.c:42851:5: + *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 384)) = unixDelete // sqlite3.c:42851:5: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 392)) = unixAccess // sqlite3.c:42851:5: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 400)) = unixFullPathname // sqlite3.c:42851:5: + *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 408)) = unixDlOpen // sqlite3.c:42851:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 416)) = unixDlError // sqlite3.c:42851:5: + *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 424)) = unixDlSym // sqlite3.c:42851:5: + *(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 432)) = unixDlClose // sqlite3.c:42851:5: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 440)) = unixRandomness // sqlite3.c:42851:5: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 448)) = unixSleep // sqlite3.c:42851:5: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 456)) = unixCurrentTime // sqlite3.c:42851:5: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 464)) = unixGetLastError // sqlite3.c:42851:5: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 472)) = unixCurrentTimeInt64 // sqlite3.c:42851:5: + *(*func(*libc.TLS, uintptr, uintptr, Sqlite3_syscall_ptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 480)) = unixSetSystemCall // sqlite3.c:42851:5: + *(*func(*libc.TLS, uintptr, uintptr) Sqlite3_syscall_ptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 488)) = unixGetSystemCall // sqlite3.c:42851:5: + *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 496)) = unixNextSystemCall // sqlite3.c:42851:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 536 /* .pAppData */)) = uintptr(unsafe.Pointer(&posixIoFinder)) // sqlite3.c:42852:5: + *(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 544)) = unixOpen // sqlite3.c:42852:5: + *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 552)) = unixDelete // sqlite3.c:42852:5: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 560)) = unixAccess // sqlite3.c:42852:5: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 568)) = unixFullPathname // sqlite3.c:42852:5: + *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 576)) = unixDlOpen // sqlite3.c:42852:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 584)) = unixDlError // sqlite3.c:42852:5: + *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 592)) = unixDlSym // sqlite3.c:42852:5: + *(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 600)) = unixDlClose // sqlite3.c:42852:5: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 608)) = unixRandomness // sqlite3.c:42852:5: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 616)) = unixSleep // sqlite3.c:42852:5: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 624)) = unixCurrentTime // sqlite3.c:42852:5: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 632)) = unixGetLastError // sqlite3.c:42852:5: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 640)) = unixCurrentTimeInt64 // sqlite3.c:42852:5: + *(*func(*libc.TLS, uintptr, uintptr, Sqlite3_syscall_ptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 648)) = unixSetSystemCall // sqlite3.c:42852:5: + *(*func(*libc.TLS, uintptr, uintptr) Sqlite3_syscall_ptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 656)) = unixGetSystemCall // sqlite3.c:42852:5: + *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 664)) = unixNextSystemCall // sqlite3.c:42852:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 704 /* .pAppData */)) = uintptr(unsafe.Pointer(&posixIoFinder)) // sqlite3.c:42857:5: + *(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 712)) = unixOpen // sqlite3.c:42857:5: + *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 720)) = unixDelete // sqlite3.c:42857:5: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 728)) = unixAccess // sqlite3.c:42857:5: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 736)) = unixFullPathname // sqlite3.c:42857:5: + *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 744)) = unixDlOpen // sqlite3.c:42857:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 752)) = unixDlError // sqlite3.c:42857:5: + *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 760)) = unixDlSym // sqlite3.c:42857:5: + *(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 768)) = unixDlClose // sqlite3.c:42857:5: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 776)) = unixRandomness // sqlite3.c:42857:5: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 784)) = unixSleep // sqlite3.c:42857:5: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 792)) = unixCurrentTime // sqlite3.c:42857:5: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 800)) = unixGetLastError // sqlite3.c:42857:5: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 808)) = unixCurrentTimeInt64 // sqlite3.c:42857:5: + *(*func(*libc.TLS, uintptr, uintptr, Sqlite3_syscall_ptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 816)) = unixSetSystemCall // sqlite3.c:42857:5: + *(*func(*libc.TLS, uintptr, uintptr) Sqlite3_syscall_ptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 824)) = unixGetSystemCall // sqlite3.c:42857:5: + *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 832)) = unixNextSystemCall // sqlite3.c:42857:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 872 /* .pAppData */)) = uintptr(unsafe.Pointer(&flockIoFinder)) // sqlite3.c:42860:5: + *(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 880)) = unixOpen // sqlite3.c:42860:5: + *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 888)) = unixDelete // sqlite3.c:42860:5: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 896)) = unixAccess // sqlite3.c:42860:5: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 904)) = unixFullPathname // sqlite3.c:42860:5: + *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 912)) = unixDlOpen // sqlite3.c:42860:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 920)) = unixDlError // sqlite3.c:42860:5: + *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 928)) = unixDlSym // sqlite3.c:42860:5: + *(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 936)) = unixDlClose // sqlite3.c:42860:5: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 944)) = unixRandomness // sqlite3.c:42860:5: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 952)) = unixSleep // sqlite3.c:42860:5: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 960)) = unixCurrentTime // sqlite3.c:42860:5: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 968)) = unixGetLastError // sqlite3.c:42860:5: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 976)) = unixCurrentTimeInt64 // sqlite3.c:42860:5: + *(*func(*libc.TLS, uintptr, uintptr, Sqlite3_syscall_ptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 984)) = unixSetSystemCall // sqlite3.c:42860:5: + *(*func(*libc.TLS, uintptr, uintptr) Sqlite3_syscall_ptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 992)) = unixGetSystemCall // sqlite3.c:42860:5: + *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 1000)) = unixNextSystemCall // sqlite3.c:42860:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 1040 /* .pAppData */)) = uintptr(unsafe.Pointer(&afpIoFinder)) // sqlite3.c:42863:5: + *(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 1048)) = unixOpen // sqlite3.c:42863:5: + *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 1056)) = unixDelete // sqlite3.c:42863:5: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 1064)) = unixAccess // sqlite3.c:42863:5: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 1072)) = unixFullPathname // sqlite3.c:42863:5: + *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 1080)) = unixDlOpen // sqlite3.c:42863:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 1088)) = unixDlError // sqlite3.c:42863:5: + *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 1096)) = unixDlSym // sqlite3.c:42863:5: + *(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 1104)) = unixDlClose // sqlite3.c:42863:5: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 1112)) = unixRandomness // sqlite3.c:42863:5: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 1120)) = unixSleep // sqlite3.c:42863:5: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 1128)) = unixCurrentTime // sqlite3.c:42863:5: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 1136)) = unixGetLastError // sqlite3.c:42863:5: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 1144)) = unixCurrentTimeInt64 // sqlite3.c:42863:5: + *(*func(*libc.TLS, uintptr, uintptr, Sqlite3_syscall_ptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 1152)) = unixSetSystemCall // sqlite3.c:42863:5: + *(*func(*libc.TLS, uintptr, uintptr) Sqlite3_syscall_ptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 1160)) = unixGetSystemCall // sqlite3.c:42863:5: + *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 1168)) = unixNextSystemCall // sqlite3.c:42863:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 1208 /* .pAppData */)) = uintptr(unsafe.Pointer(&nfsIoFinder)) // sqlite3.c:42864:5: + *(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 1216)) = unixOpen // sqlite3.c:42864:5: + *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 1224)) = unixDelete // sqlite3.c:42864:5: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 1232)) = unixAccess // sqlite3.c:42864:5: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 1240)) = unixFullPathname // sqlite3.c:42864:5: + *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 1248)) = unixDlOpen // sqlite3.c:42864:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 1256)) = unixDlError // sqlite3.c:42864:5: + *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 1264)) = unixDlSym // sqlite3.c:42864:5: + *(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 1272)) = unixDlClose // sqlite3.c:42864:5: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 1280)) = unixRandomness // sqlite3.c:42864:5: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 1288)) = unixSleep // sqlite3.c:42864:5: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 1296)) = unixCurrentTime // sqlite3.c:42864:5: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 1304)) = unixGetLastError // sqlite3.c:42864:5: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 1312)) = unixCurrentTimeInt64 // sqlite3.c:42864:5: + *(*func(*libc.TLS, uintptr, uintptr, Sqlite3_syscall_ptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 1320)) = unixSetSystemCall // sqlite3.c:42864:5: + *(*func(*libc.TLS, uintptr, uintptr) Sqlite3_syscall_ptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 1328)) = unixGetSystemCall // sqlite3.c:42864:5: + *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 1336)) = unixNextSystemCall // sqlite3.c:42864:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 1376 /* .pAppData */)) = uintptr(unsafe.Pointer(&proxyIoFinder)) // sqlite3.c:42865:5: + *(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 1384)) = unixOpen // sqlite3.c:42865:5: + *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 1392)) = unixDelete // sqlite3.c:42865:5: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 1400)) = unixAccess // sqlite3.c:42865:5: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 1408)) = unixFullPathname // sqlite3.c:42865:5: + *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 1416)) = unixDlOpen // sqlite3.c:42865:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 1424)) = unixDlError // sqlite3.c:42865:5: + *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 1432)) = unixDlSym // sqlite3.c:42865:5: + *(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 1440)) = unixDlClose // sqlite3.c:42865:5: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 1448)) = unixRandomness // sqlite3.c:42865:5: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 1456)) = unixSleep // sqlite3.c:42865:5: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 1464)) = unixCurrentTime // sqlite3.c:42865:5: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 1472)) = unixGetLastError // sqlite3.c:42865:5: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 1480)) = unixCurrentTimeInt64 // sqlite3.c:42865:5: + *(*func(*libc.TLS, uintptr, uintptr, Sqlite3_syscall_ptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 1488)) = unixSetSystemCall // sqlite3.c:42865:5: + *(*func(*libc.TLS, uintptr, uintptr) Sqlite3_syscall_ptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 1496)) = unixGetSystemCall // sqlite3.c:42865:5: + *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 1504)) = unixNextSystemCall // sqlite3.c:42865:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 24)) = row_numberStepFunc // sqlite3.c:158853:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 32)) = row_numberValueFunc // sqlite3.c:158853:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 40)) = row_numberValueFunc // sqlite3.c:158853:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 48)) = noopStepFunc // sqlite3.c:158853:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 56 /* .zName */)) = uintptr(unsafe.Pointer(&row_numberName)) // sqlite3.c:158853:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 96)) = dense_rankStepFunc // sqlite3.c:158854:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 104)) = dense_rankValueFunc // sqlite3.c:158854:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 112)) = dense_rankValueFunc // sqlite3.c:158854:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 120)) = noopStepFunc // sqlite3.c:158854:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 128 /* .zName */)) = uintptr(unsafe.Pointer(&dense_rankName)) // sqlite3.c:158854:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 168)) = rankStepFunc // sqlite3.c:158855:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 176)) = rankValueFunc // sqlite3.c:158855:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 184)) = rankValueFunc // sqlite3.c:158855:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 192)) = noopStepFunc // sqlite3.c:158855:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 200 /* .zName */)) = uintptr(unsafe.Pointer(&rankName)) // sqlite3.c:158855:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 240)) = percent_rankStepFunc // sqlite3.c:158856:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 248)) = percent_rankValueFunc // sqlite3.c:158856:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 256)) = percent_rankValueFunc // sqlite3.c:158856:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 264)) = percent_rankInvFunc // sqlite3.c:158856:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 272 /* .zName */)) = uintptr(unsafe.Pointer(&percent_rankName)) // sqlite3.c:158856:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 312)) = cume_distStepFunc // sqlite3.c:158857:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 320)) = cume_distValueFunc // sqlite3.c:158857:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 328)) = cume_distValueFunc // sqlite3.c:158857:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 336)) = cume_distInvFunc // sqlite3.c:158857:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 344 /* .zName */)) = uintptr(unsafe.Pointer(&cume_distName)) // sqlite3.c:158857:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 384)) = ntileStepFunc // sqlite3.c:158858:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 392)) = ntileValueFunc // sqlite3.c:158858:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 400)) = ntileValueFunc // sqlite3.c:158858:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 408)) = ntileInvFunc // sqlite3.c:158858:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 416 /* .zName */)) = uintptr(unsafe.Pointer(&ntileName)) // sqlite3.c:158858:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 456)) = last_valueStepFunc // sqlite3.c:158859:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 464)) = last_valueFinalizeFunc // sqlite3.c:158859:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 472)) = last_valueValueFunc // sqlite3.c:158859:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 480)) = last_valueInvFunc // sqlite3.c:158859:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 488 /* .zName */)) = uintptr(unsafe.Pointer(&last_valueName)) // sqlite3.c:158859:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 528)) = nth_valueStepFunc // sqlite3.c:158860:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 536)) = nth_valueFinalizeFunc // sqlite3.c:158860:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 544)) = noopValueFunc // sqlite3.c:158860:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 552)) = noopStepFunc // sqlite3.c:158860:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 560 /* .zName */)) = uintptr(unsafe.Pointer(&nth_valueName)) // sqlite3.c:158860:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 600)) = first_valueStepFunc // sqlite3.c:158861:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 608)) = first_valueFinalizeFunc // sqlite3.c:158861:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 616)) = noopValueFunc // sqlite3.c:158861:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 624)) = noopStepFunc // sqlite3.c:158861:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 632 /* .zName */)) = uintptr(unsafe.Pointer(&first_valueName)) // sqlite3.c:158861:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 672)) = noopStepFunc // sqlite3.c:158862:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 680)) = noopValueFunc // sqlite3.c:158862:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 688)) = noopValueFunc // sqlite3.c:158862:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 696)) = noopStepFunc // sqlite3.c:158862:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 704 /* .zName */)) = uintptr(unsafe.Pointer(&leadName)) // sqlite3.c:158862:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 744)) = noopStepFunc // sqlite3.c:158863:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 752)) = noopValueFunc // sqlite3.c:158863:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 760)) = noopValueFunc // sqlite3.c:158863:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 768)) = noopStepFunc // sqlite3.c:158863:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 776 /* .zName */)) = uintptr(unsafe.Pointer(&leadName)) // sqlite3.c:158863:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 816)) = noopStepFunc // sqlite3.c:158864:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 824)) = noopValueFunc // sqlite3.c:158864:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 832)) = noopValueFunc // sqlite3.c:158864:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 840)) = noopStepFunc // sqlite3.c:158864:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 848 /* .zName */)) = uintptr(unsafe.Pointer(&leadName)) // sqlite3.c:158864:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 888)) = noopStepFunc // sqlite3.c:158865:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 896)) = noopValueFunc // sqlite3.c:158865:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 904)) = noopValueFunc // sqlite3.c:158865:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 912)) = noopStepFunc // sqlite3.c:158865:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 920 /* .zName */)) = uintptr(unsafe.Pointer(&lagName)) // sqlite3.c:158865:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 960)) = noopStepFunc // sqlite3.c:158866:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 968)) = noopValueFunc // sqlite3.c:158866:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 976)) = noopValueFunc // sqlite3.c:158866:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 984)) = noopStepFunc // sqlite3.c:158866:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 992 /* .zName */)) = uintptr(unsafe.Pointer(&lagName)) // sqlite3.c:158866:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 1032)) = noopStepFunc // sqlite3.c:158867:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 1040)) = noopValueFunc // sqlite3.c:158867:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 1048)) = noopValueFunc // sqlite3.c:158867:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 1056)) = noopStepFunc // sqlite3.c:158867:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 1064 /* .zName */)) = uintptr(unsafe.Pointer(&lagName)) // sqlite3.c:158867:5: + *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&afpIoFinder)) + 0)) = afpIoFinderImpl // sqlite3.c:40246:1: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&afpIoMethods)) + 8)) = afpClose // sqlite3.c:40246:1: + *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&afpIoMethods)) + 16)) = unixRead // sqlite3.c:40246:1: + *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&afpIoMethods)) + 24)) = unixWrite // sqlite3.c:40246:1: + *(*func(*libc.TLS, uintptr, I64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&afpIoMethods)) + 32)) = unixTruncate // sqlite3.c:40246:1: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&afpIoMethods)) + 40)) = unixSync // sqlite3.c:40246:1: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&afpIoMethods)) + 48)) = unixFileSize // sqlite3.c:40246:1: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&afpIoMethods)) + 56)) = afpLock // sqlite3.c:40246:1: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&afpIoMethods)) + 64)) = afpUnlock // sqlite3.c:40246:1: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&afpIoMethods)) + 72)) = afpCheckReservedLock // sqlite3.c:40246:1: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&afpIoMethods)) + 80)) = unixFileControl // sqlite3.c:40246:1: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&afpIoMethods)) + 88)) = unixSectorSize // sqlite3.c:40246:1: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&afpIoMethods)) + 96)) = unixDeviceCharacteristics // sqlite3.c:40246:1: + *(*func(*libc.TLS, uintptr, int32, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&afpIoMethods)) + 112)) = unixShmLock // sqlite3.c:40246:1: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&afpIoMethods)) + 120)) = unixShmBarrier // sqlite3.c:40246:1: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&afpIoMethods)) + 128)) = unixShmUnmap // sqlite3.c:40246:1: + *(*func(*libc.TLS, uintptr, I64, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&afpIoMethods)) + 136)) = unixFetch // sqlite3.c:40246:1: + *(*func(*libc.TLS, uintptr, I64, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&afpIoMethods)) + 144)) = unixUnfetch // sqlite3.c:40246:1: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&attach_func)) + 24)) = attachFunc // sqlite3.c:113451:5: + *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&autolockIoFinder)) + 0)) = autolockIoFinderImpl // sqlite3.c:40360:55: *(*func(*libc.TLS, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods)) + 0)) = sqlite3MemMalloc // sqlite3.c:25299:6: *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods)) + 8)) = sqlite3MemFree // sqlite3.c:25300:6: *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods)) + 16)) = sqlite3MemRealloc // sqlite3.c:25301:6: @@ -210777,297 +210808,297 @@ func init() { *(*func(*libc.TLS, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods)) + 32)) = sqlite3MemRoundup // sqlite3.c:25303:6: *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods)) + 40)) = sqlite3MemInit // sqlite3.c:25304:6: *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods)) + 48)) = sqlite3MemShutdown // sqlite3.c:25305:6: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods1)) + 16)) = pcache1Init // sqlite3.c:52453:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods1)) + 24)) = pcache1Shutdown // sqlite3.c:52454:5: - *(*func(*libc.TLS, int32, int32, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods1)) + 32)) = pcache1Create // sqlite3.c:52455:5: - *(*func(*libc.TLS, uintptr, int32))(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods1)) + 40)) = pcache1Cachesize // sqlite3.c:52456:5: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods1)) + 48)) = pcache1Pagecount // sqlite3.c:52457:5: - *(*func(*libc.TLS, uintptr, uint32, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods1)) + 56)) = pcache1Fetch // sqlite3.c:52458:5: - *(*func(*libc.TLS, uintptr, uintptr, int32))(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods1)) + 64)) = pcache1Unpin // sqlite3.c:52459:5: - *(*func(*libc.TLS, uintptr, uintptr, uint32, uint32))(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods1)) + 72)) = pcache1Rekey // sqlite3.c:52460:5: - *(*func(*libc.TLS, uintptr, uint32))(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods1)) + 80)) = pcache1Truncate // sqlite3.c:52461:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods1)) + 88)) = pcache1Destroy // sqlite3.c:52462:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods1)) + 96)) = pcache1Shrink // sqlite3.c:52463:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&detach_func)) + 24)) = detachFunc // sqlite3.c:113418:5: - *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoFinder)) + 0)) = dotlockIoFinderImpl // sqlite3.c:40202:1: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 8)) = dotlockClose // sqlite3.c:40202:1: - *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 16)) = unixRead // sqlite3.c:40202:1: - *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 24)) = unixWrite // sqlite3.c:40202:1: - *(*func(*libc.TLS, uintptr, I64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 32)) = unixTruncate // sqlite3.c:40202:1: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 40)) = unixSync // sqlite3.c:40202:1: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 48)) = unixFileSize // sqlite3.c:40202:1: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 56)) = dotlockLock // sqlite3.c:40202:1: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 64)) = dotlockUnlock // sqlite3.c:40202:1: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 72)) = dotlockCheckReservedLock // sqlite3.c:40202:1: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 80)) = unixFileControl // sqlite3.c:40202:1: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 88)) = unixSectorSize // sqlite3.c:40202:1: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 96)) = unixDeviceCharacteristics // sqlite3.c:40202:1: - *(*func(*libc.TLS, uintptr, int32, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 112)) = unixShmLock // sqlite3.c:40202:1: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 120)) = unixShmBarrier // sqlite3.c:40202:1: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 128)) = unixShmUnmap // sqlite3.c:40202:1: - *(*func(*libc.TLS, uintptr, I64, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 136)) = unixFetch // sqlite3.c:40202:1: - *(*func(*libc.TLS, uintptr, I64, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 144)) = unixUnfetch // sqlite3.c:40202:1: - *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&flockIoFinder)) + 0)) = flockIoFinderImpl // sqlite3.c:40214:1: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&flockIoMethods)) + 8)) = flockClose // sqlite3.c:40214:1: - *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&flockIoMethods)) + 16)) = unixRead // sqlite3.c:40214:1: - *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&flockIoMethods)) + 24)) = unixWrite // sqlite3.c:40214:1: - *(*func(*libc.TLS, uintptr, I64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&flockIoMethods)) + 32)) = unixTruncate // sqlite3.c:40214:1: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&flockIoMethods)) + 40)) = unixSync // sqlite3.c:40214:1: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&flockIoMethods)) + 48)) = unixFileSize // sqlite3.c:40214:1: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&flockIoMethods)) + 56)) = flockLock // sqlite3.c:40214:1: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&flockIoMethods)) + 64)) = flockUnlock // sqlite3.c:40214:1: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&flockIoMethods)) + 72)) = flockCheckReservedLock // sqlite3.c:40214:1: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&flockIoMethods)) + 80)) = unixFileControl // sqlite3.c:40214:1: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&flockIoMethods)) + 88)) = unixSectorSize // sqlite3.c:40214:1: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&flockIoMethods)) + 96)) = unixDeviceCharacteristics // sqlite3.c:40214:1: - *(*func(*libc.TLS, uintptr, int32, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&flockIoMethods)) + 112)) = unixShmLock // sqlite3.c:40214:1: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&flockIoMethods)) + 120)) = unixShmBarrier // sqlite3.c:40214:1: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&flockIoMethods)) + 128)) = unixShmUnmap // sqlite3.c:40214:1: - *(*func(*libc.TLS, uintptr, I64, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&flockIoMethods)) + 136)) = unixFetch // sqlite3.c:40214:1: - *(*func(*libc.TLS, uintptr, I64, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&flockIoMethods)) + 144)) = unixUnfetch // sqlite3.c:40214:1: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 8)) = fts5CreateMethod // sqlite3.c:234400:25: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 16)) = fts5ConnectMethod // sqlite3.c:234401:25: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 24)) = fts5BestIndexMethod // sqlite3.c:234402:25: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 32)) = fts5DisconnectMethod // sqlite3.c:234403:25: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 40)) = fts5DestroyMethod // sqlite3.c:234404:25: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 48)) = fts5OpenMethod // sqlite3.c:234405:25: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 56)) = fts5CloseMethod // sqlite3.c:234406:25: - *(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 64)) = fts5FilterMethod // sqlite3.c:234407:25: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 72)) = fts5NextMethod // sqlite3.c:234408:25: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 80)) = fts5EofMethod // sqlite3.c:234409:25: - *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 88)) = fts5ColumnMethod // sqlite3.c:234410:25: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 96)) = fts5RowidMethod // sqlite3.c:234411:25: - *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 104)) = fts5UpdateMethod // sqlite3.c:234412:25: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 112)) = fts5BeginMethod // sqlite3.c:234413:25: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 120)) = fts5SyncMethod // sqlite3.c:234414:25: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 128)) = fts5CommitMethod // sqlite3.c:234415:25: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 136)) = fts5RollbackMethod // sqlite3.c:234416:25: - *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 144)) = fts5FindFunctionMethod // sqlite3.c:234417:25: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 152)) = fts5RenameMethod // sqlite3.c:234418:25: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 160)) = fts5SavepointMethod // sqlite3.c:234419:25: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 168)) = fts5ReleaseMethod // sqlite3.c:234420:25: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 176)) = fts5RollbackToMethod // sqlite3.c:234421:25: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 184)) = fts5ShadowName // sqlite3.c:234422:25: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 8)) = fts5VocabCreateMethod // sqlite3.c:238983:25: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 16)) = fts5VocabConnectMethod // sqlite3.c:238984:25: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 24)) = fts5VocabBestIndexMethod // sqlite3.c:238985:25: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 32)) = fts5VocabDisconnectMethod // sqlite3.c:238986:25: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 40)) = fts5VocabDestroyMethod // sqlite3.c:238987:25: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 48)) = fts5VocabOpenMethod // sqlite3.c:238988:25: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 56)) = fts5VocabCloseMethod // sqlite3.c:238989:25: - *(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 64)) = fts5VocabFilterMethod // sqlite3.c:238990:25: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 72)) = fts5VocabNextMethod // sqlite3.c:238991:25: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 80)) = fts5VocabEofMethod // sqlite3.c:238992:25: - *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 88)) = fts5VocabColumnMethod // sqlite3.c:238993:25: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 96)) = fts5VocabRowidMethod // sqlite3.c:238994:25: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 8)) = geopolyCreate // sqlite3.c:201934:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 16)) = geopolyConnect // sqlite3.c:201935:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 24)) = geopolyBestIndex // sqlite3.c:201936:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 32)) = rtreeDisconnect // sqlite3.c:201937:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 40)) = rtreeDestroy // sqlite3.c:201938:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 48)) = rtreeOpen // sqlite3.c:201939:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 56)) = rtreeClose // sqlite3.c:201940:3: - *(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 64)) = geopolyFilter // sqlite3.c:201941:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 72)) = rtreeNext // sqlite3.c:201942:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 80)) = rtreeEof // sqlite3.c:201943:3: - *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 88)) = geopolyColumn // sqlite3.c:201944:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 96)) = rtreeRowid // sqlite3.c:201945:3: - *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 104)) = geopolyUpdate // sqlite3.c:201946:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 112)) = rtreeBeginTransaction // sqlite3.c:201947:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 120)) = rtreeEndTransaction // sqlite3.c:201948:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 128)) = rtreeEndTransaction // sqlite3.c:201949:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 136)) = rtreeEndTransaction // sqlite3.c:201950:3: - *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 144)) = geopolyFindFunction // sqlite3.c:201951:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 152)) = rtreeRename // sqlite3.c:201952:3: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 160)) = rtreeSavepoint // sqlite3.c:201953:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 184)) = rtreeShadowName // sqlite3.c:201956:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonEachModule)) + 16)) = jsonEachConnect // sqlite3.c:195676:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonEachModule)) + 24)) = jsonEachBestIndex // sqlite3.c:195677:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonEachModule)) + 32)) = jsonEachDisconnect // sqlite3.c:195678:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonEachModule)) + 48)) = jsonEachOpenEach // sqlite3.c:195680:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonEachModule)) + 56)) = jsonEachClose // sqlite3.c:195681:3: - *(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonEachModule)) + 64)) = jsonEachFilter // sqlite3.c:195682:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonEachModule)) + 72)) = jsonEachNext // sqlite3.c:195683:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonEachModule)) + 80)) = jsonEachEof // sqlite3.c:195684:3: - *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonEachModule)) + 88)) = jsonEachColumn // sqlite3.c:195685:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonEachModule)) + 96)) = jsonEachRowid // sqlite3.c:195686:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonTreeModule)) + 16)) = jsonEachConnect // sqlite3.c:195704:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonTreeModule)) + 24)) = jsonEachBestIndex // sqlite3.c:195705:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonTreeModule)) + 32)) = jsonEachDisconnect // sqlite3.c:195706:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonTreeModule)) + 48)) = jsonEachOpenTree // sqlite3.c:195708:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonTreeModule)) + 56)) = jsonEachClose // sqlite3.c:195709:3: - *(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonTreeModule)) + 64)) = jsonEachFilter // sqlite3.c:195710:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonTreeModule)) + 72)) = jsonEachNext // sqlite3.c:195711:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonTreeModule)) + 80)) = jsonEachEof // sqlite3.c:195712:3: - *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonTreeModule)) + 88)) = jsonEachColumn // sqlite3.c:195713:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonTreeModule)) + 96)) = jsonEachRowid // sqlite3.c:195714:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 8)) = memdbClose // sqlite3.c:49233:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 16)) = memdbRead // sqlite3.c:49234:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 24)) = memdbWrite // sqlite3.c:49235:3: - *(*func(*libc.TLS, uintptr, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 32)) = memdbTruncate // sqlite3.c:49236:3: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 40)) = memdbSync // sqlite3.c:49237:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 48)) = memdbFileSize // sqlite3.c:49238:3: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 56)) = memdbLock // sqlite3.c:49239:3: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 64)) = memdbLock // sqlite3.c:49240:3: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 80)) = memdbFileControl // sqlite3.c:49242:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 96)) = memdbDeviceCharacteristics // sqlite3.c:49244:3: - *(*func(*libc.TLS, uintptr, Sqlite3_int64, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 136)) = memdbFetch // sqlite3.c:49249:3: - *(*func(*libc.TLS, uintptr, Sqlite3_int64, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 144)) = memdbUnfetch // sqlite3.c:49250:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_vfs)) + 40)) = memdbOpen // sqlite3.c:49213:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_vfs)) + 56)) = memdbAccess // sqlite3.c:49215:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_vfs)) + 64)) = memdbFullPathname // sqlite3.c:49216:3: - *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_vfs)) + 72)) = memdbDlOpen // sqlite3.c:49217:3: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_vfs)) + 80)) = memdbDlError // sqlite3.c:49218:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_vfs)) + 88)) = memdbDlSym // sqlite3.c:49219:3: - *(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_vfs)) + 96)) = memdbDlClose // sqlite3.c:49220:3: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_vfs)) + 104)) = memdbRandomness // sqlite3.c:49221:3: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_vfs)) + 112)) = memdbSleep // sqlite3.c:49222:3: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_vfs)) + 128)) = memdbGetLastError // sqlite3.c:49224:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_vfs)) + 136)) = memdbCurrentTimeInt64 // sqlite3.c:49225:3: - *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&nfsIoFinder)) + 0)) = nfsIoFinderImpl // sqlite3.c:40280:1: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nfsIoMethods)) + 8)) = unixClose // sqlite3.c:40280:1: - *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nfsIoMethods)) + 16)) = unixRead // sqlite3.c:40280:1: - *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nfsIoMethods)) + 24)) = unixWrite // sqlite3.c:40280:1: - *(*func(*libc.TLS, uintptr, I64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nfsIoMethods)) + 32)) = unixTruncate // sqlite3.c:40280:1: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nfsIoMethods)) + 40)) = unixSync // sqlite3.c:40280:1: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nfsIoMethods)) + 48)) = unixFileSize // sqlite3.c:40280:1: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nfsIoMethods)) + 56)) = unixLock // sqlite3.c:40280:1: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nfsIoMethods)) + 64)) = nfsUnlock // sqlite3.c:40280:1: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nfsIoMethods)) + 72)) = unixCheckReservedLock // sqlite3.c:40280:1: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nfsIoMethods)) + 80)) = unixFileControl // sqlite3.c:40280:1: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nfsIoMethods)) + 88)) = unixSectorSize // sqlite3.c:40280:1: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nfsIoMethods)) + 96)) = unixDeviceCharacteristics // sqlite3.c:40280:1: - *(*func(*libc.TLS, uintptr, int32, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nfsIoMethods)) + 112)) = unixShmLock // sqlite3.c:40280:1: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&nfsIoMethods)) + 120)) = unixShmBarrier // sqlite3.c:40280:1: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nfsIoMethods)) + 128)) = unixShmUnmap // sqlite3.c:40280:1: - *(*func(*libc.TLS, uintptr, I64, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nfsIoMethods)) + 136)) = unixFetch // sqlite3.c:40280:1: - *(*func(*libc.TLS, uintptr, I64, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nfsIoMethods)) + 144)) = unixUnfetch // sqlite3.c:40280:1: - *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoFinder)) + 0)) = nolockIoFinderImpl // sqlite3.c:40192:1: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 8)) = nolockClose // sqlite3.c:40192:1: - *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 16)) = unixRead // sqlite3.c:40192:1: - *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 24)) = unixWrite // sqlite3.c:40192:1: - *(*func(*libc.TLS, uintptr, I64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 32)) = unixTruncate // sqlite3.c:40192:1: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 40)) = unixSync // sqlite3.c:40192:1: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 48)) = unixFileSize // sqlite3.c:40192:1: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 56)) = nolockLock // sqlite3.c:40192:1: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 64)) = nolockUnlock // sqlite3.c:40192:1: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 72)) = nolockCheckReservedLock // sqlite3.c:40192:1: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 80)) = unixFileControl // sqlite3.c:40192:1: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 88)) = unixSectorSize // sqlite3.c:40192:1: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 96)) = unixDeviceCharacteristics // sqlite3.c:40192:1: - *(*func(*libc.TLS, uintptr, int32, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 112)) = unixShmLock // sqlite3.c:40192:1: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 120)) = unixShmBarrier // sqlite3.c:40192:1: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 128)) = unixShmUnmap // sqlite3.c:40192:1: - *(*func(*libc.TLS, uintptr, I64, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 136)) = unixFetch // sqlite3.c:40192:1: - *(*func(*libc.TLS, uintptr, I64, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 144)) = unixUnfetch // sqlite3.c:40192:1: - *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoFinder)) + 0)) = posixIoFinderImpl // sqlite3.c:40182:1: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 8)) = unixClose // sqlite3.c:40182:1: - *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 16)) = unixRead // sqlite3.c:40182:1: - *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 24)) = unixWrite // sqlite3.c:40182:1: - *(*func(*libc.TLS, uintptr, I64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 32)) = unixTruncate // sqlite3.c:40182:1: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 40)) = unixSync // sqlite3.c:40182:1: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 48)) = unixFileSize // sqlite3.c:40182:1: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 56)) = unixLock // sqlite3.c:40182:1: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 64)) = unixUnlock // sqlite3.c:40182:1: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 72)) = unixCheckReservedLock // sqlite3.c:40182:1: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 80)) = unixFileControl // sqlite3.c:40182:1: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 88)) = unixSectorSize // sqlite3.c:40182:1: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 96)) = unixDeviceCharacteristics // sqlite3.c:40182:1: - *(*func(*libc.TLS, uintptr, int32, int32, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 104)) = unixShmMap // sqlite3.c:40182:1: - *(*func(*libc.TLS, uintptr, int32, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 112)) = unixShmLock // sqlite3.c:40182:1: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 120)) = unixShmBarrier // sqlite3.c:40182:1: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 128)) = unixShmUnmap // sqlite3.c:40182:1: - *(*func(*libc.TLS, uintptr, I64, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 136)) = unixFetch // sqlite3.c:40182:1: - *(*func(*libc.TLS, uintptr, I64, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 144)) = unixUnfetch // sqlite3.c:40182:1: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&pragmaVtabModule)) + 16)) = pragmaVtabConnect // sqlite3.c:133106:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&pragmaVtabModule)) + 24)) = pragmaVtabBestIndex // sqlite3.c:133107:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&pragmaVtabModule)) + 32)) = pragmaVtabDisconnect // sqlite3.c:133108:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&pragmaVtabModule)) + 48)) = pragmaVtabOpen // sqlite3.c:133110:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&pragmaVtabModule)) + 56)) = pragmaVtabClose // sqlite3.c:133111:3: - *(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&pragmaVtabModule)) + 64)) = pragmaVtabFilter // sqlite3.c:133112:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&pragmaVtabModule)) + 72)) = pragmaVtabNext // sqlite3.c:133113:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&pragmaVtabModule)) + 80)) = pragmaVtabEof // sqlite3.c:133114:3: - *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&pragmaVtabModule)) + 88)) = pragmaVtabColumn // sqlite3.c:133115:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&pragmaVtabModule)) + 96)) = pragmaVtabRowid // sqlite3.c:133116:3: - *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&proxyIoFinder)) + 0)) = proxyIoFinderImpl // sqlite3.c:40266:1: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&proxyIoMethods)) + 8)) = proxyClose // sqlite3.c:40266:1: - *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&proxyIoMethods)) + 16)) = unixRead // sqlite3.c:40266:1: - *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&proxyIoMethods)) + 24)) = unixWrite // sqlite3.c:40266:1: - *(*func(*libc.TLS, uintptr, I64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&proxyIoMethods)) + 32)) = unixTruncate // sqlite3.c:40266:1: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&proxyIoMethods)) + 40)) = unixSync // sqlite3.c:40266:1: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&proxyIoMethods)) + 48)) = unixFileSize // sqlite3.c:40266:1: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&proxyIoMethods)) + 56)) = proxyLock // sqlite3.c:40266:1: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&proxyIoMethods)) + 64)) = proxyUnlock // sqlite3.c:40266:1: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&proxyIoMethods)) + 72)) = proxyCheckReservedLock // sqlite3.c:40266:1: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&proxyIoMethods)) + 80)) = unixFileControl // sqlite3.c:40266:1: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&proxyIoMethods)) + 88)) = unixSectorSize // sqlite3.c:40266:1: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&proxyIoMethods)) + 96)) = unixDeviceCharacteristics // sqlite3.c:40266:1: - *(*func(*libc.TLS, uintptr, int32, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&proxyIoMethods)) + 112)) = unixShmLock // sqlite3.c:40266:1: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&proxyIoMethods)) + 120)) = unixShmBarrier // sqlite3.c:40266:1: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&proxyIoMethods)) + 128)) = unixShmUnmap // sqlite3.c:40266:1: - *(*func(*libc.TLS, uintptr, I64, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&proxyIoMethods)) + 136)) = unixFetch // sqlite3.c:40266:1: - *(*func(*libc.TLS, uintptr, I64, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&proxyIoMethods)) + 144)) = unixUnfetch // sqlite3.c:40266:1: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 8)) = rbuVfsClose // sqlite3.c:208631:5: - *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 16)) = rbuVfsRead // sqlite3.c:208632:5: - *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 24)) = rbuVfsWrite // sqlite3.c:208633:5: - *(*func(*libc.TLS, uintptr, Sqlite_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 32)) = rbuVfsTruncate // sqlite3.c:208634:5: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 40)) = rbuVfsSync // sqlite3.c:208635:5: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 48)) = rbuVfsFileSize // sqlite3.c:208636:5: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 56)) = rbuVfsLock // sqlite3.c:208637:5: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 64)) = rbuVfsUnlock // sqlite3.c:208638:5: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 72)) = rbuVfsCheckReservedLock // sqlite3.c:208639:5: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 80)) = rbuVfsFileControl // sqlite3.c:208640:5: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 88)) = rbuVfsSectorSize // sqlite3.c:208641:5: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 96)) = rbuVfsDeviceCharacteristics // sqlite3.c:208642:5: - *(*func(*libc.TLS, uintptr, int32, int32, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 104)) = rbuVfsShmMap // sqlite3.c:208643:5: - *(*func(*libc.TLS, uintptr, int32, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 112)) = rbuVfsShmLock // sqlite3.c:208644:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 120)) = rbuVfsShmBarrier // sqlite3.c:208645:5: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 128)) = rbuVfsShmUnmap // sqlite3.c:208646:5: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 8)) = rtreeCreate // sqlite3.c:199272:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 16)) = rtreeConnect // sqlite3.c:199273:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 24)) = rtreeBestIndex // sqlite3.c:199274:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 32)) = rtreeDisconnect // sqlite3.c:199275:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 40)) = rtreeDestroy // sqlite3.c:199276:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 48)) = rtreeOpen // sqlite3.c:199277:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 56)) = rtreeClose // sqlite3.c:199278:3: - *(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 64)) = rtreeFilter // sqlite3.c:199279:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 72)) = rtreeNext // sqlite3.c:199280:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 80)) = rtreeEof // sqlite3.c:199281:3: - *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 88)) = rtreeColumn // sqlite3.c:199282:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 96)) = rtreeRowid // sqlite3.c:199283:3: - *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 104)) = rtreeUpdate // sqlite3.c:199284:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 112)) = rtreeBeginTransaction // sqlite3.c:199285:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 120)) = rtreeEndTransaction // sqlite3.c:199286:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 128)) = rtreeEndTransaction // sqlite3.c:199287:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 136)) = rtreeEndTransaction // sqlite3.c:199288:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 152)) = rtreeRename // sqlite3.c:199290:3: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 160)) = rtreeSavepoint // sqlite3.c:199291:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 184)) = rtreeShadowName // sqlite3.c:199294:3: - *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 8)) = fts5ApiUserData // sqlite3.c:233859:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 16)) = fts5ApiColumnCount // sqlite3.c:233860:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 24)) = fts5ApiRowCount // sqlite3.c:233861:3: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 32)) = fts5ApiColumnTotalSize // sqlite3.c:233862:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 40)) = fts5ApiTokenize // sqlite3.c:233863:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 48)) = fts5ApiPhraseCount // sqlite3.c:233864:3: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 56)) = fts5ApiPhraseSize // sqlite3.c:233865:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 64)) = fts5ApiInstCount // sqlite3.c:233866:3: - *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 72)) = fts5ApiInst // sqlite3.c:233867:3: - *(*func(*libc.TLS, uintptr) Sqlite3_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 80)) = fts5ApiRowid // sqlite3.c:233868:3: - *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 88)) = fts5ApiColumnText // sqlite3.c:233869:3: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 96)) = fts5ApiColumnSize // sqlite3.c:233870:3: - *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 104)) = fts5ApiQueryPhrase // sqlite3.c:233871:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 112)) = fts5ApiSetAuxdata // sqlite3.c:233872:3: - *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 120)) = fts5ApiGetAuxdata // sqlite3.c:233873:3: - *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 128)) = fts5ApiPhraseFirst // sqlite3.c:233874:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 136)) = fts5ApiPhraseNext // sqlite3.c:233875:3: - *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 144)) = fts5ApiPhraseFirstColumn // sqlite3.c:233876:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 152)) = fts5ApiPhraseNextColumn // sqlite3.c:233877:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sMemJournalMethods)) + 8)) = memjrnlClose // sqlite3.c:100023:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sMemJournalMethods)) + 16)) = memjrnlRead // sqlite3.c:100024:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sMemJournalMethods)) + 24)) = memjrnlWrite // sqlite3.c:100025:3: - *(*func(*libc.TLS, uintptr, Sqlite_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sMemJournalMethods)) + 32)) = memjrnlTruncate // sqlite3.c:100026:3: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sMemJournalMethods)) + 40)) = memjrnlSync // sqlite3.c:100027:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sMemJournalMethods)) + 48)) = memjrnlFileSize // sqlite3.c:100028:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods1)) + 16)) = pcache1Init // sqlite3.c:52463:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods1)) + 24)) = pcache1Shutdown // sqlite3.c:52464:5: + *(*func(*libc.TLS, int32, int32, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods1)) + 32)) = pcache1Create // sqlite3.c:52465:5: + *(*func(*libc.TLS, uintptr, int32))(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods1)) + 40)) = pcache1Cachesize // sqlite3.c:52466:5: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods1)) + 48)) = pcache1Pagecount // sqlite3.c:52467:5: + *(*func(*libc.TLS, uintptr, uint32, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods1)) + 56)) = pcache1Fetch // sqlite3.c:52468:5: + *(*func(*libc.TLS, uintptr, uintptr, int32))(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods1)) + 64)) = pcache1Unpin // sqlite3.c:52469:5: + *(*func(*libc.TLS, uintptr, uintptr, uint32, uint32))(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods1)) + 72)) = pcache1Rekey // sqlite3.c:52470:5: + *(*func(*libc.TLS, uintptr, uint32))(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods1)) + 80)) = pcache1Truncate // sqlite3.c:52471:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods1)) + 88)) = pcache1Destroy // sqlite3.c:52472:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods1)) + 96)) = pcache1Shrink // sqlite3.c:52473:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&detach_func)) + 24)) = detachFunc // sqlite3.c:113431:5: + *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoFinder)) + 0)) = dotlockIoFinderImpl // sqlite3.c:40208:1: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 8)) = dotlockClose // sqlite3.c:40208:1: + *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 16)) = unixRead // sqlite3.c:40208:1: + *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 24)) = unixWrite // sqlite3.c:40208:1: + *(*func(*libc.TLS, uintptr, I64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 32)) = unixTruncate // sqlite3.c:40208:1: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 40)) = unixSync // sqlite3.c:40208:1: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 48)) = unixFileSize // sqlite3.c:40208:1: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 56)) = dotlockLock // sqlite3.c:40208:1: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 64)) = dotlockUnlock // sqlite3.c:40208:1: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 72)) = dotlockCheckReservedLock // sqlite3.c:40208:1: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 80)) = unixFileControl // sqlite3.c:40208:1: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 88)) = unixSectorSize // sqlite3.c:40208:1: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 96)) = unixDeviceCharacteristics // sqlite3.c:40208:1: + *(*func(*libc.TLS, uintptr, int32, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 112)) = unixShmLock // sqlite3.c:40208:1: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 120)) = unixShmBarrier // sqlite3.c:40208:1: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 128)) = unixShmUnmap // sqlite3.c:40208:1: + *(*func(*libc.TLS, uintptr, I64, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 136)) = unixFetch // sqlite3.c:40208:1: + *(*func(*libc.TLS, uintptr, I64, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 144)) = unixUnfetch // sqlite3.c:40208:1: + *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&flockIoFinder)) + 0)) = flockIoFinderImpl // sqlite3.c:40220:1: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&flockIoMethods)) + 8)) = flockClose // sqlite3.c:40220:1: + *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&flockIoMethods)) + 16)) = unixRead // sqlite3.c:40220:1: + *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&flockIoMethods)) + 24)) = unixWrite // sqlite3.c:40220:1: + *(*func(*libc.TLS, uintptr, I64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&flockIoMethods)) + 32)) = unixTruncate // sqlite3.c:40220:1: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&flockIoMethods)) + 40)) = unixSync // sqlite3.c:40220:1: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&flockIoMethods)) + 48)) = unixFileSize // sqlite3.c:40220:1: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&flockIoMethods)) + 56)) = flockLock // sqlite3.c:40220:1: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&flockIoMethods)) + 64)) = flockUnlock // sqlite3.c:40220:1: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&flockIoMethods)) + 72)) = flockCheckReservedLock // sqlite3.c:40220:1: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&flockIoMethods)) + 80)) = unixFileControl // sqlite3.c:40220:1: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&flockIoMethods)) + 88)) = unixSectorSize // sqlite3.c:40220:1: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&flockIoMethods)) + 96)) = unixDeviceCharacteristics // sqlite3.c:40220:1: + *(*func(*libc.TLS, uintptr, int32, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&flockIoMethods)) + 112)) = unixShmLock // sqlite3.c:40220:1: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&flockIoMethods)) + 120)) = unixShmBarrier // sqlite3.c:40220:1: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&flockIoMethods)) + 128)) = unixShmUnmap // sqlite3.c:40220:1: + *(*func(*libc.TLS, uintptr, I64, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&flockIoMethods)) + 136)) = unixFetch // sqlite3.c:40220:1: + *(*func(*libc.TLS, uintptr, I64, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&flockIoMethods)) + 144)) = unixUnfetch // sqlite3.c:40220:1: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 8)) = fts5CreateMethod // sqlite3.c:234457:25: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 16)) = fts5ConnectMethod // sqlite3.c:234458:25: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 24)) = fts5BestIndexMethod // sqlite3.c:234459:25: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 32)) = fts5DisconnectMethod // sqlite3.c:234460:25: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 40)) = fts5DestroyMethod // sqlite3.c:234461:25: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 48)) = fts5OpenMethod // sqlite3.c:234462:25: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 56)) = fts5CloseMethod // sqlite3.c:234463:25: + *(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 64)) = fts5FilterMethod // sqlite3.c:234464:25: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 72)) = fts5NextMethod // sqlite3.c:234465:25: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 80)) = fts5EofMethod // sqlite3.c:234466:25: + *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 88)) = fts5ColumnMethod // sqlite3.c:234467:25: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 96)) = fts5RowidMethod // sqlite3.c:234468:25: + *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 104)) = fts5UpdateMethod // sqlite3.c:234469:25: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 112)) = fts5BeginMethod // sqlite3.c:234470:25: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 120)) = fts5SyncMethod // sqlite3.c:234471:25: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 128)) = fts5CommitMethod // sqlite3.c:234472:25: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 136)) = fts5RollbackMethod // sqlite3.c:234473:25: + *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 144)) = fts5FindFunctionMethod // sqlite3.c:234474:25: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 152)) = fts5RenameMethod // sqlite3.c:234475:25: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 160)) = fts5SavepointMethod // sqlite3.c:234476:25: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 168)) = fts5ReleaseMethod // sqlite3.c:234477:25: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 176)) = fts5RollbackToMethod // sqlite3.c:234478:25: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 184)) = fts5ShadowName // sqlite3.c:234479:25: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 8)) = fts5VocabCreateMethod // sqlite3.c:239040:25: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 16)) = fts5VocabConnectMethod // sqlite3.c:239041:25: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 24)) = fts5VocabBestIndexMethod // sqlite3.c:239042:25: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 32)) = fts5VocabDisconnectMethod // sqlite3.c:239043:25: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 40)) = fts5VocabDestroyMethod // sqlite3.c:239044:25: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 48)) = fts5VocabOpenMethod // sqlite3.c:239045:25: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 56)) = fts5VocabCloseMethod // sqlite3.c:239046:25: + *(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 64)) = fts5VocabFilterMethod // sqlite3.c:239047:25: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 72)) = fts5VocabNextMethod // sqlite3.c:239048:25: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 80)) = fts5VocabEofMethod // sqlite3.c:239049:25: + *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 88)) = fts5VocabColumnMethod // sqlite3.c:239050:25: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 96)) = fts5VocabRowidMethod // sqlite3.c:239051:25: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 8)) = geopolyCreate // sqlite3.c:201991:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 16)) = geopolyConnect // sqlite3.c:201992:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 24)) = geopolyBestIndex // sqlite3.c:201993:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 32)) = rtreeDisconnect // sqlite3.c:201994:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 40)) = rtreeDestroy // sqlite3.c:201995:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 48)) = rtreeOpen // sqlite3.c:201996:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 56)) = rtreeClose // sqlite3.c:201997:3: + *(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 64)) = geopolyFilter // sqlite3.c:201998:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 72)) = rtreeNext // sqlite3.c:201999:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 80)) = rtreeEof // sqlite3.c:202000:3: + *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 88)) = geopolyColumn // sqlite3.c:202001:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 96)) = rtreeRowid // sqlite3.c:202002:3: + *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 104)) = geopolyUpdate // sqlite3.c:202003:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 112)) = rtreeBeginTransaction // sqlite3.c:202004:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 120)) = rtreeEndTransaction // sqlite3.c:202005:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 128)) = rtreeEndTransaction // sqlite3.c:202006:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 136)) = rtreeEndTransaction // sqlite3.c:202007:3: + *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 144)) = geopolyFindFunction // sqlite3.c:202008:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 152)) = rtreeRename // sqlite3.c:202009:3: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 160)) = rtreeSavepoint // sqlite3.c:202010:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 184)) = rtreeShadowName // sqlite3.c:202013:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonEachModule)) + 16)) = jsonEachConnect // sqlite3.c:195733:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonEachModule)) + 24)) = jsonEachBestIndex // sqlite3.c:195734:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonEachModule)) + 32)) = jsonEachDisconnect // sqlite3.c:195735:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonEachModule)) + 48)) = jsonEachOpenEach // sqlite3.c:195737:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonEachModule)) + 56)) = jsonEachClose // sqlite3.c:195738:3: + *(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonEachModule)) + 64)) = jsonEachFilter // sqlite3.c:195739:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonEachModule)) + 72)) = jsonEachNext // sqlite3.c:195740:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonEachModule)) + 80)) = jsonEachEof // sqlite3.c:195741:3: + *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonEachModule)) + 88)) = jsonEachColumn // sqlite3.c:195742:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonEachModule)) + 96)) = jsonEachRowid // sqlite3.c:195743:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonTreeModule)) + 16)) = jsonEachConnect // sqlite3.c:195761:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonTreeModule)) + 24)) = jsonEachBestIndex // sqlite3.c:195762:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonTreeModule)) + 32)) = jsonEachDisconnect // sqlite3.c:195763:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonTreeModule)) + 48)) = jsonEachOpenTree // sqlite3.c:195765:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonTreeModule)) + 56)) = jsonEachClose // sqlite3.c:195766:3: + *(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonTreeModule)) + 64)) = jsonEachFilter // sqlite3.c:195767:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonTreeModule)) + 72)) = jsonEachNext // sqlite3.c:195768:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonTreeModule)) + 80)) = jsonEachEof // sqlite3.c:195769:3: + *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonTreeModule)) + 88)) = jsonEachColumn // sqlite3.c:195770:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonTreeModule)) + 96)) = jsonEachRowid // sqlite3.c:195771:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 8)) = memdbClose // sqlite3.c:49243:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 16)) = memdbRead // sqlite3.c:49244:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 24)) = memdbWrite // sqlite3.c:49245:3: + *(*func(*libc.TLS, uintptr, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 32)) = memdbTruncate // sqlite3.c:49246:3: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 40)) = memdbSync // sqlite3.c:49247:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 48)) = memdbFileSize // sqlite3.c:49248:3: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 56)) = memdbLock // sqlite3.c:49249:3: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 64)) = memdbLock // sqlite3.c:49250:3: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 80)) = memdbFileControl // sqlite3.c:49252:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 96)) = memdbDeviceCharacteristics // sqlite3.c:49254:3: + *(*func(*libc.TLS, uintptr, Sqlite3_int64, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 136)) = memdbFetch // sqlite3.c:49259:3: + *(*func(*libc.TLS, uintptr, Sqlite3_int64, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 144)) = memdbUnfetch // sqlite3.c:49260:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_vfs)) + 40)) = memdbOpen // sqlite3.c:49223:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_vfs)) + 56)) = memdbAccess // sqlite3.c:49225:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_vfs)) + 64)) = memdbFullPathname // sqlite3.c:49226:3: + *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_vfs)) + 72)) = memdbDlOpen // sqlite3.c:49227:3: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_vfs)) + 80)) = memdbDlError // sqlite3.c:49228:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_vfs)) + 88)) = memdbDlSym // sqlite3.c:49229:3: + *(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_vfs)) + 96)) = memdbDlClose // sqlite3.c:49230:3: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_vfs)) + 104)) = memdbRandomness // sqlite3.c:49231:3: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_vfs)) + 112)) = memdbSleep // sqlite3.c:49232:3: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_vfs)) + 128)) = memdbGetLastError // sqlite3.c:49234:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_vfs)) + 136)) = memdbCurrentTimeInt64 // sqlite3.c:49235:3: + *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&nfsIoFinder)) + 0)) = nfsIoFinderImpl // sqlite3.c:40286:1: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nfsIoMethods)) + 8)) = unixClose // sqlite3.c:40286:1: + *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nfsIoMethods)) + 16)) = unixRead // sqlite3.c:40286:1: + *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nfsIoMethods)) + 24)) = unixWrite // sqlite3.c:40286:1: + *(*func(*libc.TLS, uintptr, I64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nfsIoMethods)) + 32)) = unixTruncate // sqlite3.c:40286:1: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nfsIoMethods)) + 40)) = unixSync // sqlite3.c:40286:1: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nfsIoMethods)) + 48)) = unixFileSize // sqlite3.c:40286:1: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nfsIoMethods)) + 56)) = unixLock // sqlite3.c:40286:1: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nfsIoMethods)) + 64)) = nfsUnlock // sqlite3.c:40286:1: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nfsIoMethods)) + 72)) = unixCheckReservedLock // sqlite3.c:40286:1: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nfsIoMethods)) + 80)) = unixFileControl // sqlite3.c:40286:1: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nfsIoMethods)) + 88)) = unixSectorSize // sqlite3.c:40286:1: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nfsIoMethods)) + 96)) = unixDeviceCharacteristics // sqlite3.c:40286:1: + *(*func(*libc.TLS, uintptr, int32, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nfsIoMethods)) + 112)) = unixShmLock // sqlite3.c:40286:1: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&nfsIoMethods)) + 120)) = unixShmBarrier // sqlite3.c:40286:1: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nfsIoMethods)) + 128)) = unixShmUnmap // sqlite3.c:40286:1: + *(*func(*libc.TLS, uintptr, I64, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nfsIoMethods)) + 136)) = unixFetch // sqlite3.c:40286:1: + *(*func(*libc.TLS, uintptr, I64, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nfsIoMethods)) + 144)) = unixUnfetch // sqlite3.c:40286:1: + *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoFinder)) + 0)) = nolockIoFinderImpl // sqlite3.c:40198:1: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 8)) = nolockClose // sqlite3.c:40198:1: + *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 16)) = unixRead // sqlite3.c:40198:1: + *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 24)) = unixWrite // sqlite3.c:40198:1: + *(*func(*libc.TLS, uintptr, I64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 32)) = unixTruncate // sqlite3.c:40198:1: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 40)) = unixSync // sqlite3.c:40198:1: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 48)) = unixFileSize // sqlite3.c:40198:1: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 56)) = nolockLock // sqlite3.c:40198:1: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 64)) = nolockUnlock // sqlite3.c:40198:1: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 72)) = nolockCheckReservedLock // sqlite3.c:40198:1: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 80)) = unixFileControl // sqlite3.c:40198:1: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 88)) = unixSectorSize // sqlite3.c:40198:1: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 96)) = unixDeviceCharacteristics // sqlite3.c:40198:1: + *(*func(*libc.TLS, uintptr, int32, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 112)) = unixShmLock // sqlite3.c:40198:1: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 120)) = unixShmBarrier // sqlite3.c:40198:1: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 128)) = unixShmUnmap // sqlite3.c:40198:1: + *(*func(*libc.TLS, uintptr, I64, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 136)) = unixFetch // sqlite3.c:40198:1: + *(*func(*libc.TLS, uintptr, I64, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 144)) = unixUnfetch // sqlite3.c:40198:1: + *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoFinder)) + 0)) = posixIoFinderImpl // sqlite3.c:40188:1: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 8)) = unixClose // sqlite3.c:40188:1: + *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 16)) = unixRead // sqlite3.c:40188:1: + *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 24)) = unixWrite // sqlite3.c:40188:1: + *(*func(*libc.TLS, uintptr, I64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 32)) = unixTruncate // sqlite3.c:40188:1: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 40)) = unixSync // sqlite3.c:40188:1: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 48)) = unixFileSize // sqlite3.c:40188:1: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 56)) = unixLock // sqlite3.c:40188:1: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 64)) = unixUnlock // sqlite3.c:40188:1: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 72)) = unixCheckReservedLock // sqlite3.c:40188:1: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 80)) = unixFileControl // sqlite3.c:40188:1: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 88)) = unixSectorSize // sqlite3.c:40188:1: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 96)) = unixDeviceCharacteristics // sqlite3.c:40188:1: + *(*func(*libc.TLS, uintptr, int32, int32, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 104)) = unixShmMap // sqlite3.c:40188:1: + *(*func(*libc.TLS, uintptr, int32, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 112)) = unixShmLock // sqlite3.c:40188:1: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 120)) = unixShmBarrier // sqlite3.c:40188:1: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 128)) = unixShmUnmap // sqlite3.c:40188:1: + *(*func(*libc.TLS, uintptr, I64, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 136)) = unixFetch // sqlite3.c:40188:1: + *(*func(*libc.TLS, uintptr, I64, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 144)) = unixUnfetch // sqlite3.c:40188:1: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&pragmaVtabModule)) + 16)) = pragmaVtabConnect // sqlite3.c:133119:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&pragmaVtabModule)) + 24)) = pragmaVtabBestIndex // sqlite3.c:133120:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&pragmaVtabModule)) + 32)) = pragmaVtabDisconnect // sqlite3.c:133121:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&pragmaVtabModule)) + 48)) = pragmaVtabOpen // sqlite3.c:133123:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&pragmaVtabModule)) + 56)) = pragmaVtabClose // sqlite3.c:133124:3: + *(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&pragmaVtabModule)) + 64)) = pragmaVtabFilter // sqlite3.c:133125:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&pragmaVtabModule)) + 72)) = pragmaVtabNext // sqlite3.c:133126:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&pragmaVtabModule)) + 80)) = pragmaVtabEof // sqlite3.c:133127:3: + *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&pragmaVtabModule)) + 88)) = pragmaVtabColumn // sqlite3.c:133128:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&pragmaVtabModule)) + 96)) = pragmaVtabRowid // sqlite3.c:133129:3: + *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&proxyIoFinder)) + 0)) = proxyIoFinderImpl // sqlite3.c:40272:1: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&proxyIoMethods)) + 8)) = proxyClose // sqlite3.c:40272:1: + *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&proxyIoMethods)) + 16)) = unixRead // sqlite3.c:40272:1: + *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&proxyIoMethods)) + 24)) = unixWrite // sqlite3.c:40272:1: + *(*func(*libc.TLS, uintptr, I64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&proxyIoMethods)) + 32)) = unixTruncate // sqlite3.c:40272:1: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&proxyIoMethods)) + 40)) = unixSync // sqlite3.c:40272:1: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&proxyIoMethods)) + 48)) = unixFileSize // sqlite3.c:40272:1: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&proxyIoMethods)) + 56)) = proxyLock // sqlite3.c:40272:1: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&proxyIoMethods)) + 64)) = proxyUnlock // sqlite3.c:40272:1: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&proxyIoMethods)) + 72)) = proxyCheckReservedLock // sqlite3.c:40272:1: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&proxyIoMethods)) + 80)) = unixFileControl // sqlite3.c:40272:1: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&proxyIoMethods)) + 88)) = unixSectorSize // sqlite3.c:40272:1: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&proxyIoMethods)) + 96)) = unixDeviceCharacteristics // sqlite3.c:40272:1: + *(*func(*libc.TLS, uintptr, int32, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&proxyIoMethods)) + 112)) = unixShmLock // sqlite3.c:40272:1: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&proxyIoMethods)) + 120)) = unixShmBarrier // sqlite3.c:40272:1: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&proxyIoMethods)) + 128)) = unixShmUnmap // sqlite3.c:40272:1: + *(*func(*libc.TLS, uintptr, I64, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&proxyIoMethods)) + 136)) = unixFetch // sqlite3.c:40272:1: + *(*func(*libc.TLS, uintptr, I64, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&proxyIoMethods)) + 144)) = unixUnfetch // sqlite3.c:40272:1: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 8)) = rbuVfsClose // sqlite3.c:208688:5: + *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 16)) = rbuVfsRead // sqlite3.c:208689:5: + *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 24)) = rbuVfsWrite // sqlite3.c:208690:5: + *(*func(*libc.TLS, uintptr, Sqlite_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 32)) = rbuVfsTruncate // sqlite3.c:208691:5: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 40)) = rbuVfsSync // sqlite3.c:208692:5: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 48)) = rbuVfsFileSize // sqlite3.c:208693:5: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 56)) = rbuVfsLock // sqlite3.c:208694:5: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 64)) = rbuVfsUnlock // sqlite3.c:208695:5: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 72)) = rbuVfsCheckReservedLock // sqlite3.c:208696:5: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 80)) = rbuVfsFileControl // sqlite3.c:208697:5: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 88)) = rbuVfsSectorSize // sqlite3.c:208698:5: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 96)) = rbuVfsDeviceCharacteristics // sqlite3.c:208699:5: + *(*func(*libc.TLS, uintptr, int32, int32, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 104)) = rbuVfsShmMap // sqlite3.c:208700:5: + *(*func(*libc.TLS, uintptr, int32, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 112)) = rbuVfsShmLock // sqlite3.c:208701:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 120)) = rbuVfsShmBarrier // sqlite3.c:208702:5: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 128)) = rbuVfsShmUnmap // sqlite3.c:208703:5: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 8)) = rtreeCreate // sqlite3.c:199329:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 16)) = rtreeConnect // sqlite3.c:199330:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 24)) = rtreeBestIndex // sqlite3.c:199331:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 32)) = rtreeDisconnect // sqlite3.c:199332:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 40)) = rtreeDestroy // sqlite3.c:199333:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 48)) = rtreeOpen // sqlite3.c:199334:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 56)) = rtreeClose // sqlite3.c:199335:3: + *(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 64)) = rtreeFilter // sqlite3.c:199336:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 72)) = rtreeNext // sqlite3.c:199337:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 80)) = rtreeEof // sqlite3.c:199338:3: + *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 88)) = rtreeColumn // sqlite3.c:199339:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 96)) = rtreeRowid // sqlite3.c:199340:3: + *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 104)) = rtreeUpdate // sqlite3.c:199341:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 112)) = rtreeBeginTransaction // sqlite3.c:199342:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 120)) = rtreeEndTransaction // sqlite3.c:199343:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 128)) = rtreeEndTransaction // sqlite3.c:199344:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 136)) = rtreeEndTransaction // sqlite3.c:199345:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 152)) = rtreeRename // sqlite3.c:199347:3: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 160)) = rtreeSavepoint // sqlite3.c:199348:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 184)) = rtreeShadowName // sqlite3.c:199351:3: + *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 8)) = fts5ApiUserData // sqlite3.c:233916:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 16)) = fts5ApiColumnCount // sqlite3.c:233917:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 24)) = fts5ApiRowCount // sqlite3.c:233918:3: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 32)) = fts5ApiColumnTotalSize // sqlite3.c:233919:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 40)) = fts5ApiTokenize // sqlite3.c:233920:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 48)) = fts5ApiPhraseCount // sqlite3.c:233921:3: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 56)) = fts5ApiPhraseSize // sqlite3.c:233922:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 64)) = fts5ApiInstCount // sqlite3.c:233923:3: + *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 72)) = fts5ApiInst // sqlite3.c:233924:3: + *(*func(*libc.TLS, uintptr) Sqlite3_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 80)) = fts5ApiRowid // sqlite3.c:233925:3: + *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 88)) = fts5ApiColumnText // sqlite3.c:233926:3: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 96)) = fts5ApiColumnSize // sqlite3.c:233927:3: + *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 104)) = fts5ApiQueryPhrase // sqlite3.c:233928:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 112)) = fts5ApiSetAuxdata // sqlite3.c:233929:3: + *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 120)) = fts5ApiGetAuxdata // sqlite3.c:233930:3: + *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 128)) = fts5ApiPhraseFirst // sqlite3.c:233931:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 136)) = fts5ApiPhraseNext // sqlite3.c:233932:3: + *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 144)) = fts5ApiPhraseFirstColumn // sqlite3.c:233933:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 152)) = fts5ApiPhraseNextColumn // sqlite3.c:233934:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sMemJournalMethods)) + 8)) = memjrnlClose // sqlite3.c:100036:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sMemJournalMethods)) + 16)) = memjrnlRead // sqlite3.c:100037:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sMemJournalMethods)) + 24)) = memjrnlWrite // sqlite3.c:100038:3: + *(*func(*libc.TLS, uintptr, Sqlite_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sMemJournalMethods)) + 32)) = memjrnlTruncate // sqlite3.c:100039:3: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sMemJournalMethods)) + 40)) = memjrnlSync // sqlite3.c:100040:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sMemJournalMethods)) + 48)) = memjrnlFileSize // sqlite3.c:100041:3: *(*func(*libc.TLS) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sMutex)) + 0)) = noopMutexInit // sqlite3.c:27532:5: *(*func(*libc.TLS) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sMutex)) + 8)) = noopMutexEnd // sqlite3.c:27533:5: *(*func(*libc.TLS, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sMutex)) + 16)) = noopMutexAlloc // sqlite3.c:27534:5: @@ -211075,288 +211106,288 @@ func init() { *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sMutex)) + 32)) = noopMutexEnter // sqlite3.c:27536:5: *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sMutex)) + 40)) = noopMutexTry // sqlite3.c:27537:5: *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sMutex)) + 48)) = noopMutexLeave // sqlite3.c:27538:5: - *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 0)) = Xsqlite3_aggregate_context // sqlite3.c:129019:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 8)) = Xsqlite3_aggregate_count // sqlite3.c:129021:3: - *(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 16)) = Xsqlite3_bind_blob // sqlite3.c:129025:3: - *(*func(*libc.TLS, uintptr, int32, float64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 24)) = Xsqlite3_bind_double // sqlite3.c:129026:3: - *(*func(*libc.TLS, uintptr, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 32)) = Xsqlite3_bind_int // sqlite3.c:129027:3: - *(*func(*libc.TLS, uintptr, int32, Sqlite_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 40)) = Xsqlite3_bind_int64 // sqlite3.c:129028:3: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 48)) = Xsqlite3_bind_null // sqlite3.c:129029:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 56)) = Xsqlite3_bind_parameter_count // sqlite3.c:129030:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 64)) = Xsqlite3_bind_parameter_index // sqlite3.c:129031:3: - *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 72)) = Xsqlite3_bind_parameter_name // sqlite3.c:129032:3: - *(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 80)) = Xsqlite3_bind_text // sqlite3.c:129033:3: - *(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 88)) = Xsqlite3_bind_text16 // sqlite3.c:129034:3: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 96)) = Xsqlite3_bind_value // sqlite3.c:129035:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 104)) = Xsqlite3_busy_handler // sqlite3.c:129036:3: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 112)) = Xsqlite3_busy_timeout // sqlite3.c:129037:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 120)) = Xsqlite3_changes // sqlite3.c:129038:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 128)) = Xsqlite3_close // sqlite3.c:129039:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 136)) = Xsqlite3_collation_needed // sqlite3.c:129040:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 144)) = Xsqlite3_collation_needed16 // sqlite3.c:129041:3: - *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 152)) = Xsqlite3_column_blob // sqlite3.c:129042:3: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 160)) = Xsqlite3_column_bytes // sqlite3.c:129043:3: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 168)) = Xsqlite3_column_bytes16 // sqlite3.c:129044:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 176)) = Xsqlite3_column_count // sqlite3.c:129045:3: - *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 184)) = Xsqlite3_column_database_name // sqlite3.c:129046:3: - *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 192)) = Xsqlite3_column_database_name16 // sqlite3.c:129047:3: - *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 200)) = Xsqlite3_column_decltype // sqlite3.c:129048:3: - *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 208)) = Xsqlite3_column_decltype16 // sqlite3.c:129049:3: - *(*func(*libc.TLS, uintptr, int32) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 216)) = Xsqlite3_column_double // sqlite3.c:129050:3: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 224)) = Xsqlite3_column_int // sqlite3.c:129051:3: - *(*func(*libc.TLS, uintptr, int32) Sqlite_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 232)) = Xsqlite3_column_int64 // sqlite3.c:129052:3: - *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 240)) = Xsqlite3_column_name // sqlite3.c:129053:3: - *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 248)) = Xsqlite3_column_name16 // sqlite3.c:129054:3: - *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 256)) = Xsqlite3_column_origin_name // sqlite3.c:129055:3: - *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 264)) = Xsqlite3_column_origin_name16 // sqlite3.c:129056:3: - *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 272)) = Xsqlite3_column_table_name // sqlite3.c:129057:3: - *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 280)) = Xsqlite3_column_table_name16 // sqlite3.c:129058:3: - *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 288)) = Xsqlite3_column_text // sqlite3.c:129059:3: - *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 296)) = Xsqlite3_column_text16 // sqlite3.c:129060:3: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 304)) = Xsqlite3_column_type // sqlite3.c:129061:3: - *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 312)) = Xsqlite3_column_value // sqlite3.c:129062:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 320)) = Xsqlite3_commit_hook // sqlite3.c:129063:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 328)) = Xsqlite3_complete // sqlite3.c:129064:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 336)) = Xsqlite3_complete16 // sqlite3.c:129065:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 344)) = Xsqlite3_create_collation // sqlite3.c:129066:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 352)) = Xsqlite3_create_collation16 // sqlite3.c:129067:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, int32, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 360)) = Xsqlite3_create_function // sqlite3.c:129068:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, int32, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 368)) = Xsqlite3_create_function16 // sqlite3.c:129069:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 376)) = Xsqlite3_create_module // sqlite3.c:129070:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 384)) = Xsqlite3_data_count // sqlite3.c:129071:3: - *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 392)) = Xsqlite3_db_handle // sqlite3.c:129072:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 400)) = Xsqlite3_declare_vtab // sqlite3.c:129073:3: - *(*func(*libc.TLS, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 408)) = Xsqlite3_enable_shared_cache // sqlite3.c:129074:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 416)) = Xsqlite3_errcode // sqlite3.c:129075:3: - *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 424)) = Xsqlite3_errmsg // sqlite3.c:129076:3: - *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 432)) = Xsqlite3_errmsg16 // sqlite3.c:129077:3: - *(*func(*libc.TLS, uintptr, uintptr, Sqlite3_callback, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 440)) = Xsqlite3_exec // sqlite3.c:129078:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 448)) = Xsqlite3_expired // sqlite3.c:129080:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 456)) = Xsqlite3_finalize // sqlite3.c:129084:3: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 464)) = Xsqlite3_free // sqlite3.c:129085:3: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 472)) = Xsqlite3_free_table // sqlite3.c:129086:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 480)) = Xsqlite3_get_autocommit // sqlite3.c:129087:3: - *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 488)) = Xsqlite3_get_auxdata // sqlite3.c:129088:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 496)) = Xsqlite3_get_table // sqlite3.c:129089:3: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 512)) = Xsqlite3_interrupt // sqlite3.c:129091:3: - *(*func(*libc.TLS, uintptr) Sqlite3_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 520)) = Xsqlite3_last_insert_rowid // sqlite3.c:129092:3: - *(*func(*libc.TLS) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 528)) = Xsqlite3_libversion // sqlite3.c:129093:3: - *(*func(*libc.TLS) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 536)) = Xsqlite3_libversion_number // sqlite3.c:129094:3: - *(*func(*libc.TLS, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 544)) = Xsqlite3_malloc // sqlite3.c:129095:3: - *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 552)) = Xsqlite3_mprintf // sqlite3.c:129096:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 560)) = Xsqlite3_open // sqlite3.c:129097:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 568)) = Xsqlite3_open16 // sqlite3.c:129098:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 576)) = Xsqlite3_prepare // sqlite3.c:129099:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 584)) = Xsqlite3_prepare16 // sqlite3.c:129100:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 592)) = Xsqlite3_profile // sqlite3.c:129101:3: - *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 600)) = Xsqlite3_progress_handler // sqlite3.c:129102:3: - *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 608)) = Xsqlite3_realloc // sqlite3.c:129103:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 616)) = Xsqlite3_reset // sqlite3.c:129104:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 624)) = Xsqlite3_result_blob // sqlite3.c:129105:3: - *(*func(*libc.TLS, uintptr, float64))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 632)) = Xsqlite3_result_double // sqlite3.c:129106:3: - *(*func(*libc.TLS, uintptr, uintptr, int32))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 640)) = Xsqlite3_result_error // sqlite3.c:129107:3: - *(*func(*libc.TLS, uintptr, uintptr, int32))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 648)) = Xsqlite3_result_error16 // sqlite3.c:129108:3: - *(*func(*libc.TLS, uintptr, int32))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 656)) = Xsqlite3_result_int // sqlite3.c:129109:3: - *(*func(*libc.TLS, uintptr, I64))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 664)) = Xsqlite3_result_int64 // sqlite3.c:129110:3: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 672)) = Xsqlite3_result_null // sqlite3.c:129111:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 680)) = Xsqlite3_result_text // sqlite3.c:129112:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 688)) = Xsqlite3_result_text16 // sqlite3.c:129113:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 696)) = Xsqlite3_result_text16be // sqlite3.c:129114:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 704)) = Xsqlite3_result_text16le // sqlite3.c:129115:3: - *(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 712)) = Xsqlite3_result_value // sqlite3.c:129116:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 720)) = Xsqlite3_rollback_hook // sqlite3.c:129117:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 728)) = Xsqlite3_set_authorizer // sqlite3.c:129118:3: - *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 736)) = Xsqlite3_set_auxdata // sqlite3.c:129119:3: - *(*func(*libc.TLS, int32, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 744)) = Xsqlite3_snprintf // sqlite3.c:129120:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 752)) = Xsqlite3_step // sqlite3.c:129121:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr, uintptr, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 760)) = Xsqlite3_table_column_metadata // sqlite3.c:129122:3: - *(*func(*libc.TLS))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 768)) = Xsqlite3_thread_cleanup // sqlite3.c:129124:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 776)) = Xsqlite3_total_changes // sqlite3.c:129128:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 784)) = Xsqlite3_trace // sqlite3.c:129129:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 792)) = Xsqlite3_transfer_bindings // sqlite3.c:129131:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 800)) = Xsqlite3_update_hook // sqlite3.c:129135:3: - *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 808)) = Xsqlite3_user_data // sqlite3.c:129136:3: - *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 816)) = Xsqlite3_value_blob // sqlite3.c:129137:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 824)) = Xsqlite3_value_bytes // sqlite3.c:129138:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 832)) = Xsqlite3_value_bytes16 // sqlite3.c:129139:3: - *(*func(*libc.TLS, uintptr) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 840)) = Xsqlite3_value_double // sqlite3.c:129140:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 848)) = Xsqlite3_value_int // sqlite3.c:129141:3: - *(*func(*libc.TLS, uintptr) Sqlite_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 856)) = Xsqlite3_value_int64 // sqlite3.c:129142:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 864)) = Xsqlite3_value_numeric_type // sqlite3.c:129143:3: - *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 872)) = Xsqlite3_value_text // sqlite3.c:129144:3: - *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 880)) = Xsqlite3_value_text16 // sqlite3.c:129145:3: - *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 888)) = Xsqlite3_value_text16be // sqlite3.c:129146:3: - *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 896)) = Xsqlite3_value_text16le // sqlite3.c:129147:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 904)) = Xsqlite3_value_type // sqlite3.c:129148:3: - *(*func(*libc.TLS, uintptr, Va_list) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 912)) = Xsqlite3_vmprintf // sqlite3.c:129149:3: - *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 920)) = Xsqlite3_overload_function // sqlite3.c:129158:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 928)) = Xsqlite3_prepare_v2 // sqlite3.c:129163:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 936)) = Xsqlite3_prepare16_v2 // sqlite3.c:129164:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 944)) = Xsqlite3_clear_bindings // sqlite3.c:129165:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 952)) = Xsqlite3_create_module_v2 // sqlite3.c:129170:3: - *(*func(*libc.TLS, uintptr, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 960)) = Xsqlite3_bind_zeroblob // sqlite3.c:129175:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 968)) = Xsqlite3_blob_bytes // sqlite3.c:129176:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 976)) = Xsqlite3_blob_close // sqlite3.c:129177:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr, Sqlite_int64, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 984)) = Xsqlite3_blob_open // sqlite3.c:129178:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 992)) = Xsqlite3_blob_read // sqlite3.c:129179:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1000)) = Xsqlite3_blob_write // sqlite3.c:129180:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1008)) = Xsqlite3_create_collation_v2 // sqlite3.c:129181:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1016)) = Xsqlite3_file_control // sqlite3.c:129182:3: - *(*func(*libc.TLS, int32) Sqlite3_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1024)) = Xsqlite3_memory_highwater // sqlite3.c:129183:3: - *(*func(*libc.TLS) Sqlite3_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1032)) = Xsqlite3_memory_used // sqlite3.c:129184:3: - *(*func(*libc.TLS, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1040)) = Xsqlite3_mutex_alloc // sqlite3.c:129192:3: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1048)) = Xsqlite3_mutex_enter // sqlite3.c:129193:3: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1056)) = Xsqlite3_mutex_free // sqlite3.c:129194:3: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1064)) = Xsqlite3_mutex_leave // sqlite3.c:129195:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1072)) = Xsqlite3_mutex_try // sqlite3.c:129196:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1080)) = Xsqlite3_open_v2 // sqlite3.c:129198:3: - *(*func(*libc.TLS, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1088)) = Xsqlite3_release_memory // sqlite3.c:129199:3: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1096)) = Xsqlite3_result_error_nomem // sqlite3.c:129200:3: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1104)) = Xsqlite3_result_error_toobig // sqlite3.c:129201:3: - *(*func(*libc.TLS, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1112)) = Xsqlite3_sleep // sqlite3.c:129202:3: - *(*func(*libc.TLS, int32))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1120)) = Xsqlite3_soft_heap_limit // sqlite3.c:129203:3: - *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1128)) = Xsqlite3_vfs_find // sqlite3.c:129204:3: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1136)) = Xsqlite3_vfs_register // sqlite3.c:129205:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1144)) = Xsqlite3_vfs_unregister // sqlite3.c:129206:3: - *(*func(*libc.TLS) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1152)) = Xsqlite3_threadsafe // sqlite3.c:129211:3: - *(*func(*libc.TLS, uintptr, int32))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1160)) = Xsqlite3_result_zeroblob // sqlite3.c:129212:3: - *(*func(*libc.TLS, uintptr, int32))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1168)) = Xsqlite3_result_error_code // sqlite3.c:129213:3: - *(*func(*libc.TLS, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1176)) = Xsqlite3_test_control // sqlite3.c:129214:3: - *(*func(*libc.TLS, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1184)) = Xsqlite3_randomness // sqlite3.c:129215:3: - *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1192)) = Xsqlite3_context_db_handle // sqlite3.c:129216:3: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1200)) = Xsqlite3_extended_result_codes // sqlite3.c:129221:3: - *(*func(*libc.TLS, uintptr, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1208)) = Xsqlite3_limit // sqlite3.c:129222:3: - *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1216)) = Xsqlite3_next_stmt // sqlite3.c:129223:3: - *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1224)) = Xsqlite3_sql // sqlite3.c:129224:3: - *(*func(*libc.TLS, int32, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1232)) = Xsqlite3_status // sqlite3.c:129225:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1240)) = Xsqlite3_backup_finish // sqlite3.c:129230:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1248)) = Xsqlite3_backup_init // sqlite3.c:129231:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1256)) = Xsqlite3_backup_pagecount // sqlite3.c:129232:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1264)) = Xsqlite3_backup_remaining // sqlite3.c:129233:3: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1272)) = Xsqlite3_backup_step // sqlite3.c:129234:3: - *(*func(*libc.TLS, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1280)) = Xsqlite3_compileoption_get // sqlite3.c:129236:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1288)) = Xsqlite3_compileoption_used // sqlite3.c:129237:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, int32, uintptr, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1296)) = Xsqlite3_create_function_v2 // sqlite3.c:129242:3: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1304)) = Xsqlite3_db_config // sqlite3.c:129243:3: - *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1312)) = Xsqlite3_db_mutex // sqlite3.c:129244:3: - *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1320)) = Xsqlite3_db_status // sqlite3.c:129245:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1328)) = Xsqlite3_extended_errcode // sqlite3.c:129246:3: - *(*func(*libc.TLS, int32, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1336)) = Xsqlite3_log // sqlite3.c:129247:3: - *(*func(*libc.TLS, Sqlite3_int64) Sqlite3_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1344)) = Xsqlite3_soft_heap_limit64 // sqlite3.c:129248:3: - *(*func(*libc.TLS) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1352)) = Xsqlite3_sourceid // sqlite3.c:129249:3: - *(*func(*libc.TLS, uintptr, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1360)) = Xsqlite3_stmt_status // sqlite3.c:129250:3: - *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1368)) = Xsqlite3_strnicmp // sqlite3.c:129251:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1376)) = Xsqlite3_unlock_notify // sqlite3.c:129253:3: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1384)) = Xsqlite3_wal_autocheckpoint // sqlite3.c:129258:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1392)) = Xsqlite3_wal_checkpoint // sqlite3.c:129259:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1400)) = Xsqlite3_wal_hook // sqlite3.c:129260:3: - *(*func(*libc.TLS, uintptr, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1408)) = Xsqlite3_blob_reopen // sqlite3.c:129266:3: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1416)) = Xsqlite3_vtab_config // sqlite3.c:129267:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1424)) = Xsqlite3_vtab_on_conflict // sqlite3.c:129268:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1432)) = Xsqlite3_close_v2 // sqlite3.c:129269:3: - *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1440)) = Xsqlite3_db_filename // sqlite3.c:129270:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1448)) = Xsqlite3_db_readonly // sqlite3.c:129271:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1456)) = Xsqlite3_db_release_memory // sqlite3.c:129272:3: - *(*func(*libc.TLS, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1464)) = Xsqlite3_errstr // sqlite3.c:129273:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1472)) = Xsqlite3_stmt_busy // sqlite3.c:129274:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1480)) = Xsqlite3_stmt_readonly // sqlite3.c:129275:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1488)) = Xsqlite3_stricmp // sqlite3.c:129276:3: - *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1496)) = Xsqlite3_uri_boolean // sqlite3.c:129277:3: - *(*func(*libc.TLS, uintptr, uintptr, Sqlite3_int64) Sqlite3_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1504)) = Xsqlite3_uri_int64 // sqlite3.c:129278:3: - *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1512)) = Xsqlite3_uri_parameter // sqlite3.c:129279:3: - *(*func(*libc.TLS, int32, uintptr, uintptr, Va_list) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1520)) = Xsqlite3_vsnprintf // sqlite3.c:129280:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1528)) = Xsqlite3_wal_checkpoint_v2 // sqlite3.c:129281:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1536)) = Xsqlite3_auto_extension // sqlite3.c:129283:3: - *(*func(*libc.TLS, uintptr, int32, uintptr, Sqlite3_uint64, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1544)) = Xsqlite3_bind_blob64 // sqlite3.c:129284:3: - *(*func(*libc.TLS, uintptr, int32, uintptr, Sqlite3_uint64, uintptr, uint8) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1552)) = Xsqlite3_bind_text64 // sqlite3.c:129285:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1560)) = Xsqlite3_cancel_auto_extension // sqlite3.c:129286:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1568)) = Xsqlite3_load_extension // sqlite3.c:129287:3: - *(*func(*libc.TLS, Sqlite3_uint64) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1576)) = Xsqlite3_malloc64 // sqlite3.c:129288:3: - *(*func(*libc.TLS, uintptr) Sqlite3_uint64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1584)) = Xsqlite3_msize // sqlite3.c:129289:3: - *(*func(*libc.TLS, uintptr, Sqlite3_uint64) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1592)) = Xsqlite3_realloc64 // sqlite3.c:129290:3: - *(*func(*libc.TLS))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1600)) = Xsqlite3_reset_auto_extension // sqlite3.c:129291:3: - *(*func(*libc.TLS, uintptr, uintptr, Sqlite3_uint64, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1608)) = Xsqlite3_result_blob64 // sqlite3.c:129292:3: - *(*func(*libc.TLS, uintptr, uintptr, Sqlite3_uint64, uintptr, uint8))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1616)) = Xsqlite3_result_text64 // sqlite3.c:129293:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1624)) = Xsqlite3_strglob // sqlite3.c:129294:3: + *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 0)) = Xsqlite3_aggregate_context // sqlite3.c:129032:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 8)) = Xsqlite3_aggregate_count // sqlite3.c:129034:3: + *(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 16)) = Xsqlite3_bind_blob // sqlite3.c:129038:3: + *(*func(*libc.TLS, uintptr, int32, float64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 24)) = Xsqlite3_bind_double // sqlite3.c:129039:3: + *(*func(*libc.TLS, uintptr, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 32)) = Xsqlite3_bind_int // sqlite3.c:129040:3: + *(*func(*libc.TLS, uintptr, int32, Sqlite_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 40)) = Xsqlite3_bind_int64 // sqlite3.c:129041:3: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 48)) = Xsqlite3_bind_null // sqlite3.c:129042:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 56)) = Xsqlite3_bind_parameter_count // sqlite3.c:129043:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 64)) = Xsqlite3_bind_parameter_index // sqlite3.c:129044:3: + *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 72)) = Xsqlite3_bind_parameter_name // sqlite3.c:129045:3: + *(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 80)) = Xsqlite3_bind_text // sqlite3.c:129046:3: + *(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 88)) = Xsqlite3_bind_text16 // sqlite3.c:129047:3: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 96)) = Xsqlite3_bind_value // sqlite3.c:129048:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 104)) = Xsqlite3_busy_handler // sqlite3.c:129049:3: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 112)) = Xsqlite3_busy_timeout // sqlite3.c:129050:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 120)) = Xsqlite3_changes // sqlite3.c:129051:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 128)) = Xsqlite3_close // sqlite3.c:129052:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 136)) = Xsqlite3_collation_needed // sqlite3.c:129053:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 144)) = Xsqlite3_collation_needed16 // sqlite3.c:129054:3: + *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 152)) = Xsqlite3_column_blob // sqlite3.c:129055:3: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 160)) = Xsqlite3_column_bytes // sqlite3.c:129056:3: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 168)) = Xsqlite3_column_bytes16 // sqlite3.c:129057:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 176)) = Xsqlite3_column_count // sqlite3.c:129058:3: + *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 184)) = Xsqlite3_column_database_name // sqlite3.c:129059:3: + *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 192)) = Xsqlite3_column_database_name16 // sqlite3.c:129060:3: + *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 200)) = Xsqlite3_column_decltype // sqlite3.c:129061:3: + *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 208)) = Xsqlite3_column_decltype16 // sqlite3.c:129062:3: + *(*func(*libc.TLS, uintptr, int32) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 216)) = Xsqlite3_column_double // sqlite3.c:129063:3: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 224)) = Xsqlite3_column_int // sqlite3.c:129064:3: + *(*func(*libc.TLS, uintptr, int32) Sqlite_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 232)) = Xsqlite3_column_int64 // sqlite3.c:129065:3: + *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 240)) = Xsqlite3_column_name // sqlite3.c:129066:3: + *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 248)) = Xsqlite3_column_name16 // sqlite3.c:129067:3: + *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 256)) = Xsqlite3_column_origin_name // sqlite3.c:129068:3: + *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 264)) = Xsqlite3_column_origin_name16 // sqlite3.c:129069:3: + *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 272)) = Xsqlite3_column_table_name // sqlite3.c:129070:3: + *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 280)) = Xsqlite3_column_table_name16 // sqlite3.c:129071:3: + *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 288)) = Xsqlite3_column_text // sqlite3.c:129072:3: + *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 296)) = Xsqlite3_column_text16 // sqlite3.c:129073:3: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 304)) = Xsqlite3_column_type // sqlite3.c:129074:3: + *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 312)) = Xsqlite3_column_value // sqlite3.c:129075:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 320)) = Xsqlite3_commit_hook // sqlite3.c:129076:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 328)) = Xsqlite3_complete // sqlite3.c:129077:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 336)) = Xsqlite3_complete16 // sqlite3.c:129078:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 344)) = Xsqlite3_create_collation // sqlite3.c:129079:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 352)) = Xsqlite3_create_collation16 // sqlite3.c:129080:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, int32, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 360)) = Xsqlite3_create_function // sqlite3.c:129081:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, int32, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 368)) = Xsqlite3_create_function16 // sqlite3.c:129082:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 376)) = Xsqlite3_create_module // sqlite3.c:129083:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 384)) = Xsqlite3_data_count // sqlite3.c:129084:3: + *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 392)) = Xsqlite3_db_handle // sqlite3.c:129085:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 400)) = Xsqlite3_declare_vtab // sqlite3.c:129086:3: + *(*func(*libc.TLS, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 408)) = Xsqlite3_enable_shared_cache // sqlite3.c:129087:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 416)) = Xsqlite3_errcode // sqlite3.c:129088:3: + *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 424)) = Xsqlite3_errmsg // sqlite3.c:129089:3: + *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 432)) = Xsqlite3_errmsg16 // sqlite3.c:129090:3: + *(*func(*libc.TLS, uintptr, uintptr, Sqlite3_callback, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 440)) = Xsqlite3_exec // sqlite3.c:129091:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 448)) = Xsqlite3_expired // sqlite3.c:129093:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 456)) = Xsqlite3_finalize // sqlite3.c:129097:3: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 464)) = Xsqlite3_free // sqlite3.c:129098:3: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 472)) = Xsqlite3_free_table // sqlite3.c:129099:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 480)) = Xsqlite3_get_autocommit // sqlite3.c:129100:3: + *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 488)) = Xsqlite3_get_auxdata // sqlite3.c:129101:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 496)) = Xsqlite3_get_table // sqlite3.c:129102:3: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 512)) = Xsqlite3_interrupt // sqlite3.c:129104:3: + *(*func(*libc.TLS, uintptr) Sqlite3_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 520)) = Xsqlite3_last_insert_rowid // sqlite3.c:129105:3: + *(*func(*libc.TLS) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 528)) = Xsqlite3_libversion // sqlite3.c:129106:3: + *(*func(*libc.TLS) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 536)) = Xsqlite3_libversion_number // sqlite3.c:129107:3: + *(*func(*libc.TLS, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 544)) = Xsqlite3_malloc // sqlite3.c:129108:3: + *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 552)) = Xsqlite3_mprintf // sqlite3.c:129109:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 560)) = Xsqlite3_open // sqlite3.c:129110:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 568)) = Xsqlite3_open16 // sqlite3.c:129111:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 576)) = Xsqlite3_prepare // sqlite3.c:129112:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 584)) = Xsqlite3_prepare16 // sqlite3.c:129113:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 592)) = Xsqlite3_profile // sqlite3.c:129114:3: + *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 600)) = Xsqlite3_progress_handler // sqlite3.c:129115:3: + *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 608)) = Xsqlite3_realloc // sqlite3.c:129116:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 616)) = Xsqlite3_reset // sqlite3.c:129117:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 624)) = Xsqlite3_result_blob // sqlite3.c:129118:3: + *(*func(*libc.TLS, uintptr, float64))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 632)) = Xsqlite3_result_double // sqlite3.c:129119:3: + *(*func(*libc.TLS, uintptr, uintptr, int32))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 640)) = Xsqlite3_result_error // sqlite3.c:129120:3: + *(*func(*libc.TLS, uintptr, uintptr, int32))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 648)) = Xsqlite3_result_error16 // sqlite3.c:129121:3: + *(*func(*libc.TLS, uintptr, int32))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 656)) = Xsqlite3_result_int // sqlite3.c:129122:3: + *(*func(*libc.TLS, uintptr, I64))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 664)) = Xsqlite3_result_int64 // sqlite3.c:129123:3: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 672)) = Xsqlite3_result_null // sqlite3.c:129124:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 680)) = Xsqlite3_result_text // sqlite3.c:129125:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 688)) = Xsqlite3_result_text16 // sqlite3.c:129126:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 696)) = Xsqlite3_result_text16be // sqlite3.c:129127:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 704)) = Xsqlite3_result_text16le // sqlite3.c:129128:3: + *(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 712)) = Xsqlite3_result_value // sqlite3.c:129129:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 720)) = Xsqlite3_rollback_hook // sqlite3.c:129130:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 728)) = Xsqlite3_set_authorizer // sqlite3.c:129131:3: + *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 736)) = Xsqlite3_set_auxdata // sqlite3.c:129132:3: + *(*func(*libc.TLS, int32, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 744)) = Xsqlite3_snprintf // sqlite3.c:129133:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 752)) = Xsqlite3_step // sqlite3.c:129134:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr, uintptr, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 760)) = Xsqlite3_table_column_metadata // sqlite3.c:129135:3: + *(*func(*libc.TLS))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 768)) = Xsqlite3_thread_cleanup // sqlite3.c:129137:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 776)) = Xsqlite3_total_changes // sqlite3.c:129141:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 784)) = Xsqlite3_trace // sqlite3.c:129142:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 792)) = Xsqlite3_transfer_bindings // sqlite3.c:129144:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 800)) = Xsqlite3_update_hook // sqlite3.c:129148:3: + *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 808)) = Xsqlite3_user_data // sqlite3.c:129149:3: + *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 816)) = Xsqlite3_value_blob // sqlite3.c:129150:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 824)) = Xsqlite3_value_bytes // sqlite3.c:129151:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 832)) = Xsqlite3_value_bytes16 // sqlite3.c:129152:3: + *(*func(*libc.TLS, uintptr) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 840)) = Xsqlite3_value_double // sqlite3.c:129153:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 848)) = Xsqlite3_value_int // sqlite3.c:129154:3: + *(*func(*libc.TLS, uintptr) Sqlite_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 856)) = Xsqlite3_value_int64 // sqlite3.c:129155:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 864)) = Xsqlite3_value_numeric_type // sqlite3.c:129156:3: + *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 872)) = Xsqlite3_value_text // sqlite3.c:129157:3: + *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 880)) = Xsqlite3_value_text16 // sqlite3.c:129158:3: + *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 888)) = Xsqlite3_value_text16be // sqlite3.c:129159:3: + *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 896)) = Xsqlite3_value_text16le // sqlite3.c:129160:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 904)) = Xsqlite3_value_type // sqlite3.c:129161:3: + *(*func(*libc.TLS, uintptr, Va_list) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 912)) = Xsqlite3_vmprintf // sqlite3.c:129162:3: + *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 920)) = Xsqlite3_overload_function // sqlite3.c:129171:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 928)) = Xsqlite3_prepare_v2 // sqlite3.c:129176:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 936)) = Xsqlite3_prepare16_v2 // sqlite3.c:129177:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 944)) = Xsqlite3_clear_bindings // sqlite3.c:129178:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 952)) = Xsqlite3_create_module_v2 // sqlite3.c:129183:3: + *(*func(*libc.TLS, uintptr, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 960)) = Xsqlite3_bind_zeroblob // sqlite3.c:129188:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 968)) = Xsqlite3_blob_bytes // sqlite3.c:129189:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 976)) = Xsqlite3_blob_close // sqlite3.c:129190:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr, Sqlite_int64, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 984)) = Xsqlite3_blob_open // sqlite3.c:129191:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 992)) = Xsqlite3_blob_read // sqlite3.c:129192:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1000)) = Xsqlite3_blob_write // sqlite3.c:129193:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1008)) = Xsqlite3_create_collation_v2 // sqlite3.c:129194:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1016)) = Xsqlite3_file_control // sqlite3.c:129195:3: + *(*func(*libc.TLS, int32) Sqlite3_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1024)) = Xsqlite3_memory_highwater // sqlite3.c:129196:3: + *(*func(*libc.TLS) Sqlite3_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1032)) = Xsqlite3_memory_used // sqlite3.c:129197:3: + *(*func(*libc.TLS, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1040)) = Xsqlite3_mutex_alloc // sqlite3.c:129205:3: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1048)) = Xsqlite3_mutex_enter // sqlite3.c:129206:3: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1056)) = Xsqlite3_mutex_free // sqlite3.c:129207:3: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1064)) = Xsqlite3_mutex_leave // sqlite3.c:129208:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1072)) = Xsqlite3_mutex_try // sqlite3.c:129209:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1080)) = Xsqlite3_open_v2 // sqlite3.c:129211:3: + *(*func(*libc.TLS, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1088)) = Xsqlite3_release_memory // sqlite3.c:129212:3: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1096)) = Xsqlite3_result_error_nomem // sqlite3.c:129213:3: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1104)) = Xsqlite3_result_error_toobig // sqlite3.c:129214:3: + *(*func(*libc.TLS, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1112)) = Xsqlite3_sleep // sqlite3.c:129215:3: + *(*func(*libc.TLS, int32))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1120)) = Xsqlite3_soft_heap_limit // sqlite3.c:129216:3: + *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1128)) = Xsqlite3_vfs_find // sqlite3.c:129217:3: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1136)) = Xsqlite3_vfs_register // sqlite3.c:129218:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1144)) = Xsqlite3_vfs_unregister // sqlite3.c:129219:3: + *(*func(*libc.TLS) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1152)) = Xsqlite3_threadsafe // sqlite3.c:129224:3: + *(*func(*libc.TLS, uintptr, int32))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1160)) = Xsqlite3_result_zeroblob // sqlite3.c:129225:3: + *(*func(*libc.TLS, uintptr, int32))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1168)) = Xsqlite3_result_error_code // sqlite3.c:129226:3: + *(*func(*libc.TLS, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1176)) = Xsqlite3_test_control // sqlite3.c:129227:3: + *(*func(*libc.TLS, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1184)) = Xsqlite3_randomness // sqlite3.c:129228:3: + *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1192)) = Xsqlite3_context_db_handle // sqlite3.c:129229:3: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1200)) = Xsqlite3_extended_result_codes // sqlite3.c:129234:3: + *(*func(*libc.TLS, uintptr, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1208)) = Xsqlite3_limit // sqlite3.c:129235:3: + *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1216)) = Xsqlite3_next_stmt // sqlite3.c:129236:3: + *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1224)) = Xsqlite3_sql // sqlite3.c:129237:3: + *(*func(*libc.TLS, int32, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1232)) = Xsqlite3_status // sqlite3.c:129238:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1240)) = Xsqlite3_backup_finish // sqlite3.c:129243:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1248)) = Xsqlite3_backup_init // sqlite3.c:129244:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1256)) = Xsqlite3_backup_pagecount // sqlite3.c:129245:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1264)) = Xsqlite3_backup_remaining // sqlite3.c:129246:3: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1272)) = Xsqlite3_backup_step // sqlite3.c:129247:3: + *(*func(*libc.TLS, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1280)) = Xsqlite3_compileoption_get // sqlite3.c:129249:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1288)) = Xsqlite3_compileoption_used // sqlite3.c:129250:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, int32, uintptr, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1296)) = Xsqlite3_create_function_v2 // sqlite3.c:129255:3: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1304)) = Xsqlite3_db_config // sqlite3.c:129256:3: + *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1312)) = Xsqlite3_db_mutex // sqlite3.c:129257:3: + *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1320)) = Xsqlite3_db_status // sqlite3.c:129258:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1328)) = Xsqlite3_extended_errcode // sqlite3.c:129259:3: + *(*func(*libc.TLS, int32, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1336)) = Xsqlite3_log // sqlite3.c:129260:3: + *(*func(*libc.TLS, Sqlite3_int64) Sqlite3_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1344)) = Xsqlite3_soft_heap_limit64 // sqlite3.c:129261:3: + *(*func(*libc.TLS) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1352)) = Xsqlite3_sourceid // sqlite3.c:129262:3: + *(*func(*libc.TLS, uintptr, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1360)) = Xsqlite3_stmt_status // sqlite3.c:129263:3: + *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1368)) = Xsqlite3_strnicmp // sqlite3.c:129264:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1376)) = Xsqlite3_unlock_notify // sqlite3.c:129266:3: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1384)) = Xsqlite3_wal_autocheckpoint // sqlite3.c:129271:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1392)) = Xsqlite3_wal_checkpoint // sqlite3.c:129272:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1400)) = Xsqlite3_wal_hook // sqlite3.c:129273:3: + *(*func(*libc.TLS, uintptr, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1408)) = Xsqlite3_blob_reopen // sqlite3.c:129279:3: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1416)) = Xsqlite3_vtab_config // sqlite3.c:129280:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1424)) = Xsqlite3_vtab_on_conflict // sqlite3.c:129281:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1432)) = Xsqlite3_close_v2 // sqlite3.c:129282:3: + *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1440)) = Xsqlite3_db_filename // sqlite3.c:129283:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1448)) = Xsqlite3_db_readonly // sqlite3.c:129284:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1456)) = Xsqlite3_db_release_memory // sqlite3.c:129285:3: + *(*func(*libc.TLS, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1464)) = Xsqlite3_errstr // sqlite3.c:129286:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1472)) = Xsqlite3_stmt_busy // sqlite3.c:129287:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1480)) = Xsqlite3_stmt_readonly // sqlite3.c:129288:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1488)) = Xsqlite3_stricmp // sqlite3.c:129289:3: + *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1496)) = Xsqlite3_uri_boolean // sqlite3.c:129290:3: + *(*func(*libc.TLS, uintptr, uintptr, Sqlite3_int64) Sqlite3_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1504)) = Xsqlite3_uri_int64 // sqlite3.c:129291:3: + *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1512)) = Xsqlite3_uri_parameter // sqlite3.c:129292:3: + *(*func(*libc.TLS, int32, uintptr, uintptr, Va_list) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1520)) = Xsqlite3_vsnprintf // sqlite3.c:129293:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1528)) = Xsqlite3_wal_checkpoint_v2 // sqlite3.c:129294:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1536)) = Xsqlite3_auto_extension // sqlite3.c:129296:3: + *(*func(*libc.TLS, uintptr, int32, uintptr, Sqlite3_uint64, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1544)) = Xsqlite3_bind_blob64 // sqlite3.c:129297:3: + *(*func(*libc.TLS, uintptr, int32, uintptr, Sqlite3_uint64, uintptr, uint8) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1552)) = Xsqlite3_bind_text64 // sqlite3.c:129298:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1560)) = Xsqlite3_cancel_auto_extension // sqlite3.c:129299:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1568)) = Xsqlite3_load_extension // sqlite3.c:129300:3: + *(*func(*libc.TLS, Sqlite3_uint64) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1576)) = Xsqlite3_malloc64 // sqlite3.c:129301:3: + *(*func(*libc.TLS, uintptr) Sqlite3_uint64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1584)) = Xsqlite3_msize // sqlite3.c:129302:3: + *(*func(*libc.TLS, uintptr, Sqlite3_uint64) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1592)) = Xsqlite3_realloc64 // sqlite3.c:129303:3: + *(*func(*libc.TLS))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1600)) = Xsqlite3_reset_auto_extension // sqlite3.c:129304:3: + *(*func(*libc.TLS, uintptr, uintptr, Sqlite3_uint64, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1608)) = Xsqlite3_result_blob64 // sqlite3.c:129305:3: + *(*func(*libc.TLS, uintptr, uintptr, Sqlite3_uint64, uintptr, uint8))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1616)) = Xsqlite3_result_text64 // sqlite3.c:129306:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1624)) = Xsqlite3_strglob // sqlite3.c:129307:3: *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1632 /* .value_dup */)) = *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr) uintptr - }{Xsqlite3_value_dup})) // sqlite3.c:129296:3: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1640)) = Xsqlite3_value_free // sqlite3.c:129297:3: - *(*func(*libc.TLS, uintptr, U64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1648)) = Xsqlite3_result_zeroblob64 // sqlite3.c:129298:3: - *(*func(*libc.TLS, uintptr, int32, Sqlite3_uint64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1656)) = Xsqlite3_bind_zeroblob64 // sqlite3.c:129299:3: - *(*func(*libc.TLS, uintptr) uint32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1664)) = Xsqlite3_value_subtype // sqlite3.c:129301:3: - *(*func(*libc.TLS, uintptr, uint32))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1672)) = Xsqlite3_result_subtype // sqlite3.c:129302:3: - *(*func(*libc.TLS, int32, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1680)) = Xsqlite3_status64 // sqlite3.c:129304:3: - *(*func(*libc.TLS, uintptr, uintptr, uint32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1688)) = Xsqlite3_strlike // sqlite3.c:129305:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1696)) = Xsqlite3_db_cacheflush // sqlite3.c:129306:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1704)) = Xsqlite3_system_errno // sqlite3.c:129308:3: - *(*func(*libc.TLS, uintptr, uint32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1712)) = Xsqlite3_trace_v2 // sqlite3.c:129310:3: - *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1720)) = Xsqlite3_expanded_sql // sqlite3.c:129311:3: - *(*func(*libc.TLS, uintptr, Sqlite3_int64))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1728)) = Xsqlite3_set_last_insert_rowid // sqlite3.c:129313:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uint32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1736)) = Xsqlite3_prepare_v3 // sqlite3.c:129315:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uint32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1744)) = Xsqlite3_prepare16_v3 // sqlite3.c:129316:3: - *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1752)) = Xsqlite3_bind_pointer // sqlite3.c:129317:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1760)) = Xsqlite3_result_pointer // sqlite3.c:129318:3: - *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1768)) = Xsqlite3_value_pointer // sqlite3.c:129319:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1776)) = Xsqlite3_vtab_nochange // sqlite3.c:129321:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1784)) = Xsqlite3_value_nochange // sqlite3.c:129322:3: - *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1792)) = Xsqlite3_vtab_collation // sqlite3.c:129323:3: - *(*func(*libc.TLS) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1800)) = Xsqlite3_keyword_count // sqlite3.c:129325:3: - *(*func(*libc.TLS, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1808)) = Xsqlite3_keyword_name // sqlite3.c:129326:3: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1816)) = Xsqlite3_keyword_check // sqlite3.c:129327:3: - *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1824)) = Xsqlite3_str_new // sqlite3.c:129328:3: - *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1832)) = Xsqlite3_str_finish // sqlite3.c:129329:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1840)) = Xsqlite3_str_appendf // sqlite3.c:129330:3: - *(*func(*libc.TLS, uintptr, uintptr, Va_list))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1848)) = Xsqlite3_str_vappendf // sqlite3.c:129331:3: - *(*func(*libc.TLS, uintptr, uintptr, int32))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1856)) = Xsqlite3_str_append // sqlite3.c:129332:3: - *(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1864)) = Xsqlite3_str_appendall // sqlite3.c:129333:3: - *(*func(*libc.TLS, uintptr, int32, int8))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1872)) = Xsqlite3_str_appendchar // sqlite3.c:129334:3: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1880)) = Xsqlite3_str_reset // sqlite3.c:129335:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1888)) = Xsqlite3_str_errcode // sqlite3.c:129336:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1896)) = Xsqlite3_str_length // sqlite3.c:129337:3: - *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1904)) = Xsqlite3_str_value // sqlite3.c:129338:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, int32, uintptr, uintptr, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1912)) = Xsqlite3_create_window_function // sqlite3.c:129340:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1928)) = Xsqlite3_stmt_isexplain // sqlite3.c:129348:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1936)) = Xsqlite3_value_frombind // sqlite3.c:129349:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1944)) = Xsqlite3_drop_modules // sqlite3.c:129352:3: - *(*func(*libc.TLS, Sqlite3_int64) Sqlite3_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1952)) = Xsqlite3_hard_heap_limit64 // sqlite3.c:129357:3: - *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1960)) = Xsqlite3_uri_key // sqlite3.c:129358:3: - *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1968)) = Xsqlite3_filename_database // sqlite3.c:129359:3: - *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1976)) = Xsqlite3_filename_journal // sqlite3.c:129360:3: - *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1984)) = Xsqlite3_filename_wal // sqlite3.c:129361:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1992)) = Xsqlite3_create_filename // sqlite3.c:129363:3: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 2000)) = Xsqlite3_free_filename // sqlite3.c:129364:3: - *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 2008)) = Xsqlite3_database_file_object // sqlite3.c:129365:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 2016)) = Xsqlite3_txn_state // sqlite3.c:129367:3: - *(*func(*libc.TLS, uintptr) Sqlite3_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 2024)) = Xsqlite3_changes64 // sqlite3.c:129369:3: - *(*func(*libc.TLS, uintptr) Sqlite3_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 2032)) = Xsqlite3_total_changes64 // sqlite3.c:129370:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 2040)) = Xsqlite3_autovacuum_pages // sqlite3.c:129372:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 2048)) = Xsqlite3_error_offset // sqlite3.c:129374:3: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 2056)) = Xsqlite3_vtab_rhs_value // sqlite3.c:129375:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 2064)) = Xsqlite3_vtab_distinct // sqlite3.c:129376:3: - *(*func(*libc.TLS, uintptr, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 2072)) = Xsqlite3_vtab_in // sqlite3.c:129377:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 2080)) = Xsqlite3_vtab_in_first // sqlite3.c:129378:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 2088)) = Xsqlite3_vtab_in_next // sqlite3.c:129379:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3BuiltinExtensions)) + 0)) = Xsqlite3Fts5Init // sqlite3.c:168488:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3BuiltinExtensions)) + 8)) = Xsqlite3RtreeInit // sqlite3.c:168494:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3BuiltinExtensions)) + 16)) = sqlite3TestExtInit // sqlite3.c:168502:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3BuiltinExtensions)) + 24)) = Xsqlite3JsonTableFunctions // sqlite3.c:168504:3: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&statGetFuncdef)) + 24)) = statGet // sqlite3.c:111993:3: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&statInitFuncdef)) + 24)) = statInit // sqlite3.c:111569:3: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&statPushFuncdef)) + 24)) = statPush // sqlite3.c:111859:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 40)) = rbuVfsOpen // sqlite3.c:208888:5: - *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 48)) = rbuVfsDelete // sqlite3.c:208889:5: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 56)) = rbuVfsAccess // sqlite3.c:208890:5: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 64)) = rbuVfsFullPathname // sqlite3.c:208891:5: - *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 72)) = rbuVfsDlOpen // sqlite3.c:208894:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 80)) = rbuVfsDlError // sqlite3.c:208895:5: - *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 88)) = rbuVfsDlSym // sqlite3.c:208896:5: - *(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 96)) = rbuVfsDlClose // sqlite3.c:208897:5: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 104)) = rbuVfsRandomness // sqlite3.c:208902:5: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 112)) = rbuVfsSleep // sqlite3.c:208903:5: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 120)) = rbuVfsCurrentTime // sqlite3.c:208904:5: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 128)) = rbuVfsGetLastError // sqlite3.c:208905:5: -} - -var ts1 = "3.38.1\x00ATOMIC_INTRINSICS=0\x00COMPILER=clang-12.0.0\x00DEFAULT_AUTOVACUUM\x00DEFAULT_CACHE_SIZE=-2000\x00DEFAULT_FILE_FORMAT=4\x00DEFAULT_JOURNAL_SIZE_LIMIT=-1\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\x00ENABLE_COLUMN_METADATA\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=127\x00MAX_LENGTH=1000000000\x00MAX_LIKE_PATTERN_LENGTH=50000\x00MAX_MMAP_SIZE=0x7fff0000\x00MAX_PAGE_COUNT=1073741823\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\x00BINARY\x00ANY\x00BLOB\x00INT\x00INTEGER\x00REAL\x00TEXT\x0020b:20e\x0020c:20e\x0020e\x0040f-21a-21d\x00now\x00local time unavailable\x00second\x00minute\x00hour\x00\x00\x00day\x00\x00\x00\x00month\x00\x00year\x00\x00\x00auto\x00julianday\x00localtime\x00unixepoch\x00utc\x00weekday \x00start of \x00month\x00year\x00day\x00%02d\x00%06.3f\x00%03d\x00%.16g\x00%lld\x00%04d\x00date\x00time\x00datetime\x00strftime\x00current_time\x00current_timestamp\x00current_date\x00failed to allocate %u bytes of memory\x00failed memory resize %u to %u bytes\x00out of memory\x000123456789ABCDEF0123456789abcdef\x00-x0\x00X0\x00%\x00NaN\x00Inf\x00\x00NULL\x00(NULL)\x00.\x00SUBQUERY %u\x00thstndrd\x00922337203685477580\x00API call with %s database connection pointer\x00unopened\x00invalid\x00Savepoint\x00AutoCommit\x00Transaction\x00SorterNext\x00Prev\x00Next\x00Checkpoint\x00JournalMode\x00Vacuum\x00VFilter\x00VUpdate\x00Goto\x00Gosub\x00InitCoroutine\x00Yield\x00MustBeInt\x00Jump\x00Once\x00If\x00Not\x00IfNot\x00IsNullOrType\x00IfNullRow\x00SeekLT\x00SeekLE\x00SeekGE\x00SeekGT\x00IfNotOpen\x00IfNoHope\x00NoConflict\x00NotFound\x00Found\x00SeekRowid\x00NotExists\x00Last\x00IfSmaller\x00SorterSort\x00Sort\x00Rewind\x00IdxLE\x00IdxGT\x00IdxLT\x00IdxGE\x00Or\x00And\x00RowSetRead\x00RowSetTest\x00Program\x00FkIfZero\x00IfPos\x00IsNull\x00NotNull\x00Ne\x00Eq\x00Gt\x00Le\x00Lt\x00Ge\x00ElseEq\x00IfNotZero\x00DecrJumpZero\x00IncrVacuum\x00VNext\x00Filter\x00Init\x00PureFunc\x00Function\x00Return\x00EndCoroutine\x00HaltIfNull\x00Halt\x00Integer\x00Int64\x00String\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\x00VInitIn\x00VColumn\x00VRename\x00Pagecount\x00MaxPgcnt\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\x00nfs\x00hfs\x00ufs\x00afpfs\x00smbfs\x00webdav\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\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\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\x00SQLite format 3\x00:memory:\x00@ \x00\n\x00invalid page number %d\x002nd reference to page %d\x00Failed to read ptrmap key=%d\x00Bad ptr map entry key=%d expected=(%d,%d) got=(%d,%d)\x00failed to get page %d\x00freelist leaf count too big on page %d\x00%s is %d but should be %d\x00size\x00overflow list length\x00Page %u: \x00unable to get the page. error code=%d\x00btreeInitPage() returns error code %d\x00free space corruption\x00On tree page %u cell %d: \x00On page %u at right child: \x00Offset %d out of range %d..%d\x00Extends off end of page\x00Rowid %lld out of order\x00Child page depth differs\x00Multiple uses for byte %u of page %u\x00Fragmentation of %d bytes reported as %d on page %u\x00Main freelist: \x00max rootpage (%d) disagrees with header (%d)\x00incremental_vacuum enabled with a max rootpage of zero\x00Page %d is never used\x00Pointer map page %d is referenced\x00unknown database %s\x00destination database is in use\x00source and destination must be distinct\x00%!.15g\x00-\x00%s%s\x00k(%d\x00B\x00,%s%s%s\x00N.\x00)\x00%.18s-%s\x00%s(%d)\x00%d\x00(blob)\x00vtab:%p\x00%c%u\x00]\x00program\x00?\x008\x0016LE\x0016BE\x00addr\x00opcode\x00p1\x00p2\x00p3\x00p4\x00p5\x00comment\x00id\x00parent\x00notused\x00detail\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\x00ValueList\x00bind on a busy prepared statement: [%s]\x00-- \x00'%.*q'\x00zeroblob(%d)\x00x'\x00%02x\x00'\x00%s constraint failed\x00%z: %s\x00abort at %d in [%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\x00cannot change %s wal mode from within a transaction\x00into\x00out of\x00database table is locked: %s\x00-- %s\x00statement aborts at %d: [%s] %s\x00NOT NULL\x00UNIQUE\x00CHECK\x00FOREIGN KEY\x00cannot open value of type %s\x00null\x00real\x00integer\x00no such rowid: %lld\x00cannot open virtual table: %s\x00cannot open table without rowid: %s\x00cannot open view: %s\x00no such column: \"%s\"\x00foreign key\x00indexed\x00cannot open %s column for writing\x00main\x00*\x00new\x00old\x00excluded\x00misuse of aliased aggregate %s\x00misuse of aliased window function %s\x00row value misused\x00double-quoted string literal: \"%w\"\x00no such column\x00ambiguous column name\x00%s: %s.%s.%s\x00%s: %s.%s\x00%s: %s\x00partial index WHERE clauses\x00index expressions\x00CHECK constraints\x00generated columns\x00%s prohibited in %s\x00true\x00false\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\x00a GROUP BY clause is required before HAVING\x00GROUP\x00aggregate functions are not allowed in the GROUP BY clause\x00Expression tree is too large (maximum depth %d)\x00IN(...) element has %d term%s - expected %d\x00s\x000\x00too many arguments on function %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\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\x00%sLIST SUBQUERY %d\x00CORRELATED \x00REUSE SUBQUERY %d\x00%sSCALAR SUBQUERY %d\x001\x000x\x00hex literal too big: %s%#T\x00generated column loop on \"%s\"\x00blob\x00text\x00numeric\x00none\x00misuse of aggregate: %#T()\x00unknown function: %#T()\x00RAISE() may only be used within a trigger-program\x00B\x00C\x00D\x00E\x00sqlite_\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') ELSE raise(ABORT,'NOT NULL constraint failed') END FROM pragma_quick_check(%Q,%Q) WHERE quick_check GLOB 'CHECK*' OR quick_check GLOB 'NULL*'\x00virtual tables may not be altered\x00Cannot add a column to a view\x00sqlite_altertab_%s\x00view\x00virtual table\x00cannot %s %s \"%s\"\x00drop column from\x00rename columns of\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')\x00error in %s %s%s%s: %s\x00 \x00CREATE \x00\"%w\" \x00%Q%s\x00%.*s%s\x00cannot drop %s column: \"%s\"\x00PRIMARY KEY\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\x00CREATE TABLE %Q.%s(%s)\x00DELETE FROM %Q.%s WHERE %s=%Q\x00DELETE FROM %Q.%s\x00sqlite_stat1\x00tbl,idx,stat\x00sqlite_stat4\x00tbl,idx,neq,nlt,ndlt,sample\x00sqlite_stat3\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\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\x00sqlite_temp_schema\x00sqlite_schema\x00sqlite_temp_master\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\x00sqlite_returning\x00cannot use RETURNING in a trigger\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'\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\x00unsupported use of NULLS %s\x00FIRST\x00LAST\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\x00CREATE%s INDEX %.*s\x00 UNIQUE\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\x00a JOIN clause is required before %s\x00ON\x00USING\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\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%!.20e\x00%Q\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\x00instr\x00printf\x00format\x00unicode\x00char\x00abs\x00round\x00upper\x00lower\x00hex\x00ifnull\x00random\x00randomblob\x00nullif\x00sqlite_version\x00sqlite_source_id\x00sqlite_log\x00quote\x00last_insert_rowid\x00changes\x00total_changes\x00replace\x00zeroblob\x00substr\x00substring\x00sum\x00total\x00avg\x00count\x00group_concat\x00glob\x00coalesce\x00ceil\x00ceiling\x00floor\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\x00foreign key mismatch - \"%w\" referencing \"%w\"\x00cannot INSERT into generated column \"%s\"\x00table %S has no column named %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\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]\x00dylib\x00automatic extension loading failed: %s\x00seq\x00from\x00to\x00on_update\x00on_delete\x00match\x00cid\x00name\x00type\x00notnull\x00dflt_value\x00pk\x00hidden\x00schema\x00ncol\x00wr\x00strict\x00seqno\x00desc\x00coll\x00key\x00builtin\x00enc\x00narg\x00flags\x00wdth\x00hght\x00flgs\x00unique\x00origin\x00partial\x00rowid\x00fkid\x00file\x00busy\x00checkpointed\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\x00onoffalseyestruextrafull\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\x00w\x00a\x00sissii\x00utf8\x00utf16le\x00utf16be\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\x00NULL value in %s.%s\x00non-%s value in %s.%s\x00CHECK constraint failed in %s\x00row \x00 missing from index \x00non-unique entry in index \x00wrong # of entries in index \x00ok\x00unsupported encoding: %s\x00restart\x00ANALYZE \"%w\".\"%w\"\x00UTF8\x00UTF-8\x00UTF-16le\x00UTF-16be\x00UTF16le\x00UTF16be\x00UTF-16\x00UTF16\x00CREATE TABLE x\x00%c\"%s\"\x00(\"%s\"\x00,arg HIDDEN\x00,schema HIDDEN\x00PRAGMA \x00%Q.\x00=%Q\x00error in %s %s after %s: %s\x00malformed database schema (%s)\x00%z - %s\x00rename\x00drop column\x00add column\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 or unsupported join type: %T %T%s%T\x00RIGHT and FULL OUTER JOINs are not currently supported\x00naturaleftouterightfullinnercross\x00a NATURAL join may not have an ON or USING clause\x00cannot have both ON and USING clauses in the same join\x00cannot join using column %s - column not present in both tables\x00UNION ALL\x00INTERSECT\x00EXCEPT\x00UNION\x00USE TEMP B-TREE FOR %s\x00column%d\x00%.*z:%u\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\x00subquery_%u\x00too many references to \"%s\": max 65535\x00access to view \"%s\" prohibited\x00unsafe use of virtual table \"%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)\x00SCAN %s%s%s\x00 USING COVERING INDEX \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\x00RIGHT PART OF ORDER BY\x00ORDER 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\x00trigger %T already exists\x00cannot create trigger on system table\x00cannot create %s trigger on view: %S\x00BEFORE\x00AFTER\x00cannot create INSTEAD OF trigger on 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'\x00%s RETURNING is not available on virtual tables\x00DELETE\x00UPDATE\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\x00ATTACH %Q AS vacuum_db\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 vacuum_db.'||quote(name)||' SELECT*FROM\"%w\".'||quote(name)FROM vacuum_db.sqlite_schema WHERE type='table'AND coalesce(rootpage,1)>0\x00INSERT INTO vacuum_db.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\x00\x00 AND \x00(\x00 (\x00%s=?\x00ANY(%s)\x00>\x00<\x00%s %S\x00SEARCH\x00SCAN\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 %d:%s\x00BLOOM FILTER ON %S (\x00rowid=?\x00MULTI-INDEX OR\x00INDEX %d\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\x00second argument to nth_value must be a positive integer\x00argument of ntile must be a positive integer\x00row_number\x00dense_rank\x00rank\x00percent_rank\x00cume_dist\x00ntile\x00last_value\x00nth_value\x00first_value\x00lead\x00lag\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\x00%s clause should come after %s not before\x00LIMIT\x00too many terms in compound SELECT\x00syntax error after column name \"%.*s\"\x00parser stack overflow\x00unknown table option: %.*s\x00set list\x00near \"%T\": syntax error\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\x00unknown error\x00abort due to ROLLBACK\x00another row available\x00no more rows available\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\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\x00mode\x00no such %s mode: %s\x00%s mode not allowed: %s\x00no such vfs: %s\x00shared\x00private\x00ro\x00rw\x00rwc\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\x000123456789abcdef\x00JSON cannot hold BLOB values\x00malformed JSON\x00[0]\x00JSON path error near '%q'\x00json_%s() needs an odd number of arguments\x00$[\x00$.\x00json_object() requires an even number of arguments\x00json_object() labels must be TEXT\x00set\x00insert\x00[]\x00{}\x00CREATE TABLE x(key,value,type,atom,id,parent,fullkey,path,json HIDDEN,root HIDDEN)\x00[%d]\x00.%.*s\x00$\x00json\x00json_array\x00json_array_length\x00json_extract\x00->\x00->>\x00json_insert\x00json_object\x00json_patch\x00json_quote\x00json_remove\x00json_replace\x00json_set\x00json_type\x00json_valid\x00json_group_array\x00json_group_object\x00json_each\x00json_tree\x00%s_node\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\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\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\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\x00CREATE TABLE x(%.*s INT\x00,%.*s\x00);\x00,%.*s REAL\x00,%.*s INT\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\x00Mapping (%lld -> %lld) missing from %s table\x00%_rowid\x00%_parent\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\x00END\x00wrong number of arguments to function rtreecheck()\x00[\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\x00geopoly_area\x00geopoly_blob\x00geopoly_json\x00geopoly_svg\x00geopoly_contains_point\x00geopoly_debug\x00geopoly_bbox\x00geopoly_xform\x00geopoly_regular\x00geopoly_ccw\x00geopoly_group_bbox\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;\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\x00AND rootpage!=0 AND rootpage IS NOT NULL\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\x00table %q %s rbu_rowid column\x00may not have\x00requires\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%z%s\"%w\" %s %sCOLLATE %Q%s\x00 NOT NULL\x00%z, %z\x00CREATE TABLE \"rbu_imp_%w\"(%z)%s\x00 WITHOUT ROWID\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\x00SELECT %s, 0 AS rbu_control FROM '%q' %s %s %s ORDER BY %s%s\x00AND\x00WHERE\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_\x00INSERT INTO \"%s%w\"(%s%s) VALUES(%s)\x00, _rowid_\x00DELETE FROM \"%s%w\" WHERE %s\x00, rbu_rowid\x00CREATE TABLE IF NOT EXISTS %s.'rbu_tmp_%q' AS SELECT *%s FROM '%q' WHERE 0;\x00, 0 AS rbu_rowid\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\x00SELECT %s,%s rbu_control%s FROM '%q'%s %s %s %s\x000 AS \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\x00file:%s-vactmp?rbu_memory=1%s%s\x00&\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, %d), (%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\x00database modified during rbu %s\x00vacuum\x00update\x00BEGIN IMMEDIATE\x00PRAGMA journal_mode=off\x00-vactmp\x00DELETE FROM stat.rbu_state\x00rbu/zipvfs setup error\x00rbu(%s)/%z\x00rbu_memory\x00SELECT 0, 'tbl', '', 0, '', 1 UNION ALL SELECT 1, 'idx', '', 0, '', 2 UNION ALL SELECT 2, 'stat', '', 0, '', 0\x00PRAGMA '%q'.table_info('%q')\x00%z%s\"%w\".\"%w\".\"%w\"=\"%w\".\"%w\".\"%w\"\x00%z%s\"%w\".\"%w\".\"%w\" IS NOT \"%w\".\"%w\".\"%w\"\x00 OR \x00SELECT * FROM \"%w\".\"%w\" WHERE NOT EXISTS ( SELECT 1 FROM \"%w\".\"%w\" WHERE %s)\x00SELECT * FROM \"%w\".\"%w\", \"%w\".\"%w\" WHERE %s AND (%z)\x00table schemas do not match\x00SELECT tbl, ?2, stat FROM %Q.sqlite_stat1 WHERE tbl IS ?1 AND idx IS (CASE WHEN ?2=X'' THEN NULL ELSE ?2 END)\x00SELECT * FROM \x00 WHERE \x00 IS ?\x00SAVEPOINT changeset\x00RELEASE changeset\x00UPDATE main.\x00 SET \x00 = ?\x00idx IS CASE WHEN length(?4)=0 AND typeof(?4)='blob' THEN NULL ELSE ?4 END \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()\x00snippet\x00highlight\x00bm25\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\x00content_rowid\x00multiple content_rowid=... directives\x00columnsize\x00malformed columnsize=... directive\x00columns\x00malformed detail=... directive\x00unrecognized option: \"%.*s\"\x00reserved fts5 column name: %s\x00unindexed\x00unrecognized column option: %s\x00T.%Q\x00, T.%Q\x00, T.c%d\x00reserved fts5 table name: %s\x00parse error in \"%s\"\x00docsize\x00%Q.'%q_%s'\x00CREATE TABLE x(\x00%z%s%Q\x00%z, %Q HIDDEN, %s HIDDEN)\x00pgsz\x00hashsize\x00automerge\x00usermerge\x00crisismerge\x00SELECT k, v FROM %Q.'%q_config'\x00version\x00invalid fts5 file format (found %d, expected %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)\x00fts5: %s queries are not supported (detail!=full)\x00phrase\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=?\x00PRAGMA %Q.data_version\x00SELECT pgno FROM '%q'.'%q_idx' WHERE segid=? AND term<=? ORDER BY term DESC LIMIT 1\x00INSERT INTO '%q'.'%q_idx'(segid,term,pgno) VALUES(?,?,?)\x00%s_data\x00id INTEGER PRIMARY KEY, block BLOB\x00segid, term, pgno, PRIMARY KEY(segid, term)\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\x00SELECT rowid, rank FROM %Q.%Q ORDER BY %s(\"%w\"%s%s) %s\x00DESC\x00ASC\x00reads\x00unknown special query: %.*s\x00SELECT %s\x00no such function: %s\x00parse error in rank function: %s\x00%s: table does not support scanning\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\x00cannot %s contentless fts5 table: %s\x00DELETE from\x00no such cursor: %lld\x00no such tokenizer: %s\x00error in tokenizer constructor\x00fts5_api_ptr\x00fts5: 2022-03-12 13:37:29 38c210fdd258658321c85ec9c01a072fda3ada94540e3239d29b34dc547a8cbc\x00config\x00fts5\x00fts5_source_id\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(?,?)\x00DELETE FROM %Q.'%q_docsize' WHERE id=?\x00SELECT sz FROM %Q.'%q_docsize' WHERE id=?\x00REPLACE INTO %Q.'%q_config' VALUES(?,?)\x00SELECT %s FROM %s AS T\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\x00id INTEGER PRIMARY KEY, sz BLOB\x00k PRIMARY KEY, v\x00DELETE FROM %Q.'%q_data';DELETE FROM %Q.'%q_idx';\x00DELETE FROM %Q.'%q_docsize';\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\x00ascii\x00porter\x00trigram\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\x002022-03-12 13:37:29 38c210fdd258658321c85ec9c01a072fda3ada94540e3239d29b34dc547a8cbc\x00" + }{Xsqlite3_value_dup})) // sqlite3.c:129309:3: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1640)) = Xsqlite3_value_free // sqlite3.c:129310:3: + *(*func(*libc.TLS, uintptr, U64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1648)) = Xsqlite3_result_zeroblob64 // sqlite3.c:129311:3: + *(*func(*libc.TLS, uintptr, int32, Sqlite3_uint64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1656)) = Xsqlite3_bind_zeroblob64 // sqlite3.c:129312:3: + *(*func(*libc.TLS, uintptr) uint32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1664)) = Xsqlite3_value_subtype // sqlite3.c:129314:3: + *(*func(*libc.TLS, uintptr, uint32))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1672)) = Xsqlite3_result_subtype // sqlite3.c:129315:3: + *(*func(*libc.TLS, int32, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1680)) = Xsqlite3_status64 // sqlite3.c:129317:3: + *(*func(*libc.TLS, uintptr, uintptr, uint32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1688)) = Xsqlite3_strlike // sqlite3.c:129318:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1696)) = Xsqlite3_db_cacheflush // sqlite3.c:129319:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1704)) = Xsqlite3_system_errno // sqlite3.c:129321:3: + *(*func(*libc.TLS, uintptr, uint32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1712)) = Xsqlite3_trace_v2 // sqlite3.c:129323:3: + *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1720)) = Xsqlite3_expanded_sql // sqlite3.c:129324:3: + *(*func(*libc.TLS, uintptr, Sqlite3_int64))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1728)) = Xsqlite3_set_last_insert_rowid // sqlite3.c:129326:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uint32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1736)) = Xsqlite3_prepare_v3 // sqlite3.c:129328:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uint32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1744)) = Xsqlite3_prepare16_v3 // sqlite3.c:129329:3: + *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1752)) = Xsqlite3_bind_pointer // sqlite3.c:129330:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1760)) = Xsqlite3_result_pointer // sqlite3.c:129331:3: + *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1768)) = Xsqlite3_value_pointer // sqlite3.c:129332:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1776)) = Xsqlite3_vtab_nochange // sqlite3.c:129334:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1784)) = Xsqlite3_value_nochange // sqlite3.c:129335:3: + *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1792)) = Xsqlite3_vtab_collation // sqlite3.c:129336:3: + *(*func(*libc.TLS) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1800)) = Xsqlite3_keyword_count // sqlite3.c:129338:3: + *(*func(*libc.TLS, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1808)) = Xsqlite3_keyword_name // sqlite3.c:129339:3: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1816)) = Xsqlite3_keyword_check // sqlite3.c:129340:3: + *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1824)) = Xsqlite3_str_new // sqlite3.c:129341:3: + *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1832)) = Xsqlite3_str_finish // sqlite3.c:129342:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1840)) = Xsqlite3_str_appendf // sqlite3.c:129343:3: + *(*func(*libc.TLS, uintptr, uintptr, Va_list))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1848)) = Xsqlite3_str_vappendf // sqlite3.c:129344:3: + *(*func(*libc.TLS, uintptr, uintptr, int32))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1856)) = Xsqlite3_str_append // sqlite3.c:129345:3: + *(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1864)) = Xsqlite3_str_appendall // sqlite3.c:129346:3: + *(*func(*libc.TLS, uintptr, int32, int8))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1872)) = Xsqlite3_str_appendchar // sqlite3.c:129347:3: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1880)) = Xsqlite3_str_reset // sqlite3.c:129348:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1888)) = Xsqlite3_str_errcode // sqlite3.c:129349:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1896)) = Xsqlite3_str_length // sqlite3.c:129350:3: + *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1904)) = Xsqlite3_str_value // sqlite3.c:129351:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, int32, uintptr, uintptr, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1912)) = Xsqlite3_create_window_function // sqlite3.c:129353:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1928)) = Xsqlite3_stmt_isexplain // sqlite3.c:129361:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1936)) = Xsqlite3_value_frombind // sqlite3.c:129362:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1944)) = Xsqlite3_drop_modules // sqlite3.c:129365:3: + *(*func(*libc.TLS, Sqlite3_int64) Sqlite3_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1952)) = Xsqlite3_hard_heap_limit64 // sqlite3.c:129370:3: + *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1960)) = Xsqlite3_uri_key // sqlite3.c:129371:3: + *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1968)) = Xsqlite3_filename_database // sqlite3.c:129372:3: + *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1976)) = Xsqlite3_filename_journal // sqlite3.c:129373:3: + *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1984)) = Xsqlite3_filename_wal // sqlite3.c:129374:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1992)) = Xsqlite3_create_filename // sqlite3.c:129376:3: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 2000)) = Xsqlite3_free_filename // sqlite3.c:129377:3: + *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 2008)) = Xsqlite3_database_file_object // sqlite3.c:129378:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 2016)) = Xsqlite3_txn_state // sqlite3.c:129380:3: + *(*func(*libc.TLS, uintptr) Sqlite3_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 2024)) = Xsqlite3_changes64 // sqlite3.c:129382:3: + *(*func(*libc.TLS, uintptr) Sqlite3_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 2032)) = Xsqlite3_total_changes64 // sqlite3.c:129383:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 2040)) = Xsqlite3_autovacuum_pages // sqlite3.c:129385:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 2048)) = Xsqlite3_error_offset // sqlite3.c:129387:3: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 2056)) = Xsqlite3_vtab_rhs_value // sqlite3.c:129388:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 2064)) = Xsqlite3_vtab_distinct // sqlite3.c:129389:3: + *(*func(*libc.TLS, uintptr, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 2072)) = Xsqlite3_vtab_in // sqlite3.c:129390:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 2080)) = Xsqlite3_vtab_in_first // sqlite3.c:129391:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 2088)) = Xsqlite3_vtab_in_next // sqlite3.c:129392:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3BuiltinExtensions)) + 0)) = Xsqlite3Fts5Init // sqlite3.c:168545:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3BuiltinExtensions)) + 8)) = Xsqlite3RtreeInit // sqlite3.c:168551:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3BuiltinExtensions)) + 16)) = sqlite3TestExtInit // sqlite3.c:168559:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3BuiltinExtensions)) + 24)) = Xsqlite3JsonTableFunctions // sqlite3.c:168561:3: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&statGetFuncdef)) + 24)) = statGet // sqlite3.c:112006:3: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&statInitFuncdef)) + 24)) = statInit // sqlite3.c:111582:3: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&statPushFuncdef)) + 24)) = statPush // sqlite3.c:111872:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 40)) = rbuVfsOpen // sqlite3.c:208945:5: + *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 48)) = rbuVfsDelete // sqlite3.c:208946:5: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 56)) = rbuVfsAccess // sqlite3.c:208947:5: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 64)) = rbuVfsFullPathname // sqlite3.c:208948:5: + *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 72)) = rbuVfsDlOpen // sqlite3.c:208951:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 80)) = rbuVfsDlError // sqlite3.c:208952:5: + *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 88)) = rbuVfsDlSym // sqlite3.c:208953:5: + *(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 96)) = rbuVfsDlClose // sqlite3.c:208954:5: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 104)) = rbuVfsRandomness // sqlite3.c:208959:5: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 112)) = rbuVfsSleep // sqlite3.c:208960:5: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 120)) = rbuVfsCurrentTime // sqlite3.c:208961:5: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 128)) = rbuVfsGetLastError // sqlite3.c:208962:5: +} + +var ts1 = "3.38.2\x00ATOMIC_INTRINSICS=0\x00COMPILER=clang-12.0.0\x00DEFAULT_AUTOVACUUM\x00DEFAULT_CACHE_SIZE=-2000\x00DEFAULT_FILE_FORMAT=4\x00DEFAULT_JOURNAL_SIZE_LIMIT=-1\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\x00ENABLE_COLUMN_METADATA\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=127\x00MAX_LENGTH=1000000000\x00MAX_LIKE_PATTERN_LENGTH=50000\x00MAX_MMAP_SIZE=0x7fff0000\x00MAX_PAGE_COUNT=1073741823\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\x00BINARY\x00ANY\x00BLOB\x00INT\x00INTEGER\x00REAL\x00TEXT\x0020b:20e\x0020c:20e\x0020e\x0040f-21a-21d\x00now\x00local time unavailable\x00second\x00minute\x00hour\x00\x00\x00day\x00\x00\x00\x00month\x00\x00year\x00\x00\x00auto\x00julianday\x00localtime\x00unixepoch\x00utc\x00weekday \x00start of \x00month\x00year\x00day\x00%02d\x00%06.3f\x00%03d\x00%.16g\x00%lld\x00%04d\x00date\x00time\x00datetime\x00strftime\x00current_time\x00current_timestamp\x00current_date\x00failed to allocate %u bytes of memory\x00failed memory resize %u to %u bytes\x00out of memory\x000123456789ABCDEF0123456789abcdef\x00-x0\x00X0\x00%\x00NaN\x00Inf\x00\x00NULL\x00(NULL)\x00.\x00SUBQUERY %u\x00thstndrd\x00922337203685477580\x00API call with %s database connection pointer\x00unopened\x00invalid\x00Savepoint\x00AutoCommit\x00Transaction\x00SorterNext\x00Prev\x00Next\x00Checkpoint\x00JournalMode\x00Vacuum\x00VFilter\x00VUpdate\x00Goto\x00Gosub\x00InitCoroutine\x00Yield\x00MustBeInt\x00Jump\x00Once\x00If\x00Not\x00IfNot\x00IsNullOrType\x00IfNullRow\x00SeekLT\x00SeekLE\x00SeekGE\x00SeekGT\x00IfNotOpen\x00IfNoHope\x00NoConflict\x00NotFound\x00Found\x00SeekRowid\x00NotExists\x00Last\x00IfSmaller\x00SorterSort\x00Sort\x00Rewind\x00IdxLE\x00IdxGT\x00IdxLT\x00IdxGE\x00Or\x00And\x00RowSetRead\x00RowSetTest\x00Program\x00FkIfZero\x00IfPos\x00IsNull\x00NotNull\x00Ne\x00Eq\x00Gt\x00Le\x00Lt\x00Ge\x00ElseEq\x00IfNotZero\x00DecrJumpZero\x00IncrVacuum\x00VNext\x00Filter\x00Init\x00PureFunc\x00Function\x00Return\x00EndCoroutine\x00HaltIfNull\x00Halt\x00Integer\x00Int64\x00String\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\x00VInitIn\x00VColumn\x00VRename\x00Pagecount\x00MaxPgcnt\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\x00nfs\x00hfs\x00ufs\x00afpfs\x00smbfs\x00webdav\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\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\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\x00SQLite format 3\x00:memory:\x00@ \x00\n\x00invalid page number %d\x002nd reference to page %d\x00Failed to read ptrmap key=%d\x00Bad ptr map entry key=%d expected=(%d,%d) got=(%d,%d)\x00failed to get page %d\x00freelist leaf count too big on page %d\x00%s is %d but should be %d\x00size\x00overflow list length\x00Page %u: \x00unable to get the page. error code=%d\x00btreeInitPage() returns error code %d\x00free space corruption\x00On tree page %u cell %d: \x00On page %u at right child: \x00Offset %d out of range %d..%d\x00Extends off end of page\x00Rowid %lld out of order\x00Child page depth differs\x00Multiple uses for byte %u of page %u\x00Fragmentation of %d bytes reported as %d on page %u\x00Main freelist: \x00max rootpage (%d) disagrees with header (%d)\x00incremental_vacuum enabled with a max rootpage of zero\x00Page %d is never used\x00Pointer map page %d is referenced\x00unknown database %s\x00destination database is in use\x00source and destination must be distinct\x00%!.15g\x00-\x00%s%s\x00k(%d\x00B\x00,%s%s%s\x00N.\x00)\x00%.18s-%s\x00%s(%d)\x00%d\x00(blob)\x00vtab:%p\x00%c%u\x00]\x00program\x00?\x008\x0016LE\x0016BE\x00addr\x00opcode\x00p1\x00p2\x00p3\x00p4\x00p5\x00comment\x00id\x00parent\x00notused\x00detail\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\x00ValueList\x00bind on a busy prepared statement: [%s]\x00-- \x00'%.*q'\x00zeroblob(%d)\x00x'\x00%02x\x00'\x00%s constraint failed\x00%z: %s\x00abort at %d in [%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\x00cannot change %s wal mode from within a transaction\x00into\x00out of\x00database table is locked: %s\x00-- %s\x00statement aborts at %d: [%s] %s\x00NOT NULL\x00UNIQUE\x00CHECK\x00FOREIGN KEY\x00cannot open value of type %s\x00null\x00real\x00integer\x00no such rowid: %lld\x00cannot open virtual table: %s\x00cannot open table without rowid: %s\x00cannot open view: %s\x00no such column: \"%s\"\x00foreign key\x00indexed\x00cannot open %s column for writing\x00main\x00*\x00new\x00old\x00excluded\x00misuse of aliased aggregate %s\x00misuse of aliased window function %s\x00row value misused\x00double-quoted string literal: \"%w\"\x00no such column\x00ambiguous column name\x00%s: %s.%s.%s\x00%s: %s.%s\x00%s: %s\x00partial index WHERE clauses\x00index expressions\x00CHECK constraints\x00generated columns\x00%s prohibited in %s\x00true\x00false\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\x00a GROUP BY clause is required before HAVING\x00GROUP\x00aggregate functions are not allowed in the GROUP BY clause\x00Expression tree is too large (maximum depth %d)\x00IN(...) element has %d term%s - expected %d\x00s\x000\x00too many arguments on function %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\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\x00%sLIST SUBQUERY %d\x00CORRELATED \x00REUSE SUBQUERY %d\x00%sSCALAR SUBQUERY %d\x001\x000x\x00hex literal too big: %s%#T\x00generated column loop on \"%s\"\x00blob\x00text\x00numeric\x00none\x00misuse of aggregate: %#T()\x00unknown function: %#T()\x00RAISE() may only be used within a trigger-program\x00B\x00C\x00D\x00E\x00sqlite_\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') ELSE raise(ABORT,'NOT NULL constraint failed') END FROM pragma_quick_check(%Q,%Q) WHERE quick_check GLOB 'CHECK*' OR quick_check GLOB 'NULL*'\x00virtual tables may not be altered\x00Cannot add a column to a view\x00sqlite_altertab_%s\x00view\x00virtual table\x00cannot %s %s \"%s\"\x00drop column from\x00rename columns of\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')\x00error in %s %s%s%s: %s\x00 \x00CREATE \x00\"%w\" \x00%Q%s\x00%.*s%s\x00cannot drop %s column: \"%s\"\x00PRIMARY KEY\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\x00CREATE TABLE %Q.%s(%s)\x00DELETE FROM %Q.%s WHERE %s=%Q\x00DELETE FROM %Q.%s\x00sqlite_stat1\x00tbl,idx,stat\x00sqlite_stat4\x00tbl,idx,neq,nlt,ndlt,sample\x00sqlite_stat3\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\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\x00sqlite_temp_schema\x00sqlite_schema\x00sqlite_temp_master\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\x00sqlite_returning\x00cannot use RETURNING in a trigger\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'\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\x00unsupported use of NULLS %s\x00FIRST\x00LAST\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\x00CREATE%s INDEX %.*s\x00 UNIQUE\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\x00a JOIN clause is required before %s\x00ON\x00USING\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\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%!.20e\x00%Q\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\x00instr\x00printf\x00format\x00unicode\x00char\x00abs\x00round\x00upper\x00lower\x00hex\x00ifnull\x00random\x00randomblob\x00nullif\x00sqlite_version\x00sqlite_source_id\x00sqlite_log\x00quote\x00last_insert_rowid\x00changes\x00total_changes\x00replace\x00zeroblob\x00substr\x00substring\x00sum\x00total\x00avg\x00count\x00group_concat\x00glob\x00coalesce\x00ceil\x00ceiling\x00floor\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\x00foreign key mismatch - \"%w\" referencing \"%w\"\x00cannot INSERT into generated column \"%s\"\x00table %S has no column named %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\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]\x00dylib\x00automatic extension loading failed: %s\x00seq\x00from\x00to\x00on_update\x00on_delete\x00match\x00cid\x00name\x00type\x00notnull\x00dflt_value\x00pk\x00hidden\x00schema\x00ncol\x00wr\x00strict\x00seqno\x00desc\x00coll\x00key\x00builtin\x00enc\x00narg\x00flags\x00wdth\x00hght\x00flgs\x00unique\x00origin\x00partial\x00rowid\x00fkid\x00file\x00busy\x00checkpointed\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\x00onoffalseyestruextrafull\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\x00w\x00a\x00sissii\x00utf8\x00utf16le\x00utf16be\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\x00NULL value in %s.%s\x00non-%s value in %s.%s\x00CHECK constraint failed in %s\x00row \x00 missing from index \x00non-unique entry in index \x00wrong # of entries in index \x00ok\x00unsupported encoding: %s\x00restart\x00ANALYZE \"%w\".\"%w\"\x00UTF8\x00UTF-8\x00UTF-16le\x00UTF-16be\x00UTF16le\x00UTF16be\x00UTF-16\x00UTF16\x00CREATE TABLE x\x00%c\"%s\"\x00(\"%s\"\x00,arg HIDDEN\x00,schema HIDDEN\x00PRAGMA \x00%Q.\x00=%Q\x00error in %s %s after %s: %s\x00malformed database schema (%s)\x00%z - %s\x00rename\x00drop column\x00add column\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 or unsupported join type: %T %T%s%T\x00RIGHT and FULL OUTER JOINs are not currently supported\x00naturaleftouterightfullinnercross\x00a NATURAL join may not have an ON or USING clause\x00cannot have both ON and USING clauses in the same join\x00cannot join using column %s - column not present in both tables\x00UNION ALL\x00INTERSECT\x00EXCEPT\x00UNION\x00USE TEMP B-TREE FOR %s\x00column%d\x00%.*z:%u\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\x00subquery_%u\x00too many references to \"%s\": max 65535\x00access to view \"%s\" prohibited\x00unsafe use of virtual table \"%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)\x00SCAN %s%s%s\x00 USING COVERING INDEX \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\x00RIGHT PART OF ORDER BY\x00ORDER 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\x00trigger %T already exists\x00cannot create trigger on system table\x00cannot create %s trigger on view: %S\x00BEFORE\x00AFTER\x00cannot create INSTEAD OF trigger on 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'\x00%s RETURNING is not available on virtual tables\x00DELETE\x00UPDATE\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\x00ATTACH %Q AS vacuum_db\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 vacuum_db.'||quote(name)||' SELECT*FROM\"%w\".'||quote(name)FROM vacuum_db.sqlite_schema WHERE type='table'AND coalesce(rootpage,1)>0\x00INSERT INTO vacuum_db.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\x00\x00 AND \x00(\x00 (\x00%s=?\x00ANY(%s)\x00>\x00<\x00%s %S\x00SEARCH\x00SCAN\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 %d:%s\x00BLOOM FILTER ON %S (\x00rowid=?\x00MULTI-INDEX OR\x00INDEX %d\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\x00second argument to nth_value must be a positive integer\x00argument of ntile must be a positive integer\x00row_number\x00dense_rank\x00rank\x00percent_rank\x00cume_dist\x00ntile\x00last_value\x00nth_value\x00first_value\x00lead\x00lag\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\x00%s clause should come after %s not before\x00LIMIT\x00too many terms in compound SELECT\x00syntax error after column name \"%.*s\"\x00parser stack overflow\x00unknown table option: %.*s\x00set list\x00near \"%T\": syntax error\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\x00unknown error\x00abort due to ROLLBACK\x00another row available\x00no more rows available\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\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\x00mode\x00no such %s mode: %s\x00%s mode not allowed: %s\x00no such vfs: %s\x00shared\x00private\x00ro\x00rw\x00rwc\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\x000123456789abcdef\x00JSON cannot hold BLOB values\x00malformed JSON\x00[0]\x00JSON path error near '%q'\x00json_%s() needs an odd number of arguments\x00$[\x00$.\x00json_object() requires an even number of arguments\x00json_object() labels must be TEXT\x00set\x00insert\x00[]\x00{}\x00CREATE TABLE x(key,value,type,atom,id,parent,fullkey,path,json HIDDEN,root HIDDEN)\x00[%d]\x00.%.*s\x00$\x00json\x00json_array\x00json_array_length\x00json_extract\x00->\x00->>\x00json_insert\x00json_object\x00json_patch\x00json_quote\x00json_remove\x00json_replace\x00json_set\x00json_type\x00json_valid\x00json_group_array\x00json_group_object\x00json_each\x00json_tree\x00%s_node\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\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\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\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\x00CREATE TABLE x(%.*s INT\x00,%.*s\x00);\x00,%.*s REAL\x00,%.*s INT\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\x00Mapping (%lld -> %lld) missing from %s table\x00%_rowid\x00%_parent\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\x00END\x00wrong number of arguments to function rtreecheck()\x00[\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\x00geopoly_area\x00geopoly_blob\x00geopoly_json\x00geopoly_svg\x00geopoly_contains_point\x00geopoly_debug\x00geopoly_bbox\x00geopoly_xform\x00geopoly_regular\x00geopoly_ccw\x00geopoly_group_bbox\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;\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\x00AND rootpage!=0 AND rootpage IS NOT NULL\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\x00table %q %s rbu_rowid column\x00may not have\x00requires\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%z%s\"%w\" %s %sCOLLATE %Q%s\x00 NOT NULL\x00%z, %z\x00CREATE TABLE \"rbu_imp_%w\"(%z)%s\x00 WITHOUT ROWID\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\x00SELECT %s, 0 AS rbu_control FROM '%q' %s %s %s ORDER BY %s%s\x00AND\x00WHERE\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_\x00INSERT INTO \"%s%w\"(%s%s) VALUES(%s)\x00, _rowid_\x00DELETE FROM \"%s%w\" WHERE %s\x00, rbu_rowid\x00CREATE TABLE IF NOT EXISTS %s.'rbu_tmp_%q' AS SELECT *%s FROM '%q' WHERE 0;\x00, 0 AS rbu_rowid\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\x00SELECT %s,%s rbu_control%s FROM '%q'%s %s %s %s\x000 AS \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\x00file:%s-vactmp?rbu_memory=1%s%s\x00&\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, %d), (%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\x00database modified during rbu %s\x00vacuum\x00update\x00BEGIN IMMEDIATE\x00PRAGMA journal_mode=off\x00-vactmp\x00DELETE FROM stat.rbu_state\x00rbu/zipvfs setup error\x00rbu(%s)/%z\x00rbu_memory\x00SELECT 0, 'tbl', '', 0, '', 1 UNION ALL SELECT 1, 'idx', '', 0, '', 2 UNION ALL SELECT 2, 'stat', '', 0, '', 0\x00PRAGMA '%q'.table_info('%q')\x00%z%s\"%w\".\"%w\".\"%w\"=\"%w\".\"%w\".\"%w\"\x00%z%s\"%w\".\"%w\".\"%w\" IS NOT \"%w\".\"%w\".\"%w\"\x00 OR \x00SELECT * FROM \"%w\".\"%w\" WHERE NOT EXISTS ( SELECT 1 FROM \"%w\".\"%w\" WHERE %s)\x00SELECT * FROM \"%w\".\"%w\", \"%w\".\"%w\" WHERE %s AND (%z)\x00table schemas do not match\x00SELECT tbl, ?2, stat FROM %Q.sqlite_stat1 WHERE tbl IS ?1 AND idx IS (CASE WHEN ?2=X'' THEN NULL ELSE ?2 END)\x00SELECT * FROM \x00 WHERE \x00 IS ?\x00SAVEPOINT changeset\x00RELEASE changeset\x00UPDATE main.\x00 SET \x00 = ?\x00idx IS CASE WHEN length(?4)=0 AND typeof(?4)='blob' THEN NULL ELSE ?4 END \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()\x00snippet\x00highlight\x00bm25\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\x00content_rowid\x00multiple content_rowid=... directives\x00columnsize\x00malformed columnsize=... directive\x00columns\x00malformed detail=... directive\x00unrecognized option: \"%.*s\"\x00reserved fts5 column name: %s\x00unindexed\x00unrecognized column option: %s\x00T.%Q\x00, T.%Q\x00, T.c%d\x00reserved fts5 table name: %s\x00parse error in \"%s\"\x00docsize\x00%Q.'%q_%s'\x00CREATE TABLE x(\x00%z%s%Q\x00%z, %Q HIDDEN, %s HIDDEN)\x00pgsz\x00hashsize\x00automerge\x00usermerge\x00crisismerge\x00SELECT k, v FROM %Q.'%q_config'\x00version\x00invalid fts5 file format (found %d, expected %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)\x00fts5: %s queries are not supported (detail!=full)\x00phrase\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=?\x00PRAGMA %Q.data_version\x00SELECT pgno FROM '%q'.'%q_idx' WHERE segid=? AND term<=? ORDER BY term DESC LIMIT 1\x00INSERT INTO '%q'.'%q_idx'(segid,term,pgno) VALUES(?,?,?)\x00%s_data\x00id INTEGER PRIMARY KEY, block BLOB\x00segid, term, pgno, PRIMARY KEY(segid, term)\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\x00SELECT rowid, rank FROM %Q.%Q ORDER BY %s(\"%w\"%s%s) %s\x00DESC\x00ASC\x00reads\x00unknown special query: %.*s\x00SELECT %s\x00no such function: %s\x00parse error in rank function: %s\x00%s: table does not support scanning\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\x00cannot %s contentless fts5 table: %s\x00DELETE from\x00no such cursor: %lld\x00no such tokenizer: %s\x00error in tokenizer constructor\x00fts5_api_ptr\x00fts5: 2022-03-26 13:51:10 d33c709cc0af66bc5b6dc6216eba9f1f0b40960b9ae83694c986fbf4c1d6f08f\x00config\x00fts5\x00fts5_source_id\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(?,?)\x00DELETE FROM %Q.'%q_docsize' WHERE id=?\x00SELECT sz FROM %Q.'%q_docsize' WHERE id=?\x00REPLACE INTO %Q.'%q_config' VALUES(?,?)\x00SELECT %s FROM %s AS T\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\x00id INTEGER PRIMARY KEY, sz BLOB\x00k PRIMARY KEY, v\x00DELETE FROM %Q.'%q_data';DELETE FROM %Q.'%q_idx';\x00DELETE FROM %Q.'%q_docsize';\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\x00ascii\x00porter\x00trigram\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\x002022-03-26 13:51:10 d33c709cc0af66bc5b6dc6216eba9f1f0b40960b9ae83694c986fbf4c1d6f08f\x00" var ts = (*reflect.StringHeader)(unsafe.Pointer(&ts1)).Data diff --git a/vendor/modernc.org/sqlite/lib/sqlite_darwin_arm64.go b/vendor/modernc.org/sqlite/lib/sqlite_darwin_arm64.go index 5da1545f..e4c03c18 100644 --- a/vendor/modernc.org/sqlite/lib/sqlite_darwin_arm64.go +++ b/vendor/modernc.org/sqlite/lib/sqlite_darwin_arm64.go @@ -1,4 +1,4 @@ -// Code generated by 'ccgo -DSQLITE_PRIVATE= -export-defines "" -export-enums "" -export-externs X -export-fields F -export-typedefs "" -ignore-unsupported-alignment -pkgname sqlite3 -o lib/sqlite_darwin_arm64.go -trace-translation-units testdata/sqlite-amalgamation-3380100/sqlite3.c -DNDEBUG -DHAVE_USLEEP -DLONGDOUBLE_TYPE=double -DSQLITE_CORE -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_GEOPOLY -DSQLITE_ENABLE_MATH_FUNCTIONS -DSQLITE_ENABLE_MEMORY_MANAGEMENT -DSQLITE_ENABLE_OFFSET_SQL_FUNC -DSQLITE_ENABLE_PREUPDATE_HOOK -DSQLITE_ENABLE_RBU -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_SESSION -DSQLITE_ENABLE_SNAPSHOT -DSQLITE_ENABLE_STAT4 -DSQLITE_ENABLE_UNLOCK_NOTIFY -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_MUTEX_APPDEF=1 -DSQLITE_MUTEX_NOOP -DSQLITE_SOUNDEX -DSQLITE_THREADSAFE=1 -DSQLITE_OS_UNIX=1 -DSQLITE_WITHOUT_ZONEMALLOC', DO NOT EDIT. +// Code generated by 'ccgo -DSQLITE_PRIVATE= -export-defines "" -export-enums "" -export-externs X -export-fields F -export-typedefs "" -ignore-unsupported-alignment -pkgname sqlite3 -o lib/sqlite_darwin_arm64.go -trace-translation-units testdata/sqlite-amalgamation-3380200/sqlite3.c -DNDEBUG -DHAVE_USLEEP -DLONGDOUBLE_TYPE=double -DSQLITE_CORE -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_GEOPOLY -DSQLITE_ENABLE_MATH_FUNCTIONS -DSQLITE_ENABLE_MEMORY_MANAGEMENT -DSQLITE_ENABLE_OFFSET_SQL_FUNC -DSQLITE_ENABLE_PREUPDATE_HOOK -DSQLITE_ENABLE_RBU -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_SESSION -DSQLITE_ENABLE_SNAPSHOT -DSQLITE_ENABLE_STAT4 -DSQLITE_ENABLE_UNLOCK_NOTIFY -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_MUTEX_APPDEF=1 -DSQLITE_MUTEX_NOOP -DSQLITE_SOUNDEX -DSQLITE_THREADSAFE=1 -DSQLITE_OS_UNIX=1 -DSQLITE_WITHOUT_ZONEMALLOC', DO NOT EDIT. package sqlite3 @@ -144,6 +144,7 @@ const ( AT_REMOVEDIR = 0x0080 AT_SYMLINK_FOLLOW = 0x0040 AT_SYMLINK_NOFOLLOW = 0x0020 + AT_SYMLINK_NOFOLLOW_ANY = 0x0800 AUC_AUDITING = 1 AUC_DISABLED = -1 AUC_NOAUDIT = 2 @@ -332,7 +333,6 @@ const ( CLD_NOOP = 0 CLD_STOPPED = 5 CLD_TRAPPED = 4 - CLOCKS_PER_SEC = 1000000 CLOFF = 4095 CLOFSET = 4095 CLSHIFT = 12 @@ -607,6 +607,7 @@ const ( FSHIFT = 11 FSOPT_ATTR_CMN_EXTENDED = 0x00000020 FSOPT_NOFOLLOW = 0x00000001 + FSOPT_NOFOLLOW_ANY = 0x00000800 FSOPT_NOINMEMUPDATE = 0x00000002 FSOPT_PACK_INVAL_ATTRS = 0x00000008 FSOPT_REPORT_FULLSIZE = 0x00000004 @@ -742,6 +743,7 @@ const ( F_FINDSIGS = 78 F_FLUSH_DATA = 40 F_FREEZE_FS = 53 + F_FSRESERVED = 106 F_FULLFSYNC = 51 F_GETCODEDIR = 72 F_GETFD = 1 @@ -1169,6 +1171,7 @@ const ( MNT_NOBLOCK = 0x00020000 MNT_NODEV = 0x00000010 MNT_NOEXEC = 0x00000004 + MNT_NOFOLLOW = 0x08000000 MNT_NOSUID = 0x00000008 MNT_NOUSERXATTR = 0x01000000 MNT_NOWAIT = 2 @@ -1184,7 +1187,7 @@ const ( MNT_UNION = 0x00000020 MNT_UNKNOWNPERMISSIONS = 2097152 MNT_UPDATE = 0x00010000 - MNT_VISFLAGMASK = 3622893567 + MNT_VISFLAGMASK = 3757111295 MNT_WAIT = 1 MPG_FLAGS_IMMOVABLE_PINNED = 72057594037927936 MPG_FLAGS_MOD_REFS_PINNED_COPYIN = 288230376151711744 @@ -1771,6 +1774,8 @@ const ( READMARK_NOT_USED = 0xffffffff READ_LOCK = 1 RENAME_EXCL = 0x00000004 + RENAME_NOFOLLOW_ANY = 0x00000010 + RENAME_RESERVED1 = 0x00000008 RENAME_SECLUDE = 0x00000001 RENAME_SWAP = 0x00000002 RESERVED_LOCK = 2 @@ -2564,7 +2569,7 @@ const ( SQLITE_SHM_UNLOCK = 1 SQLITE_SORTER_PMASZ = 250 SQLITE_SOUNDEX = 1 - SQLITE_SOURCE_ID = "2022-03-12 13:37:29 38c210fdd258658321c85ec9c01a072fda3ada94540e3239d29b34dc547a8cbc" + SQLITE_SOURCE_ID = "2022-03-26 13:51:10 d33c709cc0af66bc5b6dc6216eba9f1f0b40960b9ae83694c986fbf4c1d6f08f" SQLITE_SO_ASC = 0 SQLITE_SO_DESC = 1 SQLITE_SO_UNDEFINED = -1 @@ -2672,8 +2677,8 @@ const ( SQLITE_UTF8 = 1 SQLITE_VDBEINT_H = 0 SQLITE_VDBE_H = 0 - SQLITE_VERSION = "3.38.1" - SQLITE_VERSION_NUMBER = 3038001 + SQLITE_VERSION = "3.38.2" + SQLITE_VERSION_NUMBER = 3038002 SQLITE_VTABRISK_High = 2 SQLITE_VTABRISK_Low = 0 SQLITE_VTABRISK_Normal = 1 @@ -3922,7 +3927,7 @@ const ( /* port.h:394:1: */ // // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ -const ( /* fcntl.h:545:1: */ +const ( /* fcntl.h:547:1: */ FILESEC_OWNER = 1 FILESEC_GROUP = 2 FILESEC_UUID = 3 @@ -4285,7 +4290,7 @@ var X__darwin_check_fd_set_overflow uintptr /* :146:5: */ // ***************************************************************************** // // This file is an amalgamation of many separate C source files from SQLite -// version 3.38.1. By combining all the individual C code files into this +// version 3.38.2. By combining all the individual C code files into this // single large file, the entire code can be compiled as a single translation // unit. This allows many compilers to do optimizations that would not be // possible if the files were compiled separately. Performance improvements @@ -8971,6 +8976,20 @@ type _ht = struct { // __XNU_PRIVATE_EXTERN is a linkage decoration indicating that a symbol can be // used from other compilation units, but not other libraries or executables. +// We intentionally define to nothing pointer attributes which do not have an +// impact on the ABI. __indexable and __bidi_indexable are not defined because +// of the ABI incompatibility that makes the diagnostic preferable. + +// Similarly, we intentionally define to nothing the +// __ptrcheck_abi_assume_single and __ptrcheck_abi_assume_unsafe_indexable +// macros because they do not lead to an ABI incompatibility. However, we do not +// define the indexable and unsafe_indexable ones because the diagnostic is +// better than the silent ABI break. + +// __unsafe_forge intrinsics are defined as regular C casts. + +// decay operates normally; attribute is meaningless without pointer checks. + // Architecture validation for current SDK // Similar to OS_ENUM/OS_CLOSED_ENUM/OS_OPTIONS/OS_CLOSED_OPTIONS @@ -11352,21 +11371,21 @@ type __darwin_arm_thread_state64 = struct { type __darwin_arm_vfp_state = struct { F__r [64]X__uint32_t F__fpscr X__uint32_t -} /* _structs.h:424:1 */ +} /* _structs.h:433:1 */ type __darwin_arm_neon_state64 = struct { F__v [32]X__uint128_t F__fpsr X__uint32_t F__fpcr X__uint32_t -} /* _structs.h:443:1 */ +} /* _structs.h:452:1 */ type __darwin_arm_neon_state = struct { F__v [16]X__uint128_t F__fpsr X__uint32_t F__fpcr X__uint32_t -} /* _structs.h:450:1 */ +} /* _structs.h:459:1 */ -type __arm_pagein_state = struct{ F__pagein_error int32 } /* _structs.h:514:1 */ +type __arm_pagein_state = struct{ F__pagein_error int32 } /* _structs.h:523:1 */ // Debug State @@ -11377,7 +11396,7 @@ type __arm_legacy_debug_state = struct { F__bcr [16]X__uint32_t F__wvr [16]X__uint32_t F__wcr [16]X__uint32_t -} /* _structs.h:551:1 */ +} /* _structs.h:560:1 */ type __darwin_arm_debug_state32 = struct { F__bvr [16]X__uint32_t @@ -11385,7 +11404,7 @@ type __darwin_arm_debug_state32 = struct { F__wvr [16]X__uint32_t F__wcr [16]X__uint32_t F__mdscr_el1 X__uint64_t -} /* _structs.h:574:1 */ +} /* _structs.h:583:1 */ type __darwin_arm_debug_state64 = struct { F__bvr [16]X__uint64_t @@ -11393,9 +11412,9 @@ type __darwin_arm_debug_state64 = struct { F__wvr [16]X__uint64_t F__wcr [16]X__uint64_t F__mdscr_el1 X__uint64_t -} /* _structs.h:584:1 */ +} /* _structs.h:593:1 */ -type __darwin_arm_cpmu_state64 = struct{ F__ctrs [16]X__uint64_t } /* _structs.h:616:1 */ +type __darwin_arm_cpmu_state64 = struct{ F__ctrs [16]X__uint64_t } /* _structs.h:625:1 */ type __darwin_mcontext32 = struct { F__es struct { @@ -28939,7 +28958,7 @@ type flock = struct { Fl_pid Pid_t Fl_type int16 Fl_whence int16 -} /* fcntl.h:359:1 */ +} /* fcntl.h:361:1 */ // Copyright (c) 2003-2012 Apple Inc. All rights reserved. // @@ -28981,7 +29000,7 @@ type flocktimeout = struct { Ftv_sec X__darwin_time_t Ftv_nsec int64 } -} /* fcntl.h:374:1 */ +} /* fcntl.h:376:1 */ // advisory file read data type - // information passed by user to system @@ -28990,7 +29009,7 @@ type radvisory = struct { Fra_offset Off_t Fra_count int32 F__ccgo_pad1 [4]byte -} /* fcntl.h:387:1 */ +} /* fcntl.h:389:1 */ // detached code signatures data type - // information passed by user to system used by F_ADDSIGS and F_ADDFILESIGS. @@ -29003,13 +29022,13 @@ type fsignatures = struct { Ffs_fsignatures_size Size_t Ffs_cdhash [20]int8 Ffs_hash_type int32 -} /* fcntl.h:400:9 */ +} /* fcntl.h:402:9 */ // detached code signatures data type - // information passed by user to system used by F_ADDSIGS and F_ADDFILESIGS. // F_ADDFILESIGS is a shortcut for files that contain their own signature and // doesn't require mapping of the file in order to load the signature. -type Fsignatures_t = fsignatures /* fcntl.h:410:3 */ +type Fsignatures_t = fsignatures /* fcntl.h:412:3 */ type fsupplement = struct { Ffs_file_start Off_t @@ -29017,9 +29036,9 @@ type fsupplement = struct { Ffs_blob_size Size_t Ffs_orig_fd int32 F__ccgo_pad1 [4]byte -} /* fcntl.h:412:9 */ +} /* fcntl.h:414:9 */ -type Fsupplement_t = fsupplement /* fcntl.h:417:3 */ +type Fsupplement_t = fsupplement /* fcntl.h:419:3 */ // DYLD needs to check if the object is allowed to be combined // into the main binary. This is done between the code signature @@ -29033,7 +29052,7 @@ type fchecklv = struct { Flv_file_start Off_t Flv_error_message_size Size_t Flv_error_message uintptr -} /* fcntl.h:431:9 */ +} /* fcntl.h:433:9 */ // DYLD needs to check if the object is allowed to be combined // into the main binary. This is done between the code signature @@ -29043,7 +29062,7 @@ type fchecklv = struct { // the MAC module doesn't say no when LV isn't enabled and then that // is cached on the vnode, and the MAC module never gets change once // a process that library validation enabled. -type Fchecklv_t = fchecklv /* fcntl.h:435:3 */ +type Fchecklv_t = fchecklv /* fcntl.h:437:3 */ // At this time F_GETSIGSINFO can only indicate platformness. // As additional requestable information is defined, new keys will be added and the @@ -29054,14 +29073,14 @@ type fgetsigsinfo = struct { Ffg_file_start Off_t Ffg_info_request int32 Ffg_sig_is_platform int32 -} /* fcntl.h:445:9 */ +} /* fcntl.h:447:9 */ // At this time F_GETSIGSINFO can only indicate platformness. // As additional requestable information is defined, new keys will be added and the // fgetsigsinfo_t structure will be lengthened to add space for the additional information // fgetsigsinfo_t used by F_GETSIGSINFO command -type Fgetsigsinfo_t = fgetsigsinfo /* fcntl.h:449:3 */ +type Fgetsigsinfo_t = fgetsigsinfo /* fcntl.h:451:3 */ // lock operations for flock(2) @@ -29073,13 +29092,13 @@ type fstore = struct { Ffst_offset Off_t Ffst_length Off_t Ffst_bytesalloc Off_t -} /* fcntl.h:460:9 */ +} /* fcntl.h:462:9 */ // lock operations for flock(2) // fstore_t type used by F_PREALLOCATE command -type Fstore_t = fstore /* fcntl.h:466:3 */ +type Fstore_t = fstore /* fcntl.h:468:3 */ // fpunchhole_t used by F_PUNCHHOLE type fpunchhole = struct { @@ -29087,19 +29106,19 @@ type fpunchhole = struct { Freserved uint32 Ffp_offset Off_t Ffp_length Off_t -} /* fcntl.h:469:9 */ +} /* fcntl.h:471:9 */ // fpunchhole_t used by F_PUNCHHOLE -type Fpunchhole_t = fpunchhole /* fcntl.h:474:3 */ +type Fpunchhole_t = fpunchhole /* fcntl.h:476:3 */ // factive_file_trim_t used by F_TRIM_ACTIVE_FILE type ftrimactivefile = struct { Ffta_offset Off_t Ffta_length Off_t -} /* fcntl.h:477:9 */ +} /* fcntl.h:479:9 */ // factive_file_trim_t used by F_TRIM_ACTIVE_FILE -type Ftrimactivefile_t = ftrimactivefile /* fcntl.h:480:3 */ +type Ftrimactivefile_t = ftrimactivefile /* fcntl.h:482:3 */ // fspecread_t used by F_SPECULATIVE_READ type fspecread = struct { @@ -29107,10 +29126,10 @@ type fspecread = struct { Freserved uint32 Ffsr_offset Off_t Ffsr_length Off_t -} /* fcntl.h:483:9 */ +} /* fcntl.h:485:9 */ // fspecread_t used by F_SPECULATIVE_READ -type Fspecread_t = fspecread /* fcntl.h:488:3 */ +type Fspecread_t = fspecread /* fcntl.h:490:3 */ // fbootstraptransfer_t used by F_READBOOTSTRAP and F_WRITEBOOTSTRAP commands @@ -29118,11 +29137,11 @@ type fbootstraptransfer = struct { Ffbt_offset Off_t Ffbt_length Size_t Ffbt_buffer uintptr -} /* fcntl.h:492:9 */ +} /* fcntl.h:494:9 */ // fbootstraptransfer_t used by F_READBOOTSTRAP and F_WRITEBOOTSTRAP commands -type Fbootstraptransfer_t = fbootstraptransfer /* fcntl.h:496:3 */ +type Fbootstraptransfer_t = fbootstraptransfer /* fcntl.h:498:3 */ // For F_LOG2PHYS this information is passed back to user // Currently only devoffset is returned - that is the VOP_BMAP @@ -29149,7 +29168,7 @@ type log2phys = struct { F__ccgo_pad1 [4]byte Fl2p_contigbytes Off_t Fl2p_devoffset Off_t -} /* fcntl.h:522:1 */ +} /* fcntl.h:524:1 */ // Copyright (c) 2003-2012 Apple Inc. All rights reserved. // @@ -29177,7 +29196,7 @@ type log2phys = struct { // // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ -type Filesec_property_t = uint32 /* fcntl.h:556:3 */ +type Filesec_property_t = uint32 /* fcntl.h:558:3 */ // Copyright (c) 2000 Apple Computer, Inc. All rights reserved. // @@ -32763,15 +32782,15 @@ type xucred = struct { // but we put a sanity check in to avoid abuse of the value passed in from // user land. -type Text_encoding_t = U_int32_t /* attr.h:63:19 */ +type Text_encoding_t = U_int32_t /* attr.h:64:19 */ -type Fsobj_type_t = U_int32_t /* attr.h:65:19 */ +type Fsobj_type_t = U_int32_t /* attr.h:66:19 */ -type Fsobj_tag_t = U_int32_t /* attr.h:67:19 */ +type Fsobj_tag_t = U_int32_t /* attr.h:68:19 */ -type Fsfile_type_t = U_int32_t /* attr.h:69:19 */ +type Fsfile_type_t = U_int32_t /* attr.h:70:19 */ -type Fsvolid_t = U_int32_t /* attr.h:71:19 */ +type Fsvolid_t = U_int32_t /* attr.h:72:19 */ // Copyright (c) 2016 Apple Inc. All rights reserved. // @@ -32884,7 +32903,7 @@ type fsobj_id = struct { type Fsobj_id_t = fsobj_id /* _fsobj_id_t.h:36:3 */ -type Attrgroup_t = U_int32_t /* attr.h:75:19 */ +type Attrgroup_t = U_int32_t /* attr.h:76:19 */ type attrlist = struct { Fbitmapcount U_short @@ -32902,34 +32921,34 @@ type attribute_set = struct { Fdirattr Attrgroup_t Ffileattr Attrgroup_t Fforkattr Attrgroup_t -} /* attr.h:89:9 */ +} /* attr.h:90:9 */ -type Attribute_set_t = attribute_set /* attr.h:95:3 */ +type Attribute_set_t = attribute_set /* attr.h:96:3 */ type attrreference = struct { Fattr_dataoffset Int32_t Fattr_length U_int32_t -} /* attr.h:100:9 */ +} /* attr.h:101:9 */ -type Attrreference_t = attrreference /* attr.h:103:3 */ +type Attrreference_t = attrreference /* attr.h:104:3 */ // XXX PPD This is derived from HFSVolumePriv.h and should perhaps be referenced from there? type diskextent = struct { Fstartblock U_int32_t Fblockcount U_int32_t -} /* attr.h:107:1 */ +} /* attr.h:108:1 */ -type Extentrecord = [8]diskextent /* attr.h:112:27 */ +type Extentrecord = [8]diskextent /* attr.h:113:27 */ -type Vol_capabilities_set_t = [4]U_int32_t /* attr.h:114:19 */ +type Vol_capabilities_set_t = [4]U_int32_t /* attr.h:115:19 */ type vol_capabilities_attr = struct { Fcapabilities Vol_capabilities_set_t Fvalid Vol_capabilities_set_t -} /* attr.h:121:9 */ +} /* attr.h:122:9 */ -type Vol_capabilities_attr_t = vol_capabilities_attr /* attr.h:124:3 */ +type Vol_capabilities_attr_t = vol_capabilities_attr /* attr.h:125:3 */ // XXX this value needs to be raised - 3893388 @@ -33125,7 +33144,7 @@ type Vol_capabilities_attr_t = vol_capabilities_attr /* attr.h:124:3 */ type vol_attributes_attr = struct { Fvalidattr Attribute_set_t Fnativeattr Attribute_set_t -} /* attr.h:370:9 */ +} /* attr.h:371:9 */ // XXX this value needs to be raised - 3893388 @@ -33318,7 +33337,7 @@ type vol_attributes_attr = struct { // VOL_CAP_INT_RENAME_OPENFAIL: When set, the volume may fail rename // operations on files that are open. -type Vol_attributes_attr_t = vol_attributes_attr /* attr.h:373:3 */ +type Vol_attributes_attr_t = vol_attributes_attr /* attr.h:374:3 */ // Copyright (c) 2008-2020 Apple Inc. All rights reserved. // @@ -33913,8 +33932,8 @@ type vfsstatfs = struct { Ff_reserved [2]uintptr } /* mount.h:163:1 */ -type Mount_t = uintptr /* mount.h:294:22 */ -type Vnode_t = uintptr /* mount.h:296:22 */ +type Mount_t = uintptr /* mount.h:296:22 */ +type Vnode_t = uintptr /* mount.h:298:22 */ // Reserved fields preserve binary compatibility type vfsconf = struct { @@ -33926,7 +33945,7 @@ type vfsconf = struct { Fvfc_flags int32 Fvfc_reserved2 Uint32_t Fvfc_reserved3 Uint32_t -} /* mount.h:300:1 */ +} /* mount.h:302:1 */ type vfsidctl = struct { Fvc_vers int32 @@ -33935,7 +33954,7 @@ type vfsidctl = struct { Fvc_ptr uintptr Fvc_len Size_t Fvc_spare [12]U_int32_t -} /* mount.h:310:1 */ +} /* mount.h:312:1 */ // vfsidctl API version. @@ -33948,12 +33967,12 @@ type vfsidctl = struct { type vfsquery = struct { Fvq_flags U_int32_t Fvq_spare [31]U_int32_t -} /* mount.h:349:1 */ +} /* mount.h:351:1 */ type vfs_server = struct { Fvs_minutes Int32_t Fvs_server_name [768]U_int8_t -} /* mount.h:354:1 */ +} /* mount.h:356:1 */ // NetFS mount status - returned by VFS_CTL_NSTATUS type netfs_status = struct { @@ -33963,7 +33982,7 @@ type netfs_status = struct { Fns_waittime Uint32_t Fns_threadcount Uint32_t F__ccgo_pad2 [4]byte -} /* mount.h:362:1 */ +} /* mount.h:364:1 */ // vfsquery flags @@ -33971,9 +33990,9 @@ type netfs_status = struct { type fhandle = struct { Ffh_len uint32 Ffh_data [128]uint8 -} /* mount.h:398:1 */ +} /* mount.h:400:1 */ -type Fhandle_t = fhandle /* mount.h:402:25 */ +type Fhandle_t = fhandle /* mount.h:404:25 */ // Allowed values of unixFile.fsFlags @@ -37645,12 +37664,22 @@ var pgsz int32 = 4096 /* sqlite3.c:39581:28 */ // to shared and back or from unlocked to exclusive and back. But one may // not go from shared to exclusive or from exclusive to shared. func unixShmLock(tls *libc.TLS, fd uintptr, ofst int32, n int32, flags int32) int32 { /* sqlite3.c:39687:12: */ - var pDbFd uintptr = fd // Connection holding shared memory - var p uintptr = (*UnixFile)(unsafe.Pointer(pDbFd)).FpShm // The shared memory being locked - var pShmNode uintptr = (*UnixShm)(unsafe.Pointer(p)).FpShmNode // The underlying file iNode - var rc int32 = SQLITE_OK // Result code - var mask U16 // Mask of locks to take or release - var aLock uintptr = pShmNode + 64 /* &.aLock */ + var pDbFd uintptr = fd // Connection holding shared memory + var p uintptr // The shared memory being locked + var pShmNode uintptr // The underlying file iNode + var rc int32 = SQLITE_OK // Result code + var mask U16 // Mask of locks to take or release + var aLock uintptr + + p = (*UnixFile)(unsafe.Pointer(pDbFd)).FpShm + if p == uintptr(0) { + return SQLITE_IOERR | int32(20)<<8 + } + pShmNode = (*UnixShm)(unsafe.Pointer(p)).FpShmNode + if pShmNode == uintptr(0) { + return SQLITE_IOERR | int32(20)<<8 + } + aLock = pShmNode + 64 /* &.aLock */ // Check that, if this to be a blocking lock, no locks that occur later // in the following list than the lock being obtained are already held: @@ -37751,7 +37780,7 @@ func unixShmLock(tls *libc.TLS, fd uintptr, ofst int32, n int32, flags int32) in // // All loads and stores begun before the barrier must complete before // any load or store begun after the barrier. -func unixShmBarrier(tls *libc.TLS, fd uintptr) { /* sqlite3.c:39819:13: */ +func unixShmBarrier(tls *libc.TLS, fd uintptr) { /* sqlite3.c:39825:13: */ _ = fd // compiler-defined memory barrier @@ -37764,7 +37793,7 @@ func unixShmBarrier(tls *libc.TLS, fd uintptr) { /* sqlite3.c:39819:13: */ // // If there is no shared memory associated with the connection then this // routine is a harmless no-op. -func unixShmUnmap(tls *libc.TLS, fd uintptr, deleteFlag int32) int32 { /* sqlite3.c:39838:12: */ +func unixShmUnmap(tls *libc.TLS, fd uintptr, deleteFlag int32) int32 { /* sqlite3.c:39844:12: */ var p uintptr // The connection to be closed var pShmNode uintptr // The underlying shared-memory file var pp uintptr // For looping over sibling connections @@ -37807,7 +37836,7 @@ func unixShmUnmap(tls *libc.TLS, fd uintptr, deleteFlag int32) int32 { /* sqlite } // If it is currently memory mapped, unmap file pFd. -func unixUnmapfile(tls *libc.TLS, pFd uintptr) { /* sqlite3.c:39895:13: */ +func unixUnmapfile(tls *libc.TLS, pFd uintptr) { /* sqlite3.c:39901:13: */ if (*UnixFile)(unsafe.Pointer(pFd)).FpMapRegion != 0 { (*(*func(*libc.TLS, uintptr, Size_t) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 23*24 + 8)))(tls, (*UnixFile)(unsafe.Pointer(pFd)).FpMapRegion, uint64((*UnixFile)(unsafe.Pointer(pFd)).FmmapSizeActual)) @@ -37830,7 +37859,7 @@ func unixUnmapfile(tls *libc.TLS, pFd uintptr) { /* sqlite3.c:39895:13: */ // the three variables above are zeroed. In this case SQLite should // continue accessing the database using the xRead() and xWrite() // methods. -func unixRemapfile(tls *libc.TLS, pFd uintptr, nNew I64) { /* sqlite3.c:39920:13: */ +func unixRemapfile(tls *libc.TLS, pFd uintptr, nNew I64) { /* sqlite3.c:39926:13: */ var zErr uintptr = ts + 3363 /* "mmap" */ var h int32 = (*UnixFile)(unsafe.Pointer(pFd)).Fh // File descriptor open on db file var pOrig uintptr = (*UnixFile)(unsafe.Pointer(pFd)).FpMapRegion // Pointer to current file mapping @@ -37872,7 +37901,7 @@ func unixRemapfile(tls *libc.TLS, pFd uintptr, nNew I64) { /* sqlite3.c:39920:13 if pNew == libc.UintptrFromInt32(-1) { pNew = uintptr(0) nNew = int64(0) - unixLogErrorAtLine(tls, SQLITE_OK, zErr, (*UnixFile)(unsafe.Pointer(pFd)).FzPath, 39985) + unixLogErrorAtLine(tls, SQLITE_OK, zErr, (*UnixFile)(unsafe.Pointer(pFd)).FzPath, 39991) // If the mmap() above failed, assume that all subsequent mmap() calls // will probably fail too. Fall back to using xRead/xWrite exclusively @@ -37897,7 +37926,7 @@ func unixRemapfile(tls *libc.TLS, pFd uintptr, nNew I64) { /* sqlite3.c:39920:13 // SQLITE_OK is returned if no error occurs (even if the mapping is not // recreated as a result of outstanding references) or an SQLite error // code otherwise. -func unixMapfile(tls *libc.TLS, pFd uintptr, nMap I64) int32 { /* sqlite3.c:40012:12: */ +func unixMapfile(tls *libc.TLS, pFd uintptr, nMap I64) int32 { /* sqlite3.c:40018:12: */ bp := tls.Alloc(144) defer tls.Free(144) @@ -37934,7 +37963,7 @@ func unixMapfile(tls *libc.TLS, pFd uintptr, nMap I64) int32 { /* sqlite3.c:4001 // // If this function does return a pointer, the caller must eventually // release the reference by calling unixUnfetch(). -func unixFetch(tls *libc.TLS, fd uintptr, iOff I64, nAmt int32, pp uintptr) int32 { /* sqlite3.c:40049:12: */ +func unixFetch(tls *libc.TLS, fd uintptr, iOff I64, nAmt int32, pp uintptr) int32 { /* sqlite3.c:40055:12: */ var pFd uintptr = fd // The underlying database file *(*uintptr)(unsafe.Pointer(pp)) = uintptr(0) @@ -37961,7 +37990,7 @@ func unixFetch(tls *libc.TLS, fd uintptr, iOff I64, nAmt int32, pp uintptr) int3 // Or, if the third argument is NULL, then this function is being called // to inform the VFS layer that, according to POSIX, any existing mapping // may now be invalid and should be unmapped. -func unixUnfetch(tls *libc.TLS, fd uintptr, iOff I64, p uintptr) int32 { /* sqlite3.c:40080:12: */ +func unixUnfetch(tls *libc.TLS, fd uintptr, iOff I64, p uintptr) int32 { /* sqlite3.c:40086:12: */ var pFd uintptr = fd // The underlying database file _ = iOff @@ -38022,80 +38051,80 @@ func unixUnfetch(tls *libc.TLS, fd uintptr, iOff I64, p uintptr) int32 { /* sqli // Here are all of the sqlite3_io_methods objects for each of the // locking strategies. Functions that return pointers to these methods // are also created. -var posixIoMethods = Sqlite3_io_methods{FiVersion: 3 /* iVersion */, FxClose: 0 /* xClose */, FxRead: 0 /* xRead */, FxWrite: 0 /* xWrite */, FxTruncate: 0 /* xTruncate */, FxSync: 0 /* xSync */, FxFileSize: 0 /* xFileSize */, FxLock: 0 /* xLock */, FxUnlock: 0 /* xUnlock */, FxCheckReservedLock: 0 /* xCheckReservedLock */, FxFileControl: 0 /* xFileControl */, FxSectorSize: 0 /* xSectorSize */, FxDeviceCharacteristics: 0 /* xDeviceCapabilities */, FxShmMap: 0 /* xShmMap */, FxShmLock: 0 /* xShmLock */, FxShmBarrier: 0 /* xShmBarrier */, FxShmUnmap: 0 /* xShmUnmap */, FxFetch: 0 /* xFetch */, FxUnfetch: 0 /* xUnfetch */} /* sqlite3.c:40182:1 */ +var posixIoMethods = Sqlite3_io_methods{FiVersion: 3 /* iVersion */, FxClose: 0 /* xClose */, FxRead: 0 /* xRead */, FxWrite: 0 /* xWrite */, FxTruncate: 0 /* xTruncate */, FxSync: 0 /* xSync */, FxFileSize: 0 /* xFileSize */, FxLock: 0 /* xLock */, FxUnlock: 0 /* xUnlock */, FxCheckReservedLock: 0 /* xCheckReservedLock */, FxFileControl: 0 /* xFileControl */, FxSectorSize: 0 /* xSectorSize */, FxDeviceCharacteristics: 0 /* xDeviceCapabilities */, FxShmMap: 0 /* xShmMap */, FxShmLock: 0 /* xShmLock */, FxShmBarrier: 0 /* xShmBarrier */, FxShmUnmap: 0 /* xShmUnmap */, FxFetch: 0 /* xFetch */, FxUnfetch: 0 /* xUnfetch */} /* sqlite3.c:40188:1 */ -func posixIoFinderImpl(tls *libc.TLS, z uintptr, p uintptr) uintptr { /* sqlite3.c:40182:1: */ +func posixIoFinderImpl(tls *libc.TLS, z uintptr, p uintptr) uintptr { /* sqlite3.c:40188:1: */ _ = z _ = p return uintptr(unsafe.Pointer(&posixIoMethods)) } -var posixIoFinder uintptr = 0 /* sqlite3.c:40182:1 */ -var nolockIoMethods = Sqlite3_io_methods{FiVersion: 3 /* iVersion */, FxClose: 0 /* xClose */, FxRead: 0 /* xRead */, FxWrite: 0 /* xWrite */, FxTruncate: 0 /* xTruncate */, FxSync: 0 /* xSync */, FxFileSize: 0 /* xFileSize */, FxLock: 0 /* xLock */, FxUnlock: 0 /* xUnlock */, FxCheckReservedLock: 0 /* xCheckReservedLock */, FxFileControl: 0 /* xFileControl */, FxSectorSize: 0 /* xSectorSize */, FxDeviceCharacteristics: 0 /* xShmMap */, FxShmLock: 0 /* xShmLock */, FxShmBarrier: 0 /* xShmBarrier */, FxShmUnmap: 0 /* xShmUnmap */, FxFetch: 0 /* xFetch */, FxUnfetch: 0 /* xUnfetch */} /* sqlite3.c:40192:1 */ +var posixIoFinder uintptr = 0 /* sqlite3.c:40188:1 */ +var nolockIoMethods = Sqlite3_io_methods{FiVersion: 3 /* iVersion */, FxClose: 0 /* xClose */, FxRead: 0 /* xRead */, FxWrite: 0 /* xWrite */, FxTruncate: 0 /* xTruncate */, FxSync: 0 /* xSync */, FxFileSize: 0 /* xFileSize */, FxLock: 0 /* xLock */, FxUnlock: 0 /* xUnlock */, FxCheckReservedLock: 0 /* xCheckReservedLock */, FxFileControl: 0 /* xFileControl */, FxSectorSize: 0 /* xSectorSize */, FxDeviceCharacteristics: 0 /* xShmMap */, FxShmLock: 0 /* xShmLock */, FxShmBarrier: 0 /* xShmBarrier */, FxShmUnmap: 0 /* xShmUnmap */, FxFetch: 0 /* xFetch */, FxUnfetch: 0 /* xUnfetch */} /* sqlite3.c:40198:1 */ -func nolockIoFinderImpl(tls *libc.TLS, z uintptr, p uintptr) uintptr { /* sqlite3.c:40192:1: */ +func nolockIoFinderImpl(tls *libc.TLS, z uintptr, p uintptr) uintptr { /* sqlite3.c:40198:1: */ _ = z _ = p return uintptr(unsafe.Pointer(&nolockIoMethods)) } -var nolockIoFinder uintptr = 0 /* sqlite3.c:40192:1 */ -var dotlockIoMethods = Sqlite3_io_methods{FiVersion: 1 /* iVersion */, FxClose: 0 /* xClose */, FxRead: 0 /* xRead */, FxWrite: 0 /* xWrite */, FxTruncate: 0 /* xTruncate */, FxSync: 0 /* xSync */, FxFileSize: 0 /* xFileSize */, FxLock: 0 /* xLock */, FxUnlock: 0 /* xUnlock */, FxCheckReservedLock: 0 /* xCheckReservedLock */, FxFileControl: 0 /* xFileControl */, FxSectorSize: 0 /* xSectorSize */, FxDeviceCharacteristics: 0 /* xShmMap */, FxShmLock: 0 /* xShmLock */, FxShmBarrier: 0 /* xShmBarrier */, FxShmUnmap: 0 /* xShmUnmap */, FxFetch: 0 /* xFetch */, FxUnfetch: 0 /* xUnfetch */} /* sqlite3.c:40202:1 */ +var nolockIoFinder uintptr = 0 /* sqlite3.c:40198:1 */ +var dotlockIoMethods = Sqlite3_io_methods{FiVersion: 1 /* iVersion */, FxClose: 0 /* xClose */, FxRead: 0 /* xRead */, FxWrite: 0 /* xWrite */, FxTruncate: 0 /* xTruncate */, FxSync: 0 /* xSync */, FxFileSize: 0 /* xFileSize */, FxLock: 0 /* xLock */, FxUnlock: 0 /* xUnlock */, FxCheckReservedLock: 0 /* xCheckReservedLock */, FxFileControl: 0 /* xFileControl */, FxSectorSize: 0 /* xSectorSize */, FxDeviceCharacteristics: 0 /* xShmMap */, FxShmLock: 0 /* xShmLock */, FxShmBarrier: 0 /* xShmBarrier */, FxShmUnmap: 0 /* xShmUnmap */, FxFetch: 0 /* xFetch */, FxUnfetch: 0 /* xUnfetch */} /* sqlite3.c:40208:1 */ -func dotlockIoFinderImpl(tls *libc.TLS, z uintptr, p uintptr) uintptr { /* sqlite3.c:40202:1: */ +func dotlockIoFinderImpl(tls *libc.TLS, z uintptr, p uintptr) uintptr { /* sqlite3.c:40208:1: */ _ = z _ = p return uintptr(unsafe.Pointer(&dotlockIoMethods)) } -var dotlockIoFinder uintptr = 0 /* sqlite3.c:40202:1 */ +var dotlockIoFinder uintptr = 0 /* sqlite3.c:40208:1 */ -var flockIoMethods = Sqlite3_io_methods{FiVersion: 1 /* iVersion */, FxClose: 0 /* xClose */, FxRead: 0 /* xRead */, FxWrite: 0 /* xWrite */, FxTruncate: 0 /* xTruncate */, FxSync: 0 /* xSync */, FxFileSize: 0 /* xFileSize */, FxLock: 0 /* xLock */, FxUnlock: 0 /* xUnlock */, FxCheckReservedLock: 0 /* xCheckReservedLock */, FxFileControl: 0 /* xFileControl */, FxSectorSize: 0 /* xSectorSize */, FxDeviceCharacteristics: 0 /* xShmMap */, FxShmLock: 0 /* xShmLock */, FxShmBarrier: 0 /* xShmBarrier */, FxShmUnmap: 0 /* xShmUnmap */, FxFetch: 0 /* xFetch */, FxUnfetch: 0 /* xUnfetch */} /* sqlite3.c:40214:1 */ +var flockIoMethods = Sqlite3_io_methods{FiVersion: 1 /* iVersion */, FxClose: 0 /* xClose */, FxRead: 0 /* xRead */, FxWrite: 0 /* xWrite */, FxTruncate: 0 /* xTruncate */, FxSync: 0 /* xSync */, FxFileSize: 0 /* xFileSize */, FxLock: 0 /* xLock */, FxUnlock: 0 /* xUnlock */, FxCheckReservedLock: 0 /* xCheckReservedLock */, FxFileControl: 0 /* xFileControl */, FxSectorSize: 0 /* xSectorSize */, FxDeviceCharacteristics: 0 /* xShmMap */, FxShmLock: 0 /* xShmLock */, FxShmBarrier: 0 /* xShmBarrier */, FxShmUnmap: 0 /* xShmUnmap */, FxFetch: 0 /* xFetch */, FxUnfetch: 0 /* xUnfetch */} /* sqlite3.c:40220:1 */ -func flockIoFinderImpl(tls *libc.TLS, z uintptr, p uintptr) uintptr { /* sqlite3.c:40214:1: */ +func flockIoFinderImpl(tls *libc.TLS, z uintptr, p uintptr) uintptr { /* sqlite3.c:40220:1: */ _ = z _ = p return uintptr(unsafe.Pointer(&flockIoMethods)) } -var flockIoFinder uintptr = 0 /* sqlite3.c:40214:1 */ +var flockIoFinder uintptr = 0 /* sqlite3.c:40220:1 */ -var afpIoMethods = Sqlite3_io_methods{FiVersion: 1 /* iVersion */, FxClose: 0 /* xClose */, FxRead: 0 /* xRead */, FxWrite: 0 /* xWrite */, FxTruncate: 0 /* xTruncate */, FxSync: 0 /* xSync */, FxFileSize: 0 /* xFileSize */, FxLock: 0 /* xLock */, FxUnlock: 0 /* xUnlock */, FxCheckReservedLock: 0 /* xCheckReservedLock */, FxFileControl: 0 /* xFileControl */, FxSectorSize: 0 /* xSectorSize */, FxDeviceCharacteristics: 0 /* xShmMap */, FxShmLock: 0 /* xShmLock */, FxShmBarrier: 0 /* xShmBarrier */, FxShmUnmap: 0 /* xShmUnmap */, FxFetch: 0 /* xFetch */, FxUnfetch: 0 /* xUnfetch */} /* sqlite3.c:40240:1 */ +var afpIoMethods = Sqlite3_io_methods{FiVersion: 1 /* iVersion */, FxClose: 0 /* xClose */, FxRead: 0 /* xRead */, FxWrite: 0 /* xWrite */, FxTruncate: 0 /* xTruncate */, FxSync: 0 /* xSync */, FxFileSize: 0 /* xFileSize */, FxLock: 0 /* xLock */, FxUnlock: 0 /* xUnlock */, FxCheckReservedLock: 0 /* xCheckReservedLock */, FxFileControl: 0 /* xFileControl */, FxSectorSize: 0 /* xSectorSize */, FxDeviceCharacteristics: 0 /* xShmMap */, FxShmLock: 0 /* xShmLock */, FxShmBarrier: 0 /* xShmBarrier */, FxShmUnmap: 0 /* xShmUnmap */, FxFetch: 0 /* xFetch */, FxUnfetch: 0 /* xUnfetch */} /* sqlite3.c:40246:1 */ -func afpIoFinderImpl(tls *libc.TLS, z uintptr, p uintptr) uintptr { /* sqlite3.c:40240:1: */ +func afpIoFinderImpl(tls *libc.TLS, z uintptr, p uintptr) uintptr { /* sqlite3.c:40246:1: */ _ = z _ = p return uintptr(unsafe.Pointer(&afpIoMethods)) } -var afpIoFinder uintptr = 0 /* sqlite3.c:40240:1 */ -var proxyIoMethods = Sqlite3_io_methods{FiVersion: 1 /* iVersion */, FxClose: 0 /* xClose */, FxRead: 0 /* xRead */, FxWrite: 0 /* xWrite */, FxTruncate: 0 /* xTruncate */, FxSync: 0 /* xSync */, FxFileSize: 0 /* xFileSize */, FxLock: 0 /* xLock */, FxUnlock: 0 /* xUnlock */, FxCheckReservedLock: 0 /* xCheckReservedLock */, FxFileControl: 0 /* xFileControl */, FxSectorSize: 0 /* xSectorSize */, FxDeviceCharacteristics: 0 /* xShmMap */, FxShmLock: 0 /* xShmLock */, FxShmBarrier: 0 /* xShmBarrier */, FxShmUnmap: 0 /* xShmUnmap */, FxFetch: 0 /* xFetch */, FxUnfetch: 0 /* xUnfetch */} /* sqlite3.c:40266:1 */ +var afpIoFinder uintptr = 0 /* sqlite3.c:40246:1 */ +var proxyIoMethods = Sqlite3_io_methods{FiVersion: 1 /* iVersion */, FxClose: 0 /* xClose */, FxRead: 0 /* xRead */, FxWrite: 0 /* xWrite */, FxTruncate: 0 /* xTruncate */, FxSync: 0 /* xSync */, FxFileSize: 0 /* xFileSize */, FxLock: 0 /* xLock */, FxUnlock: 0 /* xUnlock */, FxCheckReservedLock: 0 /* xCheckReservedLock */, FxFileControl: 0 /* xFileControl */, FxSectorSize: 0 /* xSectorSize */, FxDeviceCharacteristics: 0 /* xShmMap */, FxShmLock: 0 /* xShmLock */, FxShmBarrier: 0 /* xShmBarrier */, FxShmUnmap: 0 /* xShmUnmap */, FxFetch: 0 /* xFetch */, FxUnfetch: 0 /* xUnfetch */} /* sqlite3.c:40272:1 */ -func proxyIoFinderImpl(tls *libc.TLS, z uintptr, p uintptr) uintptr { /* sqlite3.c:40266:1: */ +func proxyIoFinderImpl(tls *libc.TLS, z uintptr, p uintptr) uintptr { /* sqlite3.c:40272:1: */ _ = z _ = p return uintptr(unsafe.Pointer(&proxyIoMethods)) } -var proxyIoFinder uintptr = 0 /* sqlite3.c:40266:1 */ +var proxyIoFinder uintptr = 0 /* sqlite3.c:40272:1 */ // nfs lockd on OSX 10.3+ doesn't clear write locks when a read lock is set -var nfsIoMethods = Sqlite3_io_methods{FiVersion: 1 /* iVersion */, FxClose: 0 /* xClose */, FxRead: 0 /* xRead */, FxWrite: 0 /* xWrite */, FxTruncate: 0 /* xTruncate */, FxSync: 0 /* xSync */, FxFileSize: 0 /* xFileSize */, FxLock: 0 /* xLock */, FxUnlock: 0 /* xUnlock */, FxCheckReservedLock: 0 /* xCheckReservedLock */, FxFileControl: 0 /* xFileControl */, FxSectorSize: 0 /* xSectorSize */, FxDeviceCharacteristics: 0 /* xShmMap */, FxShmLock: 0 /* xShmLock */, FxShmBarrier: 0 /* xShmBarrier */, FxShmUnmap: 0 /* xShmUnmap */, FxFetch: 0 /* xFetch */, FxUnfetch: 0 /* xUnfetch */} /* sqlite3.c:40280:1 */ +var nfsIoMethods = Sqlite3_io_methods{FiVersion: 1 /* iVersion */, FxClose: 0 /* xClose */, FxRead: 0 /* xRead */, FxWrite: 0 /* xWrite */, FxTruncate: 0 /* xTruncate */, FxSync: 0 /* xSync */, FxFileSize: 0 /* xFileSize */, FxLock: 0 /* xLock */, FxUnlock: 0 /* xUnlock */, FxCheckReservedLock: 0 /* xCheckReservedLock */, FxFileControl: 0 /* xFileControl */, FxSectorSize: 0 /* xSectorSize */, FxDeviceCharacteristics: 0 /* xShmMap */, FxShmLock: 0 /* xShmLock */, FxShmBarrier: 0 /* xShmBarrier */, FxShmUnmap: 0 /* xShmUnmap */, FxFetch: 0 /* xFetch */, FxUnfetch: 0 /* xUnfetch */} /* sqlite3.c:40286:1 */ -func nfsIoFinderImpl(tls *libc.TLS, z uintptr, p uintptr) uintptr { /* sqlite3.c:40280:1: */ +func nfsIoFinderImpl(tls *libc.TLS, z uintptr, p uintptr) uintptr { /* sqlite3.c:40286:1: */ _ = z _ = p return uintptr(unsafe.Pointer(&nfsIoMethods)) } -var nfsIoFinder uintptr = 0 /* sqlite3.c:40280:1 */ +var nfsIoFinder uintptr = 0 /* sqlite3.c:40286:1 */ // This "finder" function attempts to determine the best locking strategy // for the database file "filePath". It then returns the sqlite3_io_methods // object that implements that strategy. // // This is for MacOSX only. -func autolockIoFinderImpl(tls *libc.TLS, filePath uintptr, pNew uintptr) uintptr { /* sqlite3.c:40300:33: */ +func autolockIoFinderImpl(tls *libc.TLS, filePath uintptr, pNew uintptr) uintptr { /* sqlite3.c:40306:33: */ bp := tls.Alloc(2200) defer tls.Free(2200) @@ -38142,7 +38171,7 @@ func autolockIoFinderImpl(tls *libc.TLS, filePath uintptr, pNew uintptr) uintptr type Mapping = struct { FzFilesystem uintptr FpMethods uintptr -} /* sqlite3.c:40304:16 */ +} /* sqlite3.c:40310:16 */ var aMap = [6]Mapping{ {FzFilesystem: ts + 3647, FpMethods: 0}, @@ -38151,11 +38180,11 @@ var aMap = [6]Mapping{ {FzFilesystem: ts + 3661, FpMethods: 0}, {FzFilesystem: ts + 3667, FpMethods: 0}, {}, -} /* sqlite3.c:40307:5 */ -var autolockIoFinder uintptr = 0 /* sqlite3.c:40354:3 */ +} /* sqlite3.c:40313:5 */ +var autolockIoFinder uintptr = 0 /* sqlite3.c:40360:3 */ // An abstract type for a pointer to an IO method finder function: -type Finder_type = uintptr /* sqlite3.c:40397:34 */ +type Finder_type = uintptr /* sqlite3.c:40403:34 */ // *************************************************************************** // @@ -38165,7 +38194,7 @@ type Finder_type = uintptr /* sqlite3.c:40397:34 */ // sqlite3_vfs object. // Initialize the contents of the unixFile structure pointed to by pId. -func fillInUnixFile(tls *libc.TLS, pVfs uintptr, h int32, pId uintptr, zFilename uintptr, ctrlFlags int32) int32 { /* sqlite3.c:40410:12: */ +func fillInUnixFile(tls *libc.TLS, pVfs uintptr, h int32, pId uintptr, zFilename uintptr, ctrlFlags int32) int32 { /* sqlite3.c:40416:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -38227,7 +38256,7 @@ func fillInUnixFile(tls *libc.TLS, pVfs uintptr, h int32, pId uintptr, zFilename // If scenario (a) caused the error then things are not so safe. The // implicit assumption here is that if fstat() fails, things are in // such bad shape that dropping a lock or two doesn't matter much. - robust_close(tls, pNew, h, 40488) + robust_close(tls, pNew, h, 40494) h = -1 } unixLeaveMutex(tls) @@ -38249,7 +38278,7 @@ func fillInUnixFile(tls *libc.TLS, pVfs uintptr, h int32, pId uintptr, zFilename rc = findInodeInfo(tls, pNew, pNew+16) if rc != SQLITE_OK { Xsqlite3_free(tls, (*UnixFile)(unsafe.Pointer(pNew)).FlockingContext) - robust_close(tls, pNew, h, 40514) + robust_close(tls, pNew, h, 40520) h = -1 } unixLeaveMutex(tls) @@ -38273,7 +38302,7 @@ func fillInUnixFile(tls *libc.TLS, pVfs uintptr, h int32, pId uintptr, zFilename storeLastErrno(tls, pNew, 0) if rc != SQLITE_OK { if h >= 0 { - robust_close(tls, pNew, h, 40573) + robust_close(tls, pNew, h, 40579) } } else { (*Sqlite3_file)(unsafe.Pointer(pId)).FpMethods = pLockingStyle @@ -38291,17 +38320,17 @@ var azTempDirs = [6]uintptr{ ts + 3706, ts + 3715, ts + 1540, -} /* sqlite3.c:40585:19 */ +} /* sqlite3.c:40591:19 */ // Initialize first two members of azTempDirs[] array. -func unixTempFileInit(tls *libc.TLS) { /* sqlite3.c:40597:13: */ +func unixTempFileInit(tls *libc.TLS) { /* sqlite3.c:40603:13: */ azTempDirs[0] = libc.Xgetenv(tls, ts+3720) azTempDirs[1] = libc.Xgetenv(tls, ts+3734) } // Return the name of a directory in which to put temporary files. // If no suitable temporary file directory can be found, return NULL. -func unixTempFileDir(tls *libc.TLS) uintptr { /* sqlite3.c:40606:19: */ +func unixTempFileDir(tls *libc.TLS) uintptr { /* sqlite3.c:40612:19: */ bp := tls.Alloc(144) defer tls.Free(144) @@ -38328,7 +38357,7 @@ func unixTempFileDir(tls *libc.TLS) uintptr { /* sqlite3.c:40606:19: */ // Create a temporary file name in zBuf. zBuf must be allocated // by the calling process and must be big enough to hold at least // pVfs->mxPathname bytes. -func unixGetTempname(tls *libc.TLS, nBuf int32, zBuf uintptr) int32 { /* sqlite3.c:40630:12: */ +func unixGetTempname(tls *libc.TLS, nBuf int32, zBuf uintptr) int32 { /* sqlite3.c:40636:12: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -38372,7 +38401,7 @@ func unixGetTempname(tls *libc.TLS, nBuf int32, zBuf uintptr) int32 { /* sqlite3 // // If a suitable file descriptor is found, then it is returned. If no // such file descriptor is located, -1 is returned. -func findReusableFd(tls *libc.TLS, zPath uintptr, flags int32) uintptr { /* sqlite3.c:40680:21: */ +func findReusableFd(tls *libc.TLS, zPath uintptr, flags int32) uintptr { /* sqlite3.c:40686:21: */ bp := tls.Alloc(144) defer tls.Free(144) @@ -38423,7 +38452,7 @@ func findReusableFd(tls *libc.TLS, zPath uintptr, flags int32) uintptr { /* sqli } // Find the mode, uid and gid of file zFile. -func getFileMode(tls *libc.TLS, zFile uintptr, pMode uintptr, pUid uintptr, pGid uintptr) int32 { /* sqlite3.c:40730:12: */ +func getFileMode(tls *libc.TLS, zFile uintptr, pMode uintptr, pUid uintptr, pGid uintptr) int32 { /* sqlite3.c:40736:12: */ bp := tls.Alloc(144) defer tls.Free(144) @@ -38459,7 +38488,7 @@ func getFileMode(tls *libc.TLS, zFile uintptr, pMode uintptr, pUid uintptr, pGid // original filename is unavailable. But 8_3_NAMES is only used for // FAT filesystems and permissions do not matter there, so just use // the default permissions. In 8_3_NAMES mode, leave *pMode set to zero. -func findCreateFileMode(tls *libc.TLS, zPath uintptr, flags int32, pMode uintptr, pUid uintptr, pGid uintptr) int32 { /* sqlite3.c:40769:12: */ +func findCreateFileMode(tls *libc.TLS, zPath uintptr, flags int32, pMode uintptr, pUid uintptr, pGid uintptr) int32 { /* sqlite3.c:40775:12: */ bp := tls.Alloc(513) defer tls.Free(513) @@ -38533,7 +38562,7 @@ func findCreateFileMode(tls *libc.TLS, zPath uintptr, flags int32, pMode uintptr // file handle closed. To achieve the same effect using this new // interface, add the DELETEONCLOSE flag to those specified above for // OpenExclusive(). -func unixOpen(tls *libc.TLS, pVfs uintptr, zPath uintptr, pFile uintptr, flags int32, pOutFlags uintptr) int32 { /* sqlite3.c:40846:12: */ +func unixOpen(tls *libc.TLS, pVfs uintptr, zPath uintptr, pFile uintptr, flags int32, pOutFlags uintptr) int32 { /* sqlite3.c:40852:12: */ bp := tls.Alloc(2696) defer tls.Free(2696) @@ -38737,7 +38766,7 @@ __15: if !(fd < 0) { goto __19 } - rc2 = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 41002), ts+3205, zName, 41002) + rc2 = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 41008), ts+3205, zName, 41008) if !(rc == SQLITE_OK) { goto __20 } @@ -38797,7 +38826,7 @@ __25: goto __26 } storeLastErrno(tls, p, *(*int32)(unsafe.Pointer(libc.X__error(tls)))) - robust_close(tls, p, fd, 41056) + robust_close(tls, p, fd, 41062) return SQLITE_IOERR | int32(13)<<8 __26: ; @@ -38904,7 +38933,7 @@ __40: // Delete the file at zPath. If the dirSync argument is true, fsync() // the directory after deleting the file. -func unixDelete(tls *libc.TLS, NotUsed uintptr, zPath uintptr, dirSync int32) int32 { /* sqlite3.c:41125:12: */ +func unixDelete(tls *libc.TLS, NotUsed uintptr, zPath uintptr, dirSync int32) int32 { /* sqlite3.c:41131:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -38915,7 +38944,7 @@ func unixDelete(tls *libc.TLS, NotUsed uintptr, zPath uintptr, dirSync int32) in if *(*int32)(unsafe.Pointer(libc.X__error(tls))) == ENOENT { rc = SQLITE_IOERR | int32(23)<<8 } else { - rc = unixLogErrorAtLine(tls, SQLITE_IOERR|int32(10)<<8, ts+3315, zPath, 41141) + rc = unixLogErrorAtLine(tls, SQLITE_IOERR|int32(10)<<8, ts+3315, zPath, 41147) } return rc } @@ -38925,9 +38954,9 @@ func unixDelete(tls *libc.TLS, NotUsed uintptr, zPath uintptr, dirSync int32) in rc = (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 17*24 + 8)))(tls, zPath, bp) if rc == SQLITE_OK { if full_fsync(tls, *(*int32)(unsafe.Pointer(bp)), 0, 0) != 0 { - rc = unixLogErrorAtLine(tls, SQLITE_IOERR|int32(5)<<8, ts+3811, zPath, 41151) + rc = unixLogErrorAtLine(tls, SQLITE_IOERR|int32(5)<<8, ts+3811, zPath, 41157) } - robust_close(tls, uintptr(0), *(*int32)(unsafe.Pointer(bp /* fd */)), 41153) + robust_close(tls, uintptr(0), *(*int32)(unsafe.Pointer(bp /* fd */)), 41159) } else { rc = SQLITE_OK @@ -38944,7 +38973,7 @@ func unixDelete(tls *libc.TLS, NotUsed uintptr, zPath uintptr, dirSync int32) in // SQLITE_ACCESS_READONLY: Return 1 if the file is readable. // // Otherwise return 0. -func unixAccess(tls *libc.TLS, NotUsed uintptr, zPath uintptr, flags int32, pResOut uintptr) int32 { /* sqlite3.c:41173:12: */ +func unixAccess(tls *libc.TLS, NotUsed uintptr, zPath uintptr, flags int32, pResOut uintptr) int32 { /* sqlite3.c:41179:12: */ bp := tls.Alloc(144) defer tls.Free(144) @@ -38966,7 +38995,7 @@ func unixAccess(tls *libc.TLS, NotUsed uintptr, zPath uintptr, flags int32, pRes // If the last component of the pathname in z[0]..z[j-1] is something // other than ".." then back it out and return true. If the last // component is empty or if it is ".." then return false. -func unixBackupDir(tls *libc.TLS, z uintptr, pJ uintptr) int32 { /* sqlite3.c:41202:12: */ +func unixBackupDir(tls *libc.TLS, z uintptr, pJ uintptr) int32 { /* sqlite3.c:41208:12: */ var j int32 = *(*int32)(unsafe.Pointer(pJ)) var i int32 if j <= 0 { @@ -38989,7 +39018,7 @@ func unixBackupDir(tls *libc.TLS, z uintptr, pJ uintptr) int32 { /* sqlite3.c:41 // // Remove all instances of /./ // Remove all isntances of /X/../ for any X -func mkFullPathname(tls *libc.TLS, zPath uintptr, zOut uintptr, nOut int32) int32 { /* sqlite3.c:41220:12: */ +func mkFullPathname(tls *libc.TLS, zPath uintptr, zOut uintptr, nOut int32) int32 { /* sqlite3.c:41226:12: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -39000,7 +39029,7 @@ func mkFullPathname(tls *libc.TLS, zPath uintptr, zOut uintptr, nOut int32) int3 if int32(*(*int8)(unsafe.Pointer(zPath))) != '/' { if (*(*func(*libc.TLS, uintptr, Size_t) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 3*24 + 8)))(tls, zOut, uint64(nOut-2)) == uintptr(0) { - return unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 41230), ts+3223, zPath, 41230) + return unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 41236), ts+3223, zPath, 41236) } iOff = Xsqlite3Strlen30(tls, zOut) *(*int8)(unsafe.Pointer(zOut + uintptr(libc.PostIncInt32(&iOff, 1)))) = int8('/') @@ -39009,7 +39038,7 @@ func mkFullPathname(tls *libc.TLS, zPath uintptr, zOut uintptr, nOut int32) int3 // SQLite assumes that xFullPathname() nul-terminates the output buffer // even if it returns an error. *(*int8)(unsafe.Pointer(zOut + uintptr(iOff))) = int8(0) - return Xsqlite3CantopenError(tls, 41239) + return Xsqlite3CantopenError(tls, 41245) } Xsqlite3_snprintf(tls, nOut-iOff, zOut+uintptr(iOff), ts+3609, libc.VaList(bp, zPath)) @@ -39060,7 +39089,7 @@ func mkFullPathname(tls *libc.TLS, zPath uintptr, zOut uintptr, nOut int32) int3 // zOut points to a buffer of at least sqlite3_vfs.mxPathname bytes // (in this case, MAX_PATHNAME bytes). The full-path is written to // this buffer before returning. -func unixFullPathname(tls *libc.TLS, pVfs uintptr, zPath uintptr, nOut int32, zOut uintptr) int32 { /* sqlite3.c:41289:12: */ +func unixFullPathname(tls *libc.TLS, pVfs uintptr, zPath uintptr, nOut int32, zOut uintptr) int32 { /* sqlite3.c:41295:12: */ bp := tls.Alloc(144) defer tls.Free(144) @@ -39086,7 +39115,7 @@ func unixFullPathname(tls *libc.TLS, pVfs uintptr, zPath uintptr, nOut int32, zO if (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 27*24 + 8)))(tls, zIn, bp) != 0 { if *(*int32)(unsafe.Pointer(libc.X__error(tls))) != ENOENT { - rc = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 41322), ts+3403, zIn, 41322) + rc = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 41328), ts+3403, zIn, 41328) } } else { bLink = libc.Bool32(int32((*stat)(unsafe.Pointer(bp)).Fst_mode)&S_IFMT == S_IFLNK) @@ -39100,20 +39129,20 @@ func unixFullPathname(tls *libc.TLS, pVfs uintptr, zPath uintptr, nOut int32, zO rc = SQLITE_NOMEM } } else if nLink >= SQLITE_MAX_SYMLINKS { - rc = Xsqlite3CantopenError(tls, 41334) + rc = Xsqlite3CantopenError(tls, 41340) } if rc == SQLITE_OK { nByte = int32((*(*func(*libc.TLS, uintptr, uintptr, Size_t) Ssize_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 26*24 + 8)))(tls, zIn, zDel, uint64(nOut-1))) if nByte < 0 { - rc = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 41340), ts+3394, zIn, 41340) + rc = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 41346), ts+3394, zIn, 41346) } else { if int32(*(*int8)(unsafe.Pointer(zDel))) != '/' { var n int32 for n = Xsqlite3Strlen30(tls, zIn); n > 0 && int32(*(*int8)(unsafe.Pointer(zIn + uintptr(n-1)))) != '/'; n-- { } if nByte+n+1 > nOut { - rc = Xsqlite3CantopenError(tls, 41346) + rc = Xsqlite3CantopenError(tls, 41352) } else { libc.X__builtin___memmove_chk(tls, zDel+uintptr(n), zDel, uint64(nByte+1), libc.X__builtin_object_size(tls, zDel+uintptr(n), 0)) libc.X__builtin___memcpy_chk(tls, zDel, zIn, uint64(n), libc.X__builtin_object_size(tls, zDel, 0)) @@ -39398,7 +39427,7 @@ type Dl_info = dl_info /* dlfcn.h:57:3 */ // Special handle arguments for dlsym(). -func unixDlOpen(tls *libc.TLS, NotUsed uintptr, zFilename uintptr) uintptr { /* sqlite3.c:41381:13: */ +func unixDlOpen(tls *libc.TLS, NotUsed uintptr, zFilename uintptr) uintptr { /* sqlite3.c:41387:13: */ _ = NotUsed return libc.Xdlopen(tls, zFilename, RTLD_NOW|RTLD_GLOBAL) } @@ -39408,7 +39437,7 @@ func unixDlOpen(tls *libc.TLS, NotUsed uintptr, zFilename uintptr) uintptr { /* // message is available, it is written to zBufOut. If no error message // is available, zBufOut is left unmodified and SQLite uses a default // error message. -func unixDlError(tls *libc.TLS, NotUsed uintptr, nBuf int32, zBufOut uintptr) { /* sqlite3.c:41393:13: */ +func unixDlError(tls *libc.TLS, NotUsed uintptr, nBuf int32, zBufOut uintptr) { /* sqlite3.c:41399:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -39422,7 +39451,7 @@ func unixDlError(tls *libc.TLS, NotUsed uintptr, nBuf int32, zBufOut uintptr) { unixLeaveMutex(tls) } -func unixDlSym(tls *libc.TLS, NotUsed uintptr, p uintptr, zSym uintptr) uintptr { /* sqlite3.c:41403:13: */ +func unixDlSym(tls *libc.TLS, NotUsed uintptr, p uintptr, zSym uintptr) uintptr { /* sqlite3.c:41409:13: */ // GCC with -pedantic-errors says that C90 does not allow a void* to be // cast into a pointer to a function. And yet the library dlsym() routine // returns a void* which is really a pointer to a function. So how do we @@ -39448,13 +39477,13 @@ func unixDlSym(tls *libc.TLS, NotUsed uintptr, p uintptr, zSym uintptr) uintptr })(unsafe.Pointer(&struct{ uintptr }{x})).f(tls, p, zSym) } -func unixDlClose(tls *libc.TLS, NotUsed uintptr, pHandle uintptr) { /* sqlite3.c:41426:13: */ +func unixDlClose(tls *libc.TLS, NotUsed uintptr, pHandle uintptr) { /* sqlite3.c:41432:13: */ _ = NotUsed libc.Xdlclose(tls, pHandle) } // Write nBuf bytes of random data to the supplied buffer zBuf. -func unixRandomness(tls *libc.TLS, NotUsed uintptr, nBuf int32, zBuf uintptr) int32 { /* sqlite3.c:41440:12: */ +func unixRandomness(tls *libc.TLS, NotUsed uintptr, nBuf int32, zBuf uintptr) int32 { /* sqlite3.c:41446:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -39489,7 +39518,7 @@ func unixRandomness(tls *libc.TLS, NotUsed uintptr, nBuf int32, zBuf uintptr) in for __ccgo := true; __ccgo; __ccgo = got < 0 && *(*int32)(unsafe.Pointer(libc.X__error(tls))) == EINTR { got = int32((*(*func(*libc.TLS, int32, uintptr, Size_t) Ssize_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 8*24 + 8)))(tls, fd, zBuf, uint64(nBuf))) } - robust_close(tls, uintptr(0), fd, 41471) + robust_close(tls, uintptr(0), fd, 41477) } } @@ -39502,7 +39531,7 @@ func unixRandomness(tls *libc.TLS, NotUsed uintptr, nBuf int32, zBuf uintptr) in // requested from the underlying operating system, a number which // might be greater than or equal to the argument, but not less // than the argument. -func unixSleep(tls *libc.TLS, NotUsed uintptr, microseconds int32) int32 { /* sqlite3.c:41487:12: */ +func unixSleep(tls *libc.TLS, NotUsed uintptr, microseconds int32) int32 { /* sqlite3.c:41493:12: */ if microseconds >= 1000000 { libc.Xsleep(tls, uint32(microseconds/1000000)) } @@ -39525,7 +39554,7 @@ func unixSleep(tls *libc.TLS, NotUsed uintptr, microseconds int32) int32 { /* sq // // On success, return SQLITE_OK. Return SQLITE_ERROR if the time and date // cannot be found. -func unixCurrentTimeInt64(tls *libc.TLS, NotUsed uintptr, piNow uintptr) int32 { /* sqlite3.c:41528:12: */ +func unixCurrentTimeInt64(tls *libc.TLS, NotUsed uintptr, piNow uintptr) int32 { /* sqlite3.c:41534:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -39539,12 +39568,12 @@ func unixCurrentTimeInt64(tls *libc.TLS, NotUsed uintptr, piNow uintptr) int32 { return rc } -var unixEpoch Sqlite3_int64 = int64(24405875) * int64(8640000) /* sqlite3.c:41529:30 */ +var unixEpoch Sqlite3_int64 = int64(24405875) * int64(8640000) /* sqlite3.c:41535:30 */ // Find the current time (in Universal Coordinated Time). Write the // current time and date as a Julian Day number into *prNow and // return 0. Return 1 if the time and date cannot be found. -func unixCurrentTime(tls *libc.TLS, NotUsed uintptr, prNow uintptr) int32 { /* sqlite3.c:41560:12: */ +func unixCurrentTime(tls *libc.TLS, NotUsed uintptr, prNow uintptr) int32 { /* sqlite3.c:41566:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -39560,7 +39589,7 @@ func unixCurrentTime(tls *libc.TLS, NotUsed uintptr, prNow uintptr) int32 { /* s // low-level error message when operating-system problems come up // during SQLite operation. Only the integer return code is currently // used. -func unixGetLastError(tls *libc.TLS, NotUsed uintptr, NotUsed2 int32, NotUsed3 uintptr) int32 { /* sqlite3.c:41578:12: */ +func unixGetLastError(tls *libc.TLS, NotUsed uintptr, NotUsed2 int32, NotUsed3 uintptr) int32 { /* sqlite3.c:41584:12: */ _ = NotUsed _ = NotUsed2 _ = NotUsed3 @@ -39735,7 +39764,7 @@ type proxyLockingContext = struct { FnFails int32 FoldLockingContext uintptr FpOldMethod uintptr -} /* sqlite3.c:41749:9 */ +} /* sqlite3.c:41755:9 */ // // End of sqlite3_vfs methods *************************** @@ -39895,12 +39924,12 @@ type proxyLockingContext = struct { // The proxyLockingContext has the path and file structures for the remote // and local proxy files in it -type ProxyLockingContext = proxyLockingContext /* sqlite3.c:41749:36 */ +type ProxyLockingContext = proxyLockingContext /* sqlite3.c:41755:36 */ // The proxy lock file path for the database at dbPath is written into lPath, // which must point to valid, writable memory large enough for a maxLen length // file path. -func proxyGetLockPath(tls *libc.TLS, dbPath uintptr, lPath uintptr, maxLen Size_t) int32 { /* sqlite3.c:41767:12: */ +func proxyGetLockPath(tls *libc.TLS, dbPath uintptr, lPath uintptr, maxLen Size_t) int32 { /* sqlite3.c:41773:12: */ var len int32 var dbLen int32 var i int32 @@ -39936,7 +39965,7 @@ func proxyGetLockPath(tls *libc.TLS, dbPath uintptr, lPath uintptr, maxLen Size_ } // Creates the lock file and any missing directories in lockPath -func proxyCreateLockPath(tls *libc.TLS, lockPath uintptr) int32 { /* sqlite3.c:41808:12: */ +func proxyCreateLockPath(tls *libc.TLS, lockPath uintptr) int32 { /* sqlite3.c:41814:12: */ bp := tls.Alloc(1024) defer tls.Free(1024) @@ -39976,7 +40005,7 @@ func proxyCreateLockPath(tls *libc.TLS, lockPath uintptr) int32 { /* sqlite3.c:4 // // The caller is responsible not only for closing the file descriptor // but also for freeing the memory associated with the file descriptor. -func proxyCreateUnixFile(tls *libc.TLS, path uintptr, ppFile uintptr, islockfile int32) int32 { /* sqlite3.c:41848:12: */ +func proxyCreateUnixFile(tls *libc.TLS, path uintptr, ppFile uintptr, islockfile int32) int32 { /* sqlite3.c:41854:12: */ bp := tls.Alloc(168) defer tls.Free(168) @@ -40064,7 +40093,7 @@ __11: __12: return SQLITE_IOERR | int32(15)<<8 // even though it is the conch __13: - return Xsqlite3CantopenError(tls, 41900) + return Xsqlite3CantopenError(tls, 41906) __10: ; __8: @@ -40096,7 +40125,7 @@ __14: __15: ; end_create_proxy: - robust_close(tls, pNew, fd, 41924) + robust_close(tls, pNew, fd, 41930) Xsqlite3_free(tls, pNew) Xsqlite3_free(tls, pUnused) return rc @@ -40104,7 +40133,7 @@ end_create_proxy: // get the host ID via gethostuuid(), pHostID must point to PROXY_HOSTIDLEN // bytes of writable memory. -func proxyGetHostID(tls *libc.TLS, pHostID uintptr, pError uintptr) int32 { /* sqlite3.c:41945:12: */ +func proxyGetHostID(tls *libc.TLS, pHostID uintptr, pError uintptr) int32 { /* sqlite3.c:41951:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -40130,7 +40159,7 @@ func proxyGetHostID(tls *libc.TLS, pHostID uintptr, pError uintptr) int32 { /* s // it back. The newly created file's file descriptor is assigned to the // conch file structure and finally the original conch file descriptor is // closed. Returns zero if successful. -func proxyBreakConchLock(tls *libc.TLS, pFile uintptr, myHostID uintptr) int32 { /* sqlite3.c:41985:12: */ +func proxyBreakConchLock(tls *libc.TLS, pFile uintptr, myHostID uintptr) int32 { /* sqlite3.c:41991:12: */ bp := tls.Alloc(2193) defer tls.Free(2193) @@ -40200,7 +40229,7 @@ __5: ; rc = 0 libc.Xfprintf(tls, libc.X__stderrp, ts+4017, libc.VaList(bp+40, cPath)) - robust_close(tls, pFile, (*UnixFile)(unsafe.Pointer(conchFile)).Fh, 42027) + robust_close(tls, pFile, (*UnixFile)(unsafe.Pointer(conchFile)).Fh, 42033) (*UnixFile)(unsafe.Pointer(conchFile)).Fh = fd (*UnixFile)(unsafe.Pointer(conchFile)).FopenFlags = O_RDWR | O_CREAT @@ -40212,7 +40241,7 @@ end_breaklock: goto __7 } (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 16*24 + 8)))(tls, bp+64) - robust_close(tls, pFile, fd, 42035) + robust_close(tls, pFile, fd, 42041) __7: ; libc.Xfprintf(tls, libc.X__stderrp, ts+4041, libc.VaList(bp+48, cPath, bp+1088)) @@ -40223,7 +40252,7 @@ __6: // Take the requested lock on the conch file and break a stale lock if the // host id matches. -func proxyConchLock(tls *libc.TLS, pFile uintptr, myHostID uintptr, lockType int32) int32 { /* sqlite3.c:42045:12: */ +func proxyConchLock(tls *libc.TLS, pFile uintptr, myHostID uintptr, lockType int32) int32 { /* sqlite3.c:42051:12: */ bp := tls.Alloc(1201) defer tls.Free(1201) @@ -40307,7 +40336,7 @@ func proxyConchLock(tls *libc.TLS, pFile uintptr, myHostID uintptr, lockType int // lockPath means that the lockPath in the conch file will be used if the // host IDs match, or a new lock path will be generated automatically // and written to the conch file. -func proxyTakeConch(tls *libc.TLS, pFile uintptr) int32 { /* sqlite3.c:42123:12: */ +func proxyTakeConch(tls *libc.TLS, pFile uintptr) int32 { /* sqlite3.c:42129:12: */ bp := tls.Alloc(3272) defer tls.Free(3272) @@ -40537,7 +40566,7 @@ end_takeconch: if !((*UnixFile)(unsafe.Pointer(pFile)).Fh >= 0) { goto __29 } - robust_close(tls, pFile, (*UnixFile)(unsafe.Pointer(pFile)).Fh, 42288) + robust_close(tls, pFile, (*UnixFile)(unsafe.Pointer(pFile)).Fh, 42294) __29: ; (*UnixFile)(unsafe.Pointer(pFile)).Fh = -1 @@ -40549,7 +40578,7 @@ __29: (*UnixFile)(unsafe.Pointer(pFile)).Fh = fd goto __31 __30: - rc = Xsqlite3CantopenError(tls, 42296) // SQLITE_BUSY? proxyTakeConch called + rc = Xsqlite3CantopenError(tls, 42302) // SQLITE_BUSY? proxyTakeConch called // during locking __31: ; @@ -40631,7 +40660,7 @@ __2: } // If pFile holds a lock on a conch file, then release that lock. -func proxyReleaseConch(tls *libc.TLS, pFile uintptr) int32 { /* sqlite3.c:42345:12: */ +func proxyReleaseConch(tls *libc.TLS, pFile uintptr) int32 { /* sqlite3.c:42351:12: */ var rc int32 = SQLITE_OK // Subroutine return code var pCtx uintptr // The locking context for the proxy lock var conchFile uintptr // Name of the conch file @@ -40658,7 +40687,7 @@ func proxyReleaseConch(tls *libc.TLS, pFile uintptr) int32 { /* sqlite3.c:42345: // space is eventually freed. // // *pConchPath is set to NULL if a memory allocation error occurs. -func proxyCreateConchPathname(tls *libc.TLS, dbPath uintptr, pConchPath uintptr) int32 { /* sqlite3.c:42375:12: */ +func proxyCreateConchPathname(tls *libc.TLS, dbPath uintptr, pConchPath uintptr) int32 { /* sqlite3.c:42381:12: */ var i int32 // Loop counter var len int32 = int32(libc.Xstrlen(tls, dbPath)) // Length of database filename - dbPath var conchPath uintptr // buffer in which to construct conch name @@ -40692,7 +40721,7 @@ func proxyCreateConchPathname(tls *libc.TLS, dbPath uintptr, pConchPath uintptr) // Takes a fully configured proxy locking-style unix file and switches // the local lock file path -func switchLockProxyPath(tls *libc.TLS, pFile uintptr, path uintptr) int32 { /* sqlite3.c:42412:12: */ +func switchLockProxyPath(tls *libc.TLS, pFile uintptr, path uintptr) int32 { /* sqlite3.c:42418:12: */ var pCtx uintptr = (*UnixFile)(unsafe.Pointer(pFile)).FlockingContext var oldPath uintptr = (*ProxyLockingContext)(unsafe.Pointer(pCtx)).FlockProxyPath var rc int32 = SQLITE_OK @@ -40729,7 +40758,7 @@ func switchLockProxyPath(tls *libc.TLS, pFile uintptr, path uintptr) int32 { /* // // This routine find the filename associated with pFile and writes it // int dbPath. -func proxyGetDbPathForUnixFile(tls *libc.TLS, pFile uintptr, dbPath uintptr) int32 { /* sqlite3.c:42448:12: */ +func proxyGetDbPathForUnixFile(tls *libc.TLS, pFile uintptr, dbPath uintptr) int32 { /* sqlite3.c:42454:12: */ if (*UnixFile)(unsafe.Pointer(pFile)).FpMethod == uintptr(unsafe.Pointer(&afpIoMethods)) { // afp style keeps a reference to the db path in the filePath field // of the struct @@ -40755,7 +40784,7 @@ func proxyGetDbPathForUnixFile(tls *libc.TLS, pFile uintptr, dbPath uintptr) int // the unix structure properly cleaned up at close time: // ->lockingContext // ->pMethod -func proxyTransformUnixFile(tls *libc.TLS, pFile uintptr, path uintptr) int32 { /* sqlite3.c:42479:12: */ +func proxyTransformUnixFile(tls *libc.TLS, pFile uintptr, path uintptr) int32 { /* sqlite3.c:42485:12: */ bp := tls.Alloc(3344) defer tls.Free(3344) @@ -40841,7 +40870,7 @@ func proxyTransformUnixFile(tls *libc.TLS, pFile uintptr, path uintptr) int32 { // This routine handles sqlite3_file_control() calls that are specific // to proxy locking. -func proxyFileControl(tls *libc.TLS, id uintptr, op int32, pArg uintptr) int32 { /* sqlite3.c:42566:12: */ +func proxyFileControl(tls *libc.TLS, id uintptr, op int32, pArg uintptr) int32 { /* sqlite3.c:42572:12: */ switch op { case SQLITE_FCNTL_GET_LOCKPROXYFILE: { @@ -40911,7 +40940,7 @@ func proxyFileControl(tls *libc.TLS, id uintptr, op int32, pArg uintptr) int32 { // file by this or any other process. If such a lock is held, set *pResOut // to a non-zero value otherwise *pResOut is set to zero. The return value // is set to SQLITE_OK unless an I/O error occurs during lock checking. -func proxyCheckReservedLock(tls *libc.TLS, id uintptr, pResOut uintptr) int32 { /* sqlite3.c:42639:12: */ +func proxyCheckReservedLock(tls *libc.TLS, id uintptr, pResOut uintptr) int32 { /* sqlite3.c:42645:12: */ var pFile uintptr = id var rc int32 = proxyTakeConch(tls, pFile) if rc == SQLITE_OK { @@ -40950,7 +40979,7 @@ func proxyCheckReservedLock(tls *libc.TLS, id uintptr, pResOut uintptr) int32 { // // This routine will only increase a lock. Use the sqlite3OsUnlock() // routine to lower a locking level. -func proxyLock(tls *libc.TLS, id uintptr, eFileLock int32) int32 { /* sqlite3.c:42678:12: */ +func proxyLock(tls *libc.TLS, id uintptr, eFileLock int32) int32 { /* sqlite3.c:42684:12: */ var pFile uintptr = id var rc int32 = proxyTakeConch(tls, pFile) if rc == SQLITE_OK { @@ -40973,7 +41002,7 @@ func proxyLock(tls *libc.TLS, id uintptr, eFileLock int32) int32 { /* sqlite3.c: // // If the locking level of the file descriptor is already at or below // the requested locking level, this routine is a no-op. -func proxyUnlock(tls *libc.TLS, id uintptr, eFileLock int32) int32 { /* sqlite3.c:42702:12: */ +func proxyUnlock(tls *libc.TLS, id uintptr, eFileLock int32) int32 { /* sqlite3.c:42708:12: */ var pFile uintptr = id var rc int32 = proxyTakeConch(tls, pFile) if rc == SQLITE_OK { @@ -40992,7 +41021,7 @@ func proxyUnlock(tls *libc.TLS, id uintptr, eFileLock int32) int32 { /* sqlite3. } // Close a file that uses proxy locks. -func proxyClose(tls *libc.TLS, id uintptr) int32 { /* sqlite3.c:42721:12: */ +func proxyClose(tls *libc.TLS, id uintptr) int32 { /* sqlite3.c:42727:12: */ if id != 0 { var pFile uintptr = id var pCtx uintptr = (*UnixFile)(unsafe.Pointer(pFile)).FlockingContext @@ -41065,7 +41094,7 @@ func proxyClose(tls *libc.TLS, id uintptr) int32 { /* sqlite3.c:42721:12: */ // single thread. The memory allocation and mutex subsystems have not // necessarily been initialized when this routine is called, and so they // should not be used. -func Xsqlite3_os_init(tls *libc.TLS) int32 { /* sqlite3.c:42783:16: */ +func Xsqlite3_os_init(tls *libc.TLS) int32 { /* sqlite3.c:42789:16: */ var i uint32 // Loop counter // Double-check that the aSyscall[] array has been constructed @@ -41108,14 +41137,14 @@ var aVfs = [9]Sqlite3_vfs{ {FiVersion: 3 /* iVersion */, FszOsFile: int32(unsafe.Sizeof(UnixFile{})) /* szOsFile */, FmxPathname: MAX_PATHNAME /* pNext */, FzName: ts + 4160, FpAppData: 0 /* pAppData */, FxOpen: 0 /* xOpen */, FxDelete: 0 /* xDelete */, FxAccess: 0 /* xAccess */, FxFullPathname: 0 /* xFullPathname */, FxDlOpen: 0 /* xDlOpen */, FxDlError: 0 /* xDlError */, FxDlSym: 0 /* xDlSym */, FxDlClose: 0 /* xDlClose */, FxRandomness: 0 /* xRandomness */, FxSleep: 0 /* xSleep */, FxCurrentTime: 0 /* xCurrentTime */, FxGetLastError: 0 /* xGetLastError */, FxCurrentTimeInt64: 0 /* xCurrentTimeInt64 */, FxSetSystemCall: 0 /* xSetSystemCall */, FxGetSystemCall: 0 /* xGetSystemCall */, FxNextSystemCall: 0 /* xNextSystemCall */}, {FiVersion: 3 /* iVersion */, FszOsFile: int32(unsafe.Sizeof(UnixFile{})) /* szOsFile */, FmxPathname: MAX_PATHNAME /* pNext */, FzName: ts + 4169, FpAppData: 0 /* pAppData */, FxOpen: 0 /* xOpen */, FxDelete: 0 /* xDelete */, FxAccess: 0 /* xAccess */, FxFullPathname: 0 /* xFullPathname */, FxDlOpen: 0 /* xDlOpen */, FxDlError: 0 /* xDlError */, FxDlSym: 0 /* xDlSym */, FxDlClose: 0 /* xDlClose */, FxRandomness: 0 /* xRandomness */, FxSleep: 0 /* xSleep */, FxCurrentTime: 0 /* xCurrentTime */, FxGetLastError: 0 /* xGetLastError */, FxCurrentTimeInt64: 0 /* xCurrentTimeInt64 */, FxSetSystemCall: 0 /* xSetSystemCall */, FxGetSystemCall: 0 /* xGetSystemCall */, FxNextSystemCall: 0 /* xNextSystemCall */}, {FiVersion: 3 /* iVersion */, FszOsFile: int32(unsafe.Sizeof(UnixFile{})) /* szOsFile */, FmxPathname: MAX_PATHNAME /* pNext */, FzName: ts + 4178, FpAppData: 0 /* pAppData */, FxOpen: 0 /* xOpen */, FxDelete: 0 /* xDelete */, FxAccess: 0 /* xAccess */, FxFullPathname: 0 /* xFullPathname */, FxDlOpen: 0 /* xDlOpen */, FxDlError: 0 /* xDlError */, FxDlSym: 0 /* xDlSym */, FxDlClose: 0 /* xDlClose */, FxRandomness: 0 /* xRandomness */, FxSleep: 0 /* xSleep */, FxCurrentTime: 0 /* xCurrentTime */, FxGetLastError: 0 /* xGetLastError */, FxCurrentTimeInt64: 0 /* xCurrentTimeInt64 */, FxSetSystemCall: 0 /* xSetSystemCall */, FxGetSystemCall: 0 /* xGetSystemCall */, FxNextSystemCall: 0 /* xNextSystemCall */}, -} /* sqlite3.c:42836:22 */ +} /* sqlite3.c:42842:22 */ // Shutdown the operating system interface. // // Some operating systems might need to do some cleanup in this routine, // to release dynamically allocated objects. But not on unix. // This routine is a no-op for unix. -func Xsqlite3_os_end(tls *libc.TLS) int32 { /* sqlite3.c:42905:16: */ +func Xsqlite3_os_end(tls *libc.TLS) int32 { /* sqlite3.c:42911:16: */ unixBigLock = uintptr(0) return SQLITE_OK } @@ -41157,15 +41186,15 @@ func Xsqlite3_os_end(tls *libc.TLS) int32 { /* sqlite3.c:42905:16: */ // #include "sqliteInt.h" // Forward declaration of objects used by this utility -type MemVfs = sqlite3_vfs /* sqlite3.c:49095:28 */ +type MemVfs = sqlite3_vfs /* sqlite3.c:49105:28 */ type MemFile1 = struct { Fbase Sqlite3_file FpStore uintptr FeLock int32 F__ccgo_pad1 [4]byte -} /* sqlite3.c:49096:9 */ +} /* sqlite3.c:49106:9 */ -type MemFile = MemFile1 /* sqlite3.c:49096:24 */ +type MemFile = MemFile1 /* sqlite3.c:49106:24 */ type MemStore1 = struct { Fsz Sqlite3_int64 FszAlloc Sqlite3_int64 @@ -41179,9 +41208,9 @@ type MemStore1 = struct { FnRef int32 F__ccgo_pad1 [4]byte FzFName uintptr -} /* sqlite3.c:49096:9 */ +} /* sqlite3.c:49106:9 */ -type MemStore = MemStore1 /* sqlite3.c:49097:25 */ +type MemStore = MemStore1 /* sqlite3.c:49107:25 */ // File-scope variables for holding the memdb files that are accessible // to multiple database connections in separate threads. @@ -41191,13 +41220,13 @@ type MemFS = struct { FnMemStore int32 F__ccgo_pad1 [4]byte FapMemStore uintptr -} /* sqlite3.c:49167:8 */ +} /* sqlite3.c:49177:8 */ // File-scope variables for holding the memdb files that are accessible // to multiple database connections in separate threads. // // Must hold SQLITE_MUTEX_STATIC_VFS1 to access any part of this object. -var memdb_g MemFS /* sqlite3.c:49170:3: */ +var memdb_g MemFS /* sqlite3.c:49180:3: */ var memdb_vfs = Sqlite3_vfs{ FiVersion: 2, // szOsFile (set when registered) @@ -41214,7 +41243,7 @@ var memdb_vfs = Sqlite3_vfs{ FxSleep: 0, /* memdbCurrentTime, */ // xCurrentTime FxGetLastError: 0, // xGetLastError FxCurrentTimeInt64: 0, // xNextSystemCall -} /* sqlite3.c:49206:20 */ +} /* sqlite3.c:49216:20 */ var memdb_io_methods = Sqlite3_io_methods{ FiVersion: 3, // iVersion @@ -41230,21 +41259,21 @@ var memdb_io_methods = Sqlite3_io_methods{ FxDeviceCharacteristics: 0, // xShmUnmap FxFetch: 0, // xFetch FxUnfetch: 0, // xUnfetch -} /* sqlite3.c:49231:33 */ +} /* sqlite3.c:49241:33 */ // Enter/leave the mutex on a MemStore -func memdbEnter(tls *libc.TLS, p uintptr) { /* sqlite3.c:49264:13: */ +func memdbEnter(tls *libc.TLS, p uintptr) { /* sqlite3.c:49274:13: */ Xsqlite3_mutex_enter(tls, (*MemStore)(unsafe.Pointer(p)).FpMutex) } -func memdbLeave(tls *libc.TLS, p uintptr) { /* sqlite3.c:49267:13: */ +func memdbLeave(tls *libc.TLS, p uintptr) { /* sqlite3.c:49277:13: */ Xsqlite3_mutex_leave(tls, (*MemStore)(unsafe.Pointer(p)).FpMutex) } // Close an memdb-file. // Free the underlying MemStore object when its refcount drops to zero // or less. -func memdbClose(tls *libc.TLS, pFile uintptr) int32 { /* sqlite3.c:49279:12: */ +func memdbClose(tls *libc.TLS, pFile uintptr) int32 { /* sqlite3.c:49289:12: */ var p uintptr = (*MemFile)(unsafe.Pointer(pFile)).FpStore if (*MemStore)(unsafe.Pointer(p)).FzFName != 0 { var i int32 @@ -41282,7 +41311,7 @@ func memdbClose(tls *libc.TLS, pFile uintptr) int32 { /* sqlite3.c:49279:12: */ } // Read data from an memdb-file. -func memdbRead(tls *libc.TLS, pFile uintptr, zBuf uintptr, iAmt int32, iOfst Sqlite_int64) int32 { /* sqlite3.c:49321:12: */ +func memdbRead(tls *libc.TLS, pFile uintptr, zBuf uintptr, iAmt int32, iOfst Sqlite_int64) int32 { /* sqlite3.c:49331:12: */ var p uintptr = (*MemFile)(unsafe.Pointer(pFile)).FpStore memdbEnter(tls, p) if iOfst+Sqlite_int64(iAmt) > (*MemStore)(unsafe.Pointer(p)).Fsz { @@ -41299,7 +41328,7 @@ func memdbRead(tls *libc.TLS, pFile uintptr, zBuf uintptr, iAmt int32, iOfst Sql } // Try to enlarge the memory allocation to hold at least sz bytes -func memdbEnlarge(tls *libc.TLS, p uintptr, newSz Sqlite3_int64) int32 { /* sqlite3.c:49343:12: */ +func memdbEnlarge(tls *libc.TLS, p uintptr, newSz Sqlite3_int64) int32 { /* sqlite3.c:49353:12: */ var pNew uintptr if (*MemStore)(unsafe.Pointer(p)).FmFlags&uint32(SQLITE_DESERIALIZE_RESIZEABLE) == uint32(0) || (*MemStore)(unsafe.Pointer(p)).FnMmap > 0 { return SQLITE_FULL @@ -41321,7 +41350,7 @@ func memdbEnlarge(tls *libc.TLS, p uintptr, newSz Sqlite3_int64) int32 { /* sqli } // Write data to an memdb-file. -func memdbWrite(tls *libc.TLS, pFile uintptr, z uintptr, iAmt int32, iOfst Sqlite_int64) int32 { /* sqlite3.c:49363:12: */ +func memdbWrite(tls *libc.TLS, pFile uintptr, z uintptr, iAmt int32, iOfst Sqlite_int64) int32 { /* sqlite3.c:49373:12: */ var p uintptr = (*MemFile)(unsafe.Pointer(pFile)).FpStore memdbEnter(tls, p) if (*MemStore)(unsafe.Pointer(p)).FmFlags&uint32(SQLITE_DESERIALIZE_READONLY) != 0 { @@ -41352,7 +41381,7 @@ func memdbWrite(tls *libc.TLS, pFile uintptr, z uintptr, iAmt int32, iOfst Sqlit // In rollback mode (which is always the case for memdb, as it does not // support WAL mode) the truncate() method is only used to reduce // the size of a file, never to increase the size. -func memdbTruncate(tls *libc.TLS, pFile uintptr, size Sqlite_int64) int32 { /* sqlite3.c:49400:12: */ +func memdbTruncate(tls *libc.TLS, pFile uintptr, size Sqlite_int64) int32 { /* sqlite3.c:49410:12: */ var p uintptr = (*MemFile)(unsafe.Pointer(pFile)).FpStore var rc int32 = SQLITE_OK memdbEnter(tls, p) @@ -41367,14 +41396,14 @@ func memdbTruncate(tls *libc.TLS, pFile uintptr, size Sqlite_int64) int32 { /* s } // Sync an memdb-file. -func memdbSync(tls *libc.TLS, pFile uintptr, flags int32) int32 { /* sqlite3.c:49417:12: */ +func memdbSync(tls *libc.TLS, pFile uintptr, flags int32) int32 { /* sqlite3.c:49427:12: */ _ = pFile _ = flags return SQLITE_OK } // Return the current file-size of an memdb-file. -func memdbFileSize(tls *libc.TLS, pFile uintptr, pSize uintptr) int32 { /* sqlite3.c:49426:12: */ +func memdbFileSize(tls *libc.TLS, pFile uintptr, pSize uintptr) int32 { /* sqlite3.c:49436:12: */ var p uintptr = (*MemFile)(unsafe.Pointer(pFile)).FpStore memdbEnter(tls, p) *(*Sqlite_int64)(unsafe.Pointer(pSize)) = (*MemStore)(unsafe.Pointer(p)).Fsz @@ -41383,7 +41412,7 @@ func memdbFileSize(tls *libc.TLS, pFile uintptr, pSize uintptr) int32 { /* sqlit } // Lock an memdb-file. -func memdbLock(tls *libc.TLS, pFile uintptr, eLock int32) int32 { /* sqlite3.c:49437:12: */ +func memdbLock(tls *libc.TLS, pFile uintptr, eLock int32) int32 { /* sqlite3.c:49447:12: */ var pThis uintptr = pFile var p uintptr = (*MemFile)(unsafe.Pointer(pThis)).FpStore var rc int32 = SQLITE_OK @@ -41427,7 +41456,7 @@ func memdbLock(tls *libc.TLS, pFile uintptr, eLock int32) int32 { /* sqlite3.c:4 } // File control method. For custom operations on an memdb-file. -func memdbFileControl(tls *libc.TLS, pFile uintptr, op int32, pArg uintptr) int32 { /* sqlite3.c:49491:12: */ +func memdbFileControl(tls *libc.TLS, pFile uintptr, op int32, pArg uintptr) int32 { /* sqlite3.c:49501:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -41456,13 +41485,13 @@ func memdbFileControl(tls *libc.TLS, pFile uintptr, op int32, pArg uintptr) int3 } // Return the device characteristic flags supported by an memdb-file. -func memdbDeviceCharacteristics(tls *libc.TLS, pFile uintptr) int32 { /* sqlite3.c:49528:12: */ +func memdbDeviceCharacteristics(tls *libc.TLS, pFile uintptr) int32 { /* sqlite3.c:49538:12: */ _ = pFile return SQLITE_IOCAP_ATOMIC | SQLITE_IOCAP_POWERSAFE_OVERWRITE | SQLITE_IOCAP_SAFE_APPEND | SQLITE_IOCAP_SEQUENTIAL } // Fetch a page of a memory-mapped file -func memdbFetch(tls *libc.TLS, pFile uintptr, iOfst Sqlite3_int64, iAmt int32, pp uintptr) int32 { /* sqlite3.c:49537:12: */ +func memdbFetch(tls *libc.TLS, pFile uintptr, iOfst Sqlite3_int64, iAmt int32, pp uintptr) int32 { /* sqlite3.c:49547:12: */ var p uintptr = (*MemFile)(unsafe.Pointer(pFile)).FpStore memdbEnter(tls, p) if iOfst+Sqlite3_int64(iAmt) > (*MemStore)(unsafe.Pointer(p)).Fsz || (*MemStore)(unsafe.Pointer(p)).FmFlags&uint32(SQLITE_DESERIALIZE_RESIZEABLE) != uint32(0) { @@ -41476,7 +41505,7 @@ func memdbFetch(tls *libc.TLS, pFile uintptr, iOfst Sqlite3_int64, iAmt int32, p } // Release a memory-mapped page -func memdbUnfetch(tls *libc.TLS, pFile uintptr, iOfst Sqlite3_int64, pPage uintptr) int32 { /* sqlite3.c:49556:12: */ +func memdbUnfetch(tls *libc.TLS, pFile uintptr, iOfst Sqlite3_int64, pPage uintptr) int32 { /* sqlite3.c:49566:12: */ var p uintptr = (*MemFile)(unsafe.Pointer(pFile)).FpStore _ = iOfst _ = pPage @@ -41487,7 +41516,7 @@ func memdbUnfetch(tls *libc.TLS, pFile uintptr, iOfst Sqlite3_int64, pPage uintp } // Open an mem file handle. -func memdbOpen(tls *libc.TLS, pVfs uintptr, zName uintptr, pFd uintptr, flags int32, pOutFlags uintptr) int32 { /* sqlite3.c:49569:12: */ +func memdbOpen(tls *libc.TLS, pVfs uintptr, zName uintptr, pFd uintptr, flags int32, pOutFlags uintptr) int32 { /* sqlite3.c:49579:12: */ var pFile uintptr = pFd var p uintptr = uintptr(0) var szName int32 @@ -41562,7 +41591,7 @@ func memdbOpen(tls *libc.TLS, pVfs uintptr, zName uintptr, pFd uintptr, flags in // is available, or false otherwise. // // With memdb, no files ever exist on disk. So always return false. -func memdbAccess(tls *libc.TLS, pVfs uintptr, zPath uintptr, flags int32, pResOut uintptr) int32 { /* sqlite3.c:49666:12: */ +func memdbAccess(tls *libc.TLS, pVfs uintptr, zPath uintptr, flags int32, pResOut uintptr) int32 { /* sqlite3.c:49676:12: */ _ = pVfs _ = zPath _ = flags @@ -41573,7 +41602,7 @@ func memdbAccess(tls *libc.TLS, pVfs uintptr, zPath uintptr, flags int32, pResOu // Populate buffer zOut with the full canonical pathname corresponding // to the pathname in zPath. zOut is guaranteed to point to a buffer // of at least (INST_MAX_PATHNAME+1) bytes. -func memdbFullPathname(tls *libc.TLS, pVfs uintptr, zPath uintptr, nOut int32, zOut uintptr) int32 { /* sqlite3.c:49684:12: */ +func memdbFullPathname(tls *libc.TLS, pVfs uintptr, zPath uintptr, nOut int32, zOut uintptr) int32 { /* sqlite3.c:49694:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -41583,7 +41612,7 @@ func memdbFullPathname(tls *libc.TLS, pVfs uintptr, zPath uintptr, nOut int32, z } // Open the dynamic library located at zPath and return a handle. -func memdbDlOpen(tls *libc.TLS, pVfs uintptr, zPath uintptr) uintptr { /* sqlite3.c:49698:13: */ +func memdbDlOpen(tls *libc.TLS, pVfs uintptr, zPath uintptr) uintptr { /* sqlite3.c:49708:13: */ return (*struct { f func(*libc.TLS, uintptr, uintptr) uintptr })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer((*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData)).FxDlOpen})).f(tls, (*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, zPath) @@ -41592,21 +41621,21 @@ func memdbDlOpen(tls *libc.TLS, pVfs uintptr, zPath uintptr) uintptr { /* sqlite // Populate the buffer zErrMsg (size nByte bytes) with a human readable // utf-8 string describing the most recent error encountered associated // with dynamic libraries. -func memdbDlError(tls *libc.TLS, pVfs uintptr, nByte int32, zErrMsg uintptr) { /* sqlite3.c:49707:13: */ +func memdbDlError(tls *libc.TLS, pVfs uintptr, nByte int32, zErrMsg uintptr) { /* sqlite3.c:49717:13: */ (*struct { f func(*libc.TLS, uintptr, int32, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer((*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData)).FxDlError})).f(tls, (*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, nByte, zErrMsg) } // Return a pointer to the symbol zSymbol in the dynamic library pHandle. -func memdbDlSym(tls *libc.TLS, pVfs uintptr, p uintptr, zSym uintptr) uintptr { /* sqlite3.c:49714:13: */ +func memdbDlSym(tls *libc.TLS, pVfs uintptr, p uintptr, zSym uintptr) uintptr { /* sqlite3.c:49724:13: */ return (*struct { f func(*libc.TLS, uintptr, uintptr, uintptr) uintptr })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer((*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData)).FxDlSym})).f(tls, (*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, p, zSym) } // Close the dynamic library handle pHandle. -func memdbDlClose(tls *libc.TLS, pVfs uintptr, pHandle uintptr) { /* sqlite3.c:49721:13: */ +func memdbDlClose(tls *libc.TLS, pVfs uintptr, pHandle uintptr) { /* sqlite3.c:49731:13: */ (*struct { f func(*libc.TLS, uintptr, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer((*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData)).FxDlClose})).f(tls, (*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, pHandle) @@ -41614,7 +41643,7 @@ func memdbDlClose(tls *libc.TLS, pVfs uintptr, pHandle uintptr) { /* sqlite3.c:4 // Populate the buffer pointed to by zBufOut with nByte bytes of // random data. -func memdbRandomness(tls *libc.TLS, pVfs uintptr, nByte int32, zBufOut uintptr) int32 { /* sqlite3.c:49729:12: */ +func memdbRandomness(tls *libc.TLS, pVfs uintptr, nByte int32, zBufOut uintptr) int32 { /* sqlite3.c:49739:12: */ return (*struct { f func(*libc.TLS, uintptr, int32, uintptr) int32 })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer((*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData)).FxRandomness})).f(tls, (*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, nByte, zBufOut) @@ -41622,19 +41651,19 @@ func memdbRandomness(tls *libc.TLS, pVfs uintptr, nByte int32, zBufOut uintptr) // Sleep for nMicro microseconds. Return the number of microseconds // actually slept. -func memdbSleep(tls *libc.TLS, pVfs uintptr, nMicro int32) int32 { /* sqlite3.c:49737:12: */ +func memdbSleep(tls *libc.TLS, pVfs uintptr, nMicro int32) int32 { /* sqlite3.c:49747:12: */ return (*struct { f func(*libc.TLS, uintptr, int32) int32 })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer((*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData)).FxSleep})).f(tls, (*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, nMicro) } -func memdbGetLastError(tls *libc.TLS, pVfs uintptr, a int32, b uintptr) int32 { /* sqlite3.c:49750:12: */ +func memdbGetLastError(tls *libc.TLS, pVfs uintptr, a int32, b uintptr) int32 { /* sqlite3.c:49760:12: */ return (*struct { f func(*libc.TLS, uintptr, int32, uintptr) int32 })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer((*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData)).FxGetLastError})).f(tls, (*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, a, b) } -func memdbCurrentTimeInt64(tls *libc.TLS, pVfs uintptr, p uintptr) int32 { /* sqlite3.c:49753:12: */ +func memdbCurrentTimeInt64(tls *libc.TLS, pVfs uintptr, p uintptr) int32 { /* sqlite3.c:49763:12: */ return (*struct { f func(*libc.TLS, uintptr, uintptr) int32 })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer((*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData)).FxCurrentTimeInt64})).f(tls, (*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, p) @@ -41642,7 +41671,7 @@ func memdbCurrentTimeInt64(tls *libc.TLS, pVfs uintptr, p uintptr) int32 { /* sq // Translate a database connection pointer and schema name into a // MemFile pointer. -func memdbFromDbSchema(tls *libc.TLS, db uintptr, zSchema uintptr) uintptr { /* sqlite3.c:49761:16: */ +func memdbFromDbSchema(tls *libc.TLS, db uintptr, zSchema uintptr) uintptr { /* sqlite3.c:49771:16: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -41665,7 +41694,7 @@ func memdbFromDbSchema(tls *libc.TLS, db uintptr, zSchema uintptr) uintptr { /* } // Return the serialization of a database -func Xsqlite3_serialize(tls *libc.TLS, db uintptr, zSchema uintptr, piSize uintptr, mFlags uint32) uintptr { /* sqlite3.c:49777:26: */ +func Xsqlite3_serialize(tls *libc.TLS, db uintptr, zSchema uintptr, piSize uintptr, mFlags uint32) uintptr { /* sqlite3.c:49787:26: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -41756,7 +41785,7 @@ func Xsqlite3_serialize(tls *libc.TLS, db uintptr, zSchema uintptr, piSize uintp } // Convert zSchema to a MemDB and initialize its content. -func Xsqlite3_deserialize(tls *libc.TLS, db uintptr, zSchema uintptr, pData uintptr, szDb Sqlite3_int64, szBuf Sqlite3_int64, mFlags uint32) int32 { /* sqlite3.c:49858:16: */ +func Xsqlite3_deserialize(tls *libc.TLS, db uintptr, zSchema uintptr, pData uintptr, szDb Sqlite3_int64, szBuf Sqlite3_int64, mFlags uint32) int32 { /* sqlite3.c:49868:16: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -41851,7 +41880,7 @@ __10: // This routine is called when the extension is loaded. // Register the new VFS. -func Xsqlite3MemdbInit(tls *libc.TLS) int32 { /* sqlite3.c:49934:20: */ +func Xsqlite3MemdbInit(tls *libc.TLS) int32 { /* sqlite3.c:49944:20: */ var pLower uintptr = Xsqlite3_vfs_find(tls, uintptr(0)) var sz uint32 if pLower == uintptr(0) { @@ -41873,7 +41902,7 @@ func Xsqlite3MemdbInit(tls *libc.TLS) int32 { /* sqlite3.c:49934:20: */ // Create a new bitmap object able to handle bits between 0 and iSize, // inclusive. Return a pointer to the new object. Return NULL if // malloc fails. -func Xsqlite3BitvecCreate(tls *libc.TLS, iSize U32) uintptr { /* sqlite3.c:50066:23: */ +func Xsqlite3BitvecCreate(tls *libc.TLS, iSize U32) uintptr { /* sqlite3.c:50076:23: */ var p uintptr p = Xsqlite3MallocZero(tls, uint64(unsafe.Sizeof(Bitvec{}))) @@ -41886,7 +41915,7 @@ func Xsqlite3BitvecCreate(tls *libc.TLS, iSize U32) uintptr { /* sqlite3.c:50066 // Check to see if the i-th bit is set. Return true or false. // If p is NULL (if the bitmap has not been created) or if // i is out of range, then return false. -func Xsqlite3BitvecTestNotNull(tls *libc.TLS, p uintptr, i U32) int32 { /* sqlite3.c:50081:20: */ +func Xsqlite3BitvecTestNotNull(tls *libc.TLS, p uintptr, i U32) int32 { /* sqlite3.c:50091:20: */ i-- if i >= (*Bitvec)(unsafe.Pointer(p)).FiSize { @@ -41915,7 +41944,7 @@ func Xsqlite3BitvecTestNotNull(tls *libc.TLS, p uintptr, i U32) int32 { /* sqlit return int32(0) } -func Xsqlite3BitvecTest(tls *libc.TLS, p uintptr, i U32) int32 { /* sqlite3.c:50104:20: */ +func Xsqlite3BitvecTest(tls *libc.TLS, p uintptr, i U32) int32 { /* sqlite3.c:50114:20: */ return libc.Bool32(p != uintptr(0) && Xsqlite3BitvecTestNotNull(tls, p, i) != 0) } @@ -41929,7 +41958,7 @@ func Xsqlite3BitvecTest(tls *libc.TLS, p uintptr, i U32) int32 { /* sqlite3.c:50 // The calling function must ensure that p is a valid Bitvec object // and that the value for "i" is within range of the Bitvec object. // Otherwise the behavior is undefined. -func Xsqlite3BitvecSet(tls *libc.TLS, p uintptr, i U32) int32 { /* sqlite3.c:50120:20: */ +func Xsqlite3BitvecSet(tls *libc.TLS, p uintptr, i U32) int32 { /* sqlite3.c:50130:20: */ var h U32 var bin U32 var j uint32 @@ -42066,7 +42095,7 @@ bitvec_set_end: // // pBuf must be a pointer to at least BITVEC_SZ bytes of temporary storage // that BitvecClear can use to rebuilt its hash table. -func Xsqlite3BitvecClear(tls *libc.TLS, p uintptr, i U32, pBuf uintptr) { /* sqlite3.c:50191:21: */ +func Xsqlite3BitvecClear(tls *libc.TLS, p uintptr, i U32, pBuf uintptr) { /* sqlite3.c:50201:21: */ if p == uintptr(0) { return } @@ -42105,7 +42134,7 @@ func Xsqlite3BitvecClear(tls *libc.TLS, p uintptr, i U32, pBuf uintptr) { /* sql } // Destroy a bitmap object. Reclaim all memory used. -func Xsqlite3BitvecDestroy(tls *libc.TLS, p uintptr) { /* sqlite3.c:50228:21: */ +func Xsqlite3BitvecDestroy(tls *libc.TLS, p uintptr) { /* sqlite3.c:50238:21: */ if p == uintptr(0) { return } @@ -42120,7 +42149,7 @@ func Xsqlite3BitvecDestroy(tls *libc.TLS, p uintptr) { /* sqlite3.c:50228:21: */ // Return the value of the iSize parameter specified when Bitvec *p // was created. -func Xsqlite3BitvecSize(tls *libc.TLS, p uintptr) U32 { /* sqlite3.c:50243:20: */ +func Xsqlite3BitvecSize(tls *libc.TLS, p uintptr) U32 { /* sqlite3.c:50253:20: */ return (*Bitvec)(unsafe.Pointer(p)).FiSize } @@ -42157,7 +42186,7 @@ func Xsqlite3BitvecSize(tls *libc.TLS, p uintptr) U32 { /* sqlite3.c:50243:20: * // an error is returned. If they are the same, zero is returned. // // If a memory allocation error occurs, return -1. -func Xsqlite3BitvecBuiltinTest(tls *libc.TLS, sz int32, aOp uintptr) int32 { /* sqlite3.c:50288:20: */ +func Xsqlite3BitvecBuiltinTest(tls *libc.TLS, sz int32, aOp uintptr) int32 { /* sqlite3.c:50298:20: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -42320,7 +42349,7 @@ bitvec_end: // argument determines what operation to do. The 0x01 bit means first // remove pPage from the dirty list. The 0x02 means add pPage back to // the dirty list. Doing both moves pPage to the front of the dirty list. -func pcacheManageDirtyList(tls *libc.TLS, pPage uintptr, addRemove U8) { /* sqlite3.c:50523:13: */ +func pcacheManageDirtyList(tls *libc.TLS, pPage uintptr, addRemove U8) { /* sqlite3.c:50533:13: */ var p uintptr = (*PgHdr)(unsafe.Pointer(pPage)).FpCache if int32(addRemove)&PCACHE_DIRTYLIST_REMOVE != 0 { @@ -42382,7 +42411,7 @@ func pcacheManageDirtyList(tls *libc.TLS, pPage uintptr, addRemove U8) { /* sqli // Wrapper around the pluggable caches xUnpin method. If the cache is // being used for an in-memory database, this function is a no-op. -func pcacheUnpin(tls *libc.TLS, p uintptr) { /* sqlite3.c:50593:13: */ +func pcacheUnpin(tls *libc.TLS, p uintptr) { /* sqlite3.c:50603:13: */ if (*PCache)(unsafe.Pointer((*PgHdr)(unsafe.Pointer(p)).FpCache)).FbPurgeable != 0 { (*struct { @@ -42394,7 +42423,7 @@ func pcacheUnpin(tls *libc.TLS, p uintptr) { /* sqlite3.c:50593:13: */ // Compute the number of pages of cache requested. p->szCache is the // cache size requested by the "PRAGMA cache_size" statement. -func numberOfCachePages(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:50605:12: */ +func numberOfCachePages(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:50615:12: */ if (*PCache)(unsafe.Pointer(p)).FszCache >= 0 { // IMPLEMENTATION-OF: R-42059-47211 If the argument N is positive then the // suggested cache size is set to N. @@ -42419,7 +42448,7 @@ func numberOfCachePages(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:50605:12: // // Initialize and shutdown the page cache subsystem. Neither of these // functions are threadsafe. -func Xsqlite3PcacheInitialize(tls *libc.TLS) int32 { /* sqlite3.c:50627:20: */ +func Xsqlite3PcacheInitialize(tls *libc.TLS) int32 { /* sqlite3.c:50637:20: */ if Xsqlite3Config.Fpcache2.FxInit == uintptr(0) { // IMPLEMENTATION-OF: R-26801-64137 If the xInit() method is NULL, then the // built-in default page cache is used instead of the application defined @@ -42432,7 +42461,7 @@ func Xsqlite3PcacheInitialize(tls *libc.TLS) int32 { /* sqlite3.c:50627:20: */ })(unsafe.Pointer(&struct{ uintptr }{Xsqlite3Config.Fpcache2.FxInit})).f(tls, Xsqlite3Config.Fpcache2.FpArg) } -func Xsqlite3PcacheShutdown(tls *libc.TLS) { /* sqlite3.c:50637:21: */ +func Xsqlite3PcacheShutdown(tls *libc.TLS) { /* sqlite3.c:50647:21: */ if Xsqlite3Config.Fpcache2.FxShutdown != 0 { // IMPLEMENTATION-OF: R-26000-56589 The xShutdown() method may be NULL. (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{Xsqlite3Config.Fpcache2.FxShutdown})).f(tls, Xsqlite3Config.Fpcache2.FpArg) @@ -42440,7 +42469,7 @@ func Xsqlite3PcacheShutdown(tls *libc.TLS) { /* sqlite3.c:50637:21: */ } // Return the size in bytes of a PCache object. -func Xsqlite3PcacheSize(tls *libc.TLS) int32 { /* sqlite3.c:50647:20: */ +func Xsqlite3PcacheSize(tls *libc.TLS) int32 { /* sqlite3.c:50657:20: */ return int32(unsafe.Sizeof(PCache{})) } @@ -42454,7 +42483,7 @@ func Xsqlite3PcacheSize(tls *libc.TLS) int32 { /* sqlite3.c:50647:20: */ // but remaining content will be uninitialized. Though it is opaque // to this module, the extra space really ends up being the MemPage // structure in the pager. -func Xsqlite3PcacheOpen(tls *libc.TLS, szPage int32, szExtra int32, bPurgeable int32, xStress uintptr, pStress uintptr, p uintptr) int32 { /* sqlite3.c:50661:20: */ +func Xsqlite3PcacheOpen(tls *libc.TLS, szPage int32, szExtra int32, bPurgeable int32, xStress uintptr, pStress uintptr, p uintptr) int32 { /* sqlite3.c:50671:20: */ libc.X__builtin___memset_chk(tls, p, 0, uint64(unsafe.Sizeof(PCache{})), libc.X__builtin_object_size(tls, p, 0)) (*PCache)(unsafe.Pointer(p)).FszPage = 1 (*PCache)(unsafe.Pointer(p)).FszExtra = szExtra @@ -42471,7 +42500,7 @@ func Xsqlite3PcacheOpen(tls *libc.TLS, szPage int32, szExtra int32, bPurgeable i // Change the page size for PCache object. The caller must ensure that there // are no outstanding page references when this function is called. -func Xsqlite3PcacheSetPageSize(tls *libc.TLS, pCache uintptr, szPage int32) int32 { /* sqlite3.c:50687:20: */ +func Xsqlite3PcacheSetPageSize(tls *libc.TLS, pCache uintptr, szPage int32) int32 { /* sqlite3.c:50697:20: */ if (*PCache)(unsafe.Pointer(pCache)).FszPage != 0 { var pNew uintptr @@ -42518,7 +42547,7 @@ func Xsqlite3PcacheSetPageSize(tls *libc.TLS, pCache uintptr, szPage int32) int3 // they can both (usually) operate without having to push values to // the stack on entry and pop them back off on exit, which saves a // lot of pushing and popping. -func Xsqlite3PcacheFetch(tls *libc.TLS, pCache uintptr, pgno Pgno, createFlag int32) uintptr { /* sqlite3.c:50731:36: */ +func Xsqlite3PcacheFetch(tls *libc.TLS, pCache uintptr, pgno Pgno, createFlag int32) uintptr { /* sqlite3.c:50741:36: */ var eCreate int32 var pRes uintptr @@ -42546,7 +42575,7 @@ func Xsqlite3PcacheFetch(tls *libc.TLS, pCache uintptr, pgno Pgno, createFlag in // an OOM error. // // This routine should be invoked only after sqlite3PcacheFetch() fails. -func Xsqlite3PcacheFetchStress(tls *libc.TLS, pCache uintptr, pgno Pgno, ppPage uintptr) int32 { /* sqlite3.c:50772:20: */ +func Xsqlite3PcacheFetchStress(tls *libc.TLS, pCache uintptr, pgno Pgno, ppPage uintptr) int32 { /* sqlite3.c:50782:20: */ var pPg uintptr if int32((*PCache)(unsafe.Pointer(pCache)).FeCreate) == 2 { return 0 @@ -42597,7 +42626,7 @@ func Xsqlite3PcacheFetchStress(tls *libc.TLS, pCache uintptr, pgno Pgno, ppPage // This routine is broken out into a separate function since it // requires extra stack manipulation that can be avoided in the common // case. -func pcacheFetchFinishWithInit(tls *libc.TLS, pCache uintptr, pgno Pgno, pPage uintptr) uintptr { /* sqlite3.c:50828:30: */ +func pcacheFetchFinishWithInit(tls *libc.TLS, pCache uintptr, pgno Pgno, pPage uintptr) uintptr { /* sqlite3.c:50838:30: */ var pPgHdr uintptr pPgHdr = (*Sqlite3_pcache_page)(unsafe.Pointer(pPage)).FpExtra @@ -42617,7 +42646,7 @@ func pcacheFetchFinishWithInit(tls *libc.TLS, pCache uintptr, pgno Pgno, pPage u // sqlite3PcacheFetch() into an initialized PgHdr object. This routine // must be called after sqlite3PcacheFetch() in order to get a usable // result. -func Xsqlite3PcacheFetchFinish(tls *libc.TLS, pCache uintptr, pgno Pgno, pPage uintptr) uintptr { /* sqlite3.c:50854:22: */ +func Xsqlite3PcacheFetchFinish(tls *libc.TLS, pCache uintptr, pgno Pgno, pPage uintptr) uintptr { /* sqlite3.c:50864:22: */ var pPgHdr uintptr pPgHdr = (*Sqlite3_pcache_page)(unsafe.Pointer(pPage)).FpExtra @@ -42633,7 +42662,7 @@ func Xsqlite3PcacheFetchFinish(tls *libc.TLS, pCache uintptr, pgno Pgno, pPage u // Decrement the reference count on a page. If the page is clean and the // reference count drops to 0, then it is made eligible for recycling. -func Xsqlite3PcacheRelease(tls *libc.TLS, p uintptr) { /* sqlite3.c:50877:37: */ +func Xsqlite3PcacheRelease(tls *libc.TLS, p uintptr) { /* sqlite3.c:50887:37: */ (*PCache)(unsafe.Pointer((*PgHdr)(unsafe.Pointer(p)).FpCache)).FnRefSum-- if int32(libc.PreDecInt16(&(*PgHdr)(unsafe.Pointer(p)).FnRef, 1)) == 0 { @@ -42646,7 +42675,7 @@ func Xsqlite3PcacheRelease(tls *libc.TLS, p uintptr) { /* sqlite3.c:50877:37: */ } // Increase the reference count of a supplied page by 1. -func Xsqlite3PcacheRef(tls *libc.TLS, p uintptr) { /* sqlite3.c:50892:21: */ +func Xsqlite3PcacheRef(tls *libc.TLS, p uintptr) { /* sqlite3.c:50902:21: */ (*PgHdr)(unsafe.Pointer(p)).FnRef++ (*PCache)(unsafe.Pointer((*PgHdr)(unsafe.Pointer(p)).FpCache)).FnRefSum++ @@ -42655,7 +42684,7 @@ func Xsqlite3PcacheRef(tls *libc.TLS, p uintptr) { /* sqlite3.c:50892:21: */ // Drop a page from the cache. There must be exactly one reference to the // page. This function deletes that reference, so after it returns the // page pointed to by p is invalid. -func Xsqlite3PcacheDrop(tls *libc.TLS, p uintptr) { /* sqlite3.c:50904:21: */ +func Xsqlite3PcacheDrop(tls *libc.TLS, p uintptr) { /* sqlite3.c:50914:21: */ if int32((*PgHdr)(unsafe.Pointer(p)).Fflags)&PGHDR_DIRTY != 0 { pcacheManageDirtyList(tls, p, uint8(PCACHE_DIRTYLIST_REMOVE)) @@ -42668,7 +42697,7 @@ func Xsqlite3PcacheDrop(tls *libc.TLS, p uintptr) { /* sqlite3.c:50904:21: */ // Make sure the page is marked as dirty. If it isn't dirty already, // make it so. -func Xsqlite3PcacheMakeDirty(tls *libc.TLS, p uintptr) { /* sqlite3.c:50918:21: */ +func Xsqlite3PcacheMakeDirty(tls *libc.TLS, p uintptr) { /* sqlite3.c:50928:21: */ if int32((*PgHdr)(unsafe.Pointer(p)).Fflags)&(PGHDR_CLEAN|PGHDR_DONT_WRITE) != 0 { //OPTIMIZATION-IF-FALSE *(*U16)(unsafe.Pointer(p + 52)) &= libc.Uint16FromInt32(libc.CplInt32(PGHDR_DONT_WRITE)) @@ -42683,7 +42712,7 @@ func Xsqlite3PcacheMakeDirty(tls *libc.TLS, p uintptr) { /* sqlite3.c:50918:21: // Make sure the page is marked as clean. If it isn't clean already, // make it so. -func Xsqlite3PcacheMakeClean(tls *libc.TLS, p uintptr) { /* sqlite3.c:50938:21: */ +func Xsqlite3PcacheMakeClean(tls *libc.TLS, p uintptr) { /* sqlite3.c:50948:21: */ pcacheManageDirtyList(tls, p, uint8(PCACHE_DIRTYLIST_REMOVE)) *(*U16)(unsafe.Pointer(p + 52)) &= libc.Uint16FromInt32(libc.CplInt32(PGHDR_DIRTY | PGHDR_NEED_SYNC | PGHDR_WRITEABLE)) @@ -42695,7 +42724,7 @@ func Xsqlite3PcacheMakeClean(tls *libc.TLS, p uintptr) { /* sqlite3.c:50938:21: } // Make every page in the cache clean. -func Xsqlite3PcacheCleanAll(tls *libc.TLS, pCache uintptr) { /* sqlite3.c:50955:21: */ +func Xsqlite3PcacheCleanAll(tls *libc.TLS, pCache uintptr) { /* sqlite3.c:50965:21: */ var p uintptr for libc.AssignUintptr(&p, (*PCache)(unsafe.Pointer(pCache)).FpDirty) != uintptr(0) { @@ -42704,7 +42733,7 @@ func Xsqlite3PcacheCleanAll(tls *libc.TLS, pCache uintptr) { /* sqlite3.c:50955: } // Clear the PGHDR_NEED_SYNC and PGHDR_WRITEABLE flag from all dirty pages. -func Xsqlite3PcacheClearWritable(tls *libc.TLS, pCache uintptr) { /* sqlite3.c:50966:21: */ +func Xsqlite3PcacheClearWritable(tls *libc.TLS, pCache uintptr) { /* sqlite3.c:50976:21: */ var p uintptr for p = (*PCache)(unsafe.Pointer(pCache)).FpDirty; p != 0; p = (*PgHdr)(unsafe.Pointer(p)).FpDirtyNext { @@ -42714,7 +42743,7 @@ func Xsqlite3PcacheClearWritable(tls *libc.TLS, pCache uintptr) { /* sqlite3.c:5 } // Clear the PGHDR_NEED_SYNC flag from all dirty pages. -func Xsqlite3PcacheClearSyncFlags(tls *libc.TLS, pCache uintptr) { /* sqlite3.c:50978:21: */ +func Xsqlite3PcacheClearSyncFlags(tls *libc.TLS, pCache uintptr) { /* sqlite3.c:50988:21: */ var p uintptr for p = (*PCache)(unsafe.Pointer(pCache)).FpDirty; p != 0; p = (*PgHdr)(unsafe.Pointer(p)).FpDirtyNext { *(*U16)(unsafe.Pointer(p + 52)) &= libc.Uint16FromInt32(libc.CplInt32(PGHDR_NEED_SYNC)) @@ -42723,7 +42752,7 @@ func Xsqlite3PcacheClearSyncFlags(tls *libc.TLS, pCache uintptr) { /* sqlite3.c: } // Change the page number of page p to newPgno. -func Xsqlite3PcacheMove(tls *libc.TLS, p uintptr, newPgno Pgno) { /* sqlite3.c:50989:21: */ +func Xsqlite3PcacheMove(tls *libc.TLS, p uintptr, newPgno Pgno) { /* sqlite3.c:50999:21: */ var pCache uintptr = (*PgHdr)(unsafe.Pointer(p)).FpCache (*struct { @@ -42742,7 +42771,7 @@ func Xsqlite3PcacheMove(tls *libc.TLS, p uintptr, newPgno Pgno) { /* sqlite3.c:5 // If there is a reference to page 1 and the pgno parameter passed to this // function is 0, then the data area associated with page 1 is zeroed, but // the page object is not dropped. -func Xsqlite3PcacheTruncate(tls *libc.TLS, pCache uintptr, pgno Pgno) { /* sqlite3.c:51011:21: */ +func Xsqlite3PcacheTruncate(tls *libc.TLS, pCache uintptr, pgno Pgno) { /* sqlite3.c:51021:21: */ if (*PCache)(unsafe.Pointer(pCache)).FpCache != 0 { var p uintptr var pNext uintptr @@ -42776,19 +42805,19 @@ func Xsqlite3PcacheTruncate(tls *libc.TLS, pCache uintptr, pgno Pgno) { /* sqlit } // Close a cache. -func Xsqlite3PcacheClose(tls *libc.TLS, pCache uintptr) { /* sqlite3.c:51044:21: */ +func Xsqlite3PcacheClose(tls *libc.TLS, pCache uintptr) { /* sqlite3.c:51054:21: */ (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{Xsqlite3Config.Fpcache2.FxDestroy})).f(tls, (*PCache)(unsafe.Pointer(pCache)).FpCache) } // Discard the contents of the cache. -func Xsqlite3PcacheClear(tls *libc.TLS, pCache uintptr) { /* sqlite3.c:51053:21: */ +func Xsqlite3PcacheClear(tls *libc.TLS, pCache uintptr) { /* sqlite3.c:51063:21: */ Xsqlite3PcacheTruncate(tls, pCache, uint32(0)) } // Merge two lists of pages connected by pDirty and in pgno order. // Do not bother fixing the pDirtyPrev pointers. -func pcacheMergeDirtyList(tls *libc.TLS, pA uintptr, pB uintptr) uintptr { /* sqlite3.c:51061:14: */ +func pcacheMergeDirtyList(tls *libc.TLS, pA uintptr, pB uintptr) uintptr { /* sqlite3.c:51071:14: */ bp := tls.Alloc(72) defer tls.Free(72) @@ -42827,7 +42856,7 @@ func pcacheMergeDirtyList(tls *libc.TLS, pA uintptr, pB uintptr) uintptr { /* sq // there cannot be more than 31 buckets required by the merge sorter. // One extra bucket is added to catch overflow in case something // ever changes to make the previous sentence incorrect. -func pcacheSortDirtyList(tls *libc.TLS, pIn uintptr) uintptr { /* sqlite3.c:51098:14: */ +func pcacheSortDirtyList(tls *libc.TLS, pIn uintptr) uintptr { /* sqlite3.c:51108:14: */ bp := tls.Alloc(256) defer tls.Free(256) @@ -42870,7 +42899,7 @@ func pcacheSortDirtyList(tls *libc.TLS, pIn uintptr) uintptr { /* sqlite3.c:5109 } // Return a list of all dirty pages in the cache, sorted by page number. -func Xsqlite3PcacheDirtyList(tls *libc.TLS, pCache uintptr) uintptr { /* sqlite3.c:51133:22: */ +func Xsqlite3PcacheDirtyList(tls *libc.TLS, pCache uintptr) uintptr { /* sqlite3.c:51143:22: */ var p uintptr for p = (*PCache)(unsafe.Pointer(pCache)).FpDirty; p != 0; p = (*PgHdr)(unsafe.Pointer(p)).FpDirtyNext { (*PgHdr)(unsafe.Pointer(p)).FpDirty = (*PgHdr)(unsafe.Pointer(p)).FpDirtyNext @@ -42882,17 +42911,17 @@ func Xsqlite3PcacheDirtyList(tls *libc.TLS, pCache uintptr) uintptr { /* sqlite3 // // This is not the total number of pages referenced, but the sum of the // reference count for all pages. -func Xsqlite3PcacheRefCount(tls *libc.TLS, pCache uintptr) int32 { /* sqlite3.c:51147:20: */ +func Xsqlite3PcacheRefCount(tls *libc.TLS, pCache uintptr) int32 { /* sqlite3.c:51157:20: */ return (*PCache)(unsafe.Pointer(pCache)).FnRefSum } // Return the number of references to the page supplied as an argument. -func Xsqlite3PcachePageRefcount(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:51154:20: */ +func Xsqlite3PcachePageRefcount(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:51164:20: */ return int32((*PgHdr)(unsafe.Pointer(p)).FnRef) } // Return the total number of pages in the cache. -func Xsqlite3PcachePagecount(tls *libc.TLS, pCache uintptr) int32 { /* sqlite3.c:51161:20: */ +func Xsqlite3PcachePagecount(tls *libc.TLS, pCache uintptr) int32 { /* sqlite3.c:51171:20: */ return (*struct { f func(*libc.TLS, uintptr) int32 @@ -42900,7 +42929,7 @@ func Xsqlite3PcachePagecount(tls *libc.TLS, pCache uintptr) int32 { /* sqlite3.c } // Set the suggested cache-size value. -func Xsqlite3PcacheSetCachesize(tls *libc.TLS, pCache uintptr, mxPage int32) { /* sqlite3.c:51178:21: */ +func Xsqlite3PcacheSetCachesize(tls *libc.TLS, pCache uintptr, mxPage int32) { /* sqlite3.c:51188:21: */ (*PCache)(unsafe.Pointer(pCache)).FszCache = mxPage (*struct { @@ -42912,7 +42941,7 @@ func Xsqlite3PcacheSetCachesize(tls *libc.TLS, pCache uintptr, mxPage int32) { / // Set the suggested cache-spill value. Make no changes if if the // argument is zero. Return the effective cache-spill size, which will // be the larger of the szSpill and szCache. -func Xsqlite3PcacheSetSpillsize(tls *libc.TLS, p uintptr, mxPage int32) int32 { /* sqlite3.c:51190:20: */ +func Xsqlite3PcacheSetSpillsize(tls *libc.TLS, p uintptr, mxPage int32) int32 { /* sqlite3.c:51200:20: */ var res int32 if mxPage != 0 { @@ -42929,20 +42958,20 @@ func Xsqlite3PcacheSetSpillsize(tls *libc.TLS, p uintptr, mxPage int32) int32 { } // Free up as much memory as possible from the page cache. -func Xsqlite3PcacheShrink(tls *libc.TLS, pCache uintptr) { /* sqlite3.c:51207:21: */ +func Xsqlite3PcacheShrink(tls *libc.TLS, pCache uintptr) { /* sqlite3.c:51217:21: */ (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{Xsqlite3Config.Fpcache2.FxShrink})).f(tls, (*PCache)(unsafe.Pointer(pCache)).FpCache) } // Return the size of the header added by this middleware layer // in the page-cache hierarchy. -func Xsqlite3HeaderSizePcache(tls *libc.TLS) int32 { /* sqlite3.c:51216:20: */ +func Xsqlite3HeaderSizePcache(tls *libc.TLS) int32 { /* sqlite3.c:51226:20: */ return int32((uint64(unsafe.Sizeof(PgHdr{})) + uint64(7)) & libc.Uint64FromInt32(libc.CplInt32(7))) } // Return the number of dirty pages currently in the cache, as a percentage // of the configured cache size. -func Xsqlite3PCachePercentDirty(tls *libc.TLS, pCache uintptr) int32 { /* sqlite3.c:51222:20: */ +func Xsqlite3PCachePercentDirty(tls *libc.TLS, pCache uintptr) int32 { /* sqlite3.c:51232:20: */ var pDirty uintptr var nDirty int32 = 0 var nCache int32 = numberOfCachePages(tls, pCache) @@ -43057,7 +43086,7 @@ type PCache11 = struct { FapHash uintptr FpFree uintptr FpBulk uintptr -} /* sqlite3.c:51339:9 */ +} /* sqlite3.c:51349:9 */ //************* End of pcache.c ********************************************* //************* Begin file pcache1.c **************************************** @@ -43143,7 +43172,7 @@ type PCache11 = struct { // common workloads. // #include "sqliteInt.h" -type PCache1 = PCache11 /* sqlite3.c:51339:24 */ +type PCache1 = PCache11 /* sqlite3.c:51349:24 */ type PgHdr11 = struct { Fpage Sqlite3_pcache_page FiKey uint32 @@ -43153,12 +43182,12 @@ type PgHdr11 = struct { FpCache uintptr FpLruNext uintptr FpLruPrev uintptr -} /* sqlite3.c:51339:9 */ +} /* sqlite3.c:51349:9 */ -type PgHdr1 = PgHdr11 /* sqlite3.c:51340:23 */ -type PgFreeslot1 = struct{ FpNext uintptr } /* sqlite3.c:51341:9 */ +type PgHdr1 = PgHdr11 /* sqlite3.c:51350:23 */ +type PgFreeslot1 = struct{ FpNext uintptr } /* sqlite3.c:51351:9 */ -type PgFreeslot = PgFreeslot1 /* sqlite3.c:51341:27 */ +type PgFreeslot = PgFreeslot1 /* sqlite3.c:51351:27 */ type PGroup1 = struct { Fmutex uintptr FnMaxPage uint32 @@ -43166,9 +43195,9 @@ type PGroup1 = struct { FmxPinned uint32 FnPurgeable uint32 Flru PgHdr1 -} /* sqlite3.c:51339:9 */ +} /* sqlite3.c:51349:9 */ -type PGroup = PGroup1 /* sqlite3.c:51342:23 */ +type PGroup = PGroup1 /* sqlite3.c:51352:23 */ // Global data used by this cache. type PCacheGlobal = struct { @@ -43185,10 +43214,10 @@ type PCacheGlobal = struct { FpFree uintptr FnFreeSlot int32 FbUnderPressure int32 -} /* sqlite3.c:51459:19 */ +} /* sqlite3.c:51469:19 */ // Global data used by this cache. -var pcache1_g PCacheGlobal /* sqlite3.c:51483:3: */ +var pcache1_g PCacheGlobal /* sqlite3.c:51493:3: */ // All code in this file should access the global structure above via the // alias "pcache1". This ensures that the WSD emulation is used when @@ -43206,7 +43235,7 @@ var pcache1_g PCacheGlobal /* sqlite3.c:51483:3: */ // // This routine is called from sqlite3_initialize() and so it is guaranteed // to be serialized already. There is no need for further mutexing. -func Xsqlite3PCacheBufferSetup(tls *libc.TLS, pBuf uintptr, sz int32, n int32) { /* sqlite3.c:51518:21: */ +func Xsqlite3PCacheBufferSetup(tls *libc.TLS, pBuf uintptr, sz int32, n int32) { /* sqlite3.c:51528:21: */ if pcache1_g.FisInit != 0 { var p uintptr if pBuf == uintptr(0) { @@ -43239,7 +43268,7 @@ func Xsqlite3PCacheBufferSetup(tls *libc.TLS, pBuf uintptr, sz int32, n int32) { // Try to initialize the pCache->pFree and pCache->pBulk fields. Return // true if pCache->pFree ends up containing one or more free pages. -func pcache1InitBulk(tls *libc.TLS, pCache uintptr) int32 { /* sqlite3.c:51544:12: */ +func pcache1InitBulk(tls *libc.TLS, pCache uintptr) int32 { /* sqlite3.c:51554:12: */ var szBulk I64 var zBulk uintptr if pcache1_g.FnInitPage == 0 { @@ -43284,7 +43313,7 @@ func pcache1InitBulk(tls *libc.TLS, pCache uintptr) int32 { /* sqlite3.c:51544:1 // // Multiple threads can run this routine at the same time. Global variables // in pcache1 need to be protected via mutex. -func pcache1Alloc(tls *libc.TLS, nByte int32) uintptr { /* sqlite3.c:51587:13: */ +func pcache1Alloc(tls *libc.TLS, nByte int32) uintptr { /* sqlite3.c:51597:13: */ var p uintptr = uintptr(0) if nByte <= pcache1_g.FszSlot { @@ -43317,7 +43346,7 @@ func pcache1Alloc(tls *libc.TLS, nByte int32) uintptr { /* sqlite3.c:51587:13: * } // Free an allocated buffer obtained from pcache1Alloc(). -func pcache1Free(tls *libc.TLS, p uintptr) { /* sqlite3.c:51625:13: */ +func pcache1Free(tls *libc.TLS, p uintptr) { /* sqlite3.c:51635:13: */ if p == uintptr(0) { return } @@ -43347,7 +43376,7 @@ func pcache1Free(tls *libc.TLS, p uintptr) { /* sqlite3.c:51625:13: */ } // Return the size of a pcache allocation -func pcache1MemSize(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:51658:12: */ +func pcache1MemSize(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:51668:12: */ if p >= pcache1_g.FpStart && p < pcache1_g.FpEnd { return pcache1_g.FszSlot } else { @@ -43361,7 +43390,7 @@ func pcache1MemSize(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:51658:12: */ } // Allocate a new page object initially associated with cache pCache. -func pcache1AllocPage(tls *libc.TLS, pCache uintptr, benignMalloc int32) uintptr { /* sqlite3.c:51675:15: */ +func pcache1AllocPage(tls *libc.TLS, pCache uintptr, benignMalloc int32) uintptr { /* sqlite3.c:51685:15: */ var p uintptr = uintptr(0) var pPg uintptr @@ -43399,7 +43428,7 @@ func pcache1AllocPage(tls *libc.TLS, pCache uintptr, benignMalloc int32) uintptr } // Free a page object allocated by pcache1AllocPage(). -func pcache1FreePage(tls *libc.TLS, p uintptr) { /* sqlite3.c:51727:13: */ +func pcache1FreePage(tls *libc.TLS, p uintptr) { /* sqlite3.c:51737:13: */ var pCache uintptr pCache = (*PgHdr1)(unsafe.Pointer(p)).FpCache @@ -43416,13 +43445,13 @@ func pcache1FreePage(tls *libc.TLS, p uintptr) { /* sqlite3.c:51727:13: */ // Malloc function used by SQLite to obtain space from the buffer configured // using sqlite3_config(SQLITE_CONFIG_PAGECACHE) option. If no such buffer // exists, this function falls back to sqlite3Malloc(). -func Xsqlite3PageMalloc(tls *libc.TLS, sz int32) uintptr { /* sqlite3.c:51749:21: */ +func Xsqlite3PageMalloc(tls *libc.TLS, sz int32) uintptr { /* sqlite3.c:51759:21: */ // These allocations are never very large return pcache1Alloc(tls, sz) } // Free an allocated buffer obtained from sqlite3PageMalloc(). -func Xsqlite3PageFree(tls *libc.TLS, p uintptr) { /* sqlite3.c:51757:21: */ +func Xsqlite3PageFree(tls *libc.TLS, p uintptr) { /* sqlite3.c:51767:21: */ pcache1Free(tls, p) } @@ -43440,7 +43469,7 @@ func Xsqlite3PageFree(tls *libc.TLS, p uintptr) { /* sqlite3.c:51757:21: */ // under memory pressure, then again it is desirable to avoid // allocating a new page cache entry in order to avoid stressing // the heap even further. -func pcache1UnderMemoryPressure(tls *libc.TLS, pCache uintptr) int32 { /* sqlite3.c:51778:12: */ +func pcache1UnderMemoryPressure(tls *libc.TLS, pCache uintptr) int32 { /* sqlite3.c:51788:12: */ if pcache1_g.FnSlot != 0 && (*PCache1)(unsafe.Pointer(pCache)).FszPage+(*PCache1)(unsafe.Pointer(pCache)).FszExtra <= pcache1_g.FszSlot { return pcache1_g.FbUnderPressure } else { @@ -43456,7 +43485,7 @@ func pcache1UnderMemoryPressure(tls *libc.TLS, pCache uintptr) int32 { /* sqlite // as the first argument. // // The PCache mutex must be held when this function is called. -func pcache1ResizeHash(tls *libc.TLS, p uintptr) { /* sqlite3.c:51795:13: */ +func pcache1ResizeHash(tls *libc.TLS, p uintptr) { /* sqlite3.c:51805:13: */ var apNew uintptr var nNew uint32 var i uint32 @@ -43497,7 +43526,7 @@ func pcache1ResizeHash(tls *libc.TLS, p uintptr) { /* sqlite3.c:51795:13: */ // LRU list, then this function is a no-op. // // The PGroup mutex must be held when this function is called. -func pcache1PinPage(tls *libc.TLS, pPage uintptr) uintptr { /* sqlite3.c:51836:15: */ +func pcache1PinPage(tls *libc.TLS, pPage uintptr) uintptr { /* sqlite3.c:51846:15: */ (*PgHdr1)(unsafe.Pointer((*PgHdr1)(unsafe.Pointer(pPage)).FpLruPrev)).FpLruNext = (*PgHdr1)(unsafe.Pointer(pPage)).FpLruNext (*PgHdr1)(unsafe.Pointer((*PgHdr1)(unsafe.Pointer(pPage)).FpLruNext)).FpLruPrev = (*PgHdr1)(unsafe.Pointer(pPage)).FpLruPrev @@ -43514,7 +43543,7 @@ func pcache1PinPage(tls *libc.TLS, pPage uintptr) uintptr { /* sqlite3.c:51836:1 // Also free the page if freePage is true. // // The PGroup mutex must be held when this function is called. -func pcache1RemoveFromHash(tls *libc.TLS, pPage uintptr, freeFlag int32) { /* sqlite3.c:51861:13: */ +func pcache1RemoveFromHash(tls *libc.TLS, pPage uintptr, freeFlag int32) { /* sqlite3.c:51871:13: */ var h uint32 var pCache uintptr = (*PgHdr1)(unsafe.Pointer(pPage)).FpCache var pp uintptr @@ -43532,7 +43561,7 @@ func pcache1RemoveFromHash(tls *libc.TLS, pPage uintptr, freeFlag int32) { /* sq // If there are currently more than nMaxPage pages allocated, try // to recycle pages to reduce the number allocated to nMaxPage. -func pcache1EnforceMaxPage(tls *libc.TLS, pCache uintptr) { /* sqlite3.c:51879:13: */ +func pcache1EnforceMaxPage(tls *libc.TLS, pCache uintptr) { /* sqlite3.c:51889:13: */ var pGroup uintptr = (*PCache1)(unsafe.Pointer(pCache)).FpGroup var p uintptr @@ -43553,7 +43582,7 @@ func pcache1EnforceMaxPage(tls *libc.TLS, pCache uintptr) { /* sqlite3.c:51879:1 // criteria are unpinned before they are discarded. // // The PCache mutex must be held when this function is called. -func pcache1TruncateUnsafe(tls *libc.TLS, pCache uintptr, iLimit uint32) { /* sqlite3.c:51904:13: */ +func pcache1TruncateUnsafe(tls *libc.TLS, pCache uintptr, iLimit uint32) { /* sqlite3.c:51914:13: */ var h uint32 var iStop uint32 @@ -43601,7 +43630,7 @@ func pcache1TruncateUnsafe(tls *libc.TLS, pCache uintptr, iLimit uint32) { /* sq //******* sqlite3_pcache Methods ********************************************* // Implementation of the sqlite3_pcache.xInit method. -func pcache1Init(tls *libc.TLS, NotUsed uintptr) int32 { /* sqlite3.c:51955:12: */ +func pcache1Init(tls *libc.TLS, NotUsed uintptr) int32 { /* sqlite3.c:51965:12: */ _ = NotUsed libc.X__builtin___memset_chk(tls, uintptr(unsafe.Pointer(&pcache1_g)), 0, uint64(unsafe.Sizeof(pcache1_g)), libc.X__builtin_object_size(tls, uintptr(unsafe.Pointer(&pcache1_g)), 0)) @@ -43639,7 +43668,7 @@ func pcache1Init(tls *libc.TLS, NotUsed uintptr) int32 { /* sqlite3.c:51955:12: // Implementation of the sqlite3_pcache.xShutdown method. // Note that the static mutex allocated in xInit does // not need to be freed. -func pcache1Shutdown(tls *libc.TLS, NotUsed uintptr) { /* sqlite3.c:52008:13: */ +func pcache1Shutdown(tls *libc.TLS, NotUsed uintptr) { /* sqlite3.c:52018:13: */ _ = NotUsed libc.X__builtin___memset_chk(tls, uintptr(unsafe.Pointer(&pcache1_g)), 0, uint64(unsafe.Sizeof(pcache1_g)), libc.X__builtin_object_size(tls, uintptr(unsafe.Pointer(&pcache1_g)), 0)) @@ -43648,7 +43677,7 @@ func pcache1Shutdown(tls *libc.TLS, NotUsed uintptr) { /* sqlite3.c:52008:13: */ // Implementation of the sqlite3_pcache.xCreate method. // // Allocate a new cache. -func pcache1Create(tls *libc.TLS, szPage int32, szExtra int32, bPurgeable int32) uintptr { /* sqlite3.c:52022:23: */ +func pcache1Create(tls *libc.TLS, szPage int32, szExtra int32, bPurgeable int32) uintptr { /* sqlite3.c:52032:23: */ var pCache uintptr // The newly created page cache var pGroup uintptr // The group the new page cache will belong to var sz int32 // Bytes of memory required to allocate the new cache @@ -43698,7 +43727,7 @@ func pcache1Create(tls *libc.TLS, szPage int32, szExtra int32, bPurgeable int32) // Implementation of the sqlite3_pcache.xCachesize method. // // Configure the cache_size limit for a cache. -func pcache1Cachesize(tls *libc.TLS, p uintptr, nMax int32) { /* sqlite3.c:52072:13: */ +func pcache1Cachesize(tls *libc.TLS, p uintptr, nMax int32) { /* sqlite3.c:52082:13: */ var pCache uintptr = p var n U32 @@ -43721,7 +43750,7 @@ func pcache1Cachesize(tls *libc.TLS, p uintptr, nMax int32) { /* sqlite3.c:52072 // Implementation of the sqlite3_pcache.xShrink method. // // Free up as much memory as possible. -func pcache1Shrink(tls *libc.TLS, p uintptr) { /* sqlite3.c:52097:13: */ +func pcache1Shrink(tls *libc.TLS, p uintptr) { /* sqlite3.c:52107:13: */ var pCache uintptr = p if (*PCache1)(unsafe.Pointer(pCache)).FbPurgeable != 0 { var pGroup uintptr = (*PCache1)(unsafe.Pointer(pCache)).FpGroup @@ -43736,7 +43765,7 @@ func pcache1Shrink(tls *libc.TLS, p uintptr) { /* sqlite3.c:52097:13: */ } // Implementation of the sqlite3_pcache.xPagecount method. -func pcache1Pagecount(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:52114:12: */ +func pcache1Pagecount(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:52124:12: */ var n int32 var pCache uintptr = p Xsqlite3_mutex_enter(tls, (*PGroup)(unsafe.Pointer((*PCache1)(unsafe.Pointer(pCache)).FpGroup)).Fmutex) @@ -43751,7 +43780,7 @@ func pcache1Pagecount(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:52114:12: * // This steps are broken out into a separate procedure because they are // usually not needed, and by avoiding the stack initialization required // for these steps, the main pcache1Fetch() procedure can run faster. -func pcache1FetchStage2(tls *libc.TLS, pCache uintptr, iKey uint32, createFlag int32) uintptr { /* sqlite3.c:52132:31: */ +func pcache1FetchStage2(tls *libc.TLS, pCache uintptr, iKey uint32, createFlag int32) uintptr { /* sqlite3.c:52142:31: */ var nPinned uint32 var pGroup uintptr = (*PCache1)(unsafe.Pointer(pCache)).FpGroup var pPage uintptr = uintptr(0) @@ -43869,7 +43898,7 @@ func pcache1FetchStage2(tls *libc.TLS, pCache uintptr, iKey uint32, createFlag i // the general case. pcache1FetchNoMutex() is a faster implementation for // the common case where pGroup->mutex is NULL. The pcache1Fetch() wrapper // invokes the appropriate routine. -func pcache1FetchNoMutex(tls *libc.TLS, p uintptr, iKey uint32, createFlag int32) uintptr { /* sqlite3.c:52260:15: */ +func pcache1FetchNoMutex(tls *libc.TLS, p uintptr, iKey uint32, createFlag int32) uintptr { /* sqlite3.c:52270:15: */ var pCache uintptr = p var pPage uintptr = uintptr(0) @@ -43898,7 +43927,7 @@ func pcache1FetchNoMutex(tls *libc.TLS, p uintptr, iKey uint32, createFlag int32 return uintptr(0) } -func pcache1FetchWithMutex(tls *libc.TLS, p uintptr, iKey uint32, createFlag int32) uintptr { /* sqlite3.c:52290:15: */ +func pcache1FetchWithMutex(tls *libc.TLS, p uintptr, iKey uint32, createFlag int32) uintptr { /* sqlite3.c:52300:15: */ var pCache uintptr = p var pPage uintptr @@ -43909,7 +43938,7 @@ func pcache1FetchWithMutex(tls *libc.TLS, p uintptr, iKey uint32, createFlag int return pPage } -func pcache1Fetch(tls *libc.TLS, p uintptr, iKey uint32, createFlag int32) uintptr { /* sqlite3.c:52305:28: */ +func pcache1Fetch(tls *libc.TLS, p uintptr, iKey uint32, createFlag int32) uintptr { /* sqlite3.c:52315:28: */ var pCache uintptr = p if (*PGroup)(unsafe.Pointer((*PCache1)(unsafe.Pointer(pCache)).FpGroup)).Fmutex != 0 { @@ -43923,7 +43952,7 @@ func pcache1Fetch(tls *libc.TLS, p uintptr, iKey uint32, createFlag int32) uintp // Implementation of the sqlite3_pcache.xUnpin method. // // Mark a page as unpinned (eligible for asynchronous recycling). -func pcache1Unpin(tls *libc.TLS, p uintptr, pPg uintptr, reuseUnlikely int32) { /* sqlite3.c:52336:13: */ +func pcache1Unpin(tls *libc.TLS, p uintptr, pPg uintptr, reuseUnlikely int32) { /* sqlite3.c:52346:13: */ var pCache uintptr = p var pPage uintptr = pPg var pGroup uintptr = (*PCache1)(unsafe.Pointer(pCache)).FpGroup @@ -43948,7 +43977,7 @@ func pcache1Unpin(tls *libc.TLS, p uintptr, pPg uintptr, reuseUnlikely int32) { } // Implementation of the sqlite3_pcache.xRekey method. -func pcache1Rekey(tls *libc.TLS, p uintptr, pPg uintptr, iOld uint32, iNew uint32) { /* sqlite3.c:52371:13: */ +func pcache1Rekey(tls *libc.TLS, p uintptr, pPg uintptr, iOld uint32, iNew uint32) { /* sqlite3.c:52381:13: */ var pCache uintptr = p var pPage uintptr = pPg var pp uintptr @@ -43979,7 +44008,7 @@ func pcache1Rekey(tls *libc.TLS, p uintptr, pPg uintptr, iOld uint32, iNew uint3 // Discard all unpinned pages in the cache with a page number equal to // or greater than parameter iLimit. Any pinned pages with a page number // equal to or greater than iLimit are implicitly unpinned. -func pcache1Truncate(tls *libc.TLS, p uintptr, iLimit uint32) { /* sqlite3.c:52411:13: */ +func pcache1Truncate(tls *libc.TLS, p uintptr, iLimit uint32) { /* sqlite3.c:52421:13: */ var pCache uintptr = p Xsqlite3_mutex_enter(tls, (*PGroup)(unsafe.Pointer((*PCache1)(unsafe.Pointer(pCache)).FpGroup)).Fmutex) if iLimit <= (*PCache1)(unsafe.Pointer(pCache)).FiMaxKey { @@ -43992,7 +44021,7 @@ func pcache1Truncate(tls *libc.TLS, p uintptr, iLimit uint32) { /* sqlite3.c:524 // Implementation of the sqlite3_pcache.xDestroy method. // // Destroy a cache allocated using pcache1Create(). -func pcache1Destroy(tls *libc.TLS, p uintptr) { /* sqlite3.c:52426:13: */ +func pcache1Destroy(tls *libc.TLS, p uintptr) { /* sqlite3.c:52436:13: */ var pCache uintptr = p var pGroup uintptr = (*PCache1)(unsafe.Pointer(pCache)).FpGroup @@ -44015,7 +44044,7 @@ func pcache1Destroy(tls *libc.TLS, p uintptr) { /* sqlite3.c:52426:13: */ // This function is called during initialization (sqlite3_initialize()) to // install the default pluggable cache module, assuming the user has not // already provided an alternative. -func Xsqlite3PCacheSetDefault(tls *libc.TLS) { /* sqlite3.c:52449:21: */ +func Xsqlite3PCacheSetDefault(tls *libc.TLS) { /* sqlite3.c:52459:21: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -44035,16 +44064,16 @@ var defaultMethods1 = Sqlite3_pcache_methods2{ FxTruncate: 0, // xTruncate FxDestroy: 0, // xDestroy FxShrink: 0, // xShrink -} /* sqlite3.c:52450:40 */ +} /* sqlite3.c:52460:40 */ // Return the size of the header on each page of this PCACHE implementation. -func Xsqlite3HeaderSizePcache1(tls *libc.TLS) int32 { /* sqlite3.c:52471:20: */ +func Xsqlite3HeaderSizePcache1(tls *libc.TLS) int32 { /* sqlite3.c:52481:20: */ return int32((uint64(unsafe.Sizeof(PgHdr1{})) + uint64(7)) & libc.Uint64FromInt32(libc.CplInt32(7))) } // Return the global mutex used by this PCACHE implementation. The // sqlite3_status() routine needs access to this mutex. -func Xsqlite3Pcache1Mutex(tls *libc.TLS) uintptr { /* sqlite3.c:52477:30: */ +func Xsqlite3Pcache1Mutex(tls *libc.TLS) uintptr { /* sqlite3.c:52487:30: */ return pcache1_g.Fmutex } @@ -44055,7 +44084,7 @@ func Xsqlite3Pcache1Mutex(tls *libc.TLS) uintptr { /* sqlite3.c:52477:30: */ // nReq is the number of bytes of memory required. Once this much has // been released, the function returns. The return value is the total number // of bytes of memory released. -func Xsqlite3PcacheReleaseMemory(tls *libc.TLS, nReq int32) int32 { /* sqlite3.c:52491:20: */ +func Xsqlite3PcacheReleaseMemory(tls *libc.TLS, nReq int32) int32 { /* sqlite3.c:52501:20: */ var nFree int32 = 0 if Xsqlite3Config.FpPage == uintptr(0) { @@ -44172,7 +44201,7 @@ type RowSetChunk = struct { // Allocate a RowSet object. Return NULL if a memory allocation // error occurs. -func Xsqlite3RowSetInit(tls *libc.TLS, db uintptr) uintptr { /* sqlite3.c:52671:23: */ +func Xsqlite3RowSetInit(tls *libc.TLS, db uintptr) uintptr { /* sqlite3.c:52681:23: */ var p uintptr = Xsqlite3DbMallocRawNN(tls, db, uint64(unsafe.Sizeof(RowSet{}))) if p != 0 { var N int32 = Xsqlite3DbMallocSize(tls, db, p) @@ -44192,7 +44221,7 @@ func Xsqlite3RowSetInit(tls *libc.TLS, db uintptr) uintptr { /* sqlite3.c:52671: // Deallocate all chunks from a RowSet. This frees all memory that // the RowSet has allocated over its lifetime. This routine is // the destructor for the RowSet. -func Xsqlite3RowSetClear(tls *libc.TLS, pArg uintptr) { /* sqlite3.c:52693:21: */ +func Xsqlite3RowSetClear(tls *libc.TLS, pArg uintptr) { /* sqlite3.c:52703:21: */ var p uintptr = pArg var pChunk uintptr var pNextChunk uintptr @@ -44211,7 +44240,7 @@ func Xsqlite3RowSetClear(tls *libc.TLS, pArg uintptr) { /* sqlite3.c:52693:21: * // Deallocate all chunks from a RowSet. This frees all memory that // the RowSet has allocated over its lifetime. This routine is // the destructor for the RowSet. -func Xsqlite3RowSetDelete(tls *libc.TLS, pArg uintptr) { /* sqlite3.c:52713:21: */ +func Xsqlite3RowSetDelete(tls *libc.TLS, pArg uintptr) { /* sqlite3.c:52723:21: */ Xsqlite3RowSetClear(tls, pArg) Xsqlite3DbFree(tls, (*RowSet)(unsafe.Pointer(pArg)).Fdb, pArg) } @@ -44222,7 +44251,7 @@ func Xsqlite3RowSetDelete(tls *libc.TLS, pArg uintptr) { /* sqlite3.c:52713:21: // // In an OOM situation, the RowSet.db->mallocFailed flag is set and this // routine returns NULL. -func rowSetEntryAlloc(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:52726:27: */ +func rowSetEntryAlloc(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:52736:27: */ if int32((*RowSet)(unsafe.Pointer(p)).FnFresh) == 0 { //OPTIMIZATION-IF-FALSE // We could allocate a fresh RowSetEntry each time one is needed, but it @@ -44245,7 +44274,7 @@ func rowSetEntryAlloc(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:52726:27: // // The mallocFailed flag of the database connection is set if a // memory allocation fails. -func Xsqlite3RowSetInsert(tls *libc.TLS, p uintptr, rowid I64) { /* sqlite3.c:52751:21: */ +func Xsqlite3RowSetInsert(tls *libc.TLS, p uintptr, rowid I64) { /* sqlite3.c:52761:21: */ var pEntry uintptr // The new entry var pLast uintptr // The last prior entry @@ -44275,7 +44304,7 @@ func Xsqlite3RowSetInsert(tls *libc.TLS, p uintptr, rowid I64) { /* sqlite3.c:52 // // The input lists are connected via pRight pointers and are // assumed to each already be in sorted order. -func rowSetEntryMerge(tls *libc.TLS, pA uintptr, pB uintptr) uintptr { /* sqlite3.c:52782:27: */ +func rowSetEntryMerge(tls *libc.TLS, pA uintptr, pB uintptr) uintptr { /* sqlite3.c:52792:27: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -44310,7 +44339,7 @@ func rowSetEntryMerge(tls *libc.TLS, pA uintptr, pB uintptr) uintptr { /* sqlite // Sort all elements on the list of RowSetEntry objects into order of // increasing v. -func rowSetEntrySort(tls *libc.TLS, pIn uintptr) uintptr { /* sqlite3.c:52817:27: */ +func rowSetEntrySort(tls *libc.TLS, pIn uintptr) uintptr { /* sqlite3.c:52827:27: */ bp := tls.Alloc(320) defer tls.Free(320) @@ -44346,7 +44375,7 @@ func rowSetEntrySort(tls *libc.TLS, pIn uintptr) uintptr { /* sqlite3.c:52817:27 // The input, pIn, is a binary tree (or subtree) of RowSetEntry objects. // Convert this tree into a linked list connected by the pRight pointers // and return pointers to the first and last elements of the new list. -func rowSetTreeToList(tls *libc.TLS, pIn uintptr, ppFirst uintptr, ppLast uintptr) { /* sqlite3.c:52846:13: */ +func rowSetTreeToList(tls *libc.TLS, pIn uintptr, ppFirst uintptr, ppLast uintptr) { /* sqlite3.c:52856:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -44377,7 +44406,7 @@ func rowSetTreeToList(tls *libc.TLS, pIn uintptr, ppFirst uintptr, ppLast uintpt // and leave *ppList set to NULL. // // Return a pointer to the root of the constructed binary tree. -func rowSetNDeepTree(tls *libc.TLS, ppList uintptr, iDepth int32) uintptr { /* sqlite3.c:52881:27: */ +func rowSetNDeepTree(tls *libc.TLS, ppList uintptr, iDepth int32) uintptr { /* sqlite3.c:52891:27: */ var p uintptr // Root of the new tree var pLeft uintptr // Left subtree if *(*uintptr)(unsafe.Pointer(ppList)) == uintptr(0) { //OPTIMIZATION-IF-TRUE @@ -44408,7 +44437,7 @@ func rowSetNDeepTree(tls *libc.TLS, ppList uintptr, iDepth int32) uintptr { /* s // Convert a sorted list of elements into a binary tree. Make the tree // as deep as it needs to be in order to contain the entire list. -func rowSetListToTree(tls *libc.TLS, pList uintptr) uintptr { /* sqlite3.c:52917:27: */ +func rowSetListToTree(tls *libc.TLS, pList uintptr) uintptr { /* sqlite3.c:52927:27: */ bp := tls.Alloc(8) defer tls.Free(8) *(*uintptr)(unsafe.Pointer(bp)) = pList @@ -44441,7 +44470,7 @@ func rowSetListToTree(tls *libc.TLS, pList uintptr) uintptr { /* sqlite3.c:52917 // been used. Older versions of RowSet allowed that, but as the // capability was not used by the code generator, it was removed // for code economy. -func Xsqlite3RowSetNext(tls *libc.TLS, p uintptr, pRowid uintptr) int32 { /* sqlite3.c:52949:20: */ +func Xsqlite3RowSetNext(tls *libc.TLS, p uintptr, pRowid uintptr) int32 { /* sqlite3.c:52959:20: */ // Cannot be used with sqlite3RowSetText() @@ -44474,7 +44503,7 @@ func Xsqlite3RowSetNext(tls *libc.TLS, p uintptr, pRowid uintptr) int32 { /* sql // If this is the first test of a new batch and if there exist entries // on pRowSet->pEntry, then sort those entries into the forest at // pRowSet->pForest so that they can be tested. -func Xsqlite3RowSetTest(tls *libc.TLS, pRowSet uintptr, iBatch int32, iRowid Sqlite3_int64) int32 { /* sqlite3.c:52983:20: */ +func Xsqlite3RowSetTest(tls *libc.TLS, pRowSet uintptr, iBatch int32, iRowid Sqlite3_int64) int32 { /* sqlite3.c:52993:20: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -44659,7 +44688,7 @@ type Wal1 = struct { // Connection to a write-ahead log (WAL) file. // There is one object of this type for each pager. -type Wal = Wal1 /* sqlite3.c:53125:20 */ +type Wal = Wal1 /* sqlite3.c:53135:20 */ //************* End of wal.h ************************************************ //************* Continuing where we left off in pager.c ********************* @@ -45428,7 +45457,7 @@ type PagerSavepoint1 = struct { // immediately following the last journal record written into the main // journal before the journal-header. This is required during savepoint // rollback (see pagerPlaybackSavepoint()). -type PagerSavepoint = PagerSavepoint1 /* sqlite3.c:53636:31 */ +type PagerSavepoint = PagerSavepoint1 /* sqlite3.c:53646:31 */ // Indexes for use with Pager.aStat[]. The Pager.aStat[] array contains // the values accessed by passing SQLITE_DBSTATUS_CACHE_HIT, CACHE_MISS @@ -45461,11 +45490,11 @@ type PagerSavepoint = PagerSavepoint1 /* sqlite3.c:53636:31 */ // is different for every journal, we minimize that risk. var aJournalMagic = [8]uint8{ uint8(0xd9), uint8(0xd5), uint8(0x05), uint8(0xf9), uint8(0x20), uint8(0xa1), uint8(0x63), uint8(0xd7), -} /* sqlite3.c:53958:28 */ +} /* sqlite3.c:53968:28 */ // Set the Pager.xGet method for the appropriate routine used to fetch // content from the pager. -func setGetterMethod(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:54251:13: */ +func setGetterMethod(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:54261:13: */ if (*Pager)(unsafe.Pointer(pPager)).FerrCode != 0 { (*Pager)(unsafe.Pointer(pPager)).FxGet = *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, Pgno, uintptr, int32) int32 @@ -45488,7 +45517,7 @@ func setGetterMethod(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:54251:13: */ // * The page-number is less than or equal to PagerSavepoint.nOrig, and // * The bit corresponding to the page-number is not set in // PagerSavepoint.pInSavepoint. -func subjRequiresPage(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:54272:12: */ +func subjRequiresPage(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:54282:12: */ var pPager uintptr = (*PgHdr)(unsafe.Pointer(pPg)).FpPager var p uintptr var pgno Pgno = (*PgHdr)(unsafe.Pointer(pPg)).Fpgno @@ -45510,7 +45539,7 @@ func subjRequiresPage(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:54272:12: // error code is something goes wrong. // // All values are stored on disk as big-endian. -func read32bits(tls *libc.TLS, fd uintptr, offset I64, pRes uintptr) int32 { /* sqlite3.c:54305:12: */ +func read32bits(tls *libc.TLS, fd uintptr, offset I64, pRes uintptr) int32 { /* sqlite3.c:54315:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -45527,7 +45556,7 @@ func read32bits(tls *libc.TLS, fd uintptr, offset I64, pRes uintptr) int32 { /* // Write a 32-bit integer into the given file descriptor. Return SQLITE_OK // on success or an error code is something goes wrong. -func write32bits(tls *libc.TLS, fd uintptr, offset I64, val U32) int32 { /* sqlite3.c:54324:12: */ +func write32bits(tls *libc.TLS, fd uintptr, offset I64, val U32) int32 { /* sqlite3.c:54334:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -45544,7 +45573,7 @@ func write32bits(tls *libc.TLS, fd uintptr, offset I64, val U32) int32 { /* sqli // Except, if Pager.eLock is set to UNKNOWN_LOCK when this function is // called, do not modify it. See the comment above the #define of // UNKNOWN_LOCK for an explanation of this. -func pagerUnlockDb(tls *libc.TLS, pPager uintptr, eLock int32) int32 { /* sqlite3.c:54339:12: */ +func pagerUnlockDb(tls *libc.TLS, pPager uintptr, eLock int32) int32 { /* sqlite3.c:54349:12: */ var rc int32 = SQLITE_OK if (*Sqlite3_file)(unsafe.Pointer((*Pager)(unsafe.Pointer(pPager)).Ffd)).FpMethods != uintptr(0) { @@ -45571,7 +45600,7 @@ func pagerUnlockDb(tls *libc.TLS, pPager uintptr, eLock int32) int32 { /* sqlite // called, do not modify it unless the new locking state is EXCLUSIVE_LOCK. // See the comment above the #define of UNKNOWN_LOCK for an explanation // of this. -func pagerLockDb(tls *libc.TLS, pPager uintptr, eLock int32) int32 { /* sqlite3.c:54367:12: */ +func pagerLockDb(tls *libc.TLS, pPager uintptr, eLock int32) int32 { /* sqlite3.c:54377:12: */ var rc int32 = SQLITE_OK if int32((*Pager)(unsafe.Pointer(pPager)).FeLock) < eLock || int32((*Pager)(unsafe.Pointer(pPager)).FeLock) == EXCLUSIVE_LOCK+1 { @@ -45605,7 +45634,7 @@ func pagerLockDb(tls *libc.TLS, pPager uintptr, eLock int32) int32 { /* sqlite3. // returned in this case. // // If neither optimization can be used, 0 is returned. -func jrnlBufferSize(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:54400:12: */ +func jrnlBufferSize(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:54410:12: */ _ = pPager @@ -45639,7 +45668,7 @@ func jrnlBufferSize(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:54400:12 // // If an error occurs while reading from the journal file, an SQLite // error code is returned. -func readSuperJournal(tls *libc.TLS, pJrnl uintptr, zSuper uintptr, nSuper U32) int32 { /* sqlite3.c:54505:12: */ +func readSuperJournal(tls *libc.TLS, pJrnl uintptr, zSuper uintptr, nSuper U32) int32 { /* sqlite3.c:54515:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -45698,7 +45727,7 @@ func readSuperJournal(tls *libc.TLS, pJrnl uintptr, zSuper uintptr, nSuper U32) // 100 512 // 2000 2048 // -func journalHdrOffset(tls *libc.TLS, pPager uintptr) I64 { /* sqlite3.c:54561:12: */ +func journalHdrOffset(tls *libc.TLS, pPager uintptr) I64 { /* sqlite3.c:54571:12: */ var offset I64 = int64(0) var c I64 = (*Pager)(unsafe.Pointer(pPager)).FjournalOff if c != 0 { @@ -45727,7 +45756,7 @@ func journalHdrOffset(tls *libc.TLS, pPager uintptr) I64 { /* sqlite3.c:54561:12 // // If an IO error occurs, abandon processing and return the IO error code. // Otherwise, return SQLITE_OK. -func zeroJournalHdr(tls *libc.TLS, pPager uintptr, doTruncate int32) int32 { /* sqlite3.c:54594:12: */ +func zeroJournalHdr(tls *libc.TLS, pPager uintptr, doTruncate int32) int32 { /* sqlite3.c:54604:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -45762,7 +45791,7 @@ func zeroJournalHdr(tls *libc.TLS, pPager uintptr, doTruncate int32) int32 { /* return rc } -var zeroHdr = [28]int8{0: int8(0)} /* sqlite3.c:54605:25 */ +var zeroHdr = [28]int8{0: int8(0)} /* sqlite3.c:54615:25 */ // The journal file must be open when this routine is called. A journal // header (JOURNAL_HDR_SZ bytes) is written into the journal file at the @@ -45777,7 +45806,7 @@ var zeroHdr = [28]int8{0: int8(0)} /* sqlite3.c:54605:25 */ // - 4 bytes: Database page size. // // Followed by (JOURNAL_HDR_SZ - 28) bytes of unused space. -func writeJournalHdr(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:54644:12: */ +func writeJournalHdr(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:54654:12: */ var rc int32 = SQLITE_OK // Return code var zHeader uintptr = (*Pager)(unsafe.Pointer(pPager)).FpTmpSpace // Temporary space used to build header var nHeader U32 = U32((*Pager)(unsafe.Pointer(pPager)).FpageSize) // Size of buffer pointed to by zHeader @@ -45886,7 +45915,7 @@ func writeJournalHdr(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:54644:1 // If the journal header file appears to be corrupted, SQLITE_DONE is // returned and *pNRec and *PDbSize are undefined. If JOURNAL_HDR_SZ bytes // cannot be read from the journal file an error code is returned. -func readJournalHdr(tls *libc.TLS, pPager uintptr, isHot int32, journalSize I64, pNRec uintptr, pDbSize uintptr) int32 { /* sqlite3.c:54762:12: */ +func readJournalHdr(tls *libc.TLS, pPager uintptr, isHot int32, journalSize I64, pNRec uintptr, pDbSize uintptr) int32 { /* sqlite3.c:54772:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -45996,7 +46025,7 @@ func readJournalHdr(tls *libc.TLS, pPager uintptr, isHot int32, journalSize I64, // // If zSuper is a NULL pointer (occurs for a single database transaction), // this call is a no-op. -func writeSuperJournal(tls *libc.TLS, pPager uintptr, zSuper uintptr) int32 { /* sqlite3.c:54887:12: */ +func writeSuperJournal(tls *libc.TLS, pPager uintptr, zSuper uintptr) int32 { /* sqlite3.c:54897:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -46056,21 +46085,21 @@ func writeSuperJournal(tls *libc.TLS, pPager uintptr, zSuper uintptr) int32 { /* } // Discard the entire contents of the in-memory page-cache. -func pager_reset(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:54955:13: */ +func pager_reset(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:54965:13: */ (*Pager)(unsafe.Pointer(pPager)).FiDataVersion++ Xsqlite3BackupRestart(tls, (*Pager)(unsafe.Pointer(pPager)).FpBackup) Xsqlite3PcacheClear(tls, (*Pager)(unsafe.Pointer(pPager)).FpPCache) } // Return the pPager->iDataVersion value -func Xsqlite3PagerDataVersion(tls *libc.TLS, pPager uintptr) U32 { /* sqlite3.c:54964:20: */ +func Xsqlite3PagerDataVersion(tls *libc.TLS, pPager uintptr) U32 { /* sqlite3.c:54974:20: */ return (*Pager)(unsafe.Pointer(pPager)).FiDataVersion } // Free all structures in the Pager.aSavepoint[] array and set both // Pager.aSavepoint and Pager.nSavepoint to zero. Close the sub-journal // if it is open and the pager is not in exclusive mode. -func releaseAllSavepoints(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:54973:13: */ +func releaseAllSavepoints(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:54983:13: */ var ii int32 // Iterator for looping through Pager.aSavepoint for ii = 0; ii < (*Pager)(unsafe.Pointer(pPager)).FnSavepoint; ii++ { Xsqlite3BitvecDestroy(tls, (*PagerSavepoint)(unsafe.Pointer((*Pager)(unsafe.Pointer(pPager)).FaSavepoint+uintptr(ii)*56)).FpInSavepoint) @@ -46087,7 +46116,7 @@ func releaseAllSavepoints(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:54973:13 // Set the bit number pgno in the PagerSavepoint.pInSavepoint // bitvecs of all open savepoints. Return SQLITE_OK if successful // or SQLITE_NOMEM if a malloc failure occurs. -func addToSavepointBitvecs(tls *libc.TLS, pPager uintptr, pgno Pgno) int32 { /* sqlite3.c:54992:12: */ +func addToSavepointBitvecs(tls *libc.TLS, pPager uintptr, pgno Pgno) int32 { /* sqlite3.c:55002:12: */ var ii int32 // Loop counter var rc int32 = SQLITE_OK // Result code @@ -46116,7 +46145,7 @@ func addToSavepointBitvecs(tls *libc.TLS, pPager uintptr, pgno Pgno) int32 { /* // or not, any journal file left in the file-system will be treated // as a hot-journal and rolled back the next time a read-transaction // is opened (by this or by any other connection). -func pager_unlock(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:55024:13: */ +func pager_unlock(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:55034:13: */ Xsqlite3BitvecDestroy(tls, (*Pager)(unsafe.Pointer(pPager)).FpInJournal) (*Pager)(unsafe.Pointer(pPager)).FpInJournal = uintptr(0) @@ -46208,7 +46237,7 @@ func pager_unlock(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:55024:13: */ // the persistent error occurred, then the rollback journal may need // to be replayed to restore the contents of the database file (as if // it were a hot-journal). -func pager_error(tls *libc.TLS, pPager uintptr, rc int32) int32 { /* sqlite3.c:55121:12: */ +func pager_error(tls *libc.TLS, pPager uintptr, rc int32) int32 { /* sqlite3.c:55131:12: */ var rc2 int32 = rc & 0xff if rc2 == SQLITE_FULL || rc2 == SQLITE_IOERR { @@ -46233,7 +46262,7 @@ func pager_error(tls *libc.TLS, pPager uintptr, rc int32) int32 { /* sqlite3.c:5 // file has been created already (via a spill on pagerStress()) and // when the number of dirty pages in memory exceeds 25% of the total // cache size. -func pagerFlushOnCommit(tls *libc.TLS, pPager uintptr, bCommit int32) int32 { /* sqlite3.c:55155:12: */ +func pagerFlushOnCommit(tls *libc.TLS, pPager uintptr, bCommit int32) int32 { /* sqlite3.c:55165:12: */ if int32((*Pager)(unsafe.Pointer(pPager)).FtempFile) == 0 { return 1 } @@ -46297,7 +46326,7 @@ func pagerFlushOnCommit(tls *libc.TLS, pPager uintptr, bCommit int32) int32 { /* // unlock operation fails as well, then the first error code related // to the first error encountered (the journal finalization one) is // returned. -func pager_end_transaction(tls *libc.TLS, pPager uintptr, hasSuper int32, bCommit int32) int32 { /* sqlite3.c:55215:12: */ +func pager_end_transaction(tls *libc.TLS, pPager uintptr, hasSuper int32, bCommit int32) int32 { /* sqlite3.c:55225:12: */ var rc int32 = SQLITE_OK // Error code from journal finalization operation var rc2 int32 = SQLITE_OK // Error code from db file unlock operation @@ -46424,7 +46453,7 @@ func pager_end_transaction(tls *libc.TLS, pPager uintptr, hasSuper int32, bCommi // malloc error occurs during a rollback, then this will itself cause // the pager to enter the ERROR state. Which will be cleared by the // call to pager_unlock(), as described above. -func pagerUnlockAndRollback(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:55362:13: */ +func pagerUnlockAndRollback(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:55372:13: */ if int32((*Pager)(unsafe.Pointer(pPager)).FeState) != PAGER_ERROR && int32((*Pager)(unsafe.Pointer(pPager)).FeState) != PAGER_OPEN { if int32((*Pager)(unsafe.Pointer(pPager)).FeState) >= PAGER_WRITER_LOCKED { @@ -46456,7 +46485,7 @@ func pagerUnlockAndRollback(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:55362: // It is much less likely that the two ends of the journal record will be // correct and the middle be corrupt. Thus, this "checksum" scheme, // though fast and simple, catches the mostly likely kind of corruption. -func pager_cksum(tls *libc.TLS, pPager uintptr, aData uintptr) U32 { /* sqlite3.c:55396:12: */ +func pager_cksum(tls *libc.TLS, pPager uintptr, aData uintptr) U32 { /* sqlite3.c:55406:12: */ var cksum U32 = (*Pager)(unsafe.Pointer(pPager)).FcksumInit // Checksum value to return var i int32 = int32((*Pager)(unsafe.Pointer(pPager)).FpageSize - int64(200)) // Loop counter for i > 0 { @@ -46501,7 +46530,7 @@ func pager_cksum(tls *libc.TLS, pPager uintptr, aData uintptr) U32 { /* sqlite3. // If this is a savepoint rollback, then memory may have to be dynamically // allocated by this function. If this is the case and an allocation fails, // SQLITE_NOMEM is returned. -func pager_playback_one_page(tls *libc.TLS, pPager uintptr, pOffset uintptr, pDone uintptr, isMainJrnl int32, isSavepnt int32) int32 { /* sqlite3.c:55443:12: */ +func pager_playback_one_page(tls *libc.TLS, pPager uintptr, pOffset uintptr, pDone uintptr, isMainJrnl int32, isSavepnt int32) int32 { /* sqlite3.c:55453:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -46735,7 +46764,7 @@ func pager_playback_one_page(tls *libc.TLS, pPager uintptr, pOffset uintptr, pDo // the entire contents of the super-journal file. This could be // a couple of kilobytes or so - potentially larger than the page // size. -func pager_delsuper(tls *libc.TLS, pPager uintptr, zSuper uintptr) int32 { /* sqlite3.c:55690:12: */ +func pager_delsuper(tls *libc.TLS, pPager uintptr, zSuper uintptr) int32 { /* sqlite3.c:55700:12: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -46901,7 +46930,7 @@ __14: // // If successful, return SQLITE_OK. If an IO error occurs while modifying // the database file, return the error code to the caller. -func pager_truncate(tls *libc.TLS, pPager uintptr, nPage Pgno) int32 { /* sqlite3.c:55808:12: */ +func pager_truncate(tls *libc.TLS, pPager uintptr, nPage Pgno) int32 { /* sqlite3.c:55818:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -46936,7 +46965,7 @@ func pager_truncate(tls *libc.TLS, pPager uintptr, nPage Pgno) int32 { /* sqlite // Return a sanitized version of the sector-size of OS file pFile. The // return value is guaranteed to lie between 32 and MAX_SECTOR_SIZE. -func Xsqlite3SectorSize(tls *libc.TLS, pFile uintptr) int32 { /* sqlite3.c:55844:20: */ +func Xsqlite3SectorSize(tls *libc.TLS, pFile uintptr) int32 { /* sqlite3.c:55854:20: */ var iRet int32 = Xsqlite3OsSectorSize(tls, pFile) if iRet < 32 { iRet = 512 @@ -46968,7 +46997,7 @@ func Xsqlite3SectorSize(tls *libc.TLS, pFile uintptr) int32 { /* sqlite3.c:55844 // (that is what POWERSAFE_OVERWRITE means), so we minimize the sector // size. For backwards compatibility of the rollback journal file format, // we cannot reduce the effective sector size below 512. -func setSectorSize(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:55878:13: */ +func setSectorSize(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:55888:13: */ if (*Pager)(unsafe.Pointer(pPager)).FtempFile != 0 || Xsqlite3OsDeviceCharacteristics(tls, (*Pager)(unsafe.Pointer(pPager)).Ffd)&SQLITE_IOCAP_POWERSAFE_OVERWRITE != 0 { @@ -47036,7 +47065,7 @@ func setSectorSize(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:55878:13: */ // If the journal really is hot, reset the pager cache prior rolling // back any content. If the journal is merely persistent, no reset is // needed. -func pager_playback(tls *libc.TLS, pPager uintptr, isHot int32) int32 { /* sqlite3.c:55951:12: */ +func pager_playback(tls *libc.TLS, pPager uintptr, isHot int32) int32 { /* sqlite3.c:55961:12: */ bp := tls.Alloc(40) defer tls.Free(40) @@ -47327,7 +47356,7 @@ __28: // // If an IO error occurs, then the IO error is returned to the caller. // Otherwise, SQLITE_OK is returned. -func readDbPage(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:56171:12: */ +func readDbPage(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:56181:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -47381,7 +47410,7 @@ func readDbPage(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:56171:12: */ // This is an unconditional update. See also the pager_incr_changecounter() // routine which only updates the change-counter if the update is actually // needed, as determined by the pPager->changeCountDone state variable. -func pager_write_changecounter(tls *libc.TLS, pPg uintptr) { /* sqlite3.c:56234:13: */ +func pager_write_changecounter(tls *libc.TLS, pPg uintptr) { /* sqlite3.c:56244:13: */ var change_counter U32 if pPg == uintptr(0) { return @@ -47408,7 +47437,7 @@ func pager_write_changecounter(tls *libc.TLS, pPg uintptr) { /* sqlite3.c:56234: // references, the page content is reloaded from the database. If the // attempt to reload content from the database is required and fails, // return an SQLite error code. Otherwise, SQLITE_OK. -func pagerUndoCallback(tls *libc.TLS, pCtx uintptr, iPg Pgno) int32 { /* sqlite3.c:56262:12: */ +func pagerUndoCallback(tls *libc.TLS, pCtx uintptr, iPg Pgno) int32 { /* sqlite3.c:56272:12: */ var rc int32 = SQLITE_OK var pPager uintptr = pCtx var pPg uintptr @@ -47439,7 +47468,7 @@ func pagerUndoCallback(tls *libc.TLS, pCtx uintptr, iPg Pgno) int32 { /* sqlite3 } // This function is called to rollback a transaction on a WAL database. -func pagerRollbackWal(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:56297:12: */ +func pagerRollbackWal(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:56307:12: */ var rc int32 // Return Code var pList uintptr // List of dirty pages to revert @@ -47470,7 +47499,7 @@ func pagerRollbackWal(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:56297: // // The list of pages passed into this routine is always sorted by page number. // Hence, if page 1 appears anywhere on the list, it will be the first page. -func pagerWalFrames(tls *libc.TLS, pPager uintptr, pList uintptr, nTruncate Pgno, isCommit int32) int32 { /* sqlite3.c:56329:12: */ +func pagerWalFrames(tls *libc.TLS, pPager uintptr, pList uintptr, nTruncate Pgno, isCommit int32) int32 { /* sqlite3.c:56339:12: */ bp := tls.Alloc(8) defer tls.Free(8) *(*uintptr)(unsafe.Pointer(bp)) = pList @@ -47518,7 +47547,7 @@ func pagerWalFrames(tls *libc.TLS, pPager uintptr, pList uintptr, nTruncate Pgno // makes a snapshot of the database at the current point in time and preserves // that snapshot for use by the reader in spite of concurrently changes by // other writers or checkpointers. -func pagerBeginReadTransaction(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:56396:12: */ +func pagerBeginReadTransaction(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:56406:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -47549,7 +47578,7 @@ func pagerBeginReadTransaction(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3 // If no error occurs, SQLITE_OK is returned and the size of the database // in pages is stored in *pnPage. Otherwise, an error code (perhaps // SQLITE_IOERR_FSTAT) is returned and *pnPage is left unmodified. -func pagerPagecount(tls *libc.TLS, pPager uintptr, pnPage uintptr) int32 { /* sqlite3.c:56429:12: */ +func pagerPagecount(tls *libc.TLS, pPager uintptr, pnPage uintptr) int32 { /* sqlite3.c:56439:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -47603,7 +47632,7 @@ func pagerPagecount(tls *libc.TLS, pPager uintptr, pnPage uintptr) int32 { /* sq // a WAL on a none-empty database, this ensures there is no race condition // between the xAccess() below and an xDelete() being executed by some // other connection. -func pagerOpenWalIfPresent(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:56489:12: */ +func pagerOpenWalIfPresent(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:56499:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -47671,7 +47700,7 @@ func pagerOpenWalIfPresent(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:5 // is reset to the value that it held at the start of the savepoint // (or transaction). No page with a page-number greater than this value // is played back. If one is encountered it is simply skipped. -func pagerPlaybackSavepoint(tls *libc.TLS, pPager uintptr, pSavepoint uintptr) int32 { /* sqlite3.c:56556:12: */ +func pagerPlaybackSavepoint(tls *libc.TLS, pPager uintptr, pSavepoint uintptr) int32 { /* sqlite3.c:56566:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -47780,18 +47809,18 @@ func pagerPlaybackSavepoint(tls *libc.TLS, pPager uintptr, pSavepoint uintptr) i // Change the maximum number of in-memory pages that are allowed // before attempting to recycle clean and unused pages. -func Xsqlite3PagerSetCachesize(tls *libc.TLS, pPager uintptr, mxPage int32) { /* sqlite3.c:56668:21: */ +func Xsqlite3PagerSetCachesize(tls *libc.TLS, pPager uintptr, mxPage int32) { /* sqlite3.c:56678:21: */ Xsqlite3PcacheSetCachesize(tls, (*Pager)(unsafe.Pointer(pPager)).FpPCache, mxPage) } // Change the maximum number of in-memory pages that are allowed // before attempting to spill pages to journal. -func Xsqlite3PagerSetSpillsize(tls *libc.TLS, pPager uintptr, mxPage int32) int32 { /* sqlite3.c:56676:20: */ +func Xsqlite3PagerSetSpillsize(tls *libc.TLS, pPager uintptr, mxPage int32) int32 { /* sqlite3.c:56686:20: */ return Xsqlite3PcacheSetSpillsize(tls, (*Pager)(unsafe.Pointer(pPager)).FpPCache, mxPage) } // Invoke SQLITE_FCNTL_MMAP_SIZE based on the current value of szMmap. -func pagerFixMaplimit(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:56683:13: */ +func pagerFixMaplimit(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:56693:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -47807,13 +47836,13 @@ func pagerFixMaplimit(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:56683:13: */ } // Change the maximum size of any memory mapping made of the database file. -func Xsqlite3PagerSetMmapLimit(tls *libc.TLS, pPager uintptr, szMmap Sqlite3_int64) { /* sqlite3.c:56699:21: */ +func Xsqlite3PagerSetMmapLimit(tls *libc.TLS, pPager uintptr, szMmap Sqlite3_int64) { /* sqlite3.c:56709:21: */ (*Pager)(unsafe.Pointer(pPager)).FszMmap = szMmap pagerFixMaplimit(tls, pPager) } // Free as much memory as possible from the pager. -func Xsqlite3PagerShrink(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:56707:21: */ +func Xsqlite3PagerShrink(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:56717:21: */ Xsqlite3PcacheShrink(tls, (*Pager)(unsafe.Pointer(pPager)).FpPCache) } @@ -47866,7 +47895,7 @@ func Xsqlite3PagerShrink(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:56707:21: // // Numeric values associated with these states are OFF==1, NORMAL=2, // and FULL=3. -func Xsqlite3PagerSetFlags(tls *libc.TLS, pPager uintptr, pgFlags uint32) { /* sqlite3.c:56763:21: */ +func Xsqlite3PagerSetFlags(tls *libc.TLS, pPager uintptr, pgFlags uint32) { /* sqlite3.c:56773:21: */ var level uint32 = pgFlags & uint32(PAGER_SYNCHRONOUS_MASK) if (*Pager)(unsafe.Pointer(pPager)).FtempFile != 0 { (*Pager)(unsafe.Pointer(pPager)).FnoSync = U8(1) @@ -47930,7 +47959,7 @@ func Xsqlite3PagerSetFlags(tls *libc.TLS, pPager uintptr, pgFlags uint32) { /* s // SQLITE_OPEN_CREATE // SQLITE_OPEN_EXCLUSIVE // SQLITE_OPEN_DELETEONCLOSE -func pagerOpentemp(tls *libc.TLS, pPager uintptr, pFile uintptr, vfsFlags int32) int32 { /* sqlite3.c:56823:12: */ +func pagerOpentemp(tls *libc.TLS, pPager uintptr, pFile uintptr, vfsFlags int32) int32 { /* sqlite3.c:56833:12: */ var rc int32 // Return code vfsFlags = vfsFlags | (SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE | SQLITE_OPEN_EXCLUSIVE | SQLITE_OPEN_DELETEONCLOSE) @@ -47958,7 +47987,7 @@ func pagerOpentemp(tls *libc.TLS, pPager uintptr, pFile uintptr, vfsFlags int32) // If the busy-handler callback returns non-zero, the lock is // retried. If it returns zero, then the SQLITE_BUSY error is // returned to the caller of the pager API function. -func Xsqlite3PagerSetBusyHandler(tls *libc.TLS, pPager uintptr, xBusyHandler uintptr, pBusyHandlerArg uintptr) { /* sqlite3.c:56862:21: */ +func Xsqlite3PagerSetBusyHandler(tls *libc.TLS, pPager uintptr, xBusyHandler uintptr, pBusyHandlerArg uintptr) { /* sqlite3.c:56872:21: */ var ap uintptr (*Pager)(unsafe.Pointer(pPager)).FxBusyHandler = xBusyHandler (*Pager)(unsafe.Pointer(pPager)).FpBusyHandlerArg = pBusyHandlerArg @@ -47995,7 +48024,7 @@ func Xsqlite3PagerSetBusyHandler(tls *libc.TLS, pPager uintptr, xBusyHandler uin // conditions above is not true, the pager was in error state when this // function was called, or because the memory allocation attempt failed, // then *pPageSize is set to the old, retained page size before returning. -func Xsqlite3PagerSetPagesize(tls *libc.TLS, pPager uintptr, pPageSize uintptr, nReserve int32) int32 { /* sqlite3.c:56906:20: */ +func Xsqlite3PagerSetPagesize(tls *libc.TLS, pPager uintptr, pPageSize uintptr, nReserve int32) int32 { /* sqlite3.c:56916:20: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -48064,7 +48093,7 @@ func Xsqlite3PagerSetPagesize(tls *libc.TLS, pPager uintptr, pPageSize uintptr, // during rollback and will be overwritten whenever a rollback // occurs. But other modules are free to use it too, as long as // no rollbacks are happening. -func Xsqlite3PagerTempSpace(tls *libc.TLS, pPager uintptr) uintptr { /* sqlite3.c:56974:21: */ +func Xsqlite3PagerTempSpace(tls *libc.TLS, pPager uintptr) uintptr { /* sqlite3.c:56984:21: */ return (*Pager)(unsafe.Pointer(pPager)).FpTmpSpace } @@ -48073,7 +48102,7 @@ func Xsqlite3PagerTempSpace(tls *libc.TLS, pPager uintptr) uintptr { /* sqlite3. // maximum page count below the current size of the database. // // Regardless of mxPage, return the current maximum page count. -func Xsqlite3PagerMaxPageCount(tls *libc.TLS, pPager uintptr, mxPage Pgno) Pgno { /* sqlite3.c:56985:21: */ +func Xsqlite3PagerMaxPageCount(tls *libc.TLS, pPager uintptr, mxPage Pgno) Pgno { /* sqlite3.c:56995:21: */ if mxPage > Pgno(0) { (*Pager)(unsafe.Pointer(pPager)).FmxPgno = mxPage } @@ -48104,7 +48133,7 @@ func Xsqlite3PagerMaxPageCount(tls *libc.TLS, pPager uintptr, mxPage Pgno) Pgno // If any IO error apart from SQLITE_IOERR_SHORT_READ is encountered, // the error code is returned to the caller and the contents of the // output buffer undefined. -func Xsqlite3PagerReadFileheader(tls *libc.TLS, pPager uintptr, N int32, pDest uintptr) int32 { /* sqlite3.c:57035:20: */ +func Xsqlite3PagerReadFileheader(tls *libc.TLS, pPager uintptr, N int32, pDest uintptr) int32 { /* sqlite3.c:57045:20: */ var rc int32 = SQLITE_OK libc.X__builtin___memset_chk(tls, pDest, 0, uint64(N), libc.X__builtin_object_size(tls, pDest, 0)) @@ -48127,7 +48156,7 @@ func Xsqlite3PagerReadFileheader(tls *libc.TLS, pPager uintptr, N int32, pDest u // // However, if the file is between 1 and bytes in size, then // this is considered a 1 page file. -func Xsqlite3PagerPagecount(tls *libc.TLS, pPager uintptr, pnPage uintptr) { /* sqlite3.c:57063:21: */ +func Xsqlite3PagerPagecount(tls *libc.TLS, pPager uintptr, pnPage uintptr) { /* sqlite3.c:57073:21: */ *(*int32)(unsafe.Pointer(pnPage)) = int32((*Pager)(unsafe.Pointer(pPager)).FdbSize) } @@ -48144,7 +48173,7 @@ func Xsqlite3PagerPagecount(tls *libc.TLS, pPager uintptr, pnPage uintptr) { /* // Return SQLITE_OK on success and an error code if we cannot obtain // the lock. If the lock is obtained successfully, set the Pager.state // variable to locktype before returning. -func pager_wait_on_lock(tls *libc.TLS, pPager uintptr, locktype int32) int32 { /* sqlite3.c:57084:12: */ +func pager_wait_on_lock(tls *libc.TLS, pPager uintptr, locktype int32) int32 { /* sqlite3.c:57094:12: */ var rc int32 // Return code // Check that this is either a no-op (because the requested lock is @@ -48189,7 +48218,7 @@ func pager_wait_on_lock(tls *libc.TLS, pPager uintptr, locktype int32) int32 { / // Once this function has been called, the transaction must either be // rolled back or committed. It is not safe to call this function and // then continue writing to the database. -func Xsqlite3PagerTruncateImage(tls *libc.TLS, pPager uintptr, nPage Pgno) { /* sqlite3.c:57155:21: */ +func Xsqlite3PagerTruncateImage(tls *libc.TLS, pPager uintptr, nPage Pgno) { /* sqlite3.c:57165:21: */ (*Pager)(unsafe.Pointer(pPager)).FdbSize = nPage @@ -48216,7 +48245,7 @@ func Xsqlite3PagerTruncateImage(tls *libc.TLS, pPager uintptr, nPage Pgno) { /* // // If everything goes as planned, SQLITE_OK is returned. Otherwise, // an SQLite error code. -func pagerSyncHotJournal(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:57186:12: */ +func pagerSyncHotJournal(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:57196:12: */ var rc int32 = SQLITE_OK if !(int32((*Pager)(unsafe.Pointer(pPager)).FnoSync) != 0) { rc = Xsqlite3OsSync(tls, (*Pager)(unsafe.Pointer(pPager)).Fjfd, SQLITE_SYNC_NORMAL) @@ -48235,7 +48264,7 @@ func pagerSyncHotJournal(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:571 // // Page references obtained by calling this function should be released // by calling pagerReleaseMapPage(). -func pagerAcquireMapPage(tls *libc.TLS, pPager uintptr, pgno Pgno, pData uintptr, ppPage uintptr) int32 { /* sqlite3.c:57208:12: */ +func pagerAcquireMapPage(tls *libc.TLS, pPager uintptr, pgno Pgno, pData uintptr, ppPage uintptr) int32 { /* sqlite3.c:57218:12: */ var p uintptr // Memory mapped page to return if (*Pager)(unsafe.Pointer(pPager)).FpMmapFreelist != 0 { @@ -48265,7 +48294,7 @@ func pagerAcquireMapPage(tls *libc.TLS, pPager uintptr, pgno Pgno, pData uintptr // Release a reference to page pPg. pPg must have been returned by an // earlier call to pagerAcquireMapPage(). -func pagerReleaseMapPage(tls *libc.TLS, pPg uintptr) { /* sqlite3.c:57252:13: */ +func pagerReleaseMapPage(tls *libc.TLS, pPg uintptr) { /* sqlite3.c:57262:13: */ var pPager uintptr = (*PgHdr)(unsafe.Pointer(pPg)).FpPager (*Pager)(unsafe.Pointer(pPager)).FnMmapOut-- (*PgHdr)(unsafe.Pointer(pPg)).FpDirty = (*Pager)(unsafe.Pointer(pPager)).FpMmapFreelist @@ -48275,7 +48304,7 @@ func pagerReleaseMapPage(tls *libc.TLS, pPg uintptr) { /* sqlite3.c:57252:13: */ } // Free all PgHdr objects stored in the Pager.pMmapFreelist list. -func pagerFreeMapHdrs(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:57265:13: */ +func pagerFreeMapHdrs(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:57275:13: */ var p uintptr var pNext uintptr for p = (*Pager)(unsafe.Pointer(pPager)).FpMmapFreelist; p != 0; p = pNext { @@ -48288,7 +48317,7 @@ func pagerFreeMapHdrs(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:57265:13: */ // under the pager. Return SQLITE_OK if the database is still where it ought // to be on disk. Return non-zero (SQLITE_READONLY_DBMOVED or some other error // code from sqlite3OsAccess()) if the database has gone missing. -func databaseIsUnmoved(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:57279:12: */ +func databaseIsUnmoved(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:57289:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -48326,7 +48355,7 @@ func databaseIsUnmoved(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:57279 // is made to roll it back. If an error occurs during the rollback // a hot journal may be left in the filesystem but no error is returned // to the caller. -func Xsqlite3PagerClose(tls *libc.TLS, pPager uintptr, db uintptr) int32 { /* sqlite3.c:57313:20: */ +func Xsqlite3PagerClose(tls *libc.TLS, pPager uintptr, db uintptr) int32 { /* sqlite3.c:57323:20: */ var pTmp uintptr = (*Pager)(unsafe.Pointer(pPager)).FpTmpSpace Xsqlite3BeginBenignMalloc(tls) @@ -48375,7 +48404,7 @@ func Xsqlite3PagerClose(tls *libc.TLS, pPager uintptr, db uintptr) int32 { /* sq } // Increment the reference count for page pPg. -func Xsqlite3PagerRef(tls *libc.TLS, pPg uintptr) { /* sqlite3.c:57382:21: */ +func Xsqlite3PagerRef(tls *libc.TLS, pPg uintptr) { /* sqlite3.c:57392:21: */ Xsqlite3PcacheRef(tls, pPg) } @@ -48412,7 +48441,7 @@ func Xsqlite3PagerRef(tls *libc.TLS, pPg uintptr) { /* sqlite3.c:57382:21: */ // If successful, this routine clears the PGHDR_NEED_SYNC flag of every // page currently held in memory before returning SQLITE_OK. If an IO // error is encountered, then the IO error code is returned to the caller. -func syncJournal(tls *libc.TLS, pPager uintptr, newHdr int32) int32 { /* sqlite3.c:57421:12: */ +func syncJournal(tls *libc.TLS, pPager uintptr, newHdr int32) int32 { /* sqlite3.c:57431:12: */ bp := tls.Alloc(20) defer tls.Free(20) @@ -48526,7 +48555,7 @@ func syncJournal(tls *libc.TLS, pPager uintptr, newHdr int32) int32 { /* sqlite3 return SQLITE_OK } -var zerobyte U8 = U8(0) /* sqlite3.c:57472:27 */ +var zerobyte U8 = U8(0) /* sqlite3.c:57482:27 */ // The argument is the first in a linked list of dirty pages connected // by the PgHdr.pDirty pointer. This function writes each one of the @@ -48558,7 +48587,7 @@ var zerobyte U8 = U8(0) /* sqlite3.c:57472:27 */ // If everything is successful, SQLITE_OK is returned. If an IO error // occurs, an IO error code is returned. Or, if the EXCLUSIVE lock cannot // be obtained, SQLITE_BUSY is returned. -func pager_write_pagelist(tls *libc.TLS, pPager uintptr, pList uintptr) int32 { /* sqlite3.c:57564:12: */ +func pager_write_pagelist(tls *libc.TLS, pPager uintptr, pList uintptr) int32 { /* sqlite3.c:57574:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -48638,7 +48667,7 @@ func pager_write_pagelist(tls *libc.TLS, pPager uintptr, pList uintptr) int32 { // SQLITE_OK is returned if everything goes according to plan. An // SQLITE_IOERR_XXX error code is returned if a call to sqlite3OsOpen() // fails. -func openSubJournal(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:57655:12: */ +func openSubJournal(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:57665:12: */ var rc int32 = SQLITE_OK if !((*Sqlite3_file)(unsafe.Pointer((*Pager)(unsafe.Pointer(pPager)).Fsjfd)).FpMethods != uintptr(0)) { var flags int32 = SQLITE_OPEN_SUBJOURNAL | SQLITE_OPEN_READWRITE | @@ -48662,7 +48691,7 @@ func openSubJournal(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:57655:12 // error code if the attempt to write to the sub-journal fails, or // SQLITE_NOMEM if a malloc fails while setting a bit in a savepoint // bitvec. -func subjournalPage(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:57681:12: */ +func subjournalPage(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:57691:12: */ var rc int32 = SQLITE_OK var pPager uintptr = (*PgHdr)(unsafe.Pointer(pPg)).FpPager if int32((*Pager)(unsafe.Pointer(pPager)).FjournalMode) != PAGER_JOURNALMODE_OFF { @@ -48693,7 +48722,7 @@ func subjournalPage(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:57681:12: * return rc } -func subjournalPageIfRequired(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:57717:12: */ +func subjournalPageIfRequired(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:57727:12: */ if subjRequiresPage(tls, pPg) != 0 { return subjournalPage(tls, pPg) } else { @@ -48719,7 +48748,7 @@ func subjournalPageIfRequired(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:5 // page clean, the IO error code is returned. If the page cannot be // made clean for some other reason, but no error occurs, then SQLITE_OK // is returned by sqlite3PcacheMakeClean() is not called. -func pagerStress(tls *libc.TLS, p uintptr, pPg uintptr) int32 { /* sqlite3.c:57744:12: */ +func pagerStress(tls *libc.TLS, p uintptr, pPg uintptr) int32 { /* sqlite3.c:57754:12: */ var pPager uintptr = p var rc int32 = SQLITE_OK @@ -48781,7 +48810,7 @@ func pagerStress(tls *libc.TLS, p uintptr, pPg uintptr) int32 { /* sqlite3.c:577 } // Flush all unreferenced dirty pages to disk. -func Xsqlite3PagerFlush(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:57821:20: */ +func Xsqlite3PagerFlush(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:57831:20: */ var rc int32 = (*Pager)(unsafe.Pointer(pPager)).FerrCode if !(int32((*Pager)(unsafe.Pointer(pPager)).FmemDb) != 0) { var pList uintptr = Xsqlite3PcacheDirtyList(tls, (*Pager)(unsafe.Pointer(pPager)).FpPCache) @@ -48828,7 +48857,7 @@ func Xsqlite3PagerFlush(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:5782 // and error code returned. This function may return SQLITE_NOMEM // (sqlite3Malloc() is used to allocate memory), SQLITE_CANTOPEN or // various SQLITE_IO_XXX errors. -func Xsqlite3PagerOpen(tls *libc.TLS, pVfs uintptr, ppPager uintptr, zFilename uintptr, nExtra int32, flags int32, vfsFlags int32, xReinit uintptr) int32 { /* sqlite3.c:57870:20: */ +func Xsqlite3PagerOpen(tls *libc.TLS, pVfs uintptr, ppPager uintptr, zFilename uintptr, nExtra int32, flags int32, vfsFlags int32, xReinit uintptr) int32 { /* sqlite3.c:57880:20: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -48954,7 +48983,7 @@ __11: // bytes in length. This means the database cannot be opened, // as it will not be possible to open the journal file or even // check for a hot-journal before reading. - rc = Xsqlite3CantopenError(tls, 57957) + rc = Xsqlite3CantopenError(tls, 57967) __12: ; if !(rc != SQLITE_OK) { @@ -49273,7 +49302,7 @@ __37: // Return the sqlite3_file for the main database given the name // of the corresonding WAL or Journal name as passed into // xOpen. -func Xsqlite3_database_file_object(tls *libc.TLS, zName uintptr) uintptr { /* sqlite3.c:58242:25: */ +func Xsqlite3_database_file_object(tls *libc.TLS, zName uintptr) uintptr { /* sqlite3.c:58252:25: */ var pPager uintptr for int32(*(*int8)(unsafe.Pointer(zName + libc.UintptrFromInt32(-1)))) != 0 || int32(*(*int8)(unsafe.Pointer(zName + libc.UintptrFromInt32(-2)))) != 0 || int32(*(*int8)(unsafe.Pointer(zName + libc.UintptrFromInt32(-3)))) != 0 || int32(*(*int8)(unsafe.Pointer(zName + libc.UintptrFromInt32(-4)))) != 0 { zName-- @@ -49311,7 +49340,7 @@ func Xsqlite3_database_file_object(tls *libc.TLS, zName uintptr) uintptr { /* sq // set to 0 and SQLITE_OK returned. If an IO error occurs while trying // to determine whether or not a hot-journal file exists, the IO error // code is returned and the value of *pExists is undefined. -func hasHotJournal(tls *libc.TLS, pPager uintptr, pExists uintptr) int32 { /* sqlite3.c:58283:12: */ +func hasHotJournal(tls *libc.TLS, pPager uintptr, pExists uintptr) int32 { /* sqlite3.c:58293:12: */ bp := tls.Alloc(17) defer tls.Free(17) @@ -49422,7 +49451,7 @@ func hasHotJournal(tls *libc.TLS, pPager uintptr, pExists uintptr) int32 { /* sq // If everything is successful, SQLITE_OK is returned. If an IO error // occurs while locking the database, checking for a hot-journal file or // rolling back a journal file, the IO error code is returned. -func Xsqlite3PagerSharedLock(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:58403:20: */ +func Xsqlite3PagerSharedLock(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:58413:20: */ bp := tls.Alloc(28) defer tls.Free(28) @@ -49548,7 +49577,7 @@ __7: if !(rc == SQLITE_OK && *(*int32)(unsafe.Pointer(bp + 8))&SQLITE_OPEN_READONLY != 0) { goto __10 } - rc = Xsqlite3CantopenError(tls, 58487) + rc = Xsqlite3CantopenError(tls, 58497) Xsqlite3OsClose(tls, (*Pager)(unsafe.Pointer(pPager)).Fjfd) __10: ; @@ -49697,7 +49726,7 @@ __24: // Except, in locking_mode=EXCLUSIVE when there is nothing to in // the rollback journal, the unlock is not performed and there is // nothing to rollback, so this routine is a no-op. -func pagerUnlockIfUnused(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:58620:13: */ +func pagerUnlockIfUnused(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:58630:13: */ if Xsqlite3PcacheRefCount(tls, (*Pager)(unsafe.Pointer(pPager)).FpPCache) == 0 { // because page1 is never memory mapped pagerUnlockAndRollback(tls, pPager) @@ -49759,7 +49788,7 @@ func pagerUnlockIfUnused(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:58620:13: // has to go to disk, and could also playback an old journal if necessary. // Since Lookup() never goes to disk, it never has to deal with locks // or journal files. -func getPageNormal(tls *libc.TLS, pPager uintptr, pgno Pgno, ppPage uintptr, flags int32) int32 { /* sqlite3.c:58684:12: */ +func getPageNormal(tls *libc.TLS, pPager uintptr, pgno Pgno, ppPage uintptr, flags int32) int32 { /* sqlite3.c:58694:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -49772,7 +49801,7 @@ func getPageNormal(tls *libc.TLS, pPager uintptr, pgno Pgno, ppPage uintptr, fla if !(pgno == Pgno(0)) { goto __1 } - return Xsqlite3CorruptError(tls, 58700) + return Xsqlite3CorruptError(tls, 58710) __1: ; *(*uintptr)(unsafe.Pointer(bp /* pBase */)) = Xsqlite3PcacheFetch(tls, (*Pager)(unsafe.Pointer(pPager)).FpPCache, pgno, 3) @@ -49818,7 +49847,7 @@ __5: if !(pgno == Pgno(I64(Xsqlite3PendingByte)/(*Pager)(unsafe.Pointer(pPager)).FpageSize+int64(1))) { goto __7 } - rc = Xsqlite3CorruptError(tls, 58732) + rc = Xsqlite3CorruptError(tls, 58742) goto pager_acquire_err __7: ; @@ -49890,7 +49919,7 @@ __14: } // The page getter for when memory-mapped I/O is enabled -func getPageMMap(tls *libc.TLS, pPager uintptr, pgno Pgno, ppPage uintptr, flags int32) int32 { /* sqlite3.c:58786:12: */ +func getPageMMap(tls *libc.TLS, pPager uintptr, pgno Pgno, ppPage uintptr, flags int32) int32 { /* sqlite3.c:58796:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -49910,7 +49939,7 @@ func getPageMMap(tls *libc.TLS, pPager uintptr, pgno Pgno, ppPage uintptr, flags // test in the previous statement, and avoid testing pgno==0 in the // common case where pgno is large. if pgno <= Pgno(1) && pgno == Pgno(0) { - return Xsqlite3CorruptError(tls, 58811) + return Xsqlite3CorruptError(tls, 58821) } if bMmapOk != 0 && (*Pager)(unsafe.Pointer(pPager)).FpWal != uintptr(0) { @@ -49948,7 +49977,7 @@ func getPageMMap(tls *libc.TLS, pPager uintptr, pgno Pgno, ppPage uintptr, flags } // The page getter method for when the pager is an error state -func getPageError(tls *libc.TLS, pPager uintptr, pgno Pgno, ppPage uintptr, flags int32) int32 { /* sqlite3.c:58855:12: */ +func getPageError(tls *libc.TLS, pPager uintptr, pgno Pgno, ppPage uintptr, flags int32) int32 { /* sqlite3.c:58865:12: */ _ = pgno _ = flags @@ -49957,7 +49986,7 @@ func getPageError(tls *libc.TLS, pPager uintptr, pgno Pgno, ppPage uintptr, flag } // Dispatch all page fetch requests to the appropriate getter method. -func Xsqlite3PagerGet(tls *libc.TLS, pPager uintptr, pgno Pgno, ppPage uintptr, flags int32) int32 { /* sqlite3.c:58871:20: */ +func Xsqlite3PagerGet(tls *libc.TLS, pPager uintptr, pgno Pgno, ppPage uintptr, flags int32) int32 { /* sqlite3.c:58881:20: */ // printf("PAGE %u\n", pgno); fflush(stdout); return (*struct { f func(*libc.TLS, uintptr, Pgno, uintptr, int32) int32 @@ -49973,7 +50002,7 @@ func Xsqlite3PagerGet(tls *libc.TLS, pPager uintptr, pgno Pgno, ppPage uintptr, // in the page if the page is not already in cache. This routine // returns NULL if the page is not in cache or if a disk I/O error // has ever happened. -func Xsqlite3PagerLookup(tls *libc.TLS, pPager uintptr, pgno Pgno) uintptr { /* sqlite3.c:58892:23: */ +func Xsqlite3PagerLookup(tls *libc.TLS, pPager uintptr, pgno Pgno) uintptr { /* sqlite3.c:58902:23: */ var pPage uintptr pPage = Xsqlite3PcacheFetch(tls, (*Pager)(unsafe.Pointer(pPager)).FpPCache, pgno, 0) @@ -49994,7 +50023,7 @@ func Xsqlite3PagerLookup(tls *libc.TLS, pPager uintptr, pgno Pgno) uintptr { /* // Use sqlite3PagerUnrefPageOne() to release page1. This latter routine // checks the total number of outstanding pages and if the number of // pages reaches zero it drops the database lock. -func Xsqlite3PagerUnrefNotNull(tls *libc.TLS, pPg uintptr) { /* sqlite3.c:58915:21: */ +func Xsqlite3PagerUnrefNotNull(tls *libc.TLS, pPg uintptr) { /* sqlite3.c:58925:21: */ if int32((*DbPage)(unsafe.Pointer(pPg)).Fflags)&PGHDR_MMAP != 0 { // Page1 is never memory mapped @@ -50006,13 +50035,13 @@ func Xsqlite3PagerUnrefNotNull(tls *libc.TLS, pPg uintptr) { /* sqlite3.c:58915: } -func Xsqlite3PagerUnref(tls *libc.TLS, pPg uintptr) { /* sqlite3.c:58927:21: */ +func Xsqlite3PagerUnref(tls *libc.TLS, pPg uintptr) { /* sqlite3.c:58937:21: */ if pPg != 0 { Xsqlite3PagerUnrefNotNull(tls, pPg) } } -func Xsqlite3PagerUnrefPageOne(tls *libc.TLS, pPg uintptr) { /* sqlite3.c:58930:21: */ +func Xsqlite3PagerUnrefPageOne(tls *libc.TLS, pPg uintptr) { /* sqlite3.c:58940:21: */ var pPager uintptr // Page1 is never memory mapped @@ -50041,7 +50070,7 @@ func Xsqlite3PagerUnrefPageOne(tls *libc.TLS, pPg uintptr) { /* sqlite3.c:58930: // Return SQLITE_OK if everything is successful. Otherwise, return // SQLITE_NOMEM if the attempt to allocate Pager.pInJournal fails, or // an IO error code if opening or writing the journal file fails. -func pager_open_journal(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:58962:12: */ +func pager_open_journal(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:58972:12: */ var rc int32 = SQLITE_OK // Return code var pVfs uintptr = (*Pager)(unsafe.Pointer(pPager)).FpVfs // Local cache of vfs pointer @@ -50123,7 +50152,7 @@ func pager_open_journal(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:5896 // sub-journal. If the subjInMemory argument is zero, then any required // sub-journal is implemented in-memory if pPager is an in-memory database, // or using a temporary file otherwise. -func Xsqlite3PagerBegin(tls *libc.TLS, pPager uintptr, exFlag int32, subjInMemory int32) int32 { /* sqlite3.c:59051:20: */ +func Xsqlite3PagerBegin(tls *libc.TLS, pPager uintptr, exFlag int32, subjInMemory int32) int32 { /* sqlite3.c:59061:20: */ var rc int32 = SQLITE_OK if (*Pager)(unsafe.Pointer(pPager)).FerrCode != 0 { @@ -50183,7 +50212,7 @@ func Xsqlite3PagerBegin(tls *libc.TLS, pPager uintptr, exFlag int32, subjInMemor } // Write page pPg onto the end of the rollback journal. -func pagerAddPageToRollbackJournal(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:59120:28: */ +func pagerAddPageToRollbackJournal(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:59130:28: */ var pPager uintptr = (*PgHdr)(unsafe.Pointer(pPg)).FpPager var rc int32 var cksum U32 @@ -50233,7 +50262,7 @@ func pagerAddPageToRollbackJournal(tls *libc.TLS, pPg uintptr) int32 { /* sqlite // one of the journals, the corresponding bit is set in the // Pager.pInJournal bitvec and the PagerSavepoint.pInSavepoint bitvecs // of any open savepoints as appropriate. -func pager_write(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:59177:12: */ +func pager_write(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:59187:12: */ var pPager uintptr = (*PgHdr)(unsafe.Pointer(pPg)).FpPager var rc int32 = SQLITE_OK @@ -50307,7 +50336,7 @@ func pager_write(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:59177:12: */ // Usually, the sector size is less than or equal to the page size, in which // case pages can be individually written. This routine only runs in the // exceptional case where the page size is smaller than the sector size. -func pagerWriteLargeSector(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:59269:28: */ +func pagerWriteLargeSector(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:59279:28: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -50395,7 +50424,7 @@ func pagerWriteLargeSector(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:5926 // // If an error occurs, SQLITE_NOMEM or an IO error code is returned // as appropriate. Otherwise, SQLITE_OK. -func Xsqlite3PagerWrite(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:59363:20: */ +func Xsqlite3PagerWrite(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:59373:20: */ var pPager uintptr = (*PgHdr)(unsafe.Pointer(pPg)).FpPager if int32((*PgHdr)(unsafe.Pointer(pPg)).Fflags)&PGHDR_WRITEABLE != 0 && (*Pager)(unsafe.Pointer(pPager)).FdbSize >= (*PgHdr)(unsafe.Pointer(pPg)).Fpgno { @@ -50436,7 +50465,7 @@ func Xsqlite3PagerWrite(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:59363:2 // memory pressure forces page pPg out of the cache, the data does need // to be written out to disk so that it may be read back in if the // current transaction is rolled back. -func Xsqlite3PagerDontWrite(tls *libc.TLS, pPg uintptr) { /* sqlite3.c:59412:21: */ +func Xsqlite3PagerDontWrite(tls *libc.TLS, pPg uintptr) { /* sqlite3.c:59422:21: */ var pPager uintptr = (*PgHdr)(unsafe.Pointer(pPg)).FpPager if !(int32((*Pager)(unsafe.Pointer(pPager)).FtempFile) != 0) && int32((*PgHdr)(unsafe.Pointer(pPg)).Fflags)&PGHDR_DIRTY != 0 && (*Pager)(unsafe.Pointer(pPager)).FnSavepoint == 0 { @@ -50466,7 +50495,7 @@ func Xsqlite3PagerDontWrite(tls *libc.TLS, pPg uintptr) { /* sqlite3.c:59412:21: // if isDirect is non-zero, then the database file is updated directly // by writing an updated version of page 1 using a call to the // sqlite3OsWrite() function. -func pager_incr_changecounter(tls *libc.TLS, pPager uintptr, isDirectMode int32) int32 { /* sqlite3.c:59446:12: */ +func pager_incr_changecounter(tls *libc.TLS, pPager uintptr, isDirectMode int32) int32 { /* sqlite3.c:59456:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -50536,7 +50565,7 @@ func pager_incr_changecounter(tls *libc.TLS, pPager uintptr, isDirectMode int32) // // If successful, or if called on a pager for which it is a no-op, this // function returns SQLITE_OK. Otherwise, an IO error code is returned. -func Xsqlite3PagerSync(tls *libc.TLS, pPager uintptr, zSuper uintptr) int32 { /* sqlite3.c:59529:20: */ +func Xsqlite3PagerSync(tls *libc.TLS, pPager uintptr, zSuper uintptr) int32 { /* sqlite3.c:59539:20: */ var rc int32 = SQLITE_OK var pArg uintptr = zSuper rc = Xsqlite3OsFileControl(tls, (*Pager)(unsafe.Pointer(pPager)).Ffd, SQLITE_FCNTL_SYNC, pArg) @@ -50559,7 +50588,7 @@ func Xsqlite3PagerSync(tls *libc.TLS, pPager uintptr, zSuper uintptr) int32 { /* // successful, or the connection is in WAL mode, SQLITE_OK is returned. // Otherwise, either SQLITE_BUSY or an SQLITE_IOERR_XXX error code is // returned. -func Xsqlite3PagerExclusiveLock(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:59552:20: */ +func Xsqlite3PagerExclusiveLock(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:59562:20: */ var rc int32 = (*Pager)(unsafe.Pointer(pPager)).FerrCode if rc == SQLITE_OK { @@ -50595,7 +50624,7 @@ func Xsqlite3PagerExclusiveLock(tls *libc.TLS, pPager uintptr) int32 { /* sqlite // is not synced. The caller must call sqlite3PagerSync() directly to // sync the database file before calling CommitPhaseTwo() to delete the // journal file in this case. -func Xsqlite3PagerCommitPhaseOne(tls *libc.TLS, pPager uintptr, zSuper uintptr, noSync int32) int32 { /* sqlite3.c:59594:20: */ +func Xsqlite3PagerCommitPhaseOne(tls *libc.TLS, pPager uintptr, zSuper uintptr, noSync int32) int32 { /* sqlite3.c:59604:20: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -50785,7 +50814,7 @@ __19: // // If an error occurs, an IO error code is returned and the pager // moves into the error state. Otherwise, SQLITE_OK is returned. -func Xsqlite3PagerCommitPhaseTwo(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:59824:20: */ +func Xsqlite3PagerCommitPhaseTwo(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:59834:20: */ var rc int32 = SQLITE_OK // Return code // This routine should not be called if a prior error has occurred. @@ -50842,7 +50871,7 @@ func Xsqlite3PagerCommitPhaseTwo(tls *libc.TLS, pPager uintptr) int32 { /* sqlit // current transaction are either expelled from the cache or reverted to // their pre-transaction state by re-reading data from the database or // WAL files. The WAL transaction is then closed. -func Xsqlite3PagerRollback(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:59890:20: */ +func Xsqlite3PagerRollback(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:59900:20: */ var rc int32 = SQLITE_OK // Return code // PagerRollback() is a no-op if called in READER or OPEN state. If @@ -50886,13 +50915,13 @@ func Xsqlite3PagerRollback(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:5 // Return TRUE if the database file is opened read-only. Return FALSE // if the database is (in theory) writable. -func Xsqlite3PagerIsreadonly(tls *libc.TLS, pPager uintptr) U8 { /* sqlite3.c:59940:19: */ +func Xsqlite3PagerIsreadonly(tls *libc.TLS, pPager uintptr) U8 { /* sqlite3.c:59950:19: */ return (*Pager)(unsafe.Pointer(pPager)).FreadOnly } // Return the approximate number of bytes of memory currently // used by the pager and its associated cache. -func Xsqlite3PagerMemUsed(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:59957:20: */ +func Xsqlite3PagerMemUsed(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:59967:20: */ var perPageSize int32 = int32((*Pager)(unsafe.Pointer(pPager)).FpageSize + I64((*Pager)(unsafe.Pointer(pPager)).FnExtra) + I64(int32(uint64(unsafe.Sizeof(PgHdr{}))+uint64(5)*uint64(unsafe.Sizeof(uintptr(0)))))) return int32(I64(perPageSize*Xsqlite3PcachePagecount(tls, (*Pager)(unsafe.Pointer(pPager)).FpPCache)+ @@ -50901,7 +50930,7 @@ func Xsqlite3PagerMemUsed(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:59 } // Return the number of references to the specified page. -func Xsqlite3PagerPageRefcount(tls *libc.TLS, pPage uintptr) int32 { /* sqlite3.c:59968:20: */ +func Xsqlite3PagerPageRefcount(tls *libc.TLS, pPage uintptr) int32 { /* sqlite3.c:59978:20: */ return Xsqlite3PcachePageRefcount(tls, pPage) } @@ -50914,7 +50943,7 @@ func Xsqlite3PagerPageRefcount(tls *libc.TLS, pPage uintptr) int32 { /* sqlite3. // current cache hit or miss count, according to the value of eStat. If the // reset parameter is non-zero, the cache hit or miss count is zeroed before // returning. -func Xsqlite3PagerCacheStat(tls *libc.TLS, pPager uintptr, eStat int32, reset int32, pnVal uintptr) { /* sqlite3.c:60004:21: */ +func Xsqlite3PagerCacheStat(tls *libc.TLS, pPager uintptr, eStat int32, reset int32, pnVal uintptr) { /* sqlite3.c:60014:21: */ eStat = eStat - SQLITE_DBSTATUS_CACHE_HIT *(*int32)(unsafe.Pointer(pnVal)) += *(*int32)(unsafe.Pointer(pPager + 240 + uintptr(eStat)*4)) @@ -50924,7 +50953,7 @@ func Xsqlite3PagerCacheStat(tls *libc.TLS, pPager uintptr, eStat int32, reset in } // Return true if this is an in-memory or temp-file backed pager. -func Xsqlite3PagerIsMemdb(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:60027:20: */ +func Xsqlite3PagerIsMemdb(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:60037:20: */ return libc.Bool32((*Pager)(unsafe.Pointer(pPager)).FtempFile != 0 || (*Pager)(unsafe.Pointer(pPager)).FmemVfs != 0) } @@ -50936,7 +50965,7 @@ func Xsqlite3PagerIsMemdb(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:60 // If a memory allocation fails, SQLITE_NOMEM is returned. If an error // occurs while opening the sub-journal file, then an IO error code is // returned. Otherwise, SQLITE_OK. -func pagerOpenSavepoint(tls *libc.TLS, pPager uintptr, nSavepoint int32) int32 { /* sqlite3.c:60041:28: */ +func pagerOpenSavepoint(tls *libc.TLS, pPager uintptr, nSavepoint int32) int32 { /* sqlite3.c:60051:28: */ var rc int32 = SQLITE_OK // Return code var nCurrent int32 = (*Pager)(unsafe.Pointer(pPager)).FnSavepoint // Current number of savepoints var ii int32 // Iterator variable @@ -50976,7 +51005,7 @@ func pagerOpenSavepoint(tls *libc.TLS, pPager uintptr, nSavepoint int32) int32 { return rc } -func Xsqlite3PagerOpenSavepoint(tls *libc.TLS, pPager uintptr, nSavepoint int32) int32 { /* sqlite3.c:60087:20: */ +func Xsqlite3PagerOpenSavepoint(tls *libc.TLS, pPager uintptr, nSavepoint int32) int32 { /* sqlite3.c:60097:20: */ if nSavepoint > (*Pager)(unsafe.Pointer(pPager)).FnSavepoint && (*Pager)(unsafe.Pointer(pPager)).FuseJournal != 0 { return pagerOpenSavepoint(tls, pPager, nSavepoint) @@ -51014,7 +51043,7 @@ func Xsqlite3PagerOpenSavepoint(tls *libc.TLS, pPager uintptr, nSavepoint int32) // This function may return SQLITE_NOMEM if a memory allocation fails, // or an IO error code if an IO error occurs while rolling back a // savepoint. If no errors occur, SQLITE_OK is returned. -func Xsqlite3PagerSavepoint(tls *libc.TLS, pPager uintptr, op int32, iSavepoint int32) int32 { /* sqlite3.c:60129:20: */ +func Xsqlite3PagerSavepoint(tls *libc.TLS, pPager uintptr, op int32, iSavepoint int32) int32 { /* sqlite3.c:60139:20: */ var rc int32 = (*Pager)(unsafe.Pointer(pPager)).FerrCode if rc == SQLITE_OK && iSavepoint < (*Pager)(unsafe.Pointer(pPager)).FnSavepoint { @@ -51075,30 +51104,30 @@ func Xsqlite3PagerSavepoint(tls *libc.TLS, pPager uintptr, op int32, iSavepoint // // The return value to this routine is always safe to use with // sqlite3_uri_parameter() and sqlite3_filename_database() and friends. -func Xsqlite3PagerFilename(tls *libc.TLS, pPager uintptr, nullIfMemDb int32) uintptr { /* sqlite3.c:60210:27: */ +func Xsqlite3PagerFilename(tls *libc.TLS, pPager uintptr, nullIfMemDb int32) uintptr { /* sqlite3.c:60220:27: */ if nullIfMemDb != 0 && (*Pager)(unsafe.Pointer(pPager)).FmemDb != 0 { return uintptr(unsafe.Pointer(&zFake)) + 4 } return (*Pager)(unsafe.Pointer(pPager)).FzFilename } -var zFake = [8]int8{int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0)} /* sqlite3.c:60211:21 */ +var zFake = [8]int8{int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0)} /* sqlite3.c:60221:21 */ // Return the VFS structure for the pager. -func Xsqlite3PagerVfs(tls *libc.TLS, pPager uintptr) uintptr { /* sqlite3.c:60218:28: */ +func Xsqlite3PagerVfs(tls *libc.TLS, pPager uintptr) uintptr { /* sqlite3.c:60228:28: */ return (*Pager)(unsafe.Pointer(pPager)).FpVfs } // Return the file handle for the database file associated // with the pager. This might return NULL if the file has // not yet been opened. -func Xsqlite3PagerFile(tls *libc.TLS, pPager uintptr) uintptr { /* sqlite3.c:60227:29: */ +func Xsqlite3PagerFile(tls *libc.TLS, pPager uintptr) uintptr { /* sqlite3.c:60237:29: */ return (*Pager)(unsafe.Pointer(pPager)).Ffd } // Return the file handle for the journal file (if it exists). // This will be either the rollback journal or the WAL file. -func Xsqlite3PagerJrnlFile(tls *libc.TLS, pPager uintptr) uintptr { /* sqlite3.c:60235:29: */ +func Xsqlite3PagerJrnlFile(tls *libc.TLS, pPager uintptr) uintptr { /* sqlite3.c:60245:29: */ if (*Pager)(unsafe.Pointer(pPager)).FpWal != 0 { return Xsqlite3WalFile(tls, (*Pager)(unsafe.Pointer(pPager)).FpWal) } @@ -51106,7 +51135,7 @@ func Xsqlite3PagerJrnlFile(tls *libc.TLS, pPager uintptr) uintptr { /* sqlite3.c } // Return the full pathname of the journal file. -func Xsqlite3PagerJournalname(tls *libc.TLS, pPager uintptr) uintptr { /* sqlite3.c:60246:27: */ +func Xsqlite3PagerJournalname(tls *libc.TLS, pPager uintptr) uintptr { /* sqlite3.c:60256:27: */ return (*Pager)(unsafe.Pointer(pPager)).FzJournal } @@ -51133,7 +51162,7 @@ func Xsqlite3PagerJournalname(tls *libc.TLS, pPager uintptr) uintptr { /* sqlite // // This function may return SQLITE_NOMEM or an IO error code if an error // occurs. Otherwise, it returns SQLITE_OK. -func Xsqlite3PagerMovepage(tls *libc.TLS, pPager uintptr, pPg uintptr, pgno Pgno, isCommit int32) int32 { /* sqlite3.c:60276:20: */ +func Xsqlite3PagerMovepage(tls *libc.TLS, pPager uintptr, pPg uintptr, pgno Pgno, isCommit int32) int32 { /* sqlite3.c:60286:20: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -51195,7 +51224,7 @@ func Xsqlite3PagerMovepage(tls *libc.TLS, pPager uintptr, pPg uintptr, pgno Pgno if pPgOld != 0 { if int32((*PgHdr)(unsafe.Pointer(pPgOld)).FnRef) > 1 { Xsqlite3PagerUnrefNotNull(tls, pPgOld) - return Xsqlite3CorruptError(tls, 60350) + return Xsqlite3CorruptError(tls, 60360) } *(*U16)(unsafe.Pointer(pPg + 52)) |= U16(int32((*PgHdr)(unsafe.Pointer(pPgOld)).Fflags) & PGHDR_NEED_SYNC) if (*Pager)(unsafe.Pointer(pPager)).FtempFile != 0 { @@ -51255,21 +51284,21 @@ func Xsqlite3PagerMovepage(tls *libc.TLS, pPager uintptr, pPg uintptr, pgno Pgno // with a page number other than iNew. This function changes the page's // page number to iNew and sets the value of the PgHdr.flags field to // the value passed as the third parameter. -func Xsqlite3PagerRekey(tls *libc.TLS, pPg uintptr, iNew Pgno, flags U16) { /* sqlite3.c:60414:21: */ +func Xsqlite3PagerRekey(tls *libc.TLS, pPg uintptr, iNew Pgno, flags U16) { /* sqlite3.c:60424:21: */ (*DbPage)(unsafe.Pointer(pPg)).Fflags = flags Xsqlite3PcacheMove(tls, pPg, iNew) } // Return a pointer to the data for the specified page. -func Xsqlite3PagerGetData(tls *libc.TLS, pPg uintptr) uintptr { /* sqlite3.c:60423:21: */ +func Xsqlite3PagerGetData(tls *libc.TLS, pPg uintptr) uintptr { /* sqlite3.c:60433:21: */ return (*DbPage)(unsafe.Pointer(pPg)).FpData } // Return a pointer to the Pager.nExtra bytes of "extra" space // allocated along with the specified page. -func Xsqlite3PagerGetExtra(tls *libc.TLS, pPg uintptr) uintptr { /* sqlite3.c:60432:21: */ +func Xsqlite3PagerGetExtra(tls *libc.TLS, pPg uintptr) uintptr { /* sqlite3.c:60442:21: */ return (*DbPage)(unsafe.Pointer(pPg)).FpExtra } @@ -51281,7 +51310,7 @@ func Xsqlite3PagerGetExtra(tls *libc.TLS, pPg uintptr) uintptr { /* sqlite3.c:60 // The returned value is either PAGER_LOCKINGMODE_NORMAL or // PAGER_LOCKINGMODE_EXCLUSIVE, indicating the current (possibly updated) // locking-mode. -func Xsqlite3PagerLockingMode(tls *libc.TLS, pPager uintptr, eMode int32) int32 { /* sqlite3.c:60446:20: */ +func Xsqlite3PagerLockingMode(tls *libc.TLS, pPager uintptr, eMode int32) int32 { /* sqlite3.c:60456:20: */ if eMode >= 0 && !(int32((*Pager)(unsafe.Pointer(pPager)).FtempFile) != 0) && !(Xsqlite3WalHeapMemory(tls, (*Pager)(unsafe.Pointer(pPager)).FpWal) != 0) { (*Pager)(unsafe.Pointer(pPager)).FexclusiveMode = U8(eMode) @@ -51307,7 +51336,7 @@ func Xsqlite3PagerLockingMode(tls *libc.TLS, pPager uintptr, eMode int32) int32 // * Temporary databases cannot have _WAL journalmode. // // The returned indicate the current (possibly updated) journal-mode. -func Xsqlite3PagerSetJournalMode(tls *libc.TLS, pPager uintptr, eMode int32) int32 { /* sqlite3.c:60479:20: */ +func Xsqlite3PagerSetJournalMode(tls *libc.TLS, pPager uintptr, eMode int32) int32 { /* sqlite3.c:60489:20: */ var eOld U8 = (*Pager)(unsafe.Pointer(pPager)).FjournalMode // Prior journalmode // The eMode parameter is always valid @@ -51377,14 +51406,14 @@ func Xsqlite3PagerSetJournalMode(tls *libc.TLS, pPager uintptr, eMode int32) int } // Return the current journal mode. -func Xsqlite3PagerGetJournalMode(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:60569:20: */ +func Xsqlite3PagerGetJournalMode(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:60579:20: */ return int32((*Pager)(unsafe.Pointer(pPager)).FjournalMode) } // Return TRUE if the pager is in a state where it is OK to change the // journalmode. Journalmode changes can only happen when the database // is unmodified. -func Xsqlite3PagerOkToChangeJournalMode(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:60578:20: */ +func Xsqlite3PagerOkToChangeJournalMode(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:60588:20: */ if int32((*Pager)(unsafe.Pointer(pPager)).FeState) >= PAGER_WRITER_CACHEMOD { return 0 @@ -51399,7 +51428,7 @@ func Xsqlite3PagerOkToChangeJournalMode(tls *libc.TLS, pPager uintptr) int32 { / // // Setting the size limit to -1 means no limit is enforced. // An attempt to set a limit smaller than -1 is a no-op. -func Xsqlite3PagerJournalSizeLimit(tls *libc.TLS, pPager uintptr, iLimit I64) I64 { /* sqlite3.c:60591:20: */ +func Xsqlite3PagerJournalSizeLimit(tls *libc.TLS, pPager uintptr, iLimit I64) I64 { /* sqlite3.c:60601:20: */ if iLimit >= int64(-1) { (*Pager)(unsafe.Pointer(pPager)).FjournalSizeLimit = iLimit Xsqlite3WalLimit(tls, (*Pager)(unsafe.Pointer(pPager)).FpWal, iLimit) @@ -51411,12 +51440,12 @@ func Xsqlite3PagerJournalSizeLimit(tls *libc.TLS, pPager uintptr, iLimit I64) I6 // in backup.c maintains the content of this variable. This module // uses it opaquely as an argument to sqlite3BackupRestart() and // sqlite3BackupUpdate() only. -func Xsqlite3PagerBackupPtr(tls *libc.TLS, pPager uintptr) uintptr { /* sqlite3.c:60605:31: */ +func Xsqlite3PagerBackupPtr(tls *libc.TLS, pPager uintptr) uintptr { /* sqlite3.c:60615:31: */ return pPager + 112 } // Unless this is an in-memory or temporary database, clear the pager cache. -func Xsqlite3PagerClearCache(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:60613:21: */ +func Xsqlite3PagerClearCache(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:60623:21: */ if int32((*Pager)(unsafe.Pointer(pPager)).FtempFile) == 0 { pager_reset(tls, pPager) @@ -51428,7 +51457,7 @@ func Xsqlite3PagerClearCache(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:60613 // or wal_blocking_checkpoint() API functions. // // Parameter eMode is one of SQLITE_CHECKPOINT_PASSIVE, FULL or RESTART. -func Xsqlite3PagerCheckpoint(tls *libc.TLS, pPager uintptr, db uintptr, eMode int32, pnLog uintptr, pnCkpt uintptr) int32 { /* sqlite3.c:60628:20: */ +func Xsqlite3PagerCheckpoint(tls *libc.TLS, pPager uintptr, db uintptr, eMode int32, pnLog uintptr, pnCkpt uintptr) int32 { /* sqlite3.c:60638:20: */ var rc int32 = SQLITE_OK if (*Pager)(unsafe.Pointer(pPager)).FpWal == uintptr(0) && int32((*Pager)(unsafe.Pointer(pPager)).FjournalMode) == PAGER_JOURNALMODE_WAL { // This only happens when a database file is zero bytes in size opened and @@ -51456,13 +51485,13 @@ func Xsqlite3PagerCheckpoint(tls *libc.TLS, pPager uintptr, db uintptr, eMode in return rc } -func Xsqlite3PagerWalCallback(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:60659:20: */ +func Xsqlite3PagerWalCallback(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:60669:20: */ return Xsqlite3WalCallback(tls, (*Pager)(unsafe.Pointer(pPager)).FpWal) } // Return true if the underlying VFS for the given pager supports the // primitives necessary for write-ahead logging. -func Xsqlite3PagerWalSupported(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:60667:20: */ +func Xsqlite3PagerWalSupported(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:60677:20: */ var pMethods uintptr = (*Sqlite3_file)(unsafe.Pointer((*Pager)(unsafe.Pointer(pPager)).Ffd)).FpMethods if (*Pager)(unsafe.Pointer(pPager)).FnoLock != 0 { return 0 @@ -51472,7 +51501,7 @@ func Xsqlite3PagerWalSupported(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3 // Attempt to take an exclusive lock on the database file. If a PENDING lock // is obtained instead, immediately release it. -func pagerExclusiveLock(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:60677:12: */ +func pagerExclusiveLock(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:60687:12: */ var rc int32 // Return code rc = pagerLockDb(tls, pPager, EXCLUSIVE_LOCK) @@ -51489,7 +51518,7 @@ func pagerExclusiveLock(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:6067 // exclusive-locking mode when this function is called, take an EXCLUSIVE // lock on the database file and use heap-memory to store the wal-index // in. Otherwise, use the normal shared-memory. -func pagerOpenWal(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:60697:12: */ +func pagerOpenWal(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:60707:12: */ var rc int32 = SQLITE_OK // If the pager is already in exclusive-mode, the WAL module will use @@ -51525,7 +51554,7 @@ func pagerOpenWal(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:60697:12: // If the pager is open on a temp-file (or in-memory database), or if // the WAL file is already open, set *pbOpen to 1 and return SQLITE_OK // without doing anything. -func Xsqlite3PagerOpenWal(tls *libc.TLS, pPager uintptr, pbOpen uintptr) int32 { /* sqlite3.c:60742:20: */ +func Xsqlite3PagerOpenWal(tls *libc.TLS, pPager uintptr, pbOpen uintptr) int32 { /* sqlite3.c:60752:20: */ var rc int32 = SQLITE_OK // Return code if !(int32((*Pager)(unsafe.Pointer(pPager)).FtempFile) != 0) && !(int32((*Pager)(unsafe.Pointer(pPager)).FpWal) != 0) { @@ -51555,7 +51584,7 @@ func Xsqlite3PagerOpenWal(tls *libc.TLS, pPager uintptr, pbOpen uintptr) int32 { // EXCLUSIVE lock on the database file. If this cannot be obtained, an // error (SQLITE_BUSY) is returned and the log connection is not closed. // If successful, the EXCLUSIVE lock is not released before returning. -func Xsqlite3PagerCloseWal(tls *libc.TLS, pPager uintptr, db uintptr) int32 { /* sqlite3.c:60781:20: */ +func Xsqlite3PagerCloseWal(tls *libc.TLS, pPager uintptr, db uintptr) int32 { /* sqlite3.c:60791:20: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -51595,7 +51624,7 @@ func Xsqlite3PagerCloseWal(tls *libc.TLS, pPager uintptr, db uintptr) int32 { /* // If this is a WAL database, obtain a snapshot handle for the snapshot // currently open. Otherwise, return an error. -func Xsqlite3PagerSnapshotGet(tls *libc.TLS, pPager uintptr, ppSnapshot uintptr) int32 { /* sqlite3.c:60850:20: */ +func Xsqlite3PagerSnapshotGet(tls *libc.TLS, pPager uintptr, ppSnapshot uintptr) int32 { /* sqlite3.c:60860:20: */ var rc int32 = SQLITE_ERROR if (*Pager)(unsafe.Pointer(pPager)).FpWal != 0 { rc = Xsqlite3WalSnapshotGet(tls, (*Pager)(unsafe.Pointer(pPager)).FpWal, ppSnapshot) @@ -51606,7 +51635,7 @@ func Xsqlite3PagerSnapshotGet(tls *libc.TLS, pPager uintptr, ppSnapshot uintptr) // If this is a WAL database, store a pointer to pSnapshot. Next time a // read transaction is opened, attempt to read from the snapshot it // identifies. If this is not a WAL database, return an error. -func Xsqlite3PagerSnapshotOpen(tls *libc.TLS, pPager uintptr, pSnapshot uintptr) int32 { /* sqlite3.c:60863:20: */ +func Xsqlite3PagerSnapshotOpen(tls *libc.TLS, pPager uintptr, pSnapshot uintptr) int32 { /* sqlite3.c:60873:20: */ var rc int32 = SQLITE_OK if (*Pager)(unsafe.Pointer(pPager)).FpWal != 0 { Xsqlite3WalSnapshotOpen(tls, (*Pager)(unsafe.Pointer(pPager)).FpWal, pSnapshot) @@ -51618,7 +51647,7 @@ func Xsqlite3PagerSnapshotOpen(tls *libc.TLS, pPager uintptr, pSnapshot uintptr) // If this is a WAL database, call sqlite3WalSnapshotRecover(). If this // is not a WAL database, return an error. -func Xsqlite3PagerSnapshotRecover(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:60880:20: */ +func Xsqlite3PagerSnapshotRecover(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:60890:20: */ var rc int32 if (*Pager)(unsafe.Pointer(pPager)).FpWal != 0 { rc = Xsqlite3WalSnapshotRecover(tls, (*Pager)(unsafe.Pointer(pPager)).FpWal) @@ -51638,7 +51667,7 @@ func Xsqlite3PagerSnapshotRecover(tls *libc.TLS, pPager uintptr) int32 { /* sqli // the CHECKPOINTER lock cannot be obtained, SQLITE_BUSY. If any error // occurs (any value other than SQLITE_OK is returned), the CHECKPOINTER // lock is released before returning. -func Xsqlite3PagerSnapshotCheck(tls *libc.TLS, pPager uintptr, pSnapshot uintptr) int32 { /* sqlite3.c:60902:20: */ +func Xsqlite3PagerSnapshotCheck(tls *libc.TLS, pPager uintptr, pSnapshot uintptr) int32 { /* sqlite3.c:60912:20: */ var rc int32 if (*Pager)(unsafe.Pointer(pPager)).FpWal != 0 { rc = Xsqlite3WalSnapshotCheck(tls, (*Pager)(unsafe.Pointer(pPager)).FpWal, pSnapshot) @@ -51650,7 +51679,7 @@ func Xsqlite3PagerSnapshotCheck(tls *libc.TLS, pPager uintptr, pSnapshot uintptr // Release a lock obtained by an earlier successful call to // sqlite3PagerSnapshotCheck(). -func Xsqlite3PagerSnapshotUnlock(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:60916:21: */ +func Xsqlite3PagerSnapshotUnlock(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:60926:21: */ Xsqlite3WalSnapshotUnlock(tls, (*Pager)(unsafe.Pointer(pPager)).FpWal) } @@ -52229,7 +52258,7 @@ type WalIndexHdr1 = struct { // byte. // Object declarations -type WalIndexHdr = WalIndexHdr1 /* sqlite3.c:61244:28 */ +type WalIndexHdr = WalIndexHdr1 /* sqlite3.c:61254:28 */ type WalIterator1 = struct { FiPrior U32 FnSegment int32 @@ -52241,18 +52270,18 @@ type WalIterator1 = struct { FnEntry int32 FiZero int32 } -} /* sqlite3.c:61245:9 */ +} /* sqlite3.c:61255:9 */ -type WalIterator = WalIterator1 /* sqlite3.c:61245:28 */ +type WalIterator = WalIterator1 /* sqlite3.c:61255:28 */ type WalCkptInfo1 = struct { FnBackfill U32 FaReadMark [5]U32 FaLock [8]U8 FnBackfillAttempted U32 FnotUsed0 U32 -} /* sqlite3.c:61246:9 */ +} /* sqlite3.c:61256:9 */ -type WalCkptInfo = WalCkptInfo1 /* sqlite3.c:61246:28 */ +type WalCkptInfo = WalCkptInfo1 /* sqlite3.c:61256:28 */ // Candidate values for Wal.exclusiveMode. @@ -52260,7 +52289,7 @@ type WalCkptInfo = WalCkptInfo1 /* sqlite3.c:61246:28 */ // Each page of the wal-index mapping contains a hash-table made up of // an array of HASHTABLE_NSLOT elements of the following type. -type Ht_slot = U16 /* sqlite3.c:61501:13 */ +type Ht_slot = U16 /* sqlite3.c:61511:13 */ // 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 @@ -52282,7 +52311,7 @@ type WalSegment = struct { FaPgno uintptr FnEntry int32 FiZero int32 -} /* sqlite3.c:61245:9 */ +} /* sqlite3.c:61255:9 */ // Define the parameters of the hash tables in the wal-index file. There // is a hash-table following every HASHTABLE_NPAGE page numbers in the @@ -52313,7 +52342,7 @@ type WalSegment = struct { // (3) rc==SQLITE_OK and *ppPage==NULL // only if iPage==0 // // Scenario (3) can only occur when pWal->writeLock is false and iPage==0 -func walIndexPageRealloc(tls *libc.TLS, pWal uintptr, iPage int32, ppPage uintptr) int32 { /* sqlite3.c:61572:28: */ +func walIndexPageRealloc(tls *libc.TLS, pWal uintptr, iPage int32, ppPage uintptr) int32 { /* sqlite3.c:61582:28: */ var rc int32 = SQLITE_OK // Enlarge the pWal->apWiData[] array if required @@ -52358,7 +52387,7 @@ func walIndexPageRealloc(tls *libc.TLS, pWal uintptr, iPage int32, ppPage uintpt return rc } -func walIndexPage(tls *libc.TLS, pWal uintptr, iPage int32, ppPage uintptr) int32 { /* sqlite3.c:61621:12: */ +func walIndexPage(tls *libc.TLS, pWal uintptr, iPage int32, ppPage uintptr) int32 { /* sqlite3.c:61631:12: */ if (*Wal)(unsafe.Pointer(pWal)).FnWiData <= iPage || libc.AssignPtrUintptr(ppPage, *(*uintptr)(unsafe.Pointer((*Wal)(unsafe.Pointer(pWal)).FapWiData + uintptr(iPage)*8))) == uintptr(0) { return walIndexPageRealloc(tls, pWal, iPage, ppPage) } @@ -52366,13 +52395,13 @@ func walIndexPage(tls *libc.TLS, pWal uintptr, iPage int32, ppPage uintptr) int3 } // Return a pointer to the WalCkptInfo structure in the wal-index. -func walCkptInfo(tls *libc.TLS, pWal uintptr) uintptr { /* sqlite3.c:61635:29: */ +func walCkptInfo(tls *libc.TLS, pWal uintptr) uintptr { /* sqlite3.c:61645:29: */ return *(*uintptr)(unsafe.Pointer((*Wal)(unsafe.Pointer(pWal)).FapWiData)) + 24*4 } // Return a pointer to the WalIndexHdr structure in the wal-index. -func walIndexHdr(tls *libc.TLS, pWal uintptr) uintptr { /* sqlite3.c:61643:29: */ +func walIndexHdr(tls *libc.TLS, pWal uintptr) uintptr { /* sqlite3.c:61653:29: */ return *(*uintptr)(unsafe.Pointer((*Wal)(unsafe.Pointer(pWal)).FapWiData)) } @@ -52390,7 +52419,7 @@ func walIndexHdr(tls *libc.TLS, pWal uintptr) uintptr { /* sqlite3.c:61643:29: * // The checksum is written back into aOut[] before returning. // // nByte must be a positive multiple of 8. -func walChecksumBytes(tls *libc.TLS, nativeCksum int32, a uintptr, nByte int32, aIn uintptr, aOut uintptr) { /* sqlite3.c:61669:13: */ +func walChecksumBytes(tls *libc.TLS, nativeCksum int32, a uintptr, nByte int32, aIn uintptr, aOut uintptr) { /* sqlite3.c:61679:13: */ var s1 U32 var s2 U32 var aData uintptr = a @@ -52422,7 +52451,7 @@ func walChecksumBytes(tls *libc.TLS, nativeCksum int32, a uintptr, nByte int32, // If there is the possibility of concurrent access to the SHM file // from multiple threads and/or processes, then do a memory barrier. -func walShmBarrier(tls *libc.TLS, pWal uintptr) { /* sqlite3.c:61712:13: */ +func walShmBarrier(tls *libc.TLS, pWal uintptr) { /* sqlite3.c:61722:13: */ if int32((*Wal)(unsafe.Pointer(pWal)).FexclusiveMode) != WAL_HEAPMEMORY_MODE { Xsqlite3OsShmBarrier(tls, (*Wal)(unsafe.Pointer(pWal)).FpDbFd) } @@ -52437,7 +52466,7 @@ func walShmBarrier(tls *libc.TLS, pWal uintptr) { /* sqlite3.c:61712:13: */ // Write the header information in pWal->hdr into the wal-index. // // The checksum on pWal->hdr is updated before it is written. -func walIndexWriteHdr(tls *libc.TLS, pWal uintptr) { /* sqlite3.c:61736:28: */ +func walIndexWriteHdr(tls *libc.TLS, pWal uintptr) { /* sqlite3.c:61746:28: */ var aHdr uintptr = walIndexHdr(tls, pWal) var nCksum int32 = int32(uintptr(0) + 40) @@ -52461,7 +52490,7 @@ func walIndexWriteHdr(tls *libc.TLS, pWal uintptr) { /* sqlite3.c:61736:28: */ // 12: Salt-2 (copied from the wal-header) // 16: Checksum-1. // 20: Checksum-2. -func walEncodeFrame(tls *libc.TLS, pWal uintptr, iPage U32, nTruncate U32, aData uintptr, aFrame uintptr) { /* sqlite3.c:61763:13: */ +func walEncodeFrame(tls *libc.TLS, pWal uintptr, iPage U32, nTruncate U32, aData uintptr, aFrame uintptr) { /* sqlite3.c:61773:13: */ var nativeCksum int32 // True for native byte-order checksums var aCksum uintptr = pWal + 72 + 24 @@ -52484,7 +52513,7 @@ func walEncodeFrame(tls *libc.TLS, pWal uintptr, iPage U32, nTruncate U32, aData // Check to see if the frame with header in aFrame[] and content // in aData[] is valid. If it is a valid frame, fill *piPage and // *pnTruncate and return true. Return if the frame is not valid. -func walDecodeFrame(tls *libc.TLS, pWal uintptr, piPage uintptr, pnTruncate uintptr, aData uintptr, aFrame uintptr) int32 { /* sqlite3.c:61794:12: */ +func walDecodeFrame(tls *libc.TLS, pWal uintptr, piPage uintptr, pnTruncate uintptr, aData uintptr, aFrame uintptr) int32 { /* sqlite3.c:61804:12: */ var nativeCksum int32 // True for native byte-order checksums var aCksum uintptr = pWal + 72 + 24 var pgno U32 // Page number of the frame @@ -52526,7 +52555,7 @@ func walDecodeFrame(tls *libc.TLS, pWal uintptr, piPage uintptr, pnTruncate uint // through the unlocked state first. // // In locking_mode=EXCLUSIVE, all of these routines become no-ops. -func walLockShared(tls *libc.TLS, pWal uintptr, lockIdx int32) int32 { /* sqlite3.c:61873:12: */ +func walLockShared(tls *libc.TLS, pWal uintptr, lockIdx int32) int32 { /* sqlite3.c:61883:12: */ var rc int32 if (*Wal)(unsafe.Pointer(pWal)).FexclusiveMode != 0 { return SQLITE_OK @@ -52537,7 +52566,7 @@ func walLockShared(tls *libc.TLS, pWal uintptr, lockIdx int32) int32 { /* sqlite return rc } -func walUnlockShared(tls *libc.TLS, pWal uintptr, lockIdx int32) { /* sqlite3.c:61883:13: */ +func walUnlockShared(tls *libc.TLS, pWal uintptr, lockIdx int32) { /* sqlite3.c:61893:13: */ if (*Wal)(unsafe.Pointer(pWal)).FexclusiveMode != 0 { return } @@ -52546,7 +52575,7 @@ func walUnlockShared(tls *libc.TLS, pWal uintptr, lockIdx int32) { /* sqlite3.c: } -func walLockExclusive(tls *libc.TLS, pWal uintptr, lockIdx int32, n int32) int32 { /* sqlite3.c:61889:12: */ +func walLockExclusive(tls *libc.TLS, pWal uintptr, lockIdx int32, n int32) int32 { /* sqlite3.c:61899:12: */ var rc int32 if (*Wal)(unsafe.Pointer(pWal)).FexclusiveMode != 0 { return SQLITE_OK @@ -52557,7 +52586,7 @@ func walLockExclusive(tls *libc.TLS, pWal uintptr, lockIdx int32, n int32) int32 return rc } -func walUnlockExclusive(tls *libc.TLS, pWal uintptr, lockIdx int32, n int32) { /* sqlite3.c:61899:13: */ +func walUnlockExclusive(tls *libc.TLS, pWal uintptr, lockIdx int32, n int32) { /* sqlite3.c:61909:13: */ if (*Wal)(unsafe.Pointer(pWal)).FexclusiveMode != 0 { return } @@ -52569,12 +52598,12 @@ func walUnlockExclusive(tls *libc.TLS, pWal uintptr, lockIdx int32, n int32) { / // Compute a hash on a page number. The resulting hash value must land // between 0 and (HASHTABLE_NSLOT-1). The walHashNext() function advances // the hash to the next value in the event of a collision. -func walHash(tls *libc.TLS, iPage U32) int32 { /* sqlite3.c:61912:12: */ +func walHash(tls *libc.TLS, iPage U32) int32 { /* sqlite3.c:61922:12: */ return int32(iPage * U32(HASHTABLE_HASH_1) & U32(HASHTABLE_NPAGE*2-1)) } -func walNextHash(tls *libc.TLS, iPriorHash int32) int32 { /* sqlite3.c:61917:12: */ +func walNextHash(tls *libc.TLS, iPriorHash int32) int32 { /* sqlite3.c:61927:12: */ return (iPriorHash + 1) & (HASHTABLE_NPAGE*2 - 1) } @@ -52586,12 +52615,12 @@ type WalHashLoc1 = struct { FaPgno uintptr FiZero U32 F__ccgo_pad1 [4]byte -} /* sqlite3.c:61926:9 */ +} /* sqlite3.c:61936:9 */ // An instance of the WalHashLoc object is used to describe the location // of a page hash table in the wal-index. This becomes the return value // from walHashGet(). -type WalHashLoc = WalHashLoc1 /* sqlite3.c:61926:27 */ +type WalHashLoc = WalHashLoc1 /* sqlite3.c:61936:27 */ // Return pointers to the hash table and page number array stored on // page iHash of the wal-index. The wal-index is broken into 32KB pages @@ -52605,7 +52634,7 @@ type WalHashLoc = WalHashLoc1 /* sqlite3.c:61926:27 */ // // Finally, set pLoc->aPgno so that pLoc->aPgno[0] is the page number of the // first frame indexed by the hash table, frame (pLoc->iZero). -func walHashGet(tls *libc.TLS, pWal uintptr, iHash int32, pLoc uintptr) int32 { /* sqlite3.c:61947:12: */ +func walHashGet(tls *libc.TLS, pWal uintptr, iHash int32, pLoc uintptr) int32 { /* sqlite3.c:61957:12: */ var rc int32 // Return code rc = walIndexPage(tls, pWal, iHash, pLoc+8) @@ -52628,14 +52657,14 @@ func walHashGet(tls *libc.TLS, pWal uintptr, iHash int32, pLoc uintptr) int32 { // and page-number array that contain entries corresponding to WAL frame // iFrame. The wal-index is broken up into 32KB pages. Wal-index pages // are numbered starting from 0. -func walFramePage(tls *libc.TLS, iFrame U32) int32 { /* sqlite3.c:61977:12: */ +func walFramePage(tls *libc.TLS, iFrame U32) int32 { /* sqlite3.c:61987:12: */ var iHash int32 = int32((uint64(iFrame+U32(HASHTABLE_NPAGE)) - (uint64(HASHTABLE_NPAGE) - (uint64(unsafe.Sizeof(WalIndexHdr{}))*uint64(2)+uint64(unsafe.Sizeof(WalCkptInfo{})))/uint64(unsafe.Sizeof(U32(0)))) - uint64(1)) / uint64(HASHTABLE_NPAGE)) return iHash } // Return the page number associated with frame iFrame in this WAL. -func walFramePgno(tls *libc.TLS, pWal uintptr, iFrame U32) U32 { /* sqlite3.c:61992:12: */ +func walFramePgno(tls *libc.TLS, pWal uintptr, iFrame U32) U32 { /* sqlite3.c:62002:12: */ var iHash int32 = walFramePage(tls, iFrame) if iHash == 0 { return *(*U32)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer((*Wal)(unsafe.Pointer(pWal)).FapWiData)) + uintptr((uint64(unsafe.Sizeof(WalIndexHdr{}))*uint64(2)+uint64(unsafe.Sizeof(WalCkptInfo{})))/uint64(unsafe.Sizeof(U32(0)))+uint64(iFrame)-uint64(1))*4)) @@ -52653,7 +52682,7 @@ func walFramePgno(tls *libc.TLS, pWal uintptr, iFrame U32) U32 { /* sqlite3.c:61 // updated. Any later hash tables will be automatically cleared when // pWal->hdr.mxFrame advances to the point where those hash tables are // actually needed. -func walCleanupHash(tls *libc.TLS, pWal uintptr) { /* sqlite3.c:62012:13: */ +func walCleanupHash(tls *libc.TLS, pWal uintptr) { /* sqlite3.c:62022:13: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -52696,7 +52725,7 @@ func walCleanupHash(tls *libc.TLS, pWal uintptr) { /* sqlite3.c:62012:13: */ // Set an entry in the wal-index that will map database page number // pPage into WAL frame iFrame. -func walIndexAppend(tls *libc.TLS, pWal uintptr, iFrame U32, iPage U32) int32 { /* sqlite3.c:62074:12: */ +func walIndexAppend(tls *libc.TLS, pWal uintptr, iFrame U32, iPage U32) int32 { /* sqlite3.c:62084:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -52737,7 +52766,7 @@ func walIndexAppend(tls *libc.TLS, pWal uintptr, iFrame U32, iPage U32) int32 { nCollide = idx for iKey = walHash(tls, iPage); *(*Ht_slot)(unsafe.Pointer((*WalHashLoc)(unsafe.Pointer(bp /* &sLoc */)).FaHash + uintptr(iKey)*2)) != 0; iKey = walNextHash(tls, iKey) { if libc.PostDecInt32(&nCollide, 1) == 0 { - return Xsqlite3CorruptError(tls, 62114) + return Xsqlite3CorruptError(tls, 62124) } } *(*U32)(unsafe.Pointer((*WalHashLoc)(unsafe.Pointer(bp /* &sLoc */)).FaPgno + uintptr(idx-1)*4)) = iPage @@ -52756,7 +52785,7 @@ func walIndexAppend(tls *libc.TLS, pWal uintptr, iFrame U32, iPage U32) int32 { // WAL_RECOVER_LOCK is also held so that other threads will know // that this thread is running recovery. If unable to establish // the necessary locks, this routine returns SQLITE_BUSY. -func walIndexRecover(tls *libc.TLS, pWal uintptr) int32 { /* sqlite3.c:62163:12: */ +func walIndexRecover(tls *libc.TLS, pWal uintptr) int32 { /* sqlite3.c:62173:12: */ bp := tls.Alloc(80) defer tls.Free(80) @@ -52871,7 +52900,7 @@ __6: if !(version != U32(WAL_MAX_VERSION)) { goto __7 } - rc = Xsqlite3CantopenError(tls, 62246) + rc = Xsqlite3CantopenError(tls, 62256) goto finished __7: ; @@ -53075,7 +53104,7 @@ recovery_error: } // Close an open wal-index. -func walIndexClose(tls *libc.TLS, pWal uintptr, isDelete int32) { /* sqlite3.c:62386:13: */ +func walIndexClose(tls *libc.TLS, pWal uintptr, isDelete int32) { /* sqlite3.c:62396:13: */ if int32((*Wal)(unsafe.Pointer(pWal)).FexclusiveMode) == WAL_HEAPMEMORY_MODE || (*Wal)(unsafe.Pointer(pWal)).FbShmUnreliable != 0 { var i int32 for i = 0; i < (*Wal)(unsafe.Pointer(pWal)).FnWiData; i++ { @@ -53101,7 +53130,7 @@ func walIndexClose(tls *libc.TLS, pWal uintptr, isDelete int32) { /* sqlite3.c:6 // If the log file is successfully opened, SQLITE_OK is returned and // *ppWal is set to point to a new WAL handle. If an error occurs, // an SQLite error code is returned and *ppWal is left unmodified. -func Xsqlite3WalOpen(tls *libc.TLS, pVfs uintptr, pDbFd uintptr, zWalName uintptr, bNoShm int32, mxWalSize I64, ppWal uintptr) int32 { /* sqlite3.c:62414:20: */ +func Xsqlite3WalOpen(tls *libc.TLS, pVfs uintptr, pDbFd uintptr, zWalName uintptr, bNoShm int32, mxWalSize I64, ppWal uintptr) int32 { /* sqlite3.c:62424:20: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -53173,7 +53202,7 @@ func Xsqlite3WalOpen(tls *libc.TLS, pVfs uintptr, pDbFd uintptr, zWalName uintpt } // Change the size to which the WAL file is trucated on each reset. -func Xsqlite3WalLimit(tls *libc.TLS, pWal uintptr, iLimit I64) { /* sqlite3.c:62517:21: */ +func Xsqlite3WalLimit(tls *libc.TLS, pWal uintptr, iLimit I64) { /* sqlite3.c:62527:21: */ if pWal != 0 { (*Wal)(unsafe.Pointer(pWal)).FmxWalSize = iLimit } @@ -53187,7 +53216,7 @@ func Xsqlite3WalLimit(tls *libc.TLS, pWal uintptr, iLimit I64) { /* sqlite3.c:62 // // Return 0 on success. If there are no pages in the WAL with a page // number larger than *piPage, then return 1. -func walIteratorNext(tls *libc.TLS, p uintptr, piPage uintptr, piFrame uintptr) int32 { /* sqlite3.c:62531:12: */ +func walIteratorNext(tls *libc.TLS, p uintptr, piPage uintptr, piFrame uintptr) int32 { /* sqlite3.c:62541:12: */ var iMin U32 // Result pgno must be greater than iMin var iRet U32 = 0xFFFFFFFF // 0xffffffff is never a valid page number var i int32 // For looping through segments @@ -53234,7 +53263,7 @@ func walIteratorNext(tls *libc.TLS, p uintptr, piPage uintptr, piFrame uintptr) // aLeft[X]!=aRight[Y] && aContent[aLeft[X]] == aContent[aRight[Y]] // // When that happens, omit the aLeft[X] and use the aRight[Y] index. -func walMerge(tls *libc.TLS, aContent uintptr, aLeft uintptr, nLeft int32, paRight uintptr, pnRight uintptr, aTmp uintptr) { /* sqlite3.c:62584:13: */ +func walMerge(tls *libc.TLS, aContent uintptr, aLeft uintptr, nLeft int32, paRight uintptr, pnRight uintptr, aTmp uintptr) { /* sqlite3.c:62594:13: */ var iLeft int32 = 0 // Current index in aLeft var iRight int32 = 0 // Current index in aRight var iOut int32 = 0 // Current index in output buffer @@ -53280,7 +53309,7 @@ func walMerge(tls *libc.TLS, aContent uintptr, aLeft uintptr, nLeft int32, paRig // // Keep the larger of the two values aList[X] and aList[Y] and discard // the smaller. -func walMergesort(tls *libc.TLS, aContent uintptr, aBuffer uintptr, aList uintptr, pnList uintptr) { /* sqlite3.c:62641:13: */ +func walMergesort(tls *libc.TLS, aContent uintptr, aBuffer uintptr, aList uintptr, pnList uintptr) { /* sqlite3.c:62651:13: */ bp := tls.Alloc(220) defer tls.Free(220) @@ -53326,10 +53355,10 @@ type Sublist = struct { FnList int32 F__ccgo_pad1 [4]byte FaList uintptr -} /* sqlite3.c:62647:3 */ +} /* sqlite3.c:62657:3 */ // Free an iterator allocated by walIteratorInit(). -func walIteratorFree(tls *libc.TLS, p uintptr) { /* sqlite3.c:62704:13: */ +func walIteratorFree(tls *libc.TLS, p uintptr) { /* sqlite3.c:62714:13: */ Xsqlite3_free(tls, p) } @@ -53344,7 +53373,7 @@ func walIteratorFree(tls *libc.TLS, p uintptr) { /* sqlite3.c:62704:13: */ // // The calling routine should invoke walIteratorFree() to destroy the // WalIterator object when it has finished with it. -func walIteratorInit(tls *libc.TLS, pWal uintptr, nBackfill U32, pp uintptr) int32 { /* sqlite3.c:62721:12: */ +func walIteratorInit(tls *libc.TLS, pWal uintptr, nBackfill U32, pp uintptr) int32 { /* sqlite3.c:62731:12: */ bp := tls.Alloc(28) defer tls.Free(28) @@ -53428,7 +53457,7 @@ func walIteratorInit(tls *libc.TLS, pWal uintptr, nBackfill U32, pp uintptr) int // n. If the attempt fails and parameter xBusy is not NULL, then it is a // 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) int32 { /* sqlite3.c:62884:12: */ +func walBusyLock(tls *libc.TLS, pWal uintptr, xBusy uintptr, pBusyArg uintptr, lockIdx int32, n int32) int32 { /* sqlite3.c:62894:12: */ var rc int32 for __ccgo := true; __ccgo; __ccgo = xBusy != 0 && rc == SQLITE_BUSY && (*struct { f func(*libc.TLS, uintptr) int32 @@ -53440,7 +53469,7 @@ func walBusyLock(tls *libc.TLS, pWal uintptr, xBusy uintptr, pBusyArg uintptr, l // The cache of the wal-index header must be valid to call this function. // Return the page-size in bytes used by the database. -func walPagesize(tls *libc.TLS, pWal uintptr) int32 { /* sqlite3.c:62908:12: */ +func walPagesize(tls *libc.TLS, pWal uintptr) int32 { /* sqlite3.c:62918:12: */ return int32((*Wal)(unsafe.Pointer(pWal)).Fhdr.FszPage)&0xfe00 + int32((*Wal)(unsafe.Pointer(pWal)).Fhdr.FszPage)&0x0001<<16 } @@ -53459,7 +53488,7 @@ func walPagesize(tls *libc.TLS, pWal uintptr) int32 { /* sqlite3.c:62908:12: */ // The value of parameter salt1 is used as the aSalt[1] value in the // new wal-index header. It should be passed a pseudo-random value (i.e. // one obtained from sqlite3_randomness()). -func walRestartHdr(tls *libc.TLS, pWal uintptr, salt1 U32) { /* sqlite3.c:62929:13: */ +func walRestartHdr(tls *libc.TLS, pWal uintptr, salt1 U32) { /* sqlite3.c:62939:13: */ bp := tls.Alloc(4) defer tls.Free(4) *(*U32)(unsafe.Pointer(bp)) = salt1 @@ -53510,7 +53539,7 @@ func walRestartHdr(tls *libc.TLS, pWal uintptr, salt1 U32) { /* sqlite3.c:62929: // The caller must be holding sufficient locks to ensure that no other // 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) int32 { /* sqlite3.c:62976:12: */ +func walCheckpoint(tls *libc.TLS, pWal uintptr, db uintptr, eMode int32, xBusy uintptr, pBusyArg uintptr, sync_flags int32, zBuf uintptr) int32 { /* sqlite3.c:62986:12: */ bp := tls.Alloc(36) defer tls.Free(36) @@ -53641,7 +53670,7 @@ __10: // 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 = Xsqlite3CorruptError(tls, 63060) + rc = Xsqlite3CorruptError(tls, 63070) goto __15 __14: Xsqlite3OsFileControlHint(tls, (*Wal)(unsafe.Pointer(pWal)).FpDbFd, SQLITE_FCNTL_SIZE_HINT, bp+16) @@ -53802,7 +53831,7 @@ walcheckpoint_out: // If the WAL file is currently larger than nMax bytes in size, truncate // it to exactly nMax bytes. If an error occurs while doing so, ignore it. -func walLimitSize(tls *libc.TLS, pWal uintptr, nMax I64) { /* sqlite3.c:63162:13: */ +func walLimitSize(tls *libc.TLS, pWal uintptr, nMax I64) { /* sqlite3.c:63172:13: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -53821,7 +53850,7 @@ func walLimitSize(tls *libc.TLS, pWal uintptr, nMax I64) { /* sqlite3.c:63162:13 } // Close a connection to a log file. -func Xsqlite3WalClose(tls *libc.TLS, pWal uintptr, db uintptr, sync_flags int32, nBuf int32, zBuf uintptr) int32 { /* sqlite3.c:63179:20: */ +func Xsqlite3WalClose(tls *libc.TLS, pWal uintptr, db uintptr, sync_flags int32, nBuf int32, zBuf uintptr) int32 { /* sqlite3.c:63189:20: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -53893,7 +53922,7 @@ func Xsqlite3WalClose(tls *libc.TLS, pWal uintptr, db uintptr, sync_flags int32, // // If the checksum cannot be verified return non-zero. If the header // is read successfully and the checksum verified, return zero. -func walIndexTryHdr(tls *libc.TLS, pWal uintptr, pChanged uintptr) int32 { /* sqlite3.c:63260:27: */ +func walIndexTryHdr(tls *libc.TLS, pWal uintptr, pChanged uintptr) int32 { /* sqlite3.c:63270:27: */ bp := tls.Alloc(104) defer tls.Free(104) @@ -53962,7 +53991,7 @@ func walIndexTryHdr(tls *libc.TLS, pWal uintptr, pChanged uintptr) int32 { /* sq // // If the wal-index header is successfully read, return SQLITE_OK. // Otherwise an SQLite error code. -func walIndexReadHdr(tls *libc.TLS, pWal uintptr, pChanged uintptr) int32 { /* sqlite3.c:63330:12: */ +func walIndexReadHdr(tls *libc.TLS, pWal uintptr, pChanged uintptr) int32 { /* sqlite3.c:63340:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -54042,7 +54071,7 @@ func walIndexReadHdr(tls *libc.TLS, pWal uintptr, pChanged uintptr) int32 { /* s // sure the wal-index was not constructed with some future format that // this version of SQLite cannot understand. if badHdr == 0 && (*Wal)(unsafe.Pointer(pWal)).Fhdr.FiVersion != U32(WALINDEX_MAX_VERSION) { - rc = Xsqlite3CantopenError(tls, 63409) + rc = Xsqlite3CantopenError(tls, 63419) } if (*Wal)(unsafe.Pointer(pWal)).FbShmUnreliable != 0 { if rc != SQLITE_OK { @@ -54087,7 +54116,7 @@ func walIndexReadHdr(tls *libc.TLS, pWal uintptr, pChanged uintptr) int32 { /* s // beginning (including attempting to map the *-shm file). // // If an error occurs, an SQLite error code is returned. -func walBeginShmUnreliable(tls *libc.TLS, pWal uintptr, pChanged uintptr) int32 { /* sqlite3.c:63454:12: */ +func walBeginShmUnreliable(tls *libc.TLS, pWal uintptr, pChanged uintptr) int32 { /* sqlite3.c:63464:12: */ bp := tls.Alloc(64) defer tls.Free(64) @@ -54353,7 +54382,7 @@ __15: // update values of the aReadMark[] array in the header, but if it does // so it takes care to hold an exclusive lock on the corresponding // WAL_READ_LOCK() while changing values. -func walTryBeginRead(tls *libc.TLS, pWal uintptr, pChanged uintptr, useWal int32, cnt int32) int32 { /* sqlite3.c:63651:12: */ +func walTryBeginRead(tls *libc.TLS, pWal uintptr, pChanged uintptr, useWal int32, cnt int32) int32 { /* sqlite3.c:63661:12: */ var pInfo uintptr // Checkpoint information in wal-index var mxReadMark U32 // Largest aReadMark[] value var mxI int32 // Index of largest aReadMark[] value @@ -54570,7 +54599,7 @@ func walTryBeginRead(tls *libc.TLS, pWal uintptr, pChanged uintptr, useWal int32 // SQLITE_OK is returned if successful, or an SQLite error code if an // error occurs. It is not an error if nBackfillAttempted cannot be // decreased at all. -func Xsqlite3WalSnapshotRecover(tls *libc.TLS, pWal uintptr) int32 { /* sqlite3.c:63881:20: */ +func Xsqlite3WalSnapshotRecover(tls *libc.TLS, pWal uintptr) int32 { /* sqlite3.c:63891:20: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -54644,7 +54673,7 @@ func Xsqlite3WalSnapshotRecover(tls *libc.TLS, pWal uintptr) int32 { /* sqlite3. // transaction, then *pChanged is set to 1 before returning. The // Pager layer will use this to know that its cache is stale and // needs to be flushed. -func Xsqlite3WalBeginReadTransaction(tls *libc.TLS, pWal uintptr, pChanged uintptr) int32 { /* sqlite3.c:63952:20: */ +func Xsqlite3WalBeginReadTransaction(tls *libc.TLS, pWal uintptr, pChanged uintptr) int32 { /* sqlite3.c:63962:20: */ var rc int32 // Return code var cnt int32 = 0 // Number of TryBeginRead attempts var bChanged int32 = 0 @@ -54732,7 +54761,7 @@ func Xsqlite3WalBeginReadTransaction(tls *libc.TLS, pWal uintptr, pChanged uintp // Finish with a read transaction. All this does is release the // read-lock. -func Xsqlite3WalEndReadTransaction(tls *libc.TLS, pWal uintptr) { /* sqlite3.c:64060:21: */ +func Xsqlite3WalEndReadTransaction(tls *libc.TLS, pWal uintptr) { /* sqlite3.c:64070:21: */ Xsqlite3WalEndWriteTransaction(tls, pWal) if int32((*Wal)(unsafe.Pointer(pWal)).FreadLock) >= 0 { walUnlockShared(tls, pWal, 3+int32((*Wal)(unsafe.Pointer(pWal)).FreadLock)) @@ -54746,7 +54775,7 @@ func Xsqlite3WalEndReadTransaction(tls *libc.TLS, pWal uintptr) { /* sqlite3.c:6 // // Return SQLITE_OK if successful, or an error code if an error occurs. If an // error does occur, the final value of *piRead is undefined. -func Xsqlite3WalFindFrame(tls *libc.TLS, pWal uintptr, pgno Pgno, piRead uintptr) int32 { /* sqlite3.c:64076:20: */ +func Xsqlite3WalFindFrame(tls *libc.TLS, pWal uintptr, pgno Pgno, piRead uintptr) int32 { /* sqlite3.c:64086:20: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -54813,7 +54842,7 @@ func Xsqlite3WalFindFrame(tls *libc.TLS, pWal uintptr, pgno Pgno, piRead uintptr iRead = iFrame } if libc.PostDecInt32(&nCollide, 1) == 0 { - return Xsqlite3CorruptError(tls, 64146) + return Xsqlite3CorruptError(tls, 64156) } iKey = walNextHash(tls, iKey) } @@ -54829,7 +54858,7 @@ func Xsqlite3WalFindFrame(tls *libc.TLS, pWal uintptr, pgno Pgno, piRead uintptr // Read the contents of frame iRead from the wal file into buffer pOut // (which is nOut bytes in size). Return SQLITE_OK if successful, or an // error code otherwise. -func Xsqlite3WalReadFrame(tls *libc.TLS, pWal uintptr, iRead U32, nOut int32, pOut uintptr) int32 { /* sqlite3.c:64180:20: */ +func Xsqlite3WalReadFrame(tls *libc.TLS, pWal uintptr, iRead U32, nOut int32, pOut uintptr) int32 { /* sqlite3.c:64190:20: */ var sz int32 var iOffset I64 sz = int32((*Wal)(unsafe.Pointer(pWal)).Fhdr.FszPage) @@ -54846,7 +54875,7 @@ func Xsqlite3WalReadFrame(tls *libc.TLS, pWal uintptr, iRead U32, nOut int32, pO } // Return the size of the database in pages (or zero, if unknown). -func Xsqlite3WalDbsize(tls *libc.TLS, pWal uintptr) Pgno { /* sqlite3.c:64200:21: */ +func Xsqlite3WalDbsize(tls *libc.TLS, pWal uintptr) Pgno { /* sqlite3.c:64210:21: */ if pWal != 0 && int32((*Wal)(unsafe.Pointer(pWal)).FreadLock) >= 0 { return (*Wal)(unsafe.Pointer(pWal)).Fhdr.FnPage } @@ -54864,7 +54893,7 @@ func Xsqlite3WalDbsize(tls *libc.TLS, pWal uintptr) Pgno { /* sqlite3.c:64200:21 // returns SQLITE_BUSY in that case and no write transaction is started. // // There can only be a single writer active at a time. -func Xsqlite3WalBeginWriteTransaction(tls *libc.TLS, pWal uintptr) int32 { /* sqlite3.c:64221:20: */ +func Xsqlite3WalBeginWriteTransaction(tls *libc.TLS, pWal uintptr) int32 { /* sqlite3.c:64231:20: */ var rc int32 // Cannot start a write transaction without first holding a read @@ -54896,7 +54925,7 @@ func Xsqlite3WalBeginWriteTransaction(tls *libc.TLS, pWal uintptr) int32 { /* sq // End a write transaction. The commit has already been done. This // routine merely releases the lock. -func Xsqlite3WalEndWriteTransaction(tls *libc.TLS, pWal uintptr) int32 { /* sqlite3.c:64269:20: */ +func Xsqlite3WalEndWriteTransaction(tls *libc.TLS, pWal uintptr) int32 { /* sqlite3.c:64279:20: */ if (*Wal)(unsafe.Pointer(pWal)).FwriteLock != 0 { walUnlockExclusive(tls, pWal, WAL_WRITE_LOCK, 1) (*Wal)(unsafe.Pointer(pWal)).FwriteLock = U8(0) @@ -54916,7 +54945,7 @@ func Xsqlite3WalEndWriteTransaction(tls *libc.TLS, pWal uintptr) int32 { /* sqli // // Otherwise, if the callback function does not return an error, this // function returns SQLITE_OK. -func Xsqlite3WalUndo(tls *libc.TLS, pWal uintptr, xUndo uintptr, pUndoCtx uintptr) int32 { /* sqlite3.c:64291:20: */ +func Xsqlite3WalUndo(tls *libc.TLS, pWal uintptr, xUndo uintptr, pUndoCtx uintptr) int32 { /* sqlite3.c:64301:20: */ var rc int32 = SQLITE_OK if (*Wal)(unsafe.Pointer(pWal)).FwriteLock != 0 { var iMax Pgno = (*Wal)(unsafe.Pointer(pWal)).Fhdr.FmxFrame @@ -54953,7 +54982,7 @@ func Xsqlite3WalUndo(tls *libc.TLS, pWal uintptr, xUndo uintptr, pUndoCtx uintpt // values. This function populates the array with values required to // "rollback" the write position of the WAL handle back to the current // point in the event of a savepoint rollback (via WalSavepointUndo()). -func Xsqlite3WalSavepoint(tls *libc.TLS, pWal uintptr, aWalData uintptr) { /* sqlite3.c:64331:21: */ +func Xsqlite3WalSavepoint(tls *libc.TLS, pWal uintptr, aWalData uintptr) { /* sqlite3.c:64341:21: */ *(*U32)(unsafe.Pointer(aWalData)) = (*Wal)(unsafe.Pointer(pWal)).Fhdr.FmxFrame *(*U32)(unsafe.Pointer(aWalData + 1*4)) = *(*U32)(unsafe.Pointer(pWal + 72 + 24)) @@ -54965,7 +54994,7 @@ func Xsqlite3WalSavepoint(tls *libc.TLS, pWal uintptr, aWalData uintptr) { /* sq // the values in the aWalData[] array. aWalData must point to an array // of WAL_SAVEPOINT_NDATA u32 values that has been previously populated // by a call to WalSavepoint(). -func Xsqlite3WalSavepointUndo(tls *libc.TLS, pWal uintptr, aWalData uintptr) int32 { /* sqlite3.c:64345:20: */ +func Xsqlite3WalSavepointUndo(tls *libc.TLS, pWal uintptr, aWalData uintptr) int32 { /* sqlite3.c:64355:20: */ var rc int32 = SQLITE_OK if *(*U32)(unsafe.Pointer(aWalData + 3*4)) != (*Wal)(unsafe.Pointer(pWal)).FnCkpt { @@ -54996,7 +55025,7 @@ func Xsqlite3WalSavepointUndo(tls *libc.TLS, pWal uintptr, aWalData uintptr) int // SQLITE_OK is returned if no error is encountered (regardless of whether // or not pWal->hdr.mxFrame is modified). An SQLite error code is returned // if an error occurs. -func walRestartLog(tls *libc.TLS, pWal uintptr) int32 { /* sqlite3.c:64382:12: */ +func walRestartLog(tls *libc.TLS, pWal uintptr) int32 { /* sqlite3.c:64392:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -55050,12 +55079,12 @@ type WalWriter1 = struct { FiSyncPoint Sqlite3_int64 FsyncFlags int32 FszPage int32 -} /* sqlite3.c:64429:9 */ +} /* sqlite3.c:64439:9 */ // Information about the current state of the WAL file and where // the next fsync should occur - passed from sqlite3WalFrames() into // walWriteToLog(). -type WalWriter = WalWriter1 /* sqlite3.c:64435:3 */ +type WalWriter = WalWriter1 /* sqlite3.c:64445:3 */ // Write iAmt bytes of content into the WAL file beginning at iOffset. // Do a sync when crossing the p->iSyncPoint boundary. @@ -55063,7 +55092,7 @@ type WalWriter = WalWriter1 /* sqlite3.c:64435:3 */ // In other words, if iSyncPoint is in between iOffset and iOffset+iAmt, // first write the part before iSyncPoint, then sync, then write the // rest. -func walWriteToLog(tls *libc.TLS, p uintptr, pContent uintptr, iAmt int32, iOffset Sqlite3_int64) int32 { /* sqlite3.c:64445:12: */ +func walWriteToLog(tls *libc.TLS, p uintptr, pContent uintptr, iAmt int32, iOffset Sqlite3_int64) int32 { /* sqlite3.c:64455:12: */ var rc int32 if iOffset < (*WalWriter)(unsafe.Pointer(p)).FiSyncPoint && iOffset+Sqlite3_int64(iAmt) >= (*WalWriter)(unsafe.Pointer(p)).FiSyncPoint { var iFirstAmt int32 = int32((*WalWriter)(unsafe.Pointer(p)).FiSyncPoint - iOffset) @@ -55085,7 +55114,7 @@ func walWriteToLog(tls *libc.TLS, p uintptr, pContent uintptr, iAmt int32, iOffs } // Write out a single frame of the WAL -func walWriteOneFrame(tls *libc.TLS, p uintptr, pPage uintptr, nTruncate int32, iOffset Sqlite3_int64) int32 { /* sqlite3.c:64470:12: */ +func walWriteOneFrame(tls *libc.TLS, p uintptr, pPage uintptr, nTruncate int32, iOffset Sqlite3_int64) int32 { /* sqlite3.c:64480:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -55110,7 +55139,7 @@ func walWriteOneFrame(tls *libc.TLS, p uintptr, pPage uintptr, nTruncate int32, // with the earliest to have been overwritten. // // SQLITE_OK is returned if successful, or an SQLite error code otherwise. -func walRewriteChecksums(tls *libc.TLS, pWal uintptr, iLast U32) int32 { /* sqlite3.c:64496:12: */ +func walRewriteChecksums(tls *libc.TLS, pWal uintptr, iLast U32) int32 { /* sqlite3.c:64506:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -55164,7 +55193,7 @@ func walRewriteChecksums(tls *libc.TLS, pWal uintptr, iLast U32) int32 { /* sqli // Write a set of frames to the log. The caller must hold the write-lock // on the log file (obtained using sqlite3WalBeginWriteTransaction()). -func Xsqlite3WalFrames(tls *libc.TLS, pWal uintptr, szPage int32, pList uintptr, nTruncate Pgno, isCommit int32, sync_flags int32) int32 { /* sqlite3.c:64545:20: */ +func Xsqlite3WalFrames(tls *libc.TLS, pWal uintptr, szPage int32, pList uintptr, nTruncate Pgno, isCommit int32, sync_flags int32) int32 { /* sqlite3.c:64555:20: */ bp := tls.Alloc(80) defer tls.Free(80) @@ -55397,7 +55426,7 @@ func Xsqlite3WalFrames(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 Xsqlite3WalCheckpoint(tls *libc.TLS, pWal uintptr, db uintptr, eMode int32, xBusy uintptr, pBusyArg uintptr, sync_flags int32, nBuf int32, zBuf uintptr, pnLog uintptr, pnCkpt uintptr) int32 { /* sqlite3.c:64783:20: */ +func Xsqlite3WalCheckpoint(tls *libc.TLS, pWal uintptr, db uintptr, eMode int32, xBusy uintptr, pBusyArg uintptr, sync_flags int32, nBuf int32, zBuf uintptr, pnLog uintptr, pnCkpt uintptr) int32 { /* sqlite3.c:64793:20: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -55462,7 +55491,7 @@ func Xsqlite3WalCheckpoint(tls *libc.TLS, pWal uintptr, db uintptr, eMode int32, if rc == SQLITE_OK { if (*Wal)(unsafe.Pointer(pWal)).Fhdr.FmxFrame != 0 && walPagesize(tls, pWal) != nBuf { - rc = Xsqlite3CorruptError(tls, 64865) + rc = Xsqlite3CorruptError(tls, 64875) } else { rc = walCheckpoint(tls, pWal, db, eMode2, xBusy2, pBusyArg, sync_flags, zBuf) } @@ -55506,7 +55535,7 @@ func Xsqlite3WalCheckpoint(tls *libc.TLS, pWal uintptr, db uintptr, eMode int32, // number of frames in the WAL at the point of the last commit since // sqlite3WalCallback() was called. If no commits have occurred since // the last call, then return 0. -func Xsqlite3WalCallback(tls *libc.TLS, pWal uintptr) int32 { /* sqlite3.c:64908:20: */ +func Xsqlite3WalCallback(tls *libc.TLS, pWal uintptr) int32 { /* sqlite3.c:64918:20: */ var ret U32 = U32(0) if pWal != 0 { ret = (*Wal)(unsafe.Pointer(pWal)).FiCallback @@ -55537,7 +55566,7 @@ func Xsqlite3WalCallback(tls *libc.TLS, pWal uintptr) int32 { /* sqlite3.c:64908 // not actually change anything. The pager uses this to see if it // should acquire the database exclusive lock prior to invoking // the op==1 case. -func Xsqlite3WalExclusiveMode(tls *libc.TLS, pWal uintptr, op int32) int32 { /* sqlite3.c:64941:20: */ +func Xsqlite3WalExclusiveMode(tls *libc.TLS, pWal uintptr, op int32) int32 { /* sqlite3.c:64951:20: */ var rc int32 // pWal->readLock is usually set, but might be -1 if there was a @@ -55571,14 +55600,14 @@ func Xsqlite3WalExclusiveMode(tls *libc.TLS, pWal uintptr, op int32) int32 { /* // Return true if the argument is non-NULL and the WAL module is using // heap-memory for the wal-index. Otherwise, if the argument is NULL or the // WAL module is using shared-memory, return false. -func Xsqlite3WalHeapMemory(tls *libc.TLS, pWal uintptr) int32 { /* sqlite3.c:64983:20: */ +func Xsqlite3WalHeapMemory(tls *libc.TLS, pWal uintptr) int32 { /* sqlite3.c:64993:20: */ return libc.Bool32(pWal != 0 && int32((*Wal)(unsafe.Pointer(pWal)).FexclusiveMode) == WAL_HEAPMEMORY_MODE) } // Create a snapshot object. The content of a snapshot is opaque to // every other subsystem, so the WAL module can put whatever it needs // in the object. -func Xsqlite3WalSnapshotGet(tls *libc.TLS, pWal uintptr, ppSnapshot uintptr) int32 { /* sqlite3.c:64992:20: */ +func Xsqlite3WalSnapshotGet(tls *libc.TLS, pWal uintptr, ppSnapshot uintptr) int32 { /* sqlite3.c:65002:20: */ var rc int32 = SQLITE_OK var pRet uintptr @@ -55597,16 +55626,16 @@ func Xsqlite3WalSnapshotGet(tls *libc.TLS, pWal uintptr, ppSnapshot uintptr) int return rc } -var aZero = [4]U32{U32(0), U32(0), U32(0), U32(0)} /* sqlite3.c:64995:20 */ +var aZero = [4]U32{U32(0), U32(0), U32(0), U32(0)} /* sqlite3.c:65005:20 */ // Try to open on pSnapshot when the next read-transaction starts -func Xsqlite3WalSnapshotOpen(tls *libc.TLS, pWal uintptr, pSnapshot uintptr) { /* sqlite3.c:65016:21: */ +func Xsqlite3WalSnapshotOpen(tls *libc.TLS, pWal uintptr, pSnapshot uintptr) { /* sqlite3.c:65026:21: */ (*Wal)(unsafe.Pointer(pWal)).FpSnapshot = pSnapshot } // Return a +ve value if snapshot p1 is newer than p2. A -ve value if // p1 is older than p2 and zero if p1 and p2 are the same snapshot. -func Xsqlite3_snapshot_cmp(tls *libc.TLS, p1 uintptr, p2 uintptr) int32 { /* sqlite3.c:65027:16: */ +func Xsqlite3_snapshot_cmp(tls *libc.TLS, p1 uintptr, p2 uintptr) int32 { /* sqlite3.c:65037:16: */ var pHdr1 uintptr = p1 var pHdr2 uintptr = p2 @@ -55636,7 +55665,7 @@ func Xsqlite3_snapshot_cmp(tls *libc.TLS, p1 uintptr, p2 uintptr) int32 { /* sql // the CHECKPOINTER lock cannot be obtained, SQLITE_BUSY. If any error // occurs (any value other than SQLITE_OK is returned), the CHECKPOINTER // lock is released before returning. -func Xsqlite3WalSnapshotCheck(tls *libc.TLS, pWal uintptr, pSnapshot uintptr) int32 { /* sqlite3.c:65051:20: */ +func Xsqlite3WalSnapshotCheck(tls *libc.TLS, pWal uintptr, pSnapshot uintptr) int32 { /* sqlite3.c:65061:20: */ var rc int32 rc = walLockShared(tls, pWal, WAL_CKPT_LOCK) if rc == SQLITE_OK { @@ -55652,13 +55681,13 @@ func Xsqlite3WalSnapshotCheck(tls *libc.TLS, pWal uintptr, pSnapshot uintptr) in // Release a lock obtained by an earlier successful call to // sqlite3WalSnapshotCheck(). -func Xsqlite3WalSnapshotUnlock(tls *libc.TLS, pWal uintptr) { /* sqlite3.c:65070:21: */ +func Xsqlite3WalSnapshotUnlock(tls *libc.TLS, pWal uintptr) { /* sqlite3.c:65080:21: */ walUnlockShared(tls, pWal, WAL_CKPT_LOCK) } // Return the sqlite3_file object for the WAL file -func Xsqlite3WalFile(tls *libc.TLS, pWal uintptr) uintptr { /* sqlite3.c:65092:29: */ +func Xsqlite3WalFile(tls *libc.TLS, pWal uintptr) uintptr { /* sqlite3.c:65102:29: */ return (*Wal)(unsafe.Pointer(pWal)).FpWalFd } @@ -56179,7 +56208,7 @@ type MemPage1 = struct { // small cells will be rare, but they are possible. // Forward declarations -type MemPage = MemPage1 /* sqlite3.c:65350:24 */ +type MemPage = MemPage1 /* sqlite3.c:65360:24 */ type BtLock1 = struct { FpBtree uintptr FiTable Pgno @@ -56188,7 +56217,7 @@ type BtLock1 = struct { FpNext uintptr } /* sqlite3.c:578:9 */ -type BtLock = BtLock1 /* sqlite3.c:65351:23 */ +type BtLock = BtLock1 /* sqlite3.c:65361:23 */ type CellInfo1 = struct { FnKey I64 FpPayload uintptr @@ -56197,7 +56226,7 @@ type CellInfo1 = struct { FnSize U16 } /* sqlite3.c:578:9 */ -type CellInfo = CellInfo1 /* sqlite3.c:65352:25 */ +type CellInfo = CellInfo1 /* sqlite3.c:65362:25 */ // Legal values for BtCursor.curFlags @@ -56307,7 +56336,7 @@ type IntegrityCk1 = struct { FerrMsg StrAccum Fheap uintptr Fdb uintptr -} /* sqlite3.c:65811:9 */ +} /* sqlite3.c:65821:9 */ // Legal values for BtCursor.curFlags @@ -56403,7 +56432,7 @@ type IntegrityCk1 = struct { // the database the corresponding bit is set. This allows integrity-check to // detect pages that are used twice and orphaned pages (both of which // indicate corruption). -type IntegrityCk = IntegrityCk1 /* sqlite3.c:65811:28 */ +type IntegrityCk = IntegrityCk1 /* sqlite3.c:65821:28 */ // Routines to read or write a two- and four-byte big-endian integer values. @@ -56417,7 +56446,7 @@ type IntegrityCk = IntegrityCk1 /* sqlite3.c:65811:28 */ // Obtain the BtShared mutex associated with B-Tree handle p. Also, // set BtShared.db to the database handle associated with p and the // p->locked boolean to true. -func lockBtreeMutex(tls *libc.TLS, p uintptr) { /* sqlite3.c:65861:13: */ +func lockBtreeMutex(tls *libc.TLS, p uintptr) { /* sqlite3.c:65871:13: */ Xsqlite3_mutex_enter(tls, (*BtShared)(unsafe.Pointer((*Btree)(unsafe.Pointer(p)).FpBt)).Fmutex) (*BtShared)(unsafe.Pointer((*Btree)(unsafe.Pointer(p)).FpBt)).Fdb = (*Btree)(unsafe.Pointer(p)).Fdb @@ -56426,7 +56455,7 @@ func lockBtreeMutex(tls *libc.TLS, p uintptr) { /* sqlite3.c:65861:13: */ // Release the BtShared mutex associated with B-Tree handle p and // clear the p->locked boolean. -func unlockBtreeMutex(tls *libc.TLS, p uintptr) { /* sqlite3.c:65875:29: */ +func unlockBtreeMutex(tls *libc.TLS, p uintptr) { /* sqlite3.c:65885:29: */ var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt Xsqlite3_mutex_leave(tls, (*BtShared)(unsafe.Pointer(pBt)).Fmutex) @@ -56447,7 +56476,7 @@ func unlockBtreeMutex(tls *libc.TLS, p uintptr) { /* sqlite3.c:65875:29: */ // p, then first unlock all of the others on p->pNext, then wait // for the lock to become available on p, then relock all of the // subsequent Btrees that desire a lock. -func Xsqlite3BtreeEnter(tls *libc.TLS, p uintptr) { /* sqlite3.c:65905:21: */ +func Xsqlite3BtreeEnter(tls *libc.TLS, p uintptr) { /* sqlite3.c:65915:21: */ // Some basic sanity checking on the Btree. The list of Btrees // connected by pNext and pPrev should be in sorted order by // Btree.pBt value. All elements of the list should belong to @@ -56475,7 +56504,7 @@ func Xsqlite3BtreeEnter(tls *libc.TLS, p uintptr) { /* sqlite3.c:65905:21: */ // into this routine, we avoid unnecessary stack pointer changes // and thus help the sqlite3BtreeLock() routine to run much faster // in the common case. -func btreeLockCarefully(tls *libc.TLS, p uintptr) { /* sqlite3.c:65939:29: */ +func btreeLockCarefully(tls *libc.TLS, p uintptr) { /* sqlite3.c:65949:29: */ var pLater uintptr // In most cases, we should be able to acquire the lock we @@ -56506,7 +56535,7 @@ func btreeLockCarefully(tls *libc.TLS, p uintptr) { /* sqlite3.c:65939:29: */ } // Exit the recursive mutex on a Btree. -func Xsqlite3BtreeLeave(tls *libc.TLS, p uintptr) { /* sqlite3.c:65977:21: */ +func Xsqlite3BtreeLeave(tls *libc.TLS, p uintptr) { /* sqlite3.c:65987:21: */ if (*Btree)(unsafe.Pointer(p)).Fsharable != 0 { @@ -56529,7 +56558,7 @@ func Xsqlite3BtreeLeave(tls *libc.TLS, p uintptr) { /* sqlite3.c:65977:21: */ // to avoid the possibility of deadlock when two threads with // two or more btrees in common both try to lock all their btrees // at the same instant. -func btreeEnterAll(tls *libc.TLS, db uintptr) { /* sqlite3.c:66020:29: */ +func btreeEnterAll(tls *libc.TLS, db uintptr) { /* sqlite3.c:66030:29: */ var i int32 var skipOk int32 = 1 var p uintptr @@ -56544,13 +56573,13 @@ func btreeEnterAll(tls *libc.TLS, db uintptr) { /* sqlite3.c:66020:29: */ (*Sqlite3)(unsafe.Pointer(db)).FnoSharedCache = U8(skipOk) } -func Xsqlite3BtreeEnterAll(tls *libc.TLS, db uintptr) { /* sqlite3.c:66034:21: */ +func Xsqlite3BtreeEnterAll(tls *libc.TLS, db uintptr) { /* sqlite3.c:66044:21: */ if int32((*Sqlite3)(unsafe.Pointer(db)).FnoSharedCache) == 0 { btreeEnterAll(tls, db) } } -func btreeLeaveAll(tls *libc.TLS, db uintptr) { /* sqlite3.c:66037:29: */ +func btreeLeaveAll(tls *libc.TLS, db uintptr) { /* sqlite3.c:66047:29: */ var i int32 var p uintptr @@ -56562,7 +56591,7 @@ func btreeLeaveAll(tls *libc.TLS, db uintptr) { /* sqlite3.c:66037:29: */ } } -func Xsqlite3BtreeLeaveAll(tls *libc.TLS, db uintptr) { /* sqlite3.c:66046:21: */ +func Xsqlite3BtreeLeaveAll(tls *libc.TLS, db uintptr) { /* sqlite3.c:66056:21: */ if int32((*Sqlite3)(unsafe.Pointer(db)).FnoSharedCache) == 0 { btreeLeaveAll(tls, db) } @@ -56573,11 +56602,11 @@ func Xsqlite3BtreeLeaveAll(tls *libc.TLS, db uintptr) { /* sqlite3.c:66046:21: * // These entry points are used by incremental I/O only. Enter() is required // any time OMIT_SHARED_CACHE is not defined, regardless of whether or not // the build is threadsafe. Leave() is only required by threadsafe builds. -func Xsqlite3BtreeEnterCursor(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:66132:21: */ +func Xsqlite3BtreeEnterCursor(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:66142:21: */ Xsqlite3BtreeEnter(tls, (*BtCursor)(unsafe.Pointer(pCur)).FpBtree) } -func Xsqlite3BtreeLeaveCursor(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:66136:21: */ +func Xsqlite3BtreeLeaveCursor(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:66146:21: */ Xsqlite3BtreeLeave(tls, (*BtCursor)(unsafe.Pointer(pCur)).FpBtree) } @@ -56600,7 +56629,7 @@ func Xsqlite3BtreeLeaveCursor(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:66136: // The header string that appears at the beginning of every // SQLite database. -var zMagicHeader = *(*[16]int8)(unsafe.Pointer(ts + 4387)) /* sqlite3.c:66167:19 */ +var zMagicHeader = *(*[16]int8)(unsafe.Pointer(ts + 4387)) /* sqlite3.c:66177:19 */ // Set this global variable to 1 to enable tracing using the TRACE // macro. @@ -56626,14 +56655,14 @@ var zMagicHeader = *(*[16]int8)(unsafe.Pointer(ts + 4387)) /* sqlite3.c:66167:19 // test builds. // // Access to this variable is protected by SQLITE_MUTEX_STATIC_MAIN. -var sqlite3SharedCacheList uintptr = uintptr(0) /* sqlite3.c:66222:17 */ +var sqlite3SharedCacheList uintptr = uintptr(0) /* sqlite3.c:66232:17 */ // Enable or disable the shared pager and schema features. // // This routine has no effect on existing database connections. // The shared cache setting effects only future calls to // sqlite3_open(), sqlite3_open16(), or sqlite3_open_v2(). -func Xsqlite3_enable_shared_cache(tls *libc.TLS, enable int32) int32 { /* sqlite3.c:66234:16: */ +func Xsqlite3_enable_shared_cache(tls *libc.TLS, enable int32) int32 { /* sqlite3.c:66244:16: */ Xsqlite3Config.FsharedCacheEnabled = enable return SQLITE_OK } @@ -56650,7 +56679,7 @@ func Xsqlite3_enable_shared_cache(tls *libc.TLS, enable int32) int32 { /* sqlite // (READ_LOCK or WRITE_LOCK) on the table with root-page iTab. Return // SQLITE_OK if the lock may be obtained (by calling // setSharedCacheTableLock()), or SQLITE_LOCKED if not. -func querySharedCacheTableLock(tls *libc.TLS, p uintptr, iTab Pgno, eLock U8) int32 { /* sqlite3.c:66433:12: */ +func querySharedCacheTableLock(tls *libc.TLS, p uintptr, iTab Pgno, eLock U8) int32 { /* sqlite3.c:66443:12: */ var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt var pIter uintptr @@ -56707,7 +56736,7 @@ func querySharedCacheTableLock(tls *libc.TLS, p uintptr, iTab Pgno, eLock U8) in // // SQLITE_OK is returned if the lock is added successfully. SQLITE_NOMEM // is returned if a malloc attempt fails. -func setSharedCacheTableLock(tls *libc.TLS, p uintptr, iTable Pgno, eLock U8) int32 { /* sqlite3.c:66505:12: */ +func setSharedCacheTableLock(tls *libc.TLS, p uintptr, iTable Pgno, eLock U8) int32 { /* sqlite3.c:66515:12: */ var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt var pLock uintptr = uintptr(0) var pIter uintptr @@ -56758,7 +56787,7 @@ func setSharedCacheTableLock(tls *libc.TLS, p uintptr, iTable Pgno, eLock U8) in // This function assumes that Btree p has an open read or write // transaction. If it does not, then the BTS_PENDING flag // may be incorrectly cleared. -func clearAllSharedCacheTableLocks(tls *libc.TLS, p uintptr) { /* sqlite3.c:66569:13: */ +func clearAllSharedCacheTableLocks(tls *libc.TLS, p uintptr) { /* sqlite3.c:66579:13: */ var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt var ppIter uintptr = pBt + 120 @@ -56793,7 +56822,7 @@ func clearAllSharedCacheTableLocks(tls *libc.TLS, p uintptr) { /* sqlite3.c:6656 } // This function changes all write-locks held by Btree p into read-locks. -func downgradeAllSharedCacheTableLocks(tls *libc.TLS, p uintptr) { /* sqlite3.c:66613:13: */ +func downgradeAllSharedCacheTableLocks(tls *libc.TLS, p uintptr) { /* sqlite3.c:66623:13: */ var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt if (*BtShared)(unsafe.Pointer(pBt)).FpWriter == p { var pLock uintptr @@ -56817,7 +56846,7 @@ func downgradeAllSharedCacheTableLocks(tls *libc.TLS, p uintptr) { /* sqlite3.c: // Invalidate the overflow page-list cache for all cursors opened // on the shared btree structure pBt. -func invalidateAllOverflowCache(tls *libc.TLS, pBt uintptr) { /* sqlite3.c:66666:13: */ +func invalidateAllOverflowCache(tls *libc.TLS, pBt uintptr) { /* sqlite3.c:66676:13: */ var p uintptr for p = (*BtShared)(unsafe.Pointer(pBt)).FpCursor; p != 0; p = (*BtCursor)(unsafe.Pointer(p)).FpNext { @@ -56836,7 +56865,7 @@ func invalidateAllOverflowCache(tls *libc.TLS, pBt uintptr) { /* sqlite3.c:66666 // Otherwise, if argument isClearTable is false, then the row with // rowid iRow is being replaced or deleted. In this case invalidate // only those incrblob cursors open on that specific row. -func invalidateIncrblobCursors(tls *libc.TLS, pBtree uintptr, pgnoRoot Pgno, iRow I64, isClearTable int32) { /* sqlite3.c:66688:13: */ +func invalidateIncrblobCursors(tls *libc.TLS, pBtree uintptr, pgnoRoot Pgno, iRow I64, isClearTable int32) { /* sqlite3.c:66698:13: */ var p uintptr (*Btree)(unsafe.Pointer(pBtree)).FhasIncrblobCur = U8(0) @@ -56883,7 +56912,7 @@ func invalidateIncrblobCursors(tls *libc.TLS, pBtree uintptr, pgnoRoot Pgno, iRo // optimization 2 above is omitted if the corresponding bit is already // set in BtShared.pHasContent. The contents of the bitvec are cleared // at the end of every transaction. -func btreeSetHasContent(tls *libc.TLS, pBt uintptr, pgno Pgno) int32 { /* sqlite3.c:66748:12: */ +func btreeSetHasContent(tls *libc.TLS, pBt uintptr, pgno Pgno) int32 { /* sqlite3.c:66758:12: */ var rc int32 = SQLITE_OK if !(int32((*BtShared)(unsafe.Pointer(pBt)).FpHasContent) != 0) { @@ -56903,20 +56932,20 @@ func btreeSetHasContent(tls *libc.TLS, pBt uintptr, pgno Pgno) int32 { /* sqlite // This function is called when a free-list leaf page is removed from the // free-list for reuse. It returns false if it is safe to retrieve the // page from the pager layer with the 'no-content' flag set. True otherwise. -func btreeGetHasContent(tls *libc.TLS, pBt uintptr, pgno Pgno) int32 { /* sqlite3.c:66770:12: */ +func btreeGetHasContent(tls *libc.TLS, pBt uintptr, pgno Pgno) int32 { /* sqlite3.c:66780:12: */ var p uintptr = (*BtShared)(unsafe.Pointer(pBt)).FpHasContent return libc.Bool32(p != 0 && (pgno > Xsqlite3BitvecSize(tls, p) || Xsqlite3BitvecTestNotNull(tls, p, pgno) != 0)) } // Clear (destroy) the BtShared.pHasContent bitvec. This should be // invoked at the conclusion of each write-transaction. -func btreeClearHasContent(tls *libc.TLS, pBt uintptr) { /* sqlite3.c:66779:13: */ +func btreeClearHasContent(tls *libc.TLS, pBt uintptr) { /* sqlite3.c:66789:13: */ Xsqlite3BitvecDestroy(tls, (*BtShared)(unsafe.Pointer(pBt)).FpHasContent) (*BtShared)(unsafe.Pointer(pBt)).FpHasContent = uintptr(0) } // Release all of the apPage[] pages for a cursor. -func btreeReleaseAllCursorPages(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:66787:13: */ +func btreeReleaseAllCursorPages(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:66797:13: */ var i int32 if int32((*BtCursor)(unsafe.Pointer(pCur)).FiPage) >= 0 { for i = 0; i < int32((*BtCursor)(unsafe.Pointer(pCur)).FiPage); i++ { @@ -56938,7 +56967,7 @@ func btreeReleaseAllCursorPages(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:6678 // NULL. If the cursor is open on a non-intkey table, then pCur->pKey is // set to point to a malloced buffer pCur->nKey bytes in size containing // the key. -func saveCursorKey(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:66811:12: */ +func saveCursorKey(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:66821:12: */ var rc int32 = SQLITE_OK if (*BtCursor)(unsafe.Pointer(pCur)).FcurIntKey != 0 { @@ -56975,7 +57004,7 @@ func saveCursorKey(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:66811:12: * // // The caller must ensure that the cursor is valid (has eState==CURSOR_VALID) // prior to calling this routine. -func saveCursorPosition(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:66853:12: */ +func saveCursorPosition(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:66863:12: */ var rc int32 if int32((*BtCursor)(unsafe.Pointer(pCur)).FcurFlags)&BTCF_Pinned != 0 { @@ -57016,7 +57045,7 @@ func saveCursorPosition(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:66853: // Implementation note: This routine merely checks to see if any cursors // need to be saved. It calls out to saveCursorsOnList() in the (unusual) // event that cursors are in need to being saved. -func saveAllCursors(tls *libc.TLS, pBt uintptr, iRoot Pgno, pExcept uintptr) int32 { /* sqlite3.c:66903:12: */ +func saveAllCursors(tls *libc.TLS, pBt uintptr, iRoot Pgno, pExcept uintptr) int32 { /* sqlite3.c:66913:12: */ var p uintptr for p = (*BtShared)(unsafe.Pointer(pBt)).FpCursor; p != 0; p = (*BtCursor)(unsafe.Pointer(p)).FpNext { @@ -57037,7 +57066,7 @@ func saveAllCursors(tls *libc.TLS, pBt uintptr, iRoot Pgno, pExcept uintptr) int // the cursors if and when a cursor is found that actually requires saving. // The common case is that no cursors need to be saved, so this routine is // broken out from its caller to avoid unnecessary stack pointer movement. -func saveCursorsOnList(tls *libc.TLS, p uintptr, iRoot Pgno, pExcept uintptr) int32 { /* sqlite3.c:66920:28: */ +func saveCursorsOnList(tls *libc.TLS, p uintptr, iRoot Pgno, pExcept uintptr) int32 { /* sqlite3.c:66930:28: */ for __ccgo := true; __ccgo; __ccgo = p != 0 { if p != pExcept && (Pgno(0) == iRoot || (*BtCursor)(unsafe.Pointer(p)).FpgnoRoot == iRoot) { if int32((*BtCursor)(unsafe.Pointer(p)).FeState) == CURSOR_VALID || int32((*BtCursor)(unsafe.Pointer(p)).FeState) == CURSOR_SKIPNEXT { @@ -57056,7 +57085,7 @@ func saveCursorsOnList(tls *libc.TLS, p uintptr, iRoot Pgno, pExcept uintptr) in } // Clear the current cursor position. -func Xsqlite3BtreeClearCursor(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:66945:21: */ +func Xsqlite3BtreeClearCursor(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:66955:21: */ Xsqlite3_free(tls, (*BtCursor)(unsafe.Pointer(pCur)).FpKey) (*BtCursor)(unsafe.Pointer(pCur)).FpKey = uintptr(0) @@ -57066,7 +57095,7 @@ func Xsqlite3BtreeClearCursor(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:66945: // In this version of BtreeMoveto, pKey is a packed index record // such as is generated by the OP_MakeRecord opcode. Unpack the // record and then call BtreeMovetoUnpacked() to do the work. -func btreeMoveto(tls *libc.TLS, pCur uintptr, pKey uintptr, nKey I64, bias int32, pRes uintptr) int32 { /* sqlite3.c:66957:12: */ +func btreeMoveto(tls *libc.TLS, pCur uintptr, pKey uintptr, nKey I64, bias int32, pRes uintptr) int32 { /* sqlite3.c:66967:12: */ var rc int32 // Status code var pIdxKey uintptr // Unpacked index key @@ -57079,7 +57108,7 @@ func btreeMoveto(tls *libc.TLS, pCur uintptr, pKey uintptr, nKey I64, bias int32 } Xsqlite3VdbeRecordUnpack(tls, pKeyInfo, int32(nKey), pKey, pIdxKey) if int32((*UnpackedRecord)(unsafe.Pointer(pIdxKey)).FnField) == 0 || int32((*UnpackedRecord)(unsafe.Pointer(pIdxKey)).FnField) > int32((*KeyInfo)(unsafe.Pointer(pKeyInfo)).FnAllField) { - rc = Xsqlite3CorruptError(tls, 66974) + rc = Xsqlite3CorruptError(tls, 66984) } else { rc = Xsqlite3BtreeIndexMoveto(tls, pCur, pIdxKey, pRes) } @@ -57096,7 +57125,7 @@ func btreeMoveto(tls *libc.TLS, pCur uintptr, pKey uintptr, nKey I64, bias int32 // saved position info stored by saveCursorPosition(), so there can be // at most one effective restoreCursorPosition() call after each // saveCursorPosition(). -func btreeRestoreCursorPosition(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:66993:12: */ +func btreeRestoreCursorPosition(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:67003:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -57136,7 +57165,7 @@ func btreeRestoreCursorPosition(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3. // // Use the separate sqlite3BtreeCursorRestore() routine to restore a cursor // back to where it ought to be if this routine returns true. -func Xsqlite3BtreeCursorHasMoved(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:67036:20: */ +func Xsqlite3BtreeCursorHasMoved(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:67046:20: */ return libc.Bool32(CURSOR_VALID != int32(*(*U8)(unsafe.Pointer(pCur)))) } @@ -57144,12 +57173,12 @@ func Xsqlite3BtreeCursorHasMoved(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3 // Return a pointer to a fake BtCursor object that will always answer // false to the sqlite3BtreeCursorHasMoved() routine above. The fake // cursor returned must not be used with any other Btree interface. -func Xsqlite3BtreeFakeValidCursor(tls *libc.TLS) uintptr { /* sqlite3.c:67049:25: */ +func Xsqlite3BtreeFakeValidCursor(tls *libc.TLS) uintptr { /* sqlite3.c:67059:25: */ return uintptr(unsafe.Pointer(&fakeCursor)) } -var fakeCursor U8 = U8(CURSOR_VALID) /* sqlite3.c:67050:13 */ +var fakeCursor U8 = U8(CURSOR_VALID) /* sqlite3.c:67060:13 */ // This routine restores a cursor back to its original position after it // has been moved by some outside activity (such as a btree rebalance or @@ -57162,7 +57191,7 @@ var fakeCursor U8 = U8(CURSOR_VALID) /* sqlite3.c:67050:13 */ // // This routine should only be called for a cursor that just returned // TRUE from sqlite3BtreeCursorHasMoved(). -func Xsqlite3BtreeCursorRestore(tls *libc.TLS, pCur uintptr, pDifferentRow uintptr) int32 { /* sqlite3.c:67068:20: */ +func Xsqlite3BtreeCursorRestore(tls *libc.TLS, pCur uintptr, pDifferentRow uintptr) int32 { /* sqlite3.c:67078:20: */ var rc int32 rc = func() int32 { @@ -57184,7 +57213,7 @@ func Xsqlite3BtreeCursorRestore(tls *libc.TLS, pCur uintptr, pDifferentRow uintp } // Provide flag hints to the cursor. -func Xsqlite3BtreeCursorHintFlags(tls *libc.TLS, pCur uintptr, x uint32) { /* sqlite3.c:67100:21: */ +func Xsqlite3BtreeCursorHintFlags(tls *libc.TLS, pCur uintptr, x uint32) { /* sqlite3.c:67110:21: */ (*BtCursor)(unsafe.Pointer(pCur)).Fhints = U8(x) } @@ -57196,7 +57225,7 @@ func Xsqlite3BtreeCursorHintFlags(tls *libc.TLS, pCur uintptr, x uint32) { /* sq // Return 0 (not a valid page) for pgno==1 since there is // no pointer map associated with page 1. The integrity_check logic // requires that ptrmapPageno(*,1)!=1. -func ptrmapPageno(tls *libc.TLS, pBt uintptr, pgno Pgno) Pgno { /* sqlite3.c:67116:13: */ +func ptrmapPageno(tls *libc.TLS, pBt uintptr, pgno Pgno) Pgno { /* sqlite3.c:67126:13: */ var nPagesPerMapPage int32 var iPtrMap Pgno var ret Pgno @@ -57221,7 +57250,7 @@ func ptrmapPageno(tls *libc.TLS, pBt uintptr, pgno Pgno) Pgno { /* sqlite3.c:671 // If *pRC is initially non-zero (non-SQLITE_OK) then this routine is // a no-op. If an error occurs, the appropriate error code is written // into *pRC. -func ptrmapPut(tls *libc.TLS, pBt uintptr, key Pgno, eType U8, parent Pgno, pRC uintptr) { /* sqlite3.c:67140:13: */ +func ptrmapPut(tls *libc.TLS, pBt uintptr, key Pgno, eType U8, parent Pgno, pRC uintptr) { /* sqlite3.c:67150:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -57244,7 +57273,7 @@ __1: if !(key == Pgno(0)) { goto __2 } - *(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 67155) + *(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 67165) return __2: ; @@ -57263,7 +57292,7 @@ __3: // 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)) = Xsqlite3CorruptError(tls, 67168) + *(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 67178) goto ptrmap_exit __4: ; @@ -57271,7 +57300,7 @@ __4: if !(offset < 0) { goto __5 } - *(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 67173) + *(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 67183) goto ptrmap_exit __5: ; @@ -57302,7 +57331,7 @@ ptrmap_exit: // This routine retrieves the pointer map entry for page 'key', writing // the type and parent page number to *pEType and *pPgno respectively. // An error code is returned if something goes wrong, otherwise SQLITE_OK. -func ptrmapGet(tls *libc.TLS, pBt uintptr, key Pgno, pEType uintptr, pPgno uintptr) int32 { /* sqlite3.c:67199:12: */ +func ptrmapGet(tls *libc.TLS, pBt uintptr, key Pgno, pEType uintptr, pPgno uintptr) int32 { /* sqlite3.c:67209:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -57323,7 +57352,7 @@ func ptrmapGet(tls *libc.TLS, pBt uintptr, key Pgno, pEType uintptr, pPgno uintp offset = int32(Pgno(5) * (key - Pgno(iPtrmap) - Pgno(1))) if offset < 0 { Xsqlite3PagerUnref(tls, *(*uintptr)(unsafe.Pointer(bp /* pDbPage */))) - return Xsqlite3CorruptError(tls, 67218) + return Xsqlite3CorruptError(tls, 67228) } *(*U8)(unsafe.Pointer(pEType)) = *(*U8)(unsafe.Pointer(pPtrmap + uintptr(offset))) @@ -57333,7 +57362,7 @@ func ptrmapGet(tls *libc.TLS, pBt uintptr, key Pgno, pEType uintptr, pPgno uintp Xsqlite3PagerUnref(tls, *(*uintptr)(unsafe.Pointer(bp /* pDbPage */))) if int32(*(*U8)(unsafe.Pointer(pEType))) < 1 || int32(*(*U8)(unsafe.Pointer(pEType))) > 5 { - return Xsqlite3CorruptError(tls, 67226) + return Xsqlite3CorruptError(tls, 67236) } return SQLITE_OK } @@ -57351,7 +57380,7 @@ func ptrmapGet(tls *libc.TLS, pBt uintptr, key Pgno, pEType uintptr, pPgno uintp // btreeParseCellPtrIndex() for the case when the cell does not fit entirely // on a single B-tree page. Make necessary adjustments to the CellInfo // structure. -func btreeParseCellAdjustSizeForOverflow(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintptr) { /* sqlite3.c:67258:29: */ +func btreeParseCellAdjustSizeForOverflow(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintptr) { /* sqlite3.c:67268:29: */ // If the payload will not fit completely on the local page, we have // to decide how much to store locally and how much to spill onto // overflow pages. The strategy is to minimize the amount of unused @@ -57378,7 +57407,7 @@ func btreeParseCellAdjustSizeForOverflow(tls *libc.TLS, pPage uintptr, pCell uin // Given a record with nPayload bytes of payload stored within btree // page pPage, return the number of bytes of payload stored locally. -func btreePayloadToLocal(tls *libc.TLS, pPage uintptr, nPayload I64) int32 { /* sqlite3.c:67293:12: */ +func btreePayloadToLocal(tls *libc.TLS, pPage uintptr, nPayload I64) int32 { /* sqlite3.c:67303:12: */ var maxLocal int32 // Maximum amount of payload held locally maxLocal = int32((*MemPage)(unsafe.Pointer(pPage)).FmaxLocal) if nPayload <= I64(maxLocal) { @@ -57408,7 +57437,7 @@ func btreePayloadToLocal(tls *libc.TLS, pPage uintptr, nPayload I64) int32 { /* // There is also a wrapper function btreeParseCell() that works for // all MemPage types and that references the cell by index rather than // by pointer. -func btreeParseCellPtrNoPayload(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintptr) { /* sqlite3.c:67321:13: */ +func btreeParseCellPtrNoPayload(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintptr) { /* sqlite3.c:67331:13: */ _ = pPage (*CellInfo)(unsafe.Pointer(pInfo)).FnSize = U16(4 + int32(Xsqlite3GetVarint(tls, pCell+4, pInfo))) @@ -57418,7 +57447,7 @@ func btreeParseCellPtrNoPayload(tls *libc.TLS, pPage uintptr, pCell uintptr, pIn return } -func btreeParseCellPtr(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintptr) { /* sqlite3.c:67338:13: */ +func btreeParseCellPtr(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintptr) { /* sqlite3.c:67348:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -57495,7 +57524,7 @@ func btreeParseCellPtr(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintpt } } -func btreeParseCellPtrIndex(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintptr) { /* sqlite3.c:67420:13: */ +func btreeParseCellPtrIndex(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintptr) { /* sqlite3.c:67430:13: */ var pIter uintptr // For scanning through pCell var nPayload U32 // Number of bytes of cell payload @@ -57526,7 +57555,7 @@ func btreeParseCellPtrIndex(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo u } } -func btreeParseCell(tls *libc.TLS, pPage uintptr, iCell int32, pInfo uintptr) { /* sqlite3.c:67457:13: */ +func btreeParseCell(tls *libc.TLS, pPage uintptr, iCell int32, pInfo uintptr) { /* sqlite3.c:67467:13: */ (*struct { f func(*libc.TLS, uintptr, uintptr, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*MemPage)(unsafe.Pointer(pPage)).FxParseCell})).f(tls, pPage, (*MemPage)(unsafe.Pointer(pPage)).FaData+uintptr(int32((*MemPage)(unsafe.Pointer(pPage)).FmaskPage)&(int32(*(*U8)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPage)).FaCellIdx + uintptr(2*iCell))))<<8|int32(*(*U8)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPage)).FaCellIdx + uintptr(2*iCell) + 1))))), pInfo) @@ -57542,7 +57571,7 @@ func btreeParseCell(tls *libc.TLS, pPage uintptr, iCell int32, pInfo uintptr) { // // cellSizePtrNoPayload() => table internal nodes // cellSizePtr() => all index nodes & table leaf nodes -func cellSizePtr(tls *libc.TLS, pPage uintptr, pCell uintptr) U16 { /* sqlite3.c:67477:12: */ +func cellSizePtr(tls *libc.TLS, pPage uintptr, pCell uintptr) U16 { /* sqlite3.c:67487:12: */ var pIter uintptr = pCell + uintptr((*MemPage)(unsafe.Pointer(pPage)).FchildPtrSize) // For looping over bytes of pCell var pEnd uintptr // End mark for a varint var nSize U32 // Size value to return @@ -57583,7 +57612,7 @@ func cellSizePtr(tls *libc.TLS, pPage uintptr, pCell uintptr) U16 { /* sqlite3.c return U16(nSize) } -func cellSizePtrNoPayload(tls *libc.TLS, pPage uintptr, pCell uintptr) U16 { /* sqlite3.c:67525:12: */ +func cellSizePtrNoPayload(tls *libc.TLS, pPage uintptr, pCell uintptr) U16 { /* sqlite3.c:67535:12: */ var pIter uintptr = pCell + uintptr(4) // For looping over bytes of pCell var pEnd uintptr // End mark for a varint @@ -57600,7 +57629,7 @@ func cellSizePtrNoPayload(tls *libc.TLS, pPage uintptr, pCell uintptr) U16 { /* // of pPage. (pSrc and pPager are often the same.) If pCell contains a // pointer to an overflow page, insert an entry into the pointer-map for // the overflow page that will be valid after pCell has been moved to pPage. -func ptrmapPutOvflPtr(tls *libc.TLS, pPage uintptr, pSrc uintptr, pCell uintptr, pRC uintptr) { /* sqlite3.c:67563:13: */ +func ptrmapPutOvflPtr(tls *libc.TLS, pPage uintptr, pSrc uintptr, pCell uintptr, pRC uintptr) { /* sqlite3.c:67573:13: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -57617,7 +57646,7 @@ func ptrmapPutOvflPtr(tls *libc.TLS, pPage uintptr, pSrc uintptr, pCell uintptr, var ovfl Pgno if Uptr((*MemPage)(unsafe.Pointer(pSrc)).FaDataEnd) >= Uptr(pCell) && Uptr((*MemPage)(unsafe.Pointer(pSrc)).FaDataEnd) < Uptr(pCell+uintptr((*CellInfo)(unsafe.Pointer(bp)).FnLocal)) { - *(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 67572) + *(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 67582) return } ovfl = Xsqlite3Get4byte(tls, pCell+uintptr(int32((*CellInfo)(unsafe.Pointer(bp)).FnSize)-4)) @@ -57635,7 +57664,7 @@ func ptrmapPutOvflPtr(tls *libc.TLS, pPage uintptr, pSrc uintptr, pCell uintptr, // b-tree page so that there are no freeblocks or fragment bytes, all // unused bytes are contained in the unallocated space region, and all // cells are packed tightly at the end of the page. -func defragmentPage(tls *libc.TLS, pPage uintptr, nMaxFrag int32) int32 { /* sqlite3.c:67594:12: */ +func defragmentPage(tls *libc.TLS, pPage uintptr, nMaxFrag int32) int32 { /* sqlite3.c:67604:12: */ var i int32 // Loop counter var pc int32 // Address of the i-th cell var hdr int32 // Offset to the page header @@ -57680,7 +57709,7 @@ func defragmentPage(tls *libc.TLS, pPage uintptr, nMaxFrag int32) int32 { /* sql if !(iFree > usableSize-4) { goto __2 } - return Xsqlite3CorruptError(tls, 67631) + return Xsqlite3CorruptError(tls, 67641) __2: ; if !(iFree != 0) { @@ -57690,7 +57719,7 @@ __2: if !(iFree2 > usableSize-4) { goto __4 } - return Xsqlite3CorruptError(tls, 67634) + return Xsqlite3CorruptError(tls, 67644) __4: ; if !(0 == iFree2 || int32(*(*uint8)(unsafe.Pointer(data + uintptr(iFree2)))) == 0 && int32(*(*uint8)(unsafe.Pointer(data + uintptr(iFree2+1)))) == 0) { @@ -57703,7 +57732,7 @@ __4: if !(top >= iFree) { goto __6 } - return Xsqlite3CorruptError(tls, 67642) + return Xsqlite3CorruptError(tls, 67652) __6: ; if !(iFree2 != 0) { @@ -57712,14 +57741,14 @@ __6: if !(iFree+sz > iFree2) { goto __9 } - return Xsqlite3CorruptError(tls, 67645) + return Xsqlite3CorruptError(tls, 67655) __9: ; sz2 = int32(*(*uint8)(unsafe.Pointer(data + uintptr(iFree2+2))))<<8 | int32(*(*uint8)(unsafe.Pointer(data + uintptr(iFree2+2) + 1))) if !(iFree2+sz2 > usableSize) { goto __10 } - return Xsqlite3CorruptError(tls, 67647) + return Xsqlite3CorruptError(tls, 67657) __10: ; libc.X__builtin___memmove_chk(tls, data+uintptr(iFree+sz+sz2), data+uintptr(iFree+sz), uint64(iFree2-(iFree+sz)), libc.X__builtin_object_size(tls, data+uintptr(iFree+sz+sz2), 0)) @@ -57729,7 +57758,7 @@ __7: if !(iFree+sz > usableSize) { goto __11 } - return Xsqlite3CorruptError(tls, 67651) + return Xsqlite3CorruptError(tls, 67661) __11: ; __8: @@ -57791,7 +57820,7 @@ __18: if !(pc < iCellStart || pc > iCellLast) { goto __21 } - return Xsqlite3CorruptError(tls, 67680) + return Xsqlite3CorruptError(tls, 67690) __21: ; @@ -57802,7 +57831,7 @@ __21: if !(cbrk < iCellStart || pc+size > usableSize) { goto __22 } - return Xsqlite3CorruptError(tls, 67686) + return Xsqlite3CorruptError(tls, 67696) __22: ; @@ -57837,7 +57866,7 @@ defragment_out: if !(int32(*(*uint8)(unsafe.Pointer(data + uintptr(hdr+7))))+cbrk-iCellFirst != (*MemPage)(unsafe.Pointer(pPage)).FnFree) { goto __25 } - return Xsqlite3CorruptError(tls, 67705) + return Xsqlite3CorruptError(tls, 67715) __25: ; @@ -57862,7 +57891,7 @@ __25: // Slots on the free list that are between 1 and 3 bytes larger than nByte // will be ignored if adding the extra space to the fragmentation count // causes the fragmentation count to exceed 60. -func pageFindSlot(tls *libc.TLS, pPg uintptr, nByte int32, pRc uintptr) uintptr { /* sqlite3.c:67730:11: */ +func pageFindSlot(tls *libc.TLS, pPg uintptr, nByte int32, pRc uintptr) uintptr { /* sqlite3.c:67740:11: */ var hdr int32 = int32((*MemPage)(unsafe.Pointer(pPg)).FhdrOffset) // Offset to page header var aData uintptr = (*MemPage)(unsafe.Pointer(pPg)).FaData // Page data var iAddr int32 = hdr + 1 // Address of ptr to pc @@ -57891,7 +57920,7 @@ func pageFindSlot(tls *libc.TLS, pPg uintptr, nByte int32, pRc uintptr) uintptr *(*U8)(unsafe.Pointer(aData + uintptr(hdr+7))) += U8(int32(U8(x))) } else if x+pc > maxPC { // This slot extends off the end of the usable part of the page - *(*int32)(unsafe.Pointer(pRc)) = Xsqlite3CorruptError(tls, 67759) + *(*int32)(unsafe.Pointer(pRc)) = Xsqlite3CorruptError(tls, 67769) return uintptr(0) } else { // The slot remains on the free-list. Reduce its size to account @@ -57906,14 +57935,14 @@ func pageFindSlot(tls *libc.TLS, pPg uintptr, nByte int32, pRc uintptr) uintptr if pc <= iAddr+size { if pc != 0 { // The next slot in the chain is not past the end of the current slot - *(*int32)(unsafe.Pointer(pRc)) = Xsqlite3CorruptError(tls, 67773) + *(*int32)(unsafe.Pointer(pRc)) = Xsqlite3CorruptError(tls, 67783) } return uintptr(0) } } if pc > maxPC+nByte-4 { // The free slot chain extends off the end of the page - *(*int32)(unsafe.Pointer(pRc)) = Xsqlite3CorruptError(tls, 67780) + *(*int32)(unsafe.Pointer(pRc)) = Xsqlite3CorruptError(tls, 67790) } return uintptr(0) } @@ -57929,7 +57958,7 @@ func pageFindSlot(tls *libc.TLS, pPg uintptr, nByte int32, pRc uintptr) uintptr // the first two bytes past the cell pointer area since presumably this // allocation is being made in order to insert a new cell, so we will // also end up needing a new cell pointer. -func allocateSpace(tls *libc.TLS, pPage uintptr, nByte int32, pIdx uintptr) int32 { /* sqlite3.c:67798:12: */ +func allocateSpace(tls *libc.TLS, pPage uintptr, nByte int32, pIdx uintptr) int32 { /* sqlite3.c:67808:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -57954,7 +57983,7 @@ func allocateSpace(tls *libc.TLS, pPage uintptr, nByte int32, pIdx uintptr) int3 if top == 0 && (*BtShared)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize == U32(65536) { top = 65536 } else { - return Xsqlite3CorruptError(tls, 67827) + return Xsqlite3CorruptError(tls, 67837) } } @@ -57969,7 +57998,7 @@ func allocateSpace(tls *libc.TLS, pPage uintptr, nByte int32, pIdx uintptr) int3 *(*int32)(unsafe.Pointer(pIdx)) = libc.AssignInt32(&g2, int32((int64(pSpace)-int64(data))/1)) if g2 <= gap { - return Xsqlite3CorruptError(tls, 67845) + return Xsqlite3CorruptError(tls, 67855) } else { return SQLITE_OK } @@ -58020,7 +58049,7 @@ func allocateSpace(tls *libc.TLS, pPage uintptr, nByte int32, pIdx uintptr) int3 // does it detect cells or freeblocks that encrouch into the reserved bytes // at the end of the page. So do additional corruption checks inside this // routine and return SQLITE_CORRUPT if any problems are found. -func freeSpace(tls *libc.TLS, pPage uintptr, iStart U16, iSize U16) int32 { /* sqlite3.c:67894:12: */ +func freeSpace(tls *libc.TLS, pPage uintptr, iStart U16, iSize U16) int32 { /* sqlite3.c:67904:12: */ var iPtr U16 // Address of ptr to next freeblock var iFreeBlk U16 // Address of the next freeblock var hdr U8 // Page header size. 0 or 100 @@ -58044,12 +58073,12 @@ func freeSpace(tls *libc.TLS, pPage uintptr, iStart U16, iSize U16) int32 { /* s if int32(iFreeBlk) == 0 { break } // TH3: corrupt082.100 - return Xsqlite3CorruptError(tls, 67923) + return Xsqlite3CorruptError(tls, 67933) } iPtr = iFreeBlk } if U32(iFreeBlk) > (*BtShared)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize-U32(4) { // TH3: corrupt081.100 - return Xsqlite3CorruptError(tls, 67928) + return Xsqlite3CorruptError(tls, 67938) } // At this point: @@ -58060,11 +58089,11 @@ func freeSpace(tls *libc.TLS, pPage uintptr, iStart U16, iSize U16) int32 { /* s if iFreeBlk != 0 && iEnd+U32(3) >= U32(iFreeBlk) { nFrag = U8(U32(iFreeBlk) - iEnd) if iEnd > U32(iFreeBlk) { - return Xsqlite3CorruptError(tls, 67940) + return Xsqlite3CorruptError(tls, 67950) } iEnd = U32(int32(iFreeBlk) + (int32(*(*uint8)(unsafe.Pointer(data + uintptr(int32(iFreeBlk)+2))))<<8 | int32(*(*uint8)(unsafe.Pointer(data + uintptr(int32(iFreeBlk)+2) + 1))))) if iEnd > (*BtShared)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize { - return Xsqlite3CorruptError(tls, 67943) + return Xsqlite3CorruptError(tls, 67953) } iSize = U16(iEnd - U32(iStart)) iFreeBlk = U16(int32(*(*uint8)(unsafe.Pointer(data + uintptr(iFreeBlk))))<<8 | int32(*(*uint8)(unsafe.Pointer(data + uintptr(iFreeBlk) + 1)))) @@ -58077,7 +58106,7 @@ func freeSpace(tls *libc.TLS, pPage uintptr, iStart U16, iSize U16) int32 { /* s var iPtrEnd int32 = int32(iPtr) + (int32(*(*uint8)(unsafe.Pointer(data + uintptr(int32(iPtr)+2))))<<8 | int32(*(*uint8)(unsafe.Pointer(data + uintptr(int32(iPtr)+2) + 1)))) if iPtrEnd+3 >= int32(iStart) { if iPtrEnd > int32(iStart) { - return Xsqlite3CorruptError(tls, 67956) + return Xsqlite3CorruptError(tls, 67966) } nFrag = U8(int32(nFrag) + (int32(iStart) - iPtrEnd)) iSize = U16(iEnd - U32(iPtr)) @@ -58085,7 +58114,7 @@ func freeSpace(tls *libc.TLS, pPage uintptr, iStart U16, iSize U16) int32 { /* s } } if int32(nFrag) > int32(*(*uint8)(unsafe.Pointer(data + uintptr(int32(hdr)+7)))) { - return Xsqlite3CorruptError(tls, 67962) + return Xsqlite3CorruptError(tls, 67972) } *(*uint8)(unsafe.Pointer(data + uintptr(int32(hdr)+7))) -= uint8(int32(nFrag)) } @@ -58095,10 +58124,10 @@ func freeSpace(tls *libc.TLS, pPage uintptr, iStart U16, iSize U16) int32 { /* s // so just extend the cell content area rather than create another // freelist entry if int32(iStart) < int32(x) { - return Xsqlite3CorruptError(tls, 67970) + return Xsqlite3CorruptError(tls, 67980) } if int32(iPtr) != int32(hdr)+1 { - return Xsqlite3CorruptError(tls, 67971) + return Xsqlite3CorruptError(tls, 67981) } *(*uint8)(unsafe.Pointer(data + uintptr(int32(hdr)+1))) = U8(int32(iFreeBlk) >> 8) *(*uint8)(unsafe.Pointer(data + uintptr(int32(hdr)+1) + 1)) = U8(iFreeBlk) @@ -58132,7 +58161,7 @@ func freeSpace(tls *libc.TLS, pPage uintptr, iStart U16, iSize U16) int32 { /* s // PTF_ZERODATA | PTF_LEAF // PTF_LEAFDATA | PTF_INTKEY // PTF_LEAFDATA | PTF_INTKEY | PTF_LEAF -func decodeFlags(tls *libc.TLS, pPage uintptr, flagByte int32) int32 { /* sqlite3.c:68001:12: */ +func decodeFlags(tls *libc.TLS, pPage uintptr, flagByte int32) int32 { /* sqlite3.c:68011:12: */ var pBt uintptr // A copy of pPage->pBt (*MemPage)(unsafe.Pointer(pPage)).Fleaf = U8(flagByte >> 3) @@ -58183,7 +58212,7 @@ func decodeFlags(tls *libc.TLS, pPage uintptr, flagByte int32) int32 { /* sqlite } else { // EVIDENCE-OF: R-47608-56469 Any other value for the b-tree page type is // an error. - return Xsqlite3CorruptError(tls, 68044) + return Xsqlite3CorruptError(tls, 68054) } (*MemPage)(unsafe.Pointer(pPage)).Fmax1bytePayload = (*BtShared)(unsafe.Pointer(pBt)).Fmax1bytePayload return SQLITE_OK @@ -58191,7 +58220,7 @@ func decodeFlags(tls *libc.TLS, pPage uintptr, flagByte int32) int32 { /* sqlite // Compute the amount of freespace on the page. In other words, fill // in the pPage->nFree field. -func btreeComputeFreeSpace(tls *libc.TLS, pPage uintptr) int32 { /* sqlite3.c:68054:12: */ +func btreeComputeFreeSpace(tls *libc.TLS, pPage uintptr) int32 { /* sqlite3.c:68064:12: */ var pc int32 // Address of a freeblock within pPage->aData[] var hdr U8 // Offset to beginning of page header var data uintptr // Equal to pPage->aData @@ -58223,12 +58252,12 @@ func btreeComputeFreeSpace(tls *libc.TLS, pPage uintptr) int32 { /* sqlite3.c:68 if pc < top { // 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 Xsqlite3CorruptError(tls, 68095) + return Xsqlite3CorruptError(tls, 68105) } for 1 != 0 { if pc > iCellLast { // Freeblock off the end of the page - return Xsqlite3CorruptError(tls, 68100) + return Xsqlite3CorruptError(tls, 68110) } next = U32(int32(*(*U8)(unsafe.Pointer(data + uintptr(pc))))<<8 | int32(*(*U8)(unsafe.Pointer(data + uintptr(pc) + 1)))) size = U32(int32(*(*U8)(unsafe.Pointer(data + uintptr(pc+2))))<<8 | int32(*(*U8)(unsafe.Pointer(data + uintptr(pc+2) + 1)))) @@ -58240,11 +58269,11 @@ func btreeComputeFreeSpace(tls *libc.TLS, pPage uintptr) int32 { /* sqlite3.c:68 } if next > U32(0) { // Freeblock not in ascending order - return Xsqlite3CorruptError(tls, 68110) + return Xsqlite3CorruptError(tls, 68120) } if U32(pc)+size > uint32(usableSize) { // Last freeblock extends past page end - return Xsqlite3CorruptError(tls, 68114) + return Xsqlite3CorruptError(tls, 68124) } } @@ -58255,7 +58284,7 @@ func btreeComputeFreeSpace(tls *libc.TLS, pPage uintptr) int32 { /* sqlite3.c:68 // serves to verify that the offset to the start of the cell-content // area, according to the page header, lies within the page. if nFree > usableSize || nFree < iCellFirst { - return Xsqlite3CorruptError(tls, 68126) + return Xsqlite3CorruptError(tls, 68136) } (*MemPage)(unsafe.Pointer(pPage)).FnFree = int32(U16(nFree - iCellFirst)) return SQLITE_OK @@ -58263,7 +58292,7 @@ func btreeComputeFreeSpace(tls *libc.TLS, pPage uintptr) int32 { /* sqlite3.c:68 // Do additional sanity check after btreeInitPage() if // PRAGMA cell_size_check=ON -func btreeCellSizeCheck(tls *libc.TLS, pPage uintptr) int32 { /* sqlite3.c:68136:28: */ +func btreeCellSizeCheck(tls *libc.TLS, pPage uintptr) int32 { /* sqlite3.c:68146:28: */ var iCellFirst int32 // First allowable cell or freeblock offset var iCellLast int32 // Last possible cell or freeblock offset var i int32 // Index into the cell pointer array @@ -58285,14 +58314,14 @@ func btreeCellSizeCheck(tls *libc.TLS, pPage uintptr) int32 { /* sqlite3.c:68136 pc = int32(*(*U8)(unsafe.Pointer(data + uintptr(cellOffset+i*2))))<<8 | int32(*(*U8)(unsafe.Pointer(data + uintptr(cellOffset+i*2) + 1))) if pc < iCellFirst || pc > iCellLast { - return Xsqlite3CorruptError(tls, 68157) + return Xsqlite3CorruptError(tls, 68167) } sz = int32((*struct { f func(*libc.TLS, uintptr, uintptr) U16 })(unsafe.Pointer(&struct{ uintptr }{(*MemPage)(unsafe.Pointer(pPage)).FxCellSize})).f(tls, pPage, data+uintptr(pc))) if pc+sz > usableSize { - return Xsqlite3CorruptError(tls, 68162) + return Xsqlite3CorruptError(tls, 68172) } } return SQLITE_OK @@ -58305,7 +58334,7 @@ func btreeCellSizeCheck(tls *libc.TLS, pPage uintptr) int32 { /* sqlite3.c:68136 // SQLITE_CORRUPT. Note that a return of SQLITE_OK does not // guarantee that the page is well-formed. It only shows that // we failed to detect any corruption. -func btreeInitPage(tls *libc.TLS, pPage uintptr) int32 { /* sqlite3.c:68177:12: */ +func btreeInitPage(tls *libc.TLS, pPage uintptr) int32 { /* sqlite3.c:68187:12: */ var data uintptr // Equal to pPage->aData var pBt uintptr // The main btree structure @@ -58314,7 +58343,7 @@ func btreeInitPage(tls *libc.TLS, pPage uintptr) int32 { /* sqlite3.c:68177:12: // EVIDENCE-OF: R-28594-02890 The one-byte flag at offset 0 indicating // the b-tree page type. if decodeFlags(tls, pPage, int32(*(*U8)(unsafe.Pointer(data)))) != 0 { - return Xsqlite3CorruptError(tls, 68194) + return Xsqlite3CorruptError(tls, 68204) } (*MemPage)(unsafe.Pointer(pPage)).FmaskPage = U16((*BtShared)(unsafe.Pointer(pBt)).FpageSize - U32(1)) @@ -58328,7 +58357,7 @@ func btreeInitPage(tls *libc.TLS, pPage uintptr) int32 { /* sqlite3.c:68177:12: (*MemPage)(unsafe.Pointer(pPage)).FnCell = U16(int32(*(*U8)(unsafe.Pointer(data + 3)))<<8 | int32(*(*U8)(unsafe.Pointer(data + 3 + 1)))) if U32((*MemPage)(unsafe.Pointer(pPage)).FnCell) > ((*BtShared)(unsafe.Pointer(pBt)).FpageSize-U32(8))/U32(6) { // To many cells for a single page. The page must be corrupt - return Xsqlite3CorruptError(tls, 68208) + return Xsqlite3CorruptError(tls, 68218) } // EVIDENCE-OF: R-24089-57979 If a page contains no cells (which is only @@ -58346,7 +58375,7 @@ func btreeInitPage(tls *libc.TLS, pPage uintptr) int32 { /* sqlite3.c:68177:12: // Set up a raw page so that it looks like a database page holding // no entries. -func zeroPage(tls *libc.TLS, pPage uintptr, flags int32) { /* sqlite3.c:68230:13: */ +func zeroPage(tls *libc.TLS, pPage uintptr, flags int32) { /* sqlite3.c:68240:13: */ var data uintptr = (*MemPage)(unsafe.Pointer(pPage)).FaData var pBt uintptr = (*MemPage)(unsafe.Pointer(pPage)).FpBt var hdr U8 = (*MemPage)(unsafe.Pointer(pPage)).FhdrOffset @@ -58381,7 +58410,7 @@ func zeroPage(tls *libc.TLS, pPage uintptr, flags int32) { /* sqlite3.c:68230:13 // Convert a DbPage obtained from the pager into a MemPage used by // the btree layer. -func btreePageFromDbPage(tls *libc.TLS, pDbPage uintptr, pgno Pgno, pBt uintptr) uintptr { /* sqlite3.c:68267:16: */ +func btreePageFromDbPage(tls *libc.TLS, pDbPage uintptr, pgno Pgno, pBt uintptr) uintptr { /* sqlite3.c:68277:16: */ var pPage uintptr = Xsqlite3PagerGetExtra(tls, pDbPage) if pgno != (*MemPage)(unsafe.Pointer(pPage)).Fpgno { (*MemPage)(unsafe.Pointer(pPage)).FaData = Xsqlite3PagerGetData(tls, pDbPage) @@ -58408,7 +58437,7 @@ func btreePageFromDbPage(tls *libc.TLS, pDbPage uintptr, pgno Pgno, pBt uintptr) // If in the future we call sqlite3PagerWrite() on this page, that // means we have started to be concerned about content and the disk // read should occur at that point. -func btreeGetPage(tls *libc.TLS, pBt uintptr, pgno Pgno, ppPage uintptr, flags int32) int32 { /* sqlite3.c:68291:12: */ +func btreeGetPage(tls *libc.TLS, pBt uintptr, pgno Pgno, ppPage uintptr, flags int32) int32 { /* sqlite3.c:68301:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -58426,7 +58455,7 @@ func btreeGetPage(tls *libc.TLS, pBt uintptr, pgno Pgno, ppPage uintptr, flags i // Retrieve a page from the pager cache. If the requested page is not // already in the pager cache return NULL. Initialize the MemPage.pBt and // MemPage.aData elements if needed. -func btreePageLookup(tls *libc.TLS, pBt uintptr, pgno Pgno) uintptr { /* sqlite3.c:68313:16: */ +func btreePageLookup(tls *libc.TLS, pBt uintptr, pgno Pgno) uintptr { /* sqlite3.c:68323:16: */ var pDbPage uintptr pDbPage = Xsqlite3PagerLookup(tls, (*BtShared)(unsafe.Pointer(pBt)).FpPager, pgno) @@ -58438,11 +58467,11 @@ func btreePageLookup(tls *libc.TLS, pBt uintptr, pgno Pgno) uintptr { /* sqlite3 // Return the size of the database file in pages. If there is any kind of // error, return ((unsigned int)-1). -func btreePagecount(tls *libc.TLS, pBt uintptr) Pgno { /* sqlite3.c:68327:13: */ +func btreePagecount(tls *libc.TLS, pBt uintptr) Pgno { /* sqlite3.c:68337:13: */ return (*BtShared)(unsafe.Pointer(pBt)).FnPage } -func Xsqlite3BtreeLastPage(tls *libc.TLS, p uintptr) Pgno { /* sqlite3.c:68330:21: */ +func Xsqlite3BtreeLastPage(tls *libc.TLS, p uintptr) Pgno { /* sqlite3.c:68340:21: */ return btreePagecount(tls, (*Btree)(unsafe.Pointer(p)).FpBt) } @@ -58458,7 +58487,7 @@ func Xsqlite3BtreeLastPage(tls *libc.TLS, p uintptr) Pgno { /* sqlite3.c:68330:2 // // If an error occurs, then *ppPage is undefined. It // may remain unchanged, or it may be set to an invalid value. -func getAndInitPage(tls *libc.TLS, pBt uintptr, pgno Pgno, ppPage uintptr, pCur uintptr, bReadOnly int32) int32 { /* sqlite3.c:68348:12: */ +func getAndInitPage(tls *libc.TLS, pBt uintptr, pgno Pgno, ppPage uintptr, pCur uintptr, bReadOnly int32) int32 { /* sqlite3.c:68358:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -58468,7 +58497,7 @@ func getAndInitPage(tls *libc.TLS, pBt uintptr, pgno Pgno, ppPage uintptr, pCur if !(pgno > btreePagecount(tls, pBt)) { goto __1 } - rc = Xsqlite3CorruptError(tls, 68363) + rc = Xsqlite3CorruptError(tls, 68373) goto getAndInitPage_error1 __1: ; @@ -58499,7 +58528,7 @@ __3: if !(pCur != 0 && (int32((*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(ppPage)))).FnCell) < 1 || int32((*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(ppPage)))).FintKey) != int32((*BtCursor)(unsafe.Pointer(pCur)).FcurIntKey))) { goto __5 } - rc = Xsqlite3CorruptError(tls, 68384) + rc = Xsqlite3CorruptError(tls, 68394) goto getAndInitPage_error2 __5: ; @@ -58523,18 +58552,18 @@ __6: // call to btreeGetPage. // // Page1 is a special case and must be released using releasePageOne(). -func releasePageNotNull(tls *libc.TLS, pPage uintptr) { /* sqlite3.c:68407:13: */ +func releasePageNotNull(tls *libc.TLS, pPage uintptr) { /* sqlite3.c:68417:13: */ Xsqlite3PagerUnrefNotNull(tls, (*MemPage)(unsafe.Pointer(pPage)).FpDbPage) } -func releasePage(tls *libc.TLS, pPage uintptr) { /* sqlite3.c:68416:13: */ +func releasePage(tls *libc.TLS, pPage uintptr) { /* sqlite3.c:68426:13: */ if pPage != 0 { releasePageNotNull(tls, pPage) } } -func releasePageOne(tls *libc.TLS, pPage uintptr) { /* sqlite3.c:68419:13: */ +func releasePageOne(tls *libc.TLS, pPage uintptr) { /* sqlite3.c:68429:13: */ Xsqlite3PagerUnrefPageOne(tls, (*MemPage)(unsafe.Pointer(pPage)).FpDbPage) } @@ -58546,13 +58575,13 @@ func releasePageOne(tls *libc.TLS, pPage uintptr) { /* sqlite3.c:68419:13: */ // * If the page is already in use for some other purpose, immediately // release it and return an SQLITE_CURRUPT error. // * Make sure the isInit flag is clear -func btreeGetUnusedPage(tls *libc.TLS, pBt uintptr, pgno Pgno, ppPage uintptr, flags int32) int32 { /* sqlite3.c:68439:12: */ +func btreeGetUnusedPage(tls *libc.TLS, pBt uintptr, pgno Pgno, ppPage uintptr, flags int32) int32 { /* sqlite3.c:68449:12: */ var rc int32 = btreeGetPage(tls, pBt, pgno, ppPage, flags) if rc == SQLITE_OK { if Xsqlite3PagerPageRefcount(tls, (*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(ppPage)))).FpDbPage) > 1 { releasePage(tls, *(*uintptr)(unsafe.Pointer(ppPage))) *(*uintptr)(unsafe.Pointer(ppPage)) = uintptr(0) - return Xsqlite3CorruptError(tls, 68450) + return Xsqlite3CorruptError(tls, 68460) } (*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(ppPage)))).FisInit = U8(0) } else { @@ -58567,7 +58596,7 @@ func btreeGetUnusedPage(tls *libc.TLS, pBt uintptr, pgno Pgno, ppPage uintptr, f // // This routine needs to reset the extra data section at the end of the // page to agree with the restored data. -func pageReinit(tls *libc.TLS, pData uintptr) { /* sqlite3.c:68468:13: */ +func pageReinit(tls *libc.TLS, pData uintptr) { /* sqlite3.c:68478:13: */ var pPage uintptr pPage = Xsqlite3PagerGetExtra(tls, pData) @@ -58587,7 +58616,7 @@ func pageReinit(tls *libc.TLS, pData uintptr) { /* sqlite3.c:68468:13: */ } // Invoke the busy handler for a btree. -func btreeInvokeBusyHandler(tls *libc.TLS, pArg uintptr) int32 { /* sqlite3.c:68490:12: */ +func btreeInvokeBusyHandler(tls *libc.TLS, pArg uintptr) int32 { /* sqlite3.c:68500:12: */ var pBt uintptr = pArg return Xsqlite3InvokeBusyHandler(tls, (*BtShared)(unsafe.Pointer(pBt)).Fdb+664) @@ -58612,7 +58641,7 @@ func btreeInvokeBusyHandler(tls *libc.TLS, pArg uintptr) int32 { /* sqlite3.c:68 // SQLITE_CONSTRAINT error. We cannot allow two or more BtShared // objects in the same database connection since doing so will lead // to problems with locking. -func Xsqlite3BtreeOpen(tls *libc.TLS, pVfs uintptr, zFilename uintptr, db uintptr, ppBtree uintptr, flags int32, vfsFlags int32) int32 { /* sqlite3.c:68518:20: */ +func Xsqlite3BtreeOpen(tls *libc.TLS, pVfs uintptr, zFilename uintptr, db uintptr, ppBtree uintptr, flags int32, vfsFlags int32) int32 { /* sqlite3.c:68528:20: */ bp := tls.Alloc(100) defer tls.Free(100) @@ -59033,7 +59062,7 @@ __49: // remove the BtShared structure from the sharing list. Return // true if the BtShared.nRef counter reaches zero and return // false if it is still positive. -func removeFromSharingList(tls *libc.TLS, pBt uintptr) int32 { /* sqlite3.c:68816:12: */ +func removeFromSharingList(tls *libc.TLS, pBt uintptr) int32 { /* sqlite3.c:68826:12: */ var pMainMtx uintptr var pList uintptr var removed int32 = 0 @@ -59065,7 +59094,7 @@ func removeFromSharingList(tls *libc.TLS, pBt uintptr) int32 { /* sqlite3.c:6881 // Make sure pBt->pTmpSpace points to an allocation of // MX_CELL_SIZE(pBt) bytes with a 4-byte prefix for a left-child // pointer. -func allocateTempSpace(tls *libc.TLS, pBt uintptr) int32 { /* sqlite3.c:68855:28: */ +func allocateTempSpace(tls *libc.TLS, pBt uintptr) int32 { /* sqlite3.c:68865:28: */ // This routine is called only by btreeCursor() when allocating the // first write cursor for the BtShared object @@ -59098,7 +59127,7 @@ func allocateTempSpace(tls *libc.TLS, pBt uintptr) int32 { /* sqlite3.c:68855:28 } // Free the pBt->pTmpSpace allocation -func freeTempSpace(tls *libc.TLS, pBt uintptr) { /* sqlite3.c:68892:13: */ +func freeTempSpace(tls *libc.TLS, pBt uintptr) { /* sqlite3.c:68902:13: */ if (*BtShared)(unsafe.Pointer(pBt)).FpTmpSpace != 0 { *(*uintptr)(unsafe.Pointer(pBt + 136)) -= uintptr(4) Xsqlite3PageFree(tls, (*BtShared)(unsafe.Pointer(pBt)).FpTmpSpace) @@ -59107,7 +59136,7 @@ func freeTempSpace(tls *libc.TLS, pBt uintptr) { /* sqlite3.c:68892:13: */ } // Close an open database and invalidate all cursors. -func Xsqlite3BtreeClose(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:68903:20: */ +func Xsqlite3BtreeClose(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:68913:20: */ var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt // Close all cursors opened via this handle. @@ -59157,7 +59186,7 @@ func Xsqlite3BtreeClose(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:68903:20: // pages in the cache exceeds this soft limit. But the size of the // cache is allowed to grow larger than this limit if it contains // dirty pages or pages still in active use. -func Xsqlite3BtreeSetCacheSize(tls *libc.TLS, p uintptr, mxPage int32) int32 { /* sqlite3.c:68969:20: */ +func Xsqlite3BtreeSetCacheSize(tls *libc.TLS, p uintptr, mxPage int32) int32 { /* sqlite3.c:68979:20: */ var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt Xsqlite3BtreeEnter(tls, p) @@ -59174,7 +59203,7 @@ func Xsqlite3BtreeSetCacheSize(tls *libc.TLS, p uintptr, mxPage int32) int32 { / // The value returned is the current spill size. If zero is passed // as an argument, no changes are made to the spill size setting, so // using mxPage of 0 is a way to query the current spill size. -func Xsqlite3BtreeSetSpillSize(tls *libc.TLS, p uintptr, mxPage int32) int32 { /* sqlite3.c:68988:20: */ +func Xsqlite3BtreeSetSpillSize(tls *libc.TLS, p uintptr, mxPage int32) int32 { /* sqlite3.c:68998:20: */ var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt var res int32 @@ -59186,7 +59215,7 @@ func Xsqlite3BtreeSetSpillSize(tls *libc.TLS, p uintptr, mxPage int32) int32 { / // Change the limit on the amount of the database file that may be // memory mapped. -func Xsqlite3BtreeSetMmapLimit(tls *libc.TLS, p uintptr, szMmap Sqlite3_int64) int32 { /* sqlite3.c:69003:20: */ +func Xsqlite3BtreeSetMmapLimit(tls *libc.TLS, p uintptr, szMmap Sqlite3_int64) int32 { /* sqlite3.c:69013:20: */ var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt Xsqlite3BtreeEnter(tls, p) @@ -59201,7 +59230,7 @@ func Xsqlite3BtreeSetMmapLimit(tls *libc.TLS, p uintptr, szMmap Sqlite3_int64) i // there is a high probability of damage) Level 2 is the default. There // is a very low but non-zero probability of damage. Level 3 reduces the // probability of damage to near zero but with a write performance reduction. -func Xsqlite3BtreeSetPagerFlags(tls *libc.TLS, p uintptr, pgFlags uint32) int32 { /* sqlite3.c:69022:20: */ +func Xsqlite3BtreeSetPagerFlags(tls *libc.TLS, p uintptr, pgFlags uint32) int32 { /* sqlite3.c:69032:20: */ var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt Xsqlite3BtreeEnter(tls, p) @@ -59228,7 +59257,7 @@ func Xsqlite3BtreeSetPagerFlags(tls *libc.TLS, p uintptr, pgFlags uint32) int32 // // If the iFix!=0 then the BTS_PAGESIZE_FIXED flag is set so that the page size // and autovacuum mode can no longer be changed. -func Xsqlite3BtreeSetPageSize(tls *libc.TLS, p uintptr, pageSize int32, nReserve int32, iFix int32) int32 { /* sqlite3.c:69055:20: */ +func Xsqlite3BtreeSetPageSize(tls *libc.TLS, p uintptr, pageSize int32, nReserve int32, iFix int32) int32 { /* sqlite3.c:69065:20: */ var rc int32 = SQLITE_OK var x int32 var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt @@ -59262,7 +59291,7 @@ func Xsqlite3BtreeSetPageSize(tls *libc.TLS, p uintptr, pageSize int32, nReserve } // Return the currently defined page size -func Xsqlite3BtreeGetPageSize(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:69087:20: */ +func Xsqlite3BtreeGetPageSize(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:69097:20: */ return int32((*BtShared)(unsafe.Pointer((*Btree)(unsafe.Pointer(p)).FpBt)).FpageSize) } @@ -59275,7 +59304,7 @@ func Xsqlite3BtreeGetPageSize(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:690 // database handle that owns *p is not. In this case if sqlite3BtreeEnter() // were to be called, it might collide with some other operation on the // database handle that owns *p, causing undefined behavior. -func Xsqlite3BtreeGetReserveNoMutex(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:69102:20: */ +func Xsqlite3BtreeGetReserveNoMutex(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:69112:20: */ var n int32 n = int32((*BtShared)(unsafe.Pointer((*Btree)(unsafe.Pointer(p)).FpBt)).FpageSize - (*BtShared)(unsafe.Pointer((*Btree)(unsafe.Pointer(p)).FpBt)).FusableSize) @@ -59289,7 +59318,7 @@ func Xsqlite3BtreeGetReserveNoMutex(tls *libc.TLS, p uintptr) int32 { /* sqlite3 // The value returned is the larger of the current reserve size and // the latest reserve size requested by SQLITE_FILECTRL_RESERVE_BYTES. // The amount of reserve can only grow - never shrink. -func Xsqlite3BtreeGetRequestedReserve(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:69118:20: */ +func Xsqlite3BtreeGetRequestedReserve(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:69128:20: */ var n1 int32 var n2 int32 Xsqlite3BtreeEnter(tls, p) @@ -59305,7 +59334,7 @@ func Xsqlite3BtreeGetRequestedReserve(tls *libc.TLS, p uintptr) int32 { /* sqlit // Set the maximum page count for a database if mxPage is positive. // No changes are made if mxPage is 0 or negative. // Regardless of the value of mxPage, return the maximum page count. -func Xsqlite3BtreeMaxPageCount(tls *libc.TLS, p uintptr, mxPage Pgno) Pgno { /* sqlite3.c:69133:21: */ +func Xsqlite3BtreeMaxPageCount(tls *libc.TLS, p uintptr, mxPage Pgno) Pgno { /* sqlite3.c:69143:21: */ var n Pgno Xsqlite3BtreeEnter(tls, p) n = Xsqlite3PagerMaxPageCount(tls, (*BtShared)(unsafe.Pointer((*Btree)(unsafe.Pointer(p)).FpBt)).FpPager, mxPage) @@ -59329,7 +59358,7 @@ func Xsqlite3BtreeMaxPageCount(tls *libc.TLS, p uintptr, mxPage Pgno) Pgno { /* // With BTS_SECURE_DELETE, operation is like BTS_OVERWRITE with the addition // that freelist leaf pages are written back into the database, increasing // the amount of disk I/O. -func Xsqlite3BtreeSecureDelete(tls *libc.TLS, p uintptr, newFlag int32) int32 { /* sqlite3.c:69159:20: */ +func Xsqlite3BtreeSecureDelete(tls *libc.TLS, p uintptr, newFlag int32) int32 { /* sqlite3.c:69169:20: */ var b int32 if p == uintptr(0) { return 0 @@ -59349,7 +59378,7 @@ func Xsqlite3BtreeSecureDelete(tls *libc.TLS, p uintptr, newFlag int32) int32 { // parameter is non-zero, then auto-vacuum mode is enabled. If zero, it // is disabled. The default value for the auto-vacuum property is // determined by the SQLITE_DEFAULT_AUTOVACUUM macro. -func Xsqlite3BtreeSetAutoVacuum(tls *libc.TLS, p uintptr, autoVacuum int32) int32 { /* sqlite3.c:69180:20: */ +func Xsqlite3BtreeSetAutoVacuum(tls *libc.TLS, p uintptr, autoVacuum int32) int32 { /* sqlite3.c:69190:20: */ var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt var rc int32 = SQLITE_OK var av U8 = U8(autoVacuum) @@ -59382,7 +59411,7 @@ func Xsqlite3BtreeSetAutoVacuum(tls *libc.TLS, p uintptr, autoVacuum int32) int3 // Return the value of the 'auto-vacuum' property. If auto-vacuum is // enabled 1 is returned. Otherwise 0. -func Xsqlite3BtreeGetAutoVacuum(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:69204:20: */ +func Xsqlite3BtreeGetAutoVacuum(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:69214:20: */ var rc int32 Xsqlite3BtreeEnter(tls, p) rc = func() int32 { @@ -59407,7 +59436,7 @@ func Xsqlite3BtreeGetAutoVacuum(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:6 // well-formed database file, then SQLITE_CORRUPT is returned. // SQLITE_BUSY is returned if the database is locked. SQLITE_NOMEM // is returned if we run out of memory. -func lockBtree(tls *libc.TLS, pBt uintptr) int32 { /* sqlite3.c:69260:12: */ +func lockBtree(tls *libc.TLS, pBt uintptr) int32 { /* sqlite3.c:69270:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -59576,7 +59605,7 @@ __16: if !(Xsqlite3WritableSchema(tls, (*BtShared)(unsafe.Pointer(pBt)).Fdb) == 0) { goto __18 } - rc = Xsqlite3CorruptError(tls, 69385) + rc = Xsqlite3CorruptError(tls, 69395) goto page1_init_failed goto __19 __18: @@ -59653,7 +59682,7 @@ page1_init_failed: // has the effect of releasing the read lock. // // If there is a transaction in progress, this routine is a no-op. -func unlockBtreeIfUnused(tls *libc.TLS, pBt uintptr) { /* sqlite3.c:69470:13: */ +func unlockBtreeIfUnused(tls *libc.TLS, pBt uintptr) { /* sqlite3.c:69480:13: */ if int32((*BtShared)(unsafe.Pointer(pBt)).FinTransaction) == TRANS_NONE && (*BtShared)(unsafe.Pointer(pBt)).FpPage1 != uintptr(0) { var pPage1 uintptr = (*BtShared)(unsafe.Pointer(pBt)).FpPage1 @@ -59666,7 +59695,7 @@ func unlockBtreeIfUnused(tls *libc.TLS, pBt uintptr) { /* sqlite3.c:69470:13: */ // If pBt points to an empty file then convert that empty file // into a new empty database by initializing the first page of // the database. -func newDatabase(tls *libc.TLS, pBt uintptr) int32 { /* sqlite3.c:69487:12: */ +func newDatabase(tls *libc.TLS, pBt uintptr) int32 { /* sqlite3.c:69497:12: */ var pP1 uintptr var data uintptr var rc int32 @@ -59706,7 +59735,7 @@ func newDatabase(tls *libc.TLS, pBt uintptr) int32 { /* sqlite3.c:69487:12: */ // Initialize the first page of the database file (creating a database // consisting of a single page and no schema objects). Return SQLITE_OK // if successful, or an SQLite error code otherwise. -func Xsqlite3BtreeNewDb(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:69531:20: */ +func Xsqlite3BtreeNewDb(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:69541:20: */ var rc int32 Xsqlite3BtreeEnter(tls, p) (*BtShared)(unsafe.Pointer((*Btree)(unsafe.Pointer(p)).FpBt)).FnPage = U32(0) @@ -59748,7 +59777,7 @@ func Xsqlite3BtreeNewDb(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:69531:20: // no progress. By returning SQLITE_BUSY and not invoking the busy callback // when A already has a read lock, we encourage A to give up and let B // proceed. -func Xsqlite3BtreeBeginTrans(tls *libc.TLS, p uintptr, wrflag int32, pSchemaVersion uintptr) int32 { /* sqlite3.c:69575:20: */ +func Xsqlite3BtreeBeginTrans(tls *libc.TLS, p uintptr, wrflag int32, pSchemaVersion uintptr) int32 { /* sqlite3.c:69585:20: */ var pBt uintptr var pPager uintptr var rc int32 @@ -60012,7 +60041,7 @@ __34: // Set the pointer-map entries for all children of page pPage. Also, if // pPage contains cells that point to overflow pages, set the pointer // map entries for the overflow pages as well. -func setChildPtrmaps(tls *libc.TLS, pPage uintptr) int32 { /* sqlite3.c:69755:12: */ +func setChildPtrmaps(tls *libc.TLS, pPage uintptr) int32 { /* sqlite3.c:69765:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -60064,14 +60093,14 @@ func setChildPtrmaps(tls *libc.TLS, pPage uintptr) int32 { /* sqlite3.c:69755:12 // // PTRMAP_OVERFLOW2: pPage is an overflow-page. The pointer points at the next // overflow page in the list. -func modifyPagePointer(tls *libc.TLS, pPage uintptr, iFrom Pgno, iTo Pgno, eType U8) int32 { /* sqlite3.c:69800:12: */ +func modifyPagePointer(tls *libc.TLS, pPage uintptr, iFrom Pgno, iTo Pgno, eType U8) int32 { /* sqlite3.c:69810:12: */ bp := tls.Alloc(24) defer tls.Free(24) if int32(eType) == PTRMAP_OVERFLOW2 { // The pointer is always the first 4 bytes of the page in this case. if Xsqlite3Get4byte(tls, (*MemPage)(unsafe.Pointer(pPage)).FaData) != iFrom { - return Xsqlite3CorruptError(tls, 69806) + return Xsqlite3CorruptError(tls, 69816) } Xsqlite3Put4byte(tls, (*MemPage)(unsafe.Pointer(pPage)).FaData, iTo) } else { @@ -60099,7 +60128,7 @@ func modifyPagePointer(tls *libc.TLS, pPage uintptr, iFrom Pgno, iTo Pgno, eType })(unsafe.Pointer(&struct{ uintptr }{(*MemPage)(unsafe.Pointer(pPage)).FxParseCell})).f(tls, pPage, pCell, bp /* &info */) if U32((*CellInfo)(unsafe.Pointer(bp)).FnLocal) < (*CellInfo)(unsafe.Pointer(bp)).FnPayload { if pCell+uintptr((*CellInfo)(unsafe.Pointer(bp)).FnSize) > (*MemPage)(unsafe.Pointer(pPage)).FaData+uintptr((*BtShared)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize) { - return Xsqlite3CorruptError(tls, 69825) + return Xsqlite3CorruptError(tls, 69835) } if iFrom == Xsqlite3Get4byte(tls, pCell+uintptr((*CellInfo)(unsafe.Pointer(bp)).FnSize)-uintptr(4)) { Xsqlite3Put4byte(tls, pCell+uintptr((*CellInfo)(unsafe.Pointer(bp)).FnSize)-uintptr(4), iTo) @@ -60116,7 +60145,7 @@ func modifyPagePointer(tls *libc.TLS, pPage uintptr, iFrom Pgno, iTo Pgno, eType if i == nCell { if int32(eType) != PTRMAP_BTREE || Xsqlite3Get4byte(tls, (*MemPage)(unsafe.Pointer(pPage)).FaData+uintptr(int32((*MemPage)(unsafe.Pointer(pPage)).FhdrOffset)+8)) != iFrom { - return Xsqlite3CorruptError(tls, 69843) + return Xsqlite3CorruptError(tls, 69853) } Xsqlite3Put4byte(tls, (*MemPage)(unsafe.Pointer(pPage)).FaData+uintptr(int32((*MemPage)(unsafe.Pointer(pPage)).FhdrOffset)+8), iTo) } @@ -60131,7 +60160,7 @@ func modifyPagePointer(tls *libc.TLS, pPage uintptr, iFrom Pgno, iTo Pgno, eType // the journal needs to be sync()ed before database page pDbPage->pgno // can be written to. The caller has already promised not to write to that // page. -func relocatePage(tls *libc.TLS, pBt uintptr, pDbPage uintptr, eType U8, iPtrPage Pgno, iFreePage Pgno, isCommit int32) int32 { /* sqlite3.c:69861:12: */ +func relocatePage(tls *libc.TLS, pBt uintptr, pDbPage uintptr, eType U8, iPtrPage Pgno, iFreePage Pgno, isCommit int32) int32 { /* sqlite3.c:69871:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -60142,7 +60171,7 @@ func relocatePage(tls *libc.TLS, pBt uintptr, pDbPage uintptr, eType U8, iPtrPag // var rc int32 at bp, 4 if iDbPage < Pgno(3) { - return Xsqlite3CorruptError(tls, 69878) + return Xsqlite3CorruptError(tls, 69888) } // Move page iDbPage from its current location to page number iFreePage @@ -60212,7 +60241,7 @@ func relocatePage(tls *libc.TLS, pBt uintptr, pDbPage uintptr, eType U8, iPtrPag // caller will keep calling incrVacuumStep() until it returns SQLITE_DONE // or an error. bCommit is passed true for an auto-vacuum-on-commit // operation, or false for an incremental vacuum. -func incrVacuumStep(tls *libc.TLS, pBt uintptr, nFin Pgno, iLastPg Pgno, bCommit int32) int32 { /* sqlite3.c:69955:12: */ +func incrVacuumStep(tls *libc.TLS, pBt uintptr, nFin Pgno, iLastPg Pgno, bCommit int32) int32 { /* sqlite3.c:69965:12: */ bp := tls.Alloc(44) defer tls.Free(44) @@ -60234,7 +60263,7 @@ func incrVacuumStep(tls *libc.TLS, pBt uintptr, nFin Pgno, iLastPg Pgno, bCommit return rc } if int32(*(*U8)(unsafe.Pointer(bp))) == PTRMAP_ROOTPAGE { - return Xsqlite3CorruptError(tls, 69976) + return Xsqlite3CorruptError(tls, 69986) } if int32(*(*U8)(unsafe.Pointer(bp))) == PTRMAP_FREEPAGE { @@ -60309,7 +60338,7 @@ func incrVacuumStep(tls *libc.TLS, pBt uintptr, nFin Pgno, iLastPg Pgno, bCommit // The database opened by the first argument is an auto-vacuum database // nOrig pages in size containing nFree free pages. Return the expected // size of the database in pages following an auto-vacuum operation. -func finalDbSize(tls *libc.TLS, pBt uintptr, nOrig Pgno, nFree Pgno) Pgno { /* sqlite3.c:70051:13: */ +func finalDbSize(tls *libc.TLS, pBt uintptr, nOrig Pgno, nFree Pgno) Pgno { /* sqlite3.c:70061:13: */ var nEntry int32 // Number of entries on one ptrmap page var nPtrmap Pgno // Number of PtrMap pages to be freed var nFin Pgno // Return value @@ -60333,7 +60362,7 @@ func finalDbSize(tls *libc.TLS, pBt uintptr, nOrig Pgno, nFree Pgno) Pgno { /* s // If the incremental vacuum is finished after this function has run, // SQLITE_DONE is returned. If it is not finished, but no error occurred, // SQLITE_OK is returned. Otherwise an SQLite error code. -func Xsqlite3BtreeIncrVacuum(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:70077:20: */ +func Xsqlite3BtreeIncrVacuum(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:70087:20: */ var rc int32 var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt @@ -60347,7 +60376,7 @@ func Xsqlite3BtreeIncrVacuum(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:7007 var nFin Pgno = finalDbSize(tls, pBt, nOrig, nFree) if nOrig < nFin || nFree >= nOrig { - rc = Xsqlite3CorruptError(tls, 70091) + rc = Xsqlite3CorruptError(tls, 70101) } else if nFree > Pgno(0) { rc = saveAllCursors(tls, pBt, uint32(0), uintptr(0)) if rc == SQLITE_OK { @@ -60368,7 +60397,7 @@ func Xsqlite3BtreeIncrVacuum(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:7007 // This routine is called prior to sqlite3PagerCommit when a transaction // is committed for an auto-vacuum database. -func autoVacuumCommit(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:70114:12: */ +func autoVacuumCommit(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:70124:12: */ var rc int32 = SQLITE_OK var pPager uintptr var pBt uintptr @@ -60391,7 +60420,7 @@ func autoVacuumCommit(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:70114:12: * // It is not possible to create a database for which the final page // is either a pointer-map page or the pending-byte page. If one // is encountered, this indicates corruption. - return Xsqlite3CorruptError(tls, 70142) + return Xsqlite3CorruptError(tls, 70152) } nFree = Xsqlite3Get4byte(tls, (*MemPage)(unsafe.Pointer((*BtShared)(unsafe.Pointer(pBt)).FpPage1)).FaData+36) @@ -60422,7 +60451,7 @@ func autoVacuumCommit(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:70114:12: * } nFin = finalDbSize(tls, pBt, nOrig, nVac) if nFin > nOrig { - return Xsqlite3CorruptError(tls, 70169) + return Xsqlite3CorruptError(tls, 70179) } if nFin < nOrig { rc = saveAllCursors(tls, pBt, uint32(0), uintptr(0)) @@ -60472,7 +60501,7 @@ func autoVacuumCommit(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:70114:12: * // // Once this is routine has returned, the only thing required to commit // the write-transaction for this database file is to delete the journal. -func Xsqlite3BtreeCommitPhaseOne(tls *libc.TLS, p uintptr, zSuperJrnl uintptr) int32 { /* sqlite3.c:70225:20: */ +func Xsqlite3BtreeCommitPhaseOne(tls *libc.TLS, p uintptr, zSuperJrnl uintptr) int32 { /* sqlite3.c:70235:20: */ var rc int32 = SQLITE_OK if int32((*Btree)(unsafe.Pointer(p)).FinTrans) == TRANS_WRITE { var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt @@ -60495,7 +60524,7 @@ func Xsqlite3BtreeCommitPhaseOne(tls *libc.TLS, p uintptr, zSuperJrnl uintptr) i // This function is called from both BtreeCommitPhaseTwo() and BtreeRollback() // at the conclusion of a transaction. -func btreeEndTransaction(tls *libc.TLS, p uintptr) { /* sqlite3.c:70252:13: */ +func btreeEndTransaction(tls *libc.TLS, p uintptr) { /* sqlite3.c:70262:13: */ var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt var db uintptr = (*Btree)(unsafe.Pointer(p)).Fdb @@ -60551,7 +60580,7 @@ func btreeEndTransaction(tls *libc.TLS, p uintptr) { /* sqlite3.c:70252:13: */ // // This will release the write lock on the database file. If there // are no active cursors, it also releases the read lock. -func Xsqlite3BtreeCommitPhaseTwo(tls *libc.TLS, p uintptr, bCleanup int32) int32 { /* sqlite3.c:70314:20: */ +func Xsqlite3BtreeCommitPhaseTwo(tls *libc.TLS, p uintptr, bCleanup int32) int32 { /* sqlite3.c:70324:20: */ if int32((*Btree)(unsafe.Pointer(p)).FinTrans) == TRANS_NONE { return SQLITE_OK @@ -60580,7 +60609,7 @@ func Xsqlite3BtreeCommitPhaseTwo(tls *libc.TLS, p uintptr, bCleanup int32) int32 } // Do both phases of a commit. -func Xsqlite3BtreeCommit(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:70346:20: */ +func Xsqlite3BtreeCommit(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:70356:20: */ var rc int32 Xsqlite3BtreeEnter(tls, p) rc = Xsqlite3BtreeCommitPhaseOne(tls, p, uintptr(0)) @@ -60615,7 +60644,7 @@ func Xsqlite3BtreeCommit(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:70346:20 // // SQLITE_OK is returned if successful, or if an error occurs while // saving a cursor position, an SQLite error code. -func Xsqlite3BtreeTripAllCursors(tls *libc.TLS, pBtree uintptr, errCode int32, writeOnly int32) int32 { /* sqlite3.c:70383:20: */ +func Xsqlite3BtreeTripAllCursors(tls *libc.TLS, pBtree uintptr, errCode int32, writeOnly int32) int32 { /* sqlite3.c:70393:20: */ var p uintptr var rc int32 = SQLITE_OK @@ -60644,7 +60673,7 @@ func Xsqlite3BtreeTripAllCursors(tls *libc.TLS, pBtree uintptr, errCode int32, w // Set the pBt->nPage field correctly, according to the current // state of the database. Assume pBt->pPage1 is valid. -func btreeSetNPage(tls *libc.TLS, pBt uintptr, pPage1 uintptr) { /* sqlite3.c:70415:13: */ +func btreeSetNPage(tls *libc.TLS, pBt uintptr, pPage1 uintptr) { /* sqlite3.c:70425:13: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -60666,7 +60695,7 @@ func btreeSetNPage(tls *libc.TLS, pBt uintptr, pPage1 uintptr) { /* sqlite3.c:70 // // This will release the write lock on the database file. If there // are no active cursors, it also releases the read lock. -func Xsqlite3BtreeRollback(tls *libc.TLS, p uintptr, tripCode int32, writeOnly int32) int32 { /* sqlite3.c:70434:20: */ +func Xsqlite3BtreeRollback(tls *libc.TLS, p uintptr, tripCode int32, writeOnly int32) int32 { /* sqlite3.c:70444:20: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -60732,7 +60761,7 @@ func Xsqlite3BtreeRollback(tls *libc.TLS, p uintptr, tripCode int32, writeOnly i // are no active savepoints and no other statement-transactions open, // iStatement is 1. This anonymous savepoint can be released or rolled back // using the sqlite3BtreeSavepoint() function. -func Xsqlite3BtreeBeginStmt(tls *libc.TLS, p uintptr, iStatement int32) int32 { /* sqlite3.c:70499:20: */ +func Xsqlite3BtreeBeginStmt(tls *libc.TLS, p uintptr, iStatement int32) int32 { /* sqlite3.c:70509:20: */ var rc int32 var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt Xsqlite3BtreeEnter(tls, p) @@ -60756,7 +60785,7 @@ func Xsqlite3BtreeBeginStmt(tls *libc.TLS, p uintptr, iStatement int32) int32 { // contents of the entire transaction are rolled back. This is different // from a normal transaction rollback, as no locks are released and the // transaction remains open. -func Xsqlite3BtreeSavepoint(tls *libc.TLS, p uintptr, op int32, iSavepoint int32) int32 { /* sqlite3.c:70530:20: */ +func Xsqlite3BtreeSavepoint(tls *libc.TLS, p uintptr, op int32, iSavepoint int32) int32 { /* sqlite3.c:70540:20: */ var rc int32 = SQLITE_OK if p != 0 && int32((*Btree)(unsafe.Pointer(p)).FinTrans) == TRANS_WRITE { var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt @@ -60824,7 +60853,7 @@ func Xsqlite3BtreeSavepoint(tls *libc.TLS, p uintptr, op int32, iSavepoint int32 // // It is assumed that the sqlite3BtreeCursorZero() has been called // on pCur to initialize the memory space prior to invoking this routine. -func btreeCursor(tls *libc.TLS, p uintptr, iTable Pgno, wrFlag int32, pKeyInfo uintptr, pCur uintptr) int32 { /* sqlite3.c:70601:12: */ +func btreeCursor(tls *libc.TLS, p uintptr, iTable Pgno, wrFlag int32, pKeyInfo uintptr, pCur uintptr) int32 { /* sqlite3.c:70611:12: */ var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt // Shared b-tree handle var pX uintptr // Looping over other all cursors @@ -60837,7 +60866,7 @@ func btreeCursor(tls *libc.TLS, p uintptr, iTable Pgno, wrFlag int32, pKeyInfo u if iTable <= Pgno(1) { if iTable < Pgno(1) { - return Xsqlite3CorruptError(tls, 70633) + return Xsqlite3CorruptError(tls, 70643) } else if btreePagecount(tls, pBt) == Pgno(0) { iTable = Pgno(0) @@ -60875,7 +60904,7 @@ func btreeCursor(tls *libc.TLS, p uintptr, iTable Pgno, wrFlag int32, pKeyInfo u return SQLITE_OK } -func btreeCursorWithLock(tls *libc.TLS, p uintptr, iTable Pgno, wrFlag int32, pKeyInfo uintptr, pCur uintptr) int32 { /* sqlite3.c:70668:12: */ +func btreeCursorWithLock(tls *libc.TLS, p uintptr, iTable Pgno, wrFlag int32, pKeyInfo uintptr, pCur uintptr) int32 { /* sqlite3.c:70678:12: */ var rc int32 Xsqlite3BtreeEnter(tls, p) rc = btreeCursor(tls, p, iTable, wrFlag, pKeyInfo, pCur) @@ -60883,7 +60912,7 @@ func btreeCursorWithLock(tls *libc.TLS, p uintptr, iTable Pgno, wrFlag int32, pK return rc } -func Xsqlite3BtreeCursor(tls *libc.TLS, p uintptr, iTable Pgno, wrFlag int32, pKeyInfo uintptr, pCur uintptr) int32 { /* sqlite3.c:70681:20: */ +func Xsqlite3BtreeCursor(tls *libc.TLS, p uintptr, iTable Pgno, wrFlag int32, pKeyInfo uintptr, pCur uintptr) int32 { /* sqlite3.c:70691:20: */ if (*Btree)(unsafe.Pointer(p)).Fsharable != 0 { return btreeCursorWithLock(tls, p, iTable, wrFlag, pKeyInfo, pCur) } else { @@ -60898,7 +60927,7 @@ func Xsqlite3BtreeCursor(tls *libc.TLS, p uintptr, iTable Pgno, wrFlag int32, pK // sufficient storage to hold a cursor. The BtCursor object is opaque // to users so they cannot do the sizeof() themselves - they must call // this routine. -func Xsqlite3BtreeCursorSize(tls *libc.TLS) int32 { /* sqlite3.c:70703:20: */ +func Xsqlite3BtreeCursorSize(tls *libc.TLS) int32 { /* sqlite3.c:70713:20: */ return int32((uint64(unsafe.Sizeof(BtCursor{})) + uint64(7)) & libc.Uint64FromInt32(libc.CplInt32(7))) } @@ -60908,13 +60937,13 @@ func Xsqlite3BtreeCursorSize(tls *libc.TLS) int32 { /* sqlite3.c:70703:20: */ // to zero. But it turns out that the apPage[] and aiIdx[] arrays // do not need to be zeroed and they are large, so we can save a lot // of run-time by skipping the initialization of those elements. -func Xsqlite3BtreeCursorZero(tls *libc.TLS, p uintptr) { /* sqlite3.c:70715:21: */ +func Xsqlite3BtreeCursorZero(tls *libc.TLS, p uintptr) { /* sqlite3.c:70725:21: */ libc.X__builtin___memset_chk(tls, p, 0, uint64(uintptr(0)+32), libc.X__builtin_object_size(tls, p, 0)) } // Close a cursor. The read lock on the database file is released // when the last cursor is closed. -func Xsqlite3BtreeCloseCursor(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:70723:20: */ +func Xsqlite3BtreeCloseCursor(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:70733:20: */ var pBtree uintptr = (*BtCursor)(unsafe.Pointer(pCur)).FpBtree if pBtree != 0 { var pBt uintptr = (*BtCursor)(unsafe.Pointer(pCur)).FpBt @@ -60955,7 +60984,7 @@ func Xsqlite3BtreeCloseCursor(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c: // // BtCursor.info is a cache of the information in the current cell. // Using this cache reduces the number of calls to btreeParseCell(). -func getCellInfo(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:70784:29: */ +func getCellInfo(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:70794:29: */ if int32((*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnSize) == 0 { *(*U8)(unsafe.Pointer(pCur + 1)) |= U8(BTCF_ValidNKey) btreeParseCell(tls, (*BtCursor)(unsafe.Pointer(pCur)).FpPage, int32((*BtCursor)(unsafe.Pointer(pCur)).Fix), pCur+48) @@ -60964,7 +60993,7 @@ func getCellInfo(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:70784:29: */ } } -func Xsqlite3BtreeCursorIsValidNN(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:70803:20: */ +func Xsqlite3BtreeCursorIsValidNN(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:70813:20: */ return libc.Bool32(int32((*BtCursor)(unsafe.Pointer(pCur)).FeState) == CURSOR_VALID) } @@ -60973,26 +61002,26 @@ func Xsqlite3BtreeCursorIsValidNN(tls *libc.TLS, pCur uintptr) int32 { /* sqlite // This routine is only valid for a cursor that is pointing into a // ordinary table btree. If the cursor points to an index btree or // is invalid, the result of this routine is undefined. -func Xsqlite3BtreeIntegerKey(tls *libc.TLS, pCur uintptr) I64 { /* sqlite3.c:70814:20: */ +func Xsqlite3BtreeIntegerKey(tls *libc.TLS, pCur uintptr) I64 { /* sqlite3.c:70824:20: */ getCellInfo(tls, pCur) return (*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnKey } // Pin or unpin a cursor. -func Xsqlite3BtreeCursorPin(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:70825:21: */ +func Xsqlite3BtreeCursorPin(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:70835:21: */ *(*U8)(unsafe.Pointer(pCur + 1)) |= U8(BTCF_Pinned) } -func Xsqlite3BtreeCursorUnpin(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:70829:21: */ +func Xsqlite3BtreeCursorUnpin(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:70839:21: */ *(*U8)(unsafe.Pointer(pCur + 1)) &= libc.Uint8FromInt32(libc.CplInt32(BTCF_Pinned)) } // Return the offset into the database file for the start of the // payload to which the cursor is pointing. -func Xsqlite3BtreeOffset(tls *libc.TLS, pCur uintptr) I64 { /* sqlite3.c:70839:20: */ +func Xsqlite3BtreeOffset(tls *libc.TLS, pCur uintptr) I64 { /* sqlite3.c:70849:20: */ getCellInfo(tls, pCur) return I64((*BtShared)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pCur)).FpBt)).FpageSize)*(I64((*MemPage)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pCur)).FpPage)).Fpgno)-int64(1)) + I64((int64((*BtCursor)(unsafe.Pointer(pCur)).Finfo.FpPayload)-int64((*MemPage)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pCur)).FpPage)).FaData))/1) @@ -61005,7 +61034,7 @@ func Xsqlite3BtreeOffset(tls *libc.TLS, pCur uintptr) I64 { /* sqlite3.c:70839:2 // The caller must guarantee that the cursor is pointing to a non-NULL // valid entry. In other words, the calling procedure must guarantee // that the cursor has Cursor.eState==CURSOR_VALID. -func Xsqlite3BtreePayloadSize(tls *libc.TLS, pCur uintptr) U32 { /* sqlite3.c:70857:20: */ +func Xsqlite3BtreePayloadSize(tls *libc.TLS, pCur uintptr) U32 { /* sqlite3.c:70867:20: */ getCellInfo(tls, pCur) return (*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnPayload @@ -61022,7 +61051,7 @@ func Xsqlite3BtreePayloadSize(tls *libc.TLS, pCur uintptr) U32 { /* sqlite3.c:70 // // The current implementation merely returns the size of the underlying // database file. -func Xsqlite3BtreeMaxRecordSize(tls *libc.TLS, pCur uintptr) Sqlite3_int64 { /* sqlite3.c:70877:30: */ +func Xsqlite3BtreeMaxRecordSize(tls *libc.TLS, pCur uintptr) Sqlite3_int64 { /* sqlite3.c:70887:30: */ return Sqlite3_int64((*BtShared)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pCur)).FpBt)).FpageSize) * Sqlite3_int64((*BtShared)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pCur)).FpBt)).FnPage) } @@ -61044,7 +61073,7 @@ func Xsqlite3BtreeMaxRecordSize(tls *libc.TLS, pCur uintptr) Sqlite3_int64 { /* // on *ppPage to free the reference. In no reference was obtained (because // the pointer-map was used to obtain the value for *pPgnoNext), then // *ppPage is set to zero. -func getOverflowPage(tls *libc.TLS, pBt uintptr, ovfl Pgno, ppPage uintptr, pPgnoNext uintptr) int32 { /* sqlite3.c:70902:12: */ +func getOverflowPage(tls *libc.TLS, pBt uintptr, ovfl Pgno, ppPage uintptr, pPgnoNext uintptr) int32 { /* sqlite3.c:70912:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -61112,7 +61141,7 @@ func getOverflowPage(tls *libc.TLS, pBt uintptr, ovfl Pgno, ppPage uintptr, pPgn // of data are copied from the buffer pBuf to pPayload. // // SQLITE_OK is returned on success, otherwise an error code. -func copyPayload(tls *libc.TLS, pPayload uintptr, pBuf uintptr, nByte int32, eOp int32, pDbPage uintptr) int32 { /* sqlite3.c:70970:12: */ +func copyPayload(tls *libc.TLS, pPayload uintptr, pBuf uintptr, nByte int32, eOp int32, pDbPage uintptr) int32 { /* sqlite3.c:70980:12: */ if eOp != 0 { // Copy data from buffer to page (a write operation) var rc int32 = Xsqlite3PagerWrite(tls, pDbPage) @@ -61154,7 +61183,7 @@ func copyPayload(tls *libc.TLS, pPayload uintptr, pBuf uintptr, nByte int32, eOp // * An incremental vacuum, // * A commit in auto_vacuum="full" mode, // * Creating a table (may require moving an overflow page). -func accessPayload(tls *libc.TLS, pCur uintptr, offset U32, amt U32, pBuf uintptr, eOp int32) int32 { /* sqlite3.c:71020:12: */ +func accessPayload(tls *libc.TLS, pCur uintptr, offset U32, amt U32, pBuf uintptr, eOp int32) int32 { /* sqlite3.c:71030:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -61165,7 +61194,7 @@ func accessPayload(tls *libc.TLS, pCur uintptr, offset U32, amt U32, pBuf uintpt var pBt uintptr = (*BtCursor)(unsafe.Pointer(pCur)).FpBt // Btree this cursor belongs to if int32((*BtCursor)(unsafe.Pointer(pCur)).Fix) >= int32((*MemPage)(unsafe.Pointer(pPage)).FnCell) { - return Xsqlite3CorruptError(tls, 71040) + return Xsqlite3CorruptError(tls, 71050) } getCellInfo(tls, pCur) @@ -61176,7 +61205,7 @@ func accessPayload(tls *libc.TLS, pCur uintptr, offset U32, amt U32, pBuf uintpt // conditional above is really: // &aPayload[pCur->info.nLocal] > &pPage->aData[pBt->usableSize] // but is recast into its current form to avoid integer overflow problems - return Xsqlite3CorruptError(tls, 71055) + return Xsqlite3CorruptError(tls, 71065) } // Check if data must be read/written to/from the btree page itself. @@ -61233,7 +61262,7 @@ func accessPayload(tls *libc.TLS, pCur uintptr, offset U32, amt U32, pBuf uintpt for *(*Pgno)(unsafe.Pointer(bp)) != 0 { // If required, populate the overflow page-list cache. if *(*Pgno)(unsafe.Pointer(bp)) > (*BtShared)(unsafe.Pointer(pBt)).FnPage { - return Xsqlite3CorruptError(tls, 71117) + return Xsqlite3CorruptError(tls, 71127) } *(*Pgno)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pCur)).FaOverflow + uintptr(iIdx)*4)) = *(*Pgno)(unsafe.Pointer(bp /* nextPage */)) @@ -61293,7 +61322,7 @@ func accessPayload(tls *libc.TLS, pCur uintptr, offset U32, amt U32, pBuf uintpt if rc == SQLITE_OK && amt > U32(0) { // Overflow chain ends prematurely - return Xsqlite3CorruptError(tls, 71202) + return Xsqlite3CorruptError(tls, 71212) } return rc } @@ -61313,7 +61342,7 @@ func accessPayload(tls *libc.TLS, pCur uintptr, offset U32, amt U32, pBuf uintpt // Return SQLITE_OK on success or an error code if anything goes // wrong. An error is returned if "offset+amt" is larger than // the available payload. -func Xsqlite3BtreePayload(tls *libc.TLS, pCur uintptr, offset U32, amt U32, pBuf uintptr) int32 { /* sqlite3.c:71224:20: */ +func Xsqlite3BtreePayload(tls *libc.TLS, pCur uintptr, offset U32, amt U32, pBuf uintptr) int32 { /* sqlite3.c:71234:20: */ return accessPayload(tls, pCur, offset, amt, pBuf, 0) } @@ -61321,7 +61350,7 @@ func Xsqlite3BtreePayload(tls *libc.TLS, pCur uintptr, offset U32, amt U32, pBuf // This variant of sqlite3BtreePayload() works even if the cursor has not // in the CURSOR_VALID state. It is only used by the sqlite3_blob_read() // interface. -func accessPayloadChecked(tls *libc.TLS, pCur uintptr, offset U32, amt U32, pBuf uintptr) int32 { /* sqlite3.c:71237:28: */ +func accessPayloadChecked(tls *libc.TLS, pCur uintptr, offset U32, amt U32, pBuf uintptr) int32 { /* sqlite3.c:71247:28: */ var rc int32 if int32((*BtCursor)(unsafe.Pointer(pCur)).FeState) == CURSOR_INVALID { return SQLITE_ABORT @@ -61334,7 +61363,7 @@ func accessPayloadChecked(tls *libc.TLS, pCur uintptr, offset U32, amt U32, pBuf return accessPayload(tls, pCur, offset, amt, pBuf, 0) } -func Xsqlite3BtreePayloadChecked(tls *libc.TLS, pCur uintptr, offset U32, amt U32, pBuf uintptr) int32 { /* sqlite3.c:71251:20: */ +func Xsqlite3BtreePayloadChecked(tls *libc.TLS, pCur uintptr, offset U32, amt U32, pBuf uintptr) int32 { /* sqlite3.c:71261:20: */ if int32((*BtCursor)(unsafe.Pointer(pCur)).FeState) == CURSOR_VALID { return accessPayload(tls, pCur, offset, amt, pBuf, 0) @@ -61361,7 +61390,7 @@ func Xsqlite3BtreePayloadChecked(tls *libc.TLS, pCur uintptr, offset U32, amt U3 // The pointer returned by this routine looks directly into the cached // page of the database. The data might change or move the next time // any btree routine is called. -func fetchPayload(tls *libc.TLS, pCur uintptr, pAmt uintptr) uintptr { /* sqlite3.c:71280:19: */ +func fetchPayload(tls *libc.TLS, pCur uintptr, pAmt uintptr) uintptr { /* sqlite3.c:71290:19: */ var amt int32 amt = int32((*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnLocal) @@ -61392,7 +61421,7 @@ func fetchPayload(tls *libc.TLS, pCur uintptr, pAmt uintptr) uintptr { /* sqlite // // These routines is used to get quick access to key and data // in the common case where no overflow pages are used. -func Xsqlite3BtreePayloadFetch(tls *libc.TLS, pCur uintptr, pAmt uintptr) uintptr { /* sqlite3.c:71319:27: */ +func Xsqlite3BtreePayloadFetch(tls *libc.TLS, pCur uintptr, pAmt uintptr) uintptr { /* sqlite3.c:71329:27: */ return fetchPayload(tls, pCur, pAmt) } @@ -61403,11 +61432,11 @@ func Xsqlite3BtreePayloadFetch(tls *libc.TLS, pCur uintptr, pAmt uintptr) uintpt // the new child page does not match the flags field of the parent (i.e. // if an intkey page appears to be the parent of a non-intkey page, or // vice-versa). -func moveToChild(tls *libc.TLS, pCur uintptr, newPgno U32) int32 { /* sqlite3.c:71333:12: */ +func moveToChild(tls *libc.TLS, pCur uintptr, newPgno U32) int32 { /* sqlite3.c:71343:12: */ var pBt uintptr = (*BtCursor)(unsafe.Pointer(pCur)).FpBt if int32((*BtCursor)(unsafe.Pointer(pCur)).FiPage) >= BTCURSOR_MAX_DEPTH-1 { - return Xsqlite3CorruptError(tls, 71341) + return Xsqlite3CorruptError(tls, 71351) } (*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnSize = U16(0) *(*U8)(unsafe.Pointer(pCur + 1)) &= libc.Uint8FromInt32(libc.CplInt32(BTCF_ValidNKey | BTCF_ValidOvfl)) @@ -61424,7 +61453,7 @@ func moveToChild(tls *libc.TLS, pCur uintptr, newPgno U32) int32 { /* sqlite3.c: // to the page we are coming from. If we are coming from the // right-most child page then pCur->idx is set to one more than // the largest cell index. -func moveToParent(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:71382:13: */ +func moveToParent(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:71392:13: */ var pLeaf uintptr (*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnSize = U16(0) @@ -61454,7 +61483,7 @@ func moveToParent(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:71382:13: */ // indicating a table b-tree, or if the caller did specify a KeyInfo // structure the flags byte is set to 0x02 or 0x0A, indicating an index // b-tree). -func moveToRoot(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:71423:12: */ +func moveToRoot(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:71433:12: */ var pRoot uintptr var rc int32 var subpage Pgno @@ -61533,7 +61562,7 @@ __2: if !(int32((*MemPage)(unsafe.Pointer(pRoot)).FisInit) == 0 || libc.Bool32((*BtCursor)(unsafe.Pointer(pCur)).FpKeyInfo == uintptr(0)) != int32((*MemPage)(unsafe.Pointer(pRoot)).FintKey)) { goto __11 } - return Xsqlite3CorruptError(tls, 71479) + return Xsqlite3CorruptError(tls, 71489) __11: ; @@ -61554,7 +61583,7 @@ __12: if !((*MemPage)(unsafe.Pointer(pRoot)).Fpgno != Pgno(1)) { goto __16 } - return Xsqlite3CorruptError(tls, 71491) + return Xsqlite3CorruptError(tls, 71501) __16: ; subpage = Xsqlite3Get4byte(tls, (*MemPage)(unsafe.Pointer(pRoot)).FaData+uintptr(int32((*MemPage)(unsafe.Pointer(pRoot)).FhdrOffset)+8)) @@ -61576,7 +61605,7 @@ __13: // // The left-most leaf is the one with the smallest key - the first // in ascending order. -func moveToLeftmost(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:71509:12: */ +func moveToLeftmost(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:71519:12: */ var pgno Pgno var rc int32 = SQLITE_OK var pPage uintptr @@ -61597,7 +61626,7 @@ func moveToLeftmost(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:71509:12: // // The right-most entry is the one with the largest key - the last // key in ascending order. -func moveToRightmost(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:71534:12: */ +func moveToRightmost(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:71544:12: */ var pgno Pgno var rc int32 = SQLITE_OK var pPage uintptr = uintptr(0) @@ -61618,7 +61647,7 @@ func moveToRightmost(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:71534:12: // Move the cursor to the first entry in the table. Return SQLITE_OK // on success. Set *pRes to 0 if the cursor actually points to something // or set *pRes to 1 if the table is empty. -func Xsqlite3BtreeFirst(tls *libc.TLS, pCur uintptr, pRes uintptr) int32 { /* sqlite3.c:71557:20: */ +func Xsqlite3BtreeFirst(tls *libc.TLS, pCur uintptr, pRes uintptr) int32 { /* sqlite3.c:71567:20: */ var rc int32 rc = moveToRoot(tls, pCur) @@ -61637,7 +61666,7 @@ func Xsqlite3BtreeFirst(tls *libc.TLS, pCur uintptr, pRes uintptr) int32 { /* sq // Move the cursor to the last entry in the table. Return SQLITE_OK // on success. Set *pRes to 0 if the cursor actually points to something // or set *pRes to 1 if the table is empty. -func Xsqlite3BtreeLast(tls *libc.TLS, pCur uintptr, pRes uintptr) int32 { /* sqlite3.c:71579:20: */ +func Xsqlite3BtreeLast(tls *libc.TLS, pCur uintptr, pRes uintptr) int32 { /* sqlite3.c:71589:20: */ var rc int32 // If the cursor already points to the last entry, this is a no-op. @@ -61686,7 +61715,7 @@ func Xsqlite3BtreeLast(tls *libc.TLS, pCur uintptr, pRes uintptr) int32 { /* sql // // *pRes>0 The cursor is left pointing at an entry that // is larger than intKey. -func Xsqlite3BtreeTableMoveto(tls *libc.TLS, pCur uintptr, intKey I64, biasRight int32, pRes uintptr) int32 { /* sqlite3.c:71644:20: */ +func Xsqlite3BtreeTableMoveto(tls *libc.TLS, pCur uintptr, intKey I64, biasRight int32, pRes uintptr) int32 { /* sqlite3.c:71654:20: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -61801,7 +61830,7 @@ __19: if !(pCell >= (*MemPage)(unsafe.Pointer(pPage)).FaDataEnd) { goto __21 } - return Xsqlite3CorruptError(tls, 71733) + return Xsqlite3CorruptError(tls, 71743) __21: ; goto __19 @@ -61930,7 +61959,7 @@ moveto_table_finish: // // The pIdxKey->eqSeen field is set to 1 if there // exists an entry in the table that exactly matches pIdxKey. -func Xsqlite3BtreeIndexMoveto(tls *libc.TLS, pCur uintptr, pIdxKey uintptr, pRes uintptr) int32 { /* sqlite3.c:71812:20: */ +func Xsqlite3BtreeIndexMoveto(tls *libc.TLS, pCur uintptr, pIdxKey uintptr, pRes uintptr) int32 { /* sqlite3.c:71822:20: */ var rc int32 var xRecordCompare RecordCompare // The record flows over onto one or more overflow pages. In @@ -62034,7 +62063,7 @@ __11: if !(nCell < 2 || U32(nCell)/(*BtShared)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pCur)).FpBt)).FusableSize > (*BtShared)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pCur)).FpBt)).FnPage) { goto __13 } - rc = Xsqlite3CorruptError(tls, 71914) + rc = Xsqlite3CorruptError(tls, 71924) goto moveto_index_finish __13: ; @@ -62083,7 +62112,7 @@ __18: if !((*UnpackedRecord)(unsafe.Pointer(pIdxKey)).FerrCode != 0) { goto __20 } - rc = Xsqlite3CorruptError(tls, 71946) + rc = Xsqlite3CorruptError(tls, 71956) __20: ; goto moveto_index_finish @@ -62150,7 +62179,7 @@ moveto_index_finish: // TRUE will be returned after a call to sqlite3BtreeNext() moves // past the last entry in the table or sqlite3BtreePrev() moves past // the first entry. TRUE is also returned if the table is empty. -func Xsqlite3BtreeEof(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:71985:20: */ +func Xsqlite3BtreeEof(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:71995:20: */ // TODO: What if the cursor is in CURSOR_REQUIRESEEK but all table entries // have been deleted? This API will need to change to return an error code // as well as the boolean result value. @@ -62160,7 +62189,7 @@ func Xsqlite3BtreeEof(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:71985:20 // Return an estimate for the number of rows in the table that pCur is // pointing to. Return a negative number if no estimate is currently // available. -func Xsqlite3BtreeRowCountEst(tls *libc.TLS, pCur uintptr) I64 { /* sqlite3.c:71998:20: */ +func Xsqlite3BtreeRowCountEst(tls *libc.TLS, pCur uintptr) I64 { /* sqlite3.c:72008:20: */ var n I64 var i U8 @@ -62199,7 +62228,7 @@ func Xsqlite3BtreeRowCountEst(tls *libc.TLS, pCur uintptr) I64 { /* sqlite3.c:71 // skipped if the SQL index had been a unique index. The F argument // is a hint to the implement. SQLite btree implementation does not use // this hint, but COMDB2 does. -func btreeNext(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:72038:28: */ +func btreeNext(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:72048:28: */ var rc int32 var idx int32 var pPage uintptr @@ -62236,7 +62265,7 @@ func btreeNext(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:72038:28: */ // has pages in common with the table being queried. See TH3 // module cov1/btree78.test testcase 220 (2018-06-08) for an // example. - return Xsqlite3CorruptError(tls, 72069) + return Xsqlite3CorruptError(tls, 72079) } if idx >= int32((*MemPage)(unsafe.Pointer(pPage)).FnCell) { @@ -62269,7 +62298,7 @@ func btreeNext(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:72038:28: */ return int32(0) } -func Xsqlite3BtreeNext(tls *libc.TLS, pCur uintptr, flags int32) int32 { /* sqlite3.c:72098:20: */ +func Xsqlite3BtreeNext(tls *libc.TLS, pCur uintptr, flags int32) int32 { /* sqlite3.c:72108:20: */ var pPage uintptr _ = flags // Used in COMDB2 but not native SQLite @@ -62309,7 +62338,7 @@ func Xsqlite3BtreeNext(tls *libc.TLS, pCur uintptr, flags int32) int32 { /* sqli // skipped if the SQL index had been a unique index. The F argument is a // hint to the implement. The native SQLite btree implementation does not // use this hint, but COMDB2 does. -func btreePrevious(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:72138:28: */ +func btreePrevious(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:72148:28: */ var rc int32 var pPage uintptr @@ -62363,7 +62392,7 @@ func btreePrevious(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:72138:28: * return rc } -func Xsqlite3BtreePrevious(tls *libc.TLS, pCur uintptr, flags int32) int32 { /* sqlite3.c:72187:20: */ +func Xsqlite3BtreePrevious(tls *libc.TLS, pCur uintptr, flags int32) int32 { /* sqlite3.c:72197:20: */ _ = flags // Used in COMDB2 but not native SQLite *(*U8)(unsafe.Pointer(pCur + 1)) &= libc.Uint8FromInt32(libc.CplInt32(BTCF_AtLast | BTCF_ValidOvfl | BTCF_ValidNKey)) @@ -62397,7 +62426,7 @@ func Xsqlite3BtreePrevious(tls *libc.TLS, pCur uintptr, flags int32) int32 { /* // eMode is BTALLOC_LT then the page returned will be less than or equal // to nearby if any such page exists. If eMode is BTALLOC_ANY then there // are no restrictions on which page is returned. -func allocateBtreePage(tls *libc.TLS, pBt uintptr, ppPage uintptr, pPgno uintptr, nearby Pgno, eMode U8) int32 { /* sqlite3.c:72225:12: */ +func allocateBtreePage(tls *libc.TLS, pBt uintptr, ppPage uintptr, pPgno uintptr, nearby Pgno, eMode U8) int32 { /* sqlite3.c:72235:12: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -62464,7 +62493,7 @@ func allocateBtreePage(tls *libc.TLS, pBt uintptr, ppPage uintptr, pPgno uintptr if !(n >= mxPage) { goto __1 } - return Xsqlite3CorruptError(tls, 72249) + return Xsqlite3CorruptError(tls, 72259) __1: ; if !(n > U32(0)) { @@ -62545,7 +62574,7 @@ __15: if !(iTrunk > mxPage || libc.PostIncUint32(&nSearch, 1) > n) { goto __16 } - rc = Xsqlite3CorruptError(tls, 72305) + rc = Xsqlite3CorruptError(tls, 72315) goto __17 __16: rc = btreeGetUnusedPage(tls, pBt, iTrunk, bp+8, 0) @@ -62587,7 +62616,7 @@ __19: goto __22 } // Value of k is out of range. Database corruption - rc = Xsqlite3CorruptError(tls, 72334) + rc = Xsqlite3CorruptError(tls, 72344) goto end_allocate_page goto __23 __22: @@ -62632,7 +62661,7 @@ __27: if !(iNewTrunk > mxPage) { goto __32 } - rc = Xsqlite3CorruptError(tls, 72368) + rc = Xsqlite3CorruptError(tls, 72378) goto end_allocate_page __32: ; @@ -62746,7 +62775,7 @@ __40: if !(iPage > mxPage || iPage < Pgno(2)) { goto __51 } - rc = Xsqlite3CorruptError(tls, 72433) + rc = Xsqlite3CorruptError(tls, 72443) goto end_allocate_page __51: ; @@ -62921,7 +62950,7 @@ end_allocate_page: // // If a pointer to a MemPage object is passed as the second argument, // its reference count is not altered by this function. -func freePage2(tls *libc.TLS, pBt uintptr, pMemPage uintptr, iPage Pgno) int32 { /* sqlite3.c:72547:12: */ +func freePage2(tls *libc.TLS, pBt uintptr, pMemPage uintptr, iPage Pgno) int32 { /* sqlite3.c:72557:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -62942,7 +62971,7 @@ func freePage2(tls *libc.TLS, pBt uintptr, pMemPage uintptr, iPage Pgno) int32 { if !(iPage < Pgno(2) || iPage > (*BtShared)(unsafe.Pointer(pBt)).FnPage) { goto __1 } - return Xsqlite3CorruptError(tls, 72560) + return Xsqlite3CorruptError(tls, 72570) __1: ; if !(pMemPage != 0) { @@ -63012,7 +63041,7 @@ __7: if !(iTrunk > btreePagecount(tls, pBt)) { goto __10 } - *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) = Xsqlite3CorruptError(tls, 72607) + *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) = Xsqlite3CorruptError(tls, 72617) goto freepage_out __10: ; @@ -63029,7 +63058,7 @@ __11: if !(nLeaf > (*BtShared)(unsafe.Pointer(pBt)).FusableSize/U32(4)-U32(2)) { goto __12 } - *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) = Xsqlite3CorruptError(tls, 72618) + *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) = Xsqlite3CorruptError(tls, 72628) goto freepage_out __12: ; @@ -63110,14 +63139,14 @@ __18: return *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) } -func freePage(tls *libc.TLS, pPage uintptr, pRC uintptr) { /* sqlite3.c:72681:13: */ +func freePage(tls *libc.TLS, pPage uintptr, pRC uintptr) { /* sqlite3.c:72691:13: */ if *(*int32)(unsafe.Pointer(pRC)) == SQLITE_OK { *(*int32)(unsafe.Pointer(pRC)) = freePage2(tls, (*MemPage)(unsafe.Pointer(pPage)).FpBt, pPage, (*MemPage)(unsafe.Pointer(pPage)).Fpgno) } } // Free the overflow pages associated with the given Cell. -func clearCellOverflow(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintptr) int32 { /* sqlite3.c:72690:28: */ +func clearCellOverflow(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintptr) int32 { /* sqlite3.c:72700:28: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -63129,7 +63158,7 @@ func clearCellOverflow(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintpt if pCell+uintptr((*CellInfo)(unsafe.Pointer(pInfo)).FnSize) > (*MemPage)(unsafe.Pointer(pPage)).FaDataEnd { // Cell extends past end of page - return Xsqlite3CorruptError(tls, 72707) + return Xsqlite3CorruptError(tls, 72717) } ovflPgno = Xsqlite3Get4byte(tls, pCell+uintptr((*CellInfo)(unsafe.Pointer(pInfo)).FnSize)-uintptr(4)) pBt = (*MemPage)(unsafe.Pointer(pPage)).FpBt @@ -63144,7 +63173,7 @@ func clearCellOverflow(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintpt // 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 Xsqlite3CorruptError(tls, 72724) + return Xsqlite3CorruptError(tls, 72734) } if nOvfl != 0 { rc = getOverflowPage(tls, pBt, ovflPgno, bp, bp+8) @@ -63164,7 +63193,7 @@ func clearCellOverflow(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintpt // enabled. If this 'overflow' page happens to be a page that the // caller is iterating through or using in some other way, this // can be problematic. - rc = Xsqlite3CorruptError(tls, 72744) + rc = Xsqlite3CorruptError(tls, 72754) } else { rc = freePage2(tls, pBt, *(*uintptr)(unsafe.Pointer(bp /* pOvfl */)), ovflPgno) } @@ -63196,7 +63225,7 @@ func clearCellOverflow(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintpt // area. pCell might point to some temporary storage. The cell will // be constructed in this temporary area then copied into pPage->aData // later. -func fillInCell(tls *libc.TLS, pPage uintptr, pCell uintptr, pX uintptr, pnSize uintptr) int32 { /* sqlite3.c:72785:12: */ +func fillInCell(tls *libc.TLS, pPage uintptr, pCell uintptr, pX uintptr, pnSize uintptr) int32 { /* sqlite3.c:72795:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -63378,7 +63407,7 @@ func fillInCell(tls *libc.TLS, pPage uintptr, pCell uintptr, pX uintptr, pnSize // removes the reference to the cell from pPage. // // "sz" must be the number of bytes in the cell. -func dropCell(tls *libc.TLS, pPage uintptr, idx int32, sz int32, pRC uintptr) { /* sqlite3.c:72975:13: */ +func dropCell(tls *libc.TLS, pPage uintptr, idx int32, sz int32, pRC uintptr) { /* sqlite3.c:72985:13: */ var pc U32 // Offset to cell content of cell being deleted var data uintptr // pPage->aData var ptr uintptr // Used to move bytes around within data[] @@ -63396,7 +63425,7 @@ func dropCell(tls *libc.TLS, pPage uintptr, idx int32, sz int32, pRC uintptr) { hdr = int32((*MemPage)(unsafe.Pointer(pPage)).FhdrOffset) if pc+U32(sz) > (*BtShared)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize { - *(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 73003) + *(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 73013) return } rc = freeSpace(tls, pPage, uint16(pc), uint16(sz)) @@ -63432,7 +63461,7 @@ func dropCell(tls *libc.TLS, pPage uintptr, idx int32, sz int32, pRC uintptr) { // pPage->nOverflow is incremented. // // *pRC must be SQLITE_OK when this routine is called. -func insertCell(tls *libc.TLS, pPage uintptr, i int32, pCell uintptr, sz int32, pTemp uintptr, iChild Pgno, pRC uintptr) { /* sqlite3.c:73039:13: */ +func insertCell(tls *libc.TLS, pPage uintptr, i int32, pCell uintptr, sz int32, pTemp uintptr, iChild Pgno, pRC uintptr) { /* sqlite3.c:73049:13: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -63593,7 +63622,7 @@ type CellArray1 = struct { FszCell uintptr FapEnd [6]uintptr FixNx [6]int32 -} /* sqlite3.c:73214:9 */ +} /* sqlite3.c:73224:9 */ // The following parameters determine how many adjacent pages get involved // in a balancing operation. NN is the number of neighbors on either side @@ -63670,11 +63699,11 @@ type CellArray1 = struct { // cases, ixNx[] entries with higher indexes, and the corresponding apEnd[] // entries, shift down. The end result is that each ixNx[] entry should // be larger than the previous -type CellArray = CellArray1 /* sqlite3.c:73214:26 */ +type CellArray = CellArray1 /* sqlite3.c:73224:26 */ // Make sure the cell sizes at idx, idx+1, ..., idx+N-1 have been // computed. -func populateCellCache(tls *libc.TLS, p uintptr, idx int32, N int32) { /* sqlite3.c:73228:13: */ +func populateCellCache(tls *libc.TLS, p uintptr, idx int32, N int32) { /* sqlite3.c:73238:13: */ for N > 0 { @@ -63691,7 +63720,7 @@ func populateCellCache(tls *libc.TLS, p uintptr, idx int32, N int32) { /* sqlite } // Return the size of the Nth element of the cell array -func computeCellSize(tls *libc.TLS, p uintptr, N int32) U16 { /* sqlite3.c:73246:28: */ +func computeCellSize(tls *libc.TLS, p uintptr, N int32) U16 { /* sqlite3.c:73256:28: */ *(*U16)(unsafe.Pointer((*CellArray)(unsafe.Pointer(p)).FszCell + uintptr(N)*2)) = (*struct { f func(*libc.TLS, uintptr, uintptr) U16 @@ -63699,7 +63728,7 @@ func computeCellSize(tls *libc.TLS, p uintptr, N int32) U16 { /* sqlite3.c:73246 return *(*U16)(unsafe.Pointer((*CellArray)(unsafe.Pointer(p)).FszCell + uintptr(N)*2)) } -func cachedCellSize(tls *libc.TLS, p uintptr, N int32) U16 { /* sqlite3.c:73252:12: */ +func cachedCellSize(tls *libc.TLS, p uintptr, N int32) U16 { /* sqlite3.c:73262:12: */ if *(*U16)(unsafe.Pointer((*CellArray)(unsafe.Pointer(p)).FszCell + uintptr(N)*2)) != 0 { return *(*U16)(unsafe.Pointer((*CellArray)(unsafe.Pointer(p)).FszCell + uintptr(N)*2)) @@ -63718,7 +63747,7 @@ func cachedCellSize(tls *libc.TLS, p uintptr, N int32) U16 { /* sqlite3.c:73252: // // The MemPage.nFree field is invalidated by this function. It is the // responsibility of the caller to set it correctly. -func rebuildPage(tls *libc.TLS, pCArray uintptr, iFirst int32, nCell int32, pPg uintptr) int32 { /* sqlite3.c:73271:12: */ +func rebuildPage(tls *libc.TLS, pCArray uintptr, iFirst int32, nCell int32, pPg uintptr) int32 { /* sqlite3.c:73281:12: */ var hdr int32 = int32((*MemPage)(unsafe.Pointer(pPg)).FhdrOffset) // Offset of header on pPg var aData uintptr = (*MemPage)(unsafe.Pointer(pPg)).FaData // Pointer to data for pPg var usableSize int32 = int32((*BtShared)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPg)).FpBt)).FusableSize) @@ -63749,12 +63778,12 @@ func rebuildPage(tls *libc.TLS, pCArray uintptr, iFirst int32, nCell int32, pPg if Uptr(pCell) >= Uptr(aData+uintptr(j)) && Uptr(pCell) < Uptr(pEnd) { if Uptr(pCell+uintptr(sz)) > Uptr(pEnd) { - return Xsqlite3CorruptError(tls, 73304) + return Xsqlite3CorruptError(tls, 73314) } pCell = pTmp + uintptr((int64(pCell)-int64(aData))/1) } else if Uptr(pCell+uintptr(sz)) > Uptr(pSrcEnd) && Uptr(pCell) < Uptr(pSrcEnd) { - return Xsqlite3CorruptError(tls, 73309) + return Xsqlite3CorruptError(tls, 73319) } pData -= uintptr(sz) @@ -63762,7 +63791,7 @@ func rebuildPage(tls *libc.TLS, pCArray uintptr, iFirst int32, nCell int32, pPg *(*U8)(unsafe.Pointer(pCellptr + 1)) = U8((int64(pData) - int64(aData)) / 1) pCellptr += uintptr(2) if pData < pCellptr { - return Xsqlite3CorruptError(tls, 73315) + return Xsqlite3CorruptError(tls, 73325) } libc.X__builtin___memmove_chk(tls, pData, pCell, uint64(sz), libc.X__builtin_object_size(tls, pData, 0)) @@ -63812,7 +63841,7 @@ func rebuildPage(tls *libc.TLS, pCArray uintptr, iFirst int32, nCell int32, pPg // all cells - not just those inserted by the current call). If the content // area must be extended to before this point in order to accomodate all // cells in apCell[], then the cells do not fit and non-zero is returned. -func pageInsertArray(tls *libc.TLS, pPg uintptr, pBegin uintptr, ppData uintptr, pCellptr uintptr, iFirst int32, nCell int32, pCArray uintptr) int32 { /* sqlite3.c:73361:12: */ +func pageInsertArray(tls *libc.TLS, pPg uintptr, pBegin uintptr, ppData uintptr, pCellptr uintptr, iFirst int32, nCell int32, pCArray uintptr) int32 { /* sqlite3.c:73371:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -63850,7 +63879,7 @@ func pageInsertArray(tls *libc.TLS, pPg uintptr, pBegin uintptr, ppData uintptr, if Uptr(*(*uintptr)(unsafe.Pointer((*CellArray)(unsafe.Pointer(pCArray)).FapCell + uintptr(i)*8))+uintptr(sz)) > Uptr(pEnd) && Uptr(*(*uintptr)(unsafe.Pointer((*CellArray)(unsafe.Pointer(pCArray)).FapCell + uintptr(i)*8))) < Uptr(pEnd) { - Xsqlite3CorruptError(tls, 73400) + Xsqlite3CorruptError(tls, 73410) return 1 } libc.X__builtin___memmove_chk(tls, pSlot, *(*uintptr)(unsafe.Pointer((*CellArray)(unsafe.Pointer(pCArray)).FapCell + uintptr(i)*8)), uint64(sz), libc.X__builtin_object_size(tls, pSlot, 0)) @@ -63877,7 +63906,7 @@ func pageInsertArray(tls *libc.TLS, pPg uintptr, pBegin uintptr, ppData uintptr, // The cell-pointers and other fields of the page are not updated. // // This function returns the total number of cells added to the free-list. -func pageFreeArray(tls *libc.TLS, pPg uintptr, iFirst int32, nCell int32, pCArray uintptr) int32 { /* sqlite3.c:73426:12: */ +func pageFreeArray(tls *libc.TLS, pPg uintptr, iFirst int32, nCell int32, pCArray uintptr) int32 { /* sqlite3.c:73436:12: */ var aData uintptr = (*MemPage)(unsafe.Pointer(pPg)).FaData var pEnd uintptr = aData + uintptr((*BtShared)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPg)).FpBt)).FusableSize) var pStart uintptr = aData + uintptr(int32((*MemPage)(unsafe.Pointer(pPg)).FhdrOffset)+8+int32((*MemPage)(unsafe.Pointer(pPg)).FchildPtrSize)) @@ -63929,7 +63958,7 @@ func pageFreeArray(tls *libc.TLS, pPg uintptr, iFirst int32, nCell int32, pCArra // // The pPg->nFree field is invalid when this function returns. It is the // responsibility of the caller to set it correctly. -func editPage(tls *libc.TLS, pPg uintptr, iOld int32, iNew int32, nNew int32, pCArray uintptr) int32 { /* sqlite3.c:73485:12: */ +func editPage(tls *libc.TLS, pPg uintptr, iOld int32, iNew int32, nNew int32, pCArray uintptr) int32 { /* sqlite3.c:73495:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -63963,7 +63992,7 @@ func editPage(tls *libc.TLS, pPg uintptr, iOld int32, iNew int32, nNew int32, pC if !(nShift > nCell) { goto __2 } - return Xsqlite3CorruptError(tls, 73511) + return Xsqlite3CorruptError(tls, 73521) __2: ; libc.X__builtin___memmove_chk(tls, (*MemPage)(unsafe.Pointer(pPg)).FaCellIdx, (*MemPage)(unsafe.Pointer(pPg)).FaCellIdx+uintptr(nShift*2), uint64(nCell*2), libc.X__builtin_object_size(tls, (*MemPage)(unsafe.Pointer(pPg)).FaCellIdx, 0)) @@ -64103,7 +64132,7 @@ editpage_fail: // byte page number followed by a variable length integer. In other // words, at most 13 bytes. Hence the pSpace buffer must be at // least 13 bytes in size. -func balance_quick(tls *libc.TLS, pParent uintptr, pPage uintptr, pSpace uintptr) int32 { /* sqlite3.c:73614:12: */ +func balance_quick(tls *libc.TLS, pParent uintptr, pPage uintptr, pSpace uintptr) int32 { /* sqlite3.c:73624:12: */ bp := tls.Alloc(140) defer tls.Free(140) @@ -64116,7 +64145,7 @@ func balance_quick(tls *libc.TLS, pParent uintptr, pPage uintptr, pSpace uintptr // Page number of pNew if int32((*MemPage)(unsafe.Pointer(pPage)).FnCell) == 0 { - return Xsqlite3CorruptError(tls, 73624) + return Xsqlite3CorruptError(tls, 73634) } // dbfuzz001.test // Allocate a new page. This page will become the right-sibling of @@ -64214,7 +64243,7 @@ func balance_quick(tls *libc.TLS, pParent uintptr, pPage uintptr, pSpace uintptr // The performance of this function is not critical. It is only used by // the balance_shallower() and balance_deeper() procedures, neither of // which are called often under normal circumstances. -func copyNodeContent(tls *libc.TLS, pFrom uintptr, pTo uintptr, pRC uintptr) { /* sqlite3.c:73769:13: */ +func copyNodeContent(tls *libc.TLS, pFrom uintptr, pTo uintptr, pRC uintptr) { /* sqlite3.c:73779:13: */ if *(*int32)(unsafe.Pointer(pRC)) == SQLITE_OK { var pBt uintptr = (*MemPage)(unsafe.Pointer(pFrom)).FpBt var aFrom uintptr = (*MemPage)(unsafe.Pointer(pFrom)).FaData @@ -64294,7 +64323,7 @@ func copyNodeContent(tls *libc.TLS, pFrom uintptr, pTo uintptr, pRC uintptr) { / // // If aOvflSpace is set to a null pointer, this function returns // SQLITE_NOMEM. -func balance_nonroot(tls *libc.TLS, pParent uintptr, iParentIdx int32, aOvflSpace uintptr, isRoot int32, bBulk int32) int32 { /* sqlite3.c:73851:12: */ +func balance_nonroot(tls *libc.TLS, pParent uintptr, iParentIdx int32, aOvflSpace uintptr, isRoot int32, bBulk int32) int32 { /* sqlite3.c:73861:12: */ bp := tls.Alloc(344) defer tls.Free(344) @@ -64596,7 +64625,7 @@ __22: if !(int32(*(*U8)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pOld)).FaData))) != int32(*(*U8)(unsafe.Pointer((*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 112)))).FaData)))) { goto __25 } - *(*int32)(unsafe.Pointer(bp + 172 /* rc */)) = Xsqlite3CorruptError(tls, 74047) + *(*int32)(unsafe.Pointer(bp + 172 /* rc */)) = Xsqlite3CorruptError(tls, 74057) goto balance_cleanup __25: ; @@ -64624,7 +64653,7 @@ __25: if !(limit < int32(*(*U16)(unsafe.Pointer(pOld + 28)))) { goto __27 } - *(*int32)(unsafe.Pointer(bp + 172 /* rc */)) = Xsqlite3CorruptError(tls, 74071) + *(*int32)(unsafe.Pointer(bp + 172 /* rc */)) = Xsqlite3CorruptError(tls, 74081) goto balance_cleanup __27: ; @@ -64803,7 +64832,7 @@ __52: if !(k > NB+2) { goto __55 } - *(*int32)(unsafe.Pointer(bp + 172 /* rc */)) = Xsqlite3CorruptError(tls, 74172) + *(*int32)(unsafe.Pointer(bp + 172 /* rc */)) = Xsqlite3CorruptError(tls, 74182) goto balance_cleanup __55: ; @@ -64877,7 +64906,7 @@ __65: }()) { goto __67 } - *(*int32)(unsafe.Pointer(bp + 172 /* rc */)) = Xsqlite3CorruptError(tls, 74205) + *(*int32)(unsafe.Pointer(bp + 172 /* rc */)) = Xsqlite3CorruptError(tls, 74215) goto balance_cleanup __67: ; @@ -64950,7 +64979,7 @@ __73: }()) { goto __75 } - *(*int32)(unsafe.Pointer(bp + 172 /* rc */)) = Xsqlite3CorruptError(tls, 74247) + *(*int32)(unsafe.Pointer(bp + 172 /* rc */)) = Xsqlite3CorruptError(tls, 74257) goto balance_cleanup __75: ; @@ -64987,7 +65016,7 @@ __76: *(*int32)(unsafe.Pointer(bp + 172)) == SQLITE_OK) { goto __81 } - *(*int32)(unsafe.Pointer(bp + 172 /* rc */)) = Xsqlite3CorruptError(tls, 74280) + *(*int32)(unsafe.Pointer(bp + 172 /* rc */)) = Xsqlite3CorruptError(tls, 74290) __81: ; if !(*(*int32)(unsafe.Pointer(bp + 172)) != 0) { @@ -65071,7 +65100,7 @@ __89: // cache with two separate objects associated with the same // page number. - *(*int32)(unsafe.Pointer(bp + 172 /* rc */)) = Xsqlite3CorruptError(tls, 74326) + *(*int32)(unsafe.Pointer(bp + 172 /* rc */)) = Xsqlite3CorruptError(tls, 74336) goto balance_cleanup __92: ; @@ -65324,7 +65353,7 @@ __125: if !(Uptr(pSrcEnd) >= Uptr(pCell1) && Uptr(pSrcEnd) < Uptr(pCell1+uintptr(sz2))) { goto __126 } - *(*int32)(unsafe.Pointer(bp + 172 /* rc */)) = Xsqlite3CorruptError(tls, 74483) + *(*int32)(unsafe.Pointer(bp + 172 /* rc */)) = Xsqlite3CorruptError(tls, 74493) goto balance_cleanup __126: ; @@ -65546,7 +65575,7 @@ __150: // page and SQLITE_OK is returned. In this case the caller is required // to call releasePage() on *ppChild exactly once. If an error occurs, // an error code is returned and *ppChild is set to 0. -func balance_deeper(tls *libc.TLS, pRoot uintptr, ppChild uintptr) int32 { /* sqlite3.c:74648:12: */ +func balance_deeper(tls *libc.TLS, pRoot uintptr, ppChild uintptr) int32 { /* sqlite3.c:74658:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -65595,13 +65624,13 @@ func balance_deeper(tls *libc.TLS, pRoot uintptr, ppChild uintptr) int32 { /* sq // table linked to the same b-tree. If the secondary insert causes a // rebalance, that can change content out from under the cursor on the // first SQL table, violating invariants on the first insert. -func anotherValidCursor(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:74706:12: */ +func anotherValidCursor(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:74716:12: */ var pOther uintptr for pOther = (*BtShared)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pCur)).FpBt)).FpCursor; pOther != 0; pOther = (*BtCursor)(unsafe.Pointer(pOther)).FpNext { if pOther != pCur && int32((*BtCursor)(unsafe.Pointer(pOther)).FeState) == CURSOR_VALID && (*BtCursor)(unsafe.Pointer(pOther)).FpPage == (*BtCursor)(unsafe.Pointer(pCur)).FpPage { - return Xsqlite3CorruptError(tls, 74713) + return Xsqlite3CorruptError(tls, 74723) } } return SQLITE_OK @@ -65615,7 +65644,7 @@ func anotherValidCursor(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:74706: // balance_quick() // balance_deeper() // balance_nonroot() -func balance(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:74729:12: */ +func balance(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:74739:12: */ bp := tls.Alloc(13) defer tls.Free(13) @@ -65734,7 +65763,7 @@ func balance(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:74729:12: */ // Overwrite content from pX into pDest. Only do the write if the // content is different from what is already there. -func btreeOverwriteContent(tls *libc.TLS, pPage uintptr, pDest uintptr, pX uintptr, iOffset int32, iAmt int32) int32 { /* sqlite3.c:74855:12: */ +func btreeOverwriteContent(tls *libc.TLS, pPage uintptr, pDest uintptr, pX uintptr, iOffset int32, iAmt int32) int32 { /* sqlite3.c:74865:12: */ var nData int32 = (*BtreePayload)(unsafe.Pointer(pX)).FnData - iOffset if nData <= 0 { // Overwritting with zeros @@ -65776,7 +65805,7 @@ func btreeOverwriteContent(tls *libc.TLS, pPage uintptr, pDest uintptr, pX uintp // Overwrite the cell that cursor pCur is pointing to with fresh content // contained in pX. -func btreeOverwriteCell(tls *libc.TLS, pCur uintptr, pX uintptr) int32 { /* sqlite3.c:74898:12: */ +func btreeOverwriteCell(tls *libc.TLS, pCur uintptr, pX uintptr) int32 { /* sqlite3.c:74908:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -65790,7 +65819,7 @@ func btreeOverwriteCell(tls *libc.TLS, pCur uintptr, pX uintptr) int32 { /* sqli if (*BtCursor)(unsafe.Pointer(pCur)).Finfo.FpPayload+uintptr((*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnLocal) > (*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FaDataEnd || (*BtCursor)(unsafe.Pointer(pCur)).Finfo.FpPayload < (*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FaData+uintptr((*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FcellOffset) { - return Xsqlite3CorruptError(tls, 74910) + return Xsqlite3CorruptError(tls, 74920) } // Overwrite the local portion first rc = btreeOverwriteContent(tls, *(*uintptr)(unsafe.Pointer(bp /* pPage */)), (*BtCursor)(unsafe.Pointer(pCur)).Finfo.FpPayload, pX, @@ -65814,7 +65843,7 @@ func btreeOverwriteCell(tls *libc.TLS, pCur uintptr, pX uintptr) int32 { /* sqli return rc } if Xsqlite3PagerPageRefcount(tls, (*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FpDbPage) != 1 || (*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FisInit != 0 { - rc = Xsqlite3CorruptError(tls, 74929) + rc = Xsqlite3CorruptError(tls, 74939) } else { if U32(iOffset)+ovflPageSize < U32(nTotal) { ovflPgno = Xsqlite3Get4byte(tls, (*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* pPage */)))).FaData) @@ -65861,7 +65890,7 @@ func btreeOverwriteCell(tls *libc.TLS, pCur uintptr, pX uintptr) int32 { /* sqli // if pX->nMem is non-zero, then pX->aMem contains pointers to the unpacked // key values and pX->aMem can be used instead of pX->pKey to avoid having // to decode the key. -func Xsqlite3BtreeInsert(tls *libc.TLS, pCur uintptr, pX uintptr, flags int32, seekResult int32) int32 { /* sqlite3.c:74977:20: */ +func Xsqlite3BtreeInsert(tls *libc.TLS, pCur uintptr, pX uintptr, flags int32, seekResult int32) int32 { /* sqlite3.c:74987:20: */ bp := tls.Alloc(136) defer tls.Free(136) @@ -65891,20 +65920,6 @@ func Xsqlite3BtreeInsert(tls *libc.TLS, pCur uintptr, pX uintptr, flags int32, s pBt = (*Btree)(unsafe.Pointer(p)).FpBt newCell = uintptr(0) - if !(int32((*BtCursor)(unsafe.Pointer(pCur)).FeState) == CURSOR_FAULT) { - goto __1 - } - - return (*BtCursor)(unsafe.Pointer(pCur)).FskipNext -__1: - ; - - // Assert that the caller has been consistent. If this cursor was opened - // expecting an index b-tree, then the caller should be inserting blob - // keys with no associated data. If the cursor was opened expecting an - // intkey table, the caller should be inserting integer keys with a - // blob of associated data. - // Save the positions of any other cursors open on this table. // // In some cases, the call to btreeMoveto() below is a no-op. For @@ -65916,40 +65931,59 @@ __1: // doing any work. To avoid thwarting these optimizations, it is important // not to clear the cursor here. if !(int32((*BtCursor)(unsafe.Pointer(pCur)).FcurFlags)&BTCF_Multiple != 0) { - goto __2 + goto __1 } *(*int32)(unsafe.Pointer(bp + 104 /* rc */)) = saveAllCursors(tls, pBt, (*BtCursor)(unsafe.Pointer(pCur)).FpgnoRoot, pCur) if !(*(*int32)(unsafe.Pointer(bp + 104)) != 0) { - goto __3 + goto __2 } return *(*int32)(unsafe.Pointer(bp + 104 /* rc */)) -__3: +__2: ; if !(*(*int32)(unsafe.Pointer(bp)) != 0 && int32((*BtCursor)(unsafe.Pointer(pCur)).FiPage) < 0) { - goto __4 + goto __3 } // This can only happen if the schema is corrupt such that there is more // than one table or index with the same root page as used by the cursor. // 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 Xsqlite3CorruptError(tls, 75034) -__4: + return Xsqlite3CorruptError(tls, 75026) +__3: ; -__2: +__1: ; - if !((*BtCursor)(unsafe.Pointer(pCur)).FpKeyInfo == uintptr(0)) { + if !(int32((*BtCursor)(unsafe.Pointer(pCur)).FeState) >= CURSOR_REQUIRESEEK) { + goto __4 + } + *(*int32)(unsafe.Pointer(bp + 104 /* rc */)) = moveToRoot(tls, pCur) + if !(*(*int32)(unsafe.Pointer(bp + 104)) != 0 && *(*int32)(unsafe.Pointer(bp + 104)) != SQLITE_EMPTY) { goto __5 } + return *(*int32)(unsafe.Pointer(bp + 104 /* rc */)) +__5: + ; +__4: + ; + + // Assert that the caller has been consistent. If this cursor was opened + // expecting an index b-tree, then the caller should be inserting blob + // keys with no associated data. If the cursor was opened expecting an + // intkey table, the caller should be inserting integer keys with a + // blob of associated data. + + if !((*BtCursor)(unsafe.Pointer(pCur)).FpKeyInfo == uintptr(0)) { + goto __6 + } // If this is an insert into a table b-tree, invalidate any incrblob // cursors open on the row being replaced if !((*Btree)(unsafe.Pointer(p)).FhasIncrblobCur != 0) { - goto __7 + goto __8 } invalidateIncrblobCursors(tls, p, (*BtCursor)(unsafe.Pointer(pCur)).FpgnoRoot, (*BtreePayload)(unsafe.Pointer(pX)).FnKey, 0) -__7: +__8: ; // If BTREE_SAVEPOSITION is set, the cursor must already be pointing @@ -65959,24 +65993,24 @@ __7: // that the cursor is not pointing to a row to be overwritten. // So do a complete check. if !(int32((*BtCursor)(unsafe.Pointer(pCur)).FcurFlags)&BTCF_ValidNKey != 0 && (*BtreePayload)(unsafe.Pointer(pX)).FnKey == (*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnKey) { - goto __8 + goto __9 } // The cursor is pointing to the entry that is to be // overwritten if !(int32((*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnSize) != 0 && (*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnPayload == U32((*BtreePayload)(unsafe.Pointer(pX)).FnData)+U32((*BtreePayload)(unsafe.Pointer(pX)).FnZero)) { - goto __10 + goto __11 } // New entry is the same size as the old. Do an overwrite return btreeOverwriteCell(tls, pCur, pX) -__10: +__11: ; - goto __9 -__8: + goto __10 +__9: if !(*(*int32)(unsafe.Pointer(bp)) == 0) { - goto __11 + goto __12 } // The cursor is *not* pointing to the cell to be overwritten, nor // to an adjacent cell. Move the cursor so that it is pointing either @@ -65984,17 +66018,17 @@ __8: *(*int32)(unsafe.Pointer(bp + 104 /* rc */)) = Xsqlite3BtreeTableMoveto(tls, pCur, (*BtreePayload)(unsafe.Pointer(pX)).FnKey, libc.Bool32(flags&BTREE_APPEND != 0), bp) if !(*(*int32)(unsafe.Pointer(bp + 104)) != 0) { - goto __12 + goto __13 } return *(*int32)(unsafe.Pointer(bp + 104 /* rc */)) -__12: +__13: ; -__11: +__12: ; -__9: +__10: ; - goto __6 -__5: + goto __7 +__6: // This is an index or a WITHOUT ROWID table // If BTREE_SAVEPOSITION is set, the cursor must already be pointing @@ -66006,10 +66040,10 @@ __5: // not pointing to an immediately adjacent cell, then move the cursor // so that it does. if !(*(*int32)(unsafe.Pointer(bp)) == 0 && flags&BTREE_SAVEPOSITION == 0) { - goto __13 + goto __14 } if !((*BtreePayload)(unsafe.Pointer(pX)).FnMem != 0) { - goto __14 + goto __15 } (*UnpackedRecord)(unsafe.Pointer(bp + 8 /* &r */)).FpKeyInfo = (*BtCursor)(unsafe.Pointer(pCur)).FpKeyInfo (*UnpackedRecord)(unsafe.Pointer(bp + 8 /* &r */)).FaMem = (*BtreePayload)(unsafe.Pointer(pX)).FaMem @@ -66017,147 +66051,147 @@ __5: (*UnpackedRecord)(unsafe.Pointer(bp + 8 /* &r */)).Fdefault_rc = int8(0) (*UnpackedRecord)(unsafe.Pointer(bp + 8 /* &r */)).FeqSeen = U8(0) *(*int32)(unsafe.Pointer(bp + 104 /* rc */)) = Xsqlite3BtreeIndexMoveto(tls, pCur, bp+8, bp) - goto __15 -__14: + goto __16 +__15: *(*int32)(unsafe.Pointer(bp + 104 /* rc */)) = btreeMoveto(tls, pCur, (*BtreePayload)(unsafe.Pointer(pX)).FpKey, (*BtreePayload)(unsafe.Pointer(pX)).FnKey, libc.Bool32(flags&BTREE_APPEND != 0), bp) -__15: +__16: ; if !(*(*int32)(unsafe.Pointer(bp + 104)) != 0) { - goto __16 + goto __17 } return *(*int32)(unsafe.Pointer(bp + 104 /* rc */)) -__16: +__17: ; -__13: +__14: ; // If the cursor is currently pointing to an entry to be overwritten // and the new content is the same as as the old, then use the // overwrite optimization. if !(*(*int32)(unsafe.Pointer(bp)) == 0) { - goto __17 + goto __18 } getCellInfo(tls, pCur) if !((*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnKey == (*BtreePayload)(unsafe.Pointer(pX)).FnKey) { - goto __18 + goto __19 } (*BtreePayload)(unsafe.Pointer(bp + 32 /* &x2 */)).FpData = (*BtreePayload)(unsafe.Pointer(pX)).FpKey (*BtreePayload)(unsafe.Pointer(bp + 32 /* &x2 */)).FnData = int32((*BtreePayload)(unsafe.Pointer(pX)).FnKey) (*BtreePayload)(unsafe.Pointer(bp + 32 /* &x2 */)).FnZero = 0 return btreeOverwriteCell(tls, pCur, bp+32) -__18: +__19: ; -__17: +__18: ; -__6: +__7: ; pPage = (*BtCursor)(unsafe.Pointer(pCur)).FpPage if !((*MemPage)(unsafe.Pointer(pPage)).FnFree < 0) { - goto __19 + goto __20 } if !(int32((*BtCursor)(unsafe.Pointer(pCur)).FeState) > CURSOR_INVALID) { - goto __20 + goto __21 } - *(*int32)(unsafe.Pointer(bp + 104 /* rc */)) = Xsqlite3CorruptError(tls, 75134) - goto __21 -__20: - *(*int32)(unsafe.Pointer(bp + 104 /* rc */)) = btreeComputeFreeSpace(tls, pPage) + *(*int32)(unsafe.Pointer(bp + 104 /* rc */)) = Xsqlite3CorruptError(tls, 75143) + goto __22 __21: + *(*int32)(unsafe.Pointer(bp + 104 /* rc */)) = btreeComputeFreeSpace(tls, pPage) +__22: ; if !(*(*int32)(unsafe.Pointer(bp + 104)) != 0) { - goto __22 + goto __23 } return *(*int32)(unsafe.Pointer(bp + 104 /* rc */)) -__22: +__23: ; -__19: +__20: ; newCell = (*BtShared)(unsafe.Pointer(pBt)).FpTmpSpace if !(flags&BTREE_PREFORMAT != 0) { - goto __23 + goto __24 } *(*int32)(unsafe.Pointer(bp + 104 /* rc */)) = SQLITE_OK *(*int32)(unsafe.Pointer(bp + 108 /* szNew */)) = (*BtShared)(unsafe.Pointer(pBt)).FnPreformatSize if !(*(*int32)(unsafe.Pointer(bp + 108)) < 4) { - goto __25 + goto __26 } *(*int32)(unsafe.Pointer(bp + 108 /* szNew */)) = 4 -__25: +__26: ; if !((*BtShared)(unsafe.Pointer(pBt)).FautoVacuum != 0 && *(*int32)(unsafe.Pointer(bp + 108)) > int32((*MemPage)(unsafe.Pointer(pPage)).FmaxLocal)) { - goto __26 + goto __27 } (*struct { f func(*libc.TLS, uintptr, uintptr, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*MemPage)(unsafe.Pointer(pPage)).FxParseCell})).f(tls, pPage, newCell, bp+80 /* &info */) if !((*CellInfo)(unsafe.Pointer(bp+80)).FnPayload != U32((*CellInfo)(unsafe.Pointer(bp+80)).FnLocal)) { - goto __27 + goto __28 } ovfl = Xsqlite3Get4byte(tls, newCell+uintptr(*(*int32)(unsafe.Pointer(bp + 108))-4)) ptrmapPut(tls, pBt, ovfl, uint8(PTRMAP_OVERFLOW1), (*MemPage)(unsafe.Pointer(pPage)).Fpgno, bp+104) -__27: +__28: ; -__26: +__27: ; - goto __24 -__23: - *(*int32)(unsafe.Pointer(bp + 104 /* rc */)) = fillInCell(tls, pPage, newCell, pX, bp+108) + goto __25 __24: + *(*int32)(unsafe.Pointer(bp + 104 /* rc */)) = fillInCell(tls, pPage, newCell, pX, bp+108) +__25: ; if !(*(*int32)(unsafe.Pointer(bp + 104)) != 0) { - goto __28 + goto __29 } goto end_insert -__28: +__29: ; idx = int32((*BtCursor)(unsafe.Pointer(pCur)).Fix) if !(*(*int32)(unsafe.Pointer(bp)) == 0) { - goto __29 + goto __30 } if !(idx >= int32((*MemPage)(unsafe.Pointer(pPage)).FnCell)) { - goto __31 + goto __32 } - return Xsqlite3CorruptError(tls, 75170) -__31: + return Xsqlite3CorruptError(tls, 75179) +__32: ; *(*int32)(unsafe.Pointer(bp + 104 /* rc */)) = Xsqlite3PagerWrite(tls, (*MemPage)(unsafe.Pointer(pPage)).FpDbPage) if !(*(*int32)(unsafe.Pointer(bp + 104)) != 0) { - goto __32 + goto __33 } goto end_insert -__32: +__33: ; oldCell = (*MemPage)(unsafe.Pointer(pPage)).FaData + uintptr(int32((*MemPage)(unsafe.Pointer(pPage)).FmaskPage)&(int32(*(*U8)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPage)).FaCellIdx + uintptr(2*idx))))<<8|int32(*(*U8)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPage)).FaCellIdx + uintptr(2*idx) + 1))))) if !!(int32((*MemPage)(unsafe.Pointer(pPage)).Fleaf) != 0) { - goto __33 + goto __34 } libc.X__builtin___memcpy_chk(tls, newCell, oldCell, uint64(4), libc.X__builtin_object_size(tls, newCell, 0)) -__33: +__34: ; (*struct { f func(*libc.TLS, uintptr, uintptr, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*MemPage)(unsafe.Pointer(pPage)).FxParseCell})).f(tls, pPage, oldCell, bp+112 /* &info1 */) if !(U32((*CellInfo)(unsafe.Pointer(bp+112 /* &info1 */)).FnLocal) != (*CellInfo)(unsafe.Pointer(bp+112 /* &info1 */)).FnPayload) { - goto __34 + goto __35 } *(*int32)(unsafe.Pointer(bp + 104 /* rc */)) = clearCellOverflow(tls, pPage, oldCell, bp+112 /* &info1 */) - goto __35 -__34: - *(*int32)(unsafe.Pointer(bp + 104 /* rc */)) = SQLITE_OK + goto __36 __35: + *(*int32)(unsafe.Pointer(bp + 104 /* rc */)) = SQLITE_OK +__36: ; *(*U8)(unsafe.Pointer(pCur + 1)) &= libc.Uint8FromInt32(libc.CplInt32(BTCF_ValidOvfl)) if !(int32((*CellInfo)(unsafe.Pointer(bp+112)).FnSize) == *(*int32)(unsafe.Pointer(bp + 108)) && U32((*CellInfo)(unsafe.Pointer(bp+112)).FnLocal) == (*CellInfo)(unsafe.Pointer(bp+112)).FnPayload && (!(int32((*BtShared)(unsafe.Pointer(pBt)).FautoVacuum) != 0) || *(*int32)(unsafe.Pointer(bp + 108)) < int32((*MemPage)(unsafe.Pointer(pPage)).FminLocal))) { - goto __36 + goto __37 } // Overwrite the old cell with the new if they are the same size. // We could also try to do this if the old cell is smaller, then add @@ -66170,42 +66204,42 @@ __35: // necessary to add the PTRMAP_OVERFLOW1 pointer-map entry. // clearCell never fails when nLocal==nPayload if !(oldCell < (*MemPage)(unsafe.Pointer(pPage)).FaData+uintptr((*MemPage)(unsafe.Pointer(pPage)).FhdrOffset)+uintptr(10)) { - goto __37 + goto __38 } - return Xsqlite3CorruptError(tls, 75197) -__37: + return Xsqlite3CorruptError(tls, 75206) +__38: ; if !(oldCell+uintptr(*(*int32)(unsafe.Pointer(bp + 108))) > (*MemPage)(unsafe.Pointer(pPage)).FaDataEnd) { - goto __38 + goto __39 } - return Xsqlite3CorruptError(tls, 75200) -__38: + return Xsqlite3CorruptError(tls, 75209) +__39: ; libc.X__builtin___memcpy_chk(tls, oldCell, newCell, uint64(*(*int32)(unsafe.Pointer(bp + 108 /* szNew */))), libc.X__builtin_object_size(tls, oldCell, 0)) return SQLITE_OK -__36: +__37: ; dropCell(tls, pPage, idx, int32((*CellInfo)(unsafe.Pointer(bp+112 /* &info1 */)).FnSize), bp+104) if !(*(*int32)(unsafe.Pointer(bp + 104)) != 0) { - goto __39 + goto __40 } goto end_insert -__39: +__40: ; - goto __30 -__29: + goto __31 +__30: if !(*(*int32)(unsafe.Pointer(bp)) < 0 && int32((*MemPage)(unsafe.Pointer(pPage)).FnCell) > 0) { - goto __40 + goto __41 } idx = int32(libc.PreIncUint16(&(*BtCursor)(unsafe.Pointer(pCur)).Fix, 1)) *(*U8)(unsafe.Pointer(pCur + 1)) &= libc.Uint8FromInt32(libc.CplInt32(BTCF_ValidNKey)) - goto __41 -__40: - ; + goto __42 __41: ; -__30: +__42: + ; +__31: ; insertCell(tls, pPage, idx, newCell, *(*int32)(unsafe.Pointer(bp + 108 /* szNew */)), uintptr(0), uint32(0), bp+104) @@ -66230,7 +66264,7 @@ __30: // row without seeking the cursor. This can be a big performance boost. (*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnSize = U16(0) if !((*MemPage)(unsafe.Pointer(pPage)).FnOverflow != 0) { - goto __42 + goto __43 } *(*U8)(unsafe.Pointer(pCur + 1)) &= libc.Uint8FromInt32(libc.CplInt32(BTCF_ValidNKey)) @@ -66243,30 +66277,30 @@ __30: (*MemPage)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pCur)).FpPage)).FnOverflow = U8(0) (*BtCursor)(unsafe.Pointer(pCur)).FeState = U8(CURSOR_INVALID) if !(flags&BTREE_SAVEPOSITION != 0 && *(*int32)(unsafe.Pointer(bp + 104)) == SQLITE_OK) { - goto __43 + goto __44 } btreeReleaseAllCursorPages(tls, pCur) if !((*BtCursor)(unsafe.Pointer(pCur)).FpKeyInfo != 0) { - goto __44 + goto __45 } (*BtCursor)(unsafe.Pointer(pCur)).FpKey = Xsqlite3Malloc(tls, uint64((*BtreePayload)(unsafe.Pointer(pX)).FnKey)) if !((*BtCursor)(unsafe.Pointer(pCur)).FpKey == uintptr(0)) { - goto __45 + goto __46 } *(*int32)(unsafe.Pointer(bp + 104 /* rc */)) = SQLITE_NOMEM - goto __46 -__45: - libc.X__builtin___memcpy_chk(tls, (*BtCursor)(unsafe.Pointer(pCur)).FpKey, (*BtreePayload)(unsafe.Pointer(pX)).FpKey, uint64((*BtreePayload)(unsafe.Pointer(pX)).FnKey), libc.X__builtin_object_size(tls, (*BtCursor)(unsafe.Pointer(pCur)).FpKey, 0)) + goto __47 __46: + libc.X__builtin___memcpy_chk(tls, (*BtCursor)(unsafe.Pointer(pCur)).FpKey, (*BtreePayload)(unsafe.Pointer(pX)).FpKey, uint64((*BtreePayload)(unsafe.Pointer(pX)).FnKey), libc.X__builtin_object_size(tls, (*BtCursor)(unsafe.Pointer(pCur)).FpKey, 0)) +__47: ; -__44: +__45: ; (*BtCursor)(unsafe.Pointer(pCur)).FeState = U8(CURSOR_REQUIRESEEK) (*BtCursor)(unsafe.Pointer(pCur)).FnKey = (*BtreePayload)(unsafe.Pointer(pX)).FnKey -__43: +__44: ; -__42: +__43: ; end_insert: @@ -66286,7 +66320,7 @@ end_insert: // calling sqlite3BtreeInsert() with the BTREE_PREFORMAT flag specified. // // SQLITE_OK is returned if successful, or an SQLite error code otherwise. -func Xsqlite3BtreeTransferRow(tls *libc.TLS, pDest uintptr, pSrc uintptr, iKey I64) int32 { /* sqlite3.c:75286:20: */ +func Xsqlite3BtreeTransferRow(tls *libc.TLS, pDest uintptr, pSrc uintptr, iKey I64) int32 { /* sqlite3.c:75295:20: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -66313,7 +66347,7 @@ func Xsqlite3BtreeTransferRow(tls *libc.TLS, pDest uintptr, pSrc uintptr, iKey I nIn = U32((*BtCursor)(unsafe.Pointer(pSrc)).Finfo.FnLocal) aIn = (*BtCursor)(unsafe.Pointer(pSrc)).Finfo.FpPayload if aIn+uintptr(nIn) > (*MemPage)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pSrc)).FpPage)).FaDataEnd { - return Xsqlite3CorruptError(tls, 75300) + return Xsqlite3CorruptError(tls, 75309) } nRem = (*BtCursor)(unsafe.Pointer(pSrc)).Finfo.FnPayload if nIn == nRem && nIn < U32((*MemPage)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pDest)).FpPage)).FmaxLocal) { @@ -66336,7 +66370,7 @@ func Xsqlite3BtreeTransferRow(tls *libc.TLS, pDest uintptr, pSrc uintptr, iKey I if nRem > nIn { if aIn+uintptr(nIn)+uintptr(4) > (*MemPage)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pSrc)).FpPage)).FaDataEnd { - return Xsqlite3CorruptError(tls, 75323) + return Xsqlite3CorruptError(tls, 75332) } ovflIn = Xsqlite3Get4byte(tls, (*BtCursor)(unsafe.Pointer(pSrc)).Finfo.FpPayload+uintptr(nIn)) } @@ -66418,7 +66452,7 @@ func Xsqlite3BtreeTransferRow(tls *libc.TLS, pDest uintptr, pSrc uintptr, iKey I // operation on non-FORDELETE cursors is tagged with the AUXDELETE flag. // The BTREE_AUXDELETE bit is a hint that is not used by this implementation, // but which might be used by alternative storage engines. -func Xsqlite3BtreeDelete(tls *libc.TLS, pCur uintptr, flags U8) int32 { /* sqlite3.c:75396:20: */ +func Xsqlite3BtreeDelete(tls *libc.TLS, pCur uintptr, flags U8) int32 { /* sqlite3.c:75405:20: */ bp := tls.Alloc(28) defer tls.Free(28) @@ -66434,11 +66468,15 @@ func Xsqlite3BtreeDelete(tls *libc.TLS, pCur uintptr, flags U8) int32 { /* sqlit // Size of the cell being deleted var bPreserve U8 // Keep cursor valid. 2 for CURSOR_SKIPNEXT - if int32((*BtCursor)(unsafe.Pointer(pCur)).FeState) == CURSOR_REQUIRESEEK { - *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) = btreeRestoreCursorPosition(tls, pCur) + if int32((*BtCursor)(unsafe.Pointer(pCur)).FeState) != CURSOR_VALID { + if int32((*BtCursor)(unsafe.Pointer(pCur)).FeState) >= CURSOR_REQUIRESEEK { + *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) = btreeRestoreCursorPosition(tls, pCur) - if *(*int32)(unsafe.Pointer(bp + 24)) != 0 || int32((*BtCursor)(unsafe.Pointer(pCur)).FeState) != CURSOR_VALID { - return *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) + if *(*int32)(unsafe.Pointer(bp + 24)) != 0 || int32((*BtCursor)(unsafe.Pointer(pCur)).FeState) != CURSOR_VALID { + return *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) + } + } else { + return Xsqlite3CorruptError(tls, 75429) } } @@ -66446,11 +66484,11 @@ func Xsqlite3BtreeDelete(tls *libc.TLS, pCur uintptr, flags U8) int32 { /* sqlit iCellIdx = int32((*BtCursor)(unsafe.Pointer(pCur)).Fix) pPage = (*BtCursor)(unsafe.Pointer(pCur)).FpPage if int32((*MemPage)(unsafe.Pointer(pPage)).FnCell) <= iCellIdx { - return Xsqlite3CorruptError(tls, 75425) + return Xsqlite3CorruptError(tls, 75438) } pCell = (*MemPage)(unsafe.Pointer(pPage)).FaData + uintptr(int32((*MemPage)(unsafe.Pointer(pPage)).FmaskPage)&(int32(*(*U8)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPage)).FaCellIdx + uintptr(2*iCellIdx))))<<8|int32(*(*U8)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPage)).FaCellIdx + uintptr(2*iCellIdx) + 1))))) if (*MemPage)(unsafe.Pointer(pPage)).FnFree < 0 && btreeComputeFreeSpace(tls, pPage) != 0 { - return Xsqlite3CorruptError(tls, 75429) + return Xsqlite3CorruptError(tls, 75442) } // If the BTREE_SAVEPOSITION bit is on, then the cursor position must @@ -66559,7 +66597,7 @@ func Xsqlite3BtreeDelete(tls *libc.TLS, pCur uintptr, flags U8) int32 { /* sqlit } pCell = (*MemPage)(unsafe.Pointer(pLeaf)).FaData + uintptr(int32((*MemPage)(unsafe.Pointer(pLeaf)).FmaskPage)&(int32(*(*U8)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pLeaf)).FaCellIdx + uintptr(2*(int32((*MemPage)(unsafe.Pointer(pLeaf)).FnCell)-1)))))<<8|int32(*(*U8)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pLeaf)).FaCellIdx + uintptr(2*(int32((*MemPage)(unsafe.Pointer(pLeaf)).FnCell)-1)) + 1))))) if pCell < (*MemPage)(unsafe.Pointer(pLeaf)).FaData+4 { - return Xsqlite3CorruptError(tls, 75519) + return Xsqlite3CorruptError(tls, 75532) } nCell = int32((*struct { f func(*libc.TLS, uintptr, uintptr) U16 @@ -66636,7 +66674,7 @@ func Xsqlite3BtreeDelete(tls *libc.TLS, pCur uintptr, flags U8) int32 { /* sqlit // // BTREE_INTKEY|BTREE_LEAFDATA Used for SQL tables with rowid keys // BTREE_ZERODATA Used for SQL indices -func btreeCreateTable(tls *libc.TLS, p uintptr, piTable uintptr, createTabFlags int32) int32 { /* sqlite3.c:75593:12: */ +func btreeCreateTable(tls *libc.TLS, p uintptr, piTable uintptr, createTabFlags int32) int32 { /* sqlite3.c:75606:12: */ bp := tls.Alloc(44) defer tls.Free(44) @@ -66666,7 +66704,7 @@ func btreeCreateTable(tls *libc.TLS, p uintptr, piTable uintptr, createTabFlags // created so far, so the new root-page is (meta[3]+1). Xsqlite3BtreeGetMeta(tls, p, BTREE_LARGEST_ROOT_PAGE, bp) if *(*Pgno)(unsafe.Pointer(bp)) > btreePagecount(tls, pBt) { - return Xsqlite3CorruptError(tls, 75627) + return Xsqlite3CorruptError(tls, 75640) } *(*Pgno)(unsafe.Pointer(bp /* pgnoRoot */))++ @@ -66709,7 +66747,7 @@ func btreeCreateTable(tls *libc.TLS, p uintptr, piTable uintptr, createTabFlags } *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = ptrmapGet(tls, pBt, *(*Pgno)(unsafe.Pointer(bp /* pgnoRoot */)), bp+32, bp+36) if int32(*(*U8)(unsafe.Pointer(bp + 32))) == PTRMAP_ROOTPAGE || int32(*(*U8)(unsafe.Pointer(bp + 32))) == PTRMAP_FREEPAGE { - *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = Xsqlite3CorruptError(tls, 75675) + *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = Xsqlite3CorruptError(tls, 75688) } if *(*int32)(unsafe.Pointer(bp + 40)) != SQLITE_OK { releasePage(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* pRoot */))) @@ -66772,7 +66810,7 @@ func btreeCreateTable(tls *libc.TLS, p uintptr, piTable uintptr, createTabFlags return SQLITE_OK } -func Xsqlite3BtreeCreateTable(tls *libc.TLS, p uintptr, piTable uintptr, flags int32) int32 { /* sqlite3.c:75738:20: */ +func Xsqlite3BtreeCreateTable(tls *libc.TLS, p uintptr, piTable uintptr, flags int32) int32 { /* sqlite3.c:75751:20: */ var rc int32 Xsqlite3BtreeEnter(tls, p) rc = btreeCreateTable(tls, p, piTable, flags) @@ -66782,7 +66820,7 @@ func Xsqlite3BtreeCreateTable(tls *libc.TLS, p uintptr, piTable uintptr, flags i // Erase the given database page and all its children. Return // the page to the freelist. -func clearDatabasePage(tls *libc.TLS, pBt uintptr, pgno Pgno, freePageFlag int32, pnChange uintptr) int32 { /* sqlite3.c:75750:12: */ +func clearDatabasePage(tls *libc.TLS, pBt uintptr, pgno Pgno, freePageFlag int32, pnChange uintptr) int32 { /* sqlite3.c:75763:12: */ bp := tls.Alloc(36) defer tls.Free(36) @@ -66798,7 +66836,7 @@ func clearDatabasePage(tls *libc.TLS, pBt uintptr, pgno Pgno, freePageFlag int32 if !(pgno > btreePagecount(tls, pBt)) { goto __1 } - return Xsqlite3CorruptError(tls, 75765) + return Xsqlite3CorruptError(tls, 75778) __1: ; *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) = getAndInitPage(tls, pBt, pgno, bp, uintptr(0), 0) @@ -66812,7 +66850,7 @@ __2: Xsqlite3PagerPageRefcount(tls, (*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FpDbPage) != 1+libc.Bool32(pgno == Pgno(1))) { goto __3 } - *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) = Xsqlite3CorruptError(tls, 75772) + *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) = Xsqlite3CorruptError(tls, 75785) goto cleardatabasepage_out __3: ; @@ -66916,7 +66954,7 @@ cleardatabasepage_out: // // If pnChange is not NULL, then the integer value pointed to by pnChange // is incremented by the number of entries in the table. -func Xsqlite3BtreeClearTable(tls *libc.TLS, p uintptr, iTable int32, pnChange uintptr) int32 { /* sqlite3.c:75817:20: */ +func Xsqlite3BtreeClearTable(tls *libc.TLS, p uintptr, iTable int32, pnChange uintptr) int32 { /* sqlite3.c:75830:20: */ var rc int32 var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt Xsqlite3BtreeEnter(tls, p) @@ -66939,7 +66977,7 @@ func Xsqlite3BtreeClearTable(tls *libc.TLS, p uintptr, iTable int32, pnChange ui // Delete all information from the single table that pCur is open on. // // This routine only work for pCur on an ephemeral table. -func Xsqlite3BtreeClearTableOfCursor(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:75843:20: */ +func Xsqlite3BtreeClearTableOfCursor(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:75856:20: */ return Xsqlite3BtreeClearTable(tls, (*BtCursor)(unsafe.Pointer(pCur)).FpBtree, int32((*BtCursor)(unsafe.Pointer(pCur)).FpgnoRoot), uintptr(0)) } @@ -66961,7 +66999,7 @@ func Xsqlite3BtreeClearTableOfCursor(tls *libc.TLS, pCur uintptr) int32 { /* sql // the move. If no page gets moved, *piMoved is set to 0. // The last root page is recorded in meta[3] and the value of // meta[3] is updated by this procedure. -func btreeDropTable(tls *libc.TLS, p uintptr, iTable Pgno, piMoved uintptr) int32 { /* sqlite3.c:75867:12: */ +func btreeDropTable(tls *libc.TLS, p uintptr, iTable Pgno, piMoved uintptr) int32 { /* sqlite3.c:75880:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -66971,7 +67009,7 @@ func btreeDropTable(tls *libc.TLS, p uintptr, iTable Pgno, piMoved uintptr) int3 var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt if iTable > btreePagecount(tls, pBt) { - return Xsqlite3CorruptError(tls, 75876) + return Xsqlite3CorruptError(tls, 75889) } *(*int32)(unsafe.Pointer(bp + 12 /* rc */)) = Xsqlite3BtreeClearTable(tls, p, int32(iTable), uintptr(0)) @@ -67043,7 +67081,7 @@ func btreeDropTable(tls *libc.TLS, p uintptr, iTable Pgno, piMoved uintptr) int3 return *(*int32)(unsafe.Pointer(bp + 12 /* rc */)) } -func Xsqlite3BtreeDropTable(tls *libc.TLS, p uintptr, iTable int32, piMoved uintptr) int32 { /* sqlite3.c:75952:20: */ +func Xsqlite3BtreeDropTable(tls *libc.TLS, p uintptr, iTable int32, piMoved uintptr) int32 { /* sqlite3.c:75965:20: */ var rc int32 Xsqlite3BtreeEnter(tls, p) rc = btreeDropTable(tls, p, uint32(iTable), piMoved) @@ -67069,7 +67107,7 @@ func Xsqlite3BtreeDropTable(tls *libc.TLS, p uintptr, iTable int32, piMoved uint // database file. It is a number computed by the pager. But its access // pattern is the same as header meta values, and so it is convenient to // read it from this routine. -func Xsqlite3BtreeGetMeta(tls *libc.TLS, p uintptr, idx int32, pMeta uintptr) { /* sqlite3.c:75981:21: */ +func Xsqlite3BtreeGetMeta(tls *libc.TLS, p uintptr, idx int32, pMeta uintptr) { /* sqlite3.c:75994:21: */ var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt Xsqlite3BtreeEnter(tls, p) @@ -67088,7 +67126,7 @@ func Xsqlite3BtreeGetMeta(tls *libc.TLS, p uintptr, idx int32, pMeta uintptr) { // Write meta-information back into the database. Meta[0] is // read-only and may not be written. -func Xsqlite3BtreeUpdateMeta(tls *libc.TLS, p uintptr, idx int32, iMeta U32) int32 { /* sqlite3.c:76011:20: */ +func Xsqlite3BtreeUpdateMeta(tls *libc.TLS, p uintptr, idx int32, iMeta U32) int32 { /* sqlite3.c:76024:20: */ var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt var pP1 uintptr var rc int32 @@ -67114,7 +67152,7 @@ func Xsqlite3BtreeUpdateMeta(tls *libc.TLS, p uintptr, idx int32, iMeta U32) int // SQLITE_OK is returned if the operation is successfully executed. // Otherwise, if an error is encountered (i.e. an IO error or database // corruption) an SQLite error code is returned. -func Xsqlite3BtreeCount(tls *libc.TLS, db uintptr, pCur uintptr, pnEntry uintptr) int32 { /* sqlite3.c:76043:20: */ +func Xsqlite3BtreeCount(tls *libc.TLS, db uintptr, pCur uintptr, pnEntry uintptr) int32 { /* sqlite3.c:76056:20: */ var nEntry I64 = int64(0) // Value to return in *pnEntry var rc int32 // Return code @@ -67177,12 +67215,12 @@ func Xsqlite3BtreeCount(tls *libc.TLS, db uintptr, pCur uintptr, pnEntry uintptr // Return the pager associated with a BTree. This routine is used for // testing and debugging only. -func Xsqlite3BtreePager(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:76112:22: */ +func Xsqlite3BtreePager(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:76125:22: */ return (*BtShared)(unsafe.Pointer((*Btree)(unsafe.Pointer(p)).FpBt)).FpPager } // Append a message to the error message string. -func checkAppendMsg(tls *libc.TLS, pCheck uintptr, zFormat uintptr, va uintptr) { /* sqlite3.c:76120:13: */ +func checkAppendMsg(tls *libc.TLS, pCheck uintptr, zFormat uintptr, va uintptr) { /* sqlite3.c:76133:13: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -67209,13 +67247,13 @@ func checkAppendMsg(tls *libc.TLS, pCheck uintptr, zFormat uintptr, va uintptr) // Return non-zero if the bit in the IntegrityCk.aPgRef[] array that // corresponds to page iPg is already set. -func getPageReferenced(tls *libc.TLS, pCheck uintptr, iPg Pgno) int32 { /* sqlite3.c:76150:12: */ +func getPageReferenced(tls *libc.TLS, pCheck uintptr, iPg Pgno) int32 { /* sqlite3.c:76163:12: */ return int32(*(*U8)(unsafe.Pointer((*IntegrityCk)(unsafe.Pointer(pCheck)).FaPgRef + uintptr(iPg/Pgno(8))))) & (int32(1) << (iPg & Pgno(0x07))) } // Set the bit in the IntegrityCk.aPgRef[] array that corresponds to page iPg. -func setPageReferenced(tls *libc.TLS, pCheck uintptr, iPg Pgno) { /* sqlite3.c:76158:13: */ +func setPageReferenced(tls *libc.TLS, pCheck uintptr, iPg Pgno) { /* sqlite3.c:76171:13: */ *(*U8)(unsafe.Pointer((*IntegrityCk)(unsafe.Pointer(pCheck)).FaPgRef + uintptr(iPg/Pgno(8)))) |= U8(int32(1) << (iPg & Pgno(0x07))) } @@ -67226,7 +67264,7 @@ func setPageReferenced(tls *libc.TLS, pCheck uintptr, iPg Pgno) { /* sqlite3.c:7 // if this is the first reference to the page. // // Also check that the page number is in bounds. -func checkRef(tls *libc.TLS, pCheck uintptr, iPage Pgno) int32 { /* sqlite3.c:76172:12: */ +func checkRef(tls *libc.TLS, pCheck uintptr, iPage Pgno) int32 { /* sqlite3.c:76185:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -67248,7 +67286,7 @@ func checkRef(tls *libc.TLS, pCheck uintptr, iPage Pgno) int32 { /* sqlite3.c:76 // Check that the entry in the pointer-map for page iChild maps to // page iParent, pointer type ptrType. If not, append an error message // to pCheck. -func checkPtrmap(tls *libc.TLS, pCheck uintptr, iChild Pgno, eType U8, iParent Pgno) { /* sqlite3.c:76192:13: */ +func checkPtrmap(tls *libc.TLS, pCheck uintptr, iChild Pgno, eType U8, iParent Pgno) { /* sqlite3.c:76205:13: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -67275,7 +67313,7 @@ func checkPtrmap(tls *libc.TLS, pCheck uintptr, iChild Pgno, eType U8, iParent P // Check the integrity of the freelist or of an overflow page list. // Verify that the number of pages on the list is N. -func checkList(tls *libc.TLS, pCheck uintptr, isFreeList int32, iPage Pgno, N U32) { /* sqlite3.c:76221:13: */ +func checkList(tls *libc.TLS, pCheck uintptr, isFreeList int32, iPage Pgno, N U32) { /* sqlite3.c:76234:13: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -67359,7 +67397,7 @@ func checkList(tls *libc.TLS, pCheck uintptr, isFreeList int32, iPage Pgno, N U3 // entry represents the span of a cell or freeblock on a btree page. // The upper 16 bits are the index of the first byte of a range and the // lower 16 bits are the index of the last byte of that range. -func btreeHeapInsert(tls *libc.TLS, aHeap uintptr, x U32) { /* sqlite3.c:76310:13: */ +func btreeHeapInsert(tls *libc.TLS, aHeap uintptr, x U32) { /* sqlite3.c:76323:13: */ var j U32 var i U32 = libc.PreIncUint32(&*(*U32)(unsafe.Pointer(aHeap)), 1) *(*U32)(unsafe.Pointer(aHeap + uintptr(i)*4)) = x @@ -67371,7 +67409,7 @@ func btreeHeapInsert(tls *libc.TLS, aHeap uintptr, x U32) { /* sqlite3.c:76310:1 } } -func btreeHeapPull(tls *libc.TLS, aHeap uintptr, pOut uintptr) int32 { /* sqlite3.c:76320:12: */ +func btreeHeapPull(tls *libc.TLS, aHeap uintptr, pOut uintptr) int32 { /* sqlite3.c:76333:12: */ var j U32 var i U32 var x U32 @@ -67410,7 +67448,7 @@ func btreeHeapPull(tls *libc.TLS, aHeap uintptr, pOut uintptr) int32 { /* sqlite // 3. Check the integrity of overflow pages. // 4. Recursively call checkTreePage on all children. // 5. Verify that the depth of all children is the same. -func checkTreePage(tls *libc.TLS, pCheck uintptr, iPage Pgno, piMinKey uintptr, maxKey I64) int32 { /* sqlite3.c:76354:12: */ +func checkTreePage(tls *libc.TLS, pCheck uintptr, iPage Pgno, piMinKey uintptr, maxKey I64) int32 { /* sqlite3.c:76367:12: */ bp := tls.Alloc(140) defer tls.Free(140) *(*I64)(unsafe.Pointer(bp + 104)) = maxKey @@ -67799,7 +67837,7 @@ __34: // since obviously it is not possible to know which pages are covered by // the unverified btrees. Except, if aRoot[1] is 1, then the freelist // checks are still performed. -func Xsqlite3BtreeIntegrityCheck(tls *libc.TLS, db uintptr, p uintptr, aRoot uintptr, nRoot int32, mxErr int32, pnErr uintptr) uintptr { /* sqlite3.c:76633:21: */ +func Xsqlite3BtreeIntegrityCheck(tls *libc.TLS, db uintptr, p uintptr, aRoot uintptr, nRoot int32, mxErr int32, pnErr uintptr) uintptr { /* sqlite3.c:76646:21: */ bp := tls.Alloc(248) defer tls.Free(248) @@ -68033,7 +68071,7 @@ __29: // // The pager filename is invariant as long as the pager is // open so it is safe to access without the BtShared mutex. -func Xsqlite3BtreeGetFilename(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:76788:27: */ +func Xsqlite3BtreeGetFilename(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:76801:27: */ return Xsqlite3PagerFilename(tls, (*BtShared)(unsafe.Pointer((*Btree)(unsafe.Pointer(p)).FpBt)).FpPager, 1) } @@ -68044,14 +68082,14 @@ func Xsqlite3BtreeGetFilename(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:7 // // The pager journal filename is invariant as long as the pager is // open so it is safe to access without the BtShared mutex. -func Xsqlite3BtreeGetJournalname(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:76801:27: */ +func Xsqlite3BtreeGetJournalname(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:76814:27: */ return Xsqlite3PagerJournalname(tls, (*BtShared)(unsafe.Pointer((*Btree)(unsafe.Pointer(p)).FpBt)).FpPager) } // Return one of SQLITE_TXN_NONE, SQLITE_TXN_READ, or SQLITE_TXN_WRITE // to describe the current transaction state of Btree p. -func Xsqlite3BtreeTxnState(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:76810:20: */ +func Xsqlite3BtreeTxnState(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:76823:20: */ if p != 0 { return int32((*Btree)(unsafe.Pointer(p)).FinTrans) @@ -68065,7 +68103,7 @@ func Xsqlite3BtreeTxnState(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:76810: // transaction on the shared-cache the argument Btree is connected to. // // Parameter eMode is one of SQLITE_CHECKPOINT_PASSIVE, FULL or RESTART. -func Xsqlite3BtreeCheckpoint(tls *libc.TLS, p uintptr, eMode int32, pnLog uintptr, pnCkpt uintptr) int32 { /* sqlite3.c:76824:20: */ +func Xsqlite3BtreeCheckpoint(tls *libc.TLS, p uintptr, eMode int32, pnLog uintptr, pnCkpt uintptr) int32 { /* sqlite3.c:76837:20: */ var rc int32 = SQLITE_OK if p != 0 { var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt @@ -68081,7 +68119,7 @@ func Xsqlite3BtreeCheckpoint(tls *libc.TLS, p uintptr, eMode int32, pnLog uintpt } // Return true if there is currently a backup running on Btree p. -func Xsqlite3BtreeIsInBackup(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:76843:20: */ +func Xsqlite3BtreeIsInBackup(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:76856:20: */ return libc.Bool32((*Btree)(unsafe.Pointer(p)).FnBackup != 0) } @@ -68104,7 +68142,7 @@ func Xsqlite3BtreeIsInBackup(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:7684 // xFree argument when the memory allocation was made is invoked on the // blob of allocated memory. The xFree function should not call sqlite3_free() // on the memory, the btree layer does that. -func Xsqlite3BtreeSchema(tls *libc.TLS, p uintptr, nBytes int32, xFree uintptr) uintptr { /* sqlite3.c:76869:21: */ +func Xsqlite3BtreeSchema(tls *libc.TLS, p uintptr, nBytes int32, xFree uintptr) uintptr { /* sqlite3.c:76882:21: */ var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt Xsqlite3BtreeEnter(tls, p) if !(int32((*BtShared)(unsafe.Pointer(pBt)).FpSchema) != 0) && nBytes != 0 { @@ -68118,7 +68156,7 @@ func Xsqlite3BtreeSchema(tls *libc.TLS, p uintptr, nBytes int32, xFree uintptr) // Return SQLITE_LOCKED_SHAREDCACHE if another user of the same shared // btree as the argument handle holds an exclusive lock on the // sqlite_schema table. Otherwise SQLITE_OK. -func Xsqlite3BtreeSchemaLocked(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:76885:20: */ +func Xsqlite3BtreeSchemaLocked(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:76898:20: */ var rc int32 Xsqlite3BtreeEnter(tls, p) @@ -68131,7 +68169,7 @@ func Xsqlite3BtreeSchemaLocked(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:76 // Obtain a lock on the table whose root page is iTab. The // lock is a write lock if isWritelock is true or a read lock // if it is false. -func Xsqlite3BtreeLockTable(tls *libc.TLS, p uintptr, iTab int32, isWriteLock U8) int32 { /* sqlite3.c:76902:20: */ +func Xsqlite3BtreeLockTable(tls *libc.TLS, p uintptr, iTab int32, isWriteLock U8) int32 { /* sqlite3.c:76915:20: */ var rc int32 = SQLITE_OK if (*Btree)(unsafe.Pointer(p)).Fsharable != 0 { @@ -68155,7 +68193,7 @@ func Xsqlite3BtreeLockTable(tls *libc.TLS, p uintptr, iTab int32, isWriteLock U8 // change the length of the data stored. If this function is called with // parameters that attempt to write past the end of the existing data, // no modifications are made and SQLITE_CORRUPT is returned. -func Xsqlite3BtreePutData(tls *libc.TLS, pCsr uintptr, offset U32, amt U32, z uintptr) int32 { /* sqlite3.c:76932:20: */ +func Xsqlite3BtreePutData(tls *libc.TLS, pCsr uintptr, offset U32, amt U32, z uintptr) int32 { /* sqlite3.c:76945:20: */ var rc int32 rc = func() int32 { @@ -68195,7 +68233,7 @@ func Xsqlite3BtreePutData(tls *libc.TLS, pCsr uintptr, offset U32, amt U32, z ui } // Mark this cursor as an incremental blob cursor. -func Xsqlite3BtreeIncrblobCursor(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:76980:21: */ +func Xsqlite3BtreeIncrblobCursor(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:76993:21: */ *(*U8)(unsafe.Pointer(pCur + 1)) |= U8(BTCF_Incrblob) (*Btree)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pCur)).FpBtree)).FhasIncrblobCur = U8(1) } @@ -68203,7 +68241,7 @@ func Xsqlite3BtreeIncrblobCursor(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:769 // Set both the "read version" (single byte at byte offset 18) and // "write version" (single byte at byte offset 19) fields in the database // header to iVersion. -func Xsqlite3BtreeSetVersion(tls *libc.TLS, pBtree uintptr, iVersion int32) int32 { /* sqlite3.c:76991:20: */ +func Xsqlite3BtreeSetVersion(tls *libc.TLS, pBtree uintptr, iVersion int32) int32 { /* sqlite3.c:77004:20: */ var pBt uintptr = (*Btree)(unsafe.Pointer(pBtree)).FpBt var rc int32 // Return code @@ -68235,29 +68273,29 @@ func Xsqlite3BtreeSetVersion(tls *libc.TLS, pBtree uintptr, iVersion int32) int3 // Return true if the cursor has a hint specified. This routine is // only used from within assert() statements -func Xsqlite3BtreeCursorHasHint(tls *libc.TLS, pCsr uintptr, mask uint32) int32 { /* sqlite3.c:77026:20: */ +func Xsqlite3BtreeCursorHasHint(tls *libc.TLS, pCsr uintptr, mask uint32) int32 { /* sqlite3.c:77039:20: */ return libc.Bool32(uint32((*BtCursor)(unsafe.Pointer(pCsr)).Fhints)&mask != uint32(0)) } // Return true if the given Btree is read-only. -func Xsqlite3BtreeIsReadonly(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:77033:20: */ +func Xsqlite3BtreeIsReadonly(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:77046:20: */ return libc.Bool32(int32((*BtShared)(unsafe.Pointer((*Btree)(unsafe.Pointer(p)).FpBt)).FbtsFlags)&BTS_READ_ONLY != 0) } // Return the size of the header added to each page by this module. -func Xsqlite3HeaderSizeBtree(tls *libc.TLS) int32 { /* sqlite3.c:77040:20: */ +func Xsqlite3HeaderSizeBtree(tls *libc.TLS) int32 { /* sqlite3.c:77053:20: */ return int32((uint64(unsafe.Sizeof(MemPage{})) + uint64(7)) & libc.Uint64FromInt32(libc.CplInt32(7))) } // Return true if the Btree passed as the only argument is sharable. -func Xsqlite3BtreeSharable(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:77046:20: */ +func Xsqlite3BtreeSharable(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:77059:20: */ return int32((*Btree)(unsafe.Pointer(p)).Fsharable) } // Return the number of connections to the BtShared object accessed by // the Btree handle passed as the only argument. For private caches // this is always 1. For shared caches it may be 1 or greater. -func Xsqlite3BtreeConnectionCount(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:77055:20: */ +func Xsqlite3BtreeConnectionCount(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:77068:20: */ return (*BtShared)(unsafe.Pointer((*Btree)(unsafe.Pointer(p)).FpBt)).FnRef } @@ -68297,7 +68335,7 @@ func Xsqlite3BtreeConnectionCount(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c // If the "temp" database is requested, it may need to be opened by this // function. If an error occurs while doing so, return 0 and write an // error message to pErrorDb. -func findBtree(tls *libc.TLS, pErrorDb uintptr, pDb uintptr, zDb uintptr) uintptr { /* sqlite3.c:77144:14: */ +func findBtree(tls *libc.TLS, pErrorDb uintptr, pDb uintptr, zDb uintptr) uintptr { /* sqlite3.c:77157:14: */ bp := tls.Alloc(424) defer tls.Free(424) @@ -68329,7 +68367,7 @@ func findBtree(tls *libc.TLS, pErrorDb uintptr, pDb uintptr, zDb uintptr) uintpt // Attempt to set the page size of the destination to match the page size // of the source. -func setDestPgsz(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:77174:12: */ +func setDestPgsz(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:77187:12: */ var rc int32 rc = Xsqlite3BtreeSetPageSize(tls, (*Sqlite3_backup)(unsafe.Pointer(p)).FpDest, Xsqlite3BtreeGetPageSize(tls, (*Sqlite3_backup)(unsafe.Pointer(p)).FpSrc), 0, 0) return rc @@ -68339,7 +68377,7 @@ func setDestPgsz(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:77174:12: */ // second argument. If there is not, return SQLITE_OK. Otherwise, if there // is an open read-transaction, return SQLITE_ERROR and leave an error // message in database handle db. -func checkReadTransaction(tls *libc.TLS, db uintptr, p uintptr) int32 { /* sqlite3.c:77186:12: */ +func checkReadTransaction(tls *libc.TLS, db uintptr, p uintptr) int32 { /* sqlite3.c:77199:12: */ if Xsqlite3BtreeTxnState(tls, p) != SQLITE_TXN_NONE { Xsqlite3ErrorWithMsg(tls, db, SQLITE_ERROR, ts+5208, 0) return SQLITE_ERROR @@ -68353,7 +68391,7 @@ func checkReadTransaction(tls *libc.TLS, db uintptr, p uintptr) int32 { /* sqlit // // If an error occurs, NULL is returned and an error code and error message // stored in database handle pDestDb. -func Xsqlite3_backup_init(tls *libc.TLS, pDestDb uintptr, zDestDb uintptr, pSrcDb uintptr, zSrcDb uintptr) uintptr { /* sqlite3.c:77202:27: */ +func Xsqlite3_backup_init(tls *libc.TLS, pDestDb uintptr, zDestDb uintptr, pSrcDb uintptr, zSrcDb uintptr) uintptr { /* sqlite3.c:77215:27: */ var p uintptr // Value to return // Lock the source database handle. The destination database @@ -68413,14 +68451,14 @@ func Xsqlite3_backup_init(tls *libc.TLS, pDestDb uintptr, zDestDb uintptr, pSrcD // Argument rc is an SQLite error code. Return true if this error is // considered fatal if encountered during a backup operation. All errors // are considered fatal except for SQLITE_BUSY and SQLITE_LOCKED. -func isFatalError(tls *libc.TLS, rc int32) int32 { /* sqlite3.c:77279:12: */ +func isFatalError(tls *libc.TLS, rc int32) int32 { /* sqlite3.c:77292:12: */ return libc.Bool32(rc != SQLITE_OK && rc != SQLITE_BUSY && rc != SQLITE_LOCKED) } // Parameter zSrcData points to a buffer containing the data for // page iSrcPg from the source database. Copy this data into the // destination database. -func backupOnePage(tls *libc.TLS, p uintptr, iSrcPg Pgno, zSrcData uintptr, bUpdate int32) int32 { /* sqlite3.c:77288:12: */ +func backupOnePage(tls *libc.TLS, p uintptr, iSrcPg Pgno, zSrcData uintptr, bUpdate int32) int32 { /* sqlite3.c:77301:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -68482,7 +68520,7 @@ func backupOnePage(tls *libc.TLS, p uintptr, iSrcPg Pgno, zSrcData uintptr, bUpd // // Return SQLITE_OK if everything is successful, or an SQLite error // code if an error occurs. -func backupTruncateFile(tls *libc.TLS, pFile uintptr, iSize I64) int32 { /* sqlite3.c:77357:12: */ +func backupTruncateFile(tls *libc.TLS, pFile uintptr, iSize I64) int32 { /* sqlite3.c:77370:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -68497,7 +68535,7 @@ func backupTruncateFile(tls *libc.TLS, pFile uintptr, iSize I64) int32 { /* sqli // Register this backup object with the associated source pager for // callbacks when pages are changed or the cache invalidated. -func attachBackupObject(tls *libc.TLS, p uintptr) { /* sqlite3.c:77370:13: */ +func attachBackupObject(tls *libc.TLS, p uintptr) { /* sqlite3.c:77383:13: */ var pp uintptr pp = Xsqlite3PagerBackupPtr(tls, Xsqlite3BtreePager(tls, (*Sqlite3_backup)(unsafe.Pointer(p)).FpSrc)) @@ -68507,7 +68545,7 @@ func attachBackupObject(tls *libc.TLS, p uintptr) { /* sqlite3.c:77370:13: */ } // Copy nPage pages from the source b-tree to the destination. -func Xsqlite3_backup_step(tls *libc.TLS, p uintptr, nPage int32) int32 { /* sqlite3.c:77382:16: */ +func Xsqlite3_backup_step(tls *libc.TLS, p uintptr, nPage int32) int32 { /* sqlite3.c:77395:16: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -68745,7 +68783,7 @@ func Xsqlite3_backup_step(tls *libc.TLS, p uintptr, nPage int32) int32 { /* sqli } // Release all resources associated with an sqlite3_backup* handle. -func Xsqlite3_backup_finish(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:77636:16: */ +func Xsqlite3_backup_finish(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:77649:16: */ var pp uintptr // Ptr to head of pagers backup list var pSrcDb uintptr // Source database connection var rc int32 // Value to return @@ -68803,13 +68841,13 @@ func Xsqlite3_backup_finish(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:77636 // Return the number of pages still to be backed up as of the most recent // call to sqlite3_backup_step(). -func Xsqlite3_backup_remaining(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:77690:16: */ +func Xsqlite3_backup_remaining(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:77703:16: */ return int32((*Sqlite3_backup)(unsafe.Pointer(p)).FnRemaining) } // Return the total number of pages in the source database as of the most // recent call to sqlite3_backup_step(). -func Xsqlite3_backup_pagecount(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:77704:16: */ +func Xsqlite3_backup_pagecount(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:77717:16: */ return int32((*Sqlite3_backup)(unsafe.Pointer(p)).FnPagecount) } @@ -68823,7 +68861,7 @@ func Xsqlite3_backup_pagecount(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:77 // It is assumed that the mutex associated with the BtShared object // corresponding to the source database is held when this function is // called. -func backupUpdate(tls *libc.TLS, p uintptr, iPage Pgno, aData uintptr) { /* sqlite3.c:77726:29: */ +func backupUpdate(tls *libc.TLS, p uintptr, iPage Pgno, aData uintptr) { /* sqlite3.c:77739:29: */ for __ccgo := true; __ccgo; __ccgo = libc.AssignUintptr(&p, (*Sqlite3_backup)(unsafe.Pointer(p)).FpNext) != uintptr(0) { @@ -68844,7 +68882,7 @@ func backupUpdate(tls *libc.TLS, p uintptr, iPage Pgno, aData uintptr) { /* sqli } } -func Xsqlite3BackupUpdate(tls *libc.TLS, pBackup uintptr, iPage Pgno, aData uintptr) { /* sqlite3.c:77751:21: */ +func Xsqlite3BackupUpdate(tls *libc.TLS, pBackup uintptr, iPage Pgno, aData uintptr) { /* sqlite3.c:77764:21: */ if pBackup != 0 { backupUpdate(tls, pBackup, iPage, aData) } @@ -68859,7 +68897,7 @@ func Xsqlite3BackupUpdate(tls *libc.TLS, pBackup uintptr, iPage Pgno, aData uint // It is assumed that the mutex associated with the BtShared object // corresponding to the source database is held when this function is // called. -func Xsqlite3BackupRestart(tls *libc.TLS, pBackup uintptr) { /* sqlite3.c:77766:21: */ +func Xsqlite3BackupRestart(tls *libc.TLS, pBackup uintptr) { /* sqlite3.c:77779:21: */ var p uintptr // Iterator variable for p = pBackup; p != 0; p = (*Sqlite3_backup)(unsafe.Pointer(p)).FpNext { @@ -68873,7 +68911,7 @@ func Xsqlite3BackupRestart(tls *libc.TLS, pBackup uintptr) { /* sqlite3.c:77766: // The size of file pTo may be reduced by this operation. If anything // goes wrong, the transaction on pTo is rolled back. If successful, the // transaction is committed before returning. -func Xsqlite3BtreeCopyFile(tls *libc.TLS, pTo uintptr, pFrom uintptr) int32 { /* sqlite3.c:77783:20: */ +func Xsqlite3BtreeCopyFile(tls *libc.TLS, pTo uintptr, pFrom uintptr) int32 { /* sqlite3.c:77796:20: */ bp := tls.Alloc(80) defer tls.Free(80) @@ -68967,7 +69005,7 @@ copy_finished: // Render a Mem object which is one of MEM_Int, MEM_Real, or MEM_IntReal // into a buffer. -func vdbeMemRenderNum(tls *libc.TLS, sz int32, zBuf uintptr, p uintptr) { /* sqlite3.c:77941:13: */ +func vdbeMemRenderNum(tls *libc.TLS, sz int32, zBuf uintptr, p uintptr) { /* sqlite3.c:77954:13: */ bp := tls.Alloc(40) defer tls.Free(40) @@ -69000,7 +69038,7 @@ func vdbeMemRenderNum(tls *libc.TLS, sz int32, zBuf uintptr, p uintptr) { /* sql // SQLITE_OK is returned if the conversion is successful (or not required). // SQLITE_NOMEM may be returned if a malloc() fails during conversion // between formats. -func Xsqlite3VdbeChangeEncoding(tls *libc.TLS, pMem uintptr, desiredEnc int32) int32 { /* sqlite3.c:78034:20: */ +func Xsqlite3VdbeChangeEncoding(tls *libc.TLS, pMem uintptr, desiredEnc int32) int32 { /* sqlite3.c:78047:20: */ var rc int32 if !(int32((*Mem)(unsafe.Pointer(pMem)).Fflags)&MEM_Str != 0) || int32((*Mem)(unsafe.Pointer(pMem)).Fenc) == desiredEnc { @@ -69020,7 +69058,7 @@ func Xsqlite3VdbeChangeEncoding(tls *libc.TLS, pMem uintptr, desiredEnc int32) i // pMem->z into the new allocation. pMem must be either a string or // blob if bPreserve is true. If bPreserve is false, any prior content // in pMem->z is discarded. -func Xsqlite3VdbeMemGrow(tls *libc.TLS, pMem uintptr, n int32, bPreserve int32) int32 { /* sqlite3.c:78069:36: */ +func Xsqlite3VdbeMemGrow(tls *libc.TLS, pMem uintptr, n int32, bPreserve int32) int32 { /* sqlite3.c:78082:36: */ // If the bPreserve flag is set to true, then the memory cell must already // contain a valid string or blob value. @@ -69076,7 +69114,7 @@ func Xsqlite3VdbeMemGrow(tls *libc.TLS, pMem uintptr, n int32, bPreserve int32) // // Return SQLITE_OK on success or an error code (probably SQLITE_NOMEM) // if unable to complete the resizing. -func Xsqlite3VdbeMemClearAndResize(tls *libc.TLS, pMem uintptr, szNew int32) int32 { /* sqlite3.c:78132:20: */ +func Xsqlite3VdbeMemClearAndResize(tls *libc.TLS, pMem uintptr, szNew int32) int32 { /* sqlite3.c:78145:20: */ if (*Mem)(unsafe.Pointer(pMem)).FszMalloc < szNew { return Xsqlite3VdbeMemGrow(tls, pMem, szNew, 0) @@ -69094,7 +69132,7 @@ func Xsqlite3VdbeMemClearAndResize(tls *libc.TLS, pMem uintptr, szNew int32) int // to be a double-zero byte at an even byte boundary in order to // terminate a UTF16 string, even if the initial size of the buffer // is an odd number of bytes. -func vdbeMemAddTerminator(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c:78153:28: */ +func vdbeMemAddTerminator(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c:78166:28: */ if Xsqlite3VdbeMemGrow(tls, pMem, (*Mem)(unsafe.Pointer(pMem)).Fn+3, 1) != 0 { return SQLITE_NOMEM } @@ -69109,7 +69147,7 @@ func vdbeMemAddTerminator(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c:7815 // MEM.zMalloc, where it can be safely written. // // Return SQLITE_OK on success or SQLITE_NOMEM if malloc fails. -func Xsqlite3VdbeMemMakeWriteable(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c:78170:20: */ +func Xsqlite3VdbeMemMakeWriteable(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c:78183:20: */ if int32((*Mem)(unsafe.Pointer(pMem)).Fflags)&(MEM_Str|MEM_Blob) != 0 { if func() int32 { @@ -69134,7 +69172,7 @@ func Xsqlite3VdbeMemMakeWriteable(tls *libc.TLS, pMem uintptr) int32 { /* sqlite // If the given Mem* has a zero-filled tail, turn it into an ordinary // blob stored in dynamically allocated space. -func Xsqlite3VdbeMemExpandBlob(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c:78194:20: */ +func Xsqlite3VdbeMemExpandBlob(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c:78207:20: */ var nByte int32 // Set nByte to the number of bytes required to store the expanded blob. @@ -69156,7 +69194,7 @@ func Xsqlite3VdbeMemExpandBlob(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c } // Make sure the given Mem is \u0000 terminated. -func Xsqlite3VdbeMemNulTerminate(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c:78225:20: */ +func Xsqlite3VdbeMemNulTerminate(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c:78238:20: */ if int32((*Mem)(unsafe.Pointer(pMem)).Fflags)&(MEM_Term|MEM_Str) != MEM_Str { return SQLITE_OK // Nothing to do @@ -69178,7 +69216,7 @@ func Xsqlite3VdbeMemNulTerminate(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3 // sqlite3_value_text()), or for ensuring that values to be used as btree // keys are strings. In the former case a NULL pointer is returned the // user and the latter is an internal programming error. -func Xsqlite3VdbeMemStringify(tls *libc.TLS, pMem uintptr, enc U8, bForce U8) int32 { /* sqlite3.c:78251:20: */ +func Xsqlite3VdbeMemStringify(tls *libc.TLS, pMem uintptr, enc U8, bForce U8) int32 { /* sqlite3.c:78264:20: */ var nByte int32 = 32 if Xsqlite3VdbeMemClearAndResize(tls, pMem, nByte) != 0 { @@ -69204,7 +69242,7 @@ func Xsqlite3VdbeMemStringify(tls *libc.TLS, pMem uintptr, enc U8, bForce U8) in // // Return SQLITE_ERROR if the finalizer reports an error. SQLITE_OK // otherwise. -func Xsqlite3VdbeMemFinalize(tls *libc.TLS, pMem uintptr, pFunc uintptr) int32 { /* sqlite3.c:78286:20: */ +func Xsqlite3VdbeMemFinalize(tls *libc.TLS, pMem uintptr, pFunc uintptr) int32 { /* sqlite3.c:78299:20: */ bp := tls.Alloc(112) defer tls.Free(112) @@ -69234,7 +69272,7 @@ func Xsqlite3VdbeMemFinalize(tls *libc.TLS, pMem uintptr, pFunc uintptr) int32 { // // SQLITE_ERROR is returned if xValue() reports an error. SQLITE_OK // otherwise. -func Xsqlite3VdbeMemAggValue(tls *libc.TLS, pAccum uintptr, pOut uintptr, pFunc uintptr) int32 { /* sqlite3.c:78317:20: */ +func Xsqlite3VdbeMemAggValue(tls *libc.TLS, pAccum uintptr, pOut uintptr, pFunc uintptr) int32 { /* sqlite3.c:78330:20: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -69256,7 +69294,7 @@ func Xsqlite3VdbeMemAggValue(tls *libc.TLS, pAccum uintptr, pOut uintptr, pFunc // This is a helper routine for sqlite3VdbeMemSetNull() and // for sqlite3VdbeMemRelease(). Use those other routines as the // entry point for releasing Mem resources. -func vdbeMemClearExternAndSetNull(tls *libc.TLS, p uintptr) { /* sqlite3.c:78342:29: */ +func vdbeMemClearExternAndSetNull(tls *libc.TLS, p uintptr) { /* sqlite3.c:78355:29: */ if int32((*Mem)(unsafe.Pointer(p)).Fflags)&MEM_Agg != 0 { Xsqlite3VdbeMemFinalize(tls, p, *(*uintptr)(unsafe.Pointer(p))) @@ -69275,7 +69313,7 @@ func vdbeMemClearExternAndSetNull(tls *libc.TLS, p uintptr) { /* sqlite3.c:78342 // This is a helper routine invoked by sqlite3VdbeMemRelease() in // the unusual case where there really is memory in p that needs // to be freed. -func vdbeMemClear(tls *libc.TLS, p uintptr) { /* sqlite3.c:78365:29: */ +func vdbeMemClear(tls *libc.TLS, p uintptr) { /* sqlite3.c:78378:29: */ if int32((*Mem)(unsafe.Pointer(p)).Fflags)&(MEM_Agg|MEM_Dyn) != 0 { vdbeMemClearExternAndSetNull(tls, p) } @@ -69294,7 +69332,7 @@ func vdbeMemClear(tls *libc.TLS, p uintptr) { /* sqlite3.c:78365:29: */ // // Use sqlite3VdbeMemSetNull() to release just the Mem.xDel space // prior to inserting new content into the Mem. -func Xsqlite3VdbeMemRelease(tls *libc.TLS, p uintptr) { /* sqlite3.c:78386:21: */ +func Xsqlite3VdbeMemRelease(tls *libc.TLS, p uintptr) { /* sqlite3.c:78399:21: */ if int32((*Mem)(unsafe.Pointer(p)).Fflags)&(MEM_Agg|MEM_Dyn) != 0 || (*Mem)(unsafe.Pointer(p)).FszMalloc != 0 { vdbeMemClear(tls, p) @@ -69304,7 +69342,7 @@ func Xsqlite3VdbeMemRelease(tls *libc.TLS, p uintptr) { /* sqlite3.c:78386:21: * // Convert a 64-bit IEEE double into a 64-bit signed integer. // If the double is out of range of a 64-bit signed integer then // return the closest available 64-bit signed integer. -func doubleToInt64(tls *libc.TLS, r float64) I64 { /* sqlite3.c:78398:28: */ +func doubleToInt64(tls *libc.TLS, r float64) I64 { /* sqlite3.c:78411:28: */ if r <= float64(minInt) { return minInt @@ -69316,8 +69354,8 @@ func doubleToInt64(tls *libc.TLS, r float64) I64 { /* sqlite3.c:78398:28: */ return I64(0) } -var maxInt I64 = int64(0xffffffff) | I64(int64(0x7fffffff))<<32 /* sqlite3.c:78410:20 */ -var minInt I64 = int64(-1) - (int64(0xffffffff) | I64(int64(0x7fffffff))<<32) /* sqlite3.c:78411:20 */ +var maxInt I64 = int64(0xffffffff) | I64(int64(0x7fffffff))<<32 /* sqlite3.c:78423:20 */ +var minInt I64 = int64(-1) - (int64(0xffffffff) | I64(int64(0x7fffffff))<<32) /* sqlite3.c:78424:20 */ // Return some kind of integer value which is the best we can do // at representing the value that *pMem describes as an integer. @@ -69328,7 +69366,7 @@ var minInt I64 = int64(-1) - (int64(0xffffffff) | I64(int64(0x7fffffff))<<32) /* // an SQL-NULL value, return 0. // // If pMem represents a string value, its encoding might be changed. -func memIntValue(tls *libc.TLS, pMem uintptr) I64 { /* sqlite3.c:78434:28: */ +func memIntValue(tls *libc.TLS, pMem uintptr) I64 { /* sqlite3.c:78447:28: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -69337,7 +69375,7 @@ func memIntValue(tls *libc.TLS, pMem uintptr) I64 { /* sqlite3.c:78434:28: */ return *(*I64)(unsafe.Pointer(bp /* value */)) } -func Xsqlite3VdbeIntValue(tls *libc.TLS, pMem uintptr) I64 { /* sqlite3.c:78439:20: */ +func Xsqlite3VdbeIntValue(tls *libc.TLS, pMem uintptr) I64 { /* sqlite3.c:78452:20: */ var flags int32 flags = int32((*Mem)(unsafe.Pointer(pMem)).Fflags) @@ -69358,7 +69396,7 @@ func Xsqlite3VdbeIntValue(tls *libc.TLS, pMem uintptr) I64 { /* sqlite3.c:78439: // double. If pMem is already a double or an integer, return its // value. If it is a string or blob, try to convert it to a double. // If it is a NULL, return 0.0. -func memRealValue(tls *libc.TLS, pMem uintptr) float64 { /* sqlite3.c:78463:31: */ +func memRealValue(tls *libc.TLS, pMem uintptr) float64 { /* sqlite3.c:78476:31: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -69368,7 +69406,7 @@ func memRealValue(tls *libc.TLS, pMem uintptr) float64 { /* sqlite3.c:78463:31: return *(*float64)(unsafe.Pointer(bp /* val */)) } -func Xsqlite3VdbeRealValue(tls *libc.TLS, pMem uintptr) float64 { /* sqlite3.c:78469:23: */ +func Xsqlite3VdbeRealValue(tls *libc.TLS, pMem uintptr) float64 { /* sqlite3.c:78482:23: */ if int32((*Mem)(unsafe.Pointer(pMem)).Fflags)&MEM_Real != 0 { return *(*float64)(unsafe.Pointer(pMem)) @@ -69386,7 +69424,7 @@ func Xsqlite3VdbeRealValue(tls *libc.TLS, pMem uintptr) float64 { /* sqlite3.c:7 // Return 1 if pMem represents true, and return 0 if pMem represents false. // Return the value ifNull if pMem is NULL. -func Xsqlite3VdbeBooleanValue(tls *libc.TLS, pMem uintptr, ifNull int32) int32 { /* sqlite3.c:78490:20: */ +func Xsqlite3VdbeBooleanValue(tls *libc.TLS, pMem uintptr, ifNull int32) int32 { /* sqlite3.c:78503:20: */ if int32((*Mem)(unsafe.Pointer(pMem)).Fflags)&(MEM_Int|MEM_IntReal) != 0 { return libc.Bool32(*(*I64)(unsafe.Pointer(pMem)) != int64(0)) @@ -69399,7 +69437,7 @@ func Xsqlite3VdbeBooleanValue(tls *libc.TLS, pMem uintptr, ifNull int32) int32 { // The MEM structure is already a MEM_Real. Try to also make it a // MEM_Int if we can. -func Xsqlite3VdbeIntegerAffinity(tls *libc.TLS, pMem uintptr) { /* sqlite3.c:78501:21: */ +func Xsqlite3VdbeIntegerAffinity(tls *libc.TLS, pMem uintptr) { /* sqlite3.c:78514:21: */ var ix I64 ix = doubleToInt64(tls, *(*float64)(unsafe.Pointer(pMem))) @@ -69420,7 +69458,7 @@ func Xsqlite3VdbeIntegerAffinity(tls *libc.TLS, pMem uintptr) { /* sqlite3.c:785 } // Convert pMem to type integer. Invalidate any prior representations. -func Xsqlite3VdbeMemIntegerify(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c:78530:20: */ +func Xsqlite3VdbeMemIntegerify(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c:78543:20: */ *(*I64)(unsafe.Pointer(pMem)) = Xsqlite3VdbeIntValue(tls, pMem) (*Mem)(unsafe.Pointer(pMem)).Fflags = U16(int32((*Mem)(unsafe.Pointer(pMem)).Fflags)&libc.CplInt32(MEM_TypeMask|MEM_Zero) | MEM_Int) @@ -69429,7 +69467,7 @@ func Xsqlite3VdbeMemIntegerify(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c // Convert pMem so that it is of type MEM_Real. // Invalidate any prior representations. -func Xsqlite3VdbeMemRealify(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c:78545:20: */ +func Xsqlite3VdbeMemRealify(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c:78558:20: */ *(*float64)(unsafe.Pointer(pMem)) = Xsqlite3VdbeRealValue(tls, pMem) (*Mem)(unsafe.Pointer(pMem)).Fflags = U16(int32((*Mem)(unsafe.Pointer(pMem)).Fflags)&libc.CplInt32(MEM_TypeMask|MEM_Zero) | MEM_Real) @@ -69444,7 +69482,7 @@ func Xsqlite3VdbeMemRealify(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c:78 // For some versions of GCC on 32-bit machines, if you do the more obvious // comparison of "r1==(double)i" you sometimes get an answer of false even // though the r1 and (double)i values are bit-for-bit the same. -func Xsqlite3RealSameAsInt(tls *libc.TLS, r1 float64, i Sqlite3_int64) int32 { /* sqlite3.c:78564:20: */ +func Xsqlite3RealSameAsInt(tls *libc.TLS, r1 float64, i Sqlite3_int64) int32 { /* sqlite3.c:78577:20: */ bp := tls.Alloc(16) defer tls.Free(16) *(*float64)(unsafe.Pointer(bp)) = r1 @@ -69461,7 +69499,7 @@ func Xsqlite3RealSameAsInt(tls *libc.TLS, r1 float64, i Sqlite3_int64) int32 { / // Every effort is made to force the conversion, even if the input // is a string that does not look completely like a number. Convert // as much of the string as we can and ignore the rest. -func Xsqlite3VdbeMemNumerify(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c:78579:20: */ +func Xsqlite3VdbeMemNumerify(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c:78592:20: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -69488,7 +69526,7 @@ func Xsqlite3VdbeMemNumerify(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c:7 // is forced. In other words, the value is converted into the desired // affinity even if that results in loss of data. This routine is // used (for example) to implement the SQL "cast()" operator. -func Xsqlite3VdbeMemCast(tls *libc.TLS, pMem uintptr, aff U8, encoding U8) int32 { /* sqlite3.c:78612:20: */ +func Xsqlite3VdbeMemCast(tls *libc.TLS, pMem uintptr, aff U8, encoding U8) int32 { /* sqlite3.c:78625:20: */ if int32((*Mem)(unsafe.Pointer(pMem)).Fflags)&MEM_Null != 0 { return SQLITE_OK } @@ -69542,7 +69580,7 @@ func Xsqlite3VdbeMemCast(tls *libc.TLS, pMem uintptr, aff U8, encoding U8) int32 // Initialize bulk memory to be a consistent Mem object. // // The minimum amount of initialization feasible is performed. -func Xsqlite3VdbeMemInit(tls *libc.TLS, pMem uintptr, db uintptr, flags U16) { /* sqlite3.c:78655:21: */ +func Xsqlite3VdbeMemInit(tls *libc.TLS, pMem uintptr, db uintptr, flags U16) { /* sqlite3.c:78668:21: */ (*Mem)(unsafe.Pointer(pMem)).Fflags = flags (*Mem)(unsafe.Pointer(pMem)).Fdb = db @@ -69559,7 +69597,7 @@ func Xsqlite3VdbeMemInit(tls *libc.TLS, pMem uintptr, db uintptr, flags U16) { / // Use this routine to reset the Mem prior to insert a new value. // // Use sqlite3VdbeMemRelease() to complete erase the Mem prior to abandoning it. -func Xsqlite3VdbeMemSetNull(tls *libc.TLS, pMem uintptr) { /* sqlite3.c:78675:21: */ +func Xsqlite3VdbeMemSetNull(tls *libc.TLS, pMem uintptr) { /* sqlite3.c:78688:21: */ if int32((*Mem)(unsafe.Pointer(pMem)).Fflags)&(MEM_Agg|MEM_Dyn) != 0 { vdbeMemClearExternAndSetNull(tls, pMem) } else { @@ -69567,13 +69605,13 @@ func Xsqlite3VdbeMemSetNull(tls *libc.TLS, pMem uintptr) { /* sqlite3.c:78675:21 } } -func Xsqlite3ValueSetNull(tls *libc.TLS, p uintptr) { /* sqlite3.c:78682:21: */ +func Xsqlite3ValueSetNull(tls *libc.TLS, p uintptr) { /* sqlite3.c:78695:21: */ Xsqlite3VdbeMemSetNull(tls, p) } // Delete any previous value and set the value to be a BLOB of length // n containing all zeros. -func Xsqlite3VdbeMemSetZeroBlob(tls *libc.TLS, pMem uintptr, n int32) { /* sqlite3.c:78691:21: */ +func Xsqlite3VdbeMemSetZeroBlob(tls *libc.TLS, pMem uintptr, n int32) { /* sqlite3.c:78704:21: */ Xsqlite3VdbeMemRelease(tls, pMem) (*Mem)(unsafe.Pointer(pMem)).Fflags = U16(MEM_Blob | MEM_Zero) (*Mem)(unsafe.Pointer(pMem)).Fn = 0 @@ -69588,7 +69626,7 @@ func Xsqlite3VdbeMemSetZeroBlob(tls *libc.TLS, pMem uintptr, n int32) { /* sqlit // The pMem is known to contain content that needs to be destroyed prior // to a value change. So invoke the destructor, then set the value to // a 64-bit integer. -func vdbeReleaseAndSetInt64(tls *libc.TLS, pMem uintptr, val I64) { /* sqlite3.c:78721:29: */ +func vdbeReleaseAndSetInt64(tls *libc.TLS, pMem uintptr, val I64) { /* sqlite3.c:78734:29: */ Xsqlite3VdbeMemSetNull(tls, pMem) *(*I64)(unsafe.Pointer(pMem)) = val (*Mem)(unsafe.Pointer(pMem)).Fflags = U16(MEM_Int) @@ -69596,7 +69634,7 @@ func vdbeReleaseAndSetInt64(tls *libc.TLS, pMem uintptr, val I64) { /* sqlite3.c // Delete any previous value and set the value stored in *pMem to val, // manifest type INTEGER. -func Xsqlite3VdbeMemSetInt64(tls *libc.TLS, pMem uintptr, val I64) { /* sqlite3.c:78731:21: */ +func Xsqlite3VdbeMemSetInt64(tls *libc.TLS, pMem uintptr, val I64) { /* sqlite3.c:78744:21: */ if int32((*Mem)(unsafe.Pointer(pMem)).Fflags)&(MEM_Agg|MEM_Dyn) != 0 { vdbeReleaseAndSetInt64(tls, pMem, val) } else { @@ -69606,13 +69644,13 @@ func Xsqlite3VdbeMemSetInt64(tls *libc.TLS, pMem uintptr, val I64) { /* sqlite3. } // A no-op destructor -func Xsqlite3NoopDestructor(tls *libc.TLS, p uintptr) { /* sqlite3.c:78741:21: */ +func Xsqlite3NoopDestructor(tls *libc.TLS, p uintptr) { /* sqlite3.c:78754:21: */ _ = p } // Set the value stored in *pMem should already be a NULL. // Also store a pointer to go with it. -func Xsqlite3VdbeMemSetPointer(tls *libc.TLS, pMem uintptr, pPtr uintptr, zPType uintptr, xDestructor uintptr) { /* sqlite3.c:78747:21: */ +func Xsqlite3VdbeMemSetPointer(tls *libc.TLS, pMem uintptr, pPtr uintptr, zPType uintptr, xDestructor uintptr) { /* sqlite3.c:78760:21: */ vdbeMemClear(tls, pMem) *(*uintptr)(unsafe.Pointer(pMem)) = func() uintptr { @@ -69634,7 +69672,7 @@ func Xsqlite3VdbeMemSetPointer(tls *libc.TLS, pMem uintptr, pPtr uintptr, zPType // Delete any previous value and set the value stored in *pMem to val, // manifest type REAL. -func Xsqlite3VdbeMemSetDouble(tls *libc.TLS, pMem uintptr, val float64) { /* sqlite3.c:78767:21: */ +func Xsqlite3VdbeMemSetDouble(tls *libc.TLS, pMem uintptr, val float64) { /* sqlite3.c:78780:21: */ Xsqlite3VdbeMemSetNull(tls, pMem) if !(Xsqlite3IsNaN(tls, val) != 0) { *(*float64)(unsafe.Pointer(pMem)) = val @@ -69647,7 +69685,7 @@ func Xsqlite3VdbeMemSetDouble(tls *libc.TLS, pMem uintptr, val float64) { /* sql // // Return SQLITE_OK on success and SQLITE_NOMEM if a memory allocation // error occurs. -func Xsqlite3VdbeMemSetRowSet(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c:78794:20: */ +func Xsqlite3VdbeMemSetRowSet(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c:78807:20: */ var db uintptr = (*Mem)(unsafe.Pointer(pMem)).Fdb var p uintptr @@ -69664,7 +69702,7 @@ func Xsqlite3VdbeMemSetRowSet(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c: // Return true if the Mem object contains a TEXT or BLOB that is // too large - whose size exceeds SQLITE_MAX_LENGTH. -func Xsqlite3VdbeMemTooBig(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:78812:20: */ +func Xsqlite3VdbeMemTooBig(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:78825:20: */ if int32((*Mem)(unsafe.Pointer(p)).Fflags)&(MEM_Str|MEM_Blob) != 0 { var n int32 = (*Mem)(unsafe.Pointer(p)).Fn @@ -69680,13 +69718,13 @@ func Xsqlite3VdbeMemTooBig(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:78812: // pTo are freed. The pFrom->z field is not duplicated. If // pFrom->z is used, then pTo->z points to the same thing as pFrom->z // and flags gets srcType (either MEM_Ephem or MEM_Static). -func vdbeClrCopy(tls *libc.TLS, pTo uintptr, pFrom uintptr, eType int32) { /* sqlite3.c:78868:29: */ +func vdbeClrCopy(tls *libc.TLS, pTo uintptr, pFrom uintptr, eType int32) { /* sqlite3.c:78881:29: */ vdbeMemClearExternAndSetNull(tls, pTo) Xsqlite3VdbeMemShallowCopy(tls, pTo, pFrom, eType) } -func Xsqlite3VdbeMemShallowCopy(tls *libc.TLS, pTo uintptr, pFrom uintptr, srcType int32) { /* sqlite3.c:78873:21: */ +func Xsqlite3VdbeMemShallowCopy(tls *libc.TLS, pTo uintptr, pFrom uintptr, srcType int32) { /* sqlite3.c:78886:21: */ if int32((*Mem)(unsafe.Pointer(pTo)).Fflags)&(MEM_Agg|MEM_Dyn) != 0 { vdbeClrCopy(tls, pTo, pFrom, srcType) @@ -69702,7 +69740,7 @@ func Xsqlite3VdbeMemShallowCopy(tls *libc.TLS, pTo uintptr, pFrom uintptr, srcTy // Make a full copy of pFrom into pTo. Prior contents of pTo are // freed before the copy is made. -func Xsqlite3VdbeMemCopy(tls *libc.TLS, pTo uintptr, pFrom uintptr) int32 { /* sqlite3.c:78889:20: */ +func Xsqlite3VdbeMemCopy(tls *libc.TLS, pTo uintptr, pFrom uintptr) int32 { /* sqlite3.c:78902:20: */ var rc int32 = SQLITE_OK if int32((*Mem)(unsafe.Pointer(pTo)).Fflags)&(MEM_Agg|MEM_Dyn) != 0 { @@ -69724,7 +69762,7 @@ func Xsqlite3VdbeMemCopy(tls *libc.TLS, pTo uintptr, pFrom uintptr) int32 { /* s // freed. If pFrom contains ephemeral data, a copy is made. // // pFrom contains an SQL NULL when this routine returns. -func Xsqlite3VdbeMemMove(tls *libc.TLS, pTo uintptr, pFrom uintptr) { /* sqlite3.c:78912:21: */ +func Xsqlite3VdbeMemMove(tls *libc.TLS, pTo uintptr, pFrom uintptr) { /* sqlite3.c:78925:21: */ Xsqlite3VdbeMemRelease(tls, pTo) libc.X__builtin___memcpy_chk(tls, pTo, pFrom, uint64(unsafe.Sizeof(Mem{})), libc.X__builtin_object_size(tls, pTo, 0)) @@ -69745,7 +69783,7 @@ func Xsqlite3VdbeMemMove(tls *libc.TLS, pTo uintptr, pFrom uintptr) { /* sqlite3 // stored without allocating memory, then it is. If a memory allocation // is required to store the string, then value of pMem is unchanged. In // either case, SQLITE_TOOBIG is returned. -func Xsqlite3VdbeMemSetStr(tls *libc.TLS, pMem uintptr, z uintptr, n I64, enc U8, xDel uintptr) int32 { /* sqlite3.c:78938:20: */ +func Xsqlite3VdbeMemSetStr(tls *libc.TLS, pMem uintptr, z uintptr, n I64, enc U8, xDel uintptr) int32 { /* sqlite3.c:78951:20: */ var nByte I64 = n // New value for pMem->n var iLimit int32 // Maximum allowed string or blob size var flags U16 = U16(0) // New value for pMem->flags @@ -69858,11 +69896,11 @@ func Xsqlite3VdbeMemSetStr(tls *libc.TLS, pMem uintptr, z uintptr, n I64, enc U8 // // If this routine fails for any reason (malloc returns NULL or unable // to read from the disk) then the pMem is left in an inconsistent state. -func Xsqlite3VdbeMemFromBtree(tls *libc.TLS, pCur uintptr, offset U32, amt U32, pMem uintptr) int32 { /* sqlite3.c:79047:20: */ +func Xsqlite3VdbeMemFromBtree(tls *libc.TLS, pCur uintptr, offset U32, amt U32, pMem uintptr) int32 { /* sqlite3.c:79060:20: */ var rc int32 (*Mem)(unsafe.Pointer(pMem)).Fflags = U16(MEM_Null) if Xsqlite3BtreeMaxRecordSize(tls, pCur) < Sqlite3_int64(offset+amt) { - return Xsqlite3CorruptError(tls, 79056) + return Xsqlite3CorruptError(tls, 79069) } if SQLITE_OK == libc.AssignInt32(&rc, Xsqlite3VdbeMemClearAndResize(tls, pMem, int32(amt+U32(1)))) { rc = Xsqlite3BtreePayload(tls, pCur, offset, amt, (*Mem)(unsafe.Pointer(pMem)).Fz) @@ -69877,7 +69915,7 @@ func Xsqlite3VdbeMemFromBtree(tls *libc.TLS, pCur uintptr, offset U32, amt U32, return rc } -func Xsqlite3VdbeMemFromBtreeZeroOffset(tls *libc.TLS, pCur uintptr, amt U32, pMem uintptr) int32 { /* sqlite3.c:79070:20: */ +func Xsqlite3VdbeMemFromBtreeZeroOffset(tls *libc.TLS, pCur uintptr, amt U32, pMem uintptr) int32 { /* sqlite3.c:79083:20: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -69902,7 +69940,7 @@ func Xsqlite3VdbeMemFromBtreeZeroOffset(tls *libc.TLS, pCur uintptr, amt U32, pM // The pVal argument is known to be a value other than NULL. // Convert it into a string with encoding enc and return a pointer // to a zero-terminated version of that string. -func valueToText(tls *libc.TLS, pVal uintptr, enc U8) uintptr { /* sqlite3.c:79102:35: */ +func valueToText(tls *libc.TLS, pVal uintptr, enc U8) uintptr { /* sqlite3.c:79115:35: */ if int32((*Sqlite3_value)(unsafe.Pointer(pVal)).Fflags)&(MEM_Blob|MEM_Str) != 0 { if func() int32 { @@ -69947,7 +69985,7 @@ func valueToText(tls *libc.TLS, pVal uintptr, enc U8) uintptr { /* sqlite3.c:791 // (2006-02-16:) The enc value can be or-ed with SQLITE_UTF16_ALIGNED. // If that is the case, then the result must be aligned on an even byte // boundary. -func Xsqlite3ValueText(tls *libc.TLS, pVal uintptr, enc U8) uintptr { /* sqlite3.c:79145:27: */ +func Xsqlite3ValueText(tls *libc.TLS, pVal uintptr, enc U8) uintptr { /* sqlite3.c:79158:27: */ if !(pVal != 0) { return uintptr(0) } @@ -69963,7 +70001,7 @@ func Xsqlite3ValueText(tls *libc.TLS, pVal uintptr, enc U8) uintptr { /* sqlite3 } // Create a new sqlite3_value object. -func Xsqlite3ValueNew(tls *libc.TLS, db uintptr) uintptr { /* sqlite3.c:79163:30: */ +func Xsqlite3ValueNew(tls *libc.TLS, db uintptr) uintptr { /* sqlite3.c:79176:30: */ var p uintptr = Xsqlite3DbMallocZero(tls, db, uint64(unsafe.Sizeof(Mem{}))) if p != 0 { (*Mem)(unsafe.Pointer(p)).Fflags = U16(MEM_Null) @@ -69980,7 +70018,7 @@ type ValueNewStat4Ctx = struct { FppRec uintptr FiVal int32 F__ccgo_pad1 [4]byte -} /* sqlite3.c:79176:1 */ +} /* sqlite3.c:79189:1 */ // Allocate and return a pointer to a new sqlite3_value object. If // the second argument to this function is NULL, the object is allocated @@ -69991,7 +70029,7 @@ type ValueNewStat4Ctx = struct { // already been allocated, allocate the UnpackedRecord structure that // that function will return to its caller here. Then return a pointer to // an sqlite3_value within the UnpackedRecord.a[] array. -func valueNew(tls *libc.TLS, db uintptr, p uintptr) uintptr { /* sqlite3.c:79194:22: */ +func valueNew(tls *libc.TLS, db uintptr, p uintptr) uintptr { /* sqlite3.c:79207:22: */ if p != 0 { var pRec uintptr = *(*uintptr)(unsafe.Pointer((*ValueNewStat4Ctx)(unsafe.Pointer(p)).FppRec)) @@ -70047,7 +70085,7 @@ func valueNew(tls *libc.TLS, db uintptr, p uintptr) uintptr { /* sqlite3.c:79194 // If the conditions above are not met, this function returns SQLITE_OK // and sets (*ppVal) to NULL. Or, if an error occurs, (*ppVal) is set to // NULL and an SQLite error code returned. -func valueFromFunction(tls *libc.TLS, db uintptr, p uintptr, enc U8, aff U8, ppVal uintptr, pCtx uintptr) int32 { /* sqlite3.c:79256:12: */ +func valueFromFunction(tls *libc.TLS, db uintptr, p uintptr, enc U8, aff U8, ppVal uintptr, pCtx uintptr) int32 { /* sqlite3.c:79269:12: */ bp := tls.Alloc(64) defer tls.Free(64) @@ -70193,7 +70231,7 @@ __14: // has been allocated, it is freed before returning. Or, if pCtx is not // NULL, it is assumed that the caller will free any allocated object // in all cases. -func valueFromExpr(tls *libc.TLS, db uintptr, pExpr uintptr, enc U8, affinity U8, ppVal uintptr, pCtx uintptr) int32 { /* sqlite3.c:79352:12: */ +func valueFromExpr(tls *libc.TLS, db uintptr, pExpr uintptr, enc U8, affinity U8, ppVal uintptr, pCtx uintptr) int32 { /* sqlite3.c:79365:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -70441,7 +70479,7 @@ __35: // a pointer written to *ppVal. The caller is responsible for deallocating // the value by passing it to sqlite3ValueFree() later on. If the expression // cannot be converted to a value, then *ppVal is set to NULL. -func Xsqlite3ValueFromExpr(tls *libc.TLS, db uintptr, pExpr uintptr, enc U8, affinity U8, ppVal uintptr) int32 { /* sqlite3.c:79507:20: */ +func Xsqlite3ValueFromExpr(tls *libc.TLS, db uintptr, pExpr uintptr, enc U8, affinity U8, ppVal uintptr) int32 { /* sqlite3.c:79520:20: */ if pExpr != 0 { return valueFromExpr(tls, db, pExpr, enc, affinity, ppVal, uintptr(0)) } @@ -70464,7 +70502,7 @@ func Xsqlite3ValueFromExpr(tls *libc.TLS, db uintptr, pExpr uintptr, enc U8, aff // // On success, *ppVal is made to point to the extracted value. The caller // is responsible for ensuring that the value is eventually freed. -func stat4ValueFromExpr(tls *libc.TLS, pParse uintptr, pExpr uintptr, affinity U8, pAlloc uintptr, ppVal uintptr) int32 { /* sqlite3.c:79536:12: */ +func stat4ValueFromExpr(tls *libc.TLS, pParse uintptr, pExpr uintptr, affinity U8, pAlloc uintptr, ppVal uintptr) int32 { /* sqlite3.c:79549:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -70532,7 +70570,7 @@ func stat4ValueFromExpr(tls *libc.TLS, pParse uintptr, pExpr uintptr, affinity U // Unless an error is encountered, SQLITE_OK is returned. It is not an // error if a value cannot be extracted from pExpr. If an error does // occur, an SQLite error code is returned. -func Xsqlite3Stat4ProbeSetValue(tls *libc.TLS, pParse uintptr, pIdx uintptr, ppRec uintptr, pExpr uintptr, nElem int32, iVal int32, pnExtract uintptr) int32 { /* sqlite3.c:79611:20: */ +func Xsqlite3Stat4ProbeSetValue(tls *libc.TLS, pParse uintptr, pIdx uintptr, ppRec uintptr, pExpr uintptr, nElem int32, iVal int32, pnExtract uintptr) int32 { /* sqlite3.c:79624:20: */ bp := tls.Alloc(40) defer tls.Free(40) @@ -70577,7 +70615,7 @@ func Xsqlite3Stat4ProbeSetValue(tls *libc.TLS, pParse uintptr, pIdx uintptr, ppR // (e.g. OOM), return SQLITE_OK and set *ppVal to NULL. Or, if an error // does occur, return an SQLite error code. The final value of *ppVal // is undefined in this case. -func Xsqlite3Stat4ValueFromExpr(tls *libc.TLS, pParse uintptr, pExpr uintptr, affinity U8, ppVal uintptr) int32 { /* sqlite3.c:79656:20: */ +func Xsqlite3Stat4ValueFromExpr(tls *libc.TLS, pParse uintptr, pExpr uintptr, affinity U8, ppVal uintptr) int32 { /* sqlite3.c:79669:20: */ return stat4ValueFromExpr(tls, pParse, pExpr, affinity, uintptr(0), ppVal) } @@ -70587,7 +70625,7 @@ func Xsqlite3Stat4ValueFromExpr(tls *libc.TLS, pParse uintptr, pExpr uintptr, af // // If *ppVal is initially NULL then the caller is responsible for // ensuring that the value written into *ppVal is eventually freed. -func Xsqlite3Stat4Column(tls *libc.TLS, db uintptr, pRec uintptr, nRec int32, iCol int32, ppVal uintptr) int32 { /* sqlite3.c:79673:20: */ +func Xsqlite3Stat4Column(tls *libc.TLS, db uintptr, pRec uintptr, nRec int32, iCol int32, ppVal uintptr) int32 { /* sqlite3.c:79686:20: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -70608,7 +70646,7 @@ func Xsqlite3Stat4Column(tls *libc.TLS, db uintptr, pRec uintptr, nRec int32, iC return Xsqlite3GetVarint32(tls, a, bp) }()) if *(*int32)(unsafe.Pointer(bp)) > nRec || iHdr >= *(*int32)(unsafe.Pointer(bp)) { - return Xsqlite3CorruptError(tls, 79691) + return Xsqlite3CorruptError(tls, 79704) } iField = *(*int32)(unsafe.Pointer(bp /* nHdr */)) for i = 0; i <= iCol; i++ { @@ -70623,14 +70661,14 @@ func Xsqlite3Stat4Column(tls *libc.TLS, db uintptr, pRec uintptr, nRec int32, iC }()) if iHdr > *(*int32)(unsafe.Pointer(bp)) { - return Xsqlite3CorruptError(tls, 79697) + return Xsqlite3CorruptError(tls, 79710) } szField = int32(Xsqlite3VdbeSerialTypeLen(tls, *(*U32)(unsafe.Pointer(bp + 4 /* t */)))) iField = iField + szField } if iField > nRec { - return Xsqlite3CorruptError(tls, 79703) + return Xsqlite3CorruptError(tls, 79716) } if pMem == uintptr(0) { pMem = libc.AssignPtrUintptr(ppVal, Xsqlite3ValueNew(tls, db)) @@ -70646,7 +70684,7 @@ func Xsqlite3Stat4Column(tls *libc.TLS, db uintptr, pRec uintptr, nRec int32, iC // Unless it is NULL, the argument must be an UnpackedRecord object returned // by an earlier call to sqlite3Stat4ProbeSetValue(). This call deletes // the object. -func Xsqlite3Stat4ProbeFree(tls *libc.TLS, pRec uintptr) { /* sqlite3.c:79718:21: */ +func Xsqlite3Stat4ProbeFree(tls *libc.TLS, pRec uintptr) { /* sqlite3.c:79731:21: */ if pRec != 0 { var i int32 var nCol int32 = int32((*KeyInfo)(unsafe.Pointer((*UnpackedRecord)(unsafe.Pointer(pRec)).FpKeyInfo)).FnAllField) @@ -70661,14 +70699,14 @@ func Xsqlite3Stat4ProbeFree(tls *libc.TLS, pRec uintptr) { /* sqlite3.c:79718:21 } // Change the string value of an sqlite3_value object -func Xsqlite3ValueSetStr(tls *libc.TLS, v uintptr, n int32, z uintptr, enc U8, xDel uintptr) { /* sqlite3.c:79736:21: */ +func Xsqlite3ValueSetStr(tls *libc.TLS, v uintptr, n int32, z uintptr, enc U8, xDel uintptr) { /* sqlite3.c:79749:21: */ if v != 0 { Xsqlite3VdbeMemSetStr(tls, v, z, int64(n), enc, xDel) } } // Free an sqlite3_value object -func Xsqlite3ValueFree(tls *libc.TLS, v uintptr) { /* sqlite3.c:79749:21: */ +func Xsqlite3ValueFree(tls *libc.TLS, v uintptr) { /* sqlite3.c:79762:21: */ if !(v != 0) { return } @@ -70679,14 +70717,14 @@ func Xsqlite3ValueFree(tls *libc.TLS, v uintptr) { /* sqlite3.c:79749:21: */ // The sqlite3ValueBytes() routine returns the number of bytes in the // sqlite3_value object assuming that it uses the encoding "enc". // The valueBytes() routine is a helper function. -func valueBytes(tls *libc.TLS, pVal uintptr, enc U8) int32 { /* sqlite3.c:79760:28: */ +func valueBytes(tls *libc.TLS, pVal uintptr, enc U8) int32 { /* sqlite3.c:79773:28: */ if valueToText(tls, pVal, enc) != uintptr(0) { return (*Sqlite3_value)(unsafe.Pointer(pVal)).Fn } return 0 } -func Xsqlite3ValueBytes(tls *libc.TLS, pVal uintptr, enc U8) int32 { /* sqlite3.c:79763:20: */ +func Xsqlite3ValueBytes(tls *libc.TLS, pVal uintptr, enc U8) int32 { /* sqlite3.c:79776:20: */ var p uintptr = pVal if int32((*Mem)(unsafe.Pointer(p)).Fflags)&MEM_Str != 0 && int32((*Sqlite3_value)(unsafe.Pointer(pVal)).Fenc) == int32(enc) { @@ -70706,7 +70744,7 @@ func Xsqlite3ValueBytes(tls *libc.TLS, pVal uintptr, enc U8) int32 { /* sqlite3. } // Create a new virtual database engine. -func Xsqlite3VdbeCreate(tls *libc.TLS, pParse uintptr) uintptr { /* sqlite3.c:79806:21: */ +func Xsqlite3VdbeCreate(tls *libc.TLS, pParse uintptr) uintptr { /* sqlite3.c:79819:21: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb var p uintptr p = Xsqlite3DbMallocRawNN(tls, db, uint64(unsafe.Sizeof(Vdbe{}))) @@ -70730,12 +70768,12 @@ func Xsqlite3VdbeCreate(tls *libc.TLS, pParse uintptr) uintptr { /* sqlite3.c:79 } // Return the Parse object that owns a Vdbe object. -func Xsqlite3VdbeParser(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:79833:22: */ +func Xsqlite3VdbeParser(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:79846:22: */ return (*Vdbe)(unsafe.Pointer(p)).FpParse } // Change the error string stored in Vdbe.zErrMsg -func Xsqlite3VdbeError(tls *libc.TLS, p uintptr, zFormat uintptr, va uintptr) { /* sqlite3.c:79840:21: */ +func Xsqlite3VdbeError(tls *libc.TLS, p uintptr, zFormat uintptr, va uintptr) { /* sqlite3.c:79853:21: */ var ap Va_list _ = ap Xsqlite3DbFree(tls, (*Vdbe)(unsafe.Pointer(p)).Fdb, (*Vdbe)(unsafe.Pointer(p)).FzErrMsg) @@ -70745,7 +70783,7 @@ func Xsqlite3VdbeError(tls *libc.TLS, p uintptr, zFormat uintptr, va uintptr) { } // Remember the SQL string for a prepared statement. -func Xsqlite3VdbeSetSql(tls *libc.TLS, p uintptr, z uintptr, n int32, prepFlags U8) { /* sqlite3.c:79851:21: */ +func Xsqlite3VdbeSetSql(tls *libc.TLS, p uintptr, z uintptr, n int32, prepFlags U8) { /* sqlite3.c:79864:21: */ if p == uintptr(0) { return } @@ -70758,7 +70796,7 @@ func Xsqlite3VdbeSetSql(tls *libc.TLS, p uintptr, z uintptr, n int32, prepFlags } // Swap all content between two VDBE structures. -func Xsqlite3VdbeSwap(tls *libc.TLS, pA uintptr, pB uintptr) { /* sqlite3.c:79901:21: */ +func Xsqlite3VdbeSwap(tls *libc.TLS, pA uintptr, pB uintptr) { /* sqlite3.c:79914:21: */ var tmp Vdbe var pTmp uintptr var zTmp uintptr @@ -70789,7 +70827,7 @@ func Xsqlite3VdbeSwap(tls *libc.TLS, pA uintptr, pB uintptr) { /* sqlite3.c:7990 // SQLITE_NOMEM. In this case Vdbe.aOp and Vdbe.nOpAlloc remain // unchanged (this is so that any opcodes already allocated can be // correctly deallocated along with the rest of the Vdbe). -func growOpArray(tls *libc.TLS, v uintptr, nOp int32) int32 { /* sqlite3.c:79938:12: */ +func growOpArray(tls *libc.TLS, v uintptr, nOp int32) int32 { /* sqlite3.c:79951:12: */ var pNew uintptr var p uintptr = (*Vdbe)(unsafe.Pointer(v)).FpParse @@ -70842,7 +70880,7 @@ func growOpArray(tls *libc.TLS, v uintptr, nOp int32) int32 { /* sqlite3.c:79938 // Use the sqlite3VdbeResolveLabel() function to fix an address and // the sqlite3VdbeChangeP4() function to change the value of the P4 // operand. -func growOp3(tls *libc.TLS, p uintptr, op int32, p1 int32, p2 int32, p3 int32) int32 { /* sqlite3.c:80009:28: */ +func growOp3(tls *libc.TLS, p uintptr, op int32, p1 int32, p2 int32, p3 int32) int32 { /* sqlite3.c:80022:28: */ if growOpArray(tls, p, 1) != 0 { return 1 @@ -70851,7 +70889,7 @@ func growOp3(tls *libc.TLS, p uintptr, op int32, p1 int32, p2 int32, p3 int32) i return Xsqlite3VdbeAddOp3(tls, p, op, p1, p2, p3) } -func Xsqlite3VdbeAddOp3(tls *libc.TLS, p uintptr, op int32, p1 int32, p2 int32, p3 int32) int32 { /* sqlite3.c:80015:20: */ +func Xsqlite3VdbeAddOp3(tls *libc.TLS, p uintptr, op int32, p1 int32, p2 int32, p3 int32) int32 { /* sqlite3.c:80028:20: */ var i int32 var pOp uintptr @@ -70874,26 +70912,26 @@ func Xsqlite3VdbeAddOp3(tls *libc.TLS, p uintptr, op int32, p1 int32, p2 int32, return i } -func Xsqlite3VdbeAddOp0(tls *libc.TLS, p uintptr, op int32) int32 { /* sqlite3.c:80054:20: */ +func Xsqlite3VdbeAddOp0(tls *libc.TLS, p uintptr, op int32) int32 { /* sqlite3.c:80067:20: */ return Xsqlite3VdbeAddOp3(tls, p, op, 0, 0, 0) } -func Xsqlite3VdbeAddOp1(tls *libc.TLS, p uintptr, op int32, p1 int32) int32 { /* sqlite3.c:80057:20: */ +func Xsqlite3VdbeAddOp1(tls *libc.TLS, p uintptr, op int32, p1 int32) int32 { /* sqlite3.c:80070:20: */ return Xsqlite3VdbeAddOp3(tls, p, op, p1, 0, 0) } -func Xsqlite3VdbeAddOp2(tls *libc.TLS, p uintptr, op int32, p1 int32, p2 int32) int32 { /* sqlite3.c:80060:20: */ +func Xsqlite3VdbeAddOp2(tls *libc.TLS, p uintptr, op int32, p1 int32, p2 int32) int32 { /* sqlite3.c:80073:20: */ return Xsqlite3VdbeAddOp3(tls, p, op, p1, p2, 0) } // Generate code for an unconditional jump to instruction iDest -func Xsqlite3VdbeGoto(tls *libc.TLS, p uintptr, iDest int32) int32 { /* sqlite3.c:80066:20: */ +func Xsqlite3VdbeGoto(tls *libc.TLS, p uintptr, iDest int32) int32 { /* sqlite3.c:80079:20: */ return Xsqlite3VdbeAddOp3(tls, p, OP_Goto, 0, iDest, 0) } // Generate code to cause the string zStr to be loaded into // register iDest -func Xsqlite3VdbeLoadString(tls *libc.TLS, p uintptr, iDest int32, zStr uintptr) int32 { /* sqlite3.c:80073:20: */ +func Xsqlite3VdbeLoadString(tls *libc.TLS, p uintptr, iDest int32, zStr uintptr) int32 { /* sqlite3.c:80086:20: */ return Xsqlite3VdbeAddOp4(tls, p, OP_String8, 0, iDest, 0, zStr, 0) } @@ -70906,7 +70944,7 @@ func Xsqlite3VdbeLoadString(tls *libc.TLS, p uintptr, iDest int32, zStr uintptr) // // If the input string does not end with "X" then an OP_ResultRow instruction // is generated for the values inserted. -func Xsqlite3VdbeMultiLoad(tls *libc.TLS, p uintptr, iDest int32, zTypes uintptr, va uintptr) { /* sqlite3.c:80088:21: */ +func Xsqlite3VdbeMultiLoad(tls *libc.TLS, p uintptr, iDest int32, zTypes uintptr, va uintptr) { /* sqlite3.c:80101:21: */ var ap Va_list _ = ap var i int32 @@ -70954,7 +70992,7 @@ skip_op_resultrow: } // Add an opcode that includes the p4 value as a pointer. -func Xsqlite3VdbeAddOp4(tls *libc.TLS, p uintptr, op int32, p1 int32, p2 int32, p3 int32, zP4 uintptr, p4type int32) int32 { /* sqlite3.c:80111:20: */ +func Xsqlite3VdbeAddOp4(tls *libc.TLS, p uintptr, op int32, p1 int32, p2 int32, p3 int32, zP4 uintptr, p4type int32) int32 { /* sqlite3.c:80124:20: */ var addr int32 = Xsqlite3VdbeAddOp3(tls, p, op, p1, p2, p3) Xsqlite3VdbeChangeP4(tls, p, addr, zP4, p4type) return addr @@ -70968,7 +71006,7 @@ func Xsqlite3VdbeAddOp4(tls *libc.TLS, p uintptr, op int32, p1 int32, p2 int32, // NC_IdxExpr means called as part of an index expression. NC_PartIdx // means in the WHERE clause of a partial index. NC_GenCol means called // while computing a generated column value. 0 is the usual case. -func Xsqlite3VdbeAddFunctionCall(tls *libc.TLS, pParse uintptr, p1 int32, p2 int32, p3 int32, nArg int32, pFunc uintptr, eCallCtx int32) int32 { /* sqlite3.c:80135:20: */ +func Xsqlite3VdbeAddFunctionCall(tls *libc.TLS, pParse uintptr, p1 int32, p2 int32, p3 int32, nArg int32, pFunc uintptr, eCallCtx int32) int32 { /* sqlite3.c:80148:20: */ var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe var nByte int32 var addr int32 @@ -71000,7 +71038,7 @@ func Xsqlite3VdbeAddFunctionCall(tls *libc.TLS, pParse uintptr, p1 int32, p2 int // Add an opcode that includes the p4 value with a P4_INT64 or // P4_REAL type. -func Xsqlite3VdbeAddOp4Dup8(tls *libc.TLS, p uintptr, op int32, p1 int32, p2 int32, p3 int32, zP4 uintptr, p4type int32) int32 { /* sqlite3.c:80172:20: */ +func Xsqlite3VdbeAddOp4Dup8(tls *libc.TLS, p uintptr, op int32, p1 int32, p2 int32, p3 int32, zP4 uintptr, p4type int32) int32 { /* sqlite3.c:80185:20: */ var p4copy uintptr = Xsqlite3DbMallocRawNN(tls, Xsqlite3VdbeDb(tls, p), uint64(8)) if p4copy != 0 { libc.X__builtin___memcpy_chk(tls, p4copy, zP4, uint64(8), libc.X__builtin_object_size(tls, p4copy, 0)) @@ -71010,7 +71048,7 @@ func Xsqlite3VdbeAddOp4Dup8(tls *libc.TLS, p uintptr, op int32, p1 int32, p2 int // Return the address of the current EXPLAIN QUERY PLAN baseline. // 0 means "none". -func Xsqlite3VdbeExplainParent(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:80191:20: */ +func Xsqlite3VdbeExplainParent(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:80204:20: */ var pOp uintptr if (*Parse)(unsafe.Pointer(pParse)).FaddrExplain == 0 { return 0 @@ -71026,7 +71064,7 @@ func Xsqlite3VdbeExplainParent(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3 // // If the bPush flag is true, then make this opcode the parent for // subsequent Explains until sqlite3VdbeExplainPop() is called. -func Xsqlite3VdbeExplain(tls *libc.TLS, pParse uintptr, bPush U8, zFmt uintptr, va uintptr) { /* sqlite3.c:80215:21: */ +func Xsqlite3VdbeExplain(tls *libc.TLS, pParse uintptr, bPush U8, zFmt uintptr, va uintptr) { /* sqlite3.c:80228:21: */ // Always include the OP_Explain opcodes if SQLITE_DEBUG is defined. // But omit them (for performance) during production builds if int32((*Parse)(unsafe.Pointer(pParse)).Fexplain) == 2 { @@ -71050,7 +71088,7 @@ func Xsqlite3VdbeExplain(tls *libc.TLS, pParse uintptr, bPush U8, zFmt uintptr, } // Pop the EXPLAIN QUERY PLAN stack one level. -func Xsqlite3VdbeExplainPop(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:80243:21: */ +func Xsqlite3VdbeExplainPop(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:80256:21: */ (*Parse)(unsafe.Pointer(pParse)).FaddrExplain = Xsqlite3VdbeExplainParent(tls, pParse) } @@ -71061,7 +71099,7 @@ func Xsqlite3VdbeExplainPop(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:80243: // // The zWhere string must have been obtained from sqlite3_malloc(). // This routine will take ownership of the allocated memory. -func Xsqlite3VdbeAddParseSchemaOp(tls *libc.TLS, p uintptr, iDb int32, zWhere uintptr, p5 U16) { /* sqlite3.c:80257:21: */ +func Xsqlite3VdbeAddParseSchemaOp(tls *libc.TLS, p uintptr, iDb int32, zWhere uintptr, p5 U16) { /* sqlite3.c:80270:21: */ var j int32 Xsqlite3VdbeAddOp4(tls, p, OP_ParseSchema, iDb, 0, 0, zWhere, -7) Xsqlite3VdbeChangeP5(tls, p, p5) @@ -71072,7 +71110,7 @@ func Xsqlite3VdbeAddParseSchemaOp(tls *libc.TLS, p uintptr, iDb int32, zWhere ui } // Add an opcode that includes the p4 value as an integer. -func Xsqlite3VdbeAddOp4Int(tls *libc.TLS, p uintptr, op int32, p1 int32, p2 int32, p3 int32, p4 int32) int32 { /* sqlite3.c:80268:20: */ +func Xsqlite3VdbeAddOp4Int(tls *libc.TLS, p uintptr, op int32, p1 int32, p2 int32, p3 int32, p4 int32) int32 { /* sqlite3.c:80281:20: */ var addr int32 = Xsqlite3VdbeAddOp3(tls, p, op, p1, p2, p3) if int32((*Sqlite3)(unsafe.Pointer((*Vdbe)(unsafe.Pointer(p)).Fdb)).FmallocFailed) == 0 { var pOp uintptr = (*Vdbe)(unsafe.Pointer(p)).FaOp + uintptr(addr)*24 @@ -71083,7 +71121,7 @@ func Xsqlite3VdbeAddOp4Int(tls *libc.TLS, p uintptr, op int32, p1 int32, p2 int3 } // Insert the end of a co-routine -func Xsqlite3VdbeEndCoroutine(tls *libc.TLS, v uintptr, regYield int32) { /* sqlite3.c:80287:21: */ +func Xsqlite3VdbeEndCoroutine(tls *libc.TLS, v uintptr, regYield int32) { /* sqlite3.c:80300:21: */ Xsqlite3VdbeAddOp1(tls, v, OP_EndCoroutine, regYield) // Clear the temporary register cache, thereby ensuring that each @@ -71118,14 +71156,14 @@ func Xsqlite3VdbeEndCoroutine(tls *libc.TLS, v uintptr, regYield int32) { /* sql // been issued. The negative is stored because // that gives a performance improvement over storing // the equivalent positive value. -func Xsqlite3VdbeMakeLabel(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:80325:20: */ +func Xsqlite3VdbeMakeLabel(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:80338:20: */ return libc.PreDecInt32(&(*Parse)(unsafe.Pointer(pParse)).FnLabel, 1) } // Resolve label "x" to be the address of the next instruction to // be inserted. The parameter "x" must have been obtained from // a prior call to sqlite3VdbeMakeLabel(). -func resizeResolveLabel(tls *libc.TLS, p uintptr, v uintptr, j int32) { /* sqlite3.c:80334:29: */ +func resizeResolveLabel(tls *libc.TLS, p uintptr, v uintptr, j int32) { /* sqlite3.c:80347:29: */ var nNewSize int32 = 10 - (*Parse)(unsafe.Pointer(p)).FnLabel (*Parse)(unsafe.Pointer(p)).FaLabel = Xsqlite3DbReallocOrFree(tls, (*Parse)(unsafe.Pointer(p)).Fdb, (*Parse)(unsafe.Pointer(p)).FaLabel, uint64(uint64(nNewSize)*uint64(unsafe.Sizeof(int32(0))))) @@ -71137,7 +71175,7 @@ func resizeResolveLabel(tls *libc.TLS, p uintptr, v uintptr, j int32) { /* sqlit } } -func Xsqlite3VdbeResolveLabel(tls *libc.TLS, v uintptr, x int32) { /* sqlite3.c:80349:21: */ +func Xsqlite3VdbeResolveLabel(tls *libc.TLS, v uintptr, x int32) { /* sqlite3.c:80362:21: */ var p uintptr = (*Vdbe)(unsafe.Pointer(v)).FpParse var j int32 = ^x @@ -71150,12 +71188,12 @@ func Xsqlite3VdbeResolveLabel(tls *libc.TLS, v uintptr, x int32) { /* sqlite3.c: } // Mark the VDBE as one that can only be run one time. -func Xsqlite3VdbeRunOnlyOnce(tls *libc.TLS, p uintptr) { /* sqlite3.c:80371:21: */ +func Xsqlite3VdbeRunOnlyOnce(tls *libc.TLS, p uintptr) { /* sqlite3.c:80384:21: */ libc.SetBitFieldPtr16Uint32(p+208, Bft(1), 5, 0x20) } // Mark the VDBE as one that can only be run multiple times. -func Xsqlite3VdbeReusable(tls *libc.TLS, p uintptr) { /* sqlite3.c:80378:21: */ +func Xsqlite3VdbeReusable(tls *libc.TLS, p uintptr) { /* sqlite3.c:80391:21: */ libc.SetBitFieldPtr16Uint32(p+208, Bft(0), 5, 0x20) } @@ -71178,7 +71216,7 @@ func Xsqlite3VdbeReusable(tls *libc.TLS, p uintptr) { /* sqlite3.c:80378:21: */ // This routine will only function correctly if the mkopcodeh.tcl generator // script numbers the opcodes correctly. Changes to this routine must be // coordinated with changes to mkopcodeh.tcl. -func resolveP2Values(tls *libc.TLS, p uintptr, pMaxFuncArgs uintptr) { /* sqlite3.c:80574:13: */ +func resolveP2Values(tls *libc.TLS, p uintptr, pMaxFuncArgs uintptr) { /* sqlite3.c:80587:13: */ var nMaxArgs int32 = *(*int32)(unsafe.Pointer(pMaxFuncArgs)) var pOp uintptr var pParse uintptr = (*Vdbe)(unsafe.Pointer(p)).FpParse @@ -71310,7 +71348,7 @@ func resolveP2Values(tls *libc.TLS, p uintptr, pMaxFuncArgs uintptr) { /* sqlite } // Return the address of the next instruction to be inserted. -func Xsqlite3VdbeCurrentAddr(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:80676:20: */ +func Xsqlite3VdbeCurrentAddr(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:80689:20: */ return (*Vdbe)(unsafe.Pointer(p)).FnOp } @@ -71341,7 +71379,7 @@ func Xsqlite3VdbeCurrentAddr(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:8067 // array. Also, *pnMaxArg is set to the larger of its current value and // the number of entries in the Vdbe.apArg[] array required to execute the // returned program. -func Xsqlite3VdbeTakeOpArray(tls *libc.TLS, p uintptr, pnOp uintptr, pnMaxArg uintptr) uintptr { /* sqlite3.c:80733:23: */ +func Xsqlite3VdbeTakeOpArray(tls *libc.TLS, p uintptr, pnOp uintptr, pnMaxArg uintptr) uintptr { /* sqlite3.c:80746:23: */ var aOp uintptr = (*Vdbe)(unsafe.Pointer(p)).FaOp // Check that sqlite3VdbeUsesBtree() was not called on this VM @@ -71357,7 +71395,7 @@ func Xsqlite3VdbeTakeOpArray(tls *libc.TLS, p uintptr, pnOp uintptr, pnMaxArg ui // // Non-zero P2 arguments to jump instructions are automatically adjusted // so that the jump target is relative to the first operation inserted. -func Xsqlite3VdbeAddOpList(tls *libc.TLS, p uintptr, nOp int32, aOp uintptr, iLineno int32) uintptr { /* sqlite3.c:80753:23: */ +func Xsqlite3VdbeAddOpList(tls *libc.TLS, p uintptr, nOp int32, aOp uintptr, iLineno int32) uintptr { /* sqlite3.c:80766:23: */ var i int32 var pOut uintptr var pFirst uintptr @@ -71401,23 +71439,23 @@ __3: // Change the value of the opcode, or P1, P2, P3, or P5 operands // for a specific instruction. -func Xsqlite3VdbeChangeOpcode(tls *libc.TLS, p uintptr, addr int32, iNewOpcode U8) { /* sqlite3.c:80829:21: */ +func Xsqlite3VdbeChangeOpcode(tls *libc.TLS, p uintptr, addr int32, iNewOpcode U8) { /* sqlite3.c:80842:21: */ (*VdbeOp)(unsafe.Pointer(Xsqlite3VdbeGetOp(tls, p, addr))).Fopcode = iNewOpcode } -func Xsqlite3VdbeChangeP1(tls *libc.TLS, p uintptr, addr int32, val int32) { /* sqlite3.c:80832:21: */ +func Xsqlite3VdbeChangeP1(tls *libc.TLS, p uintptr, addr int32, val int32) { /* sqlite3.c:80845:21: */ (*VdbeOp)(unsafe.Pointer(Xsqlite3VdbeGetOp(tls, p, addr))).Fp1 = val } -func Xsqlite3VdbeChangeP2(tls *libc.TLS, p uintptr, addr int32, val int32) { /* sqlite3.c:80835:21: */ +func Xsqlite3VdbeChangeP2(tls *libc.TLS, p uintptr, addr int32, val int32) { /* sqlite3.c:80848:21: */ (*VdbeOp)(unsafe.Pointer(Xsqlite3VdbeGetOp(tls, p, addr))).Fp2 = val } -func Xsqlite3VdbeChangeP3(tls *libc.TLS, p uintptr, addr int32, val int32) { /* sqlite3.c:80838:21: */ +func Xsqlite3VdbeChangeP3(tls *libc.TLS, p uintptr, addr int32, val int32) { /* sqlite3.c:80851:21: */ (*VdbeOp)(unsafe.Pointer(Xsqlite3VdbeGetOp(tls, p, addr))).Fp3 = val } -func Xsqlite3VdbeChangeP5(tls *libc.TLS, p uintptr, p5 U16) { /* sqlite3.c:80841:21: */ +func Xsqlite3VdbeChangeP5(tls *libc.TLS, p uintptr, p5 U16) { /* sqlite3.c:80854:21: */ if (*Vdbe)(unsafe.Pointer(p)).FnOp > 0 { (*Op)(unsafe.Pointer((*Vdbe)(unsafe.Pointer(p)).FaOp + uintptr((*Vdbe)(unsafe.Pointer(p)).FnOp-1)*24)).Fp5 = p5 @@ -71426,7 +71464,7 @@ func Xsqlite3VdbeChangeP5(tls *libc.TLS, p uintptr, p5 U16) { /* sqlite3.c:80841 // Change the P2 operand of instruction addr so that it points to // the address of the next instruction to be coded. -func Xsqlite3VdbeJumpHere(tls *libc.TLS, p uintptr, addr int32) { /* sqlite3.c:80850:21: */ +func Xsqlite3VdbeJumpHere(tls *libc.TLS, p uintptr, addr int32) { /* sqlite3.c:80863:21: */ Xsqlite3VdbeChangeP2(tls, p, addr, (*Vdbe)(unsafe.Pointer(p)).FnOp) } @@ -71441,7 +71479,7 @@ func Xsqlite3VdbeJumpHere(tls *libc.TLS, p uintptr, addr int32) { /* sqlite3.c:8 // // 7 Once 0 8 0 // 8 ... -func Xsqlite3VdbeJumpHereOrPopInst(tls *libc.TLS, p uintptr, addr int32) { /* sqlite3.c:80867:21: */ +func Xsqlite3VdbeJumpHereOrPopInst(tls *libc.TLS, p uintptr, addr int32) { /* sqlite3.c:80880:21: */ if addr == (*Vdbe)(unsafe.Pointer(p)).FnOp-1 { (*Vdbe)(unsafe.Pointer(p)).FnOp-- @@ -71452,26 +71490,26 @@ func Xsqlite3VdbeJumpHereOrPopInst(tls *libc.TLS, p uintptr, addr int32) { /* sq // If the input FuncDef structure is ephemeral, then free it. If // the FuncDef is not ephermal, then do nothing. -func freeEphemeralFunction(tls *libc.TLS, db uintptr, pDef uintptr) { /* sqlite3.c:80887:13: */ +func freeEphemeralFunction(tls *libc.TLS, db uintptr, pDef uintptr) { /* sqlite3.c:80900:13: */ if (*FuncDef)(unsafe.Pointer(pDef)).FfuncFlags&U32(SQLITE_FUNC_EPHEM) != U32(0) { Xsqlite3DbFreeNN(tls, db, pDef) } } // Delete a P4 value if necessary. -func freeP4Mem(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:80896:29: */ +func freeP4Mem(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:80909:29: */ if (*Mem)(unsafe.Pointer(p)).FszMalloc != 0 { Xsqlite3DbFree(tls, db, (*Mem)(unsafe.Pointer(p)).FzMalloc) } Xsqlite3DbFreeNN(tls, db, p) } -func freeP4FuncCtx(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:80900:29: */ +func freeP4FuncCtx(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:80913:29: */ freeEphemeralFunction(tls, db, (*Sqlite3_context)(unsafe.Pointer(p)).FpFunc) Xsqlite3DbFreeNN(tls, db, p) } -func freeP4(tls *libc.TLS, db uintptr, p4type int32, p4 uintptr) { /* sqlite3.c:80904:13: */ +func freeP4(tls *libc.TLS, db uintptr, p4type int32, p4 uintptr) { /* sqlite3.c:80917:13: */ switch p4type { case -16: @@ -71532,7 +71570,7 @@ func freeP4(tls *libc.TLS, db uintptr, p4type int32, p4 uintptr) { /* sqlite3.c: // Free the space allocated for aOp and any p4 values allocated for the // opcodes contained within. If aOp is not NULL it is assumed to contain // nOp entries. -func vdbeFreeOpArray(tls *libc.TLS, db uintptr, aOp uintptr, nOp int32) { /* sqlite3.c:80953:13: */ +func vdbeFreeOpArray(tls *libc.TLS, db uintptr, aOp uintptr, nOp int32) { /* sqlite3.c:80966:13: */ if aOp != 0 { var pOp uintptr for pOp = aOp + uintptr(nOp-1)*24; pOp >= aOp; pOp -= 24 { @@ -71547,18 +71585,18 @@ func vdbeFreeOpArray(tls *libc.TLS, db uintptr, aOp uintptr, nOp int32) { /* sql // Link the SubProgram object passed as the second argument into the linked // list at Vdbe.pSubProgram. This list is used to delete all sub-program // objects when the VM is no longer required. -func Xsqlite3VdbeLinkSubProgram(tls *libc.TLS, pVdbe uintptr, p uintptr) { /* sqlite3.c:80971:21: */ +func Xsqlite3VdbeLinkSubProgram(tls *libc.TLS, pVdbe uintptr, p uintptr) { /* sqlite3.c:80984:21: */ (*SubProgram)(unsafe.Pointer(p)).FpNext = (*Vdbe)(unsafe.Pointer(pVdbe)).FpProgram (*Vdbe)(unsafe.Pointer(pVdbe)).FpProgram = p } // Return true if the given Vdbe has any SubPrograms. -func Xsqlite3VdbeHasSubProgram(tls *libc.TLS, pVdbe uintptr) int32 { /* sqlite3.c:80979:20: */ +func Xsqlite3VdbeHasSubProgram(tls *libc.TLS, pVdbe uintptr) int32 { /* sqlite3.c:80992:20: */ return libc.Bool32((*Vdbe)(unsafe.Pointer(pVdbe)).FpProgram != uintptr(0)) } // Change the opcode at addr into OP_Noop -func Xsqlite3VdbeChangeToNoop(tls *libc.TLS, p uintptr, addr int32) int32 { /* sqlite3.c:80986:20: */ +func Xsqlite3VdbeChangeToNoop(tls *libc.TLS, p uintptr, addr int32) int32 { /* sqlite3.c:80999:20: */ var pOp uintptr if (*Sqlite3)(unsafe.Pointer((*Vdbe)(unsafe.Pointer(p)).Fdb)).FmallocFailed != 0 { return 0 @@ -71574,7 +71612,7 @@ func Xsqlite3VdbeChangeToNoop(tls *libc.TLS, p uintptr, addr int32) int32 { /* s // If the last opcode is "op" and it is not a jump destination, // then remove it. Return true if and only if an opcode was removed. -func Xsqlite3VdbeDeletePriorOpcode(tls *libc.TLS, p uintptr, op U8) int32 { /* sqlite3.c:81002:20: */ +func Xsqlite3VdbeDeletePriorOpcode(tls *libc.TLS, p uintptr, op U8) int32 { /* sqlite3.c:81015:20: */ if (*Vdbe)(unsafe.Pointer(p)).FnOp > 0 && int32((*Op)(unsafe.Pointer((*Vdbe)(unsafe.Pointer(p)).FaOp+uintptr((*Vdbe)(unsafe.Pointer(p)).FnOp-1)*24)).Fopcode) == int32(op) { return Xsqlite3VdbeChangeToNoop(tls, p, (*Vdbe)(unsafe.Pointer(p)).FnOp-1) } else { @@ -71598,7 +71636,7 @@ func Xsqlite3VdbeDeletePriorOpcode(tls *libc.TLS, p uintptr, op U8) int32 { /* s // the Vdbe. In these cases we can just copy the pointer. // // If addr<0 then change P4 on the most recently inserted instruction. -func vdbeChangeP4Full(tls *libc.TLS, p uintptr, pOp uintptr, zP4 uintptr, n int32) { /* sqlite3.c:81062:29: */ +func vdbeChangeP4Full(tls *libc.TLS, p uintptr, pOp uintptr, zP4 uintptr, n int32) { /* sqlite3.c:81075:29: */ if (*Op)(unsafe.Pointer(pOp)).Fp4type != 0 { freeP4(tls, (*Vdbe)(unsafe.Pointer(p)).Fdb, int32((*Op)(unsafe.Pointer(pOp)).Fp4type), *(*uintptr)(unsafe.Pointer(pOp + 16))) (*Op)(unsafe.Pointer(pOp)).Fp4type = int8(0) @@ -71615,7 +71653,7 @@ func vdbeChangeP4Full(tls *libc.TLS, p uintptr, pOp uintptr, zP4 uintptr, n int3 } } -func Xsqlite3VdbeChangeP4(tls *libc.TLS, p uintptr, addr int32, zP4 uintptr, n int32) { /* sqlite3.c:81081:21: */ +func Xsqlite3VdbeChangeP4(tls *libc.TLS, p uintptr, addr int32, zP4 uintptr, n int32) { /* sqlite3.c:81094:21: */ bp := tls.Alloc(8) defer tls.Free(8) *(*uintptr)(unsafe.Pointer(bp)) = zP4 @@ -71662,7 +71700,7 @@ func Xsqlite3VdbeChangeP4(tls *libc.TLS, p uintptr, addr int32, zP4 uintptr, n i // The P4 operand must not have been previously defined. And the new // P4 must not be P4_INT32. Use sqlite3VdbeChangeP4() in either of // those cases. -func Xsqlite3VdbeAppendP4(tls *libc.TLS, p uintptr, pP4 uintptr, n int32) { /* sqlite3.c:81124:21: */ +func Xsqlite3VdbeAppendP4(tls *libc.TLS, p uintptr, pP4 uintptr, n int32) { /* sqlite3.c:81137:21: */ var pOp uintptr if (*Sqlite3)(unsafe.Pointer((*Vdbe)(unsafe.Pointer(p)).Fdb)).FmallocFailed != 0 { @@ -71678,7 +71716,7 @@ func Xsqlite3VdbeAppendP4(tls *libc.TLS, p uintptr, pP4 uintptr, n int32) { /* s // Set the P4 on the most recently added opcode to the KeyInfo for the // index given. -func Xsqlite3VdbeSetP4KeyInfo(tls *libc.TLS, pParse uintptr, pIdx uintptr) { /* sqlite3.c:81144:21: */ +func Xsqlite3VdbeSetP4KeyInfo(tls *libc.TLS, pParse uintptr, pIdx uintptr) { /* sqlite3.c:81157:21: */ var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe var pKeyInfo uintptr @@ -71699,7 +71737,7 @@ func Xsqlite3VdbeSetP4KeyInfo(tls *libc.TLS, pParse uintptr, pIdx uintptr) { /* // this routine is a valid pointer. But because the dummy.opcode is 0, // dummy will never be written to. This is verified by code inspection and // by running with Valgrind. -func Xsqlite3VdbeGetOp(tls *libc.TLS, p uintptr, addr int32) uintptr { /* sqlite3.c:81210:23: */ // Ignore the MSVC warning about no initializer +func Xsqlite3VdbeGetOp(tls *libc.TLS, p uintptr, addr int32) uintptr { /* sqlite3.c:81223:23: */ // Ignore the MSVC warning about no initializer if addr < 0 { addr = (*Vdbe)(unsafe.Pointer(p)).FnOp - 1 @@ -71713,11 +71751,11 @@ func Xsqlite3VdbeGetOp(tls *libc.TLS, p uintptr, addr int32) uintptr { /* sqlite return uintptr(0) } -var dummy VdbeOp /* sqlite3.c:81213:17: */ +var dummy VdbeOp /* sqlite3.c:81226:17: */ // Compute a string that describes the P4 parameter for an opcode. // Use zTemp for any required temporary buffer space. -func Xsqlite3VdbeDisplayP4(tls *libc.TLS, db uintptr, pOp uintptr) uintptr { /* sqlite3.c:81414:21: */ +func Xsqlite3VdbeDisplayP4(tls *libc.TLS, db uintptr, pOp uintptr) uintptr { /* sqlite3.c:81427:21: */ bp := tls.Alloc(176) defer tls.Free(176) @@ -71880,7 +71918,7 @@ func Xsqlite3VdbeDisplayP4(tls *libc.TLS, db uintptr, pOp uintptr) uintptr { /* return Xsqlite3StrAccumFinish(tls, bp+144) } -var encnames = [4]uintptr{ts + 5362, ts + 5364, ts + 5366, ts + 5371} /* sqlite3.c:81444:25 */ +var encnames = [4]uintptr{ts + 5362, ts + 5364, ts + 5366, ts + 5371} /* sqlite3.c:81457:25 */ // Declare to the Vdbe that the BTree object at db->aDb[i] is used. // @@ -71888,7 +71926,7 @@ var encnames = [4]uintptr{ts + 5362, ts + 5364, ts + 5366, ts + 5371} /* sqlite3 // attached databases that will be use. A mask of these databases // is maintained in p->btreeMask. The p->lockMask value is the subset of // p->btreeMask of databases that will require a lock. -func Xsqlite3VdbeUsesBtree(tls *libc.TLS, p uintptr, i int32) { /* sqlite3.c:81539:21: */ +func Xsqlite3VdbeUsesBtree(tls *libc.TLS, p uintptr, i int32) { /* sqlite3.c:81552:21: */ *(*YDbMask)(unsafe.Pointer(p + 212)) |= YDbMask(YDbMask(1)) << i if i != 1 && Xsqlite3BtreeSharable(tls, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer((*Vdbe)(unsafe.Pointer(p)).Fdb)).FaDb+uintptr(i)*32)).FpBt) != 0 { @@ -71915,7 +71953,7 @@ func Xsqlite3VdbeUsesBtree(tls *libc.TLS, p uintptr, i int32) { /* sqlite3.c:815 // corresponding to btrees that use shared cache. Then the runtime of // this routine is N*N. But as N is rarely more than 1, this should not // be a problem. -func Xsqlite3VdbeEnter(tls *libc.TLS, p uintptr) { /* sqlite3.c:81570:21: */ +func Xsqlite3VdbeEnter(tls *libc.TLS, p uintptr) { /* sqlite3.c:81583:21: */ var i int32 var db uintptr var aDb uintptr @@ -71934,7 +71972,7 @@ func Xsqlite3VdbeEnter(tls *libc.TLS, p uintptr) { /* sqlite3.c:81570:21: */ } // Unlock all of the btrees previously locked by a call to sqlite3VdbeEnter(). -func vdbeLeave(tls *libc.TLS, p uintptr) { /* sqlite3.c:81591:29: */ +func vdbeLeave(tls *libc.TLS, p uintptr) { /* sqlite3.c:81604:29: */ var i int32 var db uintptr var aDb uintptr @@ -71949,7 +71987,7 @@ func vdbeLeave(tls *libc.TLS, p uintptr) { /* sqlite3.c:81591:29: */ } } -func Xsqlite3VdbeLeave(tls *libc.TLS, p uintptr) { /* sqlite3.c:81605:21: */ +func Xsqlite3VdbeLeave(tls *libc.TLS, p uintptr) { /* sqlite3.c:81618:21: */ if (*Vdbe)(unsafe.Pointer(p)).FlockMask == YDbMask(0) { return } // The common case @@ -71957,7 +71995,7 @@ func Xsqlite3VdbeLeave(tls *libc.TLS, p uintptr) { /* sqlite3.c:81605:21: */ } // Initialize an array of N Mem element. -func initMemArray(tls *libc.TLS, p uintptr, N int32, db uintptr, flags U16) { /* sqlite3.c:81647:13: */ +func initMemArray(tls *libc.TLS, p uintptr, N int32, db uintptr, flags U16) { /* sqlite3.c:81660:13: */ for libc.PostDecInt32(&N, 1) > 0 { (*Mem)(unsafe.Pointer(p)).Fdb = db (*Mem)(unsafe.Pointer(p)).Fflags = flags @@ -71967,7 +72005,7 @@ func initMemArray(tls *libc.TLS, p uintptr, N int32, db uintptr, flags U16) { /* } // Release an array of N Mem elements -func releaseMemArray(tls *libc.TLS, p uintptr, N int32) { /* sqlite3.c:81662:13: */ +func releaseMemArray(tls *libc.TLS, p uintptr, N int32) { /* sqlite3.c:81675:13: */ if p != 0 && N != 0 { var pEnd uintptr = p + uintptr(N)*56 var db uintptr = (*Mem)(unsafe.Pointer(p)).Fdb @@ -72011,7 +72049,7 @@ func releaseMemArray(tls *libc.TLS, p uintptr, N int32) { /* sqlite3.c:81662:13: // // This routine does not delete the Frame right away. It merely adds the // frame to a list of frames to be deleted when the Vdbe halts. -func Xsqlite3VdbeFrameMemDel(tls *libc.TLS, pArg uintptr) { /* sqlite3.c:81724:21: */ +func Xsqlite3VdbeFrameMemDel(tls *libc.TLS, pArg uintptr) { /* sqlite3.c:81737:21: */ var pFrame uintptr = pArg (*VdbeFrame)(unsafe.Pointer(pFrame)).FpParent = (*Vdbe)(unsafe.Pointer((*VdbeFrame)(unsafe.Pointer(pFrame)).Fv)).FpDelFrame @@ -72023,7 +72061,7 @@ func Xsqlite3VdbeFrameMemDel(tls *libc.TLS, pArg uintptr) { /* sqlite3.c:81724:2 // // Return SQLITE_ROW on success. Return SQLITE_DONE if there are no // more opcodes to be displayed. -func Xsqlite3VdbeNextOpcode(tls *libc.TLS, p uintptr, pSub uintptr, eMode int32, piPc uintptr, piAddr uintptr, paOp uintptr) int32 { /* sqlite3.c:81739:20: */ +func Xsqlite3VdbeNextOpcode(tls *libc.TLS, p uintptr, pSub uintptr, eMode int32, piPc uintptr, piAddr uintptr, paOp uintptr) int32 { /* sqlite3.c:81752:20: */ var nRow int32 // Stop when row count reaches this var nSub int32 = 0 // Number of sub-vdbes seen so far var apSub uintptr = uintptr(0) // Array of sub-vdbes @@ -72122,7 +72160,7 @@ func Xsqlite3VdbeNextOpcode(tls *libc.TLS, p uintptr, pSub uintptr, eMode int32, // Delete a VdbeFrame object and its contents. VdbeFrame objects are // allocated by the OP_Program opcode in sqlite3VdbeExec(). -func Xsqlite3VdbeFrameDelete(tls *libc.TLS, p uintptr) { /* sqlite3.c:81851:21: */ +func Xsqlite3VdbeFrameDelete(tls *libc.TLS, p uintptr) { /* sqlite3.c:81864:21: */ var i int32 var aMem uintptr = p + 120 var apCsr uintptr = aMem + uintptr((*VdbeFrame)(unsafe.Pointer(p)).FnChildMem)*56 @@ -72151,7 +72189,7 @@ func Xsqlite3VdbeFrameDelete(tls *libc.TLS, p uintptr) { /* sqlite3.c:81851:21: // // When p->explain==1, first the main program is listed, then each of // the trigger subprograms are listed one by one. -func Xsqlite3VdbeList(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:81883:20: */ +func Xsqlite3VdbeList(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:81896:20: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -72240,7 +72278,7 @@ type ReusableSpace = struct { FpSpace uintptr FnFree Sqlite3_int64 FnNeeded Sqlite3_int64 -} /* sqlite3.c:82028:1 */ +} /* sqlite3.c:82041:1 */ // Try to allocate nByte bytes of 8-byte aligned bulk memory for pBuf // from the ReusableSpace object. Return a pointer to the allocated @@ -72255,7 +72293,7 @@ type ReusableSpace = struct { // This allocator is employed to repurpose unused slots at the end of the // opcode array of prepared state for other memory needs of the prepared // statement. -func allocSpace(tls *libc.TLS, p uintptr, pBuf uintptr, nByte Sqlite3_int64) uintptr { /* sqlite3.c:82048:13: */ +func allocSpace(tls *libc.TLS, p uintptr, pBuf uintptr, nByte Sqlite3_int64) uintptr { /* sqlite3.c:82061:13: */ if pBuf == uintptr(0) { nByte = (nByte + int64(7)) & int64(libc.CplInt32(7)) @@ -72272,7 +72310,7 @@ func allocSpace(tls *libc.TLS, p uintptr, pBuf uintptr, nByte Sqlite3_int64) uin // Rewind the VDBE back to the beginning in preparation for // running it. -func Xsqlite3VdbeRewind(tls *libc.TLS, p uintptr) { /* sqlite3.c:82071:21: */ +func Xsqlite3VdbeRewind(tls *libc.TLS, p uintptr) { /* sqlite3.c:82084:21: */ // There should be at least one opcode. @@ -72305,7 +72343,7 @@ func Xsqlite3VdbeRewind(tls *libc.TLS, p uintptr) { /* sqlite3.c:82071:21: */ // // Use the sqlite3VdbeRewind() procedure to restore a virtual machine back // to its initial state after it has been run. -func Xsqlite3VdbeMakeReady(tls *libc.TLS, p uintptr, pParse uintptr) { /* sqlite3.c:82124:21: */ +func Xsqlite3VdbeMakeReady(tls *libc.TLS, p uintptr, pParse uintptr) { /* sqlite3.c:82137:21: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -72414,11 +72452,11 @@ func Xsqlite3VdbeMakeReady(tls *libc.TLS, p uintptr, pParse uintptr) { /* sqlite var azColName = [12]uintptr{ ts + 5376, ts + 5381, ts + 5388, ts + 5391, ts + 5394, ts + 5397, ts + 5400, ts + 5403, ts + 5411, ts + 5414, ts + 5421, ts + 5429, -} /* sqlite3.c:82172:23 */ +} /* sqlite3.c:82185:23 */ // Close a VDBE cursor and release all the resources that cursor // happens to hold. -func Xsqlite3VdbeFreeCursor(tls *libc.TLS, p uintptr, pCx uintptr) { /* sqlite3.c:82249:21: */ +func Xsqlite3VdbeFreeCursor(tls *libc.TLS, p uintptr, pCx uintptr) { /* sqlite3.c:82262:21: */ if pCx == uintptr(0) { return } @@ -72452,7 +72490,7 @@ func Xsqlite3VdbeFreeCursor(tls *libc.TLS, p uintptr, pCx uintptr) { /* sqlite3. } // Close all cursors in the current frame. -func closeCursorsInFrame(tls *libc.TLS, p uintptr) { /* sqlite3.c:82279:13: */ +func closeCursorsInFrame(tls *libc.TLS, p uintptr) { /* sqlite3.c:82292:13: */ if (*Vdbe)(unsafe.Pointer(p)).FapCsr != 0 { var i int32 for i = 0; i < (*Vdbe)(unsafe.Pointer(p)).FnCursor; i++ { @@ -72468,7 +72506,7 @@ func closeCursorsInFrame(tls *libc.TLS, p uintptr) { /* sqlite3.c:82279:13: */ // Copy the values stored in the VdbeFrame structure to its Vdbe. This // is used, for example, when a trigger sub-program is halted to restore // control to the main program. -func Xsqlite3VdbeFrameRestore(tls *libc.TLS, pFrame uintptr) int32 { /* sqlite3.c:82297:20: */ +func Xsqlite3VdbeFrameRestore(tls *libc.TLS, pFrame uintptr) int32 { /* sqlite3.c:82310:20: */ var v uintptr = (*VdbeFrame)(unsafe.Pointer(pFrame)).Fv closeCursorsInFrame(tls, v) (*Vdbe)(unsafe.Pointer(v)).FaOp = (*VdbeFrame)(unsafe.Pointer(pFrame)).FaOp @@ -72492,7 +72530,7 @@ func Xsqlite3VdbeFrameRestore(tls *libc.TLS, pFrame uintptr) int32 { /* sqlite3. // cell array. This is necessary as the memory cell array may contain // pointers to VdbeFrame objects, which may in turn contain pointers to // open cursors. -func closeAllCursors(tls *libc.TLS, p uintptr) { /* sqlite3.c:82326:13: */ +func closeAllCursors(tls *libc.TLS, p uintptr) { /* sqlite3.c:82339:13: */ if (*Vdbe)(unsafe.Pointer(p)).FpFrame != 0 { var pFrame uintptr for pFrame = (*Vdbe)(unsafe.Pointer(p)).FpFrame; (*VdbeFrame)(unsafe.Pointer(pFrame)).FpParent != 0; pFrame = (*VdbeFrame)(unsafe.Pointer(pFrame)).FpParent { @@ -72523,7 +72561,7 @@ func closeAllCursors(tls *libc.TLS, p uintptr) { /* sqlite3.c:82326:13: */ // statement. This is now set at compile time, rather than during // execution of the vdbe program so that sqlite3_column_count() can // be called on an SQL statement before sqlite3_step(). -func Xsqlite3VdbeSetNumCols(tls *libc.TLS, p uintptr, nResColumn int32) { /* sqlite3.c:82356:21: */ +func Xsqlite3VdbeSetNumCols(tls *libc.TLS, p uintptr, nResColumn int32) { /* sqlite3.c:82369:21: */ var n int32 var db uintptr = (*Vdbe)(unsafe.Pointer(p)).Fdb @@ -72548,7 +72586,7 @@ func Xsqlite3VdbeSetNumCols(tls *libc.TLS, p uintptr, nResColumn int32) { /* sql // The final parameter, xDel, must be one of SQLITE_DYNAMIC, SQLITE_STATIC // 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 Xsqlite3VdbeSetColName(tls *libc.TLS, p uintptr, idx int32, var1 int32, zName uintptr, xDel uintptr) int32 { /* sqlite3.c:82381:20: */ +func Xsqlite3VdbeSetColName(tls *libc.TLS, p uintptr, idx int32, var1 int32, zName uintptr, xDel uintptr) int32 { /* sqlite3.c:82394:20: */ var rc int32 var pColName uintptr @@ -72567,7 +72605,7 @@ func Xsqlite3VdbeSetColName(tls *libc.TLS, p uintptr, idx int32, var1 int32, zNa // db. If a transaction is active, commit it. If there is a // write-transaction spanning more than one database file, this routine // takes care of the super-journal trickery. -func vdbeCommit(tls *libc.TLS, db uintptr, p uintptr) int32 { /* sqlite3.c:82409:12: */ +func vdbeCommit(tls *libc.TLS, db uintptr, p uintptr) int32 { /* sqlite3.c:82422:12: */ bp := tls.Alloc(72) defer tls.Free(72) @@ -72795,7 +72833,7 @@ var aMJNeeded = [6]U8{ /* TRUNCATE */ U8(1), /* MEMORY */ U8(0), /* WAL */ U8(0), -} /* sqlite3.c:82444:23 */ +} /* sqlite3.c:82457:23 */ // This routine checks that the sqlite3.nVdbeActive count variable // matches the number of vdbe's in the list sqlite3.pVdbe that are @@ -72813,7 +72851,7 @@ var aMJNeeded = [6]U8{ // // If an IO error occurs, an SQLITE_IOERR_XXX error code is returned. // Otherwise SQLITE_OK. -func vdbeCloseStatement(tls *libc.TLS, p uintptr, eOp int32) int32 { /* sqlite3.c:82705:28: */ +func vdbeCloseStatement(tls *libc.TLS, p uintptr, eOp int32) int32 { /* sqlite3.c:82718:28: */ var db uintptr = (*Vdbe)(unsafe.Pointer(p)).Fdb var rc int32 = SQLITE_OK var i int32 @@ -72856,7 +72894,7 @@ func vdbeCloseStatement(tls *libc.TLS, p uintptr, eOp int32) int32 { /* sqlite3. return rc } -func Xsqlite3VdbeCloseStatement(tls *libc.TLS, p uintptr, eOp int32) int32 { /* sqlite3.c:82751:20: */ +func Xsqlite3VdbeCloseStatement(tls *libc.TLS, p uintptr, eOp int32) int32 { /* sqlite3.c:82764:20: */ if (*Sqlite3)(unsafe.Pointer((*Vdbe)(unsafe.Pointer(p)).Fdb)).FnStatement != 0 && (*Vdbe)(unsafe.Pointer(p)).FiStatement != 0 { return vdbeCloseStatement(tls, p, eOp) } @@ -72871,7 +72909,7 @@ func Xsqlite3VdbeCloseStatement(tls *libc.TLS, p uintptr, eOp int32) int32 { /* // If there are outstanding FK violations and this function returns // SQLITE_ERROR, set the result of the VM to SQLITE_CONSTRAINT_FOREIGNKEY // and write an error message to it. Then return SQLITE_ERROR. -func Xsqlite3VdbeCheckFk(tls *libc.TLS, p uintptr, deferred int32) int32 { /* sqlite3.c:82770:20: */ +func Xsqlite3VdbeCheckFk(tls *libc.TLS, p uintptr, deferred int32) int32 { /* sqlite3.c:82783:20: */ var db uintptr = (*Vdbe)(unsafe.Pointer(p)).Fdb if deferred != 0 && (*Sqlite3)(unsafe.Pointer(db)).FnDeferredCons+(*Sqlite3)(unsafe.Pointer(db)).FnDeferredImmCons > int64(0) || !(deferred != 0) && (*Vdbe)(unsafe.Pointer(p)).FnFkConstraint > int64(0) { @@ -72894,7 +72932,7 @@ func Xsqlite3VdbeCheckFk(tls *libc.TLS, p uintptr, deferred int32) int32 { /* sq // Return an error code. If the commit could not complete because of // lock contention, return SQLITE_BUSY. If SQLITE_BUSY is returned, it // means the close did not happen and needs to be repeated. -func Xsqlite3VdbeHalt(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:82797:20: */ +func Xsqlite3VdbeHalt(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:82810:20: */ var rc int32 // Used to store transient return codes var db uintptr = (*Vdbe)(unsafe.Pointer(p)).Fdb @@ -73098,7 +73136,7 @@ func Xsqlite3VdbeHalt(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:82797:20: * // Each VDBE holds the result of the most recent sqlite3_step() call // in p->rc. This routine sets that result back to SQLITE_OK. -func Xsqlite3VdbeResetStepResult(tls *libc.TLS, p uintptr) { /* sqlite3.c:83007:21: */ +func Xsqlite3VdbeResetStepResult(tls *libc.TLS, p uintptr) { /* sqlite3.c:83020:21: */ (*Vdbe)(unsafe.Pointer(p)).Frc = SQLITE_OK } @@ -73108,7 +73146,7 @@ func Xsqlite3VdbeResetStepResult(tls *libc.TLS, p uintptr) { /* sqlite3.c:83007: // // This function does not clear the VDBE error code or message, just // copies them to the database handle. -func Xsqlite3VdbeTransferError(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:83019:20: */ +func Xsqlite3VdbeTransferError(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:83032:20: */ var db uintptr = (*Vdbe)(unsafe.Pointer(p)).Fdb var rc int32 = (*Vdbe)(unsafe.Pointer(p)).Frc if (*Vdbe)(unsafe.Pointer(p)).FzErrMsg != 0 { @@ -73137,7 +73175,7 @@ func Xsqlite3VdbeTransferError(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:83 // To look at it another way, this routine resets the state of the // virtual machine from VDBE_MAGIC_RUN or VDBE_MAGIC_HALT back to // VDBE_MAGIC_INIT. -func Xsqlite3VdbeReset(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:83069:20: */ +func Xsqlite3VdbeReset(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:83082:20: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -73189,7 +73227,7 @@ func Xsqlite3VdbeReset(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:83069:20: // Clean up and delete a VDBE after execution. Return an integer which is // the result code. Write any error message text into *pzErrMsg. -func Xsqlite3VdbeFinalize(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:83166:20: */ +func Xsqlite3VdbeFinalize(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:83179:20: */ var rc int32 = SQLITE_OK if (*Vdbe)(unsafe.Pointer(p)).FiVdbeMagic == U32(VDBE_MAGIC_RUN) || (*Vdbe)(unsafe.Pointer(p)).FiVdbeMagic == U32(VDBE_MAGIC_HALT) { rc = Xsqlite3VdbeReset(tls, p) @@ -73213,7 +73251,7 @@ func Xsqlite3VdbeFinalize(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:83166:2 // // * the corresponding bit in argument mask is clear (where the first // function parameter corresponds to bit 0 etc.). -func Xsqlite3VdbeDeleteAuxData(tls *libc.TLS, db uintptr, pp uintptr, iOp int32, mask int32) { /* sqlite3.c:83192:21: */ +func Xsqlite3VdbeDeleteAuxData(tls *libc.TLS, db uintptr, pp uintptr, iOp int32, mask int32) { /* sqlite3.c:83205:21: */ for *(*uintptr)(unsafe.Pointer(pp)) != 0 { var pAux uintptr = *(*uintptr)(unsafe.Pointer(pp)) if iOp < 0 || @@ -73238,7 +73276,7 @@ func Xsqlite3VdbeDeleteAuxData(tls *libc.TLS, db uintptr, pp uintptr, iOp int32, // The difference between this function and sqlite3VdbeDelete() is that // VdbeDelete() also unlinks the Vdbe from the list of VMs associated with // the database connection and frees the object itself. -func Xsqlite3VdbeClearObject(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:83220:21: */ +func Xsqlite3VdbeClearObject(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:83233:21: */ var pSub uintptr var pNext uintptr @@ -73259,7 +73297,7 @@ func Xsqlite3VdbeClearObject(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3. } // Delete an entire VDBE. -func Xsqlite3VdbeDelete(tls *libc.TLS, p uintptr) { /* sqlite3.c:83261:21: */ +func Xsqlite3VdbeDelete(tls *libc.TLS, p uintptr) { /* sqlite3.c:83274:21: */ var db uintptr db = (*Vdbe)(unsafe.Pointer(p)).Fdb @@ -73282,7 +73320,7 @@ func Xsqlite3VdbeDelete(tls *libc.TLS, p uintptr) { /* sqlite3.c:83261:21: */ // The cursor "p" has a pending seek operation that has not yet been // carried out. Seek the cursor now. If an error occurs, return // the appropriate error code. -func Xsqlite3VdbeFinishMoveto(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:83287:36: */ +func Xsqlite3VdbeFinishMoveto(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:83300:36: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -73295,7 +73333,7 @@ func Xsqlite3VdbeFinishMoveto(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:832 return rc } if *(*int32)(unsafe.Pointer(bp)) != 0 { - return Xsqlite3CorruptError(tls, 83297) + return Xsqlite3CorruptError(tls, 83310) } (*VdbeCursor)(unsafe.Pointer(p)).FdeferredMoveto = U8(0) (*VdbeCursor)(unsafe.Pointer(p)).FcacheStatus = U32(CACHE_STALE) @@ -73307,7 +73345,7 @@ func Xsqlite3VdbeFinishMoveto(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:832 // rebalanced. Whatever the cause, try to restore "p" to the place it // is supposed to be pointing. If the row was deleted out from under the // cursor, set the cursor to point to a NULL row. -func handleMovedCursor(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:83313:28: */ +func handleMovedCursor(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:83326:28: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -73325,7 +73363,7 @@ func handleMovedCursor(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:83313:28: // Check to ensure that the cursor is valid. Restore the cursor // if need be. Return any I/O error from the restore operation. -func Xsqlite3VdbeCursorRestore(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:83328:20: */ +func Xsqlite3VdbeCursorRestore(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:83341:20: */ if Xsqlite3BtreeCursorHasMoved(tls, *(*uintptr)(unsafe.Pointer(p + 48))) != 0 { return handleMovedCursor(tls, p) @@ -73344,7 +73382,7 @@ func Xsqlite3VdbeCursorRestore(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:83 // // If the cursor is already pointing to the correct row and that row has // not been deleted out from under the cursor, then this routine is a no-op. -func Xsqlite3VdbeCursorMoveto(tls *libc.TLS, pp uintptr, piCol uintptr) int32 { /* sqlite3.c:83349:20: */ +func Xsqlite3VdbeCursorMoveto(tls *libc.TLS, pp uintptr, piCol uintptr) int32 { /* sqlite3.c:83362:20: */ var p uintptr = *(*uintptr)(unsafe.Pointer(pp)) if (*VdbeCursor)(unsafe.Pointer(p)).FdeferredMoveto != 0 { @@ -73419,10 +73457,10 @@ var sqlite3SmallTypeSizes = [128]U8{ /* 100 */ U8(44), U8(44), U8(45), U8(45), U8(46), U8(46), U8(47), U8(47), U8(48), U8(48), /* 110 */ U8(49), U8(49), U8(50), U8(50), U8(51), U8(51), U8(52), U8(52), U8(53), U8(53), /* 120 */ U8(54), U8(54), U8(55), U8(55), U8(56), U8(56), U8(57), U8(57), -} /* sqlite3.c:83486:17 */ +} /* sqlite3.c:83499:17 */ // Return the length of the data corresponding to the supplied serial-type. -func Xsqlite3VdbeSerialTypeLen(tls *libc.TLS, serial_type U32) U32 { /* sqlite3.c:83506:20: */ +func Xsqlite3VdbeSerialTypeLen(tls *libc.TLS, serial_type U32) U32 { /* sqlite3.c:83519:20: */ if serial_type >= U32(128) { return (serial_type - U32(12)) / U32(2) } else { @@ -73432,7 +73470,7 @@ func Xsqlite3VdbeSerialTypeLen(tls *libc.TLS, serial_type U32) U32 { /* sqlite3. return U32(0) } -func Xsqlite3VdbeOneByteSerialTypeLen(tls *libc.TLS, serial_type U8) U8 { /* sqlite3.c:83515:19: */ +func Xsqlite3VdbeOneByteSerialTypeLen(tls *libc.TLS, serial_type U8) U8 { /* sqlite3.c:83528:19: */ return sqlite3SmallTypeSizes[serial_type] } @@ -73481,7 +73519,7 @@ func Xsqlite3VdbeOneByteSerialTypeLen(tls *libc.TLS, serial_type U8) U8 { /* sql // Return the number of bytes actually written into buf[]. The number // of bytes in the zero-filled tail is included in the return value only // if those bytes were zeroed in buf[]. -func Xsqlite3VdbeSerialPut(tls *libc.TLS, buf uintptr, pMem uintptr, serial_type U32) U32 { /* sqlite3.c:83586:20: */ +func Xsqlite3VdbeSerialPut(tls *libc.TLS, buf uintptr, pMem uintptr, serial_type U32) U32 { /* sqlite3.c:83599:20: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -73532,7 +73570,7 @@ func Xsqlite3VdbeSerialPut(tls *libc.TLS, buf uintptr, pMem uintptr, serial_type // The few cases that require local variables are broken out into a separate // routine so that in most cases the overhead of moving the stack pointer // is avoided. -func serialGet(tls *libc.TLS, buf uintptr, serial_type U32, pMem uintptr) { /* sqlite3.c:83640:13: */ +func serialGet(tls *libc.TLS, buf uintptr, serial_type U32, pMem uintptr) { /* sqlite3.c:83653:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -73559,7 +73597,7 @@ func serialGet(tls *libc.TLS, buf uintptr, serial_type U32, pMem uintptr) { /* s } } -func Xsqlite3VdbeSerialGet(tls *libc.TLS, buf uintptr, serial_type U32, pMem uintptr) { /* sqlite3.c:83675:21: */ +func Xsqlite3VdbeSerialGet(tls *libc.TLS, buf uintptr, serial_type U32, pMem uintptr) { /* sqlite3.c:83688:21: */ switch serial_type { case U32(10): { // Internal use only: NULL with virtual table @@ -73662,7 +73700,7 @@ func Xsqlite3VdbeSerialGet(tls *libc.TLS, buf uintptr, serial_type U32, pMem uin return } -var aFlag = [2]U16{U16(MEM_Blob | MEM_Ephem), U16(MEM_Str | MEM_Ephem)} /* sqlite3.c:83758:24 */ +var aFlag = [2]U16{U16(MEM_Blob | MEM_Ephem), U16(MEM_Str | MEM_Ephem)} /* sqlite3.c:83771:24 */ // This routine is used to allocate sufficient space for an UnpackedRecord // structure large enough to be used with sqlite3VdbeRecordUnpack() if @@ -73676,7 +73714,7 @@ var aFlag = [2]U16{U16(MEM_Blob | MEM_Ephem), U16(MEM_Str | MEM_Ephem)} /* sqlit // before returning. // // If an OOM error occurs, NULL is returned. -func Xsqlite3VdbeAllocUnpackedRecord(tls *libc.TLS, pKeyInfo uintptr) uintptr { /* sqlite3.c:83781:31: */ +func Xsqlite3VdbeAllocUnpackedRecord(tls *libc.TLS, pKeyInfo uintptr) uintptr { /* sqlite3.c:83794:31: */ var p uintptr // Unpacked record to return var nByte int32 // Number of bytes required for *p nByte = int32((uint64(unsafe.Sizeof(UnpackedRecord{}))+uint64(7))&libc.Uint64FromInt32(libc.CplInt32(7)) + uint64(unsafe.Sizeof(Mem{}))*uint64(int32((*KeyInfo)(unsafe.Pointer(pKeyInfo)).FnKeyField)+1)) @@ -73694,7 +73732,7 @@ func Xsqlite3VdbeAllocUnpackedRecord(tls *libc.TLS, pKeyInfo uintptr) uintptr { // Given the nKey-byte encoding of a record in pKey[], populate the // UnpackedRecord structure indicated by the fourth argument with the // contents of the decoded record. -func Xsqlite3VdbeRecordUnpack(tls *libc.TLS, pKeyInfo uintptr, nKey int32, pKey uintptr, p uintptr) { /* sqlite3.c:83801:21: */ +func Xsqlite3VdbeRecordUnpack(tls *libc.TLS, pKeyInfo uintptr, nKey int32, pKey uintptr, p uintptr) { /* sqlite3.c:83814:21: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -73755,7 +73793,7 @@ func Xsqlite3VdbeRecordUnpack(tls *libc.TLS, pKeyInfo uintptr, nKey int32, pKey // using the collation sequence pColl. As usual, return a negative , zero // or positive value if *pMem1 is less than, equal to or greater than // *pMem2, respectively. Similar in spirit to "rc = (*pMem1) - (*pMem2);". -func vdbeCompareMemString(tls *libc.TLS, pMem1 uintptr, pMem2 uintptr, pColl uintptr, prcErr uintptr) int32 { /* sqlite3.c:83998:12: */ +func vdbeCompareMemString(tls *libc.TLS, pMem1 uintptr, pMem2 uintptr, pColl uintptr, prcErr uintptr) int32 { /* sqlite3.c:84011:12: */ bp := tls.Alloc(112) defer tls.Free(112) @@ -73798,7 +73836,7 @@ func vdbeCompareMemString(tls *libc.TLS, pMem1 uintptr, pMem2 uintptr, pColl uin // The input pBlob is guaranteed to be a Blob that is not marked // with MEM_Zero. Return true if it could be a zero-blob. -func isAllZero(tls *libc.TLS, z uintptr, n int32) int32 { /* sqlite3.c:84035:12: */ +func isAllZero(tls *libc.TLS, z uintptr, n int32) int32 { /* sqlite3.c:84048:12: */ var i int32 for i = 0; i < n; i++ { if *(*int8)(unsafe.Pointer(z + uintptr(i))) != 0 { @@ -73811,7 +73849,7 @@ func isAllZero(tls *libc.TLS, z uintptr, n int32) int32 { /* sqlite3.c:84035:12: // Compare two blobs. Return negative, zero, or positive if the first // is less than, equal to, or greater than the second, respectively. // If one blob is a prefix of the other, then the shorter is the lessor. -func Xsqlite3BlobCompare(tls *libc.TLS, pB1 uintptr, pB2 uintptr) int32 { /* sqlite3.c:84048:36: */ +func Xsqlite3BlobCompare(tls *libc.TLS, pB1 uintptr, pB2 uintptr) int32 { /* sqlite3.c:84061:36: */ var c int32 var n1 int32 = (*Mem)(unsafe.Pointer(pB1)).Fn var n2 int32 = (*Mem)(unsafe.Pointer(pB2)).Fn @@ -73851,7 +73889,7 @@ func Xsqlite3BlobCompare(tls *libc.TLS, pB1 uintptr, pB2 uintptr) int32 { /* sql // Do a comparison between a 64-bit signed integer and a 64-bit floating-point // number. Return negative, zero, or positive if the first (i64) is less than, // equal to, or greater than the second (double). -func Xsqlite3IntFloatCompare(tls *libc.TLS, i I64, r float64) int32 { /* sqlite3.c:84081:20: */ +func Xsqlite3IntFloatCompare(tls *libc.TLS, i I64, r float64) int32 { /* sqlite3.c:84094:20: */ if uint64(unsafe.Sizeof(float64(0))) > uint64(8) { var x float64 = float64(i) @@ -73897,7 +73935,7 @@ func Xsqlite3IntFloatCompare(tls *libc.TLS, i I64, r float64) int32 { /* sqlite3 // sequence pColl and finally blob's ordered by memcmp(). // // Two NULL values are considered equal by this function. -func Xsqlite3MemCompare(tls *libc.TLS, pMem1 uintptr, pMem2 uintptr, pColl uintptr) int32 { /* sqlite3.c:84114:20: */ +func Xsqlite3MemCompare(tls *libc.TLS, pMem1 uintptr, pMem2 uintptr, pColl uintptr) int32 { /* sqlite3.c:84127:20: */ var f1 int32 var f2 int32 var combined_flags int32 @@ -73991,7 +74029,7 @@ func Xsqlite3MemCompare(tls *libc.TLS, pMem1 uintptr, pMem2 uintptr, pColl uintp // except 7. The second points to a buffer containing an integer value // serialized according to serial_type. This function deserializes // and returns the value. -func vdbeRecordDecodeInt(tls *libc.TLS, serial_type U32, aKey uintptr) I64 { /* sqlite3.c:84213:12: */ +func vdbeRecordDecodeInt(tls *libc.TLS, serial_type U32, aKey uintptr) I64 { /* sqlite3.c:84226:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -74054,7 +74092,7 @@ func vdbeRecordDecodeInt(tls *libc.TLS, serial_type U32, aKey uintptr) I64 { /* // SQLITE_CORRUPT and return 0. If an OOM error is encountered, // pPKey2->errCode is set to SQLITE_NOMEM and, if it is not NULL, the // malloc-failed flag set on database handle (pPKey2->pKeyInfo->db). -func Xsqlite3VdbeRecordCompareWithSkip(tls *libc.TLS, nKey1 int32, pKey1 uintptr, pPKey2 uintptr, bSkip int32) int32 { /* sqlite3.c:84268:20: */ +func Xsqlite3VdbeRecordCompareWithSkip(tls *libc.TLS, nKey1 int32, pKey1 uintptr, pPKey2 uintptr, bSkip int32) int32 { /* sqlite3.c:84281:20: */ bp := tls.Alloc(68) defer tls.Free(68) @@ -74096,7 +74134,7 @@ func Xsqlite3VdbeRecordCompareWithSkip(tls *libc.TLS, nKey1 int32, pKey1 uintptr i = 0 } if d1 > uint32(nKey1) { - (*UnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = U8(Xsqlite3CorruptError(tls, 84299)) + (*UnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = U8(Xsqlite3CorruptError(tls, 84312)) return 0 // Corruption } @@ -74161,7 +74199,7 @@ func Xsqlite3VdbeRecordCompareWithSkip(tls *libc.TLS, nKey1 int32, pKey1 uintptr if d1+U32((*Mem)(unsafe.Pointer(bp+8)).Fn) > uint32(nKey1) || int32((*KeyInfo)(unsafe.Pointer(libc.AssignUintptr(&pKeyInfo, (*UnpackedRecord)(unsafe.Pointer(pPKey2)).FpKeyInfo))).FnAllField) <= i { - (*UnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = U8(Xsqlite3CorruptError(tls, 84376)) + (*UnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = U8(Xsqlite3CorruptError(tls, 84389)) return 0 // Corruption } else if *(*uintptr)(unsafe.Pointer(pKeyInfo + 32 + uintptr(i)*8)) != 0 { (*Mem)(unsafe.Pointer(bp + 8 /* &mem1 */)).Fenc = (*KeyInfo)(unsafe.Pointer(pKeyInfo)).Fenc @@ -74196,7 +74234,7 @@ func Xsqlite3VdbeRecordCompareWithSkip(tls *libc.TLS, nKey1 int32, pKey1 uintptr var nStr int32 = int32((*(*U32)(unsafe.Pointer(bp + 64)) - U32(12)) / U32(2)) if d1+U32(nStr) > uint32(nKey1) { - (*UnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = U8(Xsqlite3CorruptError(tls, 84406)) + (*UnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = U8(Xsqlite3CorruptError(tls, 84419)) return 0 // Corruption } else if int32((*Mem)(unsafe.Pointer(pRhs)).Fflags)&MEM_Zero != 0 { if !(isAllZero(tls, aKey1+uintptr(d1), nStr) != 0) { @@ -74257,7 +74295,7 @@ func Xsqlite3VdbeRecordCompareWithSkip(tls *libc.TLS, nKey1 int32, pKey1 uintptr return int32((*UnpackedRecord)(unsafe.Pointer(pPKey2)).Fdefault_rc) } -func Xsqlite3VdbeRecordCompare(tls *libc.TLS, nKey1 int32, pKey1 uintptr, pPKey2 uintptr) int32 { /* sqlite3.c:84465:20: */ +func Xsqlite3VdbeRecordCompare(tls *libc.TLS, nKey1 int32, pKey1 uintptr, pPKey2 uintptr) int32 { /* sqlite3.c:84478:20: */ return Xsqlite3VdbeRecordCompareWithSkip(tls, nKey1, pKey1, pPKey2, 0) } @@ -74268,7 +74306,7 @@ func Xsqlite3VdbeRecordCompare(tls *libc.TLS, nKey1 int32, pKey1 uintptr, pPKey2 // // To avoid concerns about buffer overreads, this routine is only used // on schemas where the maximum valid header size is 63 bytes or less. -func vdbeRecordCompareInt(tls *libc.TLS, nKey1 int32, pKey1 uintptr, pPKey2 uintptr) int32 { /* sqlite3.c:84482:12: */ +func vdbeRecordCompareInt(tls *libc.TLS, nKey1 int32, pKey1 uintptr, pPKey2 uintptr) int32 { /* sqlite3.c:84495:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -74373,7 +74411,7 @@ func vdbeRecordCompareInt(tls *libc.TLS, nKey1 int32, pKey1 uintptr, pPKey2 uint // that (a) the first field of pPKey2 is a string, that (b) the first field // uses the collation sequence BINARY and (c) that the size-of-header varint // at the start of (pKey1/nKey1) fits in a single byte. -func vdbeRecordCompareString(tls *libc.TLS, nKey1 int32, pKey1 uintptr, pPKey2 uintptr) int32 { /* sqlite3.c:84576:12: */ +func vdbeRecordCompareString(tls *libc.TLS, nKey1 int32, pKey1 uintptr, pPKey2 uintptr) int32 { /* sqlite3.c:84589:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -74397,7 +74435,7 @@ func vdbeRecordCompareString(tls *libc.TLS, nKey1 int32, pKey1 uintptr, pPKey2 u nStr = (*(*int32)(unsafe.Pointer(bp)) - 12) / 2 if szHdr+nStr > nKey1 { - (*UnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = U8(Xsqlite3CorruptError(tls, 84601)) + (*UnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = U8(Xsqlite3CorruptError(tls, 84614)) return 0 // Corruption } nCmp = func() int32 { @@ -74435,7 +74473,7 @@ func vdbeRecordCompareString(tls *libc.TLS, nKey1 int32, pKey1 uintptr, pPKey2 u // Return a pointer to an sqlite3VdbeRecordCompare() compatible function // suitable for comparing serialized records to the unpacked record passed // as the only argument. -func Xsqlite3VdbeFindCompare(tls *libc.TLS, p uintptr) RecordCompare { /* sqlite3.c:84640:30: */ +func Xsqlite3VdbeFindCompare(tls *libc.TLS, p uintptr) RecordCompare { /* sqlite3.c:84653:30: */ // varintRecordCompareInt() and varintRecordCompareString() both assume // that the size-of-header varint that occurs at the start of each record // fits in a single byte (i.e. is 127 or less). varintRecordCompareInt() @@ -74489,7 +74527,7 @@ func Xsqlite3VdbeFindCompare(tls *libc.TLS, p uintptr) RecordCompare { /* sqlite // // pCur might be pointing to text obtained from a corrupt database file. // So the content cannot be trusted. Do appropriate checks on the content. -func Xsqlite3VdbeIdxRowid(tls *libc.TLS, db uintptr, pCur uintptr, rowid uintptr) int32 { /* sqlite3.c:84691:20: */ +func Xsqlite3VdbeIdxRowid(tls *libc.TLS, db uintptr, pCur uintptr, rowid uintptr) int32 { /* sqlite3.c:84704:20: */ bp := tls.Alloc(120) defer tls.Free(120) @@ -74574,7 +74612,7 @@ __6: idx_rowid_corruption: ; Xsqlite3VdbeMemRelease(tls, bp) - return Xsqlite3CorruptError(tls, 84756) + return Xsqlite3CorruptError(tls, 84769) } // Compare the key of the index entry that cursor pC is pointing to against @@ -74586,7 +74624,7 @@ idx_rowid_corruption: // omits the rowid at the end. The rowid at the end of the index entry // is ignored as well. Hence, this routine only compares the prefixes // of the keys prior to the final rowid, not the entire key. -func Xsqlite3VdbeIdxKeyCompare(tls *libc.TLS, db uintptr, pC uintptr, pUnpacked uintptr, res uintptr) int32 { /* sqlite3.c:84770:20: */ +func Xsqlite3VdbeIdxKeyCompare(tls *libc.TLS, db uintptr, pC uintptr, pUnpacked uintptr, res uintptr) int32 { /* sqlite3.c:84783:20: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -74602,7 +74640,7 @@ func Xsqlite3VdbeIdxKeyCompare(tls *libc.TLS, db uintptr, pC uintptr, pUnpacked // that btreeParseCellPtr() and sqlite3GetVarint32() are implemented if nCellKey <= int64(0) || nCellKey > int64(0x7fffffff) { *(*int32)(unsafe.Pointer(res)) = 0 - return Xsqlite3CorruptError(tls, 84789) + return Xsqlite3CorruptError(tls, 84802) } Xsqlite3VdbeMemInit(tls, bp, db, uint16(0)) rc = Xsqlite3VdbeMemFromBtreeZeroOffset(tls, pCur, U32(nCellKey), bp) @@ -74616,7 +74654,7 @@ func Xsqlite3VdbeIdxKeyCompare(tls *libc.TLS, db uintptr, pC uintptr, pUnpacked // This routine sets the value to be returned by subsequent calls to // sqlite3_changes() on the database handle 'db'. -func Xsqlite3VdbeSetChanges(tls *libc.TLS, db uintptr, nChange I64) { /* sqlite3.c:84805:21: */ +func Xsqlite3VdbeSetChanges(tls *libc.TLS, db uintptr, nChange I64) { /* sqlite3.c:84818:21: */ (*Sqlite3)(unsafe.Pointer(db)).FnChange = nChange *(*I64)(unsafe.Pointer(db + 128)) += nChange @@ -74624,7 +74662,7 @@ func Xsqlite3VdbeSetChanges(tls *libc.TLS, db uintptr, nChange I64) { /* sqlite3 // Set a flag in the vdbe to update the change counter when it is finalised // or reset. -func Xsqlite3VdbeCountChanges(tls *libc.TLS, v uintptr) { /* sqlite3.c:84815:21: */ +func Xsqlite3VdbeCountChanges(tls *libc.TLS, v uintptr) { /* sqlite3.c:84828:21: */ libc.SetBitFieldPtr16Uint32(v+208, Bft(1), 4, 0x10) } @@ -74644,7 +74682,7 @@ func Xsqlite3VdbeCountChanges(tls *libc.TLS, v uintptr) { /* sqlite3.c:84815:21: // Internally, this function just sets the Vdbe.expired flag on all // prepared statements. The flag is set to 1 for an immediate expiration // and set to 2 for an advisory expiration. -func Xsqlite3ExpirePreparedStatements(tls *libc.TLS, db uintptr, iCode int32) { /* sqlite3.c:84837:21: */ +func Xsqlite3ExpirePreparedStatements(tls *libc.TLS, db uintptr, iCode int32) { /* sqlite3.c:84850:21: */ var p uintptr for p = (*Sqlite3)(unsafe.Pointer(db)).FpVdbe; p != 0; p = (*Vdbe)(unsafe.Pointer(p)).FpNext { libc.SetBitFieldPtr16Uint32(p+208, Bft(iCode+1), 0, 0x3) @@ -74652,12 +74690,12 @@ func Xsqlite3ExpirePreparedStatements(tls *libc.TLS, db uintptr, iCode int32) { } // Return the database associated with the Vdbe. -func Xsqlite3VdbeDb(tls *libc.TLS, v uintptr) uintptr { /* sqlite3.c:84847:24: */ +func Xsqlite3VdbeDb(tls *libc.TLS, v uintptr) uintptr { /* sqlite3.c:84860:24: */ return (*Vdbe)(unsafe.Pointer(v)).Fdb } // Return the SQLITE_PREPARE flags for a Vdbe. -func Xsqlite3VdbePrepareFlags(tls *libc.TLS, v uintptr) U8 { /* sqlite3.c:84854:19: */ +func Xsqlite3VdbePrepareFlags(tls *libc.TLS, v uintptr) U8 { /* sqlite3.c:84867:19: */ return (*Vdbe)(unsafe.Pointer(v)).FprepFlags } @@ -74667,7 +74705,7 @@ func Xsqlite3VdbePrepareFlags(tls *libc.TLS, v uintptr) U8 { /* sqlite3.c:84854: // constants) to the value before returning it. // // The returned value must be freed by the caller using sqlite3ValueFree(). -func Xsqlite3VdbeGetBoundValue(tls *libc.TLS, v uintptr, iVar int32, aff U8) uintptr { /* sqlite3.c:84866:30: */ +func Xsqlite3VdbeGetBoundValue(tls *libc.TLS, v uintptr, iVar int32, aff U8) uintptr { /* sqlite3.c:84879:30: */ if v != 0 { var pMem uintptr = (*Vdbe)(unsafe.Pointer(v)).FaVar + uintptr(iVar-1)*56 @@ -74687,7 +74725,7 @@ func Xsqlite3VdbeGetBoundValue(tls *libc.TLS, v uintptr, iVar int32, aff U8) uin // Configure SQL variable iVar so that binding a new value to it signals // to sqlite3_reoptimize() that re-preparing the statement may result // in a better query plan. -func Xsqlite3VdbeSetVarmask(tls *libc.TLS, v uintptr, iVar int32) { /* sqlite3.c:84888:21: */ +func Xsqlite3VdbeSetVarmask(tls *libc.TLS, v uintptr, iVar int32) { /* sqlite3.c:84901:21: */ if iVar >= 32 { *(*U32)(unsafe.Pointer(v + 292)) |= 0x80000000 @@ -74703,7 +74741,7 @@ func Xsqlite3VdbeSetVarmask(tls *libc.TLS, v uintptr, iVar int32) { /* sqlite3.c // throw an error if it is given inputs that would make it non-deterministic. // This routine is invoked by date/time functions that use non-deterministic // features such as 'now'. -func Xsqlite3NotPureFunc(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:84907:20: */ +func Xsqlite3NotPureFunc(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:84920:20: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -74734,7 +74772,7 @@ func Xsqlite3NotPureFunc(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:84907 // Transfer error message text from an sqlite3_vtab.zErrMsg (text stored // in memory obtained from sqlite3_malloc) into a Vdbe.zErrMsg (text stored // in memory obtained from sqlite3DbMalloc). -func Xsqlite3VtabImportErrmsg(tls *libc.TLS, p uintptr, pVtab uintptr) { /* sqlite3.c:84938:21: */ +func Xsqlite3VtabImportErrmsg(tls *libc.TLS, p uintptr, pVtab uintptr) { /* sqlite3.c:84951:21: */ if (*Sqlite3_vtab)(unsafe.Pointer(pVtab)).FzErrMsg != 0 { var db uintptr = (*Vdbe)(unsafe.Pointer(p)).Fdb Xsqlite3DbFree(tls, db, (*Vdbe)(unsafe.Pointer(p)).FzErrMsg) @@ -74750,7 +74788,7 @@ func Xsqlite3VtabImportErrmsg(tls *libc.TLS, p uintptr, pVtab uintptr) { /* sqli // // This function is used to free UnpackedRecord structures allocated by // the vdbeUnpackRecord() function found in vdbeapi.c. -func vdbeFreeUnpacked(tls *libc.TLS, db uintptr, nField int32, p uintptr) { /* sqlite3.c:84959:13: */ +func vdbeFreeUnpacked(tls *libc.TLS, db uintptr, nField int32, p uintptr) { /* sqlite3.c:84972:13: */ if p != 0 { var i int32 for i = 0; i < nField; i++ { @@ -74767,7 +74805,7 @@ func vdbeFreeUnpacked(tls *libc.TLS, db uintptr, nField int32, p uintptr) { /* s // then cursor passed as the second argument should point to the row about // to be update or deleted. If the application calls sqlite3_preupdate_old(), // the required value will be read from the row the cursor points to. -func Xsqlite3VdbePreUpdateHook(tls *libc.TLS, v uintptr, pCsr uintptr, op int32, zDb uintptr, pTab uintptr, iKey1 I64, iReg int32, iBlobWrite int32) { /* sqlite3.c:84978:21: */ +func Xsqlite3VdbePreUpdateHook(tls *libc.TLS, v uintptr, pCsr uintptr, op int32, zDb uintptr, pTab uintptr, iKey1 I64, iReg int32, iBlobWrite int32) { /* sqlite3.c:84991:21: */ bp := tls.Alloc(136) defer tls.Free(136) @@ -74819,7 +74857,7 @@ func Xsqlite3VdbePreUpdateHook(tls *libc.TLS, v uintptr, pCsr uintptr, op int32, } } -var fakeSortOrder U8 = U8(0) /* sqlite3.c:84992:19 */ +var fakeSortOrder U8 = U8(0) /* sqlite3.c:85005:19 */ //************* End of vdbeaux.c ******************************************** //************* Begin file vdbeapi.c **************************************** @@ -74845,7 +74883,7 @@ var fakeSortOrder U8 = U8(0) /* sqlite3.c:84992:19 */ // that sqlite3_prepare() generates. For example, if new functions or // collating sequences are registered or if an authorizer function is // added or changed. -func Xsqlite3_expired(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:85071:16: */ +func Xsqlite3_expired(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:85084:16: */ var p uintptr = pStmt return libc.Bool32(p == uintptr(0) || Bft(int32(*(*uint16)(unsafe.Pointer(p + 208))&0x3>>0)) != 0) } @@ -74853,7 +74891,7 @@ func Xsqlite3_expired(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:85071:1 // Check on a Vdbe to make sure it has not been finalized. Log // an error and return true if it has been finalized (or is otherwise // invalid). Return false if it is ok. -func vdbeSafety(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:85082:12: */ +func vdbeSafety(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:85095:12: */ if (*Vdbe)(unsafe.Pointer(p)).Fdb == uintptr(0) { Xsqlite3_log(tls, SQLITE_MISUSE, ts+5603, 0) return 1 @@ -74863,7 +74901,7 @@ func vdbeSafety(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:85082:12: */ return int32(0) } -func vdbeSafetyNotNull(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:85090:12: */ +func vdbeSafetyNotNull(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:85103:12: */ if p == uintptr(0) { Xsqlite3_log(tls, SQLITE_MISUSE, ts+5648, 0) return 1 @@ -74875,7 +74913,7 @@ func vdbeSafetyNotNull(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:85090:12: // Invoke the profile callback. This routine is only called if we already // know that the profile callback is defined and needs to be invoked. -func invokeProfileCallback(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:85104:29: */ +func invokeProfileCallback(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:85117:29: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -74908,7 +74946,7 @@ func invokeProfileCallback(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c: // // This routine sets the error code and string returned by // sqlite3_errcode(), sqlite3_errmsg() and sqlite3_errmsg16(). -func Xsqlite3_finalize(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:85142:16: */ +func Xsqlite3_finalize(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:85155:16: */ var rc int32 if pStmt == uintptr(0) { // IMPLEMENTATION-OF: R-57228-12904 Invoking sqlite3_finalize() on a NULL @@ -74918,7 +74956,7 @@ func Xsqlite3_finalize(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:85142: var v uintptr = pStmt var db uintptr = (*Vdbe)(unsafe.Pointer(v)).Fdb if vdbeSafety(tls, v) != 0 { - return Xsqlite3MisuseError(tls, 85151) + return Xsqlite3MisuseError(tls, 85164) } Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) if (*Vdbe)(unsafe.Pointer(v)).FstartTime > int64(0) { @@ -74938,7 +74976,7 @@ func Xsqlite3_finalize(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:85142: // // This routine sets the error code and string returned by // sqlite3_errcode(), sqlite3_errmsg() and sqlite3_errmsg16(). -func Xsqlite3_reset(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:85169:16: */ +func Xsqlite3_reset(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:85182:16: */ var rc int32 if pStmt == uintptr(0) { rc = SQLITE_OK @@ -74960,7 +74998,7 @@ func Xsqlite3_reset(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:85169:16: } // Set all the parameters in the compiled SQL statement to NULL. -func Xsqlite3_clear_bindings(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:85190:16: */ +func Xsqlite3_clear_bindings(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:85203:16: */ var i int32 var rc int32 = SQLITE_OK var p uintptr = pStmt @@ -74982,7 +75020,7 @@ func Xsqlite3_clear_bindings(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c: // // The following routines extract information from a Mem or sqlite3_value // structure. -func Xsqlite3_value_blob(tls *libc.TLS, pVal uintptr) uintptr { /* sqlite3.c:85215:23: */ +func Xsqlite3_value_blob(tls *libc.TLS, pVal uintptr) uintptr { /* sqlite3.c:85228:23: */ var p uintptr = pVal if int32((*Mem)(unsafe.Pointer(p)).Fflags)&(MEM_Blob|MEM_Str) != 0 { if func() int32 { @@ -75005,27 +75043,27 @@ func Xsqlite3_value_blob(tls *libc.TLS, pVal uintptr) uintptr { /* sqlite3.c:852 return uintptr(0) } -func Xsqlite3_value_bytes(tls *libc.TLS, pVal uintptr) int32 { /* sqlite3.c:85228:16: */ +func Xsqlite3_value_bytes(tls *libc.TLS, pVal uintptr) int32 { /* sqlite3.c:85241:16: */ return Xsqlite3ValueBytes(tls, pVal, uint8(SQLITE_UTF8)) } -func Xsqlite3_value_bytes16(tls *libc.TLS, pVal uintptr) int32 { /* sqlite3.c:85231:16: */ +func Xsqlite3_value_bytes16(tls *libc.TLS, pVal uintptr) int32 { /* sqlite3.c:85244:16: */ return Xsqlite3ValueBytes(tls, pVal, uint8(SQLITE_UTF16LE)) } -func Xsqlite3_value_double(tls *libc.TLS, pVal uintptr) float64 { /* sqlite3.c:85234:19: */ +func Xsqlite3_value_double(tls *libc.TLS, pVal uintptr) float64 { /* sqlite3.c:85247:19: */ return Xsqlite3VdbeRealValue(tls, pVal) } -func Xsqlite3_value_int(tls *libc.TLS, pVal uintptr) int32 { /* sqlite3.c:85237:16: */ +func Xsqlite3_value_int(tls *libc.TLS, pVal uintptr) int32 { /* sqlite3.c:85250:16: */ return int32(Xsqlite3VdbeIntValue(tls, pVal)) } -func Xsqlite3_value_int64(tls *libc.TLS, pVal uintptr) Sqlite_int64 { /* sqlite3.c:85240:25: */ +func Xsqlite3_value_int64(tls *libc.TLS, pVal uintptr) Sqlite_int64 { /* sqlite3.c:85253:25: */ return Xsqlite3VdbeIntValue(tls, pVal) } -func Xsqlite3_value_subtype(tls *libc.TLS, pVal uintptr) uint32 { /* sqlite3.c:85243:25: */ +func Xsqlite3_value_subtype(tls *libc.TLS, pVal uintptr) uint32 { /* sqlite3.c:85256:25: */ var pMem uintptr = pVal return func() uint32 { if int32((*Mem)(unsafe.Pointer(pMem)).Fflags)&MEM_Subtype != 0 { @@ -75035,7 +75073,7 @@ func Xsqlite3_value_subtype(tls *libc.TLS, pVal uintptr) uint32 { /* sqlite3.c:8 }() } -func Xsqlite3_value_pointer(tls *libc.TLS, pVal uintptr, zPType uintptr) uintptr { /* sqlite3.c:85247:17: */ +func Xsqlite3_value_pointer(tls *libc.TLS, pVal uintptr, zPType uintptr) uintptr { /* sqlite3.c:85260:17: */ var p uintptr = pVal if int32((*Mem)(unsafe.Pointer(p)).Fflags)&(MEM_TypeMask|MEM_Term|MEM_Subtype) == MEM_Null|MEM_Term|MEM_Subtype && zPType != uintptr(0) && @@ -75048,26 +75086,26 @@ func Xsqlite3_value_pointer(tls *libc.TLS, pVal uintptr, zPType uintptr) uintptr return uintptr(0) } -func Xsqlite3_value_text(tls *libc.TLS, pVal uintptr) uintptr { /* sqlite3.c:85260:32: */ +func Xsqlite3_value_text(tls *libc.TLS, pVal uintptr) uintptr { /* sqlite3.c:85273:32: */ return Xsqlite3ValueText(tls, pVal, uint8(SQLITE_UTF8)) } -func Xsqlite3_value_text16(tls *libc.TLS, pVal uintptr) uintptr { /* sqlite3.c:85264:23: */ +func Xsqlite3_value_text16(tls *libc.TLS, pVal uintptr) uintptr { /* sqlite3.c:85277:23: */ return Xsqlite3ValueText(tls, pVal, uint8(SQLITE_UTF16LE)) } -func Xsqlite3_value_text16be(tls *libc.TLS, pVal uintptr) uintptr { /* sqlite3.c:85267:23: */ +func Xsqlite3_value_text16be(tls *libc.TLS, pVal uintptr) uintptr { /* sqlite3.c:85280:23: */ return Xsqlite3ValueText(tls, pVal, uint8(SQLITE_UTF16BE)) } -func Xsqlite3_value_text16le(tls *libc.TLS, pVal uintptr) uintptr { /* sqlite3.c:85270:23: */ +func Xsqlite3_value_text16le(tls *libc.TLS, pVal uintptr) uintptr { /* sqlite3.c:85283:23: */ return Xsqlite3ValueText(tls, pVal, uint8(SQLITE_UTF16LE)) } // EVIDENCE-OF: R-12793-43283 Every value in SQLite has one of five // fundamental datatypes: 64-bit signed integer 64-bit IEEE floating // point number string BLOB NULL -func Xsqlite3_value_type(tls *libc.TLS, pVal uintptr) int32 { /* sqlite3.c:85278:16: */ +func Xsqlite3_value_type(tls *libc.TLS, pVal uintptr) int32 { /* sqlite3.c:85291:16: */ return int32(aType[int32((*Sqlite3_value)(unsafe.Pointer(pVal)).Fflags)&MEM_AffMask]) } @@ -75136,20 +75174,20 @@ var aType = [64]U8{ U8(SQLITE_NULL), // 0x3d (not possible) U8(SQLITE_FLOAT), // 0x3e (not possible) U8(SQLITE_NULL), // 0x3f (not possible) -} /* sqlite3.c:85279:19 */ +} /* sqlite3.c:85292:19 */ // Return true if a parameter to xUpdate represents an unchanged column -func Xsqlite3_value_nochange(tls *libc.TLS, pVal uintptr) int32 { /* sqlite3.c:85364:16: */ +func Xsqlite3_value_nochange(tls *libc.TLS, pVal uintptr) int32 { /* sqlite3.c:85377:16: */ return libc.Bool32(int32((*Sqlite3_value)(unsafe.Pointer(pVal)).Fflags)&(MEM_Null|MEM_Zero) == MEM_Null|MEM_Zero) } // Return true if a parameter value originated from an sqlite3_bind() -func Xsqlite3_value_frombind(tls *libc.TLS, pVal uintptr) int32 { /* sqlite3.c:85369:16: */ +func Xsqlite3_value_frombind(tls *libc.TLS, pVal uintptr) int32 { /* sqlite3.c:85382:16: */ return libc.Bool32(int32((*Sqlite3_value)(unsafe.Pointer(pVal)).Fflags)&MEM_FromBind != 0) } // Make a copy of an sqlite3_value object -func Xsqlite3_value_dup(tls *libc.TLS, pOrig uintptr) uintptr { /* sqlite3.c:85375:26: */ +func Xsqlite3_value_dup(tls *libc.TLS, pOrig uintptr) uintptr { /* sqlite3.c:85388:26: */ var pNew uintptr if pOrig == uintptr(0) { return uintptr(0) @@ -75175,7 +75213,7 @@ func Xsqlite3_value_dup(tls *libc.TLS, pOrig uintptr) uintptr { /* sqlite3.c:853 // Destroy an sqlite3_value object previously obtained from // sqlite3_value_dup(). -func Xsqlite3_value_free(tls *libc.TLS, pOld uintptr) { /* sqlite3.c:85398:17: */ +func Xsqlite3_value_free(tls *libc.TLS, pOld uintptr) { /* sqlite3.c:85411:17: */ Xsqlite3ValueFree(tls, pOld) } @@ -75190,7 +75228,7 @@ func Xsqlite3_value_free(tls *libc.TLS, pOld uintptr) { /* sqlite3.c:85398:17: * // // The invokeValueDestructor(P,X) routine invokes destructor function X() // on value P is not going to be used and need to be destroyed. -func setResultStrOrError(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, enc U8, xDel uintptr) { /* sqlite3.c:85414:13: */ +func setResultStrOrError(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, enc U8, xDel uintptr) { /* sqlite3.c:85427:13: */ var rc int32 = Xsqlite3VdbeMemSetStr(tls, (*Sqlite3_context)(unsafe.Pointer(pCtx)).FpOut, z, int64(n), enc, xDel) if rc != 0 { if rc == SQLITE_TOOBIG { @@ -75204,7 +75242,7 @@ func setResultStrOrError(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, enc U8 } } -func invokeValueDestructor(tls *libc.TLS, p uintptr, xDel uintptr, pCtx uintptr) int32 { /* sqlite3.c:85433:12: */ +func invokeValueDestructor(tls *libc.TLS, p uintptr, xDel uintptr, pCtx uintptr) int32 { /* sqlite3.c:85446:12: */ if xDel == uintptr(0) { // noop @@ -75217,12 +75255,12 @@ func invokeValueDestructor(tls *libc.TLS, p uintptr, xDel uintptr, pCtx uintptr) return SQLITE_TOOBIG } -func Xsqlite3_result_blob(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, xDel uintptr) { /* sqlite3.c:85449:17: */ +func Xsqlite3_result_blob(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, xDel uintptr) { /* sqlite3.c:85462:17: */ setResultStrOrError(tls, pCtx, z, n, uint8(0), xDel) } -func Xsqlite3_result_blob64(tls *libc.TLS, pCtx uintptr, z uintptr, n Sqlite3_uint64, xDel uintptr) { /* sqlite3.c:85459:17: */ +func Xsqlite3_result_blob64(tls *libc.TLS, pCtx uintptr, z uintptr, n Sqlite3_uint64, xDel uintptr) { /* sqlite3.c:85472:17: */ if n > uint64(0x7fffffff) { invokeValueDestructor(tls, z, xDel, pCtx) @@ -75231,39 +75269,39 @@ func Xsqlite3_result_blob64(tls *libc.TLS, pCtx uintptr, z uintptr, n Sqlite3_ui } } -func Xsqlite3_result_double(tls *libc.TLS, pCtx uintptr, rVal float64) { /* sqlite3.c:85473:17: */ +func Xsqlite3_result_double(tls *libc.TLS, pCtx uintptr, rVal float64) { /* sqlite3.c:85486:17: */ Xsqlite3VdbeMemSetDouble(tls, (*Sqlite3_context)(unsafe.Pointer(pCtx)).FpOut, rVal) } -func Xsqlite3_result_error(tls *libc.TLS, pCtx uintptr, z uintptr, n int32) { /* sqlite3.c:85477:17: */ +func Xsqlite3_result_error(tls *libc.TLS, pCtx uintptr, z uintptr, n int32) { /* sqlite3.c:85490:17: */ (*Sqlite3_context)(unsafe.Pointer(pCtx)).FisError = SQLITE_ERROR Xsqlite3VdbeMemSetStr(tls, (*Sqlite3_context)(unsafe.Pointer(pCtx)).FpOut, z, int64(n), uint8(SQLITE_UTF8), libc.UintptrFromInt32(-1)) } -func Xsqlite3_result_error16(tls *libc.TLS, pCtx uintptr, z uintptr, n int32) { /* sqlite3.c:85483:17: */ +func Xsqlite3_result_error16(tls *libc.TLS, pCtx uintptr, z uintptr, n int32) { /* sqlite3.c:85496:17: */ (*Sqlite3_context)(unsafe.Pointer(pCtx)).FisError = SQLITE_ERROR Xsqlite3VdbeMemSetStr(tls, (*Sqlite3_context)(unsafe.Pointer(pCtx)).FpOut, z, int64(n), uint8(SQLITE_UTF16LE), libc.UintptrFromInt32(-1)) } -func Xsqlite3_result_int(tls *libc.TLS, pCtx uintptr, iVal int32) { /* sqlite3.c:85489:17: */ +func Xsqlite3_result_int(tls *libc.TLS, pCtx uintptr, iVal int32) { /* sqlite3.c:85502:17: */ Xsqlite3VdbeMemSetInt64(tls, (*Sqlite3_context)(unsafe.Pointer(pCtx)).FpOut, I64(iVal)) } -func Xsqlite3_result_int64(tls *libc.TLS, pCtx uintptr, iVal I64) { /* sqlite3.c:85493:17: */ +func Xsqlite3_result_int64(tls *libc.TLS, pCtx uintptr, iVal I64) { /* sqlite3.c:85506:17: */ Xsqlite3VdbeMemSetInt64(tls, (*Sqlite3_context)(unsafe.Pointer(pCtx)).FpOut, iVal) } -func Xsqlite3_result_null(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:85497:17: */ +func Xsqlite3_result_null(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:85510:17: */ Xsqlite3VdbeMemSetNull(tls, (*Sqlite3_context)(unsafe.Pointer(pCtx)).FpOut) } -func Xsqlite3_result_pointer(tls *libc.TLS, pCtx uintptr, pPtr uintptr, zPType uintptr, xDestructor uintptr) { /* sqlite3.c:85501:17: */ +func Xsqlite3_result_pointer(tls *libc.TLS, pCtx uintptr, pPtr uintptr, zPType uintptr, xDestructor uintptr) { /* sqlite3.c:85514:17: */ var pOut uintptr = (*Sqlite3_context)(unsafe.Pointer(pCtx)).FpOut Xsqlite3VdbeMemRelease(tls, pOut) @@ -75271,19 +75309,19 @@ func Xsqlite3_result_pointer(tls *libc.TLS, pCtx uintptr, pPtr uintptr, zPType u Xsqlite3VdbeMemSetPointer(tls, pOut, pPtr, zPType, xDestructor) } -func Xsqlite3_result_subtype(tls *libc.TLS, pCtx uintptr, eSubtype uint32) { /* sqlite3.c:85513:17: */ +func Xsqlite3_result_subtype(tls *libc.TLS, pCtx uintptr, eSubtype uint32) { /* sqlite3.c:85526:17: */ var pOut uintptr = (*Sqlite3_context)(unsafe.Pointer(pCtx)).FpOut (*Mem)(unsafe.Pointer(pOut)).FeSubtype = U8(eSubtype & uint32(0xff)) *(*U16)(unsafe.Pointer(pOut + 8)) |= U16(MEM_Subtype) } -func Xsqlite3_result_text(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, xDel uintptr) { /* sqlite3.c:85519:17: */ +func Xsqlite3_result_text(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, xDel uintptr) { /* sqlite3.c:85532:17: */ setResultStrOrError(tls, pCtx, z, n, uint8(SQLITE_UTF8), xDel) } -func Xsqlite3_result_text64(tls *libc.TLS, pCtx uintptr, z uintptr, n Sqlite3_uint64, xDel uintptr, enc uint8) { /* sqlite3.c:85528:17: */ +func Xsqlite3_result_text64(tls *libc.TLS, pCtx uintptr, z uintptr, n Sqlite3_uint64, xDel uintptr, enc uint8) { /* sqlite3.c:85541:17: */ if int32(enc) == SQLITE_UTF16 { enc = uint8(SQLITE_UTF16LE) @@ -75295,32 +75333,32 @@ func Xsqlite3_result_text64(tls *libc.TLS, pCtx uintptr, z uintptr, n Sqlite3_ui } } -func Xsqlite3_result_text16(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, xDel uintptr) { /* sqlite3.c:85545:17: */ +func Xsqlite3_result_text16(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, xDel uintptr) { /* sqlite3.c:85558:17: */ setResultStrOrError(tls, pCtx, z, n, uint8(SQLITE_UTF16LE), xDel) } -func Xsqlite3_result_text16be(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, xDel uintptr) { /* sqlite3.c:85554:17: */ +func Xsqlite3_result_text16be(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, xDel uintptr) { /* sqlite3.c:85567:17: */ setResultStrOrError(tls, pCtx, z, n, uint8(SQLITE_UTF16BE), xDel) } -func Xsqlite3_result_text16le(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, xDel uintptr) { /* sqlite3.c:85563:17: */ +func Xsqlite3_result_text16le(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, xDel uintptr) { /* sqlite3.c:85576:17: */ setResultStrOrError(tls, pCtx, z, n, uint8(SQLITE_UTF16LE), xDel) } -func Xsqlite3_result_value(tls *libc.TLS, pCtx uintptr, pValue uintptr) { /* sqlite3.c:85573:17: */ +func Xsqlite3_result_value(tls *libc.TLS, pCtx uintptr, pValue uintptr) { /* sqlite3.c:85586:17: */ Xsqlite3VdbeMemCopy(tls, (*Sqlite3_context)(unsafe.Pointer(pCtx)).FpOut, pValue) } -func Xsqlite3_result_zeroblob(tls *libc.TLS, pCtx uintptr, n int32) { /* sqlite3.c:85577:17: */ +func Xsqlite3_result_zeroblob(tls *libc.TLS, pCtx uintptr, n int32) { /* sqlite3.c:85590:17: */ Xsqlite3VdbeMemSetZeroBlob(tls, (*Sqlite3_context)(unsafe.Pointer(pCtx)).FpOut, n) } -func Xsqlite3_result_zeroblob64(tls *libc.TLS, pCtx uintptr, n U64) int32 { /* sqlite3.c:85581:16: */ +func Xsqlite3_result_zeroblob64(tls *libc.TLS, pCtx uintptr, n U64) int32 { /* sqlite3.c:85594:16: */ var pOut uintptr = (*Sqlite3_context)(unsafe.Pointer(pCtx)).FpOut if n > U64(*(*int32)(unsafe.Pointer((*Mem)(unsafe.Pointer(pOut)).Fdb + 136))) { @@ -75330,7 +75368,7 @@ func Xsqlite3_result_zeroblob64(tls *libc.TLS, pCtx uintptr, n U64) int32 { /* s return SQLITE_OK } -func Xsqlite3_result_error_code(tls *libc.TLS, pCtx uintptr, errCode int32) { /* sqlite3.c:85594:17: */ +func Xsqlite3_result_error_code(tls *libc.TLS, pCtx uintptr, errCode int32) { /* sqlite3.c:85607:17: */ (*Sqlite3_context)(unsafe.Pointer(pCtx)).FisError = func() int32 { if errCode != 0 { return errCode @@ -75344,7 +75382,7 @@ func Xsqlite3_result_error_code(tls *libc.TLS, pCtx uintptr, errCode int32) { /* } // Force an SQLITE_TOOBIG error. -func Xsqlite3_result_error_toobig(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:85606:17: */ +func Xsqlite3_result_error_toobig(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:85619:17: */ (*Sqlite3_context)(unsafe.Pointer(pCtx)).FisError = SQLITE_TOOBIG Xsqlite3VdbeMemSetStr(tls, (*Sqlite3_context)(unsafe.Pointer(pCtx)).FpOut, ts+5688, int64(-1), @@ -75352,7 +75390,7 @@ func Xsqlite3_result_error_toobig(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:85 } // An SQLITE_NOMEM error. -func Xsqlite3_result_error_nomem(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:85614:17: */ +func Xsqlite3_result_error_nomem(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:85627:17: */ Xsqlite3VdbeMemSetNull(tls, (*Sqlite3_context)(unsafe.Pointer(pCtx)).FpOut) (*Sqlite3_context)(unsafe.Pointer(pCtx)).FisError = SQLITE_NOMEM @@ -75362,7 +75400,7 @@ func Xsqlite3_result_error_nomem(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:856 // Force the INT64 value currently stored as the result to be // a MEM_IntReal value. See the SQLITE_TESTCTRL_RESULT_INTREAL // test-control. -func Xsqlite3ResultIntReal(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:85626:21: */ +func Xsqlite3ResultIntReal(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:85639:21: */ if int32((*Mem)(unsafe.Pointer((*Sqlite3_context)(unsafe.Pointer(pCtx)).FpOut)).Fflags)&MEM_Int != 0 { *(*U16)(unsafe.Pointer((*Sqlite3_context)(unsafe.Pointer(pCtx)).FpOut + 8)) &= libc.Uint16FromInt32(libc.CplInt32(MEM_Int)) @@ -75372,7 +75410,7 @@ func Xsqlite3ResultIntReal(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:85626:21: // This function is called after a transaction has been committed. It // invokes callbacks registered with sqlite3_wal_hook() as required. -func doWalCallbacks(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:85640:12: */ +func doWalCallbacks(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:85653:12: */ var rc int32 = SQLITE_OK var i int32 for i = 0; i < (*Sqlite3)(unsafe.Pointer(db)).FnDb; i++ { @@ -75399,7 +75437,7 @@ func doWalCallbacks(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:85640:12: */ // API. The only thing omitted is the automatic recompile if a // schema change has occurred. That detail is handled by the // outer sqlite3_step() wrapper procedure. -func sqlite3Step(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:85670:12: */ +func sqlite3Step(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:85683:12: */ var db uintptr var rc int32 @@ -75566,14 +75604,14 @@ end_of_step: // This is the top-level implementation of sqlite3_step(). Call // sqlite3Step() to do most of the work. If a schema error occurs, // call sqlite3Reprepare() and try again. -func Xsqlite3_step(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:85804:16: */ +func Xsqlite3_step(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:85817:16: */ var rc int32 = SQLITE_OK // Result from sqlite3Step() var v uintptr = pStmt // the prepared statement var cnt int32 = 0 // Counter to prevent infinite loop of reprepares var db uintptr // The database connection if vdbeSafetyNotNull(tls, v) != 0 { - return Xsqlite3MisuseError(tls, 85811) + return Xsqlite3MisuseError(tls, 85824) } db = (*Vdbe)(unsafe.Pointer(v)).Fdb Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) @@ -75613,7 +75651,7 @@ func Xsqlite3_step(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:85804:16: // Extract the user data from a sqlite3_context structure and return a // pointer to it. -func Xsqlite3_user_data(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:85853:17: */ +func Xsqlite3_user_data(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:85866:17: */ return (*FuncDef)(unsafe.Pointer((*Sqlite3_context)(unsafe.Pointer(p)).FpFunc)).FpUserData } @@ -75626,7 +75664,7 @@ func Xsqlite3_user_data(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:85853:1 // parameter) of the sqlite3_create_function() and // sqlite3_create_function16() routines that originally registered the // application defined function. -func Xsqlite3_context_db_handle(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:85868:20: */ +func Xsqlite3_context_db_handle(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:85881:20: */ return (*Mem)(unsafe.Pointer((*Sqlite3_context)(unsafe.Pointer(p)).FpOut)).Fdb } @@ -75643,14 +75681,14 @@ func Xsqlite3_context_db_handle(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c // Virtual table implements might use this routine to optimize their // performance by substituting a NULL result, or some other light-weight // value, as a signal to the xUpdate routine that the column is unchanged. -func Xsqlite3_vtab_nochange(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:85887:16: */ +func Xsqlite3_vtab_nochange(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:85900:16: */ return Xsqlite3_value_nochange(tls, (*Sqlite3_context)(unsafe.Pointer(p)).FpOut) } // Implementation of sqlite3_vtab_in_first() (if bNext==0) and // sqlite3_vtab_in_next() (if bNext!=0). -func valueFromValueList(tls *libc.TLS, pVal uintptr, ppOut uintptr, bNext int32) int32 { /* sqlite3.c:85896:12: */ +func valueFromValueList(tls *libc.TLS, pVal uintptr, ppOut uintptr, bNext int32) int32 { /* sqlite3.c:85909:12: */ bp := tls.Alloc(68) defer tls.Free(68) @@ -75708,13 +75746,13 @@ func valueFromValueList(tls *libc.TLS, pVal uintptr, ppOut uintptr, bNext int32) // Set the iterator value pVal to point to the first value in the set. // Set (*ppOut) to point to this value before returning. -func Xsqlite3_vtab_in_first(tls *libc.TLS, pVal uintptr, ppOut uintptr) int32 { /* sqlite3.c:85944:16: */ +func Xsqlite3_vtab_in_first(tls *libc.TLS, pVal uintptr, ppOut uintptr) int32 { /* sqlite3.c:85957:16: */ return valueFromValueList(tls, pVal, ppOut, 0) } // Set the iterator value pVal to point to the next value in the set. // Set (*ppOut) to point to this value before returning. -func Xsqlite3_vtab_in_next(tls *libc.TLS, pVal uintptr, ppOut uintptr) int32 { /* sqlite3.c:85952:16: */ +func Xsqlite3_vtab_in_next(tls *libc.TLS, pVal uintptr, ppOut uintptr) int32 { /* sqlite3.c:85965:16: */ return valueFromValueList(tls, pVal, ppOut, 1) } @@ -75723,7 +75761,7 @@ func Xsqlite3_vtab_in_next(tls *libc.TLS, pVal uintptr, ppOut uintptr) int32 { / // statement, the exact same time is returned for each invocation regardless // of the amount of time that elapses between invocations. In other words, // the time returned is always the time of the first call. -func Xsqlite3StmtCurrentTime(tls *libc.TLS, p uintptr) Sqlite3_int64 { /* sqlite3.c:85963:30: */ +func Xsqlite3StmtCurrentTime(tls *libc.TLS, p uintptr) Sqlite3_int64 { /* sqlite3.c:85976:30: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -75746,7 +75784,7 @@ func Xsqlite3StmtCurrentTime(tls *libc.TLS, p uintptr) Sqlite3_int64 { /* sqlite // Create a new aggregate context for p and return a pointer to // its pMem->z element. -func createAggContext(tls *libc.TLS, p uintptr, nByte int32) uintptr { /* sqlite3.c:85983:29: */ +func createAggContext(tls *libc.TLS, p uintptr, nByte int32) uintptr { /* sqlite3.c:85996:29: */ var pMem uintptr = (*Sqlite3_context)(unsafe.Pointer(p)).FpMem if nByte <= 0 { @@ -75766,7 +75804,7 @@ func createAggContext(tls *libc.TLS, p uintptr, nByte int32) uintptr { /* sqlite // Allocate or return the aggregate context for a user function. A new // context is allocated on the first call. Subsequent calls return the // same context that was returned on prior calls. -func Xsqlite3_aggregate_context(tls *libc.TLS, p uintptr, nByte int32) uintptr { /* sqlite3.c:86005:17: */ +func Xsqlite3_aggregate_context(tls *libc.TLS, p uintptr, nByte int32) uintptr { /* sqlite3.c:86018:17: */ if int32((*Mem)(unsafe.Pointer((*Sqlite3_context)(unsafe.Pointer(p)).FpMem)).Fflags)&MEM_Agg == 0 { return createAggContext(tls, p, nByte) @@ -75784,7 +75822,7 @@ func Xsqlite3_aggregate_context(tls *libc.TLS, p uintptr, nByte int32) uintptr { // Undocumented behavior: If iArg is negative then access a cache of // auxiliary data pointers that is available to all functions within a // single prepared statement. The iArg values must match. -func Xsqlite3_get_auxdata(tls *libc.TLS, pCtx uintptr, iArg int32) uintptr { /* sqlite3.c:86026:17: */ +func Xsqlite3_get_auxdata(tls *libc.TLS, pCtx uintptr, iArg int32) uintptr { /* sqlite3.c:86039:17: */ var pAuxData uintptr if (*Sqlite3_context)(unsafe.Pointer(pCtx)).FpVdbe == uintptr(0) { @@ -75807,7 +75845,7 @@ func Xsqlite3_get_auxdata(tls *libc.TLS, pCtx uintptr, iArg int32) uintptr { /* // Undocumented behavior: If iArg is negative then make the data available // 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) { /* sqlite3.c:86054:17: */ +func Xsqlite3_set_auxdata(tls *libc.TLS, pCtx uintptr, iArg int32, pAux uintptr, xDelete uintptr) { /* sqlite3.c:86067:17: */ var pAuxData uintptr var pVdbe uintptr pVdbe = (*Sqlite3_context)(unsafe.Pointer(pCtx)).FpVdbe @@ -75887,13 +75925,13 @@ __11: // provide only to avoid breaking legacy code. New aggregate function // implementations should keep their own counts within their aggregate // context. -func Xsqlite3_aggregate_count(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:86107:16: */ +func Xsqlite3_aggregate_count(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:86120:16: */ return (*Mem)(unsafe.Pointer((*Sqlite3_context)(unsafe.Pointer(p)).FpMem)).Fn } // Return the number of columns in the result set for the statement pStmt. -func Xsqlite3_column_count(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:86116:16: */ +func Xsqlite3_column_count(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:86129:16: */ var pVm uintptr = pStmt if pVm != 0 { return int32((*Vdbe)(unsafe.Pointer(pVm)).FnResColumn) @@ -75903,7 +75941,7 @@ func Xsqlite3_column_count(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:86 // Return the number of values available from the current row of the // currently executing statement pStmt. -func Xsqlite3_data_count(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:86125:16: */ +func Xsqlite3_data_count(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:86138:16: */ var pVm uintptr = pStmt if pVm == uintptr(0) || (*Vdbe)(unsafe.Pointer(pVm)).FpResultSet == uintptr(0) { return 0 @@ -75912,19 +75950,19 @@ func Xsqlite3_data_count(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:8612 } // Return a pointer to static memory containing an SQL NULL value. -func columnNullValue(tls *libc.TLS) uintptr { /* sqlite3.c:86134:18: */ +func columnNullValue(tls *libc.TLS) uintptr { /* sqlite3.c:86147:18: */ return uintptr(unsafe.Pointer(&nullMem)) } var nullMem = Mem{ /* .flags = */ Fflags: U16(MEM_Null), -} /* sqlite3.c:86144:20 */ +} /* sqlite3.c:86157:20 */ // Check to see if column iCol of the given statement is valid. If // it is, return a pointer to the Mem for the value of that column. // If iCol is not valid, return a pointer to a Mem which has a value // of NULL. -func columnMem(tls *libc.TLS, pStmt uintptr, i int32) uintptr { /* sqlite3.c:86174:12: */ +func columnMem(tls *libc.TLS, pStmt uintptr, i int32) uintptr { /* sqlite3.c:86187:12: */ var pVm uintptr var pOut uintptr @@ -75959,7 +75997,7 @@ func columnMem(tls *libc.TLS, pStmt uintptr, i int32) uintptr { /* sqlite3.c:861 // sqlite3_column_bytes() // sqlite3_column_bytes16() // sqiite3_column_blob() -func columnMallocFailure(tls *libc.TLS, pStmt uintptr) { /* sqlite3.c:86209:13: */ +func columnMallocFailure(tls *libc.TLS, pStmt uintptr) { /* sqlite3.c:86222:13: */ // If malloc() failed during an encoding conversion within an // sqlite3_column_XXX API, then set the return code of the statement to // SQLITE_NOMEM. The next call to _step() (if any) will return SQLITE_ERROR @@ -75976,7 +76014,7 @@ func columnMallocFailure(tls *libc.TLS, pStmt uintptr) { /* sqlite3.c:86209:13: // // The following routines are used to access elements of the current row // in the result set. -func Xsqlite3_column_blob(tls *libc.TLS, pStmt uintptr, i int32) uintptr { /* sqlite3.c:86229:23: */ +func Xsqlite3_column_blob(tls *libc.TLS, pStmt uintptr, i int32) uintptr { /* sqlite3.c:86242:23: */ var val uintptr val = Xsqlite3_value_blob(tls, columnMem(tls, pStmt, i)) // Even though there is no encoding conversion, value_blob() might @@ -75986,43 +76024,43 @@ func Xsqlite3_column_blob(tls *libc.TLS, pStmt uintptr, i int32) uintptr { /* sq return val } -func Xsqlite3_column_bytes(tls *libc.TLS, pStmt uintptr, i int32) int32 { /* sqlite3.c:86239:16: */ +func Xsqlite3_column_bytes(tls *libc.TLS, pStmt uintptr, i int32) int32 { /* sqlite3.c:86252:16: */ var val int32 = Xsqlite3_value_bytes(tls, columnMem(tls, pStmt, i)) columnMallocFailure(tls, pStmt) return val } -func Xsqlite3_column_bytes16(tls *libc.TLS, pStmt uintptr, i int32) int32 { /* sqlite3.c:86244:16: */ +func Xsqlite3_column_bytes16(tls *libc.TLS, pStmt uintptr, i int32) int32 { /* sqlite3.c:86257:16: */ var val int32 = Xsqlite3_value_bytes16(tls, columnMem(tls, pStmt, i)) columnMallocFailure(tls, pStmt) return val } -func Xsqlite3_column_double(tls *libc.TLS, pStmt uintptr, i int32) float64 { /* sqlite3.c:86249:19: */ +func Xsqlite3_column_double(tls *libc.TLS, pStmt uintptr, i int32) float64 { /* sqlite3.c:86262:19: */ var val float64 = Xsqlite3_value_double(tls, columnMem(tls, pStmt, i)) columnMallocFailure(tls, pStmt) return val } -func Xsqlite3_column_int(tls *libc.TLS, pStmt uintptr, i int32) int32 { /* sqlite3.c:86254:16: */ +func Xsqlite3_column_int(tls *libc.TLS, pStmt uintptr, i int32) int32 { /* sqlite3.c:86267:16: */ var val int32 = Xsqlite3_value_int(tls, columnMem(tls, pStmt, i)) columnMallocFailure(tls, pStmt) return val } -func Xsqlite3_column_int64(tls *libc.TLS, pStmt uintptr, i int32) Sqlite_int64 { /* sqlite3.c:86259:25: */ +func Xsqlite3_column_int64(tls *libc.TLS, pStmt uintptr, i int32) Sqlite_int64 { /* sqlite3.c:86272:25: */ var val Sqlite_int64 = Xsqlite3_value_int64(tls, columnMem(tls, pStmt, i)) columnMallocFailure(tls, pStmt) return val } -func Xsqlite3_column_text(tls *libc.TLS, pStmt uintptr, i int32) uintptr { /* sqlite3.c:86264:32: */ +func Xsqlite3_column_text(tls *libc.TLS, pStmt uintptr, i int32) uintptr { /* sqlite3.c:86277:32: */ var val uintptr = Xsqlite3_value_text(tls, columnMem(tls, pStmt, i)) columnMallocFailure(tls, pStmt) return val } -func Xsqlite3_column_value(tls *libc.TLS, pStmt uintptr, i int32) uintptr { /* sqlite3.c:86269:26: */ +func Xsqlite3_column_value(tls *libc.TLS, pStmt uintptr, i int32) uintptr { /* sqlite3.c:86282:26: */ var pOut uintptr = columnMem(tls, pStmt, i) if int32((*Mem)(unsafe.Pointer(pOut)).Fflags)&MEM_Static != 0 { *(*U16)(unsafe.Pointer(pOut + 8)) &= libc.Uint16FromInt32(libc.CplInt32(MEM_Static)) @@ -76032,13 +76070,13 @@ func Xsqlite3_column_value(tls *libc.TLS, pStmt uintptr, i int32) uintptr { /* s return pOut } -func Xsqlite3_column_text16(tls *libc.TLS, pStmt uintptr, i int32) uintptr { /* sqlite3.c:86279:23: */ +func Xsqlite3_column_text16(tls *libc.TLS, pStmt uintptr, i int32) uintptr { /* sqlite3.c:86292:23: */ var val uintptr = Xsqlite3_value_text16(tls, columnMem(tls, pStmt, i)) columnMallocFailure(tls, pStmt) return val } -func Xsqlite3_column_type(tls *libc.TLS, pStmt uintptr, i int32) int32 { /* sqlite3.c:86285:16: */ +func Xsqlite3_column_type(tls *libc.TLS, pStmt uintptr, i int32) int32 { /* sqlite3.c:86298:16: */ var iType int32 = Xsqlite3_value_type(tls, columnMem(tls, pStmt, i)) columnMallocFailure(tls, pStmt) return iType @@ -76058,7 +76096,7 @@ func Xsqlite3_column_type(tls *libc.TLS, pStmt uintptr, i int32) int32 { /* sqli // // If the result is not a simple column reference (if it is an expression // or a constant) then useTypes 2, 3, and 4 return NULL. -func columnName(tls *libc.TLS, pStmt uintptr, N int32, useUtf16 int32, useType int32) uintptr { /* sqlite3.c:86307:19: */ +func columnName(tls *libc.TLS, pStmt uintptr, N int32, useUtf16 int32, useType int32) uintptr { /* sqlite3.c:86320:19: */ var ret uintptr var p uintptr var n int32 @@ -76090,11 +76128,11 @@ func columnName(tls *libc.TLS, pStmt uintptr, N int32, useUtf16 int32, useType i // Return the name of the Nth column of the result set returned by SQL // statement pStmt. -func Xsqlite3_column_name(tls *libc.TLS, pStmt uintptr, N int32) uintptr { /* sqlite3.c:86356:23: */ +func Xsqlite3_column_name(tls *libc.TLS, pStmt uintptr, N int32) uintptr { /* sqlite3.c:86369:23: */ return columnName(tls, pStmt, N, 0, COLNAME_NAME) } -func Xsqlite3_column_name16(tls *libc.TLS, pStmt uintptr, N int32) uintptr { /* sqlite3.c:86360:23: */ +func Xsqlite3_column_name16(tls *libc.TLS, pStmt uintptr, N int32) uintptr { /* sqlite3.c:86373:23: */ return columnName(tls, pStmt, N, 1, COLNAME_NAME) } @@ -76103,44 +76141,44 @@ func Xsqlite3_column_name16(tls *libc.TLS, pStmt uintptr, N int32) uintptr { /* // Return the column declaration type (if applicable) of the 'i'th column // of the result set of SQL statement pStmt. -func Xsqlite3_column_decltype(tls *libc.TLS, pStmt uintptr, N int32) uintptr { /* sqlite3.c:86379:23: */ +func Xsqlite3_column_decltype(tls *libc.TLS, pStmt uintptr, N int32) uintptr { /* sqlite3.c:86392:23: */ return columnName(tls, pStmt, N, 0, COLNAME_DECLTYPE) } -func Xsqlite3_column_decltype16(tls *libc.TLS, pStmt uintptr, N int32) uintptr { /* sqlite3.c:86383:23: */ +func Xsqlite3_column_decltype16(tls *libc.TLS, pStmt uintptr, N int32) uintptr { /* sqlite3.c:86396:23: */ return columnName(tls, pStmt, N, 1, COLNAME_DECLTYPE) } // Return the name of the database from which a result column derives. // NULL is returned if the result column is an expression or constant or // anything else which is not an unambiguous reference to a database column. -func Xsqlite3_column_database_name(tls *libc.TLS, pStmt uintptr, N int32) uintptr { /* sqlite3.c:86395:23: */ +func Xsqlite3_column_database_name(tls *libc.TLS, pStmt uintptr, N int32) uintptr { /* sqlite3.c:86408:23: */ return columnName(tls, pStmt, N, 0, COLNAME_DATABASE) } -func Xsqlite3_column_database_name16(tls *libc.TLS, pStmt uintptr, N int32) uintptr { /* sqlite3.c:86399:23: */ +func Xsqlite3_column_database_name16(tls *libc.TLS, pStmt uintptr, N int32) uintptr { /* sqlite3.c:86412:23: */ return columnName(tls, pStmt, N, 1, COLNAME_DATABASE) } // Return the name of the table from which a result column derives. // NULL is returned if the result column is an expression or constant or // anything else which is not an unambiguous reference to a database column. -func Xsqlite3_column_table_name(tls *libc.TLS, pStmt uintptr, N int32) uintptr { /* sqlite3.c:86409:23: */ +func Xsqlite3_column_table_name(tls *libc.TLS, pStmt uintptr, N int32) uintptr { /* sqlite3.c:86422:23: */ return columnName(tls, pStmt, N, 0, COLNAME_TABLE) } -func Xsqlite3_column_table_name16(tls *libc.TLS, pStmt uintptr, N int32) uintptr { /* sqlite3.c:86413:23: */ +func Xsqlite3_column_table_name16(tls *libc.TLS, pStmt uintptr, N int32) uintptr { /* sqlite3.c:86426:23: */ return columnName(tls, pStmt, N, 1, COLNAME_TABLE) } // Return the name of the table column from which a result column derives. // NULL is returned if the result column is an expression or constant or // anything else which is not an unambiguous reference to a database column. -func Xsqlite3_column_origin_name(tls *libc.TLS, pStmt uintptr, N int32) uintptr { /* sqlite3.c:86423:23: */ +func Xsqlite3_column_origin_name(tls *libc.TLS, pStmt uintptr, N int32) uintptr { /* sqlite3.c:86436:23: */ return columnName(tls, pStmt, N, 0, COLNAME_COLUMN) } -func Xsqlite3_column_origin_name16(tls *libc.TLS, pStmt uintptr, N int32) uintptr { /* sqlite3.c:86427:23: */ +func Xsqlite3_column_origin_name16(tls *libc.TLS, pStmt uintptr, N int32) uintptr { /* sqlite3.c:86440:23: */ return columnName(tls, pStmt, N, 1, COLNAME_COLUMN) } @@ -76157,13 +76195,13 @@ func Xsqlite3_column_origin_name16(tls *libc.TLS, pStmt uintptr, N int32) uintpt // // The error code stored in database p->db is overwritten with the return // value in any case. -func vdbeUnbind(tls *libc.TLS, p uintptr, i int32) int32 { /* sqlite3.c:86449:12: */ +func vdbeUnbind(tls *libc.TLS, p uintptr, i int32) int32 { /* sqlite3.c:86462:12: */ bp := tls.Alloc(8) defer tls.Free(8) var pVar uintptr if vdbeSafetyNotNull(tls, p) != 0 { - return Xsqlite3MisuseError(tls, 86452) + return Xsqlite3MisuseError(tls, 86465) } Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer((*Vdbe)(unsafe.Pointer(p)).Fdb)).Fmutex) if (*Vdbe)(unsafe.Pointer(p)).FiVdbeMagic != U32(VDBE_MAGIC_RUN) || (*Vdbe)(unsafe.Pointer(p)).Fpc >= 0 { @@ -76171,7 +76209,7 @@ func vdbeUnbind(tls *libc.TLS, p uintptr, i int32) int32 { /* sqlite3.c:86449:12 Xsqlite3_mutex_leave(tls, (*Sqlite3)(unsafe.Pointer((*Vdbe)(unsafe.Pointer(p)).Fdb)).Fmutex) Xsqlite3_log(tls, SQLITE_MISUSE, ts+5721, libc.VaList(bp, (*Vdbe)(unsafe.Pointer(p)).FzSql)) - return Xsqlite3MisuseError(tls, 86460) + return Xsqlite3MisuseError(tls, 86473) } if i < 1 || i > int32((*Vdbe)(unsafe.Pointer(p)).FnVar) { Xsqlite3Error(tls, (*Vdbe)(unsafe.Pointer(p)).Fdb, SQLITE_RANGE) @@ -76205,7 +76243,7 @@ func vdbeUnbind(tls *libc.TLS, p uintptr, i int32) int32 { /* sqlite3.c:86449:12 } // Bind a text or BLOB value. -func bindText(tls *libc.TLS, pStmt uintptr, i int32, zData uintptr, nData I64, xDel uintptr, encoding U8) int32 { /* sqlite3.c:86492:12: */ +func bindText(tls *libc.TLS, pStmt uintptr, i int32, zData uintptr, nData I64, xDel uintptr, encoding U8) int32 { /* sqlite3.c:86505:12: */ var p uintptr = pStmt var pVar uintptr var rc int32 @@ -76231,16 +76269,16 @@ func bindText(tls *libc.TLS, pStmt uintptr, i int32, zData uintptr, nData I64, x } // 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) int32 { /* sqlite3.c:86528:16: */ +func Xsqlite3_bind_blob(tls *libc.TLS, pStmt uintptr, i int32, zData uintptr, nData int32, xDel uintptr) int32 { /* sqlite3.c:86541:16: */ return bindText(tls, pStmt, i, zData, int64(nData), xDel, uint8(0)) } -func Xsqlite3_bind_blob64(tls *libc.TLS, pStmt uintptr, i int32, zData uintptr, nData Sqlite3_uint64, xDel uintptr) int32 { /* sqlite3.c:86540:16: */ +func Xsqlite3_bind_blob64(tls *libc.TLS, pStmt uintptr, i int32, zData uintptr, nData Sqlite3_uint64, xDel uintptr) int32 { /* sqlite3.c:86553:16: */ return bindText(tls, pStmt, i, zData, int64(nData), xDel, uint8(0)) } -func Xsqlite3_bind_double(tls *libc.TLS, pStmt uintptr, i int32, rValue float64) int32 { /* sqlite3.c:86550:16: */ +func Xsqlite3_bind_double(tls *libc.TLS, pStmt uintptr, i int32, rValue float64) int32 { /* sqlite3.c:86563:16: */ var rc int32 var p uintptr = pStmt rc = vdbeUnbind(tls, p, i) @@ -76251,11 +76289,11 @@ func Xsqlite3_bind_double(tls *libc.TLS, pStmt uintptr, i int32, rValue float64) return rc } -func Xsqlite3_bind_int(tls *libc.TLS, p uintptr, i int32, iValue int32) int32 { /* sqlite3.c:86560:16: */ +func Xsqlite3_bind_int(tls *libc.TLS, p uintptr, i int32, iValue int32) int32 { /* sqlite3.c:86573:16: */ return Xsqlite3_bind_int64(tls, p, i, I64(iValue)) } -func Xsqlite3_bind_int64(tls *libc.TLS, pStmt uintptr, i int32, iValue Sqlite_int64) int32 { /* sqlite3.c:86563:16: */ +func Xsqlite3_bind_int64(tls *libc.TLS, pStmt uintptr, i int32, iValue Sqlite_int64) int32 { /* sqlite3.c:86576:16: */ var rc int32 var p uintptr = pStmt rc = vdbeUnbind(tls, p, i) @@ -76266,7 +76304,7 @@ func Xsqlite3_bind_int64(tls *libc.TLS, pStmt uintptr, i int32, iValue Sqlite_in return rc } -func Xsqlite3_bind_null(tls *libc.TLS, pStmt uintptr, i int32) int32 { /* sqlite3.c:86573:16: */ +func Xsqlite3_bind_null(tls *libc.TLS, pStmt uintptr, i int32) int32 { /* sqlite3.c:86586:16: */ var rc int32 var p uintptr = pStmt rc = vdbeUnbind(tls, p, i) @@ -76276,7 +76314,7 @@ func Xsqlite3_bind_null(tls *libc.TLS, pStmt uintptr, i int32) int32 { /* sqlite return rc } -func Xsqlite3_bind_pointer(tls *libc.TLS, pStmt uintptr, i int32, pPtr uintptr, zPTtype uintptr, xDestructor uintptr) int32 { /* sqlite3.c:86582:16: */ +func Xsqlite3_bind_pointer(tls *libc.TLS, pStmt uintptr, i int32, pPtr uintptr, zPTtype uintptr, xDestructor uintptr) int32 { /* sqlite3.c:86595:16: */ var rc int32 var p uintptr = pStmt rc = vdbeUnbind(tls, p, i) @@ -76289,11 +76327,11 @@ func Xsqlite3_bind_pointer(tls *libc.TLS, pStmt uintptr, i int32, pPtr uintptr, return rc } -func Xsqlite3_bind_text(tls *libc.TLS, pStmt uintptr, i int32, zData uintptr, nData int32, xDel uintptr) int32 { /* sqlite3.c:86600:16: */ +func Xsqlite3_bind_text(tls *libc.TLS, pStmt uintptr, i int32, zData uintptr, nData int32, xDel uintptr) int32 { /* sqlite3.c:86613:16: */ return bindText(tls, pStmt, i, zData, int64(nData), xDel, uint8(SQLITE_UTF8)) } -func Xsqlite3_bind_text64(tls *libc.TLS, pStmt uintptr, i int32, zData uintptr, nData Sqlite3_uint64, xDel uintptr, enc uint8) int32 { /* sqlite3.c:86609:16: */ +func Xsqlite3_bind_text64(tls *libc.TLS, pStmt uintptr, i int32, zData uintptr, nData Sqlite3_uint64, xDel uintptr, enc uint8) int32 { /* sqlite3.c:86622:16: */ if int32(enc) == SQLITE_UTF16 { enc = uint8(SQLITE_UTF16LE) @@ -76301,11 +76339,11 @@ func Xsqlite3_bind_text64(tls *libc.TLS, pStmt uintptr, i int32, zData uintptr, return bindText(tls, pStmt, i, zData, int64(nData), xDel, enc) } -func Xsqlite3_bind_text16(tls *libc.TLS, pStmt uintptr, i int32, zData uintptr, nData int32, xDel uintptr) int32 { /* sqlite3.c:86622:16: */ +func Xsqlite3_bind_text16(tls *libc.TLS, pStmt uintptr, i int32, zData uintptr, nData int32, xDel uintptr) int32 { /* sqlite3.c:86635:16: */ return bindText(tls, pStmt, i, zData, int64(nData), xDel, uint8(SQLITE_UTF16LE)) } -func Xsqlite3_bind_value(tls *libc.TLS, pStmt uintptr, i int32, pValue uintptr) int32 { /* sqlite3.c:86632:16: */ +func Xsqlite3_bind_value(tls *libc.TLS, pStmt uintptr, i int32, pValue uintptr) int32 { /* sqlite3.c:86645:16: */ var rc int32 switch Xsqlite3_value_type(tls, pValue) { case SQLITE_INTEGER: @@ -76354,7 +76392,7 @@ func Xsqlite3_bind_value(tls *libc.TLS, pStmt uintptr, i int32, pValue uintptr) return rc } -func Xsqlite3_bind_zeroblob(tls *libc.TLS, pStmt uintptr, i int32, n int32) int32 { /* sqlite3.c:86666:16: */ +func Xsqlite3_bind_zeroblob(tls *libc.TLS, pStmt uintptr, i int32, n int32) int32 { /* sqlite3.c:86679:16: */ var rc int32 var p uintptr = pStmt rc = vdbeUnbind(tls, p, i) @@ -76365,7 +76403,7 @@ func Xsqlite3_bind_zeroblob(tls *libc.TLS, pStmt uintptr, i int32, n int32) int3 return rc } -func Xsqlite3_bind_zeroblob64(tls *libc.TLS, pStmt uintptr, i int32, n Sqlite3_uint64) int32 { /* sqlite3.c:86680:16: */ +func Xsqlite3_bind_zeroblob64(tls *libc.TLS, pStmt uintptr, i int32, n Sqlite3_uint64) int32 { /* sqlite3.c:86693:16: */ var rc int32 var p uintptr = pStmt Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer((*Vdbe)(unsafe.Pointer(p)).Fdb)).Fmutex) @@ -76382,7 +76420,7 @@ func Xsqlite3_bind_zeroblob64(tls *libc.TLS, pStmt uintptr, i int32, n Sqlite3_u // Return the number of wildcards that can be potentially bound to. // This routine is added to support DBD::SQLite. -func Xsqlite3_bind_parameter_count(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:86699:16: */ +func Xsqlite3_bind_parameter_count(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:86712:16: */ var p uintptr = pStmt if p != 0 { return int32((*Vdbe)(unsafe.Pointer(p)).FnVar) @@ -76394,7 +76432,7 @@ func Xsqlite3_bind_parameter_count(tls *libc.TLS, pStmt uintptr) int32 { /* sqli // is out of range or if the wildcard is unnamed. // // The result is always UTF-8. -func Xsqlite3_bind_parameter_name(tls *libc.TLS, pStmt uintptr, i int32) uintptr { /* sqlite3.c:86710:23: */ +func Xsqlite3_bind_parameter_name(tls *libc.TLS, pStmt uintptr, i int32) uintptr { /* sqlite3.c:86723:23: */ var p uintptr = pStmt if p == uintptr(0) { return uintptr(0) @@ -76405,19 +76443,19 @@ func Xsqlite3_bind_parameter_name(tls *libc.TLS, pStmt uintptr, i int32) uintptr // Given a wildcard parameter name, return the index of the variable // with that name. If there is no variable with the given name, // return 0. -func Xsqlite3VdbeParameterIndex(tls *libc.TLS, p uintptr, zName uintptr, nName int32) int32 { /* sqlite3.c:86721:20: */ +func Xsqlite3VdbeParameterIndex(tls *libc.TLS, p uintptr, zName uintptr, nName int32) int32 { /* sqlite3.c:86734:20: */ if p == uintptr(0) || zName == uintptr(0) { return 0 } return Xsqlite3VListNameToNum(tls, (*Vdbe)(unsafe.Pointer(p)).FpVList, zName, nName) } -func Xsqlite3_bind_parameter_index(tls *libc.TLS, pStmt uintptr, zName uintptr) int32 { /* sqlite3.c:86725:16: */ +func Xsqlite3_bind_parameter_index(tls *libc.TLS, pStmt uintptr, zName uintptr) int32 { /* sqlite3.c:86738:16: */ return Xsqlite3VdbeParameterIndex(tls, pStmt, zName, Xsqlite3Strlen30(tls, zName)) } // Transfer all bindings from the first statement over to the second. -func Xsqlite3TransferBindings(tls *libc.TLS, pFromStmt uintptr, pToStmt uintptr) int32 { /* sqlite3.c:86732:20: */ +func Xsqlite3TransferBindings(tls *libc.TLS, pFromStmt uintptr, pToStmt uintptr) int32 { /* sqlite3.c:86745:20: */ var pFrom uintptr = pFromStmt var pTo uintptr = pToStmt var i int32 @@ -76440,7 +76478,7 @@ func Xsqlite3TransferBindings(tls *libc.TLS, pFromStmt uintptr, pToStmt uintptr) // If the two statements contain a different number of bindings, then // an SQLITE_ERROR is returned. Nothing else can go wrong, so otherwise // SQLITE_OK is returned. -func Xsqlite3_transfer_bindings(tls *libc.TLS, pFromStmt uintptr, pToStmt uintptr) int32 { /* sqlite3.c:86759:16: */ +func Xsqlite3_transfer_bindings(tls *libc.TLS, pFromStmt uintptr, pToStmt uintptr) int32 { /* sqlite3.c:86772:16: */ var pFrom uintptr = pFromStmt var pTo uintptr = pToStmt if int32((*Vdbe)(unsafe.Pointer(pFrom)).FnVar) != int32((*Vdbe)(unsafe.Pointer(pTo)).FnVar) { @@ -76461,7 +76499,7 @@ func Xsqlite3_transfer_bindings(tls *libc.TLS, pFromStmt uintptr, pToStmt uintpt // in the argument belongs. This is the same database handle that was // the first argument to the sqlite3_prepare() that was used to create // the statement in the first place. -func Xsqlite3_db_handle(tls *libc.TLS, pStmt uintptr) uintptr { /* sqlite3.c:86783:20: */ +func Xsqlite3_db_handle(tls *libc.TLS, pStmt uintptr) uintptr { /* sqlite3.c:86796:20: */ if pStmt != 0 { return (*Vdbe)(unsafe.Pointer(pStmt)).Fdb } @@ -76470,7 +76508,7 @@ func Xsqlite3_db_handle(tls *libc.TLS, pStmt uintptr) uintptr { /* sqlite3.c:867 // Return true if the prepared statement is guaranteed to not modify the // database. -func Xsqlite3_stmt_readonly(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:86791:16: */ +func Xsqlite3_stmt_readonly(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:86804:16: */ if pStmt != 0 { return int32(*(*uint16)(unsafe.Pointer(pStmt + 208)) & 0x80 >> 7) } @@ -76479,7 +76517,7 @@ func Xsqlite3_stmt_readonly(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:8 // Return 1 if the statement is an EXPLAIN and return 2 if the // statement is an EXPLAIN QUERY PLAN -func Xsqlite3_stmt_isexplain(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:86799:16: */ +func Xsqlite3_stmt_isexplain(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:86812:16: */ if pStmt != 0 { return int32(*(*uint16)(unsafe.Pointer(pStmt + 208)) & 0xc >> 2) } @@ -76487,7 +76525,7 @@ func Xsqlite3_stmt_isexplain(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c: } // Return true if the prepared statement is in need of being reset. -func Xsqlite3_stmt_busy(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:86806:16: */ +func Xsqlite3_stmt_busy(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:86819:16: */ var v uintptr = pStmt return libc.Bool32(v != uintptr(0) && (*Vdbe)(unsafe.Pointer(v)).FiVdbeMagic == U32(VDBE_MAGIC_RUN) && (*Vdbe)(unsafe.Pointer(v)).Fpc >= 0) } @@ -76496,7 +76534,7 @@ func Xsqlite3_stmt_busy(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:86806 // with database connection pDb. If pStmt is NULL, return the first // prepared statement for the database connection. Return NULL if there // are no more. -func Xsqlite3_next_stmt(tls *libc.TLS, pDb uintptr, pStmt uintptr) uintptr { /* sqlite3.c:86817:25: */ +func Xsqlite3_next_stmt(tls *libc.TLS, pDb uintptr, pStmt uintptr) uintptr { /* sqlite3.c:86830:25: */ var pNext uintptr Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(pDb)).Fmutex) if pStmt == uintptr(0) { @@ -76509,7 +76547,7 @@ func Xsqlite3_next_stmt(tls *libc.TLS, pDb uintptr, pStmt uintptr) uintptr { /* } // Return the value of a status counter for a prepared statement -func Xsqlite3_stmt_status(tls *libc.TLS, pStmt uintptr, op int32, resetFlag int32) int32 { /* sqlite3.c:86838:16: */ +func Xsqlite3_stmt_status(tls *libc.TLS, pStmt uintptr, op int32, resetFlag int32) int32 { /* sqlite3.c:86851:16: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -76535,7 +76573,7 @@ func Xsqlite3_stmt_status(tls *libc.TLS, pStmt uintptr, op int32, resetFlag int3 } // Return the SQL associated with a prepared statement -func Xsqlite3_sql(tls *libc.TLS, pStmt uintptr) uintptr { /* sqlite3.c:86868:23: */ +func Xsqlite3_sql(tls *libc.TLS, pStmt uintptr) uintptr { /* sqlite3.c:86881:23: */ var p uintptr = pStmt if p != 0 { return (*Vdbe)(unsafe.Pointer(p)).FzSql @@ -76550,7 +76588,7 @@ func Xsqlite3_sql(tls *libc.TLS, pStmt uintptr) uintptr { /* sqlite3.c:86868:23: // // The SQLITE_TRACE_SIZE_LIMIT puts an upper bound on the size of // expanded bound parameters. -func Xsqlite3_expanded_sql(tls *libc.TLS, pStmt uintptr) uintptr { /* sqlite3.c:86882:17: */ +func Xsqlite3_expanded_sql(tls *libc.TLS, pStmt uintptr) uintptr { /* sqlite3.c:86895:17: */ var z uintptr = uintptr(0) var zSql uintptr = Xsqlite3_sql(tls, pStmt) if zSql != 0 { @@ -76565,7 +76603,7 @@ func Xsqlite3_expanded_sql(tls *libc.TLS, pStmt uintptr) uintptr { /* sqlite3.c: // Allocate and populate an UnpackedRecord structure based on the serialized // record in nKey/pKey. Return a pointer to the new UnpackedRecord structure // if successful, or a NULL pointer if an OOM error is encountered. -func vdbeUnpackRecord(tls *libc.TLS, pKeyInfo uintptr, nKey int32, pKey uintptr) uintptr { /* sqlite3.c:86920:23: */ +func vdbeUnpackRecord(tls *libc.TLS, pKeyInfo uintptr, nKey int32, pKey uintptr) uintptr { /* sqlite3.c:86933:23: */ var pRet uintptr // Return value pRet = Xsqlite3VdbeAllocUnpackedRecord(tls, pKeyInfo) @@ -76578,7 +76616,7 @@ func vdbeUnpackRecord(tls *libc.TLS, pKeyInfo uintptr, nKey int32, pKey uintptr) // This function is called from within a pre-update callback to retrieve // a field of the row currently being updated or deleted. -func Xsqlite3_preupdate_old(tls *libc.TLS, db uintptr, iIdx int32, ppValue uintptr) int32 { /* sqlite3.c:86939:16: */ +func Xsqlite3_preupdate_old(tls *libc.TLS, db uintptr, iIdx int32, ppValue uintptr) int32 { /* sqlite3.c:86952:16: */ var p uintptr var pMem uintptr var rc int32 @@ -76592,7 +76630,7 @@ func Xsqlite3_preupdate_old(tls *libc.TLS, db uintptr, iIdx int32, ppValue uintp if !(!(p != 0) || (*PreUpdate)(unsafe.Pointer(p)).Fop == SQLITE_INSERT) { goto __1 } - rc = Xsqlite3MisuseError(tls, 86947) + rc = Xsqlite3MisuseError(tls, 86960) goto preupdate_old_out __1: ; @@ -76684,7 +76722,7 @@ preupdate_old_out: // This function is called from within a pre-update callback to retrieve // the number of columns in the row being updated, deleted or inserted. -func Xsqlite3_preupdate_count(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:87003:16: */ +func Xsqlite3_preupdate_count(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:87016:16: */ var p uintptr = (*Sqlite3)(unsafe.Pointer(db)).FpPreUpdate return func() int32 { if p != 0 { @@ -76703,7 +76741,7 @@ func Xsqlite3_preupdate_count(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:87 // // For the purposes of the previous paragraph, a foreign key CASCADE, SET NULL // or SET DEFAULT action is considered a trigger. -func Xsqlite3_preupdate_depth(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:87021:16: */ +func Xsqlite3_preupdate_depth(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:87034:16: */ var p uintptr = (*Sqlite3)(unsafe.Pointer(db)).FpPreUpdate return func() int32 { if p != 0 { @@ -76715,7 +76753,7 @@ func Xsqlite3_preupdate_depth(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:87 // This function is designed to be called from within a pre-update callback // only. -func Xsqlite3_preupdate_blobwrite(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:87032:16: */ +func Xsqlite3_preupdate_blobwrite(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:87045:16: */ var p uintptr = (*Sqlite3)(unsafe.Pointer(db)).FpPreUpdate return func() int32 { if p != 0 { @@ -76727,7 +76765,7 @@ func Xsqlite3_preupdate_blobwrite(tls *libc.TLS, db uintptr) int32 { /* sqlite3. // This function is called from within a pre-update callback to retrieve // a field of the row currently being updated or inserted. -func Xsqlite3_preupdate_new(tls *libc.TLS, db uintptr, iIdx int32, ppValue uintptr) int32 { /* sqlite3.c:87043:16: */ +func Xsqlite3_preupdate_new(tls *libc.TLS, db uintptr, iIdx int32, ppValue uintptr) int32 { /* sqlite3.c:87056:16: */ var p uintptr var rc int32 var pMem uintptr @@ -76741,7 +76779,7 @@ func Xsqlite3_preupdate_new(tls *libc.TLS, db uintptr, iIdx int32, ppValue uintp if !(!(p != 0) || (*PreUpdate)(unsafe.Pointer(p)).Fop == SQLITE_DELETE) { goto __1 } - rc = Xsqlite3MisuseError(tls, 87049) + rc = Xsqlite3MisuseError(tls, 87062) goto preupdate_new_out __1: ; @@ -76882,7 +76920,7 @@ preupdate_new_out: // bytes in this text up to but excluding the first character in // a host parameter. If the text contains no host parameters, return // the total number of bytes in the text. -func findNextHostParameter(tls *libc.TLS, zSql uintptr, pnToken uintptr) int32 { /* sqlite3.c:87213:12: */ +func findNextHostParameter(tls *libc.TLS, zSql uintptr, pnToken uintptr) int32 { /* sqlite3.c:87226:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -76927,7 +76965,7 @@ func findNextHostParameter(tls *libc.TLS, zSql uintptr, pnToken uintptr) int32 { // statement for the corresponding OP_Variable opcode. Once the host // parameter index is known, locate the value in p->aVar[]. Then render // the value as a literal in place of the host parameter name. -func Xsqlite3VdbeExpandSql(tls *libc.TLS, p uintptr, zRawSql uintptr) uintptr { /* sqlite3.c:87256:21: */ +func Xsqlite3VdbeExpandSql(tls *libc.TLS, p uintptr, zRawSql uintptr) uintptr { /* sqlite3.c:87269:21: */ bp := tls.Alloc(144) defer tls.Free(144) @@ -77150,7 +77188,7 @@ func Xsqlite3VdbeExpandSql(tls *libc.TLS, p uintptr, zRawSql uintptr) uintptr { // Allocate VdbeCursor number iCur. Return a pointer to it. Return NULL // if we run out of memory. -func allocateCursor(tls *libc.TLS, p uintptr, iCur int32, nField int32, eCurType U8) uintptr { /* sqlite3.c:87619:19: */ +func allocateCursor(tls *libc.TLS, p uintptr, iCur int32, nField int32, eCurType U8) uintptr { /* sqlite3.c:87632:19: */ // Find the memory cell that will be used to store the blob of memory // required for this VdbeCursor structure. It is convenient to use a // vdbe memory cell to manage the memory allocation required for a @@ -77221,7 +77259,7 @@ func allocateCursor(tls *libc.TLS, p uintptr, iCur int32, nField int32, eCurType // floating point value of rValue. Return true and set *piValue to the // integer value if the string is in range to be an integer. Otherwise, // return false. -func alsoAnInt(tls *libc.TLS, pRec uintptr, rValue float64, piValue uintptr) int32 { /* sqlite3.c:87695:12: */ +func alsoAnInt(tls *libc.TLS, pRec uintptr, rValue float64, piValue uintptr) int32 { /* sqlite3.c:87708:12: */ var iValue I64 = I64(rValue) if Xsqlite3RealSameAsInt(tls, rValue, iValue) != 0 { *(*I64)(unsafe.Pointer(piValue)) = iValue @@ -77243,7 +77281,7 @@ func alsoAnInt(tls *libc.TLS, pRec uintptr, rValue float64, piValue uintptr) int // If bTryForInt is false, then if the input string contains a decimal // point or exponential notation, the result is only MEM_Real, even // if there is an exact integer representation of the quantity. -func applyNumericAffinity(tls *libc.TLS, pRec uintptr, bTryForInt int32) { /* sqlite3.c:87719:13: */ +func applyNumericAffinity(tls *libc.TLS, pRec uintptr, bTryForInt int32) { /* sqlite3.c:87732:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -77289,7 +77327,7 @@ func applyNumericAffinity(tls *libc.TLS, pRec uintptr, bTryForInt int32) { /* sq // SQLITE_AFF_BLOB: // SQLITE_AFF_NONE: // No-op. pRec is unchanged. -func applyAffinity(tls *libc.TLS, pRec uintptr, affinity int8, enc U8) { /* sqlite3.c:87759:13: */ +func applyAffinity(tls *libc.TLS, pRec uintptr, affinity int8, enc U8) { /* sqlite3.c:87772:13: */ if int32(affinity) >= SQLITE_AFF_NUMERIC { if int32((*Mem)(unsafe.Pointer(pRec)).Fflags)&MEM_Int == 0 { //OPTIMIZATION-IF-FALSE @@ -77321,7 +77359,7 @@ func applyAffinity(tls *libc.TLS, pRec uintptr, affinity int8, enc U8) { /* sqli // into a numeric representation. Use either INTEGER or REAL whichever // is appropriate. But only do the conversion if it is possible without // loss of information and return the revised type of the argument. -func Xsqlite3_value_numeric_type(tls *libc.TLS, pVal uintptr) int32 { /* sqlite3.c:87798:16: */ +func Xsqlite3_value_numeric_type(tls *libc.TLS, pVal uintptr) int32 { /* sqlite3.c:87811:16: */ var eType int32 = Xsqlite3_value_type(tls, pVal) if eType == SQLITE_TEXT { var pMem uintptr = pVal @@ -77333,7 +77371,7 @@ func Xsqlite3_value_numeric_type(tls *libc.TLS, pVal uintptr) int32 { /* sqlite3 // Exported version of applyAffinity(). This one works on sqlite3_value*, // not the internal Mem* type. -func Xsqlite3ValueApplyAffinity(tls *libc.TLS, pVal uintptr, affinity U8, enc U8) { /* sqlite3.c:87812:21: */ +func Xsqlite3ValueApplyAffinity(tls *libc.TLS, pVal uintptr, affinity U8, enc U8) { /* sqlite3.c:87825:21: */ applyAffinity(tls, pVal, int8(affinity), enc) } @@ -77341,7 +77379,7 @@ func Xsqlite3ValueApplyAffinity(tls *libc.TLS, pVal uintptr, affinity U8, enc U8 // interpret as a string if we want to). Compute its corresponding // numeric type, if has one. Set the pMem->u.r and pMem->u.i fields // accordingly. -func computeNumericType(tls *libc.TLS, pMem uintptr) U16 { /* sqlite3.c:87826:28: */ +func computeNumericType(tls *libc.TLS, pMem uintptr) U16 { /* sqlite3.c:87839:28: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -77377,7 +77415,7 @@ func computeNumericType(tls *libc.TLS, pMem uintptr) U16 { /* sqlite3.c:87826:28 // // Unlike applyNumericAffinity(), this routine does not modify pMem->flags. // But it does set pMem->u.r and pMem->u.i appropriately. -func numericType(tls *libc.TLS, pMem uintptr) U16 { /* sqlite3.c:87857:12: */ +func numericType(tls *libc.TLS, pMem uintptr) U16 { /* sqlite3.c:87870:12: */ if int32((*Mem)(unsafe.Pointer(pMem)).Fflags)&(MEM_Int|MEM_Real|MEM_IntReal) != 0 { return U16(int32((*Mem)(unsafe.Pointer(pMem)).Fflags) & (MEM_Int | MEM_Real | MEM_IntReal)) @@ -77391,13 +77429,13 @@ func numericType(tls *libc.TLS, pMem uintptr) U16 { /* sqlite3.c:87857:12: */ // Return the register of pOp->p2 after first preparing it to be // overwritten with an integer value. -func out2PrereleaseWithClear(tls *libc.TLS, pOut uintptr) uintptr { /* sqlite3.c:88032:28: */ +func out2PrereleaseWithClear(tls *libc.TLS, pOut uintptr) uintptr { /* sqlite3.c:88045:28: */ Xsqlite3VdbeMemSetNull(tls, pOut) (*Mem)(unsafe.Pointer(pOut)).Fflags = U16(MEM_Int) return pOut } -func out2Prerelease(tls *libc.TLS, p uintptr, pOp uintptr) uintptr { /* sqlite3.c:88037:12: */ +func out2Prerelease(tls *libc.TLS, p uintptr, pOp uintptr) uintptr { /* sqlite3.c:88050:12: */ var pOut uintptr pOut = (*Vdbe)(unsafe.Pointer(p)).FaMem + uintptr((*VdbeOp)(unsafe.Pointer(pOp)).Fp2)*56 @@ -77413,7 +77451,7 @@ func out2Prerelease(tls *libc.TLS, p uintptr, pOp uintptr) uintptr { /* sqlite3. // Compute a bloom filter hash using pOp->p4.i registers from aMem[] beginning // with pOp->p3. Return the hash. -func filterHash(tls *libc.TLS, aMem uintptr, pOp uintptr) U64 { /* sqlite3.c:88055:12: */ +func filterHash(tls *libc.TLS, aMem uintptr, pOp uintptr) U64 { /* sqlite3.c:88068:12: */ var i int32 var mx int32 var h U64 = uint64(0) @@ -77437,7 +77475,7 @@ func filterHash(tls *libc.TLS, aMem uintptr, pOp uintptr) U64 { /* sqlite3.c:880 } // Return the symbolic name for the data type of a pMem -func vdbeMemTypeName(tls *libc.TLS, pMem uintptr) uintptr { /* sqlite3.c:88077:19: */ +func vdbeMemTypeName(tls *libc.TLS, pMem uintptr) uintptr { /* sqlite3.c:88090:19: */ return azTypes[Xsqlite3_value_type(tls, pMem)-1] } @@ -77447,11 +77485,11 @@ var azTypes = [5]uintptr{ ts + 1105, ts + 1083, ts + 1528, -} /* sqlite3.c:88078:21 */ +} /* sqlite3.c:88091:21 */ // Execute as much of a VDBE program as we can. // This is the core of sqlite3_step(). -func Xsqlite3VdbeExec(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:88092:20: */ +func Xsqlite3VdbeExec(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:88105:20: */ bp := tls.Alloc(976) defer tls.Free(976) @@ -82975,7 +83013,7 @@ op_column_corrupt: goto __8 goto __400 __399: - rc = Xsqlite3CorruptError(tls, 90310) + rc = Xsqlite3CorruptError(tls, 90323) goto abort_due_to_error __400: ; @@ -85474,7 +85512,7 @@ notExistsWithKey: if !((*Op)(unsafe.Pointer(pOp)).Fp2 == 0) { goto __642 } - rc = Xsqlite3CorruptError(tls, 92457) + rc = Xsqlite3CorruptError(tls, 92470) goto __643 __642: goto jump_to_p2 @@ -86638,7 +86676,7 @@ __724: if !((*Op)(unsafe.Pointer(pOp)).Fp5 != 0 && !(Xsqlite3WritableSchema(tls, db) != 0)) { goto __727 } - rc = Xsqlite3ReportError(tls, SQLITE_CORRUPT|int32(3)<<8, 93513, ts+6230) + rc = Xsqlite3ReportError(tls, SQLITE_CORRUPT|int32(3)<<8, 93526, ts+6230) goto abort_due_to_error __727: ; @@ -86830,7 +86868,7 @@ __737: if !(nCellKey <= int64(0) || nCellKey > int64(0x7fffffff)) { goto __738 } - rc = Xsqlite3CorruptError(tls, 93717) + rc = Xsqlite3CorruptError(tls, 93730) goto abort_due_to_error __738: ; @@ -87106,7 +87144,7 @@ __759: // 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 = Xsqlite3CorruptError(tls, 93969) + rc = Xsqlite3CorruptError(tls, 93982) __760: ; Xsqlite3DbFreeNN(tls, db, zSql) @@ -89119,7 +89157,7 @@ __916: if !(rc == SQLITE_IOERR|int32(33)<<8) { goto __918 } - rc = Xsqlite3CorruptError(tls, 95906) + rc = Xsqlite3CorruptError(tls, 95919) __918: ; __917: @@ -89208,11 +89246,11 @@ abort_due_to_interrupt: } var azType = [4]uintptr{ts + 6472, ts + 6481, ts + 6488, - ts + 6494} /* sqlite3.c:88537:25 */ -var and_logic = [9]uint8{uint8(0), uint8(0), uint8(0), uint8(0), uint8(1), uint8(2), uint8(0), uint8(2), uint8(2)} /* sqlite3.c:89761:32 */ -var or_logic = [9]uint8{uint8(0), uint8(1), uint8(2), uint8(1), uint8(1), uint8(1), uint8(2), uint8(1), uint8(2)} /* sqlite3.c:89764:32 */ -var aFlag1 = [2]U16{U16(MEM_Blob), U16(MEM_Str | MEM_Term)} /* sqlite3.c:90257:24 */ -var vfsFlags int32 = SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE | SQLITE_OPEN_EXCLUSIVE | SQLITE_OPEN_DELETEONCLOSE | SQLITE_OPEN_TRANSIENT_DB /* sqlite3.c:91512:20 */ + ts + 6494} /* sqlite3.c:88550:25 */ +var and_logic = [9]uint8{uint8(0), uint8(0), uint8(0), uint8(0), uint8(1), uint8(2), uint8(0), uint8(2), uint8(2)} /* sqlite3.c:89774:32 */ +var or_logic = [9]uint8{uint8(0), uint8(1), uint8(2), uint8(1), uint8(1), uint8(1), uint8(2), uint8(1), uint8(2)} /* sqlite3.c:89777:32 */ +var aFlag1 = [2]U16{U16(MEM_Blob), U16(MEM_Str | MEM_Term)} /* sqlite3.c:90270:24 */ +var vfsFlags int32 = SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE | SQLITE_OPEN_EXCLUSIVE | SQLITE_OPEN_DELETEONCLOSE | SQLITE_OPEN_TRANSIENT_DB /* sqlite3.c:91525:20 */ //************* End of vdbe.c *********************************************** //************* Begin file vdbeblob.c *************************************** @@ -89243,7 +89281,7 @@ type Incrblob1 = struct { Fdb uintptr FzDb uintptr FpTab uintptr -} /* sqlite3.c:96011:9 */ +} /* sqlite3.c:96024:9 */ //************* End of vdbe.c *********************************************** //************* Begin file vdbeblob.c *************************************** @@ -89264,7 +89302,7 @@ type Incrblob1 = struct { // #include "vdbeInt.h" // Valid sqlite3_blob* handles point to Incrblob structures. -type Incrblob = Incrblob1 /* sqlite3.c:96011:25 */ +type Incrblob = Incrblob1 /* sqlite3.c:96024:25 */ // This function is used by both blob_open() and blob_reopen(). It seeks // the b-tree cursor associated with blob handle p to point to row iRow. @@ -89281,7 +89319,7 @@ type Incrblob = Incrblob1 /* sqlite3.c:96011:25 */ // If an error does occur, then the b-tree cursor is closed. All subsequent // calls to sqlite3_blob_read(), blob_write() or blob_reopen() will // immediately return SQLITE_ABORT. -func blobSeekToRow(tls *libc.TLS, p uintptr, iRow Sqlite3_int64, pzErr uintptr) int32 { /* sqlite3.c:96041:12: */ +func blobSeekToRow(tls *libc.TLS, p uintptr, iRow Sqlite3_int64, pzErr uintptr) int32 { /* sqlite3.c:96054:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -89357,7 +89395,7 @@ func blobSeekToRow(tls *libc.TLS, p uintptr, iRow Sqlite3_int64, pzErr uintptr) } // Open a blob handle. -func Xsqlite3_blob_open(tls *libc.TLS, db uintptr, zDb uintptr, zTable uintptr, zColumn uintptr, iRow Sqlite_int64, wrFlag int32, ppBlob uintptr) int32 { /* sqlite3.c:96109:16: */ +func Xsqlite3_blob_open(tls *libc.TLS, db uintptr, zDb uintptr, zTable uintptr, zColumn uintptr, iRow Sqlite_int64, wrFlag int32, ppBlob uintptr) int32 { /* sqlite3.c:96122:16: */ bp := tls.Alloc(464) defer tls.Free(464) @@ -89678,7 +89716,7 @@ __38: return rc } -var iLn int32 = 0 /* sqlite3.c:96252:24 */ +var iLn int32 = 0 /* sqlite3.c:96265:24 */ var openBlob = [6]VdbeOpList{ {Fopcode: U8(OP_TableLock)}, // 0: Acquire a read or write lock {Fopcode: U8(OP_OpenRead)}, // 1: Open a cursor @@ -89687,11 +89725,11 @@ var openBlob = [6]VdbeOpList{ {Fopcode: U8(OP_Column), Fp3: int8(1)}, // 3 {Fopcode: U8(OP_ResultRow), Fp1: int8(1)}, // 4 {Fopcode: U8(OP_Halt)}, // 5 -} /* sqlite3.c:96253:31 */ +} /* sqlite3.c:96266:31 */ // Close a blob handle that was previously created using // sqlite3_blob_open(). -func Xsqlite3_blob_close(tls *libc.TLS, pBlob uintptr) int32 { /* sqlite3.c:96344:16: */ +func Xsqlite3_blob_close(tls *libc.TLS, pBlob uintptr) int32 { /* sqlite3.c:96357:16: */ var p uintptr = pBlob var rc int32 var db uintptr @@ -89710,14 +89748,14 @@ func Xsqlite3_blob_close(tls *libc.TLS, pBlob uintptr) int32 { /* sqlite3.c:9634 } // Perform a read or write operation on a blob -func blobReadWrite(tls *libc.TLS, pBlob uintptr, z uintptr, n int32, iOffset int32, xCall uintptr) int32 { /* sqlite3.c:96365:12: */ +func blobReadWrite(tls *libc.TLS, pBlob uintptr, z uintptr, n int32, iOffset int32, xCall uintptr) int32 { /* sqlite3.c:96378:12: */ var rc int32 var p uintptr = pBlob var v uintptr var db uintptr if p == uintptr(0) { - return Xsqlite3MisuseError(tls, 96377) + return Xsqlite3MisuseError(tls, 96390) } db = (*Incrblob)(unsafe.Pointer(p)).Fdb Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) @@ -89776,14 +89814,14 @@ func blobReadWrite(tls *libc.TLS, pBlob uintptr, z uintptr, n int32, iOffset int } // Read data from a blob handle. -func Xsqlite3_blob_read(tls *libc.TLS, pBlob uintptr, z uintptr, n int32, iOffset int32) int32 { /* sqlite3.c:96440:16: */ +func Xsqlite3_blob_read(tls *libc.TLS, pBlob uintptr, z uintptr, n int32, iOffset int32) int32 { /* sqlite3.c:96453:16: */ return blobReadWrite(tls, pBlob, z, n, iOffset, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, U32, U32, uintptr) int32 }{Xsqlite3BtreePayloadChecked}))) } // Write data to a blob handle. -func Xsqlite3_blob_write(tls *libc.TLS, pBlob uintptr, z uintptr, n int32, iOffset int32) int32 { /* sqlite3.c:96447:16: */ +func Xsqlite3_blob_write(tls *libc.TLS, pBlob uintptr, z uintptr, n int32, iOffset int32) int32 { /* sqlite3.c:96460:16: */ return blobReadWrite(tls, pBlob, z, n, iOffset, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, U32, U32, uintptr) int32 }{Xsqlite3BtreePutData}))) @@ -89793,7 +89831,7 @@ func Xsqlite3_blob_write(tls *libc.TLS, pBlob uintptr, z uintptr, n int32, iOffs // // The Incrblob.nByte field is fixed for the lifetime of the Incrblob // so no mutex is required for access. -func Xsqlite3_blob_bytes(tls *libc.TLS, pBlob uintptr) int32 { /* sqlite3.c:96457:16: */ +func Xsqlite3_blob_bytes(tls *libc.TLS, pBlob uintptr) int32 { /* sqlite3.c:96470:16: */ var p uintptr = pBlob if p != 0 && (*Incrblob)(unsafe.Pointer(p)).FpStmt != 0 { return (*Incrblob)(unsafe.Pointer(p)).FnByte @@ -89809,7 +89847,7 @@ func Xsqlite3_blob_bytes(tls *libc.TLS, pBlob uintptr) int32 { /* sqlite3.c:9645 // database handle error code and message set. If this happens, then all // subsequent calls to sqlite3_blob_xxx() functions (except blob_close()) // immediately return SQLITE_ABORT. -func Xsqlite3_blob_reopen(tls *libc.TLS, pBlob uintptr, iRow Sqlite3_int64) int32 { /* sqlite3.c:96472:16: */ +func Xsqlite3_blob_reopen(tls *libc.TLS, pBlob uintptr, iRow Sqlite3_int64) int32 { /* sqlite3.c:96485:16: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -89818,7 +89856,7 @@ func Xsqlite3_blob_reopen(tls *libc.TLS, pBlob uintptr, iRow Sqlite3_int64) int3 var db uintptr if p == uintptr(0) { - return Xsqlite3MisuseError(tls, 96477) + return Xsqlite3MisuseError(tls, 96490) } db = (*Incrblob)(unsafe.Pointer(p)).Fdb Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) @@ -90156,7 +90194,7 @@ type MergeEngine1 = struct { // overflows. 512MiB. // Private objects used by the sorter -type MergeEngine = MergeEngine1 /* sqlite3.c:96666:28 */ // Merge PMAs together +type MergeEngine = MergeEngine1 /* sqlite3.c:96679:28 */ // Merge PMAs together type PmaReader1 = struct { FiReadOff I64 FiEof I64 @@ -90173,7 +90211,7 @@ type PmaReader1 = struct { } /* sqlite3.c:22082:9 */ // Merge PMAs together -type PmaReader = PmaReader1 /* sqlite3.c:96667:26 */ // Incrementally read one PMA +type PmaReader = PmaReader1 /* sqlite3.c:96680:26 */ // Incrementally read one PMA type PmaWriter1 = struct { FeFWErr int32 F__ccgo_pad1 [4]byte @@ -90184,10 +90222,10 @@ type PmaWriter1 = struct { F__ccgo_pad2 [4]byte FiWriteOff I64 FpFd uintptr -} /* sqlite3.c:96668:9 */ +} /* sqlite3.c:96681:9 */ // Incrementally read one PMA -type PmaWriter = PmaWriter1 /* sqlite3.c:96668:26 */ // Incrementally write one PMA +type PmaWriter = PmaWriter1 /* sqlite3.c:96681:26 */ // Incrementally write one PMA type SorterRecord1 = struct { FnVal int32 F__ccgo_pad1 [4]byte @@ -90195,7 +90233,7 @@ type SorterRecord1 = struct { } /* sqlite3.c:22082:9 */ // Incrementally write one PMA -type SorterRecord = SorterRecord1 /* sqlite3.c:96669:29 */ // A record being sorted +type SorterRecord = SorterRecord1 /* sqlite3.c:96682:29 */ // A record being sorted type SortSubtask1 = struct { FpThread uintptr FbDone int32 @@ -90211,14 +90249,14 @@ type SortSubtask1 = struct { } /* sqlite3.c:22082:9 */ // A record being sorted -type SortSubtask = SortSubtask1 /* sqlite3.c:96670:28 */ // A sub-task in the sort process +type SortSubtask = SortSubtask1 /* sqlite3.c:96683:28 */ // A sub-task in the sort process type SorterFile1 = struct { FpFd uintptr FiEof I64 } /* sqlite3.c:22082:9 */ // A sub-task in the sort process -type SorterFile = SorterFile1 /* sqlite3.c:96671:27 */ // Temporary file object wrapper +type SorterFile = SorterFile1 /* sqlite3.c:96684:27 */ // Temporary file object wrapper type SorterList1 = struct { FpList uintptr FaMemory uintptr @@ -90227,7 +90265,7 @@ type SorterList1 = struct { } /* sqlite3.c:22082:9 */ // Temporary file object wrapper -type SorterList = SorterList1 /* sqlite3.c:96672:27 */ // In-memory list of records +type SorterList = SorterList1 /* sqlite3.c:96685:27 */ // In-memory list of records type IncrMerger1 = struct { FpTask uintptr FpMerger uintptr @@ -90240,7 +90278,7 @@ type IncrMerger1 = struct { } /* sqlite3.c:22082:9 */ // In-memory list of records -type IncrMerger = IncrMerger1 /* sqlite3.c:96673:27 */ +type IncrMerger = IncrMerger1 /* sqlite3.c:96686:27 */ // This object represents a single thread of control in a sort operation. // Exactly VdbeSorter.nTask instances of this object are allocated @@ -90271,11 +90309,11 @@ type IncrMerger = IncrMerger1 /* sqlite3.c:96673:27 */ // In both cases, the effects of the main thread seeing (bDone==0) even // after the thread has finished are not dire. So we don't worry about // memory barriers and such here. -type SorterCompare = uintptr /* sqlite3.c:96800:13 */ +type SorterCompare = uintptr /* sqlite3.c:96813:13 */ // Free all memory belonging to the PmaReader object passed as the // argument. All structure fields are set to zero before returning. -func vdbePmaReaderClear(tls *libc.TLS, pReadr uintptr) { /* sqlite3.c:96975:13: */ +func vdbePmaReaderClear(tls *libc.TLS, pReadr uintptr) { /* sqlite3.c:96988:13: */ Xsqlite3_free(tls, (*PmaReader)(unsafe.Pointer(pReadr)).FaAlloc) Xsqlite3_free(tls, (*PmaReader)(unsafe.Pointer(pReadr)).FaBuffer) if (*PmaReader)(unsafe.Pointer(pReadr)).FaMap != 0 { @@ -90292,7 +90330,7 @@ func vdbePmaReaderClear(tls *libc.TLS, pReadr uintptr) { /* sqlite3.c:96975:13: // // The buffer returned in *ppOut is only valid until the // next call to this function. -func vdbePmaReadBlob(tls *libc.TLS, p uintptr, nByte int32, ppOut uintptr) int32 { /* sqlite3.c:96992:12: */ +func vdbePmaReadBlob(tls *libc.TLS, p uintptr, nByte int32, ppOut uintptr) int32 { /* sqlite3.c:97005:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -90396,7 +90434,7 @@ func vdbePmaReadBlob(tls *libc.TLS, p uintptr, nByte int32, ppOut uintptr) int32 // Read a varint from the stream of data accessed by p. Set *pnOut to // the value read. -func vdbePmaReadVarint(tls *libc.TLS, p uintptr, pnOut uintptr) int32 { /* sqlite3.c:97086:12: */ +func vdbePmaReadVarint(tls *libc.TLS, p uintptr, pnOut uintptr) int32 { /* sqlite3.c:97099:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -90436,7 +90474,7 @@ func vdbePmaReadVarint(tls *libc.TLS, p uintptr, pnOut uintptr) int32 { /* sqlit // // Or, if an error occurs, return an SQLite error code. The final value of // *pp is undefined in this case. -func vdbeSorterMapFile(tls *libc.TLS, pTask uintptr, pFile uintptr, pp uintptr) int32 { /* sqlite3.c:97119:12: */ +func vdbeSorterMapFile(tls *libc.TLS, pTask uintptr, pFile uintptr, pp uintptr) int32 { /* sqlite3.c:97132:12: */ var rc int32 = SQLITE_OK if (*SorterFile)(unsafe.Pointer(pFile)).FiEof <= I64((*Sqlite3)(unsafe.Pointer((*VdbeSorter)(unsafe.Pointer((*SortSubtask)(unsafe.Pointer(pTask)).FpSorter)).Fdb)).FnMaxSorterMmap) { var pFd uintptr = (*SorterFile)(unsafe.Pointer(pFile)).FpFd @@ -90451,7 +90489,7 @@ func vdbeSorterMapFile(tls *libc.TLS, pTask uintptr, pFile uintptr, pp uintptr) // Attach PmaReader pReadr to file pFile (if it is not already attached to // that file) and seek it to offset iOff within the file. Return SQLITE_OK // if successful, or an SQLite error code if an error occurs. -func vdbePmaReaderSeek(tls *libc.TLS, pTask uintptr, pReadr uintptr, pFile uintptr, iOff I64) int32 { /* sqlite3.c:97136:12: */ +func vdbePmaReaderSeek(tls *libc.TLS, pTask uintptr, pReadr uintptr, pFile uintptr, iOff I64) int32 { /* sqlite3.c:97149:12: */ var rc int32 = SQLITE_OK if Xsqlite3FaultSim(tls, 201) != 0 { @@ -90492,7 +90530,7 @@ func vdbePmaReaderSeek(tls *libc.TLS, pTask uintptr, pReadr uintptr, pFile uintp // Advance PmaReader pReadr to the next key in its PMA. Return SQLITE_OK if // no error occurs, or an SQLite error code if one does. -func vdbePmaReaderNext(tls *libc.TLS, pReadr uintptr) int32 { /* sqlite3.c:97183:12: */ +func vdbePmaReaderNext(tls *libc.TLS, pReadr uintptr) int32 { /* sqlite3.c:97196:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -90538,7 +90576,7 @@ func vdbePmaReaderNext(tls *libc.TLS, pReadr uintptr) int32 { /* sqlite3.c:97183 // // If the pnByte parameter is NULL, then it is assumed that the file // contains a single PMA, and that that PMA omits the initial length varint. -func vdbePmaReaderInit(tls *libc.TLS, pTask uintptr, pFile uintptr, iStart I64, pReadr uintptr, pnByte uintptr) int32 { /* sqlite3.c:97230:12: */ +func vdbePmaReaderInit(tls *libc.TLS, pTask uintptr, pFile uintptr, iStart I64, pReadr uintptr, pnByte uintptr) int32 { /* sqlite3.c:97243:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -90561,7 +90599,7 @@ func vdbePmaReaderInit(tls *libc.TLS, pTask uintptr, pFile uintptr, iStart I64, // A version of vdbeSorterCompare() that assumes that it has already been // determined that the first field of key1 is equal to the first field of // key2. -func vdbeSorterCompareTail(tls *libc.TLS, pTask uintptr, pbKey2Cached uintptr, pKey1 uintptr, nKey1 int32, pKey2 uintptr, nKey2 int32) int32 { /* sqlite3.c:97263:12: */ +func vdbeSorterCompareTail(tls *libc.TLS, pTask uintptr, pbKey2Cached uintptr, pKey1 uintptr, nKey1 int32, pKey2 uintptr, nKey2 int32) int32 { /* sqlite3.c:97276:12: */ var r2 uintptr = (*SortSubtask)(unsafe.Pointer(pTask)).FpUnpacked if *(*int32)(unsafe.Pointer(pbKey2Cached)) == 0 { Xsqlite3VdbeRecordUnpack(tls, (*VdbeSorter)(unsafe.Pointer((*SortSubtask)(unsafe.Pointer(pTask)).FpSorter)).FpKeyInfo, nKey2, pKey2, r2) @@ -90581,7 +90619,7 @@ func vdbeSorterCompareTail(tls *libc.TLS, pTask uintptr, pbKey2Cached uintptr, p // // If an OOM error is encountered, (pTask->pUnpacked->error_rc) is set // to SQLITE_NOMEM. -func vdbeSorterCompare(tls *libc.TLS, pTask uintptr, pbKey2Cached uintptr, pKey1 uintptr, nKey1 int32, pKey2 uintptr, nKey2 int32) int32 { /* sqlite3.c:97290:12: */ +func vdbeSorterCompare(tls *libc.TLS, pTask uintptr, pbKey2Cached uintptr, pKey1 uintptr, nKey1 int32, pKey2 uintptr, nKey2 int32) int32 { /* sqlite3.c:97303:12: */ var r2 uintptr = (*SortSubtask)(unsafe.Pointer(pTask)).FpUnpacked if !(*(*int32)(unsafe.Pointer(pbKey2Cached)) != 0) { Xsqlite3VdbeRecordUnpack(tls, (*VdbeSorter)(unsafe.Pointer((*SortSubtask)(unsafe.Pointer(pTask)).FpSorter)).FpKeyInfo, nKey2, pKey2, r2) @@ -90593,7 +90631,7 @@ func vdbeSorterCompare(tls *libc.TLS, pTask uintptr, pbKey2Cached uintptr, pKey1 // A specially optimized version of vdbeSorterCompare() that assumes that // the first field of each key is a TEXT value and that the collation // sequence to compare them with is BINARY. -func vdbeSorterCompareText(tls *libc.TLS, pTask uintptr, pbKey2Cached uintptr, pKey1 uintptr, nKey1 int32, pKey2 uintptr, nKey2 int32) int32 { /* sqlite3.c:97309:12: */ +func vdbeSorterCompareText(tls *libc.TLS, pTask uintptr, pbKey2Cached uintptr, pKey1 uintptr, nKey1 int32, pKey2 uintptr, nKey2 int32) int32 { /* sqlite3.c:97322:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -90643,7 +90681,7 @@ func vdbeSorterCompareText(tls *libc.TLS, pTask uintptr, pbKey2Cached uintptr, p // A specially optimized version of vdbeSorterCompare() that assumes that // the first field of each key is an INTEGER value. -func vdbeSorterCompareInt(tls *libc.TLS, pTask uintptr, pbKey2Cached uintptr, pKey1 uintptr, nKey1 int32, pKey2 uintptr, nKey2 int32) int32 { /* sqlite3.c:97351:12: */ +func vdbeSorterCompareInt(tls *libc.TLS, pTask uintptr, pbKey2Cached uintptr, pKey1 uintptr, nKey1 int32, pKey2 uintptr, nKey2 int32) int32 { /* sqlite3.c:97364:12: */ var p1 uintptr = pKey1 var p2 uintptr = pKey2 var s1 int32 = int32(*(*U8)(unsafe.Pointer(p1 + 1))) // Left hand serial type @@ -90703,7 +90741,7 @@ func vdbeSorterCompareInt(tls *libc.TLS, pTask uintptr, pbKey2Cached uintptr, pK return res } -var aLen = [10]U8{U8(0), U8(1), U8(2), U8(3), U8(4), U8(6), U8(8), U8(0), U8(0), U8(0)} /* sqlite3.c:97370:21 */ +var aLen = [10]U8{U8(0), U8(1), U8(2), U8(3), U8(4), U8(6), U8(8), U8(0), U8(0), U8(0)} /* sqlite3.c:97383:21 */ // Initialize the temporary index cursor just opened as a sorter cursor. // @@ -90722,7 +90760,7 @@ var aLen = [10]U8{U8(0), U8(1), U8(2), U8(3), U8(4), U8(6), U8(8), U8(0), U8(0), // mode, but not in multi-threaded mode. // // SQLITE_OK is returned if successful, or an SQLite error code otherwise. -func Xsqlite3VdbeSorterInit(tls *libc.TLS, db uintptr, nField int32, pCsr uintptr) int32 { /* sqlite3.c:97434:20: */ +func Xsqlite3VdbeSorterInit(tls *libc.TLS, db uintptr, nField int32, pCsr uintptr) int32 { /* sqlite3.c:97447:20: */ var pgsz int32 // Page size of main database var i int32 // Used to iterate through aTask[] var pSorter uintptr // The new sorter @@ -90818,7 +90856,7 @@ func Xsqlite3VdbeSorterInit(tls *libc.TLS, db uintptr, nField int32, pCsr uintpt } // Free the list of sorted records starting at pRecord. -func vdbeSorterRecordFree(tls *libc.TLS, db uintptr, pRecord uintptr) { /* sqlite3.c:97540:13: */ +func vdbeSorterRecordFree(tls *libc.TLS, db uintptr, pRecord uintptr) { /* sqlite3.c:97553:13: */ var p uintptr var pNext uintptr for p = pRecord; p != 0; p = pNext { @@ -90829,7 +90867,7 @@ func vdbeSorterRecordFree(tls *libc.TLS, db uintptr, pRecord uintptr) { /* sqlit // Free all resources owned by the object indicated by argument pTask. All // fields of *pTask are zeroed before returning. -func vdbeSortSubtaskCleanup(tls *libc.TLS, db uintptr, pTask uintptr) { /* sqlite3.c:97553:13: */ +func vdbeSortSubtaskCleanup(tls *libc.TLS, db uintptr, pTask uintptr) { /* sqlite3.c:97566:13: */ Xsqlite3DbFree(tls, db, (*SortSubtask)(unsafe.Pointer(pTask)).FpUnpacked) // pTask->list.aMemory can only be non-zero if it was handed memory // from the main thread. That only occurs SQLITE_MAX_WORKER_THREADS>0 @@ -90849,7 +90887,7 @@ func vdbeSortSubtaskCleanup(tls *libc.TLS, db uintptr, pTask uintptr) { /* sqlit } // Join thread pTask->thread. -func vdbeSorterJoinThread(tls *libc.TLS, pTask uintptr) int32 { /* sqlite3.c:97619:12: */ +func vdbeSorterJoinThread(tls *libc.TLS, pTask uintptr) int32 { /* sqlite3.c:97632:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -90868,14 +90906,14 @@ func vdbeSorterJoinThread(tls *libc.TLS, pTask uintptr) int32 { /* sqlite3.c:976 } // Launch a background thread to run xTask(pIn). -func vdbeSorterCreateThread(tls *libc.TLS, pTask uintptr, xTask uintptr, pIn uintptr) int32 { /* sqlite3.c:97640:12: */ +func vdbeSorterCreateThread(tls *libc.TLS, pTask uintptr, xTask uintptr, pIn uintptr) int32 { /* sqlite3.c:97653:12: */ return Xsqlite3ThreadCreate(tls, pTask, xTask, pIn) } // Join all outstanding threads launched by SorterWrite() to create // level-0 PMAs. -func vdbeSorterJoinAll(tls *libc.TLS, pSorter uintptr, rcin int32) int32 { /* sqlite3.c:97653:12: */ +func vdbeSorterJoinAll(tls *libc.TLS, pSorter uintptr, rcin int32) int32 { /* sqlite3.c:97666:12: */ var rc int32 = rcin var i int32 @@ -90901,7 +90939,7 @@ func vdbeSorterJoinAll(tls *libc.TLS, pSorter uintptr, rcin int32) int32 { /* sq // // nReader is automatically rounded up to the next power of two. // nReader may not exceed SORTER_MAX_MERGE_COUNT even after rounding up. -func vdbeMergeEngineNew(tls *libc.TLS, nReader int32) uintptr { /* sqlite3.c:97683:20: */ +func vdbeMergeEngineNew(tls *libc.TLS, nReader int32) uintptr { /* sqlite3.c:97696:20: */ var N int32 = 2 // Smallest power of two >= nReader var nByte int32 // Total bytes of space to allocate var pNew uintptr // Pointer to allocated object to return @@ -90926,7 +90964,7 @@ func vdbeMergeEngineNew(tls *libc.TLS, nReader int32) uintptr { /* sqlite3.c:976 } // Free the MergeEngine object passed as the only argument. -func vdbeMergeEngineFree(tls *libc.TLS, pMerger uintptr) { /* sqlite3.c:97706:13: */ +func vdbeMergeEngineFree(tls *libc.TLS, pMerger uintptr) { /* sqlite3.c:97719:13: */ var i int32 if pMerger != 0 { for i = 0; i < (*MergeEngine)(unsafe.Pointer(pMerger)).FnTree; i++ { @@ -90938,7 +90976,7 @@ func vdbeMergeEngineFree(tls *libc.TLS, pMerger uintptr) { /* sqlite3.c:97706:13 // Free all resources associated with the IncrMerger object indicated by // the first argument. -func vdbeIncrFree(tls *libc.TLS, pIncr uintptr) { /* sqlite3.c:97720:13: */ +func vdbeIncrFree(tls *libc.TLS, pIncr uintptr) { /* sqlite3.c:97733:13: */ if pIncr != 0 { if (*IncrMerger)(unsafe.Pointer(pIncr)).FbUseThread != 0 { vdbeSorterJoinThread(tls, (*IncrMerger)(unsafe.Pointer(pIncr)).FpTask) @@ -90955,7 +90993,7 @@ func vdbeIncrFree(tls *libc.TLS, pIncr uintptr) { /* sqlite3.c:97720:13: */ } // Reset a sorting cursor back to its original empty state. -func Xsqlite3VdbeSorterReset(tls *libc.TLS, db uintptr, pSorter uintptr) { /* sqlite3.c:97737:21: */ +func Xsqlite3VdbeSorterReset(tls *libc.TLS, db uintptr, pSorter uintptr) { /* sqlite3.c:97750:21: */ var i int32 vdbeSorterJoinAll(tls, pSorter, SQLITE_OK) @@ -90984,7 +91022,7 @@ func Xsqlite3VdbeSorterReset(tls *libc.TLS, db uintptr, pSorter uintptr) { /* sq } // Free any cursor components allocated by sqlite3VdbeSorterXXX routines. -func Xsqlite3VdbeSorterClose(tls *libc.TLS, db uintptr, pCsr uintptr) { /* sqlite3.c:97770:21: */ +func Xsqlite3VdbeSorterClose(tls *libc.TLS, db uintptr, pCsr uintptr) { /* sqlite3.c:97783:21: */ var pSorter uintptr pSorter = *(*uintptr)(unsafe.Pointer(pCsr + 48)) @@ -91003,7 +91041,7 @@ func Xsqlite3VdbeSorterClose(tls *libc.TLS, db uintptr, pCsr uintptr) { /* sqlit // // Whether or not the file does end up memory mapped of course depends on // the specific VFS implementation. -func vdbeSorterExtendFile(tls *libc.TLS, db uintptr, pFd uintptr, nByte I64) { /* sqlite3.c:97792:13: */ +func vdbeSorterExtendFile(tls *libc.TLS, db uintptr, pFd uintptr, nByte I64) { /* sqlite3.c:97805:13: */ bp := tls.Alloc(24) defer tls.Free(24) *(*I64)(unsafe.Pointer(bp + 8)) = nByte @@ -91023,7 +91061,7 @@ func vdbeSorterExtendFile(tls *libc.TLS, db uintptr, pFd uintptr, nByte I64) { / // Allocate space for a file-handle and open a temporary file. If successful, // set *ppFd to point to the malloc'd file-handle and return SQLITE_OK. // Otherwise, set *ppFd to 0 and return an SQLite error code. -func vdbeSorterOpenTempFile(tls *libc.TLS, db uintptr, nExtend I64, ppFd uintptr) int32 { /* sqlite3.c:97811:12: */ +func vdbeSorterOpenTempFile(tls *libc.TLS, db uintptr, nExtend I64, ppFd uintptr) int32 { /* sqlite3.c:97824:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -91047,7 +91085,7 @@ func vdbeSorterOpenTempFile(tls *libc.TLS, db uintptr, nExtend I64, ppFd uintptr // If it has not already been allocated, allocate the UnpackedRecord // structure at pTask->pUnpacked. Return SQLITE_OK if successful (or // if no allocation was required), or SQLITE_NOMEM otherwise. -func vdbeSortAllocUnpacked(tls *libc.TLS, pTask uintptr) int32 { /* sqlite3.c:97838:12: */ +func vdbeSortAllocUnpacked(tls *libc.TLS, pTask uintptr) int32 { /* sqlite3.c:97851:12: */ if (*SortSubtask)(unsafe.Pointer(pTask)).FpUnpacked == uintptr(0) { (*SortSubtask)(unsafe.Pointer(pTask)).FpUnpacked = Xsqlite3VdbeAllocUnpackedRecord(tls, (*VdbeSorter)(unsafe.Pointer((*SortSubtask)(unsafe.Pointer(pTask)).FpSorter)).FpKeyInfo) if (*SortSubtask)(unsafe.Pointer(pTask)).FpUnpacked == uintptr(0) { @@ -91060,7 +91098,7 @@ func vdbeSortAllocUnpacked(tls *libc.TLS, pTask uintptr) int32 { /* sqlite3.c:97 } // Merge the two sorted lists p1 and p2 into a single list. -func vdbeSorterMerge(tls *libc.TLS, pTask uintptr, p1 uintptr, p2 uintptr) uintptr { /* sqlite3.c:97852:21: */ +func vdbeSorterMerge(tls *libc.TLS, pTask uintptr, p1 uintptr, p2 uintptr) uintptr { /* sqlite3.c:97865:21: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -91099,7 +91137,7 @@ func vdbeSorterMerge(tls *libc.TLS, pTask uintptr, p1 uintptr, p2 uintptr) uintp // Return the SorterCompare function to compare values collected by the // sorter object passed as the only argument. -func vdbeSorterGetCompare(tls *libc.TLS, p uintptr) SorterCompare { /* sqlite3.c:97894:22: */ +func vdbeSorterGetCompare(tls *libc.TLS, p uintptr) SorterCompare { /* sqlite3.c:97907:22: */ if int32((*VdbeSorter)(unsafe.Pointer(p)).FtypeMask) == SORTER_TYPE_INTEGER { return *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr, int32) int32 @@ -91117,7 +91155,7 @@ func vdbeSorterGetCompare(tls *libc.TLS, p uintptr) SorterCompare { /* sqlite3.c // Sort the linked list of records headed at pTask->pList. Return // SQLITE_OK if successful, or an SQLite error code (i.e. SQLITE_NOMEM) if // an error occurs. -func vdbeSorterSort(tls *libc.TLS, pTask uintptr, pList uintptr) int32 { /* sqlite3.c:97908:12: */ +func vdbeSorterSort(tls *libc.TLS, pTask uintptr, pList uintptr) int32 { /* sqlite3.c:97921:12: */ bp := tls.Alloc(512) defer tls.Free(512) @@ -91174,7 +91212,7 @@ func vdbeSorterSort(tls *libc.TLS, pTask uintptr, pList uintptr) int32 { /* sqli } // Initialize a PMA-writer object. -func vdbePmaWriterInit(tls *libc.TLS, pFd uintptr, p uintptr, nBuf int32, iStart I64) { /* sqlite3.c:97959:13: */ +func vdbePmaWriterInit(tls *libc.TLS, pFd uintptr, p uintptr, nBuf int32, iStart I64) { /* sqlite3.c:97972:13: */ libc.X__builtin___memset_chk(tls, p, 0, uint64(unsafe.Sizeof(PmaWriter{})), libc.X__builtin_object_size(tls, p, 0)) (*PmaWriter)(unsafe.Pointer(p)).FaBuffer = Xsqlite3Malloc(tls, uint64(nBuf)) if !(int32((*PmaWriter)(unsafe.Pointer(p)).FaBuffer) != 0) { @@ -91189,7 +91227,7 @@ func vdbePmaWriterInit(tls *libc.TLS, pFd uintptr, p uintptr, nBuf int32, iStart // Write nData bytes of data to the PMA. Return SQLITE_OK // if successful, or an SQLite error code if an error occurs. -func vdbePmaWriteBlob(tls *libc.TLS, p uintptr, pData uintptr, nData int32) { /* sqlite3.c:97981:13: */ +func vdbePmaWriteBlob(tls *libc.TLS, p uintptr, pData uintptr, nData int32) { /* sqlite3.c:97994:13: */ var nRem int32 = nData for nRem > 0 && (*PmaWriter)(unsafe.Pointer(p)).FeFWErr == 0 { var nCopy int32 = nRem @@ -91218,7 +91256,7 @@ func vdbePmaWriteBlob(tls *libc.TLS, p uintptr, pData uintptr, nData int32) { /* // // Before returning, set *piEof to the offset immediately following the // last byte written to the file. -func vdbePmaWriterFinish(tls *libc.TLS, p uintptr, piEof uintptr) int32 { /* sqlite3.c:98014:12: */ +func vdbePmaWriterFinish(tls *libc.TLS, p uintptr, piEof uintptr) int32 { /* sqlite3.c:98027:12: */ var rc int32 if (*PmaWriter)(unsafe.Pointer(p)).FeFWErr == 0 && (*PmaWriter)(unsafe.Pointer(p)).FaBuffer != 0 && (*PmaWriter)(unsafe.Pointer(p)).FiBufEnd > (*PmaWriter)(unsafe.Pointer(p)).FiBufStart { (*PmaWriter)(unsafe.Pointer(p)).FeFWErr = Xsqlite3OsWrite(tls, (*PmaWriter)(unsafe.Pointer(p)).FpFd, @@ -91234,7 +91272,7 @@ func vdbePmaWriterFinish(tls *libc.TLS, p uintptr, piEof uintptr) int32 { /* sql // Write value iVal encoded as a varint to the PMA. Return // SQLITE_OK if successful, or an SQLite error code if an error occurs. -func vdbePmaWriteVarint(tls *libc.TLS, p uintptr, iVal U64) { /* sqlite3.c:98033:13: */ +func vdbePmaWriteVarint(tls *libc.TLS, p uintptr, iVal U64) { /* sqlite3.c:98046:13: */ bp := tls.Alloc(10) defer tls.Free(10) @@ -91257,7 +91295,7 @@ func vdbePmaWriteVarint(tls *libc.TLS, p uintptr, iVal U64) { /* sqlite3.c:98033 // * One or more records packed end-to-end in order of ascending keys. // Each record consists of a varint followed by a blob of data (the // key). The varint is the number of bytes in the blob of data. -func vdbeSorterListToPMA(tls *libc.TLS, pTask uintptr, pList uintptr) int32 { /* sqlite3.c:98054:12: */ +func vdbeSorterListToPMA(tls *libc.TLS, pTask uintptr, pList uintptr) int32 { /* sqlite3.c:98067:12: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -91312,7 +91350,7 @@ func vdbeSorterListToPMA(tls *libc.TLS, pTask uintptr, pList uintptr) int32 { /* // the MergeEngine has reached the end of all its inputs. // // Return SQLITE_OK if successful or an error code if an error occurs. -func vdbeMergeEngineStep(tls *libc.TLS, pMerger uintptr, pbEof uintptr) int32 { /* sqlite3.c:98118:12: */ +func vdbeMergeEngineStep(tls *libc.TLS, pMerger uintptr, pbEof uintptr) int32 { /* sqlite3.c:98131:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -91388,7 +91426,7 @@ func vdbeMergeEngineStep(tls *libc.TLS, pMerger uintptr, pbEof uintptr) int32 { } // The main routine for background threads that write level-0 PMAs. -func vdbeSorterFlushThread(tls *libc.TLS, pCtx uintptr) uintptr { /* sqlite3.c:98189:13: */ +func vdbeSorterFlushThread(tls *libc.TLS, pCtx uintptr) uintptr { /* sqlite3.c:98202:13: */ var pTask uintptr = pCtx var rc int32 // Return code @@ -91399,7 +91437,7 @@ func vdbeSorterFlushThread(tls *libc.TLS, pCtx uintptr) uintptr { /* sqlite3.c:9 // Flush the current contents of VdbeSorter.list to a new PMA, possibly // using a background thread. -func vdbeSorterFlushPMA(tls *libc.TLS, pSorter uintptr) int32 { /* sqlite3.c:98203:12: */ +func vdbeSorterFlushPMA(tls *libc.TLS, pSorter uintptr) int32 { /* sqlite3.c:98216:12: */ var rc int32 = SQLITE_OK var i int32 var pTask uintptr = uintptr(0) // Thread context used to create new PMA @@ -91463,7 +91501,7 @@ func vdbeSorterFlushPMA(tls *libc.TLS, pSorter uintptr) int32 { /* sqlite3.c:982 } // Add a record to the sorter. -func Xsqlite3VdbeSorterWrite(tls *libc.TLS, pCsr uintptr, pVal uintptr) int32 { /* sqlite3.c:98273:20: */ +func Xsqlite3VdbeSorterWrite(tls *libc.TLS, pCsr uintptr, pVal uintptr) int32 { /* sqlite3.c:98286:20: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -91579,7 +91617,7 @@ func Xsqlite3VdbeSorterWrite(tls *libc.TLS, pCsr uintptr, pVal uintptr) int32 { // Read keys from pIncr->pMerger and populate pIncr->aFile[1]. The format // of the data stored in aFile[1] is the same as that used by regular PMAs, // except that the number-of-bytes varint is omitted from the start. -func vdbeIncrPopulate(tls *libc.TLS, pIncr uintptr) int32 { /* sqlite3.c:98385:12: */ +func vdbeIncrPopulate(tls *libc.TLS, pIncr uintptr) int32 { /* sqlite3.c:98398:12: */ bp := tls.Alloc(52) defer tls.Free(52) @@ -91625,7 +91663,7 @@ func vdbeIncrPopulate(tls *libc.TLS, pIncr uintptr) int32 { /* sqlite3.c:98385:1 // The main routine for background threads that populate aFile[1] of // multi-threaded IncrMerger objects. -func vdbeIncrPopulateThread(tls *libc.TLS, pCtx uintptr) uintptr { /* sqlite3.c:98427:13: */ +func vdbeIncrPopulateThread(tls *libc.TLS, pCtx uintptr) uintptr { /* sqlite3.c:98440:13: */ var pIncr uintptr = pCtx var pRet uintptr = uintptr(int64(vdbeIncrPopulate(tls, pIncr))) (*SortSubtask)(unsafe.Pointer((*IncrMerger)(unsafe.Pointer(pIncr)).FpTask)).FbDone = 1 @@ -91633,7 +91671,7 @@ func vdbeIncrPopulateThread(tls *libc.TLS, pCtx uintptr) uintptr { /* sqlite3.c: } // Launch a background thread to populate aFile[1] of pIncr. -func vdbeIncrBgPopulate(tls *libc.TLS, pIncr uintptr) int32 { /* sqlite3.c:98437:12: */ +func vdbeIncrBgPopulate(tls *libc.TLS, pIncr uintptr) int32 { /* sqlite3.c:98450:12: */ var p uintptr = pIncr return vdbeSorterCreateThread(tls, (*IncrMerger)(unsafe.Pointer(pIncr)).FpTask, *(*uintptr)(unsafe.Pointer(&struct { @@ -91656,7 +91694,7 @@ func vdbeIncrBgPopulate(tls *libc.TLS, pIncr uintptr) int32 { /* sqlite3.c:98437 // to populate the new aFile[1]. // // SQLITE_OK is returned on success, or an SQLite error code otherwise. -func vdbeIncrSwap(tls *libc.TLS, pIncr uintptr) int32 { /* sqlite3.c:98461:12: */ +func vdbeIncrSwap(tls *libc.TLS, pIncr uintptr) int32 { /* sqlite3.c:98474:12: */ var rc int32 = SQLITE_OK if (*IncrMerger)(unsafe.Pointer(pIncr)).FbUseThread != 0 { @@ -91690,7 +91728,7 @@ func vdbeIncrSwap(tls *libc.TLS, pIncr uintptr) int32 { /* sqlite3.c:98461:12: * // // If an OOM condition is encountered, return NULL. In this case free the // pMerger argument before returning. -func vdbeIncrMergerNew(tls *libc.TLS, pTask uintptr, pMerger uintptr, ppOut uintptr) int32 { /* sqlite3.c:98500:12: */ +func vdbeIncrMergerNew(tls *libc.TLS, pTask uintptr, pMerger uintptr, ppOut uintptr) int32 { /* sqlite3.c:98513:12: */ var rc int32 = SQLITE_OK var pIncr uintptr = libc.AssignPtrUintptr(ppOut, func() uintptr { if Xsqlite3FaultSim(tls, 100) != 0 { @@ -91717,7 +91755,7 @@ func vdbeIncrMergerNew(tls *libc.TLS, pTask uintptr, pMerger uintptr, ppOut uint } // Set the "use-threads" flag on object pIncr. -func vdbeIncrMergerSetThreads(tls *libc.TLS, pIncr uintptr) { /* sqlite3.c:98525:13: */ +func vdbeIncrMergerSetThreads(tls *libc.TLS, pIncr uintptr) { /* sqlite3.c:98538:13: */ (*IncrMerger)(unsafe.Pointer(pIncr)).FbUseThread = 1 *(*I64)(unsafe.Pointer((*IncrMerger)(unsafe.Pointer(pIncr)).FpTask + 88 + 8)) -= I64((*IncrMerger)(unsafe.Pointer(pIncr)).FmxSz) } @@ -91725,7 +91763,7 @@ func vdbeIncrMergerSetThreads(tls *libc.TLS, pIncr uintptr) { /* sqlite3.c:98525 // Recompute pMerger->aTree[iOut] by comparing the next keys on the // two PmaReaders that feed that entry. Neither of the PmaReaders // are advanced. This routine merely does the comparison. -func vdbeMergeEngineCompare(tls *libc.TLS, pMerger uintptr, iOut int32) { /* sqlite3.c:98538:13: */ +func vdbeMergeEngineCompare(tls *libc.TLS, pMerger uintptr, iOut int32) { /* sqlite3.c:98551:13: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -91785,7 +91823,7 @@ func vdbeMergeEngineCompare(tls *libc.TLS, pMerger uintptr, iOut int32) { /* sql // to pMerger. // // SQLITE_OK is returned if successful, or an SQLite error code otherwise. -func vdbeMergeEngineInit(tls *libc.TLS, pTask uintptr, pMerger uintptr, eMode int32) int32 { /* sqlite3.c:98620:12: */ +func vdbeMergeEngineInit(tls *libc.TLS, pTask uintptr, pMerger uintptr, eMode int32) int32 { /* sqlite3.c:98633:12: */ var rc int32 = SQLITE_OK // Return code var i int32 // For looping over PmaReader objects var nTree int32 // Number of subtrees to merge @@ -91855,7 +91893,7 @@ func vdbeMergeEngineInit(tls *libc.TLS, pTask uintptr, pMerger uintptr, eMode in // the current PmaReader set to point to the first key in its range. // // SQLITE_OK is returned if successful, or an SQLite error code otherwise. -func vdbePmaReaderIncrMergeInit(tls *libc.TLS, pReadr uintptr, eMode int32) int32 { /* sqlite3.c:98696:12: */ +func vdbePmaReaderIncrMergeInit(tls *libc.TLS, pReadr uintptr, eMode int32) int32 { /* sqlite3.c:98709:12: */ var rc int32 = SQLITE_OK var pIncr uintptr = (*PmaReader)(unsafe.Pointer(pReadr)).FpIncr var pTask uintptr = (*IncrMerger)(unsafe.Pointer(pIncr)).FpTask @@ -91912,7 +91950,7 @@ func vdbePmaReaderIncrMergeInit(tls *libc.TLS, pReadr uintptr, eMode int32) int3 // The main routine for vdbePmaReaderIncrMergeInit() operations run in // background threads. -func vdbePmaReaderBgIncrInit(tls *libc.TLS, pCtx uintptr) uintptr { /* sqlite3.c:98763:13: */ +func vdbePmaReaderBgIncrInit(tls *libc.TLS, pCtx uintptr) uintptr { /* sqlite3.c:98776:13: */ var pReader uintptr = pCtx var pRet uintptr = uintptr(int64(vdbePmaReaderIncrMergeInit(tls, pReader, INCRINIT_TASK))) (*SortSubtask)(unsafe.Pointer((*IncrMerger)(unsafe.Pointer((*PmaReader)(unsafe.Pointer(pReader)).FpIncr)).FpTask)).FbDone = 1 @@ -91928,7 +91966,7 @@ func vdbePmaReaderBgIncrInit(tls *libc.TLS, pCtx uintptr) uintptr { /* sqlite3.c // then a background thread is launched to call vdbePmaReaderIncrMergeInit(). // Or, if the IncrMerger is single threaded, the same function is called // using the current thread. -func vdbePmaReaderIncrInit(tls *libc.TLS, pReadr uintptr, eMode int32) int32 { /* sqlite3.c:98784:12: */ +func vdbePmaReaderIncrInit(tls *libc.TLS, pReadr uintptr, eMode int32) int32 { /* sqlite3.c:98797:12: */ var pIncr uintptr = (*PmaReader)(unsafe.Pointer(pReadr)).FpIncr // Incremental merger var rc int32 = SQLITE_OK // Return code if pIncr != 0 { @@ -91955,7 +91993,7 @@ func vdbePmaReaderIncrInit(tls *libc.TLS, pReadr uintptr, eMode int32) int32 { / // set to the offset immediately following the last byte of the last // PMA before returning. If an error does occur, then the final value of // *piOffset is undefined. -func vdbeMergeEngineLevel0(tls *libc.TLS, pTask uintptr, nPMA int32, piOffset uintptr, ppOut uintptr) int32 { /* sqlite3.c:98814:12: */ +func vdbeMergeEngineLevel0(tls *libc.TLS, pTask uintptr, nPMA int32, piOffset uintptr, ppOut uintptr) int32 { /* sqlite3.c:98827:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -91992,7 +92030,7 @@ func vdbeMergeEngineLevel0(tls *libc.TLS, pTask uintptr, nPMA int32, piOffset ui // nPMA<=16 -> TreeDepth() == 0 // nPMA<=256 -> TreeDepth() == 1 // nPMA<=65536 -> TreeDepth() == 2 -func vdbeSorterTreeDepth(tls *libc.TLS, nPMA int32) int32 { /* sqlite3.c:98853:12: */ +func vdbeSorterTreeDepth(tls *libc.TLS, nPMA int32) int32 { /* sqlite3.c:98866:12: */ var nDepth int32 = 0 var nDiv I64 = int64(SORTER_MAX_MERGE_COUNT) for nDiv < I64(nPMA) { @@ -92008,7 +92046,7 @@ func vdbeSorterTreeDepth(tls *libc.TLS, nPMA int32) int32 { /* sqlite3.c:98853:1 // // If successful, SQLITE_OK is returned. If an error occurs, an SQLite error // code is returned and pLeaf is freed. -func vdbeSorterAddToTree(tls *libc.TLS, pTask uintptr, nDepth int32, iSeq int32, pRoot uintptr, pLeaf uintptr) int32 { /* sqlite3.c:98871:12: */ +func vdbeSorterAddToTree(tls *libc.TLS, pTask uintptr, nDepth int32, iSeq int32, pRoot uintptr, pLeaf uintptr) int32 { /* sqlite3.c:98884:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -92059,7 +92097,7 @@ func vdbeSorterAddToTree(tls *libc.TLS, pTask uintptr, nDepth int32, iSeq int32, // MergeEngine object at the root of the tree before returning. Or, if an // error occurs, an SQLite error code is returned and the final value // of *ppOut is undefined. -func vdbeSorterMergeTreeBuild(tls *libc.TLS, pSorter uintptr, ppOut uintptr) int32 { /* sqlite3.c:98927:12: */ +func vdbeSorterMergeTreeBuild(tls *libc.TLS, pSorter uintptr, ppOut uintptr) int32 { /* sqlite3.c:98940:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -92140,7 +92178,7 @@ func vdbeSorterMergeTreeBuild(tls *libc.TLS, pSorter uintptr, ppOut uintptr) int // all records stored in the sorter. // // SQLITE_OK is returned if successful, or an SQLite error code otherwise. -func vdbeSorterSetupMerge(tls *libc.TLS, pSorter uintptr) int32 { /* sqlite3.c:99006:12: */ +func vdbeSorterSetupMerge(tls *libc.TLS, pSorter uintptr) int32 { /* sqlite3.c:99019:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -92215,7 +92253,7 @@ func vdbeSorterSetupMerge(tls *libc.TLS, pSorter uintptr) int32 { /* sqlite3.c:9 // Once the sorter has been populated by calls to sqlite3VdbeSorterWrite, // this function is called to prepare for iterating through the records // in sorted order. -func Xsqlite3VdbeSorterRewind(tls *libc.TLS, pCsr uintptr, pbEof uintptr) int32 { /* sqlite3.c:99088:20: */ +func Xsqlite3VdbeSorterRewind(tls *libc.TLS, pCsr uintptr, pbEof uintptr) int32 { /* sqlite3.c:99101:20: */ var pSorter uintptr var rc int32 = SQLITE_OK // Return code @@ -92260,7 +92298,7 @@ func Xsqlite3VdbeSorterRewind(tls *libc.TLS, pCsr uintptr, pbEof uintptr) int32 // SQLITE_OK success // SQLITE_DONE end of data // otherwise some kind of error. -func Xsqlite3VdbeSorterNext(tls *libc.TLS, db uintptr, pCsr uintptr) int32 { /* sqlite3.c:99140:20: */ +func Xsqlite3VdbeSorterNext(tls *libc.TLS, db uintptr, pCsr uintptr) int32 { /* sqlite3.c:99153:20: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -92302,7 +92340,7 @@ func Xsqlite3VdbeSorterNext(tls *libc.TLS, db uintptr, pCsr uintptr) int32 { /* // Return a pointer to a buffer owned by the sorter that contains the // current key. -func vdbeSorterRowkey(tls *libc.TLS, pSorter uintptr, pnKey uintptr) uintptr { /* sqlite3.c:99178:13: */ +func vdbeSorterRowkey(tls *libc.TLS, pSorter uintptr, pnKey uintptr) uintptr { /* sqlite3.c:99191:13: */ var pKey uintptr if (*VdbeSorter)(unsafe.Pointer(pSorter)).FbUsePMA != 0 { var pReader uintptr @@ -92321,7 +92359,7 @@ func vdbeSorterRowkey(tls *libc.TLS, pSorter uintptr, pnKey uintptr) uintptr { / } // Copy the current sorter key into the memory cell pOut. -func Xsqlite3VdbeSorterRowkey(tls *libc.TLS, pCsr uintptr, pOut uintptr) int32 { /* sqlite3.c:99205:20: */ +func Xsqlite3VdbeSorterRowkey(tls *libc.TLS, pCsr uintptr, pOut uintptr) int32 { /* sqlite3.c:99218:20: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -92356,7 +92394,7 @@ func Xsqlite3VdbeSorterRowkey(tls *libc.TLS, pCsr uintptr, pOut uintptr) int32 { // // This routine forms the core of the OP_SorterCompare opcode, which in // turn is used to verify uniqueness when constructing a UNIQUE INDEX. -func Xsqlite3VdbeSorterCompare(tls *libc.TLS, pCsr uintptr, pVal uintptr, nKeyCol int32, pRes uintptr) int32 { /* sqlite3.c:99238:20: */ +func Xsqlite3VdbeSorterCompare(tls *libc.TLS, pCsr uintptr, pVal uintptr, nKeyCol int32, pRes uintptr) int32 { /* sqlite3.c:99251:20: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -92448,7 +92486,7 @@ type MemJournal1 = struct { F__ccgo_pad1 [4]byte FpVfs uintptr FzJournal uintptr -} /* sqlite3.c:99731:9 */ +} /* sqlite3.c:99744:9 */ //************* End of vdbesort.c ******************************************* //************* Begin file vdbevtab.c *************************************** @@ -92495,23 +92533,23 @@ type MemJournal1 = struct { // #include "sqliteInt.h" // Forward references to internal structures -type MemJournal = MemJournal1 /* sqlite3.c:99731:27 */ +type MemJournal = MemJournal1 /* sqlite3.c:99744:27 */ type FilePoint1 = struct { FiOffset Sqlite3_int64 FpChunk uintptr -} /* sqlite3.c:99731:9 */ +} /* sqlite3.c:99744:9 */ -type FilePoint = FilePoint1 /* sqlite3.c:99732:26 */ +type FilePoint = FilePoint1 /* sqlite3.c:99745:26 */ type FileChunk1 = struct { FpNext uintptr FzChunk [8]U8 -} /* sqlite3.c:99731:9 */ +} /* sqlite3.c:99744:9 */ -type FileChunk = FileChunk1 /* sqlite3.c:99733:26 */ +type FileChunk = FileChunk1 /* sqlite3.c:99746:26 */ // Read data from the in-memory journal file. This is the implementation // of the sqlite3_vfs.xRead method. -func memjrnlRead(tls *libc.TLS, pJfd uintptr, zBuf uintptr, iAmt int32, iOfst Sqlite_int64) int32 { /* sqlite3.c:99788:12: */ +func memjrnlRead(tls *libc.TLS, pJfd uintptr, zBuf uintptr, iAmt int32, iOfst Sqlite_int64) int32 { /* sqlite3.c:99801:12: */ var p uintptr = pJfd var zOut uintptr = zBuf var nRead int32 = iAmt @@ -92558,7 +92596,7 @@ func memjrnlRead(tls *libc.TLS, pJfd uintptr, zBuf uintptr, iAmt int32, iOfst Sq } // Free the list of FileChunk structures headed at MemJournal.pFirst. -func memjrnlFreeChunks(tls *libc.TLS, pFirst uintptr) { /* sqlite3.c:99835:13: */ +func memjrnlFreeChunks(tls *libc.TLS, pFirst uintptr) { /* sqlite3.c:99848:13: */ var pIter uintptr var pNext uintptr for pIter = pFirst; pIter != 0; pIter = pNext { @@ -92568,7 +92606,7 @@ func memjrnlFreeChunks(tls *libc.TLS, pFirst uintptr) { /* sqlite3.c:99835:13: * } // Flush the contents of memory to a real file on disk. -func memjrnlCreateFile(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:99847:12: */ +func memjrnlCreateFile(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:99860:12: */ var rc int32 var pReal uintptr = p var copy = *(*MemJournal)(unsafe.Pointer(p)) @@ -92606,7 +92644,7 @@ func memjrnlCreateFile(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:99847:12: } // Write data to the file. -func memjrnlWrite(tls *libc.TLS, pJfd uintptr, zBuf uintptr, iAmt int32, iOfst Sqlite_int64) int32 { /* sqlite3.c:99889:12: */ +func memjrnlWrite(tls *libc.TLS, pJfd uintptr, zBuf uintptr, iAmt int32, iOfst Sqlite_int64) int32 { /* sqlite3.c:99902:12: */ var p uintptr = pJfd var nWrite int32 = iAmt var zWrite uintptr = zBuf @@ -92672,7 +92710,7 @@ func memjrnlWrite(tls *libc.TLS, pJfd uintptr, zBuf uintptr, iAmt int32, iOfst S } // Truncate the in-memory file. -func memjrnlTruncate(tls *libc.TLS, pJfd uintptr, size Sqlite_int64) int32 { /* sqlite3.c:99962:12: */ +func memjrnlTruncate(tls *libc.TLS, pJfd uintptr, size Sqlite_int64) int32 { /* sqlite3.c:99975:12: */ var p uintptr = pJfd if size < (*MemJournal)(unsafe.Pointer(p)).Fendpoint.FiOffset { @@ -92700,7 +92738,7 @@ func memjrnlTruncate(tls *libc.TLS, pJfd uintptr, size Sqlite_int64) int32 { /* } // Close the file. -func memjrnlClose(tls *libc.TLS, pJfd uintptr) int32 { /* sqlite3.c:99992:12: */ +func memjrnlClose(tls *libc.TLS, pJfd uintptr) int32 { /* sqlite3.c:100005:12: */ var p uintptr = pJfd memjrnlFreeChunks(tls, (*MemJournal)(unsafe.Pointer(p)).FpFirst) return SQLITE_OK @@ -92710,14 +92748,14 @@ func memjrnlClose(tls *libc.TLS, pJfd uintptr) int32 { /* sqlite3.c:99992:12: */ // // If the real file has been created, call its xSync method. Otherwise, // syncing an in-memory journal is a no-op. -func memjrnlSync(tls *libc.TLS, pJfd uintptr, flags int32) int32 { /* sqlite3.c:100004:12: */ +func memjrnlSync(tls *libc.TLS, pJfd uintptr, flags int32) int32 { /* sqlite3.c:100017:12: */ _ = pJfd _ = flags return SQLITE_OK } // Query the size of the file in bytes. -func memjrnlFileSize(tls *libc.TLS, pJfd uintptr, pSize uintptr) int32 { /* sqlite3.c:100012:12: */ +func memjrnlFileSize(tls *libc.TLS, pJfd uintptr, pSize uintptr) int32 { /* sqlite3.c:100025:12: */ var p uintptr = pJfd *(*Sqlite_int64)(unsafe.Pointer(pSize)) = (*MemJournal)(unsafe.Pointer(p)).Fendpoint.FiOffset return SQLITE_OK @@ -92732,7 +92770,7 @@ var sMemJournalMethods = sqlite3_io_methods{ FxTruncate: 0, // xTruncate FxSync: 0, // xSync FxFileSize: 0, // xUnfetch -} /* sqlite3.c:100021:40 */ +} /* sqlite3.c:100034:40 */ // Open a journal file. // @@ -92744,7 +92782,7 @@ var sMemJournalMethods = sqlite3_io_methods{ // but may be flushed to disk later on. In this case the journal file is // flushed to disk either when it grows larger than nSpill bytes in size, // or when sqlite3JournalCreate() is called. -func Xsqlite3JournalOpen(tls *libc.TLS, pVfs uintptr, zName uintptr, pJfd uintptr, flags int32, nSpill int32) int32 { /* sqlite3.c:100055:20: */ +func Xsqlite3JournalOpen(tls *libc.TLS, pVfs uintptr, zName uintptr, pJfd uintptr, flags int32, nSpill int32) int32 { /* sqlite3.c:100068:20: */ var p uintptr = pJfd // Zero the file-handle object. If nSpill was passed zero, initialize @@ -92772,20 +92810,20 @@ func Xsqlite3JournalOpen(tls *libc.TLS, pVfs uintptr, zName uintptr, pJfd uintpt } // Open an in-memory journal file. -func Xsqlite3MemJournalOpen(tls *libc.TLS, pJfd uintptr) { /* sqlite3.c:100091:21: */ +func Xsqlite3MemJournalOpen(tls *libc.TLS, pJfd uintptr) { /* sqlite3.c:100104:21: */ Xsqlite3JournalOpen(tls, uintptr(0), uintptr(0), pJfd, 0, -1) } // The file-handle passed as the only argument is open on a journal file. // Return true if this "journal file" is currently stored in heap memory, // or false otherwise. -func Xsqlite3JournalIsInMemory(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:100130:20: */ +func Xsqlite3JournalIsInMemory(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:100143:20: */ return libc.Bool32((*Sqlite3_file)(unsafe.Pointer(p)).FpMethods == uintptr(unsafe.Pointer(&sMemJournalMethods))) } // Return the number of bytes required to store a JournalFile that uses vfs // pVfs to create the underlying on-disk files. -func Xsqlite3JournalSize(tls *libc.TLS, pVfs uintptr) int32 { /* sqlite3.c:100138:20: */ +func Xsqlite3JournalSize(tls *libc.TLS, pVfs uintptr) int32 { /* sqlite3.c:100151:20: */ return func() int32 { if (*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FszOsFile > int32(unsafe.Sizeof(MemJournal{})) { return (*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FszOsFile @@ -92814,7 +92852,7 @@ func Xsqlite3JournalSize(tls *libc.TLS, pVfs uintptr) int32 { /* sqlite3.c:10013 // Walk all expressions linked into the list of Window objects passed // as the second argument. -func walkWindowList(tls *libc.TLS, pWalker uintptr, pList uintptr, bOneOnly int32) int32 { /* sqlite3.c:100168:12: */ +func walkWindowList(tls *libc.TLS, pWalker uintptr, pList uintptr, bOneOnly int32) int32 { /* sqlite3.c:100181:12: */ var pWin uintptr for pWin = pList; pWin != 0; pWin = (*Window)(unsafe.Pointer(pWin)).FpNextWin { var rc int32 @@ -92862,7 +92900,7 @@ func walkWindowList(tls *libc.TLS, pWalker uintptr, pList uintptr, bOneOnly int3 // // The return value from this routine is WRC_Abort to abandon the tree walk // and WRC_Continue to continue. -func walkExpr(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:100207:28: */ +func walkExpr(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:100220:28: */ var rc int32 for 1 != 0 { @@ -92904,7 +92942,7 @@ func walkExpr(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3. return WRC_Continue } -func Xsqlite3WalkExpr(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:100239:20: */ +func Xsqlite3WalkExpr(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:100252:20: */ if pExpr != 0 { return walkExpr(tls, pWalker, pExpr) } @@ -92913,7 +92951,7 @@ func Xsqlite3WalkExpr(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* // Call sqlite3WalkExpr() for every expression in list p or until // an abort request is seen. -func Xsqlite3WalkExprList(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sqlite3.c:100247:20: */ +func Xsqlite3WalkExprList(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sqlite3.c:100260:20: */ var i int32 var pItem uintptr if p != 0 { @@ -92942,7 +92980,7 @@ func Xsqlite3WalkExprList(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* // This is a no-op callback for Walker->xSelectCallback2. If this // callback is set, then the Select->pWinDefn list is traversed. -func Xsqlite3WalkWinDefnDummyCallback(tls *libc.TLS, pWalker uintptr, p uintptr) { /* sqlite3.c:100262:21: */ +func Xsqlite3WalkWinDefnDummyCallback(tls *libc.TLS, pWalker uintptr, p uintptr) { /* sqlite3.c:100275:21: */ _ = pWalker _ = p // No-op @@ -92952,7 +92990,7 @@ func Xsqlite3WalkWinDefnDummyCallback(tls *libc.TLS, pWalker uintptr, p uintptr) // not invoke the SELECT callback on p, but do (of course) invoke // any expr callbacks and SELECT callbacks that come from subqueries. // Return WRC_Abort or WRC_Continue. -func Xsqlite3WalkSelectExpr(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sqlite3.c:100274:20: */ +func Xsqlite3WalkSelectExpr(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sqlite3.c:100287:20: */ if Xsqlite3WalkExprList(tls, pWalker, (*Select)(unsafe.Pointer(p)).FpEList) != 0 { return WRC_Abort } @@ -92994,7 +93032,7 @@ func Xsqlite3WalkSelectExpr(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { / // callback on p, but do invoke it on each FROM clause subquery // and on any subqueries further down in the tree. Return // WRC_Abort or WRC_Continue; -func Xsqlite3WalkSelectFrom(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sqlite3.c:100307:20: */ +func Xsqlite3WalkSelectFrom(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sqlite3.c:100320:20: */ var pSrc uintptr var i int32 var pItem uintptr @@ -93043,7 +93081,7 @@ func Xsqlite3WalkSelectFrom(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { / // // If the Walker does not have an xSelectCallback() then this routine // is a no-op returning WRC_Continue. -func Xsqlite3WalkSelect(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sqlite3.c:100345:20: */ +func Xsqlite3WalkSelect(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sqlite3.c:100358:20: */ var rc int32 if p == uintptr(0) { return WRC_Continue @@ -93074,13 +93112,13 @@ func Xsqlite3WalkSelect(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sq // Increase the walkerDepth when entering a subquery, and // descrease when leaving the subquery. -func Xsqlite3WalkerDepthIncrease(tls *libc.TLS, pWalker uintptr, pSelect uintptr) int32 { /* sqlite3.c:100368:20: */ +func Xsqlite3WalkerDepthIncrease(tls *libc.TLS, pWalker uintptr, pSelect uintptr) int32 { /* sqlite3.c:100381:20: */ _ = pSelect (*Walker)(unsafe.Pointer(pWalker)).FwalkerDepth++ return WRC_Continue } -func Xsqlite3WalkerDepthDecrease(tls *libc.TLS, pWalker uintptr, pSelect uintptr) { /* sqlite3.c:100373:21: */ +func Xsqlite3WalkerDepthDecrease(tls *libc.TLS, pWalker uintptr, pSelect uintptr) { /* sqlite3.c:100386:21: */ _ = pSelect (*Walker)(unsafe.Pointer(pWalker)).FwalkerDepth-- } @@ -93092,7 +93130,7 @@ func Xsqlite3WalkerDepthDecrease(tls *libc.TLS, pWalker uintptr, pSelect uintptr // when this routine is used for Walker.xExprCallback then // Walker.xSelectCallback is set to do something useful for every // subquery in the parser tree. -func Xsqlite3ExprWalkNoop(tls *libc.TLS, NotUsed uintptr, NotUsed2 uintptr) int32 { /* sqlite3.c:100388:20: */ +func Xsqlite3ExprWalkNoop(tls *libc.TLS, NotUsed uintptr, NotUsed2 uintptr) int32 { /* sqlite3.c:100401:20: */ _ = NotUsed _ = NotUsed2 return WRC_Continue @@ -93100,7 +93138,7 @@ func Xsqlite3ExprWalkNoop(tls *libc.TLS, NotUsed uintptr, NotUsed2 uintptr) int3 // No-op routine for the parse-tree walker for SELECT statements. // subquery in the parser tree. -func Xsqlite3SelectWalkNoop(tls *libc.TLS, NotUsed uintptr, NotUsed2 uintptr) int32 { /* sqlite3.c:100397:20: */ +func Xsqlite3SelectWalkNoop(tls *libc.TLS, NotUsed uintptr, NotUsed2 uintptr) int32 { /* sqlite3.c:100410:20: */ _ = NotUsed _ = NotUsed2 return WRC_Continue @@ -93135,14 +93173,14 @@ func Xsqlite3SelectWalkNoop(tls *libc.TLS, NotUsed uintptr, NotUsed2 uintptr) in // is a helper function - a callback for the tree walker. // // See also the sqlite3WindowExtraAggFuncDepth() routine in window.c -func incrAggDepth(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:100438:12: */ +func incrAggDepth(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:100451:12: */ if int32((*Expr)(unsafe.Pointer(pExpr)).Fop) == TK_AGG_FUNCTION { *(*U8)(unsafe.Pointer(pExpr + 2)) += U8(*(*int32)(unsafe.Pointer(pWalker + 40))) } return WRC_Continue } -func incrAggFunctionDepth(tls *libc.TLS, pExpr uintptr, N int32) { /* sqlite3.c:100442:13: */ +func incrAggFunctionDepth(tls *libc.TLS, pExpr uintptr, N int32) { /* sqlite3.c:100455:13: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -93175,7 +93213,7 @@ func incrAggFunctionDepth(tls *libc.TLS, pExpr uintptr, N int32) { /* sqlite3.c: // zero but it might be more if the alias is contained within a subquery // of the original expression. The Expr.op2 field of TK_AGG_FUNCTION // structures must be increased by the nSubquery amount. -func resolveAlias(tls *libc.TLS, pParse uintptr, pEList uintptr, iCol int32, pExpr uintptr, nSubquery int32) { /* sqlite3.c:100471:13: */ +func resolveAlias(tls *libc.TLS, pParse uintptr, pEList uintptr, iCol int32, pExpr uintptr, nSubquery int32) { /* sqlite3.c:100484:13: */ var pOrig uintptr // The iCol-th column of the result set var pDup uintptr // Copy of pOrig var db uintptr // The database connection @@ -93221,7 +93259,7 @@ func resolveAlias(tls *libc.TLS, pParse uintptr, pEList uintptr, iCol int32, pEx // // Return FALSE if the USING clause is NULL or if it does not contain // zCol. -func nameInUsingClause(tls *libc.TLS, pUsing uintptr, zCol uintptr) int32 { /* sqlite3.c:100528:12: */ +func nameInUsingClause(tls *libc.TLS, pUsing uintptr, zCol uintptr) int32 { /* sqlite3.c:100541:12: */ if pUsing != 0 { var k int32 for k = 0; k < (*IdList)(unsafe.Pointer(pUsing)).FnId; k++ { @@ -93238,7 +93276,7 @@ func nameInUsingClause(tls *libc.TLS, pUsing uintptr, zCol uintptr) int32 { /* s // Check to see if the zSpan given to this routine matches the zDb, zTab, // and zCol. If any of zDb, zTab, and zCol are NULL then those fields will // match anything. -func Xsqlite3MatchEName(tls *libc.TLS, pItem uintptr, zCol uintptr, zTab uintptr, zDb uintptr) int32 { /* sqlite3.c:100545:20: */ +func Xsqlite3MatchEName(tls *libc.TLS, pItem uintptr, zCol uintptr, zTab uintptr, zDb uintptr) int32 { /* sqlite3.c:100558:20: */ var n int32 var zSpan uintptr if int32(*(*uint8)(unsafe.Pointer(pItem + 20))&0x3>>0) != ENAME_TAB { @@ -93264,7 +93302,7 @@ func Xsqlite3MatchEName(tls *libc.TLS, pItem uintptr, zCol uintptr, zTab uintptr } // Return TRUE if the double-quoted string mis-feature should be supported. -func areDoubleQuotedStringsEnabled(tls *libc.TLS, db uintptr, pTopNC uintptr) int32 { /* sqlite3.c:100574:12: */ +func areDoubleQuotedStringsEnabled(tls *libc.TLS, db uintptr, pTopNC uintptr) int32 { /* sqlite3.c:100587:12: */ if (*Sqlite3)(unsafe.Pointer(db)).Finit.Fbusy != 0 { return 1 } // Always support for legacy schemas @@ -93283,7 +93321,7 @@ func areDoubleQuotedStringsEnabled(tls *libc.TLS, db uintptr, pTopNC uintptr) in // The argument is guaranteed to be a non-NULL Expr node of type TK_COLUMN. // return the appropriate colUsed mask. -func Xsqlite3ExprColUsed(tls *libc.TLS, pExpr uintptr) Bitmask { /* sqlite3.c:100592:24: */ +func Xsqlite3ExprColUsed(tls *libc.TLS, pExpr uintptr) Bitmask { /* sqlite3.c:100605:24: */ var n int32 var pExTab uintptr @@ -93333,7 +93371,7 @@ func Xsqlite3ExprColUsed(tls *libc.TLS, pExpr uintptr) Bitmask { /* sqlite3.c:10 // // If the name cannot be resolved unambiguously, leave an error message // in pParse and return WRC_Abort. Return WRC_Prune on success. -func lookupName(tls *libc.TLS, pParse uintptr, zDb uintptr, zTab uintptr, zCol uintptr, pNC uintptr, pExpr uintptr) int32 { /* sqlite3.c:100641:12: */ +func lookupName(tls *libc.TLS, pParse uintptr, zDb uintptr, zTab uintptr, zCol uintptr, pNC uintptr, pExpr uintptr) int32 { /* sqlite3.c:100654:12: */ bp := tls.Alloc(96) defer tls.Free(96) @@ -94048,7 +94086,7 @@ __88: // Allocate and return a pointer to an expression to load the column iCol // from datasource iSrc in SrcList pSrc. -func Xsqlite3CreateColumnExpr(tls *libc.TLS, db uintptr, pSrc uintptr, iSrc int32, iCol int32) uintptr { /* sqlite3.c:101087:21: */ +func Xsqlite3CreateColumnExpr(tls *libc.TLS, db uintptr, pSrc uintptr, iSrc int32, iCol int32) uintptr { /* sqlite3.c:101100:21: */ var p uintptr = Xsqlite3ExprAlloc(tls, db, TK_COLUMN, uintptr(0), 0) if p != 0 { var pItem uintptr = pSrc + 8 + uintptr(iSrc)*112 @@ -94097,7 +94135,7 @@ func Xsqlite3CreateColumnExpr(tls *libc.TLS, db uintptr, pSrc uintptr, iSrc int3 // As an optimization, since the conditional is almost always false // (because errors are rare), the conditional is moved outside of the // function call using a macro. -func notValidImpl(tls *libc.TLS, pParse uintptr, pNC uintptr, zMsg uintptr, pExpr uintptr, pError uintptr) { /* sqlite3.c:101131:13: */ +func notValidImpl(tls *libc.TLS, pParse uintptr, pNC uintptr, zMsg uintptr, pExpr uintptr, pError uintptr) { /* sqlite3.c:101144:13: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -94119,7 +94157,7 @@ func notValidImpl(tls *libc.TLS, pParse uintptr, pNC uintptr, zMsg uintptr, pExp // Expression p should encode a floating point value between 1.0 and 0.0. // Return 1024 times this value. Or return -1 if p is not a floating point // value between 1.0 and 0.0. -func exprProbability(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:101159:12: */ +func exprProbability(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:101172:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -94145,7 +94183,7 @@ func exprProbability(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:101159:12: * // This routine also does error checking and name resolution for // function names. The operator for aggregate functions is changed // to TK_AGG_FUNCTION. -func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:101180:12: */ +func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:101193:12: */ bp := tls.Alloc(96) defer tls.Free(96) @@ -94627,7 +94665,7 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* s // return 0. // // pEList has been resolved. pE has not. -func resolveAsName(tls *libc.TLS, pParse uintptr, pEList uintptr, pE uintptr) int32 { /* sqlite3.c:101638:12: */ +func resolveAsName(tls *libc.TLS, pParse uintptr, pEList uintptr, pE uintptr) int32 { /* sqlite3.c:101651:12: */ var i int32 // Loop counter _ = pParse @@ -94662,7 +94700,7 @@ func resolveAsName(tls *libc.TLS, pParse uintptr, pEList uintptr, pE uintptr) in // the column. // // If there is no match, return 0. Return -1 if an error occurs. -func resolveOrderByTermToExprList(tls *libc.TLS, pParse uintptr, pSelect uintptr, pE uintptr) int32 { /* sqlite3.c:101680:12: */ +func resolveOrderByTermToExprList(tls *libc.TLS, pParse uintptr, pSelect uintptr, pE uintptr) int32 { /* sqlite3.c:101693:12: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -94706,7 +94744,7 @@ func resolveOrderByTermToExprList(tls *libc.TLS, pParse uintptr, pSelect uintptr } // Generate an ORDER BY or GROUP BY term out-of-range error. -func resolveOutOfRangeError(tls *libc.TLS, pParse uintptr, zType uintptr, i int32, mx int32, pError uintptr) { /* sqlite3.c:101727:13: */ +func resolveOutOfRangeError(tls *libc.TLS, pParse uintptr, zType uintptr, i int32, mx int32, pError uintptr) { /* sqlite3.c:101740:13: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -94729,7 +94767,7 @@ func resolveOutOfRangeError(tls *libc.TLS, pParse uintptr, zType uintptr, i int3 // the integer column number. // // Return the number of errors seen. -func resolveCompoundOrderBy(tls *libc.TLS, pParse uintptr, pSelect uintptr) int32 { /* sqlite3.c:101755:12: */ +func resolveCompoundOrderBy(tls *libc.TLS, pParse uintptr, pSelect uintptr) int32 { /* sqlite3.c:101768:12: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -94866,7 +94904,7 @@ func resolveCompoundOrderBy(tls *libc.TLS, pParse uintptr, pSelect uintptr) int3 // // If any errors are detected, add an error message to pParse and // return non-zero. Return zero if no errors are seen. -func Xsqlite3ResolveOrderGroupBy(tls *libc.TLS, pParse uintptr, pSelect uintptr, pOrderBy uintptr, zType uintptr) int32 { /* sqlite3.c:101868:20: */ +func Xsqlite3ResolveOrderGroupBy(tls *libc.TLS, pParse uintptr, pSelect uintptr, pOrderBy uintptr, zType uintptr) int32 { /* sqlite3.c:101881:20: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -94912,7 +94950,7 @@ __3: } // Walker callback for windowRemoveExprFromSelect(). -func resolveRemoveWindowsCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:101902:12: */ +func resolveRemoveWindowsCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:101915:12: */ _ = pWalker if (*Expr)(unsafe.Pointer(pExpr)).Fflags&U32(EP_WinFunc) != U32(0) { var pWin uintptr = *(*uintptr)(unsafe.Pointer(pExpr + 64)) @@ -94923,7 +94961,7 @@ func resolveRemoveWindowsCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 // Remove any Window objects owned by the expression pExpr from the // Select.pWin list of Select object pSelect. -func windowRemoveExprFromSelect(tls *libc.TLS, pSelect uintptr, pExpr uintptr) { /* sqlite3.c:101915:13: */ +func windowRemoveExprFromSelect(tls *libc.TLS, pSelect uintptr, pExpr uintptr) { /* sqlite3.c:101928:13: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -94955,7 +94993,7 @@ func windowRemoveExprFromSelect(tls *libc.TLS, pSelect uintptr, pExpr uintptr) { // This routine returns the number of errors. If errors occur, then // an appropriate error message might be left in pParse. (OOM errors // excepted.) -func resolveOrderGroupBy(tls *libc.TLS, pNC uintptr, pSelect uintptr, pOrderBy uintptr, zType uintptr) int32 { /* sqlite3.c:101946:12: */ +func resolveOrderGroupBy(tls *libc.TLS, pNC uintptr, pSelect uintptr, pOrderBy uintptr, zType uintptr) int32 { /* sqlite3.c:101959:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -95032,7 +95070,7 @@ __3: } // Resolve names in the SELECT statement p and all of its descendants. -func resolveSelectStep(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sqlite3.c:102009:12: */ +func resolveSelectStep(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sqlite3.c:102022:12: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -95331,7 +95369,7 @@ func resolveSelectStep(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sql // // An error message is left in pParse if anything is amiss. The number // if errors is returned. -func Xsqlite3ResolveExprNames(tls *libc.TLS, pNC uintptr, pExpr uintptr) int32 { /* sqlite3.c:102297:20: */ +func Xsqlite3ResolveExprNames(tls *libc.TLS, pNC uintptr, pExpr uintptr) int32 { /* sqlite3.c:102310:20: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -95372,7 +95410,7 @@ func Xsqlite3ResolveExprNames(tls *libc.TLS, pNC uintptr, pExpr uintptr) int32 { // Resolve all names for all expression in an expression list. This is // just like sqlite3ResolveExprNames() except that it works for an expression // list rather than a single expression. -func Xsqlite3ResolveExprListNames(tls *libc.TLS, pNC uintptr, pList uintptr) int32 { /* sqlite3.c:102336:20: */ +func Xsqlite3ResolveExprListNames(tls *libc.TLS, pNC uintptr, pList uintptr) int32 { /* sqlite3.c:102349:20: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -95429,7 +95467,7 @@ func Xsqlite3ResolveExprListNames(tls *libc.TLS, pNC uintptr, pList uintptr) int // // All SELECT statements should have been expanded using // sqlite3SelectExpand() prior to invoking this routine. -func Xsqlite3ResolveSelectNames(tls *libc.TLS, pParse uintptr, p uintptr, pOuterNC uintptr) { /* sqlite3.c:102392:21: */ +func Xsqlite3ResolveSelectNames(tls *libc.TLS, pParse uintptr, p uintptr, pOuterNC uintptr) { /* sqlite3.c:102405:21: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -95463,7 +95501,7 @@ func Xsqlite3ResolveSelectNames(tls *libc.TLS, pParse uintptr, p uintptr, pOuter // set to the column number. In case (4), TK_COLUMN nodes cause an error. // // Any errors cause an error message to be set in pParse. -func Xsqlite3ResolveSelfReference(tls *libc.TLS, pParse uintptr, pTab uintptr, type1 int32, pExpr uintptr, pList uintptr) int32 { /* sqlite3.c:102426:20: */ +func Xsqlite3ResolveSelfReference(tls *libc.TLS, pParse uintptr, pTab uintptr, type1 int32, pExpr uintptr, pList uintptr) int32 { /* sqlite3.c:102439:20: */ bp := tls.Alloc(176) defer tls.Free(176) @@ -95499,7 +95537,7 @@ func Xsqlite3ResolveSelfReference(tls *libc.TLS, pParse uintptr, pTab uintptr, t } // Return the affinity character for a single column of a table. -func Xsqlite3TableColumnAffinity(tls *libc.TLS, pTab uintptr, iCol int32) int8 { /* sqlite3.c:102486:21: */ +func Xsqlite3TableColumnAffinity(tls *libc.TLS, pTab uintptr, iCol int32) int8 { /* sqlite3.c:102499:21: */ if iCol < 0 || iCol >= int32((*Table)(unsafe.Pointer(pTab)).FnCol) { return int8(SQLITE_AFF_INTEGER) } @@ -95520,7 +95558,7 @@ func Xsqlite3TableColumnAffinity(tls *libc.TLS, pTab uintptr, iCol int32) int8 { // SELECT * FROM t1 WHERE a; // SELECT a AS b FROM t1 WHERE b; // SELECT * FROM t1 WHERE (select a from t1); -func Xsqlite3ExprAffinity(tls *libc.TLS, pExpr uintptr) int8 { /* sqlite3.c:102507:21: */ +func Xsqlite3ExprAffinity(tls *libc.TLS, pExpr uintptr) int8 { /* sqlite3.c:102520:21: */ var op int32 for (*Expr)(unsafe.Pointer(pExpr)).Fflags&U32(EP_Skip|EP_IfNullRow) != U32(0) { @@ -95563,7 +95601,7 @@ func Xsqlite3ExprAffinity(tls *libc.TLS, pExpr uintptr) int8 { /* sqlite3.c:1025 // // If a memory allocation error occurs, that fact is recorded in pParse->db // and the pExpr parameter is returned unchanged. -func Xsqlite3ExprAddCollateToken(tls *libc.TLS, pParse uintptr, pExpr uintptr, pCollName uintptr, dequote int32) uintptr { /* sqlite3.c:102560:21: */ +func Xsqlite3ExprAddCollateToken(tls *libc.TLS, pParse uintptr, pExpr uintptr, pCollName uintptr, dequote int32) uintptr { /* sqlite3.c:102573:21: */ if (*Token)(unsafe.Pointer(pCollName)).Fn > uint32(0) { var pNew uintptr = Xsqlite3ExprAlloc(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, TK_COLLATE, pCollName, dequote) if pNew != 0 { @@ -95575,7 +95613,7 @@ func Xsqlite3ExprAddCollateToken(tls *libc.TLS, pParse uintptr, pExpr uintptr, p return pExpr } -func Xsqlite3ExprAddCollateString(tls *libc.TLS, pParse uintptr, pExpr uintptr, zC uintptr) uintptr { /* sqlite3.c:102576:21: */ +func Xsqlite3ExprAddCollateString(tls *libc.TLS, pParse uintptr, pExpr uintptr, zC uintptr) uintptr { /* sqlite3.c:102589:21: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -95586,7 +95624,7 @@ func Xsqlite3ExprAddCollateString(tls *libc.TLS, pParse uintptr, pExpr uintptr, } // Skip over any TK_COLLATE operators. -func Xsqlite3ExprSkipCollate(tls *libc.TLS, pExpr uintptr) uintptr { /* sqlite3.c:102590:21: */ +func Xsqlite3ExprSkipCollate(tls *libc.TLS, pExpr uintptr) uintptr { /* sqlite3.c:102603:21: */ for pExpr != 0 && (*Expr)(unsafe.Pointer(pExpr)).Fflags&U32(EP_Skip) != U32(0) { pExpr = (*Expr)(unsafe.Pointer(pExpr)).FpLeft @@ -95597,7 +95635,7 @@ func Xsqlite3ExprSkipCollate(tls *libc.TLS, pExpr uintptr) uintptr { /* sqlite3. // Skip over any TK_COLLATE operators and/or any unlikely() // or likelihood() or likely() functions at the root of an // expression. -func Xsqlite3ExprSkipCollateAndLikely(tls *libc.TLS, pExpr uintptr) uintptr { /* sqlite3.c:102603:21: */ +func Xsqlite3ExprSkipCollateAndLikely(tls *libc.TLS, pExpr uintptr) uintptr { /* sqlite3.c:102616:21: */ for pExpr != 0 && (*Expr)(unsafe.Pointer(pExpr)).Fflags&U32(EP_Skip|EP_Unlikely) != U32(0) { if (*Expr)(unsafe.Pointer(pExpr)).Fflags&U32(EP_Unlikely) != U32(0) { @@ -95622,7 +95660,7 @@ func Xsqlite3ExprSkipCollateAndLikely(tls *libc.TLS, pExpr uintptr) uintptr { /* // or by the presence of a column with a defined collating sequence. // COLLATE operators take first precedence. Left operands take // precedence over right operands. -func Xsqlite3ExprCollSeq(tls *libc.TLS, pParse uintptr, pExpr uintptr) uintptr { /* sqlite3.c:102632:24: */ +func Xsqlite3ExprCollSeq(tls *libc.TLS, pParse uintptr, pExpr uintptr) uintptr { /* sqlite3.c:102645:24: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb var pColl uintptr = uintptr(0) var p uintptr = pExpr @@ -95694,7 +95732,7 @@ func Xsqlite3ExprCollSeq(tls *libc.TLS, pParse uintptr, pExpr uintptr) uintptr { // // The sqlite3ExprCollSeq() routine works the same except that it // returns NULL if there is no defined collation. -func Xsqlite3ExprNNCollSeq(tls *libc.TLS, pParse uintptr, pExpr uintptr) uintptr { /* sqlite3.c:102705:24: */ +func Xsqlite3ExprNNCollSeq(tls *libc.TLS, pParse uintptr, pExpr uintptr) uintptr { /* sqlite3.c:102718:24: */ var p uintptr = Xsqlite3ExprCollSeq(tls, pParse, pExpr) if p == uintptr(0) { p = (*Sqlite3)(unsafe.Pointer((*Parse)(unsafe.Pointer(pParse)).Fdb)).FpDfltColl @@ -95704,7 +95742,7 @@ func Xsqlite3ExprNNCollSeq(tls *libc.TLS, pParse uintptr, pExpr uintptr) uintptr } // Return TRUE if the two expressions have equivalent collating sequences. -func Xsqlite3ExprCollSeqMatch(tls *libc.TLS, pParse uintptr, pE1 uintptr, pE2 uintptr) int32 { /* sqlite3.c:102715:20: */ +func Xsqlite3ExprCollSeqMatch(tls *libc.TLS, pParse uintptr, pE1 uintptr, pE2 uintptr) int32 { /* sqlite3.c:102728:20: */ var pColl1 uintptr = Xsqlite3ExprNNCollSeq(tls, pParse, pE1) var pColl2 uintptr = Xsqlite3ExprNNCollSeq(tls, pParse, pE2) return libc.Bool32(Xsqlite3StrICmp(tls, (*CollSeq)(unsafe.Pointer(pColl1)).FzName, (*CollSeq)(unsafe.Pointer(pColl2)).FzName) == 0) @@ -95713,7 +95751,7 @@ func Xsqlite3ExprCollSeqMatch(tls *libc.TLS, pParse uintptr, pE1 uintptr, pE2 ui // pExpr is an operand of a comparison operator. aff2 is the // type affinity of the other operand. This routine returns the // type affinity that should be used for the comparison operator. -func Xsqlite3CompareAffinity(tls *libc.TLS, pExpr uintptr, aff2 int8) int8 { /* sqlite3.c:102726:21: */ +func Xsqlite3CompareAffinity(tls *libc.TLS, pExpr uintptr, aff2 int8) int8 { /* sqlite3.c:102739:21: */ var aff1 int8 = Xsqlite3ExprAffinity(tls, pExpr) if int32(aff1) > SQLITE_AFF_NONE && int32(aff2) > SQLITE_AFF_NONE { // Both sides of the comparison are columns. If one has numeric @@ -95738,7 +95776,7 @@ func Xsqlite3CompareAffinity(tls *libc.TLS, pExpr uintptr, aff2 int8) int8 { /* // pExpr is a comparison operator. Return the type affinity that should // be applied to both operands prior to doing the comparison. -func comparisonAffinity(tls *libc.TLS, pExpr uintptr) int8 { /* sqlite3.c:102748:13: */ +func comparisonAffinity(tls *libc.TLS, pExpr uintptr) int8 { /* sqlite3.c:102761:13: */ var aff int8 aff = Xsqlite3ExprAffinity(tls, (*Expr)(unsafe.Pointer(pExpr)).FpLeft) @@ -95756,7 +95794,7 @@ func comparisonAffinity(tls *libc.TLS, pExpr uintptr) int8 { /* sqlite3.c:102748 // idx_affinity is the affinity of an indexed column. Return true // if the index with affinity idx_affinity may be used to implement // the comparison in pExpr. -func Xsqlite3IndexAffinityOk(tls *libc.TLS, pExpr uintptr, idx_affinity int8) int32 { /* sqlite3.c:102771:20: */ +func Xsqlite3IndexAffinityOk(tls *libc.TLS, pExpr uintptr, idx_affinity int8) int32 { /* sqlite3.c:102784:20: */ var aff int8 = comparisonAffinity(tls, pExpr) if int32(aff) < SQLITE_AFF_TEXT { return 1 @@ -95769,7 +95807,7 @@ func Xsqlite3IndexAffinityOk(tls *libc.TLS, pExpr uintptr, idx_affinity int8) in // Return the P5 value that should be used for a binary comparison // opcode (OP_Eq, OP_Ge etc.) used to compare pExpr1 and pExpr2. -func binaryCompareP5(tls *libc.TLS, pExpr1 uintptr, pExpr2 uintptr, jumpIfNull int32) U8 { /* sqlite3.c:102786:11: */ +func binaryCompareP5(tls *libc.TLS, pExpr1 uintptr, pExpr2 uintptr, jumpIfNull int32) U8 { /* sqlite3.c:102799:11: */ var aff U8 = U8(Xsqlite3ExprAffinity(tls, pExpr2)) aff = U8(int32(U8(Xsqlite3CompareAffinity(tls, pExpr1, int8(aff)))) | int32(U8(jumpIfNull))) return aff @@ -95785,7 +95823,7 @@ func binaryCompareP5(tls *libc.TLS, pExpr1 uintptr, pExpr2 uintptr, jumpIfNull i // // Argument pRight (but not pLeft) may be a null pointer. In this case, // it is not considered. -func Xsqlite3BinaryCompareCollSeq(tls *libc.TLS, pParse uintptr, pLeft uintptr, pRight uintptr) uintptr { /* sqlite3.c:102808:24: */ +func Xsqlite3BinaryCompareCollSeq(tls *libc.TLS, pParse uintptr, pLeft uintptr, pRight uintptr) uintptr { /* sqlite3.c:102821:24: */ var pColl uintptr if (*Expr)(unsafe.Pointer(pLeft)).Fflags&U32(EP_Collate) != 0 { @@ -95808,7 +95846,7 @@ func Xsqlite3BinaryCompareCollSeq(tls *libc.TLS, pParse uintptr, pLeft uintptr, // However, if the OP_Commuted flag is set, then the order of the operands // is reversed in the sqlite3BinaryCompareCollSeq() call so that the // correct collating sequence is found. -func Xsqlite3ExprCompareCollSeq(tls *libc.TLS, pParse uintptr, p uintptr) uintptr { /* sqlite3.c:102836:24: */ +func Xsqlite3ExprCompareCollSeq(tls *libc.TLS, pParse uintptr, p uintptr) uintptr { /* sqlite3.c:102849:24: */ if (*Expr)(unsafe.Pointer(p)).Fflags&U32(EP_Commuted) != U32(0) { return Xsqlite3BinaryCompareCollSeq(tls, pParse, (*Expr)(unsafe.Pointer(p)).FpRight, (*Expr)(unsafe.Pointer(p)).FpLeft) } else { @@ -95818,7 +95856,7 @@ func Xsqlite3ExprCompareCollSeq(tls *libc.TLS, pParse uintptr, p uintptr) uintpt } // Generate code for a comparison operator. -func codeCompare(tls *libc.TLS, pParse uintptr, pLeft uintptr, pRight uintptr, opcode int32, in1 int32, in2 int32, dest int32, jumpIfNull int32, isCommuted int32) int32 { /* sqlite3.c:102847:12: */ +func codeCompare(tls *libc.TLS, pParse uintptr, pLeft uintptr, pRight uintptr, opcode int32, in1 int32, in2 int32, dest int32, jumpIfNull int32, isCommuted int32) int32 { /* sqlite3.c:102860:12: */ var p5 int32 var addr int32 var p4 uintptr @@ -95845,7 +95883,7 @@ func codeCompare(tls *libc.TLS, pParse uintptr, pLeft uintptr, pRight uintptr, o // parser will not generate a TK_VECTOR with fewer than two entries. // But a TK_SELECT might be either a vector or a scalar. It is only // considered a vector if it has two or more result columns. -func Xsqlite3ExprIsVector(tls *libc.TLS, pExpr uintptr) int32 { /* sqlite3.c:102883:20: */ +func Xsqlite3ExprIsVector(tls *libc.TLS, pExpr uintptr) int32 { /* sqlite3.c:102896:20: */ return libc.Bool32(Xsqlite3ExprVectorSize(tls, pExpr) > 1) } @@ -95853,7 +95891,7 @@ func Xsqlite3ExprIsVector(tls *libc.TLS, pExpr uintptr) int32 { /* sqlite3.c:102 // return the number of expressions in the vector. Or, if the expression // is a sub-select, return the number of columns in the sub-select. For // any other type of expression, return 1. -func Xsqlite3ExprVectorSize(tls *libc.TLS, pExpr uintptr) int32 { /* sqlite3.c:102893:20: */ +func Xsqlite3ExprVectorSize(tls *libc.TLS, pExpr uintptr) int32 { /* sqlite3.c:102906:20: */ var op U8 = (*Expr)(unsafe.Pointer(pExpr)).Fop if int32(op) == TK_REGISTER { op = (*Expr)(unsafe.Pointer(pExpr)).Fop2 @@ -95883,7 +95921,7 @@ func Xsqlite3ExprVectorSize(tls *libc.TLS, pExpr uintptr) int32 { /* sqlite3.c:1 // just the expression for the i-th term of the result set, and may // not be ready for evaluation because the table cursor has not yet // been positioned. -func Xsqlite3VectorFieldSubexpr(tls *libc.TLS, pVector uintptr, i int32) uintptr { /* sqlite3.c:102922:21: */ +func Xsqlite3VectorFieldSubexpr(tls *libc.TLS, pVector uintptr, i int32) uintptr { /* sqlite3.c:102935:21: */ if Xsqlite3ExprIsVector(tls, pVector) != 0 { @@ -95917,7 +95955,7 @@ func Xsqlite3VectorFieldSubexpr(tls *libc.TLS, pVector uintptr, i int32) uintptr // A trick to cause a TK_SELECT pVector to be deleted together with // the returned Expr object is to attach the pVector to the pRight field // of the returned TK_SELECT_COLUMN Expr object. -func Xsqlite3ExprForVectorField(tls *libc.TLS, pParse uintptr, pVector uintptr, iField int32, nField int32) uintptr { /* sqlite3.c:102958:21: */ +func Xsqlite3ExprForVectorField(tls *libc.TLS, pParse uintptr, pVector uintptr, iField int32, nField int32) uintptr { /* sqlite3.c:102971:21: */ var pRet uintptr if int32((*Expr)(unsafe.Pointer(pVector)).Fop) == TK_SELECT { @@ -95965,7 +96003,7 @@ func Xsqlite3ExprForVectorField(tls *libc.TLS, pParse uintptr, pVector uintptr, // of registers in which the result is stored). // // If pExpr is not a TK_SELECT expression, return 0. -func exprCodeSubselect(tls *libc.TLS, pParse uintptr, pExpr uintptr) int32 { /* sqlite3.c:103014:12: */ +func exprCodeSubselect(tls *libc.TLS, pParse uintptr, pExpr uintptr) int32 { /* sqlite3.c:103027:12: */ var reg int32 = 0 if int32((*Expr)(unsafe.Pointer(pExpr)).Fop) == TK_SELECT { reg = Xsqlite3CodeSubselect(tls, pParse, pExpr) @@ -95989,7 +96027,7 @@ func exprCodeSubselect(tls *libc.TLS, pParse uintptr, pExpr uintptr) int32 { /* // // Before returning, output parameter (*ppExpr) is set to point to the // Expr object corresponding to element iElem of the vector. -func exprVectorRegister(tls *libc.TLS, pParse uintptr, pVector uintptr, iField int32, regSelect int32, ppExpr uintptr, pRegFree uintptr) int32 { /* sqlite3.c:103042:12: */ +func exprVectorRegister(tls *libc.TLS, pParse uintptr, pVector uintptr, iField int32, regSelect int32, ppExpr uintptr, pRegFree uintptr) int32 { /* sqlite3.c:103055:12: */ var op U8 = (*Expr)(unsafe.Pointer(pVector)).Fop if int32(op) == TK_REGISTER { @@ -96018,7 +96056,7 @@ func exprVectorRegister(tls *libc.TLS, pParse uintptr, pVector uintptr, iField i // if pExpr->op==TK_IS: op==TK_EQ and p5==SQLITE_NULLEQ // if pExpr->op==TK_ISNOT: op==TK_NE and p5==SQLITE_NULLEQ // otherwise: op==pExpr->op and p5==0 -func codeVectorCompare(tls *libc.TLS, pParse uintptr, pExpr uintptr, dest int32, op U8, p5 U8) { /* sqlite3.c:103080:13: */ +func codeVectorCompare(tls *libc.TLS, pParse uintptr, pExpr uintptr, dest int32, op U8, p5 U8) { /* sqlite3.c:103093:13: */ bp := tls.Alloc(28) defer tls.Free(28) @@ -96106,7 +96144,7 @@ func codeVectorCompare(tls *libc.TLS, pParse uintptr, pExpr uintptr, dest int32, // Check that argument nHeight is less than or equal to the maximum // expression depth allowed. If it is not, leave an error message in // pParse. -func Xsqlite3ExprCheckHeight(tls *libc.TLS, pParse uintptr, nHeight int32) int32 { /* sqlite3.c:103175:20: */ +func Xsqlite3ExprCheckHeight(tls *libc.TLS, pParse uintptr, nHeight int32) int32 { /* sqlite3.c:103188:20: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -96128,7 +96166,7 @@ func Xsqlite3ExprCheckHeight(tls *libc.TLS, pParse uintptr, nHeight int32) int32 // If this maximum height is greater than the current value pointed // to by pnHeight, the second parameter, then set *pnHeight to that // value. -func heightOfExpr(tls *libc.TLS, p uintptr, pnHeight uintptr) { /* sqlite3.c:103196:13: */ +func heightOfExpr(tls *libc.TLS, p uintptr, pnHeight uintptr) { /* sqlite3.c:103209:13: */ if p != 0 { if (*Expr)(unsafe.Pointer(p)).FnHeight > *(*int32)(unsafe.Pointer(pnHeight)) { *(*int32)(unsafe.Pointer(pnHeight)) = (*Expr)(unsafe.Pointer(p)).FnHeight @@ -96136,7 +96174,7 @@ func heightOfExpr(tls *libc.TLS, p uintptr, pnHeight uintptr) { /* sqlite3.c:103 } } -func heightOfExprList(tls *libc.TLS, p uintptr, pnHeight uintptr) { /* sqlite3.c:103203:13: */ +func heightOfExprList(tls *libc.TLS, p uintptr, pnHeight uintptr) { /* sqlite3.c:103216:13: */ if p != 0 { var i int32 for i = 0; i < (*ExprList)(unsafe.Pointer(p)).FnExpr; i++ { @@ -96145,7 +96183,7 @@ func heightOfExprList(tls *libc.TLS, p uintptr, pnHeight uintptr) { /* sqlite3.c } } -func heightOfSelect(tls *libc.TLS, pSelect uintptr, pnHeight uintptr) { /* sqlite3.c:103211:13: */ +func heightOfSelect(tls *libc.TLS, pSelect uintptr, pnHeight uintptr) { /* sqlite3.c:103224:13: */ var p uintptr for p = pSelect; p != 0; p = (*Select)(unsafe.Pointer(p)).FpPrior { heightOfExpr(tls, (*Select)(unsafe.Pointer(p)).FpWhere, pnHeight) @@ -96165,7 +96203,7 @@ func heightOfSelect(tls *libc.TLS, pSelect uintptr, pnHeight uintptr) { /* sqlit // // Also propagate EP_Propagate flags up from Expr.x.pList to Expr.flags, // if appropriate. -func exprSetHeight(tls *libc.TLS, p uintptr) { /* sqlite3.c:103233:13: */ +func exprSetHeight(tls *libc.TLS, p uintptr) { /* sqlite3.c:103246:13: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -96192,7 +96230,7 @@ func exprSetHeight(tls *libc.TLS, p uintptr) { /* sqlite3.c:103233:13: */ // // Also propagate all EP_Propagate flags from the Expr.x.pList into // Expr.flags. -func Xsqlite3ExprSetHeightAndFlags(tls *libc.TLS, pParse uintptr, p uintptr) { /* sqlite3.c:103253:21: */ +func Xsqlite3ExprSetHeightAndFlags(tls *libc.TLS, pParse uintptr, p uintptr) { /* sqlite3.c:103266:21: */ if (*Parse)(unsafe.Pointer(pParse)).FnErr != 0 { return } @@ -96202,7 +96240,7 @@ func Xsqlite3ExprSetHeightAndFlags(tls *libc.TLS, pParse uintptr, p uintptr) { / // Return the maximum height of any expression tree referenced // by the select statement passed as an argument. -func Xsqlite3SelectExprHeight(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:103263:20: */ +func Xsqlite3SelectExprHeight(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:103276:20: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -96229,7 +96267,7 @@ func Xsqlite3SelectExprHeight(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:103 // stored in u.zToken. Instead, the integer values is written // into u.iValue and the EP_IntValue flag is set. No extra storage // is allocated to hold the integer text and the dequote flag is ignored. -func Xsqlite3ExprAlloc(tls *libc.TLS, db uintptr, op int32, pToken uintptr, dequote int32) uintptr { /* sqlite3.c:103302:21: */ +func Xsqlite3ExprAlloc(tls *libc.TLS, db uintptr, op int32, pToken uintptr, dequote int32) uintptr { /* sqlite3.c:103315:21: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -96277,7 +96315,7 @@ func Xsqlite3ExprAlloc(tls *libc.TLS, db uintptr, op int32, pToken uintptr, dequ // Allocate a new expression node from a zero-terminated token that has // already been dequoted. -func Xsqlite3Expr(tls *libc.TLS, db uintptr, op int32, zToken uintptr) uintptr { /* sqlite3.c:103350:21: */ +func Xsqlite3Expr(tls *libc.TLS, db uintptr, op int32, zToken uintptr) uintptr { /* sqlite3.c:103363:21: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -96292,7 +96330,7 @@ func Xsqlite3Expr(tls *libc.TLS, db uintptr, op int32, zToken uintptr) uintptr { // // If pRoot==NULL that means that a memory allocation error has occurred. // In that case, delete the subtrees pLeft and pRight. -func Xsqlite3ExprAttachSubtrees(tls *libc.TLS, db uintptr, pRoot uintptr, pLeft uintptr, pRight uintptr) { /* sqlite3.c:103367:21: */ +func Xsqlite3ExprAttachSubtrees(tls *libc.TLS, db uintptr, pRoot uintptr, pLeft uintptr, pRight uintptr) { /* sqlite3.c:103380:21: */ if pRoot == uintptr(0) { Xsqlite3ExprDelete(tls, db, pLeft) @@ -96315,7 +96353,7 @@ func Xsqlite3ExprAttachSubtrees(tls *libc.TLS, db uintptr, pRoot uintptr, pLeft // One or both of the subtrees can be NULL. Return a pointer to the new // Expr node. Or, if an OOM error occurs, set pParse->db->mallocFailed, // free the subtrees and return NULL. -func Xsqlite3PExpr(tls *libc.TLS, pParse uintptr, op int32, pLeft uintptr, pRight uintptr) uintptr { /* sqlite3.c:103397:21: */ +func Xsqlite3PExpr(tls *libc.TLS, pParse uintptr, op int32, pLeft uintptr, pRight uintptr) uintptr { /* sqlite3.c:103410:21: */ var p uintptr p = Xsqlite3DbMallocRawNN(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, uint64(unsafe.Sizeof(Expr{}))) if p != 0 { @@ -96333,7 +96371,7 @@ func Xsqlite3PExpr(tls *libc.TLS, pParse uintptr, op int32, pLeft uintptr, pRigh // Add pSelect to the Expr.x.pSelect field. Or, if pExpr is NULL (due // do a memory allocation failure) then delete the pSelect object. -func Xsqlite3PExprAddSelect(tls *libc.TLS, pParse uintptr, pExpr uintptr, pSelect uintptr) { /* sqlite3.c:103422:21: */ +func Xsqlite3PExprAddSelect(tls *libc.TLS, pParse uintptr, pExpr uintptr, pSelect uintptr) { /* sqlite3.c:103435:21: */ if pExpr != 0 { *(*uintptr)(unsafe.Pointer(pExpr + 32)) = pSelect *(*U32)(unsafe.Pointer(pExpr + 4)) |= U32(EP_xIsSelect | EP_Subquery) @@ -96361,7 +96399,7 @@ func Xsqlite3PExprAddSelect(tls *libc.TLS, pParse uintptr, pExpr uintptr, pSelec // // This is used as part of processing IN(...) expressions with a list // of vectors on the RHS. e.g. "... IN ((1,2), (3,4), (5,6))". -func Xsqlite3ExprListToValues(tls *libc.TLS, pParse uintptr, nElem int32, pEList uintptr) uintptr { /* sqlite3.c:103452:23: */ +func Xsqlite3ExprListToValues(tls *libc.TLS, pParse uintptr, nElem int32, pEList uintptr) uintptr { /* sqlite3.c:103465:23: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -96413,7 +96451,7 @@ func Xsqlite3ExprListToValues(tls *libc.TLS, pParse uintptr, nElem int32, pEList // If one side or the other of the AND is known to be false, then instead // of returning an AND expression, just return a constant expression with // a value of false. -func Xsqlite3ExprAnd(tls *libc.TLS, pParse uintptr, pLeft uintptr, pRight uintptr) uintptr { /* sqlite3.c:103499:21: */ +func Xsqlite3ExprAnd(tls *libc.TLS, pParse uintptr, pLeft uintptr, pRight uintptr) uintptr { /* sqlite3.c:103512:21: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb if pLeft == uintptr(0) { return pRight @@ -96432,7 +96470,7 @@ func Xsqlite3ExprAnd(tls *libc.TLS, pParse uintptr, pLeft uintptr, pRight uintpt // Construct a new expression node for a function with multiple // arguments. -func Xsqlite3ExprFunction(tls *libc.TLS, pParse uintptr, pList uintptr, pToken uintptr, eDistinct int32) uintptr { /* sqlite3.c:103520:21: */ +func Xsqlite3ExprFunction(tls *libc.TLS, pParse uintptr, pList uintptr, pToken uintptr, eDistinct int32) uintptr { /* sqlite3.c:103533:21: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -96469,7 +96507,7 @@ func Xsqlite3ExprFunction(tls *libc.TLS, pParse uintptr, pList uintptr, pToken u // top-level SQL // // If the function is not usable, create an error. -func Xsqlite3ExprFunctionUsable(tls *libc.TLS, pParse uintptr, pExpr uintptr, pDef uintptr) { /* sqlite3.c:103560:21: */ +func Xsqlite3ExprFunctionUsable(tls *libc.TLS, pParse uintptr, pExpr uintptr, pDef uintptr) { /* sqlite3.c:103573:21: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -96501,7 +96539,7 @@ func Xsqlite3ExprFunctionUsable(tls *libc.TLS, pParse uintptr, pExpr uintptr, pD // as the previous instance of the same wildcard. Or if this is the first // instance of the wildcard, the next sequential variable number is // assigned. -func Xsqlite3ExprAssignVarNumber(tls *libc.TLS, pParse uintptr, pExpr uintptr, n U32) { /* sqlite3.c:103599:21: */ +func Xsqlite3ExprAssignVarNumber(tls *libc.TLS, pParse uintptr, pExpr uintptr, n U32) { /* sqlite3.c:103612:21: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -96569,7 +96607,7 @@ func Xsqlite3ExprAssignVarNumber(tls *libc.TLS, pParse uintptr, pExpr uintptr, n } // Recursively delete an expression tree. -func sqlite3ExprDeleteNN(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:103669:29: */ +func sqlite3ExprDeleteNN(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:103682:29: */ if !((*Expr)(unsafe.Pointer(p)).Fflags&U32(EP_TokenOnly|EP_Leaf) != U32(0)) { // The Expr.x union is never used at the same time as Expr.pRight @@ -96599,7 +96637,7 @@ func sqlite3ExprDeleteNN(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:10 } } -func Xsqlite3ExprDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:103710:21: */ +func Xsqlite3ExprDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:103723:21: */ if p != 0 { sqlite3ExprDeleteNN(tls, db, p) } @@ -96613,13 +96651,13 @@ func Xsqlite3ExprDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:103 // // The deferred delete is (currently) implemented by adding the // pExpr to the pParse->pConstExpr list with a register number of 0. -func Xsqlite3ExprDeferredDelete(tls *libc.TLS, pParse uintptr, pExpr uintptr) { /* sqlite3.c:103725:21: */ +func Xsqlite3ExprDeferredDelete(tls *libc.TLS, pParse uintptr, pExpr uintptr) { /* sqlite3.c:103738:21: */ (*Parse)(unsafe.Pointer(pParse)).FpConstExpr = Xsqlite3ExprListAppend(tls, pParse, (*Parse)(unsafe.Pointer(pParse)).FpConstExpr, pExpr) } // Invoke sqlite3RenameExprUnmap() and sqlite3ExprDelete() on the // expression. -func Xsqlite3ExprUnmapAndDelete(tls *libc.TLS, pParse uintptr, p uintptr) { /* sqlite3.c:103733:21: */ +func Xsqlite3ExprUnmapAndDelete(tls *libc.TLS, pParse uintptr, p uintptr) { /* sqlite3.c:103746:21: */ if p != 0 { if int32((*Parse)(unsafe.Pointer(pParse)).FeParseMode) >= PARSE_MODE_RENAME { Xsqlite3RenameExprUnmap(tls, pParse, p) @@ -96631,7 +96669,7 @@ func Xsqlite3ExprUnmapAndDelete(tls *libc.TLS, pParse uintptr, p uintptr) { /* s // Return the number of bytes allocated for the expression structure // passed as the first argument. This is always one of EXPR_FULLSIZE, // EXPR_REDUCEDSIZE or EXPR_TOKENONLYSIZE. -func exprStructSize(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:103747:12: */ +func exprStructSize(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:103760:12: */ if (*Expr)(unsafe.Pointer(p)).Fflags&U32(EP_TokenOnly) != U32(0) { return int32(uintptr(0) + 16) } @@ -96673,7 +96711,7 @@ func exprStructSize(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:103747:12: */ // to reduce a pristine expression tree from the parser. The implementation // of dupedExprStructSize() contain multiple assert() statements that attempt // to enforce this constraint. -func dupedExprStructSize(tls *libc.TLS, p uintptr, flags int32) int32 { /* sqlite3.c:103787:12: */ +func dupedExprStructSize(tls *libc.TLS, p uintptr, flags int32) int32 { /* sqlite3.c:103800:12: */ var nSize int32 // Only one flag value allowed @@ -96695,7 +96733,7 @@ func dupedExprStructSize(tls *libc.TLS, p uintptr, flags int32) int32 { /* sqlit // This function returns the space in bytes required to store the copy // of the Expr structure and a copy of the Expr.u.zToken string (if that // string is defined.) -func dupedExprNodeSize(tls *libc.TLS, p uintptr, flags int32) int32 { /* sqlite3.c:103818:12: */ +func dupedExprNodeSize(tls *libc.TLS, p uintptr, flags int32) int32 { /* sqlite3.c:103831:12: */ var nByte int32 = dupedExprStructSize(tls, p, flags) & 0xfff if !((*Expr)(unsafe.Pointer(p)).Fflags&U32(EP_IntValue) != U32(0)) && *(*uintptr)(unsafe.Pointer(p + 8)) != 0 { nByte = int32(Size_t(nByte) + (libc.Xstrlen(tls, *(*uintptr)(unsafe.Pointer(p + 8)))&uint64(0x3fffffff) + uint64(1))) @@ -96714,7 +96752,7 @@ func dupedExprNodeSize(tls *libc.TLS, p uintptr, flags int32) int32 { /* sqlite3 // space to duplicate all Expr nodes in the tree formed by Expr.pLeft // and Expr.pRight variables (but not for any structures pointed to or // descended from the Expr.x.pList or Expr.x.pSelect variables). -func dupedExprSize(tls *libc.TLS, p uintptr, flags int32) int32 { /* sqlite3.c:103839:12: */ +func dupedExprSize(tls *libc.TLS, p uintptr, flags int32) int32 { /* sqlite3.c:103852:12: */ var nByte int32 = 0 if p != 0 { nByte = dupedExprNodeSize(tls, p, flags) @@ -96731,7 +96769,7 @@ func dupedExprSize(tls *libc.TLS, p uintptr, flags int32) int32 { /* sqlite3.c:1 // (if applicable), and the copies of the p->pLeft and p->pRight expressions, // if any. Before returning, *pzBuffer is set to the first byte past the // portion of the buffer copied into by this function. -func exprDup(tls *libc.TLS, db uintptr, p uintptr, dupFlags int32, pzBuffer uintptr) uintptr { /* sqlite3.c:103858:13: */ +func exprDup(tls *libc.TLS, db uintptr, p uintptr, dupFlags int32, pzBuffer uintptr) uintptr { /* sqlite3.c:103871:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -96841,7 +96879,7 @@ func exprDup(tls *libc.TLS, db uintptr, p uintptr, dupFlags int32, pzBuffer uint // Create and return a deep copy of the object passed as the second // argument. If an OOM condition is encountered, NULL is returned // and the db->mallocFailed flag set. -func Xsqlite3WithDup(tls *libc.TLS, db uintptr, p uintptr) uintptr { /* sqlite3.c:103968:21: */ +func Xsqlite3WithDup(tls *libc.TLS, db uintptr, p uintptr) uintptr { /* sqlite3.c:103981:21: */ var pRet uintptr = uintptr(0) if p != 0 { var nByte Sqlite3_int64 = Sqlite3_int64(uint64(unsafe.Sizeof(With{})) + uint64(unsafe.Sizeof(Cte{}))*uint64((*With)(unsafe.Pointer(p)).FnCte-1)) @@ -96863,7 +96901,7 @@ func Xsqlite3WithDup(tls *libc.TLS, db uintptr, p uintptr) uintptr { /* sqlite3. // gatherSelectWindowsCallback() are used to scan all the expressions // an a newly duplicated SELECT statement and gather all of the Window // objects found there, assembling them onto the linked list at Select->pWin. -func gatherSelectWindowsCallback(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:103996:12: */ +func gatherSelectWindowsCallback(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:104009:12: */ if int32((*Expr)(unsafe.Pointer(pExpr)).Fop) == TK_FUNCTION && (*Expr)(unsafe.Pointer(pExpr)).Fflags&U32(EP_WinFunc) != U32(0) { var pSelect uintptr = *(*uintptr)(unsafe.Pointer(pWalker + 40)) var pWin uintptr = *(*uintptr)(unsafe.Pointer(pExpr + 64)) @@ -96873,14 +96911,14 @@ func gatherSelectWindowsCallback(tls *libc.TLS, pWalker uintptr, pExpr uintptr) return WRC_Continue } -func gatherSelectWindowsSelectCallback(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sqlite3.c:104007:12: */ +func gatherSelectWindowsSelectCallback(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sqlite3.c:104020:12: */ if p == *(*uintptr)(unsafe.Pointer(pWalker + 40)) { return WRC_Continue } return WRC_Prune } -func gatherSelectWindows(tls *libc.TLS, p uintptr) { /* sqlite3.c:104010:13: */ +func gatherSelectWindows(tls *libc.TLS, p uintptr) { /* sqlite3.c:104023:13: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -96913,7 +96951,7 @@ func gatherSelectWindows(tls *libc.TLS, p uintptr) { /* sqlite3.c:104010:13: */ // If the EXPRDUP_REDUCE flag is set, then the structure returned is a // truncated version of the usual Expr structure that will be stored as // part of the in-memory representation of the database schema. -func Xsqlite3ExprDup(tls *libc.TLS, db uintptr, p uintptr, flags int32) uintptr { /* sqlite3.c:104039:21: */ +func Xsqlite3ExprDup(tls *libc.TLS, db uintptr, p uintptr, flags int32) uintptr { /* sqlite3.c:104052:21: */ if p != 0 { return exprDup(tls, db, p, flags, uintptr(0)) @@ -96921,7 +96959,7 @@ func Xsqlite3ExprDup(tls *libc.TLS, db uintptr, p uintptr, flags int32) uintptr return uintptr(0) } -func Xsqlite3ExprListDup(tls *libc.TLS, db uintptr, p uintptr, flags int32) uintptr { /* sqlite3.c:104043:25: */ +func Xsqlite3ExprListDup(tls *libc.TLS, db uintptr, p uintptr, flags int32) uintptr { /* sqlite3.c:104056:25: */ var pNew uintptr var pItem uintptr var pOldItem uintptr @@ -96990,7 +97028,7 @@ __3: // the build, then none of the following routines, except for // sqlite3SelectDup(), can be called. sqlite3SelectDup() is sometimes // called with a NULL argument. -func Xsqlite3SrcListDup(tls *libc.TLS, db uintptr, p uintptr, flags int32) uintptr { /* sqlite3.c:104098:24: */ +func Xsqlite3SrcListDup(tls *libc.TLS, db uintptr, p uintptr, flags int32) uintptr { /* sqlite3.c:104111:24: */ var pNew uintptr var i int32 var nByte int32 @@ -97043,7 +97081,7 @@ func Xsqlite3SrcListDup(tls *libc.TLS, db uintptr, p uintptr, flags int32) uintp return pNew } -func Xsqlite3IdListDup(tls *libc.TLS, db uintptr, p uintptr) uintptr { /* sqlite3.c:104142:23: */ +func Xsqlite3IdListDup(tls *libc.TLS, db uintptr, p uintptr) uintptr { /* sqlite3.c:104155:23: */ var pNew uintptr var i int32 @@ -97072,7 +97110,7 @@ func Xsqlite3IdListDup(tls *libc.TLS, db uintptr, p uintptr) uintptr { /* sqlite return pNew } -func Xsqlite3SelectDup(tls *libc.TLS, db uintptr, pDup uintptr, flags int32) uintptr { /* sqlite3.c:104166:23: */ +func Xsqlite3SelectDup(tls *libc.TLS, db uintptr, pDup uintptr, flags int32) uintptr { /* sqlite3.c:104179:23: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -97138,9 +97176,9 @@ func Xsqlite3SelectDup(tls *libc.TLS, db uintptr, pDup uintptr, flags int32) uin // If a memory allocation error occurs, the entire list is freed and // NULL is returned. If non-NULL is returned, then it is guaranteed // that the new entry was successfully appended. -var zeroItem = ExprList_item{} /* sqlite3.c:104237:35 */ +var zeroItem = ExprList_item{} /* sqlite3.c:104250:35 */ -func Xsqlite3ExprListAppendNew(tls *libc.TLS, db uintptr, pExpr uintptr) uintptr { /* sqlite3.c:104238:41: */ +func Xsqlite3ExprListAppendNew(tls *libc.TLS, db uintptr, pExpr uintptr) uintptr { /* sqlite3.c:104251:41: */ var pItem uintptr var pList uintptr @@ -97157,7 +97195,7 @@ func Xsqlite3ExprListAppendNew(tls *libc.TLS, db uintptr, pExpr uintptr) uintptr return pList } -func Xsqlite3ExprListAppendGrow(tls *libc.TLS, db uintptr, pList uintptr, pExpr uintptr) uintptr { /* sqlite3.c:104257:41: */ +func Xsqlite3ExprListAppendGrow(tls *libc.TLS, db uintptr, pList uintptr, pExpr uintptr) uintptr { /* sqlite3.c:104270:41: */ var pItem uintptr var pNew uintptr *(*int32)(unsafe.Pointer(pList + 4)) *= 2 @@ -97176,7 +97214,7 @@ func Xsqlite3ExprListAppendGrow(tls *libc.TLS, db uintptr, pList uintptr, pExpr return pList } -func Xsqlite3ExprListAppend(tls *libc.TLS, pParse uintptr, pList uintptr, pExpr uintptr) uintptr { /* sqlite3.c:104279:25: */ +func Xsqlite3ExprListAppend(tls *libc.TLS, pParse uintptr, pList uintptr, pExpr uintptr) uintptr { /* sqlite3.c:104292:25: */ var pItem uintptr if pList == uintptr(0) { return Xsqlite3ExprListAppendNew(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, pExpr) @@ -97199,7 +97237,7 @@ func Xsqlite3ExprListAppend(tls *libc.TLS, pParse uintptr, pList uintptr, pExpr // For each term of the vector assignment, append new entries to the // expression list pList. In the case of a subquery on the RHS, append // TK_SELECT_COLUMN expressions. -func Xsqlite3ExprListAppendVector(tls *libc.TLS, pParse uintptr, pList uintptr, pColumns uintptr, pExpr uintptr) uintptr { /* sqlite3.c:104308:25: */ +func Xsqlite3ExprListAppendVector(tls *libc.TLS, pParse uintptr, pList uintptr, pColumns uintptr, pExpr uintptr) uintptr { /* sqlite3.c:104321:25: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -97296,7 +97334,7 @@ vector_append_error: } // Set the sort order for the last element on the given ExprList. -func Xsqlite3ExprListSetSortOrder(tls *libc.TLS, p uintptr, iSortOrder int32, eNulls int32) { /* sqlite3.c:104370:21: */ +func Xsqlite3ExprListSetSortOrder(tls *libc.TLS, p uintptr, iSortOrder int32, eNulls int32) { /* sqlite3.c:104383:21: */ var pItem uintptr if p == uintptr(0) { return @@ -97323,7 +97361,7 @@ func Xsqlite3ExprListSetSortOrder(tls *libc.TLS, p uintptr, iSortOrder int32, eN // pList might be NULL following an OOM error. But pName should never be // NULL. If a memory allocation fails, the pParse->db->mallocFailed flag // is set. -func Xsqlite3ExprListSetName(tls *libc.TLS, pParse uintptr, pList uintptr, pName uintptr, dequote int32) { /* sqlite3.c:104408:21: */ +func Xsqlite3ExprListSetName(tls *libc.TLS, pParse uintptr, pList uintptr, pName uintptr, dequote int32) { /* sqlite3.c:104421:21: */ if pList != 0 { var pItem uintptr @@ -97349,7 +97387,7 @@ func Xsqlite3ExprListSetName(tls *libc.TLS, pParse uintptr, pList uintptr, pName // pList might be NULL following an OOM error. But pSpan should never be // NULL. If a memory allocation fails, the pParse->db->mallocFailed flag // is set. -func Xsqlite3ExprListSetSpan(tls *libc.TLS, pParse uintptr, pList uintptr, zStart uintptr, zEnd uintptr) { /* sqlite3.c:104443:21: */ +func Xsqlite3ExprListSetSpan(tls *libc.TLS, pParse uintptr, pList uintptr, zStart uintptr, zEnd uintptr) { /* sqlite3.c:104456:21: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb if pList != 0 { @@ -97364,7 +97402,7 @@ func Xsqlite3ExprListSetSpan(tls *libc.TLS, pParse uintptr, pList uintptr, zStar // If the expression list pEList contains more than iLimit elements, // leave an error message in pParse. -func Xsqlite3ExprListCheckLength(tls *libc.TLS, pParse uintptr, pEList uintptr, zObject uintptr) { /* sqlite3.c:104465:21: */ +func Xsqlite3ExprListCheckLength(tls *libc.TLS, pParse uintptr, pEList uintptr, zObject uintptr) { /* sqlite3.c:104478:21: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -97376,7 +97414,7 @@ func Xsqlite3ExprListCheckLength(tls *libc.TLS, pParse uintptr, pEList uintptr, } // Delete an entire expression list. -func exprListDeleteNN(tls *libc.TLS, db uintptr, pList uintptr) { /* sqlite3.c:104481:29: */ +func exprListDeleteNN(tls *libc.TLS, db uintptr, pList uintptr) { /* sqlite3.c:104494:29: */ var i int32 = (*ExprList)(unsafe.Pointer(pList)).FnExpr var pItem uintptr = pList + 8 /* &.a */ @@ -97388,7 +97426,7 @@ func exprListDeleteNN(tls *libc.TLS, db uintptr, pList uintptr) { /* sqlite3.c:1 Xsqlite3DbFreeNN(tls, db, pList) } -func Xsqlite3ExprListDelete(tls *libc.TLS, db uintptr, pList uintptr) { /* sqlite3.c:104492:21: */ +func Xsqlite3ExprListDelete(tls *libc.TLS, db uintptr, pList uintptr) { /* sqlite3.c:104505:21: */ if pList != 0 { exprListDeleteNN(tls, db, pList) } @@ -97396,7 +97434,7 @@ func Xsqlite3ExprListDelete(tls *libc.TLS, db uintptr, pList uintptr) { /* sqlit // Return the bitwise-OR of all Expr.flags fields in the given // ExprList. -func Xsqlite3ExprListFlags(tls *libc.TLS, pList uintptr) U32 { /* sqlite3.c:104500:20: */ +func Xsqlite3ExprListFlags(tls *libc.TLS, pList uintptr) U32 { /* sqlite3.c:104513:20: */ var i int32 var m U32 = U32(0) @@ -97413,7 +97451,7 @@ func Xsqlite3ExprListFlags(tls *libc.TLS, pList uintptr) U32 { /* sqlite3.c:1045 // pWalker->eCode to zero and abort. // // This callback is used by multiple expression walkers. -func Xsqlite3SelectWalkFail(tls *libc.TLS, pWalker uintptr, NotUsed uintptr) int32 { /* sqlite3.c:104519:20: */ +func Xsqlite3SelectWalkFail(tls *libc.TLS, pWalker uintptr, NotUsed uintptr) int32 { /* sqlite3.c:104532:20: */ _ = NotUsed (*Walker)(unsafe.Pointer(pWalker)).FeCode = U16(0) return WRC_Abort @@ -97425,7 +97463,7 @@ func Xsqlite3SelectWalkFail(tls *libc.TLS, pWalker uintptr, NotUsed uintptr) int // "true" EP_IsTrue // "false" EP_IsFalse // anything else 0 -func Xsqlite3IsTrueOrFalse(tls *libc.TLS, zIn uintptr) U32 { /* sqlite3.c:104533:20: */ +func Xsqlite3IsTrueOrFalse(tls *libc.TLS, zIn uintptr) U32 { /* sqlite3.c:104546:20: */ if Xsqlite3StrICmp(tls, zIn, ts+7049) == 0 { return U32(EP_IsTrue) } @@ -97438,7 +97476,7 @@ func Xsqlite3IsTrueOrFalse(tls *libc.TLS, zIn uintptr) U32 { /* sqlite3.c:104533 // If the input expression is an ID with the name "true" or "false" // then convert it into an TK_TRUEFALSE term. Return non-zero if // the conversion happened, and zero if the expression is unaltered. -func Xsqlite3ExprIdToTrueFalse(tls *libc.TLS, pExpr uintptr) int32 { /* sqlite3.c:104545:20: */ +func Xsqlite3ExprIdToTrueFalse(tls *libc.TLS, pExpr uintptr) int32 { /* sqlite3.c:104558:20: */ var v U32 if !((*Expr)(unsafe.Pointer(pExpr)).Fflags&U32(EP_Quoted|EP_IntValue) != U32(0)) && @@ -97452,7 +97490,7 @@ func Xsqlite3ExprIdToTrueFalse(tls *libc.TLS, pExpr uintptr) int32 { /* sqlite3. // The argument must be a TK_TRUEFALSE Expr node. Return 1 if it is TRUE // and 0 if it is FALSE. -func Xsqlite3ExprTruthValue(tls *libc.TLS, pExpr uintptr) int32 { /* sqlite3.c:104562:20: */ +func Xsqlite3ExprTruthValue(tls *libc.TLS, pExpr uintptr) int32 { /* sqlite3.c:104575:20: */ pExpr = Xsqlite3ExprSkipCollate(tls, pExpr) return libc.Bool32(int32(*(*int8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pExpr + 8)) + 4))) == 0) @@ -97469,7 +97507,7 @@ func Xsqlite3ExprTruthValue(tls *libc.TLS, pExpr uintptr) int32 { /* sqlite3.c:1 // (x<10) AND (y=22 OR false) => (x<10) AND (y=22) // (x<10) AND (y=22 OR true) => (x<10) // (y=22) OR true => true -func Xsqlite3ExprSimplifiedAndOr(tls *libc.TLS, pExpr uintptr) uintptr { /* sqlite3.c:104584:21: */ +func Xsqlite3ExprSimplifiedAndOr(tls *libc.TLS, pExpr uintptr) uintptr { /* sqlite3.c:104597:21: */ if int32((*Expr)(unsafe.Pointer(pExpr)).Fop) == TK_AND || int32((*Expr)(unsafe.Pointer(pExpr)).Fop) == TK_OR { var pRight uintptr = Xsqlite3ExprSimplifiedAndOr(tls, (*Expr)(unsafe.Pointer(pExpr)).FpRight) @@ -97515,7 +97553,7 @@ func Xsqlite3ExprSimplifiedAndOr(tls *libc.TLS, pExpr uintptr) uintptr { /* sqli // contain a bound parameter because they were generated by older versions // of SQLite to be parsed by newer versions of SQLite without raising a // malformed schema error. -func exprNodeIsConstant(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:104625:12: */ +func exprNodeIsConstant(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:104638:12: */ // If pWalker->eCode is 2 then any term of the expression that comes from // the ON or USING clauses of a left join disqualifies the expression @@ -97593,7 +97631,7 @@ func exprNodeIsConstant(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { / return int32(0) } -func exprIsConst(tls *libc.TLS, p uintptr, initFlag int32, iCur int32) int32 { /* sqlite3.c:104697:12: */ +func exprIsConst(tls *libc.TLS, p uintptr, initFlag int32, iCur int32) int32 { /* sqlite3.c:104710:12: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -97617,7 +97655,7 @@ func exprIsConst(tls *libc.TLS, p uintptr, initFlag int32, iCur int32) int32 { / // For the purposes of this function, a double-quoted string (ex: "abc") // is considered a variable but a single-quoted string (ex: 'abc') is // a constant. -func Xsqlite3ExprIsConstant(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:104718:20: */ +func Xsqlite3ExprIsConstant(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:104731:20: */ return exprIsConst(tls, p, 1, 0) } @@ -97632,7 +97670,7 @@ func Xsqlite3ExprIsConstant(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:10471 // When this routine returns true, it indicates that the expression // can be added to the pParse->pConstExpr list and evaluated once when // the prepared statement starts up. See sqlite3ExprCodeRunJustOnce(). -func Xsqlite3ExprIsConstantNotJoin(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:104735:20: */ +func Xsqlite3ExprIsConstantNotJoin(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:104748:20: */ return exprIsConst(tls, p, 2, 0) } @@ -97640,12 +97678,12 @@ func Xsqlite3ExprIsConstantNotJoin(tls *libc.TLS, p uintptr) int32 { /* sqlite3. // for any single row of the table with cursor iCur. In other words, the // expression must not refer to any non-deterministic function nor any // table other than iCur. -func Xsqlite3ExprIsTableConstant(tls *libc.TLS, p uintptr, iCur int32) int32 { /* sqlite3.c:104745:20: */ +func Xsqlite3ExprIsTableConstant(tls *libc.TLS, p uintptr, iCur int32) int32 { /* sqlite3.c:104758:20: */ return exprIsConst(tls, p, 3, iCur) } // sqlite3WalkExpr() callback used by sqlite3ExprIsConstantOrGroupBy(). -func exprNodeIsConstantOrGroupBy(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:104753:12: */ +func exprNodeIsConstantOrGroupBy(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:104766:12: */ var pGroupBy uintptr = *(*uintptr)(unsafe.Pointer(pWalker + 40)) var i int32 @@ -97687,7 +97725,7 @@ func exprNodeIsConstantOrGroupBy(tls *libc.TLS, pWalker uintptr, pExpr uintptr) // alternative collating sequences are uncommon, and this is only an // optimization, so we take the easy way out and simply require the // GROUP BY to use the BINARY collating sequence. -func Xsqlite3ExprIsConstantOrGroupBy(tls *libc.TLS, pParse uintptr, p uintptr, pGroupBy uintptr) int32 { /* sqlite3.c:104797:20: */ +func Xsqlite3ExprIsConstantOrGroupBy(tls *libc.TLS, pParse uintptr, p uintptr, pGroupBy uintptr) int32 { /* sqlite3.c:104810:20: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -97723,7 +97761,7 @@ func Xsqlite3ExprIsConstantOrGroupBy(tls *libc.TLS, pParse uintptr, p uintptr, p // For the purposes of this function, a double-quoted string (ex: "abc") // is considered a variable but a single-quoted string (ex: 'abc') is // a constant. -func Xsqlite3ExprIsConstantOrFunction(tls *libc.TLS, p uintptr, isInit U8) int32 { /* sqlite3.c:104829:20: */ +func Xsqlite3ExprIsConstantOrFunction(tls *libc.TLS, p uintptr, isInit U8) int32 { /* sqlite3.c:104842:20: */ return exprIsConst(tls, p, 4+int32(isInit), 0) } @@ -97732,7 +97770,7 @@ func Xsqlite3ExprIsConstantOrFunction(tls *libc.TLS, p uintptr, isInit U8) int32 // to fit in a 32-bit integer, return 1 and put the value of the integer // in *pValue. If the expression is not an integer or if it is too big // to fit in a signed 32-bit integer, return 0 and leave *pValue unchanged. -func Xsqlite3ExprIsInteger(tls *libc.TLS, p uintptr, pValue uintptr) int32 { /* sqlite3.c:104858:20: */ +func Xsqlite3ExprIsInteger(tls *libc.TLS, p uintptr, pValue uintptr) int32 { /* sqlite3.c:104871:20: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -97784,7 +97822,7 @@ func Xsqlite3ExprIsInteger(tls *libc.TLS, p uintptr, pValue uintptr) int32 { /* // hand, a false negative (returning FALSE when the result could be NULL) // will likely result in an incorrect answer. So when in doubt, return // TRUE. -func Xsqlite3ExprCanBeNull(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:104904:20: */ +func Xsqlite3ExprCanBeNull(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:104917:20: */ var op U8 for int32((*Expr)(unsafe.Pointer(p)).Fop) == TK_UPLUS || int32((*Expr)(unsafe.Pointer(p)).Fop) == TK_UMINUS { @@ -97823,7 +97861,7 @@ func Xsqlite3ExprCanBeNull(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:104904 // can be omitted. When in doubt return FALSE. A false negative // is harmless. A false positive, however, can result in the wrong // answer. -func Xsqlite3ExprNeedsNoAffinityChange(tls *libc.TLS, p uintptr, aff int8) int32 { /* sqlite3.c:104941:20: */ +func Xsqlite3ExprNeedsNoAffinityChange(tls *libc.TLS, p uintptr, aff int8) int32 { /* sqlite3.c:104954:20: */ var op U8 var unaryMinus int32 = 0 if int32(aff) == SQLITE_AFF_BLOB { @@ -97876,7 +97914,7 @@ func Xsqlite3ExprNeedsNoAffinityChange(tls *libc.TLS, p uintptr, aff int8) int32 } // Return TRUE if the given string is a row-id column name. -func Xsqlite3IsRowid(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:104977:20: */ +func Xsqlite3IsRowid(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:104990:20: */ if Xsqlite3StrICmp(tls, z, ts+7995) == 0 { return 1 } @@ -97894,7 +97932,7 @@ func Xsqlite3IsRowid(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:104977:20: * // a pointer to the SELECT statement. If pX is not a SELECT statement, // or if the SELECT statement needs to be manifested into a transient // table, then return NULL. -func isCandidateForInOpt(tls *libc.TLS, pX uintptr) uintptr { /* sqlite3.c:104992:15: */ +func isCandidateForInOpt(tls *libc.TLS, pX uintptr) uintptr { /* sqlite3.c:105005:15: */ var p uintptr var pSrc uintptr var pEList uintptr @@ -97952,7 +97990,7 @@ func isCandidateForInOpt(tls *libc.TLS, pX uintptr) uintptr { /* sqlite3.c:10499 // it contains any NULL entries. Cause the register at regHasNull to be set // to a non-NULL value if iCur contains no NULLs. Cause register regHasNull // to be set to NULL if iCur contains one or more NULL values. -func sqlite3SetHasNullFlag(tls *libc.TLS, v uintptr, iCur int32, regHasNull int32) { /* sqlite3.c:105037:13: */ +func sqlite3SetHasNullFlag(tls *libc.TLS, v uintptr, iCur int32, regHasNull int32) { /* sqlite3.c:105050:13: */ var addr1 int32 Xsqlite3VdbeAddOp2(tls, v, OP_Integer, 0, regHasNull) addr1 = Xsqlite3VdbeAddOp1(tls, v, OP_Rewind, iCur) @@ -97964,7 +98002,7 @@ func sqlite3SetHasNullFlag(tls *libc.TLS, v uintptr, iCur int32, regHasNull int3 // The argument is an IN operator with a list (not a subquery) on the // right-hand side. Return TRUE if that list is constant. -func sqlite3InRhsIsConstant(tls *libc.TLS, pIn uintptr) int32 { /* sqlite3.c:105054:12: */ +func sqlite3InRhsIsConstant(tls *libc.TLS, pIn uintptr) int32 { /* sqlite3.c:105067:12: */ var pLHS uintptr var res int32 @@ -98053,7 +98091,7 @@ func sqlite3InRhsIsConstant(tls *libc.TLS, pIn uintptr) int32 { /* sqlite3.c:105 // CREATE INDEX i1 ON t1(b, c, a); // // then aiMap[] is populated with {2, 0, 1}. -func Xsqlite3FindInIndex(tls *libc.TLS, pParse uintptr, pX uintptr, inFlags U32, prRhsHasNull uintptr, aiMap uintptr, piTab uintptr) int32 { /* sqlite3.c:105147:20: */ +func Xsqlite3FindInIndex(tls *libc.TLS, pParse uintptr, pX uintptr, inFlags U32, prRhsHasNull uintptr, aiMap uintptr, piTab uintptr) int32 { /* sqlite3.c:105160:20: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -98271,7 +98309,7 @@ func Xsqlite3FindInIndex(tls *libc.TLS, pParse uintptr, pX uintptr, inFlags U32, // // It is the responsibility of the caller to ensure that the returned // string is eventually freed using sqlite3DbFree(). -func exprINAffinity(tls *libc.TLS, pParse uintptr, pExpr uintptr) uintptr { /* sqlite3.c:105370:13: */ +func exprINAffinity(tls *libc.TLS, pParse uintptr, pExpr uintptr) uintptr { /* sqlite3.c:105383:13: */ var pLeft uintptr = (*Expr)(unsafe.Pointer(pExpr)).FpLeft var nVal int32 = Xsqlite3ExprVectorSize(tls, pLeft) var pSelect uintptr @@ -98303,7 +98341,7 @@ func exprINAffinity(tls *libc.TLS, pParse uintptr, pExpr uintptr) uintptr { /* s // message of the form: // // "sub-select returns N columns - expected M" -func Xsqlite3SubselectError(tls *libc.TLS, pParse uintptr, nActual int32, nExpect int32) { /* sqlite3.c:105402:21: */ +func Xsqlite3SubselectError(tls *libc.TLS, pParse uintptr, nActual int32, nExpect int32) { /* sqlite3.c:105415:21: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -98322,7 +98360,7 @@ func Xsqlite3SubselectError(tls *libc.TLS, pParse uintptr, nActual int32, nExpec // Or, if it is a regular scalar vector: // // "row value misused" -func Xsqlite3VectorErrorMsg(tls *libc.TLS, pParse uintptr, pExpr uintptr) { /* sqlite3.c:105421:21: */ +func Xsqlite3VectorErrorMsg(tls *libc.TLS, pParse uintptr, pExpr uintptr) { /* sqlite3.c:105434:21: */ if (*Expr)(unsafe.Pointer(pExpr)).Fflags&U32(EP_xIsSelect) != U32(0) { Xsqlite3SubselectError(tls, pParse, (*ExprList)(unsafe.Pointer((*Select)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pExpr + 32)))).FpEList)).FnExpr, 1) } else { @@ -98350,7 +98388,7 @@ func Xsqlite3VectorErrorMsg(tls *libc.TLS, pParse uintptr, pExpr uintptr) { /* s // if either column has NUMERIC or INTEGER affinity. If neither // 'x' nor the SELECT... statement are columns, then numeric affinity // is used. -func Xsqlite3CodeRhsOfIN(tls *libc.TLS, pParse uintptr, pExpr uintptr, iTab int32) { /* sqlite3.c:105455:21: */ +func Xsqlite3CodeRhsOfIN(tls *libc.TLS, pParse uintptr, pExpr uintptr, iTab int32) { /* sqlite3.c:105468:21: */ bp := tls.Alloc(65) defer tls.Free(65) @@ -98545,7 +98583,7 @@ func Xsqlite3CodeRhsOfIN(tls *libc.TLS, pParse uintptr, pExpr uintptr, iTab int3 // the result is stored in a contiguous array of registers and the // return value is the register of the left-most result column. // Return 0 if an error occurs. -func Xsqlite3CodeSubselect(tls *libc.TLS, pParse uintptr, pExpr uintptr) int32 { /* sqlite3.c:105650:20: */ +func Xsqlite3CodeSubselect(tls *libc.TLS, pParse uintptr, pExpr uintptr) int32 { /* sqlite3.c:105663:20: */ bp := tls.Alloc(64) defer tls.Free(64) @@ -98668,7 +98706,7 @@ func Xsqlite3CodeSubselect(tls *libc.TLS, pParse uintptr, pExpr uintptr) int32 { // sub-select on the RHS of the IN() operator has the same number of // columns as the vector on the LHS. Or, if the RHS of the IN() is not // a sub-query, that the LHS is a vector of size 1. -func Xsqlite3ExprCheckIN(tls *libc.TLS, pParse uintptr, pIn uintptr) int32 { /* sqlite3.c:105772:20: */ +func Xsqlite3ExprCheckIN(tls *libc.TLS, pParse uintptr, pIn uintptr) int32 { /* sqlite3.c:105785:20: */ var nVector int32 = Xsqlite3ExprVectorSize(tls, (*Expr)(unsafe.Pointer(pIn)).FpLeft) if (*Expr)(unsafe.Pointer(pIn)).Fflags&U32(EP_xIsSelect) != U32(0) && !(int32((*Sqlite3)(unsafe.Pointer((*Parse)(unsafe.Pointer(pParse)).Fdb)).FmallocFailed) != 0) { if nVector != (*ExprList)(unsafe.Pointer((*Select)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pIn + 32)))).FpEList)).FnExpr { @@ -98705,7 +98743,7 @@ func Xsqlite3ExprCheckIN(tls *libc.TLS, pParse uintptr, pIn uintptr) int32 { /* // // See the separate in-operator.md documentation file in the canonical // SQLite source tree for additional information. -func sqlite3ExprCodeIN(tls *libc.TLS, pParse uintptr, pExpr uintptr, destIfFalse int32, destIfNull int32) { /* sqlite3.c:105813:13: */ +func sqlite3ExprCodeIN(tls *libc.TLS, pParse uintptr, pExpr uintptr, destIfFalse int32, destIfNull int32) { /* sqlite3.c:105826:13: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -99086,7 +99124,7 @@ sqlite3ExprCodeIN_oom_error: // The z[] string will probably not be zero-terminated. But the // z[n] character is guaranteed to be something that does not look // like the continuation of the number. -func codeReal(tls *libc.TLS, v uintptr, z uintptr, negateFlag int32, iMem int32) { /* sqlite3.c:106071:13: */ +func codeReal(tls *libc.TLS, v uintptr, z uintptr, negateFlag int32, iMem int32) { /* sqlite3.c:106084:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -99106,7 +99144,7 @@ func codeReal(tls *libc.TLS, v uintptr, z uintptr, negateFlag int32, iMem int32) // text z[0..n-1] into register iMem. // // Expr.u.zToken is always UTF8 and zero-terminated. -func codeInteger(tls *libc.TLS, pParse uintptr, pExpr uintptr, negFlag int32, iMem int32) { /* sqlite3.c:106089:13: */ +func codeInteger(tls *libc.TLS, pParse uintptr, pExpr uintptr, negFlag int32, iMem int32) { /* sqlite3.c:106102:13: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -99152,7 +99190,7 @@ func codeInteger(tls *libc.TLS, pParse uintptr, pExpr uintptr, negFlag int32, iM // Generate code that will load into register regOut a value that is // appropriate for the iIdxCol-th column of index pIdx. -func Xsqlite3ExprCodeLoadIndexColumn(tls *libc.TLS, pParse uintptr, pIdx uintptr, iTabCur int32, iIdxCol int32, regOut int32) { /* sqlite3.c:106127:21: */ +func Xsqlite3ExprCodeLoadIndexColumn(tls *libc.TLS, pParse uintptr, pIdx uintptr, iTabCur int32, iIdxCol int32, regOut int32) { /* sqlite3.c:106140:21: */ var iTabCol I16 = *(*I16)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FaiColumn + uintptr(iIdxCol)*2)) if int32(iTabCol) == -2 { @@ -99167,7 +99205,7 @@ func Xsqlite3ExprCodeLoadIndexColumn(tls *libc.TLS, pParse uintptr, pIdx uintptr // Generate code that will compute the value of generated column pCol // and store the result in register regOut -func Xsqlite3ExprCodeGeneratedColumn(tls *libc.TLS, pParse uintptr, pTab uintptr, pCol uintptr, regOut int32) { /* sqlite3.c:106152:21: */ +func Xsqlite3ExprCodeGeneratedColumn(tls *libc.TLS, pParse uintptr, pTab uintptr, pCol uintptr, regOut int32) { /* sqlite3.c:106165:21: */ var iAddr int32 var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe @@ -99186,7 +99224,7 @@ func Xsqlite3ExprCodeGeneratedColumn(tls *libc.TLS, pParse uintptr, pTab uintptr } // Generate code to extract the value of the iCol-th column of a table. -func Xsqlite3ExprCodeGetColumnOfTable(tls *libc.TLS, v uintptr, pTab uintptr, iTabCur int32, iCol int32, regOut int32) { /* sqlite3.c:106178:21: */ +func Xsqlite3ExprCodeGetColumnOfTable(tls *libc.TLS, v uintptr, pTab uintptr, iTabCur int32, iCol int32, regOut int32) { /* sqlite3.c:106191:21: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -99237,7 +99275,7 @@ func Xsqlite3ExprCodeGetColumnOfTable(tls *libc.TLS, v uintptr, pTab uintptr, iT // // There must be an open cursor to pTab in iTable when this routine // is called. If iColumn<0 then code is generated that extracts the rowid. -func Xsqlite3ExprCodeGetColumn(tls *libc.TLS, pParse uintptr, pTab uintptr, iColumn int32, iTable int32, iReg int32, p5 U8) int32 { /* sqlite3.c:106236:20: */ +func Xsqlite3ExprCodeGetColumn(tls *libc.TLS, pParse uintptr, pTab uintptr, iColumn int32, iTable int32, iReg int32, p5 U8) int32 { /* sqlite3.c:106249:20: */ Xsqlite3ExprCodeGetColumnOfTable(tls, (*Parse)(unsafe.Pointer(pParse)).FpVdbe, pTab, iTable, iColumn, iReg) if p5 != 0 { @@ -99251,14 +99289,14 @@ func Xsqlite3ExprCodeGetColumn(tls *libc.TLS, pParse uintptr, pTab uintptr, iCol // Generate code to move content from registers iFrom...iFrom+nReg-1 // over to iTo..iTo+nReg-1. -func Xsqlite3ExprCodeMove(tls *libc.TLS, pParse uintptr, iFrom int32, iTo int32, nReg int32) { /* sqlite3.c:106257:21: */ +func Xsqlite3ExprCodeMove(tls *libc.TLS, pParse uintptr, iFrom int32, iTo int32, nReg int32) { /* sqlite3.c:106270:21: */ Xsqlite3VdbeAddOp3(tls, (*Parse)(unsafe.Pointer(pParse)).FpVdbe, OP_Move, iFrom, iTo, nReg) } // Convert a scalar expression node to a TK_REGISTER referencing // register iReg. The caller must ensure that iReg already contains // the correct value for the expression. -func exprToRegister(tls *libc.TLS, pExpr uintptr, iReg int32) { /* sqlite3.c:106266:13: */ +func exprToRegister(tls *libc.TLS, pExpr uintptr, iReg int32) { /* sqlite3.c:106279:13: */ var p uintptr = Xsqlite3ExprSkipCollateAndLikely(tls, pExpr) if p == uintptr(0) { return @@ -99277,7 +99315,7 @@ func exprToRegister(tls *libc.TLS, pExpr uintptr, iReg int32) { /* sqlite3.c:106 // that register number into *piFreeable. If the returned result register // is not a temporary or if the expression is a vector set *piFreeable // to 0. -func exprCodeVector(tls *libc.TLS, pParse uintptr, p uintptr, piFreeable uintptr) int32 { /* sqlite3.c:106285:12: */ +func exprCodeVector(tls *libc.TLS, pParse uintptr, p uintptr, piFreeable uintptr) int32 { /* sqlite3.c:106298:12: */ var iResult int32 var nResult int32 = Xsqlite3ExprVectorSize(tls, p) if nResult == 1 { @@ -99301,7 +99339,7 @@ func exprCodeVector(tls *libc.TLS, pParse uintptr, p uintptr, piFreeable uintptr // If the last opcode is a OP_Copy, then set the do-not-merge flag (p5) // so that a subsequent copy will not be merged into this one. -func setDoNotMergeFlagOnCopy(tls *libc.TLS, v uintptr) { /* sqlite3.c:106315:13: */ +func setDoNotMergeFlagOnCopy(tls *libc.TLS, v uintptr) { /* sqlite3.c:106328:13: */ if int32((*VdbeOp)(unsafe.Pointer(Xsqlite3VdbeGetOp(tls, v, -1))).Fopcode) == OP_Copy { Xsqlite3VdbeChangeP5(tls, v, uint16(1)) // Tag trailing OP_Copy as not mergable } @@ -99309,7 +99347,7 @@ func setDoNotMergeFlagOnCopy(tls *libc.TLS, v uintptr) { /* sqlite3.c:106315:13: // Generate code to implement special SQL functions that are implemented // in-line rather than by using the usual callbacks. -func exprCodeInlineFunction(tls *libc.TLS, pParse uintptr, pFarg uintptr, iFuncId int32, target int32) int32 { /* sqlite3.c:106325:12: */ +func exprCodeInlineFunction(tls *libc.TLS, pParse uintptr, pFarg uintptr, iFuncId int32, target int32) int32 { /* sqlite3.c:106338:12: */ bp := tls.Alloc(112) defer tls.Free(112) @@ -99434,7 +99472,7 @@ func exprCodeInlineFunction(tls *libc.TLS, pParse uintptr, pFarg uintptr, iFuncI // register if it is convenient to do so. The calling function // must check the return code and move the results to the desired // register. -func Xsqlite3ExprCodeTarget(tls *libc.TLS, pParse uintptr, pExpr uintptr, target int32) int32 { /* sqlite3.c:106441:20: */ +func Xsqlite3ExprCodeTarget(tls *libc.TLS, pParse uintptr, pExpr uintptr, target int32) int32 { /* sqlite3.c:106454:20: */ bp := tls.Alloc(192) defer tls.Free(192) @@ -100505,7 +100543,7 @@ __3: return inReg } -var zAff = *(*[8]int8)(unsafe.Pointer(ts + 8414)) /* sqlite3.c:106508:29 */ +var zAff = *(*[8]int8)(unsafe.Pointer(ts + 8414)) /* sqlite3.c:106521:29 */ // Generate code that will evaluate expression pExpr just one time // per prepared statement execution. @@ -100522,7 +100560,7 @@ var zAff = *(*[8]int8)(unsafe.Pointer(ts + 8414)) /* sqlite3.c:106508:29 */ // code to the same register, if they do not contain function calls and hence // are factored out into the initialization section at the end of the // prepared statement. -func Xsqlite3ExprCodeRunJustOnce(tls *libc.TLS, pParse uintptr, pExpr uintptr, regDest int32) int32 { /* sqlite3.c:107215:20: */ +func Xsqlite3ExprCodeRunJustOnce(tls *libc.TLS, pParse uintptr, pExpr uintptr, regDest int32) int32 { /* sqlite3.c:107228:20: */ var p uintptr p = (*Parse)(unsafe.Pointer(pParse)).FpConstExpr @@ -100591,7 +100629,7 @@ func Xsqlite3ExprCodeRunJustOnce(tls *libc.TLS, pParse uintptr, pExpr uintptr, r // If pExpr is a constant, then this routine might generate this // code to fill the register in the initialization section of the // VDBE program, in order to factor it out of the evaluation loop. -func Xsqlite3ExprCodeTemp(tls *libc.TLS, pParse uintptr, pExpr uintptr, pReg uintptr) int32 { /* sqlite3.c:107272:20: */ +func Xsqlite3ExprCodeTemp(tls *libc.TLS, pParse uintptr, pExpr uintptr, pReg uintptr) int32 { /* sqlite3.c:107285:20: */ var r2 int32 pExpr = Xsqlite3ExprSkipCollateAndLikely(tls, pExpr) if (*Parse)(unsafe.Pointer(pParse)).FokConstFactor != 0 && @@ -100616,7 +100654,7 @@ func Xsqlite3ExprCodeTemp(tls *libc.TLS, pParse uintptr, pExpr uintptr, pReg uin // Generate code that will evaluate expression pExpr and store the // results in register target. The results are guaranteed to appear // in register target. -func Xsqlite3ExprCode(tls *libc.TLS, pParse uintptr, pExpr uintptr, target int32) { /* sqlite3.c:107300:21: */ +func Xsqlite3ExprCode(tls *libc.TLS, pParse uintptr, pExpr uintptr, target int32) { /* sqlite3.c:107313:21: */ var inReg int32 if (*Parse)(unsafe.Pointer(pParse)).FpVdbe == uintptr(0) { @@ -100637,7 +100675,7 @@ func Xsqlite3ExprCode(tls *libc.TLS, pParse uintptr, pExpr uintptr, target int32 // Make a transient copy of expression pExpr and then code it using // sqlite3ExprCode(). This routine works just like sqlite3ExprCode() // except that the input expression is guaranteed to be unchanged. -func Xsqlite3ExprCodeCopy(tls *libc.TLS, pParse uintptr, pExpr uintptr, target int32) { /* sqlite3.c:107324:21: */ +func Xsqlite3ExprCodeCopy(tls *libc.TLS, pParse uintptr, pExpr uintptr, target int32) { /* sqlite3.c:107337:21: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb pExpr = Xsqlite3ExprDup(tls, db, pExpr, 0) if !(int32((*Sqlite3)(unsafe.Pointer(db)).FmallocFailed) != 0) { @@ -100650,7 +100688,7 @@ func Xsqlite3ExprCodeCopy(tls *libc.TLS, pParse uintptr, pExpr uintptr, target i // results in register target. The results are guaranteed to appear // in register target. If the expression is constant, then this routine // might choose to code the expression at initialization time. -func Xsqlite3ExprCodeFactorable(tls *libc.TLS, pParse uintptr, pExpr uintptr, target int32) { /* sqlite3.c:107337:21: */ +func Xsqlite3ExprCodeFactorable(tls *libc.TLS, pParse uintptr, pExpr uintptr, target int32) { /* sqlite3.c:107350:21: */ if (*Parse)(unsafe.Pointer(pParse)).FokConstFactor != 0 && Xsqlite3ExprIsConstantNotJoin(tls, pExpr) != 0 { Xsqlite3ExprCodeRunJustOnce(tls, pParse, pExpr, target) } else { @@ -100676,7 +100714,7 @@ func Xsqlite3ExprCodeFactorable(tls *libc.TLS, pParse uintptr, pExpr uintptr, ta // in registers at srcReg, and so the value can be copied from there. // If SQLITE_ECEL_OMITREF is also set, then the values with u.x.iOrderByCol>0 // are simply omitted rather than being copied from srcReg. -func Xsqlite3ExprCodeExprList(tls *libc.TLS, pParse uintptr, pList uintptr, target int32, srcReg int32, flags U8) int32 { /* sqlite3.c:107365:20: */ +func Xsqlite3ExprCodeExprList(tls *libc.TLS, pParse uintptr, pList uintptr, target int32, srcReg int32, flags U8) int32 { /* sqlite3.c:107378:20: */ var pItem uintptr var i int32 var j int32 @@ -100758,7 +100796,7 @@ __3: // sqlite3ExprIfFalse: Jump to dest if false // // The jumpIfNull parameter is ignored if xJumpIf is NULL. -func exprCodeBetween(tls *libc.TLS, pParse uintptr, pExpr uintptr, dest int32, xJump uintptr, jumpIfNull int32) { /* sqlite3.c:107440:13: */ +func exprCodeBetween(tls *libc.TLS, pParse uintptr, pExpr uintptr, dest int32, xJump uintptr, jumpIfNull int32) { /* sqlite3.c:107453:13: */ bp := tls.Alloc(220) defer tls.Free(220) @@ -100821,7 +100859,7 @@ func exprCodeBetween(tls *libc.TLS, pParse uintptr, pExpr uintptr, dest int32, x // operation. Special comments in vdbe.c and the mkopcodeh.awk script in // the make process cause these values to align. Assert()s in the code // below verify that the numbers are aligned correctly. -func Xsqlite3ExprIfTrue(tls *libc.TLS, pParse uintptr, pExpr uintptr, dest int32, jumpIfNull int32) { /* sqlite3.c:107512:21: */ +func Xsqlite3ExprIfTrue(tls *libc.TLS, pParse uintptr, pExpr uintptr, dest int32, jumpIfNull int32) { /* sqlite3.c:107525:21: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -101053,7 +101091,7 @@ __3: // If the expression evaluates to NULL (neither true nor false) then // jump if jumpIfNull is SQLITE_JUMPIFNULL or fall through if jumpIfNull // is 0. -func Xsqlite3ExprIfFalse(tls *libc.TLS, pParse uintptr, pExpr uintptr, dest int32, jumpIfNull int32) { /* sqlite3.c:107654:21: */ +func Xsqlite3ExprIfFalse(tls *libc.TLS, pParse uintptr, pExpr uintptr, dest int32, jumpIfNull int32) { /* sqlite3.c:107667:21: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -101303,7 +101341,7 @@ __3: // Like sqlite3ExprIfFalse() except that a copy is made of pExpr before // code generation, and that copy is deleted after code generation. This // ensures that the original pExpr is unchanged. -func Xsqlite3ExprIfFalseDup(tls *libc.TLS, pParse uintptr, pExpr uintptr, dest int32, jumpIfNull int32) { /* sqlite3.c:107826:21: */ +func Xsqlite3ExprIfFalseDup(tls *libc.TLS, pParse uintptr, pExpr uintptr, dest int32, jumpIfNull int32) { /* sqlite3.c:107839:21: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb var pCopy uintptr = Xsqlite3ExprDup(tls, db, pExpr, 0) if int32((*Sqlite3)(unsafe.Pointer(db)).FmallocFailed) == 0 { @@ -101323,7 +101361,7 @@ func Xsqlite3ExprIfFalseDup(tls *libc.TLS, pParse uintptr, pExpr uintptr, dest i // same as that currently bound to variable pVar, non-zero is returned. // Otherwise, if the values are not the same or if pExpr is not a simple // SQL value, zero is returned. -func exprCompareVariable(tls *libc.TLS, pParse uintptr, pVar uintptr, pExpr uintptr) int32 { /* sqlite3.c:107848:12: */ +func exprCompareVariable(tls *libc.TLS, pParse uintptr, pVar uintptr, pExpr uintptr) int32 { /* sqlite3.c:107861:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -101377,7 +101415,7 @@ func exprCompareVariable(tls *libc.TLS, pParse uintptr, pVar uintptr, pExpr uint // If pParse is NULL (the normal case) then any TK_VARIABLE term in // Argument pParse should normally be NULL. If it is not NULL and pA or // pB causes a return value of 2. -func Xsqlite3ExprCompare(tls *libc.TLS, pParse uintptr, pA uintptr, pB uintptr, iTab int32) int32 { /* sqlite3.c:107904:20: */ +func Xsqlite3ExprCompare(tls *libc.TLS, pParse uintptr, pA uintptr, pB uintptr, iTab int32) int32 { /* sqlite3.c:107917:20: */ var combinedFlags U32 if pA == uintptr(0) || pB == uintptr(0) { if pB == pA { @@ -101481,7 +101519,7 @@ func Xsqlite3ExprCompare(tls *libc.TLS, pParse uintptr, pA uintptr, pB uintptr, // // Two NULL pointers are considered to be the same. But a NULL pointer // always differs from a non-NULL pointer. -func Xsqlite3ExprListCompare(tls *libc.TLS, pA uintptr, pB uintptr, iTab int32) int32 { /* sqlite3.c:108000:20: */ +func Xsqlite3ExprListCompare(tls *libc.TLS, pA uintptr, pB uintptr, iTab int32) int32 { /* sqlite3.c:108013:20: */ var i int32 if pA == uintptr(0) && pB == uintptr(0) { return 0 @@ -101508,7 +101546,7 @@ func Xsqlite3ExprListCompare(tls *libc.TLS, pA uintptr, pB uintptr, iTab int32) // Like sqlite3ExprCompare() except COLLATE operators at the top-level // are ignored. -func Xsqlite3ExprCompareSkip(tls *libc.TLS, pA uintptr, pB uintptr, iTab int32) int32 { /* sqlite3.c:108019:20: */ +func Xsqlite3ExprCompareSkip(tls *libc.TLS, pA uintptr, pB uintptr, iTab int32) int32 { /* sqlite3.c:108032:20: */ return Xsqlite3ExprCompare(tls, uintptr(0), Xsqlite3ExprSkipCollateAndLikely(tls, pA), Xsqlite3ExprSkipCollateAndLikely(tls, pB), @@ -101519,7 +101557,7 @@ func Xsqlite3ExprCompareSkip(tls *libc.TLS, pA uintptr, pB uintptr, iTab int32) // // Or if seenNot is true, return non-zero if Expr p can only be // non-NULL if pNN is not NULL -func exprImpliesNotNull(tls *libc.TLS, pParse uintptr, p uintptr, pNN uintptr, iTab int32, seenNot int32) int32 { /* sqlite3.c:108032:12: */ +func exprImpliesNotNull(tls *libc.TLS, pParse uintptr, p uintptr, pNN uintptr, iTab int32, seenNot int32) int32 { /* sqlite3.c:108045:12: */ if Xsqlite3ExprCompare(tls, pParse, p, pNN, iTab) == 0 { return libc.Bool32(int32((*Expr)(unsafe.Pointer(pNN)).Fop) != TK_NULL) @@ -101647,7 +101685,7 @@ func exprImpliesNotNull(tls *libc.TLS, pParse uintptr, p uintptr, pNN uintptr, i // When in doubt, return false. Returning true might give a performance // improvement. Returning false might cause a performance reduction, but // it will always give the correct answer and is hence always safe. -func Xsqlite3ExprImpliesExpr(tls *libc.TLS, pParse uintptr, pE1 uintptr, pE2 uintptr, iTab int32) int32 { /* sqlite3.c:108129:20: */ +func Xsqlite3ExprImpliesExpr(tls *libc.TLS, pParse uintptr, pE1 uintptr, pE2 uintptr, iTab int32) int32 { /* sqlite3.c:108142:20: */ if Xsqlite3ExprCompare(tls, pParse, pE1, pE2, iTab) == 0 { return 1 } @@ -101670,7 +101708,7 @@ func Xsqlite3ExprImpliesExpr(tls *libc.TLS, pParse uintptr, pE1 uintptr, pE2 uin // This routine controls an optimization. False positives (setting // pWalker->eCode to 1 when it should not be) are deadly, but false-negatives // (never setting pWalker->eCode) is a harmless missed optimization. -func impliesNotNullRow(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:108161:12: */ +func impliesNotNullRow(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:108174:12: */ if (*Expr)(unsafe.Pointer(pExpr)).Fflags&U32(EP_FromJoin) != U32(0) { return WRC_Prune @@ -101780,7 +101818,7 @@ func impliesNotNullRow(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* // clause requires that some column of the right table of the LEFT JOIN // be non-NULL, then the LEFT JOIN can be safely converted into an // ordinary join. -func Xsqlite3ExprImpliesNonNullRow(tls *libc.TLS, p uintptr, iTab int32) int32 { /* sqlite3.c:108270:20: */ +func Xsqlite3ExprImpliesNonNullRow(tls *libc.TLS, p uintptr, iTab int32) int32 { /* sqlite3.c:108283:20: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -101814,7 +101852,7 @@ func Xsqlite3ExprImpliesNonNullRow(tls *libc.TLS, p uintptr, iTab int32) int32 { // Check to see if there are references to columns in table // pWalker->u.pIdxCover->iCur can be satisfied using the index // pWalker->u.pIdxCover->pIdx. -func exprIdxCover(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:108308:12: */ +func exprIdxCover(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:108321:12: */ if int32((*Expr)(unsafe.Pointer(pExpr)).Fop) == TK_COLUMN && (*Expr)(unsafe.Pointer(pExpr)).FiTable == (*IdxCover)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pWalker + 40)))).FiCur && int32(Xsqlite3TableColumnToIndex(tls, (*IdxCover)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pWalker + 40)))).FpIdx, (*Expr)(unsafe.Pointer(pExpr)).FiColumn)) < 0 { @@ -101832,7 +101870,7 @@ func exprIdxCover(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqli // An index covering an expression means that the expression can be // evaluated using only the index and without having to lookup the // corresponding table entry. -func Xsqlite3ExprCoveredByIndex(tls *libc.TLS, pExpr uintptr, iCur int32, pIdx uintptr) int32 { /* sqlite3.c:108329:20: */ +func Xsqlite3ExprCoveredByIndex(tls *libc.TLS, pExpr uintptr, iCur int32, pIdx uintptr) int32 { /* sqlite3.c:108342:20: */ bp := tls.Alloc(64) defer tls.Free(64) @@ -101857,7 +101895,7 @@ func Xsqlite3ExprCoveredByIndex(tls *libc.TLS, pExpr uintptr, iCur int32, pIdx u // entries for that subquery to the exclude list. // // When leaving the subquery, remove those entries from the exclude list. -func selectRefEnter(tls *libc.TLS, pWalker uintptr, pSelect uintptr) int32 { /* sqlite3.c:108364:12: */ +func selectRefEnter(tls *libc.TLS, pWalker uintptr, pSelect uintptr) int32 { /* sqlite3.c:108377:12: */ var p uintptr = *(*uintptr)(unsafe.Pointer(pWalker + 40)) var pSrc uintptr = (*Select)(unsafe.Pointer(pSelect)).FpSrc var i I64 @@ -101895,7 +101933,7 @@ __3: return WRC_Continue } -func selectRefLeave(tls *libc.TLS, pWalker uintptr, pSelect uintptr) { /* sqlite3.c:108384:13: */ +func selectRefLeave(tls *libc.TLS, pWalker uintptr, pSelect uintptr) { /* sqlite3.c:108397:13: */ var p uintptr = *(*uintptr)(unsafe.Pointer(pWalker + 40)) var pSrc uintptr = (*Select)(unsafe.Pointer(pSelect)).FpSrc if (*RefSrcList)(unsafe.Pointer(p)).FnExclude != 0 { @@ -101911,7 +101949,7 @@ func selectRefLeave(tls *libc.TLS, pWalker uintptr, pSelect uintptr) { /* sqlite // // Set the 0x02 bit of pWalker->eCode if there is a reference to a // table is in neither RefSrcList.pRef nor RefSrcList.aiExclude. -func exprRefToSrcList(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:108401:12: */ +func exprRefToSrcList(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:108414:12: */ if int32((*Expr)(unsafe.Pointer(pExpr)).Fop) == TK_COLUMN || int32((*Expr)(unsafe.Pointer(pExpr)).Fop) == TK_AGG_COLUMN { var i int32 @@ -101951,7 +101989,7 @@ func exprRefToSrcList(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* // // As currently used, pExpr is always an aggregate function call. That // fact is exploited for efficiency. -func Xsqlite3ReferencesSrcList(tls *libc.TLS, pParse uintptr, pExpr uintptr, pSrcList uintptr) int32 { /* sqlite3.c:108438:20: */ +func Xsqlite3ReferencesSrcList(tls *libc.TLS, pParse uintptr, pExpr uintptr, pSrcList uintptr) int32 { /* sqlite3.c:108451:20: */ bp := tls.Alloc(80) defer tls.Free(80) @@ -102000,7 +102038,7 @@ func Xsqlite3ReferencesSrcList(tls *libc.TLS, pParse uintptr, pExpr uintptr, pSr // This will cause the expression to be deleted automatically when the // Parse object is destroyed, but the zero register number means that it // will not generate any code in the preamble. -func agginfoPersistExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:108480:12: */ +func agginfoPersistExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:108493:12: */ if !((*Expr)(unsafe.Pointer(pExpr)).Fflags&U32(EP_TokenOnly|EP_Reduced) != U32(0)) && (*Expr)(unsafe.Pointer(pExpr)).FpAggInfo != uintptr(0) { var pAggInfo uintptr = (*Expr)(unsafe.Pointer(pExpr)).FpAggInfo @@ -102033,7 +102071,7 @@ func agginfoPersistExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { // Initialize a Walker object so that will persist AggInfo entries referenced // by the tree that is walked. -func Xsqlite3AggInfoPersistWalkerInit(tls *libc.TLS, pWalker uintptr, pParse uintptr) { /* sqlite3.c:108516:21: */ +func Xsqlite3AggInfoPersistWalkerInit(tls *libc.TLS, pWalker uintptr, pParse uintptr) { /* sqlite3.c:108529:21: */ libc.X__builtin___memset_chk(tls, pWalker, 0, uint64(unsafe.Sizeof(Walker{})), libc.X__builtin_object_size(tls, pWalker, 0)) (*Walker)(unsafe.Pointer(pWalker)).FpParse = pParse (*Walker)(unsafe.Pointer(pWalker)).FxExprCallback = *(*uintptr)(unsafe.Pointer(&struct { @@ -102046,7 +102084,7 @@ func Xsqlite3AggInfoPersistWalkerInit(tls *libc.TLS, pWalker uintptr, pParse uin // Add a new element to the pAggInfo->aCol[] array. Return the index of // the new element. Return a negative number if malloc fails. -func addAggInfoColumn(tls *libc.TLS, db uintptr, pInfo uintptr) int32 { /* sqlite3.c:108527:12: */ +func addAggInfoColumn(tls *libc.TLS, db uintptr, pInfo uintptr) int32 { /* sqlite3.c:108540:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -102063,7 +102101,7 @@ func addAggInfoColumn(tls *libc.TLS, db uintptr, pInfo uintptr) int32 { /* sqlit // Add a new element to the pAggInfo->aFunc[] array. Return the index of // the new element. Return a negative number if malloc fails. -func addAggInfoFunc(tls *libc.TLS, db uintptr, pInfo uintptr) int32 { /* sqlite3.c:108543:12: */ +func addAggInfoFunc(tls *libc.TLS, db uintptr, pInfo uintptr) int32 { /* sqlite3.c:108556:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -102081,7 +102119,7 @@ func addAggInfoFunc(tls *libc.TLS, db uintptr, pInfo uintptr) int32 { /* sqlite3 // This is the xExprCallback for a tree walker. It is used to // implement sqlite3ExprAnalyzeAggregates(). See sqlite3ExprAnalyzeAggregates // for additional information. -func analyzeAggregate(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:108560:12: */ +func analyzeAggregate(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:108573:12: */ var i int32 var pNC uintptr = *(*uintptr)(unsafe.Pointer(pWalker + 40)) var pParse uintptr = (*NameContext)(unsafe.Pointer(pNC)).FpParse @@ -102272,7 +102310,7 @@ func analyzeAggregate(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* // // This routine should only be called after the expression has been // analyzed by sqlite3ResolveExprNames(). -func Xsqlite3ExprAnalyzeAggregates(tls *libc.TLS, pNC uintptr, pExpr uintptr) { /* sqlite3.c:108698:21: */ +func Xsqlite3ExprAnalyzeAggregates(tls *libc.TLS, pNC uintptr, pExpr uintptr) { /* sqlite3.c:108711:21: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -102298,7 +102336,7 @@ func Xsqlite3ExprAnalyzeAggregates(tls *libc.TLS, pNC uintptr, pExpr uintptr) { // expression list. Return the number of errors. // // If an error is found, the analysis is cut short. -func Xsqlite3ExprAnalyzeAggList(tls *libc.TLS, pNC uintptr, pList uintptr) { /* sqlite3.c:108716:21: */ +func Xsqlite3ExprAnalyzeAggList(tls *libc.TLS, pNC uintptr, pList uintptr) { /* sqlite3.c:108729:21: */ var pItem uintptr var i int32 if pList != 0 { @@ -102323,7 +102361,7 @@ func Xsqlite3ExprAnalyzeAggList(tls *libc.TLS, pNC uintptr, pList uintptr) { /* } // Allocate a single new register for use to hold some intermediate result. -func Xsqlite3GetTempReg(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:108729:20: */ +func Xsqlite3GetTempReg(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:108742:20: */ if int32((*Parse)(unsafe.Pointer(pParse)).FnTempReg) == 0 { return libc.PreIncInt32(&(*Parse)(unsafe.Pointer(pParse)).FnMem, 1) } @@ -102332,7 +102370,7 @@ func Xsqlite3GetTempReg(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:1087 // Deallocate a register, making available for reuse for some other // purpose. -func Xsqlite3ReleaseTempReg(tls *libc.TLS, pParse uintptr, iReg int32) { /* sqlite3.c:108740:21: */ +func Xsqlite3ReleaseTempReg(tls *libc.TLS, pParse uintptr, iReg int32) { /* sqlite3.c:108753:21: */ if iReg != 0 { if int32((*Parse)(unsafe.Pointer(pParse)).FnTempReg) < int32(uint64(unsafe.Sizeof([8]int32{}))/uint64(unsafe.Sizeof(int32(0)))) { @@ -102342,7 +102380,7 @@ func Xsqlite3ReleaseTempReg(tls *libc.TLS, pParse uintptr, iReg int32) { /* sqli } // Allocate or deallocate a block of nReg consecutive registers. -func Xsqlite3GetTempRange(tls *libc.TLS, pParse uintptr, nReg int32) int32 { /* sqlite3.c:108752:20: */ +func Xsqlite3GetTempRange(tls *libc.TLS, pParse uintptr, nReg int32) int32 { /* sqlite3.c:108765:20: */ var i int32 var n int32 if nReg == 1 { @@ -102360,7 +102398,7 @@ func Xsqlite3GetTempRange(tls *libc.TLS, pParse uintptr, nReg int32) int32 { /* return i } -func Xsqlite3ReleaseTempRange(tls *libc.TLS, pParse uintptr, iReg int32, nReg int32) { /* sqlite3.c:108766:21: */ +func Xsqlite3ReleaseTempRange(tls *libc.TLS, pParse uintptr, iReg int32, nReg int32) { /* sqlite3.c:108779:21: */ if nReg == 1 { Xsqlite3ReleaseTempReg(tls, pParse, iReg) return @@ -102378,7 +102416,7 @@ func Xsqlite3ReleaseTempRange(tls *libc.TLS, pParse uintptr, iReg int32, nReg in // that might be invoked from other parts of the code, to ensure that // the sub/co-routine does not use registers in common with the code that // invokes the sub/co-routine. -func Xsqlite3ClearTempRegCache(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:108786:21: */ +func Xsqlite3ClearTempRegCache(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:108799:21: */ (*Parse)(unsafe.Pointer(pParse)).FnTempReg = U8(0) (*Parse)(unsafe.Pointer(pParse)).FnRangeReg = 0 } @@ -102412,7 +102450,7 @@ func Xsqlite3ClearTempRegCache(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:108 // in pParse->zErr (system tables may not be altered) and returns non-zero. // // Or, if zName is not a system table, zero is returned. -func isAlterableTable(tls *libc.TLS, pParse uintptr, pTab uintptr) int32 { /* sqlite3.c:108846:12: */ +func isAlterableTable(tls *libc.TLS, pParse uintptr, pTab uintptr) int32 { /* sqlite3.c:108859:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -102431,7 +102469,7 @@ func isAlterableTable(tls *libc.TLS, pParse uintptr, pTab uintptr) int32 { /* sq // called at the end of the generation of an ALTER TABLE ... RENAME ... // statement to ensure that the operation has not rendered any schema // objects unusable. -func renameTestSchema(tls *libc.TLS, pParse uintptr, zDb uintptr, bTemp int32, zWhen uintptr, bNoDQS int32) { /* sqlite3.c:108868:13: */ +func renameTestSchema(tls *libc.TLS, pParse uintptr, zDb uintptr, bTemp int32, zWhen uintptr, bNoDQS int32) { /* sqlite3.c:108881:13: */ bp := tls.Alloc(64) defer tls.Free(64) @@ -102455,7 +102493,7 @@ func renameTestSchema(tls *libc.TLS, pParse uintptr, zDb uintptr, bTemp int32, z // database zDb with their single-quoted equivalents. If argument bTemp is // not true, similarly update all SQL statements in the sqlite_schema table // of the temp db. -func renameFixQuotes(tls *libc.TLS, pParse uintptr, zDb uintptr, bTemp int32) { /* sqlite3.c:108905:13: */ +func renameFixQuotes(tls *libc.TLS, pParse uintptr, zDb uintptr, bTemp int32) { /* sqlite3.c:108918:13: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -102471,7 +102509,7 @@ func renameFixQuotes(tls *libc.TLS, pParse uintptr, zDb uintptr, bTemp int32) { // Generate code to reload the schema for database iDb. And, if iDb!=1, for // the temp database as well. -func renameReloadSchema(tls *libc.TLS, pParse uintptr, iDb int32, p5 U16) { /* sqlite3.c:108926:13: */ +func renameReloadSchema(tls *libc.TLS, pParse uintptr, iDb int32, p5 U16) { /* sqlite3.c:108939:13: */ var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe if v != 0 { Xsqlite3ChangeCookie(tls, pParse, iDb) @@ -102484,7 +102522,7 @@ func renameReloadSchema(tls *libc.TLS, pParse uintptr, iDb int32, p5 U16) { /* s // Generate code to implement the "ALTER TABLE xxx RENAME TO yyy" // command. -func Xsqlite3AlterRenameTable(tls *libc.TLS, pParse uintptr, pSrc uintptr, pName uintptr) { /* sqlite3.c:108939:21: */ +func Xsqlite3AlterRenameTable(tls *libc.TLS, pParse uintptr, pSrc uintptr, pName uintptr) { /* sqlite3.c:108952:21: */ bp := tls.Alloc(184) defer tls.Free(184) @@ -102669,7 +102707,7 @@ exit_rename_table: // Write code that will raise an error if the table described by // zDb and zTab is not empty. -func sqlite3ErrorIfNotEmpty(tls *libc.TLS, pParse uintptr, zDb uintptr, zTab uintptr, zErr uintptr) { /* sqlite3.c:109108:13: */ +func sqlite3ErrorIfNotEmpty(tls *libc.TLS, pParse uintptr, zDb uintptr, zTab uintptr, zErr uintptr) { /* sqlite3.c:109121:13: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -102684,7 +102722,7 @@ func sqlite3ErrorIfNotEmpty(tls *libc.TLS, pParse uintptr, zDb uintptr, zTab uin // // The Table structure pParse->pNewTable was extended to include // the new column during parsing. -func Xsqlite3AlterFinishAddColumn(tls *libc.TLS, pParse uintptr, pColDef uintptr) { /* sqlite3.c:109128:21: */ +func Xsqlite3AlterFinishAddColumn(tls *libc.TLS, pParse uintptr, pColDef uintptr) { /* sqlite3.c:109141:21: */ bp := tls.Alloc(64) defer tls.Free(64) @@ -102830,7 +102868,7 @@ func Xsqlite3AlterFinishAddColumn(tls *libc.TLS, pParse uintptr, pColDef uintptr // // Routine sqlite3AlterFinishAddColumn() will be called to complete // coding the "ALTER TABLE ... ADD" statement. -func Xsqlite3AlterBeginAddColumn(tls *libc.TLS, pParse uintptr, pSrc uintptr) { /* sqlite3.c:109293:21: */ +func Xsqlite3AlterBeginAddColumn(tls *libc.TLS, pParse uintptr, pSrc uintptr) { /* sqlite3.c:109306:21: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -102947,7 +102985,7 @@ exit_begin_add_column: // it loads an error message into pParse and returns non-zero. // // Or, if pTab is not a view or virtual table, zero is returned. -func isRealTable(tls *libc.TLS, pParse uintptr, pTab uintptr, bDrop int32) int32 { /* sqlite3.c:109376:12: */ +func isRealTable(tls *libc.TLS, pParse uintptr, pTab uintptr, bDrop int32) int32 { /* sqlite3.c:109389:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -102975,7 +103013,7 @@ func isRealTable(tls *libc.TLS, pParse uintptr, pTab uintptr, bDrop int32) int32 // Handles the following parser reduction: // // cmd ::= ALTER TABLE pSrc RENAME COLUMN pOld TO pNew -func Xsqlite3AlterRenameColumn(tls *libc.TLS, pParse uintptr, pSrc uintptr, pOld uintptr, pNew uintptr) { /* sqlite3.c:109406:21: */ +func Xsqlite3AlterRenameColumn(tls *libc.TLS, pParse uintptr, pSrc uintptr, pOld uintptr, pNew uintptr) { /* sqlite3.c:109419:21: */ bp := tls.Alloc(112) defer tls.Free(112) @@ -103104,7 +103142,7 @@ exit_rename_column: // The context of an ALTER TABLE RENAME COLUMN operation that gets passed // down into the Walker. -type RenameCtx = RenameCtx1 /* sqlite3.c:109521:26 */ +type RenameCtx = RenameCtx1 /* sqlite3.c:109534:26 */ // Remember that the parser tree element pPtr was created using // the token pToken. @@ -103116,7 +103154,7 @@ type RenameCtx = RenameCtx1 /* sqlite3.c:109521:26 */ // The pPtr argument is returned so that this routine can be used // with tail recursion in tokenExpr() routine, for a small performance // improvement. -func Xsqlite3RenameTokenMap(tls *libc.TLS, pParse uintptr, pPtr uintptr, pToken uintptr) uintptr { /* sqlite3.c:109584:27: */ +func Xsqlite3RenameTokenMap(tls *libc.TLS, pParse uintptr, pPtr uintptr, pToken uintptr) uintptr { /* sqlite3.c:109597:27: */ var pNew uintptr if int32((*Parse)(unsafe.Pointer(pParse)).FeParseMode) != PARSE_MODE_UNMAP { @@ -103135,7 +103173,7 @@ func Xsqlite3RenameTokenMap(tls *libc.TLS, pParse uintptr, pPtr uintptr, pToken // It is assumed that there is already a RenameToken object associated // with parse tree element pFrom. This function remaps the associated token // to parse tree element pTo. -func Xsqlite3RenameTokenRemap(tls *libc.TLS, pParse uintptr, pTo uintptr, pFrom uintptr) { /* sqlite3.c:109610:21: */ +func Xsqlite3RenameTokenRemap(tls *libc.TLS, pParse uintptr, pTo uintptr, pFrom uintptr) { /* sqlite3.c:109623:21: */ var p uintptr for p = (*Parse)(unsafe.Pointer(pParse)).FpRename; p != 0; p = (*RenameToken)(unsafe.Pointer(p)).FpNext { @@ -103147,7 +103185,7 @@ func Xsqlite3RenameTokenRemap(tls *libc.TLS, pParse uintptr, pTo uintptr, pFrom } // Walker callback used by sqlite3RenameExprUnmap(). -func renameUnmapExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:109624:12: */ +func renameUnmapExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:109637:12: */ var pParse uintptr = (*Walker)(unsafe.Pointer(pWalker)).FpParse Xsqlite3RenameTokenRemap(tls, pParse, uintptr(0), pExpr) if (*Expr)(unsafe.Pointer(pExpr)).Fflags&U32(EP_WinFunc|EP_Subrtn) == U32(0) { @@ -103158,7 +103196,7 @@ func renameUnmapExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* // Iterate through the Select objects that are part of WITH clauses attached // to select statement pSelect. -func renameWalkWith(tls *libc.TLS, pWalker uintptr, pSelect uintptr) { /* sqlite3.c:109637:13: */ +func renameWalkWith(tls *libc.TLS, pWalker uintptr, pSelect uintptr) { /* sqlite3.c:109650:13: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -103199,7 +103237,7 @@ func renameWalkWith(tls *libc.TLS, pWalker uintptr, pSelect uintptr) { /* sqlite } // Unmap all tokens in the IdList object passed as the second argument. -func unmapColumnIdlistNames(tls *libc.TLS, pParse uintptr, pIdList uintptr) { /* sqlite3.c:109672:13: */ +func unmapColumnIdlistNames(tls *libc.TLS, pParse uintptr, pIdList uintptr) { /* sqlite3.c:109685:13: */ if pIdList != 0 { var ii int32 for ii = 0; ii < (*IdList)(unsafe.Pointer(pIdList)).FnId; ii++ { @@ -103209,7 +103247,7 @@ func unmapColumnIdlistNames(tls *libc.TLS, pParse uintptr, pIdList uintptr) { /* } // Walker callback used by sqlite3RenameExprUnmap(). -func renameUnmapSelectCb(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sqlite3.c:109687:12: */ +func renameUnmapSelectCb(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sqlite3.c:109700:12: */ var pParse uintptr = (*Walker)(unsafe.Pointer(pWalker)).FpParse var i int32 if (*Parse)(unsafe.Pointer(pParse)).FnErr != 0 { @@ -103241,7 +103279,7 @@ func renameUnmapSelectCb(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* s } // Remove all nodes that are part of expression pExpr from the rename list. -func Xsqlite3RenameExprUnmap(tls *libc.TLS, pParse uintptr, pExpr uintptr) { /* sqlite3.c:109720:21: */ +func Xsqlite3RenameExprUnmap(tls *libc.TLS, pParse uintptr, pExpr uintptr) { /* sqlite3.c:109733:21: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -103263,7 +103301,7 @@ func Xsqlite3RenameExprUnmap(tls *libc.TLS, pParse uintptr, pExpr uintptr) { /* // Remove all nodes that are part of expression-list pEList from the // rename list. -func Xsqlite3RenameExprlistUnmap(tls *libc.TLS, pParse uintptr, pEList uintptr) { /* sqlite3.c:109736:21: */ +func Xsqlite3RenameExprlistUnmap(tls *libc.TLS, pParse uintptr, pEList uintptr) { /* sqlite3.c:109749:21: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -103286,7 +103324,7 @@ func Xsqlite3RenameExprlistUnmap(tls *libc.TLS, pParse uintptr, pEList uintptr) } // Free the list of RenameToken objects given in the second argument -func renameTokenFree(tls *libc.TLS, db uintptr, pToken uintptr) { /* sqlite3.c:109755:13: */ +func renameTokenFree(tls *libc.TLS, db uintptr, pToken uintptr) { /* sqlite3.c:109768:13: */ var pNext uintptr var p uintptr for p = pToken; p != 0; p = pNext { @@ -103302,7 +103340,7 @@ func renameTokenFree(tls *libc.TLS, db uintptr, pToken uintptr) { /* sqlite3.c:1 // If the second argument passed to this function is not NULL and a matching // RenameToken object is found, remove it from the Parse object and add it to // the list maintained by the RenameCtx object. -func renameTokenFind(tls *libc.TLS, pParse uintptr, pCtx uintptr, pPtr uintptr) uintptr { /* sqlite3.c:109773:20: */ +func renameTokenFind(tls *libc.TLS, pParse uintptr, pCtx uintptr, pPtr uintptr) uintptr { /* sqlite3.c:109786:20: */ var pp uintptr if pPtr == uintptr(0) { return uintptr(0) @@ -103325,7 +103363,7 @@ func renameTokenFind(tls *libc.TLS, pParse uintptr, pCtx uintptr, pPtr uintptr) // This is a Walker select callback. It does nothing. It is only required // because without a dummy callback, sqlite3WalkExpr() and similar do not // descend into sub-select statements. -func renameColumnSelectCb(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sqlite3.c:109802:12: */ +func renameColumnSelectCb(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sqlite3.c:109815:12: */ if (*Select)(unsafe.Pointer(p)).FselFlags&U32(SF_View|SF_CopyCte) != 0 { return WRC_Prune @@ -103341,7 +103379,7 @@ func renameColumnSelectCb(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* // ALTER TABLE statement. If it is, then attach its associated // RenameToken object to the list of RenameToken objects being // constructed in RenameCtx object at pWalker->u.pRename. -func renameColumnExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:109821:12: */ +func renameColumnExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:109834:12: */ var p uintptr = *(*uintptr)(unsafe.Pointer(pWalker + 40)) if int32((*Expr)(unsafe.Pointer(pExpr)).Fop) == TK_TRIGGER && int32((*Expr)(unsafe.Pointer(pExpr)).FiColumn) == (*RenameCtx)(unsafe.Pointer(p)).FiCol && @@ -103363,7 +103401,7 @@ func renameColumnExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { / // the input SQL is parsed from left to right. Repeated calls to this routine // return all column name tokens in the order that they are encountered // in the SQL statement. -func renameColumnTokenNext(tls *libc.TLS, pCtx uintptr) uintptr { /* sqlite3.c:109847:20: */ +func renameColumnTokenNext(tls *libc.TLS, pCtx uintptr) uintptr { /* sqlite3.c:109860:20: */ var pBest uintptr = (*RenameCtx)(unsafe.Pointer(pCtx)).FpList var pToken uintptr var pp uintptr @@ -103385,7 +103423,7 @@ func renameColumnTokenNext(tls *libc.TLS, pCtx uintptr) uintptr { /* sqlite3.c:1 // ALTER TABLE RENAME COLUMN program. The error message emitted by the // sub-routine is currently stored in pParse->zErrMsg. This function // adds context to the error message and then stores it in pCtx. -func renameColumnParseError(tls *libc.TLS, pCtx uintptr, zWhen uintptr, pType uintptr, pObject uintptr, pParse uintptr) { /* sqlite3.c:109868:13: */ +func renameColumnParseError(tls *libc.TLS, pCtx uintptr, zWhen uintptr, pType uintptr, pObject uintptr, pParse uintptr) { /* sqlite3.c:109881:13: */ bp := tls.Alloc(40) defer tls.Free(40) @@ -103409,7 +103447,7 @@ func renameColumnParseError(tls *libc.TLS, pCtx uintptr, zWhen uintptr, pType ui // pEList->a[i].zName) that matches the string in zOld, extract the // corresponding rename-token from Parse object pParse and add it // to the RenameCtx pCtx. -func renameColumnElistNames(tls *libc.TLS, pParse uintptr, pCtx uintptr, pEList uintptr, zOld uintptr) { /* sqlite3.c:109893:13: */ +func renameColumnElistNames(tls *libc.TLS, pParse uintptr, pCtx uintptr, pEList uintptr, zOld uintptr) { /* sqlite3.c:109906:13: */ if pEList != 0 { var i int32 for i = 0; i < (*ExprList)(unsafe.Pointer(pEList)).FnExpr; i++ { @@ -103426,7 +103464,7 @@ func renameColumnElistNames(tls *libc.TLS, pParse uintptr, pCtx uintptr, pEList // For each name in the the id-list pIdList (i.e. each pIdList->a[i].zName) // that matches the string in zOld, extract the corresponding rename-token // from Parse object pParse and add it to the RenameCtx pCtx. -func renameColumnIdlistNames(tls *libc.TLS, pParse uintptr, pCtx uintptr, pIdList uintptr, zOld uintptr) { /* sqlite3.c:109918:13: */ +func renameColumnIdlistNames(tls *libc.TLS, pParse uintptr, pCtx uintptr, pIdList uintptr, zOld uintptr) { /* sqlite3.c:109931:13: */ if pIdList != 0 { var i int32 for i = 0; i < (*IdList)(unsafe.Pointer(pIdList)).FnId; i++ { @@ -103440,7 +103478,7 @@ func renameColumnIdlistNames(tls *libc.TLS, pParse uintptr, pCtx uintptr, pIdLis // Parse the SQL statement zSql using Parse object (*p). The Parse object // is initialized by this function before it is used. -func renameParseSql(tls *libc.TLS, p uintptr, zDb uintptr, db uintptr, zSql uintptr, bTemp int32) int32 { /* sqlite3.c:109940:12: */ +func renameParseSql(tls *libc.TLS, p uintptr, zDb uintptr, db uintptr, zSql uintptr, bTemp int32) int32 { /* sqlite3.c:109953:12: */ var rc int32 Xsqlite3ParseObjectInit(tls, p, db) @@ -103448,7 +103486,7 @@ func renameParseSql(tls *libc.TLS, p uintptr, zDb uintptr, db uintptr, zSql uint return SQLITE_NOMEM } if Xsqlite3_strnicmp(tls, zSql, ts+11210, 7) != 0 { - return Xsqlite3CorruptError(tls, 109954) + return Xsqlite3CorruptError(tls, 109967) } (*Sqlite3)(unsafe.Pointer(db)).Finit.FiDb = func() uint8 { if bTemp != 0 { @@ -103465,7 +103503,7 @@ func renameParseSql(tls *libc.TLS, p uintptr, zDb uintptr, db uintptr, zSql uint } if rc == SQLITE_OK && ((*Parse)(unsafe.Pointer(p)).FpNewTable == uintptr(0) && (*Parse)(unsafe.Pointer(p)).FpNewIndex == uintptr(0) && (*Parse)(unsafe.Pointer(p)).FpNewTrigger == uintptr(0)) { - rc = Xsqlite3CorruptError(tls, 109965) + rc = Xsqlite3CorruptError(tls, 109978) } (*Sqlite3)(unsafe.Pointer(db)).Finit.FiDb = U8(0) @@ -103479,7 +103517,7 @@ func renameParseSql(tls *libc.TLS, p uintptr, zDb uintptr, db uintptr, zSql uint // // Or, if an error occurs (i.e. an OOM condition), an error is left in // pCtx and an SQLite error code returned. -func renameEditSql(tls *libc.TLS, pCtx uintptr, pRename uintptr, zSql uintptr, zNew uintptr, bQuote int32) int32 { /* sqlite3.c:109993:12: */ +func renameEditSql(tls *libc.TLS, pCtx uintptr, pRename uintptr, zSql uintptr, zNew uintptr, bQuote int32) int32 { /* sqlite3.c:110006:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -103584,7 +103622,7 @@ func renameEditSql(tls *libc.TLS, pCtx uintptr, pRename uintptr, zSql uintptr, z // it was read from the schema of database zDb. Return SQLITE_OK if // successful. Otherwise, return an SQLite error code and leave an error // message in the Parse object. -func renameResolveTrigger(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:110100:12: */ +func renameResolveTrigger(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:110113:12: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -103682,7 +103720,7 @@ func renameResolveTrigger(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:11 // Invoke sqlite3WalkExpr() or sqlite3WalkSelect() on all Select or Expr // objects that are part of the trigger passed as the second argument. -func renameWalkTrigger(tls *libc.TLS, pWalker uintptr, pTrigger uintptr) { /* sqlite3.c:110196:13: */ +func renameWalkTrigger(tls *libc.TLS, pWalker uintptr, pTrigger uintptr) { /* sqlite3.c:110209:13: */ var pStep uintptr // Find tokens to edit in WHEN clause @@ -103711,7 +103749,7 @@ func renameWalkTrigger(tls *libc.TLS, pWalker uintptr, pTrigger uintptr) { /* sq // Free the contents of Parse object (*pParse). Do not free the memory // occupied by the Parse object itself. -func renameParseCleanup(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:110227:13: */ +func renameParseCleanup(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:110240:13: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb var pIdx uintptr if (*Parse)(unsafe.Pointer(pParse)).FpVdbe != 0 { @@ -103750,7 +103788,7 @@ func renameParseCleanup(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:110227:13: // It is only accessible to SQL created using sqlite3NestedParse(). It is // not reachable from ordinary SQL passed into sqlite3_prepare() unless the // SQLITE_TESTCTRL_INTERNAL_FUNCTIONS test setting is enabled. -func renameColumnFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { /* sqlite3.c:110268:13: */ +func renameColumnFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { /* sqlite3.c:110281:13: */ bp := tls.Alloc(488) defer tls.Free(488) @@ -104093,7 +104131,7 @@ __44: } // Walker expression callback used by "RENAME TABLE". -func renameTableExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:110435:12: */ +func renameTableExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:110448:12: */ var p uintptr = *(*uintptr)(unsafe.Pointer(pWalker + 40)) if int32((*Expr)(unsafe.Pointer(pExpr)).Fop) == TK_COLUMN && (*Expr)(unsafe.Pointer(pExpr)).Fflags&U32(EP_WinFunc|EP_Subrtn) == U32(0) && @@ -104104,7 +104142,7 @@ func renameTableExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* } // Walker select callback used by "RENAME TABLE". -func renameTableSelectCb(tls *libc.TLS, pWalker uintptr, pSelect uintptr) int32 { /* sqlite3.c:110449:12: */ +func renameTableSelectCb(tls *libc.TLS, pWalker uintptr, pSelect uintptr) int32 { /* sqlite3.c:110462:12: */ var i int32 var p uintptr = *(*uintptr)(unsafe.Pointer(pWalker + 40)) var pSrc uintptr = (*Select)(unsafe.Pointer(pSelect)).FpSrc @@ -104144,7 +104182,7 @@ func renameTableSelectCb(tls *libc.TLS, pWalker uintptr, pSelect uintptr) int32 // // sqlite_rename_table('main', 'CREATE TABLE t1(a REFERENCES t2)','t2','t3',0) // -> 'CREATE TABLE t1(a REFERENCES t3)' -func renameTableFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { /* sqlite3.c:110493:13: */ +func renameTableFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { /* sqlite3.c:110506:13: */ bp := tls.Alloc(544) defer tls.Free(544) @@ -104278,7 +104316,7 @@ func renameTableFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr return } -func renameQuotefixExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:110636:12: */ +func renameQuotefixExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:110649:12: */ if int32((*Expr)(unsafe.Pointer(pExpr)).Fop) == TK_STRING && (*Expr)(unsafe.Pointer(pExpr)).Fflags&U32(EP_DblQuoted) != 0 { renameTokenFind(tls, (*Walker)(unsafe.Pointer(pWalker)).FpParse, *(*uintptr)(unsafe.Pointer(pWalker + 40)), pExpr) } @@ -104311,7 +104349,7 @@ func renameQuotefixExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { // If there is a error in the input SQL, then raise an error, except // if PRAGMA writable_schema=ON, then just return the input string // unmodified following an error. -func renameQuotefixFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { /* sqlite3.c:110670:13: */ +func renameQuotefixFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { /* sqlite3.c:110683:13: */ bp := tls.Alloc(488) defer tls.Free(488) @@ -104425,7 +104463,7 @@ func renameQuotefixFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uint // B. Else if a trigger is created and the the table that the trigger is // attached to is in database zDb, then return 1. // C. Otherwise return NULL. -func renameTableTest(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { /* sqlite3.c:110783:13: */ +func renameTableTest(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { /* sqlite3.c:110796:13: */ bp := tls.Alloc(464) defer tls.Free(464) @@ -104497,7 +104535,7 @@ func renameTableTest(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr // // The value returned is a string containing the CREATE TABLE statement // with column argv[2] removed. -func dropColumnFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { /* sqlite3.c:110858:13: */ +func dropColumnFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { /* sqlite3.c:110871:13: */ bp := tls.Alloc(432) defer tls.Free(432) @@ -104537,7 +104575,7 @@ __1: goto __2 } // This can happen if the sqlite_schema table is corrupt - rc = Xsqlite3CorruptError(tls, 110886) + rc = Xsqlite3CorruptError(tls, 110899) goto drop_column_done __2: ; @@ -104583,7 +104621,7 @@ __7: // // statement. Argument pSrc contains the possibly qualified name of the // table being edited, and token pName the name of the column to drop. -func Xsqlite3AlterDropColumn(tls *libc.TLS, pParse uintptr, pSrc uintptr, pName uintptr) { /* sqlite3.c:110923:21: */ +func Xsqlite3AlterDropColumn(tls *libc.TLS, pParse uintptr, pSrc uintptr, pName uintptr) { /* sqlite3.c:110936:21: */ bp := tls.Alloc(64) defer tls.Free(64) @@ -104816,7 +104854,7 @@ exit_drop_column: } // Register built-in functions used to help implement ALTER TABLE -func Xsqlite3AlterFunctions(tls *libc.TLS) { /* sqlite3.c:111065:21: */ +func Xsqlite3AlterFunctions(tls *libc.TLS) { /* sqlite3.c:111078:21: */ Xsqlite3InsertBuiltinFuncs(tls, uintptr(unsafe.Pointer(&aAlterTableFuncs)), int32(uint64(unsafe.Sizeof(aAlterTableFuncs))/uint64(unsafe.Sizeof(FuncDef{})))) } @@ -104825,7 +104863,7 @@ var aAlterTableFuncs = [5]FuncDef{ {FnArg: int8(7), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_FUNC_INTERNAL | SQLITE_UTF8 | SQLITE_FUNC_CONSTANT), FxSFunc: 0, FzName: ts + 11484}, {FnArg: int8(7), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_FUNC_INTERNAL | SQLITE_UTF8 | SQLITE_FUNC_CONSTANT), FxSFunc: 0, FzName: ts + 11504}, {FnArg: int8(3), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_FUNC_INTERNAL | SQLITE_UTF8 | SQLITE_FUNC_CONSTANT), FxSFunc: 0, FzName: ts + 11523}, - {FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_FUNC_INTERNAL | SQLITE_UTF8 | SQLITE_FUNC_CONSTANT), FxSFunc: 0, FzName: ts + 11542}} /* sqlite3.c:111066:18 */ + {FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_FUNC_INTERNAL | SQLITE_UTF8 | SQLITE_FUNC_CONSTANT), FxSFunc: 0, FzName: ts + 11542}} /* sqlite3.c:111079:18 */ //************* End of alter.c ********************************************** //************* Begin file analyze.c **************************************** @@ -104981,7 +105019,7 @@ var aAlterTableFuncs = [5]FuncDef{ // or it may be a NULL pointer. If it is not NULL, then all entries in // the sqlite_statN tables associated with the named table are deleted. // If zWhere==0, then code is generated to delete all stat table entries. -func openStatTable(tls *libc.TLS, pParse uintptr, iDb int32, iStatCur int32, zWhere uintptr, zWhereType uintptr) { /* sqlite3.c:111244:13: */ +func openStatTable(tls *libc.TLS, pParse uintptr, iDb int32, iStatCur int32, zWhere uintptr, zWhereType uintptr) { /* sqlite3.c:111257:13: */ bp := tls.Alloc(88) defer tls.Free(88) @@ -105061,7 +105099,7 @@ var aTable = [3]struct { {FzName: ts + 11636 /* "sqlite_stat1" */, FzCols: ts + 11649 /* "tbl,idx,stat" */}, {FzName: ts + 11662 /* "sqlite_stat4" */, FzCols: ts + 11675 /* "tbl,idx,neq,nlt,..." */}, {FzName: ts + 11703 /* "sqlite_stat3" */}, -} /* sqlite3.c:111254:5 */ +} /* sqlite3.c:111267:5 */ // Recommended number of samples for sqlite_stat4 @@ -105088,14 +105126,14 @@ type StatAccum1 = struct { FnMaxEqZero int32 FiGet int32 Fa uintptr -} /* sqlite3.c:111342:9 */ +} /* sqlite3.c:111355:9 */ // Recommended number of samples for sqlite_stat4 // Three SQL functions - stat_init(), stat_push(), and stat_get() - // share an instance of the following structure to hold their state // information. -type StatAccum = StatAccum1 /* sqlite3.c:111342:26 */ +type StatAccum = StatAccum1 /* sqlite3.c:111355:26 */ type StatSample1 = struct { FanEq uintptr FanDLt uintptr @@ -105106,12 +105144,12 @@ type StatSample1 = struct { F__ccgo_pad1 [3]byte FiCol int32 FiHash U32 -} /* sqlite3.c:111342:9 */ +} /* sqlite3.c:111355:9 */ -type StatSample = StatSample1 /* sqlite3.c:111343:27 */ +type StatSample = StatSample1 /* sqlite3.c:111356:27 */ // Reclaim memory used by a StatSample -func sampleClear(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:111384:13: */ +func sampleClear(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:111397:13: */ if (*StatSample)(unsafe.Pointer(p)).FnRowid != 0 { Xsqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(p + 24))) @@ -105120,7 +105158,7 @@ func sampleClear(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:111384:13: } // Initialize the BLOB value of a ROWID -func sampleSetRowid(tls *libc.TLS, db uintptr, p uintptr, n int32, pData uintptr) { /* sqlite3.c:111396:13: */ +func sampleSetRowid(tls *libc.TLS, db uintptr, p uintptr, n int32, pData uintptr) { /* sqlite3.c:111409:13: */ if (*StatSample)(unsafe.Pointer(p)).FnRowid != 0 { Xsqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(p + 24))) @@ -105135,7 +105173,7 @@ func sampleSetRowid(tls *libc.TLS, db uintptr, p uintptr, n int32, pData uintptr } // Initialize the INTEGER value of a ROWID. -func sampleSetRowidInt64(tls *libc.TLS, db uintptr, p uintptr, iRowid I64) { /* sqlite3.c:111412:13: */ +func sampleSetRowidInt64(tls *libc.TLS, db uintptr, p uintptr, iRowid I64) { /* sqlite3.c:111425:13: */ if (*StatSample)(unsafe.Pointer(p)).FnRowid != 0 { Xsqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(p + 24))) @@ -105145,7 +105183,7 @@ func sampleSetRowidInt64(tls *libc.TLS, db uintptr, p uintptr, iRowid I64) { /* } // Copy the contents of object (*pFrom) into (*pTo). -func sampleCopy(tls *libc.TLS, p uintptr, pTo uintptr, pFrom uintptr) { /* sqlite3.c:111425:13: */ +func sampleCopy(tls *libc.TLS, p uintptr, pTo uintptr, pFrom uintptr) { /* sqlite3.c:111438:13: */ (*StatSample)(unsafe.Pointer(pTo)).FisPSample = (*StatSample)(unsafe.Pointer(pFrom)).FisPSample (*StatSample)(unsafe.Pointer(pTo)).FiCol = (*StatSample)(unsafe.Pointer(pFrom)).FiCol (*StatSample)(unsafe.Pointer(pTo)).FiHash = (*StatSample)(unsafe.Pointer(pFrom)).FiHash @@ -105160,7 +105198,7 @@ func sampleCopy(tls *libc.TLS, p uintptr, pTo uintptr, pFrom uintptr) { /* sqlit } // Reclaim all memory of a StatAccum structure. -func statAccumDestructor(tls *libc.TLS, pOld uintptr) { /* sqlite3.c:111443:13: */ +func statAccumDestructor(tls *libc.TLS, pOld uintptr) { /* sqlite3.c:111456:13: */ var p uintptr = pOld if (*StatAccum)(unsafe.Pointer(p)).FmxSample != 0 { var i int32 @@ -105195,7 +105233,7 @@ func statAccumDestructor(tls *libc.TLS, pOld uintptr) { /* sqlite3.c:111443:13: // value is a pointer to the StatAccum object. The datatype of the // return value is BLOB, but it is really just a pointer to the StatAccum // object. -func statInit(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:111478:13: */ +func statInit(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:111491:13: */ var p uintptr var nCol int32 // Number of columns in index being sampled var nKeyCol int32 // Number of key columns @@ -105290,7 +105328,7 @@ var statInitFuncdef = FuncDef{ FnArg: int8(4), // nArg FfuncFlags: U32(SQLITE_UTF8), // pNext FxSFunc: 0, // xValue, xInverse - FzName: ts + 11716} /* sqlite3.c:111564:22 */ + FzName: ts + 11716} /* sqlite3.c:111577:22 */ // pNew and pOld are both candidate non-periodic samples selected for // the same column (pNew->iCol==pOld->iCol). Ignoring this column and @@ -105301,7 +105339,7 @@ var statInitFuncdef = FuncDef{ // // This function assumes that for each argument sample, the contents of // the anEq[] array from pSample->anEq[pSample->iCol+1] onwards are valid. -func sampleIsBetterPost(tls *libc.TLS, pAccum uintptr, pNew uintptr, pOld uintptr) int32 { /* sqlite3.c:111588:12: */ +func sampleIsBetterPost(tls *libc.TLS, pAccum uintptr, pNew uintptr, pOld uintptr) int32 { /* sqlite3.c:111601:12: */ var nCol int32 = (*StatAccum)(unsafe.Pointer(pAccum)).FnCol var i int32 @@ -105323,7 +105361,7 @@ func sampleIsBetterPost(tls *libc.TLS, pAccum uintptr, pNew uintptr, pOld uintpt // // This function assumes that for each argument sample, the contents of // the anEq[] array from pSample->anEq[pSample->iCol] onwards are valid. -func sampleIsBetter(tls *libc.TLS, pAccum uintptr, pNew uintptr, pOld uintptr) int32 { /* sqlite3.c:111612:12: */ +func sampleIsBetter(tls *libc.TLS, pAccum uintptr, pNew uintptr, pOld uintptr) int32 { /* sqlite3.c:111625:12: */ var nEqNew TRowcnt = *(*TRowcnt)(unsafe.Pointer((*StatSample)(unsafe.Pointer(pNew)).FanEq + uintptr((*StatSample)(unsafe.Pointer(pNew)).FiCol)*4)) var nEqOld TRowcnt = *(*TRowcnt)(unsafe.Pointer((*StatSample)(unsafe.Pointer(pOld)).FanEq + uintptr((*StatSample)(unsafe.Pointer(pOld)).FiCol)*4)) @@ -105341,7 +105379,7 @@ func sampleIsBetter(tls *libc.TLS, pAccum uintptr, pNew uintptr, pOld uintptr) i // Copy the contents of sample *pNew into the p->a[] array. If necessary, // remove the least desirable sample from p->a[] to make room. -func sampleInsert(tls *libc.TLS, p uintptr, pNew uintptr, nEqZero int32) { /* sqlite3.c:111635:13: */ +func sampleInsert(tls *libc.TLS, p uintptr, pNew uintptr, nEqZero int32) { /* sqlite3.c:111648:13: */ var pSample uintptr var i int32 var pOld uintptr @@ -105484,7 +105522,7 @@ __11: // p->current contains a sample that reflects the previous row of the // index. The value of anEq[iChng] and subsequent anEq[] elements are // correct at this point. -func samplePushPrevious(tls *libc.TLS, p uintptr, iChng int32) { /* sqlite3.c:111727:13: */ +func samplePushPrevious(tls *libc.TLS, p uintptr, iChng int32) { /* sqlite3.c:111740:13: */ var i int32 // Check if any samples from the aBest[] array should be pushed @@ -105536,7 +105574,7 @@ func samplePushPrevious(tls *libc.TLS, p uintptr, iChng int32) { /* sqlite3.c:11 // if it wants the byte-code to do special processing. // // The R parameter is only used for STAT4 -func statPush(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:111779:13: */ +func statPush(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:111792:13: */ var i int32 // The three function arguments @@ -105608,7 +105646,7 @@ var statPushFuncdef = FuncDef{ FnArg: int8(2 + IsStat4), FfuncFlags: U32(SQLITE_UTF8), // pNext FxSFunc: 0, // xValue, xInverse - FzName: ts + 11726} /* sqlite3.c:111854:22 */ + FzName: ts + 11726} /* sqlite3.c:111867:22 */ // Implementation of the stat_get(P,J) SQL function. This routine is // used to query statistical information that has been gathered into @@ -105627,7 +105665,7 @@ var statPushFuncdef = FuncDef{ // STAT_GET_STAT1 and is hence omitted and this routine becomes // a one-parameter function, stat_get(P), that always returns the // stat1 table entry information. -func statGet(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:111891:13: */ +func statGet(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:111904:13: */ bp := tls.Alloc(88) defer tls.Free(88) @@ -105728,9 +105766,9 @@ var statGetFuncdef = FuncDef{ FnArg: int8(1 + IsStat4), FfuncFlags: U32(SQLITE_UTF8), // pNext FxSFunc: 0, // xValue, xInverse - FzName: ts + 11753} /* sqlite3.c:111988:22 */ + FzName: ts + 11753} /* sqlite3.c:112001:22 */ -func callStatGet(tls *libc.TLS, pParse uintptr, regStat int32, iParam int32, regOut int32) { /* sqlite3.c:112000:13: */ +func callStatGet(tls *libc.TLS, pParse uintptr, regStat int32, iParam int32, regOut int32) { /* sqlite3.c:112013:13: */ Xsqlite3VdbeAddOp2(tls, (*Parse)(unsafe.Pointer(pParse)).FpVdbe, OP_Integer, iParam, regStat+1) Xsqlite3VdbeAddFunctionCall(tls, pParse, 0, regStat, regOut, 1+IsStat4, @@ -105739,7 +105777,7 @@ func callStatGet(tls *libc.TLS, pParse uintptr, regStat int32, iParam int32, reg // Generate code to do an analysis of all indices associated with // a single table. -func analyzeOneTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uintptr, iStatCur int32, iMem int32, iTab int32) { /* sqlite3.c:112041:13: */ +func analyzeOneTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uintptr, iStatCur int32, iMem int32, iTab int32) { /* sqlite3.c:112054:13: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb // Database handle var pIdx uintptr // An index to being analyzed var iIdxCur int32 // Cursor open on index being analyzed @@ -106099,7 +106137,7 @@ func analyzeOneTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uintp // Generate code that will cause the most recent index analysis to // be loaded into internal hash tables where is can be used. -func loadAnalysis(tls *libc.TLS, pParse uintptr, iDb int32) { /* sqlite3.c:112403:13: */ +func loadAnalysis(tls *libc.TLS, pParse uintptr, iDb int32) { /* sqlite3.c:112416:13: */ var v uintptr = Xsqlite3GetVdbe(tls, pParse) if v != 0 { Xsqlite3VdbeAddOp1(tls, v, OP_LoadAnalysis, iDb) @@ -106107,7 +106145,7 @@ func loadAnalysis(tls *libc.TLS, pParse uintptr, iDb int32) { /* sqlite3.c:11240 } // Generate code that will do an analysis of an entire database -func analyzeDatabase(tls *libc.TLS, pParse uintptr, iDb int32) { /* sqlite3.c:112413:13: */ +func analyzeDatabase(tls *libc.TLS, pParse uintptr, iDb int32) { /* sqlite3.c:112426:13: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb var pSchema uintptr = (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32)).FpSchema // Schema of database iDb var k uintptr @@ -106132,7 +106170,7 @@ func analyzeDatabase(tls *libc.TLS, pParse uintptr, iDb int32) { /* sqlite3.c:11 // Generate code that will do an analysis of a single table in // a database. If pOnlyIdx is not NULL then it is a single index // in pTab that should be analyzed. -func analyzeTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uintptr) { /* sqlite3.c:112440:13: */ +func analyzeTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uintptr) { /* sqlite3.c:112453:13: */ var iDb int32 var iStatCur int32 @@ -106159,7 +106197,7 @@ func analyzeTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uintptr) // Form 1 causes all indices in all attached databases to be analyzed. // Form 2 analyzes all indices the single database named. // Form 3 analyzes all indices associated with the named table. -func Xsqlite3Analyze(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 uintptr) { /* sqlite3.c:112471:21: */ +func Xsqlite3Analyze(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 uintptr) { /* sqlite3.c:112484:21: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -106222,16 +106260,16 @@ func Xsqlite3Analyze(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 uintp type analysisInfo = struct { Fdb uintptr FzDatabase uintptr -} /* sqlite3.c:112523:9 */ +} /* sqlite3.c:112536:9 */ // Used to pass information from the analyzer reader through to the // callback routine. -type AnalysisInfo = analysisInfo /* sqlite3.c:112523:29 */ +type AnalysisInfo = analysisInfo /* sqlite3.c:112536:29 */ // The first argument points to a nul-terminated string containing a // list of space separated integers. Read the first nOut of these into // the array aOut[]. -func decodeIntArray(tls *libc.TLS, zIntArray uintptr, nOut int32, aOut uintptr, aLog uintptr, pIndex uintptr) { /* sqlite3.c:112534:13: */ +func decodeIntArray(tls *libc.TLS, zIntArray uintptr, nOut int32, aOut uintptr, aLog uintptr, pIndex uintptr) { /* sqlite3.c:112547:13: */ var z uintptr = zIntArray var c int32 var i int32 @@ -106290,7 +106328,7 @@ func decodeIntArray(tls *libc.TLS, zIntArray uintptr, nOut int32, aOut uintptr, // // Entries for which argv[1]==NULL simply record the number of rows in // the table. -func analysisLoader(tls *libc.TLS, pData uintptr, argc int32, argv uintptr, NotUsed uintptr) int32 { /* sqlite3.c:112607:12: */ +func analysisLoader(tls *libc.TLS, pData uintptr, argc int32, argv uintptr, NotUsed uintptr) int32 { /* sqlite3.c:112620:12: */ bp := tls.Alloc(152) defer tls.Free(152) @@ -106352,7 +106390,7 @@ func analysisLoader(tls *libc.TLS, pData uintptr, argc int32, argv uintptr, NotU // If the Index.aSample variable is not NULL, delete the aSample[] array // and its contents. -func Xsqlite3DeleteIndexSamples(tls *libc.TLS, db uintptr, pIdx uintptr) { /* sqlite3.c:112670:21: */ +func Xsqlite3DeleteIndexSamples(tls *libc.TLS, db uintptr, pIdx uintptr) { /* sqlite3.c:112683:21: */ if (*Index)(unsafe.Pointer(pIdx)).FaSample != 0 { var j int32 for j = 0; j < (*Index)(unsafe.Pointer(pIdx)).FnSample; j++ { @@ -106369,7 +106407,7 @@ func Xsqlite3DeleteIndexSamples(tls *libc.TLS, db uintptr, pIdx uintptr) { /* sq // Populate the pIdx->aAvgEq[] array based on the samples currently // stored in pIdx->aSample[]. -func initAvgEq(tls *libc.TLS, pIdx uintptr) { /* sqlite3.c:112695:13: */ +func initAvgEq(tls *libc.TLS, pIdx uintptr) { /* sqlite3.c:112708:13: */ if pIdx != 0 { var aSample uintptr = (*Index)(unsafe.Pointer(pIdx)).FaSample var pFinal uintptr = aSample + uintptr((*Index)(unsafe.Pointer(pIdx)).FnSample-1)*40 @@ -106427,7 +106465,7 @@ func initAvgEq(tls *libc.TLS, pIdx uintptr) { /* sqlite3.c:112695:13: */ // Look up an index by name. Or, if the name of a WITHOUT ROWID table // is supplied instead, find the PRIMARY KEY index for that table. -func findIndexOrPrimaryKey(tls *libc.TLS, db uintptr, zName uintptr, zDb uintptr) uintptr { /* sqlite3.c:112754:14: */ +func findIndexOrPrimaryKey(tls *libc.TLS, db uintptr, zName uintptr, zDb uintptr) uintptr { /* sqlite3.c:112767:14: */ var pIdx uintptr = Xsqlite3FindIndex(tls, db, zName, zDb) if pIdx == uintptr(0) { var pTab uintptr = Xsqlite3FindTable(tls, db, zName, zDb) @@ -106448,7 +106486,7 @@ func findIndexOrPrimaryKey(tls *libc.TLS, db uintptr, zName uintptr, zDb uintptr // zSql2: SELECT idx,neq,nlt,ndlt,sample FROM %Q.sqlite_stat4 // // where %Q is replaced with the database name before the SQL is executed. -func loadStatTbl(tls *libc.TLS, db uintptr, zSql1 uintptr, zSql2 uintptr, zDb uintptr) int32 { /* sqlite3.c:112779:12: */ +func loadStatTbl(tls *libc.TLS, db uintptr, zSql1 uintptr, zSql2 uintptr, zDb uintptr) int32 { /* sqlite3.c:112792:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -106584,7 +106622,7 @@ func loadStatTbl(tls *libc.TLS, db uintptr, zSql1 uintptr, zSql2 uintptr, zDb ui // Load content from the sqlite_stat4 table into // the Index.aSample[] arrays of all indices. -func loadStat4(tls *libc.TLS, db uintptr, zDb uintptr) int32 { /* sqlite3.c:112900:12: */ +func loadStat4(tls *libc.TLS, db uintptr, zDb uintptr) int32 { /* sqlite3.c:112913:12: */ var rc int32 = SQLITE_OK // Result codes from subroutines var pStat4 uintptr @@ -106616,7 +106654,7 @@ func loadStat4(tls *libc.TLS, db uintptr, zDb uintptr) int32 { /* sqlite3.c:1129 // If an OOM error occurs, this function always sets db->mallocFailed. // This means if the caller does not care about other errors, the return // code may be ignored. -func Xsqlite3AnalysisLoad(tls *libc.TLS, db uintptr, iDb int32) int32 { /* sqlite3.c:112938:20: */ +func Xsqlite3AnalysisLoad(tls *libc.TLS, db uintptr, iDb int32) int32 { /* sqlite3.c:112951:20: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -106723,7 +106761,7 @@ func Xsqlite3AnalysisLoad(tls *libc.TLS, db uintptr, iDb int32) int32 { /* sqlit // ATTACH DATABASE abc||def AS 'db2' // // will fail because neither abc or def can be resolved. -func resolveAttachExpr(tls *libc.TLS, pName uintptr, pExpr uintptr) int32 { /* sqlite3.c:113046:12: */ +func resolveAttachExpr(tls *libc.TLS, pName uintptr, pExpr uintptr) int32 { /* sqlite3.c:113059:12: */ var rc int32 = SQLITE_OK if pExpr != 0 { if int32((*Expr)(unsafe.Pointer(pExpr)).Fop) != TK_ID { @@ -106737,7 +106775,7 @@ func resolveAttachExpr(tls *libc.TLS, pName uintptr, pExpr uintptr) int32 { /* s // Return true if zName points to a name that may be used to refer to // database iDb attached to handle db. -func Xsqlite3DbIsNamed(tls *libc.TLS, db uintptr, iDb int32, zName uintptr) int32 { /* sqlite3.c:113063:20: */ +func Xsqlite3DbIsNamed(tls *libc.TLS, db uintptr, iDb int32, zName uintptr) int32 { /* sqlite3.c:113076:20: */ return libc.Bool32(Xsqlite3StrICmp(tls, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(iDb)*32)).FzDbSName, zName) == 0 || iDb == 0 && Xsqlite3StrICmp(tls, ts+6735, zName) == 0) } @@ -106755,7 +106793,7 @@ func Xsqlite3DbIsNamed(tls *libc.TLS, db uintptr, iDb int32, zName uintptr) int3 // If the db->init.reopenMemdb flags is set, then instead of attaching a // new database, close the database on db->init.iDb and reopen it as an // empty MemDB. -func attachFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { /* sqlite3.c:113085:13: */ +func attachFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { /* sqlite3.c:113098:13: */ bp := tls.Alloc(64) defer tls.Free(64) @@ -107048,7 +107086,7 @@ __34: // DETACH DATABASE x // // SELECT sqlite_detach(x) -func detachFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { /* sqlite3.c:113278:13: */ +func detachFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { /* sqlite3.c:113291:13: */ bp := tls.Alloc(152) defer tls.Free(152) @@ -107153,7 +107191,7 @@ detach_error: // This procedure generates VDBE code for a single invocation of either the // sqlite_detach() or sqlite_attach() SQL user functions. -func codeAttach(tls *libc.TLS, pParse uintptr, type1 int32, pFunc uintptr, pAuthArg uintptr, pFilename uintptr, pDbname uintptr, pKey uintptr) { /* sqlite3.c:113340:13: */ +func codeAttach(tls *libc.TLS, pParse uintptr, type1 int32, pFunc uintptr, pAuthArg uintptr, pFilename uintptr, pDbname uintptr, pKey uintptr) { /* sqlite3.c:113353:13: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -107232,7 +107270,7 @@ attach_end: // Called by the parser to compile a DETACH statement. // // DETACH pDbname -func Xsqlite3Detach(tls *libc.TLS, pParse uintptr, pDbname uintptr) { /* sqlite3.c:113412:21: */ +func Xsqlite3Detach(tls *libc.TLS, pParse uintptr, pDbname uintptr) { /* sqlite3.c:113425:21: */ codeAttach(tls, pParse, SQLITE_DETACH, uintptr(unsafe.Pointer(&detach_func)), pDbname, uintptr(0), uintptr(0), pDbname) } @@ -107240,12 +107278,12 @@ var detach_func = FuncDef{ FnArg: int8(1), // nArg FfuncFlags: U32(SQLITE_UTF8), // pNext FxSFunc: 0, // xValue, xInverse - FzName: ts + 12228} /* sqlite3.c:113413:24 */ + FzName: ts + 12228} /* sqlite3.c:113426:24 */ // Called by the parser to compile an ATTACH statement. // // ATTACH p AS pDbname KEY pKey -func Xsqlite3Attach(tls *libc.TLS, pParse uintptr, p uintptr, pDbname uintptr, pKey uintptr) { /* sqlite3.c:113432:21: */ +func Xsqlite3Attach(tls *libc.TLS, pParse uintptr, p uintptr, pDbname uintptr, pKey uintptr) { /* sqlite3.c:113445:21: */ codeAttach(tls, pParse, SQLITE_ATTACH, uintptr(unsafe.Pointer(&attach_func)), p, p, pDbname, pKey) } @@ -107253,10 +107291,10 @@ var attach_func = FuncDef{ FnArg: int8(3), // nArg FfuncFlags: U32(SQLITE_UTF8), // pNext FxSFunc: 0, // xValue, xInverse - FzName: ts + 12242} /* sqlite3.c:113433:24 */ + FzName: ts + 12242} /* sqlite3.c:113446:24 */ // Expression callback used by sqlite3FixAAAA() routines. -func fixExprCb(tls *libc.TLS, p uintptr, pExpr uintptr) int32 { /* sqlite3.c:113451:12: */ +func fixExprCb(tls *libc.TLS, p uintptr, pExpr uintptr) int32 { /* sqlite3.c:113464:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -107276,7 +107314,7 @@ func fixExprCb(tls *libc.TLS, p uintptr, pExpr uintptr) int32 { /* sqlite3.c:113 } // Select callback used by sqlite3FixAAAA() routines. -func fixSelectCb(tls *libc.TLS, p uintptr, pSelect uintptr) int32 { /* sqlite3.c:113468:12: */ +func fixSelectCb(tls *libc.TLS, p uintptr, pSelect uintptr) int32 { /* sqlite3.c:113481:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -107337,7 +107375,7 @@ __3: // Initialize a DbFixer structure. This routine must be called prior // to passing the structure to one of the sqliteFixAAAA() routines below. -func Xsqlite3FixInit(tls *libc.TLS, pFix uintptr, pParse uintptr, iDb int32, zType uintptr, pName uintptr) { /* sqlite3.c:113511:21: */ +func Xsqlite3FixInit(tls *libc.TLS, pFix uintptr, pParse uintptr, iDb int32, zType uintptr, pName uintptr) { /* sqlite3.c:113524:21: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb (*DbFixer)(unsafe.Pointer(pFix)).FpParse = pParse @@ -107373,7 +107411,7 @@ func Xsqlite3FixInit(tls *libc.TLS, pFix uintptr, pParse uintptr, iDb int32, zTy // to an object in a different database, an error message is added to // pParse->zErrMsg and these routines return non-zero. If everything // checks out, these routines return 0. -func Xsqlite3FixSrcList(tls *libc.TLS, pFix uintptr, pList uintptr) int32 { /* sqlite3.c:113549:20: */ +func Xsqlite3FixSrcList(tls *libc.TLS, pFix uintptr, pList uintptr) int32 { /* sqlite3.c:113562:20: */ bp := tls.Alloc(128) defer tls.Free(128) @@ -107388,15 +107426,15 @@ func Xsqlite3FixSrcList(tls *libc.TLS, pFix uintptr, pList uintptr) int32 { /* s return res } -func Xsqlite3FixSelect(tls *libc.TLS, pFix uintptr, pSelect uintptr) int32 { /* sqlite3.c:113563:20: */ +func Xsqlite3FixSelect(tls *libc.TLS, pFix uintptr, pSelect uintptr) int32 { /* sqlite3.c:113576:20: */ return Xsqlite3WalkSelect(tls, pFix+8, pSelect) } -func Xsqlite3FixExpr(tls *libc.TLS, pFix uintptr, pExpr uintptr) int32 { /* sqlite3.c:113569:20: */ +func Xsqlite3FixExpr(tls *libc.TLS, pFix uintptr, pExpr uintptr) int32 { /* sqlite3.c:113582:20: */ return Xsqlite3WalkExpr(tls, pFix+8, pExpr) } -func Xsqlite3FixTriggerStep(tls *libc.TLS, pFix uintptr, pStep uintptr) int32 { /* sqlite3.c:113578:20: */ +func Xsqlite3FixTriggerStep(tls *libc.TLS, pFix uintptr, pStep uintptr) int32 { /* sqlite3.c:113591:20: */ for pStep != 0 { if Xsqlite3WalkSelect(tls, pFix+8, (*TriggerStep)(unsafe.Pointer(pStep)).FpSelect) != 0 || Xsqlite3WalkExpr(tls, pFix+8, (*TriggerStep)(unsafe.Pointer(pStep)).FpWhere) != 0 || @@ -107486,7 +107524,7 @@ func Xsqlite3FixTriggerStep(tls *libc.TLS, pFix uintptr, pStep uintptr) 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) int32 { /* sqlite3.c:113682:16: */ +func Xsqlite3_set_authorizer(tls *libc.TLS, db uintptr, xAuth uintptr, pArg uintptr) int32 { /* sqlite3.c:113695:16: */ Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) (*Sqlite3)(unsafe.Pointer(db)).FxAuth = xAuth (*Sqlite3)(unsafe.Pointer(db)).FpAuthArg = pArg @@ -107499,7 +107537,7 @@ func Xsqlite3_set_authorizer(tls *libc.TLS, db uintptr, xAuth uintptr, pArg uint // Write an error message into pParse->zErrMsg that explains that the // user-supplied authorization function returned an illegal value. -func sqliteAuthBadReturnCode(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:113702:13: */ +func sqliteAuthBadReturnCode(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:113715:13: */ Xsqlite3ErrorMsg(tls, pParse, ts+12326, 0) (*Parse)(unsafe.Pointer(pParse)).Frc = SQLITE_ERROR } @@ -107511,7 +107549,7 @@ func sqliteAuthBadReturnCode(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:11370 // If SQLITE_IGNORE is returned and pExpr is not NULL, then pExpr is changed // to an SQL NULL expression. Otherwise, if pExpr is NULL, then SQLITE_IGNORE // is treated as SQLITE_DENY. In this case an error is left in pParse. -func Xsqlite3AuthReadCol(tls *libc.TLS, pParse uintptr, zTab uintptr, zCol uintptr, iDb int32) int32 { /* sqlite3.c:113716:20: */ +func Xsqlite3AuthReadCol(tls *libc.TLS, pParse uintptr, zTab uintptr, zCol uintptr, iDb int32) int32 { /* sqlite3.c:113729:20: */ bp := tls.Alloc(40) defer tls.Free(40) @@ -107545,7 +107583,7 @@ func Xsqlite3AuthReadCol(tls *libc.TLS, pParse uintptr, zTab uintptr, zCol uintp // If the auth function returns SQLITE_IGNORE, change the TK_COLUMN // instruction into a TK_NULL. If the auth function returns SQLITE_DENY, // then generate an error. -func Xsqlite3AuthRead(tls *libc.TLS, pParse uintptr, pExpr uintptr, pSchema uintptr, pTabList uintptr) { /* sqlite3.c:113752:21: */ +func Xsqlite3AuthRead(tls *libc.TLS, pParse uintptr, pExpr uintptr, pSchema uintptr, pTabList uintptr) { /* sqlite3.c:113765:21: */ var pTab uintptr = uintptr(0) // The table being read var zCol uintptr // Name of the column of the table var iSrc int32 // Index in pTabList->a[] of table being read @@ -107594,7 +107632,7 @@ func Xsqlite3AuthRead(tls *libc.TLS, pParse uintptr, pExpr uintptr, pSchema uint // either SQLITE_OK (zero) or SQLITE_IGNORE or SQLITE_DENY. If SQLITE_DENY // is returned, then the error count and error message in pParse are // modified appropriately. -func Xsqlite3AuthCheck(tls *libc.TLS, pParse uintptr, code int32, zArg1 uintptr, zArg2 uintptr, zArg3 uintptr) int32 { /* sqlite3.c:113809:20: */ +func Xsqlite3AuthCheck(tls *libc.TLS, pParse uintptr, code int32, zArg1 uintptr, zArg2 uintptr, zArg3 uintptr) int32 { /* sqlite3.c:113822:20: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb var rc int32 @@ -107628,7 +107666,7 @@ func Xsqlite3AuthCheck(tls *libc.TLS, pParse uintptr, code int32, zArg1 uintptr, // Push an authorization context. After this routine is called, the // zArg3 argument to authorization callbacks will be zContext until // popped. Or if pParse==0, this routine is a no-op. -func Xsqlite3AuthContextPush(tls *libc.TLS, pParse uintptr, pContext uintptr, zContext uintptr) { /* sqlite3.c:113858:21: */ +func Xsqlite3AuthContextPush(tls *libc.TLS, pParse uintptr, pContext uintptr, zContext uintptr) { /* sqlite3.c:113871:21: */ (*AuthContext)(unsafe.Pointer(pContext)).FpParse = pParse (*AuthContext)(unsafe.Pointer(pContext)).FzAuthContext = (*Parse)(unsafe.Pointer(pParse)).FzAuthContext @@ -107637,7 +107675,7 @@ func Xsqlite3AuthContextPush(tls *libc.TLS, pParse uintptr, pContext uintptr, zC // Pop an authorization context that was previously pushed // by sqlite3AuthContextPush -func Xsqlite3AuthContextPop(tls *libc.TLS, pContext uintptr) { /* sqlite3.c:113873:21: */ +func Xsqlite3AuthContextPop(tls *libc.TLS, pContext uintptr) { /* sqlite3.c:113886:21: */ if (*AuthContext)(unsafe.Pointer(pContext)).FpParse != 0 { (*Parse)(unsafe.Pointer((*AuthContext)(unsafe.Pointer(pContext)).FpParse)).FzAuthContext = (*AuthContext)(unsafe.Pointer(pContext)).FzAuthContext (*AuthContext)(unsafe.Pointer(pContext)).FpParse = uintptr(0) @@ -107652,7 +107690,7 @@ func Xsqlite3AuthContextPop(tls *libc.TLS, pContext uintptr) { /* sqlite3.c:1138 // This routine just records the fact that the lock is desired. The // code to make the lock occur is generated by a later call to // codeTableLocks() which occurs during sqlite3FinishCoding(). -func lockTable(tls *libc.TLS, pParse uintptr, iDb int32, iTab Pgno, isWriteLock U8, zName uintptr) { /* sqlite3.c:113932:29: */ +func lockTable(tls *libc.TLS, pParse uintptr, iDb int32, iTab Pgno, isWriteLock U8, zName uintptr) { /* sqlite3.c:113945:29: */ var pToplevel uintptr var i int32 var nBytes int32 @@ -107686,7 +107724,7 @@ func lockTable(tls *libc.TLS, pParse uintptr, iDb int32, iTab Pgno, isWriteLock } } -func Xsqlite3TableLock(tls *libc.TLS, pParse uintptr, iDb int32, iTab Pgno, isWriteLock U8, zName uintptr) { /* sqlite3.c:113968:21: */ +func Xsqlite3TableLock(tls *libc.TLS, pParse uintptr, iDb int32, iTab Pgno, isWriteLock U8, zName uintptr) { /* sqlite3.c:113981:21: */ if iDb == 1 { return } @@ -107698,7 +107736,7 @@ func Xsqlite3TableLock(tls *libc.TLS, pParse uintptr, iDb int32, iTab Pgno, isWr // Code an OP_TableLock instruction for each table locked by the // statement (configured by calls to sqlite3TableLock()). -func codeTableLocks(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:113984:13: */ +func codeTableLocks(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:113997:13: */ var i int32 var pVdbe uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe @@ -107722,7 +107760,7 @@ func codeTableLocks(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:113984:13: */ // // Note that if an error occurred, it might be the case that // no VDBE code was generated. -func Xsqlite3FinishCoding(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:114023:21: */ +func Xsqlite3FinishCoding(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:114036:21: */ var db uintptr var v uintptr @@ -107875,7 +107913,7 @@ func Xsqlite3FinishCoding(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:114023:2 // * Built-in SQL functions always take precedence over application-defined // SQL functions. In other words, it is not possible to override a // built-in function. -func Xsqlite3NestedParse(tls *libc.TLS, pParse uintptr, zFormat uintptr, va uintptr) { /* sqlite3.c:114194:21: */ +func Xsqlite3NestedParse(tls *libc.TLS, pParse uintptr, zFormat uintptr, va uintptr) { /* sqlite3.c:114207:21: */ bp := tls.Alloc(136) defer tls.Free(136) @@ -107926,7 +107964,7 @@ func Xsqlite3NestedParse(tls *libc.TLS, pParse uintptr, zFormat uintptr, va uint // auxiliary databases added using the ATTACH command. // // See also sqlite3LocateTable(). -func Xsqlite3FindTable(tls *libc.TLS, db uintptr, zName uintptr, zDatabase uintptr) uintptr { /* sqlite3.c:114249:22: */ +func Xsqlite3FindTable(tls *libc.TLS, db uintptr, zName uintptr, zDatabase uintptr) uintptr { /* sqlite3.c:114262:22: */ var p uintptr = uintptr(0) var i int32 @@ -108002,7 +108040,7 @@ func Xsqlite3FindTable(tls *libc.TLS, db uintptr, zName uintptr, zDatabase uintp // The difference between this routine and sqlite3FindTable() is that this // routine leaves an error message in pParse->zErrMsg where // sqlite3FindTable() does not. -func Xsqlite3LocateTable(tls *libc.TLS, pParse uintptr, flags U32, zName uintptr, zDbase uintptr) uintptr { /* sqlite3.c:114327:22: */ +func Xsqlite3LocateTable(tls *libc.TLS, pParse uintptr, flags U32, zName uintptr, zDbase uintptr) uintptr { /* sqlite3.c:114340:22: */ bp := tls.Alloc(40) defer tls.Free(40) @@ -108065,7 +108103,7 @@ func Xsqlite3LocateTable(tls *libc.TLS, pParse uintptr, flags U32, zName uintptr // the search to schema (p->pSchema) if it is not NULL. p->pSchema may be // non-NULL if it is part of a view or trigger program definition. See // sqlite3FixSrcList() for details. -func Xsqlite3LocateTableItem(tls *libc.TLS, pParse uintptr, flags U32, p uintptr) uintptr { /* sqlite3.c:114390:22: */ +func Xsqlite3LocateTableItem(tls *libc.TLS, pParse uintptr, flags U32, p uintptr) uintptr { /* sqlite3.c:114403:22: */ var zDb uintptr if (*SrcItem)(unsafe.Pointer(p)).FpSchema != 0 { @@ -108079,7 +108117,7 @@ func Xsqlite3LocateTableItem(tls *libc.TLS, pParse uintptr, flags U32, p uintptr // Return the preferred table name for system tables. Translate legacy // names into the new preferred names, as appropriate. -func Xsqlite3PreferredTableName(tls *libc.TLS, zName uintptr) uintptr { /* sqlite3.c:114410:27: */ +func Xsqlite3PreferredTableName(tls *libc.TLS, zName uintptr) uintptr { /* sqlite3.c:114423:27: */ if Xsqlite3_strnicmp(tls, zName, ts+8422, 7) == 0 { if Xsqlite3StrICmp(tls, zName+uintptr(7), ts+6247+7) == 0 { return ts + 12422 /* "sqlite_schema" */ @@ -108101,7 +108139,7 @@ func Xsqlite3PreferredTableName(tls *libc.TLS, zName uintptr) uintptr { /* sqlit // for duplicate index names is done.) The search order is // TEMP first, then MAIN, then any auxiliary databases added // using the ATTACH command. -func Xsqlite3FindIndex(tls *libc.TLS, db uintptr, zName uintptr, zDb uintptr) uintptr { /* sqlite3.c:114434:22: */ +func Xsqlite3FindIndex(tls *libc.TLS, db uintptr, zName uintptr, zDb uintptr) uintptr { /* sqlite3.c:114447:22: */ var p uintptr = uintptr(0) var i int32 // All mutexes are required for schema access. Make sure we hold them. @@ -108128,7 +108166,7 @@ func Xsqlite3FindIndex(tls *libc.TLS, db uintptr, zName uintptr, zDb uintptr) ui } // Reclaim the memory used by an index -func Xsqlite3FreeIndex(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:114454:21: */ +func Xsqlite3FreeIndex(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:114467:21: */ Xsqlite3DeleteIndexSamples(tls, db, p) Xsqlite3ExprDelete(tls, db, (*Index)(unsafe.Pointer(p)).FpPartIdxWhere) Xsqlite3ExprListDelete(tls, db, (*Index)(unsafe.Pointer(p)).FaColExpr) @@ -108144,7 +108182,7 @@ func Xsqlite3FreeIndex(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:1144 // unlike that index from its Table then remove the index from // the index hash table and free all memory structures associated // with the index. -func Xsqlite3UnlinkAndDeleteIndex(tls *libc.TLS, db uintptr, iDb int32, zIdxName uintptr) { /* sqlite3.c:114474:21: */ +func Xsqlite3UnlinkAndDeleteIndex(tls *libc.TLS, db uintptr, iDb int32, zIdxName uintptr) { /* sqlite3.c:114487:21: */ var pIndex uintptr var pHash uintptr @@ -108176,7 +108214,7 @@ func Xsqlite3UnlinkAndDeleteIndex(tls *libc.TLS, db uintptr, iDb int32, zIdxName // // Entry 0 (the "main" database) and entry 1 (the "temp" database) // are never candidates for being collapsed. -func Xsqlite3CollapseDatabaseArray(tls *libc.TLS, db uintptr) { /* sqlite3.c:114507:21: */ +func Xsqlite3CollapseDatabaseArray(tls *libc.TLS, db uintptr) { /* sqlite3.c:114520:21: */ var i int32 var j int32 for i = libc.AssignInt32(&j, 2); i < (*Sqlite3)(unsafe.Pointer(db)).FnDb; i++ { @@ -108202,7 +108240,7 @@ func Xsqlite3CollapseDatabaseArray(tls *libc.TLS, db uintptr) { /* sqlite3.c:114 // Reset the schema for the database at index iDb. Also reset the // TEMP schema. The reset is deferred if db->nSchemaLock is not zero. // Deferred resets may be run by calling with iDb<0. -func Xsqlite3ResetOneSchema(tls *libc.TLS, db uintptr, iDb int32) { /* sqlite3.c:114534:21: */ +func Xsqlite3ResetOneSchema(tls *libc.TLS, db uintptr, iDb int32) { /* sqlite3.c:114547:21: */ var i int32 if iDb >= 0 { @@ -108223,7 +108261,7 @@ func Xsqlite3ResetOneSchema(tls *libc.TLS, db uintptr, iDb int32) { /* sqlite3.c // Erase all schema information from all attached databases (including // "main" and "temp") for a single database connection. -func Xsqlite3ResetAllSchemasOfConnection(tls *libc.TLS, db uintptr) { /* sqlite3.c:114558:21: */ +func Xsqlite3ResetAllSchemasOfConnection(tls *libc.TLS, db uintptr) { /* sqlite3.c:114571:21: */ var i int32 Xsqlite3BtreeEnterAll(tls, db) for i = 0; i < (*Sqlite3)(unsafe.Pointer(db)).FnDb; i++ { @@ -108245,14 +108283,14 @@ func Xsqlite3ResetAllSchemasOfConnection(tls *libc.TLS, db uintptr) { /* sqlite3 } // This routine is called when a commit occurs. -func Xsqlite3CommitInternalChanges(tls *libc.TLS, db uintptr) { /* sqlite3.c:114582:21: */ +func Xsqlite3CommitInternalChanges(tls *libc.TLS, db uintptr) { /* sqlite3.c:114595:21: */ *(*U32)(unsafe.Pointer(db + 44)) &= libc.Uint32FromInt32(libc.CplInt32(DBFLAG_SchemaChange)) } // Set the expression associated with a column. This is usually // the DEFAULT value, but might also be the expression that computes // the value for a generated column. -func Xsqlite3ColumnSetExpr(tls *libc.TLS, pParse uintptr, pTab uintptr, pCol uintptr, pExpr uintptr) { /* sqlite3.c:114591:21: */ +func Xsqlite3ColumnSetExpr(tls *libc.TLS, pParse uintptr, pTab uintptr, pCol uintptr, pExpr uintptr) { /* sqlite3.c:114604:21: */ var pList uintptr pList = *(*uintptr)(unsafe.Pointer(pTab + 64 + 16 /* &.pDfltList */)) @@ -108275,7 +108313,7 @@ func Xsqlite3ColumnSetExpr(tls *libc.TLS, pParse uintptr, pTab uintptr, pCol uin // Return the expression associated with a column. The expression might be // the DEFAULT clause or the AS clause of a generated column. // Return NULL if the column has no associated expression. -func Xsqlite3ColumnExpr(tls *libc.TLS, pTab uintptr, pCol uintptr) uintptr { /* sqlite3.c:114617:21: */ +func Xsqlite3ColumnExpr(tls *libc.TLS, pTab uintptr, pCol uintptr) uintptr { /* sqlite3.c:114630:21: */ if int32((*Column)(unsafe.Pointer(pCol)).FiDflt) == 0 { return uintptr(0) } @@ -108292,7 +108330,7 @@ func Xsqlite3ColumnExpr(tls *libc.TLS, pTab uintptr, pCol uintptr) uintptr { /* } // Set the collating sequence name for a column. -func Xsqlite3ColumnSetColl(tls *libc.TLS, db uintptr, pCol uintptr, zColl uintptr) { /* sqlite3.c:114628:21: */ +func Xsqlite3ColumnSetColl(tls *libc.TLS, db uintptr, pCol uintptr, zColl uintptr) { /* sqlite3.c:114641:21: */ var nColl I64 var n I64 var zNew uintptr @@ -108311,7 +108349,7 @@ func Xsqlite3ColumnSetColl(tls *libc.TLS, db uintptr, pCol uintptr, zColl uintpt } // Return the collating squence name for a column -func Xsqlite3ColumnColl(tls *libc.TLS, pCol uintptr) uintptr { /* sqlite3.c:114653:27: */ +func Xsqlite3ColumnColl(tls *libc.TLS, pCol uintptr) uintptr { /* sqlite3.c:114666:27: */ var z uintptr if int32((*Column)(unsafe.Pointer(pCol)).FcolFlags)&COLFLAG_HASCOLL == 0 { return uintptr(0) @@ -108330,7 +108368,7 @@ func Xsqlite3ColumnColl(tls *libc.TLS, pCol uintptr) uintptr { /* sqlite3.c:1146 // Delete memory allocated for the column names of a table or view (the // Table.aCol[] array). -func Xsqlite3DeleteColumnNames(tls *libc.TLS, db uintptr, pTable uintptr) { /* sqlite3.c:114668:21: */ +func Xsqlite3DeleteColumnNames(tls *libc.TLS, db uintptr, pTable uintptr) { /* sqlite3.c:114681:21: */ var i int32 var pCol uintptr @@ -108380,7 +108418,7 @@ func Xsqlite3DeleteColumnNames(tls *libc.TLS, db uintptr, pTable uintptr) { /* s // lookaside memory, but some ephemeral Table objects do.) Or the // db parameter can be used with db->pnBytesFreed to measure the memory // used by the Table object. -func deleteTable(tls *libc.TLS, db uintptr, pTable uintptr) { /* sqlite3.c:114706:29: */ +func deleteTable(tls *libc.TLS, db uintptr, pTable uintptr) { /* sqlite3.c:114719:29: */ var pIndex uintptr var pNext uintptr @@ -108417,7 +108455,7 @@ func deleteTable(tls *libc.TLS, db uintptr, pTable uintptr) { /* sqlite3.c:11470 } -func Xsqlite3DeleteTable(tls *libc.TLS, db uintptr, pTable uintptr) { /* sqlite3.c:114763:21: */ +func Xsqlite3DeleteTable(tls *libc.TLS, db uintptr, pTable uintptr) { /* sqlite3.c:114776:21: */ // Do not delete the table until the reference count reaches zero. if !(pTable != 0) { return @@ -108430,7 +108468,7 @@ func Xsqlite3DeleteTable(tls *libc.TLS, db uintptr, pTable uintptr) { /* sqlite3 // Unlink the given table from the hash tables and the delete the // table structure with all its indices and foreign keys. -func Xsqlite3UnlinkAndDeleteTable(tls *libc.TLS, db uintptr, iDb int32, zTabName uintptr) { /* sqlite3.c:114775:21: */ +func Xsqlite3UnlinkAndDeleteTable(tls *libc.TLS, db uintptr, iDb int32, zTabName uintptr) { /* sqlite3.c:114788:21: */ var p uintptr var pDb uintptr @@ -108452,7 +108490,7 @@ func Xsqlite3UnlinkAndDeleteTable(tls *libc.TLS, db uintptr, iDb int32, zTabName // Tokens are often just pointers into the original SQL text and so // are not \000 terminated and are not persistent. The returned string // is \000 terminated and is persistent. -func Xsqlite3NameFromToken(tls *libc.TLS, db uintptr, pName uintptr) uintptr { /* sqlite3.c:114803:21: */ +func Xsqlite3NameFromToken(tls *libc.TLS, db uintptr, pName uintptr) uintptr { /* sqlite3.c:114816:21: */ var zName uintptr if pName != 0 { zName = Xsqlite3DbStrNDup(tls, db, (*Token)(unsafe.Pointer(pName)).Fz, uint64((*Token)(unsafe.Pointer(pName)).Fn)) @@ -108465,7 +108503,7 @@ func Xsqlite3NameFromToken(tls *libc.TLS, db uintptr, pName uintptr) uintptr { / // Open the sqlite_schema table stored in database number iDb for // writing. The table is opened using cursor 0. -func Xsqlite3OpenSchemaTable(tls *libc.TLS, p uintptr, iDb int32) { /* sqlite3.c:114818:21: */ +func Xsqlite3OpenSchemaTable(tls *libc.TLS, p uintptr, iDb int32) { /* sqlite3.c:114831:21: */ var v uintptr = Xsqlite3GetVdbe(tls, p) Xsqlite3TableLock(tls, p, iDb, uint32(SCHEMA_ROOT), uint8(1), ts+6247) Xsqlite3VdbeAddOp4Int(tls, v, OP_OpenWrite, 0, SCHEMA_ROOT, iDb, 5) @@ -108478,7 +108516,7 @@ func Xsqlite3OpenSchemaTable(tls *libc.TLS, p uintptr, iDb int32) { /* sqlite3.c // of a database ("main", "temp" or the name of an attached db). This // function returns the index of the named database in db->aDb[], or // -1 if the named db cannot be found. -func Xsqlite3FindDbName(tls *libc.TLS, db uintptr, zName uintptr) int32 { /* sqlite3.c:114833:20: */ +func Xsqlite3FindDbName(tls *libc.TLS, db uintptr, zName uintptr) int32 { /* sqlite3.c:114846:20: */ var i int32 = -1 // Database number if zName != 0 { var pDb uintptr @@ -108514,7 +108552,7 @@ func Xsqlite3FindDbName(tls *libc.TLS, db uintptr, zName uintptr) int32 { /* sql // "temp" or the name of an attached db). This routine returns the // index of the named database in db->aDb[], or -1 if the named db // does not exist. -func Xsqlite3FindDb(tls *libc.TLS, db uintptr, pName uintptr) int32 { /* sqlite3.c:114853:20: */ +func Xsqlite3FindDb(tls *libc.TLS, db uintptr, pName uintptr) int32 { /* sqlite3.c:114866:20: */ var i int32 // Database number var zName uintptr // Name we are searching for zName = Xsqlite3NameFromToken(tls, db, pName) @@ -108538,7 +108576,7 @@ func Xsqlite3FindDb(tls *libc.TLS, db uintptr, pName uintptr) int32 { /* sqlite3 // This routine sets the *ppUnqual pointer to point at the token (pName1 or // pName2) that stores the unqualified table name. The index of the // database "xxx" is returned. -func Xsqlite3TwoPartName(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 uintptr, pUnqual uintptr) int32 { /* sqlite3.c:114878:20: */ +func Xsqlite3TwoPartName(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 uintptr, pUnqual uintptr) int32 { /* sqlite3.c:114891:20: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -108565,7 +108603,7 @@ func Xsqlite3TwoPartName(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 u } // True if PRAGMA writable_schema is ON -func Xsqlite3WritableSchema(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:114911:20: */ +func Xsqlite3WritableSchema(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:114924:20: */ return libc.Bool32((*Sqlite3)(unsafe.Pointer(db)).Fflags&uint64(SQLITE_WriteSchema|SQLITE_Defensive) == uint64(SQLITE_WriteSchema)) } @@ -108579,7 +108617,7 @@ func Xsqlite3WritableSchema(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:1149 // When parsing the sqlite_schema table, this routine also checks to // make sure the "type", "name", and "tbl_name" columns are consistent // with the SQL. -func Xsqlite3CheckObjectName(tls *libc.TLS, pParse uintptr, zName uintptr, zType uintptr, zTblName uintptr) int32 { /* sqlite3.c:114933:20: */ +func Xsqlite3CheckObjectName(tls *libc.TLS, pParse uintptr, zName uintptr, zType uintptr, zTblName uintptr) int32 { /* sqlite3.c:114946:20: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -108610,7 +108648,7 @@ func Xsqlite3CheckObjectName(tls *libc.TLS, pParse uintptr, zName uintptr, zType } // Return the PRIMARY KEY index of a table -func Xsqlite3PrimaryKeyIndex(tls *libc.TLS, pTab uintptr) uintptr { /* sqlite3.c:114971:22: */ +func Xsqlite3PrimaryKeyIndex(tls *libc.TLS, pTab uintptr) uintptr { /* sqlite3.c:114984:22: */ var p uintptr for p = (*Table)(unsafe.Pointer(pTab)).FpIndex; p != 0 && !(int32(*(*uint16)(unsafe.Pointer(p + 100 /* &.idxType */))&0x3>>0) == SQLITE_IDXTYPE_PRIMARYKEY); p = (*Index)(unsafe.Pointer(p)).FpNext { } @@ -108621,7 +108659,7 @@ func Xsqlite3PrimaryKeyIndex(tls *libc.TLS, pTab uintptr) uintptr { /* sqlite3.c // for the column iCol in the table (as defined by the CREATE TABLE statement) // find the (first) offset of that column in index pIdx. Or return -1 // if column iCol is not used in index pIdx. -func Xsqlite3TableColumnToIndex(tls *libc.TLS, pIdx uintptr, iCol I16) I16 { /* sqlite3.c:114983:20: */ +func Xsqlite3TableColumnToIndex(tls *libc.TLS, pIdx uintptr, iCol I16) I16 { /* sqlite3.c:114996:20: */ var i int32 for i = 0; i < int32((*Index)(unsafe.Pointer(pIdx)).FnColumn); i++ { if int32(iCol) == int32(*(*I16)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FaiColumn + uintptr(i)*2))) { @@ -108641,7 +108679,7 @@ func Xsqlite3TableColumnToIndex(tls *libc.TLS, pIdx uintptr, iCol I16) I16 { /* // and only there are VIRTUAL columns to the left. // // If SQLITE_OMIT_GENERATED_COLUMNS, this routine is a no-op macro. -func Xsqlite3StorageColumnToTable(tls *libc.TLS, pTab uintptr, iCol I16) I16 { /* sqlite3.c:115003:20: */ +func Xsqlite3StorageColumnToTable(tls *libc.TLS, pTab uintptr, iCol I16) I16 { /* sqlite3.c:115016:20: */ if (*Table)(unsafe.Pointer(pTab)).FtabFlags&U32(TF_HasVirtual) != 0 { var i int32 for i = 0; i <= int32(iCol); i++ { @@ -108688,7 +108726,7 @@ func Xsqlite3StorageColumnToTable(tls *libc.TLS, pTab uintptr, iCol I16) I16 { / // this routine is a no-op macro. If the pTab does not have any virtual // columns, then this routine is no-op that always return iCol. If iCol // is negative (indicating the ROWID column) then this routine return iCol. -func Xsqlite3TableColumnToStorage(tls *libc.TLS, pTab uintptr, iCol I16) I16 { /* sqlite3.c:115051:20: */ +func Xsqlite3TableColumnToStorage(tls *libc.TLS, pTab uintptr, iCol I16) I16 { /* sqlite3.c:115064:20: */ var i int32 var n I16 @@ -108718,7 +108756,7 @@ func Xsqlite3TableColumnToStorage(tls *libc.TLS, pTab uintptr, iCol I16) I16 { / // exists, so that the prepared statement for CREATE TABLE IF NOT EXISTS // will return false for sqlite3_stmt_readonly() even if that statement // is a read-only no-op. -func sqlite3ForceNotReadOnly(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:115077:13: */ +func sqlite3ForceNotReadOnly(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:115090:13: */ var iReg int32 = libc.PreIncInt32(&(*Parse)(unsafe.Pointer(pParse)).FnMem, 1) var v uintptr = Xsqlite3GetVdbe(tls, pParse) if v != 0 { @@ -108741,7 +108779,7 @@ func sqlite3ForceNotReadOnly(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:11507 // routines will be called to add more information to this record. // At the end of the CREATE TABLE statement, the sqlite3EndTable() routine // is called to complete the construction of the new table record. -func Xsqlite3StartTable(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 uintptr, isTemp int32, isView int32, isVirtual int32, noErr int32) { /* sqlite3.c:115102:21: */ +func Xsqlite3StartTable(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 uintptr, isTemp int32, isView int32, isVirtual int32, noErr int32) { /* sqlite3.c:115115:21: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -108999,8 +109037,8 @@ var aCode = [4]U8{ U8(SQLITE_CREATE_TEMP_TABLE), U8(SQLITE_CREATE_VIEW), U8(SQLITE_CREATE_TEMP_VIEW), -} /* sqlite3.c:115149:21 */ -var nullRow = [6]int8{int8(6), int8(0), int8(0), int8(0), int8(0), int8(0)} /* sqlite3.c:115228:23 */ +} /* sqlite3.c:115162:21 */ +var nullRow = [6]int8{int8(6), int8(0), int8(0), int8(0), int8(0), int8(0)} /* sqlite3.c:115241:23 */ // Set properties of a table column based on the (magical) // name of the column. @@ -109010,7 +109048,7 @@ var nullRow = [6]int8{int8(6), int8(0), int8(0), int8(0), int8(0), int8(0)} /* s // with any application-generated triggers. // Clean up the data structures associated with the RETURNING clause. -func sqlite3DeleteReturning(tls *libc.TLS, db uintptr, pRet uintptr) { /* sqlite3.c:115313:13: */ +func sqlite3DeleteReturning(tls *libc.TLS, db uintptr, pRet uintptr) { /* sqlite3.c:115326:13: */ var pHash uintptr pHash = (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+1*32)).FpSchema + 56 Xsqlite3HashInsert(tls, pHash, ts+12666, uintptr(0)) @@ -109032,7 +109070,7 @@ func sqlite3DeleteReturning(tls *libc.TLS, db uintptr, pRet uintptr) { /* sqlite // is attached to a DELETE, INSERT, or UPDATE, so construct it as a // RETURNING trigger instead. It will then be converted into the appropriate // type on the first call to sqlite3TriggersExist(). -func Xsqlite3AddReturning(tls *libc.TLS, pParse uintptr, pList uintptr) { /* sqlite3.c:115337:21: */ +func Xsqlite3AddReturning(tls *libc.TLS, pParse uintptr, pList uintptr) { /* sqlite3.c:115350:21: */ var pRet uintptr var pHash uintptr var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb @@ -109082,7 +109120,7 @@ func Xsqlite3AddReturning(tls *libc.TLS, pParse uintptr, pList uintptr) { /* sql // in a CREATE TABLE statement. sqlite3StartTable() gets called // first to get things going. Then this routine is called for each // column. -func Xsqlite3AddColumn(tls *libc.TLS, pParse uintptr, sName Token, sType Token) { /* sqlite3.c:115385:21: */ +func Xsqlite3AddColumn(tls *libc.TLS, pParse uintptr, sName Token, sType Token) { /* sqlite3.c:115398:21: */ bp := tls.Alloc(48) defer tls.Free(48) *(*Token)(unsafe.Pointer(bp + 16)) = sName @@ -109201,7 +109239,7 @@ func Xsqlite3AddColumn(tls *libc.TLS, pParse uintptr, sName Token, sType Token) // parsing a CREATE TABLE statement. A "NOT NULL" constraint has // been seen on a column. This routine sets the notNull flag on // the column currently under construction. -func Xsqlite3AddNotNull(tls *libc.TLS, pParse uintptr, onError int32) { /* sqlite3.c:115498:21: */ +func Xsqlite3AddNotNull(tls *libc.TLS, pParse uintptr, onError int32) { /* sqlite3.c:115511:21: */ var p uintptr var pCol uintptr p = (*Parse)(unsafe.Pointer(pParse)).FpNewTable @@ -109248,7 +109286,7 @@ func Xsqlite3AddNotNull(tls *libc.TLS, pParse uintptr, onError int32) { /* sqlit // // If none of the substrings in the above table are found, // SQLITE_AFF_NUMERIC is returned. -func Xsqlite3AffinityType(tls *libc.TLS, zIn uintptr, pCol uintptr) int8 { /* sqlite3.c:115545:21: */ +func Xsqlite3AffinityType(tls *libc.TLS, zIn uintptr, pCol uintptr) int8 { /* sqlite3.c:115558:21: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -109322,7 +109360,7 @@ func Xsqlite3AffinityType(tls *libc.TLS, zIn uintptr, pCol uintptr) int8 { /* sq // // This routine is called by the parser while in the middle of // parsing a CREATE TABLE statement. -func Xsqlite3AddDefaultValue(tls *libc.TLS, pParse uintptr, pExpr uintptr, zStart uintptr, zEnd uintptr) { /* sqlite3.c:115622:21: */ +func Xsqlite3AddDefaultValue(tls *libc.TLS, pParse uintptr, pExpr uintptr, zStart uintptr, zEnd uintptr) { /* sqlite3.c:115635:21: */ bp := tls.Alloc(80) defer tls.Free(80) @@ -109375,7 +109413,7 @@ func Xsqlite3AddDefaultValue(tls *libc.TLS, pParse uintptr, pExpr uintptr, zStar // if the expression is just a TK_STRING with an optional COLLATE clause. // If the expression is anything other than TK_STRING, the expression is // unchanged. -func sqlite3StringToId(tls *libc.TLS, p uintptr) { /* sqlite3.c:115681:13: */ +func sqlite3StringToId(tls *libc.TLS, p uintptr) { /* sqlite3.c:115694:13: */ if int32((*Expr)(unsafe.Pointer(p)).Fop) == TK_STRING { (*Expr)(unsafe.Pointer(p)).Fop = U8(TK_ID) } else if int32((*Expr)(unsafe.Pointer(p)).Fop) == TK_COLLATE && int32((*Expr)(unsafe.Pointer((*Expr)(unsafe.Pointer(p)).FpLeft)).Fop) == TK_STRING { @@ -109384,7 +109422,7 @@ func sqlite3StringToId(tls *libc.TLS, p uintptr) { /* sqlite3.c:115681:13: */ } // Tag the given column as being part of the PRIMARY KEY -func makeColumnPartOfPrimaryKey(tls *libc.TLS, pParse uintptr, pCol uintptr) { /* sqlite3.c:115692:13: */ +func makeColumnPartOfPrimaryKey(tls *libc.TLS, pParse uintptr, pCol uintptr) { /* sqlite3.c:115705:13: */ *(*U16)(unsafe.Pointer(pCol + 16)) |= U16(COLFLAG_PRIMKEY) if int32((*Column)(unsafe.Pointer(pCol)).FcolFlags)&COLFLAG_GENERATED != 0 { @@ -109409,7 +109447,7 @@ func makeColumnPartOfPrimaryKey(tls *libc.TLS, pParse uintptr, pCol uintptr) { / // // If the key is not an INTEGER PRIMARY KEY, then create a unique // index for the key. No index is created for INTEGER PRIMARY KEYs. -func Xsqlite3AddPrimaryKey(tls *libc.TLS, pParse uintptr, pList uintptr, onError int32, autoInc int32, sortOrder int32) { /* sqlite3.c:115722:21: */ +func Xsqlite3AddPrimaryKey(tls *libc.TLS, pParse uintptr, pList uintptr, onError int32, autoInc int32, sortOrder int32) { /* sqlite3.c:115735:21: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -109540,7 +109578,7 @@ primary_key_exit: } // Add a new CHECK constraint to the table currently under construction. -func Xsqlite3AddCheckConstraint(tls *libc.TLS, pParse uintptr, pCheckExpr uintptr, zStart uintptr, zEnd uintptr) { /* sqlite3.c:115799:21: */ +func Xsqlite3AddCheckConstraint(tls *libc.TLS, pParse uintptr, pCheckExpr uintptr, zStart uintptr, zEnd uintptr) { /* sqlite3.c:115812:21: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -109570,7 +109608,7 @@ func Xsqlite3AddCheckConstraint(tls *libc.TLS, pParse uintptr, pCheckExpr uintpt // Set the collation function of the most recently parsed table column // to the CollSeq given. -func Xsqlite3AddCollateType(tls *libc.TLS, pParse uintptr, pToken uintptr) { /* sqlite3.c:115833:21: */ +func Xsqlite3AddCollateType(tls *libc.TLS, pParse uintptr, pToken uintptr) { /* sqlite3.c:115846:21: */ var p uintptr var i int32 var zColl uintptr // Dequoted name of collation sequence @@ -109605,7 +109643,7 @@ func Xsqlite3AddCollateType(tls *libc.TLS, pParse uintptr, pToken uintptr) { /* // Change the most recently parsed column to be a GENERATED ALWAYS AS // column. -func Xsqlite3AddGenerated(tls *libc.TLS, pParse uintptr, pExpr uintptr, pType uintptr) { /* sqlite3.c:115866:21: */ +func Xsqlite3AddGenerated(tls *libc.TLS, pParse uintptr, pExpr uintptr, pType uintptr) { /* sqlite3.c:115879:21: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -109700,7 +109738,7 @@ generated_done: // // IMPLEMENTATION-OF: R-34230-56049 SQLite automatically increments // the schema-version whenever the schema changes. -func Xsqlite3ChangeCookie(tls *libc.TLS, pParse uintptr, iDb int32) { /* sqlite3.c:115934:21: */ +func Xsqlite3ChangeCookie(tls *libc.TLS, pParse uintptr, iDb int32) { /* sqlite3.c:115947:21: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe @@ -109714,7 +109752,7 @@ func Xsqlite3ChangeCookie(tls *libc.TLS, pParse uintptr, iDb int32) { /* sqlite3 // // The estimate is conservative. It might be larger that what is // really needed. -func identLength(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:115950:12: */ +func identLength(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:115963:12: */ var n int32 n = 0 __1: @@ -109749,7 +109787,7 @@ __3: // characters, does not begin with a digit and is not an SQL keyword, // then it is copied to the output buffer exactly as it is. Otherwise, // it is quoted using double-quotes. -func identPut(tls *libc.TLS, z uintptr, pIdx uintptr, zSignedIdent uintptr) { /* sqlite3.c:115971:13: */ +func identPut(tls *libc.TLS, z uintptr, pIdx uintptr, zSignedIdent uintptr) { /* sqlite3.c:115984:13: */ var zIdent uintptr = zSignedIdent var i int32 var j int32 @@ -109785,7 +109823,7 @@ func identPut(tls *libc.TLS, z uintptr, pIdx uintptr, zSignedIdent uintptr) { /* // Generate a CREATE TABLE statement appropriate for the given // table. Memory to hold the text of the statement is obtained // from sqliteMalloc() and must be freed by the calling function. -func createTableStmt(tls *libc.TLS, db uintptr, p uintptr) uintptr { /* sqlite3.c:115999:13: */ +func createTableStmt(tls *libc.TLS, db uintptr, p uintptr) uintptr { /* sqlite3.c:116012:13: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -109877,11 +109915,11 @@ var azType1 = [5]uintptr{ ts + 13141, ts + 13146, ts + 13151, -} /* sqlite3.c:116029:23 */ +} /* sqlite3.c:116042:23 */ // Resize an Index object to hold N columns total. Return SQLITE_OK // on success and SQLITE_NOMEM on an OOM error. -func resizeIndexObject(tls *libc.TLS, db uintptr, pIdx uintptr, N int32) int32 { /* sqlite3.c:116067:12: */ +func resizeIndexObject(tls *libc.TLS, db uintptr, pIdx uintptr, N int32) int32 { /* sqlite3.c:116080:12: */ var zExtra uintptr var nByte int32 if int32((*Index)(unsafe.Pointer(pIdx)).FnColumn) >= N { @@ -109910,7 +109948,7 @@ func resizeIndexObject(tls *libc.TLS, db uintptr, pIdx uintptr, N int32) int32 { } // Estimate the total row width for a table. -func estimateTableWidth(tls *libc.TLS, pTab uintptr) { /* sqlite3.c:116094:13: */ +func estimateTableWidth(tls *libc.TLS, pTab uintptr) { /* sqlite3.c:116107:13: */ var wTable uint32 = uint32(0) var pTabCol uintptr var i int32 @@ -109939,7 +109977,7 @@ __3: } // Estimate the average size of a row for an index. -func estimateIndexWidth(tls *libc.TLS, pIdx uintptr) { /* sqlite3.c:116108:13: */ +func estimateIndexWidth(tls *libc.TLS, pIdx uintptr) { /* sqlite3.c:116121:13: */ var wIndex uint32 = uint32(0) var i int32 var aCol uintptr = (*Table)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FpTable)).FaCol @@ -109959,7 +109997,7 @@ func estimateIndexWidth(tls *libc.TLS, pIdx uintptr) { /* sqlite3.c:116108:13: * // Return true if column number x is any of the first nCol entries of aiCol[]. // This is used to determine if the column number x appears in any of the // first nCol entries of an index. -func hasColumn(tls *libc.TLS, aiCol uintptr, nCol int32, x int32) int32 { /* sqlite3.c:116124:12: */ +func hasColumn(tls *libc.TLS, aiCol uintptr, nCol int32, x int32) int32 { /* sqlite3.c:116137:12: */ for libc.PostDecInt32(&nCol, 1) > 0 { if x == int32(*(*I16)(unsafe.Pointer(libc.PostIncUintptr(&aiCol, 2)))) { return 1 @@ -109979,7 +110017,7 @@ func hasColumn(tls *libc.TLS, aiCol uintptr, nCol int32, x int32) int32 { /* sql // This routine differs from hasColumn() in that both the column and the // collating sequence must match for this routine, but for hasColumn() only // the column name must match. -func isDupColumn(tls *libc.TLS, pIdx uintptr, nKey int32, pPk uintptr, iCol int32) int32 { /* sqlite3.c:116146:12: */ +func isDupColumn(tls *libc.TLS, pIdx uintptr, nKey int32, pPk uintptr, iCol int32) int32 { /* sqlite3.c:116159:12: */ var i int32 var j int32 @@ -110012,7 +110050,7 @@ func isDupColumn(tls *libc.TLS, pIdx uintptr, nKey int32, pPk uintptr, iCol int3 // // The colNotIdxed mask is AND-ed with the SrcList.a[].colUsed mask // to determine if the index is covering index. -func recomputeColumnsNotIndexed(tls *libc.TLS, pIdx uintptr) { /* sqlite3.c:116185:13: */ +func recomputeColumnsNotIndexed(tls *libc.TLS, pIdx uintptr) { /* sqlite3.c:116198:13: */ var m Bitmask = uint64(0) var j int32 var pTab uintptr = (*Index)(unsafe.Pointer(pIdx)).FpTable @@ -110051,7 +110089,7 @@ func recomputeColumnsNotIndexed(tls *libc.TLS, pIdx uintptr) { /* sqlite3.c:1161 // indices with the PRIMARY KEY columns. // // For virtual tables, only (1) is performed. -func convertToWithoutRowidTable(tls *libc.TLS, pParse uintptr, pTab uintptr) { /* sqlite3.c:116225:13: */ +func convertToWithoutRowidTable(tls *libc.TLS, pParse uintptr, pTab uintptr) { /* sqlite3.c:116238:13: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -110214,7 +110252,7 @@ func convertToWithoutRowidTable(tls *libc.TLS, pParse uintptr, pTab uintptr) { / // Return true if pTab is a virtual table and zName is a shadow table name // for that virtual table. -func Xsqlite3IsShadowTableOf(tls *libc.TLS, db uintptr, pTab uintptr, zName uintptr) int32 { /* sqlite3.c:116385:20: */ +func Xsqlite3IsShadowTableOf(tls *libc.TLS, db uintptr, pTab uintptr, zName uintptr) int32 { /* sqlite3.c:116398:20: */ var nName int32 // Length of zName var pMod uintptr // Module for the virtual table @@ -110247,7 +110285,7 @@ func Xsqlite3IsShadowTableOf(tls *libc.TLS, db uintptr, pTab uintptr, zName uint // exists and has an xShadowName method, then loop over all other ordinary // tables within the same schema looking for shadow tables of pTab, and mark // any shadow tables seen using the TF_Shadow flag. -func Xsqlite3MarkAllShadowTablesOf(tls *libc.TLS, db uintptr, pTab uintptr) { /* sqlite3.c:116408:21: */ +func Xsqlite3MarkAllShadowTablesOf(tls *libc.TLS, db uintptr, pTab uintptr) { /* sqlite3.c:116421:21: */ var nName int32 // Length of pTab->zName var pMod uintptr // Module for the virtual table var k uintptr // For looping through the symbol table @@ -110291,7 +110329,7 @@ func Xsqlite3MarkAllShadowTablesOf(tls *libc.TLS, db uintptr, pTab uintptr) { /* // // zName is temporarily modified while this routine is running, but is // restored to its original value prior to this routine returning. -func Xsqlite3ShadowTableName(tls *libc.TLS, db uintptr, zName uintptr) int32 { /* sqlite3.c:116444:20: */ +func Xsqlite3ShadowTableName(tls *libc.TLS, db uintptr, zName uintptr) int32 { /* sqlite3.c:116457:20: */ var zTail uintptr // Pointer to the last "_" in zName var pTab uintptr // Table that zName is a shadow of zTail = libc.Xstrrchr(tls, zName, '_') @@ -110328,7 +110366,7 @@ func Xsqlite3ShadowTableName(tls *libc.TLS, db uintptr, zName uintptr) int32 { / // was called to create a table generated from a // "CREATE TABLE ... AS SELECT ..." statement. The column names of // the new table will match the result set of the SELECT. -func Xsqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr, tabOpts U32, pSelect uintptr) { /* sqlite3.c:116505:21: */ +func Xsqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr, tabOpts U32, pSelect uintptr) { /* sqlite3.c:116518:21: */ bp := tls.Alloc(184) defer tls.Free(184) @@ -110649,7 +110687,7 @@ func Xsqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr } // The parser calls this routine in order to create a new VIEW -func Xsqlite3CreateView(tls *libc.TLS, pParse uintptr, pBegin uintptr, pName1 uintptr, pName2 uintptr, pCNames uintptr, pSelect uintptr, isTemp int32, noErr int32) { /* sqlite3.c:116847:21: */ +func Xsqlite3CreateView(tls *libc.TLS, pParse uintptr, pBegin uintptr, pName1 uintptr, pName2 uintptr, pCNames uintptr, pSelect uintptr, isTemp int32, noErr int32) { /* sqlite3.c:116860:21: */ bp := tls.Alloc(120) defer tls.Free(120) @@ -110767,7 +110805,7 @@ __10: // The Table structure pTable is really a VIEW. Fill in the names of // the columns of the view in the pTable structure. Return the number // of errors. If an error is seen leave an error message in pParse->zErrMsg. -func Xsqlite3ViewGetColumnNames(tls *libc.TLS, pParse uintptr, pTable uintptr) int32 { /* sqlite3.c:116939:20: */ +func Xsqlite3ViewGetColumnNames(tls *libc.TLS, pParse uintptr, pTable uintptr) int32 { /* sqlite3.c:116952:20: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -110882,7 +110920,7 @@ func Xsqlite3ViewGetColumnNames(tls *libc.TLS, pParse uintptr, pTable uintptr) i } // Clear the column names from every VIEW in database idx. -func sqliteViewResetAll(tls *libc.TLS, db uintptr, idx int32) { /* sqlite3.c:117067:13: */ +func sqliteViewResetAll(tls *libc.TLS, db uintptr, idx int32) { /* sqlite3.c:117080:13: */ var i uintptr if !(int32((*Schema)(unsafe.Pointer((*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(idx)*32)).FpSchema)).FschemaFlags)&DB_UnresetViews == DB_UnresetViews) { @@ -110912,7 +110950,7 @@ func sqliteViewResetAll(tls *libc.TLS, db uintptr, idx int32) { /* sqlite3.c:117 // We must continue looping until all tables and indices with // rootpage==iFrom have been converted to have a rootpage of iTo // in order to be certain that we got the right one. -func Xsqlite3RootPageMoved(tls *libc.TLS, db uintptr, iDb int32, iFrom Pgno, iTo Pgno) { /* sqlite3.c:117101:21: */ +func Xsqlite3RootPageMoved(tls *libc.TLS, db uintptr, iDb int32, iFrom Pgno, iTo Pgno) { /* sqlite3.c:117114:21: */ var pElem uintptr var pHash uintptr var pDb uintptr @@ -110938,7 +110976,7 @@ func Xsqlite3RootPageMoved(tls *libc.TLS, db uintptr, iDb int32, iFrom Pgno, iTo // Also write code to modify the sqlite_schema table and internal schema // if a root-page of another table is moved by the btree-layer whilst // erasing iTable (this can happen with an auto-vacuum database). -func destroyRootPage(tls *libc.TLS, pParse uintptr, iTable int32, iDb int32) { /* sqlite3.c:117131:13: */ +func destroyRootPage(tls *libc.TLS, pParse uintptr, iTable int32, iDb int32) { /* sqlite3.c:117144:13: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -110968,7 +111006,7 @@ func destroyRootPage(tls *libc.TLS, pParse uintptr, iTable int32, iDb int32) { / // Code to update the sqlite_schema tables and internal schema definitions // in case a root-page belonging to another table is moved by the btree layer // is also added (this can happen with an auto-vacuum database). -func destroyTable(tls *libc.TLS, pParse uintptr, pTab uintptr) { /* sqlite3.c:117161:13: */ +func destroyTable(tls *libc.TLS, pParse uintptr, pTab uintptr) { /* sqlite3.c:117174:13: */ // If the database may be auto-vacuum capable (if SQLITE_OMIT_AUTOVACUUM // is not defined), then it is important to call OP_Destroy on the // table and index root-pages in order, starting with the numerically @@ -111014,7 +111052,7 @@ func destroyTable(tls *libc.TLS, pParse uintptr, pTab uintptr) { /* sqlite3.c:11 // Remove entries from the sqlite_statN tables (for N in (1,2,3)) // after a DROP INDEX or DROP TABLE command. -func sqlite3ClearStatTables(tls *libc.TLS, pParse uintptr, iDb int32, zType uintptr, zName uintptr) { /* sqlite3.c:117210:13: */ +func sqlite3ClearStatTables(tls *libc.TLS, pParse uintptr, iDb int32, zType uintptr, zName uintptr) { /* sqlite3.c:117223:13: */ bp := tls.Alloc(64) defer tls.Free(64) @@ -111033,7 +111071,7 @@ func sqlite3ClearStatTables(tls *libc.TLS, pParse uintptr, iDb int32, zType uint } // Generate code to drop a table. -func Xsqlite3CodeDropTable(tls *libc.TLS, pParse uintptr, pTab uintptr, iDb int32, isView int32) { /* sqlite3.c:117233:21: */ +func Xsqlite3CodeDropTable(tls *libc.TLS, pParse uintptr, pTab uintptr, iDb int32, isView int32) { /* sqlite3.c:117246:21: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -111097,7 +111135,7 @@ func Xsqlite3CodeDropTable(tls *libc.TLS, pParse uintptr, pTab uintptr, iDb int3 // Return TRUE if shadow tables should be read-only in the current // context. -func Xsqlite3ReadOnlyShadowTables(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:117306:20: */ +func Xsqlite3ReadOnlyShadowTables(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:117319:20: */ if (*Sqlite3)(unsafe.Pointer(db)).Fflags&uint64(SQLITE_Defensive) != uint64(0) && (*Sqlite3)(unsafe.Pointer(db)).FpVtabCtx == uintptr(0) && (*Sqlite3)(unsafe.Pointer(db)).FnVdbeExec == 0 && @@ -111108,7 +111146,7 @@ func Xsqlite3ReadOnlyShadowTables(tls *libc.TLS, db uintptr) int32 { /* sqlite3. } // Return true if it is not allowed to drop the given table -func tableMayNotBeDropped(tls *libc.TLS, db uintptr, pTab uintptr) int32 { /* sqlite3.c:117322:12: */ +func tableMayNotBeDropped(tls *libc.TLS, db uintptr, pTab uintptr) int32 { /* sqlite3.c:117335:12: */ if Xsqlite3_strnicmp(tls, (*Table)(unsafe.Pointer(pTab)).FzName, ts+8422, 7) == 0 { if Xsqlite3_strnicmp(tls, (*Table)(unsafe.Pointer(pTab)).FzName+uintptr(7), ts+3230, 4) == 0 { return 0 @@ -111129,7 +111167,7 @@ func tableMayNotBeDropped(tls *libc.TLS, db uintptr, pTab uintptr) int32 { /* sq // This routine is called to do the work of a DROP TABLE statement. // pName is the name of the table to be dropped. -func Xsqlite3DropTable(tls *libc.TLS, pParse uintptr, pName uintptr, isView int32, noErr int32) { /* sqlite3.c:117341:21: */ +func Xsqlite3DropTable(tls *libc.TLS, pParse uintptr, pName uintptr, isView int32, noErr int32) { /* sqlite3.c:117354:21: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -111317,7 +111355,7 @@ exit_drop_table: // // The foreign key is set for IMMEDIATE processing. A subsequent call // to sqlite3DeferForeignKey() might change this to DEFERRED. -func Xsqlite3CreateForeignKey(tls *libc.TLS, pParse uintptr, pFromCol uintptr, pTo uintptr, pToCol uintptr, flags int32) { /* sqlite3.c:117461:21: */ +func Xsqlite3CreateForeignKey(tls *libc.TLS, pParse uintptr, pFromCol uintptr, pTo uintptr, pToCol uintptr, flags int32) { /* sqlite3.c:117474:21: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -111540,7 +111578,7 @@ fk_end: // parameter is 1 for INITIALLY DEFERRED and 0 for INITIALLY IMMEDIATE. // The behavior of the most recently created foreign key is adjusted // accordingly. -func Xsqlite3DeferForeignKey(tls *libc.TLS, pParse uintptr, isDeferred int32) { /* sqlite3.c:117593:21: */ +func Xsqlite3DeferForeignKey(tls *libc.TLS, pParse uintptr, isDeferred int32) { /* sqlite3.c:117606:21: */ var pTab uintptr var pFKey uintptr if libc.AssignUintptr(&pTab, (*Parse)(unsafe.Pointer(pParse)).FpNewTable) == uintptr(0) { @@ -111565,7 +111603,7 @@ func Xsqlite3DeferForeignKey(tls *libc.TLS, pParse uintptr, isDeferred int32) { // root page number of the index. If memRootPage is negative, then // the index already exists and must be cleared before being refilled and // the root page number of the index is taken from pIndex->tnum. -func sqlite3RefillIndex(tls *libc.TLS, pParse uintptr, pIndex uintptr, memRootPage int32) { /* sqlite3.c:117616:13: */ +func sqlite3RefillIndex(tls *libc.TLS, pParse uintptr, pIndex uintptr, memRootPage int32) { /* sqlite3.c:117629:13: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -111677,7 +111715,7 @@ func sqlite3RefillIndex(tls *libc.TLS, pParse uintptr, pIndex uintptr, memRootPa // Increase the allocation size to provide an extra nExtra bytes // of 8-byte aligned space after the Index object and return a // pointer to this extra space in *ppExtra. -func Xsqlite3AllocateIndexObject(tls *libc.TLS, db uintptr, nCol I16, nExtra int32, ppExtra uintptr) uintptr { /* sqlite3.c:117722:22: */ +func Xsqlite3AllocateIndexObject(tls *libc.TLS, db uintptr, nCol I16, nExtra int32, ppExtra uintptr) uintptr { /* sqlite3.c:117735:22: */ var p uintptr // Allocated index object var nByte int32 // Bytes of space for Index object + arrays @@ -111702,7 +111740,7 @@ func Xsqlite3AllocateIndexObject(tls *libc.TLS, db uintptr, nCol I16, nExtra int // If expression list pList contains an expression that was parsed with // an explicit "NULLS FIRST" or "NULLS LAST" clause, leave an error in // pParse and return non-zero. Otherwise, return zero. -func Xsqlite3HasExplicitNulls(tls *libc.TLS, pParse uintptr, pList uintptr) int32 { /* sqlite3.c:117755:20: */ +func Xsqlite3HasExplicitNulls(tls *libc.TLS, pParse uintptr, pList uintptr) int32 { /* sqlite3.c:117768:20: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -111735,7 +111773,7 @@ func Xsqlite3HasExplicitNulls(tls *libc.TLS, pParse uintptr, pList uintptr) int3 // pList is a list of columns to be indexed. pList will be NULL if this // is a primary key or unique-constraint on the most recent column added // to the table currently under construction. -func Xsqlite3CreateIndex(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 uintptr, pTblName uintptr, pList uintptr, onError int32, pStart uintptr, pPIWhere uintptr, sortOrder int32, ifNotExist int32, idxType U8) { /* sqlite3.c:117783:21: */ +func Xsqlite3CreateIndex(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 uintptr, pTblName uintptr, pList uintptr, onError int32, pStart uintptr, pPIWhere uintptr, sortOrder int32, ifNotExist int32, idxType U8) { /* sqlite3.c:117796:21: */ bp := tls.Alloc(256) defer tls.Free(256) @@ -112505,7 +112543,7 @@ __81: goto __101 } Xsqlite3ErrorMsg(tls, pParse, ts+14480, 0) - (*Parse)(unsafe.Pointer(pParse)).Frc = Xsqlite3CorruptError(tls, 118239) + (*Parse)(unsafe.Pointer(pParse)).Frc = Xsqlite3CorruptError(tls, 118252) goto exit_create_index __101: ; @@ -112691,7 +112729,7 @@ __113: // Apart from that, we have little to go on besides intuition as to // how aiRowEst[] should be initialized. The numbers generated here // are based on typical values found in actual indices. -func Xsqlite3DefaultRowEst(tls *libc.TLS, pIdx uintptr) { /* sqlite3.c:118394:21: */ +func Xsqlite3DefaultRowEst(tls *libc.TLS, pIdx uintptr) { /* sqlite3.c:118407:21: */ var a uintptr = (*Index)(unsafe.Pointer(pIdx)).FaiRowLogEst var x LogEst var nCopy int32 = func() int32 { @@ -112735,11 +112773,11 @@ func Xsqlite3DefaultRowEst(tls *libc.TLS, pIdx uintptr) { /* sqlite3.c:118394:21 } } -var aVal = [5]LogEst{int16(33), int16(32), int16(30), int16(28), int16(26)} /* sqlite3.c:118396:23 */ +var aVal = [5]LogEst{int16(33), int16(32), int16(30), int16(28), int16(26)} /* sqlite3.c:118409:23 */ // This routine will drop an existing named index. This routine // implements the DROP INDEX statement. -func Xsqlite3DropIndex(tls *libc.TLS, pParse uintptr, pName uintptr, ifExists int32) { /* sqlite3.c:118438:21: */ +func Xsqlite3DropIndex(tls *libc.TLS, pParse uintptr, pName uintptr, ifExists int32) { /* sqlite3.c:118451:21: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -112858,7 +112896,7 @@ exit_drop_index: // // Otherwise, if the realloc() fails, *pIdx is set to -1, *pnEntry remains // unchanged and a copy of pArray returned. -func Xsqlite3ArrayAllocate(tls *libc.TLS, db uintptr, pArray uintptr, szEntry int32, pnEntry uintptr, pIdx uintptr) uintptr { /* sqlite3.c:118520:21: */ +func Xsqlite3ArrayAllocate(tls *libc.TLS, db uintptr, pArray uintptr, szEntry int32, pnEntry uintptr, pIdx uintptr) uintptr { /* sqlite3.c:118533:21: */ var z uintptr var n Sqlite3_int64 = Sqlite3_int64(libc.AssignPtrInt32(pIdx, *(*int32)(unsafe.Pointer(pnEntry)))) if n&(n-int64(1)) == int64(0) { @@ -112885,7 +112923,7 @@ func Xsqlite3ArrayAllocate(tls *libc.TLS, db uintptr, pArray uintptr, szEntry in // need be. // // A new IdList is returned, or NULL if malloc() fails. -func Xsqlite3IdListAppend(tls *libc.TLS, pParse uintptr, pList uintptr, pToken uintptr) uintptr { /* sqlite3.c:118550:23: */ +func Xsqlite3IdListAppend(tls *libc.TLS, pParse uintptr, pList uintptr, pToken uintptr) uintptr { /* sqlite3.c:118563:23: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -112916,7 +112954,7 @@ func Xsqlite3IdListAppend(tls *libc.TLS, pParse uintptr, pList uintptr, pToken u } // Delete an IdList. -func Xsqlite3IdListDelete(tls *libc.TLS, db uintptr, pList uintptr) { /* sqlite3.c:118578:21: */ +func Xsqlite3IdListDelete(tls *libc.TLS, db uintptr, pList uintptr) { /* sqlite3.c:118591:21: */ var i int32 if pList == uintptr(0) { return @@ -112930,7 +112968,7 @@ func Xsqlite3IdListDelete(tls *libc.TLS, db uintptr, pList uintptr) { /* sqlite3 // Return the index in pList of the identifier named zId. Return -1 // if not found. -func Xsqlite3IdListIndex(tls *libc.TLS, pList uintptr, zName uintptr) int32 { /* sqlite3.c:118592:20: */ +func Xsqlite3IdListIndex(tls *libc.TLS, pList uintptr, zName uintptr) int32 { /* sqlite3.c:118605:20: */ var i int32 if pList == uintptr(0) { return -1 @@ -112968,7 +113006,7 @@ func Xsqlite3IdListIndex(tls *libc.TLS, pList uintptr, zName uintptr) int32 { /* // If a memory allocation fails or the SrcList becomes too large, leave // the original SrcList unchanged, return NULL, and leave an error message // in pParse. -func Xsqlite3SrcListEnlarge(tls *libc.TLS, pParse uintptr, pSrc uintptr, nExtra int32, iStart int32) uintptr { /* sqlite3.c:118633:24: */ +func Xsqlite3SrcListEnlarge(tls *libc.TLS, pParse uintptr, pSrc uintptr, nExtra int32, iStart int32) uintptr { /* sqlite3.c:118646:24: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -113050,7 +113088,7 @@ func Xsqlite3SrcListEnlarge(tls *libc.TLS, pParse uintptr, pSrc uintptr, nExtra // // Both pTable and pDatabase are assumed to be quoted. They are dequoted // before being added to the SrcList. -func Xsqlite3SrcListAppend(tls *libc.TLS, pParse uintptr, pList uintptr, pTable uintptr, pDatabase uintptr) uintptr { /* sqlite3.c:118722:24: */ +func Xsqlite3SrcListAppend(tls *libc.TLS, pParse uintptr, pList uintptr, pTable uintptr, pDatabase uintptr) uintptr { /* sqlite3.c:118735:24: */ var pItem uintptr var db uintptr // Cannot have C without B @@ -113089,7 +113127,7 @@ func Xsqlite3SrcListAppend(tls *libc.TLS, pParse uintptr, pList uintptr, pTable } // Assign VdbeCursor index numbers to all tables in a SrcList -func Xsqlite3SrcListAssignCursors(tls *libc.TLS, pParse uintptr, pList uintptr) { /* sqlite3.c:118767:21: */ +func Xsqlite3SrcListAssignCursors(tls *libc.TLS, pParse uintptr, pList uintptr) { /* sqlite3.c:118780:21: */ var i int32 var pItem uintptr @@ -113121,7 +113159,7 @@ func Xsqlite3SrcListAssignCursors(tls *libc.TLS, pParse uintptr, pList uintptr) } // Delete an entire SrcList including all its substructure. -func Xsqlite3SrcListDelete(tls *libc.TLS, db uintptr, pList uintptr) { /* sqlite3.c:118785:21: */ +func Xsqlite3SrcListDelete(tls *libc.TLS, db uintptr, pList uintptr) { /* sqlite3.c:118798:21: */ var i int32 var pItem uintptr if pList == uintptr(0) { @@ -113184,7 +113222,7 @@ __3: // // Return a new SrcList which encodes is the FROM with the new // term added. -func Xsqlite3SrcListAppendFromTerm(tls *libc.TLS, pParse uintptr, p uintptr, pTable uintptr, pDatabase uintptr, pAlias uintptr, pSubquery uintptr, pOn uintptr, pUsing uintptr) uintptr { /* sqlite3.c:118819:24: */ +func Xsqlite3SrcListAppendFromTerm(tls *libc.TLS, pParse uintptr, p uintptr, pTable uintptr, pDatabase uintptr, pAlias uintptr, pSubquery uintptr, pOn uintptr, pUsing uintptr) uintptr { /* sqlite3.c:118832:24: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -113248,7 +113286,7 @@ append_from_error: // Add an INDEXED BY or NOT INDEXED clause to the most recently added // element of the source-list passed as the second argument. -func Xsqlite3SrcListIndexedBy(tls *libc.TLS, pParse uintptr, p uintptr, pIndexedBy uintptr) { /* sqlite3.c:118870:21: */ +func Xsqlite3SrcListIndexedBy(tls *libc.TLS, pParse uintptr, p uintptr, pIndexedBy uintptr) { /* sqlite3.c:118883:21: */ if p != 0 && (*Token)(unsafe.Pointer(pIndexedBy)).Fn > uint32(0) { var pItem uintptr @@ -113270,7 +113308,7 @@ func Xsqlite3SrcListIndexedBy(tls *libc.TLS, pParse uintptr, p uintptr, pIndexed // Append the contents of SrcList p2 to SrcList p1 and return the resulting // SrcList. Or, if an error occurs, return NULL. In all cases, p1 and p2 // are deleted by this function. -func Xsqlite3SrcListAppendList(tls *libc.TLS, pParse uintptr, p1 uintptr, p2 uintptr) uintptr { /* sqlite3.c:118896:24: */ +func Xsqlite3SrcListAppendList(tls *libc.TLS, pParse uintptr, p1 uintptr, p2 uintptr) uintptr { /* sqlite3.c:118909:24: */ if p2 != 0 { var pNew uintptr = Xsqlite3SrcListEnlarge(tls, pParse, p1, (*SrcList)(unsafe.Pointer(p2)).FnSrc, 1) @@ -113287,7 +113325,7 @@ func Xsqlite3SrcListAppendList(tls *libc.TLS, pParse uintptr, p1 uintptr, p2 uin // Add the list of function arguments to the SrcList entry for a // table-valued-function. -func Xsqlite3SrcListFuncArgs(tls *libc.TLS, pParse uintptr, p uintptr, pList uintptr) { /* sqlite3.c:118915:21: */ +func Xsqlite3SrcListFuncArgs(tls *libc.TLS, pParse uintptr, p uintptr, pList uintptr) { /* sqlite3.c:118928:21: */ if p != 0 { var pItem uintptr = p + 8 + uintptr((*SrcList)(unsafe.Pointer(p)).FnSrc-1)*112 @@ -113311,7 +113349,7 @@ func Xsqlite3SrcListFuncArgs(tls *libc.TLS, pParse uintptr, p uintptr, pList uin // The operator is "natural cross join". The A and B operands are stored // in p->a[0] and p->a[1], respectively. The parser initially stores the // operator with A. This routine shifts that operator over to B. -func Xsqlite3SrcListShiftJoinType(tls *libc.TLS, p uintptr) { /* sqlite3.c:118943:21: */ +func Xsqlite3SrcListShiftJoinType(tls *libc.TLS, p uintptr) { /* sqlite3.c:118956:21: */ if p != 0 { var i int32 for i = (*SrcList)(unsafe.Pointer(p)).FnSrc - 1; i > 0; i-- { @@ -113322,7 +113360,7 @@ func Xsqlite3SrcListShiftJoinType(tls *libc.TLS, p uintptr) { /* sqlite3.c:11894 } // Generate VDBE code for a BEGIN statement. -func Xsqlite3BeginTransaction(tls *libc.TLS, pParse uintptr, type1 int32) { /* sqlite3.c:118956:21: */ +func Xsqlite3BeginTransaction(tls *libc.TLS, pParse uintptr, type1 int32) { /* sqlite3.c:118969:21: */ var db uintptr var v uintptr var i int32 @@ -113357,7 +113395,7 @@ func Xsqlite3BeginTransaction(tls *libc.TLS, pParse uintptr, type1 int32) { /* s // Generate VDBE code for a COMMIT or ROLLBACK statement. // Code for ROLLBACK is generated if eType==TK_ROLLBACK. Otherwise // code is generated for a COMMIT. -func Xsqlite3EndTransaction(tls *libc.TLS, pParse uintptr, eType int32) { /* sqlite3.c:118992:21: */ +func Xsqlite3EndTransaction(tls *libc.TLS, pParse uintptr, eType int32) { /* sqlite3.c:119005:21: */ var v uintptr var isRollback int32 @@ -113379,7 +113417,7 @@ func Xsqlite3EndTransaction(tls *libc.TLS, pParse uintptr, eType int32) { /* sql // This function is called by the parser when it parses a command to create, // release or rollback an SQL savepoint. -func Xsqlite3Savepoint(tls *libc.TLS, pParse uintptr, op int32, pName uintptr) { /* sqlite3.c:119014:21: */ +func Xsqlite3Savepoint(tls *libc.TLS, pParse uintptr, op int32, pName uintptr) { /* sqlite3.c:119027:21: */ var zName uintptr = Xsqlite3NameFromToken(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, pName) if zName != 0 { var v uintptr = Xsqlite3GetVdbe(tls, pParse) @@ -113392,11 +113430,11 @@ func Xsqlite3Savepoint(tls *libc.TLS, pParse uintptr, op int32, pName uintptr) { } } -var az = [3]uintptr{ts + 14843, ts + 14865, ts + 14849} /* sqlite3.c:119019:23 */ +var az = [3]uintptr{ts + 14843, ts + 14865, ts + 14849} /* sqlite3.c:119032:23 */ // Make sure the TEMP database is open and available for use. Return // the number of errors. Leave any error messages in the pParse structure. -func Xsqlite3OpenTempDatabase(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:119034:20: */ +func Xsqlite3OpenTempDatabase(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:119047:20: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -113422,13 +113460,13 @@ func Xsqlite3OpenTempDatabase(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3. return 0 } -var flags int32 = SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE | SQLITE_OPEN_EXCLUSIVE | SQLITE_OPEN_DELETEONCLOSE | SQLITE_OPEN_TEMP_DB /* sqlite3.c:119039:22 */ +var flags int32 = SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE | SQLITE_OPEN_EXCLUSIVE | SQLITE_OPEN_DELETEONCLOSE | SQLITE_OPEN_TEMP_DB /* sqlite3.c:119052:22 */ // Record the fact that the schema cookie will need to be verified // for database iDb. The code to actually verify the schema cookie // will occur at the end of the top-level VDBE and will be generated // later, by sqlite3FinishCoding(). -func sqlite3CodeVerifySchemaAtToplevel(tls *libc.TLS, pToplevel uintptr, iDb int32) { /* sqlite3.c:119069:13: */ +func sqlite3CodeVerifySchemaAtToplevel(tls *libc.TLS, pToplevel uintptr, iDb int32) { /* sqlite3.c:119082:13: */ if libc.Bool32((*Parse)(unsafe.Pointer(pToplevel)).FcookieMask&(YDbMask(YDbMask(1))< UTF-16 conversion if // possible. -func synthCollSeq(tls *libc.TLS, db uintptr, pColl uintptr) int32 { /* sqlite3.c:119579:12: */ +func synthCollSeq(tls *libc.TLS, db uintptr, pColl uintptr) int32 { /* sqlite3.c:119592:12: */ var pColl2 uintptr var z uintptr = (*CollSeq)(unsafe.Pointer(pColl)).FzName var i int32 @@ -113941,7 +113979,7 @@ func synthCollSeq(tls *libc.TLS, db uintptr, pColl uintptr) int32 { /* sqlite3.c return SQLITE_ERROR } -var aEnc = [3]U8{U8(SQLITE_UTF16BE), U8(SQLITE_UTF16LE), U8(SQLITE_UTF8)} /* sqlite3.c:119583:19 */ +var aEnc = [3]U8{U8(SQLITE_UTF16BE), U8(SQLITE_UTF16LE), U8(SQLITE_UTF8)} /* sqlite3.c:119596:19 */ // This routine is called on a collation sequence before it is used to // check that it is defined. An undefined collation sequence exists when @@ -113952,7 +113990,7 @@ var aEnc = [3]U8{U8(SQLITE_UTF16BE), U8(SQLITE_UTF16LE), U8(SQLITE_UTF8)} /* sql // request a definition of the collating sequence. If this doesn't work, // an equivalent collating sequence that uses a text encoding different // from the main database is substituted, if one is available. -func Xsqlite3CheckCollSeq(tls *libc.TLS, pParse uintptr, pColl uintptr) int32 { /* sqlite3.c:119606:20: */ +func Xsqlite3CheckCollSeq(tls *libc.TLS, pParse uintptr, pColl uintptr) int32 { /* sqlite3.c:119619:20: */ if pColl != 0 && (*CollSeq)(unsafe.Pointer(pColl)).FxCmp == uintptr(0) { var zName uintptr = (*CollSeq)(unsafe.Pointer(pColl)).FzName var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb @@ -113976,7 +114014,7 @@ func Xsqlite3CheckCollSeq(tls *libc.TLS, pParse uintptr, pColl uintptr) int32 { // Stored immediately after the three collation sequences is a copy of // the collation sequence name. A pointer to this string is stored in // each collation sequence structure. -func findCollSeqEntry(tls *libc.TLS, db uintptr, zName uintptr, create int32) uintptr { /* sqlite3.c:119634:16: */ +func findCollSeqEntry(tls *libc.TLS, db uintptr, zName uintptr, create int32) uintptr { /* sqlite3.c:119647:16: */ var pColl uintptr pColl = Xsqlite3HashFind(tls, db+640, zName) @@ -114021,7 +114059,7 @@ func findCollSeqEntry(tls *libc.TLS, db uintptr, zName uintptr, create int32) ui // cannot be found. // // See also: sqlite3LocateCollSeq(), sqlite3GetCollSeq() -func Xsqlite3FindCollSeq(tls *libc.TLS, db uintptr, enc U8, zName uintptr, create int32) uintptr { /* sqlite3.c:119686:24: */ +func Xsqlite3FindCollSeq(tls *libc.TLS, db uintptr, enc U8, zName uintptr, create int32) uintptr { /* sqlite3.c:119699:24: */ var pColl uintptr if zName != 0 { @@ -114037,7 +114075,7 @@ func Xsqlite3FindCollSeq(tls *libc.TLS, db uintptr, enc U8, zName uintptr, creat // Change the text encoding for a database connection. This means that // the pDfltColl must change as well. -func Xsqlite3SetTextEncoding(tls *libc.TLS, db uintptr, enc U8) { /* sqlite3.c:119708:21: */ +func Xsqlite3SetTextEncoding(tls *libc.TLS, db uintptr, enc U8) { /* sqlite3.c:119721:21: */ (*Sqlite3)(unsafe.Pointer(db)).Fenc = enc // EVIDENCE-OF: R-08308-17224 The default collating function for all @@ -114057,7 +114095,7 @@ func Xsqlite3SetTextEncoding(tls *libc.TLS, db uintptr, enc U8) { /* sqlite3.c:1 // sequence can be found. If no collation is found, leave an error message. // // See also: sqlite3LocateCollSeq(), sqlite3FindCollSeq() -func Xsqlite3GetCollSeq(tls *libc.TLS, pParse uintptr, enc U8, pColl uintptr, zName uintptr) uintptr { /* sqlite3.c:119731:24: */ +func Xsqlite3GetCollSeq(tls *libc.TLS, pParse uintptr, enc U8, pColl uintptr, zName uintptr) uintptr { /* sqlite3.c:119744:24: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -114103,7 +114141,7 @@ func Xsqlite3GetCollSeq(tls *libc.TLS, pParse uintptr, enc U8, pColl uintptr, zN // and generates an error message. // // See also: sqlite3FindCollSeq(), sqlite3GetCollSeq() -func Xsqlite3LocateCollSeq(tls *libc.TLS, pParse uintptr, zName uintptr) uintptr { /* sqlite3.c:119782:24: */ +func Xsqlite3LocateCollSeq(tls *libc.TLS, pParse uintptr, zName uintptr) uintptr { /* sqlite3.c:119795:24: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb var enc U8 = (*Sqlite3)(unsafe.Pointer(db)).Fenc var initbusy U8 = (*Sqlite3)(unsafe.Pointer(db)).Finit.Fbusy @@ -114144,7 +114182,7 @@ func Xsqlite3LocateCollSeq(tls *libc.TLS, pParse uintptr, zName uintptr) uintptr // If nArg==(-2) then any function with a non-null xSFunc is // a perfect match and any function with xSFunc NULL is // a non-match. -func matchQuality(tls *libc.TLS, p uintptr, nArg int32, enc U8) int32 { /* sqlite3.c:119825:12: */ +func matchQuality(tls *libc.TLS, p uintptr, nArg int32, enc U8) int32 { /* sqlite3.c:119838:12: */ var match int32 // Wrong number of arguments means "no match" @@ -114180,7 +114218,7 @@ func matchQuality(tls *libc.TLS, p uintptr, nArg int32, enc U8) int32 { /* sqlit // Search a FuncDefHash for a function with the given name. Return // a pointer to the matching FuncDef if found, or 0 if there is no match. -func Xsqlite3FunctionSearch(tls *libc.TLS, h int32, zFunc uintptr) uintptr { /* sqlite3.c:119861:24: */ +func Xsqlite3FunctionSearch(tls *libc.TLS, h int32, zFunc uintptr) uintptr { /* sqlite3.c:119874:24: */ var p uintptr for p = *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&Xsqlite3BuiltinFunctions)) + uintptr(h)*8)); p != 0; p = *(*uintptr)(unsafe.Pointer(p + 64)) { @@ -114192,7 +114230,7 @@ func Xsqlite3FunctionSearch(tls *libc.TLS, h int32, zFunc uintptr) uintptr { /* } // Insert a new FuncDef into a FuncDefHash hash table. -func Xsqlite3InsertBuiltinFuncs(tls *libc.TLS, aDef uintptr, nDef int32) { /* sqlite3.c:119878:21: */ +func Xsqlite3InsertBuiltinFuncs(tls *libc.TLS, aDef uintptr, nDef int32) { /* sqlite3.c:119891:21: */ var i int32 for i = 0; i < nDef; i++ { var pOther uintptr @@ -114230,7 +114268,7 @@ func Xsqlite3InsertBuiltinFuncs(tls *libc.TLS, aDef uintptr, nDef int32) { /* sq // If createFlag is false, then a function with the required name and // number of arguments may be returned even if the eTextRep flag does not // match that requested. -func Xsqlite3FindFunction(tls *libc.TLS, db uintptr, zName uintptr, nArg int32, enc U8, createFlag U8) uintptr { /* sqlite3.c:119923:24: */ +func Xsqlite3FindFunction(tls *libc.TLS, db uintptr, zName uintptr, nArg int32, enc U8, createFlag U8) uintptr { /* sqlite3.c:119936:24: */ var p uintptr // Iterator variable var pBest uintptr = uintptr(0) // Best match found so far var bestScore int32 = 0 // Score of best match @@ -114310,7 +114348,7 @@ func Xsqlite3FindFunction(tls *libc.TLS, db uintptr, zName uintptr, nArg int32, // of the schema hash tables). // // The Schema.cache_size variable is not cleared. -func Xsqlite3SchemaClear(tls *libc.TLS, p uintptr) { /* sqlite3.c:120015:21: */ +func Xsqlite3SchemaClear(tls *libc.TLS, p uintptr) { /* sqlite3.c:120028:21: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -114345,7 +114383,7 @@ func Xsqlite3SchemaClear(tls *libc.TLS, p uintptr) { /* sqlite3.c:120015:21: */ // Find and return the schema associated with a BTree. Create // a new one if necessary. -func Xsqlite3SchemaGet(tls *libc.TLS, db uintptr, pBt uintptr) uintptr { /* sqlite3.c:120047:23: */ +func Xsqlite3SchemaGet(tls *libc.TLS, db uintptr, pBt uintptr) uintptr { /* sqlite3.c:120060:23: */ var p uintptr if pBt != 0 { p = Xsqlite3BtreeSchema(tls, pBt, int32(unsafe.Sizeof(Schema{})), *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{Xsqlite3SchemaClear}))) @@ -114392,7 +114430,7 @@ func Xsqlite3SchemaGet(tls *libc.TLS, db uintptr, pBt uintptr) uintptr { /* sqli // pSrc->a[0].pTab Pointer to the Table object // pSrc->a[0].pIndex Pointer to the INDEXED BY index, if there is one // -func Xsqlite3SrcListLookup(tls *libc.TLS, pParse uintptr, pSrc uintptr) uintptr { /* sqlite3.c:120098:22: */ +func Xsqlite3SrcListLookup(tls *libc.TLS, pParse uintptr, pSrc uintptr) uintptr { /* sqlite3.c:120111:22: */ var pItem uintptr = pSrc + 8 /* &.a */ var pTab uintptr @@ -114410,7 +114448,7 @@ func Xsqlite3SrcListLookup(tls *libc.TLS, pParse uintptr, pSrc uintptr) uintptr // Generate byte-code that will report the number of rows modified // by a DELETE, INSERT, or UPDATE statement. -func Xsqlite3CodeChangeCount(tls *libc.TLS, v uintptr, regCounter int32, zColName uintptr) { /* sqlite3.c:120117:21: */ +func Xsqlite3CodeChangeCount(tls *libc.TLS, v uintptr, regCounter int32, zColName uintptr) { /* sqlite3.c:120130:21: */ Xsqlite3VdbeAddOp0(tls, v, OP_FkCheck) Xsqlite3VdbeAddOp2(tls, v, OP_ResultRow, regCounter, 1) Xsqlite3VdbeSetNumCols(tls, v, 1) @@ -114431,7 +114469,7 @@ func Xsqlite3CodeChangeCount(tls *libc.TLS, v uintptr, regCounter int32, zColNam // 3) The table is a shadow table, the database connection is in // defensive mode, and the current sqlite3_prepare() // is for a top-level SQL statement. -func tabIsReadOnly(tls *libc.TLS, pParse uintptr, pTab uintptr) int32 { /* sqlite3.c:120139:12: */ +func tabIsReadOnly(tls *libc.TLS, pParse uintptr, pTab uintptr) int32 { /* sqlite3.c:120152:12: */ var db uintptr if int32((*Table)(unsafe.Pointer(pTab)).FeTabType) == TABTYP_VTAB { return libc.Bool32((*Sqlite3_module)(unsafe.Pointer((*Module)(unsafe.Pointer((*VTable)(unsafe.Pointer(Xsqlite3GetVTable(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, pTab))).FpMod)).FpModule)).FxUpdate == uintptr(0)) @@ -114450,7 +114488,7 @@ func tabIsReadOnly(tls *libc.TLS, pParse uintptr, pTab uintptr) int32 { /* sqlit // Check to make sure the given table is writable. If it is not // writable, generate an error message and return 1. If it is // writable return 0; -func Xsqlite3IsReadOnly(tls *libc.TLS, pParse uintptr, pTab uintptr, viewOk int32) int32 { /* sqlite3.c:120158:20: */ +func Xsqlite3IsReadOnly(tls *libc.TLS, pParse uintptr, pTab uintptr, viewOk int32) int32 { /* sqlite3.c:120171:20: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -114468,7 +114506,7 @@ func Xsqlite3IsReadOnly(tls *libc.TLS, pParse uintptr, pTab uintptr, viewOk int3 // Evaluate a view and store its result in an ephemeral table. The // pWhere argument is an optional WHERE clause that restricts the // set of rows in the view that are to be added to the ephemeral table. -func Xsqlite3MaterializeView(tls *libc.TLS, pParse uintptr, pView uintptr, pWhere uintptr, pOrderBy uintptr, pLimit uintptr, iCur int32) { /* sqlite3.c:120179:21: */ +func Xsqlite3MaterializeView(tls *libc.TLS, pParse uintptr, pView uintptr, pWhere uintptr, pOrderBy uintptr, pLimit uintptr, iCur int32) { /* sqlite3.c:120192:21: */ bp := tls.Alloc(40) defer tls.Free(40) @@ -114500,7 +114538,7 @@ func Xsqlite3MaterializeView(tls *libc.TLS, pParse uintptr, pView uintptr, pWher // DELETE FROM table_wxyz WHERE a<5 AND b NOT NULL; // \________/ \________________/ // pTabList pWhere -func Xsqlite3DeleteFrom(tls *libc.TLS, pParse uintptr, pTabList uintptr, pWhere uintptr, pOrderBy uintptr, pLimit uintptr) { /* sqlite3.c:120318:21: */ +func Xsqlite3DeleteFrom(tls *libc.TLS, pParse uintptr, pTabList uintptr, pWhere uintptr, pOrderBy uintptr, pLimit uintptr) { /* sqlite3.c:120331:21: */ bp := tls.Alloc(88) defer tls.Free(88) @@ -115106,7 +115144,7 @@ delete_from_cleanup: // starting at iIdxCur) that already points to the index entry to be deleted. // Except, this optimization is disabled if there are BEFORE triggers since // the trigger body might have moved the cursor. -func Xsqlite3GenerateRowDelete(tls *libc.TLS, pParse uintptr, pTab uintptr, pTrigger uintptr, iDataCur int32, iIdxCur int32, iPk int32, nPk I16, count U8, onconf U8, eMode U8, iIdxNoSeek int32) { /* sqlite3.c:120766:21: */ +func Xsqlite3GenerateRowDelete(tls *libc.TLS, pParse uintptr, pTab uintptr, pTrigger uintptr, iDataCur int32, iIdxCur int32, iPk int32, nPk I16, count U8, onconf U8, eMode U8, iIdxNoSeek int32) { /* sqlite3.c:120779:21: */ var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe // Vdbe var iOld int32 = 0 // First register in OLD.* array var iLabel int32 // Label resolved to end of generated code @@ -115243,7 +115281,7 @@ func Xsqlite3GenerateRowDelete(tls *libc.TLS, pParse uintptr, pTab uintptr, pTri // // 3. The "iDataCur" cursor must be already be positioned on the row // that is to be deleted. -func Xsqlite3GenerateRowIndexDelete(tls *libc.TLS, pParse uintptr, pTab uintptr, iDataCur int32, iIdxCur int32, aRegIdx uintptr, iIdxNoSeek int32) { /* sqlite3.c:120918:21: */ +func Xsqlite3GenerateRowIndexDelete(tls *libc.TLS, pParse uintptr, pTab uintptr, iDataCur int32, iIdxCur int32, aRegIdx uintptr, iIdxNoSeek int32) { /* sqlite3.c:120931:21: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -115332,7 +115370,7 @@ __3: // This optimization is helpful when doing a DELETE or an INTEGRITY_CHECK // on a table with multiple indices, and especially with the ROWID or // PRIMARY KEY columns of the index. -func Xsqlite3GenerateIndexKey(tls *libc.TLS, pParse uintptr, pIdx uintptr, iDataCur int32, regOut int32, prefixOnly int32, piPartIdxLabel uintptr, pPrior uintptr, regPrior int32) int32 { /* sqlite3.c:120983:20: */ +func Xsqlite3GenerateIndexKey(tls *libc.TLS, pParse uintptr, pIdx uintptr, iDataCur int32, regOut int32, prefixOnly int32, piPartIdxLabel uintptr, pPrior uintptr, regPrior int32) int32 { /* sqlite3.c:120996:20: */ var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe var j int32 var regBase int32 @@ -115388,7 +115426,7 @@ func Xsqlite3GenerateIndexKey(tls *libc.TLS, pParse uintptr, pIdx uintptr, iData // If a prior call to sqlite3GenerateIndexKey() generated a jump-over label // because it was a partial index, then this routine should be called to // resolve that label. -func Xsqlite3ResolvePartIdxLabel(tls *libc.TLS, pParse uintptr, iLabel int32) { /* sqlite3.c:121045:21: */ +func Xsqlite3ResolvePartIdxLabel(tls *libc.TLS, pParse uintptr, iLabel int32) { /* sqlite3.c:121058:21: */ if iLabel != 0 { Xsqlite3VdbeResolveLabel(tls, (*Parse)(unsafe.Pointer(pParse)).FpVdbe, iLabel) } @@ -115416,7 +115454,7 @@ func Xsqlite3ResolvePartIdxLabel(tls *libc.TLS, pParse uintptr, iLabel int32) { // #include "vdbeInt.h" // Return the collating function associated with a function. -func sqlite3GetFuncCollSeq(tls *libc.TLS, context uintptr) uintptr { /* sqlite3.c:121079:16: */ +func sqlite3GetFuncCollSeq(tls *libc.TLS, context uintptr) uintptr { /* sqlite3.c:121092:16: */ var pOp uintptr pOp = (*Vdbe)(unsafe.Pointer((*Sqlite3_context)(unsafe.Pointer(context)).FpVdbe)).FaOp + uintptr((*Sqlite3_context)(unsafe.Pointer(context)).FiOp-1)*24 @@ -115426,14 +115464,14 @@ func sqlite3GetFuncCollSeq(tls *libc.TLS, context uintptr) uintptr { /* sqlite3. // Indicate that the accumulator load should be skipped on this // iteration of the aggregate loop. -func sqlite3SkipAccumulatorLoad(tls *libc.TLS, context uintptr) { /* sqlite3.c:121092:13: */ +func sqlite3SkipAccumulatorLoad(tls *libc.TLS, context uintptr) { /* sqlite3.c:121105:13: */ (*Sqlite3_context)(unsafe.Pointer(context)).FisError = -1 (*Sqlite3_context)(unsafe.Pointer(context)).FskipFlag = U8(1) } // Implementation of the non-aggregate min() and max() functions -func minmaxFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121101:13: */ +func minmaxFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121114:13: */ var i int32 var mask int32 // 0 for min() or 0xffffffff for max() var iBest int32 @@ -115463,7 +115501,7 @@ func minmaxFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* s } // Return the type of the argument. -func typeofFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { /* sqlite3.c:121131:13: */ +func typeofFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { /* sqlite3.c:121144:13: */ var i int32 = Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(argv))) - 1 _ = NotUsed @@ -115474,18 +115512,18 @@ func typeofFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { / Xsqlite3_result_text(tls, context, azType2[i], -1, uintptr(0)) } -var azType2 = [5]uintptr{ts + 6545, ts + 6540, ts + 8295, ts + 8290, ts + 6535} /* sqlite3.c:121136:21 */ +var azType2 = [5]uintptr{ts + 6545, ts + 6540, ts + 8295, ts + 8290, ts + 6535} /* sqlite3.c:121149:21 */ // subtype(X) // // Return the subtype of X -func subtypeFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121156:13: */ +func subtypeFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121169:13: */ _ = argc Xsqlite3_result_int(tls, context, int32(Xsqlite3_value_subtype(tls, *(*uintptr)(unsafe.Pointer(argv))))) } // Implementation of the length() function -func lengthFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121168:13: */ +func lengthFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121181:13: */ _ = argc switch Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(argv))) { @@ -115534,7 +115572,7 @@ func lengthFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* s // // IMP: R-23979-26855 The abs(X) function returns the absolute value of // the numeric argument X. -func absFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121210:13: */ +func absFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121223:13: */ _ = argc switch Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(argv))) { @@ -115588,7 +115626,7 @@ func absFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqli // If both haystack and needle are BLOBs, then the result is one more than // the number of bytes in haystack prior to the first occurrence of needle, // or 0 if needle never occurs in haystack. -func instrFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121259:13: */ +func instrFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121272:13: */ var zHaystack uintptr var zNeedle uintptr var nHaystack int32 @@ -115703,7 +115741,7 @@ endInstrOOM: } // Implementation of the printf() (a.k.a. format()) SQL function. -func printfFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121327:13: */ +func printfFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121340:13: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -115740,7 +115778,7 @@ func printfFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* s // If p1 is negative, then we begin abs(p1) from the end of x[]. // // If p2 is negative, return the p2 characters preceding p1. -func substrFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121363:13: */ +func substrFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121376:13: */ var z uintptr var z2 uintptr var len int32 @@ -115848,7 +115886,7 @@ func substrFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* s } // Implementation of the round() function -func roundFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121458:13: */ +func roundFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121471:13: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -115902,7 +115940,7 @@ func roundFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sq // the database handle that malloc() has failed and return NULL. // If nByte is larger than the maximum string or blob length, then // raise an SQLITE_TOOBIG exception and return NULL. -func contextMalloc(tls *libc.TLS, context uintptr, nByte I64) uintptr { /* sqlite3.c:121499:13: */ +func contextMalloc(tls *libc.TLS, context uintptr, nByte I64) uintptr { /* sqlite3.c:121512:13: */ var z uintptr var db uintptr = Xsqlite3_context_db_handle(tls, context) @@ -115919,7 +115957,7 @@ func contextMalloc(tls *libc.TLS, context uintptr, nByte I64) uintptr { /* sqlit } // Implementation of the upper() and lower() SQL functions. -func upperFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121520:13: */ +func upperFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121533:13: */ var z1 uintptr var z2 uintptr var i int32 @@ -115940,7 +115978,7 @@ func upperFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sq } } -func lowerFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121539:13: */ +func lowerFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121552:13: */ var z1 uintptr var z2 uintptr var i int32 @@ -115969,7 +116007,7 @@ func lowerFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sq // is. We might as well use the "version()" function as a substitute. // Implementation of random(). Return a random integer. -func randomFunc(tls *libc.TLS, context uintptr, NotUsed int32, NotUsed2 uintptr) { /* sqlite3.c:121572:13: */ +func randomFunc(tls *libc.TLS, context uintptr, NotUsed int32, NotUsed2 uintptr) { /* sqlite3.c:121585:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -115993,7 +116031,7 @@ func randomFunc(tls *libc.TLS, context uintptr, NotUsed int32, NotUsed2 uintptr) // Implementation of randomblob(N). Return a random blob // that is N bytes long. -func randomBlob(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121598:13: */ +func randomBlob(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121611:13: */ var n Sqlite3_int64 var p uintptr @@ -116011,7 +116049,7 @@ func randomBlob(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* s // Implementation of the last_insert_rowid() SQL function. The return // value is the same as the sqlite3_last_insert_rowid() API function. -func last_insert_rowid(tls *libc.TLS, context uintptr, NotUsed int32, NotUsed2 uintptr) { /* sqlite3.c:121622:13: */ +func last_insert_rowid(tls *libc.TLS, context uintptr, NotUsed int32, NotUsed2 uintptr) { /* sqlite3.c:121635:13: */ var db uintptr = Xsqlite3_context_db_handle(tls, context) _ = NotUsed _ = NotUsed2 @@ -116026,7 +116064,7 @@ func last_insert_rowid(tls *libc.TLS, context uintptr, NotUsed int32, NotUsed2 u // IMP: R-32760-32347 The changes() SQL function is a wrapper // around the sqlite3_changes64() C/C++ function and hence follows the // same rules for counting changes. -func changes(tls *libc.TLS, context uintptr, NotUsed int32, NotUsed2 uintptr) { /* sqlite3.c:121642:13: */ +func changes(tls *libc.TLS, context uintptr, NotUsed int32, NotUsed2 uintptr) { /* sqlite3.c:121655:13: */ var db uintptr = Xsqlite3_context_db_handle(tls, context) _ = NotUsed _ = NotUsed2 @@ -116035,7 +116073,7 @@ func changes(tls *libc.TLS, context uintptr, NotUsed int32, NotUsed2 uintptr) { // Implementation of the total_changes() SQL function. The return value is // the same as the sqlite3_total_changes64() API function. -func total_changes(tls *libc.TLS, context uintptr, NotUsed int32, NotUsed2 uintptr) { /* sqlite3.c:121656:13: */ +func total_changes(tls *libc.TLS, context uintptr, NotUsed int32, NotUsed2 uintptr) { /* sqlite3.c:121669:13: */ var db uintptr = Xsqlite3_context_db_handle(tls, context) _ = NotUsed _ = NotUsed2 @@ -116050,20 +116088,20 @@ type compareInfo = struct { FmatchOne U8 FmatchSet U8 FnoCase U8 -} /* sqlite3.c:121671:1 */ +} /* sqlite3.c:121684:1 */ // For LIKE and GLOB matching on EBCDIC machines, assume that every // character is exactly one byte in size. Also, provde the Utf8Read() // macro for fast reading of the next character in the common case where // the next character is ASCII. -var globInfo = compareInfo{FmatchAll: U8('*'), FmatchOne: U8('?'), FmatchSet: U8('[')} /* sqlite3.c:121691:33 */ +var globInfo = compareInfo{FmatchAll: U8('*'), FmatchOne: U8('?'), FmatchSet: U8('[')} /* sqlite3.c:121704:33 */ // The correct SQL-92 behavior is for the LIKE operator to ignore // case. Thus 'a' LIKE 'A' would be true. -var likeInfoNorm = compareInfo{FmatchAll: U8('%'), FmatchOne: U8('_'), FnoCase: U8(1)} /* sqlite3.c:121694:33 */ +var likeInfoNorm = compareInfo{FmatchAll: U8('%'), FmatchOne: U8('_'), FnoCase: U8(1)} /* sqlite3.c:121707:33 */ // If SQLITE_CASE_SENSITIVE_LIKE is defined, then the LIKE operator // is case sensitive causing 'a' LIKE 'A' to be false -var likeInfoAlt = compareInfo{FmatchAll: U8('%'), FmatchOne: U8('_')} /* sqlite3.c:121697:33 */ +var likeInfoAlt = compareInfo{FmatchAll: U8('%'), FmatchOne: U8('_')} /* sqlite3.c:121710:33 */ // Possible error returns from patternMatch() @@ -116103,7 +116141,7 @@ var likeInfoAlt = compareInfo{FmatchAll: U8('%'), FmatchOne: U8('_')} /* sqlite3 // The comments within this routine usually assume glob matching. // // This routine is usually quick, but can be N**2 in the worst case. -func patternCompare(tls *libc.TLS, zPattern uintptr, zString uintptr, pInfo uintptr, matchOther U32) int32 { /* sqlite3.c:121744:12: */ +func patternCompare(tls *libc.TLS, zPattern uintptr, zString uintptr, pInfo uintptr, matchOther U32) int32 { /* sqlite3.c:121757:12: */ bp := tls.Alloc(19) defer tls.Free(19) *(*uintptr)(unsafe.Pointer(bp)) = zPattern @@ -116289,13 +116327,13 @@ func patternCompare(tls *libc.TLS, zPattern uintptr, zString uintptr, pInfo uint // The sqlite3_strglob() interface. Return 0 on a match (like strcmp()) and // non-zero if there is no match. -func Xsqlite3_strglob(tls *libc.TLS, zGlobPattern uintptr, zString uintptr) int32 { /* sqlite3.c:121877:16: */ +func Xsqlite3_strglob(tls *libc.TLS, zGlobPattern uintptr, zString uintptr) int32 { /* sqlite3.c:121890:16: */ return patternCompare(tls, zGlobPattern, zString, uintptr(unsafe.Pointer(&globInfo)), uint32('[')) } // The sqlite3_strlike() interface. Return 0 on a match and non-zero for // a miss - like strcmp(). -func Xsqlite3_strlike(tls *libc.TLS, zPattern uintptr, zStr uintptr, esc uint32) int32 { /* sqlite3.c:121885:16: */ +func Xsqlite3_strlike(tls *libc.TLS, zPattern uintptr, zStr uintptr, esc uint32) int32 { /* sqlite3.c:121898:16: */ return patternCompare(tls, zPattern, zStr, uintptr(unsafe.Pointer(&likeInfoNorm)), esc) } @@ -116313,7 +116351,7 @@ func Xsqlite3_strlike(tls *libc.TLS, zPattern uintptr, zStr uintptr, esc uint32) // // This same function (with a different compareInfo structure) computes // the GLOB operator. -func likeFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121911:13: */ +func likeFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121924:13: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -116376,7 +116414,7 @@ func likeFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sql // Implementation of the NULLIF(x,y) function. The result is the first // argument if the arguments are different. The result is NULL if the // arguments are equal to each other. -func nullifFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { /* sqlite3.c:121982:13: */ +func nullifFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { /* sqlite3.c:121995:13: */ var pColl uintptr = sqlite3GetFuncCollSeq(tls, context) _ = NotUsed if Xsqlite3MemCompare(tls, *(*uintptr)(unsafe.Pointer(argv)), *(*uintptr)(unsafe.Pointer(argv + 1*8)), pColl) != 0 { @@ -116386,7 +116424,7 @@ func nullifFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { / // Implementation of the sqlite_version() function. The result is the version // of the SQLite library that is running. -func versionFunc(tls *libc.TLS, context uintptr, NotUsed int32, NotUsed2 uintptr) { /* sqlite3.c:121998:13: */ +func versionFunc(tls *libc.TLS, context uintptr, NotUsed int32, NotUsed2 uintptr) { /* sqlite3.c:122011:13: */ _ = NotUsed _ = NotUsed2 // IMP: R-48699-48617 This function is an SQL wrapper around the @@ -116397,7 +116435,7 @@ func versionFunc(tls *libc.TLS, context uintptr, NotUsed int32, NotUsed2 uintptr // Implementation of the sqlite_source_id() function. The result is a string // that identifies the particular version of the source code used to build // SQLite. -func sourceidFunc(tls *libc.TLS, context uintptr, NotUsed int32, NotUsed2 uintptr) { /* sqlite3.c:122014:13: */ +func sourceidFunc(tls *libc.TLS, context uintptr, NotUsed int32, NotUsed2 uintptr) { /* sqlite3.c:122027:13: */ _ = NotUsed _ = NotUsed2 // IMP: R-24470-31136 This function is an SQL wrapper around the @@ -116408,7 +116446,7 @@ func sourceidFunc(tls *libc.TLS, context uintptr, NotUsed int32, NotUsed2 uintpt // Implementation of the sqlite_log() function. This is a wrapper around // sqlite3_log(). The return value is NULL. The function exists purely for // its side-effects. -func errlogFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122030:13: */ +func errlogFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122043:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -116420,7 +116458,7 @@ func errlogFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* s // Implementation of the sqlite_compileoption_used() function. // The result is an integer that identifies if the compiler option // was used to build SQLite. -func compileoptionusedFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122046:13: */ +func compileoptionusedFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122059:13: */ var zOptName uintptr _ = argc @@ -116435,7 +116473,7 @@ func compileoptionusedFunc(tls *libc.TLS, context uintptr, argc int32, argv uint // Implementation of the sqlite_compileoption_get() function. // The result is a string that identifies the compiler options // used to build SQLite. -func compileoptiongetFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122070:13: */ +func compileoptiongetFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122083:13: */ var n int32 _ = argc @@ -116450,11 +116488,11 @@ func compileoptiongetFunc(tls *libc.TLS, context uintptr, argc int32, argv uintp var hexdigits = [16]int8{ int8('0'), int8('1'), int8('2'), int8('3'), int8('4'), int8('5'), int8('6'), int8('7'), int8('8'), int8('9'), int8('A'), int8('B'), int8('C'), int8('D'), int8('E'), int8('F'), -} /* sqlite3.c:122088:19 */ +} /* sqlite3.c:122101:19 */ // Append to pStr text that is the SQL literal representation of the // value contained in pValue. -func Xsqlite3QuoteValue(tls *libc.TLS, pStr uintptr, pValue uintptr) { /* sqlite3.c:122097:21: */ +func Xsqlite3QuoteValue(tls *libc.TLS, pStr uintptr, pValue uintptr) { /* sqlite3.c:122110:21: */ bp := tls.Alloc(40) defer tls.Free(40) @@ -116535,7 +116573,7 @@ func Xsqlite3QuoteValue(tls *libc.TLS, pStr uintptr, pValue uintptr) { /* sqlite // as needed. BLOBs are encoded as hexadecimal literals. Strings with // embedded NUL characters cannot be represented as string literals in SQL // and hence the returned string literal is truncated prior to the first NUL. -func quoteFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122166:13: */ +func quoteFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122179:13: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -116558,7 +116596,7 @@ func quoteFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sq // The unicode() function. Return the integer unicode code-point value // for the first character of the input string. -func unicodeFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122185:13: */ +func unicodeFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122198:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -116572,7 +116610,7 @@ func unicodeFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* // The char() function takes zero or more arguments, each of which is // an integer. It constructs a string where each character of the string // is the unicode character for the corresponding integer argument. -func charFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122200:13: */ +func charFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122213:13: */ var z uintptr var zOut uintptr var i int32 @@ -116610,7 +116648,7 @@ func charFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sql // The hex() function. Interpret the argument as a blob. Return // a hexadecimal rendering as text. -func hexFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122241:13: */ +func hexFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122254:13: */ var i int32 var n int32 var pBlob uintptr @@ -116648,7 +116686,7 @@ func hexFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqli } // The zeroblob(N) function returns a zero-filled blob of size N bytes. -func zeroblobFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122269:13: */ +func zeroblobFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122282:13: */ var n I64 var rc int32 @@ -116667,7 +116705,7 @@ func zeroblobFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* // them A, B, and C. The result is also a string which is derived // from A by replacing every occurrence of B with C. The match // must be exact. Collating sequences are not used. -func replaceFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122292:13: */ +func replaceFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122305:13: */ var zStr uintptr // The input string A var zPattern uintptr // The pattern string B var zRep uintptr // The replacement string C @@ -116756,7 +116794,7 @@ func replaceFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* // Implementation of the TRIM(), LTRIM(), and RTRIM() functions. // The userdata is 0x1 for left trim, 0x2 for right trim, 0x3 for both. -func trimFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122385:13: */ +func trimFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122398:13: */ var zIn uintptr // Input string var zCharSet uintptr // Set of characters to trim var nIn uint32 // Number of bytes in input @@ -116859,8 +116897,8 @@ func trimFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sql Xsqlite3_result_text(tls, context, zIn, int32(nIn), libc.UintptrFromInt32(-1)) } -var lenOne = [1]uint32{uint32(1)} /* sqlite3.c:122407:27 */ -var azOne = [1]uintptr{uintptr(ts + 11208 /* " " */)} /* sqlite3.c:122408:26 */ +var lenOne = [1]uint32{uint32(1)} /* sqlite3.c:122420:27 */ +var azOne = [1]uintptr{uintptr(ts + 11208 /* " " */)} /* sqlite3.c:122421:26 */ // IMP: R-25361-16150 This function is omitted from SQLite by default. It // is only available if the SQLITE_SOUNDEX compile-time option is used @@ -116869,7 +116907,7 @@ var azOne = [1]uintptr{uintptr(ts + 11208 /* " " */)} /* sqlite3.c:122408:26 */ // // IMP: R-59782-00072 The soundex(X) function returns a string that is the // soundex encoding of the string X. -func soundexFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122498:13: */ +func soundexFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122511:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -116920,10 +116958,10 @@ var iCode = [128]uint8{ uint8(1), uint8(2), uint8(6), uint8(2), uint8(3), uint8(0), uint8(1), uint8(0), uint8(2), uint8(0), uint8(2), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(1), uint8(2), uint8(3), uint8(0), uint8(1), uint8(2), uint8(0), uint8(0), uint8(2), uint8(2), uint8(4), uint8(5), uint8(5), uint8(0), uint8(1), uint8(2), uint8(6), uint8(2), uint8(3), uint8(0), uint8(1), uint8(0), uint8(2), uint8(0), uint8(2), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), -} /* sqlite3.c:122506:30 */ +} /* sqlite3.c:122519:30 */ // A function that loads a shared-library extension then returns NULL. -func loadExt(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122551:13: */ +func loadExt(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122564:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -116959,11 +116997,11 @@ type SumCtx1 = struct { Foverflow U8 Fapprox U8 F__ccgo_pad1 [6]byte -} /* sqlite3.c:122582:9 */ +} /* sqlite3.c:122595:9 */ // An instance of the following structure holds the context of a // sum() or avg() aggregate computation. -type SumCtx = SumCtx1 /* sqlite3.c:122582:23 */ +type SumCtx = SumCtx1 /* sqlite3.c:122595:23 */ // Routines used to compute the sum, average, and total. // @@ -116973,7 +117011,7 @@ type SumCtx = SumCtx1 /* sqlite3.c:122582:23 */ // SUM might return an integer if it never encounters a floating point // value. TOTAL never fails, but SUM might through an exception if // it overflows an integer. -func sumStep(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122601:13: */ +func sumStep(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122614:13: */ var p uintptr var type1 int32 @@ -116995,7 +117033,7 @@ func sumStep(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqli } } -func sumInverse(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122623:13: */ +func sumInverse(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122636:13: */ var p uintptr var type1 int32 @@ -117018,7 +117056,7 @@ func sumInverse(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* s } } -func sumFinalize(tls *libc.TLS, context uintptr) { /* sqlite3.c:122648:13: */ +func sumFinalize(tls *libc.TLS, context uintptr) { /* sqlite3.c:122661:13: */ var p uintptr p = Xsqlite3_aggregate_context(tls, context, 0) if p != 0 && (*SumCtx)(unsafe.Pointer(p)).Fcnt > int64(0) { @@ -117032,7 +117070,7 @@ func sumFinalize(tls *libc.TLS, context uintptr) { /* sqlite3.c:122648:13: */ } } -func avgFinalize(tls *libc.TLS, context uintptr) { /* sqlite3.c:122661:13: */ +func avgFinalize(tls *libc.TLS, context uintptr) { /* sqlite3.c:122674:13: */ var p uintptr p = Xsqlite3_aggregate_context(tls, context, 0) if p != 0 && (*SumCtx)(unsafe.Pointer(p)).Fcnt > int64(0) { @@ -117040,7 +117078,7 @@ func avgFinalize(tls *libc.TLS, context uintptr) { /* sqlite3.c:122661:13: */ } } -func totalFinalize(tls *libc.TLS, context uintptr) { /* sqlite3.c:122668:13: */ +func totalFinalize(tls *libc.TLS, context uintptr) { /* sqlite3.c:122681:13: */ var p uintptr p = Xsqlite3_aggregate_context(tls, context, 0) // (double)0 In case of SQLITE_OMIT_FLOATING_POINT... @@ -117054,14 +117092,14 @@ func totalFinalize(tls *libc.TLS, context uintptr) { /* sqlite3.c:122668:13: */ // The following structure keeps track of state information for the // count() aggregate function. -type CountCtx1 = struct{ Fn I64 } /* sqlite3.c:122679:9 */ +type CountCtx1 = struct{ Fn I64 } /* sqlite3.c:122692:9 */ // The following structure keeps track of state information for the // count() aggregate function. -type CountCtx = CountCtx1 /* sqlite3.c:122679:25 */ +type CountCtx = CountCtx1 /* sqlite3.c:122692:25 */ // Routines to implement the count() aggregate function. -func countStep(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122690:13: */ +func countStep(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122703:13: */ var p uintptr p = Xsqlite3_aggregate_context(tls, context, int32(unsafe.Sizeof(CountCtx{}))) if (argc == 0 || SQLITE_NULL != Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(argv)))) && p != 0 { @@ -117075,7 +117113,7 @@ func countStep(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sq } -func countFinalize(tls *libc.TLS, context uintptr) { /* sqlite3.c:122706:13: */ +func countFinalize(tls *libc.TLS, context uintptr) { /* sqlite3.c:122719:13: */ var p uintptr p = Xsqlite3_aggregate_context(tls, context, 0) Xsqlite3_result_int64(tls, context, func() int64 { @@ -117086,7 +117124,7 @@ func countFinalize(tls *libc.TLS, context uintptr) { /* sqlite3.c:122706:13: */ }()) } -func countInverse(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:122712:13: */ +func countInverse(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:122725:13: */ var p uintptr p = Xsqlite3_aggregate_context(tls, ctx, int32(unsafe.Sizeof(CountCtx{}))) // p is always non-NULL since countStep() will have been called first @@ -117096,7 +117134,7 @@ func countInverse(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sql } // Routines to implement min() and max() aggregate functions. -func minmaxStep(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { /* sqlite3.c:122730:13: */ +func minmaxStep(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { /* sqlite3.c:122743:13: */ var pArg uintptr = *(*uintptr)(unsafe.Pointer(argv)) var pBest uintptr _ = NotUsed @@ -117134,7 +117172,7 @@ func minmaxStep(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { / } } -func minMaxValueFinalize(tls *libc.TLS, context uintptr, bValue int32) { /* sqlite3.c:122768:13: */ +func minMaxValueFinalize(tls *libc.TLS, context uintptr, bValue int32) { /* sqlite3.c:122781:13: */ var pRes uintptr pRes = Xsqlite3_aggregate_context(tls, context, 0) if pRes != 0 { @@ -117147,11 +117185,11 @@ func minMaxValueFinalize(tls *libc.TLS, context uintptr, bValue int32) { /* sqli } } -func minMaxValue(tls *libc.TLS, context uintptr) { /* sqlite3.c:122779:13: */ +func minMaxValue(tls *libc.TLS, context uintptr) { /* sqlite3.c:122792:13: */ minMaxValueFinalize(tls, context, 1) } -func minMaxFinalize(tls *libc.TLS, context uintptr) { /* sqlite3.c:122785:13: */ +func minMaxFinalize(tls *libc.TLS, context uintptr) { /* sqlite3.c:122798:13: */ minMaxValueFinalize(tls, context, 0) } @@ -117167,9 +117205,9 @@ type GroupConcatCtx = struct { FnAccum int32 FnFirstSepLength int32 FpnSepLengths uintptr -} /* sqlite3.c:122810:3 */ +} /* sqlite3.c:122823:3 */ -func groupConcatStep(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122812:13: */ +func groupConcatStep(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122825:13: */ var zVal uintptr var pGCC uintptr var zSep uintptr @@ -117234,7 +117272,7 @@ func groupConcatStep(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { } } -func groupConcatInverse(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122883:13: */ +func groupConcatInverse(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122896:13: */ var pGCC uintptr _ = argc // Suppress unused parameter warning @@ -117275,7 +117313,7 @@ func groupConcatInverse(tls *libc.TLS, context uintptr, argc int32, argv uintptr } } -func groupConcatFinalize(tls *libc.TLS, context uintptr) { /* sqlite3.c:122929:13: */ +func groupConcatFinalize(tls *libc.TLS, context uintptr) { /* sqlite3.c:122942:13: */ var pGCC uintptr = Xsqlite3_aggregate_context(tls, context, 0) if pGCC != 0 { Xsqlite3ResultStrAccum(tls, context, pGCC) @@ -117283,7 +117321,7 @@ func groupConcatFinalize(tls *libc.TLS, context uintptr) { /* sqlite3.c:122929:1 } } -func groupConcatValue(tls *libc.TLS, context uintptr) { /* sqlite3.c:122940:13: */ +func groupConcatValue(tls *libc.TLS, context uintptr) { /* sqlite3.c:122953:13: */ var pGCC uintptr = Xsqlite3_aggregate_context(tls, context, 0) if pGCC != 0 { var pAccum uintptr = pGCC @@ -117301,7 +117339,7 @@ func groupConcatValue(tls *libc.TLS, context uintptr) { /* sqlite3.c:122940:13: // This routine does per-connection function registration. Most // of the built-in functions above are part of the global function set. // This routine only deals with those that are not global. -func Xsqlite3RegisterPerConnectionBuiltinFunctions(tls *libc.TLS, db uintptr) { /* sqlite3.c:122964:21: */ +func Xsqlite3RegisterPerConnectionBuiltinFunctions(tls *libc.TLS, db uintptr) { /* sqlite3.c:122977:21: */ var rc int32 = Xsqlite3_overload_function(tls, db, ts+15268, 2) if rc == SQLITE_NOMEM { @@ -117312,7 +117350,7 @@ func Xsqlite3RegisterPerConnectionBuiltinFunctions(tls *libc.TLS, db uintptr) { // Re-register the built-in LIKE functions. The caseSensitive // parameter determines whether or not the LIKE operator is case // sensitive. -func Xsqlite3RegisterLikeFunctions(tls *libc.TLS, db uintptr, caseSensitive int32) { /* sqlite3.c:122977:21: */ +func Xsqlite3RegisterLikeFunctions(tls *libc.TLS, db uintptr, caseSensitive int32) { /* sqlite3.c:122990:21: */ var pInfo uintptr var flags int32 if caseSensitive != 0 { @@ -117347,7 +117385,7 @@ func Xsqlite3RegisterLikeFunctions(tls *libc.TLS, db uintptr, caseSensitive int3 // the function (default for LIKE). If the function makes the distinction // between uppercase and lowercase (as does GLOB) then *pIsNocase is set to // false. -func Xsqlite3IsLikeFunction(tls *libc.TLS, db uintptr, pExpr uintptr, pIsNocase uintptr, aWc uintptr) int32 { /* sqlite3.c:123010:20: */ +func Xsqlite3IsLikeFunction(tls *libc.TLS, db uintptr, pExpr uintptr, pIsNocase uintptr, aWc uintptr) int32 { /* sqlite3.c:123023:20: */ var pDef uintptr var nExpr int32 @@ -117403,7 +117441,7 @@ func Xsqlite3IsLikeFunction(tls *libc.TLS, db uintptr, pExpr uintptr, pIsNocase // // The sqlite3_user_data() pointer is a pointer to the libm implementation // of the underlying C function. -func ceilingFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:123081:13: */ +func ceilingFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:123094:13: */ switch Xsqlite3_value_numeric_type(tls, *(*uintptr)(unsafe.Pointer(argv))) { case SQLITE_INTEGER: @@ -117432,11 +117470,11 @@ func ceilingFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* // On some systems, ceil() and floor() are intrinsic function. You are // unable to take a pointer to these functions. Hence, we here wrap them // in our own actual functions. -func xCeil(tls *libc.TLS, x float64) float64 { /* sqlite3.c:123108:15: */ +func xCeil(tls *libc.TLS, x float64) float64 { /* sqlite3.c:123121:15: */ return libc.Xceil(tls, x) } -func xFloor(tls *libc.TLS, x float64) float64 { /* sqlite3.c:123109:15: */ +func xFloor(tls *libc.TLS, x float64) float64 { /* sqlite3.c:123122:15: */ return libc.Xfloor(tls, x) } @@ -117446,7 +117484,7 @@ func xFloor(tls *libc.TLS, x float64) float64 { /* sqlite3.c:123109:15: */ // log(X) - log X base 10 // log10(X) - log X base 10 // log(B,X) - log X base B -func logFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:123119:13: */ +func logFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:123132:13: */ var x float64 var b float64 var ans float64 @@ -117503,18 +117541,18 @@ func logFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqli } // Functions to converts degrees to radians and radians to degrees. -func degToRad(tls *libc.TLS, x float64) float64 { /* sqlite3.c:123169:15: */ +func degToRad(tls *libc.TLS, x float64) float64 { /* sqlite3.c:123182:15: */ return x * (float64(3.14159265358979323846264338327950288) / 180.0) } -func radToDeg(tls *libc.TLS, x float64) float64 { /* sqlite3.c:123170:15: */ +func radToDeg(tls *libc.TLS, x float64) float64 { /* sqlite3.c:123183:15: */ return x * (float64(180.0) / 3.14159265358979323846264338327950288) } // Implementation of 1-argument SQL math functions: // // exp(X) - Compute e to the X-th power -func math1Func(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:123177:13: */ +func math1Func(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:123190:13: */ var type0 int32 var v0 float64 var ans float64 @@ -117535,7 +117573,7 @@ func math1Func(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sq // Implementation of 2-argument SQL math functions: // // power(X,Y) - Compute X to the Y-th power -func math2Func(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:123199:13: */ +func math2Func(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:123212:13: */ var type0 int32 var type1 int32 var v0 float64 @@ -117561,13 +117599,13 @@ func math2Func(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sq } // Implementation of 0-argument pi() function. -func piFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:123222:13: */ +func piFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:123235:13: */ Xsqlite3_result_double(tls, context, 3.14159265358979323846264338327950288) } // Implementation of sign(X) function. -func signFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:123236:13: */ +func signFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:123249:13: */ var type0 int32 var x float64 _ = argc @@ -117595,7 +117633,7 @@ func signFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sql // a consequence of calling sqlite3_initialize()). // // After this routine runs -func Xsqlite3RegisterBuiltinFunctions(tls *libc.TLS) { /* sqlite3.c:123258:21: */ +func Xsqlite3RegisterBuiltinFunctions(tls *libc.TLS) { /* sqlite3.c:123271:21: */ Xsqlite3AlterFunctions(tls) Xsqlite3WindowFunctions(tls) Xsqlite3RegisterDateTimeFunctions(tls) @@ -117708,7 +117746,7 @@ var aBuiltinFunc = [101]FuncDef{ {FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_FUNC_CONSTANT | SQLITE_UTF8 | 0*SQLITE_FUNC_NEEDCOLL), FxSFunc: 0, FzName: ts + 15910}, {FnArg: int8(1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_FUNC_CONSTANT | SQLITE_UTF8 | 0*SQLITE_FUNC_NEEDCOLL), FxSFunc: 0, FzName: ts + 15913}, {FnArg: int8(-1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_UTF8 | SQLITE_FUNC_INLINE | SQLITE_FUNC_CONSTANT | 0), FxSFunc: 0, FzName: ts + 15753}, - {FnArg: int8(3), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_UTF8 | SQLITE_FUNC_INLINE | SQLITE_FUNC_CONSTANT | 0), FpUserData: uintptr(int64(INLINEFUNC_iif)), FxSFunc: 0, FzName: ts + 15918}} /* sqlite3.c:123269:18 */ + {FnArg: int8(3), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_UTF8 | SQLITE_FUNC_INLINE | SQLITE_FUNC_CONSTANT | 0), FpUserData: uintptr(int64(INLINEFUNC_iif)), FxSFunc: 0, FzName: ts + 15918}} /* sqlite3.c:123282:18 */ //************* End of func.c *********************************************** //************* Begin file fkey.c ******************************************* @@ -117883,7 +117921,7 @@ var aBuiltinFunc = [101]FuncDef{ // then non-zero is returned, and a "foreign key mismatch" error loaded // into pParse. If an OOM error occurs, non-zero is returned and the // pParse->db->mallocFailed flag is set. -func Xsqlite3FkLocateIndex(tls *libc.TLS, pParse uintptr, pParent uintptr, pFKey uintptr, ppIdx uintptr, paiCol uintptr) int32 { /* sqlite3.c:123622:20: */ +func Xsqlite3FkLocateIndex(tls *libc.TLS, pParse uintptr, pParent uintptr, pFKey uintptr, ppIdx uintptr, paiCol uintptr) int32 { /* sqlite3.c:123635:20: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -118029,7 +118067,7 @@ func Xsqlite3FkLocateIndex(tls *libc.TLS, pParse uintptr, pParent uintptr, pFKey // // These operations are identified in the comment at the top of this file // (fkey.c) as "I.1" and "D.1". -func fkLookupParent(tls *libc.TLS, pParse uintptr, iDb int32, pTab uintptr, pIdx uintptr, pFKey uintptr, aiCol uintptr, regData int32, nIncr int32, isIgnore int32) { /* sqlite3.c:123759:13: */ +func fkLookupParent(tls *libc.TLS, pParse uintptr, iDb int32, pTab uintptr, pIdx uintptr, pFKey uintptr, aiCol uintptr, regData int32, nIncr int32, isIgnore int32) { /* sqlite3.c:123772:13: */ var i int32 // Iterator variable var v uintptr = Xsqlite3GetVdbe(tls, pParse) // Vdbe to add code to var iCur int32 = (*Parse)(unsafe.Pointer(pParse)).FnTab - 1 // Cursor number to use @@ -118159,7 +118197,7 @@ func fkLookupParent(tls *libc.TLS, pParse uintptr, iDb int32, pTab uintptr, pIdx // regBase is the first of an array of register that contains the data // for pTab. regBase itself holds the rowid. regBase+1 holds the first // column. regBase+2 holds the second column, and so forth. -func exprTableRegister(tls *libc.TLS, pParse uintptr, pTab uintptr, regBase int32, iCol I16) uintptr { /* sqlite3.c:123912:13: */ +func exprTableRegister(tls *libc.TLS, pParse uintptr, pTab uintptr, regBase int32, iCol I16) uintptr { /* sqlite3.c:123925:13: */ var pExpr uintptr var pCol uintptr var zColl uintptr @@ -118186,7 +118224,7 @@ func exprTableRegister(tls *libc.TLS, pParse uintptr, pTab uintptr, regBase int3 // Return an Expr object that refers to column iCol of table pTab which // has cursor iCur. -func exprTableColumn(tls *libc.TLS, db uintptr, pTab uintptr, iCursor int32, iCol I16) uintptr { /* sqlite3.c:123944:13: */ +func exprTableColumn(tls *libc.TLS, db uintptr, pTab uintptr, iCursor int32, iCol I16) uintptr { /* sqlite3.c:123957:13: */ var pExpr uintptr = Xsqlite3Expr(tls, db, TK_COLUMN, uintptr(0)) if pExpr != 0 { @@ -118227,7 +118265,7 @@ func exprTableColumn(tls *libc.TLS, db uintptr, pTab uintptr, iCursor int32, iCo // // These operations are identified in the comment at the top of this file // (fkey.c) as "I.2" and "D.2". -func fkScanChildren(tls *libc.TLS, pParse uintptr, pSrc uintptr, pTab uintptr, pIdx uintptr, pFKey uintptr, aiCol uintptr, regData int32, nIncr int32) { /* sqlite3.c:123992:13: */ +func fkScanChildren(tls *libc.TLS, pParse uintptr, pSrc uintptr, pTab uintptr, pIdx uintptr, pFKey uintptr, aiCol uintptr, regData int32, nIncr int32) { /* sqlite3.c:124005:13: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -118351,7 +118389,7 @@ func fkScanChildren(tls *libc.TLS, pParse uintptr, pSrc uintptr, pTab uintptr, p // "t2". Calling this function with "t2" as the argument would return a // NULL pointer (as there are no FK constraints for which t2 is the parent // table). -func Xsqlite3FkReferences(tls *libc.TLS, pTab uintptr) uintptr { /* sqlite3.c:124121:21: */ +func Xsqlite3FkReferences(tls *libc.TLS, pTab uintptr) uintptr { /* sqlite3.c:124134:21: */ return Xsqlite3HashFind(tls, (*Table)(unsafe.Pointer(pTab)).FpSchema+80, (*Table)(unsafe.Pointer(pTab)).FzName) } @@ -118361,7 +118399,7 @@ func Xsqlite3FkReferences(tls *libc.TLS, pTab uintptr) uintptr { /* sqlite3.c:12 // // The Trigger structure or any of its sub-components may be allocated from // the lookaside buffer belonging to database handle dbMem. -func fkTriggerDelete(tls *libc.TLS, dbMem uintptr, p uintptr) { /* sqlite3.c:124133:13: */ +func fkTriggerDelete(tls *libc.TLS, dbMem uintptr, p uintptr) { /* sqlite3.c:124146:13: */ if p != 0 { var pStep uintptr = (*Trigger)(unsafe.Pointer(p)).Fstep_list Xsqlite3ExprDelete(tls, dbMem, (*TriggerStep)(unsafe.Pointer(pStep)).FpWhere) @@ -118375,7 +118413,7 @@ func fkTriggerDelete(tls *libc.TLS, dbMem uintptr, p uintptr) { /* sqlite3.c:124 // Clear the apTrigger[] cache of CASCADE triggers for all foreign keys // in a particular database. This needs to happen when the schema // changes. -func Xsqlite3FkClearTriggerCache(tls *libc.TLS, db uintptr, iDb int32) { /* sqlite3.c:124149:21: */ +func Xsqlite3FkClearTriggerCache(tls *libc.TLS, db uintptr, iDb int32) { /* sqlite3.c:124162:21: */ var k uintptr var pHash uintptr = (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(iDb)*32)).FpSchema + 8 for k = (*Hash)(unsafe.Pointer(pHash)).Ffirst; k != 0; k = (*HashElem)(unsafe.Pointer(k)).Fnext { @@ -118408,7 +118446,7 @@ func Xsqlite3FkClearTriggerCache(tls *libc.TLS, db uintptr, iDb int32) { /* sqli // then the equivalent of "DELETE FROM " is executed before dropping // the table from the database. Triggers are disabled while running this // DELETE, but foreign key actions are not. -func Xsqlite3FkDropTable(tls *libc.TLS, pParse uintptr, pName uintptr, pTab uintptr) { /* sqlite3.c:124180:21: */ +func Xsqlite3FkDropTable(tls *libc.TLS, pParse uintptr, pName uintptr, pTab uintptr) { /* sqlite3.c:124193:21: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb if (*Sqlite3)(unsafe.Pointer(db)).Fflags&uint64(SQLITE_ForeignKeys) != 0 && int32((*Table)(unsafe.Pointer(pTab)).FeTabType) == TABTYP_NORM { var iSkip int32 = 0 @@ -118471,7 +118509,7 @@ func Xsqlite3FkDropTable(tls *libc.TLS, pParse uintptr, pName uintptr, pTab uint // // This function returns true if any of the columns that are part of the // child key for FK constraint *p are modified. -func fkChildIsModified(tls *libc.TLS, pTab uintptr, p uintptr, aChange uintptr, bChngRowid int32) int32 { /* sqlite3.c:124243:12: */ +func fkChildIsModified(tls *libc.TLS, pTab uintptr, p uintptr, aChange uintptr, bChngRowid int32) int32 { /* sqlite3.c:124256:12: */ var i int32 for i = 0; i < (*FKey)(unsafe.Pointer(p)).FnCol; i++ { var iChildKey int32 = (*sColMap)(unsafe.Pointer(p + 64 + uintptr(i)*16)).FiFrom @@ -118495,7 +118533,7 @@ func fkChildIsModified(tls *libc.TLS, pTab uintptr, p uintptr, aChange uintptr, // // This function returns true if any of the columns that are part of the // parent key for FK constraint *p are modified. -func fkParentIsModified(tls *libc.TLS, pTab uintptr, p uintptr, aChange uintptr, bChngRowid int32) int32 { /* sqlite3.c:124270:12: */ +func fkParentIsModified(tls *libc.TLS, pTab uintptr, p uintptr, aChange uintptr, bChngRowid int32) int32 { /* sqlite3.c:124283:12: */ var i int32 for i = 0; i < (*FKey)(unsafe.Pointer(p)).FnCol; i++ { var zKey uintptr = (*sColMap)(unsafe.Pointer(p + 64 + uintptr(i)*16)).FzCol @@ -118519,7 +118557,7 @@ func fkParentIsModified(tls *libc.TLS, pTab uintptr, p uintptr, aChange uintptr, // Return true if the parser passed as the first argument is being // used to code a trigger that is really a "SET NULL" action belonging // to trigger pFKey. -func isSetNullAction(tls *libc.TLS, pParse uintptr, pFKey uintptr) int32 { /* sqlite3.c:124299:12: */ +func isSetNullAction(tls *libc.TLS, pParse uintptr, pFKey uintptr) int32 { /* sqlite3.c:124312:12: */ var pTop uintptr = func() uintptr { if (*Parse)(unsafe.Pointer(pParse)).FpToplevel != 0 { return (*Parse)(unsafe.Pointer(pParse)).FpToplevel @@ -118554,7 +118592,7 @@ func isSetNullAction(tls *libc.TLS, pParse uintptr, pFKey uintptr) int32 { /* sq // the original record is deleted from the table using the calling convention // described for DELETE. Then again after the original record is deleted // but before the new record is inserted using the INSERT convention. -func Xsqlite3FkCheck(tls *libc.TLS, pParse uintptr, pTab uintptr, regOld int32, regNew int32, aChange uintptr, bChngRowid int32) { /* sqlite3.c:124332:21: */ +func Xsqlite3FkCheck(tls *libc.TLS, pParse uintptr, pTab uintptr, regOld int32, regNew int32, aChange uintptr, bChngRowid int32) { /* sqlite3.c:124345:21: */ bp := tls.Alloc(40) defer tls.Free(40) @@ -118756,7 +118794,7 @@ func Xsqlite3FkCheck(tls *libc.TLS, pParse uintptr, pTab uintptr, regOld int32, // This function is called before generating code to update or delete a // row contained in table pTab. -func Xsqlite3FkOldmask(tls *libc.TLS, pParse uintptr, pTab uintptr) U32 { /* sqlite3.c:124535:20: */ +func Xsqlite3FkOldmask(tls *libc.TLS, pParse uintptr, pTab uintptr) U32 { /* sqlite3.c:124548:20: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -118815,7 +118853,7 @@ func Xsqlite3FkOldmask(tls *libc.TLS, pParse uintptr, pTab uintptr) U32 { /* sql // not "NO ACTION" (i.e. is CASCADE, SET DEFAULT or SET NULL). // // Or, assuming some other foreign key processing is required, 1. -func Xsqlite3FkRequired(tls *libc.TLS, pParse uintptr, pTab uintptr, aChange uintptr, chngRowid int32) int32 { /* sqlite3.c:124585:20: */ +func Xsqlite3FkRequired(tls *libc.TLS, pParse uintptr, pTab uintptr, aChange uintptr, chngRowid int32) int32 { /* sqlite3.c:124598:20: */ var eRet int32 = 1 // Value to return if bHaveFK is true var bHaveFK int32 = 0 // If FK processing is required if (*Sqlite3)(unsafe.Pointer((*Parse)(unsafe.Pointer(pParse)).Fdb)).Fflags&uint64(SQLITE_ForeignKeys) != 0 && int32((*Table)(unsafe.Pointer(pTab)).FeTabType) == TABTYP_NORM { @@ -118883,7 +118921,7 @@ func Xsqlite3FkRequired(tls *libc.TLS, pParse uintptr, pTab uintptr, aChange uin // The returned pointer is cached as part of the foreign key object. It // is eventually freed along with the rest of the foreign key object by // sqlite3FkDelete(). -func fkActionTrigger(tls *libc.TLS, pParse uintptr, pTab uintptr, pFKey uintptr, pChanges uintptr) uintptr { /* sqlite3.c:124653:16: */ +func fkActionTrigger(tls *libc.TLS, pParse uintptr, pTab uintptr, pFKey uintptr, pChanges uintptr) uintptr { /* sqlite3.c:124666:16: */ bp := tls.Alloc(96) defer tls.Free(96) @@ -119086,7 +119124,7 @@ func fkActionTrigger(tls *libc.TLS, pParse uintptr, pTab uintptr, pFKey uintptr, // This function is called when deleting or updating a row to implement // any required CASCADE, SET NULL or SET DEFAULT actions. -func Xsqlite3FkActions(tls *libc.TLS, pParse uintptr, pTab uintptr, pChanges uintptr, regOld int32, aChange uintptr, bChngRowid int32) { /* sqlite3.c:124845:21: */ +func Xsqlite3FkActions(tls *libc.TLS, pParse uintptr, pTab uintptr, pChanges uintptr, regOld int32, aChange uintptr, bChngRowid int32) { /* sqlite3.c:124858:21: */ // If foreign-key support is enabled, iterate through all FKs that // refer to table pTab. If there is an action associated with the FK // for this operation (either update or delete), invoke the associated @@ -119107,7 +119145,7 @@ func Xsqlite3FkActions(tls *libc.TLS, pParse uintptr, pTab uintptr, pChanges uin // Free all memory associated with foreign key definitions attached to // table pTab. Remove the deleted foreign keys from the Schema.fkeyHash // hash table. -func Xsqlite3FkDelete(tls *libc.TLS, db uintptr, pTab uintptr) { /* sqlite3.c:124877:21: */ +func Xsqlite3FkDelete(tls *libc.TLS, db uintptr, pTab uintptr) { /* sqlite3.c:124890:21: */ var pFKey uintptr // Iterator variable var pNext uintptr // Copy of pFKey->pNextFrom @@ -119167,7 +119205,7 @@ func Xsqlite3FkDelete(tls *libc.TLS, db uintptr, pTab uintptr) { /* sqlite3.c:12 // // If pTab is a WITHOUT ROWID table, then it is the PRIMARY KEY index // for that table that is actually opened. -func Xsqlite3OpenTable(tls *libc.TLS, pParse uintptr, iCur int32, iDb int32, pTab uintptr, opcode int32) { /* sqlite3.c:124943:21: */ +func Xsqlite3OpenTable(tls *libc.TLS, pParse uintptr, iCur int32, iDb int32, pTab uintptr, opcode int32) { /* sqlite3.c:124956:21: */ var v uintptr v = (*Parse)(unsafe.Pointer(pParse)).FpVdbe @@ -119209,7 +119247,7 @@ func Xsqlite3OpenTable(tls *libc.TLS, pParse uintptr, iCur int32, iDb int32, pTa // Memory for the buffer containing the column index affinity string // is managed along with the rest of the Index structure. It will be // released when sqlite3DeleteIndex() is called. -func Xsqlite3IndexAffinityStr(tls *libc.TLS, db uintptr, pIdx uintptr) uintptr { /* sqlite3.c:124990:27: */ +func Xsqlite3IndexAffinityStr(tls *libc.TLS, db uintptr, pIdx uintptr) uintptr { /* sqlite3.c:125003:27: */ if !(int32((*Index)(unsafe.Pointer(pIdx)).FzColAff) != 0) { // The first time a column affinity string for a particular index is // required, it is allocated and populated here. It is then stored as @@ -119288,7 +119326,7 @@ func Xsqlite3IndexAffinityStr(tls *libc.TLS, db uintptr, pIdx uintptr) uintptr { // register set as the OP_MakeRecord. If iReg>0 then register iReg is // the first of a series of registers that will form the new record. // Apply the type checking to that array of registers. -func Xsqlite3TableAffinity(tls *libc.TLS, v uintptr, pTab uintptr, iReg int32) { /* sqlite3.c:125069:21: */ +func Xsqlite3TableAffinity(tls *libc.TLS, v uintptr, pTab uintptr, iReg int32) { /* sqlite3.c:125082:21: */ var i int32 var j int32 var zColAff uintptr @@ -119346,7 +119384,7 @@ func Xsqlite3TableAffinity(tls *libc.TLS, v uintptr, pTab uintptr, iReg int32) { // have been opened at any point in the VDBE program. This is used to see if // a statement of the form "INSERT INTO SELECT ..." can // run without using a temporary table for the results of the SELECT. -func readsTable(tls *libc.TLS, p uintptr, iDb int32, pTab uintptr) int32 { /* sqlite3.c:125130:12: */ +func readsTable(tls *libc.TLS, p uintptr, iDb int32, pTab uintptr) int32 { /* sqlite3.c:125143:12: */ var v uintptr = Xsqlite3GetVdbe(tls, p) var i int32 var iEnd int32 = Xsqlite3VdbeCurrentAddr(tls, v) @@ -119382,7 +119420,7 @@ func readsTable(tls *libc.TLS, p uintptr, iDb int32, pTab uintptr) int32 { /* sq // This walker callback will compute the union of colFlags flags for all // referenced columns in a CHECK constraint or generated column expression. -func exprColumnFlagUnion(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:125167:12: */ +func exprColumnFlagUnion(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:125180:12: */ if int32((*Expr)(unsafe.Pointer(pExpr)).Fop) == TK_COLUMN && int32((*Expr)(unsafe.Pointer(pExpr)).FiColumn) >= 0 { *(*U16)(unsafe.Pointer(pWalker + 36)) |= U16(int32((*Column)(unsafe.Pointer((*Table1)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pWalker + 40)))).FaCol + uintptr((*Expr)(unsafe.Pointer(pExpr)).FiColumn)*24)).FcolFlags)) @@ -119395,7 +119433,7 @@ func exprColumnFlagUnion(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { // or VIRTUAL columns have not yet been initialized. This routine goes // back and computes the values for those columns based on the previously // computed normal columns. -func Xsqlite3ComputeGeneratedColumns(tls *libc.TLS, pParse uintptr, iRegStore int32, pTab uintptr) { /* sqlite3.c:125183:21: */ +func Xsqlite3ComputeGeneratedColumns(tls *libc.TLS, pParse uintptr, iRegStore int32, pTab uintptr) { /* sqlite3.c:125196:21: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -119508,7 +119546,7 @@ func Xsqlite3ComputeGeneratedColumns(tls *libc.TLS, pParse uintptr, iRegStore in // // The 2nd register is the one that is returned. That is all the // insert routine needs to know about. -func autoIncBegin(tls *libc.TLS, pParse uintptr, iDb int32, pTab uintptr) int32 { /* sqlite3.c:125307:12: */ +func autoIncBegin(tls *libc.TLS, pParse uintptr, iDb int32, pTab uintptr) int32 { /* sqlite3.c:125320:12: */ var memId int32 = 0 // Register holding maximum rowid if (*Table)(unsafe.Pointer(pTab)).FtabFlags&U32(TF_Autoincrement) != U32(0) && @@ -119562,7 +119600,7 @@ func autoIncBegin(tls *libc.TLS, pParse uintptr, iDb int32, pTab uintptr) int32 // This routine generates code that will initialize all of the // register used by the autoincrement tracker. -func Xsqlite3AutoincrementBegin(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:125358:21: */ +func Xsqlite3AutoincrementBegin(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:125371:21: */ var p uintptr // Information about an AUTOINCREMENT var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb // The database connection var pDb uintptr // Database only autoinc table @@ -119602,7 +119640,7 @@ func Xsqlite3AutoincrementBegin(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:12 } } -var iLn1 int32 = 0 /* sqlite3.c:125372:22 */ +var iLn1 int32 = 0 /* sqlite3.c:125385:22 */ var autoInc = [12]VdbeOpList{ /* 0 */ {Fopcode: U8(OP_Null)}, /* 1 */ {Fopcode: U8(OP_Rewind), Fp2: int8(10)}, @@ -119616,7 +119654,7 @@ var autoInc = [12]VdbeOpList{ /* 9 */ {Fopcode: U8(OP_Next), Fp2: int8(2)}, /* 10 */ {Fopcode: U8(OP_Integer)}, /* 11 */ {Fopcode: U8(OP_Close)}, -} /* sqlite3.c:125373:29 */ +} /* sqlite3.c:125386:29 */ // Update the maximum rowid for an autoincrement calculation. // @@ -119624,7 +119662,7 @@ var autoInc = [12]VdbeOpList{ // new rowid that is about to be inserted. If that new rowid is // larger than the maximum rowid in the memId memory cell, then the // memory cell is updated. -func autoIncStep(tls *libc.TLS, pParse uintptr, memId int32, regRowid int32) { /* sqlite3.c:125419:13: */ +func autoIncStep(tls *libc.TLS, pParse uintptr, memId int32, regRowid int32) { /* sqlite3.c:125432:13: */ if memId > 0 { Xsqlite3VdbeAddOp2(tls, (*Parse)(unsafe.Pointer(pParse)).FpVdbe, OP_MemMax, memId, regRowid) } @@ -119635,7 +119673,7 @@ func autoIncStep(tls *libc.TLS, pParse uintptr, memId int32, regRowid int32) { / // Every statement that might do an INSERT into an autoincrement // table (either directly or through triggers) needs to call this // routine just before the "exit" code. -func autoIncrementEnd(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:125432:29: */ +func autoIncrementEnd(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:125445:29: */ var p uintptr var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb @@ -119666,16 +119704,16 @@ func autoIncrementEnd(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:125432:29: * } } -var iLn2 int32 = 0 /* sqlite3.c:125439:22 */ +var iLn2 int32 = 0 /* sqlite3.c:125452:22 */ var autoIncEnd = [5]VdbeOpList{ /* 0 */ {Fopcode: U8(OP_NotNull), Fp2: int8(2)}, /* 1 */ {Fopcode: U8(OP_NewRowid)}, /* 2 */ {Fopcode: U8(OP_MakeRecord), Fp2: int8(2)}, /* 3 */ {Fopcode: U8(OP_Insert)}, /* 4 */ {Fopcode: U8(OP_Close)}, -} /* sqlite3.c:125440:29 */ +} /* sqlite3.c:125453:29 */ -func Xsqlite3AutoincrementEnd(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:125469:21: */ +func Xsqlite3AutoincrementEnd(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:125482:21: */ if (*Parse)(unsafe.Pointer(pParse)).FpAinc != 0 { autoIncrementEnd(tls, pParse) } @@ -119776,7 +119814,7 @@ func Xsqlite3AutoincrementEnd(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:1254 // transfer values form intermediate table into
// end loop // D: cleanup -func Xsqlite3Insert(tls *libc.TLS, pParse uintptr, pTabList uintptr, pSelect uintptr, pColumn uintptr, onError int32, pUpsert uintptr) { /* sqlite3.c:125588:21: */ +func Xsqlite3Insert(tls *libc.TLS, pParse uintptr, pTabList uintptr, pSelect uintptr, pColumn uintptr, onError int32, pUpsert uintptr) { /* sqlite3.c:125601:21: */ bp := tls.Alloc(188) defer tls.Free(188) @@ -120830,7 +120868,7 @@ insert_cleanup: // Set bit 0x01 of pWalker->eCode if pWalker->eCode to 0 and if this // expression node references any of the // columns that are being modifed by an UPDATE statement. -func checkConstraintExprNode(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:126347:12: */ +func checkConstraintExprNode(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:126360:12: */ if int32((*Expr)(unsafe.Pointer(pExpr)).Fop) == TK_COLUMN { if int32((*Expr)(unsafe.Pointer(pExpr)).FiColumn) >= 0 { @@ -120857,7 +120895,7 @@ func checkConstraintExprNode(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int3 // The operation of this routine is the same - return true if an only if // the expression uses one or more of columns identified by the second and // third arguments. -func Xsqlite3ExprReferencesUpdatedColumn(tls *libc.TLS, pExpr uintptr, aiChng uintptr, chngRowid int32) int32 { /* sqlite3.c:126376:20: */ +func Xsqlite3ExprReferencesUpdatedColumn(tls *libc.TLS, pExpr uintptr, aiChng uintptr, chngRowid int32) int32 { /* sqlite3.c:126389:20: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -120891,7 +120929,7 @@ type IndexListTerm1 = struct { Fp uintptr Fix int32 F__ccgo_pad1 [4]byte -} /* sqlite3.c:126409:9 */ +} /* sqlite3.c:126422:9 */ // The sqlite3GenerateConstraintChecks() routine usually wants to visit // the indexes of a table in the order provided in the Table->pIndex list. @@ -120902,7 +120940,7 @@ type IndexListTerm1 = struct { // The IndexIterator object is used to walk through all of the indexes // of a table in either Index.pNext order, or in some other order established // by an array of IndexListTerm objects. -type IndexListTerm = IndexListTerm1 /* sqlite3.c:126409:30 */ +type IndexListTerm = IndexListTerm1 /* sqlite3.c:126422:30 */ type IndexIterator1 = struct { FeType int32 Fi int32 @@ -120910,12 +120948,12 @@ type IndexIterator1 = struct { Flx struct{ FpIdx uintptr } F__ccgo_pad1 [8]byte } -} /* sqlite3.c:126410:9 */ +} /* sqlite3.c:126423:9 */ -type IndexIterator = IndexIterator1 /* sqlite3.c:126410:30 */ +type IndexIterator = IndexIterator1 /* sqlite3.c:126423:30 */ // Return the first index on the list -func indexIteratorFirst(tls *libc.TLS, pIter uintptr, pIx uintptr) uintptr { /* sqlite3.c:126434:14: */ +func indexIteratorFirst(tls *libc.TLS, pIter uintptr, pIx uintptr) uintptr { /* sqlite3.c:126447:14: */ if (*IndexIterator)(unsafe.Pointer(pIter)).FeType != 0 { *(*int32)(unsafe.Pointer(pIx)) = (*IndexListTerm)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pIter + 8 + 8 /* &.aIdx */)))).Fix @@ -120928,7 +120966,7 @@ func indexIteratorFirst(tls *libc.TLS, pIter uintptr, pIx uintptr) uintptr { /* } // Return the next index from the list. Return NULL when out of indexes -func indexIteratorNext(tls *libc.TLS, pIter uintptr, pIx uintptr) uintptr { /* sqlite3.c:126446:14: */ +func indexIteratorNext(tls *libc.TLS, pIter uintptr, pIx uintptr) uintptr { /* sqlite3.c:126459:14: */ if (*IndexIterator)(unsafe.Pointer(pIter)).FeType != 0 { var i int32 = libc.PreIncInt32(&(*IndexIterator)(unsafe.Pointer(pIter)).Fi, 1) if i >= *(*int32)(unsafe.Pointer(pIter + 8)) { @@ -121034,7 +121072,7 @@ func indexIteratorNext(tls *libc.TLS, pIter uintptr, pIx uintptr) uintptr { /* s // Or if overrideError==OE_Default, then the pParse->onError parameter // is used. Or if pParse->onError==OE_Default then the onError value // for the constraint is used. -func Xsqlite3GenerateConstraintChecks(tls *libc.TLS, pParse uintptr, pTab uintptr, aRegIdx uintptr, iDataCur int32, iIdxCur int32, regNewData int32, regOldData int32, pkChng U8, overrideError U8, ignoreDest int32, pbMayReplace uintptr, aiChng uintptr, pUpsert uintptr) { /* sqlite3.c:126553:21: */ +func Xsqlite3GenerateConstraintChecks(tls *libc.TLS, pParse uintptr, pTab uintptr, aRegIdx uintptr, iDataCur int32, iIdxCur int32, regNewData int32, regOldData int32, pkChng U8, overrideError U8, ignoreDest int32, pbMayReplace uintptr, aiChng uintptr, pUpsert uintptr) { /* sqlite3.c:126566:21: */ bp := tls.Alloc(72) defer tls.Free(72) @@ -121897,7 +121935,7 @@ func Xsqlite3GenerateConstraintChecks(tls *libc.TLS, pParse uintptr, pTab uintpt // number is iCur, and register regData contains the new record for the // PK index. This function adds code to invoke the pre-update hook, // if one is registered. -func codeWithoutRowidPreupdate(tls *libc.TLS, pParse uintptr, pTab uintptr, iCur int32, regData int32) { /* sqlite3.c:127411:13: */ +func codeWithoutRowidPreupdate(tls *libc.TLS, pParse uintptr, pTab uintptr, iCur int32, regData int32) { /* sqlite3.c:127424:13: */ var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe var r int32 = Xsqlite3GetTempReg(tls, pParse) @@ -121914,7 +121952,7 @@ func codeWithoutRowidPreupdate(tls *libc.TLS, pParse uintptr, pTab uintptr, iCur // // The arguments to this routine should be the same as the first six // arguments to sqlite3GenerateConstraintChecks. -func Xsqlite3CompleteInsertion(tls *libc.TLS, pParse uintptr, pTab uintptr, iDataCur int32, iIdxCur int32, regNewData int32, aRegIdx uintptr, update_flags int32, appendBias int32, useSeekResult int32) { /* sqlite3.c:127439:21: */ +func Xsqlite3CompleteInsertion(tls *libc.TLS, pParse uintptr, pTab uintptr, iDataCur int32, iIdxCur int32, regNewData int32, aRegIdx uintptr, update_flags int32, appendBias int32, useSeekResult int32) { /* sqlite3.c:127452:21: */ var v uintptr // Prepared statements under construction var pIdx uintptr // An index being inserted or updated var pik_flags U8 // flag values passed to the btree insert @@ -122017,7 +122055,7 @@ __3: // // If pTab is a virtual table, then this routine is a no-op and the // *piDataCur and *piIdxCur values are left uninitialized. -func Xsqlite3OpenTableAndIndices(tls *libc.TLS, pParse uintptr, pTab uintptr, op int32, p5 U8, iBase int32, aToOpen uintptr, piDataCur uintptr, piIdxCur uintptr) int32 { /* sqlite3.c:127527:20: */ +func Xsqlite3OpenTableAndIndices(tls *libc.TLS, pParse uintptr, pTab uintptr, op int32, p5 U8, iBase int32, aToOpen uintptr, piDataCur uintptr, piIdxCur uintptr) int32 { /* sqlite3.c:127540:20: */ var i int32 var iDb int32 var iDataCur int32 @@ -122095,7 +122133,7 @@ __3: // * The same onError processing (OE_Abort, OE_Ignore, etc) // * The same collating sequence on each column // * The index has the exact same WHERE clause -func xferCompatibleIndex(tls *libc.TLS, pDest uintptr, pSrc uintptr) int32 { /* sqlite3.c:127606:12: */ +func xferCompatibleIndex(tls *libc.TLS, pDest uintptr, pSrc uintptr) int32 { /* sqlite3.c:127619:12: */ var i int32 if int32((*Index)(unsafe.Pointer(pDest)).FnKeyCol) != int32((*Index)(unsafe.Pointer(pSrc)).FnKeyCol) || int32((*Index)(unsafe.Pointer(pDest)).FnColumn) != int32((*Index)(unsafe.Pointer(pSrc)).FnColumn) { @@ -122153,7 +122191,7 @@ func xferCompatibleIndex(tls *libc.TLS, pDest uintptr, pSrc uintptr) int32 { /* // is no chance that the xfer optimization can be applied. // // This optimization is particularly useful at making VACUUM run faster. -func xferOptimization(tls *libc.TLS, pParse uintptr, pDest uintptr, pSelect uintptr, onError int32, iDbDest int32) int32 { /* sqlite3.c:127667:12: */ +func xferOptimization(tls *libc.TLS, pParse uintptr, pDest uintptr, pSelect uintptr, onError int32, iDbDest int32) int32 { /* sqlite3.c:127680:12: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb var pEList uintptr // The result set of the SELECT var pSrc uintptr // The table in the FROM clause of SELECT @@ -122533,7 +122571,7 @@ func xferOptimization(tls *libc.TLS, pParse uintptr, pDest uintptr, pSelect uint // the xCallback() function is called. pArg becomes the first // 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 Sqlite3_callback, pArg uintptr, pzErrMsg uintptr) int32 { /* sqlite3.c:128078:16: */ +func Xsqlite3_exec(tls *libc.TLS, db uintptr, zSql uintptr, xCallback Sqlite3_callback, pArg uintptr, pzErrMsg uintptr) int32 { /* sqlite3.c:128091:16: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -122554,7 +122592,7 @@ func Xsqlite3_exec(tls *libc.TLS, db uintptr, zSql uintptr, xCallback Sqlite3_ca if !!(Xsqlite3SafetyCheckOk(tls, db) != 0) { goto __1 } - return Xsqlite3MisuseError(tls, 128091) + return Xsqlite3MisuseError(tls, 128104) __1: ; if !(zSql == uintptr(0)) { @@ -122743,7 +122781,7 @@ __26: // This is the function signature used for all extension entry points. It // is also defined in the file "loadext.c". -type Sqlite3_loadext_entry = uintptr /* sqlite3.c:128572:13 */ +type Sqlite3_loadext_entry = uintptr /* sqlite3.c:128585:13 */ // The following macros redefine the API routines so that they are // redirected through the global sqlite3_api structure. @@ -123077,7 +123115,7 @@ var sqlite3Apis = Sqlite3_api_routines{ Fvtab_in: 0, Fvtab_in_first: 0, Fvtab_in_next: 0, -} /* sqlite3.c:129018:35 */ +} /* sqlite3.c:129031:35 */ // True if x is the directory separator character @@ -123091,7 +123129,7 @@ var sqlite3Apis = Sqlite3_api_routines{ // If an error occurs and pzErrMsg is not 0, then fill *pzErrMsg with // error message text. The calling function should free this memory // by calling sqlite3DbFree(db, ). -func sqlite3LoadExtension(tls *libc.TLS, db uintptr, zFile uintptr, zProc uintptr, pzErrMsg uintptr) int32 { /* sqlite3.c:129402:12: */ +func sqlite3LoadExtension(tls *libc.TLS, db uintptr, zFile uintptr, zProc uintptr, pzErrMsg uintptr) int32 { /* sqlite3.c:129415:12: */ bp := tls.Alloc(64) defer tls.Free(64) @@ -123345,9 +123383,9 @@ __28: var azEndings = [1]uintptr{ ts + 16352, -} /* sqlite3.c:129420:21 */ +} /* sqlite3.c:129433:21 */ -func Xsqlite3_load_extension(tls *libc.TLS, db uintptr, zFile uintptr, zProc uintptr, pzErrMsg uintptr) int32 { /* sqlite3.c:129553:16: */ +func Xsqlite3_load_extension(tls *libc.TLS, db uintptr, zFile uintptr, zProc uintptr, pzErrMsg uintptr) int32 { /* sqlite3.c:129566:16: */ var rc int32 Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) rc = sqlite3LoadExtension(tls, db, zFile, zProc, pzErrMsg) @@ -123358,7 +123396,7 @@ func Xsqlite3_load_extension(tls *libc.TLS, db uintptr, zFile uintptr, zProc uin // Call this routine when the database connection is closing in order // to clean up loaded extensions -func Xsqlite3CloseExtensions(tls *libc.TLS, db uintptr) { /* sqlite3.c:129571:21: */ +func Xsqlite3CloseExtensions(tls *libc.TLS, db uintptr) { /* sqlite3.c:129584:21: */ var i int32 for i = 0; i < (*Sqlite3)(unsafe.Pointer(db)).FnExtension; i++ { @@ -123369,7 +123407,7 @@ func Xsqlite3CloseExtensions(tls *libc.TLS, db uintptr) { /* sqlite3.c:129571:21 // Enable or disable extension loading. Extension loading is disabled by // default so as not to open security holes in older applications. -func Xsqlite3_enable_load_extension(tls *libc.TLS, db uintptr, onoff int32) int32 { /* sqlite3.c:129584:16: */ +func Xsqlite3_enable_load_extension(tls *libc.TLS, db uintptr, onoff int32) int32 { /* sqlite3.c:129597:16: */ Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) if onoff != 0 { *(*U64)(unsafe.Pointer(db + 48)) |= uint64(SQLITE_LoadExtension | SQLITE_LoadExtFunc) @@ -123389,15 +123427,15 @@ type sqlite3AutoExtList = struct { FnExt U32 F__ccgo_pad1 [4]byte FaExt uintptr -} /* sqlite3.c:129604:9 */ +} /* sqlite3.c:129617:9 */ // The following object holds the list of automatically loaded // extensions. // // This list is shared across threads. The SQLITE_MUTEX_STATIC_MAIN // mutex must be held while accessing this list. -type Sqlite3AutoExtList = sqlite3AutoExtList /* sqlite3.c:129604:35 */ -var sqlite3Autoext = sqlite3AutoExtList{} /* sqlite3.c:129608:3 */ +type Sqlite3AutoExtList = sqlite3AutoExtList /* sqlite3.c:129617:35 */ +var sqlite3Autoext = sqlite3AutoExtList{} /* sqlite3.c:129621:3 */ // The "wsdAutoext" macro will resolve to the autoextension // state vector. If writable static data is unsupported on the target, @@ -123407,7 +123445,7 @@ var sqlite3Autoext = sqlite3AutoExtList{} /* sqlite3.c:129608:3 */ // Register a statically linked extension that is automatically // loaded by every new database connection. -func Xsqlite3_auto_extension(tls *libc.TLS, xInit uintptr) int32 { /* sqlite3.c:129630:16: */ +func Xsqlite3_auto_extension(tls *libc.TLS, xInit uintptr) int32 { /* sqlite3.c:129643:16: */ var rc int32 = SQLITE_OK rc = Xsqlite3_initialize(tls) if rc != 0 { @@ -123448,7 +123486,7 @@ func Xsqlite3_auto_extension(tls *libc.TLS, xInit uintptr) int32 { /* sqlite3.c: // // 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) int32 { /* sqlite3.c:129677:16: */ +func Xsqlite3_cancel_auto_extension(tls *libc.TLS, xInit uintptr) int32 { /* sqlite3.c:129690:16: */ var mutex uintptr = Xsqlite3MutexAlloc(tls, SQLITE_MUTEX_STATIC_MAIN) var i int32 var n int32 = 0 @@ -123467,7 +123505,7 @@ func Xsqlite3_cancel_auto_extension(tls *libc.TLS, xInit uintptr) int32 { /* sql } // Reset the automatic extension loading mechanism. -func Xsqlite3_reset_auto_extension(tls *libc.TLS) { /* sqlite3.c:129702:17: */ +func Xsqlite3_reset_auto_extension(tls *libc.TLS) { /* sqlite3.c:129715:17: */ if Xsqlite3_initialize(tls) == SQLITE_OK { var mutex uintptr = Xsqlite3MutexAlloc(tls, SQLITE_MUTEX_STATIC_MAIN) @@ -123482,7 +123520,7 @@ func Xsqlite3_reset_auto_extension(tls *libc.TLS) { /* sqlite3.c:129702:17: */ // Load all automatic extensions. // // If anything goes wrong, set an error in the database connection. -func Xsqlite3AutoLoadExtensions(tls *libc.TLS, db uintptr) { /* sqlite3.c:129724:21: */ +func Xsqlite3AutoLoadExtensions(tls *libc.TLS, db uintptr) { /* sqlite3.c:129737:21: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -123619,7 +123657,7 @@ var pragCName = [57]uintptr{ ts + 16630, ts + 16641, -} /* sqlite3.c:129865:19 */ +} /* sqlite3.c:129878:19 */ // Definitions of all built-in pragmas type PragmaName1 = struct { @@ -123630,10 +123668,10 @@ type PragmaName1 = struct { FnPragCName U8 F__ccgo_pad1 [4]byte FiArg U64 -} /* sqlite3.c:129930:9 */ +} /* sqlite3.c:129943:9 */ // Definitions of all built-in pragmas -type PragmaName = PragmaName1 /* sqlite3.c:129937:3 */ +type PragmaName = PragmaName1 /* sqlite3.c:129950:3 */ var aPragmaName = [67]PragmaName{ { /* zName: */ FzName: ts + 16649, /* ePragTyp: */ FePragTyp: U8(PragTyp_ANALYSIS_LIMIT), @@ -123873,7 +123911,7 @@ var aPragmaName = [67]PragmaName{ /* ePragTyp: */ FePragTyp: U8(PragTyp_FLAG), /* ePragFlg: */ FmPragFlg: U8(PragFlg_Result0 | PragFlg_NoColumns1), /* iArg: */ FiArg: uint64(SQLITE_WriteSchema | SQLITE_NoSchemaError)}, -} /* sqlite3.c:129938:25 */ +} /* sqlite3.c:129951:25 */ // Number of pragmas: 68 on by default, 78 total. @@ -123889,7 +123927,7 @@ var aPragmaName = [67]PragmaName{ // should be passed into sqlite3BtreeSetSafetyLevel(). The is done // to support legacy SQL code. The safety level used to be boolean // and older scripts may have used numbers 0 for OFF and 1 for ON. -func getSafetyLevel(tls *libc.TLS, z uintptr, omitFull int32, dflt U8) U8 { /* sqlite3.c:130472:11: */ +func getSafetyLevel(tls *libc.TLS, z uintptr, omitFull int32, dflt U8) U8 { /* sqlite3.c:130485:11: */ // on no off false yes true extra full var i int32 var n int32 @@ -123906,13 +123944,13 @@ func getSafetyLevel(tls *libc.TLS, z uintptr, omitFull int32, dflt U8) U8 { /* s return dflt } -var zText = *(*[25]int8)(unsafe.Pointer(ts + 17632)) /* sqlite3.c:130474:21 */ -var iOffset = [8]U8{U8(0), U8(1), U8(2), U8(4), U8(9), U8(12), U8(15), U8(20)} /* sqlite3.c:130475:19 */ -var iLength = [8]U8{U8(2), U8(2), U8(3), U8(5), U8(3), U8(4), U8(5), U8(4)} /* sqlite3.c:130476:19 */ -var iValue = [8]U8{U8(1), U8(0), U8(0), U8(0), U8(1), U8(1), U8(3), U8(2)} /* sqlite3.c:130477:19 */ +var zText = *(*[25]int8)(unsafe.Pointer(ts + 17632)) /* sqlite3.c:130487:21 */ +var iOffset = [8]U8{U8(0), U8(1), U8(2), U8(4), U8(9), U8(12), U8(15), U8(20)} /* sqlite3.c:130488:19 */ +var iLength = [8]U8{U8(2), U8(2), U8(3), U8(5), U8(3), U8(4), U8(5), U8(4)} /* sqlite3.c:130489:19 */ +var iValue = [8]U8{U8(1), U8(0), U8(0), U8(0), U8(1), U8(1), U8(3), U8(2)} /* sqlite3.c:130490:19 */ // Interpret the given string as a boolean value. -func Xsqlite3GetBoolean(tls *libc.TLS, z uintptr, dflt U8) U8 { /* sqlite3.c:130497:19: */ +func Xsqlite3GetBoolean(tls *libc.TLS, z uintptr, dflt U8) U8 { /* sqlite3.c:130510:19: */ return U8(libc.Bool32(int32(getSafetyLevel(tls, z, 1, dflt)) != 0)) } @@ -123921,7 +123959,7 @@ func Xsqlite3GetBoolean(tls *libc.TLS, z uintptr, dflt U8) U8 { /* sqlite3.c:130 // the rest of the file if PRAGMAs are omitted from the build. // Interpret the given string as a locking mode value. -func getLockingMode(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:130510:12: */ +func getLockingMode(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:130523:12: */ if z != 0 { if 0 == Xsqlite3StrICmp(tls, z, ts+17657) { return PAGER_LOCKINGMODE_EXCLUSIVE @@ -123937,7 +123975,7 @@ func getLockingMode(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:130510:12: */ // // The following strings, "none", "full" and "incremental" are // acceptable, as are their numeric equivalents: 0, 1 and 2 respectively. -func getAutoVacuum(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:130525:12: */ +func getAutoVacuum(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:130538:12: */ var i int32 if 0 == Xsqlite3StrICmp(tls, z, ts+8308) { return BTREE_AUTOVACUUM_NONE @@ -123960,7 +123998,7 @@ func getAutoVacuum(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:130525:12: */ // Interpret the given string as a temp db location. Return 1 for file // backed temporary databases, 2 for the Red-Black tree in memory database // and 0 to use the compile-time default. -func getTempStore(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:130541:12: */ +func getTempStore(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:130554:12: */ if int32(*(*int8)(unsafe.Pointer(z))) >= '0' && int32(*(*int8)(unsafe.Pointer(z))) <= '2' { return int32(*(*int8)(unsafe.Pointer(z))) - '0' } else if Xsqlite3StrICmp(tls, z, ts+16591) == 0 { @@ -123975,7 +124013,7 @@ func getTempStore(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:130541:12: */ // Invalidate temp storage, either when the temp storage is changed // from default, or when 'file' and the temp_store_directory has changed -func invalidateTempStorage(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:130559:12: */ +func invalidateTempStorage(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:130572:12: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb if (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+1*32)).FpBt != uintptr(0) { if !(int32((*Sqlite3)(unsafe.Pointer(db)).FautoCommit) != 0) || @@ -123994,7 +124032,7 @@ func invalidateTempStorage(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:1 // If the TEMP database is open, close it and mark the database schema // as needing reloading. This must be done when using the SQLITE_TEMP_STORE // or DEFAULT_TEMP_STORE pragmas. -func changeTempStorage(tls *libc.TLS, pParse uintptr, zStorageType uintptr) int32 { /* sqlite3.c:130583:12: */ +func changeTempStorage(tls *libc.TLS, pParse uintptr, zStorageType uintptr) int32 { /* sqlite3.c:130596:12: */ var ts int32 = getTempStore(tls, zStorageType) var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb if int32((*Sqlite3)(unsafe.Pointer(db)).Ftemp_store) == ts { @@ -124008,7 +124046,7 @@ func changeTempStorage(tls *libc.TLS, pParse uintptr, zStorageType uintptr) int3 } // Set result column names for a pragma. -func setPragmaResultColumnNames(tls *libc.TLS, v uintptr, pPragma uintptr) { /* sqlite3.c:130598:13: */ +func setPragmaResultColumnNames(tls *libc.TLS, v uintptr, pPragma uintptr) { /* sqlite3.c:130611:13: */ var n U8 = (*PragmaName)(unsafe.Pointer(pPragma)).FnPragCName Xsqlite3VdbeSetNumCols(tls, v, func() int32 { if int32(n) == 0 { @@ -124042,7 +124080,7 @@ func setPragmaResultColumnNames(tls *libc.TLS, v uintptr, pPragma uintptr) { /* } // Generate code to return a single integer value. -func returnSingleInt(tls *libc.TLS, v uintptr, value I64) { /* sqlite3.c:130617:13: */ +func returnSingleInt(tls *libc.TLS, v uintptr, value I64) { /* sqlite3.c:130630:13: */ bp := tls.Alloc(8) defer tls.Free(8) *(*I64)(unsafe.Pointer(bp)) = value @@ -124052,7 +124090,7 @@ func returnSingleInt(tls *libc.TLS, v uintptr, value I64) { /* sqlite3.c:130617: } // Generate code to return a single text value. -func returnSingleText(tls *libc.TLS, v uintptr, zValue uintptr) { /* sqlite3.c:130625:13: */ +func returnSingleText(tls *libc.TLS, v uintptr, zValue uintptr) { /* sqlite3.c:130638:13: */ if zValue != 0 { Xsqlite3VdbeLoadString(tls, v, 1, zValue) Xsqlite3VdbeAddOp2(tls, v, OP_ResultRow, 1, 1) @@ -124061,7 +124099,7 @@ func returnSingleText(tls *libc.TLS, v uintptr, zValue uintptr) { /* sqlite3.c:1 // Set the safety_level and pager flags for pager iDb. Or if iDb<0 // set these values for all pagers. -func setAllPagerFlags(tls *libc.TLS, db uintptr) { /* sqlite3.c:130641:13: */ +func setAllPagerFlags(tls *libc.TLS, db uintptr) { /* sqlite3.c:130654:13: */ if (*Sqlite3)(unsafe.Pointer(db)).FautoCommit != 0 { var pDb uintptr = (*Sqlite3)(unsafe.Pointer(db)).FaDb var n int32 = (*Sqlite3)(unsafe.Pointer(db)).FnDb @@ -124077,7 +124115,7 @@ func setAllPagerFlags(tls *libc.TLS, db uintptr) { /* sqlite3.c:130641:13: */ } // Return a human-readable name for a constraint resolution action. -func actionName(tls *libc.TLS, action U8) uintptr { /* sqlite3.c:130669:19: */ +func actionName(tls *libc.TLS, action U8) uintptr { /* sqlite3.c:130682:19: */ var zName uintptr switch int32(action) { case OE_SetNull: @@ -124102,7 +124140,7 @@ func actionName(tls *libc.TLS, action U8) uintptr { /* sqlite3.c:130669:19: */ // Parameter eMode must be one of the PAGER_JOURNALMODE_XXX constants // defined in pager.h. This function returns the associated lowercase // journal-mode name. -func Xsqlite3JournalModename(tls *libc.TLS, eMode int32) uintptr { /* sqlite3.c:130689:27: */ +func Xsqlite3JournalModename(tls *libc.TLS, eMode int32) uintptr { /* sqlite3.c:130702:27: */ if eMode == int32(uint64(unsafe.Sizeof(azModeName))/uint64(unsafe.Sizeof(uintptr(0)))) { return uintptr(0) @@ -124112,10 +124150,10 @@ func Xsqlite3JournalModename(tls *libc.TLS, eMode int32) uintptr { /* sqlite3.c: var azModeName = [6]uintptr{ ts + 17808, ts + 17815, ts + 17823, ts + 17827, ts + 17691, ts + 17836, -} /* sqlite3.c:130690:15 */ +} /* sqlite3.c:130703:15 */ // Locate a pragma in the aPragmaName[] array. -func pragmaLocate(tls *libc.TLS, zName uintptr) uintptr { /* sqlite3.c:130711:25: */ +func pragmaLocate(tls *libc.TLS, zName uintptr) uintptr { /* sqlite3.c:130724:25: */ var upr int32 var lwr int32 var mid int32 = 0 @@ -124142,7 +124180,7 @@ func pragmaLocate(tls *libc.TLS, zName uintptr) uintptr { /* sqlite3.c:130711:25 // Create zero or more entries in the output for the SQL functions // defined by FuncDef p. -func pragmaFunclistLine(tls *libc.TLS, v uintptr, p uintptr, isBuiltin int32, showInternFuncs int32) { /* sqlite3.c:130732:13: */ +func pragmaFunclistLine(tls *libc.TLS, v uintptr, p uintptr, isBuiltin int32, showInternFuncs int32) { /* sqlite3.c:130745:13: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -124171,15 +124209,15 @@ func pragmaFunclistLine(tls *libc.TLS, v uintptr, p uintptr, isBuiltin int32, sh } } -var mask U32 = U32(SQLITE_DETERMINISTIC | SQLITE_DIRECTONLY | SQLITE_SUBTYPE | SQLITE_INNOCUOUS | SQLITE_FUNC_INTERNAL) /* sqlite3.c:130740:22 */ -var azEnc = [4]uintptr{uintptr(0), ts + 17851, ts + 17856, ts + 17864 /* "utf16be" */} /* sqlite3.c:130747:23 */ +var mask U32 = U32(SQLITE_DETERMINISTIC | SQLITE_DIRECTONLY | SQLITE_SUBTYPE | SQLITE_INNOCUOUS | SQLITE_FUNC_INTERNAL) /* sqlite3.c:130753:22 */ +var azEnc = [4]uintptr{uintptr(0), ts + 17851, ts + 17856, ts + 17864 /* "utf16be" */} /* sqlite3.c:130760:23 */ // Helper subroutine for PRAGMA integrity_check: // // Generate code to output a single-column result row with a value of the // string held in register 3. Decrement the result count in register 1 // and halt if the maximum number of result rows have been issued. -func integrityCheckResultRow(tls *libc.TLS, v uintptr) int32 { /* sqlite3.c:130784:12: */ +func integrityCheckResultRow(tls *libc.TLS, v uintptr) int32 { /* sqlite3.c:130797:12: */ var addr int32 Xsqlite3VdbeAddOp2(tls, v, OP_ResultRow, 3, 1) addr = Xsqlite3VdbeAddOp3(tls, v, OP_IfPos, 1, Xsqlite3VdbeCurrentAddr(tls, v)+2, 1) @@ -124201,7 +124239,7 @@ func integrityCheckResultRow(tls *libc.TLS, v uintptr) int32 { /* sqlite3.c:1307 // If the left side is "database.id" then pId1 is the database name // and pId2 is the id. If the left side is just "id" then pId1 is the // id and pId2 is any empty string. -func Xsqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, pValue uintptr, minusFlag int32) { /* sqlite3.c:130808:21: */ +func Xsqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, pValue uintptr, minusFlag int32) { /* sqlite3.c:130821:21: */ bp := tls.Alloc(624) defer tls.Free(624) @@ -127642,9 +127680,9 @@ type EncName = struct { FzName uintptr Fenc U8 F__ccgo_pad1 [7]byte -} /* sqlite3.c:132383:18 */ +} /* sqlite3.c:132396:18 */ -var iLn3 int32 = 0 /* sqlite3.c:130937:22 */ +var iLn3 int32 = 0 /* sqlite3.c:130950:22 */ var getCacheSize = [9]VdbeOpList{ {Fopcode: U8(OP_Transaction)}, // 0 {Fopcode: U8(OP_ReadCookie), Fp2: int8(1), Fp3: int8(BTREE_DEFAULT_CACHE_SIZE)}, // 1 @@ -127655,16 +127693,16 @@ var getCacheSize = [9]VdbeOpList{ {Fopcode: U8(OP_Integer), Fp2: int8(1)}, // 6 {Fopcode: U8(OP_Noop)}, {Fopcode: U8(OP_ResultRow), Fp1: int8(1), Fp2: int8(1)}, -} /* sqlite3.c:130938:29 */ -var iLn4 int32 = 0 /* sqlite3.c:131206:26 */ +} /* sqlite3.c:130951:29 */ +var iLn4 int32 = 0 /* sqlite3.c:131219:26 */ var setMeta6 = [5]VdbeOpList{ {Fopcode: U8(OP_Transaction), Fp2: int8(1)}, // 0 {Fopcode: U8(OP_ReadCookie), Fp2: int8(1), Fp3: int8(BTREE_LARGEST_ROOT_PAGE)}, {Fopcode: U8(OP_If), Fp1: int8(1)}, // 2 {Fopcode: U8(OP_Halt), Fp2: int8(OE_Abort)}, // 3 {Fopcode: U8(OP_SetCookie), Fp2: int8(BTREE_INCR_VACUUM)}, // 4 -} /* sqlite3.c:131207:33 */ -var iLn5 int32 = 0 /* sqlite3.c:132333:24 */ +} /* sqlite3.c:131220:33 */ +var iLn5 int32 = 0 /* sqlite3.c:132346:24 */ var endCode = [7]VdbeOpList{ {Fopcode: U8(OP_AddImm), Fp1: int8(1)}, // 0 {Fopcode: U8(OP_IfNotZero), Fp1: int8(1), Fp2: int8(4)}, // 1 @@ -127673,7 +127711,7 @@ var endCode = [7]VdbeOpList{ {Fopcode: U8(OP_Halt)}, // 4 {Fopcode: U8(OP_String8), Fp2: int8(3)}, // 5 {Fopcode: U8(OP_Goto), Fp2: int8(3)}, // 6 -} /* sqlite3.c:132334:31 */ +} /* sqlite3.c:132347:31 */ var encnames1 = [9]EncName{ {FzName: ts + 18317, Fenc: U8(SQLITE_UTF8)}, {FzName: ts + 18322, Fenc: U8(SQLITE_UTF8)}, // Must be element [1] @@ -127684,16 +127722,16 @@ var encnames1 = [9]EncName{ {FzName: ts + 18362}, {FzName: ts + 18369}, {}, -} /* sqlite3.c:132386:7 */ +} /* sqlite3.c:132399:7 */ var setCookie = [2]VdbeOpList{ {Fopcode: U8(OP_Transaction), Fp2: int8(1)}, // 0 {Fopcode: U8(OP_SetCookie)}, // 1 -} /* sqlite3.c:132466:31 */ +} /* sqlite3.c:132479:31 */ var readCookie = [3]VdbeOpList{ {Fopcode: U8(OP_Transaction)}, // 0 {Fopcode: U8(OP_ReadCookie), Fp2: int8(1)}, // 1 {Fopcode: U8(OP_ResultRow), Fp1: int8(1), Fp2: int8(1)}, -} /* sqlite3.c:132481:31 */ +} /* sqlite3.c:132494:31 */ // **************************************************************************** // // Implementation of an eponymous virtual table that runs a pragma. @@ -127705,24 +127743,24 @@ type PragmaVtab1 = struct { FnHidden U8 FiHidden U8 F__ccgo_pad1 [6]byte -} /* sqlite3.c:132841:9 */ +} /* sqlite3.c:132854:9 */ // **************************************************************************** // // Implementation of an eponymous virtual table that runs a pragma. // -type PragmaVtab = PragmaVtab1 /* sqlite3.c:132841:27 */ +type PragmaVtab = PragmaVtab1 /* sqlite3.c:132854:27 */ type PragmaVtabCursor1 = struct { Fbase Sqlite3_vtab_cursor FpPragma uintptr FiRowid Sqlite_int64 FazArg [2]uintptr -} /* sqlite3.c:132842:9 */ +} /* sqlite3.c:132855:9 */ -type PragmaVtabCursor = PragmaVtabCursor1 /* sqlite3.c:132842:33 */ +type PragmaVtabCursor = PragmaVtabCursor1 /* sqlite3.c:132855:33 */ // Pragma virtual table module xConnect method. -func pragmaVtabConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 { /* sqlite3.c:132860:12: */ +func pragmaVtabConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 { /* sqlite3.c:132873:12: */ bp := tls.Alloc(264) defer tls.Free(264) @@ -127796,7 +127834,7 @@ __3: } // Pragma virtual table module xDisconnect method. -func pragmaVtabDisconnect(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:132922:12: */ +func pragmaVtabDisconnect(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:132935:12: */ var pTab uintptr = pVtab Xsqlite3_free(tls, pTab) return SQLITE_OK @@ -127808,7 +127846,7 @@ func pragmaVtabDisconnect(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:132 // query planner to give == constraints on as many hidden parameters as // possible, and especially on the first hidden parameter. So return a // high cost if hidden parameters are unconstrained. -func pragmaVtabBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 { /* sqlite3.c:132935:12: */ +func pragmaVtabBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 { /* sqlite3.c:132948:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -127873,7 +127911,7 @@ __3: } // Create a new cursor for the pragma virtual table -func pragmaVtabOpen(tls *libc.TLS, pVtab uintptr, ppCursor uintptr) int32 { /* sqlite3.c:132972:12: */ +func pragmaVtabOpen(tls *libc.TLS, pVtab uintptr, ppCursor uintptr) int32 { /* sqlite3.c:132985:12: */ var pCsr uintptr pCsr = Xsqlite3_malloc(tls, int32(unsafe.Sizeof(PragmaVtabCursor{}))) if pCsr == uintptr(0) { @@ -127886,7 +127924,7 @@ func pragmaVtabOpen(tls *libc.TLS, pVtab uintptr, ppCursor uintptr) int32 { /* s } // Clear all content from pragma virtual table cursor. -func pragmaVtabCursorClear(tls *libc.TLS, pCsr uintptr) { /* sqlite3.c:132983:13: */ +func pragmaVtabCursorClear(tls *libc.TLS, pCsr uintptr) { /* sqlite3.c:132996:13: */ var i int32 Xsqlite3_finalize(tls, (*PragmaVtabCursor)(unsafe.Pointer(pCsr)).FpPragma) (*PragmaVtabCursor)(unsafe.Pointer(pCsr)).FpPragma = uintptr(0) @@ -127897,7 +127935,7 @@ func pragmaVtabCursorClear(tls *libc.TLS, pCsr uintptr) { /* sqlite3.c:132983:13 } // Close a pragma virtual table cursor -func pragmaVtabClose(tls *libc.TLS, cur uintptr) int32 { /* sqlite3.c:132994:12: */ +func pragmaVtabClose(tls *libc.TLS, cur uintptr) int32 { /* sqlite3.c:133007:12: */ var pCsr uintptr = cur pragmaVtabCursorClear(tls, pCsr) Xsqlite3_free(tls, pCsr) @@ -127905,7 +127943,7 @@ func pragmaVtabClose(tls *libc.TLS, cur uintptr) int32 { /* sqlite3.c:132994:12: } // Advance the pragma virtual table cursor to the next row -func pragmaVtabNext(tls *libc.TLS, pVtabCursor uintptr) int32 { /* sqlite3.c:133002:12: */ +func pragmaVtabNext(tls *libc.TLS, pVtabCursor uintptr) int32 { /* sqlite3.c:133015:12: */ var pCsr uintptr = pVtabCursor var rc int32 = SQLITE_OK @@ -127921,7 +127959,7 @@ func pragmaVtabNext(tls *libc.TLS, pVtabCursor uintptr) int32 { /* sqlite3.c:133 } // Pragma virtual table module xFilter method. -func pragmaVtabFilter(tls *libc.TLS, pVtabCursor uintptr, idxNum int32, idxStr uintptr, argc int32, argv uintptr) int32 { /* sqlite3.c:133020:12: */ +func pragmaVtabFilter(tls *libc.TLS, pVtabCursor uintptr, idxNum int32, idxStr uintptr, argc int32, argv uintptr) int32 { /* sqlite3.c:133033:12: */ bp := tls.Alloc(64) defer tls.Free(64) @@ -127989,14 +128027,14 @@ __3: } // Pragma virtual table module xEof method. -func pragmaVtabEof(tls *libc.TLS, pVtabCursor uintptr) int32 { /* sqlite3.c:133070:12: */ +func pragmaVtabEof(tls *libc.TLS, pVtabCursor uintptr) int32 { /* sqlite3.c:133083:12: */ var pCsr uintptr = pVtabCursor return libc.Bool32((*PragmaVtabCursor)(unsafe.Pointer(pCsr)).FpPragma == uintptr(0)) } // The xColumn method simply returns the corresponding column from // the PRAGMA. -func pragmaVtabColumn(tls *libc.TLS, pVtabCursor uintptr, ctx uintptr, i int32) int32 { /* sqlite3.c:133078:12: */ +func pragmaVtabColumn(tls *libc.TLS, pVtabCursor uintptr, ctx uintptr, i int32) int32 { /* sqlite3.c:133091:12: */ var pCsr uintptr = pVtabCursor var pTab uintptr = (*Sqlite3_vtab_cursor)(unsafe.Pointer(pVtabCursor)).FpVtab if i < int32((*PragmaVtab)(unsafe.Pointer(pTab)).FiHidden) { @@ -128008,7 +128046,7 @@ func pragmaVtabColumn(tls *libc.TLS, pVtabCursor uintptr, ctx uintptr, i int32) } // Pragma virtual table module xRowid method. -func pragmaVtabRowid(tls *libc.TLS, pVtabCursor uintptr, p uintptr) int32 { /* sqlite3.c:133096:12: */ +func pragmaVtabRowid(tls *libc.TLS, pVtabCursor uintptr, p uintptr) int32 { /* sqlite3.c:133109:12: */ var pCsr uintptr = pVtabCursor *(*Sqlite_int64)(unsafe.Pointer(p)) = (*PragmaVtabCursor)(unsafe.Pointer(pCsr)).FiRowid return SQLITE_OK @@ -128026,12 +128064,12 @@ var pragmaVtabModule = Sqlite3_module{ // xCreate - create a table FxEof: 0, // xEof FxColumn: 0, // xColumn - read data FxRowid: 0, // xShadowName -} /* sqlite3.c:133103:29 */ +} /* sqlite3.c:133116:29 */ // Check to see if zTabName is really the name of a pragma. If it is, // then register an eponymous virtual table for that pragma and return // a pointer to the Module object for the new virtual table. -func Xsqlite3PragmaVtabRegister(tls *libc.TLS, db uintptr, zName uintptr) uintptr { /* sqlite3.c:133135:23: */ +func Xsqlite3PragmaVtabRegister(tls *libc.TLS, db uintptr, zName uintptr) uintptr { /* sqlite3.c:133148:23: */ var pName uintptr pName = pragmaLocate(tls, zName+uintptr(7)) @@ -128064,7 +128102,7 @@ func Xsqlite3PragmaVtabRegister(tls *libc.TLS, db uintptr, zName uintptr) uintpt // Fill the InitData structure with an error message that indicates // that the database is corrupt. -func corruptSchema(tls *libc.TLS, pData uintptr, azObj uintptr, zExtra uintptr) { /* sqlite3.c:133172:13: */ +func corruptSchema(tls *libc.TLS, pData uintptr, azObj uintptr, zExtra uintptr) { /* sqlite3.c:133185:13: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -128080,7 +128118,7 @@ func corruptSchema(tls *libc.TLS, pData uintptr, azObj uintptr, zExtra uintptr) zExtra)) (*InitData)(unsafe.Pointer(pData)).Frc = SQLITE_ERROR } else if (*Sqlite3)(unsafe.Pointer(db)).Fflags&uint64(SQLITE_WriteSchema) != 0 { - (*InitData)(unsafe.Pointer(pData)).Frc = Xsqlite3CorruptError(tls, 133195) + (*InitData)(unsafe.Pointer(pData)).Frc = Xsqlite3CorruptError(tls, 133208) } else { var z uintptr var zObj uintptr @@ -128094,7 +128132,7 @@ func corruptSchema(tls *libc.TLS, pData uintptr, azObj uintptr, zExtra uintptr) z = Xsqlite3MPrintf(tls, db, ts+18505, libc.VaList(bp+40, z, zExtra)) } *(*uintptr)(unsafe.Pointer((*InitData)(unsafe.Pointer(pData)).FpzErrMsg)) = z - (*InitData)(unsafe.Pointer(pData)).Frc = Xsqlite3CorruptError(tls, 133202) + (*InitData)(unsafe.Pointer(pData)).Frc = Xsqlite3CorruptError(tls, 133215) } } @@ -128102,12 +128140,12 @@ var azAlterType = [3]uintptr{ ts + 18513, ts + 18520, ts + 18532, -} /* sqlite3.c:133183:23 */ +} /* sqlite3.c:133196:23 */ // Check to see if any sibling index (another index on the same table) // of pIndex has the same root page number, and if it does, return true. // This would indicate a corrupt schema. -func Xsqlite3IndexHasDuplicateRootPage(tls *libc.TLS, pIndex uintptr) int32 { /* sqlite3.c:133211:20: */ +func Xsqlite3IndexHasDuplicateRootPage(tls *libc.TLS, pIndex uintptr) int32 { /* sqlite3.c:133224:20: */ var p uintptr for p = (*Table)(unsafe.Pointer((*Index)(unsafe.Pointer(pIndex)).FpTable)).FpIndex; p != 0; p = (*Index)(unsafe.Pointer(p)).FpNext { if (*Index)(unsafe.Pointer(p)).Ftnum == (*Index)(unsafe.Pointer(pIndex)).Ftnum && p != pIndex { @@ -128129,7 +128167,7 @@ func Xsqlite3IndexHasDuplicateRootPage(tls *libc.TLS, pIndex uintptr) int32 { /* // argv[3] = root page number for table or index. 0 for trigger or view. // argv[4] = SQL text for the CREATE statement. // -func Xsqlite3InitCallback(tls *libc.TLS, pInit uintptr, argc int32, argv uintptr, NotUsed uintptr) int32 { /* sqlite3.c:133245:20: */ +func Xsqlite3InitCallback(tls *libc.TLS, pInit uintptr, argc int32, argv uintptr, NotUsed uintptr) int32 { /* sqlite3.c:133258:20: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -128231,7 +128269,7 @@ func Xsqlite3InitCallback(tls *libc.TLS, pInit uintptr, argc int32, argv uintptr // database. iDb==1 should never be used. iDb>=2 is used for // auxiliary databases. Return one of the SQLITE_ error codes to // indicate success or failure. -func Xsqlite3InitOne(tls *libc.TLS, db uintptr, iDb int32, pzErrMsg uintptr, mFlags U32) int32 { /* sqlite3.c:133348:20: */ +func Xsqlite3InitOne(tls *libc.TLS, db uintptr, iDb int32, pzErrMsg uintptr, mFlags U32) int32 { /* sqlite3.c:133361:20: */ bp := tls.Alloc(124) defer tls.Free(124) @@ -128477,7 +128515,7 @@ __20: pDb = (*Sqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32 goto __22 __21: - if !(rc == SQLITE_OK || (*Sqlite3)(unsafe.Pointer(db)).Fflags&uint64(SQLITE_NoSchemaError) != 0) { + if !(rc == SQLITE_OK || (*Sqlite3)(unsafe.Pointer(db)).Fflags&uint64(SQLITE_NoSchemaError) != 0 && rc != SQLITE_NOMEM) { goto __23 } // Hack: If the SQLITE_NoSchemaError flag is set, then consider @@ -128532,7 +128570,7 @@ __25: // // After a database is initialized, the DB_SchemaLoaded bit is set // bit is set in the flags field of the Db structure. -func Xsqlite3Init(tls *libc.TLS, db uintptr, pzErrMsg uintptr) int32 { /* sqlite3.c:133587:20: */ +func Xsqlite3Init(tls *libc.TLS, db uintptr, pzErrMsg uintptr) int32 { /* sqlite3.c:133600:20: */ var i int32 var rc int32 var commit_internal int32 = libc.BoolInt32(!((*Sqlite3)(unsafe.Pointer(db)).FmDbFlags&U32(DBFLAG_SchemaChange) != 0)) @@ -128564,7 +128602,7 @@ func Xsqlite3Init(tls *libc.TLS, db uintptr, pzErrMsg uintptr) int32 { /* sqlite // This routine is a no-op if the database schema is already initialized. // Otherwise, the schema is loaded. An error code is returned. -func Xsqlite3ReadSchema(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:133619:20: */ +func Xsqlite3ReadSchema(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:133632:20: */ var rc int32 = SQLITE_OK var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb @@ -128583,7 +128621,7 @@ func Xsqlite3ReadSchema(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:1336 // Check schema cookies in all databases. If any cookie is out // of date set pParse->rc to SQLITE_SCHEMA. If all schema cookies // make no changes to pParse->rc. -func schemaIsValid(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:133641:13: */ +func schemaIsValid(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:133654:13: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -128636,7 +128674,7 @@ func schemaIsValid(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:133641:13: */ // // If the same database is attached more than once, the first // attached database is returned. -func Xsqlite3SchemaToIndex(tls *libc.TLS, db uintptr, pSchema uintptr) int32 { /* sqlite3.c:133691:20: */ +func Xsqlite3SchemaToIndex(tls *libc.TLS, db uintptr, pSchema uintptr) int32 { /* sqlite3.c:133704:20: */ var i int32 = -32768 // If pSchema is NULL, then return -32768. This happens when code in @@ -128663,7 +128701,7 @@ func Xsqlite3SchemaToIndex(tls *libc.TLS, db uintptr, pSchema uintptr) int32 { / } // Free all memory allocations in the pParse object -func Xsqlite3ParseObjectReset(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:133721:21: */ +func Xsqlite3ParseObjectReset(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:133734:21: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb Xsqlite3DbFree(tls, db, (*Parse)(unsafe.Pointer(pParse)).FaTableLock) @@ -128719,7 +128757,7 @@ func Xsqlite3ParseObjectReset(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:1337 // return value thereafter. Something like this: // // pObj = sqlite3ParserAddCleanup(pParse, destructor, pObj); -func Xsqlite3ParserAddCleanup(tls *libc.TLS, pParse uintptr, xCleanup uintptr, pPtr uintptr) uintptr { /* sqlite3.c:133776:21: */ +func Xsqlite3ParserAddCleanup(tls *libc.TLS, pParse uintptr, xCleanup uintptr, pPtr uintptr) uintptr { /* sqlite3.c:133789:21: */ var pCleanup uintptr = Xsqlite3DbMallocRaw(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, uint64(unsafe.Sizeof(ParseCleanup{}))) if pCleanup != 0 { (*ParseCleanup)(unsafe.Pointer(pCleanup)).FpNext = (*Parse)(unsafe.Pointer(pParse)).FpCleanup @@ -128742,7 +128780,7 @@ func Xsqlite3ParserAddCleanup(tls *libc.TLS, pParse uintptr, xCleanup uintptr, p // // Caution: Do not confuse this routine with sqlite3ParseObjectInit() which // is generated by Lemon. -func Xsqlite3ParseObjectInit(tls *libc.TLS, pParse uintptr, db uintptr) { /* sqlite3.c:133806:21: */ +func Xsqlite3ParseObjectInit(tls *libc.TLS, pParse uintptr, db uintptr) { /* sqlite3.c:133819:21: */ libc.X__builtin___memset_chk(tls, pParse+uintptr(uint64(uintptr(0)+8)), 0, uint64(uintptr(0)+216)-uint64(uintptr(0)+8), libc.X__builtin_object_size(tls, pParse+uintptr(uint64(uintptr(0)+8)), 0)) libc.X__builtin___memset_chk(tls, pParse+uintptr(uint64(uintptr(0)+272)), 0, uint64(unsafe.Sizeof(Parse{}))-uint64(uintptr(0)+272), libc.X__builtin_object_size(tls, pParse+uintptr(uint64(uintptr(0)+272)), 0)) @@ -128755,7 +128793,7 @@ func Xsqlite3ParseObjectInit(tls *libc.TLS, pParse uintptr, db uintptr) { /* sql } // Compile the UTF-8 encoded SQL statement zSql into a statement handle. -func sqlite3Prepare(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, prepFlags U32, pReprepare uintptr, ppStmt uintptr, pzTail uintptr) int32 { /* sqlite3.c:133819:12: */ +func sqlite3Prepare(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, prepFlags U32, pReprepare uintptr, ppStmt uintptr, pzTail uintptr) int32 { /* sqlite3.c:133832:12: */ bp := tls.Alloc(424) defer tls.Free(424) @@ -128961,13 +128999,13 @@ end_prepare: return rc } -func sqlite3LockAndPrepare(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, prepFlags U32, pOld uintptr, ppStmt uintptr, pzTail uintptr) int32 { /* sqlite3.c:133962:12: */ +func sqlite3LockAndPrepare(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, prepFlags U32, pOld uintptr, ppStmt uintptr, pzTail uintptr) int32 { /* sqlite3.c:133975:12: */ var rc int32 var cnt int32 = 0 *(*uintptr)(unsafe.Pointer(ppStmt)) = uintptr(0) if !(Xsqlite3SafetyCheckOk(tls, db) != 0) || zSql == uintptr(0) { - return Xsqlite3MisuseError(tls, 133979) + return Xsqlite3MisuseError(tls, 133992) } Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) Xsqlite3BtreeEnterAll(tls, db) @@ -128996,7 +129034,7 @@ func sqlite3LockAndPrepare(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32 // if the statement cannot be recompiled because another connection has // locked the sqlite3_schema table, return SQLITE_LOCKED. If any other error // occurs, return SQLITE_SCHEMA. -func Xsqlite3Reprepare(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:134009:20: */ +func Xsqlite3Reprepare(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:134022:20: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -129035,14 +129073,14 @@ func Xsqlite3Reprepare(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:134009:20: // sqlite3_step(). In the new version, the original SQL text is retained // and the statement is automatically recompiled if an schema change // occurs. -func Xsqlite3_prepare(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, ppStmt uintptr, pzTail uintptr) int32 { /* sqlite3.c:134048:16: */ +func Xsqlite3_prepare(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, ppStmt uintptr, pzTail uintptr) int32 { /* sqlite3.c:134061:16: */ var rc int32 rc = sqlite3LockAndPrepare(tls, db, zSql, nBytes, uint32(0), uintptr(0), ppStmt, pzTail) // VERIFY: F13021 return rc } -func Xsqlite3_prepare_v2(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, ppStmt uintptr, pzTail uintptr) int32 { /* sqlite3.c:134060:16: */ +func Xsqlite3_prepare_v2(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, ppStmt uintptr, pzTail uintptr) int32 { /* sqlite3.c:134073:16: */ var rc int32 // EVIDENCE-OF: R-37923-12173 The sqlite3_prepare_v2() interface works // exactly the same as sqlite3_prepare_v3() with a zero prepFlags @@ -129055,7 +129093,7 @@ func Xsqlite3_prepare_v2(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, return rc } -func Xsqlite3_prepare_v3(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, prepFlags uint32, ppStmt uintptr, pzTail uintptr) int32 { /* sqlite3.c:134078:16: */ +func Xsqlite3_prepare_v3(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, prepFlags uint32, ppStmt uintptr, pzTail uintptr) int32 { /* sqlite3.c:134091:16: */ var rc int32 // EVIDENCE-OF: R-56861-42673 sqlite3_prepare_v3() differs from // sqlite3_prepare_v2() only in having the extra prepFlags parameter, @@ -129072,7 +129110,7 @@ func Xsqlite3_prepare_v3(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, } // Compile the UTF-16 encoded SQL statement zSql into a statement handle. -func sqlite3Prepare16(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, prepFlags U32, ppStmt uintptr, pzTail uintptr) int32 { /* sqlite3.c:134106:12: */ +func sqlite3Prepare16(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, prepFlags U32, ppStmt uintptr, pzTail uintptr) int32 { /* sqlite3.c:134119:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -129085,7 +129123,7 @@ func sqlite3Prepare16(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, pre *(*uintptr)(unsafe.Pointer(ppStmt)) = uintptr(0) if !(Xsqlite3SafetyCheckOk(tls, db) != 0) || zSql == uintptr(0) { - return Xsqlite3MisuseError(tls, 134127) + return Xsqlite3MisuseError(tls, 134140) } if nBytes >= 0 { var sz int32 @@ -129120,21 +129158,21 @@ func sqlite3Prepare16(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, pre // sqlite3_step(). In the new version, the original SQL text is retained // and the statement is automatically recompiled if an schema change // occurs. -func Xsqlite3_prepare16(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, ppStmt uintptr, pzTail uintptr) int32 { /* sqlite3.c:134164:16: */ +func Xsqlite3_prepare16(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, ppStmt uintptr, pzTail uintptr) int32 { /* sqlite3.c:134177:16: */ var rc int32 rc = sqlite3Prepare16(tls, db, zSql, nBytes, uint32(0), ppStmt, pzTail) // VERIFY: F13021 return rc } -func Xsqlite3_prepare16_v2(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, ppStmt uintptr, pzTail uintptr) int32 { /* sqlite3.c:134176:16: */ +func Xsqlite3_prepare16_v2(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, ppStmt uintptr, pzTail uintptr) int32 { /* sqlite3.c:134189:16: */ var rc int32 rc = sqlite3Prepare16(tls, db, zSql, nBytes, uint32(SQLITE_PREPARE_SAVESQL), ppStmt, pzTail) // VERIFY: F13021 return rc } -func Xsqlite3_prepare16_v3(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, prepFlags uint32, ppStmt uintptr, pzTail uintptr) int32 { /* sqlite3.c:134188:16: */ +func Xsqlite3_prepare16_v3(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, prepFlags uint32, ppStmt uintptr, pzTail uintptr) int32 { /* sqlite3.c:134201:16: */ var rc int32 rc = sqlite3Prepare16(tls, db, zSql, nBytes, uint32(SQLITE_PREPARE_SAVESQL)|prepFlags&uint32(SQLITE_PREPARE_MASK), @@ -129168,7 +129206,7 @@ type DistinctCtx1 = struct { F__ccgo_pad1 [2]byte FtabTnct int32 FaddrTnct int32 -} /* sqlite3.c:134229:9 */ +} /* sqlite3.c:134242:9 */ //************* End of prepare.c ******************************************** //************* Begin file select.c ***************************************** @@ -129189,7 +129227,7 @@ type DistinctCtx1 = struct { // An instance of the following object is used to record information about // how to process the DISTINCT keyword, to simplify passing that information // into the selectInnerLoop() routine. -type DistinctCtx = DistinctCtx1 /* sqlite3.c:134229:28 */ +type DistinctCtx = DistinctCtx1 /* sqlite3.c:134242:28 */ // An instance of the following object is used to record information about // the ORDER BY (or GROUP BY) clause of query is being coded. @@ -129219,7 +129257,7 @@ type SortCtx1 = struct { FsortFlags U8 F__ccgo_pad1 [3]byte FpDeferredRowLoad uintptr -} /* sqlite3.c:134255:9 */ +} /* sqlite3.c:134268:9 */ // An instance of the following object is used to record information about // the ORDER BY (or GROUP BY) clause of query is being coded. @@ -129237,19 +129275,19 @@ type SortCtx1 = struct { // When the sorter-reference optimization is used, there is one entry in the // aDefer[] array for each database table that may be read as values are // extracted from the sorter. -type SortCtx = SortCtx1 /* sqlite3.c:134255:24 */ +type SortCtx = SortCtx1 /* sqlite3.c:134268:24 */ type RowLoadInfo1 = struct { FregResult int32 FecelFlags U8 F__ccgo_pad1 [3]byte -} /* sqlite3.c:134255:9 */ +} /* sqlite3.c:134268:9 */ // Delete all the content of a Select structure. Deallocate the structure // itself depending on the value of bFree // // If bFree==1, call sqlite3DbFree() on the p object. // If bFree==0, Leave the first Select object unfreed -func clearSelect(tls *libc.TLS, db uintptr, p uintptr, bFree int32) { /* sqlite3.c:134285:13: */ +func clearSelect(tls *libc.TLS, db uintptr, p uintptr, bFree int32) { /* sqlite3.c:134298:13: */ for p != 0 { var pPrior uintptr = (*Select)(unsafe.Pointer(p)).FpPrior Xsqlite3ExprListDelete(tls, db, (*Select)(unsafe.Pointer(p)).FpEList) @@ -129278,7 +129316,7 @@ func clearSelect(tls *libc.TLS, db uintptr, p uintptr, bFree int32) { /* sqlite3 } // Initialize a SelectDest structure. -func Xsqlite3SelectDestInit(tls *libc.TLS, pDest uintptr, eDest int32, iParm int32) { /* sqlite3.c:134314:21: */ +func Xsqlite3SelectDestInit(tls *libc.TLS, pDest uintptr, eDest int32, iParm int32) { /* sqlite3.c:134327:21: */ (*SelectDest)(unsafe.Pointer(pDest)).FeDest = U8(eDest) (*SelectDest)(unsafe.Pointer(pDest)).FiSDParm = iParm (*SelectDest)(unsafe.Pointer(pDest)).FiSDParm2 = 0 @@ -129289,7 +129327,7 @@ func Xsqlite3SelectDestInit(tls *libc.TLS, pDest uintptr, eDest int32, iParm int // Allocate a new Select structure and return a pointer to that // structure. -func Xsqlite3SelectNew(tls *libc.TLS, pParse uintptr, pEList uintptr, pSrc uintptr, pWhere uintptr, pGroupBy uintptr, pHaving uintptr, pOrderBy uintptr, selFlags U32, pLimit uintptr) uintptr { /* sqlite3.c:134328:23: */ +func Xsqlite3SelectNew(tls *libc.TLS, pParse uintptr, pEList uintptr, pSrc uintptr, pWhere uintptr, pGroupBy uintptr, pHaving uintptr, pOrderBy uintptr, selFlags U32, pLimit uintptr) uintptr { /* sqlite3.c:134341:23: */ bp := tls.Alloc(128) defer tls.Free(128) @@ -129339,14 +129377,14 @@ func Xsqlite3SelectNew(tls *libc.TLS, pParse uintptr, pEList uintptr, pSrc uintp } // Delete the given Select structure and all of its substructures. -func Xsqlite3SelectDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:134386:21: */ +func Xsqlite3SelectDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:134399:21: */ if p != 0 { clearSelect(tls, db, p, 1) } } // Return a pointer to the right-most SELECT statement in a compound. -func findRightmost(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:134393:15: */ +func findRightmost(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:134406:15: */ for (*Select)(unsafe.Pointer(p)).FpNext != 0 { p = (*Select)(unsafe.Pointer(p)).FpNext } @@ -129368,7 +129406,7 @@ func findRightmost(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:134393:15: * // // If an illegal or unsupported join type is seen, then still return // a join type, but put an error in the pParse structure. -func Xsqlite3JoinType(tls *libc.TLS, pParse uintptr, pA uintptr, pB uintptr, pC uintptr) int32 { /* sqlite3.c:134415:20: */ +func Xsqlite3JoinType(tls *libc.TLS, pParse uintptr, pA uintptr, pB uintptr, pC uintptr) int32 { /* sqlite3.c:134428:20: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -129422,7 +129460,7 @@ func Xsqlite3JoinType(tls *libc.TLS, pParse uintptr, pA uintptr, pB uintptr, pC return jointype } -var zKeyText = *(*[34]int8)(unsafe.Pointer(ts + 18834)) /* sqlite3.c:134420:21 */ +var zKeyText = *(*[34]int8)(unsafe.Pointer(ts + 18834)) /* sqlite3.c:134433:21 */ var aKeyword = [7]struct { Fi U8 FnChar U8 @@ -129435,11 +129473,11 @@ var aKeyword = [7]struct { /* full */ {Fi: U8(19), FnChar: U8(4), Fcode: U8(JT_LEFT | JT_RIGHT | JT_OUTER)}, /* inner */ {Fi: U8(23), FnChar: U8(5), Fcode: U8(JT_INNER)}, /* cross */ {Fi: U8(28), FnChar: U8(5), Fcode: U8(JT_INNER | JT_CROSS)}, -} /* sqlite3.c:134425:5 */ +} /* sqlite3.c:134438:5 */ // Return the index of a column in a table. Return -1 if the column // is not contained in the table. -func Xsqlite3ColumnIndex(tls *libc.TLS, pTab uintptr, zCol uintptr) int32 { /* sqlite3.c:134476:20: */ +func Xsqlite3ColumnIndex(tls *libc.TLS, pTab uintptr, zCol uintptr) int32 { /* sqlite3.c:134489:20: */ var i int32 var h U8 = Xsqlite3StrIHash(tls, zCol) var pCol uintptr @@ -129473,7 +129511,7 @@ __3: // of the matching column and return TRUE. // // If not found, return FALSE. -func tableAndColumnIndex(tls *libc.TLS, pSrc uintptr, N int32, zCol uintptr, piTab uintptr, piCol uintptr, bIgnoreHidden int32) int32 { /* sqlite3.c:134495:12: */ +func tableAndColumnIndex(tls *libc.TLS, pSrc uintptr, N int32, zCol uintptr, piTab uintptr, piCol uintptr, bIgnoreHidden int32) int32 { /* sqlite3.c:134508:12: */ var i int32 // For looping over tables in pSrc var iCol int32 // Index of column matching zCol @@ -129501,7 +129539,7 @@ func tableAndColumnIndex(tls *libc.TLS, pSrc uintptr, N int32, zCol uintptr, piT // where tab1 is the iSrc'th table in SrcList pSrc and tab2 is the // (iSrc+1)'th. Column col1 is column iColLeft of tab1, and col2 is // column iColRight of tab2. -func addWhereTerm(tls *libc.TLS, pParse uintptr, pSrc uintptr, iLeft int32, iColLeft int32, iRight int32, iColRight int32, isOuterJoin int32, ppWhere uintptr) { /* sqlite3.c:134533:13: */ +func addWhereTerm(tls *libc.TLS, pParse uintptr, pSrc uintptr, iLeft int32, iColLeft int32, iRight int32, iColRight int32, isOuterJoin int32, ppWhere uintptr) { /* sqlite3.c:134546:13: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb var pE1 uintptr var pE2 uintptr @@ -129546,7 +129584,7 @@ func addWhereTerm(tls *libc.TLS, pParse uintptr, pSrc uintptr, iLeft int32, iCol // defer the handling of t1.x=5, it will be processed immediately // after the t1 loop and rows with t1.x!=5 will never appear in // the output, which is incorrect. -func Xsqlite3SetJoinExpr(tls *libc.TLS, p uintptr, iTable int32) { /* sqlite3.c:134595:21: */ +func Xsqlite3SetJoinExpr(tls *libc.TLS, p uintptr, iTable int32) { /* sqlite3.c:134608:21: */ for p != 0 { *(*U32)(unsafe.Pointer(p + 4)) |= U32(EP_FromJoin) @@ -129570,7 +129608,7 @@ func Xsqlite3SetJoinExpr(tls *libc.TLS, p uintptr, iTable int32) { /* sqlite3.c: // an ordinary term that omits the EP_FromJoin mark. // // This happens when a LEFT JOIN is simplified into an ordinary JOIN. -func unsetJoinExpr(tls *libc.TLS, p uintptr, iTable int32) { /* sqlite3.c:134621:13: */ +func unsetJoinExpr(tls *libc.TLS, p uintptr, iTable int32) { /* sqlite3.c:134634:13: */ for p != 0 { if (*Expr)(unsafe.Pointer(p)).Fflags&U32(EP_FromJoin) != U32(0) && (iTable < 0 || *(*int32)(unsafe.Pointer(p + 52)) == iTable) { @@ -129605,7 +129643,7 @@ func unsetJoinExpr(tls *libc.TLS, p uintptr, iTable int32) { /* sqlite3.c:134621 // also attached to the left entry. // // This routine returns the number of errors encountered. -func sqliteProcessJoin(tls *libc.TLS, pParse uintptr, p uintptr) int32 { /* sqlite3.c:134658:12: */ +func sqliteProcessJoin(tls *libc.TLS, pParse uintptr, p uintptr) int32 { /* sqlite3.c:134671:12: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -129719,11 +129757,11 @@ __3: // An instance of this object holds information (beyond pParse and pSelect) // needed to load the next result row that is to be added to the sorter. -type RowLoadInfo = RowLoadInfo1 /* sqlite3.c:134750:28 */ +type RowLoadInfo = RowLoadInfo1 /* sqlite3.c:134763:28 */ // This routine does the work of loading query data into an array of // registers so that it can be added to the sorter. -func innerLoopLoadRow(tls *libc.TLS, pParse uintptr, pSelect uintptr, pInfo uintptr) { /* sqlite3.c:134764:13: */ +func innerLoopLoadRow(tls *libc.TLS, pParse uintptr, pSelect uintptr, pInfo uintptr) { /* sqlite3.c:134777:13: */ Xsqlite3ExprCodeExprList(tls, pParse, (*Select)(unsafe.Pointer(pSelect)).FpEList, (*RowLoadInfo)(unsafe.Pointer(pInfo)).FregResult, 0, (*RowLoadInfo)(unsafe.Pointer(pInfo)).FecelFlags) } @@ -129732,7 +129770,7 @@ func innerLoopLoadRow(tls *libc.TLS, pParse uintptr, pSelect uintptr, pInfo uint // added into the sorter. // // Return the register in which the result is stored. -func makeSorterRecord(tls *libc.TLS, pParse uintptr, pSort uintptr, pSelect uintptr, regBase int32, nBase int32) int32 { /* sqlite3.c:134785:12: */ +func makeSorterRecord(tls *libc.TLS, pParse uintptr, pSort uintptr, pSelect uintptr, regBase int32, nBase int32) int32 { /* sqlite3.c:134798:12: */ var nOBSat int32 = (*SortCtx)(unsafe.Pointer(pSort)).FnOBSat var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe var regOut int32 = libc.PreIncInt32(&(*Parse)(unsafe.Pointer(pParse)).FnMem, 1) @@ -129745,7 +129783,7 @@ func makeSorterRecord(tls *libc.TLS, pParse uintptr, pSort uintptr, pSelect uint // Generate code that will push the record in registers regData // through regData+nData-1 onto the sorter. -func pushOntoSorter(tls *libc.TLS, pParse uintptr, pSort uintptr, pSelect uintptr, regData int32, regOrigData int32, nData int32, nPrefixReg int32) { /* sqlite3.c:134806:13: */ +func pushOntoSorter(tls *libc.TLS, pParse uintptr, pSort uintptr, pSelect uintptr, regData int32, regOrigData int32, nData int32, nPrefixReg int32) { /* sqlite3.c:134819:13: */ var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe // Stmt under construction var bSeq int32 = libc.Bool32(int32((*SortCtx)(unsafe.Pointer(pSort)).FsortFlags)&SORTFLAG_UseSorter == 0) var nExpr int32 = (*ExprList)(unsafe.Pointer((*SortCtx)(unsafe.Pointer(pSort)).FpOrderBy)).FnExpr // No. of ORDER BY terms @@ -129888,7 +129926,7 @@ func pushOntoSorter(tls *libc.TLS, pParse uintptr, pSort uintptr, pSelect uintpt } // Add code to implement the OFFSET -func codeOffset(tls *libc.TLS, v uintptr, iOffset int32, iContinue int32) { /* sqlite3.c:134948:13: */ +func codeOffset(tls *libc.TLS, v uintptr, iOffset int32, iContinue int32) { /* sqlite3.c:134961:13: */ if iOffset > 0 { Xsqlite3VdbeAddOp3(tls, v, OP_IfPos, iOffset, iContinue, 1) @@ -129936,7 +129974,7 @@ func codeOffset(tls *libc.TLS, v uintptr, iOffset int32, iContinue int32) { /* s // how many elements there are in the array of registers and (b) the // collation sequences that should be used for the comparisons if // eTnctType is WHERE_DISTINCT_ORDERED. -func codeDistinct(tls *libc.TLS, pParse uintptr, eTnctType int32, iTab int32, addrRepeat int32, pEList uintptr, regElem int32) int32 { /* sqlite3.c:135002:12: */ +func codeDistinct(tls *libc.TLS, pParse uintptr, eTnctType int32, iTab int32, addrRepeat int32, pEList uintptr, regElem int32) int32 { /* sqlite3.c:135015:12: */ var iRet int32 = 0 var nResultCol int32 = (*ExprList)(unsafe.Pointer(pEList)).FnExpr var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe @@ -130017,7 +130055,7 @@ func codeDistinct(tls *libc.TLS, pParse uintptr, eTnctType int32, iTab int32, ad // The ephemeral table is not needed. But we do need register // iVal to be initialized to NULL. So change the OP_OpenEphemeral // into an OP_Null on the iVal register. -func fixDistinctOpenEph(tls *libc.TLS, pParse uintptr, eTnctType int32, iVal int32, iOpenEphAddr int32) { /* sqlite3.c:135086:13: */ +func fixDistinctOpenEph(tls *libc.TLS, pParse uintptr, eTnctType int32, iVal int32, iOpenEphAddr int32) { /* sqlite3.c:135099:13: */ if (*Parse)(unsafe.Pointer(pParse)).FnErr == 0 && (eTnctType == WHERE_DISTINCT_UNIQUE || eTnctType == WHERE_DISTINCT_ORDERED) { var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe @@ -130045,7 +130083,7 @@ func fixDistinctOpenEph(tls *libc.TLS, pParse uintptr, eTnctType int32, iVal int // are evaluated in order to get the data for this row. If srcTab is // zero or more, then data is pulled from srcTab and p->pEList is used only // to get the number of columns and the collation sequence for each column. -func selectInnerLoop(tls *libc.TLS, pParse uintptr, p uintptr, srcTab int32, pSort uintptr, pDistinct uintptr, pDest uintptr, iContinue int32, iBreak int32) { /* sqlite3.c:135208:13: */ +func selectInnerLoop(tls *libc.TLS, pParse uintptr, p uintptr, srcTab int32, pSort uintptr, pDistinct uintptr, pDest uintptr, iContinue int32, iBreak int32) { /* sqlite3.c:135221:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -130401,7 +130439,7 @@ func selectInnerLoop(tls *libc.TLS, pParse uintptr, p uintptr, srcTab int32, pSo // Allocate a KeyInfo object sufficient for an index of N key columns and // X extra columns. -func Xsqlite3KeyInfoAlloc(tls *libc.TLS, db uintptr, N int32, X int32) uintptr { /* sqlite3.c:135602:24: */ +func Xsqlite3KeyInfoAlloc(tls *libc.TLS, db uintptr, N int32, X int32) uintptr { /* sqlite3.c:135615:24: */ var nExtra int32 = int32(uint64(N+X)*(uint64(unsafe.Sizeof(uintptr(0)))+uint64(1)) - uint64(unsafe.Sizeof(uintptr(0)))) var p uintptr = Xsqlite3DbMallocRawNN(tls, db, uint64(uint64(unsafe.Sizeof(KeyInfo{}))+uint64(nExtra))) if p != 0 { @@ -130419,7 +130457,7 @@ func Xsqlite3KeyInfoAlloc(tls *libc.TLS, db uintptr, N int32, X int32) uintptr { } // Deallocate a KeyInfo object -func Xsqlite3KeyInfoUnref(tls *libc.TLS, p uintptr) { /* sqlite3.c:135622:21: */ +func Xsqlite3KeyInfoUnref(tls *libc.TLS, p uintptr) { /* sqlite3.c:135635:21: */ if p != 0 { (*KeyInfo)(unsafe.Pointer(p)).FnRef-- @@ -130430,7 +130468,7 @@ func Xsqlite3KeyInfoUnref(tls *libc.TLS, p uintptr) { /* sqlite3.c:135622:21: */ } // Make a new pointer to a KeyInfo object -func Xsqlite3KeyInfoRef(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:135633:24: */ +func Xsqlite3KeyInfoRef(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:135646:24: */ if p != 0 { (*KeyInfo)(unsafe.Pointer(p)).FnRef++ @@ -130450,7 +130488,7 @@ func Xsqlite3KeyInfoRef(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:135633: // Space to hold the KeyInfo structure is obtained from malloc. The calling // function is responsible for seeing that this structure is eventually // freed. -func Xsqlite3KeyInfoFromExprList(tls *libc.TLS, pParse uintptr, pList uintptr, iStart int32, nExtra int32) uintptr { /* sqlite3.c:135665:24: */ +func Xsqlite3KeyInfoFromExprList(tls *libc.TLS, pParse uintptr, pList uintptr, iStart int32, nExtra int32) uintptr { /* sqlite3.c:135678:24: */ var nExpr int32 var pInfo uintptr var pItem uintptr @@ -130484,7 +130522,7 @@ func Xsqlite3KeyInfoFromExprList(tls *libc.TLS, pParse uintptr, pList uintptr, i } // Name of the connection operator, used for error messages. -func Xsqlite3SelectOpName(tls *libc.TLS, id int32) uintptr { /* sqlite3.c:135692:27: */ +func Xsqlite3SelectOpName(tls *libc.TLS, id int32) uintptr { /* sqlite3.c:135705:27: */ var z uintptr switch id { case TK_ALL: @@ -130511,7 +130549,7 @@ func Xsqlite3SelectOpName(tls *libc.TLS, id int32) uintptr { /* sqlite3.c:135692 // // where xxx is one of "DISTINCT", "ORDER BY" or "GROUP BY". Exactly which // is determined by the zUsage argument. -func explainTempTable(tls *libc.TLS, pParse uintptr, zUsage uintptr) { /* sqlite3.c:135714:13: */ +func explainTempTable(tls *libc.TLS, pParse uintptr, zUsage uintptr) { /* sqlite3.c:135727:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -130528,7 +130566,7 @@ func explainTempTable(tls *libc.TLS, pParse uintptr, zUsage uintptr) { /* sqlite // then the results were placed in a sorter. After the loop is terminated // we need to run the sorter and output the results. The following // routine generates the code needed to do that. -func generateSortTail(tls *libc.TLS, pParse uintptr, p uintptr, pSort uintptr, nColumn int32, pDest uintptr) { /* sqlite3.c:135740:13: */ +func generateSortTail(tls *libc.TLS, pParse uintptr, p uintptr, pSort uintptr, nColumn int32, pDest uintptr) { /* sqlite3.c:135753:13: */ var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe // The prepared statement var addrBreak int32 = (*SortCtx)(unsafe.Pointer(pSort)).FlabelDone // Jump here to exit loop var addrContinue int32 = Xsqlite3VdbeMakeLabel(tls, pParse) // Jump here for next cycle @@ -130707,7 +130745,7 @@ func generateSortTail(tls *libc.TLS, pParse uintptr, p uintptr, pSort uintptr, n // // This routine has either 3 or 6 parameters depending on whether or not // the SQLITE_ENABLE_COLUMN_METADATA compile-time option is used. -func columnTypeImpl(tls *libc.TLS, pNC uintptr, pExpr uintptr, pzOrigDb uintptr, pzOrigTab uintptr, pzOrigCol uintptr) uintptr { /* sqlite3.c:135968:19: */ +func columnTypeImpl(tls *libc.TLS, pNC uintptr, pExpr uintptr, pzOrigDb uintptr, pzOrigTab uintptr, pzOrigCol uintptr) uintptr { /* sqlite3.c:135981:19: */ bp := tls.Alloc(136) defer tls.Free(136) @@ -130831,7 +130869,7 @@ func columnTypeImpl(tls *libc.TLS, pNC uintptr, pExpr uintptr, pzOrigDb uintptr, // Generate code that will tell the VDBE the declaration types of columns // in the result set. -func generateColumnTypes(tls *libc.TLS, pParse uintptr, pTabList uintptr, pEList uintptr) { /* sqlite3.c:136119:13: */ +func generateColumnTypes(tls *libc.TLS, pParse uintptr, pTabList uintptr, pEList uintptr) { /* sqlite3.c:136132:13: */ bp := tls.Alloc(80) defer tls.Free(80) @@ -130888,7 +130926,7 @@ func generateColumnTypes(tls *libc.TLS, pParse uintptr, pTabList uintptr, pEList // full=ON, short=ANY: If the result refers directly to a table column, // then the result column name with the table name // prefix, ex: TABLE.COLUMN. Otherwise use zSpan. -func Xsqlite3GenerateColumnNames(tls *libc.TLS, pParse uintptr, pSelect uintptr) { /* sqlite3.c:136186:21: */ +func Xsqlite3GenerateColumnNames(tls *libc.TLS, pParse uintptr, pSelect uintptr) { /* sqlite3.c:136199:21: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -130988,7 +131026,7 @@ func Xsqlite3GenerateColumnNames(tls *libc.TLS, pParse uintptr, pSelect uintptr) // when modifying this routine to avoid breaking legacy. // // See Also: sqlite3GenerateColumnNames() -func Xsqlite3ColumnsFromExprList(tls *libc.TLS, pParse uintptr, pEList uintptr, pnCol uintptr, paCol uintptr) int32 { /* sqlite3.c:136279:20: */ +func Xsqlite3ColumnsFromExprList(tls *libc.TLS, pParse uintptr, pEList uintptr, pnCol uintptr, paCol uintptr) int32 { /* sqlite3.c:136292:20: */ bp := tls.Alloc(60) defer tls.Free(60) @@ -131120,7 +131158,7 @@ __3: // // This routine requires that all identifiers in the SELECT // statement be resolved. -func Xsqlite3SelectAddColumnTypeAndCollation(tls *libc.TLS, pParse uintptr, pTab uintptr, pSelect uintptr, aff int8) { /* sqlite3.c:136386:21: */ +func Xsqlite3SelectAddColumnTypeAndCollation(tls *libc.TLS, pParse uintptr, pTab uintptr, pSelect uintptr, aff int8) { /* sqlite3.c:136399:21: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -131189,7 +131227,7 @@ __3: // Given a SELECT statement, generate a Table structure that describes // the result set of that SELECT. -func Xsqlite3ResultSetOfSelect(tls *libc.TLS, pParse uintptr, pSelect uintptr, aff int8) uintptr { /* sqlite3.c:136441:22: */ +func Xsqlite3ResultSetOfSelect(tls *libc.TLS, pParse uintptr, pSelect uintptr, aff int8) uintptr { /* sqlite3.c:136454:22: */ var pTab uintptr var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb var savedFlags U64 @@ -131224,7 +131262,7 @@ func Xsqlite3ResultSetOfSelect(tls *libc.TLS, pParse uintptr, pSelect uintptr, a // Get a VDBE for the given parser context. Create a new one if necessary. // If an error occurs, return NULL and leave a message in pParse. -func Xsqlite3GetVdbe(tls *libc.TLS, pParse uintptr) uintptr { /* sqlite3.c:136474:21: */ +func Xsqlite3GetVdbe(tls *libc.TLS, pParse uintptr) uintptr { /* sqlite3.c:136487:21: */ if (*Parse)(unsafe.Pointer(pParse)).FpVdbe != 0 { return (*Parse)(unsafe.Pointer(pParse)).FpVdbe } @@ -131256,7 +131294,7 @@ func Xsqlite3GetVdbe(tls *libc.TLS, pParse uintptr) uintptr { /* sqlite3.c:13647 // redefined. The UNION ALL operator uses this property to force // the reuse of the same limit and offset registers across multiple // SELECT statements. -func computeLimitRegisters(tls *libc.TLS, pParse uintptr, p uintptr, iBreak int32) { /* sqlite3.c:136510:13: */ +func computeLimitRegisters(tls *libc.TLS, pParse uintptr, p uintptr, iBreak int32) { /* sqlite3.c:136523:13: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -131313,7 +131351,7 @@ func computeLimitRegisters(tls *libc.TLS, pParse uintptr, p uintptr, iBreak int3 // // The collating sequence for the compound select is taken from the // left-most term of the select that has a collating sequence. -func multiSelectCollSeq(tls *libc.TLS, pParse uintptr, p uintptr, iCol int32) uintptr { /* sqlite3.c:136567:16: */ +func multiSelectCollSeq(tls *libc.TLS, pParse uintptr, p uintptr, iCol int32) uintptr { /* sqlite3.c:136580:16: */ var pRet uintptr if (*Select)(unsafe.Pointer(p)).FpPrior != 0 { pRet = multiSelectCollSeq(tls, pParse, (*Select)(unsafe.Pointer(p)).FpPrior, iCol) @@ -131337,7 +131375,7 @@ func multiSelectCollSeq(tls *libc.TLS, pParse uintptr, p uintptr, iCol int32) ui // Space to hold the KeyInfo structure is obtained from malloc. The calling // function is responsible for ensuring that this structure is eventually // freed. -func multiSelectOrderByKeyInfo(tls *libc.TLS, pParse uintptr, p uintptr, nExtra int32) uintptr { /* sqlite3.c:136593:16: */ +func multiSelectOrderByKeyInfo(tls *libc.TLS, pParse uintptr, p uintptr, nExtra int32) uintptr { /* sqlite3.c:136606:16: */ var pOrderBy uintptr = (*Select)(unsafe.Pointer(p)).FpOrderBy var nOrderBy int32 if pOrderBy != uintptr(0) { @@ -131406,7 +131444,7 @@ func multiSelectOrderByKeyInfo(tls *libc.TLS, pParse uintptr, p uintptr, nExtra // with a positive value, then the first OFFSET outputs are discarded rather // than being sent to pDest. The LIMIT count does not begin until after OFFSET // rows have been skipped. -func generateWithRecursiveQuery(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) { /* sqlite3.c:136659:13: */ +func generateWithRecursiveQuery(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) { /* sqlite3.c:136672:13: */ bp := tls.Alloc(40) defer tls.Free(40) @@ -131647,7 +131685,7 @@ end_of_recursive_query: // clause occurs within scalar expression (ex: "SELECT (VALUES(1),(2),(3))"). // The sqlite3CodeSubselect will have added the LIMIT 1 clause in tht case. // Since the limit is exactly 1, we only need to evalutes the left-most VALUES. -func multiSelectValues(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) int32 { /* sqlite3.c:136835:12: */ +func multiSelectValues(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) int32 { /* sqlite3.c:136848:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -131687,7 +131725,7 @@ func multiSelectValues(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) // Return true if the SELECT statement which is known to be the recursive // part of a recursive CTE still has its anchor terms attached. If the // anchor terms have already been removed, then return false. -func hasAnchor(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:136872:12: */ +func hasAnchor(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:136885:12: */ for p != 0 && (*Select)(unsafe.Pointer(p)).FselFlags&U32(SF_Recursive) != U32(0) { p = (*Select)(unsafe.Pointer(p)).FpPrior } @@ -131723,7 +131761,7 @@ func hasAnchor(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:136872:12: */ // // Notice that because of the way SQLite parses compound SELECTs, the // individual selects always group from left to right. -func multiSelect(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) int32 { /* sqlite3.c:136908:12: */ +func multiSelect(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) int32 { /* sqlite3.c:136921:12: */ bp := tls.Alloc(144) defer tls.Free(144) @@ -132186,7 +132224,7 @@ __44: // Error message for when two or more terms of a compound select have different // size result sets. -func Xsqlite3SelectWrongNumTermsError(tls *libc.TLS, pParse uintptr, p uintptr) { /* sqlite3.c:137264:21: */ +func Xsqlite3SelectWrongNumTermsError(tls *libc.TLS, pParse uintptr, p uintptr) { /* sqlite3.c:137277:21: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -132217,7 +132255,7 @@ func Xsqlite3SelectWrongNumTermsError(tls *libc.TLS, pParse uintptr, p uintptr) // // If the LIMIT found in p->iLimit is reached, jump immediately to // iBreak. -func generateOutputSubroutine(tls *libc.TLS, pParse uintptr, p uintptr, pIn uintptr, pDest uintptr, regReturn int32, regPrev int32, pKeyInfo uintptr, iBreak int32) int32 { /* sqlite3.c:137294:12: */ +func generateOutputSubroutine(tls *libc.TLS, pParse uintptr, p uintptr, pIn uintptr, pDest uintptr, regReturn int32, regPrev int32, pKeyInfo uintptr, iBreak int32) int32 { /* sqlite3.c:137307:12: */ var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe var iContinue int32 var addr int32 @@ -132413,7 +132451,7 @@ func generateOutputSubroutine(tls *libc.TLS, pParse uintptr, p uintptr, pIn uint // actually called using Gosub and they do not Return. EofA and EofB loop // until all data is exhausted then jump to the "end" labe. AltB, AeqB, // and AgtB jump to either L2 or to one of EofA or EofB. -func multiSelectOrderBy(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) int32 { /* sqlite3.c:137502:12: */ +func multiSelectOrderBy(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) int32 { /* sqlite3.c:137515:12: */ bp := tls.Alloc(88) defer tls.Free(88) @@ -132763,14 +132801,14 @@ type SubstContext1 = struct { FisLeftJoin int32 F__ccgo_pad1 [4]byte FpEList uintptr -} /* sqlite3.c:137827:9 */ +} /* sqlite3.c:137840:9 */ // An instance of the SubstContext object describes an substitution edit // to be performed on a parse tree. // // All references to columns in table iTable are to be replaced by corresponding // expressions in pEList. -type SubstContext = SubstContext1 /* sqlite3.c:137833:3 */ +type SubstContext = SubstContext1 /* sqlite3.c:137846:3 */ // Scan through the expression pExpr. Replace every reference to // a column in table number iTable with a copy of the iColumn-th @@ -132783,7 +132821,7 @@ type SubstContext = SubstContext1 /* sqlite3.c:137833:3 */ // FORM clause entry is iTable. This routine makes the necessary // changes to pExpr so that it refers directly to the source table // of the subquery rather the result set of the subquery. -func substExpr(tls *libc.TLS, pSubst uintptr, pExpr uintptr) uintptr { /* sqlite3.c:137852:13: */ +func substExpr(tls *libc.TLS, pSubst uintptr, pExpr uintptr) uintptr { /* sqlite3.c:137865:13: */ bp := tls.Alloc(72) defer tls.Free(72) @@ -132866,7 +132904,7 @@ func substExpr(tls *libc.TLS, pSubst uintptr, pExpr uintptr) uintptr { /* sqlite return pExpr } -func substExprList(tls *libc.TLS, pSubst uintptr, pList uintptr) { /* sqlite3.c:137937:13: */ +func substExprList(tls *libc.TLS, pSubst uintptr, pList uintptr) { /* sqlite3.c:137950:13: */ var i int32 if pList == uintptr(0) { return @@ -132876,7 +132914,7 @@ func substExprList(tls *libc.TLS, pSubst uintptr, pList uintptr) { /* sqlite3.c: } } -func substSelect(tls *libc.TLS, pSubst uintptr, p uintptr, doPrior int32) { /* sqlite3.c:137947:13: */ +func substSelect(tls *libc.TLS, pSubst uintptr, p uintptr, doPrior int32) { /* sqlite3.c:137960:13: */ var pSrc uintptr var pItem uintptr var i int32 @@ -132919,7 +132957,7 @@ func substSelect(tls *libc.TLS, pSubst uintptr, p uintptr, doPrior int32) { /* s // // This routine scans the entire SELECT statement and recomputes the // pSrcItem->colUsed mask. -func recomputeColumnsUsedExpr(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:137982:12: */ +func recomputeColumnsUsedExpr(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:137995:12: */ var pItem uintptr if int32((*Expr)(unsafe.Pointer(pExpr)).Fop) != TK_COLUMN { return WRC_Continue @@ -132935,7 +132973,7 @@ func recomputeColumnsUsedExpr(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int return WRC_Continue } -func recomputeColumnsUsed(tls *libc.TLS, pSelect uintptr, pSrcItem uintptr) { /* sqlite3.c:137991:13: */ +func recomputeColumnsUsed(tls *libc.TLS, pSelect uintptr, pSrcItem uintptr) { /* sqlite3.c:138004:13: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -132967,7 +133005,7 @@ func recomputeColumnsUsed(tls *libc.TLS, pSelect uintptr, pSrcItem uintptr) { /* // // If pSrc contains any sub-selects, call this routine recursively // on the FROM clause of each such sub-select, with iExcept set to -1. -func srclistRenumberCursors(tls *libc.TLS, pParse uintptr, aCsrMap uintptr, pSrc uintptr, iExcept int32) { /* sqlite3.c:138020:13: */ +func srclistRenumberCursors(tls *libc.TLS, pParse uintptr, aCsrMap uintptr, pSrc uintptr, iExcept int32) { /* sqlite3.c:138033:13: */ var i int32 var pItem uintptr i = 0 @@ -133000,7 +133038,7 @@ __3: } // *piCursor is a cursor number. Change it if it needs to be mapped. -func renumberCursorDoMapping(tls *libc.TLS, pWalker uintptr, piCursor uintptr) { /* sqlite3.c:138046:13: */ +func renumberCursorDoMapping(tls *libc.TLS, pWalker uintptr, piCursor uintptr) { /* sqlite3.c:138059:13: */ var aCsrMap uintptr = *(*uintptr)(unsafe.Pointer(pWalker + 40)) var iCsr int32 = *(*int32)(unsafe.Pointer(piCursor)) if iCsr < *(*int32)(unsafe.Pointer(aCsrMap)) && *(*int32)(unsafe.Pointer(aCsrMap + uintptr(iCsr+1)*4)) > 0 { @@ -133010,7 +133048,7 @@ func renumberCursorDoMapping(tls *libc.TLS, pWalker uintptr, piCursor uintptr) { // Expression walker callback used by renumberCursors() to update // Expr objects to match newly assigned cursor numbers. -func renumberCursorsCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:138058:12: */ +func renumberCursorsCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:138071:12: */ var op int32 = int32((*Expr)(unsafe.Pointer(pExpr)).Fop) if op == TK_COLUMN || op == TK_IF_NULL_ROW { renumberCursorDoMapping(tls, pWalker, pExpr+44) @@ -133037,7 +133075,7 @@ func renumberCursorsCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* // * the array entries for all cursor numbers that do *not* appear in // FROM clauses of the select statement as described above are // initialized to zero. -func renumberCursors(tls *libc.TLS, pParse uintptr, p uintptr, iExcept int32, aCsrMap uintptr) { /* sqlite3.c:138087:13: */ +func renumberCursors(tls *libc.TLS, pParse uintptr, p uintptr, iExcept int32, aCsrMap uintptr) { /* sqlite3.c:138100:13: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -133207,7 +133245,7 @@ func renumberCursors(tls *libc.TLS, pParse uintptr, p uintptr, iExcept int32, aC // // All of the expression analysis must occur on both the outer query and // the subquery before this routine runs. -func flattenSubquery(tls *libc.TLS, pParse uintptr, p uintptr, iFrom int32, isAgg int32) int32 { /* sqlite3.c:138258:12: */ +func flattenSubquery(tls *libc.TLS, pParse uintptr, p uintptr, iFrom int32, isAgg int32) int32 { /* sqlite3.c:138271:12: */ bp := tls.Alloc(80) defer tls.Free(80) @@ -133632,7 +133670,7 @@ __3: // A structure to keep track of all of the column values that are fixed to // a known value due to WHERE clause constraints of the form COLUMN=VALUE. -type WhereConst = WhereConst1 /* sqlite3.c:138682:27 */ +type WhereConst = WhereConst1 /* sqlite3.c:138695:27 */ // Add a new entry to the pConst object. Except, do not add duplicate // pColumn entires. Also, do not add if doing so would not be appropriate. @@ -133640,7 +133678,7 @@ type WhereConst = WhereConst1 /* sqlite3.c:138682:27 */ // The caller guarantees the pColumn is a column and pValue is a constant. // This routine has to do some additional checks before completing the // insert. -func constInsert(tls *libc.TLS, pConst uintptr, pColumn uintptr, pValue uintptr, pExpr uintptr) { /* sqlite3.c:138700:13: */ +func constInsert(tls *libc.TLS, pConst uintptr, pColumn uintptr, pValue uintptr, pExpr uintptr) { /* sqlite3.c:138713:13: */ var i int32 if (*Expr)(unsafe.Pointer(pColumn)).Fflags&U32(EP_FixedCol) != U32(0) { @@ -133682,7 +133720,7 @@ func constInsert(tls *libc.TLS, pConst uintptr, pColumn uintptr, pValue uintptr, // is a constant expression and where the term must be true because it // is part of the AND-connected terms of the expression. For each term // found, add it to the pConst structure. -func findConstInWhere(tls *libc.TLS, pConst uintptr, pExpr uintptr) { /* sqlite3.c:138748:13: */ +func findConstInWhere(tls *libc.TLS, pConst uintptr, pExpr uintptr) { /* sqlite3.c:138761:13: */ var pRight uintptr var pLeft uintptr if pExpr == uintptr(0) { @@ -133717,7 +133755,7 @@ func findConstInWhere(tls *libc.TLS, pConst uintptr, pExpr uintptr) { /* sqlite3 // then overwrite it with the corresponding value. Except, do not do so // if argument bIgnoreAffBlob is non-zero and the affinity of pExpr // is SQLITE_AFF_BLOB. -func propagateConstantExprRewriteOne(tls *libc.TLS, pConst uintptr, pExpr uintptr, bIgnoreAffBlob int32) int32 { /* sqlite3.c:138779:12: */ +func propagateConstantExprRewriteOne(tls *libc.TLS, pConst uintptr, pExpr uintptr, bIgnoreAffBlob int32) int32 { /* sqlite3.c:138792:12: */ var i int32 if *(*U8)(unsafe.Pointer((*WhereConst)(unsafe.Pointer(pConst)).FpOomFault)) != 0 { return WRC_Prune @@ -133771,7 +133809,7 @@ func propagateConstantExprRewriteOne(tls *libc.TLS, pConst uintptr, pExpr uintpt // uses an affinity other than TEXT and one of its immediate // children is a column that matches one of the columns in // pWalker->u.pConst. -func propagateConstantExprRewrite(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:138828:12: */ +func propagateConstantExprRewrite(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:138841:12: */ var pConst uintptr = *(*uintptr)(unsafe.Pointer(pWalker + 40)) if (*WhereConst)(unsafe.Pointer(pConst)).FbHasAffBlob != 0 { @@ -133838,7 +133876,7 @@ func propagateConstantExprRewrite(tls *libc.TLS, pWalker uintptr, pExpr uintptr) // operators ==, <=, <, >=, >, or IS in a way that will cause the correct // type conversions to occur. See logic associated with the bHasAffBlob flag // for details. -func propagateConstants(tls *libc.TLS, pParse uintptr, p uintptr) int32 { /* sqlite3.c:138899:12: */ +func propagateConstants(tls *libc.TLS, pParse uintptr, p uintptr) int32 { /* sqlite3.c:138912:12: */ bp := tls.Alloc(88) defer tls.Free(88) @@ -133891,7 +133929,7 @@ func propagateConstants(tls *libc.TLS, pParse uintptr, p uintptr) int32 { /* sql // // * the sub-query uses only one distinct window frame, and // * that the window frame has a PARTITION BY clase. -func pushDownWindowCheck(tls *libc.TLS, pParse uintptr, pSubq uintptr, pExpr uintptr) int32 { /* sqlite3.c:138950:12: */ +func pushDownWindowCheck(tls *libc.TLS, pParse uintptr, pSubq uintptr, pExpr uintptr) int32 { /* sqlite3.c:138963:12: */ return Xsqlite3ExprIsConstantOrGroupBy(tls, pParse, pExpr, (*Window)(unsafe.Pointer((*Select)(unsafe.Pointer(pSubq)).FpWin)).FpPartition) } @@ -133962,7 +134000,7 @@ func pushDownWindowCheck(tls *libc.TLS, pParse uintptr, pSubq uintptr, pExpr uin // // Return 0 if no changes are made and non-zero if one or more WHERE clause // terms are duplicated into the subquery. -func pushDownWhereTerms(tls *libc.TLS, pParse uintptr, pSubq uintptr, pWhere uintptr, iCursor int32, isLeftJoin int32) int32 { /* sqlite3.c:139028:12: */ +func pushDownWhereTerms(tls *libc.TLS, pParse uintptr, pSubq uintptr, pWhere uintptr, iCursor int32, isLeftJoin int32) int32 { /* sqlite3.c:139041:12: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -134050,7 +134088,7 @@ func pushDownWhereTerms(tls *libc.TLS, pParse uintptr, pSubq uintptr, pWhere uin // This routine must be called after aggregate functions have been // located but before their arguments have been subjected to aggregate // analysis. -func minMaxQuery(tls *libc.TLS, db uintptr, pFunc uintptr, ppMinMax uintptr) U8 { /* sqlite3.c:139132:11: */ +func minMaxQuery(tls *libc.TLS, db uintptr, pFunc uintptr, ppMinMax uintptr) U8 { /* sqlite3.c:139145:11: */ var eRet int32 = WHERE_ORDERBY_NORMAL // Return value var pEList uintptr // Arguments to agg function var zFunc uintptr // Name of aggregate function pFunc @@ -134100,7 +134138,7 @@ func minMaxQuery(tls *libc.TLS, db uintptr, pFunc uintptr, ppMinMax uintptr) U8 // this routine returns NULL when it could have returned a table pointer. // But returning the pointer when NULL should have been returned can // result in incorrect answers and/or crashes. So, when in doubt, return NULL. -func isSimpleCount(tls *libc.TLS, p uintptr, pAggInfo uintptr) uintptr { /* sqlite3.c:139187:14: */ +func isSimpleCount(tls *libc.TLS, p uintptr, pAggInfo uintptr) uintptr { /* sqlite3.c:139200:14: */ var pTab uintptr var pExpr uintptr @@ -134140,7 +134178,7 @@ func isSimpleCount(tls *libc.TLS, p uintptr, pAggInfo uintptr) uintptr { /* sqli // was such a clause and the named index cannot be found, return // SQLITE_ERROR and leave an error in pParse. Otherwise, populate // pFrom->pIndex and return SQLITE_OK. -func Xsqlite3IndexedByLookup(tls *libc.TLS, pParse uintptr, pFrom uintptr) int32 { /* sqlite3.c:139225:20: */ +func Xsqlite3IndexedByLookup(tls *libc.TLS, pParse uintptr, pFrom uintptr) int32 { /* sqlite3.c:139238:20: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -134179,7 +134217,7 @@ func Xsqlite3IndexedByLookup(tls *libc.TLS, pParse uintptr, pFrom uintptr) int32 // This transformation is only needed for EXCEPT, INTERSECT, and UNION. // The UNION ALL operator works fine with multiSelectOrderBy() even when // there are COLLATE terms in the ORDER BY. -func convertCompoundSelectToSubquery(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sqlite3.c:139267:12: */ +func convertCompoundSelectToSubquery(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sqlite3.c:139280:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -134258,7 +134296,7 @@ func convertCompoundSelectToSubquery(tls *libc.TLS, pWalker uintptr, p uintptr) // Check to see if the FROM clause term pFrom has table-valued function // arguments. If it does, leave an error message in pParse and return // non-zero, since pFrom is not allowed to be a table-valued function. -func cannotBeFunction(tls *libc.TLS, pParse uintptr, pFrom uintptr) int32 { /* sqlite3.c:139332:12: */ +func cannotBeFunction(tls *libc.TLS, pParse uintptr, pFrom uintptr) int32 { /* sqlite3.c:139345:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -134277,7 +134315,7 @@ func cannotBeFunction(tls *libc.TLS, pParse uintptr, pFrom uintptr) int32 { /* s // // If a non-NULL value is returned, set *ppContext to point to the With // object that the returned CTE belongs to. -func searchWith(tls *libc.TLS, pWith uintptr, pItem uintptr, ppContext uintptr) uintptr { /* sqlite3.c:139351:19: */ +func searchWith(tls *libc.TLS, pWith uintptr, pItem uintptr, ppContext uintptr) uintptr { /* sqlite3.c:139364:19: */ var zName uintptr = (*SrcItem)(unsafe.Pointer(pItem)).FzName var p uintptr @@ -134312,7 +134350,7 @@ func searchWith(tls *libc.TLS, pWith uintptr, pItem uintptr, ppContext uintptr) // // If bFree is true, do not continue to use the pWith pointer after // calling this routine, Instead, use only the return value. -func Xsqlite3WithPush(tls *libc.TLS, pParse uintptr, pWith uintptr, bFree U8) uintptr { /* sqlite3.c:139390:21: */ +func Xsqlite3WithPush(tls *libc.TLS, pParse uintptr, pWith uintptr, bFree U8) uintptr { /* sqlite3.c:139403:21: */ if pWith != 0 { if bFree != 0 { pWith = Xsqlite3ParserAddCleanup(tls, pParse, @@ -134345,7 +134383,7 @@ func Xsqlite3WithPush(tls *libc.TLS, pParse uintptr, pWith uintptr, bFree U8) ui // Return 0 if no match is found. // Return 1 if a match is found. // Return 2 if an error condition is detected. -func resolveFromTermToCte(tls *libc.TLS, pParse uintptr, pWalker uintptr, pFrom uintptr) int32 { /* sqlite3.c:139421:12: */ +func resolveFromTermToCte(tls *libc.TLS, pParse uintptr, pWalker uintptr, pFrom uintptr) int32 { /* sqlite3.c:139434:12: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -134527,7 +134565,7 @@ func resolveFromTermToCte(tls *libc.TLS, pParse uintptr, pWalker uintptr, pFrom // This function is used as the xSelectCallback2() callback by // sqlite3SelectExpand() when walking a SELECT tree to resolve table // names and other FROM clause elements. -func Xsqlite3SelectPopWith(tls *libc.TLS, pWalker uintptr, p uintptr) { /* sqlite3.c:139605:21: */ +func Xsqlite3SelectPopWith(tls *libc.TLS, pWalker uintptr, p uintptr) { /* sqlite3.c:139618:21: */ var pParse uintptr = (*Walker)(unsafe.Pointer(pWalker)).FpParse if (*Parse)(unsafe.Pointer(pParse)).FpWith != 0 && (*Select)(unsafe.Pointer(p)).FpPrior == uintptr(0) { var pWith uintptr = (*Select)(unsafe.Pointer(findRightmost(tls, p))).FpWith @@ -134543,7 +134581,7 @@ func Xsqlite3SelectPopWith(tls *libc.TLS, pWalker uintptr, p uintptr) { /* sqlit // allocates and populates the SrcList_item.pTab object. If successful, // SQLITE_OK is returned. Otherwise, if an OOM error is encountered, // SQLITE_NOMEM. -func Xsqlite3ExpandSubquery(tls *libc.TLS, pParse uintptr, pFrom uintptr) int32 { /* sqlite3.c:139624:20: */ +func Xsqlite3ExpandSubquery(tls *libc.TLS, pParse uintptr, pFrom uintptr) int32 { /* sqlite3.c:139637:20: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -134597,7 +134635,7 @@ func Xsqlite3ExpandSubquery(tls *libc.TLS, pParse uintptr, pFrom uintptr) int32 // If found, expand each "*" to be every column in every table // and TABLE.* to be every column in TABLE. // -func selectExpander(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sqlite3.c:139676:12: */ +func selectExpander(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sqlite3.c:139689:12: */ bp := tls.Alloc(88) defer tls.Free(88) @@ -134946,7 +134984,7 @@ __3: // If anything goes wrong, an error message is written into pParse. // The calling function can detect the problem by looking at pParse->nErr // and/or pParse->db->mallocFailed. -func sqlite3SelectExpand(tls *libc.TLS, pParse uintptr, pSelect uintptr) { /* sqlite3.c:140003:13: */ +func sqlite3SelectExpand(tls *libc.TLS, pParse uintptr, pSelect uintptr) { /* sqlite3.c:140016:13: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -134984,7 +135022,7 @@ func sqlite3SelectExpand(tls *libc.TLS, pParse uintptr, pSelect uintptr) { /* sq // by selectExpander() but the type and collation information was omitted // at that point because identifiers had not yet been resolved. This // routine is called after identifier resolution. -func selectAddSubqueryTypeInfo(tls *libc.TLS, pWalker uintptr, p uintptr) { /* sqlite3.c:140033:13: */ +func selectAddSubqueryTypeInfo(tls *libc.TLS, pWalker uintptr, p uintptr) { /* sqlite3.c:140046:13: */ var pParse uintptr var i int32 var pTabList uintptr @@ -135032,7 +135070,7 @@ __3: // SELECT statement. // // Use this routine after name resolution. -func sqlite3SelectAddTypeInfo(tls *libc.TLS, pParse uintptr, pSelect uintptr) { /* sqlite3.c:140068:13: */ +func sqlite3SelectAddTypeInfo(tls *libc.TLS, pParse uintptr, pSelect uintptr) { /* sqlite3.c:140081:13: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -135061,7 +135099,7 @@ func sqlite3SelectAddTypeInfo(tls *libc.TLS, pParse uintptr, pSelect uintptr) { // * Identifiers in expression are matched to tables. // // This routine acts recursively on all subqueries within the SELECT. -func Xsqlite3SelectPrep(tls *libc.TLS, pParse uintptr, p uintptr, pOuterNC uintptr) { /* sqlite3.c:140092:21: */ +func Xsqlite3SelectPrep(tls *libc.TLS, pParse uintptr, p uintptr, pOuterNC uintptr) { /* sqlite3.c:140105:21: */ if (*Sqlite3)(unsafe.Pointer((*Parse)(unsafe.Pointer(pParse)).Fdb)).FmallocFailed != 0 { return @@ -135086,7 +135124,7 @@ func Xsqlite3SelectPrep(tls *libc.TLS, pParse uintptr, p uintptr, pOuterNC uintp // intermediate results while calculating an aggregate. This // routine generates code that stores NULLs in all of those memory // cells. -func resetAccumulator(tls *libc.TLS, pParse uintptr, pAggInfo uintptr) { /* sqlite3.c:140116:13: */ +func resetAccumulator(tls *libc.TLS, pParse uintptr, pAggInfo uintptr) { /* sqlite3.c:140129:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -135136,7 +135174,7 @@ __3: // Invoke the OP_AggFinalize opcode for every aggregate function // in the AggInfo structure. -func finalizeAggFunctions(tls *libc.TLS, pParse uintptr, pAggInfo uintptr) { /* sqlite3.c:140162:13: */ +func finalizeAggFunctions(tls *libc.TLS, pParse uintptr, pAggInfo uintptr) { /* sqlite3.c:140175:13: */ var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe var i int32 var pF uintptr @@ -135175,7 +135213,7 @@ __3: // in pAggInfo, then only populate the pAggInfo->nAccumulator accumulator // registers if register regAcc contains 0. The caller will take care // of setting and clearing regAcc. -func updateAccumulator(tls *libc.TLS, pParse uintptr, regAcc int32, pAggInfo uintptr, eDistinctType int32) { /* sqlite3.c:140185:13: */ +func updateAccumulator(tls *libc.TLS, pParse uintptr, regAcc int32, pAggInfo uintptr, eDistinctType int32) { /* sqlite3.c:140198:13: */ var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe var i int32 var regHit int32 = 0 @@ -135316,7 +135354,7 @@ __9: // Add a single OP_Explain instruction to the VDBE to explain a simple // count(*) query ("SELECT count(*) FROM pTab"). -func explainSimpleCount(tls *libc.TLS, pParse uintptr, pTab uintptr, pIdx uintptr) { /* sqlite3.c:140287:13: */ +func explainSimpleCount(tls *libc.TLS, pParse uintptr, pTab uintptr, pIdx uintptr) { /* sqlite3.c:140300:13: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -135348,7 +135386,7 @@ func explainSimpleCount(tls *libc.TLS, pParse uintptr, pTab uintptr, pIdx uintpt // sub-expression matches the criteria for being moved to the WHERE // clause. If so, add it to the WHERE clause and replace the sub-expression // within the HAVING expression with a constant "1". -func havingToWhereExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:140316:12: */ +func havingToWhereExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:140329:12: */ if int32((*Expr)(unsafe.Pointer(pExpr)).Fop) != TK_AND { var pS uintptr = *(*uintptr)(unsafe.Pointer(pWalker + 40)) // This routine is called before the HAVING clause of the current @@ -135394,7 +135432,7 @@ func havingToWhereExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { // A term of the HAVING expression is eligible for transfer if it consists // entirely of constants and expressions that are also GROUP BY terms that // use the "BINARY" collation sequence. -func havingToWhere(tls *libc.TLS, pParse uintptr, p uintptr) { /* sqlite3.c:140360:13: */ +func havingToWhere(tls *libc.TLS, pParse uintptr, p uintptr) { /* sqlite3.c:140373:13: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -135412,7 +135450,7 @@ func havingToWhere(tls *libc.TLS, pParse uintptr, p uintptr) { /* sqlite3.c:1403 // Check to see if the pThis entry of pTabList is a self-join of a prior view. // If it is, then return the SrcList_item for the prior view. If it is not, // then return 0. -func isSelfJoinView(tls *libc.TLS, pTabList uintptr, pThis uintptr) uintptr { /* sqlite3.c:140380:16: */ +func isSelfJoinView(tls *libc.TLS, pTabList uintptr, pThis uintptr) uintptr { /* sqlite3.c:140393:16: */ var pItem uintptr if (*Select)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pThis)).FpSelect)).FselFlags&U32(SF_PushDown) != 0 { @@ -135453,7 +135491,7 @@ func isSelfJoinView(tls *libc.TLS, pTabList uintptr, pThis uintptr) uintptr { /* } // Deallocate a single AggInfo object -func agginfoFree(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:140415:13: */ +func agginfoFree(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:140428:13: */ Xsqlite3DbFree(tls, db, (*AggInfo)(unsafe.Pointer(p)).FaCol) Xsqlite3DbFree(tls, db, (*AggInfo)(unsafe.Pointer(p)).FaFunc) Xsqlite3DbFreeNN(tls, db, p) @@ -135470,7 +135508,7 @@ func agginfoFree(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:140415:13: // // This routine does NOT free the Select structure passed in. The // calling function needs to do that. -func Xsqlite3Select(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) int32 { /* sqlite3.c:140523:20: */ +func Xsqlite3Select(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) int32 { /* sqlite3.c:140536:20: */ bp := tls.Alloc(216) defer tls.Free(216) @@ -137067,7 +137105,7 @@ type TabResult1 = struct { FnData U32 Frc int32 F__ccgo_pad1 [4]byte -} /* sqlite3.c:141786:9 */ +} /* sqlite3.c:141799:9 */ //************* End of select.c ********************************************* //************* Begin file table.c ****************************************** @@ -137091,12 +137129,12 @@ type TabResult1 = struct { // This structure is used to pass data from sqlite3_get_table() through // to the callback function is uses to build the result. -type TabResult = TabResult1 /* sqlite3.c:141794:3 */ +type TabResult = TabResult1 /* sqlite3.c:141807:3 */ // This routine is called once for each row in the result table. Its job // is to fill in the TabResult structure appropriately, allocating new // memory as necessary. -func sqlite3_get_table_cb(tls *libc.TLS, pArg uintptr, nCol int32, argv uintptr, colv uintptr) int32 { /* sqlite3.c:141801:12: */ +func sqlite3_get_table_cb(tls *libc.TLS, pArg uintptr, nCol int32, argv uintptr, colv uintptr) int32 { /* sqlite3.c:141814:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -137227,7 +137265,7 @@ malloc_failed: // from malloc(). But the caller cannot free this memory directly. // Instead, the entire table should be passed to sqlite3_free_table() when // the calling procedure is finished using it. -func Xsqlite3_get_table(tls *libc.TLS, db uintptr, zSql uintptr, pazResult uintptr, pnRow uintptr, pnColumn uintptr, pzErrMsg uintptr) int32 { /* sqlite3.c:141875:16: */ +func Xsqlite3_get_table(tls *libc.TLS, db uintptr, zSql uintptr, pazResult uintptr, pnRow uintptr, pnColumn uintptr, pzErrMsg uintptr) int32 { /* sqlite3.c:141888:16: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -137299,7 +137337,7 @@ func Xsqlite3_get_table(tls *libc.TLS, db uintptr, zSql uintptr, pazResult uintp } // This routine frees the space the sqlite3_get_table() malloced. -func Xsqlite3_free_table(tls *libc.TLS, azResult uintptr) { /* sqlite3.c:141944:17: */ +func Xsqlite3_free_table(tls *libc.TLS, azResult uintptr) { /* sqlite3.c:141957:17: */ if azResult != 0 { var i int32 var n int32 @@ -137330,7 +137368,7 @@ func Xsqlite3_free_table(tls *libc.TLS, azResult uintptr) { /* sqlite3.c:141944: // #include "sqliteInt.h" // Delete a linked list of TriggerStep structures. -func Xsqlite3DeleteTriggerStep(tls *libc.TLS, db uintptr, pTriggerStep uintptr) { /* sqlite3.c:141979:21: */ +func Xsqlite3DeleteTriggerStep(tls *libc.TLS, db uintptr, pTriggerStep uintptr) { /* sqlite3.c:141992:21: */ for pTriggerStep != 0 { var pTmp uintptr = pTriggerStep pTriggerStep = (*TriggerStep)(unsafe.Pointer(pTriggerStep)).FpNext @@ -137359,7 +137397,7 @@ func Xsqlite3DeleteTriggerStep(tls *libc.TLS, db uintptr, pTriggerStep uintptr) // To state it another way: This routine returns a list of all triggers // that fire off of pTab. The list will include any TEMP triggers on // pTab as well as the triggers lised in pTab->pTrigger. -func Xsqlite3TriggerList(tls *libc.TLS, pParse uintptr, pTab uintptr) uintptr { /* sqlite3.c:142010:24: */ +func Xsqlite3TriggerList(tls *libc.TLS, pParse uintptr, pTab uintptr) uintptr { /* sqlite3.c:142023:24: */ var pTmpSchema uintptr // Schema of the pTab table var pList uintptr // List of triggers to return var p uintptr // Loop variable for TEMP triggers @@ -137397,7 +137435,7 @@ func Xsqlite3TriggerList(tls *libc.TLS, pParse uintptr, pTab uintptr) uintptr { // in pParse->pNewTrigger. After the trigger actions have been parsed, the // sqlite3FinishTrigger() function is called to complete the trigger // construction process. -func Xsqlite3BeginTrigger(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 uintptr, tr_tm int32, op int32, pColumns uintptr, pTableName uintptr, pWhen uintptr, isTemp int32, noErr int32) { /* sqlite3.c:142066:21: */ +func Xsqlite3BeginTrigger(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 uintptr, tr_tm int32, op int32, pColumns uintptr, pTableName uintptr, pWhen uintptr, isTemp int32, noErr int32) { /* sqlite3.c:142079:21: */ bp := tls.Alloc(136) defer tls.Free(136) @@ -137704,7 +137742,7 @@ __31: // This routine is called after all of the trigger actions have been parsed // in order to complete the process of building the trigger. -func Xsqlite3FinishTrigger(tls *libc.TLS, pParse uintptr, pStepList uintptr, pAll uintptr) { /* sqlite3.c:142273:21: */ +func Xsqlite3FinishTrigger(tls *libc.TLS, pParse uintptr, pStepList uintptr, pAll uintptr) { /* sqlite3.c:142286:21: */ bp := tls.Alloc(152) defer tls.Free(152) @@ -137828,7 +137866,7 @@ triggerfinish_cleanup: // Duplicate a range of text from an SQL statement, then convert all // whitespace characters into ordinary space characters. -func triggerSpanDup(tls *libc.TLS, db uintptr, zStart uintptr, zEnd uintptr) uintptr { /* sqlite3.c:142361:13: */ +func triggerSpanDup(tls *libc.TLS, db uintptr, zStart uintptr, zEnd uintptr) uintptr { /* sqlite3.c:142374:13: */ var z uintptr = Xsqlite3DbSpanDup(tls, db, zStart, zEnd) var i int32 if z != 0 { @@ -137846,7 +137884,7 @@ func triggerSpanDup(tls *libc.TLS, db uintptr, zStart uintptr, zEnd uintptr) uin // // The parser calls this routine when it finds a SELECT statement in // body of a TRIGGER. -func Xsqlite3TriggerSelectStep(tls *libc.TLS, db uintptr, pSelect uintptr, zStart uintptr, zEnd uintptr) uintptr { /* sqlite3.c:142375:28: */ +func Xsqlite3TriggerSelectStep(tls *libc.TLS, db uintptr, pSelect uintptr, zStart uintptr, zEnd uintptr) uintptr { /* sqlite3.c:142388:28: */ var pTriggerStep uintptr = Xsqlite3DbMallocZero(tls, db, uint64(unsafe.Sizeof(TriggerStep{}))) if pTriggerStep == uintptr(0) { Xsqlite3SelectDelete(tls, db, pSelect) @@ -137863,7 +137901,7 @@ func Xsqlite3TriggerSelectStep(tls *libc.TLS, db uintptr, pSelect uintptr, zStar // holds both the TriggerStep object and the TriggerStep.target.z string. // // If an OOM error occurs, NULL is returned and db->mallocFailed is set. -func triggerStepAllocate(tls *libc.TLS, pParse uintptr, op U8, pName uintptr, zStart uintptr, zEnd uintptr) uintptr { /* sqlite3.c:142399:20: */ +func triggerStepAllocate(tls *libc.TLS, pParse uintptr, op U8, pName uintptr, zStart uintptr, zEnd uintptr) uintptr { /* sqlite3.c:142412:20: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb var pTriggerStep uintptr @@ -137890,7 +137928,7 @@ func triggerStepAllocate(tls *libc.TLS, pParse uintptr, op U8, pName uintptr, zS // // The parser calls this routine when it sees an INSERT inside the // body of a trigger. -func Xsqlite3TriggerInsertStep(tls *libc.TLS, pParse uintptr, pTableName uintptr, pColumn uintptr, pSelect uintptr, orconf U8, pUpsert uintptr, zStart uintptr, zEnd uintptr) uintptr { /* sqlite3.c:142432:28: */ +func Xsqlite3TriggerInsertStep(tls *libc.TLS, pParse uintptr, pTableName uintptr, pColumn uintptr, pSelect uintptr, orconf U8, pUpsert uintptr, zStart uintptr, zEnd uintptr) uintptr { /* sqlite3.c:142445:28: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb var pTriggerStep uintptr @@ -137922,7 +137960,7 @@ func Xsqlite3TriggerInsertStep(tls *libc.TLS, pParse uintptr, pTableName uintptr // Construct a trigger step that implements an UPDATE statement and return // a pointer to that trigger step. The parser calls this routine when it // sees an UPDATE statement inside the body of a CREATE TRIGGER. -func Xsqlite3TriggerUpdateStep(tls *libc.TLS, pParse uintptr, pTableName uintptr, pFrom uintptr, pEList uintptr, pWhere uintptr, orconf U8, zStart uintptr, zEnd uintptr) uintptr { /* sqlite3.c:142477:28: */ +func Xsqlite3TriggerUpdateStep(tls *libc.TLS, pParse uintptr, pTableName uintptr, pFrom uintptr, pEList uintptr, pWhere uintptr, orconf U8, zStart uintptr, zEnd uintptr) uintptr { /* sqlite3.c:142490:28: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb var pTriggerStep uintptr @@ -137951,7 +137989,7 @@ func Xsqlite3TriggerUpdateStep(tls *libc.TLS, pParse uintptr, pTableName uintptr // Construct a trigger step that implements a DELETE statement and return // a pointer to that trigger step. The parser calls this routine when it // sees a DELETE statement inside the body of a CREATE TRIGGER. -func Xsqlite3TriggerDeleteStep(tls *libc.TLS, pParse uintptr, pTableName uintptr, pWhere uintptr, zStart uintptr, zEnd uintptr) uintptr { /* sqlite3.c:142517:28: */ +func Xsqlite3TriggerDeleteStep(tls *libc.TLS, pParse uintptr, pTableName uintptr, pWhere uintptr, zStart uintptr, zEnd uintptr) uintptr { /* sqlite3.c:142530:28: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb var pTriggerStep uintptr @@ -137970,7 +138008,7 @@ func Xsqlite3TriggerDeleteStep(tls *libc.TLS, pParse uintptr, pTableName uintptr } // Recursively delete a Trigger structure -func Xsqlite3DeleteTrigger(tls *libc.TLS, db uintptr, pTrigger uintptr) { /* sqlite3.c:142544:21: */ +func Xsqlite3DeleteTrigger(tls *libc.TLS, db uintptr, pTrigger uintptr) { /* sqlite3.c:142557:21: */ if pTrigger == uintptr(0) || (*Trigger)(unsafe.Pointer(pTrigger)).FbReturning != 0 { return } @@ -137990,7 +138028,7 @@ func Xsqlite3DeleteTrigger(tls *libc.TLS, db uintptr, pTrigger uintptr) { /* sql // same job as this routine except it takes a pointer to the trigger // instead of the trigger name. // -func Xsqlite3DropTrigger(tls *libc.TLS, pParse uintptr, pName uintptr, noErr int32) { /* sqlite3.c:142562:21: */ +func Xsqlite3DropTrigger(tls *libc.TLS, pParse uintptr, pName uintptr, noErr int32) { /* sqlite3.c:142575:21: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -138074,12 +138112,12 @@ drop_trigger_cleanup: // Return a pointer to the Table structure for the table that a trigger // is set on. -func tableOfTrigger(tls *libc.TLS, pTrigger uintptr) uintptr { /* sqlite3.c:142604:14: */ +func tableOfTrigger(tls *libc.TLS, pTrigger uintptr) uintptr { /* sqlite3.c:142617:14: */ return Xsqlite3HashFind(tls, (*Trigger)(unsafe.Pointer(pTrigger)).FpTabSchema+8, (*Trigger)(unsafe.Pointer(pTrigger)).Ftable) } // Drop a trigger given a pointer to that trigger. -func Xsqlite3DropTriggerPtr(tls *libc.TLS, pParse uintptr, pTrigger uintptr) { /* sqlite3.c:142612:21: */ +func Xsqlite3DropTriggerPtr(tls *libc.TLS, pParse uintptr, pTrigger uintptr) { /* sqlite3.c:142625:21: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -138120,7 +138158,7 @@ func Xsqlite3DropTriggerPtr(tls *libc.TLS, pParse uintptr, pTrigger uintptr) { / } // Remove a trigger from the hash tables of the sqlite* pointer. -func Xsqlite3UnlinkAndDeleteTrigger(tls *libc.TLS, db uintptr, iDb int32, zName uintptr) { /* sqlite3.c:142650:21: */ +func Xsqlite3UnlinkAndDeleteTrigger(tls *libc.TLS, db uintptr, iDb int32, zName uintptr) { /* sqlite3.c:142663:21: */ var pTrigger uintptr var pHash uintptr @@ -138151,7 +138189,7 @@ func Xsqlite3UnlinkAndDeleteTrigger(tls *libc.TLS, db uintptr, iDb int32, zName // wildcard that matches anything. Likewise if pEList==NULL then // it matches anything so always return true. Return false only // if there is no match. -func checkColumnOverlap(tls *libc.TLS, pIdList uintptr, pEList uintptr) int32 { /* sqlite3.c:142684:12: */ +func checkColumnOverlap(tls *libc.TLS, pIdList uintptr, pEList uintptr) int32 { /* sqlite3.c:142697:12: */ var e int32 if pIdList == uintptr(0) || pEList == uintptr(0) { return 1 @@ -138168,7 +138206,7 @@ func checkColumnOverlap(tls *libc.TLS, pIdList uintptr, pEList uintptr) int32 { // one trigger that must be fired when an operation of type 'op' is // performed on the table, and, if that operation is an UPDATE, if at // least one of the columns in pChanges is being modified. -func Xsqlite3TriggersExist(tls *libc.TLS, pParse uintptr, pTab uintptr, op int32, pChanges uintptr, pMask uintptr) uintptr { /* sqlite3.c:142699:24: */ +func Xsqlite3TriggersExist(tls *libc.TLS, pParse uintptr, pTab uintptr, op int32, pChanges uintptr, pMask uintptr) uintptr { /* sqlite3.c:142712:24: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -138295,7 +138333,7 @@ __17: // referring to a target in another database. An exception is when the // trigger is in TEMP in which case it can refer to any other database it // wants. -func Xsqlite3TriggerStepSrc(tls *libc.TLS, pParse uintptr, pStep uintptr) uintptr { /* sqlite3.c:142773:24: */ +func Xsqlite3TriggerStepSrc(tls *libc.TLS, pParse uintptr, pStep uintptr) uintptr { /* sqlite3.c:142786:24: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb var pSrc uintptr // SrcList to be returned var zName uintptr = Xsqlite3DbStrDup(tls, db, (*TriggerStep)(unsafe.Pointer(pStep)).FzTarget) @@ -138320,7 +138358,7 @@ func Xsqlite3TriggerStepSrc(tls *libc.TLS, pParse uintptr, pStep uintptr) uintpt // Return true if the pExpr term from the RETURNING clause argument // list is of the form "*". Raise an error if the terms if of the // form "table.*". -func isAsteriskTerm(tls *libc.TLS, pParse uintptr, pTerm uintptr) int32 { /* sqlite3.c:142804:12: */ +func isAsteriskTerm(tls *libc.TLS, pParse uintptr, pTerm uintptr) int32 { /* sqlite3.c:142817:12: */ if int32((*Expr)(unsafe.Pointer(pTerm)).Fop) == TK_ASTERISK { return 1 @@ -138341,7 +138379,7 @@ func isAsteriskTerm(tls *libc.TLS, pParse uintptr, pTerm uintptr) int32 { /* sql // // This routine makes a copy of the pList, and at the same time expands // any "*" wildcards to be the complete set of columns from pTab. -func sqlite3ExpandReturning(tls *libc.TLS, pParse uintptr, pList uintptr, pTab uintptr) uintptr { /* sqlite3.c:142824:17: */ +func sqlite3ExpandReturning(tls *libc.TLS, pParse uintptr, pList uintptr, pTab uintptr) uintptr { /* sqlite3.c:142837:17: */ var pNew uintptr = uintptr(0) var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb var i int32 @@ -138382,7 +138420,7 @@ func sqlite3ExpandReturning(tls *libc.TLS, pParse uintptr, pList uintptr, pTab u // Generate code for the RETURNING trigger. Unlike other triggers // that invoke a subprogram in the bytecode, the code for RETURNING // is generated in-line. -func codeReturningTrigger(tls *libc.TLS, pParse uintptr, pTrigger uintptr, pTab uintptr, regIn int32) { /* sqlite3.c:142867:13: */ +func codeReturningTrigger(tls *libc.TLS, pParse uintptr, pTrigger uintptr, pTab uintptr, regIn int32) { /* sqlite3.c:142880:13: */ bp := tls.Alloc(304) defer tls.Free(304) @@ -138450,7 +138488,7 @@ func codeReturningTrigger(tls *libc.TLS, pParse uintptr, pTrigger uintptr, pTab // Generate VDBE code for the statements inside the body of a single // trigger. -func codeTriggerProgram(tls *libc.TLS, pParse uintptr, pStepList uintptr, orconf int32) int32 { /* sqlite3.c:142943:12: */ +func codeTriggerProgram(tls *libc.TLS, pParse uintptr, pStepList uintptr, orconf int32) int32 { /* sqlite3.c:142956:12: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -138537,7 +138575,7 @@ func codeTriggerProgram(tls *libc.TLS, pParse uintptr, pStepList uintptr, orconf // Parse context structure pFrom has just been used to create a sub-vdbe // (trigger program). If an error has occurred, transfer error information // from pFrom to pTo. -func transferParseError(tls *libc.TLS, pTo uintptr, pFrom uintptr) { /* sqlite3.c:143047:13: */ +func transferParseError(tls *libc.TLS, pTo uintptr, pFrom uintptr) { /* sqlite3.c:143060:13: */ if (*Parse)(unsafe.Pointer(pTo)).FnErr == 0 { (*Parse)(unsafe.Pointer(pTo)).FzErrMsg = (*Parse)(unsafe.Pointer(pFrom)).FzErrMsg @@ -138550,7 +138588,7 @@ func transferParseError(tls *libc.TLS, pTo uintptr, pFrom uintptr) { /* sqlite3. // Create and populate a new TriggerPrg object with a sub-program // implementing trigger pTrigger with ON CONFLICT policy orconf. -func codeRowTrigger(tls *libc.TLS, pParse uintptr, pTrigger uintptr, pTab uintptr, orconf int32) uintptr { /* sqlite3.c:143063:19: */ +func codeRowTrigger(tls *libc.TLS, pParse uintptr, pTrigger uintptr, pTab uintptr, orconf int32) uintptr { /* sqlite3.c:143076:19: */ bp := tls.Alloc(472) defer tls.Free(472) @@ -138656,7 +138694,7 @@ func codeRowTrigger(tls *libc.TLS, pParse uintptr, pTrigger uintptr, pTab uintpt // trigger pTrigger with default ON CONFLICT algorithm orconf. If no such // TriggerPrg object exists, a new object is allocated and populated before // being returned. -func getRowTrigger(tls *libc.TLS, pParse uintptr, pTrigger uintptr, pTab uintptr, orconf int32) uintptr { /* sqlite3.c:143177:19: */ +func getRowTrigger(tls *libc.TLS, pParse uintptr, pTrigger uintptr, pTab uintptr, orconf int32) uintptr { /* sqlite3.c:143190:19: */ var pRoot uintptr = func() uintptr { if (*Parse)(unsafe.Pointer(pParse)).FpToplevel != 0 { return (*Parse)(unsafe.Pointer(pParse)).FpToplevel @@ -138685,7 +138723,7 @@ func getRowTrigger(tls *libc.TLS, pParse uintptr, pTrigger uintptr, pTab uintptr // table pTab. The reg, orconf and ignoreJump parameters passed to this // function are the same as those described in the header function for // sqlite3CodeRowTrigger() -func Xsqlite3CodeRowTriggerDirect(tls *libc.TLS, pParse uintptr, p uintptr, pTab uintptr, reg int32, orconf int32, ignoreJump int32) { /* sqlite3.c:143212:21: */ +func Xsqlite3CodeRowTriggerDirect(tls *libc.TLS, pParse uintptr, p uintptr, pTab uintptr, reg int32, orconf int32, ignoreJump int32) { /* sqlite3.c:143225:21: */ var v uintptr = Xsqlite3GetVdbe(tls, pParse) // Main VM var pPrg uintptr pPrg = getRowTrigger(tls, pParse, p, pTab, orconf) @@ -138745,7 +138783,7 @@ func Xsqlite3CodeRowTriggerDirect(tls *libc.TLS, pParse uintptr, p uintptr, pTab // trigger program to use (REPLACE, IGNORE etc.). Parameter ignoreJump // is the instruction that control should jump to if a trigger program // raises an IGNORE exception. -func Xsqlite3CodeRowTrigger(tls *libc.TLS, pParse uintptr, pTrigger uintptr, op int32, pChanges uintptr, tr_tm int32, pTab uintptr, reg int32, orconf int32, ignoreJump int32) { /* sqlite3.c:143284:21: */ +func Xsqlite3CodeRowTrigger(tls *libc.TLS, pParse uintptr, pTrigger uintptr, op int32, pChanges uintptr, tr_tm int32, pTab uintptr, reg int32, orconf int32, ignoreJump int32) { /* sqlite3.c:143297:21: */ var p uintptr // Used to iterate through pTrigger list for p = pTrigger; p != 0; p = (*Trigger)(unsafe.Pointer(p)).FpNext { @@ -138793,7 +138831,7 @@ func Xsqlite3CodeRowTrigger(tls *libc.TLS, pParse uintptr, pTrigger uintptr, op // included in the returned mask if the TRIGGER_BEFORE bit is set in the // tr_tm parameter. Similarly, values accessed by AFTER triggers are only // included in the returned mask if the TRIGGER_AFTER bit is set in tr_tm. -func Xsqlite3TriggerColmask(tls *libc.TLS, pParse uintptr, pTrigger uintptr, pChanges uintptr, isNew int32, tr_tm int32, pTab uintptr, orconf int32) U32 { /* sqlite3.c:143354:20: */ +func Xsqlite3TriggerColmask(tls *libc.TLS, pParse uintptr, pTrigger uintptr, pChanges uintptr, isNew int32, tr_tm int32, pTab uintptr, orconf int32) U32 { /* sqlite3.c:143367:20: */ var op int32 if pChanges != 0 { op = TK_UPDATE @@ -138850,7 +138888,7 @@ func Xsqlite3TriggerColmask(tls *libc.TLS, pParse uintptr, pTrigger uintptr, pCh // (not a virtual table) then the value might have been stored as an // integer. In that case, add an OP_RealAffinity opcode to make sure // it has been converted into REAL. -func Xsqlite3ColumnDefault(tls *libc.TLS, v uintptr, pTab uintptr, i int32, iReg int32) { /* sqlite3.c:143452:21: */ +func Xsqlite3ColumnDefault(tls *libc.TLS, v uintptr, pTab uintptr, i int32, iReg int32) { /* sqlite3.c:143465:21: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -138880,7 +138918,7 @@ func Xsqlite3ColumnDefault(tls *libc.TLS, v uintptr, pTab uintptr, i int32, iReg // aXRef[j] will be non-negative if column j of the original table is // being updated. chngRowid will be true if the rowid of the table is // being updated. -func indexColumnIsBeingUpdated(tls *libc.TLS, pIdx uintptr, iCol int32, aXRef uintptr, chngRowid int32) int32 { /* sqlite3.c:143485:12: */ +func indexColumnIsBeingUpdated(tls *libc.TLS, pIdx uintptr, iCol int32, aXRef uintptr, chngRowid int32) int32 { /* sqlite3.c:143498:12: */ var iIdxCol I16 = *(*I16)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FaiColumn + uintptr(iCol)*2)) // Cannot index rowid if int32(iIdxCol) >= 0 { @@ -138901,7 +138939,7 @@ func indexColumnIsBeingUpdated(tls *libc.TLS, pIdx uintptr, iCol int32, aXRef ui // aXRef[j] will be non-negative if column j of the original table is // being updated. chngRowid will be true if the rowid of the table is // being updated. -func indexWhereClauseMightChange(tls *libc.TLS, pIdx uintptr, aXRef uintptr, chngRowid int32) int32 { /* sqlite3.c:143515:12: */ +func indexWhereClauseMightChange(tls *libc.TLS, pIdx uintptr, aXRef uintptr, chngRowid int32) int32 { /* sqlite3.c:143528:12: */ if (*Index)(unsafe.Pointer(pIdx)).FpPartIdxWhere == uintptr(0) { return 0 } @@ -138913,7 +138951,7 @@ func indexWhereClauseMightChange(tls *libc.TLS, pIdx uintptr, aXRef uintptr, chn // Expr.iColumn set to value (iCol+1). The resolver will modify the // expression to be a TK_COLUMN reading column iCol of the first // table in the source-list (pSrc->a[0]). -func exprRowColumn(tls *libc.TLS, pParse uintptr, iCol int32) uintptr { /* sqlite3.c:143531:13: */ +func exprRowColumn(tls *libc.TLS, pParse uintptr, iCol int32) uintptr { /* sqlite3.c:143544:13: */ var pRet uintptr = Xsqlite3PExpr(tls, pParse, TK_ROW, uintptr(0), uintptr(0)) if pRet != 0 { (*Expr)(unsafe.Pointer(pRet)).FiColumn = YnVar(iCol + 1) @@ -138957,7 +138995,7 @@ func exprRowColumn(tls *libc.TLS, pParse uintptr, iCol int32) uintptr { /* sqlit // records with automatically assigned integer keys For intkey tables, the // rowid value in is used as the integer key, and the // remaining fields make up the table record. -func updateFromSelect(tls *libc.TLS, pParse uintptr, iEph int32, pPk uintptr, pChanges uintptr, pTabList uintptr, pWhere uintptr, pOrderBy uintptr, pLimit uintptr) { /* sqlite3.c:143575:13: */ +func updateFromSelect(tls *libc.TLS, pParse uintptr, iEph int32, pPk uintptr, pChanges uintptr, pTabList uintptr, pWhere uintptr, pOrderBy uintptr, pLimit uintptr) { /* sqlite3.c:143588:13: */ bp := tls.Alloc(40) defer tls.Free(40) @@ -139040,7 +139078,7 @@ func updateFromSelect(tls *libc.TLS, pParse uintptr, iEph int32, pPk uintptr, pC // onError | pChanges | pWhere // \_______________________/ // pTabList -func Xsqlite3Update(tls *libc.TLS, pParse uintptr, pTabList uintptr, pChanges uintptr, pWhere uintptr, onError int32, pOrderBy uintptr, pLimit uintptr, pUpsert uintptr) { /* sqlite3.c:143672:21: */ +func Xsqlite3Update(tls *libc.TLS, pParse uintptr, pTabList uintptr, pChanges uintptr, pWhere uintptr, onError int32, pOrderBy uintptr, pLimit uintptr, pUpsert uintptr) { /* sqlite3.c:143685:21: */ bp := tls.Alloc(108) defer tls.Free(108) @@ -140430,7 +140468,7 @@ update_cleanup: // The "onepass" strategy does not use an ephemeral table. Instead, it // stores the same values (A, B and C above) in a register array and // makes a single invocation of VUpdate. -func updateVirtualTable(tls *libc.TLS, pParse uintptr, pSrc uintptr, pTab uintptr, pChanges uintptr, pRowid uintptr, aXRef uintptr, pWhere uintptr, onError int32) { /* sqlite3.c:144564:13: */ +func updateVirtualTable(tls *libc.TLS, pParse uintptr, pSrc uintptr, pTab uintptr, pChanges uintptr, pRowid uintptr, aXRef uintptr, pWhere uintptr, onError int32) { /* sqlite3.c:144577:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -140603,7 +140641,7 @@ func updateVirtualTable(tls *libc.TLS, pParse uintptr, pSrc uintptr, pTab uintpt // #include "sqliteInt.h" // Free a list of Upsert objects -func upsertDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:144752:29: */ +func upsertDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:144765:29: */ for __ccgo := true; __ccgo; __ccgo = p != 0 { var pNext uintptr = (*Upsert)(unsafe.Pointer(p)).FpNextUpsert Xsqlite3ExprListDelete(tls, db, (*Upsert)(unsafe.Pointer(p)).FpUpsertTarget) @@ -140616,14 +140654,14 @@ func upsertDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:144752:29 } } -func Xsqlite3UpsertDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:144764:21: */ +func Xsqlite3UpsertDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:144777:21: */ if p != 0 { upsertDelete(tls, db, p) } } // Duplicate an Upsert object. -func Xsqlite3UpsertDup(tls *libc.TLS, db uintptr, p uintptr) uintptr { /* sqlite3.c:144772:23: */ +func Xsqlite3UpsertDup(tls *libc.TLS, db uintptr, p uintptr) uintptr { /* sqlite3.c:144785:23: */ if p == uintptr(0) { return uintptr(0) } @@ -140636,7 +140674,7 @@ func Xsqlite3UpsertDup(tls *libc.TLS, db uintptr, p uintptr) uintptr { /* sqlite } // Create a new Upsert object. -func Xsqlite3UpsertNew(tls *libc.TLS, db uintptr, pTarget uintptr, pTargetWhere uintptr, pSet uintptr, pWhere uintptr, pNext uintptr) uintptr { /* sqlite3.c:144786:23: */ +func Xsqlite3UpsertNew(tls *libc.TLS, db uintptr, pTarget uintptr, pTargetWhere uintptr, pSet uintptr, pWhere uintptr, pNext uintptr) uintptr { /* sqlite3.c:144799:23: */ var pNew uintptr pNew = Xsqlite3DbMallocZero(tls, db, uint64(unsafe.Sizeof(Upsert{}))) if pNew == uintptr(0) { @@ -140662,7 +140700,7 @@ func Xsqlite3UpsertNew(tls *libc.TLS, db uintptr, pTarget uintptr, pTargetWhere // // Return SQLITE_OK if everything works, or an error code is something // is wrong. -func Xsqlite3UpsertAnalyzeTarget(tls *libc.TLS, pParse uintptr, pTabList uintptr, pUpsert uintptr) int32 { /* sqlite3.c:144821:20: */ +func Xsqlite3UpsertAnalyzeTarget(tls *libc.TLS, pParse uintptr, pTabList uintptr, pUpsert uintptr) int32 { /* sqlite3.c:144834:20: */ bp := tls.Alloc(232) defer tls.Free(232) @@ -140804,7 +140842,7 @@ __3: // Return true if pUpsert is the last ON CONFLICT clause with a // conflict target, or if pUpsert is followed by another ON CONFLICT // clause that targets the INTEGER PRIMARY KEY. -func Xsqlite3UpsertNextIsIPK(tls *libc.TLS, pUpsert uintptr) int32 { /* sqlite3.c:144948:20: */ +func Xsqlite3UpsertNextIsIPK(tls *libc.TLS, pUpsert uintptr) int32 { /* sqlite3.c:144961:20: */ var pNext uintptr if pUpsert == uintptr(0) { return 0 @@ -140826,7 +140864,7 @@ func Xsqlite3UpsertNextIsIPK(tls *libc.TLS, pUpsert uintptr) int32 { /* sqlite3. // a particular index pIdx, return a pointer to the particular ON CONFLICT // clause that applies to the index. Or, if the index is not subject to // any ON CONFLICT clause, return NULL. -func Xsqlite3UpsertOfIndex(tls *libc.TLS, pUpsert uintptr, pIdx uintptr) uintptr { /* sqlite3.c:144964:23: */ +func Xsqlite3UpsertOfIndex(tls *libc.TLS, pUpsert uintptr, pIdx uintptr) uintptr { /* sqlite3.c:144977:23: */ for pUpsert != 0 && (*Upsert)(unsafe.Pointer(pUpsert)).FpUpsertTarget != uintptr(0) && (*Upsert)(unsafe.Pointer(pUpsert)).FpUpsertIdx != pIdx { @@ -140842,7 +140880,7 @@ func Xsqlite3UpsertOfIndex(tls *libc.TLS, pUpsert uintptr, pIdx uintptr) uintptr // currently points to the conflicting table row. Otherwise, if pIdx // is not NULL, then pIdx is the constraint that failed and iCur is a // cursor points to the conflicting row. -func Xsqlite3UpsertDoUpdate(tls *libc.TLS, pParse uintptr, pUpsert uintptr, pTab uintptr, pIdx uintptr, iCur int32) { /* sqlite3.c:144984:21: */ +func Xsqlite3UpsertDoUpdate(tls *libc.TLS, pParse uintptr, pUpsert uintptr, pTab uintptr, pIdx uintptr, iCur int32) { /* sqlite3.c:144997:21: */ var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb var pSrc uintptr // FROM clause for the UPDATE @@ -140922,7 +140960,7 @@ func Xsqlite3UpsertDoUpdate(tls *libc.TLS, pParse uintptr, pUpsert uintptr, pTab // // The execSqlF() routine does the same thing, except it accepts // a format string as its third argument -func execSql(tls *libc.TLS, db uintptr, pzErrMsg uintptr, zSql uintptr) int32 { /* sqlite3.c:145081:12: */ +func execSql(tls *libc.TLS, db uintptr, pzErrMsg uintptr, zSql uintptr) int32 { /* sqlite3.c:145094:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -140962,7 +141000,7 @@ func execSql(tls *libc.TLS, db uintptr, pzErrMsg uintptr, zSql uintptr) int32 { return rc } -func execSqlF(tls *libc.TLS, db uintptr, pzErrMsg uintptr, zSql uintptr, va uintptr) int32 { /* sqlite3.c:145111:12: */ +func execSqlF(tls *libc.TLS, db uintptr, pzErrMsg uintptr, zSql uintptr, va uintptr) int32 { /* sqlite3.c:145124:12: */ var z uintptr var ap Va_list _ = ap @@ -141006,7 +141044,7 @@ func execSqlF(tls *libc.TLS, db uintptr, pzErrMsg uintptr, zSql uintptr, va uint // And a power loss in between deleting the original and renaming the // transient would cause the database file to appear to be deleted // following reboot. -func Xsqlite3Vacuum(tls *libc.TLS, pParse uintptr, pNm uintptr, pInto uintptr) { /* sqlite3.c:145154:21: */ +func Xsqlite3Vacuum(tls *libc.TLS, pParse uintptr, pNm uintptr, pInto uintptr) { /* sqlite3.c:145167:21: */ bp := tls.Alloc(8) defer tls.Free(8) *(*uintptr)(unsafe.Pointer(bp)) = pNm @@ -141063,7 +141101,7 @@ build_vacuum_end: } // This routine implements the OP_Vacuum opcode of the VDBE. -func Xsqlite3RunVacuum(tls *libc.TLS, pzErrMsg uintptr, db uintptr, iDb int32, pOut uintptr) int32 { /* sqlite3.c:145192:36: */ +func Xsqlite3RunVacuum(tls *libc.TLS, pzErrMsg uintptr, db uintptr, iDb int32, pOut uintptr) int32 { /* sqlite3.c:145205:36: */ bp := tls.Alloc(52) defer tls.Free(52) @@ -141401,7 +141439,7 @@ var aCopy = [10]uint8{ uint8(BTREE_TEXT_ENCODING), uint8(0), // Preserve the text encoding uint8(BTREE_USER_VERSION), uint8(0), // Preserve the user version uint8(BTREE_APPLICATION_ID), uint8(0), // Preserve the application id -} /* sqlite3.c:145385:32 */ +} /* sqlite3.c:145398:32 */ // Construct and install a Module object for a virtual table. When this // routine is called, it is guaranteed that all appropriate locks are held @@ -141409,7 +141447,7 @@ var aCopy = [10]uint8{ // // 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 Xsqlite3VtabCreateModule(tls *libc.TLS, db uintptr, zName uintptr, pModule uintptr, pAux uintptr, xDestroy uintptr) uintptr { /* sqlite3.c:145497:23: */ +func Xsqlite3VtabCreateModule(tls *libc.TLS, db uintptr, zName uintptr, pModule uintptr, pAux uintptr, xDestroy uintptr) uintptr { /* sqlite3.c:145510:23: */ var pMod uintptr var pDel uintptr var zCopy uintptr @@ -141449,7 +141487,7 @@ func Xsqlite3VtabCreateModule(tls *libc.TLS, db uintptr, zName uintptr, pModule // The actual function that does the work of creating a new module. // 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) int32 { /* sqlite3.c:145545:12: */ +func createModule(tls *libc.TLS, db uintptr, zName uintptr, pModule uintptr, pAux uintptr, xDestroy uintptr) int32 { /* sqlite3.c:145558:12: */ var rc int32 = SQLITE_OK Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) @@ -141463,18 +141501,18 @@ func createModule(tls *libc.TLS, db uintptr, zName uintptr, pModule uintptr, pAu } // External API function used to create a new virtual-table module. -func Xsqlite3_create_module(tls *libc.TLS, db uintptr, zName uintptr, pModule uintptr, pAux uintptr) int32 { /* sqlite3.c:145566:16: */ +func Xsqlite3_create_module(tls *libc.TLS, db uintptr, zName uintptr, pModule uintptr, pAux uintptr) int32 { /* sqlite3.c:145579:16: */ return createModule(tls, db, zName, pModule, pAux, uintptr(0)) } // 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) int32 { /* sqlite3.c:145581:16: */ +func Xsqlite3_create_module_v2(tls *libc.TLS, db uintptr, zName uintptr, pModule uintptr, pAux uintptr, xDestroy uintptr) int32 { /* sqlite3.c:145594:16: */ return createModule(tls, db, zName, pModule, pAux, xDestroy) } // External API to drop all virtual-table modules, except those named // on the azNames list. -func Xsqlite3_drop_modules(tls *libc.TLS, db uintptr, azNames uintptr) int32 { /* sqlite3.c:145598:16: */ +func Xsqlite3_drop_modules(tls *libc.TLS, db uintptr, azNames uintptr) int32 { /* sqlite3.c:145611:16: */ var pThis uintptr var pNext uintptr for pThis = (*Hash)(unsafe.Pointer(db + 568)).Ffirst; pThis != 0; pThis = pNext { @@ -141495,7 +141533,7 @@ func Xsqlite3_drop_modules(tls *libc.TLS, db uintptr, azNames uintptr) int32 { / // Decrement the reference count on a Module object. Destroy the // module when the reference count reaches zero. -func Xsqlite3VtabModuleUnref(tls *libc.TLS, db uintptr, pMod uintptr) { /* sqlite3.c:145620:21: */ +func Xsqlite3VtabModuleUnref(tls *libc.TLS, db uintptr, pMod uintptr) { /* sqlite3.c:145633:21: */ (*Module)(unsafe.Pointer(pMod)).FnRefModule-- if (*Module)(unsafe.Pointer(pMod)).FnRefModule == 0 { @@ -141513,14 +141551,14 @@ func Xsqlite3VtabModuleUnref(tls *libc.TLS, db uintptr, pMod uintptr) { /* sqlit // // If a disconnect is attempted while a virtual table is locked, // the disconnect is deferred until all locks have been removed. -func Xsqlite3VtabLock(tls *libc.TLS, pVTab uintptr) { /* sqlite3.c:145640:21: */ +func Xsqlite3VtabLock(tls *libc.TLS, pVTab uintptr) { /* sqlite3.c:145653:21: */ (*VTable)(unsafe.Pointer(pVTab)).FnRef++ } // pTab is a pointer to a Table structure representing a virtual-table. // Return a pointer to the VTable object used by connection db to access // this virtual-table, if one has been created, or NULL otherwise. -func Xsqlite3GetVTable(tls *libc.TLS, db uintptr, pTab uintptr) uintptr { /* sqlite3.c:145650:23: */ +func Xsqlite3GetVTable(tls *libc.TLS, db uintptr, pTab uintptr) uintptr { /* sqlite3.c:145663:23: */ var pVtab uintptr for pVtab = *(*uintptr)(unsafe.Pointer(pTab + 64 + 16 /* &.p */)); pVtab != 0 && (*VTable)(unsafe.Pointer(pVtab)).Fdb != db; pVtab = (*VTable)(unsafe.Pointer(pVtab)).FpNext { @@ -141530,7 +141568,7 @@ func Xsqlite3GetVTable(tls *libc.TLS, db uintptr, pTab uintptr) uintptr { /* sql // Decrement the ref-count on a virtual table object. When the ref-count // reaches zero, call the xDisconnect() method to delete the object. -func Xsqlite3VtabUnlock(tls *libc.TLS, pVTab uintptr) { /* sqlite3.c:145661:21: */ +func Xsqlite3VtabUnlock(tls *libc.TLS, pVTab uintptr) { /* sqlite3.c:145674:21: */ var db uintptr = (*VTable)(unsafe.Pointer(pVTab)).Fdb (*VTable)(unsafe.Pointer(pVTab)).FnRef-- @@ -141551,7 +141589,7 @@ func Xsqlite3VtabUnlock(tls *libc.TLS, pVTab uintptr) { /* sqlite3.c:145661:21: // database connections to be disconnected at the next opportunity. // Except, if argument db is not NULL, then the entry associated with // connection db is left in the p->u.vtab.p list. -func vtabDisconnectAll(tls *libc.TLS, db uintptr, p uintptr) uintptr { /* sqlite3.c:145687:15: */ +func vtabDisconnectAll(tls *libc.TLS, db uintptr, p uintptr) uintptr { /* sqlite3.c:145700:15: */ var pRet uintptr = uintptr(0) var pVTable uintptr @@ -141588,7 +141626,7 @@ func vtabDisconnectAll(tls *libc.TLS, db uintptr, p uintptr) uintptr { /* sqlite // used when closing database connection db to free all of its VTable // objects without disturbing the rest of the Schema object (which may // be being used by other shared-cache connections). -func Xsqlite3VtabDisconnect(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:145730:21: */ +func Xsqlite3VtabDisconnect(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:145743:21: */ var ppVTab uintptr for ppVTab = p + 64 + 16; *(*uintptr)(unsafe.Pointer(ppVTab)) != 0; ppVTab = *(*uintptr)(unsafe.Pointer(ppVTab)) + 40 { @@ -141619,7 +141657,7 @@ func Xsqlite3VtabDisconnect(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c // // As a result, a sqlite3.pDisconnect cannot be accessed simultaneously // by multiple threads. It is thread-safe. -func Xsqlite3VtabUnlockList(tls *libc.TLS, db uintptr) { /* sqlite3.c:145768:21: */ +func Xsqlite3VtabUnlockList(tls *libc.TLS, db uintptr) { /* sqlite3.c:145781:21: */ var p uintptr = (*Sqlite3)(unsafe.Pointer(db)).FpDisconnect if p != 0 { @@ -141645,7 +141683,7 @@ func Xsqlite3VtabUnlockList(tls *libc.TLS, db uintptr) { /* sqlite3.c:145768:21: // structure being xDisconnected and free). Any other VTable structures // in the list are moved to the sqlite3.pDisconnect list of the associated // database connection. -func Xsqlite3VtabClear(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:145799:21: */ +func Xsqlite3VtabClear(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:145812:21: */ if !(db != 0) || (*Sqlite3)(unsafe.Pointer(db)).FpnBytesFreed == uintptr(0) { vtabDisconnectAll(tls, uintptr(0), p) @@ -141665,7 +141703,7 @@ func Xsqlite3VtabClear(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:1457 // The string is not copied - the pointer is stored. The // string will be freed automatically when the table is // deleted. -func addModuleArgument(tls *libc.TLS, pParse uintptr, pTable uintptr, zArg uintptr) { /* sqlite3.c:145817:13: */ +func addModuleArgument(tls *libc.TLS, pParse uintptr, pTable uintptr, zArg uintptr) { /* sqlite3.c:145830:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -141691,7 +141729,7 @@ func addModuleArgument(tls *libc.TLS, pParse uintptr, pTable uintptr, zArg uintp // The parser calls this routine when it first sees a CREATE VIRTUAL TABLE // statement. The module name has been parsed, but the optional list // of parameters that follow the module name are still pending. -func Xsqlite3VtabBeginParse(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 uintptr, pModuleName uintptr, ifNotExists int32) { /* sqlite3.c:145843:21: */ +func Xsqlite3VtabBeginParse(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 uintptr, pModuleName uintptr, ifNotExists int32) { /* sqlite3.c:145856:21: */ var pTable uintptr // The new virtual table var db uintptr // Database connection @@ -141726,7 +141764,7 @@ func Xsqlite3VtabBeginParse(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName // This routine takes the module argument that has been accumulating // in pParse->zArg[] and appends it to the list of arguments on the // virtual table currently under construction in pParse->pTable. -func addArgumentToVtab(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:145892:13: */ +func addArgumentToVtab(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:145905:13: */ if (*Parse)(unsafe.Pointer(pParse)).FsArg.Fz != 0 && (*Parse)(unsafe.Pointer(pParse)).FpNewTable != 0 { var z uintptr = (*Parse)(unsafe.Pointer(pParse)).FsArg.Fz var n int32 = int32((*Parse)(unsafe.Pointer(pParse)).FsArg.Fn) @@ -141737,7 +141775,7 @@ func addArgumentToVtab(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:145892:13: // The parser calls this routine after the CREATE VIRTUAL TABLE statement // has been completely parsed. -func Xsqlite3VtabFinishParse(tls *libc.TLS, pParse uintptr, pEnd uintptr) { /* sqlite3.c:145905:21: */ +func Xsqlite3VtabFinishParse(tls *libc.TLS, pParse uintptr, pEnd uintptr) { /* sqlite3.c:145918:21: */ bp := tls.Alloc(64) defer tls.Free(64) @@ -141821,7 +141859,7 @@ func Xsqlite3VtabFinishParse(tls *libc.TLS, pParse uintptr, pEnd uintptr) { /* s // The parser calls this routine when it sees the first token // of an argument to the module name in a CREATE VIRTUAL TABLE statement. -func Xsqlite3VtabArgInit(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:145988:21: */ +func Xsqlite3VtabArgInit(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:146001:21: */ addArgumentToVtab(tls, pParse) (*Parse)(unsafe.Pointer(pParse)).FsArg.Fz = uintptr(0) (*Parse)(unsafe.Pointer(pParse)).FsArg.Fn = uint32(0) @@ -141829,7 +141867,7 @@ func Xsqlite3VtabArgInit(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:145988:21 // The parser calls this routine for each token after the first token // in an argument to the module name in a CREATE VIRTUAL TABLE statement. -func Xsqlite3VtabArgExtend(tls *libc.TLS, pParse uintptr, p uintptr) { /* sqlite3.c:145998:21: */ +func Xsqlite3VtabArgExtend(tls *libc.TLS, pParse uintptr, p uintptr) { /* sqlite3.c:146011:21: */ var pArg uintptr = pParse + 368 if (*Token)(unsafe.Pointer(pArg)).Fz == uintptr(0) { (*Token)(unsafe.Pointer(pArg)).Fz = (*Token)(unsafe.Pointer(p)).Fz @@ -141843,7 +141881,7 @@ func Xsqlite3VtabArgExtend(tls *libc.TLS, pParse uintptr, p uintptr) { /* sqlite // Invoke a virtual table constructor (either xCreate or xConnect). The // 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) int32 { /* sqlite3.c:146014:12: */ +func vtabCallConstructor(tls *libc.TLS, db uintptr, pTab uintptr, pMod uintptr, xConstruct uintptr, pzErr uintptr) int32 { /* sqlite3.c:146027:12: */ bp := tls.Alloc(72) defer tls.Free(72) @@ -141979,7 +142017,7 @@ func vtabCallConstructor(tls *libc.TLS, db uintptr, pTab uintptr, pMod uintptr, // and an error left in pParse. // // This call is a no-op if table pTab is not a virtual table. -func Xsqlite3VtabCallConnect(tls *libc.TLS, pParse uintptr, pTab uintptr) int32 { /* sqlite3.c:146150:20: */ +func Xsqlite3VtabCallConnect(tls *libc.TLS, pParse uintptr, pTab uintptr) int32 { /* sqlite3.c:146163:20: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -142015,7 +142053,7 @@ func Xsqlite3VtabCallConnect(tls *libc.TLS, pParse uintptr, pTab uintptr) int32 // Grow the db->aVTrans[] array so that there is room for at least one // more v-table. Return SQLITE_NOMEM if a malloc fails, or SQLITE_OK otherwise. -func growVTrans(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:146186:12: */ +func growVTrans(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:146199:12: */ var ARRAY_INCR int32 = 5 // Grow the sqlite3.aVTrans array if required @@ -142035,7 +142073,7 @@ func growVTrans(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:146186:12: */ // Add the virtual table pVTab to the array sqlite3.aVTrans[]. Space should // have already been reserved using growVTrans(). -func addToVTrans(tls *libc.TLS, db uintptr, pVTab uintptr) { /* sqlite3.c:146209:13: */ +func addToVTrans(tls *libc.TLS, db uintptr, pVTab uintptr) { /* sqlite3.c:146222:13: */ // Add pVtab to the end of sqlite3.aVTrans *(*uintptr)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaVTrans + uintptr(libc.PostIncInt32(&(*Sqlite3)(unsafe.Pointer(db)).FnVTrans, 1))*8)) = pVTab Xsqlite3VtabLock(tls, pVTab) @@ -142047,7 +142085,7 @@ func addToVTrans(tls *libc.TLS, db uintptr, pVTab uintptr) { /* sqlite3.c:146209 // If an error occurs, *pzErr is set to point to an English language // description of the error and an SQLITE_XXX error code is returned. // In this case the caller must call sqlite3DbFree(db, ) on *pzErr. -func Xsqlite3VtabCallCreate(tls *libc.TLS, db uintptr, iDb int32, zTab uintptr, pzErr uintptr) int32 { /* sqlite3.c:146223:20: */ +func Xsqlite3VtabCallCreate(tls *libc.TLS, db uintptr, iDb int32, zTab uintptr, pzErr uintptr) int32 { /* sqlite3.c:146236:20: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -142087,7 +142125,7 @@ func Xsqlite3VtabCallCreate(tls *libc.TLS, db uintptr, iDb int32, zTab uintptr, // This function is used to set the schema of a virtual table. It is only // valid to call this function from within the xCreate() or xConnect() of a // virtual table module. -func Xsqlite3_declare_vtab(tls *libc.TLS, db uintptr, zCreateTable uintptr) int32 { /* sqlite3.c:146264:16: */ +func Xsqlite3_declare_vtab(tls *libc.TLS, db uintptr, zCreateTable uintptr) int32 { /* sqlite3.c:146277:16: */ bp := tls.Alloc(416) defer tls.Free(416) @@ -142103,12 +142141,13 @@ func Xsqlite3_declare_vtab(tls *libc.TLS, db uintptr, zCreateTable uintptr) int3 if !(pCtx != 0) || (*VtabCtx)(unsafe.Pointer(pCtx)).FbDeclared != 0 { Xsqlite3Error(tls, db, SQLITE_MISUSE) Xsqlite3_mutex_leave(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) - return Xsqlite3MisuseError(tls, 146281) + return Xsqlite3MisuseError(tls, 146294) } pTab = (*VtabCtx)(unsafe.Pointer(pCtx)).FpTab Xsqlite3ParseObjectInit(tls, bp+8, db) (*Parse)(unsafe.Pointer(bp + 8 /* &sParse */)).FeParseMode = U8(PARSE_MODE_DECLARE_VTAB) + (*Parse)(unsafe.Pointer(bp + 8 /* &sParse */)).FdisableTriggers = U8(1) // We should never be able to reach this point while loading the // schema. Nevertheless, defend against that (turn off db->init.busy) // in case a bug arises. @@ -142177,7 +142216,7 @@ func Xsqlite3_declare_vtab(tls *libc.TLS, db uintptr, zCreateTable uintptr) int3 // when a DROP TABLE is mentioned. // // This call is a no-op if zTab is not a virtual table. -func Xsqlite3VtabCallDestroy(tls *libc.TLS, db uintptr, iDb int32, zTab uintptr) int32 { /* sqlite3.c:146357:20: */ +func Xsqlite3VtabCallDestroy(tls *libc.TLS, db uintptr, iDb int32, zTab uintptr) int32 { /* sqlite3.c:146371:20: */ var rc int32 = SQLITE_OK var pTab uintptr @@ -142222,7 +142261,7 @@ func Xsqlite3VtabCallDestroy(tls *libc.TLS, db uintptr, iDb int32, zTab uintptr) // the offset of the method to call in the sqlite3_module structure. // // The array is cleared after invoking the callbacks. -func callFinaliser(tls *libc.TLS, db uintptr, offset int32) { /* sqlite3.c:146401:13: */ +func callFinaliser(tls *libc.TLS, db uintptr, offset int32) { /* sqlite3.c:146415:13: */ var i int32 if (*Sqlite3)(unsafe.Pointer(db)).FaVTrans != 0 { var aVTrans uintptr = (*Sqlite3)(unsafe.Pointer(db)).FaVTrans @@ -142252,7 +142291,7 @@ func callFinaliser(tls *libc.TLS, db uintptr, offset int32) { /* sqlite3.c:14640 // SQLITE_OK if all xSync operations are successful. // // If an error message is available, leave it in p->zErrMsg. -func Xsqlite3VtabSync(tls *libc.TLS, db uintptr, p uintptr) int32 { /* sqlite3.c:146429:20: */ +func Xsqlite3VtabSync(tls *libc.TLS, db uintptr, p uintptr) int32 { /* sqlite3.c:146443:20: */ var i int32 var rc int32 = SQLITE_OK var aVTrans uintptr = (*Sqlite3)(unsafe.Pointer(db)).FaVTrans @@ -142274,14 +142313,14 @@ func Xsqlite3VtabSync(tls *libc.TLS, db uintptr, p uintptr) int32 { /* sqlite3.c // Invoke the xRollback method of all virtual tables in the // sqlite3.aVTrans array. Then clear the array itself. -func Xsqlite3VtabRollback(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:146451:20: */ +func Xsqlite3VtabRollback(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:146465:20: */ callFinaliser(tls, db, int32(uintptr(0)+136)) return SQLITE_OK } // Invoke the xCommit method of all virtual tables in the // sqlite3.aVTrans array. Then clear the array itself. -func Xsqlite3VtabCommit(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:146460:20: */ +func Xsqlite3VtabCommit(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:146474:20: */ callFinaliser(tls, db, int32(uintptr(0)+128)) return SQLITE_OK } @@ -142292,7 +142331,7 @@ func Xsqlite3VtabCommit(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:146460:2 // // If the xBegin call is successful, place the sqlite3_vtab pointer // in the sqlite3.aVTrans array. -func Xsqlite3VtabBegin(tls *libc.TLS, db uintptr, pVTab uintptr) int32 { /* sqlite3.c:146473:20: */ +func Xsqlite3VtabBegin(tls *libc.TLS, db uintptr, pVTab uintptr) int32 { /* sqlite3.c:146487:20: */ var rc int32 = SQLITE_OK var pModule uintptr @@ -142353,7 +142392,7 @@ func Xsqlite3VtabBegin(tls *libc.TLS, db uintptr, pVTab uintptr) int32 { /* sqli // processing is abandoned and the error returned to the caller of this // function immediately. If all calls to virtual table methods are successful, // SQLITE_OK is returned. -func Xsqlite3VtabSavepoint(tls *libc.TLS, db uintptr, op int32, iSavepoint int32) int32 { /* sqlite3.c:146533:20: */ +func Xsqlite3VtabSavepoint(tls *libc.TLS, db uintptr, op int32, iSavepoint int32) int32 { /* sqlite3.c:146547:20: */ var rc int32 = SQLITE_OK if (*Sqlite3)(unsafe.Pointer(db)).FaVTrans != 0 { @@ -142401,7 +142440,7 @@ func Xsqlite3VtabSavepoint(tls *libc.TLS, db uintptr, op int32, iSavepoint int32 // Return either the pDef argument (indicating no change) or a // new FuncDef structure that is marked as ephemeral using the // SQLITE_FUNC_EPHEM flag. -func Xsqlite3VtabOverloadFunction(tls *libc.TLS, db uintptr, pDef uintptr, nArg int32, pExpr uintptr) uintptr { /* sqlite3.c:146581:24: */ +func Xsqlite3VtabOverloadFunction(tls *libc.TLS, db uintptr, pDef uintptr, nArg int32, pExpr uintptr) uintptr { /* sqlite3.c:146595:24: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -142468,7 +142507,7 @@ func Xsqlite3VtabOverloadFunction(tls *libc.TLS, db uintptr, pDef uintptr, nArg // array so that an OP_VBegin will get generated for it. Add pTab to the // array if it is missing. If pTab is already in the array, this routine // is a no-op. -func Xsqlite3VtabMakeWritable(tls *libc.TLS, pParse uintptr, pTab uintptr) { /* sqlite3.c:146651:21: */ +func Xsqlite3VtabMakeWritable(tls *libc.TLS, pParse uintptr, pTab uintptr) { /* sqlite3.c:146665:21: */ var pToplevel uintptr = func() uintptr { if (*Parse)(unsafe.Pointer(pParse)).FpToplevel != 0 { return (*Parse)(unsafe.Pointer(pParse)).FpToplevel @@ -142507,7 +142546,7 @@ func Xsqlite3VtabMakeWritable(tls *libc.TLS, pParse uintptr, pTab uintptr) { /* // // Any virtual table module for which xConnect and xCreate are the same // method can have an eponymous virtual table instance. -func Xsqlite3VtabEponymousTableInit(tls *libc.TLS, pParse uintptr, pMod uintptr) int32 { /* sqlite3.c:146685:20: */ +func Xsqlite3VtabEponymousTableInit(tls *libc.TLS, pParse uintptr, pMod uintptr) int32 { /* sqlite3.c:146699:20: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -142552,7 +142591,7 @@ func Xsqlite3VtabEponymousTableInit(tls *libc.TLS, pParse uintptr, pMod uintptr) // Erase the eponymous virtual table instance associated with // virtual table module pMod, if it exists. -func Xsqlite3VtabEponymousTableClear(tls *libc.TLS, db uintptr, pMod uintptr) { /* sqlite3.c:146723:21: */ +func Xsqlite3VtabEponymousTableClear(tls *libc.TLS, db uintptr, pMod uintptr) { /* sqlite3.c:146737:21: */ var pTab uintptr = (*Module)(unsafe.Pointer(pMod)).FpEpoTab if pTab != uintptr(0) { // Mark the table as Ephemeral prior to deleting it, so that the @@ -142569,19 +142608,19 @@ func Xsqlite3VtabEponymousTableClear(tls *libc.TLS, db uintptr, pMod uintptr) { // // The results of this routine are undefined unless it is called from // within an xUpdate method. -func Xsqlite3_vtab_on_conflict(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:146742:16: */ +func Xsqlite3_vtab_on_conflict(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:146756:16: */ return int32(aMap1[int32((*Sqlite3)(unsafe.Pointer(db)).FvtabOnConflict)-1]) } var aMap1 = [5]uint8{ uint8(SQLITE_ROLLBACK), uint8(SQLITE_ABORT), uint8(SQLITE_FAIL), uint8(SQLITE_IGNORE), uint8(SQLITE_REPLACE), -} /* sqlite3.c:146743:30 */ +} /* sqlite3.c:146757:30 */ // Call from within the xCreate() or xConnect() methods to provide // the SQLite core with additional information about the behavior // of the virtual table being implemented. -func Xsqlite3_vtab_config(tls *libc.TLS, db uintptr, op int32, va uintptr) int32 { /* sqlite3.c:146760:16: */ +func Xsqlite3_vtab_config(tls *libc.TLS, db uintptr, op int32, va uintptr) int32 { /* sqlite3.c:146774:16: */ var ap Va_list _ = ap var rc int32 = SQLITE_OK @@ -142590,7 +142629,7 @@ func Xsqlite3_vtab_config(tls *libc.TLS, db uintptr, op int32, va uintptr) int32 Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) p = (*Sqlite3)(unsafe.Pointer(db)).FpVtabCtx if !(p != 0) { - rc = Xsqlite3MisuseError(tls, 146771) + rc = Xsqlite3MisuseError(tls, 146785) } else { ap = va @@ -142618,7 +142657,7 @@ func Xsqlite3_vtab_config(tls *libc.TLS, db uintptr, op int32, va uintptr) int32 fallthrough default: { - rc = Xsqlite3MisuseError(tls, 146789) + rc = Xsqlite3MisuseError(tls, 146803) break } @@ -142722,23 +142761,23 @@ type WhereClause1 = struct { // a separate source file for easier editing. // Forward references -type WhereClause = WhereClause1 /* sqlite3.c:146849:28 */ +type WhereClause = WhereClause1 /* sqlite3.c:146863:28 */ type WhereMaskSet1 = struct { FbVarSelect int32 Fn int32 Fix [64]int32 } /* sqlite3.c:14626:9 */ -type WhereMaskSet = WhereMaskSet1 /* sqlite3.c:146850:29 */ +type WhereMaskSet = WhereMaskSet1 /* sqlite3.c:146864:29 */ type WhereOrInfo1 = struct { Fwc WhereClause Findexable Bitmask -} /* sqlite3.c:146851:9 */ +} /* sqlite3.c:146865:9 */ -type WhereOrInfo = WhereOrInfo1 /* sqlite3.c:146851:28 */ -type WhereAndInfo1 = struct{ Fwc WhereClause } /* sqlite3.c:146852:9 */ +type WhereOrInfo = WhereOrInfo1 /* sqlite3.c:146865:28 */ +type WhereAndInfo1 = struct{ Fwc WhereClause } /* sqlite3.c:146866:9 */ -type WhereAndInfo = WhereAndInfo1 /* sqlite3.c:146852:29 */ +type WhereAndInfo = WhereAndInfo1 /* sqlite3.c:146866:29 */ type WhereLevel1 = struct { FiLeftJoin int32 FiTabCur int32 @@ -142770,7 +142809,7 @@ type WhereLevel1 = struct { FnotReady Bitmask } /* sqlite3.c:14626:9 */ -type WhereLevel = WhereLevel1 /* sqlite3.c:146853:27 */ +type WhereLevel = WhereLevel1 /* sqlite3.c:146867:27 */ type WhereLoop1 = struct { Fprereq Bitmask FmaskSelf Bitmask @@ -142799,7 +142838,7 @@ type WhereLoop1 = struct { FaLTermSpace [3]uintptr } /* sqlite3.c:14626:9 */ -type WhereLoop = WhereLoop1 /* sqlite3.c:146854:26 */ +type WhereLoop = WhereLoop1 /* sqlite3.c:146868:26 */ type WherePath1 = struct { FmaskLoop Bitmask FrevLoop Bitmask @@ -142809,9 +142848,9 @@ type WherePath1 = struct { FisOrdered I8 F__ccgo_pad1 [1]byte FaLoop uintptr -} /* sqlite3.c:146855:9 */ +} /* sqlite3.c:146869:9 */ -type WherePath = WherePath1 /* sqlite3.c:146855:26 */ +type WherePath = WherePath1 /* sqlite3.c:146869:26 */ type WhereTerm1 = struct { FpExpr uintptr FpWC uintptr @@ -142833,7 +142872,7 @@ type WhereTerm1 = struct { FprereqAll Bitmask } /* sqlite3.c:14626:9 */ -type WhereTerm = WhereTerm1 /* sqlite3.c:146856:26 */ +type WhereTerm = WhereTerm1 /* sqlite3.c:146870:26 */ type WhereLoopBuilder1 = struct { FpWInfo uintptr FpWC uintptr @@ -142846,9 +142885,9 @@ type WhereLoopBuilder1 = struct { F__ccgo_pad1 [2]byte FiPlanLimit uint32 F__ccgo_pad2 [4]byte -} /* sqlite3.c:146857:9 */ +} /* sqlite3.c:146871:9 */ -type WhereLoopBuilder = WhereLoopBuilder1 /* sqlite3.c:146857:33 */ +type WhereLoopBuilder = WhereLoopBuilder1 /* sqlite3.c:146871:33 */ type WhereScan1 = struct { FpOrigWC uintptr FpWC uintptr @@ -142863,24 +142902,24 @@ type WhereScan1 = struct { FaiCur [11]int32 FaiColumn [11]I16 F__ccgo_pad2 [2]byte -} /* sqlite3.c:146858:9 */ +} /* sqlite3.c:146872:9 */ -type WhereScan = WhereScan1 /* sqlite3.c:146858:26 */ +type WhereScan = WhereScan1 /* sqlite3.c:146872:26 */ type WhereOrCost1 = struct { Fprereq Bitmask FrRun LogEst FnOut LogEst F__ccgo_pad1 [4]byte -} /* sqlite3.c:146857:9 */ +} /* sqlite3.c:146871:9 */ -type WhereOrCost = WhereOrCost1 /* sqlite3.c:146859:28 */ +type WhereOrCost = WhereOrCost1 /* sqlite3.c:146873:28 */ type WhereOrSet1 = struct { Fn U16 F__ccgo_pad1 [6]byte Fa [3]WhereOrCost -} /* sqlite3.c:146857:9 */ +} /* sqlite3.c:146871:9 */ -type WhereOrSet = WhereOrSet1 /* sqlite3.c:146860:27 */ +type WhereOrSet = WhereOrSet1 /* sqlite3.c:146874:27 */ // This object contains information needed to implement a single nested // loop in WHERE clause. @@ -142902,7 +142941,7 @@ type InLoop = struct { FnPrefix int32 FeEndLoopOp U8 F__ccgo_pad1 [3]byte -} /* sqlite3.c:146900:7 */ +} /* sqlite3.c:146914:7 */ // Allowed values for WhereLoopBuider.bldFlags @@ -142950,7 +142989,7 @@ type WhereExprMod1 = struct { // of an index rather than an expression or a virtual column. All // such transformations need to be undone at the end of WHERE clause // processing. -type WhereExprMod = WhereExprMod1 /* sqlite3.c:147262:29 */ +type WhereExprMod = WhereExprMod1 /* sqlite3.c:147276:29 */ // Bitmasks for the operators on WhereTerm objects. These are all // operators that are of interest to the query planner. An @@ -142972,7 +143011,7 @@ type WhereExprMod = WhereExprMod1 /* sqlite3.c:147262:29 */ //************* Continuing where we left off in wherecode.c ***************** // Return the name of the i-th column of the pIdx index. -func explainIndexColumnName(tls *libc.TLS, pIdx uintptr, i int32) uintptr { /* sqlite3.c:147456:19: */ +func explainIndexColumnName(tls *libc.TLS, pIdx uintptr, i int32) uintptr { /* sqlite3.c:147470:19: */ i = int32(*(*I16)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FaiColumn + uintptr(i)*2))) if i == -2 { return ts + 21824 /* "" */ @@ -142989,7 +143028,7 @@ func explainIndexColumnName(tls *libc.TLS, pIdx uintptr, i int32) uintptr { /* s // at a time. This routine adds a new term to the end of the expression. // Terms are separated by AND so add the "AND" text for second and subsequent // terms only. -func explainAppendTerm(tls *libc.TLS, pStr uintptr, pIdx uintptr, nTerm int32, iTerm int32, bAnd int32, zOp uintptr) { /* sqlite3.c:147471:13: */ +func explainAppendTerm(tls *libc.TLS, pStr uintptr, pIdx uintptr, nTerm int32, iTerm int32, bAnd int32, zOp uintptr) { /* sqlite3.c:147485:13: */ var i int32 if bAnd != 0 { @@ -143037,7 +143076,7 @@ func explainAppendTerm(tls *libc.TLS, pStr uintptr, pIdx uintptr, nTerm int32, i // string similar to: // // "a=? AND b>?" -func explainIndexRange(tls *libc.TLS, pStr uintptr, pLoop uintptr) { /* sqlite3.c:147515:13: */ +func explainIndexRange(tls *libc.TLS, pStr uintptr, pLoop uintptr) { /* sqlite3.c:147529:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -143082,7 +143121,7 @@ func explainIndexRange(tls *libc.TLS, pStr uintptr, pLoop uintptr) { /* sqlite3. // // If an OP_Explain opcode is added to the VM, its address is returned. // Otherwise, if no OP_Explain is coded, zero is returned. -func Xsqlite3WhereExplainOneScan(tls *libc.TLS, pParse uintptr, pTabList uintptr, pLevel uintptr, wctrlFlags U16) int32 { /* sqlite3.c:147549:20: */ +func Xsqlite3WhereExplainOneScan(tls *libc.TLS, pParse uintptr, pTabList uintptr, pLevel uintptr, wctrlFlags U16) int32 { /* sqlite3.c:147563:20: */ bp := tls.Alloc(196) defer tls.Free(196) @@ -143183,7 +143222,7 @@ func Xsqlite3WhereExplainOneScan(tls *libc.TLS, pParse uintptr, pTabList uintptr // // If an OP_Explain opcode is added to the VM, its address is returned. // Otherwise, if no OP_Explain is coded, zero is returned. -func Xsqlite3WhereExplainBloomFilter(tls *libc.TLS, pParse uintptr, pWInfo uintptr, pLevel uintptr) int32 { /* sqlite3.c:147661:20: */ +func Xsqlite3WhereExplainBloomFilter(tls *libc.TLS, pParse uintptr, pWInfo uintptr, pLevel uintptr) int32 { /* sqlite3.c:147675:20: */ bp := tls.Alloc(156) defer tls.Free(156) @@ -143266,7 +143305,7 @@ func Xsqlite3WhereExplainBloomFilter(tls *libc.TLS, pParse uintptr, pWInfo uintp // The TERM_LIKECOND marking indicates that the term should be coded inside // a conditional such that is only evaluated on the second pass of a // LIKE-optimization loop, when scanning BLOBs instead of strings. -func disableTerm(tls *libc.TLS, pLevel uintptr, pTerm uintptr) { /* sqlite3.c:147774:13: */ +func disableTerm(tls *libc.TLS, pLevel uintptr, pTerm uintptr) { /* sqlite3.c:147788:13: */ var nLoop int32 = 0 for int32((*WhereTerm)(unsafe.Pointer(pTerm)).FwtFlags)&TERM_CODED == 0 && @@ -143299,7 +143338,7 @@ func disableTerm(tls *libc.TLS, pLevel uintptr, pTerm uintptr) { /* sqlite3.c:14 // // This routine makes its own copy of zAff so that the caller is free // to modify zAff after this routine returns. -func codeApplyAffinity(tls *libc.TLS, pParse uintptr, base int32, n int32, zAff uintptr) { /* sqlite3.c:147812:13: */ +func codeApplyAffinity(tls *libc.TLS, pParse uintptr, base int32, n int32, zAff uintptr) { /* sqlite3.c:147826:13: */ var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe if zAff == uintptr(0) { @@ -143332,7 +143371,7 @@ func codeApplyAffinity(tls *libc.TLS, pParse uintptr, base int32, n int32, zAff // // * the comparison will be performed with no affinity, or // * the affinity change in zAff is guaranteed not to change the value. -func updateRangeAffinityStr(tls *libc.TLS, pRight uintptr, n int32, zAff uintptr) { /* sqlite3.c:147849:13: */ +func updateRangeAffinityStr(tls *libc.TLS, pRight uintptr, n int32, zAff uintptr) { /* sqlite3.c:147863:13: */ var i int32 for i = 0; i < n; i++ { var p uintptr = Xsqlite3VectorFieldSubexpr(tls, pRight, i) @@ -143370,7 +143409,7 @@ func updateRangeAffinityStr(tls *libc.TLS, pRight uintptr, n int32, zAff uintptr // The reduced pX is different from the original (obviously) and thus is // only used for indexing, to improve performance. The original unaltered // IN expression must also be run on each output row for correctness. -func removeUnindexableInClauseTerms(tls *libc.TLS, pParse uintptr, iEq int32, pLoop uintptr, pX uintptr) uintptr { /* sqlite3.c:147895:13: */ +func removeUnindexableInClauseTerms(tls *libc.TLS, pParse uintptr, iEq int32, pLoop uintptr, pX uintptr) uintptr { /* sqlite3.c:147909:13: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb var pNew uintptr pNew = Xsqlite3ExprDup(tls, db, pX, 0) @@ -143445,7 +143484,7 @@ func removeUnindexableInClauseTerms(tls *libc.TLS, pParse uintptr, iEq int32, pL // For a constraint of the form X=expr, the expression is evaluated in // straight-line code. For constraints of the form X IN (...) // this routine sets up a loop that will iterate over all values of X. -func codeEqualityTerm(tls *libc.TLS, pParse uintptr, pTerm uintptr, pLevel uintptr, iEq int32, bRev int32, iTarget int32) int32 { /* sqlite3.c:147984:12: */ +func codeEqualityTerm(tls *libc.TLS, pParse uintptr, pTerm uintptr, pLevel uintptr, iEq int32, bRev int32, iTarget int32) int32 { /* sqlite3.c:147998:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -143638,7 +143677,7 @@ func codeEqualityTerm(tls *libc.TLS, pParse uintptr, pTerm uintptr, pLevel uintp // no conversion should be attempted before using a t2.b value as part of // a key to search the index. Hence the first byte in the returned affinity // string in this example would be set to SQLITE_AFF_BLOB. -func codeAllEqualityTerms(tls *libc.TLS, pParse uintptr, pLevel uintptr, bRev int32, nExtraReg int32, pzAff uintptr) int32 { /* sqlite3.c:148180:12: */ +func codeAllEqualityTerms(tls *libc.TLS, pParse uintptr, pLevel uintptr, bRev int32, nExtraReg int32, pzAff uintptr) int32 { /* sqlite3.c:148194:12: */ var nEq U16 // The number of == or IN constraints to code var nSkip U16 // Number of left-most columns to skip var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe // The vm under construction @@ -143759,7 +143798,7 @@ func codeAllEqualityTerms(tls *libc.TLS, pParse uintptr, pLevel uintptr, bRev in // on. For each table column, if the column is the i'th column of the // index, then the corresponding array entry is set to (i+1). If the column // does not appear in the index at all, the array entry is set to 0. -func codeDeferredSeek(tls *libc.TLS, pWInfo uintptr, pIdx uintptr, iCur int32, iIdxCur int32) { /* sqlite3.c:148558:13: */ +func codeDeferredSeek(tls *libc.TLS, pWInfo uintptr, pIdx uintptr, iCur int32, iIdxCur int32) { /* sqlite3.c:148572:13: */ var pParse uintptr = (*WhereInfo)(unsafe.Pointer(pWInfo)).FpParse // Parse context var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe // Vdbe to generate code within @@ -143800,7 +143839,7 @@ func codeDeferredSeek(tls *libc.TLS, pWInfo uintptr, pIdx uintptr, iCur int32, i // If the expression is not a vector, then nReg must be passed 1. In // this case, generate code to evaluate the expression and leave the // result in register iReg. -func codeExprOrVector(tls *libc.TLS, pParse uintptr, p uintptr, iReg int32, nReg int32) { /* sqlite3.c:148602:13: */ +func codeExprOrVector(tls *libc.TLS, pParse uintptr, p uintptr, iReg int32, nReg int32) { /* sqlite3.c:148616:13: */ if p != 0 && Xsqlite3ExprIsVector(tls, p) != 0 { if (*Expr)(unsafe.Pointer(p)).Fflags&U32(EP_xIsSelect) != U32(0) { @@ -143828,10 +143867,10 @@ func codeExprOrVector(tls *libc.TLS, pParse uintptr, p uintptr, iReg int32, nReg // An instance of the IdxExprTrans object carries information about a // mapping from an expression on table columns into a column in an index // down through the Walker. -type IdxExprTrans = IdxExprTrans1 /* sqlite3.c:148642:3 */ +type IdxExprTrans = IdxExprTrans1 /* sqlite3.c:148656:3 */ // Preserve pExpr on the WhereETrans list of the WhereInfo. -func preserveExpr(tls *libc.TLS, pTrans uintptr, pExpr uintptr) { /* sqlite3.c:148647:13: */ +func preserveExpr(tls *libc.TLS, pTrans uintptr, pExpr uintptr) { /* sqlite3.c:148661:13: */ var pNew uintptr pNew = Xsqlite3DbMallocRaw(tls, (*IdxExprTrans)(unsafe.Pointer(pTrans)).Fdb, uint64(unsafe.Sizeof(WhereExprMod{}))) if pNew == uintptr(0) { @@ -143848,7 +143887,7 @@ func preserveExpr(tls *libc.TLS, pTrans uintptr, pExpr uintptr) { /* sqlite3.c:1 // // If pExpr matches, then transform it into a reference to the index column // that contains the value of pExpr. -func whereIndexExprTransNode(tls *libc.TLS, p uintptr, pExpr uintptr) int32 { /* sqlite3.c:148663:12: */ +func whereIndexExprTransNode(tls *libc.TLS, p uintptr, pExpr uintptr) int32 { /* sqlite3.c:148677:12: */ var pX uintptr = *(*uintptr)(unsafe.Pointer(p + 40)) if Xsqlite3ExprCompare(tls, uintptr(0), pExpr, (*IdxExprTrans)(unsafe.Pointer(pX)).FpIdxExpr, (*IdxExprTrans)(unsafe.Pointer(pX)).FiTabCur) == 0 { preserveExpr(tls, pX, pExpr) @@ -143868,7 +143907,7 @@ func whereIndexExprTransNode(tls *libc.TLS, p uintptr, pExpr uintptr) int32 { /* // A walker node callback that translates a column reference to a table // into a corresponding column reference of an index. -func whereIndexExprTransColumn(tls *libc.TLS, p uintptr, pExpr uintptr) int32 { /* sqlite3.c:148685:12: */ +func whereIndexExprTransColumn(tls *libc.TLS, p uintptr, pExpr uintptr) int32 { /* sqlite3.c:148699:12: */ if int32((*Expr)(unsafe.Pointer(pExpr)).Fop) == TK_COLUMN { var pX uintptr = *(*uintptr)(unsafe.Pointer(p + 40)) if (*Expr)(unsafe.Pointer(pExpr)).FiTable == (*IdxExprTrans)(unsafe.Pointer(pX)).FiTabCur && int32((*Expr)(unsafe.Pointer(pExpr)).FiColumn) == (*IdxExprTrans)(unsafe.Pointer(pX)).FiTabCol { @@ -143890,7 +143929,7 @@ func whereIndexExprTransColumn(tls *libc.TLS, p uintptr, pExpr uintptr) int32 { // 2019-10-24: Updated to also translate references to a VIRTUAL column in // the table into references to the corresponding (stored) column of the // index. -func whereIndexExprTrans(tls *libc.TLS, pIdx uintptr, iTabCur int32, iIdxCur int32, pWInfo uintptr) { /* sqlite3.c:148710:13: */ +func whereIndexExprTrans(tls *libc.TLS, pIdx uintptr, iTabCur int32, iIdxCur int32, pWInfo uintptr) { /* sqlite3.c:148724:13: */ bp := tls.Alloc(88) defer tls.Free(88) @@ -143955,7 +143994,7 @@ func whereIndexExprTrans(tls *libc.TLS, pIdx uintptr, iTabCur int32, iIdxCur int // WHERE clause terms on the query, and if any of those terms must be // true because pTruth is true, then mark those WHERE clause terms as // coded. -func whereApplyPartialIndexConstraints(tls *libc.TLS, pTruth uintptr, iTabCur int32, pWC uintptr) { /* sqlite3.c:148774:13: */ +func whereApplyPartialIndexConstraints(tls *libc.TLS, pTruth uintptr, iTabCur int32, pWC uintptr) { /* sqlite3.c:148788:13: */ var i int32 var pTerm uintptr for int32((*Expr)(unsafe.Pointer(pTruth)).Fop) == TK_AND { @@ -144001,7 +144040,7 @@ __3: // WhereLevel.regFilter set. If an inner-loop Bloom filter is checked, // then clear the WhereLevel.regFilter value to prevent the Bloom filter // from being checked a second time when the inner loop is evaluated. -func filterPullDown(tls *libc.TLS, pParse uintptr, pWInfo uintptr, iLevel int32, addrNxt int32, notReady Bitmask) { /* sqlite3.c:148810:29: */ +func filterPullDown(tls *libc.TLS, pParse uintptr, pWInfo uintptr, iLevel int32, addrNxt int32, notReady Bitmask) { /* sqlite3.c:148824:29: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -144046,7 +144085,7 @@ func filterPullDown(tls *libc.TLS, pParse uintptr, pWInfo uintptr, iLevel int32, // Generate code for the start of the iLevel-th loop in the WHERE clause // implementation described by pWInfo. -func Xsqlite3WhereCodeOneLoopStart(tls *libc.TLS, pParse uintptr, v uintptr, pWInfo uintptr, iLevel int32, pLevel uintptr, notReady Bitmask) Bitmask { /* sqlite3.c:148858:24: */ +func Xsqlite3WhereCodeOneLoopStart(tls *libc.TLS, pParse uintptr, v uintptr, pWInfo uintptr, iLevel int32, pLevel uintptr, notReady Bitmask) Bitmask { /* sqlite3.c:148872:24: */ bp := tls.Alloc(96) defer tls.Free(96) @@ -145276,24 +145315,24 @@ var aStartOp = [8]U8{ U8(OP_SeekLT), // 5: (start_constraints && !startEq && bRev) U8(OP_SeekGE), // 6: (start_constraints && startEq && !bRev) U8(OP_SeekLE), // 7: (start_constraints && startEq && bRev) -} /* sqlite3.c:149238:21 */ +} /* sqlite3.c:149252:21 */ var aEndOp = [4]U8{ U8(OP_IdxGE), // 0: (end_constraints && !bRev && !endEq) U8(OP_IdxGT), // 1: (end_constraints && !bRev && endEq) U8(OP_IdxLE), // 2: (end_constraints && bRev && !endEq) U8(OP_IdxLT), // 3: (end_constraints && bRev && endEq) -} /* sqlite3.c:149248:21 */ -var aStep = [2]U8{U8(OP_Next), U8(OP_Prev)} /* sqlite3.c:149966:21 */ -var aStart = [2]U8{U8(OP_Rewind), U8(OP_Last)} /* sqlite3.c:149967:21 */ +} /* sqlite3.c:149262:21 */ +var aStep = [2]U8{U8(OP_Next), U8(OP_Prev)} /* sqlite3.c:149980:21 */ +var aStart = [2]U8{U8(OP_Rewind), U8(OP_Last)} /* sqlite3.c:149981:21 */ // Deallocate all memory associated with a WhereOrInfo object. -func whereOrInfoDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:150176:13: */ +func whereOrInfoDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:150190:13: */ Xsqlite3WhereClauseClear(tls, p) Xsqlite3DbFree(tls, db, p) } // Deallocate all memory associated with a WhereAndInfo object. -func whereAndInfoDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:150184:13: */ +func whereAndInfoDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:150198:13: */ Xsqlite3WhereClauseClear(tls, p) Xsqlite3DbFree(tls, db, p) } @@ -145315,7 +145354,7 @@ func whereAndInfoDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:150 // WhereTerms. All pointers to WhereTerms should be invalidated after // calling this routine. Such pointers may be reinitialized by referencing // the pWC->a[] array. -func whereClauseInsert(tls *libc.TLS, pWC uintptr, p uintptr, wtFlags U16) int32 { /* sqlite3.c:150208:12: */ +func whereClauseInsert(tls *libc.TLS, pWC uintptr, p uintptr, wtFlags U16) int32 { /* sqlite3.c:150222:12: */ var pTerm uintptr var idx int32 @@ -145356,14 +145395,14 @@ func whereClauseInsert(tls *libc.TLS, pWC uintptr, p uintptr, wtFlags U16) int32 // Return TRUE if the given operator is one of the operators that is // allowed for an indexable WHERE clause term. The allowed operators are // "=", "<", ">", "<=", ">=", "IN", "IS", and "IS NULL" -func allowedOp(tls *libc.TLS, op int32) int32 { /* sqlite3.c:150250:12: */ +func allowedOp(tls *libc.TLS, op int32) int32 { /* sqlite3.c:150264:12: */ return libc.Bool32(op == TK_IN || op >= TK_EQ && op <= TK_GE || op == TK_ISNULL || op == TK_IS) } // Commute a comparison operator. Expressions of the form "X op Y" // are converted into "Y op X". -func exprCommute(tls *libc.TLS, pParse uintptr, pExpr uintptr) U16 { /* sqlite3.c:150262:12: */ +func exprCommute(tls *libc.TLS, pParse uintptr, pExpr uintptr) U16 { /* sqlite3.c:150276:12: */ if int32((*Expr)(unsafe.Pointer((*Expr)(unsafe.Pointer(pExpr)).FpLeft)).Fop) == TK_VECTOR || int32((*Expr)(unsafe.Pointer((*Expr)(unsafe.Pointer(pExpr)).FpRight)).Fop) == TK_VECTOR || Xsqlite3BinaryCompareCollSeq(tls, pParse, (*Expr)(unsafe.Pointer(pExpr)).FpLeft, (*Expr)(unsafe.Pointer(pExpr)).FpRight) != Xsqlite3BinaryCompareCollSeq(tls, pParse, (*Expr)(unsafe.Pointer(pExpr)).FpRight, (*Expr)(unsafe.Pointer(pExpr)).FpLeft) { @@ -145383,7 +145422,7 @@ func exprCommute(tls *libc.TLS, pParse uintptr, pExpr uintptr) U16 { /* sqlite3. } // Translate from TK_xx operator to WO_xx bitmask. -func operatorMask(tls *libc.TLS, op int32) U16 { /* sqlite3.c:150285:12: */ +func operatorMask(tls *libc.TLS, op int32) U16 { /* sqlite3.c:150299:12: */ var c U16 if op == TK_IN { @@ -145410,7 +145449,7 @@ func operatorMask(tls *libc.TLS, op int32) U16 { /* sqlite3.c:150285:12: */ // that virtual tables cannot participate in the LIKE optimization.) The // collating sequence for the column on the LHS must be appropriate for // the operator. -func isLikeOrGlob(tls *libc.TLS, pParse uintptr, pExpr uintptr, ppPrefix uintptr, pisComplete uintptr, pnoCase uintptr) int32 { /* sqlite3.c:150323:12: */ +func isLikeOrGlob(tls *libc.TLS, pParse uintptr, pExpr uintptr, ppPrefix uintptr, pisComplete uintptr, pnoCase uintptr) int32 { /* sqlite3.c:150337:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -145582,7 +145621,7 @@ func isLikeOrGlob(tls *libc.TLS, pParse uintptr, pExpr uintptr, ppPrefix uintptr // of virtual table in forms (5) or (7) then return 2. // // If the expression matches none of the patterns above, return 0. -func isAuxiliaryVtabOperator(tls *libc.TLS, db uintptr, pExpr uintptr, peOp2 uintptr, ppLeft uintptr, ppRight uintptr) int32 { /* sqlite3.c:150502:12: */ +func isAuxiliaryVtabOperator(tls *libc.TLS, db uintptr, pExpr uintptr, peOp2 uintptr, ppLeft uintptr, ppRight uintptr) int32 { /* sqlite3.c:150516:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -145687,18 +145726,18 @@ type Op2 = struct { FzOp uintptr FeOp2 uint8 F__ccgo_pad1 [7]byte -} /* sqlite3.c:150510:18 */ +} /* sqlite3.c:150524:18 */ var aOp = [4]Op2{ {FzOp: ts + 16429, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_MATCH)}, {FzOp: ts + 15748, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_GLOB)}, {FzOp: ts + 15274, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_LIKE)}, {FzOp: ts + 22096, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_REGEXP)}, -} /* sqlite3.c:150513:7 */ +} /* sqlite3.c:150527:7 */ // If the pBase expression originated in the ON or USING clause of // a join, then transfer the appropriate markings over to derived. -func transferJoinMarkings(tls *libc.TLS, pDerived uintptr, pBase uintptr) { /* sqlite3.c:150614:13: */ +func transferJoinMarkings(tls *libc.TLS, pDerived uintptr, pBase uintptr) { /* sqlite3.c:150628:13: */ if pDerived != 0 { *(*U32)(unsafe.Pointer(pDerived + 4)) |= (*Expr)(unsafe.Pointer(pBase)).Fflags & U32(EP_FromJoin) *(*int32)(unsafe.Pointer(pDerived + 52)) = *(*int32)(unsafe.Pointer(pBase + 52)) @@ -145706,7 +145745,7 @@ func transferJoinMarkings(tls *libc.TLS, pDerived uintptr, pBase uintptr) { /* s } // Mark term iChild as being a child of term iParent -func markTermAsChild(tls *libc.TLS, pWC uintptr, iChild int32, iParent int32) { /* sqlite3.c:150624:13: */ +func markTermAsChild(tls *libc.TLS, pWC uintptr, iChild int32, iParent int32) { /* sqlite3.c:150638:13: */ (*WhereTerm)(unsafe.Pointer((*WhereClause)(unsafe.Pointer(pWC)).Fa + uintptr(iChild)*56)).FiParent = iParent (*WhereTerm)(unsafe.Pointer((*WhereClause)(unsafe.Pointer(pWC)).Fa + uintptr(iChild)*56)).FtruthProb = (*WhereTerm)(unsafe.Pointer((*WhereClause)(unsafe.Pointer(pWC)).Fa + uintptr(iParent)*56)).FtruthProb (*WhereTerm)(unsafe.Pointer((*WhereClause)(unsafe.Pointer(pWC)).Fa+uintptr(iParent)*56)).FnChild++ @@ -145715,7 +145754,7 @@ func markTermAsChild(tls *libc.TLS, pWC uintptr, iChild int32, iParent int32) { // Return the N-th AND-connected subterm of pTerm. Or if pTerm is not // a conjunction, then return just pTerm when N==0. If N is exceeds // the number of available subterms, return NULL. -func whereNthSubterm(tls *libc.TLS, pTerm uintptr, N int32) uintptr { /* sqlite3.c:150635:18: */ +func whereNthSubterm(tls *libc.TLS, pTerm uintptr, N int32) uintptr { /* sqlite3.c:150649:18: */ if int32((*WhereTerm)(unsafe.Pointer(pTerm)).FeOperator) != WO_AND { if N == 0 { return pTerm @@ -145746,7 +145785,7 @@ func whereNthSubterm(tls *libc.TLS, pTerm uintptr, N int32) uintptr { /* sqlite3 // The following is NOT generated: // // xy --> x!=y -func whereCombineDisjuncts(tls *libc.TLS, pSrc uintptr, pWC uintptr, pOne uintptr, pTwo uintptr) { /* sqlite3.c:150665:13: */ +func whereCombineDisjuncts(tls *libc.TLS, pSrc uintptr, pWC uintptr, pOne uintptr, pTwo uintptr) { /* sqlite3.c:150679:13: */ var eOp U16 = U16(int32((*WhereTerm)(unsafe.Pointer(pOne)).FeOperator) | int32((*WhereTerm)(unsafe.Pointer(pTwo)).FeOperator)) var db uintptr // Database connection (for malloc) var pNew uintptr // New virtual expression @@ -145879,7 +145918,7 @@ func whereCombineDisjuncts(tls *libc.TLS, pSrc uintptr, pWC uintptr, pOne uintpt // // If none of cases 1, 2, or 3 apply, then leave the eOperator set to // zero. This term is not useful for search. -func exprAnalyzeOrTerm(tls *libc.TLS, pSrc uintptr, pWC uintptr, idxTerm int32) { /* sqlite3.c:150792:13: */ +func exprAnalyzeOrTerm(tls *libc.TLS, pSrc uintptr, pWC uintptr, idxTerm int32) { /* sqlite3.c:150806:13: */ var pWInfo uintptr = (*WhereClause)(unsafe.Pointer(pWC)).FpWInfo // WHERE clause processing context var pParse uintptr = (*WhereInfo)(unsafe.Pointer(pWInfo)).FpParse // Parser context var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb // Database connection @@ -146198,7 +146237,7 @@ __3: // for the LHS anyplace else in the WHERE clause where the LHS column occurs. // This is an optimization. No harm comes from returning 0. But if 1 is // returned when it should not be, then incorrect answers might result. -func termIsEquivalence(tls *libc.TLS, pParse uintptr, pExpr uintptr) int32 { /* sqlite3.c:151066:12: */ +func termIsEquivalence(tls *libc.TLS, pParse uintptr, pExpr uintptr) int32 { /* sqlite3.c:151080:12: */ var aff1 int8 var aff2 int8 var pColl uintptr @@ -146227,7 +146266,7 @@ func termIsEquivalence(tls *libc.TLS, pParse uintptr, pExpr uintptr) int32 { /* // Recursively walk the expressions of a SELECT statement and generate // a bitmask indicating which tables are used in that expression // tree. -func exprSelectUsage(tls *libc.TLS, pMaskSet uintptr, pS uintptr) Bitmask { /* sqlite3.c:151089:16: */ +func exprSelectUsage(tls *libc.TLS, pMaskSet uintptr, pS uintptr) Bitmask { /* sqlite3.c:151103:16: */ var mask Bitmask = uint64(0) for pS != 0 { var pSrc uintptr = (*Select)(unsafe.Pointer(pS)).FpSrc @@ -146262,7 +146301,7 @@ func exprSelectUsage(tls *libc.TLS, pMaskSet uintptr, pS uintptr) Bitmask { /* s // If pExpr is a TK_COLUMN column reference, then this routine always returns // true even if that particular column is not indexed, because the column // might be added to an automatic index later. -func exprMightBeIndexed2(tls *libc.TLS, pFrom uintptr, mPrereq Bitmask, aiCurCol uintptr, pExpr uintptr) int32 { /* sqlite3.c:151126:28: */ +func exprMightBeIndexed2(tls *libc.TLS, pFrom uintptr, mPrereq Bitmask, aiCurCol uintptr, pExpr uintptr) int32 { /* sqlite3.c:151140:28: */ var pIdx uintptr var i int32 var iCur int32 @@ -146300,7 +146339,7 @@ __3: return 0 } -func exprMightBeIndexed(tls *libc.TLS, pFrom uintptr, mPrereq Bitmask, aiCurCol uintptr, pExpr uintptr, op int32) int32 { /* sqlite3.c:151150:12: */ +func exprMightBeIndexed(tls *libc.TLS, pFrom uintptr, mPrereq Bitmask, aiCurCol uintptr, pExpr uintptr, op int32) int32 { /* sqlite3.c:151164:12: */ // If this expression is a vector to the left or right of a // inequality constraint (>, <, >= or <=), perform the processing // on the first element of the vector. @@ -146341,7 +146380,7 @@ func exprMightBeIndexed(tls *libc.TLS, pFrom uintptr, mPrereq Bitmask, aiCurCol // needs to be freed with the WhereClause) and TERM_VIRTUAL (because it // is a commuted copy of a prior term.) The original term has nChild=1 // and the copy has idxParent set to the index of the original term. -func exprAnalyze(tls *libc.TLS, pSrc uintptr, pWC uintptr, idxTerm int32) { /* sqlite3.c:151198:13: */ +func exprAnalyze(tls *libc.TLS, pSrc uintptr, pWC uintptr, idxTerm int32) { /* sqlite3.c:151212:13: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -146709,7 +146748,7 @@ func exprAnalyze(tls *libc.TLS, pSrc uintptr, pWC uintptr, idxTerm int32) { /* s *(*Bitmask)(unsafe.Pointer(pTerm + 40)) |= extraRight } -var ops = [2]U8{U8(TK_GE), U8(TK_LE)} /* sqlite3.c:151367:21 */ +var ops = [2]U8{U8(TK_GE), U8(TK_LE)} /* sqlite3.c:151381:21 */ // ************************************************************************** // @@ -146732,7 +146771,7 @@ var ops = [2]U8{U8(TK_GE), U8(TK_LE)} /* sqlite3.c:151367:21 */ // In the previous sentence and in the diagram, "slot[]" refers to // the WhereClause.a[] array. The slot[] array grows as needed to contain // all terms of the WHERE clause. -func Xsqlite3WhereSplit(tls *libc.TLS, pWC uintptr, pExpr uintptr, op U8) { /* sqlite3.c:151663:21: */ +func Xsqlite3WhereSplit(tls *libc.TLS, pWC uintptr, pExpr uintptr, op U8) { /* sqlite3.c:151677:21: */ var pE2 uintptr = Xsqlite3ExprSkipCollateAndLikely(tls, pExpr) (*WhereClause)(unsafe.Pointer(pWC)).Fop = op @@ -146756,7 +146795,7 @@ func Xsqlite3WhereSplit(tls *libc.TLS, pWC uintptr, pExpr uintptr, op U8) { /* s // (example: "LIMIT 5 OFFSET 10") then the expression codes as a // TK_INTEGER so that it will be available to sqlite3_vtab_rhs_value(). // If not, then it codes as a TK_REGISTER expression. -func whereAddLimitExpr(tls *libc.TLS, pWC uintptr, iReg int32, pExpr uintptr, iCsr int32, eMatchOp int32) { /* sqlite3.c:151687:13: */ +func whereAddLimitExpr(tls *libc.TLS, pWC uintptr, iReg int32, pExpr uintptr, iCsr int32, eMatchOp int32) { /* sqlite3.c:151701:13: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -146808,7 +146847,7 @@ func whereAddLimitExpr(tls *libc.TLS, pWC uintptr, iReg int32, pExpr uintptr, iC // LIMIT and OFFSET terms are ignored by most of the planner code. They // exist only so that they may be passed to the xBestIndex method of the // single virtual table in the FROM clause of the SELECT. -func Xsqlite3WhereAddLimit(tls *libc.TLS, pWC uintptr, p uintptr) { /* sqlite3.c:151740:21: */ +func Xsqlite3WhereAddLimit(tls *libc.TLS, pWC uintptr, p uintptr) { /* sqlite3.c:151754:21: */ if p != 0 && (*Select)(unsafe.Pointer(p)).FpLimit != 0 && (*Select)(unsafe.Pointer(p)).FselFlags&U32(SF_Distinct|SF_Aggregate) == U32(0) && @@ -146858,7 +146897,7 @@ func Xsqlite3WhereAddLimit(tls *libc.TLS, pWC uintptr, p uintptr) { /* sqlite3.c } // Initialize a preallocated WhereClause structure. -func Xsqlite3WhereClauseInit(tls *libc.TLS, pWC uintptr, pWInfo uintptr) { /* sqlite3.c:151786:21: */ +func Xsqlite3WhereClauseInit(tls *libc.TLS, pWC uintptr, pWInfo uintptr) { /* sqlite3.c:151800:21: */ (*WhereClause)(unsafe.Pointer(pWC)).FpWInfo = pWInfo (*WhereClause)(unsafe.Pointer(pWC)).FhasOr = U8(0) (*WhereClause)(unsafe.Pointer(pWC)).FpOuter = uintptr(0) @@ -146871,7 +146910,7 @@ func Xsqlite3WhereClauseInit(tls *libc.TLS, pWC uintptr, pWInfo uintptr) { /* sq // Deallocate a WhereClause structure. The WhereClause structure // itself is not freed. This routine is the inverse of // sqlite3WhereClauseInit(). -func Xsqlite3WhereClauseClear(tls *libc.TLS, pWC uintptr) { /* sqlite3.c:151804:21: */ +func Xsqlite3WhereClauseClear(tls *libc.TLS, pWC uintptr) { /* sqlite3.c:151818:21: */ var db uintptr = (*Parse)(unsafe.Pointer((*WhereInfo)(unsafe.Pointer((*WhereClause)(unsafe.Pointer(pWC)).FpWInfo)).FpParse)).Fdb if (*WhereClause)(unsafe.Pointer(pWC)).FnTerm > 0 { @@ -146931,7 +146970,7 @@ func Xsqlite3WhereClauseClear(tls *libc.TLS, pWC uintptr) { /* sqlite3.c:151804: // computations done by this routine are broken out into a separate // "no-inline" function to avoid the stack push overhead in the // common case where it is not needed. -func sqlite3WhereExprUsageFull(tls *libc.TLS, pMaskSet uintptr, p uintptr) Bitmask { /* sqlite3.c:151872:32: */ +func sqlite3WhereExprUsageFull(tls *libc.TLS, pMaskSet uintptr, p uintptr) Bitmask { /* sqlite3.c:151886:32: */ var mask Bitmask if int32((*Expr)(unsafe.Pointer(p)).Fop) == TK_IF_NULL_ROW { mask = Xsqlite3WhereGetMask(tls, pMaskSet, (*Expr)(unsafe.Pointer(p)).FiTable) @@ -146961,7 +147000,7 @@ func sqlite3WhereExprUsageFull(tls *libc.TLS, pMaskSet uintptr, p uintptr) Bitma return mask } -func Xsqlite3WhereExprUsageNN(tls *libc.TLS, pMaskSet uintptr, p uintptr) Bitmask { /* sqlite3.c:151898:24: */ +func Xsqlite3WhereExprUsageNN(tls *libc.TLS, pMaskSet uintptr, p uintptr) Bitmask { /* sqlite3.c:151912:24: */ if int32((*Expr)(unsafe.Pointer(p)).Fop) == TK_COLUMN && !((*Expr)(unsafe.Pointer(p)).Fflags&U32(EP_FixedCol) != U32(0)) { return Xsqlite3WhereGetMask(tls, pMaskSet, (*Expr)(unsafe.Pointer(p)).FiTable) } else if (*Expr)(unsafe.Pointer(p)).Fflags&U32(EP_TokenOnly|EP_Leaf) != U32(0) { @@ -146971,14 +147010,14 @@ func Xsqlite3WhereExprUsageNN(tls *libc.TLS, pMaskSet uintptr, p uintptr) Bitmas return sqlite3WhereExprUsageFull(tls, pMaskSet, p) } -func Xsqlite3WhereExprUsage(tls *libc.TLS, pMaskSet uintptr, p uintptr) Bitmask { /* sqlite3.c:151907:24: */ +func Xsqlite3WhereExprUsage(tls *libc.TLS, pMaskSet uintptr, p uintptr) Bitmask { /* sqlite3.c:151921:24: */ if p != 0 { return Xsqlite3WhereExprUsageNN(tls, pMaskSet, p) } return uint64(0) } -func Xsqlite3WhereExprListUsage(tls *libc.TLS, pMaskSet uintptr, pList uintptr) Bitmask { /* sqlite3.c:151910:24: */ +func Xsqlite3WhereExprListUsage(tls *libc.TLS, pMaskSet uintptr, pList uintptr) Bitmask { /* sqlite3.c:151924:24: */ var i int32 var mask Bitmask = uint64(0) if pList != 0 { @@ -146995,7 +147034,7 @@ func Xsqlite3WhereExprListUsage(tls *libc.TLS, pMaskSet uintptr, pList uintptr) // end of the WHERE clause. We do not want to analyze these new // virtual terms, so start analyzing at the end and work forward // so that the added virtual terms are never processed. -func Xsqlite3WhereExprAnalyze(tls *libc.TLS, pTabList uintptr, pWC uintptr) { /* sqlite3.c:151930:21: */ +func Xsqlite3WhereExprAnalyze(tls *libc.TLS, pTabList uintptr, pWC uintptr) { /* sqlite3.c:151944:21: */ var i int32 for i = (*WhereClause)(unsafe.Pointer(pWC)).FnTerm - 1; i >= 0; i-- { exprAnalyze(tls, pTabList, pWC, i) @@ -147007,7 +147046,7 @@ func Xsqlite3WhereExprAnalyze(tls *libc.TLS, pTabList uintptr, pWC uintptr) { /* // // Each function argument translates into an equality constraint against // a HIDDEN column in the table. -func Xsqlite3WhereTabFuncArgs(tls *libc.TLS, pParse uintptr, pItem uintptr, pWC uintptr) { /* sqlite3.c:151947:21: */ +func Xsqlite3WhereTabFuncArgs(tls *libc.TLS, pParse uintptr, pItem uintptr, pWC uintptr) { /* sqlite3.c:151961:21: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -147091,7 +147130,7 @@ type HiddenIndexInfo1 = struct { FmHandleIn U32 F__ccgo_pad1 [4]byte FaRhs [1]uintptr -} /* sqlite3.c:152019:9 */ +} /* sqlite3.c:152033:9 */ //************* End of whereexpr.c ****************************************** //************* Begin file where.c ****************************************** @@ -147121,16 +147160,16 @@ type HiddenIndexInfo1 = struct { // This object is not an API and can be changed from one release to the // next. As long as allocateIndexInfo() and sqlite3_vtab_collation() // agree on the structure, all will be well. -type HiddenIndexInfo = HiddenIndexInfo1 /* sqlite3.c:152019:32 */ +type HiddenIndexInfo = HiddenIndexInfo1 /* sqlite3.c:152033:32 */ // Return the estimated number of output rows from a WHERE clause -func Xsqlite3WhereOutputRowCount(tls *libc.TLS, pWInfo uintptr) LogEst { /* sqlite3.c:152037:23: */ +func Xsqlite3WhereOutputRowCount(tls *libc.TLS, pWInfo uintptr) LogEst { /* sqlite3.c:152051:23: */ return (*WhereInfo)(unsafe.Pointer(pWInfo)).FnRowOut } // Return one of the WHERE_DISTINCT_xxxxx values to indicate how this // WHERE clause returns outputs for DISTINCT processing. -func Xsqlite3WhereIsDistinct(tls *libc.TLS, pWInfo uintptr) int32 { /* sqlite3.c:152045:20: */ +func Xsqlite3WhereIsDistinct(tls *libc.TLS, pWInfo uintptr) int32 { /* sqlite3.c:152059:20: */ return int32((*WhereInfo)(unsafe.Pointer(pWInfo)).FeDistinct) } @@ -147140,7 +147179,7 @@ func Xsqlite3WhereIsDistinct(tls *libc.TLS, pWInfo uintptr) int32 { /* sqlite3.c // terms means that no sorting is needed at all. A return that // is positive but less than the number of ORDER BY terms means that // block sorting is required. -func Xsqlite3WhereIsOrdered(tls *libc.TLS, pWInfo uintptr) int32 { /* sqlite3.c:152057:20: */ +func Xsqlite3WhereIsOrdered(tls *libc.TLS, pWInfo uintptr) int32 { /* sqlite3.c:152071:20: */ return int32((*WhereInfo)(unsafe.Pointer(pWInfo)).FnOBSat) } @@ -147165,7 +147204,7 @@ func Xsqlite3WhereIsOrdered(tls *libc.TLS, pWInfo uintptr) int32 { /* sqlite3.c: // Returning the continuation the second inner loop is an optimization // that might make the code run a little faster, but should not change // the final answer. -func Xsqlite3WhereOrderByLimitOptLabel(tls *libc.TLS, pWInfo uintptr) int32 { /* sqlite3.c:152084:20: */ +func Xsqlite3WhereOrderByLimitOptLabel(tls *libc.TLS, pWInfo uintptr) int32 { /* sqlite3.c:152098:20: */ var pInner uintptr if !(int32(*(*uint8)(unsafe.Pointer(pWInfo + 76))&0x4>>2) != 0) { // The ORDER BY LIMIT optimization does not apply. Jump to the @@ -147186,7 +147225,7 @@ func Xsqlite3WhereOrderByLimitOptLabel(tls *libc.TLS, pWInfo uintptr) int32 { /* // Any extra OP_Goto that is coded here is an optimization. The // correct answer should be obtained regardless. This OP_Goto just // makes the answer appear faster. -func Xsqlite3WhereMinMaxOptEarlyOut(tls *libc.TLS, v uintptr, pWInfo uintptr) { /* sqlite3.c:152107:21: */ +func Xsqlite3WhereMinMaxOptEarlyOut(tls *libc.TLS, v uintptr, pWInfo uintptr) { /* sqlite3.c:152121:21: */ var pInner uintptr var i int32 if !(int32(*(*uint8)(unsafe.Pointer(pWInfo + 76))&0x4>>2) != 0) { @@ -147207,14 +147246,14 @@ func Xsqlite3WhereMinMaxOptEarlyOut(tls *libc.TLS, v uintptr, pWInfo uintptr) { // Return the VDBE address or label to jump to in order to continue // immediately with the next row of a WHERE clause. -func Xsqlite3WhereContinueLabel(tls *libc.TLS, pWInfo uintptr) int32 { /* sqlite3.c:152126:20: */ +func Xsqlite3WhereContinueLabel(tls *libc.TLS, pWInfo uintptr) int32 { /* sqlite3.c:152140:20: */ return (*WhereInfo)(unsafe.Pointer(pWInfo)).FiContinue } // Return the VDBE address or label to jump to in order to break // out of a WHERE loop. -func Xsqlite3WhereBreakLabel(tls *libc.TLS, pWInfo uintptr) int32 { /* sqlite3.c:152135:20: */ +func Xsqlite3WhereBreakLabel(tls *libc.TLS, pWInfo uintptr) int32 { /* sqlite3.c:152149:20: */ return (*WhereInfo)(unsafe.Pointer(pWInfo)).FiBreak } @@ -147233,19 +147272,19 @@ func Xsqlite3WhereBreakLabel(tls *libc.TLS, pWInfo uintptr) int32 { /* sqlite3.c // // aiCur[0] and aiCur[1] both get -1 if the where-clause logic is // unable to use the ONEPASS optimization. -func Xsqlite3WhereOkOnePass(tls *libc.TLS, pWInfo uintptr, aiCur uintptr) int32 { /* sqlite3.c:152156:20: */ +func Xsqlite3WhereOkOnePass(tls *libc.TLS, pWInfo uintptr, aiCur uintptr) int32 { /* sqlite3.c:152170:20: */ libc.X__builtin___memcpy_chk(tls, aiCur, pWInfo+48, uint64(unsafe.Sizeof(int32(0)))*uint64(2), libc.X__builtin_object_size(tls, aiCur, 0)) return int32((*WhereInfo)(unsafe.Pointer(pWInfo)).FeOnePass) } // Return TRUE if the WHERE loop uses the OP_DeferredSeek opcode to move // the data cursor to the row selected by the index cursor. -func Xsqlite3WhereUsesDeferredSeek(tls *libc.TLS, pWInfo uintptr) int32 { /* sqlite3.c:152172:20: */ +func Xsqlite3WhereUsesDeferredSeek(tls *libc.TLS, pWInfo uintptr) int32 { /* sqlite3.c:152186:20: */ return int32(*(*uint8)(unsafe.Pointer(pWInfo + 76)) & 0x1 >> 0) } // Move the content of pSrc into pDest -func whereOrMove(tls *libc.TLS, pDest uintptr, pSrc uintptr) { /* sqlite3.c:152179:13: */ +func whereOrMove(tls *libc.TLS, pDest uintptr, pSrc uintptr) { /* sqlite3.c:152193:13: */ (*WhereOrSet)(unsafe.Pointer(pDest)).Fn = (*WhereOrSet)(unsafe.Pointer(pSrc)).Fn libc.X__builtin___memcpy_chk(tls, pDest+8, pSrc+8, uint64((*WhereOrSet)(unsafe.Pointer(pDest)).Fn)*uint64(unsafe.Sizeof(WhereOrCost{})), libc.X__builtin_object_size(tls, pDest+8, 0)) } @@ -147255,7 +147294,7 @@ func whereOrMove(tls *libc.TLS, pDest uintptr, pSrc uintptr) { /* sqlite3.c:1521 // The new entry might overwrite an existing entry, or it might be // appended, or it might be discarded. Do whatever is the right thing // so that pSet keeps the N_OR_COST best entries seen so far. -func whereOrInsert(tls *libc.TLS, pSet uintptr, prereq Bitmask, rRun LogEst, nOut LogEst) int32 { /* sqlite3.c:152191:12: */ +func whereOrInsert(tls *libc.TLS, pSet uintptr, prereq Bitmask, rRun LogEst, nOut LogEst) int32 { /* sqlite3.c:152205:12: */ var i U16 var p uintptr i = (*WhereOrSet)(unsafe.Pointer(pSet)).Fn @@ -147332,7 +147371,7 @@ __13: // Return the bitmask for the given cursor number. Return 0 if // iCursor is not in the set. -func Xsqlite3WhereGetMask(tls *libc.TLS, pMaskSet uintptr, iCursor int32) Bitmask { /* sqlite3.c:152228:24: */ +func Xsqlite3WhereGetMask(tls *libc.TLS, pMaskSet uintptr, iCursor int32) Bitmask { /* sqlite3.c:152242:24: */ var i int32 if *(*int32)(unsafe.Pointer(pMaskSet + 8)) == iCursor { @@ -147352,14 +147391,14 @@ func Xsqlite3WhereGetMask(tls *libc.TLS, pMaskSet uintptr, iCursor int32) Bitmas // tables in the FROM clause is limited by a test early in the // sqlite3WhereBegin() routine. So we know that the pMaskSet->ix[] // array will never overflow. -func createMask(tls *libc.TLS, pMaskSet uintptr, iCursor int32) { /* sqlite3.c:152252:13: */ +func createMask(tls *libc.TLS, pMaskSet uintptr, iCursor int32) { /* sqlite3.c:152266:13: */ *(*int32)(unsafe.Pointer(pMaskSet + 8 + uintptr(libc.PostIncInt32(&(*WhereMaskSet)(unsafe.Pointer(pMaskSet)).Fn, 1))*4)) = iCursor } // If the right-hand branch of the expression is a TK_COLUMN, then return // a pointer to the right-hand branch. Otherwise, return NULL. -func whereRightSubexprIsColumn(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:152261:13: */ +func whereRightSubexprIsColumn(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:152275:13: */ p = Xsqlite3ExprSkipCollateAndLikely(tls, (*Expr)(unsafe.Pointer(p)).FpRight) if p != uintptr(0) && int32((*Expr)(unsafe.Pointer(p)).Fop) == TK_COLUMN && !((*Expr)(unsafe.Pointer(p)).Fflags&U32(EP_FixedCol) != U32(0)) { return p @@ -147370,7 +147409,7 @@ func whereRightSubexprIsColumn(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c: // Advance to the next WhereTerm that matches according to the criteria // established when the pScan object was initialized by whereScanInit(). // Return NULL if there are no more matching WhereTerms. -func whereScanNext(tls *libc.TLS, pScan uintptr) uintptr { /* sqlite3.c:152274:18: */ +func whereScanNext(tls *libc.TLS, pScan uintptr) uintptr { /* sqlite3.c:152288:18: */ var iCur int32 // The cursor on the LHS of the term var iColumn I16 // The column on the LHS of the term. -1 for IPK var pX uintptr // An expression being tested @@ -147474,7 +147513,7 @@ func whereScanNext(tls *libc.TLS, pScan uintptr) uintptr { /* sqlite3.c:152274:1 // It is factored out into a separate tail-recursion subroutine so that // the normal whereScanInit() routine, which is a high-runner, does not // need to push registers onto the stack as part of its prologue. -func whereScanInitIndexExpr(tls *libc.TLS, pScan uintptr) uintptr { /* sqlite3.c:152376:34: */ +func whereScanInitIndexExpr(tls *libc.TLS, pScan uintptr) uintptr { /* sqlite3.c:152390:34: */ (*WhereScan)(unsafe.Pointer(pScan)).Fidxaff = Xsqlite3ExprAffinity(tls, (*WhereScan)(unsafe.Pointer(pScan)).FpIdxExpr) return whereScanNext(tls, pScan) } @@ -147496,7 +147535,7 @@ func whereScanInitIndexExpr(tls *libc.TLS, pScan uintptr) uintptr { /* sqlite3.c // // If X is not the INTEGER PRIMARY KEY then X must be compatible with // index pIdx. -func whereScanInit(tls *libc.TLS, pScan uintptr, pWC uintptr, iCur int32, iColumn int32, opMask U32, pIdx uintptr) uintptr { /* sqlite3.c:152400:18: */ +func whereScanInit(tls *libc.TLS, pScan uintptr, pWC uintptr, iCur int32, iColumn int32, opMask U32, pIdx uintptr) uintptr { /* sqlite3.c:152414:18: */ (*WhereScan)(unsafe.Pointer(pScan)).FpOrigWC = pWC (*WhereScan)(unsafe.Pointer(pScan)).FpWC = pWC (*WhereScan)(unsafe.Pointer(pScan)).FpIdxExpr = uintptr(0) @@ -147551,7 +147590,7 @@ func whereScanInit(tls *libc.TLS, pScan uintptr, pWC uintptr, iCur int32, iColum // the form "X Y" where Y is a column in another table if no terms of // the form "X " exist. If no terms with a constant RHS // exist, try to return a term that does not use WO_EQUIV. -func Xsqlite3WhereFindTerm(tls *libc.TLS, pWC uintptr, iCur int32, iColumn int32, notReady Bitmask, op U32, pIdx uintptr) uintptr { /* sqlite3.c:152464:26: */ +func Xsqlite3WhereFindTerm(tls *libc.TLS, pWC uintptr, iCur int32, iColumn int32, notReady Bitmask, op U32, pIdx uintptr) uintptr { /* sqlite3.c:152478:26: */ bp := tls.Alloc(112) defer tls.Free(112) @@ -147581,7 +147620,7 @@ func Xsqlite3WhereFindTerm(tls *libc.TLS, pWC uintptr, iCur int32, iColumn int32 // // If such an expression is found, its index in pList->a[] is returned. If // no expression is found, -1 is returned. -func findIndexCol(tls *libc.TLS, pParse uintptr, pList uintptr, iBase int32, pIdx uintptr, iCol int32) int32 { /* sqlite3.c:152498:12: */ +func findIndexCol(tls *libc.TLS, pParse uintptr, pList uintptr, iBase int32, pIdx uintptr, iCol int32) int32 { /* sqlite3.c:152512:12: */ var i int32 var zColl uintptr = *(*uintptr)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FazColl + uintptr(iCol)*8)) @@ -147602,7 +147641,7 @@ func findIndexCol(tls *libc.TLS, pParse uintptr, pList uintptr, iBase int32, pId } // Return TRUE if the iCol-th column of index pIdx is NOT NULL -func indexColumnNotNull(tls *libc.TLS, pIdx uintptr, iCol int32) int32 { /* sqlite3.c:152528:12: */ +func indexColumnNotNull(tls *libc.TLS, pIdx uintptr, iCol int32) int32 { /* sqlite3.c:152542:12: */ var j int32 j = int32(*(*I16)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FaiColumn + uintptr(iCol)*2))) @@ -147623,7 +147662,7 @@ func indexColumnNotNull(tls *libc.TLS, pIdx uintptr, iCol int32) int32 { /* sqli // // A DISTINCT list is redundant if any subset of the columns in the // DISTINCT list are collectively unique and individually non-null. -func isDistinctRedundant(tls *libc.TLS, pParse uintptr, pTabList uintptr, pWC uintptr, pDistinct uintptr) int32 { /* sqlite3.c:152551:12: */ +func isDistinctRedundant(tls *libc.TLS, pParse uintptr, pTabList uintptr, pWC uintptr, pDistinct uintptr) int32 { /* sqlite3.c:152565:12: */ var pTab uintptr var pIdx uintptr var i int32 @@ -147693,7 +147732,7 @@ func isDistinctRedundant(tls *libc.TLS, pParse uintptr, pTabList uintptr, pWC ui } // Estimate the logarithm of the input value to base 2. -func estLog(tls *libc.TLS, N LogEst) LogEst { /* sqlite3.c:152615:15: */ +func estLog(tls *libc.TLS, N LogEst) LogEst { /* sqlite3.c:152629:15: */ if int32(N) <= 10 { return int16(0) } @@ -147710,7 +147749,7 @@ func estLog(tls *libc.TLS, N LogEst) LogEst { /* sqlite3.c:152615:15: */ // cursor iTabCur are transformed into OP_Sequence opcode for the // iAutoidxCur cursor, in order to generate unique rowids for the // automatic index being generated. -func translateColumnToCopy(tls *libc.TLS, pParse uintptr, iStart int32, iTabCur int32, iRegister int32, iAutoidxCur int32) { /* sqlite3.c:152631:13: */ +func translateColumnToCopy(tls *libc.TLS, pParse uintptr, iStart int32, iTabCur int32, iRegister int32, iAutoidxCur int32) { /* sqlite3.c:152645:13: */ var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe var pOp uintptr = Xsqlite3VdbeGetOp(tls, v, iStart) var iEnd int32 = Xsqlite3VdbeCurrentAddr(tls, v) @@ -147753,7 +147792,7 @@ __3: // Return TRUE if the WHERE clause term pTerm is of a form where it // could be used with an index to access pSrc, assuming an appropriate // index existed. -func termCanDriveIndex(tls *libc.TLS, pTerm uintptr, pSrc uintptr, notReady Bitmask) int32 { /* sqlite3.c:152715:12: */ +func termCanDriveIndex(tls *libc.TLS, pTerm uintptr, pSrc uintptr, notReady Bitmask) int32 { /* sqlite3.c:152729:12: */ var aff int8 if (*WhereTerm)(unsafe.Pointer(pTerm)).FleftCursor != (*SrcItem)(unsafe.Pointer(pSrc)).FiCursor { return 0 @@ -147787,7 +147826,7 @@ func termCanDriveIndex(tls *libc.TLS, pTerm uintptr, pSrc uintptr, notReady Bitm // Generate code to construct the Index object for an automatic index // and to set up the WhereLevel object pLevel so that the code generator // makes use of the automatic index. -func constructAutomaticIndex(tls *libc.TLS, pParse uintptr, pWC uintptr, pSrc uintptr, notReady Bitmask, pLevel uintptr) { /* sqlite3.c:152749:29: */ +func constructAutomaticIndex(tls *libc.TLS, pParse uintptr, pWC uintptr, pSrc uintptr, notReady Bitmask, pLevel uintptr) { /* sqlite3.c:152763:29: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -148145,7 +148184,7 @@ end_auto_index_create: // This routine may only be called if it has previously been determined that // the loop would benefit from a Bloom filter, and the WHERE_BLOOMFILTER bit // is set. -func sqlite3ConstructBloomFilter(tls *libc.TLS, pWInfo uintptr, iLevel int32, pLevel uintptr, notReady Bitmask) { /* sqlite3.c:152984:29: */ +func sqlite3ConstructBloomFilter(tls *libc.TLS, pWInfo uintptr, iLevel int32, pLevel uintptr, notReady Bitmask) { /* sqlite3.c:152998:29: */ var addrOnce int32 // Address of opening OP_Once var addrTop int32 // Address of OP_Rewind var addrCont int32 // Jump here to skip a row @@ -148250,7 +148289,7 @@ func sqlite3ConstructBloomFilter(tls *libc.TLS, pWInfo uintptr, iLevel int32, pL // Allocate and populate an sqlite3_index_info structure. It is the // responsibility of the caller to eventually release the structure // by passing the pointer returned by this function to freeIndexInfo(). -func allocateIndexInfo(tls *libc.TLS, pWInfo uintptr, pWC uintptr, mUnusable Bitmask, pSrc uintptr, pmNoOmit uintptr) uintptr { /* sqlite3.c:153097:27: */ +func allocateIndexInfo(tls *libc.TLS, pWInfo uintptr, pWC uintptr, mUnusable Bitmask, pSrc uintptr, pmNoOmit uintptr) uintptr { /* sqlite3.c:153111:27: */ var i int32 var j int32 var nTerm int32 @@ -148476,7 +148515,7 @@ __6: // Free an sqlite3_index_info structure allocated by allocateIndexInfo() // and possibly modified by xBestIndex methods. -func freeIndexInfo(tls *libc.TLS, db uintptr, pIdxInfo uintptr) { /* sqlite3.c:153296:13: */ +func freeIndexInfo(tls *libc.TLS, db uintptr, pIdxInfo uintptr) { /* sqlite3.c:153310:13: */ var pHidden uintptr var i int32 @@ -148503,7 +148542,7 @@ func freeIndexInfo(tls *libc.TLS, db uintptr, pIdxInfo uintptr) { /* sqlite3.c:1 // Whether or not an error is returned, it is the responsibility of the // caller to eventually free p->idxStr if p->needToFreeIdxStr indicates // that this is required. -func vtabBestIndex(tls *libc.TLS, pParse uintptr, pTab uintptr, p uintptr) int32 { /* sqlite3.c:153326:12: */ +func vtabBestIndex(tls *libc.TLS, pParse uintptr, pTab uintptr, p uintptr) int32 { /* sqlite3.c:153340:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -148541,7 +148580,7 @@ func vtabBestIndex(tls *libc.TLS, pParse uintptr, pTab uintptr, p uintptr) int32 // into the aSample[] array - it is an index into a virtual set of samples // based on the contents of aSample[] and the number of fields in record // pRec. -func whereKeyStats(tls *libc.TLS, pParse uintptr, pIdx uintptr, pRec uintptr, roundUp int32, aStat uintptr) int32 { /* sqlite3.c:153365:12: */ +func whereKeyStats(tls *libc.TLS, pParse uintptr, pIdx uintptr, pRec uintptr, roundUp int32, aStat uintptr) int32 { /* sqlite3.c:153379:12: */ var aSample uintptr = (*Index)(unsafe.Pointer(pIdx)).FaSample var iCol int32 // Index of required stats in anEq[] etc. var i int32 // Index of first sample >= pRec @@ -148680,7 +148719,7 @@ func whereKeyStats(tls *libc.TLS, pParse uintptr, pIdx uintptr, pRec uintptr, ro // then the return value is the likelihood multiplied by the number of // input rows. Otherwise, this function assumes that an "IS NOT NULL" term // has a likelihood of 0.50, and any other term a likelihood of 0.25. -func whereRangeAdjust(tls *libc.TLS, pTerm uintptr, nNew LogEst) LogEst { /* sqlite3.c:153557:15: */ +func whereRangeAdjust(tls *libc.TLS, pTerm uintptr, nNew LogEst) LogEst { /* sqlite3.c:153571:15: */ var nRet LogEst = nNew if pTerm != 0 { if int32((*WhereTerm)(unsafe.Pointer(pTerm)).FtruthProb) <= 0 { @@ -148693,7 +148732,7 @@ func whereRangeAdjust(tls *libc.TLS, pTerm uintptr, nNew LogEst) LogEst { /* sql } // Return the affinity for a single column of an index. -func Xsqlite3IndexColumnAffinity(tls *libc.TLS, db uintptr, pIdx uintptr, iCol int32) int8 { /* sqlite3.c:153574:21: */ +func Xsqlite3IndexColumnAffinity(tls *libc.TLS, db uintptr, pIdx uintptr, iCol int32) int8 { /* sqlite3.c:153588:21: */ if !(int32((*Index)(unsafe.Pointer(pIdx)).FzColAff) != 0) { if Xsqlite3IndexAffinityStr(tls, db, pIdx) == uintptr(0) { @@ -148737,7 +148776,7 @@ func Xsqlite3IndexColumnAffinity(tls *libc.TLS, db uintptr, pIdx uintptr, iCol i // // If an error occurs, an SQLite error code is returned. Otherwise, // SQLITE_OK. -func whereRangeSkipScanEst(tls *libc.TLS, pParse uintptr, pLower uintptr, pUpper uintptr, pLoop uintptr, pbDone uintptr) int32 { /* sqlite3.c:153621:12: */ +func whereRangeSkipScanEst(tls *libc.TLS, pParse uintptr, pLower uintptr, pUpper uintptr, pLoop uintptr, pbDone uintptr) int32 { /* sqlite3.c:153635:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -148852,7 +148891,7 @@ func whereRangeSkipScanEst(tls *libc.TLS, pParse uintptr, pLower uintptr, pUpper // used, a single range inequality reduces the search space by a factor of 4. // and a pair of constraints (x>? AND x>0)) != 0 { Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(p + 24 + 16 /* &.idxStr */))) @@ -149160,7 +149199,7 @@ func whereLoopClearUnion(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:15 } // Deallocate internal memory used by a WhereLoop object -func whereLoopClear(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:154152:13: */ +func whereLoopClear(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:154166:13: */ if (*WhereLoop)(unsafe.Pointer(p)).FaLTerm != p+88 { Xsqlite3DbFreeNN(tls, db, (*WhereLoop)(unsafe.Pointer(p)).FaLTerm) } @@ -149169,7 +149208,7 @@ func whereLoopClear(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:154152: } // Increase the memory allocation for pLoop->aLTerm[] to be at least n. -func whereLoopResize(tls *libc.TLS, db uintptr, p uintptr, n int32) int32 { /* sqlite3.c:154161:12: */ +func whereLoopResize(tls *libc.TLS, db uintptr, p uintptr, n int32) int32 { /* sqlite3.c:154175:12: */ var paNew uintptr if int32((*WhereLoop)(unsafe.Pointer(p)).FnLSlot) >= n { return SQLITE_OK @@ -149189,7 +149228,7 @@ func whereLoopResize(tls *libc.TLS, db uintptr, p uintptr, n int32) int32 { /* s } // Transfer content from the second pLoop into the first. -func whereLoopXfer(tls *libc.TLS, db uintptr, pTo uintptr, pFrom uintptr) int32 { /* sqlite3.c:154177:12: */ +func whereLoopXfer(tls *libc.TLS, db uintptr, pTo uintptr, pFrom uintptr) int32 { /* sqlite3.c:154191:12: */ whereLoopClearUnion(tls, db, pTo) if whereLoopResize(tls, db, pTo, int32((*WhereLoop)(unsafe.Pointer(pFrom)).FnLTerm)) != 0 { libc.X__builtin___memset_chk(tls, pTo, 0, uint64(uintptr(0)+64), libc.X__builtin_object_size(tls, pTo, 0)) @@ -149206,13 +149245,13 @@ func whereLoopXfer(tls *libc.TLS, db uintptr, pTo uintptr, pFrom uintptr) int32 } // Delete a WhereLoop object -func whereLoopDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:154196:13: */ +func whereLoopDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:154210:13: */ whereLoopClear(tls, db, p) Xsqlite3DbFreeNN(tls, db, p) } // Free a WhereInfo structure -func whereInfoFree(tls *libc.TLS, db uintptr, pWInfo uintptr) { /* sqlite3.c:154204:13: */ +func whereInfoFree(tls *libc.TLS, db uintptr, pWInfo uintptr) { /* sqlite3.c:154218:13: */ var i int32 for i = 0; i < int32((*WhereInfo)(unsafe.Pointer(pWInfo)).FnLevel); i++ { @@ -149233,7 +149272,7 @@ func whereInfoFree(tls *libc.TLS, db uintptr, pWInfo uintptr) { /* sqlite3.c:154 } // Undo all Expr node modifications -func whereUndoExprMods(tls *libc.TLS, pWInfo uintptr) { /* sqlite3.c:154226:13: */ +func whereUndoExprMods(tls *libc.TLS, pWInfo uintptr) { /* sqlite3.c:154240:13: */ for (*WhereInfo)(unsafe.Pointer(pWInfo)).FpExprMods != 0 { var p uintptr = (*WhereInfo)(unsafe.Pointer(pWInfo)).FpExprMods (*WhereInfo)(unsafe.Pointer(pWInfo)).FpExprMods = (*WhereExprMod)(unsafe.Pointer(p)).FpNext @@ -149259,7 +149298,7 @@ func whereUndoExprMods(tls *libc.TLS, pWInfo uintptr) { /* sqlite3.c:154226:13: // deserve a lower cost even if it is a proper subset of Y. Constraint (5) // was added because a covering index probably deserves to have a lower cost // than a non-covering index even if it is a proper subset. -func whereLoopCheaperProperSubset(tls *libc.TLS, pX uintptr, pY uintptr) int32 { /* sqlite3.c:154254:12: */ +func whereLoopCheaperProperSubset(tls *libc.TLS, pX uintptr, pY uintptr) int32 { /* sqlite3.c:154268:12: */ var i int32 var j int32 if int32((*WhereLoop)(unsafe.Pointer(pX)).FnLTerm)-int32((*WhereLoop)(unsafe.Pointer(pX)).FnSkip) >= int32((*WhereLoop)(unsafe.Pointer(pY)).FnLTerm)-int32((*WhereLoop)(unsafe.Pointer(pY)).FnSkip) { @@ -149303,7 +149342,7 @@ func whereLoopCheaperProperSubset(tls *libc.TLS, pX uintptr, pY uintptr) int32 { // To say "WhereLoop X is a proper subset of Y" means that X uses fewer // WHERE clause terms than Y and that every WHERE clause term used by X is // also used by Y. -func whereLoopAdjustCost(tls *libc.TLS, p uintptr, pTemplate uintptr) { /* sqlite3.c:154292:13: */ +func whereLoopAdjustCost(tls *libc.TLS, p uintptr, pTemplate uintptr) { /* sqlite3.c:154306:13: */ if (*WhereLoop)(unsafe.Pointer(pTemplate)).FwsFlags&U32(WHERE_INDEXED) == U32(0) { return } @@ -149362,7 +149401,7 @@ func whereLoopAdjustCost(tls *libc.TLS, p uintptr, pTemplate uintptr) { /* sqlit // If pTemplate cannot replace any existing element of the list but needs // to be added to the list as a new entry, then return a pointer to the // tail of the list. -func whereLoopFindLesser(tls *libc.TLS, ppPrev uintptr, pTemplate uintptr) uintptr { /* sqlite3.c:154333:18: */ +func whereLoopFindLesser(tls *libc.TLS, ppPrev uintptr, pTemplate uintptr) uintptr { /* sqlite3.c:154347:18: */ var p uintptr p = *(*uintptr)(unsafe.Pointer(ppPrev)) __1: @@ -149451,7 +149490,7 @@ __3: // (2) They have the same iSortIdx. // (3) The template has same or fewer dependencies than the current loop // (4) The template has the same or lower cost than the current loop -func whereLoopInsert(tls *libc.TLS, pBuilder uintptr, pTemplate uintptr) int32 { /* sqlite3.c:154421:12: */ +func whereLoopInsert(tls *libc.TLS, pBuilder uintptr, pTemplate uintptr) int32 { /* sqlite3.c:154435:12: */ var ppPrev uintptr var p uintptr var pWInfo uintptr = (*WhereLoopBuilder)(unsafe.Pointer(pBuilder)).FpWInfo @@ -149558,7 +149597,7 @@ func whereLoopInsert(tls *libc.TLS, pBuilder uintptr, pTemplate uintptr) int32 { // "x" column is boolean or else -1 or 0 or 1 is a common default value // on the "x" column and so in that case only cap the output row estimate // at 1/2 instead of 1/4. -func whereLoopOutputAdjust(tls *libc.TLS, pWC uintptr, pLoop uintptr, nRow LogEst) { /* sqlite3.c:154558:13: */ +func whereLoopOutputAdjust(tls *libc.TLS, pWC uintptr, pLoop uintptr, nRow LogEst) { /* sqlite3.c:154572:13: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -149604,7 +149643,14 @@ __1: // that depend only on the table being scanned, and that will tend to // cause many rows to be omitted, then mark that table as // "self-culling". - *(*U32)(unsafe.Pointer(pLoop + 56)) |= U32(WHERE_SELFCULL) + // + // 2022-03-24: Self-culling only applies if either the extra terms + // are straight comparison operators that are non-true with NULL + // operand, or if the loop is not a LEFT JOIN. + if int32((*WhereTerm)(unsafe.Pointer(pTerm)).FeOperator)&0x3f != 0 || + int32((*SrcItem)(unsafe.Pointer((*WhereInfo)(unsafe.Pointer((*WhereClause)(unsafe.Pointer(pWC)).FpWInfo)).FpTabList+8+uintptr((*WhereLoop)(unsafe.Pointer(pLoop)).FiTab)*112)).Ffg.Fjointype)&JT_LEFT == 0 { + *(*U32)(unsafe.Pointer(pLoop + 56)) |= U32(WHERE_SELFCULL) + } } if int32((*WhereTerm)(unsafe.Pointer(pTerm)).FtruthProb) <= 0 { // If a truth probability is specified using the likelihood() hints, @@ -149661,7 +149707,7 @@ __3: // // then this function would be invoked with nEq=1. The value returned in // this case is 3. -func whereRangeVectorLen(tls *libc.TLS, pParse uintptr, iCur int32, pIdx uintptr, nEq int32, pTerm uintptr) int32 { /* sqlite3.c:154637:12: */ +func whereRangeVectorLen(tls *libc.TLS, pParse uintptr, iCur int32, pIdx uintptr, nEq int32, pTerm uintptr) int32 { /* sqlite3.c:154660:12: */ var nCmp int32 = Xsqlite3ExprVectorSize(tls, (*Expr)(unsafe.Pointer((*WhereTerm)(unsafe.Pointer(pTerm)).FpExpr)).FpLeft) var i int32 @@ -149729,7 +149775,7 @@ func whereRangeVectorLen(tls *libc.TLS, pParse uintptr, iCur int32, pIdx uintptr // // If pProbe->idxType==SQLITE_IDXTYPE_IPK, that means pIndex is // a fake index used for the INTEGER PRIMARY KEY. -func whereLoopAddBtreeIndex(tls *libc.TLS, pBuilder uintptr, pSrc uintptr, pProbe uintptr, nInMul LogEst) int32 { /* sqlite3.c:154711:12: */ +func whereLoopAddBtreeIndex(tls *libc.TLS, pBuilder uintptr, pSrc uintptr, pProbe uintptr, nInMul LogEst) int32 { /* sqlite3.c:154734:12: */ bp := tls.Alloc(116) defer tls.Free(116) @@ -150089,7 +150135,7 @@ func whereLoopAddBtreeIndex(tls *libc.TLS, pBuilder uintptr, pSrc uintptr, pProb // Return False if pBuilder does not contain an ORDER BY clause or // if there is no way for pIndex to be useful in implementing that // ORDER BY clause. -func indexMightHelpWithOrderBy(tls *libc.TLS, pBuilder uintptr, pIndex uintptr, iCursor int32) int32 { /* sqlite3.c:155111:12: */ +func indexMightHelpWithOrderBy(tls *libc.TLS, pBuilder uintptr, pIndex uintptr, iCursor int32) int32 { /* sqlite3.c:155134:12: */ var pOB uintptr var aColExpr uintptr var ii int32 @@ -150131,7 +150177,7 @@ func indexMightHelpWithOrderBy(tls *libc.TLS, pBuilder uintptr, pIndex uintptr, // Check to see if a partial index with pPartIndexWhere can be used // in the current query. Return true if it can be and false if not. -func whereUsablePartialIndex(tls *libc.TLS, iTab int32, isLeft int32, pWC uintptr, pWhere uintptr) int32 { /* sqlite3.c:155145:12: */ +func whereUsablePartialIndex(tls *libc.TLS, iTab int32, isLeft int32, pWC uintptr, pWhere uintptr) int32 { /* sqlite3.c:155168:12: */ var i int32 var pTerm uintptr var pParse uintptr = (*WhereInfo)(unsafe.Pointer((*WhereClause)(unsafe.Pointer(pWC)).FpWInfo)).FpParse @@ -150206,7 +150252,7 @@ __3: // bias the scoring in favor of using an index, since the worst-case // performance of using an index is far better than the worst-case performance // of a full table scan. -func whereLoopAddBtree(tls *libc.TLS, pBuilder uintptr, mPrereq Bitmask) int32 { /* sqlite3.c:155209:12: */ +func whereLoopAddBtree(tls *libc.TLS, pBuilder uintptr, mPrereq Bitmask) int32 { /* sqlite3.c:155232:12: */ bp := tls.Alloc(158) defer tls.Free(158) @@ -150491,7 +150537,7 @@ __3: } // Return true if pTerm is a virtual table LIMIT or OFFSET term. -func isLimitTerm(tls *libc.TLS, pTerm uintptr) int32 { /* sqlite3.c:155467:12: */ +func isLimitTerm(tls *libc.TLS, pTerm uintptr) int32 { /* sqlite3.c:155490:12: */ return libc.Bool32(int32((*WhereTerm)(unsafe.Pointer(pTerm)).FeMatchOp) >= SQLITE_INDEX_CONSTRAINT_LIMIT && int32((*WhereTerm)(unsafe.Pointer(pTerm)).FeMatchOp) <= SQLITE_INDEX_CONSTRAINT_OFFSET) @@ -150515,7 +150561,7 @@ func isLimitTerm(tls *libc.TLS, pTerm uintptr) int32 { /* sqlite3.c:155467:12: * // // Output parameter *pbIn is set to true if the plan added to pBuilder // uses one or more WO_IN terms, or false otherwise. -func whereLoopAddVirtualOne(tls *libc.TLS, pBuilder uintptr, mPrereq Bitmask, mUsable Bitmask, mExclude U16, pIdxInfo uintptr, mNoOmit U16, pbIn uintptr, pbRetryLimit uintptr) int32 { /* sqlite3.c:155493:12: */ +func whereLoopAddVirtualOne(tls *libc.TLS, pBuilder uintptr, mPrereq Bitmask, mUsable Bitmask, mExclude U16, pIdxInfo uintptr, mNoOmit U16, pbIn uintptr, pbRetryLimit uintptr) int32 { /* sqlite3.c:155516:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -150739,7 +150785,7 @@ __6: // 2. Else, if the column has an alternative collation, return that. // // 3. Otherwise, return "BINARY". -func Xsqlite3_vtab_collation(tls *libc.TLS, pIdxInfo uintptr, iCons int32) uintptr { /* sqlite3.c:155685:23: */ +func Xsqlite3_vtab_collation(tls *libc.TLS, pIdxInfo uintptr, iCons int32) uintptr { /* sqlite3.c:155708:23: */ var pHidden uintptr = pIdxInfo + 1*96 var zRet uintptr = uintptr(0) if iCons >= 0 && iCons < (*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FnConstraint { @@ -150762,7 +150808,7 @@ func Xsqlite3_vtab_collation(tls *libc.TLS, pIdxInfo uintptr, iCons int32) uintp // Return true if constraint iCons is really an IN(...) constraint, or // false otherwise. If iCons is an IN(...) constraint, set (if bHandle!=0) // or clear (if bHandle==0) the flag to handle it using an iterator. -func Xsqlite3_vtab_in(tls *libc.TLS, pIdxInfo uintptr, iCons int32, bHandle int32) int32 { /* sqlite3.c:155705:16: */ +func Xsqlite3_vtab_in(tls *libc.TLS, pIdxInfo uintptr, iCons int32, bHandle int32) int32 { /* sqlite3.c:155728:16: */ var pHidden uintptr = pIdxInfo + 1*96 var m U32 = func() uint32 { if iCons <= 31 { @@ -150785,7 +150831,7 @@ func Xsqlite3_vtab_in(tls *libc.TLS, pIdxInfo uintptr, iCons int32, bHandle int3 // // If possible, set (*ppVal) to point to an object containing the value // on the right-hand-side of constraint iCons. -func Xsqlite3_vtab_rhs_value(tls *libc.TLS, pIdxInfo uintptr, iCons int32, ppVal uintptr) int32 { /* sqlite3.c:155725:16: */ +func Xsqlite3_vtab_rhs_value(tls *libc.TLS, pIdxInfo uintptr, iCons int32, ppVal uintptr) int32 { /* sqlite3.c:155748:16: */ var pH uintptr = pIdxInfo + 1*96 var pVal uintptr = uintptr(0) var rc int32 = SQLITE_OK @@ -150811,7 +150857,7 @@ func Xsqlite3_vtab_rhs_value(tls *libc.TLS, pIdxInfo uintptr, iCons int32, ppVal } // Return true if ORDER BY clause may be handled as DISTINCT. -func Xsqlite3_vtab_distinct(tls *libc.TLS, pIdxInfo uintptr) int32 { /* sqlite3.c:155758:16: */ +func Xsqlite3_vtab_distinct(tls *libc.TLS, pIdxInfo uintptr) int32 { /* sqlite3.c:155781:16: */ var pHidden uintptr = pIdxInfo + 1*96 return (*HiddenIndexInfo)(unsafe.Pointer(pHidden)).FeDistinct @@ -150840,7 +150886,7 @@ func Xsqlite3_vtab_distinct(tls *libc.TLS, pIdxInfo uintptr) int32 { /* sqlite3. // Conversely, all tables in mUnusable must be scanned after the current // virtual table, so any terms for which the prerequisites overlap with // mUnusable should always be configured as "not-usable" for xBestIndex. -func whereLoopAddVirtual(tls *libc.TLS, pBuilder uintptr, mPrereq Bitmask, mUnusable Bitmask) int32 { /* sqlite3.c:155807:12: */ +func whereLoopAddVirtual(tls *libc.TLS, pBuilder uintptr, mPrereq Bitmask, mUnusable Bitmask) int32 { /* sqlite3.c:155830:12: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -150976,7 +151022,7 @@ func whereLoopAddVirtual(tls *libc.TLS, pBuilder uintptr, mPrereq Bitmask, mUnus // Add WhereLoop entries to handle OR terms. This works for either // btrees or virtual tables. -func whereLoopAddOr(tls *libc.TLS, pBuilder uintptr, mPrereq Bitmask, mUnusable Bitmask) int32 { /* sqlite3.c:155938:12: */ +func whereLoopAddOr(tls *libc.TLS, pBuilder uintptr, mPrereq Bitmask, mUnusable Bitmask) int32 { /* sqlite3.c:155961:12: */ bp := tls.Alloc(712) defer tls.Free(712) @@ -151101,7 +151147,7 @@ func whereLoopAddOr(tls *libc.TLS, pBuilder uintptr, mPrereq Bitmask, mUnusable } // Add all WhereLoop objects for all tables -func whereLoopAddAll(tls *libc.TLS, pBuilder uintptr) int32 { /* sqlite3.c:156064:12: */ +func whereLoopAddAll(tls *libc.TLS, pBuilder uintptr) int32 { /* sqlite3.c:156087:12: */ var pWInfo uintptr = (*WhereLoopBuilder)(unsafe.Pointer(pBuilder)).FpWInfo var mPrereq Bitmask = uint64(0) var mPrior Bitmask = uint64(0) @@ -151189,7 +151235,7 @@ __3: // as equivalent rows are grouped together. Thus for GROUP BY and DISTINCT // the pOrderBy terms can be matched in any order. With ORDER BY, the // pOrderBy terms must be matched in strict left-to-right order. -func wherePathSatisfiesOrderBy(tls *libc.TLS, pWInfo uintptr, pOrderBy uintptr, pPath uintptr, wctrlFlags U16, nLoop U16, pLast uintptr, pRevMask uintptr) I8 { /* sqlite3.c:156142:11: */ +func wherePathSatisfiesOrderBy(tls *libc.TLS, pWInfo uintptr, pOrderBy uintptr, pPath uintptr, wctrlFlags U16, nLoop U16, pLast uintptr, pRevMask uintptr) I8 { /* sqlite3.c:156165:11: */ var revSet U8 // True if rev is known var rev U8 // Composite sort order var revIdx U8 // Index sort order @@ -151557,7 +151603,7 @@ func wherePathSatisfiesOrderBy(tls *libc.TLS, pWInfo uintptr, pOrderBy uintptr, // // SELECT * FROM t1 GROUP BY x,y ORDER BY x,y; -- IsSorted()==1 // SELECT * FROM t1 GROUP BY y,x ORDER BY y,x; -- IsSorted()==0 -func Xsqlite3WhereIsSorted(tls *libc.TLS, pWInfo uintptr) int32 { /* sqlite3.c:156487:20: */ +func Xsqlite3WhereIsSorted(tls *libc.TLS, pWInfo uintptr) int32 { /* sqlite3.c:156510:20: */ return int32(*(*uint8)(unsafe.Pointer(pWInfo + 76)) & 0x8 >> 3) } @@ -151565,7 +151611,7 @@ func Xsqlite3WhereIsSorted(tls *libc.TLS, pWInfo uintptr) int32 { /* sqlite3.c:1 // Return the cost of sorting nRow rows, assuming that the keys have // nOrderby columns and that the first nSorted columns are already in // order. -func whereSortingCost(tls *libc.TLS, pWInfo uintptr, nRow LogEst, nOrderBy int32, nSorted int32) LogEst { /* sqlite3.c:156510:15: */ +func whereSortingCost(tls *libc.TLS, pWInfo uintptr, nRow LogEst, nOrderBy int32, nSorted int32) LogEst { /* sqlite3.c:156533:15: */ // TUNING: Estimated cost of a full external sort, where N is // the number of rows to sort is: // @@ -151612,7 +151658,7 @@ func whereSortingCost(tls *libc.TLS, pWInfo uintptr, nRow LogEst, nOrderBy int32 // // Return SQLITE_OK on success or SQLITE_NOMEM of a memory allocation // error occurs. -func wherePathSolver(tls *libc.TLS, pWInfo uintptr, nRowEst LogEst) int32 { /* sqlite3.c:156563:12: */ +func wherePathSolver(tls *libc.TLS, pWInfo uintptr, nRowEst LogEst) int32 { /* sqlite3.c:156586:12: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -152019,7 +152065,7 @@ __3: // Return non-zero on success, if this query can be handled by this // no-frills query planner. Return zero if this query needs the // general-purpose query planner. -func whereShortCut(tls *libc.TLS, pBuilder uintptr) int32 { /* sqlite3.c:156955:12: */ +func whereShortCut(tls *libc.TLS, pBuilder uintptr) int32 { /* sqlite3.c:156978:12: */ bp := tls.Alloc(112) defer tls.Free(112) @@ -152126,7 +152172,7 @@ func whereShortCut(tls *libc.TLS, pBuilder uintptr) int32 { /* sqlite3.c:156955: } // Helper function for exprIsDeterministic(). -func exprNodeIsDeterministic(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:157046:12: */ +func exprNodeIsDeterministic(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:157069:12: */ if int32((*Expr)(unsafe.Pointer(pExpr)).Fop) == TK_FUNCTION && libc.Bool32((*Expr)(unsafe.Pointer(pExpr)).Fflags&U32(EP_ConstFunc) != U32(0)) == 0 { (*Walker)(unsafe.Pointer(pWalker)).FeCode = U16(0) return WRC_Abort @@ -152137,7 +152183,7 @@ func exprNodeIsDeterministic(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int3 // Return true if the expression contains no non-deterministic SQL // functions. Do not consider non-deterministic SQL functions that are // part of sub-select statements. -func exprIsDeterministic(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:157059:12: */ +func exprIsDeterministic(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:157082:12: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -152183,7 +152229,7 @@ func exprIsDeterministic(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:157059:1 // SELECT DISTINCT v1, v3 FROM t1 // LEFT JOIN t2 // LEFT JOIN t3 ON (t1.ipk=t3.ipk) -func whereOmitNoopJoin(tls *libc.TLS, pWInfo uintptr, notReady Bitmask) Bitmask { /* sqlite3.c:157120:32: */ +func whereOmitNoopJoin(tls *libc.TLS, pWInfo uintptr, notReady Bitmask) Bitmask { /* sqlite3.c:157143:32: */ var i int32 var tabUsed Bitmask @@ -152258,7 +152304,7 @@ func whereOmitNoopJoin(tls *libc.TLS, pWInfo uintptr, notReady Bitmask) Bitmask // appropriate, and if so sets the WHERE_BLOOMFILTER flag on the // WhereLoop. The implementation of the Bloom filter comes further // down where the code for each WhereLoop is generated. -func whereCheckIfBloomFilterIsUseful(tls *libc.TLS, pWInfo uintptr) { /* sqlite3.c:157199:29: */ +func whereCheckIfBloomFilterIsUseful(tls *libc.TLS, pWInfo uintptr) { /* sqlite3.c:157222:29: */ var i int32 var nSearch LogEst @@ -152370,7 +152416,7 @@ func whereCheckIfBloomFilterIsUseful(tls *libc.TLS, pWInfo uintptr) { /* sqlite3 // the first cursor in an array of cursors for all indices. iIdxCur should // be used to compute the appropriate cursor depending on which index is // used. -func Xsqlite3WhereBegin(tls *libc.TLS, pParse uintptr, pTabList uintptr, pWhere uintptr, pOrderBy uintptr, pResultSet uintptr, pLimit uintptr, wctrlFlags U16, iAuxArg int32) uintptr { /* sqlite3.c:157323:26: */ +func Xsqlite3WhereBegin(tls *libc.TLS, pParse uintptr, pTabList uintptr, pWhere uintptr, pOrderBy uintptr, pResultSet uintptr, pLimit uintptr, wctrlFlags U16, iAuxArg int32) uintptr { /* sqlite3.c:157346:26: */ bp := tls.Alloc(64) defer tls.Free(64) @@ -153054,7 +153100,7 @@ __78: // Generate the end of the WHERE loop. See comments on // sqlite3WhereBegin() for additional information. -func Xsqlite3WhereEnd(tls *libc.TLS, pWInfo uintptr) { /* sqlite3.c:157889:21: */ +func Xsqlite3WhereEnd(tls *libc.TLS, pWInfo uintptr) { /* sqlite3.c:157932:21: */ var pParse uintptr = (*WhereInfo)(unsafe.Pointer(pWInfo)).FpParse var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe var i int32 @@ -153267,12 +153313,12 @@ __4: int32((*VdbeOp)(unsafe.Pointer(pOp)).Fopcode) == OP_Offset { var x int32 = (*VdbeOp)(unsafe.Pointer(pOp)).Fp2 - if !((*Table)(unsafe.Pointer(pTab)).FtabFlags&U32(TF_WithoutRowid) == U32(0)) { + if int32((*VdbeOp)(unsafe.Pointer(pOp)).Fopcode) == OP_Offset { + // Do not need to translate the column number + } else if !((*Table)(unsafe.Pointer(pTab)).FtabFlags&U32(TF_WithoutRowid) == U32(0)) { var pPk uintptr = Xsqlite3PrimaryKeyIndex(tls, pTab) x = int32(*(*I16)(unsafe.Pointer((*Index)(unsafe.Pointer(pPk)).FaiColumn + uintptr(x)*2))) - } else if int32((*VdbeOp)(unsafe.Pointer(pOp)).Fopcode) == OP_Offset { - // Do not need to translate the column number } else { x = int32(Xsqlite3StorageColumnToTable(tls, pTab, int16(x))) @@ -153282,8 +153328,12 @@ __4: (*VdbeOp)(unsafe.Pointer(pOp)).Fp2 = x (*VdbeOp)(unsafe.Pointer(pOp)).Fp1 = (*WhereLevel)(unsafe.Pointer(pLevel)).FiIdxCur - } + } else { + // Unable to translate the table reference into an index + // reference. Verify that this is harmless - that the + // table being referenced really is open. + } } else if int32((*VdbeOp)(unsafe.Pointer(pOp)).Fopcode) == OP_Rowid { (*VdbeOp)(unsafe.Pointer(pOp)).Fp1 = (*WhereLevel)(unsafe.Pointer(pLevel)).FiIdxCur (*VdbeOp)(unsafe.Pointer(pOp)).Fopcode = U8(OP_IdxRowid) @@ -153454,7 +153504,7 @@ __6: // window frame has been coerced to: // // ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW -func row_numberStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158331:13: */ +func row_numberStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158388:13: */ var p uintptr = Xsqlite3_aggregate_context(tls, pCtx, int32(unsafe.Sizeof(I64(0)))) if p != 0 { *(*I64)(unsafe.Pointer(p))++ @@ -153463,7 +153513,7 @@ func row_numberStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) _ = apArg } -func row_numberValueFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158341:13: */ +func row_numberValueFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158398:13: */ var p uintptr = Xsqlite3_aggregate_context(tls, pCtx, int32(unsafe.Sizeof(I64(0)))) Xsqlite3_result_int64(tls, pCtx, func() int64 { if p != 0 { @@ -153479,13 +153529,13 @@ type CallCount = struct { FnValue I64 FnStep I64 FnTotal I64 -} /* sqlite3.c:158350:1 */ +} /* sqlite3.c:158407:1 */ // Implementation of built-in window function dense_rank(). Assumes that // the window frame has been set to: // // RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW -func dense_rankStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158362:13: */ +func dense_rankStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158419:13: */ var p uintptr p = Xsqlite3_aggregate_context(tls, pCtx, int32(unsafe.Sizeof(CallCount{}))) if p != 0 { @@ -153495,7 +153545,7 @@ func dense_rankStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) _ = apArg } -func dense_rankValueFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158373:13: */ +func dense_rankValueFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158430:13: */ var p uintptr p = Xsqlite3_aggregate_context(tls, pCtx, int32(unsafe.Sizeof(CallCount{}))) if p != 0 { @@ -153513,9 +153563,9 @@ func dense_rankValueFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158373:13: type NthValueCtx = struct { FnStep I64 FpValue uintptr -} /* sqlite3.c:158390:1 */ +} /* sqlite3.c:158447:1 */ -func nth_valueStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158394:13: */ +func nth_valueStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158451:13: */ var p uintptr var fVal float64 var iVal I64 @@ -153581,7 +153631,7 @@ error_out: pCtx, ts+22349, -1) } -func nth_valueFinalizeFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158435:13: */ +func nth_valueFinalizeFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158492:13: */ var p uintptr p = Xsqlite3_aggregate_context(tls, pCtx, 0) if p != 0 && (*NthValueCtx)(unsafe.Pointer(p)).FpValue != 0 { @@ -153591,7 +153641,7 @@ func nth_valueFinalizeFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158435:13 } } -func first_valueStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158447:13: */ +func first_valueStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158504:13: */ var p uintptr p = Xsqlite3_aggregate_context(tls, pCtx, int32(unsafe.Sizeof(NthValueCtx{}))) if p != 0 && (*NthValueCtx)(unsafe.Pointer(p)).FpValue == uintptr(0) { @@ -153604,7 +153654,7 @@ func first_valueStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) _ = apArg } -func first_valueFinalizeFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158463:13: */ +func first_valueFinalizeFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158520:13: */ var p uintptr p = Xsqlite3_aggregate_context(tls, pCtx, int32(unsafe.Sizeof(NthValueCtx{}))) if p != 0 && (*NthValueCtx)(unsafe.Pointer(p)).FpValue != 0 { @@ -153618,7 +153668,7 @@ func first_valueFinalizeFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158463: // the window frame has been set to: // // RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW -func rankStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158481:13: */ +func rankStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158538:13: */ var p uintptr p = Xsqlite3_aggregate_context(tls, pCtx, int32(unsafe.Sizeof(CallCount{}))) if p != 0 { @@ -153631,7 +153681,7 @@ func rankStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* s _ = apArg } -func rankValueFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158497:13: */ +func rankValueFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158554:13: */ var p uintptr p = Xsqlite3_aggregate_context(tls, pCtx, int32(unsafe.Sizeof(CallCount{}))) if p != 0 { @@ -153644,7 +153694,7 @@ func rankValueFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158497:13: */ // the window frame has been set to: // // GROUPS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING -func percent_rankStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158512:13: */ +func percent_rankStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158569:13: */ var p uintptr _ = nArg _ = apArg @@ -153654,7 +153704,7 @@ func percent_rankStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr } } -func percent_rankInvFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158525:13: */ +func percent_rankInvFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158582:13: */ var p uintptr _ = nArg _ = apArg @@ -153662,7 +153712,7 @@ func percent_rankInvFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) (*CallCount)(unsafe.Pointer(p)).FnStep++ } -func percent_rankValueFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158536:13: */ +func percent_rankValueFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158593:13: */ var p uintptr p = Xsqlite3_aggregate_context(tls, pCtx, int32(unsafe.Sizeof(CallCount{}))) if p != 0 { @@ -153680,7 +153730,7 @@ func percent_rankValueFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158536:13 // the window frame has been set to: // // GROUPS BETWEEN 1 FOLLOWING AND UNBOUNDED FOLLOWING -func cume_distStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158557:13: */ +func cume_distStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158614:13: */ var p uintptr _ = nArg _ = apArg @@ -153690,7 +153740,7 @@ func cume_distStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { } } -func cume_distInvFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158570:13: */ +func cume_distInvFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158627:13: */ var p uintptr _ = nArg _ = apArg @@ -153698,7 +153748,7 @@ func cume_distInvFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { (*CallCount)(unsafe.Pointer(p)).FnStep++ } -func cume_distValueFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158581:13: */ +func cume_distValueFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158638:13: */ var p uintptr p = Xsqlite3_aggregate_context(tls, pCtx, 0) if p != 0 { @@ -153712,13 +153762,13 @@ type NtileCtx = struct { FnTotal I64 FnParam I64 FiRow I64 -} /* sqlite3.c:158594:1 */ +} /* sqlite3.c:158651:1 */ // Implementation of ntile(). This assumes that the window frame has // been coerced to: // // ROWS CURRENT ROW AND UNBOUNDED FOLLOWING -func ntileStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158606:13: */ +func ntileStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158663:13: */ var p uintptr _ = nArg p = Xsqlite3_aggregate_context(tls, pCtx, int32(unsafe.Sizeof(NtileCtx{}))) @@ -153734,7 +153784,7 @@ func ntileStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* } } -func ntileInvFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158626:13: */ +func ntileInvFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158683:13: */ var p uintptr _ = nArg _ = apArg @@ -153742,7 +153792,7 @@ func ntileInvFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* s (*NtileCtx)(unsafe.Pointer(p)).FiRow++ } -func ntileValueFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158637:13: */ +func ntileValueFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158694:13: */ var p uintptr p = Xsqlite3_aggregate_context(tls, pCtx, int32(unsafe.Sizeof(NtileCtx{}))) if p != 0 && (*NtileCtx)(unsafe.Pointer(p)).FnParam > int64(0) { @@ -153768,10 +153818,10 @@ type LastValueCtx = struct { FpVal uintptr FnVal int32 F__ccgo_pad1 [4]byte -} /* sqlite3.c:158664:1 */ +} /* sqlite3.c:158721:1 */ // Implementation of last_value(). -func last_valueStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158672:13: */ +func last_valueStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158729:13: */ var p uintptr _ = nArg p = Xsqlite3_aggregate_context(tls, pCtx, int32(unsafe.Sizeof(LastValueCtx{}))) @@ -153786,7 +153836,7 @@ func last_valueStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) } } -func last_valueInvFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158690:13: */ +func last_valueInvFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158747:13: */ var p uintptr _ = nArg _ = apArg @@ -153800,7 +153850,7 @@ func last_valueInvFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { } } -func last_valueValueFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158707:13: */ +func last_valueValueFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158764:13: */ var p uintptr p = Xsqlite3_aggregate_context(tls, pCtx, 0) if p != 0 && (*LastValueCtx)(unsafe.Pointer(p)).FpVal != 0 { @@ -153808,7 +153858,7 @@ func last_valueValueFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158707:13: } } -func last_valueFinalizeFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158714:13: */ +func last_valueFinalizeFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158771:13: */ var p uintptr p = Xsqlite3_aggregate_context(tls, pCtx, int32(unsafe.Sizeof(LastValueCtx{}))) if p != 0 && (*LastValueCtx)(unsafe.Pointer(p)).FpVal != 0 { @@ -153824,17 +153874,17 @@ func last_valueFinalizeFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158714:1 // comparison of the zName pointer. Example: // // if( pFuncDef->zName==row_valueName ){ ... } -var row_numberName = *(*[11]int8)(unsafe.Pointer(ts + 22450)) /* sqlite3.c:158732:19 */ -var dense_rankName = *(*[11]int8)(unsafe.Pointer(ts + 22461)) /* sqlite3.c:158733:19 */ -var rankName = *(*[5]int8)(unsafe.Pointer(ts + 22472)) /* sqlite3.c:158734:19 */ -var percent_rankName = *(*[13]int8)(unsafe.Pointer(ts + 22477)) /* sqlite3.c:158735:19 */ -var cume_distName = *(*[10]int8)(unsafe.Pointer(ts + 22490)) /* sqlite3.c:158736:19 */ -var ntileName = *(*[6]int8)(unsafe.Pointer(ts + 22500)) /* sqlite3.c:158737:19 */ -var last_valueName = *(*[11]int8)(unsafe.Pointer(ts + 22506)) /* sqlite3.c:158738:19 */ -var nth_valueName = *(*[10]int8)(unsafe.Pointer(ts + 22517)) /* sqlite3.c:158739:19 */ -var first_valueName = *(*[12]int8)(unsafe.Pointer(ts + 22527)) /* sqlite3.c:158740:19 */ -var leadName = *(*[5]int8)(unsafe.Pointer(ts + 22539)) /* sqlite3.c:158741:19 */ -var lagName = *(*[4]int8)(unsafe.Pointer(ts + 22544 /* "lag" */)) /* sqlite3.c:158742:19 */ +var row_numberName = *(*[11]int8)(unsafe.Pointer(ts + 22450)) /* sqlite3.c:158789:19 */ +var dense_rankName = *(*[11]int8)(unsafe.Pointer(ts + 22461)) /* sqlite3.c:158790:19 */ +var rankName = *(*[5]int8)(unsafe.Pointer(ts + 22472)) /* sqlite3.c:158791:19 */ +var percent_rankName = *(*[13]int8)(unsafe.Pointer(ts + 22477)) /* sqlite3.c:158792:19 */ +var cume_distName = *(*[10]int8)(unsafe.Pointer(ts + 22490)) /* sqlite3.c:158793:19 */ +var ntileName = *(*[6]int8)(unsafe.Pointer(ts + 22500)) /* sqlite3.c:158794:19 */ +var last_valueName = *(*[11]int8)(unsafe.Pointer(ts + 22506)) /* sqlite3.c:158795:19 */ +var nth_valueName = *(*[10]int8)(unsafe.Pointer(ts + 22517)) /* sqlite3.c:158796:19 */ +var first_valueName = *(*[12]int8)(unsafe.Pointer(ts + 22527)) /* sqlite3.c:158797:19 */ +var leadName = *(*[5]int8)(unsafe.Pointer(ts + 22539)) /* sqlite3.c:158798:19 */ +var lagName = *(*[4]int8)(unsafe.Pointer(ts + 22544 /* "lag" */)) /* sqlite3.c:158799:19 */ // No-op implementations of xStep() and xFinalize(). Used as place-holders // for built-in window functions that never call those interfaces. @@ -153843,7 +153893,7 @@ var lagName = *(*[4]int8)(unsafe.Pointer(ts + 22544 /* "lag" */)) /* sqlite3.c:1 // noopStepFunc() is never called, and so it is marked with NO_TEST to // let the test coverage routine know not to expect this function to be // invoked. -func noopStepFunc(tls *libc.TLS, p uintptr, n int32, a uintptr) { /* sqlite3.c:158753:13: */ //NO_TEST +func noopStepFunc(tls *libc.TLS, p uintptr, n int32, a uintptr) { /* sqlite3.c:158810:13: */ //NO_TEST _ = p //NO_TEST _ = n //NO_TEST _ = a //NO_TEST @@ -153851,7 +153901,7 @@ func noopStepFunc(tls *libc.TLS, p uintptr, n int32, a uintptr) { /* sqlite3.c:1 } //NO_TEST -func noopValueFunc(tls *libc.TLS, p uintptr) { /* sqlite3.c:158763:13: */ +func noopValueFunc(tls *libc.TLS, p uintptr) { /* sqlite3.c:158820:13: */ _ = p /*no-op*/ } @@ -153866,7 +153916,7 @@ func noopValueFunc(tls *libc.TLS, p uintptr) { /* sqlite3.c:158763:13: */ // xInverse. // Register those built-in window functions that are not also aggregates. -func Xsqlite3WindowFunctions(tls *libc.TLS) { /* sqlite3.c:158794:21: */ +func Xsqlite3WindowFunctions(tls *libc.TLS) { /* sqlite3.c:158851:21: */ Xsqlite3InsertBuiltinFuncs(tls, uintptr(unsafe.Pointer(&aWindowFuncs)), int32(uint64(unsafe.Sizeof(aWindowFuncs))/uint64(unsafe.Sizeof(FuncDef{})))) } @@ -153885,9 +153935,9 @@ var aWindowFuncs = [15]FuncDef{ {FnArg: int8(3), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_UTF8 | SQLITE_FUNC_WINDOW | 0), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: 0}, {FnArg: int8(1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_UTF8 | SQLITE_FUNC_WINDOW | 0), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: 0}, {FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_UTF8 | SQLITE_FUNC_WINDOW | 0), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: 0}, - {FnArg: int8(3), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_UTF8 | SQLITE_FUNC_WINDOW | 0), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: 0}} /* sqlite3.c:158795:18 */ + {FnArg: int8(3), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_UTF8 | SQLITE_FUNC_WINDOW | 0), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: 0}} /* sqlite3.c:158852:18 */ -func windowFind(tls *libc.TLS, pParse uintptr, pList uintptr, zName uintptr) uintptr { /* sqlite3.c:158815:15: */ +func windowFind(tls *libc.TLS, pParse uintptr, pList uintptr, zName uintptr) uintptr { /* sqlite3.c:158872:15: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -153918,7 +153968,7 @@ func windowFind(tls *libc.TLS, pParse uintptr, pList uintptr, zName uintptr) uin // * If the function is a built-in window function that requires the // window to be coerced (see "BUILT-IN WINDOW FUNCTIONS" at the top // of this file), pWin is updated here. -func Xsqlite3WindowUpdate(tls *libc.TLS, pParse uintptr, pList uintptr, pWin uintptr, pFunc uintptr) { /* sqlite3.c:158843:21: */ +func Xsqlite3WindowUpdate(tls *libc.TLS, pParse uintptr, pList uintptr, pWin uintptr, pFunc uintptr) { /* sqlite3.c:158900:21: */ bp := tls.Alloc(192) defer tls.Free(192) @@ -153986,16 +154036,16 @@ type WindowUpdate = struct { FeStart int32 FeEnd int32 F__ccgo_pad1 [4]byte -} /* sqlite3.c:158878:7 */ +} /* sqlite3.c:158935:7 */ // Context object passed through sqlite3WalkExprList() to // selectWindowRewriteExprCb() by selectWindowRewriteEList(). -type WindowRewrite = WindowRewrite1 /* sqlite3.c:158918:30 */ +type WindowRewrite = WindowRewrite1 /* sqlite3.c:158975:30 */ // Callback function used by selectWindowRewriteEList(). If necessary, // this function appends to the output expression-list and updates // expression (*ppExpr) in place. -func selectWindowRewriteExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:158932:12: */ +func selectWindowRewriteExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:158989:12: */ var p uintptr = *(*uintptr)(unsafe.Pointer(pWalker + 40)) var pParse uintptr = (*Walker)(unsafe.Pointer(pWalker)).FpParse @@ -154095,7 +154145,7 @@ func selectWindowRewriteExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) in return WRC_Continue } -func selectWindowRewriteSelectCb(tls *libc.TLS, pWalker uintptr, pSelect uintptr) int32 { /* sqlite3.c:159014:12: */ +func selectWindowRewriteSelectCb(tls *libc.TLS, pWalker uintptr, pSelect uintptr) int32 { /* sqlite3.c:159071:12: */ var p uintptr = *(*uintptr)(unsafe.Pointer(pWalker + 40)) var pSave uintptr = (*WindowRewrite1)(unsafe.Pointer(p)).FpSubSelect if pSave == pSelect { @@ -154119,7 +154169,7 @@ func selectWindowRewriteSelectCb(tls *libc.TLS, pWalker uintptr, pSelect uintptr // with a TK_COLUMN that reads the (N-1)th element of table // pWin->iEphCsr, where N is the number of elements in (*ppSub) after // appending the new one. -func selectWindowRewriteEList(tls *libc.TLS, pParse uintptr, pWin uintptr, pSrc uintptr, pEList uintptr, pTab uintptr, ppSub uintptr) { /* sqlite3.c:159041:13: */ +func selectWindowRewriteEList(tls *libc.TLS, pParse uintptr, pWin uintptr, pSrc uintptr, pEList uintptr, pTab uintptr, ppSub uintptr) { /* sqlite3.c:159098:13: */ bp := tls.Alloc(88) defer tls.Free(88) @@ -154151,7 +154201,7 @@ func selectWindowRewriteEList(tls *libc.TLS, pParse uintptr, pWin uintptr, pSrc // Append a copy of each expression in expression-list pAppend to // expression list pList. Return a pointer to the result list. -func exprListAppendList(tls *libc.TLS, pParse uintptr, pList uintptr, pAppend uintptr, bIntToNull int32) uintptr { /* sqlite3.c:159075:17: */ +func exprListAppendList(tls *libc.TLS, pParse uintptr, pList uintptr, pAppend uintptr, bIntToNull int32) uintptr { /* sqlite3.c:159132:17: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -154197,7 +154247,7 @@ func exprListAppendList(tls *libc.TLS, pParse uintptr, pList uintptr, pAppend ui // due to the extra subquery layer that was added. // // See also the incrAggDepth() routine in resolve.c -func sqlite3WindowExtraAggFuncDepth(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:159117:12: */ +func sqlite3WindowExtraAggFuncDepth(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:159174:12: */ if int32((*Expr)(unsafe.Pointer(pExpr)).Fop) == TK_AGG_FUNCTION && int32((*Expr)(unsafe.Pointer(pExpr)).Fop2) >= (*Walker)(unsafe.Pointer(pWalker)).FwalkerDepth { (*Expr)(unsafe.Pointer(pExpr)).Fop2++ @@ -154205,7 +154255,7 @@ func sqlite3WindowExtraAggFuncDepth(tls *libc.TLS, pWalker uintptr, pExpr uintpt return WRC_Continue } -func disallowAggregatesInOrderByCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:159126:12: */ +func disallowAggregatesInOrderByCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:159183:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -154222,7 +154272,7 @@ func disallowAggregatesInOrderByCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr // rewrites the SELECT statement so that window function xStep functions // are invoked in the correct order as described under "SELECT REWRITING" // at the top of this file. -func Xsqlite3WindowRewrite(tls *libc.TLS, pParse uintptr, p uintptr) int32 { /* sqlite3.c:159142:20: */ +func Xsqlite3WindowRewrite(tls *libc.TLS, pParse uintptr, p uintptr) int32 { /* sqlite3.c:159199:20: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -154406,7 +154456,7 @@ func Xsqlite3WindowRewrite(tls *libc.TLS, pParse uintptr, p uintptr) int32 { /* // Unlink the Window object from the Select to which it is attached, // if it is attached. -func Xsqlite3WindowUnlinkFromSelect(tls *libc.TLS, p uintptr) { /* sqlite3.c:159306:21: */ +func Xsqlite3WindowUnlinkFromSelect(tls *libc.TLS, p uintptr) { /* sqlite3.c:159363:21: */ if (*Window)(unsafe.Pointer(p)).FppThis != 0 { *(*uintptr)(unsafe.Pointer((*Window)(unsafe.Pointer(p)).FppThis)) = (*Window)(unsafe.Pointer(p)).FpNextWin if (*Window)(unsafe.Pointer(p)).FpNextWin != 0 { @@ -154417,7 +154467,7 @@ func Xsqlite3WindowUnlinkFromSelect(tls *libc.TLS, p uintptr) { /* sqlite3.c:159 } // Free the Window object passed as the second argument. -func Xsqlite3WindowDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:159317:21: */ +func Xsqlite3WindowDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:159374:21: */ if p != 0 { Xsqlite3WindowUnlinkFromSelect(tls, p) Xsqlite3ExprDelete(tls, db, (*Window)(unsafe.Pointer(p)).FpFilter) @@ -154432,7 +154482,7 @@ func Xsqlite3WindowDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:1 } // Free the linked list of Window objects starting at the second argument. -func Xsqlite3WindowListDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:159334:21: */ +func Xsqlite3WindowListDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:159391:21: */ for p != 0 { var pNext uintptr = (*Window)(unsafe.Pointer(p)).FpNextWin Xsqlite3WindowDelete(tls, db, p) @@ -154445,7 +154495,7 @@ func Xsqlite3WindowListDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3 // constant, change it to NULL. The fact that it is then a non-negative // integer will be caught later. But it is important not to leave // variable values in the expression tree. -func sqlite3WindowOffsetExpr(tls *libc.TLS, pParse uintptr, pExpr uintptr) uintptr { /* sqlite3.c:159349:13: */ +func sqlite3WindowOffsetExpr(tls *libc.TLS, pParse uintptr, pExpr uintptr) uintptr { /* sqlite3.c:159406:13: */ if 0 == Xsqlite3ExprIsConstant(tls, pExpr) { if int32((*Parse)(unsafe.Pointer(pParse)).FeParseMode) >= PARSE_MODE_RENAME { Xsqlite3RenameExprUnmap(tls, pParse, pExpr) @@ -154457,7 +154507,7 @@ func sqlite3WindowOffsetExpr(tls *libc.TLS, pParse uintptr, pExpr uintptr) uintp } // Allocate and return a new Window object describing a Window Definition. -func Xsqlite3WindowAlloc(tls *libc.TLS, pParse uintptr, eType int32, eStart int32, pStart uintptr, eEnd int32, pEnd uintptr, eExclude U8) uintptr { /* sqlite3.c:159361:23: */ +func Xsqlite3WindowAlloc(tls *libc.TLS, pParse uintptr, eType int32, eStart int32, pStart uintptr, eEnd int32, pEnd uintptr, eExclude U8) uintptr { /* sqlite3.c:159418:23: */ var pWin uintptr var bImplicitFrame int32 pWin = uintptr(0) @@ -154526,7 +154576,7 @@ windowAllocErr: // Attach PARTITION and ORDER BY clauses pPartition and pOrderBy to window // pWin. Also, if parameter pBase is not NULL, set pWin->zBase to the // equivalent nul-terminated string. -func Xsqlite3WindowAssemble(tls *libc.TLS, pParse uintptr, pWin uintptr, pPartition uintptr, pOrderBy uintptr, pBase uintptr) uintptr { /* sqlite3.c:159433:23: */ +func Xsqlite3WindowAssemble(tls *libc.TLS, pParse uintptr, pWin uintptr, pPartition uintptr, pOrderBy uintptr, pBase uintptr) uintptr { /* sqlite3.c:159490:23: */ if pWin != 0 { (*Window)(unsafe.Pointer(pWin)).FpPartition = pPartition (*Window)(unsafe.Pointer(pWin)).FpOrderBy = pOrderBy @@ -154545,7 +154595,7 @@ func Xsqlite3WindowAssemble(tls *libc.TLS, pParse uintptr, pWin uintptr, pPartit // stored in the linked list starting at pWin->pNextWin. This function // either updates *pWin according to the base specification, or else // leaves an error in pParse. -func Xsqlite3WindowChain(tls *libc.TLS, pParse uintptr, pWin uintptr, pList uintptr) { /* sqlite3.c:159460:21: */ +func Xsqlite3WindowChain(tls *libc.TLS, pParse uintptr, pWin uintptr, pList uintptr) { /* sqlite3.c:159517:21: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -154579,7 +154629,7 @@ func Xsqlite3WindowChain(tls *libc.TLS, pParse uintptr, pWin uintptr, pList uint } // Attach window object pWin to expression p. -func Xsqlite3WindowAttach(tls *libc.TLS, pParse uintptr, p uintptr, pWin uintptr) { /* sqlite3.c:159494:21: */ +func Xsqlite3WindowAttach(tls *libc.TLS, pParse uintptr, p uintptr, pWin uintptr) { /* sqlite3.c:159551:21: */ if p != 0 { *(*uintptr)(unsafe.Pointer(p + 64)) = pWin @@ -154598,7 +154648,7 @@ func Xsqlite3WindowAttach(tls *libc.TLS, pParse uintptr, p uintptr, pWin uintptr // to be processed as part of SELECT statement pSel). The window is linked // in if either (a) there are no other windows already linked to this // SELECT, or (b) the windows already linked use a compatible window frame. -func Xsqlite3WindowLink(tls *libc.TLS, pSel uintptr, pWin uintptr) { /* sqlite3.c:159517:21: */ +func Xsqlite3WindowLink(tls *libc.TLS, pSel uintptr, pWin uintptr) { /* sqlite3.c:159574:21: */ if pSel != 0 { if uintptr(0) == (*Select)(unsafe.Pointer(pSel)).FpWin || 0 == Xsqlite3WindowCompare(tls, uintptr(0), (*Select)(unsafe.Pointer(pSel)).FpWin, pWin, 0) { (*Window)(unsafe.Pointer(pWin)).FpNextWin = (*Select)(unsafe.Pointer(pSel)).FpWin @@ -154618,7 +154668,7 @@ func Xsqlite3WindowLink(tls *libc.TLS, pSel uintptr, pWin uintptr) { /* sqlite3. // Return 0 if the two window objects are identical, 1 if they are // different, or 2 if it cannot be determined if the objects are identical // or not. Identical window objects can be processed in a single scan. -func Xsqlite3WindowCompare(tls *libc.TLS, pParse uintptr, p1 uintptr, p2 uintptr, bFilter int32) int32 { /* sqlite3.c:159539:20: */ +func Xsqlite3WindowCompare(tls *libc.TLS, pParse uintptr, p1 uintptr, p2 uintptr, bFilter int32) int32 { /* sqlite3.c:159596:20: */ var res int32 if p1 == uintptr(0) || p2 == uintptr(0) { return 1 @@ -154658,7 +154708,7 @@ func Xsqlite3WindowCompare(tls *libc.TLS, pParse uintptr, p1 uintptr, p2 uintptr // This is called by code in select.c before it calls sqlite3WhereBegin() // to begin iterating through the sub-query results. It is used to allocate // and initialize registers and cursors used by sqlite3WindowCodeStep(). -func Xsqlite3WindowCodeInit(tls *libc.TLS, pParse uintptr, pSelect uintptr) { /* sqlite3.c:159573:21: */ +func Xsqlite3WindowCodeInit(tls *libc.TLS, pParse uintptr, pSelect uintptr) { /* sqlite3.c:159630:21: */ var nEphExpr int32 = (*ExprList)(unsafe.Pointer((*Select)(unsafe.Pointer((*SrcItem)(unsafe.Pointer((*Select)(unsafe.Pointer(pSelect)).FpSrc + 8)).FpSelect)).FpEList)).FnExpr var pMWin uintptr = (*Select)(unsafe.Pointer(pSelect)).FpWin var pWin uintptr @@ -154734,7 +154784,7 @@ func Xsqlite3WindowCodeInit(tls *libc.TLS, pParse uintptr, pSelect uintptr) { /* // evaluated and the result left in register reg. This function generates VM // code to check that the value is a non-negative integer and throws an // exception if it is not. -func windowCheckValue(tls *libc.TLS, pParse uintptr, reg int32, eCond int32) { /* sqlite3.c:159660:13: */ +func windowCheckValue(tls *libc.TLS, pParse uintptr, reg int32, eCond int32) { /* sqlite3.c:159717:13: */ var v uintptr = Xsqlite3GetVdbe(tls, pParse) var regZero int32 = Xsqlite3GetTempReg(tls, pParse) @@ -154768,12 +154818,12 @@ var azErr = [5]uintptr{ ts + 22349, ts + 22996, ts + 23048, -} /* sqlite3.c:159661:21 */ -var aOp1 = [5]int32{OP_Ge, OP_Ge, OP_Gt, OP_Ge, OP_Ge} /* sqlite3.c:159668:14 */ +} /* sqlite3.c:159718:21 */ +var aOp1 = [5]int32{OP_Ge, OP_Ge, OP_Gt, OP_Ge, OP_Ge} /* sqlite3.c:159725:14 */ // Return the number of arguments passed to the window-function associated // with the object passed as the only argument to this function. -func windowArgCount(tls *libc.TLS, pWin uintptr) int32 { /* sqlite3.c:159707:12: */ +func windowArgCount(tls *libc.TLS, pWin uintptr) int32 { /* sqlite3.c:159764:12: */ var pList uintptr pList = *(*uintptr)(unsafe.Pointer((*Window)(unsafe.Pointer(pWin)).FpOwner + 32)) @@ -154798,19 +154848,19 @@ type WindowCodeArg1 = struct { Fcurrent WindowCsrAndReg Fend WindowCsrAndReg F__ccgo_pad1 [4]byte -} /* sqlite3.c:159714:9 */ +} /* sqlite3.c:159771:9 */ -type WindowCodeArg = WindowCodeArg1 /* sqlite3.c:159714:30 */ +type WindowCodeArg = WindowCodeArg1 /* sqlite3.c:159771:30 */ type WindowCsrAndReg1 = struct { Fcsr int32 Freg int32 -} /* sqlite3.c:159714:9 */ +} /* sqlite3.c:159771:9 */ -type WindowCsrAndReg = WindowCsrAndReg1 /* sqlite3.c:159715:32 */ +type WindowCsrAndReg = WindowCsrAndReg1 /* sqlite3.c:159772:32 */ // Generate VM code to read the window frames peer values from cursor csr into // an array of registers starting at reg. -func windowReadPeerValues(tls *libc.TLS, p uintptr, csr int32, reg int32) { /* sqlite3.c:159799:13: */ +func windowReadPeerValues(tls *libc.TLS, p uintptr, csr int32, reg int32) { /* sqlite3.c:159856:13: */ var pMWin uintptr = (*WindowCodeArg)(unsafe.Pointer(p)).FpMWin var pOrderBy uintptr = (*Window)(unsafe.Pointer(pMWin)).FpOrderBy if pOrderBy != 0 { @@ -154846,7 +154896,7 @@ func windowReadPeerValues(tls *libc.TLS, p uintptr, csr int32, reg int32) { /* s // // If argument regPartSize is non-zero, then it is a register containing the // number of rows in the current partition. -func windowAggStep(tls *libc.TLS, p uintptr, pMWin uintptr, csr int32, bInverse int32, reg int32) { /* sqlite3.c:159836:13: */ +func windowAggStep(tls *libc.TLS, p uintptr, pMWin uintptr, csr int32, bInverse int32, reg int32) { /* sqlite3.c:159893:13: */ var pParse uintptr = (*WindowCodeArg)(unsafe.Pointer(p)).FpParse var v uintptr = Xsqlite3GetVdbe(tls, pParse) var pWin uintptr @@ -154953,7 +155003,7 @@ func windowAggStep(tls *libc.TLS, p uintptr, pMWin uintptr, csr int32, bInverse // (bFin==1) for each window function in the linked list starting at // pMWin. Or, for built-in window-functions that do not use the standard // API, generate the equivalent VM code. -func windowAggFinal(tls *libc.TLS, p uintptr, bFin int32) { /* sqlite3.c:159953:13: */ +func windowAggFinal(tls *libc.TLS, p uintptr, bFin int32) { /* sqlite3.c:160010:13: */ var pParse uintptr = (*WindowCodeArg)(unsafe.Pointer(p)).FpParse var pMWin uintptr = (*WindowCodeArg)(unsafe.Pointer(p)).FpMWin var v uintptr = Xsqlite3GetVdbe(tls, pParse) @@ -154989,7 +155039,7 @@ func windowAggFinal(tls *libc.TLS, p uintptr, bFin int32) { /* sqlite3.c:159953: // p->pMWin list by doing a full scan of the current window frame. Store the // results in the Window.regResult registers, ready to return the upper // layer. -func windowFullScan(tls *libc.TLS, p uintptr) { /* sqlite3.c:159992:13: */ +func windowFullScan(tls *libc.TLS, p uintptr) { /* sqlite3.c:160049:13: */ var pWin uintptr var pParse uintptr = (*WindowCodeArg)(unsafe.Pointer(p)).FpParse var pMWin uintptr = (*WindowCodeArg)(unsafe.Pointer(p)).FpMWin @@ -155096,7 +155146,7 @@ func windowFullScan(tls *libc.TLS, p uintptr) { /* sqlite3.c:159992:13: */ // first_value() // lag() // lead() -func windowReturnOneRow(tls *libc.TLS, p uintptr) { /* sqlite3.c:160098:13: */ +func windowReturnOneRow(tls *libc.TLS, p uintptr) { /* sqlite3.c:160155:13: */ var pMWin uintptr = (*WindowCodeArg)(unsafe.Pointer(p)).FpMWin var v uintptr = (*WindowCodeArg)(unsafe.Pointer(p)).FpVdbe @@ -155179,7 +155229,7 @@ func windowReturnOneRow(tls *libc.TLS, p uintptr) { /* sqlite3.c:160098:13: */ // in the linked list passed as the second argument to NULL. And perform // any equivalent initialization required by any built-in window functions // in the list. -func windowInitAccum(tls *libc.TLS, pParse uintptr, pMWin uintptr) int32 { /* sqlite3.c:160175:12: */ +func windowInitAccum(tls *libc.TLS, pParse uintptr, pMWin uintptr) int32 { /* sqlite3.c:160232:12: */ var v uintptr = Xsqlite3GetVdbe(tls, pParse) var regArg int32 var nArg int32 = 0 @@ -155214,7 +155264,7 @@ func windowInitAccum(tls *libc.TLS, pParse uintptr, pMWin uintptr) int32 { /* sq // Return true if the current frame should be cached in the ephemeral table, // even if there are no xInverse() calls required. -func windowCacheFrame(tls *libc.TLS, pMWin uintptr) int32 { /* sqlite3.c:160207:12: */ +func windowCacheFrame(tls *libc.TLS, pMWin uintptr) int32 { /* sqlite3.c:160264:12: */ var pWin uintptr if (*Window)(unsafe.Pointer(pMWin)).FregStartRowid != 0 { return 1 @@ -155239,7 +155289,7 @@ func windowCacheFrame(tls *libc.TLS, pMWin uintptr) int32 { /* sqlite3.c:160207: // If the two arrays are not equal, the contents of regNew is copied to // regOld and control falls through. Otherwise, if the contents of the arrays // are equal, an OP_Goto is executed. The address of the OP_Goto is returned. -func windowIfNewPeer(tls *libc.TLS, pParse uintptr, pOrderBy uintptr, regNew int32, regOld int32, addr int32) { /* sqlite3.c:160233:13: */ +func windowIfNewPeer(tls *libc.TLS, pParse uintptr, pOrderBy uintptr, regNew int32, regOld int32, addr int32) { /* sqlite3.c:160290:13: */ var v uintptr = Xsqlite3GetVdbe(tls, pParse) if pOrderBy != 0 { var nVal int32 = (*ExprList)(unsafe.Pointer(pOrderBy)).FnExpr @@ -155276,7 +155326,7 @@ func windowIfNewPeer(tls *libc.TLS, pParse uintptr, pOrderBy uintptr, regNew int // A special type of arithmetic is used such that if csr1.peerVal is not // a numeric type (real or integer), then the result of the addition // or subtraction is a a copy of csr1.peerVal. -func windowCodeRangeTest(tls *libc.TLS, p uintptr, op int32, csr1 int32, regVal int32, csr2 int32, lbl int32) { /* sqlite3.c:160279:13: */ +func windowCodeRangeTest(tls *libc.TLS, p uintptr, op int32, csr1 int32, regVal int32, csr2 int32, lbl int32) { /* sqlite3.c:160336:13: */ var pParse uintptr = (*WindowCodeArg)(unsafe.Pointer(p)).FpParse var v uintptr = Xsqlite3GetVdbe(tls, pParse) var pOrderBy uintptr = (*Window)(unsafe.Pointer((*WindowCodeArg)(unsafe.Pointer(p)).FpMWin)).FpOrderBy // ORDER BY clause for window @@ -155399,7 +155449,7 @@ func windowCodeRangeTest(tls *libc.TLS, p uintptr, op int32, csr1 int32, regVal // generates VM code for a single RETURN_ROW, AGGSTEP or AGGINVERSE // operation. Refer to the header comment for sqlite3WindowCodeStep() for // details. -func windowCodeOp(tls *libc.TLS, p uintptr, op int32, regCountdown int32, jumpOnEof int32) int32 { /* sqlite3.c:160412:12: */ +func windowCodeOp(tls *libc.TLS, p uintptr, op int32, regCountdown int32, jumpOnEof int32) int32 { /* sqlite3.c:160469:12: */ var csr int32 var reg int32 var pParse uintptr = (*WindowCodeArg)(unsafe.Pointer(p)).FpParse @@ -155547,7 +155597,7 @@ func windowCodeOp(tls *libc.TLS, p uintptr, op int32, regCountdown int32, jumpOn // Allocate and return a duplicate of the Window object indicated by the // third argument. Set the Window.pOwner field of the new object to // pOwner. -func Xsqlite3WindowDup(tls *libc.TLS, db uintptr, pOwner uintptr, p uintptr) uintptr { /* sqlite3.c:160561:23: */ +func Xsqlite3WindowDup(tls *libc.TLS, db uintptr, pOwner uintptr, p uintptr) uintptr { /* sqlite3.c:160618:23: */ var pNew uintptr = uintptr(0) if p != 0 { pNew = Xsqlite3DbMallocZero(tls, db, uint64(unsafe.Sizeof(Window{}))) @@ -155578,7 +155628,7 @@ func Xsqlite3WindowDup(tls *libc.TLS, db uintptr, pOwner uintptr, p uintptr) uin // Return a copy of the linked list of Window objects passed as the // second argument. -func Xsqlite3WindowListDup(tls *libc.TLS, db uintptr, p uintptr) uintptr { /* sqlite3.c:160594:23: */ +func Xsqlite3WindowListDup(tls *libc.TLS, db uintptr, p uintptr) uintptr { /* sqlite3.c:160651:23: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -155603,7 +155653,7 @@ func Xsqlite3WindowListDup(tls *libc.TLS, db uintptr, p uintptr) uintptr { /* sq // // If an OOM error occurs, this function sets the Parse.db.mallocFailed // flag and returns zero. -func windowExprGtZero(tls *libc.TLS, pParse uintptr, pExpr uintptr) int32 { /* sqlite3.c:160616:12: */ +func windowExprGtZero(tls *libc.TLS, pParse uintptr, pExpr uintptr) int32 { /* sqlite3.c:160673:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -155951,7 +156001,7 @@ func windowExprGtZero(tls *libc.TLS, pParse uintptr, pExpr uintptr) int32 { /* s // // The text above leaves out many details. Refer to the code and comments // below for a more complete picture. -func Xsqlite3WindowCodeStep(tls *libc.TLS, pParse uintptr, p uintptr, pWInfo uintptr, regGosub int32, addrGosub int32) { /* sqlite3.c:160963:21: */ +func Xsqlite3WindowCodeStep(tls *libc.TLS, pParse uintptr, p uintptr, pWInfo uintptr, regGosub int32, addrGosub int32) { /* sqlite3.c:161020:21: */ bp := tls.Alloc(72) defer tls.Free(72) @@ -156348,17 +156398,17 @@ type TrigEvent = struct { Fa int32 F__ccgo_pad1 [4]byte Fb uintptr -} /* sqlite3.c:161363:1 */ +} /* sqlite3.c:161420:1 */ type FrameBound = struct { FeType int32 F__ccgo_pad1 [4]byte FpExpr uintptr -} /* sqlite3.c:161365:1 */ +} /* sqlite3.c:161422:1 */ // Disable lookaside memory allocation for objects that might be // shared across database connections. -func disableLookaside(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:161371:13: */ +func disableLookaside(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:161428:13: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb (*Parse)(unsafe.Pointer(pParse)).FdisableLookaside++ (*Sqlite3)(unsafe.Pointer(db)).Flookaside.FbDisable++ @@ -156368,7 +156418,7 @@ func disableLookaside(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:161371:13: * // For a compound SELECT statement, make sure p->pPrior->pNext==p for // all elements in the list. And make sure list length does not exceed // SQLITE_LIMIT_COMPOUND_SELECT. -func parserDoubleLinkSelect(tls *libc.TLS, pParse uintptr, p uintptr) { /* sqlite3.c:161404:15: */ +func parserDoubleLinkSelect(tls *libc.TLS, pParse uintptr, p uintptr) { /* sqlite3.c:161461:15: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -156407,7 +156457,7 @@ func parserDoubleLinkSelect(tls *libc.TLS, pParse uintptr, p uintptr) { /* sqlit // Attach a With object describing the WITH clause to a Select // object describing the query for which the WITH clause is a prefix. -func attachWithToSelect(tls *libc.TLS, pParse uintptr, pSelect uintptr, pWith uintptr) uintptr { /* sqlite3.c:161435:17: */ +func attachWithToSelect(tls *libc.TLS, pParse uintptr, pSelect uintptr, pWith uintptr) uintptr { /* sqlite3.c:161492:17: */ if pSelect != 0 { (*Select)(unsafe.Pointer(pSelect)).FpWith = pWith parserDoubleLinkSelect(tls, pParse, pSelect) @@ -156419,7 +156469,7 @@ func attachWithToSelect(tls *libc.TLS, pParse uintptr, pSelect uintptr, pWith ui } // Construct a new Expr object from a single token -func tokenExpr(tls *libc.TLS, pParse uintptr, op int32, t Token) uintptr { /* sqlite3.c:161447:15: */ +func tokenExpr(tls *libc.TLS, pParse uintptr, op int32, t Token) uintptr { /* sqlite3.c:161504:15: */ bp := tls.Alloc(16) defer tls.Free(16) *(*Token)(unsafe.Pointer(bp)) = t @@ -156457,7 +156507,7 @@ func tokenExpr(tls *libc.TLS, pParse uintptr, op int32, t Token) uintptr { /* sq // A routine to convert a binary TK_IS or TK_ISNOT expression into a // unary TK_ISNULL or TK_NOTNULL expression. -func binaryToUnaryIfNull(tls *libc.TLS, pParse uintptr, pY uintptr, pA uintptr, op int32) { /* sqlite3.c:161483:15: */ +func binaryToUnaryIfNull(tls *libc.TLS, pParse uintptr, pY uintptr, pA uintptr, op int32) { /* sqlite3.c:161540:15: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb if pA != 0 && pY != 0 && int32((*Expr)(unsafe.Pointer(pY)).Fop) == TK_NULL && !(int32((*Parse)(unsafe.Pointer(pParse)).FeParseMode) >= PARSE_MODE_RENAME) { (*Expr)(unsafe.Pointer(pA)).Fop = U8(op) @@ -156471,7 +156521,7 @@ func binaryToUnaryIfNull(tls *libc.TLS, pParse uintptr, pY uintptr, pA uintptr, // list of identifiers. Report an error if the ID list contains // a COLLATE clause or an ASC or DESC keyword, except ignore the // error while parsing a legacy schema. -func parserAddExprIdListTerm(tls *libc.TLS, pParse uintptr, pPrior uintptr, pIdToken uintptr, hasCollate int32, sortOrder int32) uintptr { /* sqlite3.c:161497:19: */ +func parserAddExprIdListTerm(tls *libc.TLS, pParse uintptr, pPrior uintptr, pIdToken uintptr, hasCollate int32, sortOrder int32) uintptr { /* sqlite3.c:161554:19: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -156546,7 +156596,7 @@ type YYMINORTYPE = struct { F__ccgo_pad1 [0]uint64 Fyyinit int32 F__ccgo_pad2 [12]byte -} /* sqlite3.c:161789:3 */ +} /* sqlite3.c:161846:3 */ //************ End control #defines ****************************************** // Define the yytestcase() macro to be a no-op if is not already defined @@ -156815,7 +156865,7 @@ var yy_action = [2070]uint16{ /* 2040 */ uint16(29), uint16(921), uint16(390), uint16(1176), uint16(172), uint16(139), uint16(1175), uint16(1235), uint16(261), uint16(1235), /* 2050 */ uint16(1235), uint16(1235), uint16(1235), uint16(1235), uint16(1235), uint16(1235), uint16(1235), uint16(262), uint16(1235), uint16(1235), /* 2060 */ uint16(1235), uint16(1235), uint16(1235), uint16(1235), uint16(1235), uint16(1235), uint16(1235), uint16(1235), uint16(1593), uint16(1592), -} /* sqlite3.c:161883:27 */ +} /* sqlite3.c:161940:27 */ var yy_lookahead = [2255]uint16{ /* 0 */ uint16(193), uint16(223), uint16(193), uint16(225), uint16(193), uint16(193), uint16(193), uint16(274), uint16(275), uint16(276), /* 10 */ uint16(193), uint16(233), uint16(219), uint16(193), uint16(274), uint16(275), uint16(276), uint16(206), uint16(206), uint16(19), @@ -157043,7 +157093,7 @@ var yy_lookahead = [2255]uint16{ /* 2230 */ uint16(319), uint16(319), uint16(319), uint16(319), uint16(319), uint16(319), uint16(319), uint16(319), uint16(319), uint16(319), /* 2240 */ uint16(319), uint16(319), uint16(319), uint16(319), uint16(319), uint16(319), uint16(319), uint16(319), uint16(319), uint16(319), /* 2250 */ uint16(319), uint16(319), uint16(319), uint16(319), uint16(319), -} /* sqlite3.c:162092:25 */ +} /* sqlite3.c:162149:25 */ var yy_shift_ofst = [574]uint16{ /* 0 */ uint16(1648), uint16(1477), uint16(1272), uint16(322), uint16(322), uint16(262), uint16(1319), uint16(1478), uint16(1491), uint16(1662), /* 10 */ uint16(1662), uint16(1662), uint16(317), uint16(0), uint16(0), uint16(214), uint16(1093), uint16(1662), uint16(1662), uint16(1662), @@ -157103,7 +157153,7 @@ var yy_shift_ofst = [574]uint16{ /* 550 */ uint16(2005), uint16(2006), uint16(2007), uint16(2008), uint16(2009), uint16(2001), uint16(2020), uint16(2012), uint16(2013), uint16(2014), /* 560 */ uint16(2015), uint16(2017), uint16(2018), uint16(2011), uint16(1906), uint16(1907), uint16(1916), uint16(1927), uint16(1928), uint16(2019), /* 570 */ uint16(2022), uint16(2027), uint16(2042), uint16(2045), -} /* sqlite3.c:162323:33 */ +} /* sqlite3.c:162380:33 */ var yy_reduce_ofst = [409]int16{ /* 0 */ int16(-125), int16(733), int16(789), int16(241), int16(293), int16(-123), int16(-193), int16(-191), int16(-183), int16(-187), /* 10 */ int16(-180), int16(83), int16(133), int16(-207), int16(-198), int16(-267), int16(-175), int16(-6), int16(166), int16(313), @@ -157146,7 +157196,7 @@ var yy_reduce_ofst = [409]int16{ /* 380 */ int16(1641), int16(1602), int16(1676), int16(1642), int16(1646), int16(1644), int16(1650), int16(1654), int16(1683), int16(1694), /* 390 */ int16(1707), int16(1711), int16(1712), int16(1714), int16(1643), int16(1647), int16(1652), int16(1698), int16(1695), int16(1696), /* 400 */ int16(1697), int16(1699), int16(1700), int16(1689), int16(1691), int16(1701), int16(1702), int16(1704), int16(1715), -} /* sqlite3.c:162386:20 */ +} /* sqlite3.c:162443:20 */ var yy_default = [574]uint16{ /* 0 */ uint16(1637), uint16(1637), uint16(1637), uint16(1466), uint16(1233), uint16(1344), uint16(1233), uint16(1233), uint16(1233), uint16(1466), /* 10 */ uint16(1466), uint16(1466), uint16(1233), uint16(1374), uint16(1374), uint16(1519), uint16(1266), uint16(1233), uint16(1233), uint16(1233), @@ -157206,7 +157256,7 @@ var yy_default = [574]uint16{ /* 550 */ uint16(1233), uint16(1233), uint16(1233), uint16(1233), uint16(1233), uint16(1233), uint16(1233), uint16(1233), uint16(1233), uint16(1233), /* 560 */ uint16(1233), uint16(1233), uint16(1233), uint16(1610), uint16(1325), uint16(1416), uint16(1233), uint16(1415), uint16(1419), uint16(1255), /* 570 */ uint16(1233), uint16(1245), uint16(1233), uint16(1233), -} /* sqlite3.c:162429:27 */ +} /* sqlite3.c:162486:27 */ //********* End of lemon-generated parsing tables **************************** // The next table maps tokens (terminal symbols) into fallback tokens. @@ -157408,7 +157458,7 @@ var yyFallback = [185]uint16{ uint16(0), // ERROR => nothing uint16(0), // SPACE => nothing uint16(0), // ILLEGAL => nothing -} /* sqlite3.c:162506:25 */ +} /* sqlite3.c:162563:25 */ // The following structure represents a single element of the // parser's stack. Information stored includes: @@ -157430,9 +157480,9 @@ type yyStackEntry = struct { Fmajor uint16 F__ccgo_pad1 [4]byte Fminor YYMINORTYPE -} /* sqlite3.c:162711:1 */ +} /* sqlite3.c:162768:1 */ -type YyStackEntry = yyStackEntry /* sqlite3.c:162718:29 */ +type YyStackEntry = yyStackEntry /* sqlite3.c:162775:29 */ // The state of the parser is completely contained in an instance of // the following structure @@ -157441,9 +157491,9 @@ type yyParser = struct { FpParse uintptr Fyystack [100]YyStackEntry FyystackEnd uintptr -} /* sqlite3.c:162722:1 */ +} /* sqlite3.c:162779:1 */ -type YyParser = yyParser /* sqlite3.c:162741:25 */ +type YyParser = yyParser /* sqlite3.c:162798:25 */ // #include @@ -157453,7 +157503,7 @@ type YyParser = yyParser /* sqlite3.c:162741:25 */ // grammar. // Initialize a new parser that has already been allocated. -func Xsqlite3ParserInit(tls *libc.TLS, yypRawParser uintptr, pParse uintptr) { /* sqlite3.c:163556:21: */ +func Xsqlite3ParserInit(tls *libc.TLS, yypRawParser uintptr, pParse uintptr) { /* sqlite3.c:163613:21: */ var yypParser uintptr = yypRawParser (*YyParser)(unsafe.Pointer(yypParser)).FpParse = pParse (*YyParser)(unsafe.Pointer(yypParser)).Fyytos = yypParser + 16 /* &.yystack */ @@ -157468,7 +157518,7 @@ func Xsqlite3ParserInit(tls *libc.TLS, yypRawParser uintptr, pParse uintptr) { / // a pointer to the value to be deleted. The code used to do the // deletions is derived from the %destructor and/or %token_destructor // directives of the input grammar. -func yy_destructor(tls *libc.TLS, yypParser uintptr, yymajor uint16, yypminor uintptr) { /* sqlite3.c:163614:13: */ +func yy_destructor(tls *libc.TLS, yypParser uintptr, yymajor uint16, yypminor uintptr) { /* sqlite3.c:163671:13: */ var pParse uintptr = (*YyParser)(unsafe.Pointer(yypParser)).FpParse switch int32(yymajor) { @@ -157627,7 +157677,7 @@ func yy_destructor(tls *libc.TLS, yypParser uintptr, yymajor uint16, yypminor ui // // If there is a destructor routine associated with the token which // is popped from the stack, then call it. -func yy_pop_parser_stack(tls *libc.TLS, pParser uintptr) { /* sqlite3.c:163739:13: */ +func yy_pop_parser_stack(tls *libc.TLS, pParser uintptr) { /* sqlite3.c:163796:13: */ var yytos uintptr yytos = libc.PostDecUintptr(&(*YyParser)(unsafe.Pointer(pParser)).Fyytos, 24) @@ -157635,7 +157685,7 @@ func yy_pop_parser_stack(tls *libc.TLS, pParser uintptr) { /* sqlite3.c:163739:1 } // Clear all secondary memory allocations from the parser -func Xsqlite3ParserFinalize(tls *libc.TLS, p uintptr) { /* sqlite3.c:163757:21: */ +func Xsqlite3ParserFinalize(tls *libc.TLS, p uintptr) { /* sqlite3.c:163814:21: */ var pParser uintptr = p for (*YyParser)(unsafe.Pointer(pParser)).Fyytos > pParser+16 { yy_pop_parser_stack(tls, pParser) @@ -157658,7 +157708,7 @@ func Xsqlite3ParserFinalize(tls *libc.TLS, p uintptr) { /* sqlite3.c:163757:21: // Find the appropriate action for a parser given the terminal // look-ahead token iLookAhead. -func yy_find_shift_action(tls *libc.TLS, iLookAhead uint16, stateno uint16) uint16 { /* sqlite3.c:163837:21: */ +func yy_find_shift_action(tls *libc.TLS, iLookAhead uint16, stateno uint16) uint16 { /* sqlite3.c:163894:21: */ var i int32 if int32(stateno) > YY_MAX_SHIFT { @@ -157698,7 +157748,7 @@ func yy_find_shift_action(tls *libc.TLS, iLookAhead uint16, stateno uint16) uint // Find the appropriate action for a parser given the non-terminal // look-ahead token iLookAhead. -func yy_find_reduce_action(tls *libc.TLS, stateno uint16, iLookAhead uint16) uint16 { /* sqlite3.c:163902:21: */ +func yy_find_reduce_action(tls *libc.TLS, stateno uint16, iLookAhead uint16) uint16 { /* sqlite3.c:163959:21: */ var i int32 i = int32(yy_reduce_ofst[stateno]) @@ -157709,7 +157759,7 @@ func yy_find_reduce_action(tls *libc.TLS, stateno uint16, iLookAhead uint16) uin } // The following routine is called if the stack overflows. -func yyStackOverflow(tls *libc.TLS, yypParser uintptr) { /* sqlite3.c:163931:13: */ +func yyStackOverflow(tls *libc.TLS, yypParser uintptr) { /* sqlite3.c:163988:13: */ var pParse uintptr = (*YyParser)(unsafe.Pointer(yypParser)).FpParse for (*YyParser)(unsafe.Pointer(yypParser)).Fyytos > yypParser+16 { @@ -157728,7 +157778,7 @@ func yyStackOverflow(tls *libc.TLS, yypParser uintptr) { /* sqlite3.c:163931:13: // Print tracing information for a SHIFT action // Perform a shift action. -func yy_shift(tls *libc.TLS, yypParser uintptr, yyNewState uint16, yyMajor uint16, yyMinor Token) { /* sqlite3.c:163974:13: */ +func yy_shift(tls *libc.TLS, yypParser uintptr, yyNewState uint16, yyMajor uint16, yyMinor Token) { /* sqlite3.c:164031:13: */ var yytos uintptr (*YyParser)(unsafe.Pointer(yypParser)).Fyytos += 24 if (*YyParser)(unsafe.Pointer(yypParser)).Fyytos > (*YyParser)(unsafe.Pointer(yypParser)).FyystackEnd { @@ -158151,7 +158201,7 @@ var yyRuleInfoLhs = [402]uint16{ uint16(303), // (399) anylist ::= anylist LP anylist RP uint16(303), // (400) anylist ::= anylist ANY uint16(266), // (401) with ::= -} /* sqlite3.c:164015:25 */ +} /* sqlite3.c:164072:25 */ // For rule J, yyRuleInfoNRhs[J] contains the negative of the number // of symbols on the right-hand side of that rule. @@ -158558,7 +158608,7 @@ var yyRuleInfoNRhs = [402]int8{ int8(-4), // (399) anylist ::= anylist LP anylist RP int8(-2), // (400) anylist ::= anylist ANY int8(0), // (401) with ::= -} /* sqlite3.c:164422:26 */ +} /* sqlite3.c:164479:26 */ // Forward Declaration @@ -158570,7 +158620,7 @@ var yyRuleInfoNRhs = [402]int8{ // if the lookahead token has already been consumed. As this procedure is // only called from one place, optimizing compilers will in-line it, which // means that the extra parameters have no performance impact. -func yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead int32, yyLookaheadToken Token, pParse uintptr) uint16 { /* sqlite3.c:164839:21: */ +func yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead int32, yyLookaheadToken Token, pParse uintptr) uint16 { /* sqlite3.c:164896:21: */ bp := tls.Alloc(144) defer tls.Free(144) @@ -160565,7 +160615,7 @@ func yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead in // The following code executes when the parse fails // The following code executes when a syntax error first occurs. -func yy_syntax_error(tls *libc.TLS, yypParser uintptr, yymajor int32, yyminor Token) { /* sqlite3.c:166395:13: */ +func yy_syntax_error(tls *libc.TLS, yypParser uintptr, yymajor int32, yyminor Token) { /* sqlite3.c:166452:13: */ bp := tls.Alloc(24) defer tls.Free(24) *(*Token)(unsafe.Pointer(bp + 8)) = yyminor @@ -160585,7 +160635,7 @@ func yy_syntax_error(tls *libc.TLS, yypParser uintptr, yymajor int32, yyminor To } // The following is executed when the parser accepts -func yy_accept(tls *libc.TLS, yypParser uintptr) { /* sqlite3.c:166419:13: */ +func yy_accept(tls *libc.TLS, yypParser uintptr) { /* sqlite3.c:166476:13: */ var pParse uintptr = (*YyParser)(unsafe.Pointer(yypParser)).FpParse @@ -160615,7 +160665,7 @@ func yy_accept(tls *libc.TLS, yypParser uintptr) { /* sqlite3.c:166419:13: */ // // Outputs: // None. -func Xsqlite3Parser(tls *libc.TLS, yyp uintptr, yymajor int32, yyminor Token) { /* sqlite3.c:166460:21: */ +func Xsqlite3Parser(tls *libc.TLS, yyp uintptr, yymajor int32, yyminor Token) { /* sqlite3.c:166517:21: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -160669,7 +160719,7 @@ func Xsqlite3Parser(tls *libc.TLS, yyp uintptr, yymajor int32, yyminor Token) { // Return the fallback token corresponding to canonical token iToken, or // 0 if iToken has no fallback. -func Xsqlite3ParserFallback(tls *libc.TLS, iToken int32) int32 { /* sqlite3.c:166677:20: */ +func Xsqlite3ParserFallback(tls *libc.TLS, iToken int32) int32 { /* sqlite3.c:166734:20: */ return int32(yyFallback[iToken]) } @@ -160720,7 +160770,7 @@ var aiClass = [256]uint8{ /* Dx */ uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), /* Ex */ uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(30), /* Fx */ uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), -} /* sqlite3.c:166749:28 */ +} /* sqlite3.c:166806:28 */ // The charMap() macro maps alphabetic characters (only) into their // lower-case ASCII equivalent. On ASCII machines, this is just @@ -160806,7 +160856,7 @@ var zKWText = [666]int8{ int8('W'), int8('S'), int8('U'), int8('N'), int8('B'), int8('O'), int8('U'), int8('N'), int8('D'), int8('E'), int8('D'), int8('U'), int8('N'), int8('I'), int8('O'), int8('N'), int8('U'), int8('S'), int8('I'), int8('N'), int8('G'), int8('V'), int8('A'), int8('C'), int8('U'), int8('U'), int8('M'), int8('V'), int8('I'), int8('E'), int8('W'), int8('I'), int8('N'), int8('D'), int8('O'), int8('W'), int8('B'), int8('Y'), int8('I'), int8('N'), int8('I'), int8('T'), int8('I'), int8('A'), int8('L'), int8('L'), int8('Y'), int8('P'), int8('R'), int8('I'), int8('M'), int8('A'), int8('R'), int8('Y'), -} /* sqlite3.c:166865:19 */ +} /* sqlite3.c:166922:19 */ // aKWHash[i] is the hash value for the i-th keyword var aKWHash = [127]uint8{ uint8(84), uint8(92), uint8(134), uint8(82), uint8(105), uint8(29), uint8(0), uint8(0), uint8(94), uint8(0), uint8(85), uint8(72), uint8(0), @@ -160819,7 +160869,7 @@ var aKWHash = [127]uint8{ uint8(50), uint8(124), uint8(0), uint8(100), uint8(0), uint8(18), uint8(121), uint8(144), uint8(56), uint8(130), uint8(139), uint8(88), uint8(83), uint8(37), uint8(30), uint8(126), uint8(0), uint8(0), uint8(108), uint8(51), uint8(131), uint8(128), uint8(0), uint8(34), uint8(0), uint8(0), uint8(132), uint8(0), uint8(98), uint8(38), uint8(39), uint8(0), uint8(20), uint8(45), uint8(117), uint8(93), -} /* sqlite3.c:166905:28 */ +} /* sqlite3.c:166962:28 */ // aKWNext[] forms the hash collision chain. If aKWHash[i]==0 // then the i-th keyword has no more hash collisions. Otherwise, // the next keyword with the same hash is aKWHash[i]-1. @@ -160836,7 +160886,7 @@ var aKWNext = [147]uint8{ uint8(112), uint8(21), uint8(7), uint8(67), uint8(0), uint8(79), uint8(96), uint8(118), uint8(0), uint8(0), uint8(68), uint8(0), uint8(0), uint8(99), uint8(44), uint8(0), uint8(55), uint8(0), uint8(76), uint8(0), uint8(95), uint8(32), uint8(33), uint8(57), uint8(25), uint8(0), uint8(102), uint8(0), uint8(0), uint8(87), -} /* sqlite3.c:166920:28 */ +} /* sqlite3.c:166977:28 */ // aKWLen[i] is the length (in bytes) of the i-th keyword var aKWLen = [147]uint8{ uint8(7), uint8(7), uint8(5), uint8(4), uint8(6), uint8(4), uint8(5), uint8(3), uint8(6), uint8(7), uint8(3), uint8(6), uint8(6), @@ -160851,7 +160901,7 @@ var aKWLen = [147]uint8{ uint8(4), uint8(4), uint8(6), uint8(7), uint8(5), uint8(9), uint8(4), uint8(4), uint8(5), uint8(2), uint8(5), uint8(8), uint8(6), uint8(4), uint8(9), uint8(5), uint8(8), uint8(4), uint8(3), uint8(9), uint8(5), uint8(5), uint8(6), uint8(4), uint8(6), uint8(2), uint8(2), uint8(9), uint8(3), uint8(7), -} /* sqlite3.c:166935:28 */ +} /* sqlite3.c:166992:28 */ // aKWOffset[i] is the index into zKWText[] of the start of // the text for the i-th keyword. var aKWOffset = [147]uint16{ @@ -160867,7 +160917,7 @@ var aKWOffset = [147]uint16{ uint16(520), uint16(523), uint16(527), uint16(532), uint16(539), uint16(544), uint16(553), uint16(557), uint16(560), uint16(565), uint16(567), uint16(571), uint16(579), uint16(585), uint16(588), uint16(597), uint16(602), uint16(610), uint16(610), uint16(614), uint16(623), uint16(628), uint16(633), uint16(639), uint16(642), uint16(645), uint16(648), uint16(650), uint16(655), uint16(659), -} /* sqlite3.c:166951:33 */ +} /* sqlite3.c:167008:33 */ // aKWCode[i] is the parser symbol code for the i-th keyword var aKWCode = [147]uint8{ uint8(TK_REINDEX), uint8(TK_INDEXED), uint8(TK_INDEX), uint8(TK_DESC), uint8(TK_ESCAPE), @@ -160900,7 +160950,7 @@ var aKWCode = [147]uint8{ uint8(TK_ROW), uint8(TK_UNBOUNDED), uint8(TK_UNION), uint8(TK_USING), uint8(TK_VACUUM), uint8(TK_VIEW), uint8(TK_WINDOW), uint8(TK_DO), uint8(TK_BY), uint8(TK_INITIALLY), uint8(TK_ALL), uint8(TK_PRIMARY), -} /* sqlite3.c:166966:28 */ +} /* sqlite3.c:167023:28 */ // Hash table decoded: // 0: INSERT @@ -161033,7 +161083,7 @@ var aKWCode = [147]uint8{ // Check to see if z[0..n-1] is a keyword. If it is, write the // parser symbol code for that keyword into *pType. Always // return the integer n (the length of the token). -func keywordCode(tls *libc.TLS, z uintptr, n int32, pType uintptr) int32 { /* sqlite3.c:167130:12: */ +func keywordCode(tls *libc.TLS, z uintptr, n int32, pType uintptr) int32 { /* sqlite3.c:167187:12: */ var i int32 var j int32 var zKW uintptr @@ -161211,7 +161261,7 @@ func keywordCode(tls *libc.TLS, z uintptr, n int32, pType uintptr) int32 { /* sq return n } -func Xsqlite3KeywordCode(tls *libc.TLS, z uintptr, n int32) int32 { /* sqlite3.c:167304:20: */ +func Xsqlite3KeywordCode(tls *libc.TLS, z uintptr, n int32) int32 { /* sqlite3.c:167361:20: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -161220,7 +161270,7 @@ func Xsqlite3KeywordCode(tls *libc.TLS, z uintptr, n int32) int32 { /* sqlite3.c return *(*int32)(unsafe.Pointer(bp /* id */)) } -func Xsqlite3_keyword_name(tls *libc.TLS, i int32, pzName uintptr, pnName uintptr) int32 { /* sqlite3.c:167310:16: */ +func Xsqlite3_keyword_name(tls *libc.TLS, i int32, pzName uintptr, pnName uintptr) int32 { /* sqlite3.c:167367:16: */ if i < 0 || i >= SQLITE_N_KEYWORD { return SQLITE_ERROR } @@ -161229,11 +161279,11 @@ func Xsqlite3_keyword_name(tls *libc.TLS, i int32, pzName uintptr, pnName uintpt return SQLITE_OK } -func Xsqlite3_keyword_count(tls *libc.TLS) int32 { /* sqlite3.c:167316:16: */ +func Xsqlite3_keyword_count(tls *libc.TLS) int32 { /* sqlite3.c:167373:16: */ return SQLITE_N_KEYWORD } -func Xsqlite3_keyword_check(tls *libc.TLS, zName uintptr, nName int32) int32 { /* sqlite3.c:167317:16: */ +func Xsqlite3_keyword_check(tls *libc.TLS, zName uintptr, nName int32) int32 { /* sqlite3.c:167374:16: */ return libc.Bool32(TK_ID != Xsqlite3KeywordCode(tls, zName, nName)) } @@ -161256,13 +161306,13 @@ func Xsqlite3_keyword_check(tls *libc.TLS, zName uintptr, nName int32) int32 { / // But the feature is undocumented. // Make the IdChar function accessible from ctime.c and alter.c -func Xsqlite3IsIdChar(tls *libc.TLS, c U8) int32 { /* sqlite3.c:167364:20: */ +func Xsqlite3IsIdChar(tls *libc.TLS, c U8) int32 { /* sqlite3.c:167421:20: */ return libc.Bool32(int32(Xsqlite3CtypeMap[c])&0x46 != 0) } // Return the id of the next token in string (*pz). Before returning, set // (*pz) to point to the byte following the parsed token. -func getToken(tls *libc.TLS, pz uintptr) int32 { /* sqlite3.c:167371:12: */ +func getToken(tls *libc.TLS, pz uintptr) int32 { /* sqlite3.c:167428:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -161312,7 +161362,7 @@ func getToken(tls *libc.TLS, pz uintptr) int32 { /* sqlite3.c:167371:12: */ // // * the previous token was TK_RP, and // * the next token is TK_LP. -func analyzeWindowKeyword(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:167420:12: */ +func analyzeWindowKeyword(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:167477:12: */ bp := tls.Alloc(8) defer tls.Free(8) *(*uintptr)(unsafe.Pointer(bp)) = z @@ -161329,7 +161379,7 @@ func analyzeWindowKeyword(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:167420: return TK_WINDOW } -func analyzeOverKeyword(tls *libc.TLS, z uintptr, lastToken int32) int32 { /* sqlite3.c:167428:12: */ +func analyzeOverKeyword(tls *libc.TLS, z uintptr, lastToken int32) int32 { /* sqlite3.c:167485:12: */ bp := tls.Alloc(8) defer tls.Free(8) *(*uintptr)(unsafe.Pointer(bp)) = z @@ -161343,7 +161393,7 @@ func analyzeOverKeyword(tls *libc.TLS, z uintptr, lastToken int32) int32 { /* sq return TK_ID } -func analyzeFilterKeyword(tls *libc.TLS, z uintptr, lastToken int32) int32 { /* sqlite3.c:167435:12: */ +func analyzeFilterKeyword(tls *libc.TLS, z uintptr, lastToken int32) int32 { /* sqlite3.c:167492:12: */ bp := tls.Alloc(8) defer tls.Free(8) *(*uintptr)(unsafe.Pointer(bp)) = z @@ -161356,7 +161406,7 @@ func analyzeFilterKeyword(tls *libc.TLS, z uintptr, lastToken int32) int32 { /* // Return the length (in bytes) of the token that begins at z[0]. // Store the token type in *tokenType before returning. -func Xsqlite3GetToken(tls *libc.TLS, z uintptr, tokenType uintptr) int32 { /* sqlite3.c:167447:20: */ +func Xsqlite3GetToken(tls *libc.TLS, z uintptr, tokenType uintptr) int32 { /* sqlite3.c:167504:20: */ var i int32 var c int32 switch int32(aiClass[*(*uint8)(unsafe.Pointer(z))]) { // Switch on the character-class of the first byte @@ -161724,7 +161774,7 @@ func Xsqlite3GetToken(tls *libc.TLS, z uintptr, tokenType uintptr) int32 { /* sq } // Run the parser on the given SQL string. -func Xsqlite3RunParser(tls *libc.TLS, pParse uintptr, zSql uintptr) int32 { /* sqlite3.c:167741:20: */ +func Xsqlite3RunParser(tls *libc.TLS, pParse uintptr, zSql uintptr) int32 { /* sqlite3.c:167798:20: */ bp := tls.Alloc(2480) defer tls.Free(2480) @@ -161914,7 +161964,7 @@ func Xsqlite3RunParser(tls *libc.TLS, pParse uintptr, zSql uintptr) int32 { /* s // If we compile with SQLITE_OMIT_TRIGGER, all of the computation needed // to recognize the end of a trigger can be omitted. All we have to do // is look for a semicolon that is not part of an string or comment. -func Xsqlite3_complete(tls *libc.TLS, zSql uintptr) int32 { /* sqlite3.c:168133:16: */ +func Xsqlite3_complete(tls *libc.TLS, zSql uintptr) int32 { /* sqlite3.c:168190:16: */ var state U8 = U8(0) // Current state, using numbers defined in header comment var token U8 @@ -162091,12 +162141,12 @@ var trans = [8][8]U8{ /* 5 TRIGGER: */ {U8(6), U8(5), U8(5), U8(5), U8(5), U8(5), U8(5), U8(5)}, /* 6 SEMI: */ {U8(6), U8(6), U8(5), U8(5), U8(5), U8(5), U8(5), U8(7)}, /* 7 END: */ {U8(1), U8(7), U8(5), U8(5), U8(5), U8(5), U8(5), U8(5)}, -} /* sqlite3.c:168141:19 */ +} /* sqlite3.c:168198:19 */ // This routine is the same as the sqlite3_complete() routine described // above, except that the parameter is required to be UTF-16 encoded, not // UTF-8. -func Xsqlite3_complete16(tls *libc.TLS, zSql uintptr) int32 { /* sqlite3.c:168298:16: */ +func Xsqlite3_complete16(tls *libc.TLS, zSql uintptr) int32 { /* sqlite3.c:168355:16: */ var pVal uintptr var zSql8 uintptr var rc int32 @@ -162123,7 +162173,7 @@ func Xsqlite3_complete16(tls *libc.TLS, zSql uintptr) int32 { /* sqlite3.c:16829 // This is an extension initializer that is a no-op and always // succeeds, except that it fails if the fault-simulation is set // to 500. -func sqlite3TestExtInit(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:168450:12: */ +func sqlite3TestExtInit(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:168507:12: */ _ = db return Xsqlite3FaultSim(tls, 500) } @@ -162135,11 +162185,11 @@ var sqlite3BuiltinExtensions = [4]uintptr{ 0, 0, 0, -} /* sqlite3.c:168477:12 */ +} /* sqlite3.c:168534:12 */ // IMPLEMENTATION-OF: R-53536-42575 The sqlite3_libversion() function returns // a pointer to the to the sqlite3_version[] string constant. -func Xsqlite3_libversion(tls *libc.TLS) uintptr { /* sqlite3.c:168524:23: */ +func Xsqlite3_libversion(tls *libc.TLS) uintptr { /* sqlite3.c:168581:23: */ return uintptr(unsafe.Pointer(&Xsqlite3_version)) } @@ -162152,14 +162202,14 @@ func Xsqlite3_libversion(tls *libc.TLS) uintptr { /* sqlite3.c:168524:23: */ // IMPLEMENTATION-OF: R-35210-63508 The sqlite3_libversion_number() function // returns an integer equal to SQLITE_VERSION_NUMBER. -func Xsqlite3_libversion_number(tls *libc.TLS) int32 { /* sqlite3.c:168537:16: */ +func Xsqlite3_libversion_number(tls *libc.TLS) int32 { /* sqlite3.c:168594:16: */ return SQLITE_VERSION_NUMBER } // IMPLEMENTATION-OF: R-20790-14025 The sqlite3_threadsafe() function returns // zero if and only if SQLite was compiled with mutexing code omitted due to // the SQLITE_THREADSAFE compile-time option being set to 0. -func Xsqlite3_threadsafe(tls *libc.TLS) int32 { /* sqlite3.c:168543:16: */ +func Xsqlite3_threadsafe(tls *libc.TLS) int32 { /* sqlite3.c:168600:16: */ return SQLITE_THREADSAFE } @@ -162172,14 +162222,14 @@ func Xsqlite3_threadsafe(tls *libc.TLS) int32 { /* sqlite3.c:168543:16: */ // temporary files. // // See also the "PRAGMA temp_store_directory" SQL command. -var Xsqlite3_temp_directory uintptr = uintptr(0) /* sqlite3.c:168574:17 */ +var Xsqlite3_temp_directory uintptr = uintptr(0) /* sqlite3.c:168631:17 */ // If the following global variable points to a string which is the // name of a directory, then that directory will be used to store // all database files specified with a relative pathname. // // See also the "PRAGMA data_store_directory" SQL command. -var Xsqlite3_data_directory uintptr = uintptr(0) /* sqlite3.c:168583:17 */ +var Xsqlite3_data_directory uintptr = uintptr(0) /* sqlite3.c:168640:17 */ // Initialize SQLite. // @@ -162210,7 +162260,7 @@ var Xsqlite3_data_directory uintptr = uintptr(0) /* sqlite3.c:168583:17 */ // // * Recursive calls to this routine from thread X return immediately // without blocking. -func Xsqlite3_initialize(tls *libc.TLS) int32 { /* sqlite3.c:168616:16: */ +func Xsqlite3_initialize(tls *libc.TLS) int32 { /* sqlite3.c:168673:16: */ var pMainMtx uintptr // The main static mutex var rc int32 // Result code @@ -162336,7 +162386,7 @@ func Xsqlite3_initialize(tls *libc.TLS) int32 { /* sqlite3.c:168616:16: */ // routine is not threadsafe. But it is safe to invoke this routine // on when SQLite is already shut down. If SQLite is already shut down // when this routine is invoked, then this routine is a harmless no-op. -func Xsqlite3_shutdown(tls *libc.TLS) int32 { /* sqlite3.c:168791:16: */ +func Xsqlite3_shutdown(tls *libc.TLS) int32 { /* sqlite3.c:168848:16: */ if Xsqlite3Config.FisInit != 0 { Xsqlite3_os_end(tls) @@ -162375,7 +162425,7 @@ func Xsqlite3_shutdown(tls *libc.TLS) int32 { /* sqlite3.c:168791:16: */ // database connections or memory allocations. This routine is not // threadsafe. Failure to heed these warnings can lead to unpredictable // behavior. -func Xsqlite3_config(tls *libc.TLS, op int32, va uintptr) int32 { /* sqlite3.c:168845:16: */ +func Xsqlite3_config(tls *libc.TLS, op int32, va uintptr) int32 { /* sqlite3.c:168902:16: */ var ap Va_list _ = ap var rc int32 = SQLITE_OK @@ -162383,7 +162433,7 @@ func Xsqlite3_config(tls *libc.TLS, op int32, va uintptr) int32 { /* sqlite3.c:1 // sqlite3_config() shall return SQLITE_MISUSE if it is invoked while // the SQLite library is in use. if Xsqlite3Config.FisInit != 0 { - return Xsqlite3MisuseError(tls, 168851) + return Xsqlite3MisuseError(tls, 168908) } ap = va @@ -162653,7 +162703,7 @@ func Xsqlite3_config(tls *libc.TLS, op int32, va uintptr) int32 { /* sqlite3.c:1 // space for the lookaside memory is obtained from sqlite3_malloc(). // If pStart is not NULL then it is sz*cnt bytes of memory to use for // the lookaside memory. -func setupLookaside(tls *libc.TLS, db uintptr, pBuf uintptr, sz int32, cnt int32) int32 { /* sqlite3.c:169163:12: */ +func setupLookaside(tls *libc.TLS, db uintptr, pBuf uintptr, sz int32, cnt int32) int32 { /* sqlite3.c:169220:12: */ var pStart uintptr var szAlloc Sqlite3_int64 = Sqlite3_int64(sz) * Sqlite3_int64(cnt) var nBig int32 // Number of full-size slots @@ -162751,13 +162801,13 @@ func setupLookaside(tls *libc.TLS, db uintptr, pBuf uintptr, sz int32, cnt int32 } // Return the mutex associated with a database connection. -func Xsqlite3_db_mutex(tls *libc.TLS, db uintptr) uintptr { /* sqlite3.c:169263:26: */ +func Xsqlite3_db_mutex(tls *libc.TLS, db uintptr) uintptr { /* sqlite3.c:169320:26: */ return (*Sqlite3)(unsafe.Pointer(db)).Fmutex } // Free up as much memory as we can from the given database // connection. -func Xsqlite3_db_release_memory(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:169277:16: */ +func Xsqlite3_db_release_memory(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:169334:16: */ var i int32 Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) @@ -162776,7 +162826,7 @@ func Xsqlite3_db_release_memory(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c: // Flush any dirty pages in the pager-cache for any attached database // to disk. -func Xsqlite3_db_cacheflush(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:169301:16: */ +func Xsqlite3_db_cacheflush(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:169358:16: */ var i int32 var rc int32 = SQLITE_OK var bSeenBusy int32 = 0 @@ -162805,7 +162855,7 @@ func Xsqlite3_db_cacheflush(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:1693 } // Configuration settings for an individual database connection -func Xsqlite3_db_config(tls *libc.TLS, db uintptr, op int32, va uintptr) int32 { /* sqlite3.c:169330:16: */ +func Xsqlite3_db_config(tls *libc.TLS, db uintptr, op int32, va uintptr) int32 { /* sqlite3.c:169387:16: */ var ap Va_list _ = ap var rc int32 @@ -162884,11 +162934,11 @@ var aFlagOp = [16]struct { {Fop: SQLITE_DBCONFIG_DQS_DML, Fmask: U32(SQLITE_DqsDML)}, {Fop: SQLITE_DBCONFIG_LEGACY_FILE_FORMAT, Fmask: U32(SQLITE_LegacyFileFmt)}, {Fop: SQLITE_DBCONFIG_TRUSTED_SCHEMA, Fmask: U32(SQLITE_TrustedSchema)}, -} /* sqlite3.c:169353:9 */ +} /* sqlite3.c:169410:9 */ // This is the default collating function named "BINARY" which is always // available. -func binCollFunc(tls *libc.TLS, NotUsed uintptr, nKey1 int32, pKey1 uintptr, nKey2 int32, pKey2 uintptr) int32 { /* sqlite3.c:169405:12: */ +func binCollFunc(tls *libc.TLS, NotUsed uintptr, nKey1 int32, pKey1 uintptr, nKey2 int32, pKey2 uintptr) int32 { /* sqlite3.c:169462:12: */ var rc int32 var n int32 _ = NotUsed @@ -162910,7 +162960,7 @@ func binCollFunc(tls *libc.TLS, NotUsed uintptr, nKey1 int32, pKey1 uintptr, nKe // This is the collating function named "RTRIM" which is always // available. Ignore trailing spaces. -func rtrimCollFunc(tls *libc.TLS, pUser uintptr, nKey1 int32, pKey1 uintptr, nKey2 int32, pKey2 uintptr) int32 { /* sqlite3.c:169428:12: */ +func rtrimCollFunc(tls *libc.TLS, pUser uintptr, nKey1 int32, pKey1 uintptr, nKey2 int32, pKey2 uintptr) int32 { /* sqlite3.c:169485:12: */ var pK1 uintptr = pKey1 var pK2 uintptr = pKey2 for nKey1 != 0 && int32(*(*U8)(unsafe.Pointer(pK1 + uintptr(nKey1-1)))) == ' ' { @@ -162923,7 +162973,7 @@ func rtrimCollFunc(tls *libc.TLS, pUser uintptr, nKey1 int32, pKey1 uintptr, nKe } // Return true if CollSeq is the default built-in BINARY. -func Xsqlite3IsBinary(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:169443:20: */ +func Xsqlite3IsBinary(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:169500:20: */ return libc.Bool32(p == uintptr(0) || (*CollSeq)(unsafe.Pointer(p)).FxCmp == *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32 @@ -162937,7 +162987,7 @@ func Xsqlite3IsBinary(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:169443:20: // extends only to the 26 characters used in the English language. // // At the moment there is only a UTF-8 implementation. -func nocaseCollatingFunc(tls *libc.TLS, NotUsed uintptr, nKey1 int32, pKey1 uintptr, nKey2 int32, pKey2 uintptr) int32 { /* sqlite3.c:169457:12: */ +func nocaseCollatingFunc(tls *libc.TLS, NotUsed uintptr, nKey1 int32, pKey1 uintptr, nKey2 int32, pKey2 uintptr) int32 { /* sqlite3.c:169514:12: */ var r int32 = Xsqlite3_strnicmp(tls, pKey1, pKey2, func() int32 { if nKey1 < nKey2 { @@ -162953,39 +163003,39 @@ func nocaseCollatingFunc(tls *libc.TLS, NotUsed uintptr, nKey1 int32, pKey1 uint } // Return the ROWID of the most recent insert -func Xsqlite3_last_insert_rowid(tls *libc.TLS, db uintptr) Sqlite_int64 { /* sqlite3.c:169474:25: */ +func Xsqlite3_last_insert_rowid(tls *libc.TLS, db uintptr) Sqlite_int64 { /* sqlite3.c:169531:25: */ return (*Sqlite3)(unsafe.Pointer(db)).FlastRowid } // Set the value returned by the sqlite3_last_insert_rowid() API function. -func Xsqlite3_set_last_insert_rowid(tls *libc.TLS, db uintptr, iRowid Sqlite3_int64) { /* sqlite3.c:169487:17: */ +func Xsqlite3_set_last_insert_rowid(tls *libc.TLS, db uintptr, iRowid Sqlite3_int64) { /* sqlite3.c:169544:17: */ Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) (*Sqlite3)(unsafe.Pointer(db)).FlastRowid = iRowid Xsqlite3_mutex_leave(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) } // Return the number of changes in the most recent call to sqlite3_exec(). -func Xsqlite3_changes64(tls *libc.TLS, db uintptr) Sqlite3_int64 { /* sqlite3.c:169502:26: */ +func Xsqlite3_changes64(tls *libc.TLS, db uintptr) Sqlite3_int64 { /* sqlite3.c:169559:26: */ return (*Sqlite3)(unsafe.Pointer(db)).FnChange } -func Xsqlite3_changes(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:169511:16: */ +func Xsqlite3_changes(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:169568:16: */ return int32(Xsqlite3_changes64(tls, db)) } // Return the number of changes since the database handle was opened. -func Xsqlite3_total_changes64(tls *libc.TLS, db uintptr) Sqlite3_int64 { /* sqlite3.c:169518:26: */ +func Xsqlite3_total_changes64(tls *libc.TLS, db uintptr) Sqlite3_int64 { /* sqlite3.c:169575:26: */ return (*Sqlite3)(unsafe.Pointer(db)).FnTotalChange } -func Xsqlite3_total_changes(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:169527:16: */ +func Xsqlite3_total_changes(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:169584:16: */ return int32(Xsqlite3_total_changes64(tls, db)) } // Close all open savepoints. This function only manipulates fields of the // database handle object, it does not close any savepoints that may be open // at the b-tree/pager level. -func Xsqlite3CloseSavepoints(tls *libc.TLS, db uintptr) { /* sqlite3.c:169536:21: */ +func Xsqlite3CloseSavepoints(tls *libc.TLS, db uintptr) { /* sqlite3.c:169593:21: */ for (*Sqlite3)(unsafe.Pointer(db)).FpSavepoint != 0 { var pTmp uintptr = (*Sqlite3)(unsafe.Pointer(db)).FpSavepoint (*Sqlite3)(unsafe.Pointer(db)).FpSavepoint = (*Savepoint)(unsafe.Pointer(pTmp)).FpNext @@ -163000,7 +163050,7 @@ func Xsqlite3CloseSavepoints(tls *libc.TLS, db uintptr) { /* sqlite3.c:169536:21 // if this is not the last copy of the function, do not invoke it. Multiple // copies of a single function are created when create_function() is called // with SQLITE_ANY as the encoding. -func functionDestroy(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:169553:13: */ +func functionDestroy(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:169610:13: */ var pDestructor uintptr pDestructor = *(*uintptr)(unsafe.Pointer(p + 64)) @@ -163015,7 +163065,7 @@ func functionDestroy(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:169553 // Disconnect all sqlite3_vtab objects that belong to database connection // db. This is called when db is being closed. -func disconnectAllVtab(tls *libc.TLS, db uintptr) { /* sqlite3.c:169570:13: */ +func disconnectAllVtab(tls *libc.TLS, db uintptr) { /* sqlite3.c:169627:13: */ var i int32 var p uintptr Xsqlite3BtreeEnterAll(tls, db) @@ -163042,7 +163092,7 @@ func disconnectAllVtab(tls *libc.TLS, db uintptr) { /* sqlite3.c:169570:13: */ // Return TRUE if database connection db has unfinalized prepared // statements or unfinished sqlite3_backup objects. -func connectionIsBusy(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:169601:12: */ +func connectionIsBusy(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:169658:12: */ var j int32 if (*Sqlite3)(unsafe.Pointer(db)).FpVdbe != 0 { @@ -163058,14 +163108,14 @@ func connectionIsBusy(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:169601:12: } // Close an existing SQLite database -func sqlite3Close(tls *libc.TLS, db uintptr, forceZombie int32) int32 { /* sqlite3.c:169615:12: */ +func sqlite3Close(tls *libc.TLS, db uintptr, forceZombie int32) int32 { /* sqlite3.c:169672:12: */ if !(db != 0) { // EVIDENCE-OF: R-63257-11740 Calling sqlite3_close() or // sqlite3_close_v2() with a NULL pointer argument is a harmless no-op. return SQLITE_OK } if !(Xsqlite3SafetyCheckSickOrOk(tls, db) != 0) { - return Xsqlite3MisuseError(tls, 169622) + return Xsqlite3MisuseError(tls, 169679) } Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) if int32((*Sqlite3)(unsafe.Pointer(db)).FmTrace)&SQLITE_TRACE_CLOSE != 0 { @@ -163102,7 +163152,7 @@ func sqlite3Close(tls *libc.TLS, db uintptr, forceZombie int32) int32 { /* sqlit // Return the transaction state for a single databse, or the maximum // transaction state over all attached databases if zSchema is null. -func Xsqlite3_txn_state(tls *libc.TLS, db uintptr, zSchema uintptr) int32 { /* sqlite3.c:169669:16: */ +func Xsqlite3_txn_state(tls *libc.TLS, db uintptr, zSchema uintptr) int32 { /* sqlite3.c:169726:16: */ var iDb int32 var nDb int32 var iTxn int32 = -1 @@ -163139,11 +163189,11 @@ func Xsqlite3_txn_state(tls *libc.TLS, db uintptr, zSchema uintptr) int32 { /* s // version forces the connection to become a zombie if there are // unclosed resources, and arranges for deallocation when the last // prepare statement or sqlite3_backup closes. -func Xsqlite3_close(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:169704:16: */ +func Xsqlite3_close(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:169761:16: */ return sqlite3Close(tls, db, 0) } -func Xsqlite3_close_v2(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:169705:16: */ +func Xsqlite3_close_v2(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:169762:16: */ return sqlite3Close(tls, db, 1) } @@ -163153,7 +163203,7 @@ func Xsqlite3_close_v2(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:169705:16 // has been a prior call to sqlite3_close(db) or sqlite3_close_v2(db)) and // every sqlite3_stmt has now been finalized and every sqlite3_backup has // finished, then free all resources. -func Xsqlite3LeaveMutexAndCloseZombie(tls *libc.TLS, db uintptr) { /* sqlite3.c:169716:21: */ +func Xsqlite3LeaveMutexAndCloseZombie(tls *libc.TLS, db uintptr) { /* sqlite3.c:169773:21: */ var i uintptr // Hash table iterator var j int32 @@ -163263,7 +163313,7 @@ func Xsqlite3LeaveMutexAndCloseZombie(tls *libc.TLS, db uintptr) { /* sqlite3.c: // breaker") and made to return tripCode if there are any further // attempts to use that cursor. Read cursors remain open and valid // but are "saved" in case the table pages are moved around. -func Xsqlite3RollbackAll(tls *libc.TLS, db uintptr, tripCode int32) { /* sqlite3.c:169839:21: */ +func Xsqlite3RollbackAll(tls *libc.TLS, db uintptr, tripCode int32) { /* sqlite3.c:169896:21: */ var i int32 var inTrans int32 = 0 var schemaChange int32 @@ -163313,7 +163363,7 @@ func Xsqlite3RollbackAll(tls *libc.TLS, db uintptr, tripCode int32) { /* sqlite3 // Return a static string that describes the kind of error specified in the // argument. -func Xsqlite3ErrStr(tls *libc.TLS, rc int32) uintptr { /* sqlite3.c:170000:27: */ +func Xsqlite3ErrStr(tls *libc.TLS, rc int32) uintptr { /* sqlite3.c:170057:27: */ var zErr uintptr = ts + 23719 /* "unknown error" */ switch rc { case SQLITE_ABORT | int32(2)<<8: @@ -163377,7 +163427,7 @@ var aMsg = [29]uintptr{ ts + 24215, ts + 24238, ts + 24259, -} /* sqlite3.c:170001:20 */ +} /* sqlite3.c:170058:20 */ // This routine implements a busy callback that sleeps and tries // again until a timeout value is reached. The timeout value is @@ -163386,7 +163436,7 @@ var aMsg = [29]uintptr{ // // Return non-zero to retry the lock. Return zero to stop trying // and cause SQLite to return SQLITE_BUSY. -func sqliteDefaultBusyCallback(tls *libc.TLS, ptr uintptr, count int32) int32 { /* sqlite3.c:170070:12: */ +func sqliteDefaultBusyCallback(tls *libc.TLS, ptr uintptr, count int32) int32 { /* sqlite3.c:170127:12: */ var db uintptr = ptr var tmout int32 = (*Sqlite3)(unsafe.Pointer(db)).FbusyTimeout var delay int32 @@ -163409,8 +163459,8 @@ func sqliteDefaultBusyCallback(tls *libc.TLS, ptr uintptr, count int32) int32 { return 1 } -var delays = [12]U8{U8(1), U8(2), U8(5), U8(10), U8(15), U8(20), U8(25), U8(25), U8(25), U8(50), U8(50), U8(100)} /* sqlite3.c:170077:19 */ -var totals = [12]U8{U8(0), U8(1), U8(3), U8(8), U8(18), U8(33), U8(53), U8(78), U8(103), U8(128), U8(178), U8(228)} /* sqlite3.c:170079:19 */ +var delays = [12]U8{U8(1), U8(2), U8(5), U8(10), U8(15), U8(20), U8(25), U8(25), U8(25), U8(50), U8(50), U8(100)} /* sqlite3.c:170134:19 */ +var totals = [12]U8{U8(0), U8(1), U8(3), U8(8), U8(18), U8(33), U8(53), U8(78), U8(103), U8(128), U8(178), U8(228)} /* sqlite3.c:170136:19 */ // Invoke the given busy handler. // @@ -163419,7 +163469,7 @@ var totals = [12]U8{U8(0), U8(1), U8(3), U8(8), U8(18), U8(33), U8(53), U8(78), // // If this routine returns non-zero, the lock is retried. If it // returns 0, the operation aborts with an SQLITE_BUSY error. -func Xsqlite3InvokeBusyHandler(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:170122:20: */ +func Xsqlite3InvokeBusyHandler(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:170179:20: */ var rc int32 if (*BusyHandler)(unsafe.Pointer(p)).FxBusyHandler == uintptr(0) || (*BusyHandler)(unsafe.Pointer(p)).FnBusy < 0 { return 0 @@ -163437,7 +163487,7 @@ func Xsqlite3InvokeBusyHandler(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:17 // This routine sets the busy callback for an Sqlite database to the // given callback function with the given argument. -func Xsqlite3_busy_handler(tls *libc.TLS, db uintptr, xBusy uintptr, pArg uintptr) int32 { /* sqlite3.c:170138:16: */ +func Xsqlite3_busy_handler(tls *libc.TLS, db uintptr, xBusy uintptr, pArg uintptr) int32 { /* sqlite3.c:170195:16: */ Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) (*Sqlite3)(unsafe.Pointer(db)).FbusyHandler.FxBusyHandler = xBusy (*Sqlite3)(unsafe.Pointer(db)).FbusyHandler.FpBusyArg = pArg @@ -163450,7 +163500,7 @@ func Xsqlite3_busy_handler(tls *libc.TLS, db uintptr, xBusy uintptr, pArg uintpt // This routine sets the progress callback for an Sqlite database to the // given callback function with the given argument. The progress callback will // be invoked every nOps opcodes. -func Xsqlite3_progress_handler(tls *libc.TLS, db uintptr, nOps int32, xProgress uintptr, pArg uintptr) { /* sqlite3.c:170161:17: */ +func Xsqlite3_progress_handler(tls *libc.TLS, db uintptr, nOps int32, xProgress uintptr, pArg uintptr) { /* sqlite3.c:170218:17: */ Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) if nOps > 0 { (*Sqlite3)(unsafe.Pointer(db)).FxProgress = xProgress @@ -163466,7 +163516,7 @@ func Xsqlite3_progress_handler(tls *libc.TLS, db uintptr, nOps int32, xProgress // This routine installs a default busy handler that waits for the // specified number of milliseconds before returning 0. -func Xsqlite3_busy_timeout(tls *libc.TLS, db uintptr, ms int32) int32 { /* sqlite3.c:170192:16: */ +func Xsqlite3_busy_timeout(tls *libc.TLS, db uintptr, ms int32) int32 { /* sqlite3.c:170249:16: */ if ms > 0 { Xsqlite3_busy_handler(tls, db, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32) int32 @@ -163480,7 +163530,7 @@ func Xsqlite3_busy_timeout(tls *libc.TLS, db uintptr, ms int32) int32 { /* sqlit } // Cause any pending operation to stop at its earliest opportunity. -func Xsqlite3_interrupt(tls *libc.TLS, db uintptr) { /* sqlite3.c:170209:17: */ +func Xsqlite3_interrupt(tls *libc.TLS, db uintptr) { /* sqlite3.c:170266:17: */ *(*int32)(unsafe.Pointer(db + 432)) = 1 } @@ -163488,7 +163538,7 @@ func Xsqlite3_interrupt(tls *libc.TLS, db uintptr) { /* sqlite3.c:170209:17: */ // that it is designed to be called by internal code. The difference is // that if a malloc() fails in sqlite3_create_function(), an error code // is returned and the mallocFailed flag cleared. -func Xsqlite3CreateFunc(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) int32 { /* sqlite3.c:170226:20: */ +func Xsqlite3CreateFunc(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) int32 { /* sqlite3.c:170283:20: */ var p uintptr var extraFlags int32 @@ -163498,7 +163548,7 @@ func Xsqlite3CreateFunc(tls *libc.TLS, db uintptr, zFunctionName uintptr, nArg i libc.Bool32(xValue == uintptr(0)) != libc.Bool32(xInverse == uintptr(0)) || (nArg < -1 || nArg > SQLITE_MAX_FUNCTION_ARG) || 255 < Xsqlite3Strlen30(tls, zFunctionName) { - return Xsqlite3MisuseError(tls, 170251) + return Xsqlite3MisuseError(tls, 170308) } extraFlags = enc & (SQLITE_DETERMINISTIC | SQLITE_DIRECTONLY | SQLITE_SUBTYPE | SQLITE_INNOCUOUS) @@ -163603,7 +163653,7 @@ func Xsqlite3CreateFunc(tls *libc.TLS, db uintptr, zFunctionName uintptr, nArg i // sqlite3_create_function() // 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) int32 { /* sqlite3.c:170360:12: */ +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) int32 { /* sqlite3.c:170417:12: */ var rc int32 var pArg uintptr rc = SQLITE_ERROR @@ -163645,22 +163695,22 @@ out: } // 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) int32 { /* sqlite3.c:170411:16: */ +func Xsqlite3_create_function(tls *libc.TLS, db uintptr, zFunc uintptr, nArg int32, enc int32, p uintptr, xSFunc uintptr, xStep uintptr, xFinal uintptr) int32 { /* sqlite3.c:170468:16: */ return createFunctionApi(tls, db, zFunc, nArg, enc, p, xSFunc, xStep, 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) int32 { /* sqlite3.c:170424:16: */ +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) int32 { /* sqlite3.c:170481:16: */ return createFunctionApi(tls, db, zFunc, nArg, enc, p, xSFunc, xStep, xFinal, uintptr(0), uintptr(0), 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) int32 { /* sqlite3.c:170438:16: */ +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) int32 { /* sqlite3.c:170495:16: */ return createFunctionApi(tls, db, zFunc, nArg, enc, p, uintptr(0), xStep, xFinal, xValue, xInverse, xDestroy) } -func Xsqlite3_create_function16(tls *libc.TLS, db uintptr, zFunctionName uintptr, nArg int32, eTextRep int32, p uintptr, xSFunc uintptr, xStep uintptr, xFinal uintptr) int32 { /* sqlite3.c:170455:16: */ +func Xsqlite3_create_function16(tls *libc.TLS, db uintptr, zFunctionName uintptr, nArg int32, eTextRep int32, p uintptr, xSFunc uintptr, xStep uintptr, xFinal uintptr) int32 { /* sqlite3.c:170512:16: */ var rc int32 var zFunc8 uintptr @@ -163680,7 +163730,7 @@ func Xsqlite3_create_function16(tls *libc.TLS, db uintptr, zFunctionName uintptr // SQL function that use this routine so that the functions will exist // for name resolution but are actually overloaded by the xFindFunction // method of virtual tables. -func sqlite3InvalidFunction(tls *libc.TLS, context uintptr, NotUsed int32, NotUsed2 uintptr) { /* sqlite3.c:170491:13: */ +func sqlite3InvalidFunction(tls *libc.TLS, context uintptr, NotUsed int32, NotUsed2 uintptr) { /* sqlite3.c:170548:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -163704,7 +163754,7 @@ func sqlite3InvalidFunction(tls *libc.TLS, context uintptr, NotUsed int32, NotUs // should call this routine to make sure the global function exists. // A global function must exist in order for name resolution to work // properly. -func Xsqlite3_overload_function(tls *libc.TLS, db uintptr, zName uintptr, nArg int32) int32 { /* sqlite3.c:170517:16: */ +func Xsqlite3_overload_function(tls *libc.TLS, db uintptr, zName uintptr, nArg int32) int32 { /* sqlite3.c:170574:16: */ var rc int32 var zCopy uintptr @@ -163730,7 +163780,7 @@ func Xsqlite3_overload_function(tls *libc.TLS, db uintptr, zName uintptr, nArg i // A NULL trace function means that no tracing is executes. A non-NULL // 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) uintptr { /* sqlite3.c:170550:17: */ +func Xsqlite3_trace(tls *libc.TLS, db uintptr, xTrace uintptr, pArg uintptr) uintptr { /* sqlite3.c:170607:17: */ var pOld uintptr Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) @@ -163748,7 +163798,7 @@ func Xsqlite3_trace(tls *libc.TLS, db uintptr, xTrace uintptr, pArg uintptr) uin } // Register a trace callback using the version-2 interface. -func Xsqlite3_trace_v2(tls *libc.TLS, db uintptr, mTrace uint32, xTrace uintptr, pArg uintptr) int32 { /* sqlite3.c:170571:16: */ +func Xsqlite3_trace_v2(tls *libc.TLS, db uintptr, mTrace uint32, xTrace uintptr, pArg uintptr) int32 { /* sqlite3.c:170628:16: */ Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) if mTrace == uint32(0) { xTrace = uintptr(0) @@ -163769,7 +163819,7 @@ func Xsqlite3_trace_v2(tls *libc.TLS, db uintptr, mTrace uint32, xTrace uintptr, // A NULL profile function means that no profiling is executes. A non-NULL // 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) uintptr { /* sqlite3.c:170601:17: */ +func Xsqlite3_profile(tls *libc.TLS, db uintptr, xProfile uintptr, pArg uintptr) uintptr { /* sqlite3.c:170658:17: */ var pOld uintptr Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) @@ -163787,7 +163837,7 @@ func Xsqlite3_profile(tls *libc.TLS, db uintptr, xProfile uintptr, pArg uintptr) // Register a function to be invoked when a transaction commits. // 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) uintptr { /* sqlite3.c:170631:17: */ +func Xsqlite3_commit_hook(tls *libc.TLS, db uintptr, xCallback uintptr, pArg uintptr) uintptr { /* sqlite3.c:170688:17: */ var pOld uintptr Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) @@ -163800,7 +163850,7 @@ func Xsqlite3_commit_hook(tls *libc.TLS, db uintptr, xCallback uintptr, pArg uin // 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) uintptr { /* sqlite3.c:170656:17: */ +func Xsqlite3_update_hook(tls *libc.TLS, db uintptr, xCallback uintptr, pArg uintptr) uintptr { /* sqlite3.c:170713:17: */ var pRet uintptr Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) @@ -163813,7 +163863,7 @@ func Xsqlite3_update_hook(tls *libc.TLS, db uintptr, xCallback uintptr, pArg uin // 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) uintptr { /* sqlite3.c:170681:17: */ +func Xsqlite3_rollback_hook(tls *libc.TLS, db uintptr, xCallback uintptr, pArg uintptr) uintptr { /* sqlite3.c:170738:17: */ var pRet uintptr Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) @@ -163826,7 +163876,7 @@ func Xsqlite3_rollback_hook(tls *libc.TLS, db uintptr, xCallback uintptr, pArg u // 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) uintptr { /* sqlite3.c:170707:17: */ +func Xsqlite3_preupdate_hook(tls *libc.TLS, db uintptr, xCallback uintptr, pArg uintptr) uintptr { /* sqlite3.c:170764:17: */ var pRet uintptr Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) pRet = (*Sqlite3)(unsafe.Pointer(db)).FpPreUpdateArg @@ -163838,7 +163888,7 @@ func Xsqlite3_preupdate_hook(tls *libc.TLS, db uintptr, xCallback uintptr, pArg // 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) int32 { /* sqlite3.c:170727:16: */ +func Xsqlite3_autovacuum_pages(tls *libc.TLS, db uintptr, xCallback uintptr, pArg uintptr, xDestructor uintptr) int32 { /* sqlite3.c:170784:16: */ Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) if (*Sqlite3)(unsafe.Pointer(db)).FxAutovacDestr != 0 { (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3)(unsafe.Pointer(db)).FxAutovacDestr})).f(tls, (*Sqlite3)(unsafe.Pointer(db)).FpAutovacPagesArg) @@ -163854,7 +163904,7 @@ func Xsqlite3_autovacuum_pages(tls *libc.TLS, db uintptr, xCallback uintptr, pAr // Invoke sqlite3_wal_checkpoint if the number of frames in the log file // is greater than sqlite3.pWalArg cast to an integer (the value configured by // wal_autocheckpoint()). -func Xsqlite3WalDefaultHook(tls *libc.TLS, pClientData uintptr, db uintptr, zDb uintptr, nFrame int32) int32 { /* sqlite3.c:170758:20: */ +func Xsqlite3WalDefaultHook(tls *libc.TLS, pClientData uintptr, db uintptr, zDb uintptr, nFrame int32) int32 { /* sqlite3.c:170815:20: */ if nFrame >= int32(pClientData) { Xsqlite3BeginBenignMalloc(tls) Xsqlite3_wal_checkpoint(tls, db, zDb) @@ -163872,7 +163922,7 @@ func Xsqlite3WalDefaultHook(tls *libc.TLS, pClientData uintptr, db uintptr, zDb // registered using sqlite3_wal_hook(). Likewise, registering a callback // using sqlite3_wal_hook() disables the automatic checkpoint mechanism // configured by this function. -func Xsqlite3_wal_autocheckpoint(tls *libc.TLS, db uintptr, nFrame int32) int32 { /* sqlite3.c:170784:16: */ +func Xsqlite3_wal_autocheckpoint(tls *libc.TLS, db uintptr, nFrame int32) int32 { /* sqlite3.c:170841:16: */ if nFrame > 0 { Xsqlite3_wal_hook(tls, db, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, uintptr, int32) int32 @@ -163885,7 +163935,7 @@ func Xsqlite3_wal_autocheckpoint(tls *libc.TLS, db uintptr, nFrame int32) int32 // 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) uintptr { /* sqlite3.c:170805:17: */ +func Xsqlite3_wal_hook(tls *libc.TLS, db uintptr, xCallback uintptr, pArg uintptr) uintptr { /* sqlite3.c:170862:17: */ var pRet uintptr Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) pRet = (*Sqlite3)(unsafe.Pointer(db)).FpWalArg @@ -163896,7 +163946,7 @@ func Xsqlite3_wal_hook(tls *libc.TLS, db uintptr, xCallback uintptr, pArg uintpt } // Checkpoint database zDb. -func Xsqlite3_wal_checkpoint_v2(tls *libc.TLS, db uintptr, zDb uintptr, eMode int32, pnLog uintptr, pnCkpt uintptr) int32 { /* sqlite3.c:170832:16: */ +func Xsqlite3_wal_checkpoint_v2(tls *libc.TLS, db uintptr, zDb uintptr, eMode int32, pnLog uintptr, pnCkpt uintptr) int32 { /* sqlite3.c:170889:16: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -163946,7 +163996,7 @@ func Xsqlite3_wal_checkpoint_v2(tls *libc.TLS, db uintptr, zDb uintptr, eMode in // Checkpoint database zDb. If zDb is NULL, or if the buffer zDb points // to contains a zero-length string, all attached databases are // checkpointed. -func Xsqlite3_wal_checkpoint(tls *libc.TLS, db uintptr, zDb uintptr) int32 { /* sqlite3.c:170896:16: */ +func Xsqlite3_wal_checkpoint(tls *libc.TLS, db uintptr, zDb uintptr) int32 { /* sqlite3.c:170953:16: */ // EVIDENCE-OF: R-41613-20553 The sqlite3_wal_checkpoint(D,X) is equivalent to // sqlite3_wal_checkpoint_v2(D,X,SQLITE_CHECKPOINT_PASSIVE,0,0). return Xsqlite3_wal_checkpoint_v2(tls, db, zDb, SQLITE_CHECKPOINT_PASSIVE, uintptr(0), uintptr(0)) @@ -163970,7 +164020,7 @@ func Xsqlite3_wal_checkpoint(tls *libc.TLS, db uintptr, zDb uintptr) int32 { /* // // Parameter eMode is one of SQLITE_CHECKPOINT_PASSIVE, FULL, RESTART // or TRUNCATE. -func Xsqlite3Checkpoint(tls *libc.TLS, db uintptr, iDb int32, eMode int32, pnLog uintptr, pnCkpt uintptr) int32 { /* sqlite3.c:170923:20: */ +func Xsqlite3Checkpoint(tls *libc.TLS, db uintptr, iDb int32, eMode int32, pnLog uintptr, pnCkpt uintptr) int32 { /* sqlite3.c:170980:20: */ var rc int32 = SQLITE_OK // Return code var i int32 // Used to iterate through attached dbs var bBusy int32 = 0 // True if SQLITE_BUSY has been encountered @@ -164012,19 +164062,19 @@ func Xsqlite3Checkpoint(tls *libc.TLS, db uintptr, iDb int32, eMode int32, pnLog // 2 2 memory (return 1) // 2 0 memory (return 1) // 3 any memory (return 1) -func Xsqlite3TempInMemory(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:170969:20: */ +func Xsqlite3TempInMemory(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:171026:20: */ return libc.Bool32(int32((*Sqlite3)(unsafe.Pointer(db)).Ftemp_store) == 2) } // Return UTF-8 encoded English language explanation of the most recent // error. -func Xsqlite3_errmsg(tls *libc.TLS, db uintptr) uintptr { /* sqlite3.c:170990:23: */ +func Xsqlite3_errmsg(tls *libc.TLS, db uintptr) uintptr { /* sqlite3.c:171047:23: */ var z uintptr if !(db != 0) { return Xsqlite3ErrStr(tls, SQLITE_NOMEM) } if !(Xsqlite3SafetyCheckSickOrOk(tls, db) != 0) { - return Xsqlite3ErrStr(tls, Xsqlite3MisuseError(tls, 170996)) + return Xsqlite3ErrStr(tls, Xsqlite3MisuseError(tls, 171053)) } Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) if (*Sqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 { @@ -164046,7 +164096,7 @@ func Xsqlite3_errmsg(tls *libc.TLS, db uintptr) uintptr { /* sqlite3.c:170990:23 } // Return the byte offset of the most recent error -func Xsqlite3_error_offset(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:171016:16: */ +func Xsqlite3_error_offset(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:171073:16: */ var iOffset int32 = -1 if db != 0 && Xsqlite3SafetyCheckSickOrOk(tls, db) != 0 && (*Sqlite3)(unsafe.Pointer(db)).FerrCode != 0 { Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) @@ -164058,7 +164108,7 @@ func Xsqlite3_error_offset(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:17101 // Return UTF-16 encoded English language explanation of the most recent // error. -func Xsqlite3_errmsg16(tls *libc.TLS, db uintptr) uintptr { /* sqlite3.c:171031:23: */ +func Xsqlite3_errmsg16(tls *libc.TLS, db uintptr) uintptr { /* sqlite3.c:171088:23: */ var z uintptr if !(db != 0) { return uintptr(uintptr(unsafe.Pointer(&outOfMem))) @@ -164087,18 +164137,18 @@ func Xsqlite3_errmsg16(tls *libc.TLS, db uintptr) uintptr { /* sqlite3.c:171031: var outOfMem = [14]U16{ U16('o'), U16('u'), U16('t'), U16(' '), U16('o'), U16('f'), U16(' '), U16('m'), U16('e'), U16('m'), U16('o'), U16('r'), U16('y'), U16(0), -} /* sqlite3.c:171032:20 */ +} /* sqlite3.c:171089:20 */ var misuse = [34]U16{ U16('b'), U16('a'), U16('d'), U16(' '), U16('p'), U16('a'), U16('r'), U16('a'), U16('m'), U16('e'), U16('t'), U16('e'), U16('r'), U16(' '), U16('o'), U16('r'), U16(' '), U16('o'), U16('t'), U16('h'), U16('e'), U16('r'), U16(' '), U16('A'), U16('P'), U16('I'), U16(' '), U16('m'), U16('i'), U16('s'), U16('u'), U16('s'), U16('e'), U16(0), -} /* sqlite3.c:171035:20 */ +} /* sqlite3.c:171092:20 */ // Return the most recent error code generated by an SQLite routine. If NULL is // passed to this function, we assume a malloc() failed during sqlite3_open(). -func Xsqlite3_errcode(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:171073:16: */ +func Xsqlite3_errcode(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:171130:16: */ if db != 0 && !(Xsqlite3SafetyCheckSickOrOk(tls, db) != 0) { - return Xsqlite3MisuseError(tls, 171075) + return Xsqlite3MisuseError(tls, 171132) } if !(db != 0) || (*Sqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 { return SQLITE_NOMEM @@ -164106,9 +164156,9 @@ func Xsqlite3_errcode(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:171073:16: return (*Sqlite3)(unsafe.Pointer(db)).FerrCode & (*Sqlite3)(unsafe.Pointer(db)).FerrMask } -func Xsqlite3_extended_errcode(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:171082:16: */ +func Xsqlite3_extended_errcode(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:171139:16: */ if db != 0 && !(Xsqlite3SafetyCheckSickOrOk(tls, db) != 0) { - return Xsqlite3MisuseError(tls, 171084) + return Xsqlite3MisuseError(tls, 171141) } if !(db != 0) || (*Sqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 { return SQLITE_NOMEM @@ -164116,7 +164166,7 @@ func Xsqlite3_extended_errcode(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:1 return (*Sqlite3)(unsafe.Pointer(db)).FerrCode } -func Xsqlite3_system_errno(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:171091:16: */ +func Xsqlite3_system_errno(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:171148:16: */ if db != 0 { return (*Sqlite3)(unsafe.Pointer(db)).FiSysErrno } @@ -164126,13 +164176,13 @@ func Xsqlite3_system_errno(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:17109 // Return a string that describes the kind of error specified in the // argument. For now, this simply calls the internal sqlite3ErrStr() // function. -func Xsqlite3_errstr(tls *libc.TLS, rc int32) uintptr { /* sqlite3.c:171100:23: */ +func Xsqlite3_errstr(tls *libc.TLS, rc int32) uintptr { /* sqlite3.c:171157:23: */ return Xsqlite3ErrStr(tls, rc) } // 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 U8, pCtx uintptr, xCompare uintptr, xDel uintptr) int32 { /* sqlite3.c:171108:12: */ +func createCollation(tls *libc.TLS, db uintptr, zName uintptr, enc U8, pCtx uintptr, xCompare uintptr, xDel uintptr) int32 { /* sqlite3.c:171165:12: */ var pColl uintptr var enc2 int32 @@ -164145,7 +164195,7 @@ func createCollation(tls *libc.TLS, db uintptr, zName uintptr, enc U8, pCtx uint enc2 = SQLITE_UTF16LE } if enc2 < SQLITE_UTF8 || enc2 > SQLITE_UTF16BE { - return Xsqlite3MisuseError(tls, 171132) + return Xsqlite3MisuseError(tls, 171189) } // Check if this call is removing or replacing an existing collation @@ -164208,7 +164258,7 @@ var aHardLimit = [12]int32{ SQLITE_MAX_VARIABLE_NUMBER, // IMP: R-38091-32352 SQLITE_MAX_TRIGGER_DEPTH, SQLITE_MAX_WORKER_THREADS, -} /* sqlite3.c:171185:18 */ +} /* sqlite3.c:171242:18 */ // Make sure the hard limits are set to reasonable values @@ -164220,7 +164270,7 @@ var aHardLimit = [12]int32{ // A new lower limit does not shrink existing constructs. // It merely prevents new constructs that exceed the limit // from forming. -func Xsqlite3_limit(tls *libc.TLS, db uintptr, limitId int32, newLimit int32) int32 { /* sqlite3.c:171248:16: */ +func Xsqlite3_limit(tls *libc.TLS, db uintptr, limitId int32, newLimit int32) int32 { /* sqlite3.c:171305:16: */ var oldLimit int32 // EVIDENCE-OF: R-30189-54097 For each limit category SQLITE_LIMIT_NAME @@ -164267,7 +164317,7 @@ func Xsqlite3_limit(tls *libc.TLS, db uintptr, limitId int32, newLimit int32) in // may be set to point to a buffer containing an English language error // message. It is the responsibility of the caller to eventually release // this buffer by calling sqlite3_free(). -func Xsqlite3ParseUri(tls *libc.TLS, zDefaultVfs uintptr, zUri uintptr, pFlags uintptr, ppVfs uintptr, pzFile uintptr, pzErrMsg uintptr) int32 { /* sqlite3.c:171320:20: */ +func Xsqlite3ParseUri(tls *libc.TLS, zDefaultVfs uintptr, zUri uintptr, pFlags uintptr, ppVfs uintptr, pzFile uintptr, pzErrMsg uintptr) int32 { /* sqlite3.c:171377:20: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -164605,24 +164655,24 @@ type OpenMode = struct { Fz uintptr Fmode int32 F__ccgo_pad1 [4]byte -} /* sqlite3.c:171462:9 */ +} /* sqlite3.c:171519:9 */ var aCacheMode = [3]OpenMode{ {Fz: ts + 24597, Fmode: SQLITE_OPEN_SHAREDCACHE}, {Fz: ts + 24604, Fmode: SQLITE_OPEN_PRIVATECACHE}, {}, -} /* sqlite3.c:171471:34 */ +} /* sqlite3.c:171528:34 */ var aOpenMode = [5]OpenMode{ {Fz: ts + 24612, Fmode: SQLITE_OPEN_READONLY}, {Fz: ts + 24615, Fmode: SQLITE_OPEN_READWRITE}, {Fz: ts + 24618, Fmode: SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE}, {Fz: ts + 17691, Fmode: SQLITE_OPEN_MEMORY}, {}, -} /* sqlite3.c:171483:34 */ +} /* sqlite3.c:171540:34 */ // This routine does the core work of extracting URI parameters from a // database filename for the sqlite3_uri_parameter() interface. -func uriParameter(tls *libc.TLS, zFilename uintptr, zParam uintptr) uintptr { /* sqlite3.c:171557:19: */ +func uriParameter(tls *libc.TLS, zFilename uintptr, zParam uintptr) uintptr { /* sqlite3.c:171614:19: */ zFilename += uintptr(Xsqlite3Strlen30(tls, zFilename) + 1) for zFilename != uintptr(0) && *(*int8)(unsafe.Pointer(zFilename)) != 0 { var x int32 = libc.Xstrcmp(tls, zFilename, zParam) @@ -164638,7 +164688,7 @@ func uriParameter(tls *libc.TLS, zFilename uintptr, zParam uintptr) uintptr { /* // This routine does the work of opening a database on behalf of // sqlite3_open() and sqlite3_open16(). The database filename "zFilename" // is UTF-8 encoded. -func openDatabase(tls *libc.TLS, zFilename uintptr, ppDb uintptr, flags uint32, zVfs uintptr) int32 { /* sqlite3.c:171575:12: */ +func openDatabase(tls *libc.TLS, zFilename uintptr, ppDb uintptr, flags uint32, zVfs uintptr) int32 { /* sqlite3.c:171632:12: */ bp := tls.Alloc(32) defer tls.Free(32) *(*uint32)(unsafe.Pointer(bp + 8)) = flags @@ -164822,7 +164872,7 @@ __15: if !(int32(1)<<(*(*uint32)(unsafe.Pointer(bp + 8))&uint32(7))&0x46 == 0) { goto __16 } - rc = Xsqlite3MisuseError(tls, 171788) // IMP: R-18321-05872 + rc = Xsqlite3MisuseError(tls, 171845) // IMP: R-18321-05872 goto __17 __16: rc = Xsqlite3ParseUri(tls, zVfs, zFilename, bp+8, db, bp+16, bp+24) @@ -164978,17 +165028,17 @@ __32: } // Open a new database handle. -func Xsqlite3_open(tls *libc.TLS, zFilename uintptr, ppDb uintptr) int32 { /* sqlite3.c:171910:16: */ +func Xsqlite3_open(tls *libc.TLS, zFilename uintptr, ppDb uintptr) int32 { /* sqlite3.c:171967:16: */ return openDatabase(tls, zFilename, ppDb, uint32(SQLITE_OPEN_READWRITE|SQLITE_OPEN_CREATE), uintptr(0)) } -func Xsqlite3_open_v2(tls *libc.TLS, filename uintptr, ppDb uintptr, flags int32, zVfs uintptr) int32 { /* sqlite3.c:171917:16: */ +func Xsqlite3_open_v2(tls *libc.TLS, filename uintptr, ppDb uintptr, flags int32, zVfs uintptr) int32 { /* sqlite3.c:171974:16: */ return openDatabase(tls, filename, ppDb, uint32(flags), zVfs) } // Open a new database handle. -func Xsqlite3_open16(tls *libc.TLS, zFilename uintptr, ppDb uintptr) int32 { /* sqlite3.c:171930:16: */ +func Xsqlite3_open16(tls *libc.TLS, zFilename uintptr, ppDb uintptr) int32 { /* sqlite3.c:171987:16: */ var zFilename8 uintptr // zFilename encoded in UTF-8 instead of UTF-16 var pVal uintptr var rc int32 @@ -165020,12 +165070,12 @@ func Xsqlite3_open16(tls *libc.TLS, zFilename uintptr, ppDb uintptr) int32 { /* } // 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) int32 { /* sqlite3.c:171969:16: */ +func Xsqlite3_create_collation(tls *libc.TLS, db uintptr, zName uintptr, enc int32, pCtx uintptr, xCompare uintptr) int32 { /* sqlite3.c:172026:16: */ return Xsqlite3_create_collation_v2(tls, db, zName, enc, pCtx, xCompare, uintptr(0)) } // 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) int32 { /* sqlite3.c:171982:16: */ +func Xsqlite3_create_collation_v2(tls *libc.TLS, db uintptr, zName uintptr, enc int32, pCtx uintptr, xCompare uintptr, xDel uintptr) int32 { /* sqlite3.c:172039:16: */ var rc int32 Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) @@ -165037,7 +165087,7 @@ func Xsqlite3_create_collation_v2(tls *libc.TLS, db uintptr, zName uintptr, enc } // 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) int32 { /* sqlite3.c:172007:16: */ +func Xsqlite3_create_collation16(tls *libc.TLS, db uintptr, zName uintptr, enc int32, pCtx uintptr, xCompare uintptr) int32 { /* sqlite3.c:172064:16: */ var rc int32 = SQLITE_OK var zName8 uintptr @@ -165055,7 +165105,7 @@ func Xsqlite3_create_collation16(tls *libc.TLS, db uintptr, zName uintptr, enc i // 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) int32 { /* sqlite3.c:172037:16: */ +func Xsqlite3_collation_needed(tls *libc.TLS, db uintptr, pCollNeededArg uintptr, xCollNeeded uintptr) int32 { /* sqlite3.c:172094:16: */ Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) (*Sqlite3)(unsafe.Pointer(db)).FxCollNeeded = xCollNeeded (*Sqlite3)(unsafe.Pointer(db)).FxCollNeeded16 = uintptr(0) @@ -165066,7 +165116,7 @@ func Xsqlite3_collation_needed(tls *libc.TLS, db uintptr, pCollNeededArg uintptr // 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) int32 { /* sqlite3.c:172058:16: */ +func Xsqlite3_collation_needed16(tls *libc.TLS, db uintptr, pCollNeededArg uintptr, xCollNeeded16 uintptr) int32 { /* sqlite3.c:172115:16: */ Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) (*Sqlite3)(unsafe.Pointer(db)).FxCollNeeded = uintptr(0) (*Sqlite3)(unsafe.Pointer(db)).FxCollNeeded16 = xCollNeeded16 @@ -165077,7 +165127,7 @@ func Xsqlite3_collation_needed16(tls *libc.TLS, db uintptr, pCollNeededArg uintp // This function is now an anachronism. It used to be used to recover from a // malloc() failure, but SQLite now does this automatically. -func Xsqlite3_global_recover(tls *libc.TLS) int32 { /* sqlite3.c:172080:16: */ +func Xsqlite3_global_recover(tls *libc.TLS) int32 { /* sqlite3.c:172137:16: */ return SQLITE_OK } @@ -165085,7 +165135,7 @@ func Xsqlite3_global_recover(tls *libc.TLS) int32 { /* sqlite3.c:172080:16: */ // mode. Return TRUE if it is and FALSE if not. Autocommit mode is on // by default. Autocommit is disabled by a BEGIN statement and reenabled // by the next COMMIT or ROLLBACK. -func Xsqlite3_get_autocommit(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:172091:16: */ +func Xsqlite3_get_autocommit(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:172148:16: */ return int32((*Sqlite3)(unsafe.Pointer(db)).FautoCommit) } @@ -165098,7 +165148,7 @@ func Xsqlite3_get_autocommit(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:172 // // 2. Invoke sqlite3_log() to provide the source code location where // a low-level error is first detected. -func Xsqlite3ReportError(tls *libc.TLS, iErr int32, lineno int32, zType uintptr) int32 { /* sqlite3.c:172112:20: */ +func Xsqlite3ReportError(tls *libc.TLS, iErr int32, lineno int32, zType uintptr) int32 { /* sqlite3.c:172169:20: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -165107,17 +165157,17 @@ func Xsqlite3ReportError(tls *libc.TLS, iErr int32, lineno int32, zType uintptr) return iErr } -func Xsqlite3CorruptError(tls *libc.TLS, lineno int32) int32 { /* sqlite3.c:172117:20: */ +func Xsqlite3CorruptError(tls *libc.TLS, lineno int32) int32 { /* sqlite3.c:172174:20: */ return Xsqlite3ReportError(tls, SQLITE_CORRUPT, lineno, ts+24656) } -func Xsqlite3MisuseError(tls *libc.TLS, lineno int32) int32 { /* sqlite3.c:172121:20: */ +func Xsqlite3MisuseError(tls *libc.TLS, lineno int32) int32 { /* sqlite3.c:172178:20: */ return Xsqlite3ReportError(tls, SQLITE_MISUSE, lineno, ts+24676) } -func Xsqlite3CantopenError(tls *libc.TLS, lineno int32) int32 { /* sqlite3.c:172125:20: */ +func Xsqlite3CantopenError(tls *libc.TLS, lineno int32) int32 { /* sqlite3.c:172182:20: */ return Xsqlite3ReportError(tls, SQLITE_CANTOPEN, lineno, ts+24683) } @@ -165127,12 +165177,12 @@ func Xsqlite3CantopenError(tls *libc.TLS, lineno int32) int32 { /* sqlite3.c:172 // // SQLite no longer uses thread-specific data so this routine is now a // no-op. It is retained for historical compatibility. -func Xsqlite3_thread_cleanup(tls *libc.TLS) { /* sqlite3.c:172156:17: */ +func Xsqlite3_thread_cleanup(tls *libc.TLS) { /* sqlite3.c:172213:17: */ } // Return meta information about a specific column of a database table. // See comment in sqlite3.h (sqlite.h.in) for details. -func Xsqlite3_table_column_metadata(tls *libc.TLS, db uintptr, zDbName uintptr, zTableName uintptr, zColumnName uintptr, pzDataType uintptr, pzCollSeq uintptr, pNotNull uintptr, pPrimaryKey uintptr, pAutoinc uintptr) int32 { /* sqlite3.c:172164:16: */ +func Xsqlite3_table_column_metadata(tls *libc.TLS, db uintptr, zDbName uintptr, zTableName uintptr, zColumnName uintptr, pzDataType uintptr, pzCollSeq uintptr, pNotNull uintptr, pPrimaryKey uintptr, pAutoinc uintptr) int32 { /* sqlite3.c:172221:16: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -165316,7 +165366,7 @@ __20: } // Sleep for a little while. Return the amount of time slept. -func Xsqlite3_sleep(tls *libc.TLS, ms int32) int32 { /* sqlite3.c:172282:16: */ +func Xsqlite3_sleep(tls *libc.TLS, ms int32) int32 { /* sqlite3.c:172339:16: */ var pVfs uintptr var rc int32 pVfs = Xsqlite3_vfs_find(tls, uintptr(0)) @@ -165331,7 +165381,7 @@ func Xsqlite3_sleep(tls *libc.TLS, ms int32) int32 { /* sqlite3.c:172282:16: */ } // Enable or disable the extended result codes. -func Xsqlite3_extended_result_codes(tls *libc.TLS, db uintptr, onoff int32) int32 { /* sqlite3.c:172298:16: */ +func Xsqlite3_extended_result_codes(tls *libc.TLS, db uintptr, onoff int32) int32 { /* sqlite3.c:172355:16: */ Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) (*Sqlite3)(unsafe.Pointer(db)).FerrMask = func() int32 { if onoff != 0 { @@ -165344,7 +165394,7 @@ func Xsqlite3_extended_result_codes(tls *libc.TLS, db uintptr, onoff int32) int3 } // Invoke the xFileControl method on a particular database. -func Xsqlite3_file_control(tls *libc.TLS, db uintptr, zDbName uintptr, op int32, pArg uintptr) int32 { /* sqlite3.c:172311:16: */ +func Xsqlite3_file_control(tls *libc.TLS, db uintptr, zDbName uintptr, op int32, pArg uintptr) int32 { /* sqlite3.c:172368:16: */ var rc int32 = SQLITE_ERROR var pBtree uintptr @@ -165389,7 +165439,7 @@ func Xsqlite3_file_control(tls *libc.TLS, db uintptr, zDbName uintptr, op int32, } // Interface to the testing logic. -func Xsqlite3_test_control(tls *libc.TLS, op int32, va uintptr) int32 { /* sqlite3.c:172361:16: */ +func Xsqlite3_test_control(tls *libc.TLS, op int32, va uintptr) int32 { /* sqlite3.c:172418:16: */ var rc int32 = 0 var ap Va_list _ = ap @@ -165848,7 +165898,7 @@ func Xsqlite3_test_control(tls *libc.TLS, op int32, va uintptr) int32 { /* sqlit // backwards for the first byte following four consecutive zero bytes. // // This only works if the filename passed in was obtained from the Pager. -func databaseName(tls *libc.TLS, zName uintptr) uintptr { /* sqlite3.c:172857:19: */ +func databaseName(tls *libc.TLS, zName uintptr) uintptr { /* sqlite3.c:172914:19: */ for int32(*(*int8)(unsafe.Pointer(zName + libc.UintptrFromInt32(-1)))) != 0 || int32(*(*int8)(unsafe.Pointer(zName + libc.UintptrFromInt32(-2)))) != 0 || int32(*(*int8)(unsafe.Pointer(zName + libc.UintptrFromInt32(-3)))) != 0 || int32(*(*int8)(unsafe.Pointer(zName + libc.UintptrFromInt32(-4)))) != 0 { zName-- } @@ -165857,7 +165907,7 @@ func databaseName(tls *libc.TLS, zName uintptr) uintptr { /* sqlite3.c:172857:19 // Append text z[] to the end of p[]. Return a pointer to the first // character after then zero terminator on the new text in p[]. -func appendText(tls *libc.TLS, p uintptr, z uintptr) uintptr { /* sqlite3.c:172868:13: */ +func appendText(tls *libc.TLS, p uintptr, z uintptr) uintptr { /* sqlite3.c:172925:13: */ var n Size_t = libc.Xstrlen(tls, z) libc.X__builtin___memcpy_chk(tls, p, z, n+uint64(1), libc.X__builtin_object_size(tls, p, 0)) return p + uintptr(n) + uintptr(1) @@ -165870,7 +165920,7 @@ func appendText(tls *libc.TLS, p uintptr, z uintptr) uintptr { /* sqlite3.c:1728 // // Memory layout must be compatible with that generated by the pager // and expected by sqlite3_uri_parameter() and databaseName(). -func Xsqlite3_create_filename(tls *libc.TLS, zDatabase uintptr, zJournal uintptr, zWal uintptr, nParam int32, azParam uintptr) uintptr { /* sqlite3.c:172883:17: */ +func Xsqlite3_create_filename(tls *libc.TLS, zDatabase uintptr, zJournal uintptr, zWal uintptr, nParam int32, azParam uintptr) uintptr { /* sqlite3.c:172940:17: */ var nByte Sqlite3_int64 var i int32 var pResult uintptr @@ -165901,7 +165951,7 @@ func Xsqlite3_create_filename(tls *libc.TLS, zDatabase uintptr, zJournal uintptr // Free memory obtained from sqlite3_create_filename(). It is a severe // error to call this routine with any parameter other than a pointer // previously obtained from sqlite3_create_filename() or a NULL pointer. -func Xsqlite3_free_filename(tls *libc.TLS, p uintptr) { /* sqlite3.c:172919:17: */ +func Xsqlite3_free_filename(tls *libc.TLS, p uintptr) { /* sqlite3.c:172976:17: */ if p == uintptr(0) { return } @@ -165918,7 +165968,7 @@ func Xsqlite3_free_filename(tls *libc.TLS, p uintptr) { /* sqlite3.c:172919:17: // query parameter we seek. This routine returns the value of the zParam // parameter if it exists. If the parameter does not exist, this routine // returns a NULL pointer. -func Xsqlite3_uri_parameter(tls *libc.TLS, zFilename uintptr, zParam uintptr) uintptr { /* sqlite3.c:172937:23: */ +func Xsqlite3_uri_parameter(tls *libc.TLS, zFilename uintptr, zParam uintptr) uintptr { /* sqlite3.c:172994:23: */ if zFilename == uintptr(0) || zParam == uintptr(0) { return uintptr(0) } @@ -165927,7 +165977,7 @@ func Xsqlite3_uri_parameter(tls *libc.TLS, zFilename uintptr, zParam uintptr) ui } // Return a pointer to the name of Nth query parameter of the filename. -func Xsqlite3_uri_key(tls *libc.TLS, zFilename uintptr, N int32) uintptr { /* sqlite3.c:172946:23: */ +func Xsqlite3_uri_key(tls *libc.TLS, zFilename uintptr, N int32) uintptr { /* sqlite3.c:173003:23: */ if zFilename == uintptr(0) || N < 0 { return uintptr(0) } @@ -165944,7 +165994,7 @@ func Xsqlite3_uri_key(tls *libc.TLS, zFilename uintptr, N int32) uintptr { /* sq } // Return a boolean value for a query parameter. -func Xsqlite3_uri_boolean(tls *libc.TLS, zFilename uintptr, zParam uintptr, bDflt int32) int32 { /* sqlite3.c:172960:16: */ +func Xsqlite3_uri_boolean(tls *libc.TLS, zFilename uintptr, zParam uintptr, bDflt int32) int32 { /* sqlite3.c:173017:16: */ var z uintptr = Xsqlite3_uri_parameter(tls, zFilename, zParam) bDflt = libc.Bool32(bDflt != 0) if z != 0 { @@ -165954,7 +166004,7 @@ func Xsqlite3_uri_boolean(tls *libc.TLS, zFilename uintptr, zParam uintptr, bDfl } // Return a 64-bit integer value for a query parameter. -func Xsqlite3_uri_int64(tls *libc.TLS, zFilename uintptr, zParam uintptr, bDflt Sqlite3_int64) Sqlite3_int64 { /* sqlite3.c:172969:26: */ +func Xsqlite3_uri_int64(tls *libc.TLS, zFilename uintptr, zParam uintptr, bDflt Sqlite3_int64) Sqlite3_int64 { /* sqlite3.c:173026:26: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -165975,14 +166025,14 @@ func Xsqlite3_uri_int64(tls *libc.TLS, zFilename uintptr, zParam uintptr, bDflt // passing free() a pointer that was not obtained from malloc() - it is // an error that we cannot easily detect but that will likely cause memory // corruption. -func Xsqlite3_filename_database(tls *libc.TLS, zFilename uintptr) uintptr { /* sqlite3.c:172992:23: */ +func Xsqlite3_filename_database(tls *libc.TLS, zFilename uintptr) uintptr { /* sqlite3.c:173049:23: */ if zFilename == uintptr(0) { return uintptr(0) } return databaseName(tls, zFilename) } -func Xsqlite3_filename_journal(tls *libc.TLS, zFilename uintptr) uintptr { /* sqlite3.c:172996:23: */ +func Xsqlite3_filename_journal(tls *libc.TLS, zFilename uintptr) uintptr { /* sqlite3.c:173053:23: */ if zFilename == uintptr(0) { return uintptr(0) } @@ -165995,7 +166045,7 @@ func Xsqlite3_filename_journal(tls *libc.TLS, zFilename uintptr) uintptr { /* sq return zFilename + uintptr(1) } -func Xsqlite3_filename_wal(tls *libc.TLS, zFilename uintptr) uintptr { /* sqlite3.c:173006:23: */ +func Xsqlite3_filename_wal(tls *libc.TLS, zFilename uintptr) uintptr { /* sqlite3.c:173063:23: */ zFilename = Xsqlite3_filename_journal(tls, zFilename) if zFilename != 0 { zFilename += uintptr(Xsqlite3Strlen30(tls, zFilename) + 1) @@ -166004,7 +166054,7 @@ func Xsqlite3_filename_wal(tls *libc.TLS, zFilename uintptr) uintptr { /* sqlite } // Return the Btree pointer identified by zDbName. Return NULL if not found. -func Xsqlite3DbNameToBtree(tls *libc.TLS, db uintptr, zDbName uintptr) uintptr { /* sqlite3.c:173019:22: */ +func Xsqlite3DbNameToBtree(tls *libc.TLS, db uintptr, zDbName uintptr) uintptr { /* sqlite3.c:173076:22: */ var iDb int32 if zDbName != 0 { iDb = Xsqlite3FindDbName(tls, db, zDbName) @@ -166019,7 +166069,7 @@ func Xsqlite3DbNameToBtree(tls *libc.TLS, db uintptr, zDbName uintptr) uintptr { // Return the filename of the database associated with a database // connection. -func Xsqlite3_db_filename(tls *libc.TLS, db uintptr, zDbName uintptr) uintptr { /* sqlite3.c:173028:23: */ +func Xsqlite3_db_filename(tls *libc.TLS, db uintptr, zDbName uintptr) uintptr { /* sqlite3.c:173085:23: */ var pBt uintptr pBt = Xsqlite3DbNameToBtree(tls, db, zDbName) if pBt != 0 { @@ -166030,7 +166080,7 @@ func Xsqlite3_db_filename(tls *libc.TLS, db uintptr, zDbName uintptr) uintptr { // Return 1 if database is read-only or 0 if read/write. Return -1 if // no such database exists. -func Xsqlite3_db_readonly(tls *libc.TLS, db uintptr, zDbName uintptr) int32 { /* sqlite3.c:173044:16: */ +func Xsqlite3_db_readonly(tls *libc.TLS, db uintptr, zDbName uintptr) int32 { /* sqlite3.c:173101:16: */ var pBt uintptr pBt = Xsqlite3DbNameToBtree(tls, db, zDbName) if pBt != 0 { @@ -166041,7 +166091,7 @@ func Xsqlite3_db_readonly(tls *libc.TLS, db uintptr, zDbName uintptr) int32 { /* // Obtain a snapshot handle for the snapshot of database zDb currently // being read by handle db. -func Xsqlite3_snapshot_get(tls *libc.TLS, db uintptr, zDb uintptr, ppSnapshot uintptr) int32 { /* sqlite3.c:173061:16: */ +func Xsqlite3_snapshot_get(tls *libc.TLS, db uintptr, zDb uintptr, ppSnapshot uintptr) int32 { /* sqlite3.c:173118:16: */ var rc int32 = SQLITE_ERROR Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) @@ -166064,7 +166114,7 @@ func Xsqlite3_snapshot_get(tls *libc.TLS, db uintptr, zDb uintptr, ppSnapshot ui } // Open a read-transaction on the snapshot idendified by pSnapshot. -func Xsqlite3_snapshot_open(tls *libc.TLS, db uintptr, zDb uintptr, pSnapshot uintptr) int32 { /* sqlite3.c:173097:16: */ +func Xsqlite3_snapshot_open(tls *libc.TLS, db uintptr, zDb uintptr, pSnapshot uintptr) int32 { /* sqlite3.c:173154:16: */ var rc int32 = SQLITE_ERROR Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) @@ -166107,7 +166157,7 @@ func Xsqlite3_snapshot_open(tls *libc.TLS, db uintptr, zDb uintptr, pSnapshot ui // Recover as many snapshots as possible from the wal file associated with // schema zDb of database db. -func Xsqlite3_snapshot_recover(tls *libc.TLS, db uintptr, zDb uintptr) int32 { /* sqlite3.c:173153:16: */ +func Xsqlite3_snapshot_recover(tls *libc.TLS, db uintptr, zDb uintptr) int32 { /* sqlite3.c:173210:16: */ var rc int32 = SQLITE_ERROR var iDb int32 @@ -166128,7 +166178,7 @@ func Xsqlite3_snapshot_recover(tls *libc.TLS, db uintptr, zDb uintptr) int32 { / } // Free a snapshot handle obtained from sqlite3_snapshot_get(). -func Xsqlite3_snapshot_free(tls *libc.TLS, pSnapshot uintptr) { /* sqlite3.c:173184:17: */ +func Xsqlite3_snapshot_free(tls *libc.TLS, pSnapshot uintptr) { /* sqlite3.c:173241:17: */ Xsqlite3_free(tls, pSnapshot) } @@ -166137,7 +166187,7 @@ func Xsqlite3_snapshot_free(tls *libc.TLS, pSnapshot uintptr) { /* sqlite3.c:173 // // The name can optionally begin with "SQLITE_" but the "SQLITE_" prefix // is not required for a match. -func Xsqlite3_compileoption_used(tls *libc.TLS, zOptName uintptr) int32 { /* sqlite3.c:173197:16: */ +func Xsqlite3_compileoption_used(tls *libc.TLS, zOptName uintptr) int32 { /* sqlite3.c:173254:16: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -166167,7 +166217,7 @@ func Xsqlite3_compileoption_used(tls *libc.TLS, zOptName uintptr) int32 { /* sql // Return the N-th compile-time option string. If N is out of range, // return a NULL pointer. -func Xsqlite3_compileoption_get(tls *libc.TLS, N int32) uintptr { /* sqlite3.c:173230:23: */ +func Xsqlite3_compileoption_get(tls *libc.TLS, N int32) uintptr { /* sqlite3.c:173287:23: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -166212,11 +166262,11 @@ func Xsqlite3_compileoption_get(tls *libc.TLS, N int32) uintptr { /* sqlite3.c:1 // for which either sqlite3.pBlockingConnection or sqlite3.pUnlockConnection // is not NULL. This variable may only accessed while the STATIC_MAIN // mutex is held. -var sqlite3BlockedList uintptr = uintptr(0) /* sqlite3.c:173282:16 */ +var sqlite3BlockedList uintptr = uintptr(0) /* sqlite3.c:173339:16 */ // Remove connection db from the blocked connections list. If connection // db is not currently a part of the list, this function is a no-op. -func removeFromBlockedList(tls *libc.TLS, db uintptr) { /* sqlite3.c:173325:13: */ +func removeFromBlockedList(tls *libc.TLS, db uintptr) { /* sqlite3.c:173382:13: */ var pp uintptr for pp = uintptr(unsafe.Pointer(&sqlite3BlockedList)); *(*uintptr)(unsafe.Pointer(pp)) != 0; pp = *(*uintptr)(unsafe.Pointer(pp)) + 832 { @@ -166229,7 +166279,7 @@ func removeFromBlockedList(tls *libc.TLS, db uintptr) { /* sqlite3.c:173325:13: // Add connection db to the blocked connections list. It is assumed // that it is not already a part of the list. -func addToBlockedList(tls *libc.TLS, db uintptr) { /* sqlite3.c:173340:13: */ +func addToBlockedList(tls *libc.TLS, db uintptr) { /* sqlite3.c:173397:13: */ var pp uintptr for pp = uintptr(unsafe.Pointer(&sqlite3BlockedList)); *(*uintptr)(unsafe.Pointer(pp)) != 0 && (*Sqlite3)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pp)))).FxUnlockNotify != (*Sqlite3)(unsafe.Pointer(db)).FxUnlockNotify; pp = *(*uintptr)(unsafe.Pointer(pp)) + 832 { @@ -166239,13 +166289,13 @@ func addToBlockedList(tls *libc.TLS, db uintptr) { /* sqlite3.c:173340:13: */ } // Obtain the STATIC_MAIN mutex. -func enterMutex(tls *libc.TLS) { /* sqlite3.c:173355:13: */ +func enterMutex(tls *libc.TLS) { /* sqlite3.c:173412:13: */ Xsqlite3_mutex_enter(tls, Xsqlite3MutexAlloc(tls, SQLITE_MUTEX_STATIC_MAIN)) } // Release the STATIC_MAIN mutex. -func leaveMutex(tls *libc.TLS) { /* sqlite3.c:173363:13: */ +func leaveMutex(tls *libc.TLS) { /* sqlite3.c:173420:13: */ Xsqlite3_mutex_leave(tls, Xsqlite3MutexAlloc(tls, SQLITE_MUTEX_STATIC_MAIN)) } @@ -166269,7 +166319,7 @@ func leaveMutex(tls *libc.TLS) { /* sqlite3.c:173363:13: */ // Each call to this routine overrides any prior callbacks registered // 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) int32 { /* sqlite3.c:173390:16: */ +func Xsqlite3_unlock_notify(tls *libc.TLS, db uintptr, xNotify uintptr, pArg uintptr) int32 { /* sqlite3.c:173447:16: */ bp := tls.Alloc(8) defer tls.Free(8) *(*uintptr)(unsafe.Pointer(bp)) = pArg @@ -166324,7 +166374,7 @@ func Xsqlite3_unlock_notify(tls *libc.TLS, db uintptr, xNotify uintptr, pArg uin // associated with connection db. The operation will return SQLITE_LOCKED // to the user because it requires a lock that will not be available // until connection pBlocker concludes its current transaction. -func Xsqlite3ConnectionBlocked(tls *libc.TLS, db uintptr, pBlocker uintptr) { /* sqlite3.c:173440:21: */ +func Xsqlite3ConnectionBlocked(tls *libc.TLS, db uintptr, pBlocker uintptr) { /* sqlite3.c:173497:21: */ enterMutex(tls) if (*Sqlite3)(unsafe.Pointer(db)).FpBlockingConnection == uintptr(0) && (*Sqlite3)(unsafe.Pointer(db)).FpUnlockConnection == uintptr(0) { addToBlockedList(tls, db) @@ -166350,7 +166400,7 @@ func Xsqlite3ConnectionBlocked(tls *libc.TLS, db uintptr, pBlocker uintptr) { /* // 3) If the two steps above mean that pBlockingConnection==0 and // pUnlockConnection==0, remove the entry from the blocked connections // list. -func Xsqlite3ConnectionUnlocked(tls *libc.TLS, db uintptr) { /* sqlite3.c:173468:21: */ +func Xsqlite3ConnectionUnlocked(tls *libc.TLS, db uintptr) { /* sqlite3.c:173525:21: */ bp := tls.Alloc(128) defer tls.Free(128) @@ -166454,7 +166504,7 @@ func Xsqlite3ConnectionUnlocked(tls *libc.TLS, db uintptr) { /* sqlite3.c:173468 // This is called when the database connection passed as an argument is // being closed. The connection is removed from the blocked list. -func Xsqlite3ConnectionClosed(tls *libc.TLS, db uintptr) { /* sqlite3.c:173567:21: */ +func Xsqlite3ConnectionClosed(tls *libc.TLS, db uintptr) { /* sqlite3.c:173624:21: */ Xsqlite3ConnectionUnlocked(tls, db) enterMutex(tls) removeFromBlockedList(tls, db) @@ -167059,7 +167109,7 @@ var jsonIsSpace = [256]int8{ int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), -} /* sqlite3.c:193144:19 */ +} /* sqlite3.c:193201:19 */ // Objects type JsonString1 = struct { @@ -167071,10 +167121,10 @@ type JsonString1 = struct { FbErr U8 FzSpace [100]int8 F__ccgo_pad1 [2]byte -} /* sqlite3.c:193171:9 */ +} /* sqlite3.c:193228:9 */ // Objects -type JsonString = JsonString1 /* sqlite3.c:193171:27 */ +type JsonString = JsonString1 /* sqlite3.c:193228:27 */ type JsonNode1 = struct { FeType U8 FjnFlags U8 @@ -167082,9 +167132,9 @@ type JsonNode1 = struct { F__ccgo_pad1 [1]byte Fn U32 Fu struct{ FzJContent uintptr } -} /* sqlite3.c:193172:9 */ +} /* sqlite3.c:193229:9 */ -type JsonNode = JsonNode1 /* sqlite3.c:193172:25 */ +type JsonNode = JsonNode1 /* sqlite3.c:193229:25 */ type JsonParse1 = struct { FnNode U32 FnAlloc U32 @@ -167097,9 +167147,9 @@ type JsonParse1 = struct { FnJson int32 FiHold U32 F__ccgo_pad1 [4]byte -} /* sqlite3.c:193173:9 */ +} /* sqlite3.c:193230:9 */ -type JsonParse = JsonParse1 /* sqlite3.c:193173:26 */ +type JsonParse = JsonParse1 /* sqlite3.c:193230:26 */ // JSON type values @@ -167108,7 +167158,7 @@ type JsonParse = JsonParse1 /* sqlite3.c:193173:26 */ // Names of the various JSON types: var jsonType = [8]uintptr{ ts + 6535, ts + 7049, ts + 7054, ts + 6545, ts + 6540, ts + 8295, ts + 24759, ts + 24765, -} /* sqlite3.c:193206:19 */ +} /* sqlite3.c:193263:19 */ // Maximum nesting depth of JSON for this implementation. // @@ -167122,7 +167172,7 @@ var jsonType = [8]uintptr{ // // Set the JsonString object to an empty string -func jsonZero(tls *libc.TLS, p uintptr) { /* sqlite3.c:193267:13: */ +func jsonZero(tls *libc.TLS, p uintptr) { /* sqlite3.c:193324:13: */ (*JsonString)(unsafe.Pointer(p)).FzBuf = p + 34 /* &.zSpace */ (*JsonString)(unsafe.Pointer(p)).FnAlloc = U64(unsafe.Sizeof([100]int8{})) (*JsonString)(unsafe.Pointer(p)).FnUsed = uint64(0) @@ -167130,7 +167180,7 @@ func jsonZero(tls *libc.TLS, p uintptr) { /* sqlite3.c:193267:13: */ } // Initialize the JsonString object -func jsonInit(tls *libc.TLS, p uintptr, pCtx uintptr) { /* sqlite3.c:193276:13: */ +func jsonInit(tls *libc.TLS, p uintptr, pCtx uintptr) { /* sqlite3.c:193333:13: */ (*JsonString)(unsafe.Pointer(p)).FpCtx = pCtx (*JsonString)(unsafe.Pointer(p)).FbErr = U8(0) jsonZero(tls, p) @@ -167138,7 +167188,7 @@ func jsonInit(tls *libc.TLS, p uintptr, pCtx uintptr) { /* sqlite3.c:193276:13: // Free all allocated memory and reset the JsonString object back to its // initial state. -func jsonReset(tls *libc.TLS, p uintptr) { /* sqlite3.c:193286:13: */ +func jsonReset(tls *libc.TLS, p uintptr) { /* sqlite3.c:193343:13: */ if !(int32((*JsonString)(unsafe.Pointer(p)).FbStatic) != 0) { Xsqlite3_free(tls, (*JsonString)(unsafe.Pointer(p)).FzBuf) } @@ -167146,7 +167196,7 @@ func jsonReset(tls *libc.TLS, p uintptr) { /* sqlite3.c:193286:13: */ } // Report an out-of-memory (OOM) condition -func jsonOom(tls *libc.TLS, p uintptr) { /* sqlite3.c:193294:13: */ +func jsonOom(tls *libc.TLS, p uintptr) { /* sqlite3.c:193351:13: */ (*JsonString)(unsafe.Pointer(p)).FbErr = U8(1) Xsqlite3_result_error_nomem(tls, (*JsonString)(unsafe.Pointer(p)).FpCtx) jsonReset(tls, p) @@ -167154,7 +167204,7 @@ func jsonOom(tls *libc.TLS, p uintptr) { /* sqlite3.c:193294:13: */ // Enlarge pJson->zBuf so that it can hold at least N more bytes. // Return zero on success. Return non-zero on an OOM error -func jsonGrow(tls *libc.TLS, p uintptr, N U32) int32 { /* sqlite3.c:193303:12: */ +func jsonGrow(tls *libc.TLS, p uintptr, N U32) int32 { /* sqlite3.c:193360:12: */ var nTotal U64 if U64(N) < (*JsonString)(unsafe.Pointer(p)).FnAlloc { nTotal = (*JsonString)(unsafe.Pointer(p)).FnAlloc * uint64(2) @@ -167187,7 +167237,7 @@ func jsonGrow(tls *libc.TLS, p uintptr, N U32) int32 { /* sqlite3.c:193303:12: * } // Append N bytes from zIn onto the end of the JsonString string. -func jsonAppendRaw(tls *libc.TLS, p uintptr, zIn uintptr, N U32) { /* sqlite3.c:193330:13: */ +func jsonAppendRaw(tls *libc.TLS, p uintptr, zIn uintptr, N U32) { /* sqlite3.c:193387:13: */ if N == U32(0) { return } @@ -167199,7 +167249,7 @@ func jsonAppendRaw(tls *libc.TLS, p uintptr, zIn uintptr, N U32) { /* sqlite3.c: } // Append formatted text (not to exceed N bytes) to the JsonString. -func jsonPrintf(tls *libc.TLS, N int32, p uintptr, zFormat uintptr, va uintptr) { /* sqlite3.c:193339:13: */ +func jsonPrintf(tls *libc.TLS, N int32, p uintptr, zFormat uintptr, va uintptr) { /* sqlite3.c:193396:13: */ var ap Va_list _ = ap if (*JsonString)(unsafe.Pointer(p)).FnUsed+U64(N) >= (*JsonString)(unsafe.Pointer(p)).FnAlloc && jsonGrow(tls, p, uint32(N)) != 0 { @@ -167212,7 +167262,7 @@ func jsonPrintf(tls *libc.TLS, N int32, p uintptr, zFormat uintptr, va uintptr) } // Append a single character -func jsonAppendChar(tls *libc.TLS, p uintptr, c int8) { /* sqlite3.c:193350:13: */ +func jsonAppendChar(tls *libc.TLS, p uintptr, c int8) { /* sqlite3.c:193407:13: */ if (*JsonString)(unsafe.Pointer(p)).FnUsed >= (*JsonString)(unsafe.Pointer(p)).FnAlloc && jsonGrow(tls, p, uint32(1)) != 0 { return } @@ -167221,7 +167271,7 @@ func jsonAppendChar(tls *libc.TLS, p uintptr, c int8) { /* sqlite3.c:193350:13: // Append a comma separator to the output buffer, if the previous // character is not '[' or '{'. -func jsonAppendSeparator(tls *libc.TLS, p uintptr) { /* sqlite3.c:193358:13: */ +func jsonAppendSeparator(tls *libc.TLS, p uintptr) { /* sqlite3.c:193415:13: */ var c int8 if (*JsonString)(unsafe.Pointer(p)).FnUsed == uint64(0) { return @@ -167236,7 +167286,7 @@ func jsonAppendSeparator(tls *libc.TLS, p uintptr) { /* sqlite3.c:193358:13: */ // under construction. Enclose the string in "..." and escape // any double-quotes or backslash characters contained within the // string. -func jsonAppendString(tls *libc.TLS, p uintptr, zIn uintptr, N U32) { /* sqlite3.c:193370:13: */ +func jsonAppendString(tls *libc.TLS, p uintptr, zIn uintptr, N U32) { /* sqlite3.c:193427:13: */ var i U32 var c uint8 if !(zIn == uintptr(0) || U64(N)+(*JsonString)(unsafe.Pointer(p)).FnUsed+uint64(2) >= (*JsonString)(unsafe.Pointer(p)).FnAlloc && jsonGrow(tls, p, N+U32(2)) != 0) { @@ -167307,11 +167357,11 @@ __4: var aSpecial = [32]int8{ int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8('b'), int8('t'), int8('n'), int8(0), int8('f'), int8('r'), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), -} /* sqlite3.c:193381:25 */ +} /* sqlite3.c:193438:25 */ // Append a function parameter value to the JSON string under // construction. -func jsonAppendValue(tls *libc.TLS, p uintptr, pValue uintptr) { /* sqlite3.c:193413:13: */ +func jsonAppendValue(tls *libc.TLS, p uintptr, pValue uintptr) { /* sqlite3.c:193470:13: */ switch Xsqlite3_value_type(tls, pValue) { case SQLITE_NULL: { @@ -167355,7 +167405,7 @@ func jsonAppendValue(tls *libc.TLS, p uintptr, pValue uintptr) { /* sqlite3.c:19 } // Make the JSON in p the result of the SQL function. -func jsonResult(tls *libc.TLS, p uintptr) { /* sqlite3.c:193453:13: */ +func jsonResult(tls *libc.TLS, p uintptr) { /* sqlite3.c:193510:13: */ if int32((*JsonString)(unsafe.Pointer(p)).FbErr) == 0 { Xsqlite3_result_text64(tls, (*JsonString)(unsafe.Pointer(p)).FpCtx, (*JsonString)(unsafe.Pointer(p)).FzBuf, (*JsonString)(unsafe.Pointer(p)).FnUsed, func() uintptr { @@ -167382,7 +167432,7 @@ func jsonResult(tls *libc.TLS, p uintptr) { /* sqlite3.c:193453:13: */ // Appended elements are not counted. The value returned is the number // by which the JsonNode counter should increment in order to go to the // next peer value. -func jsonNodeSize(tls *libc.TLS, pNode uintptr) U32 { /* sqlite3.c:193476:12: */ +func jsonNodeSize(tls *libc.TLS, pNode uintptr) U32 { /* sqlite3.c:193533:12: */ if int32((*JsonNode)(unsafe.Pointer(pNode)).FeType) >= JSON_ARRAY { return (*JsonNode)(unsafe.Pointer(pNode)).Fn + U32(1) } @@ -167391,7 +167441,7 @@ func jsonNodeSize(tls *libc.TLS, pNode uintptr) U32 { /* sqlite3.c:193476:12: */ // Reclaim all memory allocated by a JsonParse object. But do not // delete the JsonParse object itself. -func jsonParseReset(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:193484:13: */ +func jsonParseReset(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:193541:13: */ Xsqlite3_free(tls, (*JsonParse)(unsafe.Pointer(pParse)).FaNode) (*JsonParse)(unsafe.Pointer(pParse)).FaNode = uintptr(0) (*JsonParse)(unsafe.Pointer(pParse)).FnNode = U32(0) @@ -167401,7 +167451,7 @@ func jsonParseReset(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:193484:13: */ } // Free a JsonParse object that was obtained from sqlite3_malloc(). -func jsonParseFree(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:193496:13: */ +func jsonParseFree(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:193553:13: */ jsonParseReset(tls, pParse) Xsqlite3_free(tls, pParse) } @@ -167409,7 +167459,7 @@ func jsonParseFree(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:193496:13: */ // Convert the JsonNode pNode into a pure JSON string and // append to pOut. Subsubstructure is also included. Return // the number of JsonNode objects that are encoded. -func jsonRenderNode(tls *libc.TLS, pNode uintptr, pOut uintptr, aReplace uintptr) { /* sqlite3.c:193506:13: */ +func jsonRenderNode(tls *libc.TLS, pNode uintptr, pOut uintptr, aReplace uintptr) { /* sqlite3.c:193563:13: */ if int32((*JsonNode)(unsafe.Pointer(pNode)).FjnFlags)&(JNODE_REPLACE|JNODE_PATCH) != 0 { if int32((*JsonNode)(unsafe.Pointer(pNode)).FjnFlags)&JNODE_REPLACE != 0 && aReplace != uintptr(0) { @@ -167512,7 +167562,7 @@ func jsonRenderNode(tls *libc.TLS, pNode uintptr, pOut uintptr, aReplace uintptr } // Return a JsonNode and all its descendents as a JSON string. -func jsonReturnJson(tls *libc.TLS, pNode uintptr, pCtx uintptr, aReplace uintptr) { /* sqlite3.c:193595:13: */ +func jsonReturnJson(tls *libc.TLS, pNode uintptr, pCtx uintptr, aReplace uintptr) { /* sqlite3.c:193652:13: */ bp := tls.Alloc(136) defer tls.Free(136) @@ -167527,14 +167577,14 @@ func jsonReturnJson(tls *libc.TLS, pNode uintptr, pCtx uintptr, aReplace uintptr // Translate a single byte of Hex into an integer. // This routine only works if h really is a valid hexadecimal // character: 0..9a..fA..F -func jsonHexToInt(tls *libc.TLS, h int32) U8 { /* sqlite3.c:193612:11: */ +func jsonHexToInt(tls *libc.TLS, h int32) U8 { /* sqlite3.c:193669:11: */ h = h + 9*(1&(h>>6)) return U8(h & 0xf) } // Convert a 4-byte hex string into an integer -func jsonHexToInt4(tls *libc.TLS, z uintptr) U32 { /* sqlite3.c:193625:12: */ +func jsonHexToInt4(tls *libc.TLS, z uintptr) U32 { /* sqlite3.c:193682:12: */ var v U32 v = U32(int32(jsonHexToInt(tls, int32(*(*int8)(unsafe.Pointer(z)))))<<12 + @@ -167545,7 +167595,7 @@ func jsonHexToInt4(tls *libc.TLS, z uintptr) U32 { /* sqlite3.c:193625:12: */ } // Make the JsonNode the return value of the function. -func jsonReturn(tls *libc.TLS, pNode uintptr, pCtx uintptr, aReplace uintptr) { /* sqlite3.c:193641:13: */ +func jsonReturn(tls *libc.TLS, pNode uintptr, pCtx uintptr, aReplace uintptr) { /* sqlite3.c:193698:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -167826,7 +167876,7 @@ __1: // A macro to hint to the compiler that a function should not be // inlined. -func jsonParseAddNodeExpand(tls *libc.TLS, pParse uintptr, eType U32, n U32, zContent uintptr) int32 { /* sqlite3.c:193814:26: */ +func jsonParseAddNodeExpand(tls *libc.TLS, pParse uintptr, eType U32, n U32, zContent uintptr) int32 { /* sqlite3.c:193871:26: */ var nNew U32 var pNew uintptr @@ -167848,7 +167898,7 @@ func jsonParseAddNodeExpand(tls *libc.TLS, pParse uintptr, eType U32, n U32, zCo // Create a new JsonNode instance based on the arguments and append that // instance to the JsonParse. Return the index in pParse->aNode[] of the // new node, or -1 if a memory allocation fails. -func jsonParseAddNode(tls *libc.TLS, pParse uintptr, eType U32, n U32, zContent uintptr) int32 { /* sqlite3.c:193841:12: */ +func jsonParseAddNode(tls *libc.TLS, pParse uintptr, eType U32, n U32, zContent uintptr) int32 { /* sqlite3.c:193898:12: */ var p uintptr if (*JsonParse)(unsafe.Pointer(pParse)).FaNode == uintptr(0) || (*JsonParse)(unsafe.Pointer(pParse)).FnNode >= (*JsonParse)(unsafe.Pointer(pParse)).FnAlloc { return jsonParseAddNodeExpand(tls, pParse, eType, n, zContent) @@ -167863,7 +167913,7 @@ func jsonParseAddNode(tls *libc.TLS, pParse uintptr, eType U32, n U32, zContent } // Return true if z[] begins with 4 (or more) hexadecimal digits -func jsonIs4Hex(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:193863:12: */ +func jsonIs4Hex(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:193920:12: */ var i int32 for i = 0; i < 4; i++ { if !(int32(Xsqlite3CtypeMap[uint8(*(*int8)(unsafe.Pointer(z + uintptr(i))))])&0x08 != 0) { @@ -167879,7 +167929,7 @@ func jsonIs4Hex(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:193863:12: */ // Return negative for a syntax error. Special cases: return -2 if the // first non-whitespace character is '}' and return -3 if the first // non-whitespace character is ']'. -func jsonParseValue(tls *libc.TLS, pParse uintptr, i U32) int32 { /* sqlite3.c:193877:12: */ +func jsonParseValue(tls *libc.TLS, pParse uintptr, i U32) int32 { /* sqlite3.c:193934:12: */ var c int8 var j U32 var iThis int32 @@ -168106,7 +168156,7 @@ func jsonParseValue(tls *libc.TLS, pParse uintptr, i U32) int32 { /* sqlite3.c:1 // pParse. // // pParse is uninitialized when this routine is called. -func jsonParse(tls *libc.TLS, pParse uintptr, pCtx uintptr, zJson uintptr) int32 { /* sqlite3.c:194038:12: */ +func jsonParse(tls *libc.TLS, pParse uintptr, pCtx uintptr, zJson uintptr) int32 { /* sqlite3.c:194095:12: */ var i int32 libc.X__builtin___memset_chk(tls, pParse, 0, uint64(unsafe.Sizeof(JsonParse{})), libc.X__builtin_object_size(tls, pParse, 0)) if zJson == uintptr(0) { @@ -168142,7 +168192,7 @@ func jsonParse(tls *libc.TLS, pParse uintptr, pCtx uintptr, zJson uintptr) int32 // Mark node i of pParse as being a child of iParent. Call recursively // to fill in all the descendants of node i. -func jsonParseFillInParentage(tls *libc.TLS, pParse uintptr, i U32, iParent U32) { /* sqlite3.c:194071:13: */ +func jsonParseFillInParentage(tls *libc.TLS, pParse uintptr, i U32, iParent U32) { /* sqlite3.c:194128:13: */ var pNode uintptr = (*JsonParse)(unsafe.Pointer(pParse)).FaNode + uintptr(i)*16 var j U32 *(*U32)(unsafe.Pointer((*JsonParse)(unsafe.Pointer(pParse)).FaUp + uintptr(i)*4)) = iParent @@ -168173,7 +168223,7 @@ func jsonParseFillInParentage(tls *libc.TLS, pParse uintptr, i U32, iParent U32) } // Compute the parentage of all nodes in a completed parse. -func jsonParseFindParents(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:194098:12: */ +func jsonParseFindParents(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:194155:12: */ var aUp uintptr aUp = libc.AssignPtrUintptr(pParse+24, Xsqlite3_malloc64(tls, uint64(uint64(unsafe.Sizeof(U32(0)))*uint64((*JsonParse)(unsafe.Pointer(pParse)).FnNode)))) @@ -168193,7 +168243,7 @@ func jsonParseFindParents(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:19 // is no longer valid, parse the JSON again and return the new parse, // and also register the new parse so that it will be available for // future sqlite3_get_auxdata() calls. -func jsonParseCached(tls *libc.TLS, pCtx uintptr, argv uintptr, pErrCtx uintptr) uintptr { /* sqlite3.c:194124:18: */ +func jsonParseCached(tls *libc.TLS, pCtx uintptr, argv uintptr, pErrCtx uintptr) uintptr { /* sqlite3.c:194181:18: */ var zJson uintptr = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv))) var nJson int32 = Xsqlite3_value_bytes(tls, *(*uintptr)(unsafe.Pointer(argv))) var p uintptr @@ -168250,7 +168300,7 @@ func jsonParseCached(tls *libc.TLS, pCtx uintptr, argv uintptr, pErrCtx uintptr) // Compare the OBJECT label at pNode against zKey,nKey. Return true on // a match. -func jsonLabelCompare(tls *libc.TLS, pNode uintptr, zKey uintptr, nKey U32) int32 { /* sqlite3.c:194186:12: */ +func jsonLabelCompare(tls *libc.TLS, pNode uintptr, zKey uintptr, nKey U32) int32 { /* sqlite3.c:194243:12: */ if int32((*JsonNode)(unsafe.Pointer(pNode)).FjnFlags)&JNODE_RAW != 0 { if (*JsonNode)(unsafe.Pointer(pNode)).Fn != nKey { @@ -168273,7 +168323,7 @@ func jsonLabelCompare(tls *libc.TLS, pNode uintptr, zKey uintptr, nKey U32) int3 // If pApnd!=0, then try to append new nodes to complete zPath if it is // possible to do so and if no existing node corresponds to zPath. If // new nodes are appended *pApnd is set to 1. -func jsonLookupStep(tls *libc.TLS, pParse uintptr, iRoot U32, zPath uintptr, pApnd uintptr, pzErr uintptr) uintptr { /* sqlite3.c:194209:17: */ +func jsonLookupStep(tls *libc.TLS, pParse uintptr, iRoot U32, zPath uintptr, pApnd uintptr, pzErr uintptr) uintptr { /* sqlite3.c:194266:17: */ var i U32 var j U32 var nKey U32 @@ -168448,7 +168498,7 @@ func jsonLookupStep(tls *libc.TLS, pParse uintptr, iRoot U32, zPath uintptr, pAp // Append content to pParse that will complete zPath. Return a pointer // to the inserted node, or return NULL if the append fails. -func jsonLookupAppend(tls *libc.TLS, pParse uintptr, zPath uintptr, pApnd uintptr, pzErr uintptr) uintptr { /* sqlite3.c:194361:17: */ +func jsonLookupAppend(tls *libc.TLS, pParse uintptr, zPath uintptr, pApnd uintptr, pzErr uintptr) uintptr { /* sqlite3.c:194418:17: */ *(*int32)(unsafe.Pointer(pApnd)) = 1 if int32(*(*int8)(unsafe.Pointer(zPath))) == 0 { jsonParseAddNode(tls, pParse, uint32(JSON_NULL), uint32(0), uintptr(0)) @@ -168472,7 +168522,7 @@ func jsonLookupAppend(tls *libc.TLS, pParse uintptr, zPath uintptr, pApnd uintpt // Return the text of a syntax error message on a JSON path. Space is // obtained from sqlite3_malloc(). -func jsonPathSyntaxError(tls *libc.TLS, zErr uintptr) uintptr { /* sqlite3.c:194387:13: */ +func jsonPathSyntaxError(tls *libc.TLS, zErr uintptr) uintptr { /* sqlite3.c:194444:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -168487,7 +168537,7 @@ func jsonPathSyntaxError(tls *libc.TLS, zErr uintptr) uintptr { /* sqlite3.c:194 // // If pApnd!=NULL then try to append missing nodes and set *pApnd = 1 if // nodes are appended. -func jsonLookup(tls *libc.TLS, pParse uintptr, zPath uintptr, pApnd uintptr, pCtx uintptr) uintptr { /* sqlite3.c:194401:17: */ +func jsonLookup(tls *libc.TLS, pParse uintptr, zPath uintptr, pApnd uintptr, pCtx uintptr) uintptr { /* sqlite3.c:194458:17: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -168539,7 +168589,7 @@ __5: // Report the wrong number of arguments for json_insert(), json_replace() // or json_set(). -func jsonWrongNumArgs(tls *libc.TLS, pCtx uintptr, zFuncName uintptr) { /* sqlite3.c:194438:13: */ +func jsonWrongNumArgs(tls *libc.TLS, pCtx uintptr, zFuncName uintptr) { /* sqlite3.c:194495:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -168550,7 +168600,7 @@ func jsonWrongNumArgs(tls *libc.TLS, pCtx uintptr, zFuncName uintptr) { /* sqlit } // Mark all NULL entries in the Object passed in as JNODE_REMOVE. -func jsonRemoveAllNulls(tls *libc.TLS, pNode uintptr) { /* sqlite3.c:194451:13: */ +func jsonRemoveAllNulls(tls *libc.TLS, pNode uintptr) { /* sqlite3.c:194508:13: */ var i int32 var n int32 @@ -168581,7 +168631,7 @@ func jsonRemoveAllNulls(tls *libc.TLS, pNode uintptr) { /* sqlite3.c:194451:13: // corresponding to the SQL value input. Mostly this means putting // double-quotes around strings and returning the unquoted string "null" // when given a NULL input. -func jsonQuoteFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:194540:13: */ +func jsonQuoteFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:194597:13: */ bp := tls.Alloc(136) defer tls.Free(136) @@ -168598,7 +168648,7 @@ func jsonQuoteFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sq // Implementation of the json_array(VALUE,...) function. Return a JSON // array that contains all values given in arguments. Or if any argument // is a BLOB, throw an error. -func jsonArrayFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:194559:13: */ +func jsonArrayFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:194616:13: */ bp := tls.Alloc(136) defer tls.Free(136) @@ -168621,7 +168671,7 @@ func jsonArrayFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sq // // Return the number of elements in the top-level JSON array. // Return 0 if the input is not a well-formed JSON array. -func jsonArrayLengthFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:194586:13: */ +func jsonArrayLengthFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:194643:13: */ var p uintptr // The parse var n Sqlite3_int64 = int64(0) var i U32 @@ -168671,7 +168721,7 @@ func jsonArrayLengthFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { // // Abbreviated JSON path expressions are allows if JSON_ABPATH, for // compatibility with PG. -func jsonExtractFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:194646:13: */ +func jsonExtractFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:194703:13: */ bp := tls.Alloc(136) defer tls.Free(136) @@ -168765,7 +168815,7 @@ func jsonExtractFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* } // This is the RFC 7396 MergePatch algorithm. -func jsonMergePatch(tls *libc.TLS, pParse uintptr, iTarget U32, pPatch uintptr) uintptr { /* sqlite3.c:194729:17: */ +func jsonMergePatch(tls *libc.TLS, pParse uintptr, iTarget U32, pPatch uintptr) uintptr { /* sqlite3.c:194786:17: */ var i U32 var j U32 var iRoot U32 @@ -168838,7 +168888,7 @@ func jsonMergePatch(tls *libc.TLS, pParse uintptr, iTarget U32, pPatch uintptr) // Implementation of the json_mergepatch(JSON1,JSON2) function. Return a JSON // object that is the result of running the RFC 7396 MergePatch() algorithm // on the two arguments. -func jsonPatchFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:194811:13: */ +func jsonPatchFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:194868:13: */ bp := tls.Alloc(96) defer tls.Free(96) @@ -168870,7 +168920,7 @@ func jsonPatchFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sq // Implementation of the json_object(NAME,VALUE,...) function. Return a JSON // object that contains all name/value given in arguments. Or if any name // is not a string or if any value is a BLOB, throw an error. -func jsonObjectFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:194843:13: */ +func jsonObjectFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:194900:13: */ bp := tls.Alloc(136) defer tls.Free(136) @@ -168909,7 +168959,7 @@ func jsonObjectFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* s // // Remove the named elements from JSON and return the result. malformed // JSON or PATH arguments result in an error. -func jsonRemoveFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:194885:13: */ +func jsonRemoveFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:194942:13: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -168978,7 +169028,7 @@ remove_done: // // Replace the value at PATH with VALUE. If PATH does not already exist, // this routine is a no-op. If JSON or PATH is malformed, throw an error. -func jsonReplaceFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:194918:13: */ +func jsonReplaceFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:194975:13: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -169061,7 +169111,7 @@ replace_err: // // Create PATH and initialize it to VALUE. If PATH already exists, this // routine is a no-op. If JSON or PATH is malformed, throw an error. -func jsonSetFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:194970:13: */ +func jsonSetFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:195027:13: */ bp := tls.Alloc(52) defer tls.Free(52) @@ -169159,7 +169209,7 @@ jsonSetDone: // // Return the top-level "type" of a JSON string. json_type() raises an // error if either the JSON or PATH inputs are not well-formed. -func jsonTypeFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:195023:13: */ +func jsonTypeFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:195080:13: */ var p uintptr // The parse var zPath uintptr var pNode uintptr @@ -169183,7 +169233,7 @@ func jsonTypeFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sql // // Return 1 if JSON is a well-formed JSON string according to RFC-7159. // Return 0 otherwise. -func jsonValidFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:195051:13: */ +func jsonValidFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:195108:13: */ var p uintptr // The parse _ = argc p = jsonParseCached(tls, ctx, argv, uintptr(0)) @@ -169197,7 +169247,7 @@ func jsonValidFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sq // json_group_array(VALUE) // // Return a JSON array composed of all values in the aggregate. -func jsonArrayStep(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:195071:13: */ +func jsonArrayStep(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:195128:13: */ var pStr uintptr _ = argc pStr = Xsqlite3_aggregate_context(tls, ctx, int32(unsafe.Sizeof(JsonString{}))) @@ -169213,7 +169263,7 @@ func jsonArrayStep(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sq } } -func jsonArrayCompute(tls *libc.TLS, ctx uintptr, isFinal int32) { /* sqlite3.c:195090:13: */ +func jsonArrayCompute(tls *libc.TLS, ctx uintptr, isFinal int32) { /* sqlite3.c:195147:13: */ var pStr uintptr pStr = Xsqlite3_aggregate_context(tls, ctx, 0) if pStr != 0 { @@ -169243,11 +169293,11 @@ func jsonArrayCompute(tls *libc.TLS, ctx uintptr, isFinal int32) { /* sqlite3.c: Xsqlite3_result_subtype(tls, ctx, uint32(JSON_SUBTYPE)) } -func jsonArrayValue(tls *libc.TLS, ctx uintptr) { /* sqlite3.c:195112:13: */ +func jsonArrayValue(tls *libc.TLS, ctx uintptr) { /* sqlite3.c:195169:13: */ jsonArrayCompute(tls, ctx, 0) } -func jsonArrayFinal(tls *libc.TLS, ctx uintptr) { /* sqlite3.c:195115:13: */ +func jsonArrayFinal(tls *libc.TLS, ctx uintptr) { /* sqlite3.c:195172:13: */ jsonArrayCompute(tls, ctx, 1) } @@ -169255,7 +169305,7 @@ func jsonArrayFinal(tls *libc.TLS, ctx uintptr) { /* sqlite3.c:195115:13: */ // It works by removing the first element of the group by searching forward // to the first comma (",") that is not within a string and deleting all // text through that comma. -func jsonGroupInverse(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:195126:13: */ +func jsonGroupInverse(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:195183:13: */ var i uint32 var inStr int32 = 0 var nNest int32 = 0 @@ -169297,7 +169347,7 @@ func jsonGroupInverse(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* // json_group_obj(NAME,VALUE) // // Return a JSON object composed of all names and values in the aggregate. -func jsonObjectStep(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:195174:13: */ +func jsonObjectStep(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:195231:13: */ var pStr uintptr var z uintptr var n U32 @@ -169319,7 +169369,7 @@ func jsonObjectStep(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* s } } -func jsonObjectCompute(tls *libc.TLS, ctx uintptr, isFinal int32) { /* sqlite3.c:195199:13: */ +func jsonObjectCompute(tls *libc.TLS, ctx uintptr, isFinal int32) { /* sqlite3.c:195256:13: */ var pStr uintptr pStr = Xsqlite3_aggregate_context(tls, ctx, 0) if pStr != 0 { @@ -169348,11 +169398,11 @@ func jsonObjectCompute(tls *libc.TLS, ctx uintptr, isFinal int32) { /* sqlite3.c Xsqlite3_result_subtype(tls, ctx, uint32(JSON_SUBTYPE)) } -func jsonObjectValue(tls *libc.TLS, ctx uintptr) { /* sqlite3.c:195220:13: */ +func jsonObjectValue(tls *libc.TLS, ctx uintptr) { /* sqlite3.c:195277:13: */ jsonObjectCompute(tls, ctx, 0) } -func jsonObjectFinal(tls *libc.TLS, ctx uintptr) { /* sqlite3.c:195223:13: */ +func jsonObjectFinal(tls *libc.TLS, ctx uintptr) { /* sqlite3.c:195280:13: */ jsonObjectCompute(tls, ctx, 1) } @@ -169372,16 +169422,16 @@ type JsonEachCursor1 = struct { FzJson uintptr FzRoot uintptr FsParse JsonParse -} /* sqlite3.c:195233:9 */ +} /* sqlite3.c:195290:9 */ // *************************************************************************** // // The json_each virtual table // -type JsonEachCursor = JsonEachCursor1 /* sqlite3.c:195233:31 */ +type JsonEachCursor = JsonEachCursor1 /* sqlite3.c:195290:31 */ // Constructor for the json_each virtual table -func jsonEachConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 { /* sqlite3.c:195248:12: */ +func jsonEachConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 { /* sqlite3.c:195305:12: */ var pNew uintptr var rc int32 @@ -169409,13 +169459,13 @@ func jsonEachConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv u } // destructor for json_each virtual table -func jsonEachDisconnect(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:195290:12: */ +func jsonEachDisconnect(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:195347:12: */ Xsqlite3_free(tls, pVtab) return SQLITE_OK } // constructor for a JsonEachCursor object for json_each(). -func jsonEachOpenEach(tls *libc.TLS, p uintptr, ppCursor uintptr) int32 { /* sqlite3.c:195296:12: */ +func jsonEachOpenEach(tls *libc.TLS, p uintptr, ppCursor uintptr) int32 { /* sqlite3.c:195353:12: */ var pCur uintptr _ = p @@ -169429,7 +169479,7 @@ func jsonEachOpenEach(tls *libc.TLS, p uintptr, ppCursor uintptr) int32 { /* sql } // constructor for a JsonEachCursor object for json_tree(). -func jsonEachOpenTree(tls *libc.TLS, p uintptr, ppCursor uintptr) int32 { /* sqlite3.c:195308:12: */ +func jsonEachOpenTree(tls *libc.TLS, p uintptr, ppCursor uintptr) int32 { /* sqlite3.c:195365:12: */ var rc int32 = jsonEachOpenEach(tls, p, ppCursor) if rc == SQLITE_OK { var pCur uintptr = *(*uintptr)(unsafe.Pointer(ppCursor)) @@ -169440,7 +169490,7 @@ func jsonEachOpenTree(tls *libc.TLS, p uintptr, ppCursor uintptr) int32 { /* sql // Reset a JsonEachCursor back to its original state. Free any memory // held. -func jsonEachCursorReset(tls *libc.TLS, p uintptr) { /* sqlite3.c:195319:13: */ +func jsonEachCursorReset(tls *libc.TLS, p uintptr) { /* sqlite3.c:195376:13: */ Xsqlite3_free(tls, (*JsonEachCursor)(unsafe.Pointer(p)).FzJson) Xsqlite3_free(tls, (*JsonEachCursor)(unsafe.Pointer(p)).FzRoot) jsonParseReset(tls, p+48) @@ -169453,7 +169503,7 @@ func jsonEachCursorReset(tls *libc.TLS, p uintptr) { /* sqlite3.c:195319:13: */ } // Destructor for a jsonEachCursor object -func jsonEachClose(tls *libc.TLS, cur uintptr) int32 { /* sqlite3.c:195332:12: */ +func jsonEachClose(tls *libc.TLS, cur uintptr) int32 { /* sqlite3.c:195389:12: */ var p uintptr = cur jsonEachCursorReset(tls, p) Xsqlite3_free(tls, cur) @@ -169462,13 +169512,13 @@ func jsonEachClose(tls *libc.TLS, cur uintptr) int32 { /* sqlite3.c:195332:12: * // Return TRUE if the jsonEachCursor object has been advanced off the end // of the JSON object -func jsonEachEof(tls *libc.TLS, cur uintptr) int32 { /* sqlite3.c:195341:12: */ +func jsonEachEof(tls *libc.TLS, cur uintptr) int32 { /* sqlite3.c:195398:12: */ var p uintptr = cur return libc.Bool32((*JsonEachCursor)(unsafe.Pointer(p)).Fi >= (*JsonEachCursor)(unsafe.Pointer(p)).FiEnd) } // Advance the cursor to the next element for json_tree() -func jsonEachNext(tls *libc.TLS, cur uintptr) int32 { /* sqlite3.c:195347:12: */ +func jsonEachNext(tls *libc.TLS, cur uintptr) int32 { /* sqlite3.c:195404:12: */ var p uintptr = cur if (*JsonEachCursor)(unsafe.Pointer(p)).FbRecursive != 0 { if int32((*JsonNode)(unsafe.Pointer((*JsonEachCursor)(unsafe.Pointer(p)).FsParse.FaNode+uintptr((*JsonEachCursor)(unsafe.Pointer(p)).Fi)*16)).FjnFlags)&JNODE_LABEL != 0 { @@ -169519,7 +169569,7 @@ func jsonEachNext(tls *libc.TLS, cur uintptr) int32 { /* sqlite3.c:195347:12: */ } // Append the name of the path for element i to pStr -func jsonEachComputePath(tls *libc.TLS, p uintptr, pStr uintptr, i U32) { /* sqlite3.c:195391:13: */ +func jsonEachComputePath(tls *libc.TLS, p uintptr, pStr uintptr, i U32) { /* sqlite3.c:195448:13: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -169548,7 +169598,7 @@ func jsonEachComputePath(tls *libc.TLS, p uintptr, pStr uintptr, i U32) { /* sql } // Return the value of a column -func jsonEachColumn(tls *libc.TLS, cur uintptr, ctx uintptr, i int32) int32 { /* sqlite3.c:195421:12: */ +func jsonEachColumn(tls *libc.TLS, cur uintptr, ctx uintptr, i int32) int32 { /* sqlite3.c:195478:12: */ bp := tls.Alloc(296) defer tls.Free(296) @@ -169685,7 +169735,7 @@ func jsonEachColumn(tls *libc.TLS, cur uintptr, ctx uintptr, i int32) int32 { /* } // Return the current rowid value -func jsonEachRowid(tls *libc.TLS, cur uintptr, pRowid uintptr) int32 { /* sqlite3.c:195522:12: */ +func jsonEachRowid(tls *libc.TLS, cur uintptr, pRowid uintptr) int32 { /* sqlite3.c:195579:12: */ var p uintptr = cur *(*Sqlite_int64)(unsafe.Pointer(pRowid)) = Sqlite_int64((*JsonEachCursor)(unsafe.Pointer(p)).FiRowid) return SQLITE_OK @@ -169695,7 +169745,7 @@ func jsonEachRowid(tls *libc.TLS, cur uintptr, pRowid uintptr) int32 { /* sqlite // column. Without such a constraint, the table cannot operate. idxNum is // 1 if the constraint is found, 3 if the constraint and zRoot are found, // and 0 otherwise. -func jsonEachBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 { /* sqlite3.c:195533:12: */ +func jsonEachBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 { /* sqlite3.c:195590:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -169770,7 +169820,7 @@ __3: } // Start a search on a new JSON string -func jsonEachFilter(tls *libc.TLS, cur uintptr, idxNum int32, idxStr uintptr, argc int32, argv uintptr) int32 { /* sqlite3.c:195592:12: */ +func jsonEachFilter(tls *libc.TLS, cur uintptr, idxNum int32, idxStr uintptr, argc int32, argv uintptr) int32 { /* sqlite3.c:195649:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -169875,7 +169925,7 @@ var jsonEachModule = Sqlite3_module{ // xCreate FxEof: 0, // xEof - check for end of scan FxColumn: 0, // xColumn - read data FxRowid: 0, // xShadowName -} /* sqlite3.c:195673:23 */ +} /* sqlite3.c:195730:23 */ // The methods of the json_tree virtual table. var jsonTreeModule = Sqlite3_module{ // xCreate @@ -169889,10 +169939,10 @@ var jsonTreeModule = Sqlite3_module{ // xCreate FxEof: 0, // xEof - check for end of scan FxColumn: 0, // xColumn - read data FxRowid: 0, // xShadowName -} /* sqlite3.c:195701:23 */ +} /* sqlite3.c:195758:23 */ // Register JSON functions. -func Xsqlite3RegisterJsonFunctions(tls *libc.TLS) { /* sqlite3.c:195733:21: */ +func Xsqlite3RegisterJsonFunctions(tls *libc.TLS) { /* sqlite3.c:195790:21: */ Xsqlite3InsertBuiltinFuncs(tls, uintptr(unsafe.Pointer(&aJsonFunc)), int32(uint64(unsafe.Sizeof(aJsonFunc))/uint64(unsafe.Sizeof(FuncDef{})))) } @@ -169915,10 +169965,10 @@ var aJsonFunc = [19]FuncDef{ {FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_INNOCUOUS | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 25244}, {FnArg: int8(1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_INNOCUOUS | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 25254}, {FnArg: int8(1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_UTF8 | 0*SQLITE_FUNC_NEEDCOLL | SQLITE_SUBTYPE | SQLITE_UTF8 | SQLITE_DETERMINISTIC | SQLITE_INNOCUOUS), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 25265}, - {FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_UTF8 | 0*SQLITE_FUNC_NEEDCOLL | SQLITE_SUBTYPE | SQLITE_UTF8 | SQLITE_DETERMINISTIC | SQLITE_INNOCUOUS), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 25282}} /* sqlite3.c:195735:18 */ + {FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_UTF8 | 0*SQLITE_FUNC_NEEDCOLL | SQLITE_SUBTYPE | SQLITE_UTF8 | SQLITE_DETERMINISTIC | SQLITE_INNOCUOUS), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 25282}} /* sqlite3.c:195792:18 */ // Register the JSON table-valued functions -func Xsqlite3JsonTableFunctions(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:195772:20: */ +func Xsqlite3JsonTableFunctions(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:195829:20: */ var rc int32 = SQLITE_OK var i uint32 for i = uint32(0); uint64(i) < uint64(unsafe.Sizeof(aMod))/uint64(unsafe.Sizeof(struct { @@ -169936,7 +169986,7 @@ var aMod = [2]struct { }{ {FzName: ts + 25300 /* "json_each" */, FpModule: 0}, {FzName: ts + 25310 /* "json_tree" */, FpModule: 0}, -} /* sqlite3.c:195777:5 */ // In the SQLite core +} /* sqlite3.c:195834:5 */ // In the SQLite core // If building separately, we will need some setup that is normally // found in sqliteInt.h @@ -169983,7 +170033,7 @@ type Rtree1 = struct { FpDeleteParent uintptr FpWriteAux uintptr FaHash [97]uintptr -} /* sqlite3.c:195900:9 */ +} /* sqlite3.c:195957:9 */ // In the SQLite core @@ -169997,7 +170047,7 @@ type Rtree1 = struct { // The following macro is used to suppress compiler warnings. -type Rtree = Rtree1 /* sqlite3.c:195900:22 */ +type Rtree = Rtree1 /* sqlite3.c:195957:22 */ type RtreeCursor1 = struct { Fbase Sqlite3_vtab_cursor FatEOF U8 @@ -170018,9 +170068,9 @@ type RtreeCursor1 = struct { FaNode [5]uintptr FanQueue [41]U32 F__ccgo_pad4 [4]byte -} /* sqlite3.c:195901:9 */ +} /* sqlite3.c:195958:9 */ -type RtreeCursor = RtreeCursor1 /* sqlite3.c:195901:28 */ +type RtreeCursor = RtreeCursor1 /* sqlite3.c:195958:28 */ type RtreeNode1 = struct { FpParent uintptr FiNode I64 @@ -170028,23 +170078,23 @@ type RtreeNode1 = struct { FisDirty int32 FzData uintptr FpNext uintptr -} /* sqlite3.c:195900:9 */ +} /* sqlite3.c:195957:9 */ -type RtreeNode = RtreeNode1 /* sqlite3.c:195902:26 */ +type RtreeNode = RtreeNode1 /* sqlite3.c:195959:26 */ type RtreeCell1 = struct { FiRowid I64 FaCoord [10]RtreeCoord -} /* sqlite3.c:195903:9 */ +} /* sqlite3.c:195960:9 */ -type RtreeCell = RtreeCell1 /* sqlite3.c:195903:26 */ +type RtreeCell = RtreeCell1 /* sqlite3.c:195960:26 */ type RtreeConstraint1 = struct { FiCoord int32 Fop int32 Fu struct{ FrValue RtreeDValue } FpInfo uintptr -} /* sqlite3.c:195901:9 */ +} /* sqlite3.c:195958:9 */ -type RtreeConstraint = RtreeConstraint1 /* sqlite3.c:195904:32 */ +type RtreeConstraint = RtreeConstraint1 /* sqlite3.c:195961:32 */ type RtreeMatchArg1 = struct { FiSize U32 F__ccgo_pad1 [4]byte @@ -170053,20 +170103,20 @@ type RtreeMatchArg1 = struct { F__ccgo_pad2 [4]byte FapSqlParam uintptr FaParam [1]RtreeDValue -} /* sqlite3.c:195905:9 */ +} /* sqlite3.c:195962:9 */ -type RtreeMatchArg = RtreeMatchArg1 /* sqlite3.c:195905:30 */ +type RtreeMatchArg = RtreeMatchArg1 /* sqlite3.c:195962:30 */ type RtreeGeomCallback1 = struct { FxGeom uintptr FxQueryFunc uintptr FxDestructor uintptr FpContext uintptr -} /* sqlite3.c:195905:9 */ +} /* sqlite3.c:195962:9 */ -type RtreeGeomCallback = RtreeGeomCallback1 /* sqlite3.c:195906:34 */ -type RtreeCoord1 = struct{ Ff RtreeValue } /* sqlite3.c:195903:9 */ +type RtreeGeomCallback = RtreeGeomCallback1 /* sqlite3.c:195963:34 */ +type RtreeCoord1 = struct{ Ff RtreeValue } /* sqlite3.c:195960:9 */ -type RtreeCoord = RtreeCoord1 /* sqlite3.c:195907:26 */ +type RtreeCoord = RtreeCoord1 /* sqlite3.c:195964:26 */ type RtreeSearchPoint1 = struct { FrScore RtreeDValue Fid Sqlite3_int64 @@ -170074,17 +170124,17 @@ type RtreeSearchPoint1 = struct { FeWithin U8 FiCell U8 F__ccgo_pad1 [5]byte -} /* sqlite3.c:195901:9 */ +} /* sqlite3.c:195958:9 */ -type RtreeSearchPoint = RtreeSearchPoint1 /* sqlite3.c:195908:33 */ +type RtreeSearchPoint = RtreeSearchPoint1 /* sqlite3.c:195965:33 */ // Possible values for Rtree.eCoordType: // 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 RtreeDValue = float64 /* sqlite3.c:196005:18 */ // High accuracy coordinate -type RtreeValue = float32 /* sqlite3.c:196006:17 */ +type RtreeDValue = float64 /* sqlite3.c:196062:18 */ // High accuracy coordinate +type RtreeValue = float32 /* sqlite3.c:196063:17 */ // What version of GCC is being used. 0 means GCC is not being used . // Note that the GCC_VERSION macro will also be set correctly when using @@ -170110,28 +170160,28 @@ type RtreeValue = float32 /* sqlite3.c:196006:17 */ // Functions to deserialize a 16 bit integer, 32 bit real number and // 64 bit integer. The deserialized value is returned. -func readInt16(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:196290:12: */ +func readInt16(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:196347:12: */ return int32(*(*U8)(unsafe.Pointer(p)))<<8 + int32(*(*U8)(unsafe.Pointer(p + 1))) } -func readCoord(tls *libc.TLS, p uintptr, pCoord uintptr) { /* sqlite3.c:196293:13: */ +func readCoord(tls *libc.TLS, p uintptr, pCoord uintptr) { /* sqlite3.c:196350:13: */ // p is always 4-byte aligned *(*U32)(unsafe.Pointer(pCoord)) = U32(*(*U8)(unsafe.Pointer(p)))<<24 + U32(*(*U8)(unsafe.Pointer(p + 1)))<<16 + U32(*(*U8)(unsafe.Pointer(p + 2)))<<8 + U32(*(*U8)(unsafe.Pointer(p + 3)))<<0 } -func readInt64(tls *libc.TLS, p uintptr) I64 { /* sqlite3.c:196310:12: */ +func readInt64(tls *libc.TLS, p uintptr) I64 { /* sqlite3.c:196367:12: */ return I64(U64(*(*U8)(unsafe.Pointer(p)))<<56 + U64(*(*U8)(unsafe.Pointer(p + 1)))<<48 + U64(*(*U8)(unsafe.Pointer(p + 2)))<<40 + U64(*(*U8)(unsafe.Pointer(p + 3)))<<32 + U64(*(*U8)(unsafe.Pointer(p + 4)))<<24 + U64(*(*U8)(unsafe.Pointer(p + 5)))<<16 + U64(*(*U8)(unsafe.Pointer(p + 6)))<<8 + U64(*(*U8)(unsafe.Pointer(p + 7)))<<0) } // Functions to serialize a 16 bit integer, 32 bit real number and // 64 bit integer. The value returned is the number of bytes written // to the argument buffer (always 2, 4 and 8 respectively). -func writeInt16(tls *libc.TLS, p uintptr, i int32) { /* sqlite3.c:196342:13: */ +func writeInt16(tls *libc.TLS, p uintptr, i int32) { /* sqlite3.c:196399:13: */ *(*U8)(unsafe.Pointer(p)) = U8(i >> 8 & 0xFF) *(*U8)(unsafe.Pointer(p + 1)) = U8(i >> 0 & 0xFF) } -func writeCoord(tls *libc.TLS, p uintptr, pCoord uintptr) int32 { /* sqlite3.c:196346:12: */ +func writeCoord(tls *libc.TLS, p uintptr, pCoord uintptr) int32 { /* sqlite3.c:196403:12: */ var i U32 // p is always 4-byte aligned @@ -170143,7 +170193,7 @@ func writeCoord(tls *libc.TLS, p uintptr, pCoord uintptr) int32 { /* sqlite3.c:1 return 4 } -func writeInt64(tls *libc.TLS, p uintptr, i I64) int32 { /* sqlite3.c:196369:12: */ +func writeInt64(tls *libc.TLS, p uintptr, i I64) int32 { /* sqlite3.c:196426:12: */ *(*U8)(unsafe.Pointer(p)) = U8(i >> 56 & int64(0xFF)) *(*U8)(unsafe.Pointer(p + 1)) = U8(i >> 48 & int64(0xFF)) *(*U8)(unsafe.Pointer(p + 2)) = U8(i >> 40 & int64(0xFF)) @@ -170156,7 +170206,7 @@ func writeInt64(tls *libc.TLS, p uintptr, i I64) int32 { /* sqlite3.c:196369:12: } // Increment the reference count of node p. -func nodeReference(tls *libc.TLS, p uintptr) { /* sqlite3.c:196394:13: */ +func nodeReference(tls *libc.TLS, p uintptr) { /* sqlite3.c:196451:13: */ if p != 0 { (*RtreeNode)(unsafe.Pointer(p)).FnRef++ @@ -170164,20 +170214,20 @@ func nodeReference(tls *libc.TLS, p uintptr) { /* sqlite3.c:196394:13: */ } // Clear the content of node p (set all bytes to 0x00). -func nodeZero(tls *libc.TLS, pRtree uintptr, p uintptr) { /* sqlite3.c:196404:13: */ +func nodeZero(tls *libc.TLS, pRtree uintptr, p uintptr) { /* sqlite3.c:196461:13: */ libc.X__builtin___memset_chk(tls, (*RtreeNode)(unsafe.Pointer(p)).FzData+2, 0, uint64((*Rtree)(unsafe.Pointer(pRtree)).FiNodeSize-2), libc.X__builtin_object_size(tls, (*RtreeNode)(unsafe.Pointer(p)).FzData+2, 0)) (*RtreeNode)(unsafe.Pointer(p)).FisDirty = 1 } // Given a node number iNode, return the corresponding key to use // in the Rtree.aHash table. -func nodeHash(tls *libc.TLS, iNode I64) uint32 { /* sqlite3.c:196413:21: */ +func nodeHash(tls *libc.TLS, iNode I64) uint32 { /* sqlite3.c:196470:21: */ return uint32(iNode) % uint32(HASHSIZE) } // Search the node hash table for node iNode. If found, return a pointer // to it. Otherwise, return 0. -func nodeHashLookup(tls *libc.TLS, pRtree uintptr, iNode I64) uintptr { /* sqlite3.c:196421:18: */ +func nodeHashLookup(tls *libc.TLS, pRtree uintptr, iNode I64) uintptr { /* sqlite3.c:196478:18: */ var p uintptr for p = *(*uintptr)(unsafe.Pointer(pRtree + 192 + uintptr(nodeHash(tls, iNode))*8)); p != 0 && (*RtreeNode)(unsafe.Pointer(p)).FiNode != iNode; p = (*RtreeNode)(unsafe.Pointer(p)).FpNext { } @@ -170185,7 +170235,7 @@ func nodeHashLookup(tls *libc.TLS, pRtree uintptr, iNode I64) uintptr { /* sqlit } // Add node pNode to the node hash table. -func nodeHashInsert(tls *libc.TLS, pRtree uintptr, pNode uintptr) { /* sqlite3.c:196430:13: */ +func nodeHashInsert(tls *libc.TLS, pRtree uintptr, pNode uintptr) { /* sqlite3.c:196487:13: */ var iHash int32 iHash = int32(nodeHash(tls, (*RtreeNode)(unsafe.Pointer(pNode)).FiNode)) @@ -170194,7 +170244,7 @@ func nodeHashInsert(tls *libc.TLS, pRtree uintptr, pNode uintptr) { /* sqlite3.c } // Remove node pNode from the node hash table. -func nodeHashDelete(tls *libc.TLS, pRtree uintptr, pNode uintptr) { /* sqlite3.c:196441:13: */ +func nodeHashDelete(tls *libc.TLS, pRtree uintptr, pNode uintptr) { /* sqlite3.c:196498:13: */ var pp uintptr if (*RtreeNode)(unsafe.Pointer(pNode)).FiNode != int64(0) { pp = pRtree + 192 + uintptr(nodeHash(tls, (*RtreeNode)(unsafe.Pointer(pNode)).FiNode))*8 @@ -170209,7 +170259,7 @@ func nodeHashDelete(tls *libc.TLS, pRtree uintptr, pNode uintptr) { /* sqlite3.c // indicating that node has not yet been assigned a node number. It is // assigned a node number when nodeWrite() is called to write the // node contents out to the database. -func nodeNew(tls *libc.TLS, pRtree uintptr, pParent uintptr) uintptr { /* sqlite3.c:196457:18: */ +func nodeNew(tls *libc.TLS, pRtree uintptr, pParent uintptr) uintptr { /* sqlite3.c:196514:18: */ var pNode uintptr pNode = Xsqlite3_malloc64(tls, uint64(uint64(unsafe.Sizeof(RtreeNode{}))+uint64((*Rtree)(unsafe.Pointer(pRtree)).FiNodeSize))) if pNode != 0 { @@ -170225,7 +170275,7 @@ func nodeNew(tls *libc.TLS, pRtree uintptr, pParent uintptr) uintptr { /* sqlite } // Clear the Rtree.pNodeBlob object -func nodeBlobReset(tls *libc.TLS, pRtree uintptr) { /* sqlite3.c:196475:13: */ +func nodeBlobReset(tls *libc.TLS, pRtree uintptr) { /* sqlite3.c:196532:13: */ if (*Rtree)(unsafe.Pointer(pRtree)).FpNodeBlob != 0 && int32((*Rtree)(unsafe.Pointer(pRtree)).FinWrTrans) == 0 && (*Rtree)(unsafe.Pointer(pRtree)).FnCursor == U32(0) { var pBlob uintptr = (*Rtree)(unsafe.Pointer(pRtree)).FpNodeBlob (*Rtree)(unsafe.Pointer(pRtree)).FpNodeBlob = uintptr(0) @@ -170234,7 +170284,7 @@ func nodeBlobReset(tls *libc.TLS, pRtree uintptr) { /* sqlite3.c:196475:13: */ } // Obtain a reference to an r-tree node. -func nodeAcquire(tls *libc.TLS, pRtree uintptr, iNode I64, pParent uintptr, ppNode uintptr) int32 { /* sqlite3.c:196486:12: */ +func nodeAcquire(tls *libc.TLS, pRtree uintptr, iNode I64, pParent uintptr, ppNode uintptr) int32 { /* sqlite3.c:196543:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -170344,7 +170394,7 @@ func nodeAcquire(tls *libc.TLS, pRtree uintptr, iNode I64, pParent uintptr, ppNo } // Overwrite cell iCell of node pNode with the contents of pCell. -func nodeOverwriteCell(tls *libc.TLS, pRtree uintptr, pNode uintptr, pCell uintptr, iCell int32) { /* sqlite3.c:196599:13: */ +func nodeOverwriteCell(tls *libc.TLS, pRtree uintptr, pNode uintptr, pCell uintptr, iCell int32) { /* sqlite3.c:196656:13: */ var ii int32 var p uintptr = (*RtreeNode)(unsafe.Pointer(pNode)).FzData + uintptr(4+int32((*Rtree)(unsafe.Pointer(pRtree)).FnBytesPerCell)*iCell) p += uintptr(writeInt64(tls, p, (*RtreeCell)(unsafe.Pointer(pCell)).FiRowid)) @@ -170355,7 +170405,7 @@ func nodeOverwriteCell(tls *libc.TLS, pRtree uintptr, pNode uintptr, pCell uintp } // Remove the cell with index iCell from node pNode. -func nodeDeleteCell(tls *libc.TLS, pRtree uintptr, pNode uintptr, iCell int32) { /* sqlite3.c:196617:13: */ +func nodeDeleteCell(tls *libc.TLS, pRtree uintptr, pNode uintptr, iCell int32) { /* sqlite3.c:196674:13: */ var pDst uintptr = (*RtreeNode)(unsafe.Pointer(pNode)).FzData + uintptr(4+int32((*Rtree)(unsafe.Pointer(pRtree)).FnBytesPerCell)*iCell) var pSrc uintptr = pDst + uintptr((*Rtree)(unsafe.Pointer(pRtree)).FnBytesPerCell) var nByte int32 = (readInt16(tls, (*RtreeNode)(unsafe.Pointer(pNode)).FzData+2) - iCell - 1) * int32((*Rtree)(unsafe.Pointer(pRtree)).FnBytesPerCell) @@ -170368,7 +170418,7 @@ func nodeDeleteCell(tls *libc.TLS, pRtree uintptr, pNode uintptr, iCell int32) { // is successful, return SQLITE_OK. // // If there is not enough free space in pNode, return SQLITE_FULL. -func nodeInsertCell(tls *libc.TLS, pRtree uintptr, pNode uintptr, pCell uintptr) int32 { /* sqlite3.c:196632:12: */ +func nodeInsertCell(tls *libc.TLS, pRtree uintptr, pNode uintptr, pCell uintptr) int32 { /* sqlite3.c:196689:12: */ var nCell int32 // Current number of cells in pNode var nMaxCell int32 // Maximum number of cells for pNode @@ -170385,7 +170435,7 @@ func nodeInsertCell(tls *libc.TLS, pRtree uintptr, pNode uintptr, pCell uintptr) } // If the node is dirty, write it out to the database. -func nodeWrite(tls *libc.TLS, pRtree uintptr, pNode uintptr) int32 { /* sqlite3.c:196656:12: */ +func nodeWrite(tls *libc.TLS, pRtree uintptr, pNode uintptr) int32 { /* sqlite3.c:196713:12: */ var rc int32 = SQLITE_OK if (*RtreeNode)(unsafe.Pointer(pNode)).FisDirty != 0 { var p uintptr = (*Rtree)(unsafe.Pointer(pRtree)).FpWriteNode @@ -170409,7 +170459,7 @@ func nodeWrite(tls *libc.TLS, pRtree uintptr, pNode uintptr) int32 { /* sqlite3. // Release a reference to a node. If the node is dirty and the reference // count drops to zero, the node data is written to the database. -func nodeRelease(tls *libc.TLS, pRtree uintptr, pNode uintptr) int32 { /* sqlite3.c:196682:12: */ +func nodeRelease(tls *libc.TLS, pRtree uintptr, pNode uintptr) int32 { /* sqlite3.c:196739:12: */ var rc int32 = SQLITE_OK if pNode != 0 { @@ -170435,19 +170485,19 @@ func nodeRelease(tls *libc.TLS, pRtree uintptr, pNode uintptr) int32 { /* sqlite // Return the 64-bit integer value associated with cell iCell of // node pNode. If pNode is a leaf node, this is a rowid. If it is // an internal node, then the 64-bit integer is a child page number. -func nodeGetRowid(tls *libc.TLS, pRtree uintptr, pNode uintptr, iCell int32) I64 { /* sqlite3.c:196711:12: */ +func nodeGetRowid(tls *libc.TLS, pRtree uintptr, pNode uintptr, iCell int32) I64 { /* sqlite3.c:196768:12: */ return readInt64(tls, (*RtreeNode)(unsafe.Pointer(pNode)).FzData+uintptr(4+int32((*Rtree)(unsafe.Pointer(pRtree)).FnBytesPerCell)*iCell)) } // Return coordinate iCoord from cell iCell in node pNode. -func nodeGetCoord(tls *libc.TLS, pRtree uintptr, pNode uintptr, iCell int32, iCoord int32, pCoord uintptr) { /* sqlite3.c:196723:13: */ +func nodeGetCoord(tls *libc.TLS, pRtree uintptr, pNode uintptr, iCell int32, iCoord int32, pCoord uintptr) { /* sqlite3.c:196780:13: */ readCoord(tls, (*RtreeNode)(unsafe.Pointer(pNode)).FzData+uintptr(12+int32((*Rtree)(unsafe.Pointer(pRtree)).FnBytesPerCell)*iCell+4*iCoord), pCoord) } // Deserialize cell iCell of node pNode. Populate the structure pointed // to by pCell with the results. -func nodeGetCell(tls *libc.TLS, pRtree uintptr, pNode uintptr, iCell int32, pCell uintptr) { /* sqlite3.c:196737:13: */ +func nodeGetCell(tls *libc.TLS, pRtree uintptr, pNode uintptr, iCell int32, pCell uintptr) { /* sqlite3.c:196794:13: */ var pData uintptr var pCoord uintptr var ii int32 = 0 @@ -170463,23 +170513,23 @@ func nodeGetCell(tls *libc.TLS, pRtree uintptr, pNode uintptr, iCell int32, pCel } // Rtree virtual table module xCreate method. -func rtreeCreate(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 { /* sqlite3.c:196768:12: */ +func rtreeCreate(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 { /* sqlite3.c:196825:12: */ return rtreeInit(tls, db, pAux, argc, argv, ppVtab, pzErr, 1) } // Rtree virtual table module xConnect method. -func rtreeConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 { /* sqlite3.c:196781:12: */ +func rtreeConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 { /* sqlite3.c:196838:12: */ return rtreeInit(tls, db, pAux, argc, argv, ppVtab, pzErr, 0) } // Increment the r-tree reference count. -func rtreeReference(tls *libc.TLS, pRtree uintptr) { /* sqlite3.c:196794:13: */ +func rtreeReference(tls *libc.TLS, pRtree uintptr) { /* sqlite3.c:196851:13: */ (*Rtree)(unsafe.Pointer(pRtree)).FnBusy++ } // Decrement the r-tree reference count. When the reference count reaches // zero the structure is deleted. -func rtreeRelease(tls *libc.TLS, pRtree uintptr) { /* sqlite3.c:196802:13: */ +func rtreeRelease(tls *libc.TLS, pRtree uintptr) { /* sqlite3.c:196859:13: */ (*Rtree)(unsafe.Pointer(pRtree)).FnBusy-- if (*Rtree)(unsafe.Pointer(pRtree)).FnBusy == U32(0) { (*Rtree)(unsafe.Pointer(pRtree)).FinWrTrans = U8(0) @@ -170501,13 +170551,13 @@ func rtreeRelease(tls *libc.TLS, pRtree uintptr) { /* sqlite3.c:196802:13: */ } // Rtree virtual table module xDisconnect method. -func rtreeDisconnect(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:196826:12: */ +func rtreeDisconnect(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:196883:12: */ rtreeRelease(tls, pVtab) return SQLITE_OK } // Rtree virtual table module xDestroy method. -func rtreeDestroy(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:196834:12: */ +func rtreeDestroy(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:196891:12: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -170534,7 +170584,7 @@ func rtreeDestroy(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:196834:12: } // Rtree virtual table module xOpen method. -func rtreeOpen(tls *libc.TLS, pVTab uintptr, ppCursor uintptr) int32 { /* sqlite3.c:196862:12: */ +func rtreeOpen(tls *libc.TLS, pVTab uintptr, ppCursor uintptr) int32 { /* sqlite3.c:196919:12: */ var rc int32 = SQLITE_NOMEM var pRtree uintptr = pVTab var pCsr uintptr @@ -170552,7 +170602,7 @@ func rtreeOpen(tls *libc.TLS, pVTab uintptr, ppCursor uintptr) int32 { /* sqlite } // Reset a cursor back to its initial state. -func resetCursor(tls *libc.TLS, pCsr uintptr) { /* sqlite3.c:196883:13: */ +func resetCursor(tls *libc.TLS, pCsr uintptr) { /* sqlite3.c:196940:13: */ var pRtree uintptr = (*RtreeCursor)(unsafe.Pointer(pCsr)).Fbase.FpVtab var ii int32 var pStmt uintptr @@ -170582,7 +170632,7 @@ func resetCursor(tls *libc.TLS, pCsr uintptr) { /* sqlite3.c:196883:13: */ } // Rtree virtual table module xClose method. -func rtreeClose(tls *libc.TLS, cur uintptr) int32 { /* sqlite3.c:196911:12: */ +func rtreeClose(tls *libc.TLS, cur uintptr) int32 { /* sqlite3.c:196968:12: */ var pRtree uintptr = (*Sqlite3_vtab_cursor)(unsafe.Pointer(cur)).FpVtab var pCsr uintptr = cur @@ -170598,7 +170648,7 @@ func rtreeClose(tls *libc.TLS, cur uintptr) int32 { /* sqlite3.c:196911:12: */ // // Return non-zero if the cursor does not currently point to a valid // record (i.e if the scan has finished), or zero otherwise. -func rtreeEof(tls *libc.TLS, cur uintptr) int32 { /* sqlite3.c:196929:12: */ +func rtreeEof(tls *libc.TLS, cur uintptr) int32 { /* sqlite3.c:196986:12: */ var pCsr uintptr = cur return int32((*RtreeCursor)(unsafe.Pointer(pCsr)).FatEOF) } @@ -170615,7 +170665,7 @@ func rtreeEof(tls *libc.TLS, cur uintptr) int32 { /* sqlite3.c:196929:12: */ // Check the RTree node or entry given by pCellData and p against the MATCH // constraint pConstraint. -func rtreeCallbackConstraint(tls *libc.TLS, pConstraint uintptr, eInt int32, pCellData uintptr, pSearch uintptr, prScore uintptr, peWithin uintptr) int32 { /* sqlite3.c:196984:12: */ +func rtreeCallbackConstraint(tls *libc.TLS, pConstraint uintptr, eInt int32, pCellData uintptr, pSearch uintptr, prScore uintptr, peWithin uintptr) int32 { /* sqlite3.c:197041:12: */ bp := tls.Alloc(92) defer tls.Free(92) @@ -170727,7 +170777,7 @@ func rtreeCallbackConstraint(tls *libc.TLS, pConstraint uintptr, eInt int32, pCe // Check the internal RTree node given by pCellData against constraint p. // If this constraint cannot be satisfied by any child within the node, // set *peWithin to NOT_WITHIN. -func rtreeNonleafConstraint(tls *libc.TLS, p uintptr, eInt int32, pCellData uintptr, peWithin uintptr) { /* sqlite3.c:197060:13: */ +func rtreeNonleafConstraint(tls *libc.TLS, p uintptr, eInt int32, pCellData uintptr, peWithin uintptr) { /* sqlite3.c:197117:13: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -170829,7 +170879,7 @@ func rtreeNonleafConstraint(tls *libc.TLS, p uintptr, eInt int32, pCellData uint // // The op is given by p->op. The xN is p->iCoord-th coordinate in // pCellData. $val is given by p->u.rValue. -func rtreeLeafConstraint(tls *libc.TLS, p uintptr, eInt int32, pCellData uintptr, peWithin uintptr) { /* sqlite3.c:197117:13: */ +func rtreeLeafConstraint(tls *libc.TLS, p uintptr, eInt int32, pCellData uintptr, peWithin uintptr) { /* sqlite3.c:197174:13: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -170885,7 +170935,7 @@ func rtreeLeafConstraint(tls *libc.TLS, p uintptr, eInt int32, pCellData uintptr // One of the cells in node pNode is guaranteed to have a 64-bit // integer value equal to iRowid. Return the index of this cell. -func nodeRowidIndex(tls *libc.TLS, pRtree uintptr, pNode uintptr, iRowid I64, piIndex uintptr) int32 { /* sqlite3.c:197147:12: */ +func nodeRowidIndex(tls *libc.TLS, pRtree uintptr, pNode uintptr, iRowid I64, piIndex uintptr) int32 { /* sqlite3.c:197204:12: */ var ii int32 var nCell int32 = readInt16(tls, (*RtreeNode)(unsafe.Pointer(pNode)).FzData+2) @@ -170901,7 +170951,7 @@ func nodeRowidIndex(tls *libc.TLS, pRtree uintptr, pNode uintptr, iRowid I64, pi // Return the index of the cell containing a pointer to node pNode // in its parent. If pNode is the root node, return -1. -func nodeParentIndex(tls *libc.TLS, pRtree uintptr, pNode uintptr, piIndex uintptr) int32 { /* sqlite3.c:197170:12: */ +func nodeParentIndex(tls *libc.TLS, pRtree uintptr, pNode uintptr, piIndex uintptr) int32 { /* sqlite3.c:197227:12: */ var pParent uintptr = (*RtreeNode)(unsafe.Pointer(pNode)).FpParent if pParent != 0 { return nodeRowidIndex(tls, pRtree, pParent, (*RtreeNode)(unsafe.Pointer(pNode)).FiNode, piIndex) @@ -170920,7 +170970,7 @@ func nodeParentIndex(tls *libc.TLS, pRtree uintptr, pNode uintptr, piIndex uintp // iLevel values coming first. In this way, if rScore is the same for all // SearchPoints, then iLevel becomes the deciding factor and the result // is a depth-first search, which is the desired default behavior. -func rtreeSearchPointCompare(tls *libc.TLS, pA uintptr, pB uintptr) int32 { /* sqlite3.c:197190:12: */ +func rtreeSearchPointCompare(tls *libc.TLS, pA uintptr, pB uintptr) int32 { /* sqlite3.c:197247:12: */ if (*RtreeSearchPoint)(unsafe.Pointer(pA)).FrScore < (*RtreeSearchPoint)(unsafe.Pointer(pB)).FrScore { return -1 } @@ -170937,7 +170987,7 @@ func rtreeSearchPointCompare(tls *libc.TLS, pA uintptr, pB uintptr) int32 { /* s } // Interchange two search points in a cursor. -func rtreeSearchPointSwap(tls *libc.TLS, p uintptr, i int32, j int32) { /* sqlite3.c:197204:13: */ +func rtreeSearchPointSwap(tls *libc.TLS, p uintptr, i int32, j int32) { /* sqlite3.c:197261:13: */ var t = *(*RtreeSearchPoint)(unsafe.Pointer((*RtreeCursor)(unsafe.Pointer(p)).FaPoint + uintptr(i)*24)) *(*RtreeSearchPoint)(unsafe.Pointer((*RtreeCursor)(unsafe.Pointer(p)).FaPoint + uintptr(i)*24)) = *(*RtreeSearchPoint)(unsafe.Pointer((*RtreeCursor)(unsafe.Pointer(p)).FaPoint + uintptr(j)*24)) @@ -170957,7 +171007,7 @@ func rtreeSearchPointSwap(tls *libc.TLS, p uintptr, i int32, j int32) { /* sqlit } // Return the search point with the lowest current score. -func rtreeSearchPointFirst(tls *libc.TLS, pCur uintptr) uintptr { /* sqlite3.c:197225:25: */ +func rtreeSearchPointFirst(tls *libc.TLS, pCur uintptr) uintptr { /* sqlite3.c:197282:25: */ if (*RtreeCursor)(unsafe.Pointer(pCur)).FbPoint != 0 { return pCur + 64 } @@ -170968,7 +171018,7 @@ func rtreeSearchPointFirst(tls *libc.TLS, pCur uintptr) uintptr { /* sqlite3.c:1 } // Get the RtreeNode for the search point with the lowest score. -func rtreeNodeOfFirstSearchPoint(tls *libc.TLS, pCur uintptr, pRC uintptr) uintptr { /* sqlite3.c:197232:18: */ +func rtreeNodeOfFirstSearchPoint(tls *libc.TLS, pCur uintptr, pRC uintptr) uintptr { /* sqlite3.c:197289:18: */ var id Sqlite3_int64 var ii int32 = 1 - int32((*RtreeCursor)(unsafe.Pointer(pCur)).FbPoint) @@ -170985,7 +171035,7 @@ func rtreeNodeOfFirstSearchPoint(tls *libc.TLS, pCur uintptr, pRC uintptr) uintp } // Push a new element onto the priority queue -func rtreeEnqueue(tls *libc.TLS, pCur uintptr, rScore RtreeDValue, iLevel U8) uintptr { /* sqlite3.c:197248:25: */ +func rtreeEnqueue(tls *libc.TLS, pCur uintptr, rScore RtreeDValue, iLevel U8) uintptr { /* sqlite3.c:197305:25: */ var i int32 var j int32 var pNew uintptr @@ -171019,7 +171069,7 @@ func rtreeEnqueue(tls *libc.TLS, pCur uintptr, rScore RtreeDValue, iLevel U8) ui // Allocate a new RtreeSearchPoint and return a pointer to it. Return // NULL if malloc fails. -func rtreeSearchPointNew(tls *libc.TLS, pCur uintptr, rScore RtreeDValue, iLevel U8) uintptr { /* sqlite3.c:197283:25: */ +func rtreeSearchPointNew(tls *libc.TLS, pCur uintptr, rScore RtreeDValue, iLevel U8) uintptr { /* sqlite3.c:197340:25: */ var pNew uintptr var pFirst uintptr pFirst = rtreeSearchPointFirst(tls, pCur) @@ -171055,7 +171105,7 @@ func rtreeSearchPointNew(tls *libc.TLS, pCur uintptr, rScore RtreeDValue, iLevel } // Remove the search point with the lowest current score. -func rtreeSearchPointPop(tls *libc.TLS, p uintptr) { /* sqlite3.c:197351:13: */ +func rtreeSearchPointPop(tls *libc.TLS, p uintptr) { /* sqlite3.c:197408:13: */ var i int32 var j int32 var k int32 @@ -171103,7 +171153,7 @@ func rtreeSearchPointPop(tls *libc.TLS, p uintptr) { /* sqlite3.c:197351:13: */ // contains an entry suitable for returning as a result-set row, // or until the RtreeSearchPoint queue is empty, indicating that the // query has completed. -func rtreeStepToLeaf(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:197399:12: */ +func rtreeStepToLeaf(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:197456:12: */ bp := tls.Alloc(20) defer tls.Free(20) @@ -171196,7 +171246,7 @@ func rtreeStepToLeaf(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:197399:12 } // Rtree virtual table module xNext method. -func rtreeNext(tls *libc.TLS, pVtabCursor uintptr) int32 { /* sqlite3.c:197480:12: */ +func rtreeNext(tls *libc.TLS, pVtabCursor uintptr) int32 { /* sqlite3.c:197537:12: */ var pCsr uintptr = pVtabCursor var rc int32 = SQLITE_OK @@ -171212,7 +171262,7 @@ func rtreeNext(tls *libc.TLS, pVtabCursor uintptr) int32 { /* sqlite3.c:197480:1 } // Rtree virtual table module xRowid method. -func rtreeRowid(tls *libc.TLS, pVtabCursor uintptr, pRowid uintptr) int32 { /* sqlite3.c:197498:12: */ +func rtreeRowid(tls *libc.TLS, pVtabCursor uintptr, pRowid uintptr) int32 { /* sqlite3.c:197555:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -171227,7 +171277,7 @@ func rtreeRowid(tls *libc.TLS, pVtabCursor uintptr, pRowid uintptr) int32 { /* s } // Rtree virtual table module xColumn method. -func rtreeColumn(tls *libc.TLS, cur uintptr, ctx uintptr, i int32) int32 { /* sqlite3.c:197512:12: */ +func rtreeColumn(tls *libc.TLS, cur uintptr, ctx uintptr, i int32) int32 { /* sqlite3.c:197569:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -171288,7 +171338,7 @@ func rtreeColumn(tls *libc.TLS, cur uintptr, ctx uintptr, i int32) int32 { /* sq // return SQLITE_OK. If there is no such record in the table, set // *ppLeaf to 0 and return SQLITE_OK. If an error occurs, set *ppLeaf // to zero and return an SQLite error code. -func findLeafNode(tls *libc.TLS, pRtree uintptr, iRowid I64, ppLeaf uintptr, piNode uintptr) int32 { /* sqlite3.c:197566:12: */ +func findLeafNode(tls *libc.TLS, pRtree uintptr, iRowid I64, ppLeaf uintptr, piNode uintptr) int32 { /* sqlite3.c:197623:12: */ var rc int32 *(*uintptr)(unsafe.Pointer(ppLeaf)) = uintptr(0) Xsqlite3_bind_int64(tls, (*Rtree)(unsafe.Pointer(pRtree)).FpReadRowid, 1, iRowid) @@ -171309,7 +171359,7 @@ func findLeafNode(tls *libc.TLS, pRtree uintptr, iRowid I64, ppLeaf uintptr, piN // as the second argument for a MATCH constraint. The value passed as the // first argument to this function is the right-hand operand to the MATCH // operator. -func deserializeGeometry(tls *libc.TLS, pValue uintptr, pCons uintptr) int32 { /* sqlite3.c:197592:12: */ +func deserializeGeometry(tls *libc.TLS, pValue uintptr, pCons uintptr) int32 { /* sqlite3.c:197649:12: */ var pBlob uintptr var pSrc uintptr // BLOB returned by geometry function var pInfo uintptr // Callback information @@ -171341,7 +171391,7 @@ func deserializeGeometry(tls *libc.TLS, pValue uintptr, pCons uintptr) int32 { / } // Rtree virtual table module xFilter method. -func rtreeFilter(tls *libc.TLS, pVtabCursor uintptr, idxNum int32, idxStr uintptr, argc int32, argv uintptr) int32 { /* sqlite3.c:197622:12: */ +func rtreeFilter(tls *libc.TLS, pVtabCursor uintptr, idxNum int32, idxStr uintptr, argc int32, argv uintptr) int32 { /* sqlite3.c:197679:12: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -171484,7 +171534,7 @@ func rtreeFilter(tls *libc.TLS, pVtabCursor uintptr, idxNum int32, idxStr uintpt // The second of each pair of bytes identifies the coordinate column // to which the constraint applies. The leftmost coordinate column // is 'a', the second from the left 'b' etc. -func rtreeBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 { /* sqlite3.c:197775:12: */ +func rtreeBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 { /* sqlite3.c:197832:12: */ bp := tls.Alloc(49) defer tls.Free(49) @@ -171591,7 +171641,7 @@ func rtreeBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 { /* sql } // Return the N-dimensional volumn of the cell stored in *p. -func cellArea(tls *libc.TLS, pRtree uintptr, p uintptr) RtreeDValue { /* sqlite3.c:197864:20: */ +func cellArea(tls *libc.TLS, pRtree uintptr, p uintptr) RtreeDValue { /* sqlite3.c:197921:20: */ var area RtreeDValue = RtreeDValue(1) if int32((*Rtree)(unsafe.Pointer(pRtree)).FeCoordType) == RTREE_COORD_REAL32 { @@ -171634,7 +171684,7 @@ func cellArea(tls *libc.TLS, pRtree uintptr, p uintptr) RtreeDValue { /* sqlite3 // Return the margin length of cell p. The margin length is the sum // of the objects size in each dimension. -func cellMargin(tls *libc.TLS, pRtree uintptr, p uintptr) RtreeDValue { /* sqlite3.c:197894:20: */ +func cellMargin(tls *libc.TLS, pRtree uintptr, p uintptr) RtreeDValue { /* sqlite3.c:197951:20: */ var margin RtreeDValue = RtreeDValue(0) var ii int32 = int32((*Rtree)(unsafe.Pointer(pRtree)).FnDim2) - 2 for __ccgo := true; __ccgo; __ccgo = ii >= 0 { @@ -171655,7 +171705,7 @@ func cellMargin(tls *libc.TLS, pRtree uintptr, p uintptr) RtreeDValue { /* sqlit } // Store the union of cells p1 and p2 in p1. -func cellUnion(tls *libc.TLS, pRtree uintptr, p1 uintptr, p2 uintptr) { /* sqlite3.c:197907:13: */ +func cellUnion(tls *libc.TLS, pRtree uintptr, p1 uintptr, p2 uintptr) { /* sqlite3.c:197964:13: */ var ii int32 = 0 if int32((*Rtree)(unsafe.Pointer(pRtree)).FeCoordType) == RTREE_COORD_REAL32 { for __ccgo := true; __ccgo; __ccgo = ii < int32((*Rtree)(unsafe.Pointer(pRtree)).FnDim2) { @@ -171694,7 +171744,7 @@ func cellUnion(tls *libc.TLS, pRtree uintptr, p1 uintptr, p2 uintptr) { /* sqlit // Return true if the area covered by p2 is a subset of the area covered // by p1. False otherwise. -func cellContains(tls *libc.TLS, pRtree uintptr, p1 uintptr, p2 uintptr) int32 { /* sqlite3.c:197928:12: */ +func cellContains(tls *libc.TLS, pRtree uintptr, p1 uintptr, p2 uintptr) int32 { /* sqlite3.c:197985:12: */ var ii int32 var isInt int32 = libc.Bool32(int32((*Rtree)(unsafe.Pointer(pRtree)).FeCoordType) == RTREE_COORD_INT32) for ii = 0; ii < int32((*Rtree)(unsafe.Pointer(pRtree)).FnDim2); ii = ii + 2 { @@ -171709,7 +171759,7 @@ func cellContains(tls *libc.TLS, pRtree uintptr, p1 uintptr, p2 uintptr) int32 { } // Return the amount cell p would grow by if it were unioned with pCell. -func cellGrowth(tls *libc.TLS, pRtree uintptr, p uintptr, pCell uintptr) RtreeDValue { /* sqlite3.c:197946:20: */ +func cellGrowth(tls *libc.TLS, pRtree uintptr, p uintptr, pCell uintptr) RtreeDValue { /* sqlite3.c:198003:20: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -171722,7 +171772,7 @@ func cellGrowth(tls *libc.TLS, pRtree uintptr, p uintptr, pCell uintptr) RtreeDV return cellArea(tls, pRtree, bp) - area } -func cellOverlap(tls *libc.TLS, pRtree uintptr, p uintptr, aCell uintptr, nCell int32) RtreeDValue { /* sqlite3.c:197955:20: */ +func cellOverlap(tls *libc.TLS, pRtree uintptr, p uintptr, aCell uintptr, nCell int32) RtreeDValue { /* sqlite3.c:198012:20: */ var ii int32 var overlap RtreeDValue = 0.0 for ii = 0; ii < nCell; ii++ { @@ -171797,7 +171847,7 @@ func cellOverlap(tls *libc.TLS, pRtree uintptr, p uintptr, aCell uintptr, nCell // This function implements the ChooseLeaf algorithm from Gutman[84]. // ChooseSubTree in r*tree terminology. -func sChooseLeaf(tls *libc.TLS, pRtree uintptr, pCell uintptr, iHeight int32, ppLeaf uintptr) int32 { /* sqlite3.c:197987:12: */ +func sChooseLeaf(tls *libc.TLS, pRtree uintptr, pCell uintptr, iHeight int32, ppLeaf uintptr) int32 { /* sqlite3.c:198044:12: */ bp := tls.Alloc(64) defer tls.Free(64) @@ -171853,7 +171903,7 @@ func sChooseLeaf(tls *libc.TLS, pRtree uintptr, pCell uintptr, iHeight int32, pp // A cell with the same content as pCell has just been inserted into // the node pNode. This function updates the bounding box cells in // all ancestor elements. -func sAdjustTree(tls *libc.TLS, pRtree uintptr, pNode uintptr, pCell uintptr) int32 { /* sqlite3.c:198047:12: */ +func sAdjustTree(tls *libc.TLS, pRtree uintptr, pNode uintptr, pCell uintptr) int32 { /* sqlite3.c:198104:12: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -171889,7 +171939,7 @@ func sAdjustTree(tls *libc.TLS, pRtree uintptr, pNode uintptr, pCell uintptr) in } // Write mapping (iRowid->iNode) to the _rowid table. -func rowidWrite(tls *libc.TLS, pRtree uintptr, iRowid Sqlite3_int64, iNode Sqlite3_int64) int32 { /* sqlite3.c:198085:12: */ +func rowidWrite(tls *libc.TLS, pRtree uintptr, iRowid Sqlite3_int64, iNode Sqlite3_int64) int32 { /* sqlite3.c:198142:12: */ Xsqlite3_bind_int64(tls, (*Rtree)(unsafe.Pointer(pRtree)).FpWriteRowid, 1, iRowid) Xsqlite3_bind_int64(tls, (*Rtree)(unsafe.Pointer(pRtree)).FpWriteRowid, 2, iNode) Xsqlite3_step(tls, (*Rtree)(unsafe.Pointer(pRtree)).FpWriteRowid) @@ -171897,7 +171947,7 @@ func rowidWrite(tls *libc.TLS, pRtree uintptr, iRowid Sqlite3_int64, iNode Sqlit } // Write mapping (iNode->iPar) to the _parent table. -func parentWrite(tls *libc.TLS, pRtree uintptr, iNode Sqlite3_int64, iPar Sqlite3_int64) int32 { /* sqlite3.c:198095:12: */ +func parentWrite(tls *libc.TLS, pRtree uintptr, iNode Sqlite3_int64, iPar Sqlite3_int64) int32 { /* sqlite3.c:198152:12: */ Xsqlite3_bind_int64(tls, (*Rtree)(unsafe.Pointer(pRtree)).FpWriteParent, 1, iNode) Xsqlite3_bind_int64(tls, (*Rtree)(unsafe.Pointer(pRtree)).FpWriteParent, 2, iPar) Xsqlite3_step(tls, (*Rtree)(unsafe.Pointer(pRtree)).FpWriteParent) @@ -171919,7 +171969,7 @@ func parentWrite(tls *libc.TLS, pRtree uintptr, iNode Sqlite3_int64, iPar Sqlite // // The aSpare array is used as temporary working space by the // sorting algorithm. -func sSortByDistance(tls *libc.TLS, aIdx uintptr, nIdx int32, aDistance uintptr, aSpare uintptr) { /* sqlite3.c:198122:13: */ +func sSortByDistance(tls *libc.TLS, aIdx uintptr, nIdx int32, aDistance uintptr, aSpare uintptr) { /* sqlite3.c:198179:13: */ if nIdx > 1 { var iLeft int32 = 0 var iRight int32 = 0 @@ -171967,7 +172017,7 @@ func sSortByDistance(tls *libc.TLS, aIdx uintptr, nIdx int32, aDistance uintptr, // // The aSpare array is used as temporary working space by the // sorting algorithm. -func sSortByDimension(tls *libc.TLS, pRtree uintptr, aIdx uintptr, nIdx int32, iDim int32, aCell uintptr, aSpare uintptr) { /* sqlite3.c:198188:13: */ +func sSortByDimension(tls *libc.TLS, pRtree uintptr, aIdx uintptr, nIdx int32, iDim int32, aCell uintptr, aSpare uintptr) { /* sqlite3.c:198245:13: */ if nIdx > 1 { var iLeft int32 = 0 @@ -172023,7 +172073,7 @@ func sSortByDimension(tls *libc.TLS, pRtree uintptr, aIdx uintptr, nIdx int32, i } // Implementation of the R*-tree variant of SplitNode from Beckman[1990]. -func splitNodeStartree(tls *libc.TLS, pRtree uintptr, aCell uintptr, nCell int32, pLeft uintptr, pRight uintptr, pBboxLeft uintptr, pBboxRight uintptr) int32 { /* sqlite3.c:198247:12: */ +func splitNodeStartree(tls *libc.TLS, pRtree uintptr, aCell uintptr, nCell int32, pLeft uintptr, pRight uintptr, pBboxLeft uintptr, pBboxRight uintptr) int32 { /* sqlite3.c:198304:12: */ bp := tls.Alloc(96) defer tls.Free(96) @@ -172122,7 +172172,7 @@ func splitNodeStartree(tls *libc.TLS, pRtree uintptr, aCell uintptr, nCell int32 return SQLITE_OK } -func updateMapping(tls *libc.TLS, pRtree uintptr, iRowid I64, pNode uintptr, iHeight int32) int32 { /* sqlite3.c:198345:12: */ +func updateMapping(tls *libc.TLS, pRtree uintptr, iRowid I64, pNode uintptr, iHeight int32) int32 { /* sqlite3.c:198402:12: */ var xSetMapping uintptr xSetMapping = func() uintptr { if iHeight == 0 { @@ -172156,7 +172206,7 @@ func updateMapping(tls *libc.TLS, pRtree uintptr, iRowid I64, pNode uintptr, iHe })(unsafe.Pointer(&struct{ uintptr }{xSetMapping})).f(tls, pRtree, iRowid, (*RtreeNode)(unsafe.Pointer(pNode)).FiNode) } -func sSplitNode(tls *libc.TLS, pRtree uintptr, pNode uintptr, pCell uintptr, iHeight int32) int32 { /* sqlite3.c:198369:12: */ +func sSplitNode(tls *libc.TLS, pRtree uintptr, pNode uintptr, pCell uintptr, iHeight int32) int32 { /* sqlite3.c:198426:12: */ bp := tls.Alloc(100) defer tls.Free(100) @@ -172391,7 +172441,7 @@ splitnode_out: // rowid of the row to delete, which can be used to find the leaf on which // the entry resides (argument pLeaf). Once the leaf is located, this // function is called to determine its ancestry. -func fixLeafParent(tls *libc.TLS, pRtree uintptr, pLeaf uintptr) int32 { /* sqlite3.c:198517:12: */ +func fixLeafParent(tls *libc.TLS, pRtree uintptr, pLeaf uintptr) int32 { /* sqlite3.c:198574:12: */ var rc int32 = SQLITE_OK var pChild uintptr = pLeaf for rc == SQLITE_OK && (*RtreeNode)(unsafe.Pointer(pChild)).FiNode != int64(1) && (*RtreeNode)(unsafe.Pointer(pChild)).FpParent == uintptr(0) { @@ -172426,7 +172476,7 @@ func fixLeafParent(tls *libc.TLS, pRtree uintptr, pLeaf uintptr) int32 { /* sqli return rc } -func removeNode(tls *libc.TLS, pRtree uintptr, pNode uintptr, iHeight int32) int32 { /* sqlite3.c:198552:12: */ +func removeNode(tls *libc.TLS, pRtree uintptr, pNode uintptr, iHeight int32) int32 { /* sqlite3.c:198609:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -172476,7 +172526,7 @@ func removeNode(tls *libc.TLS, pRtree uintptr, pNode uintptr, iHeight int32) int return SQLITE_OK } -func fixBoundingBox(tls *libc.TLS, pRtree uintptr, pNode uintptr) int32 { /* sqlite3.c:198602:12: */ +func fixBoundingBox(tls *libc.TLS, pRtree uintptr, pNode uintptr) int32 { /* sqlite3.c:198659:12: */ bp := tls.Alloc(100) defer tls.Free(100) @@ -172507,7 +172557,7 @@ func fixBoundingBox(tls *libc.TLS, pRtree uintptr, pNode uintptr) int32 { /* sql // Delete the cell at index iCell of node pNode. After removing the // cell, adjust the r-tree data structure if required. -func deleteCell(tls *libc.TLS, pRtree uintptr, pNode uintptr, iCell int32, iHeight int32) int32 { /* sqlite3.c:198629:12: */ +func deleteCell(tls *libc.TLS, pRtree uintptr, pNode uintptr, iCell int32, iHeight int32) int32 { /* sqlite3.c:198686:12: */ var pParent uintptr var rc int32 @@ -172536,7 +172586,7 @@ func deleteCell(tls *libc.TLS, pRtree uintptr, pNode uintptr, iCell int32, iHeig return rc } -func sReinsert(tls *libc.TLS, pRtree uintptr, pNode uintptr, pCell uintptr, iHeight int32) int32 { /* sqlite3.c:198660:12: */ +func sReinsert(tls *libc.TLS, pRtree uintptr, pNode uintptr, pCell uintptr, iHeight int32) int32 { /* sqlite3.c:198717:12: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -172651,7 +172701,7 @@ func sReinsert(tls *libc.TLS, pRtree uintptr, pNode uintptr, pCell uintptr, iHei // Insert cell pCell into node pNode. Node pNode is the head of a // subtree iHeight high (leaf nodes have iHeight==0). -func rtreeInsertCell(tls *libc.TLS, pRtree uintptr, pNode uintptr, pCell uintptr, iHeight int32) int32 { /* sqlite3.c:198765:12: */ +func rtreeInsertCell(tls *libc.TLS, pRtree uintptr, pNode uintptr, pCell uintptr, iHeight int32) int32 { /* sqlite3.c:198822:12: */ var rc int32 = SQLITE_OK if iHeight > 0 { var pChild uintptr = nodeHashLookup(tls, pRtree, (*RtreeCell)(unsafe.Pointer(pCell)).FiRowid) @@ -172681,7 +172731,7 @@ func rtreeInsertCell(tls *libc.TLS, pRtree uintptr, pNode uintptr, pCell uintptr return rc } -func reinsertNodeContent(tls *libc.TLS, pRtree uintptr, pNode uintptr) int32 { /* sqlite3.c:198800:12: */ +func reinsertNodeContent(tls *libc.TLS, pRtree uintptr, pNode uintptr) int32 { /* sqlite3.c:198857:12: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -172712,7 +172762,7 @@ func reinsertNodeContent(tls *libc.TLS, pRtree uintptr, pNode uintptr) int32 { / } // Select a currently unused rowid for a new r-tree record. -func rtreeNewRowid(tls *libc.TLS, pRtree uintptr, piRowid uintptr) int32 { /* sqlite3.c:198829:12: */ +func rtreeNewRowid(tls *libc.TLS, pRtree uintptr, piRowid uintptr) int32 { /* sqlite3.c:198886:12: */ var rc int32 Xsqlite3_bind_null(tls, (*Rtree)(unsafe.Pointer(pRtree)).FpWriteRowid, 1) Xsqlite3_bind_null(tls, (*Rtree)(unsafe.Pointer(pRtree)).FpWriteRowid, 2) @@ -172723,7 +172773,7 @@ func rtreeNewRowid(tls *libc.TLS, pRtree uintptr, piRowid uintptr) int32 { /* sq } // Remove the entry with rowid=iDelete from the r-tree structure. -func rtreeDeleteRowid(tls *libc.TLS, pRtree uintptr, iDelete Sqlite3_int64) int32 { /* sqlite3.c:198842:12: */ +func rtreeDeleteRowid(tls *libc.TLS, pRtree uintptr, iDelete Sqlite3_int64) int32 { /* sqlite3.c:198899:12: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -172812,7 +172862,7 @@ func rtreeDeleteRowid(tls *libc.TLS, pRtree uintptr, iDelete Sqlite3_int64) int3 // Convert an sqlite3_value into an RtreeValue (presumably a float) // while taking care to round toward negative or positive, respectively. -func rtreeValueDown(tls *libc.TLS, v uintptr) RtreeValue { /* sqlite3.c:198939:19: */ +func rtreeValueDown(tls *libc.TLS, v uintptr) RtreeValue { /* sqlite3.c:198996:19: */ var d float64 = Xsqlite3_value_double(tls, v) var f float32 = float32(d) if float64(f) > d { @@ -172826,7 +172876,7 @@ func rtreeValueDown(tls *libc.TLS, v uintptr) RtreeValue { /* sqlite3.c:198939:1 return f } -func rtreeValueUp(tls *libc.TLS, v uintptr) RtreeValue { /* sqlite3.c:198947:19: */ +func rtreeValueUp(tls *libc.TLS, v uintptr) RtreeValue { /* sqlite3.c:199004:19: */ var d float64 = Xsqlite3_value_double(tls, v) var f float32 = float32(d) if float64(f) < d { @@ -172851,7 +172901,7 @@ func rtreeValueUp(tls *libc.TLS, v uintptr) RtreeValue { /* sqlite3.c:198947:19: // (c1<=c2) constraint on columns iCol and iCol+1 that has failed. // // If an OOM occurs, SQLITE_NOMEM is returned instead of SQLITE_CONSTRAINT. -func rtreeConstraintError(tls *libc.TLS, pRtree uintptr, iCol int32) int32 { /* sqlite3.c:198970:12: */ +func rtreeConstraintError(tls *libc.TLS, pRtree uintptr, iCol int32) int32 { /* sqlite3.c:199027:12: */ bp := tls.Alloc(64) defer tls.Free(64) @@ -172890,7 +172940,7 @@ func rtreeConstraintError(tls *libc.TLS, pRtree uintptr, iCol int32) int32 { /* } // The xUpdate method for rtree module virtual tables. -func rtreeUpdate(tls *libc.TLS, pVtab uintptr, nData int32, aData uintptr, pRowid uintptr) int32 { /* sqlite3.c:199008:12: */ +func rtreeUpdate(tls *libc.TLS, pVtab uintptr, nData int32, aData uintptr, pRowid uintptr) int32 { /* sqlite3.c:199065:12: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -173119,7 +173169,7 @@ constraint: } // Called when a transaction starts. -func rtreeBeginTransaction(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:199156:12: */ +func rtreeBeginTransaction(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:199213:12: */ var pRtree uintptr = pVtab (*Rtree)(unsafe.Pointer(pRtree)).FinWrTrans++ @@ -173128,7 +173178,7 @@ func rtreeBeginTransaction(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:19 // Called when a transaction completes (either by COMMIT or ROLLBACK). // The sqlite3_blob object should be released at this point. -func rtreeEndTransaction(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:199167:12: */ +func rtreeEndTransaction(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:199224:12: */ var pRtree uintptr = pVtab (*Rtree)(unsafe.Pointer(pRtree)).FinWrTrans = U8(0) nodeBlobReset(tls, pRtree) @@ -173136,7 +173186,7 @@ func rtreeEndTransaction(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:1991 } // The xRename method for rtree module virtual tables. -func rtreeRename(tls *libc.TLS, pVtab uintptr, zNewName uintptr) int32 { /* sqlite3.c:199177:12: */ +func rtreeRename(tls *libc.TLS, pVtab uintptr, zNewName uintptr) int32 { /* sqlite3.c:199234:12: */ bp := tls.Alloc(72) defer tls.Free(72) @@ -173165,7 +173215,7 @@ func rtreeRename(tls *libc.TLS, pVtab uintptr, zNewName uintptr) int32 { /* sqli // INSERT INTO rtree... // DROP TABLE ; -- Would fail with SQLITE_LOCKED // COMMIT; -func rtreeSavepoint(tls *libc.TLS, pVtab uintptr, iSavepoint int32) int32 { /* sqlite3.c:199210:12: */ +func rtreeSavepoint(tls *libc.TLS, pVtab uintptr, iSavepoint int32) int32 { /* sqlite3.c:199267:12: */ var pRtree uintptr = pVtab var iwt U8 = (*Rtree)(unsafe.Pointer(pRtree)).FinWrTrans _ = iSavepoint @@ -173178,7 +173228,7 @@ func rtreeSavepoint(tls *libc.TLS, pVtab uintptr, iSavepoint int32) int32 { /* s // This function populates the pRtree->nRowEst variable with an estimate // of the number of rows in the virtual table. If possible, this is based // on sqlite_stat1 data. Otherwise, use RTREE_DEFAULT_ROWEST. -func rtreeQueryStat1(tls *libc.TLS, db uintptr, pRtree uintptr) int32 { /* sqlite3.c:199225:12: */ +func rtreeQueryStat1(tls *libc.TLS, db uintptr, pRtree uintptr) int32 { /* sqlite3.c:199282:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -173222,7 +173272,7 @@ func rtreeQueryStat1(tls *libc.TLS, db uintptr, pRtree uintptr) int32 { /* sqlit // Return true if zName is the extension on one of the shadow tables used // by this module. -func rtreeShadowName(tls *libc.TLS, zName uintptr) int32 { /* sqlite3.c:199259:12: */ +func rtreeShadowName(tls *libc.TLS, zName uintptr) int32 { /* sqlite3.c:199316:12: */ var i uint32 for i = uint32(0); uint64(i) < uint64(unsafe.Sizeof(azName1))/uint64(unsafe.Sizeof(uintptr(0))); i++ { if Xsqlite3_stricmp(tls, zName, azName1[i]) == 0 { @@ -173234,7 +173284,7 @@ func rtreeShadowName(tls *libc.TLS, zName uintptr) int32 { /* sqlite3.c:199259:1 var azName1 = [3]uintptr{ ts + 25719, ts + 5414, ts + 16580, -} /* sqlite3.c:199260:21 */ +} /* sqlite3.c:199317:21 */ var rtreeModule = Sqlite3_module{ FiVersion: 3, // iVersion @@ -173258,9 +173308,9 @@ var rtreeModule = Sqlite3_module{ FxRename: 0, // xRename - rename the table FxSavepoint: 0, // xRollbackTo FxShadowName: 0, // xShadowName -} /* sqlite3.c:199270:23 */ +} /* sqlite3.c:199327:23 */ -func rtreeSqlInit(tls *libc.TLS, pRtree uintptr, db uintptr, zDb uintptr, zPrefix uintptr, isCreate int32) int32 { /* sqlite3.c:199297:12: */ +func rtreeSqlInit(tls *libc.TLS, pRtree uintptr, db uintptr, zDb uintptr, zPrefix uintptr, isCreate int32) int32 { /* sqlite3.c:199354:12: */ bp := tls.Alloc(232) defer tls.Free(232) @@ -173377,14 +173427,14 @@ var azSql = [8]uintptr{ ts + 26449, ts + 26507, ts + 26562, -} /* sqlite3.c:199307:21 */ +} /* sqlite3.c:199364:21 */ // The second argument to this function contains the text of an SQL statement // that returns a single integer value. The statement is compiled and executed // using database connection db. If successful, the integer value returned // is written to *piVal and SQLITE_OK returned. Otherwise, an SQLite error // code is returned and the value of *piVal after returning is not defined. -func getIntFromStmt(tls *libc.TLS, db uintptr, zSql uintptr, piVal uintptr) int32 { /* sqlite3.c:199430:12: */ +func getIntFromStmt(tls *libc.TLS, db uintptr, zSql uintptr, piVal uintptr) int32 { /* sqlite3.c:199487:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -173415,7 +173465,7 @@ func getIntFromStmt(tls *libc.TLS, db uintptr, zSql uintptr, piVal uintptr) int3 // This ensures that each node is stored on a single database page. If the // database page-size is so large that more than RTREE_MAXCELLS entries // would fit in a single node, use a smaller node-size. -func getNodeSize(tls *libc.TLS, db uintptr, pRtree uintptr, isCreate int32, pzErr uintptr) int32 { /* sqlite3.c:199460:12: */ +func getNodeSize(tls *libc.TLS, db uintptr, pRtree uintptr, isCreate int32, pzErr uintptr) int32 { /* sqlite3.c:199517:12: */ bp := tls.Alloc(52) defer tls.Free(52) @@ -173453,7 +173503,7 @@ func getNodeSize(tls *libc.TLS, db uintptr, pRtree uintptr, isCreate int32, pzEr } // Return the length of a token -func rtreeTokenLength(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:199503:12: */ +func rtreeTokenLength(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:199560:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -173468,7 +173518,7 @@ func rtreeTokenLength(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:199503:12: // argv[1] -> database name // argv[2] -> table name // argv[...] -> column names... -func rtreeInit(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr, isCreate int32) int32 { /* sqlite3.c:199517:12: */ +func rtreeInit(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr, isCreate int32) int32 { /* sqlite3.c:199574:12: */ bp := tls.Alloc(136) defer tls.Free(136) @@ -173668,7 +173718,7 @@ __25: return rc } -var azFormat = [2]uintptr{ts + 26905, ts + 26916} /* sqlite3.c:199583:25 */ +var azFormat = [2]uintptr{ts + 26905, ts + 26916} /* sqlite3.c:199640:25 */ // Implementation of a scalar function that decodes r-tree nodes to // human readable strings. This can be used for debugging and analysis. @@ -173684,7 +173734,7 @@ var azFormat = [2]uintptr{ts + 26905, ts + 26916} /* sqlite3.c:199583:25 */ // entry for each cell in the r-tree node. Each entry is itself a // list, containing the 8-byte rowid/pageno followed by the // *2 coordinates. -func rtreenode(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:199654:13: */ +func rtreenode(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:199711:13: */ bp := tls.Alloc(1072) defer tls.Free(1072) @@ -173747,7 +173797,7 @@ func rtreenode(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) { /* sqlit // The depth value is 0 for all nodes other than the root node, and the root // node always has nodeno=1, so the example above is the primary use for this // routine. This routine is intended for testing and analysis only. -func rtreedepth(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:199706:13: */ +func rtreedepth(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:199763:13: */ _ = nArg if Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(apArg))) != SQLITE_BLOB || Xsqlite3_value_bytes(tls, *(*uintptr)(unsafe.Pointer(apArg))) < 2 { @@ -173779,15 +173829,15 @@ type RtreeCheck1 = struct { FzReport uintptr FnErr int32 F__ccgo_pad2 [4]byte -} /* sqlite3.c:199727:9 */ +} /* sqlite3.c:199784:9 */ // Context object passed between the various routines that make up the // implementation of integrity-check function rtreecheck(). -type RtreeCheck = RtreeCheck1 /* sqlite3.c:199727:27 */ +type RtreeCheck = RtreeCheck1 /* sqlite3.c:199784:27 */ // Reset SQL statement pStmt. If the sqlite3_reset() call returns an error, // and RtreeCheck.rc==SQLITE_OK, set RtreeCheck.rc to the error code. -func rtreeCheckReset(tls *libc.TLS, pCheck uintptr, pStmt uintptr) { /* sqlite3.c:199749:13: */ +func rtreeCheckReset(tls *libc.TLS, pCheck uintptr, pStmt uintptr) { /* sqlite3.c:199806:13: */ var rc int32 = Xsqlite3_reset(tls, pStmt) if (*RtreeCheck)(unsafe.Pointer(pCheck)).Frc == SQLITE_OK { (*RtreeCheck)(unsafe.Pointer(pCheck)).Frc = rc @@ -173800,7 +173850,7 @@ func rtreeCheckReset(tls *libc.TLS, pCheck uintptr, pStmt uintptr) { /* sqlite3. // // If successful, a pointer to the new SQL statement is returned. Otherwise, // NULL is returned and an error code left in RtreeCheck.rc. -func rtreeCheckPrepare(tls *libc.TLS, pCheck uintptr, zFmt uintptr, va uintptr) uintptr { /* sqlite3.c:199762:21: */ +func rtreeCheckPrepare(tls *libc.TLS, pCheck uintptr, zFmt uintptr, va uintptr) uintptr { /* sqlite3.c:199819:21: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -173828,7 +173878,7 @@ func rtreeCheckPrepare(tls *libc.TLS, pCheck uintptr, zFmt uintptr, va uintptr) // The second and subsequent arguments to this function are a printf() // style format string and arguments. This function formats the string and // appends it to the report being accumuated in pCheck. -func rtreeCheckAppendMsg(tls *libc.TLS, pCheck uintptr, zFmt uintptr, va uintptr) { /* sqlite3.c:199791:13: */ +func rtreeCheckAppendMsg(tls *libc.TLS, pCheck uintptr, zFmt uintptr, va uintptr) { /* sqlite3.c:199848:13: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -173868,7 +173918,7 @@ func rtreeCheckAppendMsg(tls *libc.TLS, pCheck uintptr, zFmt uintptr, va uintptr // Or, if an error does occur, NULL is returned and an error code left // in the RtreeCheck object. The final value of *pnNode is undefined in // this case. -func rtreeCheckGetNode(tls *libc.TLS, pCheck uintptr, iNode I64, pnNode uintptr) uintptr { /* sqlite3.c:199825:11: */ +func rtreeCheckGetNode(tls *libc.TLS, pCheck uintptr, iNode I64, pnNode uintptr) uintptr { /* sqlite3.c:199882:11: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -173912,7 +173962,7 @@ func rtreeCheckGetNode(tls *libc.TLS, pCheck uintptr, iNode I64, pnNode uintptr) // In both cases, this function checks that there exists an entry with // IPK value iKey and the second column set to iVal. // -func rtreeCheckMapping(tls *libc.TLS, pCheck uintptr, bLeaf int32, iKey I64, iVal I64) { /* sqlite3.c:199869:13: */ +func rtreeCheckMapping(tls *libc.TLS, pCheck uintptr, bLeaf int32, iKey I64, iVal I64) { /* sqlite3.c:199926:13: */ bp := tls.Alloc(96) defer tls.Free(96) @@ -173968,7 +174018,7 @@ func rtreeCheckMapping(tls *libc.TLS, pCheck uintptr, bLeaf int32, iKey I64, iVa // containing pCell. In this case it is also verified that the two // sets of coordinates are mutually consistent and an error message added // to the RtreeCheck object if they are not. -func rtreeCheckCellCoord(tls *libc.TLS, pCheck uintptr, iNode I64, iCell int32, pCell uintptr, pParent uintptr) { /* sqlite3.c:199921:13: */ +func rtreeCheckCellCoord(tls *libc.TLS, pCheck uintptr, iNode I64, iCell int32, pCell uintptr, pParent uintptr) { /* sqlite3.c:199978:13: */ bp := tls.Alloc(64) defer tls.Free(64) @@ -174026,7 +174076,7 @@ func rtreeCheckCellCoord(tls *libc.TLS, pCheck uintptr, iNode I64, iCell int32, // // If any problems are discovered, an error message is appended to the // report accumulated in the RtreeCheck object. -func rtreeCheckNode(tls *libc.TLS, pCheck uintptr, iDepth int32, aParent uintptr, iNode I64) { /* sqlite3.c:199967:13: */ +func rtreeCheckNode(tls *libc.TLS, pCheck uintptr, iDepth int32, aParent uintptr, iNode I64) { /* sqlite3.c:200024:13: */ bp := tls.Alloc(52) defer tls.Free(52) @@ -174080,7 +174130,7 @@ func rtreeCheckNode(tls *libc.TLS, pCheck uintptr, iDepth int32, aParent uintptr // %_rowid or %_parent table is exactly nExpect. If not, it adds // an error message to the report in the RtreeCheck object indicated // by the first argument. -func rtreeCheckCount(tls *libc.TLS, pCheck uintptr, zTbl uintptr, nExpect I64) { /* sqlite3.c:200030:13: */ +func rtreeCheckCount(tls *libc.TLS, pCheck uintptr, zTbl uintptr, nExpect I64) { /* sqlite3.c:200087:13: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -174103,7 +174153,7 @@ func rtreeCheckCount(tls *libc.TLS, pCheck uintptr, zTbl uintptr, nExpect I64) { // This function does the bulk of the work for the rtree integrity-check. // It is called by rtreecheck(), which is the SQL function implementation. -func rtreeCheckTable(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, pzReport uintptr) int32 { /* sqlite3.c:200054:12: */ +func rtreeCheckTable(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, pzReport uintptr) int32 { /* sqlite3.c:200111:12: */ bp := tls.Alloc(120) defer tls.Free(120) @@ -174210,7 +174260,7 @@ func rtreeCheckTable(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, pzRep // as there are non-leaf cells in the r-tree structure, and that // there is a non-leaf cell that corresponds to each entry in the // %_parent table. -func rtreecheck(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:200161:13: */ +func rtreecheck(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:200218:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -174273,7 +174323,7 @@ func rtreecheck(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) { /* sqli // Compiler and version // Datatype for coordinates -type GeoCoord = float32 /* sqlite3.c:200282:15 */ +type GeoCoord = float32 /* sqlite3.c:200339:15 */ // Internal representation of a polygon. // @@ -174299,7 +174349,7 @@ type GeoPoly1 = struct { FnVertex int32 Fhdr [4]uint8 Fa [8]GeoCoord -} /* sqlite3.c:200306:9 */ +} /* sqlite3.c:200363:9 */ // Internal representation of a polygon. // @@ -174321,7 +174371,7 @@ type GeoPoly1 = struct { // warnings coming from some compiler (notably, clang). In reality, the size // of each GeoPoly memory allocate is adjusted as necessary so that the // GeoPoly.a[] array at the end is the appropriate size. -type GeoPoly = GeoPoly1 /* sqlite3.c:200306:24 */ +type GeoPoly = GeoPoly1 /* sqlite3.c:200363:24 */ // The size of a memory allocation needed for a GeoPoly object sufficient // to hold N coordinate pairs. @@ -174338,7 +174388,7 @@ type GeoParse1 = struct { FnErr int32 F__ccgo_pad1 [4]byte Fa uintptr -} /* sqlite3.c:200329:9 */ +} /* sqlite3.c:200386:9 */ // The size of a memory allocation needed for a GeoPoly object sufficient // to hold N coordinate pairs. @@ -174348,10 +174398,10 @@ type GeoParse1 = struct { // to silence (incorrect) UBSAN warnings if the array index is too large. // State of a parse of a GeoJSON input. -type GeoParse = GeoParse1 /* sqlite3.c:200329:25 */ +type GeoParse = GeoParse1 /* sqlite3.c:200386:25 */ // Do a 4-byte byte swap -func geopolySwab32(tls *libc.TLS, a uintptr) { /* sqlite3.c:200339:13: */ +func geopolySwab32(tls *libc.TLS, a uintptr) { /* sqlite3.c:200396:13: */ var t uint8 = *(*uint8)(unsafe.Pointer(a)) *(*uint8)(unsafe.Pointer(a)) = *(*uint8)(unsafe.Pointer(a + 3)) *(*uint8)(unsafe.Pointer(a + 3)) = t @@ -174361,7 +174411,7 @@ func geopolySwab32(tls *libc.TLS, a uintptr) { /* sqlite3.c:200339:13: */ } // Skip whitespace. Return the next non-whitespace character. -func geopolySkipSpace(tls *libc.TLS, p uintptr) int8 { /* sqlite3.c:200349:13: */ +func geopolySkipSpace(tls *libc.TLS, p uintptr) int8 { /* sqlite3.c:200406:13: */ for jsonIsSpace[*(*uint8)(unsafe.Pointer((*GeoParse)(unsafe.Pointer(p)).Fz))] != 0 { (*GeoParse)(unsafe.Pointer(p)).Fz++ } @@ -174370,7 +174420,7 @@ func geopolySkipSpace(tls *libc.TLS, p uintptr) int8 { /* sqlite3.c:200349:13: * // Parse out a number. Write the value into *pVal if pVal!=0. // return non-zero on success and zero if the next token is not a number. -func geopolyParseNumber(tls *libc.TLS, p uintptr, pVal uintptr) int32 { /* sqlite3.c:200357:12: */ +func geopolyParseNumber(tls *libc.TLS, p uintptr, pVal uintptr) int32 { /* sqlite3.c:200414:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -174442,7 +174492,7 @@ func geopolyParseNumber(tls *libc.TLS, p uintptr, pVal uintptr) int32 { /* sqlit // that object. // // If any error occurs, return NULL. -func geopolyParseJson(tls *libc.TLS, z uintptr, pRc uintptr) uintptr { /* sqlite3.c:200415:16: */ +func geopolyParseJson(tls *libc.TLS, z uintptr, pRc uintptr) uintptr { /* sqlite3.c:200472:16: */ bp := tls.Alloc(36) defer tls.Free(36) @@ -174584,7 +174634,7 @@ __16: // in the binary format or JSON text. Compute a GeoPoly object and // return a pointer to that object. Or if the input is not a well-formed // polygon, put an error message in sqlite3_context and return NULL. -func geopolyFuncParam(tls *libc.TLS, pCtx uintptr, pVal uintptr, pRc uintptr) uintptr { /* sqlite3.c:200492:16: */ +func geopolyFuncParam(tls *libc.TLS, pCtx uintptr, pVal uintptr, pRc uintptr) uintptr { /* sqlite3.c:200549:16: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -174653,7 +174703,7 @@ func geopolyFuncParam(tls *libc.TLS, pCtx uintptr, pVal uintptr, pRc uintptr) ui // If the input is a well-formed Geopoly BLOB or JSON string // then return the BLOB representation of the polygon. Otherwise // return NULL. -func geopolyBlobFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:200553:13: */ +func geopolyBlobFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:200610:13: */ var p uintptr = geopolyFuncParam(tls, context, *(*uintptr)(unsafe.Pointer(argv)), uintptr(0)) if p != 0 { Xsqlite3_result_blob(tls, context, p+4, @@ -174666,7 +174716,7 @@ func geopolyBlobFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { // // Interpret X as a polygon and render it as a JSON array // of coordinates. Or, if X is not a valid polygon, return NULL. -func geopolyJsonFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:200572:13: */ +func geopolyJsonFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:200629:13: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -174689,7 +174739,7 @@ func geopolyJsonFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { // // Interpret X as a polygon and render it as a SVG . // Additional arguments are added as attributes to the . -func geopolySvgFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:200598:13: */ +func geopolySvgFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:200655:13: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -174735,7 +174785,7 @@ func geopolySvgFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { // Rotate by R around the point (0,0): // // geopoly_xform(poly, cos(R), sin(R), -sin(R), cos(R), 0, 0) -func geopolyXformFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:200645:13: */ +func geopolyXformFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:200702:13: */ var p uintptr = geopolyFuncParam(tls, context, *(*uintptr)(unsafe.Pointer(argv)), uintptr(0)) var A float64 = Xsqlite3_value_double(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))) var B float64 = Xsqlite3_value_double(tls, *(*uintptr)(unsafe.Pointer(argv + 2*8))) @@ -174768,7 +174818,7 @@ func geopolyXformFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) // This routine can also be used to detect polygons that rotate in // the wrong direction. Polygons are suppose to be counter-clockwise (CCW). // This routine returns a negative value for clockwise (CW) polygons. -func geopolyArea(tls *libc.TLS, p uintptr) float64 { /* sqlite3.c:200681:15: */ +func geopolyArea(tls *libc.TLS, p uintptr) float64 { /* sqlite3.c:200738:15: */ var rArea float64 = 0.0 var ii int32 for ii = 0; ii < (*GeoPoly)(unsafe.Pointer(p)).FnVertex-1; ii++ { @@ -174788,7 +174838,7 @@ func geopolyArea(tls *libc.TLS, p uintptr) float64 { /* sqlite3.c:200681:15: */ // enclosed by the polygon. If the polygon circulates clockwise instead // of counterclockwise (as it should) then return the negative of the // enclosed area. Otherwise return NULL. -func geopolyAreaFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:200703:13: */ +func geopolyAreaFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:200760:13: */ var p uintptr = geopolyFuncParam(tls, context, *(*uintptr)(unsafe.Pointer(argv)), uintptr(0)) if p != 0 { Xsqlite3_result_double(tls, context, geopolyArea(tls, p)) @@ -174807,7 +174857,7 @@ func geopolyAreaFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { // // Use this routine to sanitize historical inputs that that sometimes // contain polygons that wind in the wrong direction. -func geopolyCcwFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:200728:13: */ +func geopolyCcwFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:200785:13: */ var p uintptr = geopolyFuncParam(tls, context, *(*uintptr)(unsafe.Pointer(argv)), uintptr(0)) if p != 0 { if geopolyArea(tls, p) < 0.0 { @@ -174843,7 +174893,7 @@ func geopolyCcwFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { } // Fast approximation for sine(X) for X between -0.5*pi and 2*pi -func geopolySine(tls *libc.TLS, r float64) float64 { /* sqlite3.c:200756:15: */ +func geopolySine(tls *libc.TLS, r float64) float64 { /* sqlite3.c:200813:15: */ if r >= float64(1.5)*3.1415926535897932385 { r = r - float64(2.0)*3.1415926535897932385 @@ -174863,7 +174913,7 @@ func geopolySine(tls *libc.TLS, r float64) float64 { /* sqlite3.c:200756:15: */ // // Construct a simple, convex, regular polygon centered at X, Y // with circumradius R and with N sides. -func geopolyRegularFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:200777:13: */ +func geopolyRegularFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:200834:13: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -174908,7 +174958,7 @@ func geopolyRegularFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr // // If pPoly is NULL but aCoord is not NULL, then compute a new GeoPoly from // the bounding box in aCoord and return a pointer to that GeoPoly. -func geopolyBBox(tls *libc.TLS, context uintptr, pPoly uintptr, aCoord uintptr, pRc uintptr) uintptr { /* sqlite3.c:200820:16: */ +func geopolyBBox(tls *libc.TLS, context uintptr, pPoly uintptr, aCoord uintptr, pRc uintptr) uintptr { /* sqlite3.c:200877:16: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -175049,7 +175099,7 @@ __4: } // Implementation of the geopoly_bbox(X) SQL function. -func geopolyBBoxFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:200891:13: */ +func geopolyBBoxFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:200948:13: */ var p uintptr = geopolyBBox(tls, context, *(*uintptr)(unsafe.Pointer(argv)), uintptr(0), uintptr(0)) if p != 0 { Xsqlite3_result_blob(tls, context, p+4, @@ -175062,13 +175112,13 @@ func geopolyBBoxFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { type GeoBBox1 = struct { FisInit int32 Fa [4]RtreeCoord -} /* sqlite3.c:200907:9 */ +} /* sqlite3.c:200964:9 */ // State vector for the geopoly_group_bbox() aggregate function. -type GeoBBox = GeoBBox1 /* sqlite3.c:200907:24 */ +type GeoBBox = GeoBBox1 /* sqlite3.c:200964:24 */ // Implementation of the geopoly_group_bbox(X) aggregate SQL function. -func geopolyBBoxStep(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:200917:13: */ +func geopolyBBoxStep(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:200974:13: */ bp := tls.Alloc(20) defer tls.Free(20) @@ -175102,7 +175152,7 @@ func geopolyBBoxStep(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { } } -func geopolyBBoxFinal(tls *libc.TLS, context uintptr) { /* sqlite3.c:200940:13: */ +func geopolyBBoxFinal(tls *libc.TLS, context uintptr) { /* sqlite3.c:200997:13: */ var p uintptr var pBBox uintptr pBBox = Xsqlite3_aggregate_context(tls, context, 0) @@ -175129,7 +175179,7 @@ func geopolyBBoxFinal(tls *libc.TLS, context uintptr) { /* sqlite3.c:200940:13: // // The left-most coordinate min(x1,x2) is not considered to be part of // the line segment for the purposes of this analysis. -func pointBeneathLine(tls *libc.TLS, x0 float64, y0 float64, x1 float64, y1 float64, x2 float64, y2 float64) int32 { /* sqlite3.c:200970:12: */ +func pointBeneathLine(tls *libc.TLS, x0 float64, y0 float64, x1 float64, y1 float64, x2 float64, y2 float64) int32 { /* sqlite3.c:201027:12: */ var y float64 if x0 == x1 && y0 == y1 { return 2 @@ -175170,7 +175220,7 @@ func pointBeneathLine(tls *libc.TLS, x0 float64, y0 float64, x1 float64, y1 floa // Return +2 if point X,Y is within polygon P. // Return +1 if point X,Y is on the polygon boundary. // Return 0 if point X,Y is outside the polygon -func geopolyContainsPointFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:201001:13: */ +func geopolyContainsPointFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:201058:13: */ var p1 uintptr = geopolyFuncParam(tls, context, *(*uintptr)(unsafe.Pointer(argv)), uintptr(0)) var x0 float64 = Xsqlite3_value_double(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))) var y0 float64 = Xsqlite3_value_double(tls, *(*uintptr)(unsafe.Pointer(argv + 2*8))) @@ -175208,7 +175258,7 @@ func geopolyContainsPointFunc(tls *libc.TLS, context uintptr, argc int32, argv u // Return +1 if P2 is contained within P1 // Return 0 if any part of P2 is on the outside of P1 // -func geopolyWithinFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:201044:13: */ +func geopolyWithinFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:201101:13: */ var p1 uintptr = geopolyFuncParam(tls, context, *(*uintptr)(unsafe.Pointer(argv)), uintptr(0)) var p2 uintptr = geopolyFuncParam(tls, context, *(*uintptr)(unsafe.Pointer(argv + 1*8)), uintptr(0)) if p1 != 0 && p2 != 0 { @@ -175240,10 +175290,10 @@ type GeoEvent1 = struct { F__ccgo_pad1 [4]byte FpSeg uintptr FpNext uintptr -} /* sqlite3.c:201064:9 */ +} /* sqlite3.c:201121:9 */ // Objects used by the overlap algorihm. -type GeoEvent = GeoEvent1 /* sqlite3.c:201064:25 */ +type GeoEvent = GeoEvent1 /* sqlite3.c:201121:25 */ type GeoSegment1 = struct { FC float64 FB float64 @@ -175254,20 +175304,20 @@ type GeoSegment1 = struct { Fidx uint32 F__ccgo_pad2 [4]byte FpNext uintptr -} /* sqlite3.c:201064:9 */ +} /* sqlite3.c:201121:9 */ -type GeoSegment = GeoSegment1 /* sqlite3.c:201065:27 */ +type GeoSegment = GeoSegment1 /* sqlite3.c:201122:27 */ type GeoOverlap1 = struct { FaEvent uintptr FaSegment uintptr FnEvent int32 FnSegment int32 -} /* sqlite3.c:201066:9 */ +} /* sqlite3.c:201123:9 */ -type GeoOverlap = GeoOverlap1 /* sqlite3.c:201066:27 */ +type GeoOverlap = GeoOverlap1 /* sqlite3.c:201123:27 */ // Add a single segment and its associated events. -func geopolyAddOneSegment(tls *libc.TLS, p uintptr, x0 GeoCoord, y0 GeoCoord, x1 GeoCoord, y1 GeoCoord, side uint8, idx uint32) { /* sqlite3.c:201091:13: */ +func geopolyAddOneSegment(tls *libc.TLS, p uintptr, x0 GeoCoord, y0 GeoCoord, x1 GeoCoord, y1 GeoCoord, side uint8, idx uint32) { /* sqlite3.c:201148:13: */ var pSeg uintptr var pEvent uintptr if x0 == x1 { @@ -175301,7 +175351,7 @@ func geopolyAddOneSegment(tls *libc.TLS, p uintptr, x0 GeoCoord, y0 GeoCoord, x1 } // Insert all segments and events for polygon pPoly. -func geopolyAddSegments(tls *libc.TLS, p uintptr, pPoly uintptr, side uint8) { /* sqlite3.c:201135:13: */ +func geopolyAddSegments(tls *libc.TLS, p uintptr, pPoly uintptr, side uint8) { /* sqlite3.c:201192:13: */ var i uint32 var x uintptr for i = uint32(0); i < uint32((*GeoPoly)(unsafe.Pointer(pPoly)).FnVertex)-uint32(1); i++ { @@ -175313,7 +175363,7 @@ func geopolyAddSegments(tls *libc.TLS, p uintptr, pPoly uintptr, side uint8) { / } // Merge two lists of sorted events by X coordinate -func geopolyEventMerge(tls *libc.TLS, pLeft uintptr, pRight uintptr) uintptr { /* sqlite3.c:201153:17: */ +func geopolyEventMerge(tls *libc.TLS, pLeft uintptr, pRight uintptr) uintptr { /* sqlite3.c:201210:17: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -175343,7 +175393,7 @@ func geopolyEventMerge(tls *libc.TLS, pLeft uintptr, pRight uintptr) uintptr { / } // Sort an array of nEvent event objects into a list. -func geopolySortEventsByX(tls *libc.TLS, aEvent uintptr, nEvent int32) uintptr { /* sqlite3.c:201175:17: */ +func geopolySortEventsByX(tls *libc.TLS, aEvent uintptr, nEvent int32) uintptr { /* sqlite3.c:201232:17: */ bp := tls.Alloc(400) defer tls.Free(400) @@ -175373,7 +175423,7 @@ func geopolySortEventsByX(tls *libc.TLS, aEvent uintptr, nEvent int32) uintptr { } // Merge two lists of sorted segments by Y, and then by C. -func geopolySegmentMerge(tls *libc.TLS, pLeft uintptr, pRight uintptr) uintptr { /* sqlite3.c:201200:19: */ +func geopolySegmentMerge(tls *libc.TLS, pLeft uintptr, pRight uintptr) uintptr { /* sqlite3.c:201257:19: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -175408,7 +175458,7 @@ func geopolySegmentMerge(tls *libc.TLS, pLeft uintptr, pRight uintptr) uintptr { // Sort a list of GeoSegments in order of increasing Y and in the event of // a tie, increasing C (slope). -func geopolySortSegmentsByYAndC(tls *libc.TLS, pList uintptr) uintptr { /* sqlite3.c:201225:19: */ +func geopolySortSegmentsByYAndC(tls *libc.TLS, pList uintptr) uintptr { /* sqlite3.c:201282:19: */ bp := tls.Alloc(400) defer tls.Free(400) @@ -175438,7 +175488,7 @@ func geopolySortSegmentsByYAndC(tls *libc.TLS, pList uintptr) uintptr { /* sqlit } // Determine the overlap between two polygons -func geopolyOverlap(tls *libc.TLS, p1 uintptr, p2 uintptr) int32 { /* sqlite3.c:201251:12: */ +func geopolyOverlap(tls *libc.TLS, p1 uintptr, p2 uintptr) int32 { /* sqlite3.c:201308:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -175674,7 +175724,7 @@ geopolyOverlapDone: // 3 P2 is completely contained within P1 // 4 P1 and P2 are the same polygon // NULL Either P1 or P2 or both are not valid polygons -func geopolyOverlapFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:201374:13: */ +func geopolyOverlapFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:201431:13: */ var p1 uintptr = geopolyFuncParam(tls, context, *(*uintptr)(unsafe.Pointer(argv)), uintptr(0)) var p2 uintptr = geopolyFuncParam(tls, context, *(*uintptr)(unsafe.Pointer(argv + 1*8)), uintptr(0)) if p1 != 0 && p2 != 0 { @@ -175690,7 +175740,7 @@ func geopolyOverlapFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr } // Enable or disable debugging output -func geopolyDebugFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:201396:13: */ +func geopolyDebugFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:201453:13: */ } // This function is the implementation of both the xConnect and xCreate @@ -175700,7 +175750,7 @@ func geopolyDebugFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) // argv[1] -> database name // argv[2] -> table name // argv[...] -> column names... -func geopolyInit(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr, isCreate int32) int32 { /* sqlite3.c:201415:12: */ +func geopolyInit(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr, isCreate int32) int32 { /* sqlite3.c:201472:12: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -175815,12 +175865,12 @@ __11: } // GEOPOLY virtual table module xCreate method. -func geopolyCreate(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 { /* sqlite3.c:201499:12: */ +func geopolyCreate(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 { /* sqlite3.c:201556:12: */ return geopolyInit(tls, db, pAux, argc, argv, ppVtab, pzErr, 1) } // GEOPOLY virtual table module xConnect method. -func geopolyConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 { /* sqlite3.c:201512:12: */ +func geopolyConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 { /* sqlite3.c:201569:12: */ return geopolyInit(tls, db, pAux, argc, argv, ppVtab, pzErr, 0) } @@ -175834,7 +175884,7 @@ func geopolyConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv ui // 3 search for objects overlapping the same bounding box // that contains polygon argv[0] // 4 full table scan -func geopolyFilter(tls *libc.TLS, pVtabCursor uintptr, idxNum int32, idxStr uintptr, argc int32, argv uintptr) int32 { /* sqlite3.c:201535:12: */ +func geopolyFilter(tls *libc.TLS, pVtabCursor uintptr, idxNum int32, idxStr uintptr, argc int32, argv uintptr) int32 { /* sqlite3.c:201592:12: */ bp := tls.Alloc(52) defer tls.Free(52) @@ -176001,7 +176051,7 @@ geopoly_filter_end: // 3 "rtree" R-tree within query using geopoly_within() // 4 "fullscan" full-table scan. // ------------------------------------------------ -func geopolyBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 { /* sqlite3.c:201667:12: */ +func geopolyBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 { /* sqlite3.c:201724:12: */ var ii int32 var iRowidTerm int32 = -1 var iFuncTerm int32 = -1 @@ -176052,7 +176102,7 @@ func geopolyBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 { /* s } // GEOPOLY virtual table module xColumn method. -func geopolyColumn(tls *libc.TLS, cur uintptr, ctx uintptr, i int32) int32 { /* sqlite3.c:201719:12: */ +func geopolyColumn(tls *libc.TLS, cur uintptr, ctx uintptr, i int32) int32 { /* sqlite3.c:201776:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -176117,7 +176167,7 @@ func geopolyColumn(tls *libc.TLS, cur uintptr, ctx uintptr, i int32) int32 { /* // argv[1] = rowid after the change. Never NULL // argv[2] = new value for _shape // argv[3] = new value for first application-defined column.... -func geopolyUpdate(tls *libc.TLS, pVtab uintptr, nData int32, aData uintptr, pRowid uintptr) int32 { /* sqlite3.c:201774:12: */ +func geopolyUpdate(tls *libc.TLS, pVtab uintptr, nData int32, aData uintptr, pRowid uintptr) int32 { /* sqlite3.c:201831:12: */ bp := tls.Alloc(64) defer tls.Free(64) @@ -176328,7 +176378,7 @@ 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) int32 { /* sqlite3.c:201911:12: */ +func geopolyFindFunction(tls *libc.TLS, pVtab uintptr, nArg int32, zName uintptr, pxFunc uintptr, ppArg uintptr) int32 { /* sqlite3.c:201968:12: */ if Xsqlite3_stricmp(tls, zName, ts+27894) == 0 { *(*uintptr)(unsafe.Pointer(pxFunc)) = *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) @@ -176369,9 +176419,9 @@ var geopolyModule = Sqlite3_module{ FxRename: 0, // xRename - rename the table FxSavepoint: 0, // xRollbackTo FxShadowName: 0, // xShadowName -} /* sqlite3.c:201932:23 */ +} /* sqlite3.c:201989:23 */ -func sqlite3_geopoly_init(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:201959:12: */ +func sqlite3_geopoly_init(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:202016:12: */ var rc int32 = SQLITE_OK var i int32 for i = 0; uint64(i) < uint64(unsafe.Sizeof(aFunc))/uint64(unsafe.Sizeof(struct { @@ -176425,14 +176475,14 @@ var aFunc = [12]struct { {FxFunc: 0, FnArg: int8(7), FbPure: uint8(1), FzName: ts + 28034 /* "geopoly_xform" */}, {FxFunc: 0, FnArg: int8(4), FbPure: uint8(1), FzName: ts + 28048 /* "geopoly_regular" */}, {FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 28064 /* "geopoly_ccw" */}, -} /* sqlite3.c:201966:5 */ +} /* sqlite3.c:202023:5 */ var aAgg = [1]struct { FxStep uintptr FxFinal uintptr FzName uintptr }{ {FxStep: 0, FxFinal: 0, FzName: ts + 28076 /* "geopoly_group_bb..." */}, -} /* sqlite3.c:201984:5 */ +} /* sqlite3.c:202041:5 */ //************* End of geopoly.c ******************************************** //************* Continuing where we left off in rtree.c ********************* @@ -176440,7 +176490,7 @@ var aAgg = [1]struct { // Register the r-tree module with database handle db. This creates the // virtual table module "rtree" and the debugging/analysis scalar // function "rtreenode". -func Xsqlite3RtreeInit(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:202019:20: */ +func Xsqlite3RtreeInit(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:202076:20: */ var utf8 int32 = SQLITE_UTF8 var rc int32 @@ -176477,7 +176527,7 @@ func Xsqlite3RtreeInit(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:202019:20 // or sqlite3_rtree_query_callback(). In other words, this routine is the // destructor for an RtreeGeomCallback objecct. This routine is called when // the corresponding SQL function is deleted. -func rtreeFreeCallback(tls *libc.TLS, p uintptr) { /* sqlite3.c:202058:13: */ +func rtreeFreeCallback(tls *libc.TLS, p uintptr) { /* sqlite3.c:202115:13: */ var pInfo uintptr = p if (*RtreeGeomCallback)(unsafe.Pointer(pInfo)).FxDestructor != 0 { (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*RtreeGeomCallback)(unsafe.Pointer(pInfo)).FxDestructor})).f(tls, (*RtreeGeomCallback)(unsafe.Pointer(pInfo)).FpContext) @@ -176486,7 +176536,7 @@ func rtreeFreeCallback(tls *libc.TLS, p uintptr) { /* sqlite3.c:202058:13: */ } // This routine frees the BLOB that is returned by geomCallback(). -func rtreeMatchArgFree(tls *libc.TLS, pArg uintptr) { /* sqlite3.c:202067:13: */ +func rtreeMatchArgFree(tls *libc.TLS, pArg uintptr) { /* sqlite3.c:202124:13: */ var i int32 var p uintptr = pArg for i = 0; i < (*RtreeMatchArg)(unsafe.Pointer(p)).FnParam; i++ { @@ -176507,7 +176557,7 @@ func rtreeMatchArgFree(tls *libc.TLS, pArg uintptr) { /* sqlite3.c:202067:13: */ // The R-Tree MATCH operator will read the returned BLOB, deserialize // the RtreeMatchArg object, and use the RtreeMatchArg object to figure // out which elements of the R-Tree should be returned by the query. -func geomCallback(tls *libc.TLS, ctx uintptr, nArg int32, aArg uintptr) { /* sqlite3.c:202090:13: */ +func geomCallback(tls *libc.TLS, ctx uintptr, nArg int32, aArg uintptr) { /* sqlite3.c:202147:13: */ var pGeomCtx uintptr = Xsqlite3_user_data(tls, ctx) var pBlob uintptr var nBlob Sqlite3_int64 @@ -176541,7 +176591,7 @@ func geomCallback(tls *libc.TLS, ctx uintptr, nArg int32, aArg uintptr) { /* sql } // 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) int32 { /* sqlite3.c:202128:16: */ +func Xsqlite3_rtree_geometry_callback(tls *libc.TLS, db uintptr, zGeom uintptr, xGeom uintptr, pContext uintptr) int32 { /* sqlite3.c:202185:16: */ var pGeomCtx uintptr // Context object for new user-function // Allocate and populate the context object. @@ -176561,7 +176611,7 @@ func Xsqlite3_rtree_geometry_callback(tls *libc.TLS, db uintptr, zGeom uintptr, // 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) int32 { /* sqlite3.c:202152:16: */ +func Xsqlite3_rtree_query_callback(tls *libc.TLS, db uintptr, zQueryFunc uintptr, xQueryFunc uintptr, pContext uintptr, xDestructor uintptr) int32 { /* sqlite3.c:202209:16: */ var pGeomCtx uintptr // Context object for new user-function // Allocate and populate the context object. @@ -177017,7 +177067,7 @@ type sqlite3rbu = struct { FnRbu int32 F__ccgo_pad6 [4]byte FpRbuFd uintptr -} /* sqlite3.c:203382:9 */ +} /* sqlite3.c:203439:9 */ //************* End of rtree.c ********************************************** //************* Begin file icu.c ******************************************** @@ -177418,7 +177468,7 @@ type sqlite3rbu = struct { // #include "sqlite3.h" ** Required for error code definitions ** -type Sqlite3rbu = sqlite3rbu /* sqlite3.c:203382:27 */ +type Sqlite3rbu = sqlite3rbu /* sqlite3.c:203439:27 */ //************* End of sqlite3rbu.h ***************************************** //************* Continuing where we left off in sqlite3rbu.c **************** @@ -177483,7 +177533,7 @@ type Sqlite3rbu = sqlite3rbu /* sqlite3.c:203382:27 */ type RbuFrame1 = struct { FiDbPage U32 FiWalFrame U32 -} /* sqlite3.c:203382:9 */ +} /* sqlite3.c:203439:9 */ //************* End of sqlite3rbu.h ***************************************** //************* Continuing where we left off in sqlite3rbu.c **************** @@ -177545,7 +177595,7 @@ type RbuFrame1 = struct { // Only valid if STAGE==1. The RBU database name of the table // currently being read. -type RbuFrame = RbuFrame1 /* sqlite3.c:203813:25 */ +type RbuFrame = RbuFrame1 /* sqlite3.c:203870:25 */ type RbuObjIter1 = struct { FpTblIter uintptr FpIdxIter uintptr @@ -177577,9 +177627,9 @@ type RbuObjIter1 = struct { FaIdxCol uintptr FzIdxSql uintptr FpRbuUpdate uintptr -} /* sqlite3.c:203382:9 */ +} /* sqlite3.c:203439:9 */ -type RbuObjIter = RbuObjIter1 /* sqlite3.c:203814:27 */ +type RbuObjIter = RbuObjIter1 /* sqlite3.c:203871:27 */ type RbuState1 = struct { FeStage int32 F__ccgo_pad1 [4]byte @@ -177594,16 +177644,16 @@ type RbuState1 = struct { F__ccgo_pad3 [4]byte FiOalSz I64 FnPhaseOneStep I64 -} /* sqlite3.c:203815:9 */ +} /* sqlite3.c:203872:9 */ -type RbuState = RbuState1 /* sqlite3.c:203815:25 */ +type RbuState = RbuState1 /* sqlite3.c:203872:25 */ type RbuSpan1 = struct { FzSpan uintptr FnSpan int32 F__ccgo_pad1 [4]byte -} /* sqlite3.c:203382:9 */ +} /* sqlite3.c:203439:9 */ -type RbuSpan = RbuSpan1 /* sqlite3.c:203816:24 */ +type RbuSpan = RbuSpan1 /* sqlite3.c:203873:24 */ type rbu_vfs = struct { Fbase Sqlite3_vfs FpRealVfs uintptr @@ -177611,9 +177661,9 @@ type rbu_vfs = struct { FpRbu uintptr FpMain uintptr FpMainRbu uintptr -} /* sqlite3.c:203382:9 */ +} /* sqlite3.c:203439:9 */ -type Rbu_vfs = rbu_vfs /* sqlite3.c:203817:24 */ +type Rbu_vfs = rbu_vfs /* sqlite3.c:203874:24 */ type rbu_file = struct { Fbase Sqlite3_file FpReal uintptr @@ -177632,16 +177682,16 @@ type rbu_file = struct { FpWalFd uintptr FpMainNext uintptr FpMainRbuNext uintptr -} /* sqlite3.c:203382:9 */ +} /* sqlite3.c:203439:9 */ -type Rbu_file = rbu_file /* sqlite3.c:203818:25 */ +type Rbu_file = rbu_file /* sqlite3.c:203875:25 */ type RbuUpdateStmt1 = struct { FzMask uintptr FpUpdate uintptr FpNext uintptr -} /* sqlite3.c:203382:9 */ +} /* sqlite3.c:203439:9 */ -type RbuUpdateStmt = RbuUpdateStmt1 /* sqlite3.c:203819:30 */ +type RbuUpdateStmt = RbuUpdateStmt1 /* sqlite3.c:203876:30 */ // True for an RBU vacuum handle, or false otherwise. @@ -177660,7 +177710,7 @@ type RbuUpdateStmt = RbuUpdateStmt1 /* sqlite3.c:203819:30 */ // finished, leave *pz pointing to the first character past the end of // the integer. The *pLen parameter holds the length of the string // in *pz and is decremented once for each character in the integer. -func rbuDeltaGetInt(tls *libc.TLS, pz uintptr, pLen uintptr) uint32 { /* sqlite3.c:204109:21: */ +func rbuDeltaGetInt(tls *libc.TLS, pz uintptr, pLen uintptr) uint32 { /* sqlite3.c:204166:21: */ var v uint32 = uint32(0) var c int32 var z uintptr = *(*uintptr)(unsafe.Pointer(pz)) @@ -177683,7 +177733,7 @@ var zValue = [128]int8{ int8(25), int8(26), int8(27), int8(28), int8(29), int8(30), int8(31), int8(32), int8(33), int8(34), int8(35), int8(-1), int8(-1), int8(-1), int8(-1), int8(36), int8(-1), int8(37), int8(38), int8(39), int8(40), int8(41), int8(42), int8(43), int8(44), int8(45), int8(46), int8(47), int8(48), int8(49), int8(50), int8(51), int8(52), int8(53), int8(54), int8(55), int8(56), int8(57), int8(58), int8(59), int8(60), int8(61), int8(62), int8(-1), int8(-1), int8(-1), int8(63), int8(-1), -} /* sqlite3.c:204110:28 */ +} /* sqlite3.c:204167:28 */ // Apply a delta. // @@ -177703,7 +177753,7 @@ var zValue = [128]int8{ // // Refer to the delta_create() documentation above for a description // of the delta file format. -func rbuDeltaApply(tls *libc.TLS, zSrc uintptr, lenSrc int32, zDelta uintptr, lenDelta int32, zOut uintptr) int32 { /* sqlite3.c:204190:12: */ +func rbuDeltaApply(tls *libc.TLS, zSrc uintptr, lenSrc int32, zDelta uintptr, lenDelta int32, zOut uintptr) int32 { /* sqlite3.c:204247:12: */ bp := tls.Alloc(12) defer tls.Free(12) *(*uintptr)(unsafe.Pointer(bp)) = zDelta @@ -177793,7 +177843,7 @@ func rbuDeltaApply(tls *libc.TLS, zSrc uintptr, lenSrc int32, zDelta uintptr, le return -1 } -func rbuDeltaOutputSize(tls *libc.TLS, zDelta uintptr, lenDelta int32) int32 { /* sqlite3.c:204276:12: */ +func rbuDeltaOutputSize(tls *libc.TLS, zDelta uintptr, lenDelta int32) int32 { /* sqlite3.c:204333:12: */ bp := tls.Alloc(12) defer tls.Free(12) *(*uintptr)(unsafe.Pointer(bp)) = zDelta @@ -177818,7 +177868,7 @@ func rbuDeltaOutputSize(tls *libc.TLS, zDelta uintptr, lenDelta int32) int32 { / // arguments must be passed to this function. The first is the blob to // patch and the second the patch to apply. If no error occurs, this // function returns the patched blob. -func rbuFossilDeltaFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:204298:13: */ +func rbuFossilDeltaFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:204355:13: */ var aDelta uintptr var nDelta int32 var aOrig uintptr @@ -177861,7 +177911,7 @@ func rbuFossilDeltaFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr // an SQLite error code. Additionally, set output variable *pzErrmsg to // point to a buffer containing an error message. It is the responsibility // of the caller to (eventually) free this buffer using sqlite3_free(). -func prepareAndCollectError(tls *libc.TLS, db uintptr, ppStmt uintptr, pzErrmsg uintptr, zSql uintptr) int32 { /* sqlite3.c:204351:12: */ +func prepareAndCollectError(tls *libc.TLS, db uintptr, ppStmt uintptr, pzErrmsg uintptr, zSql uintptr) int32 { /* sqlite3.c:204408:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -177879,7 +177929,7 @@ func prepareAndCollectError(tls *libc.TLS, db uintptr, ppStmt uintptr, pzErrmsg // If an error has occurred, then set *pzErrmsg to point to a buffer // containing an error message. It is the responsibility of the caller // to eventually free this buffer using sqlite3_free(). -func resetAndCollectError(tls *libc.TLS, pStmt uintptr, pzErrmsg uintptr) int32 { /* sqlite3.c:204373:12: */ +func resetAndCollectError(tls *libc.TLS, pStmt uintptr, pzErrmsg uintptr) int32 { /* sqlite3.c:204430:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -177903,7 +177953,7 @@ func resetAndCollectError(tls *libc.TLS, pStmt uintptr, pzErrmsg uintptr) int32 // // If argument zSql is NULL, this function assumes that an OOM has occurred. // In this case SQLITE_NOMEM is returned and *ppStmt set to NULL. -func prepareFreeAndCollectError(tls *libc.TLS, db uintptr, ppStmt uintptr, pzErrmsg uintptr, zSql uintptr) int32 { /* sqlite3.c:204396:12: */ +func prepareFreeAndCollectError(tls *libc.TLS, db uintptr, ppStmt uintptr, pzErrmsg uintptr, zSql uintptr) int32 { /* sqlite3.c:204453:12: */ var rc int32 if zSql == uintptr(0) { @@ -177918,7 +177968,7 @@ func prepareFreeAndCollectError(tls *libc.TLS, db uintptr, ppStmt uintptr, pzErr // Free the RbuObjIter.azTblCol[] and RbuObjIter.abTblPk[] arrays allocated // by an earlier call to rbuObjIterCacheTableInfo(). -func rbuObjIterFreeCols(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:204418:13: */ +func rbuObjIterFreeCols(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:204475:13: */ var i int32 for i = 0; i < (*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol; i++ { Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8))) @@ -177936,7 +177986,7 @@ func rbuObjIterFreeCols(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:204418:13: // Finalize all statements and free all allocations that are specific to // the current object (table/index pair). -func rbuObjIterClearStatements(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:204438:13: */ +func rbuObjIterClearStatements(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:204495:13: */ var pUp uintptr Xsqlite3_finalize(tls, (*RbuObjIter)(unsafe.Pointer(pIter)).FpSelect) @@ -177966,7 +178016,7 @@ func rbuObjIterClearStatements(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:2044 // Clean up any resources allocated as part of the iterator object passed // as the only argument. -func rbuObjIterFinalize(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:204470:13: */ +func rbuObjIterFinalize(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:204527:13: */ rbuObjIterClearStatements(tls, pIter) Xsqlite3_finalize(tls, (*RbuObjIter)(unsafe.Pointer(pIter)).FpTblIter) Xsqlite3_finalize(tls, (*RbuObjIter)(unsafe.Pointer(pIter)).FpIdxIter) @@ -177980,7 +178030,7 @@ func rbuObjIterFinalize(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:204470:13: // pointing to the next entry. Otherwise, an error code and message is // left in the RBU handle passed as the first argument. A copy of the // error code is returned. -func rbuObjIterNext(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlite3.c:204486:12: */ +func rbuObjIterNext(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlite3.c:204543:12: */ var rc int32 = (*Sqlite3rbu)(unsafe.Pointer(p)).Frc if rc == SQLITE_OK { @@ -178061,7 +178111,7 @@ func rbuObjIterNext(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlite3. // // For an rbu vacuum handle, a copy of the first argument is returned if // the second argument is either missing or 0 (not a view). -func rbuTargetNameFunc(tls *libc.TLS, pCtx uintptr, argc int32, argv uintptr) { /* sqlite3.c:204566:13: */ +func rbuTargetNameFunc(tls *libc.TLS, pCtx uintptr, argc int32, argv uintptr) { /* sqlite3.c:204623:13: */ var p uintptr = Xsqlite3_user_data(tls, pCtx) var zIn uintptr @@ -178091,7 +178141,7 @@ func rbuTargetNameFunc(tls *libc.TLS, pCtx uintptr, argc int32, argv uintptr) { // pointing to the first entry. Otherwise, an error code and message is // left in the RBU handle passed as the first argument. A copy of the // error code is returned. -func rbuObjIterFirst(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlite3.c:204602:12: */ +func rbuObjIterFirst(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlite3.c:204659:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -178126,7 +178176,7 @@ func rbuObjIterFirst(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlite3 // than SQLITE_OK), then this function returns NULL without modifying the // stored error code. In this case it still calls sqlite3_free() on any // printf() parameters associated with %z conversions. -func rbuMPrintf(tls *libc.TLS, p uintptr, zFmt uintptr, va uintptr) uintptr { /* sqlite3.c:204637:13: */ +func rbuMPrintf(tls *libc.TLS, p uintptr, zFmt uintptr, va uintptr) uintptr { /* sqlite3.c:204694:13: */ var zSql uintptr = uintptr(0) var ap Va_list _ = ap @@ -178152,7 +178202,7 @@ func rbuMPrintf(tls *libc.TLS, p uintptr, zFmt uintptr, va uintptr) uintptr { /* // If an error occurs, an error code and error message is stored in the // RBU handle. If an error has already occurred when this function is // called, it is a no-op. -func rbuMPrintfExec(tls *libc.TLS, p uintptr, db uintptr, zFmt uintptr, va uintptr) int32 { /* sqlite3.c:204662:12: */ +func rbuMPrintfExec(tls *libc.TLS, p uintptr, db uintptr, zFmt uintptr, va uintptr) int32 { /* sqlite3.c:204719:12: */ var ap Va_list _ = ap var zSql uintptr @@ -178178,7 +178228,7 @@ func rbuMPrintfExec(tls *libc.TLS, p uintptr, db uintptr, zFmt uintptr, va uintp // error has already occurred when this function is called, return NULL // immediately without attempting the allocation or modifying the stored // error code. -func rbuMalloc(tls *libc.TLS, p uintptr, nByte Sqlite3_int64) uintptr { /* sqlite3.c:204689:13: */ +func rbuMalloc(tls *libc.TLS, p uintptr, nByte Sqlite3_int64) uintptr { /* sqlite3.c:204746:13: */ var pRet uintptr = uintptr(0) if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { @@ -178195,7 +178245,7 @@ func rbuMalloc(tls *libc.TLS, p uintptr, nByte Sqlite3_int64) uintptr { /* sqlit // Allocate and zero the pIter->azTblCol[] and abTblPk[] arrays so that // there is room for at least nCol elements. If an OOM occurs, store an // error code in the RBU handle passed as the first argument. -func rbuAllocateIterArrays(tls *libc.TLS, p uintptr, pIter uintptr, nCol int32) { /* sqlite3.c:204709:13: */ +func rbuAllocateIterArrays(tls *libc.TLS, p uintptr, pIter uintptr, nCol int32) { /* sqlite3.c:204766:13: */ var nByte Sqlite3_int64 = Sqlite3_int64((uint64(2)*uint64(unsafe.Sizeof(uintptr(0))) + uint64(unsafe.Sizeof(int32(0))) + uint64(3)*uint64(unsafe.Sizeof(U8(0)))) * uint64(nCol)) var azNew uintptr @@ -178218,7 +178268,7 @@ func rbuAllocateIterArrays(tls *libc.TLS, p uintptr, pIter uintptr, nCol int32) // If an OOM condition is encountered when attempting to allocate memory, // output variable (*pRc) is set to SQLITE_NOMEM before returning. Otherwise, // if the allocation succeeds, (*pRc) is left unchanged. -func rbuStrndup(tls *libc.TLS, zStr uintptr, pRc uintptr) uintptr { /* sqlite3.c:204734:13: */ +func rbuStrndup(tls *libc.TLS, zStr uintptr, pRc uintptr) uintptr { /* sqlite3.c:204791:13: */ var zRet uintptr = uintptr(0) if *(*int32)(unsafe.Pointer(pRc)) == SQLITE_OK { @@ -178241,7 +178291,7 @@ func rbuStrndup(tls *libc.TLS, zStr uintptr, pRc uintptr) uintptr { /* sqlite3.c // If the sqlite3_finalize() call indicates that an error occurs, and the // rbu handle error code is not already set, set the error code and error // message accordingly. -func rbuFinalize(tls *libc.TLS, p uintptr, pStmt uintptr) { /* sqlite3.c:204759:13: */ +func rbuFinalize(tls *libc.TLS, p uintptr, pStmt uintptr) { /* sqlite3.c:204816:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -178291,7 +178341,7 @@ func rbuFinalize(tls *libc.TLS, p uintptr, pStmt uintptr) { /* sqlite3.c:204759: // }else{ // return RBU_PK_NONE // } -func rbuTableType(tls *libc.TLS, p uintptr, zTab uintptr, peType uintptr, piTnum uintptr, piPk uintptr) { /* sqlite3.c:204807:13: */ +func rbuTableType(tls *libc.TLS, p uintptr, zTab uintptr, peType uintptr, piTnum uintptr, piPk uintptr) { /* sqlite3.c:204864:13: */ bp := tls.Alloc(64) defer tls.Free(64) @@ -178412,7 +178462,7 @@ __16: // This is a helper function for rbuObjIterCacheTableInfo(). It populates // the pIter->abIndexed[] array. -func rbuObjIterCacheIndexedCols(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:204893:13: */ +func rbuObjIterCacheIndexedCols(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:204950:13: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -178470,7 +178520,7 @@ func rbuObjIterCacheIndexedCols(tls *libc.TLS, p uintptr, pIter uintptr) { /* sq // Return SQLITE_OK if successful, or an SQLite error code otherwise. If // an error does occur, an error code and error message are also left in // the RBU handle. -func rbuObjIterCacheTableInfo(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlite3.c:204947:12: */ +func rbuObjIterCacheTableInfo(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlite3.c:205004:12: */ bp := tls.Alloc(72) defer tls.Free(72) @@ -178592,7 +178642,7 @@ func rbuObjIterCacheTableInfo(tls *libc.TLS, p uintptr, pIter uintptr) int32 { / // This function constructs and returns a pointer to a nul-terminated // string containing some SQL clause or list based on one or more of the // column names currently stored in the pIter->azTblCol[] array. -func rbuObjIterGetCollist(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { /* sqlite3.c:205057:13: */ +func rbuObjIterGetCollist(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { /* sqlite3.c:205114:13: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -178611,7 +178661,7 @@ func rbuObjIterGetCollist(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { /* // in order, for the current table. Before each column name, add the text // zPre. After each column name, add the zPost text. Use zSeparator as // the separator text (usually ", "). -func rbuObjIterGetPkList(tls *libc.TLS, p uintptr, pIter uintptr, zPre uintptr, zSeparator uintptr, zPost uintptr) uintptr { /* sqlite3.c:205078:13: */ +func rbuObjIterGetPkList(tls *libc.TLS, p uintptr, pIter uintptr, zPre uintptr, zSeparator uintptr, zPost uintptr) uintptr { /* sqlite3.c:205135:13: */ bp := tls.Alloc(40) defer tls.Free(40) @@ -178653,7 +178703,7 @@ func rbuObjIterGetPkList(tls *libc.TLS, p uintptr, pIter uintptr, zPre uintptr, // // Instead of "?" placeholders, the actual WHERE clauses created by // this function contain literal SQL values. -func rbuVacuumTableStart(tls *libc.TLS, p uintptr, pIter uintptr, bRowid int32, zWrite uintptr) uintptr { /* sqlite3.c:205123:13: */ +func rbuVacuumTableStart(tls *libc.TLS, p uintptr, pIter uintptr, bRowid int32, zWrite uintptr) uintptr { /* sqlite3.c:205180:13: */ bp := tls.Alloc(80) defer tls.Free(80) @@ -178712,7 +178762,7 @@ func rbuVacuumTableStart(tls *libc.TLS, p uintptr, pIter uintptr, bRowid int32, // If the expression cannot be created, NULL is returned. In this case, // the caller has to use an OFFSET clause to extract only the required // rows from the sourct table, just as it does for an RBU update operation. -func rbuVacuumIndexStart(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { /* sqlite3.c:205190:13: */ +func rbuVacuumIndexStart(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { /* sqlite3.c:205247:13: */ bp := tls.Alloc(192) defer tls.Free(192) @@ -178893,7 +178943,7 @@ index_start_out: // pzImposterCols: ... // pzImposterPk: ... // pzWhere: ... -func rbuObjIterGetIndexCols(tls *libc.TLS, p uintptr, pIter uintptr, pzImposterCols uintptr, pzImposterPk uintptr, pzWhere uintptr, pnBind uintptr) uintptr { /* sqlite3.c:205305:13: */ +func rbuObjIterGetIndexCols(tls *libc.TLS, p uintptr, pIter uintptr, pzImposterCols uintptr, pzImposterPk uintptr, pzWhere uintptr, pnBind uintptr) uintptr { /* sqlite3.c:205362:13: */ bp := tls.Alloc(208) defer tls.Free(208) @@ -179004,7 +179054,7 @@ func rbuObjIterGetIndexCols(tls *libc.TLS, p uintptr, pIter uintptr, pzImposterC // // For tables with implicit rowids - RBU_PK_EXTERNAL and RBU_PK_NONE, append // the text ", old._rowid_" to the returned value. -func rbuObjIterGetOldlist(tls *libc.TLS, p uintptr, pIter uintptr, zObj uintptr) uintptr { /* sqlite3.c:205417:13: */ +func rbuObjIterGetOldlist(tls *libc.TLS, p uintptr, pIter uintptr, zObj uintptr) uintptr { /* sqlite3.c:205474:13: */ bp := tls.Alloc(64) defer tls.Free(64) @@ -179042,7 +179092,7 @@ func rbuObjIterGetOldlist(tls *libc.TLS, p uintptr, pIter uintptr, zObj uintptr) // Return the string: // // "b = ?1 AND c = ?2" -func rbuObjIterGetWhere(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { /* sqlite3.c:205458:13: */ +func rbuObjIterGetWhere(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { /* sqlite3.c:205515:13: */ bp := tls.Alloc(80) defer tls.Free(80) @@ -179080,7 +179130,7 @@ func rbuObjIterGetWhere(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { /* sq // is something wrong with the rbu_control value in the rbu_control value // stored in the (p->nCol+1)'th column. Set the error code and error message // of the RBU handle to something reflecting this. -func rbuBadControlError(tls *libc.TLS, p uintptr) { /* sqlite3.c:205499:13: */ +func rbuBadControlError(tls *libc.TLS, p uintptr) { /* sqlite3.c:205556:13: */ (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_ERROR (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+29612, 0) } @@ -179100,7 +179150,7 @@ func rbuBadControlError(tls *libc.TLS, p uintptr) { /* sqlite3.c:205499:13: */ // argument and NULL is returned. Or, if an error has already occurred // when this function is called, NULL is returned immediately, without // attempting the allocation or modifying the stored error code. -func rbuObjIterGetSetlist(tls *libc.TLS, p uintptr, pIter uintptr, zMask uintptr) uintptr { /* sqlite3.c:205522:13: */ +func rbuObjIterGetSetlist(tls *libc.TLS, p uintptr, pIter uintptr, zMask uintptr) uintptr { /* sqlite3.c:205579:13: */ bp := tls.Alloc(112) defer tls.Free(112) @@ -179146,7 +179196,7 @@ func rbuObjIterGetSetlist(tls *libc.TLS, p uintptr, pIter uintptr, zMask uintptr // argument and NULL is returned. Or, if an error has already occurred // when this function is called, NULL is returned immediately, without // attempting the allocation or modifying the stored error code. -func rbuObjIterGetBindlist(tls *libc.TLS, p uintptr, nBind int32) uintptr { /* sqlite3.c:205576:13: */ +func rbuObjIterGetBindlist(tls *libc.TLS, p uintptr, nBind int32) uintptr { /* sqlite3.c:205633:13: */ var zRet uintptr = uintptr(0) var nByte Sqlite3_int64 = int64(2)*Sqlite3_int64(nBind) + int64(1) @@ -179176,7 +179226,7 @@ func rbuObjIterGetBindlist(tls *libc.TLS, p uintptr, nBind int32) uintptr { /* s // this function returns: // // PRIMARY KEY("b", "a" DESC) -func rbuWithoutRowidPK(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { /* sqlite3.c:205603:13: */ +func rbuWithoutRowidPK(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { /* sqlite3.c:205660:13: */ bp := tls.Alloc(72) defer tls.Free(72) @@ -179239,7 +179289,7 @@ func rbuWithoutRowidPK(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { /* sql // // CREATE TABLE rbu_imposter2(c1 TEXT, c2 REAL, id INTEGER) WITHOUT ROWID; // -func rbuCreateImposterTable2(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:205662:13: */ +func rbuCreateImposterTable2(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:205719:13: */ bp := tls.Alloc(184) defer tls.Free(184) @@ -179315,7 +179365,7 @@ func rbuCreateImposterTable2(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlit // More precisely, the "same schema" means the same columns, types, // collation sequences. For tables that do not have an external PRIMARY // KEY, it also means the same PRIMARY KEY declaration. -func rbuCreateImposterTable(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:205736:13: */ +func rbuCreateImposterTable(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:205793:13: */ bp := tls.Alloc(200) defer tls.Free(200) @@ -179379,7 +179429,7 @@ func rbuCreateImposterTable(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite // the target table, plus one (for the rbu_control column), plus one more // (for the rbu_rowid column) if the target table is an implicit IPK or // virtual table. -func rbuObjIterPrepareTmpInsert(tls *libc.TLS, p uintptr, pIter uintptr, zCollist uintptr, zRbuRowid uintptr) { /* sqlite3.c:205792:13: */ +func rbuObjIterPrepareTmpInsert(tls *libc.TLS, p uintptr, pIter uintptr, zCollist uintptr, zRbuRowid uintptr) { /* sqlite3.c:205849:13: */ bp := tls.Alloc(40) defer tls.Free(40) @@ -179394,7 +179444,7 @@ func rbuObjIterPrepareTmpInsert(tls *libc.TLS, p uintptr, pIter uintptr, zCollis } } -func rbuTmpInsertFunc(tls *libc.TLS, pCtx uintptr, nVal int32, apVal uintptr) { /* sqlite3.c:205810:13: */ +func rbuTmpInsertFunc(tls *libc.TLS, pCtx uintptr, nVal int32, apVal uintptr) { /* sqlite3.c:205867:13: */ var p uintptr = Xsqlite3_user_data(tls, pCtx) var rc int32 = SQLITE_OK var i int32 @@ -179416,7 +179466,7 @@ func rbuTmpInsertFunc(tls *libc.TLS, pCtx uintptr, nVal int32, apVal uintptr) { } } -func rbuObjIterGetIndexWhere(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { /* sqlite3.c:205840:13: */ +func rbuObjIterGetIndexWhere(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { /* sqlite3.c:205897:13: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -179524,7 +179574,7 @@ func rbuObjIterGetIndexWhere(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { // Ensure that the SQLite statement handles required to update the // target database object currently indicated by the iterator passed // as the second argument are available. -func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32) int32 { /* sqlite3.c:205940:12: */ +func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32) int32 { /* sqlite3.c:205997:12: */ bp := tls.Alloc(628) defer tls.Free(628) @@ -179799,7 +179849,7 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32 // // If the zMask string does not specify any columns to update, then this // is not an error. Output variable *ppStmt is set to NULL in this case. -func rbuGetUpdateStmt(tls *libc.TLS, p uintptr, pIter uintptr, zMask uintptr, ppStmt uintptr) int32 { /* sqlite3.c:206207:12: */ +func rbuGetUpdateStmt(tls *libc.TLS, p uintptr, pIter uintptr, zMask uintptr, ppStmt uintptr) int32 { /* sqlite3.c:206264:12: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -179865,7 +179915,7 @@ func rbuGetUpdateStmt(tls *libc.TLS, p uintptr, pIter uintptr, zMask uintptr, pp return (*Sqlite3rbu)(unsafe.Pointer(p)).Frc } -func rbuOpenDbhandle(tls *libc.TLS, p uintptr, zName uintptr, bUseVfs int32) uintptr { /* sqlite3.c:206275:16: */ +func rbuOpenDbhandle(tls *libc.TLS, p uintptr, zName uintptr, bUseVfs int32) uintptr { /* sqlite3.c:206332:16: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -179888,7 +179938,7 @@ func rbuOpenDbhandle(tls *libc.TLS, p uintptr, zName uintptr, bUseVfs int32) uin } // Free an RbuState object allocated by rbuLoadState(). -func rbuFreeState(tls *libc.TLS, p uintptr) { /* sqlite3.c:206296:13: */ +func rbuFreeState(tls *libc.TLS, p uintptr) { /* sqlite3.c:206353:13: */ if p != 0 { Xsqlite3_free(tls, (*RbuState)(unsafe.Pointer(p)).FzTbl) Xsqlite3_free(tls, (*RbuState)(unsafe.Pointer(p)).FzDataTbl) @@ -179904,7 +179954,7 @@ func rbuFreeState(tls *libc.TLS, p uintptr) { /* sqlite3.c:206296:13: */ // // If an error occurs, leave an error code and message in the rbu handle // and return NULL. -func rbuLoadState(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:206314:17: */ +func rbuLoadState(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:206371:17: */ bp := tls.Alloc(20) defer tls.Free(20) @@ -179988,7 +180038,7 @@ func rbuLoadState(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:206314:17: */ // If argument dbMain is not NULL, then it is a database handle already // open on the target database. Use this handle instead of opening a new // one. -func rbuOpenDatabase(tls *libc.TLS, p uintptr, dbMain uintptr, pbRetry uintptr) { /* sqlite3.c:206395:13: */ +func rbuOpenDatabase(tls *libc.TLS, p uintptr, dbMain uintptr, pbRetry uintptr) { /* sqlite3.c:206452:13: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -180150,7 +180200,7 @@ func rbuOpenDatabase(tls *libc.TLS, p uintptr, dbMain uintptr, pbRetry uintptr) // test.db-wal => test.wal // test.db-shm => test.shm // test.db-mj7f3319fa => test.9fa -func rbuFileSuffix3(tls *libc.TLS, zBase uintptr, z uintptr) { /* sqlite3.c:206576:13: */ +func rbuFileSuffix3(tls *libc.TLS, zBase uintptr, z uintptr) { /* sqlite3.c:206633:13: */ } // Return the current wal-index header checksum for the target database @@ -180158,7 +180208,7 @@ func rbuFileSuffix3(tls *libc.TLS, zBase uintptr, z uintptr) { /* sqlite3.c:2065 // // The checksum is store in the first page of xShmMap memory as an 8-byte // blob starting at byte offset 40. -func rbuShmChecksum(tls *libc.TLS, p uintptr) I64 { /* sqlite3.c:206597:12: */ +func rbuShmChecksum(tls *libc.TLS, p uintptr) I64 { /* sqlite3.c:206654:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -180191,7 +180241,7 @@ func rbuShmChecksum(tls *libc.TLS, p uintptr) I64 { /* sqlite3.c:206597:12: */ // object, then the rbu handle is set to DONE state. This occurs if some // other client appends a transaction to the wal file in the middle of // an incremental checkpoint. -func rbuSetupCheckpoint(tls *libc.TLS, p uintptr, pState uintptr) { /* sqlite3.c:206626:13: */ +func rbuSetupCheckpoint(tls *libc.TLS, p uintptr, pState uintptr) { /* sqlite3.c:206683:13: */ // If pState is NULL, then the wal file may not have been opened and // recovered. Running a read-statement here to ensure that doing so @@ -180283,7 +180333,7 @@ func rbuSetupCheckpoint(tls *libc.TLS, p uintptr, pState uintptr) { /* sqlite3.c // Called when iAmt bytes are read from offset iOff of the wal file while // the rbu object is in capture mode. Record the frame number of the frame // being read in the aFrame[] array. -func rbuCaptureWalRead(tls *libc.TLS, pRbu uintptr, iOff I64, iAmt int32) int32 { /* sqlite3.c:206710:12: */ +func rbuCaptureWalRead(tls *libc.TLS, pRbu uintptr, iOff I64, iAmt int32) int32 { /* sqlite3.c:206767:12: */ var mReq U32 = U32(int32(1)<dbMain to one more than the schema cookie of the main // db opened by p->dbRbu. -func rbuIncrSchemaCookie(tls *libc.TLS, p uintptr) { /* sqlite3.c:207135:13: */ +func rbuIncrSchemaCookie(tls *libc.TLS, p uintptr) { /* sqlite3.c:207192:13: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -180690,7 +180740,7 @@ func rbuIncrSchemaCookie(tls *libc.TLS, p uintptr) { /* sqlite3.c:207135:13: */ // Update the contents of the rbu_state table within the rbu database. The // value stored in the RBU_STATE_STAGE column is eStage. All other values // are determined by inspecting the rbu handle passed as the first argument. -func rbuSaveState(tls *libc.TLS, p uintptr, eStage int32) { /* sqlite3.c:207166:13: */ +func rbuSaveState(tls *libc.TLS, p uintptr, eStage int32) { /* sqlite3.c:207223:13: */ bp := tls.Alloc(176) defer tls.Free(176) @@ -180745,7 +180795,7 @@ func rbuSaveState(tls *libc.TLS, p uintptr, eStage int32) { /* sqlite3.c:207166: // // In short, it copies the value of the specified PRAGMA setting from // dbRbu to dbMain. -func rbuCopyPragma(tls *libc.TLS, p uintptr, zPragma uintptr) { /* sqlite3.c:207227:13: */ +func rbuCopyPragma(tls *libc.TLS, p uintptr, zPragma uintptr) { /* sqlite3.c:207284:13: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -180764,7 +180814,7 @@ func rbuCopyPragma(tls *libc.TLS, p uintptr, zPragma uintptr) { /* sqlite3.c:207 // The RBU handle passed as the only argument has just been opened and // the state database is empty. If this RBU handle was opened for an // RBU vacuum operation, create the schema in the target db. -func rbuCreateTargetSchema(tls *libc.TLS, p uintptr) { /* sqlite3.c:207247:13: */ +func rbuCreateTargetSchema(tls *libc.TLS, p uintptr) { /* sqlite3.c:207304:13: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -180814,7 +180864,7 @@ func rbuCreateTargetSchema(tls *libc.TLS, p uintptr) { /* sqlite3.c:207247:13: * } // Step the RBU object. -func Xsqlite3rbu_step(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:207299:16: */ +func Xsqlite3rbu_step(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:207356:16: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -180957,7 +181007,7 @@ func Xsqlite3rbu_step(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:207299:16: // Compare strings z1 and z2, returning 0 if they are identical, or non-zero // otherwise. Either or both argument may be NULL. Two NULL values are // considered equal, and NULL is considered distinct from all other values. -func rbuStrCompare(tls *libc.TLS, z1 uintptr, z2 uintptr) int32 { /* sqlite3.c:207428:12: */ +func rbuStrCompare(tls *libc.TLS, z1 uintptr, z2 uintptr) int32 { /* sqlite3.c:207485:12: */ if z1 == uintptr(0) && z2 == uintptr(0) { return 0 } @@ -180975,7 +181025,7 @@ func rbuStrCompare(tls *libc.TLS, z1 uintptr, z2 uintptr) int32 { /* sqlite3.c:2 // // If an error occurs, an error code and error message are left in the // rbu handle passed as the first argument. -func rbuSetupOal(tls *libc.TLS, p uintptr, pState uintptr) { /* sqlite3.c:207444:13: */ +func rbuSetupOal(tls *libc.TLS, p uintptr, pState uintptr) { /* sqlite3.c:207501:13: */ if (*RbuState)(unsafe.Pointer(pState)).FzTbl != 0 { var pIter uintptr = p + 80 @@ -181005,7 +181055,7 @@ func rbuSetupOal(tls *libc.TLS, p uintptr, pState uintptr) { /* sqlite3.c:207444 // If there is a "*-oal" file in the file-system corresponding to the // target database in the file-system, delete it. If an error occurs, // leave an error code and error message in the rbu handle. -func rbuDeleteOalFile(tls *libc.TLS, p uintptr) { /* sqlite3.c:207477:13: */ +func rbuDeleteOalFile(tls *libc.TLS, p uintptr) { /* sqlite3.c:207534:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -181024,7 +181074,7 @@ func rbuDeleteOalFile(tls *libc.TLS, p uintptr) { /* sqlite3.c:207477:13: */ // argument. This VFS will be used unless the call to sqlite3rbu_open() // specified a URI with a vfs=? option in place of a target database // file name. -func rbuCreateVfs(tls *libc.TLS, p uintptr) { /* sqlite3.c:207493:13: */ +func rbuCreateVfs(tls *libc.TLS, p uintptr) { /* sqlite3.c:207550:13: */ bp := tls.Alloc(76) defer tls.Free(76) @@ -181045,7 +181095,7 @@ func rbuCreateVfs(tls *libc.TLS, p uintptr) { /* sqlite3.c:207493:13: */ // Destroy the private VFS created for the rbu handle passed as the only // argument by an earlier call to rbuCreateVfs(). -func rbuDeleteVfs(tls *libc.TLS, p uintptr) { /* sqlite3.c:207513:13: */ +func rbuDeleteVfs(tls *libc.TLS, p uintptr) { /* sqlite3.c:207570:13: */ if (*Sqlite3rbu)(unsafe.Pointer(p)).FzVfsName != 0 { Xsqlite3rbu_destroy_vfs(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FzVfsName) (*Sqlite3rbu)(unsafe.Pointer(p)).FzVfsName = uintptr(0) @@ -181055,7 +181105,7 @@ func rbuDeleteVfs(tls *libc.TLS, p uintptr) { /* sqlite3.c:207513:13: */ // This user-defined SQL function is invoked with a single argument - the // name of a table expected to appear in the target database. It returns // the number of auxilliary indexes on the table. -func rbuIndexCntFunc(tls *libc.TLS, pCtx uintptr, nVal int32, apVal uintptr) { /* sqlite3.c:207525:13: */ +func rbuIndexCntFunc(tls *libc.TLS, pCtx uintptr, nVal int32, apVal uintptr) { /* sqlite3.c:207582:13: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -181104,7 +181154,7 @@ func rbuIndexCntFunc(tls *libc.TLS, pCtx uintptr, nVal int32, apVal uintptr) { / // sqlite3rbu.nPhaseOneStep is initialized to the sum of (1 + nIndex) * cnt // for all rows in the rbu_count table, where nIndex is the number of // indexes on the corresponding target database table. -func rbuInitPhaseOneSteps(tls *libc.TLS, p uintptr) { /* sqlite3.c:207575:13: */ +func rbuInitPhaseOneSteps(tls *libc.TLS, p uintptr) { /* sqlite3.c:207632:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -181146,7 +181196,7 @@ func rbuInitPhaseOneSteps(tls *libc.TLS, p uintptr) { /* sqlite3.c:207575:13: */ } } -func openRbuHandle(tls *libc.TLS, zTarget uintptr, zRbu uintptr, zState uintptr) uintptr { /* sqlite3.c:207616:19: */ +func openRbuHandle(tls *libc.TLS, zTarget uintptr, zRbu uintptr, zState uintptr) uintptr { /* sqlite3.c:207673:19: */ bp := tls.Alloc(20) defer tls.Free(20) @@ -181319,7 +181369,7 @@ func openRbuHandle(tls *libc.TLS, zTarget uintptr, zRbu uintptr, zState uintptr) // Allocate and return an RBU handle with all fields zeroed except for the // error code, which is set to SQLITE_MISUSE. -func rbuMisuseError(tls *libc.TLS) uintptr { /* sqlite3.c:207780:19: */ +func rbuMisuseError(tls *libc.TLS) uintptr { /* sqlite3.c:207837:19: */ var pRet uintptr pRet = Xsqlite3_malloc64(tls, uint64(unsafe.Sizeof(Sqlite3rbu{}))) if pRet != 0 { @@ -181330,7 +181380,7 @@ func rbuMisuseError(tls *libc.TLS) uintptr { /* sqlite3.c:207780:19: */ } // Open and return a new RBU handle. -func Xsqlite3rbu_open(tls *libc.TLS, zTarget uintptr, zRbu uintptr, zState uintptr) uintptr { /* sqlite3.c:207793:23: */ +func Xsqlite3rbu_open(tls *libc.TLS, zTarget uintptr, zRbu uintptr, zState uintptr) uintptr { /* sqlite3.c:207850:23: */ if zTarget == uintptr(0) || zRbu == uintptr(0) { return rbuMisuseError(tls) } @@ -181338,7 +181388,7 @@ func Xsqlite3rbu_open(tls *libc.TLS, zTarget uintptr, zRbu uintptr, zState uintp } // Open a handle to begin or resume an RBU VACUUM operation. -func Xsqlite3rbu_vacuum(tls *libc.TLS, zTarget uintptr, zState uintptr) uintptr { /* sqlite3.c:207805:23: */ +func Xsqlite3rbu_vacuum(tls *libc.TLS, zTarget uintptr, zState uintptr) uintptr { /* sqlite3.c:207862:23: */ if zTarget == uintptr(0) { return rbuMisuseError(tls) } @@ -181353,7 +181403,7 @@ func Xsqlite3rbu_vacuum(tls *libc.TLS, zTarget uintptr, zState uintptr) uintptr } // Return the database handle used by pRbu. -func Xsqlite3rbu_db(tls *libc.TLS, pRbu uintptr, bRbu int32) uintptr { /* sqlite3.c:207823:20: */ +func Xsqlite3rbu_db(tls *libc.TLS, pRbu uintptr, bRbu int32) uintptr { /* sqlite3.c:207880:20: */ var db uintptr = uintptr(0) if pRbu != 0 { db = func() uintptr { @@ -181369,7 +181419,7 @@ func Xsqlite3rbu_db(tls *libc.TLS, pRbu uintptr, bRbu int32) uintptr { /* sqlite // If the error code currently stored in the RBU handle is SQLITE_CONSTRAINT, // then edit any error message string so as to remove all occurrences of // the pattern "rbu_imp_[0-9]*". -func rbuEditErrmsg(tls *libc.TLS, p uintptr) { /* sqlite3.c:207837:13: */ +func rbuEditErrmsg(tls *libc.TLS, p uintptr) { /* sqlite3.c:207894:13: */ if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_CONSTRAINT && (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg != 0 { var i uint32 var nErrmsg Size_t = libc.Xstrlen(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg) @@ -181387,7 +181437,7 @@ func rbuEditErrmsg(tls *libc.TLS, p uintptr) { /* sqlite3.c:207837:13: */ } // Close the RBU handle. -func Xsqlite3rbu_close(tls *libc.TLS, p uintptr, pzErrmsg uintptr) int32 { /* sqlite3.c:207855:16: */ +func Xsqlite3rbu_close(tls *libc.TLS, p uintptr, pzErrmsg uintptr) int32 { /* sqlite3.c:207912:16: */ var rc int32 if p != 0 { @@ -181452,13 +181502,13 @@ func Xsqlite3rbu_close(tls *libc.TLS, p uintptr, pzErrmsg uintptr) int32 { /* sq // Return the total number of key-value operations (inserts, deletes or // updates) that have been performed on the target database since the // current RBU update was started. -func Xsqlite3rbu_progress(tls *libc.TLS, pRbu uintptr) Sqlite3_int64 { /* sqlite3.c:207918:26: */ +func Xsqlite3rbu_progress(tls *libc.TLS, pRbu uintptr) Sqlite3_int64 { /* sqlite3.c:207975:26: */ return Sqlite3_int64((*Sqlite3rbu)(unsafe.Pointer(pRbu)).FnProgress) } // Return permyriadage progress indications for the two main stages of // an RBU update. -func Xsqlite3rbu_bp_progress(tls *libc.TLS, p uintptr, pnOne uintptr, pnTwo uintptr) { /* sqlite3.c:207926:17: */ +func Xsqlite3rbu_bp_progress(tls *libc.TLS, p uintptr, pnOne uintptr, pnTwo uintptr) { /* sqlite3.c:207983:17: */ var MAX_PROGRESS int32 = 10000 switch (*Sqlite3rbu)(unsafe.Pointer(p)).FeStage { case RBU_STAGE_OAL: @@ -181491,7 +181541,7 @@ func Xsqlite3rbu_bp_progress(tls *libc.TLS, p uintptr, pnOne uintptr, pnTwo uint } // Return the current state of the RBU vacuum or update operation. -func Xsqlite3rbu_state(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:207961:16: */ +func Xsqlite3rbu_state(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:208018:16: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -181509,7 +181559,7 @@ func Xsqlite3rbu_state(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:207961:16: return int32(0) } -func Xsqlite3rbu_savestate(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:207989:16: */ +func Xsqlite3rbu_savestate(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:208046:16: */ var rc int32 = (*Sqlite3rbu)(unsafe.Pointer(p)).Frc if rc == SQLITE_DONE { return SQLITE_OK @@ -181616,7 +181666,7 @@ func Xsqlite3rbu_savestate(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:207989 // relinquished). Finally, calls to xSync() on the target database // file fail with SQLITE_INTERNAL errors. -func rbuUnlockShm(tls *libc.TLS, p uintptr) { /* sqlite3.c:208082:13: */ +func rbuUnlockShm(tls *libc.TLS, p uintptr) { /* sqlite3.c:208139:13: */ if (*Rbu_file)(unsafe.Pointer(p)).FpRbu != 0 { var xShmLock uintptr = (*sqlite3_io_methods)(unsafe.Pointer((*Sqlite3_file)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer(p)).FpReal)).FpMethods)).FxShmLock @@ -181633,7 +181683,7 @@ func rbuUnlockShm(tls *libc.TLS, p uintptr) { /* sqlite3.c:208082:13: */ } // -func rbuUpdateTempSize(tls *libc.TLS, pFd uintptr, nNew Sqlite3_int64) int32 { /* sqlite3.c:208098:12: */ +func rbuUpdateTempSize(tls *libc.TLS, pFd uintptr, nNew Sqlite3_int64) int32 { /* sqlite3.c:208155:12: */ var pRbu uintptr = (*Rbu_file)(unsafe.Pointer(pFd)).FpRbu var nDiff I64 = nNew - (*Rbu_file)(unsafe.Pointer(pFd)).Fsz *(*I64)(unsafe.Pointer(pRbu + 360)) += nDiff @@ -181651,7 +181701,7 @@ func rbuUpdateTempSize(tls *libc.TLS, pFd uintptr, nNew Sqlite3_int64) int32 { / // for all file descriptors with rbu_file.pDb!=0. If the argument has // rbu_file.pDb!=0, then it is assumed to already be present on the // main list and is only added to the pDb!=0 list. -func rbuMainlistAdd(tls *libc.TLS, p uintptr) { /* sqlite3.c:208116:13: */ +func rbuMainlistAdd(tls *libc.TLS, p uintptr) { /* sqlite3.c:208173:13: */ var pRbuVfs uintptr = (*Rbu_file)(unsafe.Pointer(p)).FpRbuVfs var pIter uintptr @@ -181673,7 +181723,7 @@ func rbuMainlistAdd(tls *libc.TLS, p uintptr) { /* sqlite3.c:208116:13: */ } // Remove an item from the main-db lists. -func rbuMainlistRemove(tls *libc.TLS, p uintptr) { /* sqlite3.c:208138:13: */ +func rbuMainlistRemove(tls *libc.TLS, p uintptr) { /* sqlite3.c:208195:13: */ var pp uintptr Xsqlite3_mutex_enter(tls, (*Rbu_vfs)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer(p)).FpRbuVfs)).Fmutex) for pp = (*Rbu_file)(unsafe.Pointer(p)).FpRbuVfs + 192; *(*uintptr)(unsafe.Pointer(pp)) != 0 && *(*uintptr)(unsafe.Pointer(pp)) != p; pp = *(*uintptr)(unsafe.Pointer(pp)) + 88 { @@ -181698,7 +181748,7 @@ func rbuMainlistRemove(tls *libc.TLS, p uintptr) { /* sqlite3.c:208138:13: */ // // If parameter bRbu is true, only search for file-descriptors with // rbu_file.pDb!=0. -func rbuFindMaindb(tls *libc.TLS, pRbuVfs uintptr, zWal uintptr, bRbu int32) uintptr { /* sqlite3.c:208159:17: */ +func rbuFindMaindb(tls *libc.TLS, pRbuVfs uintptr, zWal uintptr, bRbu int32) uintptr { /* sqlite3.c:208216:17: */ var pDb uintptr Xsqlite3_mutex_enter(tls, (*Rbu_vfs)(unsafe.Pointer(pRbuVfs)).Fmutex) if bRbu != 0 { @@ -181713,7 +181763,7 @@ func rbuFindMaindb(tls *libc.TLS, pRbuVfs uintptr, zWal uintptr, bRbu int32) uin } // Close an rbu file. -func rbuVfsClose(tls *libc.TLS, pFile uintptr) int32 { /* sqlite3.c:208174:12: */ +func rbuVfsClose(tls *libc.TLS, pFile uintptr) int32 { /* sqlite3.c:208231:12: */ var p uintptr = pFile var rc int32 var i int32 @@ -181745,7 +181795,7 @@ func rbuVfsClose(tls *libc.TLS, pFile uintptr) int32 { /* sqlite3.c:208174:12: * // Read and return an unsigned 32-bit big-endian integer from the buffer // passed as the only argument. -func rbuGetU32(tls *libc.TLS, aBuf uintptr) U32 { /* sqlite3.c:208207:12: */ +func rbuGetU32(tls *libc.TLS, aBuf uintptr) U32 { /* sqlite3.c:208264:12: */ return U32(*(*U8)(unsafe.Pointer(aBuf)))<<24 + U32(*(*U8)(unsafe.Pointer(aBuf + 1)))<<16 + U32(*(*U8)(unsafe.Pointer(aBuf + 2)))<<8 + @@ -181754,20 +181804,20 @@ func rbuGetU32(tls *libc.TLS, aBuf uintptr) U32 { /* sqlite3.c:208207:12: */ // Write an unsigned 32-bit value in big-endian format to the supplied // buffer. -func rbuPutU32(tls *libc.TLS, aBuf uintptr, iVal U32) { /* sqlite3.c:208218:13: */ +func rbuPutU32(tls *libc.TLS, aBuf uintptr, iVal U32) { /* sqlite3.c:208275:13: */ *(*U8)(unsafe.Pointer(aBuf)) = U8(iVal >> 24 & U32(0xFF)) *(*U8)(unsafe.Pointer(aBuf + 1)) = U8(iVal >> 16 & U32(0xFF)) *(*U8)(unsafe.Pointer(aBuf + 2)) = U8(iVal >> 8 & U32(0xFF)) *(*U8)(unsafe.Pointer(aBuf + 3)) = U8(iVal >> 0 & U32(0xFF)) } -func rbuPutU16(tls *libc.TLS, aBuf uintptr, iVal U16) { /* sqlite3.c:208225:13: */ +func rbuPutU16(tls *libc.TLS, aBuf uintptr, iVal U16) { /* sqlite3.c:208282:13: */ *(*U8)(unsafe.Pointer(aBuf)) = U8(int32(iVal) >> 8 & 0xFF) *(*U8)(unsafe.Pointer(aBuf + 1)) = U8(int32(iVal) >> 0 & 0xFF) } // Read data from an rbuVfs-file. -func rbuVfsRead(tls *libc.TLS, pFile uintptr, zBuf uintptr, iAmt int32, iOfst Sqlite_int64) int32 { /* sqlite3.c:208233:12: */ +func rbuVfsRead(tls *libc.TLS, pFile uintptr, zBuf uintptr, iAmt int32, iOfst Sqlite_int64) int32 { /* sqlite3.c:208290:12: */ var p uintptr = pFile var pRbu uintptr = (*Rbu_file)(unsafe.Pointer(p)).FpRbu var rc int32 @@ -181831,7 +181881,7 @@ func rbuVfsRead(tls *libc.TLS, pFile uintptr, zBuf uintptr, iAmt int32, iOfst Sq } // Write data to an rbuVfs-file. -func rbuVfsWrite(tls *libc.TLS, pFile uintptr, zBuf uintptr, iAmt int32, iOfst Sqlite_int64) int32 { /* sqlite3.c:208299:12: */ +func rbuVfsWrite(tls *libc.TLS, pFile uintptr, zBuf uintptr, iAmt int32, iOfst Sqlite_int64) int32 { /* sqlite3.c:208356:12: */ var p uintptr = pFile var pRbu uintptr = (*Rbu_file)(unsafe.Pointer(p)).FpRbu var rc int32 @@ -181870,7 +181920,7 @@ func rbuVfsWrite(tls *libc.TLS, pFile uintptr, zBuf uintptr, iAmt int32, iOfst S } // Truncate an rbuVfs-file. -func rbuVfsTruncate(tls *libc.TLS, pFile uintptr, size Sqlite_int64) int32 { /* sqlite3.c:208342:12: */ +func rbuVfsTruncate(tls *libc.TLS, pFile uintptr, size Sqlite_int64) int32 { /* sqlite3.c:208399:12: */ var p uintptr = pFile if (*Rbu_file)(unsafe.Pointer(p)).FopenFlags&SQLITE_OPEN_DELETEONCLOSE != 0 && (*Rbu_file)(unsafe.Pointer(p)).FpRbu != 0 { var rc int32 = rbuUpdateTempSize(tls, p, size) @@ -181884,7 +181934,7 @@ func rbuVfsTruncate(tls *libc.TLS, pFile uintptr, size Sqlite_int64) int32 { /* } // Sync an rbuVfs-file. -func rbuVfsSync(tls *libc.TLS, pFile uintptr, flags int32) int32 { /* sqlite3.c:208354:12: */ +func rbuVfsSync(tls *libc.TLS, pFile uintptr, flags int32) int32 { /* sqlite3.c:208411:12: */ var p uintptr = pFile if (*Rbu_file)(unsafe.Pointer(p)).FpRbu != 0 && (*Sqlite3rbu)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer(p)).FpRbu)).FeStage == RBU_STAGE_CAPTURE { if (*Rbu_file)(unsafe.Pointer(p)).FopenFlags&SQLITE_OPEN_MAIN_DB != 0 { @@ -181898,7 +181948,7 @@ func rbuVfsSync(tls *libc.TLS, pFile uintptr, flags int32) int32 { /* sqlite3.c: } // Return the current file-size of an rbuVfs-file. -func rbuVfsFileSize(tls *libc.TLS, pFile uintptr, pSize uintptr) int32 { /* sqlite3.c:208368:12: */ +func rbuVfsFileSize(tls *libc.TLS, pFile uintptr, pSize uintptr) int32 { /* sqlite3.c:208425:12: */ var p uintptr = pFile var rc int32 rc = (*struct { @@ -181918,7 +181968,7 @@ func rbuVfsFileSize(tls *libc.TLS, pFile uintptr, pSize uintptr) int32 { /* sqli } // Lock an rbuVfs-file. -func rbuVfsLock(tls *libc.TLS, pFile uintptr, eLock int32) int32 { /* sqlite3.c:208389:12: */ +func rbuVfsLock(tls *libc.TLS, pFile uintptr, eLock int32) int32 { /* sqlite3.c:208446:12: */ var p uintptr = pFile var pRbu uintptr = (*Rbu_file)(unsafe.Pointer(p)).FpRbu var rc int32 = SQLITE_OK @@ -181938,7 +181988,7 @@ func rbuVfsLock(tls *libc.TLS, pFile uintptr, eLock int32) int32 { /* sqlite3.c: } // Unlock an rbuVfs-file. -func rbuVfsUnlock(tls *libc.TLS, pFile uintptr, eLock int32) int32 { /* sqlite3.c:208411:12: */ +func rbuVfsUnlock(tls *libc.TLS, pFile uintptr, eLock int32) int32 { /* sqlite3.c:208468:12: */ var p uintptr = pFile return (*struct { f func(*libc.TLS, uintptr, int32) int32 @@ -181946,7 +181996,7 @@ func rbuVfsUnlock(tls *libc.TLS, pFile uintptr, eLock int32) int32 { /* sqlite3. } // Check if another file-handle holds a RESERVED lock on an rbuVfs-file. -func rbuVfsCheckReservedLock(tls *libc.TLS, pFile uintptr, pResOut uintptr) int32 { /* sqlite3.c:208419:12: */ +func rbuVfsCheckReservedLock(tls *libc.TLS, pFile uintptr, pResOut uintptr) int32 { /* sqlite3.c:208476:12: */ var p uintptr = pFile return (*struct { f func(*libc.TLS, uintptr, uintptr) int32 @@ -181954,7 +182004,7 @@ func rbuVfsCheckReservedLock(tls *libc.TLS, pFile uintptr, pResOut uintptr) int3 } // File control method. For custom operations on an rbuVfs-file. -func rbuVfsFileControl(tls *libc.TLS, pFile uintptr, op int32, pArg uintptr) int32 { /* sqlite3.c:208427:12: */ +func rbuVfsFileControl(tls *libc.TLS, pFile uintptr, op int32, pArg uintptr) int32 { /* sqlite3.c:208484:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -182017,7 +182067,7 @@ func rbuVfsFileControl(tls *libc.TLS, pFile uintptr, op int32, pArg uintptr) int } // Return the sector-size in bytes for an rbuVfs-file. -func rbuVfsSectorSize(tls *libc.TLS, pFile uintptr) int32 { /* sqlite3.c:208483:12: */ +func rbuVfsSectorSize(tls *libc.TLS, pFile uintptr) int32 { /* sqlite3.c:208540:12: */ var p uintptr = pFile return (*struct { f func(*libc.TLS, uintptr) int32 @@ -182025,7 +182075,7 @@ func rbuVfsSectorSize(tls *libc.TLS, pFile uintptr) int32 { /* sqlite3.c:208483: } // Return the device characteristic flags supported by an rbuVfs-file. -func rbuVfsDeviceCharacteristics(tls *libc.TLS, pFile uintptr) int32 { /* sqlite3.c:208491:12: */ +func rbuVfsDeviceCharacteristics(tls *libc.TLS, pFile uintptr) int32 { /* sqlite3.c:208548:12: */ var p uintptr = pFile return (*struct { f func(*libc.TLS, uintptr) int32 @@ -182033,7 +182083,7 @@ func rbuVfsDeviceCharacteristics(tls *libc.TLS, pFile uintptr) int32 { /* sqlite } // Take or release a shared-memory lock. -func rbuVfsShmLock(tls *libc.TLS, pFile uintptr, ofst int32, n int32, flags int32) int32 { /* sqlite3.c:208499:12: */ +func rbuVfsShmLock(tls *libc.TLS, pFile uintptr, ofst int32, n int32, flags int32) int32 { /* sqlite3.c:208556:12: */ var p uintptr = pFile var pRbu uintptr = (*Rbu_file)(unsafe.Pointer(p)).FpRbu var rc int32 = SQLITE_OK @@ -182066,7 +182116,7 @@ func rbuVfsShmLock(tls *libc.TLS, pFile uintptr, ofst int32, n int32, flags int3 } // Obtain a pointer to a mapping of a single 32KiB page of the *-shm file. -func rbuVfsShmMap(tls *libc.TLS, pFile uintptr, iRegion int32, szRegion int32, isWrite int32, pp uintptr) int32 { /* sqlite3.c:208537:12: */ +func rbuVfsShmMap(tls *libc.TLS, pFile uintptr, iRegion int32, szRegion int32, isWrite int32, pp uintptr) int32 { /* sqlite3.c:208594:12: */ var p uintptr = pFile var rc int32 = SQLITE_OK var eStage int32 = func() int32 { @@ -182123,13 +182173,13 @@ func rbuVfsShmMap(tls *libc.TLS, pFile uintptr, iRegion int32, szRegion int32, i } // Memory barrier. -func rbuVfsShmBarrier(tls *libc.TLS, pFile uintptr) { /* sqlite3.c:208595:13: */ +func rbuVfsShmBarrier(tls *libc.TLS, pFile uintptr) { /* sqlite3.c:208652:13: */ var p uintptr = pFile (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods)(unsafe.Pointer((*Sqlite3_file)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer(p)).FpReal)).FpMethods)).FxShmBarrier})).f(tls, (*Rbu_file)(unsafe.Pointer(p)).FpReal) } // The xShmUnmap method. -func rbuVfsShmUnmap(tls *libc.TLS, pFile uintptr, delFlag int32) int32 { /* sqlite3.c:208603:12: */ +func rbuVfsShmUnmap(tls *libc.TLS, pFile uintptr, delFlag int32) int32 { /* sqlite3.c:208660:12: */ var p uintptr = pFile var rc int32 = SQLITE_OK var eStage int32 = func() int32 { @@ -182152,7 +182202,7 @@ func rbuVfsShmUnmap(tls *libc.TLS, pFile uintptr, delFlag int32) int32 { /* sqli } // Open an rbu file handle. -func rbuVfsOpen(tls *libc.TLS, pVfs uintptr, zName uintptr, pFile uintptr, flags int32, pOutFlags uintptr) int32 { /* sqlite3.c:208622:12: */ +func rbuVfsOpen(tls *libc.TLS, pVfs uintptr, zName uintptr, pFile uintptr, flags int32, pOutFlags uintptr) int32 { /* sqlite3.c:208679:12: */ var pRbuVfs uintptr = pVfs var pRealVfs uintptr = (*Rbu_vfs)(unsafe.Pointer(pRbuVfs)).FpRealVfs var pFd uintptr = pFile @@ -182238,10 +182288,10 @@ var rbuvfs_io_methods = Sqlite3_io_methods{ FxShmLock: 0, // xShmLock FxShmBarrier: 0, // xShmBarrier FxShmUnmap: 0, // xFetch, xUnfetch -} /* sqlite3.c:208629:29 */ +} /* sqlite3.c:208686:29 */ // Delete the file located at zPath. -func rbuVfsDelete(tls *libc.TLS, pVfs uintptr, zPath uintptr, dirSync int32) int32 { /* sqlite3.c:208720:12: */ +func rbuVfsDelete(tls *libc.TLS, pVfs uintptr, zPath uintptr, dirSync int32) int32 { /* sqlite3.c:208777:12: */ var pRealVfs uintptr = (*Rbu_vfs)(unsafe.Pointer(pVfs)).FpRealVfs return (*struct { f func(*libc.TLS, uintptr, uintptr, int32) int32 @@ -182250,7 +182300,7 @@ func rbuVfsDelete(tls *libc.TLS, pVfs uintptr, zPath uintptr, dirSync int32) int // Test for access permissions. Return true if the requested permission // is available, or false otherwise. -func rbuVfsAccess(tls *libc.TLS, pVfs uintptr, zPath uintptr, flags int32, pResOut uintptr) int32 { /* sqlite3.c:208729:12: */ +func rbuVfsAccess(tls *libc.TLS, pVfs uintptr, zPath uintptr, flags int32, pResOut uintptr) int32 { /* sqlite3.c:208786:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -182295,7 +182345,7 @@ func rbuVfsAccess(tls *libc.TLS, pVfs uintptr, zPath uintptr, flags int32, pResO // Populate buffer zOut with the full canonical pathname corresponding // to the pathname in zPath. zOut is guaranteed to point to a buffer // of at least (DEVSYM_MAX_PATHNAME+1) bytes. -func rbuVfsFullPathname(tls *libc.TLS, pVfs uintptr, zPath uintptr, nOut int32, zOut uintptr) int32 { /* sqlite3.c:208777:12: */ +func rbuVfsFullPathname(tls *libc.TLS, pVfs uintptr, zPath uintptr, nOut int32, zOut uintptr) int32 { /* sqlite3.c:208834:12: */ var pRealVfs uintptr = (*Rbu_vfs)(unsafe.Pointer(pVfs)).FpRealVfs return (*struct { f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 @@ -182303,7 +182353,7 @@ func rbuVfsFullPathname(tls *libc.TLS, pVfs uintptr, zPath uintptr, nOut int32, } // Open the dynamic library located at zPath and return a handle. -func rbuVfsDlOpen(tls *libc.TLS, pVfs uintptr, zPath uintptr) uintptr { /* sqlite3.c:208791:13: */ +func rbuVfsDlOpen(tls *libc.TLS, pVfs uintptr, zPath uintptr) uintptr { /* sqlite3.c:208848:13: */ var pRealVfs uintptr = (*Rbu_vfs)(unsafe.Pointer(pVfs)).FpRealVfs return (*struct { f func(*libc.TLS, uintptr, uintptr) uintptr @@ -182313,7 +182363,7 @@ func rbuVfsDlOpen(tls *libc.TLS, pVfs uintptr, zPath uintptr) uintptr { /* sqlit // Populate the buffer zErrMsg (size nByte bytes) with a human readable // utf-8 string describing the most recent error encountered associated // with dynamic libraries. -func rbuVfsDlError(tls *libc.TLS, pVfs uintptr, nByte int32, zErrMsg uintptr) { /* sqlite3.c:208801:13: */ +func rbuVfsDlError(tls *libc.TLS, pVfs uintptr, nByte int32, zErrMsg uintptr) { /* sqlite3.c:208858:13: */ var pRealVfs uintptr = (*Rbu_vfs)(unsafe.Pointer(pVfs)).FpRealVfs (*struct { f func(*libc.TLS, uintptr, int32, uintptr) @@ -182321,7 +182371,7 @@ func rbuVfsDlError(tls *libc.TLS, pVfs uintptr, nByte int32, zErrMsg uintptr) { } // Return a pointer to the symbol zSymbol in the dynamic library pHandle. -func rbuVfsDlSym(tls *libc.TLS, pVfs uintptr, pArg uintptr, zSym uintptr) uintptr { /* sqlite3.c:208809:13: */ +func rbuVfsDlSym(tls *libc.TLS, pVfs uintptr, pArg uintptr, zSym uintptr) uintptr { /* sqlite3.c:208866:13: */ var pRealVfs uintptr = (*Rbu_vfs)(unsafe.Pointer(pVfs)).FpRealVfs return (*struct { f func(*libc.TLS, uintptr, uintptr, uintptr) uintptr @@ -182329,7 +182379,7 @@ func rbuVfsDlSym(tls *libc.TLS, pVfs uintptr, pArg uintptr, zSym uintptr) uintpt } // Close the dynamic library handle pHandle. -func rbuVfsDlClose(tls *libc.TLS, pVfs uintptr, pHandle uintptr) { /* sqlite3.c:208821:13: */ +func rbuVfsDlClose(tls *libc.TLS, pVfs uintptr, pHandle uintptr) { /* sqlite3.c:208878:13: */ var pRealVfs uintptr = (*Rbu_vfs)(unsafe.Pointer(pVfs)).FpRealVfs (*struct { f func(*libc.TLS, uintptr, uintptr) @@ -182338,7 +182388,7 @@ func rbuVfsDlClose(tls *libc.TLS, pVfs uintptr, pHandle uintptr) { /* sqlite3.c: // Populate the buffer pointed to by zBufOut with nByte bytes of // random data. -func rbuVfsRandomness(tls *libc.TLS, pVfs uintptr, nByte int32, zBufOut uintptr) int32 { /* sqlite3.c:208831:12: */ +func rbuVfsRandomness(tls *libc.TLS, pVfs uintptr, nByte int32, zBufOut uintptr) int32 { /* sqlite3.c:208888:12: */ var pRealVfs uintptr = (*Rbu_vfs)(unsafe.Pointer(pVfs)).FpRealVfs return (*struct { f func(*libc.TLS, uintptr, int32, uintptr) int32 @@ -182347,7 +182397,7 @@ func rbuVfsRandomness(tls *libc.TLS, pVfs uintptr, nByte int32, zBufOut uintptr) // Sleep for nMicro microseconds. Return the number of microseconds // actually slept. -func rbuVfsSleep(tls *libc.TLS, pVfs uintptr, nMicro int32) int32 { /* sqlite3.c:208840:12: */ +func rbuVfsSleep(tls *libc.TLS, pVfs uintptr, nMicro int32) int32 { /* sqlite3.c:208897:12: */ var pRealVfs uintptr = (*Rbu_vfs)(unsafe.Pointer(pVfs)).FpRealVfs return (*struct { f func(*libc.TLS, uintptr, int32) int32 @@ -182355,7 +182405,7 @@ func rbuVfsSleep(tls *libc.TLS, pVfs uintptr, nMicro int32) int32 { /* sqlite3.c } // Return the current time as a Julian Day number in *pTimeOut. -func rbuVfsCurrentTime(tls *libc.TLS, pVfs uintptr, pTimeOut uintptr) int32 { /* sqlite3.c:208848:12: */ +func rbuVfsCurrentTime(tls *libc.TLS, pVfs uintptr, pTimeOut uintptr) int32 { /* sqlite3.c:208905:12: */ var pRealVfs uintptr = (*Rbu_vfs)(unsafe.Pointer(pVfs)).FpRealVfs return (*struct { f func(*libc.TLS, uintptr, uintptr) int32 @@ -182363,13 +182413,13 @@ func rbuVfsCurrentTime(tls *libc.TLS, pVfs uintptr, pTimeOut uintptr) int32 { /* } // No-op. -func rbuVfsGetLastError(tls *libc.TLS, pVfs uintptr, a int32, b uintptr) int32 { /* sqlite3.c:208856:12: */ +func rbuVfsGetLastError(tls *libc.TLS, pVfs uintptr, a int32, b uintptr) int32 { /* sqlite3.c:208913:12: */ return 0 } // Deregister and destroy an RBU vfs created by an earlier call to // sqlite3rbu_create_vfs(). -func Xsqlite3rbu_destroy_vfs(tls *libc.TLS, zName uintptr) { /* sqlite3.c:208864:17: */ +func Xsqlite3rbu_destroy_vfs(tls *libc.TLS, zName uintptr) { /* sqlite3.c:208921:17: */ var pVfs uintptr = Xsqlite3_vfs_find(tls, zName) if pVfs != 0 && (*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FxOpen == *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32 @@ -182383,7 +182433,7 @@ func Xsqlite3rbu_destroy_vfs(tls *libc.TLS, zName uintptr) { /* sqlite3.c:208864 // Create an RBU VFS named zName that accesses the underlying file-system // via existing VFS zParent. The new object is registered as a non-default // VFS with SQLite before returning. -func Xsqlite3rbu_create_vfs(tls *libc.TLS, zName uintptr, zParent uintptr) int32 { /* sqlite3.c:208878:16: */ +func Xsqlite3rbu_create_vfs(tls *libc.TLS, zName uintptr, zParent uintptr) int32 { /* sqlite3.c:208935:16: */ var pNew uintptr = uintptr(0) // Newly allocated VFS var rc int32 = SQLITE_OK @@ -182444,17 +182494,17 @@ var vfs_template = Sqlite3_vfs{ FxSleep: 0, // xSleep FxCurrentTime: 0, // xCurrentTime FxGetLastError: 0, // Unimplemented version 3 methods -} /* sqlite3.c:208881:22 */ +} /* sqlite3.c:208938:22 */ // Configure the aggregate temp file size limit for this RBU handle. -func Xsqlite3rbu_temp_size_limit(tls *libc.TLS, pRbu uintptr, n Sqlite3_int64) Sqlite3_int64 { /* sqlite3.c:208956:26: */ +func Xsqlite3rbu_temp_size_limit(tls *libc.TLS, pRbu uintptr, n Sqlite3_int64) Sqlite3_int64 { /* sqlite3.c:209013:26: */ if n >= int64(0) { (*Sqlite3rbu)(unsafe.Pointer(pRbu)).FszTempLimit = n } return (*Sqlite3rbu)(unsafe.Pointer(pRbu)).FszTempLimit } -func Xsqlite3rbu_temp_size(tls *libc.TLS, pRbu uintptr) Sqlite3_int64 { /* sqlite3.c:208963:26: */ +func Xsqlite3rbu_temp_size(tls *libc.TLS, pRbu uintptr) Sqlite3_int64 { /* sqlite3.c:209020:26: */ return (*Sqlite3rbu)(unsafe.Pointer(pRbu)).FszTemp } @@ -182608,7 +182658,7 @@ type SessionTable1 = struct { // #include // #include -type SessionTable = SessionTable1 /* sqlite3.c:210308:29 */ +type SessionTable = SessionTable1 /* sqlite3.c:210365:29 */ type SessionChange1 = struct { Fop U8 FbIndirect U8 @@ -182620,14 +182670,14 @@ type SessionChange1 = struct { FpNext uintptr } /* sqlite3.c:10832:9 */ -type SessionChange = SessionChange1 /* sqlite3.c:210309:30 */ +type SessionChange = SessionChange1 /* sqlite3.c:210366:30 */ type SessionBuffer1 = struct { FaBuf uintptr FnBuf int32 FnAlloc int32 } /* sqlite3.c:10840:9 */ -type SessionBuffer = SessionBuffer1 /* sqlite3.c:210310:30 */ +type SessionBuffer = SessionBuffer1 /* sqlite3.c:210367:30 */ type SessionInput1 = struct { FbNoDiscard int32 FiCurrent int32 @@ -182643,11 +182693,11 @@ type SessionInput1 = struct { F__ccgo_pad3 [4]byte } /* sqlite3.c:10840:9 */ -type SessionInput = SessionInput1 /* sqlite3.c:210311:29 */ +type SessionInput = SessionInput1 /* sqlite3.c:210368:29 */ // Minimum chunk size used by streaming versions of functions. -var sessions_strm_chunk_size int32 = SESSIONS_STRM_CHUNK_SIZE /* sqlite3.c:210324:12 */ +var sessions_strm_chunk_size int32 = SESSIONS_STRM_CHUNK_SIZE /* sqlite3.c:210381:12 */ type SessionHook1 = struct { FpCtx uintptr @@ -182657,11 +182707,11 @@ type SessionHook1 = struct { FxDepth uintptr } /* sqlite3.c:10832:9 */ -type SessionHook = SessionHook1 /* sqlite3.c:210326:28 */ +type SessionHook = SessionHook1 /* sqlite3.c:210383:28 */ // Write a varint with value iVal into the buffer at aBuf. Return the // number of bytes written. -func sessionVarintPut(tls *libc.TLS, aBuf uintptr, iVal int32) int32 { /* sqlite3.c:210604:12: */ +func sessionVarintPut(tls *libc.TLS, aBuf uintptr, iVal int32) int32 { /* sqlite3.c:210661:12: */ return int32(func() uint8 { if U32(iVal) < U32(0x80) { return uint8(func() int32 { *(*U8)(unsafe.Pointer(aBuf)) = uint8(iVal); return 1 }()) @@ -182671,13 +182721,13 @@ func sessionVarintPut(tls *libc.TLS, aBuf uintptr, iVal int32) int32 { /* sqlite } // Return the number of bytes required to store value iVal as a varint. -func sessionVarintLen(tls *libc.TLS, iVal int32) int32 { /* sqlite3.c:210611:12: */ +func sessionVarintLen(tls *libc.TLS, iVal int32) int32 { /* sqlite3.c:210668:12: */ return Xsqlite3VarintLen(tls, uint64(iVal)) } // Read a varint value from aBuf[] into *piVal. Return the number of // bytes read. -func sessionVarintGet(tls *libc.TLS, aBuf uintptr, piVal uintptr) int32 { /* sqlite3.c:210619:12: */ +func sessionVarintGet(tls *libc.TLS, aBuf uintptr, piVal uintptr) int32 { /* sqlite3.c:210676:12: */ return int32(func() uint8 { if int32(*(*U8)(unsafe.Pointer(aBuf))) < int32(U8(0x80)) { return uint8(func() int32 { *(*int32)(unsafe.Pointer(piVal)) = int32(U32(*(*U8)(unsafe.Pointer(aBuf)))); return 1 }()) @@ -182690,7 +182740,7 @@ func sessionVarintGet(tls *libc.TLS, aBuf uintptr, piVal uintptr) int32 { /* sql // Read a 64-bit big-endian integer value from buffer aRec[]. Return // the value read. -func sessionGetI64(tls *libc.TLS, aRec uintptr) Sqlite3_int64 { /* sqlite3.c:210630:22: */ +func sessionGetI64(tls *libc.TLS, aRec uintptr) Sqlite3_int64 { /* sqlite3.c:210687:22: */ var x U64 = U64(U32(*(*U8)(unsafe.Pointer(aRec)))<<24 | U32(int32(*(*U8)(unsafe.Pointer(aRec + 1)))<<16) | U32(int32(*(*U8)(unsafe.Pointer(aRec + 2)))<<8) | U32(*(*U8)(unsafe.Pointer(aRec + 3)))) var y U32 = U32(*(*U8)(unsafe.Pointer(aRec + uintptr(4))))<<24 | U32(int32(*(*U8)(unsafe.Pointer(aRec + uintptr(4) + 1)))<<16) | U32(int32(*(*U8)(unsafe.Pointer(aRec + uintptr(4) + 2)))<<8) | U32(*(*U8)(unsafe.Pointer(aRec + uintptr(4) + 3))) x = x<<32 + U64(y) @@ -182698,7 +182748,7 @@ func sessionGetI64(tls *libc.TLS, aRec uintptr) Sqlite3_int64 { /* sqlite3.c:210 } // Write a 64-bit big-endian integer value to the buffer aBuf[]. -func sessionPutI64(tls *libc.TLS, aBuf uintptr, i Sqlite3_int64) { /* sqlite3.c:210640:13: */ +func sessionPutI64(tls *libc.TLS, aBuf uintptr, i Sqlite3_int64) { /* sqlite3.c:210697:13: */ *(*U8)(unsafe.Pointer(aBuf)) = U8(i >> 56 & int64(0xFF)) *(*U8)(unsafe.Pointer(aBuf + 1)) = U8(i >> 48 & int64(0xFF)) *(*U8)(unsafe.Pointer(aBuf + 2)) = U8(i >> 40 & int64(0xFF)) @@ -182720,7 +182770,7 @@ func sessionPutI64(tls *libc.TLS, aBuf uintptr, i Sqlite3_int64) { /* sqlite3.c: // If no error occurs, SQLITE_OK is returned. Or, if an OOM error occurs // within a call to sqlite3_value_text() (may fail if the db is utf-16)) // SQLITE_NOMEM is returned. -func sessionSerializeValue(tls *libc.TLS, aBuf uintptr, pValue uintptr, pnWrite uintptr) int32 { /* sqlite3.c:210664:12: */ +func sessionSerializeValue(tls *libc.TLS, aBuf uintptr, pValue uintptr, pnWrite uintptr) int32 { /* sqlite3.c:210721:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -182808,7 +182858,7 @@ func sessionSerializeValue(tls *libc.TLS, aBuf uintptr, pValue uintptr, pnWrite // Allocate and return a pointer to a buffer nByte bytes in size. If // pSession is not NULL, increase the sqlite3_session.nMalloc variable // by the number of bytes allocated. -func sessionMalloc64(tls *libc.TLS, pSession uintptr, nByte I64) uintptr { /* sqlite3.c:210740:13: */ +func sessionMalloc64(tls *libc.TLS, pSession uintptr, nByte I64) uintptr { /* sqlite3.c:210797:13: */ var pRet uintptr = Xsqlite3_malloc64(tls, uint64(nByte)) if pSession != 0 { *(*I64)(unsafe.Pointer(pSession + 56)) += I64(Xsqlite3_msize(tls, pRet)) @@ -182819,7 +182869,7 @@ func sessionMalloc64(tls *libc.TLS, pSession uintptr, nByte I64) uintptr { /* sq // Free buffer pFree, which must have been allocated by an earlier // call to sessionMalloc64(). If pSession is not NULL, decrease the // sqlite3_session.nMalloc counter by the number of bytes freed. -func sessionFree(tls *libc.TLS, pSession uintptr, pFree uintptr) { /* sqlite3.c:210751:13: */ +func sessionFree(tls *libc.TLS, pSession uintptr, pFree uintptr) { /* sqlite3.c:210808:13: */ if pSession != 0 { *(*I64)(unsafe.Pointer(pSession + 56)) -= I64(Xsqlite3_msize(tls, pFree)) } @@ -182842,14 +182892,14 @@ func sessionFree(tls *libc.TLS, pSession uintptr, pFree uintptr) { /* sqlite3.c: // Append the hash of the 64-bit integer passed as the second argument to the // hash-key value passed as the first. Return the new hash-key value. -func sessionHashAppendI64(tls *libc.TLS, h uint32, i I64) uint32 { /* sqlite3.c:210777:21: */ +func sessionHashAppendI64(tls *libc.TLS, h uint32, i I64) uint32 { /* sqlite3.c:210834:21: */ h = h<<3 ^ h ^ uint32(i&int64(0xFFFFFFFF)) return h<<3 ^ h ^ uint32(i>>32&int64(0xFFFFFFFF)) } // Append the hash of the blob passed via the second and third arguments to // the hash-key value passed as the first. Return the new hash-key value. -func sessionHashAppendBlob(tls *libc.TLS, h uint32, n int32, z uintptr) uint32 { /* sqlite3.c:210786:21: */ +func sessionHashAppendBlob(tls *libc.TLS, h uint32, n int32, z uintptr) uint32 { /* sqlite3.c:210843:21: */ var i int32 for i = 0; i < n; i++ { h = h<<3 ^ h ^ uint32(*(*U8)(unsafe.Pointer(z + uintptr(i)))) @@ -182859,7 +182909,7 @@ func sessionHashAppendBlob(tls *libc.TLS, h uint32, n int32, z uintptr) uint32 { // Append the hash of the data type passed as the second argument to the // hash-key value passed as the first. Return the new hash-key value. -func sessionHashAppendType(tls *libc.TLS, h uint32, eType int32) uint32 { /* sqlite3.c:210796:21: */ +func sessionHashAppendType(tls *libc.TLS, h uint32, eType int32) uint32 { /* sqlite3.c:210853:21: */ return h<<3 ^ h ^ uint32(eType) } @@ -182872,7 +182922,7 @@ func sessionHashAppendType(tls *libc.TLS, h uint32, eType int32) uint32 { /* sql // If an error occurs, an SQLite error code is returned and the final values // of *piHash asn *pbNullPK are undefined. Otherwise, SQLITE_OK is returned // and the output variables are set as described above. -func sessionPreupdateHash(tls *libc.TLS, pSession uintptr, pTab uintptr, bNew int32, piHash uintptr, pbNullPK uintptr) int32 { /* sqlite3.c:210811:12: */ +func sessionPreupdateHash(tls *libc.TLS, pSession uintptr, pTab uintptr, bNew int32, piHash uintptr, pbNullPK uintptr) int32 { /* sqlite3.c:210868:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -182938,7 +182988,7 @@ func sessionPreupdateHash(tls *libc.TLS, pSession uintptr, pTab uintptr, bNew in // The buffer that the argument points to contains a serialized SQL value. // Return the number of bytes of space occupied by the value (including // the type byte). -func sessionSerialLen(tls *libc.TLS, a uintptr) int32 { /* sqlite3.c:210876:12: */ +func sessionSerialLen(tls *libc.TLS, a uintptr) int32 { /* sqlite3.c:210933:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -182964,7 +183014,7 @@ func sessionSerialLen(tls *libc.TLS, a uintptr) int32 { /* sqlite3.c:210876:12: // // The bPkOnly argument is non-zero if the record at aRecord[] is from // a patchset DELETE. In this case the non-PK fields are omitted entirely. -func sessionChangeHash(tls *libc.TLS, pTab uintptr, bPkOnly int32, aRecord uintptr, nBucket int32) uint32 { /* sqlite3.c:210894:21: */ +func sessionChangeHash(tls *libc.TLS, pTab uintptr, bPkOnly int32, aRecord uintptr, nBucket int32) uint32 { /* sqlite3.c:210951:21: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -183007,7 +183057,7 @@ func sessionChangeHash(tls *libc.TLS, pTab uintptr, bPkOnly int32, aRecord uintp // This function returns true if the two records apply to the same row (i.e. // have the same values stored in the primary key columns), or false // otherwise. -func sessionChangeEqual(tls *libc.TLS, pTab uintptr, bLeftPkOnly int32, aLeft uintptr, bRightPkOnly int32, aRight uintptr) int32 { /* sqlite3.c:210943:12: */ +func sessionChangeEqual(tls *libc.TLS, pTab uintptr, bLeftPkOnly int32, aLeft uintptr, bRightPkOnly int32, aRight uintptr) int32 { /* sqlite3.c:211000:12: */ var a1 uintptr = aLeft // Cursor to iterate through aLeft var a2 uintptr = aRight // Cursor to iterate through aRight var iCol int32 // Used to iterate through table columns @@ -183046,7 +183096,7 @@ func sessionChangeEqual(tls *libc.TLS, pTab uintptr, bLeftPkOnly int32, aLeft ui // their. Otherwise, if aLeft contains a value, copy it. If neither // record contains a value for a given column, then neither does the // output record. -func sessionMergeRecord(tls *libc.TLS, paOut uintptr, nCol int32, aLeft uintptr, aRight uintptr) { /* sqlite3.c:210986:13: */ +func sessionMergeRecord(tls *libc.TLS, paOut uintptr, nCol int32, aLeft uintptr, aRight uintptr) { /* sqlite3.c:211043:13: */ var a1 uintptr = aLeft // Cursor used to iterate through aLeft var a2 uintptr = aRight // Cursor used to iterate through aRight var aOut uintptr = *(*uintptr)(unsafe.Pointer(paOut)) // Output cursor @@ -183085,7 +183135,7 @@ func sessionMergeRecord(tls *libc.TLS, paOut uintptr, nCol int32, aLeft uintptr, // if( *paTwo is valid ) return *paTwo; // return *paOne; // -func sessionMergeValue(tls *libc.TLS, paOne uintptr, paTwo uintptr, pnVal uintptr) uintptr { /* sqlite3.c:211032:11: */ +func sessionMergeValue(tls *libc.TLS, paOne uintptr, paTwo uintptr, pnVal uintptr) uintptr { /* sqlite3.c:211089:11: */ var a1 uintptr = *(*uintptr)(unsafe.Pointer(paOne)) var a2 uintptr = *(*uintptr)(unsafe.Pointer(paTwo)) var pRet uintptr = uintptr(0) @@ -183112,7 +183162,7 @@ func sessionMergeValue(tls *libc.TLS, paOne uintptr, paTwo uintptr, pnVal uintpt // This function is used by changeset_concat() to merge two UPDATE changes // on the same row. -func sessionMergeUpdate(tls *libc.TLS, paOut uintptr, pTab uintptr, bPatchset int32, aOldRecord1 uintptr, aOldRecord2 uintptr, aNewRecord1 uintptr, aNewRecord2 uintptr) int32 { /* sqlite3.c:211066:12: */ +func sessionMergeUpdate(tls *libc.TLS, paOut uintptr, pTab uintptr, bPatchset int32, aOldRecord1 uintptr, aOldRecord2 uintptr, aNewRecord1 uintptr, aNewRecord2 uintptr) int32 { /* sqlite3.c:211123:12: */ bp := tls.Alloc(52) defer tls.Free(52) @@ -183187,7 +183237,7 @@ func sessionMergeUpdate(tls *libc.TLS, paOut uintptr, pTab uintptr, bPatchset in // as the change stored in argument pChange. If so, it returns true. Otherwise // if the pre-update-hook does not affect the same row as pChange, it returns // false. -func sessionPreupdateEqual(tls *libc.TLS, pSession uintptr, pTab uintptr, pChange uintptr, op int32) int32 { /* sqlite3.c:211143:12: */ +func sessionPreupdateEqual(tls *libc.TLS, pSession uintptr, pTab uintptr, pChange uintptr, op int32) int32 { /* sqlite3.c:211200:12: */ bp := tls.Alloc(28) defer tls.Free(28) @@ -183275,7 +183325,7 @@ func sessionPreupdateEqual(tls *libc.TLS, pSession uintptr, pTab uintptr, pChang // that case the hash-table does not grow, but SQLITE_OK is returned anyway. // Growing the hash table in this case is a performance optimization only, // it is not required for correct operation. -func sessionGrowHash(tls *libc.TLS, pSession uintptr, bPatchset int32, pTab uintptr) int32 { /* sqlite3.c:211222:12: */ +func sessionGrowHash(tls *libc.TLS, pSession uintptr, bPatchset int32, pTab uintptr) int32 { /* sqlite3.c:211279:12: */ if (*SessionTable)(unsafe.Pointer(pTab)).FnChange == 0 || (*SessionTable)(unsafe.Pointer(pTab)).FnEntry >= (*SessionTable)(unsafe.Pointer(pTab)).FnChange/2 { var i int32 var apNew uintptr @@ -183339,7 +183389,7 @@ func sessionGrowHash(tls *libc.TLS, pSession uintptr, bPatchset int32, pTab uint // // All returned buffers are part of the same single allocation, which must // be freed using sqlite3_free() by the caller -func sessionTableInfo(tls *libc.TLS, pSession uintptr, db uintptr, zDb uintptr, zThis uintptr, pnCol uintptr, pzTab uintptr, pazCol uintptr, pabPK uintptr) int32 { /* sqlite3.c:211288:12: */ +func sessionTableInfo(tls *libc.TLS, pSession uintptr, db uintptr, zDb uintptr, zThis uintptr, pnCol uintptr, pzTab uintptr, pazCol uintptr, pabPK uintptr) int32 { /* sqlite3.c:211345:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -183470,7 +183520,7 @@ func sessionTableInfo(tls *libc.TLS, pSession uintptr, db uintptr, zDb uintptr, // key, sqlite3_session.rc is left set to SQLITE_OK and non-zero returned to // indicate that updates on this table should be ignored. SessionTable.abPK // is set to NULL in this case. -func sessionInitTable(tls *libc.TLS, pSession uintptr, pTab uintptr) int32 { /* sqlite3.c:211421:12: */ +func sessionInitTable(tls *libc.TLS, pSession uintptr, pTab uintptr) int32 { /* sqlite3.c:211478:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -183506,15 +183556,15 @@ func sessionInitTable(tls *libc.TLS, pSession uintptr, pTab uintptr) int32 { /* type SessionStat1Ctx1 = struct { Fhook SessionHook FpSession uintptr -} /* sqlite3.c:211456:9 */ +} /* sqlite3.c:211513:9 */ // Versions of the four methods in object SessionHook for use with the // sqlite_stat1 table. The purpose of this is to substitute a zero-length // blob each time a NULL value is read from the "idx" column of the // sqlite_stat1 table. -type SessionStat1Ctx = SessionStat1Ctx1 /* sqlite3.c:211456:32 */ +type SessionStat1Ctx = SessionStat1Ctx1 /* sqlite3.c:211513:32 */ -func sessionStat1Old(tls *libc.TLS, pCtx uintptr, iCol int32, ppVal uintptr) int32 { /* sqlite3.c:211461:12: */ +func sessionStat1Old(tls *libc.TLS, pCtx uintptr, iCol int32, ppVal uintptr) int32 { /* sqlite3.c:211518:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -183530,7 +183580,7 @@ func sessionStat1Old(tls *libc.TLS, pCtx uintptr, iCol int32, ppVal uintptr) int return rc } -func sessionStat1New(tls *libc.TLS, pCtx uintptr, iCol int32, ppVal uintptr) int32 { /* sqlite3.c:211471:12: */ +func sessionStat1New(tls *libc.TLS, pCtx uintptr, iCol int32, ppVal uintptr) int32 { /* sqlite3.c:211528:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -183546,21 +183596,21 @@ func sessionStat1New(tls *libc.TLS, pCtx uintptr, iCol int32, ppVal uintptr) int return rc } -func sessionStat1Count(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:211481:12: */ +func sessionStat1Count(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:211538:12: */ var p uintptr = pCtx return (*struct { f func(*libc.TLS, uintptr) int32 })(unsafe.Pointer(&struct{ uintptr }{(*SessionStat1Ctx)(unsafe.Pointer(p)).Fhook.FxCount})).f(tls, (*SessionStat1Ctx)(unsafe.Pointer(p)).Fhook.FpCtx) } -func sessionStat1Depth(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:211485:12: */ +func sessionStat1Depth(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:211542:12: */ var p uintptr = pCtx return (*struct { f func(*libc.TLS, uintptr) int32 })(unsafe.Pointer(&struct{ uintptr }{(*SessionStat1Ctx)(unsafe.Pointer(p)).Fhook.FxDepth})).f(tls, (*SessionStat1Ctx)(unsafe.Pointer(p)).Fhook.FpCtx) } -func sessionUpdateMaxSize(tls *libc.TLS, op int32, pSession uintptr, pTab uintptr, pC uintptr) int32 { /* sqlite3.c:211490:12: */ +func sessionUpdateMaxSize(tls *libc.TLS, op int32, pSession uintptr, pTab uintptr, pC uintptr) int32 { /* sqlite3.c:211547:12: */ bp := tls.Alloc(44) defer tls.Free(44) @@ -183674,7 +183724,7 @@ func sessionUpdateMaxSize(tls *libc.TLS, op int32, pSession uintptr, pTab uintpt // // Unless one is already present or an error occurs, an entry is added // to the changed-rows hash table associated with table pTab. -func sessionPreupdateOneChange(tls *libc.TLS, op int32, pSession uintptr, pTab uintptr) { /* sqlite3.c:211596:13: */ +func sessionPreupdateOneChange(tls *libc.TLS, op int32, pSession uintptr, pTab uintptr) { /* sqlite3.c:211653:13: */ bp := tls.Alloc(80) defer tls.Free(80) @@ -183970,7 +184020,7 @@ __35: __36: } -func sessionFindTable(tls *libc.TLS, pSession uintptr, zName uintptr, ppTab uintptr) int32 { /* sqlite3.c:211745:12: */ +func sessionFindTable(tls *libc.TLS, pSession uintptr, zName uintptr, ppTab uintptr) int32 { /* sqlite3.c:211802:12: */ var rc int32 = SQLITE_OK var nName int32 = Xsqlite3Strlen30(tls, zName) var pRet uintptr @@ -184005,7 +184055,7 @@ func sessionFindTable(tls *libc.TLS, pSession uintptr, zName uintptr, ppTab uint } // The 'pre-update' hook registered by this module with SQLite databases. -func xPreUpdate(tls *libc.TLS, pCtx uintptr, db uintptr, op int32, zDb uintptr, zName uintptr, iKey1 Sqlite3_int64, iKey2 Sqlite3_int64) { /* sqlite3.c:211785:13: */ +func xPreUpdate(tls *libc.TLS, pCtx uintptr, db uintptr, op int32, zDb uintptr, zName uintptr, iKey1 Sqlite3_int64, iKey2 Sqlite3_int64) { /* sqlite3.c:211842:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -184040,25 +184090,25 @@ func xPreUpdate(tls *libc.TLS, pCtx uintptr, db uintptr, op int32, zDb uintptr, } // The pre-update hook implementations. -func sessionPreupdateOld(tls *libc.TLS, pCtx uintptr, iVal int32, ppVal uintptr) int32 { /* sqlite3.c:211823:12: */ +func sessionPreupdateOld(tls *libc.TLS, pCtx uintptr, iVal int32, ppVal uintptr) int32 { /* sqlite3.c:211880:12: */ return Xsqlite3_preupdate_old(tls, pCtx, iVal, ppVal) } -func sessionPreupdateNew(tls *libc.TLS, pCtx uintptr, iVal int32, ppVal uintptr) int32 { /* sqlite3.c:211826:12: */ +func sessionPreupdateNew(tls *libc.TLS, pCtx uintptr, iVal int32, ppVal uintptr) int32 { /* sqlite3.c:211883:12: */ return Xsqlite3_preupdate_new(tls, pCtx, iVal, ppVal) } -func sessionPreupdateCount(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:211829:12: */ +func sessionPreupdateCount(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:211886:12: */ return Xsqlite3_preupdate_count(tls, pCtx) } -func sessionPreupdateDepth(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:211832:12: */ +func sessionPreupdateDepth(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:211889:12: */ return Xsqlite3_preupdate_depth(tls, pCtx) } // Install the pre-update hooks on the session object passed as the only // argument. -func sessionPreupdateHooks(tls *libc.TLS, pSession uintptr) { /* sqlite3.c:211840:13: */ +func sessionPreupdateHooks(tls *libc.TLS, pSession uintptr) { /* sqlite3.c:211897:13: */ (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx = (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FxOld = *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) int32 @@ -184078,24 +184128,24 @@ type SessionDiffCtx1 = struct { FpStmt uintptr FnOldOff int32 F__ccgo_pad1 [4]byte -} /* sqlite3.c:211850:9 */ +} /* sqlite3.c:211907:9 */ -type SessionDiffCtx = SessionDiffCtx1 /* sqlite3.c:211850:31 */ +type SessionDiffCtx = SessionDiffCtx1 /* sqlite3.c:211907:31 */ // The diff hook implementations. -func sessionDiffOld(tls *libc.TLS, pCtx uintptr, iVal int32, ppVal uintptr) int32 { /* sqlite3.c:211859:12: */ +func sessionDiffOld(tls *libc.TLS, pCtx uintptr, iVal int32, ppVal uintptr) int32 { /* sqlite3.c:211916:12: */ var p uintptr = pCtx *(*uintptr)(unsafe.Pointer(ppVal)) = Xsqlite3_column_value(tls, (*SessionDiffCtx)(unsafe.Pointer(p)).FpStmt, iVal+(*SessionDiffCtx)(unsafe.Pointer(p)).FnOldOff) return SQLITE_OK } -func sessionDiffNew(tls *libc.TLS, pCtx uintptr, iVal int32, ppVal uintptr) int32 { /* sqlite3.c:211864:12: */ +func sessionDiffNew(tls *libc.TLS, pCtx uintptr, iVal int32, ppVal uintptr) int32 { /* sqlite3.c:211921:12: */ var p uintptr = pCtx *(*uintptr)(unsafe.Pointer(ppVal)) = Xsqlite3_column_value(tls, (*SessionDiffCtx)(unsafe.Pointer(p)).FpStmt, iVal) return SQLITE_OK } -func sessionDiffCount(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:211869:12: */ +func sessionDiffCount(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:211926:12: */ var p uintptr = pCtx if (*SessionDiffCtx)(unsafe.Pointer(p)).FnOldOff != 0 { return (*SessionDiffCtx)(unsafe.Pointer(p)).FnOldOff @@ -184103,13 +184153,13 @@ func sessionDiffCount(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:211869:1 return Xsqlite3_column_count(tls, (*SessionDiffCtx)(unsafe.Pointer(p)).FpStmt) } -func sessionDiffDepth(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:211873:12: */ +func sessionDiffDepth(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:211930:12: */ return 0 } // Install the diff hooks on the session object passed as the only // argument. -func sessionDiffHooks(tls *libc.TLS, pSession uintptr, pDiffCtx uintptr) { /* sqlite3.c:211881:13: */ +func sessionDiffHooks(tls *libc.TLS, pSession uintptr, pDiffCtx uintptr) { /* sqlite3.c:211938:13: */ (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx = pDiffCtx (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FxOld = *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) int32 @@ -184125,7 +184175,7 @@ func sessionDiffHooks(tls *libc.TLS, pSession uintptr, pDiffCtx uintptr) { /* sq }{sessionDiffDepth})) } -func sessionExprComparePK(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uintptr, zTab uintptr, azCol uintptr, abPK uintptr) uintptr { /* sqlite3.c:211892:13: */ +func sessionExprComparePK(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uintptr, zTab uintptr, azCol uintptr, abPK uintptr) uintptr { /* sqlite3.c:211949:13: */ bp := tls.Alloc(64) defer tls.Free(64) @@ -184147,7 +184197,7 @@ func sessionExprComparePK(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uintptr, return zRet } -func sessionExprCompareOther(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uintptr, zTab uintptr, azCol uintptr, abPK uintptr) uintptr { /* sqlite3.c:211915:13: */ +func sessionExprCompareOther(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uintptr, zTab uintptr, azCol uintptr, abPK uintptr) uintptr { /* sqlite3.c:211972:13: */ bp := tls.Alloc(64) defer tls.Free(64) @@ -184177,7 +184227,7 @@ func sessionExprCompareOther(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uintp return zRet } -func sessionSelectFindNew(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uintptr, zTbl uintptr, zExpr uintptr) uintptr { /* sqlite3.c:211946:13: */ +func sessionSelectFindNew(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uintptr, zTbl uintptr, zExpr uintptr) uintptr { /* sqlite3.c:212003:13: */ bp := tls.Alloc(40) defer tls.Free(40) @@ -184188,7 +184238,7 @@ func sessionSelectFindNew(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uintptr, return zRet } -func sessionDiffFindNew(tls *libc.TLS, op int32, pSession uintptr, pTab uintptr, zDb1 uintptr, zDb2 uintptr, zExpr uintptr) int32 { /* sqlite3.c:211962:12: */ +func sessionDiffFindNew(tls *libc.TLS, op int32, pSession uintptr, pTab uintptr, zDb1 uintptr, zDb2 uintptr, zExpr uintptr) int32 { /* sqlite3.c:212019:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -184216,7 +184266,7 @@ func sessionDiffFindNew(tls *libc.TLS, op int32, pSession uintptr, pTab uintptr, return rc } -func sessionDiffFindModified(tls *libc.TLS, pSession uintptr, pTab uintptr, zFrom uintptr, zExpr uintptr) int32 { /* sqlite3.c:211993:12: */ +func sessionDiffFindModified(tls *libc.TLS, pSession uintptr, pTab uintptr, zFrom uintptr, zExpr uintptr) int32 { /* sqlite3.c:212050:12: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -184253,7 +184303,7 @@ func sessionDiffFindModified(tls *libc.TLS, pSession uintptr, pTab uintptr, zFro return rc } -func Xsqlite3session_diff(tls *libc.TLS, pSession uintptr, zFrom uintptr, zTbl uintptr, pzErrMsg uintptr) int32 { /* sqlite3.c:212033:16: */ +func Xsqlite3session_diff(tls *libc.TLS, pSession uintptr, zFrom uintptr, zTbl uintptr, pzErrMsg uintptr) int32 { /* sqlite3.c:212090:16: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -184426,7 +184476,7 @@ diff_out: // Create a session object. This session object will record changes to // database zDb attached to connection db. -func Xsqlite3session_create(tls *libc.TLS, db uintptr, zDb uintptr, ppSession uintptr) int32 { /* sqlite3.c:212128:16: */ +func Xsqlite3session_create(tls *libc.TLS, db uintptr, zDb uintptr, ppSession uintptr) int32 { /* sqlite3.c:212185:16: */ var pNew uintptr // Newly allocated session object var pOld uintptr // Session object already attached to db var nDb int32 = Xsqlite3Strlen30(tls, zDb) // Length of zDb in bytes @@ -184462,7 +184512,7 @@ func Xsqlite3session_create(tls *libc.TLS, db uintptr, zDb uintptr, ppSession ui // Free the list of table objects passed as the first argument. The contents // of the changed-rows hash tables are also deleted. -func sessionDeleteTable(tls *libc.TLS, pSession uintptr, pList uintptr) { /* sqlite3.c:212166:13: */ +func sessionDeleteTable(tls *libc.TLS, pSession uintptr, pList uintptr) { /* sqlite3.c:212223:13: */ var pNext uintptr var pTab uintptr @@ -184484,7 +184534,7 @@ func sessionDeleteTable(tls *libc.TLS, pSession uintptr, pList uintptr) { /* sql } // Delete a session object previously allocated using sqlite3session_create(). -func Xsqlite3session_delete(tls *libc.TLS, pSession uintptr) { /* sqlite3.c:212190:17: */ +func Xsqlite3session_delete(tls *libc.TLS, pSession uintptr) { /* sqlite3.c:212247:17: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -184522,7 +184572,7 @@ func Xsqlite3session_delete(tls *libc.TLS, pSession uintptr) { /* sqlite3.c:2121 } // Set a table filter on a Session Object. -func Xsqlite3session_table_filter(tls *libc.TLS, pSession uintptr, xFilter uintptr, pCtx uintptr) { /* sqlite3.c:212222:17: */ +func Xsqlite3session_table_filter(tls *libc.TLS, pSession uintptr, xFilter uintptr, pCtx uintptr) { /* sqlite3.c:212279:17: */ (*Sqlite3_session)(unsafe.Pointer(pSession)).FbAutoAttach = 1 (*Sqlite3_session)(unsafe.Pointer(pSession)).FpFilterCtx = pCtx (*Sqlite3_session)(unsafe.Pointer(pSession)).FxTableFilter = xFilter @@ -184534,7 +184584,7 @@ func Xsqlite3session_table_filter(tls *libc.TLS, pSession uintptr, xFilter uintp // Only tables that have a PRIMARY KEY defined may be attached. It does // not matter if the PRIMARY KEY is an "INTEGER PRIMARY KEY" (rowid alias) // or not. -func Xsqlite3session_attach(tls *libc.TLS, pSession uintptr, zName uintptr) int32 { /* sqlite3.c:212240:16: */ +func Xsqlite3session_attach(tls *libc.TLS, pSession uintptr, zName uintptr) int32 { /* sqlite3.c:212297:16: */ var rc int32 = SQLITE_OK Xsqlite3_mutex_enter(tls, Xsqlite3_db_mutex(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb)) @@ -184585,7 +184635,7 @@ func Xsqlite3session_attach(tls *libc.TLS, pSession uintptr, zName uintptr) int3 // // If successful, return zero. Otherwise, if an OOM condition is encountered, // set *pRc to SQLITE_NOMEM and return non-zero. -func sessionBufferGrow(tls *libc.TLS, p uintptr, nByte I64, pRc uintptr) int32 { /* sqlite3.c:212293:12: */ +func sessionBufferGrow(tls *libc.TLS, p uintptr, nByte I64, pRc uintptr) int32 { /* sqlite3.c:212350:12: */ var nReq I64 = I64((*SessionBuffer)(unsafe.Pointer(p)).FnBuf) + nByte if *(*int32)(unsafe.Pointer(pRc)) == SQLITE_OK && nReq > I64((*SessionBuffer)(unsafe.Pointer(p)).FnAlloc) { var aNew uintptr @@ -184630,7 +184680,7 @@ func sessionBufferGrow(tls *libc.TLS, p uintptr, nByte I64, pRc uintptr) int32 { // This function is a no-op if *pRc is non-zero when it is called. // Otherwise, if an error occurs, *pRc is set to an SQLite error code // before returning. -func sessionAppendValue(tls *libc.TLS, p uintptr, pVal uintptr, pRc uintptr) { /* sqlite3.c:212336:13: */ +func sessionAppendValue(tls *libc.TLS, p uintptr, pVal uintptr, pRc uintptr) { /* sqlite3.c:212393:13: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -184653,7 +184703,7 @@ func sessionAppendValue(tls *libc.TLS, p uintptr, pVal uintptr, pRc uintptr) { / // // If an OOM condition is encountered, set *pRc to SQLITE_NOMEM before // returning. -func sessionAppendByte(tls *libc.TLS, p uintptr, v U8, pRc uintptr) { /* sqlite3.c:212358:13: */ +func sessionAppendByte(tls *libc.TLS, p uintptr, v U8, pRc uintptr) { /* sqlite3.c:212415:13: */ if 0 == sessionBufferGrow(tls, p, int64(1), pRc) { *(*U8)(unsafe.Pointer((*SessionBuffer)(unsafe.Pointer(p)).FaBuf + uintptr(libc.PostIncInt32(&(*SessionBuffer)(unsafe.Pointer(p)).FnBuf, 1)))) = v } @@ -184664,7 +184714,7 @@ func sessionAppendByte(tls *libc.TLS, p uintptr, v U8, pRc uintptr) { /* sqlite3 // // If an OOM condition is encountered, set *pRc to SQLITE_NOMEM before // returning. -func sessionAppendVarint(tls *libc.TLS, p uintptr, v int32, pRc uintptr) { /* sqlite3.c:212371:13: */ +func sessionAppendVarint(tls *libc.TLS, p uintptr, v int32, pRc uintptr) { /* sqlite3.c:212428:13: */ if 0 == sessionBufferGrow(tls, p, int64(9), pRc) { *(*int32)(unsafe.Pointer(p + 8)) += sessionVarintPut(tls, (*SessionBuffer)(unsafe.Pointer(p)).FaBuf+uintptr((*SessionBuffer)(unsafe.Pointer(p)).FnBuf), v) } @@ -184675,7 +184725,7 @@ func sessionAppendVarint(tls *libc.TLS, p uintptr, v int32, pRc uintptr) { /* sq // // If an OOM condition is encountered, set *pRc to SQLITE_NOMEM before // returning. -func sessionAppendBlob(tls *libc.TLS, p uintptr, aBlob uintptr, nBlob int32, pRc uintptr) { /* sqlite3.c:212384:13: */ +func sessionAppendBlob(tls *libc.TLS, p uintptr, aBlob uintptr, nBlob int32, pRc uintptr) { /* sqlite3.c:212441:13: */ if nBlob > 0 && 0 == sessionBufferGrow(tls, p, int64(nBlob), pRc) { libc.X__builtin___memcpy_chk(tls, (*SessionBuffer)(unsafe.Pointer(p)).FaBuf+uintptr((*SessionBuffer)(unsafe.Pointer(p)).FnBuf), aBlob, uint64(nBlob), libc.X__builtin_object_size(tls, (*SessionBuffer)(unsafe.Pointer(p)).FaBuf+uintptr((*SessionBuffer)(unsafe.Pointer(p)).FnBuf), 0)) *(*int32)(unsafe.Pointer(p + 8)) += nBlob @@ -184688,7 +184738,7 @@ func sessionAppendBlob(tls *libc.TLS, p uintptr, aBlob uintptr, nBlob int32, pRc // // If an OOM condition is encountered, set *pRc to SQLITE_NOMEM before // returning. -func sessionAppendStr(tls *libc.TLS, p uintptr, zStr uintptr, pRc uintptr) { /* sqlite3.c:212404:13: */ +func sessionAppendStr(tls *libc.TLS, p uintptr, zStr uintptr, pRc uintptr) { /* sqlite3.c:212461:13: */ var nStr int32 = Xsqlite3Strlen30(tls, zStr) if 0 == sessionBufferGrow(tls, p, int64(nStr), pRc) { libc.X__builtin___memcpy_chk(tls, (*SessionBuffer)(unsafe.Pointer(p)).FaBuf+uintptr((*SessionBuffer)(unsafe.Pointer(p)).FnBuf), zStr, uint64(nStr), libc.X__builtin_object_size(tls, (*SessionBuffer)(unsafe.Pointer(p)).FaBuf+uintptr((*SessionBuffer)(unsafe.Pointer(p)).FnBuf), 0)) @@ -184702,7 +184752,7 @@ func sessionAppendStr(tls *libc.TLS, p uintptr, zStr uintptr, pRc uintptr) { /* // // If an OOM condition is encountered, set *pRc to SQLITE_NOMEM before // returning. -func sessionAppendInteger(tls *libc.TLS, p uintptr, iVal int32, pRc uintptr) { /* sqlite3.c:212424:13: */ +func sessionAppendInteger(tls *libc.TLS, p uintptr, iVal int32, pRc uintptr) { /* sqlite3.c:212481:13: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -184719,7 +184769,7 @@ func sessionAppendInteger(tls *libc.TLS, p uintptr, iVal int32, pRc uintptr) { / // // If an OOM condition is encountered, set *pRc to SQLITE_NOMEM before // returning. -func sessionAppendIdent(tls *libc.TLS, p uintptr, zStr uintptr, pRc uintptr) { /* sqlite3.c:212443:13: */ +func sessionAppendIdent(tls *libc.TLS, p uintptr, zStr uintptr, pRc uintptr) { /* sqlite3.c:212500:13: */ var nStr int32 = Xsqlite3Strlen30(tls, zStr)*2 + 2 + 1 if 0 == sessionBufferGrow(tls, p, int64(nStr), pRc) { var zOut uintptr = (*SessionBuffer)(unsafe.Pointer(p)).FaBuf + uintptr((*SessionBuffer)(unsafe.Pointer(p)).FnBuf) @@ -184740,7 +184790,7 @@ func sessionAppendIdent(tls *libc.TLS, p uintptr, zStr uintptr, pRc uintptr) { / // called. Otherwse, it appends the serialized version of the value stored // in column iCol of the row that SQL statement pStmt currently points // to to the buffer. -func sessionAppendCol(tls *libc.TLS, p uintptr, pStmt uintptr, iCol int32, pRc uintptr) { /* sqlite3.c:212468:13: */ +func sessionAppendCol(tls *libc.TLS, p uintptr, pStmt uintptr, iCol int32, pRc uintptr) { /* sqlite3.c:212525:13: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -184800,7 +184850,7 @@ func sessionAppendCol(tls *libc.TLS, p uintptr, pStmt uintptr, iCol int32, pRc u // Otherwise, the old.* record contains all primary key values and the // original values of any fields that have been modified. The new.* record // contains the new values of only those fields that have been modified. -func sessionAppendUpdate(tls *libc.TLS, pBuf uintptr, bPatchset int32, pStmt uintptr, p uintptr, abPK uintptr) int32 { /* sqlite3.c:212530:12: */ +func sessionAppendUpdate(tls *libc.TLS, pBuf uintptr, bPatchset int32, pStmt uintptr, p uintptr, abPK uintptr) int32 { /* sqlite3.c:212587:12: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -184906,7 +184956,7 @@ func sessionAppendUpdate(tls *libc.TLS, pBuf uintptr, bPatchset int32, pStmt uin // Append a DELETE change to the buffer passed as the first argument. Use // the changeset format if argument bPatchset is zero, or the patchset // format otherwise. -func sessionAppendDelete(tls *libc.TLS, pBuf uintptr, bPatchset int32, p uintptr, nCol int32, abPK uintptr) int32 { /* sqlite3.c:212630:12: */ +func sessionAppendDelete(tls *libc.TLS, pBuf uintptr, bPatchset int32, p uintptr, nCol int32, abPK uintptr) int32 { /* sqlite3.c:212687:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -184963,7 +185013,7 @@ func sessionAppendDelete(tls *libc.TLS, pBuf uintptr, bPatchset int32, p uintptr // zTab in database zDb based on its primary key. i.e. // // SELECT * FROM zDb.zTab WHERE pk1 = ? AND pk2 = ? AND ... -func sessionSelectStmt(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, nCol int32, azCol uintptr, abPK uintptr, ppStmt uintptr) int32 { /* sqlite3.c:212685:12: */ +func sessionSelectStmt(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, nCol int32, azCol uintptr, abPK uintptr, ppStmt uintptr) int32 { /* sqlite3.c:212742:12: */ bp := tls.Alloc(28) defer tls.Free(28) @@ -185014,7 +185064,7 @@ func sessionSelectStmt(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, nCo // // Return SQLITE_OK if all PK values are successfully bound, or an SQLite // error code (e.g. SQLITE_NOMEM) otherwise. -func sessionSelectBind(tls *libc.TLS, pSelect uintptr, nCol int32, abPK uintptr, pChange uintptr) int32 { /* sqlite3.c:212742:12: */ +func sessionSelectBind(tls *libc.TLS, pSelect uintptr, nCol int32, abPK uintptr, pChange uintptr) int32 { /* sqlite3.c:212799:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -185092,7 +185142,7 @@ func sessionSelectBind(tls *libc.TLS, pSelect uintptr, nCol int32, abPK uintptr, // is called. Otherwise, append a serialized table header (part of the binary // changeset format) to buffer *pBuf. If an error occurs, set *pRc to an // SQLite error code before returning. -func sessionAppendTableHdr(tls *libc.TLS, pBuf uintptr, bPatchset int32, pTab uintptr, pRc uintptr) { /* sqlite3.c:212813:13: */ +func sessionAppendTableHdr(tls *libc.TLS, pBuf uintptr, bPatchset int32, pTab uintptr, pRc uintptr) { /* sqlite3.c:212870:13: */ // Write a table header sessionAppendByte(tls, pBuf, func() uint8 { if bPatchset != 0 { @@ -185113,7 +185163,7 @@ func sessionAppendTableHdr(tls *libc.TLS, pBuf uintptr, bPatchset int32, pTab ui // stored in output variables *pnChangeset and *ppChangeset. Or, if an error // 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) int32 { /* sqlite3.c:212836:12: */ +func sessionGenerateChangeset(tls *libc.TLS, pSession uintptr, bPatchset int32, xOutput uintptr, pOut uintptr, pnChangeset uintptr, ppChangeset uintptr) int32 { /* sqlite3.c:212893:12: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -185243,7 +185293,7 @@ func sessionGenerateChangeset(tls *libc.TLS, pSession uintptr, bPatchset int32, // // It is the responsibility of the caller to eventually free the buffer // using sqlite3_free(). -func Xsqlite3session_changeset(tls *libc.TLS, pSession uintptr, pnChangeset uintptr, ppChangeset uintptr) int32 { /* sqlite3.c:212965:16: */ +func Xsqlite3session_changeset(tls *libc.TLS, pSession uintptr, pnChangeset uintptr, ppChangeset uintptr) int32 { /* sqlite3.c:213022:16: */ var rc int32 if pnChangeset == uintptr(0) || ppChangeset == uintptr(0) { @@ -185255,7 +185305,7 @@ func Xsqlite3session_changeset(tls *libc.TLS, pSession uintptr, pnChangeset uint } // Streaming version of sqlite3session_changeset(). -func Xsqlite3session_changeset_strm(tls *libc.TLS, pSession uintptr, xOutput uintptr, pOut uintptr) int32 { /* sqlite3.c:212983:16: */ +func Xsqlite3session_changeset_strm(tls *libc.TLS, pSession uintptr, xOutput uintptr, pOut uintptr) int32 { /* sqlite3.c:213040:16: */ if xOutput == uintptr(0) { return SQLITE_MISUSE } @@ -185263,7 +185313,7 @@ func Xsqlite3session_changeset_strm(tls *libc.TLS, pSession uintptr, xOutput uin } // Streaming version of sqlite3session_patchset(). -func Xsqlite3session_patchset_strm(tls *libc.TLS, pSession uintptr, xOutput uintptr, pOut uintptr) int32 { /* sqlite3.c:212995:16: */ +func Xsqlite3session_patchset_strm(tls *libc.TLS, pSession uintptr, xOutput uintptr, pOut uintptr) int32 { /* sqlite3.c:213052:16: */ if xOutput == uintptr(0) { return SQLITE_MISUSE } @@ -185275,7 +185325,7 @@ func Xsqlite3session_patchset_strm(tls *libc.TLS, pSession uintptr, xOutput uint // // It is the responsibility of the caller to eventually free the buffer // using sqlite3_free(). -func Xsqlite3session_patchset(tls *libc.TLS, pSession uintptr, pnPatchset uintptr, ppPatchset uintptr) int32 { /* sqlite3.c:213011:16: */ +func Xsqlite3session_patchset(tls *libc.TLS, pSession uintptr, pnPatchset uintptr, ppPatchset uintptr) int32 { /* sqlite3.c:213068:16: */ if pnPatchset == uintptr(0) || ppPatchset == uintptr(0) { return SQLITE_MISUSE } @@ -185283,7 +185333,7 @@ func Xsqlite3session_patchset(tls *libc.TLS, pSession uintptr, pnPatchset uintpt } // Enable or disable the session object passed as the first argument. -func Xsqlite3session_enable(tls *libc.TLS, pSession uintptr, bEnable int32) int32 { /* sqlite3.c:213023:16: */ +func Xsqlite3session_enable(tls *libc.TLS, pSession uintptr, bEnable int32) int32 { /* sqlite3.c:213080:16: */ var ret int32 Xsqlite3_mutex_enter(tls, Xsqlite3_db_mutex(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb)) if bEnable >= 0 { @@ -185295,7 +185345,7 @@ func Xsqlite3session_enable(tls *libc.TLS, pSession uintptr, bEnable int32) int3 } // Enable or disable the session object passed as the first argument. -func Xsqlite3session_indirect(tls *libc.TLS, pSession uintptr, bIndirect int32) int32 { /* sqlite3.c:213037:16: */ +func Xsqlite3session_indirect(tls *libc.TLS, pSession uintptr, bIndirect int32) int32 { /* sqlite3.c:213094:16: */ var ret int32 Xsqlite3_mutex_enter(tls, Xsqlite3_db_mutex(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb)) if bIndirect >= 0 { @@ -185308,7 +185358,7 @@ func Xsqlite3session_indirect(tls *libc.TLS, pSession uintptr, bIndirect int32) // Return true if there have been no changes to monitored tables recorded // by the session object passed as the only argument. -func Xsqlite3session_isempty(tls *libc.TLS, pSession uintptr) int32 { /* sqlite3.c:213052:16: */ +func Xsqlite3session_isempty(tls *libc.TLS, pSession uintptr) int32 { /* sqlite3.c:213109:16: */ var ret int32 = 0 var pTab uintptr @@ -185322,12 +185372,12 @@ func Xsqlite3session_isempty(tls *libc.TLS, pSession uintptr) int32 { /* sqlite3 } // Return the amount of heap memory in use. -func Xsqlite3session_memory_used(tls *libc.TLS, pSession uintptr) Sqlite3_int64 { /* sqlite3.c:213068:26: */ +func Xsqlite3session_memory_used(tls *libc.TLS, pSession uintptr) Sqlite3_int64 { /* sqlite3.c:213125:26: */ return (*Sqlite3_session)(unsafe.Pointer(pSession)).FnMalloc } // Configure the session object passed as the first argument. -func Xsqlite3session_object_config(tls *libc.TLS, pSession uintptr, op int32, pArg uintptr) int32 { /* sqlite3.c:213075:16: */ +func Xsqlite3session_object_config(tls *libc.TLS, pSession uintptr, op int32, pArg uintptr) int32 { /* sqlite3.c:213132:16: */ var rc int32 = SQLITE_OK switch op { case SQLITE_SESSION_OBJCONFIG_SIZE: @@ -185353,12 +185403,12 @@ func Xsqlite3session_object_config(tls *libc.TLS, pSession uintptr, op int32, pA } // Return the maximum size of sqlite3session_changeset() output. -func Xsqlite3session_changeset_size(tls *libc.TLS, pSession uintptr) Sqlite3_int64 { /* sqlite3.c:213101:26: */ +func Xsqlite3session_changeset_size(tls *libc.TLS, pSession uintptr) Sqlite3_int64 { /* sqlite3.c:213158:26: */ return (*Sqlite3_session)(unsafe.Pointer(pSession)).FnMaxChangesetSize } // 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) int32 { /* sqlite3.c:213108:12: */ +func sessionChangesetStart(tls *libc.TLS, pp uintptr, xInput uintptr, pIn uintptr, nChangeset int32, pChangeset uintptr, bInvert int32, bSkipEmpty int32) int32 { /* sqlite3.c:213165:12: */ var pRet uintptr // Iterator to return var nByte int32 // Number of bytes to allocate for iterator @@ -185391,28 +185441,28 @@ func sessionChangesetStart(tls *libc.TLS, pp uintptr, xInput uintptr, pIn uintpt } // Create an iterator used to iterate through the contents of a changeset. -func Xsqlite3changeset_start(tls *libc.TLS, pp uintptr, nChangeset int32, pChangeset uintptr) int32 { /* sqlite3.c:213146:16: */ +func Xsqlite3changeset_start(tls *libc.TLS, pp uintptr, nChangeset int32, pChangeset uintptr) int32 { /* sqlite3.c:213203:16: */ return sessionChangesetStart(tls, pp, uintptr(0), uintptr(0), nChangeset, pChangeset, 0, 0) } -func Xsqlite3changeset_start_v2(tls *libc.TLS, pp uintptr, nChangeset int32, pChangeset uintptr, flags int32) int32 { /* sqlite3.c:213153:16: */ +func Xsqlite3changeset_start_v2(tls *libc.TLS, pp uintptr, nChangeset int32, pChangeset uintptr, flags int32) int32 { /* sqlite3.c:213210:16: */ var bInvert int32 = libc.BoolInt32(!!(flags&SQLITE_CHANGESETSTART_INVERT != 0)) return sessionChangesetStart(tls, pp, uintptr(0), uintptr(0), nChangeset, pChangeset, bInvert, 0) } // Streaming version of sqlite3changeset_start(). -func Xsqlite3changeset_start_strm(tls *libc.TLS, pp uintptr, xInput uintptr, pIn uintptr) int32 { /* sqlite3.c:213166:16: */ +func Xsqlite3changeset_start_strm(tls *libc.TLS, pp uintptr, xInput uintptr, pIn uintptr) int32 { /* sqlite3.c:213223:16: */ return sessionChangesetStart(tls, pp, xInput, pIn, 0, uintptr(0), 0, 0) } -func Xsqlite3changeset_start_v2_strm(tls *libc.TLS, pp uintptr, xInput uintptr, pIn uintptr, flags int32) int32 { /* sqlite3.c:213173:16: */ +func Xsqlite3changeset_start_v2_strm(tls *libc.TLS, pp uintptr, xInput uintptr, pIn uintptr, flags int32) int32 { /* sqlite3.c:213230:16: */ var bInvert int32 = libc.BoolInt32(!!(flags&SQLITE_CHANGESETSTART_INVERT != 0)) return sessionChangesetStart(tls, pp, xInput, pIn, 0, uintptr(0), bInvert, 0) } // If the SessionInput object passed as the only argument is a streaming // object and the buffer is full, discard some data to free up space. -func sessionDiscardData(tls *libc.TLS, pIn uintptr) { /* sqlite3.c:213187:13: */ +func sessionDiscardData(tls *libc.TLS, pIn uintptr) { /* sqlite3.c:213244:13: */ if (*SessionInput)(unsafe.Pointer(pIn)).FxInput != 0 && (*SessionInput)(unsafe.Pointer(pIn)).FiNext >= sessions_strm_chunk_size { var nMove int32 = (*SessionInput)(unsafe.Pointer(pIn)).Fbuf.FnBuf - (*SessionInput)(unsafe.Pointer(pIn)).FiNext @@ -185430,7 +185480,7 @@ func sessionDiscardData(tls *libc.TLS, pIn uintptr) { /* sqlite3.c:213187:13: */ // data is in the buffer. // // Return an SQLite error code if an error occurs, or SQLITE_OK otherwise. -func sessionInputBuffer(tls *libc.TLS, pIn uintptr, nByte int32) int32 { /* sqlite3.c:213207:12: */ +func sessionInputBuffer(tls *libc.TLS, pIn uintptr, nByte int32) int32 { /* sqlite3.c:213264:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -185463,7 +185513,7 @@ func sessionInputBuffer(tls *libc.TLS, pIn uintptr, nByte int32) int32 { /* sqli // When this function is called, *ppRec points to the start of a record // that contains nCol values. This function advances the pointer *ppRec // until it points to the byte immediately following that record. -func sessionSkipRecord(tls *libc.TLS, ppRec uintptr, nCol int32) { /* sqlite3.c:213235:13: */ +func sessionSkipRecord(tls *libc.TLS, ppRec uintptr, nCol int32) { /* sqlite3.c:213292:13: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -185488,7 +185538,7 @@ func sessionSkipRecord(tls *libc.TLS, ppRec uintptr, nCol int32) { /* sqlite3.c: // first argument to a copy of the string or blob held in the aData[] // buffer. SQLITE_OK is returned if successful, or SQLITE_NOMEM if an OOM // error occurs. -func sessionValueSetStr(tls *libc.TLS, pVal uintptr, aData uintptr, nData int32, enc U8) int32 { /* sqlite3.c:213261:12: */ +func sessionValueSetStr(tls *libc.TLS, pVal uintptr, aData uintptr, nData int32, enc U8) int32 { /* sqlite3.c:213318:12: */ // In theory this code could just pass SQLITE_TRANSIENT as the final // argument to sqlite3ValueSetStr() and have the copy created // automatically. But doing so makes it difficult to detect any OOM @@ -185524,7 +185574,7 @@ func sessionValueSetStr(tls *libc.TLS, pVal uintptr, aData uintptr, nData int32, // // If an error occurs, an SQLite error code (e.g. SQLITE_NOMEM) is returned. // The apOut[] array may have been partially populated in this case. -func sessionReadRecord(tls *libc.TLS, pIn uintptr, nCol int32, abPK uintptr, apOut uintptr, pbEmpty uintptr) int32 { /* sqlite3.c:213302:12: */ +func sessionReadRecord(tls *libc.TLS, pIn uintptr, nCol int32, abPK uintptr, apOut uintptr, pbEmpty uintptr) int32 { /* sqlite3.c:213359:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -185542,7 +185592,7 @@ func sessionReadRecord(tls *libc.TLS, pIn uintptr, nCol int32, abPK uintptr, apO rc = sessionInputBuffer(tls, pIn, 9) if rc == SQLITE_OK { if (*SessionInput)(unsafe.Pointer(pIn)).FiNext >= (*SessionInput)(unsafe.Pointer(pIn)).FnData { - rc = Xsqlite3CorruptError(tls, 213320) + rc = Xsqlite3CorruptError(tls, 213377) } else { eType = int32(*(*U8)(unsafe.Pointer((*SessionInput)(unsafe.Pointer(pIn)).FaData + uintptr(libc.PostIncInt32(&(*SessionInput)(unsafe.Pointer(pIn)).FiNext, 1))))) @@ -185567,7 +185617,7 @@ func sessionReadRecord(tls *libc.TLS, pIn uintptr, nCol int32, abPK uintptr, apO rc = sessionInputBuffer(tls, pIn, *(*int32)(unsafe.Pointer(bp /* nByte */))) if rc == SQLITE_OK { if *(*int32)(unsafe.Pointer(bp)) < 0 || *(*int32)(unsafe.Pointer(bp)) > (*SessionInput)(unsafe.Pointer(pIn)).FnData-(*SessionInput)(unsafe.Pointer(pIn)).FiNext { - rc = Xsqlite3CorruptError(tls, 213340) + rc = Xsqlite3CorruptError(tls, 213397) } else { var enc U8 = func() uint8 { if eType == SQLITE_TEXT { @@ -185609,7 +185659,7 @@ func sessionReadRecord(tls *libc.TLS, pIn uintptr, nCol int32, abPK uintptr, apO // buffer (i.e. that it can be accessed without any calls to xInput()). // If successful, SQLITE_OK is returned. Otherwise, an SQLite error code. // The input pointer is not moved. -func sessionChangesetBufferTblhdr(tls *libc.TLS, pIn uintptr, pnByte uintptr) int32 { /* sqlite3.c:213378:12: */ +func sessionChangesetBufferTblhdr(tls *libc.TLS, pIn uintptr, pnByte uintptr) int32 { /* sqlite3.c:213435:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -185628,7 +185678,7 @@ func sessionChangesetBufferTblhdr(tls *libc.TLS, pIn uintptr, pnByte uintptr) in // 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)) > 65536 { - rc = Xsqlite3CorruptError(tls, 213394) + rc = Xsqlite3CorruptError(tls, 213451) } else { rc = sessionInputBuffer(tls, pIn, nRead+*(*int32)(unsafe.Pointer(bp))+100) nRead = nRead + *(*int32)(unsafe.Pointer(bp)) @@ -185655,7 +185705,7 @@ func sessionChangesetBufferTblhdr(tls *libc.TLS, pIn uintptr, pnByte uintptr) in // If successful, SQLITE_OK is returned and *pnByte is set to the size of // the record in bytes. Otherwise, an SQLite error code is returned. The // final value of *pnByte is undefined in this case. -func sessionChangesetBufferRecord(tls *libc.TLS, pIn uintptr, nCol int32, pnByte uintptr) int32 { /* sqlite3.c:213421:12: */ +func sessionChangesetBufferRecord(tls *libc.TLS, pIn uintptr, nCol int32, pnByte uintptr) int32 { /* sqlite3.c:213478:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -185697,7 +185747,7 @@ func sessionChangesetBufferRecord(tls *libc.TLS, pIn uintptr, nCol int32, pnByte // If successful, SQLITE_OK is returned. Otherwise, an SQLite error code // is returned and the final values of the various fields enumerated above // are undefined. -func sessionChangesetReadTblhdr(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:213465:12: */ +func sessionChangesetReadTblhdr(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:213522:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -185717,7 +185767,7 @@ func sessionChangesetReadTblhdr(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:2 (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Ftblhdr.FnBuf = 0 sessionBufferGrow(tls, p+72, int64(nByte), bp+4) } else { - *(*int32)(unsafe.Pointer(bp + 4 /* rc */)) = Xsqlite3CorruptError(tls, 213482) + *(*int32)(unsafe.Pointer(bp + 4 /* rc */)) = Xsqlite3CorruptError(tls, 213539) } } @@ -185752,7 +185802,7 @@ func sessionChangesetReadTblhdr(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:2 // // * If the iterator is configured to skip no-op UPDATEs, // sessionChangesetNext() does that. This function does not. -func sessionChangesetNextOne(tls *libc.TLS, p uintptr, paRec uintptr, pnRec uintptr, pbNew uintptr, pbEmpty uintptr) int32 { /* sqlite3.c:213514:12: */ +func sessionChangesetNextOne(tls *libc.TLS, p uintptr, paRec uintptr, pnRec uintptr, pbNew uintptr, pbEmpty uintptr) int32 { /* sqlite3.c:213571:12: */ var i int32 var op U8 @@ -185809,13 +185859,13 @@ func sessionChangesetNextOne(tls *libc.TLS, p uintptr, paRec uintptr, pnRec uint // The first record in the changeset is not a table header. Must be a // corrupt changeset. - return libc.AssignPtrInt32(p+100, Xsqlite3CorruptError(tls, 213568)) + return libc.AssignPtrInt32(p+100, Xsqlite3CorruptError(tls, 213625)) } (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fop = int32(op) (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FbIndirect = int32(*(*U8)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FaData + uintptr(libc.PostIncInt32(&(*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FiNext, 1))))) if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fop != SQLITE_UPDATE && (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fop != SQLITE_DELETE && (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fop != SQLITE_INSERT { - return libc.AssignPtrInt32(p+100, Xsqlite3CorruptError(tls, 213574)) + return libc.AssignPtrInt32(p+100, Xsqlite3CorruptError(tls, 213631)) } if paRec != 0 { @@ -185885,7 +185935,7 @@ func sessionChangesetNextOne(tls *libc.TLS, p uintptr, paRec uintptr, pnRec uint *(*uintptr)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue + uintptr(i)*8)) = *(*uintptr)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue + uintptr(i+(*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol)*8)) if *(*uintptr)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue + uintptr(i)*8)) == uintptr(0) { - return libc.AssignPtrInt32(p+100, Xsqlite3CorruptError(tls, 213618)) + return libc.AssignPtrInt32(p+100, Xsqlite3CorruptError(tls, 213675)) } *(*uintptr)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue + uintptr(i+(*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol)*8)) = uintptr(0) } @@ -185916,7 +185966,7 @@ func sessionChangesetNextOne(tls *libc.TLS, p uintptr, paRec uintptr, pnRec uint // successfully advanced to the next change in the changeset, an SQLite // error code if an error occurs, or SQLITE_DONE if there are no further // changes in the changeset. -func sessionChangesetNext(tls *libc.TLS, p uintptr, paRec uintptr, pnRec uintptr, pbNew uintptr) int32 { /* sqlite3.c:213647:12: */ +func sessionChangesetNext(tls *libc.TLS, p uintptr, paRec uintptr, pnRec uintptr, pbNew uintptr) int32 { /* sqlite3.c:213704:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -185936,14 +185986,14 @@ func sessionChangesetNext(tls *libc.TLS, p uintptr, paRec uintptr, pnRec uintptr // // This function may not be called on iterators passed to a conflict handler // callback by changeset_apply(). -func Xsqlite3changeset_next(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:213670:16: */ +func Xsqlite3changeset_next(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:213727:16: */ return sessionChangesetNext(tls, p, uintptr(0), uintptr(0), uintptr(0)) } // The following function extracts information on the current change // from a changeset iterator. It may only be called after changeset_next() // has returned SQLITE_ROW. -func Xsqlite3changeset_op(tls *libc.TLS, pIter uintptr, pzTab uintptr, pnCol uintptr, pOp uintptr, pbIndirect uintptr) int32 { /* sqlite3.c:213679:16: */ +func Xsqlite3changeset_op(tls *libc.TLS, pIter uintptr, pzTab uintptr, pnCol uintptr, pOp uintptr, pbIndirect uintptr) int32 { /* sqlite3.c:213736:16: */ *(*int32)(unsafe.Pointer(pOp)) = (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fop *(*int32)(unsafe.Pointer(pnCol)) = (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol *(*uintptr)(unsafe.Pointer(pzTab)) = (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FzTab @@ -185957,7 +186007,7 @@ func Xsqlite3changeset_op(tls *libc.TLS, pIter uintptr, pzTab uintptr, pnCol uin // the database table affected by the change that pIter currently points // to. This function may only be called after changeset_next() returns // SQLITE_ROW. -func Xsqlite3changeset_pk(tls *libc.TLS, pIter uintptr, pabPK uintptr, pnCol uintptr) int32 { /* sqlite3.c:213699:16: */ +func Xsqlite3changeset_pk(tls *libc.TLS, pIter uintptr, pabPK uintptr, pnCol uintptr) int32 { /* sqlite3.c:213756:16: */ *(*uintptr)(unsafe.Pointer(pabPK)) = (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FabPK if pnCol != 0 { *(*int32)(unsafe.Pointer(pnCol)) = (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol @@ -185976,7 +186026,7 @@ func Xsqlite3changeset_pk(tls *libc.TLS, pIter uintptr, pabPK uintptr, pnCol uin // // If value iVal is out-of-range, SQLITE_RANGE is returned and *ppValue is // not modified. Otherwise, SQLITE_OK. -func Xsqlite3changeset_old(tls *libc.TLS, pIter uintptr, iVal int32, ppValue uintptr) int32 { /* sqlite3.c:213722:16: */ +func Xsqlite3changeset_old(tls *libc.TLS, pIter uintptr, iVal int32, ppValue uintptr) int32 { /* sqlite3.c:213779:16: */ if (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fop != SQLITE_UPDATE && (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fop != SQLITE_DELETE { return SQLITE_MISUSE } @@ -185998,7 +186048,7 @@ func Xsqlite3changeset_old(tls *libc.TLS, pIter uintptr, iVal int32, ppValue uin // // If value iVal is out-of-range, SQLITE_RANGE is returned and *ppValue is // not modified. Otherwise, SQLITE_OK. -func Xsqlite3changeset_new(tls *libc.TLS, pIter uintptr, iVal int32, ppValue uintptr) int32 { /* sqlite3.c:213750:16: */ +func Xsqlite3changeset_new(tls *libc.TLS, pIter uintptr, iVal int32, ppValue uintptr) int32 { /* sqlite3.c:213807:16: */ if (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fop != SQLITE_UPDATE && (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fop != SQLITE_INSERT { return SQLITE_MISUSE } @@ -186022,7 +186072,7 @@ func Xsqlite3changeset_new(tls *libc.TLS, pIter uintptr, iVal int32, ppValue uin // // If value iVal is out-of-range or some other error occurs, an SQLite error // code is returned. Otherwise, SQLITE_OK. -func Xsqlite3changeset_conflict(tls *libc.TLS, pIter uintptr, iVal int32, ppValue uintptr) int32 { /* sqlite3.c:213784:16: */ +func Xsqlite3changeset_conflict(tls *libc.TLS, pIter uintptr, iVal int32, ppValue uintptr) int32 { /* sqlite3.c:213841:16: */ if !(int32((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FpConflict) != 0) { return SQLITE_MISUSE } @@ -186039,7 +186089,7 @@ func Xsqlite3changeset_conflict(tls *libc.TLS, pIter uintptr, iVal int32, ppValu // violations in the destination database and returns SQLITE_OK. // // In all other cases this function returns SQLITE_MISUSE. -func Xsqlite3changeset_fk_conflicts(tls *libc.TLS, pIter uintptr, pnOut uintptr) int32 { /* sqlite3.c:213807:16: */ +func Xsqlite3changeset_fk_conflicts(tls *libc.TLS, pIter uintptr, pnOut uintptr) int32 { /* sqlite3.c:213864:16: */ if (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FpConflict != 0 || (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FapValue != 0 { return SQLITE_MISUSE } @@ -186051,7 +186101,7 @@ func Xsqlite3changeset_fk_conflicts(tls *libc.TLS, pIter uintptr, pnOut uintptr) // // This function may not be called on iterators passed to a conflict handler // callback by changeset_apply(). -func Xsqlite3changeset_finalize(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:213825:16: */ +func Xsqlite3changeset_finalize(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:213882:16: */ var rc int32 = SQLITE_OK if p != 0 { var i int32 // Used to iterate through p->apValue[] @@ -186068,7 +186118,7 @@ func Xsqlite3changeset_finalize(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:2 return rc } -func sessionChangesetInvert(tls *libc.TLS, pInput uintptr, xOutput uintptr, pOut uintptr, pnInverted uintptr, ppInverted uintptr) int32 { /* sqlite3.c:213840:12: */ +func sessionChangesetInvert(tls *libc.TLS, pInput uintptr, xOutput uintptr, pOut uintptr, pnInverted uintptr, ppInverted uintptr) int32 { /* sqlite3.c:213897:12: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -186304,7 +186354,7 @@ __27: goto __6 __11: - *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = Xsqlite3CorruptError(tls, 213967) + *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = Xsqlite3CorruptError(tls, 214024) goto finished_invert __6: ; @@ -186355,7 +186405,7 @@ finished_invert: } // Invert a changeset object. -func Xsqlite3changeset_invert(tls *libc.TLS, nChangeset int32, pChangeset uintptr, pnInverted uintptr, ppInverted uintptr) int32 { /* sqlite3.c:213999:16: */ +func Xsqlite3changeset_invert(tls *libc.TLS, nChangeset int32, pChangeset uintptr, pnInverted uintptr, ppInverted uintptr) int32 { /* sqlite3.c:214056:16: */ bp := tls.Alloc(72) defer tls.Free(72) @@ -186370,7 +186420,7 @@ func Xsqlite3changeset_invert(tls *libc.TLS, nChangeset int32, pChangeset uintpt } // Streaming version of sqlite3changeset_invert(). -func Xsqlite3changeset_invert_strm(tls *libc.TLS, xInput uintptr, pIn uintptr, xOutput uintptr, pOut uintptr) int32 { /* sqlite3.c:214018:16: */ +func Xsqlite3changeset_invert_strm(tls *libc.TLS, xInput uintptr, pIn uintptr, xOutput uintptr, pOut uintptr) int32 { /* sqlite3.c:214075:16: */ bp := tls.Alloc(72) defer tls.Free(72) @@ -186392,9 +186442,9 @@ type SessionUpdate1 = struct { FpStmt uintptr FaMask uintptr FpNext uintptr -} /* sqlite3.c:214038:9 */ +} /* sqlite3.c:214095:9 */ -type SessionUpdate = SessionUpdate1 /* sqlite3.c:214038:30 */ +type SessionUpdate = SessionUpdate1 /* sqlite3.c:214095:30 */ type SessionApplyCtx1 = struct { Fdb uintptr @@ -186416,9 +186466,9 @@ type SessionApplyCtx1 = struct { FbRebaseStarted U8 FbRebase U8 F__ccgo_pad3 [6]byte -} /* sqlite3.c:214045:9 */ +} /* sqlite3.c:214102:9 */ -type SessionApplyCtx = SessionApplyCtx1 /* sqlite3.c:214045:32 */ +type SessionApplyCtx = SessionApplyCtx1 /* sqlite3.c:214102:32 */ // Number of prepared UPDATE statements to cache. @@ -186426,7 +186476,7 @@ type SessionApplyCtx = SessionApplyCtx1 /* sqlite3.c:214045:32 */ // being visited by the iterator. The UPDATE is of the form: // // UPDATE tbl SET col = ?, col2 = ? WHERE pk1 IS ? AND pk2 IS ? -func sessionUpdateFind(tls *libc.TLS, pIter uintptr, p uintptr, bPatchset int32, ppStmt uintptr) int32 { /* sqlite3.c:214074:12: */ +func sessionUpdateFind(tls *libc.TLS, pIter uintptr, p uintptr, bPatchset int32, ppStmt uintptr) int32 { /* sqlite3.c:214131:12: */ bp := tls.Alloc(20) defer tls.Free(20) @@ -186560,7 +186610,7 @@ func sessionUpdateFind(tls *libc.TLS, pIter uintptr, p uintptr, bPatchset int32, } // Free all cached UPDATE statements. -func sessionUpdateFree(tls *libc.TLS, p uintptr) { /* sqlite3.c:214213:13: */ +func sessionUpdateFree(tls *libc.TLS, p uintptr) { /* sqlite3.c:214270:13: */ var pUp uintptr var pNext uintptr for pUp = (*SessionApplyCtx)(unsafe.Pointer(p)).FpUp; pUp != 0; pUp = pNext { @@ -186588,7 +186638,7 @@ func sessionUpdateFree(tls *libc.TLS, p uintptr) { /* sqlite3.c:214213:13: */ // // If successful, SQLITE_OK is returned and SessionApplyCtx.pDelete is left // pointing to the prepared version of the SQL statement. -func sessionDeleteRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) int32 { /* sqlite3.c:214243:12: */ +func sessionDeleteRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) int32 { /* sqlite3.c:214300:12: */ bp := tls.Alloc(20) defer tls.Free(20) @@ -186650,7 +186700,7 @@ func sessionDeleteRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) int32 // // If successful, SQLITE_OK is returned and SessionApplyCtx.pSelect is left // pointing to the prepared version of the SQL statement. -func sessionSelectRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) int32 { /* sqlite3.c:214308:12: */ +func sessionSelectRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) int32 { /* sqlite3.c:214365:12: */ return sessionSelectStmt(tls, db, ts+6735, zTab, (*SessionApplyCtx)(unsafe.Pointer(p)).FnCol, (*SessionApplyCtx)(unsafe.Pointer(p)).FazCol, (*SessionApplyCtx)(unsafe.Pointer(p)).FabPK, p+24) } @@ -186662,7 +186712,7 @@ func sessionSelectRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) int32 // // If successful, SQLITE_OK is returned and SessionApplyCtx.pInsert is left // pointing to the prepared version of the SQL statement. -func sessionInsertRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) int32 { /* sqlite3.c:214326:12: */ +func sessionInsertRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) int32 { /* sqlite3.c:214383:12: */ bp := tls.Alloc(20) defer tls.Free(20) @@ -186693,7 +186743,7 @@ func sessionInsertRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) int32 return *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) } -func sessionPrepare(tls *libc.TLS, db uintptr, pp uintptr, zSql uintptr) int32 { /* sqlite3.c:214356:12: */ +func sessionPrepare(tls *libc.TLS, db uintptr, pp uintptr, zSql uintptr) int32 { /* sqlite3.c:214413:12: */ return Xsqlite3_prepare_v2(tls, db, zSql, -1, pp, uintptr(0)) } @@ -186701,7 +186751,7 @@ func sessionPrepare(tls *libc.TLS, db uintptr, pp uintptr, zSql uintptr) int32 { // These are similar to those created by sessionSelectRow(), // sessionInsertRow(), sessionUpdateRow() and sessionDeleteRow() for // other tables. -func sessionStat1Sql(tls *libc.TLS, db uintptr, p uintptr) int32 { /* sqlite3.c:214366:12: */ +func sessionStat1Sql(tls *libc.TLS, db uintptr, p uintptr) int32 { /* sqlite3.c:214423:12: */ var rc int32 = sessionSelectRow(tls, db, ts+11636, p) if rc == SQLITE_OK { rc = sessionPrepare(tls, db, p+16, @@ -186718,7 +186768,7 @@ func sessionStat1Sql(tls *libc.TLS, db uintptr, p uintptr) int32 { /* sqlite3.c: // A wrapper around sqlite3_bind_value() that detects an extra problem. // See comments in the body of this function for details. -func sessionBindValue(tls *libc.TLS, pStmt uintptr, i int32, pVal uintptr) int32 { /* sqlite3.c:214389:12: */ +func sessionBindValue(tls *libc.TLS, pStmt uintptr, i int32, pVal uintptr) int32 { /* sqlite3.c:214446:12: */ var eType int32 = Xsqlite3_value_type(tls, pVal) // COVERAGE: The (pVal->z==0) branch is never true using current versions // of SQLite. If a malloc fails in an sqlite3_value_xxx() function, either @@ -186745,7 +186795,7 @@ func sessionBindValue(tls *libc.TLS, pStmt uintptr, i int32, pVal uintptr) int32 // statement. // // 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) int32 { /* sqlite3.c:214422:12: */ +func sessionBindRow(tls *libc.TLS, pIter uintptr, xValue uintptr, nCol int32, abPK uintptr, pStmt uintptr) int32 { /* sqlite3.c:214479:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -186766,7 +186816,7 @@ func sessionBindRow(tls *libc.TLS, pIter uintptr, xValue uintptr, nCol int32, ab if *(*uintptr)(unsafe.Pointer(bp)) == uintptr(0) { // The value in the changeset was "undefined". This indicates a // corrupt changeset blob. - rc = Xsqlite3CorruptError(tls, 214445) + rc = Xsqlite3CorruptError(tls, 214502) } else { rc = sessionBindValue(tls, pStmt, i+1, *(*uintptr)(unsafe.Pointer(bp /* pVal */))) } @@ -186790,7 +186840,7 @@ func sessionBindRow(tls *libc.TLS, pIter uintptr, xValue uintptr, nCol int32, ab // If the iterator currently points to an INSERT record, bind values from the // new.* record to the SELECT statement. Or, if it points to a DELETE or // UPDATE, bind values from the old.* record. -func sessionSeekToRow(tls *libc.TLS, db uintptr, pIter uintptr, abPK uintptr, pSelect uintptr) int32 { /* sqlite3.c:214471:12: */ +func sessionSeekToRow(tls *libc.TLS, db uintptr, pIter uintptr, abPK uintptr, pSelect uintptr) int32 { /* sqlite3.c:214528:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -186834,7 +186884,7 @@ func sessionSeekToRow(tls *libc.TLS, db uintptr, pIter uintptr, abPK uintptr, pS // of apply_v2() as the "rebase" buffer. // // Return SQLITE_OK if successful, or an SQLite error code otherwise. -func sessionRebaseAdd(tls *libc.TLS, p uintptr, eType int32, pIter uintptr) int32 { /* sqlite3.c:214506:12: */ +func sessionRebaseAdd(tls *libc.TLS, p uintptr, eType int32, pIter uintptr) int32 { /* sqlite3.c:214563:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -186906,7 +186956,7 @@ func sessionRebaseAdd(tls *libc.TLS, p uintptr, eType int32, pIter uintptr) int3 // returned. Or, if the conflict handler returns an invalid value, // 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) int32 { /* sqlite3.c:214580:12: */ +func sessionConflictHandler(tls *libc.TLS, eType int32, p uintptr, pIter uintptr, xConflict uintptr, pCtx uintptr, pbReplace uintptr) int32 { /* sqlite3.c:214637:12: */ bp := tls.Alloc(20) defer tls.Free(20) @@ -187006,7 +187056,7 @@ func sessionConflictHandler(tls *libc.TLS, eType int32, p uintptr, pIter uintptr // If any conflict handler returns SQLITE_CHANGESET_ABORT, this function // 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) int32 { /* sqlite3.c:214678:12: */ +func sessionApplyOneOp(tls *libc.TLS, pIter uintptr, p uintptr, xConflict uintptr, pCtx uintptr, pbReplace uintptr, pbRetry uintptr) int32 { /* sqlite3.c:214735:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -187141,7 +187191,7 @@ func sessionApplyOneOp(tls *libc.TLS, pIter uintptr, p uintptr, xConflict uintpt // function handles the case where the conflict-handler is invoked and // 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) int32 { /* sqlite3.c:214811:12: */ +func sessionApplyOneWithRetry(tls *libc.TLS, db uintptr, pIter uintptr, pApply uintptr, xConflict uintptr, pCtx uintptr) int32 { /* sqlite3.c:214868:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -187188,7 +187238,7 @@ func sessionApplyOneWithRetry(tls *libc.TLS, db uintptr, pIter uintptr, pApply u } // 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) int32 { /* sqlite3.c:214868:12: */ +func sessionRetryConstraints(tls *libc.TLS, db uintptr, bPatchset int32, zTab uintptr, pApply uintptr, xConflict uintptr, pCtx uintptr) int32 { /* sqlite3.c:214925:12: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -187242,7 +187292,7 @@ func sessionRetryConstraints(tls *libc.TLS, db uintptr, bPatchset int32, zTab ui // changeset to the main database attached to handle "db". The supplied // 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) int32 { /* sqlite3.c:214924:12: */ +func sessionChangesetApply(tls *libc.TLS, db uintptr, pIter uintptr, xFilter uintptr, xConflict uintptr, pCtx uintptr, ppRebase uintptr, pnRebase uintptr, flags int32) int32 { /* sqlite3.c:214981:12: */ bp := tls.Alloc(368) defer tls.Free(368) @@ -187433,7 +187483,7 @@ func sessionChangesetApply(tls *libc.TLS, db uintptr, pIter uintptr, xFilter uin // 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) int32 { /* sqlite3.c:215122:16: */ +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) int32 { /* sqlite3.c:215179:16: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -187451,7 +187501,7 @@ func Xsqlite3changeset_apply_v2(tls *libc.TLS, db uintptr, nChangeset int32, pCh // Apply the changeset passed via pChangeset/nChangeset to the main database // 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) int32 { /* sqlite3.c:215155:16: */ +func Xsqlite3changeset_apply(tls *libc.TLS, db uintptr, nChangeset int32, pChangeset uintptr, xFilter uintptr, xConflict uintptr, pCtx uintptr) int32 { /* sqlite3.c:215212:16: */ return Xsqlite3changeset_apply_v2(tls, db, nChangeset, pChangeset, xFilter, xConflict, pCtx, uintptr(0), uintptr(0), 0) } @@ -187459,7 +187509,7 @@ func Xsqlite3changeset_apply(tls *libc.TLS, db uintptr, nChangeset int32, pChang // Apply the changeset passed via xInput/pIn to the main database // 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) int32 { /* sqlite3.c:215180:16: */ +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) int32 { /* sqlite3.c:215237:16: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -187474,7 +187524,7 @@ func Xsqlite3changeset_apply_v2_strm(tls *libc.TLS, db uintptr, xInput uintptr, return rc } -func Xsqlite3changeset_apply_strm(tls *libc.TLS, db uintptr, xInput uintptr, pIn uintptr, xFilter uintptr, xConflict uintptr, pCtx uintptr) int32 { /* sqlite3.c:215207:16: */ +func Xsqlite3changeset_apply_strm(tls *libc.TLS, db uintptr, xInput uintptr, pIn uintptr, xFilter uintptr, xConflict uintptr, pCtx uintptr) int32 { /* sqlite3.c:215264:16: */ return Xsqlite3changeset_apply_v2_strm(tls, db, xInput, pIn, xFilter, xConflict, pCtx, uintptr(0), uintptr(0), 0) } @@ -187482,7 +187532,7 @@ func Xsqlite3changeset_apply_strm(tls *libc.TLS, db uintptr, xInput uintptr, pIn // This function is called to merge two changes to the same row together as // part of an sqlite3changeset_concat() operation. A new change object is // allocated and a pointer to it stored in *ppNew. -func sessionChangeMerge(tls *libc.TLS, pTab uintptr, bRebase int32, bPatchset int32, pExist uintptr, op2 int32, bIndirect int32, aRec uintptr, nRec int32, ppNew uintptr) int32 { /* sqlite3.c:215241:12: */ +func sessionChangeMerge(tls *libc.TLS, pTab uintptr, bRebase int32, bPatchset int32, pExist uintptr, op2 int32, bIndirect int32, aRec uintptr, nRec int32, ppNew uintptr) int32 { /* sqlite3.c:215298:12: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -187654,7 +187704,7 @@ func sessionChangeMerge(tls *libc.TLS, pTab uintptr, bRebase int32, bPatchset in // Add all changes in the changeset traversed by the iterator passed as // the first argument to the changegroup hash tables. -func sessionChangesetToHash(tls *libc.TLS, pIter uintptr, pGrp uintptr, bRebase int32) int32 { /* sqlite3.c:215423:12: */ +func sessionChangesetToHash(tls *libc.TLS, pIter uintptr, pGrp uintptr, bRebase int32) int32 { /* sqlite3.c:215480:12: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -187785,7 +187835,7 @@ func sessionChangesetToHash(tls *libc.TLS, pIter uintptr, pGrp uintptr, bRebase // If successful, SQLITE_OK is returned. Or, if an error occurs, an SQLite // 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) int32 { /* sqlite3.c:215546:12: */ +func sessionChangegroupOutput(tls *libc.TLS, pGrp uintptr, xOutput uintptr, pOut uintptr, pnOut uintptr, ppOut uintptr) int32 { /* sqlite3.c:215603:12: */ bp := tls.Alloc(20) defer tls.Free(20) @@ -187839,7 +187889,7 @@ func sessionChangegroupOutput(tls *libc.TLS, pGrp uintptr, xOutput uintptr, pOut } // Allocate a new, empty, sqlite3_changegroup. -func Xsqlite3changegroup_new(tls *libc.TLS, pp uintptr) int32 { /* sqlite3.c:215597:16: */ +func Xsqlite3changegroup_new(tls *libc.TLS, pp uintptr) int32 { /* sqlite3.c:215654:16: */ var rc int32 = SQLITE_OK // Return code var p uintptr // New object p = Xsqlite3_malloc(tls, int32(unsafe.Sizeof(Sqlite3_changegroup{}))) @@ -187854,7 +187904,7 @@ func Xsqlite3changegroup_new(tls *libc.TLS, pp uintptr) int32 { /* sqlite3.c:215 // Add the changeset currently stored in buffer pData, size nData bytes, // to changeset-group p. -func Xsqlite3changegroup_add(tls *libc.TLS, pGrp uintptr, nData int32, pData uintptr) int32 { /* sqlite3.c:215614:16: */ +func Xsqlite3changegroup_add(tls *libc.TLS, pGrp uintptr, nData int32, pData uintptr) int32 { /* sqlite3.c:215671:16: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -187872,12 +187922,12 @@ func Xsqlite3changegroup_add(tls *libc.TLS, pGrp uintptr, nData int32, pData uin // Obtain a buffer containing a changeset representing the concatenation // of all changesets added to the group so far. -func Xsqlite3changegroup_output(tls *libc.TLS, pGrp uintptr, pnData uintptr, ppData uintptr) int32 { /* sqlite3.c:215630:16: */ +func Xsqlite3changegroup_output(tls *libc.TLS, pGrp uintptr, pnData uintptr, ppData uintptr) int32 { /* sqlite3.c:215687:16: */ return sessionChangegroupOutput(tls, pGrp, uintptr(0), uintptr(0), pnData, ppData) } // Streaming versions of changegroup_add(). -func Xsqlite3changegroup_add_strm(tls *libc.TLS, pGrp uintptr, xInput uintptr, pIn uintptr) int32 { /* sqlite3.c:215641:16: */ +func Xsqlite3changegroup_add_strm(tls *libc.TLS, pGrp uintptr, xInput uintptr, pIn uintptr) int32 { /* sqlite3.c:215698:16: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -187894,12 +187944,12 @@ func Xsqlite3changegroup_add_strm(tls *libc.TLS, pGrp uintptr, xInput uintptr, p } // Streaming versions of changegroup_output(). -func Xsqlite3changegroup_output_strm(tls *libc.TLS, pGrp uintptr, xOutput uintptr, pOut uintptr) int32 { /* sqlite3.c:215660:16: */ +func Xsqlite3changegroup_output_strm(tls *libc.TLS, pGrp uintptr, xOutput uintptr, pOut uintptr) int32 { /* sqlite3.c:215717:16: */ return sessionChangegroupOutput(tls, pGrp, xOutput, pOut, uintptr(0), uintptr(0)) } // Delete a changegroup object. -func Xsqlite3changegroup_delete(tls *libc.TLS, pGrp uintptr) { /* sqlite3.c:215671:17: */ +func Xsqlite3changegroup_delete(tls *libc.TLS, pGrp uintptr) { /* sqlite3.c:215728:17: */ if pGrp != 0 { sessionDeleteTable(tls, uintptr(0), (*Sqlite3_changegroup)(unsafe.Pointer(pGrp)).FpList) Xsqlite3_free(tls, pGrp) @@ -187907,7 +187957,7 @@ func Xsqlite3changegroup_delete(tls *libc.TLS, pGrp uintptr) { /* sqlite3.c:2156 } // Combine two changesets together. -func Xsqlite3changeset_concat(tls *libc.TLS, nLeft int32, pLeft uintptr, nRight int32, pRight uintptr, pnOut uintptr, ppOut uintptr) int32 { /* sqlite3.c:215681:16: */ +func Xsqlite3changeset_concat(tls *libc.TLS, nLeft int32, pLeft uintptr, nRight int32, pRight uintptr, pnOut uintptr, ppOut uintptr) int32 { /* sqlite3.c:215738:16: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -187931,7 +187981,7 @@ func Xsqlite3changeset_concat(tls *libc.TLS, nLeft int32, pLeft uintptr, nRight } // Streaming version of sqlite3changeset_concat(). -func Xsqlite3changeset_concat_strm(tls *libc.TLS, xInputA uintptr, pInA uintptr, xInputB uintptr, pInB uintptr, xOutput uintptr, pOut uintptr) int32 { /* sqlite3.c:215710:16: */ +func Xsqlite3changeset_concat_strm(tls *libc.TLS, xInputA uintptr, pInA uintptr, xInputB uintptr, pInB uintptr, xOutput uintptr, pOut uintptr) int32 { /* sqlite3.c:215767:16: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -187958,7 +188008,7 @@ func Xsqlite3changeset_concat_strm(tls *libc.TLS, xInputA uintptr, pInA uintptr, // fields in size. This function appends an nCol sessions module // record to buffer pBuf that is a copy of a1, except that for // each field that is undefined in a1[], swap in the field from a2[]. -func sessionAppendRecordMerge(tls *libc.TLS, pBuf uintptr, nCol int32, a1 uintptr, n1 int32, a2 uintptr, n2 int32, pRc uintptr) { /* sqlite3.c:215749:13: */ +func sessionAppendRecordMerge(tls *libc.TLS, pBuf uintptr, nCol int32, a1 uintptr, n1 int32, a2 uintptr, n2 int32, pRc uintptr) { /* sqlite3.c:215806:13: */ sessionBufferGrow(tls, pBuf, int64(n1+n2), pRc) if *(*int32)(unsafe.Pointer(pRc)) == SQLITE_OK { var i int32 @@ -187999,7 +188049,7 @@ func sessionAppendRecordMerge(tls *libc.TLS, pBuf uintptr, nCol int32, a1 uintpt // corresponding field in the rebase buffer is not "undefined" (0x00) // or "replaced" (0xFF), the old.* value is replaced by the value // in the rebase buffer. -func sessionAppendPartialUpdate(tls *libc.TLS, pBuf uintptr, pIter uintptr, aRec uintptr, nRec int32, aChange uintptr, nChange int32, pRc uintptr) { /* sqlite3.c:215798:13: */ +func sessionAppendPartialUpdate(tls *libc.TLS, pBuf uintptr, pIter uintptr, aRec uintptr, nRec int32, aChange uintptr, nChange int32, pRc uintptr) { /* sqlite3.c:215855:13: */ sessionBufferGrow(tls, pBuf, int64(2+nRec+nChange), pRc) if *(*int32)(unsafe.Pointer(pRc)) == SQLITE_OK { var bData int32 = 0 @@ -188061,7 +188111,7 @@ func sessionAppendPartialUpdate(tls *libc.TLS, pBuf uintptr, pIter uintptr, aRec // If an error occurs, an SQLite error code is returned. If ppOut and // 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) int32 { /* sqlite3.c:215866:12: */ +func sessionRebase(tls *libc.TLS, p uintptr, pIter uintptr, xOutput uintptr, pOut uintptr, pnOut uintptr, ppOut uintptr) int32 { /* sqlite3.c:215923:12: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -188199,7 +188249,7 @@ func sessionRebase(tls *libc.TLS, p uintptr, pIter uintptr, xOutput uintptr, pOu } // Create a new rebaser object. -func Xsqlite3rebaser_create(tls *libc.TLS, ppNew uintptr) int32 { /* sqlite3.c:215998:16: */ +func Xsqlite3rebaser_create(tls *libc.TLS, ppNew uintptr) int32 { /* sqlite3.c:216055:16: */ var rc int32 = SQLITE_OK var pNew uintptr @@ -188214,7 +188264,7 @@ func Xsqlite3rebaser_create(tls *libc.TLS, ppNew uintptr) int32 { /* sqlite3.c:2 } // Call this one or more times to configure a rebaser. -func Xsqlite3rebaser_configure(tls *libc.TLS, p uintptr, nRebase int32, pRebase uintptr) int32 { /* sqlite3.c:216015:16: */ +func Xsqlite3rebaser_configure(tls *libc.TLS, p uintptr, nRebase int32, pRebase uintptr) int32 { /* sqlite3.c:216072:16: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -188229,7 +188279,7 @@ func Xsqlite3rebaser_configure(tls *libc.TLS, p uintptr, nRebase int32, pRebase } // Rebase a changeset according to current rebaser configuration -func Xsqlite3rebaser_rebase(tls *libc.TLS, p uintptr, nIn int32, pIn uintptr, pnOut uintptr, ppOut uintptr) int32 { /* sqlite3.c:216032:16: */ +func Xsqlite3rebaser_rebase(tls *libc.TLS, p uintptr, nIn int32, pIn uintptr, pnOut uintptr, ppOut uintptr) int32 { /* sqlite3.c:216089:16: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -188245,7 +188295,7 @@ func Xsqlite3rebaser_rebase(tls *libc.TLS, p uintptr, nIn int32, pIn uintptr, pn } // 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) int32 { /* sqlite3.c:216051:16: */ +func Xsqlite3rebaser_rebase_strm(tls *libc.TLS, p uintptr, xInput uintptr, pIn uintptr, xOutput uintptr, pOut uintptr) int32 { /* sqlite3.c:216108:16: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -188261,7 +188311,7 @@ func Xsqlite3rebaser_rebase_strm(tls *libc.TLS, p uintptr, xInput uintptr, pIn u } // Destroy a rebaser object -func Xsqlite3rebaser_delete(tls *libc.TLS, p uintptr) { /* sqlite3.c:216072:17: */ +func Xsqlite3rebaser_delete(tls *libc.TLS, p uintptr) { /* sqlite3.c:216129:17: */ if p != 0 { sessionDeleteTable(tls, uintptr(0), (*Sqlite3_rebaser)(unsafe.Pointer(p)).Fgrp.FpList) Xsqlite3_free(tls, p) @@ -188269,7 +188319,7 @@ func Xsqlite3rebaser_delete(tls *libc.TLS, p uintptr) { /* sqlite3.c:216072:17: } // Global configuration -func Xsqlite3session_config(tls *libc.TLS, op int32, pArg uintptr) int32 { /* sqlite3.c:216082:16: */ +func Xsqlite3session_config(tls *libc.TLS, op int32, pArg uintptr) int32 { /* sqlite3.c:216139:16: */ var rc int32 = SQLITE_OK switch op { case SQLITE_SESSION_CONFIG_STRMSIZE: @@ -188357,7 +188407,7 @@ type Fts5Global1 = struct { FpTok uintptr FpDfltTok uintptr FpCsr uintptr -} /* sqlite3.c:216813:9 */ +} /* sqlite3.c:216870:9 */ //************* End of sqlite3session.c ************************************* //************* Begin file fts5.c ******************************************* @@ -188419,13 +188469,13 @@ type Fts5Global1 = struct { // Mark a function parameter as unused, to suppress nuisance compiler // warnings. -type Fts5Global = Fts5Global1 /* sqlite3.c:216813:27 */ +type Fts5Global = Fts5Global1 /* sqlite3.c:216870:27 */ type Fts5Colset1 = struct { FnCol int32 FaiCol [1]int32 -} /* sqlite3.c:216813:9 */ +} /* sqlite3.c:216870:9 */ -type Fts5Colset = Fts5Colset1 /* sqlite3.c:216814:27 */ +type Fts5Colset = Fts5Colset1 /* sqlite3.c:216871:27 */ // ************************************************************************* // @@ -188463,14 +188513,14 @@ type Fts5Config1 = struct { FzRank uintptr FzRankArgs uintptr FpzErrmsg uintptr -} /* sqlite3.c:216813:9 */ +} /* sqlite3.c:216870:9 */ // ************************************************************************* // // Interface to code in fts5_config.c. fts5_config.c contains contains code // to parse the arguments passed to the CREATE VIRTUAL TABLE statement. -type Fts5Config = Fts5Config1 /* sqlite3.c:216834:27 */ +type Fts5Config = Fts5Config1 /* sqlite3.c:216891:27 */ // // End of interface to code in fts5_config.c. @@ -188485,7 +188535,7 @@ type Fts5Buffer1 = struct { Fp uintptr Fn int32 FnSpace int32 -} /* sqlite3.c:216813:9 */ +} /* sqlite3.c:216870:9 */ // // End of interface to code in fts5_config.c. @@ -188496,7 +188546,7 @@ type Fts5Buffer1 = struct { // Interface to code in fts5_buffer.c. // Buffer object for the incremental building of string data. -type Fts5Buffer = Fts5Buffer1 /* sqlite3.c:216960:27 */ +type Fts5Buffer = Fts5Buffer1 /* sqlite3.c:217017:27 */ type Fts5PoslistReader1 = struct { Fa uintptr @@ -188506,19 +188556,19 @@ type Fts5PoslistReader1 = struct { FbEof U8 F__ccgo_pad1 [6]byte FiPos I64 -} /* sqlite3.c:216813:9 */ +} /* sqlite3.c:216870:9 */ -type Fts5PoslistReader = Fts5PoslistReader1 /* sqlite3.c:216996:34 */ +type Fts5PoslistReader = Fts5PoslistReader1 /* sqlite3.c:217053:34 */ -type Fts5PoslistWriter1 = struct{ FiPrev I64 } /* sqlite3.c:217015:9 */ +type Fts5PoslistWriter1 = struct{ FiPrev I64 } /* sqlite3.c:217072:9 */ -type Fts5PoslistWriter = Fts5PoslistWriter1 /* sqlite3.c:217015:34 */ +type Fts5PoslistWriter = Fts5PoslistWriter1 /* sqlite3.c:217072:34 */ // Bucket of terms object used by the integrity-check in offsets=0 mode. -type Fts5Termset1 = struct{ FapHash [512]uintptr } /* sqlite3.c:217037:9 */ +type Fts5Termset1 = struct{ FapHash [512]uintptr } /* sqlite3.c:217094:9 */ // Bucket of terms object used by the integrity-check in offsets=0 mode. -type Fts5Termset = Fts5Termset1 /* sqlite3.c:217037:28 */ +type Fts5Termset = Fts5Termset1 /* sqlite3.c:217094:28 */ // // End of interface to code in fts5_buffer.c. @@ -188551,7 +188601,7 @@ type Fts5Index1 = struct { FpDataVersion uintptr FiStructVersion I64 FpStruct uintptr -} /* sqlite3.c:216813:9 */ +} /* sqlite3.c:216870:9 */ // // End of interface to code in fts5_buffer.c. @@ -188562,16 +188612,16 @@ type Fts5Index1 = struct { // Interface to code in fts5_index.c. fts5_index.c contains contains code // to access the data stored in the %_data table. -type Fts5Index = Fts5Index1 /* sqlite3.c:217051:26 */ +type Fts5Index = Fts5Index1 /* sqlite3.c:217108:26 */ type Fts5IndexIter1 = struct { FiRowid I64 FpData uintptr FnData int32 FbEof U8 F__ccgo_pad1 [3]byte -} /* sqlite3.c:216813:9 */ +} /* sqlite3.c:216870:9 */ -type Fts5IndexIter = Fts5IndexIter1 /* sqlite3.c:217052:30 */ +type Fts5IndexIter = Fts5IndexIter1 /* sqlite3.c:217109:30 */ // // End of interface to code in fts5_varint.c. @@ -188586,7 +188636,7 @@ type Fts5Table1 = struct { Fbase Sqlite3_vtab FpConfig uintptr FpIndex uintptr -} /* sqlite3.c:217254:9 */ +} /* sqlite3.c:217311:9 */ // // End of interface to code in fts5_varint.c. @@ -188597,7 +188647,7 @@ type Fts5Table1 = struct { // Interface to code in fts5_main.c. // Virtual-table object. -type Fts5Table = Fts5Table1 /* sqlite3.c:217254:26 */ +type Fts5Table = Fts5Table1 /* sqlite3.c:217311:26 */ // // End of interface to code in fts5.c. @@ -188614,7 +188664,7 @@ type Fts5Hash1 = struct { FnSlot int32 FpScan uintptr FaSlot uintptr -} /* sqlite3.c:216813:9 */ +} /* sqlite3.c:216870:9 */ // // End of interface to code in fts5.c. @@ -188623,7 +188673,7 @@ type Fts5Hash1 = struct { // ************************************************************************* // // Interface to code in fts5_hash.c. -type Fts5Hash = Fts5Hash1 /* sqlite3.c:217280:25 */ +type Fts5Hash = Fts5Hash1 /* sqlite3.c:217337:25 */ // // End of interface to code in fts5_hash.c. @@ -188642,7 +188692,7 @@ type Fts5Storage1 = struct { FnTotalRow I64 FaTotalSize uintptr FaStmt [11]uintptr -} /* sqlite3.c:217336:9 */ +} /* sqlite3.c:217393:9 */ // // End of interface to code in fts5_hash.c. @@ -188653,7 +188703,7 @@ type Fts5Storage1 = struct { // Interface to code in fts5_storage.c. fts5_storage.c contains contains // code to access the data stored in the %_content and %_docsize tables. -type Fts5Storage = Fts5Storage1 /* sqlite3.c:217336:28 */ +type Fts5Storage = Fts5Storage1 /* sqlite3.c:217393:28 */ // // End of interface to code in fts5_storage.c. @@ -188669,7 +188719,7 @@ type Fts5Expr1 = struct { FbDesc int32 FnPhrase int32 FapExprPhrase uintptr -} /* sqlite3.c:216813:9 */ +} /* sqlite3.c:216870:9 */ // // End of interface to code in fts5_storage.c. @@ -188678,7 +188728,7 @@ type Fts5Expr1 = struct { // ************************************************************************* // // Interface to code in fts5_expr.c. -type Fts5Expr = Fts5Expr1 /* sqlite3.c:217379:25 */ +type Fts5Expr = Fts5Expr1 /* sqlite3.c:217436:25 */ type Fts5ExprNode1 = struct { FeType int32 FbEof int32 @@ -188690,9 +188740,9 @@ type Fts5ExprNode1 = struct { FnChild int32 F__ccgo_pad2 [4]byte FapChild [1]uintptr -} /* sqlite3.c:216813:9 */ +} /* sqlite3.c:216870:9 */ -type Fts5ExprNode = Fts5ExprNode1 /* sqlite3.c:217380:29 */ +type Fts5ExprNode = Fts5ExprNode1 /* sqlite3.c:217437:29 */ type Fts5Parse1 = struct { FpConfig uintptr FzErr uintptr @@ -188702,25 +188752,25 @@ type Fts5Parse1 = struct { FpExpr uintptr FbPhraseToAnd int32 F__ccgo_pad1 [4]byte -} /* sqlite3.c:217381:9 */ +} /* sqlite3.c:217438:9 */ -type Fts5Parse = Fts5Parse1 /* sqlite3.c:217381:26 */ +type Fts5Parse = Fts5Parse1 /* sqlite3.c:217438:26 */ type Fts5Token1 = struct { Fp uintptr Fn int32 F__ccgo_pad1 [4]byte -} /* sqlite3.c:217382:9 */ +} /* sqlite3.c:217439:9 */ -type Fts5Token = Fts5Token1 /* sqlite3.c:217382:26 */ +type Fts5Token = Fts5Token1 /* sqlite3.c:217439:26 */ type Fts5ExprPhrase1 = struct { FpNode uintptr Fposlist Fts5Buffer FnTerm int32 F__ccgo_pad1 [4]byte FaTerm [1]Fts5ExprTerm -} /* sqlite3.c:216813:9 */ +} /* sqlite3.c:216870:9 */ -type Fts5ExprPhrase = Fts5ExprPhrase1 /* sqlite3.c:217383:31 */ +type Fts5ExprPhrase = Fts5ExprPhrase1 /* sqlite3.c:217440:31 */ type Fts5ExprNearset1 = struct { FnNear int32 F__ccgo_pad1 [4]byte @@ -188728,17 +188778,17 @@ type Fts5ExprNearset1 = struct { FnPhrase int32 F__ccgo_pad2 [4]byte FapPhrase [1]uintptr -} /* sqlite3.c:216813:9 */ +} /* sqlite3.c:216870:9 */ -type Fts5ExprNearset = Fts5ExprNearset1 /* sqlite3.c:217384:32 */ +type Fts5ExprNearset = Fts5ExprNearset1 /* sqlite3.c:217441:32 */ type Fts5PoslistPopulator1 = struct { Fwriter Fts5PoslistWriter FbOk int32 FbMiss int32 -} /* sqlite3.c:217432:9 */ +} /* sqlite3.c:217489:9 */ -type Fts5PoslistPopulator = Fts5PoslistPopulator1 /* sqlite3.c:217432:37 */ +type Fts5PoslistPopulator = Fts5PoslistPopulator1 /* sqlite3.c:217489:37 */ // // End of interface to code in fts5_unicode2.c. // @@ -188843,7 +188893,7 @@ type Fts5YYMINORTYPE = struct { F__ccgo_pad1 [0]uint64 Ffts5yyinit int32 F__ccgo_pad2 [12]byte -} /* sqlite3.c:217708:3 */ +} /* sqlite3.c:217765:3 */ //************ End control #defines ****************************************** // Define the fts5yytestcase() macro to be a no-op if is not already defined @@ -188916,7 +188966,7 @@ var fts5yy_action = [105]uint8{ /* 80 */ uint8(5), uint8(3), uint8(63), uint8(5), uint8(3), uint8(62), uint8(12), uint8(2), uint8(86), uint8(13), /* 90 */ uint8(9), uint8(30), uint8(10), uint8(10), uint8(54), uint8(57), uint8(75), uint8(78), uint8(78), uint8(53), /* 100 */ uint8(57), uint8(15), uint8(82), uint8(82), uint8(71), -} /* sqlite3.c:217801:31 */ +} /* sqlite3.c:217858:31 */ var fts5yy_lookahead = [121]uint8{ /* 0 */ uint8(16), uint8(17), uint8(18), uint8(19), uint8(20), uint8(22), uint8(22), uint8(24), uint8(24), uint8(17), /* 10 */ uint8(18), uint8(19), uint8(20), uint8(7), uint8(22), uint8(9), uint8(24), uint8(17), uint8(18), uint8(19), @@ -188931,23 +188981,23 @@ var fts5yy_lookahead = [121]uint8{ /* 100 */ uint8(9), uint8(9), uint8(27), uint8(27), uint8(11), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), /* 110 */ uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), /* 120 */ uint8(27), -} /* sqlite3.c:217814:29 */ +} /* sqlite3.c:217871:29 */ var fts5yy_shift_ofst = [35]uint8{ /* 0 */ uint8(44), uint8(44), uint8(44), uint8(44), uint8(44), uint8(44), uint8(51), uint8(77), uint8(43), uint8(12), /* 10 */ uint8(14), uint8(83), uint8(82), uint8(14), uint8(23), uint8(23), uint8(31), uint8(31), uint8(71), uint8(74), /* 20 */ uint8(78), uint8(81), uint8(86), uint8(91), uint8(6), uint8(53), uint8(53), uint8(60), uint8(64), uint8(68), /* 30 */ uint8(53), uint8(87), uint8(92), uint8(53), uint8(93), -} /* sqlite3.c:217832:28 */ +} /* sqlite3.c:217889:28 */ var fts5yy_reduce_ofst = [18]int8{ /* 0 */ int8(-16), int8(-8), int8(0), int8(9), int8(17), int8(25), int8(46), int8(-17), int8(-17), int8(37), /* 10 */ int8(67), int8(4), int8(4), int8(8), int8(4), int8(20), int8(27), int8(38), -} /* sqlite3.c:217841:26 */ +} /* sqlite3.c:217898:26 */ var fts5yy_default = [35]uint8{ /* 0 */ uint8(80), uint8(80), uint8(80), uint8(80), uint8(80), uint8(80), uint8(95), uint8(80), uint8(80), uint8(105), /* 10 */ uint8(80), uint8(110), uint8(110), uint8(80), uint8(110), uint8(110), uint8(80), uint8(80), uint8(80), uint8(80), /* 20 */ uint8(80), uint8(91), uint8(80), uint8(80), uint8(80), uint8(101), uint8(100), uint8(80), uint8(80), uint8(90), /* 30 */ uint8(103), uint8(80), uint8(80), uint8(104), uint8(80), -} /* sqlite3.c:217845:31 */ +} /* sqlite3.c:217902:31 */ //********* End of lemon-generated parsing tables **************************** // The next table maps tokens (terminal symbols) into fallback tokens. @@ -188984,9 +189034,9 @@ type fts5yyStackEntry = struct { Fmajor uint8 F__ccgo_pad1 [6]byte Fminor Fts5YYMINORTYPE -} /* sqlite3.c:217888:1 */ +} /* sqlite3.c:217945:1 */ -type Fts5yyStackEntry = fts5yyStackEntry /* sqlite3.c:217895:33 */ +type Fts5yyStackEntry = fts5yyStackEntry /* sqlite3.c:217952:33 */ // The state of the parser is completely contained in an instance of // the following structure @@ -188995,9 +189045,9 @@ type fts5yyParser = struct { FpParse uintptr Ffts5yystack [100]Fts5yyStackEntry Ffts5yystackEnd uintptr -} /* sqlite3.c:217899:1 */ +} /* sqlite3.c:217956:1 */ -type Fts5yyParser = fts5yyParser /* sqlite3.c:217918:29 */ +type Fts5yyParser = fts5yyParser /* sqlite3.c:217975:29 */ // #include @@ -189007,7 +189057,7 @@ type Fts5yyParser = fts5yyParser /* sqlite3.c:217918:29 */ // grammar. // Initialize a new parser that has already been allocated. -func sqlite3Fts5ParserInit(tls *libc.TLS, fts5yypRawParser uintptr) { /* sqlite3.c:218067:13: */ +func sqlite3Fts5ParserInit(tls *libc.TLS, fts5yypRawParser uintptr) { /* sqlite3.c:218124:13: */ var fts5yypParser uintptr = fts5yypRawParser (*Fts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yytos = fts5yypParser + 16 /* &.fts5yystack */ @@ -189026,7 +189076,7 @@ func sqlite3Fts5ParserInit(tls *libc.TLS, fts5yypRawParser uintptr) { /* sqlite3 // Outputs: // A pointer to a parser. This pointer is used in subsequent calls // to sqlite3Fts5Parser and sqlite3Fts5ParserFree. -func sqlite3Fts5ParserAlloc(tls *libc.TLS, mallocProc uintptr) uintptr { /* sqlite3.c:218106:13: */ +func sqlite3Fts5ParserAlloc(tls *libc.TLS, mallocProc uintptr) uintptr { /* sqlite3.c:218163:13: */ var fts5yypParser uintptr fts5yypParser = (*struct{ f func(*libc.TLS, U64) uintptr })(unsafe.Pointer(&struct{ uintptr }{mallocProc})).f(tls, U64(unsafe.Sizeof(Fts5yyParser{}))) if fts5yypParser != 0 { @@ -189042,7 +189092,7 @@ func sqlite3Fts5ParserAlloc(tls *libc.TLS, mallocProc uintptr) uintptr { /* sqli // a pointer to the value to be deleted. The code used to do the // deletions is derived from the %destructor and/or %token_destructor // directives of the input grammar. -func fts5yy_destructor(tls *libc.TLS, fts5yypParser uintptr, fts5yymajor uint8, fts5yypminor uintptr) { /* sqlite3.c:218125:13: */ +func fts5yy_destructor(tls *libc.TLS, fts5yypParser uintptr, fts5yymajor uint8, fts5yypminor uintptr) { /* sqlite3.c:218182:13: */ var pParse uintptr = (*Fts5yyParser)(unsafe.Pointer(fts5yypParser)).FpParse _ = pParse @@ -189100,7 +189150,7 @@ func fts5yy_destructor(tls *libc.TLS, fts5yypParser uintptr, fts5yymajor uint8, // // If there is a destructor routine associated with the token which // is popped from the stack, then call it. -func fts5yy_pop_parser_stack(tls *libc.TLS, pParser uintptr) { /* sqlite3.c:218184:13: */ +func fts5yy_pop_parser_stack(tls *libc.TLS, pParser uintptr) { /* sqlite3.c:218241:13: */ var fts5yytos uintptr fts5yytos = libc.PostDecUintptr(&(*Fts5yyParser)(unsafe.Pointer(pParser)).Ffts5yytos, 24) @@ -189108,7 +189158,7 @@ func fts5yy_pop_parser_stack(tls *libc.TLS, pParser uintptr) { /* sqlite3.c:2181 } // Clear all secondary memory allocations from the parser -func sqlite3Fts5ParserFinalize(tls *libc.TLS, p uintptr) { /* sqlite3.c:218202:13: */ +func sqlite3Fts5ParserFinalize(tls *libc.TLS, p uintptr) { /* sqlite3.c:218259:13: */ var pParser uintptr = p for (*Fts5yyParser)(unsafe.Pointer(pParser)).Ffts5yytos > pParser+16 { fts5yy_pop_parser_stack(tls, pParser) @@ -189121,7 +189171,7 @@ func sqlite3Fts5ParserFinalize(tls *libc.TLS, p uintptr) { /* sqlite3.c:218202:1 // If the fts5YYPARSEFREENEVERNULL macro exists (for example because it // 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) { /* sqlite3.c:218219:13: */ +func sqlite3Fts5ParserFree(tls *libc.TLS, p uintptr, freeProc uintptr) { /* sqlite3.c:218276:13: */ if p == uintptr(0) { return } @@ -189145,7 +189195,7 @@ func sqlite3Fts5ParserFree(tls *libc.TLS, p uintptr, freeProc uintptr) { /* sqli // Find the appropriate action for a parser given the terminal // look-ahead token iLookAhead. -func fts5yy_find_shift_action(tls *libc.TLS, iLookAhead uint8, stateno uint8) uint8 { /* sqlite3.c:218282:25: */ +func fts5yy_find_shift_action(tls *libc.TLS, iLookAhead uint8, stateno uint8) uint8 { /* sqlite3.c:218339:25: */ var i int32 if int32(stateno) > Fts5YY_MAX_SHIFT { @@ -189169,7 +189219,7 @@ func fts5yy_find_shift_action(tls *libc.TLS, iLookAhead uint8, stateno uint8) ui // Find the appropriate action for a parser given the non-terminal // look-ahead token iLookAhead. -func fts5yy_find_reduce_action(tls *libc.TLS, stateno uint8, iLookAhead uint8) uint8 { /* sqlite3.c:218347:25: */ +func fts5yy_find_reduce_action(tls *libc.TLS, stateno uint8, iLookAhead uint8) uint8 { /* sqlite3.c:218404:25: */ var i int32 i = int32(fts5yy_reduce_ofst[stateno]) @@ -189180,7 +189230,7 @@ func fts5yy_find_reduce_action(tls *libc.TLS, stateno uint8, iLookAhead uint8) u } // The following routine is called if the stack overflows. -func fts5yyStackOverflow(tls *libc.TLS, fts5yypParser uintptr) { /* sqlite3.c:218376:13: */ +func fts5yyStackOverflow(tls *libc.TLS, fts5yypParser uintptr) { /* sqlite3.c:218433:13: */ var pParse uintptr = (*Fts5yyParser)(unsafe.Pointer(fts5yypParser)).FpParse for (*Fts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yytos > fts5yypParser+16 { @@ -189199,7 +189249,7 @@ func fts5yyStackOverflow(tls *libc.TLS, fts5yypParser uintptr) { /* sqlite3.c:21 // Print tracing information for a SHIFT action // Perform a shift action. -func fts5yy_shift(tls *libc.TLS, fts5yypParser uintptr, fts5yyNewState uint8, fts5yyMajor uint8, fts5yyMinor Fts5Token) { /* sqlite3.c:218419:13: */ +func fts5yy_shift(tls *libc.TLS, fts5yypParser uintptr, fts5yyNewState uint8, fts5yyMajor uint8, fts5yyMinor Fts5Token) { /* sqlite3.c:218476:13: */ var fts5yytos uintptr (*Fts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yytos += 24 if (*Fts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yytos > (*Fts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yystackEnd { @@ -189248,7 +189298,7 @@ var fts5yyRuleInfoLhs = [28]uint8{ uint8(24), // (25) phrase ::= STRING star_opt uint8(26), // (26) star_opt ::= STAR uint8(26), // (27) star_opt ::= -} /* sqlite3.c:218460:29 */ +} /* sqlite3.c:218517:29 */ // For rule J, fts5yyRuleInfoNRhs[J] contains the negative of the number // of symbols on the right-hand side of that rule. @@ -189281,7 +189331,7 @@ var fts5yyRuleInfoNRhs = [28]int8{ int8(-2), // (25) phrase ::= STRING star_opt int8(-1), // (26) star_opt ::= STAR int8(0), // (27) star_opt ::= -} /* sqlite3.c:218493:26 */ +} /* sqlite3.c:218550:26 */ // Forward Declaration @@ -189293,7 +189343,7 @@ var fts5yyRuleInfoNRhs = [28]int8{ // if the lookahead token has already been consumed. As this procedure is // only called from one place, optimizing compilers will in-line it, which // means that the extra parameters have no performance impact. -func fts5yy_reduce(tls *libc.TLS, fts5yypParser uintptr, fts5yyruleno uint32, fts5yyLookahead int32, fts5yyLookaheadToken Fts5Token) uint8 { /* sqlite3.c:218536:25: */ +func fts5yy_reduce(tls *libc.TLS, fts5yypParser uintptr, fts5yyruleno uint32, fts5yyLookahead int32, fts5yyLookaheadToken Fts5Token) uint8 { /* sqlite3.c:218593:25: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -189503,7 +189553,7 @@ func fts5yy_reduce(tls *libc.TLS, fts5yypParser uintptr, fts5yyruleno uint32, ft // The following code executes when the parse fails // The following code executes when a syntax error first occurs. -func fts5yy_syntax_error(tls *libc.TLS, fts5yypParser uintptr, fts5yymajor int32, fts5yyminor Fts5Token) { /* sqlite3.c:218754:13: */ +func fts5yy_syntax_error(tls *libc.TLS, fts5yypParser uintptr, fts5yymajor int32, fts5yyminor Fts5Token) { /* sqlite3.c:218811:13: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -189520,7 +189570,7 @@ func fts5yy_syntax_error(tls *libc.TLS, fts5yypParser uintptr, fts5yymajor int32 } // The following is executed when the parser accepts -func fts5yy_accept(tls *libc.TLS, fts5yypParser uintptr) { /* sqlite3.c:218776:13: */ +func fts5yy_accept(tls *libc.TLS, fts5yypParser uintptr) { /* sqlite3.c:218833:13: */ var pParse uintptr = (*Fts5yyParser)(unsafe.Pointer(fts5yypParser)).FpParse // Here code is inserted which will be executed whenever the @@ -189549,7 +189599,7 @@ func fts5yy_accept(tls *libc.TLS, fts5yypParser uintptr) { /* sqlite3.c:218776:1 // // Outputs: // None. -func sqlite3Fts5Parser(tls *libc.TLS, fts5yyp uintptr, fts5yymajor int32, fts5yyminor Fts5Token, pParse uintptr) { /* sqlite3.c:218817:13: */ +func sqlite3Fts5Parser(tls *libc.TLS, fts5yyp uintptr, fts5yymajor int32, fts5yyminor Fts5Token, pParse uintptr) { /* sqlite3.c:218874:13: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -189604,7 +189654,7 @@ func sqlite3Fts5Parser(tls *libc.TLS, fts5yyp uintptr, fts5yymajor int32, fts5yy // Return the fallback token corresponding to canonical token iToken, or // 0 if iToken has no fallback. -func sqlite3Fts5ParserFallback(tls *libc.TLS, iToken int32) int32 { /* sqlite3.c:219034:12: */ +func sqlite3Fts5ParserFallback(tls *libc.TLS, iToken int32) int32 { /* sqlite3.c:219091:12: */ _ = iToken return 0 } @@ -189667,7 +189717,7 @@ type CInstIter1 = struct { FiStart int32 FiEnd int32 F__ccgo_pad1 [4]byte -} /* sqlite3.c:219080:9 */ +} /* sqlite3.c:219137:9 */ // 2014 May 31 // @@ -189718,11 +189768,11 @@ type CInstIter1 = struct { // printf("instance starts at %d, ends at %d\n", iter.iStart, iter.iEnd); // } // -type CInstIter = CInstIter1 /* sqlite3.c:219080:26 */ +type CInstIter = CInstIter1 /* sqlite3.c:219137:26 */ // Advance the iterator to the next coalesced phrase instance. Return // an SQLite error code if an error occurs, or SQLITE_OK otherwise. -func fts5CInstIterNext(tls *libc.TLS, pIter uintptr) int32 { /* sqlite3.c:219097:12: */ +func fts5CInstIterNext(tls *libc.TLS, pIter uintptr) int32 { /* sqlite3.c:219154:12: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -189765,7 +189815,7 @@ func fts5CInstIterNext(tls *libc.TLS, pIter uintptr) int32 { /* sqlite3.c:219097 // Initialize the iterator object indicated by the final parameter to // iterate through coalesced phrase instances in column iCol. -func fts5CInstIterInit(tls *libc.TLS, pApi uintptr, pFts uintptr, iCol int32, pIter uintptr) int32 { /* sqlite3.c:219128:12: */ +func fts5CInstIterInit(tls *libc.TLS, pApi uintptr, pFts uintptr, iCol int32, pIter uintptr) int32 { /* sqlite3.c:219185:12: */ var rc int32 libc.X__builtin___memset_chk(tls, pIter, 0, uint64(unsafe.Sizeof(CInstIter{})), libc.X__builtin_object_size(tls, pIter, 0)) @@ -189798,12 +189848,12 @@ type HighlightContext1 = struct { FnIn int32 FiOff int32 FzOut uintptr -} /* sqlite3.c:219154:9 */ +} /* sqlite3.c:219211:9 */ // ************************************************************************ // // Start of highlight() implementation. -type HighlightContext = HighlightContext1 /* sqlite3.c:219154:33 */ +type HighlightContext = HighlightContext1 /* sqlite3.c:219211:33 */ // Append text to the HighlightContext output string - p->zOut. Argument // z points to a buffer containing n bytes of text to append. If n is @@ -189812,7 +189862,7 @@ type HighlightContext = HighlightContext1 /* sqlite3.c:219154:33 */ // If *pRc is set to any value other than SQLITE_OK when this function is // called, it is a no-op. If an error (i.e. an OOM condition) is encountered, // *pRc is set to an error code before returning. -func fts5HighlightAppend(tls *libc.TLS, pRc uintptr, p uintptr, z uintptr, n int32) { /* sqlite3.c:219177:13: */ +func fts5HighlightAppend(tls *libc.TLS, pRc uintptr, p uintptr, z uintptr, n int32) { /* sqlite3.c:219234:13: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -189828,7 +189878,7 @@ func fts5HighlightAppend(tls *libc.TLS, pRc uintptr, p uintptr, z uintptr, n int } // Tokenizer callback used by implementation of highlight() function. -func fts5HighlightCb(tls *libc.TLS, pContext uintptr, tflags int32, pToken uintptr, nToken int32, iStartOff int32, iEndOff int32) int32 { /* sqlite3.c:219192:12: */ +func fts5HighlightCb(tls *libc.TLS, pContext uintptr, tflags int32, pToken uintptr, nToken int32, iStartOff int32, iEndOff int32) int32 { /* sqlite3.c:219249:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -189883,7 +189933,7 @@ func fts5HighlightCb(tls *libc.TLS, pContext uintptr, tflags int32, pToken uintp } // Implementation of highlight() function. -func fts5HighlightFunction(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uintptr, nVal int32, apVal uintptr) { /* sqlite3.c:219246:13: */ +func fts5HighlightFunction(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uintptr, nVal int32, apVal uintptr) { /* sqlite3.c:219303:13: */ bp := tls.Alloc(100) defer tls.Free(100) @@ -189943,19 +189993,19 @@ type Fts5SFinder1 = struct { F__ccgo_pad1 [4]byte FaFirst uintptr FzDoc uintptr -} /* sqlite3.c:219295:9 */ +} /* sqlite3.c:219352:9 */ // // End of highlight() implementation. // // Context object passed to the fts5SentenceFinderCb() function. -type Fts5SFinder = Fts5SFinder1 /* sqlite3.c:219295:28 */ +type Fts5SFinder = Fts5SFinder1 /* sqlite3.c:219352:28 */ // Add an entry to the Fts5SFinder.aFirst[] array. Grow the array if // necessary. Return SQLITE_OK if successful, or SQLITE_NOMEM if an // error occurs. -func fts5SentenceFinderAdd(tls *libc.TLS, p uintptr, iAdd int32) int32 { /* sqlite3.c:219309:12: */ +func fts5SentenceFinderAdd(tls *libc.TLS, p uintptr, iAdd int32) int32 { /* sqlite3.c:219366:12: */ if (*Fts5SFinder)(unsafe.Pointer(p)).FnFirstAlloc == (*Fts5SFinder)(unsafe.Pointer(p)).FnFirst { var nNew int32 if (*Fts5SFinder)(unsafe.Pointer(p)).FnFirstAlloc != 0 { @@ -189979,7 +190029,7 @@ func fts5SentenceFinderAdd(tls *libc.TLS, p uintptr, iAdd int32) int32 { /* sqli // This function is an xTokenize() callback used by the auxiliary snippet() // function. Its job is to identify tokens that are the first in a sentence. // For each such token, an entry is added to the SFinder.aFirst[] array. -func fts5SentenceFinderCb(tls *libc.TLS, pContext uintptr, tflags int32, pToken uintptr, nToken int32, iStartOff int32, iEndOff int32) int32 { /* sqlite3.c:219328:12: */ +func fts5SentenceFinderCb(tls *libc.TLS, pContext uintptr, tflags int32, pToken uintptr, nToken int32, iStartOff int32, iEndOff int32) int32 { /* sqlite3.c:219385:12: */ var rc int32 = SQLITE_OK _ = pToken @@ -190008,7 +190058,7 @@ func fts5SentenceFinderCb(tls *libc.TLS, pContext uintptr, tflags int32, pToken return rc } -func fts5SnippetScore(tls *libc.TLS, pApi uintptr, pFts uintptr, nDocsize int32, aSeen uintptr, iCol int32, iPos int32, nToken int32, pnScore uintptr, piPos uintptr) int32 { /* sqlite3.c:219361:12: */ +func fts5SnippetScore(tls *libc.TLS, pApi uintptr, pFts uintptr, nDocsize int32, aSeen uintptr, iCol int32, iPos int32, nToken int32, pnScore uintptr, piPos uintptr) int32 { /* sqlite3.c:219418:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -190066,7 +190116,7 @@ func fts5SnippetScore(tls *libc.TLS, pApi uintptr, pFts uintptr, nDocsize int32, // Return the value in pVal interpreted as utf-8 text. Except, if pVal // contains a NULL value, return a pointer to a static string zero // bytes in length instead of a NULL pointer. -func fts5ValueToText(tls *libc.TLS, pVal uintptr) uintptr { /* sqlite3.c:219410:19: */ +func fts5ValueToText(tls *libc.TLS, pVal uintptr) uintptr { /* sqlite3.c:219467:19: */ var zRet uintptr = Xsqlite3_value_text(tls, pVal) if zRet != 0 { return zRet @@ -190075,7 +190125,7 @@ func fts5ValueToText(tls *libc.TLS, pVal uintptr) uintptr { /* sqlite3.c:219410: } // Implementation of snippet() function. -func fts5SnippetFunction(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uintptr, nVal int32, apVal uintptr) { /* sqlite3.c:219418:13: */ +func fts5SnippetFunction(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uintptr, nVal int32, apVal uintptr) { /* sqlite3.c:219475:13: */ bp := tls.Alloc(172) defer tls.Free(172) @@ -190290,17 +190340,17 @@ type Fts5Bm25Data1 = struct { Favgdl float64 FaIDF uintptr FaFreq uintptr -} /* sqlite3.c:219576:9 */ +} /* sqlite3.c:219633:9 */ //********************************************************************** // The first time the bm25() function is called for a query, an instance // of the following structure is allocated and populated. -type Fts5Bm25Data = Fts5Bm25Data1 /* sqlite3.c:219576:29 */ +type Fts5Bm25Data = Fts5Bm25Data1 /* sqlite3.c:219633:29 */ // Callback used by fts5Bm25GetData() to count the number of rows in the // table matched by each individual phrase within the query. -func fts5CountCb(tls *libc.TLS, pApi uintptr, pFts uintptr, pUserData uintptr) int32 { /* sqlite3.c:219588:12: */ +func fts5CountCb(tls *libc.TLS, pApi uintptr, pFts uintptr, pUserData uintptr) int32 { /* sqlite3.c:219645:12: */ var pn uintptr = pUserData _ = pApi _ = pFts @@ -190311,7 +190361,7 @@ func fts5CountCb(tls *libc.TLS, pApi uintptr, pFts uintptr, pUserData uintptr) i // Set *ppData to point to the Fts5Bm25Data object for the current query. // If the object has not already been allocated, allocate and populate it // now. -func fts5Bm25GetData(tls *libc.TLS, pApi uintptr, pFts uintptr, ppData uintptr) int32 { /* sqlite3.c:219604:12: */ +func fts5Bm25GetData(tls *libc.TLS, pApi uintptr, pFts uintptr, ppData uintptr) int32 { /* sqlite3.c:219661:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -190405,7 +190455,7 @@ func fts5Bm25GetData(tls *libc.TLS, pApi uintptr, pFts uintptr, ppData uintptr) } // Implementation of bm25() function. -func fts5Bm25Function(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uintptr, nVal int32, apVal uintptr) { /* sqlite3.c:219677:13: */ +func fts5Bm25Function(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uintptr, nVal int32, apVal uintptr) { /* sqlite3.c:219734:13: */ bp := tls.Alloc(28) defer tls.Free(28) @@ -190473,7 +190523,7 @@ func fts5Bm25Function(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uintptr, n } } -func sqlite3Fts5AuxInit(tls *libc.TLS, pApi uintptr) int32 { /* sqlite3.c:219733:12: */ +func sqlite3Fts5AuxInit(tls *libc.TLS, pApi uintptr) int32 { /* sqlite3.c:219790:12: */ bp := tls.Alloc(96) defer tls.Free(96) @@ -190509,7 +190559,7 @@ type Builtin = struct { FpUserData uintptr FxFunc Fts5_extension_function FxDestroy uintptr -} /* sqlite3.c:219734:3 */ +} /* sqlite3.c:219791:3 */ // 2014 May 31 // @@ -190524,7 +190574,7 @@ type Builtin = struct { // #include "fts5Int.h" -func sqlite3Fts5BufferSize(tls *libc.TLS, pRc uintptr, pBuf uintptr, nByte U32) int32 { /* sqlite3.c:219776:12: */ +func sqlite3Fts5BufferSize(tls *libc.TLS, pRc uintptr, pBuf uintptr, nByte U32) int32 { /* sqlite3.c:219833:12: */ if U32((*Fts5Buffer)(unsafe.Pointer(pBuf)).FnSpace) < nByte { var nNew U64 if (*Fts5Buffer)(unsafe.Pointer(pBuf)).FnSpace != 0 { @@ -190550,7 +190600,7 @@ func sqlite3Fts5BufferSize(tls *libc.TLS, pRc uintptr, pBuf uintptr, nByte U32) // Encode value iVal as an SQLite varint and append it to the buffer object // pBuf. If an OOM error occurs, set the error code in p. -func sqlite3Fts5BufferAppendVarint(tls *libc.TLS, pRc uintptr, pBuf uintptr, iVal I64) { /* sqlite3.c:219800:13: */ +func sqlite3Fts5BufferAppendVarint(tls *libc.TLS, pRc uintptr, pBuf uintptr, iVal I64) { /* sqlite3.c:219857:13: */ if func() int32 { if U32((*Fts5Buffer)(unsafe.Pointer(pBuf)).Fn)+U32(9) <= U32((*Fts5Buffer)(unsafe.Pointer(pBuf)).FnSpace) { return 0 @@ -190562,21 +190612,21 @@ func sqlite3Fts5BufferAppendVarint(tls *libc.TLS, pRc uintptr, pBuf uintptr, iVa *(*int32)(unsafe.Pointer(pBuf + 8)) += sqlite3Fts5PutVarint(tls, (*Fts5Buffer)(unsafe.Pointer(pBuf)).Fp+uintptr((*Fts5Buffer)(unsafe.Pointer(pBuf)).Fn), uint64(iVal)) } -func sqlite3Fts5Put32(tls *libc.TLS, aBuf uintptr, iVal int32) { /* sqlite3.c:219805:13: */ +func sqlite3Fts5Put32(tls *libc.TLS, aBuf uintptr, iVal int32) { /* sqlite3.c:219862:13: */ *(*U8)(unsafe.Pointer(aBuf)) = U8(iVal >> 24 & 0x00FF) *(*U8)(unsafe.Pointer(aBuf + 1)) = U8(iVal >> 16 & 0x00FF) *(*U8)(unsafe.Pointer(aBuf + 2)) = U8(iVal >> 8 & 0x00FF) *(*U8)(unsafe.Pointer(aBuf + 3)) = U8(iVal >> 0 & 0x00FF) } -func sqlite3Fts5Get32(tls *libc.TLS, aBuf uintptr) int32 { /* sqlite3.c:219812:12: */ +func sqlite3Fts5Get32(tls *libc.TLS, aBuf uintptr) int32 { /* sqlite3.c:219869:12: */ return int32(U32(*(*U8)(unsafe.Pointer(aBuf)))<<24 + U32(int32(*(*U8)(unsafe.Pointer(aBuf + 1)))<<16) + U32(int32(*(*U8)(unsafe.Pointer(aBuf + 2)))<<8) + U32(*(*U8)(unsafe.Pointer(aBuf + 3)))) } // Append buffer nData/pData to buffer pBuf. If an OOM error occurs, set // the error code in p. If an error has already occurred when this function // is called, it is a no-op. -func sqlite3Fts5BufferAppendBlob(tls *libc.TLS, pRc uintptr, pBuf uintptr, nData U32, pData uintptr) { /* sqlite3.c:219821:13: */ +func sqlite3Fts5BufferAppendBlob(tls *libc.TLS, pRc uintptr, pBuf uintptr, nData U32, pData uintptr) { /* sqlite3.c:219878:13: */ if nData != 0 { if func() int32 { if U32((*Fts5Buffer)(unsafe.Pointer(pBuf)).Fn)+nData <= U32((*Fts5Buffer)(unsafe.Pointer(pBuf)).FnSpace) { @@ -190594,7 +190644,7 @@ func sqlite3Fts5BufferAppendBlob(tls *libc.TLS, pRc uintptr, pBuf uintptr, nData // Append the nul-terminated string zStr to the buffer pBuf. This function // ensures that the byte following the buffer data is set to 0x00, even // though this byte is not included in the pBuf->n count. -func sqlite3Fts5BufferAppendString(tls *libc.TLS, pRc uintptr, pBuf uintptr, zStr uintptr) { /* sqlite3.c:219839:13: */ +func sqlite3Fts5BufferAppendString(tls *libc.TLS, pRc uintptr, pBuf uintptr, zStr uintptr) { /* sqlite3.c:219896:13: */ var nStr int32 = int32(libc.Xstrlen(tls, zStr)) sqlite3Fts5BufferAppendBlob(tls, pRc, pBuf, uint32(nStr+1), zStr) (*Fts5Buffer)(unsafe.Pointer(pBuf)).Fn-- @@ -190606,7 +190656,7 @@ func sqlite3Fts5BufferAppendString(tls *libc.TLS, pRc uintptr, pBuf uintptr, zSt // Like sqlite3Fts5BufferAppendString(), this function ensures that the byte // following the buffer data is set to 0x00, even though this byte is not // included in the pBuf->n count. -func sqlite3Fts5BufferAppendPrintf(tls *libc.TLS, pRc uintptr, pBuf uintptr, zFmt uintptr, va uintptr) { /* sqlite3.c:219857:13: */ +func sqlite3Fts5BufferAppendPrintf(tls *libc.TLS, pRc uintptr, pBuf uintptr, zFmt uintptr, va uintptr) { /* sqlite3.c:219914:13: */ if *(*int32)(unsafe.Pointer(pRc)) == SQLITE_OK { var zTmp uintptr var ap Va_list @@ -190624,7 +190674,7 @@ func sqlite3Fts5BufferAppendPrintf(tls *libc.TLS, pRc uintptr, pBuf uintptr, zFm } } -func sqlite3Fts5Mprintf(tls *libc.TLS, pRc uintptr, zFmt uintptr, va uintptr) uintptr { /* sqlite3.c:219878:13: */ +func sqlite3Fts5Mprintf(tls *libc.TLS, pRc uintptr, zFmt uintptr, va uintptr) uintptr { /* sqlite3.c:219935:13: */ var zRet uintptr = uintptr(0) if *(*int32)(unsafe.Pointer(pRc)) == SQLITE_OK { var ap Va_list @@ -190640,26 +190690,26 @@ func sqlite3Fts5Mprintf(tls *libc.TLS, pRc uintptr, zFmt uintptr, va uintptr) ui } // Free any buffer allocated by pBuf. Zero the structure before returning. -func sqlite3Fts5BufferFree(tls *libc.TLS, pBuf uintptr) { /* sqlite3.c:219896:13: */ +func sqlite3Fts5BufferFree(tls *libc.TLS, pBuf uintptr) { /* sqlite3.c:219953:13: */ Xsqlite3_free(tls, (*Fts5Buffer)(unsafe.Pointer(pBuf)).Fp) libc.X__builtin___memset_chk(tls, pBuf, 0, uint64(unsafe.Sizeof(Fts5Buffer{})), libc.X__builtin_object_size(tls, pBuf, 0)) } // Zero the contents of the buffer object. But do not free the associated // memory allocation. -func sqlite3Fts5BufferZero(tls *libc.TLS, pBuf uintptr) { /* sqlite3.c:219905:13: */ +func sqlite3Fts5BufferZero(tls *libc.TLS, pBuf uintptr) { /* sqlite3.c:219962:13: */ (*Fts5Buffer)(unsafe.Pointer(pBuf)).Fn = 0 } // Set the buffer to contain nData/pData. If an OOM error occurs, leave an // the error code in p. If an error has already occurred when this function // is called, it is a no-op. -func sqlite3Fts5BufferSet(tls *libc.TLS, pRc uintptr, pBuf uintptr, nData int32, pData uintptr) { /* sqlite3.c:219914:13: */ +func sqlite3Fts5BufferSet(tls *libc.TLS, pRc uintptr, pBuf uintptr, nData int32, pData uintptr) { /* sqlite3.c:219971:13: */ (*Fts5Buffer)(unsafe.Pointer(pBuf)).Fn = 0 sqlite3Fts5BufferAppendBlob(tls, pRc, pBuf, uint32(nData), pData) } -func sqlite3Fts5PoslistNext64(tls *libc.TLS, a uintptr, n int32, pi uintptr, piOff uintptr) int32 { /* sqlite3.c:219924:12: */ +func sqlite3Fts5PoslistNext64(tls *libc.TLS, a uintptr, n int32, pi uintptr, piOff uintptr) int32 { /* sqlite3.c:219981:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -190721,14 +190771,14 @@ func sqlite3Fts5PoslistNext64(tls *libc.TLS, a uintptr, n int32, pi uintptr, piO // Advance the iterator object passed as the only argument. Return true // if the iterator reaches EOF, or false otherwise. -func sqlite3Fts5PoslistReaderNext(tls *libc.TLS, pIter uintptr) int32 { /* sqlite3.c:219967:12: */ +func sqlite3Fts5PoslistReaderNext(tls *libc.TLS, pIter uintptr) int32 { /* sqlite3.c:220024:12: */ if sqlite3Fts5PoslistNext64(tls, (*Fts5PoslistReader)(unsafe.Pointer(pIter)).Fa, (*Fts5PoslistReader)(unsafe.Pointer(pIter)).Fn, pIter+12, pIter+24) != 0 { (*Fts5PoslistReader)(unsafe.Pointer(pIter)).FbEof = U8(1) } return int32((*Fts5PoslistReader)(unsafe.Pointer(pIter)).FbEof) } -func sqlite3Fts5PoslistReaderInit(tls *libc.TLS, a uintptr, n int32, pIter uintptr) int32 { /* sqlite3.c:219974:12: */ +func sqlite3Fts5PoslistReaderInit(tls *libc.TLS, a uintptr, n int32, pIter uintptr) int32 { /* sqlite3.c:220031:12: */ libc.X__builtin___memset_chk(tls, pIter, 0, uint64(unsafe.Sizeof(Fts5PoslistReader{})), libc.X__builtin_object_size(tls, pIter, 0)) (*Fts5PoslistReader)(unsafe.Pointer(pIter)).Fa = a (*Fts5PoslistReader)(unsafe.Pointer(pIter)).Fn = n @@ -190740,7 +190790,7 @@ func sqlite3Fts5PoslistReaderInit(tls *libc.TLS, a uintptr, n int32, pIter uintp // pBuf, which must be already be large enough to hold the new data. // The previous position written to this list is *piPrev. *piPrev is set // to iPos before returning. -func sqlite3Fts5PoslistSafeAppend(tls *libc.TLS, pBuf uintptr, piPrev uintptr, iPos I64) { /* sqlite3.c:219991:13: */ +func sqlite3Fts5PoslistSafeAppend(tls *libc.TLS, pBuf uintptr, piPrev uintptr, iPos I64) { /* sqlite3.c:220048:13: */ if iPos >= *(*I64)(unsafe.Pointer(piPrev)) { if iPos&colmask != *(*I64)(unsafe.Pointer(piPrev))&colmask { *(*U8)(unsafe.Pointer((*Fts5Buffer)(unsafe.Pointer(pBuf)).Fp + uintptr(libc.PostIncInt32(&(*Fts5Buffer)(unsafe.Pointer(pBuf)).Fn, 1)))) = U8(1) @@ -190752,9 +190802,9 @@ func sqlite3Fts5PoslistSafeAppend(tls *libc.TLS, pBuf uintptr, piPrev uintptr, i } } -var colmask I64 = I64(int64(0x7FFFFFFF)) << 32 /* sqlite3.c:219997:22 */ +var colmask I64 = I64(int64(0x7FFFFFFF)) << 32 /* sqlite3.c:220054:22 */ -func sqlite3Fts5PoslistWriterAppend(tls *libc.TLS, pBuf uintptr, pWriter uintptr, iPos I64) int32 { /* sqlite3.c:220008:12: */ +func sqlite3Fts5PoslistWriterAppend(tls *libc.TLS, pBuf uintptr, pWriter uintptr, iPos I64) int32 { /* sqlite3.c:220065:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -190771,7 +190821,7 @@ func sqlite3Fts5PoslistWriterAppend(tls *libc.TLS, pBuf uintptr, pWriter uintptr return SQLITE_OK } -func sqlite3Fts5MallocZero(tls *libc.TLS, pRc uintptr, nByte Sqlite3_int64) uintptr { /* sqlite3.c:220019:13: */ +func sqlite3Fts5MallocZero(tls *libc.TLS, pRc uintptr, nByte Sqlite3_int64) uintptr { /* sqlite3.c:220076:13: */ var pRet uintptr = uintptr(0) if *(*int32)(unsafe.Pointer(pRc)) == SQLITE_OK { pRet = Xsqlite3_malloc64(tls, uint64(nByte)) @@ -190792,7 +190842,7 @@ func sqlite3Fts5MallocZero(tls *libc.TLS, pRc uintptr, nByte Sqlite3_int64) uint // // It is the responsibility of the caller to eventually free the returned // buffer using sqlite3_free(). If an OOM error occurs, NULL is returned. -func sqlite3Fts5Strndup(tls *libc.TLS, pRc uintptr, pIn uintptr, nIn int32) uintptr { /* sqlite3.c:220040:13: */ +func sqlite3Fts5Strndup(tls *libc.TLS, pRc uintptr, pIn uintptr, nIn int32) uintptr { /* sqlite3.c:220097:13: */ var zRet uintptr = uintptr(0) if *(*int32)(unsafe.Pointer(pRc)) == SQLITE_OK { if nIn < 0 { @@ -190817,7 +190867,7 @@ func sqlite3Fts5Strndup(tls *libc.TLS, pRc uintptr, pIn uintptr, nIn int32) uint // * The 10 integer ASCII characters. // * The underscore character "_" (0x5F). // * The unicode "subsitute" character (0x1A). -func sqlite3Fts5IsBareword(tls *libc.TLS, t int8) int32 { /* sqlite3.c:220068:12: */ +func sqlite3Fts5IsBareword(tls *libc.TLS, t int8) int32 { /* sqlite3.c:220125:12: */ bp := tls.Alloc(128) defer tls.Free(128) @@ -190842,13 +190892,13 @@ type Fts5TermsetEntry1 = struct { FnTerm int32 FiIdx int32 FpNext uintptr -} /* sqlite3.c:217037:9 */ +} /* sqlite3.c:217094:9 */ // ************************************************************************ // -type Fts5TermsetEntry = Fts5TermsetEntry1 /* sqlite3.c:220086:33 */ +type Fts5TermsetEntry = Fts5TermsetEntry1 /* sqlite3.c:220143:33 */ -func sqlite3Fts5TermsetNew(tls *libc.TLS, pp uintptr) int32 { /* sqlite3.c:220098:12: */ +func sqlite3Fts5TermsetNew(tls *libc.TLS, pp uintptr) int32 { /* sqlite3.c:220155:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -190857,7 +190907,7 @@ func sqlite3Fts5TermsetNew(tls *libc.TLS, pp uintptr) int32 { /* sqlite3.c:22009 return *(*int32)(unsafe.Pointer(bp /* rc */)) } -func sqlite3Fts5TermsetAdd(tls *libc.TLS, p uintptr, iIdx int32, pTerm uintptr, nTerm int32, pbPresent uintptr) int32 { /* sqlite3.c:220104:12: */ +func sqlite3Fts5TermsetAdd(tls *libc.TLS, p uintptr, iIdx int32, pTerm uintptr, nTerm int32, pbPresent uintptr) int32 { /* sqlite3.c:220161:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -190903,7 +190953,7 @@ func sqlite3Fts5TermsetAdd(tls *libc.TLS, p uintptr, iIdx int32, pTerm uintptr, return *(*int32)(unsafe.Pointer(bp /* rc */)) } -func sqlite3Fts5TermsetFree(tls *libc.TLS, p uintptr) { /* sqlite3.c:220153:13: */ +func sqlite3Fts5TermsetFree(tls *libc.TLS, p uintptr) { /* sqlite3.c:220210:13: */ if p != 0 { var i U32 for i = U32(0); i < U32(int32(uint64(unsafe.Sizeof([512]uintptr{}))/uint64(unsafe.Sizeof(uintptr(0))))); i++ { @@ -190935,18 +190985,18 @@ func sqlite3Fts5TermsetFree(tls *libc.TLS, p uintptr) { /* sqlite3.c:220153:13: // Maximum allowed page size -func fts5_iswhitespace(tls *libc.TLS, x int8) int32 { /* sqlite3.c:220195:12: */ +func fts5_iswhitespace(tls *libc.TLS, x int8) int32 { /* sqlite3.c:220252:12: */ return libc.Bool32(int32(x) == ' ') } -func fts5_isopenquote(tls *libc.TLS, x int8) int32 { /* sqlite3.c:220199:12: */ +func fts5_isopenquote(tls *libc.TLS, x int8) int32 { /* sqlite3.c:220256:12: */ return libc.Bool32(int32(x) == '"' || int32(x) == '\'' || int32(x) == '[' || int32(x) == '`') } // Argument pIn points to a character that is part of a nul-terminated // string. Return a pointer to the first character following *pIn in // the string that is not a white-space character. -func fts5ConfigSkipWhitespace(tls *libc.TLS, pIn uintptr) uintptr { /* sqlite3.c:220208:19: */ +func fts5ConfigSkipWhitespace(tls *libc.TLS, pIn uintptr) uintptr { /* sqlite3.c:220265:19: */ var p uintptr = pIn if p != 0 { for fts5_iswhitespace(tls, *(*int8)(unsafe.Pointer(p))) != 0 { @@ -190959,7 +191009,7 @@ func fts5ConfigSkipWhitespace(tls *libc.TLS, pIn uintptr) uintptr { /* sqlite3.c // Argument pIn points to a character that is part of a nul-terminated // string. Return a pointer to the first character following *pIn in // the string that is not a "bareword" character. -func fts5ConfigSkipBareword(tls *libc.TLS, pIn uintptr) uintptr { /* sqlite3.c:220221:19: */ +func fts5ConfigSkipBareword(tls *libc.TLS, pIn uintptr) uintptr { /* sqlite3.c:220278:19: */ var p uintptr = pIn for sqlite3Fts5IsBareword(tls, *(*int8)(unsafe.Pointer(p))) != 0 { p++ @@ -190970,11 +191020,11 @@ func fts5ConfigSkipBareword(tls *libc.TLS, pIn uintptr) uintptr { /* sqlite3.c:2 return p } -func fts5_isdigit(tls *libc.TLS, a int8) int32 { /* sqlite3.c:220228:12: */ +func fts5_isdigit(tls *libc.TLS, a int8) int32 { /* sqlite3.c:220285:12: */ return libc.Bool32(int32(a) >= '0' && int32(a) <= '9') } -func fts5ConfigSkipLiteral(tls *libc.TLS, pIn uintptr) uintptr { /* sqlite3.c:220234:19: */ +func fts5ConfigSkipLiteral(tls *libc.TLS, pIn uintptr) uintptr { /* sqlite3.c:220291:19: */ var p uintptr = pIn switch int32(*(*int8)(unsafe.Pointer(p))) { case 'n': @@ -191063,7 +191113,7 @@ func fts5ConfigSkipLiteral(tls *libc.TLS, pIn uintptr) uintptr { /* sqlite3.c:22 // the character immediately following it. Or, if the close-quote is not // found, -1 is returned. If -1 is returned, the buffer is left in an // undefined state. -func fts5Dequote(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:220310:12: */ +func fts5Dequote(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:220367:12: */ var q int8 var iIn int32 = 1 var iOut int32 = 0 @@ -191108,7 +191158,7 @@ func fts5Dequote(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:220310:12: */ // 'xyz' becomes xyz // [pqr] becomes pqr // `mno` becomes mno -func sqlite3Fts5Dequote(tls *libc.TLS, z uintptr) { /* sqlite3.c:220355:13: */ +func sqlite3Fts5Dequote(tls *libc.TLS, z uintptr) { /* sqlite3.c:220412:13: */ var quote int8 // Quote character (if any ) quote = *(*int8)(unsafe.Pointer(z)) @@ -191121,11 +191171,11 @@ type Fts5Enum1 = struct { FzName uintptr FeVal int32 F__ccgo_pad1 [4]byte -} /* sqlite3.c:220366:1 */ +} /* sqlite3.c:220423:1 */ -type Fts5Enum = Fts5Enum1 /* sqlite3.c:220370:25 */ +type Fts5Enum = Fts5Enum1 /* sqlite3.c:220427:25 */ -func fts5ConfigSetEnum(tls *libc.TLS, aEnum uintptr, zEnum uintptr, peVal uintptr) int32 { /* sqlite3.c:220372:12: */ +func fts5ConfigSetEnum(tls *libc.TLS, aEnum uintptr, zEnum uintptr, peVal uintptr) int32 { /* sqlite3.c:220429:12: */ var nEnum int32 = int32(libc.Xstrlen(tls, zEnum)) var i int32 var iVal int32 = -1 @@ -191153,7 +191203,7 @@ func fts5ConfigSetEnum(tls *libc.TLS, aEnum uintptr, zEnum uintptr, peVal uintpt // an error occurs, an SQLite error code is returned and an error message // may be left in *pzErr. It is the responsibility of the caller to // eventually free any such error message using sqlite3_free(). -func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCmd uintptr, zArg uintptr, pzErr uintptr) int32 { /* sqlite3.c:220401:12: */ +func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCmd uintptr, zArg uintptr, pzErr uintptr) int32 { /* sqlite3.c:220458:12: */ bp := tls.Alloc(112) defer tls.Free(112) @@ -191316,7 +191366,7 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm // Allocate an instance of the default tokenizer ("simple") at // Fts5Config.pTokenizer. Return SQLITE_OK if successful, or an SQLite error // code if an error occurs. -func fts5ConfigDefaultTokenizer(tls *libc.TLS, pGlobal uintptr, pConfig uintptr) int32 { /* sqlite3.c:220565:12: */ +func fts5ConfigDefaultTokenizer(tls *libc.TLS, pGlobal uintptr, pConfig uintptr) int32 { /* sqlite3.c:220622:12: */ return sqlite3Fts5GetTokenizer(tls, pGlobal, uintptr(0), 0, pConfig, uintptr(0)) } @@ -191334,7 +191384,7 @@ func fts5ConfigDefaultTokenizer(tls *libc.TLS, pGlobal uintptr, pConfig uintptr) // a no-op (NULL is returned). Otherwise, if an OOM occurs within this // function, *pRc is set to SQLITE_NOMEM before returning. *pRc is *not* // set if a parse error (failed to find close quote) occurs. -func fts5ConfigGobbleWord(tls *libc.TLS, pRc uintptr, zIn uintptr, pzOut uintptr, pbQuoted uintptr) uintptr { /* sqlite3.c:220585:19: */ +func fts5ConfigGobbleWord(tls *libc.TLS, pRc uintptr, zIn uintptr, pzOut uintptr, pbQuoted uintptr) uintptr { /* sqlite3.c:220642:19: */ var zRet uintptr = uintptr(0) var nIn Sqlite3_int64 = Sqlite3_int64(libc.Xstrlen(tls, zIn)) @@ -191368,7 +191418,7 @@ func fts5ConfigGobbleWord(tls *libc.TLS, pRc uintptr, zIn uintptr, pzOut uintptr return zRet } -func fts5ConfigParseColumn(tls *libc.TLS, p uintptr, zCol uintptr, zArg uintptr, pzErr uintptr) int32 { /* sqlite3.c:220625:12: */ +func fts5ConfigParseColumn(tls *libc.TLS, p uintptr, zCol uintptr, zArg uintptr, pzErr uintptr) int32 { /* sqlite3.c:220682:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -191391,7 +191441,7 @@ func fts5ConfigParseColumn(tls *libc.TLS, p uintptr, zCol uintptr, zArg uintptr, } // Populate the Fts5Config.zContentExprlist string. -func fts5ConfigMakeExprlist(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:220653:12: */ +func fts5ConfigMakeExprlist(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:220710:12: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -191424,7 +191474,7 @@ func fts5ConfigMakeExprlist(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:22065 // returned, *ppOut is set to NULL and an error message may be left in // *pzErr. It is the responsibility of the caller to eventually free any // such error message using sqlite3_free(). -func sqlite3Fts5ConfigParse(tls *libc.TLS, pGlobal uintptr, db uintptr, nArg int32, azArg uintptr, ppOut uintptr, pzErr uintptr) int32 { /* sqlite3.c:220686:12: */ +func sqlite3Fts5ConfigParse(tls *libc.TLS, pGlobal uintptr, db uintptr, nArg int32, azArg uintptr, ppOut uintptr, pzErr uintptr) int32 { /* sqlite3.c:220743:12: */ bp := tls.Alloc(76) defer tls.Free(76) @@ -191557,7 +191607,7 @@ func sqlite3Fts5ConfigParse(tls *libc.TLS, pGlobal uintptr, db uintptr, nArg int } // Free the configuration object passed as the only argument. -func sqlite3Fts5ConfigFree(tls *libc.TLS, pConfig uintptr) { /* sqlite3.c:220810:13: */ +func sqlite3Fts5ConfigFree(tls *libc.TLS, pConfig uintptr) { /* sqlite3.c:220867:13: */ if pConfig != 0 { var i int32 if (*Fts5Config)(unsafe.Pointer(pConfig)).FpTok != 0 { @@ -191582,7 +191632,7 @@ func sqlite3Fts5ConfigFree(tls *libc.TLS, pConfig uintptr) { /* sqlite3.c:220810 // Call sqlite3_declare_vtab() based on the contents of the configuration // object passed as the only argument. Return SQLITE_OK if successful, or // an SQLite error code if an error occurs. -func sqlite3Fts5ConfigDeclareVtab(tls *libc.TLS, pConfig uintptr) int32 { /* sqlite3.c:220837:12: */ +func sqlite3Fts5ConfigDeclareVtab(tls *libc.TLS, pConfig uintptr) int32 { /* sqlite3.c:220894:12: */ bp := tls.Alloc(52) defer tls.Free(52) @@ -191632,7 +191682,7 @@ func sqlite3Fts5ConfigDeclareVtab(tls *libc.TLS, pConfig uintptr) int32 { /* sql // still returns SQLITE_OK. Or, if the tokenization was abandoned early // 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) int32 { /* sqlite3.c:220883:12: */ +func sqlite3Fts5Tokenize(tls *libc.TLS, pConfig uintptr, flags int32, pText uintptr, nText int32, pCtx uintptr, xToken uintptr) int32 { /* sqlite3.c:220940:12: */ if pText == uintptr(0) { return SQLITE_OK } @@ -191646,7 +191696,7 @@ func sqlite3Fts5Tokenize(tls *libc.TLS, pConfig uintptr, flags int32, pText uint // a comma-separated list of SQL literals followed by a ')' character. // If it actually is this, return a pointer to the ')'. Otherwise, return // NULL to indicate a parse error. -func fts5ConfigSkipArgs(tls *libc.TLS, pIn uintptr) uintptr { /* sqlite3.c:220902:19: */ +func fts5ConfigSkipArgs(tls *libc.TLS, pIn uintptr) uintptr { /* sqlite3.c:220959:19: */ var p uintptr = pIn for 1 != 0 { @@ -191673,7 +191723,7 @@ func fts5ConfigSkipArgs(tls *libc.TLS, pIn uintptr) uintptr { /* sqlite3.c:22090 // + Open parenthesis - "(" // + Zero or more SQL literals in a comma separated list // + Close parenthesis - ")" -func sqlite3Fts5ConfigParseRank(tls *libc.TLS, zIn uintptr, pzRank uintptr, pzRankArgs uintptr) int32 { /* sqlite3.c:220929:12: */ +func sqlite3Fts5ConfigParseRank(tls *libc.TLS, zIn uintptr, pzRank uintptr, pzRankArgs uintptr) int32 { /* sqlite3.c:220986:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -191737,7 +191787,7 @@ func sqlite3Fts5ConfigParseRank(tls *libc.TLS, zIn uintptr, pzRank uintptr, pzRa return *(*int32)(unsafe.Pointer(bp /* rc */)) } -func sqlite3Fts5ConfigSetValue(tls *libc.TLS, pConfig uintptr, zKey uintptr, pVal uintptr, pbBadkey uintptr) int32 { /* sqlite3.c:220988:12: */ +func sqlite3Fts5ConfigSetValue(tls *libc.TLS, pConfig uintptr, zKey uintptr, pVal uintptr, pbBadkey uintptr) int32 { /* sqlite3.c:221045:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -191825,7 +191875,7 @@ func sqlite3Fts5ConfigSetValue(tls *libc.TLS, pConfig uintptr, zKey uintptr, pVa } // Load the contents of the %_config table into memory. -func sqlite3Fts5ConfigLoad(tls *libc.TLS, pConfig uintptr, iCookie int32) int32 { /* sqlite3.c:221082:12: */ +func sqlite3Fts5ConfigLoad(tls *libc.TLS, pConfig uintptr, iCookie int32) int32 { /* sqlite3.c:221139:12: */ bp := tls.Alloc(52) defer tls.Free(52) @@ -191902,7 +191952,7 @@ type Fts5ExprTerm1 = struct { FzTerm uintptr FpIter uintptr FpSynonym uintptr -} /* sqlite3.c:216813:9 */ +} /* sqlite3.c:216870:9 */ // 2014 May 31 // @@ -191921,9 +191971,9 @@ type Fts5ExprTerm1 = struct { // All token types in the generated fts5parse.h file are greater than 0. -type Fts5ExprTerm = Fts5ExprTerm1 /* sqlite3.c:221160:29 */ +type Fts5ExprTerm = Fts5ExprTerm1 /* sqlite3.c:221217:29 */ -func sqlite3Fts5ParseError(tls *libc.TLS, pParse uintptr, zFmt uintptr, va uintptr) { /* sqlite3.c:221267:13: */ +func sqlite3Fts5ParseError(tls *libc.TLS, pParse uintptr, zFmt uintptr, va uintptr) { /* sqlite3.c:221324:13: */ var ap Va_list _ = ap ap = va @@ -191935,12 +191985,12 @@ func sqlite3Fts5ParseError(tls *libc.TLS, pParse uintptr, zFmt uintptr, va uintp _ = ap } -func fts5ExprIsspace(tls *libc.TLS, t int8) int32 { /* sqlite3.c:221278:12: */ +func fts5ExprIsspace(tls *libc.TLS, t int8) int32 { /* sqlite3.c:221335:12: */ return libc.Bool32(int32(t) == ' ' || int32(t) == '\t' || int32(t) == '\n' || int32(t) == '\r') } // Read the first token from the nul-terminated string at *pz. -func fts5ExprGetToken(tls *libc.TLS, pParse uintptr, pz uintptr, pToken uintptr) int32 { /* sqlite3.c:221285:12: */ +func fts5ExprGetToken(tls *libc.TLS, pParse uintptr, pz uintptr, pToken uintptr) int32 { /* sqlite3.c:221342:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -192040,15 +192090,15 @@ func fts5ExprGetToken(tls *libc.TLS, pParse uintptr, pz uintptr, pToken uintptr) return tok } -func fts5ParseAlloc(tls *libc.TLS, t U64) uintptr { /* sqlite3.c:221349:13: */ +func fts5ParseAlloc(tls *libc.TLS, t U64) uintptr { /* sqlite3.c:221406:13: */ return Xsqlite3_malloc64(tls, uint64(Sqlite3_int64(t))) } -func fts5ParseFree(tls *libc.TLS, p uintptr) { /* sqlite3.c:221350:13: */ +func fts5ParseFree(tls *libc.TLS, p uintptr) { /* sqlite3.c:221407:13: */ Xsqlite3_free(tls, p) } -func sqlite3Fts5ExprNew(tls *libc.TLS, pConfig uintptr, bPhraseToAnd int32, iCol int32, zExpr uintptr, ppNew uintptr, pzErr uintptr) int32 { /* sqlite3.c:221352:12: */ +func sqlite3Fts5ExprNew(tls *libc.TLS, pConfig uintptr, bPhraseToAnd int32, iCol int32, zExpr uintptr, ppNew uintptr, pzErr uintptr) int32 { /* sqlite3.c:221409:12: */ bp := tls.Alloc(72) defer tls.Free(72) @@ -192126,7 +192176,7 @@ func sqlite3Fts5ExprNew(tls *libc.TLS, pConfig uintptr, bPhraseToAnd int32, iCol // expression that will match a superset of the rows matched by the LIKE or // GLOB. If successful, SQLITE_OK is returned. Otherwise, an SQLite error // code. -func sqlite3Fts5ExprPattern(tls *libc.TLS, pConfig uintptr, bGlob int32, iCol int32, zText uintptr, pp uintptr) int32 { /* sqlite3.c:221433:12: */ +func sqlite3Fts5ExprPattern(tls *libc.TLS, pConfig uintptr, bGlob int32, iCol int32, zText uintptr, pp uintptr) int32 { /* sqlite3.c:221490:12: */ bp := tls.Alloc(3) defer tls.Free(3) @@ -192201,7 +192251,7 @@ func sqlite3Fts5ExprPattern(tls *libc.TLS, pConfig uintptr, bGlob int32, iCol in } // Free the expression node object passed as the only argument. -func sqlite3Fts5ParseNodeFree(tls *libc.TLS, p uintptr) { /* sqlite3.c:221503:13: */ +func sqlite3Fts5ParseNodeFree(tls *libc.TLS, p uintptr) { /* sqlite3.c:221560:13: */ if p != 0 { var i int32 for i = 0; i < (*Fts5ExprNode)(unsafe.Pointer(p)).FnChild; i++ { @@ -192213,7 +192263,7 @@ func sqlite3Fts5ParseNodeFree(tls *libc.TLS, p uintptr) { /* sqlite3.c:221503:13 } // Free the expression object passed as the only argument. -func sqlite3Fts5ExprFree(tls *libc.TLS, p uintptr) { /* sqlite3.c:221517:13: */ +func sqlite3Fts5ExprFree(tls *libc.TLS, p uintptr) { /* sqlite3.c:221574:13: */ if p != 0 { sqlite3Fts5ParseNodeFree(tls, (*Fts5Expr)(unsafe.Pointer(p)).FpRoot) Xsqlite3_free(tls, (*Fts5Expr)(unsafe.Pointer(p)).FapExprPhrase) @@ -192221,7 +192271,7 @@ func sqlite3Fts5ExprFree(tls *libc.TLS, p uintptr) { /* sqlite3.c:221517:13: */ } } -func sqlite3Fts5ExprAnd(tls *libc.TLS, pp1 uintptr, p2 uintptr) int32 { /* sqlite3.c:221525:12: */ +func sqlite3Fts5ExprAnd(tls *libc.TLS, pp1 uintptr, p2 uintptr) int32 { /* sqlite3.c:221582:12: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -192262,7 +192312,7 @@ func sqlite3Fts5ExprAnd(tls *libc.TLS, pp1 uintptr, p2 uintptr) int32 { /* sqlit // Argument pTerm must be a synonym iterator. Return the current rowid // that it points to. -func fts5ExprSynonymRowid(tls *libc.TLS, pTerm uintptr, bDesc int32, pbEof uintptr) I64 { /* sqlite3.c:221565:12: */ +func fts5ExprSynonymRowid(tls *libc.TLS, pTerm uintptr, bDesc int32, pbEof uintptr) I64 { /* sqlite3.c:221622:12: */ var iRet I64 = int64(0) var bRetValid int32 = 0 var p uintptr @@ -192284,7 +192334,7 @@ func fts5ExprSynonymRowid(tls *libc.TLS, pTerm uintptr, bDesc int32, pbEof uintp } // Argument pTerm must be a synonym iterator. -func fts5ExprSynonymList(tls *libc.TLS, pTerm uintptr, iRowid I64, pBuf uintptr, pa uintptr, pn uintptr) int32 { /* sqlite3.c:221590:12: */ +func fts5ExprSynonymList(tls *libc.TLS, pTerm uintptr, iRowid I64, pBuf uintptr, pa uintptr, pn uintptr) int32 { /* sqlite3.c:221647:12: */ bp := tls.Alloc(136) defer tls.Free(136) @@ -192448,7 +192498,7 @@ __22: // SQLITE_OK is returned if an error occurs, or an SQLite error code // otherwise. It is not considered an error code if the current rowid is // not a match. -func fts5ExprPhraseIsMatch(tls *libc.TLS, pNode uintptr, pPhrase uintptr, pbMatch uintptr) int32 { /* sqlite3.c:221673:12: */ +func fts5ExprPhraseIsMatch(tls *libc.TLS, pNode uintptr, pPhrase uintptr, pbMatch uintptr) int32 { /* sqlite3.c:221730:12: */ bp := tls.Alloc(168) defer tls.Free(168) @@ -192673,11 +192723,11 @@ type Fts5LookaheadReader1 = struct { Fi int32 FiPos I64 FiLookahead I64 -} /* sqlite3.c:221757:9 */ +} /* sqlite3.c:221814:9 */ -type Fts5LookaheadReader = Fts5LookaheadReader1 /* sqlite3.c:221757:36 */ +type Fts5LookaheadReader = Fts5LookaheadReader1 /* sqlite3.c:221814:36 */ -func fts5LookaheadReaderNext(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:221768:12: */ +func fts5LookaheadReaderNext(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:221825:12: */ (*Fts5LookaheadReader)(unsafe.Pointer(p)).FiPos = (*Fts5LookaheadReader)(unsafe.Pointer(p)).FiLookahead if sqlite3Fts5PoslistNext64(tls, (*Fts5LookaheadReader)(unsafe.Pointer(p)).Fa, (*Fts5LookaheadReader)(unsafe.Pointer(p)).Fn, p+12, p+24) != 0 { (*Fts5LookaheadReader)(unsafe.Pointer(p)).FiLookahead = I64(int64(1)) << 62 @@ -192685,7 +192735,7 @@ func fts5LookaheadReaderNext(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:2217 return libc.Bool32((*Fts5LookaheadReader)(unsafe.Pointer(p)).FiPos == I64(int64(1))<<62) } -func fts5LookaheadReaderInit(tls *libc.TLS, a uintptr, n int32, p uintptr) int32 { /* sqlite3.c:221776:12: */ +func fts5LookaheadReaderInit(tls *libc.TLS, a uintptr, n int32, p uintptr) int32 { /* sqlite3.c:221833:12: */ libc.X__builtin___memset_chk(tls, p, 0, uint64(unsafe.Sizeof(Fts5LookaheadReader{})), libc.X__builtin_object_size(tls, p, 0)) (*Fts5LookaheadReader)(unsafe.Pointer(p)).Fa = a (*Fts5LookaheadReader)(unsafe.Pointer(p)).Fn = n @@ -192697,9 +192747,9 @@ type Fts5NearTrimmer1 = struct { Freader Fts5LookaheadReader Fwriter Fts5PoslistWriter FpOut uintptr -} /* sqlite3.c:221787:9 */ +} /* sqlite3.c:221844:9 */ -type Fts5NearTrimmer = Fts5NearTrimmer1 /* sqlite3.c:221787:32 */ +type Fts5NearTrimmer = Fts5NearTrimmer1 /* sqlite3.c:221844:32 */ // The near-set object passed as the first argument contains more than // one phrase. All phrases currently point to the same row. The @@ -192716,7 +192766,7 @@ type Fts5NearTrimmer = Fts5NearTrimmer1 /* sqlite3.c:221787:32 */ // If no error occurs and non-zero (a match) is returned, the position-list // of each phrase object is edited to contain only those entries that // meet the constraint before returning. -func fts5ExprNearIsMatch(tls *libc.TLS, pRc uintptr, pNear uintptr) int32 { /* sqlite3.c:221811:12: */ +func fts5ExprNearIsMatch(tls *libc.TLS, pRc uintptr, pNear uintptr) int32 { /* sqlite3.c:221868:12: */ bp := tls.Alloc(196) defer tls.Free(196) @@ -192918,7 +192968,7 @@ __29: // If the iterator reaches EOF, set *pbEof to true before returning. If // an error occurs, set *pRc to an error code. If either *pbEof or *pRc // are set, return a non-zero value. Otherwise, return zero. -func fts5ExprAdvanceto(tls *libc.TLS, pIter uintptr, bDesc int32, piLast uintptr, pRc uintptr, pbEof uintptr) int32 { /* sqlite3.c:221910:12: */ +func fts5ExprAdvanceto(tls *libc.TLS, pIter uintptr, bDesc int32, piLast uintptr, pRc uintptr, pbEof uintptr) int32 { /* sqlite3.c:221967:12: */ var iLast I64 = *(*I64)(unsafe.Pointer(piLast)) var iRowid I64 @@ -192938,7 +192988,7 @@ func fts5ExprAdvanceto(tls *libc.TLS, pIter uintptr, bDesc int32, piLast uintptr return 0 } -func fts5ExprSynonymAdvanceto(tls *libc.TLS, pTerm uintptr, bDesc int32, piLast uintptr, pRc uintptr) int32 { /* sqlite3.c:221936:12: */ +func fts5ExprSynonymAdvanceto(tls *libc.TLS, pTerm uintptr, bDesc int32, piLast uintptr, pRc uintptr) int32 { /* sqlite3.c:221993:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -192965,7 +193015,7 @@ func fts5ExprSynonymAdvanceto(tls *libc.TLS, pTerm uintptr, bDesc int32, piLast return *(*int32)(unsafe.Pointer(bp /* bEof */)) } -func fts5ExprNearTest(tls *libc.TLS, pRc uintptr, pExpr uintptr, pNode uintptr) int32 { /* sqlite3.c:221966:12: */ +func fts5ExprNearTest(tls *libc.TLS, pRc uintptr, pExpr uintptr, pNode uintptr) int32 { /* sqlite3.c:222023:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -193022,7 +193072,7 @@ func fts5ExprNearTest(tls *libc.TLS, pRc uintptr, pExpr uintptr, pNode uintptr) // If an error occurs, return an SQLite error code. Otherwise, return // SQLITE_OK. It is not considered an error if some term matches zero // documents. -func fts5ExprNearInitAll(tls *libc.TLS, pExpr uintptr, pNode uintptr) int32 { /* sqlite3.c:222025:12: */ +func fts5ExprNearInitAll(tls *libc.TLS, pExpr uintptr, pNode uintptr) int32 { /* sqlite3.c:222082:12: */ var pNear uintptr = (*Fts5ExprNode)(unsafe.Pointer(pNode)).FpNear var i int32 @@ -193088,7 +193138,7 @@ func fts5ExprNearInitAll(tls *libc.TLS, pExpr uintptr, pNode uintptr) int32 { /* // Otherwise, if this is a DESC iterator, the opposite is returned: // // (iRhs - iLhs) -func fts5RowidCmp(tls *libc.TLS, pExpr uintptr, iLhs I64, iRhs I64) int32 { /* sqlite3.c:222087:12: */ +func fts5RowidCmp(tls *libc.TLS, pExpr uintptr, iLhs I64, iRhs I64) int32 { /* sqlite3.c:222144:12: */ if (*Fts5Expr)(unsafe.Pointer(pExpr)).FbDesc == 0 { if iLhs < iRhs { @@ -193104,7 +193154,7 @@ func fts5RowidCmp(tls *libc.TLS, pExpr uintptr, iLhs I64, iRhs I64) int32 { /* s return int32(0) } -func fts5ExprSetEof(tls *libc.TLS, pNode uintptr) { /* sqlite3.c:222102:13: */ +func fts5ExprSetEof(tls *libc.TLS, pNode uintptr) { /* sqlite3.c:222159:13: */ var i int32 (*Fts5ExprNode)(unsafe.Pointer(pNode)).FbEof = 1 (*Fts5ExprNode)(unsafe.Pointer(pNode)).FbNomatch = 0 @@ -193113,7 +193163,7 @@ func fts5ExprSetEof(tls *libc.TLS, pNode uintptr) { /* sqlite3.c:222102:13: */ } } -func fts5ExprNodeZeroPoslist(tls *libc.TLS, pNode uintptr) { /* sqlite3.c:222111:13: */ +func fts5ExprNodeZeroPoslist(tls *libc.TLS, pNode uintptr) { /* sqlite3.c:222168:13: */ if (*Fts5ExprNode)(unsafe.Pointer(pNode)).FeType == FTS5_STRING || (*Fts5ExprNode)(unsafe.Pointer(pNode)).FeType == FTS5_TERM { var pNear uintptr = (*Fts5ExprNode)(unsafe.Pointer(pNode)).FpNear var i int32 @@ -193139,7 +193189,7 @@ func fts5ExprNodeZeroPoslist(tls *libc.TLS, pNode uintptr) { /* sqlite3.c:222111 // This means that if the iteration order is ASC, then numerically larger // rowids are considered larger. Or if it is the default DESC, numerically // smaller rowids are larger. -func fts5NodeCompare(tls *libc.TLS, pExpr uintptr, p1 uintptr, p2 uintptr) int32 { /* sqlite3.c:222141:12: */ +func fts5NodeCompare(tls *libc.TLS, pExpr uintptr, p1 uintptr, p2 uintptr) int32 { /* sqlite3.c:222198:12: */ if (*Fts5ExprNode)(unsafe.Pointer(p2)).FbEof != 0 { return -1 } @@ -193158,7 +193208,7 @@ func fts5NodeCompare(tls *libc.TLS, pExpr uintptr, p1 uintptr, p2 uintptr) int32 // SQLITE_OK is returned if an error occurs, or an SQLite error code // otherwise. It is not considered an error code if an iterator reaches // EOF. -func fts5ExprNodeTest_STRING(tls *libc.TLS, pExpr uintptr, pNode uintptr) int32 { /* sqlite3.c:222162:12: */ +func fts5ExprNodeTest_STRING(tls *libc.TLS, pExpr uintptr, pNode uintptr) int32 { /* sqlite3.c:222219:12: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -193226,7 +193276,7 @@ func fts5ExprNodeTest_STRING(tls *libc.TLS, pExpr uintptr, pNode uintptr) int32 // // Return SQLITE_OK if successful, or an SQLite error code if an error // occurs. -func fts5ExprNodeNext_STRING(tls *libc.TLS, pExpr uintptr, pNode uintptr, bFromValid int32, iFrom I64) int32 { /* sqlite3.c:222232:12: */ +func fts5ExprNodeNext_STRING(tls *libc.TLS, pExpr uintptr, pNode uintptr, bFromValid int32, iFrom I64) int32 { /* sqlite3.c:222289:12: */ var pTerm uintptr = *(*uintptr)(unsafe.Pointer((*Fts5ExprNode)(unsafe.Pointer(pNode)).FpNear + 24)) + 32 var rc int32 = SQLITE_OK @@ -193285,7 +193335,7 @@ func fts5ExprNodeNext_STRING(tls *libc.TLS, pExpr uintptr, pNode uintptr, bFromV return rc } -func fts5ExprNodeTest_TERM(tls *libc.TLS, pExpr uintptr, pNode uintptr) int32 { /* sqlite3.c:222297:12: */ +func fts5ExprNodeTest_TERM(tls *libc.TLS, pExpr uintptr, pNode uintptr) int32 { /* sqlite3.c:222354:12: */ // As this "NEAR" object is actually a single phrase that consists // of a single term only, grab pointers into the poslist managed by the // fts5_index.c iterator object. This is much faster than synthesizing @@ -193304,7 +193354,7 @@ func fts5ExprNodeTest_TERM(tls *libc.TLS, pExpr uintptr, pNode uintptr) int32 { } // xNext() method for a node of type FTS5_TERM. -func fts5ExprNodeNext_TERM(tls *libc.TLS, pExpr uintptr, pNode uintptr, bFromValid int32, iFrom I64) int32 { /* sqlite3.c:222325:12: */ +func fts5ExprNodeNext_TERM(tls *libc.TLS, pExpr uintptr, pNode uintptr, bFromValid int32, iFrom I64) int32 { /* sqlite3.c:222382:12: */ var rc int32 var pIter uintptr = (*Fts5ExprTerm)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer((*Fts5ExprNode)(unsafe.Pointer(pNode)).FpNear + 24)) + 32)).FpIter @@ -193322,7 +193372,7 @@ func fts5ExprNodeNext_TERM(tls *libc.TLS, pExpr uintptr, pNode uintptr, bFromVal return rc } -func fts5ExprNodeTest_OR(tls *libc.TLS, pExpr uintptr, pNode uintptr) { /* sqlite3.c:222349:13: */ +func fts5ExprNodeTest_OR(tls *libc.TLS, pExpr uintptr, pNode uintptr) { /* sqlite3.c:222406:13: */ var pNext uintptr = *(*uintptr)(unsafe.Pointer(pNode + 48)) var i int32 @@ -193338,7 +193388,7 @@ func fts5ExprNodeTest_OR(tls *libc.TLS, pExpr uintptr, pNode uintptr) { /* sqlit (*Fts5ExprNode)(unsafe.Pointer(pNode)).FbNomatch = (*Fts5ExprNode)(unsafe.Pointer(pNext)).FbNomatch } -func fts5ExprNodeNext_OR(tls *libc.TLS, pExpr uintptr, pNode uintptr, bFromValid int32, iFrom I64) int32 { /* sqlite3.c:222368:12: */ +func fts5ExprNodeNext_OR(tls *libc.TLS, pExpr uintptr, pNode uintptr, bFromValid int32, iFrom I64) int32 { /* sqlite3.c:222425:12: */ var i int32 var iLast I64 = (*Fts5ExprNode)(unsafe.Pointer(pNode)).FiRowid @@ -193364,7 +193414,7 @@ func fts5ExprNodeNext_OR(tls *libc.TLS, pExpr uintptr, pNode uintptr, bFromValid } // Argument pNode is an FTS5_AND node. -func fts5ExprNodeTest_AND(tls *libc.TLS, pExpr uintptr, pAnd uintptr) int32 { /* sqlite3.c:222400:12: */ +func fts5ExprNodeTest_AND(tls *libc.TLS, pExpr uintptr, pAnd uintptr) int32 { /* sqlite3.c:222457:12: */ var iChild int32 var iLast I64 = (*Fts5ExprNode)(unsafe.Pointer(pAnd)).FiRowid var rc int32 = SQLITE_OK @@ -193414,7 +193464,7 @@ func fts5ExprNodeTest_AND(tls *libc.TLS, pExpr uintptr, pAnd uintptr) int32 { /* return SQLITE_OK } -func fts5ExprNodeNext_AND(tls *libc.TLS, pExpr uintptr, pNode uintptr, bFromValid int32, iFrom I64) int32 { /* sqlite3.c:222452:12: */ +func fts5ExprNodeNext_AND(tls *libc.TLS, pExpr uintptr, pNode uintptr, bFromValid int32, iFrom I64) int32 { /* sqlite3.c:222509:12: */ var rc int32 = (*struct { f func(*libc.TLS, uintptr, uintptr, int32, I64) int32 })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExprNode)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pNode + 48 /* &.apChild */)))).FxNext})).f(tls, pExpr, *(*uintptr)(unsafe.Pointer(pNode + 48 /* &.apChild */)), bFromValid, iFrom) @@ -193426,7 +193476,7 @@ func fts5ExprNodeNext_AND(tls *libc.TLS, pExpr uintptr, pNode uintptr, bFromVali return rc } -func fts5ExprNodeTest_NOT(tls *libc.TLS, pExpr uintptr, pNode uintptr) int32 { /* sqlite3.c:222467:12: */ +func fts5ExprNodeTest_NOT(tls *libc.TLS, pExpr uintptr, pNode uintptr) int32 { /* sqlite3.c:222524:12: */ var rc int32 = SQLITE_OK var p1 uintptr = *(*uintptr)(unsafe.Pointer(pNode + 48)) var p2 uintptr = *(*uintptr)(unsafe.Pointer(pNode + 48 + 1*8)) @@ -193456,7 +193506,7 @@ func fts5ExprNodeTest_NOT(tls *libc.TLS, pExpr uintptr, pNode uintptr) int32 { / return rc } -func fts5ExprNodeNext_NOT(tls *libc.TLS, pExpr uintptr, pNode uintptr, bFromValid int32, iFrom I64) int32 { /* sqlite3.c:222495:12: */ +func fts5ExprNodeNext_NOT(tls *libc.TLS, pExpr uintptr, pNode uintptr, bFromValid int32, iFrom I64) int32 { /* sqlite3.c:222552:12: */ var rc int32 = (*struct { f func(*libc.TLS, uintptr, uintptr, int32, I64) int32 })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExprNode)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pNode + 48 /* &.apChild */)))).FxNext})).f(tls, pExpr, *(*uintptr)(unsafe.Pointer(pNode + 48 /* &.apChild */)), bFromValid, iFrom) @@ -193472,7 +193522,7 @@ func fts5ExprNodeNext_NOT(tls *libc.TLS, pExpr uintptr, pNode uintptr, bFromVali // If pNode currently points to a match, this function returns SQLITE_OK // without modifying it. Otherwise, pNode is advanced until it does point // to a match or EOF is reached. -func fts5ExprNodeTest(tls *libc.TLS, pExpr uintptr, pNode uintptr) int32 { /* sqlite3.c:222516:12: */ +func fts5ExprNodeTest(tls *libc.TLS, pExpr uintptr, pNode uintptr) int32 { /* sqlite3.c:222573:12: */ var rc int32 = SQLITE_OK if (*Fts5ExprNode)(unsafe.Pointer(pNode)).FbEof == 0 { switch (*Fts5ExprNode)(unsafe.Pointer(pNode)).FeType { @@ -193525,7 +193575,7 @@ func fts5ExprNodeTest(tls *libc.TLS, pExpr uintptr, pNode uintptr) int32 { /* sq // // Return an SQLite error code if an error occurs, or SQLITE_OK otherwise. // It is not an error if there are no matches. -func fts5ExprNodeFirst(tls *libc.TLS, pExpr uintptr, pNode uintptr) int32 { /* sqlite3.c:222561:12: */ +func fts5ExprNodeFirst(tls *libc.TLS, pExpr uintptr, pNode uintptr) int32 { /* sqlite3.c:222618:12: */ var rc int32 = SQLITE_OK (*Fts5ExprNode)(unsafe.Pointer(pNode)).FbEof = 0 (*Fts5ExprNode)(unsafe.Pointer(pNode)).FbNomatch = 0 @@ -193587,7 +193637,7 @@ func fts5ExprNodeFirst(tls *libc.TLS, pExpr uintptr, pNode uintptr) int32 { /* s // // Return SQLITE_OK if successful, or an SQLite error code otherwise. It // is not considered an error if the query does not match any documents. -func sqlite3Fts5ExprFirst(tls *libc.TLS, p uintptr, pIdx uintptr, iFirst I64, bDesc int32) int32 { /* sqlite3.c:222620:12: */ +func sqlite3Fts5ExprFirst(tls *libc.TLS, p uintptr, pIdx uintptr, iFirst I64, bDesc int32) int32 { /* sqlite3.c:222677:12: */ var pRoot uintptr = (*Fts5Expr)(unsafe.Pointer(p)).FpRoot var rc int32 // Return code @@ -193619,7 +193669,7 @@ func sqlite3Fts5ExprFirst(tls *libc.TLS, p uintptr, pIdx uintptr, iFirst I64, bD // // Return SQLITE_OK if successful, or an SQLite error code otherwise. It // is not considered an error if the query does not match any documents. -func sqlite3Fts5ExprNext(tls *libc.TLS, p uintptr, iLast I64) int32 { /* sqlite3.c:222651:12: */ +func sqlite3Fts5ExprNext(tls *libc.TLS, p uintptr, iLast I64) int32 { /* sqlite3.c:222708:12: */ var rc int32 var pRoot uintptr = (*Fts5Expr)(unsafe.Pointer(p)).FpRoot @@ -193635,15 +193685,15 @@ func sqlite3Fts5ExprNext(tls *libc.TLS, p uintptr, iLast I64) int32 { /* sqlite3 return rc } -func sqlite3Fts5ExprEof(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:222665:12: */ +func sqlite3Fts5ExprEof(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:222722:12: */ return (*Fts5ExprNode)(unsafe.Pointer((*Fts5Expr)(unsafe.Pointer(p)).FpRoot)).FbEof } -func sqlite3Fts5ExprRowid(tls *libc.TLS, p uintptr) I64 { /* sqlite3.c:222669:12: */ +func sqlite3Fts5ExprRowid(tls *libc.TLS, p uintptr) I64 { /* sqlite3.c:222726:12: */ return (*Fts5ExprNode)(unsafe.Pointer((*Fts5Expr)(unsafe.Pointer(p)).FpRoot)).FiRowid } -func fts5ParseStringFromToken(tls *libc.TLS, pToken uintptr, pz uintptr) int32 { /* sqlite3.c:222673:12: */ +func fts5ParseStringFromToken(tls *libc.TLS, pToken uintptr, pz uintptr) int32 { /* sqlite3.c:222730:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -193653,7 +193703,7 @@ func fts5ParseStringFromToken(tls *libc.TLS, pToken uintptr, pz uintptr) int32 { } // Free the phrase object passed as the only argument. -func fts5ExprPhraseFree(tls *libc.TLS, pPhrase uintptr) { /* sqlite3.c:222682:13: */ +func fts5ExprPhraseFree(tls *libc.TLS, pPhrase uintptr) { /* sqlite3.c:222739:13: */ if pPhrase != 0 { var i int32 for i = 0; i < (*Fts5ExprPhrase)(unsafe.Pointer(pPhrase)).FnTerm; i++ { @@ -193678,7 +193728,7 @@ func fts5ExprPhraseFree(tls *libc.TLS, pPhrase uintptr) { /* sqlite3.c:222682:13 // Set the "bFirst" flag on the first token of the phrase passed as the // only argument. -func sqlite3Fts5ParseSetCaret(tls *libc.TLS, pPhrase uintptr) { /* sqlite3.c:222707:13: */ +func sqlite3Fts5ParseSetCaret(tls *libc.TLS, pPhrase uintptr) { /* sqlite3.c:222764:13: */ if pPhrase != 0 && (*Fts5ExprPhrase)(unsafe.Pointer(pPhrase)).FnTerm != 0 { (*Fts5ExprTerm)(unsafe.Pointer(pPhrase + 32)).FbFirst = U8(1) } @@ -193690,7 +193740,7 @@ func sqlite3Fts5ParseSetCaret(tls *libc.TLS, pPhrase uintptr) { /* sqlite3.c:222 // // If an OOM error occurs, both the pNear and pPhrase objects are freed and // NULL returned. -func sqlite3Fts5ParseNearset(tls *libc.TLS, pParse uintptr, pNear uintptr, pPhrase uintptr) uintptr { /* sqlite3.c:222721:24: */ +func sqlite3Fts5ParseNearset(tls *libc.TLS, pParse uintptr, pNear uintptr, pPhrase uintptr) uintptr { /* sqlite3.c:222778:24: */ var SZALLOC int32 = 8 var pRet uintptr = uintptr(0) @@ -193750,12 +193800,12 @@ type TokenCtx1 = struct { FpPhrase uintptr Frc int32 F__ccgo_pad1 [4]byte -} /* sqlite3.c:222781:9 */ +} /* sqlite3.c:222838:9 */ -type TokenCtx = TokenCtx1 /* sqlite3.c:222781:25 */ +type TokenCtx = TokenCtx1 /* sqlite3.c:222838:25 */ // Callback for tokenizing terms used by ParseTerm(). -func fts5ParseTokenize(tls *libc.TLS, pContext uintptr, tflags int32, pToken uintptr, nToken int32, iUnused1 int32, iUnused2 int32) int32 { /* sqlite3.c:222790:12: */ +func fts5ParseTokenize(tls *libc.TLS, pContext uintptr, tflags int32, pToken uintptr, nToken int32, iUnused1 int32, iUnused2 int32) int32 { /* sqlite3.c:222847:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -193824,12 +193874,12 @@ func fts5ParseTokenize(tls *libc.TLS, pContext uintptr, tflags int32, pToken uin } // Free the phrase object passed as the only argument. -func sqlite3Fts5ParsePhraseFree(tls *libc.TLS, pPhrase uintptr) { /* sqlite3.c:222855:13: */ +func sqlite3Fts5ParsePhraseFree(tls *libc.TLS, pPhrase uintptr) { /* sqlite3.c:222912:13: */ fts5ExprPhraseFree(tls, pPhrase) } // Free the phrase object passed as the second argument. -func sqlite3Fts5ParseNearsetFree(tls *libc.TLS, pNear uintptr) { /* sqlite3.c:222862:13: */ +func sqlite3Fts5ParseNearsetFree(tls *libc.TLS, pNear uintptr) { /* sqlite3.c:222919:13: */ if pNear != 0 { var i int32 for i = 0; i < (*Fts5ExprNearset)(unsafe.Pointer(pNear)).FnPhrase; i++ { @@ -193840,12 +193890,12 @@ func sqlite3Fts5ParseNearsetFree(tls *libc.TLS, pNear uintptr) { /* sqlite3.c:22 } } -func sqlite3Fts5ParseFinished(tls *libc.TLS, pParse uintptr, p uintptr) { /* sqlite3.c:222873:13: */ +func sqlite3Fts5ParseFinished(tls *libc.TLS, pParse uintptr, p uintptr) { /* sqlite3.c:222930:13: */ (*Fts5Parse)(unsafe.Pointer(pParse)).FpExpr = p } -func parseGrowPhraseArray(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:222878:12: */ +func parseGrowPhraseArray(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:222935:12: */ if (*Fts5Parse)(unsafe.Pointer(pParse)).FnPhrase%8 == 0 { var nByte Sqlite3_int64 = Sqlite3_int64(uint64(unsafe.Sizeof(uintptr(0))) * uint64((*Fts5Parse)(unsafe.Pointer(pParse)).FnPhrase+8)) var apNew uintptr @@ -193862,7 +193912,7 @@ func parseGrowPhraseArray(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:22 // This function is called by the parser to process a string token. The // string may or may not be quoted. In any case it is tokenized and a // phrase object consisting of all tokens returned. -func sqlite3Fts5ParseTerm(tls *libc.TLS, pParse uintptr, pAppend uintptr, pToken uintptr, bPrefix int32) uintptr { /* sqlite3.c:222897:23: */ +func sqlite3Fts5ParseTerm(tls *libc.TLS, pParse uintptr, pAppend uintptr, pToken uintptr, bPrefix int32) uintptr { /* sqlite3.c:222954:23: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -193920,7 +193970,7 @@ func sqlite3Fts5ParseTerm(tls *libc.TLS, pParse uintptr, pAppend uintptr, pToken // Create a new FTS5 expression by cloning phrase iPhrase of the // expression passed as the second argument. -func sqlite3Fts5ExprClonePhrase(tls *libc.TLS, pExpr uintptr, iPhrase int32, ppNew uintptr) int32 { /* sqlite3.c:222951:12: */ +func sqlite3Fts5ExprClonePhrase(tls *libc.TLS, pExpr uintptr, iPhrase int32, ppNew uintptr) int32 { /* sqlite3.c:223008:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -194015,7 +194065,7 @@ func sqlite3Fts5ExprClonePhrase(tls *libc.TLS, pExpr uintptr, iPhrase int32, ppN // Token pTok has appeared in a MATCH expression where the NEAR operator // is expected. If token pTok does not contain "NEAR", store an error // in the pParse object. -func sqlite3Fts5ParseNear(tls *libc.TLS, pParse uintptr, pTok uintptr) { /* sqlite3.c:223047:13: */ +func sqlite3Fts5ParseNear(tls *libc.TLS, pParse uintptr, pTok uintptr) { /* sqlite3.c:223104:13: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -194025,7 +194075,7 @@ func sqlite3Fts5ParseNear(tls *libc.TLS, pParse uintptr, pTok uintptr) { /* sqli } } -func sqlite3Fts5ParseSetDistance(tls *libc.TLS, pParse uintptr, pNear uintptr, p uintptr) { /* sqlite3.c:223055:13: */ +func sqlite3Fts5ParseSetDistance(tls *libc.TLS, pParse uintptr, pNear uintptr, p uintptr) { /* sqlite3.c:223112:13: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -194056,7 +194106,7 @@ func sqlite3Fts5ParseSetDistance(tls *libc.TLS, pParse uintptr, pNear uintptr, p // // If an OOM error occurs, store an error code in pParse and return NULL. // The old colset object (if any) is not freed in this case. -func fts5ParseColset(tls *libc.TLS, pParse uintptr, p uintptr, iCol int32) uintptr { /* sqlite3.c:223090:19: */ +func fts5ParseColset(tls *libc.TLS, pParse uintptr, p uintptr, iCol int32) uintptr { /* sqlite3.c:223147:19: */ var nCol int32 if p != 0 { nCol = (*Fts5Colset)(unsafe.Pointer(p)).FnCol @@ -194094,7 +194144,7 @@ func fts5ParseColset(tls *libc.TLS, pParse uintptr, p uintptr, iCol int32) uintp // Allocate and return an Fts5Colset object specifying the inverse of // the colset passed as the second argument. Free the colset passed // as the second argument before returning. -func sqlite3Fts5ParseColsetInvert(tls *libc.TLS, pParse uintptr, p uintptr) uintptr { /* sqlite3.c:223131:19: */ +func sqlite3Fts5ParseColsetInvert(tls *libc.TLS, pParse uintptr, p uintptr) uintptr { /* sqlite3.c:223188:19: */ var pRet uintptr var nCol int32 = (*Fts5Config)(unsafe.Pointer((*Fts5Parse)(unsafe.Pointer(pParse)).FpConfig)).FnCol @@ -194116,7 +194166,7 @@ func sqlite3Fts5ParseColsetInvert(tls *libc.TLS, pParse uintptr, p uintptr) uint return pRet } -func sqlite3Fts5ParseColset(tls *libc.TLS, pParse uintptr, pColset uintptr, p uintptr) uintptr { /* sqlite3.c:223154:19: */ +func sqlite3Fts5ParseColset(tls *libc.TLS, pParse uintptr, pColset uintptr, p uintptr) uintptr { /* sqlite3.c:223211:19: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -194155,7 +194205,7 @@ func sqlite3Fts5ParseColset(tls *libc.TLS, pParse uintptr, pColset uintptr, p ui // Otherwise, a copy of (*pOrig) is made into memory obtained from // sqlite3Fts5MallocZero() and a pointer to it returned. If the allocation // fails, (*pRc) is set to SQLITE_NOMEM and NULL is returned. -func fts5CloneColset(tls *libc.TLS, pRc uintptr, pOrig uintptr) uintptr { /* sqlite3.c:223194:19: */ +func fts5CloneColset(tls *libc.TLS, pRc uintptr, pOrig uintptr) uintptr { /* sqlite3.c:223251:19: */ var pRet uintptr if pOrig != 0 { var nByte Sqlite3_int64 = Sqlite3_int64(uint64(unsafe.Sizeof(Fts5Colset{})) + uint64((*Fts5Colset)(unsafe.Pointer(pOrig)).FnCol-1)*uint64(unsafe.Sizeof(int32(0)))) @@ -194170,7 +194220,7 @@ func fts5CloneColset(tls *libc.TLS, pRc uintptr, pOrig uintptr) uintptr { /* sql } // Remove from colset pColset any columns that are not also in colset pMerge. -func fts5MergeColset(tls *libc.TLS, pColset uintptr, pMerge uintptr) { /* sqlite3.c:223211:13: */ +func fts5MergeColset(tls *libc.TLS, pColset uintptr, pMerge uintptr) { /* sqlite3.c:223268:13: */ var iIn int32 = 0 // Next input in pColset var iMerge int32 = 0 // Next input in pMerge var iOut int32 = 0 // Next output slot in pColset @@ -194194,7 +194244,7 @@ func fts5MergeColset(tls *libc.TLS, pColset uintptr, pMerge uintptr) { /* sqlite // its decendents. If (*ppFree) is not NULL, it contains a spare copy // of pColset. This function may use the spare copy and set (*ppFree) to // zero, or it may create copies of pColset using fts5CloneColset(). -func fts5ParseSetColset(tls *libc.TLS, pParse uintptr, pNode uintptr, pColset uintptr, ppFree uintptr) { /* sqlite3.c:223237:13: */ +func fts5ParseSetColset(tls *libc.TLS, pParse uintptr, pNode uintptr, pColset uintptr, ppFree uintptr) { /* sqlite3.c:223294:13: */ if (*Fts5Parse)(unsafe.Pointer(pParse)).Frc == SQLITE_OK { if (*Fts5ExprNode)(unsafe.Pointer(pNode)).FeType == FTS5_STRING || (*Fts5ExprNode)(unsafe.Pointer(pNode)).FeType == FTS5_TERM { @@ -194222,7 +194272,7 @@ func fts5ParseSetColset(tls *libc.TLS, pParse uintptr, pNode uintptr, pColset ui } // Apply colset pColset to expression node pExpr and all of its descendents. -func sqlite3Fts5ParseSetColset(tls *libc.TLS, pParse uintptr, pExpr uintptr, pColset uintptr) { /* sqlite3.c:223275:13: */ +func sqlite3Fts5ParseSetColset(tls *libc.TLS, pParse uintptr, pExpr uintptr, pColset uintptr) { /* sqlite3.c:223332:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -194236,7 +194286,7 @@ func sqlite3Fts5ParseSetColset(tls *libc.TLS, pParse uintptr, pExpr uintptr, pCo Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp /* pFree */))) } -func fts5ExprAssignXNext(tls *libc.TLS, pNode uintptr) { /* sqlite3.c:223291:13: */ +func fts5ExprAssignXNext(tls *libc.TLS, pNode uintptr) { /* sqlite3.c:223348:13: */ switch (*Fts5ExprNode)(unsafe.Pointer(pNode)).FeType { case FTS5_STRING: { @@ -194287,7 +194337,7 @@ func fts5ExprAssignXNext(tls *libc.TLS, pNode uintptr) { /* sqlite3.c:223291:13: } } -func fts5ExprAddChildren(tls *libc.TLS, p uintptr, pSub uintptr) { /* sqlite3.c:223324:13: */ +func fts5ExprAddChildren(tls *libc.TLS, p uintptr, pSub uintptr) { /* sqlite3.c:223381:13: */ if (*Fts5ExprNode)(unsafe.Pointer(p)).FeType != FTS5_NOT && (*Fts5ExprNode)(unsafe.Pointer(pSub)).FeType == (*Fts5ExprNode)(unsafe.Pointer(p)).FeType { var nByte int32 = int32(uint64(unsafe.Sizeof(uintptr(0))) * uint64((*Fts5ExprNode)(unsafe.Pointer(pSub)).FnChild)) libc.X__builtin___memcpy_chk(tls, p+48+uintptr((*Fts5ExprNode)(unsafe.Pointer(p)).FnChild)*8, pSub+48, uint64(nByte), libc.X__builtin_object_size(tls, p+48+uintptr((*Fts5ExprNode)(unsafe.Pointer(p)).FnChild)*8, 0)) @@ -194307,7 +194357,7 @@ func fts5ExprAddChildren(tls *libc.TLS, p uintptr, pSub uintptr) { /* sqlite3.c: // into an AND tree: // // abc AND def AND ghi -func fts5ParsePhraseToAnd(tls *libc.TLS, pParse uintptr, pNear uintptr) uintptr { /* sqlite3.c:223346:21: */ +func fts5ParsePhraseToAnd(tls *libc.TLS, pParse uintptr, pNear uintptr) uintptr { /* sqlite3.c:223403:21: */ var nTerm int32 = (*Fts5ExprPhrase)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pNear + 24)))).FnTerm var ii int32 var nByte int32 @@ -194350,7 +194400,7 @@ func fts5ParsePhraseToAnd(tls *libc.TLS, pParse uintptr, pNear uintptr) uintptr // Allocate and return a new expression object. If anything goes wrong (i.e. // OOM error), leave an error code in pParse and return NULL. -func sqlite3Fts5ParseNode(tls *libc.TLS, pParse uintptr, eType int32, pLeft uintptr, pRight uintptr, pNear uintptr) uintptr { /* sqlite3.c:223400:21: */ +func sqlite3Fts5ParseNode(tls *libc.TLS, pParse uintptr, eType int32, pLeft uintptr, pRight uintptr, pNear uintptr) uintptr { /* sqlite3.c:223457:21: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -194438,7 +194488,7 @@ func sqlite3Fts5ParseNode(tls *libc.TLS, pParse uintptr, eType int32, pLeft uint return pRet } -func sqlite3Fts5ParseImplicitAnd(tls *libc.TLS, pParse uintptr, pLeft uintptr, pRight uintptr) uintptr { /* sqlite3.c:223482:21: */ +func sqlite3Fts5ParseImplicitAnd(tls *libc.TLS, pParse uintptr, pLeft uintptr, pRight uintptr) uintptr { /* sqlite3.c:223539:21: */ var pRet uintptr = uintptr(0) var pPrev uintptr @@ -194484,7 +194534,7 @@ func sqlite3Fts5ParseImplicitAnd(tls *libc.TLS, pParse uintptr, pLeft uintptr, p // This is called during initialization to register the fts5_expr() scalar // UDF with the SQLite handle passed as the only argument. -func sqlite3Fts5ExprInit(tls *libc.TLS, pGlobal uintptr, db uintptr) int32 { /* sqlite3.c:223919:12: */ +func sqlite3Fts5ExprInit(tls *libc.TLS, pGlobal uintptr, db uintptr) int32 { /* sqlite3.c:223976:12: */ var rc int32 = SQLITE_OK _ = pGlobal _ = db @@ -194497,7 +194547,7 @@ func sqlite3Fts5ExprInit(tls *libc.TLS, pGlobal uintptr, db uintptr) int32 { /* } // Return the number of phrases in expression pExpr. -func sqlite3Fts5ExprPhraseCount(tls *libc.TLS, pExpr uintptr) int32 { /* sqlite3.c:223956:12: */ +func sqlite3Fts5ExprPhraseCount(tls *libc.TLS, pExpr uintptr) int32 { /* sqlite3.c:224013:12: */ return func() int32 { if pExpr != 0 { return (*Fts5Expr)(unsafe.Pointer(pExpr)).FnPhrase @@ -194507,7 +194557,7 @@ func sqlite3Fts5ExprPhraseCount(tls *libc.TLS, pExpr uintptr) int32 { /* sqlite3 } // Return the number of terms in the iPhrase'th phrase in pExpr. -func sqlite3Fts5ExprPhraseSize(tls *libc.TLS, pExpr uintptr, iPhrase int32) int32 { /* sqlite3.c:223963:12: */ +func sqlite3Fts5ExprPhraseSize(tls *libc.TLS, pExpr uintptr, iPhrase int32) int32 { /* sqlite3.c:224020:12: */ if iPhrase < 0 || iPhrase >= (*Fts5Expr)(unsafe.Pointer(pExpr)).FnPhrase { return 0 } @@ -194516,7 +194566,7 @@ func sqlite3Fts5ExprPhraseSize(tls *libc.TLS, pExpr uintptr, iPhrase int32) int3 // This function is used to access the current position list for phrase // iPhrase. -func sqlite3Fts5ExprPoslist(tls *libc.TLS, pExpr uintptr, iPhrase int32, pa uintptr) int32 { /* sqlite3.c:223972:12: */ +func sqlite3Fts5ExprPoslist(tls *libc.TLS, pExpr uintptr, iPhrase int32, pa uintptr) int32 { /* sqlite3.c:224029:12: */ var nRet int32 var pPhrase uintptr = *(*uintptr)(unsafe.Pointer((*Fts5Expr)(unsafe.Pointer(pExpr)).FapExprPhrase + uintptr(iPhrase)*8)) var pNode uintptr = (*Fts5ExprPhrase)(unsafe.Pointer(pPhrase)).FpNode @@ -194537,7 +194587,7 @@ func sqlite3Fts5ExprPoslist(tls *libc.TLS, pExpr uintptr, iPhrase int32, pa uint // At present this function is only used for detail=col and detail=none // fts5 tables. This implies that all phrases must be at most 1 token // in size, as phrase matches are not supported without detail=full. -func sqlite3Fts5ExprClearPoslists(tls *libc.TLS, pExpr uintptr, bLive int32) uintptr { /* sqlite3.c:224001:29: */ +func sqlite3Fts5ExprClearPoslists(tls *libc.TLS, pExpr uintptr, bLive int32) uintptr { /* sqlite3.c:224058:29: */ var pRet uintptr pRet = Xsqlite3_malloc64(tls, uint64(uint64(unsafe.Sizeof(Fts5PoslistPopulator{}))*uint64((*Fts5Expr)(unsafe.Pointer(pExpr)).FnPhrase))) if pRet != 0 { @@ -194561,12 +194611,12 @@ type Fts5ExprCtx1 = struct { FpExpr uintptr FaPopulator uintptr FiOff I64 -} /* sqlite3.c:224023:1 */ +} /* sqlite3.c:224080:1 */ -type Fts5ExprCtx = Fts5ExprCtx1 /* sqlite3.c:224028:28 */ +type Fts5ExprCtx = Fts5ExprCtx1 /* sqlite3.c:224085:28 */ // TODO: Make this more efficient! -func fts5ExprColsetTest(tls *libc.TLS, pColset uintptr, iCol int32) int32 { /* sqlite3.c:224033:12: */ +func fts5ExprColsetTest(tls *libc.TLS, pColset uintptr, iCol int32) int32 { /* sqlite3.c:224090:12: */ var i int32 for i = 0; i < (*Fts5Colset)(unsafe.Pointer(pColset)).FnCol; i++ { if *(*int32)(unsafe.Pointer(pColset + 4 + uintptr(i)*4)) == iCol { @@ -194576,7 +194626,7 @@ func fts5ExprColsetTest(tls *libc.TLS, pColset uintptr, iCol int32) int32 { /* s return 0 } -func fts5ExprPopulatePoslistsCb(tls *libc.TLS, pCtx uintptr, tflags int32, pToken uintptr, nToken int32, iUnused1 int32, iUnused2 int32) int32 { /* sqlite3.c:224041:12: */ +func fts5ExprPopulatePoslistsCb(tls *libc.TLS, pCtx uintptr, tflags int32, pToken uintptr, nToken int32, iUnused1 int32, iUnused2 int32) int32 { /* sqlite3.c:224098:12: */ var p uintptr = pCtx var pExpr uintptr = (*Fts5ExprCtx)(unsafe.Pointer(p)).FpExpr var i int32 @@ -194611,7 +194661,7 @@ func fts5ExprPopulatePoslistsCb(tls *libc.TLS, pCtx uintptr, tflags int32, pToke return SQLITE_OK } -func sqlite3Fts5ExprPopulatePoslists(tls *libc.TLS, pConfig uintptr, pExpr uintptr, aPopulator uintptr, iCol int32, z uintptr, n int32) int32 { /* sqlite3.c:224076:12: */ +func sqlite3Fts5ExprPopulatePoslists(tls *libc.TLS, pConfig uintptr, pExpr uintptr, aPopulator uintptr, iCol int32, z uintptr, n int32) int32 { /* sqlite3.c:224133:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -194639,7 +194689,7 @@ func sqlite3Fts5ExprPopulatePoslists(tls *libc.TLS, pConfig uintptr, pExpr uintp }{fts5ExprPopulatePoslistsCb}))) } -func fts5ExprClearPoslists(tls *libc.TLS, pNode uintptr) { /* sqlite3.c:224106:13: */ +func fts5ExprClearPoslists(tls *libc.TLS, pNode uintptr) { /* sqlite3.c:224163:13: */ if (*Fts5ExprNode)(unsafe.Pointer(pNode)).FeType == FTS5_TERM || (*Fts5ExprNode)(unsafe.Pointer(pNode)).FeType == FTS5_STRING { (*Fts5ExprPhrase)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer((*Fts5ExprNode)(unsafe.Pointer(pNode)).FpNear + 24)))).Fposlist.Fn = 0 } else { @@ -194650,7 +194700,7 @@ func fts5ExprClearPoslists(tls *libc.TLS, pNode uintptr) { /* sqlite3.c:224106:1 } } -func fts5ExprCheckPoslists(tls *libc.TLS, pNode uintptr, iRowid I64) int32 { /* sqlite3.c:224117:12: */ +func fts5ExprCheckPoslists(tls *libc.TLS, pNode uintptr, iRowid I64) int32 { /* sqlite3.c:224174:12: */ (*Fts5ExprNode)(unsafe.Pointer(pNode)).FiRowid = iRowid (*Fts5ExprNode)(unsafe.Pointer(pNode)).FbEof = 0 switch (*Fts5ExprNode)(unsafe.Pointer(pNode)).FeType { @@ -194700,12 +194750,12 @@ func fts5ExprCheckPoslists(tls *libc.TLS, pNode uintptr, iRowid I64) int32 { /* return 1 } -func sqlite3Fts5ExprCheckPoslists(tls *libc.TLS, pExpr uintptr, iRowid I64) { /* sqlite3.c:224161:13: */ +func sqlite3Fts5ExprCheckPoslists(tls *libc.TLS, pExpr uintptr, iRowid I64) { /* sqlite3.c:224218:13: */ fts5ExprCheckPoslists(tls, (*Fts5Expr)(unsafe.Pointer(pExpr)).FpRoot, iRowid) } // This function is only called for detail=columns tables. -func sqlite3Fts5ExprPhraseCollist(tls *libc.TLS, pExpr uintptr, iPhrase int32, ppCollist uintptr, pnCollist uintptr) int32 { /* sqlite3.c:224168:12: */ +func sqlite3Fts5ExprPhraseCollist(tls *libc.TLS, pExpr uintptr, iPhrase int32, ppCollist uintptr, pnCollist uintptr) int32 { /* sqlite3.c:224225:12: */ var pPhrase uintptr = *(*uintptr)(unsafe.Pointer((*Fts5Expr)(unsafe.Pointer(pExpr)).FapExprPhrase + uintptr(iPhrase)*8)) var pNode uintptr = (*Fts5ExprPhrase)(unsafe.Pointer(pPhrase)).FpNode var rc int32 = SQLITE_OK @@ -194756,7 +194806,7 @@ type Fts5HashEntry1 = struct { FiCol I16 FiPos int32 FiRowid I64 -} /* sqlite3.c:216813:9 */ +} /* sqlite3.c:216870:9 */ // 2014 August 11 // @@ -194772,14 +194822,14 @@ type Fts5HashEntry1 = struct { // #include "fts5Int.h" -type Fts5HashEntry = Fts5HashEntry1 /* sqlite3.c:224221:30 */ +type Fts5HashEntry = Fts5HashEntry1 /* sqlite3.c:224278:30 */ // Eqivalent to: // // char *fts5EntryKey(Fts5HashEntry *pEntry){ return zKey; } // Allocate a new hash table. -func sqlite3Fts5HashNew(tls *libc.TLS, pConfig uintptr, ppNew uintptr, pnByte uintptr) int32 { /* sqlite3.c:224287:12: */ +func sqlite3Fts5HashNew(tls *libc.TLS, pConfig uintptr, ppNew uintptr, pnByte uintptr) int32 { /* sqlite3.c:224344:12: */ var rc int32 = SQLITE_OK var pNew uintptr @@ -194807,7 +194857,7 @@ func sqlite3Fts5HashNew(tls *libc.TLS, pConfig uintptr, ppNew uintptr, pnByte ui } // Free a hash table object. -func sqlite3Fts5HashFree(tls *libc.TLS, pHash uintptr) { /* sqlite3.c:224317:13: */ +func sqlite3Fts5HashFree(tls *libc.TLS, pHash uintptr) { /* sqlite3.c:224374:13: */ if pHash != 0 { sqlite3Fts5HashClear(tls, pHash) Xsqlite3_free(tls, (*Fts5Hash)(unsafe.Pointer(pHash)).FaSlot) @@ -194816,7 +194866,7 @@ func sqlite3Fts5HashFree(tls *libc.TLS, pHash uintptr) { /* sqlite3.c:224317:13: } // Empty (but do not delete) a hash table. -func sqlite3Fts5HashClear(tls *libc.TLS, pHash uintptr) { /* sqlite3.c:224328:13: */ +func sqlite3Fts5HashClear(tls *libc.TLS, pHash uintptr) { /* sqlite3.c:224385:13: */ var i int32 for i = 0; i < (*Fts5Hash)(unsafe.Pointer(pHash)).FnSlot; i++ { var pNext uintptr @@ -194830,7 +194880,7 @@ func sqlite3Fts5HashClear(tls *libc.TLS, pHash uintptr) { /* sqlite3.c:224328:13 (*Fts5Hash)(unsafe.Pointer(pHash)).FnEntry = 0 } -func fts5HashKey(tls *libc.TLS, nSlot int32, p uintptr, n int32) uint32 { /* sqlite3.c:224342:21: */ +func fts5HashKey(tls *libc.TLS, nSlot int32, p uintptr, n int32) uint32 { /* sqlite3.c:224399:21: */ var i int32 var h uint32 = uint32(13) for i = n - 1; i >= 0; i-- { @@ -194839,7 +194889,7 @@ func fts5HashKey(tls *libc.TLS, nSlot int32, p uintptr, n int32) uint32 { /* sql return h % uint32(nSlot) } -func fts5HashKey2(tls *libc.TLS, nSlot int32, b U8, p uintptr, n int32) uint32 { /* sqlite3.c:224351:21: */ +func fts5HashKey2(tls *libc.TLS, nSlot int32, b U8, p uintptr, n int32) uint32 { /* sqlite3.c:224408:21: */ var i int32 var h uint32 = uint32(13) for i = n - 1; i >= 0; i-- { @@ -194850,7 +194900,7 @@ func fts5HashKey2(tls *libc.TLS, nSlot int32, b U8, p uintptr, n int32) uint32 { } // Resize the hash table by doubling the number of slots. -func fts5HashResize(tls *libc.TLS, pHash uintptr) int32 { /* sqlite3.c:224364:12: */ +func fts5HashResize(tls *libc.TLS, pHash uintptr) int32 { /* sqlite3.c:224421:12: */ var nNew int32 = (*Fts5Hash)(unsafe.Pointer(pHash)).FnSlot * 2 var i int32 var apNew uintptr @@ -194880,7 +194930,7 @@ func fts5HashResize(tls *libc.TLS, pHash uintptr) int32 { /* sqlite3.c:224364:12 return SQLITE_OK } -func fts5HashAddPoslistSize(tls *libc.TLS, pHash uintptr, p uintptr, p2 uintptr) int32 { /* sqlite3.c:224392:12: */ +func fts5HashAddPoslistSize(tls *libc.TLS, pHash uintptr, p uintptr, p2 uintptr) int32 { /* sqlite3.c:224449:12: */ var nRet int32 = 0 if (*Fts5HashEntry)(unsafe.Pointer(p)).FiSzPoslist != 0 { var pPtr uintptr @@ -194929,7 +194979,7 @@ func fts5HashAddPoslistSize(tls *libc.TLS, pHash uintptr, p uintptr, p2 uintptr) // (bByte || pToken) -> (iRowid,iCol,iPos) // // Or, if iCol is negative, then the value is a delete marker. -func sqlite3Fts5HashWrite(tls *libc.TLS, pHash uintptr, iRowid I64, iCol int32, iPos int32, bByte int8, pToken uintptr, nToken int32) int32 { /* sqlite3.c:224443:12: */ +func sqlite3Fts5HashWrite(tls *libc.TLS, pHash uintptr, iRowid I64, iCol int32, iPos int32, bByte int8, pToken uintptr, nToken int32) int32 { /* sqlite3.c:224500:12: */ var iHash uint32 var p uintptr var pPtr uintptr @@ -195088,7 +195138,7 @@ func sqlite3Fts5HashWrite(tls *libc.TLS, pHash uintptr, iRowid I64, iCol int32, // Arguments pLeft and pRight point to linked-lists of hash-entry objects, // each sorted in key order. This function merges the two lists into a // single list and returns a pointer to its first element. -func fts5HashEntryMerge(tls *libc.TLS, pLeft uintptr, pRight uintptr) uintptr { /* sqlite3.c:224596:22: */ +func fts5HashEntryMerge(tls *libc.TLS, pLeft uintptr, pRight uintptr) uintptr { /* sqlite3.c:224653:22: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -195134,7 +195184,7 @@ func fts5HashEntryMerge(tls *libc.TLS, pLeft uintptr, pRight uintptr) uintptr { // in sorted order. The hash table is cleared before returning. It is // the responsibility of the caller to free the elements of the returned // list. -func fts5HashEntrySort(tls *libc.TLS, pHash uintptr, pTerm uintptr, nTerm int32, ppSorted uintptr) int32 { /* sqlite3.c:224642:12: */ +func fts5HashEntrySort(tls *libc.TLS, pHash uintptr, pTerm uintptr, nTerm int32, ppSorted uintptr) int32 { /* sqlite3.c:224699:12: */ var nMergeSlot int32 = 32 var ap uintptr var pList uintptr @@ -195176,7 +195226,7 @@ func fts5HashEntrySort(tls *libc.TLS, pHash uintptr, pTerm uintptr, nTerm int32, } // Query the hash table for a doclist associated with term pTerm/nTerm. -func sqlite3Fts5HashQuery(tls *libc.TLS, pHash uintptr, nPre int32, pTerm uintptr, nTerm int32, ppOut uintptr, pnDoclist uintptr) int32 { /* sqlite3.c:224689:12: */ +func sqlite3Fts5HashQuery(tls *libc.TLS, pHash uintptr, nPre int32, pTerm uintptr, nTerm int32, ppOut uintptr, pnDoclist uintptr) int32 { /* sqlite3.c:224746:12: */ var iHash uint32 = fts5HashKey(tls, (*Fts5Hash)(unsafe.Pointer(pHash)).FnSlot, pTerm, nTerm) var zKey uintptr = uintptr(0) var p uintptr @@ -195210,20 +195260,20 @@ func sqlite3Fts5HashQuery(tls *libc.TLS, pHash uintptr, nPre int32, pTerm uintpt return SQLITE_OK } -func sqlite3Fts5HashScanInit(tls *libc.TLS, p uintptr, pTerm uintptr, nTerm int32) int32 { /* sqlite3.c:224727:12: */ +func sqlite3Fts5HashScanInit(tls *libc.TLS, p uintptr, pTerm uintptr, nTerm int32) int32 { /* sqlite3.c:224784:12: */ return fts5HashEntrySort(tls, p, pTerm, nTerm, p+24) } -func sqlite3Fts5HashScanNext(tls *libc.TLS, p uintptr) { /* sqlite3.c:224734:13: */ +func sqlite3Fts5HashScanNext(tls *libc.TLS, p uintptr) { /* sqlite3.c:224791:13: */ (*Fts5Hash)(unsafe.Pointer(p)).FpScan = (*Fts5HashEntry)(unsafe.Pointer((*Fts5Hash)(unsafe.Pointer(p)).FpScan)).FpScanNext } -func sqlite3Fts5HashScanEof(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:224739:12: */ +func sqlite3Fts5HashScanEof(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:224796:12: */ return libc.Bool32((*Fts5Hash)(unsafe.Pointer(p)).FpScan == uintptr(0)) } -func sqlite3Fts5HashScanEntry(tls *libc.TLS, pHash uintptr, pzTerm uintptr, ppDoclist uintptr, pnDoclist uintptr) { /* sqlite3.c:224743:13: */ +func sqlite3Fts5HashScanEntry(tls *libc.TLS, pHash uintptr, pzTerm uintptr, ppDoclist uintptr, pnDoclist uintptr) { /* sqlite3.c:224800:13: */ var p uintptr if libc.AssignUintptr(&p, (*Fts5Hash)(unsafe.Pointer(pHash)).FpScan) != 0 { var zKey uintptr = p + 1*48 @@ -195449,7 +195499,7 @@ type Fts5Data1 = struct { Fp uintptr Fnn int32 FszLeaf int32 -} /* sqlite3.c:225018:9 */ +} /* sqlite3.c:225075:9 */ // 2014 May 31 // @@ -195657,14 +195707,14 @@ type Fts5Data1 = struct { // many zero bytes. This makes it easier to decode the various record formats // without overreading if the records are corrupt. -type Fts5Data = Fts5Data1 /* sqlite3.c:225018:25 */ +type Fts5Data = Fts5Data1 /* sqlite3.c:225075:25 */ type Fts5DlidxIter1 = struct { FnLvl int32 FiSegid int32 FaLvl [1]Fts5DlidxLvl -} /* sqlite3.c:225019:9 */ +} /* sqlite3.c:225076:9 */ -type Fts5DlidxIter = Fts5DlidxIter1 /* sqlite3.c:225019:30 */ +type Fts5DlidxIter = Fts5DlidxIter1 /* sqlite3.c:225076:30 */ type Fts5DlidxLvl1 = struct { FpData uintptr FiOff int32 @@ -195672,17 +195722,17 @@ type Fts5DlidxLvl1 = struct { FiFirstOff int32 FiLeafPgno int32 FiRowid I64 -} /* sqlite3.c:225019:9 */ +} /* sqlite3.c:225076:9 */ -type Fts5DlidxLvl = Fts5DlidxLvl1 /* sqlite3.c:225020:29 */ +type Fts5DlidxLvl = Fts5DlidxLvl1 /* sqlite3.c:225077:29 */ type Fts5DlidxWriter1 = struct { Fpgno int32 FbPrevValid int32 FiPrev I64 Fbuf Fts5Buffer -} /* sqlite3.c:225021:9 */ +} /* sqlite3.c:225078:9 */ -type Fts5DlidxWriter = Fts5DlidxWriter1 /* sqlite3.c:225021:32 */ +type Fts5DlidxWriter = Fts5DlidxWriter1 /* sqlite3.c:225078:32 */ type Fts5Iter1 = struct { Fbase Fts5IndexIter FpIndex uintptr @@ -195696,18 +195746,18 @@ type Fts5Iter1 = struct { FiSwitchRowid I64 FaFirst uintptr FaSeg [1]Fts5SegIter -} /* sqlite3.c:225022:9 */ +} /* sqlite3.c:225079:9 */ -type Fts5Iter = Fts5Iter1 /* sqlite3.c:225022:25 */ +type Fts5Iter = Fts5Iter1 /* sqlite3.c:225079:25 */ type Fts5PageWriter1 = struct { Fpgno int32 FiPrevPgidx int32 Fbuf Fts5Buffer Fpgidx Fts5Buffer Fterm Fts5Buffer -} /* sqlite3.c:225023:9 */ +} /* sqlite3.c:225080:9 */ -type Fts5PageWriter = Fts5PageWriter1 /* sqlite3.c:225023:31 */ +type Fts5PageWriter = Fts5PageWriter1 /* sqlite3.c:225080:31 */ type Fts5SegIter1 = struct { FpSeg uintptr Fflags int32 @@ -195729,18 +195779,18 @@ type Fts5SegIter1 = struct { FnPos int32 FbDel U8 F__ccgo_pad1 [3]byte -} /* sqlite3.c:225022:9 */ +} /* sqlite3.c:225079:9 */ -type Fts5SegIter = Fts5SegIter1 /* sqlite3.c:225024:28 */ +type Fts5SegIter = Fts5SegIter1 /* sqlite3.c:225081:28 */ type Fts5DoclistIter1 = struct { FaEof uintptr FiRowid I64 FaPoslist uintptr FnPoslist int32 FnSize int32 -} /* sqlite3.c:225025:9 */ +} /* sqlite3.c:225082:9 */ -type Fts5DoclistIter = Fts5DoclistIter1 /* sqlite3.c:225025:32 */ +type Fts5DoclistIter = Fts5DoclistIter1 /* sqlite3.c:225082:32 */ type Fts5SegWriter1 = struct { FiSegid int32 F__ccgo_pad1 [4]byte @@ -195757,9 +195807,9 @@ type Fts5SegWriter1 = struct { Fbtterm Fts5Buffer FiBtPage int32 F__ccgo_pad3 [4]byte -} /* sqlite3.c:225026:9 */ +} /* sqlite3.c:225083:9 */ -type Fts5SegWriter = Fts5SegWriter1 /* sqlite3.c:225026:30 */ +type Fts5SegWriter = Fts5SegWriter1 /* sqlite3.c:225083:30 */ type Fts5Structure1 = struct { FnRef int32 F__ccgo_pad1 [4]byte @@ -195767,38 +195817,38 @@ type Fts5Structure1 = struct { FnSegment int32 FnLevel int32 FaLevel [1]Fts5StructureLevel -} /* sqlite3.c:216813:9 */ +} /* sqlite3.c:216870:9 */ -type Fts5Structure = Fts5Structure1 /* sqlite3.c:225027:30 */ +type Fts5Structure = Fts5Structure1 /* sqlite3.c:225084:30 */ type Fts5StructureLevel1 = struct { FnMerge int32 FnSeg int32 FaSeg uintptr -} /* sqlite3.c:216813:9 */ +} /* sqlite3.c:216870:9 */ -type Fts5StructureLevel = Fts5StructureLevel1 /* sqlite3.c:225028:35 */ +type Fts5StructureLevel = Fts5StructureLevel1 /* sqlite3.c:225085:35 */ type Fts5StructureSegment1 = struct { FiSegid int32 FpgnoFirst int32 FpgnoLast int32 -} /* sqlite3.c:216813:9 */ +} /* sqlite3.c:216870:9 */ -type Fts5StructureSegment = Fts5StructureSegment1 /* sqlite3.c:225029:37 */ +type Fts5StructureSegment = Fts5StructureSegment1 /* sqlite3.c:225086:37 */ type Fts5CResult1 = struct { FiFirst U16 FbTermEq U8 F__ccgo_pad1 [1]byte -} /* sqlite3.c:225022:9 */ +} /* sqlite3.c:225079:9 */ -type Fts5CResult = Fts5CResult1 /* sqlite3.c:225139:28 */ +type Fts5CResult = Fts5CResult1 /* sqlite3.c:225196:28 */ -func fts5PutU16(tls *libc.TLS, aOut uintptr, iVal U16) { /* sqlite3.c:225318:13: */ +func fts5PutU16(tls *libc.TLS, aOut uintptr, iVal U16) { /* sqlite3.c:225375:13: */ *(*U8)(unsafe.Pointer(aOut)) = U8(int32(iVal) >> 8) *(*U8)(unsafe.Pointer(aOut + 1)) = U8(int32(iVal) & 0xFF) } -func fts5GetU16(tls *libc.TLS, aIn uintptr) U16 { /* sqlite3.c:225323:12: */ +func fts5GetU16(tls *libc.TLS, aIn uintptr) U16 { /* sqlite3.c:225380:12: */ return U16(int32(U16(*(*U8)(unsafe.Pointer(aIn))))<<8 + int32(*(*U8)(unsafe.Pointer(aIn + 1)))) } @@ -195806,7 +195856,7 @@ func fts5GetU16(tls *libc.TLS, aIn uintptr) U16 { /* sqlite3.c:225323:12: */ // // If an OOM error is encountered, return NULL and set the error code in // the Fts5Index handle passed as the first argument. -func fts5IdxMalloc(tls *libc.TLS, p uintptr, nByte Sqlite3_int64) uintptr { /* sqlite3.c:225333:13: */ +func fts5IdxMalloc(tls *libc.TLS, p uintptr, nByte Sqlite3_int64) uintptr { /* sqlite3.c:225390:13: */ return sqlite3Fts5MallocZero(tls, p+52, nByte) } @@ -195824,7 +195874,7 @@ func fts5IdxMalloc(tls *libc.TLS, p uintptr, nByte Sqlite3_int64) uintptr { /* s // +ve if pRight is smaller than pLeft. In other words: // // res = *pLeft - *pRight -func fts5BufferCompare(tls *libc.TLS, pLeft uintptr, pRight uintptr) int32 { /* sqlite3.c:225365:12: */ +func fts5BufferCompare(tls *libc.TLS, pLeft uintptr, pRight uintptr) int32 { /* sqlite3.c:225422:12: */ var nCmp int32 var res int32 nCmp = func() int32 { @@ -195848,7 +195898,7 @@ func fts5BufferCompare(tls *libc.TLS, pLeft uintptr, pRight uintptr) int32 { /* }() } -func fts5LeafFirstTermOff(tls *libc.TLS, pLeaf uintptr) int32 { /* sqlite3.c:225374:12: */ +func fts5LeafFirstTermOff(tls *libc.TLS, pLeaf uintptr) int32 { /* sqlite3.c:225431:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -195859,7 +195909,7 @@ func fts5LeafFirstTermOff(tls *libc.TLS, pLeaf uintptr) int32 { /* sqlite3.c:225 } // Close the read-only blob handle, if it is open. -func sqlite3Fts5IndexCloseReader(tls *libc.TLS, p uintptr) { /* sqlite3.c:225383:13: */ +func sqlite3Fts5IndexCloseReader(tls *libc.TLS, p uintptr) { /* sqlite3.c:225440:13: */ if (*Fts5Index)(unsafe.Pointer(p)).FpReader != 0 { var pReader uintptr = (*Fts5Index)(unsafe.Pointer(p)).FpReader (*Fts5Index)(unsafe.Pointer(p)).FpReader = uintptr(0) @@ -195871,7 +195921,7 @@ func sqlite3Fts5IndexCloseReader(tls *libc.TLS, p uintptr) { /* sqlite3.c:225383 // // If an error occurs, NULL is returned and an error left in the // Fts5Index object. -func fts5DataRead(tls *libc.TLS, p uintptr, iRowid I64) uintptr { /* sqlite3.c:225397:17: */ +func fts5DataRead(tls *libc.TLS, p uintptr, iRowid I64) uintptr { /* sqlite3.c:225454:17: */ var pRet uintptr = uintptr(0) if (*Fts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK { var rc int32 = SQLITE_OK @@ -195944,11 +195994,11 @@ func fts5DataRead(tls *libc.TLS, p uintptr, iRowid I64) uintptr { /* sqlite3.c:2 // Release a reference to data record returned by an earlier call to // fts5DataRead(). -func fts5DataRelease(tls *libc.TLS, pData uintptr) { /* sqlite3.c:225471:13: */ +func fts5DataRelease(tls *libc.TLS, pData uintptr) { /* sqlite3.c:225528:13: */ Xsqlite3_free(tls, pData) } -func fts5LeafRead(tls *libc.TLS, p uintptr, iRowid I64) uintptr { /* sqlite3.c:225475:17: */ +func fts5LeafRead(tls *libc.TLS, p uintptr, iRowid I64) uintptr { /* sqlite3.c:225532:17: */ var pRet uintptr = fts5DataRead(tls, p, iRowid) if pRet != 0 { if (*Fts5Data)(unsafe.Pointer(pRet)).Fnn < 4 || (*Fts5Data)(unsafe.Pointer(pRet)).FszLeaf > (*Fts5Data)(unsafe.Pointer(pRet)).Fnn { @@ -195960,7 +196010,7 @@ func fts5LeafRead(tls *libc.TLS, p uintptr, iRowid I64) uintptr { /* sqlite3.c:2 return pRet } -func fts5IndexPrepareStmt(tls *libc.TLS, p uintptr, ppStmt uintptr, zSql uintptr) int32 { /* sqlite3.c:225487:12: */ +func fts5IndexPrepareStmt(tls *libc.TLS, p uintptr, ppStmt uintptr, zSql uintptr) int32 { /* sqlite3.c:225544:12: */ if (*Fts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK { if zSql != 0 { (*Fts5Index)(unsafe.Pointer(p)).Frc = Xsqlite3_prepare_v3(tls, (*Fts5Config)(unsafe.Pointer((*Fts5Index)(unsafe.Pointer(p)).FpConfig)).Fdb, zSql, -1, @@ -195975,7 +196025,7 @@ func fts5IndexPrepareStmt(tls *libc.TLS, p uintptr, ppStmt uintptr, zSql uintptr } // INSERT OR REPLACE a record into the %_data table. -func fts5DataWrite(tls *libc.TLS, p uintptr, iRowid I64, pData uintptr, nData int32) { /* sqlite3.c:225509:13: */ +func fts5DataWrite(tls *libc.TLS, p uintptr, iRowid I64, pData uintptr, nData int32) { /* sqlite3.c:225566:13: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -196003,7 +196053,7 @@ func fts5DataWrite(tls *libc.TLS, p uintptr, iRowid I64, pData uintptr, nData in // Execute the following SQL: // // DELETE FROM %_data WHERE id BETWEEN $iFirst AND $iLast -func fts5DataDelete(tls *libc.TLS, p uintptr, iFirst I64, iLast I64) { /* sqlite3.c:225533:13: */ +func fts5DataDelete(tls *libc.TLS, p uintptr, iFirst I64, iLast I64) { /* sqlite3.c:225590:13: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -196028,7 +196078,7 @@ func fts5DataDelete(tls *libc.TLS, p uintptr, iFirst I64, iLast I64) { /* sqlite } // Remove all records associated with segment iSegid. -func fts5DataRemoveSegment(tls *libc.TLS, p uintptr, iSegid int32) { /* sqlite3.c:225554:13: */ +func fts5DataRemoveSegment(tls *libc.TLS, p uintptr, iSegid int32) { /* sqlite3.c:225611:13: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -196050,7 +196100,7 @@ func fts5DataRemoveSegment(tls *libc.TLS, p uintptr, iSegid int32) { /* sqlite3. // Release a reference to an Fts5Structure object returned by an earlier // call to fts5StructureRead() or fts5StructureDecode(). -func fts5StructureRelease(tls *libc.TLS, pStruct uintptr) { /* sqlite3.c:225576:13: */ +func fts5StructureRelease(tls *libc.TLS, pStruct uintptr) { /* sqlite3.c:225633:13: */ if pStruct != 0 && 0 >= libc.PreDecInt32(&(*Fts5Structure)(unsafe.Pointer(pStruct)).FnRef, 1) { var i int32 @@ -196061,22 +196111,22 @@ func fts5StructureRelease(tls *libc.TLS, pStruct uintptr) { /* sqlite3.c:225576: } } -func fts5StructureRef(tls *libc.TLS, pStruct uintptr) { /* sqlite3.c:225587:13: */ +func fts5StructureRef(tls *libc.TLS, pStruct uintptr) { /* sqlite3.c:225644:13: */ (*Fts5Structure)(unsafe.Pointer(pStruct)).FnRef++ } -func sqlite3Fts5StructureRef(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:225591:13: */ +func sqlite3Fts5StructureRef(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:225648:13: */ fts5StructureRef(tls, (*Fts5Index)(unsafe.Pointer(p)).FpStruct) return (*Fts5Index)(unsafe.Pointer(p)).FpStruct } -func sqlite3Fts5StructureRelease(tls *libc.TLS, p uintptr) { /* sqlite3.c:225595:13: */ +func sqlite3Fts5StructureRelease(tls *libc.TLS, p uintptr) { /* sqlite3.c:225652:13: */ if p != 0 { fts5StructureRelease(tls, p) } } -func sqlite3Fts5StructureTest(tls *libc.TLS, p uintptr, pStruct uintptr) int32 { /* sqlite3.c:225600:12: */ +func sqlite3Fts5StructureTest(tls *libc.TLS, p uintptr, pStruct uintptr) int32 { /* sqlite3.c:225657:12: */ if (*Fts5Index)(unsafe.Pointer(p)).FpStruct != pStruct { return SQLITE_ABORT } @@ -196087,7 +196137,7 @@ func sqlite3Fts5StructureTest(tls *libc.TLS, p uintptr, pStruct uintptr) int32 { // // This function is a no-op if (*pRc) is not SQLITE_OK when it is called. If // an error occurs, (*pRc) is set to an SQLite error code before returning. -func fts5StructureMakeWritable(tls *libc.TLS, pRc uintptr, pp uintptr) { /* sqlite3.c:225613:13: */ +func fts5StructureMakeWritable(tls *libc.TLS, pRc uintptr, pp uintptr) { /* sqlite3.c:225670:13: */ var p uintptr = *(*uintptr)(unsafe.Pointer(pp)) if *(*int32)(unsafe.Pointer(pRc)) == SQLITE_OK && (*Fts5Structure)(unsafe.Pointer(p)).FnRef > 1 { var nByte I64 = I64(uint64(unsafe.Sizeof(Fts5Structure{})) + uint64((*Fts5Structure)(unsafe.Pointer(p)).FnLevel-1)*uint64(unsafe.Sizeof(Fts5StructureLevel{}))) @@ -196129,7 +196179,7 @@ func fts5StructureMakeWritable(tls *libc.TLS, pRc uintptr, pp uintptr) { /* sqli // If an error occurs, *ppOut is set to NULL and an SQLite error code // returned. Otherwise, *ppOut is set to point to the new object and // SQLITE_OK returned. -func fts5StructureDecode(tls *libc.TLS, pData uintptr, nData int32, piCookie uintptr, ppOut uintptr) int32 { /* sqlite3.c:225655:12: */ +func fts5StructureDecode(tls *libc.TLS, pData uintptr, nData int32, piCookie uintptr, ppOut uintptr) int32 { /* sqlite3.c:225712:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -196222,7 +196272,7 @@ func fts5StructureDecode(tls *libc.TLS, pData uintptr, nData int32, piCookie uin // Add a level to the Fts5Structure.aLevel[] array of structure object // (*ppStruct). -func fts5StructureAddLevel(tls *libc.TLS, pRc uintptr, ppStruct uintptr) { /* sqlite3.c:225747:13: */ +func fts5StructureAddLevel(tls *libc.TLS, pRc uintptr, ppStruct uintptr) { /* sqlite3.c:225804:13: */ fts5StructureMakeWritable(tls, pRc, ppStruct) if *(*int32)(unsafe.Pointer(pRc)) == SQLITE_OK { var pStruct uintptr = *(*uintptr)(unsafe.Pointer(ppStruct)) @@ -196242,7 +196292,7 @@ func fts5StructureAddLevel(tls *libc.TLS, pRc uintptr, ppStruct uintptr) { /* sq // Extend level iLvl so that there is room for at least nExtra more // segments. -func fts5StructureExtendLevel(tls *libc.TLS, pRc uintptr, pStruct uintptr, iLvl int32, nExtra int32, bInsert int32) { /* sqlite3.c:225772:13: */ +func fts5StructureExtendLevel(tls *libc.TLS, pRc uintptr, pStruct uintptr, iLvl int32, nExtra int32, bInsert int32) { /* sqlite3.c:225829:13: */ if *(*int32)(unsafe.Pointer(pRc)) == SQLITE_OK { var pLvl uintptr = pStruct + 24 + uintptr(iLvl)*16 var aNew uintptr @@ -196265,7 +196315,7 @@ func fts5StructureExtendLevel(tls *libc.TLS, pRc uintptr, pStruct uintptr, iLvl } } -func fts5StructureReadUncached(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:225801:22: */ +func fts5StructureReadUncached(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:225858:22: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -196293,7 +196343,7 @@ func fts5StructureReadUncached(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c: return *(*uintptr)(unsafe.Pointer(bp + 8 /* pRet */)) } -func fts5IndexDataVersion(tls *libc.TLS, p uintptr) I64 { /* sqlite3.c:225825:12: */ +func fts5IndexDataVersion(tls *libc.TLS, p uintptr) I64 { /* sqlite3.c:225882:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -196326,7 +196376,7 @@ func fts5IndexDataVersion(tls *libc.TLS, p uintptr) I64 { /* sqlite3.c:225825:12 // If an error occurs, NULL is returned and an error code left in the // Fts5Index handle. If an error has already occurred when this function // is called, it is a no-op. -func fts5StructureRead(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:225856:22: */ +func fts5StructureRead(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:225913:22: */ if (*Fts5Index)(unsafe.Pointer(p)).FpStruct == uintptr(0) { (*Fts5Index)(unsafe.Pointer(p)).FiStructVersion = fts5IndexDataVersion(tls, p) @@ -196343,7 +196393,7 @@ func fts5StructureRead(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:225856:2 return (*Fts5Index)(unsafe.Pointer(p)).FpStruct } -func fts5StructureInvalidate(tls *libc.TLS, p uintptr) { /* sqlite3.c:225895:13: */ +func fts5StructureInvalidate(tls *libc.TLS, p uintptr) { /* sqlite3.c:225952:13: */ if (*Fts5Index)(unsafe.Pointer(p)).FpStruct != 0 { fts5StructureRelease(tls, (*Fts5Index)(unsafe.Pointer(p)).FpStruct) (*Fts5Index)(unsafe.Pointer(p)).FpStruct = uintptr(0) @@ -196357,7 +196407,7 @@ func fts5StructureInvalidate(tls *libc.TLS, p uintptr) { /* sqlite3.c:225895:13: // // If an error occurs, leave an error code in the Fts5Index object. If an // error has already occurred, this function is a no-op. -func fts5StructureWrite(tls *libc.TLS, p uintptr, pStruct uintptr) { /* sqlite3.c:225938:13: */ +func fts5StructureWrite(tls *libc.TLS, p uintptr, pStruct uintptr) { /* sqlite3.c:225995:13: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -196410,14 +196460,14 @@ func fts5StructureWrite(tls *libc.TLS, p uintptr, pStruct uintptr) { /* sqlite3. } } -func fts5SegmentSize(tls *libc.TLS, pSeg uintptr) int32 { /* sqlite3.c:225993:12: */ +func fts5SegmentSize(tls *libc.TLS, pSeg uintptr) int32 { /* sqlite3.c:226050:12: */ return 1 + (*Fts5StructureSegment)(unsafe.Pointer(pSeg)).FpgnoLast - (*Fts5StructureSegment)(unsafe.Pointer(pSeg)).FpgnoFirst } // Return a copy of index structure pStruct. Except, promote as many // segments as possible to level iPromote. If an OOM occurs, NULL is // returned. -func fts5StructurePromoteTo(tls *libc.TLS, p uintptr, iPromote int32, szPromote int32, pStruct uintptr) { /* sqlite3.c:226002:13: */ +func fts5StructurePromoteTo(tls *libc.TLS, p uintptr, iPromote int32, szPromote int32, pStruct uintptr) { /* sqlite3.c:226059:13: */ var il int32 var is int32 var pOut uintptr = pStruct + 24 + uintptr(iPromote)*16 @@ -196460,7 +196510,7 @@ func fts5StructurePromoteTo(tls *libc.TLS, p uintptr, iPromote int32, szPromote // // If one or more segments are promoted, the structure object is updated // to reflect this. -func fts5StructurePromote(tls *libc.TLS, p uintptr, iLvl int32, pStruct uintptr) { /* sqlite3.c:226045:13: */ +func fts5StructurePromote(tls *libc.TLS, p uintptr, iLvl int32, pStruct uintptr) { /* sqlite3.c:226102:13: */ if (*Fts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK { var iTst int32 var iPromote int32 = -1 @@ -196509,7 +196559,7 @@ func fts5StructurePromote(tls *libc.TLS, p uintptr, iLvl int32, pStruct uintptr) // Advance the iterator passed as the only argument. If the end of the // doclist-index page is reached, return non-zero. -func fts5DlidxLvlNext(tls *libc.TLS, pLvl uintptr) int32 { /* sqlite3.c:226096:12: */ +func fts5DlidxLvlNext(tls *libc.TLS, pLvl uintptr) int32 { /* sqlite3.c:226153:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -196545,7 +196595,7 @@ func fts5DlidxLvlNext(tls *libc.TLS, pLvl uintptr) int32 { /* sqlite3.c:226096:1 } // Advance the iterator passed as the only argument. -func fts5DlidxIterNextR(tls *libc.TLS, p uintptr, pIter uintptr, iLvl int32) int32 { /* sqlite3.c:226128:12: */ +func fts5DlidxIterNextR(tls *libc.TLS, p uintptr, pIter uintptr, iLvl int32) int32 { /* sqlite3.c:226185:12: */ var pLvl uintptr = pIter + 8 + uintptr(iLvl)*32 if fts5DlidxLvlNext(tls, pLvl) != 0 { @@ -196566,7 +196616,7 @@ func fts5DlidxIterNextR(tls *libc.TLS, p uintptr, pIter uintptr, iLvl int32) int return (*Fts5DlidxLvl)(unsafe.Pointer(pIter + 8)).FbEof } -func fts5DlidxIterNext(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlite3.c:226148:12: */ +func fts5DlidxIterNext(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlite3.c:226205:12: */ return fts5DlidxIterNextR(tls, p, pIter, 0) } @@ -196579,7 +196629,7 @@ func fts5DlidxIterNext(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlit // // When this function is called pIter->iLeafPgno is the page number the // doclist is associated with (the one featuring the term). -func fts5DlidxIterFirst(tls *libc.TLS, pIter uintptr) int32 { /* sqlite3.c:226163:12: */ +func fts5DlidxIterFirst(tls *libc.TLS, pIter uintptr) int32 { /* sqlite3.c:226220:12: */ var i int32 for i = 0; i < (*Fts5DlidxIter)(unsafe.Pointer(pIter)).FnLvl; i++ { fts5DlidxLvlNext(tls, pIter+8+uintptr(i)*32) @@ -196587,11 +196637,11 @@ func fts5DlidxIterFirst(tls *libc.TLS, pIter uintptr) int32 { /* sqlite3.c:22616 return (*Fts5DlidxLvl)(unsafe.Pointer(pIter + 8)).FbEof } -func fts5DlidxIterEof(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlite3.c:226172:12: */ +func fts5DlidxIterEof(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlite3.c:226229:12: */ return libc.Bool32((*Fts5Index)(unsafe.Pointer(p)).Frc != SQLITE_OK || (*Fts5DlidxLvl)(unsafe.Pointer(pIter+8)).FbEof != 0) } -func fts5DlidxIterLast(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:226176:13: */ +func fts5DlidxIterLast(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:226233:13: */ var i int32 // Advance each level to the last entry on the last page @@ -196612,7 +196662,7 @@ func fts5DlidxIterLast(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:2 } // Move the iterator passed as the only argument to the previous entry. -func fts5DlidxLvlPrev(tls *libc.TLS, pLvl uintptr) int32 { /* sqlite3.c:226199:12: */ +func fts5DlidxLvlPrev(tls *libc.TLS, pLvl uintptr) int32 { /* sqlite3.c:226256:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -196674,7 +196724,7 @@ func fts5DlidxLvlPrev(tls *libc.TLS, pLvl uintptr) int32 { /* sqlite3.c:226199:1 return (*Fts5DlidxLvl)(unsafe.Pointer(pLvl)).FbEof } -func fts5DlidxIterPrevR(tls *libc.TLS, p uintptr, pIter uintptr, iLvl int32) int32 { /* sqlite3.c:226248:12: */ +func fts5DlidxIterPrevR(tls *libc.TLS, p uintptr, pIter uintptr, iLvl int32) int32 { /* sqlite3.c:226305:12: */ var pLvl uintptr = pIter + 8 + uintptr(iLvl)*32 if fts5DlidxLvlPrev(tls, pLvl) != 0 { @@ -196697,12 +196747,12 @@ func fts5DlidxIterPrevR(tls *libc.TLS, p uintptr, pIter uintptr, iLvl int32) int return (*Fts5DlidxLvl)(unsafe.Pointer(pIter + 8)).FbEof } -func fts5DlidxIterPrev(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlite3.c:226271:12: */ +func fts5DlidxIterPrev(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlite3.c:226328:12: */ return fts5DlidxIterPrevR(tls, p, pIter, 0) } // Free a doclist-index iterator object allocated by fts5DlidxIterInit(). -func fts5DlidxIterFree(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:226278:13: */ +func fts5DlidxIterFree(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:226335:13: */ if pIter != 0 { var i int32 for i = 0; i < (*Fts5DlidxIter)(unsafe.Pointer(pIter)).FnLvl; i++ { @@ -196712,7 +196762,7 @@ func fts5DlidxIterFree(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:226278:13: * } } -func fts5DlidxIterInit(tls *libc.TLS, p uintptr, bRev int32, iSegid int32, iLeafPg int32) uintptr { /* sqlite3.c:226288:22: */ +func fts5DlidxIterInit(tls *libc.TLS, p uintptr, bRev int32, iSegid int32, iLeafPg int32) uintptr { /* sqlite3.c:226345:22: */ var pIter uintptr = uintptr(0) var i int32 var bDone int32 = 0 @@ -196754,16 +196804,16 @@ func fts5DlidxIterInit(tls *libc.TLS, p uintptr, bRev int32, iSegid int32, iLeaf return pIter } -func fts5DlidxIterRowid(tls *libc.TLS, pIter uintptr) I64 { /* sqlite3.c:226335:12: */ +func fts5DlidxIterRowid(tls *libc.TLS, pIter uintptr) I64 { /* sqlite3.c:226392:12: */ return (*Fts5DlidxLvl)(unsafe.Pointer(pIter + 8)).FiRowid } -func fts5DlidxIterPgno(tls *libc.TLS, pIter uintptr) int32 { /* sqlite3.c:226338:12: */ +func fts5DlidxIterPgno(tls *libc.TLS, pIter uintptr) int32 { /* sqlite3.c:226395:12: */ return (*Fts5DlidxLvl)(unsafe.Pointer(pIter + 8)).FiLeafPgno } // Load the next leaf page into the segment iterator. -func fts5SegIterNextPage(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:226345:13: */ +func fts5SegIterNextPage(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:226402:13: */ var pLeaf uintptr var pSeg uintptr = (*Fts5SegIter)(unsafe.Pointer(pIter)).FpSeg fts5DataRelease(tls, (*Fts5SegIter)(unsafe.Pointer(pIter)).FpLeaf) @@ -196793,7 +196843,7 @@ func fts5SegIterNextPage(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c // position list size field. Read the varint and return the number of bytes // read. Before returning, set *pnSz to the number of bytes in the position // list, and *pbDel to true if the delete flag is set, or false otherwise. -func fts5GetPoslistSize(tls *libc.TLS, p uintptr, pnSz uintptr, pbDel uintptr) int32 { /* sqlite3.c:226383:12: */ +func fts5GetPoslistSize(tls *libc.TLS, p uintptr, pnSz uintptr, pbDel uintptr) int32 { /* sqlite3.c:226440:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -196822,7 +196872,7 @@ func fts5GetPoslistSize(tls *libc.TLS, p uintptr, pnSz uintptr, pbDel uintptr) i // // Leave Fts5SegIter.iLeafOffset pointing to the first byte of the // position list content (if any). -func fts5SegIterLoadNPos(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:226404:13: */ +func fts5SegIterLoadNPos(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:226461:13: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -196867,7 +196917,7 @@ func fts5SegIterLoadNPos(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c } } -func fts5SegIterLoadRowid(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:226433:13: */ +func fts5SegIterLoadRowid(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:226490:13: */ var a uintptr = (*Fts5Data)(unsafe.Pointer((*Fts5SegIter)(unsafe.Pointer(pIter)).FpLeaf)).Fp // Buffer to read data from var iOff I64 = (*Fts5SegIter)(unsafe.Pointer(pIter)).FiLeafOffset @@ -196899,7 +196949,7 @@ func fts5SegIterLoadRowid(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3. // accordingly and leaves (Fts5SegIter.iLeafOffset) set to the content of // the first position list. The position list belonging to document // (Fts5SegIter.iRowid). -func fts5SegIterLoadTerm(tls *libc.TLS, p uintptr, pIter uintptr, nKeep int32) { /* sqlite3.c:226466:13: */ +func fts5SegIterLoadTerm(tls *libc.TLS, p uintptr, pIter uintptr, nKeep int32) { /* sqlite3.c:226523:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -196933,7 +196983,7 @@ func fts5SegIterLoadTerm(tls *libc.TLS, p uintptr, pIter uintptr, nKeep int32) { fts5SegIterLoadRowid(tls, p, pIter) } -func fts5SegIterSetNext(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:226499:13: */ +func fts5SegIterSetNext(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:226556:13: */ if (*Fts5SegIter)(unsafe.Pointer(pIter)).Fflags&FTS5_SEGITER_REVERSE != 0 { (*Fts5SegIter)(unsafe.Pointer(pIter)).FxNext = *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, uintptr) @@ -196955,7 +197005,7 @@ func fts5SegIterSetNext(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c: // // If an error occurs, Fts5Index.rc is set to an appropriate error code. If // an error has already occurred when this function is called, it is a no-op. -func fts5SegIterInit(tls *libc.TLS, p uintptr, pSeg uintptr, pIter uintptr) { /* sqlite3.c:226517:13: */ +func fts5SegIterInit(tls *libc.TLS, p uintptr, pSeg uintptr, pIter uintptr) { /* sqlite3.c:226574:13: */ if (*Fts5StructureSegment)(unsafe.Pointer(pSeg)).FpgnoFirst == 0 { // This happens if the segment is being used as an input to an incremental // merge and all data has already been "trimmed". See function @@ -196996,7 +197046,7 @@ func fts5SegIterInit(tls *libc.TLS, p uintptr, pSeg uintptr, pIter uintptr) { /* // aRowidOffset[] and iRowidOffset variables. At this point the iterator // is in its regular state - Fts5SegIter.iLeafOffset points to the first // byte of the position list content associated with said rowid. -func fts5SegIterReverseInitPage(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:226566:13: */ +func fts5SegIterReverseInitPage(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:226623:13: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -197055,7 +197105,7 @@ func fts5SegIterReverseInitPage(tls *libc.TLS, p uintptr, pIter uintptr) { /* sq } // -func fts5SegIterReverseNewPage(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:226619:13: */ +func fts5SegIterReverseNewPage(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:226676:13: */ fts5DataRelease(tls, (*Fts5SegIter)(unsafe.Pointer(pIter)).FpLeaf) (*Fts5SegIter)(unsafe.Pointer(pIter)).FpLeaf = uintptr(0) @@ -197105,7 +197155,7 @@ func fts5SegIterReverseNewPage(tls *libc.TLS, p uintptr, pIter uintptr) { /* sql // Return true if the iterator passed as the second argument currently // points to a delete marker. A delete marker is an entry with a 0 byte // position-list. -func fts5MultiIterIsEmpty(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlite3.c:226675:12: */ +func fts5MultiIterIsEmpty(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlite3.c:226732:12: */ var pSeg uintptr = pIter + 96 + uintptr((*Fts5CResult)(unsafe.Pointer((*Fts5Iter)(unsafe.Pointer(pIter)).FaFirst+1*4)).FiFirst)*120 return libc.Bool32((*Fts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK && (*Fts5SegIter)(unsafe.Pointer(pSeg)).FpLeaf != 0 && (*Fts5SegIter)(unsafe.Pointer(pSeg)).FnPos == 0) } @@ -197113,7 +197163,7 @@ func fts5MultiIterIsEmpty(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sq // Advance iterator pIter to the next entry. // // This version of fts5SegIterNext() is only used by reverse iterators. -func fts5SegIterNext_Reverse(tls *libc.TLS, p uintptr, pIter uintptr, pbUnused uintptr) { /* sqlite3.c:226685:13: */ +func fts5SegIterNext_Reverse(tls *libc.TLS, p uintptr, pIter uintptr, pbUnused uintptr) { /* sqlite3.c:226742:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -197142,7 +197192,7 @@ func fts5SegIterNext_Reverse(tls *libc.TLS, p uintptr, pIter uintptr, pbUnused u // // This version of fts5SegIterNext() is only used if detail=none and the // iterator is not a reverse direction iterator. -func fts5SegIterNext_None(tls *libc.TLS, p uintptr, pIter uintptr, pbNewTerm uintptr) { /* sqlite3.c:226719:13: */ +func fts5SegIterNext_None(tls *libc.TLS, p uintptr, pIter uintptr, pbNewTerm uintptr) { /* sqlite3.c:226776:13: */ bp := tls.Alloc(36) defer tls.Free(36) @@ -197247,7 +197297,7 @@ next_none_eof: // If an error occurs, Fts5Index.rc is set to an appropriate error code. It // is not considered an error if the iterator reaches EOF. If an error has // already occurred when this function is called, it is a no-op. -func fts5SegIterNext(tls *libc.TLS, p uintptr, pIter uintptr, pbNewTerm uintptr) { /* sqlite3.c:226791:13: */ +func fts5SegIterNext(tls *libc.TLS, p uintptr, pIter uintptr, pbNewTerm uintptr) { /* sqlite3.c:226848:13: */ bp := tls.Alloc(44) defer tls.Free(44) @@ -197372,7 +197422,7 @@ func fts5SegIterNext(tls *libc.TLS, p uintptr, pIter uintptr, pbNewTerm uintptr) // Iterator pIter currently points to the first rowid in a doclist. This // function sets the iterator up so that iterates in reverse order through // the doclist. -func fts5SegIterReverse(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:226922:13: */ +func fts5SegIterReverse(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:226979:13: */ var pDlidx uintptr = (*Fts5SegIter)(unsafe.Pointer(pIter)).FpDlidx var pLast uintptr = uintptr(0) var pgnoLast int32 = 0 @@ -197472,7 +197522,7 @@ func fts5SegIterReverse(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c: // There is a doclist-index associated with the final term on the current // page. If the current term is the last term on the page, load the // doclist-index from disk and initialize an iterator at (pIter->pDlidx). -func fts5SegIterLoadDlidx(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:227011:13: */ +func fts5SegIterLoadDlidx(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:227068:13: */ var iSeg int32 = (*Fts5StructureSegment)(unsafe.Pointer((*Fts5SegIter)(unsafe.Pointer(pIter)).FpSeg)).FiSegid var bRev int32 = (*Fts5SegIter)(unsafe.Pointer(pIter)).Fflags & FTS5_SEGITER_REVERSE var pLeaf uintptr = (*Fts5SegIter)(unsafe.Pointer(pIter)).FpLeaf // Current leaf data @@ -197500,7 +197550,7 @@ func fts5SegIterLoadDlidx(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3. // iterator is left pointing to the smallest term in the segment that // is larger than the specified term, even if this term is not on the // current page. -func fts5LeafSeek(tls *libc.TLS, p uintptr, bGe int32, pIter uintptr, pTerm uintptr, nTerm int32) { /* sqlite3.c:227045:13: */ +func fts5LeafSeek(tls *libc.TLS, p uintptr, bGe int32, pIter uintptr, pTerm uintptr, nTerm int32) { /* sqlite3.c:227102:13: */ bp := tls.Alloc(20) defer tls.Free(20) @@ -197734,7 +197784,7 @@ __31: fts5SegIterLoadNPos(tls, p, pIter) } -func fts5IdxSelectStmt(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:227171:21: */ +func fts5IdxSelectStmt(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:227228:21: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -197753,7 +197803,7 @@ func fts5IdxSelectStmt(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:227171:2 // // If an error occurs, Fts5Index.rc is set to an appropriate error code. If // an error has already occurred when this function is called, it is a no-op. -func fts5SegIterSeekInit(tls *libc.TLS, p uintptr, pTerm uintptr, nTerm int32, flags int32, pSeg uintptr, pIter uintptr) { /* sqlite3.c:227190:13: */ +func fts5SegIterSeekInit(tls *libc.TLS, p uintptr, pTerm uintptr, nTerm int32, flags int32, pSeg uintptr, pIter uintptr) { /* sqlite3.c:227247:13: */ var iPg int32 = 1 var bGe int32 = flags & FTS5INDEX_QUERY_SCAN var bDlidx int32 = 0 // True if there is a doclist-index @@ -197823,7 +197873,7 @@ func fts5SegIterSeekInit(tls *libc.TLS, p uintptr, pTerm uintptr, nTerm int32, f // // If an error occurs, Fts5Index.rc is set to an appropriate error code. If // an error has already occurred when this function is called, it is a no-op. -func fts5SegIterHashInit(tls *libc.TLS, p uintptr, pTerm uintptr, nTerm int32, flags int32, pIter uintptr) { /* sqlite3.c:227273:13: */ +func fts5SegIterHashInit(tls *libc.TLS, p uintptr, pTerm uintptr, nTerm int32, flags int32, pIter uintptr) { /* sqlite3.c:227330:13: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -197879,7 +197929,7 @@ func fts5SegIterHashInit(tls *libc.TLS, p uintptr, pTerm uintptr, nTerm int32, f } // Zero the iterator passed as the only argument. -func fts5SegIterClear(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:227332:13: */ +func fts5SegIterClear(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:227389:13: */ sqlite3Fts5BufferFree(tls, pIter+88) fts5DataRelease(tls, (*Fts5SegIter)(unsafe.Pointer(pIter)).FpLeaf) fts5DataRelease(tls, (*Fts5SegIter)(unsafe.Pointer(pIter)).FpNextLeaf) @@ -197894,7 +197944,7 @@ func fts5SegIterClear(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:227332:13: */ // in the pIter->aSeg[] array that is (a) not at EOF, and (b) pointing // to a key that is a duplicate of another, higher priority, // segment-iterator in the pSeg->aSeg[] array. -func fts5MultiIterDoCompare(tls *libc.TLS, pIter uintptr, iOut int32) int32 { /* sqlite3.c:227436:12: */ +func fts5MultiIterDoCompare(tls *libc.TLS, pIter uintptr, iOut int32) int32 { /* sqlite3.c:227493:12: */ var i1 int32 // Index of left-hand Fts5SegIter var i2 int32 // Index of right-hand Fts5SegIter var iRes int32 @@ -197946,7 +197996,7 @@ func fts5MultiIterDoCompare(tls *libc.TLS, pIter uintptr, iOut int32) int32 { /* // Move the seg-iter so that it points to the first rowid on page iLeafPgno. // It is an error if leaf iLeafPgno does not exist or contains no rowids. -func fts5SegIterGotoPage(tls *libc.TLS, p uintptr, pIter uintptr, iLeafPgno int32) { /* sqlite3.c:227490:13: */ +func fts5SegIterGotoPage(tls *libc.TLS, p uintptr, pIter uintptr, iLeafPgno int32) { /* sqlite3.c:227547:13: */ if iLeafPgno > (*Fts5StructureSegment)(unsafe.Pointer((*Fts5SegIter)(unsafe.Pointer(pIter)).FpSeg)).FpgnoLast { (*Fts5Index)(unsafe.Pointer(p)).Frc = SQLITE_CORRUPT | int32(1)<<8 @@ -197976,7 +198026,7 @@ func fts5SegIterGotoPage(tls *libc.TLS, p uintptr, pIter uintptr, iLeafPgno int3 // Advance the iterator passed as the second argument until it is at or // past rowid iFrom. Regardless of the value of iFrom, the iterator is // always advanced at least once. -func fts5SegIterNextFrom(tls *libc.TLS, p uintptr, pIter uintptr, iMatch I64) { /* sqlite3.c:227528:13: */ +func fts5SegIterNextFrom(tls *libc.TLS, p uintptr, pIter uintptr, iMatch I64) { /* sqlite3.c:227585:13: */ var bRev int32 = (*Fts5SegIter)(unsafe.Pointer(pIter)).Fflags & FTS5_SEGITER_REVERSE var pDlidx uintptr = (*Fts5SegIter)(unsafe.Pointer(pIter)).FpDlidx var iLeafPgno int32 = (*Fts5SegIter)(unsafe.Pointer(pIter)).FiLeafPgno @@ -198026,7 +198076,7 @@ func fts5SegIterNextFrom(tls *libc.TLS, p uintptr, pIter uintptr, iMatch I64) { } // Free the iterator object passed as the second argument. -func fts5MultiIterFree(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:227582:13: */ +func fts5MultiIterFree(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:227639:13: */ if pIter != 0 { var i int32 for i = 0; i < (*Fts5Iter)(unsafe.Pointer(pIter)).FnSeg; i++ { @@ -198037,7 +198087,7 @@ func fts5MultiIterFree(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:227582:13: * } } -func fts5MultiIterAdvanced(tls *libc.TLS, p uintptr, pIter uintptr, iChanged int32, iMinset int32) { /* sqlite3.c:227593:13: */ +func fts5MultiIterAdvanced(tls *libc.TLS, p uintptr, pIter uintptr, iChanged int32, iMinset int32) { /* sqlite3.c:227650:13: */ var i int32 for i = ((*Fts5Iter)(unsafe.Pointer(pIter)).FnSeg + iChanged) / 2; i >= iMinset && (*Fts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK; i = i / 2 { var iEq int32 @@ -198060,7 +198110,7 @@ func fts5MultiIterAdvanced(tls *libc.TLS, p uintptr, pIter uintptr, iChanged int // If non-zero is returned, the caller should call fts5MultiIterAdvanced() // on the iterator instead. That function does the same as this one, except // that it deals with more complicated cases as well. -func fts5MultiIterAdvanceRowid(tls *libc.TLS, pIter uintptr, iChanged int32, ppFirst uintptr) int32 { /* sqlite3.c:227621:12: */ +func fts5MultiIterAdvanceRowid(tls *libc.TLS, pIter uintptr, iChanged int32, ppFirst uintptr) int32 { /* sqlite3.c:227678:12: */ var pNew uintptr = pIter + 96 + uintptr(iChanged)*120 if (*Fts5SegIter)(unsafe.Pointer(pNew)).FiRowid == (*Fts5Iter)(unsafe.Pointer(pIter)).FiSwitchRowid || @@ -198100,7 +198150,7 @@ func fts5MultiIterAdvanceRowid(tls *libc.TLS, pIter uintptr, iChanged int32, ppF } // Set the pIter->bEof variable based on the state of the sub-iterators. -func fts5MultiIterSetEof(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:227664:13: */ +func fts5MultiIterSetEof(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:227721:13: */ var pSeg uintptr = pIter + 96 + uintptr((*Fts5CResult)(unsafe.Pointer((*Fts5Iter)(unsafe.Pointer(pIter)).FaFirst+1*4)).FiFirst)*120 (*Fts5Iter)(unsafe.Pointer(pIter)).Fbase.FbEof = U8(libc.Bool32((*Fts5SegIter)(unsafe.Pointer(pSeg)).FpLeaf == uintptr(0))) (*Fts5Iter)(unsafe.Pointer(pIter)).FiSwitchRowid = (*Fts5SegIter)(unsafe.Pointer(pSeg)).FiRowid @@ -198111,7 +198161,7 @@ func fts5MultiIterSetEof(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:227664:13: // If an error occurs, an error code is left in Fts5Index.rc. It is not // considered an error if the iterator reaches EOF, or if it is already at // EOF when this function is called. -func fts5MultiIterNext(tls *libc.TLS, p uintptr, pIter uintptr, bFrom int32, iFrom I64) { /* sqlite3.c:227677:13: */ +func fts5MultiIterNext(tls *libc.TLS, p uintptr, pIter uintptr, bFrom int32, iFrom I64) { /* sqlite3.c:227734:13: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -198150,7 +198200,7 @@ func fts5MultiIterNext(tls *libc.TLS, p uintptr, pIter uintptr, bFrom int32, iFr } } -func fts5MultiIterNext2(tls *libc.TLS, p uintptr, pIter uintptr, pbNewTerm uintptr) { /* sqlite3.c:227715:13: */ +func fts5MultiIterNext2(tls *libc.TLS, p uintptr, pIter uintptr, pbNewTerm uintptr) { /* sqlite3.c:227772:13: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -198175,12 +198225,12 @@ func fts5MultiIterNext2(tls *libc.TLS, p uintptr, pIter uintptr, pbNewTerm uintp } } -func fts5IterSetOutputs_Noop(tls *libc.TLS, pUnused1 uintptr, pUnused2 uintptr) { /* sqlite3.c:227743:13: */ +func fts5IterSetOutputs_Noop(tls *libc.TLS, pUnused1 uintptr, pUnused2 uintptr) { /* sqlite3.c:227800:13: */ _ = pUnused1 _ = pUnused2 } -func fts5MultiIterAlloc(tls *libc.TLS, p uintptr, nSeg int32) uintptr { /* sqlite3.c:227747:17: */ +func fts5MultiIterAlloc(tls *libc.TLS, p uintptr, nSeg int32) uintptr { /* sqlite3.c:227804:17: */ var pNew uintptr var nSlot int32 // Power of two >= nSeg @@ -198199,7 +198249,7 @@ func fts5MultiIterAlloc(tls *libc.TLS, p uintptr, nSeg int32) uintptr { /* sqlit return pNew } -func fts5PoslistCallback(tls *libc.TLS, pUnused uintptr, pContext uintptr, pChunk uintptr, nChunk int32) { /* sqlite3.c:227769:13: */ +func fts5PoslistCallback(tls *libc.TLS, pUnused uintptr, pContext uintptr, pChunk uintptr, nChunk int32) { /* sqlite3.c:227826:13: */ _ = pUnused if nChunk > 0 { @@ -198216,21 +198266,21 @@ type PoslistCallbackCtx1 = struct { FpColset uintptr FeState int32 F__ccgo_pad1 [4]byte -} /* sqlite3.c:227781:9 */ +} /* sqlite3.c:227838:9 */ -type PoslistCallbackCtx = PoslistCallbackCtx1 /* sqlite3.c:227781:35 */ +type PoslistCallbackCtx = PoslistCallbackCtx1 /* sqlite3.c:227838:35 */ type PoslistOffsetsCtx1 = struct { FpBuf uintptr FpColset uintptr FiRead int32 FiWrite int32 -} /* sqlite3.c:227788:9 */ +} /* sqlite3.c:227845:9 */ -type PoslistOffsetsCtx = PoslistOffsetsCtx1 /* sqlite3.c:227788:34 */ +type PoslistOffsetsCtx = PoslistOffsetsCtx1 /* sqlite3.c:227845:34 */ // TODO: Make this more efficient! -func fts5IndexColsetTest(tls *libc.TLS, pColset uintptr, iCol int32) int32 { /* sqlite3.c:227799:12: */ +func fts5IndexColsetTest(tls *libc.TLS, pColset uintptr, iCol int32) int32 { /* sqlite3.c:227856:12: */ var i int32 for i = 0; i < (*Fts5Colset)(unsafe.Pointer(pColset)).FnCol; i++ { if *(*int32)(unsafe.Pointer(pColset + 4 + uintptr(i)*4)) == iCol { @@ -198240,7 +198290,7 @@ func fts5IndexColsetTest(tls *libc.TLS, pColset uintptr, iCol int32) int32 { /* return 0 } -func fts5PoslistOffsetsCallback(tls *libc.TLS, pUnused uintptr, pContext uintptr, pChunk uintptr, nChunk int32) { /* sqlite3.c:227807:13: */ +func fts5PoslistOffsetsCallback(tls *libc.TLS, pUnused uintptr, pContext uintptr, pChunk uintptr, nChunk int32) { /* sqlite3.c:227864:13: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -198266,7 +198316,7 @@ func fts5PoslistOffsetsCallback(tls *libc.TLS, pUnused uintptr, pContext uintptr } } -func fts5PoslistFilterCallback(tls *libc.TLS, pUnused uintptr, pContext uintptr, pChunk uintptr, nChunk int32) { /* sqlite3.c:227830:13: */ +func fts5PoslistFilterCallback(tls *libc.TLS, pUnused uintptr, pContext uintptr, pChunk uintptr, nChunk int32) { /* sqlite3.c:227887:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -198346,7 +198396,7 @@ func fts5PoslistFilterCallback(tls *libc.TLS, pUnused uintptr, pContext uintptr, } } -func fts5ChunkIterate(tls *libc.TLS, p uintptr, pSeg uintptr, pCtx uintptr, xChunk uintptr) { /* sqlite3.c:227882:13: */ +func fts5ChunkIterate(tls *libc.TLS, p uintptr, pSeg uintptr, pCtx uintptr, xChunk uintptr) { /* sqlite3.c:227939:13: */ var nRem int32 = (*Fts5SegIter)(unsafe.Pointer(pSeg)).FnPos // Number of bytes still to come var pData uintptr = uintptr(0) var pChunk uintptr = (*Fts5Data)(unsafe.Pointer((*Fts5SegIter)(unsafe.Pointer(pSeg)).FpLeaf)).Fp + uintptr((*Fts5SegIter)(unsafe.Pointer(pSeg)).FiLeafOffset) @@ -198402,7 +198452,7 @@ func fts5ChunkIterate(tls *libc.TLS, p uintptr, pSeg uintptr, pCtx uintptr, xChu // function appends the position list data for the current entry to // buffer pBuf. It does not make a copy of the position-list size // field. -func fts5SegiterPoslist(tls *libc.TLS, p uintptr, pSeg uintptr, pColset uintptr, pBuf uintptr) { /* sqlite3.c:227932:13: */ +func fts5SegiterPoslist(tls *libc.TLS, p uintptr, pSeg uintptr, pColset uintptr, pBuf uintptr) { /* sqlite3.c:227989:13: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -198453,7 +198503,7 @@ func fts5SegiterPoslist(tls *libc.TLS, p uintptr, pSeg uintptr, pColset uintptr, // This function is a no-op if *pRc is other than SQLITE_OK when it is // called. If an OOM error is encountered, *pRc is set to SQLITE_NOMEM // before returning. -func fts5IndexExtractColset(tls *libc.TLS, pRc uintptr, pColset uintptr, pPos uintptr, nPos int32, pIter uintptr) { /* sqlite3.c:227977:13: */ +func fts5IndexExtractColset(tls *libc.TLS, pRc uintptr, pColset uintptr, pPos uintptr, nPos int32, pIter uintptr) { /* sqlite3.c:228034:13: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -198514,7 +198564,7 @@ func fts5IndexExtractColset(tls *libc.TLS, pRc uintptr, pColset uintptr, pPos ui } // xSetOutputs callback used by detail=none tables. -func fts5IterSetOutputs_None(tls *libc.TLS, pIter uintptr, pSeg uintptr) { /* sqlite3.c:228037:13: */ +func fts5IterSetOutputs_None(tls *libc.TLS, pIter uintptr, pSeg uintptr) { /* sqlite3.c:228094:13: */ (*Fts5Iter)(unsafe.Pointer(pIter)).Fbase.FiRowid = (*Fts5SegIter)(unsafe.Pointer(pSeg)).FiRowid (*Fts5Iter)(unsafe.Pointer(pIter)).Fbase.FnData = (*Fts5SegIter)(unsafe.Pointer(pSeg)).FnPos @@ -198522,7 +198572,7 @@ func fts5IterSetOutputs_None(tls *libc.TLS, pIter uintptr, pSeg uintptr) { /* sq // xSetOutputs callback used by detail=full and detail=col tables when no // column filters are specified. -func fts5IterSetOutputs_Nocolset(tls *libc.TLS, pIter uintptr, pSeg uintptr) { /* sqlite3.c:228047:13: */ +func fts5IterSetOutputs_Nocolset(tls *libc.TLS, pIter uintptr, pSeg uintptr) { /* sqlite3.c:228104:13: */ (*Fts5Iter)(unsafe.Pointer(pIter)).Fbase.FiRowid = (*Fts5SegIter)(unsafe.Pointer(pSeg)).FiRowid (*Fts5Iter)(unsafe.Pointer(pIter)).Fbase.FnData = (*Fts5SegIter)(unsafe.Pointer(pSeg)).FnPos @@ -198542,7 +198592,7 @@ func fts5IterSetOutputs_Nocolset(tls *libc.TLS, pIter uintptr, pSeg uintptr) { / // xSetOutputs callback used when the Fts5Colset object has nCol==0 (match // against no columns at all). -func fts5IterSetOutputs_ZeroColset(tls *libc.TLS, pIter uintptr, pSeg uintptr) { /* sqlite3.c:228072:13: */ +func fts5IterSetOutputs_ZeroColset(tls *libc.TLS, pIter uintptr, pSeg uintptr) { /* sqlite3.c:228129:13: */ _ = pSeg (*Fts5Iter)(unsafe.Pointer(pIter)).Fbase.FnData = 0 } @@ -198550,7 +198600,7 @@ func fts5IterSetOutputs_ZeroColset(tls *libc.TLS, pIter uintptr, pSeg uintptr) { // xSetOutputs callback used by detail=col when there is a column filter // and there are 100 or more columns. Also called as a fallback from // fts5IterSetOutputs_Col100 if the column-list spans more than one page. -func fts5IterSetOutputs_Col(tls *libc.TLS, pIter uintptr, pSeg uintptr) { /* sqlite3.c:228082:13: */ +func fts5IterSetOutputs_Col(tls *libc.TLS, pIter uintptr, pSeg uintptr) { /* sqlite3.c:228139:13: */ sqlite3Fts5BufferZero(tls, pIter+32) fts5SegiterPoslist(tls, (*Fts5Iter)(unsafe.Pointer(pIter)).FpIndex, pSeg, (*Fts5Iter)(unsafe.Pointer(pIter)).FpColset, pIter+32) (*Fts5Iter)(unsafe.Pointer(pIter)).Fbase.FiRowid = (*Fts5SegIter)(unsafe.Pointer(pSeg)).FiRowid @@ -198566,7 +198616,7 @@ func fts5IterSetOutputs_Col(tls *libc.TLS, pIter uintptr, pSeg uintptr) { /* sql // // The last point is to ensure all column numbers are stored as // single-byte varints. -func fts5IterSetOutputs_Col100(tls *libc.TLS, pIter uintptr, pSeg uintptr) { /* sqlite3.c:228100:13: */ +func fts5IterSetOutputs_Col100(tls *libc.TLS, pIter uintptr, pSeg uintptr) { /* sqlite3.c:228157:13: */ var a uintptr var pEnd uintptr var iPrev int32 @@ -198628,7 +198678,7 @@ __2: } // xSetOutputs callback used by detail=full when there is a column filter. -func fts5IterSetOutputs_Full(tls *libc.TLS, pIter uintptr, pSeg uintptr) { /* sqlite3.c:228140:13: */ +func fts5IterSetOutputs_Full(tls *libc.TLS, pIter uintptr, pSeg uintptr) { /* sqlite3.c:228197:13: */ var pColset uintptr = (*Fts5Iter)(unsafe.Pointer(pIter)).FpColset (*Fts5Iter)(unsafe.Pointer(pIter)).Fbase.FiRowid = (*Fts5SegIter)(unsafe.Pointer(pSeg)).FiRowid @@ -198650,7 +198700,7 @@ func fts5IterSetOutputs_Full(tls *libc.TLS, pIter uintptr, pSeg uintptr) { /* sq } } -func fts5IterSetOutputCb(tls *libc.TLS, pRc uintptr, pIter uintptr) { /* sqlite3.c:228165:13: */ +func fts5IterSetOutputCb(tls *libc.TLS, pRc uintptr, pIter uintptr) { /* sqlite3.c:228222:13: */ if *(*int32)(unsafe.Pointer(pRc)) == SQLITE_OK { var pConfig uintptr = (*Fts5Index)(unsafe.Pointer((*Fts5Iter)(unsafe.Pointer(pIter)).FpIndex)).FpConfig @@ -198695,7 +198745,7 @@ func fts5IterSetOutputCb(tls *libc.TLS, pRc uintptr, pIter uintptr) { /* sqlite3 // // The iterator initially points to the first term/rowid entry in the // iterated data. -func fts5MultiIterNew(tls *libc.TLS, p uintptr, pStruct uintptr, flags int32, pColset uintptr, pTerm uintptr, nTerm int32, iLevel int32, nSegment int32, ppOut uintptr) { /* sqlite3.c:228209:13: */ +func fts5MultiIterNew(tls *libc.TLS, p uintptr, pStruct uintptr, flags int32, pColset uintptr, pTerm uintptr, nTerm int32, iLevel int32, nSegment int32, ppOut uintptr) { /* sqlite3.c:228266:13: */ var nSeg int32 // Number of segment-iters in use var iIter int32 // var iSeg int32 // Used to iterate through segments @@ -198898,7 +198948,7 @@ fts5MultiIterNew_post_check: // Create an Fts5Iter that iterates through the doclist provided // as the second argument. -func fts5MultiIterNew2(tls *libc.TLS, p uintptr, pData uintptr, bDesc int32, ppOut uintptr) { /* sqlite3.c:228315:13: */ +func fts5MultiIterNew2(tls *libc.TLS, p uintptr, pData uintptr, bDesc int32, ppOut uintptr) { /* sqlite3.c:228372:13: */ var pNew uintptr pNew = fts5MultiIterAlloc(tls, p, 2) if pNew != 0 { @@ -198931,7 +198981,7 @@ func fts5MultiIterNew2(tls *libc.TLS, p uintptr, pData uintptr, bDesc int32, ppO // Return true if the iterator is at EOF or if an error has occurred. // False otherwise. -func fts5MultiIterEof(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlite3.c:228355:12: */ +func fts5MultiIterEof(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlite3.c:228412:12: */ return libc.Bool32((*Fts5Index)(unsafe.Pointer(p)).Frc != 0 || (*Fts5Iter)(unsafe.Pointer(pIter)).Fbase.FbEof != 0) } @@ -198939,13 +198989,13 @@ func fts5MultiIterEof(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlite // Return the rowid of the entry that the iterator currently points // to. If the iterator points to EOF when this function is called the // results are undefined. -func fts5MultiIterRowid(tls *libc.TLS, pIter uintptr) I64 { /* sqlite3.c:228368:12: */ +func fts5MultiIterRowid(tls *libc.TLS, pIter uintptr) I64 { /* sqlite3.c:228425:12: */ return (*Fts5SegIter)(unsafe.Pointer(pIter + 96 + uintptr((*Fts5CResult)(unsafe.Pointer((*Fts5Iter)(unsafe.Pointer(pIter)).FaFirst+1*4)).FiFirst)*120)).FiRowid } // Move the iterator to the next entry at or following iMatch. -func fts5MultiIterNextFrom(tls *libc.TLS, p uintptr, pIter uintptr, iMatch I64) { /* sqlite3.c:228376:13: */ +func fts5MultiIterNextFrom(tls *libc.TLS, p uintptr, pIter uintptr, iMatch I64) { /* sqlite3.c:228433:13: */ for 1 != 0 { var iRowid I64 fts5MultiIterNext(tls, p, pIter, 1, iMatch) @@ -198964,7 +199014,7 @@ func fts5MultiIterNextFrom(tls *libc.TLS, p uintptr, pIter uintptr, iMatch I64) // Return a pointer to a buffer containing the term associated with the // entry that the iterator currently points to. -func fts5MultiIterTerm(tls *libc.TLS, pIter uintptr, pn uintptr) uintptr { /* sqlite3.c:228395:17: */ +func fts5MultiIterTerm(tls *libc.TLS, pIter uintptr, pn uintptr) uintptr { /* sqlite3.c:228452:17: */ var p uintptr = pIter + 96 + uintptr((*Fts5CResult)(unsafe.Pointer((*Fts5Iter)(unsafe.Pointer(pIter)).FaFirst+1*4)).FiFirst)*120 *(*int32)(unsafe.Pointer(pn)) = (*Fts5SegIter)(unsafe.Pointer(p)).Fterm.Fn return (*Fts5SegIter)(unsafe.Pointer(p)).Fterm.Fp @@ -198977,7 +199027,7 @@ func fts5MultiIterTerm(tls *libc.TLS, pIter uintptr, pn uintptr) uintptr { /* sq // // If an error has already occurred, this function is a no-op. 0 is // returned in this case. -func fts5AllocateSegid(tls *libc.TLS, p uintptr, pStruct uintptr) int32 { /* sqlite3.c:228410:12: */ +func fts5AllocateSegid(tls *libc.TLS, p uintptr, pStruct uintptr) int32 { /* sqlite3.c:228467:12: */ bp := tls.Alloc(252) defer tls.Free(252) @@ -199019,7 +199069,7 @@ func fts5AllocateSegid(tls *libc.TLS, p uintptr, pStruct uintptr) int32 { /* sql } // Discard all data currently cached in the hash-tables. -func fts5IndexDiscardData(tls *libc.TLS, p uintptr) { /* sqlite3.c:228467:13: */ +func fts5IndexDiscardData(tls *libc.TLS, p uintptr) { /* sqlite3.c:228524:13: */ if (*Fts5Index)(unsafe.Pointer(p)).FpHash != 0 { sqlite3Fts5HashClear(tls, (*Fts5Index)(unsafe.Pointer(p)).FpHash) @@ -199032,7 +199082,7 @@ func fts5IndexDiscardData(tls *libc.TLS, p uintptr) { /* sqlite3.c:228467:13: */ // // Buffer (pNew/) is guaranteed to be greater // than buffer (pOld/nOld). -func fts5PrefixCompress(tls *libc.TLS, nOld int32, pOld uintptr, pNew uintptr) int32 { /* sqlite3.c:228482:12: */ +func fts5PrefixCompress(tls *libc.TLS, nOld int32, pOld uintptr, pNew uintptr) int32 { /* sqlite3.c:228539:12: */ var i int32 for i = 0; i < nOld; i++ { if int32(*(*U8)(unsafe.Pointer(pOld + uintptr(i)))) != int32(*(*U8)(unsafe.Pointer(pNew + uintptr(i)))) { @@ -199042,7 +199092,7 @@ func fts5PrefixCompress(tls *libc.TLS, nOld int32, pOld uintptr, pNew uintptr) i return i } -func fts5WriteDlidxClear(tls *libc.TLS, p uintptr, pWriter uintptr, bFlush int32) { /* sqlite3.c:228490:13: */ +func fts5WriteDlidxClear(tls *libc.TLS, p uintptr, pWriter uintptr, bFlush int32) { /* sqlite3.c:228547:13: */ var i int32 for i = 0; i < (*Fts5SegWriter)(unsafe.Pointer(pWriter)).FnDlidx; i++ { @@ -199063,7 +199113,7 @@ func fts5WriteDlidxClear(tls *libc.TLS, p uintptr, pWriter uintptr, bFlush int32 // Grow the pWriter->aDlidx[] array to at least nLvl elements in size. // Any new array elements are zeroed before returning. -func fts5WriteDlidxGrow(tls *libc.TLS, p uintptr, pWriter uintptr, nLvl int32) int32 { /* sqlite3.c:228516:12: */ +func fts5WriteDlidxGrow(tls *libc.TLS, p uintptr, pWriter uintptr, nLvl int32) int32 { /* sqlite3.c:228573:12: */ if (*Fts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK && nLvl >= (*Fts5SegWriter)(unsafe.Pointer(pWriter)).FnDlidx { var aDlidx uintptr = Xsqlite3_realloc64(tls, (*Fts5SegWriter)(unsafe.Pointer(pWriter)).FaDlidx, uint64(uint64(unsafe.Sizeof(Fts5DlidxWriter{}))*uint64(nLvl))) @@ -199082,7 +199132,7 @@ func fts5WriteDlidxGrow(tls *libc.TLS, p uintptr, pWriter uintptr, nLvl int32) i // If the current doclist-index accumulating in pWriter->aDlidx[] is large // enough, flush it to disk and return 1. Otherwise discard it and return // zero. -func fts5WriteFlushDlidx(tls *libc.TLS, p uintptr, pWriter uintptr) int32 { /* sqlite3.c:228542:12: */ +func fts5WriteFlushDlidx(tls *libc.TLS, p uintptr, pWriter uintptr) int32 { /* sqlite3.c:228599:12: */ var bFlag int32 = 0 // If there were FTS5_MIN_DLIDX_SIZE or more empty leaf pages written @@ -199104,7 +199154,7 @@ func fts5WriteFlushDlidx(tls *libc.TLS, p uintptr, pWriter uintptr) int32 { /* s // it. // // Fts5SegWriter.btterm currently contains the first term on page iBtPage. -func fts5WriteFlushBtree(tls *libc.TLS, p uintptr, pWriter uintptr) { /* sqlite3.c:228566:13: */ +func fts5WriteFlushBtree(tls *libc.TLS, p uintptr, pWriter uintptr) { /* sqlite3.c:228623:13: */ var bFlag int32 if (*Fts5SegWriter)(unsafe.Pointer(pWriter)).FiBtPage == 0 { @@ -199137,7 +199187,7 @@ func fts5WriteFlushBtree(tls *libc.TLS, p uintptr, pWriter uintptr) { /* sqlite3 // // If an error occurs, an error code is left in Fts5Index.rc. If an error // has already occurred when this function is called, it is a no-op. -func fts5WriteBtreeTerm(tls *libc.TLS, p uintptr, pWriter uintptr, nTerm int32, pTerm uintptr) { /* sqlite3.c:228595:13: */ +func fts5WriteBtreeTerm(tls *libc.TLS, p uintptr, pWriter uintptr, nTerm int32, pTerm uintptr) { /* sqlite3.c:228652:13: */ fts5WriteFlushBtree(tls, p, pWriter) if (*Fts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK { sqlite3Fts5BufferSet(tls, p+52, pWriter+96, nTerm, pTerm) @@ -199147,7 +199197,7 @@ func fts5WriteBtreeTerm(tls *libc.TLS, p uintptr, pWriter uintptr, nTerm int32, // This function is called when flushing a leaf page that contains no // terms at all to disk. -func fts5WriteBtreeNoTerm(tls *libc.TLS, p uintptr, pWriter uintptr) { /* sqlite3.c:228611:13: */ +func fts5WriteBtreeNoTerm(tls *libc.TLS, p uintptr, pWriter uintptr) { /* sqlite3.c:228668:13: */ // If there were no rowids on the leaf page either and the doclist-index // has already been started, append an 0x00 byte to it. if (*Fts5SegWriter)(unsafe.Pointer(pWriter)).FbFirstRowidInPage != 0 && (*Fts5DlidxWriter)(unsafe.Pointer((*Fts5SegWriter)(unsafe.Pointer(pWriter)).FaDlidx)).Fbuf.Fn > 0 { @@ -199160,7 +199210,7 @@ func fts5WriteBtreeNoTerm(tls *libc.TLS, p uintptr, pWriter uintptr) { /* sqlite (*Fts5SegWriter)(unsafe.Pointer(pWriter)).FnEmpty++ } -func fts5DlidxExtractFirstRowid(tls *libc.TLS, pBuf uintptr) I64 { /* sqlite3.c:228627:12: */ +func fts5DlidxExtractFirstRowid(tls *libc.TLS, pBuf uintptr) I64 { /* sqlite3.c:228684:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -199176,7 +199226,7 @@ func fts5DlidxExtractFirstRowid(tls *libc.TLS, pBuf uintptr) I64 { /* sqlite3.c: // Rowid iRowid has just been appended to the current leaf page. It is the // first on the page. This function appends an appropriate entry to the current // doclist-index. -func fts5WriteDlidxAppend(tls *libc.TLS, p uintptr, pWriter uintptr, iRowid I64) { /* sqlite3.c:228641:13: */ +func fts5WriteDlidxAppend(tls *libc.TLS, p uintptr, pWriter uintptr, iRowid I64) { /* sqlite3.c:228698:13: */ var i int32 var bDone int32 = 0 @@ -199236,7 +199286,7 @@ func fts5WriteDlidxAppend(tls *libc.TLS, p uintptr, pWriter uintptr, iRowid I64) } } -func fts5WriteFlushLeaf(tls *libc.TLS, p uintptr, pWriter uintptr) { /* sqlite3.c:228701:13: */ +func fts5WriteFlushLeaf(tls *libc.TLS, p uintptr, pWriter uintptr) { /* sqlite3.c:228758:13: */ var pPage uintptr = pWriter + 8 var iRowid I64 @@ -199272,14 +199322,14 @@ func fts5WriteFlushLeaf(tls *libc.TLS, p uintptr, pWriter uintptr) { /* sqlite3. (*Fts5SegWriter)(unsafe.Pointer(pWriter)).FbFirstRowidInPage = U8(1) } -var zero = [4]U8{U8(0x00), U8(0x00), U8(0x00), U8(0x00)} /* sqlite3.c:228702:19 */ +var zero = [4]U8{U8(0x00), U8(0x00), U8(0x00), U8(0x00)} /* sqlite3.c:228759:19 */ // Append term pTerm/nTerm to the segment being written by the writer passed // as the second argument. // // If an error occurs, set the Fts5Index.rc error code. If an error has // already occurred, this function is a no-op. -func fts5WriteAppendTerm(tls *libc.TLS, p uintptr, pWriter uintptr, nTerm int32, pTerm uintptr) { /* sqlite3.c:228747:13: */ +func fts5WriteAppendTerm(tls *libc.TLS, p uintptr, pWriter uintptr, nTerm int32, pTerm uintptr) { /* sqlite3.c:228804:13: */ var nPrefix int32 // Bytes of prefix compression for term var pPage uintptr = pWriter + 8 var pPgidx uintptr = pWriter + 8 + 24 @@ -199355,7 +199405,7 @@ func fts5WriteAppendTerm(tls *libc.TLS, p uintptr, pWriter uintptr, nTerm int32, } // Append a rowid and position-list size field to the writers output. -func fts5WriteAppendRowid(tls *libc.TLS, p uintptr, pWriter uintptr, iRowid I64) { /* sqlite3.c:228828:13: */ +func fts5WriteAppendRowid(tls *libc.TLS, p uintptr, pWriter uintptr, iRowid I64) { /* sqlite3.c:228885:13: */ if (*Fts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK { var pPage uintptr = pWriter + 8 @@ -199384,7 +199434,7 @@ func fts5WriteAppendRowid(tls *libc.TLS, p uintptr, pWriter uintptr, iRowid I64) } } -func fts5WriteAppendPoslistData(tls *libc.TLS, p uintptr, pWriter uintptr, aData uintptr, nData int32) { /* sqlite3.c:228861:13: */ +func fts5WriteAppendPoslistData(tls *libc.TLS, p uintptr, pWriter uintptr, aData uintptr, nData int32) { /* sqlite3.c:228918:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -199413,7 +199463,7 @@ func fts5WriteAppendPoslistData(tls *libc.TLS, p uintptr, pWriter uintptr, aData // Flush any data cached by the writer object to the database. Free any // allocations associated with the writer. -func fts5WriteFinish(tls *libc.TLS, p uintptr, pWriter uintptr, pnLeaf uintptr) { /* sqlite3.c:228895:13: */ +func fts5WriteFinish(tls *libc.TLS, p uintptr, pWriter uintptr, pnLeaf uintptr) { /* sqlite3.c:228952:13: */ var i int32 var pLeaf uintptr = pWriter + 8 if (*Fts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK { @@ -199437,7 +199487,7 @@ func fts5WriteFinish(tls *libc.TLS, p uintptr, pWriter uintptr, pnLeaf uintptr) Xsqlite3_free(tls, (*Fts5SegWriter)(unsafe.Pointer(pWriter)).FaDlidx) } -func fts5WriteInit(tls *libc.TLS, p uintptr, pWriter uintptr, iSegid int32) { /* sqlite3.c:228923:13: */ +func fts5WriteInit(tls *libc.TLS, p uintptr, pWriter uintptr, iSegid int32) { /* sqlite3.c:228980:13: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -199477,7 +199527,7 @@ func fts5WriteInit(tls *libc.TLS, p uintptr, pWriter uintptr, iSegid int32) { /* // Iterator pIter was used to iterate through the input segments of on an // incremental merge operation. This function is called if the incremental // merge step has finished but the input has not been completely exhausted. -func fts5TrimSegments(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:228970:13: */ +func fts5TrimSegments(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:229027:13: */ bp := tls.Alloc(20) defer tls.Free(20) @@ -199546,13 +199596,13 @@ func fts5TrimSegments(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:22 sqlite3Fts5BufferFree(tls, bp) } -func fts5MergeChunkCallback(tls *libc.TLS, p uintptr, pCtx uintptr, pChunk uintptr, nChunk int32) { /* sqlite3.c:229036:13: */ +func fts5MergeChunkCallback(tls *libc.TLS, p uintptr, pCtx uintptr, pChunk uintptr, nChunk int32) { /* sqlite3.c:229093:13: */ var pWriter uintptr = pCtx fts5WriteAppendPoslistData(tls, p, pWriter, pChunk, nChunk) } // -func fts5IndexMergeLevel(tls *libc.TLS, p uintptr, ppStruct uintptr, iLvl int32, pnRem uintptr) { /* sqlite3.c:229048:13: */ +func fts5IndexMergeLevel(tls *libc.TLS, p uintptr, ppStruct uintptr, iLvl int32, pnRem uintptr) { /* sqlite3.c:229105:13: */ bp := tls.Alloc(148) defer tls.Free(148) @@ -199711,7 +199761,7 @@ func fts5IndexMergeLevel(tls *libc.TLS, p uintptr, ppStruct uintptr, iLvl int32, // Do up to nPg pages of automerge work on the index. // // Return true if any changes were actually made, or false otherwise. -func fts5IndexMerge(tls *libc.TLS, p uintptr, ppStruct uintptr, nPg int32, nMin int32) int32 { /* sqlite3.c:229198:12: */ +func fts5IndexMerge(tls *libc.TLS, p uintptr, ppStruct uintptr, nPg int32, nMin int32) int32 { /* sqlite3.c:229255:12: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -199761,7 +199811,7 @@ func fts5IndexMerge(tls *libc.TLS, p uintptr, ppStruct uintptr, nPg int32, nMin // // If an error occurs, set the Fts5Index.rc error code. If an error has // already occurred, this function is a no-op. -func fts5IndexAutomerge(tls *libc.TLS, p uintptr, ppStruct uintptr, nLeaf int32) { /* sqlite3.c:229257:13: */ +func fts5IndexAutomerge(tls *libc.TLS, p uintptr, ppStruct uintptr, nLeaf int32) { /* sqlite3.c:229314:13: */ if (*Fts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK && (*Fts5Config)(unsafe.Pointer((*Fts5Index)(unsafe.Pointer(p)).FpConfig)).FnAutomerge > 0 && *(*uintptr)(unsafe.Pointer(ppStruct)) != uintptr(0) { var pStruct uintptr = *(*uintptr)(unsafe.Pointer(ppStruct)) var nWrite U64 // Initial value of write-counter @@ -199778,7 +199828,7 @@ func fts5IndexAutomerge(tls *libc.TLS, p uintptr, ppStruct uintptr, nLeaf int32) } } -func fts5IndexCrisismerge(tls *libc.TLS, p uintptr, ppStruct uintptr) { /* sqlite3.c:229278:13: */ +func fts5IndexCrisismerge(tls *libc.TLS, p uintptr, ppStruct uintptr) { /* sqlite3.c:229335:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -199795,7 +199845,7 @@ func fts5IndexCrisismerge(tls *libc.TLS, p uintptr, ppStruct uintptr) { /* sqlit *(*uintptr)(unsafe.Pointer(ppStruct)) = *(*uintptr)(unsafe.Pointer(bp /* pStruct */)) } -func fts5IndexReturn(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:229296:12: */ +func fts5IndexReturn(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:229353:12: */ var rc int32 = (*Fts5Index)(unsafe.Pointer(p)).Frc (*Fts5Index)(unsafe.Pointer(p)).Frc = SQLITE_OK return rc @@ -199804,14 +199854,14 @@ func fts5IndexReturn(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:229296:12: * type Fts5FlushCtx1 = struct { FpIdx uintptr Fwriter Fts5SegWriter -} /* sqlite3.c:229302:9 */ +} /* sqlite3.c:229359:9 */ -type Fts5FlushCtx = Fts5FlushCtx1 /* sqlite3.c:229302:29 */ +type Fts5FlushCtx = Fts5FlushCtx1 /* sqlite3.c:229359:29 */ // Buffer aBuf[] contains a list of varints, all small enough to fit // in a 32-bit integer. Return the size of the largest prefix of this // list nMax bytes or less in size. -func fts5PoslistPrefix(tls *libc.TLS, aBuf uintptr, nMax int32) int32 { /* sqlite3.c:229313:12: */ +func fts5PoslistPrefix(tls *libc.TLS, aBuf uintptr, nMax int32) int32 { /* sqlite3.c:229370:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -199836,7 +199886,7 @@ func fts5PoslistPrefix(tls *libc.TLS, aBuf uintptr, nMax int32) int32 { /* sqlit // // If an error occurs, set the Fts5Index.rc error code. If an error has // already occurred, this function is a no-op. -func fts5FlushOneHash(tls *libc.TLS, p uintptr) { /* sqlite3.c:229334:13: */ +func fts5FlushOneHash(tls *libc.TLS, p uintptr) { /* sqlite3.c:229391:13: */ bp := tls.Alloc(176) defer tls.Free(176) @@ -200014,7 +200064,7 @@ func fts5FlushOneHash(tls *libc.TLS, p uintptr) { /* sqlite3.c:229334:13: */ } // Flush any data stored in the in-memory hash tables to the database. -func fts5IndexFlush(tls *libc.TLS, p uintptr) { /* sqlite3.c:229488:13: */ +func fts5IndexFlush(tls *libc.TLS, p uintptr) { /* sqlite3.c:229545:13: */ // Unless it is empty, flush the hash table to disk if (*Fts5Index)(unsafe.Pointer(p)).FnPendingData != 0 { @@ -200023,7 +200073,7 @@ func fts5IndexFlush(tls *libc.TLS, p uintptr) { /* sqlite3.c:229488:13: */ } } -func fts5IndexOptimizeStruct(tls *libc.TLS, p uintptr, pStruct uintptr) uintptr { /* sqlite3.c:229497:22: */ +func fts5IndexOptimizeStruct(tls *libc.TLS, p uintptr, pStruct uintptr) uintptr { /* sqlite3.c:229554:22: */ var pNew uintptr = uintptr(0) var nByte Sqlite3_int64 = Sqlite3_int64(unsafe.Sizeof(Fts5Structure{})) var nSeg int32 = (*Fts5Structure)(unsafe.Pointer(pStruct)).FnSegment @@ -200084,7 +200134,7 @@ func fts5IndexOptimizeStruct(tls *libc.TLS, p uintptr, pStruct uintptr) uintptr return pNew } -func sqlite3Fts5IndexOptimize(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:229559:12: */ +func sqlite3Fts5IndexOptimize(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:229616:12: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -200118,7 +200168,7 @@ func sqlite3Fts5IndexOptimize(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:229 // This is called to implement the special "VALUES('merge', $nMerge)" // INSERT command. -func sqlite3Fts5IndexMerge(tls *libc.TLS, p uintptr, nMerge int32) int32 { /* sqlite3.c:229593:12: */ +func sqlite3Fts5IndexMerge(tls *libc.TLS, p uintptr, nMerge int32) int32 { /* sqlite3.c:229650:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -200143,12 +200193,12 @@ func sqlite3Fts5IndexMerge(tls *libc.TLS, p uintptr, nMerge int32) int32 { /* sq return fts5IndexReturn(tls, p) } -func fts5AppendRowid(tls *libc.TLS, p uintptr, iDelta I64, pUnused uintptr, pBuf uintptr) { /* sqlite3.c:229615:13: */ +func fts5AppendRowid(tls *libc.TLS, p uintptr, iDelta I64, pUnused uintptr, pBuf uintptr) { /* sqlite3.c:229672:13: */ _ = pUnused sqlite3Fts5BufferAppendVarint(tls, p+52, pBuf, iDelta) } -func fts5AppendPoslist(tls *libc.TLS, p uintptr, iDelta I64, pMulti uintptr, pBuf uintptr) { /* sqlite3.c:229625:13: */ +func fts5AppendPoslist(tls *libc.TLS, p uintptr, iDelta I64, pMulti uintptr, pBuf uintptr) { /* sqlite3.c:229682:13: */ var nData int32 = (*Fts5Iter)(unsafe.Pointer(pMulti)).Fbase.FnData var nByte int32 = nData + 9 + 9 + FTS5_DATA_ZERO_PADDING @@ -200175,7 +200225,7 @@ func fts5AppendPoslist(tls *libc.TLS, p uintptr, iDelta I64, pMulti uintptr, pBu } } -func fts5DoclistIterNext(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:229643:13: */ +func fts5DoclistIterNext(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:229700:13: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -200207,7 +200257,7 @@ func fts5DoclistIterNext(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:229643:13: } } -func fts5DoclistIterInit(tls *libc.TLS, pBuf uintptr, pIter uintptr) { /* sqlite3.c:229672:13: */ +func fts5DoclistIterInit(tls *libc.TLS, pBuf uintptr, pIter uintptr) { /* sqlite3.c:229729:13: */ libc.X__builtin___memset_chk(tls, pIter, 0, uint64(unsafe.Sizeof(Fts5DoclistIter{})), libc.X__builtin_object_size(tls, pIter, 0)) if (*Fts5Buffer)(unsafe.Pointer(pBuf)).Fn > 0 { (*Fts5DoclistIter)(unsafe.Pointer(pIter)).FaPoslist = (*Fts5Buffer)(unsafe.Pointer(pBuf)).Fp @@ -200217,13 +200267,13 @@ func fts5DoclistIterInit(tls *libc.TLS, pBuf uintptr, pIter uintptr) { /* sqlite } // Swap the contents of buffer *p1 with that of *p2. -func fts5BufferSwap(tls *libc.TLS, p1 uintptr, p2 uintptr) { /* sqlite3.c:229711:13: */ +func fts5BufferSwap(tls *libc.TLS, p1 uintptr, p2 uintptr) { /* sqlite3.c:229768:13: */ var tmp = *(*Fts5Buffer)(unsafe.Pointer(p1)) *(*Fts5Buffer)(unsafe.Pointer(p1)) = *(*Fts5Buffer)(unsafe.Pointer(p2)) *(*Fts5Buffer)(unsafe.Pointer(p2)) = tmp } -func fts5NextRowid(tls *libc.TLS, pBuf uintptr, piOff uintptr, piRowid uintptr) { /* sqlite3.c:229717:13: */ +func fts5NextRowid(tls *libc.TLS, pBuf uintptr, piOff uintptr, piRowid uintptr) { /* sqlite3.c:229774:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -200240,7 +200290,7 @@ func fts5NextRowid(tls *libc.TLS, pBuf uintptr, piOff uintptr, piRowid uintptr) // This is the equivalent of fts5MergePrefixLists() for detail=none mode. // In this case the buffers consist of a delta-encoded list of rowids only. -func fts5MergeRowidLists(tls *libc.TLS, p uintptr, p1 uintptr, nBuf int32, aBuf uintptr) { /* sqlite3.c:229732:13: */ +func fts5MergeRowidLists(tls *libc.TLS, p uintptr, p1 uintptr, nBuf int32, aBuf uintptr) { /* sqlite3.c:229789:13: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -200296,11 +200346,11 @@ type PrefixMerger1 = struct { F__ccgo_pad1 [4]byte FaPos uintptr FpNext uintptr -} /* sqlite3.c:229775:9 */ +} /* sqlite3.c:229832:9 */ -type PrefixMerger = PrefixMerger1 /* sqlite3.c:229775:29 */ +type PrefixMerger = PrefixMerger1 /* sqlite3.c:229832:29 */ -func fts5PrefixMergerInsertByRowid(tls *libc.TLS, ppHead uintptr, p uintptr) { /* sqlite3.c:229784:13: */ +func fts5PrefixMergerInsertByRowid(tls *libc.TLS, ppHead uintptr, p uintptr) { /* sqlite3.c:229841:13: */ if (*PrefixMerger)(unsafe.Pointer(p)).Fiter.FaPoslist != 0 { var pp uintptr = ppHead for *(*uintptr)(unsafe.Pointer(pp)) != 0 && (*PrefixMerger)(unsafe.Pointer(p)).Fiter.FiRowid > (*PrefixMerger)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pp)))).Fiter.FiRowid { @@ -200311,7 +200361,7 @@ func fts5PrefixMergerInsertByRowid(tls *libc.TLS, ppHead uintptr, p uintptr) { / } } -func fts5PrefixMergerInsertByPosition(tls *libc.TLS, ppHead uintptr, p uintptr) { /* sqlite3.c:229798:13: */ +func fts5PrefixMergerInsertByPosition(tls *libc.TLS, ppHead uintptr, p uintptr) { /* sqlite3.c:229855:13: */ if (*PrefixMerger)(unsafe.Pointer(p)).FiPos >= int64(0) { var pp uintptr = ppHead for *(*uintptr)(unsafe.Pointer(pp)) != 0 && (*PrefixMerger)(unsafe.Pointer(p)).FiPos > (*PrefixMerger)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pp)))).FiPos { @@ -200324,7 +200374,7 @@ func fts5PrefixMergerInsertByPosition(tls *libc.TLS, ppHead uintptr, p uintptr) // Array aBuf[] contains nBuf doclists. These are all merged in with the // doclist in buffer p1. -func fts5MergePrefixLists(tls *libc.TLS, p uintptr, p1 uintptr, nBuf int32, aBuf uintptr) { /* sqlite3.c:229817:13: */ +func fts5MergePrefixLists(tls *libc.TLS, p uintptr, p1 uintptr, nBuf int32, aBuf uintptr) { /* sqlite3.c:229874:13: */ bp := tls.Alloc(1072) defer tls.Free(1072) @@ -200489,7 +200539,7 @@ func fts5MergePrefixLists(tls *libc.TLS, p uintptr, p1 uintptr, nBuf int32, aBuf *(*Fts5Buffer)(unsafe.Pointer(p1)) = *(*Fts5Buffer)(unsafe.Pointer(bp + 1032 /* out */)) } -func fts5SetupPrefixIter(tls *libc.TLS, p uintptr, bDesc int32, iIdx int32, pToken uintptr, nToken int32, pColset uintptr, ppIter uintptr) { /* sqlite3.c:229961:13: */ +func fts5SetupPrefixIter(tls *libc.TLS, p uintptr, bDesc int32, iIdx int32, pToken uintptr, nToken int32, pColset uintptr, ppIter uintptr) { /* sqlite3.c:230018:13: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -200636,7 +200686,7 @@ func fts5SetupPrefixIter(tls *libc.TLS, p uintptr, bDesc int32, iIdx int32, pTok // Indicate that all subsequent calls to sqlite3Fts5IndexWrite() pertain // to the document with rowid iRowid. -func sqlite3Fts5IndexBeginWrite(tls *libc.TLS, p uintptr, bDelete int32, iRowid I64) int32 { /* sqlite3.c:230098:12: */ +func sqlite3Fts5IndexBeginWrite(tls *libc.TLS, p uintptr, bDelete int32, iRowid I64) int32 { /* sqlite3.c:230155:12: */ // Allocate the hash table if it has not already been allocated if (*Fts5Index)(unsafe.Pointer(p)).FpHash == uintptr(0) { @@ -200656,7 +200706,7 @@ func sqlite3Fts5IndexBeginWrite(tls *libc.TLS, p uintptr, bDelete int32, iRowid } // Commit data to disk. -func sqlite3Fts5IndexSync(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:230122:12: */ +func sqlite3Fts5IndexSync(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:230179:12: */ fts5IndexFlush(tls, p) sqlite3Fts5IndexCloseReader(tls, p) @@ -200667,7 +200717,7 @@ func sqlite3Fts5IndexSync(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:230122: // to the database. Additionally, assume that the contents of the %_data // table may have changed on disk. So any in-memory caches of %_data // records must be invalidated. -func sqlite3Fts5IndexRollback(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:230135:12: */ +func sqlite3Fts5IndexRollback(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:230192:12: */ sqlite3Fts5IndexCloseReader(tls, p) fts5IndexDiscardData(tls, p) fts5StructureInvalidate(tls, p) @@ -200678,7 +200728,7 @@ func sqlite3Fts5IndexRollback(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:230 // The %_data table is completely empty when this function is called. This // function populates it with the initial structure objects for each index, // and the initial version of the "averages" record (a zero-byte blob). -func sqlite3Fts5IndexReinit(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:230148:12: */ +func sqlite3Fts5IndexReinit(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:230205:12: */ bp := tls.Alloc(40) defer tls.Free(40) @@ -200697,7 +200747,7 @@ func sqlite3Fts5IndexReinit(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:23014 // // If successful, set *pp to point to the new object and return SQLITE_OK. // Otherwise, set *pp to NULL and return an SQLite error code. -func sqlite3Fts5IndexOpen(tls *libc.TLS, pConfig uintptr, bCreate int32, pp uintptr, pzErr uintptr) int32 { /* sqlite3.c:230165:12: */ +func sqlite3Fts5IndexOpen(tls *libc.TLS, pConfig uintptr, bCreate int32, pp uintptr, pzErr uintptr) int32 { /* sqlite3.c:230222:12: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -200731,7 +200781,7 @@ func sqlite3Fts5IndexOpen(tls *libc.TLS, pConfig uintptr, bCreate int32, pp uint } // Close a handle opened by an earlier call to sqlite3Fts5IndexOpen(). -func sqlite3Fts5IndexClose(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:230206:12: */ +func sqlite3Fts5IndexClose(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:230263:12: */ var rc int32 = SQLITE_OK if p != 0 { @@ -200752,7 +200802,7 @@ func sqlite3Fts5IndexClose(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:230206 // Argument p points to a buffer containing utf-8 text that is n bytes in // size. Return the number of bytes in the nChar character prefix of the // buffer, or 0 if there are less than nChar characters in total. -func sqlite3Fts5IndexCharlenToBytelen(tls *libc.TLS, p uintptr, nByte int32, nChar int32) int32 { /* sqlite3.c:230229:12: */ +func sqlite3Fts5IndexCharlenToBytelen(tls *libc.TLS, p uintptr, nByte int32, nChar int32) int32 { /* sqlite3.c:230286:12: */ var n int32 = 0 var i int32 for i = 0; i < nChar; i++ { @@ -200779,7 +200829,7 @@ func sqlite3Fts5IndexCharlenToBytelen(tls *libc.TLS, p uintptr, nByte int32, nCh // pIn is a UTF-8 encoded string, nIn bytes in size. Return the number of // unicode characters in the string. -func fts5IndexCharlen(tls *libc.TLS, pIn uintptr, nIn int32) int32 { /* sqlite3.c:230256:12: */ +func fts5IndexCharlen(tls *libc.TLS, pIn uintptr, nIn int32) int32 { /* sqlite3.c:230313:12: */ var nChar int32 = 0 var i int32 = 0 for i < nIn { @@ -200801,7 +200851,7 @@ func fts5IndexCharlen(tls *libc.TLS, pIn uintptr, nIn int32) int32 { /* sqlite3. // If the operation is a delete, it must be called (at least) once for each // unique token in the document with an iCol value less than zero. The iPos // argument is ignored for a delete. -func sqlite3Fts5IndexWrite(tls *libc.TLS, p uintptr, iCol int32, iPos int32, pToken uintptr, nToken int32) int32 { /* sqlite3.c:230278:12: */ +func sqlite3Fts5IndexWrite(tls *libc.TLS, p uintptr, iCol int32, iPos int32, pToken uintptr, nToken int32) int32 { /* sqlite3.c:230335:12: */ var i int32 // Used to iterate through indexes var rc int32 = SQLITE_OK // Return code var pConfig uintptr = (*Fts5Index)(unsafe.Pointer(p)).FpConfig @@ -200825,7 +200875,7 @@ func sqlite3Fts5IndexWrite(tls *libc.TLS, p uintptr, iCol int32, iPos int32, pTo // Open a new iterator to iterate though all rowid that match the // specified token or token prefix. -func sqlite3Fts5IndexQuery(tls *libc.TLS, p uintptr, pToken uintptr, nToken int32, flags int32, pColset uintptr, ppIter uintptr) int32 { /* sqlite3.c:230314:12: */ +func sqlite3Fts5IndexQuery(tls *libc.TLS, p uintptr, pToken uintptr, nToken int32, flags int32, pColset uintptr, ppIter uintptr) int32 { /* sqlite3.c:230371:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -200908,7 +200958,7 @@ func sqlite3Fts5IndexQuery(tls *libc.TLS, p uintptr, pToken uintptr, nToken int3 // Return true if the iterator passed as the only argument is at EOF. // Move to the next matching rowid. -func sqlite3Fts5IterNext(tls *libc.TLS, pIndexIter uintptr) int32 { /* sqlite3.c:230402:12: */ +func sqlite3Fts5IterNext(tls *libc.TLS, pIndexIter uintptr) int32 { /* sqlite3.c:230459:12: */ var pIter uintptr = pIndexIter fts5MultiIterNext(tls, (*Fts5Iter)(unsafe.Pointer(pIter)).FpIndex, pIter, 0, int64(0)) @@ -200916,7 +200966,7 @@ func sqlite3Fts5IterNext(tls *libc.TLS, pIndexIter uintptr) int32 { /* sqlite3.c } // Move to the next matching term/rowid. Used by the fts5vocab module. -func sqlite3Fts5IterNextScan(tls *libc.TLS, pIndexIter uintptr) int32 { /* sqlite3.c:230412:12: */ +func sqlite3Fts5IterNextScan(tls *libc.TLS, pIndexIter uintptr) int32 { /* sqlite3.c:230469:12: */ var pIter uintptr = pIndexIter var p uintptr = (*Fts5Iter)(unsafe.Pointer(pIter)).FpIndex @@ -200936,14 +200986,14 @@ func sqlite3Fts5IterNextScan(tls *libc.TLS, pIndexIter uintptr) int32 { /* sqlit // Move to the next matching rowid that occurs at or after iMatch. The // definition of "at or after" depends on whether this iterator iterates // in ascending or descending rowid order. -func sqlite3Fts5IterNextFrom(tls *libc.TLS, pIndexIter uintptr, iMatch I64) int32 { /* sqlite3.c:230436:12: */ +func sqlite3Fts5IterNextFrom(tls *libc.TLS, pIndexIter uintptr, iMatch I64) int32 { /* sqlite3.c:230493:12: */ var pIter uintptr = pIndexIter fts5MultiIterNextFrom(tls, (*Fts5Iter)(unsafe.Pointer(pIter)).FpIndex, pIter, iMatch) return fts5IndexReturn(tls, (*Fts5Iter)(unsafe.Pointer(pIter)).FpIndex) } // Return the current term. -func sqlite3Fts5IterTerm(tls *libc.TLS, pIndexIter uintptr, pn uintptr) uintptr { /* sqlite3.c:230445:19: */ +func sqlite3Fts5IterTerm(tls *libc.TLS, pIndexIter uintptr, pn uintptr) uintptr { /* sqlite3.c:230502:19: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -200961,7 +201011,7 @@ func sqlite3Fts5IterTerm(tls *libc.TLS, pIndexIter uintptr, pn uintptr) uintptr } // Close an iterator opened by an earlier call to sqlite3Fts5IndexQuery(). -func sqlite3Fts5IterClose(tls *libc.TLS, pIndexIter uintptr) { /* sqlite3.c:230456:13: */ +func sqlite3Fts5IterClose(tls *libc.TLS, pIndexIter uintptr) { /* sqlite3.c:230513:13: */ if pIndexIter != 0 { var pIter uintptr = pIndexIter var pIndex uintptr = (*Fts5Iter)(unsafe.Pointer(pIter)).FpIndex @@ -200974,7 +201024,7 @@ func sqlite3Fts5IterClose(tls *libc.TLS, pIndexIter uintptr) { /* sqlite3.c:2304 // // Parameter anSize must point to an array of size nCol, where nCol is // the number of user defined columns in the FTS table. -func sqlite3Fts5IndexGetAverages(tls *libc.TLS, p uintptr, pnRow uintptr, anSize uintptr) int32 { /* sqlite3.c:230471:12: */ +func sqlite3Fts5IndexGetAverages(tls *libc.TLS, p uintptr, pnRow uintptr, anSize uintptr) int32 { /* sqlite3.c:230528:12: */ var nCol int32 = (*Fts5Config)(unsafe.Pointer((*Fts5Index)(unsafe.Pointer(p)).FpConfig)).FnCol var pData uintptr @@ -200996,7 +201046,7 @@ func sqlite3Fts5IndexGetAverages(tls *libc.TLS, p uintptr, pnRow uintptr, anSize // Replace the current "averages" record with the contents of the buffer // supplied as the second argument. -func sqlite3Fts5IndexSetAverages(tls *libc.TLS, p uintptr, pData uintptr, nData int32) int32 { /* sqlite3.c:230495:12: */ +func sqlite3Fts5IndexSetAverages(tls *libc.TLS, p uintptr, pData uintptr, nData int32) int32 { /* sqlite3.c:230552:12: */ fts5DataWrite(tls, p, int64(FTS5_AVERAGES_ROWID), pData, nData) return fts5IndexReturn(tls, p) @@ -201004,7 +201054,7 @@ func sqlite3Fts5IndexSetAverages(tls *libc.TLS, p uintptr, pData uintptr, nData // Return the total number of blocks this module has read from the %_data // table since it was created. -func sqlite3Fts5IndexReads(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:230505:12: */ +func sqlite3Fts5IndexReads(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:230562:12: */ return (*Fts5Index)(unsafe.Pointer(p)).FnRead } @@ -201013,7 +201063,7 @@ func sqlite3Fts5IndexReads(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:230505 // // Return SQLITE_OK if successful, or an SQLite error code if an error // occurs. -func sqlite3Fts5IndexSetCookie(tls *libc.TLS, p uintptr, iNew int32) int32 { /* sqlite3.c:230516:12: */ +func sqlite3Fts5IndexSetCookie(tls *libc.TLS, p uintptr, iNew int32) int32 { /* sqlite3.c:230573:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -201035,7 +201085,7 @@ func sqlite3Fts5IndexSetCookie(tls *libc.TLS, p uintptr, iNew int32) int32 { /* return rc } -func sqlite3Fts5IndexLoadConfig(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:230536:12: */ +func sqlite3Fts5IndexLoadConfig(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:230593:12: */ var pStruct uintptr pStruct = fts5StructureRead(tls, p) fts5StructureRelease(tls, pStruct) @@ -201049,7 +201099,7 @@ func sqlite3Fts5IndexLoadConfig(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:2 // functionality. // Return a simple checksum value based on the arguments. -func sqlite3Fts5IndexEntryCksum(tls *libc.TLS, iRowid I64, iCol int32, iPos int32, iIdx int32, pTerm uintptr, nTerm int32) U64 { /* sqlite3.c:230553:12: */ +func sqlite3Fts5IndexEntryCksum(tls *libc.TLS, iRowid I64, iCol int32, iPos int32, iIdx int32, pTerm uintptr, nTerm int32) U64 { /* sqlite3.c:230610:12: */ var i int32 var ret U64 = U64(iRowid) ret = ret + (ret<<3 + U64(iCol)) @@ -201069,7 +201119,7 @@ func sqlite3Fts5IndexEntryCksum(tls *libc.TLS, iRowid I64, iCol int32, iPos int3 // contain zero terms. // 2) All leaves of pSeg between iNoRowid and iLast (inclusive) exist and // contain zero rowids. -func fts5IndexIntegrityCheckEmpty(tls *libc.TLS, p uintptr, pSeg uintptr, iFirst int32, iNoRowid int32, iLast int32) { /* sqlite3.c:230771:13: */ +func fts5IndexIntegrityCheckEmpty(tls *libc.TLS, p uintptr, pSeg uintptr, iFirst int32, iNoRowid int32, iLast int32) { /* sqlite3.c:230828:13: */ var i int32 // Now check that the iter.nEmpty leaves following the current leaf @@ -201088,7 +201138,7 @@ func fts5IndexIntegrityCheckEmpty(tls *libc.TLS, p uintptr, pSeg uintptr, iFirst } } -func fts5IntegrityCheckPgidx(tls *libc.TLS, p uintptr, pLeaf uintptr) { /* sqlite3.c:230792:13: */ +func fts5IntegrityCheckPgidx(tls *libc.TLS, p uintptr, pLeaf uintptr) { /* sqlite3.c:230849:13: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -201147,7 +201197,7 @@ func fts5IntegrityCheckPgidx(tls *libc.TLS, p uintptr, pLeaf uintptr) { /* sqlit sqlite3Fts5BufferFree(tls, bp+32) } -func fts5IndexIntegrityCheckSegment(tls *libc.TLS, p uintptr, pSeg uintptr) { /* sqlite3.c:230842:13: */ +func fts5IndexIntegrityCheckSegment(tls *libc.TLS, p uintptr, pSeg uintptr) { /* sqlite3.c:230899:13: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -201316,7 +201366,7 @@ func fts5IndexIntegrityCheckSegment(tls *libc.TLS, p uintptr, pSeg uintptr) { /* // checksum does not match. Return SQLITE_OK if all checks pass without // error, or some other SQLite error code if another error (e.g. OOM) // occurs. -func sqlite3Fts5IndexIntegrityCheck(tls *libc.TLS, p uintptr, cksum U64, bUseCksum int32) int32 { /* sqlite3.c:230987:12: */ +func sqlite3Fts5IndexIntegrityCheck(tls *libc.TLS, p uintptr, cksum U64, bUseCksum int32) int32 { /* sqlite3.c:231044:12: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -201406,13 +201456,13 @@ func sqlite3Fts5IndexIntegrityCheck(tls *libc.TLS, p uintptr, cksum U64, bUseCks // // If successful, SQLITE_OK is returned. If an error occurs, some other // SQLite error code is returned instead. -func sqlite3Fts5IndexInit(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:231550:12: */ +func sqlite3Fts5IndexInit(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:231607:12: */ return SQLITE_OK _ = db return int32(0) } -func sqlite3Fts5IndexReset(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:231576:12: */ +func sqlite3Fts5IndexReset(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:231633:12: */ if fts5IndexDataVersion(tls, p) != (*Fts5Index)(unsafe.Pointer(p)).FiStructVersion { fts5StructureInvalidate(tls, p) @@ -201445,7 +201495,7 @@ type Fts5Auxdata1 = struct { FpPtr uintptr FxDelete uintptr FpNext uintptr -} /* sqlite3.c:216813:9 */ +} /* sqlite3.c:216870:9 */ // 2014 Jun 09 // @@ -201467,7 +201517,7 @@ type Fts5Auxdata1 = struct { // assert() conditions in the fts5 code are activated - conditions that are // only true if it is guaranteed that the fts5 database is not corrupt. -type Fts5Auxdata = Fts5Auxdata1 /* sqlite3.c:231613:28 */ +type Fts5Auxdata = Fts5Auxdata1 /* sqlite3.c:231670:28 */ type Fts5Auxiliary1 = struct { FpGlobal uintptr FzFunc uintptr @@ -201475,9 +201525,9 @@ type Fts5Auxiliary1 = struct { FxFunc Fts5_extension_function FxDestroy uintptr FpNext uintptr -} /* sqlite3.c:216813:9 */ +} /* sqlite3.c:216870:9 */ -type Fts5Auxiliary = Fts5Auxiliary1 /* sqlite3.c:231614:30 */ +type Fts5Auxiliary = Fts5Auxiliary1 /* sqlite3.c:231671:30 */ type Fts5Cursor1 = struct { Fbase Sqlite3_vtab_cursor FpNext uintptr @@ -201506,35 +201556,35 @@ type Fts5Cursor1 = struct { FnInstAlloc int32 FnInstCount int32 FaInst uintptr -} /* sqlite3.c:216813:9 */ +} /* sqlite3.c:216870:9 */ -type Fts5Cursor = Fts5Cursor1 /* sqlite3.c:231615:27 */ +type Fts5Cursor = Fts5Cursor1 /* sqlite3.c:231672:27 */ type Fts5FullTable1 = struct { Fp Fts5Table FpStorage uintptr FpGlobal uintptr FpSortCsr uintptr -} /* sqlite3.c:231616:9 */ +} /* sqlite3.c:231673:9 */ -type Fts5FullTable = Fts5FullTable1 /* sqlite3.c:231616:30 */ +type Fts5FullTable = Fts5FullTable1 /* sqlite3.c:231673:30 */ type Fts5Sorter1 = struct { FpStmt uintptr FiRowid I64 FaPoslist uintptr FnIdx int32 FaIdx [1]int32 -} /* sqlite3.c:216813:9 */ +} /* sqlite3.c:216870:9 */ -type Fts5Sorter = Fts5Sorter1 /* sqlite3.c:231617:27 */ +type Fts5Sorter = Fts5Sorter1 /* sqlite3.c:231674:27 */ type Fts5TokenizerModule1 = struct { FzName uintptr FpUserData uintptr Fx Fts5_tokenizer FxDestroy uintptr FpNext uintptr -} /* sqlite3.c:216813:9 */ +} /* sqlite3.c:216870:9 */ -type Fts5TokenizerModule = Fts5TokenizerModule1 /* sqlite3.c:231618:36 */ +type Fts5TokenizerModule = Fts5TokenizerModule1 /* sqlite3.c:231675:36 */ // NOTES ON TRANSACTIONS: // @@ -201568,21 +201618,21 @@ type Fts5TokenizerModule = Fts5TokenizerModule1 /* sqlite3.c:231618:36 */ type Fts5TransactionState = struct { FeState int32 FiSavepoint int32 -} /* sqlite3.c:231651:1 */ +} /* sqlite3.c:231708:1 */ type Fts5MatchPhrase = struct { FpPoslist uintptr FnTerm int32 F__ccgo_pad1 [4]byte -} /* sqlite3.c:231708:1 */ +} /* sqlite3.c:231765:1 */ // Return true if pTab is a contentless table. -func fts5IsContentless(tls *libc.TLS, pTab uintptr) int32 { /* sqlite3.c:231892:12: */ +func fts5IsContentless(tls *libc.TLS, pTab uintptr) int32 { /* sqlite3.c:231949:12: */ return libc.Bool32((*Fts5Config)(unsafe.Pointer((*Fts5FullTable)(unsafe.Pointer(pTab)).Fp.FpConfig)).FeContent == FTS5_CONTENT_NONE) } // Delete a virtual table handle allocated by fts5InitVtab(). -func fts5FreeVtab(tls *libc.TLS, pTab uintptr) { /* sqlite3.c:231899:13: */ +func fts5FreeVtab(tls *libc.TLS, pTab uintptr) { /* sqlite3.c:231956:13: */ if pTab != 0 { sqlite3Fts5IndexClose(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).Fp.FpIndex) sqlite3Fts5StorageClose(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).FpStorage) @@ -201592,13 +201642,13 @@ func fts5FreeVtab(tls *libc.TLS, pTab uintptr) { /* sqlite3.c:231899:13: */ } // The xDisconnect() virtual table method. -func fts5DisconnectMethod(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:231911:12: */ +func fts5DisconnectMethod(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:231968:12: */ fts5FreeVtab(tls, pVtab) return SQLITE_OK } // The xDestroy() virtual table method. -func fts5DestroyMethod(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:231919:12: */ +func fts5DestroyMethod(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:231976:12: */ var pTab uintptr = pVtab var rc int32 = sqlite3Fts5DropAll(tls, (*Fts5Table)(unsafe.Pointer(pTab)).FpConfig) if rc == SQLITE_OK { @@ -201616,7 +201666,7 @@ func fts5DestroyMethod(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:231919 // argv[1] -> database name // argv[2] -> table name // argv[...] -> "column name" and other module argument fields. -func fts5InitVtab(tls *libc.TLS, bCreate int32, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVTab uintptr, pzErr uintptr) int32 { /* sqlite3.c:231939:12: */ +func fts5InitVtab(tls *libc.TLS, bCreate int32, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVTab uintptr, pzErr uintptr) int32 { /* sqlite3.c:231996:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -201674,11 +201724,11 @@ func fts5InitVtab(tls *libc.TLS, bCreate int32, db uintptr, pAux uintptr, argc i // The xConnect() and xCreate() methods for the virtual table. All the // work is done in function fts5InitVtab(). -func fts5ConnectMethod(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 { /* sqlite3.c:232005:12: */ +func fts5ConnectMethod(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 { /* sqlite3.c:232062:12: */ return fts5InitVtab(tls, 0, db, pAux, argc, argv, ppVtab, pzErr) } -func fts5CreateMethod(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 { /* sqlite3.c:232015:12: */ +func fts5CreateMethod(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 { /* sqlite3.c:232072:12: */ return fts5InitVtab(tls, 1, db, pAux, argc, argv, ppVtab, pzErr) } @@ -201687,14 +201737,14 @@ func fts5CreateMethod(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv // Set the SQLITE_INDEX_SCAN_UNIQUE flag in pIdxInfo->flags. Unless this // extension is currently being used by a version of SQLite too old to // support index-info flags. In that case this function is a no-op. -func fts5SetUniqueFlag(tls *libc.TLS, pIdxInfo uintptr) { /* sqlite3.c:232041:13: */ +func fts5SetUniqueFlag(tls *libc.TLS, pIdxInfo uintptr) { /* sqlite3.c:232098:13: */ { *(*int32)(unsafe.Pointer(pIdxInfo + 80)) |= SQLITE_INDEX_SCAN_UNIQUE } } -func fts5UsePatternMatch(tls *libc.TLS, pConfig uintptr, p uintptr) int32 { /* sqlite3.c:232052:12: */ +func fts5UsePatternMatch(tls *libc.TLS, pConfig uintptr, p uintptr) int32 { /* sqlite3.c:232109:12: */ if (*Fts5Config)(unsafe.Pointer(pConfig)).FePattern == FTS5_PATTERN_GLOB && int32((*sqlite3_index_constraint)(unsafe.Pointer(p)).Fop) == FTS5_PATTERN_GLOB { return 1 @@ -201765,7 +201815,7 @@ func fts5UsePatternMatch(tls *libc.TLS, pConfig uintptr, p uintptr) int32 { /* s // * An == rowid constraint: cost=10.0 // // Costs are not modified by the ORDER BY clause. -func fts5BestIndexMethod(tls *libc.TLS, pVTab uintptr, pInfo uintptr) int32 { /* sqlite3.c:232130:12: */ +func fts5BestIndexMethod(tls *libc.TLS, pVTab uintptr, pInfo uintptr) int32 { /* sqlite3.c:232187:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -201927,7 +201977,7 @@ func fts5BestIndexMethod(tls *libc.TLS, pVTab uintptr, pInfo uintptr) int32 { /* return SQLITE_OK } -func fts5NewTransaction(tls *libc.TLS, pTab uintptr) int32 { /* sqlite3.c:232265:12: */ +func fts5NewTransaction(tls *libc.TLS, pTab uintptr) int32 { /* sqlite3.c:232322:12: */ var pCsr uintptr for pCsr = (*Fts5Global)(unsafe.Pointer((*Fts5FullTable)(unsafe.Pointer(pTab)).FpGlobal)).FpCsr; pCsr != 0; pCsr = (*Fts5Cursor)(unsafe.Pointer(pCsr)).FpNext { if (*Fts5Cursor)(unsafe.Pointer(pCsr)).Fbase.FpVtab == pTab { @@ -201938,7 +201988,7 @@ func fts5NewTransaction(tls *libc.TLS, pTab uintptr) int32 { /* sqlite3.c:232265 } // Implementation of xOpen method. -func fts5OpenMethod(tls *libc.TLS, pVTab uintptr, ppCsr uintptr) int32 { /* sqlite3.c:232276:12: */ +func fts5OpenMethod(tls *libc.TLS, pVTab uintptr, ppCsr uintptr) int32 { /* sqlite3.c:232333:12: */ var pTab uintptr = pVTab var pConfig uintptr = (*Fts5FullTable)(unsafe.Pointer(pTab)).Fp.FpConfig var pCsr uintptr = uintptr(0) // New cursor object @@ -201964,7 +202014,7 @@ func fts5OpenMethod(tls *libc.TLS, pVTab uintptr, ppCsr uintptr) int32 { /* sqli return rc } -func fts5StmtType(tls *libc.TLS, pCsr uintptr) int32 { /* sqlite3.c:232302:12: */ +func fts5StmtType(tls *libc.TLS, pCsr uintptr) int32 { /* sqlite3.c:232359:12: */ if (*Fts5Cursor)(unsafe.Pointer(pCsr)).FePlan == FTS5_PLAN_SCAN { if (*Fts5Cursor)(unsafe.Pointer(pCsr)).FbDesc != 0 { return FTS5_STMT_SCAN_DESC @@ -201977,11 +202027,11 @@ func fts5StmtType(tls *libc.TLS, pCsr uintptr) int32 { /* sqlite3.c:232302:12: * // This function is called after the cursor passed as the only argument // is moved to point at a different row. It clears all cached data // specific to the previous row stored by the cursor object. -func fts5CsrNewrow(tls *libc.TLS, pCsr uintptr) { /* sqlite3.c:232314:13: */ +func fts5CsrNewrow(tls *libc.TLS, pCsr uintptr) { /* sqlite3.c:232371:13: */ *(*int32)(unsafe.Pointer(pCsr + 80)) |= FTS5CSR_REQUIRE_CONTENT | FTS5CSR_REQUIRE_DOCSIZE | FTS5CSR_REQUIRE_INST | FTS5CSR_REQUIRE_POSLIST } -func fts5FreeCursorComponents(tls *libc.TLS, pCsr uintptr) { /* sqlite3.c:232323:13: */ +func fts5FreeCursorComponents(tls *libc.TLS, pCsr uintptr) { /* sqlite3.c:232380:13: */ var pTab uintptr = (*Fts5Cursor)(unsafe.Pointer(pCsr)).Fbase.FpVtab var pData uintptr var pNext uintptr @@ -202024,7 +202074,7 @@ func fts5FreeCursorComponents(tls *libc.TLS, pCsr uintptr) { /* sqlite3.c:232323 // Close the cursor. For additional information see the documentation // on the xClose method of the virtual table interface. -func fts5CloseMethod(tls *libc.TLS, pCursor uintptr) int32 { /* sqlite3.c:232367:12: */ +func fts5CloseMethod(tls *libc.TLS, pCursor uintptr) int32 { /* sqlite3.c:232424:12: */ if pCursor != 0 { var pTab uintptr = (*Sqlite3_vtab_cursor)(unsafe.Pointer(pCursor)).FpVtab var pCsr uintptr = pCursor @@ -202041,7 +202091,7 @@ func fts5CloseMethod(tls *libc.TLS, pCursor uintptr) int32 { /* sqlite3.c:232367 return SQLITE_OK } -func fts5SorterNext(tls *libc.TLS, pCsr uintptr) int32 { /* sqlite3.c:232383:12: */ +func fts5SorterNext(tls *libc.TLS, pCsr uintptr) int32 { /* sqlite3.c:232440:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -202085,7 +202135,7 @@ func fts5SorterNext(tls *libc.TLS, pCsr uintptr) int32 { /* sqlite3.c:232383:12: // Set the FTS5CSR_REQUIRE_RESEEK flag on all FTS5_PLAN_MATCH cursors // open on table pTab. -func fts5TripCursors(tls *libc.TLS, pTab uintptr) { /* sqlite3.c:232426:13: */ +func fts5TripCursors(tls *libc.TLS, pTab uintptr) { /* sqlite3.c:232483:13: */ var pCsr uintptr for pCsr = (*Fts5Global)(unsafe.Pointer((*Fts5FullTable)(unsafe.Pointer(pTab)).FpGlobal)).FpCsr; pCsr != 0; pCsr = (*Fts5Cursor)(unsafe.Pointer(pCsr)).FpNext { if (*Fts5Cursor)(unsafe.Pointer(pCsr)).FePlan == FTS5_PLAN_MATCH && @@ -202105,7 +202155,7 @@ func fts5TripCursors(tls *libc.TLS, pTab uintptr) { /* sqlite3.c:232426:13: */ // // Return SQLITE_OK if successful or if no reseek was required, or an // error code if an error occurred. -func fts5CursorReseek(tls *libc.TLS, pCsr uintptr, pbSkip uintptr) int32 { /* sqlite3.c:232449:12: */ +func fts5CursorReseek(tls *libc.TLS, pCsr uintptr, pbSkip uintptr) int32 { /* sqlite3.c:232506:12: */ var rc int32 = SQLITE_OK if (*Fts5Cursor)(unsafe.Pointer(pCsr)).Fcsrflags&FTS5CSR_REQUIRE_RESEEK != 0 { @@ -202134,7 +202184,7 @@ func fts5CursorReseek(tls *libc.TLS, pCsr uintptr, pbSkip uintptr) int32 { /* sq // Return SQLITE_OK if nothing goes wrong. SQLITE_OK is returned // even if we reach end-of-file. The fts5EofMethod() will be called // subsequently to determine whether or not an EOF was hit. -func fts5NextMethod(tls *libc.TLS, pCursor uintptr) int32 { /* sqlite3.c:232481:12: */ +func fts5NextMethod(tls *libc.TLS, pCursor uintptr) int32 { /* sqlite3.c:232538:12: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -202193,7 +202243,7 @@ func fts5NextMethod(tls *libc.TLS, pCursor uintptr) int32 { /* sqlite3.c:232481: return rc } -func fts5PrepareStatement(tls *libc.TLS, ppStmt uintptr, pConfig uintptr, zFmt uintptr, va uintptr) int32 { /* sqlite3.c:232534:12: */ +func fts5PrepareStatement(tls *libc.TLS, ppStmt uintptr, pConfig uintptr, zFmt uintptr, va uintptr) int32 { /* sqlite3.c:232591:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -202221,7 +202271,7 @@ func fts5PrepareStatement(tls *libc.TLS, ppStmt uintptr, pConfig uintptr, zFmt u return rc } -func fts5CursorFirstSorted(tls *libc.TLS, pTab uintptr, pCsr uintptr, bDesc int32) int32 { /* sqlite3.c:232563:12: */ +func fts5CursorFirstSorted(tls *libc.TLS, pTab uintptr, pCsr uintptr, bDesc int32) int32 { /* sqlite3.c:232620:12: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -202288,7 +202338,7 @@ func fts5CursorFirstSorted(tls *libc.TLS, pTab uintptr, pCsr uintptr, bDesc int3 return rc } -func fts5CursorFirst(tls *libc.TLS, pTab uintptr, pCsr uintptr, bDesc int32) int32 { /* sqlite3.c:232615:12: */ +func fts5CursorFirst(tls *libc.TLS, pTab uintptr, pCsr uintptr, bDesc int32) int32 { /* sqlite3.c:232672:12: */ var rc int32 var pExpr uintptr = (*Fts5Cursor)(unsafe.Pointer(pCsr)).FpExpr rc = sqlite3Fts5ExprFirst(tls, pExpr, (*Fts5FullTable)(unsafe.Pointer(pTab)).Fp.FpIndex, (*Fts5Cursor)(unsafe.Pointer(pCsr)).FiFirstRowid, bDesc) @@ -202303,7 +202353,7 @@ func fts5CursorFirst(tls *libc.TLS, pTab uintptr, pCsr uintptr, bDesc int32) int // MATCH expression that begins with a '*' character. The remainder of // the text passed to the MATCH operator are used as the special query // parameters. -func fts5SpecialMatch(tls *libc.TLS, pTab uintptr, pCsr uintptr, zQuery uintptr) int32 { /* sqlite3.c:232632:12: */ +func fts5SpecialMatch(tls *libc.TLS, pTab uintptr, pCsr uintptr, zQuery uintptr) int32 { /* sqlite3.c:232689:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -202335,7 +202385,7 @@ func fts5SpecialMatch(tls *libc.TLS, pTab uintptr, pCsr uintptr, zQuery uintptr) // Search for an auxiliary function named zName that can be used with table // pTab. If one is found, return a pointer to the corresponding Fts5Auxiliary // structure. Otherwise, if no such function exists, return NULL. -func fts5FindAuxiliary(tls *libc.TLS, pTab uintptr, zName uintptr) uintptr { /* sqlite3.c:232667:22: */ +func fts5FindAuxiliary(tls *libc.TLS, pTab uintptr, zName uintptr) uintptr { /* sqlite3.c:232724:22: */ var pAux uintptr for pAux = (*Fts5Global)(unsafe.Pointer((*Fts5FullTable)(unsafe.Pointer(pTab)).FpGlobal)).FpAux; pAux != 0; pAux = (*Fts5Auxiliary)(unsafe.Pointer(pAux)).FpNext { @@ -202348,7 +202398,7 @@ func fts5FindAuxiliary(tls *libc.TLS, pTab uintptr, zName uintptr) uintptr { /* return uintptr(0) } -func fts5FindRankFunction(tls *libc.TLS, pCsr uintptr) int32 { /* sqlite3.c:232679:12: */ +func fts5FindRankFunction(tls *libc.TLS, pCsr uintptr) int32 { /* sqlite3.c:232736:12: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -202401,7 +202451,7 @@ func fts5FindRankFunction(tls *libc.TLS, pCsr uintptr) int32 { /* sqlite3.c:2326 return *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) } -func fts5CursorParseRank(tls *libc.TLS, pConfig uintptr, pCsr uintptr, pRank uintptr) int32 { /* sqlite3.c:232730:12: */ +func fts5CursorParseRank(tls *libc.TLS, pConfig uintptr, pCsr uintptr, pRank uintptr) int32 { /* sqlite3.c:232787:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -202438,7 +202488,7 @@ func fts5CursorParseRank(tls *libc.TLS, pConfig uintptr, pCsr uintptr, pRank uin return rc } -func fts5GetRowidLimit(tls *libc.TLS, pVal uintptr, iDefault I64) I64 { /* sqlite3.c:232767:12: */ +func fts5GetRowidLimit(tls *libc.TLS, pVal uintptr, iDefault I64) I64 { /* sqlite3.c:232824:12: */ if pVal != 0 { var eType int32 = Xsqlite3_value_numeric_type(tls, pVal) if eType == SQLITE_INTEGER { @@ -202457,7 +202507,7 @@ func fts5GetRowidLimit(tls *libc.TLS, pVal uintptr, iDefault I64) I64 { /* sqlit // 1. Full-text search using a MATCH operator. // 2. A by-rowid lookup. // 3. A full-table scan. -func fts5FilterMethod(tls *libc.TLS, pCursor uintptr, idxNum int32, idxStr uintptr, nVal int32, apVal uintptr) int32 { /* sqlite3.c:232788:12: */ +func fts5FilterMethod(tls *libc.TLS, pCursor uintptr, idxNum int32, idxStr uintptr, nVal int32, apVal uintptr) int32 { /* sqlite3.c:232845:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -202778,7 +202828,7 @@ filter_out: // This is the xEof method of the virtual table. SQLite calls this // routine to find out if it has reached the end of a result set. -func fts5EofMethod(tls *libc.TLS, pCursor uintptr) int32 { /* sqlite3.c:232981:12: */ +func fts5EofMethod(tls *libc.TLS, pCursor uintptr) int32 { /* sqlite3.c:233038:12: */ var pCsr uintptr = pCursor return func() int32 { if (*Fts5Cursor)(unsafe.Pointer(pCsr)).Fcsrflags&FTS5CSR_EOF != 0 { @@ -202789,7 +202839,7 @@ func fts5EofMethod(tls *libc.TLS, pCursor uintptr) int32 { /* sqlite3.c:232981:1 } // Return the rowid that the cursor currently points to. -func fts5CursorRowid(tls *libc.TLS, pCsr uintptr) I64 { /* sqlite3.c:232989:12: */ +func fts5CursorRowid(tls *libc.TLS, pCsr uintptr) I64 { /* sqlite3.c:233046:12: */ if (*Fts5Cursor)(unsafe.Pointer(pCsr)).FpSorter != 0 { return (*Fts5Sorter)(unsafe.Pointer((*Fts5Cursor)(unsafe.Pointer(pCsr)).FpSorter)).FiRowid @@ -202803,7 +202853,7 @@ func fts5CursorRowid(tls *libc.TLS, pCsr uintptr) I64 { /* sqlite3.c:232989:12: // retrieve the rowid for the current row of the result set. fts5 // exposes %_content.rowid as the rowid for the virtual table. The // rowid should be written to *pRowid. -func fts5RowidMethod(tls *libc.TLS, pCursor uintptr, pRowid uintptr) int32 { /* sqlite3.c:233007:12: */ +func fts5RowidMethod(tls *libc.TLS, pCursor uintptr, pRowid uintptr) int32 { /* sqlite3.c:233064:12: */ var pCsr uintptr = pCursor var ePlan int32 = (*Fts5Cursor)(unsafe.Pointer(pCsr)).FePlan @@ -202833,7 +202883,7 @@ func fts5RowidMethod(tls *libc.TLS, pCursor uintptr, pRowid uintptr) int32 { /* // // If argument bErrormsg is true and an error occurs, an error message may // be left in sqlite3_vtab.zErrMsg. -func fts5SeekCursor(tls *libc.TLS, pCsr uintptr, bErrormsg int32) int32 { /* sqlite3.c:233038:12: */ +func fts5SeekCursor(tls *libc.TLS, pCsr uintptr, bErrormsg int32) int32 { /* sqlite3.c:233095:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -202877,7 +202927,7 @@ func fts5SeekCursor(tls *libc.TLS, pCsr uintptr, bErrormsg int32) int32 { /* sql return rc } -func fts5SetVtabError(tls *libc.TLS, p uintptr, zFormat uintptr, va uintptr) { /* sqlite3.c:233077:13: */ +func fts5SetVtabError(tls *libc.TLS, p uintptr, zFormat uintptr, va uintptr) { /* sqlite3.c:233134:13: */ var ap Va_list _ = ap // ... printf arguments ap = va @@ -202899,7 +202949,7 @@ func fts5SetVtabError(tls *libc.TLS, p uintptr, zFormat uintptr, va uintptr) { / // The commands implemented by this function are documented in the "Special // INSERT Directives" section of the documentation. It should be updated if // more commands are added to this function. -func fts5SpecialInsert(tls *libc.TLS, pTab uintptr, zCmd uintptr, pVal uintptr) int32 { /* sqlite3.c:233100:12: */ +func fts5SpecialInsert(tls *libc.TLS, pTab uintptr, zCmd uintptr, pVal uintptr) int32 { /* sqlite3.c:233157:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -202948,7 +202998,7 @@ func fts5SpecialInsert(tls *libc.TLS, pTab uintptr, zCmd uintptr, pVal uintptr) return rc } -func fts5SpecialDelete(tls *libc.TLS, pTab uintptr, apVal uintptr) int32 { /* sqlite3.c:233156:12: */ +func fts5SpecialDelete(tls *libc.TLS, pTab uintptr, apVal uintptr) int32 { /* sqlite3.c:233213:12: */ var rc int32 = SQLITE_OK var eType1 int32 = Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(apVal + 1*8))) if eType1 == SQLITE_INTEGER { @@ -202958,7 +203008,7 @@ func fts5SpecialDelete(tls *libc.TLS, pTab uintptr, apVal uintptr) int32 { /* sq return rc } -func fts5StorageInsert(tls *libc.TLS, pRc uintptr, pTab uintptr, apVal uintptr, piRowid uintptr) { /* sqlite3.c:233169:13: */ +func fts5StorageInsert(tls *libc.TLS, pRc uintptr, pTab uintptr, apVal uintptr, piRowid uintptr) { /* sqlite3.c:233226:13: */ var rc int32 = *(*int32)(unsafe.Pointer(pRc)) if rc == SQLITE_OK { rc = sqlite3Fts5StorageContentInsert(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).FpStorage, apVal, piRowid) @@ -202981,7 +203031,7 @@ func fts5StorageInsert(tls *libc.TLS, pRc uintptr, pTab uintptr, apVal uintptr, // 2. The "new" rowid. // 3. Values for each of the nCol matchable columns. // 4. Values for the two hidden columns ( and "rank"). -func fts5UpdateMethod(tls *libc.TLS, pVtab uintptr, nArg int32, apVal uintptr, pRowid uintptr) int32 { /* sqlite3.c:233199:12: */ +func fts5UpdateMethod(tls *libc.TLS, pVtab uintptr, nArg int32, apVal uintptr, pRowid uintptr) int32 { /* sqlite3.c:233256:12: */ bp := tls.Alloc(20) defer tls.Free(20) @@ -203083,7 +203133,7 @@ func fts5UpdateMethod(tls *libc.TLS, pVtab uintptr, nArg int32, apVal uintptr, p } // Implementation of xSync() method. -func fts5SyncMethod(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:233325:12: */ +func fts5SyncMethod(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:233382:12: */ var rc int32 var pTab uintptr = pVtab @@ -203095,7 +203145,7 @@ func fts5SyncMethod(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:233325:12 } // Implementation of xBegin() method. -func fts5BeginMethod(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:233339:12: */ +func fts5BeginMethod(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:233396:12: */ fts5NewTransaction(tls, pVtab) return SQLITE_OK @@ -203104,7 +203154,7 @@ func fts5BeginMethod(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:233339:1 // Implementation of xCommit() method. This is a no-op. The contents of // the pending-terms hash-table have already been flushed into the database // by fts5SyncMethod(). -func fts5CommitMethod(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:233350:12: */ +func fts5CommitMethod(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:233407:12: */ _ = pVtab // Call below is a no-op for NDEBUG builds return SQLITE_OK @@ -203112,7 +203162,7 @@ func fts5CommitMethod(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:233350: // Implementation of xRollback(). Discard the contents of the pending-terms // hash-table. Any changes made to the database are reverted by SQLite. -func fts5RollbackMethod(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:233360:12: */ +func fts5RollbackMethod(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:233417:12: */ var rc int32 var pTab uintptr = pVtab @@ -203120,46 +203170,46 @@ func fts5RollbackMethod(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:23336 return rc } -func fts5ApiUserData(tls *libc.TLS, pCtx uintptr) uintptr { /* sqlite3.c:233370:13: */ +func fts5ApiUserData(tls *libc.TLS, pCtx uintptr) uintptr { /* sqlite3.c:233427:13: */ var pCsr uintptr = pCtx return (*Fts5Auxiliary)(unsafe.Pointer((*Fts5Cursor)(unsafe.Pointer(pCsr)).FpAux)).FpUserData } -func fts5ApiColumnCount(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:233375:12: */ +func fts5ApiColumnCount(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:233432:12: */ var pCsr uintptr = pCtx return (*Fts5Config)(unsafe.Pointer((*Fts5Table)(unsafe.Pointer((*Fts5Cursor)(unsafe.Pointer(pCsr)).Fbase.FpVtab)).FpConfig)).FnCol } -func fts5ApiColumnTotalSize(tls *libc.TLS, pCtx uintptr, iCol int32, pnToken uintptr) int32 { /* sqlite3.c:233380:12: */ +func fts5ApiColumnTotalSize(tls *libc.TLS, pCtx uintptr, iCol int32, pnToken uintptr) int32 { /* sqlite3.c:233437:12: */ var pCsr uintptr = pCtx var pTab uintptr = (*Fts5Cursor)(unsafe.Pointer(pCsr)).Fbase.FpVtab return sqlite3Fts5StorageSize(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).FpStorage, iCol, pnToken) } -func fts5ApiRowCount(tls *libc.TLS, pCtx uintptr, pnRow uintptr) int32 { /* sqlite3.c:233390:12: */ +func fts5ApiRowCount(tls *libc.TLS, pCtx uintptr, pnRow uintptr) int32 { /* sqlite3.c:233447:12: */ var pCsr uintptr = pCtx var pTab uintptr = (*Fts5Cursor)(unsafe.Pointer(pCsr)).Fbase.FpVtab return sqlite3Fts5StorageRowCount(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).FpStorage, pnRow) } -func fts5ApiTokenize(tls *libc.TLS, pCtx uintptr, pText uintptr, nText int32, pUserData uintptr, xToken uintptr) int32 { /* sqlite3.c:233396:12: */ +func fts5ApiTokenize(tls *libc.TLS, pCtx uintptr, pText uintptr, nText int32, pUserData uintptr, xToken uintptr) int32 { /* sqlite3.c:233453:12: */ var pCsr uintptr = pCtx var pTab uintptr = (*Fts5Cursor)(unsafe.Pointer(pCsr)).Fbase.FpVtab return sqlite3Fts5Tokenize(tls, (*Fts5Table)(unsafe.Pointer(pTab)).FpConfig, FTS5_TOKENIZE_AUX, pText, nText, pUserData, xToken) } -func fts5ApiPhraseCount(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:233409:12: */ +func fts5ApiPhraseCount(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:233466:12: */ var pCsr uintptr = pCtx return sqlite3Fts5ExprPhraseCount(tls, (*Fts5Cursor)(unsafe.Pointer(pCsr)).FpExpr) } -func fts5ApiPhraseSize(tls *libc.TLS, pCtx uintptr, iPhrase int32) int32 { /* sqlite3.c:233414:12: */ +func fts5ApiPhraseSize(tls *libc.TLS, pCtx uintptr, iPhrase int32) int32 { /* sqlite3.c:233471:12: */ var pCsr uintptr = pCtx return sqlite3Fts5ExprPhraseSize(tls, (*Fts5Cursor)(unsafe.Pointer(pCsr)).FpExpr, iPhrase) } -func fts5ApiColumnText(tls *libc.TLS, pCtx uintptr, iCol int32, pz uintptr, pn uintptr) int32 { /* sqlite3.c:233419:12: */ +func fts5ApiColumnText(tls *libc.TLS, pCtx uintptr, iCol int32, pz uintptr, pn uintptr) int32 { /* sqlite3.c:233476:12: */ var rc int32 = SQLITE_OK var pCsr uintptr = pCtx if fts5IsContentless(tls, (*Fts5Cursor)(unsafe.Pointer(pCsr)).Fbase.FpVtab) != 0 || @@ -203176,7 +203226,7 @@ func fts5ApiColumnText(tls *libc.TLS, pCtx uintptr, iCol int32, pz uintptr, pn u return rc } -func fts5CsrPoslist(tls *libc.TLS, pCsr uintptr, iPhrase int32, pa uintptr, pn uintptr) int32 { /* sqlite3.c:233442:12: */ +func fts5CsrPoslist(tls *libc.TLS, pCsr uintptr, iPhrase int32, pa uintptr, pn uintptr) int32 { /* sqlite3.c:233499:12: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -203233,7 +203283,7 @@ func fts5CsrPoslist(tls *libc.TLS, pCsr uintptr, iPhrase int32, pa uintptr, pn u // Ensure that the Fts5Cursor.nInstCount and aInst[] variables are populated // correctly for the current view. Return SQLITE_OK if successful, or an // SQLite error code otherwise. -func fts5CacheInstArray(tls *libc.TLS, pCsr uintptr) int32 { /* sqlite3.c:233494:12: */ +func fts5CacheInstArray(tls *libc.TLS, pCsr uintptr) int32 { /* sqlite3.c:233551:12: */ bp := tls.Alloc(20) defer tls.Free(20) @@ -203317,7 +203367,7 @@ func fts5CacheInstArray(tls *libc.TLS, pCsr uintptr) int32 { /* sqlite3.c:233494 return *(*int32)(unsafe.Pointer(bp /* rc */)) } -func fts5ApiInstCount(tls *libc.TLS, pCtx uintptr, pnInst uintptr) int32 { /* sqlite3.c:233568:12: */ +func fts5ApiInstCount(tls *libc.TLS, pCtx uintptr, pnInst uintptr) int32 { /* sqlite3.c:233625:12: */ var pCsr uintptr = pCtx var rc int32 = SQLITE_OK if (*Fts5Cursor)(unsafe.Pointer(pCsr)).Fcsrflags&FTS5CSR_REQUIRE_INST == 0 || @@ -203327,7 +203377,7 @@ func fts5ApiInstCount(tls *libc.TLS, pCtx uintptr, pnInst uintptr) int32 { /* sq return rc } -func fts5ApiInst(tls *libc.TLS, pCtx uintptr, iIdx int32, piPhrase uintptr, piCol uintptr, piOff uintptr) int32 { /* sqlite3.c:233578:12: */ +func fts5ApiInst(tls *libc.TLS, pCtx uintptr, iIdx int32, piPhrase uintptr, piCol uintptr, piOff uintptr) int32 { /* sqlite3.c:233635:12: */ var pCsr uintptr = pCtx var rc int32 = SQLITE_OK if (*Fts5Cursor)(unsafe.Pointer(pCsr)).Fcsrflags&FTS5CSR_REQUIRE_INST == 0 || @@ -203343,11 +203393,11 @@ func fts5ApiInst(tls *libc.TLS, pCtx uintptr, iIdx int32, piPhrase uintptr, piCo return rc } -func fts5ApiRowid(tls *libc.TLS, pCtx uintptr) Sqlite3_int64 { /* sqlite3.c:233607:22: */ +func fts5ApiRowid(tls *libc.TLS, pCtx uintptr) Sqlite3_int64 { /* sqlite3.c:233664:22: */ return fts5CursorRowid(tls, pCtx) } -func fts5ColumnSizeCb(tls *libc.TLS, pContext uintptr, tflags int32, pUnused uintptr, nUnused int32, iUnused1 int32, iUnused2 int32) int32 { /* sqlite3.c:233611:12: */ +func fts5ColumnSizeCb(tls *libc.TLS, pContext uintptr, tflags int32, pUnused uintptr, nUnused int32, iUnused1 int32, iUnused2 int32) int32 { /* sqlite3.c:233668:12: */ var pCnt uintptr = pContext _ = pUnused _ = nUnused @@ -203359,7 +203409,7 @@ func fts5ColumnSizeCb(tls *libc.TLS, pContext uintptr, tflags int32, pUnused uin return SQLITE_OK } -func fts5ApiColumnSize(tls *libc.TLS, pCtx uintptr, iCol int32, pnToken uintptr) int32 { /* sqlite3.c:233628:12: */ +func fts5ApiColumnSize(tls *libc.TLS, pCtx uintptr, iCol int32, pnToken uintptr) int32 { /* sqlite3.c:233685:12: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -203417,7 +203467,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) int32 { /* sqlite3.c:233681:12: */ +func fts5ApiSetAuxdata(tls *libc.TLS, pCtx uintptr, pPtr uintptr, xDelete uintptr) int32 { /* sqlite3.c:233738:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -203455,7 +203505,7 @@ func fts5ApiSetAuxdata(tls *libc.TLS, pCtx uintptr, pPtr uintptr, xDelete uintpt return SQLITE_OK } -func fts5ApiGetAuxdata(tls *libc.TLS, pCtx uintptr, bClear int32) uintptr { /* sqlite3.c:233716:13: */ +func fts5ApiGetAuxdata(tls *libc.TLS, pCtx uintptr, bClear int32) uintptr { /* sqlite3.c:233773:13: */ var pCsr uintptr = pCtx var pData uintptr var pRet uintptr = uintptr(0) @@ -203477,7 +203527,7 @@ func fts5ApiGetAuxdata(tls *libc.TLS, pCtx uintptr, bClear int32) uintptr { /* s return pRet } -func fts5ApiPhraseNext(tls *libc.TLS, pUnused uintptr, pIter uintptr, piCol uintptr, piOff uintptr) { /* sqlite3.c:233736:13: */ +func fts5ApiPhraseNext(tls *libc.TLS, pUnused uintptr, pIter uintptr, piCol uintptr, piOff uintptr) { /* sqlite3.c:233793:13: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -203499,7 +203549,7 @@ func fts5ApiPhraseNext(tls *libc.TLS, pUnused uintptr, pIter uintptr, piCol uint } } -func fts5ApiPhraseFirst(tls *libc.TLS, pCtx uintptr, iPhrase int32, pIter uintptr, piCol uintptr, piOff uintptr) int32 { /* sqlite3.c:233758:12: */ +func fts5ApiPhraseFirst(tls *libc.TLS, pCtx uintptr, iPhrase int32, pIter uintptr, piCol uintptr, piOff uintptr) int32 { /* sqlite3.c:233815:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -203522,7 +203572,7 @@ func fts5ApiPhraseFirst(tls *libc.TLS, pCtx uintptr, iPhrase int32, pIter uintpt return rc } -func fts5ApiPhraseNextColumn(tls *libc.TLS, pCtx uintptr, pIter uintptr, piCol uintptr) { /* sqlite3.c:233777:13: */ +func fts5ApiPhraseNextColumn(tls *libc.TLS, pCtx uintptr, pIter uintptr, piCol uintptr) { /* sqlite3.c:233834:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -203555,7 +203605,7 @@ func fts5ApiPhraseNextColumn(tls *libc.TLS, pCtx uintptr, pIter uintptr, piCol u } } -func fts5ApiPhraseFirstColumn(tls *libc.TLS, pCtx uintptr, iPhrase int32, pIter uintptr, piCol uintptr) int32 { /* sqlite3.c:233807:12: */ +func fts5ApiPhraseFirstColumn(tls *libc.TLS, pCtx uintptr, iPhrase int32, pIter uintptr, piCol uintptr) int32 { /* sqlite3.c:233864:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -203636,10 +203686,10 @@ var sFts5Api = Fts5ExtensionApi{ FxPhraseNext: 0, FxPhraseFirstColumn: 0, FxPhraseNextColumn: 0, -} /* sqlite3.c:233857:31 */ +} /* sqlite3.c:233914:31 */ // Implementation of API function xQueryPhrase(). -func fts5ApiQueryPhrase(tls *libc.TLS, pCtx uintptr, iPhrase int32, pUserData uintptr, xCallback uintptr) int32 { /* sqlite3.c:233883:12: */ +func fts5ApiQueryPhrase(tls *libc.TLS, pCtx uintptr, iPhrase int32, pUserData uintptr, xCallback uintptr) int32 { /* sqlite3.c:233940:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -203675,7 +203725,7 @@ func fts5ApiQueryPhrase(tls *libc.TLS, pCtx uintptr, iPhrase int32, pUserData ui return rc } -func fts5ApiInvoke(tls *libc.TLS, pAux uintptr, pCsr uintptr, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:233920:13: */ +func fts5ApiInvoke(tls *libc.TLS, pAux uintptr, pCsr uintptr, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:233977:13: */ (*Fts5Cursor)(unsafe.Pointer(pCsr)).FpAux = pAux (*struct { @@ -203684,7 +203734,7 @@ func fts5ApiInvoke(tls *libc.TLS, pAux uintptr, pCsr uintptr, context uintptr, a (*Fts5Cursor)(unsafe.Pointer(pCsr)).FpAux = uintptr(0) } -func fts5CursorFromCsrid(tls *libc.TLS, pGlobal uintptr, iCsrId I64) uintptr { /* sqlite3.c:233933:19: */ +func fts5CursorFromCsrid(tls *libc.TLS, pGlobal uintptr, iCsrId I64) uintptr { /* sqlite3.c:233990:19: */ var pCsr uintptr for pCsr = (*Fts5Global)(unsafe.Pointer(pGlobal)).FpCsr; pCsr != 0; pCsr = (*Fts5Cursor)(unsafe.Pointer(pCsr)).FpNext { if (*Fts5Cursor)(unsafe.Pointer(pCsr)).FiCsrId == iCsrId { @@ -203694,7 +203744,7 @@ func fts5CursorFromCsrid(tls *libc.TLS, pGlobal uintptr, iCsrId I64) uintptr { / return pCsr } -func fts5ApiCallback(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:233941:13: */ +func fts5ApiCallback(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:233998:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -203717,7 +203767,7 @@ func fts5ApiCallback(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { // Given cursor id iId, return a pointer to the corresponding Fts5Table // object. Or NULL If the cursor id does not exist. -func sqlite3Fts5TableFromCsrid(tls *libc.TLS, pGlobal uintptr, iCsrId I64) uintptr { /* sqlite3.c:233970:18: */ +func sqlite3Fts5TableFromCsrid(tls *libc.TLS, pGlobal uintptr, iCsrId I64) uintptr { /* sqlite3.c:234027:18: */ var pCsr uintptr pCsr = fts5CursorFromCsrid(tls, pGlobal, iCsrId) if pCsr != 0 { @@ -203739,7 +203789,7 @@ func sqlite3Fts5TableFromCsrid(tls *libc.TLS, pGlobal uintptr, iCsrId I64) uintp // for phrase 0. The second (same disclaimer) contains the size of position // list 1. And so on. There is no size field for the final position list, // as it can be derived from the total size of the blob. -func fts5PoslistBlob(tls *libc.TLS, pCtx uintptr, pCsr uintptr) int32 { /* sqlite3.c:233997:12: */ +func fts5PoslistBlob(tls *libc.TLS, pCtx uintptr, pCsr uintptr) int32 { /* sqlite3.c:234054:12: */ bp := tls.Alloc(68) defer tls.Free(68) @@ -203803,7 +203853,7 @@ func fts5PoslistBlob(tls *libc.TLS, pCtx uintptr, pCsr uintptr) int32 { /* sqlit // This is the xColumn method, called by SQLite to request a value from // the row that the supplied cursor currently points to. -func fts5ColumnMethod(tls *libc.TLS, pCursor uintptr, pCtx uintptr, iCol int32) int32 { /* sqlite3.c:234054:12: */ +func fts5ColumnMethod(tls *libc.TLS, pCursor uintptr, pCtx uintptr, iCol int32) int32 { /* sqlite3.c:234111:12: */ var pTab uintptr = (*Sqlite3_vtab_cursor)(unsafe.Pointer(pCursor)).FpVtab var pConfig uintptr = (*Fts5FullTable)(unsafe.Pointer(pTab)).Fp.FpConfig var pCsr uintptr = pCursor @@ -203843,7 +203893,7 @@ 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) int32 { /* sqlite3.c:234107:12: */ +func fts5FindFunctionMethod(tls *libc.TLS, pVtab uintptr, nUnused int32, zName uintptr, pxFunc uintptr, ppArg uintptr) int32 { /* sqlite3.c:234164:12: */ var pTab uintptr = pVtab var pAux uintptr @@ -203862,12 +203912,12 @@ func fts5FindFunctionMethod(tls *libc.TLS, pVtab uintptr, nUnused int32, zName u } // Implementation of FTS5 xRename method. Rename an fts5 table. -func fts5RenameMethod(tls *libc.TLS, pVtab uintptr, zName uintptr) int32 { /* sqlite3.c:234132:12: */ +func fts5RenameMethod(tls *libc.TLS, pVtab uintptr, zName uintptr) int32 { /* sqlite3.c:234189:12: */ var pTab uintptr = pVtab return sqlite3Fts5StorageRename(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).FpStorage, zName) } -func sqlite3Fts5FlushToDisk(tls *libc.TLS, pTab uintptr) int32 { /* sqlite3.c:234140:12: */ +func sqlite3Fts5FlushToDisk(tls *libc.TLS, pTab uintptr) int32 { /* sqlite3.c:234197:12: */ fts5TripCursors(tls, pTab) return sqlite3Fts5StorageSync(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).FpStorage) } @@ -203875,7 +203925,7 @@ func sqlite3Fts5FlushToDisk(tls *libc.TLS, pTab uintptr) int32 { /* sqlite3.c:23 // The xSavepoint() method. // // Flush the contents of the pending-terms table to disk. -func fts5SavepointMethod(tls *libc.TLS, pVtab uintptr, iSavepoint int32) int32 { /* sqlite3.c:234150:12: */ +func fts5SavepointMethod(tls *libc.TLS, pVtab uintptr, iSavepoint int32) int32 { /* sqlite3.c:234207:12: */ _ = iSavepoint // Call below is a no-op for NDEBUG builds return sqlite3Fts5FlushToDisk(tls, pVtab) @@ -203884,7 +203934,7 @@ func fts5SavepointMethod(tls *libc.TLS, pVtab uintptr, iSavepoint int32) int32 { // The xRelease() method. // // This is a no-op. -func fts5ReleaseMethod(tls *libc.TLS, pVtab uintptr, iSavepoint int32) int32 { /* sqlite3.c:234161:12: */ +func fts5ReleaseMethod(tls *libc.TLS, pVtab uintptr, iSavepoint int32) int32 { /* sqlite3.c:234218:12: */ _ = iSavepoint // Call below is a no-op for NDEBUG builds return sqlite3Fts5FlushToDisk(tls, pVtab) @@ -203893,7 +203943,7 @@ func fts5ReleaseMethod(tls *libc.TLS, pVtab uintptr, iSavepoint int32) int32 { / // The xRollbackTo() method. // // Discard the contents of the pending terms table. -func fts5RollbackToMethod(tls *libc.TLS, pVtab uintptr, iSavepoint int32) int32 { /* sqlite3.c:234172:12: */ +func fts5RollbackToMethod(tls *libc.TLS, pVtab uintptr, iSavepoint int32) int32 { /* sqlite3.c:234229:12: */ var pTab uintptr = pVtab _ = iSavepoint // Call below is a no-op for NDEBUG builds @@ -203902,7 +203952,7 @@ func fts5RollbackToMethod(tls *libc.TLS, pVtab uintptr, iSavepoint int32) int32 } // Register a new auxiliary function with global context pGlobal. -func fts5CreateAux(tls *libc.TLS, pApi uintptr, zName uintptr, pUserData uintptr, xFunc Fts5_extension_function, xDestroy uintptr) int32 { /* sqlite3.c:234183:12: */ +func fts5CreateAux(tls *libc.TLS, pApi uintptr, zName uintptr, pUserData uintptr, xFunc Fts5_extension_function, xDestroy uintptr) int32 { /* sqlite3.c:234240:12: */ var pGlobal uintptr = pApi var rc int32 = Xsqlite3_overload_function(tls, (*Fts5Global)(unsafe.Pointer(pGlobal)).Fdb, zName, -1) if rc == SQLITE_OK { @@ -203933,7 +203983,7 @@ func fts5CreateAux(tls *libc.TLS, pApi uintptr, zName uintptr, pUserData uintptr // Register a new tokenizer. This is the implementation of the // fts5_api.xCreateTokenizer() method. -func fts5CreateTokenizer(tls *libc.TLS, pApi uintptr, zName uintptr, pUserData uintptr, pTokenizer uintptr, xDestroy uintptr) int32 { /* sqlite3.c:234222:12: */ +func fts5CreateTokenizer(tls *libc.TLS, pApi uintptr, zName uintptr, pUserData uintptr, pTokenizer uintptr, xDestroy uintptr) int32 { /* sqlite3.c:234279:12: */ var pGlobal uintptr = pApi var pNew uintptr var nName Sqlite3_int64 // Size of zName and its \0 terminator @@ -203962,7 +204012,7 @@ func fts5CreateTokenizer(tls *libc.TLS, pApi uintptr, zName uintptr, pUserData u return rc } -func fts5LocateTokenizer(tls *libc.TLS, pGlobal uintptr, zName uintptr) uintptr { /* sqlite3.c:234257:28: */ +func fts5LocateTokenizer(tls *libc.TLS, pGlobal uintptr, zName uintptr) uintptr { /* sqlite3.c:234314:28: */ var pMod uintptr = uintptr(0) if zName == uintptr(0) { @@ -203980,7 +204030,7 @@ func fts5LocateTokenizer(tls *libc.TLS, pGlobal uintptr, zName uintptr) uintptr // Find a tokenizer. This is the implementation of the // fts5_api.xFindTokenizer() method. -func fts5FindTokenizer(tls *libc.TLS, pApi uintptr, zName uintptr, ppUserData uintptr, pTokenizer uintptr) int32 { /* sqlite3.c:234278:12: */ +func fts5FindTokenizer(tls *libc.TLS, pApi uintptr, zName uintptr, ppUserData uintptr, pTokenizer uintptr) int32 { /* sqlite3.c:234335:12: */ var rc int32 = SQLITE_OK var pMod uintptr @@ -203996,7 +204046,7 @@ func fts5FindTokenizer(tls *libc.TLS, pApi uintptr, zName uintptr, ppUserData ui return rc } -func sqlite3Fts5GetTokenizer(tls *libc.TLS, pGlobal uintptr, azArg uintptr, nArg int32, pConfig uintptr, pzErr uintptr) int32 { /* sqlite3.c:234299:12: */ +func sqlite3Fts5GetTokenizer(tls *libc.TLS, pGlobal uintptr, azArg uintptr, nArg int32, pConfig uintptr, pzErr uintptr) int32 { /* sqlite3.c:234356:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -204047,7 +204097,7 @@ func sqlite3Fts5GetTokenizer(tls *libc.TLS, pGlobal uintptr, azArg uintptr, nArg return rc } -func fts5ModuleDestroy(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:234336:13: */ +func fts5ModuleDestroy(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:234393:13: */ var pTok uintptr var pNextTok uintptr var pAux uintptr @@ -204073,7 +204123,7 @@ func fts5ModuleDestroy(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:234336:13: */ Xsqlite3_free(tls, pGlobal) } -func fts5Fts5Func(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:234356:13: */ +func fts5Fts5Func(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:234413:13: */ var pGlobal uintptr = Xsqlite3_user_data(tls, pCtx) var ppApi uintptr _ = nArg @@ -204085,7 +204135,7 @@ func fts5Fts5Func(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* s } // Implementation of fts5_source_id() function. -func fts5SourceIdFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apUnused uintptr) { /* sqlite3.c:234372:13: */ +func fts5SourceIdFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apUnused uintptr) { /* sqlite3.c:234429:13: */ _ = nArg _ = apUnused @@ -204094,7 +204144,7 @@ func fts5SourceIdFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apUnused uintptr) // Return true if zName is the extension on one of the shadow tables used // by this module. -func fts5ShadowName(tls *libc.TLS, zName uintptr) int32 { /* sqlite3.c:234386:12: */ +func fts5ShadowName(tls *libc.TLS, zName uintptr) int32 { /* sqlite3.c:234443:12: */ var i uint32 for i = uint32(0); uint64(i) < uint64(unsafe.Sizeof(azName2))/uint64(unsafe.Sizeof(uintptr(0))); i++ { if Xsqlite3_stricmp(tls, zName, azName2[i]) == 0 { @@ -204106,9 +204156,9 @@ func fts5ShadowName(tls *libc.TLS, zName uintptr) int32 { /* sqlite3.c:234386:12 var azName2 = [5]uintptr{ ts + 36229, ts + 34328, ts + 25328, ts + 34679, ts + 11776, -} /* sqlite3.c:234387:21 */ +} /* sqlite3.c:234444:21 */ -func fts5Init(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:234397:12: */ +func fts5Init(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:234454:12: */ var rc int32 var pGlobal uintptr = uintptr(0) @@ -204191,7 +204241,7 @@ var fts5Mod = Sqlite3_module{ /* xRelease */ FxRelease: 0, /* xRollbackTo */ FxRollbackTo: 0, /* xShadowName */ FxShadowName: 0, -} /* sqlite3.c:234398:31 */ +} /* sqlite3.c:234455:31 */ // The following functions are used to register the module with SQLite. If // this module is being built as part of the SQLite core (SQLITE_CORE is @@ -204200,7 +204250,7 @@ var fts5Mod = Sqlite3_module{ // Or, if this module is being built as a loadable extension, // sqlite3Fts5Init() is omitted and the two standard entry points // sqlite3_fts_init() and sqlite3_fts5_init() defined instead. -func Xsqlite3Fts5Init(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:234506:20: */ +func Xsqlite3Fts5Init(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:234563:20: */ return fts5Init(tls, db) } @@ -204208,7 +204258,7 @@ func Xsqlite3Fts5Init(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:234506:20: // Fts5Storage.pInsertDocsize - if they have not already been prepared. // Return SQLITE_OK if successful, or an SQLite error code if an error // occurs. -func fts5StorageGetStmt(tls *libc.TLS, p uintptr, eStmt int32, ppStmt uintptr, pzErrMsg uintptr) int32 { /* sqlite3.c:234564:12: */ +func fts5StorageGetStmt(tls *libc.TLS, p uintptr, eStmt int32, ppStmt uintptr, pzErrMsg uintptr) int32 { /* sqlite3.c:234621:12: */ bp := tls.Alloc(216) defer tls.Free(216) @@ -204309,7 +204359,7 @@ func fts5StorageGetStmt(tls *libc.TLS, p uintptr, eStmt int32, ppStmt uintptr, p return rc } -func fts5ExecPrintf(tls *libc.TLS, db uintptr, pzErr uintptr, zFormat uintptr, va uintptr) int32 { /* sqlite3.c:234667:12: */ +func fts5ExecPrintf(tls *libc.TLS, db uintptr, pzErr uintptr, zFormat uintptr, va uintptr) int32 { /* sqlite3.c:234724:12: */ var rc int32 var ap Va_list _ = ap // ... printf arguments @@ -204331,7 +204381,7 @@ func fts5ExecPrintf(tls *libc.TLS, db uintptr, pzErr uintptr, zFormat uintptr, v // Drop all shadow tables. Return SQLITE_OK if successful or an SQLite error // code otherwise. -func sqlite3Fts5DropAll(tls *libc.TLS, pConfig uintptr) int32 { /* sqlite3.c:234695:12: */ +func sqlite3Fts5DropAll(tls *libc.TLS, pConfig uintptr) int32 { /* sqlite3.c:234752:12: */ bp := tls.Alloc(80) defer tls.Free(80) @@ -204354,7 +204404,7 @@ func sqlite3Fts5DropAll(tls *libc.TLS, pConfig uintptr) int32 { /* sqlite3.c:234 return rc } -func fts5StorageRenameOne(tls *libc.TLS, pConfig uintptr, pRc uintptr, zTail uintptr, zName uintptr) { /* sqlite3.c:234719:13: */ +func fts5StorageRenameOne(tls *libc.TLS, pConfig uintptr, pRc uintptr, zTail uintptr, zName uintptr) { /* sqlite3.c:234776:13: */ bp := tls.Alloc(40) defer tls.Free(40) @@ -204365,7 +204415,7 @@ func fts5StorageRenameOne(tls *libc.TLS, pConfig uintptr, pRc uintptr, zTail uin } } -func sqlite3Fts5StorageRename(tls *libc.TLS, pStorage uintptr, zName uintptr) int32 { /* sqlite3.c:234733:12: */ +func sqlite3Fts5StorageRename(tls *libc.TLS, pStorage uintptr, zName uintptr) int32 { /* sqlite3.c:234790:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -204386,7 +204436,7 @@ func sqlite3Fts5StorageRename(tls *libc.TLS, pStorage uintptr, zName uintptr) in // Create the shadow table named zPost, with definition zDefn. Return // SQLITE_OK if successful, or an SQLite error code otherwise. -func sqlite3Fts5CreateTable(tls *libc.TLS, pConfig uintptr, zPost uintptr, zDefn uintptr, bWithout int32, pzErr uintptr) int32 { /* sqlite3.c:234753:12: */ +func sqlite3Fts5CreateTable(tls *libc.TLS, pConfig uintptr, zPost uintptr, zDefn uintptr, bWithout int32, pzErr uintptr) int32 { /* sqlite3.c:234810:12: */ bp := tls.Alloc(72) defer tls.Free(72) @@ -204416,7 +204466,7 @@ func sqlite3Fts5CreateTable(tls *libc.TLS, pConfig uintptr, zPost uintptr, zDefn // // If successful, set *pp to point to the new object and return SQLITE_OK. // Otherwise, set *pp to NULL and return an SQLite error code. -func sqlite3Fts5StorageOpen(tls *libc.TLS, pConfig uintptr, pIndex uintptr, bCreate int32, pp uintptr, pzErr uintptr) int32 { /* sqlite3.c:234788:12: */ +func sqlite3Fts5StorageOpen(tls *libc.TLS, pConfig uintptr, pIndex uintptr, bCreate int32, pp uintptr, pzErr uintptr) int32 { /* sqlite3.c:234845:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -204477,7 +204527,7 @@ func sqlite3Fts5StorageOpen(tls *libc.TLS, pConfig uintptr, pIndex uintptr, bCre } // Close a handle opened by an earlier call to sqlite3Fts5StorageOpen(). -func sqlite3Fts5StorageClose(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:234854:12: */ +func sqlite3Fts5StorageClose(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:234911:12: */ var rc int32 = SQLITE_OK if p != 0 { var i int32 @@ -204496,12 +204546,12 @@ type Fts5InsertCtx1 = struct { FpStorage uintptr FiCol int32 FszCol int32 -} /* sqlite3.c:234869:9 */ +} /* sqlite3.c:234926:9 */ -type Fts5InsertCtx = Fts5InsertCtx1 /* sqlite3.c:234869:30 */ +type Fts5InsertCtx = Fts5InsertCtx1 /* sqlite3.c:234926:30 */ // Tokenization callback used when inserting tokens into the FTS index. -func fts5StorageInsertCallback(tls *libc.TLS, pContext uintptr, tflags int32, pToken uintptr, nToken int32, iUnused1 int32, iUnused2 int32) int32 { /* sqlite3.c:234879:12: */ +func fts5StorageInsertCallback(tls *libc.TLS, pContext uintptr, tflags int32, pToken uintptr, nToken int32, iUnused1 int32, iUnused2 int32) int32 { /* sqlite3.c:234936:12: */ var pCtx uintptr = pContext var pIdx uintptr = (*Fts5Storage)(unsafe.Pointer((*Fts5InsertCtx)(unsafe.Pointer(pCtx)).FpStorage)).FpIndex _ = iUnused1 @@ -204518,7 +204568,7 @@ func fts5StorageInsertCallback(tls *libc.TLS, pContext uintptr, tflags int32, pT // If a row with rowid iDel is present in the %_content table, add the // delete-markers to the FTS index necessary to delete it. Do not actually // remove the %_content row at this time though. -func fts5StorageDeleteFromIndex(tls *libc.TLS, p uintptr, iDel I64, apVal uintptr) int32 { /* sqlite3.c:234902:12: */ +func fts5StorageDeleteFromIndex(tls *libc.TLS, p uintptr, iDel I64, apVal uintptr) int32 { /* sqlite3.c:234959:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -204587,7 +204637,7 @@ func fts5StorageDeleteFromIndex(tls *libc.TLS, p uintptr, iDel I64, apVal uintpt // // If there is no %_docsize table (as happens if the columnsize=0 option // is specified when the FTS5 table is created), this function is a no-op. -func fts5StorageInsertDocsize(tls *libc.TLS, p uintptr, iRowid I64, pBuf uintptr) int32 { /* sqlite3.c:234971:12: */ +func fts5StorageInsertDocsize(tls *libc.TLS, p uintptr, iRowid I64, pBuf uintptr) int32 { /* sqlite3.c:235028:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -204614,7 +204664,7 @@ func fts5StorageInsertDocsize(tls *libc.TLS, p uintptr, iRowid I64, pBuf uintptr // // Return SQLITE_OK if successful, or an SQLite error code if an error // occurs. -func fts5StorageLoadTotals(tls *libc.TLS, p uintptr, bCache int32) int32 { /* sqlite3.c:235001:12: */ +func fts5StorageLoadTotals(tls *libc.TLS, p uintptr, bCache int32) int32 { /* sqlite3.c:235058:12: */ var rc int32 = SQLITE_OK if (*Fts5Storage)(unsafe.Pointer(p)).FbTotalsValid == 0 { rc = sqlite3Fts5IndexGetAverages(tls, (*Fts5Storage)(unsafe.Pointer(p)).FpIndex, p+24, (*Fts5Storage)(unsafe.Pointer(p)).FaTotalSize) @@ -204628,7 +204678,7 @@ func fts5StorageLoadTotals(tls *libc.TLS, p uintptr, bCache int32) int32 { /* sq // // Return SQLITE_OK if successful, or an SQLite error code if an error // occurs. -func fts5StorageSaveTotals(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:235017:12: */ +func fts5StorageSaveTotals(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:235074:12: */ bp := tls.Alloc(20) defer tls.Free(20) @@ -204652,7 +204702,7 @@ func fts5StorageSaveTotals(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:235017 } // Remove a row from the FTS table. -func sqlite3Fts5StorageDelete(tls *libc.TLS, p uintptr, iDel I64, apVal uintptr) int32 { /* sqlite3.c:235039:12: */ +func sqlite3Fts5StorageDelete(tls *libc.TLS, p uintptr, iDel I64, apVal uintptr) int32 { /* sqlite3.c:235096:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -204693,7 +204743,7 @@ func sqlite3Fts5StorageDelete(tls *libc.TLS, p uintptr, iDel I64, apVal uintptr) } // Delete all entries in the FTS5 index. -func sqlite3Fts5StorageDeleteAll(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:235080:12: */ +func sqlite3Fts5StorageDeleteAll(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:235137:12: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -204725,7 +204775,7 @@ func sqlite3Fts5StorageDeleteAll(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c: return rc } -func sqlite3Fts5StorageRebuild(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:235111:12: */ +func sqlite3Fts5StorageRebuild(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:235168:12: */ bp := tls.Alloc(44) defer tls.Free(44) @@ -204789,15 +204839,15 @@ func sqlite3Fts5StorageRebuild(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:23 return *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) } -func sqlite3Fts5StorageOptimize(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:235166:12: */ +func sqlite3Fts5StorageOptimize(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:235223:12: */ return sqlite3Fts5IndexOptimize(tls, (*Fts5Storage)(unsafe.Pointer(p)).FpIndex) } -func sqlite3Fts5StorageMerge(tls *libc.TLS, p uintptr, nMerge int32) int32 { /* sqlite3.c:235170:12: */ +func sqlite3Fts5StorageMerge(tls *libc.TLS, p uintptr, nMerge int32) int32 { /* sqlite3.c:235227:12: */ return sqlite3Fts5IndexMerge(tls, (*Fts5Storage)(unsafe.Pointer(p)).FpIndex, nMerge) } -func sqlite3Fts5StorageReset(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:235174:12: */ +func sqlite3Fts5StorageReset(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:235231:12: */ return sqlite3Fts5IndexReset(tls, (*Fts5Storage)(unsafe.Pointer(p)).FpIndex) } @@ -204808,7 +204858,7 @@ func sqlite3Fts5StorageReset(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:2351 // // If the %_docsize table does not exist, SQLITE_MISMATCH is returned. In // this case the user is required to provide a rowid explicitly. -func fts5StorageNewRowid(tls *libc.TLS, p uintptr, piRowid uintptr) int32 { /* sqlite3.c:235187:12: */ +func fts5StorageNewRowid(tls *libc.TLS, p uintptr, piRowid uintptr) int32 { /* sqlite3.c:235244:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -204830,7 +204880,7 @@ func fts5StorageNewRowid(tls *libc.TLS, p uintptr, piRowid uintptr) int32 { /* s } // Insert a new row into the FTS content table. -func sqlite3Fts5StorageContentInsert(tls *libc.TLS, p uintptr, apVal uintptr, piRowid uintptr) int32 { /* sqlite3.c:235208:12: */ +func sqlite3Fts5StorageContentInsert(tls *libc.TLS, p uintptr, apVal uintptr, piRowid uintptr) int32 { /* sqlite3.c:235265:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -204862,7 +204912,7 @@ func sqlite3Fts5StorageContentInsert(tls *libc.TLS, p uintptr, apVal uintptr, pi } // Insert new entries into the FTS index and %_docsize table. -func sqlite3Fts5StorageIndexInsert(tls *libc.TLS, p uintptr, apVal uintptr, iRowid I64) int32 { /* sqlite3.c:235243:12: */ +func sqlite3Fts5StorageIndexInsert(tls *libc.TLS, p uintptr, apVal uintptr, iRowid I64) int32 { /* sqlite3.c:235300:12: */ bp := tls.Alloc(36) defer tls.Free(36) @@ -204907,7 +204957,7 @@ func sqlite3Fts5StorageIndexInsert(tls *libc.TLS, p uintptr, apVal uintptr, iRow return *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) } -func fts5StorageCount(tls *libc.TLS, p uintptr, zSuffix uintptr, pnRow uintptr) int32 { /* sqlite3.c:235286:12: */ +func fts5StorageCount(tls *libc.TLS, p uintptr, zSuffix uintptr, pnRow uintptr) int32 { /* sqlite3.c:235343:12: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -204942,13 +204992,13 @@ type Fts5IntegrityCtx1 = struct { Fcksum U64 FpTermset uintptr FpConfig uintptr -} /* sqlite3.c:235314:9 */ +} /* sqlite3.c:235371:9 */ // Context object used by sqlite3Fts5StorageIntegrity(). -type Fts5IntegrityCtx = Fts5IntegrityCtx1 /* sqlite3.c:235314:33 */ +type Fts5IntegrityCtx = Fts5IntegrityCtx1 /* sqlite3.c:235371:33 */ // Tokenization callback used by integrity check. -func fts5StorageIntegrityCallback(tls *libc.TLS, pContext uintptr, tflags int32, pToken uintptr, nToken int32, iUnused1 int32, iUnused2 int32) int32 { /* sqlite3.c:235328:12: */ +func fts5StorageIntegrityCallback(tls *libc.TLS, pContext uintptr, tflags int32, pToken uintptr, nToken int32, iUnused1 int32, iUnused2 int32) int32 { /* sqlite3.c:235385:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -205014,7 +205064,7 @@ func fts5StorageIntegrityCallback(tls *libc.TLS, pContext uintptr, tflags int32, // table. Return SQLITE_OK if they do, or SQLITE_CORRUPT if not. Return // some other SQLite error code if an error occurs while attempting to // determine this. -func sqlite3Fts5StorageIntegrity(tls *libc.TLS, p uintptr, iArg int32) int32 { /* sqlite3.c:235398:12: */ +func sqlite3Fts5StorageIntegrity(tls *libc.TLS, p uintptr, iArg int32) int32 { /* sqlite3.c:235455:12: */ bp := tls.Alloc(64) defer tls.Free(64) @@ -205139,7 +205189,7 @@ func sqlite3Fts5StorageIntegrity(tls *libc.TLS, p uintptr, iArg int32) int32 { / // Obtain an SQLite statement handle that may be used to read data from the // %_content table. -func sqlite3Fts5StorageStmt(tls *libc.TLS, p uintptr, eStmt int32, pp uintptr, pzErrMsg uintptr) int32 { /* sqlite3.c:235506:12: */ +func sqlite3Fts5StorageStmt(tls *libc.TLS, p uintptr, eStmt int32, pp uintptr, pzErrMsg uintptr) int32 { /* sqlite3.c:235563:12: */ var rc int32 rc = fts5StorageGetStmt(tls, p, eStmt, pp, pzErrMsg) @@ -205153,7 +205203,7 @@ func sqlite3Fts5StorageStmt(tls *libc.TLS, p uintptr, eStmt int32, pp uintptr, p // Release an SQLite statement handle obtained via an earlier call to // sqlite3Fts5StorageStmt(). The eStmt parameter passed to this function // must match that passed to the sqlite3Fts5StorageStmt() call. -func sqlite3Fts5StorageStmtRelease(tls *libc.TLS, p uintptr, eStmt int32, pStmt uintptr) { /* sqlite3.c:235530:13: */ +func sqlite3Fts5StorageStmtRelease(tls *libc.TLS, p uintptr, eStmt int32, pStmt uintptr) { /* sqlite3.c:235587:13: */ if *(*uintptr)(unsafe.Pointer(p + 40 + uintptr(eStmt)*8)) == uintptr(0) { Xsqlite3_reset(tls, pStmt) @@ -205163,7 +205213,7 @@ func sqlite3Fts5StorageStmtRelease(tls *libc.TLS, p uintptr, eStmt int32, pStmt } } -func fts5StorageDecodeSizeArray(tls *libc.TLS, aCol uintptr, nCol int32, aBlob uintptr, nBlob int32) int32 { /* sqlite3.c:235547:12: */ +func fts5StorageDecodeSizeArray(tls *libc.TLS, aCol uintptr, nCol int32, aBlob uintptr, nBlob int32) int32 { /* sqlite3.c:235604:12: */ var i int32 var iOff int32 = 0 for i = 0; i < nCol; i++ { @@ -205181,7 +205231,7 @@ func fts5StorageDecodeSizeArray(tls *libc.TLS, aCol uintptr, nCol int32, aBlob u // // An SQLite error code is returned if an error occurs, or SQLITE_OK // otherwise. -func sqlite3Fts5StorageDocsize(tls *libc.TLS, p uintptr, iRowid I64, aCol uintptr) int32 { /* sqlite3.c:235568:12: */ +func sqlite3Fts5StorageDocsize(tls *libc.TLS, p uintptr, iRowid I64, aCol uintptr) int32 { /* sqlite3.c:235625:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -205212,7 +205262,7 @@ func sqlite3Fts5StorageDocsize(tls *libc.TLS, p uintptr, iRowid I64, aCol uintpt return rc } -func sqlite3Fts5StorageSize(tls *libc.TLS, p uintptr, iCol int32, pnToken uintptr) int32 { /* sqlite3.c:235597:12: */ +func sqlite3Fts5StorageSize(tls *libc.TLS, p uintptr, iCol int32, pnToken uintptr) int32 { /* sqlite3.c:235654:12: */ var rc int32 = fts5StorageLoadTotals(tls, p, 0) if rc == SQLITE_OK { *(*I64)(unsafe.Pointer(pnToken)) = int64(0) @@ -205230,7 +205280,7 @@ func sqlite3Fts5StorageSize(tls *libc.TLS, p uintptr, iCol int32, pnToken uintpt return rc } -func sqlite3Fts5StorageRowCount(tls *libc.TLS, p uintptr, pnRow uintptr) int32 { /* sqlite3.c:235615:12: */ +func sqlite3Fts5StorageRowCount(tls *libc.TLS, p uintptr, pnRow uintptr) int32 { /* sqlite3.c:235672:12: */ var rc int32 = fts5StorageLoadTotals(tls, p, 0) if rc == SQLITE_OK { // nTotalRow being zero does not necessarily indicate a corrupt @@ -205247,7 +205297,7 @@ func sqlite3Fts5StorageRowCount(tls *libc.TLS, p uintptr, pnRow uintptr) int32 { } // Flush any data currently held in-memory to disk. -func sqlite3Fts5StorageSync(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:235632:12: */ +func sqlite3Fts5StorageSync(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:235689:12: */ var rc int32 = SQLITE_OK var iLastRowid I64 = Xsqlite3_last_insert_rowid(tls, (*Fts5Config)(unsafe.Pointer((*Fts5Storage)(unsafe.Pointer(p)).FpConfig)).Fdb) if (*Fts5Storage)(unsafe.Pointer(p)).FbTotalsValid != 0 { @@ -205261,12 +205311,12 @@ func sqlite3Fts5StorageSync(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:23563 return rc } -func sqlite3Fts5StorageRollback(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:235646:12: */ +func sqlite3Fts5StorageRollback(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:235703:12: */ (*Fts5Storage)(unsafe.Pointer(p)).FbTotalsValid = 0 return sqlite3Fts5IndexRollback(tls, (*Fts5Storage)(unsafe.Pointer(p)).FpIndex) } -func sqlite3Fts5StorageConfigValue(tls *libc.TLS, p uintptr, z uintptr, pVal uintptr, iVal int32) int32 { /* sqlite3.c:235651:12: */ +func sqlite3Fts5StorageConfigValue(tls *libc.TLS, p uintptr, z uintptr, pVal uintptr, iVal int32) int32 { /* sqlite3.c:235708:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -205321,13 +205371,13 @@ var aAsciiTokenChar = [128]uint8{ uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), // 0x50..0x5F uint8(0), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), // 0x60..0x6F uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), // 0x70..0x7F -} /* sqlite3.c:235704:22 */ +} /* sqlite3.c:235761:22 */ -type AsciiTokenizer1 = struct{ FaTokenChar [128]uint8 } /* sqlite3.c:235715:9 */ +type AsciiTokenizer1 = struct{ FaTokenChar [128]uint8 } /* sqlite3.c:235772:9 */ -type AsciiTokenizer = AsciiTokenizer1 /* sqlite3.c:235715:31 */ +type AsciiTokenizer = AsciiTokenizer1 /* sqlite3.c:235772:31 */ -func fts5AsciiAddExceptions(tls *libc.TLS, p uintptr, zArg uintptr, bTokenChars int32) { /* sqlite3.c:235720:13: */ +func fts5AsciiAddExceptions(tls *libc.TLS, p uintptr, zArg uintptr, bTokenChars int32) { /* sqlite3.c:235777:13: */ var i int32 for i = 0; *(*int8)(unsafe.Pointer(zArg + uintptr(i))) != 0; i++ { if int32(*(*int8)(unsafe.Pointer(zArg + uintptr(i))))&0x80 == 0 { @@ -205337,12 +205387,12 @@ func fts5AsciiAddExceptions(tls *libc.TLS, p uintptr, zArg uintptr, bTokenChars } // Delete a "ascii" tokenizer. -func fts5AsciiDelete(tls *libc.TLS, p uintptr) { /* sqlite3.c:235736:13: */ +func fts5AsciiDelete(tls *libc.TLS, p uintptr) { /* sqlite3.c:235793:13: */ Xsqlite3_free(tls, p) } // Create an "ascii" tokenizer. -func fts5AsciiCreate(tls *libc.TLS, pUnused uintptr, azArg uintptr, nArg int32, ppOut uintptr) int32 { /* sqlite3.c:235743:12: */ +func fts5AsciiCreate(tls *libc.TLS, pUnused uintptr, azArg uintptr, nArg int32, ppOut uintptr) int32 { /* sqlite3.c:235800:12: */ var rc int32 = SQLITE_OK var p uintptr = uintptr(0) _ = pUnused @@ -205377,7 +205427,7 @@ func fts5AsciiCreate(tls *libc.TLS, pUnused uintptr, azArg uintptr, nArg int32, return rc } -func asciiFold(tls *libc.TLS, aOut uintptr, aIn uintptr, nByte int32) { /* sqlite3.c:235784:13: */ +func asciiFold(tls *libc.TLS, aOut uintptr, aIn uintptr, nByte int32) { /* sqlite3.c:235841:13: */ var i int32 for i = 0; i < nByte; i++ { var c int8 = *(*int8)(unsafe.Pointer(aIn + uintptr(i))) @@ -205389,7 +205439,7 @@ func asciiFold(tls *libc.TLS, aOut uintptr, aIn uintptr, nByte int32) { /* sqlit } // Tokenize some text using the ascii tokenizer. -func fts5AsciiTokenize(tls *libc.TLS, pTokenizer uintptr, pCtx uintptr, iUnused int32, pText uintptr, nText int32, xToken uintptr) int32 { /* sqlite3.c:235796:12: */ +func fts5AsciiTokenize(tls *libc.TLS, pTokenizer uintptr, pCtx uintptr, iUnused int32, pText uintptr, nText int32, xToken uintptr) int32 { /* sqlite3.c:235853:12: */ bp := tls.Alloc(64) defer tls.Free(64) @@ -205470,7 +205520,7 @@ type Unicode61Tokenizer1 = struct { F__ccgo_pad1 [4]byte FaiException uintptr FaCategory [32]uint8 -} /* sqlite3.c:235911:9 */ +} /* sqlite3.c:235968:9 */ // ************************************************************************* // @@ -205480,11 +205530,11 @@ type Unicode61Tokenizer1 = struct { // from the sqlite3 source file utf.c. If this file is compiled as part // of the amalgamation, they are not required. -type Unicode61Tokenizer = Unicode61Tokenizer1 /* sqlite3.c:235911:35 */ +type Unicode61Tokenizer = Unicode61Tokenizer1 /* sqlite3.c:235968:35 */ // Values for eRemoveDiacritic (must match internals of fts5_unicode2.c) -func fts5UnicodeAddExceptions(tls *libc.TLS, p uintptr, z uintptr, bTokenChars int32) int32 { /* sqlite3.c:235928:12: */ +func fts5UnicodeAddExceptions(tls *libc.TLS, p uintptr, z uintptr, bTokenChars int32) int32 { /* sqlite3.c:235985:12: */ var rc int32 = SQLITE_OK var n int32 = int32(libc.Xstrlen(tls, z)) var aNew uintptr @@ -205539,7 +205589,7 @@ func fts5UnicodeAddExceptions(tls *libc.TLS, p uintptr, z uintptr, bTokenChars i } // Return true if the p->aiException[] array contains the value iCode. -func fts5UnicodeIsException(tls *libc.TLS, p uintptr, iCode int32) int32 { /* sqlite3.c:235978:12: */ +func fts5UnicodeIsException(tls *libc.TLS, p uintptr, iCode int32) int32 { /* sqlite3.c:236035:12: */ if (*Unicode61Tokenizer)(unsafe.Pointer(p)).FnException > 0 { var a uintptr = (*Unicode61Tokenizer)(unsafe.Pointer(p)).FaiException var iLo int32 = 0 @@ -205561,7 +205611,7 @@ func fts5UnicodeIsException(tls *libc.TLS, p uintptr, iCode int32) int32 { /* sq } // Delete a "unicode61" tokenizer. -func fts5UnicodeDelete(tls *libc.TLS, pTok uintptr) { /* sqlite3.c:236002:13: */ +func fts5UnicodeDelete(tls *libc.TLS, pTok uintptr) { /* sqlite3.c:236059:13: */ if pTok != 0 { var p uintptr = pTok Xsqlite3_free(tls, (*Unicode61Tokenizer)(unsafe.Pointer(p)).FaiException) @@ -205571,7 +205621,7 @@ func fts5UnicodeDelete(tls *libc.TLS, pTok uintptr) { /* sqlite3.c:236002:13: */ return } -func unicodeSetCategories(tls *libc.TLS, p uintptr, zCat uintptr) int32 { /* sqlite3.c:236012:12: */ +func unicodeSetCategories(tls *libc.TLS, p uintptr, zCat uintptr) int32 { /* sqlite3.c:236069:12: */ var z uintptr = zCat for *(*int8)(unsafe.Pointer(z)) != 0 { @@ -205591,7 +205641,7 @@ func unicodeSetCategories(tls *libc.TLS, p uintptr, zCat uintptr) int32 { /* sql } // Create a "unicode61" tokenizer. -func fts5UnicodeCreate(tls *libc.TLS, pUnused uintptr, azArg uintptr, nArg int32, ppOut uintptr) int32 { /* sqlite3.c:236030:12: */ +func fts5UnicodeCreate(tls *libc.TLS, pUnused uintptr, azArg uintptr, nArg int32, ppOut uintptr) int32 { /* sqlite3.c:236087:12: */ var rc int32 = SQLITE_OK // Return code var p uintptr = uintptr(0) // New tokenizer object @@ -205659,12 +205709,12 @@ func fts5UnicodeCreate(tls *libc.TLS, pUnused uintptr, azArg uintptr, nArg int32 // Return true if, for the purposes of tokenizing with the tokenizer // passed as the first argument, codepoint iCode is considered a token // character (not a separator). -func fts5UnicodeIsAlnum(tls *libc.TLS, p uintptr, iCode int32) int32 { /* sqlite3.c:236110:12: */ +func fts5UnicodeIsAlnum(tls *libc.TLS, p uintptr, iCode int32) int32 { /* sqlite3.c:236167:12: */ return int32(*(*uint8)(unsafe.Pointer(p + 160 + uintptr(sqlite3Fts5UnicodeCategory(tls, U32(iCode)))))) ^ fts5UnicodeIsException(tls, p, iCode) } -func fts5UnicodeTokenize(tls *libc.TLS, pTokenizer uintptr, pCtx uintptr, iUnused int32, pText uintptr, nText int32, xToken uintptr) int32 { /* sqlite3.c:236117:12: */ +func fts5UnicodeTokenize(tls *libc.TLS, pTokenizer uintptr, pCtx uintptr, iUnused int32, pText uintptr, nText int32, xToken uintptr) int32 { /* sqlite3.c:236174:12: */ var p uintptr var rc int32 var a uintptr @@ -205920,7 +205970,7 @@ type PorterTokenizer1 = struct { Ftokenizer Fts5_tokenizer FpTokenizer uintptr FaBuf [128]int8 -} /* sqlite3.c:236229:9 */ +} /* sqlite3.c:236286:9 */ // ************************************************************************* // @@ -205929,10 +205979,10 @@ type PorterTokenizer1 = struct { // Any tokens larger than this (in bytes) are passed through without // stemming. -type PorterTokenizer = PorterTokenizer1 /* sqlite3.c:236229:32 */ +type PorterTokenizer = PorterTokenizer1 /* sqlite3.c:236286:32 */ // Delete a "porter" tokenizer. -func fts5PorterDelete(tls *libc.TLS, pTok uintptr) { /* sqlite3.c:236239:13: */ +func fts5PorterDelete(tls *libc.TLS, pTok uintptr) { /* sqlite3.c:236296:13: */ if pTok != 0 { var p uintptr = pTok if (*PorterTokenizer)(unsafe.Pointer(p)).FpTokenizer != 0 { @@ -205943,7 +205993,7 @@ func fts5PorterDelete(tls *libc.TLS, pTok uintptr) { /* sqlite3.c:236239:13: */ } // Create a "porter" tokenizer. -func fts5PorterCreate(tls *libc.TLS, pCtx uintptr, azArg uintptr, nArg int32, ppOut uintptr) int32 { /* sqlite3.c:236252:12: */ +func fts5PorterCreate(tls *libc.TLS, pCtx uintptr, azArg uintptr, nArg int32, ppOut uintptr) int32 { /* sqlite3.c:236309:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -205996,9 +206046,9 @@ type PorterContext1 = struct { FpCtx uintptr FxToken uintptr FaBuf uintptr -} /* sqlite3.c:236288:9 */ +} /* sqlite3.c:236345:9 */ -type PorterContext = PorterContext1 /* sqlite3.c:236288:30 */ +type PorterContext = PorterContext1 /* sqlite3.c:236345:30 */ type PorterRule1 = struct { FzSuffix uintptr @@ -206008,15 +206058,15 @@ type PorterRule1 = struct { FzOutput uintptr FnOutput int32 F__ccgo_pad2 [4]byte -} /* sqlite3.c:236295:9 */ +} /* sqlite3.c:236352:9 */ -type PorterRule = PorterRule1 /* sqlite3.c:236295:27 */ +type PorterRule = PorterRule1 /* sqlite3.c:236352:27 */ -func fts5PorterIsVowel(tls *libc.TLS, c int8, bYIsVowel int32) int32 { /* sqlite3.c:236330:12: */ +func fts5PorterIsVowel(tls *libc.TLS, c int8, bYIsVowel int32) int32 { /* sqlite3.c:236387:12: */ return libc.Bool32(int32(c) == 'a' || int32(c) == 'e' || int32(c) == 'i' || int32(c) == 'o' || int32(c) == 'u' || bYIsVowel != 0 && int32(c) == 'y') } -func fts5PorterGobbleVC(tls *libc.TLS, zStem uintptr, nStem int32, bPrevCons int32) int32 { /* sqlite3.c:236336:12: */ +func fts5PorterGobbleVC(tls *libc.TLS, zStem uintptr, nStem int32, bPrevCons int32) int32 { /* sqlite3.c:236393:12: */ var i int32 var bCons int32 = bPrevCons @@ -206037,12 +206087,12 @@ func fts5PorterGobbleVC(tls *libc.TLS, zStem uintptr, nStem int32, bPrevCons int } // porter rule condition: (m > 0) -func fts5Porter_MGt0(tls *libc.TLS, zStem uintptr, nStem int32) int32 { /* sqlite3.c:236353:12: */ +func fts5Porter_MGt0(tls *libc.TLS, zStem uintptr, nStem int32) int32 { /* sqlite3.c:236410:12: */ return libc.BoolInt32(!!(fts5PorterGobbleVC(tls, zStem, nStem, 0) != 0)) } // porter rule condition: (m > 1) -func fts5Porter_MGt1(tls *libc.TLS, zStem uintptr, nStem int32) int32 { /* sqlite3.c:236358:12: */ +func fts5Porter_MGt1(tls *libc.TLS, zStem uintptr, nStem int32) int32 { /* sqlite3.c:236415:12: */ var n int32 n = fts5PorterGobbleVC(tls, zStem, nStem, 0) if n != 0 && fts5PorterGobbleVC(tls, zStem+uintptr(n), nStem-n, 1) != 0 { @@ -206052,7 +206102,7 @@ func fts5Porter_MGt1(tls *libc.TLS, zStem uintptr, nStem int32) int32 { /* sqlit } // porter rule condition: (m = 1) -func fts5Porter_MEq1(tls *libc.TLS, zStem uintptr, nStem int32) int32 { /* sqlite3.c:236368:12: */ +func fts5Porter_MEq1(tls *libc.TLS, zStem uintptr, nStem int32) int32 { /* sqlite3.c:236425:12: */ var n int32 n = fts5PorterGobbleVC(tls, zStem, nStem, 0) if n != 0 && 0 == fts5PorterGobbleVC(tls, zStem+uintptr(n), nStem-n, 1) { @@ -206062,7 +206112,7 @@ func fts5Porter_MEq1(tls *libc.TLS, zStem uintptr, nStem int32) int32 { /* sqlit } // porter rule condition: (*o) -func fts5Porter_Ostar(tls *libc.TLS, zStem uintptr, nStem int32) int32 { /* sqlite3.c:236378:12: */ +func fts5Porter_Ostar(tls *libc.TLS, zStem uintptr, nStem int32) int32 { /* sqlite3.c:236435:12: */ if int32(*(*int8)(unsafe.Pointer(zStem + uintptr(nStem-1)))) == 'w' || int32(*(*int8)(unsafe.Pointer(zStem + uintptr(nStem-1)))) == 'x' || int32(*(*int8)(unsafe.Pointer(zStem + uintptr(nStem-1)))) == 'y' { return 0 } else { @@ -206080,14 +206130,14 @@ func fts5Porter_Ostar(tls *libc.TLS, zStem uintptr, nStem int32) int32 { /* sqli } // porter rule condition: (m > 1 and (*S or *T)) -func fts5Porter_MGt1_and_S_or_T(tls *libc.TLS, zStem uintptr, nStem int32) int32 { /* sqlite3.c:236395:12: */ +func fts5Porter_MGt1_and_S_or_T(tls *libc.TLS, zStem uintptr, nStem int32) int32 { /* sqlite3.c:236452:12: */ return libc.Bool32((int32(*(*int8)(unsafe.Pointer(zStem + uintptr(nStem-1)))) == 's' || int32(*(*int8)(unsafe.Pointer(zStem + uintptr(nStem-1)))) == 't') && fts5Porter_MGt1(tls, zStem, nStem) != 0) } // porter rule condition: (*v*) -func fts5Porter_Vowel(tls *libc.TLS, zStem uintptr, nStem int32) int32 { /* sqlite3.c:236402:12: */ +func fts5Porter_Vowel(tls *libc.TLS, zStem uintptr, nStem int32) int32 { /* sqlite3.c:236459:12: */ var i int32 for i = 0; i < nStem; i++ { if fts5PorterIsVowel(tls, *(*int8)(unsafe.Pointer(zStem + uintptr(i))), libc.Bool32(i > 0)) != 0 { @@ -206102,7 +206152,7 @@ func fts5Porter_Vowel(tls *libc.TLS, zStem uintptr, nStem int32) int32 { /* sqli // // GENERATED CODE STARTS HERE (mkportersteps.tcl) -func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqlite3.c:236418:12: */ +func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqlite3.c:236475:12: */ var ret int32 = 0 var nBuf int32 = *(*int32)(unsafe.Pointer(pnBuf)) switch int32(*(*int8)(unsafe.Pointer(aBuf + uintptr(nBuf-2)))) { @@ -206235,7 +206285,7 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli return ret } -func fts5PorterStep1B2(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqlite3.c:236552:12: */ +func fts5PorterStep1B2(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqlite3.c:236609:12: */ var ret int32 = 0 var nBuf int32 = *(*int32)(unsafe.Pointer(pnBuf)) switch int32(*(*int8)(unsafe.Pointer(aBuf + uintptr(nBuf-2)))) { @@ -206268,7 +206318,7 @@ func fts5PorterStep1B2(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sq return ret } -func fts5PorterStep2(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqlite3.c:236586:12: */ +func fts5PorterStep2(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqlite3.c:236643:12: */ var ret int32 = 0 var nBuf int32 = *(*int32)(unsafe.Pointer(pnBuf)) switch int32(*(*int8)(unsafe.Pointer(aBuf + uintptr(nBuf-2)))) { @@ -206414,7 +206464,7 @@ func fts5PorterStep2(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli return ret } -func fts5PorterStep3(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqlite3.c:236733:12: */ +func fts5PorterStep3(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqlite3.c:236790:12: */ var ret int32 = 0 var nBuf int32 = *(*int32)(unsafe.Pointer(pnBuf)) switch int32(*(*int8)(unsafe.Pointer(aBuf + uintptr(nBuf-2)))) { @@ -206479,7 +206529,7 @@ func fts5PorterStep3(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli return ret } -func fts5PorterStep1B(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqlite3.c:236799:12: */ +func fts5PorterStep1B(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqlite3.c:236856:12: */ var ret int32 = 0 var nBuf int32 = *(*int32)(unsafe.Pointer(pnBuf)) switch int32(*(*int8)(unsafe.Pointer(aBuf + uintptr(nBuf-2)))) { @@ -206516,7 +206566,7 @@ func fts5PorterStep1B(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sql // // -func fts5PorterStep1A(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) { /* sqlite3.c:236836:13: */ +func fts5PorterStep1A(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) { /* sqlite3.c:236893:13: */ var nBuf int32 = *(*int32)(unsafe.Pointer(pnBuf)) if int32(*(*int8)(unsafe.Pointer(aBuf + uintptr(nBuf-1)))) == 's' { if int32(*(*int8)(unsafe.Pointer(aBuf + uintptr(nBuf-2)))) == 'e' { @@ -206532,7 +206582,7 @@ func fts5PorterStep1A(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) { /* sqlite3.c } } -func fts5PorterCb(tls *libc.TLS, pCtx uintptr, tflags int32, pToken uintptr, nToken int32, iStart int32, iEnd int32) int32 { /* sqlite3.c:236854:12: */ +func fts5PorterCb(tls *libc.TLS, pCtx uintptr, tflags int32, pToken uintptr, nToken int32, iStart int32, iEnd int32) int32 { /* sqlite3.c:236911:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -206630,7 +206680,7 @@ pass_through: } // Tokenize using the porter tokenizer. -func fts5PorterTokenize(tls *libc.TLS, pTokenizer uintptr, pCtx uintptr, flags int32, pText uintptr, nText int32, xToken uintptr) int32 { /* sqlite3.c:236923:12: */ +func fts5PorterTokenize(tls *libc.TLS, pTokenizer uintptr, pCtx uintptr, flags int32, pText uintptr, nText int32, xToken uintptr) int32 { /* sqlite3.c:236980:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -206651,20 +206701,20 @@ func fts5PorterTokenize(tls *libc.TLS, pTokenizer uintptr, pCtx uintptr, flags i // ************************************************************************* // // Start of trigram implementation. -type TrigramTokenizer1 = struct{ FbFold int32 } /* sqlite3.c:236943:9 */ +type TrigramTokenizer1 = struct{ FbFold int32 } /* sqlite3.c:237000:9 */ // ************************************************************************* // // Start of trigram implementation. -type TrigramTokenizer = TrigramTokenizer1 /* sqlite3.c:236943:33 */ +type TrigramTokenizer = TrigramTokenizer1 /* sqlite3.c:237000:33 */ // Free a trigram tokenizer. -func fts5TriDelete(tls *libc.TLS, p uintptr) { /* sqlite3.c:236951:13: */ +func fts5TriDelete(tls *libc.TLS, p uintptr) { /* sqlite3.c:237008:13: */ Xsqlite3_free(tls, p) } // Allocate a trigram tokenizer. -func fts5TriCreate(tls *libc.TLS, pUnused uintptr, azArg uintptr, nArg int32, ppOut uintptr) int32 { /* sqlite3.c:236958:12: */ +func fts5TriCreate(tls *libc.TLS, pUnused uintptr, azArg uintptr, nArg int32, ppOut uintptr) int32 { /* sqlite3.c:237015:12: */ var rc int32 = SQLITE_OK var pNew uintptr = Xsqlite3_malloc(tls, int32(unsafe.Sizeof(TrigramTokenizer{}))) _ = pUnused @@ -206695,7 +206745,7 @@ func fts5TriCreate(tls *libc.TLS, pUnused uintptr, azArg uintptr, nArg int32, pp } // Trigram tokenizer tokenize routine. -func fts5TriTokenize(tls *libc.TLS, pTok uintptr, pCtx uintptr, unusedFlags int32, pText uintptr, nText int32, xToken uintptr) int32 { /* sqlite3.c:236996:12: */ +func fts5TriTokenize(tls *libc.TLS, pTok uintptr, pCtx uintptr, unusedFlags int32, pText uintptr, nText int32, xToken uintptr) int32 { /* sqlite3.c:237053:12: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -206848,7 +206898,7 @@ func fts5TriTokenize(tls *libc.TLS, pTok uintptr, pCtx uintptr, unusedFlags int3 // "trigram" tokenizer, case_sensitive=1 - FTS5_PATTERN_GLOB // "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) int32 { /* sqlite3.c:237056:12: */ +func sqlite3Fts5TokenizerPattern(tls *libc.TLS, xCreate uintptr, pTok uintptr) int32 { /* sqlite3.c:237113:12: */ if xCreate == *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 }{fts5TriCreate})) { @@ -206862,7 +206912,7 @@ func sqlite3Fts5TokenizerPattern(tls *libc.TLS, xCreate uintptr, pTok uintptr) i } // Register all built-in tokenizers with FTS5. -func sqlite3Fts5TokenizerInit(tls *libc.TLS, pApi uintptr) int32 { /* sqlite3.c:237070:12: */ +func sqlite3Fts5TokenizerInit(tls *libc.TLS, pApi uintptr) int32 { /* sqlite3.c:237127:12: */ bp := tls.Alloc(128) defer tls.Free(128) @@ -206908,7 +206958,7 @@ func sqlite3Fts5TokenizerInit(tls *libc.TLS, pApi uintptr) int32 { /* sqlite3.c: type BuiltinTokenizer = struct { FzName uintptr Fx Fts5_tokenizer -} /* sqlite3.c:237071:3 */ +} /* sqlite3.c:237128:3 */ // 2012-05-25 // @@ -206931,7 +206981,7 @@ type BuiltinTokenizer = struct { // SMALL LETTER E WITH DIAERESIS" - return 65 ("LATIN SMALL LETTER // E"). The resuls of passing a codepoint that corresponds to an // uppercase letter are undefined. -func fts5_remove_diacritic(tls *libc.TLS, c int32, bComplex int32) int32 { /* sqlite3.c:237126:12: */ +func fts5_remove_diacritic(tls *libc.TLS, c int32, bComplex int32) int32 { /* sqlite3.c:237183:12: */ bp := tls.Alloc(378) defer tls.Free(378) @@ -207002,7 +207052,7 @@ func fts5_remove_diacritic(tls *libc.TLS, c int32, bComplex int32) int32 { /* sq // Return true if the argument interpreted as a unicode codepoint // is a diacritical modifier character. -func sqlite3Fts5UnicodeIsdiacritic(tls *libc.TLS, c int32) int32 { /* sqlite3.c:237193:12: */ +func sqlite3Fts5UnicodeIsdiacritic(tls *libc.TLS, c int32) int32 { /* sqlite3.c:237250:12: */ var mask0 uint32 = uint32(0x08029FDF) var mask1 uint32 = uint32(0x000361F8) if c < 768 || c > 817 { @@ -207021,7 +207071,7 @@ func sqlite3Fts5UnicodeIsdiacritic(tls *libc.TLS, c int32) int32 { /* sqlite3.c: // // The results are undefined if the value passed to this function // is less than zero. -func sqlite3Fts5UnicodeFold(tls *libc.TLS, c int32, eRemoveDiacritic int32) int32 { /* sqlite3.c:237212:12: */ +func sqlite3Fts5UnicodeFold(tls *libc.TLS, c int32, eRemoveDiacritic int32) int32 { /* sqlite3.c:237269:12: */ var ret int32 = c @@ -207082,7 +207132,7 @@ type TableEntry = struct { FiCode uint16 Fflags uint8 FnRange uint8 -} /* sqlite3.c:237230:16 */ +} /* sqlite3.c:237287:16 */ var aEntry = [163]TableEntry{ {FiCode: uint16(65), Fflags: uint8(14), FnRange: uint8(26)}, {FiCode: uint16(181), Fflags: uint8(64), FnRange: uint8(1)}, {FiCode: uint16(192), Fflags: uint8(14), FnRange: uint8(23)}, @@ -207140,7 +207190,7 @@ var aEntry = [163]TableEntry{ {FiCode: uint16(42878), Fflags: uint8(1), FnRange: uint8(10)}, {FiCode: uint16(42891), FnRange: uint8(1)}, {FiCode: uint16(42893), Fflags: uint8(74), FnRange: uint8(1)}, {FiCode: uint16(42896), Fflags: uint8(1), FnRange: uint8(4)}, {FiCode: uint16(42912), Fflags: uint8(1), FnRange: uint8(10)}, {FiCode: uint16(42922), Fflags: uint8(72), FnRange: uint8(1)}, {FiCode: uint16(65313), Fflags: uint8(14), FnRange: uint8(26)}, -} /* sqlite3.c:237234:5 */ +} /* sqlite3.c:237291:5 */ var aiOff = [77]uint16{ uint16(1), uint16(2), uint16(8), uint16(15), uint16(16), uint16(26), uint16(28), uint16(32), uint16(37), uint16(38), uint16(40), uint16(48), uint16(63), uint16(64), uint16(69), uint16(71), @@ -207152,9 +207202,9 @@ var aiOff = [77]uint16{ uint16(65408), uint16(65410), uint16(65415), uint16(65424), uint16(65436), uint16(65439), uint16(65450), uint16(65462), uint16(65472), uint16(65476), uint16(65478), uint16(65480), uint16(65482), uint16(65488), uint16(65506), uint16(65511), uint16(65514), uint16(65521), uint16(65527), uint16(65528), uint16(65529), -} /* sqlite3.c:237291:31 */ +} /* sqlite3.c:237348:31 */ -func sqlite3Fts5UnicodeCatParse(tls *libc.TLS, zCat uintptr, aArray uintptr) int32 { /* sqlite3.c:237348:12: */ +func sqlite3Fts5UnicodeCatParse(tls *libc.TLS, zCat uintptr, aArray uintptr) int32 { /* sqlite3.c:237405:12: */ *(*U8)(unsafe.Pointer(aArray)) = U8(1) switch int32(*(*int8)(unsafe.Pointer(zCat))) { case 'C': @@ -207351,7 +207401,7 @@ func sqlite3Fts5UnicodeCatParse(tls *libc.TLS, zCat uintptr, aArray uintptr) int var aFts5UnicodeBlock = [17]U16{ U16(0), U16(1471), U16(1753), U16(1760), U16(1760), U16(1760), U16(1760), U16(1760), U16(1760), U16(1760), U16(1760), U16(1760), U16(1760), U16(1760), U16(1760), U16(1763), U16(1765), -} /* sqlite3.c:237466:12 */ +} /* sqlite3.c:237523:12 */ var aFts5UnicodeMap = [1765]U16{ U16(0), U16(32), U16(33), U16(36), U16(37), U16(40), U16(41), U16(42), U16(43), U16(44), U16(45), U16(46), U16(48), U16(58), U16(60), U16(63), U16(65), U16(91), U16(92), U16(93), @@ -207530,7 +207580,7 @@ var aFts5UnicodeMap = [1765]U16{ U16(62406), U16(62432), U16(62464), U16(62528), U16(62530), U16(62713), U16(62720), U16(62784), U16(62800), U16(62971), U16(63045), U16(63104), U16(63232), U16(0), U16(42710), U16(42752), U16(46900), U16(46912), U16(47133), U16(63488), U16(1), U16(32), U16(256), U16(0), U16(65533), -} /* sqlite3.c:237470:12 */ +} /* sqlite3.c:237527:12 */ var aFts5UnicodeData = [1765]U16{ U16(1025), U16(61), U16(117), U16(55), U16(117), U16(54), U16(50), U16(53), U16(57), U16(53), U16(49), U16(85), U16(333), U16(85), U16(121), U16(85), U16(841), U16(54), U16(53), U16(50), @@ -207709,9 +207759,9 @@ var aFts5UnicodeData = [1765]U16{ U16(186), U16(570), U16(2042), U16(58), U16(5850), U16(154), U16(2010), U16(154), U16(794), U16(2266), U16(378), U16(2266), U16(3738), U16(39), U16(39), U16(39), U16(39), U16(39), U16(39), U16(17351), U16(34), U16(3074), U16(7692), U16(63), U16(63), -} /* sqlite3.c:237649:12 */ +} /* sqlite3.c:237706:12 */ -func sqlite3Fts5UnicodeCategory(tls *libc.TLS, iCode U32) int32 { /* sqlite3.c:237829:12: */ +func sqlite3Fts5UnicodeCategory(tls *libc.TLS, iCode U32) int32 { /* sqlite3.c:237886:12: */ var iRes int32 = -1 var iHi int32 var iLo int32 @@ -207751,7 +207801,7 @@ func sqlite3Fts5UnicodeCategory(tls *libc.TLS, iCode U32) int32 { /* sqlite3.c:2 return 9 } -func sqlite3Fts5UnicodeAscii(tls *libc.TLS, aArray uintptr, aAscii uintptr) { /* sqlite3.c:237860:13: */ +func sqlite3Fts5UnicodeAscii(tls *libc.TLS, aArray uintptr, aAscii uintptr) { /* sqlite3.c:237917:13: */ var i int32 = 0 var iTbl int32 = 0 for i < 128 { @@ -207783,7 +207833,7 @@ func sqlite3Fts5UnicodeAscii(tls *libc.TLS, aArray uintptr, aAscii uintptr) { /* // This is a copy of the sqlite3GetVarint32() routine from the SQLite core. // Except, this version does handle the single byte case that the core // version depends on being handled before its function is called. -func sqlite3Fts5GetVarint32(tls *libc.TLS, p uintptr, v uintptr) int32 { /* sqlite3.c:237898:12: */ +func sqlite3Fts5GetVarint32(tls *libc.TLS, p uintptr, v uintptr) int32 { /* sqlite3.c:237955:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -207858,7 +207908,7 @@ func sqlite3Fts5GetVarint32(tls *libc.TLS, p uintptr, v uintptr) int32 { /* sqli // Read a 64-bit variable-length integer from memory starting at p[0]. // Return the number of bytes read. The value is stored in *v. -func sqlite3Fts5GetVarint(tls *libc.TLS, p uintptr, v uintptr) U8 { /* sqlite3.c:237976:11: */ +func sqlite3Fts5GetVarint(tls *libc.TLS, p uintptr, v uintptr) U8 { /* sqlite3.c:238033:11: */ var a U32 var b U32 var s U32 @@ -208034,7 +208084,7 @@ func sqlite3Fts5GetVarint(tls *libc.TLS, p uintptr, v uintptr) U8 { /* sqlite3.c // for all bytes that have the 8th bit set and one byte with the 8th // bit clear. Except, if we get to the 9th byte, it stores the full // 8 bits and is the last byte. -func fts5PutVarint64(tls *libc.TLS, p uintptr, v U64) int32 { /* sqlite3.c:238170:26: */ +func fts5PutVarint64(tls *libc.TLS, p uintptr, v U64) int32 { /* sqlite3.c:238227:26: */ bp := tls.Alloc(10) defer tls.Free(10) @@ -208080,7 +208130,7 @@ __3: return n } -func sqlite3Fts5PutVarint(tls *libc.TLS, p uintptr, v U64) int32 { /* sqlite3.c:238195:12: */ +func sqlite3Fts5PutVarint(tls *libc.TLS, p uintptr, v U64) int32 { /* sqlite3.c:238252:12: */ if v <= uint64(0x7f) { *(*uint8)(unsafe.Pointer(p)) = uint8(v & uint64(0x7f)) return 1 @@ -208093,7 +208143,7 @@ func sqlite3Fts5PutVarint(tls *libc.TLS, p uintptr, v U64) int32 { /* sqlite3.c: return fts5PutVarint64(tls, p, v) } -func sqlite3Fts5GetVarintLen(tls *libc.TLS, iVal U32) int32 { /* sqlite3.c:238209:12: */ +func sqlite3Fts5GetVarintLen(tls *libc.TLS, iVal U32) int32 { /* sqlite3.c:238266:12: */ if iVal < U32(int32(1)<<14) { return 2 @@ -208153,7 +208203,7 @@ type Fts5VocabTable1 = struct { FpGlobal uintptr FeType int32 FbBusy uint32 -} /* sqlite3.c:238262:9 */ +} /* sqlite3.c:238319:9 */ // 2015 May 08 // @@ -208193,7 +208243,7 @@ type Fts5VocabTable1 = struct { // #include "fts5Int.h" -type Fts5VocabTable = Fts5VocabTable1 /* sqlite3.c:238262:31 */ +type Fts5VocabTable = Fts5VocabTable1 /* sqlite3.c:238319:31 */ type Fts5VocabCursor1 = struct { Fbase Sqlite3_vtab_cursor FpStmt uintptr @@ -208214,9 +208264,9 @@ type Fts5VocabCursor1 = struct { FiInstPos I64 FiInstOff int32 F__ccgo_pad4 [4]byte -} /* sqlite3.c:238263:9 */ +} /* sqlite3.c:238320:9 */ -type Fts5VocabCursor = Fts5VocabCursor1 /* sqlite3.c:238263:32 */ +type Fts5VocabCursor = Fts5VocabCursor1 /* sqlite3.c:238320:32 */ // Bits for the mask used as the idxNum value by xBestIndex/xFilter. @@ -208224,7 +208274,7 @@ type Fts5VocabCursor = Fts5VocabCursor1 /* sqlite3.c:238263:32 */ // FTS5_VOCAB_XXX constant. If successful, set *peType to the output // value and return SQLITE_OK. Otherwise, set *pzErr to an error message // and return SQLITE_ERROR. -func fts5VocabTableType(tls *libc.TLS, zType uintptr, pzErr uintptr, peType uintptr) int32 { /* sqlite3.c:238323:12: */ +func fts5VocabTableType(tls *libc.TLS, zType uintptr, pzErr uintptr, peType uintptr) int32 { /* sqlite3.c:238380:12: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -208249,14 +208299,14 @@ func fts5VocabTableType(tls *libc.TLS, zType uintptr, pzErr uintptr, peType uint } // The xDisconnect() virtual table method. -func fts5VocabDisconnectMethod(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:238352:12: */ +func fts5VocabDisconnectMethod(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:238409:12: */ var pTab uintptr = pVtab Xsqlite3_free(tls, pTab) return SQLITE_OK } // The xDestroy() virtual table method. -func fts5VocabDestroyMethod(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:238361:12: */ +func fts5VocabDestroyMethod(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:238418:12: */ var pTab uintptr = pVtab Xsqlite3_free(tls, pTab) return SQLITE_OK @@ -208281,7 +208331,7 @@ func fts5VocabDestroyMethod(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:2 // argv[3] -> name of fts5 tables database // argv[4] -> name of fts5 table // argv[5] -> type of fts5vocab table -func fts5VocabInitVtab(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVTab uintptr, pzErr uintptr) int32 { /* sqlite3.c:238388:12: */ +func fts5VocabInitVtab(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVTab uintptr, pzErr uintptr) int32 { /* sqlite3.c:238445:12: */ bp := tls.Alloc(36) defer tls.Free(36) @@ -208351,11 +208401,11 @@ func fts5VocabInitVtab(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv // The xConnect() and xCreate() methods for the virtual table. All the // work is done in function fts5VocabInitVtab(). -func fts5VocabConnectMethod(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 { /* sqlite3.c:238450:12: */ +func fts5VocabConnectMethod(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 { /* sqlite3.c:238507:12: */ return fts5VocabInitVtab(tls, db, pAux, argc, argv, ppVtab, pzErr) } -func fts5VocabCreateMethod(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 { /* sqlite3.c:238460:12: */ +func fts5VocabCreateMethod(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 { /* sqlite3.c:238517:12: */ return fts5VocabInitVtab(tls, db, pAux, argc, argv, ppVtab, pzErr) } @@ -208369,7 +208419,7 @@ func fts5VocabCreateMethod(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, // // are interpreted. Less-than and less-than-or-equal are treated // identically, as are greater-than and greater-than-or-equal. -func fts5VocabBestIndexMethod(tls *libc.TLS, pUnused uintptr, pInfo uintptr) int32 { /* sqlite3.c:238483:12: */ +func fts5VocabBestIndexMethod(tls *libc.TLS, pUnused uintptr, pInfo uintptr) int32 { /* sqlite3.c:238540:12: */ var i int32 var iTermEq int32 = -1 var iTermGe int32 = -1 @@ -208437,7 +208487,7 @@ func fts5VocabBestIndexMethod(tls *libc.TLS, pUnused uintptr, pInfo uintptr) int } // Implementation of xOpen method. -func fts5VocabOpenMethod(tls *libc.TLS, pVTab uintptr, ppCsr uintptr) int32 { /* sqlite3.c:238545:12: */ +func fts5VocabOpenMethod(tls *libc.TLS, pVTab uintptr, ppCsr uintptr) int32 { /* sqlite3.c:238602:12: */ bp := tls.Alloc(80) defer tls.Free(80) @@ -208504,7 +208554,7 @@ func fts5VocabOpenMethod(tls *libc.TLS, pVTab uintptr, ppCsr uintptr) int32 { /* return *(*int32)(unsafe.Pointer(bp + 64 /* rc */)) } -func fts5VocabResetCursor(tls *libc.TLS, pCsr uintptr) { /* sqlite3.c:238613:13: */ +func fts5VocabResetCursor(tls *libc.TLS, pCsr uintptr) { /* sqlite3.c:238670:13: */ (*Fts5VocabCursor)(unsafe.Pointer(pCsr)).Frowid = int64(0) sqlite3Fts5IterClose(tls, (*Fts5VocabCursor)(unsafe.Pointer(pCsr)).FpIter) sqlite3Fts5StructureRelease(tls, (*Fts5VocabCursor)(unsafe.Pointer(pCsr)).FpStruct) @@ -208518,7 +208568,7 @@ func fts5VocabResetCursor(tls *libc.TLS, pCsr uintptr) { /* sqlite3.c:238613:13: // Close the cursor. For additional information see the documentation // on the xClose method of the virtual table interface. -func fts5VocabCloseMethod(tls *libc.TLS, pCursor uintptr) int32 { /* sqlite3.c:238629:12: */ +func fts5VocabCloseMethod(tls *libc.TLS, pCursor uintptr) int32 { /* sqlite3.c:238686:12: */ var pCsr uintptr = pCursor fts5VocabResetCursor(tls, pCsr) sqlite3Fts5BufferFree(tls, pCsr+96) @@ -208527,7 +208577,7 @@ func fts5VocabCloseMethod(tls *libc.TLS, pCursor uintptr) int32 { /* sqlite3.c:2 return SQLITE_OK } -func fts5VocabInstanceNewTerm(tls *libc.TLS, pCsr uintptr) int32 { /* sqlite3.c:238638:12: */ +func fts5VocabInstanceNewTerm(tls *libc.TLS, pCsr uintptr) int32 { /* sqlite3.c:238695:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -208558,7 +208608,7 @@ func fts5VocabInstanceNewTerm(tls *libc.TLS, pCsr uintptr) int32 { /* sqlite3.c: return *(*int32)(unsafe.Pointer(bp + 4 /* rc */)) } -func fts5VocabInstanceNext(tls *libc.TLS, pCsr uintptr) int32 { /* sqlite3.c:238660:12: */ +func fts5VocabInstanceNext(tls *libc.TLS, pCsr uintptr) int32 { /* sqlite3.c:238717:12: */ var eDetail int32 = (*Fts5Config)(unsafe.Pointer((*Fts5Table)(unsafe.Pointer((*Fts5VocabCursor)(unsafe.Pointer(pCsr)).FpFts5)).FpConfig)).FeDetail var rc int32 = SQLITE_OK var pIter uintptr = (*Fts5VocabCursor)(unsafe.Pointer(pCsr)).FpIter @@ -208587,7 +208637,7 @@ func fts5VocabInstanceNext(tls *libc.TLS, pCsr uintptr) int32 { /* sqlite3.c:238 } // Advance the cursor to the next row in the table. -func fts5VocabNextMethod(tls *libc.TLS, pCursor uintptr) int32 { /* sqlite3.c:238692:12: */ +func fts5VocabNextMethod(tls *libc.TLS, pCursor uintptr) int32 { /* sqlite3.c:238749:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -208731,7 +208781,7 @@ func fts5VocabNextMethod(tls *libc.TLS, pCursor uintptr) int32 { /* sqlite3.c:23 } // This is the xFilter implementation for the virtual table. -func fts5VocabFilterMethod(tls *libc.TLS, pCursor uintptr, idxNum int32, zUnused uintptr, nUnused int32, apVal uintptr) int32 { /* sqlite3.c:238820:12: */ +func fts5VocabFilterMethod(tls *libc.TLS, pCursor uintptr, idxNum int32, zUnused uintptr, nUnused int32, apVal uintptr) int32 { /* sqlite3.c:238877:12: */ var pTab uintptr = (*Sqlite3_vtab_cursor)(unsafe.Pointer(pCursor)).FpVtab var pCsr uintptr = pCursor var eType int32 = (*Fts5VocabTable)(unsafe.Pointer(pTab)).FeType @@ -208805,12 +208855,12 @@ func fts5VocabFilterMethod(tls *libc.TLS, pCursor uintptr, idxNum int32, zUnused // This is the xEof method of the virtual table. SQLite calls this // routine to find out if it has reached the end of a result set. -func fts5VocabEofMethod(tls *libc.TLS, pCursor uintptr) int32 { /* sqlite3.c:238894:12: */ +func fts5VocabEofMethod(tls *libc.TLS, pCursor uintptr) int32 { /* sqlite3.c:238951:12: */ var pCsr uintptr = pCursor return (*Fts5VocabCursor)(unsafe.Pointer(pCsr)).FbEof } -func fts5VocabColumnMethod(tls *libc.TLS, pCursor uintptr, pCtx uintptr, iCol int32) int32 { /* sqlite3.c:238899:12: */ +func fts5VocabColumnMethod(tls *libc.TLS, pCursor uintptr, pCtx uintptr, iCol int32) int32 { /* sqlite3.c:238956:12: */ var pCsr uintptr = pCursor var eDetail int32 = (*Fts5Config)(unsafe.Pointer((*Fts5Table)(unsafe.Pointer((*Fts5VocabCursor)(unsafe.Pointer(pCsr)).FpFts5)).FpConfig)).FeDetail var eType int32 = (*Fts5VocabTable)(unsafe.Pointer((*Sqlite3_vtab_cursor)(unsafe.Pointer(pCursor)).FpVtab)).FeType @@ -208883,13 +208933,13 @@ func fts5VocabColumnMethod(tls *libc.TLS, pCursor uintptr, pCtx uintptr, iCol in // This is the xRowid method. The SQLite core calls this routine to // retrieve the rowid for the current row of the result set. The // rowid should be written to *pRowid. -func fts5VocabRowidMethod(tls *libc.TLS, pCursor uintptr, pRowid uintptr) int32 { /* sqlite3.c:238971:12: */ +func fts5VocabRowidMethod(tls *libc.TLS, pCursor uintptr, pRowid uintptr) int32 { /* sqlite3.c:239028:12: */ var pCsr uintptr = pCursor *(*Sqlite_int64)(unsafe.Pointer(pRowid)) = (*Fts5VocabCursor)(unsafe.Pointer(pCsr)).Frowid return SQLITE_OK } -func sqlite3Fts5VocabInit(tls *libc.TLS, pGlobal uintptr, db uintptr) int32 { /* sqlite3.c:238980:12: */ +func sqlite3Fts5VocabInit(tls *libc.TLS, pGlobal uintptr, db uintptr) int32 { /* sqlite3.c:239037:12: */ var p uintptr = pGlobal return Xsqlite3_create_module_v2(tls, db, ts+37909, uintptr(unsafe.Pointer(&fts5Vocab)), p, uintptr(0)) @@ -208909,7 +208959,7 @@ var fts5Vocab = Sqlite3_module{ /* xEof */ FxEof: 0, /* xColumn */ FxColumn: 0, /* xRowid */ FxRowid: 0, -} /* sqlite3.c:238981:31 */ +} /* sqlite3.c:239038:31 */ //************* End of fts5.c *********************************************** //************* Begin file stmt.c ******************************************* @@ -208936,8 +208986,8 @@ var fts5Vocab = Sqlite3_module{ //************* End of stmt.c *********************************************** // Return the source-id for this library -func Xsqlite3_sourceid(tls *libc.TLS) uintptr { /* sqlite3.c:239321:23: */ - return ts + 37919 /* "2022-03-12 13:37..." */ +func Xsqlite3_sourceid(tls *libc.TLS) uintptr { /* sqlite3.c:239378:23: */ + return ts + 37919 /* "2022-03-26 13:51..." */ } //************************* End of sqlite3.c ***************************** @@ -208946,162 +208996,162 @@ func init() { *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&Xsqlite3aEQb)) + 0)) = uintptr(unsafe.Pointer(&Xsqlite3UpperToLower)) + 210 // sqlite3.c:21690:51: *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&Xsqlite3aGTb)) + 0)) = uintptr(unsafe.Pointer(&Xsqlite3UpperToLower)) + 216 // sqlite3.c:21691:51: *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&Xsqlite3aLTb)) + 0)) = uintptr(unsafe.Pointer(&Xsqlite3UpperToLower)) + 204 // sqlite3.c:21689:51: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aAgg)) + 0)) = geopolyBBoxStep // sqlite3.c:201985:8: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aAgg)) + 8)) = geopolyBBoxFinal // sqlite3.c:201985:25: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aAlterTableFuncs)) + 24)) = renameColumnFunc // sqlite3.c:111067:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aAlterTableFuncs)) + 96)) = renameTableFunc // sqlite3.c:111068:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aAlterTableFuncs)) + 168)) = renameTableTest // sqlite3.c:111069:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aAlterTableFuncs)) + 240)) = dropColumnFunc // sqlite3.c:111070:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aAlterTableFuncs)) + 312)) = renameQuotefixFunc // sqlite3.c:111071:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 24)) = versionFunc // sqlite3.c:123272:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 96)) = versionFunc // sqlite3.c:123273:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 168)) = versionFunc // sqlite3.c:123274:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 240)) = versionFunc // sqlite3.c:123275:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 312)) = soundexFunc // sqlite3.c:123279:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 384)) = loadExt // sqlite3.c:123282:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 456)) = loadExt // sqlite3.c:123283:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 528)) = compileoptionusedFunc // sqlite3.c:123289:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 600)) = compileoptiongetFunc // sqlite3.c:123290:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 672)) = versionFunc // sqlite3.c:123292:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 744)) = versionFunc // sqlite3.c:123293:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 816)) = versionFunc // sqlite3.c:123294:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 888)) = versionFunc // sqlite3.c:123297:12: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 960)) = trimFunc // sqlite3.c:123299:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1032)) = trimFunc // sqlite3.c:123300:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1104)) = trimFunc // sqlite3.c:123301:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1176)) = trimFunc // sqlite3.c:123302:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1248)) = trimFunc // sqlite3.c:123303:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1320)) = trimFunc // sqlite3.c:123304:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1392)) = minmaxFunc // sqlite3.c:123305:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1536)) = minmaxStep // sqlite3.c:123307:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1544)) = minMaxFinalize // sqlite3.c:123307:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1552)) = minMaxValue // sqlite3.c:123307:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1608)) = minmaxFunc // sqlite3.c:123309:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1752)) = minmaxStep // sqlite3.c:123311:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1760)) = minMaxFinalize // sqlite3.c:123311:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1768)) = minMaxValue // sqlite3.c:123311:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1824)) = typeofFunc // sqlite3.c:123313:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1896)) = subtypeFunc // sqlite3.c:123314:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1968)) = lengthFunc // sqlite3.c:123315:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2040)) = instrFunc // sqlite3.c:123316:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2112)) = printfFunc // sqlite3.c:123317:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2184)) = printfFunc // sqlite3.c:123318:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2256)) = unicodeFunc // sqlite3.c:123319:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2328)) = charFunc // sqlite3.c:123320:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2400)) = absFunc // sqlite3.c:123321:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2472)) = roundFunc // sqlite3.c:123323:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2544)) = roundFunc // sqlite3.c:123324:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2616)) = upperFunc // sqlite3.c:123326:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2688)) = lowerFunc // sqlite3.c:123327:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2760)) = hexFunc // sqlite3.c:123328:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2832)) = versionFunc // sqlite3.c:123329:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2904)) = randomFunc // sqlite3.c:123330:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2976)) = randomBlob // sqlite3.c:123331:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3048)) = nullifFunc // sqlite3.c:123332:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3120)) = versionFunc // sqlite3.c:123333:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3192)) = sourceidFunc // sqlite3.c:123334:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3264)) = errlogFunc // sqlite3.c:123335:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3336)) = quoteFunc // sqlite3.c:123336:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3408)) = last_insert_rowid // sqlite3.c:123337:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3480)) = changes // sqlite3.c:123338:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3552)) = total_changes // sqlite3.c:123339:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3624)) = replaceFunc // sqlite3.c:123340:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3696)) = zeroblobFunc // sqlite3.c:123341:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3768)) = substrFunc // sqlite3.c:123342:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3840)) = substrFunc // sqlite3.c:123343:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3912)) = substrFunc // sqlite3.c:123344:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3984)) = substrFunc // sqlite3.c:123345:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4056)) = sumStep // sqlite3.c:123346:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4064)) = sumFinalize // sqlite3.c:123346:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4072)) = sumFinalize // sqlite3.c:123346:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4080)) = sumInverse // sqlite3.c:123346:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4128)) = sumStep // sqlite3.c:123347:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4136)) = totalFinalize // sqlite3.c:123347:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4144)) = totalFinalize // sqlite3.c:123347:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4152)) = sumInverse // sqlite3.c:123347:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4200)) = sumStep // sqlite3.c:123348:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4208)) = avgFinalize // sqlite3.c:123348:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4216)) = avgFinalize // sqlite3.c:123348:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4224)) = sumInverse // sqlite3.c:123348:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4272)) = countStep // sqlite3.c:123349:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4280)) = countFinalize // sqlite3.c:123349:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4288)) = countFinalize // sqlite3.c:123349:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4296)) = countInverse // sqlite3.c:123349:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4344)) = countStep // sqlite3.c:123352:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4352)) = countFinalize // sqlite3.c:123352:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4360)) = countFinalize // sqlite3.c:123352:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4368)) = countInverse // sqlite3.c:123352:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4416)) = groupConcatStep // sqlite3.c:123354:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4424)) = groupConcatFinalize // sqlite3.c:123354:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4432)) = groupConcatValue // sqlite3.c:123354:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4440)) = groupConcatInverse // sqlite3.c:123354:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4488)) = groupConcatStep // sqlite3.c:123356:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4496)) = groupConcatFinalize // sqlite3.c:123356:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4504)) = groupConcatValue // sqlite3.c:123356:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4512)) = groupConcatInverse // sqlite3.c:123356:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4544 /* .pUserData */)) = uintptr(unsafe.Pointer(&globInfo)) // sqlite3.c:123359:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4560)) = likeFunc // sqlite3.c:123359:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4616 /* .pUserData */)) = uintptr(unsafe.Pointer(&likeInfoNorm)) // sqlite3.c:123364:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4632)) = likeFunc // sqlite3.c:123364:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4688 /* .pUserData */)) = uintptr(unsafe.Pointer(&likeInfoNorm)) // sqlite3.c:123365:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4704)) = likeFunc // sqlite3.c:123365:5: - *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4904)) = xCeil // sqlite3.c:123373:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4920)) = ceilingFunc // sqlite3.c:123373:5: - *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4976)) = xCeil // sqlite3.c:123374:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4992)) = ceilingFunc // sqlite3.c:123374:5: - *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5048)) = xFloor // sqlite3.c:123375:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5064)) = ceilingFunc // sqlite3.c:123375:5: - *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5120)) = libc.Xtrunc // sqlite3.c:123377:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5136)) = ceilingFunc // sqlite3.c:123377:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5208)) = logFunc // sqlite3.c:123379:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5280)) = logFunc // sqlite3.c:123380:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5352)) = logFunc // sqlite3.c:123381:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5424)) = logFunc // sqlite3.c:123382:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5496)) = logFunc // sqlite3.c:123383:5: - *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5552)) = libc.Xexp // sqlite3.c:123384:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5568)) = math1Func // sqlite3.c:123384:5: - *(*func(*libc.TLS, float64, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5624)) = libc.Xpow // sqlite3.c:123385:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5640)) = math2Func // sqlite3.c:123385:5: - *(*func(*libc.TLS, float64, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5696)) = libc.Xpow // sqlite3.c:123386:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5712)) = math2Func // sqlite3.c:123386:5: - *(*func(*libc.TLS, float64, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5768)) = libc.Xfmod // sqlite3.c:123387:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5784)) = math2Func // sqlite3.c:123387:5: - *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5840)) = libc.Xacos // sqlite3.c:123388:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5856)) = math1Func // sqlite3.c:123388:5: - *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5912)) = libc.Xasin // sqlite3.c:123389:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5928)) = math1Func // sqlite3.c:123389:5: - *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5984)) = libc.Xatan // sqlite3.c:123390:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6000)) = math1Func // sqlite3.c:123390:5: - *(*func(*libc.TLS, float64, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6056)) = libc.Xatan2 // sqlite3.c:123391:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6072)) = math2Func // sqlite3.c:123391:5: - *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6128)) = libc.Xcos // sqlite3.c:123392:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6144)) = math1Func // sqlite3.c:123392:5: - *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6200)) = libc.Xsin // sqlite3.c:123393:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6216)) = math1Func // sqlite3.c:123393:5: - *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6272)) = libc.Xtan // sqlite3.c:123394:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6288)) = math1Func // sqlite3.c:123394:5: - *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6344)) = libc.Xcosh // sqlite3.c:123395:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6360)) = math1Func // sqlite3.c:123395:5: - *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6416)) = libc.Xsinh // sqlite3.c:123396:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6432)) = math1Func // sqlite3.c:123396:5: - *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6488)) = libc.Xtanh // sqlite3.c:123397:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6504)) = math1Func // sqlite3.c:123397:5: - *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6560)) = libc.Xacosh // sqlite3.c:123399:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6576)) = math1Func // sqlite3.c:123399:5: - *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6632)) = libc.Xasinh // sqlite3.c:123400:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6648)) = math1Func // sqlite3.c:123400:5: - *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6704)) = libc.Xatanh // sqlite3.c:123401:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6720)) = math1Func // sqlite3.c:123401:5: - *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6776)) = libc.Xsqrt // sqlite3.c:123403:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6792)) = math1Func // sqlite3.c:123403:5: - *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6848)) = degToRad // sqlite3.c:123404:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6864)) = math1Func // sqlite3.c:123404:5: - *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6920)) = radToDeg // sqlite3.c:123405:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6936)) = math1Func // sqlite3.c:123405:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 7008)) = piFunc // sqlite3.c:123406:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 7080)) = signFunc // sqlite3.c:123408:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 7152)) = versionFunc // sqlite3.c:123409:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 7224)) = versionFunc // sqlite3.c:123410:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aAgg)) + 0)) = geopolyBBoxStep // sqlite3.c:202042:8: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aAgg)) + 8)) = geopolyBBoxFinal // sqlite3.c:202042:25: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aAlterTableFuncs)) + 24)) = renameColumnFunc // sqlite3.c:111080:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aAlterTableFuncs)) + 96)) = renameTableFunc // sqlite3.c:111081:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aAlterTableFuncs)) + 168)) = renameTableTest // sqlite3.c:111082:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aAlterTableFuncs)) + 240)) = dropColumnFunc // sqlite3.c:111083:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aAlterTableFuncs)) + 312)) = renameQuotefixFunc // sqlite3.c:111084:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 24)) = versionFunc // sqlite3.c:123285:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 96)) = versionFunc // sqlite3.c:123286:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 168)) = versionFunc // sqlite3.c:123287:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 240)) = versionFunc // sqlite3.c:123288:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 312)) = soundexFunc // sqlite3.c:123292:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 384)) = loadExt // sqlite3.c:123295:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 456)) = loadExt // sqlite3.c:123296:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 528)) = compileoptionusedFunc // sqlite3.c:123302:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 600)) = compileoptiongetFunc // sqlite3.c:123303:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 672)) = versionFunc // sqlite3.c:123305:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 744)) = versionFunc // sqlite3.c:123306:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 816)) = versionFunc // sqlite3.c:123307:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 888)) = versionFunc // sqlite3.c:123310:12: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 960)) = trimFunc // sqlite3.c:123312:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1032)) = trimFunc // sqlite3.c:123313:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1104)) = trimFunc // sqlite3.c:123314:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1176)) = trimFunc // sqlite3.c:123315:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1248)) = trimFunc // sqlite3.c:123316:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1320)) = trimFunc // sqlite3.c:123317:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1392)) = minmaxFunc // sqlite3.c:123318:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1536)) = minmaxStep // sqlite3.c:123320:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1544)) = minMaxFinalize // sqlite3.c:123320:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1552)) = minMaxValue // sqlite3.c:123320:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1608)) = minmaxFunc // sqlite3.c:123322:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1752)) = minmaxStep // sqlite3.c:123324:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1760)) = minMaxFinalize // sqlite3.c:123324:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1768)) = minMaxValue // sqlite3.c:123324:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1824)) = typeofFunc // sqlite3.c:123326:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1896)) = subtypeFunc // sqlite3.c:123327:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1968)) = lengthFunc // sqlite3.c:123328:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2040)) = instrFunc // sqlite3.c:123329:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2112)) = printfFunc // sqlite3.c:123330:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2184)) = printfFunc // sqlite3.c:123331:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2256)) = unicodeFunc // sqlite3.c:123332:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2328)) = charFunc // sqlite3.c:123333:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2400)) = absFunc // sqlite3.c:123334:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2472)) = roundFunc // sqlite3.c:123336:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2544)) = roundFunc // sqlite3.c:123337:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2616)) = upperFunc // sqlite3.c:123339:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2688)) = lowerFunc // sqlite3.c:123340:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2760)) = hexFunc // sqlite3.c:123341:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2832)) = versionFunc // sqlite3.c:123342:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2904)) = randomFunc // sqlite3.c:123343:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2976)) = randomBlob // sqlite3.c:123344:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3048)) = nullifFunc // sqlite3.c:123345:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3120)) = versionFunc // sqlite3.c:123346:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3192)) = sourceidFunc // sqlite3.c:123347:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3264)) = errlogFunc // sqlite3.c:123348:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3336)) = quoteFunc // sqlite3.c:123349:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3408)) = last_insert_rowid // sqlite3.c:123350:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3480)) = changes // sqlite3.c:123351:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3552)) = total_changes // sqlite3.c:123352:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3624)) = replaceFunc // sqlite3.c:123353:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3696)) = zeroblobFunc // sqlite3.c:123354:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3768)) = substrFunc // sqlite3.c:123355:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3840)) = substrFunc // sqlite3.c:123356:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3912)) = substrFunc // sqlite3.c:123357:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3984)) = substrFunc // sqlite3.c:123358:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4056)) = sumStep // sqlite3.c:123359:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4064)) = sumFinalize // sqlite3.c:123359:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4072)) = sumFinalize // sqlite3.c:123359:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4080)) = sumInverse // sqlite3.c:123359:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4128)) = sumStep // sqlite3.c:123360:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4136)) = totalFinalize // sqlite3.c:123360:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4144)) = totalFinalize // sqlite3.c:123360:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4152)) = sumInverse // sqlite3.c:123360:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4200)) = sumStep // sqlite3.c:123361:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4208)) = avgFinalize // sqlite3.c:123361:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4216)) = avgFinalize // sqlite3.c:123361:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4224)) = sumInverse // sqlite3.c:123361:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4272)) = countStep // sqlite3.c:123362:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4280)) = countFinalize // sqlite3.c:123362:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4288)) = countFinalize // sqlite3.c:123362:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4296)) = countInverse // sqlite3.c:123362:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4344)) = countStep // sqlite3.c:123365:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4352)) = countFinalize // sqlite3.c:123365:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4360)) = countFinalize // sqlite3.c:123365:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4368)) = countInverse // sqlite3.c:123365:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4416)) = groupConcatStep // sqlite3.c:123367:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4424)) = groupConcatFinalize // sqlite3.c:123367:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4432)) = groupConcatValue // sqlite3.c:123367:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4440)) = groupConcatInverse // sqlite3.c:123367:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4488)) = groupConcatStep // sqlite3.c:123369:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4496)) = groupConcatFinalize // sqlite3.c:123369:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4504)) = groupConcatValue // sqlite3.c:123369:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4512)) = groupConcatInverse // sqlite3.c:123369:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4544 /* .pUserData */)) = uintptr(unsafe.Pointer(&globInfo)) // sqlite3.c:123372:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4560)) = likeFunc // sqlite3.c:123372:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4616 /* .pUserData */)) = uintptr(unsafe.Pointer(&likeInfoNorm)) // sqlite3.c:123377:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4632)) = likeFunc // sqlite3.c:123377:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4688 /* .pUserData */)) = uintptr(unsafe.Pointer(&likeInfoNorm)) // sqlite3.c:123378:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4704)) = likeFunc // sqlite3.c:123378:5: + *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4904)) = xCeil // sqlite3.c:123386:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4920)) = ceilingFunc // sqlite3.c:123386:5: + *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4976)) = xCeil // sqlite3.c:123387:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4992)) = ceilingFunc // sqlite3.c:123387:5: + *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5048)) = xFloor // sqlite3.c:123388:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5064)) = ceilingFunc // sqlite3.c:123388:5: + *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5120)) = libc.Xtrunc // sqlite3.c:123390:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5136)) = ceilingFunc // sqlite3.c:123390:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5208)) = logFunc // sqlite3.c:123392:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5280)) = logFunc // sqlite3.c:123393:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5352)) = logFunc // sqlite3.c:123394:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5424)) = logFunc // sqlite3.c:123395:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5496)) = logFunc // sqlite3.c:123396:5: + *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5552)) = libc.Xexp // sqlite3.c:123397:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5568)) = math1Func // sqlite3.c:123397:5: + *(*func(*libc.TLS, float64, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5624)) = libc.Xpow // sqlite3.c:123398:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5640)) = math2Func // sqlite3.c:123398:5: + *(*func(*libc.TLS, float64, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5696)) = libc.Xpow // sqlite3.c:123399:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5712)) = math2Func // sqlite3.c:123399:5: + *(*func(*libc.TLS, float64, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5768)) = libc.Xfmod // sqlite3.c:123400:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5784)) = math2Func // sqlite3.c:123400:5: + *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5840)) = libc.Xacos // sqlite3.c:123401:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5856)) = math1Func // sqlite3.c:123401:5: + *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5912)) = libc.Xasin // sqlite3.c:123402:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5928)) = math1Func // sqlite3.c:123402:5: + *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5984)) = libc.Xatan // sqlite3.c:123403:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6000)) = math1Func // sqlite3.c:123403:5: + *(*func(*libc.TLS, float64, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6056)) = libc.Xatan2 // sqlite3.c:123404:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6072)) = math2Func // sqlite3.c:123404:5: + *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6128)) = libc.Xcos // sqlite3.c:123405:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6144)) = math1Func // sqlite3.c:123405:5: + *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6200)) = libc.Xsin // sqlite3.c:123406:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6216)) = math1Func // sqlite3.c:123406:5: + *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6272)) = libc.Xtan // sqlite3.c:123407:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6288)) = math1Func // sqlite3.c:123407:5: + *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6344)) = libc.Xcosh // sqlite3.c:123408:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6360)) = math1Func // sqlite3.c:123408:5: + *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6416)) = libc.Xsinh // sqlite3.c:123409:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6432)) = math1Func // sqlite3.c:123409:5: + *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6488)) = libc.Xtanh // sqlite3.c:123410:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6504)) = math1Func // sqlite3.c:123410:5: + *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6560)) = libc.Xacosh // sqlite3.c:123412:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6576)) = math1Func // sqlite3.c:123412:5: + *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6632)) = libc.Xasinh // sqlite3.c:123413:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6648)) = math1Func // sqlite3.c:123413:5: + *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6704)) = libc.Xatanh // sqlite3.c:123414:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6720)) = math1Func // sqlite3.c:123414:5: + *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6776)) = libc.Xsqrt // sqlite3.c:123416:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6792)) = math1Func // sqlite3.c:123416:5: + *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6848)) = degToRad // sqlite3.c:123417:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6864)) = math1Func // sqlite3.c:123417:5: + *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6920)) = radToDeg // sqlite3.c:123418:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6936)) = math1Func // sqlite3.c:123418:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 7008)) = piFunc // sqlite3.c:123419:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 7080)) = signFunc // sqlite3.c:123421:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 7152)) = versionFunc // sqlite3.c:123422:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 7224)) = versionFunc // sqlite3.c:123423:5: *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aDateTimeFuncs)) + 8 /* .pUserData */)) = uintptr(unsafe.Pointer(&Xsqlite3Config)) // sqlite3.c:24402:5: *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aDateTimeFuncs)) + 24)) = juliandayFunc // sqlite3.c:24402:5: *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aDateTimeFuncs)) + 80 /* .pUserData */)) = uintptr(unsafe.Pointer(&Xsqlite3Config)) // sqlite3.c:24403:5: @@ -209117,50 +209167,50 @@ func init() { *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aDateTimeFuncs)) + 456)) = ctimeFunc // sqlite3.c:24408:5: *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aDateTimeFuncs)) + 528)) = ctimestampFunc // sqlite3.c:24409:5: *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aDateTimeFuncs)) + 600)) = cdateFunc // sqlite3.c:24410:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 0)) = geopolyAreaFunc // sqlite3.c:201967:8: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 24)) = geopolyBlobFunc // sqlite3.c:201968:8: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 48)) = geopolyJsonFunc // sqlite3.c:201969:8: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 72)) = geopolySvgFunc // sqlite3.c:201970:8: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 96)) = geopolyWithinFunc // sqlite3.c:201971:8: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 120)) = geopolyContainsPointFunc // sqlite3.c:201972:8: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 144)) = geopolyOverlapFunc // sqlite3.c:201973:8: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 168)) = geopolyDebugFunc // sqlite3.c:201974:8: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 192)) = geopolyBBoxFunc // sqlite3.c:201975:8: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 216)) = geopolyXformFunc // sqlite3.c:201976:8: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 240)) = geopolyRegularFunc // sqlite3.c:201977:8: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 264)) = geopolyCcwFunc // sqlite3.c:201978:8: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 24)) = jsonRemoveFunc // sqlite3.c:195736:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 96)) = jsonArrayFunc // sqlite3.c:195737:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 168)) = jsonArrayLengthFunc // sqlite3.c:195738:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 240)) = jsonArrayLengthFunc // sqlite3.c:195739:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 312)) = jsonExtractFunc // sqlite3.c:195740:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 384)) = jsonExtractFunc // sqlite3.c:195741:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 456)) = jsonExtractFunc // sqlite3.c:195742:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 528)) = jsonSetFunc // sqlite3.c:195743:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 600)) = jsonObjectFunc // sqlite3.c:195744:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 672)) = jsonPatchFunc // sqlite3.c:195745:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 744)) = jsonQuoteFunc // sqlite3.c:195746:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 816)) = jsonRemoveFunc // sqlite3.c:195747:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 888)) = jsonReplaceFunc // sqlite3.c:195748:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 960)) = jsonSetFunc // sqlite3.c:195749:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 1032)) = jsonTypeFunc // sqlite3.c:195750:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 1104)) = jsonTypeFunc // sqlite3.c:195751:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 1176)) = jsonValidFunc // sqlite3.c:195752:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 1248)) = jsonArrayStep // sqlite3.c:195757:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 1256)) = jsonArrayFinal // sqlite3.c:195757:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 1264)) = jsonArrayValue // sqlite3.c:195757:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 1272)) = jsonGroupInverse // sqlite3.c:195757:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 1320)) = jsonObjectStep // sqlite3.c:195760:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 1328)) = jsonObjectFinal // sqlite3.c:195760:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 1336)) = jsonObjectValue // sqlite3.c:195760:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 1344)) = jsonGroupInverse // sqlite3.c:195760:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aMap)) + 8 /* .pMethods */)) = uintptr(unsafe.Pointer(&posixIoMethods)) // sqlite3.c:40308:17: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aMap)) + 24 /* .pMethods */)) = uintptr(unsafe.Pointer(&posixIoMethods)) // sqlite3.c:40309:17: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aMap)) + 40 /* .pMethods */)) = uintptr(unsafe.Pointer(&afpIoMethods)) // sqlite3.c:40310:17: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aMap)) + 56 /* .pMethods */)) = uintptr(unsafe.Pointer(&afpIoMethods)) // sqlite3.c:40311:17: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aMap)) + 72 /* .pMethods */)) = uintptr(unsafe.Pointer(&nolockIoMethods)) // sqlite3.c:40312:17: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aMod)) + 8 /* .pModule */)) = uintptr(unsafe.Pointer(&jsonEachModule)) // sqlite3.c:195778:31: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aMod)) + 24 /* .pModule */)) = uintptr(unsafe.Pointer(&jsonTreeModule)) // sqlite3.c:195779:31: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 0)) = geopolyAreaFunc // sqlite3.c:202024:8: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 24)) = geopolyBlobFunc // sqlite3.c:202025:8: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 48)) = geopolyJsonFunc // sqlite3.c:202026:8: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 72)) = geopolySvgFunc // sqlite3.c:202027:8: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 96)) = geopolyWithinFunc // sqlite3.c:202028:8: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 120)) = geopolyContainsPointFunc // sqlite3.c:202029:8: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 144)) = geopolyOverlapFunc // sqlite3.c:202030:8: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 168)) = geopolyDebugFunc // sqlite3.c:202031:8: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 192)) = geopolyBBoxFunc // sqlite3.c:202032:8: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 216)) = geopolyXformFunc // sqlite3.c:202033:8: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 240)) = geopolyRegularFunc // sqlite3.c:202034:8: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 264)) = geopolyCcwFunc // sqlite3.c:202035:8: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 24)) = jsonRemoveFunc // sqlite3.c:195793:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 96)) = jsonArrayFunc // sqlite3.c:195794:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 168)) = jsonArrayLengthFunc // sqlite3.c:195795:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 240)) = jsonArrayLengthFunc // sqlite3.c:195796:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 312)) = jsonExtractFunc // sqlite3.c:195797:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 384)) = jsonExtractFunc // sqlite3.c:195798:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 456)) = jsonExtractFunc // sqlite3.c:195799:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 528)) = jsonSetFunc // sqlite3.c:195800:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 600)) = jsonObjectFunc // sqlite3.c:195801:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 672)) = jsonPatchFunc // sqlite3.c:195802:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 744)) = jsonQuoteFunc // sqlite3.c:195803:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 816)) = jsonRemoveFunc // sqlite3.c:195804:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 888)) = jsonReplaceFunc // sqlite3.c:195805:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 960)) = jsonSetFunc // sqlite3.c:195806:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 1032)) = jsonTypeFunc // sqlite3.c:195807:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 1104)) = jsonTypeFunc // sqlite3.c:195808:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 1176)) = jsonValidFunc // sqlite3.c:195809:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 1248)) = jsonArrayStep // sqlite3.c:195814:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 1256)) = jsonArrayFinal // sqlite3.c:195814:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 1264)) = jsonArrayValue // sqlite3.c:195814:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 1272)) = jsonGroupInverse // sqlite3.c:195814:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 1320)) = jsonObjectStep // sqlite3.c:195817:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 1328)) = jsonObjectFinal // sqlite3.c:195817:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 1336)) = jsonObjectValue // sqlite3.c:195817:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 1344)) = jsonGroupInverse // sqlite3.c:195817:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aMap)) + 8 /* .pMethods */)) = uintptr(unsafe.Pointer(&posixIoMethods)) // sqlite3.c:40314:17: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aMap)) + 24 /* .pMethods */)) = uintptr(unsafe.Pointer(&posixIoMethods)) // sqlite3.c:40315:17: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aMap)) + 40 /* .pMethods */)) = uintptr(unsafe.Pointer(&afpIoMethods)) // sqlite3.c:40316:17: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aMap)) + 56 /* .pMethods */)) = uintptr(unsafe.Pointer(&afpIoMethods)) // sqlite3.c:40317:17: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aMap)) + 72 /* .pMethods */)) = uintptr(unsafe.Pointer(&nolockIoMethods)) // sqlite3.c:40318:17: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aMod)) + 8 /* .pModule */)) = uintptr(unsafe.Pointer(&jsonEachModule)) // sqlite3.c:195835:31: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aMod)) + 24 /* .pModule */)) = uintptr(unsafe.Pointer(&jsonTreeModule)) // sqlite3.c:195836:31: *(*Sqlite3_syscall_ptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 8 /* .pCurrent */)) = *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, int32) int32 }{posixOpen})) // sqlite3.c:35170:21: @@ -209227,254 +209277,254 @@ func init() { *(*Sqlite3_syscall_ptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 656 /* .pCurrent */)) = *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr) int32 }{libc.Xlstat})) // sqlite3.c:35313:22: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 32 /* .pAppData */)) = uintptr(unsafe.Pointer(&autolockIoFinder)) // sqlite3.c:42838:5: - *(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 40)) = unixOpen // sqlite3.c:42838:5: - *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 48)) = unixDelete // sqlite3.c:42838:5: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 56)) = unixAccess // sqlite3.c:42838:5: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 64)) = unixFullPathname // sqlite3.c:42838:5: - *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 72)) = unixDlOpen // sqlite3.c:42838:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 80)) = unixDlError // sqlite3.c:42838:5: - *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 88)) = unixDlSym // sqlite3.c:42838:5: - *(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 96)) = unixDlClose // sqlite3.c:42838:5: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 104)) = unixRandomness // sqlite3.c:42838:5: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 112)) = unixSleep // sqlite3.c:42838:5: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 120)) = unixCurrentTime // sqlite3.c:42838:5: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 128)) = unixGetLastError // sqlite3.c:42838:5: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 136)) = unixCurrentTimeInt64 // sqlite3.c:42838:5: - *(*func(*libc.TLS, uintptr, uintptr, Sqlite3_syscall_ptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 144)) = unixSetSystemCall // sqlite3.c:42838:5: - *(*func(*libc.TLS, uintptr, uintptr) Sqlite3_syscall_ptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 152)) = unixGetSystemCall // sqlite3.c:42838:5: - *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 160)) = unixNextSystemCall // sqlite3.c:42838:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 200 /* .pAppData */)) = uintptr(unsafe.Pointer(&nolockIoFinder)) // sqlite3.c:42844:5: - *(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 208)) = unixOpen // sqlite3.c:42844:5: - *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 216)) = unixDelete // sqlite3.c:42844:5: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 224)) = unixAccess // sqlite3.c:42844:5: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 232)) = unixFullPathname // sqlite3.c:42844:5: - *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 240)) = unixDlOpen // sqlite3.c:42844:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 248)) = unixDlError // sqlite3.c:42844:5: - *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 256)) = unixDlSym // sqlite3.c:42844:5: - *(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 264)) = unixDlClose // sqlite3.c:42844:5: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 272)) = unixRandomness // sqlite3.c:42844:5: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 280)) = unixSleep // sqlite3.c:42844:5: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 288)) = unixCurrentTime // sqlite3.c:42844:5: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 296)) = unixGetLastError // sqlite3.c:42844:5: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 304)) = unixCurrentTimeInt64 // sqlite3.c:42844:5: - *(*func(*libc.TLS, uintptr, uintptr, Sqlite3_syscall_ptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 312)) = unixSetSystemCall // sqlite3.c:42844:5: - *(*func(*libc.TLS, uintptr, uintptr) Sqlite3_syscall_ptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 320)) = unixGetSystemCall // sqlite3.c:42844:5: - *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 328)) = unixNextSystemCall // sqlite3.c:42844:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 368 /* .pAppData */)) = uintptr(unsafe.Pointer(&dotlockIoFinder)) // sqlite3.c:42845:5: - *(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 376)) = unixOpen // sqlite3.c:42845:5: - *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 384)) = unixDelete // sqlite3.c:42845:5: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 392)) = unixAccess // sqlite3.c:42845:5: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 400)) = unixFullPathname // sqlite3.c:42845:5: - *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 408)) = unixDlOpen // sqlite3.c:42845:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 416)) = unixDlError // sqlite3.c:42845:5: - *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 424)) = unixDlSym // sqlite3.c:42845:5: - *(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 432)) = unixDlClose // sqlite3.c:42845:5: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 440)) = unixRandomness // sqlite3.c:42845:5: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 448)) = unixSleep // sqlite3.c:42845:5: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 456)) = unixCurrentTime // sqlite3.c:42845:5: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 464)) = unixGetLastError // sqlite3.c:42845:5: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 472)) = unixCurrentTimeInt64 // sqlite3.c:42845:5: - *(*func(*libc.TLS, uintptr, uintptr, Sqlite3_syscall_ptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 480)) = unixSetSystemCall // sqlite3.c:42845:5: - *(*func(*libc.TLS, uintptr, uintptr) Sqlite3_syscall_ptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 488)) = unixGetSystemCall // sqlite3.c:42845:5: - *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 496)) = unixNextSystemCall // sqlite3.c:42845:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 536 /* .pAppData */)) = uintptr(unsafe.Pointer(&posixIoFinder)) // sqlite3.c:42846:5: - *(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 544)) = unixOpen // sqlite3.c:42846:5: - *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 552)) = unixDelete // sqlite3.c:42846:5: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 560)) = unixAccess // sqlite3.c:42846:5: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 568)) = unixFullPathname // sqlite3.c:42846:5: - *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 576)) = unixDlOpen // sqlite3.c:42846:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 584)) = unixDlError // sqlite3.c:42846:5: - *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 592)) = unixDlSym // sqlite3.c:42846:5: - *(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 600)) = unixDlClose // sqlite3.c:42846:5: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 608)) = unixRandomness // sqlite3.c:42846:5: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 616)) = unixSleep // sqlite3.c:42846:5: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 624)) = unixCurrentTime // sqlite3.c:42846:5: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 632)) = unixGetLastError // sqlite3.c:42846:5: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 640)) = unixCurrentTimeInt64 // sqlite3.c:42846:5: - *(*func(*libc.TLS, uintptr, uintptr, Sqlite3_syscall_ptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 648)) = unixSetSystemCall // sqlite3.c:42846:5: - *(*func(*libc.TLS, uintptr, uintptr) Sqlite3_syscall_ptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 656)) = unixGetSystemCall // sqlite3.c:42846:5: - *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 664)) = unixNextSystemCall // sqlite3.c:42846:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 704 /* .pAppData */)) = uintptr(unsafe.Pointer(&posixIoFinder)) // sqlite3.c:42851:5: - *(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 712)) = unixOpen // sqlite3.c:42851:5: - *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 720)) = unixDelete // sqlite3.c:42851:5: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 728)) = unixAccess // sqlite3.c:42851:5: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 736)) = unixFullPathname // sqlite3.c:42851:5: - *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 744)) = unixDlOpen // sqlite3.c:42851:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 752)) = unixDlError // sqlite3.c:42851:5: - *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 760)) = unixDlSym // sqlite3.c:42851:5: - *(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 768)) = unixDlClose // sqlite3.c:42851:5: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 776)) = unixRandomness // sqlite3.c:42851:5: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 784)) = unixSleep // sqlite3.c:42851:5: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 792)) = unixCurrentTime // sqlite3.c:42851:5: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 800)) = unixGetLastError // sqlite3.c:42851:5: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 808)) = unixCurrentTimeInt64 // sqlite3.c:42851:5: - *(*func(*libc.TLS, uintptr, uintptr, Sqlite3_syscall_ptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 816)) = unixSetSystemCall // sqlite3.c:42851:5: - *(*func(*libc.TLS, uintptr, uintptr) Sqlite3_syscall_ptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 824)) = unixGetSystemCall // sqlite3.c:42851:5: - *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 832)) = unixNextSystemCall // sqlite3.c:42851:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 872 /* .pAppData */)) = uintptr(unsafe.Pointer(&flockIoFinder)) // sqlite3.c:42854:5: - *(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 880)) = unixOpen // sqlite3.c:42854:5: - *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 888)) = unixDelete // sqlite3.c:42854:5: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 896)) = unixAccess // sqlite3.c:42854:5: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 904)) = unixFullPathname // sqlite3.c:42854:5: - *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 912)) = unixDlOpen // sqlite3.c:42854:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 920)) = unixDlError // sqlite3.c:42854:5: - *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 928)) = unixDlSym // sqlite3.c:42854:5: - *(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 936)) = unixDlClose // sqlite3.c:42854:5: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 944)) = unixRandomness // sqlite3.c:42854:5: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 952)) = unixSleep // sqlite3.c:42854:5: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 960)) = unixCurrentTime // sqlite3.c:42854:5: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 968)) = unixGetLastError // sqlite3.c:42854:5: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 976)) = unixCurrentTimeInt64 // sqlite3.c:42854:5: - *(*func(*libc.TLS, uintptr, uintptr, Sqlite3_syscall_ptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 984)) = unixSetSystemCall // sqlite3.c:42854:5: - *(*func(*libc.TLS, uintptr, uintptr) Sqlite3_syscall_ptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 992)) = unixGetSystemCall // sqlite3.c:42854:5: - *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 1000)) = unixNextSystemCall // sqlite3.c:42854:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 1040 /* .pAppData */)) = uintptr(unsafe.Pointer(&afpIoFinder)) // sqlite3.c:42857:5: - *(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 1048)) = unixOpen // sqlite3.c:42857:5: - *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 1056)) = unixDelete // sqlite3.c:42857:5: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 1064)) = unixAccess // sqlite3.c:42857:5: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 1072)) = unixFullPathname // sqlite3.c:42857:5: - *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 1080)) = unixDlOpen // sqlite3.c:42857:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 1088)) = unixDlError // sqlite3.c:42857:5: - *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 1096)) = unixDlSym // sqlite3.c:42857:5: - *(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 1104)) = unixDlClose // sqlite3.c:42857:5: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 1112)) = unixRandomness // sqlite3.c:42857:5: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 1120)) = unixSleep // sqlite3.c:42857:5: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 1128)) = unixCurrentTime // sqlite3.c:42857:5: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 1136)) = unixGetLastError // sqlite3.c:42857:5: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 1144)) = unixCurrentTimeInt64 // sqlite3.c:42857:5: - *(*func(*libc.TLS, uintptr, uintptr, Sqlite3_syscall_ptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 1152)) = unixSetSystemCall // sqlite3.c:42857:5: - *(*func(*libc.TLS, uintptr, uintptr) Sqlite3_syscall_ptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 1160)) = unixGetSystemCall // sqlite3.c:42857:5: - *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 1168)) = unixNextSystemCall // sqlite3.c:42857:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 1208 /* .pAppData */)) = uintptr(unsafe.Pointer(&nfsIoFinder)) // sqlite3.c:42858:5: - *(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 1216)) = unixOpen // sqlite3.c:42858:5: - *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 1224)) = unixDelete // sqlite3.c:42858:5: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 1232)) = unixAccess // sqlite3.c:42858:5: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 1240)) = unixFullPathname // sqlite3.c:42858:5: - *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 1248)) = unixDlOpen // sqlite3.c:42858:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 1256)) = unixDlError // sqlite3.c:42858:5: - *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 1264)) = unixDlSym // sqlite3.c:42858:5: - *(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 1272)) = unixDlClose // sqlite3.c:42858:5: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 1280)) = unixRandomness // sqlite3.c:42858:5: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 1288)) = unixSleep // sqlite3.c:42858:5: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 1296)) = unixCurrentTime // sqlite3.c:42858:5: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 1304)) = unixGetLastError // sqlite3.c:42858:5: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 1312)) = unixCurrentTimeInt64 // sqlite3.c:42858:5: - *(*func(*libc.TLS, uintptr, uintptr, Sqlite3_syscall_ptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 1320)) = unixSetSystemCall // sqlite3.c:42858:5: - *(*func(*libc.TLS, uintptr, uintptr) Sqlite3_syscall_ptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 1328)) = unixGetSystemCall // sqlite3.c:42858:5: - *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 1336)) = unixNextSystemCall // sqlite3.c:42858:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 1376 /* .pAppData */)) = uintptr(unsafe.Pointer(&proxyIoFinder)) // sqlite3.c:42859:5: - *(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 1384)) = unixOpen // sqlite3.c:42859:5: - *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 1392)) = unixDelete // sqlite3.c:42859:5: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 1400)) = unixAccess // sqlite3.c:42859:5: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 1408)) = unixFullPathname // sqlite3.c:42859:5: - *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 1416)) = unixDlOpen // sqlite3.c:42859:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 1424)) = unixDlError // sqlite3.c:42859:5: - *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 1432)) = unixDlSym // sqlite3.c:42859:5: - *(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 1440)) = unixDlClose // sqlite3.c:42859:5: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 1448)) = unixRandomness // sqlite3.c:42859:5: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 1456)) = unixSleep // sqlite3.c:42859:5: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 1464)) = unixCurrentTime // sqlite3.c:42859:5: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 1472)) = unixGetLastError // sqlite3.c:42859:5: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 1480)) = unixCurrentTimeInt64 // sqlite3.c:42859:5: - *(*func(*libc.TLS, uintptr, uintptr, Sqlite3_syscall_ptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 1488)) = unixSetSystemCall // sqlite3.c:42859:5: - *(*func(*libc.TLS, uintptr, uintptr) Sqlite3_syscall_ptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 1496)) = unixGetSystemCall // sqlite3.c:42859:5: - *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 1504)) = unixNextSystemCall // sqlite3.c:42859:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 24)) = row_numberStepFunc // sqlite3.c:158796:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 32)) = row_numberValueFunc // sqlite3.c:158796:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 40)) = row_numberValueFunc // sqlite3.c:158796:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 48)) = noopStepFunc // sqlite3.c:158796:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 56 /* .zName */)) = uintptr(unsafe.Pointer(&row_numberName)) // sqlite3.c:158796:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 96)) = dense_rankStepFunc // sqlite3.c:158797:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 104)) = dense_rankValueFunc // sqlite3.c:158797:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 112)) = dense_rankValueFunc // sqlite3.c:158797:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 120)) = noopStepFunc // sqlite3.c:158797:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 128 /* .zName */)) = uintptr(unsafe.Pointer(&dense_rankName)) // sqlite3.c:158797:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 168)) = rankStepFunc // sqlite3.c:158798:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 176)) = rankValueFunc // sqlite3.c:158798:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 184)) = rankValueFunc // sqlite3.c:158798:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 192)) = noopStepFunc // sqlite3.c:158798:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 200 /* .zName */)) = uintptr(unsafe.Pointer(&rankName)) // sqlite3.c:158798:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 240)) = percent_rankStepFunc // sqlite3.c:158799:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 248)) = percent_rankValueFunc // sqlite3.c:158799:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 256)) = percent_rankValueFunc // sqlite3.c:158799:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 264)) = percent_rankInvFunc // sqlite3.c:158799:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 272 /* .zName */)) = uintptr(unsafe.Pointer(&percent_rankName)) // sqlite3.c:158799:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 312)) = cume_distStepFunc // sqlite3.c:158800:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 320)) = cume_distValueFunc // sqlite3.c:158800:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 328)) = cume_distValueFunc // sqlite3.c:158800:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 336)) = cume_distInvFunc // sqlite3.c:158800:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 344 /* .zName */)) = uintptr(unsafe.Pointer(&cume_distName)) // sqlite3.c:158800:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 384)) = ntileStepFunc // sqlite3.c:158801:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 392)) = ntileValueFunc // sqlite3.c:158801:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 400)) = ntileValueFunc // sqlite3.c:158801:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 408)) = ntileInvFunc // sqlite3.c:158801:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 416 /* .zName */)) = uintptr(unsafe.Pointer(&ntileName)) // sqlite3.c:158801:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 456)) = last_valueStepFunc // sqlite3.c:158802:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 464)) = last_valueFinalizeFunc // sqlite3.c:158802:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 472)) = last_valueValueFunc // sqlite3.c:158802:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 480)) = last_valueInvFunc // sqlite3.c:158802:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 488 /* .zName */)) = uintptr(unsafe.Pointer(&last_valueName)) // sqlite3.c:158802:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 528)) = nth_valueStepFunc // sqlite3.c:158803:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 536)) = nth_valueFinalizeFunc // sqlite3.c:158803:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 544)) = noopValueFunc // sqlite3.c:158803:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 552)) = noopStepFunc // sqlite3.c:158803:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 560 /* .zName */)) = uintptr(unsafe.Pointer(&nth_valueName)) // sqlite3.c:158803:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 600)) = first_valueStepFunc // sqlite3.c:158804:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 608)) = first_valueFinalizeFunc // sqlite3.c:158804:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 616)) = noopValueFunc // sqlite3.c:158804:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 624)) = noopStepFunc // sqlite3.c:158804:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 632 /* .zName */)) = uintptr(unsafe.Pointer(&first_valueName)) // sqlite3.c:158804:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 672)) = noopStepFunc // sqlite3.c:158805:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 680)) = noopValueFunc // sqlite3.c:158805:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 688)) = noopValueFunc // sqlite3.c:158805:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 696)) = noopStepFunc // sqlite3.c:158805:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 704 /* .zName */)) = uintptr(unsafe.Pointer(&leadName)) // sqlite3.c:158805:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 744)) = noopStepFunc // sqlite3.c:158806:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 752)) = noopValueFunc // sqlite3.c:158806:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 760)) = noopValueFunc // sqlite3.c:158806:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 768)) = noopStepFunc // sqlite3.c:158806:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 776 /* .zName */)) = uintptr(unsafe.Pointer(&leadName)) // sqlite3.c:158806:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 816)) = noopStepFunc // sqlite3.c:158807:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 824)) = noopValueFunc // sqlite3.c:158807:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 832)) = noopValueFunc // sqlite3.c:158807:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 840)) = noopStepFunc // sqlite3.c:158807:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 848 /* .zName */)) = uintptr(unsafe.Pointer(&leadName)) // sqlite3.c:158807:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 888)) = noopStepFunc // sqlite3.c:158808:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 896)) = noopValueFunc // sqlite3.c:158808:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 904)) = noopValueFunc // sqlite3.c:158808:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 912)) = noopStepFunc // sqlite3.c:158808:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 920 /* .zName */)) = uintptr(unsafe.Pointer(&lagName)) // sqlite3.c:158808:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 960)) = noopStepFunc // sqlite3.c:158809:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 968)) = noopValueFunc // sqlite3.c:158809:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 976)) = noopValueFunc // sqlite3.c:158809:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 984)) = noopStepFunc // sqlite3.c:158809:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 992 /* .zName */)) = uintptr(unsafe.Pointer(&lagName)) // sqlite3.c:158809:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 1032)) = noopStepFunc // sqlite3.c:158810:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 1040)) = noopValueFunc // sqlite3.c:158810:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 1048)) = noopValueFunc // sqlite3.c:158810:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 1056)) = noopStepFunc // sqlite3.c:158810:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 1064 /* .zName */)) = uintptr(unsafe.Pointer(&lagName)) // sqlite3.c:158810:5: - *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&afpIoFinder)) + 0)) = afpIoFinderImpl // sqlite3.c:40240:1: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&afpIoMethods)) + 8)) = afpClose // sqlite3.c:40240:1: - *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&afpIoMethods)) + 16)) = unixRead // sqlite3.c:40240:1: - *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&afpIoMethods)) + 24)) = unixWrite // sqlite3.c:40240:1: - *(*func(*libc.TLS, uintptr, I64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&afpIoMethods)) + 32)) = unixTruncate // sqlite3.c:40240:1: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&afpIoMethods)) + 40)) = unixSync // sqlite3.c:40240:1: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&afpIoMethods)) + 48)) = unixFileSize // sqlite3.c:40240:1: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&afpIoMethods)) + 56)) = afpLock // sqlite3.c:40240:1: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&afpIoMethods)) + 64)) = afpUnlock // sqlite3.c:40240:1: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&afpIoMethods)) + 72)) = afpCheckReservedLock // sqlite3.c:40240:1: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&afpIoMethods)) + 80)) = unixFileControl // sqlite3.c:40240:1: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&afpIoMethods)) + 88)) = unixSectorSize // sqlite3.c:40240:1: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&afpIoMethods)) + 96)) = unixDeviceCharacteristics // sqlite3.c:40240:1: - *(*func(*libc.TLS, uintptr, int32, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&afpIoMethods)) + 112)) = unixShmLock // sqlite3.c:40240:1: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&afpIoMethods)) + 120)) = unixShmBarrier // sqlite3.c:40240:1: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&afpIoMethods)) + 128)) = unixShmUnmap // sqlite3.c:40240:1: - *(*func(*libc.TLS, uintptr, I64, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&afpIoMethods)) + 136)) = unixFetch // sqlite3.c:40240:1: - *(*func(*libc.TLS, uintptr, I64, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&afpIoMethods)) + 144)) = unixUnfetch // sqlite3.c:40240:1: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&attach_func)) + 24)) = attachFunc // sqlite3.c:113438:5: - *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&autolockIoFinder)) + 0)) = autolockIoFinderImpl // sqlite3.c:40354:55: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 32 /* .pAppData */)) = uintptr(unsafe.Pointer(&autolockIoFinder)) // sqlite3.c:42844:5: + *(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 40)) = unixOpen // sqlite3.c:42844:5: + *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 48)) = unixDelete // sqlite3.c:42844:5: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 56)) = unixAccess // sqlite3.c:42844:5: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 64)) = unixFullPathname // sqlite3.c:42844:5: + *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 72)) = unixDlOpen // sqlite3.c:42844:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 80)) = unixDlError // sqlite3.c:42844:5: + *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 88)) = unixDlSym // sqlite3.c:42844:5: + *(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 96)) = unixDlClose // sqlite3.c:42844:5: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 104)) = unixRandomness // sqlite3.c:42844:5: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 112)) = unixSleep // sqlite3.c:42844:5: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 120)) = unixCurrentTime // sqlite3.c:42844:5: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 128)) = unixGetLastError // sqlite3.c:42844:5: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 136)) = unixCurrentTimeInt64 // sqlite3.c:42844:5: + *(*func(*libc.TLS, uintptr, uintptr, Sqlite3_syscall_ptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 144)) = unixSetSystemCall // sqlite3.c:42844:5: + *(*func(*libc.TLS, uintptr, uintptr) Sqlite3_syscall_ptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 152)) = unixGetSystemCall // sqlite3.c:42844:5: + *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 160)) = unixNextSystemCall // sqlite3.c:42844:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 200 /* .pAppData */)) = uintptr(unsafe.Pointer(&nolockIoFinder)) // sqlite3.c:42850:5: + *(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 208)) = unixOpen // sqlite3.c:42850:5: + *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 216)) = unixDelete // sqlite3.c:42850:5: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 224)) = unixAccess // sqlite3.c:42850:5: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 232)) = unixFullPathname // sqlite3.c:42850:5: + *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 240)) = unixDlOpen // sqlite3.c:42850:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 248)) = unixDlError // sqlite3.c:42850:5: + *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 256)) = unixDlSym // sqlite3.c:42850:5: + *(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 264)) = unixDlClose // sqlite3.c:42850:5: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 272)) = unixRandomness // sqlite3.c:42850:5: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 280)) = unixSleep // sqlite3.c:42850:5: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 288)) = unixCurrentTime // sqlite3.c:42850:5: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 296)) = unixGetLastError // sqlite3.c:42850:5: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 304)) = unixCurrentTimeInt64 // sqlite3.c:42850:5: + *(*func(*libc.TLS, uintptr, uintptr, Sqlite3_syscall_ptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 312)) = unixSetSystemCall // sqlite3.c:42850:5: + *(*func(*libc.TLS, uintptr, uintptr) Sqlite3_syscall_ptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 320)) = unixGetSystemCall // sqlite3.c:42850:5: + *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 328)) = unixNextSystemCall // sqlite3.c:42850:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 368 /* .pAppData */)) = uintptr(unsafe.Pointer(&dotlockIoFinder)) // sqlite3.c:42851:5: + *(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 376)) = unixOpen // sqlite3.c:42851:5: + *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 384)) = unixDelete // sqlite3.c:42851:5: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 392)) = unixAccess // sqlite3.c:42851:5: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 400)) = unixFullPathname // sqlite3.c:42851:5: + *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 408)) = unixDlOpen // sqlite3.c:42851:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 416)) = unixDlError // sqlite3.c:42851:5: + *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 424)) = unixDlSym // sqlite3.c:42851:5: + *(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 432)) = unixDlClose // sqlite3.c:42851:5: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 440)) = unixRandomness // sqlite3.c:42851:5: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 448)) = unixSleep // sqlite3.c:42851:5: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 456)) = unixCurrentTime // sqlite3.c:42851:5: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 464)) = unixGetLastError // sqlite3.c:42851:5: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 472)) = unixCurrentTimeInt64 // sqlite3.c:42851:5: + *(*func(*libc.TLS, uintptr, uintptr, Sqlite3_syscall_ptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 480)) = unixSetSystemCall // sqlite3.c:42851:5: + *(*func(*libc.TLS, uintptr, uintptr) Sqlite3_syscall_ptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 488)) = unixGetSystemCall // sqlite3.c:42851:5: + *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 496)) = unixNextSystemCall // sqlite3.c:42851:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 536 /* .pAppData */)) = uintptr(unsafe.Pointer(&posixIoFinder)) // sqlite3.c:42852:5: + *(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 544)) = unixOpen // sqlite3.c:42852:5: + *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 552)) = unixDelete // sqlite3.c:42852:5: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 560)) = unixAccess // sqlite3.c:42852:5: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 568)) = unixFullPathname // sqlite3.c:42852:5: + *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 576)) = unixDlOpen // sqlite3.c:42852:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 584)) = unixDlError // sqlite3.c:42852:5: + *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 592)) = unixDlSym // sqlite3.c:42852:5: + *(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 600)) = unixDlClose // sqlite3.c:42852:5: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 608)) = unixRandomness // sqlite3.c:42852:5: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 616)) = unixSleep // sqlite3.c:42852:5: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 624)) = unixCurrentTime // sqlite3.c:42852:5: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 632)) = unixGetLastError // sqlite3.c:42852:5: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 640)) = unixCurrentTimeInt64 // sqlite3.c:42852:5: + *(*func(*libc.TLS, uintptr, uintptr, Sqlite3_syscall_ptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 648)) = unixSetSystemCall // sqlite3.c:42852:5: + *(*func(*libc.TLS, uintptr, uintptr) Sqlite3_syscall_ptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 656)) = unixGetSystemCall // sqlite3.c:42852:5: + *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 664)) = unixNextSystemCall // sqlite3.c:42852:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 704 /* .pAppData */)) = uintptr(unsafe.Pointer(&posixIoFinder)) // sqlite3.c:42857:5: + *(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 712)) = unixOpen // sqlite3.c:42857:5: + *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 720)) = unixDelete // sqlite3.c:42857:5: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 728)) = unixAccess // sqlite3.c:42857:5: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 736)) = unixFullPathname // sqlite3.c:42857:5: + *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 744)) = unixDlOpen // sqlite3.c:42857:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 752)) = unixDlError // sqlite3.c:42857:5: + *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 760)) = unixDlSym // sqlite3.c:42857:5: + *(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 768)) = unixDlClose // sqlite3.c:42857:5: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 776)) = unixRandomness // sqlite3.c:42857:5: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 784)) = unixSleep // sqlite3.c:42857:5: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 792)) = unixCurrentTime // sqlite3.c:42857:5: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 800)) = unixGetLastError // sqlite3.c:42857:5: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 808)) = unixCurrentTimeInt64 // sqlite3.c:42857:5: + *(*func(*libc.TLS, uintptr, uintptr, Sqlite3_syscall_ptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 816)) = unixSetSystemCall // sqlite3.c:42857:5: + *(*func(*libc.TLS, uintptr, uintptr) Sqlite3_syscall_ptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 824)) = unixGetSystemCall // sqlite3.c:42857:5: + *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 832)) = unixNextSystemCall // sqlite3.c:42857:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 872 /* .pAppData */)) = uintptr(unsafe.Pointer(&flockIoFinder)) // sqlite3.c:42860:5: + *(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 880)) = unixOpen // sqlite3.c:42860:5: + *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 888)) = unixDelete // sqlite3.c:42860:5: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 896)) = unixAccess // sqlite3.c:42860:5: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 904)) = unixFullPathname // sqlite3.c:42860:5: + *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 912)) = unixDlOpen // sqlite3.c:42860:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 920)) = unixDlError // sqlite3.c:42860:5: + *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 928)) = unixDlSym // sqlite3.c:42860:5: + *(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 936)) = unixDlClose // sqlite3.c:42860:5: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 944)) = unixRandomness // sqlite3.c:42860:5: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 952)) = unixSleep // sqlite3.c:42860:5: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 960)) = unixCurrentTime // sqlite3.c:42860:5: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 968)) = unixGetLastError // sqlite3.c:42860:5: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 976)) = unixCurrentTimeInt64 // sqlite3.c:42860:5: + *(*func(*libc.TLS, uintptr, uintptr, Sqlite3_syscall_ptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 984)) = unixSetSystemCall // sqlite3.c:42860:5: + *(*func(*libc.TLS, uintptr, uintptr) Sqlite3_syscall_ptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 992)) = unixGetSystemCall // sqlite3.c:42860:5: + *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 1000)) = unixNextSystemCall // sqlite3.c:42860:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 1040 /* .pAppData */)) = uintptr(unsafe.Pointer(&afpIoFinder)) // sqlite3.c:42863:5: + *(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 1048)) = unixOpen // sqlite3.c:42863:5: + *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 1056)) = unixDelete // sqlite3.c:42863:5: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 1064)) = unixAccess // sqlite3.c:42863:5: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 1072)) = unixFullPathname // sqlite3.c:42863:5: + *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 1080)) = unixDlOpen // sqlite3.c:42863:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 1088)) = unixDlError // sqlite3.c:42863:5: + *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 1096)) = unixDlSym // sqlite3.c:42863:5: + *(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 1104)) = unixDlClose // sqlite3.c:42863:5: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 1112)) = unixRandomness // sqlite3.c:42863:5: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 1120)) = unixSleep // sqlite3.c:42863:5: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 1128)) = unixCurrentTime // sqlite3.c:42863:5: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 1136)) = unixGetLastError // sqlite3.c:42863:5: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 1144)) = unixCurrentTimeInt64 // sqlite3.c:42863:5: + *(*func(*libc.TLS, uintptr, uintptr, Sqlite3_syscall_ptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 1152)) = unixSetSystemCall // sqlite3.c:42863:5: + *(*func(*libc.TLS, uintptr, uintptr) Sqlite3_syscall_ptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 1160)) = unixGetSystemCall // sqlite3.c:42863:5: + *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 1168)) = unixNextSystemCall // sqlite3.c:42863:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 1208 /* .pAppData */)) = uintptr(unsafe.Pointer(&nfsIoFinder)) // sqlite3.c:42864:5: + *(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 1216)) = unixOpen // sqlite3.c:42864:5: + *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 1224)) = unixDelete // sqlite3.c:42864:5: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 1232)) = unixAccess // sqlite3.c:42864:5: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 1240)) = unixFullPathname // sqlite3.c:42864:5: + *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 1248)) = unixDlOpen // sqlite3.c:42864:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 1256)) = unixDlError // sqlite3.c:42864:5: + *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 1264)) = unixDlSym // sqlite3.c:42864:5: + *(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 1272)) = unixDlClose // sqlite3.c:42864:5: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 1280)) = unixRandomness // sqlite3.c:42864:5: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 1288)) = unixSleep // sqlite3.c:42864:5: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 1296)) = unixCurrentTime // sqlite3.c:42864:5: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 1304)) = unixGetLastError // sqlite3.c:42864:5: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 1312)) = unixCurrentTimeInt64 // sqlite3.c:42864:5: + *(*func(*libc.TLS, uintptr, uintptr, Sqlite3_syscall_ptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 1320)) = unixSetSystemCall // sqlite3.c:42864:5: + *(*func(*libc.TLS, uintptr, uintptr) Sqlite3_syscall_ptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 1328)) = unixGetSystemCall // sqlite3.c:42864:5: + *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 1336)) = unixNextSystemCall // sqlite3.c:42864:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 1376 /* .pAppData */)) = uintptr(unsafe.Pointer(&proxyIoFinder)) // sqlite3.c:42865:5: + *(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 1384)) = unixOpen // sqlite3.c:42865:5: + *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 1392)) = unixDelete // sqlite3.c:42865:5: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 1400)) = unixAccess // sqlite3.c:42865:5: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 1408)) = unixFullPathname // sqlite3.c:42865:5: + *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 1416)) = unixDlOpen // sqlite3.c:42865:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 1424)) = unixDlError // sqlite3.c:42865:5: + *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 1432)) = unixDlSym // sqlite3.c:42865:5: + *(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 1440)) = unixDlClose // sqlite3.c:42865:5: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 1448)) = unixRandomness // sqlite3.c:42865:5: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 1456)) = unixSleep // sqlite3.c:42865:5: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 1464)) = unixCurrentTime // sqlite3.c:42865:5: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 1472)) = unixGetLastError // sqlite3.c:42865:5: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 1480)) = unixCurrentTimeInt64 // sqlite3.c:42865:5: + *(*func(*libc.TLS, uintptr, uintptr, Sqlite3_syscall_ptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 1488)) = unixSetSystemCall // sqlite3.c:42865:5: + *(*func(*libc.TLS, uintptr, uintptr) Sqlite3_syscall_ptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 1496)) = unixGetSystemCall // sqlite3.c:42865:5: + *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 1504)) = unixNextSystemCall // sqlite3.c:42865:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 24)) = row_numberStepFunc // sqlite3.c:158853:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 32)) = row_numberValueFunc // sqlite3.c:158853:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 40)) = row_numberValueFunc // sqlite3.c:158853:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 48)) = noopStepFunc // sqlite3.c:158853:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 56 /* .zName */)) = uintptr(unsafe.Pointer(&row_numberName)) // sqlite3.c:158853:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 96)) = dense_rankStepFunc // sqlite3.c:158854:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 104)) = dense_rankValueFunc // sqlite3.c:158854:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 112)) = dense_rankValueFunc // sqlite3.c:158854:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 120)) = noopStepFunc // sqlite3.c:158854:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 128 /* .zName */)) = uintptr(unsafe.Pointer(&dense_rankName)) // sqlite3.c:158854:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 168)) = rankStepFunc // sqlite3.c:158855:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 176)) = rankValueFunc // sqlite3.c:158855:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 184)) = rankValueFunc // sqlite3.c:158855:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 192)) = noopStepFunc // sqlite3.c:158855:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 200 /* .zName */)) = uintptr(unsafe.Pointer(&rankName)) // sqlite3.c:158855:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 240)) = percent_rankStepFunc // sqlite3.c:158856:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 248)) = percent_rankValueFunc // sqlite3.c:158856:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 256)) = percent_rankValueFunc // sqlite3.c:158856:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 264)) = percent_rankInvFunc // sqlite3.c:158856:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 272 /* .zName */)) = uintptr(unsafe.Pointer(&percent_rankName)) // sqlite3.c:158856:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 312)) = cume_distStepFunc // sqlite3.c:158857:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 320)) = cume_distValueFunc // sqlite3.c:158857:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 328)) = cume_distValueFunc // sqlite3.c:158857:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 336)) = cume_distInvFunc // sqlite3.c:158857:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 344 /* .zName */)) = uintptr(unsafe.Pointer(&cume_distName)) // sqlite3.c:158857:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 384)) = ntileStepFunc // sqlite3.c:158858:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 392)) = ntileValueFunc // sqlite3.c:158858:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 400)) = ntileValueFunc // sqlite3.c:158858:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 408)) = ntileInvFunc // sqlite3.c:158858:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 416 /* .zName */)) = uintptr(unsafe.Pointer(&ntileName)) // sqlite3.c:158858:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 456)) = last_valueStepFunc // sqlite3.c:158859:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 464)) = last_valueFinalizeFunc // sqlite3.c:158859:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 472)) = last_valueValueFunc // sqlite3.c:158859:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 480)) = last_valueInvFunc // sqlite3.c:158859:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 488 /* .zName */)) = uintptr(unsafe.Pointer(&last_valueName)) // sqlite3.c:158859:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 528)) = nth_valueStepFunc // sqlite3.c:158860:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 536)) = nth_valueFinalizeFunc // sqlite3.c:158860:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 544)) = noopValueFunc // sqlite3.c:158860:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 552)) = noopStepFunc // sqlite3.c:158860:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 560 /* .zName */)) = uintptr(unsafe.Pointer(&nth_valueName)) // sqlite3.c:158860:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 600)) = first_valueStepFunc // sqlite3.c:158861:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 608)) = first_valueFinalizeFunc // sqlite3.c:158861:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 616)) = noopValueFunc // sqlite3.c:158861:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 624)) = noopStepFunc // sqlite3.c:158861:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 632 /* .zName */)) = uintptr(unsafe.Pointer(&first_valueName)) // sqlite3.c:158861:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 672)) = noopStepFunc // sqlite3.c:158862:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 680)) = noopValueFunc // sqlite3.c:158862:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 688)) = noopValueFunc // sqlite3.c:158862:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 696)) = noopStepFunc // sqlite3.c:158862:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 704 /* .zName */)) = uintptr(unsafe.Pointer(&leadName)) // sqlite3.c:158862:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 744)) = noopStepFunc // sqlite3.c:158863:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 752)) = noopValueFunc // sqlite3.c:158863:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 760)) = noopValueFunc // sqlite3.c:158863:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 768)) = noopStepFunc // sqlite3.c:158863:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 776 /* .zName */)) = uintptr(unsafe.Pointer(&leadName)) // sqlite3.c:158863:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 816)) = noopStepFunc // sqlite3.c:158864:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 824)) = noopValueFunc // sqlite3.c:158864:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 832)) = noopValueFunc // sqlite3.c:158864:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 840)) = noopStepFunc // sqlite3.c:158864:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 848 /* .zName */)) = uintptr(unsafe.Pointer(&leadName)) // sqlite3.c:158864:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 888)) = noopStepFunc // sqlite3.c:158865:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 896)) = noopValueFunc // sqlite3.c:158865:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 904)) = noopValueFunc // sqlite3.c:158865:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 912)) = noopStepFunc // sqlite3.c:158865:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 920 /* .zName */)) = uintptr(unsafe.Pointer(&lagName)) // sqlite3.c:158865:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 960)) = noopStepFunc // sqlite3.c:158866:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 968)) = noopValueFunc // sqlite3.c:158866:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 976)) = noopValueFunc // sqlite3.c:158866:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 984)) = noopStepFunc // sqlite3.c:158866:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 992 /* .zName */)) = uintptr(unsafe.Pointer(&lagName)) // sqlite3.c:158866:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 1032)) = noopStepFunc // sqlite3.c:158867:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 1040)) = noopValueFunc // sqlite3.c:158867:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 1048)) = noopValueFunc // sqlite3.c:158867:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 1056)) = noopStepFunc // sqlite3.c:158867:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 1064 /* .zName */)) = uintptr(unsafe.Pointer(&lagName)) // sqlite3.c:158867:5: + *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&afpIoFinder)) + 0)) = afpIoFinderImpl // sqlite3.c:40246:1: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&afpIoMethods)) + 8)) = afpClose // sqlite3.c:40246:1: + *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&afpIoMethods)) + 16)) = unixRead // sqlite3.c:40246:1: + *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&afpIoMethods)) + 24)) = unixWrite // sqlite3.c:40246:1: + *(*func(*libc.TLS, uintptr, I64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&afpIoMethods)) + 32)) = unixTruncate // sqlite3.c:40246:1: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&afpIoMethods)) + 40)) = unixSync // sqlite3.c:40246:1: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&afpIoMethods)) + 48)) = unixFileSize // sqlite3.c:40246:1: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&afpIoMethods)) + 56)) = afpLock // sqlite3.c:40246:1: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&afpIoMethods)) + 64)) = afpUnlock // sqlite3.c:40246:1: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&afpIoMethods)) + 72)) = afpCheckReservedLock // sqlite3.c:40246:1: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&afpIoMethods)) + 80)) = unixFileControl // sqlite3.c:40246:1: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&afpIoMethods)) + 88)) = unixSectorSize // sqlite3.c:40246:1: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&afpIoMethods)) + 96)) = unixDeviceCharacteristics // sqlite3.c:40246:1: + *(*func(*libc.TLS, uintptr, int32, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&afpIoMethods)) + 112)) = unixShmLock // sqlite3.c:40246:1: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&afpIoMethods)) + 120)) = unixShmBarrier // sqlite3.c:40246:1: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&afpIoMethods)) + 128)) = unixShmUnmap // sqlite3.c:40246:1: + *(*func(*libc.TLS, uintptr, I64, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&afpIoMethods)) + 136)) = unixFetch // sqlite3.c:40246:1: + *(*func(*libc.TLS, uintptr, I64, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&afpIoMethods)) + 144)) = unixUnfetch // sqlite3.c:40246:1: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&attach_func)) + 24)) = attachFunc // sqlite3.c:113451:5: + *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&autolockIoFinder)) + 0)) = autolockIoFinderImpl // sqlite3.c:40360:55: *(*func(*libc.TLS, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods)) + 0)) = sqlite3MemMalloc // sqlite3.c:25299:6: *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods)) + 8)) = sqlite3MemFree // sqlite3.c:25300:6: *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods)) + 16)) = sqlite3MemRealloc // sqlite3.c:25301:6: @@ -209482,297 +209532,297 @@ func init() { *(*func(*libc.TLS, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods)) + 32)) = sqlite3MemRoundup // sqlite3.c:25303:6: *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods)) + 40)) = sqlite3MemInit // sqlite3.c:25304:6: *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods)) + 48)) = sqlite3MemShutdown // sqlite3.c:25305:6: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods1)) + 16)) = pcache1Init // sqlite3.c:52453:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods1)) + 24)) = pcache1Shutdown // sqlite3.c:52454:5: - *(*func(*libc.TLS, int32, int32, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods1)) + 32)) = pcache1Create // sqlite3.c:52455:5: - *(*func(*libc.TLS, uintptr, int32))(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods1)) + 40)) = pcache1Cachesize // sqlite3.c:52456:5: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods1)) + 48)) = pcache1Pagecount // sqlite3.c:52457:5: - *(*func(*libc.TLS, uintptr, uint32, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods1)) + 56)) = pcache1Fetch // sqlite3.c:52458:5: - *(*func(*libc.TLS, uintptr, uintptr, int32))(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods1)) + 64)) = pcache1Unpin // sqlite3.c:52459:5: - *(*func(*libc.TLS, uintptr, uintptr, uint32, uint32))(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods1)) + 72)) = pcache1Rekey // sqlite3.c:52460:5: - *(*func(*libc.TLS, uintptr, uint32))(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods1)) + 80)) = pcache1Truncate // sqlite3.c:52461:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods1)) + 88)) = pcache1Destroy // sqlite3.c:52462:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods1)) + 96)) = pcache1Shrink // sqlite3.c:52463:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&detach_func)) + 24)) = detachFunc // sqlite3.c:113418:5: - *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoFinder)) + 0)) = dotlockIoFinderImpl // sqlite3.c:40202:1: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 8)) = dotlockClose // sqlite3.c:40202:1: - *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 16)) = unixRead // sqlite3.c:40202:1: - *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 24)) = unixWrite // sqlite3.c:40202:1: - *(*func(*libc.TLS, uintptr, I64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 32)) = unixTruncate // sqlite3.c:40202:1: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 40)) = unixSync // sqlite3.c:40202:1: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 48)) = unixFileSize // sqlite3.c:40202:1: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 56)) = dotlockLock // sqlite3.c:40202:1: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 64)) = dotlockUnlock // sqlite3.c:40202:1: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 72)) = dotlockCheckReservedLock // sqlite3.c:40202:1: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 80)) = unixFileControl // sqlite3.c:40202:1: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 88)) = unixSectorSize // sqlite3.c:40202:1: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 96)) = unixDeviceCharacteristics // sqlite3.c:40202:1: - *(*func(*libc.TLS, uintptr, int32, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 112)) = unixShmLock // sqlite3.c:40202:1: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 120)) = unixShmBarrier // sqlite3.c:40202:1: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 128)) = unixShmUnmap // sqlite3.c:40202:1: - *(*func(*libc.TLS, uintptr, I64, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 136)) = unixFetch // sqlite3.c:40202:1: - *(*func(*libc.TLS, uintptr, I64, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 144)) = unixUnfetch // sqlite3.c:40202:1: - *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&flockIoFinder)) + 0)) = flockIoFinderImpl // sqlite3.c:40214:1: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&flockIoMethods)) + 8)) = flockClose // sqlite3.c:40214:1: - *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&flockIoMethods)) + 16)) = unixRead // sqlite3.c:40214:1: - *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&flockIoMethods)) + 24)) = unixWrite // sqlite3.c:40214:1: - *(*func(*libc.TLS, uintptr, I64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&flockIoMethods)) + 32)) = unixTruncate // sqlite3.c:40214:1: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&flockIoMethods)) + 40)) = unixSync // sqlite3.c:40214:1: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&flockIoMethods)) + 48)) = unixFileSize // sqlite3.c:40214:1: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&flockIoMethods)) + 56)) = flockLock // sqlite3.c:40214:1: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&flockIoMethods)) + 64)) = flockUnlock // sqlite3.c:40214:1: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&flockIoMethods)) + 72)) = flockCheckReservedLock // sqlite3.c:40214:1: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&flockIoMethods)) + 80)) = unixFileControl // sqlite3.c:40214:1: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&flockIoMethods)) + 88)) = unixSectorSize // sqlite3.c:40214:1: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&flockIoMethods)) + 96)) = unixDeviceCharacteristics // sqlite3.c:40214:1: - *(*func(*libc.TLS, uintptr, int32, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&flockIoMethods)) + 112)) = unixShmLock // sqlite3.c:40214:1: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&flockIoMethods)) + 120)) = unixShmBarrier // sqlite3.c:40214:1: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&flockIoMethods)) + 128)) = unixShmUnmap // sqlite3.c:40214:1: - *(*func(*libc.TLS, uintptr, I64, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&flockIoMethods)) + 136)) = unixFetch // sqlite3.c:40214:1: - *(*func(*libc.TLS, uintptr, I64, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&flockIoMethods)) + 144)) = unixUnfetch // sqlite3.c:40214:1: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 8)) = fts5CreateMethod // sqlite3.c:234400:25: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 16)) = fts5ConnectMethod // sqlite3.c:234401:25: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 24)) = fts5BestIndexMethod // sqlite3.c:234402:25: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 32)) = fts5DisconnectMethod // sqlite3.c:234403:25: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 40)) = fts5DestroyMethod // sqlite3.c:234404:25: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 48)) = fts5OpenMethod // sqlite3.c:234405:25: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 56)) = fts5CloseMethod // sqlite3.c:234406:25: - *(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 64)) = fts5FilterMethod // sqlite3.c:234407:25: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 72)) = fts5NextMethod // sqlite3.c:234408:25: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 80)) = fts5EofMethod // sqlite3.c:234409:25: - *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 88)) = fts5ColumnMethod // sqlite3.c:234410:25: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 96)) = fts5RowidMethod // sqlite3.c:234411:25: - *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 104)) = fts5UpdateMethod // sqlite3.c:234412:25: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 112)) = fts5BeginMethod // sqlite3.c:234413:25: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 120)) = fts5SyncMethod // sqlite3.c:234414:25: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 128)) = fts5CommitMethod // sqlite3.c:234415:25: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 136)) = fts5RollbackMethod // sqlite3.c:234416:25: - *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 144)) = fts5FindFunctionMethod // sqlite3.c:234417:25: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 152)) = fts5RenameMethod // sqlite3.c:234418:25: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 160)) = fts5SavepointMethod // sqlite3.c:234419:25: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 168)) = fts5ReleaseMethod // sqlite3.c:234420:25: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 176)) = fts5RollbackToMethod // sqlite3.c:234421:25: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 184)) = fts5ShadowName // sqlite3.c:234422:25: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 8)) = fts5VocabCreateMethod // sqlite3.c:238983:25: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 16)) = fts5VocabConnectMethod // sqlite3.c:238984:25: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 24)) = fts5VocabBestIndexMethod // sqlite3.c:238985:25: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 32)) = fts5VocabDisconnectMethod // sqlite3.c:238986:25: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 40)) = fts5VocabDestroyMethod // sqlite3.c:238987:25: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 48)) = fts5VocabOpenMethod // sqlite3.c:238988:25: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 56)) = fts5VocabCloseMethod // sqlite3.c:238989:25: - *(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 64)) = fts5VocabFilterMethod // sqlite3.c:238990:25: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 72)) = fts5VocabNextMethod // sqlite3.c:238991:25: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 80)) = fts5VocabEofMethod // sqlite3.c:238992:25: - *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 88)) = fts5VocabColumnMethod // sqlite3.c:238993:25: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 96)) = fts5VocabRowidMethod // sqlite3.c:238994:25: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 8)) = geopolyCreate // sqlite3.c:201934:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 16)) = geopolyConnect // sqlite3.c:201935:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 24)) = geopolyBestIndex // sqlite3.c:201936:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 32)) = rtreeDisconnect // sqlite3.c:201937:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 40)) = rtreeDestroy // sqlite3.c:201938:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 48)) = rtreeOpen // sqlite3.c:201939:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 56)) = rtreeClose // sqlite3.c:201940:3: - *(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 64)) = geopolyFilter // sqlite3.c:201941:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 72)) = rtreeNext // sqlite3.c:201942:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 80)) = rtreeEof // sqlite3.c:201943:3: - *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 88)) = geopolyColumn // sqlite3.c:201944:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 96)) = rtreeRowid // sqlite3.c:201945:3: - *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 104)) = geopolyUpdate // sqlite3.c:201946:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 112)) = rtreeBeginTransaction // sqlite3.c:201947:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 120)) = rtreeEndTransaction // sqlite3.c:201948:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 128)) = rtreeEndTransaction // sqlite3.c:201949:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 136)) = rtreeEndTransaction // sqlite3.c:201950:3: - *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 144)) = geopolyFindFunction // sqlite3.c:201951:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 152)) = rtreeRename // sqlite3.c:201952:3: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 160)) = rtreeSavepoint // sqlite3.c:201953:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 184)) = rtreeShadowName // sqlite3.c:201956:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonEachModule)) + 16)) = jsonEachConnect // sqlite3.c:195676:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonEachModule)) + 24)) = jsonEachBestIndex // sqlite3.c:195677:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonEachModule)) + 32)) = jsonEachDisconnect // sqlite3.c:195678:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonEachModule)) + 48)) = jsonEachOpenEach // sqlite3.c:195680:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonEachModule)) + 56)) = jsonEachClose // sqlite3.c:195681:3: - *(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonEachModule)) + 64)) = jsonEachFilter // sqlite3.c:195682:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonEachModule)) + 72)) = jsonEachNext // sqlite3.c:195683:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonEachModule)) + 80)) = jsonEachEof // sqlite3.c:195684:3: - *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonEachModule)) + 88)) = jsonEachColumn // sqlite3.c:195685:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonEachModule)) + 96)) = jsonEachRowid // sqlite3.c:195686:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonTreeModule)) + 16)) = jsonEachConnect // sqlite3.c:195704:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonTreeModule)) + 24)) = jsonEachBestIndex // sqlite3.c:195705:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonTreeModule)) + 32)) = jsonEachDisconnect // sqlite3.c:195706:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonTreeModule)) + 48)) = jsonEachOpenTree // sqlite3.c:195708:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonTreeModule)) + 56)) = jsonEachClose // sqlite3.c:195709:3: - *(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonTreeModule)) + 64)) = jsonEachFilter // sqlite3.c:195710:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonTreeModule)) + 72)) = jsonEachNext // sqlite3.c:195711:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonTreeModule)) + 80)) = jsonEachEof // sqlite3.c:195712:3: - *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonTreeModule)) + 88)) = jsonEachColumn // sqlite3.c:195713:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonTreeModule)) + 96)) = jsonEachRowid // sqlite3.c:195714:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 8)) = memdbClose // sqlite3.c:49233:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 16)) = memdbRead // sqlite3.c:49234:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 24)) = memdbWrite // sqlite3.c:49235:3: - *(*func(*libc.TLS, uintptr, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 32)) = memdbTruncate // sqlite3.c:49236:3: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 40)) = memdbSync // sqlite3.c:49237:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 48)) = memdbFileSize // sqlite3.c:49238:3: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 56)) = memdbLock // sqlite3.c:49239:3: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 64)) = memdbLock // sqlite3.c:49240:3: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 80)) = memdbFileControl // sqlite3.c:49242:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 96)) = memdbDeviceCharacteristics // sqlite3.c:49244:3: - *(*func(*libc.TLS, uintptr, Sqlite3_int64, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 136)) = memdbFetch // sqlite3.c:49249:3: - *(*func(*libc.TLS, uintptr, Sqlite3_int64, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 144)) = memdbUnfetch // sqlite3.c:49250:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_vfs)) + 40)) = memdbOpen // sqlite3.c:49213:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_vfs)) + 56)) = memdbAccess // sqlite3.c:49215:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_vfs)) + 64)) = memdbFullPathname // sqlite3.c:49216:3: - *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_vfs)) + 72)) = memdbDlOpen // sqlite3.c:49217:3: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_vfs)) + 80)) = memdbDlError // sqlite3.c:49218:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_vfs)) + 88)) = memdbDlSym // sqlite3.c:49219:3: - *(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_vfs)) + 96)) = memdbDlClose // sqlite3.c:49220:3: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_vfs)) + 104)) = memdbRandomness // sqlite3.c:49221:3: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_vfs)) + 112)) = memdbSleep // sqlite3.c:49222:3: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_vfs)) + 128)) = memdbGetLastError // sqlite3.c:49224:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_vfs)) + 136)) = memdbCurrentTimeInt64 // sqlite3.c:49225:3: - *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&nfsIoFinder)) + 0)) = nfsIoFinderImpl // sqlite3.c:40280:1: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nfsIoMethods)) + 8)) = unixClose // sqlite3.c:40280:1: - *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nfsIoMethods)) + 16)) = unixRead // sqlite3.c:40280:1: - *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nfsIoMethods)) + 24)) = unixWrite // sqlite3.c:40280:1: - *(*func(*libc.TLS, uintptr, I64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nfsIoMethods)) + 32)) = unixTruncate // sqlite3.c:40280:1: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nfsIoMethods)) + 40)) = unixSync // sqlite3.c:40280:1: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nfsIoMethods)) + 48)) = unixFileSize // sqlite3.c:40280:1: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nfsIoMethods)) + 56)) = unixLock // sqlite3.c:40280:1: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nfsIoMethods)) + 64)) = nfsUnlock // sqlite3.c:40280:1: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nfsIoMethods)) + 72)) = unixCheckReservedLock // sqlite3.c:40280:1: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nfsIoMethods)) + 80)) = unixFileControl // sqlite3.c:40280:1: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nfsIoMethods)) + 88)) = unixSectorSize // sqlite3.c:40280:1: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nfsIoMethods)) + 96)) = unixDeviceCharacteristics // sqlite3.c:40280:1: - *(*func(*libc.TLS, uintptr, int32, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nfsIoMethods)) + 112)) = unixShmLock // sqlite3.c:40280:1: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&nfsIoMethods)) + 120)) = unixShmBarrier // sqlite3.c:40280:1: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nfsIoMethods)) + 128)) = unixShmUnmap // sqlite3.c:40280:1: - *(*func(*libc.TLS, uintptr, I64, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nfsIoMethods)) + 136)) = unixFetch // sqlite3.c:40280:1: - *(*func(*libc.TLS, uintptr, I64, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nfsIoMethods)) + 144)) = unixUnfetch // sqlite3.c:40280:1: - *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoFinder)) + 0)) = nolockIoFinderImpl // sqlite3.c:40192:1: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 8)) = nolockClose // sqlite3.c:40192:1: - *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 16)) = unixRead // sqlite3.c:40192:1: - *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 24)) = unixWrite // sqlite3.c:40192:1: - *(*func(*libc.TLS, uintptr, I64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 32)) = unixTruncate // sqlite3.c:40192:1: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 40)) = unixSync // sqlite3.c:40192:1: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 48)) = unixFileSize // sqlite3.c:40192:1: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 56)) = nolockLock // sqlite3.c:40192:1: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 64)) = nolockUnlock // sqlite3.c:40192:1: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 72)) = nolockCheckReservedLock // sqlite3.c:40192:1: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 80)) = unixFileControl // sqlite3.c:40192:1: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 88)) = unixSectorSize // sqlite3.c:40192:1: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 96)) = unixDeviceCharacteristics // sqlite3.c:40192:1: - *(*func(*libc.TLS, uintptr, int32, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 112)) = unixShmLock // sqlite3.c:40192:1: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 120)) = unixShmBarrier // sqlite3.c:40192:1: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 128)) = unixShmUnmap // sqlite3.c:40192:1: - *(*func(*libc.TLS, uintptr, I64, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 136)) = unixFetch // sqlite3.c:40192:1: - *(*func(*libc.TLS, uintptr, I64, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 144)) = unixUnfetch // sqlite3.c:40192:1: - *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoFinder)) + 0)) = posixIoFinderImpl // sqlite3.c:40182:1: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 8)) = unixClose // sqlite3.c:40182:1: - *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 16)) = unixRead // sqlite3.c:40182:1: - *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 24)) = unixWrite // sqlite3.c:40182:1: - *(*func(*libc.TLS, uintptr, I64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 32)) = unixTruncate // sqlite3.c:40182:1: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 40)) = unixSync // sqlite3.c:40182:1: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 48)) = unixFileSize // sqlite3.c:40182:1: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 56)) = unixLock // sqlite3.c:40182:1: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 64)) = unixUnlock // sqlite3.c:40182:1: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 72)) = unixCheckReservedLock // sqlite3.c:40182:1: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 80)) = unixFileControl // sqlite3.c:40182:1: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 88)) = unixSectorSize // sqlite3.c:40182:1: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 96)) = unixDeviceCharacteristics // sqlite3.c:40182:1: - *(*func(*libc.TLS, uintptr, int32, int32, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 104)) = unixShmMap // sqlite3.c:40182:1: - *(*func(*libc.TLS, uintptr, int32, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 112)) = unixShmLock // sqlite3.c:40182:1: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 120)) = unixShmBarrier // sqlite3.c:40182:1: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 128)) = unixShmUnmap // sqlite3.c:40182:1: - *(*func(*libc.TLS, uintptr, I64, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 136)) = unixFetch // sqlite3.c:40182:1: - *(*func(*libc.TLS, uintptr, I64, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 144)) = unixUnfetch // sqlite3.c:40182:1: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&pragmaVtabModule)) + 16)) = pragmaVtabConnect // sqlite3.c:133106:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&pragmaVtabModule)) + 24)) = pragmaVtabBestIndex // sqlite3.c:133107:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&pragmaVtabModule)) + 32)) = pragmaVtabDisconnect // sqlite3.c:133108:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&pragmaVtabModule)) + 48)) = pragmaVtabOpen // sqlite3.c:133110:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&pragmaVtabModule)) + 56)) = pragmaVtabClose // sqlite3.c:133111:3: - *(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&pragmaVtabModule)) + 64)) = pragmaVtabFilter // sqlite3.c:133112:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&pragmaVtabModule)) + 72)) = pragmaVtabNext // sqlite3.c:133113:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&pragmaVtabModule)) + 80)) = pragmaVtabEof // sqlite3.c:133114:3: - *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&pragmaVtabModule)) + 88)) = pragmaVtabColumn // sqlite3.c:133115:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&pragmaVtabModule)) + 96)) = pragmaVtabRowid // sqlite3.c:133116:3: - *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&proxyIoFinder)) + 0)) = proxyIoFinderImpl // sqlite3.c:40266:1: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&proxyIoMethods)) + 8)) = proxyClose // sqlite3.c:40266:1: - *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&proxyIoMethods)) + 16)) = unixRead // sqlite3.c:40266:1: - *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&proxyIoMethods)) + 24)) = unixWrite // sqlite3.c:40266:1: - *(*func(*libc.TLS, uintptr, I64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&proxyIoMethods)) + 32)) = unixTruncate // sqlite3.c:40266:1: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&proxyIoMethods)) + 40)) = unixSync // sqlite3.c:40266:1: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&proxyIoMethods)) + 48)) = unixFileSize // sqlite3.c:40266:1: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&proxyIoMethods)) + 56)) = proxyLock // sqlite3.c:40266:1: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&proxyIoMethods)) + 64)) = proxyUnlock // sqlite3.c:40266:1: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&proxyIoMethods)) + 72)) = proxyCheckReservedLock // sqlite3.c:40266:1: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&proxyIoMethods)) + 80)) = unixFileControl // sqlite3.c:40266:1: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&proxyIoMethods)) + 88)) = unixSectorSize // sqlite3.c:40266:1: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&proxyIoMethods)) + 96)) = unixDeviceCharacteristics // sqlite3.c:40266:1: - *(*func(*libc.TLS, uintptr, int32, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&proxyIoMethods)) + 112)) = unixShmLock // sqlite3.c:40266:1: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&proxyIoMethods)) + 120)) = unixShmBarrier // sqlite3.c:40266:1: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&proxyIoMethods)) + 128)) = unixShmUnmap // sqlite3.c:40266:1: - *(*func(*libc.TLS, uintptr, I64, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&proxyIoMethods)) + 136)) = unixFetch // sqlite3.c:40266:1: - *(*func(*libc.TLS, uintptr, I64, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&proxyIoMethods)) + 144)) = unixUnfetch // sqlite3.c:40266:1: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 8)) = rbuVfsClose // sqlite3.c:208631:5: - *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 16)) = rbuVfsRead // sqlite3.c:208632:5: - *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 24)) = rbuVfsWrite // sqlite3.c:208633:5: - *(*func(*libc.TLS, uintptr, Sqlite_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 32)) = rbuVfsTruncate // sqlite3.c:208634:5: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 40)) = rbuVfsSync // sqlite3.c:208635:5: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 48)) = rbuVfsFileSize // sqlite3.c:208636:5: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 56)) = rbuVfsLock // sqlite3.c:208637:5: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 64)) = rbuVfsUnlock // sqlite3.c:208638:5: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 72)) = rbuVfsCheckReservedLock // sqlite3.c:208639:5: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 80)) = rbuVfsFileControl // sqlite3.c:208640:5: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 88)) = rbuVfsSectorSize // sqlite3.c:208641:5: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 96)) = rbuVfsDeviceCharacteristics // sqlite3.c:208642:5: - *(*func(*libc.TLS, uintptr, int32, int32, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 104)) = rbuVfsShmMap // sqlite3.c:208643:5: - *(*func(*libc.TLS, uintptr, int32, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 112)) = rbuVfsShmLock // sqlite3.c:208644:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 120)) = rbuVfsShmBarrier // sqlite3.c:208645:5: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 128)) = rbuVfsShmUnmap // sqlite3.c:208646:5: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 8)) = rtreeCreate // sqlite3.c:199272:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 16)) = rtreeConnect // sqlite3.c:199273:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 24)) = rtreeBestIndex // sqlite3.c:199274:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 32)) = rtreeDisconnect // sqlite3.c:199275:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 40)) = rtreeDestroy // sqlite3.c:199276:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 48)) = rtreeOpen // sqlite3.c:199277:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 56)) = rtreeClose // sqlite3.c:199278:3: - *(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 64)) = rtreeFilter // sqlite3.c:199279:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 72)) = rtreeNext // sqlite3.c:199280:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 80)) = rtreeEof // sqlite3.c:199281:3: - *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 88)) = rtreeColumn // sqlite3.c:199282:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 96)) = rtreeRowid // sqlite3.c:199283:3: - *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 104)) = rtreeUpdate // sqlite3.c:199284:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 112)) = rtreeBeginTransaction // sqlite3.c:199285:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 120)) = rtreeEndTransaction // sqlite3.c:199286:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 128)) = rtreeEndTransaction // sqlite3.c:199287:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 136)) = rtreeEndTransaction // sqlite3.c:199288:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 152)) = rtreeRename // sqlite3.c:199290:3: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 160)) = rtreeSavepoint // sqlite3.c:199291:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 184)) = rtreeShadowName // sqlite3.c:199294:3: - *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 8)) = fts5ApiUserData // sqlite3.c:233859:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 16)) = fts5ApiColumnCount // sqlite3.c:233860:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 24)) = fts5ApiRowCount // sqlite3.c:233861:3: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 32)) = fts5ApiColumnTotalSize // sqlite3.c:233862:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 40)) = fts5ApiTokenize // sqlite3.c:233863:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 48)) = fts5ApiPhraseCount // sqlite3.c:233864:3: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 56)) = fts5ApiPhraseSize // sqlite3.c:233865:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 64)) = fts5ApiInstCount // sqlite3.c:233866:3: - *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 72)) = fts5ApiInst // sqlite3.c:233867:3: - *(*func(*libc.TLS, uintptr) Sqlite3_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 80)) = fts5ApiRowid // sqlite3.c:233868:3: - *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 88)) = fts5ApiColumnText // sqlite3.c:233869:3: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 96)) = fts5ApiColumnSize // sqlite3.c:233870:3: - *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 104)) = fts5ApiQueryPhrase // sqlite3.c:233871:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 112)) = fts5ApiSetAuxdata // sqlite3.c:233872:3: - *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 120)) = fts5ApiGetAuxdata // sqlite3.c:233873:3: - *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 128)) = fts5ApiPhraseFirst // sqlite3.c:233874:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 136)) = fts5ApiPhraseNext // sqlite3.c:233875:3: - *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 144)) = fts5ApiPhraseFirstColumn // sqlite3.c:233876:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 152)) = fts5ApiPhraseNextColumn // sqlite3.c:233877:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sMemJournalMethods)) + 8)) = memjrnlClose // sqlite3.c:100023:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sMemJournalMethods)) + 16)) = memjrnlRead // sqlite3.c:100024:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sMemJournalMethods)) + 24)) = memjrnlWrite // sqlite3.c:100025:3: - *(*func(*libc.TLS, uintptr, Sqlite_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sMemJournalMethods)) + 32)) = memjrnlTruncate // sqlite3.c:100026:3: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sMemJournalMethods)) + 40)) = memjrnlSync // sqlite3.c:100027:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sMemJournalMethods)) + 48)) = memjrnlFileSize // sqlite3.c:100028:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods1)) + 16)) = pcache1Init // sqlite3.c:52463:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods1)) + 24)) = pcache1Shutdown // sqlite3.c:52464:5: + *(*func(*libc.TLS, int32, int32, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods1)) + 32)) = pcache1Create // sqlite3.c:52465:5: + *(*func(*libc.TLS, uintptr, int32))(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods1)) + 40)) = pcache1Cachesize // sqlite3.c:52466:5: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods1)) + 48)) = pcache1Pagecount // sqlite3.c:52467:5: + *(*func(*libc.TLS, uintptr, uint32, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods1)) + 56)) = pcache1Fetch // sqlite3.c:52468:5: + *(*func(*libc.TLS, uintptr, uintptr, int32))(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods1)) + 64)) = pcache1Unpin // sqlite3.c:52469:5: + *(*func(*libc.TLS, uintptr, uintptr, uint32, uint32))(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods1)) + 72)) = pcache1Rekey // sqlite3.c:52470:5: + *(*func(*libc.TLS, uintptr, uint32))(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods1)) + 80)) = pcache1Truncate // sqlite3.c:52471:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods1)) + 88)) = pcache1Destroy // sqlite3.c:52472:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods1)) + 96)) = pcache1Shrink // sqlite3.c:52473:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&detach_func)) + 24)) = detachFunc // sqlite3.c:113431:5: + *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoFinder)) + 0)) = dotlockIoFinderImpl // sqlite3.c:40208:1: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 8)) = dotlockClose // sqlite3.c:40208:1: + *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 16)) = unixRead // sqlite3.c:40208:1: + *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 24)) = unixWrite // sqlite3.c:40208:1: + *(*func(*libc.TLS, uintptr, I64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 32)) = unixTruncate // sqlite3.c:40208:1: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 40)) = unixSync // sqlite3.c:40208:1: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 48)) = unixFileSize // sqlite3.c:40208:1: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 56)) = dotlockLock // sqlite3.c:40208:1: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 64)) = dotlockUnlock // sqlite3.c:40208:1: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 72)) = dotlockCheckReservedLock // sqlite3.c:40208:1: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 80)) = unixFileControl // sqlite3.c:40208:1: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 88)) = unixSectorSize // sqlite3.c:40208:1: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 96)) = unixDeviceCharacteristics // sqlite3.c:40208:1: + *(*func(*libc.TLS, uintptr, int32, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 112)) = unixShmLock // sqlite3.c:40208:1: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 120)) = unixShmBarrier // sqlite3.c:40208:1: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 128)) = unixShmUnmap // sqlite3.c:40208:1: + *(*func(*libc.TLS, uintptr, I64, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 136)) = unixFetch // sqlite3.c:40208:1: + *(*func(*libc.TLS, uintptr, I64, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 144)) = unixUnfetch // sqlite3.c:40208:1: + *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&flockIoFinder)) + 0)) = flockIoFinderImpl // sqlite3.c:40220:1: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&flockIoMethods)) + 8)) = flockClose // sqlite3.c:40220:1: + *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&flockIoMethods)) + 16)) = unixRead // sqlite3.c:40220:1: + *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&flockIoMethods)) + 24)) = unixWrite // sqlite3.c:40220:1: + *(*func(*libc.TLS, uintptr, I64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&flockIoMethods)) + 32)) = unixTruncate // sqlite3.c:40220:1: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&flockIoMethods)) + 40)) = unixSync // sqlite3.c:40220:1: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&flockIoMethods)) + 48)) = unixFileSize // sqlite3.c:40220:1: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&flockIoMethods)) + 56)) = flockLock // sqlite3.c:40220:1: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&flockIoMethods)) + 64)) = flockUnlock // sqlite3.c:40220:1: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&flockIoMethods)) + 72)) = flockCheckReservedLock // sqlite3.c:40220:1: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&flockIoMethods)) + 80)) = unixFileControl // sqlite3.c:40220:1: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&flockIoMethods)) + 88)) = unixSectorSize // sqlite3.c:40220:1: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&flockIoMethods)) + 96)) = unixDeviceCharacteristics // sqlite3.c:40220:1: + *(*func(*libc.TLS, uintptr, int32, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&flockIoMethods)) + 112)) = unixShmLock // sqlite3.c:40220:1: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&flockIoMethods)) + 120)) = unixShmBarrier // sqlite3.c:40220:1: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&flockIoMethods)) + 128)) = unixShmUnmap // sqlite3.c:40220:1: + *(*func(*libc.TLS, uintptr, I64, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&flockIoMethods)) + 136)) = unixFetch // sqlite3.c:40220:1: + *(*func(*libc.TLS, uintptr, I64, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&flockIoMethods)) + 144)) = unixUnfetch // sqlite3.c:40220:1: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 8)) = fts5CreateMethod // sqlite3.c:234457:25: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 16)) = fts5ConnectMethod // sqlite3.c:234458:25: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 24)) = fts5BestIndexMethod // sqlite3.c:234459:25: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 32)) = fts5DisconnectMethod // sqlite3.c:234460:25: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 40)) = fts5DestroyMethod // sqlite3.c:234461:25: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 48)) = fts5OpenMethod // sqlite3.c:234462:25: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 56)) = fts5CloseMethod // sqlite3.c:234463:25: + *(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 64)) = fts5FilterMethod // sqlite3.c:234464:25: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 72)) = fts5NextMethod // sqlite3.c:234465:25: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 80)) = fts5EofMethod // sqlite3.c:234466:25: + *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 88)) = fts5ColumnMethod // sqlite3.c:234467:25: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 96)) = fts5RowidMethod // sqlite3.c:234468:25: + *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 104)) = fts5UpdateMethod // sqlite3.c:234469:25: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 112)) = fts5BeginMethod // sqlite3.c:234470:25: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 120)) = fts5SyncMethod // sqlite3.c:234471:25: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 128)) = fts5CommitMethod // sqlite3.c:234472:25: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 136)) = fts5RollbackMethod // sqlite3.c:234473:25: + *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 144)) = fts5FindFunctionMethod // sqlite3.c:234474:25: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 152)) = fts5RenameMethod // sqlite3.c:234475:25: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 160)) = fts5SavepointMethod // sqlite3.c:234476:25: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 168)) = fts5ReleaseMethod // sqlite3.c:234477:25: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 176)) = fts5RollbackToMethod // sqlite3.c:234478:25: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 184)) = fts5ShadowName // sqlite3.c:234479:25: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 8)) = fts5VocabCreateMethod // sqlite3.c:239040:25: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 16)) = fts5VocabConnectMethod // sqlite3.c:239041:25: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 24)) = fts5VocabBestIndexMethod // sqlite3.c:239042:25: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 32)) = fts5VocabDisconnectMethod // sqlite3.c:239043:25: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 40)) = fts5VocabDestroyMethod // sqlite3.c:239044:25: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 48)) = fts5VocabOpenMethod // sqlite3.c:239045:25: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 56)) = fts5VocabCloseMethod // sqlite3.c:239046:25: + *(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 64)) = fts5VocabFilterMethod // sqlite3.c:239047:25: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 72)) = fts5VocabNextMethod // sqlite3.c:239048:25: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 80)) = fts5VocabEofMethod // sqlite3.c:239049:25: + *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 88)) = fts5VocabColumnMethod // sqlite3.c:239050:25: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 96)) = fts5VocabRowidMethod // sqlite3.c:239051:25: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 8)) = geopolyCreate // sqlite3.c:201991:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 16)) = geopolyConnect // sqlite3.c:201992:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 24)) = geopolyBestIndex // sqlite3.c:201993:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 32)) = rtreeDisconnect // sqlite3.c:201994:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 40)) = rtreeDestroy // sqlite3.c:201995:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 48)) = rtreeOpen // sqlite3.c:201996:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 56)) = rtreeClose // sqlite3.c:201997:3: + *(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 64)) = geopolyFilter // sqlite3.c:201998:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 72)) = rtreeNext // sqlite3.c:201999:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 80)) = rtreeEof // sqlite3.c:202000:3: + *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 88)) = geopolyColumn // sqlite3.c:202001:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 96)) = rtreeRowid // sqlite3.c:202002:3: + *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 104)) = geopolyUpdate // sqlite3.c:202003:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 112)) = rtreeBeginTransaction // sqlite3.c:202004:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 120)) = rtreeEndTransaction // sqlite3.c:202005:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 128)) = rtreeEndTransaction // sqlite3.c:202006:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 136)) = rtreeEndTransaction // sqlite3.c:202007:3: + *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 144)) = geopolyFindFunction // sqlite3.c:202008:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 152)) = rtreeRename // sqlite3.c:202009:3: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 160)) = rtreeSavepoint // sqlite3.c:202010:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 184)) = rtreeShadowName // sqlite3.c:202013:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonEachModule)) + 16)) = jsonEachConnect // sqlite3.c:195733:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonEachModule)) + 24)) = jsonEachBestIndex // sqlite3.c:195734:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonEachModule)) + 32)) = jsonEachDisconnect // sqlite3.c:195735:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonEachModule)) + 48)) = jsonEachOpenEach // sqlite3.c:195737:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonEachModule)) + 56)) = jsonEachClose // sqlite3.c:195738:3: + *(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonEachModule)) + 64)) = jsonEachFilter // sqlite3.c:195739:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonEachModule)) + 72)) = jsonEachNext // sqlite3.c:195740:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonEachModule)) + 80)) = jsonEachEof // sqlite3.c:195741:3: + *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonEachModule)) + 88)) = jsonEachColumn // sqlite3.c:195742:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonEachModule)) + 96)) = jsonEachRowid // sqlite3.c:195743:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonTreeModule)) + 16)) = jsonEachConnect // sqlite3.c:195761:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonTreeModule)) + 24)) = jsonEachBestIndex // sqlite3.c:195762:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonTreeModule)) + 32)) = jsonEachDisconnect // sqlite3.c:195763:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonTreeModule)) + 48)) = jsonEachOpenTree // sqlite3.c:195765:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonTreeModule)) + 56)) = jsonEachClose // sqlite3.c:195766:3: + *(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonTreeModule)) + 64)) = jsonEachFilter // sqlite3.c:195767:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonTreeModule)) + 72)) = jsonEachNext // sqlite3.c:195768:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonTreeModule)) + 80)) = jsonEachEof // sqlite3.c:195769:3: + *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonTreeModule)) + 88)) = jsonEachColumn // sqlite3.c:195770:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonTreeModule)) + 96)) = jsonEachRowid // sqlite3.c:195771:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 8)) = memdbClose // sqlite3.c:49243:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 16)) = memdbRead // sqlite3.c:49244:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 24)) = memdbWrite // sqlite3.c:49245:3: + *(*func(*libc.TLS, uintptr, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 32)) = memdbTruncate // sqlite3.c:49246:3: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 40)) = memdbSync // sqlite3.c:49247:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 48)) = memdbFileSize // sqlite3.c:49248:3: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 56)) = memdbLock // sqlite3.c:49249:3: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 64)) = memdbLock // sqlite3.c:49250:3: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 80)) = memdbFileControl // sqlite3.c:49252:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 96)) = memdbDeviceCharacteristics // sqlite3.c:49254:3: + *(*func(*libc.TLS, uintptr, Sqlite3_int64, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 136)) = memdbFetch // sqlite3.c:49259:3: + *(*func(*libc.TLS, uintptr, Sqlite3_int64, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 144)) = memdbUnfetch // sqlite3.c:49260:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_vfs)) + 40)) = memdbOpen // sqlite3.c:49223:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_vfs)) + 56)) = memdbAccess // sqlite3.c:49225:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_vfs)) + 64)) = memdbFullPathname // sqlite3.c:49226:3: + *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_vfs)) + 72)) = memdbDlOpen // sqlite3.c:49227:3: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_vfs)) + 80)) = memdbDlError // sqlite3.c:49228:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_vfs)) + 88)) = memdbDlSym // sqlite3.c:49229:3: + *(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_vfs)) + 96)) = memdbDlClose // sqlite3.c:49230:3: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_vfs)) + 104)) = memdbRandomness // sqlite3.c:49231:3: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_vfs)) + 112)) = memdbSleep // sqlite3.c:49232:3: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_vfs)) + 128)) = memdbGetLastError // sqlite3.c:49234:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_vfs)) + 136)) = memdbCurrentTimeInt64 // sqlite3.c:49235:3: + *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&nfsIoFinder)) + 0)) = nfsIoFinderImpl // sqlite3.c:40286:1: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nfsIoMethods)) + 8)) = unixClose // sqlite3.c:40286:1: + *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nfsIoMethods)) + 16)) = unixRead // sqlite3.c:40286:1: + *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nfsIoMethods)) + 24)) = unixWrite // sqlite3.c:40286:1: + *(*func(*libc.TLS, uintptr, I64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nfsIoMethods)) + 32)) = unixTruncate // sqlite3.c:40286:1: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nfsIoMethods)) + 40)) = unixSync // sqlite3.c:40286:1: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nfsIoMethods)) + 48)) = unixFileSize // sqlite3.c:40286:1: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nfsIoMethods)) + 56)) = unixLock // sqlite3.c:40286:1: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nfsIoMethods)) + 64)) = nfsUnlock // sqlite3.c:40286:1: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nfsIoMethods)) + 72)) = unixCheckReservedLock // sqlite3.c:40286:1: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nfsIoMethods)) + 80)) = unixFileControl // sqlite3.c:40286:1: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nfsIoMethods)) + 88)) = unixSectorSize // sqlite3.c:40286:1: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nfsIoMethods)) + 96)) = unixDeviceCharacteristics // sqlite3.c:40286:1: + *(*func(*libc.TLS, uintptr, int32, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nfsIoMethods)) + 112)) = unixShmLock // sqlite3.c:40286:1: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&nfsIoMethods)) + 120)) = unixShmBarrier // sqlite3.c:40286:1: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nfsIoMethods)) + 128)) = unixShmUnmap // sqlite3.c:40286:1: + *(*func(*libc.TLS, uintptr, I64, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nfsIoMethods)) + 136)) = unixFetch // sqlite3.c:40286:1: + *(*func(*libc.TLS, uintptr, I64, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nfsIoMethods)) + 144)) = unixUnfetch // sqlite3.c:40286:1: + *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoFinder)) + 0)) = nolockIoFinderImpl // sqlite3.c:40198:1: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 8)) = nolockClose // sqlite3.c:40198:1: + *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 16)) = unixRead // sqlite3.c:40198:1: + *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 24)) = unixWrite // sqlite3.c:40198:1: + *(*func(*libc.TLS, uintptr, I64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 32)) = unixTruncate // sqlite3.c:40198:1: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 40)) = unixSync // sqlite3.c:40198:1: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 48)) = unixFileSize // sqlite3.c:40198:1: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 56)) = nolockLock // sqlite3.c:40198:1: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 64)) = nolockUnlock // sqlite3.c:40198:1: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 72)) = nolockCheckReservedLock // sqlite3.c:40198:1: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 80)) = unixFileControl // sqlite3.c:40198:1: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 88)) = unixSectorSize // sqlite3.c:40198:1: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 96)) = unixDeviceCharacteristics // sqlite3.c:40198:1: + *(*func(*libc.TLS, uintptr, int32, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 112)) = unixShmLock // sqlite3.c:40198:1: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 120)) = unixShmBarrier // sqlite3.c:40198:1: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 128)) = unixShmUnmap // sqlite3.c:40198:1: + *(*func(*libc.TLS, uintptr, I64, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 136)) = unixFetch // sqlite3.c:40198:1: + *(*func(*libc.TLS, uintptr, I64, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 144)) = unixUnfetch // sqlite3.c:40198:1: + *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoFinder)) + 0)) = posixIoFinderImpl // sqlite3.c:40188:1: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 8)) = unixClose // sqlite3.c:40188:1: + *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 16)) = unixRead // sqlite3.c:40188:1: + *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 24)) = unixWrite // sqlite3.c:40188:1: + *(*func(*libc.TLS, uintptr, I64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 32)) = unixTruncate // sqlite3.c:40188:1: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 40)) = unixSync // sqlite3.c:40188:1: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 48)) = unixFileSize // sqlite3.c:40188:1: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 56)) = unixLock // sqlite3.c:40188:1: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 64)) = unixUnlock // sqlite3.c:40188:1: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 72)) = unixCheckReservedLock // sqlite3.c:40188:1: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 80)) = unixFileControl // sqlite3.c:40188:1: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 88)) = unixSectorSize // sqlite3.c:40188:1: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 96)) = unixDeviceCharacteristics // sqlite3.c:40188:1: + *(*func(*libc.TLS, uintptr, int32, int32, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 104)) = unixShmMap // sqlite3.c:40188:1: + *(*func(*libc.TLS, uintptr, int32, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 112)) = unixShmLock // sqlite3.c:40188:1: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 120)) = unixShmBarrier // sqlite3.c:40188:1: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 128)) = unixShmUnmap // sqlite3.c:40188:1: + *(*func(*libc.TLS, uintptr, I64, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 136)) = unixFetch // sqlite3.c:40188:1: + *(*func(*libc.TLS, uintptr, I64, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 144)) = unixUnfetch // sqlite3.c:40188:1: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&pragmaVtabModule)) + 16)) = pragmaVtabConnect // sqlite3.c:133119:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&pragmaVtabModule)) + 24)) = pragmaVtabBestIndex // sqlite3.c:133120:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&pragmaVtabModule)) + 32)) = pragmaVtabDisconnect // sqlite3.c:133121:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&pragmaVtabModule)) + 48)) = pragmaVtabOpen // sqlite3.c:133123:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&pragmaVtabModule)) + 56)) = pragmaVtabClose // sqlite3.c:133124:3: + *(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&pragmaVtabModule)) + 64)) = pragmaVtabFilter // sqlite3.c:133125:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&pragmaVtabModule)) + 72)) = pragmaVtabNext // sqlite3.c:133126:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&pragmaVtabModule)) + 80)) = pragmaVtabEof // sqlite3.c:133127:3: + *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&pragmaVtabModule)) + 88)) = pragmaVtabColumn // sqlite3.c:133128:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&pragmaVtabModule)) + 96)) = pragmaVtabRowid // sqlite3.c:133129:3: + *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&proxyIoFinder)) + 0)) = proxyIoFinderImpl // sqlite3.c:40272:1: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&proxyIoMethods)) + 8)) = proxyClose // sqlite3.c:40272:1: + *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&proxyIoMethods)) + 16)) = unixRead // sqlite3.c:40272:1: + *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&proxyIoMethods)) + 24)) = unixWrite // sqlite3.c:40272:1: + *(*func(*libc.TLS, uintptr, I64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&proxyIoMethods)) + 32)) = unixTruncate // sqlite3.c:40272:1: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&proxyIoMethods)) + 40)) = unixSync // sqlite3.c:40272:1: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&proxyIoMethods)) + 48)) = unixFileSize // sqlite3.c:40272:1: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&proxyIoMethods)) + 56)) = proxyLock // sqlite3.c:40272:1: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&proxyIoMethods)) + 64)) = proxyUnlock // sqlite3.c:40272:1: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&proxyIoMethods)) + 72)) = proxyCheckReservedLock // sqlite3.c:40272:1: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&proxyIoMethods)) + 80)) = unixFileControl // sqlite3.c:40272:1: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&proxyIoMethods)) + 88)) = unixSectorSize // sqlite3.c:40272:1: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&proxyIoMethods)) + 96)) = unixDeviceCharacteristics // sqlite3.c:40272:1: + *(*func(*libc.TLS, uintptr, int32, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&proxyIoMethods)) + 112)) = unixShmLock // sqlite3.c:40272:1: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&proxyIoMethods)) + 120)) = unixShmBarrier // sqlite3.c:40272:1: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&proxyIoMethods)) + 128)) = unixShmUnmap // sqlite3.c:40272:1: + *(*func(*libc.TLS, uintptr, I64, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&proxyIoMethods)) + 136)) = unixFetch // sqlite3.c:40272:1: + *(*func(*libc.TLS, uintptr, I64, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&proxyIoMethods)) + 144)) = unixUnfetch // sqlite3.c:40272:1: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 8)) = rbuVfsClose // sqlite3.c:208688:5: + *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 16)) = rbuVfsRead // sqlite3.c:208689:5: + *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 24)) = rbuVfsWrite // sqlite3.c:208690:5: + *(*func(*libc.TLS, uintptr, Sqlite_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 32)) = rbuVfsTruncate // sqlite3.c:208691:5: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 40)) = rbuVfsSync // sqlite3.c:208692:5: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 48)) = rbuVfsFileSize // sqlite3.c:208693:5: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 56)) = rbuVfsLock // sqlite3.c:208694:5: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 64)) = rbuVfsUnlock // sqlite3.c:208695:5: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 72)) = rbuVfsCheckReservedLock // sqlite3.c:208696:5: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 80)) = rbuVfsFileControl // sqlite3.c:208697:5: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 88)) = rbuVfsSectorSize // sqlite3.c:208698:5: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 96)) = rbuVfsDeviceCharacteristics // sqlite3.c:208699:5: + *(*func(*libc.TLS, uintptr, int32, int32, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 104)) = rbuVfsShmMap // sqlite3.c:208700:5: + *(*func(*libc.TLS, uintptr, int32, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 112)) = rbuVfsShmLock // sqlite3.c:208701:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 120)) = rbuVfsShmBarrier // sqlite3.c:208702:5: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 128)) = rbuVfsShmUnmap // sqlite3.c:208703:5: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 8)) = rtreeCreate // sqlite3.c:199329:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 16)) = rtreeConnect // sqlite3.c:199330:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 24)) = rtreeBestIndex // sqlite3.c:199331:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 32)) = rtreeDisconnect // sqlite3.c:199332:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 40)) = rtreeDestroy // sqlite3.c:199333:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 48)) = rtreeOpen // sqlite3.c:199334:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 56)) = rtreeClose // sqlite3.c:199335:3: + *(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 64)) = rtreeFilter // sqlite3.c:199336:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 72)) = rtreeNext // sqlite3.c:199337:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 80)) = rtreeEof // sqlite3.c:199338:3: + *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 88)) = rtreeColumn // sqlite3.c:199339:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 96)) = rtreeRowid // sqlite3.c:199340:3: + *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 104)) = rtreeUpdate // sqlite3.c:199341:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 112)) = rtreeBeginTransaction // sqlite3.c:199342:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 120)) = rtreeEndTransaction // sqlite3.c:199343:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 128)) = rtreeEndTransaction // sqlite3.c:199344:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 136)) = rtreeEndTransaction // sqlite3.c:199345:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 152)) = rtreeRename // sqlite3.c:199347:3: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 160)) = rtreeSavepoint // sqlite3.c:199348:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 184)) = rtreeShadowName // sqlite3.c:199351:3: + *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 8)) = fts5ApiUserData // sqlite3.c:233916:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 16)) = fts5ApiColumnCount // sqlite3.c:233917:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 24)) = fts5ApiRowCount // sqlite3.c:233918:3: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 32)) = fts5ApiColumnTotalSize // sqlite3.c:233919:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 40)) = fts5ApiTokenize // sqlite3.c:233920:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 48)) = fts5ApiPhraseCount // sqlite3.c:233921:3: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 56)) = fts5ApiPhraseSize // sqlite3.c:233922:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 64)) = fts5ApiInstCount // sqlite3.c:233923:3: + *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 72)) = fts5ApiInst // sqlite3.c:233924:3: + *(*func(*libc.TLS, uintptr) Sqlite3_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 80)) = fts5ApiRowid // sqlite3.c:233925:3: + *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 88)) = fts5ApiColumnText // sqlite3.c:233926:3: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 96)) = fts5ApiColumnSize // sqlite3.c:233927:3: + *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 104)) = fts5ApiQueryPhrase // sqlite3.c:233928:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 112)) = fts5ApiSetAuxdata // sqlite3.c:233929:3: + *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 120)) = fts5ApiGetAuxdata // sqlite3.c:233930:3: + *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 128)) = fts5ApiPhraseFirst // sqlite3.c:233931:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 136)) = fts5ApiPhraseNext // sqlite3.c:233932:3: + *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 144)) = fts5ApiPhraseFirstColumn // sqlite3.c:233933:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 152)) = fts5ApiPhraseNextColumn // sqlite3.c:233934:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sMemJournalMethods)) + 8)) = memjrnlClose // sqlite3.c:100036:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sMemJournalMethods)) + 16)) = memjrnlRead // sqlite3.c:100037:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sMemJournalMethods)) + 24)) = memjrnlWrite // sqlite3.c:100038:3: + *(*func(*libc.TLS, uintptr, Sqlite_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sMemJournalMethods)) + 32)) = memjrnlTruncate // sqlite3.c:100039:3: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sMemJournalMethods)) + 40)) = memjrnlSync // sqlite3.c:100040:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sMemJournalMethods)) + 48)) = memjrnlFileSize // sqlite3.c:100041:3: *(*func(*libc.TLS) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sMutex)) + 0)) = noopMutexInit // sqlite3.c:27532:5: *(*func(*libc.TLS) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sMutex)) + 8)) = noopMutexEnd // sqlite3.c:27533:5: *(*func(*libc.TLS, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sMutex)) + 16)) = noopMutexAlloc // sqlite3.c:27534:5: @@ -209780,288 +209830,288 @@ func init() { *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sMutex)) + 32)) = noopMutexEnter // sqlite3.c:27536:5: *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sMutex)) + 40)) = noopMutexTry // sqlite3.c:27537:5: *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sMutex)) + 48)) = noopMutexLeave // sqlite3.c:27538:5: - *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 0)) = Xsqlite3_aggregate_context // sqlite3.c:129019:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 8)) = Xsqlite3_aggregate_count // sqlite3.c:129021:3: - *(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 16)) = Xsqlite3_bind_blob // sqlite3.c:129025:3: - *(*func(*libc.TLS, uintptr, int32, float64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 24)) = Xsqlite3_bind_double // sqlite3.c:129026:3: - *(*func(*libc.TLS, uintptr, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 32)) = Xsqlite3_bind_int // sqlite3.c:129027:3: - *(*func(*libc.TLS, uintptr, int32, Sqlite_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 40)) = Xsqlite3_bind_int64 // sqlite3.c:129028:3: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 48)) = Xsqlite3_bind_null // sqlite3.c:129029:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 56)) = Xsqlite3_bind_parameter_count // sqlite3.c:129030:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 64)) = Xsqlite3_bind_parameter_index // sqlite3.c:129031:3: - *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 72)) = Xsqlite3_bind_parameter_name // sqlite3.c:129032:3: - *(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 80)) = Xsqlite3_bind_text // sqlite3.c:129033:3: - *(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 88)) = Xsqlite3_bind_text16 // sqlite3.c:129034:3: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 96)) = Xsqlite3_bind_value // sqlite3.c:129035:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 104)) = Xsqlite3_busy_handler // sqlite3.c:129036:3: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 112)) = Xsqlite3_busy_timeout // sqlite3.c:129037:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 120)) = Xsqlite3_changes // sqlite3.c:129038:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 128)) = Xsqlite3_close // sqlite3.c:129039:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 136)) = Xsqlite3_collation_needed // sqlite3.c:129040:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 144)) = Xsqlite3_collation_needed16 // sqlite3.c:129041:3: - *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 152)) = Xsqlite3_column_blob // sqlite3.c:129042:3: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 160)) = Xsqlite3_column_bytes // sqlite3.c:129043:3: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 168)) = Xsqlite3_column_bytes16 // sqlite3.c:129044:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 176)) = Xsqlite3_column_count // sqlite3.c:129045:3: - *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 184)) = Xsqlite3_column_database_name // sqlite3.c:129046:3: - *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 192)) = Xsqlite3_column_database_name16 // sqlite3.c:129047:3: - *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 200)) = Xsqlite3_column_decltype // sqlite3.c:129048:3: - *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 208)) = Xsqlite3_column_decltype16 // sqlite3.c:129049:3: - *(*func(*libc.TLS, uintptr, int32) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 216)) = Xsqlite3_column_double // sqlite3.c:129050:3: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 224)) = Xsqlite3_column_int // sqlite3.c:129051:3: - *(*func(*libc.TLS, uintptr, int32) Sqlite_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 232)) = Xsqlite3_column_int64 // sqlite3.c:129052:3: - *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 240)) = Xsqlite3_column_name // sqlite3.c:129053:3: - *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 248)) = Xsqlite3_column_name16 // sqlite3.c:129054:3: - *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 256)) = Xsqlite3_column_origin_name // sqlite3.c:129055:3: - *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 264)) = Xsqlite3_column_origin_name16 // sqlite3.c:129056:3: - *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 272)) = Xsqlite3_column_table_name // sqlite3.c:129057:3: - *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 280)) = Xsqlite3_column_table_name16 // sqlite3.c:129058:3: - *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 288)) = Xsqlite3_column_text // sqlite3.c:129059:3: - *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 296)) = Xsqlite3_column_text16 // sqlite3.c:129060:3: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 304)) = Xsqlite3_column_type // sqlite3.c:129061:3: - *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 312)) = Xsqlite3_column_value // sqlite3.c:129062:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 320)) = Xsqlite3_commit_hook // sqlite3.c:129063:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 328)) = Xsqlite3_complete // sqlite3.c:129064:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 336)) = Xsqlite3_complete16 // sqlite3.c:129065:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 344)) = Xsqlite3_create_collation // sqlite3.c:129066:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 352)) = Xsqlite3_create_collation16 // sqlite3.c:129067:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, int32, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 360)) = Xsqlite3_create_function // sqlite3.c:129068:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, int32, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 368)) = Xsqlite3_create_function16 // sqlite3.c:129069:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 376)) = Xsqlite3_create_module // sqlite3.c:129070:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 384)) = Xsqlite3_data_count // sqlite3.c:129071:3: - *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 392)) = Xsqlite3_db_handle // sqlite3.c:129072:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 400)) = Xsqlite3_declare_vtab // sqlite3.c:129073:3: - *(*func(*libc.TLS, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 408)) = Xsqlite3_enable_shared_cache // sqlite3.c:129074:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 416)) = Xsqlite3_errcode // sqlite3.c:129075:3: - *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 424)) = Xsqlite3_errmsg // sqlite3.c:129076:3: - *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 432)) = Xsqlite3_errmsg16 // sqlite3.c:129077:3: - *(*func(*libc.TLS, uintptr, uintptr, Sqlite3_callback, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 440)) = Xsqlite3_exec // sqlite3.c:129078:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 448)) = Xsqlite3_expired // sqlite3.c:129080:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 456)) = Xsqlite3_finalize // sqlite3.c:129084:3: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 464)) = Xsqlite3_free // sqlite3.c:129085:3: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 472)) = Xsqlite3_free_table // sqlite3.c:129086:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 480)) = Xsqlite3_get_autocommit // sqlite3.c:129087:3: - *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 488)) = Xsqlite3_get_auxdata // sqlite3.c:129088:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 496)) = Xsqlite3_get_table // sqlite3.c:129089:3: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 512)) = Xsqlite3_interrupt // sqlite3.c:129091:3: - *(*func(*libc.TLS, uintptr) Sqlite3_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 520)) = Xsqlite3_last_insert_rowid // sqlite3.c:129092:3: - *(*func(*libc.TLS) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 528)) = Xsqlite3_libversion // sqlite3.c:129093:3: - *(*func(*libc.TLS) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 536)) = Xsqlite3_libversion_number // sqlite3.c:129094:3: - *(*func(*libc.TLS, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 544)) = Xsqlite3_malloc // sqlite3.c:129095:3: - *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 552)) = Xsqlite3_mprintf // sqlite3.c:129096:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 560)) = Xsqlite3_open // sqlite3.c:129097:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 568)) = Xsqlite3_open16 // sqlite3.c:129098:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 576)) = Xsqlite3_prepare // sqlite3.c:129099:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 584)) = Xsqlite3_prepare16 // sqlite3.c:129100:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 592)) = Xsqlite3_profile // sqlite3.c:129101:3: - *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 600)) = Xsqlite3_progress_handler // sqlite3.c:129102:3: - *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 608)) = Xsqlite3_realloc // sqlite3.c:129103:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 616)) = Xsqlite3_reset // sqlite3.c:129104:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 624)) = Xsqlite3_result_blob // sqlite3.c:129105:3: - *(*func(*libc.TLS, uintptr, float64))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 632)) = Xsqlite3_result_double // sqlite3.c:129106:3: - *(*func(*libc.TLS, uintptr, uintptr, int32))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 640)) = Xsqlite3_result_error // sqlite3.c:129107:3: - *(*func(*libc.TLS, uintptr, uintptr, int32))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 648)) = Xsqlite3_result_error16 // sqlite3.c:129108:3: - *(*func(*libc.TLS, uintptr, int32))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 656)) = Xsqlite3_result_int // sqlite3.c:129109:3: - *(*func(*libc.TLS, uintptr, I64))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 664)) = Xsqlite3_result_int64 // sqlite3.c:129110:3: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 672)) = Xsqlite3_result_null // sqlite3.c:129111:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 680)) = Xsqlite3_result_text // sqlite3.c:129112:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 688)) = Xsqlite3_result_text16 // sqlite3.c:129113:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 696)) = Xsqlite3_result_text16be // sqlite3.c:129114:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 704)) = Xsqlite3_result_text16le // sqlite3.c:129115:3: - *(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 712)) = Xsqlite3_result_value // sqlite3.c:129116:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 720)) = Xsqlite3_rollback_hook // sqlite3.c:129117:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 728)) = Xsqlite3_set_authorizer // sqlite3.c:129118:3: - *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 736)) = Xsqlite3_set_auxdata // sqlite3.c:129119:3: - *(*func(*libc.TLS, int32, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 744)) = Xsqlite3_snprintf // sqlite3.c:129120:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 752)) = Xsqlite3_step // sqlite3.c:129121:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr, uintptr, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 760)) = Xsqlite3_table_column_metadata // sqlite3.c:129122:3: - *(*func(*libc.TLS))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 768)) = Xsqlite3_thread_cleanup // sqlite3.c:129124:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 776)) = Xsqlite3_total_changes // sqlite3.c:129128:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 784)) = Xsqlite3_trace // sqlite3.c:129129:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 792)) = Xsqlite3_transfer_bindings // sqlite3.c:129131:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 800)) = Xsqlite3_update_hook // sqlite3.c:129135:3: - *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 808)) = Xsqlite3_user_data // sqlite3.c:129136:3: - *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 816)) = Xsqlite3_value_blob // sqlite3.c:129137:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 824)) = Xsqlite3_value_bytes // sqlite3.c:129138:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 832)) = Xsqlite3_value_bytes16 // sqlite3.c:129139:3: - *(*func(*libc.TLS, uintptr) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 840)) = Xsqlite3_value_double // sqlite3.c:129140:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 848)) = Xsqlite3_value_int // sqlite3.c:129141:3: - *(*func(*libc.TLS, uintptr) Sqlite_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 856)) = Xsqlite3_value_int64 // sqlite3.c:129142:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 864)) = Xsqlite3_value_numeric_type // sqlite3.c:129143:3: - *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 872)) = Xsqlite3_value_text // sqlite3.c:129144:3: - *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 880)) = Xsqlite3_value_text16 // sqlite3.c:129145:3: - *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 888)) = Xsqlite3_value_text16be // sqlite3.c:129146:3: - *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 896)) = Xsqlite3_value_text16le // sqlite3.c:129147:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 904)) = Xsqlite3_value_type // sqlite3.c:129148:3: - *(*func(*libc.TLS, uintptr, Va_list) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 912)) = Xsqlite3_vmprintf // sqlite3.c:129149:3: - *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 920)) = Xsqlite3_overload_function // sqlite3.c:129158:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 928)) = Xsqlite3_prepare_v2 // sqlite3.c:129163:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 936)) = Xsqlite3_prepare16_v2 // sqlite3.c:129164:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 944)) = Xsqlite3_clear_bindings // sqlite3.c:129165:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 952)) = Xsqlite3_create_module_v2 // sqlite3.c:129170:3: - *(*func(*libc.TLS, uintptr, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 960)) = Xsqlite3_bind_zeroblob // sqlite3.c:129175:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 968)) = Xsqlite3_blob_bytes // sqlite3.c:129176:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 976)) = Xsqlite3_blob_close // sqlite3.c:129177:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr, Sqlite_int64, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 984)) = Xsqlite3_blob_open // sqlite3.c:129178:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 992)) = Xsqlite3_blob_read // sqlite3.c:129179:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1000)) = Xsqlite3_blob_write // sqlite3.c:129180:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1008)) = Xsqlite3_create_collation_v2 // sqlite3.c:129181:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1016)) = Xsqlite3_file_control // sqlite3.c:129182:3: - *(*func(*libc.TLS, int32) Sqlite3_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1024)) = Xsqlite3_memory_highwater // sqlite3.c:129183:3: - *(*func(*libc.TLS) Sqlite3_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1032)) = Xsqlite3_memory_used // sqlite3.c:129184:3: - *(*func(*libc.TLS, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1040)) = Xsqlite3_mutex_alloc // sqlite3.c:129192:3: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1048)) = Xsqlite3_mutex_enter // sqlite3.c:129193:3: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1056)) = Xsqlite3_mutex_free // sqlite3.c:129194:3: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1064)) = Xsqlite3_mutex_leave // sqlite3.c:129195:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1072)) = Xsqlite3_mutex_try // sqlite3.c:129196:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1080)) = Xsqlite3_open_v2 // sqlite3.c:129198:3: - *(*func(*libc.TLS, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1088)) = Xsqlite3_release_memory // sqlite3.c:129199:3: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1096)) = Xsqlite3_result_error_nomem // sqlite3.c:129200:3: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1104)) = Xsqlite3_result_error_toobig // sqlite3.c:129201:3: - *(*func(*libc.TLS, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1112)) = Xsqlite3_sleep // sqlite3.c:129202:3: - *(*func(*libc.TLS, int32))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1120)) = Xsqlite3_soft_heap_limit // sqlite3.c:129203:3: - *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1128)) = Xsqlite3_vfs_find // sqlite3.c:129204:3: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1136)) = Xsqlite3_vfs_register // sqlite3.c:129205:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1144)) = Xsqlite3_vfs_unregister // sqlite3.c:129206:3: - *(*func(*libc.TLS) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1152)) = Xsqlite3_threadsafe // sqlite3.c:129211:3: - *(*func(*libc.TLS, uintptr, int32))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1160)) = Xsqlite3_result_zeroblob // sqlite3.c:129212:3: - *(*func(*libc.TLS, uintptr, int32))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1168)) = Xsqlite3_result_error_code // sqlite3.c:129213:3: - *(*func(*libc.TLS, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1176)) = Xsqlite3_test_control // sqlite3.c:129214:3: - *(*func(*libc.TLS, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1184)) = Xsqlite3_randomness // sqlite3.c:129215:3: - *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1192)) = Xsqlite3_context_db_handle // sqlite3.c:129216:3: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1200)) = Xsqlite3_extended_result_codes // sqlite3.c:129221:3: - *(*func(*libc.TLS, uintptr, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1208)) = Xsqlite3_limit // sqlite3.c:129222:3: - *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1216)) = Xsqlite3_next_stmt // sqlite3.c:129223:3: - *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1224)) = Xsqlite3_sql // sqlite3.c:129224:3: - *(*func(*libc.TLS, int32, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1232)) = Xsqlite3_status // sqlite3.c:129225:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1240)) = Xsqlite3_backup_finish // sqlite3.c:129230:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1248)) = Xsqlite3_backup_init // sqlite3.c:129231:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1256)) = Xsqlite3_backup_pagecount // sqlite3.c:129232:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1264)) = Xsqlite3_backup_remaining // sqlite3.c:129233:3: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1272)) = Xsqlite3_backup_step // sqlite3.c:129234:3: - *(*func(*libc.TLS, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1280)) = Xsqlite3_compileoption_get // sqlite3.c:129236:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1288)) = Xsqlite3_compileoption_used // sqlite3.c:129237:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, int32, uintptr, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1296)) = Xsqlite3_create_function_v2 // sqlite3.c:129242:3: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1304)) = Xsqlite3_db_config // sqlite3.c:129243:3: - *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1312)) = Xsqlite3_db_mutex // sqlite3.c:129244:3: - *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1320)) = Xsqlite3_db_status // sqlite3.c:129245:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1328)) = Xsqlite3_extended_errcode // sqlite3.c:129246:3: - *(*func(*libc.TLS, int32, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1336)) = Xsqlite3_log // sqlite3.c:129247:3: - *(*func(*libc.TLS, Sqlite3_int64) Sqlite3_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1344)) = Xsqlite3_soft_heap_limit64 // sqlite3.c:129248:3: - *(*func(*libc.TLS) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1352)) = Xsqlite3_sourceid // sqlite3.c:129249:3: - *(*func(*libc.TLS, uintptr, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1360)) = Xsqlite3_stmt_status // sqlite3.c:129250:3: - *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1368)) = Xsqlite3_strnicmp // sqlite3.c:129251:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1376)) = Xsqlite3_unlock_notify // sqlite3.c:129253:3: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1384)) = Xsqlite3_wal_autocheckpoint // sqlite3.c:129258:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1392)) = Xsqlite3_wal_checkpoint // sqlite3.c:129259:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1400)) = Xsqlite3_wal_hook // sqlite3.c:129260:3: - *(*func(*libc.TLS, uintptr, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1408)) = Xsqlite3_blob_reopen // sqlite3.c:129266:3: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1416)) = Xsqlite3_vtab_config // sqlite3.c:129267:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1424)) = Xsqlite3_vtab_on_conflict // sqlite3.c:129268:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1432)) = Xsqlite3_close_v2 // sqlite3.c:129269:3: - *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1440)) = Xsqlite3_db_filename // sqlite3.c:129270:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1448)) = Xsqlite3_db_readonly // sqlite3.c:129271:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1456)) = Xsqlite3_db_release_memory // sqlite3.c:129272:3: - *(*func(*libc.TLS, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1464)) = Xsqlite3_errstr // sqlite3.c:129273:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1472)) = Xsqlite3_stmt_busy // sqlite3.c:129274:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1480)) = Xsqlite3_stmt_readonly // sqlite3.c:129275:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1488)) = Xsqlite3_stricmp // sqlite3.c:129276:3: - *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1496)) = Xsqlite3_uri_boolean // sqlite3.c:129277:3: - *(*func(*libc.TLS, uintptr, uintptr, Sqlite3_int64) Sqlite3_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1504)) = Xsqlite3_uri_int64 // sqlite3.c:129278:3: - *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1512)) = Xsqlite3_uri_parameter // sqlite3.c:129279:3: - *(*func(*libc.TLS, int32, uintptr, uintptr, Va_list) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1520)) = Xsqlite3_vsnprintf // sqlite3.c:129280:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1528)) = Xsqlite3_wal_checkpoint_v2 // sqlite3.c:129281:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1536)) = Xsqlite3_auto_extension // sqlite3.c:129283:3: - *(*func(*libc.TLS, uintptr, int32, uintptr, Sqlite3_uint64, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1544)) = Xsqlite3_bind_blob64 // sqlite3.c:129284:3: - *(*func(*libc.TLS, uintptr, int32, uintptr, Sqlite3_uint64, uintptr, uint8) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1552)) = Xsqlite3_bind_text64 // sqlite3.c:129285:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1560)) = Xsqlite3_cancel_auto_extension // sqlite3.c:129286:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1568)) = Xsqlite3_load_extension // sqlite3.c:129287:3: - *(*func(*libc.TLS, Sqlite3_uint64) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1576)) = Xsqlite3_malloc64 // sqlite3.c:129288:3: - *(*func(*libc.TLS, uintptr) Sqlite3_uint64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1584)) = Xsqlite3_msize // sqlite3.c:129289:3: - *(*func(*libc.TLS, uintptr, Sqlite3_uint64) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1592)) = Xsqlite3_realloc64 // sqlite3.c:129290:3: - *(*func(*libc.TLS))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1600)) = Xsqlite3_reset_auto_extension // sqlite3.c:129291:3: - *(*func(*libc.TLS, uintptr, uintptr, Sqlite3_uint64, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1608)) = Xsqlite3_result_blob64 // sqlite3.c:129292:3: - *(*func(*libc.TLS, uintptr, uintptr, Sqlite3_uint64, uintptr, uint8))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1616)) = Xsqlite3_result_text64 // sqlite3.c:129293:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1624)) = Xsqlite3_strglob // sqlite3.c:129294:3: + *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 0)) = Xsqlite3_aggregate_context // sqlite3.c:129032:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 8)) = Xsqlite3_aggregate_count // sqlite3.c:129034:3: + *(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 16)) = Xsqlite3_bind_blob // sqlite3.c:129038:3: + *(*func(*libc.TLS, uintptr, int32, float64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 24)) = Xsqlite3_bind_double // sqlite3.c:129039:3: + *(*func(*libc.TLS, uintptr, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 32)) = Xsqlite3_bind_int // sqlite3.c:129040:3: + *(*func(*libc.TLS, uintptr, int32, Sqlite_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 40)) = Xsqlite3_bind_int64 // sqlite3.c:129041:3: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 48)) = Xsqlite3_bind_null // sqlite3.c:129042:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 56)) = Xsqlite3_bind_parameter_count // sqlite3.c:129043:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 64)) = Xsqlite3_bind_parameter_index // sqlite3.c:129044:3: + *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 72)) = Xsqlite3_bind_parameter_name // sqlite3.c:129045:3: + *(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 80)) = Xsqlite3_bind_text // sqlite3.c:129046:3: + *(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 88)) = Xsqlite3_bind_text16 // sqlite3.c:129047:3: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 96)) = Xsqlite3_bind_value // sqlite3.c:129048:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 104)) = Xsqlite3_busy_handler // sqlite3.c:129049:3: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 112)) = Xsqlite3_busy_timeout // sqlite3.c:129050:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 120)) = Xsqlite3_changes // sqlite3.c:129051:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 128)) = Xsqlite3_close // sqlite3.c:129052:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 136)) = Xsqlite3_collation_needed // sqlite3.c:129053:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 144)) = Xsqlite3_collation_needed16 // sqlite3.c:129054:3: + *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 152)) = Xsqlite3_column_blob // sqlite3.c:129055:3: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 160)) = Xsqlite3_column_bytes // sqlite3.c:129056:3: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 168)) = Xsqlite3_column_bytes16 // sqlite3.c:129057:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 176)) = Xsqlite3_column_count // sqlite3.c:129058:3: + *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 184)) = Xsqlite3_column_database_name // sqlite3.c:129059:3: + *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 192)) = Xsqlite3_column_database_name16 // sqlite3.c:129060:3: + *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 200)) = Xsqlite3_column_decltype // sqlite3.c:129061:3: + *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 208)) = Xsqlite3_column_decltype16 // sqlite3.c:129062:3: + *(*func(*libc.TLS, uintptr, int32) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 216)) = Xsqlite3_column_double // sqlite3.c:129063:3: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 224)) = Xsqlite3_column_int // sqlite3.c:129064:3: + *(*func(*libc.TLS, uintptr, int32) Sqlite_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 232)) = Xsqlite3_column_int64 // sqlite3.c:129065:3: + *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 240)) = Xsqlite3_column_name // sqlite3.c:129066:3: + *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 248)) = Xsqlite3_column_name16 // sqlite3.c:129067:3: + *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 256)) = Xsqlite3_column_origin_name // sqlite3.c:129068:3: + *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 264)) = Xsqlite3_column_origin_name16 // sqlite3.c:129069:3: + *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 272)) = Xsqlite3_column_table_name // sqlite3.c:129070:3: + *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 280)) = Xsqlite3_column_table_name16 // sqlite3.c:129071:3: + *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 288)) = Xsqlite3_column_text // sqlite3.c:129072:3: + *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 296)) = Xsqlite3_column_text16 // sqlite3.c:129073:3: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 304)) = Xsqlite3_column_type // sqlite3.c:129074:3: + *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 312)) = Xsqlite3_column_value // sqlite3.c:129075:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 320)) = Xsqlite3_commit_hook // sqlite3.c:129076:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 328)) = Xsqlite3_complete // sqlite3.c:129077:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 336)) = Xsqlite3_complete16 // sqlite3.c:129078:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 344)) = Xsqlite3_create_collation // sqlite3.c:129079:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 352)) = Xsqlite3_create_collation16 // sqlite3.c:129080:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, int32, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 360)) = Xsqlite3_create_function // sqlite3.c:129081:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, int32, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 368)) = Xsqlite3_create_function16 // sqlite3.c:129082:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 376)) = Xsqlite3_create_module // sqlite3.c:129083:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 384)) = Xsqlite3_data_count // sqlite3.c:129084:3: + *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 392)) = Xsqlite3_db_handle // sqlite3.c:129085:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 400)) = Xsqlite3_declare_vtab // sqlite3.c:129086:3: + *(*func(*libc.TLS, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 408)) = Xsqlite3_enable_shared_cache // sqlite3.c:129087:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 416)) = Xsqlite3_errcode // sqlite3.c:129088:3: + *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 424)) = Xsqlite3_errmsg // sqlite3.c:129089:3: + *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 432)) = Xsqlite3_errmsg16 // sqlite3.c:129090:3: + *(*func(*libc.TLS, uintptr, uintptr, Sqlite3_callback, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 440)) = Xsqlite3_exec // sqlite3.c:129091:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 448)) = Xsqlite3_expired // sqlite3.c:129093:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 456)) = Xsqlite3_finalize // sqlite3.c:129097:3: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 464)) = Xsqlite3_free // sqlite3.c:129098:3: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 472)) = Xsqlite3_free_table // sqlite3.c:129099:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 480)) = Xsqlite3_get_autocommit // sqlite3.c:129100:3: + *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 488)) = Xsqlite3_get_auxdata // sqlite3.c:129101:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 496)) = Xsqlite3_get_table // sqlite3.c:129102:3: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 512)) = Xsqlite3_interrupt // sqlite3.c:129104:3: + *(*func(*libc.TLS, uintptr) Sqlite3_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 520)) = Xsqlite3_last_insert_rowid // sqlite3.c:129105:3: + *(*func(*libc.TLS) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 528)) = Xsqlite3_libversion // sqlite3.c:129106:3: + *(*func(*libc.TLS) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 536)) = Xsqlite3_libversion_number // sqlite3.c:129107:3: + *(*func(*libc.TLS, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 544)) = Xsqlite3_malloc // sqlite3.c:129108:3: + *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 552)) = Xsqlite3_mprintf // sqlite3.c:129109:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 560)) = Xsqlite3_open // sqlite3.c:129110:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 568)) = Xsqlite3_open16 // sqlite3.c:129111:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 576)) = Xsqlite3_prepare // sqlite3.c:129112:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 584)) = Xsqlite3_prepare16 // sqlite3.c:129113:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 592)) = Xsqlite3_profile // sqlite3.c:129114:3: + *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 600)) = Xsqlite3_progress_handler // sqlite3.c:129115:3: + *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 608)) = Xsqlite3_realloc // sqlite3.c:129116:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 616)) = Xsqlite3_reset // sqlite3.c:129117:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 624)) = Xsqlite3_result_blob // sqlite3.c:129118:3: + *(*func(*libc.TLS, uintptr, float64))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 632)) = Xsqlite3_result_double // sqlite3.c:129119:3: + *(*func(*libc.TLS, uintptr, uintptr, int32))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 640)) = Xsqlite3_result_error // sqlite3.c:129120:3: + *(*func(*libc.TLS, uintptr, uintptr, int32))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 648)) = Xsqlite3_result_error16 // sqlite3.c:129121:3: + *(*func(*libc.TLS, uintptr, int32))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 656)) = Xsqlite3_result_int // sqlite3.c:129122:3: + *(*func(*libc.TLS, uintptr, I64))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 664)) = Xsqlite3_result_int64 // sqlite3.c:129123:3: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 672)) = Xsqlite3_result_null // sqlite3.c:129124:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 680)) = Xsqlite3_result_text // sqlite3.c:129125:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 688)) = Xsqlite3_result_text16 // sqlite3.c:129126:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 696)) = Xsqlite3_result_text16be // sqlite3.c:129127:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 704)) = Xsqlite3_result_text16le // sqlite3.c:129128:3: + *(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 712)) = Xsqlite3_result_value // sqlite3.c:129129:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 720)) = Xsqlite3_rollback_hook // sqlite3.c:129130:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 728)) = Xsqlite3_set_authorizer // sqlite3.c:129131:3: + *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 736)) = Xsqlite3_set_auxdata // sqlite3.c:129132:3: + *(*func(*libc.TLS, int32, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 744)) = Xsqlite3_snprintf // sqlite3.c:129133:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 752)) = Xsqlite3_step // sqlite3.c:129134:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr, uintptr, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 760)) = Xsqlite3_table_column_metadata // sqlite3.c:129135:3: + *(*func(*libc.TLS))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 768)) = Xsqlite3_thread_cleanup // sqlite3.c:129137:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 776)) = Xsqlite3_total_changes // sqlite3.c:129141:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 784)) = Xsqlite3_trace // sqlite3.c:129142:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 792)) = Xsqlite3_transfer_bindings // sqlite3.c:129144:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 800)) = Xsqlite3_update_hook // sqlite3.c:129148:3: + *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 808)) = Xsqlite3_user_data // sqlite3.c:129149:3: + *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 816)) = Xsqlite3_value_blob // sqlite3.c:129150:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 824)) = Xsqlite3_value_bytes // sqlite3.c:129151:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 832)) = Xsqlite3_value_bytes16 // sqlite3.c:129152:3: + *(*func(*libc.TLS, uintptr) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 840)) = Xsqlite3_value_double // sqlite3.c:129153:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 848)) = Xsqlite3_value_int // sqlite3.c:129154:3: + *(*func(*libc.TLS, uintptr) Sqlite_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 856)) = Xsqlite3_value_int64 // sqlite3.c:129155:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 864)) = Xsqlite3_value_numeric_type // sqlite3.c:129156:3: + *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 872)) = Xsqlite3_value_text // sqlite3.c:129157:3: + *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 880)) = Xsqlite3_value_text16 // sqlite3.c:129158:3: + *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 888)) = Xsqlite3_value_text16be // sqlite3.c:129159:3: + *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 896)) = Xsqlite3_value_text16le // sqlite3.c:129160:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 904)) = Xsqlite3_value_type // sqlite3.c:129161:3: + *(*func(*libc.TLS, uintptr, Va_list) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 912)) = Xsqlite3_vmprintf // sqlite3.c:129162:3: + *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 920)) = Xsqlite3_overload_function // sqlite3.c:129171:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 928)) = Xsqlite3_prepare_v2 // sqlite3.c:129176:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 936)) = Xsqlite3_prepare16_v2 // sqlite3.c:129177:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 944)) = Xsqlite3_clear_bindings // sqlite3.c:129178:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 952)) = Xsqlite3_create_module_v2 // sqlite3.c:129183:3: + *(*func(*libc.TLS, uintptr, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 960)) = Xsqlite3_bind_zeroblob // sqlite3.c:129188:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 968)) = Xsqlite3_blob_bytes // sqlite3.c:129189:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 976)) = Xsqlite3_blob_close // sqlite3.c:129190:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr, Sqlite_int64, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 984)) = Xsqlite3_blob_open // sqlite3.c:129191:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 992)) = Xsqlite3_blob_read // sqlite3.c:129192:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1000)) = Xsqlite3_blob_write // sqlite3.c:129193:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1008)) = Xsqlite3_create_collation_v2 // sqlite3.c:129194:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1016)) = Xsqlite3_file_control // sqlite3.c:129195:3: + *(*func(*libc.TLS, int32) Sqlite3_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1024)) = Xsqlite3_memory_highwater // sqlite3.c:129196:3: + *(*func(*libc.TLS) Sqlite3_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1032)) = Xsqlite3_memory_used // sqlite3.c:129197:3: + *(*func(*libc.TLS, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1040)) = Xsqlite3_mutex_alloc // sqlite3.c:129205:3: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1048)) = Xsqlite3_mutex_enter // sqlite3.c:129206:3: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1056)) = Xsqlite3_mutex_free // sqlite3.c:129207:3: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1064)) = Xsqlite3_mutex_leave // sqlite3.c:129208:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1072)) = Xsqlite3_mutex_try // sqlite3.c:129209:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1080)) = Xsqlite3_open_v2 // sqlite3.c:129211:3: + *(*func(*libc.TLS, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1088)) = Xsqlite3_release_memory // sqlite3.c:129212:3: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1096)) = Xsqlite3_result_error_nomem // sqlite3.c:129213:3: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1104)) = Xsqlite3_result_error_toobig // sqlite3.c:129214:3: + *(*func(*libc.TLS, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1112)) = Xsqlite3_sleep // sqlite3.c:129215:3: + *(*func(*libc.TLS, int32))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1120)) = Xsqlite3_soft_heap_limit // sqlite3.c:129216:3: + *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1128)) = Xsqlite3_vfs_find // sqlite3.c:129217:3: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1136)) = Xsqlite3_vfs_register // sqlite3.c:129218:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1144)) = Xsqlite3_vfs_unregister // sqlite3.c:129219:3: + *(*func(*libc.TLS) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1152)) = Xsqlite3_threadsafe // sqlite3.c:129224:3: + *(*func(*libc.TLS, uintptr, int32))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1160)) = Xsqlite3_result_zeroblob // sqlite3.c:129225:3: + *(*func(*libc.TLS, uintptr, int32))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1168)) = Xsqlite3_result_error_code // sqlite3.c:129226:3: + *(*func(*libc.TLS, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1176)) = Xsqlite3_test_control // sqlite3.c:129227:3: + *(*func(*libc.TLS, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1184)) = Xsqlite3_randomness // sqlite3.c:129228:3: + *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1192)) = Xsqlite3_context_db_handle // sqlite3.c:129229:3: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1200)) = Xsqlite3_extended_result_codes // sqlite3.c:129234:3: + *(*func(*libc.TLS, uintptr, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1208)) = Xsqlite3_limit // sqlite3.c:129235:3: + *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1216)) = Xsqlite3_next_stmt // sqlite3.c:129236:3: + *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1224)) = Xsqlite3_sql // sqlite3.c:129237:3: + *(*func(*libc.TLS, int32, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1232)) = Xsqlite3_status // sqlite3.c:129238:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1240)) = Xsqlite3_backup_finish // sqlite3.c:129243:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1248)) = Xsqlite3_backup_init // sqlite3.c:129244:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1256)) = Xsqlite3_backup_pagecount // sqlite3.c:129245:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1264)) = Xsqlite3_backup_remaining // sqlite3.c:129246:3: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1272)) = Xsqlite3_backup_step // sqlite3.c:129247:3: + *(*func(*libc.TLS, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1280)) = Xsqlite3_compileoption_get // sqlite3.c:129249:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1288)) = Xsqlite3_compileoption_used // sqlite3.c:129250:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, int32, uintptr, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1296)) = Xsqlite3_create_function_v2 // sqlite3.c:129255:3: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1304)) = Xsqlite3_db_config // sqlite3.c:129256:3: + *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1312)) = Xsqlite3_db_mutex // sqlite3.c:129257:3: + *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1320)) = Xsqlite3_db_status // sqlite3.c:129258:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1328)) = Xsqlite3_extended_errcode // sqlite3.c:129259:3: + *(*func(*libc.TLS, int32, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1336)) = Xsqlite3_log // sqlite3.c:129260:3: + *(*func(*libc.TLS, Sqlite3_int64) Sqlite3_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1344)) = Xsqlite3_soft_heap_limit64 // sqlite3.c:129261:3: + *(*func(*libc.TLS) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1352)) = Xsqlite3_sourceid // sqlite3.c:129262:3: + *(*func(*libc.TLS, uintptr, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1360)) = Xsqlite3_stmt_status // sqlite3.c:129263:3: + *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1368)) = Xsqlite3_strnicmp // sqlite3.c:129264:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1376)) = Xsqlite3_unlock_notify // sqlite3.c:129266:3: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1384)) = Xsqlite3_wal_autocheckpoint // sqlite3.c:129271:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1392)) = Xsqlite3_wal_checkpoint // sqlite3.c:129272:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1400)) = Xsqlite3_wal_hook // sqlite3.c:129273:3: + *(*func(*libc.TLS, uintptr, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1408)) = Xsqlite3_blob_reopen // sqlite3.c:129279:3: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1416)) = Xsqlite3_vtab_config // sqlite3.c:129280:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1424)) = Xsqlite3_vtab_on_conflict // sqlite3.c:129281:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1432)) = Xsqlite3_close_v2 // sqlite3.c:129282:3: + *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1440)) = Xsqlite3_db_filename // sqlite3.c:129283:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1448)) = Xsqlite3_db_readonly // sqlite3.c:129284:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1456)) = Xsqlite3_db_release_memory // sqlite3.c:129285:3: + *(*func(*libc.TLS, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1464)) = Xsqlite3_errstr // sqlite3.c:129286:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1472)) = Xsqlite3_stmt_busy // sqlite3.c:129287:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1480)) = Xsqlite3_stmt_readonly // sqlite3.c:129288:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1488)) = Xsqlite3_stricmp // sqlite3.c:129289:3: + *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1496)) = Xsqlite3_uri_boolean // sqlite3.c:129290:3: + *(*func(*libc.TLS, uintptr, uintptr, Sqlite3_int64) Sqlite3_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1504)) = Xsqlite3_uri_int64 // sqlite3.c:129291:3: + *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1512)) = Xsqlite3_uri_parameter // sqlite3.c:129292:3: + *(*func(*libc.TLS, int32, uintptr, uintptr, Va_list) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1520)) = Xsqlite3_vsnprintf // sqlite3.c:129293:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1528)) = Xsqlite3_wal_checkpoint_v2 // sqlite3.c:129294:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1536)) = Xsqlite3_auto_extension // sqlite3.c:129296:3: + *(*func(*libc.TLS, uintptr, int32, uintptr, Sqlite3_uint64, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1544)) = Xsqlite3_bind_blob64 // sqlite3.c:129297:3: + *(*func(*libc.TLS, uintptr, int32, uintptr, Sqlite3_uint64, uintptr, uint8) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1552)) = Xsqlite3_bind_text64 // sqlite3.c:129298:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1560)) = Xsqlite3_cancel_auto_extension // sqlite3.c:129299:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1568)) = Xsqlite3_load_extension // sqlite3.c:129300:3: + *(*func(*libc.TLS, Sqlite3_uint64) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1576)) = Xsqlite3_malloc64 // sqlite3.c:129301:3: + *(*func(*libc.TLS, uintptr) Sqlite3_uint64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1584)) = Xsqlite3_msize // sqlite3.c:129302:3: + *(*func(*libc.TLS, uintptr, Sqlite3_uint64) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1592)) = Xsqlite3_realloc64 // sqlite3.c:129303:3: + *(*func(*libc.TLS))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1600)) = Xsqlite3_reset_auto_extension // sqlite3.c:129304:3: + *(*func(*libc.TLS, uintptr, uintptr, Sqlite3_uint64, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1608)) = Xsqlite3_result_blob64 // sqlite3.c:129305:3: + *(*func(*libc.TLS, uintptr, uintptr, Sqlite3_uint64, uintptr, uint8))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1616)) = Xsqlite3_result_text64 // sqlite3.c:129306:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1624)) = Xsqlite3_strglob // sqlite3.c:129307:3: *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1632 /* .value_dup */)) = *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr) uintptr - }{Xsqlite3_value_dup})) // sqlite3.c:129296:3: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1640)) = Xsqlite3_value_free // sqlite3.c:129297:3: - *(*func(*libc.TLS, uintptr, U64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1648)) = Xsqlite3_result_zeroblob64 // sqlite3.c:129298:3: - *(*func(*libc.TLS, uintptr, int32, Sqlite3_uint64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1656)) = Xsqlite3_bind_zeroblob64 // sqlite3.c:129299:3: - *(*func(*libc.TLS, uintptr) uint32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1664)) = Xsqlite3_value_subtype // sqlite3.c:129301:3: - *(*func(*libc.TLS, uintptr, uint32))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1672)) = Xsqlite3_result_subtype // sqlite3.c:129302:3: - *(*func(*libc.TLS, int32, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1680)) = Xsqlite3_status64 // sqlite3.c:129304:3: - *(*func(*libc.TLS, uintptr, uintptr, uint32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1688)) = Xsqlite3_strlike // sqlite3.c:129305:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1696)) = Xsqlite3_db_cacheflush // sqlite3.c:129306:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1704)) = Xsqlite3_system_errno // sqlite3.c:129308:3: - *(*func(*libc.TLS, uintptr, uint32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1712)) = Xsqlite3_trace_v2 // sqlite3.c:129310:3: - *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1720)) = Xsqlite3_expanded_sql // sqlite3.c:129311:3: - *(*func(*libc.TLS, uintptr, Sqlite3_int64))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1728)) = Xsqlite3_set_last_insert_rowid // sqlite3.c:129313:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uint32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1736)) = Xsqlite3_prepare_v3 // sqlite3.c:129315:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uint32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1744)) = Xsqlite3_prepare16_v3 // sqlite3.c:129316:3: - *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1752)) = Xsqlite3_bind_pointer // sqlite3.c:129317:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1760)) = Xsqlite3_result_pointer // sqlite3.c:129318:3: - *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1768)) = Xsqlite3_value_pointer // sqlite3.c:129319:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1776)) = Xsqlite3_vtab_nochange // sqlite3.c:129321:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1784)) = Xsqlite3_value_nochange // sqlite3.c:129322:3: - *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1792)) = Xsqlite3_vtab_collation // sqlite3.c:129323:3: - *(*func(*libc.TLS) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1800)) = Xsqlite3_keyword_count // sqlite3.c:129325:3: - *(*func(*libc.TLS, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1808)) = Xsqlite3_keyword_name // sqlite3.c:129326:3: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1816)) = Xsqlite3_keyword_check // sqlite3.c:129327:3: - *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1824)) = Xsqlite3_str_new // sqlite3.c:129328:3: - *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1832)) = Xsqlite3_str_finish // sqlite3.c:129329:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1840)) = Xsqlite3_str_appendf // sqlite3.c:129330:3: - *(*func(*libc.TLS, uintptr, uintptr, Va_list))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1848)) = Xsqlite3_str_vappendf // sqlite3.c:129331:3: - *(*func(*libc.TLS, uintptr, uintptr, int32))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1856)) = Xsqlite3_str_append // sqlite3.c:129332:3: - *(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1864)) = Xsqlite3_str_appendall // sqlite3.c:129333:3: - *(*func(*libc.TLS, uintptr, int32, int8))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1872)) = Xsqlite3_str_appendchar // sqlite3.c:129334:3: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1880)) = Xsqlite3_str_reset // sqlite3.c:129335:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1888)) = Xsqlite3_str_errcode // sqlite3.c:129336:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1896)) = Xsqlite3_str_length // sqlite3.c:129337:3: - *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1904)) = Xsqlite3_str_value // sqlite3.c:129338:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, int32, uintptr, uintptr, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1912)) = Xsqlite3_create_window_function // sqlite3.c:129340:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1928)) = Xsqlite3_stmt_isexplain // sqlite3.c:129348:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1936)) = Xsqlite3_value_frombind // sqlite3.c:129349:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1944)) = Xsqlite3_drop_modules // sqlite3.c:129352:3: - *(*func(*libc.TLS, Sqlite3_int64) Sqlite3_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1952)) = Xsqlite3_hard_heap_limit64 // sqlite3.c:129357:3: - *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1960)) = Xsqlite3_uri_key // sqlite3.c:129358:3: - *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1968)) = Xsqlite3_filename_database // sqlite3.c:129359:3: - *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1976)) = Xsqlite3_filename_journal // sqlite3.c:129360:3: - *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1984)) = Xsqlite3_filename_wal // sqlite3.c:129361:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1992)) = Xsqlite3_create_filename // sqlite3.c:129363:3: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 2000)) = Xsqlite3_free_filename // sqlite3.c:129364:3: - *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 2008)) = Xsqlite3_database_file_object // sqlite3.c:129365:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 2016)) = Xsqlite3_txn_state // sqlite3.c:129367:3: - *(*func(*libc.TLS, uintptr) Sqlite3_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 2024)) = Xsqlite3_changes64 // sqlite3.c:129369:3: - *(*func(*libc.TLS, uintptr) Sqlite3_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 2032)) = Xsqlite3_total_changes64 // sqlite3.c:129370:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 2040)) = Xsqlite3_autovacuum_pages // sqlite3.c:129372:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 2048)) = Xsqlite3_error_offset // sqlite3.c:129374:3: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 2056)) = Xsqlite3_vtab_rhs_value // sqlite3.c:129375:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 2064)) = Xsqlite3_vtab_distinct // sqlite3.c:129376:3: - *(*func(*libc.TLS, uintptr, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 2072)) = Xsqlite3_vtab_in // sqlite3.c:129377:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 2080)) = Xsqlite3_vtab_in_first // sqlite3.c:129378:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 2088)) = Xsqlite3_vtab_in_next // sqlite3.c:129379:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3BuiltinExtensions)) + 0)) = Xsqlite3Fts5Init // sqlite3.c:168488:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3BuiltinExtensions)) + 8)) = Xsqlite3RtreeInit // sqlite3.c:168494:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3BuiltinExtensions)) + 16)) = sqlite3TestExtInit // sqlite3.c:168502:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3BuiltinExtensions)) + 24)) = Xsqlite3JsonTableFunctions // sqlite3.c:168504:3: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&statGetFuncdef)) + 24)) = statGet // sqlite3.c:111993:3: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&statInitFuncdef)) + 24)) = statInit // sqlite3.c:111569:3: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&statPushFuncdef)) + 24)) = statPush // sqlite3.c:111859:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 40)) = rbuVfsOpen // sqlite3.c:208888:5: - *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 48)) = rbuVfsDelete // sqlite3.c:208889:5: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 56)) = rbuVfsAccess // sqlite3.c:208890:5: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 64)) = rbuVfsFullPathname // sqlite3.c:208891:5: - *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 72)) = rbuVfsDlOpen // sqlite3.c:208894:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 80)) = rbuVfsDlError // sqlite3.c:208895:5: - *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 88)) = rbuVfsDlSym // sqlite3.c:208896:5: - *(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 96)) = rbuVfsDlClose // sqlite3.c:208897:5: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 104)) = rbuVfsRandomness // sqlite3.c:208902:5: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 112)) = rbuVfsSleep // sqlite3.c:208903:5: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 120)) = rbuVfsCurrentTime // sqlite3.c:208904:5: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 128)) = rbuVfsGetLastError // sqlite3.c:208905:5: -} - -var ts1 = "3.38.1\x00ATOMIC_INTRINSICS=0\x00COMPILER=clang-13.0.0\x00DEFAULT_AUTOVACUUM\x00DEFAULT_CACHE_SIZE=-2000\x00DEFAULT_FILE_FORMAT=4\x00DEFAULT_JOURNAL_SIZE_LIMIT=-1\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\x00ENABLE_COLUMN_METADATA\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=127\x00MAX_LENGTH=1000000000\x00MAX_LIKE_PATTERN_LENGTH=50000\x00MAX_MMAP_SIZE=0x7fff0000\x00MAX_PAGE_COUNT=1073741823\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\x00BINARY\x00ANY\x00BLOB\x00INT\x00INTEGER\x00REAL\x00TEXT\x0020b:20e\x0020c:20e\x0020e\x0040f-21a-21d\x00now\x00local time unavailable\x00second\x00minute\x00hour\x00\x00\x00day\x00\x00\x00\x00month\x00\x00year\x00\x00\x00auto\x00julianday\x00localtime\x00unixepoch\x00utc\x00weekday \x00start of \x00month\x00year\x00day\x00%02d\x00%06.3f\x00%03d\x00%.16g\x00%lld\x00%04d\x00date\x00time\x00datetime\x00strftime\x00current_time\x00current_timestamp\x00current_date\x00failed to allocate %u bytes of memory\x00failed memory resize %u to %u bytes\x00out of memory\x000123456789ABCDEF0123456789abcdef\x00-x0\x00X0\x00%\x00NaN\x00Inf\x00\x00NULL\x00(NULL)\x00.\x00SUBQUERY %u\x00thstndrd\x00922337203685477580\x00API call with %s database connection pointer\x00unopened\x00invalid\x00Savepoint\x00AutoCommit\x00Transaction\x00SorterNext\x00Prev\x00Next\x00Checkpoint\x00JournalMode\x00Vacuum\x00VFilter\x00VUpdate\x00Goto\x00Gosub\x00InitCoroutine\x00Yield\x00MustBeInt\x00Jump\x00Once\x00If\x00Not\x00IfNot\x00IsNullOrType\x00IfNullRow\x00SeekLT\x00SeekLE\x00SeekGE\x00SeekGT\x00IfNotOpen\x00IfNoHope\x00NoConflict\x00NotFound\x00Found\x00SeekRowid\x00NotExists\x00Last\x00IfSmaller\x00SorterSort\x00Sort\x00Rewind\x00IdxLE\x00IdxGT\x00IdxLT\x00IdxGE\x00Or\x00And\x00RowSetRead\x00RowSetTest\x00Program\x00FkIfZero\x00IfPos\x00IsNull\x00NotNull\x00Ne\x00Eq\x00Gt\x00Le\x00Lt\x00Ge\x00ElseEq\x00IfNotZero\x00DecrJumpZero\x00IncrVacuum\x00VNext\x00Filter\x00Init\x00PureFunc\x00Function\x00Return\x00EndCoroutine\x00HaltIfNull\x00Halt\x00Integer\x00Int64\x00String\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\x00VInitIn\x00VColumn\x00VRename\x00Pagecount\x00MaxPgcnt\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\x00nfs\x00hfs\x00ufs\x00afpfs\x00smbfs\x00webdav\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\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\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\x00SQLite format 3\x00:memory:\x00@ \x00\n\x00invalid page number %d\x002nd reference to page %d\x00Failed to read ptrmap key=%d\x00Bad ptr map entry key=%d expected=(%d,%d) got=(%d,%d)\x00failed to get page %d\x00freelist leaf count too big on page %d\x00%s is %d but should be %d\x00size\x00overflow list length\x00Page %u: \x00unable to get the page. error code=%d\x00btreeInitPage() returns error code %d\x00free space corruption\x00On tree page %u cell %d: \x00On page %u at right child: \x00Offset %d out of range %d..%d\x00Extends off end of page\x00Rowid %lld out of order\x00Child page depth differs\x00Multiple uses for byte %u of page %u\x00Fragmentation of %d bytes reported as %d on page %u\x00Main freelist: \x00max rootpage (%d) disagrees with header (%d)\x00incremental_vacuum enabled with a max rootpage of zero\x00Page %d is never used\x00Pointer map page %d is referenced\x00unknown database %s\x00destination database is in use\x00source and destination must be distinct\x00%!.15g\x00-\x00%s%s\x00k(%d\x00B\x00,%s%s%s\x00N.\x00)\x00%.18s-%s\x00%s(%d)\x00%d\x00(blob)\x00vtab:%p\x00%c%u\x00]\x00program\x00?\x008\x0016LE\x0016BE\x00addr\x00opcode\x00p1\x00p2\x00p3\x00p4\x00p5\x00comment\x00id\x00parent\x00notused\x00detail\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\x00ValueList\x00bind on a busy prepared statement: [%s]\x00-- \x00'%.*q'\x00zeroblob(%d)\x00x'\x00%02x\x00'\x00%s constraint failed\x00%z: %s\x00abort at %d in [%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\x00cannot change %s wal mode from within a transaction\x00into\x00out of\x00database table is locked: %s\x00-- %s\x00statement aborts at %d: [%s] %s\x00NOT NULL\x00UNIQUE\x00CHECK\x00FOREIGN KEY\x00cannot open value of type %s\x00null\x00real\x00integer\x00no such rowid: %lld\x00cannot open virtual table: %s\x00cannot open table without rowid: %s\x00cannot open view: %s\x00no such column: \"%s\"\x00foreign key\x00indexed\x00cannot open %s column for writing\x00main\x00*\x00new\x00old\x00excluded\x00misuse of aliased aggregate %s\x00misuse of aliased window function %s\x00row value misused\x00double-quoted string literal: \"%w\"\x00no such column\x00ambiguous column name\x00%s: %s.%s.%s\x00%s: %s.%s\x00%s: %s\x00partial index WHERE clauses\x00index expressions\x00CHECK constraints\x00generated columns\x00%s prohibited in %s\x00true\x00false\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\x00a GROUP BY clause is required before HAVING\x00GROUP\x00aggregate functions are not allowed in the GROUP BY clause\x00Expression tree is too large (maximum depth %d)\x00IN(...) element has %d term%s - expected %d\x00s\x000\x00too many arguments on function %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\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\x00%sLIST SUBQUERY %d\x00CORRELATED \x00REUSE SUBQUERY %d\x00%sSCALAR SUBQUERY %d\x001\x000x\x00hex literal too big: %s%#T\x00generated column loop on \"%s\"\x00blob\x00text\x00numeric\x00none\x00misuse of aggregate: %#T()\x00unknown function: %#T()\x00RAISE() may only be used within a trigger-program\x00B\x00C\x00D\x00E\x00sqlite_\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') ELSE raise(ABORT,'NOT NULL constraint failed') END FROM pragma_quick_check(%Q,%Q) WHERE quick_check GLOB 'CHECK*' OR quick_check GLOB 'NULL*'\x00virtual tables may not be altered\x00Cannot add a column to a view\x00sqlite_altertab_%s\x00view\x00virtual table\x00cannot %s %s \"%s\"\x00drop column from\x00rename columns of\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')\x00error in %s %s%s%s: %s\x00 \x00CREATE \x00\"%w\" \x00%Q%s\x00%.*s%s\x00cannot drop %s column: \"%s\"\x00PRIMARY KEY\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\x00CREATE TABLE %Q.%s(%s)\x00DELETE FROM %Q.%s WHERE %s=%Q\x00DELETE FROM %Q.%s\x00sqlite_stat1\x00tbl,idx,stat\x00sqlite_stat4\x00tbl,idx,neq,nlt,ndlt,sample\x00sqlite_stat3\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\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\x00sqlite_temp_schema\x00sqlite_schema\x00sqlite_temp_master\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\x00sqlite_returning\x00cannot use RETURNING in a trigger\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'\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\x00unsupported use of NULLS %s\x00FIRST\x00LAST\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\x00CREATE%s INDEX %.*s\x00 UNIQUE\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\x00a JOIN clause is required before %s\x00ON\x00USING\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\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%!.20e\x00%Q\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\x00instr\x00printf\x00format\x00unicode\x00char\x00abs\x00round\x00upper\x00lower\x00hex\x00ifnull\x00random\x00randomblob\x00nullif\x00sqlite_version\x00sqlite_source_id\x00sqlite_log\x00quote\x00last_insert_rowid\x00changes\x00total_changes\x00replace\x00zeroblob\x00substr\x00substring\x00sum\x00total\x00avg\x00count\x00group_concat\x00glob\x00coalesce\x00ceil\x00ceiling\x00floor\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\x00foreign key mismatch - \"%w\" referencing \"%w\"\x00cannot INSERT into generated column \"%s\"\x00table %S has no column named %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\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]\x00dylib\x00automatic extension loading failed: %s\x00seq\x00from\x00to\x00on_update\x00on_delete\x00match\x00cid\x00name\x00type\x00notnull\x00dflt_value\x00pk\x00hidden\x00schema\x00ncol\x00wr\x00strict\x00seqno\x00desc\x00coll\x00key\x00builtin\x00enc\x00narg\x00flags\x00wdth\x00hght\x00flgs\x00unique\x00origin\x00partial\x00rowid\x00fkid\x00file\x00busy\x00checkpointed\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\x00onoffalseyestruextrafull\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\x00w\x00a\x00sissii\x00utf8\x00utf16le\x00utf16be\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\x00NULL value in %s.%s\x00non-%s value in %s.%s\x00CHECK constraint failed in %s\x00row \x00 missing from index \x00non-unique entry in index \x00wrong # of entries in index \x00ok\x00unsupported encoding: %s\x00restart\x00ANALYZE \"%w\".\"%w\"\x00UTF8\x00UTF-8\x00UTF-16le\x00UTF-16be\x00UTF16le\x00UTF16be\x00UTF-16\x00UTF16\x00CREATE TABLE x\x00%c\"%s\"\x00(\"%s\"\x00,arg HIDDEN\x00,schema HIDDEN\x00PRAGMA \x00%Q.\x00=%Q\x00error in %s %s after %s: %s\x00malformed database schema (%s)\x00%z - %s\x00rename\x00drop column\x00add column\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 or unsupported join type: %T %T%s%T\x00RIGHT and FULL OUTER JOINs are not currently supported\x00naturaleftouterightfullinnercross\x00a NATURAL join may not have an ON or USING clause\x00cannot have both ON and USING clauses in the same join\x00cannot join using column %s - column not present in both tables\x00UNION ALL\x00INTERSECT\x00EXCEPT\x00UNION\x00USE TEMP B-TREE FOR %s\x00column%d\x00%.*z:%u\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\x00subquery_%u\x00too many references to \"%s\": max 65535\x00access to view \"%s\" prohibited\x00unsafe use of virtual table \"%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)\x00SCAN %s%s%s\x00 USING COVERING INDEX \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\x00RIGHT PART OF ORDER BY\x00ORDER 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\x00trigger %T already exists\x00cannot create trigger on system table\x00cannot create %s trigger on view: %S\x00BEFORE\x00AFTER\x00cannot create INSTEAD OF trigger on 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'\x00%s RETURNING is not available on virtual tables\x00DELETE\x00UPDATE\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\x00ATTACH %Q AS vacuum_db\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 vacuum_db.'||quote(name)||' SELECT*FROM\"%w\".'||quote(name)FROM vacuum_db.sqlite_schema WHERE type='table'AND coalesce(rootpage,1)>0\x00INSERT INTO vacuum_db.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\x00\x00 AND \x00(\x00 (\x00%s=?\x00ANY(%s)\x00>\x00<\x00%s %S\x00SEARCH\x00SCAN\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 %d:%s\x00BLOOM FILTER ON %S (\x00rowid=?\x00MULTI-INDEX OR\x00INDEX %d\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\x00second argument to nth_value must be a positive integer\x00argument of ntile must be a positive integer\x00row_number\x00dense_rank\x00rank\x00percent_rank\x00cume_dist\x00ntile\x00last_value\x00nth_value\x00first_value\x00lead\x00lag\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\x00%s clause should come after %s not before\x00LIMIT\x00too many terms in compound SELECT\x00syntax error after column name \"%.*s\"\x00parser stack overflow\x00unknown table option: %.*s\x00set list\x00near \"%T\": syntax error\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\x00unknown error\x00abort due to ROLLBACK\x00another row available\x00no more rows available\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\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\x00mode\x00no such %s mode: %s\x00%s mode not allowed: %s\x00no such vfs: %s\x00shared\x00private\x00ro\x00rw\x00rwc\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\x000123456789abcdef\x00JSON cannot hold BLOB values\x00malformed JSON\x00[0]\x00JSON path error near '%q'\x00json_%s() needs an odd number of arguments\x00$[\x00$.\x00json_object() requires an even number of arguments\x00json_object() labels must be TEXT\x00set\x00insert\x00[]\x00{}\x00CREATE TABLE x(key,value,type,atom,id,parent,fullkey,path,json HIDDEN,root HIDDEN)\x00[%d]\x00.%.*s\x00$\x00json\x00json_array\x00json_array_length\x00json_extract\x00->\x00->>\x00json_insert\x00json_object\x00json_patch\x00json_quote\x00json_remove\x00json_replace\x00json_set\x00json_type\x00json_valid\x00json_group_array\x00json_group_object\x00json_each\x00json_tree\x00%s_node\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\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\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\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\x00CREATE TABLE x(%.*s INT\x00,%.*s\x00);\x00,%.*s REAL\x00,%.*s INT\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\x00Mapping (%lld -> %lld) missing from %s table\x00%_rowid\x00%_parent\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\x00END\x00wrong number of arguments to function rtreecheck()\x00[\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\x00geopoly_area\x00geopoly_blob\x00geopoly_json\x00geopoly_svg\x00geopoly_contains_point\x00geopoly_debug\x00geopoly_bbox\x00geopoly_xform\x00geopoly_regular\x00geopoly_ccw\x00geopoly_group_bbox\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;\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\x00AND rootpage!=0 AND rootpage IS NOT NULL\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\x00table %q %s rbu_rowid column\x00may not have\x00requires\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%z%s\"%w\" %s %sCOLLATE %Q%s\x00 NOT NULL\x00%z, %z\x00CREATE TABLE \"rbu_imp_%w\"(%z)%s\x00 WITHOUT ROWID\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\x00SELECT %s, 0 AS rbu_control FROM '%q' %s %s %s ORDER BY %s%s\x00AND\x00WHERE\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_\x00INSERT INTO \"%s%w\"(%s%s) VALUES(%s)\x00, _rowid_\x00DELETE FROM \"%s%w\" WHERE %s\x00, rbu_rowid\x00CREATE TABLE IF NOT EXISTS %s.'rbu_tmp_%q' AS SELECT *%s FROM '%q' WHERE 0;\x00, 0 AS rbu_rowid\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\x00SELECT %s,%s rbu_control%s FROM '%q'%s %s %s %s\x000 AS \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\x00file:%s-vactmp?rbu_memory=1%s%s\x00&\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, %d), (%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\x00database modified during rbu %s\x00vacuum\x00update\x00BEGIN IMMEDIATE\x00PRAGMA journal_mode=off\x00-vactmp\x00DELETE FROM stat.rbu_state\x00rbu/zipvfs setup error\x00rbu(%s)/%z\x00rbu_memory\x00SELECT 0, 'tbl', '', 0, '', 1 UNION ALL SELECT 1, 'idx', '', 0, '', 2 UNION ALL SELECT 2, 'stat', '', 0, '', 0\x00PRAGMA '%q'.table_info('%q')\x00%z%s\"%w\".\"%w\".\"%w\"=\"%w\".\"%w\".\"%w\"\x00%z%s\"%w\".\"%w\".\"%w\" IS NOT \"%w\".\"%w\".\"%w\"\x00 OR \x00SELECT * FROM \"%w\".\"%w\" WHERE NOT EXISTS ( SELECT 1 FROM \"%w\".\"%w\" WHERE %s)\x00SELECT * FROM \"%w\".\"%w\", \"%w\".\"%w\" WHERE %s AND (%z)\x00table schemas do not match\x00SELECT tbl, ?2, stat FROM %Q.sqlite_stat1 WHERE tbl IS ?1 AND idx IS (CASE WHEN ?2=X'' THEN NULL ELSE ?2 END)\x00SELECT * FROM \x00 WHERE \x00 IS ?\x00SAVEPOINT changeset\x00RELEASE changeset\x00UPDATE main.\x00 SET \x00 = ?\x00idx IS CASE WHEN length(?4)=0 AND typeof(?4)='blob' THEN NULL ELSE ?4 END \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()\x00snippet\x00highlight\x00bm25\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\x00content_rowid\x00multiple content_rowid=... directives\x00columnsize\x00malformed columnsize=... directive\x00columns\x00malformed detail=... directive\x00unrecognized option: \"%.*s\"\x00reserved fts5 column name: %s\x00unindexed\x00unrecognized column option: %s\x00T.%Q\x00, T.%Q\x00, T.c%d\x00reserved fts5 table name: %s\x00parse error in \"%s\"\x00docsize\x00%Q.'%q_%s'\x00CREATE TABLE x(\x00%z%s%Q\x00%z, %Q HIDDEN, %s HIDDEN)\x00pgsz\x00hashsize\x00automerge\x00usermerge\x00crisismerge\x00SELECT k, v FROM %Q.'%q_config'\x00version\x00invalid fts5 file format (found %d, expected %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)\x00fts5: %s queries are not supported (detail!=full)\x00phrase\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=?\x00PRAGMA %Q.data_version\x00SELECT pgno FROM '%q'.'%q_idx' WHERE segid=? AND term<=? ORDER BY term DESC LIMIT 1\x00INSERT INTO '%q'.'%q_idx'(segid,term,pgno) VALUES(?,?,?)\x00%s_data\x00id INTEGER PRIMARY KEY, block BLOB\x00segid, term, pgno, PRIMARY KEY(segid, term)\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\x00SELECT rowid, rank FROM %Q.%Q ORDER BY %s(\"%w\"%s%s) %s\x00DESC\x00ASC\x00reads\x00unknown special query: %.*s\x00SELECT %s\x00no such function: %s\x00parse error in rank function: %s\x00%s: table does not support scanning\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\x00cannot %s contentless fts5 table: %s\x00DELETE from\x00no such cursor: %lld\x00no such tokenizer: %s\x00error in tokenizer constructor\x00fts5_api_ptr\x00fts5: 2022-03-12 13:37:29 38c210fdd258658321c85ec9c01a072fda3ada94540e3239d29b34dc547a8cbc\x00config\x00fts5\x00fts5_source_id\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(?,?)\x00DELETE FROM %Q.'%q_docsize' WHERE id=?\x00SELECT sz FROM %Q.'%q_docsize' WHERE id=?\x00REPLACE INTO %Q.'%q_config' VALUES(?,?)\x00SELECT %s FROM %s AS T\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\x00id INTEGER PRIMARY KEY, sz BLOB\x00k PRIMARY KEY, v\x00DELETE FROM %Q.'%q_data';DELETE FROM %Q.'%q_idx';\x00DELETE FROM %Q.'%q_docsize';\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\x00ascii\x00porter\x00trigram\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\x002022-03-12 13:37:29 38c210fdd258658321c85ec9c01a072fda3ada94540e3239d29b34dc547a8cbc\x00" + }{Xsqlite3_value_dup})) // sqlite3.c:129309:3: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1640)) = Xsqlite3_value_free // sqlite3.c:129310:3: + *(*func(*libc.TLS, uintptr, U64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1648)) = Xsqlite3_result_zeroblob64 // sqlite3.c:129311:3: + *(*func(*libc.TLS, uintptr, int32, Sqlite3_uint64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1656)) = Xsqlite3_bind_zeroblob64 // sqlite3.c:129312:3: + *(*func(*libc.TLS, uintptr) uint32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1664)) = Xsqlite3_value_subtype // sqlite3.c:129314:3: + *(*func(*libc.TLS, uintptr, uint32))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1672)) = Xsqlite3_result_subtype // sqlite3.c:129315:3: + *(*func(*libc.TLS, int32, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1680)) = Xsqlite3_status64 // sqlite3.c:129317:3: + *(*func(*libc.TLS, uintptr, uintptr, uint32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1688)) = Xsqlite3_strlike // sqlite3.c:129318:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1696)) = Xsqlite3_db_cacheflush // sqlite3.c:129319:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1704)) = Xsqlite3_system_errno // sqlite3.c:129321:3: + *(*func(*libc.TLS, uintptr, uint32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1712)) = Xsqlite3_trace_v2 // sqlite3.c:129323:3: + *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1720)) = Xsqlite3_expanded_sql // sqlite3.c:129324:3: + *(*func(*libc.TLS, uintptr, Sqlite3_int64))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1728)) = Xsqlite3_set_last_insert_rowid // sqlite3.c:129326:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uint32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1736)) = Xsqlite3_prepare_v3 // sqlite3.c:129328:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uint32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1744)) = Xsqlite3_prepare16_v3 // sqlite3.c:129329:3: + *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1752)) = Xsqlite3_bind_pointer // sqlite3.c:129330:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1760)) = Xsqlite3_result_pointer // sqlite3.c:129331:3: + *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1768)) = Xsqlite3_value_pointer // sqlite3.c:129332:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1776)) = Xsqlite3_vtab_nochange // sqlite3.c:129334:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1784)) = Xsqlite3_value_nochange // sqlite3.c:129335:3: + *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1792)) = Xsqlite3_vtab_collation // sqlite3.c:129336:3: + *(*func(*libc.TLS) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1800)) = Xsqlite3_keyword_count // sqlite3.c:129338:3: + *(*func(*libc.TLS, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1808)) = Xsqlite3_keyword_name // sqlite3.c:129339:3: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1816)) = Xsqlite3_keyword_check // sqlite3.c:129340:3: + *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1824)) = Xsqlite3_str_new // sqlite3.c:129341:3: + *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1832)) = Xsqlite3_str_finish // sqlite3.c:129342:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1840)) = Xsqlite3_str_appendf // sqlite3.c:129343:3: + *(*func(*libc.TLS, uintptr, uintptr, Va_list))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1848)) = Xsqlite3_str_vappendf // sqlite3.c:129344:3: + *(*func(*libc.TLS, uintptr, uintptr, int32))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1856)) = Xsqlite3_str_append // sqlite3.c:129345:3: + *(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1864)) = Xsqlite3_str_appendall // sqlite3.c:129346:3: + *(*func(*libc.TLS, uintptr, int32, int8))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1872)) = Xsqlite3_str_appendchar // sqlite3.c:129347:3: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1880)) = Xsqlite3_str_reset // sqlite3.c:129348:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1888)) = Xsqlite3_str_errcode // sqlite3.c:129349:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1896)) = Xsqlite3_str_length // sqlite3.c:129350:3: + *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1904)) = Xsqlite3_str_value // sqlite3.c:129351:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, int32, uintptr, uintptr, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1912)) = Xsqlite3_create_window_function // sqlite3.c:129353:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1928)) = Xsqlite3_stmt_isexplain // sqlite3.c:129361:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1936)) = Xsqlite3_value_frombind // sqlite3.c:129362:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1944)) = Xsqlite3_drop_modules // sqlite3.c:129365:3: + *(*func(*libc.TLS, Sqlite3_int64) Sqlite3_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1952)) = Xsqlite3_hard_heap_limit64 // sqlite3.c:129370:3: + *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1960)) = Xsqlite3_uri_key // sqlite3.c:129371:3: + *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1968)) = Xsqlite3_filename_database // sqlite3.c:129372:3: + *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1976)) = Xsqlite3_filename_journal // sqlite3.c:129373:3: + *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1984)) = Xsqlite3_filename_wal // sqlite3.c:129374:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1992)) = Xsqlite3_create_filename // sqlite3.c:129376:3: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 2000)) = Xsqlite3_free_filename // sqlite3.c:129377:3: + *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 2008)) = Xsqlite3_database_file_object // sqlite3.c:129378:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 2016)) = Xsqlite3_txn_state // sqlite3.c:129380:3: + *(*func(*libc.TLS, uintptr) Sqlite3_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 2024)) = Xsqlite3_changes64 // sqlite3.c:129382:3: + *(*func(*libc.TLS, uintptr) Sqlite3_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 2032)) = Xsqlite3_total_changes64 // sqlite3.c:129383:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 2040)) = Xsqlite3_autovacuum_pages // sqlite3.c:129385:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 2048)) = Xsqlite3_error_offset // sqlite3.c:129387:3: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 2056)) = Xsqlite3_vtab_rhs_value // sqlite3.c:129388:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 2064)) = Xsqlite3_vtab_distinct // sqlite3.c:129389:3: + *(*func(*libc.TLS, uintptr, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 2072)) = Xsqlite3_vtab_in // sqlite3.c:129390:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 2080)) = Xsqlite3_vtab_in_first // sqlite3.c:129391:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 2088)) = Xsqlite3_vtab_in_next // sqlite3.c:129392:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3BuiltinExtensions)) + 0)) = Xsqlite3Fts5Init // sqlite3.c:168545:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3BuiltinExtensions)) + 8)) = Xsqlite3RtreeInit // sqlite3.c:168551:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3BuiltinExtensions)) + 16)) = sqlite3TestExtInit // sqlite3.c:168559:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3BuiltinExtensions)) + 24)) = Xsqlite3JsonTableFunctions // sqlite3.c:168561:3: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&statGetFuncdef)) + 24)) = statGet // sqlite3.c:112006:3: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&statInitFuncdef)) + 24)) = statInit // sqlite3.c:111582:3: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&statPushFuncdef)) + 24)) = statPush // sqlite3.c:111872:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 40)) = rbuVfsOpen // sqlite3.c:208945:5: + *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 48)) = rbuVfsDelete // sqlite3.c:208946:5: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 56)) = rbuVfsAccess // sqlite3.c:208947:5: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 64)) = rbuVfsFullPathname // sqlite3.c:208948:5: + *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 72)) = rbuVfsDlOpen // sqlite3.c:208951:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 80)) = rbuVfsDlError // sqlite3.c:208952:5: + *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 88)) = rbuVfsDlSym // sqlite3.c:208953:5: + *(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 96)) = rbuVfsDlClose // sqlite3.c:208954:5: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 104)) = rbuVfsRandomness // sqlite3.c:208959:5: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 112)) = rbuVfsSleep // sqlite3.c:208960:5: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 120)) = rbuVfsCurrentTime // sqlite3.c:208961:5: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 128)) = rbuVfsGetLastError // sqlite3.c:208962:5: +} + +var ts1 = "3.38.2\x00ATOMIC_INTRINSICS=0\x00COMPILER=clang-13.1.6\x00DEFAULT_AUTOVACUUM\x00DEFAULT_CACHE_SIZE=-2000\x00DEFAULT_FILE_FORMAT=4\x00DEFAULT_JOURNAL_SIZE_LIMIT=-1\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\x00ENABLE_COLUMN_METADATA\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=127\x00MAX_LENGTH=1000000000\x00MAX_LIKE_PATTERN_LENGTH=50000\x00MAX_MMAP_SIZE=0x7fff0000\x00MAX_PAGE_COUNT=1073741823\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\x00BINARY\x00ANY\x00BLOB\x00INT\x00INTEGER\x00REAL\x00TEXT\x0020b:20e\x0020c:20e\x0020e\x0040f-21a-21d\x00now\x00local time unavailable\x00second\x00minute\x00hour\x00\x00\x00day\x00\x00\x00\x00month\x00\x00year\x00\x00\x00auto\x00julianday\x00localtime\x00unixepoch\x00utc\x00weekday \x00start of \x00month\x00year\x00day\x00%02d\x00%06.3f\x00%03d\x00%.16g\x00%lld\x00%04d\x00date\x00time\x00datetime\x00strftime\x00current_time\x00current_timestamp\x00current_date\x00failed to allocate %u bytes of memory\x00failed memory resize %u to %u bytes\x00out of memory\x000123456789ABCDEF0123456789abcdef\x00-x0\x00X0\x00%\x00NaN\x00Inf\x00\x00NULL\x00(NULL)\x00.\x00SUBQUERY %u\x00thstndrd\x00922337203685477580\x00API call with %s database connection pointer\x00unopened\x00invalid\x00Savepoint\x00AutoCommit\x00Transaction\x00SorterNext\x00Prev\x00Next\x00Checkpoint\x00JournalMode\x00Vacuum\x00VFilter\x00VUpdate\x00Goto\x00Gosub\x00InitCoroutine\x00Yield\x00MustBeInt\x00Jump\x00Once\x00If\x00Not\x00IfNot\x00IsNullOrType\x00IfNullRow\x00SeekLT\x00SeekLE\x00SeekGE\x00SeekGT\x00IfNotOpen\x00IfNoHope\x00NoConflict\x00NotFound\x00Found\x00SeekRowid\x00NotExists\x00Last\x00IfSmaller\x00SorterSort\x00Sort\x00Rewind\x00IdxLE\x00IdxGT\x00IdxLT\x00IdxGE\x00Or\x00And\x00RowSetRead\x00RowSetTest\x00Program\x00FkIfZero\x00IfPos\x00IsNull\x00NotNull\x00Ne\x00Eq\x00Gt\x00Le\x00Lt\x00Ge\x00ElseEq\x00IfNotZero\x00DecrJumpZero\x00IncrVacuum\x00VNext\x00Filter\x00Init\x00PureFunc\x00Function\x00Return\x00EndCoroutine\x00HaltIfNull\x00Halt\x00Integer\x00Int64\x00String\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\x00VInitIn\x00VColumn\x00VRename\x00Pagecount\x00MaxPgcnt\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\x00nfs\x00hfs\x00ufs\x00afpfs\x00smbfs\x00webdav\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\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\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\x00SQLite format 3\x00:memory:\x00@ \x00\n\x00invalid page number %d\x002nd reference to page %d\x00Failed to read ptrmap key=%d\x00Bad ptr map entry key=%d expected=(%d,%d) got=(%d,%d)\x00failed to get page %d\x00freelist leaf count too big on page %d\x00%s is %d but should be %d\x00size\x00overflow list length\x00Page %u: \x00unable to get the page. error code=%d\x00btreeInitPage() returns error code %d\x00free space corruption\x00On tree page %u cell %d: \x00On page %u at right child: \x00Offset %d out of range %d..%d\x00Extends off end of page\x00Rowid %lld out of order\x00Child page depth differs\x00Multiple uses for byte %u of page %u\x00Fragmentation of %d bytes reported as %d on page %u\x00Main freelist: \x00max rootpage (%d) disagrees with header (%d)\x00incremental_vacuum enabled with a max rootpage of zero\x00Page %d is never used\x00Pointer map page %d is referenced\x00unknown database %s\x00destination database is in use\x00source and destination must be distinct\x00%!.15g\x00-\x00%s%s\x00k(%d\x00B\x00,%s%s%s\x00N.\x00)\x00%.18s-%s\x00%s(%d)\x00%d\x00(blob)\x00vtab:%p\x00%c%u\x00]\x00program\x00?\x008\x0016LE\x0016BE\x00addr\x00opcode\x00p1\x00p2\x00p3\x00p4\x00p5\x00comment\x00id\x00parent\x00notused\x00detail\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\x00ValueList\x00bind on a busy prepared statement: [%s]\x00-- \x00'%.*q'\x00zeroblob(%d)\x00x'\x00%02x\x00'\x00%s constraint failed\x00%z: %s\x00abort at %d in [%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\x00cannot change %s wal mode from within a transaction\x00into\x00out of\x00database table is locked: %s\x00-- %s\x00statement aborts at %d: [%s] %s\x00NOT NULL\x00UNIQUE\x00CHECK\x00FOREIGN KEY\x00cannot open value of type %s\x00null\x00real\x00integer\x00no such rowid: %lld\x00cannot open virtual table: %s\x00cannot open table without rowid: %s\x00cannot open view: %s\x00no such column: \"%s\"\x00foreign key\x00indexed\x00cannot open %s column for writing\x00main\x00*\x00new\x00old\x00excluded\x00misuse of aliased aggregate %s\x00misuse of aliased window function %s\x00row value misused\x00double-quoted string literal: \"%w\"\x00no such column\x00ambiguous column name\x00%s: %s.%s.%s\x00%s: %s.%s\x00%s: %s\x00partial index WHERE clauses\x00index expressions\x00CHECK constraints\x00generated columns\x00%s prohibited in %s\x00true\x00false\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\x00a GROUP BY clause is required before HAVING\x00GROUP\x00aggregate functions are not allowed in the GROUP BY clause\x00Expression tree is too large (maximum depth %d)\x00IN(...) element has %d term%s - expected %d\x00s\x000\x00too many arguments on function %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\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\x00%sLIST SUBQUERY %d\x00CORRELATED \x00REUSE SUBQUERY %d\x00%sSCALAR SUBQUERY %d\x001\x000x\x00hex literal too big: %s%#T\x00generated column loop on \"%s\"\x00blob\x00text\x00numeric\x00none\x00misuse of aggregate: %#T()\x00unknown function: %#T()\x00RAISE() may only be used within a trigger-program\x00B\x00C\x00D\x00E\x00sqlite_\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') ELSE raise(ABORT,'NOT NULL constraint failed') END FROM pragma_quick_check(%Q,%Q) WHERE quick_check GLOB 'CHECK*' OR quick_check GLOB 'NULL*'\x00virtual tables may not be altered\x00Cannot add a column to a view\x00sqlite_altertab_%s\x00view\x00virtual table\x00cannot %s %s \"%s\"\x00drop column from\x00rename columns of\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')\x00error in %s %s%s%s: %s\x00 \x00CREATE \x00\"%w\" \x00%Q%s\x00%.*s%s\x00cannot drop %s column: \"%s\"\x00PRIMARY KEY\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\x00CREATE TABLE %Q.%s(%s)\x00DELETE FROM %Q.%s WHERE %s=%Q\x00DELETE FROM %Q.%s\x00sqlite_stat1\x00tbl,idx,stat\x00sqlite_stat4\x00tbl,idx,neq,nlt,ndlt,sample\x00sqlite_stat3\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\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\x00sqlite_temp_schema\x00sqlite_schema\x00sqlite_temp_master\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\x00sqlite_returning\x00cannot use RETURNING in a trigger\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'\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\x00unsupported use of NULLS %s\x00FIRST\x00LAST\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\x00CREATE%s INDEX %.*s\x00 UNIQUE\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\x00a JOIN clause is required before %s\x00ON\x00USING\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\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%!.20e\x00%Q\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\x00instr\x00printf\x00format\x00unicode\x00char\x00abs\x00round\x00upper\x00lower\x00hex\x00ifnull\x00random\x00randomblob\x00nullif\x00sqlite_version\x00sqlite_source_id\x00sqlite_log\x00quote\x00last_insert_rowid\x00changes\x00total_changes\x00replace\x00zeroblob\x00substr\x00substring\x00sum\x00total\x00avg\x00count\x00group_concat\x00glob\x00coalesce\x00ceil\x00ceiling\x00floor\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\x00foreign key mismatch - \"%w\" referencing \"%w\"\x00cannot INSERT into generated column \"%s\"\x00table %S has no column named %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\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]\x00dylib\x00automatic extension loading failed: %s\x00seq\x00from\x00to\x00on_update\x00on_delete\x00match\x00cid\x00name\x00type\x00notnull\x00dflt_value\x00pk\x00hidden\x00schema\x00ncol\x00wr\x00strict\x00seqno\x00desc\x00coll\x00key\x00builtin\x00enc\x00narg\x00flags\x00wdth\x00hght\x00flgs\x00unique\x00origin\x00partial\x00rowid\x00fkid\x00file\x00busy\x00checkpointed\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\x00onoffalseyestruextrafull\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\x00w\x00a\x00sissii\x00utf8\x00utf16le\x00utf16be\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\x00NULL value in %s.%s\x00non-%s value in %s.%s\x00CHECK constraint failed in %s\x00row \x00 missing from index \x00non-unique entry in index \x00wrong # of entries in index \x00ok\x00unsupported encoding: %s\x00restart\x00ANALYZE \"%w\".\"%w\"\x00UTF8\x00UTF-8\x00UTF-16le\x00UTF-16be\x00UTF16le\x00UTF16be\x00UTF-16\x00UTF16\x00CREATE TABLE x\x00%c\"%s\"\x00(\"%s\"\x00,arg HIDDEN\x00,schema HIDDEN\x00PRAGMA \x00%Q.\x00=%Q\x00error in %s %s after %s: %s\x00malformed database schema (%s)\x00%z - %s\x00rename\x00drop column\x00add column\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 or unsupported join type: %T %T%s%T\x00RIGHT and FULL OUTER JOINs are not currently supported\x00naturaleftouterightfullinnercross\x00a NATURAL join may not have an ON or USING clause\x00cannot have both ON and USING clauses in the same join\x00cannot join using column %s - column not present in both tables\x00UNION ALL\x00INTERSECT\x00EXCEPT\x00UNION\x00USE TEMP B-TREE FOR %s\x00column%d\x00%.*z:%u\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\x00subquery_%u\x00too many references to \"%s\": max 65535\x00access to view \"%s\" prohibited\x00unsafe use of virtual table \"%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)\x00SCAN %s%s%s\x00 USING COVERING INDEX \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\x00RIGHT PART OF ORDER BY\x00ORDER 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\x00trigger %T already exists\x00cannot create trigger on system table\x00cannot create %s trigger on view: %S\x00BEFORE\x00AFTER\x00cannot create INSTEAD OF trigger on 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'\x00%s RETURNING is not available on virtual tables\x00DELETE\x00UPDATE\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\x00ATTACH %Q AS vacuum_db\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 vacuum_db.'||quote(name)||' SELECT*FROM\"%w\".'||quote(name)FROM vacuum_db.sqlite_schema WHERE type='table'AND coalesce(rootpage,1)>0\x00INSERT INTO vacuum_db.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\x00\x00 AND \x00(\x00 (\x00%s=?\x00ANY(%s)\x00>\x00<\x00%s %S\x00SEARCH\x00SCAN\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 %d:%s\x00BLOOM FILTER ON %S (\x00rowid=?\x00MULTI-INDEX OR\x00INDEX %d\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\x00second argument to nth_value must be a positive integer\x00argument of ntile must be a positive integer\x00row_number\x00dense_rank\x00rank\x00percent_rank\x00cume_dist\x00ntile\x00last_value\x00nth_value\x00first_value\x00lead\x00lag\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\x00%s clause should come after %s not before\x00LIMIT\x00too many terms in compound SELECT\x00syntax error after column name \"%.*s\"\x00parser stack overflow\x00unknown table option: %.*s\x00set list\x00near \"%T\": syntax error\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\x00unknown error\x00abort due to ROLLBACK\x00another row available\x00no more rows available\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\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\x00mode\x00no such %s mode: %s\x00%s mode not allowed: %s\x00no such vfs: %s\x00shared\x00private\x00ro\x00rw\x00rwc\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\x000123456789abcdef\x00JSON cannot hold BLOB values\x00malformed JSON\x00[0]\x00JSON path error near '%q'\x00json_%s() needs an odd number of arguments\x00$[\x00$.\x00json_object() requires an even number of arguments\x00json_object() labels must be TEXT\x00set\x00insert\x00[]\x00{}\x00CREATE TABLE x(key,value,type,atom,id,parent,fullkey,path,json HIDDEN,root HIDDEN)\x00[%d]\x00.%.*s\x00$\x00json\x00json_array\x00json_array_length\x00json_extract\x00->\x00->>\x00json_insert\x00json_object\x00json_patch\x00json_quote\x00json_remove\x00json_replace\x00json_set\x00json_type\x00json_valid\x00json_group_array\x00json_group_object\x00json_each\x00json_tree\x00%s_node\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\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\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\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\x00CREATE TABLE x(%.*s INT\x00,%.*s\x00);\x00,%.*s REAL\x00,%.*s INT\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\x00Mapping (%lld -> %lld) missing from %s table\x00%_rowid\x00%_parent\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\x00END\x00wrong number of arguments to function rtreecheck()\x00[\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\x00geopoly_area\x00geopoly_blob\x00geopoly_json\x00geopoly_svg\x00geopoly_contains_point\x00geopoly_debug\x00geopoly_bbox\x00geopoly_xform\x00geopoly_regular\x00geopoly_ccw\x00geopoly_group_bbox\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;\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\x00AND rootpage!=0 AND rootpage IS NOT NULL\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\x00table %q %s rbu_rowid column\x00may not have\x00requires\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%z%s\"%w\" %s %sCOLLATE %Q%s\x00 NOT NULL\x00%z, %z\x00CREATE TABLE \"rbu_imp_%w\"(%z)%s\x00 WITHOUT ROWID\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\x00SELECT %s, 0 AS rbu_control FROM '%q' %s %s %s ORDER BY %s%s\x00AND\x00WHERE\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_\x00INSERT INTO \"%s%w\"(%s%s) VALUES(%s)\x00, _rowid_\x00DELETE FROM \"%s%w\" WHERE %s\x00, rbu_rowid\x00CREATE TABLE IF NOT EXISTS %s.'rbu_tmp_%q' AS SELECT *%s FROM '%q' WHERE 0;\x00, 0 AS rbu_rowid\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\x00SELECT %s,%s rbu_control%s FROM '%q'%s %s %s %s\x000 AS \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\x00file:%s-vactmp?rbu_memory=1%s%s\x00&\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, %d), (%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\x00database modified during rbu %s\x00vacuum\x00update\x00BEGIN IMMEDIATE\x00PRAGMA journal_mode=off\x00-vactmp\x00DELETE FROM stat.rbu_state\x00rbu/zipvfs setup error\x00rbu(%s)/%z\x00rbu_memory\x00SELECT 0, 'tbl', '', 0, '', 1 UNION ALL SELECT 1, 'idx', '', 0, '', 2 UNION ALL SELECT 2, 'stat', '', 0, '', 0\x00PRAGMA '%q'.table_info('%q')\x00%z%s\"%w\".\"%w\".\"%w\"=\"%w\".\"%w\".\"%w\"\x00%z%s\"%w\".\"%w\".\"%w\" IS NOT \"%w\".\"%w\".\"%w\"\x00 OR \x00SELECT * FROM \"%w\".\"%w\" WHERE NOT EXISTS ( SELECT 1 FROM \"%w\".\"%w\" WHERE %s)\x00SELECT * FROM \"%w\".\"%w\", \"%w\".\"%w\" WHERE %s AND (%z)\x00table schemas do not match\x00SELECT tbl, ?2, stat FROM %Q.sqlite_stat1 WHERE tbl IS ?1 AND idx IS (CASE WHEN ?2=X'' THEN NULL ELSE ?2 END)\x00SELECT * FROM \x00 WHERE \x00 IS ?\x00SAVEPOINT changeset\x00RELEASE changeset\x00UPDATE main.\x00 SET \x00 = ?\x00idx IS CASE WHEN length(?4)=0 AND typeof(?4)='blob' THEN NULL ELSE ?4 END \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()\x00snippet\x00highlight\x00bm25\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\x00content_rowid\x00multiple content_rowid=... directives\x00columnsize\x00malformed columnsize=... directive\x00columns\x00malformed detail=... directive\x00unrecognized option: \"%.*s\"\x00reserved fts5 column name: %s\x00unindexed\x00unrecognized column option: %s\x00T.%Q\x00, T.%Q\x00, T.c%d\x00reserved fts5 table name: %s\x00parse error in \"%s\"\x00docsize\x00%Q.'%q_%s'\x00CREATE TABLE x(\x00%z%s%Q\x00%z, %Q HIDDEN, %s HIDDEN)\x00pgsz\x00hashsize\x00automerge\x00usermerge\x00crisismerge\x00SELECT k, v FROM %Q.'%q_config'\x00version\x00invalid fts5 file format (found %d, expected %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)\x00fts5: %s queries are not supported (detail!=full)\x00phrase\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=?\x00PRAGMA %Q.data_version\x00SELECT pgno FROM '%q'.'%q_idx' WHERE segid=? AND term<=? ORDER BY term DESC LIMIT 1\x00INSERT INTO '%q'.'%q_idx'(segid,term,pgno) VALUES(?,?,?)\x00%s_data\x00id INTEGER PRIMARY KEY, block BLOB\x00segid, term, pgno, PRIMARY KEY(segid, term)\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\x00SELECT rowid, rank FROM %Q.%Q ORDER BY %s(\"%w\"%s%s) %s\x00DESC\x00ASC\x00reads\x00unknown special query: %.*s\x00SELECT %s\x00no such function: %s\x00parse error in rank function: %s\x00%s: table does not support scanning\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\x00cannot %s contentless fts5 table: %s\x00DELETE from\x00no such cursor: %lld\x00no such tokenizer: %s\x00error in tokenizer constructor\x00fts5_api_ptr\x00fts5: 2022-03-26 13:51:10 d33c709cc0af66bc5b6dc6216eba9f1f0b40960b9ae83694c986fbf4c1d6f08f\x00config\x00fts5\x00fts5_source_id\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(?,?)\x00DELETE FROM %Q.'%q_docsize' WHERE id=?\x00SELECT sz FROM %Q.'%q_docsize' WHERE id=?\x00REPLACE INTO %Q.'%q_config' VALUES(?,?)\x00SELECT %s FROM %s AS T\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\x00id INTEGER PRIMARY KEY, sz BLOB\x00k PRIMARY KEY, v\x00DELETE FROM %Q.'%q_data';DELETE FROM %Q.'%q_idx';\x00DELETE FROM %Q.'%q_docsize';\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\x00ascii\x00porter\x00trigram\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\x002022-03-26 13:51:10 d33c709cc0af66bc5b6dc6216eba9f1f0b40960b9ae83694c986fbf4c1d6f08f\x00" var ts = (*reflect.StringHeader)(unsafe.Pointer(&ts1)).Data diff --git a/vendor/modernc.org/sqlite/lib/sqlite_freebsd_386.go b/vendor/modernc.org/sqlite/lib/sqlite_freebsd_386.go index e4861d77..909d835f 100644 --- a/vendor/modernc.org/sqlite/lib/sqlite_freebsd_386.go +++ b/vendor/modernc.org/sqlite/lib/sqlite_freebsd_386.go @@ -1,4 +1,4 @@ -// Code generated by 'ccgo -DSQLITE_PRIVATE= -export-defines "" -export-enums "" -export-externs X -export-fields F -export-typedefs "" -ignore-unsupported-alignment -pkgname sqlite3 -o lib/sqlite_freebsd_386.go -trace-translation-units testdata/sqlite-amalgamation-3380100/sqlite3.c -DNDEBUG -DHAVE_USLEEP -DLONGDOUBLE_TYPE=double -DSQLITE_CORE -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_GEOPOLY -DSQLITE_ENABLE_MATH_FUNCTIONS -DSQLITE_ENABLE_MEMORY_MANAGEMENT -DSQLITE_ENABLE_OFFSET_SQL_FUNC -DSQLITE_ENABLE_PREUPDATE_HOOK -DSQLITE_ENABLE_RBU -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_SESSION -DSQLITE_ENABLE_SNAPSHOT -DSQLITE_ENABLE_STAT4 -DSQLITE_ENABLE_UNLOCK_NOTIFY -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_MUTEX_APPDEF=1 -DSQLITE_MUTEX_NOOP -DSQLITE_SOUNDEX -DSQLITE_THREADSAFE=1 -DSQLITE_OS_UNIX=1', DO NOT EDIT. +// Code generated by 'ccgo -DSQLITE_PRIVATE= -export-defines "" -export-enums "" -export-externs X -export-fields F -export-typedefs "" -ignore-unsupported-alignment -pkgname sqlite3 -o lib/sqlite_freebsd_386.go -trace-translation-units testdata/sqlite-amalgamation-3380200/sqlite3.c -DNDEBUG -DHAVE_USLEEP -DLONGDOUBLE_TYPE=double -DSQLITE_CORE -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_GEOPOLY -DSQLITE_ENABLE_MATH_FUNCTIONS -DSQLITE_ENABLE_MEMORY_MANAGEMENT -DSQLITE_ENABLE_OFFSET_SQL_FUNC -DSQLITE_ENABLE_PREUPDATE_HOOK -DSQLITE_ENABLE_RBU -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_SESSION -DSQLITE_ENABLE_SNAPSHOT -DSQLITE_ENABLE_STAT4 -DSQLITE_ENABLE_UNLOCK_NOTIFY -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_MUTEX_APPDEF=1 -DSQLITE_MUTEX_NOOP -DSQLITE_SOUNDEX -DSQLITE_THREADSAFE=1 -DSQLITE_OS_UNIX=1', DO NOT EDIT. package sqlite3 @@ -1932,7 +1932,7 @@ const ( SQLITE_SHM_UNLOCK = 1 SQLITE_SORTER_PMASZ = 250 SQLITE_SOUNDEX = 1 - SQLITE_SOURCE_ID = "2022-03-12 13:37:29 38c210fdd258658321c85ec9c01a072fda3ada94540e3239d29b34dc547a8cbc" + SQLITE_SOURCE_ID = "2022-03-26 13:51:10 d33c709cc0af66bc5b6dc6216eba9f1f0b40960b9ae83694c986fbf4c1d6f08f" SQLITE_SO_ASC = 0 SQLITE_SO_DESC = 1 SQLITE_SO_UNDEFINED = -1 @@ -2040,8 +2040,8 @@ const ( SQLITE_UTF8 = 1 SQLITE_VDBEINT_H = 0 SQLITE_VDBE_H = 0 - SQLITE_VERSION = "3.38.1" - SQLITE_VERSION_NUMBER = 3038001 + SQLITE_VERSION = "3.38.2" + SQLITE_VERSION_NUMBER = 3038002 SQLITE_VTABRISK_High = 2 SQLITE_VTABRISK_Low = 0 SQLITE_VTABRISK_Normal = 1 @@ -2978,7 +2978,7 @@ type X__float128 = float64 /* :47:21 */ // ***************************************************************************** // // This file is an amalgamation of many separate C source files from SQLite -// version 3.38.1. By combining all the individual C code files into this +// version 3.38.2. By combining all the individual C code files into this // single large file, the entire code can be compiled as a single translation // unit. This allows many compilers to do optimizations that would not be // possible if the files were compiled separately. Performance improvements @@ -24713,12 +24713,22 @@ var pgsz int32 = 4096 /* sqlite3.c:39581:28 */ // to shared and back or from unlocked to exclusive and back. But one may // not go from shared to exclusive or from exclusive to shared. func unixShmLock(tls *libc.TLS, fd uintptr, ofst int32, n int32, flags int32) int32 { /* sqlite3.c:39687:12: */ - var pDbFd uintptr = fd // Connection holding shared memory - var p uintptr = (*UnixFile)(unsafe.Pointer(pDbFd)).FpShm // The shared memory being locked - var pShmNode uintptr = (*UnixShm)(unsafe.Pointer(p)).FpShmNode // The underlying file iNode - var rc int32 = SQLITE_OK // Result code - var mask U16 // Mask of locks to take or release - var aLock uintptr = pShmNode + 36 /* &.aLock */ + var pDbFd uintptr = fd // Connection holding shared memory + var p uintptr // The shared memory being locked + var pShmNode uintptr // The underlying file iNode + var rc int32 = SQLITE_OK // Result code + var mask U16 // Mask of locks to take or release + var aLock uintptr + + p = (*UnixFile)(unsafe.Pointer(pDbFd)).FpShm + if p == uintptr(0) { + return SQLITE_IOERR | int32(20)<<8 + } + pShmNode = (*UnixShm)(unsafe.Pointer(p)).FpShmNode + if pShmNode == uintptr(0) { + return SQLITE_IOERR | int32(20)<<8 + } + aLock = pShmNode + 36 /* &.aLock */ // Check that, if this to be a blocking lock, no locks that occur later // in the following list than the lock being obtained are already held: @@ -24819,7 +24829,7 @@ func unixShmLock(tls *libc.TLS, fd uintptr, ofst int32, n int32, flags int32) in // // All loads and stores begun before the barrier must complete before // any load or store begun after the barrier. -func unixShmBarrier(tls *libc.TLS, fd uintptr) { /* sqlite3.c:39819:13: */ +func unixShmBarrier(tls *libc.TLS, fd uintptr) { /* sqlite3.c:39825:13: */ _ = fd // compiler-defined memory barrier @@ -24832,7 +24842,7 @@ func unixShmBarrier(tls *libc.TLS, fd uintptr) { /* sqlite3.c:39819:13: */ // // If there is no shared memory associated with the connection then this // routine is a harmless no-op. -func unixShmUnmap(tls *libc.TLS, fd uintptr, deleteFlag int32) int32 { /* sqlite3.c:39838:12: */ +func unixShmUnmap(tls *libc.TLS, fd uintptr, deleteFlag int32) int32 { /* sqlite3.c:39844:12: */ var p uintptr // The connection to be closed var pShmNode uintptr // The underlying shared-memory file var pp uintptr // For looping over sibling connections @@ -24875,7 +24885,7 @@ func unixShmUnmap(tls *libc.TLS, fd uintptr, deleteFlag int32) int32 { /* sqlite } // If it is currently memory mapped, unmap file pFd. -func unixUnmapfile(tls *libc.TLS, pFd uintptr) { /* sqlite3.c:39895:13: */ +func unixUnmapfile(tls *libc.TLS, pFd uintptr) { /* sqlite3.c:39901:13: */ if (*UnixFile)(unsafe.Pointer(pFd)).FpMapRegion != 0 { (*(*func(*libc.TLS, uintptr, Size_t) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 23*12 + 4)))(tls, (*UnixFile)(unsafe.Pointer(pFd)).FpMapRegion, uint32((*UnixFile)(unsafe.Pointer(pFd)).FmmapSizeActual)) @@ -24898,7 +24908,7 @@ func unixUnmapfile(tls *libc.TLS, pFd uintptr) { /* sqlite3.c:39895:13: */ // the three variables above are zeroed. In this case SQLite should // continue accessing the database using the xRead() and xWrite() // methods. -func unixRemapfile(tls *libc.TLS, pFd uintptr, nNew I64) { /* sqlite3.c:39920:13: */ +func unixRemapfile(tls *libc.TLS, pFd uintptr, nNew I64) { /* sqlite3.c:39926:13: */ var zErr uintptr = ts + 3363 /* "mmap" */ var h int32 = (*UnixFile)(unsafe.Pointer(pFd)).Fh // File descriptor open on db file var pOrig uintptr = (*UnixFile)(unsafe.Pointer(pFd)).FpMapRegion // Pointer to current file mapping @@ -24940,7 +24950,7 @@ func unixRemapfile(tls *libc.TLS, pFd uintptr, nNew I64) { /* sqlite3.c:39920:13 if pNew == libc.UintptrFromInt32(-1) { pNew = uintptr(0) nNew = int64(0) - unixLogErrorAtLine(tls, SQLITE_OK, zErr, (*UnixFile)(unsafe.Pointer(pFd)).FzPath, 39985) + unixLogErrorAtLine(tls, SQLITE_OK, zErr, (*UnixFile)(unsafe.Pointer(pFd)).FzPath, 39991) // If the mmap() above failed, assume that all subsequent mmap() calls // will probably fail too. Fall back to using xRead/xWrite exclusively @@ -24965,7 +24975,7 @@ func unixRemapfile(tls *libc.TLS, pFd uintptr, nNew I64) { /* sqlite3.c:39920:13 // SQLITE_OK is returned if no error occurs (even if the mapping is not // recreated as a result of outstanding references) or an SQLite error // code otherwise. -func unixMapfile(tls *libc.TLS, pFd uintptr, nMap I64) int32 { /* sqlite3.c:40012:12: */ +func unixMapfile(tls *libc.TLS, pFd uintptr, nMap I64) int32 { /* sqlite3.c:40018:12: */ bp := tls.Alloc(208) defer tls.Free(208) @@ -25002,7 +25012,7 @@ func unixMapfile(tls *libc.TLS, pFd uintptr, nMap I64) int32 { /* sqlite3.c:4001 // // If this function does return a pointer, the caller must eventually // release the reference by calling unixUnfetch(). -func unixFetch(tls *libc.TLS, fd uintptr, iOff I64, nAmt int32, pp uintptr) int32 { /* sqlite3.c:40049:12: */ +func unixFetch(tls *libc.TLS, fd uintptr, iOff I64, nAmt int32, pp uintptr) int32 { /* sqlite3.c:40055:12: */ var pFd uintptr = fd // The underlying database file *(*uintptr)(unsafe.Pointer(pp)) = uintptr(0) @@ -25029,7 +25039,7 @@ func unixFetch(tls *libc.TLS, fd uintptr, iOff I64, nAmt int32, pp uintptr) int3 // Or, if the third argument is NULL, then this function is being called // to inform the VFS layer that, according to POSIX, any existing mapping // may now be invalid and should be unmapped. -func unixUnfetch(tls *libc.TLS, fd uintptr, iOff I64, p uintptr) int32 { /* sqlite3.c:40080:12: */ +func unixUnfetch(tls *libc.TLS, fd uintptr, iOff I64, p uintptr) int32 { /* sqlite3.c:40086:12: */ var pFd uintptr = fd // The underlying database file _ = iOff @@ -25090,33 +25100,33 @@ func unixUnfetch(tls *libc.TLS, fd uintptr, iOff I64, p uintptr) int32 { /* sqli // Here are all of the sqlite3_io_methods objects for each of the // locking strategies. Functions that return pointers to these methods // are also created. -var posixIoMethods = Sqlite3_io_methods{FiVersion: 3 /* iVersion */, FxClose: 0 /* xClose */, FxRead: 0 /* xRead */, FxWrite: 0 /* xWrite */, FxTruncate: 0 /* xTruncate */, FxSync: 0 /* xSync */, FxFileSize: 0 /* xFileSize */, FxLock: 0 /* xLock */, FxUnlock: 0 /* xUnlock */, FxCheckReservedLock: 0 /* xCheckReservedLock */, FxFileControl: 0 /* xFileControl */, FxSectorSize: 0 /* xSectorSize */, FxDeviceCharacteristics: 0 /* xDeviceCapabilities */, FxShmMap: 0 /* xShmMap */, FxShmLock: 0 /* xShmLock */, FxShmBarrier: 0 /* xShmBarrier */, FxShmUnmap: 0 /* xShmUnmap */, FxFetch: 0 /* xFetch */, FxUnfetch: 0 /* xUnfetch */} /* sqlite3.c:40182:1 */ +var posixIoMethods = Sqlite3_io_methods{FiVersion: 3 /* iVersion */, FxClose: 0 /* xClose */, FxRead: 0 /* xRead */, FxWrite: 0 /* xWrite */, FxTruncate: 0 /* xTruncate */, FxSync: 0 /* xSync */, FxFileSize: 0 /* xFileSize */, FxLock: 0 /* xLock */, FxUnlock: 0 /* xUnlock */, FxCheckReservedLock: 0 /* xCheckReservedLock */, FxFileControl: 0 /* xFileControl */, FxSectorSize: 0 /* xSectorSize */, FxDeviceCharacteristics: 0 /* xDeviceCapabilities */, FxShmMap: 0 /* xShmMap */, FxShmLock: 0 /* xShmLock */, FxShmBarrier: 0 /* xShmBarrier */, FxShmUnmap: 0 /* xShmUnmap */, FxFetch: 0 /* xFetch */, FxUnfetch: 0 /* xUnfetch */} /* sqlite3.c:40188:1 */ -func posixIoFinderImpl(tls *libc.TLS, z uintptr, p uintptr) uintptr { /* sqlite3.c:40182:1: */ +func posixIoFinderImpl(tls *libc.TLS, z uintptr, p uintptr) uintptr { /* sqlite3.c:40188:1: */ _ = z _ = p return uintptr(unsafe.Pointer(&posixIoMethods)) } -var posixIoFinder uintptr = 0 /* sqlite3.c:40182:1 */ -var nolockIoMethods = Sqlite3_io_methods{FiVersion: 3 /* iVersion */, FxClose: 0 /* xClose */, FxRead: 0 /* xRead */, FxWrite: 0 /* xWrite */, FxTruncate: 0 /* xTruncate */, FxSync: 0 /* xSync */, FxFileSize: 0 /* xFileSize */, FxLock: 0 /* xLock */, FxUnlock: 0 /* xUnlock */, FxCheckReservedLock: 0 /* xCheckReservedLock */, FxFileControl: 0 /* xFileControl */, FxSectorSize: 0 /* xSectorSize */, FxDeviceCharacteristics: 0 /* xShmMap */, FxShmLock: 0 /* xShmLock */, FxShmBarrier: 0 /* xShmBarrier */, FxShmUnmap: 0 /* xShmUnmap */, FxFetch: 0 /* xFetch */, FxUnfetch: 0 /* xUnfetch */} /* sqlite3.c:40192:1 */ +var posixIoFinder uintptr = 0 /* sqlite3.c:40188:1 */ +var nolockIoMethods = Sqlite3_io_methods{FiVersion: 3 /* iVersion */, FxClose: 0 /* xClose */, FxRead: 0 /* xRead */, FxWrite: 0 /* xWrite */, FxTruncate: 0 /* xTruncate */, FxSync: 0 /* xSync */, FxFileSize: 0 /* xFileSize */, FxLock: 0 /* xLock */, FxUnlock: 0 /* xUnlock */, FxCheckReservedLock: 0 /* xCheckReservedLock */, FxFileControl: 0 /* xFileControl */, FxSectorSize: 0 /* xSectorSize */, FxDeviceCharacteristics: 0 /* xShmMap */, FxShmLock: 0 /* xShmLock */, FxShmBarrier: 0 /* xShmBarrier */, FxShmUnmap: 0 /* xShmUnmap */, FxFetch: 0 /* xFetch */, FxUnfetch: 0 /* xUnfetch */} /* sqlite3.c:40198:1 */ -func nolockIoFinderImpl(tls *libc.TLS, z uintptr, p uintptr) uintptr { /* sqlite3.c:40192:1: */ +func nolockIoFinderImpl(tls *libc.TLS, z uintptr, p uintptr) uintptr { /* sqlite3.c:40198:1: */ _ = z _ = p return uintptr(unsafe.Pointer(&nolockIoMethods)) } -var nolockIoFinder uintptr = 0 /* sqlite3.c:40192:1 */ -var dotlockIoMethods = Sqlite3_io_methods{FiVersion: 1 /* iVersion */, FxClose: 0 /* xClose */, FxRead: 0 /* xRead */, FxWrite: 0 /* xWrite */, FxTruncate: 0 /* xTruncate */, FxSync: 0 /* xSync */, FxFileSize: 0 /* xFileSize */, FxLock: 0 /* xLock */, FxUnlock: 0 /* xUnlock */, FxCheckReservedLock: 0 /* xCheckReservedLock */, FxFileControl: 0 /* xFileControl */, FxSectorSize: 0 /* xSectorSize */, FxDeviceCharacteristics: 0 /* xShmMap */, FxShmLock: 0 /* xShmLock */, FxShmBarrier: 0 /* xShmBarrier */, FxShmUnmap: 0 /* xShmUnmap */, FxFetch: 0 /* xFetch */, FxUnfetch: 0 /* xUnfetch */} /* sqlite3.c:40202:1 */ +var nolockIoFinder uintptr = 0 /* sqlite3.c:40198:1 */ +var dotlockIoMethods = Sqlite3_io_methods{FiVersion: 1 /* iVersion */, FxClose: 0 /* xClose */, FxRead: 0 /* xRead */, FxWrite: 0 /* xWrite */, FxTruncate: 0 /* xTruncate */, FxSync: 0 /* xSync */, FxFileSize: 0 /* xFileSize */, FxLock: 0 /* xLock */, FxUnlock: 0 /* xUnlock */, FxCheckReservedLock: 0 /* xCheckReservedLock */, FxFileControl: 0 /* xFileControl */, FxSectorSize: 0 /* xSectorSize */, FxDeviceCharacteristics: 0 /* xShmMap */, FxShmLock: 0 /* xShmLock */, FxShmBarrier: 0 /* xShmBarrier */, FxShmUnmap: 0 /* xShmUnmap */, FxFetch: 0 /* xFetch */, FxUnfetch: 0 /* xUnfetch */} /* sqlite3.c:40208:1 */ -func dotlockIoFinderImpl(tls *libc.TLS, z uintptr, p uintptr) uintptr { /* sqlite3.c:40202:1: */ +func dotlockIoFinderImpl(tls *libc.TLS, z uintptr, p uintptr) uintptr { /* sqlite3.c:40208:1: */ _ = z _ = p return uintptr(unsafe.Pointer(&dotlockIoMethods)) } -var dotlockIoFinder uintptr = 0 /* sqlite3.c:40202:1 */ +var dotlockIoFinder uintptr = 0 /* sqlite3.c:40208:1 */ // The proxy locking method is a "super-method" in the sense that it // opens secondary file descriptors for the conch and lock files and @@ -25129,7 +25139,7 @@ var dotlockIoFinder uintptr = 0 /* sqlite3.c:40202:1 */ // nfs lockd on OSX 10.3+ doesn't clear write locks when a read lock is set // An abstract type for a pointer to an IO method finder function: -type Finder_type = uintptr /* sqlite3.c:40397:34 */ +type Finder_type = uintptr /* sqlite3.c:40403:34 */ // *************************************************************************** // @@ -25139,7 +25149,7 @@ type Finder_type = uintptr /* sqlite3.c:40397:34 */ // sqlite3_vfs object. // Initialize the contents of the unixFile structure pointed to by pId. -func fillInUnixFile(tls *libc.TLS, pVfs uintptr, h int32, pId uintptr, zFilename uintptr, ctrlFlags int32) int32 { /* sqlite3.c:40410:12: */ +func fillInUnixFile(tls *libc.TLS, pVfs uintptr, h int32, pId uintptr, zFilename uintptr, ctrlFlags int32) int32 { /* sqlite3.c:40416:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -25196,7 +25206,7 @@ func fillInUnixFile(tls *libc.TLS, pVfs uintptr, h int32, pId uintptr, zFilename // If scenario (a) caused the error then things are not so safe. The // implicit assumption here is that if fstat() fails, things are in // such bad shape that dropping a lock or two doesn't matter much. - robust_close(tls, pNew, h, 40488) + robust_close(tls, pNew, h, 40494) h = -1 } unixLeaveMutex(tls) @@ -25219,7 +25229,7 @@ func fillInUnixFile(tls *libc.TLS, pVfs uintptr, h int32, pId uintptr, zFilename storeLastErrno(tls, pNew, 0) if rc != SQLITE_OK { if h >= 0 { - robust_close(tls, pNew, h, 40573) + robust_close(tls, pNew, h, 40579) } } else { (*Sqlite3_file)(unsafe.Pointer(pId)).FpMethods = pLockingStyle @@ -25237,17 +25247,17 @@ var azTempDirs = [6]uintptr{ ts + 3673, ts + 3682, ts + 1540, -} /* sqlite3.c:40585:19 */ +} /* sqlite3.c:40591:19 */ // Initialize first two members of azTempDirs[] array. -func unixTempFileInit(tls *libc.TLS) { /* sqlite3.c:40597:13: */ +func unixTempFileInit(tls *libc.TLS) { /* sqlite3.c:40603:13: */ azTempDirs[0] = libc.Xgetenv(tls, ts+3687) azTempDirs[1] = libc.Xgetenv(tls, ts+3701) } // Return the name of a directory in which to put temporary files. // If no suitable temporary file directory can be found, return NULL. -func unixTempFileDir(tls *libc.TLS) uintptr { /* sqlite3.c:40606:19: */ +func unixTempFileDir(tls *libc.TLS) uintptr { /* sqlite3.c:40612:19: */ bp := tls.Alloc(208) defer tls.Free(208) @@ -25274,7 +25284,7 @@ func unixTempFileDir(tls *libc.TLS) uintptr { /* sqlite3.c:40606:19: */ // Create a temporary file name in zBuf. zBuf must be allocated // by the calling process and must be big enough to hold at least // pVfs->mxPathname bytes. -func unixGetTempname(tls *libc.TLS, nBuf int32, zBuf uintptr) int32 { /* sqlite3.c:40630:12: */ +func unixGetTempname(tls *libc.TLS, nBuf int32, zBuf uintptr) int32 { /* sqlite3.c:40636:12: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -25318,7 +25328,7 @@ func unixGetTempname(tls *libc.TLS, nBuf int32, zBuf uintptr) int32 { /* sqlite3 // // If a suitable file descriptor is found, then it is returned. If no // such file descriptor is located, -1 is returned. -func findReusableFd(tls *libc.TLS, zPath uintptr, flags int32) uintptr { /* sqlite3.c:40680:21: */ +func findReusableFd(tls *libc.TLS, zPath uintptr, flags int32) uintptr { /* sqlite3.c:40686:21: */ bp := tls.Alloc(208) defer tls.Free(208) @@ -25369,7 +25379,7 @@ func findReusableFd(tls *libc.TLS, zPath uintptr, flags int32) uintptr { /* sqli } // Find the mode, uid and gid of file zFile. -func getFileMode(tls *libc.TLS, zFile uintptr, pMode uintptr, pUid uintptr, pGid uintptr) int32 { /* sqlite3.c:40730:12: */ +func getFileMode(tls *libc.TLS, zFile uintptr, pMode uintptr, pUid uintptr, pGid uintptr) int32 { /* sqlite3.c:40736:12: */ bp := tls.Alloc(208) defer tls.Free(208) @@ -25405,7 +25415,7 @@ func getFileMode(tls *libc.TLS, zFile uintptr, pMode uintptr, pUid uintptr, pGid // original filename is unavailable. But 8_3_NAMES is only used for // FAT filesystems and permissions do not matter there, so just use // the default permissions. In 8_3_NAMES mode, leave *pMode set to zero. -func findCreateFileMode(tls *libc.TLS, zPath uintptr, flags int32, pMode uintptr, pUid uintptr, pGid uintptr) int32 { /* sqlite3.c:40769:12: */ +func findCreateFileMode(tls *libc.TLS, zPath uintptr, flags int32, pMode uintptr, pUid uintptr, pGid uintptr) int32 { /* sqlite3.c:40775:12: */ bp := tls.Alloc(513) defer tls.Free(513) @@ -25479,7 +25489,7 @@ func findCreateFileMode(tls *libc.TLS, zPath uintptr, flags int32, pMode uintptr // file handle closed. To achieve the same effect using this new // interface, add the DELETEONCLOSE flag to those specified above for // OpenExclusive(). -func unixOpen(tls *libc.TLS, pVfs uintptr, zPath uintptr, pFile uintptr, flags int32, pOutFlags uintptr) int32 { /* sqlite3.c:40846:12: */ +func unixOpen(tls *libc.TLS, pVfs uintptr, zPath uintptr, pFile uintptr, flags int32, pOutFlags uintptr) int32 { /* sqlite3.c:40852:12: */ bp := tls.Alloc(524) defer tls.Free(524) @@ -25677,7 +25687,7 @@ __15: if !(fd < 0) { goto __19 } - rc2 = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 41002), ts+3205, zName, 41002) + rc2 = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 41008), ts+3205, zName, 41008) if !(rc == SQLITE_OK) { goto __20 } @@ -25777,7 +25787,7 @@ __30: // Delete the file at zPath. If the dirSync argument is true, fsync() // the directory after deleting the file. -func unixDelete(tls *libc.TLS, NotUsed uintptr, zPath uintptr, dirSync int32) int32 { /* sqlite3.c:41125:12: */ +func unixDelete(tls *libc.TLS, NotUsed uintptr, zPath uintptr, dirSync int32) int32 { /* sqlite3.c:41131:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -25788,7 +25798,7 @@ func unixDelete(tls *libc.TLS, NotUsed uintptr, zPath uintptr, dirSync int32) in if *(*int32)(unsafe.Pointer(libc.X__error(tls))) == ENOENT { rc = SQLITE_IOERR | int32(23)<<8 } else { - rc = unixLogErrorAtLine(tls, SQLITE_IOERR|int32(10)<<8, ts+3315, zPath, 41141) + rc = unixLogErrorAtLine(tls, SQLITE_IOERR|int32(10)<<8, ts+3315, zPath, 41147) } return rc } @@ -25798,9 +25808,9 @@ func unixDelete(tls *libc.TLS, NotUsed uintptr, zPath uintptr, dirSync int32) in rc = (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 17*12 + 4)))(tls, zPath, bp) if rc == SQLITE_OK { if full_fsync(tls, *(*int32)(unsafe.Pointer(bp)), 0, 0) != 0 { - rc = unixLogErrorAtLine(tls, SQLITE_IOERR|int32(5)<<8, ts+3732, zPath, 41151) + rc = unixLogErrorAtLine(tls, SQLITE_IOERR|int32(5)<<8, ts+3732, zPath, 41157) } - robust_close(tls, uintptr(0), *(*int32)(unsafe.Pointer(bp /* fd */)), 41153) + robust_close(tls, uintptr(0), *(*int32)(unsafe.Pointer(bp /* fd */)), 41159) } else { rc = SQLITE_OK @@ -25817,7 +25827,7 @@ func unixDelete(tls *libc.TLS, NotUsed uintptr, zPath uintptr, dirSync int32) in // SQLITE_ACCESS_READONLY: Return 1 if the file is readable. // // Otherwise return 0. -func unixAccess(tls *libc.TLS, NotUsed uintptr, zPath uintptr, flags int32, pResOut uintptr) int32 { /* sqlite3.c:41173:12: */ +func unixAccess(tls *libc.TLS, NotUsed uintptr, zPath uintptr, flags int32, pResOut uintptr) int32 { /* sqlite3.c:41179:12: */ bp := tls.Alloc(208) defer tls.Free(208) @@ -25839,7 +25849,7 @@ func unixAccess(tls *libc.TLS, NotUsed uintptr, zPath uintptr, flags int32, pRes // If the last component of the pathname in z[0]..z[j-1] is something // other than ".." then back it out and return true. If the last // component is empty or if it is ".." then return false. -func unixBackupDir(tls *libc.TLS, z uintptr, pJ uintptr) int32 { /* sqlite3.c:41202:12: */ +func unixBackupDir(tls *libc.TLS, z uintptr, pJ uintptr) int32 { /* sqlite3.c:41208:12: */ var j int32 = *(*int32)(unsafe.Pointer(pJ)) var i int32 if j <= 0 { @@ -25862,7 +25872,7 @@ func unixBackupDir(tls *libc.TLS, z uintptr, pJ uintptr) int32 { /* sqlite3.c:41 // // Remove all instances of /./ // Remove all isntances of /X/../ for any X -func mkFullPathname(tls *libc.TLS, zPath uintptr, zOut uintptr, nOut int32) int32 { /* sqlite3.c:41220:12: */ +func mkFullPathname(tls *libc.TLS, zPath uintptr, zOut uintptr, nOut int32) int32 { /* sqlite3.c:41226:12: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -25873,7 +25883,7 @@ func mkFullPathname(tls *libc.TLS, zPath uintptr, zOut uintptr, nOut int32) int3 if int32(*(*int8)(unsafe.Pointer(zPath))) != '/' { if (*(*func(*libc.TLS, uintptr, Size_t) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 3*12 + 4)))(tls, zOut, uint32(nOut-2)) == uintptr(0) { - return unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 41230), ts+3223, zPath, 41230) + return unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 41236), ts+3223, zPath, 41236) } iOff = Xsqlite3Strlen30(tls, zOut) *(*int8)(unsafe.Pointer(zOut + uintptr(libc.PostIncInt32(&iOff, 1)))) = int8('/') @@ -25882,7 +25892,7 @@ func mkFullPathname(tls *libc.TLS, zPath uintptr, zOut uintptr, nOut int32) int3 // SQLite assumes that xFullPathname() nul-terminates the output buffer // even if it returns an error. *(*int8)(unsafe.Pointer(zOut + uintptr(iOff))) = int8(0) - return Xsqlite3CantopenError(tls, 41239) + return Xsqlite3CantopenError(tls, 41245) } Xsqlite3_snprintf(tls, nOut-iOff, zOut+uintptr(iOff), ts+3607, libc.VaList(bp, zPath)) @@ -25933,7 +25943,7 @@ func mkFullPathname(tls *libc.TLS, zPath uintptr, zOut uintptr, nOut int32) int3 // zOut points to a buffer of at least sqlite3_vfs.mxPathname bytes // (in this case, MAX_PATHNAME bytes). The full-path is written to // this buffer before returning. -func unixFullPathname(tls *libc.TLS, pVfs uintptr, zPath uintptr, nOut int32, zOut uintptr) int32 { /* sqlite3.c:41289:12: */ +func unixFullPathname(tls *libc.TLS, pVfs uintptr, zPath uintptr, nOut int32, zOut uintptr) int32 { /* sqlite3.c:41295:12: */ bp := tls.Alloc(208) defer tls.Free(208) @@ -25959,7 +25969,7 @@ func unixFullPathname(tls *libc.TLS, pVfs uintptr, zPath uintptr, nOut int32, zO if (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 27*12 + 4)))(tls, zIn, bp) != 0 { if *(*int32)(unsafe.Pointer(libc.X__error(tls))) != ENOENT { - rc = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 41322), ts+3403, zIn, 41322) + rc = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 41328), ts+3403, zIn, 41328) } } else { bLink = libc.Bool32(int32((*stat)(unsafe.Pointer(bp)).Fst_mode)&0170000 == 0120000) @@ -25973,20 +25983,20 @@ func unixFullPathname(tls *libc.TLS, pVfs uintptr, zPath uintptr, nOut int32, zO rc = SQLITE_NOMEM } } else if nLink >= SQLITE_MAX_SYMLINKS { - rc = Xsqlite3CantopenError(tls, 41334) + rc = Xsqlite3CantopenError(tls, 41340) } if rc == SQLITE_OK { nByte = (*(*func(*libc.TLS, uintptr, uintptr, Size_t) Ssize_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 26*12 + 4)))(tls, zIn, zDel, uint32(nOut-1)) if nByte < 0 { - rc = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 41340), ts+3394, zIn, 41340) + rc = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 41346), ts+3394, zIn, 41346) } else { if int32(*(*int8)(unsafe.Pointer(zDel))) != '/' { var n int32 for n = Xsqlite3Strlen30(tls, zIn); n > 0 && int32(*(*int8)(unsafe.Pointer(zIn + uintptr(n-1)))) != '/'; n-- { } if nByte+n+1 > nOut { - rc = Xsqlite3CantopenError(tls, 41346) + rc = Xsqlite3CantopenError(tls, 41352) } else { libc.Xmemmove(tls, zDel+uintptr(n), zDel, uint32(nByte+1)) libc.Xmemcpy(tls, zDel, zIn, uint32(n)) @@ -26194,7 +26204,7 @@ type dl_serinfo = struct { type Dl_serinfo = dl_serinfo /* dlfcn.h:113:3 */ -func unixDlOpen(tls *libc.TLS, NotUsed uintptr, zFilename uintptr) uintptr { /* sqlite3.c:41381:13: */ +func unixDlOpen(tls *libc.TLS, NotUsed uintptr, zFilename uintptr) uintptr { /* sqlite3.c:41387:13: */ _ = NotUsed return libc.Xdlopen(tls, zFilename, RTLD_NOW|RTLD_GLOBAL) } @@ -26204,7 +26214,7 @@ func unixDlOpen(tls *libc.TLS, NotUsed uintptr, zFilename uintptr) uintptr { /* // message is available, it is written to zBufOut. If no error message // is available, zBufOut is left unmodified and SQLite uses a default // error message. -func unixDlError(tls *libc.TLS, NotUsed uintptr, nBuf int32, zBufOut uintptr) { /* sqlite3.c:41393:13: */ +func unixDlError(tls *libc.TLS, NotUsed uintptr, nBuf int32, zBufOut uintptr) { /* sqlite3.c:41399:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -26218,7 +26228,7 @@ func unixDlError(tls *libc.TLS, NotUsed uintptr, nBuf int32, zBufOut uintptr) { unixLeaveMutex(tls) } -func unixDlSym(tls *libc.TLS, NotUsed uintptr, p uintptr, zSym uintptr) uintptr { /* sqlite3.c:41403:13: */ +func unixDlSym(tls *libc.TLS, NotUsed uintptr, p uintptr, zSym uintptr) uintptr { /* sqlite3.c:41409:13: */ // GCC with -pedantic-errors says that C90 does not allow a void* to be // cast into a pointer to a function. And yet the library dlsym() routine // returns a void* which is really a pointer to a function. So how do we @@ -26244,13 +26254,13 @@ func unixDlSym(tls *libc.TLS, NotUsed uintptr, p uintptr, zSym uintptr) uintptr })(unsafe.Pointer(&struct{ uintptr }{x})).f(tls, p, zSym) } -func unixDlClose(tls *libc.TLS, NotUsed uintptr, pHandle uintptr) { /* sqlite3.c:41426:13: */ +func unixDlClose(tls *libc.TLS, NotUsed uintptr, pHandle uintptr) { /* sqlite3.c:41432:13: */ _ = NotUsed libc.Xdlclose(tls, pHandle) } // Write nBuf bytes of random data to the supplied buffer zBuf. -func unixRandomness(tls *libc.TLS, NotUsed uintptr, nBuf int32, zBuf uintptr) int32 { /* sqlite3.c:41440:12: */ +func unixRandomness(tls *libc.TLS, NotUsed uintptr, nBuf int32, zBuf uintptr) int32 { /* sqlite3.c:41446:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -26285,7 +26295,7 @@ func unixRandomness(tls *libc.TLS, NotUsed uintptr, nBuf int32, zBuf uintptr) in for __ccgo := true; __ccgo; __ccgo = got < 0 && *(*int32)(unsafe.Pointer(libc.X__error(tls))) == EINTR { got = (*(*func(*libc.TLS, int32, uintptr, Size_t) Ssize_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 8*12 + 4)))(tls, fd, zBuf, uint32(nBuf)) } - robust_close(tls, uintptr(0), fd, 41471) + robust_close(tls, uintptr(0), fd, 41477) } } @@ -26298,7 +26308,7 @@ func unixRandomness(tls *libc.TLS, NotUsed uintptr, nBuf int32, zBuf uintptr) in // requested from the underlying operating system, a number which // might be greater than or equal to the argument, but not less // than the argument. -func unixSleep(tls *libc.TLS, NotUsed uintptr, microseconds int32) int32 { /* sqlite3.c:41487:12: */ +func unixSleep(tls *libc.TLS, NotUsed uintptr, microseconds int32) int32 { /* sqlite3.c:41493:12: */ if microseconds >= 1000000 { libc.Xsleep(tls, uint32(microseconds/1000000)) } @@ -26321,7 +26331,7 @@ func unixSleep(tls *libc.TLS, NotUsed uintptr, microseconds int32) int32 { /* sq // // On success, return SQLITE_OK. Return SQLITE_ERROR if the time and date // cannot be found. -func unixCurrentTimeInt64(tls *libc.TLS, NotUsed uintptr, piNow uintptr) int32 { /* sqlite3.c:41528:12: */ +func unixCurrentTimeInt64(tls *libc.TLS, NotUsed uintptr, piNow uintptr) int32 { /* sqlite3.c:41534:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -26335,12 +26345,12 @@ func unixCurrentTimeInt64(tls *libc.TLS, NotUsed uintptr, piNow uintptr) int32 { return rc } -var unixEpoch Sqlite3_int64 = int64(24405875) * int64(8640000) /* sqlite3.c:41529:30 */ +var unixEpoch Sqlite3_int64 = int64(24405875) * int64(8640000) /* sqlite3.c:41535:30 */ // Find the current time (in Universal Coordinated Time). Write the // current time and date as a Julian Day number into *prNow and // return 0. Return 1 if the time and date cannot be found. -func unixCurrentTime(tls *libc.TLS, NotUsed uintptr, prNow uintptr) int32 { /* sqlite3.c:41560:12: */ +func unixCurrentTime(tls *libc.TLS, NotUsed uintptr, prNow uintptr) int32 { /* sqlite3.c:41566:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -26356,7 +26366,7 @@ func unixCurrentTime(tls *libc.TLS, NotUsed uintptr, prNow uintptr) int32 { /* s // low-level error message when operating-system problems come up // during SQLite operation. Only the integer return code is currently // used. -func unixGetLastError(tls *libc.TLS, NotUsed uintptr, NotUsed2 int32, NotUsed3 uintptr) int32 { /* sqlite3.c:41578:12: */ +func unixGetLastError(tls *libc.TLS, NotUsed uintptr, NotUsed2 int32, NotUsed3 uintptr) int32 { /* sqlite3.c:41584:12: */ _ = NotUsed _ = NotUsed2 _ = NotUsed3 @@ -26538,7 +26548,7 @@ func unixGetLastError(tls *libc.TLS, NotUsed uintptr, NotUsed2 int32, NotUsed3 u // single thread. The memory allocation and mutex subsystems have not // necessarily been initialized when this routine is called, and so they // should not be used. -func Xsqlite3_os_init(tls *libc.TLS) int32 { /* sqlite3.c:42783:16: */ +func Xsqlite3_os_init(tls *libc.TLS) int32 { /* sqlite3.c:42789:16: */ var i uint32 // Loop counter // Double-check that the aSyscall[] array has been constructed @@ -26576,14 +26586,14 @@ var aVfs = [4]Sqlite3_vfs{ {FiVersion: 3 /* iVersion */, FszOsFile: int32(unsafe.Sizeof(UnixFile{})) /* szOsFile */, FmxPathname: MAX_PATHNAME /* pNext */, FzName: ts + 3756, FpAppData: 0 /* pAppData */, FxOpen: 0 /* xOpen */, FxDelete: 0 /* xDelete */, FxAccess: 0 /* xAccess */, FxFullPathname: 0 /* xFullPathname */, FxDlOpen: 0 /* xDlOpen */, FxDlError: 0 /* xDlError */, FxDlSym: 0 /* xDlSym */, FxDlClose: 0 /* xDlClose */, FxRandomness: 0 /* xRandomness */, FxSleep: 0 /* xSleep */, FxCurrentTime: 0 /* xCurrentTime */, FxGetLastError: 0 /* xGetLastError */, FxCurrentTimeInt64: 0 /* xCurrentTimeInt64 */, FxSetSystemCall: 0 /* xSetSystemCall */, FxGetSystemCall: 0 /* xGetSystemCall */, FxNextSystemCall: 0 /* xNextSystemCall */}, {FiVersion: 3 /* iVersion */, FszOsFile: int32(unsafe.Sizeof(UnixFile{})) /* szOsFile */, FmxPathname: MAX_PATHNAME /* pNext */, FzName: ts + 3766, FpAppData: 0 /* pAppData */, FxOpen: 0 /* xOpen */, FxDelete: 0 /* xDelete */, FxAccess: 0 /* xAccess */, FxFullPathname: 0 /* xFullPathname */, FxDlOpen: 0 /* xDlOpen */, FxDlError: 0 /* xDlError */, FxDlSym: 0 /* xDlSym */, FxDlClose: 0 /* xDlClose */, FxRandomness: 0 /* xRandomness */, FxSleep: 0 /* xSleep */, FxCurrentTime: 0 /* xCurrentTime */, FxGetLastError: 0 /* xGetLastError */, FxCurrentTimeInt64: 0 /* xCurrentTimeInt64 */, FxSetSystemCall: 0 /* xSetSystemCall */, FxGetSystemCall: 0 /* xGetSystemCall */, FxNextSystemCall: 0 /* xNextSystemCall */}, {FiVersion: 3 /* iVersion */, FszOsFile: int32(unsafe.Sizeof(UnixFile{})) /* szOsFile */, FmxPathname: MAX_PATHNAME /* pNext */, FzName: ts + 3646, FpAppData: 0 /* pAppData */, FxOpen: 0 /* xOpen */, FxDelete: 0 /* xDelete */, FxAccess: 0 /* xAccess */, FxFullPathname: 0 /* xFullPathname */, FxDlOpen: 0 /* xDlOpen */, FxDlError: 0 /* xDlError */, FxDlSym: 0 /* xDlSym */, FxDlClose: 0 /* xDlClose */, FxRandomness: 0 /* xRandomness */, FxSleep: 0 /* xSleep */, FxCurrentTime: 0 /* xCurrentTime */, FxGetLastError: 0 /* xGetLastError */, FxCurrentTimeInt64: 0 /* xCurrentTimeInt64 */, FxSetSystemCall: 0 /* xSetSystemCall */, FxGetSystemCall: 0 /* xGetSystemCall */, FxNextSystemCall: 0 /* xNextSystemCall */}, -} /* sqlite3.c:42836:22 */ +} /* sqlite3.c:42842:22 */ // Shutdown the operating system interface. // // Some operating systems might need to do some cleanup in this routine, // to release dynamically allocated objects. But not on unix. // This routine is a no-op for unix. -func Xsqlite3_os_end(tls *libc.TLS) int32 { /* sqlite3.c:42905:16: */ +func Xsqlite3_os_end(tls *libc.TLS) int32 { /* sqlite3.c:42911:16: */ unixBigLock = uintptr(0) return SQLITE_OK } @@ -26625,14 +26635,14 @@ func Xsqlite3_os_end(tls *libc.TLS) int32 { /* sqlite3.c:42905:16: */ // #include "sqliteInt.h" // Forward declaration of objects used by this utility -type MemVfs = sqlite3_vfs /* sqlite3.c:49095:28 */ +type MemVfs = sqlite3_vfs /* sqlite3.c:49105:28 */ type MemFile1 = struct { Fbase Sqlite3_file FpStore uintptr FeLock int32 -} /* sqlite3.c:49096:9 */ +} /* sqlite3.c:49106:9 */ -type MemFile = MemFile1 /* sqlite3.c:49096:24 */ +type MemFile = MemFile1 /* sqlite3.c:49106:24 */ type MemStore1 = struct { Fsz Sqlite3_int64 FszAlloc Sqlite3_int64 @@ -26645,9 +26655,9 @@ type MemStore1 = struct { FnWrLock int32 FnRef int32 FzFName uintptr -} /* sqlite3.c:49096:9 */ +} /* sqlite3.c:49106:9 */ -type MemStore = MemStore1 /* sqlite3.c:49097:25 */ +type MemStore = MemStore1 /* sqlite3.c:49107:25 */ // File-scope variables for holding the memdb files that are accessible // to multiple database connections in separate threads. @@ -26656,13 +26666,13 @@ type MemStore = MemStore1 /* sqlite3.c:49097:25 */ type MemFS = struct { FnMemStore int32 FapMemStore uintptr -} /* sqlite3.c:49167:8 */ +} /* sqlite3.c:49177:8 */ // File-scope variables for holding the memdb files that are accessible // to multiple database connections in separate threads. // // Must hold SQLITE_MUTEX_STATIC_VFS1 to access any part of this object. -var memdb_g MemFS /* sqlite3.c:49170:3: */ +var memdb_g MemFS /* sqlite3.c:49180:3: */ var memdb_vfs = Sqlite3_vfs{ FiVersion: 2, // szOsFile (set when registered) @@ -26679,7 +26689,7 @@ var memdb_vfs = Sqlite3_vfs{ FxSleep: 0, /* memdbCurrentTime, */ // xCurrentTime FxGetLastError: 0, // xGetLastError FxCurrentTimeInt64: 0, // xNextSystemCall -} /* sqlite3.c:49206:20 */ +} /* sqlite3.c:49216:20 */ var memdb_io_methods = Sqlite3_io_methods{ FiVersion: 3, // iVersion @@ -26695,21 +26705,21 @@ var memdb_io_methods = Sqlite3_io_methods{ FxDeviceCharacteristics: 0, // xShmUnmap FxFetch: 0, // xFetch FxUnfetch: 0, // xUnfetch -} /* sqlite3.c:49231:33 */ +} /* sqlite3.c:49241:33 */ // Enter/leave the mutex on a MemStore -func memdbEnter(tls *libc.TLS, p uintptr) { /* sqlite3.c:49264:13: */ +func memdbEnter(tls *libc.TLS, p uintptr) { /* sqlite3.c:49274:13: */ Xsqlite3_mutex_enter(tls, (*MemStore)(unsafe.Pointer(p)).FpMutex) } -func memdbLeave(tls *libc.TLS, p uintptr) { /* sqlite3.c:49267:13: */ +func memdbLeave(tls *libc.TLS, p uintptr) { /* sqlite3.c:49277:13: */ Xsqlite3_mutex_leave(tls, (*MemStore)(unsafe.Pointer(p)).FpMutex) } // Close an memdb-file. // Free the underlying MemStore object when its refcount drops to zero // or less. -func memdbClose(tls *libc.TLS, pFile uintptr) int32 { /* sqlite3.c:49279:12: */ +func memdbClose(tls *libc.TLS, pFile uintptr) int32 { /* sqlite3.c:49289:12: */ var p uintptr = (*MemFile)(unsafe.Pointer(pFile)).FpStore if (*MemStore)(unsafe.Pointer(p)).FzFName != 0 { var i int32 @@ -26747,7 +26757,7 @@ func memdbClose(tls *libc.TLS, pFile uintptr) int32 { /* sqlite3.c:49279:12: */ } // Read data from an memdb-file. -func memdbRead(tls *libc.TLS, pFile uintptr, zBuf uintptr, iAmt int32, iOfst Sqlite_int64) int32 { /* sqlite3.c:49321:12: */ +func memdbRead(tls *libc.TLS, pFile uintptr, zBuf uintptr, iAmt int32, iOfst Sqlite_int64) int32 { /* sqlite3.c:49331:12: */ var p uintptr = (*MemFile)(unsafe.Pointer(pFile)).FpStore memdbEnter(tls, p) if iOfst+Sqlite_int64(iAmt) > (*MemStore)(unsafe.Pointer(p)).Fsz { @@ -26764,7 +26774,7 @@ func memdbRead(tls *libc.TLS, pFile uintptr, zBuf uintptr, iAmt int32, iOfst Sql } // Try to enlarge the memory allocation to hold at least sz bytes -func memdbEnlarge(tls *libc.TLS, p uintptr, newSz Sqlite3_int64) int32 { /* sqlite3.c:49343:12: */ +func memdbEnlarge(tls *libc.TLS, p uintptr, newSz Sqlite3_int64) int32 { /* sqlite3.c:49353:12: */ var pNew uintptr if (*MemStore)(unsafe.Pointer(p)).FmFlags&uint32(SQLITE_DESERIALIZE_RESIZEABLE) == uint32(0) || (*MemStore)(unsafe.Pointer(p)).FnMmap > 0 { return SQLITE_FULL @@ -26786,7 +26796,7 @@ func memdbEnlarge(tls *libc.TLS, p uintptr, newSz Sqlite3_int64) int32 { /* sqli } // Write data to an memdb-file. -func memdbWrite(tls *libc.TLS, pFile uintptr, z uintptr, iAmt int32, iOfst Sqlite_int64) int32 { /* sqlite3.c:49363:12: */ +func memdbWrite(tls *libc.TLS, pFile uintptr, z uintptr, iAmt int32, iOfst Sqlite_int64) int32 { /* sqlite3.c:49373:12: */ var p uintptr = (*MemFile)(unsafe.Pointer(pFile)).FpStore memdbEnter(tls, p) if (*MemStore)(unsafe.Pointer(p)).FmFlags&uint32(SQLITE_DESERIALIZE_READONLY) != 0 { @@ -26817,7 +26827,7 @@ func memdbWrite(tls *libc.TLS, pFile uintptr, z uintptr, iAmt int32, iOfst Sqlit // In rollback mode (which is always the case for memdb, as it does not // support WAL mode) the truncate() method is only used to reduce // the size of a file, never to increase the size. -func memdbTruncate(tls *libc.TLS, pFile uintptr, size Sqlite_int64) int32 { /* sqlite3.c:49400:12: */ +func memdbTruncate(tls *libc.TLS, pFile uintptr, size Sqlite_int64) int32 { /* sqlite3.c:49410:12: */ var p uintptr = (*MemFile)(unsafe.Pointer(pFile)).FpStore var rc int32 = SQLITE_OK memdbEnter(tls, p) @@ -26832,14 +26842,14 @@ func memdbTruncate(tls *libc.TLS, pFile uintptr, size Sqlite_int64) int32 { /* s } // Sync an memdb-file. -func memdbSync(tls *libc.TLS, pFile uintptr, flags int32) int32 { /* sqlite3.c:49417:12: */ +func memdbSync(tls *libc.TLS, pFile uintptr, flags int32) int32 { /* sqlite3.c:49427:12: */ _ = pFile _ = flags return SQLITE_OK } // Return the current file-size of an memdb-file. -func memdbFileSize(tls *libc.TLS, pFile uintptr, pSize uintptr) int32 { /* sqlite3.c:49426:12: */ +func memdbFileSize(tls *libc.TLS, pFile uintptr, pSize uintptr) int32 { /* sqlite3.c:49436:12: */ var p uintptr = (*MemFile)(unsafe.Pointer(pFile)).FpStore memdbEnter(tls, p) *(*Sqlite_int64)(unsafe.Pointer(pSize)) = (*MemStore)(unsafe.Pointer(p)).Fsz @@ -26848,7 +26858,7 @@ func memdbFileSize(tls *libc.TLS, pFile uintptr, pSize uintptr) int32 { /* sqlit } // Lock an memdb-file. -func memdbLock(tls *libc.TLS, pFile uintptr, eLock int32) int32 { /* sqlite3.c:49437:12: */ +func memdbLock(tls *libc.TLS, pFile uintptr, eLock int32) int32 { /* sqlite3.c:49447:12: */ var pThis uintptr = pFile var p uintptr = (*MemFile)(unsafe.Pointer(pThis)).FpStore var rc int32 = SQLITE_OK @@ -26892,7 +26902,7 @@ func memdbLock(tls *libc.TLS, pFile uintptr, eLock int32) int32 { /* sqlite3.c:4 } // File control method. For custom operations on an memdb-file. -func memdbFileControl(tls *libc.TLS, pFile uintptr, op int32, pArg uintptr) int32 { /* sqlite3.c:49491:12: */ +func memdbFileControl(tls *libc.TLS, pFile uintptr, op int32, pArg uintptr) int32 { /* sqlite3.c:49501:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -26921,13 +26931,13 @@ func memdbFileControl(tls *libc.TLS, pFile uintptr, op int32, pArg uintptr) int3 } // Return the device characteristic flags supported by an memdb-file. -func memdbDeviceCharacteristics(tls *libc.TLS, pFile uintptr) int32 { /* sqlite3.c:49528:12: */ +func memdbDeviceCharacteristics(tls *libc.TLS, pFile uintptr) int32 { /* sqlite3.c:49538:12: */ _ = pFile return SQLITE_IOCAP_ATOMIC | SQLITE_IOCAP_POWERSAFE_OVERWRITE | SQLITE_IOCAP_SAFE_APPEND | SQLITE_IOCAP_SEQUENTIAL } // Fetch a page of a memory-mapped file -func memdbFetch(tls *libc.TLS, pFile uintptr, iOfst Sqlite3_int64, iAmt int32, pp uintptr) int32 { /* sqlite3.c:49537:12: */ +func memdbFetch(tls *libc.TLS, pFile uintptr, iOfst Sqlite3_int64, iAmt int32, pp uintptr) int32 { /* sqlite3.c:49547:12: */ var p uintptr = (*MemFile)(unsafe.Pointer(pFile)).FpStore memdbEnter(tls, p) if iOfst+Sqlite3_int64(iAmt) > (*MemStore)(unsafe.Pointer(p)).Fsz || (*MemStore)(unsafe.Pointer(p)).FmFlags&uint32(SQLITE_DESERIALIZE_RESIZEABLE) != uint32(0) { @@ -26941,7 +26951,7 @@ func memdbFetch(tls *libc.TLS, pFile uintptr, iOfst Sqlite3_int64, iAmt int32, p } // Release a memory-mapped page -func memdbUnfetch(tls *libc.TLS, pFile uintptr, iOfst Sqlite3_int64, pPage uintptr) int32 { /* sqlite3.c:49556:12: */ +func memdbUnfetch(tls *libc.TLS, pFile uintptr, iOfst Sqlite3_int64, pPage uintptr) int32 { /* sqlite3.c:49566:12: */ var p uintptr = (*MemFile)(unsafe.Pointer(pFile)).FpStore _ = iOfst _ = pPage @@ -26952,7 +26962,7 @@ func memdbUnfetch(tls *libc.TLS, pFile uintptr, iOfst Sqlite3_int64, pPage uintp } // Open an mem file handle. -func memdbOpen(tls *libc.TLS, pVfs uintptr, zName uintptr, pFd uintptr, flags int32, pOutFlags uintptr) int32 { /* sqlite3.c:49569:12: */ +func memdbOpen(tls *libc.TLS, pVfs uintptr, zName uintptr, pFd uintptr, flags int32, pOutFlags uintptr) int32 { /* sqlite3.c:49579:12: */ var pFile uintptr = pFd var p uintptr = uintptr(0) var szName int32 @@ -27027,7 +27037,7 @@ func memdbOpen(tls *libc.TLS, pVfs uintptr, zName uintptr, pFd uintptr, flags in // is available, or false otherwise. // // With memdb, no files ever exist on disk. So always return false. -func memdbAccess(tls *libc.TLS, pVfs uintptr, zPath uintptr, flags int32, pResOut uintptr) int32 { /* sqlite3.c:49666:12: */ +func memdbAccess(tls *libc.TLS, pVfs uintptr, zPath uintptr, flags int32, pResOut uintptr) int32 { /* sqlite3.c:49676:12: */ _ = pVfs _ = zPath _ = flags @@ -27038,7 +27048,7 @@ func memdbAccess(tls *libc.TLS, pVfs uintptr, zPath uintptr, flags int32, pResOu // Populate buffer zOut with the full canonical pathname corresponding // to the pathname in zPath. zOut is guaranteed to point to a buffer // of at least (INST_MAX_PATHNAME+1) bytes. -func memdbFullPathname(tls *libc.TLS, pVfs uintptr, zPath uintptr, nOut int32, zOut uintptr) int32 { /* sqlite3.c:49684:12: */ +func memdbFullPathname(tls *libc.TLS, pVfs uintptr, zPath uintptr, nOut int32, zOut uintptr) int32 { /* sqlite3.c:49694:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -27048,7 +27058,7 @@ func memdbFullPathname(tls *libc.TLS, pVfs uintptr, zPath uintptr, nOut int32, z } // Open the dynamic library located at zPath and return a handle. -func memdbDlOpen(tls *libc.TLS, pVfs uintptr, zPath uintptr) uintptr { /* sqlite3.c:49698:13: */ +func memdbDlOpen(tls *libc.TLS, pVfs uintptr, zPath uintptr) uintptr { /* sqlite3.c:49708:13: */ return (*struct { f func(*libc.TLS, uintptr, uintptr) uintptr })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer((*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData)).FxDlOpen})).f(tls, (*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, zPath) @@ -27057,21 +27067,21 @@ func memdbDlOpen(tls *libc.TLS, pVfs uintptr, zPath uintptr) uintptr { /* sqlite // Populate the buffer zErrMsg (size nByte bytes) with a human readable // utf-8 string describing the most recent error encountered associated // with dynamic libraries. -func memdbDlError(tls *libc.TLS, pVfs uintptr, nByte int32, zErrMsg uintptr) { /* sqlite3.c:49707:13: */ +func memdbDlError(tls *libc.TLS, pVfs uintptr, nByte int32, zErrMsg uintptr) { /* sqlite3.c:49717:13: */ (*struct { f func(*libc.TLS, uintptr, int32, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer((*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData)).FxDlError})).f(tls, (*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, nByte, zErrMsg) } // Return a pointer to the symbol zSymbol in the dynamic library pHandle. -func memdbDlSym(tls *libc.TLS, pVfs uintptr, p uintptr, zSym uintptr) uintptr { /* sqlite3.c:49714:13: */ +func memdbDlSym(tls *libc.TLS, pVfs uintptr, p uintptr, zSym uintptr) uintptr { /* sqlite3.c:49724:13: */ return (*struct { f func(*libc.TLS, uintptr, uintptr, uintptr) uintptr })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer((*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData)).FxDlSym})).f(tls, (*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, p, zSym) } // Close the dynamic library handle pHandle. -func memdbDlClose(tls *libc.TLS, pVfs uintptr, pHandle uintptr) { /* sqlite3.c:49721:13: */ +func memdbDlClose(tls *libc.TLS, pVfs uintptr, pHandle uintptr) { /* sqlite3.c:49731:13: */ (*struct { f func(*libc.TLS, uintptr, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer((*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData)).FxDlClose})).f(tls, (*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, pHandle) @@ -27079,7 +27089,7 @@ func memdbDlClose(tls *libc.TLS, pVfs uintptr, pHandle uintptr) { /* sqlite3.c:4 // Populate the buffer pointed to by zBufOut with nByte bytes of // random data. -func memdbRandomness(tls *libc.TLS, pVfs uintptr, nByte int32, zBufOut uintptr) int32 { /* sqlite3.c:49729:12: */ +func memdbRandomness(tls *libc.TLS, pVfs uintptr, nByte int32, zBufOut uintptr) int32 { /* sqlite3.c:49739:12: */ return (*struct { f func(*libc.TLS, uintptr, int32, uintptr) int32 })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer((*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData)).FxRandomness})).f(tls, (*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, nByte, zBufOut) @@ -27087,19 +27097,19 @@ func memdbRandomness(tls *libc.TLS, pVfs uintptr, nByte int32, zBufOut uintptr) // Sleep for nMicro microseconds. Return the number of microseconds // actually slept. -func memdbSleep(tls *libc.TLS, pVfs uintptr, nMicro int32) int32 { /* sqlite3.c:49737:12: */ +func memdbSleep(tls *libc.TLS, pVfs uintptr, nMicro int32) int32 { /* sqlite3.c:49747:12: */ return (*struct { f func(*libc.TLS, uintptr, int32) int32 })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer((*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData)).FxSleep})).f(tls, (*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, nMicro) } -func memdbGetLastError(tls *libc.TLS, pVfs uintptr, a int32, b uintptr) int32 { /* sqlite3.c:49750:12: */ +func memdbGetLastError(tls *libc.TLS, pVfs uintptr, a int32, b uintptr) int32 { /* sqlite3.c:49760:12: */ return (*struct { f func(*libc.TLS, uintptr, int32, uintptr) int32 })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer((*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData)).FxGetLastError})).f(tls, (*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, a, b) } -func memdbCurrentTimeInt64(tls *libc.TLS, pVfs uintptr, p uintptr) int32 { /* sqlite3.c:49753:12: */ +func memdbCurrentTimeInt64(tls *libc.TLS, pVfs uintptr, p uintptr) int32 { /* sqlite3.c:49763:12: */ return (*struct { f func(*libc.TLS, uintptr, uintptr) int32 })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer((*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData)).FxCurrentTimeInt64})).f(tls, (*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, p) @@ -27107,7 +27117,7 @@ func memdbCurrentTimeInt64(tls *libc.TLS, pVfs uintptr, p uintptr) int32 { /* sq // Translate a database connection pointer and schema name into a // MemFile pointer. -func memdbFromDbSchema(tls *libc.TLS, db uintptr, zSchema uintptr) uintptr { /* sqlite3.c:49761:16: */ +func memdbFromDbSchema(tls *libc.TLS, db uintptr, zSchema uintptr) uintptr { /* sqlite3.c:49771:16: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -27130,7 +27140,7 @@ func memdbFromDbSchema(tls *libc.TLS, db uintptr, zSchema uintptr) uintptr { /* } // Return the serialization of a database -func Xsqlite3_serialize(tls *libc.TLS, db uintptr, zSchema uintptr, piSize uintptr, mFlags uint32) uintptr { /* sqlite3.c:49777:26: */ +func Xsqlite3_serialize(tls *libc.TLS, db uintptr, zSchema uintptr, piSize uintptr, mFlags uint32) uintptr { /* sqlite3.c:49787:26: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -27221,7 +27231,7 @@ func Xsqlite3_serialize(tls *libc.TLS, db uintptr, zSchema uintptr, piSize uintp } // Convert zSchema to a MemDB and initialize its content. -func Xsqlite3_deserialize(tls *libc.TLS, db uintptr, zSchema uintptr, pData uintptr, szDb Sqlite3_int64, szBuf Sqlite3_int64, mFlags uint32) int32 { /* sqlite3.c:49858:16: */ +func Xsqlite3_deserialize(tls *libc.TLS, db uintptr, zSchema uintptr, pData uintptr, szDb Sqlite3_int64, szBuf Sqlite3_int64, mFlags uint32) int32 { /* sqlite3.c:49868:16: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -27316,7 +27326,7 @@ __10: // This routine is called when the extension is loaded. // Register the new VFS. -func Xsqlite3MemdbInit(tls *libc.TLS) int32 { /* sqlite3.c:49934:20: */ +func Xsqlite3MemdbInit(tls *libc.TLS) int32 { /* sqlite3.c:49944:20: */ var pLower uintptr = Xsqlite3_vfs_find(tls, uintptr(0)) var sz uint32 if pLower == uintptr(0) { @@ -27338,7 +27348,7 @@ func Xsqlite3MemdbInit(tls *libc.TLS) int32 { /* sqlite3.c:49934:20: */ // Create a new bitmap object able to handle bits between 0 and iSize, // inclusive. Return a pointer to the new object. Return NULL if // malloc fails. -func Xsqlite3BitvecCreate(tls *libc.TLS, iSize U32) uintptr { /* sqlite3.c:50066:23: */ +func Xsqlite3BitvecCreate(tls *libc.TLS, iSize U32) uintptr { /* sqlite3.c:50076:23: */ var p uintptr p = Xsqlite3MallocZero(tls, uint64(unsafe.Sizeof(Bitvec{}))) @@ -27351,7 +27361,7 @@ func Xsqlite3BitvecCreate(tls *libc.TLS, iSize U32) uintptr { /* sqlite3.c:50066 // Check to see if the i-th bit is set. Return true or false. // If p is NULL (if the bitmap has not been created) or if // i is out of range, then return false. -func Xsqlite3BitvecTestNotNull(tls *libc.TLS, p uintptr, i U32) int32 { /* sqlite3.c:50081:20: */ +func Xsqlite3BitvecTestNotNull(tls *libc.TLS, p uintptr, i U32) int32 { /* sqlite3.c:50091:20: */ i-- if i >= (*Bitvec)(unsafe.Pointer(p)).FiSize { @@ -27380,7 +27390,7 @@ func Xsqlite3BitvecTestNotNull(tls *libc.TLS, p uintptr, i U32) int32 { /* sqlit return int32(0) } -func Xsqlite3BitvecTest(tls *libc.TLS, p uintptr, i U32) int32 { /* sqlite3.c:50104:20: */ +func Xsqlite3BitvecTest(tls *libc.TLS, p uintptr, i U32) int32 { /* sqlite3.c:50114:20: */ return libc.Bool32(p != uintptr(0) && Xsqlite3BitvecTestNotNull(tls, p, i) != 0) } @@ -27394,7 +27404,7 @@ func Xsqlite3BitvecTest(tls *libc.TLS, p uintptr, i U32) int32 { /* sqlite3.c:50 // The calling function must ensure that p is a valid Bitvec object // and that the value for "i" is within range of the Bitvec object. // Otherwise the behavior is undefined. -func Xsqlite3BitvecSet(tls *libc.TLS, p uintptr, i U32) int32 { /* sqlite3.c:50120:20: */ +func Xsqlite3BitvecSet(tls *libc.TLS, p uintptr, i U32) int32 { /* sqlite3.c:50130:20: */ var h U32 var bin U32 var j uint32 @@ -27531,7 +27541,7 @@ bitvec_set_end: // // pBuf must be a pointer to at least BITVEC_SZ bytes of temporary storage // that BitvecClear can use to rebuilt its hash table. -func Xsqlite3BitvecClear(tls *libc.TLS, p uintptr, i U32, pBuf uintptr) { /* sqlite3.c:50191:21: */ +func Xsqlite3BitvecClear(tls *libc.TLS, p uintptr, i U32, pBuf uintptr) { /* sqlite3.c:50201:21: */ if p == uintptr(0) { return } @@ -27570,7 +27580,7 @@ func Xsqlite3BitvecClear(tls *libc.TLS, p uintptr, i U32, pBuf uintptr) { /* sql } // Destroy a bitmap object. Reclaim all memory used. -func Xsqlite3BitvecDestroy(tls *libc.TLS, p uintptr) { /* sqlite3.c:50228:21: */ +func Xsqlite3BitvecDestroy(tls *libc.TLS, p uintptr) { /* sqlite3.c:50238:21: */ if p == uintptr(0) { return } @@ -27585,7 +27595,7 @@ func Xsqlite3BitvecDestroy(tls *libc.TLS, p uintptr) { /* sqlite3.c:50228:21: */ // Return the value of the iSize parameter specified when Bitvec *p // was created. -func Xsqlite3BitvecSize(tls *libc.TLS, p uintptr) U32 { /* sqlite3.c:50243:20: */ +func Xsqlite3BitvecSize(tls *libc.TLS, p uintptr) U32 { /* sqlite3.c:50253:20: */ return (*Bitvec)(unsafe.Pointer(p)).FiSize } @@ -27622,7 +27632,7 @@ func Xsqlite3BitvecSize(tls *libc.TLS, p uintptr) U32 { /* sqlite3.c:50243:20: * // an error is returned. If they are the same, zero is returned. // // If a memory allocation error occurs, return -1. -func Xsqlite3BitvecBuiltinTest(tls *libc.TLS, sz int32, aOp uintptr) int32 { /* sqlite3.c:50288:20: */ +func Xsqlite3BitvecBuiltinTest(tls *libc.TLS, sz int32, aOp uintptr) int32 { /* sqlite3.c:50298:20: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -27785,7 +27795,7 @@ bitvec_end: // argument determines what operation to do. The 0x01 bit means first // remove pPage from the dirty list. The 0x02 means add pPage back to // the dirty list. Doing both moves pPage to the front of the dirty list. -func pcacheManageDirtyList(tls *libc.TLS, pPage uintptr, addRemove U8) { /* sqlite3.c:50523:13: */ +func pcacheManageDirtyList(tls *libc.TLS, pPage uintptr, addRemove U8) { /* sqlite3.c:50533:13: */ var p uintptr = (*PgHdr)(unsafe.Pointer(pPage)).FpCache if int32(addRemove)&PCACHE_DIRTYLIST_REMOVE != 0 { @@ -27847,7 +27857,7 @@ func pcacheManageDirtyList(tls *libc.TLS, pPage uintptr, addRemove U8) { /* sqli // Wrapper around the pluggable caches xUnpin method. If the cache is // being used for an in-memory database, this function is a no-op. -func pcacheUnpin(tls *libc.TLS, p uintptr) { /* sqlite3.c:50593:13: */ +func pcacheUnpin(tls *libc.TLS, p uintptr) { /* sqlite3.c:50603:13: */ if (*PCache)(unsafe.Pointer((*PgHdr)(unsafe.Pointer(p)).FpCache)).FbPurgeable != 0 { (*struct { @@ -27859,7 +27869,7 @@ func pcacheUnpin(tls *libc.TLS, p uintptr) { /* sqlite3.c:50593:13: */ // Compute the number of pages of cache requested. p->szCache is the // cache size requested by the "PRAGMA cache_size" statement. -func numberOfCachePages(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:50605:12: */ +func numberOfCachePages(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:50615:12: */ if (*PCache)(unsafe.Pointer(p)).FszCache >= 0 { // IMPLEMENTATION-OF: R-42059-47211 If the argument N is positive then the // suggested cache size is set to N. @@ -27884,7 +27894,7 @@ func numberOfCachePages(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:50605:12: // // Initialize and shutdown the page cache subsystem. Neither of these // functions are threadsafe. -func Xsqlite3PcacheInitialize(tls *libc.TLS) int32 { /* sqlite3.c:50627:20: */ +func Xsqlite3PcacheInitialize(tls *libc.TLS) int32 { /* sqlite3.c:50637:20: */ if Xsqlite3Config.Fpcache2.FxInit == uintptr(0) { // IMPLEMENTATION-OF: R-26801-64137 If the xInit() method is NULL, then the // built-in default page cache is used instead of the application defined @@ -27897,7 +27907,7 @@ func Xsqlite3PcacheInitialize(tls *libc.TLS) int32 { /* sqlite3.c:50627:20: */ })(unsafe.Pointer(&struct{ uintptr }{Xsqlite3Config.Fpcache2.FxInit})).f(tls, Xsqlite3Config.Fpcache2.FpArg) } -func Xsqlite3PcacheShutdown(tls *libc.TLS) { /* sqlite3.c:50637:21: */ +func Xsqlite3PcacheShutdown(tls *libc.TLS) { /* sqlite3.c:50647:21: */ if Xsqlite3Config.Fpcache2.FxShutdown != 0 { // IMPLEMENTATION-OF: R-26000-56589 The xShutdown() method may be NULL. (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{Xsqlite3Config.Fpcache2.FxShutdown})).f(tls, Xsqlite3Config.Fpcache2.FpArg) @@ -27905,7 +27915,7 @@ func Xsqlite3PcacheShutdown(tls *libc.TLS) { /* sqlite3.c:50637:21: */ } // Return the size in bytes of a PCache object. -func Xsqlite3PcacheSize(tls *libc.TLS) int32 { /* sqlite3.c:50647:20: */ +func Xsqlite3PcacheSize(tls *libc.TLS) int32 { /* sqlite3.c:50657:20: */ return int32(unsafe.Sizeof(PCache{})) } @@ -27919,7 +27929,7 @@ func Xsqlite3PcacheSize(tls *libc.TLS) int32 { /* sqlite3.c:50647:20: */ // but remaining content will be uninitialized. Though it is opaque // to this module, the extra space really ends up being the MemPage // structure in the pager. -func Xsqlite3PcacheOpen(tls *libc.TLS, szPage int32, szExtra int32, bPurgeable int32, xStress uintptr, pStress uintptr, p uintptr) int32 { /* sqlite3.c:50661:20: */ +func Xsqlite3PcacheOpen(tls *libc.TLS, szPage int32, szExtra int32, bPurgeable int32, xStress uintptr, pStress uintptr, p uintptr) int32 { /* sqlite3.c:50671:20: */ libc.Xmemset(tls, p, 0, uint32(unsafe.Sizeof(PCache{}))) (*PCache)(unsafe.Pointer(p)).FszPage = 1 (*PCache)(unsafe.Pointer(p)).FszExtra = szExtra @@ -27936,7 +27946,7 @@ func Xsqlite3PcacheOpen(tls *libc.TLS, szPage int32, szExtra int32, bPurgeable i // Change the page size for PCache object. The caller must ensure that there // are no outstanding page references when this function is called. -func Xsqlite3PcacheSetPageSize(tls *libc.TLS, pCache uintptr, szPage int32) int32 { /* sqlite3.c:50687:20: */ +func Xsqlite3PcacheSetPageSize(tls *libc.TLS, pCache uintptr, szPage int32) int32 { /* sqlite3.c:50697:20: */ if (*PCache)(unsafe.Pointer(pCache)).FszPage != 0 { var pNew uintptr @@ -27983,7 +27993,7 @@ func Xsqlite3PcacheSetPageSize(tls *libc.TLS, pCache uintptr, szPage int32) int3 // they can both (usually) operate without having to push values to // the stack on entry and pop them back off on exit, which saves a // lot of pushing and popping. -func Xsqlite3PcacheFetch(tls *libc.TLS, pCache uintptr, pgno Pgno, createFlag int32) uintptr { /* sqlite3.c:50731:36: */ +func Xsqlite3PcacheFetch(tls *libc.TLS, pCache uintptr, pgno Pgno, createFlag int32) uintptr { /* sqlite3.c:50741:36: */ var eCreate int32 var pRes uintptr @@ -28011,7 +28021,7 @@ func Xsqlite3PcacheFetch(tls *libc.TLS, pCache uintptr, pgno Pgno, createFlag in // an OOM error. // // This routine should be invoked only after sqlite3PcacheFetch() fails. -func Xsqlite3PcacheFetchStress(tls *libc.TLS, pCache uintptr, pgno Pgno, ppPage uintptr) int32 { /* sqlite3.c:50772:20: */ +func Xsqlite3PcacheFetchStress(tls *libc.TLS, pCache uintptr, pgno Pgno, ppPage uintptr) int32 { /* sqlite3.c:50782:20: */ var pPg uintptr if int32((*PCache)(unsafe.Pointer(pCache)).FeCreate) == 2 { return 0 @@ -28062,7 +28072,7 @@ func Xsqlite3PcacheFetchStress(tls *libc.TLS, pCache uintptr, pgno Pgno, ppPage // This routine is broken out into a separate function since it // requires extra stack manipulation that can be avoided in the common // case. -func pcacheFetchFinishWithInit(tls *libc.TLS, pCache uintptr, pgno Pgno, pPage uintptr) uintptr { /* sqlite3.c:50828:30: */ +func pcacheFetchFinishWithInit(tls *libc.TLS, pCache uintptr, pgno Pgno, pPage uintptr) uintptr { /* sqlite3.c:50838:30: */ var pPgHdr uintptr pPgHdr = (*Sqlite3_pcache_page)(unsafe.Pointer(pPage)).FpExtra @@ -28082,7 +28092,7 @@ func pcacheFetchFinishWithInit(tls *libc.TLS, pCache uintptr, pgno Pgno, pPage u // sqlite3PcacheFetch() into an initialized PgHdr object. This routine // must be called after sqlite3PcacheFetch() in order to get a usable // result. -func Xsqlite3PcacheFetchFinish(tls *libc.TLS, pCache uintptr, pgno Pgno, pPage uintptr) uintptr { /* sqlite3.c:50854:22: */ +func Xsqlite3PcacheFetchFinish(tls *libc.TLS, pCache uintptr, pgno Pgno, pPage uintptr) uintptr { /* sqlite3.c:50864:22: */ var pPgHdr uintptr pPgHdr = (*Sqlite3_pcache_page)(unsafe.Pointer(pPage)).FpExtra @@ -28098,7 +28108,7 @@ func Xsqlite3PcacheFetchFinish(tls *libc.TLS, pCache uintptr, pgno Pgno, pPage u // Decrement the reference count on a page. If the page is clean and the // reference count drops to 0, then it is made eligible for recycling. -func Xsqlite3PcacheRelease(tls *libc.TLS, p uintptr) { /* sqlite3.c:50877:37: */ +func Xsqlite3PcacheRelease(tls *libc.TLS, p uintptr) { /* sqlite3.c:50887:37: */ (*PCache)(unsafe.Pointer((*PgHdr)(unsafe.Pointer(p)).FpCache)).FnRefSum-- if int32(libc.PreDecInt16(&(*PgHdr)(unsafe.Pointer(p)).FnRef, 1)) == 0 { @@ -28111,7 +28121,7 @@ func Xsqlite3PcacheRelease(tls *libc.TLS, p uintptr) { /* sqlite3.c:50877:37: */ } // Increase the reference count of a supplied page by 1. -func Xsqlite3PcacheRef(tls *libc.TLS, p uintptr) { /* sqlite3.c:50892:21: */ +func Xsqlite3PcacheRef(tls *libc.TLS, p uintptr) { /* sqlite3.c:50902:21: */ (*PgHdr)(unsafe.Pointer(p)).FnRef++ (*PCache)(unsafe.Pointer((*PgHdr)(unsafe.Pointer(p)).FpCache)).FnRefSum++ @@ -28120,7 +28130,7 @@ func Xsqlite3PcacheRef(tls *libc.TLS, p uintptr) { /* sqlite3.c:50892:21: */ // Drop a page from the cache. There must be exactly one reference to the // page. This function deletes that reference, so after it returns the // page pointed to by p is invalid. -func Xsqlite3PcacheDrop(tls *libc.TLS, p uintptr) { /* sqlite3.c:50904:21: */ +func Xsqlite3PcacheDrop(tls *libc.TLS, p uintptr) { /* sqlite3.c:50914:21: */ if int32((*PgHdr)(unsafe.Pointer(p)).Fflags)&PGHDR_DIRTY != 0 { pcacheManageDirtyList(tls, p, uint8(PCACHE_DIRTYLIST_REMOVE)) @@ -28133,7 +28143,7 @@ func Xsqlite3PcacheDrop(tls *libc.TLS, p uintptr) { /* sqlite3.c:50904:21: */ // Make sure the page is marked as dirty. If it isn't dirty already, // make it so. -func Xsqlite3PcacheMakeDirty(tls *libc.TLS, p uintptr) { /* sqlite3.c:50918:21: */ +func Xsqlite3PcacheMakeDirty(tls *libc.TLS, p uintptr) { /* sqlite3.c:50928:21: */ if int32((*PgHdr)(unsafe.Pointer(p)).Fflags)&(PGHDR_CLEAN|PGHDR_DONT_WRITE) != 0 { //OPTIMIZATION-IF-FALSE *(*U16)(unsafe.Pointer(p + 28)) &= libc.Uint16FromInt32(libc.CplInt32(PGHDR_DONT_WRITE)) @@ -28148,7 +28158,7 @@ func Xsqlite3PcacheMakeDirty(tls *libc.TLS, p uintptr) { /* sqlite3.c:50918:21: // Make sure the page is marked as clean. If it isn't clean already, // make it so. -func Xsqlite3PcacheMakeClean(tls *libc.TLS, p uintptr) { /* sqlite3.c:50938:21: */ +func Xsqlite3PcacheMakeClean(tls *libc.TLS, p uintptr) { /* sqlite3.c:50948:21: */ pcacheManageDirtyList(tls, p, uint8(PCACHE_DIRTYLIST_REMOVE)) *(*U16)(unsafe.Pointer(p + 28)) &= libc.Uint16FromInt32(libc.CplInt32(PGHDR_DIRTY | PGHDR_NEED_SYNC | PGHDR_WRITEABLE)) @@ -28160,7 +28170,7 @@ func Xsqlite3PcacheMakeClean(tls *libc.TLS, p uintptr) { /* sqlite3.c:50938:21: } // Make every page in the cache clean. -func Xsqlite3PcacheCleanAll(tls *libc.TLS, pCache uintptr) { /* sqlite3.c:50955:21: */ +func Xsqlite3PcacheCleanAll(tls *libc.TLS, pCache uintptr) { /* sqlite3.c:50965:21: */ var p uintptr for libc.AssignUintptr(&p, (*PCache)(unsafe.Pointer(pCache)).FpDirty) != uintptr(0) { @@ -28169,7 +28179,7 @@ func Xsqlite3PcacheCleanAll(tls *libc.TLS, pCache uintptr) { /* sqlite3.c:50955: } // Clear the PGHDR_NEED_SYNC and PGHDR_WRITEABLE flag from all dirty pages. -func Xsqlite3PcacheClearWritable(tls *libc.TLS, pCache uintptr) { /* sqlite3.c:50966:21: */ +func Xsqlite3PcacheClearWritable(tls *libc.TLS, pCache uintptr) { /* sqlite3.c:50976:21: */ var p uintptr for p = (*PCache)(unsafe.Pointer(pCache)).FpDirty; p != 0; p = (*PgHdr)(unsafe.Pointer(p)).FpDirtyNext { @@ -28179,7 +28189,7 @@ func Xsqlite3PcacheClearWritable(tls *libc.TLS, pCache uintptr) { /* sqlite3.c:5 } // Clear the PGHDR_NEED_SYNC flag from all dirty pages. -func Xsqlite3PcacheClearSyncFlags(tls *libc.TLS, pCache uintptr) { /* sqlite3.c:50978:21: */ +func Xsqlite3PcacheClearSyncFlags(tls *libc.TLS, pCache uintptr) { /* sqlite3.c:50988:21: */ var p uintptr for p = (*PCache)(unsafe.Pointer(pCache)).FpDirty; p != 0; p = (*PgHdr)(unsafe.Pointer(p)).FpDirtyNext { *(*U16)(unsafe.Pointer(p + 28)) &= libc.Uint16FromInt32(libc.CplInt32(PGHDR_NEED_SYNC)) @@ -28188,7 +28198,7 @@ func Xsqlite3PcacheClearSyncFlags(tls *libc.TLS, pCache uintptr) { /* sqlite3.c: } // Change the page number of page p to newPgno. -func Xsqlite3PcacheMove(tls *libc.TLS, p uintptr, newPgno Pgno) { /* sqlite3.c:50989:21: */ +func Xsqlite3PcacheMove(tls *libc.TLS, p uintptr, newPgno Pgno) { /* sqlite3.c:50999:21: */ var pCache uintptr = (*PgHdr)(unsafe.Pointer(p)).FpCache (*struct { @@ -28207,7 +28217,7 @@ func Xsqlite3PcacheMove(tls *libc.TLS, p uintptr, newPgno Pgno) { /* sqlite3.c:5 // If there is a reference to page 1 and the pgno parameter passed to this // function is 0, then the data area associated with page 1 is zeroed, but // the page object is not dropped. -func Xsqlite3PcacheTruncate(tls *libc.TLS, pCache uintptr, pgno Pgno) { /* sqlite3.c:51011:21: */ +func Xsqlite3PcacheTruncate(tls *libc.TLS, pCache uintptr, pgno Pgno) { /* sqlite3.c:51021:21: */ if (*PCache)(unsafe.Pointer(pCache)).FpCache != 0 { var p uintptr var pNext uintptr @@ -28241,19 +28251,19 @@ func Xsqlite3PcacheTruncate(tls *libc.TLS, pCache uintptr, pgno Pgno) { /* sqlit } // Close a cache. -func Xsqlite3PcacheClose(tls *libc.TLS, pCache uintptr) { /* sqlite3.c:51044:21: */ +func Xsqlite3PcacheClose(tls *libc.TLS, pCache uintptr) { /* sqlite3.c:51054:21: */ (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{Xsqlite3Config.Fpcache2.FxDestroy})).f(tls, (*PCache)(unsafe.Pointer(pCache)).FpCache) } // Discard the contents of the cache. -func Xsqlite3PcacheClear(tls *libc.TLS, pCache uintptr) { /* sqlite3.c:51053:21: */ +func Xsqlite3PcacheClear(tls *libc.TLS, pCache uintptr) { /* sqlite3.c:51063:21: */ Xsqlite3PcacheTruncate(tls, pCache, uint32(0)) } // Merge two lists of pages connected by pDirty and in pgno order. // Do not bother fixing the pDirtyPrev pointers. -func pcacheMergeDirtyList(tls *libc.TLS, pA uintptr, pB uintptr) uintptr { /* sqlite3.c:51061:14: */ +func pcacheMergeDirtyList(tls *libc.TLS, pA uintptr, pB uintptr) uintptr { /* sqlite3.c:51071:14: */ bp := tls.Alloc(40) defer tls.Free(40) @@ -28292,7 +28302,7 @@ func pcacheMergeDirtyList(tls *libc.TLS, pA uintptr, pB uintptr) uintptr { /* sq // there cannot be more than 31 buckets required by the merge sorter. // One extra bucket is added to catch overflow in case something // ever changes to make the previous sentence incorrect. -func pcacheSortDirtyList(tls *libc.TLS, pIn uintptr) uintptr { /* sqlite3.c:51098:14: */ +func pcacheSortDirtyList(tls *libc.TLS, pIn uintptr) uintptr { /* sqlite3.c:51108:14: */ bp := tls.Alloc(128) defer tls.Free(128) @@ -28335,7 +28345,7 @@ func pcacheSortDirtyList(tls *libc.TLS, pIn uintptr) uintptr { /* sqlite3.c:5109 } // Return a list of all dirty pages in the cache, sorted by page number. -func Xsqlite3PcacheDirtyList(tls *libc.TLS, pCache uintptr) uintptr { /* sqlite3.c:51133:22: */ +func Xsqlite3PcacheDirtyList(tls *libc.TLS, pCache uintptr) uintptr { /* sqlite3.c:51143:22: */ var p uintptr for p = (*PCache)(unsafe.Pointer(pCache)).FpDirty; p != 0; p = (*PgHdr)(unsafe.Pointer(p)).FpDirtyNext { (*PgHdr)(unsafe.Pointer(p)).FpDirty = (*PgHdr)(unsafe.Pointer(p)).FpDirtyNext @@ -28347,17 +28357,17 @@ func Xsqlite3PcacheDirtyList(tls *libc.TLS, pCache uintptr) uintptr { /* sqlite3 // // This is not the total number of pages referenced, but the sum of the // reference count for all pages. -func Xsqlite3PcacheRefCount(tls *libc.TLS, pCache uintptr) int32 { /* sqlite3.c:51147:20: */ +func Xsqlite3PcacheRefCount(tls *libc.TLS, pCache uintptr) int32 { /* sqlite3.c:51157:20: */ return (*PCache)(unsafe.Pointer(pCache)).FnRefSum } // Return the number of references to the page supplied as an argument. -func Xsqlite3PcachePageRefcount(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:51154:20: */ +func Xsqlite3PcachePageRefcount(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:51164:20: */ return int32((*PgHdr)(unsafe.Pointer(p)).FnRef) } // Return the total number of pages in the cache. -func Xsqlite3PcachePagecount(tls *libc.TLS, pCache uintptr) int32 { /* sqlite3.c:51161:20: */ +func Xsqlite3PcachePagecount(tls *libc.TLS, pCache uintptr) int32 { /* sqlite3.c:51171:20: */ return (*struct { f func(*libc.TLS, uintptr) int32 @@ -28365,7 +28375,7 @@ func Xsqlite3PcachePagecount(tls *libc.TLS, pCache uintptr) int32 { /* sqlite3.c } // Set the suggested cache-size value. -func Xsqlite3PcacheSetCachesize(tls *libc.TLS, pCache uintptr, mxPage int32) { /* sqlite3.c:51178:21: */ +func Xsqlite3PcacheSetCachesize(tls *libc.TLS, pCache uintptr, mxPage int32) { /* sqlite3.c:51188:21: */ (*PCache)(unsafe.Pointer(pCache)).FszCache = mxPage (*struct { @@ -28377,7 +28387,7 @@ func Xsqlite3PcacheSetCachesize(tls *libc.TLS, pCache uintptr, mxPage int32) { / // Set the suggested cache-spill value. Make no changes if if the // argument is zero. Return the effective cache-spill size, which will // be the larger of the szSpill and szCache. -func Xsqlite3PcacheSetSpillsize(tls *libc.TLS, p uintptr, mxPage int32) int32 { /* sqlite3.c:51190:20: */ +func Xsqlite3PcacheSetSpillsize(tls *libc.TLS, p uintptr, mxPage int32) int32 { /* sqlite3.c:51200:20: */ var res int32 if mxPage != 0 { @@ -28394,20 +28404,20 @@ func Xsqlite3PcacheSetSpillsize(tls *libc.TLS, p uintptr, mxPage int32) int32 { } // Free up as much memory as possible from the page cache. -func Xsqlite3PcacheShrink(tls *libc.TLS, pCache uintptr) { /* sqlite3.c:51207:21: */ +func Xsqlite3PcacheShrink(tls *libc.TLS, pCache uintptr) { /* sqlite3.c:51217:21: */ (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{Xsqlite3Config.Fpcache2.FxShrink})).f(tls, (*PCache)(unsafe.Pointer(pCache)).FpCache) } // Return the size of the header added by this middleware layer // in the page-cache hierarchy. -func Xsqlite3HeaderSizePcache(tls *libc.TLS) int32 { /* sqlite3.c:51216:20: */ +func Xsqlite3HeaderSizePcache(tls *libc.TLS) int32 { /* sqlite3.c:51226:20: */ return int32((uint32(unsafe.Sizeof(PgHdr{})) + uint32(7)) & libc.Uint32FromInt32(libc.CplInt32(7))) } // Return the number of dirty pages currently in the cache, as a percentage // of the configured cache size. -func Xsqlite3PCachePercentDirty(tls *libc.TLS, pCache uintptr) int32 { /* sqlite3.c:51222:20: */ +func Xsqlite3PCachePercentDirty(tls *libc.TLS, pCache uintptr) int32 { /* sqlite3.c:51232:20: */ var pDirty uintptr var nDirty int32 = 0 var nCache int32 = numberOfCachePages(tls, pCache) @@ -28522,7 +28532,7 @@ type PCache11 = struct { FapHash uintptr FpFree uintptr FpBulk uintptr -} /* sqlite3.c:51339:9 */ +} /* sqlite3.c:51349:9 */ //************* End of pcache.c ********************************************* //************* Begin file pcache1.c **************************************** @@ -28608,7 +28618,7 @@ type PCache11 = struct { // common workloads. // #include "sqliteInt.h" -type PCache1 = PCache11 /* sqlite3.c:51339:24 */ +type PCache1 = PCache11 /* sqlite3.c:51349:24 */ type PgHdr11 = struct { Fpage Sqlite3_pcache_page FiKey uint32 @@ -28618,12 +28628,12 @@ type PgHdr11 = struct { FpCache uintptr FpLruNext uintptr FpLruPrev uintptr -} /* sqlite3.c:51339:9 */ +} /* sqlite3.c:51349:9 */ -type PgHdr1 = PgHdr11 /* sqlite3.c:51340:23 */ -type PgFreeslot1 = struct{ FpNext uintptr } /* sqlite3.c:51341:9 */ +type PgHdr1 = PgHdr11 /* sqlite3.c:51350:23 */ +type PgFreeslot1 = struct{ FpNext uintptr } /* sqlite3.c:51351:9 */ -type PgFreeslot = PgFreeslot1 /* sqlite3.c:51341:27 */ +type PgFreeslot = PgFreeslot1 /* sqlite3.c:51351:27 */ type PGroup1 = struct { Fmutex uintptr FnMaxPage uint32 @@ -28631,9 +28641,9 @@ type PGroup1 = struct { FmxPinned uint32 FnPurgeable uint32 Flru PgHdr1 -} /* sqlite3.c:51339:9 */ +} /* sqlite3.c:51349:9 */ -type PGroup = PGroup1 /* sqlite3.c:51342:23 */ +type PGroup = PGroup1 /* sqlite3.c:51352:23 */ // Global data used by this cache. type PCacheGlobal = struct { @@ -28650,10 +28660,10 @@ type PCacheGlobal = struct { FpFree uintptr FnFreeSlot int32 FbUnderPressure int32 -} /* sqlite3.c:51459:19 */ +} /* sqlite3.c:51469:19 */ // Global data used by this cache. -var pcache1_g PCacheGlobal /* sqlite3.c:51483:3: */ +var pcache1_g PCacheGlobal /* sqlite3.c:51493:3: */ // All code in this file should access the global structure above via the // alias "pcache1". This ensures that the WSD emulation is used when @@ -28671,7 +28681,7 @@ var pcache1_g PCacheGlobal /* sqlite3.c:51483:3: */ // // This routine is called from sqlite3_initialize() and so it is guaranteed // to be serialized already. There is no need for further mutexing. -func Xsqlite3PCacheBufferSetup(tls *libc.TLS, pBuf uintptr, sz int32, n int32) { /* sqlite3.c:51518:21: */ +func Xsqlite3PCacheBufferSetup(tls *libc.TLS, pBuf uintptr, sz int32, n int32) { /* sqlite3.c:51528:21: */ if pcache1_g.FisInit != 0 { var p uintptr if pBuf == uintptr(0) { @@ -28704,7 +28714,7 @@ func Xsqlite3PCacheBufferSetup(tls *libc.TLS, pBuf uintptr, sz int32, n int32) { // Try to initialize the pCache->pFree and pCache->pBulk fields. Return // true if pCache->pFree ends up containing one or more free pages. -func pcache1InitBulk(tls *libc.TLS, pCache uintptr) int32 { /* sqlite3.c:51544:12: */ +func pcache1InitBulk(tls *libc.TLS, pCache uintptr) int32 { /* sqlite3.c:51554:12: */ var szBulk I64 var zBulk uintptr if pcache1_g.FnInitPage == 0 { @@ -28749,7 +28759,7 @@ func pcache1InitBulk(tls *libc.TLS, pCache uintptr) int32 { /* sqlite3.c:51544:1 // // Multiple threads can run this routine at the same time. Global variables // in pcache1 need to be protected via mutex. -func pcache1Alloc(tls *libc.TLS, nByte int32) uintptr { /* sqlite3.c:51587:13: */ +func pcache1Alloc(tls *libc.TLS, nByte int32) uintptr { /* sqlite3.c:51597:13: */ var p uintptr = uintptr(0) if nByte <= pcache1_g.FszSlot { @@ -28782,7 +28792,7 @@ func pcache1Alloc(tls *libc.TLS, nByte int32) uintptr { /* sqlite3.c:51587:13: * } // Free an allocated buffer obtained from pcache1Alloc(). -func pcache1Free(tls *libc.TLS, p uintptr) { /* sqlite3.c:51625:13: */ +func pcache1Free(tls *libc.TLS, p uintptr) { /* sqlite3.c:51635:13: */ if p == uintptr(0) { return } @@ -28812,7 +28822,7 @@ func pcache1Free(tls *libc.TLS, p uintptr) { /* sqlite3.c:51625:13: */ } // Return the size of a pcache allocation -func pcache1MemSize(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:51658:12: */ +func pcache1MemSize(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:51668:12: */ if p >= pcache1_g.FpStart && p < pcache1_g.FpEnd { return pcache1_g.FszSlot } else { @@ -28826,7 +28836,7 @@ func pcache1MemSize(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:51658:12: */ } // Allocate a new page object initially associated with cache pCache. -func pcache1AllocPage(tls *libc.TLS, pCache uintptr, benignMalloc int32) uintptr { /* sqlite3.c:51675:15: */ +func pcache1AllocPage(tls *libc.TLS, pCache uintptr, benignMalloc int32) uintptr { /* sqlite3.c:51685:15: */ var p uintptr = uintptr(0) var pPg uintptr @@ -28864,7 +28874,7 @@ func pcache1AllocPage(tls *libc.TLS, pCache uintptr, benignMalloc int32) uintptr } // Free a page object allocated by pcache1AllocPage(). -func pcache1FreePage(tls *libc.TLS, p uintptr) { /* sqlite3.c:51727:13: */ +func pcache1FreePage(tls *libc.TLS, p uintptr) { /* sqlite3.c:51737:13: */ var pCache uintptr pCache = (*PgHdr1)(unsafe.Pointer(p)).FpCache @@ -28881,13 +28891,13 @@ func pcache1FreePage(tls *libc.TLS, p uintptr) { /* sqlite3.c:51727:13: */ // Malloc function used by SQLite to obtain space from the buffer configured // using sqlite3_config(SQLITE_CONFIG_PAGECACHE) option. If no such buffer // exists, this function falls back to sqlite3Malloc(). -func Xsqlite3PageMalloc(tls *libc.TLS, sz int32) uintptr { /* sqlite3.c:51749:21: */ +func Xsqlite3PageMalloc(tls *libc.TLS, sz int32) uintptr { /* sqlite3.c:51759:21: */ // These allocations are never very large return pcache1Alloc(tls, sz) } // Free an allocated buffer obtained from sqlite3PageMalloc(). -func Xsqlite3PageFree(tls *libc.TLS, p uintptr) { /* sqlite3.c:51757:21: */ +func Xsqlite3PageFree(tls *libc.TLS, p uintptr) { /* sqlite3.c:51767:21: */ pcache1Free(tls, p) } @@ -28905,7 +28915,7 @@ func Xsqlite3PageFree(tls *libc.TLS, p uintptr) { /* sqlite3.c:51757:21: */ // under memory pressure, then again it is desirable to avoid // allocating a new page cache entry in order to avoid stressing // the heap even further. -func pcache1UnderMemoryPressure(tls *libc.TLS, pCache uintptr) int32 { /* sqlite3.c:51778:12: */ +func pcache1UnderMemoryPressure(tls *libc.TLS, pCache uintptr) int32 { /* sqlite3.c:51788:12: */ if pcache1_g.FnSlot != 0 && (*PCache1)(unsafe.Pointer(pCache)).FszPage+(*PCache1)(unsafe.Pointer(pCache)).FszExtra <= pcache1_g.FszSlot { return pcache1_g.FbUnderPressure } else { @@ -28921,7 +28931,7 @@ func pcache1UnderMemoryPressure(tls *libc.TLS, pCache uintptr) int32 { /* sqlite // as the first argument. // // The PCache mutex must be held when this function is called. -func pcache1ResizeHash(tls *libc.TLS, p uintptr) { /* sqlite3.c:51795:13: */ +func pcache1ResizeHash(tls *libc.TLS, p uintptr) { /* sqlite3.c:51805:13: */ var apNew uintptr var nNew uint32 var i uint32 @@ -28962,7 +28972,7 @@ func pcache1ResizeHash(tls *libc.TLS, p uintptr) { /* sqlite3.c:51795:13: */ // LRU list, then this function is a no-op. // // The PGroup mutex must be held when this function is called. -func pcache1PinPage(tls *libc.TLS, pPage uintptr) uintptr { /* sqlite3.c:51836:15: */ +func pcache1PinPage(tls *libc.TLS, pPage uintptr) uintptr { /* sqlite3.c:51846:15: */ (*PgHdr1)(unsafe.Pointer((*PgHdr1)(unsafe.Pointer(pPage)).FpLruPrev)).FpLruNext = (*PgHdr1)(unsafe.Pointer(pPage)).FpLruNext (*PgHdr1)(unsafe.Pointer((*PgHdr1)(unsafe.Pointer(pPage)).FpLruNext)).FpLruPrev = (*PgHdr1)(unsafe.Pointer(pPage)).FpLruPrev @@ -28979,7 +28989,7 @@ func pcache1PinPage(tls *libc.TLS, pPage uintptr) uintptr { /* sqlite3.c:51836:1 // Also free the page if freePage is true. // // The PGroup mutex must be held when this function is called. -func pcache1RemoveFromHash(tls *libc.TLS, pPage uintptr, freeFlag int32) { /* sqlite3.c:51861:13: */ +func pcache1RemoveFromHash(tls *libc.TLS, pPage uintptr, freeFlag int32) { /* sqlite3.c:51871:13: */ var h uint32 var pCache uintptr = (*PgHdr1)(unsafe.Pointer(pPage)).FpCache var pp uintptr @@ -28997,7 +29007,7 @@ func pcache1RemoveFromHash(tls *libc.TLS, pPage uintptr, freeFlag int32) { /* sq // If there are currently more than nMaxPage pages allocated, try // to recycle pages to reduce the number allocated to nMaxPage. -func pcache1EnforceMaxPage(tls *libc.TLS, pCache uintptr) { /* sqlite3.c:51879:13: */ +func pcache1EnforceMaxPage(tls *libc.TLS, pCache uintptr) { /* sqlite3.c:51889:13: */ var pGroup uintptr = (*PCache1)(unsafe.Pointer(pCache)).FpGroup var p uintptr @@ -29018,7 +29028,7 @@ func pcache1EnforceMaxPage(tls *libc.TLS, pCache uintptr) { /* sqlite3.c:51879:1 // criteria are unpinned before they are discarded. // // The PCache mutex must be held when this function is called. -func pcache1TruncateUnsafe(tls *libc.TLS, pCache uintptr, iLimit uint32) { /* sqlite3.c:51904:13: */ +func pcache1TruncateUnsafe(tls *libc.TLS, pCache uintptr, iLimit uint32) { /* sqlite3.c:51914:13: */ var h uint32 var iStop uint32 @@ -29066,7 +29076,7 @@ func pcache1TruncateUnsafe(tls *libc.TLS, pCache uintptr, iLimit uint32) { /* sq //******* sqlite3_pcache Methods ********************************************* // Implementation of the sqlite3_pcache.xInit method. -func pcache1Init(tls *libc.TLS, NotUsed uintptr) int32 { /* sqlite3.c:51955:12: */ +func pcache1Init(tls *libc.TLS, NotUsed uintptr) int32 { /* sqlite3.c:51965:12: */ _ = NotUsed libc.Xmemset(tls, uintptr(unsafe.Pointer(&pcache1_g)), 0, uint32(unsafe.Sizeof(pcache1_g))) @@ -29104,7 +29114,7 @@ func pcache1Init(tls *libc.TLS, NotUsed uintptr) int32 { /* sqlite3.c:51955:12: // Implementation of the sqlite3_pcache.xShutdown method. // Note that the static mutex allocated in xInit does // not need to be freed. -func pcache1Shutdown(tls *libc.TLS, NotUsed uintptr) { /* sqlite3.c:52008:13: */ +func pcache1Shutdown(tls *libc.TLS, NotUsed uintptr) { /* sqlite3.c:52018:13: */ _ = NotUsed libc.Xmemset(tls, uintptr(unsafe.Pointer(&pcache1_g)), 0, uint32(unsafe.Sizeof(pcache1_g))) @@ -29113,7 +29123,7 @@ func pcache1Shutdown(tls *libc.TLS, NotUsed uintptr) { /* sqlite3.c:52008:13: */ // Implementation of the sqlite3_pcache.xCreate method. // // Allocate a new cache. -func pcache1Create(tls *libc.TLS, szPage int32, szExtra int32, bPurgeable int32) uintptr { /* sqlite3.c:52022:23: */ +func pcache1Create(tls *libc.TLS, szPage int32, szExtra int32, bPurgeable int32) uintptr { /* sqlite3.c:52032:23: */ var pCache uintptr // The newly created page cache var pGroup uintptr // The group the new page cache will belong to var sz int32 // Bytes of memory required to allocate the new cache @@ -29163,7 +29173,7 @@ func pcache1Create(tls *libc.TLS, szPage int32, szExtra int32, bPurgeable int32) // Implementation of the sqlite3_pcache.xCachesize method. // // Configure the cache_size limit for a cache. -func pcache1Cachesize(tls *libc.TLS, p uintptr, nMax int32) { /* sqlite3.c:52072:13: */ +func pcache1Cachesize(tls *libc.TLS, p uintptr, nMax int32) { /* sqlite3.c:52082:13: */ var pCache uintptr = p var n U32 @@ -29186,7 +29196,7 @@ func pcache1Cachesize(tls *libc.TLS, p uintptr, nMax int32) { /* sqlite3.c:52072 // Implementation of the sqlite3_pcache.xShrink method. // // Free up as much memory as possible. -func pcache1Shrink(tls *libc.TLS, p uintptr) { /* sqlite3.c:52097:13: */ +func pcache1Shrink(tls *libc.TLS, p uintptr) { /* sqlite3.c:52107:13: */ var pCache uintptr = p if (*PCache1)(unsafe.Pointer(pCache)).FbPurgeable != 0 { var pGroup uintptr = (*PCache1)(unsafe.Pointer(pCache)).FpGroup @@ -29201,7 +29211,7 @@ func pcache1Shrink(tls *libc.TLS, p uintptr) { /* sqlite3.c:52097:13: */ } // Implementation of the sqlite3_pcache.xPagecount method. -func pcache1Pagecount(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:52114:12: */ +func pcache1Pagecount(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:52124:12: */ var n int32 var pCache uintptr = p Xsqlite3_mutex_enter(tls, (*PGroup)(unsafe.Pointer((*PCache1)(unsafe.Pointer(pCache)).FpGroup)).Fmutex) @@ -29216,7 +29226,7 @@ func pcache1Pagecount(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:52114:12: * // This steps are broken out into a separate procedure because they are // usually not needed, and by avoiding the stack initialization required // for these steps, the main pcache1Fetch() procedure can run faster. -func pcache1FetchStage2(tls *libc.TLS, pCache uintptr, iKey uint32, createFlag int32) uintptr { /* sqlite3.c:52132:31: */ +func pcache1FetchStage2(tls *libc.TLS, pCache uintptr, iKey uint32, createFlag int32) uintptr { /* sqlite3.c:52142:31: */ var nPinned uint32 var pGroup uintptr = (*PCache1)(unsafe.Pointer(pCache)).FpGroup var pPage uintptr = uintptr(0) @@ -29334,7 +29344,7 @@ func pcache1FetchStage2(tls *libc.TLS, pCache uintptr, iKey uint32, createFlag i // the general case. pcache1FetchNoMutex() is a faster implementation for // the common case where pGroup->mutex is NULL. The pcache1Fetch() wrapper // invokes the appropriate routine. -func pcache1FetchNoMutex(tls *libc.TLS, p uintptr, iKey uint32, createFlag int32) uintptr { /* sqlite3.c:52260:15: */ +func pcache1FetchNoMutex(tls *libc.TLS, p uintptr, iKey uint32, createFlag int32) uintptr { /* sqlite3.c:52270:15: */ var pCache uintptr = p var pPage uintptr = uintptr(0) @@ -29363,7 +29373,7 @@ func pcache1FetchNoMutex(tls *libc.TLS, p uintptr, iKey uint32, createFlag int32 return uintptr(0) } -func pcache1FetchWithMutex(tls *libc.TLS, p uintptr, iKey uint32, createFlag int32) uintptr { /* sqlite3.c:52290:15: */ +func pcache1FetchWithMutex(tls *libc.TLS, p uintptr, iKey uint32, createFlag int32) uintptr { /* sqlite3.c:52300:15: */ var pCache uintptr = p var pPage uintptr @@ -29374,7 +29384,7 @@ func pcache1FetchWithMutex(tls *libc.TLS, p uintptr, iKey uint32, createFlag int return pPage } -func pcache1Fetch(tls *libc.TLS, p uintptr, iKey uint32, createFlag int32) uintptr { /* sqlite3.c:52305:28: */ +func pcache1Fetch(tls *libc.TLS, p uintptr, iKey uint32, createFlag int32) uintptr { /* sqlite3.c:52315:28: */ var pCache uintptr = p if (*PGroup)(unsafe.Pointer((*PCache1)(unsafe.Pointer(pCache)).FpGroup)).Fmutex != 0 { @@ -29388,7 +29398,7 @@ func pcache1Fetch(tls *libc.TLS, p uintptr, iKey uint32, createFlag int32) uintp // Implementation of the sqlite3_pcache.xUnpin method. // // Mark a page as unpinned (eligible for asynchronous recycling). -func pcache1Unpin(tls *libc.TLS, p uintptr, pPg uintptr, reuseUnlikely int32) { /* sqlite3.c:52336:13: */ +func pcache1Unpin(tls *libc.TLS, p uintptr, pPg uintptr, reuseUnlikely int32) { /* sqlite3.c:52346:13: */ var pCache uintptr = p var pPage uintptr = pPg var pGroup uintptr = (*PCache1)(unsafe.Pointer(pCache)).FpGroup @@ -29413,7 +29423,7 @@ func pcache1Unpin(tls *libc.TLS, p uintptr, pPg uintptr, reuseUnlikely int32) { } // Implementation of the sqlite3_pcache.xRekey method. -func pcache1Rekey(tls *libc.TLS, p uintptr, pPg uintptr, iOld uint32, iNew uint32) { /* sqlite3.c:52371:13: */ +func pcache1Rekey(tls *libc.TLS, p uintptr, pPg uintptr, iOld uint32, iNew uint32) { /* sqlite3.c:52381:13: */ var pCache uintptr = p var pPage uintptr = pPg var pp uintptr @@ -29444,7 +29454,7 @@ func pcache1Rekey(tls *libc.TLS, p uintptr, pPg uintptr, iOld uint32, iNew uint3 // Discard all unpinned pages in the cache with a page number equal to // or greater than parameter iLimit. Any pinned pages with a page number // equal to or greater than iLimit are implicitly unpinned. -func pcache1Truncate(tls *libc.TLS, p uintptr, iLimit uint32) { /* sqlite3.c:52411:13: */ +func pcache1Truncate(tls *libc.TLS, p uintptr, iLimit uint32) { /* sqlite3.c:52421:13: */ var pCache uintptr = p Xsqlite3_mutex_enter(tls, (*PGroup)(unsafe.Pointer((*PCache1)(unsafe.Pointer(pCache)).FpGroup)).Fmutex) if iLimit <= (*PCache1)(unsafe.Pointer(pCache)).FiMaxKey { @@ -29457,7 +29467,7 @@ func pcache1Truncate(tls *libc.TLS, p uintptr, iLimit uint32) { /* sqlite3.c:524 // Implementation of the sqlite3_pcache.xDestroy method. // // Destroy a cache allocated using pcache1Create(). -func pcache1Destroy(tls *libc.TLS, p uintptr) { /* sqlite3.c:52426:13: */ +func pcache1Destroy(tls *libc.TLS, p uintptr) { /* sqlite3.c:52436:13: */ var pCache uintptr = p var pGroup uintptr = (*PCache1)(unsafe.Pointer(pCache)).FpGroup @@ -29480,7 +29490,7 @@ func pcache1Destroy(tls *libc.TLS, p uintptr) { /* sqlite3.c:52426:13: */ // This function is called during initialization (sqlite3_initialize()) to // install the default pluggable cache module, assuming the user has not // already provided an alternative. -func Xsqlite3PCacheSetDefault(tls *libc.TLS) { /* sqlite3.c:52449:21: */ +func Xsqlite3PCacheSetDefault(tls *libc.TLS) { /* sqlite3.c:52459:21: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -29500,16 +29510,16 @@ var defaultMethods1 = Sqlite3_pcache_methods2{ FxTruncate: 0, // xTruncate FxDestroy: 0, // xDestroy FxShrink: 0, // xShrink -} /* sqlite3.c:52450:40 */ +} /* sqlite3.c:52460:40 */ // Return the size of the header on each page of this PCACHE implementation. -func Xsqlite3HeaderSizePcache1(tls *libc.TLS) int32 { /* sqlite3.c:52471:20: */ +func Xsqlite3HeaderSizePcache1(tls *libc.TLS) int32 { /* sqlite3.c:52481:20: */ return int32((uint32(unsafe.Sizeof(PgHdr1{})) + uint32(7)) & libc.Uint32FromInt32(libc.CplInt32(7))) } // Return the global mutex used by this PCACHE implementation. The // sqlite3_status() routine needs access to this mutex. -func Xsqlite3Pcache1Mutex(tls *libc.TLS) uintptr { /* sqlite3.c:52477:30: */ +func Xsqlite3Pcache1Mutex(tls *libc.TLS) uintptr { /* sqlite3.c:52487:30: */ return pcache1_g.Fmutex } @@ -29520,7 +29530,7 @@ func Xsqlite3Pcache1Mutex(tls *libc.TLS) uintptr { /* sqlite3.c:52477:30: */ // nReq is the number of bytes of memory required. Once this much has // been released, the function returns. The return value is the total number // of bytes of memory released. -func Xsqlite3PcacheReleaseMemory(tls *libc.TLS, nReq int32) int32 { /* sqlite3.c:52491:20: */ +func Xsqlite3PcacheReleaseMemory(tls *libc.TLS, nReq int32) int32 { /* sqlite3.c:52501:20: */ var nFree int32 = 0 if Xsqlite3Config.FpPage == uintptr(0) { @@ -29637,7 +29647,7 @@ type RowSetChunk = struct { // Allocate a RowSet object. Return NULL if a memory allocation // error occurs. -func Xsqlite3RowSetInit(tls *libc.TLS, db uintptr) uintptr { /* sqlite3.c:52671:23: */ +func Xsqlite3RowSetInit(tls *libc.TLS, db uintptr) uintptr { /* sqlite3.c:52681:23: */ var p uintptr = Xsqlite3DbMallocRawNN(tls, db, uint64(unsafe.Sizeof(RowSet{}))) if p != 0 { var N int32 = Xsqlite3DbMallocSize(tls, db, p) @@ -29657,7 +29667,7 @@ func Xsqlite3RowSetInit(tls *libc.TLS, db uintptr) uintptr { /* sqlite3.c:52671: // Deallocate all chunks from a RowSet. This frees all memory that // the RowSet has allocated over its lifetime. This routine is // the destructor for the RowSet. -func Xsqlite3RowSetClear(tls *libc.TLS, pArg uintptr) { /* sqlite3.c:52693:21: */ +func Xsqlite3RowSetClear(tls *libc.TLS, pArg uintptr) { /* sqlite3.c:52703:21: */ var p uintptr = pArg var pChunk uintptr var pNextChunk uintptr @@ -29676,7 +29686,7 @@ func Xsqlite3RowSetClear(tls *libc.TLS, pArg uintptr) { /* sqlite3.c:52693:21: * // Deallocate all chunks from a RowSet. This frees all memory that // the RowSet has allocated over its lifetime. This routine is // the destructor for the RowSet. -func Xsqlite3RowSetDelete(tls *libc.TLS, pArg uintptr) { /* sqlite3.c:52713:21: */ +func Xsqlite3RowSetDelete(tls *libc.TLS, pArg uintptr) { /* sqlite3.c:52723:21: */ Xsqlite3RowSetClear(tls, pArg) Xsqlite3DbFree(tls, (*RowSet)(unsafe.Pointer(pArg)).Fdb, pArg) } @@ -29687,7 +29697,7 @@ func Xsqlite3RowSetDelete(tls *libc.TLS, pArg uintptr) { /* sqlite3.c:52713:21: // // In an OOM situation, the RowSet.db->mallocFailed flag is set and this // routine returns NULL. -func rowSetEntryAlloc(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:52726:27: */ +func rowSetEntryAlloc(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:52736:27: */ if int32((*RowSet)(unsafe.Pointer(p)).FnFresh) == 0 { //OPTIMIZATION-IF-FALSE // We could allocate a fresh RowSetEntry each time one is needed, but it @@ -29710,7 +29720,7 @@ func rowSetEntryAlloc(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:52726:27: // // The mallocFailed flag of the database connection is set if a // memory allocation fails. -func Xsqlite3RowSetInsert(tls *libc.TLS, p uintptr, rowid I64) { /* sqlite3.c:52751:21: */ +func Xsqlite3RowSetInsert(tls *libc.TLS, p uintptr, rowid I64) { /* sqlite3.c:52761:21: */ var pEntry uintptr // The new entry var pLast uintptr // The last prior entry @@ -29740,7 +29750,7 @@ func Xsqlite3RowSetInsert(tls *libc.TLS, p uintptr, rowid I64) { /* sqlite3.c:52 // // The input lists are connected via pRight pointers and are // assumed to each already be in sorted order. -func rowSetEntryMerge(tls *libc.TLS, pA uintptr, pB uintptr) uintptr { /* sqlite3.c:52782:27: */ +func rowSetEntryMerge(tls *libc.TLS, pA uintptr, pB uintptr) uintptr { /* sqlite3.c:52792:27: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -29775,7 +29785,7 @@ func rowSetEntryMerge(tls *libc.TLS, pA uintptr, pB uintptr) uintptr { /* sqlite // Sort all elements on the list of RowSetEntry objects into order of // increasing v. -func rowSetEntrySort(tls *libc.TLS, pIn uintptr) uintptr { /* sqlite3.c:52817:27: */ +func rowSetEntrySort(tls *libc.TLS, pIn uintptr) uintptr { /* sqlite3.c:52827:27: */ bp := tls.Alloc(160) defer tls.Free(160) @@ -29811,7 +29821,7 @@ func rowSetEntrySort(tls *libc.TLS, pIn uintptr) uintptr { /* sqlite3.c:52817:27 // The input, pIn, is a binary tree (or subtree) of RowSetEntry objects. // Convert this tree into a linked list connected by the pRight pointers // and return pointers to the first and last elements of the new list. -func rowSetTreeToList(tls *libc.TLS, pIn uintptr, ppFirst uintptr, ppLast uintptr) { /* sqlite3.c:52846:13: */ +func rowSetTreeToList(tls *libc.TLS, pIn uintptr, ppFirst uintptr, ppLast uintptr) { /* sqlite3.c:52856:13: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -29842,7 +29852,7 @@ func rowSetTreeToList(tls *libc.TLS, pIn uintptr, ppFirst uintptr, ppLast uintpt // and leave *ppList set to NULL. // // Return a pointer to the root of the constructed binary tree. -func rowSetNDeepTree(tls *libc.TLS, ppList uintptr, iDepth int32) uintptr { /* sqlite3.c:52881:27: */ +func rowSetNDeepTree(tls *libc.TLS, ppList uintptr, iDepth int32) uintptr { /* sqlite3.c:52891:27: */ var p uintptr // Root of the new tree var pLeft uintptr // Left subtree if *(*uintptr)(unsafe.Pointer(ppList)) == uintptr(0) { //OPTIMIZATION-IF-TRUE @@ -29873,7 +29883,7 @@ func rowSetNDeepTree(tls *libc.TLS, ppList uintptr, iDepth int32) uintptr { /* s // Convert a sorted list of elements into a binary tree. Make the tree // as deep as it needs to be in order to contain the entire list. -func rowSetListToTree(tls *libc.TLS, pList uintptr) uintptr { /* sqlite3.c:52917:27: */ +func rowSetListToTree(tls *libc.TLS, pList uintptr) uintptr { /* sqlite3.c:52927:27: */ bp := tls.Alloc(4) defer tls.Free(4) *(*uintptr)(unsafe.Pointer(bp)) = pList @@ -29906,7 +29916,7 @@ func rowSetListToTree(tls *libc.TLS, pList uintptr) uintptr { /* sqlite3.c:52917 // been used. Older versions of RowSet allowed that, but as the // capability was not used by the code generator, it was removed // for code economy. -func Xsqlite3RowSetNext(tls *libc.TLS, p uintptr, pRowid uintptr) int32 { /* sqlite3.c:52949:20: */ +func Xsqlite3RowSetNext(tls *libc.TLS, p uintptr, pRowid uintptr) int32 { /* sqlite3.c:52959:20: */ // Cannot be used with sqlite3RowSetText() @@ -29939,7 +29949,7 @@ func Xsqlite3RowSetNext(tls *libc.TLS, p uintptr, pRowid uintptr) int32 { /* sql // If this is the first test of a new batch and if there exist entries // on pRowSet->pEntry, then sort those entries into the forest at // pRowSet->pForest so that they can be tested. -func Xsqlite3RowSetTest(tls *libc.TLS, pRowSet uintptr, iBatch int32, iRowid Sqlite3_int64) int32 { /* sqlite3.c:52983:20: */ +func Xsqlite3RowSetTest(tls *libc.TLS, pRowSet uintptr, iBatch int32, iRowid Sqlite3_int64) int32 { /* sqlite3.c:52993:20: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -30122,7 +30132,7 @@ type Wal1 = struct { // Connection to a write-ahead log (WAL) file. // There is one object of this type for each pager. -type Wal = Wal1 /* sqlite3.c:53125:20 */ +type Wal = Wal1 /* sqlite3.c:53135:20 */ //************* End of wal.h ************************************************ //************* Continuing where we left off in pager.c ********************* @@ -30890,7 +30900,7 @@ type PagerSavepoint1 = struct { // immediately following the last journal record written into the main // journal before the journal-header. This is required during savepoint // rollback (see pagerPlaybackSavepoint()). -type PagerSavepoint = PagerSavepoint1 /* sqlite3.c:53636:31 */ +type PagerSavepoint = PagerSavepoint1 /* sqlite3.c:53646:31 */ // Indexes for use with Pager.aStat[]. The Pager.aStat[] array contains // the values accessed by passing SQLITE_DBSTATUS_CACHE_HIT, CACHE_MISS @@ -30923,11 +30933,11 @@ type PagerSavepoint = PagerSavepoint1 /* sqlite3.c:53636:31 */ // is different for every journal, we minimize that risk. var aJournalMagic = [8]uint8{ uint8(0xd9), uint8(0xd5), uint8(0x05), uint8(0xf9), uint8(0x20), uint8(0xa1), uint8(0x63), uint8(0xd7), -} /* sqlite3.c:53958:28 */ +} /* sqlite3.c:53968:28 */ // Set the Pager.xGet method for the appropriate routine used to fetch // content from the pager. -func setGetterMethod(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:54251:13: */ +func setGetterMethod(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:54261:13: */ if (*Pager)(unsafe.Pointer(pPager)).FerrCode != 0 { (*Pager)(unsafe.Pointer(pPager)).FxGet = *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, Pgno, uintptr, int32) int32 @@ -30950,7 +30960,7 @@ func setGetterMethod(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:54251:13: */ // * The page-number is less than or equal to PagerSavepoint.nOrig, and // * The bit corresponding to the page-number is not set in // PagerSavepoint.pInSavepoint. -func subjRequiresPage(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:54272:12: */ +func subjRequiresPage(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:54282:12: */ var pPager uintptr = (*PgHdr)(unsafe.Pointer(pPg)).FpPager var p uintptr var pgno Pgno = (*PgHdr)(unsafe.Pointer(pPg)).Fpgno @@ -30972,7 +30982,7 @@ func subjRequiresPage(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:54272:12: // error code is something goes wrong. // // All values are stored on disk as big-endian. -func read32bits(tls *libc.TLS, fd uintptr, offset I64, pRes uintptr) int32 { /* sqlite3.c:54305:12: */ +func read32bits(tls *libc.TLS, fd uintptr, offset I64, pRes uintptr) int32 { /* sqlite3.c:54315:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -30989,7 +30999,7 @@ func read32bits(tls *libc.TLS, fd uintptr, offset I64, pRes uintptr) int32 { /* // Write a 32-bit integer into the given file descriptor. Return SQLITE_OK // on success or an error code is something goes wrong. -func write32bits(tls *libc.TLS, fd uintptr, offset I64, val U32) int32 { /* sqlite3.c:54324:12: */ +func write32bits(tls *libc.TLS, fd uintptr, offset I64, val U32) int32 { /* sqlite3.c:54334:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -31006,7 +31016,7 @@ func write32bits(tls *libc.TLS, fd uintptr, offset I64, val U32) int32 { /* sqli // Except, if Pager.eLock is set to UNKNOWN_LOCK when this function is // called, do not modify it. See the comment above the #define of // UNKNOWN_LOCK for an explanation of this. -func pagerUnlockDb(tls *libc.TLS, pPager uintptr, eLock int32) int32 { /* sqlite3.c:54339:12: */ +func pagerUnlockDb(tls *libc.TLS, pPager uintptr, eLock int32) int32 { /* sqlite3.c:54349:12: */ var rc int32 = SQLITE_OK if (*Sqlite3_file)(unsafe.Pointer((*Pager)(unsafe.Pointer(pPager)).Ffd)).FpMethods != uintptr(0) { @@ -31033,7 +31043,7 @@ func pagerUnlockDb(tls *libc.TLS, pPager uintptr, eLock int32) int32 { /* sqlite // called, do not modify it unless the new locking state is EXCLUSIVE_LOCK. // See the comment above the #define of UNKNOWN_LOCK for an explanation // of this. -func pagerLockDb(tls *libc.TLS, pPager uintptr, eLock int32) int32 { /* sqlite3.c:54367:12: */ +func pagerLockDb(tls *libc.TLS, pPager uintptr, eLock int32) int32 { /* sqlite3.c:54377:12: */ var rc int32 = SQLITE_OK if int32((*Pager)(unsafe.Pointer(pPager)).FeLock) < eLock || int32((*Pager)(unsafe.Pointer(pPager)).FeLock) == EXCLUSIVE_LOCK+1 { @@ -31067,7 +31077,7 @@ func pagerLockDb(tls *libc.TLS, pPager uintptr, eLock int32) int32 { /* sqlite3. // returned in this case. // // If neither optimization can be used, 0 is returned. -func jrnlBufferSize(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:54400:12: */ +func jrnlBufferSize(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:54410:12: */ _ = pPager @@ -31101,7 +31111,7 @@ func jrnlBufferSize(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:54400:12 // // If an error occurs while reading from the journal file, an SQLite // error code is returned. -func readSuperJournal(tls *libc.TLS, pJrnl uintptr, zSuper uintptr, nSuper U32) int32 { /* sqlite3.c:54505:12: */ +func readSuperJournal(tls *libc.TLS, pJrnl uintptr, zSuper uintptr, nSuper U32) int32 { /* sqlite3.c:54515:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -31160,7 +31170,7 @@ func readSuperJournal(tls *libc.TLS, pJrnl uintptr, zSuper uintptr, nSuper U32) // 100 512 // 2000 2048 // -func journalHdrOffset(tls *libc.TLS, pPager uintptr) I64 { /* sqlite3.c:54561:12: */ +func journalHdrOffset(tls *libc.TLS, pPager uintptr) I64 { /* sqlite3.c:54571:12: */ var offset I64 = int64(0) var c I64 = (*Pager)(unsafe.Pointer(pPager)).FjournalOff if c != 0 { @@ -31189,7 +31199,7 @@ func journalHdrOffset(tls *libc.TLS, pPager uintptr) I64 { /* sqlite3.c:54561:12 // // If an IO error occurs, abandon processing and return the IO error code. // Otherwise, return SQLITE_OK. -func zeroJournalHdr(tls *libc.TLS, pPager uintptr, doTruncate int32) int32 { /* sqlite3.c:54594:12: */ +func zeroJournalHdr(tls *libc.TLS, pPager uintptr, doTruncate int32) int32 { /* sqlite3.c:54604:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -31224,7 +31234,7 @@ func zeroJournalHdr(tls *libc.TLS, pPager uintptr, doTruncate int32) int32 { /* return rc } -var zeroHdr = [28]int8{0: int8(0)} /* sqlite3.c:54605:25 */ +var zeroHdr = [28]int8{0: int8(0)} /* sqlite3.c:54615:25 */ // The journal file must be open when this routine is called. A journal // header (JOURNAL_HDR_SZ bytes) is written into the journal file at the @@ -31239,7 +31249,7 @@ var zeroHdr = [28]int8{0: int8(0)} /* sqlite3.c:54605:25 */ // - 4 bytes: Database page size. // // Followed by (JOURNAL_HDR_SZ - 28) bytes of unused space. -func writeJournalHdr(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:54644:12: */ +func writeJournalHdr(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:54654:12: */ var rc int32 = SQLITE_OK // Return code var zHeader uintptr = (*Pager)(unsafe.Pointer(pPager)).FpTmpSpace // Temporary space used to build header var nHeader U32 = U32((*Pager)(unsafe.Pointer(pPager)).FpageSize) // Size of buffer pointed to by zHeader @@ -31349,7 +31359,7 @@ func writeJournalHdr(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:54644:1 // If the journal header file appears to be corrupted, SQLITE_DONE is // returned and *pNRec and *PDbSize are undefined. If JOURNAL_HDR_SZ bytes // cannot be read from the journal file an error code is returned. -func readJournalHdr(tls *libc.TLS, pPager uintptr, isHot int32, journalSize I64, pNRec uintptr, pDbSize uintptr) int32 { /* sqlite3.c:54762:12: */ +func readJournalHdr(tls *libc.TLS, pPager uintptr, isHot int32, journalSize I64, pNRec uintptr, pDbSize uintptr) int32 { /* sqlite3.c:54772:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -31459,7 +31469,7 @@ func readJournalHdr(tls *libc.TLS, pPager uintptr, isHot int32, journalSize I64, // // If zSuper is a NULL pointer (occurs for a single database transaction), // this call is a no-op. -func writeSuperJournal(tls *libc.TLS, pPager uintptr, zSuper uintptr) int32 { /* sqlite3.c:54887:12: */ +func writeSuperJournal(tls *libc.TLS, pPager uintptr, zSuper uintptr) int32 { /* sqlite3.c:54897:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -31519,21 +31529,21 @@ func writeSuperJournal(tls *libc.TLS, pPager uintptr, zSuper uintptr) int32 { /* } // Discard the entire contents of the in-memory page-cache. -func pager_reset(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:54955:13: */ +func pager_reset(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:54965:13: */ (*Pager)(unsafe.Pointer(pPager)).FiDataVersion++ Xsqlite3BackupRestart(tls, (*Pager)(unsafe.Pointer(pPager)).FpBackup) Xsqlite3PcacheClear(tls, (*Pager)(unsafe.Pointer(pPager)).FpPCache) } // Return the pPager->iDataVersion value -func Xsqlite3PagerDataVersion(tls *libc.TLS, pPager uintptr) U32 { /* sqlite3.c:54964:20: */ +func Xsqlite3PagerDataVersion(tls *libc.TLS, pPager uintptr) U32 { /* sqlite3.c:54974:20: */ return (*Pager)(unsafe.Pointer(pPager)).FiDataVersion } // Free all structures in the Pager.aSavepoint[] array and set both // Pager.aSavepoint and Pager.nSavepoint to zero. Close the sub-journal // if it is open and the pager is not in exclusive mode. -func releaseAllSavepoints(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:54973:13: */ +func releaseAllSavepoints(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:54983:13: */ var ii int32 // Iterator for looping through Pager.aSavepoint for ii = 0; ii < (*Pager)(unsafe.Pointer(pPager)).FnSavepoint; ii++ { Xsqlite3BitvecDestroy(tls, (*PagerSavepoint)(unsafe.Pointer((*Pager)(unsafe.Pointer(pPager)).FaSavepoint+uintptr(ii)*48)).FpInSavepoint) @@ -31550,7 +31560,7 @@ func releaseAllSavepoints(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:54973:13 // Set the bit number pgno in the PagerSavepoint.pInSavepoint // bitvecs of all open savepoints. Return SQLITE_OK if successful // or SQLITE_NOMEM if a malloc failure occurs. -func addToSavepointBitvecs(tls *libc.TLS, pPager uintptr, pgno Pgno) int32 { /* sqlite3.c:54992:12: */ +func addToSavepointBitvecs(tls *libc.TLS, pPager uintptr, pgno Pgno) int32 { /* sqlite3.c:55002:12: */ var ii int32 // Loop counter var rc int32 = SQLITE_OK // Result code @@ -31579,7 +31589,7 @@ func addToSavepointBitvecs(tls *libc.TLS, pPager uintptr, pgno Pgno) int32 { /* // or not, any journal file left in the file-system will be treated // as a hot-journal and rolled back the next time a read-transaction // is opened (by this or by any other connection). -func pager_unlock(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:55024:13: */ +func pager_unlock(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:55034:13: */ Xsqlite3BitvecDestroy(tls, (*Pager)(unsafe.Pointer(pPager)).FpInJournal) (*Pager)(unsafe.Pointer(pPager)).FpInJournal = uintptr(0) @@ -31671,7 +31681,7 @@ func pager_unlock(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:55024:13: */ // the persistent error occurred, then the rollback journal may need // to be replayed to restore the contents of the database file (as if // it were a hot-journal). -func pager_error(tls *libc.TLS, pPager uintptr, rc int32) int32 { /* sqlite3.c:55121:12: */ +func pager_error(tls *libc.TLS, pPager uintptr, rc int32) int32 { /* sqlite3.c:55131:12: */ var rc2 int32 = rc & 0xff if rc2 == SQLITE_FULL || rc2 == SQLITE_IOERR { @@ -31696,7 +31706,7 @@ func pager_error(tls *libc.TLS, pPager uintptr, rc int32) int32 { /* sqlite3.c:5 // file has been created already (via a spill on pagerStress()) and // when the number of dirty pages in memory exceeds 25% of the total // cache size. -func pagerFlushOnCommit(tls *libc.TLS, pPager uintptr, bCommit int32) int32 { /* sqlite3.c:55155:12: */ +func pagerFlushOnCommit(tls *libc.TLS, pPager uintptr, bCommit int32) int32 { /* sqlite3.c:55165:12: */ if int32((*Pager)(unsafe.Pointer(pPager)).FtempFile) == 0 { return 1 } @@ -31760,7 +31770,7 @@ func pagerFlushOnCommit(tls *libc.TLS, pPager uintptr, bCommit int32) int32 { /* // unlock operation fails as well, then the first error code related // to the first error encountered (the journal finalization one) is // returned. -func pager_end_transaction(tls *libc.TLS, pPager uintptr, hasSuper int32, bCommit int32) int32 { /* sqlite3.c:55215:12: */ +func pager_end_transaction(tls *libc.TLS, pPager uintptr, hasSuper int32, bCommit int32) int32 { /* sqlite3.c:55225:12: */ var rc int32 = SQLITE_OK // Error code from journal finalization operation var rc2 int32 = SQLITE_OK // Error code from db file unlock operation @@ -31887,7 +31897,7 @@ func pager_end_transaction(tls *libc.TLS, pPager uintptr, hasSuper int32, bCommi // malloc error occurs during a rollback, then this will itself cause // the pager to enter the ERROR state. Which will be cleared by the // call to pager_unlock(), as described above. -func pagerUnlockAndRollback(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:55362:13: */ +func pagerUnlockAndRollback(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:55372:13: */ if int32((*Pager)(unsafe.Pointer(pPager)).FeState) != PAGER_ERROR && int32((*Pager)(unsafe.Pointer(pPager)).FeState) != PAGER_OPEN { if int32((*Pager)(unsafe.Pointer(pPager)).FeState) >= PAGER_WRITER_LOCKED { @@ -31919,7 +31929,7 @@ func pagerUnlockAndRollback(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:55362: // It is much less likely that the two ends of the journal record will be // correct and the middle be corrupt. Thus, this "checksum" scheme, // though fast and simple, catches the mostly likely kind of corruption. -func pager_cksum(tls *libc.TLS, pPager uintptr, aData uintptr) U32 { /* sqlite3.c:55396:12: */ +func pager_cksum(tls *libc.TLS, pPager uintptr, aData uintptr) U32 { /* sqlite3.c:55406:12: */ var cksum U32 = (*Pager)(unsafe.Pointer(pPager)).FcksumInit // Checksum value to return var i int32 = int32((*Pager)(unsafe.Pointer(pPager)).FpageSize - int64(200)) // Loop counter for i > 0 { @@ -31964,7 +31974,7 @@ func pager_cksum(tls *libc.TLS, pPager uintptr, aData uintptr) U32 { /* sqlite3. // If this is a savepoint rollback, then memory may have to be dynamically // allocated by this function. If this is the case and an allocation fails, // SQLITE_NOMEM is returned. -func pager_playback_one_page(tls *libc.TLS, pPager uintptr, pOffset uintptr, pDone uintptr, isMainJrnl int32, isSavepnt int32) int32 { /* sqlite3.c:55443:12: */ +func pager_playback_one_page(tls *libc.TLS, pPager uintptr, pOffset uintptr, pDone uintptr, isMainJrnl int32, isSavepnt int32) int32 { /* sqlite3.c:55453:12: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -32198,7 +32208,7 @@ func pager_playback_one_page(tls *libc.TLS, pPager uintptr, pOffset uintptr, pDo // the entire contents of the super-journal file. This could be // a couple of kilobytes or so - potentially larger than the page // size. -func pager_delsuper(tls *libc.TLS, pPager uintptr, zSuper uintptr) int32 { /* sqlite3.c:55690:12: */ +func pager_delsuper(tls *libc.TLS, pPager uintptr, zSuper uintptr) int32 { /* sqlite3.c:55700:12: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -32364,7 +32374,7 @@ __14: // // If successful, return SQLITE_OK. If an IO error occurs while modifying // the database file, return the error code to the caller. -func pager_truncate(tls *libc.TLS, pPager uintptr, nPage Pgno) int32 { /* sqlite3.c:55808:12: */ +func pager_truncate(tls *libc.TLS, pPager uintptr, nPage Pgno) int32 { /* sqlite3.c:55818:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -32399,7 +32409,7 @@ func pager_truncate(tls *libc.TLS, pPager uintptr, nPage Pgno) int32 { /* sqlite // Return a sanitized version of the sector-size of OS file pFile. The // return value is guaranteed to lie between 32 and MAX_SECTOR_SIZE. -func Xsqlite3SectorSize(tls *libc.TLS, pFile uintptr) int32 { /* sqlite3.c:55844:20: */ +func Xsqlite3SectorSize(tls *libc.TLS, pFile uintptr) int32 { /* sqlite3.c:55854:20: */ var iRet int32 = Xsqlite3OsSectorSize(tls, pFile) if iRet < 32 { iRet = 512 @@ -32431,7 +32441,7 @@ func Xsqlite3SectorSize(tls *libc.TLS, pFile uintptr) int32 { /* sqlite3.c:55844 // (that is what POWERSAFE_OVERWRITE means), so we minimize the sector // size. For backwards compatibility of the rollback journal file format, // we cannot reduce the effective sector size below 512. -func setSectorSize(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:55878:13: */ +func setSectorSize(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:55888:13: */ if (*Pager)(unsafe.Pointer(pPager)).FtempFile != 0 || Xsqlite3OsDeviceCharacteristics(tls, (*Pager)(unsafe.Pointer(pPager)).Ffd)&SQLITE_IOCAP_POWERSAFE_OVERWRITE != 0 { @@ -32499,7 +32509,7 @@ func setSectorSize(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:55878:13: */ // If the journal really is hot, reset the pager cache prior rolling // back any content. If the journal is merely persistent, no reset is // needed. -func pager_playback(tls *libc.TLS, pPager uintptr, isHot int32) int32 { /* sqlite3.c:55951:12: */ +func pager_playback(tls *libc.TLS, pPager uintptr, isHot int32) int32 { /* sqlite3.c:55961:12: */ bp := tls.Alloc(40) defer tls.Free(40) @@ -32790,7 +32800,7 @@ __28: // // If an IO error occurs, then the IO error is returned to the caller. // Otherwise, SQLITE_OK is returned. -func readDbPage(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:56171:12: */ +func readDbPage(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:56181:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -32844,7 +32854,7 @@ func readDbPage(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:56171:12: */ // This is an unconditional update. See also the pager_incr_changecounter() // routine which only updates the change-counter if the update is actually // needed, as determined by the pPager->changeCountDone state variable. -func pager_write_changecounter(tls *libc.TLS, pPg uintptr) { /* sqlite3.c:56234:13: */ +func pager_write_changecounter(tls *libc.TLS, pPg uintptr) { /* sqlite3.c:56244:13: */ var change_counter U32 if pPg == uintptr(0) { return @@ -32871,7 +32881,7 @@ func pager_write_changecounter(tls *libc.TLS, pPg uintptr) { /* sqlite3.c:56234: // references, the page content is reloaded from the database. If the // attempt to reload content from the database is required and fails, // return an SQLite error code. Otherwise, SQLITE_OK. -func pagerUndoCallback(tls *libc.TLS, pCtx uintptr, iPg Pgno) int32 { /* sqlite3.c:56262:12: */ +func pagerUndoCallback(tls *libc.TLS, pCtx uintptr, iPg Pgno) int32 { /* sqlite3.c:56272:12: */ var rc int32 = SQLITE_OK var pPager uintptr = pCtx var pPg uintptr @@ -32902,7 +32912,7 @@ func pagerUndoCallback(tls *libc.TLS, pCtx uintptr, iPg Pgno) int32 { /* sqlite3 } // This function is called to rollback a transaction on a WAL database. -func pagerRollbackWal(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:56297:12: */ +func pagerRollbackWal(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:56307:12: */ var rc int32 // Return Code var pList uintptr // List of dirty pages to revert @@ -32933,7 +32943,7 @@ func pagerRollbackWal(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:56297: // // The list of pages passed into this routine is always sorted by page number. // Hence, if page 1 appears anywhere on the list, it will be the first page. -func pagerWalFrames(tls *libc.TLS, pPager uintptr, pList uintptr, nTruncate Pgno, isCommit int32) int32 { /* sqlite3.c:56329:12: */ +func pagerWalFrames(tls *libc.TLS, pPager uintptr, pList uintptr, nTruncate Pgno, isCommit int32) int32 { /* sqlite3.c:56339:12: */ bp := tls.Alloc(4) defer tls.Free(4) *(*uintptr)(unsafe.Pointer(bp)) = pList @@ -32981,7 +32991,7 @@ func pagerWalFrames(tls *libc.TLS, pPager uintptr, pList uintptr, nTruncate Pgno // makes a snapshot of the database at the current point in time and preserves // that snapshot for use by the reader in spite of concurrently changes by // other writers or checkpointers. -func pagerBeginReadTransaction(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:56396:12: */ +func pagerBeginReadTransaction(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:56406:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -33012,7 +33022,7 @@ func pagerBeginReadTransaction(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3 // If no error occurs, SQLITE_OK is returned and the size of the database // in pages is stored in *pnPage. Otherwise, an error code (perhaps // SQLITE_IOERR_FSTAT) is returned and *pnPage is left unmodified. -func pagerPagecount(tls *libc.TLS, pPager uintptr, pnPage uintptr) int32 { /* sqlite3.c:56429:12: */ +func pagerPagecount(tls *libc.TLS, pPager uintptr, pnPage uintptr) int32 { /* sqlite3.c:56439:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -33066,7 +33076,7 @@ func pagerPagecount(tls *libc.TLS, pPager uintptr, pnPage uintptr) int32 { /* sq // a WAL on a none-empty database, this ensures there is no race condition // between the xAccess() below and an xDelete() being executed by some // other connection. -func pagerOpenWalIfPresent(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:56489:12: */ +func pagerOpenWalIfPresent(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:56499:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -33134,7 +33144,7 @@ func pagerOpenWalIfPresent(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:5 // is reset to the value that it held at the start of the savepoint // (or transaction). No page with a page-number greater than this value // is played back. If one is encountered it is simply skipped. -func pagerPlaybackSavepoint(tls *libc.TLS, pPager uintptr, pSavepoint uintptr) int32 { /* sqlite3.c:56556:12: */ +func pagerPlaybackSavepoint(tls *libc.TLS, pPager uintptr, pSavepoint uintptr) int32 { /* sqlite3.c:56566:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -33243,18 +33253,18 @@ func pagerPlaybackSavepoint(tls *libc.TLS, pPager uintptr, pSavepoint uintptr) i // Change the maximum number of in-memory pages that are allowed // before attempting to recycle clean and unused pages. -func Xsqlite3PagerSetCachesize(tls *libc.TLS, pPager uintptr, mxPage int32) { /* sqlite3.c:56668:21: */ +func Xsqlite3PagerSetCachesize(tls *libc.TLS, pPager uintptr, mxPage int32) { /* sqlite3.c:56678:21: */ Xsqlite3PcacheSetCachesize(tls, (*Pager)(unsafe.Pointer(pPager)).FpPCache, mxPage) } // Change the maximum number of in-memory pages that are allowed // before attempting to spill pages to journal. -func Xsqlite3PagerSetSpillsize(tls *libc.TLS, pPager uintptr, mxPage int32) int32 { /* sqlite3.c:56676:20: */ +func Xsqlite3PagerSetSpillsize(tls *libc.TLS, pPager uintptr, mxPage int32) int32 { /* sqlite3.c:56686:20: */ return Xsqlite3PcacheSetSpillsize(tls, (*Pager)(unsafe.Pointer(pPager)).FpPCache, mxPage) } // Invoke SQLITE_FCNTL_MMAP_SIZE based on the current value of szMmap. -func pagerFixMaplimit(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:56683:13: */ +func pagerFixMaplimit(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:56693:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -33270,13 +33280,13 @@ func pagerFixMaplimit(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:56683:13: */ } // Change the maximum size of any memory mapping made of the database file. -func Xsqlite3PagerSetMmapLimit(tls *libc.TLS, pPager uintptr, szMmap Sqlite3_int64) { /* sqlite3.c:56699:21: */ +func Xsqlite3PagerSetMmapLimit(tls *libc.TLS, pPager uintptr, szMmap Sqlite3_int64) { /* sqlite3.c:56709:21: */ (*Pager)(unsafe.Pointer(pPager)).FszMmap = szMmap pagerFixMaplimit(tls, pPager) } // Free as much memory as possible from the pager. -func Xsqlite3PagerShrink(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:56707:21: */ +func Xsqlite3PagerShrink(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:56717:21: */ Xsqlite3PcacheShrink(tls, (*Pager)(unsafe.Pointer(pPager)).FpPCache) } @@ -33329,7 +33339,7 @@ func Xsqlite3PagerShrink(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:56707:21: // // Numeric values associated with these states are OFF==1, NORMAL=2, // and FULL=3. -func Xsqlite3PagerSetFlags(tls *libc.TLS, pPager uintptr, pgFlags uint32) { /* sqlite3.c:56763:21: */ +func Xsqlite3PagerSetFlags(tls *libc.TLS, pPager uintptr, pgFlags uint32) { /* sqlite3.c:56773:21: */ var level uint32 = pgFlags & uint32(PAGER_SYNCHRONOUS_MASK) if (*Pager)(unsafe.Pointer(pPager)).FtempFile != 0 { (*Pager)(unsafe.Pointer(pPager)).FnoSync = U8(1) @@ -33393,7 +33403,7 @@ func Xsqlite3PagerSetFlags(tls *libc.TLS, pPager uintptr, pgFlags uint32) { /* s // SQLITE_OPEN_CREATE // SQLITE_OPEN_EXCLUSIVE // SQLITE_OPEN_DELETEONCLOSE -func pagerOpentemp(tls *libc.TLS, pPager uintptr, pFile uintptr, vfsFlags int32) int32 { /* sqlite3.c:56823:12: */ +func pagerOpentemp(tls *libc.TLS, pPager uintptr, pFile uintptr, vfsFlags int32) int32 { /* sqlite3.c:56833:12: */ var rc int32 // Return code vfsFlags = vfsFlags | (SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE | SQLITE_OPEN_EXCLUSIVE | SQLITE_OPEN_DELETEONCLOSE) @@ -33421,7 +33431,7 @@ func pagerOpentemp(tls *libc.TLS, pPager uintptr, pFile uintptr, vfsFlags int32) // If the busy-handler callback returns non-zero, the lock is // retried. If it returns zero, then the SQLITE_BUSY error is // returned to the caller of the pager API function. -func Xsqlite3PagerSetBusyHandler(tls *libc.TLS, pPager uintptr, xBusyHandler uintptr, pBusyHandlerArg uintptr) { /* sqlite3.c:56862:21: */ +func Xsqlite3PagerSetBusyHandler(tls *libc.TLS, pPager uintptr, xBusyHandler uintptr, pBusyHandlerArg uintptr) { /* sqlite3.c:56872:21: */ var ap uintptr (*Pager)(unsafe.Pointer(pPager)).FxBusyHandler = xBusyHandler (*Pager)(unsafe.Pointer(pPager)).FpBusyHandlerArg = pBusyHandlerArg @@ -33458,7 +33468,7 @@ func Xsqlite3PagerSetBusyHandler(tls *libc.TLS, pPager uintptr, xBusyHandler uin // conditions above is not true, the pager was in error state when this // function was called, or because the memory allocation attempt failed, // then *pPageSize is set to the old, retained page size before returning. -func Xsqlite3PagerSetPagesize(tls *libc.TLS, pPager uintptr, pPageSize uintptr, nReserve int32) int32 { /* sqlite3.c:56906:20: */ +func Xsqlite3PagerSetPagesize(tls *libc.TLS, pPager uintptr, pPageSize uintptr, nReserve int32) int32 { /* sqlite3.c:56916:20: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -33527,7 +33537,7 @@ func Xsqlite3PagerSetPagesize(tls *libc.TLS, pPager uintptr, pPageSize uintptr, // during rollback and will be overwritten whenever a rollback // occurs. But other modules are free to use it too, as long as // no rollbacks are happening. -func Xsqlite3PagerTempSpace(tls *libc.TLS, pPager uintptr) uintptr { /* sqlite3.c:56974:21: */ +func Xsqlite3PagerTempSpace(tls *libc.TLS, pPager uintptr) uintptr { /* sqlite3.c:56984:21: */ return (*Pager)(unsafe.Pointer(pPager)).FpTmpSpace } @@ -33536,7 +33546,7 @@ func Xsqlite3PagerTempSpace(tls *libc.TLS, pPager uintptr) uintptr { /* sqlite3. // maximum page count below the current size of the database. // // Regardless of mxPage, return the current maximum page count. -func Xsqlite3PagerMaxPageCount(tls *libc.TLS, pPager uintptr, mxPage Pgno) Pgno { /* sqlite3.c:56985:21: */ +func Xsqlite3PagerMaxPageCount(tls *libc.TLS, pPager uintptr, mxPage Pgno) Pgno { /* sqlite3.c:56995:21: */ if mxPage > Pgno(0) { (*Pager)(unsafe.Pointer(pPager)).FmxPgno = mxPage } @@ -33567,7 +33577,7 @@ func Xsqlite3PagerMaxPageCount(tls *libc.TLS, pPager uintptr, mxPage Pgno) Pgno // If any IO error apart from SQLITE_IOERR_SHORT_READ is encountered, // the error code is returned to the caller and the contents of the // output buffer undefined. -func Xsqlite3PagerReadFileheader(tls *libc.TLS, pPager uintptr, N int32, pDest uintptr) int32 { /* sqlite3.c:57035:20: */ +func Xsqlite3PagerReadFileheader(tls *libc.TLS, pPager uintptr, N int32, pDest uintptr) int32 { /* sqlite3.c:57045:20: */ var rc int32 = SQLITE_OK libc.Xmemset(tls, pDest, 0, uint32(N)) @@ -33590,7 +33600,7 @@ func Xsqlite3PagerReadFileheader(tls *libc.TLS, pPager uintptr, N int32, pDest u // // However, if the file is between 1 and bytes in size, then // this is considered a 1 page file. -func Xsqlite3PagerPagecount(tls *libc.TLS, pPager uintptr, pnPage uintptr) { /* sqlite3.c:57063:21: */ +func Xsqlite3PagerPagecount(tls *libc.TLS, pPager uintptr, pnPage uintptr) { /* sqlite3.c:57073:21: */ *(*int32)(unsafe.Pointer(pnPage)) = int32((*Pager)(unsafe.Pointer(pPager)).FdbSize) } @@ -33607,7 +33617,7 @@ func Xsqlite3PagerPagecount(tls *libc.TLS, pPager uintptr, pnPage uintptr) { /* // Return SQLITE_OK on success and an error code if we cannot obtain // the lock. If the lock is obtained successfully, set the Pager.state // variable to locktype before returning. -func pager_wait_on_lock(tls *libc.TLS, pPager uintptr, locktype int32) int32 { /* sqlite3.c:57084:12: */ +func pager_wait_on_lock(tls *libc.TLS, pPager uintptr, locktype int32) int32 { /* sqlite3.c:57094:12: */ var rc int32 // Return code // Check that this is either a no-op (because the requested lock is @@ -33652,7 +33662,7 @@ func pager_wait_on_lock(tls *libc.TLS, pPager uintptr, locktype int32) int32 { / // Once this function has been called, the transaction must either be // rolled back or committed. It is not safe to call this function and // then continue writing to the database. -func Xsqlite3PagerTruncateImage(tls *libc.TLS, pPager uintptr, nPage Pgno) { /* sqlite3.c:57155:21: */ +func Xsqlite3PagerTruncateImage(tls *libc.TLS, pPager uintptr, nPage Pgno) { /* sqlite3.c:57165:21: */ (*Pager)(unsafe.Pointer(pPager)).FdbSize = nPage @@ -33679,7 +33689,7 @@ func Xsqlite3PagerTruncateImage(tls *libc.TLS, pPager uintptr, nPage Pgno) { /* // // If everything goes as planned, SQLITE_OK is returned. Otherwise, // an SQLite error code. -func pagerSyncHotJournal(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:57186:12: */ +func pagerSyncHotJournal(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:57196:12: */ var rc int32 = SQLITE_OK if !(int32((*Pager)(unsafe.Pointer(pPager)).FnoSync) != 0) { rc = Xsqlite3OsSync(tls, (*Pager)(unsafe.Pointer(pPager)).Fjfd, SQLITE_SYNC_NORMAL) @@ -33698,7 +33708,7 @@ func pagerSyncHotJournal(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:571 // // Page references obtained by calling this function should be released // by calling pagerReleaseMapPage(). -func pagerAcquireMapPage(tls *libc.TLS, pPager uintptr, pgno Pgno, pData uintptr, ppPage uintptr) int32 { /* sqlite3.c:57208:12: */ +func pagerAcquireMapPage(tls *libc.TLS, pPager uintptr, pgno Pgno, pData uintptr, ppPage uintptr) int32 { /* sqlite3.c:57218:12: */ var p uintptr // Memory mapped page to return if (*Pager)(unsafe.Pointer(pPager)).FpMmapFreelist != 0 { @@ -33728,7 +33738,7 @@ func pagerAcquireMapPage(tls *libc.TLS, pPager uintptr, pgno Pgno, pData uintptr // Release a reference to page pPg. pPg must have been returned by an // earlier call to pagerAcquireMapPage(). -func pagerReleaseMapPage(tls *libc.TLS, pPg uintptr) { /* sqlite3.c:57252:13: */ +func pagerReleaseMapPage(tls *libc.TLS, pPg uintptr) { /* sqlite3.c:57262:13: */ var pPager uintptr = (*PgHdr)(unsafe.Pointer(pPg)).FpPager (*Pager)(unsafe.Pointer(pPager)).FnMmapOut-- (*PgHdr)(unsafe.Pointer(pPg)).FpDirty = (*Pager)(unsafe.Pointer(pPager)).FpMmapFreelist @@ -33738,7 +33748,7 @@ func pagerReleaseMapPage(tls *libc.TLS, pPg uintptr) { /* sqlite3.c:57252:13: */ } // Free all PgHdr objects stored in the Pager.pMmapFreelist list. -func pagerFreeMapHdrs(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:57265:13: */ +func pagerFreeMapHdrs(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:57275:13: */ var p uintptr var pNext uintptr for p = (*Pager)(unsafe.Pointer(pPager)).FpMmapFreelist; p != 0; p = pNext { @@ -33751,7 +33761,7 @@ func pagerFreeMapHdrs(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:57265:13: */ // under the pager. Return SQLITE_OK if the database is still where it ought // to be on disk. Return non-zero (SQLITE_READONLY_DBMOVED or some other error // code from sqlite3OsAccess()) if the database has gone missing. -func databaseIsUnmoved(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:57279:12: */ +func databaseIsUnmoved(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:57289:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -33789,7 +33799,7 @@ func databaseIsUnmoved(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:57279 // is made to roll it back. If an error occurs during the rollback // a hot journal may be left in the filesystem but no error is returned // to the caller. -func Xsqlite3PagerClose(tls *libc.TLS, pPager uintptr, db uintptr) int32 { /* sqlite3.c:57313:20: */ +func Xsqlite3PagerClose(tls *libc.TLS, pPager uintptr, db uintptr) int32 { /* sqlite3.c:57323:20: */ var pTmp uintptr = (*Pager)(unsafe.Pointer(pPager)).FpTmpSpace Xsqlite3BeginBenignMalloc(tls) @@ -33838,7 +33848,7 @@ func Xsqlite3PagerClose(tls *libc.TLS, pPager uintptr, db uintptr) int32 { /* sq } // Increment the reference count for page pPg. -func Xsqlite3PagerRef(tls *libc.TLS, pPg uintptr) { /* sqlite3.c:57382:21: */ +func Xsqlite3PagerRef(tls *libc.TLS, pPg uintptr) { /* sqlite3.c:57392:21: */ Xsqlite3PcacheRef(tls, pPg) } @@ -33875,7 +33885,7 @@ func Xsqlite3PagerRef(tls *libc.TLS, pPg uintptr) { /* sqlite3.c:57382:21: */ // If successful, this routine clears the PGHDR_NEED_SYNC flag of every // page currently held in memory before returning SQLITE_OK. If an IO // error is encountered, then the IO error code is returned to the caller. -func syncJournal(tls *libc.TLS, pPager uintptr, newHdr int32) int32 { /* sqlite3.c:57421:12: */ +func syncJournal(tls *libc.TLS, pPager uintptr, newHdr int32) int32 { /* sqlite3.c:57431:12: */ bp := tls.Alloc(20) defer tls.Free(20) @@ -33989,7 +33999,7 @@ func syncJournal(tls *libc.TLS, pPager uintptr, newHdr int32) int32 { /* sqlite3 return SQLITE_OK } -var zerobyte U8 = U8(0) /* sqlite3.c:57472:27 */ +var zerobyte U8 = U8(0) /* sqlite3.c:57482:27 */ // The argument is the first in a linked list of dirty pages connected // by the PgHdr.pDirty pointer. This function writes each one of the @@ -34021,7 +34031,7 @@ var zerobyte U8 = U8(0) /* sqlite3.c:57472:27 */ // If everything is successful, SQLITE_OK is returned. If an IO error // occurs, an IO error code is returned. Or, if the EXCLUSIVE lock cannot // be obtained, SQLITE_BUSY is returned. -func pager_write_pagelist(tls *libc.TLS, pPager uintptr, pList uintptr) int32 { /* sqlite3.c:57564:12: */ +func pager_write_pagelist(tls *libc.TLS, pPager uintptr, pList uintptr) int32 { /* sqlite3.c:57574:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -34101,7 +34111,7 @@ func pager_write_pagelist(tls *libc.TLS, pPager uintptr, pList uintptr) int32 { // SQLITE_OK is returned if everything goes according to plan. An // SQLITE_IOERR_XXX error code is returned if a call to sqlite3OsOpen() // fails. -func openSubJournal(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:57655:12: */ +func openSubJournal(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:57665:12: */ var rc int32 = SQLITE_OK if !((*Sqlite3_file)(unsafe.Pointer((*Pager)(unsafe.Pointer(pPager)).Fsjfd)).FpMethods != uintptr(0)) { var flags int32 = SQLITE_OPEN_SUBJOURNAL | SQLITE_OPEN_READWRITE | @@ -34125,7 +34135,7 @@ func openSubJournal(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:57655:12 // error code if the attempt to write to the sub-journal fails, or // SQLITE_NOMEM if a malloc fails while setting a bit in a savepoint // bitvec. -func subjournalPage(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:57681:12: */ +func subjournalPage(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:57691:12: */ var rc int32 = SQLITE_OK var pPager uintptr = (*PgHdr)(unsafe.Pointer(pPg)).FpPager if int32((*Pager)(unsafe.Pointer(pPager)).FjournalMode) != PAGER_JOURNALMODE_OFF { @@ -34156,7 +34166,7 @@ func subjournalPage(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:57681:12: * return rc } -func subjournalPageIfRequired(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:57717:12: */ +func subjournalPageIfRequired(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:57727:12: */ if subjRequiresPage(tls, pPg) != 0 { return subjournalPage(tls, pPg) } else { @@ -34182,7 +34192,7 @@ func subjournalPageIfRequired(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:5 // page clean, the IO error code is returned. If the page cannot be // made clean for some other reason, but no error occurs, then SQLITE_OK // is returned by sqlite3PcacheMakeClean() is not called. -func pagerStress(tls *libc.TLS, p uintptr, pPg uintptr) int32 { /* sqlite3.c:57744:12: */ +func pagerStress(tls *libc.TLS, p uintptr, pPg uintptr) int32 { /* sqlite3.c:57754:12: */ var pPager uintptr = p var rc int32 = SQLITE_OK @@ -34244,7 +34254,7 @@ func pagerStress(tls *libc.TLS, p uintptr, pPg uintptr) int32 { /* sqlite3.c:577 } // Flush all unreferenced dirty pages to disk. -func Xsqlite3PagerFlush(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:57821:20: */ +func Xsqlite3PagerFlush(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:57831:20: */ var rc int32 = (*Pager)(unsafe.Pointer(pPager)).FerrCode if !(int32((*Pager)(unsafe.Pointer(pPager)).FmemDb) != 0) { var pList uintptr = Xsqlite3PcacheDirtyList(tls, (*Pager)(unsafe.Pointer(pPager)).FpPCache) @@ -34291,7 +34301,7 @@ func Xsqlite3PagerFlush(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:5782 // and error code returned. This function may return SQLITE_NOMEM // (sqlite3Malloc() is used to allocate memory), SQLITE_CANTOPEN or // various SQLITE_IO_XXX errors. -func Xsqlite3PagerOpen(tls *libc.TLS, pVfs uintptr, ppPager uintptr, zFilename uintptr, nExtra int32, flags int32, vfsFlags int32, xReinit uintptr) int32 { /* sqlite3.c:57870:20: */ +func Xsqlite3PagerOpen(tls *libc.TLS, pVfs uintptr, ppPager uintptr, zFilename uintptr, nExtra int32, flags int32, vfsFlags int32, xReinit uintptr) int32 { /* sqlite3.c:57880:20: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -34417,7 +34427,7 @@ __11: // bytes in length. This means the database cannot be opened, // as it will not be possible to open the journal file or even // check for a hot-journal before reading. - rc = Xsqlite3CantopenError(tls, 57957) + rc = Xsqlite3CantopenError(tls, 57967) __12: ; if !(rc != SQLITE_OK) { @@ -34736,7 +34746,7 @@ __37: // Return the sqlite3_file for the main database given the name // of the corresonding WAL or Journal name as passed into // xOpen. -func Xsqlite3_database_file_object(tls *libc.TLS, zName uintptr) uintptr { /* sqlite3.c:58242:25: */ +func Xsqlite3_database_file_object(tls *libc.TLS, zName uintptr) uintptr { /* sqlite3.c:58252:25: */ var pPager uintptr for int32(*(*int8)(unsafe.Pointer(zName + libc.UintptrFromInt32(-1)))) != 0 || int32(*(*int8)(unsafe.Pointer(zName + libc.UintptrFromInt32(-2)))) != 0 || int32(*(*int8)(unsafe.Pointer(zName + libc.UintptrFromInt32(-3)))) != 0 || int32(*(*int8)(unsafe.Pointer(zName + libc.UintptrFromInt32(-4)))) != 0 { zName-- @@ -34774,7 +34784,7 @@ func Xsqlite3_database_file_object(tls *libc.TLS, zName uintptr) uintptr { /* sq // set to 0 and SQLITE_OK returned. If an IO error occurs while trying // to determine whether or not a hot-journal file exists, the IO error // code is returned and the value of *pExists is undefined. -func hasHotJournal(tls *libc.TLS, pPager uintptr, pExists uintptr) int32 { /* sqlite3.c:58283:12: */ +func hasHotJournal(tls *libc.TLS, pPager uintptr, pExists uintptr) int32 { /* sqlite3.c:58293:12: */ bp := tls.Alloc(17) defer tls.Free(17) @@ -34885,7 +34895,7 @@ func hasHotJournal(tls *libc.TLS, pPager uintptr, pExists uintptr) int32 { /* sq // If everything is successful, SQLITE_OK is returned. If an IO error // occurs while locking the database, checking for a hot-journal file or // rolling back a journal file, the IO error code is returned. -func Xsqlite3PagerSharedLock(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:58403:20: */ +func Xsqlite3PagerSharedLock(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:58413:20: */ bp := tls.Alloc(28) defer tls.Free(28) @@ -35011,7 +35021,7 @@ __7: if !(rc == SQLITE_OK && *(*int32)(unsafe.Pointer(bp + 8))&SQLITE_OPEN_READONLY != 0) { goto __10 } - rc = Xsqlite3CantopenError(tls, 58487) + rc = Xsqlite3CantopenError(tls, 58497) Xsqlite3OsClose(tls, (*Pager)(unsafe.Pointer(pPager)).Fjfd) __10: ; @@ -35160,7 +35170,7 @@ __24: // Except, in locking_mode=EXCLUSIVE when there is nothing to in // the rollback journal, the unlock is not performed and there is // nothing to rollback, so this routine is a no-op. -func pagerUnlockIfUnused(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:58620:13: */ +func pagerUnlockIfUnused(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:58630:13: */ if Xsqlite3PcacheRefCount(tls, (*Pager)(unsafe.Pointer(pPager)).FpPCache) == 0 { // because page1 is never memory mapped pagerUnlockAndRollback(tls, pPager) @@ -35222,7 +35232,7 @@ func pagerUnlockIfUnused(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:58620:13: // has to go to disk, and could also playback an old journal if necessary. // Since Lookup() never goes to disk, it never has to deal with locks // or journal files. -func getPageNormal(tls *libc.TLS, pPager uintptr, pgno Pgno, ppPage uintptr, flags int32) int32 { /* sqlite3.c:58684:12: */ +func getPageNormal(tls *libc.TLS, pPager uintptr, pgno Pgno, ppPage uintptr, flags int32) int32 { /* sqlite3.c:58694:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -35235,7 +35245,7 @@ func getPageNormal(tls *libc.TLS, pPager uintptr, pgno Pgno, ppPage uintptr, fla if !(pgno == Pgno(0)) { goto __1 } - return Xsqlite3CorruptError(tls, 58700) + return Xsqlite3CorruptError(tls, 58710) __1: ; *(*uintptr)(unsafe.Pointer(bp /* pBase */)) = Xsqlite3PcacheFetch(tls, (*Pager)(unsafe.Pointer(pPager)).FpPCache, pgno, 3) @@ -35281,7 +35291,7 @@ __5: if !(pgno == Pgno(I64(Xsqlite3PendingByte)/(*Pager)(unsafe.Pointer(pPager)).FpageSize+int64(1))) { goto __7 } - rc = Xsqlite3CorruptError(tls, 58732) + rc = Xsqlite3CorruptError(tls, 58742) goto pager_acquire_err __7: ; @@ -35353,7 +35363,7 @@ __14: } // The page getter for when memory-mapped I/O is enabled -func getPageMMap(tls *libc.TLS, pPager uintptr, pgno Pgno, ppPage uintptr, flags int32) int32 { /* sqlite3.c:58786:12: */ +func getPageMMap(tls *libc.TLS, pPager uintptr, pgno Pgno, ppPage uintptr, flags int32) int32 { /* sqlite3.c:58796:12: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -35373,7 +35383,7 @@ func getPageMMap(tls *libc.TLS, pPager uintptr, pgno Pgno, ppPage uintptr, flags // test in the previous statement, and avoid testing pgno==0 in the // common case where pgno is large. if pgno <= Pgno(1) && pgno == Pgno(0) { - return Xsqlite3CorruptError(tls, 58811) + return Xsqlite3CorruptError(tls, 58821) } if bMmapOk != 0 && (*Pager)(unsafe.Pointer(pPager)).FpWal != uintptr(0) { @@ -35411,7 +35421,7 @@ func getPageMMap(tls *libc.TLS, pPager uintptr, pgno Pgno, ppPage uintptr, flags } // The page getter method for when the pager is an error state -func getPageError(tls *libc.TLS, pPager uintptr, pgno Pgno, ppPage uintptr, flags int32) int32 { /* sqlite3.c:58855:12: */ +func getPageError(tls *libc.TLS, pPager uintptr, pgno Pgno, ppPage uintptr, flags int32) int32 { /* sqlite3.c:58865:12: */ _ = pgno _ = flags @@ -35420,7 +35430,7 @@ func getPageError(tls *libc.TLS, pPager uintptr, pgno Pgno, ppPage uintptr, flag } // Dispatch all page fetch requests to the appropriate getter method. -func Xsqlite3PagerGet(tls *libc.TLS, pPager uintptr, pgno Pgno, ppPage uintptr, flags int32) int32 { /* sqlite3.c:58871:20: */ +func Xsqlite3PagerGet(tls *libc.TLS, pPager uintptr, pgno Pgno, ppPage uintptr, flags int32) int32 { /* sqlite3.c:58881:20: */ // printf("PAGE %u\n", pgno); fflush(stdout); return (*struct { f func(*libc.TLS, uintptr, Pgno, uintptr, int32) int32 @@ -35436,7 +35446,7 @@ func Xsqlite3PagerGet(tls *libc.TLS, pPager uintptr, pgno Pgno, ppPage uintptr, // in the page if the page is not already in cache. This routine // returns NULL if the page is not in cache or if a disk I/O error // has ever happened. -func Xsqlite3PagerLookup(tls *libc.TLS, pPager uintptr, pgno Pgno) uintptr { /* sqlite3.c:58892:23: */ +func Xsqlite3PagerLookup(tls *libc.TLS, pPager uintptr, pgno Pgno) uintptr { /* sqlite3.c:58902:23: */ var pPage uintptr pPage = Xsqlite3PcacheFetch(tls, (*Pager)(unsafe.Pointer(pPager)).FpPCache, pgno, 0) @@ -35457,7 +35467,7 @@ func Xsqlite3PagerLookup(tls *libc.TLS, pPager uintptr, pgno Pgno) uintptr { /* // Use sqlite3PagerUnrefPageOne() to release page1. This latter routine // checks the total number of outstanding pages and if the number of // pages reaches zero it drops the database lock. -func Xsqlite3PagerUnrefNotNull(tls *libc.TLS, pPg uintptr) { /* sqlite3.c:58915:21: */ +func Xsqlite3PagerUnrefNotNull(tls *libc.TLS, pPg uintptr) { /* sqlite3.c:58925:21: */ if int32((*DbPage)(unsafe.Pointer(pPg)).Fflags)&PGHDR_MMAP != 0 { // Page1 is never memory mapped @@ -35469,13 +35479,13 @@ func Xsqlite3PagerUnrefNotNull(tls *libc.TLS, pPg uintptr) { /* sqlite3.c:58915: } -func Xsqlite3PagerUnref(tls *libc.TLS, pPg uintptr) { /* sqlite3.c:58927:21: */ +func Xsqlite3PagerUnref(tls *libc.TLS, pPg uintptr) { /* sqlite3.c:58937:21: */ if pPg != 0 { Xsqlite3PagerUnrefNotNull(tls, pPg) } } -func Xsqlite3PagerUnrefPageOne(tls *libc.TLS, pPg uintptr) { /* sqlite3.c:58930:21: */ +func Xsqlite3PagerUnrefPageOne(tls *libc.TLS, pPg uintptr) { /* sqlite3.c:58940:21: */ var pPager uintptr // Page1 is never memory mapped @@ -35504,7 +35514,7 @@ func Xsqlite3PagerUnrefPageOne(tls *libc.TLS, pPg uintptr) { /* sqlite3.c:58930: // Return SQLITE_OK if everything is successful. Otherwise, return // SQLITE_NOMEM if the attempt to allocate Pager.pInJournal fails, or // an IO error code if opening or writing the journal file fails. -func pager_open_journal(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:58962:12: */ +func pager_open_journal(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:58972:12: */ var rc int32 = SQLITE_OK // Return code var pVfs uintptr = (*Pager)(unsafe.Pointer(pPager)).FpVfs // Local cache of vfs pointer @@ -35586,7 +35596,7 @@ func pager_open_journal(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:5896 // sub-journal. If the subjInMemory argument is zero, then any required // sub-journal is implemented in-memory if pPager is an in-memory database, // or using a temporary file otherwise. -func Xsqlite3PagerBegin(tls *libc.TLS, pPager uintptr, exFlag int32, subjInMemory int32) int32 { /* sqlite3.c:59051:20: */ +func Xsqlite3PagerBegin(tls *libc.TLS, pPager uintptr, exFlag int32, subjInMemory int32) int32 { /* sqlite3.c:59061:20: */ var rc int32 = SQLITE_OK if (*Pager)(unsafe.Pointer(pPager)).FerrCode != 0 { @@ -35646,7 +35656,7 @@ func Xsqlite3PagerBegin(tls *libc.TLS, pPager uintptr, exFlag int32, subjInMemor } // Write page pPg onto the end of the rollback journal. -func pagerAddPageToRollbackJournal(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:59120:28: */ +func pagerAddPageToRollbackJournal(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:59130:28: */ var pPager uintptr = (*PgHdr)(unsafe.Pointer(pPg)).FpPager var rc int32 var cksum U32 @@ -35696,7 +35706,7 @@ func pagerAddPageToRollbackJournal(tls *libc.TLS, pPg uintptr) int32 { /* sqlite // one of the journals, the corresponding bit is set in the // Pager.pInJournal bitvec and the PagerSavepoint.pInSavepoint bitvecs // of any open savepoints as appropriate. -func pager_write(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:59177:12: */ +func pager_write(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:59187:12: */ var pPager uintptr = (*PgHdr)(unsafe.Pointer(pPg)).FpPager var rc int32 = SQLITE_OK @@ -35770,7 +35780,7 @@ func pager_write(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:59177:12: */ // Usually, the sector size is less than or equal to the page size, in which // case pages can be individually written. This routine only runs in the // exceptional case where the page size is smaller than the sector size. -func pagerWriteLargeSector(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:59269:28: */ +func pagerWriteLargeSector(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:59279:28: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -35858,7 +35868,7 @@ func pagerWriteLargeSector(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:5926 // // If an error occurs, SQLITE_NOMEM or an IO error code is returned // as appropriate. Otherwise, SQLITE_OK. -func Xsqlite3PagerWrite(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:59363:20: */ +func Xsqlite3PagerWrite(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:59373:20: */ var pPager uintptr = (*PgHdr)(unsafe.Pointer(pPg)).FpPager if int32((*PgHdr)(unsafe.Pointer(pPg)).Fflags)&PGHDR_WRITEABLE != 0 && (*Pager)(unsafe.Pointer(pPager)).FdbSize >= (*PgHdr)(unsafe.Pointer(pPg)).Fpgno { @@ -35899,7 +35909,7 @@ func Xsqlite3PagerWrite(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:59363:2 // memory pressure forces page pPg out of the cache, the data does need // to be written out to disk so that it may be read back in if the // current transaction is rolled back. -func Xsqlite3PagerDontWrite(tls *libc.TLS, pPg uintptr) { /* sqlite3.c:59412:21: */ +func Xsqlite3PagerDontWrite(tls *libc.TLS, pPg uintptr) { /* sqlite3.c:59422:21: */ var pPager uintptr = (*PgHdr)(unsafe.Pointer(pPg)).FpPager if !(int32((*Pager)(unsafe.Pointer(pPager)).FtempFile) != 0) && int32((*PgHdr)(unsafe.Pointer(pPg)).Fflags)&PGHDR_DIRTY != 0 && (*Pager)(unsafe.Pointer(pPager)).FnSavepoint == 0 { @@ -35929,7 +35939,7 @@ func Xsqlite3PagerDontWrite(tls *libc.TLS, pPg uintptr) { /* sqlite3.c:59412:21: // if isDirect is non-zero, then the database file is updated directly // by writing an updated version of page 1 using a call to the // sqlite3OsWrite() function. -func pager_incr_changecounter(tls *libc.TLS, pPager uintptr, isDirectMode int32) int32 { /* sqlite3.c:59446:12: */ +func pager_incr_changecounter(tls *libc.TLS, pPager uintptr, isDirectMode int32) int32 { /* sqlite3.c:59456:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -35999,7 +36009,7 @@ func pager_incr_changecounter(tls *libc.TLS, pPager uintptr, isDirectMode int32) // // If successful, or if called on a pager for which it is a no-op, this // function returns SQLITE_OK. Otherwise, an IO error code is returned. -func Xsqlite3PagerSync(tls *libc.TLS, pPager uintptr, zSuper uintptr) int32 { /* sqlite3.c:59529:20: */ +func Xsqlite3PagerSync(tls *libc.TLS, pPager uintptr, zSuper uintptr) int32 { /* sqlite3.c:59539:20: */ var rc int32 = SQLITE_OK var pArg uintptr = zSuper rc = Xsqlite3OsFileControl(tls, (*Pager)(unsafe.Pointer(pPager)).Ffd, SQLITE_FCNTL_SYNC, pArg) @@ -36022,7 +36032,7 @@ func Xsqlite3PagerSync(tls *libc.TLS, pPager uintptr, zSuper uintptr) int32 { /* // successful, or the connection is in WAL mode, SQLITE_OK is returned. // Otherwise, either SQLITE_BUSY or an SQLITE_IOERR_XXX error code is // returned. -func Xsqlite3PagerExclusiveLock(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:59552:20: */ +func Xsqlite3PagerExclusiveLock(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:59562:20: */ var rc int32 = (*Pager)(unsafe.Pointer(pPager)).FerrCode if rc == SQLITE_OK { @@ -36058,7 +36068,7 @@ func Xsqlite3PagerExclusiveLock(tls *libc.TLS, pPager uintptr) int32 { /* sqlite // is not synced. The caller must call sqlite3PagerSync() directly to // sync the database file before calling CommitPhaseTwo() to delete the // journal file in this case. -func Xsqlite3PagerCommitPhaseOne(tls *libc.TLS, pPager uintptr, zSuper uintptr, noSync int32) int32 { /* sqlite3.c:59594:20: */ +func Xsqlite3PagerCommitPhaseOne(tls *libc.TLS, pPager uintptr, zSuper uintptr, noSync int32) int32 { /* sqlite3.c:59604:20: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -36248,7 +36258,7 @@ __19: // // If an error occurs, an IO error code is returned and the pager // moves into the error state. Otherwise, SQLITE_OK is returned. -func Xsqlite3PagerCommitPhaseTwo(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:59824:20: */ +func Xsqlite3PagerCommitPhaseTwo(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:59834:20: */ var rc int32 = SQLITE_OK // Return code // This routine should not be called if a prior error has occurred. @@ -36305,7 +36315,7 @@ func Xsqlite3PagerCommitPhaseTwo(tls *libc.TLS, pPager uintptr) int32 { /* sqlit // current transaction are either expelled from the cache or reverted to // their pre-transaction state by re-reading data from the database or // WAL files. The WAL transaction is then closed. -func Xsqlite3PagerRollback(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:59890:20: */ +func Xsqlite3PagerRollback(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:59900:20: */ var rc int32 = SQLITE_OK // Return code // PagerRollback() is a no-op if called in READER or OPEN state. If @@ -36349,13 +36359,13 @@ func Xsqlite3PagerRollback(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:5 // Return TRUE if the database file is opened read-only. Return FALSE // if the database is (in theory) writable. -func Xsqlite3PagerIsreadonly(tls *libc.TLS, pPager uintptr) U8 { /* sqlite3.c:59940:19: */ +func Xsqlite3PagerIsreadonly(tls *libc.TLS, pPager uintptr) U8 { /* sqlite3.c:59950:19: */ return (*Pager)(unsafe.Pointer(pPager)).FreadOnly } // Return the approximate number of bytes of memory currently // used by the pager and its associated cache. -func Xsqlite3PagerMemUsed(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:59957:20: */ +func Xsqlite3PagerMemUsed(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:59967:20: */ var perPageSize int32 = int32((*Pager)(unsafe.Pointer(pPager)).FpageSize + I64((*Pager)(unsafe.Pointer(pPager)).FnExtra) + I64(int32(uint32(unsafe.Sizeof(PgHdr{}))+uint32(5)*uint32(unsafe.Sizeof(uintptr(0)))))) return int32(I64(perPageSize*Xsqlite3PcachePagecount(tls, (*Pager)(unsafe.Pointer(pPager)).FpPCache)+ @@ -36364,7 +36374,7 @@ func Xsqlite3PagerMemUsed(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:59 } // Return the number of references to the specified page. -func Xsqlite3PagerPageRefcount(tls *libc.TLS, pPage uintptr) int32 { /* sqlite3.c:59968:20: */ +func Xsqlite3PagerPageRefcount(tls *libc.TLS, pPage uintptr) int32 { /* sqlite3.c:59978:20: */ return Xsqlite3PcachePageRefcount(tls, pPage) } @@ -36377,7 +36387,7 @@ func Xsqlite3PagerPageRefcount(tls *libc.TLS, pPage uintptr) int32 { /* sqlite3. // current cache hit or miss count, according to the value of eStat. If the // reset parameter is non-zero, the cache hit or miss count is zeroed before // returning. -func Xsqlite3PagerCacheStat(tls *libc.TLS, pPager uintptr, eStat int32, reset int32, pnVal uintptr) { /* sqlite3.c:60004:21: */ +func Xsqlite3PagerCacheStat(tls *libc.TLS, pPager uintptr, eStat int32, reset int32, pnVal uintptr) { /* sqlite3.c:60014:21: */ eStat = eStat - SQLITE_DBSTATUS_CACHE_HIT *(*int32)(unsafe.Pointer(pnVal)) += *(*int32)(unsafe.Pointer(pPager + 188 + uintptr(eStat)*4)) @@ -36387,7 +36397,7 @@ func Xsqlite3PagerCacheStat(tls *libc.TLS, pPager uintptr, eStat int32, reset in } // Return true if this is an in-memory or temp-file backed pager. -func Xsqlite3PagerIsMemdb(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:60027:20: */ +func Xsqlite3PagerIsMemdb(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:60037:20: */ return libc.Bool32((*Pager)(unsafe.Pointer(pPager)).FtempFile != 0 || (*Pager)(unsafe.Pointer(pPager)).FmemVfs != 0) } @@ -36399,7 +36409,7 @@ func Xsqlite3PagerIsMemdb(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:60 // If a memory allocation fails, SQLITE_NOMEM is returned. If an error // occurs while opening the sub-journal file, then an IO error code is // returned. Otherwise, SQLITE_OK. -func pagerOpenSavepoint(tls *libc.TLS, pPager uintptr, nSavepoint int32) int32 { /* sqlite3.c:60041:28: */ +func pagerOpenSavepoint(tls *libc.TLS, pPager uintptr, nSavepoint int32) int32 { /* sqlite3.c:60051:28: */ var rc int32 = SQLITE_OK // Return code var nCurrent int32 = (*Pager)(unsafe.Pointer(pPager)).FnSavepoint // Current number of savepoints var ii int32 // Iterator variable @@ -36439,7 +36449,7 @@ func pagerOpenSavepoint(tls *libc.TLS, pPager uintptr, nSavepoint int32) int32 { return rc } -func Xsqlite3PagerOpenSavepoint(tls *libc.TLS, pPager uintptr, nSavepoint int32) int32 { /* sqlite3.c:60087:20: */ +func Xsqlite3PagerOpenSavepoint(tls *libc.TLS, pPager uintptr, nSavepoint int32) int32 { /* sqlite3.c:60097:20: */ if nSavepoint > (*Pager)(unsafe.Pointer(pPager)).FnSavepoint && (*Pager)(unsafe.Pointer(pPager)).FuseJournal != 0 { return pagerOpenSavepoint(tls, pPager, nSavepoint) @@ -36477,7 +36487,7 @@ func Xsqlite3PagerOpenSavepoint(tls *libc.TLS, pPager uintptr, nSavepoint int32) // This function may return SQLITE_NOMEM if a memory allocation fails, // or an IO error code if an IO error occurs while rolling back a // savepoint. If no errors occur, SQLITE_OK is returned. -func Xsqlite3PagerSavepoint(tls *libc.TLS, pPager uintptr, op int32, iSavepoint int32) int32 { /* sqlite3.c:60129:20: */ +func Xsqlite3PagerSavepoint(tls *libc.TLS, pPager uintptr, op int32, iSavepoint int32) int32 { /* sqlite3.c:60139:20: */ var rc int32 = (*Pager)(unsafe.Pointer(pPager)).FerrCode if rc == SQLITE_OK && iSavepoint < (*Pager)(unsafe.Pointer(pPager)).FnSavepoint { @@ -36538,30 +36548,30 @@ func Xsqlite3PagerSavepoint(tls *libc.TLS, pPager uintptr, op int32, iSavepoint // // The return value to this routine is always safe to use with // sqlite3_uri_parameter() and sqlite3_filename_database() and friends. -func Xsqlite3PagerFilename(tls *libc.TLS, pPager uintptr, nullIfMemDb int32) uintptr { /* sqlite3.c:60210:27: */ +func Xsqlite3PagerFilename(tls *libc.TLS, pPager uintptr, nullIfMemDb int32) uintptr { /* sqlite3.c:60220:27: */ if nullIfMemDb != 0 && (*Pager)(unsafe.Pointer(pPager)).FmemDb != 0 { return uintptr(unsafe.Pointer(&zFake)) + 4 } return (*Pager)(unsafe.Pointer(pPager)).FzFilename } -var zFake = [8]int8{int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0)} /* sqlite3.c:60211:21 */ +var zFake = [8]int8{int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0)} /* sqlite3.c:60221:21 */ // Return the VFS structure for the pager. -func Xsqlite3PagerVfs(tls *libc.TLS, pPager uintptr) uintptr { /* sqlite3.c:60218:28: */ +func Xsqlite3PagerVfs(tls *libc.TLS, pPager uintptr) uintptr { /* sqlite3.c:60228:28: */ return (*Pager)(unsafe.Pointer(pPager)).FpVfs } // Return the file handle for the database file associated // with the pager. This might return NULL if the file has // not yet been opened. -func Xsqlite3PagerFile(tls *libc.TLS, pPager uintptr) uintptr { /* sqlite3.c:60227:29: */ +func Xsqlite3PagerFile(tls *libc.TLS, pPager uintptr) uintptr { /* sqlite3.c:60237:29: */ return (*Pager)(unsafe.Pointer(pPager)).Ffd } // Return the file handle for the journal file (if it exists). // This will be either the rollback journal or the WAL file. -func Xsqlite3PagerJrnlFile(tls *libc.TLS, pPager uintptr) uintptr { /* sqlite3.c:60235:29: */ +func Xsqlite3PagerJrnlFile(tls *libc.TLS, pPager uintptr) uintptr { /* sqlite3.c:60245:29: */ if (*Pager)(unsafe.Pointer(pPager)).FpWal != 0 { return Xsqlite3WalFile(tls, (*Pager)(unsafe.Pointer(pPager)).FpWal) } @@ -36569,7 +36579,7 @@ func Xsqlite3PagerJrnlFile(tls *libc.TLS, pPager uintptr) uintptr { /* sqlite3.c } // Return the full pathname of the journal file. -func Xsqlite3PagerJournalname(tls *libc.TLS, pPager uintptr) uintptr { /* sqlite3.c:60246:27: */ +func Xsqlite3PagerJournalname(tls *libc.TLS, pPager uintptr) uintptr { /* sqlite3.c:60256:27: */ return (*Pager)(unsafe.Pointer(pPager)).FzJournal } @@ -36596,7 +36606,7 @@ func Xsqlite3PagerJournalname(tls *libc.TLS, pPager uintptr) uintptr { /* sqlite // // This function may return SQLITE_NOMEM or an IO error code if an error // occurs. Otherwise, it returns SQLITE_OK. -func Xsqlite3PagerMovepage(tls *libc.TLS, pPager uintptr, pPg uintptr, pgno Pgno, isCommit int32) int32 { /* sqlite3.c:60276:20: */ +func Xsqlite3PagerMovepage(tls *libc.TLS, pPager uintptr, pPg uintptr, pgno Pgno, isCommit int32) int32 { /* sqlite3.c:60286:20: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -36658,7 +36668,7 @@ func Xsqlite3PagerMovepage(tls *libc.TLS, pPager uintptr, pPg uintptr, pgno Pgno if pPgOld != 0 { if int32((*PgHdr)(unsafe.Pointer(pPgOld)).FnRef) > 1 { Xsqlite3PagerUnrefNotNull(tls, pPgOld) - return Xsqlite3CorruptError(tls, 60350) + return Xsqlite3CorruptError(tls, 60360) } *(*U16)(unsafe.Pointer(pPg + 28)) |= U16(int32((*PgHdr)(unsafe.Pointer(pPgOld)).Fflags) & PGHDR_NEED_SYNC) if (*Pager)(unsafe.Pointer(pPager)).FtempFile != 0 { @@ -36718,21 +36728,21 @@ func Xsqlite3PagerMovepage(tls *libc.TLS, pPager uintptr, pPg uintptr, pgno Pgno // with a page number other than iNew. This function changes the page's // page number to iNew and sets the value of the PgHdr.flags field to // the value passed as the third parameter. -func Xsqlite3PagerRekey(tls *libc.TLS, pPg uintptr, iNew Pgno, flags U16) { /* sqlite3.c:60414:21: */ +func Xsqlite3PagerRekey(tls *libc.TLS, pPg uintptr, iNew Pgno, flags U16) { /* sqlite3.c:60424:21: */ (*DbPage)(unsafe.Pointer(pPg)).Fflags = flags Xsqlite3PcacheMove(tls, pPg, iNew) } // Return a pointer to the data for the specified page. -func Xsqlite3PagerGetData(tls *libc.TLS, pPg uintptr) uintptr { /* sqlite3.c:60423:21: */ +func Xsqlite3PagerGetData(tls *libc.TLS, pPg uintptr) uintptr { /* sqlite3.c:60433:21: */ return (*DbPage)(unsafe.Pointer(pPg)).FpData } // Return a pointer to the Pager.nExtra bytes of "extra" space // allocated along with the specified page. -func Xsqlite3PagerGetExtra(tls *libc.TLS, pPg uintptr) uintptr { /* sqlite3.c:60432:21: */ +func Xsqlite3PagerGetExtra(tls *libc.TLS, pPg uintptr) uintptr { /* sqlite3.c:60442:21: */ return (*DbPage)(unsafe.Pointer(pPg)).FpExtra } @@ -36744,7 +36754,7 @@ func Xsqlite3PagerGetExtra(tls *libc.TLS, pPg uintptr) uintptr { /* sqlite3.c:60 // The returned value is either PAGER_LOCKINGMODE_NORMAL or // PAGER_LOCKINGMODE_EXCLUSIVE, indicating the current (possibly updated) // locking-mode. -func Xsqlite3PagerLockingMode(tls *libc.TLS, pPager uintptr, eMode int32) int32 { /* sqlite3.c:60446:20: */ +func Xsqlite3PagerLockingMode(tls *libc.TLS, pPager uintptr, eMode int32) int32 { /* sqlite3.c:60456:20: */ if eMode >= 0 && !(int32((*Pager)(unsafe.Pointer(pPager)).FtempFile) != 0) && !(Xsqlite3WalHeapMemory(tls, (*Pager)(unsafe.Pointer(pPager)).FpWal) != 0) { (*Pager)(unsafe.Pointer(pPager)).FexclusiveMode = U8(eMode) @@ -36770,7 +36780,7 @@ func Xsqlite3PagerLockingMode(tls *libc.TLS, pPager uintptr, eMode int32) int32 // * Temporary databases cannot have _WAL journalmode. // // The returned indicate the current (possibly updated) journal-mode. -func Xsqlite3PagerSetJournalMode(tls *libc.TLS, pPager uintptr, eMode int32) int32 { /* sqlite3.c:60479:20: */ +func Xsqlite3PagerSetJournalMode(tls *libc.TLS, pPager uintptr, eMode int32) int32 { /* sqlite3.c:60489:20: */ var eOld U8 = (*Pager)(unsafe.Pointer(pPager)).FjournalMode // Prior journalmode // The eMode parameter is always valid @@ -36840,14 +36850,14 @@ func Xsqlite3PagerSetJournalMode(tls *libc.TLS, pPager uintptr, eMode int32) int } // Return the current journal mode. -func Xsqlite3PagerGetJournalMode(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:60569:20: */ +func Xsqlite3PagerGetJournalMode(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:60579:20: */ return int32((*Pager)(unsafe.Pointer(pPager)).FjournalMode) } // Return TRUE if the pager is in a state where it is OK to change the // journalmode. Journalmode changes can only happen when the database // is unmodified. -func Xsqlite3PagerOkToChangeJournalMode(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:60578:20: */ +func Xsqlite3PagerOkToChangeJournalMode(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:60588:20: */ if int32((*Pager)(unsafe.Pointer(pPager)).FeState) >= PAGER_WRITER_CACHEMOD { return 0 @@ -36862,7 +36872,7 @@ func Xsqlite3PagerOkToChangeJournalMode(tls *libc.TLS, pPager uintptr) int32 { / // // Setting the size limit to -1 means no limit is enforced. // An attempt to set a limit smaller than -1 is a no-op. -func Xsqlite3PagerJournalSizeLimit(tls *libc.TLS, pPager uintptr, iLimit I64) I64 { /* sqlite3.c:60591:20: */ +func Xsqlite3PagerJournalSizeLimit(tls *libc.TLS, pPager uintptr, iLimit I64) I64 { /* sqlite3.c:60601:20: */ if iLimit >= int64(-1) { (*Pager)(unsafe.Pointer(pPager)).FjournalSizeLimit = iLimit Xsqlite3WalLimit(tls, (*Pager)(unsafe.Pointer(pPager)).FpWal, iLimit) @@ -36874,12 +36884,12 @@ func Xsqlite3PagerJournalSizeLimit(tls *libc.TLS, pPager uintptr, iLimit I64) I6 // in backup.c maintains the content of this variable. This module // uses it opaquely as an argument to sqlite3BackupRestart() and // sqlite3BackupUpdate() only. -func Xsqlite3PagerBackupPtr(tls *libc.TLS, pPager uintptr) uintptr { /* sqlite3.c:60605:31: */ +func Xsqlite3PagerBackupPtr(tls *libc.TLS, pPager uintptr) uintptr { /* sqlite3.c:60615:31: */ return pPager + 92 } // Unless this is an in-memory or temporary database, clear the pager cache. -func Xsqlite3PagerClearCache(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:60613:21: */ +func Xsqlite3PagerClearCache(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:60623:21: */ if int32((*Pager)(unsafe.Pointer(pPager)).FtempFile) == 0 { pager_reset(tls, pPager) @@ -36891,7 +36901,7 @@ func Xsqlite3PagerClearCache(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:60613 // or wal_blocking_checkpoint() API functions. // // Parameter eMode is one of SQLITE_CHECKPOINT_PASSIVE, FULL or RESTART. -func Xsqlite3PagerCheckpoint(tls *libc.TLS, pPager uintptr, db uintptr, eMode int32, pnLog uintptr, pnCkpt uintptr) int32 { /* sqlite3.c:60628:20: */ +func Xsqlite3PagerCheckpoint(tls *libc.TLS, pPager uintptr, db uintptr, eMode int32, pnLog uintptr, pnCkpt uintptr) int32 { /* sqlite3.c:60638:20: */ var rc int32 = SQLITE_OK if (*Pager)(unsafe.Pointer(pPager)).FpWal == uintptr(0) && int32((*Pager)(unsafe.Pointer(pPager)).FjournalMode) == PAGER_JOURNALMODE_WAL { // This only happens when a database file is zero bytes in size opened and @@ -36919,13 +36929,13 @@ func Xsqlite3PagerCheckpoint(tls *libc.TLS, pPager uintptr, db uintptr, eMode in return rc } -func Xsqlite3PagerWalCallback(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:60659:20: */ +func Xsqlite3PagerWalCallback(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:60669:20: */ return Xsqlite3WalCallback(tls, (*Pager)(unsafe.Pointer(pPager)).FpWal) } // Return true if the underlying VFS for the given pager supports the // primitives necessary for write-ahead logging. -func Xsqlite3PagerWalSupported(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:60667:20: */ +func Xsqlite3PagerWalSupported(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:60677:20: */ var pMethods uintptr = (*Sqlite3_file)(unsafe.Pointer((*Pager)(unsafe.Pointer(pPager)).Ffd)).FpMethods if (*Pager)(unsafe.Pointer(pPager)).FnoLock != 0 { return 0 @@ -36935,7 +36945,7 @@ func Xsqlite3PagerWalSupported(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3 // Attempt to take an exclusive lock on the database file. If a PENDING lock // is obtained instead, immediately release it. -func pagerExclusiveLock(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:60677:12: */ +func pagerExclusiveLock(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:60687:12: */ var rc int32 // Return code rc = pagerLockDb(tls, pPager, EXCLUSIVE_LOCK) @@ -36952,7 +36962,7 @@ func pagerExclusiveLock(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:6067 // exclusive-locking mode when this function is called, take an EXCLUSIVE // lock on the database file and use heap-memory to store the wal-index // in. Otherwise, use the normal shared-memory. -func pagerOpenWal(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:60697:12: */ +func pagerOpenWal(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:60707:12: */ var rc int32 = SQLITE_OK // If the pager is already in exclusive-mode, the WAL module will use @@ -36988,7 +36998,7 @@ func pagerOpenWal(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:60697:12: // If the pager is open on a temp-file (or in-memory database), or if // the WAL file is already open, set *pbOpen to 1 and return SQLITE_OK // without doing anything. -func Xsqlite3PagerOpenWal(tls *libc.TLS, pPager uintptr, pbOpen uintptr) int32 { /* sqlite3.c:60742:20: */ +func Xsqlite3PagerOpenWal(tls *libc.TLS, pPager uintptr, pbOpen uintptr) int32 { /* sqlite3.c:60752:20: */ var rc int32 = SQLITE_OK // Return code if !(int32((*Pager)(unsafe.Pointer(pPager)).FtempFile) != 0) && !(int32((*Pager)(unsafe.Pointer(pPager)).FpWal) != 0) { @@ -37018,7 +37028,7 @@ func Xsqlite3PagerOpenWal(tls *libc.TLS, pPager uintptr, pbOpen uintptr) int32 { // EXCLUSIVE lock on the database file. If this cannot be obtained, an // error (SQLITE_BUSY) is returned and the log connection is not closed. // If successful, the EXCLUSIVE lock is not released before returning. -func Xsqlite3PagerCloseWal(tls *libc.TLS, pPager uintptr, db uintptr) int32 { /* sqlite3.c:60781:20: */ +func Xsqlite3PagerCloseWal(tls *libc.TLS, pPager uintptr, db uintptr) int32 { /* sqlite3.c:60791:20: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -37058,7 +37068,7 @@ func Xsqlite3PagerCloseWal(tls *libc.TLS, pPager uintptr, db uintptr) int32 { /* // If this is a WAL database, obtain a snapshot handle for the snapshot // currently open. Otherwise, return an error. -func Xsqlite3PagerSnapshotGet(tls *libc.TLS, pPager uintptr, ppSnapshot uintptr) int32 { /* sqlite3.c:60850:20: */ +func Xsqlite3PagerSnapshotGet(tls *libc.TLS, pPager uintptr, ppSnapshot uintptr) int32 { /* sqlite3.c:60860:20: */ var rc int32 = SQLITE_ERROR if (*Pager)(unsafe.Pointer(pPager)).FpWal != 0 { rc = Xsqlite3WalSnapshotGet(tls, (*Pager)(unsafe.Pointer(pPager)).FpWal, ppSnapshot) @@ -37069,7 +37079,7 @@ func Xsqlite3PagerSnapshotGet(tls *libc.TLS, pPager uintptr, ppSnapshot uintptr) // If this is a WAL database, store a pointer to pSnapshot. Next time a // read transaction is opened, attempt to read from the snapshot it // identifies. If this is not a WAL database, return an error. -func Xsqlite3PagerSnapshotOpen(tls *libc.TLS, pPager uintptr, pSnapshot uintptr) int32 { /* sqlite3.c:60863:20: */ +func Xsqlite3PagerSnapshotOpen(tls *libc.TLS, pPager uintptr, pSnapshot uintptr) int32 { /* sqlite3.c:60873:20: */ var rc int32 = SQLITE_OK if (*Pager)(unsafe.Pointer(pPager)).FpWal != 0 { Xsqlite3WalSnapshotOpen(tls, (*Pager)(unsafe.Pointer(pPager)).FpWal, pSnapshot) @@ -37081,7 +37091,7 @@ func Xsqlite3PagerSnapshotOpen(tls *libc.TLS, pPager uintptr, pSnapshot uintptr) // If this is a WAL database, call sqlite3WalSnapshotRecover(). If this // is not a WAL database, return an error. -func Xsqlite3PagerSnapshotRecover(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:60880:20: */ +func Xsqlite3PagerSnapshotRecover(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:60890:20: */ var rc int32 if (*Pager)(unsafe.Pointer(pPager)).FpWal != 0 { rc = Xsqlite3WalSnapshotRecover(tls, (*Pager)(unsafe.Pointer(pPager)).FpWal) @@ -37101,7 +37111,7 @@ func Xsqlite3PagerSnapshotRecover(tls *libc.TLS, pPager uintptr) int32 { /* sqli // the CHECKPOINTER lock cannot be obtained, SQLITE_BUSY. If any error // occurs (any value other than SQLITE_OK is returned), the CHECKPOINTER // lock is released before returning. -func Xsqlite3PagerSnapshotCheck(tls *libc.TLS, pPager uintptr, pSnapshot uintptr) int32 { /* sqlite3.c:60902:20: */ +func Xsqlite3PagerSnapshotCheck(tls *libc.TLS, pPager uintptr, pSnapshot uintptr) int32 { /* sqlite3.c:60912:20: */ var rc int32 if (*Pager)(unsafe.Pointer(pPager)).FpWal != 0 { rc = Xsqlite3WalSnapshotCheck(tls, (*Pager)(unsafe.Pointer(pPager)).FpWal, pSnapshot) @@ -37113,7 +37123,7 @@ func Xsqlite3PagerSnapshotCheck(tls *libc.TLS, pPager uintptr, pSnapshot uintptr // Release a lock obtained by an earlier successful call to // sqlite3PagerSnapshotCheck(). -func Xsqlite3PagerSnapshotUnlock(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:60916:21: */ +func Xsqlite3PagerSnapshotUnlock(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:60926:21: */ Xsqlite3WalSnapshotUnlock(tls, (*Pager)(unsafe.Pointer(pPager)).FpWal) } @@ -37692,7 +37702,7 @@ type WalIndexHdr1 = struct { // byte. // Object declarations -type WalIndexHdr = WalIndexHdr1 /* sqlite3.c:61244:28 */ +type WalIndexHdr = WalIndexHdr1 /* sqlite3.c:61254:28 */ type WalIterator1 = struct { FiPrior U32 FnSegment int32 @@ -37703,18 +37713,18 @@ type WalIterator1 = struct { FnEntry int32 FiZero int32 } -} /* sqlite3.c:61245:9 */ +} /* sqlite3.c:61255:9 */ -type WalIterator = WalIterator1 /* sqlite3.c:61245:28 */ +type WalIterator = WalIterator1 /* sqlite3.c:61255:28 */ type WalCkptInfo1 = struct { FnBackfill U32 FaReadMark [5]U32 FaLock [8]U8 FnBackfillAttempted U32 FnotUsed0 U32 -} /* sqlite3.c:61246:9 */ +} /* sqlite3.c:61256:9 */ -type WalCkptInfo = WalCkptInfo1 /* sqlite3.c:61246:28 */ +type WalCkptInfo = WalCkptInfo1 /* sqlite3.c:61256:28 */ // Candidate values for Wal.exclusiveMode. @@ -37722,7 +37732,7 @@ type WalCkptInfo = WalCkptInfo1 /* sqlite3.c:61246:28 */ // Each page of the wal-index mapping contains a hash-table made up of // an array of HASHTABLE_NSLOT elements of the following type. -type Ht_slot = U16 /* sqlite3.c:61501:13 */ +type Ht_slot = U16 /* sqlite3.c:61511:13 */ // 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 @@ -37743,7 +37753,7 @@ type WalSegment = struct { FaPgno uintptr FnEntry int32 FiZero int32 -} /* sqlite3.c:61245:9 */ +} /* sqlite3.c:61255:9 */ // Define the parameters of the hash tables in the wal-index file. There // is a hash-table following every HASHTABLE_NPAGE page numbers in the @@ -37774,7 +37784,7 @@ type WalSegment = struct { // (3) rc==SQLITE_OK and *ppPage==NULL // only if iPage==0 // // Scenario (3) can only occur when pWal->writeLock is false and iPage==0 -func walIndexPageRealloc(tls *libc.TLS, pWal uintptr, iPage int32, ppPage uintptr) int32 { /* sqlite3.c:61572:28: */ +func walIndexPageRealloc(tls *libc.TLS, pWal uintptr, iPage int32, ppPage uintptr) int32 { /* sqlite3.c:61582:28: */ var rc int32 = SQLITE_OK // Enlarge the pWal->apWiData[] array if required @@ -37820,7 +37830,7 @@ func walIndexPageRealloc(tls *libc.TLS, pWal uintptr, iPage int32, ppPage uintpt return rc } -func walIndexPage(tls *libc.TLS, pWal uintptr, iPage int32, ppPage uintptr) int32 { /* sqlite3.c:61621:12: */ +func walIndexPage(tls *libc.TLS, pWal uintptr, iPage int32, ppPage uintptr) int32 { /* sqlite3.c:61631:12: */ if (*Wal)(unsafe.Pointer(pWal)).FnWiData <= iPage || libc.AssignPtrUintptr(ppPage, *(*uintptr)(unsafe.Pointer((*Wal)(unsafe.Pointer(pWal)).FapWiData + uintptr(iPage)*4))) == uintptr(0) { return walIndexPageRealloc(tls, pWal, iPage, ppPage) } @@ -37828,13 +37838,13 @@ func walIndexPage(tls *libc.TLS, pWal uintptr, iPage int32, ppPage uintptr) int3 } // Return a pointer to the WalCkptInfo structure in the wal-index. -func walCkptInfo(tls *libc.TLS, pWal uintptr) uintptr { /* sqlite3.c:61635:29: */ +func walCkptInfo(tls *libc.TLS, pWal uintptr) uintptr { /* sqlite3.c:61645:29: */ return *(*uintptr)(unsafe.Pointer((*Wal)(unsafe.Pointer(pWal)).FapWiData)) + 24*4 } // Return a pointer to the WalIndexHdr structure in the wal-index. -func walIndexHdr(tls *libc.TLS, pWal uintptr) uintptr { /* sqlite3.c:61643:29: */ +func walIndexHdr(tls *libc.TLS, pWal uintptr) uintptr { /* sqlite3.c:61653:29: */ return *(*uintptr)(unsafe.Pointer((*Wal)(unsafe.Pointer(pWal)).FapWiData)) } @@ -37852,7 +37862,7 @@ func walIndexHdr(tls *libc.TLS, pWal uintptr) uintptr { /* sqlite3.c:61643:29: * // The checksum is written back into aOut[] before returning. // // nByte must be a positive multiple of 8. -func walChecksumBytes(tls *libc.TLS, nativeCksum int32, a uintptr, nByte int32, aIn uintptr, aOut uintptr) { /* sqlite3.c:61669:13: */ +func walChecksumBytes(tls *libc.TLS, nativeCksum int32, a uintptr, nByte int32, aIn uintptr, aOut uintptr) { /* sqlite3.c:61679:13: */ var s1 U32 var s2 U32 var aData uintptr = a @@ -37884,7 +37894,7 @@ func walChecksumBytes(tls *libc.TLS, nativeCksum int32, a uintptr, nByte int32, // If there is the possibility of concurrent access to the SHM file // from multiple threads and/or processes, then do a memory barrier. -func walShmBarrier(tls *libc.TLS, pWal uintptr) { /* sqlite3.c:61712:13: */ +func walShmBarrier(tls *libc.TLS, pWal uintptr) { /* sqlite3.c:61722:13: */ if int32((*Wal)(unsafe.Pointer(pWal)).FexclusiveMode) != WAL_HEAPMEMORY_MODE { Xsqlite3OsShmBarrier(tls, (*Wal)(unsafe.Pointer(pWal)).FpDbFd) } @@ -37899,7 +37909,7 @@ func walShmBarrier(tls *libc.TLS, pWal uintptr) { /* sqlite3.c:61712:13: */ // Write the header information in pWal->hdr into the wal-index. // // The checksum on pWal->hdr is updated before it is written. -func walIndexWriteHdr(tls *libc.TLS, pWal uintptr) { /* sqlite3.c:61736:28: */ +func walIndexWriteHdr(tls *libc.TLS, pWal uintptr) { /* sqlite3.c:61746:28: */ var aHdr uintptr = walIndexHdr(tls, pWal) var nCksum int32 = int32(uintptr(0) + 40) @@ -37923,7 +37933,7 @@ func walIndexWriteHdr(tls *libc.TLS, pWal uintptr) { /* sqlite3.c:61736:28: */ // 12: Salt-2 (copied from the wal-header) // 16: Checksum-1. // 20: Checksum-2. -func walEncodeFrame(tls *libc.TLS, pWal uintptr, iPage U32, nTruncate U32, aData uintptr, aFrame uintptr) { /* sqlite3.c:61763:13: */ +func walEncodeFrame(tls *libc.TLS, pWal uintptr, iPage U32, nTruncate U32, aData uintptr, aFrame uintptr) { /* sqlite3.c:61773:13: */ var nativeCksum int32 // True for native byte-order checksums var aCksum uintptr = pWal + 52 + 24 @@ -37946,7 +37956,7 @@ func walEncodeFrame(tls *libc.TLS, pWal uintptr, iPage U32, nTruncate U32, aData // Check to see if the frame with header in aFrame[] and content // in aData[] is valid. If it is a valid frame, fill *piPage and // *pnTruncate and return true. Return if the frame is not valid. -func walDecodeFrame(tls *libc.TLS, pWal uintptr, piPage uintptr, pnTruncate uintptr, aData uintptr, aFrame uintptr) int32 { /* sqlite3.c:61794:12: */ +func walDecodeFrame(tls *libc.TLS, pWal uintptr, piPage uintptr, pnTruncate uintptr, aData uintptr, aFrame uintptr) int32 { /* sqlite3.c:61804:12: */ var nativeCksum int32 // True for native byte-order checksums var aCksum uintptr = pWal + 52 + 24 var pgno U32 // Page number of the frame @@ -37988,7 +37998,7 @@ func walDecodeFrame(tls *libc.TLS, pWal uintptr, piPage uintptr, pnTruncate uint // through the unlocked state first. // // In locking_mode=EXCLUSIVE, all of these routines become no-ops. -func walLockShared(tls *libc.TLS, pWal uintptr, lockIdx int32) int32 { /* sqlite3.c:61873:12: */ +func walLockShared(tls *libc.TLS, pWal uintptr, lockIdx int32) int32 { /* sqlite3.c:61883:12: */ var rc int32 if (*Wal)(unsafe.Pointer(pWal)).FexclusiveMode != 0 { return SQLITE_OK @@ -37999,7 +38009,7 @@ func walLockShared(tls *libc.TLS, pWal uintptr, lockIdx int32) int32 { /* sqlite return rc } -func walUnlockShared(tls *libc.TLS, pWal uintptr, lockIdx int32) { /* sqlite3.c:61883:13: */ +func walUnlockShared(tls *libc.TLS, pWal uintptr, lockIdx int32) { /* sqlite3.c:61893:13: */ if (*Wal)(unsafe.Pointer(pWal)).FexclusiveMode != 0 { return } @@ -38008,7 +38018,7 @@ func walUnlockShared(tls *libc.TLS, pWal uintptr, lockIdx int32) { /* sqlite3.c: } -func walLockExclusive(tls *libc.TLS, pWal uintptr, lockIdx int32, n int32) int32 { /* sqlite3.c:61889:12: */ +func walLockExclusive(tls *libc.TLS, pWal uintptr, lockIdx int32, n int32) int32 { /* sqlite3.c:61899:12: */ var rc int32 if (*Wal)(unsafe.Pointer(pWal)).FexclusiveMode != 0 { return SQLITE_OK @@ -38019,7 +38029,7 @@ func walLockExclusive(tls *libc.TLS, pWal uintptr, lockIdx int32, n int32) int32 return rc } -func walUnlockExclusive(tls *libc.TLS, pWal uintptr, lockIdx int32, n int32) { /* sqlite3.c:61899:13: */ +func walUnlockExclusive(tls *libc.TLS, pWal uintptr, lockIdx int32, n int32) { /* sqlite3.c:61909:13: */ if (*Wal)(unsafe.Pointer(pWal)).FexclusiveMode != 0 { return } @@ -38031,12 +38041,12 @@ func walUnlockExclusive(tls *libc.TLS, pWal uintptr, lockIdx int32, n int32) { / // Compute a hash on a page number. The resulting hash value must land // between 0 and (HASHTABLE_NSLOT-1). The walHashNext() function advances // the hash to the next value in the event of a collision. -func walHash(tls *libc.TLS, iPage U32) int32 { /* sqlite3.c:61912:12: */ +func walHash(tls *libc.TLS, iPage U32) int32 { /* sqlite3.c:61922:12: */ return int32(iPage * U32(HASHTABLE_HASH_1) & U32(HASHTABLE_NPAGE*2-1)) } -func walNextHash(tls *libc.TLS, iPriorHash int32) int32 { /* sqlite3.c:61917:12: */ +func walNextHash(tls *libc.TLS, iPriorHash int32) int32 { /* sqlite3.c:61927:12: */ return (iPriorHash + 1) & (HASHTABLE_NPAGE*2 - 1) } @@ -38047,12 +38057,12 @@ type WalHashLoc1 = struct { FaHash uintptr FaPgno uintptr FiZero U32 -} /* sqlite3.c:61926:9 */ +} /* sqlite3.c:61936:9 */ // An instance of the WalHashLoc object is used to describe the location // of a page hash table in the wal-index. This becomes the return value // from walHashGet(). -type WalHashLoc = WalHashLoc1 /* sqlite3.c:61926:27 */ +type WalHashLoc = WalHashLoc1 /* sqlite3.c:61936:27 */ // Return pointers to the hash table and page number array stored on // page iHash of the wal-index. The wal-index is broken into 32KB pages @@ -38066,7 +38076,7 @@ type WalHashLoc = WalHashLoc1 /* sqlite3.c:61926:27 */ // // Finally, set pLoc->aPgno so that pLoc->aPgno[0] is the page number of the // first frame indexed by the hash table, frame (pLoc->iZero). -func walHashGet(tls *libc.TLS, pWal uintptr, iHash int32, pLoc uintptr) int32 { /* sqlite3.c:61947:12: */ +func walHashGet(tls *libc.TLS, pWal uintptr, iHash int32, pLoc uintptr) int32 { /* sqlite3.c:61957:12: */ var rc int32 // Return code rc = walIndexPage(tls, pWal, iHash, pLoc+4) @@ -38089,14 +38099,14 @@ func walHashGet(tls *libc.TLS, pWal uintptr, iHash int32, pLoc uintptr) int32 { // and page-number array that contain entries corresponding to WAL frame // iFrame. The wal-index is broken up into 32KB pages. Wal-index pages // are numbered starting from 0. -func walFramePage(tls *libc.TLS, iFrame U32) int32 { /* sqlite3.c:61977:12: */ +func walFramePage(tls *libc.TLS, iFrame U32) int32 { /* sqlite3.c:61987:12: */ var iHash int32 = int32((iFrame + U32(HASHTABLE_NPAGE) - (uint32(HASHTABLE_NPAGE) - (uint32(unsafe.Sizeof(WalIndexHdr{}))*uint32(2)+uint32(unsafe.Sizeof(WalCkptInfo{})))/uint32(unsafe.Sizeof(U32(0)))) - U32(1)) / U32(HASHTABLE_NPAGE)) return iHash } // Return the page number associated with frame iFrame in this WAL. -func walFramePgno(tls *libc.TLS, pWal uintptr, iFrame U32) U32 { /* sqlite3.c:61992:12: */ +func walFramePgno(tls *libc.TLS, pWal uintptr, iFrame U32) U32 { /* sqlite3.c:62002:12: */ var iHash int32 = walFramePage(tls, iFrame) if iHash == 0 { return *(*U32)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer((*Wal)(unsafe.Pointer(pWal)).FapWiData)) + uintptr((uint32(unsafe.Sizeof(WalIndexHdr{}))*uint32(2)+uint32(unsafe.Sizeof(WalCkptInfo{})))/uint32(unsafe.Sizeof(U32(0)))+iFrame-uint32(1))*4)) @@ -38114,7 +38124,7 @@ func walFramePgno(tls *libc.TLS, pWal uintptr, iFrame U32) U32 { /* sqlite3.c:61 // updated. Any later hash tables will be automatically cleared when // pWal->hdr.mxFrame advances to the point where those hash tables are // actually needed. -func walCleanupHash(tls *libc.TLS, pWal uintptr) { /* sqlite3.c:62012:13: */ +func walCleanupHash(tls *libc.TLS, pWal uintptr) { /* sqlite3.c:62022:13: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -38157,7 +38167,7 @@ func walCleanupHash(tls *libc.TLS, pWal uintptr) { /* sqlite3.c:62012:13: */ // Set an entry in the wal-index that will map database page number // pPage into WAL frame iFrame. -func walIndexAppend(tls *libc.TLS, pWal uintptr, iFrame U32, iPage U32) int32 { /* sqlite3.c:62074:12: */ +func walIndexAppend(tls *libc.TLS, pWal uintptr, iFrame U32, iPage U32) int32 { /* sqlite3.c:62084:12: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -38198,7 +38208,7 @@ func walIndexAppend(tls *libc.TLS, pWal uintptr, iFrame U32, iPage U32) int32 { nCollide = idx for iKey = walHash(tls, iPage); *(*Ht_slot)(unsafe.Pointer((*WalHashLoc)(unsafe.Pointer(bp /* &sLoc */)).FaHash + uintptr(iKey)*2)) != 0; iKey = walNextHash(tls, iKey) { if libc.PostDecInt32(&nCollide, 1) == 0 { - return Xsqlite3CorruptError(tls, 62114) + return Xsqlite3CorruptError(tls, 62124) } } *(*U32)(unsafe.Pointer((*WalHashLoc)(unsafe.Pointer(bp /* &sLoc */)).FaPgno + uintptr(idx-1)*4)) = iPage @@ -38217,7 +38227,7 @@ func walIndexAppend(tls *libc.TLS, pWal uintptr, iFrame U32, iPage U32) int32 { // WAL_RECOVER_LOCK is also held so that other threads will know // that this thread is running recovery. If unable to establish // the necessary locks, this routine returns SQLITE_BUSY. -func walIndexRecover(tls *libc.TLS, pWal uintptr) int32 { /* sqlite3.c:62163:12: */ +func walIndexRecover(tls *libc.TLS, pWal uintptr) int32 { /* sqlite3.c:62173:12: */ bp := tls.Alloc(76) defer tls.Free(76) @@ -38332,7 +38342,7 @@ __6: if !(version != U32(WAL_MAX_VERSION)) { goto __7 } - rc = Xsqlite3CantopenError(tls, 62246) + rc = Xsqlite3CantopenError(tls, 62256) goto finished __7: ; @@ -38536,7 +38546,7 @@ recovery_error: } // Close an open wal-index. -func walIndexClose(tls *libc.TLS, pWal uintptr, isDelete int32) { /* sqlite3.c:62386:13: */ +func walIndexClose(tls *libc.TLS, pWal uintptr, isDelete int32) { /* sqlite3.c:62396:13: */ if int32((*Wal)(unsafe.Pointer(pWal)).FexclusiveMode) == WAL_HEAPMEMORY_MODE || (*Wal)(unsafe.Pointer(pWal)).FbShmUnreliable != 0 { var i int32 for i = 0; i < (*Wal)(unsafe.Pointer(pWal)).FnWiData; i++ { @@ -38562,7 +38572,7 @@ func walIndexClose(tls *libc.TLS, pWal uintptr, isDelete int32) { /* sqlite3.c:6 // If the log file is successfully opened, SQLITE_OK is returned and // *ppWal is set to point to a new WAL handle. If an error occurs, // an SQLite error code is returned and *ppWal is left unmodified. -func Xsqlite3WalOpen(tls *libc.TLS, pVfs uintptr, pDbFd uintptr, zWalName uintptr, bNoShm int32, mxWalSize I64, ppWal uintptr) int32 { /* sqlite3.c:62414:20: */ +func Xsqlite3WalOpen(tls *libc.TLS, pVfs uintptr, pDbFd uintptr, zWalName uintptr, bNoShm int32, mxWalSize I64, ppWal uintptr) int32 { /* sqlite3.c:62424:20: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -38634,7 +38644,7 @@ func Xsqlite3WalOpen(tls *libc.TLS, pVfs uintptr, pDbFd uintptr, zWalName uintpt } // Change the size to which the WAL file is trucated on each reset. -func Xsqlite3WalLimit(tls *libc.TLS, pWal uintptr, iLimit I64) { /* sqlite3.c:62517:21: */ +func Xsqlite3WalLimit(tls *libc.TLS, pWal uintptr, iLimit I64) { /* sqlite3.c:62527:21: */ if pWal != 0 { (*Wal)(unsafe.Pointer(pWal)).FmxWalSize = iLimit } @@ -38648,7 +38658,7 @@ func Xsqlite3WalLimit(tls *libc.TLS, pWal uintptr, iLimit I64) { /* sqlite3.c:62 // // Return 0 on success. If there are no pages in the WAL with a page // number larger than *piPage, then return 1. -func walIteratorNext(tls *libc.TLS, p uintptr, piPage uintptr, piFrame uintptr) int32 { /* sqlite3.c:62531:12: */ +func walIteratorNext(tls *libc.TLS, p uintptr, piPage uintptr, piFrame uintptr) int32 { /* sqlite3.c:62541:12: */ var iMin U32 // Result pgno must be greater than iMin var iRet U32 = 0xFFFFFFFF // 0xffffffff is never a valid page number var i int32 // For looping through segments @@ -38695,7 +38705,7 @@ func walIteratorNext(tls *libc.TLS, p uintptr, piPage uintptr, piFrame uintptr) // aLeft[X]!=aRight[Y] && aContent[aLeft[X]] == aContent[aRight[Y]] // // When that happens, omit the aLeft[X] and use the aRight[Y] index. -func walMerge(tls *libc.TLS, aContent uintptr, aLeft uintptr, nLeft int32, paRight uintptr, pnRight uintptr, aTmp uintptr) { /* sqlite3.c:62584:13: */ +func walMerge(tls *libc.TLS, aContent uintptr, aLeft uintptr, nLeft int32, paRight uintptr, pnRight uintptr, aTmp uintptr) { /* sqlite3.c:62594:13: */ var iLeft int32 = 0 // Current index in aLeft var iRight int32 = 0 // Current index in aRight var iOut int32 = 0 // Current index in output buffer @@ -38741,7 +38751,7 @@ func walMerge(tls *libc.TLS, aContent uintptr, aLeft uintptr, nLeft int32, paRig // // Keep the larger of the two values aList[X] and aList[Y] and discard // the smaller. -func walMergesort(tls *libc.TLS, aContent uintptr, aBuffer uintptr, aList uintptr, pnList uintptr) { /* sqlite3.c:62641:13: */ +func walMergesort(tls *libc.TLS, aContent uintptr, aBuffer uintptr, aList uintptr, pnList uintptr) { /* sqlite3.c:62651:13: */ bp := tls.Alloc(112) defer tls.Free(112) @@ -38786,10 +38796,10 @@ func walMergesort(tls *libc.TLS, aContent uintptr, aBuffer uintptr, aList uintpt type Sublist = struct { FnList int32 FaList uintptr -} /* sqlite3.c:62647:3 */ +} /* sqlite3.c:62657:3 */ // Free an iterator allocated by walIteratorInit(). -func walIteratorFree(tls *libc.TLS, p uintptr) { /* sqlite3.c:62704:13: */ +func walIteratorFree(tls *libc.TLS, p uintptr) { /* sqlite3.c:62714:13: */ Xsqlite3_free(tls, p) } @@ -38804,7 +38814,7 @@ func walIteratorFree(tls *libc.TLS, p uintptr) { /* sqlite3.c:62704:13: */ // // The calling routine should invoke walIteratorFree() to destroy the // WalIterator object when it has finished with it. -func walIteratorInit(tls *libc.TLS, pWal uintptr, nBackfill U32, pp uintptr) int32 { /* sqlite3.c:62721:12: */ +func walIteratorInit(tls *libc.TLS, pWal uintptr, nBackfill U32, pp uintptr) int32 { /* sqlite3.c:62731:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -38888,7 +38898,7 @@ func walIteratorInit(tls *libc.TLS, pWal uintptr, nBackfill U32, pp uintptr) int // n. If the attempt fails and parameter xBusy is not NULL, then it is a // 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) int32 { /* sqlite3.c:62884:12: */ +func walBusyLock(tls *libc.TLS, pWal uintptr, xBusy uintptr, pBusyArg uintptr, lockIdx int32, n int32) int32 { /* sqlite3.c:62894:12: */ var rc int32 for __ccgo := true; __ccgo; __ccgo = xBusy != 0 && rc == SQLITE_BUSY && (*struct { f func(*libc.TLS, uintptr) int32 @@ -38900,7 +38910,7 @@ func walBusyLock(tls *libc.TLS, pWal uintptr, xBusy uintptr, pBusyArg uintptr, l // The cache of the wal-index header must be valid to call this function. // Return the page-size in bytes used by the database. -func walPagesize(tls *libc.TLS, pWal uintptr) int32 { /* sqlite3.c:62908:12: */ +func walPagesize(tls *libc.TLS, pWal uintptr) int32 { /* sqlite3.c:62918:12: */ return int32((*Wal)(unsafe.Pointer(pWal)).Fhdr.FszPage)&0xfe00 + int32((*Wal)(unsafe.Pointer(pWal)).Fhdr.FszPage)&0x0001<<16 } @@ -38919,7 +38929,7 @@ func walPagesize(tls *libc.TLS, pWal uintptr) int32 { /* sqlite3.c:62908:12: */ // The value of parameter salt1 is used as the aSalt[1] value in the // new wal-index header. It should be passed a pseudo-random value (i.e. // one obtained from sqlite3_randomness()). -func walRestartHdr(tls *libc.TLS, pWal uintptr, salt1 U32) { /* sqlite3.c:62929:13: */ +func walRestartHdr(tls *libc.TLS, pWal uintptr, salt1 U32) { /* sqlite3.c:62939:13: */ bp := tls.Alloc(4) defer tls.Free(4) *(*U32)(unsafe.Pointer(bp)) = salt1 @@ -38970,7 +38980,7 @@ func walRestartHdr(tls *libc.TLS, pWal uintptr, salt1 U32) { /* sqlite3.c:62929: // The caller must be holding sufficient locks to ensure that no other // 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) int32 { /* sqlite3.c:62976:12: */ +func walCheckpoint(tls *libc.TLS, pWal uintptr, db uintptr, eMode int32, xBusy uintptr, pBusyArg uintptr, sync_flags int32, zBuf uintptr) int32 { /* sqlite3.c:62986:12: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -39101,7 +39111,7 @@ __10: // 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 = Xsqlite3CorruptError(tls, 63060) + rc = Xsqlite3CorruptError(tls, 63070) goto __15 __14: Xsqlite3OsFileControlHint(tls, (*Wal)(unsafe.Pointer(pWal)).FpDbFd, SQLITE_FCNTL_SIZE_HINT, bp+12) @@ -39262,7 +39272,7 @@ walcheckpoint_out: // If the WAL file is currently larger than nMax bytes in size, truncate // it to exactly nMax bytes. If an error occurs while doing so, ignore it. -func walLimitSize(tls *libc.TLS, pWal uintptr, nMax I64) { /* sqlite3.c:63162:13: */ +func walLimitSize(tls *libc.TLS, pWal uintptr, nMax I64) { /* sqlite3.c:63172:13: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -39281,7 +39291,7 @@ func walLimitSize(tls *libc.TLS, pWal uintptr, nMax I64) { /* sqlite3.c:63162:13 } // Close a connection to a log file. -func Xsqlite3WalClose(tls *libc.TLS, pWal uintptr, db uintptr, sync_flags int32, nBuf int32, zBuf uintptr) int32 { /* sqlite3.c:63179:20: */ +func Xsqlite3WalClose(tls *libc.TLS, pWal uintptr, db uintptr, sync_flags int32, nBuf int32, zBuf uintptr) int32 { /* sqlite3.c:63189:20: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -39353,7 +39363,7 @@ func Xsqlite3WalClose(tls *libc.TLS, pWal uintptr, db uintptr, sync_flags int32, // // If the checksum cannot be verified return non-zero. If the header // is read successfully and the checksum verified, return zero. -func walIndexTryHdr(tls *libc.TLS, pWal uintptr, pChanged uintptr) int32 { /* sqlite3.c:63260:27: */ +func walIndexTryHdr(tls *libc.TLS, pWal uintptr, pChanged uintptr) int32 { /* sqlite3.c:63270:27: */ bp := tls.Alloc(104) defer tls.Free(104) @@ -39422,7 +39432,7 @@ func walIndexTryHdr(tls *libc.TLS, pWal uintptr, pChanged uintptr) int32 { /* sq // // If the wal-index header is successfully read, return SQLITE_OK. // Otherwise an SQLite error code. -func walIndexReadHdr(tls *libc.TLS, pWal uintptr, pChanged uintptr) int32 { /* sqlite3.c:63330:12: */ +func walIndexReadHdr(tls *libc.TLS, pWal uintptr, pChanged uintptr) int32 { /* sqlite3.c:63340:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -39502,7 +39512,7 @@ func walIndexReadHdr(tls *libc.TLS, pWal uintptr, pChanged uintptr) int32 { /* s // sure the wal-index was not constructed with some future format that // this version of SQLite cannot understand. if badHdr == 0 && (*Wal)(unsafe.Pointer(pWal)).Fhdr.FiVersion != U32(WALINDEX_MAX_VERSION) { - rc = Xsqlite3CantopenError(tls, 63409) + rc = Xsqlite3CantopenError(tls, 63419) } if (*Wal)(unsafe.Pointer(pWal)).FbShmUnreliable != 0 { if rc != SQLITE_OK { @@ -39547,7 +39557,7 @@ func walIndexReadHdr(tls *libc.TLS, pWal uintptr, pChanged uintptr) int32 { /* s // beginning (including attempting to map the *-shm file). // // If an error occurs, an SQLite error code is returned. -func walBeginShmUnreliable(tls *libc.TLS, pWal uintptr, pChanged uintptr) int32 { /* sqlite3.c:63454:12: */ +func walBeginShmUnreliable(tls *libc.TLS, pWal uintptr, pChanged uintptr) int32 { /* sqlite3.c:63464:12: */ bp := tls.Alloc(60) defer tls.Free(60) @@ -39813,7 +39823,7 @@ __15: // update values of the aReadMark[] array in the header, but if it does // so it takes care to hold an exclusive lock on the corresponding // WAL_READ_LOCK() while changing values. -func walTryBeginRead(tls *libc.TLS, pWal uintptr, pChanged uintptr, useWal int32, cnt int32) int32 { /* sqlite3.c:63651:12: */ +func walTryBeginRead(tls *libc.TLS, pWal uintptr, pChanged uintptr, useWal int32, cnt int32) int32 { /* sqlite3.c:63661:12: */ var pInfo uintptr // Checkpoint information in wal-index var mxReadMark U32 // Largest aReadMark[] value var mxI int32 // Index of largest aReadMark[] value @@ -40030,7 +40040,7 @@ func walTryBeginRead(tls *libc.TLS, pWal uintptr, pChanged uintptr, useWal int32 // SQLITE_OK is returned if successful, or an SQLite error code if an // error occurs. It is not an error if nBackfillAttempted cannot be // decreased at all. -func Xsqlite3WalSnapshotRecover(tls *libc.TLS, pWal uintptr) int32 { /* sqlite3.c:63881:20: */ +func Xsqlite3WalSnapshotRecover(tls *libc.TLS, pWal uintptr) int32 { /* sqlite3.c:63891:20: */ bp := tls.Alloc(20) defer tls.Free(20) @@ -40104,7 +40114,7 @@ func Xsqlite3WalSnapshotRecover(tls *libc.TLS, pWal uintptr) int32 { /* sqlite3. // transaction, then *pChanged is set to 1 before returning. The // Pager layer will use this to know that its cache is stale and // needs to be flushed. -func Xsqlite3WalBeginReadTransaction(tls *libc.TLS, pWal uintptr, pChanged uintptr) int32 { /* sqlite3.c:63952:20: */ +func Xsqlite3WalBeginReadTransaction(tls *libc.TLS, pWal uintptr, pChanged uintptr) int32 { /* sqlite3.c:63962:20: */ var rc int32 // Return code var cnt int32 = 0 // Number of TryBeginRead attempts var bChanged int32 = 0 @@ -40192,7 +40202,7 @@ func Xsqlite3WalBeginReadTransaction(tls *libc.TLS, pWal uintptr, pChanged uintp // Finish with a read transaction. All this does is release the // read-lock. -func Xsqlite3WalEndReadTransaction(tls *libc.TLS, pWal uintptr) { /* sqlite3.c:64060:21: */ +func Xsqlite3WalEndReadTransaction(tls *libc.TLS, pWal uintptr) { /* sqlite3.c:64070:21: */ Xsqlite3WalEndWriteTransaction(tls, pWal) if int32((*Wal)(unsafe.Pointer(pWal)).FreadLock) >= 0 { walUnlockShared(tls, pWal, 3+int32((*Wal)(unsafe.Pointer(pWal)).FreadLock)) @@ -40206,7 +40216,7 @@ func Xsqlite3WalEndReadTransaction(tls *libc.TLS, pWal uintptr) { /* sqlite3.c:6 // // Return SQLITE_OK if successful, or an error code if an error occurs. If an // error does occur, the final value of *piRead is undefined. -func Xsqlite3WalFindFrame(tls *libc.TLS, pWal uintptr, pgno Pgno, piRead uintptr) int32 { /* sqlite3.c:64076:20: */ +func Xsqlite3WalFindFrame(tls *libc.TLS, pWal uintptr, pgno Pgno, piRead uintptr) int32 { /* sqlite3.c:64086:20: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -40273,7 +40283,7 @@ func Xsqlite3WalFindFrame(tls *libc.TLS, pWal uintptr, pgno Pgno, piRead uintptr iRead = iFrame } if libc.PostDecInt32(&nCollide, 1) == 0 { - return Xsqlite3CorruptError(tls, 64146) + return Xsqlite3CorruptError(tls, 64156) } iKey = walNextHash(tls, iKey) } @@ -40289,7 +40299,7 @@ func Xsqlite3WalFindFrame(tls *libc.TLS, pWal uintptr, pgno Pgno, piRead uintptr // Read the contents of frame iRead from the wal file into buffer pOut // (which is nOut bytes in size). Return SQLITE_OK if successful, or an // error code otherwise. -func Xsqlite3WalReadFrame(tls *libc.TLS, pWal uintptr, iRead U32, nOut int32, pOut uintptr) int32 { /* sqlite3.c:64180:20: */ +func Xsqlite3WalReadFrame(tls *libc.TLS, pWal uintptr, iRead U32, nOut int32, pOut uintptr) int32 { /* sqlite3.c:64190:20: */ var sz int32 var iOffset I64 sz = int32((*Wal)(unsafe.Pointer(pWal)).Fhdr.FszPage) @@ -40306,7 +40316,7 @@ func Xsqlite3WalReadFrame(tls *libc.TLS, pWal uintptr, iRead U32, nOut int32, pO } // Return the size of the database in pages (or zero, if unknown). -func Xsqlite3WalDbsize(tls *libc.TLS, pWal uintptr) Pgno { /* sqlite3.c:64200:21: */ +func Xsqlite3WalDbsize(tls *libc.TLS, pWal uintptr) Pgno { /* sqlite3.c:64210:21: */ if pWal != 0 && int32((*Wal)(unsafe.Pointer(pWal)).FreadLock) >= 0 { return (*Wal)(unsafe.Pointer(pWal)).Fhdr.FnPage } @@ -40324,7 +40334,7 @@ func Xsqlite3WalDbsize(tls *libc.TLS, pWal uintptr) Pgno { /* sqlite3.c:64200:21 // returns SQLITE_BUSY in that case and no write transaction is started. // // There can only be a single writer active at a time. -func Xsqlite3WalBeginWriteTransaction(tls *libc.TLS, pWal uintptr) int32 { /* sqlite3.c:64221:20: */ +func Xsqlite3WalBeginWriteTransaction(tls *libc.TLS, pWal uintptr) int32 { /* sqlite3.c:64231:20: */ var rc int32 // Cannot start a write transaction without first holding a read @@ -40356,7 +40366,7 @@ func Xsqlite3WalBeginWriteTransaction(tls *libc.TLS, pWal uintptr) int32 { /* sq // End a write transaction. The commit has already been done. This // routine merely releases the lock. -func Xsqlite3WalEndWriteTransaction(tls *libc.TLS, pWal uintptr) int32 { /* sqlite3.c:64269:20: */ +func Xsqlite3WalEndWriteTransaction(tls *libc.TLS, pWal uintptr) int32 { /* sqlite3.c:64279:20: */ if (*Wal)(unsafe.Pointer(pWal)).FwriteLock != 0 { walUnlockExclusive(tls, pWal, WAL_WRITE_LOCK, 1) (*Wal)(unsafe.Pointer(pWal)).FwriteLock = U8(0) @@ -40376,7 +40386,7 @@ func Xsqlite3WalEndWriteTransaction(tls *libc.TLS, pWal uintptr) int32 { /* sqli // // Otherwise, if the callback function does not return an error, this // function returns SQLITE_OK. -func Xsqlite3WalUndo(tls *libc.TLS, pWal uintptr, xUndo uintptr, pUndoCtx uintptr) int32 { /* sqlite3.c:64291:20: */ +func Xsqlite3WalUndo(tls *libc.TLS, pWal uintptr, xUndo uintptr, pUndoCtx uintptr) int32 { /* sqlite3.c:64301:20: */ var rc int32 = SQLITE_OK if (*Wal)(unsafe.Pointer(pWal)).FwriteLock != 0 { var iMax Pgno = (*Wal)(unsafe.Pointer(pWal)).Fhdr.FmxFrame @@ -40413,7 +40423,7 @@ func Xsqlite3WalUndo(tls *libc.TLS, pWal uintptr, xUndo uintptr, pUndoCtx uintpt // values. This function populates the array with values required to // "rollback" the write position of the WAL handle back to the current // point in the event of a savepoint rollback (via WalSavepointUndo()). -func Xsqlite3WalSavepoint(tls *libc.TLS, pWal uintptr, aWalData uintptr) { /* sqlite3.c:64331:21: */ +func Xsqlite3WalSavepoint(tls *libc.TLS, pWal uintptr, aWalData uintptr) { /* sqlite3.c:64341:21: */ *(*U32)(unsafe.Pointer(aWalData)) = (*Wal)(unsafe.Pointer(pWal)).Fhdr.FmxFrame *(*U32)(unsafe.Pointer(aWalData + 1*4)) = *(*U32)(unsafe.Pointer(pWal + 52 + 24)) @@ -40425,7 +40435,7 @@ func Xsqlite3WalSavepoint(tls *libc.TLS, pWal uintptr, aWalData uintptr) { /* sq // the values in the aWalData[] array. aWalData must point to an array // of WAL_SAVEPOINT_NDATA u32 values that has been previously populated // by a call to WalSavepoint(). -func Xsqlite3WalSavepointUndo(tls *libc.TLS, pWal uintptr, aWalData uintptr) int32 { /* sqlite3.c:64345:20: */ +func Xsqlite3WalSavepointUndo(tls *libc.TLS, pWal uintptr, aWalData uintptr) int32 { /* sqlite3.c:64355:20: */ var rc int32 = SQLITE_OK if *(*U32)(unsafe.Pointer(aWalData + 3*4)) != (*Wal)(unsafe.Pointer(pWal)).FnCkpt { @@ -40456,7 +40466,7 @@ func Xsqlite3WalSavepointUndo(tls *libc.TLS, pWal uintptr, aWalData uintptr) int // SQLITE_OK is returned if no error is encountered (regardless of whether // or not pWal->hdr.mxFrame is modified). An SQLite error code is returned // if an error occurs. -func walRestartLog(tls *libc.TLS, pWal uintptr) int32 { /* sqlite3.c:64382:12: */ +func walRestartLog(tls *libc.TLS, pWal uintptr) int32 { /* sqlite3.c:64392:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -40510,12 +40520,12 @@ type WalWriter1 = struct { FiSyncPoint Sqlite3_int64 FsyncFlags int32 FszPage int32 -} /* sqlite3.c:64429:9 */ +} /* sqlite3.c:64439:9 */ // Information about the current state of the WAL file and where // the next fsync should occur - passed from sqlite3WalFrames() into // walWriteToLog(). -type WalWriter = WalWriter1 /* sqlite3.c:64435:3 */ +type WalWriter = WalWriter1 /* sqlite3.c:64445:3 */ // Write iAmt bytes of content into the WAL file beginning at iOffset. // Do a sync when crossing the p->iSyncPoint boundary. @@ -40523,7 +40533,7 @@ type WalWriter = WalWriter1 /* sqlite3.c:64435:3 */ // In other words, if iSyncPoint is in between iOffset and iOffset+iAmt, // first write the part before iSyncPoint, then sync, then write the // rest. -func walWriteToLog(tls *libc.TLS, p uintptr, pContent uintptr, iAmt int32, iOffset Sqlite3_int64) int32 { /* sqlite3.c:64445:12: */ +func walWriteToLog(tls *libc.TLS, p uintptr, pContent uintptr, iAmt int32, iOffset Sqlite3_int64) int32 { /* sqlite3.c:64455:12: */ var rc int32 if iOffset < (*WalWriter)(unsafe.Pointer(p)).FiSyncPoint && iOffset+Sqlite3_int64(iAmt) >= (*WalWriter)(unsafe.Pointer(p)).FiSyncPoint { var iFirstAmt int32 = int32((*WalWriter)(unsafe.Pointer(p)).FiSyncPoint - iOffset) @@ -40545,7 +40555,7 @@ func walWriteToLog(tls *libc.TLS, p uintptr, pContent uintptr, iAmt int32, iOffs } // Write out a single frame of the WAL -func walWriteOneFrame(tls *libc.TLS, p uintptr, pPage uintptr, nTruncate int32, iOffset Sqlite3_int64) int32 { /* sqlite3.c:64470:12: */ +func walWriteOneFrame(tls *libc.TLS, p uintptr, pPage uintptr, nTruncate int32, iOffset Sqlite3_int64) int32 { /* sqlite3.c:64480:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -40570,7 +40580,7 @@ func walWriteOneFrame(tls *libc.TLS, p uintptr, pPage uintptr, nTruncate int32, // with the earliest to have been overwritten. // // SQLITE_OK is returned if successful, or an SQLite error code otherwise. -func walRewriteChecksums(tls *libc.TLS, pWal uintptr, iLast U32) int32 { /* sqlite3.c:64496:12: */ +func walRewriteChecksums(tls *libc.TLS, pWal uintptr, iLast U32) int32 { /* sqlite3.c:64506:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -40624,7 +40634,7 @@ func walRewriteChecksums(tls *libc.TLS, pWal uintptr, iLast U32) int32 { /* sqli // Write a set of frames to the log. The caller must hold the write-lock // on the log file (obtained using sqlite3WalBeginWriteTransaction()). -func Xsqlite3WalFrames(tls *libc.TLS, pWal uintptr, szPage int32, pList uintptr, nTruncate Pgno, isCommit int32, sync_flags int32) int32 { /* sqlite3.c:64545:20: */ +func Xsqlite3WalFrames(tls *libc.TLS, pWal uintptr, szPage int32, pList uintptr, nTruncate Pgno, isCommit int32, sync_flags int32) int32 { /* sqlite3.c:64555:20: */ bp := tls.Alloc(68) defer tls.Free(68) @@ -40857,7 +40867,7 @@ func Xsqlite3WalFrames(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 Xsqlite3WalCheckpoint(tls *libc.TLS, pWal uintptr, db uintptr, eMode int32, xBusy uintptr, pBusyArg uintptr, sync_flags int32, nBuf int32, zBuf uintptr, pnLog uintptr, pnCkpt uintptr) int32 { /* sqlite3.c:64783:20: */ +func Xsqlite3WalCheckpoint(tls *libc.TLS, pWal uintptr, db uintptr, eMode int32, xBusy uintptr, pBusyArg uintptr, sync_flags int32, nBuf int32, zBuf uintptr, pnLog uintptr, pnCkpt uintptr) int32 { /* sqlite3.c:64793:20: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -40922,7 +40932,7 @@ func Xsqlite3WalCheckpoint(tls *libc.TLS, pWal uintptr, db uintptr, eMode int32, if rc == SQLITE_OK { if (*Wal)(unsafe.Pointer(pWal)).Fhdr.FmxFrame != 0 && walPagesize(tls, pWal) != nBuf { - rc = Xsqlite3CorruptError(tls, 64865) + rc = Xsqlite3CorruptError(tls, 64875) } else { rc = walCheckpoint(tls, pWal, db, eMode2, xBusy2, pBusyArg, sync_flags, zBuf) } @@ -40966,7 +40976,7 @@ func Xsqlite3WalCheckpoint(tls *libc.TLS, pWal uintptr, db uintptr, eMode int32, // number of frames in the WAL at the point of the last commit since // sqlite3WalCallback() was called. If no commits have occurred since // the last call, then return 0. -func Xsqlite3WalCallback(tls *libc.TLS, pWal uintptr) int32 { /* sqlite3.c:64908:20: */ +func Xsqlite3WalCallback(tls *libc.TLS, pWal uintptr) int32 { /* sqlite3.c:64918:20: */ var ret U32 = U32(0) if pWal != 0 { ret = (*Wal)(unsafe.Pointer(pWal)).FiCallback @@ -40997,7 +41007,7 @@ func Xsqlite3WalCallback(tls *libc.TLS, pWal uintptr) int32 { /* sqlite3.c:64908 // not actually change anything. The pager uses this to see if it // should acquire the database exclusive lock prior to invoking // the op==1 case. -func Xsqlite3WalExclusiveMode(tls *libc.TLS, pWal uintptr, op int32) int32 { /* sqlite3.c:64941:20: */ +func Xsqlite3WalExclusiveMode(tls *libc.TLS, pWal uintptr, op int32) int32 { /* sqlite3.c:64951:20: */ var rc int32 // pWal->readLock is usually set, but might be -1 if there was a @@ -41031,14 +41041,14 @@ func Xsqlite3WalExclusiveMode(tls *libc.TLS, pWal uintptr, op int32) int32 { /* // Return true if the argument is non-NULL and the WAL module is using // heap-memory for the wal-index. Otherwise, if the argument is NULL or the // WAL module is using shared-memory, return false. -func Xsqlite3WalHeapMemory(tls *libc.TLS, pWal uintptr) int32 { /* sqlite3.c:64983:20: */ +func Xsqlite3WalHeapMemory(tls *libc.TLS, pWal uintptr) int32 { /* sqlite3.c:64993:20: */ return libc.Bool32(pWal != 0 && int32((*Wal)(unsafe.Pointer(pWal)).FexclusiveMode) == WAL_HEAPMEMORY_MODE) } // Create a snapshot object. The content of a snapshot is opaque to // every other subsystem, so the WAL module can put whatever it needs // in the object. -func Xsqlite3WalSnapshotGet(tls *libc.TLS, pWal uintptr, ppSnapshot uintptr) int32 { /* sqlite3.c:64992:20: */ +func Xsqlite3WalSnapshotGet(tls *libc.TLS, pWal uintptr, ppSnapshot uintptr) int32 { /* sqlite3.c:65002:20: */ var rc int32 = SQLITE_OK var pRet uintptr @@ -41057,16 +41067,16 @@ func Xsqlite3WalSnapshotGet(tls *libc.TLS, pWal uintptr, ppSnapshot uintptr) int return rc } -var aZero = [4]U32{U32(0), U32(0), U32(0), U32(0)} /* sqlite3.c:64995:20 */ +var aZero = [4]U32{U32(0), U32(0), U32(0), U32(0)} /* sqlite3.c:65005:20 */ // Try to open on pSnapshot when the next read-transaction starts -func Xsqlite3WalSnapshotOpen(tls *libc.TLS, pWal uintptr, pSnapshot uintptr) { /* sqlite3.c:65016:21: */ +func Xsqlite3WalSnapshotOpen(tls *libc.TLS, pWal uintptr, pSnapshot uintptr) { /* sqlite3.c:65026:21: */ (*Wal)(unsafe.Pointer(pWal)).FpSnapshot = pSnapshot } // Return a +ve value if snapshot p1 is newer than p2. A -ve value if // p1 is older than p2 and zero if p1 and p2 are the same snapshot. -func Xsqlite3_snapshot_cmp(tls *libc.TLS, p1 uintptr, p2 uintptr) int32 { /* sqlite3.c:65027:16: */ +func Xsqlite3_snapshot_cmp(tls *libc.TLS, p1 uintptr, p2 uintptr) int32 { /* sqlite3.c:65037:16: */ var pHdr1 uintptr = p1 var pHdr2 uintptr = p2 @@ -41096,7 +41106,7 @@ func Xsqlite3_snapshot_cmp(tls *libc.TLS, p1 uintptr, p2 uintptr) int32 { /* sql // the CHECKPOINTER lock cannot be obtained, SQLITE_BUSY. If any error // occurs (any value other than SQLITE_OK is returned), the CHECKPOINTER // lock is released before returning. -func Xsqlite3WalSnapshotCheck(tls *libc.TLS, pWal uintptr, pSnapshot uintptr) int32 { /* sqlite3.c:65051:20: */ +func Xsqlite3WalSnapshotCheck(tls *libc.TLS, pWal uintptr, pSnapshot uintptr) int32 { /* sqlite3.c:65061:20: */ var rc int32 rc = walLockShared(tls, pWal, WAL_CKPT_LOCK) if rc == SQLITE_OK { @@ -41112,13 +41122,13 @@ func Xsqlite3WalSnapshotCheck(tls *libc.TLS, pWal uintptr, pSnapshot uintptr) in // Release a lock obtained by an earlier successful call to // sqlite3WalSnapshotCheck(). -func Xsqlite3WalSnapshotUnlock(tls *libc.TLS, pWal uintptr) { /* sqlite3.c:65070:21: */ +func Xsqlite3WalSnapshotUnlock(tls *libc.TLS, pWal uintptr) { /* sqlite3.c:65080:21: */ walUnlockShared(tls, pWal, WAL_CKPT_LOCK) } // Return the sqlite3_file object for the WAL file -func Xsqlite3WalFile(tls *libc.TLS, pWal uintptr) uintptr { /* sqlite3.c:65092:29: */ +func Xsqlite3WalFile(tls *libc.TLS, pWal uintptr) uintptr { /* sqlite3.c:65102:29: */ return (*Wal)(unsafe.Pointer(pWal)).FpWalFd } @@ -41638,7 +41648,7 @@ type MemPage1 = struct { // small cells will be rare, but they are possible. // Forward declarations -type MemPage = MemPage1 /* sqlite3.c:65350:24 */ +type MemPage = MemPage1 /* sqlite3.c:65360:24 */ type BtLock1 = struct { FpBtree uintptr FiTable Pgno @@ -41647,7 +41657,7 @@ type BtLock1 = struct { FpNext uintptr } /* sqlite3.c:578:9 */ -type BtLock = BtLock1 /* sqlite3.c:65351:23 */ +type BtLock = BtLock1 /* sqlite3.c:65361:23 */ type CellInfo1 = struct { FnKey I64 FpPayload uintptr @@ -41656,7 +41666,7 @@ type CellInfo1 = struct { FnSize U16 } /* sqlite3.c:578:9 */ -type CellInfo = CellInfo1 /* sqlite3.c:65352:25 */ +type CellInfo = CellInfo1 /* sqlite3.c:65362:25 */ // Legal values for BtCursor.curFlags @@ -41766,7 +41776,7 @@ type IntegrityCk1 = struct { FerrMsg StrAccum Fheap uintptr Fdb uintptr -} /* sqlite3.c:65811:9 */ +} /* sqlite3.c:65821:9 */ // Legal values for BtCursor.curFlags @@ -41862,7 +41872,7 @@ type IntegrityCk1 = struct { // the database the corresponding bit is set. This allows integrity-check to // detect pages that are used twice and orphaned pages (both of which // indicate corruption). -type IntegrityCk = IntegrityCk1 /* sqlite3.c:65811:28 */ +type IntegrityCk = IntegrityCk1 /* sqlite3.c:65821:28 */ // Routines to read or write a two- and four-byte big-endian integer values. @@ -41876,7 +41886,7 @@ type IntegrityCk = IntegrityCk1 /* sqlite3.c:65811:28 */ // Obtain the BtShared mutex associated with B-Tree handle p. Also, // set BtShared.db to the database handle associated with p and the // p->locked boolean to true. -func lockBtreeMutex(tls *libc.TLS, p uintptr) { /* sqlite3.c:65861:13: */ +func lockBtreeMutex(tls *libc.TLS, p uintptr) { /* sqlite3.c:65871:13: */ Xsqlite3_mutex_enter(tls, (*BtShared)(unsafe.Pointer((*Btree)(unsafe.Pointer(p)).FpBt)).Fmutex) (*BtShared)(unsafe.Pointer((*Btree)(unsafe.Pointer(p)).FpBt)).Fdb = (*Btree)(unsafe.Pointer(p)).Fdb @@ -41885,7 +41895,7 @@ func lockBtreeMutex(tls *libc.TLS, p uintptr) { /* sqlite3.c:65861:13: */ // Release the BtShared mutex associated with B-Tree handle p and // clear the p->locked boolean. -func unlockBtreeMutex(tls *libc.TLS, p uintptr) { /* sqlite3.c:65875:29: */ +func unlockBtreeMutex(tls *libc.TLS, p uintptr) { /* sqlite3.c:65885:29: */ var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt Xsqlite3_mutex_leave(tls, (*BtShared)(unsafe.Pointer(pBt)).Fmutex) @@ -41906,7 +41916,7 @@ func unlockBtreeMutex(tls *libc.TLS, p uintptr) { /* sqlite3.c:65875:29: */ // p, then first unlock all of the others on p->pNext, then wait // for the lock to become available on p, then relock all of the // subsequent Btrees that desire a lock. -func Xsqlite3BtreeEnter(tls *libc.TLS, p uintptr) { /* sqlite3.c:65905:21: */ +func Xsqlite3BtreeEnter(tls *libc.TLS, p uintptr) { /* sqlite3.c:65915:21: */ // Some basic sanity checking on the Btree. The list of Btrees // connected by pNext and pPrev should be in sorted order by // Btree.pBt value. All elements of the list should belong to @@ -41934,7 +41944,7 @@ func Xsqlite3BtreeEnter(tls *libc.TLS, p uintptr) { /* sqlite3.c:65905:21: */ // into this routine, we avoid unnecessary stack pointer changes // and thus help the sqlite3BtreeLock() routine to run much faster // in the common case. -func btreeLockCarefully(tls *libc.TLS, p uintptr) { /* sqlite3.c:65939:29: */ +func btreeLockCarefully(tls *libc.TLS, p uintptr) { /* sqlite3.c:65949:29: */ var pLater uintptr // In most cases, we should be able to acquire the lock we @@ -41965,7 +41975,7 @@ func btreeLockCarefully(tls *libc.TLS, p uintptr) { /* sqlite3.c:65939:29: */ } // Exit the recursive mutex on a Btree. -func Xsqlite3BtreeLeave(tls *libc.TLS, p uintptr) { /* sqlite3.c:65977:21: */ +func Xsqlite3BtreeLeave(tls *libc.TLS, p uintptr) { /* sqlite3.c:65987:21: */ if (*Btree)(unsafe.Pointer(p)).Fsharable != 0 { @@ -41988,7 +41998,7 @@ func Xsqlite3BtreeLeave(tls *libc.TLS, p uintptr) { /* sqlite3.c:65977:21: */ // to avoid the possibility of deadlock when two threads with // two or more btrees in common both try to lock all their btrees // at the same instant. -func btreeEnterAll(tls *libc.TLS, db uintptr) { /* sqlite3.c:66020:29: */ +func btreeEnterAll(tls *libc.TLS, db uintptr) { /* sqlite3.c:66030:29: */ var i int32 var skipOk int32 = 1 var p uintptr @@ -42003,13 +42013,13 @@ func btreeEnterAll(tls *libc.TLS, db uintptr) { /* sqlite3.c:66020:29: */ (*Sqlite3)(unsafe.Pointer(db)).FnoSharedCache = U8(skipOk) } -func Xsqlite3BtreeEnterAll(tls *libc.TLS, db uintptr) { /* sqlite3.c:66034:21: */ +func Xsqlite3BtreeEnterAll(tls *libc.TLS, db uintptr) { /* sqlite3.c:66044:21: */ if int32((*Sqlite3)(unsafe.Pointer(db)).FnoSharedCache) == 0 { btreeEnterAll(tls, db) } } -func btreeLeaveAll(tls *libc.TLS, db uintptr) { /* sqlite3.c:66037:29: */ +func btreeLeaveAll(tls *libc.TLS, db uintptr) { /* sqlite3.c:66047:29: */ var i int32 var p uintptr @@ -42021,7 +42031,7 @@ func btreeLeaveAll(tls *libc.TLS, db uintptr) { /* sqlite3.c:66037:29: */ } } -func Xsqlite3BtreeLeaveAll(tls *libc.TLS, db uintptr) { /* sqlite3.c:66046:21: */ +func Xsqlite3BtreeLeaveAll(tls *libc.TLS, db uintptr) { /* sqlite3.c:66056:21: */ if int32((*Sqlite3)(unsafe.Pointer(db)).FnoSharedCache) == 0 { btreeLeaveAll(tls, db) } @@ -42032,11 +42042,11 @@ func Xsqlite3BtreeLeaveAll(tls *libc.TLS, db uintptr) { /* sqlite3.c:66046:21: * // These entry points are used by incremental I/O only. Enter() is required // any time OMIT_SHARED_CACHE is not defined, regardless of whether or not // the build is threadsafe. Leave() is only required by threadsafe builds. -func Xsqlite3BtreeEnterCursor(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:66132:21: */ +func Xsqlite3BtreeEnterCursor(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:66142:21: */ Xsqlite3BtreeEnter(tls, (*BtCursor)(unsafe.Pointer(pCur)).FpBtree) } -func Xsqlite3BtreeLeaveCursor(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:66136:21: */ +func Xsqlite3BtreeLeaveCursor(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:66146:21: */ Xsqlite3BtreeLeave(tls, (*BtCursor)(unsafe.Pointer(pCur)).FpBtree) } @@ -42059,7 +42069,7 @@ func Xsqlite3BtreeLeaveCursor(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:66136: // The header string that appears at the beginning of every // SQLite database. -var zMagicHeader = *(*[16]int8)(unsafe.Pointer(ts + 3977)) /* sqlite3.c:66167:19 */ +var zMagicHeader = *(*[16]int8)(unsafe.Pointer(ts + 3977)) /* sqlite3.c:66177:19 */ // Set this global variable to 1 to enable tracing using the TRACE // macro. @@ -42085,14 +42095,14 @@ var zMagicHeader = *(*[16]int8)(unsafe.Pointer(ts + 3977)) /* sqlite3.c:66167:19 // test builds. // // Access to this variable is protected by SQLITE_MUTEX_STATIC_MAIN. -var sqlite3SharedCacheList uintptr = uintptr(0) /* sqlite3.c:66222:17 */ +var sqlite3SharedCacheList uintptr = uintptr(0) /* sqlite3.c:66232:17 */ // Enable or disable the shared pager and schema features. // // This routine has no effect on existing database connections. // The shared cache setting effects only future calls to // sqlite3_open(), sqlite3_open16(), or sqlite3_open_v2(). -func Xsqlite3_enable_shared_cache(tls *libc.TLS, enable int32) int32 { /* sqlite3.c:66234:16: */ +func Xsqlite3_enable_shared_cache(tls *libc.TLS, enable int32) int32 { /* sqlite3.c:66244:16: */ Xsqlite3Config.FsharedCacheEnabled = enable return SQLITE_OK } @@ -42109,7 +42119,7 @@ func Xsqlite3_enable_shared_cache(tls *libc.TLS, enable int32) int32 { /* sqlite // (READ_LOCK or WRITE_LOCK) on the table with root-page iTab. Return // SQLITE_OK if the lock may be obtained (by calling // setSharedCacheTableLock()), or SQLITE_LOCKED if not. -func querySharedCacheTableLock(tls *libc.TLS, p uintptr, iTab Pgno, eLock U8) int32 { /* sqlite3.c:66433:12: */ +func querySharedCacheTableLock(tls *libc.TLS, p uintptr, iTab Pgno, eLock U8) int32 { /* sqlite3.c:66443:12: */ var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt var pIter uintptr @@ -42166,7 +42176,7 @@ func querySharedCacheTableLock(tls *libc.TLS, p uintptr, iTab Pgno, eLock U8) in // // SQLITE_OK is returned if the lock is added successfully. SQLITE_NOMEM // is returned if a malloc attempt fails. -func setSharedCacheTableLock(tls *libc.TLS, p uintptr, iTable Pgno, eLock U8) int32 { /* sqlite3.c:66505:12: */ +func setSharedCacheTableLock(tls *libc.TLS, p uintptr, iTable Pgno, eLock U8) int32 { /* sqlite3.c:66515:12: */ var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt var pLock uintptr = uintptr(0) var pIter uintptr @@ -42217,7 +42227,7 @@ func setSharedCacheTableLock(tls *libc.TLS, p uintptr, iTable Pgno, eLock U8) in // This function assumes that Btree p has an open read or write // transaction. If it does not, then the BTS_PENDING flag // may be incorrectly cleared. -func clearAllSharedCacheTableLocks(tls *libc.TLS, p uintptr) { /* sqlite3.c:66569:13: */ +func clearAllSharedCacheTableLocks(tls *libc.TLS, p uintptr) { /* sqlite3.c:66579:13: */ var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt var ppIter uintptr = pBt + 76 @@ -42252,7 +42262,7 @@ func clearAllSharedCacheTableLocks(tls *libc.TLS, p uintptr) { /* sqlite3.c:6656 } // This function changes all write-locks held by Btree p into read-locks. -func downgradeAllSharedCacheTableLocks(tls *libc.TLS, p uintptr) { /* sqlite3.c:66613:13: */ +func downgradeAllSharedCacheTableLocks(tls *libc.TLS, p uintptr) { /* sqlite3.c:66623:13: */ var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt if (*BtShared)(unsafe.Pointer(pBt)).FpWriter == p { var pLock uintptr @@ -42276,7 +42286,7 @@ func downgradeAllSharedCacheTableLocks(tls *libc.TLS, p uintptr) { /* sqlite3.c: // Invalidate the overflow page-list cache for all cursors opened // on the shared btree structure pBt. -func invalidateAllOverflowCache(tls *libc.TLS, pBt uintptr) { /* sqlite3.c:66666:13: */ +func invalidateAllOverflowCache(tls *libc.TLS, pBt uintptr) { /* sqlite3.c:66676:13: */ var p uintptr for p = (*BtShared)(unsafe.Pointer(pBt)).FpCursor; p != 0; p = (*BtCursor)(unsafe.Pointer(p)).FpNext { @@ -42295,7 +42305,7 @@ func invalidateAllOverflowCache(tls *libc.TLS, pBt uintptr) { /* sqlite3.c:66666 // Otherwise, if argument isClearTable is false, then the row with // rowid iRow is being replaced or deleted. In this case invalidate // only those incrblob cursors open on that specific row. -func invalidateIncrblobCursors(tls *libc.TLS, pBtree uintptr, pgnoRoot Pgno, iRow I64, isClearTable int32) { /* sqlite3.c:66688:13: */ +func invalidateIncrblobCursors(tls *libc.TLS, pBtree uintptr, pgnoRoot Pgno, iRow I64, isClearTable int32) { /* sqlite3.c:66698:13: */ var p uintptr (*Btree)(unsafe.Pointer(pBtree)).FhasIncrblobCur = U8(0) @@ -42342,7 +42352,7 @@ func invalidateIncrblobCursors(tls *libc.TLS, pBtree uintptr, pgnoRoot Pgno, iRo // optimization 2 above is omitted if the corresponding bit is already // set in BtShared.pHasContent. The contents of the bitvec are cleared // at the end of every transaction. -func btreeSetHasContent(tls *libc.TLS, pBt uintptr, pgno Pgno) int32 { /* sqlite3.c:66748:12: */ +func btreeSetHasContent(tls *libc.TLS, pBt uintptr, pgno Pgno) int32 { /* sqlite3.c:66758:12: */ var rc int32 = SQLITE_OK if !(int32((*BtShared)(unsafe.Pointer(pBt)).FpHasContent) != 0) { @@ -42362,20 +42372,20 @@ func btreeSetHasContent(tls *libc.TLS, pBt uintptr, pgno Pgno) int32 { /* sqlite // This function is called when a free-list leaf page is removed from the // free-list for reuse. It returns false if it is safe to retrieve the // page from the pager layer with the 'no-content' flag set. True otherwise. -func btreeGetHasContent(tls *libc.TLS, pBt uintptr, pgno Pgno) int32 { /* sqlite3.c:66770:12: */ +func btreeGetHasContent(tls *libc.TLS, pBt uintptr, pgno Pgno) int32 { /* sqlite3.c:66780:12: */ var p uintptr = (*BtShared)(unsafe.Pointer(pBt)).FpHasContent return libc.Bool32(p != 0 && (pgno > Xsqlite3BitvecSize(tls, p) || Xsqlite3BitvecTestNotNull(tls, p, pgno) != 0)) } // Clear (destroy) the BtShared.pHasContent bitvec. This should be // invoked at the conclusion of each write-transaction. -func btreeClearHasContent(tls *libc.TLS, pBt uintptr) { /* sqlite3.c:66779:13: */ +func btreeClearHasContent(tls *libc.TLS, pBt uintptr) { /* sqlite3.c:66789:13: */ Xsqlite3BitvecDestroy(tls, (*BtShared)(unsafe.Pointer(pBt)).FpHasContent) (*BtShared)(unsafe.Pointer(pBt)).FpHasContent = uintptr(0) } // Release all of the apPage[] pages for a cursor. -func btreeReleaseAllCursorPages(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:66787:13: */ +func btreeReleaseAllCursorPages(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:66797:13: */ var i int32 if int32((*BtCursor)(unsafe.Pointer(pCur)).FiPage) >= 0 { for i = 0; i < int32((*BtCursor)(unsafe.Pointer(pCur)).FiPage); i++ { @@ -42397,7 +42407,7 @@ func btreeReleaseAllCursorPages(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:6678 // NULL. If the cursor is open on a non-intkey table, then pCur->pKey is // set to point to a malloced buffer pCur->nKey bytes in size containing // the key. -func saveCursorKey(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:66811:12: */ +func saveCursorKey(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:66821:12: */ var rc int32 = SQLITE_OK if (*BtCursor)(unsafe.Pointer(pCur)).FcurIntKey != 0 { @@ -42434,7 +42444,7 @@ func saveCursorKey(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:66811:12: * // // The caller must ensure that the cursor is valid (has eState==CURSOR_VALID) // prior to calling this routine. -func saveCursorPosition(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:66853:12: */ +func saveCursorPosition(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:66863:12: */ var rc int32 if int32((*BtCursor)(unsafe.Pointer(pCur)).FcurFlags)&BTCF_Pinned != 0 { @@ -42475,7 +42485,7 @@ func saveCursorPosition(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:66853: // Implementation note: This routine merely checks to see if any cursors // need to be saved. It calls out to saveCursorsOnList() in the (unusual) // event that cursors are in need to being saved. -func saveAllCursors(tls *libc.TLS, pBt uintptr, iRoot Pgno, pExcept uintptr) int32 { /* sqlite3.c:66903:12: */ +func saveAllCursors(tls *libc.TLS, pBt uintptr, iRoot Pgno, pExcept uintptr) int32 { /* sqlite3.c:66913:12: */ var p uintptr for p = (*BtShared)(unsafe.Pointer(pBt)).FpCursor; p != 0; p = (*BtCursor)(unsafe.Pointer(p)).FpNext { @@ -42496,7 +42506,7 @@ func saveAllCursors(tls *libc.TLS, pBt uintptr, iRoot Pgno, pExcept uintptr) int // the cursors if and when a cursor is found that actually requires saving. // The common case is that no cursors need to be saved, so this routine is // broken out from its caller to avoid unnecessary stack pointer movement. -func saveCursorsOnList(tls *libc.TLS, p uintptr, iRoot Pgno, pExcept uintptr) int32 { /* sqlite3.c:66920:28: */ +func saveCursorsOnList(tls *libc.TLS, p uintptr, iRoot Pgno, pExcept uintptr) int32 { /* sqlite3.c:66930:28: */ for __ccgo := true; __ccgo; __ccgo = p != 0 { if p != pExcept && (Pgno(0) == iRoot || (*BtCursor)(unsafe.Pointer(p)).FpgnoRoot == iRoot) { if int32((*BtCursor)(unsafe.Pointer(p)).FeState) == CURSOR_VALID || int32((*BtCursor)(unsafe.Pointer(p)).FeState) == CURSOR_SKIPNEXT { @@ -42515,7 +42525,7 @@ func saveCursorsOnList(tls *libc.TLS, p uintptr, iRoot Pgno, pExcept uintptr) in } // Clear the current cursor position. -func Xsqlite3BtreeClearCursor(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:66945:21: */ +func Xsqlite3BtreeClearCursor(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:66955:21: */ Xsqlite3_free(tls, (*BtCursor)(unsafe.Pointer(pCur)).FpKey) (*BtCursor)(unsafe.Pointer(pCur)).FpKey = uintptr(0) @@ -42525,7 +42535,7 @@ func Xsqlite3BtreeClearCursor(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:66945: // In this version of BtreeMoveto, pKey is a packed index record // such as is generated by the OP_MakeRecord opcode. Unpack the // record and then call BtreeMovetoUnpacked() to do the work. -func btreeMoveto(tls *libc.TLS, pCur uintptr, pKey uintptr, nKey I64, bias int32, pRes uintptr) int32 { /* sqlite3.c:66957:12: */ +func btreeMoveto(tls *libc.TLS, pCur uintptr, pKey uintptr, nKey I64, bias int32, pRes uintptr) int32 { /* sqlite3.c:66967:12: */ var rc int32 // Status code var pIdxKey uintptr // Unpacked index key @@ -42538,7 +42548,7 @@ func btreeMoveto(tls *libc.TLS, pCur uintptr, pKey uintptr, nKey I64, bias int32 } Xsqlite3VdbeRecordUnpack(tls, pKeyInfo, int32(nKey), pKey, pIdxKey) if int32((*UnpackedRecord)(unsafe.Pointer(pIdxKey)).FnField) == 0 || int32((*UnpackedRecord)(unsafe.Pointer(pIdxKey)).FnField) > int32((*KeyInfo)(unsafe.Pointer(pKeyInfo)).FnAllField) { - rc = Xsqlite3CorruptError(tls, 66974) + rc = Xsqlite3CorruptError(tls, 66984) } else { rc = Xsqlite3BtreeIndexMoveto(tls, pCur, pIdxKey, pRes) } @@ -42555,7 +42565,7 @@ func btreeMoveto(tls *libc.TLS, pCur uintptr, pKey uintptr, nKey I64, bias int32 // saved position info stored by saveCursorPosition(), so there can be // at most one effective restoreCursorPosition() call after each // saveCursorPosition(). -func btreeRestoreCursorPosition(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:66993:12: */ +func btreeRestoreCursorPosition(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:67003:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -42595,7 +42605,7 @@ func btreeRestoreCursorPosition(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3. // // Use the separate sqlite3BtreeCursorRestore() routine to restore a cursor // back to where it ought to be if this routine returns true. -func Xsqlite3BtreeCursorHasMoved(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:67036:20: */ +func Xsqlite3BtreeCursorHasMoved(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:67046:20: */ return libc.Bool32(CURSOR_VALID != int32(*(*U8)(unsafe.Pointer(pCur)))) } @@ -42603,12 +42613,12 @@ func Xsqlite3BtreeCursorHasMoved(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3 // Return a pointer to a fake BtCursor object that will always answer // false to the sqlite3BtreeCursorHasMoved() routine above. The fake // cursor returned must not be used with any other Btree interface. -func Xsqlite3BtreeFakeValidCursor(tls *libc.TLS) uintptr { /* sqlite3.c:67049:25: */ +func Xsqlite3BtreeFakeValidCursor(tls *libc.TLS) uintptr { /* sqlite3.c:67059:25: */ return uintptr(unsafe.Pointer(&fakeCursor)) } -var fakeCursor U8 = U8(CURSOR_VALID) /* sqlite3.c:67050:13 */ +var fakeCursor U8 = U8(CURSOR_VALID) /* sqlite3.c:67060:13 */ // This routine restores a cursor back to its original position after it // has been moved by some outside activity (such as a btree rebalance or @@ -42621,7 +42631,7 @@ var fakeCursor U8 = U8(CURSOR_VALID) /* sqlite3.c:67050:13 */ // // This routine should only be called for a cursor that just returned // TRUE from sqlite3BtreeCursorHasMoved(). -func Xsqlite3BtreeCursorRestore(tls *libc.TLS, pCur uintptr, pDifferentRow uintptr) int32 { /* sqlite3.c:67068:20: */ +func Xsqlite3BtreeCursorRestore(tls *libc.TLS, pCur uintptr, pDifferentRow uintptr) int32 { /* sqlite3.c:67078:20: */ var rc int32 rc = func() int32 { @@ -42643,7 +42653,7 @@ func Xsqlite3BtreeCursorRestore(tls *libc.TLS, pCur uintptr, pDifferentRow uintp } // Provide flag hints to the cursor. -func Xsqlite3BtreeCursorHintFlags(tls *libc.TLS, pCur uintptr, x uint32) { /* sqlite3.c:67100:21: */ +func Xsqlite3BtreeCursorHintFlags(tls *libc.TLS, pCur uintptr, x uint32) { /* sqlite3.c:67110:21: */ (*BtCursor)(unsafe.Pointer(pCur)).Fhints = U8(x) } @@ -42655,7 +42665,7 @@ func Xsqlite3BtreeCursorHintFlags(tls *libc.TLS, pCur uintptr, x uint32) { /* sq // Return 0 (not a valid page) for pgno==1 since there is // no pointer map associated with page 1. The integrity_check logic // requires that ptrmapPageno(*,1)!=1. -func ptrmapPageno(tls *libc.TLS, pBt uintptr, pgno Pgno) Pgno { /* sqlite3.c:67116:13: */ +func ptrmapPageno(tls *libc.TLS, pBt uintptr, pgno Pgno) Pgno { /* sqlite3.c:67126:13: */ var nPagesPerMapPage int32 var iPtrMap Pgno var ret Pgno @@ -42680,7 +42690,7 @@ func ptrmapPageno(tls *libc.TLS, pBt uintptr, pgno Pgno) Pgno { /* sqlite3.c:671 // If *pRC is initially non-zero (non-SQLITE_OK) then this routine is // a no-op. If an error occurs, the appropriate error code is written // into *pRC. -func ptrmapPut(tls *libc.TLS, pBt uintptr, key Pgno, eType U8, parent Pgno, pRC uintptr) { /* sqlite3.c:67140:13: */ +func ptrmapPut(tls *libc.TLS, pBt uintptr, key Pgno, eType U8, parent Pgno, pRC uintptr) { /* sqlite3.c:67150:13: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -42703,7 +42713,7 @@ __1: if !(key == Pgno(0)) { goto __2 } - *(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 67155) + *(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 67165) return __2: ; @@ -42722,7 +42732,7 @@ __3: // 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)) = Xsqlite3CorruptError(tls, 67168) + *(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 67178) goto ptrmap_exit __4: ; @@ -42730,7 +42740,7 @@ __4: if !(offset < 0) { goto __5 } - *(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 67173) + *(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 67183) goto ptrmap_exit __5: ; @@ -42761,7 +42771,7 @@ ptrmap_exit: // This routine retrieves the pointer map entry for page 'key', writing // the type and parent page number to *pEType and *pPgno respectively. // An error code is returned if something goes wrong, otherwise SQLITE_OK. -func ptrmapGet(tls *libc.TLS, pBt uintptr, key Pgno, pEType uintptr, pPgno uintptr) int32 { /* sqlite3.c:67199:12: */ +func ptrmapGet(tls *libc.TLS, pBt uintptr, key Pgno, pEType uintptr, pPgno uintptr) int32 { /* sqlite3.c:67209:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -42782,7 +42792,7 @@ func ptrmapGet(tls *libc.TLS, pBt uintptr, key Pgno, pEType uintptr, pPgno uintp offset = int32(Pgno(5) * (key - Pgno(iPtrmap) - Pgno(1))) if offset < 0 { Xsqlite3PagerUnref(tls, *(*uintptr)(unsafe.Pointer(bp /* pDbPage */))) - return Xsqlite3CorruptError(tls, 67218) + return Xsqlite3CorruptError(tls, 67228) } *(*U8)(unsafe.Pointer(pEType)) = *(*U8)(unsafe.Pointer(pPtrmap + uintptr(offset))) @@ -42792,7 +42802,7 @@ func ptrmapGet(tls *libc.TLS, pBt uintptr, key Pgno, pEType uintptr, pPgno uintp Xsqlite3PagerUnref(tls, *(*uintptr)(unsafe.Pointer(bp /* pDbPage */))) if int32(*(*U8)(unsafe.Pointer(pEType))) < 1 || int32(*(*U8)(unsafe.Pointer(pEType))) > 5 { - return Xsqlite3CorruptError(tls, 67226) + return Xsqlite3CorruptError(tls, 67236) } return SQLITE_OK } @@ -42810,7 +42820,7 @@ func ptrmapGet(tls *libc.TLS, pBt uintptr, key Pgno, pEType uintptr, pPgno uintp // btreeParseCellPtrIndex() for the case when the cell does not fit entirely // on a single B-tree page. Make necessary adjustments to the CellInfo // structure. -func btreeParseCellAdjustSizeForOverflow(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintptr) { /* sqlite3.c:67258:29: */ +func btreeParseCellAdjustSizeForOverflow(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintptr) { /* sqlite3.c:67268:29: */ // If the payload will not fit completely on the local page, we have // to decide how much to store locally and how much to spill onto // overflow pages. The strategy is to minimize the amount of unused @@ -42837,7 +42847,7 @@ func btreeParseCellAdjustSizeForOverflow(tls *libc.TLS, pPage uintptr, pCell uin // Given a record with nPayload bytes of payload stored within btree // page pPage, return the number of bytes of payload stored locally. -func btreePayloadToLocal(tls *libc.TLS, pPage uintptr, nPayload I64) int32 { /* sqlite3.c:67293:12: */ +func btreePayloadToLocal(tls *libc.TLS, pPage uintptr, nPayload I64) int32 { /* sqlite3.c:67303:12: */ var maxLocal int32 // Maximum amount of payload held locally maxLocal = int32((*MemPage)(unsafe.Pointer(pPage)).FmaxLocal) if nPayload <= I64(maxLocal) { @@ -42867,7 +42877,7 @@ func btreePayloadToLocal(tls *libc.TLS, pPage uintptr, nPayload I64) int32 { /* // There is also a wrapper function btreeParseCell() that works for // all MemPage types and that references the cell by index rather than // by pointer. -func btreeParseCellPtrNoPayload(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintptr) { /* sqlite3.c:67321:13: */ +func btreeParseCellPtrNoPayload(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintptr) { /* sqlite3.c:67331:13: */ _ = pPage (*CellInfo)(unsafe.Pointer(pInfo)).FnSize = U16(4 + int32(Xsqlite3GetVarint(tls, pCell+4, pInfo))) @@ -42877,7 +42887,7 @@ func btreeParseCellPtrNoPayload(tls *libc.TLS, pPage uintptr, pCell uintptr, pIn return } -func btreeParseCellPtr(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintptr) { /* sqlite3.c:67338:13: */ +func btreeParseCellPtr(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintptr) { /* sqlite3.c:67348:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -42954,7 +42964,7 @@ func btreeParseCellPtr(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintpt } } -func btreeParseCellPtrIndex(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintptr) { /* sqlite3.c:67420:13: */ +func btreeParseCellPtrIndex(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintptr) { /* sqlite3.c:67430:13: */ var pIter uintptr // For scanning through pCell var nPayload U32 // Number of bytes of cell payload @@ -42985,7 +42995,7 @@ func btreeParseCellPtrIndex(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo u } } -func btreeParseCell(tls *libc.TLS, pPage uintptr, iCell int32, pInfo uintptr) { /* sqlite3.c:67457:13: */ +func btreeParseCell(tls *libc.TLS, pPage uintptr, iCell int32, pInfo uintptr) { /* sqlite3.c:67467:13: */ (*struct { f func(*libc.TLS, uintptr, uintptr, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*MemPage)(unsafe.Pointer(pPage)).FxParseCell})).f(tls, pPage, (*MemPage)(unsafe.Pointer(pPage)).FaData+uintptr(int32((*MemPage)(unsafe.Pointer(pPage)).FmaskPage)&(int32(*(*U8)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPage)).FaCellIdx + uintptr(2*iCell))))<<8|int32(*(*U8)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPage)).FaCellIdx + uintptr(2*iCell) + 1))))), pInfo) @@ -43001,7 +43011,7 @@ func btreeParseCell(tls *libc.TLS, pPage uintptr, iCell int32, pInfo uintptr) { // // cellSizePtrNoPayload() => table internal nodes // cellSizePtr() => all index nodes & table leaf nodes -func cellSizePtr(tls *libc.TLS, pPage uintptr, pCell uintptr) U16 { /* sqlite3.c:67477:12: */ +func cellSizePtr(tls *libc.TLS, pPage uintptr, pCell uintptr) U16 { /* sqlite3.c:67487:12: */ var pIter uintptr = pCell + uintptr((*MemPage)(unsafe.Pointer(pPage)).FchildPtrSize) // For looping over bytes of pCell var pEnd uintptr // End mark for a varint var nSize U32 // Size value to return @@ -43042,7 +43052,7 @@ func cellSizePtr(tls *libc.TLS, pPage uintptr, pCell uintptr) U16 { /* sqlite3.c return U16(nSize) } -func cellSizePtrNoPayload(tls *libc.TLS, pPage uintptr, pCell uintptr) U16 { /* sqlite3.c:67525:12: */ +func cellSizePtrNoPayload(tls *libc.TLS, pPage uintptr, pCell uintptr) U16 { /* sqlite3.c:67535:12: */ var pIter uintptr = pCell + uintptr(4) // For looping over bytes of pCell var pEnd uintptr // End mark for a varint @@ -43059,7 +43069,7 @@ func cellSizePtrNoPayload(tls *libc.TLS, pPage uintptr, pCell uintptr) U16 { /* // of pPage. (pSrc and pPager are often the same.) If pCell contains a // pointer to an overflow page, insert an entry into the pointer-map for // the overflow page that will be valid after pCell has been moved to pPage. -func ptrmapPutOvflPtr(tls *libc.TLS, pPage uintptr, pSrc uintptr, pCell uintptr, pRC uintptr) { /* sqlite3.c:67563:13: */ +func ptrmapPutOvflPtr(tls *libc.TLS, pPage uintptr, pSrc uintptr, pCell uintptr, pRC uintptr) { /* sqlite3.c:67573:13: */ bp := tls.Alloc(20) defer tls.Free(20) @@ -43076,7 +43086,7 @@ func ptrmapPutOvflPtr(tls *libc.TLS, pPage uintptr, pSrc uintptr, pCell uintptr, var ovfl Pgno if Uptr((*MemPage)(unsafe.Pointer(pSrc)).FaDataEnd) >= Uptr(pCell) && Uptr((*MemPage)(unsafe.Pointer(pSrc)).FaDataEnd) < Uptr(pCell+uintptr((*CellInfo)(unsafe.Pointer(bp)).FnLocal)) { - *(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 67572) + *(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 67582) return } ovfl = Xsqlite3Get4byte(tls, pCell+uintptr(int32((*CellInfo)(unsafe.Pointer(bp)).FnSize)-4)) @@ -43094,7 +43104,7 @@ func ptrmapPutOvflPtr(tls *libc.TLS, pPage uintptr, pSrc uintptr, pCell uintptr, // b-tree page so that there are no freeblocks or fragment bytes, all // unused bytes are contained in the unallocated space region, and all // cells are packed tightly at the end of the page. -func defragmentPage(tls *libc.TLS, pPage uintptr, nMaxFrag int32) int32 { /* sqlite3.c:67594:12: */ +func defragmentPage(tls *libc.TLS, pPage uintptr, nMaxFrag int32) int32 { /* sqlite3.c:67604:12: */ var i int32 // Loop counter var pc int32 // Address of the i-th cell var hdr int32 // Offset to the page header @@ -43139,7 +43149,7 @@ func defragmentPage(tls *libc.TLS, pPage uintptr, nMaxFrag int32) int32 { /* sql if !(iFree > usableSize-4) { goto __2 } - return Xsqlite3CorruptError(tls, 67631) + return Xsqlite3CorruptError(tls, 67641) __2: ; if !(iFree != 0) { @@ -43149,7 +43159,7 @@ __2: if !(iFree2 > usableSize-4) { goto __4 } - return Xsqlite3CorruptError(tls, 67634) + return Xsqlite3CorruptError(tls, 67644) __4: ; if !(0 == iFree2 || int32(*(*uint8)(unsafe.Pointer(data + uintptr(iFree2)))) == 0 && int32(*(*uint8)(unsafe.Pointer(data + uintptr(iFree2+1)))) == 0) { @@ -43162,7 +43172,7 @@ __4: if !(top >= iFree) { goto __6 } - return Xsqlite3CorruptError(tls, 67642) + return Xsqlite3CorruptError(tls, 67652) __6: ; if !(iFree2 != 0) { @@ -43171,14 +43181,14 @@ __6: if !(iFree+sz > iFree2) { goto __9 } - return Xsqlite3CorruptError(tls, 67645) + return Xsqlite3CorruptError(tls, 67655) __9: ; sz2 = int32(*(*uint8)(unsafe.Pointer(data + uintptr(iFree2+2))))<<8 | int32(*(*uint8)(unsafe.Pointer(data + uintptr(iFree2+2) + 1))) if !(iFree2+sz2 > usableSize) { goto __10 } - return Xsqlite3CorruptError(tls, 67647) + return Xsqlite3CorruptError(tls, 67657) __10: ; libc.Xmemmove(tls, data+uintptr(iFree+sz+sz2), data+uintptr(iFree+sz), uint32(iFree2-(iFree+sz))) @@ -43188,7 +43198,7 @@ __7: if !(iFree+sz > usableSize) { goto __11 } - return Xsqlite3CorruptError(tls, 67651) + return Xsqlite3CorruptError(tls, 67661) __11: ; __8: @@ -43250,7 +43260,7 @@ __18: if !(pc < iCellStart || pc > iCellLast) { goto __21 } - return Xsqlite3CorruptError(tls, 67680) + return Xsqlite3CorruptError(tls, 67690) __21: ; @@ -43261,7 +43271,7 @@ __21: if !(cbrk < iCellStart || pc+size > usableSize) { goto __22 } - return Xsqlite3CorruptError(tls, 67686) + return Xsqlite3CorruptError(tls, 67696) __22: ; @@ -43296,7 +43306,7 @@ defragment_out: if !(int32(*(*uint8)(unsafe.Pointer(data + uintptr(hdr+7))))+cbrk-iCellFirst != (*MemPage)(unsafe.Pointer(pPage)).FnFree) { goto __25 } - return Xsqlite3CorruptError(tls, 67705) + return Xsqlite3CorruptError(tls, 67715) __25: ; @@ -43321,7 +43331,7 @@ __25: // Slots on the free list that are between 1 and 3 bytes larger than nByte // will be ignored if adding the extra space to the fragmentation count // causes the fragmentation count to exceed 60. -func pageFindSlot(tls *libc.TLS, pPg uintptr, nByte int32, pRc uintptr) uintptr { /* sqlite3.c:67730:11: */ +func pageFindSlot(tls *libc.TLS, pPg uintptr, nByte int32, pRc uintptr) uintptr { /* sqlite3.c:67740:11: */ var hdr int32 = int32((*MemPage)(unsafe.Pointer(pPg)).FhdrOffset) // Offset to page header var aData uintptr = (*MemPage)(unsafe.Pointer(pPg)).FaData // Page data var iAddr int32 = hdr + 1 // Address of ptr to pc @@ -43350,7 +43360,7 @@ func pageFindSlot(tls *libc.TLS, pPg uintptr, nByte int32, pRc uintptr) uintptr *(*U8)(unsafe.Pointer(aData + uintptr(hdr+7))) += U8(int32(U8(x))) } else if x+pc > maxPC { // This slot extends off the end of the usable part of the page - *(*int32)(unsafe.Pointer(pRc)) = Xsqlite3CorruptError(tls, 67759) + *(*int32)(unsafe.Pointer(pRc)) = Xsqlite3CorruptError(tls, 67769) return uintptr(0) } else { // The slot remains on the free-list. Reduce its size to account @@ -43365,14 +43375,14 @@ func pageFindSlot(tls *libc.TLS, pPg uintptr, nByte int32, pRc uintptr) uintptr if pc <= iAddr+size { if pc != 0 { // The next slot in the chain is not past the end of the current slot - *(*int32)(unsafe.Pointer(pRc)) = Xsqlite3CorruptError(tls, 67773) + *(*int32)(unsafe.Pointer(pRc)) = Xsqlite3CorruptError(tls, 67783) } return uintptr(0) } } if pc > maxPC+nByte-4 { // The free slot chain extends off the end of the page - *(*int32)(unsafe.Pointer(pRc)) = Xsqlite3CorruptError(tls, 67780) + *(*int32)(unsafe.Pointer(pRc)) = Xsqlite3CorruptError(tls, 67790) } return uintptr(0) } @@ -43388,7 +43398,7 @@ func pageFindSlot(tls *libc.TLS, pPg uintptr, nByte int32, pRc uintptr) uintptr // the first two bytes past the cell pointer area since presumably this // allocation is being made in order to insert a new cell, so we will // also end up needing a new cell pointer. -func allocateSpace(tls *libc.TLS, pPage uintptr, nByte int32, pIdx uintptr) int32 { /* sqlite3.c:67798:12: */ +func allocateSpace(tls *libc.TLS, pPage uintptr, nByte int32, pIdx uintptr) int32 { /* sqlite3.c:67808:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -43413,7 +43423,7 @@ func allocateSpace(tls *libc.TLS, pPage uintptr, nByte int32, pIdx uintptr) int3 if top == 0 && (*BtShared)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize == U32(65536) { top = 65536 } else { - return Xsqlite3CorruptError(tls, 67827) + return Xsqlite3CorruptError(tls, 67837) } } @@ -43428,7 +43438,7 @@ func allocateSpace(tls *libc.TLS, pPage uintptr, nByte int32, pIdx uintptr) int3 *(*int32)(unsafe.Pointer(pIdx)) = libc.AssignInt32(&g2, (int32(pSpace)-int32(data))/1) if g2 <= gap { - return Xsqlite3CorruptError(tls, 67845) + return Xsqlite3CorruptError(tls, 67855) } else { return SQLITE_OK } @@ -43479,7 +43489,7 @@ func allocateSpace(tls *libc.TLS, pPage uintptr, nByte int32, pIdx uintptr) int3 // does it detect cells or freeblocks that encrouch into the reserved bytes // at the end of the page. So do additional corruption checks inside this // routine and return SQLITE_CORRUPT if any problems are found. -func freeSpace(tls *libc.TLS, pPage uintptr, iStart U16, iSize U16) int32 { /* sqlite3.c:67894:12: */ +func freeSpace(tls *libc.TLS, pPage uintptr, iStart U16, iSize U16) int32 { /* sqlite3.c:67904:12: */ var iPtr U16 // Address of ptr to next freeblock var iFreeBlk U16 // Address of the next freeblock var hdr U8 // Page header size. 0 or 100 @@ -43503,12 +43513,12 @@ func freeSpace(tls *libc.TLS, pPage uintptr, iStart U16, iSize U16) int32 { /* s if int32(iFreeBlk) == 0 { break } // TH3: corrupt082.100 - return Xsqlite3CorruptError(tls, 67923) + return Xsqlite3CorruptError(tls, 67933) } iPtr = iFreeBlk } if U32(iFreeBlk) > (*BtShared)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize-U32(4) { // TH3: corrupt081.100 - return Xsqlite3CorruptError(tls, 67928) + return Xsqlite3CorruptError(tls, 67938) } // At this point: @@ -43519,11 +43529,11 @@ func freeSpace(tls *libc.TLS, pPage uintptr, iStart U16, iSize U16) int32 { /* s if iFreeBlk != 0 && iEnd+U32(3) >= U32(iFreeBlk) { nFrag = U8(U32(iFreeBlk) - iEnd) if iEnd > U32(iFreeBlk) { - return Xsqlite3CorruptError(tls, 67940) + return Xsqlite3CorruptError(tls, 67950) } iEnd = U32(int32(iFreeBlk) + (int32(*(*uint8)(unsafe.Pointer(data + uintptr(int32(iFreeBlk)+2))))<<8 | int32(*(*uint8)(unsafe.Pointer(data + uintptr(int32(iFreeBlk)+2) + 1))))) if iEnd > (*BtShared)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize { - return Xsqlite3CorruptError(tls, 67943) + return Xsqlite3CorruptError(tls, 67953) } iSize = U16(iEnd - U32(iStart)) iFreeBlk = U16(int32(*(*uint8)(unsafe.Pointer(data + uintptr(iFreeBlk))))<<8 | int32(*(*uint8)(unsafe.Pointer(data + uintptr(iFreeBlk) + 1)))) @@ -43536,7 +43546,7 @@ func freeSpace(tls *libc.TLS, pPage uintptr, iStart U16, iSize U16) int32 { /* s var iPtrEnd int32 = int32(iPtr) + (int32(*(*uint8)(unsafe.Pointer(data + uintptr(int32(iPtr)+2))))<<8 | int32(*(*uint8)(unsafe.Pointer(data + uintptr(int32(iPtr)+2) + 1)))) if iPtrEnd+3 >= int32(iStart) { if iPtrEnd > int32(iStart) { - return Xsqlite3CorruptError(tls, 67956) + return Xsqlite3CorruptError(tls, 67966) } nFrag = U8(int32(nFrag) + (int32(iStart) - iPtrEnd)) iSize = U16(iEnd - U32(iPtr)) @@ -43544,7 +43554,7 @@ func freeSpace(tls *libc.TLS, pPage uintptr, iStart U16, iSize U16) int32 { /* s } } if int32(nFrag) > int32(*(*uint8)(unsafe.Pointer(data + uintptr(int32(hdr)+7)))) { - return Xsqlite3CorruptError(tls, 67962) + return Xsqlite3CorruptError(tls, 67972) } *(*uint8)(unsafe.Pointer(data + uintptr(int32(hdr)+7))) -= uint8(int32(nFrag)) } @@ -43554,10 +43564,10 @@ func freeSpace(tls *libc.TLS, pPage uintptr, iStart U16, iSize U16) int32 { /* s // so just extend the cell content area rather than create another // freelist entry if int32(iStart) < int32(x) { - return Xsqlite3CorruptError(tls, 67970) + return Xsqlite3CorruptError(tls, 67980) } if int32(iPtr) != int32(hdr)+1 { - return Xsqlite3CorruptError(tls, 67971) + return Xsqlite3CorruptError(tls, 67981) } *(*uint8)(unsafe.Pointer(data + uintptr(int32(hdr)+1))) = U8(int32(iFreeBlk) >> 8) *(*uint8)(unsafe.Pointer(data + uintptr(int32(hdr)+1) + 1)) = U8(iFreeBlk) @@ -43591,7 +43601,7 @@ func freeSpace(tls *libc.TLS, pPage uintptr, iStart U16, iSize U16) int32 { /* s // PTF_ZERODATA | PTF_LEAF // PTF_LEAFDATA | PTF_INTKEY // PTF_LEAFDATA | PTF_INTKEY | PTF_LEAF -func decodeFlags(tls *libc.TLS, pPage uintptr, flagByte int32) int32 { /* sqlite3.c:68001:12: */ +func decodeFlags(tls *libc.TLS, pPage uintptr, flagByte int32) int32 { /* sqlite3.c:68011:12: */ var pBt uintptr // A copy of pPage->pBt (*MemPage)(unsafe.Pointer(pPage)).Fleaf = U8(flagByte >> 3) @@ -43642,7 +43652,7 @@ func decodeFlags(tls *libc.TLS, pPage uintptr, flagByte int32) int32 { /* sqlite } else { // EVIDENCE-OF: R-47608-56469 Any other value for the b-tree page type is // an error. - return Xsqlite3CorruptError(tls, 68044) + return Xsqlite3CorruptError(tls, 68054) } (*MemPage)(unsafe.Pointer(pPage)).Fmax1bytePayload = (*BtShared)(unsafe.Pointer(pBt)).Fmax1bytePayload return SQLITE_OK @@ -43650,7 +43660,7 @@ func decodeFlags(tls *libc.TLS, pPage uintptr, flagByte int32) int32 { /* sqlite // Compute the amount of freespace on the page. In other words, fill // in the pPage->nFree field. -func btreeComputeFreeSpace(tls *libc.TLS, pPage uintptr) int32 { /* sqlite3.c:68054:12: */ +func btreeComputeFreeSpace(tls *libc.TLS, pPage uintptr) int32 { /* sqlite3.c:68064:12: */ var pc int32 // Address of a freeblock within pPage->aData[] var hdr U8 // Offset to beginning of page header var data uintptr // Equal to pPage->aData @@ -43682,12 +43692,12 @@ func btreeComputeFreeSpace(tls *libc.TLS, pPage uintptr) int32 { /* sqlite3.c:68 if pc < top { // 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 Xsqlite3CorruptError(tls, 68095) + return Xsqlite3CorruptError(tls, 68105) } for 1 != 0 { if pc > iCellLast { // Freeblock off the end of the page - return Xsqlite3CorruptError(tls, 68100) + return Xsqlite3CorruptError(tls, 68110) } next = U32(int32(*(*U8)(unsafe.Pointer(data + uintptr(pc))))<<8 | int32(*(*U8)(unsafe.Pointer(data + uintptr(pc) + 1)))) size = U32(int32(*(*U8)(unsafe.Pointer(data + uintptr(pc+2))))<<8 | int32(*(*U8)(unsafe.Pointer(data + uintptr(pc+2) + 1)))) @@ -43699,11 +43709,11 @@ func btreeComputeFreeSpace(tls *libc.TLS, pPage uintptr) int32 { /* sqlite3.c:68 } if next > U32(0) { // Freeblock not in ascending order - return Xsqlite3CorruptError(tls, 68110) + return Xsqlite3CorruptError(tls, 68120) } if U32(pc)+size > uint32(usableSize) { // Last freeblock extends past page end - return Xsqlite3CorruptError(tls, 68114) + return Xsqlite3CorruptError(tls, 68124) } } @@ -43714,7 +43724,7 @@ func btreeComputeFreeSpace(tls *libc.TLS, pPage uintptr) int32 { /* sqlite3.c:68 // serves to verify that the offset to the start of the cell-content // area, according to the page header, lies within the page. if nFree > usableSize || nFree < iCellFirst { - return Xsqlite3CorruptError(tls, 68126) + return Xsqlite3CorruptError(tls, 68136) } (*MemPage)(unsafe.Pointer(pPage)).FnFree = int32(U16(nFree - iCellFirst)) return SQLITE_OK @@ -43722,7 +43732,7 @@ func btreeComputeFreeSpace(tls *libc.TLS, pPage uintptr) int32 { /* sqlite3.c:68 // Do additional sanity check after btreeInitPage() if // PRAGMA cell_size_check=ON -func btreeCellSizeCheck(tls *libc.TLS, pPage uintptr) int32 { /* sqlite3.c:68136:28: */ +func btreeCellSizeCheck(tls *libc.TLS, pPage uintptr) int32 { /* sqlite3.c:68146:28: */ var iCellFirst int32 // First allowable cell or freeblock offset var iCellLast int32 // Last possible cell or freeblock offset var i int32 // Index into the cell pointer array @@ -43744,14 +43754,14 @@ func btreeCellSizeCheck(tls *libc.TLS, pPage uintptr) int32 { /* sqlite3.c:68136 pc = int32(*(*U8)(unsafe.Pointer(data + uintptr(cellOffset+i*2))))<<8 | int32(*(*U8)(unsafe.Pointer(data + uintptr(cellOffset+i*2) + 1))) if pc < iCellFirst || pc > iCellLast { - return Xsqlite3CorruptError(tls, 68157) + return Xsqlite3CorruptError(tls, 68167) } sz = int32((*struct { f func(*libc.TLS, uintptr, uintptr) U16 })(unsafe.Pointer(&struct{ uintptr }{(*MemPage)(unsafe.Pointer(pPage)).FxCellSize})).f(tls, pPage, data+uintptr(pc))) if pc+sz > usableSize { - return Xsqlite3CorruptError(tls, 68162) + return Xsqlite3CorruptError(tls, 68172) } } return SQLITE_OK @@ -43764,7 +43774,7 @@ func btreeCellSizeCheck(tls *libc.TLS, pPage uintptr) int32 { /* sqlite3.c:68136 // SQLITE_CORRUPT. Note that a return of SQLITE_OK does not // guarantee that the page is well-formed. It only shows that // we failed to detect any corruption. -func btreeInitPage(tls *libc.TLS, pPage uintptr) int32 { /* sqlite3.c:68177:12: */ +func btreeInitPage(tls *libc.TLS, pPage uintptr) int32 { /* sqlite3.c:68187:12: */ var data uintptr // Equal to pPage->aData var pBt uintptr // The main btree structure @@ -43773,7 +43783,7 @@ func btreeInitPage(tls *libc.TLS, pPage uintptr) int32 { /* sqlite3.c:68177:12: // EVIDENCE-OF: R-28594-02890 The one-byte flag at offset 0 indicating // the b-tree page type. if decodeFlags(tls, pPage, int32(*(*U8)(unsafe.Pointer(data)))) != 0 { - return Xsqlite3CorruptError(tls, 68194) + return Xsqlite3CorruptError(tls, 68204) } (*MemPage)(unsafe.Pointer(pPage)).FmaskPage = U16((*BtShared)(unsafe.Pointer(pBt)).FpageSize - U32(1)) @@ -43787,7 +43797,7 @@ func btreeInitPage(tls *libc.TLS, pPage uintptr) int32 { /* sqlite3.c:68177:12: (*MemPage)(unsafe.Pointer(pPage)).FnCell = U16(int32(*(*U8)(unsafe.Pointer(data + 3)))<<8 | int32(*(*U8)(unsafe.Pointer(data + 3 + 1)))) if U32((*MemPage)(unsafe.Pointer(pPage)).FnCell) > ((*BtShared)(unsafe.Pointer(pBt)).FpageSize-U32(8))/U32(6) { // To many cells for a single page. The page must be corrupt - return Xsqlite3CorruptError(tls, 68208) + return Xsqlite3CorruptError(tls, 68218) } // EVIDENCE-OF: R-24089-57979 If a page contains no cells (which is only @@ -43805,7 +43815,7 @@ func btreeInitPage(tls *libc.TLS, pPage uintptr) int32 { /* sqlite3.c:68177:12: // Set up a raw page so that it looks like a database page holding // no entries. -func zeroPage(tls *libc.TLS, pPage uintptr, flags int32) { /* sqlite3.c:68230:13: */ +func zeroPage(tls *libc.TLS, pPage uintptr, flags int32) { /* sqlite3.c:68240:13: */ var data uintptr = (*MemPage)(unsafe.Pointer(pPage)).FaData var pBt uintptr = (*MemPage)(unsafe.Pointer(pPage)).FpBt var hdr U8 = (*MemPage)(unsafe.Pointer(pPage)).FhdrOffset @@ -43840,7 +43850,7 @@ func zeroPage(tls *libc.TLS, pPage uintptr, flags int32) { /* sqlite3.c:68230:13 // Convert a DbPage obtained from the pager into a MemPage used by // the btree layer. -func btreePageFromDbPage(tls *libc.TLS, pDbPage uintptr, pgno Pgno, pBt uintptr) uintptr { /* sqlite3.c:68267:16: */ +func btreePageFromDbPage(tls *libc.TLS, pDbPage uintptr, pgno Pgno, pBt uintptr) uintptr { /* sqlite3.c:68277:16: */ var pPage uintptr = Xsqlite3PagerGetExtra(tls, pDbPage) if pgno != (*MemPage)(unsafe.Pointer(pPage)).Fpgno { (*MemPage)(unsafe.Pointer(pPage)).FaData = Xsqlite3PagerGetData(tls, pDbPage) @@ -43867,7 +43877,7 @@ func btreePageFromDbPage(tls *libc.TLS, pDbPage uintptr, pgno Pgno, pBt uintptr) // If in the future we call sqlite3PagerWrite() on this page, that // means we have started to be concerned about content and the disk // read should occur at that point. -func btreeGetPage(tls *libc.TLS, pBt uintptr, pgno Pgno, ppPage uintptr, flags int32) int32 { /* sqlite3.c:68291:12: */ +func btreeGetPage(tls *libc.TLS, pBt uintptr, pgno Pgno, ppPage uintptr, flags int32) int32 { /* sqlite3.c:68301:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -43885,7 +43895,7 @@ func btreeGetPage(tls *libc.TLS, pBt uintptr, pgno Pgno, ppPage uintptr, flags i // Retrieve a page from the pager cache. If the requested page is not // already in the pager cache return NULL. Initialize the MemPage.pBt and // MemPage.aData elements if needed. -func btreePageLookup(tls *libc.TLS, pBt uintptr, pgno Pgno) uintptr { /* sqlite3.c:68313:16: */ +func btreePageLookup(tls *libc.TLS, pBt uintptr, pgno Pgno) uintptr { /* sqlite3.c:68323:16: */ var pDbPage uintptr pDbPage = Xsqlite3PagerLookup(tls, (*BtShared)(unsafe.Pointer(pBt)).FpPager, pgno) @@ -43897,11 +43907,11 @@ func btreePageLookup(tls *libc.TLS, pBt uintptr, pgno Pgno) uintptr { /* sqlite3 // Return the size of the database file in pages. If there is any kind of // error, return ((unsigned int)-1). -func btreePagecount(tls *libc.TLS, pBt uintptr) Pgno { /* sqlite3.c:68327:13: */ +func btreePagecount(tls *libc.TLS, pBt uintptr) Pgno { /* sqlite3.c:68337:13: */ return (*BtShared)(unsafe.Pointer(pBt)).FnPage } -func Xsqlite3BtreeLastPage(tls *libc.TLS, p uintptr) Pgno { /* sqlite3.c:68330:21: */ +func Xsqlite3BtreeLastPage(tls *libc.TLS, p uintptr) Pgno { /* sqlite3.c:68340:21: */ return btreePagecount(tls, (*Btree)(unsafe.Pointer(p)).FpBt) } @@ -43917,7 +43927,7 @@ func Xsqlite3BtreeLastPage(tls *libc.TLS, p uintptr) Pgno { /* sqlite3.c:68330:2 // // If an error occurs, then *ppPage is undefined. It // may remain unchanged, or it may be set to an invalid value. -func getAndInitPage(tls *libc.TLS, pBt uintptr, pgno Pgno, ppPage uintptr, pCur uintptr, bReadOnly int32) int32 { /* sqlite3.c:68348:12: */ +func getAndInitPage(tls *libc.TLS, pBt uintptr, pgno Pgno, ppPage uintptr, pCur uintptr, bReadOnly int32) int32 { /* sqlite3.c:68358:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -43927,7 +43937,7 @@ func getAndInitPage(tls *libc.TLS, pBt uintptr, pgno Pgno, ppPage uintptr, pCur if !(pgno > btreePagecount(tls, pBt)) { goto __1 } - rc = Xsqlite3CorruptError(tls, 68363) + rc = Xsqlite3CorruptError(tls, 68373) goto getAndInitPage_error1 __1: ; @@ -43958,7 +43968,7 @@ __3: if !(pCur != 0 && (int32((*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(ppPage)))).FnCell) < 1 || int32((*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(ppPage)))).FintKey) != int32((*BtCursor)(unsafe.Pointer(pCur)).FcurIntKey))) { goto __5 } - rc = Xsqlite3CorruptError(tls, 68384) + rc = Xsqlite3CorruptError(tls, 68394) goto getAndInitPage_error2 __5: ; @@ -43982,18 +43992,18 @@ __6: // call to btreeGetPage. // // Page1 is a special case and must be released using releasePageOne(). -func releasePageNotNull(tls *libc.TLS, pPage uintptr) { /* sqlite3.c:68407:13: */ +func releasePageNotNull(tls *libc.TLS, pPage uintptr) { /* sqlite3.c:68417:13: */ Xsqlite3PagerUnrefNotNull(tls, (*MemPage)(unsafe.Pointer(pPage)).FpDbPage) } -func releasePage(tls *libc.TLS, pPage uintptr) { /* sqlite3.c:68416:13: */ +func releasePage(tls *libc.TLS, pPage uintptr) { /* sqlite3.c:68426:13: */ if pPage != 0 { releasePageNotNull(tls, pPage) } } -func releasePageOne(tls *libc.TLS, pPage uintptr) { /* sqlite3.c:68419:13: */ +func releasePageOne(tls *libc.TLS, pPage uintptr) { /* sqlite3.c:68429:13: */ Xsqlite3PagerUnrefPageOne(tls, (*MemPage)(unsafe.Pointer(pPage)).FpDbPage) } @@ -44005,13 +44015,13 @@ func releasePageOne(tls *libc.TLS, pPage uintptr) { /* sqlite3.c:68419:13: */ // * If the page is already in use for some other purpose, immediately // release it and return an SQLITE_CURRUPT error. // * Make sure the isInit flag is clear -func btreeGetUnusedPage(tls *libc.TLS, pBt uintptr, pgno Pgno, ppPage uintptr, flags int32) int32 { /* sqlite3.c:68439:12: */ +func btreeGetUnusedPage(tls *libc.TLS, pBt uintptr, pgno Pgno, ppPage uintptr, flags int32) int32 { /* sqlite3.c:68449:12: */ var rc int32 = btreeGetPage(tls, pBt, pgno, ppPage, flags) if rc == SQLITE_OK { if Xsqlite3PagerPageRefcount(tls, (*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(ppPage)))).FpDbPage) > 1 { releasePage(tls, *(*uintptr)(unsafe.Pointer(ppPage))) *(*uintptr)(unsafe.Pointer(ppPage)) = uintptr(0) - return Xsqlite3CorruptError(tls, 68450) + return Xsqlite3CorruptError(tls, 68460) } (*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(ppPage)))).FisInit = U8(0) } else { @@ -44026,7 +44036,7 @@ func btreeGetUnusedPage(tls *libc.TLS, pBt uintptr, pgno Pgno, ppPage uintptr, f // // This routine needs to reset the extra data section at the end of the // page to agree with the restored data. -func pageReinit(tls *libc.TLS, pData uintptr) { /* sqlite3.c:68468:13: */ +func pageReinit(tls *libc.TLS, pData uintptr) { /* sqlite3.c:68478:13: */ var pPage uintptr pPage = Xsqlite3PagerGetExtra(tls, pData) @@ -44046,7 +44056,7 @@ func pageReinit(tls *libc.TLS, pData uintptr) { /* sqlite3.c:68468:13: */ } // Invoke the busy handler for a btree. -func btreeInvokeBusyHandler(tls *libc.TLS, pArg uintptr) int32 { /* sqlite3.c:68490:12: */ +func btreeInvokeBusyHandler(tls *libc.TLS, pArg uintptr) int32 { /* sqlite3.c:68500:12: */ var pBt uintptr = pArg return Xsqlite3InvokeBusyHandler(tls, (*BtShared)(unsafe.Pointer(pBt)).Fdb+452) @@ -44071,7 +44081,7 @@ func btreeInvokeBusyHandler(tls *libc.TLS, pArg uintptr) int32 { /* sqlite3.c:68 // SQLITE_CONSTRAINT error. We cannot allow two or more BtShared // objects in the same database connection since doing so will lead // to problems with locking. -func Xsqlite3BtreeOpen(tls *libc.TLS, pVfs uintptr, zFilename uintptr, db uintptr, ppBtree uintptr, flags int32, vfsFlags int32) int32 { /* sqlite3.c:68518:20: */ +func Xsqlite3BtreeOpen(tls *libc.TLS, pVfs uintptr, zFilename uintptr, db uintptr, ppBtree uintptr, flags int32, vfsFlags int32) int32 { /* sqlite3.c:68528:20: */ bp := tls.Alloc(100) defer tls.Free(100) @@ -44492,7 +44502,7 @@ __49: // remove the BtShared structure from the sharing list. Return // true if the BtShared.nRef counter reaches zero and return // false if it is still positive. -func removeFromSharingList(tls *libc.TLS, pBt uintptr) int32 { /* sqlite3.c:68816:12: */ +func removeFromSharingList(tls *libc.TLS, pBt uintptr) int32 { /* sqlite3.c:68826:12: */ var pMainMtx uintptr var pList uintptr var removed int32 = 0 @@ -44524,7 +44534,7 @@ func removeFromSharingList(tls *libc.TLS, pBt uintptr) int32 { /* sqlite3.c:6881 // Make sure pBt->pTmpSpace points to an allocation of // MX_CELL_SIZE(pBt) bytes with a 4-byte prefix for a left-child // pointer. -func allocateTempSpace(tls *libc.TLS, pBt uintptr) int32 { /* sqlite3.c:68855:28: */ +func allocateTempSpace(tls *libc.TLS, pBt uintptr) int32 { /* sqlite3.c:68865:28: */ // This routine is called only by btreeCursor() when allocating the // first write cursor for the BtShared object @@ -44557,7 +44567,7 @@ func allocateTempSpace(tls *libc.TLS, pBt uintptr) int32 { /* sqlite3.c:68855:28 } // Free the pBt->pTmpSpace allocation -func freeTempSpace(tls *libc.TLS, pBt uintptr) { /* sqlite3.c:68892:13: */ +func freeTempSpace(tls *libc.TLS, pBt uintptr) { /* sqlite3.c:68902:13: */ if (*BtShared)(unsafe.Pointer(pBt)).FpTmpSpace != 0 { *(*uintptr)(unsafe.Pointer(pBt + 84)) -= uintptr(4) Xsqlite3PageFree(tls, (*BtShared)(unsafe.Pointer(pBt)).FpTmpSpace) @@ -44566,7 +44576,7 @@ func freeTempSpace(tls *libc.TLS, pBt uintptr) { /* sqlite3.c:68892:13: */ } // Close an open database and invalidate all cursors. -func Xsqlite3BtreeClose(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:68903:20: */ +func Xsqlite3BtreeClose(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:68913:20: */ var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt // Close all cursors opened via this handle. @@ -44616,7 +44626,7 @@ func Xsqlite3BtreeClose(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:68903:20: // pages in the cache exceeds this soft limit. But the size of the // cache is allowed to grow larger than this limit if it contains // dirty pages or pages still in active use. -func Xsqlite3BtreeSetCacheSize(tls *libc.TLS, p uintptr, mxPage int32) int32 { /* sqlite3.c:68969:20: */ +func Xsqlite3BtreeSetCacheSize(tls *libc.TLS, p uintptr, mxPage int32) int32 { /* sqlite3.c:68979:20: */ var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt Xsqlite3BtreeEnter(tls, p) @@ -44633,7 +44643,7 @@ func Xsqlite3BtreeSetCacheSize(tls *libc.TLS, p uintptr, mxPage int32) int32 { / // The value returned is the current spill size. If zero is passed // as an argument, no changes are made to the spill size setting, so // using mxPage of 0 is a way to query the current spill size. -func Xsqlite3BtreeSetSpillSize(tls *libc.TLS, p uintptr, mxPage int32) int32 { /* sqlite3.c:68988:20: */ +func Xsqlite3BtreeSetSpillSize(tls *libc.TLS, p uintptr, mxPage int32) int32 { /* sqlite3.c:68998:20: */ var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt var res int32 @@ -44645,7 +44655,7 @@ func Xsqlite3BtreeSetSpillSize(tls *libc.TLS, p uintptr, mxPage int32) int32 { / // Change the limit on the amount of the database file that may be // memory mapped. -func Xsqlite3BtreeSetMmapLimit(tls *libc.TLS, p uintptr, szMmap Sqlite3_int64) int32 { /* sqlite3.c:69003:20: */ +func Xsqlite3BtreeSetMmapLimit(tls *libc.TLS, p uintptr, szMmap Sqlite3_int64) int32 { /* sqlite3.c:69013:20: */ var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt Xsqlite3BtreeEnter(tls, p) @@ -44660,7 +44670,7 @@ func Xsqlite3BtreeSetMmapLimit(tls *libc.TLS, p uintptr, szMmap Sqlite3_int64) i // there is a high probability of damage) Level 2 is the default. There // is a very low but non-zero probability of damage. Level 3 reduces the // probability of damage to near zero but with a write performance reduction. -func Xsqlite3BtreeSetPagerFlags(tls *libc.TLS, p uintptr, pgFlags uint32) int32 { /* sqlite3.c:69022:20: */ +func Xsqlite3BtreeSetPagerFlags(tls *libc.TLS, p uintptr, pgFlags uint32) int32 { /* sqlite3.c:69032:20: */ var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt Xsqlite3BtreeEnter(tls, p) @@ -44687,7 +44697,7 @@ func Xsqlite3BtreeSetPagerFlags(tls *libc.TLS, p uintptr, pgFlags uint32) int32 // // If the iFix!=0 then the BTS_PAGESIZE_FIXED flag is set so that the page size // and autovacuum mode can no longer be changed. -func Xsqlite3BtreeSetPageSize(tls *libc.TLS, p uintptr, pageSize int32, nReserve int32, iFix int32) int32 { /* sqlite3.c:69055:20: */ +func Xsqlite3BtreeSetPageSize(tls *libc.TLS, p uintptr, pageSize int32, nReserve int32, iFix int32) int32 { /* sqlite3.c:69065:20: */ var rc int32 = SQLITE_OK var x int32 var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt @@ -44721,7 +44731,7 @@ func Xsqlite3BtreeSetPageSize(tls *libc.TLS, p uintptr, pageSize int32, nReserve } // Return the currently defined page size -func Xsqlite3BtreeGetPageSize(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:69087:20: */ +func Xsqlite3BtreeGetPageSize(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:69097:20: */ return int32((*BtShared)(unsafe.Pointer((*Btree)(unsafe.Pointer(p)).FpBt)).FpageSize) } @@ -44734,7 +44744,7 @@ func Xsqlite3BtreeGetPageSize(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:690 // database handle that owns *p is not. In this case if sqlite3BtreeEnter() // were to be called, it might collide with some other operation on the // database handle that owns *p, causing undefined behavior. -func Xsqlite3BtreeGetReserveNoMutex(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:69102:20: */ +func Xsqlite3BtreeGetReserveNoMutex(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:69112:20: */ var n int32 n = int32((*BtShared)(unsafe.Pointer((*Btree)(unsafe.Pointer(p)).FpBt)).FpageSize - (*BtShared)(unsafe.Pointer((*Btree)(unsafe.Pointer(p)).FpBt)).FusableSize) @@ -44748,7 +44758,7 @@ func Xsqlite3BtreeGetReserveNoMutex(tls *libc.TLS, p uintptr) int32 { /* sqlite3 // The value returned is the larger of the current reserve size and // the latest reserve size requested by SQLITE_FILECTRL_RESERVE_BYTES. // The amount of reserve can only grow - never shrink. -func Xsqlite3BtreeGetRequestedReserve(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:69118:20: */ +func Xsqlite3BtreeGetRequestedReserve(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:69128:20: */ var n1 int32 var n2 int32 Xsqlite3BtreeEnter(tls, p) @@ -44764,7 +44774,7 @@ func Xsqlite3BtreeGetRequestedReserve(tls *libc.TLS, p uintptr) int32 { /* sqlit // Set the maximum page count for a database if mxPage is positive. // No changes are made if mxPage is 0 or negative. // Regardless of the value of mxPage, return the maximum page count. -func Xsqlite3BtreeMaxPageCount(tls *libc.TLS, p uintptr, mxPage Pgno) Pgno { /* sqlite3.c:69133:21: */ +func Xsqlite3BtreeMaxPageCount(tls *libc.TLS, p uintptr, mxPage Pgno) Pgno { /* sqlite3.c:69143:21: */ var n Pgno Xsqlite3BtreeEnter(tls, p) n = Xsqlite3PagerMaxPageCount(tls, (*BtShared)(unsafe.Pointer((*Btree)(unsafe.Pointer(p)).FpBt)).FpPager, mxPage) @@ -44788,7 +44798,7 @@ func Xsqlite3BtreeMaxPageCount(tls *libc.TLS, p uintptr, mxPage Pgno) Pgno { /* // With BTS_SECURE_DELETE, operation is like BTS_OVERWRITE with the addition // that freelist leaf pages are written back into the database, increasing // the amount of disk I/O. -func Xsqlite3BtreeSecureDelete(tls *libc.TLS, p uintptr, newFlag int32) int32 { /* sqlite3.c:69159:20: */ +func Xsqlite3BtreeSecureDelete(tls *libc.TLS, p uintptr, newFlag int32) int32 { /* sqlite3.c:69169:20: */ var b int32 if p == uintptr(0) { return 0 @@ -44808,7 +44818,7 @@ func Xsqlite3BtreeSecureDelete(tls *libc.TLS, p uintptr, newFlag int32) int32 { // parameter is non-zero, then auto-vacuum mode is enabled. If zero, it // is disabled. The default value for the auto-vacuum property is // determined by the SQLITE_DEFAULT_AUTOVACUUM macro. -func Xsqlite3BtreeSetAutoVacuum(tls *libc.TLS, p uintptr, autoVacuum int32) int32 { /* sqlite3.c:69180:20: */ +func Xsqlite3BtreeSetAutoVacuum(tls *libc.TLS, p uintptr, autoVacuum int32) int32 { /* sqlite3.c:69190:20: */ var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt var rc int32 = SQLITE_OK var av U8 = U8(autoVacuum) @@ -44841,7 +44851,7 @@ func Xsqlite3BtreeSetAutoVacuum(tls *libc.TLS, p uintptr, autoVacuum int32) int3 // Return the value of the 'auto-vacuum' property. If auto-vacuum is // enabled 1 is returned. Otherwise 0. -func Xsqlite3BtreeGetAutoVacuum(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:69204:20: */ +func Xsqlite3BtreeGetAutoVacuum(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:69214:20: */ var rc int32 Xsqlite3BtreeEnter(tls, p) rc = func() int32 { @@ -44866,7 +44876,7 @@ func Xsqlite3BtreeGetAutoVacuum(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:6 // well-formed database file, then SQLITE_CORRUPT is returned. // SQLITE_BUSY is returned if the database is locked. SQLITE_NOMEM // is returned if we run out of memory. -func lockBtree(tls *libc.TLS, pBt uintptr) int32 { /* sqlite3.c:69260:12: */ +func lockBtree(tls *libc.TLS, pBt uintptr) int32 { /* sqlite3.c:69270:12: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -45035,7 +45045,7 @@ __16: if !(Xsqlite3WritableSchema(tls, (*BtShared)(unsafe.Pointer(pBt)).Fdb) == 0) { goto __18 } - rc = Xsqlite3CorruptError(tls, 69385) + rc = Xsqlite3CorruptError(tls, 69395) goto page1_init_failed goto __19 __18: @@ -45112,7 +45122,7 @@ page1_init_failed: // has the effect of releasing the read lock. // // If there is a transaction in progress, this routine is a no-op. -func unlockBtreeIfUnused(tls *libc.TLS, pBt uintptr) { /* sqlite3.c:69470:13: */ +func unlockBtreeIfUnused(tls *libc.TLS, pBt uintptr) { /* sqlite3.c:69480:13: */ if int32((*BtShared)(unsafe.Pointer(pBt)).FinTransaction) == TRANS_NONE && (*BtShared)(unsafe.Pointer(pBt)).FpPage1 != uintptr(0) { var pPage1 uintptr = (*BtShared)(unsafe.Pointer(pBt)).FpPage1 @@ -45125,7 +45135,7 @@ func unlockBtreeIfUnused(tls *libc.TLS, pBt uintptr) { /* sqlite3.c:69470:13: */ // If pBt points to an empty file then convert that empty file // into a new empty database by initializing the first page of // the database. -func newDatabase(tls *libc.TLS, pBt uintptr) int32 { /* sqlite3.c:69487:12: */ +func newDatabase(tls *libc.TLS, pBt uintptr) int32 { /* sqlite3.c:69497:12: */ var pP1 uintptr var data uintptr var rc int32 @@ -45165,7 +45175,7 @@ func newDatabase(tls *libc.TLS, pBt uintptr) int32 { /* sqlite3.c:69487:12: */ // Initialize the first page of the database file (creating a database // consisting of a single page and no schema objects). Return SQLITE_OK // if successful, or an SQLite error code otherwise. -func Xsqlite3BtreeNewDb(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:69531:20: */ +func Xsqlite3BtreeNewDb(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:69541:20: */ var rc int32 Xsqlite3BtreeEnter(tls, p) (*BtShared)(unsafe.Pointer((*Btree)(unsafe.Pointer(p)).FpBt)).FnPage = U32(0) @@ -45207,7 +45217,7 @@ func Xsqlite3BtreeNewDb(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:69531:20: // no progress. By returning SQLITE_BUSY and not invoking the busy callback // when A already has a read lock, we encourage A to give up and let B // proceed. -func Xsqlite3BtreeBeginTrans(tls *libc.TLS, p uintptr, wrflag int32, pSchemaVersion uintptr) int32 { /* sqlite3.c:69575:20: */ +func Xsqlite3BtreeBeginTrans(tls *libc.TLS, p uintptr, wrflag int32, pSchemaVersion uintptr) int32 { /* sqlite3.c:69585:20: */ var pBt uintptr var pPager uintptr var rc int32 @@ -45471,7 +45481,7 @@ __34: // Set the pointer-map entries for all children of page pPage. Also, if // pPage contains cells that point to overflow pages, set the pointer // map entries for the overflow pages as well. -func setChildPtrmaps(tls *libc.TLS, pPage uintptr) int32 { /* sqlite3.c:69755:12: */ +func setChildPtrmaps(tls *libc.TLS, pPage uintptr) int32 { /* sqlite3.c:69765:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -45523,14 +45533,14 @@ func setChildPtrmaps(tls *libc.TLS, pPage uintptr) int32 { /* sqlite3.c:69755:12 // // PTRMAP_OVERFLOW2: pPage is an overflow-page. The pointer points at the next // overflow page in the list. -func modifyPagePointer(tls *libc.TLS, pPage uintptr, iFrom Pgno, iTo Pgno, eType U8) int32 { /* sqlite3.c:69800:12: */ +func modifyPagePointer(tls *libc.TLS, pPage uintptr, iFrom Pgno, iTo Pgno, eType U8) int32 { /* sqlite3.c:69810:12: */ bp := tls.Alloc(20) defer tls.Free(20) if int32(eType) == PTRMAP_OVERFLOW2 { // The pointer is always the first 4 bytes of the page in this case. if Xsqlite3Get4byte(tls, (*MemPage)(unsafe.Pointer(pPage)).FaData) != iFrom { - return Xsqlite3CorruptError(tls, 69806) + return Xsqlite3CorruptError(tls, 69816) } Xsqlite3Put4byte(tls, (*MemPage)(unsafe.Pointer(pPage)).FaData, iTo) } else { @@ -45558,7 +45568,7 @@ func modifyPagePointer(tls *libc.TLS, pPage uintptr, iFrom Pgno, iTo Pgno, eType })(unsafe.Pointer(&struct{ uintptr }{(*MemPage)(unsafe.Pointer(pPage)).FxParseCell})).f(tls, pPage, pCell, bp /* &info */) if U32((*CellInfo)(unsafe.Pointer(bp)).FnLocal) < (*CellInfo)(unsafe.Pointer(bp)).FnPayload { if pCell+uintptr((*CellInfo)(unsafe.Pointer(bp)).FnSize) > (*MemPage)(unsafe.Pointer(pPage)).FaData+uintptr((*BtShared)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize) { - return Xsqlite3CorruptError(tls, 69825) + return Xsqlite3CorruptError(tls, 69835) } if iFrom == Xsqlite3Get4byte(tls, pCell+uintptr((*CellInfo)(unsafe.Pointer(bp)).FnSize)-uintptr(4)) { Xsqlite3Put4byte(tls, pCell+uintptr((*CellInfo)(unsafe.Pointer(bp)).FnSize)-uintptr(4), iTo) @@ -45575,7 +45585,7 @@ func modifyPagePointer(tls *libc.TLS, pPage uintptr, iFrom Pgno, iTo Pgno, eType if i == nCell { if int32(eType) != PTRMAP_BTREE || Xsqlite3Get4byte(tls, (*MemPage)(unsafe.Pointer(pPage)).FaData+uintptr(int32((*MemPage)(unsafe.Pointer(pPage)).FhdrOffset)+8)) != iFrom { - return Xsqlite3CorruptError(tls, 69843) + return Xsqlite3CorruptError(tls, 69853) } Xsqlite3Put4byte(tls, (*MemPage)(unsafe.Pointer(pPage)).FaData+uintptr(int32((*MemPage)(unsafe.Pointer(pPage)).FhdrOffset)+8), iTo) } @@ -45590,7 +45600,7 @@ func modifyPagePointer(tls *libc.TLS, pPage uintptr, iFrom Pgno, iTo Pgno, eType // the journal needs to be sync()ed before database page pDbPage->pgno // can be written to. The caller has already promised not to write to that // page. -func relocatePage(tls *libc.TLS, pBt uintptr, pDbPage uintptr, eType U8, iPtrPage Pgno, iFreePage Pgno, isCommit int32) int32 { /* sqlite3.c:69861:12: */ +func relocatePage(tls *libc.TLS, pBt uintptr, pDbPage uintptr, eType U8, iPtrPage Pgno, iFreePage Pgno, isCommit int32) int32 { /* sqlite3.c:69871:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -45601,7 +45611,7 @@ func relocatePage(tls *libc.TLS, pBt uintptr, pDbPage uintptr, eType U8, iPtrPag // var rc int32 at bp, 4 if iDbPage < Pgno(3) { - return Xsqlite3CorruptError(tls, 69878) + return Xsqlite3CorruptError(tls, 69888) } // Move page iDbPage from its current location to page number iFreePage @@ -45671,7 +45681,7 @@ func relocatePage(tls *libc.TLS, pBt uintptr, pDbPage uintptr, eType U8, iPtrPag // caller will keep calling incrVacuumStep() until it returns SQLITE_DONE // or an error. bCommit is passed true for an auto-vacuum-on-commit // operation, or false for an incremental vacuum. -func incrVacuumStep(tls *libc.TLS, pBt uintptr, nFin Pgno, iLastPg Pgno, bCommit int32) int32 { /* sqlite3.c:69955:12: */ +func incrVacuumStep(tls *libc.TLS, pBt uintptr, nFin Pgno, iLastPg Pgno, bCommit int32) int32 { /* sqlite3.c:69965:12: */ bp := tls.Alloc(28) defer tls.Free(28) @@ -45693,7 +45703,7 @@ func incrVacuumStep(tls *libc.TLS, pBt uintptr, nFin Pgno, iLastPg Pgno, bCommit return rc } if int32(*(*U8)(unsafe.Pointer(bp))) == PTRMAP_ROOTPAGE { - return Xsqlite3CorruptError(tls, 69976) + return Xsqlite3CorruptError(tls, 69986) } if int32(*(*U8)(unsafe.Pointer(bp))) == PTRMAP_FREEPAGE { @@ -45768,7 +45778,7 @@ func incrVacuumStep(tls *libc.TLS, pBt uintptr, nFin Pgno, iLastPg Pgno, bCommit // The database opened by the first argument is an auto-vacuum database // nOrig pages in size containing nFree free pages. Return the expected // size of the database in pages following an auto-vacuum operation. -func finalDbSize(tls *libc.TLS, pBt uintptr, nOrig Pgno, nFree Pgno) Pgno { /* sqlite3.c:70051:13: */ +func finalDbSize(tls *libc.TLS, pBt uintptr, nOrig Pgno, nFree Pgno) Pgno { /* sqlite3.c:70061:13: */ var nEntry int32 // Number of entries on one ptrmap page var nPtrmap Pgno // Number of PtrMap pages to be freed var nFin Pgno // Return value @@ -45792,7 +45802,7 @@ func finalDbSize(tls *libc.TLS, pBt uintptr, nOrig Pgno, nFree Pgno) Pgno { /* s // If the incremental vacuum is finished after this function has run, // SQLITE_DONE is returned. If it is not finished, but no error occurred, // SQLITE_OK is returned. Otherwise an SQLite error code. -func Xsqlite3BtreeIncrVacuum(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:70077:20: */ +func Xsqlite3BtreeIncrVacuum(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:70087:20: */ var rc int32 var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt @@ -45806,7 +45816,7 @@ func Xsqlite3BtreeIncrVacuum(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:7007 var nFin Pgno = finalDbSize(tls, pBt, nOrig, nFree) if nOrig < nFin || nFree >= nOrig { - rc = Xsqlite3CorruptError(tls, 70091) + rc = Xsqlite3CorruptError(tls, 70101) } else if nFree > Pgno(0) { rc = saveAllCursors(tls, pBt, uint32(0), uintptr(0)) if rc == SQLITE_OK { @@ -45827,7 +45837,7 @@ func Xsqlite3BtreeIncrVacuum(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:7007 // This routine is called prior to sqlite3PagerCommit when a transaction // is committed for an auto-vacuum database. -func autoVacuumCommit(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:70114:12: */ +func autoVacuumCommit(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:70124:12: */ var rc int32 = SQLITE_OK var pPager uintptr var pBt uintptr @@ -45850,7 +45860,7 @@ func autoVacuumCommit(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:70114:12: * // It is not possible to create a database for which the final page // is either a pointer-map page or the pending-byte page. If one // is encountered, this indicates corruption. - return Xsqlite3CorruptError(tls, 70142) + return Xsqlite3CorruptError(tls, 70152) } nFree = Xsqlite3Get4byte(tls, (*MemPage)(unsafe.Pointer((*BtShared)(unsafe.Pointer(pBt)).FpPage1)).FaData+36) @@ -45881,7 +45891,7 @@ func autoVacuumCommit(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:70114:12: * } nFin = finalDbSize(tls, pBt, nOrig, nVac) if nFin > nOrig { - return Xsqlite3CorruptError(tls, 70169) + return Xsqlite3CorruptError(tls, 70179) } if nFin < nOrig { rc = saveAllCursors(tls, pBt, uint32(0), uintptr(0)) @@ -45931,7 +45941,7 @@ func autoVacuumCommit(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:70114:12: * // // Once this is routine has returned, the only thing required to commit // the write-transaction for this database file is to delete the journal. -func Xsqlite3BtreeCommitPhaseOne(tls *libc.TLS, p uintptr, zSuperJrnl uintptr) int32 { /* sqlite3.c:70225:20: */ +func Xsqlite3BtreeCommitPhaseOne(tls *libc.TLS, p uintptr, zSuperJrnl uintptr) int32 { /* sqlite3.c:70235:20: */ var rc int32 = SQLITE_OK if int32((*Btree)(unsafe.Pointer(p)).FinTrans) == TRANS_WRITE { var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt @@ -45954,7 +45964,7 @@ func Xsqlite3BtreeCommitPhaseOne(tls *libc.TLS, p uintptr, zSuperJrnl uintptr) i // This function is called from both BtreeCommitPhaseTwo() and BtreeRollback() // at the conclusion of a transaction. -func btreeEndTransaction(tls *libc.TLS, p uintptr) { /* sqlite3.c:70252:13: */ +func btreeEndTransaction(tls *libc.TLS, p uintptr) { /* sqlite3.c:70262:13: */ var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt var db uintptr = (*Btree)(unsafe.Pointer(p)).Fdb @@ -46010,7 +46020,7 @@ func btreeEndTransaction(tls *libc.TLS, p uintptr) { /* sqlite3.c:70252:13: */ // // This will release the write lock on the database file. If there // are no active cursors, it also releases the read lock. -func Xsqlite3BtreeCommitPhaseTwo(tls *libc.TLS, p uintptr, bCleanup int32) int32 { /* sqlite3.c:70314:20: */ +func Xsqlite3BtreeCommitPhaseTwo(tls *libc.TLS, p uintptr, bCleanup int32) int32 { /* sqlite3.c:70324:20: */ if int32((*Btree)(unsafe.Pointer(p)).FinTrans) == TRANS_NONE { return SQLITE_OK @@ -46039,7 +46049,7 @@ func Xsqlite3BtreeCommitPhaseTwo(tls *libc.TLS, p uintptr, bCleanup int32) int32 } // Do both phases of a commit. -func Xsqlite3BtreeCommit(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:70346:20: */ +func Xsqlite3BtreeCommit(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:70356:20: */ var rc int32 Xsqlite3BtreeEnter(tls, p) rc = Xsqlite3BtreeCommitPhaseOne(tls, p, uintptr(0)) @@ -46074,7 +46084,7 @@ func Xsqlite3BtreeCommit(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:70346:20 // // SQLITE_OK is returned if successful, or if an error occurs while // saving a cursor position, an SQLite error code. -func Xsqlite3BtreeTripAllCursors(tls *libc.TLS, pBtree uintptr, errCode int32, writeOnly int32) int32 { /* sqlite3.c:70383:20: */ +func Xsqlite3BtreeTripAllCursors(tls *libc.TLS, pBtree uintptr, errCode int32, writeOnly int32) int32 { /* sqlite3.c:70393:20: */ var p uintptr var rc int32 = SQLITE_OK @@ -46103,7 +46113,7 @@ func Xsqlite3BtreeTripAllCursors(tls *libc.TLS, pBtree uintptr, errCode int32, w // Set the pBt->nPage field correctly, according to the current // state of the database. Assume pBt->pPage1 is valid. -func btreeSetNPage(tls *libc.TLS, pBt uintptr, pPage1 uintptr) { /* sqlite3.c:70415:13: */ +func btreeSetNPage(tls *libc.TLS, pBt uintptr, pPage1 uintptr) { /* sqlite3.c:70425:13: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -46125,7 +46135,7 @@ func btreeSetNPage(tls *libc.TLS, pBt uintptr, pPage1 uintptr) { /* sqlite3.c:70 // // This will release the write lock on the database file. If there // are no active cursors, it also releases the read lock. -func Xsqlite3BtreeRollback(tls *libc.TLS, p uintptr, tripCode int32, writeOnly int32) int32 { /* sqlite3.c:70434:20: */ +func Xsqlite3BtreeRollback(tls *libc.TLS, p uintptr, tripCode int32, writeOnly int32) int32 { /* sqlite3.c:70444:20: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -46191,7 +46201,7 @@ func Xsqlite3BtreeRollback(tls *libc.TLS, p uintptr, tripCode int32, writeOnly i // are no active savepoints and no other statement-transactions open, // iStatement is 1. This anonymous savepoint can be released or rolled back // using the sqlite3BtreeSavepoint() function. -func Xsqlite3BtreeBeginStmt(tls *libc.TLS, p uintptr, iStatement int32) int32 { /* sqlite3.c:70499:20: */ +func Xsqlite3BtreeBeginStmt(tls *libc.TLS, p uintptr, iStatement int32) int32 { /* sqlite3.c:70509:20: */ var rc int32 var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt Xsqlite3BtreeEnter(tls, p) @@ -46215,7 +46225,7 @@ func Xsqlite3BtreeBeginStmt(tls *libc.TLS, p uintptr, iStatement int32) int32 { // contents of the entire transaction are rolled back. This is different // from a normal transaction rollback, as no locks are released and the // transaction remains open. -func Xsqlite3BtreeSavepoint(tls *libc.TLS, p uintptr, op int32, iSavepoint int32) int32 { /* sqlite3.c:70530:20: */ +func Xsqlite3BtreeSavepoint(tls *libc.TLS, p uintptr, op int32, iSavepoint int32) int32 { /* sqlite3.c:70540:20: */ var rc int32 = SQLITE_OK if p != 0 && int32((*Btree)(unsafe.Pointer(p)).FinTrans) == TRANS_WRITE { var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt @@ -46283,7 +46293,7 @@ func Xsqlite3BtreeSavepoint(tls *libc.TLS, p uintptr, op int32, iSavepoint int32 // // It is assumed that the sqlite3BtreeCursorZero() has been called // on pCur to initialize the memory space prior to invoking this routine. -func btreeCursor(tls *libc.TLS, p uintptr, iTable Pgno, wrFlag int32, pKeyInfo uintptr, pCur uintptr) int32 { /* sqlite3.c:70601:12: */ +func btreeCursor(tls *libc.TLS, p uintptr, iTable Pgno, wrFlag int32, pKeyInfo uintptr, pCur uintptr) int32 { /* sqlite3.c:70611:12: */ var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt // Shared b-tree handle var pX uintptr // Looping over other all cursors @@ -46296,7 +46306,7 @@ func btreeCursor(tls *libc.TLS, p uintptr, iTable Pgno, wrFlag int32, pKeyInfo u if iTable <= Pgno(1) { if iTable < Pgno(1) { - return Xsqlite3CorruptError(tls, 70633) + return Xsqlite3CorruptError(tls, 70643) } else if btreePagecount(tls, pBt) == Pgno(0) { iTable = Pgno(0) @@ -46334,7 +46344,7 @@ func btreeCursor(tls *libc.TLS, p uintptr, iTable Pgno, wrFlag int32, pKeyInfo u return SQLITE_OK } -func btreeCursorWithLock(tls *libc.TLS, p uintptr, iTable Pgno, wrFlag int32, pKeyInfo uintptr, pCur uintptr) int32 { /* sqlite3.c:70668:12: */ +func btreeCursorWithLock(tls *libc.TLS, p uintptr, iTable Pgno, wrFlag int32, pKeyInfo uintptr, pCur uintptr) int32 { /* sqlite3.c:70678:12: */ var rc int32 Xsqlite3BtreeEnter(tls, p) rc = btreeCursor(tls, p, iTable, wrFlag, pKeyInfo, pCur) @@ -46342,7 +46352,7 @@ func btreeCursorWithLock(tls *libc.TLS, p uintptr, iTable Pgno, wrFlag int32, pK return rc } -func Xsqlite3BtreeCursor(tls *libc.TLS, p uintptr, iTable Pgno, wrFlag int32, pKeyInfo uintptr, pCur uintptr) int32 { /* sqlite3.c:70681:20: */ +func Xsqlite3BtreeCursor(tls *libc.TLS, p uintptr, iTable Pgno, wrFlag int32, pKeyInfo uintptr, pCur uintptr) int32 { /* sqlite3.c:70691:20: */ if (*Btree)(unsafe.Pointer(p)).Fsharable != 0 { return btreeCursorWithLock(tls, p, iTable, wrFlag, pKeyInfo, pCur) } else { @@ -46357,7 +46367,7 @@ func Xsqlite3BtreeCursor(tls *libc.TLS, p uintptr, iTable Pgno, wrFlag int32, pK // sufficient storage to hold a cursor. The BtCursor object is opaque // to users so they cannot do the sizeof() themselves - they must call // this routine. -func Xsqlite3BtreeCursorSize(tls *libc.TLS) int32 { /* sqlite3.c:70703:20: */ +func Xsqlite3BtreeCursorSize(tls *libc.TLS) int32 { /* sqlite3.c:70713:20: */ return int32((uint32(unsafe.Sizeof(BtCursor{})) + uint32(7)) & libc.Uint32FromInt32(libc.CplInt32(7))) } @@ -46367,13 +46377,13 @@ func Xsqlite3BtreeCursorSize(tls *libc.TLS) int32 { /* sqlite3.c:70703:20: */ // to zero. But it turns out that the apPage[] and aiIdx[] arrays // do not need to be zeroed and they are large, so we can save a lot // of run-time by skipping the initialization of those elements. -func Xsqlite3BtreeCursorZero(tls *libc.TLS, p uintptr) { /* sqlite3.c:70715:21: */ +func Xsqlite3BtreeCursorZero(tls *libc.TLS, p uintptr) { /* sqlite3.c:70725:21: */ libc.Xmemset(tls, p, 0, uint32(uintptr(0)+20)) } // Close a cursor. The read lock on the database file is released // when the last cursor is closed. -func Xsqlite3BtreeCloseCursor(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:70723:20: */ +func Xsqlite3BtreeCloseCursor(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:70733:20: */ var pBtree uintptr = (*BtCursor)(unsafe.Pointer(pCur)).FpBtree if pBtree != 0 { var pBt uintptr = (*BtCursor)(unsafe.Pointer(pCur)).FpBt @@ -46414,7 +46424,7 @@ func Xsqlite3BtreeCloseCursor(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c: // // BtCursor.info is a cache of the information in the current cell. // Using this cache reduces the number of calls to btreeParseCell(). -func getCellInfo(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:70784:29: */ +func getCellInfo(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:70794:29: */ if int32((*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnSize) == 0 { *(*U8)(unsafe.Pointer(pCur + 1)) |= U8(BTCF_ValidNKey) btreeParseCell(tls, (*BtCursor)(unsafe.Pointer(pCur)).FpPage, int32((*BtCursor)(unsafe.Pointer(pCur)).Fix), pCur+28) @@ -46423,7 +46433,7 @@ func getCellInfo(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:70784:29: */ } } -func Xsqlite3BtreeCursorIsValidNN(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:70803:20: */ +func Xsqlite3BtreeCursorIsValidNN(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:70813:20: */ return libc.Bool32(int32((*BtCursor)(unsafe.Pointer(pCur)).FeState) == CURSOR_VALID) } @@ -46432,26 +46442,26 @@ func Xsqlite3BtreeCursorIsValidNN(tls *libc.TLS, pCur uintptr) int32 { /* sqlite // This routine is only valid for a cursor that is pointing into a // ordinary table btree. If the cursor points to an index btree or // is invalid, the result of this routine is undefined. -func Xsqlite3BtreeIntegerKey(tls *libc.TLS, pCur uintptr) I64 { /* sqlite3.c:70814:20: */ +func Xsqlite3BtreeIntegerKey(tls *libc.TLS, pCur uintptr) I64 { /* sqlite3.c:70824:20: */ getCellInfo(tls, pCur) return (*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnKey } // Pin or unpin a cursor. -func Xsqlite3BtreeCursorPin(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:70825:21: */ +func Xsqlite3BtreeCursorPin(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:70835:21: */ *(*U8)(unsafe.Pointer(pCur + 1)) |= U8(BTCF_Pinned) } -func Xsqlite3BtreeCursorUnpin(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:70829:21: */ +func Xsqlite3BtreeCursorUnpin(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:70839:21: */ *(*U8)(unsafe.Pointer(pCur + 1)) &= libc.Uint8FromInt32(libc.CplInt32(BTCF_Pinned)) } // Return the offset into the database file for the start of the // payload to which the cursor is pointing. -func Xsqlite3BtreeOffset(tls *libc.TLS, pCur uintptr) I64 { /* sqlite3.c:70839:20: */ +func Xsqlite3BtreeOffset(tls *libc.TLS, pCur uintptr) I64 { /* sqlite3.c:70849:20: */ getCellInfo(tls, pCur) return I64((*BtShared)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pCur)).FpBt)).FpageSize)*(I64((*MemPage)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pCur)).FpPage)).Fpgno)-int64(1)) + I64((int32((*BtCursor)(unsafe.Pointer(pCur)).Finfo.FpPayload)-int32((*MemPage)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pCur)).FpPage)).FaData))/1) @@ -46464,7 +46474,7 @@ func Xsqlite3BtreeOffset(tls *libc.TLS, pCur uintptr) I64 { /* sqlite3.c:70839:2 // The caller must guarantee that the cursor is pointing to a non-NULL // valid entry. In other words, the calling procedure must guarantee // that the cursor has Cursor.eState==CURSOR_VALID. -func Xsqlite3BtreePayloadSize(tls *libc.TLS, pCur uintptr) U32 { /* sqlite3.c:70857:20: */ +func Xsqlite3BtreePayloadSize(tls *libc.TLS, pCur uintptr) U32 { /* sqlite3.c:70867:20: */ getCellInfo(tls, pCur) return (*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnPayload @@ -46481,7 +46491,7 @@ func Xsqlite3BtreePayloadSize(tls *libc.TLS, pCur uintptr) U32 { /* sqlite3.c:70 // // The current implementation merely returns the size of the underlying // database file. -func Xsqlite3BtreeMaxRecordSize(tls *libc.TLS, pCur uintptr) Sqlite3_int64 { /* sqlite3.c:70877:30: */ +func Xsqlite3BtreeMaxRecordSize(tls *libc.TLS, pCur uintptr) Sqlite3_int64 { /* sqlite3.c:70887:30: */ return Sqlite3_int64((*BtShared)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pCur)).FpBt)).FpageSize) * Sqlite3_int64((*BtShared)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pCur)).FpBt)).FnPage) } @@ -46503,7 +46513,7 @@ func Xsqlite3BtreeMaxRecordSize(tls *libc.TLS, pCur uintptr) Sqlite3_int64 { /* // on *ppPage to free the reference. In no reference was obtained (because // the pointer-map was used to obtain the value for *pPgnoNext), then // *ppPage is set to zero. -func getOverflowPage(tls *libc.TLS, pBt uintptr, ovfl Pgno, ppPage uintptr, pPgnoNext uintptr) int32 { /* sqlite3.c:70902:12: */ +func getOverflowPage(tls *libc.TLS, pBt uintptr, ovfl Pgno, ppPage uintptr, pPgnoNext uintptr) int32 { /* sqlite3.c:70912:12: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -46571,7 +46581,7 @@ func getOverflowPage(tls *libc.TLS, pBt uintptr, ovfl Pgno, ppPage uintptr, pPgn // of data are copied from the buffer pBuf to pPayload. // // SQLITE_OK is returned on success, otherwise an error code. -func copyPayload(tls *libc.TLS, pPayload uintptr, pBuf uintptr, nByte int32, eOp int32, pDbPage uintptr) int32 { /* sqlite3.c:70970:12: */ +func copyPayload(tls *libc.TLS, pPayload uintptr, pBuf uintptr, nByte int32, eOp int32, pDbPage uintptr) int32 { /* sqlite3.c:70980:12: */ if eOp != 0 { // Copy data from buffer to page (a write operation) var rc int32 = Xsqlite3PagerWrite(tls, pDbPage) @@ -46613,7 +46623,7 @@ func copyPayload(tls *libc.TLS, pPayload uintptr, pBuf uintptr, nByte int32, eOp // * An incremental vacuum, // * A commit in auto_vacuum="full" mode, // * Creating a table (may require moving an overflow page). -func accessPayload(tls *libc.TLS, pCur uintptr, offset U32, amt U32, pBuf uintptr, eOp int32) int32 { /* sqlite3.c:71020:12: */ +func accessPayload(tls *libc.TLS, pCur uintptr, offset U32, amt U32, pBuf uintptr, eOp int32) int32 { /* sqlite3.c:71030:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -46624,7 +46634,7 @@ func accessPayload(tls *libc.TLS, pCur uintptr, offset U32, amt U32, pBuf uintpt var pBt uintptr = (*BtCursor)(unsafe.Pointer(pCur)).FpBt // Btree this cursor belongs to if int32((*BtCursor)(unsafe.Pointer(pCur)).Fix) >= int32((*MemPage)(unsafe.Pointer(pPage)).FnCell) { - return Xsqlite3CorruptError(tls, 71040) + return Xsqlite3CorruptError(tls, 71050) } getCellInfo(tls, pCur) @@ -46635,7 +46645,7 @@ func accessPayload(tls *libc.TLS, pCur uintptr, offset U32, amt U32, pBuf uintpt // conditional above is really: // &aPayload[pCur->info.nLocal] > &pPage->aData[pBt->usableSize] // but is recast into its current form to avoid integer overflow problems - return Xsqlite3CorruptError(tls, 71055) + return Xsqlite3CorruptError(tls, 71065) } // Check if data must be read/written to/from the btree page itself. @@ -46692,7 +46702,7 @@ func accessPayload(tls *libc.TLS, pCur uintptr, offset U32, amt U32, pBuf uintpt for *(*Pgno)(unsafe.Pointer(bp)) != 0 { // If required, populate the overflow page-list cache. if *(*Pgno)(unsafe.Pointer(bp)) > (*BtShared)(unsafe.Pointer(pBt)).FnPage { - return Xsqlite3CorruptError(tls, 71117) + return Xsqlite3CorruptError(tls, 71127) } *(*Pgno)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pCur)).FaOverflow + uintptr(iIdx)*4)) = *(*Pgno)(unsafe.Pointer(bp /* nextPage */)) @@ -46752,7 +46762,7 @@ func accessPayload(tls *libc.TLS, pCur uintptr, offset U32, amt U32, pBuf uintpt if rc == SQLITE_OK && amt > U32(0) { // Overflow chain ends prematurely - return Xsqlite3CorruptError(tls, 71202) + return Xsqlite3CorruptError(tls, 71212) } return rc } @@ -46772,7 +46782,7 @@ func accessPayload(tls *libc.TLS, pCur uintptr, offset U32, amt U32, pBuf uintpt // Return SQLITE_OK on success or an error code if anything goes // wrong. An error is returned if "offset+amt" is larger than // the available payload. -func Xsqlite3BtreePayload(tls *libc.TLS, pCur uintptr, offset U32, amt U32, pBuf uintptr) int32 { /* sqlite3.c:71224:20: */ +func Xsqlite3BtreePayload(tls *libc.TLS, pCur uintptr, offset U32, amt U32, pBuf uintptr) int32 { /* sqlite3.c:71234:20: */ return accessPayload(tls, pCur, offset, amt, pBuf, 0) } @@ -46780,7 +46790,7 @@ func Xsqlite3BtreePayload(tls *libc.TLS, pCur uintptr, offset U32, amt U32, pBuf // This variant of sqlite3BtreePayload() works even if the cursor has not // in the CURSOR_VALID state. It is only used by the sqlite3_blob_read() // interface. -func accessPayloadChecked(tls *libc.TLS, pCur uintptr, offset U32, amt U32, pBuf uintptr) int32 { /* sqlite3.c:71237:28: */ +func accessPayloadChecked(tls *libc.TLS, pCur uintptr, offset U32, amt U32, pBuf uintptr) int32 { /* sqlite3.c:71247:28: */ var rc int32 if int32((*BtCursor)(unsafe.Pointer(pCur)).FeState) == CURSOR_INVALID { return SQLITE_ABORT @@ -46793,7 +46803,7 @@ func accessPayloadChecked(tls *libc.TLS, pCur uintptr, offset U32, amt U32, pBuf return accessPayload(tls, pCur, offset, amt, pBuf, 0) } -func Xsqlite3BtreePayloadChecked(tls *libc.TLS, pCur uintptr, offset U32, amt U32, pBuf uintptr) int32 { /* sqlite3.c:71251:20: */ +func Xsqlite3BtreePayloadChecked(tls *libc.TLS, pCur uintptr, offset U32, amt U32, pBuf uintptr) int32 { /* sqlite3.c:71261:20: */ if int32((*BtCursor)(unsafe.Pointer(pCur)).FeState) == CURSOR_VALID { return accessPayload(tls, pCur, offset, amt, pBuf, 0) @@ -46820,7 +46830,7 @@ func Xsqlite3BtreePayloadChecked(tls *libc.TLS, pCur uintptr, offset U32, amt U3 // The pointer returned by this routine looks directly into the cached // page of the database. The data might change or move the next time // any btree routine is called. -func fetchPayload(tls *libc.TLS, pCur uintptr, pAmt uintptr) uintptr { /* sqlite3.c:71280:19: */ +func fetchPayload(tls *libc.TLS, pCur uintptr, pAmt uintptr) uintptr { /* sqlite3.c:71290:19: */ var amt int32 amt = int32((*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnLocal) @@ -46851,7 +46861,7 @@ func fetchPayload(tls *libc.TLS, pCur uintptr, pAmt uintptr) uintptr { /* sqlite // // These routines is used to get quick access to key and data // in the common case where no overflow pages are used. -func Xsqlite3BtreePayloadFetch(tls *libc.TLS, pCur uintptr, pAmt uintptr) uintptr { /* sqlite3.c:71319:27: */ +func Xsqlite3BtreePayloadFetch(tls *libc.TLS, pCur uintptr, pAmt uintptr) uintptr { /* sqlite3.c:71329:27: */ return fetchPayload(tls, pCur, pAmt) } @@ -46862,11 +46872,11 @@ func Xsqlite3BtreePayloadFetch(tls *libc.TLS, pCur uintptr, pAmt uintptr) uintpt // the new child page does not match the flags field of the parent (i.e. // if an intkey page appears to be the parent of a non-intkey page, or // vice-versa). -func moveToChild(tls *libc.TLS, pCur uintptr, newPgno U32) int32 { /* sqlite3.c:71333:12: */ +func moveToChild(tls *libc.TLS, pCur uintptr, newPgno U32) int32 { /* sqlite3.c:71343:12: */ var pBt uintptr = (*BtCursor)(unsafe.Pointer(pCur)).FpBt if int32((*BtCursor)(unsafe.Pointer(pCur)).FiPage) >= BTCURSOR_MAX_DEPTH-1 { - return Xsqlite3CorruptError(tls, 71341) + return Xsqlite3CorruptError(tls, 71351) } (*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnSize = U16(0) *(*U8)(unsafe.Pointer(pCur + 1)) &= libc.Uint8FromInt32(libc.CplInt32(BTCF_ValidNKey | BTCF_ValidOvfl)) @@ -46883,7 +46893,7 @@ func moveToChild(tls *libc.TLS, pCur uintptr, newPgno U32) int32 { /* sqlite3.c: // to the page we are coming from. If we are coming from the // right-most child page then pCur->idx is set to one more than // the largest cell index. -func moveToParent(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:71382:13: */ +func moveToParent(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:71392:13: */ var pLeaf uintptr (*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnSize = U16(0) @@ -46913,7 +46923,7 @@ func moveToParent(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:71382:13: */ // indicating a table b-tree, or if the caller did specify a KeyInfo // structure the flags byte is set to 0x02 or 0x0A, indicating an index // b-tree). -func moveToRoot(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:71423:12: */ +func moveToRoot(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:71433:12: */ var pRoot uintptr var rc int32 var subpage Pgno @@ -46992,7 +47002,7 @@ __2: if !(int32((*MemPage)(unsafe.Pointer(pRoot)).FisInit) == 0 || libc.Bool32((*BtCursor)(unsafe.Pointer(pCur)).FpKeyInfo == uintptr(0)) != int32((*MemPage)(unsafe.Pointer(pRoot)).FintKey)) { goto __11 } - return Xsqlite3CorruptError(tls, 71479) + return Xsqlite3CorruptError(tls, 71489) __11: ; @@ -47013,7 +47023,7 @@ __12: if !((*MemPage)(unsafe.Pointer(pRoot)).Fpgno != Pgno(1)) { goto __16 } - return Xsqlite3CorruptError(tls, 71491) + return Xsqlite3CorruptError(tls, 71501) __16: ; subpage = Xsqlite3Get4byte(tls, (*MemPage)(unsafe.Pointer(pRoot)).FaData+uintptr(int32((*MemPage)(unsafe.Pointer(pRoot)).FhdrOffset)+8)) @@ -47035,7 +47045,7 @@ __13: // // The left-most leaf is the one with the smallest key - the first // in ascending order. -func moveToLeftmost(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:71509:12: */ +func moveToLeftmost(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:71519:12: */ var pgno Pgno var rc int32 = SQLITE_OK var pPage uintptr @@ -47056,7 +47066,7 @@ func moveToLeftmost(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:71509:12: // // The right-most entry is the one with the largest key - the last // key in ascending order. -func moveToRightmost(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:71534:12: */ +func moveToRightmost(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:71544:12: */ var pgno Pgno var rc int32 = SQLITE_OK var pPage uintptr = uintptr(0) @@ -47077,7 +47087,7 @@ func moveToRightmost(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:71534:12: // Move the cursor to the first entry in the table. Return SQLITE_OK // on success. Set *pRes to 0 if the cursor actually points to something // or set *pRes to 1 if the table is empty. -func Xsqlite3BtreeFirst(tls *libc.TLS, pCur uintptr, pRes uintptr) int32 { /* sqlite3.c:71557:20: */ +func Xsqlite3BtreeFirst(tls *libc.TLS, pCur uintptr, pRes uintptr) int32 { /* sqlite3.c:71567:20: */ var rc int32 rc = moveToRoot(tls, pCur) @@ -47096,7 +47106,7 @@ func Xsqlite3BtreeFirst(tls *libc.TLS, pCur uintptr, pRes uintptr) int32 { /* sq // Move the cursor to the last entry in the table. Return SQLITE_OK // on success. Set *pRes to 0 if the cursor actually points to something // or set *pRes to 1 if the table is empty. -func Xsqlite3BtreeLast(tls *libc.TLS, pCur uintptr, pRes uintptr) int32 { /* sqlite3.c:71579:20: */ +func Xsqlite3BtreeLast(tls *libc.TLS, pCur uintptr, pRes uintptr) int32 { /* sqlite3.c:71589:20: */ var rc int32 // If the cursor already points to the last entry, this is a no-op. @@ -47145,7 +47155,7 @@ func Xsqlite3BtreeLast(tls *libc.TLS, pCur uintptr, pRes uintptr) int32 { /* sql // // *pRes>0 The cursor is left pointing at an entry that // is larger than intKey. -func Xsqlite3BtreeTableMoveto(tls *libc.TLS, pCur uintptr, intKey I64, biasRight int32, pRes uintptr) int32 { /* sqlite3.c:71644:20: */ +func Xsqlite3BtreeTableMoveto(tls *libc.TLS, pCur uintptr, intKey I64, biasRight int32, pRes uintptr) int32 { /* sqlite3.c:71654:20: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -47260,7 +47270,7 @@ __19: if !(pCell >= (*MemPage)(unsafe.Pointer(pPage)).FaDataEnd) { goto __21 } - return Xsqlite3CorruptError(tls, 71733) + return Xsqlite3CorruptError(tls, 71743) __21: ; goto __19 @@ -47389,7 +47399,7 @@ moveto_table_finish: // // The pIdxKey->eqSeen field is set to 1 if there // exists an entry in the table that exactly matches pIdxKey. -func Xsqlite3BtreeIndexMoveto(tls *libc.TLS, pCur uintptr, pIdxKey uintptr, pRes uintptr) int32 { /* sqlite3.c:71812:20: */ +func Xsqlite3BtreeIndexMoveto(tls *libc.TLS, pCur uintptr, pIdxKey uintptr, pRes uintptr) int32 { /* sqlite3.c:71822:20: */ var rc int32 var xRecordCompare RecordCompare // The record flows over onto one or more overflow pages. In @@ -47493,7 +47503,7 @@ __11: if !(nCell < 2 || U32(nCell)/(*BtShared)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pCur)).FpBt)).FusableSize > (*BtShared)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pCur)).FpBt)).FnPage) { goto __13 } - rc = Xsqlite3CorruptError(tls, 71914) + rc = Xsqlite3CorruptError(tls, 71924) goto moveto_index_finish __13: ; @@ -47542,7 +47552,7 @@ __18: if !((*UnpackedRecord)(unsafe.Pointer(pIdxKey)).FerrCode != 0) { goto __20 } - rc = Xsqlite3CorruptError(tls, 71946) + rc = Xsqlite3CorruptError(tls, 71956) __20: ; goto moveto_index_finish @@ -47609,7 +47619,7 @@ moveto_index_finish: // TRUE will be returned after a call to sqlite3BtreeNext() moves // past the last entry in the table or sqlite3BtreePrev() moves past // the first entry. TRUE is also returned if the table is empty. -func Xsqlite3BtreeEof(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:71985:20: */ +func Xsqlite3BtreeEof(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:71995:20: */ // TODO: What if the cursor is in CURSOR_REQUIRESEEK but all table entries // have been deleted? This API will need to change to return an error code // as well as the boolean result value. @@ -47619,7 +47629,7 @@ func Xsqlite3BtreeEof(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:71985:20 // Return an estimate for the number of rows in the table that pCur is // pointing to. Return a negative number if no estimate is currently // available. -func Xsqlite3BtreeRowCountEst(tls *libc.TLS, pCur uintptr) I64 { /* sqlite3.c:71998:20: */ +func Xsqlite3BtreeRowCountEst(tls *libc.TLS, pCur uintptr) I64 { /* sqlite3.c:72008:20: */ var n I64 var i U8 @@ -47658,7 +47668,7 @@ func Xsqlite3BtreeRowCountEst(tls *libc.TLS, pCur uintptr) I64 { /* sqlite3.c:71 // skipped if the SQL index had been a unique index. The F argument // is a hint to the implement. SQLite btree implementation does not use // this hint, but COMDB2 does. -func btreeNext(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:72038:28: */ +func btreeNext(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:72048:28: */ var rc int32 var idx int32 var pPage uintptr @@ -47695,7 +47705,7 @@ func btreeNext(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:72038:28: */ // has pages in common with the table being queried. See TH3 // module cov1/btree78.test testcase 220 (2018-06-08) for an // example. - return Xsqlite3CorruptError(tls, 72069) + return Xsqlite3CorruptError(tls, 72079) } if idx >= int32((*MemPage)(unsafe.Pointer(pPage)).FnCell) { @@ -47728,7 +47738,7 @@ func btreeNext(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:72038:28: */ return int32(0) } -func Xsqlite3BtreeNext(tls *libc.TLS, pCur uintptr, flags int32) int32 { /* sqlite3.c:72098:20: */ +func Xsqlite3BtreeNext(tls *libc.TLS, pCur uintptr, flags int32) int32 { /* sqlite3.c:72108:20: */ var pPage uintptr _ = flags // Used in COMDB2 but not native SQLite @@ -47768,7 +47778,7 @@ func Xsqlite3BtreeNext(tls *libc.TLS, pCur uintptr, flags int32) int32 { /* sqli // skipped if the SQL index had been a unique index. The F argument is a // hint to the implement. The native SQLite btree implementation does not // use this hint, but COMDB2 does. -func btreePrevious(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:72138:28: */ +func btreePrevious(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:72148:28: */ var rc int32 var pPage uintptr @@ -47822,7 +47832,7 @@ func btreePrevious(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:72138:28: * return rc } -func Xsqlite3BtreePrevious(tls *libc.TLS, pCur uintptr, flags int32) int32 { /* sqlite3.c:72187:20: */ +func Xsqlite3BtreePrevious(tls *libc.TLS, pCur uintptr, flags int32) int32 { /* sqlite3.c:72197:20: */ _ = flags // Used in COMDB2 but not native SQLite *(*U8)(unsafe.Pointer(pCur + 1)) &= libc.Uint8FromInt32(libc.CplInt32(BTCF_AtLast | BTCF_ValidOvfl | BTCF_ValidNKey)) @@ -47856,7 +47866,7 @@ func Xsqlite3BtreePrevious(tls *libc.TLS, pCur uintptr, flags int32) int32 { /* // eMode is BTALLOC_LT then the page returned will be less than or equal // to nearby if any such page exists. If eMode is BTALLOC_ANY then there // are no restrictions on which page is returned. -func allocateBtreePage(tls *libc.TLS, pBt uintptr, ppPage uintptr, pPgno uintptr, nearby Pgno, eMode U8) int32 { /* sqlite3.c:72225:12: */ +func allocateBtreePage(tls *libc.TLS, pBt uintptr, ppPage uintptr, pPgno uintptr, nearby Pgno, eMode U8) int32 { /* sqlite3.c:72235:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -47923,7 +47933,7 @@ func allocateBtreePage(tls *libc.TLS, pBt uintptr, ppPage uintptr, pPgno uintptr if !(n >= mxPage) { goto __1 } - return Xsqlite3CorruptError(tls, 72249) + return Xsqlite3CorruptError(tls, 72259) __1: ; if !(n > U32(0)) { @@ -48004,7 +48014,7 @@ __15: if !(iTrunk > mxPage || libc.PostIncUint32(&nSearch, 1) > n) { goto __16 } - rc = Xsqlite3CorruptError(tls, 72305) + rc = Xsqlite3CorruptError(tls, 72315) goto __17 __16: rc = btreeGetUnusedPage(tls, pBt, iTrunk, bp+4, 0) @@ -48046,7 +48056,7 @@ __19: goto __22 } // Value of k is out of range. Database corruption - rc = Xsqlite3CorruptError(tls, 72334) + rc = Xsqlite3CorruptError(tls, 72344) goto end_allocate_page goto __23 __22: @@ -48091,7 +48101,7 @@ __27: if !(iNewTrunk > mxPage) { goto __32 } - rc = Xsqlite3CorruptError(tls, 72368) + rc = Xsqlite3CorruptError(tls, 72378) goto end_allocate_page __32: ; @@ -48205,7 +48215,7 @@ __40: if !(iPage > mxPage || iPage < Pgno(2)) { goto __51 } - rc = Xsqlite3CorruptError(tls, 72433) + rc = Xsqlite3CorruptError(tls, 72443) goto end_allocate_page __51: ; @@ -48380,7 +48390,7 @@ end_allocate_page: // // If a pointer to a MemPage object is passed as the second argument, // its reference count is not altered by this function. -func freePage2(tls *libc.TLS, pBt uintptr, pMemPage uintptr, iPage Pgno) int32 { /* sqlite3.c:72547:12: */ +func freePage2(tls *libc.TLS, pBt uintptr, pMemPage uintptr, iPage Pgno) int32 { /* sqlite3.c:72557:12: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -48401,7 +48411,7 @@ func freePage2(tls *libc.TLS, pBt uintptr, pMemPage uintptr, iPage Pgno) int32 { if !(iPage < Pgno(2) || iPage > (*BtShared)(unsafe.Pointer(pBt)).FnPage) { goto __1 } - return Xsqlite3CorruptError(tls, 72560) + return Xsqlite3CorruptError(tls, 72570) __1: ; if !(pMemPage != 0) { @@ -48471,7 +48481,7 @@ __7: if !(iTrunk > btreePagecount(tls, pBt)) { goto __10 } - *(*int32)(unsafe.Pointer(bp + 4 /* rc */)) = Xsqlite3CorruptError(tls, 72607) + *(*int32)(unsafe.Pointer(bp + 4 /* rc */)) = Xsqlite3CorruptError(tls, 72617) goto freepage_out __10: ; @@ -48488,7 +48498,7 @@ __11: if !(nLeaf > (*BtShared)(unsafe.Pointer(pBt)).FusableSize/U32(4)-U32(2)) { goto __12 } - *(*int32)(unsafe.Pointer(bp + 4 /* rc */)) = Xsqlite3CorruptError(tls, 72618) + *(*int32)(unsafe.Pointer(bp + 4 /* rc */)) = Xsqlite3CorruptError(tls, 72628) goto freepage_out __12: ; @@ -48569,14 +48579,14 @@ __18: return *(*int32)(unsafe.Pointer(bp + 4 /* rc */)) } -func freePage(tls *libc.TLS, pPage uintptr, pRC uintptr) { /* sqlite3.c:72681:13: */ +func freePage(tls *libc.TLS, pPage uintptr, pRC uintptr) { /* sqlite3.c:72691:13: */ if *(*int32)(unsafe.Pointer(pRC)) == SQLITE_OK { *(*int32)(unsafe.Pointer(pRC)) = freePage2(tls, (*MemPage)(unsafe.Pointer(pPage)).FpBt, pPage, (*MemPage)(unsafe.Pointer(pPage)).Fpgno) } } // Free the overflow pages associated with the given Cell. -func clearCellOverflow(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintptr) int32 { /* sqlite3.c:72690:28: */ +func clearCellOverflow(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintptr) int32 { /* sqlite3.c:72700:28: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -48588,7 +48598,7 @@ func clearCellOverflow(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintpt if pCell+uintptr((*CellInfo)(unsafe.Pointer(pInfo)).FnSize) > (*MemPage)(unsafe.Pointer(pPage)).FaDataEnd { // Cell extends past end of page - return Xsqlite3CorruptError(tls, 72707) + return Xsqlite3CorruptError(tls, 72717) } ovflPgno = Xsqlite3Get4byte(tls, pCell+uintptr((*CellInfo)(unsafe.Pointer(pInfo)).FnSize)-uintptr(4)) pBt = (*MemPage)(unsafe.Pointer(pPage)).FpBt @@ -48603,7 +48613,7 @@ func clearCellOverflow(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintpt // 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 Xsqlite3CorruptError(tls, 72724) + return Xsqlite3CorruptError(tls, 72734) } if nOvfl != 0 { rc = getOverflowPage(tls, pBt, ovflPgno, bp, bp+4) @@ -48623,7 +48633,7 @@ func clearCellOverflow(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintpt // enabled. If this 'overflow' page happens to be a page that the // caller is iterating through or using in some other way, this // can be problematic. - rc = Xsqlite3CorruptError(tls, 72744) + rc = Xsqlite3CorruptError(tls, 72754) } else { rc = freePage2(tls, pBt, *(*uintptr)(unsafe.Pointer(bp /* pOvfl */)), ovflPgno) } @@ -48655,7 +48665,7 @@ func clearCellOverflow(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintpt // area. pCell might point to some temporary storage. The cell will // be constructed in this temporary area then copied into pPage->aData // later. -func fillInCell(tls *libc.TLS, pPage uintptr, pCell uintptr, pX uintptr, pnSize uintptr) int32 { /* sqlite3.c:72785:12: */ +func fillInCell(tls *libc.TLS, pPage uintptr, pCell uintptr, pX uintptr, pnSize uintptr) int32 { /* sqlite3.c:72795:12: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -48837,7 +48847,7 @@ func fillInCell(tls *libc.TLS, pPage uintptr, pCell uintptr, pX uintptr, pnSize // removes the reference to the cell from pPage. // // "sz" must be the number of bytes in the cell. -func dropCell(tls *libc.TLS, pPage uintptr, idx int32, sz int32, pRC uintptr) { /* sqlite3.c:72975:13: */ +func dropCell(tls *libc.TLS, pPage uintptr, idx int32, sz int32, pRC uintptr) { /* sqlite3.c:72985:13: */ var pc U32 // Offset to cell content of cell being deleted var data uintptr // pPage->aData var ptr uintptr // Used to move bytes around within data[] @@ -48855,7 +48865,7 @@ func dropCell(tls *libc.TLS, pPage uintptr, idx int32, sz int32, pRC uintptr) { hdr = int32((*MemPage)(unsafe.Pointer(pPage)).FhdrOffset) if pc+U32(sz) > (*BtShared)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize { - *(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 73003) + *(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 73013) return } rc = freeSpace(tls, pPage, uint16(pc), uint16(sz)) @@ -48891,7 +48901,7 @@ func dropCell(tls *libc.TLS, pPage uintptr, idx int32, sz int32, pRC uintptr) { // pPage->nOverflow is incremented. // // *pRC must be SQLITE_OK when this routine is called. -func insertCell(tls *libc.TLS, pPage uintptr, i int32, pCell uintptr, sz int32, pTemp uintptr, iChild Pgno, pRC uintptr) { /* sqlite3.c:73039:13: */ +func insertCell(tls *libc.TLS, pPage uintptr, i int32, pCell uintptr, sz int32, pTemp uintptr, iChild Pgno, pRC uintptr) { /* sqlite3.c:73049:13: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -49051,7 +49061,7 @@ type CellArray1 = struct { FszCell uintptr FapEnd [6]uintptr FixNx [6]int32 -} /* sqlite3.c:73214:9 */ +} /* sqlite3.c:73224:9 */ // The following parameters determine how many adjacent pages get involved // in a balancing operation. NN is the number of neighbors on either side @@ -49128,11 +49138,11 @@ type CellArray1 = struct { // cases, ixNx[] entries with higher indexes, and the corresponding apEnd[] // entries, shift down. The end result is that each ixNx[] entry should // be larger than the previous -type CellArray = CellArray1 /* sqlite3.c:73214:26 */ +type CellArray = CellArray1 /* sqlite3.c:73224:26 */ // Make sure the cell sizes at idx, idx+1, ..., idx+N-1 have been // computed. -func populateCellCache(tls *libc.TLS, p uintptr, idx int32, N int32) { /* sqlite3.c:73228:13: */ +func populateCellCache(tls *libc.TLS, p uintptr, idx int32, N int32) { /* sqlite3.c:73238:13: */ for N > 0 { @@ -49149,7 +49159,7 @@ func populateCellCache(tls *libc.TLS, p uintptr, idx int32, N int32) { /* sqlite } // Return the size of the Nth element of the cell array -func computeCellSize(tls *libc.TLS, p uintptr, N int32) U16 { /* sqlite3.c:73246:28: */ +func computeCellSize(tls *libc.TLS, p uintptr, N int32) U16 { /* sqlite3.c:73256:28: */ *(*U16)(unsafe.Pointer((*CellArray)(unsafe.Pointer(p)).FszCell + uintptr(N)*2)) = (*struct { f func(*libc.TLS, uintptr, uintptr) U16 @@ -49157,7 +49167,7 @@ func computeCellSize(tls *libc.TLS, p uintptr, N int32) U16 { /* sqlite3.c:73246 return *(*U16)(unsafe.Pointer((*CellArray)(unsafe.Pointer(p)).FszCell + uintptr(N)*2)) } -func cachedCellSize(tls *libc.TLS, p uintptr, N int32) U16 { /* sqlite3.c:73252:12: */ +func cachedCellSize(tls *libc.TLS, p uintptr, N int32) U16 { /* sqlite3.c:73262:12: */ if *(*U16)(unsafe.Pointer((*CellArray)(unsafe.Pointer(p)).FszCell + uintptr(N)*2)) != 0 { return *(*U16)(unsafe.Pointer((*CellArray)(unsafe.Pointer(p)).FszCell + uintptr(N)*2)) @@ -49176,7 +49186,7 @@ func cachedCellSize(tls *libc.TLS, p uintptr, N int32) U16 { /* sqlite3.c:73252: // // The MemPage.nFree field is invalidated by this function. It is the // responsibility of the caller to set it correctly. -func rebuildPage(tls *libc.TLS, pCArray uintptr, iFirst int32, nCell int32, pPg uintptr) int32 { /* sqlite3.c:73271:12: */ +func rebuildPage(tls *libc.TLS, pCArray uintptr, iFirst int32, nCell int32, pPg uintptr) int32 { /* sqlite3.c:73281:12: */ var hdr int32 = int32((*MemPage)(unsafe.Pointer(pPg)).FhdrOffset) // Offset of header on pPg var aData uintptr = (*MemPage)(unsafe.Pointer(pPg)).FaData // Pointer to data for pPg var usableSize int32 = int32((*BtShared)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPg)).FpBt)).FusableSize) @@ -49207,12 +49217,12 @@ func rebuildPage(tls *libc.TLS, pCArray uintptr, iFirst int32, nCell int32, pPg if Uptr(pCell) >= Uptr(aData+uintptr(j)) && Uptr(pCell) < Uptr(pEnd) { if Uptr(pCell+uintptr(sz)) > Uptr(pEnd) { - return Xsqlite3CorruptError(tls, 73304) + return Xsqlite3CorruptError(tls, 73314) } pCell = pTmp + uintptr((int32(pCell)-int32(aData))/1) } else if Uptr(pCell+uintptr(sz)) > Uptr(pSrcEnd) && Uptr(pCell) < Uptr(pSrcEnd) { - return Xsqlite3CorruptError(tls, 73309) + return Xsqlite3CorruptError(tls, 73319) } pData -= uintptr(sz) @@ -49220,7 +49230,7 @@ func rebuildPage(tls *libc.TLS, pCArray uintptr, iFirst int32, nCell int32, pPg *(*U8)(unsafe.Pointer(pCellptr + 1)) = U8((int32(pData) - int32(aData)) / 1) pCellptr += uintptr(2) if pData < pCellptr { - return Xsqlite3CorruptError(tls, 73315) + return Xsqlite3CorruptError(tls, 73325) } libc.Xmemmove(tls, pData, pCell, uint32(sz)) @@ -49270,7 +49280,7 @@ func rebuildPage(tls *libc.TLS, pCArray uintptr, iFirst int32, nCell int32, pPg // all cells - not just those inserted by the current call). If the content // area must be extended to before this point in order to accomodate all // cells in apCell[], then the cells do not fit and non-zero is returned. -func pageInsertArray(tls *libc.TLS, pPg uintptr, pBegin uintptr, ppData uintptr, pCellptr uintptr, iFirst int32, nCell int32, pCArray uintptr) int32 { /* sqlite3.c:73361:12: */ +func pageInsertArray(tls *libc.TLS, pPg uintptr, pBegin uintptr, ppData uintptr, pCellptr uintptr, iFirst int32, nCell int32, pCArray uintptr) int32 { /* sqlite3.c:73371:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -49308,7 +49318,7 @@ func pageInsertArray(tls *libc.TLS, pPg uintptr, pBegin uintptr, ppData uintptr, if Uptr(*(*uintptr)(unsafe.Pointer((*CellArray)(unsafe.Pointer(pCArray)).FapCell + uintptr(i)*4))+uintptr(sz)) > Uptr(pEnd) && Uptr(*(*uintptr)(unsafe.Pointer((*CellArray)(unsafe.Pointer(pCArray)).FapCell + uintptr(i)*4))) < Uptr(pEnd) { - Xsqlite3CorruptError(tls, 73400) + Xsqlite3CorruptError(tls, 73410) return 1 } libc.Xmemmove(tls, pSlot, *(*uintptr)(unsafe.Pointer((*CellArray)(unsafe.Pointer(pCArray)).FapCell + uintptr(i)*4)), uint32(sz)) @@ -49335,7 +49345,7 @@ func pageInsertArray(tls *libc.TLS, pPg uintptr, pBegin uintptr, ppData uintptr, // The cell-pointers and other fields of the page are not updated. // // This function returns the total number of cells added to the free-list. -func pageFreeArray(tls *libc.TLS, pPg uintptr, iFirst int32, nCell int32, pCArray uintptr) int32 { /* sqlite3.c:73426:12: */ +func pageFreeArray(tls *libc.TLS, pPg uintptr, iFirst int32, nCell int32, pCArray uintptr) int32 { /* sqlite3.c:73436:12: */ var aData uintptr = (*MemPage)(unsafe.Pointer(pPg)).FaData var pEnd uintptr = aData + uintptr((*BtShared)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPg)).FpBt)).FusableSize) var pStart uintptr = aData + uintptr(int32((*MemPage)(unsafe.Pointer(pPg)).FhdrOffset)+8+int32((*MemPage)(unsafe.Pointer(pPg)).FchildPtrSize)) @@ -49387,7 +49397,7 @@ func pageFreeArray(tls *libc.TLS, pPg uintptr, iFirst int32, nCell int32, pCArra // // The pPg->nFree field is invalid when this function returns. It is the // responsibility of the caller to set it correctly. -func editPage(tls *libc.TLS, pPg uintptr, iOld int32, iNew int32, nNew int32, pCArray uintptr) int32 { /* sqlite3.c:73485:12: */ +func editPage(tls *libc.TLS, pPg uintptr, iOld int32, iNew int32, nNew int32, pCArray uintptr) int32 { /* sqlite3.c:73495:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -49421,7 +49431,7 @@ func editPage(tls *libc.TLS, pPg uintptr, iOld int32, iNew int32, nNew int32, pC if !(nShift > nCell) { goto __2 } - return Xsqlite3CorruptError(tls, 73511) + return Xsqlite3CorruptError(tls, 73521) __2: ; libc.Xmemmove(tls, (*MemPage)(unsafe.Pointer(pPg)).FaCellIdx, (*MemPage)(unsafe.Pointer(pPg)).FaCellIdx+uintptr(nShift*2), uint32(nCell*2)) @@ -49561,7 +49571,7 @@ editpage_fail: // byte page number followed by a variable length integer. In other // words, at most 13 bytes. Hence the pSpace buffer must be at // least 13 bytes in size. -func balance_quick(tls *libc.TLS, pParent uintptr, pPage uintptr, pSpace uintptr) int32 { /* sqlite3.c:73614:12: */ +func balance_quick(tls *libc.TLS, pParent uintptr, pPage uintptr, pSpace uintptr) int32 { /* sqlite3.c:73624:12: */ bp := tls.Alloc(84) defer tls.Free(84) @@ -49574,7 +49584,7 @@ func balance_quick(tls *libc.TLS, pParent uintptr, pPage uintptr, pSpace uintptr // Page number of pNew if int32((*MemPage)(unsafe.Pointer(pPage)).FnCell) == 0 { - return Xsqlite3CorruptError(tls, 73624) + return Xsqlite3CorruptError(tls, 73634) } // dbfuzz001.test // Allocate a new page. This page will become the right-sibling of @@ -49672,7 +49682,7 @@ func balance_quick(tls *libc.TLS, pParent uintptr, pPage uintptr, pSpace uintptr // The performance of this function is not critical. It is only used by // the balance_shallower() and balance_deeper() procedures, neither of // which are called often under normal circumstances. -func copyNodeContent(tls *libc.TLS, pFrom uintptr, pTo uintptr, pRC uintptr) { /* sqlite3.c:73769:13: */ +func copyNodeContent(tls *libc.TLS, pFrom uintptr, pTo uintptr, pRC uintptr) { /* sqlite3.c:73779:13: */ if *(*int32)(unsafe.Pointer(pRC)) == SQLITE_OK { var pBt uintptr = (*MemPage)(unsafe.Pointer(pFrom)).FpBt var aFrom uintptr = (*MemPage)(unsafe.Pointer(pFrom)).FaData @@ -49752,7 +49762,7 @@ func copyNodeContent(tls *libc.TLS, pFrom uintptr, pTo uintptr, pRC uintptr) { / // // If aOvflSpace is set to a null pointer, this function returns // SQLITE_NOMEM. -func balance_nonroot(tls *libc.TLS, pParent uintptr, iParentIdx int32, aOvflSpace uintptr, isRoot int32, bBulk int32) int32 { /* sqlite3.c:73851:12: */ +func balance_nonroot(tls *libc.TLS, pParent uintptr, iParentIdx int32, aOvflSpace uintptr, isRoot int32, bBulk int32) int32 { /* sqlite3.c:73861:12: */ bp := tls.Alloc(256) defer tls.Free(256) @@ -50054,7 +50064,7 @@ __22: if !(int32(*(*U8)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pOld)).FaData))) != int32(*(*U8)(unsafe.Pointer((*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 72)))).FaData)))) { goto __25 } - *(*int32)(unsafe.Pointer(bp + 112 /* rc */)) = Xsqlite3CorruptError(tls, 74047) + *(*int32)(unsafe.Pointer(bp + 112 /* rc */)) = Xsqlite3CorruptError(tls, 74057) goto balance_cleanup __25: ; @@ -50082,7 +50092,7 @@ __25: if !(limit < int32(*(*U16)(unsafe.Pointer(pOld + 28)))) { goto __27 } - *(*int32)(unsafe.Pointer(bp + 112 /* rc */)) = Xsqlite3CorruptError(tls, 74071) + *(*int32)(unsafe.Pointer(bp + 112 /* rc */)) = Xsqlite3CorruptError(tls, 74081) goto balance_cleanup __27: ; @@ -50261,7 +50271,7 @@ __52: if !(k > NB+2) { goto __55 } - *(*int32)(unsafe.Pointer(bp + 112 /* rc */)) = Xsqlite3CorruptError(tls, 74172) + *(*int32)(unsafe.Pointer(bp + 112 /* rc */)) = Xsqlite3CorruptError(tls, 74182) goto balance_cleanup __55: ; @@ -50335,7 +50345,7 @@ __65: }()) { goto __67 } - *(*int32)(unsafe.Pointer(bp + 112 /* rc */)) = Xsqlite3CorruptError(tls, 74205) + *(*int32)(unsafe.Pointer(bp + 112 /* rc */)) = Xsqlite3CorruptError(tls, 74215) goto balance_cleanup __67: ; @@ -50408,7 +50418,7 @@ __73: }()) { goto __75 } - *(*int32)(unsafe.Pointer(bp + 112 /* rc */)) = Xsqlite3CorruptError(tls, 74247) + *(*int32)(unsafe.Pointer(bp + 112 /* rc */)) = Xsqlite3CorruptError(tls, 74257) goto balance_cleanup __75: ; @@ -50445,7 +50455,7 @@ __76: *(*int32)(unsafe.Pointer(bp + 112)) == SQLITE_OK) { goto __81 } - *(*int32)(unsafe.Pointer(bp + 112 /* rc */)) = Xsqlite3CorruptError(tls, 74280) + *(*int32)(unsafe.Pointer(bp + 112 /* rc */)) = Xsqlite3CorruptError(tls, 74290) __81: ; if !(*(*int32)(unsafe.Pointer(bp + 112)) != 0) { @@ -50529,7 +50539,7 @@ __89: // cache with two separate objects associated with the same // page number. - *(*int32)(unsafe.Pointer(bp + 112 /* rc */)) = Xsqlite3CorruptError(tls, 74326) + *(*int32)(unsafe.Pointer(bp + 112 /* rc */)) = Xsqlite3CorruptError(tls, 74336) goto balance_cleanup __92: ; @@ -50782,7 +50792,7 @@ __125: if !(Uptr(pSrcEnd) >= Uptr(pCell1) && Uptr(pSrcEnd) < Uptr(pCell1+uintptr(sz2))) { goto __126 } - *(*int32)(unsafe.Pointer(bp + 112 /* rc */)) = Xsqlite3CorruptError(tls, 74483) + *(*int32)(unsafe.Pointer(bp + 112 /* rc */)) = Xsqlite3CorruptError(tls, 74493) goto balance_cleanup __126: ; @@ -51004,7 +51014,7 @@ __150: // page and SQLITE_OK is returned. In this case the caller is required // to call releasePage() on *ppChild exactly once. If an error occurs, // an error code is returned and *ppChild is set to 0. -func balance_deeper(tls *libc.TLS, pRoot uintptr, ppChild uintptr) int32 { /* sqlite3.c:74648:12: */ +func balance_deeper(tls *libc.TLS, pRoot uintptr, ppChild uintptr) int32 { /* sqlite3.c:74658:12: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -51055,13 +51065,13 @@ func balance_deeper(tls *libc.TLS, pRoot uintptr, ppChild uintptr) int32 { /* sq // table linked to the same b-tree. If the secondary insert causes a // rebalance, that can change content out from under the cursor on the // first SQL table, violating invariants on the first insert. -func anotherValidCursor(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:74706:12: */ +func anotherValidCursor(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:74716:12: */ var pOther uintptr for pOther = (*BtShared)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pCur)).FpBt)).FpCursor; pOther != 0; pOther = (*BtCursor)(unsafe.Pointer(pOther)).FpNext { if pOther != pCur && int32((*BtCursor)(unsafe.Pointer(pOther)).FeState) == CURSOR_VALID && (*BtCursor)(unsafe.Pointer(pOther)).FpPage == (*BtCursor)(unsafe.Pointer(pCur)).FpPage { - return Xsqlite3CorruptError(tls, 74713) + return Xsqlite3CorruptError(tls, 74723) } } return SQLITE_OK @@ -51075,7 +51085,7 @@ func anotherValidCursor(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:74706: // balance_quick() // balance_deeper() // balance_nonroot() -func balance(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:74729:12: */ +func balance(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:74739:12: */ bp := tls.Alloc(13) defer tls.Free(13) @@ -51194,7 +51204,7 @@ func balance(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:74729:12: */ // Overwrite content from pX into pDest. Only do the write if the // content is different from what is already there. -func btreeOverwriteContent(tls *libc.TLS, pPage uintptr, pDest uintptr, pX uintptr, iOffset int32, iAmt int32) int32 { /* sqlite3.c:74855:12: */ +func btreeOverwriteContent(tls *libc.TLS, pPage uintptr, pDest uintptr, pX uintptr, iOffset int32, iAmt int32) int32 { /* sqlite3.c:74865:12: */ var nData int32 = (*BtreePayload)(unsafe.Pointer(pX)).FnData - iOffset if nData <= 0 { // Overwritting with zeros @@ -51236,7 +51246,7 @@ func btreeOverwriteContent(tls *libc.TLS, pPage uintptr, pDest uintptr, pX uintp // Overwrite the cell that cursor pCur is pointing to with fresh content // contained in pX. -func btreeOverwriteCell(tls *libc.TLS, pCur uintptr, pX uintptr) int32 { /* sqlite3.c:74898:12: */ +func btreeOverwriteCell(tls *libc.TLS, pCur uintptr, pX uintptr) int32 { /* sqlite3.c:74908:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -51250,7 +51260,7 @@ func btreeOverwriteCell(tls *libc.TLS, pCur uintptr, pX uintptr) int32 { /* sqli if (*BtCursor)(unsafe.Pointer(pCur)).Finfo.FpPayload+uintptr((*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnLocal) > (*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FaDataEnd || (*BtCursor)(unsafe.Pointer(pCur)).Finfo.FpPayload < (*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FaData+uintptr((*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FcellOffset) { - return Xsqlite3CorruptError(tls, 74910) + return Xsqlite3CorruptError(tls, 74920) } // Overwrite the local portion first rc = btreeOverwriteContent(tls, *(*uintptr)(unsafe.Pointer(bp /* pPage */)), (*BtCursor)(unsafe.Pointer(pCur)).Finfo.FpPayload, pX, @@ -51274,7 +51284,7 @@ func btreeOverwriteCell(tls *libc.TLS, pCur uintptr, pX uintptr) int32 { /* sqli return rc } if Xsqlite3PagerPageRefcount(tls, (*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FpDbPage) != 1 || (*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FisInit != 0 { - rc = Xsqlite3CorruptError(tls, 74929) + rc = Xsqlite3CorruptError(tls, 74939) } else { if U32(iOffset)+ovflPageSize < U32(nTotal) { ovflPgno = Xsqlite3Get4byte(tls, (*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* pPage */)))).FaData) @@ -51321,7 +51331,7 @@ func btreeOverwriteCell(tls *libc.TLS, pCur uintptr, pX uintptr) int32 { /* sqli // if pX->nMem is non-zero, then pX->aMem contains pointers to the unpacked // key values and pX->aMem can be used instead of pX->pKey to avoid having // to decode the key. -func Xsqlite3BtreeInsert(tls *libc.TLS, pCur uintptr, pX uintptr, flags int32, seekResult int32) int32 { /* sqlite3.c:74977:20: */ +func Xsqlite3BtreeInsert(tls *libc.TLS, pCur uintptr, pX uintptr, flags int32, seekResult int32) int32 { /* sqlite3.c:74987:20: */ bp := tls.Alloc(100) defer tls.Free(100) @@ -51351,20 +51361,6 @@ func Xsqlite3BtreeInsert(tls *libc.TLS, pCur uintptr, pX uintptr, flags int32, s pBt = (*Btree)(unsafe.Pointer(p)).FpBt newCell = uintptr(0) - if !(int32((*BtCursor)(unsafe.Pointer(pCur)).FeState) == CURSOR_FAULT) { - goto __1 - } - - return (*BtCursor)(unsafe.Pointer(pCur)).FskipNext -__1: - ; - - // Assert that the caller has been consistent. If this cursor was opened - // expecting an index b-tree, then the caller should be inserting blob - // keys with no associated data. If the cursor was opened expecting an - // intkey table, the caller should be inserting integer keys with a - // blob of associated data. - // Save the positions of any other cursors open on this table. // // In some cases, the call to btreeMoveto() below is a no-op. For @@ -51376,40 +51372,59 @@ __1: // doing any work. To avoid thwarting these optimizations, it is important // not to clear the cursor here. if !(int32((*BtCursor)(unsafe.Pointer(pCur)).FcurFlags)&BTCF_Multiple != 0) { - goto __2 + goto __1 } *(*int32)(unsafe.Pointer(bp + 72 /* rc */)) = saveAllCursors(tls, pBt, (*BtCursor)(unsafe.Pointer(pCur)).FpgnoRoot, pCur) if !(*(*int32)(unsafe.Pointer(bp + 72)) != 0) { - goto __3 + goto __2 } return *(*int32)(unsafe.Pointer(bp + 72 /* rc */)) -__3: +__2: ; if !(*(*int32)(unsafe.Pointer(bp)) != 0 && int32((*BtCursor)(unsafe.Pointer(pCur)).FiPage) < 0) { - goto __4 + goto __3 } // This can only happen if the schema is corrupt such that there is more // than one table or index with the same root page as used by the cursor. // 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 Xsqlite3CorruptError(tls, 75034) -__4: + return Xsqlite3CorruptError(tls, 75026) +__3: ; -__2: +__1: ; - if !((*BtCursor)(unsafe.Pointer(pCur)).FpKeyInfo == uintptr(0)) { + if !(int32((*BtCursor)(unsafe.Pointer(pCur)).FeState) >= CURSOR_REQUIRESEEK) { + goto __4 + } + *(*int32)(unsafe.Pointer(bp + 72 /* rc */)) = moveToRoot(tls, pCur) + if !(*(*int32)(unsafe.Pointer(bp + 72)) != 0 && *(*int32)(unsafe.Pointer(bp + 72)) != SQLITE_EMPTY) { goto __5 } + return *(*int32)(unsafe.Pointer(bp + 72 /* rc */)) +__5: + ; +__4: + ; + + // Assert that the caller has been consistent. If this cursor was opened + // expecting an index b-tree, then the caller should be inserting blob + // keys with no associated data. If the cursor was opened expecting an + // intkey table, the caller should be inserting integer keys with a + // blob of associated data. + + if !((*BtCursor)(unsafe.Pointer(pCur)).FpKeyInfo == uintptr(0)) { + goto __6 + } // If this is an insert into a table b-tree, invalidate any incrblob // cursors open on the row being replaced if !((*Btree)(unsafe.Pointer(p)).FhasIncrblobCur != 0) { - goto __7 + goto __8 } invalidateIncrblobCursors(tls, p, (*BtCursor)(unsafe.Pointer(pCur)).FpgnoRoot, (*BtreePayload)(unsafe.Pointer(pX)).FnKey, 0) -__7: +__8: ; // If BTREE_SAVEPOSITION is set, the cursor must already be pointing @@ -51419,24 +51434,24 @@ __7: // that the cursor is not pointing to a row to be overwritten. // So do a complete check. if !(int32((*BtCursor)(unsafe.Pointer(pCur)).FcurFlags)&BTCF_ValidNKey != 0 && (*BtreePayload)(unsafe.Pointer(pX)).FnKey == (*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnKey) { - goto __8 + goto __9 } // The cursor is pointing to the entry that is to be // overwritten if !(int32((*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnSize) != 0 && (*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnPayload == U32((*BtreePayload)(unsafe.Pointer(pX)).FnData)+U32((*BtreePayload)(unsafe.Pointer(pX)).FnZero)) { - goto __10 + goto __11 } // New entry is the same size as the old. Do an overwrite return btreeOverwriteCell(tls, pCur, pX) -__10: +__11: ; - goto __9 -__8: + goto __10 +__9: if !(*(*int32)(unsafe.Pointer(bp)) == 0) { - goto __11 + goto __12 } // The cursor is *not* pointing to the cell to be overwritten, nor // to an adjacent cell. Move the cursor so that it is pointing either @@ -51444,17 +51459,17 @@ __8: *(*int32)(unsafe.Pointer(bp + 72 /* rc */)) = Xsqlite3BtreeTableMoveto(tls, pCur, (*BtreePayload)(unsafe.Pointer(pX)).FnKey, libc.Bool32(flags&BTREE_APPEND != 0), bp) if !(*(*int32)(unsafe.Pointer(bp + 72)) != 0) { - goto __12 + goto __13 } return *(*int32)(unsafe.Pointer(bp + 72 /* rc */)) -__12: +__13: ; -__11: +__12: ; -__9: +__10: ; - goto __6 -__5: + goto __7 +__6: // This is an index or a WITHOUT ROWID table // If BTREE_SAVEPOSITION is set, the cursor must already be pointing @@ -51466,10 +51481,10 @@ __5: // not pointing to an immediately adjacent cell, then move the cursor // so that it does. if !(*(*int32)(unsafe.Pointer(bp)) == 0 && flags&BTREE_SAVEPOSITION == 0) { - goto __13 + goto __14 } if !((*BtreePayload)(unsafe.Pointer(pX)).FnMem != 0) { - goto __14 + goto __15 } (*UnpackedRecord)(unsafe.Pointer(bp + 4 /* &r */)).FpKeyInfo = (*BtCursor)(unsafe.Pointer(pCur)).FpKeyInfo (*UnpackedRecord)(unsafe.Pointer(bp + 4 /* &r */)).FaMem = (*BtreePayload)(unsafe.Pointer(pX)).FaMem @@ -51477,147 +51492,147 @@ __5: (*UnpackedRecord)(unsafe.Pointer(bp + 4 /* &r */)).Fdefault_rc = int8(0) (*UnpackedRecord)(unsafe.Pointer(bp + 4 /* &r */)).FeqSeen = U8(0) *(*int32)(unsafe.Pointer(bp + 72 /* rc */)) = Xsqlite3BtreeIndexMoveto(tls, pCur, bp+4, bp) - goto __15 -__14: + goto __16 +__15: *(*int32)(unsafe.Pointer(bp + 72 /* rc */)) = btreeMoveto(tls, pCur, (*BtreePayload)(unsafe.Pointer(pX)).FpKey, (*BtreePayload)(unsafe.Pointer(pX)).FnKey, libc.Bool32(flags&BTREE_APPEND != 0), bp) -__15: +__16: ; if !(*(*int32)(unsafe.Pointer(bp + 72)) != 0) { - goto __16 + goto __17 } return *(*int32)(unsafe.Pointer(bp + 72 /* rc */)) -__16: +__17: ; -__13: +__14: ; // If the cursor is currently pointing to an entry to be overwritten // and the new content is the same as as the old, then use the // overwrite optimization. if !(*(*int32)(unsafe.Pointer(bp)) == 0) { - goto __17 + goto __18 } getCellInfo(tls, pCur) if !((*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnKey == (*BtreePayload)(unsafe.Pointer(pX)).FnKey) { - goto __18 + goto __19 } (*BtreePayload)(unsafe.Pointer(bp + 20 /* &x2 */)).FpData = (*BtreePayload)(unsafe.Pointer(pX)).FpKey (*BtreePayload)(unsafe.Pointer(bp + 20 /* &x2 */)).FnData = int32((*BtreePayload)(unsafe.Pointer(pX)).FnKey) (*BtreePayload)(unsafe.Pointer(bp + 20 /* &x2 */)).FnZero = 0 return btreeOverwriteCell(tls, pCur, bp+20) -__18: +__19: ; -__17: +__18: ; -__6: +__7: ; pPage = (*BtCursor)(unsafe.Pointer(pCur)).FpPage if !((*MemPage)(unsafe.Pointer(pPage)).FnFree < 0) { - goto __19 + goto __20 } if !(int32((*BtCursor)(unsafe.Pointer(pCur)).FeState) > CURSOR_INVALID) { - goto __20 + goto __21 } - *(*int32)(unsafe.Pointer(bp + 72 /* rc */)) = Xsqlite3CorruptError(tls, 75134) - goto __21 -__20: - *(*int32)(unsafe.Pointer(bp + 72 /* rc */)) = btreeComputeFreeSpace(tls, pPage) + *(*int32)(unsafe.Pointer(bp + 72 /* rc */)) = Xsqlite3CorruptError(tls, 75143) + goto __22 __21: + *(*int32)(unsafe.Pointer(bp + 72 /* rc */)) = btreeComputeFreeSpace(tls, pPage) +__22: ; if !(*(*int32)(unsafe.Pointer(bp + 72)) != 0) { - goto __22 + goto __23 } return *(*int32)(unsafe.Pointer(bp + 72 /* rc */)) -__22: +__23: ; -__19: +__20: ; newCell = (*BtShared)(unsafe.Pointer(pBt)).FpTmpSpace if !(flags&BTREE_PREFORMAT != 0) { - goto __23 + goto __24 } *(*int32)(unsafe.Pointer(bp + 72 /* rc */)) = SQLITE_OK *(*int32)(unsafe.Pointer(bp + 76 /* szNew */)) = (*BtShared)(unsafe.Pointer(pBt)).FnPreformatSize if !(*(*int32)(unsafe.Pointer(bp + 76)) < 4) { - goto __25 + goto __26 } *(*int32)(unsafe.Pointer(bp + 76 /* szNew */)) = 4 -__25: +__26: ; if !((*BtShared)(unsafe.Pointer(pBt)).FautoVacuum != 0 && *(*int32)(unsafe.Pointer(bp + 76)) > int32((*MemPage)(unsafe.Pointer(pPage)).FmaxLocal)) { - goto __26 + goto __27 } (*struct { f func(*libc.TLS, uintptr, uintptr, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*MemPage)(unsafe.Pointer(pPage)).FxParseCell})).f(tls, pPage, newCell, bp+52 /* &info */) if !((*CellInfo)(unsafe.Pointer(bp+52)).FnPayload != U32((*CellInfo)(unsafe.Pointer(bp+52)).FnLocal)) { - goto __27 + goto __28 } ovfl = Xsqlite3Get4byte(tls, newCell+uintptr(*(*int32)(unsafe.Pointer(bp + 76))-4)) ptrmapPut(tls, pBt, ovfl, uint8(PTRMAP_OVERFLOW1), (*MemPage)(unsafe.Pointer(pPage)).Fpgno, bp+72) -__27: +__28: ; -__26: +__27: ; - goto __24 -__23: - *(*int32)(unsafe.Pointer(bp + 72 /* rc */)) = fillInCell(tls, pPage, newCell, pX, bp+76) + goto __25 __24: + *(*int32)(unsafe.Pointer(bp + 72 /* rc */)) = fillInCell(tls, pPage, newCell, pX, bp+76) +__25: ; if !(*(*int32)(unsafe.Pointer(bp + 72)) != 0) { - goto __28 + goto __29 } goto end_insert -__28: +__29: ; idx = int32((*BtCursor)(unsafe.Pointer(pCur)).Fix) if !(*(*int32)(unsafe.Pointer(bp)) == 0) { - goto __29 + goto __30 } if !(idx >= int32((*MemPage)(unsafe.Pointer(pPage)).FnCell)) { - goto __31 + goto __32 } - return Xsqlite3CorruptError(tls, 75170) -__31: + return Xsqlite3CorruptError(tls, 75179) +__32: ; *(*int32)(unsafe.Pointer(bp + 72 /* rc */)) = Xsqlite3PagerWrite(tls, (*MemPage)(unsafe.Pointer(pPage)).FpDbPage) if !(*(*int32)(unsafe.Pointer(bp + 72)) != 0) { - goto __32 + goto __33 } goto end_insert -__32: +__33: ; oldCell = (*MemPage)(unsafe.Pointer(pPage)).FaData + uintptr(int32((*MemPage)(unsafe.Pointer(pPage)).FmaskPage)&(int32(*(*U8)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPage)).FaCellIdx + uintptr(2*idx))))<<8|int32(*(*U8)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPage)).FaCellIdx + uintptr(2*idx) + 1))))) if !!(int32((*MemPage)(unsafe.Pointer(pPage)).Fleaf) != 0) { - goto __33 + goto __34 } libc.Xmemcpy(tls, newCell, oldCell, uint32(4)) -__33: +__34: ; (*struct { f func(*libc.TLS, uintptr, uintptr, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*MemPage)(unsafe.Pointer(pPage)).FxParseCell})).f(tls, pPage, oldCell, bp+80 /* &info1 */) if !(U32((*CellInfo)(unsafe.Pointer(bp+80 /* &info1 */)).FnLocal) != (*CellInfo)(unsafe.Pointer(bp+80 /* &info1 */)).FnPayload) { - goto __34 + goto __35 } *(*int32)(unsafe.Pointer(bp + 72 /* rc */)) = clearCellOverflow(tls, pPage, oldCell, bp+80 /* &info1 */) - goto __35 -__34: - *(*int32)(unsafe.Pointer(bp + 72 /* rc */)) = SQLITE_OK + goto __36 __35: + *(*int32)(unsafe.Pointer(bp + 72 /* rc */)) = SQLITE_OK +__36: ; *(*U8)(unsafe.Pointer(pCur + 1)) &= libc.Uint8FromInt32(libc.CplInt32(BTCF_ValidOvfl)) if !(int32((*CellInfo)(unsafe.Pointer(bp+80)).FnSize) == *(*int32)(unsafe.Pointer(bp + 76)) && U32((*CellInfo)(unsafe.Pointer(bp+80)).FnLocal) == (*CellInfo)(unsafe.Pointer(bp+80)).FnPayload && (!(int32((*BtShared)(unsafe.Pointer(pBt)).FautoVacuum) != 0) || *(*int32)(unsafe.Pointer(bp + 76)) < int32((*MemPage)(unsafe.Pointer(pPage)).FminLocal))) { - goto __36 + goto __37 } // Overwrite the old cell with the new if they are the same size. // We could also try to do this if the old cell is smaller, then add @@ -51630,42 +51645,42 @@ __35: // necessary to add the PTRMAP_OVERFLOW1 pointer-map entry. // clearCell never fails when nLocal==nPayload if !(oldCell < (*MemPage)(unsafe.Pointer(pPage)).FaData+uintptr((*MemPage)(unsafe.Pointer(pPage)).FhdrOffset)+uintptr(10)) { - goto __37 + goto __38 } - return Xsqlite3CorruptError(tls, 75197) -__37: + return Xsqlite3CorruptError(tls, 75206) +__38: ; if !(oldCell+uintptr(*(*int32)(unsafe.Pointer(bp + 76))) > (*MemPage)(unsafe.Pointer(pPage)).FaDataEnd) { - goto __38 + goto __39 } - return Xsqlite3CorruptError(tls, 75200) -__38: + return Xsqlite3CorruptError(tls, 75209) +__39: ; libc.Xmemcpy(tls, oldCell, newCell, uint32(*(*int32)(unsafe.Pointer(bp + 76 /* szNew */)))) return SQLITE_OK -__36: +__37: ; dropCell(tls, pPage, idx, int32((*CellInfo)(unsafe.Pointer(bp+80 /* &info1 */)).FnSize), bp+72) if !(*(*int32)(unsafe.Pointer(bp + 72)) != 0) { - goto __39 + goto __40 } goto end_insert -__39: +__40: ; - goto __30 -__29: + goto __31 +__30: if !(*(*int32)(unsafe.Pointer(bp)) < 0 && int32((*MemPage)(unsafe.Pointer(pPage)).FnCell) > 0) { - goto __40 + goto __41 } idx = int32(libc.PreIncUint16(&(*BtCursor)(unsafe.Pointer(pCur)).Fix, 1)) *(*U8)(unsafe.Pointer(pCur + 1)) &= libc.Uint8FromInt32(libc.CplInt32(BTCF_ValidNKey)) - goto __41 -__40: - ; + goto __42 __41: ; -__30: +__42: + ; +__31: ; insertCell(tls, pPage, idx, newCell, *(*int32)(unsafe.Pointer(bp + 76 /* szNew */)), uintptr(0), uint32(0), bp+72) @@ -51690,7 +51705,7 @@ __30: // row without seeking the cursor. This can be a big performance boost. (*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnSize = U16(0) if !((*MemPage)(unsafe.Pointer(pPage)).FnOverflow != 0) { - goto __42 + goto __43 } *(*U8)(unsafe.Pointer(pCur + 1)) &= libc.Uint8FromInt32(libc.CplInt32(BTCF_ValidNKey)) @@ -51703,30 +51718,30 @@ __30: (*MemPage)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pCur)).FpPage)).FnOverflow = U8(0) (*BtCursor)(unsafe.Pointer(pCur)).FeState = U8(CURSOR_INVALID) if !(flags&BTREE_SAVEPOSITION != 0 && *(*int32)(unsafe.Pointer(bp + 72)) == SQLITE_OK) { - goto __43 + goto __44 } btreeReleaseAllCursorPages(tls, pCur) if !((*BtCursor)(unsafe.Pointer(pCur)).FpKeyInfo != 0) { - goto __44 + goto __45 } (*BtCursor)(unsafe.Pointer(pCur)).FpKey = Xsqlite3Malloc(tls, uint64((*BtreePayload)(unsafe.Pointer(pX)).FnKey)) if !((*BtCursor)(unsafe.Pointer(pCur)).FpKey == uintptr(0)) { - goto __45 + goto __46 } *(*int32)(unsafe.Pointer(bp + 72 /* rc */)) = SQLITE_NOMEM - goto __46 -__45: - libc.Xmemcpy(tls, (*BtCursor)(unsafe.Pointer(pCur)).FpKey, (*BtreePayload)(unsafe.Pointer(pX)).FpKey, uint32((*BtreePayload)(unsafe.Pointer(pX)).FnKey)) + goto __47 __46: + libc.Xmemcpy(tls, (*BtCursor)(unsafe.Pointer(pCur)).FpKey, (*BtreePayload)(unsafe.Pointer(pX)).FpKey, uint32((*BtreePayload)(unsafe.Pointer(pX)).FnKey)) +__47: ; -__44: +__45: ; (*BtCursor)(unsafe.Pointer(pCur)).FeState = U8(CURSOR_REQUIRESEEK) (*BtCursor)(unsafe.Pointer(pCur)).FnKey = (*BtreePayload)(unsafe.Pointer(pX)).FnKey -__43: +__44: ; -__42: +__43: ; end_insert: @@ -51746,7 +51761,7 @@ end_insert: // calling sqlite3BtreeInsert() with the BTREE_PREFORMAT flag specified. // // SQLITE_OK is returned if successful, or an SQLite error code otherwise. -func Xsqlite3BtreeTransferRow(tls *libc.TLS, pDest uintptr, pSrc uintptr, iKey I64) int32 { /* sqlite3.c:75286:20: */ +func Xsqlite3BtreeTransferRow(tls *libc.TLS, pDest uintptr, pSrc uintptr, iKey I64) int32 { /* sqlite3.c:75295:20: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -51773,7 +51788,7 @@ func Xsqlite3BtreeTransferRow(tls *libc.TLS, pDest uintptr, pSrc uintptr, iKey I nIn = U32((*BtCursor)(unsafe.Pointer(pSrc)).Finfo.FnLocal) aIn = (*BtCursor)(unsafe.Pointer(pSrc)).Finfo.FpPayload if aIn+uintptr(nIn) > (*MemPage)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pSrc)).FpPage)).FaDataEnd { - return Xsqlite3CorruptError(tls, 75300) + return Xsqlite3CorruptError(tls, 75309) } nRem = (*BtCursor)(unsafe.Pointer(pSrc)).Finfo.FnPayload if nIn == nRem && nIn < U32((*MemPage)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pDest)).FpPage)).FmaxLocal) { @@ -51796,7 +51811,7 @@ func Xsqlite3BtreeTransferRow(tls *libc.TLS, pDest uintptr, pSrc uintptr, iKey I if nRem > nIn { if aIn+uintptr(nIn)+uintptr(4) > (*MemPage)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pSrc)).FpPage)).FaDataEnd { - return Xsqlite3CorruptError(tls, 75323) + return Xsqlite3CorruptError(tls, 75332) } ovflIn = Xsqlite3Get4byte(tls, (*BtCursor)(unsafe.Pointer(pSrc)).Finfo.FpPayload+uintptr(nIn)) } @@ -51878,7 +51893,7 @@ func Xsqlite3BtreeTransferRow(tls *libc.TLS, pDest uintptr, pSrc uintptr, iKey I // operation on non-FORDELETE cursors is tagged with the AUXDELETE flag. // The BTREE_AUXDELETE bit is a hint that is not used by this implementation, // but which might be used by alternative storage engines. -func Xsqlite3BtreeDelete(tls *libc.TLS, pCur uintptr, flags U8) int32 { /* sqlite3.c:75396:20: */ +func Xsqlite3BtreeDelete(tls *libc.TLS, pCur uintptr, flags U8) int32 { /* sqlite3.c:75405:20: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -51894,11 +51909,15 @@ func Xsqlite3BtreeDelete(tls *libc.TLS, pCur uintptr, flags U8) int32 { /* sqlit // Size of the cell being deleted var bPreserve U8 // Keep cursor valid. 2 for CURSOR_SKIPNEXT - if int32((*BtCursor)(unsafe.Pointer(pCur)).FeState) == CURSOR_REQUIRESEEK { - *(*int32)(unsafe.Pointer(bp + 20 /* rc */)) = btreeRestoreCursorPosition(tls, pCur) + if int32((*BtCursor)(unsafe.Pointer(pCur)).FeState) != CURSOR_VALID { + if int32((*BtCursor)(unsafe.Pointer(pCur)).FeState) >= CURSOR_REQUIRESEEK { + *(*int32)(unsafe.Pointer(bp + 20 /* rc */)) = btreeRestoreCursorPosition(tls, pCur) - if *(*int32)(unsafe.Pointer(bp + 20)) != 0 || int32((*BtCursor)(unsafe.Pointer(pCur)).FeState) != CURSOR_VALID { - return *(*int32)(unsafe.Pointer(bp + 20 /* rc */)) + if *(*int32)(unsafe.Pointer(bp + 20)) != 0 || int32((*BtCursor)(unsafe.Pointer(pCur)).FeState) != CURSOR_VALID { + return *(*int32)(unsafe.Pointer(bp + 20 /* rc */)) + } + } else { + return Xsqlite3CorruptError(tls, 75429) } } @@ -51906,11 +51925,11 @@ func Xsqlite3BtreeDelete(tls *libc.TLS, pCur uintptr, flags U8) int32 { /* sqlit iCellIdx = int32((*BtCursor)(unsafe.Pointer(pCur)).Fix) pPage = (*BtCursor)(unsafe.Pointer(pCur)).FpPage if int32((*MemPage)(unsafe.Pointer(pPage)).FnCell) <= iCellIdx { - return Xsqlite3CorruptError(tls, 75425) + return Xsqlite3CorruptError(tls, 75438) } pCell = (*MemPage)(unsafe.Pointer(pPage)).FaData + uintptr(int32((*MemPage)(unsafe.Pointer(pPage)).FmaskPage)&(int32(*(*U8)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPage)).FaCellIdx + uintptr(2*iCellIdx))))<<8|int32(*(*U8)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPage)).FaCellIdx + uintptr(2*iCellIdx) + 1))))) if (*MemPage)(unsafe.Pointer(pPage)).FnFree < 0 && btreeComputeFreeSpace(tls, pPage) != 0 { - return Xsqlite3CorruptError(tls, 75429) + return Xsqlite3CorruptError(tls, 75442) } // If the BTREE_SAVEPOSITION bit is on, then the cursor position must @@ -52019,7 +52038,7 @@ func Xsqlite3BtreeDelete(tls *libc.TLS, pCur uintptr, flags U8) int32 { /* sqlit } pCell = (*MemPage)(unsafe.Pointer(pLeaf)).FaData + uintptr(int32((*MemPage)(unsafe.Pointer(pLeaf)).FmaskPage)&(int32(*(*U8)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pLeaf)).FaCellIdx + uintptr(2*(int32((*MemPage)(unsafe.Pointer(pLeaf)).FnCell)-1)))))<<8|int32(*(*U8)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pLeaf)).FaCellIdx + uintptr(2*(int32((*MemPage)(unsafe.Pointer(pLeaf)).FnCell)-1)) + 1))))) if pCell < (*MemPage)(unsafe.Pointer(pLeaf)).FaData+4 { - return Xsqlite3CorruptError(tls, 75519) + return Xsqlite3CorruptError(tls, 75532) } nCell = int32((*struct { f func(*libc.TLS, uintptr, uintptr) U16 @@ -52096,7 +52115,7 @@ func Xsqlite3BtreeDelete(tls *libc.TLS, pCur uintptr, flags U8) int32 { /* sqlit // // BTREE_INTKEY|BTREE_LEAFDATA Used for SQL tables with rowid keys // BTREE_ZERODATA Used for SQL indices -func btreeCreateTable(tls *libc.TLS, p uintptr, piTable uintptr, createTabFlags int32) int32 { /* sqlite3.c:75593:12: */ +func btreeCreateTable(tls *libc.TLS, p uintptr, piTable uintptr, createTabFlags int32) int32 { /* sqlite3.c:75606:12: */ bp := tls.Alloc(28) defer tls.Free(28) @@ -52126,7 +52145,7 @@ func btreeCreateTable(tls *libc.TLS, p uintptr, piTable uintptr, createTabFlags // created so far, so the new root-page is (meta[3]+1). Xsqlite3BtreeGetMeta(tls, p, BTREE_LARGEST_ROOT_PAGE, bp) if *(*Pgno)(unsafe.Pointer(bp)) > btreePagecount(tls, pBt) { - return Xsqlite3CorruptError(tls, 75627) + return Xsqlite3CorruptError(tls, 75640) } *(*Pgno)(unsafe.Pointer(bp /* pgnoRoot */))++ @@ -52169,7 +52188,7 @@ func btreeCreateTable(tls *libc.TLS, p uintptr, piTable uintptr, createTabFlags } *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) = ptrmapGet(tls, pBt, *(*Pgno)(unsafe.Pointer(bp /* pgnoRoot */)), bp+16, bp+20) if int32(*(*U8)(unsafe.Pointer(bp + 16))) == PTRMAP_ROOTPAGE || int32(*(*U8)(unsafe.Pointer(bp + 16))) == PTRMAP_FREEPAGE { - *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) = Xsqlite3CorruptError(tls, 75675) + *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) = Xsqlite3CorruptError(tls, 75688) } if *(*int32)(unsafe.Pointer(bp + 24)) != SQLITE_OK { releasePage(tls, *(*uintptr)(unsafe.Pointer(bp + 12 /* pRoot */))) @@ -52232,7 +52251,7 @@ func btreeCreateTable(tls *libc.TLS, p uintptr, piTable uintptr, createTabFlags return SQLITE_OK } -func Xsqlite3BtreeCreateTable(tls *libc.TLS, p uintptr, piTable uintptr, flags int32) int32 { /* sqlite3.c:75738:20: */ +func Xsqlite3BtreeCreateTable(tls *libc.TLS, p uintptr, piTable uintptr, flags int32) int32 { /* sqlite3.c:75751:20: */ var rc int32 Xsqlite3BtreeEnter(tls, p) rc = btreeCreateTable(tls, p, piTable, flags) @@ -52242,7 +52261,7 @@ func Xsqlite3BtreeCreateTable(tls *libc.TLS, p uintptr, piTable uintptr, flags i // Erase the given database page and all its children. Return // the page to the freelist. -func clearDatabasePage(tls *libc.TLS, pBt uintptr, pgno Pgno, freePageFlag int32, pnChange uintptr) int32 { /* sqlite3.c:75750:12: */ +func clearDatabasePage(tls *libc.TLS, pBt uintptr, pgno Pgno, freePageFlag int32, pnChange uintptr) int32 { /* sqlite3.c:75763:12: */ bp := tls.Alloc(28) defer tls.Free(28) @@ -52258,7 +52277,7 @@ func clearDatabasePage(tls *libc.TLS, pBt uintptr, pgno Pgno, freePageFlag int32 if !(pgno > btreePagecount(tls, pBt)) { goto __1 } - return Xsqlite3CorruptError(tls, 75765) + return Xsqlite3CorruptError(tls, 75778) __1: ; *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) = getAndInitPage(tls, pBt, pgno, bp, uintptr(0), 0) @@ -52272,7 +52291,7 @@ __2: Xsqlite3PagerPageRefcount(tls, (*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FpDbPage) != 1+libc.Bool32(pgno == Pgno(1))) { goto __3 } - *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) = Xsqlite3CorruptError(tls, 75772) + *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) = Xsqlite3CorruptError(tls, 75785) goto cleardatabasepage_out __3: ; @@ -52376,7 +52395,7 @@ cleardatabasepage_out: // // If pnChange is not NULL, then the integer value pointed to by pnChange // is incremented by the number of entries in the table. -func Xsqlite3BtreeClearTable(tls *libc.TLS, p uintptr, iTable int32, pnChange uintptr) int32 { /* sqlite3.c:75817:20: */ +func Xsqlite3BtreeClearTable(tls *libc.TLS, p uintptr, iTable int32, pnChange uintptr) int32 { /* sqlite3.c:75830:20: */ var rc int32 var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt Xsqlite3BtreeEnter(tls, p) @@ -52399,7 +52418,7 @@ func Xsqlite3BtreeClearTable(tls *libc.TLS, p uintptr, iTable int32, pnChange ui // Delete all information from the single table that pCur is open on. // // This routine only work for pCur on an ephemeral table. -func Xsqlite3BtreeClearTableOfCursor(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:75843:20: */ +func Xsqlite3BtreeClearTableOfCursor(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:75856:20: */ return Xsqlite3BtreeClearTable(tls, (*BtCursor)(unsafe.Pointer(pCur)).FpBtree, int32((*BtCursor)(unsafe.Pointer(pCur)).FpgnoRoot), uintptr(0)) } @@ -52421,7 +52440,7 @@ func Xsqlite3BtreeClearTableOfCursor(tls *libc.TLS, pCur uintptr) int32 { /* sql // the move. If no page gets moved, *piMoved is set to 0. // The last root page is recorded in meta[3] and the value of // meta[3] is updated by this procedure. -func btreeDropTable(tls *libc.TLS, p uintptr, iTable Pgno, piMoved uintptr) int32 { /* sqlite3.c:75867:12: */ +func btreeDropTable(tls *libc.TLS, p uintptr, iTable Pgno, piMoved uintptr) int32 { /* sqlite3.c:75880:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -52431,7 +52450,7 @@ func btreeDropTable(tls *libc.TLS, p uintptr, iTable Pgno, piMoved uintptr) int3 var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt if iTable > btreePagecount(tls, pBt) { - return Xsqlite3CorruptError(tls, 75876) + return Xsqlite3CorruptError(tls, 75889) } *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) = Xsqlite3BtreeClearTable(tls, p, int32(iTable), uintptr(0)) @@ -52503,7 +52522,7 @@ func btreeDropTable(tls *libc.TLS, p uintptr, iTable Pgno, piMoved uintptr) int3 return *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) } -func Xsqlite3BtreeDropTable(tls *libc.TLS, p uintptr, iTable int32, piMoved uintptr) int32 { /* sqlite3.c:75952:20: */ +func Xsqlite3BtreeDropTable(tls *libc.TLS, p uintptr, iTable int32, piMoved uintptr) int32 { /* sqlite3.c:75965:20: */ var rc int32 Xsqlite3BtreeEnter(tls, p) rc = btreeDropTable(tls, p, uint32(iTable), piMoved) @@ -52529,7 +52548,7 @@ func Xsqlite3BtreeDropTable(tls *libc.TLS, p uintptr, iTable int32, piMoved uint // database file. It is a number computed by the pager. But its access // pattern is the same as header meta values, and so it is convenient to // read it from this routine. -func Xsqlite3BtreeGetMeta(tls *libc.TLS, p uintptr, idx int32, pMeta uintptr) { /* sqlite3.c:75981:21: */ +func Xsqlite3BtreeGetMeta(tls *libc.TLS, p uintptr, idx int32, pMeta uintptr) { /* sqlite3.c:75994:21: */ var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt Xsqlite3BtreeEnter(tls, p) @@ -52548,7 +52567,7 @@ func Xsqlite3BtreeGetMeta(tls *libc.TLS, p uintptr, idx int32, pMeta uintptr) { // Write meta-information back into the database. Meta[0] is // read-only and may not be written. -func Xsqlite3BtreeUpdateMeta(tls *libc.TLS, p uintptr, idx int32, iMeta U32) int32 { /* sqlite3.c:76011:20: */ +func Xsqlite3BtreeUpdateMeta(tls *libc.TLS, p uintptr, idx int32, iMeta U32) int32 { /* sqlite3.c:76024:20: */ var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt var pP1 uintptr var rc int32 @@ -52574,7 +52593,7 @@ func Xsqlite3BtreeUpdateMeta(tls *libc.TLS, p uintptr, idx int32, iMeta U32) int // SQLITE_OK is returned if the operation is successfully executed. // Otherwise, if an error is encountered (i.e. an IO error or database // corruption) an SQLite error code is returned. -func Xsqlite3BtreeCount(tls *libc.TLS, db uintptr, pCur uintptr, pnEntry uintptr) int32 { /* sqlite3.c:76043:20: */ +func Xsqlite3BtreeCount(tls *libc.TLS, db uintptr, pCur uintptr, pnEntry uintptr) int32 { /* sqlite3.c:76056:20: */ var nEntry I64 = int64(0) // Value to return in *pnEntry var rc int32 // Return code @@ -52637,12 +52656,12 @@ func Xsqlite3BtreeCount(tls *libc.TLS, db uintptr, pCur uintptr, pnEntry uintptr // Return the pager associated with a BTree. This routine is used for // testing and debugging only. -func Xsqlite3BtreePager(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:76112:22: */ +func Xsqlite3BtreePager(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:76125:22: */ return (*BtShared)(unsafe.Pointer((*Btree)(unsafe.Pointer(p)).FpBt)).FpPager } // Append a message to the error message string. -func checkAppendMsg(tls *libc.TLS, pCheck uintptr, zFormat uintptr, va uintptr) { /* sqlite3.c:76120:13: */ +func checkAppendMsg(tls *libc.TLS, pCheck uintptr, zFormat uintptr, va uintptr) { /* sqlite3.c:76133:13: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -52669,13 +52688,13 @@ func checkAppendMsg(tls *libc.TLS, pCheck uintptr, zFormat uintptr, va uintptr) // Return non-zero if the bit in the IntegrityCk.aPgRef[] array that // corresponds to page iPg is already set. -func getPageReferenced(tls *libc.TLS, pCheck uintptr, iPg Pgno) int32 { /* sqlite3.c:76150:12: */ +func getPageReferenced(tls *libc.TLS, pCheck uintptr, iPg Pgno) int32 { /* sqlite3.c:76163:12: */ return int32(*(*U8)(unsafe.Pointer((*IntegrityCk)(unsafe.Pointer(pCheck)).FaPgRef + uintptr(iPg/Pgno(8))))) & (int32(1) << (iPg & Pgno(0x07))) } // Set the bit in the IntegrityCk.aPgRef[] array that corresponds to page iPg. -func setPageReferenced(tls *libc.TLS, pCheck uintptr, iPg Pgno) { /* sqlite3.c:76158:13: */ +func setPageReferenced(tls *libc.TLS, pCheck uintptr, iPg Pgno) { /* sqlite3.c:76171:13: */ *(*U8)(unsafe.Pointer((*IntegrityCk)(unsafe.Pointer(pCheck)).FaPgRef + uintptr(iPg/Pgno(8)))) |= U8(int32(1) << (iPg & Pgno(0x07))) } @@ -52686,7 +52705,7 @@ func setPageReferenced(tls *libc.TLS, pCheck uintptr, iPg Pgno) { /* sqlite3.c:7 // if this is the first reference to the page. // // Also check that the page number is in bounds. -func checkRef(tls *libc.TLS, pCheck uintptr, iPage Pgno) int32 { /* sqlite3.c:76172:12: */ +func checkRef(tls *libc.TLS, pCheck uintptr, iPage Pgno) int32 { /* sqlite3.c:76185:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -52708,7 +52727,7 @@ func checkRef(tls *libc.TLS, pCheck uintptr, iPage Pgno) int32 { /* sqlite3.c:76 // Check that the entry in the pointer-map for page iChild maps to // page iParent, pointer type ptrType. If not, append an error message // to pCheck. -func checkPtrmap(tls *libc.TLS, pCheck uintptr, iChild Pgno, eType U8, iParent Pgno) { /* sqlite3.c:76192:13: */ +func checkPtrmap(tls *libc.TLS, pCheck uintptr, iChild Pgno, eType U8, iParent Pgno) { /* sqlite3.c:76205:13: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -52735,7 +52754,7 @@ func checkPtrmap(tls *libc.TLS, pCheck uintptr, iChild Pgno, eType U8, iParent P // Check the integrity of the freelist or of an overflow page list. // Verify that the number of pages on the list is N. -func checkList(tls *libc.TLS, pCheck uintptr, isFreeList int32, iPage Pgno, N U32) { /* sqlite3.c:76221:13: */ +func checkList(tls *libc.TLS, pCheck uintptr, isFreeList int32, iPage Pgno, N U32) { /* sqlite3.c:76234:13: */ bp := tls.Alloc(44) defer tls.Free(44) @@ -52819,7 +52838,7 @@ func checkList(tls *libc.TLS, pCheck uintptr, isFreeList int32, iPage Pgno, N U3 // entry represents the span of a cell or freeblock on a btree page. // The upper 16 bits are the index of the first byte of a range and the // lower 16 bits are the index of the last byte of that range. -func btreeHeapInsert(tls *libc.TLS, aHeap uintptr, x U32) { /* sqlite3.c:76310:13: */ +func btreeHeapInsert(tls *libc.TLS, aHeap uintptr, x U32) { /* sqlite3.c:76323:13: */ var j U32 var i U32 = libc.PreIncUint32(&*(*U32)(unsafe.Pointer(aHeap)), 1) *(*U32)(unsafe.Pointer(aHeap + uintptr(i)*4)) = x @@ -52831,7 +52850,7 @@ func btreeHeapInsert(tls *libc.TLS, aHeap uintptr, x U32) { /* sqlite3.c:76310:1 } } -func btreeHeapPull(tls *libc.TLS, aHeap uintptr, pOut uintptr) int32 { /* sqlite3.c:76320:12: */ +func btreeHeapPull(tls *libc.TLS, aHeap uintptr, pOut uintptr) int32 { /* sqlite3.c:76333:12: */ var j U32 var i U32 var x U32 @@ -52870,7 +52889,7 @@ func btreeHeapPull(tls *libc.TLS, aHeap uintptr, pOut uintptr) int32 { /* sqlite // 3. Check the integrity of overflow pages. // 4. Recursively call checkTreePage on all children. // 5. Verify that the depth of all children is the same. -func checkTreePage(tls *libc.TLS, pCheck uintptr, iPage Pgno, piMinKey uintptr, maxKey I64) int32 { /* sqlite3.c:76354:12: */ +func checkTreePage(tls *libc.TLS, pCheck uintptr, iPage Pgno, piMinKey uintptr, maxKey I64) int32 { /* sqlite3.c:76367:12: */ bp := tls.Alloc(132) defer tls.Free(132) *(*I64)(unsafe.Pointer(bp + 100)) = maxKey @@ -53259,7 +53278,7 @@ __34: // since obviously it is not possible to know which pages are covered by // the unverified btrees. Except, if aRoot[1] is 1, then the freelist // checks are still performed. -func Xsqlite3BtreeIntegrityCheck(tls *libc.TLS, db uintptr, p uintptr, aRoot uintptr, nRoot int32, mxErr int32, pnErr uintptr) uintptr { /* sqlite3.c:76633:21: */ +func Xsqlite3BtreeIntegrityCheck(tls *libc.TLS, db uintptr, p uintptr, aRoot uintptr, nRoot int32, mxErr int32, pnErr uintptr) uintptr { /* sqlite3.c:76646:21: */ bp := tls.Alloc(212) defer tls.Free(212) @@ -53493,7 +53512,7 @@ __29: // // The pager filename is invariant as long as the pager is // open so it is safe to access without the BtShared mutex. -func Xsqlite3BtreeGetFilename(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:76788:27: */ +func Xsqlite3BtreeGetFilename(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:76801:27: */ return Xsqlite3PagerFilename(tls, (*BtShared)(unsafe.Pointer((*Btree)(unsafe.Pointer(p)).FpBt)).FpPager, 1) } @@ -53504,14 +53523,14 @@ func Xsqlite3BtreeGetFilename(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:7 // // The pager journal filename is invariant as long as the pager is // open so it is safe to access without the BtShared mutex. -func Xsqlite3BtreeGetJournalname(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:76801:27: */ +func Xsqlite3BtreeGetJournalname(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:76814:27: */ return Xsqlite3PagerJournalname(tls, (*BtShared)(unsafe.Pointer((*Btree)(unsafe.Pointer(p)).FpBt)).FpPager) } // Return one of SQLITE_TXN_NONE, SQLITE_TXN_READ, or SQLITE_TXN_WRITE // to describe the current transaction state of Btree p. -func Xsqlite3BtreeTxnState(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:76810:20: */ +func Xsqlite3BtreeTxnState(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:76823:20: */ if p != 0 { return int32((*Btree)(unsafe.Pointer(p)).FinTrans) @@ -53525,7 +53544,7 @@ func Xsqlite3BtreeTxnState(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:76810: // transaction on the shared-cache the argument Btree is connected to. // // Parameter eMode is one of SQLITE_CHECKPOINT_PASSIVE, FULL or RESTART. -func Xsqlite3BtreeCheckpoint(tls *libc.TLS, p uintptr, eMode int32, pnLog uintptr, pnCkpt uintptr) int32 { /* sqlite3.c:76824:20: */ +func Xsqlite3BtreeCheckpoint(tls *libc.TLS, p uintptr, eMode int32, pnLog uintptr, pnCkpt uintptr) int32 { /* sqlite3.c:76837:20: */ var rc int32 = SQLITE_OK if p != 0 { var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt @@ -53541,7 +53560,7 @@ func Xsqlite3BtreeCheckpoint(tls *libc.TLS, p uintptr, eMode int32, pnLog uintpt } // Return true if there is currently a backup running on Btree p. -func Xsqlite3BtreeIsInBackup(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:76843:20: */ +func Xsqlite3BtreeIsInBackup(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:76856:20: */ return libc.Bool32((*Btree)(unsafe.Pointer(p)).FnBackup != 0) } @@ -53564,7 +53583,7 @@ func Xsqlite3BtreeIsInBackup(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:7684 // xFree argument when the memory allocation was made is invoked on the // blob of allocated memory. The xFree function should not call sqlite3_free() // on the memory, the btree layer does that. -func Xsqlite3BtreeSchema(tls *libc.TLS, p uintptr, nBytes int32, xFree uintptr) uintptr { /* sqlite3.c:76869:21: */ +func Xsqlite3BtreeSchema(tls *libc.TLS, p uintptr, nBytes int32, xFree uintptr) uintptr { /* sqlite3.c:76882:21: */ var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt Xsqlite3BtreeEnter(tls, p) if !(int32((*BtShared)(unsafe.Pointer(pBt)).FpSchema) != 0) && nBytes != 0 { @@ -53578,7 +53597,7 @@ func Xsqlite3BtreeSchema(tls *libc.TLS, p uintptr, nBytes int32, xFree uintptr) // Return SQLITE_LOCKED_SHAREDCACHE if another user of the same shared // btree as the argument handle holds an exclusive lock on the // sqlite_schema table. Otherwise SQLITE_OK. -func Xsqlite3BtreeSchemaLocked(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:76885:20: */ +func Xsqlite3BtreeSchemaLocked(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:76898:20: */ var rc int32 Xsqlite3BtreeEnter(tls, p) @@ -53591,7 +53610,7 @@ func Xsqlite3BtreeSchemaLocked(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:76 // Obtain a lock on the table whose root page is iTab. The // lock is a write lock if isWritelock is true or a read lock // if it is false. -func Xsqlite3BtreeLockTable(tls *libc.TLS, p uintptr, iTab int32, isWriteLock U8) int32 { /* sqlite3.c:76902:20: */ +func Xsqlite3BtreeLockTable(tls *libc.TLS, p uintptr, iTab int32, isWriteLock U8) int32 { /* sqlite3.c:76915:20: */ var rc int32 = SQLITE_OK if (*Btree)(unsafe.Pointer(p)).Fsharable != 0 { @@ -53615,7 +53634,7 @@ func Xsqlite3BtreeLockTable(tls *libc.TLS, p uintptr, iTab int32, isWriteLock U8 // change the length of the data stored. If this function is called with // parameters that attempt to write past the end of the existing data, // no modifications are made and SQLITE_CORRUPT is returned. -func Xsqlite3BtreePutData(tls *libc.TLS, pCsr uintptr, offset U32, amt U32, z uintptr) int32 { /* sqlite3.c:76932:20: */ +func Xsqlite3BtreePutData(tls *libc.TLS, pCsr uintptr, offset U32, amt U32, z uintptr) int32 { /* sqlite3.c:76945:20: */ var rc int32 rc = func() int32 { @@ -53655,7 +53674,7 @@ func Xsqlite3BtreePutData(tls *libc.TLS, pCsr uintptr, offset U32, amt U32, z ui } // Mark this cursor as an incremental blob cursor. -func Xsqlite3BtreeIncrblobCursor(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:76980:21: */ +func Xsqlite3BtreeIncrblobCursor(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:76993:21: */ *(*U8)(unsafe.Pointer(pCur + 1)) |= U8(BTCF_Incrblob) (*Btree)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pCur)).FpBtree)).FhasIncrblobCur = U8(1) } @@ -53663,7 +53682,7 @@ func Xsqlite3BtreeIncrblobCursor(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:769 // Set both the "read version" (single byte at byte offset 18) and // "write version" (single byte at byte offset 19) fields in the database // header to iVersion. -func Xsqlite3BtreeSetVersion(tls *libc.TLS, pBtree uintptr, iVersion int32) int32 { /* sqlite3.c:76991:20: */ +func Xsqlite3BtreeSetVersion(tls *libc.TLS, pBtree uintptr, iVersion int32) int32 { /* sqlite3.c:77004:20: */ var pBt uintptr = (*Btree)(unsafe.Pointer(pBtree)).FpBt var rc int32 // Return code @@ -53695,29 +53714,29 @@ func Xsqlite3BtreeSetVersion(tls *libc.TLS, pBtree uintptr, iVersion int32) int3 // Return true if the cursor has a hint specified. This routine is // only used from within assert() statements -func Xsqlite3BtreeCursorHasHint(tls *libc.TLS, pCsr uintptr, mask uint32) int32 { /* sqlite3.c:77026:20: */ +func Xsqlite3BtreeCursorHasHint(tls *libc.TLS, pCsr uintptr, mask uint32) int32 { /* sqlite3.c:77039:20: */ return libc.Bool32(uint32((*BtCursor)(unsafe.Pointer(pCsr)).Fhints)&mask != uint32(0)) } // Return true if the given Btree is read-only. -func Xsqlite3BtreeIsReadonly(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:77033:20: */ +func Xsqlite3BtreeIsReadonly(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:77046:20: */ return libc.Bool32(int32((*BtShared)(unsafe.Pointer((*Btree)(unsafe.Pointer(p)).FpBt)).FbtsFlags)&BTS_READ_ONLY != 0) } // Return the size of the header added to each page by this module. -func Xsqlite3HeaderSizeBtree(tls *libc.TLS) int32 { /* sqlite3.c:77040:20: */ +func Xsqlite3HeaderSizeBtree(tls *libc.TLS) int32 { /* sqlite3.c:77053:20: */ return int32((uint32(unsafe.Sizeof(MemPage{})) + uint32(7)) & libc.Uint32FromInt32(libc.CplInt32(7))) } // Return true if the Btree passed as the only argument is sharable. -func Xsqlite3BtreeSharable(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:77046:20: */ +func Xsqlite3BtreeSharable(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:77059:20: */ return int32((*Btree)(unsafe.Pointer(p)).Fsharable) } // Return the number of connections to the BtShared object accessed by // the Btree handle passed as the only argument. For private caches // this is always 1. For shared caches it may be 1 or greater. -func Xsqlite3BtreeConnectionCount(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:77055:20: */ +func Xsqlite3BtreeConnectionCount(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:77068:20: */ return (*BtShared)(unsafe.Pointer((*Btree)(unsafe.Pointer(p)).FpBt)).FnRef } @@ -53757,7 +53776,7 @@ func Xsqlite3BtreeConnectionCount(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c // If the "temp" database is requested, it may need to be opened by this // function. If an error occurs while doing so, return 0 and write an // error message to pErrorDb. -func findBtree(tls *libc.TLS, pErrorDb uintptr, pDb uintptr, zDb uintptr) uintptr { /* sqlite3.c:77144:14: */ +func findBtree(tls *libc.TLS, pErrorDb uintptr, pDb uintptr, zDb uintptr) uintptr { /* sqlite3.c:77157:14: */ bp := tls.Alloc(288) defer tls.Free(288) @@ -53789,7 +53808,7 @@ func findBtree(tls *libc.TLS, pErrorDb uintptr, pDb uintptr, zDb uintptr) uintpt // Attempt to set the page size of the destination to match the page size // of the source. -func setDestPgsz(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:77174:12: */ +func setDestPgsz(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:77187:12: */ var rc int32 rc = Xsqlite3BtreeSetPageSize(tls, (*Sqlite3_backup)(unsafe.Pointer(p)).FpDest, Xsqlite3BtreeGetPageSize(tls, (*Sqlite3_backup)(unsafe.Pointer(p)).FpSrc), 0, 0) return rc @@ -53799,7 +53818,7 @@ func setDestPgsz(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:77174:12: */ // second argument. If there is not, return SQLITE_OK. Otherwise, if there // is an open read-transaction, return SQLITE_ERROR and leave an error // message in database handle db. -func checkReadTransaction(tls *libc.TLS, db uintptr, p uintptr) int32 { /* sqlite3.c:77186:12: */ +func checkReadTransaction(tls *libc.TLS, db uintptr, p uintptr) int32 { /* sqlite3.c:77199:12: */ if Xsqlite3BtreeTxnState(tls, p) != SQLITE_TXN_NONE { Xsqlite3ErrorWithMsg(tls, db, SQLITE_ERROR, ts+4798, 0) return SQLITE_ERROR @@ -53813,7 +53832,7 @@ func checkReadTransaction(tls *libc.TLS, db uintptr, p uintptr) int32 { /* sqlit // // If an error occurs, NULL is returned and an error code and error message // stored in database handle pDestDb. -func Xsqlite3_backup_init(tls *libc.TLS, pDestDb uintptr, zDestDb uintptr, pSrcDb uintptr, zSrcDb uintptr) uintptr { /* sqlite3.c:77202:27: */ +func Xsqlite3_backup_init(tls *libc.TLS, pDestDb uintptr, zDestDb uintptr, pSrcDb uintptr, zSrcDb uintptr) uintptr { /* sqlite3.c:77215:27: */ var p uintptr // Value to return // Lock the source database handle. The destination database @@ -53873,14 +53892,14 @@ func Xsqlite3_backup_init(tls *libc.TLS, pDestDb uintptr, zDestDb uintptr, pSrcD // Argument rc is an SQLite error code. Return true if this error is // considered fatal if encountered during a backup operation. All errors // are considered fatal except for SQLITE_BUSY and SQLITE_LOCKED. -func isFatalError(tls *libc.TLS, rc int32) int32 { /* sqlite3.c:77279:12: */ +func isFatalError(tls *libc.TLS, rc int32) int32 { /* sqlite3.c:77292:12: */ return libc.Bool32(rc != SQLITE_OK && rc != SQLITE_BUSY && rc != SQLITE_LOCKED) } // Parameter zSrcData points to a buffer containing the data for // page iSrcPg from the source database. Copy this data into the // destination database. -func backupOnePage(tls *libc.TLS, p uintptr, iSrcPg Pgno, zSrcData uintptr, bUpdate int32) int32 { /* sqlite3.c:77288:12: */ +func backupOnePage(tls *libc.TLS, p uintptr, iSrcPg Pgno, zSrcData uintptr, bUpdate int32) int32 { /* sqlite3.c:77301:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -53942,7 +53961,7 @@ func backupOnePage(tls *libc.TLS, p uintptr, iSrcPg Pgno, zSrcData uintptr, bUpd // // Return SQLITE_OK if everything is successful, or an SQLite error // code if an error occurs. -func backupTruncateFile(tls *libc.TLS, pFile uintptr, iSize I64) int32 { /* sqlite3.c:77357:12: */ +func backupTruncateFile(tls *libc.TLS, pFile uintptr, iSize I64) int32 { /* sqlite3.c:77370:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -53957,7 +53976,7 @@ func backupTruncateFile(tls *libc.TLS, pFile uintptr, iSize I64) int32 { /* sqli // Register this backup object with the associated source pager for // callbacks when pages are changed or the cache invalidated. -func attachBackupObject(tls *libc.TLS, p uintptr) { /* sqlite3.c:77370:13: */ +func attachBackupObject(tls *libc.TLS, p uintptr) { /* sqlite3.c:77383:13: */ var pp uintptr pp = Xsqlite3PagerBackupPtr(tls, Xsqlite3BtreePager(tls, (*Sqlite3_backup)(unsafe.Pointer(p)).FpSrc)) @@ -53967,7 +53986,7 @@ func attachBackupObject(tls *libc.TLS, p uintptr) { /* sqlite3.c:77370:13: */ } // Copy nPage pages from the source b-tree to the destination. -func Xsqlite3_backup_step(tls *libc.TLS, p uintptr, nPage int32) int32 { /* sqlite3.c:77382:16: */ +func Xsqlite3_backup_step(tls *libc.TLS, p uintptr, nPage int32) int32 { /* sqlite3.c:77395:16: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -54205,7 +54224,7 @@ func Xsqlite3_backup_step(tls *libc.TLS, p uintptr, nPage int32) int32 { /* sqli } // Release all resources associated with an sqlite3_backup* handle. -func Xsqlite3_backup_finish(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:77636:16: */ +func Xsqlite3_backup_finish(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:77649:16: */ var pp uintptr // Ptr to head of pagers backup list var pSrcDb uintptr // Source database connection var rc int32 // Value to return @@ -54263,13 +54282,13 @@ func Xsqlite3_backup_finish(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:77636 // Return the number of pages still to be backed up as of the most recent // call to sqlite3_backup_step(). -func Xsqlite3_backup_remaining(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:77690:16: */ +func Xsqlite3_backup_remaining(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:77703:16: */ return int32((*Sqlite3_backup)(unsafe.Pointer(p)).FnRemaining) } // Return the total number of pages in the source database as of the most // recent call to sqlite3_backup_step(). -func Xsqlite3_backup_pagecount(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:77704:16: */ +func Xsqlite3_backup_pagecount(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:77717:16: */ return int32((*Sqlite3_backup)(unsafe.Pointer(p)).FnPagecount) } @@ -54283,7 +54302,7 @@ func Xsqlite3_backup_pagecount(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:77 // It is assumed that the mutex associated with the BtShared object // corresponding to the source database is held when this function is // called. -func backupUpdate(tls *libc.TLS, p uintptr, iPage Pgno, aData uintptr) { /* sqlite3.c:77726:29: */ +func backupUpdate(tls *libc.TLS, p uintptr, iPage Pgno, aData uintptr) { /* sqlite3.c:77739:29: */ for __ccgo := true; __ccgo; __ccgo = libc.AssignUintptr(&p, (*Sqlite3_backup)(unsafe.Pointer(p)).FpNext) != uintptr(0) { @@ -54304,7 +54323,7 @@ func backupUpdate(tls *libc.TLS, p uintptr, iPage Pgno, aData uintptr) { /* sqli } } -func Xsqlite3BackupUpdate(tls *libc.TLS, pBackup uintptr, iPage Pgno, aData uintptr) { /* sqlite3.c:77751:21: */ +func Xsqlite3BackupUpdate(tls *libc.TLS, pBackup uintptr, iPage Pgno, aData uintptr) { /* sqlite3.c:77764:21: */ if pBackup != 0 { backupUpdate(tls, pBackup, iPage, aData) } @@ -54319,7 +54338,7 @@ func Xsqlite3BackupUpdate(tls *libc.TLS, pBackup uintptr, iPage Pgno, aData uint // It is assumed that the mutex associated with the BtShared object // corresponding to the source database is held when this function is // called. -func Xsqlite3BackupRestart(tls *libc.TLS, pBackup uintptr) { /* sqlite3.c:77766:21: */ +func Xsqlite3BackupRestart(tls *libc.TLS, pBackup uintptr) { /* sqlite3.c:77779:21: */ var p uintptr // Iterator variable for p = pBackup; p != 0; p = (*Sqlite3_backup)(unsafe.Pointer(p)).FpNext { @@ -54333,7 +54352,7 @@ func Xsqlite3BackupRestart(tls *libc.TLS, pBackup uintptr) { /* sqlite3.c:77766: // The size of file pTo may be reduced by this operation. If anything // goes wrong, the transaction on pTo is rolled back. If successful, the // transaction is committed before returning. -func Xsqlite3BtreeCopyFile(tls *libc.TLS, pTo uintptr, pFrom uintptr) int32 { /* sqlite3.c:77783:20: */ +func Xsqlite3BtreeCopyFile(tls *libc.TLS, pTo uintptr, pFrom uintptr) int32 { /* sqlite3.c:77796:20: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -54427,7 +54446,7 @@ copy_finished: // Render a Mem object which is one of MEM_Int, MEM_Real, or MEM_IntReal // into a buffer. -func vdbeMemRenderNum(tls *libc.TLS, sz int32, zBuf uintptr, p uintptr) { /* sqlite3.c:77941:13: */ +func vdbeMemRenderNum(tls *libc.TLS, sz int32, zBuf uintptr, p uintptr) { /* sqlite3.c:77954:13: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -54460,7 +54479,7 @@ func vdbeMemRenderNum(tls *libc.TLS, sz int32, zBuf uintptr, p uintptr) { /* sql // SQLITE_OK is returned if the conversion is successful (or not required). // SQLITE_NOMEM may be returned if a malloc() fails during conversion // between formats. -func Xsqlite3VdbeChangeEncoding(tls *libc.TLS, pMem uintptr, desiredEnc int32) int32 { /* sqlite3.c:78034:20: */ +func Xsqlite3VdbeChangeEncoding(tls *libc.TLS, pMem uintptr, desiredEnc int32) int32 { /* sqlite3.c:78047:20: */ var rc int32 if !(int32((*Mem)(unsafe.Pointer(pMem)).Fflags)&MEM_Str != 0) || int32((*Mem)(unsafe.Pointer(pMem)).Fenc) == desiredEnc { @@ -54480,7 +54499,7 @@ func Xsqlite3VdbeChangeEncoding(tls *libc.TLS, pMem uintptr, desiredEnc int32) i // pMem->z into the new allocation. pMem must be either a string or // blob if bPreserve is true. If bPreserve is false, any prior content // in pMem->z is discarded. -func Xsqlite3VdbeMemGrow(tls *libc.TLS, pMem uintptr, n int32, bPreserve int32) int32 { /* sqlite3.c:78069:36: */ +func Xsqlite3VdbeMemGrow(tls *libc.TLS, pMem uintptr, n int32, bPreserve int32) int32 { /* sqlite3.c:78082:36: */ // If the bPreserve flag is set to true, then the memory cell must already // contain a valid string or blob value. @@ -54536,7 +54555,7 @@ func Xsqlite3VdbeMemGrow(tls *libc.TLS, pMem uintptr, n int32, bPreserve int32) // // Return SQLITE_OK on success or an error code (probably SQLITE_NOMEM) // if unable to complete the resizing. -func Xsqlite3VdbeMemClearAndResize(tls *libc.TLS, pMem uintptr, szNew int32) int32 { /* sqlite3.c:78132:20: */ +func Xsqlite3VdbeMemClearAndResize(tls *libc.TLS, pMem uintptr, szNew int32) int32 { /* sqlite3.c:78145:20: */ if (*Mem)(unsafe.Pointer(pMem)).FszMalloc < szNew { return Xsqlite3VdbeMemGrow(tls, pMem, szNew, 0) @@ -54554,7 +54573,7 @@ func Xsqlite3VdbeMemClearAndResize(tls *libc.TLS, pMem uintptr, szNew int32) int // to be a double-zero byte at an even byte boundary in order to // terminate a UTF16 string, even if the initial size of the buffer // is an odd number of bytes. -func vdbeMemAddTerminator(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c:78153:28: */ +func vdbeMemAddTerminator(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c:78166:28: */ if Xsqlite3VdbeMemGrow(tls, pMem, (*Mem)(unsafe.Pointer(pMem)).Fn+3, 1) != 0 { return SQLITE_NOMEM } @@ -54569,7 +54588,7 @@ func vdbeMemAddTerminator(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c:7815 // MEM.zMalloc, where it can be safely written. // // Return SQLITE_OK on success or SQLITE_NOMEM if malloc fails. -func Xsqlite3VdbeMemMakeWriteable(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c:78170:20: */ +func Xsqlite3VdbeMemMakeWriteable(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c:78183:20: */ if int32((*Mem)(unsafe.Pointer(pMem)).Fflags)&(MEM_Str|MEM_Blob) != 0 { if func() int32 { @@ -54594,7 +54613,7 @@ func Xsqlite3VdbeMemMakeWriteable(tls *libc.TLS, pMem uintptr) int32 { /* sqlite // If the given Mem* has a zero-filled tail, turn it into an ordinary // blob stored in dynamically allocated space. -func Xsqlite3VdbeMemExpandBlob(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c:78194:20: */ +func Xsqlite3VdbeMemExpandBlob(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c:78207:20: */ var nByte int32 // Set nByte to the number of bytes required to store the expanded blob. @@ -54616,7 +54635,7 @@ func Xsqlite3VdbeMemExpandBlob(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c } // Make sure the given Mem is \u0000 terminated. -func Xsqlite3VdbeMemNulTerminate(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c:78225:20: */ +func Xsqlite3VdbeMemNulTerminate(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c:78238:20: */ if int32((*Mem)(unsafe.Pointer(pMem)).Fflags)&(MEM_Term|MEM_Str) != MEM_Str { return SQLITE_OK // Nothing to do @@ -54638,7 +54657,7 @@ func Xsqlite3VdbeMemNulTerminate(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3 // sqlite3_value_text()), or for ensuring that values to be used as btree // keys are strings. In the former case a NULL pointer is returned the // user and the latter is an internal programming error. -func Xsqlite3VdbeMemStringify(tls *libc.TLS, pMem uintptr, enc U8, bForce U8) int32 { /* sqlite3.c:78251:20: */ +func Xsqlite3VdbeMemStringify(tls *libc.TLS, pMem uintptr, enc U8, bForce U8) int32 { /* sqlite3.c:78264:20: */ var nByte int32 = 32 if Xsqlite3VdbeMemClearAndResize(tls, pMem, nByte) != 0 { @@ -54664,7 +54683,7 @@ func Xsqlite3VdbeMemStringify(tls *libc.TLS, pMem uintptr, enc U8, bForce U8) in // // Return SQLITE_ERROR if the finalizer reports an error. SQLITE_OK // otherwise. -func Xsqlite3VdbeMemFinalize(tls *libc.TLS, pMem uintptr, pFunc uintptr) int32 { /* sqlite3.c:78286:20: */ +func Xsqlite3VdbeMemFinalize(tls *libc.TLS, pMem uintptr, pFunc uintptr) int32 { /* sqlite3.c:78299:20: */ bp := tls.Alloc(72) defer tls.Free(72) @@ -54694,7 +54713,7 @@ func Xsqlite3VdbeMemFinalize(tls *libc.TLS, pMem uintptr, pFunc uintptr) int32 { // // SQLITE_ERROR is returned if xValue() reports an error. SQLITE_OK // otherwise. -func Xsqlite3VdbeMemAggValue(tls *libc.TLS, pAccum uintptr, pOut uintptr, pFunc uintptr) int32 { /* sqlite3.c:78317:20: */ +func Xsqlite3VdbeMemAggValue(tls *libc.TLS, pAccum uintptr, pOut uintptr, pFunc uintptr) int32 { /* sqlite3.c:78330:20: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -54716,7 +54735,7 @@ func Xsqlite3VdbeMemAggValue(tls *libc.TLS, pAccum uintptr, pOut uintptr, pFunc // This is a helper routine for sqlite3VdbeMemSetNull() and // for sqlite3VdbeMemRelease(). Use those other routines as the // entry point for releasing Mem resources. -func vdbeMemClearExternAndSetNull(tls *libc.TLS, p uintptr) { /* sqlite3.c:78342:29: */ +func vdbeMemClearExternAndSetNull(tls *libc.TLS, p uintptr) { /* sqlite3.c:78355:29: */ if int32((*Mem)(unsafe.Pointer(p)).Fflags)&MEM_Agg != 0 { Xsqlite3VdbeMemFinalize(tls, p, *(*uintptr)(unsafe.Pointer(p))) @@ -54735,7 +54754,7 @@ func vdbeMemClearExternAndSetNull(tls *libc.TLS, p uintptr) { /* sqlite3.c:78342 // This is a helper routine invoked by sqlite3VdbeMemRelease() in // the unusual case where there really is memory in p that needs // to be freed. -func vdbeMemClear(tls *libc.TLS, p uintptr) { /* sqlite3.c:78365:29: */ +func vdbeMemClear(tls *libc.TLS, p uintptr) { /* sqlite3.c:78378:29: */ if int32((*Mem)(unsafe.Pointer(p)).Fflags)&(MEM_Agg|MEM_Dyn) != 0 { vdbeMemClearExternAndSetNull(tls, p) } @@ -54754,7 +54773,7 @@ func vdbeMemClear(tls *libc.TLS, p uintptr) { /* sqlite3.c:78365:29: */ // // Use sqlite3VdbeMemSetNull() to release just the Mem.xDel space // prior to inserting new content into the Mem. -func Xsqlite3VdbeMemRelease(tls *libc.TLS, p uintptr) { /* sqlite3.c:78386:21: */ +func Xsqlite3VdbeMemRelease(tls *libc.TLS, p uintptr) { /* sqlite3.c:78399:21: */ if int32((*Mem)(unsafe.Pointer(p)).Fflags)&(MEM_Agg|MEM_Dyn) != 0 || (*Mem)(unsafe.Pointer(p)).FszMalloc != 0 { vdbeMemClear(tls, p) @@ -54764,7 +54783,7 @@ func Xsqlite3VdbeMemRelease(tls *libc.TLS, p uintptr) { /* sqlite3.c:78386:21: * // Convert a 64-bit IEEE double into a 64-bit signed integer. // If the double is out of range of a 64-bit signed integer then // return the closest available 64-bit signed integer. -func doubleToInt64(tls *libc.TLS, r float64) I64 { /* sqlite3.c:78398:28: */ +func doubleToInt64(tls *libc.TLS, r float64) I64 { /* sqlite3.c:78411:28: */ if r <= float64(minInt) { return minInt @@ -54776,8 +54795,8 @@ func doubleToInt64(tls *libc.TLS, r float64) I64 { /* sqlite3.c:78398:28: */ return I64(0) } -var maxInt I64 = int64(0xffffffff) | I64(int64(0x7fffffff))<<32 /* sqlite3.c:78410:20 */ -var minInt I64 = int64(-1) - (int64(0xffffffff) | I64(int64(0x7fffffff))<<32) /* sqlite3.c:78411:20 */ +var maxInt I64 = int64(0xffffffff) | I64(int64(0x7fffffff))<<32 /* sqlite3.c:78423:20 */ +var minInt I64 = int64(-1) - (int64(0xffffffff) | I64(int64(0x7fffffff))<<32) /* sqlite3.c:78424:20 */ // Return some kind of integer value which is the best we can do // at representing the value that *pMem describes as an integer. @@ -54788,7 +54807,7 @@ var minInt I64 = int64(-1) - (int64(0xffffffff) | I64(int64(0x7fffffff))<<32) /* // an SQL-NULL value, return 0. // // If pMem represents a string value, its encoding might be changed. -func memIntValue(tls *libc.TLS, pMem uintptr) I64 { /* sqlite3.c:78434:28: */ +func memIntValue(tls *libc.TLS, pMem uintptr) I64 { /* sqlite3.c:78447:28: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -54797,7 +54816,7 @@ func memIntValue(tls *libc.TLS, pMem uintptr) I64 { /* sqlite3.c:78434:28: */ return *(*I64)(unsafe.Pointer(bp /* value */)) } -func Xsqlite3VdbeIntValue(tls *libc.TLS, pMem uintptr) I64 { /* sqlite3.c:78439:20: */ +func Xsqlite3VdbeIntValue(tls *libc.TLS, pMem uintptr) I64 { /* sqlite3.c:78452:20: */ var flags int32 flags = int32((*Mem)(unsafe.Pointer(pMem)).Fflags) @@ -54818,7 +54837,7 @@ func Xsqlite3VdbeIntValue(tls *libc.TLS, pMem uintptr) I64 { /* sqlite3.c:78439: // double. If pMem is already a double or an integer, return its // value. If it is a string or blob, try to convert it to a double. // If it is a NULL, return 0.0. -func memRealValue(tls *libc.TLS, pMem uintptr) float64 { /* sqlite3.c:78463:31: */ +func memRealValue(tls *libc.TLS, pMem uintptr) float64 { /* sqlite3.c:78476:31: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -54828,7 +54847,7 @@ func memRealValue(tls *libc.TLS, pMem uintptr) float64 { /* sqlite3.c:78463:31: return *(*float64)(unsafe.Pointer(bp /* val */)) } -func Xsqlite3VdbeRealValue(tls *libc.TLS, pMem uintptr) float64 { /* sqlite3.c:78469:23: */ +func Xsqlite3VdbeRealValue(tls *libc.TLS, pMem uintptr) float64 { /* sqlite3.c:78482:23: */ if int32((*Mem)(unsafe.Pointer(pMem)).Fflags)&MEM_Real != 0 { return *(*float64)(unsafe.Pointer(pMem)) @@ -54846,7 +54865,7 @@ func Xsqlite3VdbeRealValue(tls *libc.TLS, pMem uintptr) float64 { /* sqlite3.c:7 // Return 1 if pMem represents true, and return 0 if pMem represents false. // Return the value ifNull if pMem is NULL. -func Xsqlite3VdbeBooleanValue(tls *libc.TLS, pMem uintptr, ifNull int32) int32 { /* sqlite3.c:78490:20: */ +func Xsqlite3VdbeBooleanValue(tls *libc.TLS, pMem uintptr, ifNull int32) int32 { /* sqlite3.c:78503:20: */ if int32((*Mem)(unsafe.Pointer(pMem)).Fflags)&(MEM_Int|MEM_IntReal) != 0 { return libc.Bool32(*(*I64)(unsafe.Pointer(pMem)) != int64(0)) @@ -54859,7 +54878,7 @@ func Xsqlite3VdbeBooleanValue(tls *libc.TLS, pMem uintptr, ifNull int32) int32 { // The MEM structure is already a MEM_Real. Try to also make it a // MEM_Int if we can. -func Xsqlite3VdbeIntegerAffinity(tls *libc.TLS, pMem uintptr) { /* sqlite3.c:78501:21: */ +func Xsqlite3VdbeIntegerAffinity(tls *libc.TLS, pMem uintptr) { /* sqlite3.c:78514:21: */ var ix I64 ix = doubleToInt64(tls, *(*float64)(unsafe.Pointer(pMem))) @@ -54880,7 +54899,7 @@ func Xsqlite3VdbeIntegerAffinity(tls *libc.TLS, pMem uintptr) { /* sqlite3.c:785 } // Convert pMem to type integer. Invalidate any prior representations. -func Xsqlite3VdbeMemIntegerify(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c:78530:20: */ +func Xsqlite3VdbeMemIntegerify(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c:78543:20: */ *(*I64)(unsafe.Pointer(pMem)) = Xsqlite3VdbeIntValue(tls, pMem) (*Mem)(unsafe.Pointer(pMem)).Fflags = U16(int32((*Mem)(unsafe.Pointer(pMem)).Fflags)&libc.CplInt32(MEM_TypeMask|MEM_Zero) | MEM_Int) @@ -54889,7 +54908,7 @@ func Xsqlite3VdbeMemIntegerify(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c // Convert pMem so that it is of type MEM_Real. // Invalidate any prior representations. -func Xsqlite3VdbeMemRealify(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c:78545:20: */ +func Xsqlite3VdbeMemRealify(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c:78558:20: */ *(*float64)(unsafe.Pointer(pMem)) = Xsqlite3VdbeRealValue(tls, pMem) (*Mem)(unsafe.Pointer(pMem)).Fflags = U16(int32((*Mem)(unsafe.Pointer(pMem)).Fflags)&libc.CplInt32(MEM_TypeMask|MEM_Zero) | MEM_Real) @@ -54904,7 +54923,7 @@ func Xsqlite3VdbeMemRealify(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c:78 // For some versions of GCC on 32-bit machines, if you do the more obvious // comparison of "r1==(double)i" you sometimes get an answer of false even // though the r1 and (double)i values are bit-for-bit the same. -func Xsqlite3RealSameAsInt(tls *libc.TLS, r1 float64, i Sqlite3_int64) int32 { /* sqlite3.c:78564:20: */ +func Xsqlite3RealSameAsInt(tls *libc.TLS, r1 float64, i Sqlite3_int64) int32 { /* sqlite3.c:78577:20: */ bp := tls.Alloc(16) defer tls.Free(16) *(*float64)(unsafe.Pointer(bp)) = r1 @@ -54921,7 +54940,7 @@ func Xsqlite3RealSameAsInt(tls *libc.TLS, r1 float64, i Sqlite3_int64) int32 { / // Every effort is made to force the conversion, even if the input // is a string that does not look completely like a number. Convert // as much of the string as we can and ignore the rest. -func Xsqlite3VdbeMemNumerify(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c:78579:20: */ +func Xsqlite3VdbeMemNumerify(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c:78592:20: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -54948,7 +54967,7 @@ func Xsqlite3VdbeMemNumerify(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c:7 // is forced. In other words, the value is converted into the desired // affinity even if that results in loss of data. This routine is // used (for example) to implement the SQL "cast()" operator. -func Xsqlite3VdbeMemCast(tls *libc.TLS, pMem uintptr, aff U8, encoding U8) int32 { /* sqlite3.c:78612:20: */ +func Xsqlite3VdbeMemCast(tls *libc.TLS, pMem uintptr, aff U8, encoding U8) int32 { /* sqlite3.c:78625:20: */ if int32((*Mem)(unsafe.Pointer(pMem)).Fflags)&MEM_Null != 0 { return SQLITE_OK } @@ -55002,7 +55021,7 @@ func Xsqlite3VdbeMemCast(tls *libc.TLS, pMem uintptr, aff U8, encoding U8) int32 // Initialize bulk memory to be a consistent Mem object. // // The minimum amount of initialization feasible is performed. -func Xsqlite3VdbeMemInit(tls *libc.TLS, pMem uintptr, db uintptr, flags U16) { /* sqlite3.c:78655:21: */ +func Xsqlite3VdbeMemInit(tls *libc.TLS, pMem uintptr, db uintptr, flags U16) { /* sqlite3.c:78668:21: */ (*Mem)(unsafe.Pointer(pMem)).Fflags = flags (*Mem)(unsafe.Pointer(pMem)).Fdb = db @@ -55019,7 +55038,7 @@ func Xsqlite3VdbeMemInit(tls *libc.TLS, pMem uintptr, db uintptr, flags U16) { / // Use this routine to reset the Mem prior to insert a new value. // // Use sqlite3VdbeMemRelease() to complete erase the Mem prior to abandoning it. -func Xsqlite3VdbeMemSetNull(tls *libc.TLS, pMem uintptr) { /* sqlite3.c:78675:21: */ +func Xsqlite3VdbeMemSetNull(tls *libc.TLS, pMem uintptr) { /* sqlite3.c:78688:21: */ if int32((*Mem)(unsafe.Pointer(pMem)).Fflags)&(MEM_Agg|MEM_Dyn) != 0 { vdbeMemClearExternAndSetNull(tls, pMem) } else { @@ -55027,13 +55046,13 @@ func Xsqlite3VdbeMemSetNull(tls *libc.TLS, pMem uintptr) { /* sqlite3.c:78675:21 } } -func Xsqlite3ValueSetNull(tls *libc.TLS, p uintptr) { /* sqlite3.c:78682:21: */ +func Xsqlite3ValueSetNull(tls *libc.TLS, p uintptr) { /* sqlite3.c:78695:21: */ Xsqlite3VdbeMemSetNull(tls, p) } // Delete any previous value and set the value to be a BLOB of length // n containing all zeros. -func Xsqlite3VdbeMemSetZeroBlob(tls *libc.TLS, pMem uintptr, n int32) { /* sqlite3.c:78691:21: */ +func Xsqlite3VdbeMemSetZeroBlob(tls *libc.TLS, pMem uintptr, n int32) { /* sqlite3.c:78704:21: */ Xsqlite3VdbeMemRelease(tls, pMem) (*Mem)(unsafe.Pointer(pMem)).Fflags = U16(MEM_Blob | MEM_Zero) (*Mem)(unsafe.Pointer(pMem)).Fn = 0 @@ -55048,7 +55067,7 @@ func Xsqlite3VdbeMemSetZeroBlob(tls *libc.TLS, pMem uintptr, n int32) { /* sqlit // The pMem is known to contain content that needs to be destroyed prior // to a value change. So invoke the destructor, then set the value to // a 64-bit integer. -func vdbeReleaseAndSetInt64(tls *libc.TLS, pMem uintptr, val I64) { /* sqlite3.c:78721:29: */ +func vdbeReleaseAndSetInt64(tls *libc.TLS, pMem uintptr, val I64) { /* sqlite3.c:78734:29: */ Xsqlite3VdbeMemSetNull(tls, pMem) *(*I64)(unsafe.Pointer(pMem)) = val (*Mem)(unsafe.Pointer(pMem)).Fflags = U16(MEM_Int) @@ -55056,7 +55075,7 @@ func vdbeReleaseAndSetInt64(tls *libc.TLS, pMem uintptr, val I64) { /* sqlite3.c // Delete any previous value and set the value stored in *pMem to val, // manifest type INTEGER. -func Xsqlite3VdbeMemSetInt64(tls *libc.TLS, pMem uintptr, val I64) { /* sqlite3.c:78731:21: */ +func Xsqlite3VdbeMemSetInt64(tls *libc.TLS, pMem uintptr, val I64) { /* sqlite3.c:78744:21: */ if int32((*Mem)(unsafe.Pointer(pMem)).Fflags)&(MEM_Agg|MEM_Dyn) != 0 { vdbeReleaseAndSetInt64(tls, pMem, val) } else { @@ -55066,13 +55085,13 @@ func Xsqlite3VdbeMemSetInt64(tls *libc.TLS, pMem uintptr, val I64) { /* sqlite3. } // A no-op destructor -func Xsqlite3NoopDestructor(tls *libc.TLS, p uintptr) { /* sqlite3.c:78741:21: */ +func Xsqlite3NoopDestructor(tls *libc.TLS, p uintptr) { /* sqlite3.c:78754:21: */ _ = p } // Set the value stored in *pMem should already be a NULL. // Also store a pointer to go with it. -func Xsqlite3VdbeMemSetPointer(tls *libc.TLS, pMem uintptr, pPtr uintptr, zPType uintptr, xDestructor uintptr) { /* sqlite3.c:78747:21: */ +func Xsqlite3VdbeMemSetPointer(tls *libc.TLS, pMem uintptr, pPtr uintptr, zPType uintptr, xDestructor uintptr) { /* sqlite3.c:78760:21: */ vdbeMemClear(tls, pMem) *(*uintptr)(unsafe.Pointer(pMem)) = func() uintptr { @@ -55094,7 +55113,7 @@ func Xsqlite3VdbeMemSetPointer(tls *libc.TLS, pMem uintptr, pPtr uintptr, zPType // Delete any previous value and set the value stored in *pMem to val, // manifest type REAL. -func Xsqlite3VdbeMemSetDouble(tls *libc.TLS, pMem uintptr, val float64) { /* sqlite3.c:78767:21: */ +func Xsqlite3VdbeMemSetDouble(tls *libc.TLS, pMem uintptr, val float64) { /* sqlite3.c:78780:21: */ Xsqlite3VdbeMemSetNull(tls, pMem) if !(Xsqlite3IsNaN(tls, val) != 0) { *(*float64)(unsafe.Pointer(pMem)) = val @@ -55107,7 +55126,7 @@ func Xsqlite3VdbeMemSetDouble(tls *libc.TLS, pMem uintptr, val float64) { /* sql // // Return SQLITE_OK on success and SQLITE_NOMEM if a memory allocation // error occurs. -func Xsqlite3VdbeMemSetRowSet(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c:78794:20: */ +func Xsqlite3VdbeMemSetRowSet(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c:78807:20: */ var db uintptr = (*Mem)(unsafe.Pointer(pMem)).Fdb var p uintptr @@ -55124,7 +55143,7 @@ func Xsqlite3VdbeMemSetRowSet(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c: // Return true if the Mem object contains a TEXT or BLOB that is // too large - whose size exceeds SQLITE_MAX_LENGTH. -func Xsqlite3VdbeMemTooBig(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:78812:20: */ +func Xsqlite3VdbeMemTooBig(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:78825:20: */ if int32((*Mem)(unsafe.Pointer(p)).Fflags)&(MEM_Str|MEM_Blob) != 0 { var n int32 = (*Mem)(unsafe.Pointer(p)).Fn @@ -55140,13 +55159,13 @@ func Xsqlite3VdbeMemTooBig(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:78812: // pTo are freed. The pFrom->z field is not duplicated. If // pFrom->z is used, then pTo->z points to the same thing as pFrom->z // and flags gets srcType (either MEM_Ephem or MEM_Static). -func vdbeClrCopy(tls *libc.TLS, pTo uintptr, pFrom uintptr, eType int32) { /* sqlite3.c:78868:29: */ +func vdbeClrCopy(tls *libc.TLS, pTo uintptr, pFrom uintptr, eType int32) { /* sqlite3.c:78881:29: */ vdbeMemClearExternAndSetNull(tls, pTo) Xsqlite3VdbeMemShallowCopy(tls, pTo, pFrom, eType) } -func Xsqlite3VdbeMemShallowCopy(tls *libc.TLS, pTo uintptr, pFrom uintptr, srcType int32) { /* sqlite3.c:78873:21: */ +func Xsqlite3VdbeMemShallowCopy(tls *libc.TLS, pTo uintptr, pFrom uintptr, srcType int32) { /* sqlite3.c:78886:21: */ if int32((*Mem)(unsafe.Pointer(pTo)).Fflags)&(MEM_Agg|MEM_Dyn) != 0 { vdbeClrCopy(tls, pTo, pFrom, srcType) @@ -55162,7 +55181,7 @@ func Xsqlite3VdbeMemShallowCopy(tls *libc.TLS, pTo uintptr, pFrom uintptr, srcTy // Make a full copy of pFrom into pTo. Prior contents of pTo are // freed before the copy is made. -func Xsqlite3VdbeMemCopy(tls *libc.TLS, pTo uintptr, pFrom uintptr) int32 { /* sqlite3.c:78889:20: */ +func Xsqlite3VdbeMemCopy(tls *libc.TLS, pTo uintptr, pFrom uintptr) int32 { /* sqlite3.c:78902:20: */ var rc int32 = SQLITE_OK if int32((*Mem)(unsafe.Pointer(pTo)).Fflags)&(MEM_Agg|MEM_Dyn) != 0 { @@ -55184,7 +55203,7 @@ func Xsqlite3VdbeMemCopy(tls *libc.TLS, pTo uintptr, pFrom uintptr) int32 { /* s // freed. If pFrom contains ephemeral data, a copy is made. // // pFrom contains an SQL NULL when this routine returns. -func Xsqlite3VdbeMemMove(tls *libc.TLS, pTo uintptr, pFrom uintptr) { /* sqlite3.c:78912:21: */ +func Xsqlite3VdbeMemMove(tls *libc.TLS, pTo uintptr, pFrom uintptr) { /* sqlite3.c:78925:21: */ Xsqlite3VdbeMemRelease(tls, pTo) libc.Xmemcpy(tls, pTo, pFrom, uint32(unsafe.Sizeof(Mem{}))) @@ -55205,7 +55224,7 @@ func Xsqlite3VdbeMemMove(tls *libc.TLS, pTo uintptr, pFrom uintptr) { /* sqlite3 // stored without allocating memory, then it is. If a memory allocation // is required to store the string, then value of pMem is unchanged. In // either case, SQLITE_TOOBIG is returned. -func Xsqlite3VdbeMemSetStr(tls *libc.TLS, pMem uintptr, z uintptr, n I64, enc U8, xDel uintptr) int32 { /* sqlite3.c:78938:20: */ +func Xsqlite3VdbeMemSetStr(tls *libc.TLS, pMem uintptr, z uintptr, n I64, enc U8, xDel uintptr) int32 { /* sqlite3.c:78951:20: */ var nByte I64 = n // New value for pMem->n var iLimit int32 // Maximum allowed string or blob size var flags U16 = U16(0) // New value for pMem->flags @@ -55318,11 +55337,11 @@ func Xsqlite3VdbeMemSetStr(tls *libc.TLS, pMem uintptr, z uintptr, n I64, enc U8 // // If this routine fails for any reason (malloc returns NULL or unable // to read from the disk) then the pMem is left in an inconsistent state. -func Xsqlite3VdbeMemFromBtree(tls *libc.TLS, pCur uintptr, offset U32, amt U32, pMem uintptr) int32 { /* sqlite3.c:79047:20: */ +func Xsqlite3VdbeMemFromBtree(tls *libc.TLS, pCur uintptr, offset U32, amt U32, pMem uintptr) int32 { /* sqlite3.c:79060:20: */ var rc int32 (*Mem)(unsafe.Pointer(pMem)).Fflags = U16(MEM_Null) if Xsqlite3BtreeMaxRecordSize(tls, pCur) < Sqlite3_int64(offset+amt) { - return Xsqlite3CorruptError(tls, 79056) + return Xsqlite3CorruptError(tls, 79069) } if SQLITE_OK == libc.AssignInt32(&rc, Xsqlite3VdbeMemClearAndResize(tls, pMem, int32(amt+U32(1)))) { rc = Xsqlite3BtreePayload(tls, pCur, offset, amt, (*Mem)(unsafe.Pointer(pMem)).Fz) @@ -55337,7 +55356,7 @@ func Xsqlite3VdbeMemFromBtree(tls *libc.TLS, pCur uintptr, offset U32, amt U32, return rc } -func Xsqlite3VdbeMemFromBtreeZeroOffset(tls *libc.TLS, pCur uintptr, amt U32, pMem uintptr) int32 { /* sqlite3.c:79070:20: */ +func Xsqlite3VdbeMemFromBtreeZeroOffset(tls *libc.TLS, pCur uintptr, amt U32, pMem uintptr) int32 { /* sqlite3.c:79083:20: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -55362,7 +55381,7 @@ func Xsqlite3VdbeMemFromBtreeZeroOffset(tls *libc.TLS, pCur uintptr, amt U32, pM // The pVal argument is known to be a value other than NULL. // Convert it into a string with encoding enc and return a pointer // to a zero-terminated version of that string. -func valueToText(tls *libc.TLS, pVal uintptr, enc U8) uintptr { /* sqlite3.c:79102:35: */ +func valueToText(tls *libc.TLS, pVal uintptr, enc U8) uintptr { /* sqlite3.c:79115:35: */ if int32((*Sqlite3_value)(unsafe.Pointer(pVal)).Fflags)&(MEM_Blob|MEM_Str) != 0 { if func() int32 { @@ -55407,7 +55426,7 @@ func valueToText(tls *libc.TLS, pVal uintptr, enc U8) uintptr { /* sqlite3.c:791 // (2006-02-16:) The enc value can be or-ed with SQLITE_UTF16_ALIGNED. // If that is the case, then the result must be aligned on an even byte // boundary. -func Xsqlite3ValueText(tls *libc.TLS, pVal uintptr, enc U8) uintptr { /* sqlite3.c:79145:27: */ +func Xsqlite3ValueText(tls *libc.TLS, pVal uintptr, enc U8) uintptr { /* sqlite3.c:79158:27: */ if !(pVal != 0) { return uintptr(0) } @@ -55423,7 +55442,7 @@ func Xsqlite3ValueText(tls *libc.TLS, pVal uintptr, enc U8) uintptr { /* sqlite3 } // Create a new sqlite3_value object. -func Xsqlite3ValueNew(tls *libc.TLS, db uintptr) uintptr { /* sqlite3.c:79163:30: */ +func Xsqlite3ValueNew(tls *libc.TLS, db uintptr) uintptr { /* sqlite3.c:79176:30: */ var p uintptr = Xsqlite3DbMallocZero(tls, db, uint64(unsafe.Sizeof(Mem{}))) if p != 0 { (*Mem)(unsafe.Pointer(p)).Fflags = U16(MEM_Null) @@ -55439,7 +55458,7 @@ type ValueNewStat4Ctx = struct { FpIdx uintptr FppRec uintptr FiVal int32 -} /* sqlite3.c:79176:1 */ +} /* sqlite3.c:79189:1 */ // Allocate and return a pointer to a new sqlite3_value object. If // the second argument to this function is NULL, the object is allocated @@ -55450,7 +55469,7 @@ type ValueNewStat4Ctx = struct { // already been allocated, allocate the UnpackedRecord structure that // that function will return to its caller here. Then return a pointer to // an sqlite3_value within the UnpackedRecord.a[] array. -func valueNew(tls *libc.TLS, db uintptr, p uintptr) uintptr { /* sqlite3.c:79194:22: */ +func valueNew(tls *libc.TLS, db uintptr, p uintptr) uintptr { /* sqlite3.c:79207:22: */ if p != 0 { var pRec uintptr = *(*uintptr)(unsafe.Pointer((*ValueNewStat4Ctx)(unsafe.Pointer(p)).FppRec)) @@ -55506,7 +55525,7 @@ func valueNew(tls *libc.TLS, db uintptr, p uintptr) uintptr { /* sqlite3.c:79194 // If the conditions above are not met, this function returns SQLITE_OK // and sets (*ppVal) to NULL. Or, if an error occurs, (*ppVal) is set to // NULL and an SQLite error code returned. -func valueFromFunction(tls *libc.TLS, db uintptr, p uintptr, enc U8, aff U8, ppVal uintptr, pCtx uintptr) int32 { /* sqlite3.c:79256:12: */ +func valueFromFunction(tls *libc.TLS, db uintptr, p uintptr, enc U8, aff U8, ppVal uintptr, pCtx uintptr) int32 { /* sqlite3.c:79269:12: */ bp := tls.Alloc(40) defer tls.Free(40) @@ -55652,7 +55671,7 @@ __14: // has been allocated, it is freed before returning. Or, if pCtx is not // NULL, it is assumed that the caller will free any allocated object // in all cases. -func valueFromExpr(tls *libc.TLS, db uintptr, pExpr uintptr, enc U8, affinity U8, ppVal uintptr, pCtx uintptr) int32 { /* sqlite3.c:79352:12: */ +func valueFromExpr(tls *libc.TLS, db uintptr, pExpr uintptr, enc U8, affinity U8, ppVal uintptr, pCtx uintptr) int32 { /* sqlite3.c:79365:12: */ bp := tls.Alloc(20) defer tls.Free(20) @@ -55900,7 +55919,7 @@ __35: // a pointer written to *ppVal. The caller is responsible for deallocating // the value by passing it to sqlite3ValueFree() later on. If the expression // cannot be converted to a value, then *ppVal is set to NULL. -func Xsqlite3ValueFromExpr(tls *libc.TLS, db uintptr, pExpr uintptr, enc U8, affinity U8, ppVal uintptr) int32 { /* sqlite3.c:79507:20: */ +func Xsqlite3ValueFromExpr(tls *libc.TLS, db uintptr, pExpr uintptr, enc U8, affinity U8, ppVal uintptr) int32 { /* sqlite3.c:79520:20: */ if pExpr != 0 { return valueFromExpr(tls, db, pExpr, enc, affinity, ppVal, uintptr(0)) } @@ -55923,7 +55942,7 @@ func Xsqlite3ValueFromExpr(tls *libc.TLS, db uintptr, pExpr uintptr, enc U8, aff // // On success, *ppVal is made to point to the extracted value. The caller // is responsible for ensuring that the value is eventually freed. -func stat4ValueFromExpr(tls *libc.TLS, pParse uintptr, pExpr uintptr, affinity U8, pAlloc uintptr, ppVal uintptr) int32 { /* sqlite3.c:79536:12: */ +func stat4ValueFromExpr(tls *libc.TLS, pParse uintptr, pExpr uintptr, affinity U8, pAlloc uintptr, ppVal uintptr) int32 { /* sqlite3.c:79549:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -55991,7 +56010,7 @@ func stat4ValueFromExpr(tls *libc.TLS, pParse uintptr, pExpr uintptr, affinity U // Unless an error is encountered, SQLITE_OK is returned. It is not an // error if a value cannot be extracted from pExpr. If an error does // occur, an SQLite error code is returned. -func Xsqlite3Stat4ProbeSetValue(tls *libc.TLS, pParse uintptr, pIdx uintptr, ppRec uintptr, pExpr uintptr, nElem int32, iVal int32, pnExtract uintptr) int32 { /* sqlite3.c:79611:20: */ +func Xsqlite3Stat4ProbeSetValue(tls *libc.TLS, pParse uintptr, pIdx uintptr, ppRec uintptr, pExpr uintptr, nElem int32, iVal int32, pnExtract uintptr) int32 { /* sqlite3.c:79624:20: */ bp := tls.Alloc(20) defer tls.Free(20) @@ -56036,7 +56055,7 @@ func Xsqlite3Stat4ProbeSetValue(tls *libc.TLS, pParse uintptr, pIdx uintptr, ppR // (e.g. OOM), return SQLITE_OK and set *ppVal to NULL. Or, if an error // does occur, return an SQLite error code. The final value of *ppVal // is undefined in this case. -func Xsqlite3Stat4ValueFromExpr(tls *libc.TLS, pParse uintptr, pExpr uintptr, affinity U8, ppVal uintptr) int32 { /* sqlite3.c:79656:20: */ +func Xsqlite3Stat4ValueFromExpr(tls *libc.TLS, pParse uintptr, pExpr uintptr, affinity U8, ppVal uintptr) int32 { /* sqlite3.c:79669:20: */ return stat4ValueFromExpr(tls, pParse, pExpr, affinity, uintptr(0), ppVal) } @@ -56046,7 +56065,7 @@ func Xsqlite3Stat4ValueFromExpr(tls *libc.TLS, pParse uintptr, pExpr uintptr, af // // If *ppVal is initially NULL then the caller is responsible for // ensuring that the value written into *ppVal is eventually freed. -func Xsqlite3Stat4Column(tls *libc.TLS, db uintptr, pRec uintptr, nRec int32, iCol int32, ppVal uintptr) int32 { /* sqlite3.c:79673:20: */ +func Xsqlite3Stat4Column(tls *libc.TLS, db uintptr, pRec uintptr, nRec int32, iCol int32, ppVal uintptr) int32 { /* sqlite3.c:79686:20: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -56067,7 +56086,7 @@ func Xsqlite3Stat4Column(tls *libc.TLS, db uintptr, pRec uintptr, nRec int32, iC return Xsqlite3GetVarint32(tls, a, bp) }()) if *(*int32)(unsafe.Pointer(bp)) > nRec || iHdr >= *(*int32)(unsafe.Pointer(bp)) { - return Xsqlite3CorruptError(tls, 79691) + return Xsqlite3CorruptError(tls, 79704) } iField = *(*int32)(unsafe.Pointer(bp /* nHdr */)) for i = 0; i <= iCol; i++ { @@ -56082,14 +56101,14 @@ func Xsqlite3Stat4Column(tls *libc.TLS, db uintptr, pRec uintptr, nRec int32, iC }()) if iHdr > *(*int32)(unsafe.Pointer(bp)) { - return Xsqlite3CorruptError(tls, 79697) + return Xsqlite3CorruptError(tls, 79710) } szField = int32(Xsqlite3VdbeSerialTypeLen(tls, *(*U32)(unsafe.Pointer(bp + 4 /* t */)))) iField = iField + szField } if iField > nRec { - return Xsqlite3CorruptError(tls, 79703) + return Xsqlite3CorruptError(tls, 79716) } if pMem == uintptr(0) { pMem = libc.AssignPtrUintptr(ppVal, Xsqlite3ValueNew(tls, db)) @@ -56105,7 +56124,7 @@ func Xsqlite3Stat4Column(tls *libc.TLS, db uintptr, pRec uintptr, nRec int32, iC // Unless it is NULL, the argument must be an UnpackedRecord object returned // by an earlier call to sqlite3Stat4ProbeSetValue(). This call deletes // the object. -func Xsqlite3Stat4ProbeFree(tls *libc.TLS, pRec uintptr) { /* sqlite3.c:79718:21: */ +func Xsqlite3Stat4ProbeFree(tls *libc.TLS, pRec uintptr) { /* sqlite3.c:79731:21: */ if pRec != 0 { var i int32 var nCol int32 = int32((*KeyInfo)(unsafe.Pointer((*UnpackedRecord)(unsafe.Pointer(pRec)).FpKeyInfo)).FnAllField) @@ -56120,14 +56139,14 @@ func Xsqlite3Stat4ProbeFree(tls *libc.TLS, pRec uintptr) { /* sqlite3.c:79718:21 } // Change the string value of an sqlite3_value object -func Xsqlite3ValueSetStr(tls *libc.TLS, v uintptr, n int32, z uintptr, enc U8, xDel uintptr) { /* sqlite3.c:79736:21: */ +func Xsqlite3ValueSetStr(tls *libc.TLS, v uintptr, n int32, z uintptr, enc U8, xDel uintptr) { /* sqlite3.c:79749:21: */ if v != 0 { Xsqlite3VdbeMemSetStr(tls, v, z, int64(n), enc, xDel) } } // Free an sqlite3_value object -func Xsqlite3ValueFree(tls *libc.TLS, v uintptr) { /* sqlite3.c:79749:21: */ +func Xsqlite3ValueFree(tls *libc.TLS, v uintptr) { /* sqlite3.c:79762:21: */ if !(v != 0) { return } @@ -56138,14 +56157,14 @@ func Xsqlite3ValueFree(tls *libc.TLS, v uintptr) { /* sqlite3.c:79749:21: */ // The sqlite3ValueBytes() routine returns the number of bytes in the // sqlite3_value object assuming that it uses the encoding "enc". // The valueBytes() routine is a helper function. -func valueBytes(tls *libc.TLS, pVal uintptr, enc U8) int32 { /* sqlite3.c:79760:28: */ +func valueBytes(tls *libc.TLS, pVal uintptr, enc U8) int32 { /* sqlite3.c:79773:28: */ if valueToText(tls, pVal, enc) != uintptr(0) { return (*Sqlite3_value)(unsafe.Pointer(pVal)).Fn } return 0 } -func Xsqlite3ValueBytes(tls *libc.TLS, pVal uintptr, enc U8) int32 { /* sqlite3.c:79763:20: */ +func Xsqlite3ValueBytes(tls *libc.TLS, pVal uintptr, enc U8) int32 { /* sqlite3.c:79776:20: */ var p uintptr = pVal if int32((*Mem)(unsafe.Pointer(p)).Fflags)&MEM_Str != 0 && int32((*Sqlite3_value)(unsafe.Pointer(pVal)).Fenc) == int32(enc) { @@ -56165,7 +56184,7 @@ func Xsqlite3ValueBytes(tls *libc.TLS, pVal uintptr, enc U8) int32 { /* sqlite3. } // Create a new virtual database engine. -func Xsqlite3VdbeCreate(tls *libc.TLS, pParse uintptr) uintptr { /* sqlite3.c:79806:21: */ +func Xsqlite3VdbeCreate(tls *libc.TLS, pParse uintptr) uintptr { /* sqlite3.c:79819:21: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb var p uintptr p = Xsqlite3DbMallocRawNN(tls, db, uint64(unsafe.Sizeof(Vdbe{}))) @@ -56189,12 +56208,12 @@ func Xsqlite3VdbeCreate(tls *libc.TLS, pParse uintptr) uintptr { /* sqlite3.c:79 } // Return the Parse object that owns a Vdbe object. -func Xsqlite3VdbeParser(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:79833:22: */ +func Xsqlite3VdbeParser(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:79846:22: */ return (*Vdbe)(unsafe.Pointer(p)).FpParse } // Change the error string stored in Vdbe.zErrMsg -func Xsqlite3VdbeError(tls *libc.TLS, p uintptr, zFormat uintptr, va uintptr) { /* sqlite3.c:79840:21: */ +func Xsqlite3VdbeError(tls *libc.TLS, p uintptr, zFormat uintptr, va uintptr) { /* sqlite3.c:79853:21: */ var ap Va_list _ = ap Xsqlite3DbFree(tls, (*Vdbe)(unsafe.Pointer(p)).Fdb, (*Vdbe)(unsafe.Pointer(p)).FzErrMsg) @@ -56204,7 +56223,7 @@ func Xsqlite3VdbeError(tls *libc.TLS, p uintptr, zFormat uintptr, va uintptr) { } // Remember the SQL string for a prepared statement. -func Xsqlite3VdbeSetSql(tls *libc.TLS, p uintptr, z uintptr, n int32, prepFlags U8) { /* sqlite3.c:79851:21: */ +func Xsqlite3VdbeSetSql(tls *libc.TLS, p uintptr, z uintptr, n int32, prepFlags U8) { /* sqlite3.c:79864:21: */ if p == uintptr(0) { return } @@ -56217,7 +56236,7 @@ func Xsqlite3VdbeSetSql(tls *libc.TLS, p uintptr, z uintptr, n int32, prepFlags } // Swap all content between two VDBE structures. -func Xsqlite3VdbeSwap(tls *libc.TLS, pA uintptr, pB uintptr) { /* sqlite3.c:79901:21: */ +func Xsqlite3VdbeSwap(tls *libc.TLS, pA uintptr, pB uintptr) { /* sqlite3.c:79914:21: */ var tmp Vdbe var pTmp uintptr var zTmp uintptr @@ -56248,7 +56267,7 @@ func Xsqlite3VdbeSwap(tls *libc.TLS, pA uintptr, pB uintptr) { /* sqlite3.c:7990 // SQLITE_NOMEM. In this case Vdbe.aOp and Vdbe.nOpAlloc remain // unchanged (this is so that any opcodes already allocated can be // correctly deallocated along with the rest of the Vdbe). -func growOpArray(tls *libc.TLS, v uintptr, nOp int32) int32 { /* sqlite3.c:79938:12: */ +func growOpArray(tls *libc.TLS, v uintptr, nOp int32) int32 { /* sqlite3.c:79951:12: */ var pNew uintptr var p uintptr = (*Vdbe)(unsafe.Pointer(v)).FpParse @@ -56301,7 +56320,7 @@ func growOpArray(tls *libc.TLS, v uintptr, nOp int32) int32 { /* sqlite3.c:79938 // Use the sqlite3VdbeResolveLabel() function to fix an address and // the sqlite3VdbeChangeP4() function to change the value of the P4 // operand. -func growOp3(tls *libc.TLS, p uintptr, op int32, p1 int32, p2 int32, p3 int32) int32 { /* sqlite3.c:80009:28: */ +func growOp3(tls *libc.TLS, p uintptr, op int32, p1 int32, p2 int32, p3 int32) int32 { /* sqlite3.c:80022:28: */ if growOpArray(tls, p, 1) != 0 { return 1 @@ -56310,7 +56329,7 @@ func growOp3(tls *libc.TLS, p uintptr, op int32, p1 int32, p2 int32, p3 int32) i return Xsqlite3VdbeAddOp3(tls, p, op, p1, p2, p3) } -func Xsqlite3VdbeAddOp3(tls *libc.TLS, p uintptr, op int32, p1 int32, p2 int32, p3 int32) int32 { /* sqlite3.c:80015:20: */ +func Xsqlite3VdbeAddOp3(tls *libc.TLS, p uintptr, op int32, p1 int32, p2 int32, p3 int32) int32 { /* sqlite3.c:80028:20: */ var i int32 var pOp uintptr @@ -56333,26 +56352,26 @@ func Xsqlite3VdbeAddOp3(tls *libc.TLS, p uintptr, op int32, p1 int32, p2 int32, return i } -func Xsqlite3VdbeAddOp0(tls *libc.TLS, p uintptr, op int32) int32 { /* sqlite3.c:80054:20: */ +func Xsqlite3VdbeAddOp0(tls *libc.TLS, p uintptr, op int32) int32 { /* sqlite3.c:80067:20: */ return Xsqlite3VdbeAddOp3(tls, p, op, 0, 0, 0) } -func Xsqlite3VdbeAddOp1(tls *libc.TLS, p uintptr, op int32, p1 int32) int32 { /* sqlite3.c:80057:20: */ +func Xsqlite3VdbeAddOp1(tls *libc.TLS, p uintptr, op int32, p1 int32) int32 { /* sqlite3.c:80070:20: */ return Xsqlite3VdbeAddOp3(tls, p, op, p1, 0, 0) } -func Xsqlite3VdbeAddOp2(tls *libc.TLS, p uintptr, op int32, p1 int32, p2 int32) int32 { /* sqlite3.c:80060:20: */ +func Xsqlite3VdbeAddOp2(tls *libc.TLS, p uintptr, op int32, p1 int32, p2 int32) int32 { /* sqlite3.c:80073:20: */ return Xsqlite3VdbeAddOp3(tls, p, op, p1, p2, 0) } // Generate code for an unconditional jump to instruction iDest -func Xsqlite3VdbeGoto(tls *libc.TLS, p uintptr, iDest int32) int32 { /* sqlite3.c:80066:20: */ +func Xsqlite3VdbeGoto(tls *libc.TLS, p uintptr, iDest int32) int32 { /* sqlite3.c:80079:20: */ return Xsqlite3VdbeAddOp3(tls, p, OP_Goto, 0, iDest, 0) } // Generate code to cause the string zStr to be loaded into // register iDest -func Xsqlite3VdbeLoadString(tls *libc.TLS, p uintptr, iDest int32, zStr uintptr) int32 { /* sqlite3.c:80073:20: */ +func Xsqlite3VdbeLoadString(tls *libc.TLS, p uintptr, iDest int32, zStr uintptr) int32 { /* sqlite3.c:80086:20: */ return Xsqlite3VdbeAddOp4(tls, p, OP_String8, 0, iDest, 0, zStr, 0) } @@ -56365,7 +56384,7 @@ func Xsqlite3VdbeLoadString(tls *libc.TLS, p uintptr, iDest int32, zStr uintptr) // // If the input string does not end with "X" then an OP_ResultRow instruction // is generated for the values inserted. -func Xsqlite3VdbeMultiLoad(tls *libc.TLS, p uintptr, iDest int32, zTypes uintptr, va uintptr) { /* sqlite3.c:80088:21: */ +func Xsqlite3VdbeMultiLoad(tls *libc.TLS, p uintptr, iDest int32, zTypes uintptr, va uintptr) { /* sqlite3.c:80101:21: */ var ap Va_list _ = ap var i int32 @@ -56413,7 +56432,7 @@ skip_op_resultrow: } // Add an opcode that includes the p4 value as a pointer. -func Xsqlite3VdbeAddOp4(tls *libc.TLS, p uintptr, op int32, p1 int32, p2 int32, p3 int32, zP4 uintptr, p4type int32) int32 { /* sqlite3.c:80111:20: */ +func Xsqlite3VdbeAddOp4(tls *libc.TLS, p uintptr, op int32, p1 int32, p2 int32, p3 int32, zP4 uintptr, p4type int32) int32 { /* sqlite3.c:80124:20: */ var addr int32 = Xsqlite3VdbeAddOp3(tls, p, op, p1, p2, p3) Xsqlite3VdbeChangeP4(tls, p, addr, zP4, p4type) return addr @@ -56427,7 +56446,7 @@ func Xsqlite3VdbeAddOp4(tls *libc.TLS, p uintptr, op int32, p1 int32, p2 int32, // NC_IdxExpr means called as part of an index expression. NC_PartIdx // means in the WHERE clause of a partial index. NC_GenCol means called // while computing a generated column value. 0 is the usual case. -func Xsqlite3VdbeAddFunctionCall(tls *libc.TLS, pParse uintptr, p1 int32, p2 int32, p3 int32, nArg int32, pFunc uintptr, eCallCtx int32) int32 { /* sqlite3.c:80135:20: */ +func Xsqlite3VdbeAddFunctionCall(tls *libc.TLS, pParse uintptr, p1 int32, p2 int32, p3 int32, nArg int32, pFunc uintptr, eCallCtx int32) int32 { /* sqlite3.c:80148:20: */ var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe var nByte int32 var addr int32 @@ -56459,7 +56478,7 @@ func Xsqlite3VdbeAddFunctionCall(tls *libc.TLS, pParse uintptr, p1 int32, p2 int // Add an opcode that includes the p4 value with a P4_INT64 or // P4_REAL type. -func Xsqlite3VdbeAddOp4Dup8(tls *libc.TLS, p uintptr, op int32, p1 int32, p2 int32, p3 int32, zP4 uintptr, p4type int32) int32 { /* sqlite3.c:80172:20: */ +func Xsqlite3VdbeAddOp4Dup8(tls *libc.TLS, p uintptr, op int32, p1 int32, p2 int32, p3 int32, zP4 uintptr, p4type int32) int32 { /* sqlite3.c:80185:20: */ var p4copy uintptr = Xsqlite3DbMallocRawNN(tls, Xsqlite3VdbeDb(tls, p), uint64(8)) if p4copy != 0 { libc.Xmemcpy(tls, p4copy, zP4, uint32(8)) @@ -56469,7 +56488,7 @@ func Xsqlite3VdbeAddOp4Dup8(tls *libc.TLS, p uintptr, op int32, p1 int32, p2 int // Return the address of the current EXPLAIN QUERY PLAN baseline. // 0 means "none". -func Xsqlite3VdbeExplainParent(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:80191:20: */ +func Xsqlite3VdbeExplainParent(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:80204:20: */ var pOp uintptr if (*Parse)(unsafe.Pointer(pParse)).FaddrExplain == 0 { return 0 @@ -56485,7 +56504,7 @@ func Xsqlite3VdbeExplainParent(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3 // // If the bPush flag is true, then make this opcode the parent for // subsequent Explains until sqlite3VdbeExplainPop() is called. -func Xsqlite3VdbeExplain(tls *libc.TLS, pParse uintptr, bPush U8, zFmt uintptr, va uintptr) { /* sqlite3.c:80215:21: */ +func Xsqlite3VdbeExplain(tls *libc.TLS, pParse uintptr, bPush U8, zFmt uintptr, va uintptr) { /* sqlite3.c:80228:21: */ // Always include the OP_Explain opcodes if SQLITE_DEBUG is defined. // But omit them (for performance) during production builds if int32((*Parse)(unsafe.Pointer(pParse)).Fexplain) == 2 { @@ -56509,7 +56528,7 @@ func Xsqlite3VdbeExplain(tls *libc.TLS, pParse uintptr, bPush U8, zFmt uintptr, } // Pop the EXPLAIN QUERY PLAN stack one level. -func Xsqlite3VdbeExplainPop(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:80243:21: */ +func Xsqlite3VdbeExplainPop(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:80256:21: */ (*Parse)(unsafe.Pointer(pParse)).FaddrExplain = Xsqlite3VdbeExplainParent(tls, pParse) } @@ -56520,7 +56539,7 @@ func Xsqlite3VdbeExplainPop(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:80243: // // The zWhere string must have been obtained from sqlite3_malloc(). // This routine will take ownership of the allocated memory. -func Xsqlite3VdbeAddParseSchemaOp(tls *libc.TLS, p uintptr, iDb int32, zWhere uintptr, p5 U16) { /* sqlite3.c:80257:21: */ +func Xsqlite3VdbeAddParseSchemaOp(tls *libc.TLS, p uintptr, iDb int32, zWhere uintptr, p5 U16) { /* sqlite3.c:80270:21: */ var j int32 Xsqlite3VdbeAddOp4(tls, p, OP_ParseSchema, iDb, 0, 0, zWhere, -7) Xsqlite3VdbeChangeP5(tls, p, p5) @@ -56531,7 +56550,7 @@ func Xsqlite3VdbeAddParseSchemaOp(tls *libc.TLS, p uintptr, iDb int32, zWhere ui } // Add an opcode that includes the p4 value as an integer. -func Xsqlite3VdbeAddOp4Int(tls *libc.TLS, p uintptr, op int32, p1 int32, p2 int32, p3 int32, p4 int32) int32 { /* sqlite3.c:80268:20: */ +func Xsqlite3VdbeAddOp4Int(tls *libc.TLS, p uintptr, op int32, p1 int32, p2 int32, p3 int32, p4 int32) int32 { /* sqlite3.c:80281:20: */ var addr int32 = Xsqlite3VdbeAddOp3(tls, p, op, p1, p2, p3) if int32((*Sqlite3)(unsafe.Pointer((*Vdbe)(unsafe.Pointer(p)).Fdb)).FmallocFailed) == 0 { var pOp uintptr = (*Vdbe)(unsafe.Pointer(p)).FaOp + uintptr(addr)*20 @@ -56542,7 +56561,7 @@ func Xsqlite3VdbeAddOp4Int(tls *libc.TLS, p uintptr, op int32, p1 int32, p2 int3 } // Insert the end of a co-routine -func Xsqlite3VdbeEndCoroutine(tls *libc.TLS, v uintptr, regYield int32) { /* sqlite3.c:80287:21: */ +func Xsqlite3VdbeEndCoroutine(tls *libc.TLS, v uintptr, regYield int32) { /* sqlite3.c:80300:21: */ Xsqlite3VdbeAddOp1(tls, v, OP_EndCoroutine, regYield) // Clear the temporary register cache, thereby ensuring that each @@ -56577,14 +56596,14 @@ func Xsqlite3VdbeEndCoroutine(tls *libc.TLS, v uintptr, regYield int32) { /* sql // been issued. The negative is stored because // that gives a performance improvement over storing // the equivalent positive value. -func Xsqlite3VdbeMakeLabel(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:80325:20: */ +func Xsqlite3VdbeMakeLabel(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:80338:20: */ return libc.PreDecInt32(&(*Parse)(unsafe.Pointer(pParse)).FnLabel, 1) } // Resolve label "x" to be the address of the next instruction to // be inserted. The parameter "x" must have been obtained from // a prior call to sqlite3VdbeMakeLabel(). -func resizeResolveLabel(tls *libc.TLS, p uintptr, v uintptr, j int32) { /* sqlite3.c:80334:29: */ +func resizeResolveLabel(tls *libc.TLS, p uintptr, v uintptr, j int32) { /* sqlite3.c:80347:29: */ var nNewSize int32 = 10 - (*Parse)(unsafe.Pointer(p)).FnLabel (*Parse)(unsafe.Pointer(p)).FaLabel = Xsqlite3DbReallocOrFree(tls, (*Parse)(unsafe.Pointer(p)).Fdb, (*Parse)(unsafe.Pointer(p)).FaLabel, uint64(uint32(nNewSize)*uint32(unsafe.Sizeof(int32(0))))) @@ -56596,7 +56615,7 @@ func resizeResolveLabel(tls *libc.TLS, p uintptr, v uintptr, j int32) { /* sqlit } } -func Xsqlite3VdbeResolveLabel(tls *libc.TLS, v uintptr, x int32) { /* sqlite3.c:80349:21: */ +func Xsqlite3VdbeResolveLabel(tls *libc.TLS, v uintptr, x int32) { /* sqlite3.c:80362:21: */ var p uintptr = (*Vdbe)(unsafe.Pointer(v)).FpParse var j int32 = ^x @@ -56609,12 +56628,12 @@ func Xsqlite3VdbeResolveLabel(tls *libc.TLS, v uintptr, x int32) { /* sqlite3.c: } // Mark the VDBE as one that can only be run one time. -func Xsqlite3VdbeRunOnlyOnce(tls *libc.TLS, p uintptr) { /* sqlite3.c:80371:21: */ +func Xsqlite3VdbeRunOnlyOnce(tls *libc.TLS, p uintptr) { /* sqlite3.c:80384:21: */ libc.SetBitFieldPtr16Uint32(p+148, Bft(1), 5, 0x20) } // Mark the VDBE as one that can only be run multiple times. -func Xsqlite3VdbeReusable(tls *libc.TLS, p uintptr) { /* sqlite3.c:80378:21: */ +func Xsqlite3VdbeReusable(tls *libc.TLS, p uintptr) { /* sqlite3.c:80391:21: */ libc.SetBitFieldPtr16Uint32(p+148, Bft(0), 5, 0x20) } @@ -56637,7 +56656,7 @@ func Xsqlite3VdbeReusable(tls *libc.TLS, p uintptr) { /* sqlite3.c:80378:21: */ // This routine will only function correctly if the mkopcodeh.tcl generator // script numbers the opcodes correctly. Changes to this routine must be // coordinated with changes to mkopcodeh.tcl. -func resolveP2Values(tls *libc.TLS, p uintptr, pMaxFuncArgs uintptr) { /* sqlite3.c:80574:13: */ +func resolveP2Values(tls *libc.TLS, p uintptr, pMaxFuncArgs uintptr) { /* sqlite3.c:80587:13: */ var nMaxArgs int32 = *(*int32)(unsafe.Pointer(pMaxFuncArgs)) var pOp uintptr var pParse uintptr = (*Vdbe)(unsafe.Pointer(p)).FpParse @@ -56769,7 +56788,7 @@ func resolveP2Values(tls *libc.TLS, p uintptr, pMaxFuncArgs uintptr) { /* sqlite } // Return the address of the next instruction to be inserted. -func Xsqlite3VdbeCurrentAddr(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:80676:20: */ +func Xsqlite3VdbeCurrentAddr(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:80689:20: */ return (*Vdbe)(unsafe.Pointer(p)).FnOp } @@ -56800,7 +56819,7 @@ func Xsqlite3VdbeCurrentAddr(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:8067 // array. Also, *pnMaxArg is set to the larger of its current value and // the number of entries in the Vdbe.apArg[] array required to execute the // returned program. -func Xsqlite3VdbeTakeOpArray(tls *libc.TLS, p uintptr, pnOp uintptr, pnMaxArg uintptr) uintptr { /* sqlite3.c:80733:23: */ +func Xsqlite3VdbeTakeOpArray(tls *libc.TLS, p uintptr, pnOp uintptr, pnMaxArg uintptr) uintptr { /* sqlite3.c:80746:23: */ var aOp uintptr = (*Vdbe)(unsafe.Pointer(p)).FaOp // Check that sqlite3VdbeUsesBtree() was not called on this VM @@ -56816,7 +56835,7 @@ func Xsqlite3VdbeTakeOpArray(tls *libc.TLS, p uintptr, pnOp uintptr, pnMaxArg ui // // Non-zero P2 arguments to jump instructions are automatically adjusted // so that the jump target is relative to the first operation inserted. -func Xsqlite3VdbeAddOpList(tls *libc.TLS, p uintptr, nOp int32, aOp uintptr, iLineno int32) uintptr { /* sqlite3.c:80753:23: */ +func Xsqlite3VdbeAddOpList(tls *libc.TLS, p uintptr, nOp int32, aOp uintptr, iLineno int32) uintptr { /* sqlite3.c:80766:23: */ var i int32 var pOut uintptr var pFirst uintptr @@ -56860,23 +56879,23 @@ __3: // Change the value of the opcode, or P1, P2, P3, or P5 operands // for a specific instruction. -func Xsqlite3VdbeChangeOpcode(tls *libc.TLS, p uintptr, addr int32, iNewOpcode U8) { /* sqlite3.c:80829:21: */ +func Xsqlite3VdbeChangeOpcode(tls *libc.TLS, p uintptr, addr int32, iNewOpcode U8) { /* sqlite3.c:80842:21: */ (*VdbeOp)(unsafe.Pointer(Xsqlite3VdbeGetOp(tls, p, addr))).Fopcode = iNewOpcode } -func Xsqlite3VdbeChangeP1(tls *libc.TLS, p uintptr, addr int32, val int32) { /* sqlite3.c:80832:21: */ +func Xsqlite3VdbeChangeP1(tls *libc.TLS, p uintptr, addr int32, val int32) { /* sqlite3.c:80845:21: */ (*VdbeOp)(unsafe.Pointer(Xsqlite3VdbeGetOp(tls, p, addr))).Fp1 = val } -func Xsqlite3VdbeChangeP2(tls *libc.TLS, p uintptr, addr int32, val int32) { /* sqlite3.c:80835:21: */ +func Xsqlite3VdbeChangeP2(tls *libc.TLS, p uintptr, addr int32, val int32) { /* sqlite3.c:80848:21: */ (*VdbeOp)(unsafe.Pointer(Xsqlite3VdbeGetOp(tls, p, addr))).Fp2 = val } -func Xsqlite3VdbeChangeP3(tls *libc.TLS, p uintptr, addr int32, val int32) { /* sqlite3.c:80838:21: */ +func Xsqlite3VdbeChangeP3(tls *libc.TLS, p uintptr, addr int32, val int32) { /* sqlite3.c:80851:21: */ (*VdbeOp)(unsafe.Pointer(Xsqlite3VdbeGetOp(tls, p, addr))).Fp3 = val } -func Xsqlite3VdbeChangeP5(tls *libc.TLS, p uintptr, p5 U16) { /* sqlite3.c:80841:21: */ +func Xsqlite3VdbeChangeP5(tls *libc.TLS, p uintptr, p5 U16) { /* sqlite3.c:80854:21: */ if (*Vdbe)(unsafe.Pointer(p)).FnOp > 0 { (*Op)(unsafe.Pointer((*Vdbe)(unsafe.Pointer(p)).FaOp + uintptr((*Vdbe)(unsafe.Pointer(p)).FnOp-1)*20)).Fp5 = p5 @@ -56885,7 +56904,7 @@ func Xsqlite3VdbeChangeP5(tls *libc.TLS, p uintptr, p5 U16) { /* sqlite3.c:80841 // Change the P2 operand of instruction addr so that it points to // the address of the next instruction to be coded. -func Xsqlite3VdbeJumpHere(tls *libc.TLS, p uintptr, addr int32) { /* sqlite3.c:80850:21: */ +func Xsqlite3VdbeJumpHere(tls *libc.TLS, p uintptr, addr int32) { /* sqlite3.c:80863:21: */ Xsqlite3VdbeChangeP2(tls, p, addr, (*Vdbe)(unsafe.Pointer(p)).FnOp) } @@ -56900,7 +56919,7 @@ func Xsqlite3VdbeJumpHere(tls *libc.TLS, p uintptr, addr int32) { /* sqlite3.c:8 // // 7 Once 0 8 0 // 8 ... -func Xsqlite3VdbeJumpHereOrPopInst(tls *libc.TLS, p uintptr, addr int32) { /* sqlite3.c:80867:21: */ +func Xsqlite3VdbeJumpHereOrPopInst(tls *libc.TLS, p uintptr, addr int32) { /* sqlite3.c:80880:21: */ if addr == (*Vdbe)(unsafe.Pointer(p)).FnOp-1 { (*Vdbe)(unsafe.Pointer(p)).FnOp-- @@ -56911,26 +56930,26 @@ func Xsqlite3VdbeJumpHereOrPopInst(tls *libc.TLS, p uintptr, addr int32) { /* sq // If the input FuncDef structure is ephemeral, then free it. If // the FuncDef is not ephermal, then do nothing. -func freeEphemeralFunction(tls *libc.TLS, db uintptr, pDef uintptr) { /* sqlite3.c:80887:13: */ +func freeEphemeralFunction(tls *libc.TLS, db uintptr, pDef uintptr) { /* sqlite3.c:80900:13: */ if (*FuncDef)(unsafe.Pointer(pDef)).FfuncFlags&U32(SQLITE_FUNC_EPHEM) != U32(0) { Xsqlite3DbFreeNN(tls, db, pDef) } } // Delete a P4 value if necessary. -func freeP4Mem(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:80896:29: */ +func freeP4Mem(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:80909:29: */ if (*Mem)(unsafe.Pointer(p)).FszMalloc != 0 { Xsqlite3DbFree(tls, db, (*Mem)(unsafe.Pointer(p)).FzMalloc) } Xsqlite3DbFreeNN(tls, db, p) } -func freeP4FuncCtx(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:80900:29: */ +func freeP4FuncCtx(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:80913:29: */ freeEphemeralFunction(tls, db, (*Sqlite3_context)(unsafe.Pointer(p)).FpFunc) Xsqlite3DbFreeNN(tls, db, p) } -func freeP4(tls *libc.TLS, db uintptr, p4type int32, p4 uintptr) { /* sqlite3.c:80904:13: */ +func freeP4(tls *libc.TLS, db uintptr, p4type int32, p4 uintptr) { /* sqlite3.c:80917:13: */ switch p4type { case -16: @@ -56991,7 +57010,7 @@ func freeP4(tls *libc.TLS, db uintptr, p4type int32, p4 uintptr) { /* sqlite3.c: // Free the space allocated for aOp and any p4 values allocated for the // opcodes contained within. If aOp is not NULL it is assumed to contain // nOp entries. -func vdbeFreeOpArray(tls *libc.TLS, db uintptr, aOp uintptr, nOp int32) { /* sqlite3.c:80953:13: */ +func vdbeFreeOpArray(tls *libc.TLS, db uintptr, aOp uintptr, nOp int32) { /* sqlite3.c:80966:13: */ if aOp != 0 { var pOp uintptr for pOp = aOp + uintptr(nOp-1)*20; pOp >= aOp; pOp -= 20 { @@ -57006,18 +57025,18 @@ func vdbeFreeOpArray(tls *libc.TLS, db uintptr, aOp uintptr, nOp int32) { /* sql // Link the SubProgram object passed as the second argument into the linked // list at Vdbe.pSubProgram. This list is used to delete all sub-program // objects when the VM is no longer required. -func Xsqlite3VdbeLinkSubProgram(tls *libc.TLS, pVdbe uintptr, p uintptr) { /* sqlite3.c:80971:21: */ +func Xsqlite3VdbeLinkSubProgram(tls *libc.TLS, pVdbe uintptr, p uintptr) { /* sqlite3.c:80984:21: */ (*SubProgram)(unsafe.Pointer(p)).FpNext = (*Vdbe)(unsafe.Pointer(pVdbe)).FpProgram (*Vdbe)(unsafe.Pointer(pVdbe)).FpProgram = p } // Return true if the given Vdbe has any SubPrograms. -func Xsqlite3VdbeHasSubProgram(tls *libc.TLS, pVdbe uintptr) int32 { /* sqlite3.c:80979:20: */ +func Xsqlite3VdbeHasSubProgram(tls *libc.TLS, pVdbe uintptr) int32 { /* sqlite3.c:80992:20: */ return libc.Bool32((*Vdbe)(unsafe.Pointer(pVdbe)).FpProgram != uintptr(0)) } // Change the opcode at addr into OP_Noop -func Xsqlite3VdbeChangeToNoop(tls *libc.TLS, p uintptr, addr int32) int32 { /* sqlite3.c:80986:20: */ +func Xsqlite3VdbeChangeToNoop(tls *libc.TLS, p uintptr, addr int32) int32 { /* sqlite3.c:80999:20: */ var pOp uintptr if (*Sqlite3)(unsafe.Pointer((*Vdbe)(unsafe.Pointer(p)).Fdb)).FmallocFailed != 0 { return 0 @@ -57033,7 +57052,7 @@ func Xsqlite3VdbeChangeToNoop(tls *libc.TLS, p uintptr, addr int32) int32 { /* s // If the last opcode is "op" and it is not a jump destination, // then remove it. Return true if and only if an opcode was removed. -func Xsqlite3VdbeDeletePriorOpcode(tls *libc.TLS, p uintptr, op U8) int32 { /* sqlite3.c:81002:20: */ +func Xsqlite3VdbeDeletePriorOpcode(tls *libc.TLS, p uintptr, op U8) int32 { /* sqlite3.c:81015:20: */ if (*Vdbe)(unsafe.Pointer(p)).FnOp > 0 && int32((*Op)(unsafe.Pointer((*Vdbe)(unsafe.Pointer(p)).FaOp+uintptr((*Vdbe)(unsafe.Pointer(p)).FnOp-1)*20)).Fopcode) == int32(op) { return Xsqlite3VdbeChangeToNoop(tls, p, (*Vdbe)(unsafe.Pointer(p)).FnOp-1) } else { @@ -57057,7 +57076,7 @@ func Xsqlite3VdbeDeletePriorOpcode(tls *libc.TLS, p uintptr, op U8) int32 { /* s // the Vdbe. In these cases we can just copy the pointer. // // If addr<0 then change P4 on the most recently inserted instruction. -func vdbeChangeP4Full(tls *libc.TLS, p uintptr, pOp uintptr, zP4 uintptr, n int32) { /* sqlite3.c:81062:29: */ +func vdbeChangeP4Full(tls *libc.TLS, p uintptr, pOp uintptr, zP4 uintptr, n int32) { /* sqlite3.c:81075:29: */ if (*Op)(unsafe.Pointer(pOp)).Fp4type != 0 { freeP4(tls, (*Vdbe)(unsafe.Pointer(p)).Fdb, int32((*Op)(unsafe.Pointer(pOp)).Fp4type), *(*uintptr)(unsafe.Pointer(pOp + 16))) (*Op)(unsafe.Pointer(pOp)).Fp4type = int8(0) @@ -57074,7 +57093,7 @@ func vdbeChangeP4Full(tls *libc.TLS, p uintptr, pOp uintptr, zP4 uintptr, n int3 } } -func Xsqlite3VdbeChangeP4(tls *libc.TLS, p uintptr, addr int32, zP4 uintptr, n int32) { /* sqlite3.c:81081:21: */ +func Xsqlite3VdbeChangeP4(tls *libc.TLS, p uintptr, addr int32, zP4 uintptr, n int32) { /* sqlite3.c:81094:21: */ bp := tls.Alloc(4) defer tls.Free(4) *(*uintptr)(unsafe.Pointer(bp)) = zP4 @@ -57121,7 +57140,7 @@ func Xsqlite3VdbeChangeP4(tls *libc.TLS, p uintptr, addr int32, zP4 uintptr, n i // The P4 operand must not have been previously defined. And the new // P4 must not be P4_INT32. Use sqlite3VdbeChangeP4() in either of // those cases. -func Xsqlite3VdbeAppendP4(tls *libc.TLS, p uintptr, pP4 uintptr, n int32) { /* sqlite3.c:81124:21: */ +func Xsqlite3VdbeAppendP4(tls *libc.TLS, p uintptr, pP4 uintptr, n int32) { /* sqlite3.c:81137:21: */ var pOp uintptr if (*Sqlite3)(unsafe.Pointer((*Vdbe)(unsafe.Pointer(p)).Fdb)).FmallocFailed != 0 { @@ -57137,7 +57156,7 @@ func Xsqlite3VdbeAppendP4(tls *libc.TLS, p uintptr, pP4 uintptr, n int32) { /* s // Set the P4 on the most recently added opcode to the KeyInfo for the // index given. -func Xsqlite3VdbeSetP4KeyInfo(tls *libc.TLS, pParse uintptr, pIdx uintptr) { /* sqlite3.c:81144:21: */ +func Xsqlite3VdbeSetP4KeyInfo(tls *libc.TLS, pParse uintptr, pIdx uintptr) { /* sqlite3.c:81157:21: */ var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe var pKeyInfo uintptr @@ -57158,7 +57177,7 @@ func Xsqlite3VdbeSetP4KeyInfo(tls *libc.TLS, pParse uintptr, pIdx uintptr) { /* // this routine is a valid pointer. But because the dummy.opcode is 0, // dummy will never be written to. This is verified by code inspection and // by running with Valgrind. -func Xsqlite3VdbeGetOp(tls *libc.TLS, p uintptr, addr int32) uintptr { /* sqlite3.c:81210:23: */ // Ignore the MSVC warning about no initializer +func Xsqlite3VdbeGetOp(tls *libc.TLS, p uintptr, addr int32) uintptr { /* sqlite3.c:81223:23: */ // Ignore the MSVC warning about no initializer if addr < 0 { addr = (*Vdbe)(unsafe.Pointer(p)).FnOp - 1 @@ -57172,11 +57191,11 @@ func Xsqlite3VdbeGetOp(tls *libc.TLS, p uintptr, addr int32) uintptr { /* sqlite return uintptr(0) } -var dummy VdbeOp /* sqlite3.c:81213:17: */ +var dummy VdbeOp /* sqlite3.c:81226:17: */ // Compute a string that describes the P4 parameter for an opcode. // Use zTemp for any required temporary buffer space. -func Xsqlite3VdbeDisplayP4(tls *libc.TLS, db uintptr, pOp uintptr) uintptr { /* sqlite3.c:81414:21: */ +func Xsqlite3VdbeDisplayP4(tls *libc.TLS, db uintptr, pOp uintptr) uintptr { /* sqlite3.c:81427:21: */ bp := tls.Alloc(168) defer tls.Free(168) @@ -57339,7 +57358,7 @@ func Xsqlite3VdbeDisplayP4(tls *libc.TLS, db uintptr, pOp uintptr) uintptr { /* return Xsqlite3StrAccumFinish(tls, bp+144) } -var encnames = [4]uintptr{ts + 4952, ts + 4954, ts + 4956, ts + 4961} /* sqlite3.c:81444:25 */ +var encnames = [4]uintptr{ts + 4952, ts + 4954, ts + 4956, ts + 4961} /* sqlite3.c:81457:25 */ // Declare to the Vdbe that the BTree object at db->aDb[i] is used. // @@ -57347,7 +57366,7 @@ var encnames = [4]uintptr{ts + 4952, ts + 4954, ts + 4956, ts + 4961} /* sqlite3 // attached databases that will be use. A mask of these databases // is maintained in p->btreeMask. The p->lockMask value is the subset of // p->btreeMask of databases that will require a lock. -func Xsqlite3VdbeUsesBtree(tls *libc.TLS, p uintptr, i int32) { /* sqlite3.c:81539:21: */ +func Xsqlite3VdbeUsesBtree(tls *libc.TLS, p uintptr, i int32) { /* sqlite3.c:81552:21: */ *(*YDbMask)(unsafe.Pointer(p + 152)) |= YDbMask(YDbMask(1)) << i if i != 1 && Xsqlite3BtreeSharable(tls, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer((*Vdbe)(unsafe.Pointer(p)).Fdb)).FaDb+uintptr(i)*16)).FpBt) != 0 { @@ -57374,7 +57393,7 @@ func Xsqlite3VdbeUsesBtree(tls *libc.TLS, p uintptr, i int32) { /* sqlite3.c:815 // corresponding to btrees that use shared cache. Then the runtime of // this routine is N*N. But as N is rarely more than 1, this should not // be a problem. -func Xsqlite3VdbeEnter(tls *libc.TLS, p uintptr) { /* sqlite3.c:81570:21: */ +func Xsqlite3VdbeEnter(tls *libc.TLS, p uintptr) { /* sqlite3.c:81583:21: */ var i int32 var db uintptr var aDb uintptr @@ -57393,7 +57412,7 @@ func Xsqlite3VdbeEnter(tls *libc.TLS, p uintptr) { /* sqlite3.c:81570:21: */ } // Unlock all of the btrees previously locked by a call to sqlite3VdbeEnter(). -func vdbeLeave(tls *libc.TLS, p uintptr) { /* sqlite3.c:81591:29: */ +func vdbeLeave(tls *libc.TLS, p uintptr) { /* sqlite3.c:81604:29: */ var i int32 var db uintptr var aDb uintptr @@ -57408,7 +57427,7 @@ func vdbeLeave(tls *libc.TLS, p uintptr) { /* sqlite3.c:81591:29: */ } } -func Xsqlite3VdbeLeave(tls *libc.TLS, p uintptr) { /* sqlite3.c:81605:21: */ +func Xsqlite3VdbeLeave(tls *libc.TLS, p uintptr) { /* sqlite3.c:81618:21: */ if (*Vdbe)(unsafe.Pointer(p)).FlockMask == YDbMask(0) { return } // The common case @@ -57416,7 +57435,7 @@ func Xsqlite3VdbeLeave(tls *libc.TLS, p uintptr) { /* sqlite3.c:81605:21: */ } // Initialize an array of N Mem element. -func initMemArray(tls *libc.TLS, p uintptr, N int32, db uintptr, flags U16) { /* sqlite3.c:81647:13: */ +func initMemArray(tls *libc.TLS, p uintptr, N int32, db uintptr, flags U16) { /* sqlite3.c:81660:13: */ for libc.PostDecInt32(&N, 1) > 0 { (*Mem)(unsafe.Pointer(p)).Fdb = db (*Mem)(unsafe.Pointer(p)).Fflags = flags @@ -57426,7 +57445,7 @@ func initMemArray(tls *libc.TLS, p uintptr, N int32, db uintptr, flags U16) { /* } // Release an array of N Mem elements -func releaseMemArray(tls *libc.TLS, p uintptr, N int32) { /* sqlite3.c:81662:13: */ +func releaseMemArray(tls *libc.TLS, p uintptr, N int32) { /* sqlite3.c:81675:13: */ if p != 0 && N != 0 { var pEnd uintptr = p + uintptr(N)*40 var db uintptr = (*Mem)(unsafe.Pointer(p)).Fdb @@ -57470,7 +57489,7 @@ func releaseMemArray(tls *libc.TLS, p uintptr, N int32) { /* sqlite3.c:81662:13: // // This routine does not delete the Frame right away. It merely adds the // frame to a list of frames to be deleted when the Vdbe halts. -func Xsqlite3VdbeFrameMemDel(tls *libc.TLS, pArg uintptr) { /* sqlite3.c:81724:21: */ +func Xsqlite3VdbeFrameMemDel(tls *libc.TLS, pArg uintptr) { /* sqlite3.c:81737:21: */ var pFrame uintptr = pArg (*VdbeFrame)(unsafe.Pointer(pFrame)).FpParent = (*Vdbe)(unsafe.Pointer((*VdbeFrame)(unsafe.Pointer(pFrame)).Fv)).FpDelFrame @@ -57482,7 +57501,7 @@ func Xsqlite3VdbeFrameMemDel(tls *libc.TLS, pArg uintptr) { /* sqlite3.c:81724:2 // // Return SQLITE_ROW on success. Return SQLITE_DONE if there are no // more opcodes to be displayed. -func Xsqlite3VdbeNextOpcode(tls *libc.TLS, p uintptr, pSub uintptr, eMode int32, piPc uintptr, piAddr uintptr, paOp uintptr) int32 { /* sqlite3.c:81739:20: */ +func Xsqlite3VdbeNextOpcode(tls *libc.TLS, p uintptr, pSub uintptr, eMode int32, piPc uintptr, piAddr uintptr, paOp uintptr) int32 { /* sqlite3.c:81752:20: */ var nRow int32 // Stop when row count reaches this var nSub int32 = 0 // Number of sub-vdbes seen so far var apSub uintptr = uintptr(0) // Array of sub-vdbes @@ -57581,7 +57600,7 @@ func Xsqlite3VdbeNextOpcode(tls *libc.TLS, p uintptr, pSub uintptr, eMode int32, // Delete a VdbeFrame object and its contents. VdbeFrame objects are // allocated by the OP_Program opcode in sqlite3VdbeExec(). -func Xsqlite3VdbeFrameDelete(tls *libc.TLS, p uintptr) { /* sqlite3.c:81851:21: */ +func Xsqlite3VdbeFrameDelete(tls *libc.TLS, p uintptr) { /* sqlite3.c:81864:21: */ var i int32 var aMem uintptr = p + 88 var apCsr uintptr = aMem + uintptr((*VdbeFrame)(unsafe.Pointer(p)).FnChildMem)*40 @@ -57610,7 +57629,7 @@ func Xsqlite3VdbeFrameDelete(tls *libc.TLS, p uintptr) { /* sqlite3.c:81851:21: // // When p->explain==1, first the main program is listed, then each of // the trigger subprograms are listed one by one. -func Xsqlite3VdbeList(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:81883:20: */ +func Xsqlite3VdbeList(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:81896:20: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -57699,7 +57718,7 @@ type ReusableSpace = struct { FpSpace uintptr FnFree Sqlite3_int64 FnNeeded Sqlite3_int64 -} /* sqlite3.c:82028:1 */ +} /* sqlite3.c:82041:1 */ // Try to allocate nByte bytes of 8-byte aligned bulk memory for pBuf // from the ReusableSpace object. Return a pointer to the allocated @@ -57714,7 +57733,7 @@ type ReusableSpace = struct { // This allocator is employed to repurpose unused slots at the end of the // opcode array of prepared state for other memory needs of the prepared // statement. -func allocSpace(tls *libc.TLS, p uintptr, pBuf uintptr, nByte Sqlite3_int64) uintptr { /* sqlite3.c:82048:13: */ +func allocSpace(tls *libc.TLS, p uintptr, pBuf uintptr, nByte Sqlite3_int64) uintptr { /* sqlite3.c:82061:13: */ if pBuf == uintptr(0) { nByte = (nByte + int64(7)) & int64(libc.CplInt32(7)) @@ -57731,7 +57750,7 @@ func allocSpace(tls *libc.TLS, p uintptr, pBuf uintptr, nByte Sqlite3_int64) uin // Rewind the VDBE back to the beginning in preparation for // running it. -func Xsqlite3VdbeRewind(tls *libc.TLS, p uintptr) { /* sqlite3.c:82071:21: */ +func Xsqlite3VdbeRewind(tls *libc.TLS, p uintptr) { /* sqlite3.c:82084:21: */ // There should be at least one opcode. @@ -57764,7 +57783,7 @@ func Xsqlite3VdbeRewind(tls *libc.TLS, p uintptr) { /* sqlite3.c:82071:21: */ // // Use the sqlite3VdbeRewind() procedure to restore a virtual machine back // to its initial state after it has been run. -func Xsqlite3VdbeMakeReady(tls *libc.TLS, p uintptr, pParse uintptr) { /* sqlite3.c:82124:21: */ +func Xsqlite3VdbeMakeReady(tls *libc.TLS, p uintptr, pParse uintptr) { /* sqlite3.c:82137:21: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -57873,11 +57892,11 @@ func Xsqlite3VdbeMakeReady(tls *libc.TLS, p uintptr, pParse uintptr) { /* sqlite var azColName = [12]uintptr{ ts + 4966, ts + 4971, ts + 4978, ts + 4981, ts + 4984, ts + 4987, ts + 4990, ts + 4993, ts + 5001, ts + 5004, ts + 5011, ts + 5019, -} /* sqlite3.c:82172:23 */ +} /* sqlite3.c:82185:23 */ // Close a VDBE cursor and release all the resources that cursor // happens to hold. -func Xsqlite3VdbeFreeCursor(tls *libc.TLS, p uintptr, pCx uintptr) { /* sqlite3.c:82249:21: */ +func Xsqlite3VdbeFreeCursor(tls *libc.TLS, p uintptr, pCx uintptr) { /* sqlite3.c:82262:21: */ if pCx == uintptr(0) { return } @@ -57911,7 +57930,7 @@ func Xsqlite3VdbeFreeCursor(tls *libc.TLS, p uintptr, pCx uintptr) { /* sqlite3. } // Close all cursors in the current frame. -func closeCursorsInFrame(tls *libc.TLS, p uintptr) { /* sqlite3.c:82279:13: */ +func closeCursorsInFrame(tls *libc.TLS, p uintptr) { /* sqlite3.c:82292:13: */ if (*Vdbe)(unsafe.Pointer(p)).FapCsr != 0 { var i int32 for i = 0; i < (*Vdbe)(unsafe.Pointer(p)).FnCursor; i++ { @@ -57927,7 +57946,7 @@ func closeCursorsInFrame(tls *libc.TLS, p uintptr) { /* sqlite3.c:82279:13: */ // Copy the values stored in the VdbeFrame structure to its Vdbe. This // is used, for example, when a trigger sub-program is halted to restore // control to the main program. -func Xsqlite3VdbeFrameRestore(tls *libc.TLS, pFrame uintptr) int32 { /* sqlite3.c:82297:20: */ +func Xsqlite3VdbeFrameRestore(tls *libc.TLS, pFrame uintptr) int32 { /* sqlite3.c:82310:20: */ var v uintptr = (*VdbeFrame)(unsafe.Pointer(pFrame)).Fv closeCursorsInFrame(tls, v) (*Vdbe)(unsafe.Pointer(v)).FaOp = (*VdbeFrame)(unsafe.Pointer(pFrame)).FaOp @@ -57951,7 +57970,7 @@ func Xsqlite3VdbeFrameRestore(tls *libc.TLS, pFrame uintptr) int32 { /* sqlite3. // cell array. This is necessary as the memory cell array may contain // pointers to VdbeFrame objects, which may in turn contain pointers to // open cursors. -func closeAllCursors(tls *libc.TLS, p uintptr) { /* sqlite3.c:82326:13: */ +func closeAllCursors(tls *libc.TLS, p uintptr) { /* sqlite3.c:82339:13: */ if (*Vdbe)(unsafe.Pointer(p)).FpFrame != 0 { var pFrame uintptr for pFrame = (*Vdbe)(unsafe.Pointer(p)).FpFrame; (*VdbeFrame)(unsafe.Pointer(pFrame)).FpParent != 0; pFrame = (*VdbeFrame)(unsafe.Pointer(pFrame)).FpParent { @@ -57982,7 +58001,7 @@ func closeAllCursors(tls *libc.TLS, p uintptr) { /* sqlite3.c:82326:13: */ // statement. This is now set at compile time, rather than during // execution of the vdbe program so that sqlite3_column_count() can // be called on an SQL statement before sqlite3_step(). -func Xsqlite3VdbeSetNumCols(tls *libc.TLS, p uintptr, nResColumn int32) { /* sqlite3.c:82356:21: */ +func Xsqlite3VdbeSetNumCols(tls *libc.TLS, p uintptr, nResColumn int32) { /* sqlite3.c:82369:21: */ var n int32 var db uintptr = (*Vdbe)(unsafe.Pointer(p)).Fdb @@ -58007,7 +58026,7 @@ func Xsqlite3VdbeSetNumCols(tls *libc.TLS, p uintptr, nResColumn int32) { /* sql // The final parameter, xDel, must be one of SQLITE_DYNAMIC, SQLITE_STATIC // 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 Xsqlite3VdbeSetColName(tls *libc.TLS, p uintptr, idx int32, var1 int32, zName uintptr, xDel uintptr) int32 { /* sqlite3.c:82381:20: */ +func Xsqlite3VdbeSetColName(tls *libc.TLS, p uintptr, idx int32, var1 int32, zName uintptr, xDel uintptr) int32 { /* sqlite3.c:82394:20: */ var rc int32 var pColName uintptr @@ -58026,7 +58045,7 @@ func Xsqlite3VdbeSetColName(tls *libc.TLS, p uintptr, idx int32, var1 int32, zNa // db. If a transaction is active, commit it. If there is a // write-transaction spanning more than one database file, this routine // takes care of the super-journal trickery. -func vdbeCommit(tls *libc.TLS, db uintptr, p uintptr) int32 { /* sqlite3.c:82409:12: */ +func vdbeCommit(tls *libc.TLS, db uintptr, p uintptr) int32 { /* sqlite3.c:82422:12: */ bp := tls.Alloc(68) defer tls.Free(68) @@ -58254,7 +58273,7 @@ var aMJNeeded = [6]U8{ /* TRUNCATE */ U8(1), /* MEMORY */ U8(0), /* WAL */ U8(0), -} /* sqlite3.c:82444:23 */ +} /* sqlite3.c:82457:23 */ // This routine checks that the sqlite3.nVdbeActive count variable // matches the number of vdbe's in the list sqlite3.pVdbe that are @@ -58272,7 +58291,7 @@ var aMJNeeded = [6]U8{ // // If an IO error occurs, an SQLITE_IOERR_XXX error code is returned. // Otherwise SQLITE_OK. -func vdbeCloseStatement(tls *libc.TLS, p uintptr, eOp int32) int32 { /* sqlite3.c:82705:28: */ +func vdbeCloseStatement(tls *libc.TLS, p uintptr, eOp int32) int32 { /* sqlite3.c:82718:28: */ var db uintptr = (*Vdbe)(unsafe.Pointer(p)).Fdb var rc int32 = SQLITE_OK var i int32 @@ -58315,7 +58334,7 @@ func vdbeCloseStatement(tls *libc.TLS, p uintptr, eOp int32) int32 { /* sqlite3. return rc } -func Xsqlite3VdbeCloseStatement(tls *libc.TLS, p uintptr, eOp int32) int32 { /* sqlite3.c:82751:20: */ +func Xsqlite3VdbeCloseStatement(tls *libc.TLS, p uintptr, eOp int32) int32 { /* sqlite3.c:82764:20: */ if (*Sqlite3)(unsafe.Pointer((*Vdbe)(unsafe.Pointer(p)).Fdb)).FnStatement != 0 && (*Vdbe)(unsafe.Pointer(p)).FiStatement != 0 { return vdbeCloseStatement(tls, p, eOp) } @@ -58330,7 +58349,7 @@ func Xsqlite3VdbeCloseStatement(tls *libc.TLS, p uintptr, eOp int32) int32 { /* // If there are outstanding FK violations and this function returns // SQLITE_ERROR, set the result of the VM to SQLITE_CONSTRAINT_FOREIGNKEY // and write an error message to it. Then return SQLITE_ERROR. -func Xsqlite3VdbeCheckFk(tls *libc.TLS, p uintptr, deferred int32) int32 { /* sqlite3.c:82770:20: */ +func Xsqlite3VdbeCheckFk(tls *libc.TLS, p uintptr, deferred int32) int32 { /* sqlite3.c:82783:20: */ var db uintptr = (*Vdbe)(unsafe.Pointer(p)).Fdb if deferred != 0 && (*Sqlite3)(unsafe.Pointer(db)).FnDeferredCons+(*Sqlite3)(unsafe.Pointer(db)).FnDeferredImmCons > int64(0) || !(deferred != 0) && (*Vdbe)(unsafe.Pointer(p)).FnFkConstraint > int64(0) { @@ -58353,7 +58372,7 @@ func Xsqlite3VdbeCheckFk(tls *libc.TLS, p uintptr, deferred int32) int32 { /* sq // Return an error code. If the commit could not complete because of // lock contention, return SQLITE_BUSY. If SQLITE_BUSY is returned, it // means the close did not happen and needs to be repeated. -func Xsqlite3VdbeHalt(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:82797:20: */ +func Xsqlite3VdbeHalt(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:82810:20: */ var rc int32 // Used to store transient return codes var db uintptr = (*Vdbe)(unsafe.Pointer(p)).Fdb @@ -58557,7 +58576,7 @@ func Xsqlite3VdbeHalt(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:82797:20: * // Each VDBE holds the result of the most recent sqlite3_step() call // in p->rc. This routine sets that result back to SQLITE_OK. -func Xsqlite3VdbeResetStepResult(tls *libc.TLS, p uintptr) { /* sqlite3.c:83007:21: */ +func Xsqlite3VdbeResetStepResult(tls *libc.TLS, p uintptr) { /* sqlite3.c:83020:21: */ (*Vdbe)(unsafe.Pointer(p)).Frc = SQLITE_OK } @@ -58567,7 +58586,7 @@ func Xsqlite3VdbeResetStepResult(tls *libc.TLS, p uintptr) { /* sqlite3.c:83007: // // This function does not clear the VDBE error code or message, just // copies them to the database handle. -func Xsqlite3VdbeTransferError(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:83019:20: */ +func Xsqlite3VdbeTransferError(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:83032:20: */ var db uintptr = (*Vdbe)(unsafe.Pointer(p)).Fdb var rc int32 = (*Vdbe)(unsafe.Pointer(p)).Frc if (*Vdbe)(unsafe.Pointer(p)).FzErrMsg != 0 { @@ -58596,7 +58615,7 @@ func Xsqlite3VdbeTransferError(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:83 // To look at it another way, this routine resets the state of the // virtual machine from VDBE_MAGIC_RUN or VDBE_MAGIC_HALT back to // VDBE_MAGIC_INIT. -func Xsqlite3VdbeReset(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:83069:20: */ +func Xsqlite3VdbeReset(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:83082:20: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -58648,7 +58667,7 @@ func Xsqlite3VdbeReset(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:83069:20: // Clean up and delete a VDBE after execution. Return an integer which is // the result code. Write any error message text into *pzErrMsg. -func Xsqlite3VdbeFinalize(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:83166:20: */ +func Xsqlite3VdbeFinalize(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:83179:20: */ var rc int32 = SQLITE_OK if (*Vdbe)(unsafe.Pointer(p)).FiVdbeMagic == U32(VDBE_MAGIC_RUN) || (*Vdbe)(unsafe.Pointer(p)).FiVdbeMagic == U32(VDBE_MAGIC_HALT) { rc = Xsqlite3VdbeReset(tls, p) @@ -58672,7 +58691,7 @@ func Xsqlite3VdbeFinalize(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:83166:2 // // * the corresponding bit in argument mask is clear (where the first // function parameter corresponds to bit 0 etc.). -func Xsqlite3VdbeDeleteAuxData(tls *libc.TLS, db uintptr, pp uintptr, iOp int32, mask int32) { /* sqlite3.c:83192:21: */ +func Xsqlite3VdbeDeleteAuxData(tls *libc.TLS, db uintptr, pp uintptr, iOp int32, mask int32) { /* sqlite3.c:83205:21: */ for *(*uintptr)(unsafe.Pointer(pp)) != 0 { var pAux uintptr = *(*uintptr)(unsafe.Pointer(pp)) if iOp < 0 || @@ -58697,7 +58716,7 @@ func Xsqlite3VdbeDeleteAuxData(tls *libc.TLS, db uintptr, pp uintptr, iOp int32, // The difference between this function and sqlite3VdbeDelete() is that // VdbeDelete() also unlinks the Vdbe from the list of VMs associated with // the database connection and frees the object itself. -func Xsqlite3VdbeClearObject(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:83220:21: */ +func Xsqlite3VdbeClearObject(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:83233:21: */ var pSub uintptr var pNext uintptr @@ -58718,7 +58737,7 @@ func Xsqlite3VdbeClearObject(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3. } // Delete an entire VDBE. -func Xsqlite3VdbeDelete(tls *libc.TLS, p uintptr) { /* sqlite3.c:83261:21: */ +func Xsqlite3VdbeDelete(tls *libc.TLS, p uintptr) { /* sqlite3.c:83274:21: */ var db uintptr db = (*Vdbe)(unsafe.Pointer(p)).Fdb @@ -58741,7 +58760,7 @@ func Xsqlite3VdbeDelete(tls *libc.TLS, p uintptr) { /* sqlite3.c:83261:21: */ // The cursor "p" has a pending seek operation that has not yet been // carried out. Seek the cursor now. If an error occurs, return // the appropriate error code. -func Xsqlite3VdbeFinishMoveto(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:83287:36: */ +func Xsqlite3VdbeFinishMoveto(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:83300:36: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -58754,7 +58773,7 @@ func Xsqlite3VdbeFinishMoveto(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:832 return rc } if *(*int32)(unsafe.Pointer(bp)) != 0 { - return Xsqlite3CorruptError(tls, 83297) + return Xsqlite3CorruptError(tls, 83310) } (*VdbeCursor)(unsafe.Pointer(p)).FdeferredMoveto = U8(0) (*VdbeCursor)(unsafe.Pointer(p)).FcacheStatus = U32(CACHE_STALE) @@ -58766,7 +58785,7 @@ func Xsqlite3VdbeFinishMoveto(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:832 // rebalanced. Whatever the cause, try to restore "p" to the place it // is supposed to be pointing. If the row was deleted out from under the // cursor, set the cursor to point to a NULL row. -func handleMovedCursor(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:83313:28: */ +func handleMovedCursor(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:83326:28: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -58784,7 +58803,7 @@ func handleMovedCursor(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:83313:28: // Check to ensure that the cursor is valid. Restore the cursor // if need be. Return any I/O error from the restore operation. -func Xsqlite3VdbeCursorRestore(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:83328:20: */ +func Xsqlite3VdbeCursorRestore(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:83341:20: */ if Xsqlite3BtreeCursorHasMoved(tls, *(*uintptr)(unsafe.Pointer(p + 36))) != 0 { return handleMovedCursor(tls, p) @@ -58803,7 +58822,7 @@ func Xsqlite3VdbeCursorRestore(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:83 // // If the cursor is already pointing to the correct row and that row has // not been deleted out from under the cursor, then this routine is a no-op. -func Xsqlite3VdbeCursorMoveto(tls *libc.TLS, pp uintptr, piCol uintptr) int32 { /* sqlite3.c:83349:20: */ +func Xsqlite3VdbeCursorMoveto(tls *libc.TLS, pp uintptr, piCol uintptr) int32 { /* sqlite3.c:83362:20: */ var p uintptr = *(*uintptr)(unsafe.Pointer(pp)) if (*VdbeCursor)(unsafe.Pointer(p)).FdeferredMoveto != 0 { @@ -58878,10 +58897,10 @@ var sqlite3SmallTypeSizes = [128]U8{ /* 100 */ U8(44), U8(44), U8(45), U8(45), U8(46), U8(46), U8(47), U8(47), U8(48), U8(48), /* 110 */ U8(49), U8(49), U8(50), U8(50), U8(51), U8(51), U8(52), U8(52), U8(53), U8(53), /* 120 */ U8(54), U8(54), U8(55), U8(55), U8(56), U8(56), U8(57), U8(57), -} /* sqlite3.c:83486:17 */ +} /* sqlite3.c:83499:17 */ // Return the length of the data corresponding to the supplied serial-type. -func Xsqlite3VdbeSerialTypeLen(tls *libc.TLS, serial_type U32) U32 { /* sqlite3.c:83506:20: */ +func Xsqlite3VdbeSerialTypeLen(tls *libc.TLS, serial_type U32) U32 { /* sqlite3.c:83519:20: */ if serial_type >= U32(128) { return (serial_type - U32(12)) / U32(2) } else { @@ -58891,7 +58910,7 @@ func Xsqlite3VdbeSerialTypeLen(tls *libc.TLS, serial_type U32) U32 { /* sqlite3. return U32(0) } -func Xsqlite3VdbeOneByteSerialTypeLen(tls *libc.TLS, serial_type U8) U8 { /* sqlite3.c:83515:19: */ +func Xsqlite3VdbeOneByteSerialTypeLen(tls *libc.TLS, serial_type U8) U8 { /* sqlite3.c:83528:19: */ return sqlite3SmallTypeSizes[serial_type] } @@ -58940,7 +58959,7 @@ func Xsqlite3VdbeOneByteSerialTypeLen(tls *libc.TLS, serial_type U8) U8 { /* sql // Return the number of bytes actually written into buf[]. The number // of bytes in the zero-filled tail is included in the return value only // if those bytes were zeroed in buf[]. -func Xsqlite3VdbeSerialPut(tls *libc.TLS, buf uintptr, pMem uintptr, serial_type U32) U32 { /* sqlite3.c:83586:20: */ +func Xsqlite3VdbeSerialPut(tls *libc.TLS, buf uintptr, pMem uintptr, serial_type U32) U32 { /* sqlite3.c:83599:20: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -58991,7 +59010,7 @@ func Xsqlite3VdbeSerialPut(tls *libc.TLS, buf uintptr, pMem uintptr, serial_type // The few cases that require local variables are broken out into a separate // routine so that in most cases the overhead of moving the stack pointer // is avoided. -func serialGet(tls *libc.TLS, buf uintptr, serial_type U32, pMem uintptr) { /* sqlite3.c:83640:13: */ +func serialGet(tls *libc.TLS, buf uintptr, serial_type U32, pMem uintptr) { /* sqlite3.c:83653:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -59018,7 +59037,7 @@ func serialGet(tls *libc.TLS, buf uintptr, serial_type U32, pMem uintptr) { /* s } } -func Xsqlite3VdbeSerialGet(tls *libc.TLS, buf uintptr, serial_type U32, pMem uintptr) { /* sqlite3.c:83675:21: */ +func Xsqlite3VdbeSerialGet(tls *libc.TLS, buf uintptr, serial_type U32, pMem uintptr) { /* sqlite3.c:83688:21: */ switch serial_type { case U32(10): { // Internal use only: NULL with virtual table @@ -59121,7 +59140,7 @@ func Xsqlite3VdbeSerialGet(tls *libc.TLS, buf uintptr, serial_type U32, pMem uin return } -var aFlag = [2]U16{U16(MEM_Blob | MEM_Ephem), U16(MEM_Str | MEM_Ephem)} /* sqlite3.c:83758:24 */ +var aFlag = [2]U16{U16(MEM_Blob | MEM_Ephem), U16(MEM_Str | MEM_Ephem)} /* sqlite3.c:83771:24 */ // This routine is used to allocate sufficient space for an UnpackedRecord // structure large enough to be used with sqlite3VdbeRecordUnpack() if @@ -59135,7 +59154,7 @@ var aFlag = [2]U16{U16(MEM_Blob | MEM_Ephem), U16(MEM_Str | MEM_Ephem)} /* sqlit // before returning. // // If an OOM error occurs, NULL is returned. -func Xsqlite3VdbeAllocUnpackedRecord(tls *libc.TLS, pKeyInfo uintptr) uintptr { /* sqlite3.c:83781:31: */ +func Xsqlite3VdbeAllocUnpackedRecord(tls *libc.TLS, pKeyInfo uintptr) uintptr { /* sqlite3.c:83794:31: */ var p uintptr // Unpacked record to return var nByte int32 // Number of bytes required for *p nByte = int32((uint32(unsafe.Sizeof(UnpackedRecord{}))+uint32(7))&libc.Uint32FromInt32(libc.CplInt32(7)) + uint32(unsafe.Sizeof(Mem{}))*uint32(int32((*KeyInfo)(unsafe.Pointer(pKeyInfo)).FnKeyField)+1)) @@ -59153,7 +59172,7 @@ func Xsqlite3VdbeAllocUnpackedRecord(tls *libc.TLS, pKeyInfo uintptr) uintptr { // Given the nKey-byte encoding of a record in pKey[], populate the // UnpackedRecord structure indicated by the fourth argument with the // contents of the decoded record. -func Xsqlite3VdbeRecordUnpack(tls *libc.TLS, pKeyInfo uintptr, nKey int32, pKey uintptr, p uintptr) { /* sqlite3.c:83801:21: */ +func Xsqlite3VdbeRecordUnpack(tls *libc.TLS, pKeyInfo uintptr, nKey int32, pKey uintptr, p uintptr) { /* sqlite3.c:83814:21: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -59214,7 +59233,7 @@ func Xsqlite3VdbeRecordUnpack(tls *libc.TLS, pKeyInfo uintptr, nKey int32, pKey // using the collation sequence pColl. As usual, return a negative , zero // or positive value if *pMem1 is less than, equal to or greater than // *pMem2, respectively. Similar in spirit to "rc = (*pMem1) - (*pMem2);". -func vdbeCompareMemString(tls *libc.TLS, pMem1 uintptr, pMem2 uintptr, pColl uintptr, prcErr uintptr) int32 { /* sqlite3.c:83998:12: */ +func vdbeCompareMemString(tls *libc.TLS, pMem1 uintptr, pMem2 uintptr, pColl uintptr, prcErr uintptr) int32 { /* sqlite3.c:84011:12: */ bp := tls.Alloc(80) defer tls.Free(80) @@ -59257,7 +59276,7 @@ func vdbeCompareMemString(tls *libc.TLS, pMem1 uintptr, pMem2 uintptr, pColl uin // The input pBlob is guaranteed to be a Blob that is not marked // with MEM_Zero. Return true if it could be a zero-blob. -func isAllZero(tls *libc.TLS, z uintptr, n int32) int32 { /* sqlite3.c:84035:12: */ +func isAllZero(tls *libc.TLS, z uintptr, n int32) int32 { /* sqlite3.c:84048:12: */ var i int32 for i = 0; i < n; i++ { if *(*int8)(unsafe.Pointer(z + uintptr(i))) != 0 { @@ -59270,7 +59289,7 @@ func isAllZero(tls *libc.TLS, z uintptr, n int32) int32 { /* sqlite3.c:84035:12: // Compare two blobs. Return negative, zero, or positive if the first // is less than, equal to, or greater than the second, respectively. // If one blob is a prefix of the other, then the shorter is the lessor. -func Xsqlite3BlobCompare(tls *libc.TLS, pB1 uintptr, pB2 uintptr) int32 { /* sqlite3.c:84048:36: */ +func Xsqlite3BlobCompare(tls *libc.TLS, pB1 uintptr, pB2 uintptr) int32 { /* sqlite3.c:84061:36: */ var c int32 var n1 int32 = (*Mem)(unsafe.Pointer(pB1)).Fn var n2 int32 = (*Mem)(unsafe.Pointer(pB2)).Fn @@ -59310,7 +59329,7 @@ func Xsqlite3BlobCompare(tls *libc.TLS, pB1 uintptr, pB2 uintptr) int32 { /* sql // Do a comparison between a 64-bit signed integer and a 64-bit floating-point // number. Return negative, zero, or positive if the first (i64) is less than, // equal to, or greater than the second (double). -func Xsqlite3IntFloatCompare(tls *libc.TLS, i I64, r float64) int32 { /* sqlite3.c:84081:20: */ +func Xsqlite3IntFloatCompare(tls *libc.TLS, i I64, r float64) int32 { /* sqlite3.c:84094:20: */ if uint32(unsafe.Sizeof(float64(0))) > uint32(8) { var x float64 = float64(i) @@ -59356,7 +59375,7 @@ func Xsqlite3IntFloatCompare(tls *libc.TLS, i I64, r float64) int32 { /* sqlite3 // sequence pColl and finally blob's ordered by memcmp(). // // Two NULL values are considered equal by this function. -func Xsqlite3MemCompare(tls *libc.TLS, pMem1 uintptr, pMem2 uintptr, pColl uintptr) int32 { /* sqlite3.c:84114:20: */ +func Xsqlite3MemCompare(tls *libc.TLS, pMem1 uintptr, pMem2 uintptr, pColl uintptr) int32 { /* sqlite3.c:84127:20: */ var f1 int32 var f2 int32 var combined_flags int32 @@ -59450,7 +59469,7 @@ func Xsqlite3MemCompare(tls *libc.TLS, pMem1 uintptr, pMem2 uintptr, pColl uintp // except 7. The second points to a buffer containing an integer value // serialized according to serial_type. This function deserializes // and returns the value. -func vdbeRecordDecodeInt(tls *libc.TLS, serial_type U32, aKey uintptr) I64 { /* sqlite3.c:84213:12: */ +func vdbeRecordDecodeInt(tls *libc.TLS, serial_type U32, aKey uintptr) I64 { /* sqlite3.c:84226:12: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -59513,7 +59532,7 @@ func vdbeRecordDecodeInt(tls *libc.TLS, serial_type U32, aKey uintptr) I64 { /* // SQLITE_CORRUPT and return 0. If an OOM error is encountered, // pPKey2->errCode is set to SQLITE_NOMEM and, if it is not NULL, the // malloc-failed flag set on database handle (pPKey2->pKeyInfo->db). -func Xsqlite3VdbeRecordCompareWithSkip(tls *libc.TLS, nKey1 int32, pKey1 uintptr, pPKey2 uintptr, bSkip int32) int32 { /* sqlite3.c:84268:20: */ +func Xsqlite3VdbeRecordCompareWithSkip(tls *libc.TLS, nKey1 int32, pKey1 uintptr, pPKey2 uintptr, bSkip int32) int32 { /* sqlite3.c:84281:20: */ bp := tls.Alloc(52) defer tls.Free(52) @@ -59555,7 +59574,7 @@ func Xsqlite3VdbeRecordCompareWithSkip(tls *libc.TLS, nKey1 int32, pKey1 uintptr i = 0 } if d1 > uint32(nKey1) { - (*UnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = U8(Xsqlite3CorruptError(tls, 84299)) + (*UnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = U8(Xsqlite3CorruptError(tls, 84312)) return 0 // Corruption } @@ -59620,7 +59639,7 @@ func Xsqlite3VdbeRecordCompareWithSkip(tls *libc.TLS, nKey1 int32, pKey1 uintptr if d1+U32((*Mem)(unsafe.Pointer(bp+8)).Fn) > uint32(nKey1) || int32((*KeyInfo)(unsafe.Pointer(libc.AssignUintptr(&pKeyInfo, (*UnpackedRecord)(unsafe.Pointer(pPKey2)).FpKeyInfo))).FnAllField) <= i { - (*UnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = U8(Xsqlite3CorruptError(tls, 84376)) + (*UnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = U8(Xsqlite3CorruptError(tls, 84389)) return 0 // Corruption } else if *(*uintptr)(unsafe.Pointer(pKeyInfo + 20 + uintptr(i)*4)) != 0 { (*Mem)(unsafe.Pointer(bp + 8 /* &mem1 */)).Fenc = (*KeyInfo)(unsafe.Pointer(pKeyInfo)).Fenc @@ -59655,7 +59674,7 @@ func Xsqlite3VdbeRecordCompareWithSkip(tls *libc.TLS, nKey1 int32, pKey1 uintptr var nStr int32 = int32((*(*U32)(unsafe.Pointer(bp + 48)) - U32(12)) / U32(2)) if d1+U32(nStr) > uint32(nKey1) { - (*UnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = U8(Xsqlite3CorruptError(tls, 84406)) + (*UnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = U8(Xsqlite3CorruptError(tls, 84419)) return 0 // Corruption } else if int32((*Mem)(unsafe.Pointer(pRhs)).Fflags)&MEM_Zero != 0 { if !(isAllZero(tls, aKey1+uintptr(d1), nStr) != 0) { @@ -59716,7 +59735,7 @@ func Xsqlite3VdbeRecordCompareWithSkip(tls *libc.TLS, nKey1 int32, pKey1 uintptr return int32((*UnpackedRecord)(unsafe.Pointer(pPKey2)).Fdefault_rc) } -func Xsqlite3VdbeRecordCompare(tls *libc.TLS, nKey1 int32, pKey1 uintptr, pPKey2 uintptr) int32 { /* sqlite3.c:84465:20: */ +func Xsqlite3VdbeRecordCompare(tls *libc.TLS, nKey1 int32, pKey1 uintptr, pPKey2 uintptr) int32 { /* sqlite3.c:84478:20: */ return Xsqlite3VdbeRecordCompareWithSkip(tls, nKey1, pKey1, pPKey2, 0) } @@ -59727,7 +59746,7 @@ func Xsqlite3VdbeRecordCompare(tls *libc.TLS, nKey1 int32, pKey1 uintptr, pPKey2 // // To avoid concerns about buffer overreads, this routine is only used // on schemas where the maximum valid header size is 63 bytes or less. -func vdbeRecordCompareInt(tls *libc.TLS, nKey1 int32, pKey1 uintptr, pPKey2 uintptr) int32 { /* sqlite3.c:84482:12: */ +func vdbeRecordCompareInt(tls *libc.TLS, nKey1 int32, pKey1 uintptr, pPKey2 uintptr) int32 { /* sqlite3.c:84495:12: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -59832,7 +59851,7 @@ func vdbeRecordCompareInt(tls *libc.TLS, nKey1 int32, pKey1 uintptr, pPKey2 uint // that (a) the first field of pPKey2 is a string, that (b) the first field // uses the collation sequence BINARY and (c) that the size-of-header varint // at the start of (pKey1/nKey1) fits in a single byte. -func vdbeRecordCompareString(tls *libc.TLS, nKey1 int32, pKey1 uintptr, pPKey2 uintptr) int32 { /* sqlite3.c:84576:12: */ +func vdbeRecordCompareString(tls *libc.TLS, nKey1 int32, pKey1 uintptr, pPKey2 uintptr) int32 { /* sqlite3.c:84589:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -59856,7 +59875,7 @@ func vdbeRecordCompareString(tls *libc.TLS, nKey1 int32, pKey1 uintptr, pPKey2 u nStr = (*(*int32)(unsafe.Pointer(bp)) - 12) / 2 if szHdr+nStr > nKey1 { - (*UnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = U8(Xsqlite3CorruptError(tls, 84601)) + (*UnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = U8(Xsqlite3CorruptError(tls, 84614)) return 0 // Corruption } nCmp = func() int32 { @@ -59894,7 +59913,7 @@ func vdbeRecordCompareString(tls *libc.TLS, nKey1 int32, pKey1 uintptr, pPKey2 u // Return a pointer to an sqlite3VdbeRecordCompare() compatible function // suitable for comparing serialized records to the unpacked record passed // as the only argument. -func Xsqlite3VdbeFindCompare(tls *libc.TLS, p uintptr) RecordCompare { /* sqlite3.c:84640:30: */ +func Xsqlite3VdbeFindCompare(tls *libc.TLS, p uintptr) RecordCompare { /* sqlite3.c:84653:30: */ // varintRecordCompareInt() and varintRecordCompareString() both assume // that the size-of-header varint that occurs at the start of each record // fits in a single byte (i.e. is 127 or less). varintRecordCompareInt() @@ -59948,7 +59967,7 @@ func Xsqlite3VdbeFindCompare(tls *libc.TLS, p uintptr) RecordCompare { /* sqlite // // pCur might be pointing to text obtained from a corrupt database file. // So the content cannot be trusted. Do appropriate checks on the content. -func Xsqlite3VdbeIdxRowid(tls *libc.TLS, db uintptr, pCur uintptr, rowid uintptr) int32 { /* sqlite3.c:84691:20: */ +func Xsqlite3VdbeIdxRowid(tls *libc.TLS, db uintptr, pCur uintptr, rowid uintptr) int32 { /* sqlite3.c:84704:20: */ bp := tls.Alloc(88) defer tls.Free(88) @@ -60033,7 +60052,7 @@ __6: idx_rowid_corruption: ; Xsqlite3VdbeMemRelease(tls, bp) - return Xsqlite3CorruptError(tls, 84756) + return Xsqlite3CorruptError(tls, 84769) } // Compare the key of the index entry that cursor pC is pointing to against @@ -60045,7 +60064,7 @@ idx_rowid_corruption: // omits the rowid at the end. The rowid at the end of the index entry // is ignored as well. Hence, this routine only compares the prefixes // of the keys prior to the final rowid, not the entire key. -func Xsqlite3VdbeIdxKeyCompare(tls *libc.TLS, db uintptr, pC uintptr, pUnpacked uintptr, res uintptr) int32 { /* sqlite3.c:84770:20: */ +func Xsqlite3VdbeIdxKeyCompare(tls *libc.TLS, db uintptr, pC uintptr, pUnpacked uintptr, res uintptr) int32 { /* sqlite3.c:84783:20: */ bp := tls.Alloc(40) defer tls.Free(40) @@ -60061,7 +60080,7 @@ func Xsqlite3VdbeIdxKeyCompare(tls *libc.TLS, db uintptr, pC uintptr, pUnpacked // that btreeParseCellPtr() and sqlite3GetVarint32() are implemented if nCellKey <= int64(0) || nCellKey > int64(0x7fffffff) { *(*int32)(unsafe.Pointer(res)) = 0 - return Xsqlite3CorruptError(tls, 84789) + return Xsqlite3CorruptError(tls, 84802) } Xsqlite3VdbeMemInit(tls, bp, db, uint16(0)) rc = Xsqlite3VdbeMemFromBtreeZeroOffset(tls, pCur, U32(nCellKey), bp) @@ -60075,7 +60094,7 @@ func Xsqlite3VdbeIdxKeyCompare(tls *libc.TLS, db uintptr, pC uintptr, pUnpacked // This routine sets the value to be returned by subsequent calls to // sqlite3_changes() on the database handle 'db'. -func Xsqlite3VdbeSetChanges(tls *libc.TLS, db uintptr, nChange I64) { /* sqlite3.c:84805:21: */ +func Xsqlite3VdbeSetChanges(tls *libc.TLS, db uintptr, nChange I64) { /* sqlite3.c:84818:21: */ (*Sqlite3)(unsafe.Pointer(db)).FnChange = nChange *(*I64)(unsafe.Pointer(db + 108)) += nChange @@ -60083,7 +60102,7 @@ func Xsqlite3VdbeSetChanges(tls *libc.TLS, db uintptr, nChange I64) { /* sqlite3 // Set a flag in the vdbe to update the change counter when it is finalised // or reset. -func Xsqlite3VdbeCountChanges(tls *libc.TLS, v uintptr) { /* sqlite3.c:84815:21: */ +func Xsqlite3VdbeCountChanges(tls *libc.TLS, v uintptr) { /* sqlite3.c:84828:21: */ libc.SetBitFieldPtr16Uint32(v+148, Bft(1), 4, 0x10) } @@ -60103,7 +60122,7 @@ func Xsqlite3VdbeCountChanges(tls *libc.TLS, v uintptr) { /* sqlite3.c:84815:21: // Internally, this function just sets the Vdbe.expired flag on all // prepared statements. The flag is set to 1 for an immediate expiration // and set to 2 for an advisory expiration. -func Xsqlite3ExpirePreparedStatements(tls *libc.TLS, db uintptr, iCode int32) { /* sqlite3.c:84837:21: */ +func Xsqlite3ExpirePreparedStatements(tls *libc.TLS, db uintptr, iCode int32) { /* sqlite3.c:84850:21: */ var p uintptr for p = (*Sqlite3)(unsafe.Pointer(db)).FpVdbe; p != 0; p = (*Vdbe)(unsafe.Pointer(p)).FpNext { libc.SetBitFieldPtr16Uint32(p+148, Bft(iCode+1), 0, 0x3) @@ -60111,12 +60130,12 @@ func Xsqlite3ExpirePreparedStatements(tls *libc.TLS, db uintptr, iCode int32) { } // Return the database associated with the Vdbe. -func Xsqlite3VdbeDb(tls *libc.TLS, v uintptr) uintptr { /* sqlite3.c:84847:24: */ +func Xsqlite3VdbeDb(tls *libc.TLS, v uintptr) uintptr { /* sqlite3.c:84860:24: */ return (*Vdbe)(unsafe.Pointer(v)).Fdb } // Return the SQLITE_PREPARE flags for a Vdbe. -func Xsqlite3VdbePrepareFlags(tls *libc.TLS, v uintptr) U8 { /* sqlite3.c:84854:19: */ +func Xsqlite3VdbePrepareFlags(tls *libc.TLS, v uintptr) U8 { /* sqlite3.c:84867:19: */ return (*Vdbe)(unsafe.Pointer(v)).FprepFlags } @@ -60126,7 +60145,7 @@ func Xsqlite3VdbePrepareFlags(tls *libc.TLS, v uintptr) U8 { /* sqlite3.c:84854: // constants) to the value before returning it. // // The returned value must be freed by the caller using sqlite3ValueFree(). -func Xsqlite3VdbeGetBoundValue(tls *libc.TLS, v uintptr, iVar int32, aff U8) uintptr { /* sqlite3.c:84866:30: */ +func Xsqlite3VdbeGetBoundValue(tls *libc.TLS, v uintptr, iVar int32, aff U8) uintptr { /* sqlite3.c:84879:30: */ if v != 0 { var pMem uintptr = (*Vdbe)(unsafe.Pointer(v)).FaVar + uintptr(iVar-1)*40 @@ -60146,7 +60165,7 @@ func Xsqlite3VdbeGetBoundValue(tls *libc.TLS, v uintptr, iVar int32, aff U8) uin // Configure SQL variable iVar so that binding a new value to it signals // to sqlite3_reoptimize() that re-preparing the statement may result // in a better query plan. -func Xsqlite3VdbeSetVarmask(tls *libc.TLS, v uintptr, iVar int32) { /* sqlite3.c:84888:21: */ +func Xsqlite3VdbeSetVarmask(tls *libc.TLS, v uintptr, iVar int32) { /* sqlite3.c:84901:21: */ if iVar >= 32 { *(*U32)(unsafe.Pointer(v + 216)) |= 0x80000000 @@ -60162,7 +60181,7 @@ func Xsqlite3VdbeSetVarmask(tls *libc.TLS, v uintptr, iVar int32) { /* sqlite3.c // throw an error if it is given inputs that would make it non-deterministic. // This routine is invoked by date/time functions that use non-deterministic // features such as 'now'. -func Xsqlite3NotPureFunc(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:84907:20: */ +func Xsqlite3NotPureFunc(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:84920:20: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -60193,7 +60212,7 @@ func Xsqlite3NotPureFunc(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:84907 // Transfer error message text from an sqlite3_vtab.zErrMsg (text stored // in memory obtained from sqlite3_malloc) into a Vdbe.zErrMsg (text stored // in memory obtained from sqlite3DbMalloc). -func Xsqlite3VtabImportErrmsg(tls *libc.TLS, p uintptr, pVtab uintptr) { /* sqlite3.c:84938:21: */ +func Xsqlite3VtabImportErrmsg(tls *libc.TLS, p uintptr, pVtab uintptr) { /* sqlite3.c:84951:21: */ if (*Sqlite3_vtab)(unsafe.Pointer(pVtab)).FzErrMsg != 0 { var db uintptr = (*Vdbe)(unsafe.Pointer(p)).Fdb Xsqlite3DbFree(tls, db, (*Vdbe)(unsafe.Pointer(p)).FzErrMsg) @@ -60209,7 +60228,7 @@ func Xsqlite3VtabImportErrmsg(tls *libc.TLS, p uintptr, pVtab uintptr) { /* sqli // // This function is used to free UnpackedRecord structures allocated by // the vdbeUnpackRecord() function found in vdbeapi.c. -func vdbeFreeUnpacked(tls *libc.TLS, db uintptr, nField int32, p uintptr) { /* sqlite3.c:84959:13: */ +func vdbeFreeUnpacked(tls *libc.TLS, db uintptr, nField int32, p uintptr) { /* sqlite3.c:84972:13: */ if p != 0 { var i int32 for i = 0; i < nField; i++ { @@ -60226,7 +60245,7 @@ func vdbeFreeUnpacked(tls *libc.TLS, db uintptr, nField int32, p uintptr) { /* s // then cursor passed as the second argument should point to the row about // to be update or deleted. If the application calls sqlite3_preupdate_old(), // the required value will be read from the row the cursor points to. -func Xsqlite3VdbePreUpdateHook(tls *libc.TLS, v uintptr, pCsr uintptr, op int32, zDb uintptr, pTab uintptr, iKey1 I64, iReg int32, iBlobWrite int32) { /* sqlite3.c:84978:21: */ +func Xsqlite3VdbePreUpdateHook(tls *libc.TLS, v uintptr, pCsr uintptr, op int32, zDb uintptr, pTab uintptr, iKey1 I64, iReg int32, iBlobWrite int32) { /* sqlite3.c:84991:21: */ bp := tls.Alloc(84) defer tls.Free(84) @@ -60278,7 +60297,7 @@ func Xsqlite3VdbePreUpdateHook(tls *libc.TLS, v uintptr, pCsr uintptr, op int32, } } -var fakeSortOrder U8 = U8(0) /* sqlite3.c:84992:19 */ +var fakeSortOrder U8 = U8(0) /* sqlite3.c:85005:19 */ //************* End of vdbeaux.c ******************************************** //************* Begin file vdbeapi.c **************************************** @@ -60304,7 +60323,7 @@ var fakeSortOrder U8 = U8(0) /* sqlite3.c:84992:19 */ // that sqlite3_prepare() generates. For example, if new functions or // collating sequences are registered or if an authorizer function is // added or changed. -func Xsqlite3_expired(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:85071:16: */ +func Xsqlite3_expired(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:85084:16: */ var p uintptr = pStmt return libc.Bool32(p == uintptr(0) || Bft(int32(*(*uint16)(unsafe.Pointer(p + 148))&0x3>>0)) != 0) } @@ -60312,7 +60331,7 @@ func Xsqlite3_expired(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:85071:1 // Check on a Vdbe to make sure it has not been finalized. Log // an error and return true if it has been finalized (or is otherwise // invalid). Return false if it is ok. -func vdbeSafety(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:85082:12: */ +func vdbeSafety(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:85095:12: */ if (*Vdbe)(unsafe.Pointer(p)).Fdb == uintptr(0) { Xsqlite3_log(tls, SQLITE_MISUSE, ts+5193, 0) return 1 @@ -60322,7 +60341,7 @@ func vdbeSafety(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:85082:12: */ return int32(0) } -func vdbeSafetyNotNull(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:85090:12: */ +func vdbeSafetyNotNull(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:85103:12: */ if p == uintptr(0) { Xsqlite3_log(tls, SQLITE_MISUSE, ts+5238, 0) return 1 @@ -60334,7 +60353,7 @@ func vdbeSafetyNotNull(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:85090:12: // Invoke the profile callback. This routine is only called if we already // know that the profile callback is defined and needs to be invoked. -func invokeProfileCallback(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:85104:29: */ +func invokeProfileCallback(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:85117:29: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -60367,7 +60386,7 @@ func invokeProfileCallback(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c: // // This routine sets the error code and string returned by // sqlite3_errcode(), sqlite3_errmsg() and sqlite3_errmsg16(). -func Xsqlite3_finalize(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:85142:16: */ +func Xsqlite3_finalize(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:85155:16: */ var rc int32 if pStmt == uintptr(0) { // IMPLEMENTATION-OF: R-57228-12904 Invoking sqlite3_finalize() on a NULL @@ -60377,7 +60396,7 @@ func Xsqlite3_finalize(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:85142: var v uintptr = pStmt var db uintptr = (*Vdbe)(unsafe.Pointer(v)).Fdb if vdbeSafety(tls, v) != 0 { - return Xsqlite3MisuseError(tls, 85151) + return Xsqlite3MisuseError(tls, 85164) } Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) if (*Vdbe)(unsafe.Pointer(v)).FstartTime > int64(0) { @@ -60397,7 +60416,7 @@ func Xsqlite3_finalize(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:85142: // // This routine sets the error code and string returned by // sqlite3_errcode(), sqlite3_errmsg() and sqlite3_errmsg16(). -func Xsqlite3_reset(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:85169:16: */ +func Xsqlite3_reset(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:85182:16: */ var rc int32 if pStmt == uintptr(0) { rc = SQLITE_OK @@ -60419,7 +60438,7 @@ func Xsqlite3_reset(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:85169:16: } // Set all the parameters in the compiled SQL statement to NULL. -func Xsqlite3_clear_bindings(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:85190:16: */ +func Xsqlite3_clear_bindings(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:85203:16: */ var i int32 var rc int32 = SQLITE_OK var p uintptr = pStmt @@ -60441,7 +60460,7 @@ func Xsqlite3_clear_bindings(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c: // // The following routines extract information from a Mem or sqlite3_value // structure. -func Xsqlite3_value_blob(tls *libc.TLS, pVal uintptr) uintptr { /* sqlite3.c:85215:23: */ +func Xsqlite3_value_blob(tls *libc.TLS, pVal uintptr) uintptr { /* sqlite3.c:85228:23: */ var p uintptr = pVal if int32((*Mem)(unsafe.Pointer(p)).Fflags)&(MEM_Blob|MEM_Str) != 0 { if func() int32 { @@ -60464,27 +60483,27 @@ func Xsqlite3_value_blob(tls *libc.TLS, pVal uintptr) uintptr { /* sqlite3.c:852 return uintptr(0) } -func Xsqlite3_value_bytes(tls *libc.TLS, pVal uintptr) int32 { /* sqlite3.c:85228:16: */ +func Xsqlite3_value_bytes(tls *libc.TLS, pVal uintptr) int32 { /* sqlite3.c:85241:16: */ return Xsqlite3ValueBytes(tls, pVal, uint8(SQLITE_UTF8)) } -func Xsqlite3_value_bytes16(tls *libc.TLS, pVal uintptr) int32 { /* sqlite3.c:85231:16: */ +func Xsqlite3_value_bytes16(tls *libc.TLS, pVal uintptr) int32 { /* sqlite3.c:85244:16: */ return Xsqlite3ValueBytes(tls, pVal, uint8(SQLITE_UTF16LE)) } -func Xsqlite3_value_double(tls *libc.TLS, pVal uintptr) float64 { /* sqlite3.c:85234:19: */ +func Xsqlite3_value_double(tls *libc.TLS, pVal uintptr) float64 { /* sqlite3.c:85247:19: */ return Xsqlite3VdbeRealValue(tls, pVal) } -func Xsqlite3_value_int(tls *libc.TLS, pVal uintptr) int32 { /* sqlite3.c:85237:16: */ +func Xsqlite3_value_int(tls *libc.TLS, pVal uintptr) int32 { /* sqlite3.c:85250:16: */ return int32(Xsqlite3VdbeIntValue(tls, pVal)) } -func Xsqlite3_value_int64(tls *libc.TLS, pVal uintptr) Sqlite_int64 { /* sqlite3.c:85240:25: */ +func Xsqlite3_value_int64(tls *libc.TLS, pVal uintptr) Sqlite_int64 { /* sqlite3.c:85253:25: */ return Xsqlite3VdbeIntValue(tls, pVal) } -func Xsqlite3_value_subtype(tls *libc.TLS, pVal uintptr) uint32 { /* sqlite3.c:85243:25: */ +func Xsqlite3_value_subtype(tls *libc.TLS, pVal uintptr) uint32 { /* sqlite3.c:85256:25: */ var pMem uintptr = pVal return func() uint32 { if int32((*Mem)(unsafe.Pointer(pMem)).Fflags)&MEM_Subtype != 0 { @@ -60494,7 +60513,7 @@ func Xsqlite3_value_subtype(tls *libc.TLS, pVal uintptr) uint32 { /* sqlite3.c:8 }() } -func Xsqlite3_value_pointer(tls *libc.TLS, pVal uintptr, zPType uintptr) uintptr { /* sqlite3.c:85247:17: */ +func Xsqlite3_value_pointer(tls *libc.TLS, pVal uintptr, zPType uintptr) uintptr { /* sqlite3.c:85260:17: */ var p uintptr = pVal if int32((*Mem)(unsafe.Pointer(p)).Fflags)&(MEM_TypeMask|MEM_Term|MEM_Subtype) == MEM_Null|MEM_Term|MEM_Subtype && zPType != uintptr(0) && @@ -60507,26 +60526,26 @@ func Xsqlite3_value_pointer(tls *libc.TLS, pVal uintptr, zPType uintptr) uintptr return uintptr(0) } -func Xsqlite3_value_text(tls *libc.TLS, pVal uintptr) uintptr { /* sqlite3.c:85260:32: */ +func Xsqlite3_value_text(tls *libc.TLS, pVal uintptr) uintptr { /* sqlite3.c:85273:32: */ return Xsqlite3ValueText(tls, pVal, uint8(SQLITE_UTF8)) } -func Xsqlite3_value_text16(tls *libc.TLS, pVal uintptr) uintptr { /* sqlite3.c:85264:23: */ +func Xsqlite3_value_text16(tls *libc.TLS, pVal uintptr) uintptr { /* sqlite3.c:85277:23: */ return Xsqlite3ValueText(tls, pVal, uint8(SQLITE_UTF16LE)) } -func Xsqlite3_value_text16be(tls *libc.TLS, pVal uintptr) uintptr { /* sqlite3.c:85267:23: */ +func Xsqlite3_value_text16be(tls *libc.TLS, pVal uintptr) uintptr { /* sqlite3.c:85280:23: */ return Xsqlite3ValueText(tls, pVal, uint8(SQLITE_UTF16BE)) } -func Xsqlite3_value_text16le(tls *libc.TLS, pVal uintptr) uintptr { /* sqlite3.c:85270:23: */ +func Xsqlite3_value_text16le(tls *libc.TLS, pVal uintptr) uintptr { /* sqlite3.c:85283:23: */ return Xsqlite3ValueText(tls, pVal, uint8(SQLITE_UTF16LE)) } // EVIDENCE-OF: R-12793-43283 Every value in SQLite has one of five // fundamental datatypes: 64-bit signed integer 64-bit IEEE floating // point number string BLOB NULL -func Xsqlite3_value_type(tls *libc.TLS, pVal uintptr) int32 { /* sqlite3.c:85278:16: */ +func Xsqlite3_value_type(tls *libc.TLS, pVal uintptr) int32 { /* sqlite3.c:85291:16: */ return int32(aType[int32((*Sqlite3_value)(unsafe.Pointer(pVal)).Fflags)&MEM_AffMask]) } @@ -60595,20 +60614,20 @@ var aType = [64]U8{ U8(SQLITE_NULL), // 0x3d (not possible) U8(SQLITE_FLOAT), // 0x3e (not possible) U8(SQLITE_NULL), // 0x3f (not possible) -} /* sqlite3.c:85279:19 */ +} /* sqlite3.c:85292:19 */ // Return true if a parameter to xUpdate represents an unchanged column -func Xsqlite3_value_nochange(tls *libc.TLS, pVal uintptr) int32 { /* sqlite3.c:85364:16: */ +func Xsqlite3_value_nochange(tls *libc.TLS, pVal uintptr) int32 { /* sqlite3.c:85377:16: */ return libc.Bool32(int32((*Sqlite3_value)(unsafe.Pointer(pVal)).Fflags)&(MEM_Null|MEM_Zero) == MEM_Null|MEM_Zero) } // Return true if a parameter value originated from an sqlite3_bind() -func Xsqlite3_value_frombind(tls *libc.TLS, pVal uintptr) int32 { /* sqlite3.c:85369:16: */ +func Xsqlite3_value_frombind(tls *libc.TLS, pVal uintptr) int32 { /* sqlite3.c:85382:16: */ return libc.Bool32(int32((*Sqlite3_value)(unsafe.Pointer(pVal)).Fflags)&MEM_FromBind != 0) } // Make a copy of an sqlite3_value object -func Xsqlite3_value_dup(tls *libc.TLS, pOrig uintptr) uintptr { /* sqlite3.c:85375:26: */ +func Xsqlite3_value_dup(tls *libc.TLS, pOrig uintptr) uintptr { /* sqlite3.c:85388:26: */ var pNew uintptr if pOrig == uintptr(0) { return uintptr(0) @@ -60634,7 +60653,7 @@ func Xsqlite3_value_dup(tls *libc.TLS, pOrig uintptr) uintptr { /* sqlite3.c:853 // Destroy an sqlite3_value object previously obtained from // sqlite3_value_dup(). -func Xsqlite3_value_free(tls *libc.TLS, pOld uintptr) { /* sqlite3.c:85398:17: */ +func Xsqlite3_value_free(tls *libc.TLS, pOld uintptr) { /* sqlite3.c:85411:17: */ Xsqlite3ValueFree(tls, pOld) } @@ -60649,7 +60668,7 @@ func Xsqlite3_value_free(tls *libc.TLS, pOld uintptr) { /* sqlite3.c:85398:17: * // // The invokeValueDestructor(P,X) routine invokes destructor function X() // on value P is not going to be used and need to be destroyed. -func setResultStrOrError(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, enc U8, xDel uintptr) { /* sqlite3.c:85414:13: */ +func setResultStrOrError(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, enc U8, xDel uintptr) { /* sqlite3.c:85427:13: */ var rc int32 = Xsqlite3VdbeMemSetStr(tls, (*Sqlite3_context)(unsafe.Pointer(pCtx)).FpOut, z, int64(n), enc, xDel) if rc != 0 { if rc == SQLITE_TOOBIG { @@ -60663,7 +60682,7 @@ func setResultStrOrError(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, enc U8 } } -func invokeValueDestructor(tls *libc.TLS, p uintptr, xDel uintptr, pCtx uintptr) int32 { /* sqlite3.c:85433:12: */ +func invokeValueDestructor(tls *libc.TLS, p uintptr, xDel uintptr, pCtx uintptr) int32 { /* sqlite3.c:85446:12: */ if xDel == uintptr(0) { // noop @@ -60676,12 +60695,12 @@ func invokeValueDestructor(tls *libc.TLS, p uintptr, xDel uintptr, pCtx uintptr) return SQLITE_TOOBIG } -func Xsqlite3_result_blob(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, xDel uintptr) { /* sqlite3.c:85449:17: */ +func Xsqlite3_result_blob(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, xDel uintptr) { /* sqlite3.c:85462:17: */ setResultStrOrError(tls, pCtx, z, n, uint8(0), xDel) } -func Xsqlite3_result_blob64(tls *libc.TLS, pCtx uintptr, z uintptr, n Sqlite3_uint64, xDel uintptr) { /* sqlite3.c:85459:17: */ +func Xsqlite3_result_blob64(tls *libc.TLS, pCtx uintptr, z uintptr, n Sqlite3_uint64, xDel uintptr) { /* sqlite3.c:85472:17: */ if n > uint64(0x7fffffff) { invokeValueDestructor(tls, z, xDel, pCtx) @@ -60690,39 +60709,39 @@ func Xsqlite3_result_blob64(tls *libc.TLS, pCtx uintptr, z uintptr, n Sqlite3_ui } } -func Xsqlite3_result_double(tls *libc.TLS, pCtx uintptr, rVal float64) { /* sqlite3.c:85473:17: */ +func Xsqlite3_result_double(tls *libc.TLS, pCtx uintptr, rVal float64) { /* sqlite3.c:85486:17: */ Xsqlite3VdbeMemSetDouble(tls, (*Sqlite3_context)(unsafe.Pointer(pCtx)).FpOut, rVal) } -func Xsqlite3_result_error(tls *libc.TLS, pCtx uintptr, z uintptr, n int32) { /* sqlite3.c:85477:17: */ +func Xsqlite3_result_error(tls *libc.TLS, pCtx uintptr, z uintptr, n int32) { /* sqlite3.c:85490:17: */ (*Sqlite3_context)(unsafe.Pointer(pCtx)).FisError = SQLITE_ERROR Xsqlite3VdbeMemSetStr(tls, (*Sqlite3_context)(unsafe.Pointer(pCtx)).FpOut, z, int64(n), uint8(SQLITE_UTF8), libc.UintptrFromInt32(-1)) } -func Xsqlite3_result_error16(tls *libc.TLS, pCtx uintptr, z uintptr, n int32) { /* sqlite3.c:85483:17: */ +func Xsqlite3_result_error16(tls *libc.TLS, pCtx uintptr, z uintptr, n int32) { /* sqlite3.c:85496:17: */ (*Sqlite3_context)(unsafe.Pointer(pCtx)).FisError = SQLITE_ERROR Xsqlite3VdbeMemSetStr(tls, (*Sqlite3_context)(unsafe.Pointer(pCtx)).FpOut, z, int64(n), uint8(SQLITE_UTF16LE), libc.UintptrFromInt32(-1)) } -func Xsqlite3_result_int(tls *libc.TLS, pCtx uintptr, iVal int32) { /* sqlite3.c:85489:17: */ +func Xsqlite3_result_int(tls *libc.TLS, pCtx uintptr, iVal int32) { /* sqlite3.c:85502:17: */ Xsqlite3VdbeMemSetInt64(tls, (*Sqlite3_context)(unsafe.Pointer(pCtx)).FpOut, I64(iVal)) } -func Xsqlite3_result_int64(tls *libc.TLS, pCtx uintptr, iVal I64) { /* sqlite3.c:85493:17: */ +func Xsqlite3_result_int64(tls *libc.TLS, pCtx uintptr, iVal I64) { /* sqlite3.c:85506:17: */ Xsqlite3VdbeMemSetInt64(tls, (*Sqlite3_context)(unsafe.Pointer(pCtx)).FpOut, iVal) } -func Xsqlite3_result_null(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:85497:17: */ +func Xsqlite3_result_null(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:85510:17: */ Xsqlite3VdbeMemSetNull(tls, (*Sqlite3_context)(unsafe.Pointer(pCtx)).FpOut) } -func Xsqlite3_result_pointer(tls *libc.TLS, pCtx uintptr, pPtr uintptr, zPType uintptr, xDestructor uintptr) { /* sqlite3.c:85501:17: */ +func Xsqlite3_result_pointer(tls *libc.TLS, pCtx uintptr, pPtr uintptr, zPType uintptr, xDestructor uintptr) { /* sqlite3.c:85514:17: */ var pOut uintptr = (*Sqlite3_context)(unsafe.Pointer(pCtx)).FpOut Xsqlite3VdbeMemRelease(tls, pOut) @@ -60730,19 +60749,19 @@ func Xsqlite3_result_pointer(tls *libc.TLS, pCtx uintptr, pPtr uintptr, zPType u Xsqlite3VdbeMemSetPointer(tls, pOut, pPtr, zPType, xDestructor) } -func Xsqlite3_result_subtype(tls *libc.TLS, pCtx uintptr, eSubtype uint32) { /* sqlite3.c:85513:17: */ +func Xsqlite3_result_subtype(tls *libc.TLS, pCtx uintptr, eSubtype uint32) { /* sqlite3.c:85526:17: */ var pOut uintptr = (*Sqlite3_context)(unsafe.Pointer(pCtx)).FpOut (*Mem)(unsafe.Pointer(pOut)).FeSubtype = U8(eSubtype & uint32(0xff)) *(*U16)(unsafe.Pointer(pOut + 8)) |= U16(MEM_Subtype) } -func Xsqlite3_result_text(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, xDel uintptr) { /* sqlite3.c:85519:17: */ +func Xsqlite3_result_text(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, xDel uintptr) { /* sqlite3.c:85532:17: */ setResultStrOrError(tls, pCtx, z, n, uint8(SQLITE_UTF8), xDel) } -func Xsqlite3_result_text64(tls *libc.TLS, pCtx uintptr, z uintptr, n Sqlite3_uint64, xDel uintptr, enc uint8) { /* sqlite3.c:85528:17: */ +func Xsqlite3_result_text64(tls *libc.TLS, pCtx uintptr, z uintptr, n Sqlite3_uint64, xDel uintptr, enc uint8) { /* sqlite3.c:85541:17: */ if int32(enc) == SQLITE_UTF16 { enc = uint8(SQLITE_UTF16LE) @@ -60754,32 +60773,32 @@ func Xsqlite3_result_text64(tls *libc.TLS, pCtx uintptr, z uintptr, n Sqlite3_ui } } -func Xsqlite3_result_text16(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, xDel uintptr) { /* sqlite3.c:85545:17: */ +func Xsqlite3_result_text16(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, xDel uintptr) { /* sqlite3.c:85558:17: */ setResultStrOrError(tls, pCtx, z, n, uint8(SQLITE_UTF16LE), xDel) } -func Xsqlite3_result_text16be(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, xDel uintptr) { /* sqlite3.c:85554:17: */ +func Xsqlite3_result_text16be(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, xDel uintptr) { /* sqlite3.c:85567:17: */ setResultStrOrError(tls, pCtx, z, n, uint8(SQLITE_UTF16BE), xDel) } -func Xsqlite3_result_text16le(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, xDel uintptr) { /* sqlite3.c:85563:17: */ +func Xsqlite3_result_text16le(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, xDel uintptr) { /* sqlite3.c:85576:17: */ setResultStrOrError(tls, pCtx, z, n, uint8(SQLITE_UTF16LE), xDel) } -func Xsqlite3_result_value(tls *libc.TLS, pCtx uintptr, pValue uintptr) { /* sqlite3.c:85573:17: */ +func Xsqlite3_result_value(tls *libc.TLS, pCtx uintptr, pValue uintptr) { /* sqlite3.c:85586:17: */ Xsqlite3VdbeMemCopy(tls, (*Sqlite3_context)(unsafe.Pointer(pCtx)).FpOut, pValue) } -func Xsqlite3_result_zeroblob(tls *libc.TLS, pCtx uintptr, n int32) { /* sqlite3.c:85577:17: */ +func Xsqlite3_result_zeroblob(tls *libc.TLS, pCtx uintptr, n int32) { /* sqlite3.c:85590:17: */ Xsqlite3VdbeMemSetZeroBlob(tls, (*Sqlite3_context)(unsafe.Pointer(pCtx)).FpOut, n) } -func Xsqlite3_result_zeroblob64(tls *libc.TLS, pCtx uintptr, n U64) int32 { /* sqlite3.c:85581:16: */ +func Xsqlite3_result_zeroblob64(tls *libc.TLS, pCtx uintptr, n U64) int32 { /* sqlite3.c:85594:16: */ var pOut uintptr = (*Sqlite3_context)(unsafe.Pointer(pCtx)).FpOut if n > U64(*(*int32)(unsafe.Pointer((*Mem)(unsafe.Pointer(pOut)).Fdb + 116))) { @@ -60789,7 +60808,7 @@ func Xsqlite3_result_zeroblob64(tls *libc.TLS, pCtx uintptr, n U64) int32 { /* s return SQLITE_OK } -func Xsqlite3_result_error_code(tls *libc.TLS, pCtx uintptr, errCode int32) { /* sqlite3.c:85594:17: */ +func Xsqlite3_result_error_code(tls *libc.TLS, pCtx uintptr, errCode int32) { /* sqlite3.c:85607:17: */ (*Sqlite3_context)(unsafe.Pointer(pCtx)).FisError = func() int32 { if errCode != 0 { return errCode @@ -60803,7 +60822,7 @@ func Xsqlite3_result_error_code(tls *libc.TLS, pCtx uintptr, errCode int32) { /* } // Force an SQLITE_TOOBIG error. -func Xsqlite3_result_error_toobig(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:85606:17: */ +func Xsqlite3_result_error_toobig(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:85619:17: */ (*Sqlite3_context)(unsafe.Pointer(pCtx)).FisError = SQLITE_TOOBIG Xsqlite3VdbeMemSetStr(tls, (*Sqlite3_context)(unsafe.Pointer(pCtx)).FpOut, ts+5278, int64(-1), @@ -60811,7 +60830,7 @@ func Xsqlite3_result_error_toobig(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:85 } // An SQLITE_NOMEM error. -func Xsqlite3_result_error_nomem(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:85614:17: */ +func Xsqlite3_result_error_nomem(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:85627:17: */ Xsqlite3VdbeMemSetNull(tls, (*Sqlite3_context)(unsafe.Pointer(pCtx)).FpOut) (*Sqlite3_context)(unsafe.Pointer(pCtx)).FisError = SQLITE_NOMEM @@ -60821,7 +60840,7 @@ func Xsqlite3_result_error_nomem(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:856 // Force the INT64 value currently stored as the result to be // a MEM_IntReal value. See the SQLITE_TESTCTRL_RESULT_INTREAL // test-control. -func Xsqlite3ResultIntReal(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:85626:21: */ +func Xsqlite3ResultIntReal(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:85639:21: */ if int32((*Mem)(unsafe.Pointer((*Sqlite3_context)(unsafe.Pointer(pCtx)).FpOut)).Fflags)&MEM_Int != 0 { *(*U16)(unsafe.Pointer((*Sqlite3_context)(unsafe.Pointer(pCtx)).FpOut + 8)) &= libc.Uint16FromInt32(libc.CplInt32(MEM_Int)) @@ -60831,7 +60850,7 @@ func Xsqlite3ResultIntReal(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:85626:21: // This function is called after a transaction has been committed. It // invokes callbacks registered with sqlite3_wal_hook() as required. -func doWalCallbacks(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:85640:12: */ +func doWalCallbacks(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:85653:12: */ var rc int32 = SQLITE_OK var i int32 for i = 0; i < (*Sqlite3)(unsafe.Pointer(db)).FnDb; i++ { @@ -60858,7 +60877,7 @@ func doWalCallbacks(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:85640:12: */ // API. The only thing omitted is the automatic recompile if a // schema change has occurred. That detail is handled by the // outer sqlite3_step() wrapper procedure. -func sqlite3Step(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:85670:12: */ +func sqlite3Step(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:85683:12: */ var db uintptr var rc int32 @@ -61025,14 +61044,14 @@ end_of_step: // This is the top-level implementation of sqlite3_step(). Call // sqlite3Step() to do most of the work. If a schema error occurs, // call sqlite3Reprepare() and try again. -func Xsqlite3_step(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:85804:16: */ +func Xsqlite3_step(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:85817:16: */ var rc int32 = SQLITE_OK // Result from sqlite3Step() var v uintptr = pStmt // the prepared statement var cnt int32 = 0 // Counter to prevent infinite loop of reprepares var db uintptr // The database connection if vdbeSafetyNotNull(tls, v) != 0 { - return Xsqlite3MisuseError(tls, 85811) + return Xsqlite3MisuseError(tls, 85824) } db = (*Vdbe)(unsafe.Pointer(v)).Fdb Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) @@ -61072,7 +61091,7 @@ func Xsqlite3_step(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:85804:16: // Extract the user data from a sqlite3_context structure and return a // pointer to it. -func Xsqlite3_user_data(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:85853:17: */ +func Xsqlite3_user_data(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:85866:17: */ return (*FuncDef)(unsafe.Pointer((*Sqlite3_context)(unsafe.Pointer(p)).FpFunc)).FpUserData } @@ -61085,7 +61104,7 @@ func Xsqlite3_user_data(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:85853:1 // parameter) of the sqlite3_create_function() and // sqlite3_create_function16() routines that originally registered the // application defined function. -func Xsqlite3_context_db_handle(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:85868:20: */ +func Xsqlite3_context_db_handle(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:85881:20: */ return (*Mem)(unsafe.Pointer((*Sqlite3_context)(unsafe.Pointer(p)).FpOut)).Fdb } @@ -61102,14 +61121,14 @@ func Xsqlite3_context_db_handle(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c // Virtual table implements might use this routine to optimize their // performance by substituting a NULL result, or some other light-weight // value, as a signal to the xUpdate routine that the column is unchanged. -func Xsqlite3_vtab_nochange(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:85887:16: */ +func Xsqlite3_vtab_nochange(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:85900:16: */ return Xsqlite3_value_nochange(tls, (*Sqlite3_context)(unsafe.Pointer(p)).FpOut) } // Implementation of sqlite3_vtab_in_first() (if bNext==0) and // sqlite3_vtab_in_next() (if bNext!=0). -func valueFromValueList(tls *libc.TLS, pVal uintptr, ppOut uintptr, bNext int32) int32 { /* sqlite3.c:85896:12: */ +func valueFromValueList(tls *libc.TLS, pVal uintptr, ppOut uintptr, bNext int32) int32 { /* sqlite3.c:85909:12: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -61167,13 +61186,13 @@ func valueFromValueList(tls *libc.TLS, pVal uintptr, ppOut uintptr, bNext int32) // Set the iterator value pVal to point to the first value in the set. // Set (*ppOut) to point to this value before returning. -func Xsqlite3_vtab_in_first(tls *libc.TLS, pVal uintptr, ppOut uintptr) int32 { /* sqlite3.c:85944:16: */ +func Xsqlite3_vtab_in_first(tls *libc.TLS, pVal uintptr, ppOut uintptr) int32 { /* sqlite3.c:85957:16: */ return valueFromValueList(tls, pVal, ppOut, 0) } // Set the iterator value pVal to point to the next value in the set. // Set (*ppOut) to point to this value before returning. -func Xsqlite3_vtab_in_next(tls *libc.TLS, pVal uintptr, ppOut uintptr) int32 { /* sqlite3.c:85952:16: */ +func Xsqlite3_vtab_in_next(tls *libc.TLS, pVal uintptr, ppOut uintptr) int32 { /* sqlite3.c:85965:16: */ return valueFromValueList(tls, pVal, ppOut, 1) } @@ -61182,7 +61201,7 @@ func Xsqlite3_vtab_in_next(tls *libc.TLS, pVal uintptr, ppOut uintptr) int32 { / // statement, the exact same time is returned for each invocation regardless // of the amount of time that elapses between invocations. In other words, // the time returned is always the time of the first call. -func Xsqlite3StmtCurrentTime(tls *libc.TLS, p uintptr) Sqlite3_int64 { /* sqlite3.c:85963:30: */ +func Xsqlite3StmtCurrentTime(tls *libc.TLS, p uintptr) Sqlite3_int64 { /* sqlite3.c:85976:30: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -61205,7 +61224,7 @@ func Xsqlite3StmtCurrentTime(tls *libc.TLS, p uintptr) Sqlite3_int64 { /* sqlite // Create a new aggregate context for p and return a pointer to // its pMem->z element. -func createAggContext(tls *libc.TLS, p uintptr, nByte int32) uintptr { /* sqlite3.c:85983:29: */ +func createAggContext(tls *libc.TLS, p uintptr, nByte int32) uintptr { /* sqlite3.c:85996:29: */ var pMem uintptr = (*Sqlite3_context)(unsafe.Pointer(p)).FpMem if nByte <= 0 { @@ -61225,7 +61244,7 @@ func createAggContext(tls *libc.TLS, p uintptr, nByte int32) uintptr { /* sqlite // Allocate or return the aggregate context for a user function. A new // context is allocated on the first call. Subsequent calls return the // same context that was returned on prior calls. -func Xsqlite3_aggregate_context(tls *libc.TLS, p uintptr, nByte int32) uintptr { /* sqlite3.c:86005:17: */ +func Xsqlite3_aggregate_context(tls *libc.TLS, p uintptr, nByte int32) uintptr { /* sqlite3.c:86018:17: */ if int32((*Mem)(unsafe.Pointer((*Sqlite3_context)(unsafe.Pointer(p)).FpMem)).Fflags)&MEM_Agg == 0 { return createAggContext(tls, p, nByte) @@ -61243,7 +61262,7 @@ func Xsqlite3_aggregate_context(tls *libc.TLS, p uintptr, nByte int32) uintptr { // Undocumented behavior: If iArg is negative then access a cache of // auxiliary data pointers that is available to all functions within a // single prepared statement. The iArg values must match. -func Xsqlite3_get_auxdata(tls *libc.TLS, pCtx uintptr, iArg int32) uintptr { /* sqlite3.c:86026:17: */ +func Xsqlite3_get_auxdata(tls *libc.TLS, pCtx uintptr, iArg int32) uintptr { /* sqlite3.c:86039:17: */ var pAuxData uintptr if (*Sqlite3_context)(unsafe.Pointer(pCtx)).FpVdbe == uintptr(0) { @@ -61266,7 +61285,7 @@ func Xsqlite3_get_auxdata(tls *libc.TLS, pCtx uintptr, iArg int32) uintptr { /* // Undocumented behavior: If iArg is negative then make the data available // 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) { /* sqlite3.c:86054:17: */ +func Xsqlite3_set_auxdata(tls *libc.TLS, pCtx uintptr, iArg int32, pAux uintptr, xDelete uintptr) { /* sqlite3.c:86067:17: */ var pAuxData uintptr var pVdbe uintptr pVdbe = (*Sqlite3_context)(unsafe.Pointer(pCtx)).FpVdbe @@ -61346,13 +61365,13 @@ __11: // provide only to avoid breaking legacy code. New aggregate function // implementations should keep their own counts within their aggregate // context. -func Xsqlite3_aggregate_count(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:86107:16: */ +func Xsqlite3_aggregate_count(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:86120:16: */ return (*Mem)(unsafe.Pointer((*Sqlite3_context)(unsafe.Pointer(p)).FpMem)).Fn } // Return the number of columns in the result set for the statement pStmt. -func Xsqlite3_column_count(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:86116:16: */ +func Xsqlite3_column_count(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:86129:16: */ var pVm uintptr = pStmt if pVm != 0 { return int32((*Vdbe)(unsafe.Pointer(pVm)).FnResColumn) @@ -61362,7 +61381,7 @@ func Xsqlite3_column_count(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:86 // Return the number of values available from the current row of the // currently executing statement pStmt. -func Xsqlite3_data_count(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:86125:16: */ +func Xsqlite3_data_count(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:86138:16: */ var pVm uintptr = pStmt if pVm == uintptr(0) || (*Vdbe)(unsafe.Pointer(pVm)).FpResultSet == uintptr(0) { return 0 @@ -61371,19 +61390,19 @@ func Xsqlite3_data_count(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:8612 } // Return a pointer to static memory containing an SQL NULL value. -func columnNullValue(tls *libc.TLS) uintptr { /* sqlite3.c:86134:18: */ +func columnNullValue(tls *libc.TLS) uintptr { /* sqlite3.c:86147:18: */ return uintptr(unsafe.Pointer(&nullMem)) } var nullMem = Mem{ /* .flags = */ Fflags: U16(MEM_Null), -} /* sqlite3.c:86144:20 */ +} /* sqlite3.c:86157:20 */ // Check to see if column iCol of the given statement is valid. If // it is, return a pointer to the Mem for the value of that column. // If iCol is not valid, return a pointer to a Mem which has a value // of NULL. -func columnMem(tls *libc.TLS, pStmt uintptr, i int32) uintptr { /* sqlite3.c:86174:12: */ +func columnMem(tls *libc.TLS, pStmt uintptr, i int32) uintptr { /* sqlite3.c:86187:12: */ var pVm uintptr var pOut uintptr @@ -61418,7 +61437,7 @@ func columnMem(tls *libc.TLS, pStmt uintptr, i int32) uintptr { /* sqlite3.c:861 // sqlite3_column_bytes() // sqlite3_column_bytes16() // sqiite3_column_blob() -func columnMallocFailure(tls *libc.TLS, pStmt uintptr) { /* sqlite3.c:86209:13: */ +func columnMallocFailure(tls *libc.TLS, pStmt uintptr) { /* sqlite3.c:86222:13: */ // If malloc() failed during an encoding conversion within an // sqlite3_column_XXX API, then set the return code of the statement to // SQLITE_NOMEM. The next call to _step() (if any) will return SQLITE_ERROR @@ -61435,7 +61454,7 @@ func columnMallocFailure(tls *libc.TLS, pStmt uintptr) { /* sqlite3.c:86209:13: // // The following routines are used to access elements of the current row // in the result set. -func Xsqlite3_column_blob(tls *libc.TLS, pStmt uintptr, i int32) uintptr { /* sqlite3.c:86229:23: */ +func Xsqlite3_column_blob(tls *libc.TLS, pStmt uintptr, i int32) uintptr { /* sqlite3.c:86242:23: */ var val uintptr val = Xsqlite3_value_blob(tls, columnMem(tls, pStmt, i)) // Even though there is no encoding conversion, value_blob() might @@ -61445,43 +61464,43 @@ func Xsqlite3_column_blob(tls *libc.TLS, pStmt uintptr, i int32) uintptr { /* sq return val } -func Xsqlite3_column_bytes(tls *libc.TLS, pStmt uintptr, i int32) int32 { /* sqlite3.c:86239:16: */ +func Xsqlite3_column_bytes(tls *libc.TLS, pStmt uintptr, i int32) int32 { /* sqlite3.c:86252:16: */ var val int32 = Xsqlite3_value_bytes(tls, columnMem(tls, pStmt, i)) columnMallocFailure(tls, pStmt) return val } -func Xsqlite3_column_bytes16(tls *libc.TLS, pStmt uintptr, i int32) int32 { /* sqlite3.c:86244:16: */ +func Xsqlite3_column_bytes16(tls *libc.TLS, pStmt uintptr, i int32) int32 { /* sqlite3.c:86257:16: */ var val int32 = Xsqlite3_value_bytes16(tls, columnMem(tls, pStmt, i)) columnMallocFailure(tls, pStmt) return val } -func Xsqlite3_column_double(tls *libc.TLS, pStmt uintptr, i int32) float64 { /* sqlite3.c:86249:19: */ +func Xsqlite3_column_double(tls *libc.TLS, pStmt uintptr, i int32) float64 { /* sqlite3.c:86262:19: */ var val float64 = Xsqlite3_value_double(tls, columnMem(tls, pStmt, i)) columnMallocFailure(tls, pStmt) return val } -func Xsqlite3_column_int(tls *libc.TLS, pStmt uintptr, i int32) int32 { /* sqlite3.c:86254:16: */ +func Xsqlite3_column_int(tls *libc.TLS, pStmt uintptr, i int32) int32 { /* sqlite3.c:86267:16: */ var val int32 = Xsqlite3_value_int(tls, columnMem(tls, pStmt, i)) columnMallocFailure(tls, pStmt) return val } -func Xsqlite3_column_int64(tls *libc.TLS, pStmt uintptr, i int32) Sqlite_int64 { /* sqlite3.c:86259:25: */ +func Xsqlite3_column_int64(tls *libc.TLS, pStmt uintptr, i int32) Sqlite_int64 { /* sqlite3.c:86272:25: */ var val Sqlite_int64 = Xsqlite3_value_int64(tls, columnMem(tls, pStmt, i)) columnMallocFailure(tls, pStmt) return val } -func Xsqlite3_column_text(tls *libc.TLS, pStmt uintptr, i int32) uintptr { /* sqlite3.c:86264:32: */ +func Xsqlite3_column_text(tls *libc.TLS, pStmt uintptr, i int32) uintptr { /* sqlite3.c:86277:32: */ var val uintptr = Xsqlite3_value_text(tls, columnMem(tls, pStmt, i)) columnMallocFailure(tls, pStmt) return val } -func Xsqlite3_column_value(tls *libc.TLS, pStmt uintptr, i int32) uintptr { /* sqlite3.c:86269:26: */ +func Xsqlite3_column_value(tls *libc.TLS, pStmt uintptr, i int32) uintptr { /* sqlite3.c:86282:26: */ var pOut uintptr = columnMem(tls, pStmt, i) if int32((*Mem)(unsafe.Pointer(pOut)).Fflags)&MEM_Static != 0 { *(*U16)(unsafe.Pointer(pOut + 8)) &= libc.Uint16FromInt32(libc.CplInt32(MEM_Static)) @@ -61491,13 +61510,13 @@ func Xsqlite3_column_value(tls *libc.TLS, pStmt uintptr, i int32) uintptr { /* s return pOut } -func Xsqlite3_column_text16(tls *libc.TLS, pStmt uintptr, i int32) uintptr { /* sqlite3.c:86279:23: */ +func Xsqlite3_column_text16(tls *libc.TLS, pStmt uintptr, i int32) uintptr { /* sqlite3.c:86292:23: */ var val uintptr = Xsqlite3_value_text16(tls, columnMem(tls, pStmt, i)) columnMallocFailure(tls, pStmt) return val } -func Xsqlite3_column_type(tls *libc.TLS, pStmt uintptr, i int32) int32 { /* sqlite3.c:86285:16: */ +func Xsqlite3_column_type(tls *libc.TLS, pStmt uintptr, i int32) int32 { /* sqlite3.c:86298:16: */ var iType int32 = Xsqlite3_value_type(tls, columnMem(tls, pStmt, i)) columnMallocFailure(tls, pStmt) return iType @@ -61517,7 +61536,7 @@ func Xsqlite3_column_type(tls *libc.TLS, pStmt uintptr, i int32) int32 { /* sqli // // If the result is not a simple column reference (if it is an expression // or a constant) then useTypes 2, 3, and 4 return NULL. -func columnName(tls *libc.TLS, pStmt uintptr, N int32, useUtf16 int32, useType int32) uintptr { /* sqlite3.c:86307:19: */ +func columnName(tls *libc.TLS, pStmt uintptr, N int32, useUtf16 int32, useType int32) uintptr { /* sqlite3.c:86320:19: */ var ret uintptr var p uintptr var n int32 @@ -61549,11 +61568,11 @@ func columnName(tls *libc.TLS, pStmt uintptr, N int32, useUtf16 int32, useType i // Return the name of the Nth column of the result set returned by SQL // statement pStmt. -func Xsqlite3_column_name(tls *libc.TLS, pStmt uintptr, N int32) uintptr { /* sqlite3.c:86356:23: */ +func Xsqlite3_column_name(tls *libc.TLS, pStmt uintptr, N int32) uintptr { /* sqlite3.c:86369:23: */ return columnName(tls, pStmt, N, 0, COLNAME_NAME) } -func Xsqlite3_column_name16(tls *libc.TLS, pStmt uintptr, N int32) uintptr { /* sqlite3.c:86360:23: */ +func Xsqlite3_column_name16(tls *libc.TLS, pStmt uintptr, N int32) uintptr { /* sqlite3.c:86373:23: */ return columnName(tls, pStmt, N, 1, COLNAME_NAME) } @@ -61562,44 +61581,44 @@ func Xsqlite3_column_name16(tls *libc.TLS, pStmt uintptr, N int32) uintptr { /* // Return the column declaration type (if applicable) of the 'i'th column // of the result set of SQL statement pStmt. -func Xsqlite3_column_decltype(tls *libc.TLS, pStmt uintptr, N int32) uintptr { /* sqlite3.c:86379:23: */ +func Xsqlite3_column_decltype(tls *libc.TLS, pStmt uintptr, N int32) uintptr { /* sqlite3.c:86392:23: */ return columnName(tls, pStmt, N, 0, COLNAME_DECLTYPE) } -func Xsqlite3_column_decltype16(tls *libc.TLS, pStmt uintptr, N int32) uintptr { /* sqlite3.c:86383:23: */ +func Xsqlite3_column_decltype16(tls *libc.TLS, pStmt uintptr, N int32) uintptr { /* sqlite3.c:86396:23: */ return columnName(tls, pStmt, N, 1, COLNAME_DECLTYPE) } // Return the name of the database from which a result column derives. // NULL is returned if the result column is an expression or constant or // anything else which is not an unambiguous reference to a database column. -func Xsqlite3_column_database_name(tls *libc.TLS, pStmt uintptr, N int32) uintptr { /* sqlite3.c:86395:23: */ +func Xsqlite3_column_database_name(tls *libc.TLS, pStmt uintptr, N int32) uintptr { /* sqlite3.c:86408:23: */ return columnName(tls, pStmt, N, 0, COLNAME_DATABASE) } -func Xsqlite3_column_database_name16(tls *libc.TLS, pStmt uintptr, N int32) uintptr { /* sqlite3.c:86399:23: */ +func Xsqlite3_column_database_name16(tls *libc.TLS, pStmt uintptr, N int32) uintptr { /* sqlite3.c:86412:23: */ return columnName(tls, pStmt, N, 1, COLNAME_DATABASE) } // Return the name of the table from which a result column derives. // NULL is returned if the result column is an expression or constant or // anything else which is not an unambiguous reference to a database column. -func Xsqlite3_column_table_name(tls *libc.TLS, pStmt uintptr, N int32) uintptr { /* sqlite3.c:86409:23: */ +func Xsqlite3_column_table_name(tls *libc.TLS, pStmt uintptr, N int32) uintptr { /* sqlite3.c:86422:23: */ return columnName(tls, pStmt, N, 0, COLNAME_TABLE) } -func Xsqlite3_column_table_name16(tls *libc.TLS, pStmt uintptr, N int32) uintptr { /* sqlite3.c:86413:23: */ +func Xsqlite3_column_table_name16(tls *libc.TLS, pStmt uintptr, N int32) uintptr { /* sqlite3.c:86426:23: */ return columnName(tls, pStmt, N, 1, COLNAME_TABLE) } // Return the name of the table column from which a result column derives. // NULL is returned if the result column is an expression or constant or // anything else which is not an unambiguous reference to a database column. -func Xsqlite3_column_origin_name(tls *libc.TLS, pStmt uintptr, N int32) uintptr { /* sqlite3.c:86423:23: */ +func Xsqlite3_column_origin_name(tls *libc.TLS, pStmt uintptr, N int32) uintptr { /* sqlite3.c:86436:23: */ return columnName(tls, pStmt, N, 0, COLNAME_COLUMN) } -func Xsqlite3_column_origin_name16(tls *libc.TLS, pStmt uintptr, N int32) uintptr { /* sqlite3.c:86427:23: */ +func Xsqlite3_column_origin_name16(tls *libc.TLS, pStmt uintptr, N int32) uintptr { /* sqlite3.c:86440:23: */ return columnName(tls, pStmt, N, 1, COLNAME_COLUMN) } @@ -61616,13 +61635,13 @@ func Xsqlite3_column_origin_name16(tls *libc.TLS, pStmt uintptr, N int32) uintpt // // The error code stored in database p->db is overwritten with the return // value in any case. -func vdbeUnbind(tls *libc.TLS, p uintptr, i int32) int32 { /* sqlite3.c:86449:12: */ +func vdbeUnbind(tls *libc.TLS, p uintptr, i int32) int32 { /* sqlite3.c:86462:12: */ bp := tls.Alloc(8) defer tls.Free(8) var pVar uintptr if vdbeSafetyNotNull(tls, p) != 0 { - return Xsqlite3MisuseError(tls, 86452) + return Xsqlite3MisuseError(tls, 86465) } Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer((*Vdbe)(unsafe.Pointer(p)).Fdb)).Fmutex) if (*Vdbe)(unsafe.Pointer(p)).FiVdbeMagic != U32(VDBE_MAGIC_RUN) || (*Vdbe)(unsafe.Pointer(p)).Fpc >= 0 { @@ -61630,7 +61649,7 @@ func vdbeUnbind(tls *libc.TLS, p uintptr, i int32) int32 { /* sqlite3.c:86449:12 Xsqlite3_mutex_leave(tls, (*Sqlite3)(unsafe.Pointer((*Vdbe)(unsafe.Pointer(p)).Fdb)).Fmutex) Xsqlite3_log(tls, SQLITE_MISUSE, ts+5311, libc.VaList(bp, (*Vdbe)(unsafe.Pointer(p)).FzSql)) - return Xsqlite3MisuseError(tls, 86460) + return Xsqlite3MisuseError(tls, 86473) } if i < 1 || i > int32((*Vdbe)(unsafe.Pointer(p)).FnVar) { Xsqlite3Error(tls, (*Vdbe)(unsafe.Pointer(p)).Fdb, SQLITE_RANGE) @@ -61664,7 +61683,7 @@ func vdbeUnbind(tls *libc.TLS, p uintptr, i int32) int32 { /* sqlite3.c:86449:12 } // Bind a text or BLOB value. -func bindText(tls *libc.TLS, pStmt uintptr, i int32, zData uintptr, nData I64, xDel uintptr, encoding U8) int32 { /* sqlite3.c:86492:12: */ +func bindText(tls *libc.TLS, pStmt uintptr, i int32, zData uintptr, nData I64, xDel uintptr, encoding U8) int32 { /* sqlite3.c:86505:12: */ var p uintptr = pStmt var pVar uintptr var rc int32 @@ -61690,16 +61709,16 @@ func bindText(tls *libc.TLS, pStmt uintptr, i int32, zData uintptr, nData I64, x } // 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) int32 { /* sqlite3.c:86528:16: */ +func Xsqlite3_bind_blob(tls *libc.TLS, pStmt uintptr, i int32, zData uintptr, nData int32, xDel uintptr) int32 { /* sqlite3.c:86541:16: */ return bindText(tls, pStmt, i, zData, int64(nData), xDel, uint8(0)) } -func Xsqlite3_bind_blob64(tls *libc.TLS, pStmt uintptr, i int32, zData uintptr, nData Sqlite3_uint64, xDel uintptr) int32 { /* sqlite3.c:86540:16: */ +func Xsqlite3_bind_blob64(tls *libc.TLS, pStmt uintptr, i int32, zData uintptr, nData Sqlite3_uint64, xDel uintptr) int32 { /* sqlite3.c:86553:16: */ return bindText(tls, pStmt, i, zData, int64(nData), xDel, uint8(0)) } -func Xsqlite3_bind_double(tls *libc.TLS, pStmt uintptr, i int32, rValue float64) int32 { /* sqlite3.c:86550:16: */ +func Xsqlite3_bind_double(tls *libc.TLS, pStmt uintptr, i int32, rValue float64) int32 { /* sqlite3.c:86563:16: */ var rc int32 var p uintptr = pStmt rc = vdbeUnbind(tls, p, i) @@ -61710,11 +61729,11 @@ func Xsqlite3_bind_double(tls *libc.TLS, pStmt uintptr, i int32, rValue float64) return rc } -func Xsqlite3_bind_int(tls *libc.TLS, p uintptr, i int32, iValue int32) int32 { /* sqlite3.c:86560:16: */ +func Xsqlite3_bind_int(tls *libc.TLS, p uintptr, i int32, iValue int32) int32 { /* sqlite3.c:86573:16: */ return Xsqlite3_bind_int64(tls, p, i, I64(iValue)) } -func Xsqlite3_bind_int64(tls *libc.TLS, pStmt uintptr, i int32, iValue Sqlite_int64) int32 { /* sqlite3.c:86563:16: */ +func Xsqlite3_bind_int64(tls *libc.TLS, pStmt uintptr, i int32, iValue Sqlite_int64) int32 { /* sqlite3.c:86576:16: */ var rc int32 var p uintptr = pStmt rc = vdbeUnbind(tls, p, i) @@ -61725,7 +61744,7 @@ func Xsqlite3_bind_int64(tls *libc.TLS, pStmt uintptr, i int32, iValue Sqlite_in return rc } -func Xsqlite3_bind_null(tls *libc.TLS, pStmt uintptr, i int32) int32 { /* sqlite3.c:86573:16: */ +func Xsqlite3_bind_null(tls *libc.TLS, pStmt uintptr, i int32) int32 { /* sqlite3.c:86586:16: */ var rc int32 var p uintptr = pStmt rc = vdbeUnbind(tls, p, i) @@ -61735,7 +61754,7 @@ func Xsqlite3_bind_null(tls *libc.TLS, pStmt uintptr, i int32) int32 { /* sqlite return rc } -func Xsqlite3_bind_pointer(tls *libc.TLS, pStmt uintptr, i int32, pPtr uintptr, zPTtype uintptr, xDestructor uintptr) int32 { /* sqlite3.c:86582:16: */ +func Xsqlite3_bind_pointer(tls *libc.TLS, pStmt uintptr, i int32, pPtr uintptr, zPTtype uintptr, xDestructor uintptr) int32 { /* sqlite3.c:86595:16: */ var rc int32 var p uintptr = pStmt rc = vdbeUnbind(tls, p, i) @@ -61748,11 +61767,11 @@ func Xsqlite3_bind_pointer(tls *libc.TLS, pStmt uintptr, i int32, pPtr uintptr, return rc } -func Xsqlite3_bind_text(tls *libc.TLS, pStmt uintptr, i int32, zData uintptr, nData int32, xDel uintptr) int32 { /* sqlite3.c:86600:16: */ +func Xsqlite3_bind_text(tls *libc.TLS, pStmt uintptr, i int32, zData uintptr, nData int32, xDel uintptr) int32 { /* sqlite3.c:86613:16: */ return bindText(tls, pStmt, i, zData, int64(nData), xDel, uint8(SQLITE_UTF8)) } -func Xsqlite3_bind_text64(tls *libc.TLS, pStmt uintptr, i int32, zData uintptr, nData Sqlite3_uint64, xDel uintptr, enc uint8) int32 { /* sqlite3.c:86609:16: */ +func Xsqlite3_bind_text64(tls *libc.TLS, pStmt uintptr, i int32, zData uintptr, nData Sqlite3_uint64, xDel uintptr, enc uint8) int32 { /* sqlite3.c:86622:16: */ if int32(enc) == SQLITE_UTF16 { enc = uint8(SQLITE_UTF16LE) @@ -61760,11 +61779,11 @@ func Xsqlite3_bind_text64(tls *libc.TLS, pStmt uintptr, i int32, zData uintptr, return bindText(tls, pStmt, i, zData, int64(nData), xDel, enc) } -func Xsqlite3_bind_text16(tls *libc.TLS, pStmt uintptr, i int32, zData uintptr, nData int32, xDel uintptr) int32 { /* sqlite3.c:86622:16: */ +func Xsqlite3_bind_text16(tls *libc.TLS, pStmt uintptr, i int32, zData uintptr, nData int32, xDel uintptr) int32 { /* sqlite3.c:86635:16: */ return bindText(tls, pStmt, i, zData, int64(nData), xDel, uint8(SQLITE_UTF16LE)) } -func Xsqlite3_bind_value(tls *libc.TLS, pStmt uintptr, i int32, pValue uintptr) int32 { /* sqlite3.c:86632:16: */ +func Xsqlite3_bind_value(tls *libc.TLS, pStmt uintptr, i int32, pValue uintptr) int32 { /* sqlite3.c:86645:16: */ var rc int32 switch Xsqlite3_value_type(tls, pValue) { case SQLITE_INTEGER: @@ -61813,7 +61832,7 @@ func Xsqlite3_bind_value(tls *libc.TLS, pStmt uintptr, i int32, pValue uintptr) return rc } -func Xsqlite3_bind_zeroblob(tls *libc.TLS, pStmt uintptr, i int32, n int32) int32 { /* sqlite3.c:86666:16: */ +func Xsqlite3_bind_zeroblob(tls *libc.TLS, pStmt uintptr, i int32, n int32) int32 { /* sqlite3.c:86679:16: */ var rc int32 var p uintptr = pStmt rc = vdbeUnbind(tls, p, i) @@ -61824,7 +61843,7 @@ func Xsqlite3_bind_zeroblob(tls *libc.TLS, pStmt uintptr, i int32, n int32) int3 return rc } -func Xsqlite3_bind_zeroblob64(tls *libc.TLS, pStmt uintptr, i int32, n Sqlite3_uint64) int32 { /* sqlite3.c:86680:16: */ +func Xsqlite3_bind_zeroblob64(tls *libc.TLS, pStmt uintptr, i int32, n Sqlite3_uint64) int32 { /* sqlite3.c:86693:16: */ var rc int32 var p uintptr = pStmt Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer((*Vdbe)(unsafe.Pointer(p)).Fdb)).Fmutex) @@ -61841,7 +61860,7 @@ func Xsqlite3_bind_zeroblob64(tls *libc.TLS, pStmt uintptr, i int32, n Sqlite3_u // Return the number of wildcards that can be potentially bound to. // This routine is added to support DBD::SQLite. -func Xsqlite3_bind_parameter_count(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:86699:16: */ +func Xsqlite3_bind_parameter_count(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:86712:16: */ var p uintptr = pStmt if p != 0 { return int32((*Vdbe)(unsafe.Pointer(p)).FnVar) @@ -61853,7 +61872,7 @@ func Xsqlite3_bind_parameter_count(tls *libc.TLS, pStmt uintptr) int32 { /* sqli // is out of range or if the wildcard is unnamed. // // The result is always UTF-8. -func Xsqlite3_bind_parameter_name(tls *libc.TLS, pStmt uintptr, i int32) uintptr { /* sqlite3.c:86710:23: */ +func Xsqlite3_bind_parameter_name(tls *libc.TLS, pStmt uintptr, i int32) uintptr { /* sqlite3.c:86723:23: */ var p uintptr = pStmt if p == uintptr(0) { return uintptr(0) @@ -61864,19 +61883,19 @@ func Xsqlite3_bind_parameter_name(tls *libc.TLS, pStmt uintptr, i int32) uintptr // Given a wildcard parameter name, return the index of the variable // with that name. If there is no variable with the given name, // return 0. -func Xsqlite3VdbeParameterIndex(tls *libc.TLS, p uintptr, zName uintptr, nName int32) int32 { /* sqlite3.c:86721:20: */ +func Xsqlite3VdbeParameterIndex(tls *libc.TLS, p uintptr, zName uintptr, nName int32) int32 { /* sqlite3.c:86734:20: */ if p == uintptr(0) || zName == uintptr(0) { return 0 } return Xsqlite3VListNameToNum(tls, (*Vdbe)(unsafe.Pointer(p)).FpVList, zName, nName) } -func Xsqlite3_bind_parameter_index(tls *libc.TLS, pStmt uintptr, zName uintptr) int32 { /* sqlite3.c:86725:16: */ +func Xsqlite3_bind_parameter_index(tls *libc.TLS, pStmt uintptr, zName uintptr) int32 { /* sqlite3.c:86738:16: */ return Xsqlite3VdbeParameterIndex(tls, pStmt, zName, Xsqlite3Strlen30(tls, zName)) } // Transfer all bindings from the first statement over to the second. -func Xsqlite3TransferBindings(tls *libc.TLS, pFromStmt uintptr, pToStmt uintptr) int32 { /* sqlite3.c:86732:20: */ +func Xsqlite3TransferBindings(tls *libc.TLS, pFromStmt uintptr, pToStmt uintptr) int32 { /* sqlite3.c:86745:20: */ var pFrom uintptr = pFromStmt var pTo uintptr = pToStmt var i int32 @@ -61899,7 +61918,7 @@ func Xsqlite3TransferBindings(tls *libc.TLS, pFromStmt uintptr, pToStmt uintptr) // If the two statements contain a different number of bindings, then // an SQLITE_ERROR is returned. Nothing else can go wrong, so otherwise // SQLITE_OK is returned. -func Xsqlite3_transfer_bindings(tls *libc.TLS, pFromStmt uintptr, pToStmt uintptr) int32 { /* sqlite3.c:86759:16: */ +func Xsqlite3_transfer_bindings(tls *libc.TLS, pFromStmt uintptr, pToStmt uintptr) int32 { /* sqlite3.c:86772:16: */ var pFrom uintptr = pFromStmt var pTo uintptr = pToStmt if int32((*Vdbe)(unsafe.Pointer(pFrom)).FnVar) != int32((*Vdbe)(unsafe.Pointer(pTo)).FnVar) { @@ -61920,7 +61939,7 @@ func Xsqlite3_transfer_bindings(tls *libc.TLS, pFromStmt uintptr, pToStmt uintpt // in the argument belongs. This is the same database handle that was // the first argument to the sqlite3_prepare() that was used to create // the statement in the first place. -func Xsqlite3_db_handle(tls *libc.TLS, pStmt uintptr) uintptr { /* sqlite3.c:86783:20: */ +func Xsqlite3_db_handle(tls *libc.TLS, pStmt uintptr) uintptr { /* sqlite3.c:86796:20: */ if pStmt != 0 { return (*Vdbe)(unsafe.Pointer(pStmt)).Fdb } @@ -61929,7 +61948,7 @@ func Xsqlite3_db_handle(tls *libc.TLS, pStmt uintptr) uintptr { /* sqlite3.c:867 // Return true if the prepared statement is guaranteed to not modify the // database. -func Xsqlite3_stmt_readonly(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:86791:16: */ +func Xsqlite3_stmt_readonly(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:86804:16: */ if pStmt != 0 { return int32(*(*uint16)(unsafe.Pointer(pStmt + 148)) & 0x80 >> 7) } @@ -61938,7 +61957,7 @@ func Xsqlite3_stmt_readonly(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:8 // Return 1 if the statement is an EXPLAIN and return 2 if the // statement is an EXPLAIN QUERY PLAN -func Xsqlite3_stmt_isexplain(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:86799:16: */ +func Xsqlite3_stmt_isexplain(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:86812:16: */ if pStmt != 0 { return int32(*(*uint16)(unsafe.Pointer(pStmt + 148)) & 0xc >> 2) } @@ -61946,7 +61965,7 @@ func Xsqlite3_stmt_isexplain(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c: } // Return true if the prepared statement is in need of being reset. -func Xsqlite3_stmt_busy(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:86806:16: */ +func Xsqlite3_stmt_busy(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:86819:16: */ var v uintptr = pStmt return libc.Bool32(v != uintptr(0) && (*Vdbe)(unsafe.Pointer(v)).FiVdbeMagic == U32(VDBE_MAGIC_RUN) && (*Vdbe)(unsafe.Pointer(v)).Fpc >= 0) } @@ -61955,7 +61974,7 @@ func Xsqlite3_stmt_busy(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:86806 // with database connection pDb. If pStmt is NULL, return the first // prepared statement for the database connection. Return NULL if there // are no more. -func Xsqlite3_next_stmt(tls *libc.TLS, pDb uintptr, pStmt uintptr) uintptr { /* sqlite3.c:86817:25: */ +func Xsqlite3_next_stmt(tls *libc.TLS, pDb uintptr, pStmt uintptr) uintptr { /* sqlite3.c:86830:25: */ var pNext uintptr Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(pDb)).Fmutex) if pStmt == uintptr(0) { @@ -61968,7 +61987,7 @@ func Xsqlite3_next_stmt(tls *libc.TLS, pDb uintptr, pStmt uintptr) uintptr { /* } // Return the value of a status counter for a prepared statement -func Xsqlite3_stmt_status(tls *libc.TLS, pStmt uintptr, op int32, resetFlag int32) int32 { /* sqlite3.c:86838:16: */ +func Xsqlite3_stmt_status(tls *libc.TLS, pStmt uintptr, op int32, resetFlag int32) int32 { /* sqlite3.c:86851:16: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -61994,7 +62013,7 @@ func Xsqlite3_stmt_status(tls *libc.TLS, pStmt uintptr, op int32, resetFlag int3 } // Return the SQL associated with a prepared statement -func Xsqlite3_sql(tls *libc.TLS, pStmt uintptr) uintptr { /* sqlite3.c:86868:23: */ +func Xsqlite3_sql(tls *libc.TLS, pStmt uintptr) uintptr { /* sqlite3.c:86881:23: */ var p uintptr = pStmt if p != 0 { return (*Vdbe)(unsafe.Pointer(p)).FzSql @@ -62009,7 +62028,7 @@ func Xsqlite3_sql(tls *libc.TLS, pStmt uintptr) uintptr { /* sqlite3.c:86868:23: // // The SQLITE_TRACE_SIZE_LIMIT puts an upper bound on the size of // expanded bound parameters. -func Xsqlite3_expanded_sql(tls *libc.TLS, pStmt uintptr) uintptr { /* sqlite3.c:86882:17: */ +func Xsqlite3_expanded_sql(tls *libc.TLS, pStmt uintptr) uintptr { /* sqlite3.c:86895:17: */ var z uintptr = uintptr(0) var zSql uintptr = Xsqlite3_sql(tls, pStmt) if zSql != 0 { @@ -62024,7 +62043,7 @@ func Xsqlite3_expanded_sql(tls *libc.TLS, pStmt uintptr) uintptr { /* sqlite3.c: // Allocate and populate an UnpackedRecord structure based on the serialized // record in nKey/pKey. Return a pointer to the new UnpackedRecord structure // if successful, or a NULL pointer if an OOM error is encountered. -func vdbeUnpackRecord(tls *libc.TLS, pKeyInfo uintptr, nKey int32, pKey uintptr) uintptr { /* sqlite3.c:86920:23: */ +func vdbeUnpackRecord(tls *libc.TLS, pKeyInfo uintptr, nKey int32, pKey uintptr) uintptr { /* sqlite3.c:86933:23: */ var pRet uintptr // Return value pRet = Xsqlite3VdbeAllocUnpackedRecord(tls, pKeyInfo) @@ -62037,7 +62056,7 @@ func vdbeUnpackRecord(tls *libc.TLS, pKeyInfo uintptr, nKey int32, pKey uintptr) // This function is called from within a pre-update callback to retrieve // a field of the row currently being updated or deleted. -func Xsqlite3_preupdate_old(tls *libc.TLS, db uintptr, iIdx int32, ppValue uintptr) int32 { /* sqlite3.c:86939:16: */ +func Xsqlite3_preupdate_old(tls *libc.TLS, db uintptr, iIdx int32, ppValue uintptr) int32 { /* sqlite3.c:86952:16: */ var p uintptr var pMem uintptr var rc int32 @@ -62051,7 +62070,7 @@ func Xsqlite3_preupdate_old(tls *libc.TLS, db uintptr, iIdx int32, ppValue uintp if !(!(p != 0) || (*PreUpdate)(unsafe.Pointer(p)).Fop == SQLITE_INSERT) { goto __1 } - rc = Xsqlite3MisuseError(tls, 86947) + rc = Xsqlite3MisuseError(tls, 86960) goto preupdate_old_out __1: ; @@ -62143,7 +62162,7 @@ preupdate_old_out: // This function is called from within a pre-update callback to retrieve // the number of columns in the row being updated, deleted or inserted. -func Xsqlite3_preupdate_count(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:87003:16: */ +func Xsqlite3_preupdate_count(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:87016:16: */ var p uintptr = (*Sqlite3)(unsafe.Pointer(db)).FpPreUpdate return func() int32 { if p != 0 { @@ -62162,7 +62181,7 @@ func Xsqlite3_preupdate_count(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:87 // // For the purposes of the previous paragraph, a foreign key CASCADE, SET NULL // or SET DEFAULT action is considered a trigger. -func Xsqlite3_preupdate_depth(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:87021:16: */ +func Xsqlite3_preupdate_depth(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:87034:16: */ var p uintptr = (*Sqlite3)(unsafe.Pointer(db)).FpPreUpdate return func() int32 { if p != 0 { @@ -62174,7 +62193,7 @@ func Xsqlite3_preupdate_depth(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:87 // This function is designed to be called from within a pre-update callback // only. -func Xsqlite3_preupdate_blobwrite(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:87032:16: */ +func Xsqlite3_preupdate_blobwrite(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:87045:16: */ var p uintptr = (*Sqlite3)(unsafe.Pointer(db)).FpPreUpdate return func() int32 { if p != 0 { @@ -62186,7 +62205,7 @@ func Xsqlite3_preupdate_blobwrite(tls *libc.TLS, db uintptr) int32 { /* sqlite3. // This function is called from within a pre-update callback to retrieve // a field of the row currently being updated or inserted. -func Xsqlite3_preupdate_new(tls *libc.TLS, db uintptr, iIdx int32, ppValue uintptr) int32 { /* sqlite3.c:87043:16: */ +func Xsqlite3_preupdate_new(tls *libc.TLS, db uintptr, iIdx int32, ppValue uintptr) int32 { /* sqlite3.c:87056:16: */ var p uintptr var rc int32 var pMem uintptr @@ -62200,7 +62219,7 @@ func Xsqlite3_preupdate_new(tls *libc.TLS, db uintptr, iIdx int32, ppValue uintp if !(!(p != 0) || (*PreUpdate)(unsafe.Pointer(p)).Fop == SQLITE_DELETE) { goto __1 } - rc = Xsqlite3MisuseError(tls, 87049) + rc = Xsqlite3MisuseError(tls, 87062) goto preupdate_new_out __1: ; @@ -62341,7 +62360,7 @@ preupdate_new_out: // bytes in this text up to but excluding the first character in // a host parameter. If the text contains no host parameters, return // the total number of bytes in the text. -func findNextHostParameter(tls *libc.TLS, zSql uintptr, pnToken uintptr) int32 { /* sqlite3.c:87213:12: */ +func findNextHostParameter(tls *libc.TLS, zSql uintptr, pnToken uintptr) int32 { /* sqlite3.c:87226:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -62386,7 +62405,7 @@ func findNextHostParameter(tls *libc.TLS, zSql uintptr, pnToken uintptr) int32 { // statement for the corresponding OP_Variable opcode. Once the host // parameter index is known, locate the value in p->aVar[]. Then render // the value as a literal in place of the host parameter name. -func Xsqlite3VdbeExpandSql(tls *libc.TLS, p uintptr, zRawSql uintptr) uintptr { /* sqlite3.c:87256:21: */ +func Xsqlite3VdbeExpandSql(tls *libc.TLS, p uintptr, zRawSql uintptr) uintptr { /* sqlite3.c:87269:21: */ bp := tls.Alloc(120) defer tls.Free(120) @@ -62609,7 +62628,7 @@ func Xsqlite3VdbeExpandSql(tls *libc.TLS, p uintptr, zRawSql uintptr) uintptr { // Allocate VdbeCursor number iCur. Return a pointer to it. Return NULL // if we run out of memory. -func allocateCursor(tls *libc.TLS, p uintptr, iCur int32, nField int32, eCurType U8) uintptr { /* sqlite3.c:87619:19: */ +func allocateCursor(tls *libc.TLS, p uintptr, iCur int32, nField int32, eCurType U8) uintptr { /* sqlite3.c:87632:19: */ // Find the memory cell that will be used to store the blob of memory // required for this VdbeCursor structure. It is convenient to use a // vdbe memory cell to manage the memory allocation required for a @@ -62680,7 +62699,7 @@ func allocateCursor(tls *libc.TLS, p uintptr, iCur int32, nField int32, eCurType // floating point value of rValue. Return true and set *piValue to the // integer value if the string is in range to be an integer. Otherwise, // return false. -func alsoAnInt(tls *libc.TLS, pRec uintptr, rValue float64, piValue uintptr) int32 { /* sqlite3.c:87695:12: */ +func alsoAnInt(tls *libc.TLS, pRec uintptr, rValue float64, piValue uintptr) int32 { /* sqlite3.c:87708:12: */ var iValue I64 = I64(rValue) if Xsqlite3RealSameAsInt(tls, rValue, iValue) != 0 { *(*I64)(unsafe.Pointer(piValue)) = iValue @@ -62702,7 +62721,7 @@ func alsoAnInt(tls *libc.TLS, pRec uintptr, rValue float64, piValue uintptr) int // If bTryForInt is false, then if the input string contains a decimal // point or exponential notation, the result is only MEM_Real, even // if there is an exact integer representation of the quantity. -func applyNumericAffinity(tls *libc.TLS, pRec uintptr, bTryForInt int32) { /* sqlite3.c:87719:13: */ +func applyNumericAffinity(tls *libc.TLS, pRec uintptr, bTryForInt int32) { /* sqlite3.c:87732:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -62748,7 +62767,7 @@ func applyNumericAffinity(tls *libc.TLS, pRec uintptr, bTryForInt int32) { /* sq // SQLITE_AFF_BLOB: // SQLITE_AFF_NONE: // No-op. pRec is unchanged. -func applyAffinity(tls *libc.TLS, pRec uintptr, affinity int8, enc U8) { /* sqlite3.c:87759:13: */ +func applyAffinity(tls *libc.TLS, pRec uintptr, affinity int8, enc U8) { /* sqlite3.c:87772:13: */ if int32(affinity) >= SQLITE_AFF_NUMERIC { if int32((*Mem)(unsafe.Pointer(pRec)).Fflags)&MEM_Int == 0 { //OPTIMIZATION-IF-FALSE @@ -62780,7 +62799,7 @@ func applyAffinity(tls *libc.TLS, pRec uintptr, affinity int8, enc U8) { /* sqli // into a numeric representation. Use either INTEGER or REAL whichever // is appropriate. But only do the conversion if it is possible without // loss of information and return the revised type of the argument. -func Xsqlite3_value_numeric_type(tls *libc.TLS, pVal uintptr) int32 { /* sqlite3.c:87798:16: */ +func Xsqlite3_value_numeric_type(tls *libc.TLS, pVal uintptr) int32 { /* sqlite3.c:87811:16: */ var eType int32 = Xsqlite3_value_type(tls, pVal) if eType == SQLITE_TEXT { var pMem uintptr = pVal @@ -62792,7 +62811,7 @@ func Xsqlite3_value_numeric_type(tls *libc.TLS, pVal uintptr) int32 { /* sqlite3 // Exported version of applyAffinity(). This one works on sqlite3_value*, // not the internal Mem* type. -func Xsqlite3ValueApplyAffinity(tls *libc.TLS, pVal uintptr, affinity U8, enc U8) { /* sqlite3.c:87812:21: */ +func Xsqlite3ValueApplyAffinity(tls *libc.TLS, pVal uintptr, affinity U8, enc U8) { /* sqlite3.c:87825:21: */ applyAffinity(tls, pVal, int8(affinity), enc) } @@ -62800,7 +62819,7 @@ func Xsqlite3ValueApplyAffinity(tls *libc.TLS, pVal uintptr, affinity U8, enc U8 // interpret as a string if we want to). Compute its corresponding // numeric type, if has one. Set the pMem->u.r and pMem->u.i fields // accordingly. -func computeNumericType(tls *libc.TLS, pMem uintptr) U16 { /* sqlite3.c:87826:28: */ +func computeNumericType(tls *libc.TLS, pMem uintptr) U16 { /* sqlite3.c:87839:28: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -62836,7 +62855,7 @@ func computeNumericType(tls *libc.TLS, pMem uintptr) U16 { /* sqlite3.c:87826:28 // // Unlike applyNumericAffinity(), this routine does not modify pMem->flags. // But it does set pMem->u.r and pMem->u.i appropriately. -func numericType(tls *libc.TLS, pMem uintptr) U16 { /* sqlite3.c:87857:12: */ +func numericType(tls *libc.TLS, pMem uintptr) U16 { /* sqlite3.c:87870:12: */ if int32((*Mem)(unsafe.Pointer(pMem)).Fflags)&(MEM_Int|MEM_Real|MEM_IntReal) != 0 { return U16(int32((*Mem)(unsafe.Pointer(pMem)).Fflags) & (MEM_Int | MEM_Real | MEM_IntReal)) @@ -62850,13 +62869,13 @@ func numericType(tls *libc.TLS, pMem uintptr) U16 { /* sqlite3.c:87857:12: */ // Return the register of pOp->p2 after first preparing it to be // overwritten with an integer value. -func out2PrereleaseWithClear(tls *libc.TLS, pOut uintptr) uintptr { /* sqlite3.c:88032:28: */ +func out2PrereleaseWithClear(tls *libc.TLS, pOut uintptr) uintptr { /* sqlite3.c:88045:28: */ Xsqlite3VdbeMemSetNull(tls, pOut) (*Mem)(unsafe.Pointer(pOut)).Fflags = U16(MEM_Int) return pOut } -func out2Prerelease(tls *libc.TLS, p uintptr, pOp uintptr) uintptr { /* sqlite3.c:88037:12: */ +func out2Prerelease(tls *libc.TLS, p uintptr, pOp uintptr) uintptr { /* sqlite3.c:88050:12: */ var pOut uintptr pOut = (*Vdbe)(unsafe.Pointer(p)).FaMem + uintptr((*VdbeOp)(unsafe.Pointer(pOp)).Fp2)*40 @@ -62872,7 +62891,7 @@ func out2Prerelease(tls *libc.TLS, p uintptr, pOp uintptr) uintptr { /* sqlite3. // Compute a bloom filter hash using pOp->p4.i registers from aMem[] beginning // with pOp->p3. Return the hash. -func filterHash(tls *libc.TLS, aMem uintptr, pOp uintptr) U64 { /* sqlite3.c:88055:12: */ +func filterHash(tls *libc.TLS, aMem uintptr, pOp uintptr) U64 { /* sqlite3.c:88068:12: */ var i int32 var mx int32 var h U64 = uint64(0) @@ -62896,7 +62915,7 @@ func filterHash(tls *libc.TLS, aMem uintptr, pOp uintptr) U64 { /* sqlite3.c:880 } // Return the symbolic name for the data type of a pMem -func vdbeMemTypeName(tls *libc.TLS, pMem uintptr) uintptr { /* sqlite3.c:88077:19: */ +func vdbeMemTypeName(tls *libc.TLS, pMem uintptr) uintptr { /* sqlite3.c:88090:19: */ return azTypes[Xsqlite3_value_type(tls, pMem)-1] } @@ -62906,11 +62925,11 @@ var azTypes = [5]uintptr{ ts + 1105, ts + 1083, ts + 1528, -} /* sqlite3.c:88078:21 */ +} /* sqlite3.c:88091:21 */ // Execute as much of a VDBE program as we can. // This is the core of sqlite3_step(). -func Xsqlite3VdbeExec(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:88092:20: */ +func Xsqlite3VdbeExec(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:88105:20: */ bp := tls.Alloc(748) defer tls.Free(748) @@ -68434,7 +68453,7 @@ op_column_corrupt: goto __8 goto __400 __399: - rc = Xsqlite3CorruptError(tls, 90310) + rc = Xsqlite3CorruptError(tls, 90323) goto abort_due_to_error __400: ; @@ -70933,7 +70952,7 @@ notExistsWithKey: if !((*Op)(unsafe.Pointer(pOp)).Fp2 == 0) { goto __642 } - rc = Xsqlite3CorruptError(tls, 92457) + rc = Xsqlite3CorruptError(tls, 92470) goto __643 __642: goto jump_to_p2 @@ -72097,7 +72116,7 @@ __724: if !((*Op)(unsafe.Pointer(pOp)).Fp5 != 0 && !(Xsqlite3WritableSchema(tls, db) != 0)) { goto __727 } - rc = Xsqlite3ReportError(tls, SQLITE_CORRUPT|int32(3)<<8, 93513, ts+5820) + rc = Xsqlite3ReportError(tls, SQLITE_CORRUPT|int32(3)<<8, 93526, ts+5820) goto abort_due_to_error __727: ; @@ -72289,7 +72308,7 @@ __737: if !(nCellKey <= int64(0) || nCellKey > int64(0x7fffffff)) { goto __738 } - rc = Xsqlite3CorruptError(tls, 93717) + rc = Xsqlite3CorruptError(tls, 93730) goto abort_due_to_error __738: ; @@ -72565,7 +72584,7 @@ __759: // 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 = Xsqlite3CorruptError(tls, 93969) + rc = Xsqlite3CorruptError(tls, 93982) __760: ; Xsqlite3DbFreeNN(tls, db, zSql) @@ -74578,7 +74597,7 @@ __916: if !(rc == SQLITE_IOERR|int32(33)<<8) { goto __918 } - rc = Xsqlite3CorruptError(tls, 95906) + rc = Xsqlite3CorruptError(tls, 95919) __918: ; __917: @@ -74667,11 +74686,11 @@ abort_due_to_interrupt: } var azType = [4]uintptr{ts + 6062, ts + 6071, ts + 6078, - ts + 6084} /* sqlite3.c:88537:25 */ -var and_logic = [9]uint8{uint8(0), uint8(0), uint8(0), uint8(0), uint8(1), uint8(2), uint8(0), uint8(2), uint8(2)} /* sqlite3.c:89761:32 */ -var or_logic = [9]uint8{uint8(0), uint8(1), uint8(2), uint8(1), uint8(1), uint8(1), uint8(2), uint8(1), uint8(2)} /* sqlite3.c:89764:32 */ -var aFlag1 = [2]U16{U16(MEM_Blob), U16(MEM_Str | MEM_Term)} /* sqlite3.c:90257:24 */ -var vfsFlags int32 = SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE | SQLITE_OPEN_EXCLUSIVE | SQLITE_OPEN_DELETEONCLOSE | SQLITE_OPEN_TRANSIENT_DB /* sqlite3.c:91512:20 */ + ts + 6084} /* sqlite3.c:88550:25 */ +var and_logic = [9]uint8{uint8(0), uint8(0), uint8(0), uint8(0), uint8(1), uint8(2), uint8(0), uint8(2), uint8(2)} /* sqlite3.c:89774:32 */ +var or_logic = [9]uint8{uint8(0), uint8(1), uint8(2), uint8(1), uint8(1), uint8(1), uint8(2), uint8(1), uint8(2)} /* sqlite3.c:89777:32 */ +var aFlag1 = [2]U16{U16(MEM_Blob), U16(MEM_Str | MEM_Term)} /* sqlite3.c:90270:24 */ +var vfsFlags int32 = SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE | SQLITE_OPEN_EXCLUSIVE | SQLITE_OPEN_DELETEONCLOSE | SQLITE_OPEN_TRANSIENT_DB /* sqlite3.c:91525:20 */ //************* End of vdbe.c *********************************************** //************* Begin file vdbeblob.c *************************************** @@ -74702,7 +74721,7 @@ type Incrblob1 = struct { Fdb uintptr FzDb uintptr FpTab uintptr -} /* sqlite3.c:96011:9 */ +} /* sqlite3.c:96024:9 */ //************* End of vdbe.c *********************************************** //************* Begin file vdbeblob.c *************************************** @@ -74723,7 +74742,7 @@ type Incrblob1 = struct { // #include "vdbeInt.h" // Valid sqlite3_blob* handles point to Incrblob structures. -type Incrblob = Incrblob1 /* sqlite3.c:96011:25 */ +type Incrblob = Incrblob1 /* sqlite3.c:96024:25 */ // This function is used by both blob_open() and blob_reopen(). It seeks // the b-tree cursor associated with blob handle p to point to row iRow. @@ -74740,7 +74759,7 @@ type Incrblob = Incrblob1 /* sqlite3.c:96011:25 */ // If an error does occur, then the b-tree cursor is closed. All subsequent // calls to sqlite3_blob_read(), blob_write() or blob_reopen() will // immediately return SQLITE_ABORT. -func blobSeekToRow(tls *libc.TLS, p uintptr, iRow Sqlite3_int64, pzErr uintptr) int32 { /* sqlite3.c:96041:12: */ +func blobSeekToRow(tls *libc.TLS, p uintptr, iRow Sqlite3_int64, pzErr uintptr) int32 { /* sqlite3.c:96054:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -74816,7 +74835,7 @@ func blobSeekToRow(tls *libc.TLS, p uintptr, iRow Sqlite3_int64, pzErr uintptr) } // Open a blob handle. -func Xsqlite3_blob_open(tls *libc.TLS, db uintptr, zDb uintptr, zTable uintptr, zColumn uintptr, iRow Sqlite_int64, wrFlag int32, ppBlob uintptr) int32 { /* sqlite3.c:96109:16: */ +func Xsqlite3_blob_open(tls *libc.TLS, db uintptr, zDb uintptr, zTable uintptr, zColumn uintptr, iRow Sqlite_int64, wrFlag int32, ppBlob uintptr) int32 { /* sqlite3.c:96122:16: */ bp := tls.Alloc(324) defer tls.Free(324) @@ -75137,7 +75156,7 @@ __38: return rc } -var iLn int32 = 0 /* sqlite3.c:96252:24 */ +var iLn int32 = 0 /* sqlite3.c:96265:24 */ var openBlob = [6]VdbeOpList{ {Fopcode: U8(OP_TableLock)}, // 0: Acquire a read or write lock {Fopcode: U8(OP_OpenRead)}, // 1: Open a cursor @@ -75146,11 +75165,11 @@ var openBlob = [6]VdbeOpList{ {Fopcode: U8(OP_Column), Fp3: int8(1)}, // 3 {Fopcode: U8(OP_ResultRow), Fp1: int8(1)}, // 4 {Fopcode: U8(OP_Halt)}, // 5 -} /* sqlite3.c:96253:31 */ +} /* sqlite3.c:96266:31 */ // Close a blob handle that was previously created using // sqlite3_blob_open(). -func Xsqlite3_blob_close(tls *libc.TLS, pBlob uintptr) int32 { /* sqlite3.c:96344:16: */ +func Xsqlite3_blob_close(tls *libc.TLS, pBlob uintptr) int32 { /* sqlite3.c:96357:16: */ var p uintptr = pBlob var rc int32 var db uintptr @@ -75169,14 +75188,14 @@ func Xsqlite3_blob_close(tls *libc.TLS, pBlob uintptr) int32 { /* sqlite3.c:9634 } // Perform a read or write operation on a blob -func blobReadWrite(tls *libc.TLS, pBlob uintptr, z uintptr, n int32, iOffset int32, xCall uintptr) int32 { /* sqlite3.c:96365:12: */ +func blobReadWrite(tls *libc.TLS, pBlob uintptr, z uintptr, n int32, iOffset int32, xCall uintptr) int32 { /* sqlite3.c:96378:12: */ var rc int32 var p uintptr = pBlob var v uintptr var db uintptr if p == uintptr(0) { - return Xsqlite3MisuseError(tls, 96377) + return Xsqlite3MisuseError(tls, 96390) } db = (*Incrblob)(unsafe.Pointer(p)).Fdb Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) @@ -75235,14 +75254,14 @@ func blobReadWrite(tls *libc.TLS, pBlob uintptr, z uintptr, n int32, iOffset int } // Read data from a blob handle. -func Xsqlite3_blob_read(tls *libc.TLS, pBlob uintptr, z uintptr, n int32, iOffset int32) int32 { /* sqlite3.c:96440:16: */ +func Xsqlite3_blob_read(tls *libc.TLS, pBlob uintptr, z uintptr, n int32, iOffset int32) int32 { /* sqlite3.c:96453:16: */ return blobReadWrite(tls, pBlob, z, n, iOffset, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, U32, U32, uintptr) int32 }{Xsqlite3BtreePayloadChecked}))) } // Write data to a blob handle. -func Xsqlite3_blob_write(tls *libc.TLS, pBlob uintptr, z uintptr, n int32, iOffset int32) int32 { /* sqlite3.c:96447:16: */ +func Xsqlite3_blob_write(tls *libc.TLS, pBlob uintptr, z uintptr, n int32, iOffset int32) int32 { /* sqlite3.c:96460:16: */ return blobReadWrite(tls, pBlob, z, n, iOffset, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, U32, U32, uintptr) int32 }{Xsqlite3BtreePutData}))) @@ -75252,7 +75271,7 @@ func Xsqlite3_blob_write(tls *libc.TLS, pBlob uintptr, z uintptr, n int32, iOffs // // The Incrblob.nByte field is fixed for the lifetime of the Incrblob // so no mutex is required for access. -func Xsqlite3_blob_bytes(tls *libc.TLS, pBlob uintptr) int32 { /* sqlite3.c:96457:16: */ +func Xsqlite3_blob_bytes(tls *libc.TLS, pBlob uintptr) int32 { /* sqlite3.c:96470:16: */ var p uintptr = pBlob if p != 0 && (*Incrblob)(unsafe.Pointer(p)).FpStmt != 0 { return (*Incrblob)(unsafe.Pointer(p)).FnByte @@ -75268,7 +75287,7 @@ func Xsqlite3_blob_bytes(tls *libc.TLS, pBlob uintptr) int32 { /* sqlite3.c:9645 // database handle error code and message set. If this happens, then all // subsequent calls to sqlite3_blob_xxx() functions (except blob_close()) // immediately return SQLITE_ABORT. -func Xsqlite3_blob_reopen(tls *libc.TLS, pBlob uintptr, iRow Sqlite3_int64) int32 { /* sqlite3.c:96472:16: */ +func Xsqlite3_blob_reopen(tls *libc.TLS, pBlob uintptr, iRow Sqlite3_int64) int32 { /* sqlite3.c:96485:16: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -75277,7 +75296,7 @@ func Xsqlite3_blob_reopen(tls *libc.TLS, pBlob uintptr, iRow Sqlite3_int64) int3 var db uintptr if p == uintptr(0) { - return Xsqlite3MisuseError(tls, 96477) + return Xsqlite3MisuseError(tls, 96490) } db = (*Incrblob)(unsafe.Pointer(p)).Fdb Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) @@ -75614,7 +75633,7 @@ type MergeEngine1 = struct { // overflows. 512MiB. // Private objects used by the sorter -type MergeEngine = MergeEngine1 /* sqlite3.c:96666:28 */ // Merge PMAs together +type MergeEngine = MergeEngine1 /* sqlite3.c:96679:28 */ // Merge PMAs together type PmaReader1 = struct { FiReadOff I64 FiEof I64 @@ -75630,7 +75649,7 @@ type PmaReader1 = struct { } /* sqlite3.c:22082:9 */ // Merge PMAs together -type PmaReader = PmaReader1 /* sqlite3.c:96667:26 */ // Incrementally read one PMA +type PmaReader = PmaReader1 /* sqlite3.c:96680:26 */ // Incrementally read one PMA type PmaWriter1 = struct { FeFWErr int32 FaBuffer uintptr @@ -75639,17 +75658,17 @@ type PmaWriter1 = struct { FiBufEnd int32 FiWriteOff I64 FpFd uintptr -} /* sqlite3.c:96668:9 */ +} /* sqlite3.c:96681:9 */ // Incrementally read one PMA -type PmaWriter = PmaWriter1 /* sqlite3.c:96668:26 */ // Incrementally write one PMA +type PmaWriter = PmaWriter1 /* sqlite3.c:96681:26 */ // Incrementally write one PMA type SorterRecord1 = struct { FnVal int32 Fu struct{ FpNext uintptr } } /* sqlite3.c:22082:9 */ // Incrementally write one PMA -type SorterRecord = SorterRecord1 /* sqlite3.c:96669:29 */ // A record being sorted +type SorterRecord = SorterRecord1 /* sqlite3.c:96682:29 */ // A record being sorted type SortSubtask1 = struct { FpThread uintptr FbDone int32 @@ -75663,14 +75682,14 @@ type SortSubtask1 = struct { } /* sqlite3.c:22082:9 */ // A record being sorted -type SortSubtask = SortSubtask1 /* sqlite3.c:96670:28 */ // A sub-task in the sort process +type SortSubtask = SortSubtask1 /* sqlite3.c:96683:28 */ // A sub-task in the sort process type SorterFile1 = struct { FpFd uintptr FiEof I64 } /* sqlite3.c:22082:9 */ // A sub-task in the sort process -type SorterFile = SorterFile1 /* sqlite3.c:96671:27 */ // Temporary file object wrapper +type SorterFile = SorterFile1 /* sqlite3.c:96684:27 */ // Temporary file object wrapper type SorterList1 = struct { FpList uintptr FaMemory uintptr @@ -75678,7 +75697,7 @@ type SorterList1 = struct { } /* sqlite3.c:22082:9 */ // Temporary file object wrapper -type SorterList = SorterList1 /* sqlite3.c:96672:27 */ // In-memory list of records +type SorterList = SorterList1 /* sqlite3.c:96685:27 */ // In-memory list of records type IncrMerger1 = struct { FpTask uintptr FpMerger uintptr @@ -75690,7 +75709,7 @@ type IncrMerger1 = struct { } /* sqlite3.c:22082:9 */ // In-memory list of records -type IncrMerger = IncrMerger1 /* sqlite3.c:96673:27 */ +type IncrMerger = IncrMerger1 /* sqlite3.c:96686:27 */ // This object represents a single thread of control in a sort operation. // Exactly VdbeSorter.nTask instances of this object are allocated @@ -75721,11 +75740,11 @@ type IncrMerger = IncrMerger1 /* sqlite3.c:96673:27 */ // In both cases, the effects of the main thread seeing (bDone==0) even // after the thread has finished are not dire. So we don't worry about // memory barriers and such here. -type SorterCompare = uintptr /* sqlite3.c:96800:13 */ +type SorterCompare = uintptr /* sqlite3.c:96813:13 */ // Free all memory belonging to the PmaReader object passed as the // argument. All structure fields are set to zero before returning. -func vdbePmaReaderClear(tls *libc.TLS, pReadr uintptr) { /* sqlite3.c:96975:13: */ +func vdbePmaReaderClear(tls *libc.TLS, pReadr uintptr) { /* sqlite3.c:96988:13: */ Xsqlite3_free(tls, (*PmaReader)(unsafe.Pointer(pReadr)).FaAlloc) Xsqlite3_free(tls, (*PmaReader)(unsafe.Pointer(pReadr)).FaBuffer) if (*PmaReader)(unsafe.Pointer(pReadr)).FaMap != 0 { @@ -75742,7 +75761,7 @@ func vdbePmaReaderClear(tls *libc.TLS, pReadr uintptr) { /* sqlite3.c:96975:13: // // The buffer returned in *ppOut is only valid until the // next call to this function. -func vdbePmaReadBlob(tls *libc.TLS, p uintptr, nByte int32, ppOut uintptr) int32 { /* sqlite3.c:96992:12: */ +func vdbePmaReadBlob(tls *libc.TLS, p uintptr, nByte int32, ppOut uintptr) int32 { /* sqlite3.c:97005:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -75846,7 +75865,7 @@ func vdbePmaReadBlob(tls *libc.TLS, p uintptr, nByte int32, ppOut uintptr) int32 // Read a varint from the stream of data accessed by p. Set *pnOut to // the value read. -func vdbePmaReadVarint(tls *libc.TLS, p uintptr, pnOut uintptr) int32 { /* sqlite3.c:97086:12: */ +func vdbePmaReadVarint(tls *libc.TLS, p uintptr, pnOut uintptr) int32 { /* sqlite3.c:97099:12: */ bp := tls.Alloc(20) defer tls.Free(20) @@ -75886,7 +75905,7 @@ func vdbePmaReadVarint(tls *libc.TLS, p uintptr, pnOut uintptr) int32 { /* sqlit // // Or, if an error occurs, return an SQLite error code. The final value of // *pp is undefined in this case. -func vdbeSorterMapFile(tls *libc.TLS, pTask uintptr, pFile uintptr, pp uintptr) int32 { /* sqlite3.c:97119:12: */ +func vdbeSorterMapFile(tls *libc.TLS, pTask uintptr, pFile uintptr, pp uintptr) int32 { /* sqlite3.c:97132:12: */ var rc int32 = SQLITE_OK if (*SorterFile)(unsafe.Pointer(pFile)).FiEof <= I64((*Sqlite3)(unsafe.Pointer((*VdbeSorter)(unsafe.Pointer((*SortSubtask)(unsafe.Pointer(pTask)).FpSorter)).Fdb)).FnMaxSorterMmap) { var pFd uintptr = (*SorterFile)(unsafe.Pointer(pFile)).FpFd @@ -75901,7 +75920,7 @@ func vdbeSorterMapFile(tls *libc.TLS, pTask uintptr, pFile uintptr, pp uintptr) // Attach PmaReader pReadr to file pFile (if it is not already attached to // that file) and seek it to offset iOff within the file. Return SQLITE_OK // if successful, or an SQLite error code if an error occurs. -func vdbePmaReaderSeek(tls *libc.TLS, pTask uintptr, pReadr uintptr, pFile uintptr, iOff I64) int32 { /* sqlite3.c:97136:12: */ +func vdbePmaReaderSeek(tls *libc.TLS, pTask uintptr, pReadr uintptr, pFile uintptr, iOff I64) int32 { /* sqlite3.c:97149:12: */ var rc int32 = SQLITE_OK if Xsqlite3FaultSim(tls, 201) != 0 { @@ -75942,7 +75961,7 @@ func vdbePmaReaderSeek(tls *libc.TLS, pTask uintptr, pReadr uintptr, pFile uintp // Advance PmaReader pReadr to the next key in its PMA. Return SQLITE_OK if // no error occurs, or an SQLite error code if one does. -func vdbePmaReaderNext(tls *libc.TLS, pReadr uintptr) int32 { /* sqlite3.c:97183:12: */ +func vdbePmaReaderNext(tls *libc.TLS, pReadr uintptr) int32 { /* sqlite3.c:97196:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -75988,7 +76007,7 @@ func vdbePmaReaderNext(tls *libc.TLS, pReadr uintptr) int32 { /* sqlite3.c:97183 // // If the pnByte parameter is NULL, then it is assumed that the file // contains a single PMA, and that that PMA omits the initial length varint. -func vdbePmaReaderInit(tls *libc.TLS, pTask uintptr, pFile uintptr, iStart I64, pReadr uintptr, pnByte uintptr) int32 { /* sqlite3.c:97230:12: */ +func vdbePmaReaderInit(tls *libc.TLS, pTask uintptr, pFile uintptr, iStart I64, pReadr uintptr, pnByte uintptr) int32 { /* sqlite3.c:97243:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -76011,7 +76030,7 @@ func vdbePmaReaderInit(tls *libc.TLS, pTask uintptr, pFile uintptr, iStart I64, // A version of vdbeSorterCompare() that assumes that it has already been // determined that the first field of key1 is equal to the first field of // key2. -func vdbeSorterCompareTail(tls *libc.TLS, pTask uintptr, pbKey2Cached uintptr, pKey1 uintptr, nKey1 int32, pKey2 uintptr, nKey2 int32) int32 { /* sqlite3.c:97263:12: */ +func vdbeSorterCompareTail(tls *libc.TLS, pTask uintptr, pbKey2Cached uintptr, pKey1 uintptr, nKey1 int32, pKey2 uintptr, nKey2 int32) int32 { /* sqlite3.c:97276:12: */ var r2 uintptr = (*SortSubtask)(unsafe.Pointer(pTask)).FpUnpacked if *(*int32)(unsafe.Pointer(pbKey2Cached)) == 0 { Xsqlite3VdbeRecordUnpack(tls, (*VdbeSorter)(unsafe.Pointer((*SortSubtask)(unsafe.Pointer(pTask)).FpSorter)).FpKeyInfo, nKey2, pKey2, r2) @@ -76031,7 +76050,7 @@ func vdbeSorterCompareTail(tls *libc.TLS, pTask uintptr, pbKey2Cached uintptr, p // // If an OOM error is encountered, (pTask->pUnpacked->error_rc) is set // to SQLITE_NOMEM. -func vdbeSorterCompare(tls *libc.TLS, pTask uintptr, pbKey2Cached uintptr, pKey1 uintptr, nKey1 int32, pKey2 uintptr, nKey2 int32) int32 { /* sqlite3.c:97290:12: */ +func vdbeSorterCompare(tls *libc.TLS, pTask uintptr, pbKey2Cached uintptr, pKey1 uintptr, nKey1 int32, pKey2 uintptr, nKey2 int32) int32 { /* sqlite3.c:97303:12: */ var r2 uintptr = (*SortSubtask)(unsafe.Pointer(pTask)).FpUnpacked if !(*(*int32)(unsafe.Pointer(pbKey2Cached)) != 0) { Xsqlite3VdbeRecordUnpack(tls, (*VdbeSorter)(unsafe.Pointer((*SortSubtask)(unsafe.Pointer(pTask)).FpSorter)).FpKeyInfo, nKey2, pKey2, r2) @@ -76043,7 +76062,7 @@ func vdbeSorterCompare(tls *libc.TLS, pTask uintptr, pbKey2Cached uintptr, pKey1 // A specially optimized version of vdbeSorterCompare() that assumes that // the first field of each key is a TEXT value and that the collation // sequence to compare them with is BINARY. -func vdbeSorterCompareText(tls *libc.TLS, pTask uintptr, pbKey2Cached uintptr, pKey1 uintptr, nKey1 int32, pKey2 uintptr, nKey2 int32) int32 { /* sqlite3.c:97309:12: */ +func vdbeSorterCompareText(tls *libc.TLS, pTask uintptr, pbKey2Cached uintptr, pKey1 uintptr, nKey1 int32, pKey2 uintptr, nKey2 int32) int32 { /* sqlite3.c:97322:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -76093,7 +76112,7 @@ func vdbeSorterCompareText(tls *libc.TLS, pTask uintptr, pbKey2Cached uintptr, p // A specially optimized version of vdbeSorterCompare() that assumes that // the first field of each key is an INTEGER value. -func vdbeSorterCompareInt(tls *libc.TLS, pTask uintptr, pbKey2Cached uintptr, pKey1 uintptr, nKey1 int32, pKey2 uintptr, nKey2 int32) int32 { /* sqlite3.c:97351:12: */ +func vdbeSorterCompareInt(tls *libc.TLS, pTask uintptr, pbKey2Cached uintptr, pKey1 uintptr, nKey1 int32, pKey2 uintptr, nKey2 int32) int32 { /* sqlite3.c:97364:12: */ var p1 uintptr = pKey1 var p2 uintptr = pKey2 var s1 int32 = int32(*(*U8)(unsafe.Pointer(p1 + 1))) // Left hand serial type @@ -76153,7 +76172,7 @@ func vdbeSorterCompareInt(tls *libc.TLS, pTask uintptr, pbKey2Cached uintptr, pK return res } -var aLen = [10]U8{U8(0), U8(1), U8(2), U8(3), U8(4), U8(6), U8(8), U8(0), U8(0), U8(0)} /* sqlite3.c:97370:21 */ +var aLen = [10]U8{U8(0), U8(1), U8(2), U8(3), U8(4), U8(6), U8(8), U8(0), U8(0), U8(0)} /* sqlite3.c:97383:21 */ // Initialize the temporary index cursor just opened as a sorter cursor. // @@ -76172,7 +76191,7 @@ var aLen = [10]U8{U8(0), U8(1), U8(2), U8(3), U8(4), U8(6), U8(8), U8(0), U8(0), // mode, but not in multi-threaded mode. // // SQLITE_OK is returned if successful, or an SQLite error code otherwise. -func Xsqlite3VdbeSorterInit(tls *libc.TLS, db uintptr, nField int32, pCsr uintptr) int32 { /* sqlite3.c:97434:20: */ +func Xsqlite3VdbeSorterInit(tls *libc.TLS, db uintptr, nField int32, pCsr uintptr) int32 { /* sqlite3.c:97447:20: */ var pgsz int32 // Page size of main database var i int32 // Used to iterate through aTask[] var pSorter uintptr // The new sorter @@ -76268,7 +76287,7 @@ func Xsqlite3VdbeSorterInit(tls *libc.TLS, db uintptr, nField int32, pCsr uintpt } // Free the list of sorted records starting at pRecord. -func vdbeSorterRecordFree(tls *libc.TLS, db uintptr, pRecord uintptr) { /* sqlite3.c:97540:13: */ +func vdbeSorterRecordFree(tls *libc.TLS, db uintptr, pRecord uintptr) { /* sqlite3.c:97553:13: */ var p uintptr var pNext uintptr for p = pRecord; p != 0; p = pNext { @@ -76279,7 +76298,7 @@ func vdbeSorterRecordFree(tls *libc.TLS, db uintptr, pRecord uintptr) { /* sqlit // Free all resources owned by the object indicated by argument pTask. All // fields of *pTask are zeroed before returning. -func vdbeSortSubtaskCleanup(tls *libc.TLS, db uintptr, pTask uintptr) { /* sqlite3.c:97553:13: */ +func vdbeSortSubtaskCleanup(tls *libc.TLS, db uintptr, pTask uintptr) { /* sqlite3.c:97566:13: */ Xsqlite3DbFree(tls, db, (*SortSubtask)(unsafe.Pointer(pTask)).FpUnpacked) // pTask->list.aMemory can only be non-zero if it was handed memory // from the main thread. That only occurs SQLITE_MAX_WORKER_THREADS>0 @@ -76299,7 +76318,7 @@ func vdbeSortSubtaskCleanup(tls *libc.TLS, db uintptr, pTask uintptr) { /* sqlit } // Join thread pTask->thread. -func vdbeSorterJoinThread(tls *libc.TLS, pTask uintptr) int32 { /* sqlite3.c:97619:12: */ +func vdbeSorterJoinThread(tls *libc.TLS, pTask uintptr) int32 { /* sqlite3.c:97632:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -76318,14 +76337,14 @@ func vdbeSorterJoinThread(tls *libc.TLS, pTask uintptr) int32 { /* sqlite3.c:976 } // Launch a background thread to run xTask(pIn). -func vdbeSorterCreateThread(tls *libc.TLS, pTask uintptr, xTask uintptr, pIn uintptr) int32 { /* sqlite3.c:97640:12: */ +func vdbeSorterCreateThread(tls *libc.TLS, pTask uintptr, xTask uintptr, pIn uintptr) int32 { /* sqlite3.c:97653:12: */ return Xsqlite3ThreadCreate(tls, pTask, xTask, pIn) } // Join all outstanding threads launched by SorterWrite() to create // level-0 PMAs. -func vdbeSorterJoinAll(tls *libc.TLS, pSorter uintptr, rcin int32) int32 { /* sqlite3.c:97653:12: */ +func vdbeSorterJoinAll(tls *libc.TLS, pSorter uintptr, rcin int32) int32 { /* sqlite3.c:97666:12: */ var rc int32 = rcin var i int32 @@ -76351,7 +76370,7 @@ func vdbeSorterJoinAll(tls *libc.TLS, pSorter uintptr, rcin int32) int32 { /* sq // // nReader is automatically rounded up to the next power of two. // nReader may not exceed SORTER_MAX_MERGE_COUNT even after rounding up. -func vdbeMergeEngineNew(tls *libc.TLS, nReader int32) uintptr { /* sqlite3.c:97683:20: */ +func vdbeMergeEngineNew(tls *libc.TLS, nReader int32) uintptr { /* sqlite3.c:97696:20: */ var N int32 = 2 // Smallest power of two >= nReader var nByte int32 // Total bytes of space to allocate var pNew uintptr // Pointer to allocated object to return @@ -76376,7 +76395,7 @@ func vdbeMergeEngineNew(tls *libc.TLS, nReader int32) uintptr { /* sqlite3.c:976 } // Free the MergeEngine object passed as the only argument. -func vdbeMergeEngineFree(tls *libc.TLS, pMerger uintptr) { /* sqlite3.c:97706:13: */ +func vdbeMergeEngineFree(tls *libc.TLS, pMerger uintptr) { /* sqlite3.c:97719:13: */ var i int32 if pMerger != 0 { for i = 0; i < (*MergeEngine)(unsafe.Pointer(pMerger)).FnTree; i++ { @@ -76388,7 +76407,7 @@ func vdbeMergeEngineFree(tls *libc.TLS, pMerger uintptr) { /* sqlite3.c:97706:13 // Free all resources associated with the IncrMerger object indicated by // the first argument. -func vdbeIncrFree(tls *libc.TLS, pIncr uintptr) { /* sqlite3.c:97720:13: */ +func vdbeIncrFree(tls *libc.TLS, pIncr uintptr) { /* sqlite3.c:97733:13: */ if pIncr != 0 { if (*IncrMerger)(unsafe.Pointer(pIncr)).FbUseThread != 0 { vdbeSorterJoinThread(tls, (*IncrMerger)(unsafe.Pointer(pIncr)).FpTask) @@ -76405,7 +76424,7 @@ func vdbeIncrFree(tls *libc.TLS, pIncr uintptr) { /* sqlite3.c:97720:13: */ } // Reset a sorting cursor back to its original empty state. -func Xsqlite3VdbeSorterReset(tls *libc.TLS, db uintptr, pSorter uintptr) { /* sqlite3.c:97737:21: */ +func Xsqlite3VdbeSorterReset(tls *libc.TLS, db uintptr, pSorter uintptr) { /* sqlite3.c:97750:21: */ var i int32 vdbeSorterJoinAll(tls, pSorter, SQLITE_OK) @@ -76434,7 +76453,7 @@ func Xsqlite3VdbeSorterReset(tls *libc.TLS, db uintptr, pSorter uintptr) { /* sq } // Free any cursor components allocated by sqlite3VdbeSorterXXX routines. -func Xsqlite3VdbeSorterClose(tls *libc.TLS, db uintptr, pCsr uintptr) { /* sqlite3.c:97770:21: */ +func Xsqlite3VdbeSorterClose(tls *libc.TLS, db uintptr, pCsr uintptr) { /* sqlite3.c:97783:21: */ var pSorter uintptr pSorter = *(*uintptr)(unsafe.Pointer(pCsr + 36)) @@ -76453,7 +76472,7 @@ func Xsqlite3VdbeSorterClose(tls *libc.TLS, db uintptr, pCsr uintptr) { /* sqlit // // Whether or not the file does end up memory mapped of course depends on // the specific VFS implementation. -func vdbeSorterExtendFile(tls *libc.TLS, db uintptr, pFd uintptr, nByte I64) { /* sqlite3.c:97792:13: */ +func vdbeSorterExtendFile(tls *libc.TLS, db uintptr, pFd uintptr, nByte I64) { /* sqlite3.c:97805:13: */ bp := tls.Alloc(16) defer tls.Free(16) *(*I64)(unsafe.Pointer(bp + 4)) = nByte @@ -76473,7 +76492,7 @@ func vdbeSorterExtendFile(tls *libc.TLS, db uintptr, pFd uintptr, nByte I64) { / // Allocate space for a file-handle and open a temporary file. If successful, // set *ppFd to point to the malloc'd file-handle and return SQLITE_OK. // Otherwise, set *ppFd to 0 and return an SQLite error code. -func vdbeSorterOpenTempFile(tls *libc.TLS, db uintptr, nExtend I64, ppFd uintptr) int32 { /* sqlite3.c:97811:12: */ +func vdbeSorterOpenTempFile(tls *libc.TLS, db uintptr, nExtend I64, ppFd uintptr) int32 { /* sqlite3.c:97824:12: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -76497,7 +76516,7 @@ func vdbeSorterOpenTempFile(tls *libc.TLS, db uintptr, nExtend I64, ppFd uintptr // If it has not already been allocated, allocate the UnpackedRecord // structure at pTask->pUnpacked. Return SQLITE_OK if successful (or // if no allocation was required), or SQLITE_NOMEM otherwise. -func vdbeSortAllocUnpacked(tls *libc.TLS, pTask uintptr) int32 { /* sqlite3.c:97838:12: */ +func vdbeSortAllocUnpacked(tls *libc.TLS, pTask uintptr) int32 { /* sqlite3.c:97851:12: */ if (*SortSubtask)(unsafe.Pointer(pTask)).FpUnpacked == uintptr(0) { (*SortSubtask)(unsafe.Pointer(pTask)).FpUnpacked = Xsqlite3VdbeAllocUnpackedRecord(tls, (*VdbeSorter)(unsafe.Pointer((*SortSubtask)(unsafe.Pointer(pTask)).FpSorter)).FpKeyInfo) if (*SortSubtask)(unsafe.Pointer(pTask)).FpUnpacked == uintptr(0) { @@ -76510,7 +76529,7 @@ func vdbeSortAllocUnpacked(tls *libc.TLS, pTask uintptr) int32 { /* sqlite3.c:97 } // Merge the two sorted lists p1 and p2 into a single list. -func vdbeSorterMerge(tls *libc.TLS, pTask uintptr, p1 uintptr, p2 uintptr) uintptr { /* sqlite3.c:97852:21: */ +func vdbeSorterMerge(tls *libc.TLS, pTask uintptr, p1 uintptr, p2 uintptr) uintptr { /* sqlite3.c:97865:21: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -76549,7 +76568,7 @@ func vdbeSorterMerge(tls *libc.TLS, pTask uintptr, p1 uintptr, p2 uintptr) uintp // Return the SorterCompare function to compare values collected by the // sorter object passed as the only argument. -func vdbeSorterGetCompare(tls *libc.TLS, p uintptr) SorterCompare { /* sqlite3.c:97894:22: */ +func vdbeSorterGetCompare(tls *libc.TLS, p uintptr) SorterCompare { /* sqlite3.c:97907:22: */ if int32((*VdbeSorter)(unsafe.Pointer(p)).FtypeMask) == SORTER_TYPE_INTEGER { return *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr, int32) int32 @@ -76567,7 +76586,7 @@ func vdbeSorterGetCompare(tls *libc.TLS, p uintptr) SorterCompare { /* sqlite3.c // Sort the linked list of records headed at pTask->pList. Return // SQLITE_OK if successful, or an SQLite error code (i.e. SQLITE_NOMEM) if // an error occurs. -func vdbeSorterSort(tls *libc.TLS, pTask uintptr, pList uintptr) int32 { /* sqlite3.c:97908:12: */ +func vdbeSorterSort(tls *libc.TLS, pTask uintptr, pList uintptr) int32 { /* sqlite3.c:97921:12: */ bp := tls.Alloc(256) defer tls.Free(256) @@ -76624,7 +76643,7 @@ func vdbeSorterSort(tls *libc.TLS, pTask uintptr, pList uintptr) int32 { /* sqli } // Initialize a PMA-writer object. -func vdbePmaWriterInit(tls *libc.TLS, pFd uintptr, p uintptr, nBuf int32, iStart I64) { /* sqlite3.c:97959:13: */ +func vdbePmaWriterInit(tls *libc.TLS, pFd uintptr, p uintptr, nBuf int32, iStart I64) { /* sqlite3.c:97972:13: */ libc.Xmemset(tls, p, 0, uint32(unsafe.Sizeof(PmaWriter{}))) (*PmaWriter)(unsafe.Pointer(p)).FaBuffer = Xsqlite3Malloc(tls, uint64(nBuf)) if !(int32((*PmaWriter)(unsafe.Pointer(p)).FaBuffer) != 0) { @@ -76639,7 +76658,7 @@ func vdbePmaWriterInit(tls *libc.TLS, pFd uintptr, p uintptr, nBuf int32, iStart // Write nData bytes of data to the PMA. Return SQLITE_OK // if successful, or an SQLite error code if an error occurs. -func vdbePmaWriteBlob(tls *libc.TLS, p uintptr, pData uintptr, nData int32) { /* sqlite3.c:97981:13: */ +func vdbePmaWriteBlob(tls *libc.TLS, p uintptr, pData uintptr, nData int32) { /* sqlite3.c:97994:13: */ var nRem int32 = nData for nRem > 0 && (*PmaWriter)(unsafe.Pointer(p)).FeFWErr == 0 { var nCopy int32 = nRem @@ -76668,7 +76687,7 @@ func vdbePmaWriteBlob(tls *libc.TLS, p uintptr, pData uintptr, nData int32) { /* // // Before returning, set *piEof to the offset immediately following the // last byte written to the file. -func vdbePmaWriterFinish(tls *libc.TLS, p uintptr, piEof uintptr) int32 { /* sqlite3.c:98014:12: */ +func vdbePmaWriterFinish(tls *libc.TLS, p uintptr, piEof uintptr) int32 { /* sqlite3.c:98027:12: */ var rc int32 if (*PmaWriter)(unsafe.Pointer(p)).FeFWErr == 0 && (*PmaWriter)(unsafe.Pointer(p)).FaBuffer != 0 && (*PmaWriter)(unsafe.Pointer(p)).FiBufEnd > (*PmaWriter)(unsafe.Pointer(p)).FiBufStart { (*PmaWriter)(unsafe.Pointer(p)).FeFWErr = Xsqlite3OsWrite(tls, (*PmaWriter)(unsafe.Pointer(p)).FpFd, @@ -76684,7 +76703,7 @@ func vdbePmaWriterFinish(tls *libc.TLS, p uintptr, piEof uintptr) int32 { /* sql // Write value iVal encoded as a varint to the PMA. Return // SQLITE_OK if successful, or an SQLite error code if an error occurs. -func vdbePmaWriteVarint(tls *libc.TLS, p uintptr, iVal U64) { /* sqlite3.c:98033:13: */ +func vdbePmaWriteVarint(tls *libc.TLS, p uintptr, iVal U64) { /* sqlite3.c:98046:13: */ bp := tls.Alloc(10) defer tls.Free(10) @@ -76707,7 +76726,7 @@ func vdbePmaWriteVarint(tls *libc.TLS, p uintptr, iVal U64) { /* sqlite3.c:98033 // * One or more records packed end-to-end in order of ascending keys. // Each record consists of a varint followed by a blob of data (the // key). The varint is the number of bytes in the blob of data. -func vdbeSorterListToPMA(tls *libc.TLS, pTask uintptr, pList uintptr) int32 { /* sqlite3.c:98054:12: */ +func vdbeSorterListToPMA(tls *libc.TLS, pTask uintptr, pList uintptr) int32 { /* sqlite3.c:98067:12: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -76762,7 +76781,7 @@ func vdbeSorterListToPMA(tls *libc.TLS, pTask uintptr, pList uintptr) int32 { /* // the MergeEngine has reached the end of all its inputs. // // Return SQLITE_OK if successful or an error code if an error occurs. -func vdbeMergeEngineStep(tls *libc.TLS, pMerger uintptr, pbEof uintptr) int32 { /* sqlite3.c:98118:12: */ +func vdbeMergeEngineStep(tls *libc.TLS, pMerger uintptr, pbEof uintptr) int32 { /* sqlite3.c:98131:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -76838,7 +76857,7 @@ func vdbeMergeEngineStep(tls *libc.TLS, pMerger uintptr, pbEof uintptr) int32 { } // The main routine for background threads that write level-0 PMAs. -func vdbeSorterFlushThread(tls *libc.TLS, pCtx uintptr) uintptr { /* sqlite3.c:98189:13: */ +func vdbeSorterFlushThread(tls *libc.TLS, pCtx uintptr) uintptr { /* sqlite3.c:98202:13: */ var pTask uintptr = pCtx var rc int32 // Return code @@ -76849,7 +76868,7 @@ func vdbeSorterFlushThread(tls *libc.TLS, pCtx uintptr) uintptr { /* sqlite3.c:9 // Flush the current contents of VdbeSorter.list to a new PMA, possibly // using a background thread. -func vdbeSorterFlushPMA(tls *libc.TLS, pSorter uintptr) int32 { /* sqlite3.c:98203:12: */ +func vdbeSorterFlushPMA(tls *libc.TLS, pSorter uintptr) int32 { /* sqlite3.c:98216:12: */ var rc int32 = SQLITE_OK var i int32 var pTask uintptr = uintptr(0) // Thread context used to create new PMA @@ -76913,7 +76932,7 @@ func vdbeSorterFlushPMA(tls *libc.TLS, pSorter uintptr) int32 { /* sqlite3.c:982 } // Add a record to the sorter. -func Xsqlite3VdbeSorterWrite(tls *libc.TLS, pCsr uintptr, pVal uintptr) int32 { /* sqlite3.c:98273:20: */ +func Xsqlite3VdbeSorterWrite(tls *libc.TLS, pCsr uintptr, pVal uintptr) int32 { /* sqlite3.c:98286:20: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -77029,7 +77048,7 @@ func Xsqlite3VdbeSorterWrite(tls *libc.TLS, pCsr uintptr, pVal uintptr) int32 { // Read keys from pIncr->pMerger and populate pIncr->aFile[1]. The format // of the data stored in aFile[1] is the same as that used by regular PMAs, // except that the number-of-bytes varint is omitted from the start. -func vdbeIncrPopulate(tls *libc.TLS, pIncr uintptr) int32 { /* sqlite3.c:98385:12: */ +func vdbeIncrPopulate(tls *libc.TLS, pIncr uintptr) int32 { /* sqlite3.c:98398:12: */ bp := tls.Alloc(36) defer tls.Free(36) @@ -77075,7 +77094,7 @@ func vdbeIncrPopulate(tls *libc.TLS, pIncr uintptr) int32 { /* sqlite3.c:98385:1 // The main routine for background threads that populate aFile[1] of // multi-threaded IncrMerger objects. -func vdbeIncrPopulateThread(tls *libc.TLS, pCtx uintptr) uintptr { /* sqlite3.c:98427:13: */ +func vdbeIncrPopulateThread(tls *libc.TLS, pCtx uintptr) uintptr { /* sqlite3.c:98440:13: */ var pIncr uintptr = pCtx var pRet uintptr = uintptr(vdbeIncrPopulate(tls, pIncr)) (*SortSubtask)(unsafe.Pointer((*IncrMerger)(unsafe.Pointer(pIncr)).FpTask)).FbDone = 1 @@ -77083,7 +77102,7 @@ func vdbeIncrPopulateThread(tls *libc.TLS, pCtx uintptr) uintptr { /* sqlite3.c: } // Launch a background thread to populate aFile[1] of pIncr. -func vdbeIncrBgPopulate(tls *libc.TLS, pIncr uintptr) int32 { /* sqlite3.c:98437:12: */ +func vdbeIncrBgPopulate(tls *libc.TLS, pIncr uintptr) int32 { /* sqlite3.c:98450:12: */ var p uintptr = pIncr return vdbeSorterCreateThread(tls, (*IncrMerger)(unsafe.Pointer(pIncr)).FpTask, *(*uintptr)(unsafe.Pointer(&struct { @@ -77106,7 +77125,7 @@ func vdbeIncrBgPopulate(tls *libc.TLS, pIncr uintptr) int32 { /* sqlite3.c:98437 // to populate the new aFile[1]. // // SQLITE_OK is returned on success, or an SQLite error code otherwise. -func vdbeIncrSwap(tls *libc.TLS, pIncr uintptr) int32 { /* sqlite3.c:98461:12: */ +func vdbeIncrSwap(tls *libc.TLS, pIncr uintptr) int32 { /* sqlite3.c:98474:12: */ var rc int32 = SQLITE_OK if (*IncrMerger)(unsafe.Pointer(pIncr)).FbUseThread != 0 { @@ -77140,7 +77159,7 @@ func vdbeIncrSwap(tls *libc.TLS, pIncr uintptr) int32 { /* sqlite3.c:98461:12: * // // If an OOM condition is encountered, return NULL. In this case free the // pMerger argument before returning. -func vdbeIncrMergerNew(tls *libc.TLS, pTask uintptr, pMerger uintptr, ppOut uintptr) int32 { /* sqlite3.c:98500:12: */ +func vdbeIncrMergerNew(tls *libc.TLS, pTask uintptr, pMerger uintptr, ppOut uintptr) int32 { /* sqlite3.c:98513:12: */ var rc int32 = SQLITE_OK var pIncr uintptr = libc.AssignPtrUintptr(ppOut, func() uintptr { if Xsqlite3FaultSim(tls, 100) != 0 { @@ -77167,7 +77186,7 @@ func vdbeIncrMergerNew(tls *libc.TLS, pTask uintptr, pMerger uintptr, ppOut uint } // Set the "use-threads" flag on object pIncr. -func vdbeIncrMergerSetThreads(tls *libc.TLS, pIncr uintptr) { /* sqlite3.c:98525:13: */ +func vdbeIncrMergerSetThreads(tls *libc.TLS, pIncr uintptr) { /* sqlite3.c:98538:13: */ (*IncrMerger)(unsafe.Pointer(pIncr)).FbUseThread = 1 *(*I64)(unsafe.Pointer((*IncrMerger)(unsafe.Pointer(pIncr)).FpTask + 48 + 4)) -= I64((*IncrMerger)(unsafe.Pointer(pIncr)).FmxSz) } @@ -77175,7 +77194,7 @@ func vdbeIncrMergerSetThreads(tls *libc.TLS, pIncr uintptr) { /* sqlite3.c:98525 // Recompute pMerger->aTree[iOut] by comparing the next keys on the // two PmaReaders that feed that entry. Neither of the PmaReaders // are advanced. This routine merely does the comparison. -func vdbeMergeEngineCompare(tls *libc.TLS, pMerger uintptr, iOut int32) { /* sqlite3.c:98538:13: */ +func vdbeMergeEngineCompare(tls *libc.TLS, pMerger uintptr, iOut int32) { /* sqlite3.c:98551:13: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -77235,7 +77254,7 @@ func vdbeMergeEngineCompare(tls *libc.TLS, pMerger uintptr, iOut int32) { /* sql // to pMerger. // // SQLITE_OK is returned if successful, or an SQLite error code otherwise. -func vdbeMergeEngineInit(tls *libc.TLS, pTask uintptr, pMerger uintptr, eMode int32) int32 { /* sqlite3.c:98620:12: */ +func vdbeMergeEngineInit(tls *libc.TLS, pTask uintptr, pMerger uintptr, eMode int32) int32 { /* sqlite3.c:98633:12: */ var rc int32 = SQLITE_OK // Return code var i int32 // For looping over PmaReader objects var nTree int32 // Number of subtrees to merge @@ -77305,7 +77324,7 @@ func vdbeMergeEngineInit(tls *libc.TLS, pTask uintptr, pMerger uintptr, eMode in // the current PmaReader set to point to the first key in its range. // // SQLITE_OK is returned if successful, or an SQLite error code otherwise. -func vdbePmaReaderIncrMergeInit(tls *libc.TLS, pReadr uintptr, eMode int32) int32 { /* sqlite3.c:98696:12: */ +func vdbePmaReaderIncrMergeInit(tls *libc.TLS, pReadr uintptr, eMode int32) int32 { /* sqlite3.c:98709:12: */ var rc int32 = SQLITE_OK var pIncr uintptr = (*PmaReader)(unsafe.Pointer(pReadr)).FpIncr var pTask uintptr = (*IncrMerger)(unsafe.Pointer(pIncr)).FpTask @@ -77362,7 +77381,7 @@ func vdbePmaReaderIncrMergeInit(tls *libc.TLS, pReadr uintptr, eMode int32) int3 // The main routine for vdbePmaReaderIncrMergeInit() operations run in // background threads. -func vdbePmaReaderBgIncrInit(tls *libc.TLS, pCtx uintptr) uintptr { /* sqlite3.c:98763:13: */ +func vdbePmaReaderBgIncrInit(tls *libc.TLS, pCtx uintptr) uintptr { /* sqlite3.c:98776:13: */ var pReader uintptr = pCtx var pRet uintptr = uintptr(vdbePmaReaderIncrMergeInit(tls, pReader, INCRINIT_TASK)) (*SortSubtask)(unsafe.Pointer((*IncrMerger)(unsafe.Pointer((*PmaReader)(unsafe.Pointer(pReader)).FpIncr)).FpTask)).FbDone = 1 @@ -77378,7 +77397,7 @@ func vdbePmaReaderBgIncrInit(tls *libc.TLS, pCtx uintptr) uintptr { /* sqlite3.c // then a background thread is launched to call vdbePmaReaderIncrMergeInit(). // Or, if the IncrMerger is single threaded, the same function is called // using the current thread. -func vdbePmaReaderIncrInit(tls *libc.TLS, pReadr uintptr, eMode int32) int32 { /* sqlite3.c:98784:12: */ +func vdbePmaReaderIncrInit(tls *libc.TLS, pReadr uintptr, eMode int32) int32 { /* sqlite3.c:98797:12: */ var pIncr uintptr = (*PmaReader)(unsafe.Pointer(pReadr)).FpIncr // Incremental merger var rc int32 = SQLITE_OK // Return code if pIncr != 0 { @@ -77405,7 +77424,7 @@ func vdbePmaReaderIncrInit(tls *libc.TLS, pReadr uintptr, eMode int32) int32 { / // set to the offset immediately following the last byte of the last // PMA before returning. If an error does occur, then the final value of // *piOffset is undefined. -func vdbeMergeEngineLevel0(tls *libc.TLS, pTask uintptr, nPMA int32, piOffset uintptr, ppOut uintptr) int32 { /* sqlite3.c:98814:12: */ +func vdbeMergeEngineLevel0(tls *libc.TLS, pTask uintptr, nPMA int32, piOffset uintptr, ppOut uintptr) int32 { /* sqlite3.c:98827:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -77442,7 +77461,7 @@ func vdbeMergeEngineLevel0(tls *libc.TLS, pTask uintptr, nPMA int32, piOffset ui // nPMA<=16 -> TreeDepth() == 0 // nPMA<=256 -> TreeDepth() == 1 // nPMA<=65536 -> TreeDepth() == 2 -func vdbeSorterTreeDepth(tls *libc.TLS, nPMA int32) int32 { /* sqlite3.c:98853:12: */ +func vdbeSorterTreeDepth(tls *libc.TLS, nPMA int32) int32 { /* sqlite3.c:98866:12: */ var nDepth int32 = 0 var nDiv I64 = int64(SORTER_MAX_MERGE_COUNT) for nDiv < I64(nPMA) { @@ -77458,7 +77477,7 @@ func vdbeSorterTreeDepth(tls *libc.TLS, nPMA int32) int32 { /* sqlite3.c:98853:1 // // If successful, SQLITE_OK is returned. If an error occurs, an SQLite error // code is returned and pLeaf is freed. -func vdbeSorterAddToTree(tls *libc.TLS, pTask uintptr, nDepth int32, iSeq int32, pRoot uintptr, pLeaf uintptr) int32 { /* sqlite3.c:98871:12: */ +func vdbeSorterAddToTree(tls *libc.TLS, pTask uintptr, nDepth int32, iSeq int32, pRoot uintptr, pLeaf uintptr) int32 { /* sqlite3.c:98884:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -77509,7 +77528,7 @@ func vdbeSorterAddToTree(tls *libc.TLS, pTask uintptr, nDepth int32, iSeq int32, // MergeEngine object at the root of the tree before returning. Or, if an // error occurs, an SQLite error code is returned and the final value // of *ppOut is undefined. -func vdbeSorterMergeTreeBuild(tls *libc.TLS, pSorter uintptr, ppOut uintptr) int32 { /* sqlite3.c:98927:12: */ +func vdbeSorterMergeTreeBuild(tls *libc.TLS, pSorter uintptr, ppOut uintptr) int32 { /* sqlite3.c:98940:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -77590,7 +77609,7 @@ func vdbeSorterMergeTreeBuild(tls *libc.TLS, pSorter uintptr, ppOut uintptr) int // all records stored in the sorter. // // SQLITE_OK is returned if successful, or an SQLite error code otherwise. -func vdbeSorterSetupMerge(tls *libc.TLS, pSorter uintptr) int32 { /* sqlite3.c:99006:12: */ +func vdbeSorterSetupMerge(tls *libc.TLS, pSorter uintptr) int32 { /* sqlite3.c:99019:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -77665,7 +77684,7 @@ func vdbeSorterSetupMerge(tls *libc.TLS, pSorter uintptr) int32 { /* sqlite3.c:9 // Once the sorter has been populated by calls to sqlite3VdbeSorterWrite, // this function is called to prepare for iterating through the records // in sorted order. -func Xsqlite3VdbeSorterRewind(tls *libc.TLS, pCsr uintptr, pbEof uintptr) int32 { /* sqlite3.c:99088:20: */ +func Xsqlite3VdbeSorterRewind(tls *libc.TLS, pCsr uintptr, pbEof uintptr) int32 { /* sqlite3.c:99101:20: */ var pSorter uintptr var rc int32 = SQLITE_OK // Return code @@ -77710,7 +77729,7 @@ func Xsqlite3VdbeSorterRewind(tls *libc.TLS, pCsr uintptr, pbEof uintptr) int32 // SQLITE_OK success // SQLITE_DONE end of data // otherwise some kind of error. -func Xsqlite3VdbeSorterNext(tls *libc.TLS, db uintptr, pCsr uintptr) int32 { /* sqlite3.c:99140:20: */ +func Xsqlite3VdbeSorterNext(tls *libc.TLS, db uintptr, pCsr uintptr) int32 { /* sqlite3.c:99153:20: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -77752,7 +77771,7 @@ func Xsqlite3VdbeSorterNext(tls *libc.TLS, db uintptr, pCsr uintptr) int32 { /* // Return a pointer to a buffer owned by the sorter that contains the // current key. -func vdbeSorterRowkey(tls *libc.TLS, pSorter uintptr, pnKey uintptr) uintptr { /* sqlite3.c:99178:13: */ +func vdbeSorterRowkey(tls *libc.TLS, pSorter uintptr, pnKey uintptr) uintptr { /* sqlite3.c:99191:13: */ var pKey uintptr if (*VdbeSorter)(unsafe.Pointer(pSorter)).FbUsePMA != 0 { var pReader uintptr @@ -77771,7 +77790,7 @@ func vdbeSorterRowkey(tls *libc.TLS, pSorter uintptr, pnKey uintptr) uintptr { / } // Copy the current sorter key into the memory cell pOut. -func Xsqlite3VdbeSorterRowkey(tls *libc.TLS, pCsr uintptr, pOut uintptr) int32 { /* sqlite3.c:99205:20: */ +func Xsqlite3VdbeSorterRowkey(tls *libc.TLS, pCsr uintptr, pOut uintptr) int32 { /* sqlite3.c:99218:20: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -77806,7 +77825,7 @@ func Xsqlite3VdbeSorterRowkey(tls *libc.TLS, pCsr uintptr, pOut uintptr) int32 { // // This routine forms the core of the OP_SorterCompare opcode, which in // turn is used to verify uniqueness when constructing a UNIQUE INDEX. -func Xsqlite3VdbeSorterCompare(tls *libc.TLS, pCsr uintptr, pVal uintptr, nKeyCol int32, pRes uintptr) int32 { /* sqlite3.c:99238:20: */ +func Xsqlite3VdbeSorterCompare(tls *libc.TLS, pCsr uintptr, pVal uintptr, nKeyCol int32, pRes uintptr) int32 { /* sqlite3.c:99251:20: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -77897,7 +77916,7 @@ type MemJournal1 = struct { Fflags int32 FpVfs uintptr FzJournal uintptr -} /* sqlite3.c:99731:9 */ +} /* sqlite3.c:99744:9 */ //************* End of vdbesort.c ******************************************* //************* Begin file vdbevtab.c *************************************** @@ -77944,23 +77963,23 @@ type MemJournal1 = struct { // #include "sqliteInt.h" // Forward references to internal structures -type MemJournal = MemJournal1 /* sqlite3.c:99731:27 */ +type MemJournal = MemJournal1 /* sqlite3.c:99744:27 */ type FilePoint1 = struct { FiOffset Sqlite3_int64 FpChunk uintptr -} /* sqlite3.c:99731:9 */ +} /* sqlite3.c:99744:9 */ -type FilePoint = FilePoint1 /* sqlite3.c:99732:26 */ +type FilePoint = FilePoint1 /* sqlite3.c:99745:26 */ type FileChunk1 = struct { FpNext uintptr FzChunk [8]U8 -} /* sqlite3.c:99731:9 */ +} /* sqlite3.c:99744:9 */ -type FileChunk = FileChunk1 /* sqlite3.c:99733:26 */ +type FileChunk = FileChunk1 /* sqlite3.c:99746:26 */ // Read data from the in-memory journal file. This is the implementation // of the sqlite3_vfs.xRead method. -func memjrnlRead(tls *libc.TLS, pJfd uintptr, zBuf uintptr, iAmt int32, iOfst Sqlite_int64) int32 { /* sqlite3.c:99788:12: */ +func memjrnlRead(tls *libc.TLS, pJfd uintptr, zBuf uintptr, iAmt int32, iOfst Sqlite_int64) int32 { /* sqlite3.c:99801:12: */ var p uintptr = pJfd var zOut uintptr = zBuf var nRead int32 = iAmt @@ -78007,7 +78026,7 @@ func memjrnlRead(tls *libc.TLS, pJfd uintptr, zBuf uintptr, iAmt int32, iOfst Sq } // Free the list of FileChunk structures headed at MemJournal.pFirst. -func memjrnlFreeChunks(tls *libc.TLS, pFirst uintptr) { /* sqlite3.c:99835:13: */ +func memjrnlFreeChunks(tls *libc.TLS, pFirst uintptr) { /* sqlite3.c:99848:13: */ var pIter uintptr var pNext uintptr for pIter = pFirst; pIter != 0; pIter = pNext { @@ -78017,7 +78036,7 @@ func memjrnlFreeChunks(tls *libc.TLS, pFirst uintptr) { /* sqlite3.c:99835:13: * } // Flush the contents of memory to a real file on disk. -func memjrnlCreateFile(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:99847:12: */ +func memjrnlCreateFile(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:99860:12: */ var rc int32 var pReal uintptr = p var copy = *(*MemJournal)(unsafe.Pointer(p)) @@ -78055,7 +78074,7 @@ func memjrnlCreateFile(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:99847:12: } // Write data to the file. -func memjrnlWrite(tls *libc.TLS, pJfd uintptr, zBuf uintptr, iAmt int32, iOfst Sqlite_int64) int32 { /* sqlite3.c:99889:12: */ +func memjrnlWrite(tls *libc.TLS, pJfd uintptr, zBuf uintptr, iAmt int32, iOfst Sqlite_int64) int32 { /* sqlite3.c:99902:12: */ var p uintptr = pJfd var nWrite int32 = iAmt var zWrite uintptr = zBuf @@ -78121,7 +78140,7 @@ func memjrnlWrite(tls *libc.TLS, pJfd uintptr, zBuf uintptr, iAmt int32, iOfst S } // Truncate the in-memory file. -func memjrnlTruncate(tls *libc.TLS, pJfd uintptr, size Sqlite_int64) int32 { /* sqlite3.c:99962:12: */ +func memjrnlTruncate(tls *libc.TLS, pJfd uintptr, size Sqlite_int64) int32 { /* sqlite3.c:99975:12: */ var p uintptr = pJfd if size < (*MemJournal)(unsafe.Pointer(p)).Fendpoint.FiOffset { @@ -78149,7 +78168,7 @@ func memjrnlTruncate(tls *libc.TLS, pJfd uintptr, size Sqlite_int64) int32 { /* } // Close the file. -func memjrnlClose(tls *libc.TLS, pJfd uintptr) int32 { /* sqlite3.c:99992:12: */ +func memjrnlClose(tls *libc.TLS, pJfd uintptr) int32 { /* sqlite3.c:100005:12: */ var p uintptr = pJfd memjrnlFreeChunks(tls, (*MemJournal)(unsafe.Pointer(p)).FpFirst) return SQLITE_OK @@ -78159,14 +78178,14 @@ func memjrnlClose(tls *libc.TLS, pJfd uintptr) int32 { /* sqlite3.c:99992:12: */ // // If the real file has been created, call its xSync method. Otherwise, // syncing an in-memory journal is a no-op. -func memjrnlSync(tls *libc.TLS, pJfd uintptr, flags int32) int32 { /* sqlite3.c:100004:12: */ +func memjrnlSync(tls *libc.TLS, pJfd uintptr, flags int32) int32 { /* sqlite3.c:100017:12: */ _ = pJfd _ = flags return SQLITE_OK } // Query the size of the file in bytes. -func memjrnlFileSize(tls *libc.TLS, pJfd uintptr, pSize uintptr) int32 { /* sqlite3.c:100012:12: */ +func memjrnlFileSize(tls *libc.TLS, pJfd uintptr, pSize uintptr) int32 { /* sqlite3.c:100025:12: */ var p uintptr = pJfd *(*Sqlite_int64)(unsafe.Pointer(pSize)) = (*MemJournal)(unsafe.Pointer(p)).Fendpoint.FiOffset return SQLITE_OK @@ -78181,7 +78200,7 @@ var sMemJournalMethods = sqlite3_io_methods{ FxTruncate: 0, // xTruncate FxSync: 0, // xSync FxFileSize: 0, // xUnfetch -} /* sqlite3.c:100021:40 */ +} /* sqlite3.c:100034:40 */ // Open a journal file. // @@ -78193,7 +78212,7 @@ var sMemJournalMethods = sqlite3_io_methods{ // but may be flushed to disk later on. In this case the journal file is // flushed to disk either when it grows larger than nSpill bytes in size, // or when sqlite3JournalCreate() is called. -func Xsqlite3JournalOpen(tls *libc.TLS, pVfs uintptr, zName uintptr, pJfd uintptr, flags int32, nSpill int32) int32 { /* sqlite3.c:100055:20: */ +func Xsqlite3JournalOpen(tls *libc.TLS, pVfs uintptr, zName uintptr, pJfd uintptr, flags int32, nSpill int32) int32 { /* sqlite3.c:100068:20: */ var p uintptr = pJfd // Zero the file-handle object. If nSpill was passed zero, initialize @@ -78221,20 +78240,20 @@ func Xsqlite3JournalOpen(tls *libc.TLS, pVfs uintptr, zName uintptr, pJfd uintpt } // Open an in-memory journal file. -func Xsqlite3MemJournalOpen(tls *libc.TLS, pJfd uintptr) { /* sqlite3.c:100091:21: */ +func Xsqlite3MemJournalOpen(tls *libc.TLS, pJfd uintptr) { /* sqlite3.c:100104:21: */ Xsqlite3JournalOpen(tls, uintptr(0), uintptr(0), pJfd, 0, -1) } // The file-handle passed as the only argument is open on a journal file. // Return true if this "journal file" is currently stored in heap memory, // or false otherwise. -func Xsqlite3JournalIsInMemory(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:100130:20: */ +func Xsqlite3JournalIsInMemory(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:100143:20: */ return libc.Bool32((*Sqlite3_file)(unsafe.Pointer(p)).FpMethods == uintptr(unsafe.Pointer(&sMemJournalMethods))) } // Return the number of bytes required to store a JournalFile that uses vfs // pVfs to create the underlying on-disk files. -func Xsqlite3JournalSize(tls *libc.TLS, pVfs uintptr) int32 { /* sqlite3.c:100138:20: */ +func Xsqlite3JournalSize(tls *libc.TLS, pVfs uintptr) int32 { /* sqlite3.c:100151:20: */ return func() int32 { if (*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FszOsFile > int32(unsafe.Sizeof(MemJournal{})) { return (*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FszOsFile @@ -78263,7 +78282,7 @@ func Xsqlite3JournalSize(tls *libc.TLS, pVfs uintptr) int32 { /* sqlite3.c:10013 // Walk all expressions linked into the list of Window objects passed // as the second argument. -func walkWindowList(tls *libc.TLS, pWalker uintptr, pList uintptr, bOneOnly int32) int32 { /* sqlite3.c:100168:12: */ +func walkWindowList(tls *libc.TLS, pWalker uintptr, pList uintptr, bOneOnly int32) int32 { /* sqlite3.c:100181:12: */ var pWin uintptr for pWin = pList; pWin != 0; pWin = (*Window)(unsafe.Pointer(pWin)).FpNextWin { var rc int32 @@ -78311,7 +78330,7 @@ func walkWindowList(tls *libc.TLS, pWalker uintptr, pList uintptr, bOneOnly int3 // // The return value from this routine is WRC_Abort to abandon the tree walk // and WRC_Continue to continue. -func walkExpr(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:100207:28: */ +func walkExpr(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:100220:28: */ var rc int32 for 1 != 0 { @@ -78353,7 +78372,7 @@ func walkExpr(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3. return WRC_Continue } -func Xsqlite3WalkExpr(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:100239:20: */ +func Xsqlite3WalkExpr(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:100252:20: */ if pExpr != 0 { return walkExpr(tls, pWalker, pExpr) } @@ -78362,7 +78381,7 @@ func Xsqlite3WalkExpr(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* // Call sqlite3WalkExpr() for every expression in list p or until // an abort request is seen. -func Xsqlite3WalkExprList(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sqlite3.c:100247:20: */ +func Xsqlite3WalkExprList(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sqlite3.c:100260:20: */ var i int32 var pItem uintptr if p != 0 { @@ -78391,7 +78410,7 @@ func Xsqlite3WalkExprList(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* // This is a no-op callback for Walker->xSelectCallback2. If this // callback is set, then the Select->pWinDefn list is traversed. -func Xsqlite3WalkWinDefnDummyCallback(tls *libc.TLS, pWalker uintptr, p uintptr) { /* sqlite3.c:100262:21: */ +func Xsqlite3WalkWinDefnDummyCallback(tls *libc.TLS, pWalker uintptr, p uintptr) { /* sqlite3.c:100275:21: */ _ = pWalker _ = p // No-op @@ -78401,7 +78420,7 @@ func Xsqlite3WalkWinDefnDummyCallback(tls *libc.TLS, pWalker uintptr, p uintptr) // not invoke the SELECT callback on p, but do (of course) invoke // any expr callbacks and SELECT callbacks that come from subqueries. // Return WRC_Abort or WRC_Continue. -func Xsqlite3WalkSelectExpr(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sqlite3.c:100274:20: */ +func Xsqlite3WalkSelectExpr(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sqlite3.c:100287:20: */ if Xsqlite3WalkExprList(tls, pWalker, (*Select)(unsafe.Pointer(p)).FpEList) != 0 { return WRC_Abort } @@ -78443,7 +78462,7 @@ func Xsqlite3WalkSelectExpr(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { / // callback on p, but do invoke it on each FROM clause subquery // and on any subqueries further down in the tree. Return // WRC_Abort or WRC_Continue; -func Xsqlite3WalkSelectFrom(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sqlite3.c:100307:20: */ +func Xsqlite3WalkSelectFrom(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sqlite3.c:100320:20: */ var pSrc uintptr var i int32 var pItem uintptr @@ -78492,7 +78511,7 @@ func Xsqlite3WalkSelectFrom(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { / // // If the Walker does not have an xSelectCallback() then this routine // is a no-op returning WRC_Continue. -func Xsqlite3WalkSelect(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sqlite3.c:100345:20: */ +func Xsqlite3WalkSelect(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sqlite3.c:100358:20: */ var rc int32 if p == uintptr(0) { return WRC_Continue @@ -78523,13 +78542,13 @@ func Xsqlite3WalkSelect(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sq // Increase the walkerDepth when entering a subquery, and // descrease when leaving the subquery. -func Xsqlite3WalkerDepthIncrease(tls *libc.TLS, pWalker uintptr, pSelect uintptr) int32 { /* sqlite3.c:100368:20: */ +func Xsqlite3WalkerDepthIncrease(tls *libc.TLS, pWalker uintptr, pSelect uintptr) int32 { /* sqlite3.c:100381:20: */ _ = pSelect (*Walker)(unsafe.Pointer(pWalker)).FwalkerDepth++ return WRC_Continue } -func Xsqlite3WalkerDepthDecrease(tls *libc.TLS, pWalker uintptr, pSelect uintptr) { /* sqlite3.c:100373:21: */ +func Xsqlite3WalkerDepthDecrease(tls *libc.TLS, pWalker uintptr, pSelect uintptr) { /* sqlite3.c:100386:21: */ _ = pSelect (*Walker)(unsafe.Pointer(pWalker)).FwalkerDepth-- } @@ -78541,7 +78560,7 @@ func Xsqlite3WalkerDepthDecrease(tls *libc.TLS, pWalker uintptr, pSelect uintptr // when this routine is used for Walker.xExprCallback then // Walker.xSelectCallback is set to do something useful for every // subquery in the parser tree. -func Xsqlite3ExprWalkNoop(tls *libc.TLS, NotUsed uintptr, NotUsed2 uintptr) int32 { /* sqlite3.c:100388:20: */ +func Xsqlite3ExprWalkNoop(tls *libc.TLS, NotUsed uintptr, NotUsed2 uintptr) int32 { /* sqlite3.c:100401:20: */ _ = NotUsed _ = NotUsed2 return WRC_Continue @@ -78549,7 +78568,7 @@ func Xsqlite3ExprWalkNoop(tls *libc.TLS, NotUsed uintptr, NotUsed2 uintptr) int3 // No-op routine for the parse-tree walker for SELECT statements. // subquery in the parser tree. -func Xsqlite3SelectWalkNoop(tls *libc.TLS, NotUsed uintptr, NotUsed2 uintptr) int32 { /* sqlite3.c:100397:20: */ +func Xsqlite3SelectWalkNoop(tls *libc.TLS, NotUsed uintptr, NotUsed2 uintptr) int32 { /* sqlite3.c:100410:20: */ _ = NotUsed _ = NotUsed2 return WRC_Continue @@ -78584,14 +78603,14 @@ func Xsqlite3SelectWalkNoop(tls *libc.TLS, NotUsed uintptr, NotUsed2 uintptr) in // is a helper function - a callback for the tree walker. // // See also the sqlite3WindowExtraAggFuncDepth() routine in window.c -func incrAggDepth(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:100438:12: */ +func incrAggDepth(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:100451:12: */ if int32((*Expr)(unsafe.Pointer(pExpr)).Fop) == TK_AGG_FUNCTION { *(*U8)(unsafe.Pointer(pExpr + 2)) += U8(*(*int32)(unsafe.Pointer(pWalker + 24))) } return WRC_Continue } -func incrAggFunctionDepth(tls *libc.TLS, pExpr uintptr, N int32) { /* sqlite3.c:100442:13: */ +func incrAggFunctionDepth(tls *libc.TLS, pExpr uintptr, N int32) { /* sqlite3.c:100455:13: */ bp := tls.Alloc(28) defer tls.Free(28) @@ -78624,7 +78643,7 @@ func incrAggFunctionDepth(tls *libc.TLS, pExpr uintptr, N int32) { /* sqlite3.c: // zero but it might be more if the alias is contained within a subquery // of the original expression. The Expr.op2 field of TK_AGG_FUNCTION // structures must be increased by the nSubquery amount. -func resolveAlias(tls *libc.TLS, pParse uintptr, pEList uintptr, iCol int32, pExpr uintptr, nSubquery int32) { /* sqlite3.c:100471:13: */ +func resolveAlias(tls *libc.TLS, pParse uintptr, pEList uintptr, iCol int32, pExpr uintptr, nSubquery int32) { /* sqlite3.c:100484:13: */ var pOrig uintptr // The iCol-th column of the result set var pDup uintptr // Copy of pOrig var db uintptr // The database connection @@ -78670,7 +78689,7 @@ func resolveAlias(tls *libc.TLS, pParse uintptr, pEList uintptr, iCol int32, pEx // // Return FALSE if the USING clause is NULL or if it does not contain // zCol. -func nameInUsingClause(tls *libc.TLS, pUsing uintptr, zCol uintptr) int32 { /* sqlite3.c:100528:12: */ +func nameInUsingClause(tls *libc.TLS, pUsing uintptr, zCol uintptr) int32 { /* sqlite3.c:100541:12: */ if pUsing != 0 { var k int32 for k = 0; k < (*IdList)(unsafe.Pointer(pUsing)).FnId; k++ { @@ -78687,7 +78706,7 @@ func nameInUsingClause(tls *libc.TLS, pUsing uintptr, zCol uintptr) int32 { /* s // Check to see if the zSpan given to this routine matches the zDb, zTab, // and zCol. If any of zDb, zTab, and zCol are NULL then those fields will // match anything. -func Xsqlite3MatchEName(tls *libc.TLS, pItem uintptr, zCol uintptr, zTab uintptr, zDb uintptr) int32 { /* sqlite3.c:100545:20: */ +func Xsqlite3MatchEName(tls *libc.TLS, pItem uintptr, zCol uintptr, zTab uintptr, zDb uintptr) int32 { /* sqlite3.c:100558:20: */ var n int32 var zSpan uintptr if int32(*(*uint8)(unsafe.Pointer(pItem + 12))&0x3>>0) != ENAME_TAB { @@ -78713,7 +78732,7 @@ func Xsqlite3MatchEName(tls *libc.TLS, pItem uintptr, zCol uintptr, zTab uintptr } // Return TRUE if the double-quoted string mis-feature should be supported. -func areDoubleQuotedStringsEnabled(tls *libc.TLS, db uintptr, pTopNC uintptr) int32 { /* sqlite3.c:100574:12: */ +func areDoubleQuotedStringsEnabled(tls *libc.TLS, db uintptr, pTopNC uintptr) int32 { /* sqlite3.c:100587:12: */ if (*Sqlite3)(unsafe.Pointer(db)).Finit.Fbusy != 0 { return 1 } // Always support for legacy schemas @@ -78732,7 +78751,7 @@ func areDoubleQuotedStringsEnabled(tls *libc.TLS, db uintptr, pTopNC uintptr) in // The argument is guaranteed to be a non-NULL Expr node of type TK_COLUMN. // return the appropriate colUsed mask. -func Xsqlite3ExprColUsed(tls *libc.TLS, pExpr uintptr) Bitmask { /* sqlite3.c:100592:24: */ +func Xsqlite3ExprColUsed(tls *libc.TLS, pExpr uintptr) Bitmask { /* sqlite3.c:100605:24: */ var n int32 var pExTab uintptr @@ -78782,7 +78801,7 @@ func Xsqlite3ExprColUsed(tls *libc.TLS, pExpr uintptr) Bitmask { /* sqlite3.c:10 // // If the name cannot be resolved unambiguously, leave an error message // in pParse and return WRC_Abort. Return WRC_Prune on success. -func lookupName(tls *libc.TLS, pParse uintptr, zDb uintptr, zTab uintptr, zCol uintptr, pNC uintptr, pExpr uintptr) int32 { /* sqlite3.c:100641:12: */ +func lookupName(tls *libc.TLS, pParse uintptr, zDb uintptr, zTab uintptr, zCol uintptr, pNC uintptr, pExpr uintptr) int32 { /* sqlite3.c:100654:12: */ bp := tls.Alloc(96) defer tls.Free(96) @@ -79500,7 +79519,7 @@ __88: // Allocate and return a pointer to an expression to load the column iCol // from datasource iSrc in SrcList pSrc. -func Xsqlite3CreateColumnExpr(tls *libc.TLS, db uintptr, pSrc uintptr, iSrc int32, iCol int32) uintptr { /* sqlite3.c:101087:21: */ +func Xsqlite3CreateColumnExpr(tls *libc.TLS, db uintptr, pSrc uintptr, iSrc int32, iCol int32) uintptr { /* sqlite3.c:101100:21: */ var p uintptr = Xsqlite3ExprAlloc(tls, db, TK_COLUMN, uintptr(0), 0) if p != 0 { var pItem uintptr = pSrc + 8 + uintptr(iSrc)*72 @@ -79549,7 +79568,7 @@ func Xsqlite3CreateColumnExpr(tls *libc.TLS, db uintptr, pSrc uintptr, iSrc int3 // As an optimization, since the conditional is almost always false // (because errors are rare), the conditional is moved outside of the // function call using a macro. -func notValidImpl(tls *libc.TLS, pParse uintptr, pNC uintptr, zMsg uintptr, pExpr uintptr, pError uintptr) { /* sqlite3.c:101131:13: */ +func notValidImpl(tls *libc.TLS, pParse uintptr, pNC uintptr, zMsg uintptr, pExpr uintptr, pError uintptr) { /* sqlite3.c:101144:13: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -79571,7 +79590,7 @@ func notValidImpl(tls *libc.TLS, pParse uintptr, pNC uintptr, zMsg uintptr, pExp // Expression p should encode a floating point value between 1.0 and 0.0. // Return 1024 times this value. Or return -1 if p is not a floating point // value between 1.0 and 0.0. -func exprProbability(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:101159:12: */ +func exprProbability(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:101172:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -79597,7 +79616,7 @@ func exprProbability(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:101159:12: * // This routine also does error checking and name resolution for // function names. The operator for aggregate functions is changed // to TK_AGG_FUNCTION. -func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:101180:12: */ +func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:101193:12: */ bp := tls.Alloc(96) defer tls.Free(96) @@ -80079,7 +80098,7 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* s // return 0. // // pEList has been resolved. pE has not. -func resolveAsName(tls *libc.TLS, pParse uintptr, pEList uintptr, pE uintptr) int32 { /* sqlite3.c:101638:12: */ +func resolveAsName(tls *libc.TLS, pParse uintptr, pEList uintptr, pE uintptr) int32 { /* sqlite3.c:101651:12: */ var i int32 // Loop counter _ = pParse @@ -80114,7 +80133,7 @@ func resolveAsName(tls *libc.TLS, pParse uintptr, pEList uintptr, pE uintptr) in // the column. // // If there is no match, return 0. Return -1 if an error occurs. -func resolveOrderByTermToExprList(tls *libc.TLS, pParse uintptr, pSelect uintptr, pE uintptr) int32 { /* sqlite3.c:101680:12: */ +func resolveOrderByTermToExprList(tls *libc.TLS, pParse uintptr, pSelect uintptr, pE uintptr) int32 { /* sqlite3.c:101693:12: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -80158,7 +80177,7 @@ func resolveOrderByTermToExprList(tls *libc.TLS, pParse uintptr, pSelect uintptr } // Generate an ORDER BY or GROUP BY term out-of-range error. -func resolveOutOfRangeError(tls *libc.TLS, pParse uintptr, zType uintptr, i int32, mx int32, pError uintptr) { /* sqlite3.c:101727:13: */ +func resolveOutOfRangeError(tls *libc.TLS, pParse uintptr, zType uintptr, i int32, mx int32, pError uintptr) { /* sqlite3.c:101740:13: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -80181,7 +80200,7 @@ func resolveOutOfRangeError(tls *libc.TLS, pParse uintptr, zType uintptr, i int3 // the integer column number. // // Return the number of errors seen. -func resolveCompoundOrderBy(tls *libc.TLS, pParse uintptr, pSelect uintptr) int32 { /* sqlite3.c:101755:12: */ +func resolveCompoundOrderBy(tls *libc.TLS, pParse uintptr, pSelect uintptr) int32 { /* sqlite3.c:101768:12: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -80318,7 +80337,7 @@ func resolveCompoundOrderBy(tls *libc.TLS, pParse uintptr, pSelect uintptr) int3 // // If any errors are detected, add an error message to pParse and // return non-zero. Return zero if no errors are seen. -func Xsqlite3ResolveOrderGroupBy(tls *libc.TLS, pParse uintptr, pSelect uintptr, pOrderBy uintptr, zType uintptr) int32 { /* sqlite3.c:101868:20: */ +func Xsqlite3ResolveOrderGroupBy(tls *libc.TLS, pParse uintptr, pSelect uintptr, pOrderBy uintptr, zType uintptr) int32 { /* sqlite3.c:101881:20: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -80364,7 +80383,7 @@ __3: } // Walker callback for windowRemoveExprFromSelect(). -func resolveRemoveWindowsCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:101902:12: */ +func resolveRemoveWindowsCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:101915:12: */ _ = pWalker if (*Expr)(unsafe.Pointer(pExpr)).Fflags&U32(EP_WinFunc) != U32(0) { var pWin uintptr = *(*uintptr)(unsafe.Pointer(pExpr + 44)) @@ -80375,7 +80394,7 @@ func resolveRemoveWindowsCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 // Remove any Window objects owned by the expression pExpr from the // Select.pWin list of Select object pSelect. -func windowRemoveExprFromSelect(tls *libc.TLS, pSelect uintptr, pExpr uintptr) { /* sqlite3.c:101915:13: */ +func windowRemoveExprFromSelect(tls *libc.TLS, pSelect uintptr, pExpr uintptr) { /* sqlite3.c:101928:13: */ bp := tls.Alloc(28) defer tls.Free(28) @@ -80407,7 +80426,7 @@ func windowRemoveExprFromSelect(tls *libc.TLS, pSelect uintptr, pExpr uintptr) { // This routine returns the number of errors. If errors occur, then // an appropriate error message might be left in pParse. (OOM errors // excepted.) -func resolveOrderGroupBy(tls *libc.TLS, pNC uintptr, pSelect uintptr, pOrderBy uintptr, zType uintptr) int32 { /* sqlite3.c:101946:12: */ +func resolveOrderGroupBy(tls *libc.TLS, pNC uintptr, pSelect uintptr, pOrderBy uintptr, zType uintptr) int32 { /* sqlite3.c:101959:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -80484,7 +80503,7 @@ __3: } // Resolve names in the SELECT statement p and all of its descendants. -func resolveSelectStep(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sqlite3.c:102009:12: */ +func resolveSelectStep(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sqlite3.c:102022:12: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -80783,7 +80802,7 @@ func resolveSelectStep(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sql // // An error message is left in pParse if anything is amiss. The number // if errors is returned. -func Xsqlite3ResolveExprNames(tls *libc.TLS, pNC uintptr, pExpr uintptr) int32 { /* sqlite3.c:102297:20: */ +func Xsqlite3ResolveExprNames(tls *libc.TLS, pNC uintptr, pExpr uintptr) int32 { /* sqlite3.c:102310:20: */ bp := tls.Alloc(28) defer tls.Free(28) @@ -80824,7 +80843,7 @@ func Xsqlite3ResolveExprNames(tls *libc.TLS, pNC uintptr, pExpr uintptr) int32 { // Resolve all names for all expression in an expression list. This is // just like sqlite3ResolveExprNames() except that it works for an expression // list rather than a single expression. -func Xsqlite3ResolveExprListNames(tls *libc.TLS, pNC uintptr, pList uintptr) int32 { /* sqlite3.c:102336:20: */ +func Xsqlite3ResolveExprListNames(tls *libc.TLS, pNC uintptr, pList uintptr) int32 { /* sqlite3.c:102349:20: */ bp := tls.Alloc(28) defer tls.Free(28) @@ -80881,7 +80900,7 @@ func Xsqlite3ResolveExprListNames(tls *libc.TLS, pNC uintptr, pList uintptr) int // // All SELECT statements should have been expanded using // sqlite3SelectExpand() prior to invoking this routine. -func Xsqlite3ResolveSelectNames(tls *libc.TLS, pParse uintptr, p uintptr, pOuterNC uintptr) { /* sqlite3.c:102392:21: */ +func Xsqlite3ResolveSelectNames(tls *libc.TLS, pParse uintptr, p uintptr, pOuterNC uintptr) { /* sqlite3.c:102405:21: */ bp := tls.Alloc(28) defer tls.Free(28) @@ -80915,7 +80934,7 @@ func Xsqlite3ResolveSelectNames(tls *libc.TLS, pParse uintptr, p uintptr, pOuter // set to the column number. In case (4), TK_COLUMN nodes cause an error. // // Any errors cause an error message to be set in pParse. -func Xsqlite3ResolveSelfReference(tls *libc.TLS, pParse uintptr, pTab uintptr, type1 int32, pExpr uintptr, pList uintptr) int32 { /* sqlite3.c:102426:20: */ +func Xsqlite3ResolveSelfReference(tls *libc.TLS, pParse uintptr, pTab uintptr, type1 int32, pExpr uintptr, pList uintptr) int32 { /* sqlite3.c:102439:20: */ bp := tls.Alloc(112) defer tls.Free(112) @@ -80951,7 +80970,7 @@ func Xsqlite3ResolveSelfReference(tls *libc.TLS, pParse uintptr, pTab uintptr, t } // Return the affinity character for a single column of a table. -func Xsqlite3TableColumnAffinity(tls *libc.TLS, pTab uintptr, iCol int32) int8 { /* sqlite3.c:102486:21: */ +func Xsqlite3TableColumnAffinity(tls *libc.TLS, pTab uintptr, iCol int32) int8 { /* sqlite3.c:102499:21: */ if iCol < 0 || iCol >= int32((*Table)(unsafe.Pointer(pTab)).FnCol) { return int8(SQLITE_AFF_INTEGER) } @@ -80972,7 +80991,7 @@ func Xsqlite3TableColumnAffinity(tls *libc.TLS, pTab uintptr, iCol int32) int8 { // SELECT * FROM t1 WHERE a; // SELECT a AS b FROM t1 WHERE b; // SELECT * FROM t1 WHERE (select a from t1); -func Xsqlite3ExprAffinity(tls *libc.TLS, pExpr uintptr) int8 { /* sqlite3.c:102507:21: */ +func Xsqlite3ExprAffinity(tls *libc.TLS, pExpr uintptr) int8 { /* sqlite3.c:102520:21: */ var op int32 for (*Expr)(unsafe.Pointer(pExpr)).Fflags&U32(EP_Skip|EP_IfNullRow) != U32(0) { @@ -81015,7 +81034,7 @@ func Xsqlite3ExprAffinity(tls *libc.TLS, pExpr uintptr) int8 { /* sqlite3.c:1025 // // If a memory allocation error occurs, that fact is recorded in pParse->db // and the pExpr parameter is returned unchanged. -func Xsqlite3ExprAddCollateToken(tls *libc.TLS, pParse uintptr, pExpr uintptr, pCollName uintptr, dequote int32) uintptr { /* sqlite3.c:102560:21: */ +func Xsqlite3ExprAddCollateToken(tls *libc.TLS, pParse uintptr, pExpr uintptr, pCollName uintptr, dequote int32) uintptr { /* sqlite3.c:102573:21: */ if (*Token)(unsafe.Pointer(pCollName)).Fn > uint32(0) { var pNew uintptr = Xsqlite3ExprAlloc(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, TK_COLLATE, pCollName, dequote) if pNew != 0 { @@ -81027,7 +81046,7 @@ func Xsqlite3ExprAddCollateToken(tls *libc.TLS, pParse uintptr, pExpr uintptr, p return pExpr } -func Xsqlite3ExprAddCollateString(tls *libc.TLS, pParse uintptr, pExpr uintptr, zC uintptr) uintptr { /* sqlite3.c:102576:21: */ +func Xsqlite3ExprAddCollateString(tls *libc.TLS, pParse uintptr, pExpr uintptr, zC uintptr) uintptr { /* sqlite3.c:102589:21: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -81038,7 +81057,7 @@ func Xsqlite3ExprAddCollateString(tls *libc.TLS, pParse uintptr, pExpr uintptr, } // Skip over any TK_COLLATE operators. -func Xsqlite3ExprSkipCollate(tls *libc.TLS, pExpr uintptr) uintptr { /* sqlite3.c:102590:21: */ +func Xsqlite3ExprSkipCollate(tls *libc.TLS, pExpr uintptr) uintptr { /* sqlite3.c:102603:21: */ for pExpr != 0 && (*Expr)(unsafe.Pointer(pExpr)).Fflags&U32(EP_Skip) != U32(0) { pExpr = (*Expr)(unsafe.Pointer(pExpr)).FpLeft @@ -81049,7 +81068,7 @@ func Xsqlite3ExprSkipCollate(tls *libc.TLS, pExpr uintptr) uintptr { /* sqlite3. // Skip over any TK_COLLATE operators and/or any unlikely() // or likelihood() or likely() functions at the root of an // expression. -func Xsqlite3ExprSkipCollateAndLikely(tls *libc.TLS, pExpr uintptr) uintptr { /* sqlite3.c:102603:21: */ +func Xsqlite3ExprSkipCollateAndLikely(tls *libc.TLS, pExpr uintptr) uintptr { /* sqlite3.c:102616:21: */ for pExpr != 0 && (*Expr)(unsafe.Pointer(pExpr)).Fflags&U32(EP_Skip|EP_Unlikely) != U32(0) { if (*Expr)(unsafe.Pointer(pExpr)).Fflags&U32(EP_Unlikely) != U32(0) { @@ -81074,7 +81093,7 @@ func Xsqlite3ExprSkipCollateAndLikely(tls *libc.TLS, pExpr uintptr) uintptr { /* // or by the presence of a column with a defined collating sequence. // COLLATE operators take first precedence. Left operands take // precedence over right operands. -func Xsqlite3ExprCollSeq(tls *libc.TLS, pParse uintptr, pExpr uintptr) uintptr { /* sqlite3.c:102632:24: */ +func Xsqlite3ExprCollSeq(tls *libc.TLS, pParse uintptr, pExpr uintptr) uintptr { /* sqlite3.c:102645:24: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb var pColl uintptr = uintptr(0) var p uintptr = pExpr @@ -81146,7 +81165,7 @@ func Xsqlite3ExprCollSeq(tls *libc.TLS, pParse uintptr, pExpr uintptr) uintptr { // // The sqlite3ExprCollSeq() routine works the same except that it // returns NULL if there is no defined collation. -func Xsqlite3ExprNNCollSeq(tls *libc.TLS, pParse uintptr, pExpr uintptr) uintptr { /* sqlite3.c:102705:24: */ +func Xsqlite3ExprNNCollSeq(tls *libc.TLS, pParse uintptr, pExpr uintptr) uintptr { /* sqlite3.c:102718:24: */ var p uintptr = Xsqlite3ExprCollSeq(tls, pParse, pExpr) if p == uintptr(0) { p = (*Sqlite3)(unsafe.Pointer((*Parse)(unsafe.Pointer(pParse)).Fdb)).FpDfltColl @@ -81156,7 +81175,7 @@ func Xsqlite3ExprNNCollSeq(tls *libc.TLS, pParse uintptr, pExpr uintptr) uintptr } // Return TRUE if the two expressions have equivalent collating sequences. -func Xsqlite3ExprCollSeqMatch(tls *libc.TLS, pParse uintptr, pE1 uintptr, pE2 uintptr) int32 { /* sqlite3.c:102715:20: */ +func Xsqlite3ExprCollSeqMatch(tls *libc.TLS, pParse uintptr, pE1 uintptr, pE2 uintptr) int32 { /* sqlite3.c:102728:20: */ var pColl1 uintptr = Xsqlite3ExprNNCollSeq(tls, pParse, pE1) var pColl2 uintptr = Xsqlite3ExprNNCollSeq(tls, pParse, pE2) return libc.Bool32(Xsqlite3StrICmp(tls, (*CollSeq)(unsafe.Pointer(pColl1)).FzName, (*CollSeq)(unsafe.Pointer(pColl2)).FzName) == 0) @@ -81165,7 +81184,7 @@ func Xsqlite3ExprCollSeqMatch(tls *libc.TLS, pParse uintptr, pE1 uintptr, pE2 ui // pExpr is an operand of a comparison operator. aff2 is the // type affinity of the other operand. This routine returns the // type affinity that should be used for the comparison operator. -func Xsqlite3CompareAffinity(tls *libc.TLS, pExpr uintptr, aff2 int8) int8 { /* sqlite3.c:102726:21: */ +func Xsqlite3CompareAffinity(tls *libc.TLS, pExpr uintptr, aff2 int8) int8 { /* sqlite3.c:102739:21: */ var aff1 int8 = Xsqlite3ExprAffinity(tls, pExpr) if int32(aff1) > SQLITE_AFF_NONE && int32(aff2) > SQLITE_AFF_NONE { // Both sides of the comparison are columns. If one has numeric @@ -81190,7 +81209,7 @@ func Xsqlite3CompareAffinity(tls *libc.TLS, pExpr uintptr, aff2 int8) int8 { /* // pExpr is a comparison operator. Return the type affinity that should // be applied to both operands prior to doing the comparison. -func comparisonAffinity(tls *libc.TLS, pExpr uintptr) int8 { /* sqlite3.c:102748:13: */ +func comparisonAffinity(tls *libc.TLS, pExpr uintptr) int8 { /* sqlite3.c:102761:13: */ var aff int8 aff = Xsqlite3ExprAffinity(tls, (*Expr)(unsafe.Pointer(pExpr)).FpLeft) @@ -81208,7 +81227,7 @@ func comparisonAffinity(tls *libc.TLS, pExpr uintptr) int8 { /* sqlite3.c:102748 // idx_affinity is the affinity of an indexed column. Return true // if the index with affinity idx_affinity may be used to implement // the comparison in pExpr. -func Xsqlite3IndexAffinityOk(tls *libc.TLS, pExpr uintptr, idx_affinity int8) int32 { /* sqlite3.c:102771:20: */ +func Xsqlite3IndexAffinityOk(tls *libc.TLS, pExpr uintptr, idx_affinity int8) int32 { /* sqlite3.c:102784:20: */ var aff int8 = comparisonAffinity(tls, pExpr) if int32(aff) < SQLITE_AFF_TEXT { return 1 @@ -81221,7 +81240,7 @@ func Xsqlite3IndexAffinityOk(tls *libc.TLS, pExpr uintptr, idx_affinity int8) in // Return the P5 value that should be used for a binary comparison // opcode (OP_Eq, OP_Ge etc.) used to compare pExpr1 and pExpr2. -func binaryCompareP5(tls *libc.TLS, pExpr1 uintptr, pExpr2 uintptr, jumpIfNull int32) U8 { /* sqlite3.c:102786:11: */ +func binaryCompareP5(tls *libc.TLS, pExpr1 uintptr, pExpr2 uintptr, jumpIfNull int32) U8 { /* sqlite3.c:102799:11: */ var aff U8 = U8(Xsqlite3ExprAffinity(tls, pExpr2)) aff = U8(int32(U8(Xsqlite3CompareAffinity(tls, pExpr1, int8(aff)))) | int32(U8(jumpIfNull))) return aff @@ -81237,7 +81256,7 @@ func binaryCompareP5(tls *libc.TLS, pExpr1 uintptr, pExpr2 uintptr, jumpIfNull i // // Argument pRight (but not pLeft) may be a null pointer. In this case, // it is not considered. -func Xsqlite3BinaryCompareCollSeq(tls *libc.TLS, pParse uintptr, pLeft uintptr, pRight uintptr) uintptr { /* sqlite3.c:102808:24: */ +func Xsqlite3BinaryCompareCollSeq(tls *libc.TLS, pParse uintptr, pLeft uintptr, pRight uintptr) uintptr { /* sqlite3.c:102821:24: */ var pColl uintptr if (*Expr)(unsafe.Pointer(pLeft)).Fflags&U32(EP_Collate) != 0 { @@ -81260,7 +81279,7 @@ func Xsqlite3BinaryCompareCollSeq(tls *libc.TLS, pParse uintptr, pLeft uintptr, // However, if the OP_Commuted flag is set, then the order of the operands // is reversed in the sqlite3BinaryCompareCollSeq() call so that the // correct collating sequence is found. -func Xsqlite3ExprCompareCollSeq(tls *libc.TLS, pParse uintptr, p uintptr) uintptr { /* sqlite3.c:102836:24: */ +func Xsqlite3ExprCompareCollSeq(tls *libc.TLS, pParse uintptr, p uintptr) uintptr { /* sqlite3.c:102849:24: */ if (*Expr)(unsafe.Pointer(p)).Fflags&U32(EP_Commuted) != U32(0) { return Xsqlite3BinaryCompareCollSeq(tls, pParse, (*Expr)(unsafe.Pointer(p)).FpRight, (*Expr)(unsafe.Pointer(p)).FpLeft) } else { @@ -81270,7 +81289,7 @@ func Xsqlite3ExprCompareCollSeq(tls *libc.TLS, pParse uintptr, p uintptr) uintpt } // Generate code for a comparison operator. -func codeCompare(tls *libc.TLS, pParse uintptr, pLeft uintptr, pRight uintptr, opcode int32, in1 int32, in2 int32, dest int32, jumpIfNull int32, isCommuted int32) int32 { /* sqlite3.c:102847:12: */ +func codeCompare(tls *libc.TLS, pParse uintptr, pLeft uintptr, pRight uintptr, opcode int32, in1 int32, in2 int32, dest int32, jumpIfNull int32, isCommuted int32) int32 { /* sqlite3.c:102860:12: */ var p5 int32 var addr int32 var p4 uintptr @@ -81297,7 +81316,7 @@ func codeCompare(tls *libc.TLS, pParse uintptr, pLeft uintptr, pRight uintptr, o // parser will not generate a TK_VECTOR with fewer than two entries. // But a TK_SELECT might be either a vector or a scalar. It is only // considered a vector if it has two or more result columns. -func Xsqlite3ExprIsVector(tls *libc.TLS, pExpr uintptr) int32 { /* sqlite3.c:102883:20: */ +func Xsqlite3ExprIsVector(tls *libc.TLS, pExpr uintptr) int32 { /* sqlite3.c:102896:20: */ return libc.Bool32(Xsqlite3ExprVectorSize(tls, pExpr) > 1) } @@ -81305,7 +81324,7 @@ func Xsqlite3ExprIsVector(tls *libc.TLS, pExpr uintptr) int32 { /* sqlite3.c:102 // return the number of expressions in the vector. Or, if the expression // is a sub-select, return the number of columns in the sub-select. For // any other type of expression, return 1. -func Xsqlite3ExprVectorSize(tls *libc.TLS, pExpr uintptr) int32 { /* sqlite3.c:102893:20: */ +func Xsqlite3ExprVectorSize(tls *libc.TLS, pExpr uintptr) int32 { /* sqlite3.c:102906:20: */ var op U8 = (*Expr)(unsafe.Pointer(pExpr)).Fop if int32(op) == TK_REGISTER { op = (*Expr)(unsafe.Pointer(pExpr)).Fop2 @@ -81335,7 +81354,7 @@ func Xsqlite3ExprVectorSize(tls *libc.TLS, pExpr uintptr) int32 { /* sqlite3.c:1 // just the expression for the i-th term of the result set, and may // not be ready for evaluation because the table cursor has not yet // been positioned. -func Xsqlite3VectorFieldSubexpr(tls *libc.TLS, pVector uintptr, i int32) uintptr { /* sqlite3.c:102922:21: */ +func Xsqlite3VectorFieldSubexpr(tls *libc.TLS, pVector uintptr, i int32) uintptr { /* sqlite3.c:102935:21: */ if Xsqlite3ExprIsVector(tls, pVector) != 0 { @@ -81369,7 +81388,7 @@ func Xsqlite3VectorFieldSubexpr(tls *libc.TLS, pVector uintptr, i int32) uintptr // A trick to cause a TK_SELECT pVector to be deleted together with // the returned Expr object is to attach the pVector to the pRight field // of the returned TK_SELECT_COLUMN Expr object. -func Xsqlite3ExprForVectorField(tls *libc.TLS, pParse uintptr, pVector uintptr, iField int32, nField int32) uintptr { /* sqlite3.c:102958:21: */ +func Xsqlite3ExprForVectorField(tls *libc.TLS, pParse uintptr, pVector uintptr, iField int32, nField int32) uintptr { /* sqlite3.c:102971:21: */ var pRet uintptr if int32((*Expr)(unsafe.Pointer(pVector)).Fop) == TK_SELECT { @@ -81417,7 +81436,7 @@ func Xsqlite3ExprForVectorField(tls *libc.TLS, pParse uintptr, pVector uintptr, // of registers in which the result is stored). // // If pExpr is not a TK_SELECT expression, return 0. -func exprCodeSubselect(tls *libc.TLS, pParse uintptr, pExpr uintptr) int32 { /* sqlite3.c:103014:12: */ +func exprCodeSubselect(tls *libc.TLS, pParse uintptr, pExpr uintptr) int32 { /* sqlite3.c:103027:12: */ var reg int32 = 0 if int32((*Expr)(unsafe.Pointer(pExpr)).Fop) == TK_SELECT { reg = Xsqlite3CodeSubselect(tls, pParse, pExpr) @@ -81441,7 +81460,7 @@ func exprCodeSubselect(tls *libc.TLS, pParse uintptr, pExpr uintptr) int32 { /* // // Before returning, output parameter (*ppExpr) is set to point to the // Expr object corresponding to element iElem of the vector. -func exprVectorRegister(tls *libc.TLS, pParse uintptr, pVector uintptr, iField int32, regSelect int32, ppExpr uintptr, pRegFree uintptr) int32 { /* sqlite3.c:103042:12: */ +func exprVectorRegister(tls *libc.TLS, pParse uintptr, pVector uintptr, iField int32, regSelect int32, ppExpr uintptr, pRegFree uintptr) int32 { /* sqlite3.c:103055:12: */ var op U8 = (*Expr)(unsafe.Pointer(pVector)).Fop if int32(op) == TK_REGISTER { @@ -81470,7 +81489,7 @@ func exprVectorRegister(tls *libc.TLS, pParse uintptr, pVector uintptr, iField i // if pExpr->op==TK_IS: op==TK_EQ and p5==SQLITE_NULLEQ // if pExpr->op==TK_ISNOT: op==TK_NE and p5==SQLITE_NULLEQ // otherwise: op==pExpr->op and p5==0 -func codeVectorCompare(tls *libc.TLS, pParse uintptr, pExpr uintptr, dest int32, op U8, p5 U8) { /* sqlite3.c:103080:13: */ +func codeVectorCompare(tls *libc.TLS, pParse uintptr, pExpr uintptr, dest int32, op U8, p5 U8) { /* sqlite3.c:103093:13: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -81558,7 +81577,7 @@ func codeVectorCompare(tls *libc.TLS, pParse uintptr, pExpr uintptr, dest int32, // Check that argument nHeight is less than or equal to the maximum // expression depth allowed. If it is not, leave an error message in // pParse. -func Xsqlite3ExprCheckHeight(tls *libc.TLS, pParse uintptr, nHeight int32) int32 { /* sqlite3.c:103175:20: */ +func Xsqlite3ExprCheckHeight(tls *libc.TLS, pParse uintptr, nHeight int32) int32 { /* sqlite3.c:103188:20: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -81580,7 +81599,7 @@ func Xsqlite3ExprCheckHeight(tls *libc.TLS, pParse uintptr, nHeight int32) int32 // If this maximum height is greater than the current value pointed // to by pnHeight, the second parameter, then set *pnHeight to that // value. -func heightOfExpr(tls *libc.TLS, p uintptr, pnHeight uintptr) { /* sqlite3.c:103196:13: */ +func heightOfExpr(tls *libc.TLS, p uintptr, pnHeight uintptr) { /* sqlite3.c:103209:13: */ if p != 0 { if (*Expr)(unsafe.Pointer(p)).FnHeight > *(*int32)(unsafe.Pointer(pnHeight)) { *(*int32)(unsafe.Pointer(pnHeight)) = (*Expr)(unsafe.Pointer(p)).FnHeight @@ -81588,7 +81607,7 @@ func heightOfExpr(tls *libc.TLS, p uintptr, pnHeight uintptr) { /* sqlite3.c:103 } } -func heightOfExprList(tls *libc.TLS, p uintptr, pnHeight uintptr) { /* sqlite3.c:103203:13: */ +func heightOfExprList(tls *libc.TLS, p uintptr, pnHeight uintptr) { /* sqlite3.c:103216:13: */ if p != 0 { var i int32 for i = 0; i < (*ExprList)(unsafe.Pointer(p)).FnExpr; i++ { @@ -81597,7 +81616,7 @@ func heightOfExprList(tls *libc.TLS, p uintptr, pnHeight uintptr) { /* sqlite3.c } } -func heightOfSelect(tls *libc.TLS, pSelect uintptr, pnHeight uintptr) { /* sqlite3.c:103211:13: */ +func heightOfSelect(tls *libc.TLS, pSelect uintptr, pnHeight uintptr) { /* sqlite3.c:103224:13: */ var p uintptr for p = pSelect; p != 0; p = (*Select)(unsafe.Pointer(p)).FpPrior { heightOfExpr(tls, (*Select)(unsafe.Pointer(p)).FpWhere, pnHeight) @@ -81617,7 +81636,7 @@ func heightOfSelect(tls *libc.TLS, pSelect uintptr, pnHeight uintptr) { /* sqlit // // Also propagate EP_Propagate flags up from Expr.x.pList to Expr.flags, // if appropriate. -func exprSetHeight(tls *libc.TLS, p uintptr) { /* sqlite3.c:103233:13: */ +func exprSetHeight(tls *libc.TLS, p uintptr) { /* sqlite3.c:103246:13: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -81644,7 +81663,7 @@ func exprSetHeight(tls *libc.TLS, p uintptr) { /* sqlite3.c:103233:13: */ // // Also propagate all EP_Propagate flags from the Expr.x.pList into // Expr.flags. -func Xsqlite3ExprSetHeightAndFlags(tls *libc.TLS, pParse uintptr, p uintptr) { /* sqlite3.c:103253:21: */ +func Xsqlite3ExprSetHeightAndFlags(tls *libc.TLS, pParse uintptr, p uintptr) { /* sqlite3.c:103266:21: */ if (*Parse)(unsafe.Pointer(pParse)).FnErr != 0 { return } @@ -81654,7 +81673,7 @@ func Xsqlite3ExprSetHeightAndFlags(tls *libc.TLS, pParse uintptr, p uintptr) { / // Return the maximum height of any expression tree referenced // by the select statement passed as an argument. -func Xsqlite3SelectExprHeight(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:103263:20: */ +func Xsqlite3SelectExprHeight(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:103276:20: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -81681,7 +81700,7 @@ func Xsqlite3SelectExprHeight(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:103 // stored in u.zToken. Instead, the integer values is written // into u.iValue and the EP_IntValue flag is set. No extra storage // is allocated to hold the integer text and the dequote flag is ignored. -func Xsqlite3ExprAlloc(tls *libc.TLS, db uintptr, op int32, pToken uintptr, dequote int32) uintptr { /* sqlite3.c:103302:21: */ +func Xsqlite3ExprAlloc(tls *libc.TLS, db uintptr, op int32, pToken uintptr, dequote int32) uintptr { /* sqlite3.c:103315:21: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -81729,7 +81748,7 @@ func Xsqlite3ExprAlloc(tls *libc.TLS, db uintptr, op int32, pToken uintptr, dequ // Allocate a new expression node from a zero-terminated token that has // already been dequoted. -func Xsqlite3Expr(tls *libc.TLS, db uintptr, op int32, zToken uintptr) uintptr { /* sqlite3.c:103350:21: */ +func Xsqlite3Expr(tls *libc.TLS, db uintptr, op int32, zToken uintptr) uintptr { /* sqlite3.c:103363:21: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -81744,7 +81763,7 @@ func Xsqlite3Expr(tls *libc.TLS, db uintptr, op int32, zToken uintptr) uintptr { // // If pRoot==NULL that means that a memory allocation error has occurred. // In that case, delete the subtrees pLeft and pRight. -func Xsqlite3ExprAttachSubtrees(tls *libc.TLS, db uintptr, pRoot uintptr, pLeft uintptr, pRight uintptr) { /* sqlite3.c:103367:21: */ +func Xsqlite3ExprAttachSubtrees(tls *libc.TLS, db uintptr, pRoot uintptr, pLeft uintptr, pRight uintptr) { /* sqlite3.c:103380:21: */ if pRoot == uintptr(0) { Xsqlite3ExprDelete(tls, db, pLeft) @@ -81767,7 +81786,7 @@ func Xsqlite3ExprAttachSubtrees(tls *libc.TLS, db uintptr, pRoot uintptr, pLeft // One or both of the subtrees can be NULL. Return a pointer to the new // Expr node. Or, if an OOM error occurs, set pParse->db->mallocFailed, // free the subtrees and return NULL. -func Xsqlite3PExpr(tls *libc.TLS, pParse uintptr, op int32, pLeft uintptr, pRight uintptr) uintptr { /* sqlite3.c:103397:21: */ +func Xsqlite3PExpr(tls *libc.TLS, pParse uintptr, op int32, pLeft uintptr, pRight uintptr) uintptr { /* sqlite3.c:103410:21: */ var p uintptr p = Xsqlite3DbMallocRawNN(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, uint64(unsafe.Sizeof(Expr{}))) if p != 0 { @@ -81785,7 +81804,7 @@ func Xsqlite3PExpr(tls *libc.TLS, pParse uintptr, op int32, pLeft uintptr, pRigh // Add pSelect to the Expr.x.pSelect field. Or, if pExpr is NULL (due // do a memory allocation failure) then delete the pSelect object. -func Xsqlite3PExprAddSelect(tls *libc.TLS, pParse uintptr, pExpr uintptr, pSelect uintptr) { /* sqlite3.c:103422:21: */ +func Xsqlite3PExprAddSelect(tls *libc.TLS, pParse uintptr, pExpr uintptr, pSelect uintptr) { /* sqlite3.c:103435:21: */ if pExpr != 0 { *(*uintptr)(unsafe.Pointer(pExpr + 20)) = pSelect *(*U32)(unsafe.Pointer(pExpr + 4)) |= U32(EP_xIsSelect | EP_Subquery) @@ -81813,7 +81832,7 @@ func Xsqlite3PExprAddSelect(tls *libc.TLS, pParse uintptr, pExpr uintptr, pSelec // // This is used as part of processing IN(...) expressions with a list // of vectors on the RHS. e.g. "... IN ((1,2), (3,4), (5,6))". -func Xsqlite3ExprListToValues(tls *libc.TLS, pParse uintptr, nElem int32, pEList uintptr) uintptr { /* sqlite3.c:103452:23: */ +func Xsqlite3ExprListToValues(tls *libc.TLS, pParse uintptr, nElem int32, pEList uintptr) uintptr { /* sqlite3.c:103465:23: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -81865,7 +81884,7 @@ func Xsqlite3ExprListToValues(tls *libc.TLS, pParse uintptr, nElem int32, pEList // If one side or the other of the AND is known to be false, then instead // of returning an AND expression, just return a constant expression with // a value of false. -func Xsqlite3ExprAnd(tls *libc.TLS, pParse uintptr, pLeft uintptr, pRight uintptr) uintptr { /* sqlite3.c:103499:21: */ +func Xsqlite3ExprAnd(tls *libc.TLS, pParse uintptr, pLeft uintptr, pRight uintptr) uintptr { /* sqlite3.c:103512:21: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb if pLeft == uintptr(0) { return pRight @@ -81884,7 +81903,7 @@ func Xsqlite3ExprAnd(tls *libc.TLS, pParse uintptr, pLeft uintptr, pRight uintpt // Construct a new expression node for a function with multiple // arguments. -func Xsqlite3ExprFunction(tls *libc.TLS, pParse uintptr, pList uintptr, pToken uintptr, eDistinct int32) uintptr { /* sqlite3.c:103520:21: */ +func Xsqlite3ExprFunction(tls *libc.TLS, pParse uintptr, pList uintptr, pToken uintptr, eDistinct int32) uintptr { /* sqlite3.c:103533:21: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -81921,7 +81940,7 @@ func Xsqlite3ExprFunction(tls *libc.TLS, pParse uintptr, pList uintptr, pToken u // top-level SQL // // If the function is not usable, create an error. -func Xsqlite3ExprFunctionUsable(tls *libc.TLS, pParse uintptr, pExpr uintptr, pDef uintptr) { /* sqlite3.c:103560:21: */ +func Xsqlite3ExprFunctionUsable(tls *libc.TLS, pParse uintptr, pExpr uintptr, pDef uintptr) { /* sqlite3.c:103573:21: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -81953,7 +81972,7 @@ func Xsqlite3ExprFunctionUsable(tls *libc.TLS, pParse uintptr, pExpr uintptr, pD // as the previous instance of the same wildcard. Or if this is the first // instance of the wildcard, the next sequential variable number is // assigned. -func Xsqlite3ExprAssignVarNumber(tls *libc.TLS, pParse uintptr, pExpr uintptr, n U32) { /* sqlite3.c:103599:21: */ +func Xsqlite3ExprAssignVarNumber(tls *libc.TLS, pParse uintptr, pExpr uintptr, n U32) { /* sqlite3.c:103612:21: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -82021,7 +82040,7 @@ func Xsqlite3ExprAssignVarNumber(tls *libc.TLS, pParse uintptr, pExpr uintptr, n } // Recursively delete an expression tree. -func sqlite3ExprDeleteNN(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:103669:29: */ +func sqlite3ExprDeleteNN(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:103682:29: */ if !((*Expr)(unsafe.Pointer(p)).Fflags&U32(EP_TokenOnly|EP_Leaf) != U32(0)) { // The Expr.x union is never used at the same time as Expr.pRight @@ -82051,7 +82070,7 @@ func sqlite3ExprDeleteNN(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:10 } } -func Xsqlite3ExprDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:103710:21: */ +func Xsqlite3ExprDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:103723:21: */ if p != 0 { sqlite3ExprDeleteNN(tls, db, p) } @@ -82065,13 +82084,13 @@ func Xsqlite3ExprDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:103 // // The deferred delete is (currently) implemented by adding the // pExpr to the pParse->pConstExpr list with a register number of 0. -func Xsqlite3ExprDeferredDelete(tls *libc.TLS, pParse uintptr, pExpr uintptr) { /* sqlite3.c:103725:21: */ +func Xsqlite3ExprDeferredDelete(tls *libc.TLS, pParse uintptr, pExpr uintptr) { /* sqlite3.c:103738:21: */ (*Parse)(unsafe.Pointer(pParse)).FpConstExpr = Xsqlite3ExprListAppend(tls, pParse, (*Parse)(unsafe.Pointer(pParse)).FpConstExpr, pExpr) } // Invoke sqlite3RenameExprUnmap() and sqlite3ExprDelete() on the // expression. -func Xsqlite3ExprUnmapAndDelete(tls *libc.TLS, pParse uintptr, p uintptr) { /* sqlite3.c:103733:21: */ +func Xsqlite3ExprUnmapAndDelete(tls *libc.TLS, pParse uintptr, p uintptr) { /* sqlite3.c:103746:21: */ if p != 0 { if int32((*Parse)(unsafe.Pointer(pParse)).FeParseMode) >= PARSE_MODE_RENAME { Xsqlite3RenameExprUnmap(tls, pParse, p) @@ -82083,7 +82102,7 @@ func Xsqlite3ExprUnmapAndDelete(tls *libc.TLS, pParse uintptr, p uintptr) { /* s // Return the number of bytes allocated for the expression structure // passed as the first argument. This is always one of EXPR_FULLSIZE, // EXPR_REDUCEDSIZE or EXPR_TOKENONLYSIZE. -func exprStructSize(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:103747:12: */ +func exprStructSize(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:103760:12: */ if (*Expr)(unsafe.Pointer(p)).Fflags&U32(EP_TokenOnly) != U32(0) { return int32(uintptr(0) + 12) } @@ -82125,7 +82144,7 @@ func exprStructSize(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:103747:12: */ // to reduce a pristine expression tree from the parser. The implementation // of dupedExprStructSize() contain multiple assert() statements that attempt // to enforce this constraint. -func dupedExprStructSize(tls *libc.TLS, p uintptr, flags int32) int32 { /* sqlite3.c:103787:12: */ +func dupedExprStructSize(tls *libc.TLS, p uintptr, flags int32) int32 { /* sqlite3.c:103800:12: */ var nSize int32 // Only one flag value allowed @@ -82147,7 +82166,7 @@ func dupedExprStructSize(tls *libc.TLS, p uintptr, flags int32) int32 { /* sqlit // This function returns the space in bytes required to store the copy // of the Expr structure and a copy of the Expr.u.zToken string (if that // string is defined.) -func dupedExprNodeSize(tls *libc.TLS, p uintptr, flags int32) int32 { /* sqlite3.c:103818:12: */ +func dupedExprNodeSize(tls *libc.TLS, p uintptr, flags int32) int32 { /* sqlite3.c:103831:12: */ var nByte int32 = dupedExprStructSize(tls, p, flags) & 0xfff if !((*Expr)(unsafe.Pointer(p)).Fflags&U32(EP_IntValue) != U32(0)) && *(*uintptr)(unsafe.Pointer(p + 8)) != 0 { nByte = int32(Size_t(nByte) + (libc.Xstrlen(tls, *(*uintptr)(unsafe.Pointer(p + 8)))&Size_t(0x3fffffff) + Size_t(1))) @@ -82166,7 +82185,7 @@ func dupedExprNodeSize(tls *libc.TLS, p uintptr, flags int32) int32 { /* sqlite3 // space to duplicate all Expr nodes in the tree formed by Expr.pLeft // and Expr.pRight variables (but not for any structures pointed to or // descended from the Expr.x.pList or Expr.x.pSelect variables). -func dupedExprSize(tls *libc.TLS, p uintptr, flags int32) int32 { /* sqlite3.c:103839:12: */ +func dupedExprSize(tls *libc.TLS, p uintptr, flags int32) int32 { /* sqlite3.c:103852:12: */ var nByte int32 = 0 if p != 0 { nByte = dupedExprNodeSize(tls, p, flags) @@ -82183,7 +82202,7 @@ func dupedExprSize(tls *libc.TLS, p uintptr, flags int32) int32 { /* sqlite3.c:1 // (if applicable), and the copies of the p->pLeft and p->pRight expressions, // if any. Before returning, *pzBuffer is set to the first byte past the // portion of the buffer copied into by this function. -func exprDup(tls *libc.TLS, db uintptr, p uintptr, dupFlags int32, pzBuffer uintptr) uintptr { /* sqlite3.c:103858:13: */ +func exprDup(tls *libc.TLS, db uintptr, p uintptr, dupFlags int32, pzBuffer uintptr) uintptr { /* sqlite3.c:103871:13: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -82293,7 +82312,7 @@ func exprDup(tls *libc.TLS, db uintptr, p uintptr, dupFlags int32, pzBuffer uint // Create and return a deep copy of the object passed as the second // argument. If an OOM condition is encountered, NULL is returned // and the db->mallocFailed flag set. -func Xsqlite3WithDup(tls *libc.TLS, db uintptr, p uintptr) uintptr { /* sqlite3.c:103968:21: */ +func Xsqlite3WithDup(tls *libc.TLS, db uintptr, p uintptr) uintptr { /* sqlite3.c:103981:21: */ var pRet uintptr = uintptr(0) if p != 0 { var nByte Sqlite3_int64 = Sqlite3_int64(uint32(unsafe.Sizeof(With{})) + uint32(unsafe.Sizeof(Cte{}))*uint32((*With)(unsafe.Pointer(p)).FnCte-1)) @@ -82315,7 +82334,7 @@ func Xsqlite3WithDup(tls *libc.TLS, db uintptr, p uintptr) uintptr { /* sqlite3. // gatherSelectWindowsCallback() are used to scan all the expressions // an a newly duplicated SELECT statement and gather all of the Window // objects found there, assembling them onto the linked list at Select->pWin. -func gatherSelectWindowsCallback(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:103996:12: */ +func gatherSelectWindowsCallback(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:104009:12: */ if int32((*Expr)(unsafe.Pointer(pExpr)).Fop) == TK_FUNCTION && (*Expr)(unsafe.Pointer(pExpr)).Fflags&U32(EP_WinFunc) != U32(0) { var pSelect uintptr = *(*uintptr)(unsafe.Pointer(pWalker + 24)) var pWin uintptr = *(*uintptr)(unsafe.Pointer(pExpr + 44)) @@ -82325,14 +82344,14 @@ func gatherSelectWindowsCallback(tls *libc.TLS, pWalker uintptr, pExpr uintptr) return WRC_Continue } -func gatherSelectWindowsSelectCallback(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sqlite3.c:104007:12: */ +func gatherSelectWindowsSelectCallback(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sqlite3.c:104020:12: */ if p == *(*uintptr)(unsafe.Pointer(pWalker + 24)) { return WRC_Continue } return WRC_Prune } -func gatherSelectWindows(tls *libc.TLS, p uintptr) { /* sqlite3.c:104010:13: */ +func gatherSelectWindows(tls *libc.TLS, p uintptr) { /* sqlite3.c:104023:13: */ bp := tls.Alloc(28) defer tls.Free(28) @@ -82365,7 +82384,7 @@ func gatherSelectWindows(tls *libc.TLS, p uintptr) { /* sqlite3.c:104010:13: */ // If the EXPRDUP_REDUCE flag is set, then the structure returned is a // truncated version of the usual Expr structure that will be stored as // part of the in-memory representation of the database schema. -func Xsqlite3ExprDup(tls *libc.TLS, db uintptr, p uintptr, flags int32) uintptr { /* sqlite3.c:104039:21: */ +func Xsqlite3ExprDup(tls *libc.TLS, db uintptr, p uintptr, flags int32) uintptr { /* sqlite3.c:104052:21: */ if p != 0 { return exprDup(tls, db, p, flags, uintptr(0)) @@ -82373,7 +82392,7 @@ func Xsqlite3ExprDup(tls *libc.TLS, db uintptr, p uintptr, flags int32) uintptr return uintptr(0) } -func Xsqlite3ExprListDup(tls *libc.TLS, db uintptr, p uintptr, flags int32) uintptr { /* sqlite3.c:104043:25: */ +func Xsqlite3ExprListDup(tls *libc.TLS, db uintptr, p uintptr, flags int32) uintptr { /* sqlite3.c:104056:25: */ var pNew uintptr var pItem uintptr var pOldItem uintptr @@ -82442,7 +82461,7 @@ __3: // the build, then none of the following routines, except for // sqlite3SelectDup(), can be called. sqlite3SelectDup() is sometimes // called with a NULL argument. -func Xsqlite3SrcListDup(tls *libc.TLS, db uintptr, p uintptr, flags int32) uintptr { /* sqlite3.c:104098:24: */ +func Xsqlite3SrcListDup(tls *libc.TLS, db uintptr, p uintptr, flags int32) uintptr { /* sqlite3.c:104111:24: */ var pNew uintptr var i int32 var nByte int32 @@ -82495,7 +82514,7 @@ func Xsqlite3SrcListDup(tls *libc.TLS, db uintptr, p uintptr, flags int32) uintp return pNew } -func Xsqlite3IdListDup(tls *libc.TLS, db uintptr, p uintptr) uintptr { /* sqlite3.c:104142:23: */ +func Xsqlite3IdListDup(tls *libc.TLS, db uintptr, p uintptr) uintptr { /* sqlite3.c:104155:23: */ var pNew uintptr var i int32 @@ -82524,7 +82543,7 @@ func Xsqlite3IdListDup(tls *libc.TLS, db uintptr, p uintptr) uintptr { /* sqlite return pNew } -func Xsqlite3SelectDup(tls *libc.TLS, db uintptr, pDup uintptr, flags int32) uintptr { /* sqlite3.c:104166:23: */ +func Xsqlite3SelectDup(tls *libc.TLS, db uintptr, pDup uintptr, flags int32) uintptr { /* sqlite3.c:104179:23: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -82590,9 +82609,9 @@ func Xsqlite3SelectDup(tls *libc.TLS, db uintptr, pDup uintptr, flags int32) uin // If a memory allocation error occurs, the entire list is freed and // NULL is returned. If non-NULL is returned, then it is guaranteed // that the new entry was successfully appended. -var zeroItem = ExprList_item{} /* sqlite3.c:104237:35 */ +var zeroItem = ExprList_item{} /* sqlite3.c:104250:35 */ -func Xsqlite3ExprListAppendNew(tls *libc.TLS, db uintptr, pExpr uintptr) uintptr { /* sqlite3.c:104238:41: */ +func Xsqlite3ExprListAppendNew(tls *libc.TLS, db uintptr, pExpr uintptr) uintptr { /* sqlite3.c:104251:41: */ var pItem uintptr var pList uintptr @@ -82609,7 +82628,7 @@ func Xsqlite3ExprListAppendNew(tls *libc.TLS, db uintptr, pExpr uintptr) uintptr return pList } -func Xsqlite3ExprListAppendGrow(tls *libc.TLS, db uintptr, pList uintptr, pExpr uintptr) uintptr { /* sqlite3.c:104257:41: */ +func Xsqlite3ExprListAppendGrow(tls *libc.TLS, db uintptr, pList uintptr, pExpr uintptr) uintptr { /* sqlite3.c:104270:41: */ var pItem uintptr var pNew uintptr *(*int32)(unsafe.Pointer(pList + 4)) *= 2 @@ -82628,7 +82647,7 @@ func Xsqlite3ExprListAppendGrow(tls *libc.TLS, db uintptr, pList uintptr, pExpr return pList } -func Xsqlite3ExprListAppend(tls *libc.TLS, pParse uintptr, pList uintptr, pExpr uintptr) uintptr { /* sqlite3.c:104279:25: */ +func Xsqlite3ExprListAppend(tls *libc.TLS, pParse uintptr, pList uintptr, pExpr uintptr) uintptr { /* sqlite3.c:104292:25: */ var pItem uintptr if pList == uintptr(0) { return Xsqlite3ExprListAppendNew(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, pExpr) @@ -82651,7 +82670,7 @@ func Xsqlite3ExprListAppend(tls *libc.TLS, pParse uintptr, pList uintptr, pExpr // For each term of the vector assignment, append new entries to the // expression list pList. In the case of a subquery on the RHS, append // TK_SELECT_COLUMN expressions. -func Xsqlite3ExprListAppendVector(tls *libc.TLS, pParse uintptr, pList uintptr, pColumns uintptr, pExpr uintptr) uintptr { /* sqlite3.c:104308:25: */ +func Xsqlite3ExprListAppendVector(tls *libc.TLS, pParse uintptr, pList uintptr, pColumns uintptr, pExpr uintptr) uintptr { /* sqlite3.c:104321:25: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -82748,7 +82767,7 @@ vector_append_error: } // Set the sort order for the last element on the given ExprList. -func Xsqlite3ExprListSetSortOrder(tls *libc.TLS, p uintptr, iSortOrder int32, eNulls int32) { /* sqlite3.c:104370:21: */ +func Xsqlite3ExprListSetSortOrder(tls *libc.TLS, p uintptr, iSortOrder int32, eNulls int32) { /* sqlite3.c:104383:21: */ var pItem uintptr if p == uintptr(0) { return @@ -82775,7 +82794,7 @@ func Xsqlite3ExprListSetSortOrder(tls *libc.TLS, p uintptr, iSortOrder int32, eN // pList might be NULL following an OOM error. But pName should never be // NULL. If a memory allocation fails, the pParse->db->mallocFailed flag // is set. -func Xsqlite3ExprListSetName(tls *libc.TLS, pParse uintptr, pList uintptr, pName uintptr, dequote int32) { /* sqlite3.c:104408:21: */ +func Xsqlite3ExprListSetName(tls *libc.TLS, pParse uintptr, pList uintptr, pName uintptr, dequote int32) { /* sqlite3.c:104421:21: */ if pList != 0 { var pItem uintptr @@ -82801,7 +82820,7 @@ func Xsqlite3ExprListSetName(tls *libc.TLS, pParse uintptr, pList uintptr, pName // pList might be NULL following an OOM error. But pSpan should never be // NULL. If a memory allocation fails, the pParse->db->mallocFailed flag // is set. -func Xsqlite3ExprListSetSpan(tls *libc.TLS, pParse uintptr, pList uintptr, zStart uintptr, zEnd uintptr) { /* sqlite3.c:104443:21: */ +func Xsqlite3ExprListSetSpan(tls *libc.TLS, pParse uintptr, pList uintptr, zStart uintptr, zEnd uintptr) { /* sqlite3.c:104456:21: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb if pList != 0 { @@ -82816,7 +82835,7 @@ func Xsqlite3ExprListSetSpan(tls *libc.TLS, pParse uintptr, pList uintptr, zStar // If the expression list pEList contains more than iLimit elements, // leave an error message in pParse. -func Xsqlite3ExprListCheckLength(tls *libc.TLS, pParse uintptr, pEList uintptr, zObject uintptr) { /* sqlite3.c:104465:21: */ +func Xsqlite3ExprListCheckLength(tls *libc.TLS, pParse uintptr, pEList uintptr, zObject uintptr) { /* sqlite3.c:104478:21: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -82828,7 +82847,7 @@ func Xsqlite3ExprListCheckLength(tls *libc.TLS, pParse uintptr, pEList uintptr, } // Delete an entire expression list. -func exprListDeleteNN(tls *libc.TLS, db uintptr, pList uintptr) { /* sqlite3.c:104481:29: */ +func exprListDeleteNN(tls *libc.TLS, db uintptr, pList uintptr) { /* sqlite3.c:104494:29: */ var i int32 = (*ExprList)(unsafe.Pointer(pList)).FnExpr var pItem uintptr = pList + 8 /* &.a */ @@ -82840,7 +82859,7 @@ func exprListDeleteNN(tls *libc.TLS, db uintptr, pList uintptr) { /* sqlite3.c:1 Xsqlite3DbFreeNN(tls, db, pList) } -func Xsqlite3ExprListDelete(tls *libc.TLS, db uintptr, pList uintptr) { /* sqlite3.c:104492:21: */ +func Xsqlite3ExprListDelete(tls *libc.TLS, db uintptr, pList uintptr) { /* sqlite3.c:104505:21: */ if pList != 0 { exprListDeleteNN(tls, db, pList) } @@ -82848,7 +82867,7 @@ func Xsqlite3ExprListDelete(tls *libc.TLS, db uintptr, pList uintptr) { /* sqlit // Return the bitwise-OR of all Expr.flags fields in the given // ExprList. -func Xsqlite3ExprListFlags(tls *libc.TLS, pList uintptr) U32 { /* sqlite3.c:104500:20: */ +func Xsqlite3ExprListFlags(tls *libc.TLS, pList uintptr) U32 { /* sqlite3.c:104513:20: */ var i int32 var m U32 = U32(0) @@ -82865,7 +82884,7 @@ func Xsqlite3ExprListFlags(tls *libc.TLS, pList uintptr) U32 { /* sqlite3.c:1045 // pWalker->eCode to zero and abort. // // This callback is used by multiple expression walkers. -func Xsqlite3SelectWalkFail(tls *libc.TLS, pWalker uintptr, NotUsed uintptr) int32 { /* sqlite3.c:104519:20: */ +func Xsqlite3SelectWalkFail(tls *libc.TLS, pWalker uintptr, NotUsed uintptr) int32 { /* sqlite3.c:104532:20: */ _ = NotUsed (*Walker)(unsafe.Pointer(pWalker)).FeCode = U16(0) return WRC_Abort @@ -82877,7 +82896,7 @@ func Xsqlite3SelectWalkFail(tls *libc.TLS, pWalker uintptr, NotUsed uintptr) int // "true" EP_IsTrue // "false" EP_IsFalse // anything else 0 -func Xsqlite3IsTrueOrFalse(tls *libc.TLS, zIn uintptr) U32 { /* sqlite3.c:104533:20: */ +func Xsqlite3IsTrueOrFalse(tls *libc.TLS, zIn uintptr) U32 { /* sqlite3.c:104546:20: */ if Xsqlite3StrICmp(tls, zIn, ts+6639) == 0 { return U32(EP_IsTrue) } @@ -82890,7 +82909,7 @@ func Xsqlite3IsTrueOrFalse(tls *libc.TLS, zIn uintptr) U32 { /* sqlite3.c:104533 // If the input expression is an ID with the name "true" or "false" // then convert it into an TK_TRUEFALSE term. Return non-zero if // the conversion happened, and zero if the expression is unaltered. -func Xsqlite3ExprIdToTrueFalse(tls *libc.TLS, pExpr uintptr) int32 { /* sqlite3.c:104545:20: */ +func Xsqlite3ExprIdToTrueFalse(tls *libc.TLS, pExpr uintptr) int32 { /* sqlite3.c:104558:20: */ var v U32 if !((*Expr)(unsafe.Pointer(pExpr)).Fflags&U32(EP_Quoted|EP_IntValue) != U32(0)) && @@ -82904,7 +82923,7 @@ func Xsqlite3ExprIdToTrueFalse(tls *libc.TLS, pExpr uintptr) int32 { /* sqlite3. // The argument must be a TK_TRUEFALSE Expr node. Return 1 if it is TRUE // and 0 if it is FALSE. -func Xsqlite3ExprTruthValue(tls *libc.TLS, pExpr uintptr) int32 { /* sqlite3.c:104562:20: */ +func Xsqlite3ExprTruthValue(tls *libc.TLS, pExpr uintptr) int32 { /* sqlite3.c:104575:20: */ pExpr = Xsqlite3ExprSkipCollate(tls, pExpr) return libc.Bool32(int32(*(*int8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pExpr + 8)) + 4))) == 0) @@ -82921,7 +82940,7 @@ func Xsqlite3ExprTruthValue(tls *libc.TLS, pExpr uintptr) int32 { /* sqlite3.c:1 // (x<10) AND (y=22 OR false) => (x<10) AND (y=22) // (x<10) AND (y=22 OR true) => (x<10) // (y=22) OR true => true -func Xsqlite3ExprSimplifiedAndOr(tls *libc.TLS, pExpr uintptr) uintptr { /* sqlite3.c:104584:21: */ +func Xsqlite3ExprSimplifiedAndOr(tls *libc.TLS, pExpr uintptr) uintptr { /* sqlite3.c:104597:21: */ if int32((*Expr)(unsafe.Pointer(pExpr)).Fop) == TK_AND || int32((*Expr)(unsafe.Pointer(pExpr)).Fop) == TK_OR { var pRight uintptr = Xsqlite3ExprSimplifiedAndOr(tls, (*Expr)(unsafe.Pointer(pExpr)).FpRight) @@ -82967,7 +82986,7 @@ func Xsqlite3ExprSimplifiedAndOr(tls *libc.TLS, pExpr uintptr) uintptr { /* sqli // contain a bound parameter because they were generated by older versions // of SQLite to be parsed by newer versions of SQLite without raising a // malformed schema error. -func exprNodeIsConstant(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:104625:12: */ +func exprNodeIsConstant(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:104638:12: */ // If pWalker->eCode is 2 then any term of the expression that comes from // the ON or USING clauses of a left join disqualifies the expression @@ -83045,7 +83064,7 @@ func exprNodeIsConstant(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { / return int32(0) } -func exprIsConst(tls *libc.TLS, p uintptr, initFlag int32, iCur int32) int32 { /* sqlite3.c:104697:12: */ +func exprIsConst(tls *libc.TLS, p uintptr, initFlag int32, iCur int32) int32 { /* sqlite3.c:104710:12: */ bp := tls.Alloc(28) defer tls.Free(28) @@ -83069,7 +83088,7 @@ func exprIsConst(tls *libc.TLS, p uintptr, initFlag int32, iCur int32) int32 { / // For the purposes of this function, a double-quoted string (ex: "abc") // is considered a variable but a single-quoted string (ex: 'abc') is // a constant. -func Xsqlite3ExprIsConstant(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:104718:20: */ +func Xsqlite3ExprIsConstant(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:104731:20: */ return exprIsConst(tls, p, 1, 0) } @@ -83084,7 +83103,7 @@ func Xsqlite3ExprIsConstant(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:10471 // When this routine returns true, it indicates that the expression // can be added to the pParse->pConstExpr list and evaluated once when // the prepared statement starts up. See sqlite3ExprCodeRunJustOnce(). -func Xsqlite3ExprIsConstantNotJoin(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:104735:20: */ +func Xsqlite3ExprIsConstantNotJoin(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:104748:20: */ return exprIsConst(tls, p, 2, 0) } @@ -83092,12 +83111,12 @@ func Xsqlite3ExprIsConstantNotJoin(tls *libc.TLS, p uintptr) int32 { /* sqlite3. // for any single row of the table with cursor iCur. In other words, the // expression must not refer to any non-deterministic function nor any // table other than iCur. -func Xsqlite3ExprIsTableConstant(tls *libc.TLS, p uintptr, iCur int32) int32 { /* sqlite3.c:104745:20: */ +func Xsqlite3ExprIsTableConstant(tls *libc.TLS, p uintptr, iCur int32) int32 { /* sqlite3.c:104758:20: */ return exprIsConst(tls, p, 3, iCur) } // sqlite3WalkExpr() callback used by sqlite3ExprIsConstantOrGroupBy(). -func exprNodeIsConstantOrGroupBy(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:104753:12: */ +func exprNodeIsConstantOrGroupBy(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:104766:12: */ var pGroupBy uintptr = *(*uintptr)(unsafe.Pointer(pWalker + 24)) var i int32 @@ -83139,7 +83158,7 @@ func exprNodeIsConstantOrGroupBy(tls *libc.TLS, pWalker uintptr, pExpr uintptr) // alternative collating sequences are uncommon, and this is only an // optimization, so we take the easy way out and simply require the // GROUP BY to use the BINARY collating sequence. -func Xsqlite3ExprIsConstantOrGroupBy(tls *libc.TLS, pParse uintptr, p uintptr, pGroupBy uintptr) int32 { /* sqlite3.c:104797:20: */ +func Xsqlite3ExprIsConstantOrGroupBy(tls *libc.TLS, pParse uintptr, p uintptr, pGroupBy uintptr) int32 { /* sqlite3.c:104810:20: */ bp := tls.Alloc(28) defer tls.Free(28) @@ -83175,7 +83194,7 @@ func Xsqlite3ExprIsConstantOrGroupBy(tls *libc.TLS, pParse uintptr, p uintptr, p // For the purposes of this function, a double-quoted string (ex: "abc") // is considered a variable but a single-quoted string (ex: 'abc') is // a constant. -func Xsqlite3ExprIsConstantOrFunction(tls *libc.TLS, p uintptr, isInit U8) int32 { /* sqlite3.c:104829:20: */ +func Xsqlite3ExprIsConstantOrFunction(tls *libc.TLS, p uintptr, isInit U8) int32 { /* sqlite3.c:104842:20: */ return exprIsConst(tls, p, 4+int32(isInit), 0) } @@ -83184,7 +83203,7 @@ func Xsqlite3ExprIsConstantOrFunction(tls *libc.TLS, p uintptr, isInit U8) int32 // to fit in a 32-bit integer, return 1 and put the value of the integer // in *pValue. If the expression is not an integer or if it is too big // to fit in a signed 32-bit integer, return 0 and leave *pValue unchanged. -func Xsqlite3ExprIsInteger(tls *libc.TLS, p uintptr, pValue uintptr) int32 { /* sqlite3.c:104858:20: */ +func Xsqlite3ExprIsInteger(tls *libc.TLS, p uintptr, pValue uintptr) int32 { /* sqlite3.c:104871:20: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -83236,7 +83255,7 @@ func Xsqlite3ExprIsInteger(tls *libc.TLS, p uintptr, pValue uintptr) int32 { /* // hand, a false negative (returning FALSE when the result could be NULL) // will likely result in an incorrect answer. So when in doubt, return // TRUE. -func Xsqlite3ExprCanBeNull(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:104904:20: */ +func Xsqlite3ExprCanBeNull(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:104917:20: */ var op U8 for int32((*Expr)(unsafe.Pointer(p)).Fop) == TK_UPLUS || int32((*Expr)(unsafe.Pointer(p)).Fop) == TK_UMINUS { @@ -83275,7 +83294,7 @@ func Xsqlite3ExprCanBeNull(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:104904 // can be omitted. When in doubt return FALSE. A false negative // is harmless. A false positive, however, can result in the wrong // answer. -func Xsqlite3ExprNeedsNoAffinityChange(tls *libc.TLS, p uintptr, aff int8) int32 { /* sqlite3.c:104941:20: */ +func Xsqlite3ExprNeedsNoAffinityChange(tls *libc.TLS, p uintptr, aff int8) int32 { /* sqlite3.c:104954:20: */ var op U8 var unaryMinus int32 = 0 if int32(aff) == SQLITE_AFF_BLOB { @@ -83328,7 +83347,7 @@ func Xsqlite3ExprNeedsNoAffinityChange(tls *libc.TLS, p uintptr, aff int8) int32 } // Return TRUE if the given string is a row-id column name. -func Xsqlite3IsRowid(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:104977:20: */ +func Xsqlite3IsRowid(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:104990:20: */ if Xsqlite3StrICmp(tls, z, ts+7585) == 0 { return 1 } @@ -83346,7 +83365,7 @@ func Xsqlite3IsRowid(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:104977:20: * // a pointer to the SELECT statement. If pX is not a SELECT statement, // or if the SELECT statement needs to be manifested into a transient // table, then return NULL. -func isCandidateForInOpt(tls *libc.TLS, pX uintptr) uintptr { /* sqlite3.c:104992:15: */ +func isCandidateForInOpt(tls *libc.TLS, pX uintptr) uintptr { /* sqlite3.c:105005:15: */ var p uintptr var pSrc uintptr var pEList uintptr @@ -83404,7 +83423,7 @@ func isCandidateForInOpt(tls *libc.TLS, pX uintptr) uintptr { /* sqlite3.c:10499 // it contains any NULL entries. Cause the register at regHasNull to be set // to a non-NULL value if iCur contains no NULLs. Cause register regHasNull // to be set to NULL if iCur contains one or more NULL values. -func sqlite3SetHasNullFlag(tls *libc.TLS, v uintptr, iCur int32, regHasNull int32) { /* sqlite3.c:105037:13: */ +func sqlite3SetHasNullFlag(tls *libc.TLS, v uintptr, iCur int32, regHasNull int32) { /* sqlite3.c:105050:13: */ var addr1 int32 Xsqlite3VdbeAddOp2(tls, v, OP_Integer, 0, regHasNull) addr1 = Xsqlite3VdbeAddOp1(tls, v, OP_Rewind, iCur) @@ -83416,7 +83435,7 @@ func sqlite3SetHasNullFlag(tls *libc.TLS, v uintptr, iCur int32, regHasNull int3 // The argument is an IN operator with a list (not a subquery) on the // right-hand side. Return TRUE if that list is constant. -func sqlite3InRhsIsConstant(tls *libc.TLS, pIn uintptr) int32 { /* sqlite3.c:105054:12: */ +func sqlite3InRhsIsConstant(tls *libc.TLS, pIn uintptr) int32 { /* sqlite3.c:105067:12: */ var pLHS uintptr var res int32 @@ -83505,7 +83524,7 @@ func sqlite3InRhsIsConstant(tls *libc.TLS, pIn uintptr) int32 { /* sqlite3.c:105 // CREATE INDEX i1 ON t1(b, c, a); // // then aiMap[] is populated with {2, 0, 1}. -func Xsqlite3FindInIndex(tls *libc.TLS, pParse uintptr, pX uintptr, inFlags U32, prRhsHasNull uintptr, aiMap uintptr, piTab uintptr) int32 { /* sqlite3.c:105147:20: */ +func Xsqlite3FindInIndex(tls *libc.TLS, pParse uintptr, pX uintptr, inFlags U32, prRhsHasNull uintptr, aiMap uintptr, piTab uintptr) int32 { /* sqlite3.c:105160:20: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -83723,7 +83742,7 @@ func Xsqlite3FindInIndex(tls *libc.TLS, pParse uintptr, pX uintptr, inFlags U32, // // It is the responsibility of the caller to ensure that the returned // string is eventually freed using sqlite3DbFree(). -func exprINAffinity(tls *libc.TLS, pParse uintptr, pExpr uintptr) uintptr { /* sqlite3.c:105370:13: */ +func exprINAffinity(tls *libc.TLS, pParse uintptr, pExpr uintptr) uintptr { /* sqlite3.c:105383:13: */ var pLeft uintptr = (*Expr)(unsafe.Pointer(pExpr)).FpLeft var nVal int32 = Xsqlite3ExprVectorSize(tls, pLeft) var pSelect uintptr @@ -83755,7 +83774,7 @@ func exprINAffinity(tls *libc.TLS, pParse uintptr, pExpr uintptr) uintptr { /* s // message of the form: // // "sub-select returns N columns - expected M" -func Xsqlite3SubselectError(tls *libc.TLS, pParse uintptr, nActual int32, nExpect int32) { /* sqlite3.c:105402:21: */ +func Xsqlite3SubselectError(tls *libc.TLS, pParse uintptr, nActual int32, nExpect int32) { /* sqlite3.c:105415:21: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -83774,7 +83793,7 @@ func Xsqlite3SubselectError(tls *libc.TLS, pParse uintptr, nActual int32, nExpec // Or, if it is a regular scalar vector: // // "row value misused" -func Xsqlite3VectorErrorMsg(tls *libc.TLS, pParse uintptr, pExpr uintptr) { /* sqlite3.c:105421:21: */ +func Xsqlite3VectorErrorMsg(tls *libc.TLS, pParse uintptr, pExpr uintptr) { /* sqlite3.c:105434:21: */ if (*Expr)(unsafe.Pointer(pExpr)).Fflags&U32(EP_xIsSelect) != U32(0) { Xsqlite3SubselectError(tls, pParse, (*ExprList)(unsafe.Pointer((*Select)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pExpr + 20)))).FpEList)).FnExpr, 1) } else { @@ -83802,7 +83821,7 @@ func Xsqlite3VectorErrorMsg(tls *libc.TLS, pParse uintptr, pExpr uintptr) { /* s // if either column has NUMERIC or INTEGER affinity. If neither // 'x' nor the SELECT... statement are columns, then numeric affinity // is used. -func Xsqlite3CodeRhsOfIN(tls *libc.TLS, pParse uintptr, pExpr uintptr, iTab int32) { /* sqlite3.c:105455:21: */ +func Xsqlite3CodeRhsOfIN(tls *libc.TLS, pParse uintptr, pExpr uintptr, iTab int32) { /* sqlite3.c:105468:21: */ bp := tls.Alloc(53) defer tls.Free(53) @@ -83997,7 +84016,7 @@ func Xsqlite3CodeRhsOfIN(tls *libc.TLS, pParse uintptr, pExpr uintptr, iTab int3 // the result is stored in a contiguous array of registers and the // return value is the register of the left-most result column. // Return 0 if an error occurs. -func Xsqlite3CodeSubselect(tls *libc.TLS, pParse uintptr, pExpr uintptr) int32 { /* sqlite3.c:105650:20: */ +func Xsqlite3CodeSubselect(tls *libc.TLS, pParse uintptr, pExpr uintptr) int32 { /* sqlite3.c:105663:20: */ bp := tls.Alloc(52) defer tls.Free(52) @@ -84120,7 +84139,7 @@ func Xsqlite3CodeSubselect(tls *libc.TLS, pParse uintptr, pExpr uintptr) int32 { // sub-select on the RHS of the IN() operator has the same number of // columns as the vector on the LHS. Or, if the RHS of the IN() is not // a sub-query, that the LHS is a vector of size 1. -func Xsqlite3ExprCheckIN(tls *libc.TLS, pParse uintptr, pIn uintptr) int32 { /* sqlite3.c:105772:20: */ +func Xsqlite3ExprCheckIN(tls *libc.TLS, pParse uintptr, pIn uintptr) int32 { /* sqlite3.c:105785:20: */ var nVector int32 = Xsqlite3ExprVectorSize(tls, (*Expr)(unsafe.Pointer(pIn)).FpLeft) if (*Expr)(unsafe.Pointer(pIn)).Fflags&U32(EP_xIsSelect) != U32(0) && !(int32((*Sqlite3)(unsafe.Pointer((*Parse)(unsafe.Pointer(pParse)).Fdb)).FmallocFailed) != 0) { if nVector != (*ExprList)(unsafe.Pointer((*Select)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pIn + 20)))).FpEList)).FnExpr { @@ -84157,7 +84176,7 @@ func Xsqlite3ExprCheckIN(tls *libc.TLS, pParse uintptr, pIn uintptr) int32 { /* // // See the separate in-operator.md documentation file in the canonical // SQLite source tree for additional information. -func sqlite3ExprCodeIN(tls *libc.TLS, pParse uintptr, pExpr uintptr, destIfFalse int32, destIfNull int32) { /* sqlite3.c:105813:13: */ +func sqlite3ExprCodeIN(tls *libc.TLS, pParse uintptr, pExpr uintptr, destIfFalse int32, destIfNull int32) { /* sqlite3.c:105826:13: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -84538,7 +84557,7 @@ sqlite3ExprCodeIN_oom_error: // The z[] string will probably not be zero-terminated. But the // z[n] character is guaranteed to be something that does not look // like the continuation of the number. -func codeReal(tls *libc.TLS, v uintptr, z uintptr, negateFlag int32, iMem int32) { /* sqlite3.c:106071:13: */ +func codeReal(tls *libc.TLS, v uintptr, z uintptr, negateFlag int32, iMem int32) { /* sqlite3.c:106084:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -84558,7 +84577,7 @@ func codeReal(tls *libc.TLS, v uintptr, z uintptr, negateFlag int32, iMem int32) // text z[0..n-1] into register iMem. // // Expr.u.zToken is always UTF8 and zero-terminated. -func codeInteger(tls *libc.TLS, pParse uintptr, pExpr uintptr, negFlag int32, iMem int32) { /* sqlite3.c:106089:13: */ +func codeInteger(tls *libc.TLS, pParse uintptr, pExpr uintptr, negFlag int32, iMem int32) { /* sqlite3.c:106102:13: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -84604,7 +84623,7 @@ func codeInteger(tls *libc.TLS, pParse uintptr, pExpr uintptr, negFlag int32, iM // Generate code that will load into register regOut a value that is // appropriate for the iIdxCol-th column of index pIdx. -func Xsqlite3ExprCodeLoadIndexColumn(tls *libc.TLS, pParse uintptr, pIdx uintptr, iTabCur int32, iIdxCol int32, regOut int32) { /* sqlite3.c:106127:21: */ +func Xsqlite3ExprCodeLoadIndexColumn(tls *libc.TLS, pParse uintptr, pIdx uintptr, iTabCur int32, iIdxCol int32, regOut int32) { /* sqlite3.c:106140:21: */ var iTabCol I16 = *(*I16)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FaiColumn + uintptr(iIdxCol)*2)) if int32(iTabCol) == -2 { @@ -84619,7 +84638,7 @@ func Xsqlite3ExprCodeLoadIndexColumn(tls *libc.TLS, pParse uintptr, pIdx uintptr // Generate code that will compute the value of generated column pCol // and store the result in register regOut -func Xsqlite3ExprCodeGeneratedColumn(tls *libc.TLS, pParse uintptr, pTab uintptr, pCol uintptr, regOut int32) { /* sqlite3.c:106152:21: */ +func Xsqlite3ExprCodeGeneratedColumn(tls *libc.TLS, pParse uintptr, pTab uintptr, pCol uintptr, regOut int32) { /* sqlite3.c:106165:21: */ var iAddr int32 var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe @@ -84638,7 +84657,7 @@ func Xsqlite3ExprCodeGeneratedColumn(tls *libc.TLS, pParse uintptr, pTab uintptr } // Generate code to extract the value of the iCol-th column of a table. -func Xsqlite3ExprCodeGetColumnOfTable(tls *libc.TLS, v uintptr, pTab uintptr, iTabCur int32, iCol int32, regOut int32) { /* sqlite3.c:106178:21: */ +func Xsqlite3ExprCodeGetColumnOfTable(tls *libc.TLS, v uintptr, pTab uintptr, iTabCur int32, iCol int32, regOut int32) { /* sqlite3.c:106191:21: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -84689,7 +84708,7 @@ func Xsqlite3ExprCodeGetColumnOfTable(tls *libc.TLS, v uintptr, pTab uintptr, iT // // There must be an open cursor to pTab in iTable when this routine // is called. If iColumn<0 then code is generated that extracts the rowid. -func Xsqlite3ExprCodeGetColumn(tls *libc.TLS, pParse uintptr, pTab uintptr, iColumn int32, iTable int32, iReg int32, p5 U8) int32 { /* sqlite3.c:106236:20: */ +func Xsqlite3ExprCodeGetColumn(tls *libc.TLS, pParse uintptr, pTab uintptr, iColumn int32, iTable int32, iReg int32, p5 U8) int32 { /* sqlite3.c:106249:20: */ Xsqlite3ExprCodeGetColumnOfTable(tls, (*Parse)(unsafe.Pointer(pParse)).FpVdbe, pTab, iTable, iColumn, iReg) if p5 != 0 { @@ -84703,14 +84722,14 @@ func Xsqlite3ExprCodeGetColumn(tls *libc.TLS, pParse uintptr, pTab uintptr, iCol // Generate code to move content from registers iFrom...iFrom+nReg-1 // over to iTo..iTo+nReg-1. -func Xsqlite3ExprCodeMove(tls *libc.TLS, pParse uintptr, iFrom int32, iTo int32, nReg int32) { /* sqlite3.c:106257:21: */ +func Xsqlite3ExprCodeMove(tls *libc.TLS, pParse uintptr, iFrom int32, iTo int32, nReg int32) { /* sqlite3.c:106270:21: */ Xsqlite3VdbeAddOp3(tls, (*Parse)(unsafe.Pointer(pParse)).FpVdbe, OP_Move, iFrom, iTo, nReg) } // Convert a scalar expression node to a TK_REGISTER referencing // register iReg. The caller must ensure that iReg already contains // the correct value for the expression. -func exprToRegister(tls *libc.TLS, pExpr uintptr, iReg int32) { /* sqlite3.c:106266:13: */ +func exprToRegister(tls *libc.TLS, pExpr uintptr, iReg int32) { /* sqlite3.c:106279:13: */ var p uintptr = Xsqlite3ExprSkipCollateAndLikely(tls, pExpr) if p == uintptr(0) { return @@ -84729,7 +84748,7 @@ func exprToRegister(tls *libc.TLS, pExpr uintptr, iReg int32) { /* sqlite3.c:106 // that register number into *piFreeable. If the returned result register // is not a temporary or if the expression is a vector set *piFreeable // to 0. -func exprCodeVector(tls *libc.TLS, pParse uintptr, p uintptr, piFreeable uintptr) int32 { /* sqlite3.c:106285:12: */ +func exprCodeVector(tls *libc.TLS, pParse uintptr, p uintptr, piFreeable uintptr) int32 { /* sqlite3.c:106298:12: */ var iResult int32 var nResult int32 = Xsqlite3ExprVectorSize(tls, p) if nResult == 1 { @@ -84753,7 +84772,7 @@ func exprCodeVector(tls *libc.TLS, pParse uintptr, p uintptr, piFreeable uintptr // If the last opcode is a OP_Copy, then set the do-not-merge flag (p5) // so that a subsequent copy will not be merged into this one. -func setDoNotMergeFlagOnCopy(tls *libc.TLS, v uintptr) { /* sqlite3.c:106315:13: */ +func setDoNotMergeFlagOnCopy(tls *libc.TLS, v uintptr) { /* sqlite3.c:106328:13: */ if int32((*VdbeOp)(unsafe.Pointer(Xsqlite3VdbeGetOp(tls, v, -1))).Fopcode) == OP_Copy { Xsqlite3VdbeChangeP5(tls, v, uint16(1)) // Tag trailing OP_Copy as not mergable } @@ -84761,7 +84780,7 @@ func setDoNotMergeFlagOnCopy(tls *libc.TLS, v uintptr) { /* sqlite3.c:106315:13: // Generate code to implement special SQL functions that are implemented // in-line rather than by using the usual callbacks. -func exprCodeInlineFunction(tls *libc.TLS, pParse uintptr, pFarg uintptr, iFuncId int32, target int32) int32 { /* sqlite3.c:106325:12: */ +func exprCodeInlineFunction(tls *libc.TLS, pParse uintptr, pFarg uintptr, iFuncId int32, target int32) int32 { /* sqlite3.c:106338:12: */ bp := tls.Alloc(72) defer tls.Free(72) @@ -84886,7 +84905,7 @@ func exprCodeInlineFunction(tls *libc.TLS, pParse uintptr, pFarg uintptr, iFuncI // register if it is convenient to do so. The calling function // must check the return code and move the results to the desired // register. -func Xsqlite3ExprCodeTarget(tls *libc.TLS, pParse uintptr, pExpr uintptr, target int32) int32 { /* sqlite3.c:106441:20: */ +func Xsqlite3ExprCodeTarget(tls *libc.TLS, pParse uintptr, pExpr uintptr, target int32) int32 { /* sqlite3.c:106454:20: */ bp := tls.Alloc(152) defer tls.Free(152) @@ -85957,7 +85976,7 @@ __3: return inReg } -var zAff = *(*[8]int8)(unsafe.Pointer(ts + 8004)) /* sqlite3.c:106508:29 */ +var zAff = *(*[8]int8)(unsafe.Pointer(ts + 8004)) /* sqlite3.c:106521:29 */ // Generate code that will evaluate expression pExpr just one time // per prepared statement execution. @@ -85974,7 +85993,7 @@ var zAff = *(*[8]int8)(unsafe.Pointer(ts + 8004)) /* sqlite3.c:106508:29 */ // code to the same register, if they do not contain function calls and hence // are factored out into the initialization section at the end of the // prepared statement. -func Xsqlite3ExprCodeRunJustOnce(tls *libc.TLS, pParse uintptr, pExpr uintptr, regDest int32) int32 { /* sqlite3.c:107215:20: */ +func Xsqlite3ExprCodeRunJustOnce(tls *libc.TLS, pParse uintptr, pExpr uintptr, regDest int32) int32 { /* sqlite3.c:107228:20: */ var p uintptr p = (*Parse)(unsafe.Pointer(pParse)).FpConstExpr @@ -86043,7 +86062,7 @@ func Xsqlite3ExprCodeRunJustOnce(tls *libc.TLS, pParse uintptr, pExpr uintptr, r // If pExpr is a constant, then this routine might generate this // code to fill the register in the initialization section of the // VDBE program, in order to factor it out of the evaluation loop. -func Xsqlite3ExprCodeTemp(tls *libc.TLS, pParse uintptr, pExpr uintptr, pReg uintptr) int32 { /* sqlite3.c:107272:20: */ +func Xsqlite3ExprCodeTemp(tls *libc.TLS, pParse uintptr, pExpr uintptr, pReg uintptr) int32 { /* sqlite3.c:107285:20: */ var r2 int32 pExpr = Xsqlite3ExprSkipCollateAndLikely(tls, pExpr) if (*Parse)(unsafe.Pointer(pParse)).FokConstFactor != 0 && @@ -86068,7 +86087,7 @@ func Xsqlite3ExprCodeTemp(tls *libc.TLS, pParse uintptr, pExpr uintptr, pReg uin // Generate code that will evaluate expression pExpr and store the // results in register target. The results are guaranteed to appear // in register target. -func Xsqlite3ExprCode(tls *libc.TLS, pParse uintptr, pExpr uintptr, target int32) { /* sqlite3.c:107300:21: */ +func Xsqlite3ExprCode(tls *libc.TLS, pParse uintptr, pExpr uintptr, target int32) { /* sqlite3.c:107313:21: */ var inReg int32 if (*Parse)(unsafe.Pointer(pParse)).FpVdbe == uintptr(0) { @@ -86089,7 +86108,7 @@ func Xsqlite3ExprCode(tls *libc.TLS, pParse uintptr, pExpr uintptr, target int32 // Make a transient copy of expression pExpr and then code it using // sqlite3ExprCode(). This routine works just like sqlite3ExprCode() // except that the input expression is guaranteed to be unchanged. -func Xsqlite3ExprCodeCopy(tls *libc.TLS, pParse uintptr, pExpr uintptr, target int32) { /* sqlite3.c:107324:21: */ +func Xsqlite3ExprCodeCopy(tls *libc.TLS, pParse uintptr, pExpr uintptr, target int32) { /* sqlite3.c:107337:21: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb pExpr = Xsqlite3ExprDup(tls, db, pExpr, 0) if !(int32((*Sqlite3)(unsafe.Pointer(db)).FmallocFailed) != 0) { @@ -86102,7 +86121,7 @@ func Xsqlite3ExprCodeCopy(tls *libc.TLS, pParse uintptr, pExpr uintptr, target i // results in register target. The results are guaranteed to appear // in register target. If the expression is constant, then this routine // might choose to code the expression at initialization time. -func Xsqlite3ExprCodeFactorable(tls *libc.TLS, pParse uintptr, pExpr uintptr, target int32) { /* sqlite3.c:107337:21: */ +func Xsqlite3ExprCodeFactorable(tls *libc.TLS, pParse uintptr, pExpr uintptr, target int32) { /* sqlite3.c:107350:21: */ if (*Parse)(unsafe.Pointer(pParse)).FokConstFactor != 0 && Xsqlite3ExprIsConstantNotJoin(tls, pExpr) != 0 { Xsqlite3ExprCodeRunJustOnce(tls, pParse, pExpr, target) } else { @@ -86128,7 +86147,7 @@ func Xsqlite3ExprCodeFactorable(tls *libc.TLS, pParse uintptr, pExpr uintptr, ta // in registers at srcReg, and so the value can be copied from there. // If SQLITE_ECEL_OMITREF is also set, then the values with u.x.iOrderByCol>0 // are simply omitted rather than being copied from srcReg. -func Xsqlite3ExprCodeExprList(tls *libc.TLS, pParse uintptr, pList uintptr, target int32, srcReg int32, flags U8) int32 { /* sqlite3.c:107365:20: */ +func Xsqlite3ExprCodeExprList(tls *libc.TLS, pParse uintptr, pList uintptr, target int32, srcReg int32, flags U8) int32 { /* sqlite3.c:107378:20: */ var pItem uintptr var i int32 var j int32 @@ -86210,7 +86229,7 @@ __3: // sqlite3ExprIfFalse: Jump to dest if false // // The jumpIfNull parameter is ignored if xJumpIf is NULL. -func exprCodeBetween(tls *libc.TLS, pParse uintptr, pExpr uintptr, dest int32, xJump uintptr, jumpIfNull int32) { /* sqlite3.c:107440:13: */ +func exprCodeBetween(tls *libc.TLS, pParse uintptr, pExpr uintptr, dest int32, xJump uintptr, jumpIfNull int32) { /* sqlite3.c:107453:13: */ bp := tls.Alloc(160) defer tls.Free(160) @@ -86273,7 +86292,7 @@ func exprCodeBetween(tls *libc.TLS, pParse uintptr, pExpr uintptr, dest int32, x // operation. Special comments in vdbe.c and the mkopcodeh.awk script in // the make process cause these values to align. Assert()s in the code // below verify that the numbers are aligned correctly. -func Xsqlite3ExprIfTrue(tls *libc.TLS, pParse uintptr, pExpr uintptr, dest int32, jumpIfNull int32) { /* sqlite3.c:107512:21: */ +func Xsqlite3ExprIfTrue(tls *libc.TLS, pParse uintptr, pExpr uintptr, dest int32, jumpIfNull int32) { /* sqlite3.c:107525:21: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -86505,7 +86524,7 @@ __3: // If the expression evaluates to NULL (neither true nor false) then // jump if jumpIfNull is SQLITE_JUMPIFNULL or fall through if jumpIfNull // is 0. -func Xsqlite3ExprIfFalse(tls *libc.TLS, pParse uintptr, pExpr uintptr, dest int32, jumpIfNull int32) { /* sqlite3.c:107654:21: */ +func Xsqlite3ExprIfFalse(tls *libc.TLS, pParse uintptr, pExpr uintptr, dest int32, jumpIfNull int32) { /* sqlite3.c:107667:21: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -86755,7 +86774,7 @@ __3: // Like sqlite3ExprIfFalse() except that a copy is made of pExpr before // code generation, and that copy is deleted after code generation. This // ensures that the original pExpr is unchanged. -func Xsqlite3ExprIfFalseDup(tls *libc.TLS, pParse uintptr, pExpr uintptr, dest int32, jumpIfNull int32) { /* sqlite3.c:107826:21: */ +func Xsqlite3ExprIfFalseDup(tls *libc.TLS, pParse uintptr, pExpr uintptr, dest int32, jumpIfNull int32) { /* sqlite3.c:107839:21: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb var pCopy uintptr = Xsqlite3ExprDup(tls, db, pExpr, 0) if int32((*Sqlite3)(unsafe.Pointer(db)).FmallocFailed) == 0 { @@ -86775,7 +86794,7 @@ func Xsqlite3ExprIfFalseDup(tls *libc.TLS, pParse uintptr, pExpr uintptr, dest i // same as that currently bound to variable pVar, non-zero is returned. // Otherwise, if the values are not the same or if pExpr is not a simple // SQL value, zero is returned. -func exprCompareVariable(tls *libc.TLS, pParse uintptr, pVar uintptr, pExpr uintptr) int32 { /* sqlite3.c:107848:12: */ +func exprCompareVariable(tls *libc.TLS, pParse uintptr, pVar uintptr, pExpr uintptr) int32 { /* sqlite3.c:107861:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -86829,7 +86848,7 @@ func exprCompareVariable(tls *libc.TLS, pParse uintptr, pVar uintptr, pExpr uint // If pParse is NULL (the normal case) then any TK_VARIABLE term in // Argument pParse should normally be NULL. If it is not NULL and pA or // pB causes a return value of 2. -func Xsqlite3ExprCompare(tls *libc.TLS, pParse uintptr, pA uintptr, pB uintptr, iTab int32) int32 { /* sqlite3.c:107904:20: */ +func Xsqlite3ExprCompare(tls *libc.TLS, pParse uintptr, pA uintptr, pB uintptr, iTab int32) int32 { /* sqlite3.c:107917:20: */ var combinedFlags U32 if pA == uintptr(0) || pB == uintptr(0) { if pB == pA { @@ -86933,7 +86952,7 @@ func Xsqlite3ExprCompare(tls *libc.TLS, pParse uintptr, pA uintptr, pB uintptr, // // Two NULL pointers are considered to be the same. But a NULL pointer // always differs from a non-NULL pointer. -func Xsqlite3ExprListCompare(tls *libc.TLS, pA uintptr, pB uintptr, iTab int32) int32 { /* sqlite3.c:108000:20: */ +func Xsqlite3ExprListCompare(tls *libc.TLS, pA uintptr, pB uintptr, iTab int32) int32 { /* sqlite3.c:108013:20: */ var i int32 if pA == uintptr(0) && pB == uintptr(0) { return 0 @@ -86960,7 +86979,7 @@ func Xsqlite3ExprListCompare(tls *libc.TLS, pA uintptr, pB uintptr, iTab int32) // Like sqlite3ExprCompare() except COLLATE operators at the top-level // are ignored. -func Xsqlite3ExprCompareSkip(tls *libc.TLS, pA uintptr, pB uintptr, iTab int32) int32 { /* sqlite3.c:108019:20: */ +func Xsqlite3ExprCompareSkip(tls *libc.TLS, pA uintptr, pB uintptr, iTab int32) int32 { /* sqlite3.c:108032:20: */ return Xsqlite3ExprCompare(tls, uintptr(0), Xsqlite3ExprSkipCollateAndLikely(tls, pA), Xsqlite3ExprSkipCollateAndLikely(tls, pB), @@ -86971,7 +86990,7 @@ func Xsqlite3ExprCompareSkip(tls *libc.TLS, pA uintptr, pB uintptr, iTab int32) // // Or if seenNot is true, return non-zero if Expr p can only be // non-NULL if pNN is not NULL -func exprImpliesNotNull(tls *libc.TLS, pParse uintptr, p uintptr, pNN uintptr, iTab int32, seenNot int32) int32 { /* sqlite3.c:108032:12: */ +func exprImpliesNotNull(tls *libc.TLS, pParse uintptr, p uintptr, pNN uintptr, iTab int32, seenNot int32) int32 { /* sqlite3.c:108045:12: */ if Xsqlite3ExprCompare(tls, pParse, p, pNN, iTab) == 0 { return libc.Bool32(int32((*Expr)(unsafe.Pointer(pNN)).Fop) != TK_NULL) @@ -87099,7 +87118,7 @@ func exprImpliesNotNull(tls *libc.TLS, pParse uintptr, p uintptr, pNN uintptr, i // When in doubt, return false. Returning true might give a performance // improvement. Returning false might cause a performance reduction, but // it will always give the correct answer and is hence always safe. -func Xsqlite3ExprImpliesExpr(tls *libc.TLS, pParse uintptr, pE1 uintptr, pE2 uintptr, iTab int32) int32 { /* sqlite3.c:108129:20: */ +func Xsqlite3ExprImpliesExpr(tls *libc.TLS, pParse uintptr, pE1 uintptr, pE2 uintptr, iTab int32) int32 { /* sqlite3.c:108142:20: */ if Xsqlite3ExprCompare(tls, pParse, pE1, pE2, iTab) == 0 { return 1 } @@ -87122,7 +87141,7 @@ func Xsqlite3ExprImpliesExpr(tls *libc.TLS, pParse uintptr, pE1 uintptr, pE2 uin // This routine controls an optimization. False positives (setting // pWalker->eCode to 1 when it should not be) are deadly, but false-negatives // (never setting pWalker->eCode) is a harmless missed optimization. -func impliesNotNullRow(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:108161:12: */ +func impliesNotNullRow(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:108174:12: */ if (*Expr)(unsafe.Pointer(pExpr)).Fflags&U32(EP_FromJoin) != U32(0) { return WRC_Prune @@ -87232,7 +87251,7 @@ func impliesNotNullRow(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* // clause requires that some column of the right table of the LEFT JOIN // be non-NULL, then the LEFT JOIN can be safely converted into an // ordinary join. -func Xsqlite3ExprImpliesNonNullRow(tls *libc.TLS, p uintptr, iTab int32) int32 { /* sqlite3.c:108270:20: */ +func Xsqlite3ExprImpliesNonNullRow(tls *libc.TLS, p uintptr, iTab int32) int32 { /* sqlite3.c:108283:20: */ bp := tls.Alloc(28) defer tls.Free(28) @@ -87266,7 +87285,7 @@ func Xsqlite3ExprImpliesNonNullRow(tls *libc.TLS, p uintptr, iTab int32) int32 { // Check to see if there are references to columns in table // pWalker->u.pIdxCover->iCur can be satisfied using the index // pWalker->u.pIdxCover->pIdx. -func exprIdxCover(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:108308:12: */ +func exprIdxCover(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:108321:12: */ if int32((*Expr)(unsafe.Pointer(pExpr)).Fop) == TK_COLUMN && (*Expr)(unsafe.Pointer(pExpr)).FiTable == (*IdxCover)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pWalker + 24)))).FiCur && int32(Xsqlite3TableColumnToIndex(tls, (*IdxCover)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pWalker + 24)))).FpIdx, (*Expr)(unsafe.Pointer(pExpr)).FiColumn)) < 0 { @@ -87284,7 +87303,7 @@ func exprIdxCover(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqli // An index covering an expression means that the expression can be // evaluated using only the index and without having to lookup the // corresponding table entry. -func Xsqlite3ExprCoveredByIndex(tls *libc.TLS, pExpr uintptr, iCur int32, pIdx uintptr) int32 { /* sqlite3.c:108329:20: */ +func Xsqlite3ExprCoveredByIndex(tls *libc.TLS, pExpr uintptr, iCur int32, pIdx uintptr) int32 { /* sqlite3.c:108342:20: */ bp := tls.Alloc(36) defer tls.Free(36) @@ -87309,7 +87328,7 @@ func Xsqlite3ExprCoveredByIndex(tls *libc.TLS, pExpr uintptr, iCur int32, pIdx u // entries for that subquery to the exclude list. // // When leaving the subquery, remove those entries from the exclude list. -func selectRefEnter(tls *libc.TLS, pWalker uintptr, pSelect uintptr) int32 { /* sqlite3.c:108364:12: */ +func selectRefEnter(tls *libc.TLS, pWalker uintptr, pSelect uintptr) int32 { /* sqlite3.c:108377:12: */ var p uintptr = *(*uintptr)(unsafe.Pointer(pWalker + 24)) var pSrc uintptr = (*Select)(unsafe.Pointer(pSelect)).FpSrc var i I64 @@ -87347,7 +87366,7 @@ __3: return WRC_Continue } -func selectRefLeave(tls *libc.TLS, pWalker uintptr, pSelect uintptr) { /* sqlite3.c:108384:13: */ +func selectRefLeave(tls *libc.TLS, pWalker uintptr, pSelect uintptr) { /* sqlite3.c:108397:13: */ var p uintptr = *(*uintptr)(unsafe.Pointer(pWalker + 24)) var pSrc uintptr = (*Select)(unsafe.Pointer(pSelect)).FpSrc if (*RefSrcList)(unsafe.Pointer(p)).FnExclude != 0 { @@ -87363,7 +87382,7 @@ func selectRefLeave(tls *libc.TLS, pWalker uintptr, pSelect uintptr) { /* sqlite // // Set the 0x02 bit of pWalker->eCode if there is a reference to a // table is in neither RefSrcList.pRef nor RefSrcList.aiExclude. -func exprRefToSrcList(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:108401:12: */ +func exprRefToSrcList(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:108414:12: */ if int32((*Expr)(unsafe.Pointer(pExpr)).Fop) == TK_COLUMN || int32((*Expr)(unsafe.Pointer(pExpr)).Fop) == TK_AGG_COLUMN { var i int32 @@ -87403,7 +87422,7 @@ func exprRefToSrcList(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* // // As currently used, pExpr is always an aggregate function call. That // fact is exploited for efficiency. -func Xsqlite3ReferencesSrcList(tls *libc.TLS, pParse uintptr, pExpr uintptr, pSrcList uintptr) int32 { /* sqlite3.c:108438:20: */ +func Xsqlite3ReferencesSrcList(tls *libc.TLS, pParse uintptr, pExpr uintptr, pSrcList uintptr) int32 { /* sqlite3.c:108451:20: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -87452,7 +87471,7 @@ func Xsqlite3ReferencesSrcList(tls *libc.TLS, pParse uintptr, pExpr uintptr, pSr // This will cause the expression to be deleted automatically when the // Parse object is destroyed, but the zero register number means that it // will not generate any code in the preamble. -func agginfoPersistExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:108480:12: */ +func agginfoPersistExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:108493:12: */ if !((*Expr)(unsafe.Pointer(pExpr)).Fflags&U32(EP_TokenOnly|EP_Reduced) != U32(0)) && (*Expr)(unsafe.Pointer(pExpr)).FpAggInfo != uintptr(0) { var pAggInfo uintptr = (*Expr)(unsafe.Pointer(pExpr)).FpAggInfo @@ -87485,7 +87504,7 @@ func agginfoPersistExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { // Initialize a Walker object so that will persist AggInfo entries referenced // by the tree that is walked. -func Xsqlite3AggInfoPersistWalkerInit(tls *libc.TLS, pWalker uintptr, pParse uintptr) { /* sqlite3.c:108516:21: */ +func Xsqlite3AggInfoPersistWalkerInit(tls *libc.TLS, pWalker uintptr, pParse uintptr) { /* sqlite3.c:108529:21: */ libc.Xmemset(tls, pWalker, 0, uint32(unsafe.Sizeof(Walker{}))) (*Walker)(unsafe.Pointer(pWalker)).FpParse = pParse (*Walker)(unsafe.Pointer(pWalker)).FxExprCallback = *(*uintptr)(unsafe.Pointer(&struct { @@ -87498,7 +87517,7 @@ func Xsqlite3AggInfoPersistWalkerInit(tls *libc.TLS, pWalker uintptr, pParse uin // Add a new element to the pAggInfo->aCol[] array. Return the index of // the new element. Return a negative number if malloc fails. -func addAggInfoColumn(tls *libc.TLS, db uintptr, pInfo uintptr) int32 { /* sqlite3.c:108527:12: */ +func addAggInfoColumn(tls *libc.TLS, db uintptr, pInfo uintptr) int32 { /* sqlite3.c:108540:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -87515,7 +87534,7 @@ func addAggInfoColumn(tls *libc.TLS, db uintptr, pInfo uintptr) int32 { /* sqlit // Add a new element to the pAggInfo->aFunc[] array. Return the index of // the new element. Return a negative number if malloc fails. -func addAggInfoFunc(tls *libc.TLS, db uintptr, pInfo uintptr) int32 { /* sqlite3.c:108543:12: */ +func addAggInfoFunc(tls *libc.TLS, db uintptr, pInfo uintptr) int32 { /* sqlite3.c:108556:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -87533,7 +87552,7 @@ func addAggInfoFunc(tls *libc.TLS, db uintptr, pInfo uintptr) int32 { /* sqlite3 // This is the xExprCallback for a tree walker. It is used to // implement sqlite3ExprAnalyzeAggregates(). See sqlite3ExprAnalyzeAggregates // for additional information. -func analyzeAggregate(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:108560:12: */ +func analyzeAggregate(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:108573:12: */ var i int32 var pNC uintptr = *(*uintptr)(unsafe.Pointer(pWalker + 24)) var pParse uintptr = (*NameContext)(unsafe.Pointer(pNC)).FpParse @@ -87724,7 +87743,7 @@ func analyzeAggregate(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* // // This routine should only be called after the expression has been // analyzed by sqlite3ResolveExprNames(). -func Xsqlite3ExprAnalyzeAggregates(tls *libc.TLS, pNC uintptr, pExpr uintptr) { /* sqlite3.c:108698:21: */ +func Xsqlite3ExprAnalyzeAggregates(tls *libc.TLS, pNC uintptr, pExpr uintptr) { /* sqlite3.c:108711:21: */ bp := tls.Alloc(28) defer tls.Free(28) @@ -87750,7 +87769,7 @@ func Xsqlite3ExprAnalyzeAggregates(tls *libc.TLS, pNC uintptr, pExpr uintptr) { // expression list. Return the number of errors. // // If an error is found, the analysis is cut short. -func Xsqlite3ExprAnalyzeAggList(tls *libc.TLS, pNC uintptr, pList uintptr) { /* sqlite3.c:108716:21: */ +func Xsqlite3ExprAnalyzeAggList(tls *libc.TLS, pNC uintptr, pList uintptr) { /* sqlite3.c:108729:21: */ var pItem uintptr var i int32 if pList != 0 { @@ -87775,7 +87794,7 @@ func Xsqlite3ExprAnalyzeAggList(tls *libc.TLS, pNC uintptr, pList uintptr) { /* } // Allocate a single new register for use to hold some intermediate result. -func Xsqlite3GetTempReg(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:108729:20: */ +func Xsqlite3GetTempReg(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:108742:20: */ if int32((*Parse)(unsafe.Pointer(pParse)).FnTempReg) == 0 { return libc.PreIncInt32(&(*Parse)(unsafe.Pointer(pParse)).FnMem, 1) } @@ -87784,7 +87803,7 @@ func Xsqlite3GetTempReg(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:1087 // Deallocate a register, making available for reuse for some other // purpose. -func Xsqlite3ReleaseTempReg(tls *libc.TLS, pParse uintptr, iReg int32) { /* sqlite3.c:108740:21: */ +func Xsqlite3ReleaseTempReg(tls *libc.TLS, pParse uintptr, iReg int32) { /* sqlite3.c:108753:21: */ if iReg != 0 { if int32((*Parse)(unsafe.Pointer(pParse)).FnTempReg) < int32(uint32(unsafe.Sizeof([8]int32{}))/uint32(unsafe.Sizeof(int32(0)))) { @@ -87794,7 +87813,7 @@ func Xsqlite3ReleaseTempReg(tls *libc.TLS, pParse uintptr, iReg int32) { /* sqli } // Allocate or deallocate a block of nReg consecutive registers. -func Xsqlite3GetTempRange(tls *libc.TLS, pParse uintptr, nReg int32) int32 { /* sqlite3.c:108752:20: */ +func Xsqlite3GetTempRange(tls *libc.TLS, pParse uintptr, nReg int32) int32 { /* sqlite3.c:108765:20: */ var i int32 var n int32 if nReg == 1 { @@ -87812,7 +87831,7 @@ func Xsqlite3GetTempRange(tls *libc.TLS, pParse uintptr, nReg int32) int32 { /* return i } -func Xsqlite3ReleaseTempRange(tls *libc.TLS, pParse uintptr, iReg int32, nReg int32) { /* sqlite3.c:108766:21: */ +func Xsqlite3ReleaseTempRange(tls *libc.TLS, pParse uintptr, iReg int32, nReg int32) { /* sqlite3.c:108779:21: */ if nReg == 1 { Xsqlite3ReleaseTempReg(tls, pParse, iReg) return @@ -87830,7 +87849,7 @@ func Xsqlite3ReleaseTempRange(tls *libc.TLS, pParse uintptr, iReg int32, nReg in // that might be invoked from other parts of the code, to ensure that // the sub/co-routine does not use registers in common with the code that // invokes the sub/co-routine. -func Xsqlite3ClearTempRegCache(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:108786:21: */ +func Xsqlite3ClearTempRegCache(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:108799:21: */ (*Parse)(unsafe.Pointer(pParse)).FnTempReg = U8(0) (*Parse)(unsafe.Pointer(pParse)).FnRangeReg = 0 } @@ -87864,7 +87883,7 @@ func Xsqlite3ClearTempRegCache(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:108 // in pParse->zErr (system tables may not be altered) and returns non-zero. // // Or, if zName is not a system table, zero is returned. -func isAlterableTable(tls *libc.TLS, pParse uintptr, pTab uintptr) int32 { /* sqlite3.c:108846:12: */ +func isAlterableTable(tls *libc.TLS, pParse uintptr, pTab uintptr) int32 { /* sqlite3.c:108859:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -87883,7 +87902,7 @@ func isAlterableTable(tls *libc.TLS, pParse uintptr, pTab uintptr) int32 { /* sq // called at the end of the generation of an ALTER TABLE ... RENAME ... // statement to ensure that the operation has not rendered any schema // objects unusable. -func renameTestSchema(tls *libc.TLS, pParse uintptr, zDb uintptr, bTemp int32, zWhen uintptr, bNoDQS int32) { /* sqlite3.c:108868:13: */ +func renameTestSchema(tls *libc.TLS, pParse uintptr, zDb uintptr, bTemp int32, zWhen uintptr, bNoDQS int32) { /* sqlite3.c:108881:13: */ bp := tls.Alloc(64) defer tls.Free(64) @@ -87907,7 +87926,7 @@ func renameTestSchema(tls *libc.TLS, pParse uintptr, zDb uintptr, bTemp int32, z // database zDb with their single-quoted equivalents. If argument bTemp is // not true, similarly update all SQL statements in the sqlite_schema table // of the temp db. -func renameFixQuotes(tls *libc.TLS, pParse uintptr, zDb uintptr, bTemp int32) { /* sqlite3.c:108905:13: */ +func renameFixQuotes(tls *libc.TLS, pParse uintptr, zDb uintptr, bTemp int32) { /* sqlite3.c:108918:13: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -87923,7 +87942,7 @@ func renameFixQuotes(tls *libc.TLS, pParse uintptr, zDb uintptr, bTemp int32) { // Generate code to reload the schema for database iDb. And, if iDb!=1, for // the temp database as well. -func renameReloadSchema(tls *libc.TLS, pParse uintptr, iDb int32, p5 U16) { /* sqlite3.c:108926:13: */ +func renameReloadSchema(tls *libc.TLS, pParse uintptr, iDb int32, p5 U16) { /* sqlite3.c:108939:13: */ var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe if v != 0 { Xsqlite3ChangeCookie(tls, pParse, iDb) @@ -87936,7 +87955,7 @@ func renameReloadSchema(tls *libc.TLS, pParse uintptr, iDb int32, p5 U16) { /* s // Generate code to implement the "ALTER TABLE xxx RENAME TO yyy" // command. -func Xsqlite3AlterRenameTable(tls *libc.TLS, pParse uintptr, pSrc uintptr, pName uintptr) { /* sqlite3.c:108939:21: */ +func Xsqlite3AlterRenameTable(tls *libc.TLS, pParse uintptr, pSrc uintptr, pName uintptr) { /* sqlite3.c:108952:21: */ bp := tls.Alloc(184) defer tls.Free(184) @@ -88121,7 +88140,7 @@ exit_rename_table: // Write code that will raise an error if the table described by // zDb and zTab is not empty. -func sqlite3ErrorIfNotEmpty(tls *libc.TLS, pParse uintptr, zDb uintptr, zTab uintptr, zErr uintptr) { /* sqlite3.c:109108:13: */ +func sqlite3ErrorIfNotEmpty(tls *libc.TLS, pParse uintptr, zDb uintptr, zTab uintptr, zErr uintptr) { /* sqlite3.c:109121:13: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -88136,7 +88155,7 @@ func sqlite3ErrorIfNotEmpty(tls *libc.TLS, pParse uintptr, zDb uintptr, zTab uin // // The Table structure pParse->pNewTable was extended to include // the new column during parsing. -func Xsqlite3AlterFinishAddColumn(tls *libc.TLS, pParse uintptr, pColDef uintptr) { /* sqlite3.c:109128:21: */ +func Xsqlite3AlterFinishAddColumn(tls *libc.TLS, pParse uintptr, pColDef uintptr) { /* sqlite3.c:109141:21: */ bp := tls.Alloc(60) defer tls.Free(60) @@ -88282,7 +88301,7 @@ func Xsqlite3AlterFinishAddColumn(tls *libc.TLS, pParse uintptr, pColDef uintptr // // Routine sqlite3AlterFinishAddColumn() will be called to complete // coding the "ALTER TABLE ... ADD" statement. -func Xsqlite3AlterBeginAddColumn(tls *libc.TLS, pParse uintptr, pSrc uintptr) { /* sqlite3.c:109293:21: */ +func Xsqlite3AlterBeginAddColumn(tls *libc.TLS, pParse uintptr, pSrc uintptr) { /* sqlite3.c:109306:21: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -88399,7 +88418,7 @@ exit_begin_add_column: // it loads an error message into pParse and returns non-zero. // // Or, if pTab is not a view or virtual table, zero is returned. -func isRealTable(tls *libc.TLS, pParse uintptr, pTab uintptr, bDrop int32) int32 { /* sqlite3.c:109376:12: */ +func isRealTable(tls *libc.TLS, pParse uintptr, pTab uintptr, bDrop int32) int32 { /* sqlite3.c:109389:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -88427,7 +88446,7 @@ func isRealTable(tls *libc.TLS, pParse uintptr, pTab uintptr, bDrop int32) int32 // Handles the following parser reduction: // // cmd ::= ALTER TABLE pSrc RENAME COLUMN pOld TO pNew -func Xsqlite3AlterRenameColumn(tls *libc.TLS, pParse uintptr, pSrc uintptr, pOld uintptr, pNew uintptr) { /* sqlite3.c:109406:21: */ +func Xsqlite3AlterRenameColumn(tls *libc.TLS, pParse uintptr, pSrc uintptr, pOld uintptr, pNew uintptr) { /* sqlite3.c:109419:21: */ bp := tls.Alloc(112) defer tls.Free(112) @@ -88556,7 +88575,7 @@ exit_rename_column: // The context of an ALTER TABLE RENAME COLUMN operation that gets passed // down into the Walker. -type RenameCtx = RenameCtx1 /* sqlite3.c:109521:26 */ +type RenameCtx = RenameCtx1 /* sqlite3.c:109534:26 */ // Remember that the parser tree element pPtr was created using // the token pToken. @@ -88568,7 +88587,7 @@ type RenameCtx = RenameCtx1 /* sqlite3.c:109521:26 */ // The pPtr argument is returned so that this routine can be used // with tail recursion in tokenExpr() routine, for a small performance // improvement. -func Xsqlite3RenameTokenMap(tls *libc.TLS, pParse uintptr, pPtr uintptr, pToken uintptr) uintptr { /* sqlite3.c:109584:27: */ +func Xsqlite3RenameTokenMap(tls *libc.TLS, pParse uintptr, pPtr uintptr, pToken uintptr) uintptr { /* sqlite3.c:109597:27: */ var pNew uintptr if int32((*Parse)(unsafe.Pointer(pParse)).FeParseMode) != PARSE_MODE_UNMAP { @@ -88587,7 +88606,7 @@ func Xsqlite3RenameTokenMap(tls *libc.TLS, pParse uintptr, pPtr uintptr, pToken // It is assumed that there is already a RenameToken object associated // with parse tree element pFrom. This function remaps the associated token // to parse tree element pTo. -func Xsqlite3RenameTokenRemap(tls *libc.TLS, pParse uintptr, pTo uintptr, pFrom uintptr) { /* sqlite3.c:109610:21: */ +func Xsqlite3RenameTokenRemap(tls *libc.TLS, pParse uintptr, pTo uintptr, pFrom uintptr) { /* sqlite3.c:109623:21: */ var p uintptr for p = (*Parse)(unsafe.Pointer(pParse)).FpRename; p != 0; p = (*RenameToken)(unsafe.Pointer(p)).FpNext { @@ -88599,7 +88618,7 @@ func Xsqlite3RenameTokenRemap(tls *libc.TLS, pParse uintptr, pTo uintptr, pFrom } // Walker callback used by sqlite3RenameExprUnmap(). -func renameUnmapExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:109624:12: */ +func renameUnmapExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:109637:12: */ var pParse uintptr = (*Walker)(unsafe.Pointer(pWalker)).FpParse Xsqlite3RenameTokenRemap(tls, pParse, uintptr(0), pExpr) if (*Expr)(unsafe.Pointer(pExpr)).Fflags&U32(EP_WinFunc|EP_Subrtn) == U32(0) { @@ -88610,7 +88629,7 @@ func renameUnmapExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* // Iterate through the Select objects that are part of WITH clauses attached // to select statement pSelect. -func renameWalkWith(tls *libc.TLS, pWalker uintptr, pSelect uintptr) { /* sqlite3.c:109637:13: */ +func renameWalkWith(tls *libc.TLS, pWalker uintptr, pSelect uintptr) { /* sqlite3.c:109650:13: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -88651,7 +88670,7 @@ func renameWalkWith(tls *libc.TLS, pWalker uintptr, pSelect uintptr) { /* sqlite } // Unmap all tokens in the IdList object passed as the second argument. -func unmapColumnIdlistNames(tls *libc.TLS, pParse uintptr, pIdList uintptr) { /* sqlite3.c:109672:13: */ +func unmapColumnIdlistNames(tls *libc.TLS, pParse uintptr, pIdList uintptr) { /* sqlite3.c:109685:13: */ if pIdList != 0 { var ii int32 for ii = 0; ii < (*IdList)(unsafe.Pointer(pIdList)).FnId; ii++ { @@ -88661,7 +88680,7 @@ func unmapColumnIdlistNames(tls *libc.TLS, pParse uintptr, pIdList uintptr) { /* } // Walker callback used by sqlite3RenameExprUnmap(). -func renameUnmapSelectCb(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sqlite3.c:109687:12: */ +func renameUnmapSelectCb(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sqlite3.c:109700:12: */ var pParse uintptr = (*Walker)(unsafe.Pointer(pWalker)).FpParse var i int32 if (*Parse)(unsafe.Pointer(pParse)).FnErr != 0 { @@ -88693,7 +88712,7 @@ func renameUnmapSelectCb(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* s } // Remove all nodes that are part of expression pExpr from the rename list. -func Xsqlite3RenameExprUnmap(tls *libc.TLS, pParse uintptr, pExpr uintptr) { /* sqlite3.c:109720:21: */ +func Xsqlite3RenameExprUnmap(tls *libc.TLS, pParse uintptr, pExpr uintptr) { /* sqlite3.c:109733:21: */ bp := tls.Alloc(28) defer tls.Free(28) @@ -88715,7 +88734,7 @@ func Xsqlite3RenameExprUnmap(tls *libc.TLS, pParse uintptr, pExpr uintptr) { /* // Remove all nodes that are part of expression-list pEList from the // rename list. -func Xsqlite3RenameExprlistUnmap(tls *libc.TLS, pParse uintptr, pEList uintptr) { /* sqlite3.c:109736:21: */ +func Xsqlite3RenameExprlistUnmap(tls *libc.TLS, pParse uintptr, pEList uintptr) { /* sqlite3.c:109749:21: */ bp := tls.Alloc(28) defer tls.Free(28) @@ -88738,7 +88757,7 @@ func Xsqlite3RenameExprlistUnmap(tls *libc.TLS, pParse uintptr, pEList uintptr) } // Free the list of RenameToken objects given in the second argument -func renameTokenFree(tls *libc.TLS, db uintptr, pToken uintptr) { /* sqlite3.c:109755:13: */ +func renameTokenFree(tls *libc.TLS, db uintptr, pToken uintptr) { /* sqlite3.c:109768:13: */ var pNext uintptr var p uintptr for p = pToken; p != 0; p = pNext { @@ -88754,7 +88773,7 @@ func renameTokenFree(tls *libc.TLS, db uintptr, pToken uintptr) { /* sqlite3.c:1 // If the second argument passed to this function is not NULL and a matching // RenameToken object is found, remove it from the Parse object and add it to // the list maintained by the RenameCtx object. -func renameTokenFind(tls *libc.TLS, pParse uintptr, pCtx uintptr, pPtr uintptr) uintptr { /* sqlite3.c:109773:20: */ +func renameTokenFind(tls *libc.TLS, pParse uintptr, pCtx uintptr, pPtr uintptr) uintptr { /* sqlite3.c:109786:20: */ var pp uintptr if pPtr == uintptr(0) { return uintptr(0) @@ -88777,7 +88796,7 @@ func renameTokenFind(tls *libc.TLS, pParse uintptr, pCtx uintptr, pPtr uintptr) // This is a Walker select callback. It does nothing. It is only required // because without a dummy callback, sqlite3WalkExpr() and similar do not // descend into sub-select statements. -func renameColumnSelectCb(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sqlite3.c:109802:12: */ +func renameColumnSelectCb(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sqlite3.c:109815:12: */ if (*Select)(unsafe.Pointer(p)).FselFlags&U32(SF_View|SF_CopyCte) != 0 { return WRC_Prune @@ -88793,7 +88812,7 @@ func renameColumnSelectCb(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* // ALTER TABLE statement. If it is, then attach its associated // RenameToken object to the list of RenameToken objects being // constructed in RenameCtx object at pWalker->u.pRename. -func renameColumnExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:109821:12: */ +func renameColumnExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:109834:12: */ var p uintptr = *(*uintptr)(unsafe.Pointer(pWalker + 24)) if int32((*Expr)(unsafe.Pointer(pExpr)).Fop) == TK_TRIGGER && int32((*Expr)(unsafe.Pointer(pExpr)).FiColumn) == (*RenameCtx)(unsafe.Pointer(p)).FiCol && @@ -88815,7 +88834,7 @@ func renameColumnExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { / // the input SQL is parsed from left to right. Repeated calls to this routine // return all column name tokens in the order that they are encountered // in the SQL statement. -func renameColumnTokenNext(tls *libc.TLS, pCtx uintptr) uintptr { /* sqlite3.c:109847:20: */ +func renameColumnTokenNext(tls *libc.TLS, pCtx uintptr) uintptr { /* sqlite3.c:109860:20: */ var pBest uintptr = (*RenameCtx)(unsafe.Pointer(pCtx)).FpList var pToken uintptr var pp uintptr @@ -88837,7 +88856,7 @@ func renameColumnTokenNext(tls *libc.TLS, pCtx uintptr) uintptr { /* sqlite3.c:1 // ALTER TABLE RENAME COLUMN program. The error message emitted by the // sub-routine is currently stored in pParse->zErrMsg. This function // adds context to the error message and then stores it in pCtx. -func renameColumnParseError(tls *libc.TLS, pCtx uintptr, zWhen uintptr, pType uintptr, pObject uintptr, pParse uintptr) { /* sqlite3.c:109868:13: */ +func renameColumnParseError(tls *libc.TLS, pCtx uintptr, zWhen uintptr, pType uintptr, pObject uintptr, pParse uintptr) { /* sqlite3.c:109881:13: */ bp := tls.Alloc(40) defer tls.Free(40) @@ -88861,7 +88880,7 @@ func renameColumnParseError(tls *libc.TLS, pCtx uintptr, zWhen uintptr, pType ui // pEList->a[i].zName) that matches the string in zOld, extract the // corresponding rename-token from Parse object pParse and add it // to the RenameCtx pCtx. -func renameColumnElistNames(tls *libc.TLS, pParse uintptr, pCtx uintptr, pEList uintptr, zOld uintptr) { /* sqlite3.c:109893:13: */ +func renameColumnElistNames(tls *libc.TLS, pParse uintptr, pCtx uintptr, pEList uintptr, zOld uintptr) { /* sqlite3.c:109906:13: */ if pEList != 0 { var i int32 for i = 0; i < (*ExprList)(unsafe.Pointer(pEList)).FnExpr; i++ { @@ -88878,7 +88897,7 @@ func renameColumnElistNames(tls *libc.TLS, pParse uintptr, pCtx uintptr, pEList // For each name in the the id-list pIdList (i.e. each pIdList->a[i].zName) // that matches the string in zOld, extract the corresponding rename-token // from Parse object pParse and add it to the RenameCtx pCtx. -func renameColumnIdlistNames(tls *libc.TLS, pParse uintptr, pCtx uintptr, pIdList uintptr, zOld uintptr) { /* sqlite3.c:109918:13: */ +func renameColumnIdlistNames(tls *libc.TLS, pParse uintptr, pCtx uintptr, pIdList uintptr, zOld uintptr) { /* sqlite3.c:109931:13: */ if pIdList != 0 { var i int32 for i = 0; i < (*IdList)(unsafe.Pointer(pIdList)).FnId; i++ { @@ -88892,7 +88911,7 @@ func renameColumnIdlistNames(tls *libc.TLS, pParse uintptr, pCtx uintptr, pIdLis // Parse the SQL statement zSql using Parse object (*p). The Parse object // is initialized by this function before it is used. -func renameParseSql(tls *libc.TLS, p uintptr, zDb uintptr, db uintptr, zSql uintptr, bTemp int32) int32 { /* sqlite3.c:109940:12: */ +func renameParseSql(tls *libc.TLS, p uintptr, zDb uintptr, db uintptr, zSql uintptr, bTemp int32) int32 { /* sqlite3.c:109953:12: */ var rc int32 Xsqlite3ParseObjectInit(tls, p, db) @@ -88900,7 +88919,7 @@ func renameParseSql(tls *libc.TLS, p uintptr, zDb uintptr, db uintptr, zSql uint return SQLITE_NOMEM } if Xsqlite3_strnicmp(tls, zSql, ts+10800, 7) != 0 { - return Xsqlite3CorruptError(tls, 109954) + return Xsqlite3CorruptError(tls, 109967) } (*Sqlite3)(unsafe.Pointer(db)).Finit.FiDb = func() uint8 { if bTemp != 0 { @@ -88917,7 +88936,7 @@ func renameParseSql(tls *libc.TLS, p uintptr, zDb uintptr, db uintptr, zSql uint } if rc == SQLITE_OK && ((*Parse)(unsafe.Pointer(p)).FpNewTable == uintptr(0) && (*Parse)(unsafe.Pointer(p)).FpNewIndex == uintptr(0) && (*Parse)(unsafe.Pointer(p)).FpNewTrigger == uintptr(0)) { - rc = Xsqlite3CorruptError(tls, 109965) + rc = Xsqlite3CorruptError(tls, 109978) } (*Sqlite3)(unsafe.Pointer(db)).Finit.FiDb = U8(0) @@ -88931,7 +88950,7 @@ func renameParseSql(tls *libc.TLS, p uintptr, zDb uintptr, db uintptr, zSql uint // // Or, if an error occurs (i.e. an OOM condition), an error is left in // pCtx and an SQLite error code returned. -func renameEditSql(tls *libc.TLS, pCtx uintptr, pRename uintptr, zSql uintptr, zNew uintptr, bQuote int32) int32 { /* sqlite3.c:109993:12: */ +func renameEditSql(tls *libc.TLS, pCtx uintptr, pRename uintptr, zSql uintptr, zNew uintptr, bQuote int32) int32 { /* sqlite3.c:110006:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -89037,7 +89056,7 @@ func renameEditSql(tls *libc.TLS, pCtx uintptr, pRename uintptr, zSql uintptr, z // it was read from the schema of database zDb. Return SQLITE_OK if // successful. Otherwise, return an SQLite error code and leave an error // message in the Parse object. -func renameResolveTrigger(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:110100:12: */ +func renameResolveTrigger(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:110113:12: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -89135,7 +89154,7 @@ func renameResolveTrigger(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:11 // Invoke sqlite3WalkExpr() or sqlite3WalkSelect() on all Select or Expr // objects that are part of the trigger passed as the second argument. -func renameWalkTrigger(tls *libc.TLS, pWalker uintptr, pTrigger uintptr) { /* sqlite3.c:110196:13: */ +func renameWalkTrigger(tls *libc.TLS, pWalker uintptr, pTrigger uintptr) { /* sqlite3.c:110209:13: */ var pStep uintptr // Find tokens to edit in WHEN clause @@ -89164,7 +89183,7 @@ func renameWalkTrigger(tls *libc.TLS, pWalker uintptr, pTrigger uintptr) { /* sq // Free the contents of Parse object (*pParse). Do not free the memory // occupied by the Parse object itself. -func renameParseCleanup(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:110227:13: */ +func renameParseCleanup(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:110240:13: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb var pIdx uintptr if (*Parse)(unsafe.Pointer(pParse)).FpVdbe != 0 { @@ -89203,7 +89222,7 @@ func renameParseCleanup(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:110227:13: // It is only accessible to SQL created using sqlite3NestedParse(). It is // not reachable from ordinary SQL passed into sqlite3_prepare() unless the // SQLITE_TESTCTRL_INTERNAL_FUNCTIONS test setting is enabled. -func renameColumnFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { /* sqlite3.c:110268:13: */ +func renameColumnFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { /* sqlite3.c:110281:13: */ bp := tls.Alloc(320) defer tls.Free(320) @@ -89546,7 +89565,7 @@ __44: } // Walker expression callback used by "RENAME TABLE". -func renameTableExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:110435:12: */ +func renameTableExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:110448:12: */ var p uintptr = *(*uintptr)(unsafe.Pointer(pWalker + 24)) if int32((*Expr)(unsafe.Pointer(pExpr)).Fop) == TK_COLUMN && (*Expr)(unsafe.Pointer(pExpr)).Fflags&U32(EP_WinFunc|EP_Subrtn) == U32(0) && @@ -89557,7 +89576,7 @@ func renameTableExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* } // Walker select callback used by "RENAME TABLE". -func renameTableSelectCb(tls *libc.TLS, pWalker uintptr, pSelect uintptr) int32 { /* sqlite3.c:110449:12: */ +func renameTableSelectCb(tls *libc.TLS, pWalker uintptr, pSelect uintptr) int32 { /* sqlite3.c:110462:12: */ var i int32 var p uintptr = *(*uintptr)(unsafe.Pointer(pWalker + 24)) var pSrc uintptr = (*Select)(unsafe.Pointer(pSelect)).FpSrc @@ -89597,7 +89616,7 @@ func renameTableSelectCb(tls *libc.TLS, pWalker uintptr, pSelect uintptr) int32 // // sqlite_rename_table('main', 'CREATE TABLE t1(a REFERENCES t2)','t2','t3',0) // -> 'CREATE TABLE t1(a REFERENCES t3)' -func renameTableFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { /* sqlite3.c:110493:13: */ +func renameTableFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { /* sqlite3.c:110506:13: */ bp := tls.Alloc(352) defer tls.Free(352) @@ -89731,7 +89750,7 @@ func renameTableFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr return } -func renameQuotefixExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:110636:12: */ +func renameQuotefixExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:110649:12: */ if int32((*Expr)(unsafe.Pointer(pExpr)).Fop) == TK_STRING && (*Expr)(unsafe.Pointer(pExpr)).Fflags&U32(EP_DblQuoted) != 0 { renameTokenFind(tls, (*Walker)(unsafe.Pointer(pWalker)).FpParse, *(*uintptr)(unsafe.Pointer(pWalker + 24)), pExpr) } @@ -89764,7 +89783,7 @@ func renameQuotefixExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { // If there is a error in the input SQL, then raise an error, except // if PRAGMA writable_schema=ON, then just return the input string // unmodified following an error. -func renameQuotefixFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { /* sqlite3.c:110670:13: */ +func renameQuotefixFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { /* sqlite3.c:110683:13: */ bp := tls.Alloc(320) defer tls.Free(320) @@ -89878,7 +89897,7 @@ func renameQuotefixFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uint // B. Else if a trigger is created and the the table that the trigger is // attached to is in database zDb, then return 1. // C. Otherwise return NULL. -func renameTableTest(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { /* sqlite3.c:110783:13: */ +func renameTableTest(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { /* sqlite3.c:110796:13: */ bp := tls.Alloc(304) defer tls.Free(304) @@ -89950,7 +89969,7 @@ func renameTableTest(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr // // The value returned is a string containing the CREATE TABLE statement // with column argv[2] removed. -func dropColumnFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { /* sqlite3.c:110858:13: */ +func dropColumnFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { /* sqlite3.c:110871:13: */ bp := tls.Alloc(296) defer tls.Free(296) @@ -89990,7 +90009,7 @@ __1: goto __2 } // This can happen if the sqlite_schema table is corrupt - rc = Xsqlite3CorruptError(tls, 110886) + rc = Xsqlite3CorruptError(tls, 110899) goto drop_column_done __2: ; @@ -90036,7 +90055,7 @@ __7: // // statement. Argument pSrc contains the possibly qualified name of the // table being edited, and token pName the name of the column to drop. -func Xsqlite3AlterDropColumn(tls *libc.TLS, pParse uintptr, pSrc uintptr, pName uintptr) { /* sqlite3.c:110923:21: */ +func Xsqlite3AlterDropColumn(tls *libc.TLS, pParse uintptr, pSrc uintptr, pName uintptr) { /* sqlite3.c:110936:21: */ bp := tls.Alloc(64) defer tls.Free(64) @@ -90269,7 +90288,7 @@ exit_drop_column: } // Register built-in functions used to help implement ALTER TABLE -func Xsqlite3AlterFunctions(tls *libc.TLS) { /* sqlite3.c:111065:21: */ +func Xsqlite3AlterFunctions(tls *libc.TLS) { /* sqlite3.c:111078:21: */ Xsqlite3InsertBuiltinFuncs(tls, uintptr(unsafe.Pointer(&aAlterTableFuncs)), int32(uint32(unsafe.Sizeof(aAlterTableFuncs))/uint32(unsafe.Sizeof(FuncDef{})))) } @@ -90278,7 +90297,7 @@ var aAlterTableFuncs = [5]FuncDef{ {FnArg: int8(7), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_FUNC_INTERNAL | SQLITE_UTF8 | SQLITE_FUNC_CONSTANT), FxSFunc: 0, FzName: ts + 11074}, {FnArg: int8(7), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_FUNC_INTERNAL | SQLITE_UTF8 | SQLITE_FUNC_CONSTANT), FxSFunc: 0, FzName: ts + 11094}, {FnArg: int8(3), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_FUNC_INTERNAL | SQLITE_UTF8 | SQLITE_FUNC_CONSTANT), FxSFunc: 0, FzName: ts + 11113}, - {FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_FUNC_INTERNAL | SQLITE_UTF8 | SQLITE_FUNC_CONSTANT), FxSFunc: 0, FzName: ts + 11132}} /* sqlite3.c:111066:18 */ + {FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_FUNC_INTERNAL | SQLITE_UTF8 | SQLITE_FUNC_CONSTANT), FxSFunc: 0, FzName: ts + 11132}} /* sqlite3.c:111079:18 */ //************* End of alter.c ********************************************** //************* Begin file analyze.c **************************************** @@ -90434,7 +90453,7 @@ var aAlterTableFuncs = [5]FuncDef{ // or it may be a NULL pointer. If it is not NULL, then all entries in // the sqlite_statN tables associated with the named table are deleted. // If zWhere==0, then code is generated to delete all stat table entries. -func openStatTable(tls *libc.TLS, pParse uintptr, iDb int32, iStatCur int32, zWhere uintptr, zWhereType uintptr) { /* sqlite3.c:111244:13: */ +func openStatTable(tls *libc.TLS, pParse uintptr, iDb int32, iStatCur int32, zWhere uintptr, zWhereType uintptr) { /* sqlite3.c:111257:13: */ bp := tls.Alloc(88) defer tls.Free(88) @@ -90514,7 +90533,7 @@ var aTable = [3]struct { {FzName: ts + 11226 /* "sqlite_stat1" */, FzCols: ts + 11239 /* "tbl,idx,stat" */}, {FzName: ts + 11252 /* "sqlite_stat4" */, FzCols: ts + 11265 /* "tbl,idx,neq,nlt,..." */}, {FzName: ts + 11293 /* "sqlite_stat3" */}, -} /* sqlite3.c:111254:5 */ +} /* sqlite3.c:111267:5 */ // Recommended number of samples for sqlite_stat4 @@ -90540,14 +90559,14 @@ type StatAccum1 = struct { FnMaxEqZero int32 FiGet int32 Fa uintptr -} /* sqlite3.c:111342:9 */ +} /* sqlite3.c:111355:9 */ // Recommended number of samples for sqlite_stat4 // Three SQL functions - stat_init(), stat_push(), and stat_get() - // share an instance of the following structure to hold their state // information. -type StatAccum = StatAccum1 /* sqlite3.c:111342:26 */ +type StatAccum = StatAccum1 /* sqlite3.c:111355:26 */ type StatSample1 = struct { FanEq uintptr FanDLt uintptr @@ -90558,12 +90577,12 @@ type StatSample1 = struct { F__ccgo_pad1 [3]byte FiCol int32 FiHash U32 -} /* sqlite3.c:111342:9 */ +} /* sqlite3.c:111355:9 */ -type StatSample = StatSample1 /* sqlite3.c:111343:27 */ +type StatSample = StatSample1 /* sqlite3.c:111356:27 */ // Reclaim memory used by a StatSample -func sampleClear(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:111384:13: */ +func sampleClear(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:111397:13: */ if (*StatSample)(unsafe.Pointer(p)).FnRowid != 0 { Xsqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(p + 12))) @@ -90572,7 +90591,7 @@ func sampleClear(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:111384:13: } // Initialize the BLOB value of a ROWID -func sampleSetRowid(tls *libc.TLS, db uintptr, p uintptr, n int32, pData uintptr) { /* sqlite3.c:111396:13: */ +func sampleSetRowid(tls *libc.TLS, db uintptr, p uintptr, n int32, pData uintptr) { /* sqlite3.c:111409:13: */ if (*StatSample)(unsafe.Pointer(p)).FnRowid != 0 { Xsqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(p + 12))) @@ -90587,7 +90606,7 @@ func sampleSetRowid(tls *libc.TLS, db uintptr, p uintptr, n int32, pData uintptr } // Initialize the INTEGER value of a ROWID. -func sampleSetRowidInt64(tls *libc.TLS, db uintptr, p uintptr, iRowid I64) { /* sqlite3.c:111412:13: */ +func sampleSetRowidInt64(tls *libc.TLS, db uintptr, p uintptr, iRowid I64) { /* sqlite3.c:111425:13: */ if (*StatSample)(unsafe.Pointer(p)).FnRowid != 0 { Xsqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(p + 12))) @@ -90597,7 +90616,7 @@ func sampleSetRowidInt64(tls *libc.TLS, db uintptr, p uintptr, iRowid I64) { /* } // Copy the contents of object (*pFrom) into (*pTo). -func sampleCopy(tls *libc.TLS, p uintptr, pTo uintptr, pFrom uintptr) { /* sqlite3.c:111425:13: */ +func sampleCopy(tls *libc.TLS, p uintptr, pTo uintptr, pFrom uintptr) { /* sqlite3.c:111438:13: */ (*StatSample)(unsafe.Pointer(pTo)).FisPSample = (*StatSample)(unsafe.Pointer(pFrom)).FisPSample (*StatSample)(unsafe.Pointer(pTo)).FiCol = (*StatSample)(unsafe.Pointer(pFrom)).FiCol (*StatSample)(unsafe.Pointer(pTo)).FiHash = (*StatSample)(unsafe.Pointer(pFrom)).FiHash @@ -90612,7 +90631,7 @@ func sampleCopy(tls *libc.TLS, p uintptr, pTo uintptr, pFrom uintptr) { /* sqlit } // Reclaim all memory of a StatAccum structure. -func statAccumDestructor(tls *libc.TLS, pOld uintptr) { /* sqlite3.c:111443:13: */ +func statAccumDestructor(tls *libc.TLS, pOld uintptr) { /* sqlite3.c:111456:13: */ var p uintptr = pOld if (*StatAccum)(unsafe.Pointer(p)).FmxSample != 0 { var i int32 @@ -90647,7 +90666,7 @@ func statAccumDestructor(tls *libc.TLS, pOld uintptr) { /* sqlite3.c:111443:13: // value is a pointer to the StatAccum object. The datatype of the // return value is BLOB, but it is really just a pointer to the StatAccum // object. -func statInit(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:111478:13: */ +func statInit(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:111491:13: */ var p uintptr var nCol int32 // Number of columns in index being sampled var nKeyCol int32 // Number of key columns @@ -90742,7 +90761,7 @@ var statInitFuncdef = FuncDef{ FnArg: int8(4), // nArg FfuncFlags: U32(SQLITE_UTF8), // pNext FxSFunc: 0, // xValue, xInverse - FzName: ts + 11306} /* sqlite3.c:111564:22 */ + FzName: ts + 11306} /* sqlite3.c:111577:22 */ // pNew and pOld are both candidate non-periodic samples selected for // the same column (pNew->iCol==pOld->iCol). Ignoring this column and @@ -90753,7 +90772,7 @@ var statInitFuncdef = FuncDef{ // // This function assumes that for each argument sample, the contents of // the anEq[] array from pSample->anEq[pSample->iCol+1] onwards are valid. -func sampleIsBetterPost(tls *libc.TLS, pAccum uintptr, pNew uintptr, pOld uintptr) int32 { /* sqlite3.c:111588:12: */ +func sampleIsBetterPost(tls *libc.TLS, pAccum uintptr, pNew uintptr, pOld uintptr) int32 { /* sqlite3.c:111601:12: */ var nCol int32 = (*StatAccum)(unsafe.Pointer(pAccum)).FnCol var i int32 @@ -90775,7 +90794,7 @@ func sampleIsBetterPost(tls *libc.TLS, pAccum uintptr, pNew uintptr, pOld uintpt // // This function assumes that for each argument sample, the contents of // the anEq[] array from pSample->anEq[pSample->iCol] onwards are valid. -func sampleIsBetter(tls *libc.TLS, pAccum uintptr, pNew uintptr, pOld uintptr) int32 { /* sqlite3.c:111612:12: */ +func sampleIsBetter(tls *libc.TLS, pAccum uintptr, pNew uintptr, pOld uintptr) int32 { /* sqlite3.c:111625:12: */ var nEqNew TRowcnt = *(*TRowcnt)(unsafe.Pointer((*StatSample)(unsafe.Pointer(pNew)).FanEq + uintptr((*StatSample)(unsafe.Pointer(pNew)).FiCol)*4)) var nEqOld TRowcnt = *(*TRowcnt)(unsafe.Pointer((*StatSample)(unsafe.Pointer(pOld)).FanEq + uintptr((*StatSample)(unsafe.Pointer(pOld)).FiCol)*4)) @@ -90793,7 +90812,7 @@ func sampleIsBetter(tls *libc.TLS, pAccum uintptr, pNew uintptr, pOld uintptr) i // Copy the contents of sample *pNew into the p->a[] array. If necessary, // remove the least desirable sample from p->a[] to make room. -func sampleInsert(tls *libc.TLS, p uintptr, pNew uintptr, nEqZero int32) { /* sqlite3.c:111635:13: */ +func sampleInsert(tls *libc.TLS, p uintptr, pNew uintptr, nEqZero int32) { /* sqlite3.c:111648:13: */ var pSample uintptr var i int32 var pOld uintptr @@ -90936,7 +90955,7 @@ __11: // p->current contains a sample that reflects the previous row of the // index. The value of anEq[iChng] and subsequent anEq[] elements are // correct at this point. -func samplePushPrevious(tls *libc.TLS, p uintptr, iChng int32) { /* sqlite3.c:111727:13: */ +func samplePushPrevious(tls *libc.TLS, p uintptr, iChng int32) { /* sqlite3.c:111740:13: */ var i int32 // Check if any samples from the aBest[] array should be pushed @@ -90988,7 +91007,7 @@ func samplePushPrevious(tls *libc.TLS, p uintptr, iChng int32) { /* sqlite3.c:11 // if it wants the byte-code to do special processing. // // The R parameter is only used for STAT4 -func statPush(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:111779:13: */ +func statPush(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:111792:13: */ var i int32 // The three function arguments @@ -91060,7 +91079,7 @@ var statPushFuncdef = FuncDef{ FnArg: int8(2 + IsStat4), FfuncFlags: U32(SQLITE_UTF8), // pNext FxSFunc: 0, // xValue, xInverse - FzName: ts + 11316} /* sqlite3.c:111854:22 */ + FzName: ts + 11316} /* sqlite3.c:111867:22 */ // Implementation of the stat_get(P,J) SQL function. This routine is // used to query statistical information that has been gathered into @@ -91079,7 +91098,7 @@ var statPushFuncdef = FuncDef{ // STAT_GET_STAT1 and is hence omitted and this routine becomes // a one-parameter function, stat_get(P), that always returns the // stat1 table entry information. -func statGet(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:111891:13: */ +func statGet(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:111904:13: */ bp := tls.Alloc(72) defer tls.Free(72) @@ -91180,9 +91199,9 @@ var statGetFuncdef = FuncDef{ FnArg: int8(1 + IsStat4), FfuncFlags: U32(SQLITE_UTF8), // pNext FxSFunc: 0, // xValue, xInverse - FzName: ts + 11343} /* sqlite3.c:111988:22 */ + FzName: ts + 11343} /* sqlite3.c:112001:22 */ -func callStatGet(tls *libc.TLS, pParse uintptr, regStat int32, iParam int32, regOut int32) { /* sqlite3.c:112000:13: */ +func callStatGet(tls *libc.TLS, pParse uintptr, regStat int32, iParam int32, regOut int32) { /* sqlite3.c:112013:13: */ Xsqlite3VdbeAddOp2(tls, (*Parse)(unsafe.Pointer(pParse)).FpVdbe, OP_Integer, iParam, regStat+1) Xsqlite3VdbeAddFunctionCall(tls, pParse, 0, regStat, regOut, 1+IsStat4, @@ -91191,7 +91210,7 @@ func callStatGet(tls *libc.TLS, pParse uintptr, regStat int32, iParam int32, reg // Generate code to do an analysis of all indices associated with // a single table. -func analyzeOneTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uintptr, iStatCur int32, iMem int32, iTab int32) { /* sqlite3.c:112041:13: */ +func analyzeOneTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uintptr, iStatCur int32, iMem int32, iTab int32) { /* sqlite3.c:112054:13: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb // Database handle var pIdx uintptr // An index to being analyzed var iIdxCur int32 // Cursor open on index being analyzed @@ -91551,7 +91570,7 @@ func analyzeOneTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uintp // Generate code that will cause the most recent index analysis to // be loaded into internal hash tables where is can be used. -func loadAnalysis(tls *libc.TLS, pParse uintptr, iDb int32) { /* sqlite3.c:112403:13: */ +func loadAnalysis(tls *libc.TLS, pParse uintptr, iDb int32) { /* sqlite3.c:112416:13: */ var v uintptr = Xsqlite3GetVdbe(tls, pParse) if v != 0 { Xsqlite3VdbeAddOp1(tls, v, OP_LoadAnalysis, iDb) @@ -91559,7 +91578,7 @@ func loadAnalysis(tls *libc.TLS, pParse uintptr, iDb int32) { /* sqlite3.c:11240 } // Generate code that will do an analysis of an entire database -func analyzeDatabase(tls *libc.TLS, pParse uintptr, iDb int32) { /* sqlite3.c:112413:13: */ +func analyzeDatabase(tls *libc.TLS, pParse uintptr, iDb int32) { /* sqlite3.c:112426:13: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb var pSchema uintptr = (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*16)).FpSchema // Schema of database iDb var k uintptr @@ -91584,7 +91603,7 @@ func analyzeDatabase(tls *libc.TLS, pParse uintptr, iDb int32) { /* sqlite3.c:11 // Generate code that will do an analysis of a single table in // a database. If pOnlyIdx is not NULL then it is a single index // in pTab that should be analyzed. -func analyzeTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uintptr) { /* sqlite3.c:112440:13: */ +func analyzeTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uintptr) { /* sqlite3.c:112453:13: */ var iDb int32 var iStatCur int32 @@ -91611,7 +91630,7 @@ func analyzeTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uintptr) // Form 1 causes all indices in all attached databases to be analyzed. // Form 2 analyzes all indices the single database named. // Form 3 analyzes all indices associated with the named table. -func Xsqlite3Analyze(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 uintptr) { /* sqlite3.c:112471:21: */ +func Xsqlite3Analyze(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 uintptr) { /* sqlite3.c:112484:21: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -91674,16 +91693,16 @@ func Xsqlite3Analyze(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 uintp type analysisInfo = struct { Fdb uintptr FzDatabase uintptr -} /* sqlite3.c:112523:9 */ +} /* sqlite3.c:112536:9 */ // Used to pass information from the analyzer reader through to the // callback routine. -type AnalysisInfo = analysisInfo /* sqlite3.c:112523:29 */ +type AnalysisInfo = analysisInfo /* sqlite3.c:112536:29 */ // The first argument points to a nul-terminated string containing a // list of space separated integers. Read the first nOut of these into // the array aOut[]. -func decodeIntArray(tls *libc.TLS, zIntArray uintptr, nOut int32, aOut uintptr, aLog uintptr, pIndex uintptr) { /* sqlite3.c:112534:13: */ +func decodeIntArray(tls *libc.TLS, zIntArray uintptr, nOut int32, aOut uintptr, aLog uintptr, pIndex uintptr) { /* sqlite3.c:112547:13: */ var z uintptr = zIntArray var c int32 var i int32 @@ -91742,7 +91761,7 @@ func decodeIntArray(tls *libc.TLS, zIntArray uintptr, nOut int32, aOut uintptr, // // Entries for which argv[1]==NULL simply record the number of rows in // the table. -func analysisLoader(tls *libc.TLS, pData uintptr, argc int32, argv uintptr, NotUsed uintptr) int32 { /* sqlite3.c:112607:12: */ +func analysisLoader(tls *libc.TLS, pData uintptr, argc int32, argv uintptr, NotUsed uintptr) int32 { /* sqlite3.c:112620:12: */ bp := tls.Alloc(92) defer tls.Free(92) @@ -91804,7 +91823,7 @@ func analysisLoader(tls *libc.TLS, pData uintptr, argc int32, argv uintptr, NotU // If the Index.aSample variable is not NULL, delete the aSample[] array // and its contents. -func Xsqlite3DeleteIndexSamples(tls *libc.TLS, db uintptr, pIdx uintptr) { /* sqlite3.c:112670:21: */ +func Xsqlite3DeleteIndexSamples(tls *libc.TLS, db uintptr, pIdx uintptr) { /* sqlite3.c:112683:21: */ if (*Index)(unsafe.Pointer(pIdx)).FaSample != 0 { var j int32 for j = 0; j < (*Index)(unsafe.Pointer(pIdx)).FnSample; j++ { @@ -91821,7 +91840,7 @@ func Xsqlite3DeleteIndexSamples(tls *libc.TLS, db uintptr, pIdx uintptr) { /* sq // Populate the pIdx->aAvgEq[] array based on the samples currently // stored in pIdx->aSample[]. -func initAvgEq(tls *libc.TLS, pIdx uintptr) { /* sqlite3.c:112695:13: */ +func initAvgEq(tls *libc.TLS, pIdx uintptr) { /* sqlite3.c:112708:13: */ if pIdx != 0 { var aSample uintptr = (*Index)(unsafe.Pointer(pIdx)).FaSample var pFinal uintptr = aSample + uintptr((*Index)(unsafe.Pointer(pIdx)).FnSample-1)*20 @@ -91879,7 +91898,7 @@ func initAvgEq(tls *libc.TLS, pIdx uintptr) { /* sqlite3.c:112695:13: */ // Look up an index by name. Or, if the name of a WITHOUT ROWID table // is supplied instead, find the PRIMARY KEY index for that table. -func findIndexOrPrimaryKey(tls *libc.TLS, db uintptr, zName uintptr, zDb uintptr) uintptr { /* sqlite3.c:112754:14: */ +func findIndexOrPrimaryKey(tls *libc.TLS, db uintptr, zName uintptr, zDb uintptr) uintptr { /* sqlite3.c:112767:14: */ var pIdx uintptr = Xsqlite3FindIndex(tls, db, zName, zDb) if pIdx == uintptr(0) { var pTab uintptr = Xsqlite3FindTable(tls, db, zName, zDb) @@ -91900,7 +91919,7 @@ func findIndexOrPrimaryKey(tls *libc.TLS, db uintptr, zName uintptr, zDb uintptr // zSql2: SELECT idx,neq,nlt,ndlt,sample FROM %Q.sqlite_stat4 // // where %Q is replaced with the database name before the SQL is executed. -func loadStatTbl(tls *libc.TLS, db uintptr, zSql1 uintptr, zSql2 uintptr, zDb uintptr) int32 { /* sqlite3.c:112779:12: */ +func loadStatTbl(tls *libc.TLS, db uintptr, zSql1 uintptr, zSql2 uintptr, zDb uintptr) int32 { /* sqlite3.c:112792:12: */ bp := tls.Alloc(20) defer tls.Free(20) @@ -92036,7 +92055,7 @@ func loadStatTbl(tls *libc.TLS, db uintptr, zSql1 uintptr, zSql2 uintptr, zDb ui // Load content from the sqlite_stat4 table into // the Index.aSample[] arrays of all indices. -func loadStat4(tls *libc.TLS, db uintptr, zDb uintptr) int32 { /* sqlite3.c:112900:12: */ +func loadStat4(tls *libc.TLS, db uintptr, zDb uintptr) int32 { /* sqlite3.c:112913:12: */ var rc int32 = SQLITE_OK // Result codes from subroutines var pStat4 uintptr @@ -92068,7 +92087,7 @@ func loadStat4(tls *libc.TLS, db uintptr, zDb uintptr) int32 { /* sqlite3.c:1129 // If an OOM error occurs, this function always sets db->mallocFailed. // This means if the caller does not care about other errors, the return // code may be ignored. -func Xsqlite3AnalysisLoad(tls *libc.TLS, db uintptr, iDb int32) int32 { /* sqlite3.c:112938:20: */ +func Xsqlite3AnalysisLoad(tls *libc.TLS, db uintptr, iDb int32) int32 { /* sqlite3.c:112951:20: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -92175,7 +92194,7 @@ func Xsqlite3AnalysisLoad(tls *libc.TLS, db uintptr, iDb int32) int32 { /* sqlit // ATTACH DATABASE abc||def AS 'db2' // // will fail because neither abc or def can be resolved. -func resolveAttachExpr(tls *libc.TLS, pName uintptr, pExpr uintptr) int32 { /* sqlite3.c:113046:12: */ +func resolveAttachExpr(tls *libc.TLS, pName uintptr, pExpr uintptr) int32 { /* sqlite3.c:113059:12: */ var rc int32 = SQLITE_OK if pExpr != 0 { if int32((*Expr)(unsafe.Pointer(pExpr)).Fop) != TK_ID { @@ -92189,7 +92208,7 @@ func resolveAttachExpr(tls *libc.TLS, pName uintptr, pExpr uintptr) int32 { /* s // Return true if zName points to a name that may be used to refer to // database iDb attached to handle db. -func Xsqlite3DbIsNamed(tls *libc.TLS, db uintptr, iDb int32, zName uintptr) int32 { /* sqlite3.c:113063:20: */ +func Xsqlite3DbIsNamed(tls *libc.TLS, db uintptr, iDb int32, zName uintptr) int32 { /* sqlite3.c:113076:20: */ return libc.Bool32(Xsqlite3StrICmp(tls, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(iDb)*16)).FzDbSName, zName) == 0 || iDb == 0 && Xsqlite3StrICmp(tls, ts+6325, zName) == 0) } @@ -92207,7 +92226,7 @@ func Xsqlite3DbIsNamed(tls *libc.TLS, db uintptr, iDb int32, zName uintptr) int3 // If the db->init.reopenMemdb flags is set, then instead of attaching a // new database, close the database on db->init.iDb and reopen it as an // empty MemDB. -func attachFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { /* sqlite3.c:113085:13: */ +func attachFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { /* sqlite3.c:113098:13: */ bp := tls.Alloc(44) defer tls.Free(44) @@ -92500,7 +92519,7 @@ __34: // DETACH DATABASE x // // SELECT sqlite_detach(x) -func detachFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { /* sqlite3.c:113278:13: */ +func detachFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { /* sqlite3.c:113291:13: */ bp := tls.Alloc(152) defer tls.Free(152) @@ -92605,7 +92624,7 @@ detach_error: // This procedure generates VDBE code for a single invocation of either the // sqlite_detach() or sqlite_attach() SQL user functions. -func codeAttach(tls *libc.TLS, pParse uintptr, type1 int32, pFunc uintptr, pAuthArg uintptr, pFilename uintptr, pDbname uintptr, pKey uintptr) { /* sqlite3.c:113340:13: */ +func codeAttach(tls *libc.TLS, pParse uintptr, type1 int32, pFunc uintptr, pAuthArg uintptr, pFilename uintptr, pDbname uintptr, pKey uintptr) { /* sqlite3.c:113353:13: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -92684,7 +92703,7 @@ attach_end: // Called by the parser to compile a DETACH statement. // // DETACH pDbname -func Xsqlite3Detach(tls *libc.TLS, pParse uintptr, pDbname uintptr) { /* sqlite3.c:113412:21: */ +func Xsqlite3Detach(tls *libc.TLS, pParse uintptr, pDbname uintptr) { /* sqlite3.c:113425:21: */ codeAttach(tls, pParse, SQLITE_DETACH, uintptr(unsafe.Pointer(&detach_func)), pDbname, uintptr(0), uintptr(0), pDbname) } @@ -92692,12 +92711,12 @@ var detach_func = FuncDef{ FnArg: int8(1), // nArg FfuncFlags: U32(SQLITE_UTF8), // pNext FxSFunc: 0, // xValue, xInverse - FzName: ts + 11818} /* sqlite3.c:113413:24 */ + FzName: ts + 11818} /* sqlite3.c:113426:24 */ // Called by the parser to compile an ATTACH statement. // // ATTACH p AS pDbname KEY pKey -func Xsqlite3Attach(tls *libc.TLS, pParse uintptr, p uintptr, pDbname uintptr, pKey uintptr) { /* sqlite3.c:113432:21: */ +func Xsqlite3Attach(tls *libc.TLS, pParse uintptr, p uintptr, pDbname uintptr, pKey uintptr) { /* sqlite3.c:113445:21: */ codeAttach(tls, pParse, SQLITE_ATTACH, uintptr(unsafe.Pointer(&attach_func)), p, p, pDbname, pKey) } @@ -92705,10 +92724,10 @@ var attach_func = FuncDef{ FnArg: int8(3), // nArg FfuncFlags: U32(SQLITE_UTF8), // pNext FxSFunc: 0, // xValue, xInverse - FzName: ts + 11832} /* sqlite3.c:113433:24 */ + FzName: ts + 11832} /* sqlite3.c:113446:24 */ // Expression callback used by sqlite3FixAAAA() routines. -func fixExprCb(tls *libc.TLS, p uintptr, pExpr uintptr) int32 { /* sqlite3.c:113451:12: */ +func fixExprCb(tls *libc.TLS, p uintptr, pExpr uintptr) int32 { /* sqlite3.c:113464:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -92728,7 +92747,7 @@ func fixExprCb(tls *libc.TLS, p uintptr, pExpr uintptr) int32 { /* sqlite3.c:113 } // Select callback used by sqlite3FixAAAA() routines. -func fixSelectCb(tls *libc.TLS, p uintptr, pSelect uintptr) int32 { /* sqlite3.c:113468:12: */ +func fixSelectCb(tls *libc.TLS, p uintptr, pSelect uintptr) int32 { /* sqlite3.c:113481:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -92789,7 +92808,7 @@ __3: // Initialize a DbFixer structure. This routine must be called prior // to passing the structure to one of the sqliteFixAAAA() routines below. -func Xsqlite3FixInit(tls *libc.TLS, pFix uintptr, pParse uintptr, iDb int32, zType uintptr, pName uintptr) { /* sqlite3.c:113511:21: */ +func Xsqlite3FixInit(tls *libc.TLS, pFix uintptr, pParse uintptr, iDb int32, zType uintptr, pName uintptr) { /* sqlite3.c:113524:21: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb (*DbFixer)(unsafe.Pointer(pFix)).FpParse = pParse @@ -92825,7 +92844,7 @@ func Xsqlite3FixInit(tls *libc.TLS, pFix uintptr, pParse uintptr, iDb int32, zTy // to an object in a different database, an error message is added to // pParse->zErrMsg and these routines return non-zero. If everything // checks out, these routines return 0. -func Xsqlite3FixSrcList(tls *libc.TLS, pFix uintptr, pList uintptr) int32 { /* sqlite3.c:113549:20: */ +func Xsqlite3FixSrcList(tls *libc.TLS, pFix uintptr, pList uintptr) int32 { /* sqlite3.c:113562:20: */ bp := tls.Alloc(76) defer tls.Free(76) @@ -92840,15 +92859,15 @@ func Xsqlite3FixSrcList(tls *libc.TLS, pFix uintptr, pList uintptr) int32 { /* s return res } -func Xsqlite3FixSelect(tls *libc.TLS, pFix uintptr, pSelect uintptr) int32 { /* sqlite3.c:113563:20: */ +func Xsqlite3FixSelect(tls *libc.TLS, pFix uintptr, pSelect uintptr) int32 { /* sqlite3.c:113576:20: */ return Xsqlite3WalkSelect(tls, pFix+4, pSelect) } -func Xsqlite3FixExpr(tls *libc.TLS, pFix uintptr, pExpr uintptr) int32 { /* sqlite3.c:113569:20: */ +func Xsqlite3FixExpr(tls *libc.TLS, pFix uintptr, pExpr uintptr) int32 { /* sqlite3.c:113582:20: */ return Xsqlite3WalkExpr(tls, pFix+4, pExpr) } -func Xsqlite3FixTriggerStep(tls *libc.TLS, pFix uintptr, pStep uintptr) int32 { /* sqlite3.c:113578:20: */ +func Xsqlite3FixTriggerStep(tls *libc.TLS, pFix uintptr, pStep uintptr) int32 { /* sqlite3.c:113591:20: */ for pStep != 0 { if Xsqlite3WalkSelect(tls, pFix+4, (*TriggerStep)(unsafe.Pointer(pStep)).FpSelect) != 0 || Xsqlite3WalkExpr(tls, pFix+4, (*TriggerStep)(unsafe.Pointer(pStep)).FpWhere) != 0 || @@ -92938,7 +92957,7 @@ func Xsqlite3FixTriggerStep(tls *libc.TLS, pFix uintptr, pStep uintptr) 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) int32 { /* sqlite3.c:113682:16: */ +func Xsqlite3_set_authorizer(tls *libc.TLS, db uintptr, xAuth uintptr, pArg uintptr) int32 { /* sqlite3.c:113695:16: */ Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) (*Sqlite3)(unsafe.Pointer(db)).FxAuth = xAuth (*Sqlite3)(unsafe.Pointer(db)).FpAuthArg = pArg @@ -92951,7 +92970,7 @@ func Xsqlite3_set_authorizer(tls *libc.TLS, db uintptr, xAuth uintptr, pArg uint // Write an error message into pParse->zErrMsg that explains that the // user-supplied authorization function returned an illegal value. -func sqliteAuthBadReturnCode(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:113702:13: */ +func sqliteAuthBadReturnCode(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:113715:13: */ Xsqlite3ErrorMsg(tls, pParse, ts+11916, 0) (*Parse)(unsafe.Pointer(pParse)).Frc = SQLITE_ERROR } @@ -92963,7 +92982,7 @@ func sqliteAuthBadReturnCode(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:11370 // If SQLITE_IGNORE is returned and pExpr is not NULL, then pExpr is changed // to an SQL NULL expression. Otherwise, if pExpr is NULL, then SQLITE_IGNORE // is treated as SQLITE_DENY. In this case an error is left in pParse. -func Xsqlite3AuthReadCol(tls *libc.TLS, pParse uintptr, zTab uintptr, zCol uintptr, iDb int32) int32 { /* sqlite3.c:113716:20: */ +func Xsqlite3AuthReadCol(tls *libc.TLS, pParse uintptr, zTab uintptr, zCol uintptr, iDb int32) int32 { /* sqlite3.c:113729:20: */ bp := tls.Alloc(40) defer tls.Free(40) @@ -92997,7 +93016,7 @@ func Xsqlite3AuthReadCol(tls *libc.TLS, pParse uintptr, zTab uintptr, zCol uintp // If the auth function returns SQLITE_IGNORE, change the TK_COLUMN // instruction into a TK_NULL. If the auth function returns SQLITE_DENY, // then generate an error. -func Xsqlite3AuthRead(tls *libc.TLS, pParse uintptr, pExpr uintptr, pSchema uintptr, pTabList uintptr) { /* sqlite3.c:113752:21: */ +func Xsqlite3AuthRead(tls *libc.TLS, pParse uintptr, pExpr uintptr, pSchema uintptr, pTabList uintptr) { /* sqlite3.c:113765:21: */ var pTab uintptr = uintptr(0) // The table being read var zCol uintptr // Name of the column of the table var iSrc int32 // Index in pTabList->a[] of table being read @@ -93046,7 +93065,7 @@ func Xsqlite3AuthRead(tls *libc.TLS, pParse uintptr, pExpr uintptr, pSchema uint // either SQLITE_OK (zero) or SQLITE_IGNORE or SQLITE_DENY. If SQLITE_DENY // is returned, then the error count and error message in pParse are // modified appropriately. -func Xsqlite3AuthCheck(tls *libc.TLS, pParse uintptr, code int32, zArg1 uintptr, zArg2 uintptr, zArg3 uintptr) int32 { /* sqlite3.c:113809:20: */ +func Xsqlite3AuthCheck(tls *libc.TLS, pParse uintptr, code int32, zArg1 uintptr, zArg2 uintptr, zArg3 uintptr) int32 { /* sqlite3.c:113822:20: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb var rc int32 @@ -93080,7 +93099,7 @@ func Xsqlite3AuthCheck(tls *libc.TLS, pParse uintptr, code int32, zArg1 uintptr, // Push an authorization context. After this routine is called, the // zArg3 argument to authorization callbacks will be zContext until // popped. Or if pParse==0, this routine is a no-op. -func Xsqlite3AuthContextPush(tls *libc.TLS, pParse uintptr, pContext uintptr, zContext uintptr) { /* sqlite3.c:113858:21: */ +func Xsqlite3AuthContextPush(tls *libc.TLS, pParse uintptr, pContext uintptr, zContext uintptr) { /* sqlite3.c:113871:21: */ (*AuthContext)(unsafe.Pointer(pContext)).FpParse = pParse (*AuthContext)(unsafe.Pointer(pContext)).FzAuthContext = (*Parse)(unsafe.Pointer(pParse)).FzAuthContext @@ -93089,7 +93108,7 @@ func Xsqlite3AuthContextPush(tls *libc.TLS, pParse uintptr, pContext uintptr, zC // Pop an authorization context that was previously pushed // by sqlite3AuthContextPush -func Xsqlite3AuthContextPop(tls *libc.TLS, pContext uintptr) { /* sqlite3.c:113873:21: */ +func Xsqlite3AuthContextPop(tls *libc.TLS, pContext uintptr) { /* sqlite3.c:113886:21: */ if (*AuthContext)(unsafe.Pointer(pContext)).FpParse != 0 { (*Parse)(unsafe.Pointer((*AuthContext)(unsafe.Pointer(pContext)).FpParse)).FzAuthContext = (*AuthContext)(unsafe.Pointer(pContext)).FzAuthContext (*AuthContext)(unsafe.Pointer(pContext)).FpParse = uintptr(0) @@ -93104,7 +93123,7 @@ func Xsqlite3AuthContextPop(tls *libc.TLS, pContext uintptr) { /* sqlite3.c:1138 // This routine just records the fact that the lock is desired. The // code to make the lock occur is generated by a later call to // codeTableLocks() which occurs during sqlite3FinishCoding(). -func lockTable(tls *libc.TLS, pParse uintptr, iDb int32, iTab Pgno, isWriteLock U8, zName uintptr) { /* sqlite3.c:113932:29: */ +func lockTable(tls *libc.TLS, pParse uintptr, iDb int32, iTab Pgno, isWriteLock U8, zName uintptr) { /* sqlite3.c:113945:29: */ var pToplevel uintptr var i int32 var nBytes int32 @@ -93138,7 +93157,7 @@ func lockTable(tls *libc.TLS, pParse uintptr, iDb int32, iTab Pgno, isWriteLock } } -func Xsqlite3TableLock(tls *libc.TLS, pParse uintptr, iDb int32, iTab Pgno, isWriteLock U8, zName uintptr) { /* sqlite3.c:113968:21: */ +func Xsqlite3TableLock(tls *libc.TLS, pParse uintptr, iDb int32, iTab Pgno, isWriteLock U8, zName uintptr) { /* sqlite3.c:113981:21: */ if iDb == 1 { return } @@ -93150,7 +93169,7 @@ func Xsqlite3TableLock(tls *libc.TLS, pParse uintptr, iDb int32, iTab Pgno, isWr // Code an OP_TableLock instruction for each table locked by the // statement (configured by calls to sqlite3TableLock()). -func codeTableLocks(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:113984:13: */ +func codeTableLocks(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:113997:13: */ var i int32 var pVdbe uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe @@ -93174,7 +93193,7 @@ func codeTableLocks(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:113984:13: */ // // Note that if an error occurred, it might be the case that // no VDBE code was generated. -func Xsqlite3FinishCoding(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:114023:21: */ +func Xsqlite3FinishCoding(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:114036:21: */ var db uintptr var v uintptr @@ -93327,7 +93346,7 @@ func Xsqlite3FinishCoding(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:114023:2 // * Built-in SQL functions always take precedence over application-defined // SQL functions. In other words, it is not possible to override a // built-in function. -func Xsqlite3NestedParse(tls *libc.TLS, pParse uintptr, zFormat uintptr, va uintptr) { /* sqlite3.c:114194:21: */ +func Xsqlite3NestedParse(tls *libc.TLS, pParse uintptr, zFormat uintptr, va uintptr) { /* sqlite3.c:114207:21: */ bp := tls.Alloc(76) defer tls.Free(76) @@ -93378,7 +93397,7 @@ func Xsqlite3NestedParse(tls *libc.TLS, pParse uintptr, zFormat uintptr, va uint // auxiliary databases added using the ATTACH command. // // See also sqlite3LocateTable(). -func Xsqlite3FindTable(tls *libc.TLS, db uintptr, zName uintptr, zDatabase uintptr) uintptr { /* sqlite3.c:114249:22: */ +func Xsqlite3FindTable(tls *libc.TLS, db uintptr, zName uintptr, zDatabase uintptr) uintptr { /* sqlite3.c:114262:22: */ var p uintptr = uintptr(0) var i int32 @@ -93454,7 +93473,7 @@ func Xsqlite3FindTable(tls *libc.TLS, db uintptr, zName uintptr, zDatabase uintp // The difference between this routine and sqlite3FindTable() is that this // routine leaves an error message in pParse->zErrMsg where // sqlite3FindTable() does not. -func Xsqlite3LocateTable(tls *libc.TLS, pParse uintptr, flags U32, zName uintptr, zDbase uintptr) uintptr { /* sqlite3.c:114327:22: */ +func Xsqlite3LocateTable(tls *libc.TLS, pParse uintptr, flags U32, zName uintptr, zDbase uintptr) uintptr { /* sqlite3.c:114340:22: */ bp := tls.Alloc(40) defer tls.Free(40) @@ -93517,7 +93536,7 @@ func Xsqlite3LocateTable(tls *libc.TLS, pParse uintptr, flags U32, zName uintptr // the search to schema (p->pSchema) if it is not NULL. p->pSchema may be // non-NULL if it is part of a view or trigger program definition. See // sqlite3FixSrcList() for details. -func Xsqlite3LocateTableItem(tls *libc.TLS, pParse uintptr, flags U32, p uintptr) uintptr { /* sqlite3.c:114390:22: */ +func Xsqlite3LocateTableItem(tls *libc.TLS, pParse uintptr, flags U32, p uintptr) uintptr { /* sqlite3.c:114403:22: */ var zDb uintptr if (*SrcItem)(unsafe.Pointer(p)).FpSchema != 0 { @@ -93531,7 +93550,7 @@ func Xsqlite3LocateTableItem(tls *libc.TLS, pParse uintptr, flags U32, p uintptr // Return the preferred table name for system tables. Translate legacy // names into the new preferred names, as appropriate. -func Xsqlite3PreferredTableName(tls *libc.TLS, zName uintptr) uintptr { /* sqlite3.c:114410:27: */ +func Xsqlite3PreferredTableName(tls *libc.TLS, zName uintptr) uintptr { /* sqlite3.c:114423:27: */ if Xsqlite3_strnicmp(tls, zName, ts+8012, 7) == 0 { if Xsqlite3StrICmp(tls, zName+uintptr(7), ts+5837+7) == 0 { return ts + 12012 /* "sqlite_schema" */ @@ -93553,7 +93572,7 @@ func Xsqlite3PreferredTableName(tls *libc.TLS, zName uintptr) uintptr { /* sqlit // for duplicate index names is done.) The search order is // TEMP first, then MAIN, then any auxiliary databases added // using the ATTACH command. -func Xsqlite3FindIndex(tls *libc.TLS, db uintptr, zName uintptr, zDb uintptr) uintptr { /* sqlite3.c:114434:22: */ +func Xsqlite3FindIndex(tls *libc.TLS, db uintptr, zName uintptr, zDb uintptr) uintptr { /* sqlite3.c:114447:22: */ var p uintptr = uintptr(0) var i int32 // All mutexes are required for schema access. Make sure we hold them. @@ -93580,7 +93599,7 @@ func Xsqlite3FindIndex(tls *libc.TLS, db uintptr, zName uintptr, zDb uintptr) ui } // Reclaim the memory used by an index -func Xsqlite3FreeIndex(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:114454:21: */ +func Xsqlite3FreeIndex(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:114467:21: */ Xsqlite3DeleteIndexSamples(tls, db, p) Xsqlite3ExprDelete(tls, db, (*Index)(unsafe.Pointer(p)).FpPartIdxWhere) Xsqlite3ExprListDelete(tls, db, (*Index)(unsafe.Pointer(p)).FaColExpr) @@ -93596,7 +93615,7 @@ func Xsqlite3FreeIndex(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:1144 // unlike that index from its Table then remove the index from // the index hash table and free all memory structures associated // with the index. -func Xsqlite3UnlinkAndDeleteIndex(tls *libc.TLS, db uintptr, iDb int32, zIdxName uintptr) { /* sqlite3.c:114474:21: */ +func Xsqlite3UnlinkAndDeleteIndex(tls *libc.TLS, db uintptr, iDb int32, zIdxName uintptr) { /* sqlite3.c:114487:21: */ var pIndex uintptr var pHash uintptr @@ -93628,7 +93647,7 @@ func Xsqlite3UnlinkAndDeleteIndex(tls *libc.TLS, db uintptr, iDb int32, zIdxName // // Entry 0 (the "main" database) and entry 1 (the "temp" database) // are never candidates for being collapsed. -func Xsqlite3CollapseDatabaseArray(tls *libc.TLS, db uintptr) { /* sqlite3.c:114507:21: */ +func Xsqlite3CollapseDatabaseArray(tls *libc.TLS, db uintptr) { /* sqlite3.c:114520:21: */ var i int32 var j int32 for i = libc.AssignInt32(&j, 2); i < (*Sqlite3)(unsafe.Pointer(db)).FnDb; i++ { @@ -93654,7 +93673,7 @@ func Xsqlite3CollapseDatabaseArray(tls *libc.TLS, db uintptr) { /* sqlite3.c:114 // Reset the schema for the database at index iDb. Also reset the // TEMP schema. The reset is deferred if db->nSchemaLock is not zero. // Deferred resets may be run by calling with iDb<0. -func Xsqlite3ResetOneSchema(tls *libc.TLS, db uintptr, iDb int32) { /* sqlite3.c:114534:21: */ +func Xsqlite3ResetOneSchema(tls *libc.TLS, db uintptr, iDb int32) { /* sqlite3.c:114547:21: */ var i int32 if iDb >= 0 { @@ -93675,7 +93694,7 @@ func Xsqlite3ResetOneSchema(tls *libc.TLS, db uintptr, iDb int32) { /* sqlite3.c // Erase all schema information from all attached databases (including // "main" and "temp") for a single database connection. -func Xsqlite3ResetAllSchemasOfConnection(tls *libc.TLS, db uintptr) { /* sqlite3.c:114558:21: */ +func Xsqlite3ResetAllSchemasOfConnection(tls *libc.TLS, db uintptr) { /* sqlite3.c:114571:21: */ var i int32 Xsqlite3BtreeEnterAll(tls, db) for i = 0; i < (*Sqlite3)(unsafe.Pointer(db)).FnDb; i++ { @@ -93697,14 +93716,14 @@ func Xsqlite3ResetAllSchemasOfConnection(tls *libc.TLS, db uintptr) { /* sqlite3 } // This routine is called when a commit occurs. -func Xsqlite3CommitInternalChanges(tls *libc.TLS, db uintptr) { /* sqlite3.c:114582:21: */ +func Xsqlite3CommitInternalChanges(tls *libc.TLS, db uintptr) { /* sqlite3.c:114595:21: */ *(*U32)(unsafe.Pointer(db + 24)) &= libc.Uint32FromInt32(libc.CplInt32(DBFLAG_SchemaChange)) } // Set the expression associated with a column. This is usually // the DEFAULT value, but might also be the expression that computes // the value for a generated column. -func Xsqlite3ColumnSetExpr(tls *libc.TLS, pParse uintptr, pTab uintptr, pCol uintptr, pExpr uintptr) { /* sqlite3.c:114591:21: */ +func Xsqlite3ColumnSetExpr(tls *libc.TLS, pParse uintptr, pTab uintptr, pCol uintptr, pExpr uintptr) { /* sqlite3.c:114604:21: */ var pList uintptr pList = *(*uintptr)(unsafe.Pointer(pTab + 44 + 8 /* &.pDfltList */)) @@ -93727,7 +93746,7 @@ func Xsqlite3ColumnSetExpr(tls *libc.TLS, pParse uintptr, pTab uintptr, pCol uin // Return the expression associated with a column. The expression might be // the DEFAULT clause or the AS clause of a generated column. // Return NULL if the column has no associated expression. -func Xsqlite3ColumnExpr(tls *libc.TLS, pTab uintptr, pCol uintptr) uintptr { /* sqlite3.c:114617:21: */ +func Xsqlite3ColumnExpr(tls *libc.TLS, pTab uintptr, pCol uintptr) uintptr { /* sqlite3.c:114630:21: */ if int32((*Column)(unsafe.Pointer(pCol)).FiDflt) == 0 { return uintptr(0) } @@ -93744,7 +93763,7 @@ func Xsqlite3ColumnExpr(tls *libc.TLS, pTab uintptr, pCol uintptr) uintptr { /* } // Set the collating sequence name for a column. -func Xsqlite3ColumnSetColl(tls *libc.TLS, db uintptr, pCol uintptr, zColl uintptr) { /* sqlite3.c:114628:21: */ +func Xsqlite3ColumnSetColl(tls *libc.TLS, db uintptr, pCol uintptr, zColl uintptr) { /* sqlite3.c:114641:21: */ var nColl I64 var n I64 var zNew uintptr @@ -93763,7 +93782,7 @@ func Xsqlite3ColumnSetColl(tls *libc.TLS, db uintptr, pCol uintptr, zColl uintpt } // Return the collating squence name for a column -func Xsqlite3ColumnColl(tls *libc.TLS, pCol uintptr) uintptr { /* sqlite3.c:114653:27: */ +func Xsqlite3ColumnColl(tls *libc.TLS, pCol uintptr) uintptr { /* sqlite3.c:114666:27: */ var z uintptr if int32((*Column)(unsafe.Pointer(pCol)).FcolFlags)&COLFLAG_HASCOLL == 0 { return uintptr(0) @@ -93782,7 +93801,7 @@ func Xsqlite3ColumnColl(tls *libc.TLS, pCol uintptr) uintptr { /* sqlite3.c:1146 // Delete memory allocated for the column names of a table or view (the // Table.aCol[] array). -func Xsqlite3DeleteColumnNames(tls *libc.TLS, db uintptr, pTable uintptr) { /* sqlite3.c:114668:21: */ +func Xsqlite3DeleteColumnNames(tls *libc.TLS, db uintptr, pTable uintptr) { /* sqlite3.c:114681:21: */ var i int32 var pCol uintptr @@ -93832,7 +93851,7 @@ func Xsqlite3DeleteColumnNames(tls *libc.TLS, db uintptr, pTable uintptr) { /* s // lookaside memory, but some ephemeral Table objects do.) Or the // db parameter can be used with db->pnBytesFreed to measure the memory // used by the Table object. -func deleteTable(tls *libc.TLS, db uintptr, pTable uintptr) { /* sqlite3.c:114706:29: */ +func deleteTable(tls *libc.TLS, db uintptr, pTable uintptr) { /* sqlite3.c:114719:29: */ var pIndex uintptr var pNext uintptr @@ -93869,7 +93888,7 @@ func deleteTable(tls *libc.TLS, db uintptr, pTable uintptr) { /* sqlite3.c:11470 } -func Xsqlite3DeleteTable(tls *libc.TLS, db uintptr, pTable uintptr) { /* sqlite3.c:114763:21: */ +func Xsqlite3DeleteTable(tls *libc.TLS, db uintptr, pTable uintptr) { /* sqlite3.c:114776:21: */ // Do not delete the table until the reference count reaches zero. if !(pTable != 0) { return @@ -93882,7 +93901,7 @@ func Xsqlite3DeleteTable(tls *libc.TLS, db uintptr, pTable uintptr) { /* sqlite3 // Unlink the given table from the hash tables and the delete the // table structure with all its indices and foreign keys. -func Xsqlite3UnlinkAndDeleteTable(tls *libc.TLS, db uintptr, iDb int32, zTabName uintptr) { /* sqlite3.c:114775:21: */ +func Xsqlite3UnlinkAndDeleteTable(tls *libc.TLS, db uintptr, iDb int32, zTabName uintptr) { /* sqlite3.c:114788:21: */ var p uintptr var pDb uintptr @@ -93904,7 +93923,7 @@ func Xsqlite3UnlinkAndDeleteTable(tls *libc.TLS, db uintptr, iDb int32, zTabName // Tokens are often just pointers into the original SQL text and so // are not \000 terminated and are not persistent. The returned string // is \000 terminated and is persistent. -func Xsqlite3NameFromToken(tls *libc.TLS, db uintptr, pName uintptr) uintptr { /* sqlite3.c:114803:21: */ +func Xsqlite3NameFromToken(tls *libc.TLS, db uintptr, pName uintptr) uintptr { /* sqlite3.c:114816:21: */ var zName uintptr if pName != 0 { zName = Xsqlite3DbStrNDup(tls, db, (*Token)(unsafe.Pointer(pName)).Fz, uint64((*Token)(unsafe.Pointer(pName)).Fn)) @@ -93917,7 +93936,7 @@ func Xsqlite3NameFromToken(tls *libc.TLS, db uintptr, pName uintptr) uintptr { / // Open the sqlite_schema table stored in database number iDb for // writing. The table is opened using cursor 0. -func Xsqlite3OpenSchemaTable(tls *libc.TLS, p uintptr, iDb int32) { /* sqlite3.c:114818:21: */ +func Xsqlite3OpenSchemaTable(tls *libc.TLS, p uintptr, iDb int32) { /* sqlite3.c:114831:21: */ var v uintptr = Xsqlite3GetVdbe(tls, p) Xsqlite3TableLock(tls, p, iDb, uint32(SCHEMA_ROOT), uint8(1), ts+5837) Xsqlite3VdbeAddOp4Int(tls, v, OP_OpenWrite, 0, SCHEMA_ROOT, iDb, 5) @@ -93930,7 +93949,7 @@ func Xsqlite3OpenSchemaTable(tls *libc.TLS, p uintptr, iDb int32) { /* sqlite3.c // of a database ("main", "temp" or the name of an attached db). This // function returns the index of the named database in db->aDb[], or // -1 if the named db cannot be found. -func Xsqlite3FindDbName(tls *libc.TLS, db uintptr, zName uintptr) int32 { /* sqlite3.c:114833:20: */ +func Xsqlite3FindDbName(tls *libc.TLS, db uintptr, zName uintptr) int32 { /* sqlite3.c:114846:20: */ var i int32 = -1 // Database number if zName != 0 { var pDb uintptr @@ -93966,7 +93985,7 @@ func Xsqlite3FindDbName(tls *libc.TLS, db uintptr, zName uintptr) int32 { /* sql // "temp" or the name of an attached db). This routine returns the // index of the named database in db->aDb[], or -1 if the named db // does not exist. -func Xsqlite3FindDb(tls *libc.TLS, db uintptr, pName uintptr) int32 { /* sqlite3.c:114853:20: */ +func Xsqlite3FindDb(tls *libc.TLS, db uintptr, pName uintptr) int32 { /* sqlite3.c:114866:20: */ var i int32 // Database number var zName uintptr // Name we are searching for zName = Xsqlite3NameFromToken(tls, db, pName) @@ -93990,7 +94009,7 @@ func Xsqlite3FindDb(tls *libc.TLS, db uintptr, pName uintptr) int32 { /* sqlite3 // This routine sets the *ppUnqual pointer to point at the token (pName1 or // pName2) that stores the unqualified table name. The index of the // database "xxx" is returned. -func Xsqlite3TwoPartName(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 uintptr, pUnqual uintptr) int32 { /* sqlite3.c:114878:20: */ +func Xsqlite3TwoPartName(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 uintptr, pUnqual uintptr) int32 { /* sqlite3.c:114891:20: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -94017,7 +94036,7 @@ func Xsqlite3TwoPartName(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 u } // True if PRAGMA writable_schema is ON -func Xsqlite3WritableSchema(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:114911:20: */ +func Xsqlite3WritableSchema(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:114924:20: */ return libc.Bool32((*Sqlite3)(unsafe.Pointer(db)).Fflags&uint64(SQLITE_WriteSchema|SQLITE_Defensive) == uint64(SQLITE_WriteSchema)) } @@ -94031,7 +94050,7 @@ func Xsqlite3WritableSchema(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:1149 // When parsing the sqlite_schema table, this routine also checks to // make sure the "type", "name", and "tbl_name" columns are consistent // with the SQL. -func Xsqlite3CheckObjectName(tls *libc.TLS, pParse uintptr, zName uintptr, zType uintptr, zTblName uintptr) int32 { /* sqlite3.c:114933:20: */ +func Xsqlite3CheckObjectName(tls *libc.TLS, pParse uintptr, zName uintptr, zType uintptr, zTblName uintptr) int32 { /* sqlite3.c:114946:20: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -94062,7 +94081,7 @@ func Xsqlite3CheckObjectName(tls *libc.TLS, pParse uintptr, zName uintptr, zType } // Return the PRIMARY KEY index of a table -func Xsqlite3PrimaryKeyIndex(tls *libc.TLS, pTab uintptr) uintptr { /* sqlite3.c:114971:22: */ +func Xsqlite3PrimaryKeyIndex(tls *libc.TLS, pTab uintptr) uintptr { /* sqlite3.c:114984:22: */ var p uintptr for p = (*Table)(unsafe.Pointer(pTab)).FpIndex; p != 0 && !(int32(*(*uint16)(unsafe.Pointer(p + 56 /* &.idxType */))&0x3>>0) == SQLITE_IDXTYPE_PRIMARYKEY); p = (*Index)(unsafe.Pointer(p)).FpNext { } @@ -94073,7 +94092,7 @@ func Xsqlite3PrimaryKeyIndex(tls *libc.TLS, pTab uintptr) uintptr { /* sqlite3.c // for the column iCol in the table (as defined by the CREATE TABLE statement) // find the (first) offset of that column in index pIdx. Or return -1 // if column iCol is not used in index pIdx. -func Xsqlite3TableColumnToIndex(tls *libc.TLS, pIdx uintptr, iCol I16) I16 { /* sqlite3.c:114983:20: */ +func Xsqlite3TableColumnToIndex(tls *libc.TLS, pIdx uintptr, iCol I16) I16 { /* sqlite3.c:114996:20: */ var i int32 for i = 0; i < int32((*Index)(unsafe.Pointer(pIdx)).FnColumn); i++ { if int32(iCol) == int32(*(*I16)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FaiColumn + uintptr(i)*2))) { @@ -94093,7 +94112,7 @@ func Xsqlite3TableColumnToIndex(tls *libc.TLS, pIdx uintptr, iCol I16) I16 { /* // and only there are VIRTUAL columns to the left. // // If SQLITE_OMIT_GENERATED_COLUMNS, this routine is a no-op macro. -func Xsqlite3StorageColumnToTable(tls *libc.TLS, pTab uintptr, iCol I16) I16 { /* sqlite3.c:115003:20: */ +func Xsqlite3StorageColumnToTable(tls *libc.TLS, pTab uintptr, iCol I16) I16 { /* sqlite3.c:115016:20: */ if (*Table)(unsafe.Pointer(pTab)).FtabFlags&U32(TF_HasVirtual) != 0 { var i int32 for i = 0; i <= int32(iCol); i++ { @@ -94140,7 +94159,7 @@ func Xsqlite3StorageColumnToTable(tls *libc.TLS, pTab uintptr, iCol I16) I16 { / // this routine is a no-op macro. If the pTab does not have any virtual // columns, then this routine is no-op that always return iCol. If iCol // is negative (indicating the ROWID column) then this routine return iCol. -func Xsqlite3TableColumnToStorage(tls *libc.TLS, pTab uintptr, iCol I16) I16 { /* sqlite3.c:115051:20: */ +func Xsqlite3TableColumnToStorage(tls *libc.TLS, pTab uintptr, iCol I16) I16 { /* sqlite3.c:115064:20: */ var i int32 var n I16 @@ -94170,7 +94189,7 @@ func Xsqlite3TableColumnToStorage(tls *libc.TLS, pTab uintptr, iCol I16) I16 { / // exists, so that the prepared statement for CREATE TABLE IF NOT EXISTS // will return false for sqlite3_stmt_readonly() even if that statement // is a read-only no-op. -func sqlite3ForceNotReadOnly(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:115077:13: */ +func sqlite3ForceNotReadOnly(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:115090:13: */ var iReg int32 = libc.PreIncInt32(&(*Parse)(unsafe.Pointer(pParse)).FnMem, 1) var v uintptr = Xsqlite3GetVdbe(tls, pParse) if v != 0 { @@ -94193,7 +94212,7 @@ func sqlite3ForceNotReadOnly(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:11507 // routines will be called to add more information to this record. // At the end of the CREATE TABLE statement, the sqlite3EndTable() routine // is called to complete the construction of the new table record. -func Xsqlite3StartTable(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 uintptr, isTemp int32, isView int32, isVirtual int32, noErr int32) { /* sqlite3.c:115102:21: */ +func Xsqlite3StartTable(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 uintptr, isTemp int32, isView int32, isVirtual int32, noErr int32) { /* sqlite3.c:115115:21: */ bp := tls.Alloc(28) defer tls.Free(28) @@ -94451,8 +94470,8 @@ var aCode = [4]U8{ U8(SQLITE_CREATE_TEMP_TABLE), U8(SQLITE_CREATE_VIEW), U8(SQLITE_CREATE_TEMP_VIEW), -} /* sqlite3.c:115149:21 */ -var nullRow = [6]int8{int8(6), int8(0), int8(0), int8(0), int8(0), int8(0)} /* sqlite3.c:115228:23 */ +} /* sqlite3.c:115162:21 */ +var nullRow = [6]int8{int8(6), int8(0), int8(0), int8(0), int8(0), int8(0)} /* sqlite3.c:115241:23 */ // Set properties of a table column based on the (magical) // name of the column. @@ -94462,7 +94481,7 @@ var nullRow = [6]int8{int8(6), int8(0), int8(0), int8(0), int8(0), int8(0)} /* s // with any application-generated triggers. // Clean up the data structures associated with the RETURNING clause. -func sqlite3DeleteReturning(tls *libc.TLS, db uintptr, pRet uintptr) { /* sqlite3.c:115313:13: */ +func sqlite3DeleteReturning(tls *libc.TLS, db uintptr, pRet uintptr) { /* sqlite3.c:115326:13: */ var pHash uintptr pHash = (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+1*16)).FpSchema + 40 Xsqlite3HashInsert(tls, pHash, ts+12256, uintptr(0)) @@ -94484,7 +94503,7 @@ func sqlite3DeleteReturning(tls *libc.TLS, db uintptr, pRet uintptr) { /* sqlite // is attached to a DELETE, INSERT, or UPDATE, so construct it as a // RETURNING trigger instead. It will then be converted into the appropriate // type on the first call to sqlite3TriggersExist(). -func Xsqlite3AddReturning(tls *libc.TLS, pParse uintptr, pList uintptr) { /* sqlite3.c:115337:21: */ +func Xsqlite3AddReturning(tls *libc.TLS, pParse uintptr, pList uintptr) { /* sqlite3.c:115350:21: */ var pRet uintptr var pHash uintptr var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb @@ -94534,7 +94553,7 @@ func Xsqlite3AddReturning(tls *libc.TLS, pParse uintptr, pList uintptr) { /* sql // in a CREATE TABLE statement. sqlite3StartTable() gets called // first to get things going. Then this routine is called for each // column. -func Xsqlite3AddColumn(tls *libc.TLS, pParse uintptr, sName Token, sType Token) { /* sqlite3.c:115385:21: */ +func Xsqlite3AddColumn(tls *libc.TLS, pParse uintptr, sName Token, sType Token) { /* sqlite3.c:115398:21: */ bp := tls.Alloc(32) defer tls.Free(32) *(*Token)(unsafe.Pointer(bp + 16)) = sName @@ -94653,7 +94672,7 @@ func Xsqlite3AddColumn(tls *libc.TLS, pParse uintptr, sName Token, sType Token) // parsing a CREATE TABLE statement. A "NOT NULL" constraint has // been seen on a column. This routine sets the notNull flag on // the column currently under construction. -func Xsqlite3AddNotNull(tls *libc.TLS, pParse uintptr, onError int32) { /* sqlite3.c:115498:21: */ +func Xsqlite3AddNotNull(tls *libc.TLS, pParse uintptr, onError int32) { /* sqlite3.c:115511:21: */ var p uintptr var pCol uintptr p = (*Parse)(unsafe.Pointer(pParse)).FpNewTable @@ -94700,7 +94719,7 @@ func Xsqlite3AddNotNull(tls *libc.TLS, pParse uintptr, onError int32) { /* sqlit // // If none of the substrings in the above table are found, // SQLITE_AFF_NUMERIC is returned. -func Xsqlite3AffinityType(tls *libc.TLS, zIn uintptr, pCol uintptr) int8 { /* sqlite3.c:115545:21: */ +func Xsqlite3AffinityType(tls *libc.TLS, zIn uintptr, pCol uintptr) int8 { /* sqlite3.c:115558:21: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -94774,7 +94793,7 @@ func Xsqlite3AffinityType(tls *libc.TLS, zIn uintptr, pCol uintptr) int8 { /* sq // // This routine is called by the parser while in the middle of // parsing a CREATE TABLE statement. -func Xsqlite3AddDefaultValue(tls *libc.TLS, pParse uintptr, pExpr uintptr, zStart uintptr, zEnd uintptr) { /* sqlite3.c:115622:21: */ +func Xsqlite3AddDefaultValue(tls *libc.TLS, pParse uintptr, pExpr uintptr, zStart uintptr, zEnd uintptr) { /* sqlite3.c:115635:21: */ bp := tls.Alloc(60) defer tls.Free(60) @@ -94827,7 +94846,7 @@ func Xsqlite3AddDefaultValue(tls *libc.TLS, pParse uintptr, pExpr uintptr, zStar // if the expression is just a TK_STRING with an optional COLLATE clause. // If the expression is anything other than TK_STRING, the expression is // unchanged. -func sqlite3StringToId(tls *libc.TLS, p uintptr) { /* sqlite3.c:115681:13: */ +func sqlite3StringToId(tls *libc.TLS, p uintptr) { /* sqlite3.c:115694:13: */ if int32((*Expr)(unsafe.Pointer(p)).Fop) == TK_STRING { (*Expr)(unsafe.Pointer(p)).Fop = U8(TK_ID) } else if int32((*Expr)(unsafe.Pointer(p)).Fop) == TK_COLLATE && int32((*Expr)(unsafe.Pointer((*Expr)(unsafe.Pointer(p)).FpLeft)).Fop) == TK_STRING { @@ -94836,7 +94855,7 @@ func sqlite3StringToId(tls *libc.TLS, p uintptr) { /* sqlite3.c:115681:13: */ } // Tag the given column as being part of the PRIMARY KEY -func makeColumnPartOfPrimaryKey(tls *libc.TLS, pParse uintptr, pCol uintptr) { /* sqlite3.c:115692:13: */ +func makeColumnPartOfPrimaryKey(tls *libc.TLS, pParse uintptr, pCol uintptr) { /* sqlite3.c:115705:13: */ *(*U16)(unsafe.Pointer(pCol + 12)) |= U16(COLFLAG_PRIMKEY) if int32((*Column)(unsafe.Pointer(pCol)).FcolFlags)&COLFLAG_GENERATED != 0 { @@ -94861,7 +94880,7 @@ func makeColumnPartOfPrimaryKey(tls *libc.TLS, pParse uintptr, pCol uintptr) { / // // If the key is not an INTEGER PRIMARY KEY, then create a unique // index for the key. No index is created for INTEGER PRIMARY KEYs. -func Xsqlite3AddPrimaryKey(tls *libc.TLS, pParse uintptr, pList uintptr, onError int32, autoInc int32, sortOrder int32) { /* sqlite3.c:115722:21: */ +func Xsqlite3AddPrimaryKey(tls *libc.TLS, pParse uintptr, pList uintptr, onError int32, autoInc int32, sortOrder int32) { /* sqlite3.c:115735:21: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -94992,7 +95011,7 @@ primary_key_exit: } // Add a new CHECK constraint to the table currently under construction. -func Xsqlite3AddCheckConstraint(tls *libc.TLS, pParse uintptr, pCheckExpr uintptr, zStart uintptr, zEnd uintptr) { /* sqlite3.c:115799:21: */ +func Xsqlite3AddCheckConstraint(tls *libc.TLS, pParse uintptr, pCheckExpr uintptr, zStart uintptr, zEnd uintptr) { /* sqlite3.c:115812:21: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -95022,7 +95041,7 @@ func Xsqlite3AddCheckConstraint(tls *libc.TLS, pParse uintptr, pCheckExpr uintpt // Set the collation function of the most recently parsed table column // to the CollSeq given. -func Xsqlite3AddCollateType(tls *libc.TLS, pParse uintptr, pToken uintptr) { /* sqlite3.c:115833:21: */ +func Xsqlite3AddCollateType(tls *libc.TLS, pParse uintptr, pToken uintptr) { /* sqlite3.c:115846:21: */ var p uintptr var i int32 var zColl uintptr // Dequoted name of collation sequence @@ -95057,7 +95076,7 @@ func Xsqlite3AddCollateType(tls *libc.TLS, pParse uintptr, pToken uintptr) { /* // Change the most recently parsed column to be a GENERATED ALWAYS AS // column. -func Xsqlite3AddGenerated(tls *libc.TLS, pParse uintptr, pExpr uintptr, pType uintptr) { /* sqlite3.c:115866:21: */ +func Xsqlite3AddGenerated(tls *libc.TLS, pParse uintptr, pExpr uintptr, pType uintptr) { /* sqlite3.c:115879:21: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -95152,7 +95171,7 @@ generated_done: // // IMPLEMENTATION-OF: R-34230-56049 SQLite automatically increments // the schema-version whenever the schema changes. -func Xsqlite3ChangeCookie(tls *libc.TLS, pParse uintptr, iDb int32) { /* sqlite3.c:115934:21: */ +func Xsqlite3ChangeCookie(tls *libc.TLS, pParse uintptr, iDb int32) { /* sqlite3.c:115947:21: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe @@ -95166,7 +95185,7 @@ func Xsqlite3ChangeCookie(tls *libc.TLS, pParse uintptr, iDb int32) { /* sqlite3 // // The estimate is conservative. It might be larger that what is // really needed. -func identLength(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:115950:12: */ +func identLength(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:115963:12: */ var n int32 n = 0 __1: @@ -95201,7 +95220,7 @@ __3: // characters, does not begin with a digit and is not an SQL keyword, // then it is copied to the output buffer exactly as it is. Otherwise, // it is quoted using double-quotes. -func identPut(tls *libc.TLS, z uintptr, pIdx uintptr, zSignedIdent uintptr) { /* sqlite3.c:115971:13: */ +func identPut(tls *libc.TLS, z uintptr, pIdx uintptr, zSignedIdent uintptr) { /* sqlite3.c:115984:13: */ var zIdent uintptr = zSignedIdent var i int32 var j int32 @@ -95237,7 +95256,7 @@ func identPut(tls *libc.TLS, z uintptr, pIdx uintptr, zSignedIdent uintptr) { /* // Generate a CREATE TABLE statement appropriate for the given // table. Memory to hold the text of the statement is obtained // from sqliteMalloc() and must be freed by the calling function. -func createTableStmt(tls *libc.TLS, db uintptr, p uintptr) uintptr { /* sqlite3.c:115999:13: */ +func createTableStmt(tls *libc.TLS, db uintptr, p uintptr) uintptr { /* sqlite3.c:116012:13: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -95329,11 +95348,11 @@ var azType1 = [5]uintptr{ ts + 12731, ts + 12736, ts + 12741, -} /* sqlite3.c:116029:23 */ +} /* sqlite3.c:116042:23 */ // Resize an Index object to hold N columns total. Return SQLITE_OK // on success and SQLITE_NOMEM on an OOM error. -func resizeIndexObject(tls *libc.TLS, db uintptr, pIdx uintptr, N int32) int32 { /* sqlite3.c:116067:12: */ +func resizeIndexObject(tls *libc.TLS, db uintptr, pIdx uintptr, N int32) int32 { /* sqlite3.c:116080:12: */ var zExtra uintptr var nByte int32 if int32((*Index)(unsafe.Pointer(pIdx)).FnColumn) >= N { @@ -95362,7 +95381,7 @@ func resizeIndexObject(tls *libc.TLS, db uintptr, pIdx uintptr, N int32) int32 { } // Estimate the total row width for a table. -func estimateTableWidth(tls *libc.TLS, pTab uintptr) { /* sqlite3.c:116094:13: */ +func estimateTableWidth(tls *libc.TLS, pTab uintptr) { /* sqlite3.c:116107:13: */ var wTable uint32 = uint32(0) var pTabCol uintptr var i int32 @@ -95391,7 +95410,7 @@ __3: } // Estimate the average size of a row for an index. -func estimateIndexWidth(tls *libc.TLS, pIdx uintptr) { /* sqlite3.c:116108:13: */ +func estimateIndexWidth(tls *libc.TLS, pIdx uintptr) { /* sqlite3.c:116121:13: */ var wIndex uint32 = uint32(0) var i int32 var aCol uintptr = (*Table)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FpTable)).FaCol @@ -95411,7 +95430,7 @@ func estimateIndexWidth(tls *libc.TLS, pIdx uintptr) { /* sqlite3.c:116108:13: * // Return true if column number x is any of the first nCol entries of aiCol[]. // This is used to determine if the column number x appears in any of the // first nCol entries of an index. -func hasColumn(tls *libc.TLS, aiCol uintptr, nCol int32, x int32) int32 { /* sqlite3.c:116124:12: */ +func hasColumn(tls *libc.TLS, aiCol uintptr, nCol int32, x int32) int32 { /* sqlite3.c:116137:12: */ for libc.PostDecInt32(&nCol, 1) > 0 { if x == int32(*(*I16)(unsafe.Pointer(libc.PostIncUintptr(&aiCol, 2)))) { return 1 @@ -95431,7 +95450,7 @@ func hasColumn(tls *libc.TLS, aiCol uintptr, nCol int32, x int32) int32 { /* sql // This routine differs from hasColumn() in that both the column and the // collating sequence must match for this routine, but for hasColumn() only // the column name must match. -func isDupColumn(tls *libc.TLS, pIdx uintptr, nKey int32, pPk uintptr, iCol int32) int32 { /* sqlite3.c:116146:12: */ +func isDupColumn(tls *libc.TLS, pIdx uintptr, nKey int32, pPk uintptr, iCol int32) int32 { /* sqlite3.c:116159:12: */ var i int32 var j int32 @@ -95464,7 +95483,7 @@ func isDupColumn(tls *libc.TLS, pIdx uintptr, nKey int32, pPk uintptr, iCol int3 // // The colNotIdxed mask is AND-ed with the SrcList.a[].colUsed mask // to determine if the index is covering index. -func recomputeColumnsNotIndexed(tls *libc.TLS, pIdx uintptr) { /* sqlite3.c:116185:13: */ +func recomputeColumnsNotIndexed(tls *libc.TLS, pIdx uintptr) { /* sqlite3.c:116198:13: */ var m Bitmask = uint64(0) var j int32 var pTab uintptr = (*Index)(unsafe.Pointer(pIdx)).FpTable @@ -95503,7 +95522,7 @@ func recomputeColumnsNotIndexed(tls *libc.TLS, pIdx uintptr) { /* sqlite3.c:1161 // indices with the PRIMARY KEY columns. // // For virtual tables, only (1) is performed. -func convertToWithoutRowidTable(tls *libc.TLS, pParse uintptr, pTab uintptr) { /* sqlite3.c:116225:13: */ +func convertToWithoutRowidTable(tls *libc.TLS, pParse uintptr, pTab uintptr) { /* sqlite3.c:116238:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -95666,7 +95685,7 @@ func convertToWithoutRowidTable(tls *libc.TLS, pParse uintptr, pTab uintptr) { / // Return true if pTab is a virtual table and zName is a shadow table name // for that virtual table. -func Xsqlite3IsShadowTableOf(tls *libc.TLS, db uintptr, pTab uintptr, zName uintptr) int32 { /* sqlite3.c:116385:20: */ +func Xsqlite3IsShadowTableOf(tls *libc.TLS, db uintptr, pTab uintptr, zName uintptr) int32 { /* sqlite3.c:116398:20: */ var nName int32 // Length of zName var pMod uintptr // Module for the virtual table @@ -95699,7 +95718,7 @@ func Xsqlite3IsShadowTableOf(tls *libc.TLS, db uintptr, pTab uintptr, zName uint // exists and has an xShadowName method, then loop over all other ordinary // tables within the same schema looking for shadow tables of pTab, and mark // any shadow tables seen using the TF_Shadow flag. -func Xsqlite3MarkAllShadowTablesOf(tls *libc.TLS, db uintptr, pTab uintptr) { /* sqlite3.c:116408:21: */ +func Xsqlite3MarkAllShadowTablesOf(tls *libc.TLS, db uintptr, pTab uintptr) { /* sqlite3.c:116421:21: */ var nName int32 // Length of pTab->zName var pMod uintptr // Module for the virtual table var k uintptr // For looping through the symbol table @@ -95743,7 +95762,7 @@ func Xsqlite3MarkAllShadowTablesOf(tls *libc.TLS, db uintptr, pTab uintptr) { /* // // zName is temporarily modified while this routine is running, but is // restored to its original value prior to this routine returning. -func Xsqlite3ShadowTableName(tls *libc.TLS, db uintptr, zName uintptr) int32 { /* sqlite3.c:116444:20: */ +func Xsqlite3ShadowTableName(tls *libc.TLS, db uintptr, zName uintptr) int32 { /* sqlite3.c:116457:20: */ var zTail uintptr // Pointer to the last "_" in zName var pTab uintptr // Table that zName is a shadow of zTail = libc.Xstrrchr(tls, zName, '_') @@ -95780,7 +95799,7 @@ func Xsqlite3ShadowTableName(tls *libc.TLS, db uintptr, zName uintptr) int32 { / // was called to create a table generated from a // "CREATE TABLE ... AS SELECT ..." statement. The column names of // the new table will match the result set of the SELECT. -func Xsqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr, tabOpts U32, pSelect uintptr) { /* sqlite3.c:116505:21: */ +func Xsqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr, tabOpts U32, pSelect uintptr) { /* sqlite3.c:116518:21: */ bp := tls.Alloc(172) defer tls.Free(172) @@ -96101,7 +96120,7 @@ func Xsqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr } // The parser calls this routine in order to create a new VIEW -func Xsqlite3CreateView(tls *libc.TLS, pParse uintptr, pBegin uintptr, pName1 uintptr, pName2 uintptr, pCNames uintptr, pSelect uintptr, isTemp int32, noErr int32) { /* sqlite3.c:116847:21: */ +func Xsqlite3CreateView(tls *libc.TLS, pParse uintptr, pBegin uintptr, pName1 uintptr, pName2 uintptr, pCNames uintptr, pSelect uintptr, isTemp int32, noErr int32) { /* sqlite3.c:116860:21: */ bp := tls.Alloc(64) defer tls.Free(64) @@ -96219,7 +96238,7 @@ __10: // The Table structure pTable is really a VIEW. Fill in the names of // the columns of the view in the pTable structure. Return the number // of errors. If an error is seen leave an error message in pParse->zErrMsg. -func Xsqlite3ViewGetColumnNames(tls *libc.TLS, pParse uintptr, pTable uintptr) int32 { /* sqlite3.c:116939:20: */ +func Xsqlite3ViewGetColumnNames(tls *libc.TLS, pParse uintptr, pTable uintptr) int32 { /* sqlite3.c:116952:20: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -96334,7 +96353,7 @@ func Xsqlite3ViewGetColumnNames(tls *libc.TLS, pParse uintptr, pTable uintptr) i } // Clear the column names from every VIEW in database idx. -func sqliteViewResetAll(tls *libc.TLS, db uintptr, idx int32) { /* sqlite3.c:117067:13: */ +func sqliteViewResetAll(tls *libc.TLS, db uintptr, idx int32) { /* sqlite3.c:117080:13: */ var i uintptr if !(int32((*Schema)(unsafe.Pointer((*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(idx)*16)).FpSchema)).FschemaFlags)&DB_UnresetViews == DB_UnresetViews) { @@ -96364,7 +96383,7 @@ func sqliteViewResetAll(tls *libc.TLS, db uintptr, idx int32) { /* sqlite3.c:117 // We must continue looping until all tables and indices with // rootpage==iFrom have been converted to have a rootpage of iTo // in order to be certain that we got the right one. -func Xsqlite3RootPageMoved(tls *libc.TLS, db uintptr, iDb int32, iFrom Pgno, iTo Pgno) { /* sqlite3.c:117101:21: */ +func Xsqlite3RootPageMoved(tls *libc.TLS, db uintptr, iDb int32, iFrom Pgno, iTo Pgno) { /* sqlite3.c:117114:21: */ var pElem uintptr var pHash uintptr var pDb uintptr @@ -96390,7 +96409,7 @@ func Xsqlite3RootPageMoved(tls *libc.TLS, db uintptr, iDb int32, iFrom Pgno, iTo // Also write code to modify the sqlite_schema table and internal schema // if a root-page of another table is moved by the btree-layer whilst // erasing iTable (this can happen with an auto-vacuum database). -func destroyRootPage(tls *libc.TLS, pParse uintptr, iTable int32, iDb int32) { /* sqlite3.c:117131:13: */ +func destroyRootPage(tls *libc.TLS, pParse uintptr, iTable int32, iDb int32) { /* sqlite3.c:117144:13: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -96420,7 +96439,7 @@ func destroyRootPage(tls *libc.TLS, pParse uintptr, iTable int32, iDb int32) { / // Code to update the sqlite_schema tables and internal schema definitions // in case a root-page belonging to another table is moved by the btree layer // is also added (this can happen with an auto-vacuum database). -func destroyTable(tls *libc.TLS, pParse uintptr, pTab uintptr) { /* sqlite3.c:117161:13: */ +func destroyTable(tls *libc.TLS, pParse uintptr, pTab uintptr) { /* sqlite3.c:117174:13: */ // If the database may be auto-vacuum capable (if SQLITE_OMIT_AUTOVACUUM // is not defined), then it is important to call OP_Destroy on the // table and index root-pages in order, starting with the numerically @@ -96466,7 +96485,7 @@ func destroyTable(tls *libc.TLS, pParse uintptr, pTab uintptr) { /* sqlite3.c:11 // Remove entries from the sqlite_statN tables (for N in (1,2,3)) // after a DROP INDEX or DROP TABLE command. -func sqlite3ClearStatTables(tls *libc.TLS, pParse uintptr, iDb int32, zType uintptr, zName uintptr) { /* sqlite3.c:117210:13: */ +func sqlite3ClearStatTables(tls *libc.TLS, pParse uintptr, iDb int32, zType uintptr, zName uintptr) { /* sqlite3.c:117223:13: */ bp := tls.Alloc(64) defer tls.Free(64) @@ -96485,7 +96504,7 @@ func sqlite3ClearStatTables(tls *libc.TLS, pParse uintptr, iDb int32, zType uint } // Generate code to drop a table. -func Xsqlite3CodeDropTable(tls *libc.TLS, pParse uintptr, pTab uintptr, iDb int32, isView int32) { /* sqlite3.c:117233:21: */ +func Xsqlite3CodeDropTable(tls *libc.TLS, pParse uintptr, pTab uintptr, iDb int32, isView int32) { /* sqlite3.c:117246:21: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -96549,7 +96568,7 @@ func Xsqlite3CodeDropTable(tls *libc.TLS, pParse uintptr, pTab uintptr, iDb int3 // Return TRUE if shadow tables should be read-only in the current // context. -func Xsqlite3ReadOnlyShadowTables(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:117306:20: */ +func Xsqlite3ReadOnlyShadowTables(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:117319:20: */ if (*Sqlite3)(unsafe.Pointer(db)).Fflags&uint64(SQLITE_Defensive) != uint64(0) && (*Sqlite3)(unsafe.Pointer(db)).FpVtabCtx == uintptr(0) && (*Sqlite3)(unsafe.Pointer(db)).FnVdbeExec == 0 && @@ -96560,7 +96579,7 @@ func Xsqlite3ReadOnlyShadowTables(tls *libc.TLS, db uintptr) int32 { /* sqlite3. } // Return true if it is not allowed to drop the given table -func tableMayNotBeDropped(tls *libc.TLS, db uintptr, pTab uintptr) int32 { /* sqlite3.c:117322:12: */ +func tableMayNotBeDropped(tls *libc.TLS, db uintptr, pTab uintptr) int32 { /* sqlite3.c:117335:12: */ if Xsqlite3_strnicmp(tls, (*Table)(unsafe.Pointer(pTab)).FzName, ts+8012, 7) == 0 { if Xsqlite3_strnicmp(tls, (*Table)(unsafe.Pointer(pTab)).FzName+uintptr(7), ts+3230, 4) == 0 { return 0 @@ -96581,7 +96600,7 @@ func tableMayNotBeDropped(tls *libc.TLS, db uintptr, pTab uintptr) int32 { /* sq // This routine is called to do the work of a DROP TABLE statement. // pName is the name of the table to be dropped. -func Xsqlite3DropTable(tls *libc.TLS, pParse uintptr, pName uintptr, isView int32, noErr int32) { /* sqlite3.c:117341:21: */ +func Xsqlite3DropTable(tls *libc.TLS, pParse uintptr, pName uintptr, isView int32, noErr int32) { /* sqlite3.c:117354:21: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -96769,7 +96788,7 @@ exit_drop_table: // // The foreign key is set for IMMEDIATE processing. A subsequent call // to sqlite3DeferForeignKey() might change this to DEFERRED. -func Xsqlite3CreateForeignKey(tls *libc.TLS, pParse uintptr, pFromCol uintptr, pTo uintptr, pToCol uintptr, flags int32) { /* sqlite3.c:117461:21: */ +func Xsqlite3CreateForeignKey(tls *libc.TLS, pParse uintptr, pFromCol uintptr, pTo uintptr, pToCol uintptr, flags int32) { /* sqlite3.c:117474:21: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -96992,7 +97011,7 @@ fk_end: // parameter is 1 for INITIALLY DEFERRED and 0 for INITIALLY IMMEDIATE. // The behavior of the most recently created foreign key is adjusted // accordingly. -func Xsqlite3DeferForeignKey(tls *libc.TLS, pParse uintptr, isDeferred int32) { /* sqlite3.c:117593:21: */ +func Xsqlite3DeferForeignKey(tls *libc.TLS, pParse uintptr, isDeferred int32) { /* sqlite3.c:117606:21: */ var pTab uintptr var pFKey uintptr if libc.AssignUintptr(&pTab, (*Parse)(unsafe.Pointer(pParse)).FpNewTable) == uintptr(0) { @@ -97017,7 +97036,7 @@ func Xsqlite3DeferForeignKey(tls *libc.TLS, pParse uintptr, isDeferred int32) { // root page number of the index. If memRootPage is negative, then // the index already exists and must be cleared before being refilled and // the root page number of the index is taken from pIndex->tnum. -func sqlite3RefillIndex(tls *libc.TLS, pParse uintptr, pIndex uintptr, memRootPage int32) { /* sqlite3.c:117616:13: */ +func sqlite3RefillIndex(tls *libc.TLS, pParse uintptr, pIndex uintptr, memRootPage int32) { /* sqlite3.c:117629:13: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -97129,7 +97148,7 @@ func sqlite3RefillIndex(tls *libc.TLS, pParse uintptr, pIndex uintptr, memRootPa // Increase the allocation size to provide an extra nExtra bytes // of 8-byte aligned space after the Index object and return a // pointer to this extra space in *ppExtra. -func Xsqlite3AllocateIndexObject(tls *libc.TLS, db uintptr, nCol I16, nExtra int32, ppExtra uintptr) uintptr { /* sqlite3.c:117722:22: */ +func Xsqlite3AllocateIndexObject(tls *libc.TLS, db uintptr, nCol I16, nExtra int32, ppExtra uintptr) uintptr { /* sqlite3.c:117735:22: */ var p uintptr // Allocated index object var nByte int32 // Bytes of space for Index object + arrays @@ -97154,7 +97173,7 @@ func Xsqlite3AllocateIndexObject(tls *libc.TLS, db uintptr, nCol I16, nExtra int // If expression list pList contains an expression that was parsed with // an explicit "NULLS FIRST" or "NULLS LAST" clause, leave an error in // pParse and return non-zero. Otherwise, return zero. -func Xsqlite3HasExplicitNulls(tls *libc.TLS, pParse uintptr, pList uintptr) int32 { /* sqlite3.c:117755:20: */ +func Xsqlite3HasExplicitNulls(tls *libc.TLS, pParse uintptr, pList uintptr) int32 { /* sqlite3.c:117768:20: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -97187,7 +97206,7 @@ func Xsqlite3HasExplicitNulls(tls *libc.TLS, pParse uintptr, pList uintptr) int3 // pList is a list of columns to be indexed. pList will be NULL if this // is a primary key or unique-constraint on the most recent column added // to the table currently under construction. -func Xsqlite3CreateIndex(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 uintptr, pTblName uintptr, pList uintptr, onError int32, pStart uintptr, pPIWhere uintptr, sortOrder int32, ifNotExist int32, idxType U8) { /* sqlite3.c:117783:21: */ +func Xsqlite3CreateIndex(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 uintptr, pTblName uintptr, pList uintptr, onError int32, pStart uintptr, pPIWhere uintptr, sortOrder int32, ifNotExist int32, idxType U8) { /* sqlite3.c:117796:21: */ bp := tls.Alloc(196) defer tls.Free(196) @@ -97957,7 +97976,7 @@ __81: goto __101 } Xsqlite3ErrorMsg(tls, pParse, ts+14070, 0) - (*Parse)(unsafe.Pointer(pParse)).Frc = Xsqlite3CorruptError(tls, 118239) + (*Parse)(unsafe.Pointer(pParse)).Frc = Xsqlite3CorruptError(tls, 118252) goto exit_create_index __101: ; @@ -98143,7 +98162,7 @@ __113: // Apart from that, we have little to go on besides intuition as to // how aiRowEst[] should be initialized. The numbers generated here // are based on typical values found in actual indices. -func Xsqlite3DefaultRowEst(tls *libc.TLS, pIdx uintptr) { /* sqlite3.c:118394:21: */ +func Xsqlite3DefaultRowEst(tls *libc.TLS, pIdx uintptr) { /* sqlite3.c:118407:21: */ var a uintptr = (*Index)(unsafe.Pointer(pIdx)).FaiRowLogEst var x LogEst var nCopy int32 = func() int32 { @@ -98187,11 +98206,11 @@ func Xsqlite3DefaultRowEst(tls *libc.TLS, pIdx uintptr) { /* sqlite3.c:118394:21 } } -var aVal = [5]LogEst{int16(33), int16(32), int16(30), int16(28), int16(26)} /* sqlite3.c:118396:23 */ +var aVal = [5]LogEst{int16(33), int16(32), int16(30), int16(28), int16(26)} /* sqlite3.c:118409:23 */ // This routine will drop an existing named index. This routine // implements the DROP INDEX statement. -func Xsqlite3DropIndex(tls *libc.TLS, pParse uintptr, pName uintptr, ifExists int32) { /* sqlite3.c:118438:21: */ +func Xsqlite3DropIndex(tls *libc.TLS, pParse uintptr, pName uintptr, ifExists int32) { /* sqlite3.c:118451:21: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -98310,7 +98329,7 @@ exit_drop_index: // // Otherwise, if the realloc() fails, *pIdx is set to -1, *pnEntry remains // unchanged and a copy of pArray returned. -func Xsqlite3ArrayAllocate(tls *libc.TLS, db uintptr, pArray uintptr, szEntry int32, pnEntry uintptr, pIdx uintptr) uintptr { /* sqlite3.c:118520:21: */ +func Xsqlite3ArrayAllocate(tls *libc.TLS, db uintptr, pArray uintptr, szEntry int32, pnEntry uintptr, pIdx uintptr) uintptr { /* sqlite3.c:118533:21: */ var z uintptr var n Sqlite3_int64 = Sqlite3_int64(libc.AssignPtrInt32(pIdx, *(*int32)(unsafe.Pointer(pnEntry)))) if n&(n-int64(1)) == int64(0) { @@ -98337,7 +98356,7 @@ func Xsqlite3ArrayAllocate(tls *libc.TLS, db uintptr, pArray uintptr, szEntry in // need be. // // A new IdList is returned, or NULL if malloc() fails. -func Xsqlite3IdListAppend(tls *libc.TLS, pParse uintptr, pList uintptr, pToken uintptr) uintptr { /* sqlite3.c:118550:23: */ +func Xsqlite3IdListAppend(tls *libc.TLS, pParse uintptr, pList uintptr, pToken uintptr) uintptr { /* sqlite3.c:118563:23: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -98368,7 +98387,7 @@ func Xsqlite3IdListAppend(tls *libc.TLS, pParse uintptr, pList uintptr, pToken u } // Delete an IdList. -func Xsqlite3IdListDelete(tls *libc.TLS, db uintptr, pList uintptr) { /* sqlite3.c:118578:21: */ +func Xsqlite3IdListDelete(tls *libc.TLS, db uintptr, pList uintptr) { /* sqlite3.c:118591:21: */ var i int32 if pList == uintptr(0) { return @@ -98382,7 +98401,7 @@ func Xsqlite3IdListDelete(tls *libc.TLS, db uintptr, pList uintptr) { /* sqlite3 // Return the index in pList of the identifier named zId. Return -1 // if not found. -func Xsqlite3IdListIndex(tls *libc.TLS, pList uintptr, zName uintptr) int32 { /* sqlite3.c:118592:20: */ +func Xsqlite3IdListIndex(tls *libc.TLS, pList uintptr, zName uintptr) int32 { /* sqlite3.c:118605:20: */ var i int32 if pList == uintptr(0) { return -1 @@ -98420,7 +98439,7 @@ func Xsqlite3IdListIndex(tls *libc.TLS, pList uintptr, zName uintptr) int32 { /* // If a memory allocation fails or the SrcList becomes too large, leave // the original SrcList unchanged, return NULL, and leave an error message // in pParse. -func Xsqlite3SrcListEnlarge(tls *libc.TLS, pParse uintptr, pSrc uintptr, nExtra int32, iStart int32) uintptr { /* sqlite3.c:118633:24: */ +func Xsqlite3SrcListEnlarge(tls *libc.TLS, pParse uintptr, pSrc uintptr, nExtra int32, iStart int32) uintptr { /* sqlite3.c:118646:24: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -98502,7 +98521,7 @@ func Xsqlite3SrcListEnlarge(tls *libc.TLS, pParse uintptr, pSrc uintptr, nExtra // // Both pTable and pDatabase are assumed to be quoted. They are dequoted // before being added to the SrcList. -func Xsqlite3SrcListAppend(tls *libc.TLS, pParse uintptr, pList uintptr, pTable uintptr, pDatabase uintptr) uintptr { /* sqlite3.c:118722:24: */ +func Xsqlite3SrcListAppend(tls *libc.TLS, pParse uintptr, pList uintptr, pTable uintptr, pDatabase uintptr) uintptr { /* sqlite3.c:118735:24: */ var pItem uintptr var db uintptr // Cannot have C without B @@ -98541,7 +98560,7 @@ func Xsqlite3SrcListAppend(tls *libc.TLS, pParse uintptr, pList uintptr, pTable } // Assign VdbeCursor index numbers to all tables in a SrcList -func Xsqlite3SrcListAssignCursors(tls *libc.TLS, pParse uintptr, pList uintptr) { /* sqlite3.c:118767:21: */ +func Xsqlite3SrcListAssignCursors(tls *libc.TLS, pParse uintptr, pList uintptr) { /* sqlite3.c:118780:21: */ var i int32 var pItem uintptr @@ -98573,7 +98592,7 @@ func Xsqlite3SrcListAssignCursors(tls *libc.TLS, pParse uintptr, pList uintptr) } // Delete an entire SrcList including all its substructure. -func Xsqlite3SrcListDelete(tls *libc.TLS, db uintptr, pList uintptr) { /* sqlite3.c:118785:21: */ +func Xsqlite3SrcListDelete(tls *libc.TLS, db uintptr, pList uintptr) { /* sqlite3.c:118798:21: */ var i int32 var pItem uintptr if pList == uintptr(0) { @@ -98636,7 +98655,7 @@ __3: // // Return a new SrcList which encodes is the FROM with the new // term added. -func Xsqlite3SrcListAppendFromTerm(tls *libc.TLS, pParse uintptr, p uintptr, pTable uintptr, pDatabase uintptr, pAlias uintptr, pSubquery uintptr, pOn uintptr, pUsing uintptr) uintptr { /* sqlite3.c:118819:24: */ +func Xsqlite3SrcListAppendFromTerm(tls *libc.TLS, pParse uintptr, p uintptr, pTable uintptr, pDatabase uintptr, pAlias uintptr, pSubquery uintptr, pOn uintptr, pUsing uintptr) uintptr { /* sqlite3.c:118832:24: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -98700,7 +98719,7 @@ append_from_error: // Add an INDEXED BY or NOT INDEXED clause to the most recently added // element of the source-list passed as the second argument. -func Xsqlite3SrcListIndexedBy(tls *libc.TLS, pParse uintptr, p uintptr, pIndexedBy uintptr) { /* sqlite3.c:118870:21: */ +func Xsqlite3SrcListIndexedBy(tls *libc.TLS, pParse uintptr, p uintptr, pIndexedBy uintptr) { /* sqlite3.c:118883:21: */ if p != 0 && (*Token)(unsafe.Pointer(pIndexedBy)).Fn > uint32(0) { var pItem uintptr @@ -98722,7 +98741,7 @@ func Xsqlite3SrcListIndexedBy(tls *libc.TLS, pParse uintptr, p uintptr, pIndexed // Append the contents of SrcList p2 to SrcList p1 and return the resulting // SrcList. Or, if an error occurs, return NULL. In all cases, p1 and p2 // are deleted by this function. -func Xsqlite3SrcListAppendList(tls *libc.TLS, pParse uintptr, p1 uintptr, p2 uintptr) uintptr { /* sqlite3.c:118896:24: */ +func Xsqlite3SrcListAppendList(tls *libc.TLS, pParse uintptr, p1 uintptr, p2 uintptr) uintptr { /* sqlite3.c:118909:24: */ if p2 != 0 { var pNew uintptr = Xsqlite3SrcListEnlarge(tls, pParse, p1, (*SrcList)(unsafe.Pointer(p2)).FnSrc, 1) @@ -98739,7 +98758,7 @@ func Xsqlite3SrcListAppendList(tls *libc.TLS, pParse uintptr, p1 uintptr, p2 uin // Add the list of function arguments to the SrcList entry for a // table-valued-function. -func Xsqlite3SrcListFuncArgs(tls *libc.TLS, pParse uintptr, p uintptr, pList uintptr) { /* sqlite3.c:118915:21: */ +func Xsqlite3SrcListFuncArgs(tls *libc.TLS, pParse uintptr, p uintptr, pList uintptr) { /* sqlite3.c:118928:21: */ if p != 0 { var pItem uintptr = p + 8 + uintptr((*SrcList)(unsafe.Pointer(p)).FnSrc-1)*72 @@ -98763,7 +98782,7 @@ func Xsqlite3SrcListFuncArgs(tls *libc.TLS, pParse uintptr, p uintptr, pList uin // The operator is "natural cross join". The A and B operands are stored // in p->a[0] and p->a[1], respectively. The parser initially stores the // operator with A. This routine shifts that operator over to B. -func Xsqlite3SrcListShiftJoinType(tls *libc.TLS, p uintptr) { /* sqlite3.c:118943:21: */ +func Xsqlite3SrcListShiftJoinType(tls *libc.TLS, p uintptr) { /* sqlite3.c:118956:21: */ if p != 0 { var i int32 for i = (*SrcList)(unsafe.Pointer(p)).FnSrc - 1; i > 0; i-- { @@ -98774,7 +98793,7 @@ func Xsqlite3SrcListShiftJoinType(tls *libc.TLS, p uintptr) { /* sqlite3.c:11894 } // Generate VDBE code for a BEGIN statement. -func Xsqlite3BeginTransaction(tls *libc.TLS, pParse uintptr, type1 int32) { /* sqlite3.c:118956:21: */ +func Xsqlite3BeginTransaction(tls *libc.TLS, pParse uintptr, type1 int32) { /* sqlite3.c:118969:21: */ var db uintptr var v uintptr var i int32 @@ -98809,7 +98828,7 @@ func Xsqlite3BeginTransaction(tls *libc.TLS, pParse uintptr, type1 int32) { /* s // Generate VDBE code for a COMMIT or ROLLBACK statement. // Code for ROLLBACK is generated if eType==TK_ROLLBACK. Otherwise // code is generated for a COMMIT. -func Xsqlite3EndTransaction(tls *libc.TLS, pParse uintptr, eType int32) { /* sqlite3.c:118992:21: */ +func Xsqlite3EndTransaction(tls *libc.TLS, pParse uintptr, eType int32) { /* sqlite3.c:119005:21: */ var v uintptr var isRollback int32 @@ -98831,7 +98850,7 @@ func Xsqlite3EndTransaction(tls *libc.TLS, pParse uintptr, eType int32) { /* sql // This function is called by the parser when it parses a command to create, // release or rollback an SQL savepoint. -func Xsqlite3Savepoint(tls *libc.TLS, pParse uintptr, op int32, pName uintptr) { /* sqlite3.c:119014:21: */ +func Xsqlite3Savepoint(tls *libc.TLS, pParse uintptr, op int32, pName uintptr) { /* sqlite3.c:119027:21: */ var zName uintptr = Xsqlite3NameFromToken(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, pName) if zName != 0 { var v uintptr = Xsqlite3GetVdbe(tls, pParse) @@ -98844,11 +98863,11 @@ func Xsqlite3Savepoint(tls *libc.TLS, pParse uintptr, op int32, pName uintptr) { } } -var az = [3]uintptr{ts + 14433, ts + 14455, ts + 14439} /* sqlite3.c:119019:23 */ +var az = [3]uintptr{ts + 14433, ts + 14455, ts + 14439} /* sqlite3.c:119032:23 */ // Make sure the TEMP database is open and available for use. Return // the number of errors. Leave any error messages in the pParse structure. -func Xsqlite3OpenTempDatabase(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:119034:20: */ +func Xsqlite3OpenTempDatabase(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:119047:20: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -98874,13 +98893,13 @@ func Xsqlite3OpenTempDatabase(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3. return 0 } -var flags int32 = SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE | SQLITE_OPEN_EXCLUSIVE | SQLITE_OPEN_DELETEONCLOSE | SQLITE_OPEN_TEMP_DB /* sqlite3.c:119039:22 */ +var flags int32 = SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE | SQLITE_OPEN_EXCLUSIVE | SQLITE_OPEN_DELETEONCLOSE | SQLITE_OPEN_TEMP_DB /* sqlite3.c:119052:22 */ // Record the fact that the schema cookie will need to be verified // for database iDb. The code to actually verify the schema cookie // will occur at the end of the top-level VDBE and will be generated // later, by sqlite3FinishCoding(). -func sqlite3CodeVerifySchemaAtToplevel(tls *libc.TLS, pToplevel uintptr, iDb int32) { /* sqlite3.c:119069:13: */ +func sqlite3CodeVerifySchemaAtToplevel(tls *libc.TLS, pToplevel uintptr, iDb int32) { /* sqlite3.c:119082:13: */ if libc.Bool32((*Parse)(unsafe.Pointer(pToplevel)).FcookieMask&(YDbMask(YDbMask(1))< UTF-16 conversion if // possible. -func synthCollSeq(tls *libc.TLS, db uintptr, pColl uintptr) int32 { /* sqlite3.c:119579:12: */ +func synthCollSeq(tls *libc.TLS, db uintptr, pColl uintptr) int32 { /* sqlite3.c:119592:12: */ var pColl2 uintptr var z uintptr = (*CollSeq)(unsafe.Pointer(pColl)).FzName var i int32 @@ -99393,7 +99412,7 @@ func synthCollSeq(tls *libc.TLS, db uintptr, pColl uintptr) int32 { /* sqlite3.c return SQLITE_ERROR } -var aEnc = [3]U8{U8(SQLITE_UTF16BE), U8(SQLITE_UTF16LE), U8(SQLITE_UTF8)} /* sqlite3.c:119583:19 */ +var aEnc = [3]U8{U8(SQLITE_UTF16BE), U8(SQLITE_UTF16LE), U8(SQLITE_UTF8)} /* sqlite3.c:119596:19 */ // This routine is called on a collation sequence before it is used to // check that it is defined. An undefined collation sequence exists when @@ -99404,7 +99423,7 @@ var aEnc = [3]U8{U8(SQLITE_UTF16BE), U8(SQLITE_UTF16LE), U8(SQLITE_UTF8)} /* sql // request a definition of the collating sequence. If this doesn't work, // an equivalent collating sequence that uses a text encoding different // from the main database is substituted, if one is available. -func Xsqlite3CheckCollSeq(tls *libc.TLS, pParse uintptr, pColl uintptr) int32 { /* sqlite3.c:119606:20: */ +func Xsqlite3CheckCollSeq(tls *libc.TLS, pParse uintptr, pColl uintptr) int32 { /* sqlite3.c:119619:20: */ if pColl != 0 && (*CollSeq)(unsafe.Pointer(pColl)).FxCmp == uintptr(0) { var zName uintptr = (*CollSeq)(unsafe.Pointer(pColl)).FzName var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb @@ -99428,7 +99447,7 @@ func Xsqlite3CheckCollSeq(tls *libc.TLS, pParse uintptr, pColl uintptr) int32 { // Stored immediately after the three collation sequences is a copy of // the collation sequence name. A pointer to this string is stored in // each collation sequence structure. -func findCollSeqEntry(tls *libc.TLS, db uintptr, zName uintptr, create int32) uintptr { /* sqlite3.c:119634:16: */ +func findCollSeqEntry(tls *libc.TLS, db uintptr, zName uintptr, create int32) uintptr { /* sqlite3.c:119647:16: */ var pColl uintptr pColl = Xsqlite3HashFind(tls, db+436, zName) @@ -99473,7 +99492,7 @@ func findCollSeqEntry(tls *libc.TLS, db uintptr, zName uintptr, create int32) ui // cannot be found. // // See also: sqlite3LocateCollSeq(), sqlite3GetCollSeq() -func Xsqlite3FindCollSeq(tls *libc.TLS, db uintptr, enc U8, zName uintptr, create int32) uintptr { /* sqlite3.c:119686:24: */ +func Xsqlite3FindCollSeq(tls *libc.TLS, db uintptr, enc U8, zName uintptr, create int32) uintptr { /* sqlite3.c:119699:24: */ var pColl uintptr if zName != 0 { @@ -99489,7 +99508,7 @@ func Xsqlite3FindCollSeq(tls *libc.TLS, db uintptr, enc U8, zName uintptr, creat // Change the text encoding for a database connection. This means that // the pDfltColl must change as well. -func Xsqlite3SetTextEncoding(tls *libc.TLS, db uintptr, enc U8) { /* sqlite3.c:119708:21: */ +func Xsqlite3SetTextEncoding(tls *libc.TLS, db uintptr, enc U8) { /* sqlite3.c:119721:21: */ (*Sqlite3)(unsafe.Pointer(db)).Fenc = enc // EVIDENCE-OF: R-08308-17224 The default collating function for all @@ -99509,7 +99528,7 @@ func Xsqlite3SetTextEncoding(tls *libc.TLS, db uintptr, enc U8) { /* sqlite3.c:1 // sequence can be found. If no collation is found, leave an error message. // // See also: sqlite3LocateCollSeq(), sqlite3FindCollSeq() -func Xsqlite3GetCollSeq(tls *libc.TLS, pParse uintptr, enc U8, pColl uintptr, zName uintptr) uintptr { /* sqlite3.c:119731:24: */ +func Xsqlite3GetCollSeq(tls *libc.TLS, pParse uintptr, enc U8, pColl uintptr, zName uintptr) uintptr { /* sqlite3.c:119744:24: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -99555,7 +99574,7 @@ func Xsqlite3GetCollSeq(tls *libc.TLS, pParse uintptr, enc U8, pColl uintptr, zN // and generates an error message. // // See also: sqlite3FindCollSeq(), sqlite3GetCollSeq() -func Xsqlite3LocateCollSeq(tls *libc.TLS, pParse uintptr, zName uintptr) uintptr { /* sqlite3.c:119782:24: */ +func Xsqlite3LocateCollSeq(tls *libc.TLS, pParse uintptr, zName uintptr) uintptr { /* sqlite3.c:119795:24: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb var enc U8 = (*Sqlite3)(unsafe.Pointer(db)).Fenc var initbusy U8 = (*Sqlite3)(unsafe.Pointer(db)).Finit.Fbusy @@ -99596,7 +99615,7 @@ func Xsqlite3LocateCollSeq(tls *libc.TLS, pParse uintptr, zName uintptr) uintptr // If nArg==(-2) then any function with a non-null xSFunc is // a perfect match and any function with xSFunc NULL is // a non-match. -func matchQuality(tls *libc.TLS, p uintptr, nArg int32, enc U8) int32 { /* sqlite3.c:119825:12: */ +func matchQuality(tls *libc.TLS, p uintptr, nArg int32, enc U8) int32 { /* sqlite3.c:119838:12: */ var match int32 // Wrong number of arguments means "no match" @@ -99632,7 +99651,7 @@ func matchQuality(tls *libc.TLS, p uintptr, nArg int32, enc U8) int32 { /* sqlit // Search a FuncDefHash for a function with the given name. Return // a pointer to the matching FuncDef if found, or 0 if there is no match. -func Xsqlite3FunctionSearch(tls *libc.TLS, h int32, zFunc uintptr) uintptr { /* sqlite3.c:119861:24: */ +func Xsqlite3FunctionSearch(tls *libc.TLS, h int32, zFunc uintptr) uintptr { /* sqlite3.c:119874:24: */ var p uintptr for p = *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&Xsqlite3BuiltinFunctions)) + uintptr(h)*4)); p != 0; p = *(*uintptr)(unsafe.Pointer(p + 36)) { @@ -99644,7 +99663,7 @@ func Xsqlite3FunctionSearch(tls *libc.TLS, h int32, zFunc uintptr) uintptr { /* } // Insert a new FuncDef into a FuncDefHash hash table. -func Xsqlite3InsertBuiltinFuncs(tls *libc.TLS, aDef uintptr, nDef int32) { /* sqlite3.c:119878:21: */ +func Xsqlite3InsertBuiltinFuncs(tls *libc.TLS, aDef uintptr, nDef int32) { /* sqlite3.c:119891:21: */ var i int32 for i = 0; i < nDef; i++ { var pOther uintptr @@ -99682,7 +99701,7 @@ func Xsqlite3InsertBuiltinFuncs(tls *libc.TLS, aDef uintptr, nDef int32) { /* sq // If createFlag is false, then a function with the required name and // number of arguments may be returned even if the eTextRep flag does not // match that requested. -func Xsqlite3FindFunction(tls *libc.TLS, db uintptr, zName uintptr, nArg int32, enc U8, createFlag U8) uintptr { /* sqlite3.c:119923:24: */ +func Xsqlite3FindFunction(tls *libc.TLS, db uintptr, zName uintptr, nArg int32, enc U8, createFlag U8) uintptr { /* sqlite3.c:119936:24: */ var p uintptr // Iterator variable var pBest uintptr = uintptr(0) // Best match found so far var bestScore int32 = 0 // Score of best match @@ -99762,7 +99781,7 @@ func Xsqlite3FindFunction(tls *libc.TLS, db uintptr, zName uintptr, nArg int32, // of the schema hash tables). // // The Schema.cache_size variable is not cleared. -func Xsqlite3SchemaClear(tls *libc.TLS, p uintptr) { /* sqlite3.c:120015:21: */ +func Xsqlite3SchemaClear(tls *libc.TLS, p uintptr) { /* sqlite3.c:120028:21: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -99797,7 +99816,7 @@ func Xsqlite3SchemaClear(tls *libc.TLS, p uintptr) { /* sqlite3.c:120015:21: */ // Find and return the schema associated with a BTree. Create // a new one if necessary. -func Xsqlite3SchemaGet(tls *libc.TLS, db uintptr, pBt uintptr) uintptr { /* sqlite3.c:120047:23: */ +func Xsqlite3SchemaGet(tls *libc.TLS, db uintptr, pBt uintptr) uintptr { /* sqlite3.c:120060:23: */ var p uintptr if pBt != 0 { p = Xsqlite3BtreeSchema(tls, pBt, int32(unsafe.Sizeof(Schema{})), *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{Xsqlite3SchemaClear}))) @@ -99844,7 +99863,7 @@ func Xsqlite3SchemaGet(tls *libc.TLS, db uintptr, pBt uintptr) uintptr { /* sqli // pSrc->a[0].pTab Pointer to the Table object // pSrc->a[0].pIndex Pointer to the INDEXED BY index, if there is one // -func Xsqlite3SrcListLookup(tls *libc.TLS, pParse uintptr, pSrc uintptr) uintptr { /* sqlite3.c:120098:22: */ +func Xsqlite3SrcListLookup(tls *libc.TLS, pParse uintptr, pSrc uintptr) uintptr { /* sqlite3.c:120111:22: */ var pItem uintptr = pSrc + 8 /* &.a */ var pTab uintptr @@ -99862,7 +99881,7 @@ func Xsqlite3SrcListLookup(tls *libc.TLS, pParse uintptr, pSrc uintptr) uintptr // Generate byte-code that will report the number of rows modified // by a DELETE, INSERT, or UPDATE statement. -func Xsqlite3CodeChangeCount(tls *libc.TLS, v uintptr, regCounter int32, zColName uintptr) { /* sqlite3.c:120117:21: */ +func Xsqlite3CodeChangeCount(tls *libc.TLS, v uintptr, regCounter int32, zColName uintptr) { /* sqlite3.c:120130:21: */ Xsqlite3VdbeAddOp0(tls, v, OP_FkCheck) Xsqlite3VdbeAddOp2(tls, v, OP_ResultRow, regCounter, 1) Xsqlite3VdbeSetNumCols(tls, v, 1) @@ -99883,7 +99902,7 @@ func Xsqlite3CodeChangeCount(tls *libc.TLS, v uintptr, regCounter int32, zColNam // 3) The table is a shadow table, the database connection is in // defensive mode, and the current sqlite3_prepare() // is for a top-level SQL statement. -func tabIsReadOnly(tls *libc.TLS, pParse uintptr, pTab uintptr) int32 { /* sqlite3.c:120139:12: */ +func tabIsReadOnly(tls *libc.TLS, pParse uintptr, pTab uintptr) int32 { /* sqlite3.c:120152:12: */ var db uintptr if int32((*Table)(unsafe.Pointer(pTab)).FeTabType) == TABTYP_VTAB { return libc.Bool32((*Sqlite3_module)(unsafe.Pointer((*Module)(unsafe.Pointer((*VTable)(unsafe.Pointer(Xsqlite3GetVTable(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, pTab))).FpMod)).FpModule)).FxUpdate == uintptr(0)) @@ -99902,7 +99921,7 @@ func tabIsReadOnly(tls *libc.TLS, pParse uintptr, pTab uintptr) int32 { /* sqlit // Check to make sure the given table is writable. If it is not // writable, generate an error message and return 1. If it is // writable return 0; -func Xsqlite3IsReadOnly(tls *libc.TLS, pParse uintptr, pTab uintptr, viewOk int32) int32 { /* sqlite3.c:120158:20: */ +func Xsqlite3IsReadOnly(tls *libc.TLS, pParse uintptr, pTab uintptr, viewOk int32) int32 { /* sqlite3.c:120171:20: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -99920,7 +99939,7 @@ func Xsqlite3IsReadOnly(tls *libc.TLS, pParse uintptr, pTab uintptr, viewOk int3 // Evaluate a view and store its result in an ephemeral table. The // pWhere argument is an optional WHERE clause that restricts the // set of rows in the view that are to be added to the ephemeral table. -func Xsqlite3MaterializeView(tls *libc.TLS, pParse uintptr, pView uintptr, pWhere uintptr, pOrderBy uintptr, pLimit uintptr, iCur int32) { /* sqlite3.c:120179:21: */ +func Xsqlite3MaterializeView(tls *libc.TLS, pParse uintptr, pView uintptr, pWhere uintptr, pOrderBy uintptr, pLimit uintptr, iCur int32) { /* sqlite3.c:120192:21: */ bp := tls.Alloc(28) defer tls.Free(28) @@ -99952,7 +99971,7 @@ func Xsqlite3MaterializeView(tls *libc.TLS, pParse uintptr, pView uintptr, pWher // DELETE FROM table_wxyz WHERE a<5 AND b NOT NULL; // \________/ \________________/ // pTabList pWhere -func Xsqlite3DeleteFrom(tls *libc.TLS, pParse uintptr, pTabList uintptr, pWhere uintptr, pOrderBy uintptr, pLimit uintptr) { /* sqlite3.c:120318:21: */ +func Xsqlite3DeleteFrom(tls *libc.TLS, pParse uintptr, pTabList uintptr, pWhere uintptr, pOrderBy uintptr, pLimit uintptr) { /* sqlite3.c:120331:21: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -100558,7 +100577,7 @@ delete_from_cleanup: // starting at iIdxCur) that already points to the index entry to be deleted. // Except, this optimization is disabled if there are BEFORE triggers since // the trigger body might have moved the cursor. -func Xsqlite3GenerateRowDelete(tls *libc.TLS, pParse uintptr, pTab uintptr, pTrigger uintptr, iDataCur int32, iIdxCur int32, iPk int32, nPk I16, count U8, onconf U8, eMode U8, iIdxNoSeek int32) { /* sqlite3.c:120766:21: */ +func Xsqlite3GenerateRowDelete(tls *libc.TLS, pParse uintptr, pTab uintptr, pTrigger uintptr, iDataCur int32, iIdxCur int32, iPk int32, nPk I16, count U8, onconf U8, eMode U8, iIdxNoSeek int32) { /* sqlite3.c:120779:21: */ var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe // Vdbe var iOld int32 = 0 // First register in OLD.* array var iLabel int32 // Label resolved to end of generated code @@ -100695,7 +100714,7 @@ func Xsqlite3GenerateRowDelete(tls *libc.TLS, pParse uintptr, pTab uintptr, pTri // // 3. The "iDataCur" cursor must be already be positioned on the row // that is to be deleted. -func Xsqlite3GenerateRowIndexDelete(tls *libc.TLS, pParse uintptr, pTab uintptr, iDataCur int32, iIdxCur int32, aRegIdx uintptr, iIdxNoSeek int32) { /* sqlite3.c:120918:21: */ +func Xsqlite3GenerateRowIndexDelete(tls *libc.TLS, pParse uintptr, pTab uintptr, iDataCur int32, iIdxCur int32, aRegIdx uintptr, iIdxNoSeek int32) { /* sqlite3.c:120931:21: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -100784,7 +100803,7 @@ __3: // This optimization is helpful when doing a DELETE or an INTEGRITY_CHECK // on a table with multiple indices, and especially with the ROWID or // PRIMARY KEY columns of the index. -func Xsqlite3GenerateIndexKey(tls *libc.TLS, pParse uintptr, pIdx uintptr, iDataCur int32, regOut int32, prefixOnly int32, piPartIdxLabel uintptr, pPrior uintptr, regPrior int32) int32 { /* sqlite3.c:120983:20: */ +func Xsqlite3GenerateIndexKey(tls *libc.TLS, pParse uintptr, pIdx uintptr, iDataCur int32, regOut int32, prefixOnly int32, piPartIdxLabel uintptr, pPrior uintptr, regPrior int32) int32 { /* sqlite3.c:120996:20: */ var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe var j int32 var regBase int32 @@ -100840,7 +100859,7 @@ func Xsqlite3GenerateIndexKey(tls *libc.TLS, pParse uintptr, pIdx uintptr, iData // If a prior call to sqlite3GenerateIndexKey() generated a jump-over label // because it was a partial index, then this routine should be called to // resolve that label. -func Xsqlite3ResolvePartIdxLabel(tls *libc.TLS, pParse uintptr, iLabel int32) { /* sqlite3.c:121045:21: */ +func Xsqlite3ResolvePartIdxLabel(tls *libc.TLS, pParse uintptr, iLabel int32) { /* sqlite3.c:121058:21: */ if iLabel != 0 { Xsqlite3VdbeResolveLabel(tls, (*Parse)(unsafe.Pointer(pParse)).FpVdbe, iLabel) } @@ -100868,7 +100887,7 @@ func Xsqlite3ResolvePartIdxLabel(tls *libc.TLS, pParse uintptr, iLabel int32) { // #include "vdbeInt.h" // Return the collating function associated with a function. -func sqlite3GetFuncCollSeq(tls *libc.TLS, context uintptr) uintptr { /* sqlite3.c:121079:16: */ +func sqlite3GetFuncCollSeq(tls *libc.TLS, context uintptr) uintptr { /* sqlite3.c:121092:16: */ var pOp uintptr pOp = (*Vdbe)(unsafe.Pointer((*Sqlite3_context)(unsafe.Pointer(context)).FpVdbe)).FaOp + uintptr((*Sqlite3_context)(unsafe.Pointer(context)).FiOp-1)*20 @@ -100878,14 +100897,14 @@ func sqlite3GetFuncCollSeq(tls *libc.TLS, context uintptr) uintptr { /* sqlite3. // Indicate that the accumulator load should be skipped on this // iteration of the aggregate loop. -func sqlite3SkipAccumulatorLoad(tls *libc.TLS, context uintptr) { /* sqlite3.c:121092:13: */ +func sqlite3SkipAccumulatorLoad(tls *libc.TLS, context uintptr) { /* sqlite3.c:121105:13: */ (*Sqlite3_context)(unsafe.Pointer(context)).FisError = -1 (*Sqlite3_context)(unsafe.Pointer(context)).FskipFlag = U8(1) } // Implementation of the non-aggregate min() and max() functions -func minmaxFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121101:13: */ +func minmaxFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121114:13: */ var i int32 var mask int32 // 0 for min() or 0xffffffff for max() var iBest int32 @@ -100915,7 +100934,7 @@ func minmaxFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* s } // Return the type of the argument. -func typeofFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { /* sqlite3.c:121131:13: */ +func typeofFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { /* sqlite3.c:121144:13: */ var i int32 = Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(argv))) - 1 _ = NotUsed @@ -100926,18 +100945,18 @@ func typeofFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { / Xsqlite3_result_text(tls, context, azType2[i], -1, uintptr(0)) } -var azType2 = [5]uintptr{ts + 6135, ts + 6130, ts + 7885, ts + 7880, ts + 6125} /* sqlite3.c:121136:21 */ +var azType2 = [5]uintptr{ts + 6135, ts + 6130, ts + 7885, ts + 7880, ts + 6125} /* sqlite3.c:121149:21 */ // subtype(X) // // Return the subtype of X -func subtypeFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121156:13: */ +func subtypeFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121169:13: */ _ = argc Xsqlite3_result_int(tls, context, int32(Xsqlite3_value_subtype(tls, *(*uintptr)(unsafe.Pointer(argv))))) } // Implementation of the length() function -func lengthFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121168:13: */ +func lengthFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121181:13: */ _ = argc switch Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(argv))) { @@ -100986,7 +101005,7 @@ func lengthFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* s // // IMP: R-23979-26855 The abs(X) function returns the absolute value of // the numeric argument X. -func absFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121210:13: */ +func absFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121223:13: */ _ = argc switch Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(argv))) { @@ -101040,7 +101059,7 @@ func absFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqli // If both haystack and needle are BLOBs, then the result is one more than // the number of bytes in haystack prior to the first occurrence of needle, // or 0 if needle never occurs in haystack. -func instrFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121259:13: */ +func instrFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121272:13: */ var zHaystack uintptr var zNeedle uintptr var nHaystack int32 @@ -101155,7 +101174,7 @@ endInstrOOM: } // Implementation of the printf() (a.k.a. format()) SQL function. -func printfFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121327:13: */ +func printfFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121340:13: */ bp := tls.Alloc(44) defer tls.Free(44) @@ -101192,7 +101211,7 @@ func printfFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* s // If p1 is negative, then we begin abs(p1) from the end of x[]. // // If p2 is negative, return the p2 characters preceding p1. -func substrFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121363:13: */ +func substrFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121376:13: */ var z uintptr var z2 uintptr var len int32 @@ -101300,7 +101319,7 @@ func substrFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* s } // Implementation of the round() function -func roundFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121458:13: */ +func roundFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121471:13: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -101354,7 +101373,7 @@ func roundFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sq // the database handle that malloc() has failed and return NULL. // If nByte is larger than the maximum string or blob length, then // raise an SQLITE_TOOBIG exception and return NULL. -func contextMalloc(tls *libc.TLS, context uintptr, nByte I64) uintptr { /* sqlite3.c:121499:13: */ +func contextMalloc(tls *libc.TLS, context uintptr, nByte I64) uintptr { /* sqlite3.c:121512:13: */ var z uintptr var db uintptr = Xsqlite3_context_db_handle(tls, context) @@ -101371,7 +101390,7 @@ func contextMalloc(tls *libc.TLS, context uintptr, nByte I64) uintptr { /* sqlit } // Implementation of the upper() and lower() SQL functions. -func upperFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121520:13: */ +func upperFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121533:13: */ var z1 uintptr var z2 uintptr var i int32 @@ -101392,7 +101411,7 @@ func upperFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sq } } -func lowerFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121539:13: */ +func lowerFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121552:13: */ var z1 uintptr var z2 uintptr var i int32 @@ -101421,7 +101440,7 @@ func lowerFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sq // is. We might as well use the "version()" function as a substitute. // Implementation of random(). Return a random integer. -func randomFunc(tls *libc.TLS, context uintptr, NotUsed int32, NotUsed2 uintptr) { /* sqlite3.c:121572:13: */ +func randomFunc(tls *libc.TLS, context uintptr, NotUsed int32, NotUsed2 uintptr) { /* sqlite3.c:121585:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -101445,7 +101464,7 @@ func randomFunc(tls *libc.TLS, context uintptr, NotUsed int32, NotUsed2 uintptr) // Implementation of randomblob(N). Return a random blob // that is N bytes long. -func randomBlob(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121598:13: */ +func randomBlob(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121611:13: */ var n Sqlite3_int64 var p uintptr @@ -101463,7 +101482,7 @@ func randomBlob(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* s // Implementation of the last_insert_rowid() SQL function. The return // value is the same as the sqlite3_last_insert_rowid() API function. -func last_insert_rowid(tls *libc.TLS, context uintptr, NotUsed int32, NotUsed2 uintptr) { /* sqlite3.c:121622:13: */ +func last_insert_rowid(tls *libc.TLS, context uintptr, NotUsed int32, NotUsed2 uintptr) { /* sqlite3.c:121635:13: */ var db uintptr = Xsqlite3_context_db_handle(tls, context) _ = NotUsed _ = NotUsed2 @@ -101478,7 +101497,7 @@ func last_insert_rowid(tls *libc.TLS, context uintptr, NotUsed int32, NotUsed2 u // IMP: R-32760-32347 The changes() SQL function is a wrapper // around the sqlite3_changes64() C/C++ function and hence follows the // same rules for counting changes. -func changes(tls *libc.TLS, context uintptr, NotUsed int32, NotUsed2 uintptr) { /* sqlite3.c:121642:13: */ +func changes(tls *libc.TLS, context uintptr, NotUsed int32, NotUsed2 uintptr) { /* sqlite3.c:121655:13: */ var db uintptr = Xsqlite3_context_db_handle(tls, context) _ = NotUsed _ = NotUsed2 @@ -101487,7 +101506,7 @@ func changes(tls *libc.TLS, context uintptr, NotUsed int32, NotUsed2 uintptr) { // Implementation of the total_changes() SQL function. The return value is // the same as the sqlite3_total_changes64() API function. -func total_changes(tls *libc.TLS, context uintptr, NotUsed int32, NotUsed2 uintptr) { /* sqlite3.c:121656:13: */ +func total_changes(tls *libc.TLS, context uintptr, NotUsed int32, NotUsed2 uintptr) { /* sqlite3.c:121669:13: */ var db uintptr = Xsqlite3_context_db_handle(tls, context) _ = NotUsed _ = NotUsed2 @@ -101502,20 +101521,20 @@ type compareInfo = struct { FmatchOne U8 FmatchSet U8 FnoCase U8 -} /* sqlite3.c:121671:1 */ +} /* sqlite3.c:121684:1 */ // For LIKE and GLOB matching on EBCDIC machines, assume that every // character is exactly one byte in size. Also, provde the Utf8Read() // macro for fast reading of the next character in the common case where // the next character is ASCII. -var globInfo = compareInfo{FmatchAll: U8('*'), FmatchOne: U8('?'), FmatchSet: U8('[')} /* sqlite3.c:121691:33 */ +var globInfo = compareInfo{FmatchAll: U8('*'), FmatchOne: U8('?'), FmatchSet: U8('[')} /* sqlite3.c:121704:33 */ // The correct SQL-92 behavior is for the LIKE operator to ignore // case. Thus 'a' LIKE 'A' would be true. -var likeInfoNorm = compareInfo{FmatchAll: U8('%'), FmatchOne: U8('_'), FnoCase: U8(1)} /* sqlite3.c:121694:33 */ +var likeInfoNorm = compareInfo{FmatchAll: U8('%'), FmatchOne: U8('_'), FnoCase: U8(1)} /* sqlite3.c:121707:33 */ // If SQLITE_CASE_SENSITIVE_LIKE is defined, then the LIKE operator // is case sensitive causing 'a' LIKE 'A' to be false -var likeInfoAlt = compareInfo{FmatchAll: U8('%'), FmatchOne: U8('_')} /* sqlite3.c:121697:33 */ +var likeInfoAlt = compareInfo{FmatchAll: U8('%'), FmatchOne: U8('_')} /* sqlite3.c:121710:33 */ // Possible error returns from patternMatch() @@ -101555,7 +101574,7 @@ var likeInfoAlt = compareInfo{FmatchAll: U8('%'), FmatchOne: U8('_')} /* sqlite3 // The comments within this routine usually assume glob matching. // // This routine is usually quick, but can be N**2 in the worst case. -func patternCompare(tls *libc.TLS, zPattern uintptr, zString uintptr, pInfo uintptr, matchOther U32) int32 { /* sqlite3.c:121744:12: */ +func patternCompare(tls *libc.TLS, zPattern uintptr, zString uintptr, pInfo uintptr, matchOther U32) int32 { /* sqlite3.c:121757:12: */ bp := tls.Alloc(11) defer tls.Free(11) *(*uintptr)(unsafe.Pointer(bp)) = zPattern @@ -101741,13 +101760,13 @@ func patternCompare(tls *libc.TLS, zPattern uintptr, zString uintptr, pInfo uint // The sqlite3_strglob() interface. Return 0 on a match (like strcmp()) and // non-zero if there is no match. -func Xsqlite3_strglob(tls *libc.TLS, zGlobPattern uintptr, zString uintptr) int32 { /* sqlite3.c:121877:16: */ +func Xsqlite3_strglob(tls *libc.TLS, zGlobPattern uintptr, zString uintptr) int32 { /* sqlite3.c:121890:16: */ return patternCompare(tls, zGlobPattern, zString, uintptr(unsafe.Pointer(&globInfo)), uint32('[')) } // The sqlite3_strlike() interface. Return 0 on a match and non-zero for // a miss - like strcmp(). -func Xsqlite3_strlike(tls *libc.TLS, zPattern uintptr, zStr uintptr, esc uint32) int32 { /* sqlite3.c:121885:16: */ +func Xsqlite3_strlike(tls *libc.TLS, zPattern uintptr, zStr uintptr, esc uint32) int32 { /* sqlite3.c:121898:16: */ return patternCompare(tls, zPattern, zStr, uintptr(unsafe.Pointer(&likeInfoNorm)), esc) } @@ -101765,7 +101784,7 @@ func Xsqlite3_strlike(tls *libc.TLS, zPattern uintptr, zStr uintptr, esc uint32) // // This same function (with a different compareInfo structure) computes // the GLOB operator. -func likeFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121911:13: */ +func likeFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121924:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -101828,7 +101847,7 @@ func likeFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sql // Implementation of the NULLIF(x,y) function. The result is the first // argument if the arguments are different. The result is NULL if the // arguments are equal to each other. -func nullifFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { /* sqlite3.c:121982:13: */ +func nullifFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { /* sqlite3.c:121995:13: */ var pColl uintptr = sqlite3GetFuncCollSeq(tls, context) _ = NotUsed if Xsqlite3MemCompare(tls, *(*uintptr)(unsafe.Pointer(argv)), *(*uintptr)(unsafe.Pointer(argv + 1*4)), pColl) != 0 { @@ -101838,7 +101857,7 @@ func nullifFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { / // Implementation of the sqlite_version() function. The result is the version // of the SQLite library that is running. -func versionFunc(tls *libc.TLS, context uintptr, NotUsed int32, NotUsed2 uintptr) { /* sqlite3.c:121998:13: */ +func versionFunc(tls *libc.TLS, context uintptr, NotUsed int32, NotUsed2 uintptr) { /* sqlite3.c:122011:13: */ _ = NotUsed _ = NotUsed2 // IMP: R-48699-48617 This function is an SQL wrapper around the @@ -101849,7 +101868,7 @@ func versionFunc(tls *libc.TLS, context uintptr, NotUsed int32, NotUsed2 uintptr // Implementation of the sqlite_source_id() function. The result is a string // that identifies the particular version of the source code used to build // SQLite. -func sourceidFunc(tls *libc.TLS, context uintptr, NotUsed int32, NotUsed2 uintptr) { /* sqlite3.c:122014:13: */ +func sourceidFunc(tls *libc.TLS, context uintptr, NotUsed int32, NotUsed2 uintptr) { /* sqlite3.c:122027:13: */ _ = NotUsed _ = NotUsed2 // IMP: R-24470-31136 This function is an SQL wrapper around the @@ -101860,7 +101879,7 @@ func sourceidFunc(tls *libc.TLS, context uintptr, NotUsed int32, NotUsed2 uintpt // Implementation of the sqlite_log() function. This is a wrapper around // sqlite3_log(). The return value is NULL. The function exists purely for // its side-effects. -func errlogFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122030:13: */ +func errlogFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122043:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -101872,7 +101891,7 @@ func errlogFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* s // Implementation of the sqlite_compileoption_used() function. // The result is an integer that identifies if the compiler option // was used to build SQLite. -func compileoptionusedFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122046:13: */ +func compileoptionusedFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122059:13: */ var zOptName uintptr _ = argc @@ -101887,7 +101906,7 @@ func compileoptionusedFunc(tls *libc.TLS, context uintptr, argc int32, argv uint // Implementation of the sqlite_compileoption_get() function. // The result is a string that identifies the compiler options // used to build SQLite. -func compileoptiongetFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122070:13: */ +func compileoptiongetFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122083:13: */ var n int32 _ = argc @@ -101902,11 +101921,11 @@ func compileoptiongetFunc(tls *libc.TLS, context uintptr, argc int32, argv uintp var hexdigits = [16]int8{ int8('0'), int8('1'), int8('2'), int8('3'), int8('4'), int8('5'), int8('6'), int8('7'), int8('8'), int8('9'), int8('A'), int8('B'), int8('C'), int8('D'), int8('E'), int8('F'), -} /* sqlite3.c:122088:19 */ +} /* sqlite3.c:122101:19 */ // Append to pStr text that is the SQL literal representation of the // value contained in pValue. -func Xsqlite3QuoteValue(tls *libc.TLS, pStr uintptr, pValue uintptr) { /* sqlite3.c:122097:21: */ +func Xsqlite3QuoteValue(tls *libc.TLS, pStr uintptr, pValue uintptr) { /* sqlite3.c:122110:21: */ bp := tls.Alloc(40) defer tls.Free(40) @@ -101987,7 +102006,7 @@ func Xsqlite3QuoteValue(tls *libc.TLS, pStr uintptr, pValue uintptr) { /* sqlite // as needed. BLOBs are encoded as hexadecimal literals. Strings with // embedded NUL characters cannot be represented as string literals in SQL // and hence the returned string literal is truncated prior to the first NUL. -func quoteFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122166:13: */ +func quoteFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122179:13: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -102010,7 +102029,7 @@ func quoteFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sq // The unicode() function. Return the integer unicode code-point value // for the first character of the input string. -func unicodeFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122185:13: */ +func unicodeFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122198:13: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -102024,7 +102043,7 @@ func unicodeFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* // The char() function takes zero or more arguments, each of which is // an integer. It constructs a string where each character of the string // is the unicode character for the corresponding integer argument. -func charFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122200:13: */ +func charFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122213:13: */ var z uintptr var zOut uintptr var i int32 @@ -102062,7 +102081,7 @@ func charFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sql // The hex() function. Interpret the argument as a blob. Return // a hexadecimal rendering as text. -func hexFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122241:13: */ +func hexFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122254:13: */ var i int32 var n int32 var pBlob uintptr @@ -102100,7 +102119,7 @@ func hexFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqli } // The zeroblob(N) function returns a zero-filled blob of size N bytes. -func zeroblobFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122269:13: */ +func zeroblobFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122282:13: */ var n I64 var rc int32 @@ -102119,7 +102138,7 @@ func zeroblobFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* // them A, B, and C. The result is also a string which is derived // from A by replacing every occurrence of B with C. The match // must be exact. Collating sequences are not used. -func replaceFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122292:13: */ +func replaceFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122305:13: */ var zStr uintptr // The input string A var zPattern uintptr // The pattern string B var zRep uintptr // The replacement string C @@ -102208,7 +102227,7 @@ func replaceFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* // Implementation of the TRIM(), LTRIM(), and RTRIM() functions. // The userdata is 0x1 for left trim, 0x2 for right trim, 0x3 for both. -func trimFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122385:13: */ +func trimFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122398:13: */ var zIn uintptr // Input string var zCharSet uintptr // Set of characters to trim var nIn uint32 // Number of bytes in input @@ -102311,8 +102330,8 @@ func trimFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sql Xsqlite3_result_text(tls, context, zIn, int32(nIn), libc.UintptrFromInt32(-1)) } -var lenOne = [1]uint32{uint32(1)} /* sqlite3.c:122407:27 */ -var azOne = [1]uintptr{uintptr(ts + 10798 /* " " */)} /* sqlite3.c:122408:26 */ +var lenOne = [1]uint32{uint32(1)} /* sqlite3.c:122420:27 */ +var azOne = [1]uintptr{uintptr(ts + 10798 /* " " */)} /* sqlite3.c:122421:26 */ // IMP: R-25361-16150 This function is omitted from SQLite by default. It // is only available if the SQLITE_SOUNDEX compile-time option is used @@ -102321,7 +102340,7 @@ var azOne = [1]uintptr{uintptr(ts + 10798 /* " " */)} /* sqlite3.c:122408:26 */ // // IMP: R-59782-00072 The soundex(X) function returns a string that is the // soundex encoding of the string X. -func soundexFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122498:13: */ +func soundexFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122511:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -102372,10 +102391,10 @@ var iCode = [128]uint8{ uint8(1), uint8(2), uint8(6), uint8(2), uint8(3), uint8(0), uint8(1), uint8(0), uint8(2), uint8(0), uint8(2), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(1), uint8(2), uint8(3), uint8(0), uint8(1), uint8(2), uint8(0), uint8(0), uint8(2), uint8(2), uint8(4), uint8(5), uint8(5), uint8(0), uint8(1), uint8(2), uint8(6), uint8(2), uint8(3), uint8(0), uint8(1), uint8(0), uint8(2), uint8(0), uint8(2), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), -} /* sqlite3.c:122506:30 */ +} /* sqlite3.c:122519:30 */ // A function that loads a shared-library extension then returns NULL. -func loadExt(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122551:13: */ +func loadExt(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122564:13: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -102411,11 +102430,11 @@ type SumCtx1 = struct { Foverflow U8 Fapprox U8 F__ccgo_pad1 [2]byte -} /* sqlite3.c:122582:9 */ +} /* sqlite3.c:122595:9 */ // An instance of the following structure holds the context of a // sum() or avg() aggregate computation. -type SumCtx = SumCtx1 /* sqlite3.c:122582:23 */ +type SumCtx = SumCtx1 /* sqlite3.c:122595:23 */ // Routines used to compute the sum, average, and total. // @@ -102425,7 +102444,7 @@ type SumCtx = SumCtx1 /* sqlite3.c:122582:23 */ // SUM might return an integer if it never encounters a floating point // value. TOTAL never fails, but SUM might through an exception if // it overflows an integer. -func sumStep(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122601:13: */ +func sumStep(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122614:13: */ var p uintptr var type1 int32 @@ -102447,7 +102466,7 @@ func sumStep(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqli } } -func sumInverse(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122623:13: */ +func sumInverse(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122636:13: */ var p uintptr var type1 int32 @@ -102470,7 +102489,7 @@ func sumInverse(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* s } } -func sumFinalize(tls *libc.TLS, context uintptr) { /* sqlite3.c:122648:13: */ +func sumFinalize(tls *libc.TLS, context uintptr) { /* sqlite3.c:122661:13: */ var p uintptr p = Xsqlite3_aggregate_context(tls, context, 0) if p != 0 && (*SumCtx)(unsafe.Pointer(p)).Fcnt > int64(0) { @@ -102484,7 +102503,7 @@ func sumFinalize(tls *libc.TLS, context uintptr) { /* sqlite3.c:122648:13: */ } } -func avgFinalize(tls *libc.TLS, context uintptr) { /* sqlite3.c:122661:13: */ +func avgFinalize(tls *libc.TLS, context uintptr) { /* sqlite3.c:122674:13: */ var p uintptr p = Xsqlite3_aggregate_context(tls, context, 0) if p != 0 && (*SumCtx)(unsafe.Pointer(p)).Fcnt > int64(0) { @@ -102492,7 +102511,7 @@ func avgFinalize(tls *libc.TLS, context uintptr) { /* sqlite3.c:122661:13: */ } } -func totalFinalize(tls *libc.TLS, context uintptr) { /* sqlite3.c:122668:13: */ +func totalFinalize(tls *libc.TLS, context uintptr) { /* sqlite3.c:122681:13: */ var p uintptr p = Xsqlite3_aggregate_context(tls, context, 0) // (double)0 In case of SQLITE_OMIT_FLOATING_POINT... @@ -102506,14 +102525,14 @@ func totalFinalize(tls *libc.TLS, context uintptr) { /* sqlite3.c:122668:13: */ // The following structure keeps track of state information for the // count() aggregate function. -type CountCtx1 = struct{ Fn I64 } /* sqlite3.c:122679:9 */ +type CountCtx1 = struct{ Fn I64 } /* sqlite3.c:122692:9 */ // The following structure keeps track of state information for the // count() aggregate function. -type CountCtx = CountCtx1 /* sqlite3.c:122679:25 */ +type CountCtx = CountCtx1 /* sqlite3.c:122692:25 */ // Routines to implement the count() aggregate function. -func countStep(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122690:13: */ +func countStep(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122703:13: */ var p uintptr p = Xsqlite3_aggregate_context(tls, context, int32(unsafe.Sizeof(CountCtx{}))) if (argc == 0 || SQLITE_NULL != Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(argv)))) && p != 0 { @@ -102527,7 +102546,7 @@ func countStep(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sq } -func countFinalize(tls *libc.TLS, context uintptr) { /* sqlite3.c:122706:13: */ +func countFinalize(tls *libc.TLS, context uintptr) { /* sqlite3.c:122719:13: */ var p uintptr p = Xsqlite3_aggregate_context(tls, context, 0) Xsqlite3_result_int64(tls, context, func() int64 { @@ -102538,7 +102557,7 @@ func countFinalize(tls *libc.TLS, context uintptr) { /* sqlite3.c:122706:13: */ }()) } -func countInverse(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:122712:13: */ +func countInverse(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:122725:13: */ var p uintptr p = Xsqlite3_aggregate_context(tls, ctx, int32(unsafe.Sizeof(CountCtx{}))) // p is always non-NULL since countStep() will have been called first @@ -102548,7 +102567,7 @@ func countInverse(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sql } // Routines to implement min() and max() aggregate functions. -func minmaxStep(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { /* sqlite3.c:122730:13: */ +func minmaxStep(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { /* sqlite3.c:122743:13: */ var pArg uintptr = *(*uintptr)(unsafe.Pointer(argv)) var pBest uintptr _ = NotUsed @@ -102586,7 +102605,7 @@ func minmaxStep(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { / } } -func minMaxValueFinalize(tls *libc.TLS, context uintptr, bValue int32) { /* sqlite3.c:122768:13: */ +func minMaxValueFinalize(tls *libc.TLS, context uintptr, bValue int32) { /* sqlite3.c:122781:13: */ var pRes uintptr pRes = Xsqlite3_aggregate_context(tls, context, 0) if pRes != 0 { @@ -102599,11 +102618,11 @@ func minMaxValueFinalize(tls *libc.TLS, context uintptr, bValue int32) { /* sqli } } -func minMaxValue(tls *libc.TLS, context uintptr) { /* sqlite3.c:122779:13: */ +func minMaxValue(tls *libc.TLS, context uintptr) { /* sqlite3.c:122792:13: */ minMaxValueFinalize(tls, context, 1) } -func minMaxFinalize(tls *libc.TLS, context uintptr) { /* sqlite3.c:122785:13: */ +func minMaxFinalize(tls *libc.TLS, context uintptr) { /* sqlite3.c:122798:13: */ minMaxValueFinalize(tls, context, 0) } @@ -102619,9 +102638,9 @@ type GroupConcatCtx = struct { FnAccum int32 FnFirstSepLength int32 FpnSepLengths uintptr -} /* sqlite3.c:122810:3 */ +} /* sqlite3.c:122823:3 */ -func groupConcatStep(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122812:13: */ +func groupConcatStep(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122825:13: */ var zVal uintptr var pGCC uintptr var zSep uintptr @@ -102686,7 +102705,7 @@ func groupConcatStep(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { } } -func groupConcatInverse(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122883:13: */ +func groupConcatInverse(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122896:13: */ var pGCC uintptr _ = argc // Suppress unused parameter warning @@ -102728,7 +102747,7 @@ func groupConcatInverse(tls *libc.TLS, context uintptr, argc int32, argv uintptr } } -func groupConcatFinalize(tls *libc.TLS, context uintptr) { /* sqlite3.c:122929:13: */ +func groupConcatFinalize(tls *libc.TLS, context uintptr) { /* sqlite3.c:122942:13: */ var pGCC uintptr = Xsqlite3_aggregate_context(tls, context, 0) if pGCC != 0 { Xsqlite3ResultStrAccum(tls, context, pGCC) @@ -102736,7 +102755,7 @@ func groupConcatFinalize(tls *libc.TLS, context uintptr) { /* sqlite3.c:122929:1 } } -func groupConcatValue(tls *libc.TLS, context uintptr) { /* sqlite3.c:122940:13: */ +func groupConcatValue(tls *libc.TLS, context uintptr) { /* sqlite3.c:122953:13: */ var pGCC uintptr = Xsqlite3_aggregate_context(tls, context, 0) if pGCC != 0 { var pAccum uintptr = pGCC @@ -102754,7 +102773,7 @@ func groupConcatValue(tls *libc.TLS, context uintptr) { /* sqlite3.c:122940:13: // This routine does per-connection function registration. Most // of the built-in functions above are part of the global function set. // This routine only deals with those that are not global. -func Xsqlite3RegisterPerConnectionBuiltinFunctions(tls *libc.TLS, db uintptr) { /* sqlite3.c:122964:21: */ +func Xsqlite3RegisterPerConnectionBuiltinFunctions(tls *libc.TLS, db uintptr) { /* sqlite3.c:122977:21: */ var rc int32 = Xsqlite3_overload_function(tls, db, ts+14858, 2) if rc == SQLITE_NOMEM { @@ -102765,7 +102784,7 @@ func Xsqlite3RegisterPerConnectionBuiltinFunctions(tls *libc.TLS, db uintptr) { // Re-register the built-in LIKE functions. The caseSensitive // parameter determines whether or not the LIKE operator is case // sensitive. -func Xsqlite3RegisterLikeFunctions(tls *libc.TLS, db uintptr, caseSensitive int32) { /* sqlite3.c:122977:21: */ +func Xsqlite3RegisterLikeFunctions(tls *libc.TLS, db uintptr, caseSensitive int32) { /* sqlite3.c:122990:21: */ var pInfo uintptr var flags int32 if caseSensitive != 0 { @@ -102800,7 +102819,7 @@ func Xsqlite3RegisterLikeFunctions(tls *libc.TLS, db uintptr, caseSensitive int3 // the function (default for LIKE). If the function makes the distinction // between uppercase and lowercase (as does GLOB) then *pIsNocase is set to // false. -func Xsqlite3IsLikeFunction(tls *libc.TLS, db uintptr, pExpr uintptr, pIsNocase uintptr, aWc uintptr) int32 { /* sqlite3.c:123010:20: */ +func Xsqlite3IsLikeFunction(tls *libc.TLS, db uintptr, pExpr uintptr, pIsNocase uintptr, aWc uintptr) int32 { /* sqlite3.c:123023:20: */ var pDef uintptr var nExpr int32 @@ -102856,7 +102875,7 @@ func Xsqlite3IsLikeFunction(tls *libc.TLS, db uintptr, pExpr uintptr, pIsNocase // // The sqlite3_user_data() pointer is a pointer to the libm implementation // of the underlying C function. -func ceilingFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:123081:13: */ +func ceilingFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:123094:13: */ switch Xsqlite3_value_numeric_type(tls, *(*uintptr)(unsafe.Pointer(argv))) { case SQLITE_INTEGER: @@ -102885,11 +102904,11 @@ func ceilingFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* // On some systems, ceil() and floor() are intrinsic function. You are // unable to take a pointer to these functions. Hence, we here wrap them // in our own actual functions. -func xCeil(tls *libc.TLS, x float64) float64 { /* sqlite3.c:123108:15: */ +func xCeil(tls *libc.TLS, x float64) float64 { /* sqlite3.c:123121:15: */ return libc.Xceil(tls, x) } -func xFloor(tls *libc.TLS, x float64) float64 { /* sqlite3.c:123109:15: */ +func xFloor(tls *libc.TLS, x float64) float64 { /* sqlite3.c:123122:15: */ return libc.Xfloor(tls, x) } @@ -102899,7 +102918,7 @@ func xFloor(tls *libc.TLS, x float64) float64 { /* sqlite3.c:123109:15: */ // log(X) - log X base 10 // log10(X) - log X base 10 // log(B,X) - log X base B -func logFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:123119:13: */ +func logFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:123132:13: */ var x float64 var b float64 var ans float64 @@ -102956,18 +102975,18 @@ func logFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqli } // Functions to converts degrees to radians and radians to degrees. -func degToRad(tls *libc.TLS, x float64) float64 { /* sqlite3.c:123169:15: */ +func degToRad(tls *libc.TLS, x float64) float64 { /* sqlite3.c:123182:15: */ return x * (float64(3.14159265358979323846) / 180.0) } -func radToDeg(tls *libc.TLS, x float64) float64 { /* sqlite3.c:123170:15: */ +func radToDeg(tls *libc.TLS, x float64) float64 { /* sqlite3.c:123183:15: */ return x * (float64(180.0) / 3.14159265358979323846) } // Implementation of 1-argument SQL math functions: // // exp(X) - Compute e to the X-th power -func math1Func(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:123177:13: */ +func math1Func(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:123190:13: */ var type0 int32 var v0 float64 var ans float64 @@ -102988,7 +103007,7 @@ func math1Func(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sq // Implementation of 2-argument SQL math functions: // // power(X,Y) - Compute X to the Y-th power -func math2Func(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:123199:13: */ +func math2Func(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:123212:13: */ var type0 int32 var type1 int32 var v0 float64 @@ -103014,13 +103033,13 @@ func math2Func(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sq } // Implementation of 0-argument pi() function. -func piFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:123222:13: */ +func piFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:123235:13: */ Xsqlite3_result_double(tls, context, 3.14159265358979323846) } // Implementation of sign(X) function. -func signFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:123236:13: */ +func signFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:123249:13: */ var type0 int32 var x float64 _ = argc @@ -103048,7 +103067,7 @@ func signFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sql // a consequence of calling sqlite3_initialize()). // // After this routine runs -func Xsqlite3RegisterBuiltinFunctions(tls *libc.TLS) { /* sqlite3.c:123258:21: */ +func Xsqlite3RegisterBuiltinFunctions(tls *libc.TLS) { /* sqlite3.c:123271:21: */ Xsqlite3AlterFunctions(tls) Xsqlite3WindowFunctions(tls) Xsqlite3RegisterDateTimeFunctions(tls) @@ -103161,7 +103180,7 @@ var aBuiltinFunc = [101]FuncDef{ {FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_FUNC_CONSTANT | SQLITE_UTF8 | 0*SQLITE_FUNC_NEEDCOLL), FxSFunc: 0, FzName: ts + 15500}, {FnArg: int8(1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_FUNC_CONSTANT | SQLITE_UTF8 | 0*SQLITE_FUNC_NEEDCOLL), FxSFunc: 0, FzName: ts + 15503}, {FnArg: int8(-1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_UTF8 | SQLITE_FUNC_INLINE | SQLITE_FUNC_CONSTANT | 0), FxSFunc: 0, FzName: ts + 15343}, - {FnArg: int8(3), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_UTF8 | SQLITE_FUNC_INLINE | SQLITE_FUNC_CONSTANT | 0), FpUserData: uintptr(INLINEFUNC_iif), FxSFunc: 0, FzName: ts + 15508}} /* sqlite3.c:123269:18 */ + {FnArg: int8(3), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_UTF8 | SQLITE_FUNC_INLINE | SQLITE_FUNC_CONSTANT | 0), FpUserData: uintptr(INLINEFUNC_iif), FxSFunc: 0, FzName: ts + 15508}} /* sqlite3.c:123282:18 */ //************* End of func.c *********************************************** //************* Begin file fkey.c ******************************************* @@ -103336,7 +103355,7 @@ var aBuiltinFunc = [101]FuncDef{ // then non-zero is returned, and a "foreign key mismatch" error loaded // into pParse. If an OOM error occurs, non-zero is returned and the // pParse->db->mallocFailed flag is set. -func Xsqlite3FkLocateIndex(tls *libc.TLS, pParse uintptr, pParent uintptr, pFKey uintptr, ppIdx uintptr, paiCol uintptr) int32 { /* sqlite3.c:123622:20: */ +func Xsqlite3FkLocateIndex(tls *libc.TLS, pParse uintptr, pParent uintptr, pFKey uintptr, ppIdx uintptr, paiCol uintptr) int32 { /* sqlite3.c:123635:20: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -103482,7 +103501,7 @@ func Xsqlite3FkLocateIndex(tls *libc.TLS, pParse uintptr, pParent uintptr, pFKey // // These operations are identified in the comment at the top of this file // (fkey.c) as "I.1" and "D.1". -func fkLookupParent(tls *libc.TLS, pParse uintptr, iDb int32, pTab uintptr, pIdx uintptr, pFKey uintptr, aiCol uintptr, regData int32, nIncr int32, isIgnore int32) { /* sqlite3.c:123759:13: */ +func fkLookupParent(tls *libc.TLS, pParse uintptr, iDb int32, pTab uintptr, pIdx uintptr, pFKey uintptr, aiCol uintptr, regData int32, nIncr int32, isIgnore int32) { /* sqlite3.c:123772:13: */ var i int32 // Iterator variable var v uintptr = Xsqlite3GetVdbe(tls, pParse) // Vdbe to add code to var iCur int32 = (*Parse)(unsafe.Pointer(pParse)).FnTab - 1 // Cursor number to use @@ -103612,7 +103631,7 @@ func fkLookupParent(tls *libc.TLS, pParse uintptr, iDb int32, pTab uintptr, pIdx // regBase is the first of an array of register that contains the data // for pTab. regBase itself holds the rowid. regBase+1 holds the first // column. regBase+2 holds the second column, and so forth. -func exprTableRegister(tls *libc.TLS, pParse uintptr, pTab uintptr, regBase int32, iCol I16) uintptr { /* sqlite3.c:123912:13: */ +func exprTableRegister(tls *libc.TLS, pParse uintptr, pTab uintptr, regBase int32, iCol I16) uintptr { /* sqlite3.c:123925:13: */ var pExpr uintptr var pCol uintptr var zColl uintptr @@ -103639,7 +103658,7 @@ func exprTableRegister(tls *libc.TLS, pParse uintptr, pTab uintptr, regBase int3 // Return an Expr object that refers to column iCol of table pTab which // has cursor iCur. -func exprTableColumn(tls *libc.TLS, db uintptr, pTab uintptr, iCursor int32, iCol I16) uintptr { /* sqlite3.c:123944:13: */ +func exprTableColumn(tls *libc.TLS, db uintptr, pTab uintptr, iCursor int32, iCol I16) uintptr { /* sqlite3.c:123957:13: */ var pExpr uintptr = Xsqlite3Expr(tls, db, TK_COLUMN, uintptr(0)) if pExpr != 0 { @@ -103680,7 +103699,7 @@ func exprTableColumn(tls *libc.TLS, db uintptr, pTab uintptr, iCursor int32, iCo // // These operations are identified in the comment at the top of this file // (fkey.c) as "I.2" and "D.2". -func fkScanChildren(tls *libc.TLS, pParse uintptr, pSrc uintptr, pTab uintptr, pIdx uintptr, pFKey uintptr, aiCol uintptr, regData int32, nIncr int32) { /* sqlite3.c:123992:13: */ +func fkScanChildren(tls *libc.TLS, pParse uintptr, pSrc uintptr, pTab uintptr, pIdx uintptr, pFKey uintptr, aiCol uintptr, regData int32, nIncr int32) { /* sqlite3.c:124005:13: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -103804,7 +103823,7 @@ func fkScanChildren(tls *libc.TLS, pParse uintptr, pSrc uintptr, pTab uintptr, p // "t2". Calling this function with "t2" as the argument would return a // NULL pointer (as there are no FK constraints for which t2 is the parent // table). -func Xsqlite3FkReferences(tls *libc.TLS, pTab uintptr) uintptr { /* sqlite3.c:124121:21: */ +func Xsqlite3FkReferences(tls *libc.TLS, pTab uintptr) uintptr { /* sqlite3.c:124134:21: */ return Xsqlite3HashFind(tls, (*Table)(unsafe.Pointer(pTab)).FpSchema+56, (*Table)(unsafe.Pointer(pTab)).FzName) } @@ -103814,7 +103833,7 @@ func Xsqlite3FkReferences(tls *libc.TLS, pTab uintptr) uintptr { /* sqlite3.c:12 // // The Trigger structure or any of its sub-components may be allocated from // the lookaside buffer belonging to database handle dbMem. -func fkTriggerDelete(tls *libc.TLS, dbMem uintptr, p uintptr) { /* sqlite3.c:124133:13: */ +func fkTriggerDelete(tls *libc.TLS, dbMem uintptr, p uintptr) { /* sqlite3.c:124146:13: */ if p != 0 { var pStep uintptr = (*Trigger)(unsafe.Pointer(p)).Fstep_list Xsqlite3ExprDelete(tls, dbMem, (*TriggerStep)(unsafe.Pointer(pStep)).FpWhere) @@ -103828,7 +103847,7 @@ func fkTriggerDelete(tls *libc.TLS, dbMem uintptr, p uintptr) { /* sqlite3.c:124 // Clear the apTrigger[] cache of CASCADE triggers for all foreign keys // in a particular database. This needs to happen when the schema // changes. -func Xsqlite3FkClearTriggerCache(tls *libc.TLS, db uintptr, iDb int32) { /* sqlite3.c:124149:21: */ +func Xsqlite3FkClearTriggerCache(tls *libc.TLS, db uintptr, iDb int32) { /* sqlite3.c:124162:21: */ var k uintptr var pHash uintptr = (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(iDb)*16)).FpSchema + 8 for k = (*Hash)(unsafe.Pointer(pHash)).Ffirst; k != 0; k = (*HashElem)(unsafe.Pointer(k)).Fnext { @@ -103861,7 +103880,7 @@ func Xsqlite3FkClearTriggerCache(tls *libc.TLS, db uintptr, iDb int32) { /* sqli // then the equivalent of "DELETE FROM " is executed before dropping // the table from the database. Triggers are disabled while running this // DELETE, but foreign key actions are not. -func Xsqlite3FkDropTable(tls *libc.TLS, pParse uintptr, pName uintptr, pTab uintptr) { /* sqlite3.c:124180:21: */ +func Xsqlite3FkDropTable(tls *libc.TLS, pParse uintptr, pName uintptr, pTab uintptr) { /* sqlite3.c:124193:21: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb if (*Sqlite3)(unsafe.Pointer(db)).Fflags&uint64(SQLITE_ForeignKeys) != 0 && int32((*Table)(unsafe.Pointer(pTab)).FeTabType) == TABTYP_NORM { var iSkip int32 = 0 @@ -103924,7 +103943,7 @@ func Xsqlite3FkDropTable(tls *libc.TLS, pParse uintptr, pName uintptr, pTab uint // // This function returns true if any of the columns that are part of the // child key for FK constraint *p are modified. -func fkChildIsModified(tls *libc.TLS, pTab uintptr, p uintptr, aChange uintptr, bChngRowid int32) int32 { /* sqlite3.c:124243:12: */ +func fkChildIsModified(tls *libc.TLS, pTab uintptr, p uintptr, aChange uintptr, bChngRowid int32) int32 { /* sqlite3.c:124256:12: */ var i int32 for i = 0; i < (*FKey)(unsafe.Pointer(p)).FnCol; i++ { var iChildKey int32 = (*sColMap)(unsafe.Pointer(p + 36 + uintptr(i)*8)).FiFrom @@ -103948,7 +103967,7 @@ func fkChildIsModified(tls *libc.TLS, pTab uintptr, p uintptr, aChange uintptr, // // This function returns true if any of the columns that are part of the // parent key for FK constraint *p are modified. -func fkParentIsModified(tls *libc.TLS, pTab uintptr, p uintptr, aChange uintptr, bChngRowid int32) int32 { /* sqlite3.c:124270:12: */ +func fkParentIsModified(tls *libc.TLS, pTab uintptr, p uintptr, aChange uintptr, bChngRowid int32) int32 { /* sqlite3.c:124283:12: */ var i int32 for i = 0; i < (*FKey)(unsafe.Pointer(p)).FnCol; i++ { var zKey uintptr = (*sColMap)(unsafe.Pointer(p + 36 + uintptr(i)*8)).FzCol @@ -103972,7 +103991,7 @@ func fkParentIsModified(tls *libc.TLS, pTab uintptr, p uintptr, aChange uintptr, // Return true if the parser passed as the first argument is being // used to code a trigger that is really a "SET NULL" action belonging // to trigger pFKey. -func isSetNullAction(tls *libc.TLS, pParse uintptr, pFKey uintptr) int32 { /* sqlite3.c:124299:12: */ +func isSetNullAction(tls *libc.TLS, pParse uintptr, pFKey uintptr) int32 { /* sqlite3.c:124312:12: */ var pTop uintptr = func() uintptr { if (*Parse)(unsafe.Pointer(pParse)).FpToplevel != 0 { return (*Parse)(unsafe.Pointer(pParse)).FpToplevel @@ -104007,7 +104026,7 @@ func isSetNullAction(tls *libc.TLS, pParse uintptr, pFKey uintptr) int32 { /* sq // the original record is deleted from the table using the calling convention // described for DELETE. Then again after the original record is deleted // but before the new record is inserted using the INSERT convention. -func Xsqlite3FkCheck(tls *libc.TLS, pParse uintptr, pTab uintptr, regOld int32, regNew int32, aChange uintptr, bChngRowid int32) { /* sqlite3.c:124332:21: */ +func Xsqlite3FkCheck(tls *libc.TLS, pParse uintptr, pTab uintptr, regOld int32, regNew int32, aChange uintptr, bChngRowid int32) { /* sqlite3.c:124345:21: */ bp := tls.Alloc(20) defer tls.Free(20) @@ -104209,7 +104228,7 @@ func Xsqlite3FkCheck(tls *libc.TLS, pParse uintptr, pTab uintptr, regOld int32, // This function is called before generating code to update or delete a // row contained in table pTab. -func Xsqlite3FkOldmask(tls *libc.TLS, pParse uintptr, pTab uintptr) U32 { /* sqlite3.c:124535:20: */ +func Xsqlite3FkOldmask(tls *libc.TLS, pParse uintptr, pTab uintptr) U32 { /* sqlite3.c:124548:20: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -104268,7 +104287,7 @@ func Xsqlite3FkOldmask(tls *libc.TLS, pParse uintptr, pTab uintptr) U32 { /* sql // not "NO ACTION" (i.e. is CASCADE, SET DEFAULT or SET NULL). // // Or, assuming some other foreign key processing is required, 1. -func Xsqlite3FkRequired(tls *libc.TLS, pParse uintptr, pTab uintptr, aChange uintptr, chngRowid int32) int32 { /* sqlite3.c:124585:20: */ +func Xsqlite3FkRequired(tls *libc.TLS, pParse uintptr, pTab uintptr, aChange uintptr, chngRowid int32) int32 { /* sqlite3.c:124598:20: */ var eRet int32 = 1 // Value to return if bHaveFK is true var bHaveFK int32 = 0 // If FK processing is required if (*Sqlite3)(unsafe.Pointer((*Parse)(unsafe.Pointer(pParse)).Fdb)).Fflags&uint64(SQLITE_ForeignKeys) != 0 && int32((*Table)(unsafe.Pointer(pTab)).FeTabType) == TABTYP_NORM { @@ -104336,7 +104355,7 @@ func Xsqlite3FkRequired(tls *libc.TLS, pParse uintptr, pTab uintptr, aChange uin // The returned pointer is cached as part of the foreign key object. It // is eventually freed along with the rest of the foreign key object by // sqlite3FkDelete(). -func fkActionTrigger(tls *libc.TLS, pParse uintptr, pTab uintptr, pFKey uintptr, pChanges uintptr) uintptr { /* sqlite3.c:124653:16: */ +func fkActionTrigger(tls *libc.TLS, pParse uintptr, pTab uintptr, pFKey uintptr, pChanges uintptr) uintptr { /* sqlite3.c:124666:16: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -104539,7 +104558,7 @@ func fkActionTrigger(tls *libc.TLS, pParse uintptr, pTab uintptr, pFKey uintptr, // This function is called when deleting or updating a row to implement // any required CASCADE, SET NULL or SET DEFAULT actions. -func Xsqlite3FkActions(tls *libc.TLS, pParse uintptr, pTab uintptr, pChanges uintptr, regOld int32, aChange uintptr, bChngRowid int32) { /* sqlite3.c:124845:21: */ +func Xsqlite3FkActions(tls *libc.TLS, pParse uintptr, pTab uintptr, pChanges uintptr, regOld int32, aChange uintptr, bChngRowid int32) { /* sqlite3.c:124858:21: */ // If foreign-key support is enabled, iterate through all FKs that // refer to table pTab. If there is an action associated with the FK // for this operation (either update or delete), invoke the associated @@ -104560,7 +104579,7 @@ func Xsqlite3FkActions(tls *libc.TLS, pParse uintptr, pTab uintptr, pChanges uin // Free all memory associated with foreign key definitions attached to // table pTab. Remove the deleted foreign keys from the Schema.fkeyHash // hash table. -func Xsqlite3FkDelete(tls *libc.TLS, db uintptr, pTab uintptr) { /* sqlite3.c:124877:21: */ +func Xsqlite3FkDelete(tls *libc.TLS, db uintptr, pTab uintptr) { /* sqlite3.c:124890:21: */ var pFKey uintptr // Iterator variable var pNext uintptr // Copy of pFKey->pNextFrom @@ -104620,7 +104639,7 @@ func Xsqlite3FkDelete(tls *libc.TLS, db uintptr, pTab uintptr) { /* sqlite3.c:12 // // If pTab is a WITHOUT ROWID table, then it is the PRIMARY KEY index // for that table that is actually opened. -func Xsqlite3OpenTable(tls *libc.TLS, pParse uintptr, iCur int32, iDb int32, pTab uintptr, opcode int32) { /* sqlite3.c:124943:21: */ +func Xsqlite3OpenTable(tls *libc.TLS, pParse uintptr, iCur int32, iDb int32, pTab uintptr, opcode int32) { /* sqlite3.c:124956:21: */ var v uintptr v = (*Parse)(unsafe.Pointer(pParse)).FpVdbe @@ -104662,7 +104681,7 @@ func Xsqlite3OpenTable(tls *libc.TLS, pParse uintptr, iCur int32, iDb int32, pTa // Memory for the buffer containing the column index affinity string // is managed along with the rest of the Index structure. It will be // released when sqlite3DeleteIndex() is called. -func Xsqlite3IndexAffinityStr(tls *libc.TLS, db uintptr, pIdx uintptr) uintptr { /* sqlite3.c:124990:27: */ +func Xsqlite3IndexAffinityStr(tls *libc.TLS, db uintptr, pIdx uintptr) uintptr { /* sqlite3.c:125003:27: */ if !(int32((*Index)(unsafe.Pointer(pIdx)).FzColAff) != 0) { // The first time a column affinity string for a particular index is // required, it is allocated and populated here. It is then stored as @@ -104741,7 +104760,7 @@ func Xsqlite3IndexAffinityStr(tls *libc.TLS, db uintptr, pIdx uintptr) uintptr { // register set as the OP_MakeRecord. If iReg>0 then register iReg is // the first of a series of registers that will form the new record. // Apply the type checking to that array of registers. -func Xsqlite3TableAffinity(tls *libc.TLS, v uintptr, pTab uintptr, iReg int32) { /* sqlite3.c:125069:21: */ +func Xsqlite3TableAffinity(tls *libc.TLS, v uintptr, pTab uintptr, iReg int32) { /* sqlite3.c:125082:21: */ var i int32 var j int32 var zColAff uintptr @@ -104799,7 +104818,7 @@ func Xsqlite3TableAffinity(tls *libc.TLS, v uintptr, pTab uintptr, iReg int32) { // have been opened at any point in the VDBE program. This is used to see if // a statement of the form "INSERT INTO SELECT ..." can // run without using a temporary table for the results of the SELECT. -func readsTable(tls *libc.TLS, p uintptr, iDb int32, pTab uintptr) int32 { /* sqlite3.c:125130:12: */ +func readsTable(tls *libc.TLS, p uintptr, iDb int32, pTab uintptr) int32 { /* sqlite3.c:125143:12: */ var v uintptr = Xsqlite3GetVdbe(tls, p) var i int32 var iEnd int32 = Xsqlite3VdbeCurrentAddr(tls, v) @@ -104835,7 +104854,7 @@ func readsTable(tls *libc.TLS, p uintptr, iDb int32, pTab uintptr) int32 { /* sq // This walker callback will compute the union of colFlags flags for all // referenced columns in a CHECK constraint or generated column expression. -func exprColumnFlagUnion(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:125167:12: */ +func exprColumnFlagUnion(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:125180:12: */ if int32((*Expr)(unsafe.Pointer(pExpr)).Fop) == TK_COLUMN && int32((*Expr)(unsafe.Pointer(pExpr)).FiColumn) >= 0 { *(*U16)(unsafe.Pointer(pWalker + 20)) |= U16(int32((*Column)(unsafe.Pointer((*Table1)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pWalker + 24)))).FaCol + uintptr((*Expr)(unsafe.Pointer(pExpr)).FiColumn)*16)).FcolFlags)) @@ -104848,7 +104867,7 @@ func exprColumnFlagUnion(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { // or VIRTUAL columns have not yet been initialized. This routine goes // back and computes the values for those columns based on the previously // computed normal columns. -func Xsqlite3ComputeGeneratedColumns(tls *libc.TLS, pParse uintptr, iRegStore int32, pTab uintptr) { /* sqlite3.c:125183:21: */ +func Xsqlite3ComputeGeneratedColumns(tls *libc.TLS, pParse uintptr, iRegStore int32, pTab uintptr) { /* sqlite3.c:125196:21: */ bp := tls.Alloc(36) defer tls.Free(36) @@ -104961,7 +104980,7 @@ func Xsqlite3ComputeGeneratedColumns(tls *libc.TLS, pParse uintptr, iRegStore in // // The 2nd register is the one that is returned. That is all the // insert routine needs to know about. -func autoIncBegin(tls *libc.TLS, pParse uintptr, iDb int32, pTab uintptr) int32 { /* sqlite3.c:125307:12: */ +func autoIncBegin(tls *libc.TLS, pParse uintptr, iDb int32, pTab uintptr) int32 { /* sqlite3.c:125320:12: */ var memId int32 = 0 // Register holding maximum rowid if (*Table)(unsafe.Pointer(pTab)).FtabFlags&U32(TF_Autoincrement) != U32(0) && @@ -105015,7 +105034,7 @@ func autoIncBegin(tls *libc.TLS, pParse uintptr, iDb int32, pTab uintptr) int32 // This routine generates code that will initialize all of the // register used by the autoincrement tracker. -func Xsqlite3AutoincrementBegin(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:125358:21: */ +func Xsqlite3AutoincrementBegin(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:125371:21: */ var p uintptr // Information about an AUTOINCREMENT var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb // The database connection var pDb uintptr // Database only autoinc table @@ -105055,7 +105074,7 @@ func Xsqlite3AutoincrementBegin(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:12 } } -var iLn1 int32 = 0 /* sqlite3.c:125372:22 */ +var iLn1 int32 = 0 /* sqlite3.c:125385:22 */ var autoInc = [12]VdbeOpList{ /* 0 */ {Fopcode: U8(OP_Null)}, /* 1 */ {Fopcode: U8(OP_Rewind), Fp2: int8(10)}, @@ -105069,7 +105088,7 @@ var autoInc = [12]VdbeOpList{ /* 9 */ {Fopcode: U8(OP_Next), Fp2: int8(2)}, /* 10 */ {Fopcode: U8(OP_Integer)}, /* 11 */ {Fopcode: U8(OP_Close)}, -} /* sqlite3.c:125373:29 */ +} /* sqlite3.c:125386:29 */ // Update the maximum rowid for an autoincrement calculation. // @@ -105077,7 +105096,7 @@ var autoInc = [12]VdbeOpList{ // new rowid that is about to be inserted. If that new rowid is // larger than the maximum rowid in the memId memory cell, then the // memory cell is updated. -func autoIncStep(tls *libc.TLS, pParse uintptr, memId int32, regRowid int32) { /* sqlite3.c:125419:13: */ +func autoIncStep(tls *libc.TLS, pParse uintptr, memId int32, regRowid int32) { /* sqlite3.c:125432:13: */ if memId > 0 { Xsqlite3VdbeAddOp2(tls, (*Parse)(unsafe.Pointer(pParse)).FpVdbe, OP_MemMax, memId, regRowid) } @@ -105088,7 +105107,7 @@ func autoIncStep(tls *libc.TLS, pParse uintptr, memId int32, regRowid int32) { / // Every statement that might do an INSERT into an autoincrement // table (either directly or through triggers) needs to call this // routine just before the "exit" code. -func autoIncrementEnd(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:125432:29: */ +func autoIncrementEnd(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:125445:29: */ var p uintptr var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb @@ -105119,16 +105138,16 @@ func autoIncrementEnd(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:125432:29: * } } -var iLn2 int32 = 0 /* sqlite3.c:125439:22 */ +var iLn2 int32 = 0 /* sqlite3.c:125452:22 */ var autoIncEnd = [5]VdbeOpList{ /* 0 */ {Fopcode: U8(OP_NotNull), Fp2: int8(2)}, /* 1 */ {Fopcode: U8(OP_NewRowid)}, /* 2 */ {Fopcode: U8(OP_MakeRecord), Fp2: int8(2)}, /* 3 */ {Fopcode: U8(OP_Insert)}, /* 4 */ {Fopcode: U8(OP_Close)}, -} /* sqlite3.c:125440:29 */ +} /* sqlite3.c:125453:29 */ -func Xsqlite3AutoincrementEnd(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:125469:21: */ +func Xsqlite3AutoincrementEnd(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:125482:21: */ if (*Parse)(unsafe.Pointer(pParse)).FpAinc != 0 { autoIncrementEnd(tls, pParse) } @@ -105229,7 +105248,7 @@ func Xsqlite3AutoincrementEnd(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:1254 // transfer values form intermediate table into
// end loop // D: cleanup -func Xsqlite3Insert(tls *libc.TLS, pParse uintptr, pTabList uintptr, pSelect uintptr, pColumn uintptr, onError int32, pUpsert uintptr) { /* sqlite3.c:125588:21: */ +func Xsqlite3Insert(tls *libc.TLS, pParse uintptr, pTabList uintptr, pSelect uintptr, pColumn uintptr, onError int32, pUpsert uintptr) { /* sqlite3.c:125601:21: */ bp := tls.Alloc(148) defer tls.Free(148) @@ -106283,7 +106302,7 @@ insert_cleanup: // Set bit 0x01 of pWalker->eCode if pWalker->eCode to 0 and if this // expression node references any of the // columns that are being modifed by an UPDATE statement. -func checkConstraintExprNode(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:126347:12: */ +func checkConstraintExprNode(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:126360:12: */ if int32((*Expr)(unsafe.Pointer(pExpr)).Fop) == TK_COLUMN { if int32((*Expr)(unsafe.Pointer(pExpr)).FiColumn) >= 0 { @@ -106310,7 +106329,7 @@ func checkConstraintExprNode(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int3 // The operation of this routine is the same - return true if an only if // the expression uses one or more of columns identified by the second and // third arguments. -func Xsqlite3ExprReferencesUpdatedColumn(tls *libc.TLS, pExpr uintptr, aiChng uintptr, chngRowid int32) int32 { /* sqlite3.c:126376:20: */ +func Xsqlite3ExprReferencesUpdatedColumn(tls *libc.TLS, pExpr uintptr, aiChng uintptr, chngRowid int32) int32 { /* sqlite3.c:126389:20: */ bp := tls.Alloc(28) defer tls.Free(28) @@ -106343,7 +106362,7 @@ func Xsqlite3ExprReferencesUpdatedColumn(tls *libc.TLS, pExpr uintptr, aiChng ui type IndexListTerm1 = struct { Fp uintptr Fix int32 -} /* sqlite3.c:126409:9 */ +} /* sqlite3.c:126422:9 */ // The sqlite3GenerateConstraintChecks() routine usually wants to visit // the indexes of a table in the order provided in the Table->pIndex list. @@ -106354,7 +106373,7 @@ type IndexListTerm1 = struct { // The IndexIterator object is used to walk through all of the indexes // of a table in either Index.pNext order, or in some other order established // by an array of IndexListTerm objects. -type IndexListTerm = IndexListTerm1 /* sqlite3.c:126409:30 */ +type IndexListTerm = IndexListTerm1 /* sqlite3.c:126422:30 */ type IndexIterator1 = struct { FeType int32 Fi int32 @@ -106362,12 +106381,12 @@ type IndexIterator1 = struct { Flx struct{ FpIdx uintptr } F__ccgo_pad1 [4]byte } -} /* sqlite3.c:126410:9 */ +} /* sqlite3.c:126423:9 */ -type IndexIterator = IndexIterator1 /* sqlite3.c:126410:30 */ +type IndexIterator = IndexIterator1 /* sqlite3.c:126423:30 */ // Return the first index on the list -func indexIteratorFirst(tls *libc.TLS, pIter uintptr, pIx uintptr) uintptr { /* sqlite3.c:126434:14: */ +func indexIteratorFirst(tls *libc.TLS, pIter uintptr, pIx uintptr) uintptr { /* sqlite3.c:126447:14: */ if (*IndexIterator)(unsafe.Pointer(pIter)).FeType != 0 { *(*int32)(unsafe.Pointer(pIx)) = (*IndexListTerm)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pIter + 8 + 4 /* &.aIdx */)))).Fix @@ -106380,7 +106399,7 @@ func indexIteratorFirst(tls *libc.TLS, pIter uintptr, pIx uintptr) uintptr { /* } // Return the next index from the list. Return NULL when out of indexes -func indexIteratorNext(tls *libc.TLS, pIter uintptr, pIx uintptr) uintptr { /* sqlite3.c:126446:14: */ +func indexIteratorNext(tls *libc.TLS, pIter uintptr, pIx uintptr) uintptr { /* sqlite3.c:126459:14: */ if (*IndexIterator)(unsafe.Pointer(pIter)).FeType != 0 { var i int32 = libc.PreIncInt32(&(*IndexIterator)(unsafe.Pointer(pIter)).Fi, 1) if i >= *(*int32)(unsafe.Pointer(pIter + 8)) { @@ -106486,7 +106505,7 @@ func indexIteratorNext(tls *libc.TLS, pIter uintptr, pIx uintptr) uintptr { /* s // Or if overrideError==OE_Default, then the pParse->onError parameter // is used. Or if pParse->onError==OE_Default then the onError value // for the constraint is used. -func Xsqlite3GenerateConstraintChecks(tls *libc.TLS, pParse uintptr, pTab uintptr, aRegIdx uintptr, iDataCur int32, iIdxCur int32, regNewData int32, regOldData int32, pkChng U8, overrideError U8, ignoreDest int32, pbMayReplace uintptr, aiChng uintptr, pUpsert uintptr) { /* sqlite3.c:126553:21: */ +func Xsqlite3GenerateConstraintChecks(tls *libc.TLS, pParse uintptr, pTab uintptr, aRegIdx uintptr, iDataCur int32, iIdxCur int32, regNewData int32, regOldData int32, pkChng U8, overrideError U8, ignoreDest int32, pbMayReplace uintptr, aiChng uintptr, pUpsert uintptr) { /* sqlite3.c:126566:21: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -107349,7 +107368,7 @@ func Xsqlite3GenerateConstraintChecks(tls *libc.TLS, pParse uintptr, pTab uintpt // number is iCur, and register regData contains the new record for the // PK index. This function adds code to invoke the pre-update hook, // if one is registered. -func codeWithoutRowidPreupdate(tls *libc.TLS, pParse uintptr, pTab uintptr, iCur int32, regData int32) { /* sqlite3.c:127411:13: */ +func codeWithoutRowidPreupdate(tls *libc.TLS, pParse uintptr, pTab uintptr, iCur int32, regData int32) { /* sqlite3.c:127424:13: */ var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe var r int32 = Xsqlite3GetTempReg(tls, pParse) @@ -107366,7 +107385,7 @@ func codeWithoutRowidPreupdate(tls *libc.TLS, pParse uintptr, pTab uintptr, iCur // // The arguments to this routine should be the same as the first six // arguments to sqlite3GenerateConstraintChecks. -func Xsqlite3CompleteInsertion(tls *libc.TLS, pParse uintptr, pTab uintptr, iDataCur int32, iIdxCur int32, regNewData int32, aRegIdx uintptr, update_flags int32, appendBias int32, useSeekResult int32) { /* sqlite3.c:127439:21: */ +func Xsqlite3CompleteInsertion(tls *libc.TLS, pParse uintptr, pTab uintptr, iDataCur int32, iIdxCur int32, regNewData int32, aRegIdx uintptr, update_flags int32, appendBias int32, useSeekResult int32) { /* sqlite3.c:127452:21: */ var v uintptr // Prepared statements under construction var pIdx uintptr // An index being inserted or updated var pik_flags U8 // flag values passed to the btree insert @@ -107469,7 +107488,7 @@ __3: // // If pTab is a virtual table, then this routine is a no-op and the // *piDataCur and *piIdxCur values are left uninitialized. -func Xsqlite3OpenTableAndIndices(tls *libc.TLS, pParse uintptr, pTab uintptr, op int32, p5 U8, iBase int32, aToOpen uintptr, piDataCur uintptr, piIdxCur uintptr) int32 { /* sqlite3.c:127527:20: */ +func Xsqlite3OpenTableAndIndices(tls *libc.TLS, pParse uintptr, pTab uintptr, op int32, p5 U8, iBase int32, aToOpen uintptr, piDataCur uintptr, piIdxCur uintptr) int32 { /* sqlite3.c:127540:20: */ var i int32 var iDb int32 var iDataCur int32 @@ -107547,7 +107566,7 @@ __3: // * The same onError processing (OE_Abort, OE_Ignore, etc) // * The same collating sequence on each column // * The index has the exact same WHERE clause -func xferCompatibleIndex(tls *libc.TLS, pDest uintptr, pSrc uintptr) int32 { /* sqlite3.c:127606:12: */ +func xferCompatibleIndex(tls *libc.TLS, pDest uintptr, pSrc uintptr) int32 { /* sqlite3.c:127619:12: */ var i int32 if int32((*Index)(unsafe.Pointer(pDest)).FnKeyCol) != int32((*Index)(unsafe.Pointer(pSrc)).FnKeyCol) || int32((*Index)(unsafe.Pointer(pDest)).FnColumn) != int32((*Index)(unsafe.Pointer(pSrc)).FnColumn) { @@ -107605,7 +107624,7 @@ func xferCompatibleIndex(tls *libc.TLS, pDest uintptr, pSrc uintptr) int32 { /* // is no chance that the xfer optimization can be applied. // // This optimization is particularly useful at making VACUUM run faster. -func xferOptimization(tls *libc.TLS, pParse uintptr, pDest uintptr, pSelect uintptr, onError int32, iDbDest int32) int32 { /* sqlite3.c:127667:12: */ +func xferOptimization(tls *libc.TLS, pParse uintptr, pDest uintptr, pSelect uintptr, onError int32, iDbDest int32) int32 { /* sqlite3.c:127680:12: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb var pEList uintptr // The result set of the SELECT var pSrc uintptr // The table in the FROM clause of SELECT @@ -107985,7 +108004,7 @@ func xferOptimization(tls *libc.TLS, pParse uintptr, pDest uintptr, pSelect uint // the xCallback() function is called. pArg becomes the first // 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 Sqlite3_callback, pArg uintptr, pzErrMsg uintptr) int32 { /* sqlite3.c:128078:16: */ +func Xsqlite3_exec(tls *libc.TLS, db uintptr, zSql uintptr, xCallback Sqlite3_callback, pArg uintptr, pzErrMsg uintptr) int32 { /* sqlite3.c:128091:16: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -108006,7 +108025,7 @@ func Xsqlite3_exec(tls *libc.TLS, db uintptr, zSql uintptr, xCallback Sqlite3_ca if !!(Xsqlite3SafetyCheckOk(tls, db) != 0) { goto __1 } - return Xsqlite3MisuseError(tls, 128091) + return Xsqlite3MisuseError(tls, 128104) __1: ; if !(zSql == uintptr(0)) { @@ -108195,7 +108214,7 @@ __26: // This is the function signature used for all extension entry points. It // is also defined in the file "loadext.c". -type Sqlite3_loadext_entry = uintptr /* sqlite3.c:128572:13 */ +type Sqlite3_loadext_entry = uintptr /* sqlite3.c:128585:13 */ // The following macros redefine the API routines so that they are // redirected through the global sqlite3_api structure. @@ -108529,7 +108548,7 @@ var sqlite3Apis = Sqlite3_api_routines{ Fvtab_in: 0, Fvtab_in_first: 0, Fvtab_in_next: 0, -} /* sqlite3.c:129018:35 */ +} /* sqlite3.c:129031:35 */ // True if x is the directory separator character @@ -108543,7 +108562,7 @@ var sqlite3Apis = Sqlite3_api_routines{ // If an error occurs and pzErrMsg is not 0, then fill *pzErrMsg with // error message text. The calling function should free this memory // by calling sqlite3DbFree(db, ). -func sqlite3LoadExtension(tls *libc.TLS, db uintptr, zFile uintptr, zProc uintptr, pzErrMsg uintptr) int32 { /* sqlite3.c:129402:12: */ +func sqlite3LoadExtension(tls *libc.TLS, db uintptr, zFile uintptr, zProc uintptr, pzErrMsg uintptr) int32 { /* sqlite3.c:129415:12: */ bp := tls.Alloc(60) defer tls.Free(60) @@ -108797,9 +108816,9 @@ __28: var azEndings = [1]uintptr{ ts + 15942, -} /* sqlite3.c:129420:21 */ +} /* sqlite3.c:129433:21 */ -func Xsqlite3_load_extension(tls *libc.TLS, db uintptr, zFile uintptr, zProc uintptr, pzErrMsg uintptr) int32 { /* sqlite3.c:129553:16: */ +func Xsqlite3_load_extension(tls *libc.TLS, db uintptr, zFile uintptr, zProc uintptr, pzErrMsg uintptr) int32 { /* sqlite3.c:129566:16: */ var rc int32 Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) rc = sqlite3LoadExtension(tls, db, zFile, zProc, pzErrMsg) @@ -108810,7 +108829,7 @@ func Xsqlite3_load_extension(tls *libc.TLS, db uintptr, zFile uintptr, zProc uin // Call this routine when the database connection is closing in order // to clean up loaded extensions -func Xsqlite3CloseExtensions(tls *libc.TLS, db uintptr) { /* sqlite3.c:129571:21: */ +func Xsqlite3CloseExtensions(tls *libc.TLS, db uintptr) { /* sqlite3.c:129584:21: */ var i int32 for i = 0; i < (*Sqlite3)(unsafe.Pointer(db)).FnExtension; i++ { @@ -108821,7 +108840,7 @@ func Xsqlite3CloseExtensions(tls *libc.TLS, db uintptr) { /* sqlite3.c:129571:21 // Enable or disable extension loading. Extension loading is disabled by // default so as not to open security holes in older applications. -func Xsqlite3_enable_load_extension(tls *libc.TLS, db uintptr, onoff int32) int32 { /* sqlite3.c:129584:16: */ +func Xsqlite3_enable_load_extension(tls *libc.TLS, db uintptr, onoff int32) int32 { /* sqlite3.c:129597:16: */ Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) if onoff != 0 { *(*U64)(unsafe.Pointer(db + 28)) |= uint64(SQLITE_LoadExtension | SQLITE_LoadExtFunc) @@ -108840,15 +108859,15 @@ func Xsqlite3_enable_load_extension(tls *libc.TLS, db uintptr, onoff int32) int3 type sqlite3AutoExtList = struct { FnExt U32 FaExt uintptr -} /* sqlite3.c:129604:9 */ +} /* sqlite3.c:129617:9 */ // The following object holds the list of automatically loaded // extensions. // // This list is shared across threads. The SQLITE_MUTEX_STATIC_MAIN // mutex must be held while accessing this list. -type Sqlite3AutoExtList = sqlite3AutoExtList /* sqlite3.c:129604:35 */ -var sqlite3Autoext = sqlite3AutoExtList{} /* sqlite3.c:129608:3 */ +type Sqlite3AutoExtList = sqlite3AutoExtList /* sqlite3.c:129617:35 */ +var sqlite3Autoext = sqlite3AutoExtList{} /* sqlite3.c:129621:3 */ // The "wsdAutoext" macro will resolve to the autoextension // state vector. If writable static data is unsupported on the target, @@ -108858,7 +108877,7 @@ var sqlite3Autoext = sqlite3AutoExtList{} /* sqlite3.c:129608:3 */ // Register a statically linked extension that is automatically // loaded by every new database connection. -func Xsqlite3_auto_extension(tls *libc.TLS, xInit uintptr) int32 { /* sqlite3.c:129630:16: */ +func Xsqlite3_auto_extension(tls *libc.TLS, xInit uintptr) int32 { /* sqlite3.c:129643:16: */ var rc int32 = SQLITE_OK rc = Xsqlite3_initialize(tls) if rc != 0 { @@ -108899,7 +108918,7 @@ func Xsqlite3_auto_extension(tls *libc.TLS, xInit uintptr) int32 { /* sqlite3.c: // // 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) int32 { /* sqlite3.c:129677:16: */ +func Xsqlite3_cancel_auto_extension(tls *libc.TLS, xInit uintptr) int32 { /* sqlite3.c:129690:16: */ var mutex uintptr = Xsqlite3MutexAlloc(tls, SQLITE_MUTEX_STATIC_MAIN) var i int32 var n int32 = 0 @@ -108918,7 +108937,7 @@ func Xsqlite3_cancel_auto_extension(tls *libc.TLS, xInit uintptr) int32 { /* sql } // Reset the automatic extension loading mechanism. -func Xsqlite3_reset_auto_extension(tls *libc.TLS) { /* sqlite3.c:129702:17: */ +func Xsqlite3_reset_auto_extension(tls *libc.TLS) { /* sqlite3.c:129715:17: */ if Xsqlite3_initialize(tls) == SQLITE_OK { var mutex uintptr = Xsqlite3MutexAlloc(tls, SQLITE_MUTEX_STATIC_MAIN) @@ -108933,7 +108952,7 @@ func Xsqlite3_reset_auto_extension(tls *libc.TLS) { /* sqlite3.c:129702:17: */ // Load all automatic extensions. // // If anything goes wrong, set an error in the database connection. -func Xsqlite3AutoLoadExtensions(tls *libc.TLS, db uintptr) { /* sqlite3.c:129724:21: */ +func Xsqlite3AutoLoadExtensions(tls *libc.TLS, db uintptr) { /* sqlite3.c:129737:21: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -109070,7 +109089,7 @@ var pragCName = [57]uintptr{ ts + 16217, ts + 16228, -} /* sqlite3.c:129865:19 */ +} /* sqlite3.c:129878:19 */ // Definitions of all built-in pragmas type PragmaName1 = struct { @@ -109080,10 +109099,10 @@ type PragmaName1 = struct { FiPragCName U8 FnPragCName U8 FiArg U64 -} /* sqlite3.c:129930:9 */ +} /* sqlite3.c:129943:9 */ // Definitions of all built-in pragmas -type PragmaName = PragmaName1 /* sqlite3.c:129937:3 */ +type PragmaName = PragmaName1 /* sqlite3.c:129950:3 */ var aPragmaName = [66]PragmaName{ { /* zName: */ FzName: ts + 16236, /* ePragTyp: */ FePragTyp: U8(PragTyp_ANALYSIS_LIMIT), @@ -109320,7 +109339,7 @@ var aPragmaName = [66]PragmaName{ /* ePragTyp: */ FePragTyp: U8(PragTyp_FLAG), /* ePragFlg: */ FmPragFlg: U8(PragFlg_Result0 | PragFlg_NoColumns1), /* iArg: */ FiArg: uint64(SQLITE_WriteSchema | SQLITE_NoSchemaError)}, -} /* sqlite3.c:129938:25 */ +} /* sqlite3.c:129951:25 */ // Number of pragmas: 68 on by default, 78 total. @@ -109336,7 +109355,7 @@ var aPragmaName = [66]PragmaName{ // should be passed into sqlite3BtreeSetSafetyLevel(). The is done // to support legacy SQL code. The safety level used to be boolean // and older scripts may have used numbers 0 for OFF and 1 for ON. -func getSafetyLevel(tls *libc.TLS, z uintptr, omitFull int32, dflt U8) U8 { /* sqlite3.c:130472:11: */ +func getSafetyLevel(tls *libc.TLS, z uintptr, omitFull int32, dflt U8) U8 { /* sqlite3.c:130485:11: */ // on no off false yes true extra full var i int32 var n int32 @@ -109353,13 +109372,13 @@ func getSafetyLevel(tls *libc.TLS, z uintptr, omitFull int32, dflt U8) U8 { /* s return dflt } -var zText = *(*[25]int8)(unsafe.Pointer(ts + 17203)) /* sqlite3.c:130474:21 */ -var iOffset = [8]U8{U8(0), U8(1), U8(2), U8(4), U8(9), U8(12), U8(15), U8(20)} /* sqlite3.c:130475:19 */ -var iLength = [8]U8{U8(2), U8(2), U8(3), U8(5), U8(3), U8(4), U8(5), U8(4)} /* sqlite3.c:130476:19 */ -var iValue = [8]U8{U8(1), U8(0), U8(0), U8(0), U8(1), U8(1), U8(3), U8(2)} /* sqlite3.c:130477:19 */ +var zText = *(*[25]int8)(unsafe.Pointer(ts + 17203)) /* sqlite3.c:130487:21 */ +var iOffset = [8]U8{U8(0), U8(1), U8(2), U8(4), U8(9), U8(12), U8(15), U8(20)} /* sqlite3.c:130488:19 */ +var iLength = [8]U8{U8(2), U8(2), U8(3), U8(5), U8(3), U8(4), U8(5), U8(4)} /* sqlite3.c:130489:19 */ +var iValue = [8]U8{U8(1), U8(0), U8(0), U8(0), U8(1), U8(1), U8(3), U8(2)} /* sqlite3.c:130490:19 */ // Interpret the given string as a boolean value. -func Xsqlite3GetBoolean(tls *libc.TLS, z uintptr, dflt U8) U8 { /* sqlite3.c:130497:19: */ +func Xsqlite3GetBoolean(tls *libc.TLS, z uintptr, dflt U8) U8 { /* sqlite3.c:130510:19: */ return U8(libc.Bool32(int32(getSafetyLevel(tls, z, 1, dflt)) != 0)) } @@ -109368,7 +109387,7 @@ func Xsqlite3GetBoolean(tls *libc.TLS, z uintptr, dflt U8) U8 { /* sqlite3.c:130 // the rest of the file if PRAGMAs are omitted from the build. // Interpret the given string as a locking mode value. -func getLockingMode(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:130510:12: */ +func getLockingMode(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:130523:12: */ if z != 0 { if 0 == Xsqlite3StrICmp(tls, z, ts+17228) { return PAGER_LOCKINGMODE_EXCLUSIVE @@ -109384,7 +109403,7 @@ func getLockingMode(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:130510:12: */ // // The following strings, "none", "full" and "incremental" are // acceptable, as are their numeric equivalents: 0, 1 and 2 respectively. -func getAutoVacuum(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:130525:12: */ +func getAutoVacuum(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:130538:12: */ var i int32 if 0 == Xsqlite3StrICmp(tls, z, ts+7898) { return BTREE_AUTOVACUUM_NONE @@ -109407,7 +109426,7 @@ func getAutoVacuum(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:130525:12: */ // Interpret the given string as a temp db location. Return 1 for file // backed temporary databases, 2 for the Red-Black tree in memory database // and 0 to use the compile-time default. -func getTempStore(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:130541:12: */ +func getTempStore(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:130554:12: */ if int32(*(*int8)(unsafe.Pointer(z))) >= '0' && int32(*(*int8)(unsafe.Pointer(z))) <= '2' { return int32(*(*int8)(unsafe.Pointer(z))) - '0' } else if Xsqlite3StrICmp(tls, z, ts+16178) == 0 { @@ -109422,7 +109441,7 @@ func getTempStore(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:130541:12: */ // Invalidate temp storage, either when the temp storage is changed // from default, or when 'file' and the temp_store_directory has changed -func invalidateTempStorage(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:130559:12: */ +func invalidateTempStorage(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:130572:12: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb if (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+1*16)).FpBt != uintptr(0) { if !(int32((*Sqlite3)(unsafe.Pointer(db)).FautoCommit) != 0) || @@ -109441,7 +109460,7 @@ func invalidateTempStorage(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:1 // If the TEMP database is open, close it and mark the database schema // as needing reloading. This must be done when using the SQLITE_TEMP_STORE // or DEFAULT_TEMP_STORE pragmas. -func changeTempStorage(tls *libc.TLS, pParse uintptr, zStorageType uintptr) int32 { /* sqlite3.c:130583:12: */ +func changeTempStorage(tls *libc.TLS, pParse uintptr, zStorageType uintptr) int32 { /* sqlite3.c:130596:12: */ var ts int32 = getTempStore(tls, zStorageType) var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb if int32((*Sqlite3)(unsafe.Pointer(db)).Ftemp_store) == ts { @@ -109455,7 +109474,7 @@ func changeTempStorage(tls *libc.TLS, pParse uintptr, zStorageType uintptr) int3 } // Set result column names for a pragma. -func setPragmaResultColumnNames(tls *libc.TLS, v uintptr, pPragma uintptr) { /* sqlite3.c:130598:13: */ +func setPragmaResultColumnNames(tls *libc.TLS, v uintptr, pPragma uintptr) { /* sqlite3.c:130611:13: */ var n U8 = (*PragmaName)(unsafe.Pointer(pPragma)).FnPragCName Xsqlite3VdbeSetNumCols(tls, v, func() int32 { if int32(n) == 0 { @@ -109489,7 +109508,7 @@ func setPragmaResultColumnNames(tls *libc.TLS, v uintptr, pPragma uintptr) { /* } // Generate code to return a single integer value. -func returnSingleInt(tls *libc.TLS, v uintptr, value I64) { /* sqlite3.c:130617:13: */ +func returnSingleInt(tls *libc.TLS, v uintptr, value I64) { /* sqlite3.c:130630:13: */ bp := tls.Alloc(8) defer tls.Free(8) *(*I64)(unsafe.Pointer(bp)) = value @@ -109499,7 +109518,7 @@ func returnSingleInt(tls *libc.TLS, v uintptr, value I64) { /* sqlite3.c:130617: } // Generate code to return a single text value. -func returnSingleText(tls *libc.TLS, v uintptr, zValue uintptr) { /* sqlite3.c:130625:13: */ +func returnSingleText(tls *libc.TLS, v uintptr, zValue uintptr) { /* sqlite3.c:130638:13: */ if zValue != 0 { Xsqlite3VdbeLoadString(tls, v, 1, zValue) Xsqlite3VdbeAddOp2(tls, v, OP_ResultRow, 1, 1) @@ -109508,7 +109527,7 @@ func returnSingleText(tls *libc.TLS, v uintptr, zValue uintptr) { /* sqlite3.c:1 // Set the safety_level and pager flags for pager iDb. Or if iDb<0 // set these values for all pagers. -func setAllPagerFlags(tls *libc.TLS, db uintptr) { /* sqlite3.c:130641:13: */ +func setAllPagerFlags(tls *libc.TLS, db uintptr) { /* sqlite3.c:130654:13: */ if (*Sqlite3)(unsafe.Pointer(db)).FautoCommit != 0 { var pDb uintptr = (*Sqlite3)(unsafe.Pointer(db)).FaDb var n int32 = (*Sqlite3)(unsafe.Pointer(db)).FnDb @@ -109524,7 +109543,7 @@ func setAllPagerFlags(tls *libc.TLS, db uintptr) { /* sqlite3.c:130641:13: */ } // Return a human-readable name for a constraint resolution action. -func actionName(tls *libc.TLS, action U8) uintptr { /* sqlite3.c:130669:19: */ +func actionName(tls *libc.TLS, action U8) uintptr { /* sqlite3.c:130682:19: */ var zName uintptr switch int32(action) { case OE_SetNull: @@ -109549,7 +109568,7 @@ func actionName(tls *libc.TLS, action U8) uintptr { /* sqlite3.c:130669:19: */ // Parameter eMode must be one of the PAGER_JOURNALMODE_XXX constants // defined in pager.h. This function returns the associated lowercase // journal-mode name. -func Xsqlite3JournalModename(tls *libc.TLS, eMode int32) uintptr { /* sqlite3.c:130689:27: */ +func Xsqlite3JournalModename(tls *libc.TLS, eMode int32) uintptr { /* sqlite3.c:130702:27: */ if eMode == int32(uint32(unsafe.Sizeof(azModeName))/uint32(unsafe.Sizeof(uintptr(0)))) { return uintptr(0) @@ -109559,10 +109578,10 @@ func Xsqlite3JournalModename(tls *libc.TLS, eMode int32) uintptr { /* sqlite3.c: var azModeName = [6]uintptr{ ts + 17379, ts + 17386, ts + 17394, ts + 17398, ts + 17262, ts + 17407, -} /* sqlite3.c:130690:15 */ +} /* sqlite3.c:130703:15 */ // Locate a pragma in the aPragmaName[] array. -func pragmaLocate(tls *libc.TLS, zName uintptr) uintptr { /* sqlite3.c:130711:25: */ +func pragmaLocate(tls *libc.TLS, zName uintptr) uintptr { /* sqlite3.c:130724:25: */ var upr int32 var lwr int32 var mid int32 = 0 @@ -109589,7 +109608,7 @@ func pragmaLocate(tls *libc.TLS, zName uintptr) uintptr { /* sqlite3.c:130711:25 // Create zero or more entries in the output for the SQL functions // defined by FuncDef p. -func pragmaFunclistLine(tls *libc.TLS, v uintptr, p uintptr, isBuiltin int32, showInternFuncs int32) { /* sqlite3.c:130732:13: */ +func pragmaFunclistLine(tls *libc.TLS, v uintptr, p uintptr, isBuiltin int32, showInternFuncs int32) { /* sqlite3.c:130745:13: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -109618,15 +109637,15 @@ func pragmaFunclistLine(tls *libc.TLS, v uintptr, p uintptr, isBuiltin int32, sh } } -var mask U32 = U32(SQLITE_DETERMINISTIC | SQLITE_DIRECTONLY | SQLITE_SUBTYPE | SQLITE_INNOCUOUS | SQLITE_FUNC_INTERNAL) /* sqlite3.c:130740:22 */ -var azEnc = [4]uintptr{uintptr(0), ts + 17422, ts + 17427, ts + 17435 /* "utf16be" */} /* sqlite3.c:130747:23 */ +var mask U32 = U32(SQLITE_DETERMINISTIC | SQLITE_DIRECTONLY | SQLITE_SUBTYPE | SQLITE_INNOCUOUS | SQLITE_FUNC_INTERNAL) /* sqlite3.c:130753:22 */ +var azEnc = [4]uintptr{uintptr(0), ts + 17422, ts + 17427, ts + 17435 /* "utf16be" */} /* sqlite3.c:130760:23 */ // Helper subroutine for PRAGMA integrity_check: // // Generate code to output a single-column result row with a value of the // string held in register 3. Decrement the result count in register 1 // and halt if the maximum number of result rows have been issued. -func integrityCheckResultRow(tls *libc.TLS, v uintptr) int32 { /* sqlite3.c:130784:12: */ +func integrityCheckResultRow(tls *libc.TLS, v uintptr) int32 { /* sqlite3.c:130797:12: */ var addr int32 Xsqlite3VdbeAddOp2(tls, v, OP_ResultRow, 3, 1) addr = Xsqlite3VdbeAddOp3(tls, v, OP_IfPos, 1, Xsqlite3VdbeCurrentAddr(tls, v)+2, 1) @@ -109648,7 +109667,7 @@ func integrityCheckResultRow(tls *libc.TLS, v uintptr) int32 { /* sqlite3.c:1307 // If the left side is "database.id" then pId1 is the database name // and pId2 is the id. If the left side is just "id" then pId1 is the // id and pId2 is any empty string. -func Xsqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, pValue uintptr, minusFlag int32) { /* sqlite3.c:130808:21: */ +func Xsqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, pValue uintptr, minusFlag int32) { /* sqlite3.c:130821:21: */ bp := tls.Alloc(568) defer tls.Free(568) @@ -113031,9 +113050,9 @@ type EncName = struct { FzName uintptr Fenc U8 F__ccgo_pad1 [3]byte -} /* sqlite3.c:132383:18 */ +} /* sqlite3.c:132396:18 */ -var iLn3 int32 = 0 /* sqlite3.c:130937:22 */ +var iLn3 int32 = 0 /* sqlite3.c:130950:22 */ var getCacheSize = [9]VdbeOpList{ {Fopcode: U8(OP_Transaction)}, // 0 {Fopcode: U8(OP_ReadCookie), Fp2: int8(1), Fp3: int8(BTREE_DEFAULT_CACHE_SIZE)}, // 1 @@ -113044,16 +113063,16 @@ var getCacheSize = [9]VdbeOpList{ {Fopcode: U8(OP_Integer), Fp2: int8(1)}, // 6 {Fopcode: U8(OP_Noop)}, {Fopcode: U8(OP_ResultRow), Fp1: int8(1), Fp2: int8(1)}, -} /* sqlite3.c:130938:29 */ -var iLn4 int32 = 0 /* sqlite3.c:131206:26 */ +} /* sqlite3.c:130951:29 */ +var iLn4 int32 = 0 /* sqlite3.c:131219:26 */ var setMeta6 = [5]VdbeOpList{ {Fopcode: U8(OP_Transaction), Fp2: int8(1)}, // 0 {Fopcode: U8(OP_ReadCookie), Fp2: int8(1), Fp3: int8(BTREE_LARGEST_ROOT_PAGE)}, {Fopcode: U8(OP_If), Fp1: int8(1)}, // 2 {Fopcode: U8(OP_Halt), Fp2: int8(OE_Abort)}, // 3 {Fopcode: U8(OP_SetCookie), Fp2: int8(BTREE_INCR_VACUUM)}, // 4 -} /* sqlite3.c:131207:33 */ -var iLn5 int32 = 0 /* sqlite3.c:132333:24 */ +} /* sqlite3.c:131220:33 */ +var iLn5 int32 = 0 /* sqlite3.c:132346:24 */ var endCode = [7]VdbeOpList{ {Fopcode: U8(OP_AddImm), Fp1: int8(1)}, // 0 {Fopcode: U8(OP_IfNotZero), Fp1: int8(1), Fp2: int8(4)}, // 1 @@ -113062,7 +113081,7 @@ var endCode = [7]VdbeOpList{ {Fopcode: U8(OP_Halt)}, // 4 {Fopcode: U8(OP_String8), Fp2: int8(3)}, // 5 {Fopcode: U8(OP_Goto), Fp2: int8(3)}, // 6 -} /* sqlite3.c:132334:31 */ +} /* sqlite3.c:132347:31 */ var encnames1 = [9]EncName{ {FzName: ts + 17858, Fenc: U8(SQLITE_UTF8)}, {FzName: ts + 17863, Fenc: U8(SQLITE_UTF8)}, // Must be element [1] @@ -113073,16 +113092,16 @@ var encnames1 = [9]EncName{ {FzName: ts + 17903}, {FzName: ts + 17910}, {}, -} /* sqlite3.c:132386:7 */ +} /* sqlite3.c:132399:7 */ var setCookie = [2]VdbeOpList{ {Fopcode: U8(OP_Transaction), Fp2: int8(1)}, // 0 {Fopcode: U8(OP_SetCookie)}, // 1 -} /* sqlite3.c:132466:31 */ +} /* sqlite3.c:132479:31 */ var readCookie = [3]VdbeOpList{ {Fopcode: U8(OP_Transaction)}, // 0 {Fopcode: U8(OP_ReadCookie), Fp2: int8(1)}, // 1 {Fopcode: U8(OP_ResultRow), Fp1: int8(1), Fp2: int8(1)}, -} /* sqlite3.c:132481:31 */ +} /* sqlite3.c:132494:31 */ // **************************************************************************** // // Implementation of an eponymous virtual table that runs a pragma. @@ -113094,24 +113113,24 @@ type PragmaVtab1 = struct { FnHidden U8 FiHidden U8 F__ccgo_pad1 [2]byte -} /* sqlite3.c:132841:9 */ +} /* sqlite3.c:132854:9 */ // **************************************************************************** // // Implementation of an eponymous virtual table that runs a pragma. // -type PragmaVtab = PragmaVtab1 /* sqlite3.c:132841:27 */ +type PragmaVtab = PragmaVtab1 /* sqlite3.c:132854:27 */ type PragmaVtabCursor1 = struct { Fbase Sqlite3_vtab_cursor FpPragma uintptr FiRowid Sqlite_int64 FazArg [2]uintptr -} /* sqlite3.c:132842:9 */ +} /* sqlite3.c:132855:9 */ -type PragmaVtabCursor = PragmaVtabCursor1 /* sqlite3.c:132842:33 */ +type PragmaVtabCursor = PragmaVtabCursor1 /* sqlite3.c:132855:33 */ // Pragma virtual table module xConnect method. -func pragmaVtabConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 { /* sqlite3.c:132860:12: */ +func pragmaVtabConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 { /* sqlite3.c:132873:12: */ bp := tls.Alloc(256) defer tls.Free(256) @@ -113185,7 +113204,7 @@ __3: } // Pragma virtual table module xDisconnect method. -func pragmaVtabDisconnect(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:132922:12: */ +func pragmaVtabDisconnect(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:132935:12: */ var pTab uintptr = pVtab Xsqlite3_free(tls, pTab) return SQLITE_OK @@ -113197,7 +113216,7 @@ func pragmaVtabDisconnect(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:132 // query planner to give == constraints on as many hidden parameters as // possible, and especially on the first hidden parameter. So return a // high cost if hidden parameters are unconstrained. -func pragmaVtabBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 { /* sqlite3.c:132935:12: */ +func pragmaVtabBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 { /* sqlite3.c:132948:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -113262,7 +113281,7 @@ __3: } // Create a new cursor for the pragma virtual table -func pragmaVtabOpen(tls *libc.TLS, pVtab uintptr, ppCursor uintptr) int32 { /* sqlite3.c:132972:12: */ +func pragmaVtabOpen(tls *libc.TLS, pVtab uintptr, ppCursor uintptr) int32 { /* sqlite3.c:132985:12: */ var pCsr uintptr pCsr = Xsqlite3_malloc(tls, int32(unsafe.Sizeof(PragmaVtabCursor{}))) if pCsr == uintptr(0) { @@ -113275,7 +113294,7 @@ func pragmaVtabOpen(tls *libc.TLS, pVtab uintptr, ppCursor uintptr) int32 { /* s } // Clear all content from pragma virtual table cursor. -func pragmaVtabCursorClear(tls *libc.TLS, pCsr uintptr) { /* sqlite3.c:132983:13: */ +func pragmaVtabCursorClear(tls *libc.TLS, pCsr uintptr) { /* sqlite3.c:132996:13: */ var i int32 Xsqlite3_finalize(tls, (*PragmaVtabCursor)(unsafe.Pointer(pCsr)).FpPragma) (*PragmaVtabCursor)(unsafe.Pointer(pCsr)).FpPragma = uintptr(0) @@ -113286,7 +113305,7 @@ func pragmaVtabCursorClear(tls *libc.TLS, pCsr uintptr) { /* sqlite3.c:132983:13 } // Close a pragma virtual table cursor -func pragmaVtabClose(tls *libc.TLS, cur uintptr) int32 { /* sqlite3.c:132994:12: */ +func pragmaVtabClose(tls *libc.TLS, cur uintptr) int32 { /* sqlite3.c:133007:12: */ var pCsr uintptr = cur pragmaVtabCursorClear(tls, pCsr) Xsqlite3_free(tls, pCsr) @@ -113294,7 +113313,7 @@ func pragmaVtabClose(tls *libc.TLS, cur uintptr) int32 { /* sqlite3.c:132994:12: } // Advance the pragma virtual table cursor to the next row -func pragmaVtabNext(tls *libc.TLS, pVtabCursor uintptr) int32 { /* sqlite3.c:133002:12: */ +func pragmaVtabNext(tls *libc.TLS, pVtabCursor uintptr) int32 { /* sqlite3.c:133015:12: */ var pCsr uintptr = pVtabCursor var rc int32 = SQLITE_OK @@ -113310,7 +113329,7 @@ func pragmaVtabNext(tls *libc.TLS, pVtabCursor uintptr) int32 { /* sqlite3.c:133 } // Pragma virtual table module xFilter method. -func pragmaVtabFilter(tls *libc.TLS, pVtabCursor uintptr, idxNum int32, idxStr uintptr, argc int32, argv uintptr) int32 { /* sqlite3.c:133020:12: */ +func pragmaVtabFilter(tls *libc.TLS, pVtabCursor uintptr, idxNum int32, idxStr uintptr, argc int32, argv uintptr) int32 { /* sqlite3.c:133033:12: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -113378,14 +113397,14 @@ __3: } // Pragma virtual table module xEof method. -func pragmaVtabEof(tls *libc.TLS, pVtabCursor uintptr) int32 { /* sqlite3.c:133070:12: */ +func pragmaVtabEof(tls *libc.TLS, pVtabCursor uintptr) int32 { /* sqlite3.c:133083:12: */ var pCsr uintptr = pVtabCursor return libc.Bool32((*PragmaVtabCursor)(unsafe.Pointer(pCsr)).FpPragma == uintptr(0)) } // The xColumn method simply returns the corresponding column from // the PRAGMA. -func pragmaVtabColumn(tls *libc.TLS, pVtabCursor uintptr, ctx uintptr, i int32) int32 { /* sqlite3.c:133078:12: */ +func pragmaVtabColumn(tls *libc.TLS, pVtabCursor uintptr, ctx uintptr, i int32) int32 { /* sqlite3.c:133091:12: */ var pCsr uintptr = pVtabCursor var pTab uintptr = (*Sqlite3_vtab_cursor)(unsafe.Pointer(pVtabCursor)).FpVtab if i < int32((*PragmaVtab)(unsafe.Pointer(pTab)).FiHidden) { @@ -113397,7 +113416,7 @@ func pragmaVtabColumn(tls *libc.TLS, pVtabCursor uintptr, ctx uintptr, i int32) } // Pragma virtual table module xRowid method. -func pragmaVtabRowid(tls *libc.TLS, pVtabCursor uintptr, p uintptr) int32 { /* sqlite3.c:133096:12: */ +func pragmaVtabRowid(tls *libc.TLS, pVtabCursor uintptr, p uintptr) int32 { /* sqlite3.c:133109:12: */ var pCsr uintptr = pVtabCursor *(*Sqlite_int64)(unsafe.Pointer(p)) = (*PragmaVtabCursor)(unsafe.Pointer(pCsr)).FiRowid return SQLITE_OK @@ -113415,12 +113434,12 @@ var pragmaVtabModule = Sqlite3_module{ // xCreate - create a table FxEof: 0, // xEof FxColumn: 0, // xColumn - read data FxRowid: 0, // xShadowName -} /* sqlite3.c:133103:29 */ +} /* sqlite3.c:133116:29 */ // Check to see if zTabName is really the name of a pragma. If it is, // then register an eponymous virtual table for that pragma and return // a pointer to the Module object for the new virtual table. -func Xsqlite3PragmaVtabRegister(tls *libc.TLS, db uintptr, zName uintptr) uintptr { /* sqlite3.c:133135:23: */ +func Xsqlite3PragmaVtabRegister(tls *libc.TLS, db uintptr, zName uintptr) uintptr { /* sqlite3.c:133148:23: */ var pName uintptr pName = pragmaLocate(tls, zName+uintptr(7)) @@ -113453,7 +113472,7 @@ func Xsqlite3PragmaVtabRegister(tls *libc.TLS, db uintptr, zName uintptr) uintpt // Fill the InitData structure with an error message that indicates // that the database is corrupt. -func corruptSchema(tls *libc.TLS, pData uintptr, azObj uintptr, zExtra uintptr) { /* sqlite3.c:133172:13: */ +func corruptSchema(tls *libc.TLS, pData uintptr, azObj uintptr, zExtra uintptr) { /* sqlite3.c:133185:13: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -113469,7 +113488,7 @@ func corruptSchema(tls *libc.TLS, pData uintptr, azObj uintptr, zExtra uintptr) zExtra)) (*InitData)(unsafe.Pointer(pData)).Frc = SQLITE_ERROR } else if (*Sqlite3)(unsafe.Pointer(db)).Fflags&uint64(SQLITE_WriteSchema) != 0 { - (*InitData)(unsafe.Pointer(pData)).Frc = Xsqlite3CorruptError(tls, 133195) + (*InitData)(unsafe.Pointer(pData)).Frc = Xsqlite3CorruptError(tls, 133208) } else { var z uintptr var zObj uintptr @@ -113483,7 +113502,7 @@ func corruptSchema(tls *libc.TLS, pData uintptr, azObj uintptr, zExtra uintptr) z = Xsqlite3MPrintf(tls, db, ts+18046, libc.VaList(bp+40, z, zExtra)) } *(*uintptr)(unsafe.Pointer((*InitData)(unsafe.Pointer(pData)).FpzErrMsg)) = z - (*InitData)(unsafe.Pointer(pData)).Frc = Xsqlite3CorruptError(tls, 133202) + (*InitData)(unsafe.Pointer(pData)).Frc = Xsqlite3CorruptError(tls, 133215) } } @@ -113491,12 +113510,12 @@ var azAlterType = [3]uintptr{ ts + 18054, ts + 18061, ts + 18073, -} /* sqlite3.c:133183:23 */ +} /* sqlite3.c:133196:23 */ // Check to see if any sibling index (another index on the same table) // of pIndex has the same root page number, and if it does, return true. // This would indicate a corrupt schema. -func Xsqlite3IndexHasDuplicateRootPage(tls *libc.TLS, pIndex uintptr) int32 { /* sqlite3.c:133211:20: */ +func Xsqlite3IndexHasDuplicateRootPage(tls *libc.TLS, pIndex uintptr) int32 { /* sqlite3.c:133224:20: */ var p uintptr for p = (*Table)(unsafe.Pointer((*Index)(unsafe.Pointer(pIndex)).FpTable)).FpIndex; p != 0; p = (*Index)(unsafe.Pointer(p)).FpNext { if (*Index)(unsafe.Pointer(p)).Ftnum == (*Index)(unsafe.Pointer(pIndex)).Ftnum && p != pIndex { @@ -113518,7 +113537,7 @@ func Xsqlite3IndexHasDuplicateRootPage(tls *libc.TLS, pIndex uintptr) int32 { /* // argv[3] = root page number for table or index. 0 for trigger or view. // argv[4] = SQL text for the CREATE statement. // -func Xsqlite3InitCallback(tls *libc.TLS, pInit uintptr, argc int32, argv uintptr, NotUsed uintptr) int32 { /* sqlite3.c:133245:20: */ +func Xsqlite3InitCallback(tls *libc.TLS, pInit uintptr, argc int32, argv uintptr, NotUsed uintptr) int32 { /* sqlite3.c:133258:20: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -113620,7 +113639,7 @@ func Xsqlite3InitCallback(tls *libc.TLS, pInit uintptr, argc int32, argv uintptr // database. iDb==1 should never be used. iDb>=2 is used for // auxiliary databases. Return one of the SQLITE_ error codes to // indicate success or failure. -func Xsqlite3InitOne(tls *libc.TLS, db uintptr, iDb int32, pzErrMsg uintptr, mFlags U32) int32 { /* sqlite3.c:133348:20: */ +func Xsqlite3InitOne(tls *libc.TLS, db uintptr, iDb int32, pzErrMsg uintptr, mFlags U32) int32 { /* sqlite3.c:133361:20: */ bp := tls.Alloc(88) defer tls.Free(88) @@ -113866,7 +113885,7 @@ __20: pDb = (*Sqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*16 goto __22 __21: - if !(rc == SQLITE_OK || (*Sqlite3)(unsafe.Pointer(db)).Fflags&uint64(SQLITE_NoSchemaError) != 0) { + if !(rc == SQLITE_OK || (*Sqlite3)(unsafe.Pointer(db)).Fflags&uint64(SQLITE_NoSchemaError) != 0 && rc != SQLITE_NOMEM) { goto __23 } // Hack: If the SQLITE_NoSchemaError flag is set, then consider @@ -113921,7 +113940,7 @@ __25: // // After a database is initialized, the DB_SchemaLoaded bit is set // bit is set in the flags field of the Db structure. -func Xsqlite3Init(tls *libc.TLS, db uintptr, pzErrMsg uintptr) int32 { /* sqlite3.c:133587:20: */ +func Xsqlite3Init(tls *libc.TLS, db uintptr, pzErrMsg uintptr) int32 { /* sqlite3.c:133600:20: */ var i int32 var rc int32 var commit_internal int32 = libc.BoolInt32(!((*Sqlite3)(unsafe.Pointer(db)).FmDbFlags&U32(DBFLAG_SchemaChange) != 0)) @@ -113953,7 +113972,7 @@ func Xsqlite3Init(tls *libc.TLS, db uintptr, pzErrMsg uintptr) int32 { /* sqlite // This routine is a no-op if the database schema is already initialized. // Otherwise, the schema is loaded. An error code is returned. -func Xsqlite3ReadSchema(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:133619:20: */ +func Xsqlite3ReadSchema(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:133632:20: */ var rc int32 = SQLITE_OK var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb @@ -113972,7 +113991,7 @@ func Xsqlite3ReadSchema(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:1336 // Check schema cookies in all databases. If any cookie is out // of date set pParse->rc to SQLITE_SCHEMA. If all schema cookies // make no changes to pParse->rc. -func schemaIsValid(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:133641:13: */ +func schemaIsValid(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:133654:13: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -114025,7 +114044,7 @@ func schemaIsValid(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:133641:13: */ // // If the same database is attached more than once, the first // attached database is returned. -func Xsqlite3SchemaToIndex(tls *libc.TLS, db uintptr, pSchema uintptr) int32 { /* sqlite3.c:133691:20: */ +func Xsqlite3SchemaToIndex(tls *libc.TLS, db uintptr, pSchema uintptr) int32 { /* sqlite3.c:133704:20: */ var i int32 = -32768 // If pSchema is NULL, then return -32768. This happens when code in @@ -114052,7 +114071,7 @@ func Xsqlite3SchemaToIndex(tls *libc.TLS, db uintptr, pSchema uintptr) int32 { / } // Free all memory allocations in the pParse object -func Xsqlite3ParseObjectReset(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:133721:21: */ +func Xsqlite3ParseObjectReset(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:133734:21: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb Xsqlite3DbFree(tls, db, (*Parse)(unsafe.Pointer(pParse)).FaTableLock) @@ -114108,7 +114127,7 @@ func Xsqlite3ParseObjectReset(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:1337 // return value thereafter. Something like this: // // pObj = sqlite3ParserAddCleanup(pParse, destructor, pObj); -func Xsqlite3ParserAddCleanup(tls *libc.TLS, pParse uintptr, xCleanup uintptr, pPtr uintptr) uintptr { /* sqlite3.c:133776:21: */ +func Xsqlite3ParserAddCleanup(tls *libc.TLS, pParse uintptr, xCleanup uintptr, pPtr uintptr) uintptr { /* sqlite3.c:133789:21: */ var pCleanup uintptr = Xsqlite3DbMallocRaw(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, uint64(unsafe.Sizeof(ParseCleanup{}))) if pCleanup != 0 { (*ParseCleanup)(unsafe.Pointer(pCleanup)).FpNext = (*Parse)(unsafe.Pointer(pParse)).FpCleanup @@ -114131,7 +114150,7 @@ func Xsqlite3ParserAddCleanup(tls *libc.TLS, pParse uintptr, xCleanup uintptr, p // // Caution: Do not confuse this routine with sqlite3ParseObjectInit() which // is generated by Lemon. -func Xsqlite3ParseObjectInit(tls *libc.TLS, pParse uintptr, db uintptr) { /* sqlite3.c:133806:21: */ +func Xsqlite3ParseObjectInit(tls *libc.TLS, pParse uintptr, db uintptr) { /* sqlite3.c:133819:21: */ libc.Xmemset(tls, pParse+uintptr(uint32(uintptr(0)+4)), 0, uint32(uintptr(0)+152)-uint32(uintptr(0)+4)) libc.Xmemset(tls, pParse+uintptr(uint32(uintptr(0)+196)), 0, uint32(unsafe.Sizeof(Parse{}))-uint32(uintptr(0)+196)) @@ -114144,7 +114163,7 @@ func Xsqlite3ParseObjectInit(tls *libc.TLS, pParse uintptr, db uintptr) { /* sql } // Compile the UTF-8 encoded SQL statement zSql into a statement handle. -func sqlite3Prepare(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, prepFlags U32, pReprepare uintptr, ppStmt uintptr, pzTail uintptr) int32 { /* sqlite3.c:133819:12: */ +func sqlite3Prepare(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, prepFlags U32, pReprepare uintptr, ppStmt uintptr, pzTail uintptr) int32 { /* sqlite3.c:133832:12: */ bp := tls.Alloc(288) defer tls.Free(288) @@ -114350,13 +114369,13 @@ end_prepare: return rc } -func sqlite3LockAndPrepare(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, prepFlags U32, pOld uintptr, ppStmt uintptr, pzTail uintptr) int32 { /* sqlite3.c:133962:12: */ +func sqlite3LockAndPrepare(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, prepFlags U32, pOld uintptr, ppStmt uintptr, pzTail uintptr) int32 { /* sqlite3.c:133975:12: */ var rc int32 var cnt int32 = 0 *(*uintptr)(unsafe.Pointer(ppStmt)) = uintptr(0) if !(Xsqlite3SafetyCheckOk(tls, db) != 0) || zSql == uintptr(0) { - return Xsqlite3MisuseError(tls, 133979) + return Xsqlite3MisuseError(tls, 133992) } Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) Xsqlite3BtreeEnterAll(tls, db) @@ -114385,7 +114404,7 @@ func sqlite3LockAndPrepare(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32 // if the statement cannot be recompiled because another connection has // locked the sqlite3_schema table, return SQLITE_LOCKED. If any other error // occurs, return SQLITE_SCHEMA. -func Xsqlite3Reprepare(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:134009:20: */ +func Xsqlite3Reprepare(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:134022:20: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -114424,14 +114443,14 @@ func Xsqlite3Reprepare(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:134009:20: // sqlite3_step(). In the new version, the original SQL text is retained // and the statement is automatically recompiled if an schema change // occurs. -func Xsqlite3_prepare(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, ppStmt uintptr, pzTail uintptr) int32 { /* sqlite3.c:134048:16: */ +func Xsqlite3_prepare(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, ppStmt uintptr, pzTail uintptr) int32 { /* sqlite3.c:134061:16: */ var rc int32 rc = sqlite3LockAndPrepare(tls, db, zSql, nBytes, uint32(0), uintptr(0), ppStmt, pzTail) // VERIFY: F13021 return rc } -func Xsqlite3_prepare_v2(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, ppStmt uintptr, pzTail uintptr) int32 { /* sqlite3.c:134060:16: */ +func Xsqlite3_prepare_v2(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, ppStmt uintptr, pzTail uintptr) int32 { /* sqlite3.c:134073:16: */ var rc int32 // EVIDENCE-OF: R-37923-12173 The sqlite3_prepare_v2() interface works // exactly the same as sqlite3_prepare_v3() with a zero prepFlags @@ -114444,7 +114463,7 @@ func Xsqlite3_prepare_v2(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, return rc } -func Xsqlite3_prepare_v3(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, prepFlags uint32, ppStmt uintptr, pzTail uintptr) int32 { /* sqlite3.c:134078:16: */ +func Xsqlite3_prepare_v3(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, prepFlags uint32, ppStmt uintptr, pzTail uintptr) int32 { /* sqlite3.c:134091:16: */ var rc int32 // EVIDENCE-OF: R-56861-42673 sqlite3_prepare_v3() differs from // sqlite3_prepare_v2() only in having the extra prepFlags parameter, @@ -114461,7 +114480,7 @@ func Xsqlite3_prepare_v3(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, } // Compile the UTF-16 encoded SQL statement zSql into a statement handle. -func sqlite3Prepare16(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, prepFlags U32, ppStmt uintptr, pzTail uintptr) int32 { /* sqlite3.c:134106:12: */ +func sqlite3Prepare16(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, prepFlags U32, ppStmt uintptr, pzTail uintptr) int32 { /* sqlite3.c:134119:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -114474,7 +114493,7 @@ func sqlite3Prepare16(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, pre *(*uintptr)(unsafe.Pointer(ppStmt)) = uintptr(0) if !(Xsqlite3SafetyCheckOk(tls, db) != 0) || zSql == uintptr(0) { - return Xsqlite3MisuseError(tls, 134127) + return Xsqlite3MisuseError(tls, 134140) } if nBytes >= 0 { var sz int32 @@ -114509,21 +114528,21 @@ func sqlite3Prepare16(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, pre // sqlite3_step(). In the new version, the original SQL text is retained // and the statement is automatically recompiled if an schema change // occurs. -func Xsqlite3_prepare16(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, ppStmt uintptr, pzTail uintptr) int32 { /* sqlite3.c:134164:16: */ +func Xsqlite3_prepare16(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, ppStmt uintptr, pzTail uintptr) int32 { /* sqlite3.c:134177:16: */ var rc int32 rc = sqlite3Prepare16(tls, db, zSql, nBytes, uint32(0), ppStmt, pzTail) // VERIFY: F13021 return rc } -func Xsqlite3_prepare16_v2(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, ppStmt uintptr, pzTail uintptr) int32 { /* sqlite3.c:134176:16: */ +func Xsqlite3_prepare16_v2(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, ppStmt uintptr, pzTail uintptr) int32 { /* sqlite3.c:134189:16: */ var rc int32 rc = sqlite3Prepare16(tls, db, zSql, nBytes, uint32(SQLITE_PREPARE_SAVESQL), ppStmt, pzTail) // VERIFY: F13021 return rc } -func Xsqlite3_prepare16_v3(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, prepFlags uint32, ppStmt uintptr, pzTail uintptr) int32 { /* sqlite3.c:134188:16: */ +func Xsqlite3_prepare16_v3(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, prepFlags uint32, ppStmt uintptr, pzTail uintptr) int32 { /* sqlite3.c:134201:16: */ var rc int32 rc = sqlite3Prepare16(tls, db, zSql, nBytes, uint32(SQLITE_PREPARE_SAVESQL)|prepFlags&uint32(SQLITE_PREPARE_MASK), @@ -114557,7 +114576,7 @@ type DistinctCtx1 = struct { F__ccgo_pad1 [2]byte FtabTnct int32 FaddrTnct int32 -} /* sqlite3.c:134229:9 */ +} /* sqlite3.c:134242:9 */ //************* End of prepare.c ******************************************** //************* Begin file select.c ***************************************** @@ -114578,7 +114597,7 @@ type DistinctCtx1 = struct { // An instance of the following object is used to record information about // how to process the DISTINCT keyword, to simplify passing that information // into the selectInnerLoop() routine. -type DistinctCtx = DistinctCtx1 /* sqlite3.c:134229:28 */ +type DistinctCtx = DistinctCtx1 /* sqlite3.c:134242:28 */ // An instance of the following object is used to record information about // the ORDER BY (or GROUP BY) clause of query is being coded. @@ -114608,7 +114627,7 @@ type SortCtx1 = struct { FsortFlags U8 F__ccgo_pad1 [3]byte FpDeferredRowLoad uintptr -} /* sqlite3.c:134255:9 */ +} /* sqlite3.c:134268:9 */ // An instance of the following object is used to record information about // the ORDER BY (or GROUP BY) clause of query is being coded. @@ -114626,19 +114645,19 @@ type SortCtx1 = struct { // When the sorter-reference optimization is used, there is one entry in the // aDefer[] array for each database table that may be read as values are // extracted from the sorter. -type SortCtx = SortCtx1 /* sqlite3.c:134255:24 */ +type SortCtx = SortCtx1 /* sqlite3.c:134268:24 */ type RowLoadInfo1 = struct { FregResult int32 FecelFlags U8 F__ccgo_pad1 [3]byte -} /* sqlite3.c:134255:9 */ +} /* sqlite3.c:134268:9 */ // Delete all the content of a Select structure. Deallocate the structure // itself depending on the value of bFree // // If bFree==1, call sqlite3DbFree() on the p object. // If bFree==0, Leave the first Select object unfreed -func clearSelect(tls *libc.TLS, db uintptr, p uintptr, bFree int32) { /* sqlite3.c:134285:13: */ +func clearSelect(tls *libc.TLS, db uintptr, p uintptr, bFree int32) { /* sqlite3.c:134298:13: */ for p != 0 { var pPrior uintptr = (*Select)(unsafe.Pointer(p)).FpPrior Xsqlite3ExprListDelete(tls, db, (*Select)(unsafe.Pointer(p)).FpEList) @@ -114667,7 +114686,7 @@ func clearSelect(tls *libc.TLS, db uintptr, p uintptr, bFree int32) { /* sqlite3 } // Initialize a SelectDest structure. -func Xsqlite3SelectDestInit(tls *libc.TLS, pDest uintptr, eDest int32, iParm int32) { /* sqlite3.c:134314:21: */ +func Xsqlite3SelectDestInit(tls *libc.TLS, pDest uintptr, eDest int32, iParm int32) { /* sqlite3.c:134327:21: */ (*SelectDest)(unsafe.Pointer(pDest)).FeDest = U8(eDest) (*SelectDest)(unsafe.Pointer(pDest)).FiSDParm = iParm (*SelectDest)(unsafe.Pointer(pDest)).FiSDParm2 = 0 @@ -114678,7 +114697,7 @@ func Xsqlite3SelectDestInit(tls *libc.TLS, pDest uintptr, eDest int32, iParm int // Allocate a new Select structure and return a pointer to that // structure. -func Xsqlite3SelectNew(tls *libc.TLS, pParse uintptr, pEList uintptr, pSrc uintptr, pWhere uintptr, pGroupBy uintptr, pHaving uintptr, pOrderBy uintptr, selFlags U32, pLimit uintptr) uintptr { /* sqlite3.c:134328:23: */ +func Xsqlite3SelectNew(tls *libc.TLS, pParse uintptr, pEList uintptr, pSrc uintptr, pWhere uintptr, pGroupBy uintptr, pHaving uintptr, pOrderBy uintptr, selFlags U32, pLimit uintptr) uintptr { /* sqlite3.c:134341:23: */ bp := tls.Alloc(76) defer tls.Free(76) @@ -114728,14 +114747,14 @@ func Xsqlite3SelectNew(tls *libc.TLS, pParse uintptr, pEList uintptr, pSrc uintp } // Delete the given Select structure and all of its substructures. -func Xsqlite3SelectDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:134386:21: */ +func Xsqlite3SelectDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:134399:21: */ if p != 0 { clearSelect(tls, db, p, 1) } } // Return a pointer to the right-most SELECT statement in a compound. -func findRightmost(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:134393:15: */ +func findRightmost(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:134406:15: */ for (*Select)(unsafe.Pointer(p)).FpNext != 0 { p = (*Select)(unsafe.Pointer(p)).FpNext } @@ -114757,7 +114776,7 @@ func findRightmost(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:134393:15: * // // If an illegal or unsupported join type is seen, then still return // a join type, but put an error in the pParse structure. -func Xsqlite3JoinType(tls *libc.TLS, pParse uintptr, pA uintptr, pB uintptr, pC uintptr) int32 { /* sqlite3.c:134415:20: */ +func Xsqlite3JoinType(tls *libc.TLS, pParse uintptr, pA uintptr, pB uintptr, pC uintptr) int32 { /* sqlite3.c:134428:20: */ bp := tls.Alloc(44) defer tls.Free(44) @@ -114811,7 +114830,7 @@ func Xsqlite3JoinType(tls *libc.TLS, pParse uintptr, pA uintptr, pB uintptr, pC return jointype } -var zKeyText = *(*[34]int8)(unsafe.Pointer(ts + 18375)) /* sqlite3.c:134420:21 */ +var zKeyText = *(*[34]int8)(unsafe.Pointer(ts + 18375)) /* sqlite3.c:134433:21 */ var aKeyword = [7]struct { Fi U8 FnChar U8 @@ -114824,11 +114843,11 @@ var aKeyword = [7]struct { /* full */ {Fi: U8(19), FnChar: U8(4), Fcode: U8(JT_LEFT | JT_RIGHT | JT_OUTER)}, /* inner */ {Fi: U8(23), FnChar: U8(5), Fcode: U8(JT_INNER)}, /* cross */ {Fi: U8(28), FnChar: U8(5), Fcode: U8(JT_INNER | JT_CROSS)}, -} /* sqlite3.c:134425:5 */ +} /* sqlite3.c:134438:5 */ // Return the index of a column in a table. Return -1 if the column // is not contained in the table. -func Xsqlite3ColumnIndex(tls *libc.TLS, pTab uintptr, zCol uintptr) int32 { /* sqlite3.c:134476:20: */ +func Xsqlite3ColumnIndex(tls *libc.TLS, pTab uintptr, zCol uintptr) int32 { /* sqlite3.c:134489:20: */ var i int32 var h U8 = Xsqlite3StrIHash(tls, zCol) var pCol uintptr @@ -114862,7 +114881,7 @@ __3: // of the matching column and return TRUE. // // If not found, return FALSE. -func tableAndColumnIndex(tls *libc.TLS, pSrc uintptr, N int32, zCol uintptr, piTab uintptr, piCol uintptr, bIgnoreHidden int32) int32 { /* sqlite3.c:134495:12: */ +func tableAndColumnIndex(tls *libc.TLS, pSrc uintptr, N int32, zCol uintptr, piTab uintptr, piCol uintptr, bIgnoreHidden int32) int32 { /* sqlite3.c:134508:12: */ var i int32 // For looping over tables in pSrc var iCol int32 // Index of column matching zCol @@ -114890,7 +114909,7 @@ func tableAndColumnIndex(tls *libc.TLS, pSrc uintptr, N int32, zCol uintptr, piT // where tab1 is the iSrc'th table in SrcList pSrc and tab2 is the // (iSrc+1)'th. Column col1 is column iColLeft of tab1, and col2 is // column iColRight of tab2. -func addWhereTerm(tls *libc.TLS, pParse uintptr, pSrc uintptr, iLeft int32, iColLeft int32, iRight int32, iColRight int32, isOuterJoin int32, ppWhere uintptr) { /* sqlite3.c:134533:13: */ +func addWhereTerm(tls *libc.TLS, pParse uintptr, pSrc uintptr, iLeft int32, iColLeft int32, iRight int32, iColRight int32, isOuterJoin int32, ppWhere uintptr) { /* sqlite3.c:134546:13: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb var pE1 uintptr var pE2 uintptr @@ -114935,7 +114954,7 @@ func addWhereTerm(tls *libc.TLS, pParse uintptr, pSrc uintptr, iLeft int32, iCol // defer the handling of t1.x=5, it will be processed immediately // after the t1 loop and rows with t1.x!=5 will never appear in // the output, which is incorrect. -func Xsqlite3SetJoinExpr(tls *libc.TLS, p uintptr, iTable int32) { /* sqlite3.c:134595:21: */ +func Xsqlite3SetJoinExpr(tls *libc.TLS, p uintptr, iTable int32) { /* sqlite3.c:134608:21: */ for p != 0 { *(*U32)(unsafe.Pointer(p + 4)) |= U32(EP_FromJoin) @@ -114959,7 +114978,7 @@ func Xsqlite3SetJoinExpr(tls *libc.TLS, p uintptr, iTable int32) { /* sqlite3.c: // an ordinary term that omits the EP_FromJoin mark. // // This happens when a LEFT JOIN is simplified into an ordinary JOIN. -func unsetJoinExpr(tls *libc.TLS, p uintptr, iTable int32) { /* sqlite3.c:134621:13: */ +func unsetJoinExpr(tls *libc.TLS, p uintptr, iTable int32) { /* sqlite3.c:134634:13: */ for p != 0 { if (*Expr)(unsafe.Pointer(p)).Fflags&U32(EP_FromJoin) != U32(0) && (iTable < 0 || *(*int32)(unsafe.Pointer(p + 36)) == iTable) { @@ -114994,7 +115013,7 @@ func unsetJoinExpr(tls *libc.TLS, p uintptr, iTable int32) { /* sqlite3.c:134621 // also attached to the left entry. // // This routine returns the number of errors encountered. -func sqliteProcessJoin(tls *libc.TLS, pParse uintptr, p uintptr) int32 { /* sqlite3.c:134658:12: */ +func sqliteProcessJoin(tls *libc.TLS, pParse uintptr, p uintptr) int32 { /* sqlite3.c:134671:12: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -115108,11 +115127,11 @@ __3: // An instance of this object holds information (beyond pParse and pSelect) // needed to load the next result row that is to be added to the sorter. -type RowLoadInfo = RowLoadInfo1 /* sqlite3.c:134750:28 */ +type RowLoadInfo = RowLoadInfo1 /* sqlite3.c:134763:28 */ // This routine does the work of loading query data into an array of // registers so that it can be added to the sorter. -func innerLoopLoadRow(tls *libc.TLS, pParse uintptr, pSelect uintptr, pInfo uintptr) { /* sqlite3.c:134764:13: */ +func innerLoopLoadRow(tls *libc.TLS, pParse uintptr, pSelect uintptr, pInfo uintptr) { /* sqlite3.c:134777:13: */ Xsqlite3ExprCodeExprList(tls, pParse, (*Select)(unsafe.Pointer(pSelect)).FpEList, (*RowLoadInfo)(unsafe.Pointer(pInfo)).FregResult, 0, (*RowLoadInfo)(unsafe.Pointer(pInfo)).FecelFlags) } @@ -115121,7 +115140,7 @@ func innerLoopLoadRow(tls *libc.TLS, pParse uintptr, pSelect uintptr, pInfo uint // added into the sorter. // // Return the register in which the result is stored. -func makeSorterRecord(tls *libc.TLS, pParse uintptr, pSort uintptr, pSelect uintptr, regBase int32, nBase int32) int32 { /* sqlite3.c:134785:12: */ +func makeSorterRecord(tls *libc.TLS, pParse uintptr, pSort uintptr, pSelect uintptr, regBase int32, nBase int32) int32 { /* sqlite3.c:134798:12: */ var nOBSat int32 = (*SortCtx)(unsafe.Pointer(pSort)).FnOBSat var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe var regOut int32 = libc.PreIncInt32(&(*Parse)(unsafe.Pointer(pParse)).FnMem, 1) @@ -115134,7 +115153,7 @@ func makeSorterRecord(tls *libc.TLS, pParse uintptr, pSort uintptr, pSelect uint // Generate code that will push the record in registers regData // through regData+nData-1 onto the sorter. -func pushOntoSorter(tls *libc.TLS, pParse uintptr, pSort uintptr, pSelect uintptr, regData int32, regOrigData int32, nData int32, nPrefixReg int32) { /* sqlite3.c:134806:13: */ +func pushOntoSorter(tls *libc.TLS, pParse uintptr, pSort uintptr, pSelect uintptr, regData int32, regOrigData int32, nData int32, nPrefixReg int32) { /* sqlite3.c:134819:13: */ var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe // Stmt under construction var bSeq int32 = libc.Bool32(int32((*SortCtx)(unsafe.Pointer(pSort)).FsortFlags)&SORTFLAG_UseSorter == 0) var nExpr int32 = (*ExprList)(unsafe.Pointer((*SortCtx)(unsafe.Pointer(pSort)).FpOrderBy)).FnExpr // No. of ORDER BY terms @@ -115277,7 +115296,7 @@ func pushOntoSorter(tls *libc.TLS, pParse uintptr, pSort uintptr, pSelect uintpt } // Add code to implement the OFFSET -func codeOffset(tls *libc.TLS, v uintptr, iOffset int32, iContinue int32) { /* sqlite3.c:134948:13: */ +func codeOffset(tls *libc.TLS, v uintptr, iOffset int32, iContinue int32) { /* sqlite3.c:134961:13: */ if iOffset > 0 { Xsqlite3VdbeAddOp3(tls, v, OP_IfPos, iOffset, iContinue, 1) @@ -115325,7 +115344,7 @@ func codeOffset(tls *libc.TLS, v uintptr, iOffset int32, iContinue int32) { /* s // how many elements there are in the array of registers and (b) the // collation sequences that should be used for the comparisons if // eTnctType is WHERE_DISTINCT_ORDERED. -func codeDistinct(tls *libc.TLS, pParse uintptr, eTnctType int32, iTab int32, addrRepeat int32, pEList uintptr, regElem int32) int32 { /* sqlite3.c:135002:12: */ +func codeDistinct(tls *libc.TLS, pParse uintptr, eTnctType int32, iTab int32, addrRepeat int32, pEList uintptr, regElem int32) int32 { /* sqlite3.c:135015:12: */ var iRet int32 = 0 var nResultCol int32 = (*ExprList)(unsafe.Pointer(pEList)).FnExpr var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe @@ -115406,7 +115425,7 @@ func codeDistinct(tls *libc.TLS, pParse uintptr, eTnctType int32, iTab int32, ad // The ephemeral table is not needed. But we do need register // iVal to be initialized to NULL. So change the OP_OpenEphemeral // into an OP_Null on the iVal register. -func fixDistinctOpenEph(tls *libc.TLS, pParse uintptr, eTnctType int32, iVal int32, iOpenEphAddr int32) { /* sqlite3.c:135086:13: */ +func fixDistinctOpenEph(tls *libc.TLS, pParse uintptr, eTnctType int32, iVal int32, iOpenEphAddr int32) { /* sqlite3.c:135099:13: */ if (*Parse)(unsafe.Pointer(pParse)).FnErr == 0 && (eTnctType == WHERE_DISTINCT_UNIQUE || eTnctType == WHERE_DISTINCT_ORDERED) { var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe @@ -115434,7 +115453,7 @@ func fixDistinctOpenEph(tls *libc.TLS, pParse uintptr, eTnctType int32, iVal int // are evaluated in order to get the data for this row. If srcTab is // zero or more, then data is pulled from srcTab and p->pEList is used only // to get the number of columns and the collation sequence for each column. -func selectInnerLoop(tls *libc.TLS, pParse uintptr, p uintptr, srcTab int32, pSort uintptr, pDistinct uintptr, pDest uintptr, iContinue int32, iBreak int32) { /* sqlite3.c:135208:13: */ +func selectInnerLoop(tls *libc.TLS, pParse uintptr, p uintptr, srcTab int32, pSort uintptr, pDistinct uintptr, pDest uintptr, iContinue int32, iBreak int32) { /* sqlite3.c:135221:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -115790,7 +115809,7 @@ func selectInnerLoop(tls *libc.TLS, pParse uintptr, p uintptr, srcTab int32, pSo // Allocate a KeyInfo object sufficient for an index of N key columns and // X extra columns. -func Xsqlite3KeyInfoAlloc(tls *libc.TLS, db uintptr, N int32, X int32) uintptr { /* sqlite3.c:135602:24: */ +func Xsqlite3KeyInfoAlloc(tls *libc.TLS, db uintptr, N int32, X int32) uintptr { /* sqlite3.c:135615:24: */ var nExtra int32 = int32(uint32(N+X)*(uint32(unsafe.Sizeof(uintptr(0)))+uint32(1)) - uint32(unsafe.Sizeof(uintptr(0)))) var p uintptr = Xsqlite3DbMallocRawNN(tls, db, uint64(uint32(unsafe.Sizeof(KeyInfo{}))+uint32(nExtra))) if p != 0 { @@ -115808,7 +115827,7 @@ func Xsqlite3KeyInfoAlloc(tls *libc.TLS, db uintptr, N int32, X int32) uintptr { } // Deallocate a KeyInfo object -func Xsqlite3KeyInfoUnref(tls *libc.TLS, p uintptr) { /* sqlite3.c:135622:21: */ +func Xsqlite3KeyInfoUnref(tls *libc.TLS, p uintptr) { /* sqlite3.c:135635:21: */ if p != 0 { (*KeyInfo)(unsafe.Pointer(p)).FnRef-- @@ -115819,7 +115838,7 @@ func Xsqlite3KeyInfoUnref(tls *libc.TLS, p uintptr) { /* sqlite3.c:135622:21: */ } // Make a new pointer to a KeyInfo object -func Xsqlite3KeyInfoRef(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:135633:24: */ +func Xsqlite3KeyInfoRef(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:135646:24: */ if p != 0 { (*KeyInfo)(unsafe.Pointer(p)).FnRef++ @@ -115839,7 +115858,7 @@ func Xsqlite3KeyInfoRef(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:135633: // Space to hold the KeyInfo structure is obtained from malloc. The calling // function is responsible for seeing that this structure is eventually // freed. -func Xsqlite3KeyInfoFromExprList(tls *libc.TLS, pParse uintptr, pList uintptr, iStart int32, nExtra int32) uintptr { /* sqlite3.c:135665:24: */ +func Xsqlite3KeyInfoFromExprList(tls *libc.TLS, pParse uintptr, pList uintptr, iStart int32, nExtra int32) uintptr { /* sqlite3.c:135678:24: */ var nExpr int32 var pInfo uintptr var pItem uintptr @@ -115873,7 +115892,7 @@ func Xsqlite3KeyInfoFromExprList(tls *libc.TLS, pParse uintptr, pList uintptr, i } // Name of the connection operator, used for error messages. -func Xsqlite3SelectOpName(tls *libc.TLS, id int32) uintptr { /* sqlite3.c:135692:27: */ +func Xsqlite3SelectOpName(tls *libc.TLS, id int32) uintptr { /* sqlite3.c:135705:27: */ var z uintptr switch id { case TK_ALL: @@ -115900,7 +115919,7 @@ func Xsqlite3SelectOpName(tls *libc.TLS, id int32) uintptr { /* sqlite3.c:135692 // // where xxx is one of "DISTINCT", "ORDER BY" or "GROUP BY". Exactly which // is determined by the zUsage argument. -func explainTempTable(tls *libc.TLS, pParse uintptr, zUsage uintptr) { /* sqlite3.c:135714:13: */ +func explainTempTable(tls *libc.TLS, pParse uintptr, zUsage uintptr) { /* sqlite3.c:135727:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -115917,7 +115936,7 @@ func explainTempTable(tls *libc.TLS, pParse uintptr, zUsage uintptr) { /* sqlite // then the results were placed in a sorter. After the loop is terminated // we need to run the sorter and output the results. The following // routine generates the code needed to do that. -func generateSortTail(tls *libc.TLS, pParse uintptr, p uintptr, pSort uintptr, nColumn int32, pDest uintptr) { /* sqlite3.c:135740:13: */ +func generateSortTail(tls *libc.TLS, pParse uintptr, p uintptr, pSort uintptr, nColumn int32, pDest uintptr) { /* sqlite3.c:135753:13: */ var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe // The prepared statement var addrBreak int32 = (*SortCtx)(unsafe.Pointer(pSort)).FlabelDone // Jump here to exit loop var addrContinue int32 = Xsqlite3VdbeMakeLabel(tls, pParse) // Jump here for next cycle @@ -116096,7 +116115,7 @@ func generateSortTail(tls *libc.TLS, pParse uintptr, p uintptr, pSort uintptr, n // // This routine has either 3 or 6 parameters depending on whether or not // the SQLITE_ENABLE_COLUMN_METADATA compile-time option is used. -func columnTypeImpl(tls *libc.TLS, pNC uintptr, pExpr uintptr, pzOrigDb uintptr, pzOrigTab uintptr, pzOrigCol uintptr) uintptr { /* sqlite3.c:135968:19: */ +func columnTypeImpl(tls *libc.TLS, pNC uintptr, pExpr uintptr, pzOrigDb uintptr, pzOrigTab uintptr, pzOrigCol uintptr) uintptr { /* sqlite3.c:135981:19: */ bp := tls.Alloc(76) defer tls.Free(76) @@ -116220,7 +116239,7 @@ func columnTypeImpl(tls *libc.TLS, pNC uintptr, pExpr uintptr, pzOrigDb uintptr, // Generate code that will tell the VDBE the declaration types of columns // in the result set. -func generateColumnTypes(tls *libc.TLS, pParse uintptr, pTabList uintptr, pEList uintptr) { /* sqlite3.c:136119:13: */ +func generateColumnTypes(tls *libc.TLS, pParse uintptr, pTabList uintptr, pEList uintptr) { /* sqlite3.c:136132:13: */ bp := tls.Alloc(44) defer tls.Free(44) @@ -116277,7 +116296,7 @@ func generateColumnTypes(tls *libc.TLS, pParse uintptr, pTabList uintptr, pEList // full=ON, short=ANY: If the result refers directly to a table column, // then the result column name with the table name // prefix, ex: TABLE.COLUMN. Otherwise use zSpan. -func Xsqlite3GenerateColumnNames(tls *libc.TLS, pParse uintptr, pSelect uintptr) { /* sqlite3.c:136186:21: */ +func Xsqlite3GenerateColumnNames(tls *libc.TLS, pParse uintptr, pSelect uintptr) { /* sqlite3.c:136199:21: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -116377,7 +116396,7 @@ func Xsqlite3GenerateColumnNames(tls *libc.TLS, pParse uintptr, pSelect uintptr) // when modifying this routine to avoid breaking legacy. // // See Also: sqlite3GenerateColumnNames() -func Xsqlite3ColumnsFromExprList(tls *libc.TLS, pParse uintptr, pEList uintptr, pnCol uintptr, paCol uintptr) int32 { /* sqlite3.c:136279:20: */ +func Xsqlite3ColumnsFromExprList(tls *libc.TLS, pParse uintptr, pEList uintptr, pnCol uintptr, paCol uintptr) int32 { /* sqlite3.c:136292:20: */ bp := tls.Alloc(52) defer tls.Free(52) @@ -116509,7 +116528,7 @@ __3: // // This routine requires that all identifiers in the SELECT // statement be resolved. -func Xsqlite3SelectAddColumnTypeAndCollation(tls *libc.TLS, pParse uintptr, pTab uintptr, pSelect uintptr, aff int8) { /* sqlite3.c:136386:21: */ +func Xsqlite3SelectAddColumnTypeAndCollation(tls *libc.TLS, pParse uintptr, pTab uintptr, pSelect uintptr, aff int8) { /* sqlite3.c:136399:21: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -116578,7 +116597,7 @@ __3: // Given a SELECT statement, generate a Table structure that describes // the result set of that SELECT. -func Xsqlite3ResultSetOfSelect(tls *libc.TLS, pParse uintptr, pSelect uintptr, aff int8) uintptr { /* sqlite3.c:136441:22: */ +func Xsqlite3ResultSetOfSelect(tls *libc.TLS, pParse uintptr, pSelect uintptr, aff int8) uintptr { /* sqlite3.c:136454:22: */ var pTab uintptr var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb var savedFlags U64 @@ -116613,7 +116632,7 @@ func Xsqlite3ResultSetOfSelect(tls *libc.TLS, pParse uintptr, pSelect uintptr, a // Get a VDBE for the given parser context. Create a new one if necessary. // If an error occurs, return NULL and leave a message in pParse. -func Xsqlite3GetVdbe(tls *libc.TLS, pParse uintptr) uintptr { /* sqlite3.c:136474:21: */ +func Xsqlite3GetVdbe(tls *libc.TLS, pParse uintptr) uintptr { /* sqlite3.c:136487:21: */ if (*Parse)(unsafe.Pointer(pParse)).FpVdbe != 0 { return (*Parse)(unsafe.Pointer(pParse)).FpVdbe } @@ -116645,7 +116664,7 @@ func Xsqlite3GetVdbe(tls *libc.TLS, pParse uintptr) uintptr { /* sqlite3.c:13647 // redefined. The UNION ALL operator uses this property to force // the reuse of the same limit and offset registers across multiple // SELECT statements. -func computeLimitRegisters(tls *libc.TLS, pParse uintptr, p uintptr, iBreak int32) { /* sqlite3.c:136510:13: */ +func computeLimitRegisters(tls *libc.TLS, pParse uintptr, p uintptr, iBreak int32) { /* sqlite3.c:136523:13: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -116702,7 +116721,7 @@ func computeLimitRegisters(tls *libc.TLS, pParse uintptr, p uintptr, iBreak int3 // // The collating sequence for the compound select is taken from the // left-most term of the select that has a collating sequence. -func multiSelectCollSeq(tls *libc.TLS, pParse uintptr, p uintptr, iCol int32) uintptr { /* sqlite3.c:136567:16: */ +func multiSelectCollSeq(tls *libc.TLS, pParse uintptr, p uintptr, iCol int32) uintptr { /* sqlite3.c:136580:16: */ var pRet uintptr if (*Select)(unsafe.Pointer(p)).FpPrior != 0 { pRet = multiSelectCollSeq(tls, pParse, (*Select)(unsafe.Pointer(p)).FpPrior, iCol) @@ -116726,7 +116745,7 @@ func multiSelectCollSeq(tls *libc.TLS, pParse uintptr, p uintptr, iCol int32) ui // Space to hold the KeyInfo structure is obtained from malloc. The calling // function is responsible for ensuring that this structure is eventually // freed. -func multiSelectOrderByKeyInfo(tls *libc.TLS, pParse uintptr, p uintptr, nExtra int32) uintptr { /* sqlite3.c:136593:16: */ +func multiSelectOrderByKeyInfo(tls *libc.TLS, pParse uintptr, p uintptr, nExtra int32) uintptr { /* sqlite3.c:136606:16: */ var pOrderBy uintptr = (*Select)(unsafe.Pointer(p)).FpOrderBy var nOrderBy int32 if pOrderBy != uintptr(0) { @@ -116795,7 +116814,7 @@ func multiSelectOrderByKeyInfo(tls *libc.TLS, pParse uintptr, p uintptr, nExtra // with a positive value, then the first OFFSET outputs are discarded rather // than being sent to pDest. The LIMIT count does not begin until after OFFSET // rows have been skipped. -func generateWithRecursiveQuery(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) { /* sqlite3.c:136659:13: */ +func generateWithRecursiveQuery(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) { /* sqlite3.c:136672:13: */ bp := tls.Alloc(28) defer tls.Free(28) @@ -117036,7 +117055,7 @@ end_of_recursive_query: // clause occurs within scalar expression (ex: "SELECT (VALUES(1),(2),(3))"). // The sqlite3CodeSubselect will have added the LIMIT 1 clause in tht case. // Since the limit is exactly 1, we only need to evalutes the left-most VALUES. -func multiSelectValues(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) int32 { /* sqlite3.c:136835:12: */ +func multiSelectValues(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) int32 { /* sqlite3.c:136848:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -117076,7 +117095,7 @@ func multiSelectValues(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) // Return true if the SELECT statement which is known to be the recursive // part of a recursive CTE still has its anchor terms attached. If the // anchor terms have already been removed, then return false. -func hasAnchor(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:136872:12: */ +func hasAnchor(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:136885:12: */ for p != 0 && (*Select)(unsafe.Pointer(p)).FselFlags&U32(SF_Recursive) != U32(0) { p = (*Select)(unsafe.Pointer(p)).FpPrior } @@ -117112,7 +117131,7 @@ func hasAnchor(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:136872:12: */ // // Notice that because of the way SQLite parses compound SELECTs, the // individual selects always group from left to right. -func multiSelect(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) int32 { /* sqlite3.c:136908:12: */ +func multiSelect(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) int32 { /* sqlite3.c:136921:12: */ bp := tls.Alloc(104) defer tls.Free(104) @@ -117575,7 +117594,7 @@ __44: // Error message for when two or more terms of a compound select have different // size result sets. -func Xsqlite3SelectWrongNumTermsError(tls *libc.TLS, pParse uintptr, p uintptr) { /* sqlite3.c:137264:21: */ +func Xsqlite3SelectWrongNumTermsError(tls *libc.TLS, pParse uintptr, p uintptr) { /* sqlite3.c:137277:21: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -117606,7 +117625,7 @@ func Xsqlite3SelectWrongNumTermsError(tls *libc.TLS, pParse uintptr, p uintptr) // // If the LIMIT found in p->iLimit is reached, jump immediately to // iBreak. -func generateOutputSubroutine(tls *libc.TLS, pParse uintptr, p uintptr, pIn uintptr, pDest uintptr, regReturn int32, regPrev int32, pKeyInfo uintptr, iBreak int32) int32 { /* sqlite3.c:137294:12: */ +func generateOutputSubroutine(tls *libc.TLS, pParse uintptr, p uintptr, pIn uintptr, pDest uintptr, regReturn int32, regPrev int32, pKeyInfo uintptr, iBreak int32) int32 { /* sqlite3.c:137307:12: */ var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe var iContinue int32 var addr int32 @@ -117802,7 +117821,7 @@ func generateOutputSubroutine(tls *libc.TLS, pParse uintptr, p uintptr, pIn uint // actually called using Gosub and they do not Return. EofA and EofB loop // until all data is exhausted then jump to the "end" labe. AltB, AeqB, // and AgtB jump to either L2 or to one of EofA or EofB. -func multiSelectOrderBy(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) int32 { /* sqlite3.c:137502:12: */ +func multiSelectOrderBy(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) int32 { /* sqlite3.c:137515:12: */ bp := tls.Alloc(64) defer tls.Free(64) @@ -118151,14 +118170,14 @@ type SubstContext1 = struct { FiNewTable int32 FisLeftJoin int32 FpEList uintptr -} /* sqlite3.c:137827:9 */ +} /* sqlite3.c:137840:9 */ // An instance of the SubstContext object describes an substitution edit // to be performed on a parse tree. // // All references to columns in table iTable are to be replaced by corresponding // expressions in pEList. -type SubstContext = SubstContext1 /* sqlite3.c:137833:3 */ +type SubstContext = SubstContext1 /* sqlite3.c:137846:3 */ // Scan through the expression pExpr. Replace every reference to // a column in table number iTable with a copy of the iColumn-th @@ -118171,7 +118190,7 @@ type SubstContext = SubstContext1 /* sqlite3.c:137833:3 */ // FORM clause entry is iTable. This routine makes the necessary // changes to pExpr so that it refers directly to the source table // of the subquery rather the result set of the subquery. -func substExpr(tls *libc.TLS, pSubst uintptr, pExpr uintptr) uintptr { /* sqlite3.c:137852:13: */ +func substExpr(tls *libc.TLS, pSubst uintptr, pExpr uintptr) uintptr { /* sqlite3.c:137865:13: */ bp := tls.Alloc(52) defer tls.Free(52) @@ -118254,7 +118273,7 @@ func substExpr(tls *libc.TLS, pSubst uintptr, pExpr uintptr) uintptr { /* sqlite return pExpr } -func substExprList(tls *libc.TLS, pSubst uintptr, pList uintptr) { /* sqlite3.c:137937:13: */ +func substExprList(tls *libc.TLS, pSubst uintptr, pList uintptr) { /* sqlite3.c:137950:13: */ var i int32 if pList == uintptr(0) { return @@ -118264,7 +118283,7 @@ func substExprList(tls *libc.TLS, pSubst uintptr, pList uintptr) { /* sqlite3.c: } } -func substSelect(tls *libc.TLS, pSubst uintptr, p uintptr, doPrior int32) { /* sqlite3.c:137947:13: */ +func substSelect(tls *libc.TLS, pSubst uintptr, p uintptr, doPrior int32) { /* sqlite3.c:137960:13: */ var pSrc uintptr var pItem uintptr var i int32 @@ -118307,7 +118326,7 @@ func substSelect(tls *libc.TLS, pSubst uintptr, p uintptr, doPrior int32) { /* s // // This routine scans the entire SELECT statement and recomputes the // pSrcItem->colUsed mask. -func recomputeColumnsUsedExpr(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:137982:12: */ +func recomputeColumnsUsedExpr(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:137995:12: */ var pItem uintptr if int32((*Expr)(unsafe.Pointer(pExpr)).Fop) != TK_COLUMN { return WRC_Continue @@ -118323,7 +118342,7 @@ func recomputeColumnsUsedExpr(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int return WRC_Continue } -func recomputeColumnsUsed(tls *libc.TLS, pSelect uintptr, pSrcItem uintptr) { /* sqlite3.c:137991:13: */ +func recomputeColumnsUsed(tls *libc.TLS, pSelect uintptr, pSrcItem uintptr) { /* sqlite3.c:138004:13: */ bp := tls.Alloc(28) defer tls.Free(28) @@ -118355,7 +118374,7 @@ func recomputeColumnsUsed(tls *libc.TLS, pSelect uintptr, pSrcItem uintptr) { /* // // If pSrc contains any sub-selects, call this routine recursively // on the FROM clause of each such sub-select, with iExcept set to -1. -func srclistRenumberCursors(tls *libc.TLS, pParse uintptr, aCsrMap uintptr, pSrc uintptr, iExcept int32) { /* sqlite3.c:138020:13: */ +func srclistRenumberCursors(tls *libc.TLS, pParse uintptr, aCsrMap uintptr, pSrc uintptr, iExcept int32) { /* sqlite3.c:138033:13: */ var i int32 var pItem uintptr i = 0 @@ -118388,7 +118407,7 @@ __3: } // *piCursor is a cursor number. Change it if it needs to be mapped. -func renumberCursorDoMapping(tls *libc.TLS, pWalker uintptr, piCursor uintptr) { /* sqlite3.c:138046:13: */ +func renumberCursorDoMapping(tls *libc.TLS, pWalker uintptr, piCursor uintptr) { /* sqlite3.c:138059:13: */ var aCsrMap uintptr = *(*uintptr)(unsafe.Pointer(pWalker + 24)) var iCsr int32 = *(*int32)(unsafe.Pointer(piCursor)) if iCsr < *(*int32)(unsafe.Pointer(aCsrMap)) && *(*int32)(unsafe.Pointer(aCsrMap + uintptr(iCsr+1)*4)) > 0 { @@ -118398,7 +118417,7 @@ func renumberCursorDoMapping(tls *libc.TLS, pWalker uintptr, piCursor uintptr) { // Expression walker callback used by renumberCursors() to update // Expr objects to match newly assigned cursor numbers. -func renumberCursorsCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:138058:12: */ +func renumberCursorsCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:138071:12: */ var op int32 = int32((*Expr)(unsafe.Pointer(pExpr)).Fop) if op == TK_COLUMN || op == TK_IF_NULL_ROW { renumberCursorDoMapping(tls, pWalker, pExpr+28) @@ -118425,7 +118444,7 @@ func renumberCursorsCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* // * the array entries for all cursor numbers that do *not* appear in // FROM clauses of the select statement as described above are // initialized to zero. -func renumberCursors(tls *libc.TLS, pParse uintptr, p uintptr, iExcept int32, aCsrMap uintptr) { /* sqlite3.c:138087:13: */ +func renumberCursors(tls *libc.TLS, pParse uintptr, p uintptr, iExcept int32, aCsrMap uintptr) { /* sqlite3.c:138100:13: */ bp := tls.Alloc(28) defer tls.Free(28) @@ -118595,7 +118614,7 @@ func renumberCursors(tls *libc.TLS, pParse uintptr, p uintptr, iExcept int32, aC // // All of the expression analysis must occur on both the outer query and // the subquery before this routine runs. -func flattenSubquery(tls *libc.TLS, pParse uintptr, p uintptr, iFrom int32, isAgg int32) int32 { /* sqlite3.c:138258:12: */ +func flattenSubquery(tls *libc.TLS, pParse uintptr, p uintptr, iFrom int32, isAgg int32) int32 { /* sqlite3.c:138271:12: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -119020,7 +119039,7 @@ __3: // A structure to keep track of all of the column values that are fixed to // a known value due to WHERE clause constraints of the form COLUMN=VALUE. -type WhereConst = WhereConst1 /* sqlite3.c:138682:27 */ +type WhereConst = WhereConst1 /* sqlite3.c:138695:27 */ // Add a new entry to the pConst object. Except, do not add duplicate // pColumn entires. Also, do not add if doing so would not be appropriate. @@ -119028,7 +119047,7 @@ type WhereConst = WhereConst1 /* sqlite3.c:138682:27 */ // The caller guarantees the pColumn is a column and pValue is a constant. // This routine has to do some additional checks before completing the // insert. -func constInsert(tls *libc.TLS, pConst uintptr, pColumn uintptr, pValue uintptr, pExpr uintptr) { /* sqlite3.c:138700:13: */ +func constInsert(tls *libc.TLS, pConst uintptr, pColumn uintptr, pValue uintptr, pExpr uintptr) { /* sqlite3.c:138713:13: */ var i int32 if (*Expr)(unsafe.Pointer(pColumn)).Fflags&U32(EP_FixedCol) != U32(0) { @@ -119070,7 +119089,7 @@ func constInsert(tls *libc.TLS, pConst uintptr, pColumn uintptr, pValue uintptr, // is a constant expression and where the term must be true because it // is part of the AND-connected terms of the expression. For each term // found, add it to the pConst structure. -func findConstInWhere(tls *libc.TLS, pConst uintptr, pExpr uintptr) { /* sqlite3.c:138748:13: */ +func findConstInWhere(tls *libc.TLS, pConst uintptr, pExpr uintptr) { /* sqlite3.c:138761:13: */ var pRight uintptr var pLeft uintptr if pExpr == uintptr(0) { @@ -119105,7 +119124,7 @@ func findConstInWhere(tls *libc.TLS, pConst uintptr, pExpr uintptr) { /* sqlite3 // then overwrite it with the corresponding value. Except, do not do so // if argument bIgnoreAffBlob is non-zero and the affinity of pExpr // is SQLITE_AFF_BLOB. -func propagateConstantExprRewriteOne(tls *libc.TLS, pConst uintptr, pExpr uintptr, bIgnoreAffBlob int32) int32 { /* sqlite3.c:138779:12: */ +func propagateConstantExprRewriteOne(tls *libc.TLS, pConst uintptr, pExpr uintptr, bIgnoreAffBlob int32) int32 { /* sqlite3.c:138792:12: */ var i int32 if *(*U8)(unsafe.Pointer((*WhereConst)(unsafe.Pointer(pConst)).FpOomFault)) != 0 { return WRC_Prune @@ -119159,7 +119178,7 @@ func propagateConstantExprRewriteOne(tls *libc.TLS, pConst uintptr, pExpr uintpt // uses an affinity other than TEXT and one of its immediate // children is a column that matches one of the columns in // pWalker->u.pConst. -func propagateConstantExprRewrite(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:138828:12: */ +func propagateConstantExprRewrite(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:138841:12: */ var pConst uintptr = *(*uintptr)(unsafe.Pointer(pWalker + 24)) if (*WhereConst)(unsafe.Pointer(pConst)).FbHasAffBlob != 0 { @@ -119226,7 +119245,7 @@ func propagateConstantExprRewrite(tls *libc.TLS, pWalker uintptr, pExpr uintptr) // operators ==, <=, <, >=, >, or IS in a way that will cause the correct // type conversions to occur. See logic associated with the bHasAffBlob flag // for details. -func propagateConstants(tls *libc.TLS, pParse uintptr, p uintptr) int32 { /* sqlite3.c:138899:12: */ +func propagateConstants(tls *libc.TLS, pParse uintptr, p uintptr) int32 { /* sqlite3.c:138912:12: */ bp := tls.Alloc(52) defer tls.Free(52) @@ -119279,7 +119298,7 @@ func propagateConstants(tls *libc.TLS, pParse uintptr, p uintptr) int32 { /* sql // // * the sub-query uses only one distinct window frame, and // * that the window frame has a PARTITION BY clase. -func pushDownWindowCheck(tls *libc.TLS, pParse uintptr, pSubq uintptr, pExpr uintptr) int32 { /* sqlite3.c:138950:12: */ +func pushDownWindowCheck(tls *libc.TLS, pParse uintptr, pSubq uintptr, pExpr uintptr) int32 { /* sqlite3.c:138963:12: */ return Xsqlite3ExprIsConstantOrGroupBy(tls, pParse, pExpr, (*Window)(unsafe.Pointer((*Select)(unsafe.Pointer(pSubq)).FpWin)).FpPartition) } @@ -119350,7 +119369,7 @@ func pushDownWindowCheck(tls *libc.TLS, pParse uintptr, pSubq uintptr, pExpr uin // // Return 0 if no changes are made and non-zero if one or more WHERE clause // terms are duplicated into the subquery. -func pushDownWhereTerms(tls *libc.TLS, pParse uintptr, pSubq uintptr, pWhere uintptr, iCursor int32, isLeftJoin int32) int32 { /* sqlite3.c:139028:12: */ +func pushDownWhereTerms(tls *libc.TLS, pParse uintptr, pSubq uintptr, pWhere uintptr, iCursor int32, isLeftJoin int32) int32 { /* sqlite3.c:139041:12: */ bp := tls.Alloc(20) defer tls.Free(20) @@ -119438,7 +119457,7 @@ func pushDownWhereTerms(tls *libc.TLS, pParse uintptr, pSubq uintptr, pWhere uin // This routine must be called after aggregate functions have been // located but before their arguments have been subjected to aggregate // analysis. -func minMaxQuery(tls *libc.TLS, db uintptr, pFunc uintptr, ppMinMax uintptr) U8 { /* sqlite3.c:139132:11: */ +func minMaxQuery(tls *libc.TLS, db uintptr, pFunc uintptr, ppMinMax uintptr) U8 { /* sqlite3.c:139145:11: */ var eRet int32 = WHERE_ORDERBY_NORMAL // Return value var pEList uintptr // Arguments to agg function var zFunc uintptr // Name of aggregate function pFunc @@ -119488,7 +119507,7 @@ func minMaxQuery(tls *libc.TLS, db uintptr, pFunc uintptr, ppMinMax uintptr) U8 // this routine returns NULL when it could have returned a table pointer. // But returning the pointer when NULL should have been returned can // result in incorrect answers and/or crashes. So, when in doubt, return NULL. -func isSimpleCount(tls *libc.TLS, p uintptr, pAggInfo uintptr) uintptr { /* sqlite3.c:139187:14: */ +func isSimpleCount(tls *libc.TLS, p uintptr, pAggInfo uintptr) uintptr { /* sqlite3.c:139200:14: */ var pTab uintptr var pExpr uintptr @@ -119528,7 +119547,7 @@ func isSimpleCount(tls *libc.TLS, p uintptr, pAggInfo uintptr) uintptr { /* sqli // was such a clause and the named index cannot be found, return // SQLITE_ERROR and leave an error in pParse. Otherwise, populate // pFrom->pIndex and return SQLITE_OK. -func Xsqlite3IndexedByLookup(tls *libc.TLS, pParse uintptr, pFrom uintptr) int32 { /* sqlite3.c:139225:20: */ +func Xsqlite3IndexedByLookup(tls *libc.TLS, pParse uintptr, pFrom uintptr) int32 { /* sqlite3.c:139238:20: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -119567,7 +119586,7 @@ func Xsqlite3IndexedByLookup(tls *libc.TLS, pParse uintptr, pFrom uintptr) int32 // This transformation is only needed for EXCEPT, INTERSECT, and UNION. // The UNION ALL operator works fine with multiSelectOrderBy() even when // there are COLLATE terms in the ORDER BY. -func convertCompoundSelectToSubquery(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sqlite3.c:139267:12: */ +func convertCompoundSelectToSubquery(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sqlite3.c:139280:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -119646,7 +119665,7 @@ func convertCompoundSelectToSubquery(tls *libc.TLS, pWalker uintptr, p uintptr) // Check to see if the FROM clause term pFrom has table-valued function // arguments. If it does, leave an error message in pParse and return // non-zero, since pFrom is not allowed to be a table-valued function. -func cannotBeFunction(tls *libc.TLS, pParse uintptr, pFrom uintptr) int32 { /* sqlite3.c:139332:12: */ +func cannotBeFunction(tls *libc.TLS, pParse uintptr, pFrom uintptr) int32 { /* sqlite3.c:139345:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -119665,7 +119684,7 @@ func cannotBeFunction(tls *libc.TLS, pParse uintptr, pFrom uintptr) int32 { /* s // // If a non-NULL value is returned, set *ppContext to point to the With // object that the returned CTE belongs to. -func searchWith(tls *libc.TLS, pWith uintptr, pItem uintptr, ppContext uintptr) uintptr { /* sqlite3.c:139351:19: */ +func searchWith(tls *libc.TLS, pWith uintptr, pItem uintptr, ppContext uintptr) uintptr { /* sqlite3.c:139364:19: */ var zName uintptr = (*SrcItem)(unsafe.Pointer(pItem)).FzName var p uintptr @@ -119700,7 +119719,7 @@ func searchWith(tls *libc.TLS, pWith uintptr, pItem uintptr, ppContext uintptr) // // If bFree is true, do not continue to use the pWith pointer after // calling this routine, Instead, use only the return value. -func Xsqlite3WithPush(tls *libc.TLS, pParse uintptr, pWith uintptr, bFree U8) uintptr { /* sqlite3.c:139390:21: */ +func Xsqlite3WithPush(tls *libc.TLS, pParse uintptr, pWith uintptr, bFree U8) uintptr { /* sqlite3.c:139403:21: */ if pWith != 0 { if bFree != 0 { pWith = Xsqlite3ParserAddCleanup(tls, pParse, @@ -119733,7 +119752,7 @@ func Xsqlite3WithPush(tls *libc.TLS, pParse uintptr, pWith uintptr, bFree U8) ui // Return 0 if no match is found. // Return 1 if a match is found. // Return 2 if an error condition is detected. -func resolveFromTermToCte(tls *libc.TLS, pParse uintptr, pWalker uintptr, pFrom uintptr) int32 { /* sqlite3.c:139421:12: */ +func resolveFromTermToCte(tls *libc.TLS, pParse uintptr, pWalker uintptr, pFrom uintptr) int32 { /* sqlite3.c:139434:12: */ bp := tls.Alloc(52) defer tls.Free(52) @@ -119915,7 +119934,7 @@ func resolveFromTermToCte(tls *libc.TLS, pParse uintptr, pWalker uintptr, pFrom // This function is used as the xSelectCallback2() callback by // sqlite3SelectExpand() when walking a SELECT tree to resolve table // names and other FROM clause elements. -func Xsqlite3SelectPopWith(tls *libc.TLS, pWalker uintptr, p uintptr) { /* sqlite3.c:139605:21: */ +func Xsqlite3SelectPopWith(tls *libc.TLS, pWalker uintptr, p uintptr) { /* sqlite3.c:139618:21: */ var pParse uintptr = (*Walker)(unsafe.Pointer(pWalker)).FpParse if (*Parse)(unsafe.Pointer(pParse)).FpWith != 0 && (*Select)(unsafe.Pointer(p)).FpPrior == uintptr(0) { var pWith uintptr = (*Select)(unsafe.Pointer(findRightmost(tls, p))).FpWith @@ -119931,7 +119950,7 @@ func Xsqlite3SelectPopWith(tls *libc.TLS, pWalker uintptr, p uintptr) { /* sqlit // allocates and populates the SrcList_item.pTab object. If successful, // SQLITE_OK is returned. Otherwise, if an OOM error is encountered, // SQLITE_NOMEM. -func Xsqlite3ExpandSubquery(tls *libc.TLS, pParse uintptr, pFrom uintptr) int32 { /* sqlite3.c:139624:20: */ +func Xsqlite3ExpandSubquery(tls *libc.TLS, pParse uintptr, pFrom uintptr) int32 { /* sqlite3.c:139637:20: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -119985,7 +120004,7 @@ func Xsqlite3ExpandSubquery(tls *libc.TLS, pParse uintptr, pFrom uintptr) int32 // If found, expand each "*" to be every column in every table // and TABLE.* to be every column in TABLE. // -func selectExpander(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sqlite3.c:139676:12: */ +func selectExpander(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sqlite3.c:139689:12: */ bp := tls.Alloc(80) defer tls.Free(80) @@ -120334,7 +120353,7 @@ __3: // If anything goes wrong, an error message is written into pParse. // The calling function can detect the problem by looking at pParse->nErr // and/or pParse->db->mallocFailed. -func sqlite3SelectExpand(tls *libc.TLS, pParse uintptr, pSelect uintptr) { /* sqlite3.c:140003:13: */ +func sqlite3SelectExpand(tls *libc.TLS, pParse uintptr, pSelect uintptr) { /* sqlite3.c:140016:13: */ bp := tls.Alloc(28) defer tls.Free(28) @@ -120372,7 +120391,7 @@ func sqlite3SelectExpand(tls *libc.TLS, pParse uintptr, pSelect uintptr) { /* sq // by selectExpander() but the type and collation information was omitted // at that point because identifiers had not yet been resolved. This // routine is called after identifier resolution. -func selectAddSubqueryTypeInfo(tls *libc.TLS, pWalker uintptr, p uintptr) { /* sqlite3.c:140033:13: */ +func selectAddSubqueryTypeInfo(tls *libc.TLS, pWalker uintptr, p uintptr) { /* sqlite3.c:140046:13: */ var pParse uintptr var i int32 var pTabList uintptr @@ -120420,7 +120439,7 @@ __3: // SELECT statement. // // Use this routine after name resolution. -func sqlite3SelectAddTypeInfo(tls *libc.TLS, pParse uintptr, pSelect uintptr) { /* sqlite3.c:140068:13: */ +func sqlite3SelectAddTypeInfo(tls *libc.TLS, pParse uintptr, pSelect uintptr) { /* sqlite3.c:140081:13: */ bp := tls.Alloc(28) defer tls.Free(28) @@ -120449,7 +120468,7 @@ func sqlite3SelectAddTypeInfo(tls *libc.TLS, pParse uintptr, pSelect uintptr) { // * Identifiers in expression are matched to tables. // // This routine acts recursively on all subqueries within the SELECT. -func Xsqlite3SelectPrep(tls *libc.TLS, pParse uintptr, p uintptr, pOuterNC uintptr) { /* sqlite3.c:140092:21: */ +func Xsqlite3SelectPrep(tls *libc.TLS, pParse uintptr, p uintptr, pOuterNC uintptr) { /* sqlite3.c:140105:21: */ if (*Sqlite3)(unsafe.Pointer((*Parse)(unsafe.Pointer(pParse)).Fdb)).FmallocFailed != 0 { return @@ -120474,7 +120493,7 @@ func Xsqlite3SelectPrep(tls *libc.TLS, pParse uintptr, p uintptr, pOuterNC uintp // intermediate results while calculating an aggregate. This // routine generates code that stores NULLs in all of those memory // cells. -func resetAccumulator(tls *libc.TLS, pParse uintptr, pAggInfo uintptr) { /* sqlite3.c:140116:13: */ +func resetAccumulator(tls *libc.TLS, pParse uintptr, pAggInfo uintptr) { /* sqlite3.c:140129:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -120524,7 +120543,7 @@ __3: // Invoke the OP_AggFinalize opcode for every aggregate function // in the AggInfo structure. -func finalizeAggFunctions(tls *libc.TLS, pParse uintptr, pAggInfo uintptr) { /* sqlite3.c:140162:13: */ +func finalizeAggFunctions(tls *libc.TLS, pParse uintptr, pAggInfo uintptr) { /* sqlite3.c:140175:13: */ var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe var i int32 var pF uintptr @@ -120563,7 +120582,7 @@ __3: // in pAggInfo, then only populate the pAggInfo->nAccumulator accumulator // registers if register regAcc contains 0. The caller will take care // of setting and clearing regAcc. -func updateAccumulator(tls *libc.TLS, pParse uintptr, regAcc int32, pAggInfo uintptr, eDistinctType int32) { /* sqlite3.c:140185:13: */ +func updateAccumulator(tls *libc.TLS, pParse uintptr, regAcc int32, pAggInfo uintptr, eDistinctType int32) { /* sqlite3.c:140198:13: */ var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe var i int32 var regHit int32 = 0 @@ -120704,7 +120723,7 @@ __9: // Add a single OP_Explain instruction to the VDBE to explain a simple // count(*) query ("SELECT count(*) FROM pTab"). -func explainSimpleCount(tls *libc.TLS, pParse uintptr, pTab uintptr, pIdx uintptr) { /* sqlite3.c:140287:13: */ +func explainSimpleCount(tls *libc.TLS, pParse uintptr, pTab uintptr, pIdx uintptr) { /* sqlite3.c:140300:13: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -120736,7 +120755,7 @@ func explainSimpleCount(tls *libc.TLS, pParse uintptr, pTab uintptr, pIdx uintpt // sub-expression matches the criteria for being moved to the WHERE // clause. If so, add it to the WHERE clause and replace the sub-expression // within the HAVING expression with a constant "1". -func havingToWhereExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:140316:12: */ +func havingToWhereExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:140329:12: */ if int32((*Expr)(unsafe.Pointer(pExpr)).Fop) != TK_AND { var pS uintptr = *(*uintptr)(unsafe.Pointer(pWalker + 24)) // This routine is called before the HAVING clause of the current @@ -120782,7 +120801,7 @@ func havingToWhereExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { // A term of the HAVING expression is eligible for transfer if it consists // entirely of constants and expressions that are also GROUP BY terms that // use the "BINARY" collation sequence. -func havingToWhere(tls *libc.TLS, pParse uintptr, p uintptr) { /* sqlite3.c:140360:13: */ +func havingToWhere(tls *libc.TLS, pParse uintptr, p uintptr) { /* sqlite3.c:140373:13: */ bp := tls.Alloc(28) defer tls.Free(28) @@ -120800,7 +120819,7 @@ func havingToWhere(tls *libc.TLS, pParse uintptr, p uintptr) { /* sqlite3.c:1403 // Check to see if the pThis entry of pTabList is a self-join of a prior view. // If it is, then return the SrcList_item for the prior view. If it is not, // then return 0. -func isSelfJoinView(tls *libc.TLS, pTabList uintptr, pThis uintptr) uintptr { /* sqlite3.c:140380:16: */ +func isSelfJoinView(tls *libc.TLS, pTabList uintptr, pThis uintptr) uintptr { /* sqlite3.c:140393:16: */ var pItem uintptr if (*Select)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pThis)).FpSelect)).FselFlags&U32(SF_PushDown) != 0 { @@ -120841,7 +120860,7 @@ func isSelfJoinView(tls *libc.TLS, pTabList uintptr, pThis uintptr) uintptr { /* } // Deallocate a single AggInfo object -func agginfoFree(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:140415:13: */ +func agginfoFree(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:140428:13: */ Xsqlite3DbFree(tls, db, (*AggInfo)(unsafe.Pointer(p)).FaCol) Xsqlite3DbFree(tls, db, (*AggInfo)(unsafe.Pointer(p)).FaFunc) Xsqlite3DbFreeNN(tls, db, p) @@ -120858,7 +120877,7 @@ func agginfoFree(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:140415:13: // // This routine does NOT free the Select structure passed in. The // calling function needs to do that. -func Xsqlite3Select(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) int32 { /* sqlite3.c:140523:20: */ +func Xsqlite3Select(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) int32 { /* sqlite3.c:140536:20: */ bp := tls.Alloc(164) defer tls.Free(164) @@ -122454,7 +122473,7 @@ type TabResult1 = struct { FnColumn U32 FnData U32 Frc int32 -} /* sqlite3.c:141786:9 */ +} /* sqlite3.c:141799:9 */ //************* End of select.c ********************************************* //************* Begin file table.c ****************************************** @@ -122478,12 +122497,12 @@ type TabResult1 = struct { // This structure is used to pass data from sqlite3_get_table() through // to the callback function is uses to build the result. -type TabResult = TabResult1 /* sqlite3.c:141794:3 */ +type TabResult = TabResult1 /* sqlite3.c:141807:3 */ // This routine is called once for each row in the result table. Its job // is to fill in the TabResult structure appropriately, allocating new // memory as necessary. -func sqlite3_get_table_cb(tls *libc.TLS, pArg uintptr, nCol int32, argv uintptr, colv uintptr) int32 { /* sqlite3.c:141801:12: */ +func sqlite3_get_table_cb(tls *libc.TLS, pArg uintptr, nCol int32, argv uintptr, colv uintptr) int32 { /* sqlite3.c:141814:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -122614,7 +122633,7 @@ malloc_failed: // from malloc(). But the caller cannot free this memory directly. // Instead, the entire table should be passed to sqlite3_free_table() when // the calling procedure is finished using it. -func Xsqlite3_get_table(tls *libc.TLS, db uintptr, zSql uintptr, pazResult uintptr, pnRow uintptr, pnColumn uintptr, pzErrMsg uintptr) int32 { /* sqlite3.c:141875:16: */ +func Xsqlite3_get_table(tls *libc.TLS, db uintptr, zSql uintptr, pazResult uintptr, pnRow uintptr, pnColumn uintptr, pzErrMsg uintptr) int32 { /* sqlite3.c:141888:16: */ bp := tls.Alloc(36) defer tls.Free(36) @@ -122686,7 +122705,7 @@ func Xsqlite3_get_table(tls *libc.TLS, db uintptr, zSql uintptr, pazResult uintp } // This routine frees the space the sqlite3_get_table() malloced. -func Xsqlite3_free_table(tls *libc.TLS, azResult uintptr) { /* sqlite3.c:141944:17: */ +func Xsqlite3_free_table(tls *libc.TLS, azResult uintptr) { /* sqlite3.c:141957:17: */ if azResult != 0 { var i int32 var n int32 @@ -122717,7 +122736,7 @@ func Xsqlite3_free_table(tls *libc.TLS, azResult uintptr) { /* sqlite3.c:141944: // #include "sqliteInt.h" // Delete a linked list of TriggerStep structures. -func Xsqlite3DeleteTriggerStep(tls *libc.TLS, db uintptr, pTriggerStep uintptr) { /* sqlite3.c:141979:21: */ +func Xsqlite3DeleteTriggerStep(tls *libc.TLS, db uintptr, pTriggerStep uintptr) { /* sqlite3.c:141992:21: */ for pTriggerStep != 0 { var pTmp uintptr = pTriggerStep pTriggerStep = (*TriggerStep)(unsafe.Pointer(pTriggerStep)).FpNext @@ -122746,7 +122765,7 @@ func Xsqlite3DeleteTriggerStep(tls *libc.TLS, db uintptr, pTriggerStep uintptr) // To state it another way: This routine returns a list of all triggers // that fire off of pTab. The list will include any TEMP triggers on // pTab as well as the triggers lised in pTab->pTrigger. -func Xsqlite3TriggerList(tls *libc.TLS, pParse uintptr, pTab uintptr) uintptr { /* sqlite3.c:142010:24: */ +func Xsqlite3TriggerList(tls *libc.TLS, pParse uintptr, pTab uintptr) uintptr { /* sqlite3.c:142023:24: */ var pTmpSchema uintptr // Schema of the pTab table var pList uintptr // List of triggers to return var p uintptr // Loop variable for TEMP triggers @@ -122784,7 +122803,7 @@ func Xsqlite3TriggerList(tls *libc.TLS, pParse uintptr, pTab uintptr) uintptr { // in pParse->pNewTrigger. After the trigger actions have been parsed, the // sqlite3FinishTrigger() function is called to complete the trigger // construction process. -func Xsqlite3BeginTrigger(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 uintptr, tr_tm int32, op int32, pColumns uintptr, pTableName uintptr, pWhen uintptr, isTemp int32, noErr int32) { /* sqlite3.c:142066:21: */ +func Xsqlite3BeginTrigger(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 uintptr, tr_tm int32, op int32, pColumns uintptr, pTableName uintptr, pWhen uintptr, isTemp int32, noErr int32) { /* sqlite3.c:142079:21: */ bp := tls.Alloc(88) defer tls.Free(88) @@ -123091,7 +123110,7 @@ __31: // This routine is called after all of the trigger actions have been parsed // in order to complete the process of building the trigger. -func Xsqlite3FinishTrigger(tls *libc.TLS, pParse uintptr, pStepList uintptr, pAll uintptr) { /* sqlite3.c:142273:21: */ +func Xsqlite3FinishTrigger(tls *libc.TLS, pParse uintptr, pStepList uintptr, pAll uintptr) { /* sqlite3.c:142286:21: */ bp := tls.Alloc(100) defer tls.Free(100) @@ -123215,7 +123234,7 @@ triggerfinish_cleanup: // Duplicate a range of text from an SQL statement, then convert all // whitespace characters into ordinary space characters. -func triggerSpanDup(tls *libc.TLS, db uintptr, zStart uintptr, zEnd uintptr) uintptr { /* sqlite3.c:142361:13: */ +func triggerSpanDup(tls *libc.TLS, db uintptr, zStart uintptr, zEnd uintptr) uintptr { /* sqlite3.c:142374:13: */ var z uintptr = Xsqlite3DbSpanDup(tls, db, zStart, zEnd) var i int32 if z != 0 { @@ -123233,7 +123252,7 @@ func triggerSpanDup(tls *libc.TLS, db uintptr, zStart uintptr, zEnd uintptr) uin // // The parser calls this routine when it finds a SELECT statement in // body of a TRIGGER. -func Xsqlite3TriggerSelectStep(tls *libc.TLS, db uintptr, pSelect uintptr, zStart uintptr, zEnd uintptr) uintptr { /* sqlite3.c:142375:28: */ +func Xsqlite3TriggerSelectStep(tls *libc.TLS, db uintptr, pSelect uintptr, zStart uintptr, zEnd uintptr) uintptr { /* sqlite3.c:142388:28: */ var pTriggerStep uintptr = Xsqlite3DbMallocZero(tls, db, uint64(unsafe.Sizeof(TriggerStep{}))) if pTriggerStep == uintptr(0) { Xsqlite3SelectDelete(tls, db, pSelect) @@ -123250,7 +123269,7 @@ func Xsqlite3TriggerSelectStep(tls *libc.TLS, db uintptr, pSelect uintptr, zStar // holds both the TriggerStep object and the TriggerStep.target.z string. // // If an OOM error occurs, NULL is returned and db->mallocFailed is set. -func triggerStepAllocate(tls *libc.TLS, pParse uintptr, op U8, pName uintptr, zStart uintptr, zEnd uintptr) uintptr { /* sqlite3.c:142399:20: */ +func triggerStepAllocate(tls *libc.TLS, pParse uintptr, op U8, pName uintptr, zStart uintptr, zEnd uintptr) uintptr { /* sqlite3.c:142412:20: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb var pTriggerStep uintptr @@ -123277,7 +123296,7 @@ func triggerStepAllocate(tls *libc.TLS, pParse uintptr, op U8, pName uintptr, zS // // The parser calls this routine when it sees an INSERT inside the // body of a trigger. -func Xsqlite3TriggerInsertStep(tls *libc.TLS, pParse uintptr, pTableName uintptr, pColumn uintptr, pSelect uintptr, orconf U8, pUpsert uintptr, zStart uintptr, zEnd uintptr) uintptr { /* sqlite3.c:142432:28: */ +func Xsqlite3TriggerInsertStep(tls *libc.TLS, pParse uintptr, pTableName uintptr, pColumn uintptr, pSelect uintptr, orconf U8, pUpsert uintptr, zStart uintptr, zEnd uintptr) uintptr { /* sqlite3.c:142445:28: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb var pTriggerStep uintptr @@ -123309,7 +123328,7 @@ func Xsqlite3TriggerInsertStep(tls *libc.TLS, pParse uintptr, pTableName uintptr // Construct a trigger step that implements an UPDATE statement and return // a pointer to that trigger step. The parser calls this routine when it // sees an UPDATE statement inside the body of a CREATE TRIGGER. -func Xsqlite3TriggerUpdateStep(tls *libc.TLS, pParse uintptr, pTableName uintptr, pFrom uintptr, pEList uintptr, pWhere uintptr, orconf U8, zStart uintptr, zEnd uintptr) uintptr { /* sqlite3.c:142477:28: */ +func Xsqlite3TriggerUpdateStep(tls *libc.TLS, pParse uintptr, pTableName uintptr, pFrom uintptr, pEList uintptr, pWhere uintptr, orconf U8, zStart uintptr, zEnd uintptr) uintptr { /* sqlite3.c:142490:28: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb var pTriggerStep uintptr @@ -123338,7 +123357,7 @@ func Xsqlite3TriggerUpdateStep(tls *libc.TLS, pParse uintptr, pTableName uintptr // Construct a trigger step that implements a DELETE statement and return // a pointer to that trigger step. The parser calls this routine when it // sees a DELETE statement inside the body of a CREATE TRIGGER. -func Xsqlite3TriggerDeleteStep(tls *libc.TLS, pParse uintptr, pTableName uintptr, pWhere uintptr, zStart uintptr, zEnd uintptr) uintptr { /* sqlite3.c:142517:28: */ +func Xsqlite3TriggerDeleteStep(tls *libc.TLS, pParse uintptr, pTableName uintptr, pWhere uintptr, zStart uintptr, zEnd uintptr) uintptr { /* sqlite3.c:142530:28: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb var pTriggerStep uintptr @@ -123357,7 +123376,7 @@ func Xsqlite3TriggerDeleteStep(tls *libc.TLS, pParse uintptr, pTableName uintptr } // Recursively delete a Trigger structure -func Xsqlite3DeleteTrigger(tls *libc.TLS, db uintptr, pTrigger uintptr) { /* sqlite3.c:142544:21: */ +func Xsqlite3DeleteTrigger(tls *libc.TLS, db uintptr, pTrigger uintptr) { /* sqlite3.c:142557:21: */ if pTrigger == uintptr(0) || (*Trigger)(unsafe.Pointer(pTrigger)).FbReturning != 0 { return } @@ -123377,7 +123396,7 @@ func Xsqlite3DeleteTrigger(tls *libc.TLS, db uintptr, pTrigger uintptr) { /* sql // same job as this routine except it takes a pointer to the trigger // instead of the trigger name. // -func Xsqlite3DropTrigger(tls *libc.TLS, pParse uintptr, pName uintptr, noErr int32) { /* sqlite3.c:142562:21: */ +func Xsqlite3DropTrigger(tls *libc.TLS, pParse uintptr, pName uintptr, noErr int32) { /* sqlite3.c:142575:21: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -123461,12 +123480,12 @@ drop_trigger_cleanup: // Return a pointer to the Table structure for the table that a trigger // is set on. -func tableOfTrigger(tls *libc.TLS, pTrigger uintptr) uintptr { /* sqlite3.c:142604:14: */ +func tableOfTrigger(tls *libc.TLS, pTrigger uintptr) uintptr { /* sqlite3.c:142617:14: */ return Xsqlite3HashFind(tls, (*Trigger)(unsafe.Pointer(pTrigger)).FpTabSchema+8, (*Trigger)(unsafe.Pointer(pTrigger)).Ftable) } // Drop a trigger given a pointer to that trigger. -func Xsqlite3DropTriggerPtr(tls *libc.TLS, pParse uintptr, pTrigger uintptr) { /* sqlite3.c:142612:21: */ +func Xsqlite3DropTriggerPtr(tls *libc.TLS, pParse uintptr, pTrigger uintptr) { /* sqlite3.c:142625:21: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -123507,7 +123526,7 @@ func Xsqlite3DropTriggerPtr(tls *libc.TLS, pParse uintptr, pTrigger uintptr) { / } // Remove a trigger from the hash tables of the sqlite* pointer. -func Xsqlite3UnlinkAndDeleteTrigger(tls *libc.TLS, db uintptr, iDb int32, zName uintptr) { /* sqlite3.c:142650:21: */ +func Xsqlite3UnlinkAndDeleteTrigger(tls *libc.TLS, db uintptr, iDb int32, zName uintptr) { /* sqlite3.c:142663:21: */ var pTrigger uintptr var pHash uintptr @@ -123538,7 +123557,7 @@ func Xsqlite3UnlinkAndDeleteTrigger(tls *libc.TLS, db uintptr, iDb int32, zName // wildcard that matches anything. Likewise if pEList==NULL then // it matches anything so always return true. Return false only // if there is no match. -func checkColumnOverlap(tls *libc.TLS, pIdList uintptr, pEList uintptr) int32 { /* sqlite3.c:142684:12: */ +func checkColumnOverlap(tls *libc.TLS, pIdList uintptr, pEList uintptr) int32 { /* sqlite3.c:142697:12: */ var e int32 if pIdList == uintptr(0) || pEList == uintptr(0) { return 1 @@ -123555,7 +123574,7 @@ func checkColumnOverlap(tls *libc.TLS, pIdList uintptr, pEList uintptr) int32 { // one trigger that must be fired when an operation of type 'op' is // performed on the table, and, if that operation is an UPDATE, if at // least one of the columns in pChanges is being modified. -func Xsqlite3TriggersExist(tls *libc.TLS, pParse uintptr, pTab uintptr, op int32, pChanges uintptr, pMask uintptr) uintptr { /* sqlite3.c:142699:24: */ +func Xsqlite3TriggersExist(tls *libc.TLS, pParse uintptr, pTab uintptr, op int32, pChanges uintptr, pMask uintptr) uintptr { /* sqlite3.c:142712:24: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -123682,7 +123701,7 @@ __17: // referring to a target in another database. An exception is when the // trigger is in TEMP in which case it can refer to any other database it // wants. -func Xsqlite3TriggerStepSrc(tls *libc.TLS, pParse uintptr, pStep uintptr) uintptr { /* sqlite3.c:142773:24: */ +func Xsqlite3TriggerStepSrc(tls *libc.TLS, pParse uintptr, pStep uintptr) uintptr { /* sqlite3.c:142786:24: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb var pSrc uintptr // SrcList to be returned var zName uintptr = Xsqlite3DbStrDup(tls, db, (*TriggerStep)(unsafe.Pointer(pStep)).FzTarget) @@ -123707,7 +123726,7 @@ func Xsqlite3TriggerStepSrc(tls *libc.TLS, pParse uintptr, pStep uintptr) uintpt // Return true if the pExpr term from the RETURNING clause argument // list is of the form "*". Raise an error if the terms if of the // form "table.*". -func isAsteriskTerm(tls *libc.TLS, pParse uintptr, pTerm uintptr) int32 { /* sqlite3.c:142804:12: */ +func isAsteriskTerm(tls *libc.TLS, pParse uintptr, pTerm uintptr) int32 { /* sqlite3.c:142817:12: */ if int32((*Expr)(unsafe.Pointer(pTerm)).Fop) == TK_ASTERISK { return 1 @@ -123728,7 +123747,7 @@ func isAsteriskTerm(tls *libc.TLS, pParse uintptr, pTerm uintptr) int32 { /* sql // // This routine makes a copy of the pList, and at the same time expands // any "*" wildcards to be the complete set of columns from pTab. -func sqlite3ExpandReturning(tls *libc.TLS, pParse uintptr, pList uintptr, pTab uintptr) uintptr { /* sqlite3.c:142824:17: */ +func sqlite3ExpandReturning(tls *libc.TLS, pParse uintptr, pList uintptr, pTab uintptr) uintptr { /* sqlite3.c:142837:17: */ var pNew uintptr = uintptr(0) var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb var i int32 @@ -123769,7 +123788,7 @@ func sqlite3ExpandReturning(tls *libc.TLS, pParse uintptr, pList uintptr, pTab u // Generate code for the RETURNING trigger. Unlike other triggers // that invoke a subprogram in the bytecode, the code for RETURNING // is generated in-line. -func codeReturningTrigger(tls *libc.TLS, pParse uintptr, pTrigger uintptr, pTab uintptr, regIn int32) { /* sqlite3.c:142867:13: */ +func codeReturningTrigger(tls *libc.TLS, pParse uintptr, pTrigger uintptr, pTab uintptr, regIn int32) { /* sqlite3.c:142880:13: */ bp := tls.Alloc(188) defer tls.Free(188) @@ -123837,7 +123856,7 @@ func codeReturningTrigger(tls *libc.TLS, pParse uintptr, pTrigger uintptr, pTab // Generate VDBE code for the statements inside the body of a single // trigger. -func codeTriggerProgram(tls *libc.TLS, pParse uintptr, pStepList uintptr, orconf int32) int32 { /* sqlite3.c:142943:12: */ +func codeTriggerProgram(tls *libc.TLS, pParse uintptr, pStepList uintptr, orconf int32) int32 { /* sqlite3.c:142956:12: */ bp := tls.Alloc(36) defer tls.Free(36) @@ -123924,7 +123943,7 @@ func codeTriggerProgram(tls *libc.TLS, pParse uintptr, pStepList uintptr, orconf // Parse context structure pFrom has just been used to create a sub-vdbe // (trigger program). If an error has occurred, transfer error information // from pFrom to pTo. -func transferParseError(tls *libc.TLS, pTo uintptr, pFrom uintptr) { /* sqlite3.c:143047:13: */ +func transferParseError(tls *libc.TLS, pTo uintptr, pFrom uintptr) { /* sqlite3.c:143060:13: */ if (*Parse)(unsafe.Pointer(pTo)).FnErr == 0 { (*Parse)(unsafe.Pointer(pTo)).FzErrMsg = (*Parse)(unsafe.Pointer(pFrom)).FzErrMsg @@ -123937,7 +123956,7 @@ func transferParseError(tls *libc.TLS, pTo uintptr, pFrom uintptr) { /* sqlite3. // Create and populate a new TriggerPrg object with a sub-program // implementing trigger pTrigger with ON CONFLICT policy orconf. -func codeRowTrigger(tls *libc.TLS, pParse uintptr, pTrigger uintptr, pTab uintptr, orconf int32) uintptr { /* sqlite3.c:143063:19: */ +func codeRowTrigger(tls *libc.TLS, pParse uintptr, pTrigger uintptr, pTab uintptr, orconf int32) uintptr { /* sqlite3.c:143076:19: */ bp := tls.Alloc(312) defer tls.Free(312) @@ -124043,7 +124062,7 @@ func codeRowTrigger(tls *libc.TLS, pParse uintptr, pTrigger uintptr, pTab uintpt // trigger pTrigger with default ON CONFLICT algorithm orconf. If no such // TriggerPrg object exists, a new object is allocated and populated before // being returned. -func getRowTrigger(tls *libc.TLS, pParse uintptr, pTrigger uintptr, pTab uintptr, orconf int32) uintptr { /* sqlite3.c:143177:19: */ +func getRowTrigger(tls *libc.TLS, pParse uintptr, pTrigger uintptr, pTab uintptr, orconf int32) uintptr { /* sqlite3.c:143190:19: */ var pRoot uintptr = func() uintptr { if (*Parse)(unsafe.Pointer(pParse)).FpToplevel != 0 { return (*Parse)(unsafe.Pointer(pParse)).FpToplevel @@ -124072,7 +124091,7 @@ func getRowTrigger(tls *libc.TLS, pParse uintptr, pTrigger uintptr, pTab uintptr // table pTab. The reg, orconf and ignoreJump parameters passed to this // function are the same as those described in the header function for // sqlite3CodeRowTrigger() -func Xsqlite3CodeRowTriggerDirect(tls *libc.TLS, pParse uintptr, p uintptr, pTab uintptr, reg int32, orconf int32, ignoreJump int32) { /* sqlite3.c:143212:21: */ +func Xsqlite3CodeRowTriggerDirect(tls *libc.TLS, pParse uintptr, p uintptr, pTab uintptr, reg int32, orconf int32, ignoreJump int32) { /* sqlite3.c:143225:21: */ var v uintptr = Xsqlite3GetVdbe(tls, pParse) // Main VM var pPrg uintptr pPrg = getRowTrigger(tls, pParse, p, pTab, orconf) @@ -124132,7 +124151,7 @@ func Xsqlite3CodeRowTriggerDirect(tls *libc.TLS, pParse uintptr, p uintptr, pTab // trigger program to use (REPLACE, IGNORE etc.). Parameter ignoreJump // is the instruction that control should jump to if a trigger program // raises an IGNORE exception. -func Xsqlite3CodeRowTrigger(tls *libc.TLS, pParse uintptr, pTrigger uintptr, op int32, pChanges uintptr, tr_tm int32, pTab uintptr, reg int32, orconf int32, ignoreJump int32) { /* sqlite3.c:143284:21: */ +func Xsqlite3CodeRowTrigger(tls *libc.TLS, pParse uintptr, pTrigger uintptr, op int32, pChanges uintptr, tr_tm int32, pTab uintptr, reg int32, orconf int32, ignoreJump int32) { /* sqlite3.c:143297:21: */ var p uintptr // Used to iterate through pTrigger list for p = pTrigger; p != 0; p = (*Trigger)(unsafe.Pointer(p)).FpNext { @@ -124180,7 +124199,7 @@ func Xsqlite3CodeRowTrigger(tls *libc.TLS, pParse uintptr, pTrigger uintptr, op // included in the returned mask if the TRIGGER_BEFORE bit is set in the // tr_tm parameter. Similarly, values accessed by AFTER triggers are only // included in the returned mask if the TRIGGER_AFTER bit is set in tr_tm. -func Xsqlite3TriggerColmask(tls *libc.TLS, pParse uintptr, pTrigger uintptr, pChanges uintptr, isNew int32, tr_tm int32, pTab uintptr, orconf int32) U32 { /* sqlite3.c:143354:20: */ +func Xsqlite3TriggerColmask(tls *libc.TLS, pParse uintptr, pTrigger uintptr, pChanges uintptr, isNew int32, tr_tm int32, pTab uintptr, orconf int32) U32 { /* sqlite3.c:143367:20: */ var op int32 if pChanges != 0 { op = TK_UPDATE @@ -124237,7 +124256,7 @@ func Xsqlite3TriggerColmask(tls *libc.TLS, pParse uintptr, pTrigger uintptr, pCh // (not a virtual table) then the value might have been stored as an // integer. In that case, add an OP_RealAffinity opcode to make sure // it has been converted into REAL. -func Xsqlite3ColumnDefault(tls *libc.TLS, v uintptr, pTab uintptr, i int32, iReg int32) { /* sqlite3.c:143452:21: */ +func Xsqlite3ColumnDefault(tls *libc.TLS, v uintptr, pTab uintptr, i int32, iReg int32) { /* sqlite3.c:143465:21: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -124267,7 +124286,7 @@ func Xsqlite3ColumnDefault(tls *libc.TLS, v uintptr, pTab uintptr, i int32, iReg // aXRef[j] will be non-negative if column j of the original table is // being updated. chngRowid will be true if the rowid of the table is // being updated. -func indexColumnIsBeingUpdated(tls *libc.TLS, pIdx uintptr, iCol int32, aXRef uintptr, chngRowid int32) int32 { /* sqlite3.c:143485:12: */ +func indexColumnIsBeingUpdated(tls *libc.TLS, pIdx uintptr, iCol int32, aXRef uintptr, chngRowid int32) int32 { /* sqlite3.c:143498:12: */ var iIdxCol I16 = *(*I16)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FaiColumn + uintptr(iCol)*2)) // Cannot index rowid if int32(iIdxCol) >= 0 { @@ -124288,7 +124307,7 @@ func indexColumnIsBeingUpdated(tls *libc.TLS, pIdx uintptr, iCol int32, aXRef ui // aXRef[j] will be non-negative if column j of the original table is // being updated. chngRowid will be true if the rowid of the table is // being updated. -func indexWhereClauseMightChange(tls *libc.TLS, pIdx uintptr, aXRef uintptr, chngRowid int32) int32 { /* sqlite3.c:143515:12: */ +func indexWhereClauseMightChange(tls *libc.TLS, pIdx uintptr, aXRef uintptr, chngRowid int32) int32 { /* sqlite3.c:143528:12: */ if (*Index)(unsafe.Pointer(pIdx)).FpPartIdxWhere == uintptr(0) { return 0 } @@ -124300,7 +124319,7 @@ func indexWhereClauseMightChange(tls *libc.TLS, pIdx uintptr, aXRef uintptr, chn // Expr.iColumn set to value (iCol+1). The resolver will modify the // expression to be a TK_COLUMN reading column iCol of the first // table in the source-list (pSrc->a[0]). -func exprRowColumn(tls *libc.TLS, pParse uintptr, iCol int32) uintptr { /* sqlite3.c:143531:13: */ +func exprRowColumn(tls *libc.TLS, pParse uintptr, iCol int32) uintptr { /* sqlite3.c:143544:13: */ var pRet uintptr = Xsqlite3PExpr(tls, pParse, TK_ROW, uintptr(0), uintptr(0)) if pRet != 0 { (*Expr)(unsafe.Pointer(pRet)).FiColumn = YnVar(iCol + 1) @@ -124344,7 +124363,7 @@ func exprRowColumn(tls *libc.TLS, pParse uintptr, iCol int32) uintptr { /* sqlit // records with automatically assigned integer keys For intkey tables, the // rowid value in is used as the integer key, and the // remaining fields make up the table record. -func updateFromSelect(tls *libc.TLS, pParse uintptr, iEph int32, pPk uintptr, pChanges uintptr, pTabList uintptr, pWhere uintptr, pOrderBy uintptr, pLimit uintptr) { /* sqlite3.c:143575:13: */ +func updateFromSelect(tls *libc.TLS, pParse uintptr, iEph int32, pPk uintptr, pChanges uintptr, pTabList uintptr, pWhere uintptr, pOrderBy uintptr, pLimit uintptr) { /* sqlite3.c:143588:13: */ bp := tls.Alloc(28) defer tls.Free(28) @@ -124427,7 +124446,7 @@ func updateFromSelect(tls *libc.TLS, pParse uintptr, iEph int32, pPk uintptr, pC // onError | pChanges | pWhere // \_______________________/ // pTabList -func Xsqlite3Update(tls *libc.TLS, pParse uintptr, pTabList uintptr, pChanges uintptr, pWhere uintptr, onError int32, pOrderBy uintptr, pLimit uintptr, pUpsert uintptr) { /* sqlite3.c:143672:21: */ +func Xsqlite3Update(tls *libc.TLS, pParse uintptr, pTabList uintptr, pChanges uintptr, pWhere uintptr, onError int32, pOrderBy uintptr, pLimit uintptr, pUpsert uintptr) { /* sqlite3.c:143685:21: */ bp := tls.Alloc(72) defer tls.Free(72) @@ -125817,7 +125836,7 @@ update_cleanup: // The "onepass" strategy does not use an ephemeral table. Instead, it // stores the same values (A, B and C above) in a register array and // makes a single invocation of VUpdate. -func updateVirtualTable(tls *libc.TLS, pParse uintptr, pSrc uintptr, pTab uintptr, pChanges uintptr, pRowid uintptr, aXRef uintptr, pWhere uintptr, onError int32) { /* sqlite3.c:144564:13: */ +func updateVirtualTable(tls *libc.TLS, pParse uintptr, pSrc uintptr, pTab uintptr, pChanges uintptr, pRowid uintptr, aXRef uintptr, pWhere uintptr, onError int32) { /* sqlite3.c:144577:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -125990,7 +126009,7 @@ func updateVirtualTable(tls *libc.TLS, pParse uintptr, pSrc uintptr, pTab uintpt // #include "sqliteInt.h" // Free a list of Upsert objects -func upsertDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:144752:29: */ +func upsertDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:144765:29: */ for __ccgo := true; __ccgo; __ccgo = p != 0 { var pNext uintptr = (*Upsert)(unsafe.Pointer(p)).FpNextUpsert Xsqlite3ExprListDelete(tls, db, (*Upsert)(unsafe.Pointer(p)).FpUpsertTarget) @@ -126003,14 +126022,14 @@ func upsertDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:144752:29 } } -func Xsqlite3UpsertDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:144764:21: */ +func Xsqlite3UpsertDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:144777:21: */ if p != 0 { upsertDelete(tls, db, p) } } // Duplicate an Upsert object. -func Xsqlite3UpsertDup(tls *libc.TLS, db uintptr, p uintptr) uintptr { /* sqlite3.c:144772:23: */ +func Xsqlite3UpsertDup(tls *libc.TLS, db uintptr, p uintptr) uintptr { /* sqlite3.c:144785:23: */ if p == uintptr(0) { return uintptr(0) } @@ -126023,7 +126042,7 @@ func Xsqlite3UpsertDup(tls *libc.TLS, db uintptr, p uintptr) uintptr { /* sqlite } // Create a new Upsert object. -func Xsqlite3UpsertNew(tls *libc.TLS, db uintptr, pTarget uintptr, pTargetWhere uintptr, pSet uintptr, pWhere uintptr, pNext uintptr) uintptr { /* sqlite3.c:144786:23: */ +func Xsqlite3UpsertNew(tls *libc.TLS, db uintptr, pTarget uintptr, pTargetWhere uintptr, pSet uintptr, pWhere uintptr, pNext uintptr) uintptr { /* sqlite3.c:144799:23: */ var pNew uintptr pNew = Xsqlite3DbMallocZero(tls, db, uint64(unsafe.Sizeof(Upsert{}))) if pNew == uintptr(0) { @@ -126049,7 +126068,7 @@ func Xsqlite3UpsertNew(tls *libc.TLS, db uintptr, pTarget uintptr, pTargetWhere // // Return SQLITE_OK if everything works, or an error code is something // is wrong. -func Xsqlite3UpsertAnalyzeTarget(tls *libc.TLS, pParse uintptr, pTabList uintptr, pUpsert uintptr) int32 { /* sqlite3.c:144821:20: */ +func Xsqlite3UpsertAnalyzeTarget(tls *libc.TLS, pParse uintptr, pTabList uintptr, pUpsert uintptr) int32 { /* sqlite3.c:144834:20: */ bp := tls.Alloc(168) defer tls.Free(168) @@ -126191,7 +126210,7 @@ __3: // Return true if pUpsert is the last ON CONFLICT clause with a // conflict target, or if pUpsert is followed by another ON CONFLICT // clause that targets the INTEGER PRIMARY KEY. -func Xsqlite3UpsertNextIsIPK(tls *libc.TLS, pUpsert uintptr) int32 { /* sqlite3.c:144948:20: */ +func Xsqlite3UpsertNextIsIPK(tls *libc.TLS, pUpsert uintptr) int32 { /* sqlite3.c:144961:20: */ var pNext uintptr if pUpsert == uintptr(0) { return 0 @@ -126213,7 +126232,7 @@ func Xsqlite3UpsertNextIsIPK(tls *libc.TLS, pUpsert uintptr) int32 { /* sqlite3. // a particular index pIdx, return a pointer to the particular ON CONFLICT // clause that applies to the index. Or, if the index is not subject to // any ON CONFLICT clause, return NULL. -func Xsqlite3UpsertOfIndex(tls *libc.TLS, pUpsert uintptr, pIdx uintptr) uintptr { /* sqlite3.c:144964:23: */ +func Xsqlite3UpsertOfIndex(tls *libc.TLS, pUpsert uintptr, pIdx uintptr) uintptr { /* sqlite3.c:144977:23: */ for pUpsert != 0 && (*Upsert)(unsafe.Pointer(pUpsert)).FpUpsertTarget != uintptr(0) && (*Upsert)(unsafe.Pointer(pUpsert)).FpUpsertIdx != pIdx { @@ -126229,7 +126248,7 @@ func Xsqlite3UpsertOfIndex(tls *libc.TLS, pUpsert uintptr, pIdx uintptr) uintptr // currently points to the conflicting table row. Otherwise, if pIdx // is not NULL, then pIdx is the constraint that failed and iCur is a // cursor points to the conflicting row. -func Xsqlite3UpsertDoUpdate(tls *libc.TLS, pParse uintptr, pUpsert uintptr, pTab uintptr, pIdx uintptr, iCur int32) { /* sqlite3.c:144984:21: */ +func Xsqlite3UpsertDoUpdate(tls *libc.TLS, pParse uintptr, pUpsert uintptr, pTab uintptr, pIdx uintptr, iCur int32) { /* sqlite3.c:144997:21: */ var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb var pSrc uintptr // FROM clause for the UPDATE @@ -126309,7 +126328,7 @@ func Xsqlite3UpsertDoUpdate(tls *libc.TLS, pParse uintptr, pUpsert uintptr, pTab // // The execSqlF() routine does the same thing, except it accepts // a format string as its third argument -func execSql(tls *libc.TLS, db uintptr, pzErrMsg uintptr, zSql uintptr) int32 { /* sqlite3.c:145081:12: */ +func execSql(tls *libc.TLS, db uintptr, pzErrMsg uintptr, zSql uintptr) int32 { /* sqlite3.c:145094:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -126349,7 +126368,7 @@ func execSql(tls *libc.TLS, db uintptr, pzErrMsg uintptr, zSql uintptr) int32 { return rc } -func execSqlF(tls *libc.TLS, db uintptr, pzErrMsg uintptr, zSql uintptr, va uintptr) int32 { /* sqlite3.c:145111:12: */ +func execSqlF(tls *libc.TLS, db uintptr, pzErrMsg uintptr, zSql uintptr, va uintptr) int32 { /* sqlite3.c:145124:12: */ var z uintptr var ap Va_list _ = ap @@ -126393,7 +126412,7 @@ func execSqlF(tls *libc.TLS, db uintptr, pzErrMsg uintptr, zSql uintptr, va uint // And a power loss in between deleting the original and renaming the // transient would cause the database file to appear to be deleted // following reboot. -func Xsqlite3Vacuum(tls *libc.TLS, pParse uintptr, pNm uintptr, pInto uintptr) { /* sqlite3.c:145154:21: */ +func Xsqlite3Vacuum(tls *libc.TLS, pParse uintptr, pNm uintptr, pInto uintptr) { /* sqlite3.c:145167:21: */ bp := tls.Alloc(4) defer tls.Free(4) *(*uintptr)(unsafe.Pointer(bp)) = pNm @@ -126450,7 +126469,7 @@ build_vacuum_end: } // This routine implements the OP_Vacuum opcode of the VDBE. -func Xsqlite3RunVacuum(tls *libc.TLS, pzErrMsg uintptr, db uintptr, iDb int32, pOut uintptr) int32 { /* sqlite3.c:145192:36: */ +func Xsqlite3RunVacuum(tls *libc.TLS, pzErrMsg uintptr, db uintptr, iDb int32, pOut uintptr) int32 { /* sqlite3.c:145205:36: */ bp := tls.Alloc(52) defer tls.Free(52) @@ -126788,7 +126807,7 @@ var aCopy = [10]uint8{ uint8(BTREE_TEXT_ENCODING), uint8(0), // Preserve the text encoding uint8(BTREE_USER_VERSION), uint8(0), // Preserve the user version uint8(BTREE_APPLICATION_ID), uint8(0), // Preserve the application id -} /* sqlite3.c:145385:32 */ +} /* sqlite3.c:145398:32 */ // Construct and install a Module object for a virtual table. When this // routine is called, it is guaranteed that all appropriate locks are held @@ -126796,7 +126815,7 @@ var aCopy = [10]uint8{ // // 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 Xsqlite3VtabCreateModule(tls *libc.TLS, db uintptr, zName uintptr, pModule uintptr, pAux uintptr, xDestroy uintptr) uintptr { /* sqlite3.c:145497:23: */ +func Xsqlite3VtabCreateModule(tls *libc.TLS, db uintptr, zName uintptr, pModule uintptr, pAux uintptr, xDestroy uintptr) uintptr { /* sqlite3.c:145510:23: */ var pMod uintptr var pDel uintptr var zCopy uintptr @@ -126836,7 +126855,7 @@ func Xsqlite3VtabCreateModule(tls *libc.TLS, db uintptr, zName uintptr, pModule // The actual function that does the work of creating a new module. // 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) int32 { /* sqlite3.c:145545:12: */ +func createModule(tls *libc.TLS, db uintptr, zName uintptr, pModule uintptr, pAux uintptr, xDestroy uintptr) int32 { /* sqlite3.c:145558:12: */ var rc int32 = SQLITE_OK Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) @@ -126850,18 +126869,18 @@ func createModule(tls *libc.TLS, db uintptr, zName uintptr, pModule uintptr, pAu } // External API function used to create a new virtual-table module. -func Xsqlite3_create_module(tls *libc.TLS, db uintptr, zName uintptr, pModule uintptr, pAux uintptr) int32 { /* sqlite3.c:145566:16: */ +func Xsqlite3_create_module(tls *libc.TLS, db uintptr, zName uintptr, pModule uintptr, pAux uintptr) int32 { /* sqlite3.c:145579:16: */ return createModule(tls, db, zName, pModule, pAux, uintptr(0)) } // 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) int32 { /* sqlite3.c:145581:16: */ +func Xsqlite3_create_module_v2(tls *libc.TLS, db uintptr, zName uintptr, pModule uintptr, pAux uintptr, xDestroy uintptr) int32 { /* sqlite3.c:145594:16: */ return createModule(tls, db, zName, pModule, pAux, xDestroy) } // External API to drop all virtual-table modules, except those named // on the azNames list. -func Xsqlite3_drop_modules(tls *libc.TLS, db uintptr, azNames uintptr) int32 { /* sqlite3.c:145598:16: */ +func Xsqlite3_drop_modules(tls *libc.TLS, db uintptr, azNames uintptr) int32 { /* sqlite3.c:145611:16: */ var pThis uintptr var pNext uintptr for pThis = (*Hash)(unsafe.Pointer(db + 392)).Ffirst; pThis != 0; pThis = pNext { @@ -126882,7 +126901,7 @@ func Xsqlite3_drop_modules(tls *libc.TLS, db uintptr, azNames uintptr) int32 { / // Decrement the reference count on a Module object. Destroy the // module when the reference count reaches zero. -func Xsqlite3VtabModuleUnref(tls *libc.TLS, db uintptr, pMod uintptr) { /* sqlite3.c:145620:21: */ +func Xsqlite3VtabModuleUnref(tls *libc.TLS, db uintptr, pMod uintptr) { /* sqlite3.c:145633:21: */ (*Module)(unsafe.Pointer(pMod)).FnRefModule-- if (*Module)(unsafe.Pointer(pMod)).FnRefModule == 0 { @@ -126900,14 +126919,14 @@ func Xsqlite3VtabModuleUnref(tls *libc.TLS, db uintptr, pMod uintptr) { /* sqlit // // If a disconnect is attempted while a virtual table is locked, // the disconnect is deferred until all locks have been removed. -func Xsqlite3VtabLock(tls *libc.TLS, pVTab uintptr) { /* sqlite3.c:145640:21: */ +func Xsqlite3VtabLock(tls *libc.TLS, pVTab uintptr) { /* sqlite3.c:145653:21: */ (*VTable)(unsafe.Pointer(pVTab)).FnRef++ } // pTab is a pointer to a Table structure representing a virtual-table. // Return a pointer to the VTable object used by connection db to access // this virtual-table, if one has been created, or NULL otherwise. -func Xsqlite3GetVTable(tls *libc.TLS, db uintptr, pTab uintptr) uintptr { /* sqlite3.c:145650:23: */ +func Xsqlite3GetVTable(tls *libc.TLS, db uintptr, pTab uintptr) uintptr { /* sqlite3.c:145663:23: */ var pVtab uintptr for pVtab = *(*uintptr)(unsafe.Pointer(pTab + 44 + 8 /* &.p */)); pVtab != 0 && (*VTable)(unsafe.Pointer(pVtab)).Fdb != db; pVtab = (*VTable)(unsafe.Pointer(pVtab)).FpNext { @@ -126917,7 +126936,7 @@ func Xsqlite3GetVTable(tls *libc.TLS, db uintptr, pTab uintptr) uintptr { /* sql // Decrement the ref-count on a virtual table object. When the ref-count // reaches zero, call the xDisconnect() method to delete the object. -func Xsqlite3VtabUnlock(tls *libc.TLS, pVTab uintptr) { /* sqlite3.c:145661:21: */ +func Xsqlite3VtabUnlock(tls *libc.TLS, pVTab uintptr) { /* sqlite3.c:145674:21: */ var db uintptr = (*VTable)(unsafe.Pointer(pVTab)).Fdb (*VTable)(unsafe.Pointer(pVTab)).FnRef-- @@ -126938,7 +126957,7 @@ func Xsqlite3VtabUnlock(tls *libc.TLS, pVTab uintptr) { /* sqlite3.c:145661:21: // database connections to be disconnected at the next opportunity. // Except, if argument db is not NULL, then the entry associated with // connection db is left in the p->u.vtab.p list. -func vtabDisconnectAll(tls *libc.TLS, db uintptr, p uintptr) uintptr { /* sqlite3.c:145687:15: */ +func vtabDisconnectAll(tls *libc.TLS, db uintptr, p uintptr) uintptr { /* sqlite3.c:145700:15: */ var pRet uintptr = uintptr(0) var pVTable uintptr @@ -126975,7 +126994,7 @@ func vtabDisconnectAll(tls *libc.TLS, db uintptr, p uintptr) uintptr { /* sqlite // used when closing database connection db to free all of its VTable // objects without disturbing the rest of the Schema object (which may // be being used by other shared-cache connections). -func Xsqlite3VtabDisconnect(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:145730:21: */ +func Xsqlite3VtabDisconnect(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:145743:21: */ var ppVTab uintptr for ppVTab = p + 44 + 8; *(*uintptr)(unsafe.Pointer(ppVTab)) != 0; ppVTab = *(*uintptr)(unsafe.Pointer(ppVTab)) + 24 { @@ -127006,7 +127025,7 @@ func Xsqlite3VtabDisconnect(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c // // As a result, a sqlite3.pDisconnect cannot be accessed simultaneously // by multiple threads. It is thread-safe. -func Xsqlite3VtabUnlockList(tls *libc.TLS, db uintptr) { /* sqlite3.c:145768:21: */ +func Xsqlite3VtabUnlockList(tls *libc.TLS, db uintptr) { /* sqlite3.c:145781:21: */ var p uintptr = (*Sqlite3)(unsafe.Pointer(db)).FpDisconnect if p != 0 { @@ -127032,7 +127051,7 @@ func Xsqlite3VtabUnlockList(tls *libc.TLS, db uintptr) { /* sqlite3.c:145768:21: // structure being xDisconnected and free). Any other VTable structures // in the list are moved to the sqlite3.pDisconnect list of the associated // database connection. -func Xsqlite3VtabClear(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:145799:21: */ +func Xsqlite3VtabClear(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:145812:21: */ if !(db != 0) || (*Sqlite3)(unsafe.Pointer(db)).FpnBytesFreed == uintptr(0) { vtabDisconnectAll(tls, uintptr(0), p) @@ -127052,7 +127071,7 @@ func Xsqlite3VtabClear(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:1457 // The string is not copied - the pointer is stored. The // string will be freed automatically when the table is // deleted. -func addModuleArgument(tls *libc.TLS, pParse uintptr, pTable uintptr, zArg uintptr) { /* sqlite3.c:145817:13: */ +func addModuleArgument(tls *libc.TLS, pParse uintptr, pTable uintptr, zArg uintptr) { /* sqlite3.c:145830:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -127078,7 +127097,7 @@ func addModuleArgument(tls *libc.TLS, pParse uintptr, pTable uintptr, zArg uintp // The parser calls this routine when it first sees a CREATE VIRTUAL TABLE // statement. The module name has been parsed, but the optional list // of parameters that follow the module name are still pending. -func Xsqlite3VtabBeginParse(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 uintptr, pModuleName uintptr, ifNotExists int32) { /* sqlite3.c:145843:21: */ +func Xsqlite3VtabBeginParse(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 uintptr, pModuleName uintptr, ifNotExists int32) { /* sqlite3.c:145856:21: */ var pTable uintptr // The new virtual table var db uintptr // Database connection @@ -127113,7 +127132,7 @@ func Xsqlite3VtabBeginParse(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName // This routine takes the module argument that has been accumulating // in pParse->zArg[] and appends it to the list of arguments on the // virtual table currently under construction in pParse->pTable. -func addArgumentToVtab(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:145892:13: */ +func addArgumentToVtab(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:145905:13: */ if (*Parse)(unsafe.Pointer(pParse)).FsArg.Fz != 0 && (*Parse)(unsafe.Pointer(pParse)).FpNewTable != 0 { var z uintptr = (*Parse)(unsafe.Pointer(pParse)).FsArg.Fz var n int32 = int32((*Parse)(unsafe.Pointer(pParse)).FsArg.Fn) @@ -127124,7 +127143,7 @@ func addArgumentToVtab(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:145892:13: // The parser calls this routine after the CREATE VIRTUAL TABLE statement // has been completely parsed. -func Xsqlite3VtabFinishParse(tls *libc.TLS, pParse uintptr, pEnd uintptr) { /* sqlite3.c:145905:21: */ +func Xsqlite3VtabFinishParse(tls *libc.TLS, pParse uintptr, pEnd uintptr) { /* sqlite3.c:145918:21: */ bp := tls.Alloc(64) defer tls.Free(64) @@ -127208,7 +127227,7 @@ func Xsqlite3VtabFinishParse(tls *libc.TLS, pParse uintptr, pEnd uintptr) { /* s // The parser calls this routine when it sees the first token // of an argument to the module name in a CREATE VIRTUAL TABLE statement. -func Xsqlite3VtabArgInit(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:145988:21: */ +func Xsqlite3VtabArgInit(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:146001:21: */ addArgumentToVtab(tls, pParse) (*Parse)(unsafe.Pointer(pParse)).FsArg.Fz = uintptr(0) (*Parse)(unsafe.Pointer(pParse)).FsArg.Fn = uint32(0) @@ -127216,7 +127235,7 @@ func Xsqlite3VtabArgInit(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:145988:21 // The parser calls this routine for each token after the first token // in an argument to the module name in a CREATE VIRTUAL TABLE statement. -func Xsqlite3VtabArgExtend(tls *libc.TLS, pParse uintptr, p uintptr) { /* sqlite3.c:145998:21: */ +func Xsqlite3VtabArgExtend(tls *libc.TLS, pParse uintptr, p uintptr) { /* sqlite3.c:146011:21: */ var pArg uintptr = pParse + 252 if (*Token)(unsafe.Pointer(pArg)).Fz == uintptr(0) { (*Token)(unsafe.Pointer(pArg)).Fz = (*Token)(unsafe.Pointer(p)).Fz @@ -127230,7 +127249,7 @@ func Xsqlite3VtabArgExtend(tls *libc.TLS, pParse uintptr, p uintptr) { /* sqlite // Invoke a virtual table constructor (either xCreate or xConnect). The // 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) int32 { /* sqlite3.c:146014:12: */ +func vtabCallConstructor(tls *libc.TLS, db uintptr, pTab uintptr, pMod uintptr, xConstruct uintptr, pzErr uintptr) int32 { /* sqlite3.c:146027:12: */ bp := tls.Alloc(52) defer tls.Free(52) @@ -127366,7 +127385,7 @@ func vtabCallConstructor(tls *libc.TLS, db uintptr, pTab uintptr, pMod uintptr, // and an error left in pParse. // // This call is a no-op if table pTab is not a virtual table. -func Xsqlite3VtabCallConnect(tls *libc.TLS, pParse uintptr, pTab uintptr) int32 { /* sqlite3.c:146150:20: */ +func Xsqlite3VtabCallConnect(tls *libc.TLS, pParse uintptr, pTab uintptr) int32 { /* sqlite3.c:146163:20: */ bp := tls.Alloc(20) defer tls.Free(20) @@ -127402,7 +127421,7 @@ func Xsqlite3VtabCallConnect(tls *libc.TLS, pParse uintptr, pTab uintptr) int32 // Grow the db->aVTrans[] array so that there is room for at least one // more v-table. Return SQLITE_NOMEM if a malloc fails, or SQLITE_OK otherwise. -func growVTrans(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:146186:12: */ +func growVTrans(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:146199:12: */ var ARRAY_INCR int32 = 5 // Grow the sqlite3.aVTrans array if required @@ -127422,7 +127441,7 @@ func growVTrans(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:146186:12: */ // Add the virtual table pVTab to the array sqlite3.aVTrans[]. Space should // have already been reserved using growVTrans(). -func addToVTrans(tls *libc.TLS, db uintptr, pVTab uintptr) { /* sqlite3.c:146209:13: */ +func addToVTrans(tls *libc.TLS, db uintptr, pVTab uintptr) { /* sqlite3.c:146222:13: */ // Add pVtab to the end of sqlite3.aVTrans *(*uintptr)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaVTrans + uintptr(libc.PostIncInt32(&(*Sqlite3)(unsafe.Pointer(db)).FnVTrans, 1))*4)) = pVTab Xsqlite3VtabLock(tls, pVTab) @@ -127434,7 +127453,7 @@ func addToVTrans(tls *libc.TLS, db uintptr, pVTab uintptr) { /* sqlite3.c:146209 // If an error occurs, *pzErr is set to point to an English language // description of the error and an SQLITE_XXX error code is returned. // In this case the caller must call sqlite3DbFree(db, ) on *pzErr. -func Xsqlite3VtabCallCreate(tls *libc.TLS, db uintptr, iDb int32, zTab uintptr, pzErr uintptr) int32 { /* sqlite3.c:146223:20: */ +func Xsqlite3VtabCallCreate(tls *libc.TLS, db uintptr, iDb int32, zTab uintptr, pzErr uintptr) int32 { /* sqlite3.c:146236:20: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -127474,7 +127493,7 @@ func Xsqlite3VtabCallCreate(tls *libc.TLS, db uintptr, iDb int32, zTab uintptr, // This function is used to set the schema of a virtual table. It is only // valid to call this function from within the xCreate() or xConnect() of a // virtual table module. -func Xsqlite3_declare_vtab(tls *libc.TLS, db uintptr, zCreateTable uintptr) int32 { /* sqlite3.c:146264:16: */ +func Xsqlite3_declare_vtab(tls *libc.TLS, db uintptr, zCreateTable uintptr) int32 { /* sqlite3.c:146277:16: */ bp := tls.Alloc(280) defer tls.Free(280) @@ -127490,12 +127509,13 @@ func Xsqlite3_declare_vtab(tls *libc.TLS, db uintptr, zCreateTable uintptr) int3 if !(pCtx != 0) || (*VtabCtx)(unsafe.Pointer(pCtx)).FbDeclared != 0 { Xsqlite3Error(tls, db, SQLITE_MISUSE) Xsqlite3_mutex_leave(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) - return Xsqlite3MisuseError(tls, 146281) + return Xsqlite3MisuseError(tls, 146294) } pTab = (*VtabCtx)(unsafe.Pointer(pCtx)).FpTab Xsqlite3ParseObjectInit(tls, bp+8, db) (*Parse)(unsafe.Pointer(bp + 8 /* &sParse */)).FeParseMode = U8(PARSE_MODE_DECLARE_VTAB) + (*Parse)(unsafe.Pointer(bp + 8 /* &sParse */)).FdisableTriggers = U8(1) // We should never be able to reach this point while loading the // schema. Nevertheless, defend against that (turn off db->init.busy) // in case a bug arises. @@ -127564,7 +127584,7 @@ func Xsqlite3_declare_vtab(tls *libc.TLS, db uintptr, zCreateTable uintptr) int3 // when a DROP TABLE is mentioned. // // This call is a no-op if zTab is not a virtual table. -func Xsqlite3VtabCallDestroy(tls *libc.TLS, db uintptr, iDb int32, zTab uintptr) int32 { /* sqlite3.c:146357:20: */ +func Xsqlite3VtabCallDestroy(tls *libc.TLS, db uintptr, iDb int32, zTab uintptr) int32 { /* sqlite3.c:146371:20: */ var rc int32 = SQLITE_OK var pTab uintptr @@ -127609,7 +127629,7 @@ func Xsqlite3VtabCallDestroy(tls *libc.TLS, db uintptr, iDb int32, zTab uintptr) // the offset of the method to call in the sqlite3_module structure. // // The array is cleared after invoking the callbacks. -func callFinaliser(tls *libc.TLS, db uintptr, offset int32) { /* sqlite3.c:146401:13: */ +func callFinaliser(tls *libc.TLS, db uintptr, offset int32) { /* sqlite3.c:146415:13: */ var i int32 if (*Sqlite3)(unsafe.Pointer(db)).FaVTrans != 0 { var aVTrans uintptr = (*Sqlite3)(unsafe.Pointer(db)).FaVTrans @@ -127639,7 +127659,7 @@ func callFinaliser(tls *libc.TLS, db uintptr, offset int32) { /* sqlite3.c:14640 // SQLITE_OK if all xSync operations are successful. // // If an error message is available, leave it in p->zErrMsg. -func Xsqlite3VtabSync(tls *libc.TLS, db uintptr, p uintptr) int32 { /* sqlite3.c:146429:20: */ +func Xsqlite3VtabSync(tls *libc.TLS, db uintptr, p uintptr) int32 { /* sqlite3.c:146443:20: */ var i int32 var rc int32 = SQLITE_OK var aVTrans uintptr = (*Sqlite3)(unsafe.Pointer(db)).FaVTrans @@ -127661,14 +127681,14 @@ func Xsqlite3VtabSync(tls *libc.TLS, db uintptr, p uintptr) int32 { /* sqlite3.c // Invoke the xRollback method of all virtual tables in the // sqlite3.aVTrans array. Then clear the array itself. -func Xsqlite3VtabRollback(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:146451:20: */ +func Xsqlite3VtabRollback(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:146465:20: */ callFinaliser(tls, db, int32(uintptr(0)+68)) return SQLITE_OK } // Invoke the xCommit method of all virtual tables in the // sqlite3.aVTrans array. Then clear the array itself. -func Xsqlite3VtabCommit(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:146460:20: */ +func Xsqlite3VtabCommit(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:146474:20: */ callFinaliser(tls, db, int32(uintptr(0)+64)) return SQLITE_OK } @@ -127679,7 +127699,7 @@ func Xsqlite3VtabCommit(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:146460:2 // // If the xBegin call is successful, place the sqlite3_vtab pointer // in the sqlite3.aVTrans array. -func Xsqlite3VtabBegin(tls *libc.TLS, db uintptr, pVTab uintptr) int32 { /* sqlite3.c:146473:20: */ +func Xsqlite3VtabBegin(tls *libc.TLS, db uintptr, pVTab uintptr) int32 { /* sqlite3.c:146487:20: */ var rc int32 = SQLITE_OK var pModule uintptr @@ -127740,7 +127760,7 @@ func Xsqlite3VtabBegin(tls *libc.TLS, db uintptr, pVTab uintptr) int32 { /* sqli // processing is abandoned and the error returned to the caller of this // function immediately. If all calls to virtual table methods are successful, // SQLITE_OK is returned. -func Xsqlite3VtabSavepoint(tls *libc.TLS, db uintptr, op int32, iSavepoint int32) int32 { /* sqlite3.c:146533:20: */ +func Xsqlite3VtabSavepoint(tls *libc.TLS, db uintptr, op int32, iSavepoint int32) int32 { /* sqlite3.c:146547:20: */ var rc int32 = SQLITE_OK if (*Sqlite3)(unsafe.Pointer(db)).FaVTrans != 0 { @@ -127788,7 +127808,7 @@ func Xsqlite3VtabSavepoint(tls *libc.TLS, db uintptr, op int32, iSavepoint int32 // Return either the pDef argument (indicating no change) or a // new FuncDef structure that is marked as ephemeral using the // SQLITE_FUNC_EPHEM flag. -func Xsqlite3VtabOverloadFunction(tls *libc.TLS, db uintptr, pDef uintptr, nArg int32, pExpr uintptr) uintptr { /* sqlite3.c:146581:24: */ +func Xsqlite3VtabOverloadFunction(tls *libc.TLS, db uintptr, pDef uintptr, nArg int32, pExpr uintptr) uintptr { /* sqlite3.c:146595:24: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -127855,7 +127875,7 @@ func Xsqlite3VtabOverloadFunction(tls *libc.TLS, db uintptr, pDef uintptr, nArg // array so that an OP_VBegin will get generated for it. Add pTab to the // array if it is missing. If pTab is already in the array, this routine // is a no-op. -func Xsqlite3VtabMakeWritable(tls *libc.TLS, pParse uintptr, pTab uintptr) { /* sqlite3.c:146651:21: */ +func Xsqlite3VtabMakeWritable(tls *libc.TLS, pParse uintptr, pTab uintptr) { /* sqlite3.c:146665:21: */ var pToplevel uintptr = func() uintptr { if (*Parse)(unsafe.Pointer(pParse)).FpToplevel != 0 { return (*Parse)(unsafe.Pointer(pParse)).FpToplevel @@ -127894,7 +127914,7 @@ func Xsqlite3VtabMakeWritable(tls *libc.TLS, pParse uintptr, pTab uintptr) { /* // // Any virtual table module for which xConnect and xCreate are the same // method can have an eponymous virtual table instance. -func Xsqlite3VtabEponymousTableInit(tls *libc.TLS, pParse uintptr, pMod uintptr) int32 { /* sqlite3.c:146685:20: */ +func Xsqlite3VtabEponymousTableInit(tls *libc.TLS, pParse uintptr, pMod uintptr) int32 { /* sqlite3.c:146699:20: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -127939,7 +127959,7 @@ func Xsqlite3VtabEponymousTableInit(tls *libc.TLS, pParse uintptr, pMod uintptr) // Erase the eponymous virtual table instance associated with // virtual table module pMod, if it exists. -func Xsqlite3VtabEponymousTableClear(tls *libc.TLS, db uintptr, pMod uintptr) { /* sqlite3.c:146723:21: */ +func Xsqlite3VtabEponymousTableClear(tls *libc.TLS, db uintptr, pMod uintptr) { /* sqlite3.c:146737:21: */ var pTab uintptr = (*Module)(unsafe.Pointer(pMod)).FpEpoTab if pTab != uintptr(0) { // Mark the table as Ephemeral prior to deleting it, so that the @@ -127956,19 +127976,19 @@ func Xsqlite3VtabEponymousTableClear(tls *libc.TLS, db uintptr, pMod uintptr) { // // The results of this routine are undefined unless it is called from // within an xUpdate method. -func Xsqlite3_vtab_on_conflict(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:146742:16: */ +func Xsqlite3_vtab_on_conflict(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:146756:16: */ return int32(aMap[int32((*Sqlite3)(unsafe.Pointer(db)).FvtabOnConflict)-1]) } var aMap = [5]uint8{ uint8(SQLITE_ROLLBACK), uint8(SQLITE_ABORT), uint8(SQLITE_FAIL), uint8(SQLITE_IGNORE), uint8(SQLITE_REPLACE), -} /* sqlite3.c:146743:30 */ +} /* sqlite3.c:146757:30 */ // Call from within the xCreate() or xConnect() methods to provide // the SQLite core with additional information about the behavior // of the virtual table being implemented. -func Xsqlite3_vtab_config(tls *libc.TLS, db uintptr, op int32, va uintptr) int32 { /* sqlite3.c:146760:16: */ +func Xsqlite3_vtab_config(tls *libc.TLS, db uintptr, op int32, va uintptr) int32 { /* sqlite3.c:146774:16: */ var ap Va_list _ = ap var rc int32 = SQLITE_OK @@ -127977,7 +127997,7 @@ func Xsqlite3_vtab_config(tls *libc.TLS, db uintptr, op int32, va uintptr) int32 Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) p = (*Sqlite3)(unsafe.Pointer(db)).FpVtabCtx if !(p != 0) { - rc = Xsqlite3MisuseError(tls, 146771) + rc = Xsqlite3MisuseError(tls, 146785) } else { ap = va @@ -128005,7 +128025,7 @@ func Xsqlite3_vtab_config(tls *libc.TLS, db uintptr, op int32, va uintptr) int32 fallthrough default: { - rc = Xsqlite3MisuseError(tls, 146789) + rc = Xsqlite3MisuseError(tls, 146803) break } @@ -128109,23 +128129,23 @@ type WhereClause1 = struct { // a separate source file for easier editing. // Forward references -type WhereClause = WhereClause1 /* sqlite3.c:146849:28 */ +type WhereClause = WhereClause1 /* sqlite3.c:146863:28 */ type WhereMaskSet1 = struct { FbVarSelect int32 Fn int32 Fix [64]int32 } /* sqlite3.c:14626:9 */ -type WhereMaskSet = WhereMaskSet1 /* sqlite3.c:146850:29 */ +type WhereMaskSet = WhereMaskSet1 /* sqlite3.c:146864:29 */ type WhereOrInfo1 = struct { Fwc WhereClause Findexable Bitmask -} /* sqlite3.c:146851:9 */ +} /* sqlite3.c:146865:9 */ -type WhereOrInfo = WhereOrInfo1 /* sqlite3.c:146851:28 */ -type WhereAndInfo1 = struct{ Fwc WhereClause } /* sqlite3.c:146852:9 */ +type WhereOrInfo = WhereOrInfo1 /* sqlite3.c:146865:28 */ +type WhereAndInfo1 = struct{ Fwc WhereClause } /* sqlite3.c:146866:9 */ -type WhereAndInfo = WhereAndInfo1 /* sqlite3.c:146852:29 */ +type WhereAndInfo = WhereAndInfo1 /* sqlite3.c:146866:29 */ type WhereLevel1 = struct { FiLeftJoin int32 FiTabCur int32 @@ -128155,7 +128175,7 @@ type WhereLevel1 = struct { FnotReady Bitmask } /* sqlite3.c:14626:9 */ -type WhereLevel = WhereLevel1 /* sqlite3.c:146853:27 */ +type WhereLevel = WhereLevel1 /* sqlite3.c:146867:27 */ type WhereLoop1 = struct { Fprereq Bitmask FmaskSelf Bitmask @@ -128184,7 +128204,7 @@ type WhereLoop1 = struct { FaLTermSpace [3]uintptr } /* sqlite3.c:14626:9 */ -type WhereLoop = WhereLoop1 /* sqlite3.c:146854:26 */ +type WhereLoop = WhereLoop1 /* sqlite3.c:146868:26 */ type WherePath1 = struct { FmaskLoop Bitmask FrevLoop Bitmask @@ -128194,9 +128214,9 @@ type WherePath1 = struct { FisOrdered I8 F__ccgo_pad1 [1]byte FaLoop uintptr -} /* sqlite3.c:146855:9 */ +} /* sqlite3.c:146869:9 */ -type WherePath = WherePath1 /* sqlite3.c:146855:26 */ +type WherePath = WherePath1 /* sqlite3.c:146869:26 */ type WhereTerm1 = struct { FpExpr uintptr FpWC uintptr @@ -128217,7 +128237,7 @@ type WhereTerm1 = struct { FprereqAll Bitmask } /* sqlite3.c:14626:9 */ -type WhereTerm = WhereTerm1 /* sqlite3.c:146856:26 */ +type WhereTerm = WhereTerm1 /* sqlite3.c:146870:26 */ type WhereLoopBuilder1 = struct { FpWInfo uintptr FpWC uintptr @@ -128229,9 +128249,9 @@ type WhereLoopBuilder1 = struct { FbldFlags2 uint8 F__ccgo_pad1 [2]byte FiPlanLimit uint32 -} /* sqlite3.c:146857:9 */ +} /* sqlite3.c:146871:9 */ -type WhereLoopBuilder = WhereLoopBuilder1 /* sqlite3.c:146857:33 */ +type WhereLoopBuilder = WhereLoopBuilder1 /* sqlite3.c:146871:33 */ type WhereScan1 = struct { FpOrigWC uintptr FpWC uintptr @@ -128246,23 +128266,23 @@ type WhereScan1 = struct { FaiCur [11]int32 FaiColumn [11]I16 F__ccgo_pad2 [2]byte -} /* sqlite3.c:146858:9 */ +} /* sqlite3.c:146872:9 */ -type WhereScan = WhereScan1 /* sqlite3.c:146858:26 */ +type WhereScan = WhereScan1 /* sqlite3.c:146872:26 */ type WhereOrCost1 = struct { Fprereq Bitmask FrRun LogEst FnOut LogEst -} /* sqlite3.c:146857:9 */ +} /* sqlite3.c:146871:9 */ -type WhereOrCost = WhereOrCost1 /* sqlite3.c:146859:28 */ +type WhereOrCost = WhereOrCost1 /* sqlite3.c:146873:28 */ type WhereOrSet1 = struct { Fn U16 F__ccgo_pad1 [2]byte Fa [3]WhereOrCost -} /* sqlite3.c:146857:9 */ +} /* sqlite3.c:146871:9 */ -type WhereOrSet = WhereOrSet1 /* sqlite3.c:146860:27 */ +type WhereOrSet = WhereOrSet1 /* sqlite3.c:146874:27 */ // This object contains information needed to implement a single nested // loop in WHERE clause. @@ -128284,7 +128304,7 @@ type InLoop = struct { FnPrefix int32 FeEndLoopOp U8 F__ccgo_pad1 [3]byte -} /* sqlite3.c:146900:7 */ +} /* sqlite3.c:146914:7 */ // Allowed values for WhereLoopBuider.bldFlags @@ -128332,7 +128352,7 @@ type WhereExprMod1 = struct { // of an index rather than an expression or a virtual column. All // such transformations need to be undone at the end of WHERE clause // processing. -type WhereExprMod = WhereExprMod1 /* sqlite3.c:147262:29 */ +type WhereExprMod = WhereExprMod1 /* sqlite3.c:147276:29 */ // Bitmasks for the operators on WhereTerm objects. These are all // operators that are of interest to the query planner. An @@ -128354,7 +128374,7 @@ type WhereExprMod = WhereExprMod1 /* sqlite3.c:147262:29 */ //************* Continuing where we left off in wherecode.c ***************** // Return the name of the i-th column of the pIdx index. -func explainIndexColumnName(tls *libc.TLS, pIdx uintptr, i int32) uintptr { /* sqlite3.c:147456:19: */ +func explainIndexColumnName(tls *libc.TLS, pIdx uintptr, i int32) uintptr { /* sqlite3.c:147470:19: */ i = int32(*(*I16)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FaiColumn + uintptr(i)*2))) if i == -2 { return ts + 21367 /* "" */ @@ -128371,7 +128391,7 @@ func explainIndexColumnName(tls *libc.TLS, pIdx uintptr, i int32) uintptr { /* s // at a time. This routine adds a new term to the end of the expression. // Terms are separated by AND so add the "AND" text for second and subsequent // terms only. -func explainAppendTerm(tls *libc.TLS, pStr uintptr, pIdx uintptr, nTerm int32, iTerm int32, bAnd int32, zOp uintptr) { /* sqlite3.c:147471:13: */ +func explainAppendTerm(tls *libc.TLS, pStr uintptr, pIdx uintptr, nTerm int32, iTerm int32, bAnd int32, zOp uintptr) { /* sqlite3.c:147485:13: */ var i int32 if bAnd != 0 { @@ -128419,7 +128439,7 @@ func explainAppendTerm(tls *libc.TLS, pStr uintptr, pIdx uintptr, nTerm int32, i // string similar to: // // "a=? AND b>?" -func explainIndexRange(tls *libc.TLS, pStr uintptr, pLoop uintptr) { /* sqlite3.c:147515:13: */ +func explainIndexRange(tls *libc.TLS, pStr uintptr, pLoop uintptr) { /* sqlite3.c:147529:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -128464,7 +128484,7 @@ func explainIndexRange(tls *libc.TLS, pStr uintptr, pLoop uintptr) { /* sqlite3. // // If an OP_Explain opcode is added to the VM, its address is returned. // Otherwise, if no OP_Explain is coded, zero is returned. -func Xsqlite3WhereExplainOneScan(tls *libc.TLS, pParse uintptr, pTabList uintptr, pLevel uintptr, wctrlFlags U16) int32 { /* sqlite3.c:147549:20: */ +func Xsqlite3WhereExplainOneScan(tls *libc.TLS, pParse uintptr, pTabList uintptr, pLevel uintptr, wctrlFlags U16) int32 { /* sqlite3.c:147563:20: */ bp := tls.Alloc(188) defer tls.Free(188) @@ -128565,7 +128585,7 @@ func Xsqlite3WhereExplainOneScan(tls *libc.TLS, pParse uintptr, pTabList uintptr // // If an OP_Explain opcode is added to the VM, its address is returned. // Otherwise, if no OP_Explain is coded, zero is returned. -func Xsqlite3WhereExplainBloomFilter(tls *libc.TLS, pParse uintptr, pWInfo uintptr, pLevel uintptr) int32 { /* sqlite3.c:147661:20: */ +func Xsqlite3WhereExplainBloomFilter(tls *libc.TLS, pParse uintptr, pWInfo uintptr, pLevel uintptr) int32 { /* sqlite3.c:147675:20: */ bp := tls.Alloc(148) defer tls.Free(148) @@ -128648,7 +128668,7 @@ func Xsqlite3WhereExplainBloomFilter(tls *libc.TLS, pParse uintptr, pWInfo uintp // The TERM_LIKECOND marking indicates that the term should be coded inside // a conditional such that is only evaluated on the second pass of a // LIKE-optimization loop, when scanning BLOBs instead of strings. -func disableTerm(tls *libc.TLS, pLevel uintptr, pTerm uintptr) { /* sqlite3.c:147774:13: */ +func disableTerm(tls *libc.TLS, pLevel uintptr, pTerm uintptr) { /* sqlite3.c:147788:13: */ var nLoop int32 = 0 for int32((*WhereTerm)(unsafe.Pointer(pTerm)).FwtFlags)&TERM_CODED == 0 && @@ -128681,7 +128701,7 @@ func disableTerm(tls *libc.TLS, pLevel uintptr, pTerm uintptr) { /* sqlite3.c:14 // // This routine makes its own copy of zAff so that the caller is free // to modify zAff after this routine returns. -func codeApplyAffinity(tls *libc.TLS, pParse uintptr, base int32, n int32, zAff uintptr) { /* sqlite3.c:147812:13: */ +func codeApplyAffinity(tls *libc.TLS, pParse uintptr, base int32, n int32, zAff uintptr) { /* sqlite3.c:147826:13: */ var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe if zAff == uintptr(0) { @@ -128714,7 +128734,7 @@ func codeApplyAffinity(tls *libc.TLS, pParse uintptr, base int32, n int32, zAff // // * the comparison will be performed with no affinity, or // * the affinity change in zAff is guaranteed not to change the value. -func updateRangeAffinityStr(tls *libc.TLS, pRight uintptr, n int32, zAff uintptr) { /* sqlite3.c:147849:13: */ +func updateRangeAffinityStr(tls *libc.TLS, pRight uintptr, n int32, zAff uintptr) { /* sqlite3.c:147863:13: */ var i int32 for i = 0; i < n; i++ { var p uintptr = Xsqlite3VectorFieldSubexpr(tls, pRight, i) @@ -128752,7 +128772,7 @@ func updateRangeAffinityStr(tls *libc.TLS, pRight uintptr, n int32, zAff uintptr // The reduced pX is different from the original (obviously) and thus is // only used for indexing, to improve performance. The original unaltered // IN expression must also be run on each output row for correctness. -func removeUnindexableInClauseTerms(tls *libc.TLS, pParse uintptr, iEq int32, pLoop uintptr, pX uintptr) uintptr { /* sqlite3.c:147895:13: */ +func removeUnindexableInClauseTerms(tls *libc.TLS, pParse uintptr, iEq int32, pLoop uintptr, pX uintptr) uintptr { /* sqlite3.c:147909:13: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb var pNew uintptr pNew = Xsqlite3ExprDup(tls, db, pX, 0) @@ -128827,7 +128847,7 @@ func removeUnindexableInClauseTerms(tls *libc.TLS, pParse uintptr, iEq int32, pL // For a constraint of the form X=expr, the expression is evaluated in // straight-line code. For constraints of the form X IN (...) // this routine sets up a loop that will iterate over all values of X. -func codeEqualityTerm(tls *libc.TLS, pParse uintptr, pTerm uintptr, pLevel uintptr, iEq int32, bRev int32, iTarget int32) int32 { /* sqlite3.c:147984:12: */ +func codeEqualityTerm(tls *libc.TLS, pParse uintptr, pTerm uintptr, pLevel uintptr, iEq int32, bRev int32, iTarget int32) int32 { /* sqlite3.c:147998:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -129020,7 +129040,7 @@ func codeEqualityTerm(tls *libc.TLS, pParse uintptr, pTerm uintptr, pLevel uintp // no conversion should be attempted before using a t2.b value as part of // a key to search the index. Hence the first byte in the returned affinity // string in this example would be set to SQLITE_AFF_BLOB. -func codeAllEqualityTerms(tls *libc.TLS, pParse uintptr, pLevel uintptr, bRev int32, nExtraReg int32, pzAff uintptr) int32 { /* sqlite3.c:148180:12: */ +func codeAllEqualityTerms(tls *libc.TLS, pParse uintptr, pLevel uintptr, bRev int32, nExtraReg int32, pzAff uintptr) int32 { /* sqlite3.c:148194:12: */ var nEq U16 // The number of == or IN constraints to code var nSkip U16 // Number of left-most columns to skip var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe // The vm under construction @@ -129141,7 +129161,7 @@ func codeAllEqualityTerms(tls *libc.TLS, pParse uintptr, pLevel uintptr, bRev in // on. For each table column, if the column is the i'th column of the // index, then the corresponding array entry is set to (i+1). If the column // does not appear in the index at all, the array entry is set to 0. -func codeDeferredSeek(tls *libc.TLS, pWInfo uintptr, pIdx uintptr, iCur int32, iIdxCur int32) { /* sqlite3.c:148558:13: */ +func codeDeferredSeek(tls *libc.TLS, pWInfo uintptr, pIdx uintptr, iCur int32, iIdxCur int32) { /* sqlite3.c:148572:13: */ var pParse uintptr = (*WhereInfo)(unsafe.Pointer(pWInfo)).FpParse // Parse context var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe // Vdbe to generate code within @@ -129182,7 +129202,7 @@ func codeDeferredSeek(tls *libc.TLS, pWInfo uintptr, pIdx uintptr, iCur int32, i // If the expression is not a vector, then nReg must be passed 1. In // this case, generate code to evaluate the expression and leave the // result in register iReg. -func codeExprOrVector(tls *libc.TLS, pParse uintptr, p uintptr, iReg int32, nReg int32) { /* sqlite3.c:148602:13: */ +func codeExprOrVector(tls *libc.TLS, pParse uintptr, p uintptr, iReg int32, nReg int32) { /* sqlite3.c:148616:13: */ if p != 0 && Xsqlite3ExprIsVector(tls, p) != 0 { if (*Expr)(unsafe.Pointer(p)).Fflags&U32(EP_xIsSelect) != U32(0) { @@ -129210,10 +129230,10 @@ func codeExprOrVector(tls *libc.TLS, pParse uintptr, p uintptr, iReg int32, nReg // An instance of the IdxExprTrans object carries information about a // mapping from an expression on table columns into a column in an index // down through the Walker. -type IdxExprTrans = IdxExprTrans1 /* sqlite3.c:148642:3 */ +type IdxExprTrans = IdxExprTrans1 /* sqlite3.c:148656:3 */ // Preserve pExpr on the WhereETrans list of the WhereInfo. -func preserveExpr(tls *libc.TLS, pTrans uintptr, pExpr uintptr) { /* sqlite3.c:148647:13: */ +func preserveExpr(tls *libc.TLS, pTrans uintptr, pExpr uintptr) { /* sqlite3.c:148661:13: */ var pNew uintptr pNew = Xsqlite3DbMallocRaw(tls, (*IdxExprTrans)(unsafe.Pointer(pTrans)).Fdb, uint64(unsafe.Sizeof(WhereExprMod{}))) if pNew == uintptr(0) { @@ -129230,7 +129250,7 @@ func preserveExpr(tls *libc.TLS, pTrans uintptr, pExpr uintptr) { /* sqlite3.c:1 // // If pExpr matches, then transform it into a reference to the index column // that contains the value of pExpr. -func whereIndexExprTransNode(tls *libc.TLS, p uintptr, pExpr uintptr) int32 { /* sqlite3.c:148663:12: */ +func whereIndexExprTransNode(tls *libc.TLS, p uintptr, pExpr uintptr) int32 { /* sqlite3.c:148677:12: */ var pX uintptr = *(*uintptr)(unsafe.Pointer(p + 24)) if Xsqlite3ExprCompare(tls, uintptr(0), pExpr, (*IdxExprTrans)(unsafe.Pointer(pX)).FpIdxExpr, (*IdxExprTrans)(unsafe.Pointer(pX)).FiTabCur) == 0 { preserveExpr(tls, pX, pExpr) @@ -129250,7 +129270,7 @@ func whereIndexExprTransNode(tls *libc.TLS, p uintptr, pExpr uintptr) int32 { /* // A walker node callback that translates a column reference to a table // into a corresponding column reference of an index. -func whereIndexExprTransColumn(tls *libc.TLS, p uintptr, pExpr uintptr) int32 { /* sqlite3.c:148685:12: */ +func whereIndexExprTransColumn(tls *libc.TLS, p uintptr, pExpr uintptr) int32 { /* sqlite3.c:148699:12: */ if int32((*Expr)(unsafe.Pointer(pExpr)).Fop) == TK_COLUMN { var pX uintptr = *(*uintptr)(unsafe.Pointer(p + 24)) if (*Expr)(unsafe.Pointer(pExpr)).FiTable == (*IdxExprTrans)(unsafe.Pointer(pX)).FiTabCur && int32((*Expr)(unsafe.Pointer(pExpr)).FiColumn) == (*IdxExprTrans)(unsafe.Pointer(pX)).FiTabCol { @@ -129272,7 +129292,7 @@ func whereIndexExprTransColumn(tls *libc.TLS, p uintptr, pExpr uintptr) int32 { // 2019-10-24: Updated to also translate references to a VIRTUAL column in // the table into references to the corresponding (stored) column of the // index. -func whereIndexExprTrans(tls *libc.TLS, pIdx uintptr, iTabCur int32, iIdxCur int32, pWInfo uintptr) { /* sqlite3.c:148710:13: */ +func whereIndexExprTrans(tls *libc.TLS, pIdx uintptr, iTabCur int32, iIdxCur int32, pWInfo uintptr) { /* sqlite3.c:148724:13: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -129337,7 +129357,7 @@ func whereIndexExprTrans(tls *libc.TLS, pIdx uintptr, iTabCur int32, iIdxCur int // WHERE clause terms on the query, and if any of those terms must be // true because pTruth is true, then mark those WHERE clause terms as // coded. -func whereApplyPartialIndexConstraints(tls *libc.TLS, pTruth uintptr, iTabCur int32, pWC uintptr) { /* sqlite3.c:148774:13: */ +func whereApplyPartialIndexConstraints(tls *libc.TLS, pTruth uintptr, iTabCur int32, pWC uintptr) { /* sqlite3.c:148788:13: */ var i int32 var pTerm uintptr for int32((*Expr)(unsafe.Pointer(pTruth)).Fop) == TK_AND { @@ -129383,7 +129403,7 @@ __3: // WhereLevel.regFilter set. If an inner-loop Bloom filter is checked, // then clear the WhereLevel.regFilter value to prevent the Bloom filter // from being checked a second time when the inner loop is evaluated. -func filterPullDown(tls *libc.TLS, pParse uintptr, pWInfo uintptr, iLevel int32, addrNxt int32, notReady Bitmask) { /* sqlite3.c:148810:29: */ +func filterPullDown(tls *libc.TLS, pParse uintptr, pWInfo uintptr, iLevel int32, addrNxt int32, notReady Bitmask) { /* sqlite3.c:148824:29: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -129428,7 +129448,7 @@ func filterPullDown(tls *libc.TLS, pParse uintptr, pWInfo uintptr, iLevel int32, // Generate code for the start of the iLevel-th loop in the WHERE clause // implementation described by pWInfo. -func Xsqlite3WhereCodeOneLoopStart(tls *libc.TLS, pParse uintptr, v uintptr, pWInfo uintptr, iLevel int32, pLevel uintptr, notReady Bitmask) Bitmask { /* sqlite3.c:148858:24: */ +func Xsqlite3WhereCodeOneLoopStart(tls *libc.TLS, pParse uintptr, v uintptr, pWInfo uintptr, iLevel int32, pLevel uintptr, notReady Bitmask) Bitmask { /* sqlite3.c:148872:24: */ bp := tls.Alloc(72) defer tls.Free(72) @@ -130658,24 +130678,24 @@ var aStartOp = [8]U8{ U8(OP_SeekLT), // 5: (start_constraints && !startEq && bRev) U8(OP_SeekGE), // 6: (start_constraints && startEq && !bRev) U8(OP_SeekLE), // 7: (start_constraints && startEq && bRev) -} /* sqlite3.c:149238:21 */ +} /* sqlite3.c:149252:21 */ var aEndOp = [4]U8{ U8(OP_IdxGE), // 0: (end_constraints && !bRev && !endEq) U8(OP_IdxGT), // 1: (end_constraints && !bRev && endEq) U8(OP_IdxLE), // 2: (end_constraints && bRev && !endEq) U8(OP_IdxLT), // 3: (end_constraints && bRev && endEq) -} /* sqlite3.c:149248:21 */ -var aStep = [2]U8{U8(OP_Next), U8(OP_Prev)} /* sqlite3.c:149966:21 */ -var aStart = [2]U8{U8(OP_Rewind), U8(OP_Last)} /* sqlite3.c:149967:21 */ +} /* sqlite3.c:149262:21 */ +var aStep = [2]U8{U8(OP_Next), U8(OP_Prev)} /* sqlite3.c:149980:21 */ +var aStart = [2]U8{U8(OP_Rewind), U8(OP_Last)} /* sqlite3.c:149981:21 */ // Deallocate all memory associated with a WhereOrInfo object. -func whereOrInfoDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:150176:13: */ +func whereOrInfoDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:150190:13: */ Xsqlite3WhereClauseClear(tls, p) Xsqlite3DbFree(tls, db, p) } // Deallocate all memory associated with a WhereAndInfo object. -func whereAndInfoDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:150184:13: */ +func whereAndInfoDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:150198:13: */ Xsqlite3WhereClauseClear(tls, p) Xsqlite3DbFree(tls, db, p) } @@ -130697,7 +130717,7 @@ func whereAndInfoDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:150 // WhereTerms. All pointers to WhereTerms should be invalidated after // calling this routine. Such pointers may be reinitialized by referencing // the pWC->a[] array. -func whereClauseInsert(tls *libc.TLS, pWC uintptr, p uintptr, wtFlags U16) int32 { /* sqlite3.c:150208:12: */ +func whereClauseInsert(tls *libc.TLS, pWC uintptr, p uintptr, wtFlags U16) int32 { /* sqlite3.c:150222:12: */ var pTerm uintptr var idx int32 @@ -130739,14 +130759,14 @@ func whereClauseInsert(tls *libc.TLS, pWC uintptr, p uintptr, wtFlags U16) int32 // Return TRUE if the given operator is one of the operators that is // allowed for an indexable WHERE clause term. The allowed operators are // "=", "<", ">", "<=", ">=", "IN", "IS", and "IS NULL" -func allowedOp(tls *libc.TLS, op int32) int32 { /* sqlite3.c:150250:12: */ +func allowedOp(tls *libc.TLS, op int32) int32 { /* sqlite3.c:150264:12: */ return libc.Bool32(op == TK_IN || op >= TK_EQ && op <= TK_GE || op == TK_ISNULL || op == TK_IS) } // Commute a comparison operator. Expressions of the form "X op Y" // are converted into "Y op X". -func exprCommute(tls *libc.TLS, pParse uintptr, pExpr uintptr) U16 { /* sqlite3.c:150262:12: */ +func exprCommute(tls *libc.TLS, pParse uintptr, pExpr uintptr) U16 { /* sqlite3.c:150276:12: */ if int32((*Expr)(unsafe.Pointer((*Expr)(unsafe.Pointer(pExpr)).FpLeft)).Fop) == TK_VECTOR || int32((*Expr)(unsafe.Pointer((*Expr)(unsafe.Pointer(pExpr)).FpRight)).Fop) == TK_VECTOR || Xsqlite3BinaryCompareCollSeq(tls, pParse, (*Expr)(unsafe.Pointer(pExpr)).FpLeft, (*Expr)(unsafe.Pointer(pExpr)).FpRight) != Xsqlite3BinaryCompareCollSeq(tls, pParse, (*Expr)(unsafe.Pointer(pExpr)).FpRight, (*Expr)(unsafe.Pointer(pExpr)).FpLeft) { @@ -130766,7 +130786,7 @@ func exprCommute(tls *libc.TLS, pParse uintptr, pExpr uintptr) U16 { /* sqlite3. } // Translate from TK_xx operator to WO_xx bitmask. -func operatorMask(tls *libc.TLS, op int32) U16 { /* sqlite3.c:150285:12: */ +func operatorMask(tls *libc.TLS, op int32) U16 { /* sqlite3.c:150299:12: */ var c U16 if op == TK_IN { @@ -130793,7 +130813,7 @@ func operatorMask(tls *libc.TLS, op int32) U16 { /* sqlite3.c:150285:12: */ // that virtual tables cannot participate in the LIKE optimization.) The // collating sequence for the column on the LHS must be appropriate for // the operator. -func isLikeOrGlob(tls *libc.TLS, pParse uintptr, pExpr uintptr, ppPrefix uintptr, pisComplete uintptr, pnoCase uintptr) int32 { /* sqlite3.c:150323:12: */ +func isLikeOrGlob(tls *libc.TLS, pParse uintptr, pExpr uintptr, ppPrefix uintptr, pisComplete uintptr, pnoCase uintptr) int32 { /* sqlite3.c:150337:12: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -130965,7 +130985,7 @@ func isLikeOrGlob(tls *libc.TLS, pParse uintptr, pExpr uintptr, ppPrefix uintptr // of virtual table in forms (5) or (7) then return 2. // // If the expression matches none of the patterns above, return 0. -func isAuxiliaryVtabOperator(tls *libc.TLS, db uintptr, pExpr uintptr, peOp2 uintptr, ppLeft uintptr, ppRight uintptr) int32 { /* sqlite3.c:150502:12: */ +func isAuxiliaryVtabOperator(tls *libc.TLS, db uintptr, pExpr uintptr, peOp2 uintptr, ppLeft uintptr, ppRight uintptr) int32 { /* sqlite3.c:150516:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -131070,18 +131090,18 @@ type Op2 = struct { FzOp uintptr FeOp2 uint8 F__ccgo_pad1 [3]byte -} /* sqlite3.c:150510:18 */ +} /* sqlite3.c:150524:18 */ var aOp = [4]Op2{ {FzOp: ts + 16016, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_MATCH)}, {FzOp: ts + 15338, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_GLOB)}, {FzOp: ts + 14864, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_LIKE)}, {FzOp: ts + 21639, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_REGEXP)}, -} /* sqlite3.c:150513:7 */ +} /* sqlite3.c:150527:7 */ // If the pBase expression originated in the ON or USING clause of // a join, then transfer the appropriate markings over to derived. -func transferJoinMarkings(tls *libc.TLS, pDerived uintptr, pBase uintptr) { /* sqlite3.c:150614:13: */ +func transferJoinMarkings(tls *libc.TLS, pDerived uintptr, pBase uintptr) { /* sqlite3.c:150628:13: */ if pDerived != 0 { *(*U32)(unsafe.Pointer(pDerived + 4)) |= (*Expr)(unsafe.Pointer(pBase)).Fflags & U32(EP_FromJoin) *(*int32)(unsafe.Pointer(pDerived + 36)) = *(*int32)(unsafe.Pointer(pBase + 36)) @@ -131089,7 +131109,7 @@ func transferJoinMarkings(tls *libc.TLS, pDerived uintptr, pBase uintptr) { /* s } // Mark term iChild as being a child of term iParent -func markTermAsChild(tls *libc.TLS, pWC uintptr, iChild int32, iParent int32) { /* sqlite3.c:150624:13: */ +func markTermAsChild(tls *libc.TLS, pWC uintptr, iChild int32, iParent int32) { /* sqlite3.c:150638:13: */ (*WhereTerm)(unsafe.Pointer((*WhereClause)(unsafe.Pointer(pWC)).Fa + uintptr(iChild)*48)).FiParent = iParent (*WhereTerm)(unsafe.Pointer((*WhereClause)(unsafe.Pointer(pWC)).Fa + uintptr(iChild)*48)).FtruthProb = (*WhereTerm)(unsafe.Pointer((*WhereClause)(unsafe.Pointer(pWC)).Fa + uintptr(iParent)*48)).FtruthProb (*WhereTerm)(unsafe.Pointer((*WhereClause)(unsafe.Pointer(pWC)).Fa+uintptr(iParent)*48)).FnChild++ @@ -131098,7 +131118,7 @@ func markTermAsChild(tls *libc.TLS, pWC uintptr, iChild int32, iParent int32) { // Return the N-th AND-connected subterm of pTerm. Or if pTerm is not // a conjunction, then return just pTerm when N==0. If N is exceeds // the number of available subterms, return NULL. -func whereNthSubterm(tls *libc.TLS, pTerm uintptr, N int32) uintptr { /* sqlite3.c:150635:18: */ +func whereNthSubterm(tls *libc.TLS, pTerm uintptr, N int32) uintptr { /* sqlite3.c:150649:18: */ if int32((*WhereTerm)(unsafe.Pointer(pTerm)).FeOperator) != WO_AND { if N == 0 { return pTerm @@ -131129,7 +131149,7 @@ func whereNthSubterm(tls *libc.TLS, pTerm uintptr, N int32) uintptr { /* sqlite3 // The following is NOT generated: // // xy --> x!=y -func whereCombineDisjuncts(tls *libc.TLS, pSrc uintptr, pWC uintptr, pOne uintptr, pTwo uintptr) { /* sqlite3.c:150665:13: */ +func whereCombineDisjuncts(tls *libc.TLS, pSrc uintptr, pWC uintptr, pOne uintptr, pTwo uintptr) { /* sqlite3.c:150679:13: */ var eOp U16 = U16(int32((*WhereTerm)(unsafe.Pointer(pOne)).FeOperator) | int32((*WhereTerm)(unsafe.Pointer(pTwo)).FeOperator)) var db uintptr // Database connection (for malloc) var pNew uintptr // New virtual expression @@ -131262,7 +131282,7 @@ func whereCombineDisjuncts(tls *libc.TLS, pSrc uintptr, pWC uintptr, pOne uintpt // // If none of cases 1, 2, or 3 apply, then leave the eOperator set to // zero. This term is not useful for search. -func exprAnalyzeOrTerm(tls *libc.TLS, pSrc uintptr, pWC uintptr, idxTerm int32) { /* sqlite3.c:150792:13: */ +func exprAnalyzeOrTerm(tls *libc.TLS, pSrc uintptr, pWC uintptr, idxTerm int32) { /* sqlite3.c:150806:13: */ var pWInfo uintptr = (*WhereClause)(unsafe.Pointer(pWC)).FpWInfo // WHERE clause processing context var pParse uintptr = (*WhereInfo)(unsafe.Pointer(pWInfo)).FpParse // Parser context var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb // Database connection @@ -131581,7 +131601,7 @@ __3: // for the LHS anyplace else in the WHERE clause where the LHS column occurs. // This is an optimization. No harm comes from returning 0. But if 1 is // returned when it should not be, then incorrect answers might result. -func termIsEquivalence(tls *libc.TLS, pParse uintptr, pExpr uintptr) int32 { /* sqlite3.c:151066:12: */ +func termIsEquivalence(tls *libc.TLS, pParse uintptr, pExpr uintptr) int32 { /* sqlite3.c:151080:12: */ var aff1 int8 var aff2 int8 var pColl uintptr @@ -131610,7 +131630,7 @@ func termIsEquivalence(tls *libc.TLS, pParse uintptr, pExpr uintptr) int32 { /* // Recursively walk the expressions of a SELECT statement and generate // a bitmask indicating which tables are used in that expression // tree. -func exprSelectUsage(tls *libc.TLS, pMaskSet uintptr, pS uintptr) Bitmask { /* sqlite3.c:151089:16: */ +func exprSelectUsage(tls *libc.TLS, pMaskSet uintptr, pS uintptr) Bitmask { /* sqlite3.c:151103:16: */ var mask Bitmask = uint64(0) for pS != 0 { var pSrc uintptr = (*Select)(unsafe.Pointer(pS)).FpSrc @@ -131645,7 +131665,7 @@ func exprSelectUsage(tls *libc.TLS, pMaskSet uintptr, pS uintptr) Bitmask { /* s // If pExpr is a TK_COLUMN column reference, then this routine always returns // true even if that particular column is not indexed, because the column // might be added to an automatic index later. -func exprMightBeIndexed2(tls *libc.TLS, pFrom uintptr, mPrereq Bitmask, aiCurCol uintptr, pExpr uintptr) int32 { /* sqlite3.c:151126:28: */ +func exprMightBeIndexed2(tls *libc.TLS, pFrom uintptr, mPrereq Bitmask, aiCurCol uintptr, pExpr uintptr) int32 { /* sqlite3.c:151140:28: */ var pIdx uintptr var i int32 var iCur int32 @@ -131683,7 +131703,7 @@ __3: return 0 } -func exprMightBeIndexed(tls *libc.TLS, pFrom uintptr, mPrereq Bitmask, aiCurCol uintptr, pExpr uintptr, op int32) int32 { /* sqlite3.c:151150:12: */ +func exprMightBeIndexed(tls *libc.TLS, pFrom uintptr, mPrereq Bitmask, aiCurCol uintptr, pExpr uintptr, op int32) int32 { /* sqlite3.c:151164:12: */ // If this expression is a vector to the left or right of a // inequality constraint (>, <, >= or <=), perform the processing // on the first element of the vector. @@ -131724,7 +131744,7 @@ func exprMightBeIndexed(tls *libc.TLS, pFrom uintptr, mPrereq Bitmask, aiCurCol // needs to be freed with the WhereClause) and TERM_VIRTUAL (because it // is a commuted copy of a prior term.) The original term has nChild=1 // and the copy has idxParent set to the index of the original term. -func exprAnalyze(tls *libc.TLS, pSrc uintptr, pWC uintptr, idxTerm int32) { /* sqlite3.c:151198:13: */ +func exprAnalyze(tls *libc.TLS, pSrc uintptr, pWC uintptr, idxTerm int32) { /* sqlite3.c:151212:13: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -132092,7 +132112,7 @@ func exprAnalyze(tls *libc.TLS, pSrc uintptr, pWC uintptr, idxTerm int32) { /* s *(*Bitmask)(unsafe.Pointer(pTerm + 32)) |= extraRight } -var ops = [2]U8{U8(TK_GE), U8(TK_LE)} /* sqlite3.c:151367:21 */ +var ops = [2]U8{U8(TK_GE), U8(TK_LE)} /* sqlite3.c:151381:21 */ // ************************************************************************** // @@ -132115,7 +132135,7 @@ var ops = [2]U8{U8(TK_GE), U8(TK_LE)} /* sqlite3.c:151367:21 */ // In the previous sentence and in the diagram, "slot[]" refers to // the WhereClause.a[] array. The slot[] array grows as needed to contain // all terms of the WHERE clause. -func Xsqlite3WhereSplit(tls *libc.TLS, pWC uintptr, pExpr uintptr, op U8) { /* sqlite3.c:151663:21: */ +func Xsqlite3WhereSplit(tls *libc.TLS, pWC uintptr, pExpr uintptr, op U8) { /* sqlite3.c:151677:21: */ var pE2 uintptr = Xsqlite3ExprSkipCollateAndLikely(tls, pExpr) (*WhereClause)(unsafe.Pointer(pWC)).Fop = op @@ -132139,7 +132159,7 @@ func Xsqlite3WhereSplit(tls *libc.TLS, pWC uintptr, pExpr uintptr, op U8) { /* s // (example: "LIMIT 5 OFFSET 10") then the expression codes as a // TK_INTEGER so that it will be available to sqlite3_vtab_rhs_value(). // If not, then it codes as a TK_REGISTER expression. -func whereAddLimitExpr(tls *libc.TLS, pWC uintptr, iReg int32, pExpr uintptr, iCsr int32, eMatchOp int32) { /* sqlite3.c:151687:13: */ +func whereAddLimitExpr(tls *libc.TLS, pWC uintptr, iReg int32, pExpr uintptr, iCsr int32, eMatchOp int32) { /* sqlite3.c:151701:13: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -132191,7 +132211,7 @@ func whereAddLimitExpr(tls *libc.TLS, pWC uintptr, iReg int32, pExpr uintptr, iC // LIMIT and OFFSET terms are ignored by most of the planner code. They // exist only so that they may be passed to the xBestIndex method of the // single virtual table in the FROM clause of the SELECT. -func Xsqlite3WhereAddLimit(tls *libc.TLS, pWC uintptr, p uintptr) { /* sqlite3.c:151740:21: */ +func Xsqlite3WhereAddLimit(tls *libc.TLS, pWC uintptr, p uintptr) { /* sqlite3.c:151754:21: */ if p != 0 && (*Select)(unsafe.Pointer(p)).FpLimit != 0 && (*Select)(unsafe.Pointer(p)).FselFlags&U32(SF_Distinct|SF_Aggregate) == U32(0) && @@ -132241,7 +132261,7 @@ func Xsqlite3WhereAddLimit(tls *libc.TLS, pWC uintptr, p uintptr) { /* sqlite3.c } // Initialize a preallocated WhereClause structure. -func Xsqlite3WhereClauseInit(tls *libc.TLS, pWC uintptr, pWInfo uintptr) { /* sqlite3.c:151786:21: */ +func Xsqlite3WhereClauseInit(tls *libc.TLS, pWC uintptr, pWInfo uintptr) { /* sqlite3.c:151800:21: */ (*WhereClause)(unsafe.Pointer(pWC)).FpWInfo = pWInfo (*WhereClause)(unsafe.Pointer(pWC)).FhasOr = U8(0) (*WhereClause)(unsafe.Pointer(pWC)).FpOuter = uintptr(0) @@ -132254,7 +132274,7 @@ func Xsqlite3WhereClauseInit(tls *libc.TLS, pWC uintptr, pWInfo uintptr) { /* sq // Deallocate a WhereClause structure. The WhereClause structure // itself is not freed. This routine is the inverse of // sqlite3WhereClauseInit(). -func Xsqlite3WhereClauseClear(tls *libc.TLS, pWC uintptr) { /* sqlite3.c:151804:21: */ +func Xsqlite3WhereClauseClear(tls *libc.TLS, pWC uintptr) { /* sqlite3.c:151818:21: */ var db uintptr = (*Parse)(unsafe.Pointer((*WhereInfo)(unsafe.Pointer((*WhereClause)(unsafe.Pointer(pWC)).FpWInfo)).FpParse)).Fdb if (*WhereClause)(unsafe.Pointer(pWC)).FnTerm > 0 { @@ -132314,7 +132334,7 @@ func Xsqlite3WhereClauseClear(tls *libc.TLS, pWC uintptr) { /* sqlite3.c:151804: // computations done by this routine are broken out into a separate // "no-inline" function to avoid the stack push overhead in the // common case where it is not needed. -func sqlite3WhereExprUsageFull(tls *libc.TLS, pMaskSet uintptr, p uintptr) Bitmask { /* sqlite3.c:151872:32: */ +func sqlite3WhereExprUsageFull(tls *libc.TLS, pMaskSet uintptr, p uintptr) Bitmask { /* sqlite3.c:151886:32: */ var mask Bitmask if int32((*Expr)(unsafe.Pointer(p)).Fop) == TK_IF_NULL_ROW { mask = Xsqlite3WhereGetMask(tls, pMaskSet, (*Expr)(unsafe.Pointer(p)).FiTable) @@ -132344,7 +132364,7 @@ func sqlite3WhereExprUsageFull(tls *libc.TLS, pMaskSet uintptr, p uintptr) Bitma return mask } -func Xsqlite3WhereExprUsageNN(tls *libc.TLS, pMaskSet uintptr, p uintptr) Bitmask { /* sqlite3.c:151898:24: */ +func Xsqlite3WhereExprUsageNN(tls *libc.TLS, pMaskSet uintptr, p uintptr) Bitmask { /* sqlite3.c:151912:24: */ if int32((*Expr)(unsafe.Pointer(p)).Fop) == TK_COLUMN && !((*Expr)(unsafe.Pointer(p)).Fflags&U32(EP_FixedCol) != U32(0)) { return Xsqlite3WhereGetMask(tls, pMaskSet, (*Expr)(unsafe.Pointer(p)).FiTable) } else if (*Expr)(unsafe.Pointer(p)).Fflags&U32(EP_TokenOnly|EP_Leaf) != U32(0) { @@ -132354,14 +132374,14 @@ func Xsqlite3WhereExprUsageNN(tls *libc.TLS, pMaskSet uintptr, p uintptr) Bitmas return sqlite3WhereExprUsageFull(tls, pMaskSet, p) } -func Xsqlite3WhereExprUsage(tls *libc.TLS, pMaskSet uintptr, p uintptr) Bitmask { /* sqlite3.c:151907:24: */ +func Xsqlite3WhereExprUsage(tls *libc.TLS, pMaskSet uintptr, p uintptr) Bitmask { /* sqlite3.c:151921:24: */ if p != 0 { return Xsqlite3WhereExprUsageNN(tls, pMaskSet, p) } return uint64(0) } -func Xsqlite3WhereExprListUsage(tls *libc.TLS, pMaskSet uintptr, pList uintptr) Bitmask { /* sqlite3.c:151910:24: */ +func Xsqlite3WhereExprListUsage(tls *libc.TLS, pMaskSet uintptr, pList uintptr) Bitmask { /* sqlite3.c:151924:24: */ var i int32 var mask Bitmask = uint64(0) if pList != 0 { @@ -132378,7 +132398,7 @@ func Xsqlite3WhereExprListUsage(tls *libc.TLS, pMaskSet uintptr, pList uintptr) // end of the WHERE clause. We do not want to analyze these new // virtual terms, so start analyzing at the end and work forward // so that the added virtual terms are never processed. -func Xsqlite3WhereExprAnalyze(tls *libc.TLS, pTabList uintptr, pWC uintptr) { /* sqlite3.c:151930:21: */ +func Xsqlite3WhereExprAnalyze(tls *libc.TLS, pTabList uintptr, pWC uintptr) { /* sqlite3.c:151944:21: */ var i int32 for i = (*WhereClause)(unsafe.Pointer(pWC)).FnTerm - 1; i >= 0; i-- { exprAnalyze(tls, pTabList, pWC, i) @@ -132390,7 +132410,7 @@ func Xsqlite3WhereExprAnalyze(tls *libc.TLS, pTabList uintptr, pWC uintptr) { /* // // Each function argument translates into an equality constraint against // a HIDDEN column in the table. -func Xsqlite3WhereTabFuncArgs(tls *libc.TLS, pParse uintptr, pItem uintptr, pWC uintptr) { /* sqlite3.c:151947:21: */ +func Xsqlite3WhereTabFuncArgs(tls *libc.TLS, pParse uintptr, pItem uintptr, pWC uintptr) { /* sqlite3.c:151961:21: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -132473,7 +132493,7 @@ type HiddenIndexInfo1 = struct { FmIn U32 FmHandleIn U32 FaRhs [1]uintptr -} /* sqlite3.c:152019:9 */ +} /* sqlite3.c:152033:9 */ //************* End of whereexpr.c ****************************************** //************* Begin file where.c ****************************************** @@ -132503,16 +132523,16 @@ type HiddenIndexInfo1 = struct { // This object is not an API and can be changed from one release to the // next. As long as allocateIndexInfo() and sqlite3_vtab_collation() // agree on the structure, all will be well. -type HiddenIndexInfo = HiddenIndexInfo1 /* sqlite3.c:152019:32 */ +type HiddenIndexInfo = HiddenIndexInfo1 /* sqlite3.c:152033:32 */ // Return the estimated number of output rows from a WHERE clause -func Xsqlite3WhereOutputRowCount(tls *libc.TLS, pWInfo uintptr) LogEst { /* sqlite3.c:152037:23: */ +func Xsqlite3WhereOutputRowCount(tls *libc.TLS, pWInfo uintptr) LogEst { /* sqlite3.c:152051:23: */ return (*WhereInfo)(unsafe.Pointer(pWInfo)).FnRowOut } // Return one of the WHERE_DISTINCT_xxxxx values to indicate how this // WHERE clause returns outputs for DISTINCT processing. -func Xsqlite3WhereIsDistinct(tls *libc.TLS, pWInfo uintptr) int32 { /* sqlite3.c:152045:20: */ +func Xsqlite3WhereIsDistinct(tls *libc.TLS, pWInfo uintptr) int32 { /* sqlite3.c:152059:20: */ return int32((*WhereInfo)(unsafe.Pointer(pWInfo)).FeDistinct) } @@ -132522,7 +132542,7 @@ func Xsqlite3WhereIsDistinct(tls *libc.TLS, pWInfo uintptr) int32 { /* sqlite3.c // terms means that no sorting is needed at all. A return that // is positive but less than the number of ORDER BY terms means that // block sorting is required. -func Xsqlite3WhereIsOrdered(tls *libc.TLS, pWInfo uintptr) int32 { /* sqlite3.c:152057:20: */ +func Xsqlite3WhereIsOrdered(tls *libc.TLS, pWInfo uintptr) int32 { /* sqlite3.c:152071:20: */ return int32((*WhereInfo)(unsafe.Pointer(pWInfo)).FnOBSat) } @@ -132547,7 +132567,7 @@ func Xsqlite3WhereIsOrdered(tls *libc.TLS, pWInfo uintptr) int32 { /* sqlite3.c: // Returning the continuation the second inner loop is an optimization // that might make the code run a little faster, but should not change // the final answer. -func Xsqlite3WhereOrderByLimitOptLabel(tls *libc.TLS, pWInfo uintptr) int32 { /* sqlite3.c:152084:20: */ +func Xsqlite3WhereOrderByLimitOptLabel(tls *libc.TLS, pWInfo uintptr) int32 { /* sqlite3.c:152098:20: */ var pInner uintptr if !(int32(*(*uint8)(unsafe.Pointer(pWInfo + 52))&0x4>>2) != 0) { // The ORDER BY LIMIT optimization does not apply. Jump to the @@ -132568,7 +132588,7 @@ func Xsqlite3WhereOrderByLimitOptLabel(tls *libc.TLS, pWInfo uintptr) int32 { /* // Any extra OP_Goto that is coded here is an optimization. The // correct answer should be obtained regardless. This OP_Goto just // makes the answer appear faster. -func Xsqlite3WhereMinMaxOptEarlyOut(tls *libc.TLS, v uintptr, pWInfo uintptr) { /* sqlite3.c:152107:21: */ +func Xsqlite3WhereMinMaxOptEarlyOut(tls *libc.TLS, v uintptr, pWInfo uintptr) { /* sqlite3.c:152121:21: */ var pInner uintptr var i int32 if !(int32(*(*uint8)(unsafe.Pointer(pWInfo + 52))&0x4>>2) != 0) { @@ -132589,14 +132609,14 @@ func Xsqlite3WhereMinMaxOptEarlyOut(tls *libc.TLS, v uintptr, pWInfo uintptr) { // Return the VDBE address or label to jump to in order to continue // immediately with the next row of a WHERE clause. -func Xsqlite3WhereContinueLabel(tls *libc.TLS, pWInfo uintptr) int32 { /* sqlite3.c:152126:20: */ +func Xsqlite3WhereContinueLabel(tls *libc.TLS, pWInfo uintptr) int32 { /* sqlite3.c:152140:20: */ return (*WhereInfo)(unsafe.Pointer(pWInfo)).FiContinue } // Return the VDBE address or label to jump to in order to break // out of a WHERE loop. -func Xsqlite3WhereBreakLabel(tls *libc.TLS, pWInfo uintptr) int32 { /* sqlite3.c:152135:20: */ +func Xsqlite3WhereBreakLabel(tls *libc.TLS, pWInfo uintptr) int32 { /* sqlite3.c:152149:20: */ return (*WhereInfo)(unsafe.Pointer(pWInfo)).FiBreak } @@ -132615,19 +132635,19 @@ func Xsqlite3WhereBreakLabel(tls *libc.TLS, pWInfo uintptr) int32 { /* sqlite3.c // // aiCur[0] and aiCur[1] both get -1 if the where-clause logic is // unable to use the ONEPASS optimization. -func Xsqlite3WhereOkOnePass(tls *libc.TLS, pWInfo uintptr, aiCur uintptr) int32 { /* sqlite3.c:152156:20: */ +func Xsqlite3WhereOkOnePass(tls *libc.TLS, pWInfo uintptr, aiCur uintptr) int32 { /* sqlite3.c:152170:20: */ libc.Xmemcpy(tls, aiCur, pWInfo+24, uint32(unsafe.Sizeof(int32(0)))*uint32(2)) return int32((*WhereInfo)(unsafe.Pointer(pWInfo)).FeOnePass) } // Return TRUE if the WHERE loop uses the OP_DeferredSeek opcode to move // the data cursor to the row selected by the index cursor. -func Xsqlite3WhereUsesDeferredSeek(tls *libc.TLS, pWInfo uintptr) int32 { /* sqlite3.c:152172:20: */ +func Xsqlite3WhereUsesDeferredSeek(tls *libc.TLS, pWInfo uintptr) int32 { /* sqlite3.c:152186:20: */ return int32(*(*uint8)(unsafe.Pointer(pWInfo + 52)) & 0x1 >> 0) } // Move the content of pSrc into pDest -func whereOrMove(tls *libc.TLS, pDest uintptr, pSrc uintptr) { /* sqlite3.c:152179:13: */ +func whereOrMove(tls *libc.TLS, pDest uintptr, pSrc uintptr) { /* sqlite3.c:152193:13: */ (*WhereOrSet)(unsafe.Pointer(pDest)).Fn = (*WhereOrSet)(unsafe.Pointer(pSrc)).Fn libc.Xmemcpy(tls, pDest+4, pSrc+4, uint32((*WhereOrSet)(unsafe.Pointer(pDest)).Fn)*uint32(unsafe.Sizeof(WhereOrCost{}))) } @@ -132637,7 +132657,7 @@ func whereOrMove(tls *libc.TLS, pDest uintptr, pSrc uintptr) { /* sqlite3.c:1521 // The new entry might overwrite an existing entry, or it might be // appended, or it might be discarded. Do whatever is the right thing // so that pSet keeps the N_OR_COST best entries seen so far. -func whereOrInsert(tls *libc.TLS, pSet uintptr, prereq Bitmask, rRun LogEst, nOut LogEst) int32 { /* sqlite3.c:152191:12: */ +func whereOrInsert(tls *libc.TLS, pSet uintptr, prereq Bitmask, rRun LogEst, nOut LogEst) int32 { /* sqlite3.c:152205:12: */ var i U16 var p uintptr i = (*WhereOrSet)(unsafe.Pointer(pSet)).Fn @@ -132714,7 +132734,7 @@ __13: // Return the bitmask for the given cursor number. Return 0 if // iCursor is not in the set. -func Xsqlite3WhereGetMask(tls *libc.TLS, pMaskSet uintptr, iCursor int32) Bitmask { /* sqlite3.c:152228:24: */ +func Xsqlite3WhereGetMask(tls *libc.TLS, pMaskSet uintptr, iCursor int32) Bitmask { /* sqlite3.c:152242:24: */ var i int32 if *(*int32)(unsafe.Pointer(pMaskSet + 8)) == iCursor { @@ -132734,14 +132754,14 @@ func Xsqlite3WhereGetMask(tls *libc.TLS, pMaskSet uintptr, iCursor int32) Bitmas // tables in the FROM clause is limited by a test early in the // sqlite3WhereBegin() routine. So we know that the pMaskSet->ix[] // array will never overflow. -func createMask(tls *libc.TLS, pMaskSet uintptr, iCursor int32) { /* sqlite3.c:152252:13: */ +func createMask(tls *libc.TLS, pMaskSet uintptr, iCursor int32) { /* sqlite3.c:152266:13: */ *(*int32)(unsafe.Pointer(pMaskSet + 8 + uintptr(libc.PostIncInt32(&(*WhereMaskSet)(unsafe.Pointer(pMaskSet)).Fn, 1))*4)) = iCursor } // If the right-hand branch of the expression is a TK_COLUMN, then return // a pointer to the right-hand branch. Otherwise, return NULL. -func whereRightSubexprIsColumn(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:152261:13: */ +func whereRightSubexprIsColumn(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:152275:13: */ p = Xsqlite3ExprSkipCollateAndLikely(tls, (*Expr)(unsafe.Pointer(p)).FpRight) if p != uintptr(0) && int32((*Expr)(unsafe.Pointer(p)).Fop) == TK_COLUMN && !((*Expr)(unsafe.Pointer(p)).Fflags&U32(EP_FixedCol) != U32(0)) { return p @@ -132752,7 +132772,7 @@ func whereRightSubexprIsColumn(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c: // Advance to the next WhereTerm that matches according to the criteria // established when the pScan object was initialized by whereScanInit(). // Return NULL if there are no more matching WhereTerms. -func whereScanNext(tls *libc.TLS, pScan uintptr) uintptr { /* sqlite3.c:152274:18: */ +func whereScanNext(tls *libc.TLS, pScan uintptr) uintptr { /* sqlite3.c:152288:18: */ var iCur int32 // The cursor on the LHS of the term var iColumn I16 // The column on the LHS of the term. -1 for IPK var pX uintptr // An expression being tested @@ -132856,7 +132876,7 @@ func whereScanNext(tls *libc.TLS, pScan uintptr) uintptr { /* sqlite3.c:152274:1 // It is factored out into a separate tail-recursion subroutine so that // the normal whereScanInit() routine, which is a high-runner, does not // need to push registers onto the stack as part of its prologue. -func whereScanInitIndexExpr(tls *libc.TLS, pScan uintptr) uintptr { /* sqlite3.c:152376:34: */ +func whereScanInitIndexExpr(tls *libc.TLS, pScan uintptr) uintptr { /* sqlite3.c:152390:34: */ (*WhereScan)(unsafe.Pointer(pScan)).Fidxaff = Xsqlite3ExprAffinity(tls, (*WhereScan)(unsafe.Pointer(pScan)).FpIdxExpr) return whereScanNext(tls, pScan) } @@ -132878,7 +132898,7 @@ func whereScanInitIndexExpr(tls *libc.TLS, pScan uintptr) uintptr { /* sqlite3.c // // If X is not the INTEGER PRIMARY KEY then X must be compatible with // index pIdx. -func whereScanInit(tls *libc.TLS, pScan uintptr, pWC uintptr, iCur int32, iColumn int32, opMask U32, pIdx uintptr) uintptr { /* sqlite3.c:152400:18: */ +func whereScanInit(tls *libc.TLS, pScan uintptr, pWC uintptr, iCur int32, iColumn int32, opMask U32, pIdx uintptr) uintptr { /* sqlite3.c:152414:18: */ (*WhereScan)(unsafe.Pointer(pScan)).FpOrigWC = pWC (*WhereScan)(unsafe.Pointer(pScan)).FpWC = pWC (*WhereScan)(unsafe.Pointer(pScan)).FpIdxExpr = uintptr(0) @@ -132933,7 +132953,7 @@ func whereScanInit(tls *libc.TLS, pScan uintptr, pWC uintptr, iCur int32, iColum // the form "X Y" where Y is a column in another table if no terms of // the form "X " exist. If no terms with a constant RHS // exist, try to return a term that does not use WO_EQUIV. -func Xsqlite3WhereFindTerm(tls *libc.TLS, pWC uintptr, iCur int32, iColumn int32, notReady Bitmask, op U32, pIdx uintptr) uintptr { /* sqlite3.c:152464:26: */ +func Xsqlite3WhereFindTerm(tls *libc.TLS, pWC uintptr, iCur int32, iColumn int32, notReady Bitmask, op U32, pIdx uintptr) uintptr { /* sqlite3.c:152478:26: */ bp := tls.Alloc(96) defer tls.Free(96) @@ -132963,7 +132983,7 @@ func Xsqlite3WhereFindTerm(tls *libc.TLS, pWC uintptr, iCur int32, iColumn int32 // // If such an expression is found, its index in pList->a[] is returned. If // no expression is found, -1 is returned. -func findIndexCol(tls *libc.TLS, pParse uintptr, pList uintptr, iBase int32, pIdx uintptr, iCol int32) int32 { /* sqlite3.c:152498:12: */ +func findIndexCol(tls *libc.TLS, pParse uintptr, pList uintptr, iBase int32, pIdx uintptr, iCol int32) int32 { /* sqlite3.c:152512:12: */ var i int32 var zColl uintptr = *(*uintptr)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FazColl + uintptr(iCol)*4)) @@ -132984,7 +133004,7 @@ func findIndexCol(tls *libc.TLS, pParse uintptr, pList uintptr, iBase int32, pId } // Return TRUE if the iCol-th column of index pIdx is NOT NULL -func indexColumnNotNull(tls *libc.TLS, pIdx uintptr, iCol int32) int32 { /* sqlite3.c:152528:12: */ +func indexColumnNotNull(tls *libc.TLS, pIdx uintptr, iCol int32) int32 { /* sqlite3.c:152542:12: */ var j int32 j = int32(*(*I16)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FaiColumn + uintptr(iCol)*2))) @@ -133005,7 +133025,7 @@ func indexColumnNotNull(tls *libc.TLS, pIdx uintptr, iCol int32) int32 { /* sqli // // A DISTINCT list is redundant if any subset of the columns in the // DISTINCT list are collectively unique and individually non-null. -func isDistinctRedundant(tls *libc.TLS, pParse uintptr, pTabList uintptr, pWC uintptr, pDistinct uintptr) int32 { /* sqlite3.c:152551:12: */ +func isDistinctRedundant(tls *libc.TLS, pParse uintptr, pTabList uintptr, pWC uintptr, pDistinct uintptr) int32 { /* sqlite3.c:152565:12: */ var pTab uintptr var pIdx uintptr var i int32 @@ -133075,7 +133095,7 @@ func isDistinctRedundant(tls *libc.TLS, pParse uintptr, pTabList uintptr, pWC ui } // Estimate the logarithm of the input value to base 2. -func estLog(tls *libc.TLS, N LogEst) LogEst { /* sqlite3.c:152615:15: */ +func estLog(tls *libc.TLS, N LogEst) LogEst { /* sqlite3.c:152629:15: */ if int32(N) <= 10 { return int16(0) } @@ -133092,7 +133112,7 @@ func estLog(tls *libc.TLS, N LogEst) LogEst { /* sqlite3.c:152615:15: */ // cursor iTabCur are transformed into OP_Sequence opcode for the // iAutoidxCur cursor, in order to generate unique rowids for the // automatic index being generated. -func translateColumnToCopy(tls *libc.TLS, pParse uintptr, iStart int32, iTabCur int32, iRegister int32, iAutoidxCur int32) { /* sqlite3.c:152631:13: */ +func translateColumnToCopy(tls *libc.TLS, pParse uintptr, iStart int32, iTabCur int32, iRegister int32, iAutoidxCur int32) { /* sqlite3.c:152645:13: */ var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe var pOp uintptr = Xsqlite3VdbeGetOp(tls, v, iStart) var iEnd int32 = Xsqlite3VdbeCurrentAddr(tls, v) @@ -133135,7 +133155,7 @@ __3: // Return TRUE if the WHERE clause term pTerm is of a form where it // could be used with an index to access pSrc, assuming an appropriate // index existed. -func termCanDriveIndex(tls *libc.TLS, pTerm uintptr, pSrc uintptr, notReady Bitmask) int32 { /* sqlite3.c:152715:12: */ +func termCanDriveIndex(tls *libc.TLS, pTerm uintptr, pSrc uintptr, notReady Bitmask) int32 { /* sqlite3.c:152729:12: */ var aff int8 if (*WhereTerm)(unsafe.Pointer(pTerm)).FleftCursor != (*SrcItem)(unsafe.Pointer(pSrc)).FiCursor { return 0 @@ -133169,7 +133189,7 @@ func termCanDriveIndex(tls *libc.TLS, pTerm uintptr, pSrc uintptr, notReady Bitm // Generate code to construct the Index object for an automatic index // and to set up the WhereLevel object pLevel so that the code generator // makes use of the automatic index. -func constructAutomaticIndex(tls *libc.TLS, pParse uintptr, pWC uintptr, pSrc uintptr, notReady Bitmask, pLevel uintptr) { /* sqlite3.c:152749:29: */ +func constructAutomaticIndex(tls *libc.TLS, pParse uintptr, pWC uintptr, pSrc uintptr, notReady Bitmask, pLevel uintptr) { /* sqlite3.c:152763:29: */ bp := tls.Alloc(20) defer tls.Free(20) @@ -133527,7 +133547,7 @@ end_auto_index_create: // This routine may only be called if it has previously been determined that // the loop would benefit from a Bloom filter, and the WHERE_BLOOMFILTER bit // is set. -func sqlite3ConstructBloomFilter(tls *libc.TLS, pWInfo uintptr, iLevel int32, pLevel uintptr, notReady Bitmask) { /* sqlite3.c:152984:29: */ +func sqlite3ConstructBloomFilter(tls *libc.TLS, pWInfo uintptr, iLevel int32, pLevel uintptr, notReady Bitmask) { /* sqlite3.c:152998:29: */ var addrOnce int32 // Address of opening OP_Once var addrTop int32 // Address of OP_Rewind var addrCont int32 // Jump here to skip a row @@ -133632,7 +133652,7 @@ func sqlite3ConstructBloomFilter(tls *libc.TLS, pWInfo uintptr, iLevel int32, pL // Allocate and populate an sqlite3_index_info structure. It is the // responsibility of the caller to eventually release the structure // by passing the pointer returned by this function to freeIndexInfo(). -func allocateIndexInfo(tls *libc.TLS, pWInfo uintptr, pWC uintptr, mUnusable Bitmask, pSrc uintptr, pmNoOmit uintptr) uintptr { /* sqlite3.c:153097:27: */ +func allocateIndexInfo(tls *libc.TLS, pWInfo uintptr, pWC uintptr, mUnusable Bitmask, pSrc uintptr, pmNoOmit uintptr) uintptr { /* sqlite3.c:153111:27: */ var i int32 var j int32 var nTerm int32 @@ -133858,7 +133878,7 @@ __6: // Free an sqlite3_index_info structure allocated by allocateIndexInfo() // and possibly modified by xBestIndex methods. -func freeIndexInfo(tls *libc.TLS, db uintptr, pIdxInfo uintptr) { /* sqlite3.c:153296:13: */ +func freeIndexInfo(tls *libc.TLS, db uintptr, pIdxInfo uintptr) { /* sqlite3.c:153310:13: */ var pHidden uintptr var i int32 @@ -133885,7 +133905,7 @@ func freeIndexInfo(tls *libc.TLS, db uintptr, pIdxInfo uintptr) { /* sqlite3.c:1 // Whether or not an error is returned, it is the responsibility of the // caller to eventually free p->idxStr if p->needToFreeIdxStr indicates // that this is required. -func vtabBestIndex(tls *libc.TLS, pParse uintptr, pTab uintptr, p uintptr) int32 { /* sqlite3.c:153326:12: */ +func vtabBestIndex(tls *libc.TLS, pParse uintptr, pTab uintptr, p uintptr) int32 { /* sqlite3.c:153340:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -133923,7 +133943,7 @@ func vtabBestIndex(tls *libc.TLS, pParse uintptr, pTab uintptr, p uintptr) int32 // into the aSample[] array - it is an index into a virtual set of samples // based on the contents of aSample[] and the number of fields in record // pRec. -func whereKeyStats(tls *libc.TLS, pParse uintptr, pIdx uintptr, pRec uintptr, roundUp int32, aStat uintptr) int32 { /* sqlite3.c:153365:12: */ +func whereKeyStats(tls *libc.TLS, pParse uintptr, pIdx uintptr, pRec uintptr, roundUp int32, aStat uintptr) int32 { /* sqlite3.c:153379:12: */ var aSample uintptr = (*Index)(unsafe.Pointer(pIdx)).FaSample var iCol int32 // Index of required stats in anEq[] etc. var i int32 // Index of first sample >= pRec @@ -134062,7 +134082,7 @@ func whereKeyStats(tls *libc.TLS, pParse uintptr, pIdx uintptr, pRec uintptr, ro // then the return value is the likelihood multiplied by the number of // input rows. Otherwise, this function assumes that an "IS NOT NULL" term // has a likelihood of 0.50, and any other term a likelihood of 0.25. -func whereRangeAdjust(tls *libc.TLS, pTerm uintptr, nNew LogEst) LogEst { /* sqlite3.c:153557:15: */ +func whereRangeAdjust(tls *libc.TLS, pTerm uintptr, nNew LogEst) LogEst { /* sqlite3.c:153571:15: */ var nRet LogEst = nNew if pTerm != 0 { if int32((*WhereTerm)(unsafe.Pointer(pTerm)).FtruthProb) <= 0 { @@ -134075,7 +134095,7 @@ func whereRangeAdjust(tls *libc.TLS, pTerm uintptr, nNew LogEst) LogEst { /* sql } // Return the affinity for a single column of an index. -func Xsqlite3IndexColumnAffinity(tls *libc.TLS, db uintptr, pIdx uintptr, iCol int32) int8 { /* sqlite3.c:153574:21: */ +func Xsqlite3IndexColumnAffinity(tls *libc.TLS, db uintptr, pIdx uintptr, iCol int32) int8 { /* sqlite3.c:153588:21: */ if !(int32((*Index)(unsafe.Pointer(pIdx)).FzColAff) != 0) { if Xsqlite3IndexAffinityStr(tls, db, pIdx) == uintptr(0) { @@ -134119,7 +134139,7 @@ func Xsqlite3IndexColumnAffinity(tls *libc.TLS, db uintptr, pIdx uintptr, iCol i // // If an error occurs, an SQLite error code is returned. Otherwise, // SQLITE_OK. -func whereRangeSkipScanEst(tls *libc.TLS, pParse uintptr, pLower uintptr, pUpper uintptr, pLoop uintptr, pbDone uintptr) int32 { /* sqlite3.c:153621:12: */ +func whereRangeSkipScanEst(tls *libc.TLS, pParse uintptr, pLower uintptr, pUpper uintptr, pLoop uintptr, pbDone uintptr) int32 { /* sqlite3.c:153635:12: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -134234,7 +134254,7 @@ func whereRangeSkipScanEst(tls *libc.TLS, pParse uintptr, pLower uintptr, pUpper // used, a single range inequality reduces the search space by a factor of 4. // and a pair of constraints (x>? AND x>0)) != 0 { Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(p + 24 + 12 /* &.idxStr */))) @@ -134542,7 +134562,7 @@ func whereLoopClearUnion(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:15 } // Deallocate internal memory used by a WhereLoop object -func whereLoopClear(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:154152:13: */ +func whereLoopClear(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:154166:13: */ if (*WhereLoop)(unsafe.Pointer(p)).FaLTerm != p+64 { Xsqlite3DbFreeNN(tls, db, (*WhereLoop)(unsafe.Pointer(p)).FaLTerm) } @@ -134551,7 +134571,7 @@ func whereLoopClear(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:154152: } // Increase the memory allocation for pLoop->aLTerm[] to be at least n. -func whereLoopResize(tls *libc.TLS, db uintptr, p uintptr, n int32) int32 { /* sqlite3.c:154161:12: */ +func whereLoopResize(tls *libc.TLS, db uintptr, p uintptr, n int32) int32 { /* sqlite3.c:154175:12: */ var paNew uintptr if int32((*WhereLoop)(unsafe.Pointer(p)).FnLSlot) >= n { return SQLITE_OK @@ -134571,7 +134591,7 @@ func whereLoopResize(tls *libc.TLS, db uintptr, p uintptr, n int32) int32 { /* s } // Transfer content from the second pLoop into the first. -func whereLoopXfer(tls *libc.TLS, db uintptr, pTo uintptr, pFrom uintptr) int32 { /* sqlite3.c:154177:12: */ +func whereLoopXfer(tls *libc.TLS, db uintptr, pTo uintptr, pFrom uintptr) int32 { /* sqlite3.c:154191:12: */ whereLoopClearUnion(tls, db, pTo) if whereLoopResize(tls, db, pTo, int32((*WhereLoop)(unsafe.Pointer(pFrom)).FnLTerm)) != 0 { libc.Xmemset(tls, pTo, 0, uint32(uintptr(0)+52)) @@ -134588,13 +134608,13 @@ func whereLoopXfer(tls *libc.TLS, db uintptr, pTo uintptr, pFrom uintptr) int32 } // Delete a WhereLoop object -func whereLoopDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:154196:13: */ +func whereLoopDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:154210:13: */ whereLoopClear(tls, db, p) Xsqlite3DbFreeNN(tls, db, p) } // Free a WhereInfo structure -func whereInfoFree(tls *libc.TLS, db uintptr, pWInfo uintptr) { /* sqlite3.c:154204:13: */ +func whereInfoFree(tls *libc.TLS, db uintptr, pWInfo uintptr) { /* sqlite3.c:154218:13: */ var i int32 for i = 0; i < int32((*WhereInfo)(unsafe.Pointer(pWInfo)).FnLevel); i++ { @@ -134615,7 +134635,7 @@ func whereInfoFree(tls *libc.TLS, db uintptr, pWInfo uintptr) { /* sqlite3.c:154 } // Undo all Expr node modifications -func whereUndoExprMods(tls *libc.TLS, pWInfo uintptr) { /* sqlite3.c:154226:13: */ +func whereUndoExprMods(tls *libc.TLS, pWInfo uintptr) { /* sqlite3.c:154240:13: */ for (*WhereInfo)(unsafe.Pointer(pWInfo)).FpExprMods != 0 { var p uintptr = (*WhereInfo)(unsafe.Pointer(pWInfo)).FpExprMods (*WhereInfo)(unsafe.Pointer(pWInfo)).FpExprMods = (*WhereExprMod)(unsafe.Pointer(p)).FpNext @@ -134641,7 +134661,7 @@ func whereUndoExprMods(tls *libc.TLS, pWInfo uintptr) { /* sqlite3.c:154226:13: // deserve a lower cost even if it is a proper subset of Y. Constraint (5) // was added because a covering index probably deserves to have a lower cost // than a non-covering index even if it is a proper subset. -func whereLoopCheaperProperSubset(tls *libc.TLS, pX uintptr, pY uintptr) int32 { /* sqlite3.c:154254:12: */ +func whereLoopCheaperProperSubset(tls *libc.TLS, pX uintptr, pY uintptr) int32 { /* sqlite3.c:154268:12: */ var i int32 var j int32 if int32((*WhereLoop)(unsafe.Pointer(pX)).FnLTerm)-int32((*WhereLoop)(unsafe.Pointer(pX)).FnSkip) >= int32((*WhereLoop)(unsafe.Pointer(pY)).FnLTerm)-int32((*WhereLoop)(unsafe.Pointer(pY)).FnSkip) { @@ -134685,7 +134705,7 @@ func whereLoopCheaperProperSubset(tls *libc.TLS, pX uintptr, pY uintptr) int32 { // To say "WhereLoop X is a proper subset of Y" means that X uses fewer // WHERE clause terms than Y and that every WHERE clause term used by X is // also used by Y. -func whereLoopAdjustCost(tls *libc.TLS, p uintptr, pTemplate uintptr) { /* sqlite3.c:154292:13: */ +func whereLoopAdjustCost(tls *libc.TLS, p uintptr, pTemplate uintptr) { /* sqlite3.c:154306:13: */ if (*WhereLoop)(unsafe.Pointer(pTemplate)).FwsFlags&U32(WHERE_INDEXED) == U32(0) { return } @@ -134744,7 +134764,7 @@ func whereLoopAdjustCost(tls *libc.TLS, p uintptr, pTemplate uintptr) { /* sqlit // If pTemplate cannot replace any existing element of the list but needs // to be added to the list as a new entry, then return a pointer to the // tail of the list. -func whereLoopFindLesser(tls *libc.TLS, ppPrev uintptr, pTemplate uintptr) uintptr { /* sqlite3.c:154333:18: */ +func whereLoopFindLesser(tls *libc.TLS, ppPrev uintptr, pTemplate uintptr) uintptr { /* sqlite3.c:154347:18: */ var p uintptr p = *(*uintptr)(unsafe.Pointer(ppPrev)) __1: @@ -134833,7 +134853,7 @@ __3: // (2) They have the same iSortIdx. // (3) The template has same or fewer dependencies than the current loop // (4) The template has the same or lower cost than the current loop -func whereLoopInsert(tls *libc.TLS, pBuilder uintptr, pTemplate uintptr) int32 { /* sqlite3.c:154421:12: */ +func whereLoopInsert(tls *libc.TLS, pBuilder uintptr, pTemplate uintptr) int32 { /* sqlite3.c:154435:12: */ var ppPrev uintptr var p uintptr var pWInfo uintptr = (*WhereLoopBuilder)(unsafe.Pointer(pBuilder)).FpWInfo @@ -134940,7 +134960,7 @@ func whereLoopInsert(tls *libc.TLS, pBuilder uintptr, pTemplate uintptr) int32 { // "x" column is boolean or else -1 or 0 or 1 is a common default value // on the "x" column and so in that case only cap the output row estimate // at 1/2 instead of 1/4. -func whereLoopOutputAdjust(tls *libc.TLS, pWC uintptr, pLoop uintptr, nRow LogEst) { /* sqlite3.c:154558:13: */ +func whereLoopOutputAdjust(tls *libc.TLS, pWC uintptr, pLoop uintptr, nRow LogEst) { /* sqlite3.c:154572:13: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -134986,7 +135006,14 @@ __1: // that depend only on the table being scanned, and that will tend to // cause many rows to be omitted, then mark that table as // "self-culling". - *(*U32)(unsafe.Pointer(pLoop + 44)) |= U32(WHERE_SELFCULL) + // + // 2022-03-24: Self-culling only applies if either the extra terms + // are straight comparison operators that are non-true with NULL + // operand, or if the loop is not a LEFT JOIN. + if int32((*WhereTerm)(unsafe.Pointer(pTerm)).FeOperator)&0x3f != 0 || + int32((*SrcItem)(unsafe.Pointer((*WhereInfo)(unsafe.Pointer((*WhereClause)(unsafe.Pointer(pWC)).FpWInfo)).FpTabList+8+uintptr((*WhereLoop)(unsafe.Pointer(pLoop)).FiTab)*72)).Ffg.Fjointype)&JT_LEFT == 0 { + *(*U32)(unsafe.Pointer(pLoop + 44)) |= U32(WHERE_SELFCULL) + } } if int32((*WhereTerm)(unsafe.Pointer(pTerm)).FtruthProb) <= 0 { // If a truth probability is specified using the likelihood() hints, @@ -135043,7 +135070,7 @@ __3: // // then this function would be invoked with nEq=1. The value returned in // this case is 3. -func whereRangeVectorLen(tls *libc.TLS, pParse uintptr, iCur int32, pIdx uintptr, nEq int32, pTerm uintptr) int32 { /* sqlite3.c:154637:12: */ +func whereRangeVectorLen(tls *libc.TLS, pParse uintptr, iCur int32, pIdx uintptr, nEq int32, pTerm uintptr) int32 { /* sqlite3.c:154660:12: */ var nCmp int32 = Xsqlite3ExprVectorSize(tls, (*Expr)(unsafe.Pointer((*WhereTerm)(unsafe.Pointer(pTerm)).FpExpr)).FpLeft) var i int32 @@ -135111,7 +135138,7 @@ func whereRangeVectorLen(tls *libc.TLS, pParse uintptr, iCur int32, pIdx uintptr // // If pProbe->idxType==SQLITE_IDXTYPE_IPK, that means pIndex is // a fake index used for the INTEGER PRIMARY KEY. -func whereLoopAddBtreeIndex(tls *libc.TLS, pBuilder uintptr, pSrc uintptr, pProbe uintptr, nInMul LogEst) int32 { /* sqlite3.c:154711:12: */ +func whereLoopAddBtreeIndex(tls *libc.TLS, pBuilder uintptr, pSrc uintptr, pProbe uintptr, nInMul LogEst) int32 { /* sqlite3.c:154734:12: */ bp := tls.Alloc(100) defer tls.Free(100) @@ -135471,7 +135498,7 @@ func whereLoopAddBtreeIndex(tls *libc.TLS, pBuilder uintptr, pSrc uintptr, pProb // Return False if pBuilder does not contain an ORDER BY clause or // if there is no way for pIndex to be useful in implementing that // ORDER BY clause. -func indexMightHelpWithOrderBy(tls *libc.TLS, pBuilder uintptr, pIndex uintptr, iCursor int32) int32 { /* sqlite3.c:155111:12: */ +func indexMightHelpWithOrderBy(tls *libc.TLS, pBuilder uintptr, pIndex uintptr, iCursor int32) int32 { /* sqlite3.c:155134:12: */ var pOB uintptr var aColExpr uintptr var ii int32 @@ -135513,7 +135540,7 @@ func indexMightHelpWithOrderBy(tls *libc.TLS, pBuilder uintptr, pIndex uintptr, // Check to see if a partial index with pPartIndexWhere can be used // in the current query. Return true if it can be and false if not. -func whereUsablePartialIndex(tls *libc.TLS, iTab int32, isLeft int32, pWC uintptr, pWhere uintptr) int32 { /* sqlite3.c:155145:12: */ +func whereUsablePartialIndex(tls *libc.TLS, iTab int32, isLeft int32, pWC uintptr, pWhere uintptr) int32 { /* sqlite3.c:155168:12: */ var i int32 var pTerm uintptr var pParse uintptr = (*WhereInfo)(unsafe.Pointer((*WhereClause)(unsafe.Pointer(pWC)).FpWInfo)).FpParse @@ -135588,7 +135615,7 @@ __3: // bias the scoring in favor of using an index, since the worst-case // performance of using an index is far better than the worst-case performance // of a full table scan. -func whereLoopAddBtree(tls *libc.TLS, pBuilder uintptr, mPrereq Bitmask) int32 { /* sqlite3.c:155209:12: */ +func whereLoopAddBtree(tls *libc.TLS, pBuilder uintptr, mPrereq Bitmask) int32 { /* sqlite3.c:155232:12: */ bp := tls.Alloc(98) defer tls.Free(98) @@ -135873,7 +135900,7 @@ __3: } // Return true if pTerm is a virtual table LIMIT or OFFSET term. -func isLimitTerm(tls *libc.TLS, pTerm uintptr) int32 { /* sqlite3.c:155467:12: */ +func isLimitTerm(tls *libc.TLS, pTerm uintptr) int32 { /* sqlite3.c:155490:12: */ return libc.Bool32(int32((*WhereTerm)(unsafe.Pointer(pTerm)).FeMatchOp) >= SQLITE_INDEX_CONSTRAINT_LIMIT && int32((*WhereTerm)(unsafe.Pointer(pTerm)).FeMatchOp) <= SQLITE_INDEX_CONSTRAINT_OFFSET) @@ -135897,7 +135924,7 @@ func isLimitTerm(tls *libc.TLS, pTerm uintptr) int32 { /* sqlite3.c:155467:12: * // // Output parameter *pbIn is set to true if the plan added to pBuilder // uses one or more WO_IN terms, or false otherwise. -func whereLoopAddVirtualOne(tls *libc.TLS, pBuilder uintptr, mPrereq Bitmask, mUsable Bitmask, mExclude U16, pIdxInfo uintptr, mNoOmit U16, pbIn uintptr, pbRetryLimit uintptr) int32 { /* sqlite3.c:155493:12: */ +func whereLoopAddVirtualOne(tls *libc.TLS, pBuilder uintptr, mPrereq Bitmask, mUsable Bitmask, mExclude U16, pIdxInfo uintptr, mNoOmit U16, pbIn uintptr, pbRetryLimit uintptr) int32 { /* sqlite3.c:155516:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -136120,7 +136147,7 @@ __6: // 2. Else, if the column has an alternative collation, return that. // // 3. Otherwise, return "BINARY". -func Xsqlite3_vtab_collation(tls *libc.TLS, pIdxInfo uintptr, iCons int32) uintptr { /* sqlite3.c:155685:23: */ +func Xsqlite3_vtab_collation(tls *libc.TLS, pIdxInfo uintptr, iCons int32) uintptr { /* sqlite3.c:155708:23: */ var pHidden uintptr = pIdxInfo + 1*64 var zRet uintptr = uintptr(0) if iCons >= 0 && iCons < (*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FnConstraint { @@ -136143,7 +136170,7 @@ func Xsqlite3_vtab_collation(tls *libc.TLS, pIdxInfo uintptr, iCons int32) uintp // Return true if constraint iCons is really an IN(...) constraint, or // false otherwise. If iCons is an IN(...) constraint, set (if bHandle!=0) // or clear (if bHandle==0) the flag to handle it using an iterator. -func Xsqlite3_vtab_in(tls *libc.TLS, pIdxInfo uintptr, iCons int32, bHandle int32) int32 { /* sqlite3.c:155705:16: */ +func Xsqlite3_vtab_in(tls *libc.TLS, pIdxInfo uintptr, iCons int32, bHandle int32) int32 { /* sqlite3.c:155728:16: */ var pHidden uintptr = pIdxInfo + 1*64 var m U32 = func() uint32 { if iCons <= 31 { @@ -136166,7 +136193,7 @@ func Xsqlite3_vtab_in(tls *libc.TLS, pIdxInfo uintptr, iCons int32, bHandle int3 // // If possible, set (*ppVal) to point to an object containing the value // on the right-hand-side of constraint iCons. -func Xsqlite3_vtab_rhs_value(tls *libc.TLS, pIdxInfo uintptr, iCons int32, ppVal uintptr) int32 { /* sqlite3.c:155725:16: */ +func Xsqlite3_vtab_rhs_value(tls *libc.TLS, pIdxInfo uintptr, iCons int32, ppVal uintptr) int32 { /* sqlite3.c:155748:16: */ var pH uintptr = pIdxInfo + 1*64 var pVal uintptr = uintptr(0) var rc int32 = SQLITE_OK @@ -136192,7 +136219,7 @@ func Xsqlite3_vtab_rhs_value(tls *libc.TLS, pIdxInfo uintptr, iCons int32, ppVal } // Return true if ORDER BY clause may be handled as DISTINCT. -func Xsqlite3_vtab_distinct(tls *libc.TLS, pIdxInfo uintptr) int32 { /* sqlite3.c:155758:16: */ +func Xsqlite3_vtab_distinct(tls *libc.TLS, pIdxInfo uintptr) int32 { /* sqlite3.c:155781:16: */ var pHidden uintptr = pIdxInfo + 1*64 return (*HiddenIndexInfo)(unsafe.Pointer(pHidden)).FeDistinct @@ -136221,7 +136248,7 @@ func Xsqlite3_vtab_distinct(tls *libc.TLS, pIdxInfo uintptr) int32 { /* sqlite3. // Conversely, all tables in mUnusable must be scanned after the current // virtual table, so any terms for which the prerequisites overlap with // mUnusable should always be configured as "not-usable" for xBestIndex. -func whereLoopAddVirtual(tls *libc.TLS, pBuilder uintptr, mPrereq Bitmask, mUnusable Bitmask) int32 { /* sqlite3.c:155807:12: */ +func whereLoopAddVirtual(tls *libc.TLS, pBuilder uintptr, mPrereq Bitmask, mUnusable Bitmask) int32 { /* sqlite3.c:155830:12: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -136357,7 +136384,7 @@ func whereLoopAddVirtual(tls *libc.TLS, pBuilder uintptr, mPrereq Bitmask, mUnus // Add WhereLoop entries to handle OR terms. This works for either // btrees or virtual tables. -func whereLoopAddOr(tls *libc.TLS, pBuilder uintptr, mPrereq Bitmask, mUnusable Bitmask) int32 { /* sqlite3.c:155938:12: */ +func whereLoopAddOr(tls *libc.TLS, pBuilder uintptr, mPrereq Bitmask, mUnusable Bitmask) int32 { /* sqlite3.c:155961:12: */ bp := tls.Alloc(564) defer tls.Free(564) @@ -136482,7 +136509,7 @@ func whereLoopAddOr(tls *libc.TLS, pBuilder uintptr, mPrereq Bitmask, mUnusable } // Add all WhereLoop objects for all tables -func whereLoopAddAll(tls *libc.TLS, pBuilder uintptr) int32 { /* sqlite3.c:156064:12: */ +func whereLoopAddAll(tls *libc.TLS, pBuilder uintptr) int32 { /* sqlite3.c:156087:12: */ var pWInfo uintptr = (*WhereLoopBuilder)(unsafe.Pointer(pBuilder)).FpWInfo var mPrereq Bitmask = uint64(0) var mPrior Bitmask = uint64(0) @@ -136570,7 +136597,7 @@ __3: // as equivalent rows are grouped together. Thus for GROUP BY and DISTINCT // the pOrderBy terms can be matched in any order. With ORDER BY, the // pOrderBy terms must be matched in strict left-to-right order. -func wherePathSatisfiesOrderBy(tls *libc.TLS, pWInfo uintptr, pOrderBy uintptr, pPath uintptr, wctrlFlags U16, nLoop U16, pLast uintptr, pRevMask uintptr) I8 { /* sqlite3.c:156142:11: */ +func wherePathSatisfiesOrderBy(tls *libc.TLS, pWInfo uintptr, pOrderBy uintptr, pPath uintptr, wctrlFlags U16, nLoop U16, pLast uintptr, pRevMask uintptr) I8 { /* sqlite3.c:156165:11: */ var revSet U8 // True if rev is known var rev U8 // Composite sort order var revIdx U8 // Index sort order @@ -136938,7 +136965,7 @@ func wherePathSatisfiesOrderBy(tls *libc.TLS, pWInfo uintptr, pOrderBy uintptr, // // SELECT * FROM t1 GROUP BY x,y ORDER BY x,y; -- IsSorted()==1 // SELECT * FROM t1 GROUP BY y,x ORDER BY y,x; -- IsSorted()==0 -func Xsqlite3WhereIsSorted(tls *libc.TLS, pWInfo uintptr) int32 { /* sqlite3.c:156487:20: */ +func Xsqlite3WhereIsSorted(tls *libc.TLS, pWInfo uintptr) int32 { /* sqlite3.c:156510:20: */ return int32(*(*uint8)(unsafe.Pointer(pWInfo + 52)) & 0x8 >> 3) } @@ -136946,7 +136973,7 @@ func Xsqlite3WhereIsSorted(tls *libc.TLS, pWInfo uintptr) int32 { /* sqlite3.c:1 // Return the cost of sorting nRow rows, assuming that the keys have // nOrderby columns and that the first nSorted columns are already in // order. -func whereSortingCost(tls *libc.TLS, pWInfo uintptr, nRow LogEst, nOrderBy int32, nSorted int32) LogEst { /* sqlite3.c:156510:15: */ +func whereSortingCost(tls *libc.TLS, pWInfo uintptr, nRow LogEst, nOrderBy int32, nSorted int32) LogEst { /* sqlite3.c:156533:15: */ // TUNING: Estimated cost of a full external sort, where N is // the number of rows to sort is: // @@ -136993,7 +137020,7 @@ func whereSortingCost(tls *libc.TLS, pWInfo uintptr, nRow LogEst, nOrderBy int32 // // Return SQLITE_OK on success or SQLITE_NOMEM of a memory allocation // error occurs. -func wherePathSolver(tls *libc.TLS, pWInfo uintptr, nRowEst LogEst) int32 { /* sqlite3.c:156563:12: */ +func wherePathSolver(tls *libc.TLS, pWInfo uintptr, nRowEst LogEst) int32 { /* sqlite3.c:156586:12: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -137400,7 +137427,7 @@ __3: // Return non-zero on success, if this query can be handled by this // no-frills query planner. Return zero if this query needs the // general-purpose query planner. -func whereShortCut(tls *libc.TLS, pBuilder uintptr) int32 { /* sqlite3.c:156955:12: */ +func whereShortCut(tls *libc.TLS, pBuilder uintptr) int32 { /* sqlite3.c:156978:12: */ bp := tls.Alloc(96) defer tls.Free(96) @@ -137507,7 +137534,7 @@ func whereShortCut(tls *libc.TLS, pBuilder uintptr) int32 { /* sqlite3.c:156955: } // Helper function for exprIsDeterministic(). -func exprNodeIsDeterministic(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:157046:12: */ +func exprNodeIsDeterministic(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:157069:12: */ if int32((*Expr)(unsafe.Pointer(pExpr)).Fop) == TK_FUNCTION && libc.Bool32((*Expr)(unsafe.Pointer(pExpr)).Fflags&U32(EP_ConstFunc) != U32(0)) == 0 { (*Walker)(unsafe.Pointer(pWalker)).FeCode = U16(0) return WRC_Abort @@ -137518,7 +137545,7 @@ func exprNodeIsDeterministic(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int3 // Return true if the expression contains no non-deterministic SQL // functions. Do not consider non-deterministic SQL functions that are // part of sub-select statements. -func exprIsDeterministic(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:157059:12: */ +func exprIsDeterministic(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:157082:12: */ bp := tls.Alloc(28) defer tls.Free(28) @@ -137564,7 +137591,7 @@ func exprIsDeterministic(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:157059:1 // SELECT DISTINCT v1, v3 FROM t1 // LEFT JOIN t2 // LEFT JOIN t3 ON (t1.ipk=t3.ipk) -func whereOmitNoopJoin(tls *libc.TLS, pWInfo uintptr, notReady Bitmask) Bitmask { /* sqlite3.c:157120:32: */ +func whereOmitNoopJoin(tls *libc.TLS, pWInfo uintptr, notReady Bitmask) Bitmask { /* sqlite3.c:157143:32: */ var i int32 var tabUsed Bitmask @@ -137639,7 +137666,7 @@ func whereOmitNoopJoin(tls *libc.TLS, pWInfo uintptr, notReady Bitmask) Bitmask // appropriate, and if so sets the WHERE_BLOOMFILTER flag on the // WhereLoop. The implementation of the Bloom filter comes further // down where the code for each WhereLoop is generated. -func whereCheckIfBloomFilterIsUseful(tls *libc.TLS, pWInfo uintptr) { /* sqlite3.c:157199:29: */ +func whereCheckIfBloomFilterIsUseful(tls *libc.TLS, pWInfo uintptr) { /* sqlite3.c:157222:29: */ var i int32 var nSearch LogEst @@ -137751,7 +137778,7 @@ func whereCheckIfBloomFilterIsUseful(tls *libc.TLS, pWInfo uintptr) { /* sqlite3 // the first cursor in an array of cursors for all indices. iIdxCur should // be used to compute the appropriate cursor depending on which index is // used. -func Xsqlite3WhereBegin(tls *libc.TLS, pParse uintptr, pTabList uintptr, pWhere uintptr, pOrderBy uintptr, pResultSet uintptr, pLimit uintptr, wctrlFlags U16, iAuxArg int32) uintptr { /* sqlite3.c:157323:26: */ +func Xsqlite3WhereBegin(tls *libc.TLS, pParse uintptr, pTabList uintptr, pWhere uintptr, pOrderBy uintptr, pResultSet uintptr, pLimit uintptr, wctrlFlags U16, iAuxArg int32) uintptr { /* sqlite3.c:157346:26: */ bp := tls.Alloc(40) defer tls.Free(40) @@ -138436,7 +138463,7 @@ __78: // Generate the end of the WHERE loop. See comments on // sqlite3WhereBegin() for additional information. -func Xsqlite3WhereEnd(tls *libc.TLS, pWInfo uintptr) { /* sqlite3.c:157889:21: */ +func Xsqlite3WhereEnd(tls *libc.TLS, pWInfo uintptr) { /* sqlite3.c:157932:21: */ var pParse uintptr = (*WhereInfo)(unsafe.Pointer(pWInfo)).FpParse var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe var i int32 @@ -138649,12 +138676,12 @@ __4: int32((*VdbeOp)(unsafe.Pointer(pOp)).Fopcode) == OP_Offset { var x int32 = (*VdbeOp)(unsafe.Pointer(pOp)).Fp2 - if !((*Table)(unsafe.Pointer(pTab)).FtabFlags&U32(TF_WithoutRowid) == U32(0)) { + if int32((*VdbeOp)(unsafe.Pointer(pOp)).Fopcode) == OP_Offset { + // Do not need to translate the column number + } else if !((*Table)(unsafe.Pointer(pTab)).FtabFlags&U32(TF_WithoutRowid) == U32(0)) { var pPk uintptr = Xsqlite3PrimaryKeyIndex(tls, pTab) x = int32(*(*I16)(unsafe.Pointer((*Index)(unsafe.Pointer(pPk)).FaiColumn + uintptr(x)*2))) - } else if int32((*VdbeOp)(unsafe.Pointer(pOp)).Fopcode) == OP_Offset { - // Do not need to translate the column number } else { x = int32(Xsqlite3StorageColumnToTable(tls, pTab, int16(x))) @@ -138664,8 +138691,12 @@ __4: (*VdbeOp)(unsafe.Pointer(pOp)).Fp2 = x (*VdbeOp)(unsafe.Pointer(pOp)).Fp1 = (*WhereLevel)(unsafe.Pointer(pLevel)).FiIdxCur - } + } else { + // Unable to translate the table reference into an index + // reference. Verify that this is harmless - that the + // table being referenced really is open. + } } else if int32((*VdbeOp)(unsafe.Pointer(pOp)).Fopcode) == OP_Rowid { (*VdbeOp)(unsafe.Pointer(pOp)).Fp1 = (*WhereLevel)(unsafe.Pointer(pLevel)).FiIdxCur (*VdbeOp)(unsafe.Pointer(pOp)).Fopcode = U8(OP_IdxRowid) @@ -138836,7 +138867,7 @@ __6: // window frame has been coerced to: // // ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW -func row_numberStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158331:13: */ +func row_numberStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158388:13: */ var p uintptr = Xsqlite3_aggregate_context(tls, pCtx, int32(unsafe.Sizeof(I64(0)))) if p != 0 { *(*I64)(unsafe.Pointer(p))++ @@ -138845,7 +138876,7 @@ func row_numberStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) _ = apArg } -func row_numberValueFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158341:13: */ +func row_numberValueFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158398:13: */ var p uintptr = Xsqlite3_aggregate_context(tls, pCtx, int32(unsafe.Sizeof(I64(0)))) Xsqlite3_result_int64(tls, pCtx, func() int64 { if p != 0 { @@ -138861,13 +138892,13 @@ type CallCount = struct { FnValue I64 FnStep I64 FnTotal I64 -} /* sqlite3.c:158350:1 */ +} /* sqlite3.c:158407:1 */ // Implementation of built-in window function dense_rank(). Assumes that // the window frame has been set to: // // RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW -func dense_rankStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158362:13: */ +func dense_rankStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158419:13: */ var p uintptr p = Xsqlite3_aggregate_context(tls, pCtx, int32(unsafe.Sizeof(CallCount{}))) if p != 0 { @@ -138877,7 +138908,7 @@ func dense_rankStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) _ = apArg } -func dense_rankValueFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158373:13: */ +func dense_rankValueFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158430:13: */ var p uintptr p = Xsqlite3_aggregate_context(tls, pCtx, int32(unsafe.Sizeof(CallCount{}))) if p != 0 { @@ -138895,9 +138926,9 @@ func dense_rankValueFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158373:13: type NthValueCtx = struct { FnStep I64 FpValue uintptr -} /* sqlite3.c:158390:1 */ +} /* sqlite3.c:158447:1 */ -func nth_valueStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158394:13: */ +func nth_valueStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158451:13: */ var p uintptr var fVal float64 var iVal I64 @@ -138963,7 +138994,7 @@ error_out: pCtx, ts+21892, -1) } -func nth_valueFinalizeFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158435:13: */ +func nth_valueFinalizeFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158492:13: */ var p uintptr p = Xsqlite3_aggregate_context(tls, pCtx, 0) if p != 0 && (*NthValueCtx)(unsafe.Pointer(p)).FpValue != 0 { @@ -138973,7 +139004,7 @@ func nth_valueFinalizeFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158435:13 } } -func first_valueStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158447:13: */ +func first_valueStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158504:13: */ var p uintptr p = Xsqlite3_aggregate_context(tls, pCtx, int32(unsafe.Sizeof(NthValueCtx{}))) if p != 0 && (*NthValueCtx)(unsafe.Pointer(p)).FpValue == uintptr(0) { @@ -138986,7 +139017,7 @@ func first_valueStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) _ = apArg } -func first_valueFinalizeFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158463:13: */ +func first_valueFinalizeFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158520:13: */ var p uintptr p = Xsqlite3_aggregate_context(tls, pCtx, int32(unsafe.Sizeof(NthValueCtx{}))) if p != 0 && (*NthValueCtx)(unsafe.Pointer(p)).FpValue != 0 { @@ -139000,7 +139031,7 @@ func first_valueFinalizeFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158463: // the window frame has been set to: // // RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW -func rankStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158481:13: */ +func rankStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158538:13: */ var p uintptr p = Xsqlite3_aggregate_context(tls, pCtx, int32(unsafe.Sizeof(CallCount{}))) if p != 0 { @@ -139013,7 +139044,7 @@ func rankStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* s _ = apArg } -func rankValueFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158497:13: */ +func rankValueFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158554:13: */ var p uintptr p = Xsqlite3_aggregate_context(tls, pCtx, int32(unsafe.Sizeof(CallCount{}))) if p != 0 { @@ -139026,7 +139057,7 @@ func rankValueFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158497:13: */ // the window frame has been set to: // // GROUPS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING -func percent_rankStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158512:13: */ +func percent_rankStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158569:13: */ var p uintptr _ = nArg _ = apArg @@ -139036,7 +139067,7 @@ func percent_rankStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr } } -func percent_rankInvFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158525:13: */ +func percent_rankInvFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158582:13: */ var p uintptr _ = nArg _ = apArg @@ -139044,7 +139075,7 @@ func percent_rankInvFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) (*CallCount)(unsafe.Pointer(p)).FnStep++ } -func percent_rankValueFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158536:13: */ +func percent_rankValueFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158593:13: */ var p uintptr p = Xsqlite3_aggregate_context(tls, pCtx, int32(unsafe.Sizeof(CallCount{}))) if p != 0 { @@ -139062,7 +139093,7 @@ func percent_rankValueFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158536:13 // the window frame has been set to: // // GROUPS BETWEEN 1 FOLLOWING AND UNBOUNDED FOLLOWING -func cume_distStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158557:13: */ +func cume_distStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158614:13: */ var p uintptr _ = nArg _ = apArg @@ -139072,7 +139103,7 @@ func cume_distStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { } } -func cume_distInvFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158570:13: */ +func cume_distInvFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158627:13: */ var p uintptr _ = nArg _ = apArg @@ -139080,7 +139111,7 @@ func cume_distInvFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { (*CallCount)(unsafe.Pointer(p)).FnStep++ } -func cume_distValueFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158581:13: */ +func cume_distValueFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158638:13: */ var p uintptr p = Xsqlite3_aggregate_context(tls, pCtx, 0) if p != 0 { @@ -139094,13 +139125,13 @@ type NtileCtx = struct { FnTotal I64 FnParam I64 FiRow I64 -} /* sqlite3.c:158594:1 */ +} /* sqlite3.c:158651:1 */ // Implementation of ntile(). This assumes that the window frame has // been coerced to: // // ROWS CURRENT ROW AND UNBOUNDED FOLLOWING -func ntileStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158606:13: */ +func ntileStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158663:13: */ var p uintptr _ = nArg p = Xsqlite3_aggregate_context(tls, pCtx, int32(unsafe.Sizeof(NtileCtx{}))) @@ -139116,7 +139147,7 @@ func ntileStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* } } -func ntileInvFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158626:13: */ +func ntileInvFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158683:13: */ var p uintptr _ = nArg _ = apArg @@ -139124,7 +139155,7 @@ func ntileInvFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* s (*NtileCtx)(unsafe.Pointer(p)).FiRow++ } -func ntileValueFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158637:13: */ +func ntileValueFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158694:13: */ var p uintptr p = Xsqlite3_aggregate_context(tls, pCtx, int32(unsafe.Sizeof(NtileCtx{}))) if p != 0 && (*NtileCtx)(unsafe.Pointer(p)).FnParam > int64(0) { @@ -139149,10 +139180,10 @@ func ntileValueFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158637:13: */ type LastValueCtx = struct { FpVal uintptr FnVal int32 -} /* sqlite3.c:158664:1 */ +} /* sqlite3.c:158721:1 */ // Implementation of last_value(). -func last_valueStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158672:13: */ +func last_valueStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158729:13: */ var p uintptr _ = nArg p = Xsqlite3_aggregate_context(tls, pCtx, int32(unsafe.Sizeof(LastValueCtx{}))) @@ -139167,7 +139198,7 @@ func last_valueStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) } } -func last_valueInvFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158690:13: */ +func last_valueInvFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158747:13: */ var p uintptr _ = nArg _ = apArg @@ -139181,7 +139212,7 @@ func last_valueInvFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { } } -func last_valueValueFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158707:13: */ +func last_valueValueFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158764:13: */ var p uintptr p = Xsqlite3_aggregate_context(tls, pCtx, 0) if p != 0 && (*LastValueCtx)(unsafe.Pointer(p)).FpVal != 0 { @@ -139189,7 +139220,7 @@ func last_valueValueFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158707:13: } } -func last_valueFinalizeFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158714:13: */ +func last_valueFinalizeFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158771:13: */ var p uintptr p = Xsqlite3_aggregate_context(tls, pCtx, int32(unsafe.Sizeof(LastValueCtx{}))) if p != 0 && (*LastValueCtx)(unsafe.Pointer(p)).FpVal != 0 { @@ -139205,17 +139236,17 @@ func last_valueFinalizeFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158714:1 // comparison of the zName pointer. Example: // // if( pFuncDef->zName==row_valueName ){ ... } -var row_numberName = *(*[11]int8)(unsafe.Pointer(ts + 21993)) /* sqlite3.c:158732:19 */ -var dense_rankName = *(*[11]int8)(unsafe.Pointer(ts + 22004)) /* sqlite3.c:158733:19 */ -var rankName = *(*[5]int8)(unsafe.Pointer(ts + 22015)) /* sqlite3.c:158734:19 */ -var percent_rankName = *(*[13]int8)(unsafe.Pointer(ts + 22020)) /* sqlite3.c:158735:19 */ -var cume_distName = *(*[10]int8)(unsafe.Pointer(ts + 22033)) /* sqlite3.c:158736:19 */ -var ntileName = *(*[6]int8)(unsafe.Pointer(ts + 22043)) /* sqlite3.c:158737:19 */ -var last_valueName = *(*[11]int8)(unsafe.Pointer(ts + 22049)) /* sqlite3.c:158738:19 */ -var nth_valueName = *(*[10]int8)(unsafe.Pointer(ts + 22060)) /* sqlite3.c:158739:19 */ -var first_valueName = *(*[12]int8)(unsafe.Pointer(ts + 22070)) /* sqlite3.c:158740:19 */ -var leadName = *(*[5]int8)(unsafe.Pointer(ts + 22082)) /* sqlite3.c:158741:19 */ -var lagName = *(*[4]int8)(unsafe.Pointer(ts + 22087 /* "lag" */)) /* sqlite3.c:158742:19 */ +var row_numberName = *(*[11]int8)(unsafe.Pointer(ts + 21993)) /* sqlite3.c:158789:19 */ +var dense_rankName = *(*[11]int8)(unsafe.Pointer(ts + 22004)) /* sqlite3.c:158790:19 */ +var rankName = *(*[5]int8)(unsafe.Pointer(ts + 22015)) /* sqlite3.c:158791:19 */ +var percent_rankName = *(*[13]int8)(unsafe.Pointer(ts + 22020)) /* sqlite3.c:158792:19 */ +var cume_distName = *(*[10]int8)(unsafe.Pointer(ts + 22033)) /* sqlite3.c:158793:19 */ +var ntileName = *(*[6]int8)(unsafe.Pointer(ts + 22043)) /* sqlite3.c:158794:19 */ +var last_valueName = *(*[11]int8)(unsafe.Pointer(ts + 22049)) /* sqlite3.c:158795:19 */ +var nth_valueName = *(*[10]int8)(unsafe.Pointer(ts + 22060)) /* sqlite3.c:158796:19 */ +var first_valueName = *(*[12]int8)(unsafe.Pointer(ts + 22070)) /* sqlite3.c:158797:19 */ +var leadName = *(*[5]int8)(unsafe.Pointer(ts + 22082)) /* sqlite3.c:158798:19 */ +var lagName = *(*[4]int8)(unsafe.Pointer(ts + 22087 /* "lag" */)) /* sqlite3.c:158799:19 */ // No-op implementations of xStep() and xFinalize(). Used as place-holders // for built-in window functions that never call those interfaces. @@ -139224,7 +139255,7 @@ var lagName = *(*[4]int8)(unsafe.Pointer(ts + 22087 /* "lag" */)) /* sqlite3.c:1 // noopStepFunc() is never called, and so it is marked with NO_TEST to // let the test coverage routine know not to expect this function to be // invoked. -func noopStepFunc(tls *libc.TLS, p uintptr, n int32, a uintptr) { /* sqlite3.c:158753:13: */ //NO_TEST +func noopStepFunc(tls *libc.TLS, p uintptr, n int32, a uintptr) { /* sqlite3.c:158810:13: */ //NO_TEST _ = p //NO_TEST _ = n //NO_TEST _ = a //NO_TEST @@ -139232,7 +139263,7 @@ func noopStepFunc(tls *libc.TLS, p uintptr, n int32, a uintptr) { /* sqlite3.c:1 } //NO_TEST -func noopValueFunc(tls *libc.TLS, p uintptr) { /* sqlite3.c:158763:13: */ +func noopValueFunc(tls *libc.TLS, p uintptr) { /* sqlite3.c:158820:13: */ _ = p /*no-op*/ } @@ -139247,7 +139278,7 @@ func noopValueFunc(tls *libc.TLS, p uintptr) { /* sqlite3.c:158763:13: */ // xInverse. // Register those built-in window functions that are not also aggregates. -func Xsqlite3WindowFunctions(tls *libc.TLS) { /* sqlite3.c:158794:21: */ +func Xsqlite3WindowFunctions(tls *libc.TLS) { /* sqlite3.c:158851:21: */ Xsqlite3InsertBuiltinFuncs(tls, uintptr(unsafe.Pointer(&aWindowFuncs)), int32(uint32(unsafe.Sizeof(aWindowFuncs))/uint32(unsafe.Sizeof(FuncDef{})))) } @@ -139266,9 +139297,9 @@ var aWindowFuncs = [15]FuncDef{ {FnArg: int8(3), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_UTF8 | SQLITE_FUNC_WINDOW | 0), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: 0}, {FnArg: int8(1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_UTF8 | SQLITE_FUNC_WINDOW | 0), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: 0}, {FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_UTF8 | SQLITE_FUNC_WINDOW | 0), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: 0}, - {FnArg: int8(3), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_UTF8 | SQLITE_FUNC_WINDOW | 0), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: 0}} /* sqlite3.c:158795:18 */ + {FnArg: int8(3), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_UTF8 | SQLITE_FUNC_WINDOW | 0), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: 0}} /* sqlite3.c:158852:18 */ -func windowFind(tls *libc.TLS, pParse uintptr, pList uintptr, zName uintptr) uintptr { /* sqlite3.c:158815:15: */ +func windowFind(tls *libc.TLS, pParse uintptr, pList uintptr, zName uintptr) uintptr { /* sqlite3.c:158872:15: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -139299,7 +139330,7 @@ func windowFind(tls *libc.TLS, pParse uintptr, pList uintptr, zName uintptr) uin // * If the function is a built-in window function that requires the // window to be coerced (see "BUILT-IN WINDOW FUNCTIONS" at the top // of this file), pWin is updated here. -func Xsqlite3WindowUpdate(tls *libc.TLS, pParse uintptr, pList uintptr, pWin uintptr, pFunc uintptr) { /* sqlite3.c:158843:21: */ +func Xsqlite3WindowUpdate(tls *libc.TLS, pParse uintptr, pList uintptr, pWin uintptr, pFunc uintptr) { /* sqlite3.c:158900:21: */ bp := tls.Alloc(128) defer tls.Free(128) @@ -139366,16 +139397,16 @@ type WindowUpdate = struct { FeFrmType int32 FeStart int32 FeEnd int32 -} /* sqlite3.c:158878:7 */ +} /* sqlite3.c:158935:7 */ // Context object passed through sqlite3WalkExprList() to // selectWindowRewriteExprCb() by selectWindowRewriteEList(). -type WindowRewrite = WindowRewrite1 /* sqlite3.c:158918:30 */ +type WindowRewrite = WindowRewrite1 /* sqlite3.c:158975:30 */ // Callback function used by selectWindowRewriteEList(). If necessary, // this function appends to the output expression-list and updates // expression (*ppExpr) in place. -func selectWindowRewriteExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:158932:12: */ +func selectWindowRewriteExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:158989:12: */ var p uintptr = *(*uintptr)(unsafe.Pointer(pWalker + 24)) var pParse uintptr = (*Walker)(unsafe.Pointer(pWalker)).FpParse @@ -139475,7 +139506,7 @@ func selectWindowRewriteExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) in return WRC_Continue } -func selectWindowRewriteSelectCb(tls *libc.TLS, pWalker uintptr, pSelect uintptr) int32 { /* sqlite3.c:159014:12: */ +func selectWindowRewriteSelectCb(tls *libc.TLS, pWalker uintptr, pSelect uintptr) int32 { /* sqlite3.c:159071:12: */ var p uintptr = *(*uintptr)(unsafe.Pointer(pWalker + 24)) var pSave uintptr = (*WindowRewrite1)(unsafe.Pointer(p)).FpSubSelect if pSave == pSelect { @@ -139499,7 +139530,7 @@ func selectWindowRewriteSelectCb(tls *libc.TLS, pWalker uintptr, pSelect uintptr // with a TK_COLUMN that reads the (N-1)th element of table // pWin->iEphCsr, where N is the number of elements in (*ppSub) after // appending the new one. -func selectWindowRewriteEList(tls *libc.TLS, pParse uintptr, pWin uintptr, pSrc uintptr, pEList uintptr, pTab uintptr, ppSub uintptr) { /* sqlite3.c:159041:13: */ +func selectWindowRewriteEList(tls *libc.TLS, pParse uintptr, pWin uintptr, pSrc uintptr, pEList uintptr, pTab uintptr, ppSub uintptr) { /* sqlite3.c:159098:13: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -139531,7 +139562,7 @@ func selectWindowRewriteEList(tls *libc.TLS, pParse uintptr, pWin uintptr, pSrc // Append a copy of each expression in expression-list pAppend to // expression list pList. Return a pointer to the result list. -func exprListAppendList(tls *libc.TLS, pParse uintptr, pList uintptr, pAppend uintptr, bIntToNull int32) uintptr { /* sqlite3.c:159075:17: */ +func exprListAppendList(tls *libc.TLS, pParse uintptr, pList uintptr, pAppend uintptr, bIntToNull int32) uintptr { /* sqlite3.c:159132:17: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -139577,7 +139608,7 @@ func exprListAppendList(tls *libc.TLS, pParse uintptr, pList uintptr, pAppend ui // due to the extra subquery layer that was added. // // See also the incrAggDepth() routine in resolve.c -func sqlite3WindowExtraAggFuncDepth(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:159117:12: */ +func sqlite3WindowExtraAggFuncDepth(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:159174:12: */ if int32((*Expr)(unsafe.Pointer(pExpr)).Fop) == TK_AGG_FUNCTION && int32((*Expr)(unsafe.Pointer(pExpr)).Fop2) >= (*Walker)(unsafe.Pointer(pWalker)).FwalkerDepth { (*Expr)(unsafe.Pointer(pExpr)).Fop2++ @@ -139585,7 +139616,7 @@ func sqlite3WindowExtraAggFuncDepth(tls *libc.TLS, pWalker uintptr, pExpr uintpt return WRC_Continue } -func disallowAggregatesInOrderByCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:159126:12: */ +func disallowAggregatesInOrderByCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:159183:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -139602,7 +139633,7 @@ func disallowAggregatesInOrderByCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr // rewrites the SELECT statement so that window function xStep functions // are invoked in the correct order as described under "SELECT REWRITING" // at the top of this file. -func Xsqlite3WindowRewrite(tls *libc.TLS, pParse uintptr, p uintptr) int32 { /* sqlite3.c:159142:20: */ +func Xsqlite3WindowRewrite(tls *libc.TLS, pParse uintptr, p uintptr) int32 { /* sqlite3.c:159199:20: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -139786,7 +139817,7 @@ func Xsqlite3WindowRewrite(tls *libc.TLS, pParse uintptr, p uintptr) int32 { /* // Unlink the Window object from the Select to which it is attached, // if it is attached. -func Xsqlite3WindowUnlinkFromSelect(tls *libc.TLS, p uintptr) { /* sqlite3.c:159306:21: */ +func Xsqlite3WindowUnlinkFromSelect(tls *libc.TLS, p uintptr) { /* sqlite3.c:159363:21: */ if (*Window)(unsafe.Pointer(p)).FppThis != 0 { *(*uintptr)(unsafe.Pointer((*Window)(unsafe.Pointer(p)).FppThis)) = (*Window)(unsafe.Pointer(p)).FpNextWin if (*Window)(unsafe.Pointer(p)).FpNextWin != 0 { @@ -139797,7 +139828,7 @@ func Xsqlite3WindowUnlinkFromSelect(tls *libc.TLS, p uintptr) { /* sqlite3.c:159 } // Free the Window object passed as the second argument. -func Xsqlite3WindowDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:159317:21: */ +func Xsqlite3WindowDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:159374:21: */ if p != 0 { Xsqlite3WindowUnlinkFromSelect(tls, p) Xsqlite3ExprDelete(tls, db, (*Window)(unsafe.Pointer(p)).FpFilter) @@ -139812,7 +139843,7 @@ func Xsqlite3WindowDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:1 } // Free the linked list of Window objects starting at the second argument. -func Xsqlite3WindowListDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:159334:21: */ +func Xsqlite3WindowListDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:159391:21: */ for p != 0 { var pNext uintptr = (*Window)(unsafe.Pointer(p)).FpNextWin Xsqlite3WindowDelete(tls, db, p) @@ -139825,7 +139856,7 @@ func Xsqlite3WindowListDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3 // constant, change it to NULL. The fact that it is then a non-negative // integer will be caught later. But it is important not to leave // variable values in the expression tree. -func sqlite3WindowOffsetExpr(tls *libc.TLS, pParse uintptr, pExpr uintptr) uintptr { /* sqlite3.c:159349:13: */ +func sqlite3WindowOffsetExpr(tls *libc.TLS, pParse uintptr, pExpr uintptr) uintptr { /* sqlite3.c:159406:13: */ if 0 == Xsqlite3ExprIsConstant(tls, pExpr) { if int32((*Parse)(unsafe.Pointer(pParse)).FeParseMode) >= PARSE_MODE_RENAME { Xsqlite3RenameExprUnmap(tls, pParse, pExpr) @@ -139837,7 +139868,7 @@ func sqlite3WindowOffsetExpr(tls *libc.TLS, pParse uintptr, pExpr uintptr) uintp } // Allocate and return a new Window object describing a Window Definition. -func Xsqlite3WindowAlloc(tls *libc.TLS, pParse uintptr, eType int32, eStart int32, pStart uintptr, eEnd int32, pEnd uintptr, eExclude U8) uintptr { /* sqlite3.c:159361:23: */ +func Xsqlite3WindowAlloc(tls *libc.TLS, pParse uintptr, eType int32, eStart int32, pStart uintptr, eEnd int32, pEnd uintptr, eExclude U8) uintptr { /* sqlite3.c:159418:23: */ var pWin uintptr var bImplicitFrame int32 pWin = uintptr(0) @@ -139906,7 +139937,7 @@ windowAllocErr: // Attach PARTITION and ORDER BY clauses pPartition and pOrderBy to window // pWin. Also, if parameter pBase is not NULL, set pWin->zBase to the // equivalent nul-terminated string. -func Xsqlite3WindowAssemble(tls *libc.TLS, pParse uintptr, pWin uintptr, pPartition uintptr, pOrderBy uintptr, pBase uintptr) uintptr { /* sqlite3.c:159433:23: */ +func Xsqlite3WindowAssemble(tls *libc.TLS, pParse uintptr, pWin uintptr, pPartition uintptr, pOrderBy uintptr, pBase uintptr) uintptr { /* sqlite3.c:159490:23: */ if pWin != 0 { (*Window)(unsafe.Pointer(pWin)).FpPartition = pPartition (*Window)(unsafe.Pointer(pWin)).FpOrderBy = pOrderBy @@ -139925,7 +139956,7 @@ func Xsqlite3WindowAssemble(tls *libc.TLS, pParse uintptr, pWin uintptr, pPartit // stored in the linked list starting at pWin->pNextWin. This function // either updates *pWin according to the base specification, or else // leaves an error in pParse. -func Xsqlite3WindowChain(tls *libc.TLS, pParse uintptr, pWin uintptr, pList uintptr) { /* sqlite3.c:159460:21: */ +func Xsqlite3WindowChain(tls *libc.TLS, pParse uintptr, pWin uintptr, pList uintptr) { /* sqlite3.c:159517:21: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -139959,7 +139990,7 @@ func Xsqlite3WindowChain(tls *libc.TLS, pParse uintptr, pWin uintptr, pList uint } // Attach window object pWin to expression p. -func Xsqlite3WindowAttach(tls *libc.TLS, pParse uintptr, p uintptr, pWin uintptr) { /* sqlite3.c:159494:21: */ +func Xsqlite3WindowAttach(tls *libc.TLS, pParse uintptr, p uintptr, pWin uintptr) { /* sqlite3.c:159551:21: */ if p != 0 { *(*uintptr)(unsafe.Pointer(p + 44)) = pWin @@ -139978,7 +140009,7 @@ func Xsqlite3WindowAttach(tls *libc.TLS, pParse uintptr, p uintptr, pWin uintptr // to be processed as part of SELECT statement pSel). The window is linked // in if either (a) there are no other windows already linked to this // SELECT, or (b) the windows already linked use a compatible window frame. -func Xsqlite3WindowLink(tls *libc.TLS, pSel uintptr, pWin uintptr) { /* sqlite3.c:159517:21: */ +func Xsqlite3WindowLink(tls *libc.TLS, pSel uintptr, pWin uintptr) { /* sqlite3.c:159574:21: */ if pSel != 0 { if uintptr(0) == (*Select)(unsafe.Pointer(pSel)).FpWin || 0 == Xsqlite3WindowCompare(tls, uintptr(0), (*Select)(unsafe.Pointer(pSel)).FpWin, pWin, 0) { (*Window)(unsafe.Pointer(pWin)).FpNextWin = (*Select)(unsafe.Pointer(pSel)).FpWin @@ -139998,7 +140029,7 @@ func Xsqlite3WindowLink(tls *libc.TLS, pSel uintptr, pWin uintptr) { /* sqlite3. // Return 0 if the two window objects are identical, 1 if they are // different, or 2 if it cannot be determined if the objects are identical // or not. Identical window objects can be processed in a single scan. -func Xsqlite3WindowCompare(tls *libc.TLS, pParse uintptr, p1 uintptr, p2 uintptr, bFilter int32) int32 { /* sqlite3.c:159539:20: */ +func Xsqlite3WindowCompare(tls *libc.TLS, pParse uintptr, p1 uintptr, p2 uintptr, bFilter int32) int32 { /* sqlite3.c:159596:20: */ var res int32 if p1 == uintptr(0) || p2 == uintptr(0) { return 1 @@ -140038,7 +140069,7 @@ func Xsqlite3WindowCompare(tls *libc.TLS, pParse uintptr, p1 uintptr, p2 uintptr // This is called by code in select.c before it calls sqlite3WhereBegin() // to begin iterating through the sub-query results. It is used to allocate // and initialize registers and cursors used by sqlite3WindowCodeStep(). -func Xsqlite3WindowCodeInit(tls *libc.TLS, pParse uintptr, pSelect uintptr) { /* sqlite3.c:159573:21: */ +func Xsqlite3WindowCodeInit(tls *libc.TLS, pParse uintptr, pSelect uintptr) { /* sqlite3.c:159630:21: */ var nEphExpr int32 = (*ExprList)(unsafe.Pointer((*Select)(unsafe.Pointer((*SrcItem)(unsafe.Pointer((*Select)(unsafe.Pointer(pSelect)).FpSrc + 8)).FpSelect)).FpEList)).FnExpr var pMWin uintptr = (*Select)(unsafe.Pointer(pSelect)).FpWin var pWin uintptr @@ -140114,7 +140145,7 @@ func Xsqlite3WindowCodeInit(tls *libc.TLS, pParse uintptr, pSelect uintptr) { /* // evaluated and the result left in register reg. This function generates VM // code to check that the value is a non-negative integer and throws an // exception if it is not. -func windowCheckValue(tls *libc.TLS, pParse uintptr, reg int32, eCond int32) { /* sqlite3.c:159660:13: */ +func windowCheckValue(tls *libc.TLS, pParse uintptr, reg int32, eCond int32) { /* sqlite3.c:159717:13: */ var v uintptr = Xsqlite3GetVdbe(tls, pParse) var regZero int32 = Xsqlite3GetTempReg(tls, pParse) @@ -140148,12 +140179,12 @@ var azErr = [5]uintptr{ ts + 21892, ts + 22539, ts + 22591, -} /* sqlite3.c:159661:21 */ -var aOp1 = [5]int32{OP_Ge, OP_Ge, OP_Gt, OP_Ge, OP_Ge} /* sqlite3.c:159668:14 */ +} /* sqlite3.c:159718:21 */ +var aOp1 = [5]int32{OP_Ge, OP_Ge, OP_Gt, OP_Ge, OP_Ge} /* sqlite3.c:159725:14 */ // Return the number of arguments passed to the window-function associated // with the object passed as the only argument to this function. -func windowArgCount(tls *libc.TLS, pWin uintptr) int32 { /* sqlite3.c:159707:12: */ +func windowArgCount(tls *libc.TLS, pWin uintptr) int32 { /* sqlite3.c:159764:12: */ var pList uintptr pList = *(*uintptr)(unsafe.Pointer((*Window)(unsafe.Pointer(pWin)).FpOwner + 20)) @@ -140177,19 +140208,19 @@ type WindowCodeArg1 = struct { Fstart WindowCsrAndReg Fcurrent WindowCsrAndReg Fend WindowCsrAndReg -} /* sqlite3.c:159714:9 */ +} /* sqlite3.c:159771:9 */ -type WindowCodeArg = WindowCodeArg1 /* sqlite3.c:159714:30 */ +type WindowCodeArg = WindowCodeArg1 /* sqlite3.c:159771:30 */ type WindowCsrAndReg1 = struct { Fcsr int32 Freg int32 -} /* sqlite3.c:159714:9 */ +} /* sqlite3.c:159771:9 */ -type WindowCsrAndReg = WindowCsrAndReg1 /* sqlite3.c:159715:32 */ +type WindowCsrAndReg = WindowCsrAndReg1 /* sqlite3.c:159772:32 */ // Generate VM code to read the window frames peer values from cursor csr into // an array of registers starting at reg. -func windowReadPeerValues(tls *libc.TLS, p uintptr, csr int32, reg int32) { /* sqlite3.c:159799:13: */ +func windowReadPeerValues(tls *libc.TLS, p uintptr, csr int32, reg int32) { /* sqlite3.c:159856:13: */ var pMWin uintptr = (*WindowCodeArg)(unsafe.Pointer(p)).FpMWin var pOrderBy uintptr = (*Window)(unsafe.Pointer(pMWin)).FpOrderBy if pOrderBy != 0 { @@ -140225,7 +140256,7 @@ func windowReadPeerValues(tls *libc.TLS, p uintptr, csr int32, reg int32) { /* s // // If argument regPartSize is non-zero, then it is a register containing the // number of rows in the current partition. -func windowAggStep(tls *libc.TLS, p uintptr, pMWin uintptr, csr int32, bInverse int32, reg int32) { /* sqlite3.c:159836:13: */ +func windowAggStep(tls *libc.TLS, p uintptr, pMWin uintptr, csr int32, bInverse int32, reg int32) { /* sqlite3.c:159893:13: */ var pParse uintptr = (*WindowCodeArg)(unsafe.Pointer(p)).FpParse var v uintptr = Xsqlite3GetVdbe(tls, pParse) var pWin uintptr @@ -140332,7 +140363,7 @@ func windowAggStep(tls *libc.TLS, p uintptr, pMWin uintptr, csr int32, bInverse // (bFin==1) for each window function in the linked list starting at // pMWin. Or, for built-in window-functions that do not use the standard // API, generate the equivalent VM code. -func windowAggFinal(tls *libc.TLS, p uintptr, bFin int32) { /* sqlite3.c:159953:13: */ +func windowAggFinal(tls *libc.TLS, p uintptr, bFin int32) { /* sqlite3.c:160010:13: */ var pParse uintptr = (*WindowCodeArg)(unsafe.Pointer(p)).FpParse var pMWin uintptr = (*WindowCodeArg)(unsafe.Pointer(p)).FpMWin var v uintptr = Xsqlite3GetVdbe(tls, pParse) @@ -140368,7 +140399,7 @@ func windowAggFinal(tls *libc.TLS, p uintptr, bFin int32) { /* sqlite3.c:159953: // p->pMWin list by doing a full scan of the current window frame. Store the // results in the Window.regResult registers, ready to return the upper // layer. -func windowFullScan(tls *libc.TLS, p uintptr) { /* sqlite3.c:159992:13: */ +func windowFullScan(tls *libc.TLS, p uintptr) { /* sqlite3.c:160049:13: */ var pWin uintptr var pParse uintptr = (*WindowCodeArg)(unsafe.Pointer(p)).FpParse var pMWin uintptr = (*WindowCodeArg)(unsafe.Pointer(p)).FpMWin @@ -140475,7 +140506,7 @@ func windowFullScan(tls *libc.TLS, p uintptr) { /* sqlite3.c:159992:13: */ // first_value() // lag() // lead() -func windowReturnOneRow(tls *libc.TLS, p uintptr) { /* sqlite3.c:160098:13: */ +func windowReturnOneRow(tls *libc.TLS, p uintptr) { /* sqlite3.c:160155:13: */ var pMWin uintptr = (*WindowCodeArg)(unsafe.Pointer(p)).FpMWin var v uintptr = (*WindowCodeArg)(unsafe.Pointer(p)).FpVdbe @@ -140558,7 +140589,7 @@ func windowReturnOneRow(tls *libc.TLS, p uintptr) { /* sqlite3.c:160098:13: */ // in the linked list passed as the second argument to NULL. And perform // any equivalent initialization required by any built-in window functions // in the list. -func windowInitAccum(tls *libc.TLS, pParse uintptr, pMWin uintptr) int32 { /* sqlite3.c:160175:12: */ +func windowInitAccum(tls *libc.TLS, pParse uintptr, pMWin uintptr) int32 { /* sqlite3.c:160232:12: */ var v uintptr = Xsqlite3GetVdbe(tls, pParse) var regArg int32 var nArg int32 = 0 @@ -140593,7 +140624,7 @@ func windowInitAccum(tls *libc.TLS, pParse uintptr, pMWin uintptr) int32 { /* sq // Return true if the current frame should be cached in the ephemeral table, // even if there are no xInverse() calls required. -func windowCacheFrame(tls *libc.TLS, pMWin uintptr) int32 { /* sqlite3.c:160207:12: */ +func windowCacheFrame(tls *libc.TLS, pMWin uintptr) int32 { /* sqlite3.c:160264:12: */ var pWin uintptr if (*Window)(unsafe.Pointer(pMWin)).FregStartRowid != 0 { return 1 @@ -140618,7 +140649,7 @@ func windowCacheFrame(tls *libc.TLS, pMWin uintptr) int32 { /* sqlite3.c:160207: // If the two arrays are not equal, the contents of regNew is copied to // regOld and control falls through. Otherwise, if the contents of the arrays // are equal, an OP_Goto is executed. The address of the OP_Goto is returned. -func windowIfNewPeer(tls *libc.TLS, pParse uintptr, pOrderBy uintptr, regNew int32, regOld int32, addr int32) { /* sqlite3.c:160233:13: */ +func windowIfNewPeer(tls *libc.TLS, pParse uintptr, pOrderBy uintptr, regNew int32, regOld int32, addr int32) { /* sqlite3.c:160290:13: */ var v uintptr = Xsqlite3GetVdbe(tls, pParse) if pOrderBy != 0 { var nVal int32 = (*ExprList)(unsafe.Pointer(pOrderBy)).FnExpr @@ -140655,7 +140686,7 @@ func windowIfNewPeer(tls *libc.TLS, pParse uintptr, pOrderBy uintptr, regNew int // A special type of arithmetic is used such that if csr1.peerVal is not // a numeric type (real or integer), then the result of the addition // or subtraction is a a copy of csr1.peerVal. -func windowCodeRangeTest(tls *libc.TLS, p uintptr, op int32, csr1 int32, regVal int32, csr2 int32, lbl int32) { /* sqlite3.c:160279:13: */ +func windowCodeRangeTest(tls *libc.TLS, p uintptr, op int32, csr1 int32, regVal int32, csr2 int32, lbl int32) { /* sqlite3.c:160336:13: */ var pParse uintptr = (*WindowCodeArg)(unsafe.Pointer(p)).FpParse var v uintptr = Xsqlite3GetVdbe(tls, pParse) var pOrderBy uintptr = (*Window)(unsafe.Pointer((*WindowCodeArg)(unsafe.Pointer(p)).FpMWin)).FpOrderBy // ORDER BY clause for window @@ -140778,7 +140809,7 @@ func windowCodeRangeTest(tls *libc.TLS, p uintptr, op int32, csr1 int32, regVal // generates VM code for a single RETURN_ROW, AGGSTEP or AGGINVERSE // operation. Refer to the header comment for sqlite3WindowCodeStep() for // details. -func windowCodeOp(tls *libc.TLS, p uintptr, op int32, regCountdown int32, jumpOnEof int32) int32 { /* sqlite3.c:160412:12: */ +func windowCodeOp(tls *libc.TLS, p uintptr, op int32, regCountdown int32, jumpOnEof int32) int32 { /* sqlite3.c:160469:12: */ var csr int32 var reg int32 var pParse uintptr = (*WindowCodeArg)(unsafe.Pointer(p)).FpParse @@ -140926,7 +140957,7 @@ func windowCodeOp(tls *libc.TLS, p uintptr, op int32, regCountdown int32, jumpOn // Allocate and return a duplicate of the Window object indicated by the // third argument. Set the Window.pOwner field of the new object to // pOwner. -func Xsqlite3WindowDup(tls *libc.TLS, db uintptr, pOwner uintptr, p uintptr) uintptr { /* sqlite3.c:160561:23: */ +func Xsqlite3WindowDup(tls *libc.TLS, db uintptr, pOwner uintptr, p uintptr) uintptr { /* sqlite3.c:160618:23: */ var pNew uintptr = uintptr(0) if p != 0 { pNew = Xsqlite3DbMallocZero(tls, db, uint64(unsafe.Sizeof(Window{}))) @@ -140957,7 +140988,7 @@ func Xsqlite3WindowDup(tls *libc.TLS, db uintptr, pOwner uintptr, p uintptr) uin // Return a copy of the linked list of Window objects passed as the // second argument. -func Xsqlite3WindowListDup(tls *libc.TLS, db uintptr, p uintptr) uintptr { /* sqlite3.c:160594:23: */ +func Xsqlite3WindowListDup(tls *libc.TLS, db uintptr, p uintptr) uintptr { /* sqlite3.c:160651:23: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -140982,7 +141013,7 @@ func Xsqlite3WindowListDup(tls *libc.TLS, db uintptr, p uintptr) uintptr { /* sq // // If an OOM error occurs, this function sets the Parse.db.mallocFailed // flag and returns zero. -func windowExprGtZero(tls *libc.TLS, pParse uintptr, pExpr uintptr) int32 { /* sqlite3.c:160616:12: */ +func windowExprGtZero(tls *libc.TLS, pParse uintptr, pExpr uintptr) int32 { /* sqlite3.c:160673:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -141330,7 +141361,7 @@ func windowExprGtZero(tls *libc.TLS, pParse uintptr, pExpr uintptr) int32 { /* s // // The text above leaves out many details. Refer to the code and comments // below for a more complete picture. -func Xsqlite3WindowCodeStep(tls *libc.TLS, pParse uintptr, p uintptr, pWInfo uintptr, regGosub int32, addrGosub int32) { /* sqlite3.c:160963:21: */ +func Xsqlite3WindowCodeStep(tls *libc.TLS, pParse uintptr, p uintptr, pWInfo uintptr, regGosub int32, addrGosub int32) { /* sqlite3.c:161020:21: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -141726,16 +141757,16 @@ func Xsqlite3WindowCodeStep(tls *libc.TLS, pParse uintptr, p uintptr, pWInfo uin type TrigEvent = struct { Fa int32 Fb uintptr -} /* sqlite3.c:161363:1 */ +} /* sqlite3.c:161420:1 */ type FrameBound = struct { FeType int32 FpExpr uintptr -} /* sqlite3.c:161365:1 */ +} /* sqlite3.c:161422:1 */ // Disable lookaside memory allocation for objects that might be // shared across database connections. -func disableLookaside(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:161371:13: */ +func disableLookaside(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:161428:13: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb (*Parse)(unsafe.Pointer(pParse)).FdisableLookaside++ (*Sqlite3)(unsafe.Pointer(db)).Flookaside.FbDisable++ @@ -141745,7 +141776,7 @@ func disableLookaside(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:161371:13: * // For a compound SELECT statement, make sure p->pPrior->pNext==p for // all elements in the list. And make sure list length does not exceed // SQLITE_LIMIT_COMPOUND_SELECT. -func parserDoubleLinkSelect(tls *libc.TLS, pParse uintptr, p uintptr) { /* sqlite3.c:161404:15: */ +func parserDoubleLinkSelect(tls *libc.TLS, pParse uintptr, p uintptr) { /* sqlite3.c:161461:15: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -141784,7 +141815,7 @@ func parserDoubleLinkSelect(tls *libc.TLS, pParse uintptr, p uintptr) { /* sqlit // Attach a With object describing the WITH clause to a Select // object describing the query for which the WITH clause is a prefix. -func attachWithToSelect(tls *libc.TLS, pParse uintptr, pSelect uintptr, pWith uintptr) uintptr { /* sqlite3.c:161435:17: */ +func attachWithToSelect(tls *libc.TLS, pParse uintptr, pSelect uintptr, pWith uintptr) uintptr { /* sqlite3.c:161492:17: */ if pSelect != 0 { (*Select)(unsafe.Pointer(pSelect)).FpWith = pWith parserDoubleLinkSelect(tls, pParse, pSelect) @@ -141796,7 +141827,7 @@ func attachWithToSelect(tls *libc.TLS, pParse uintptr, pSelect uintptr, pWith ui } // Construct a new Expr object from a single token -func tokenExpr(tls *libc.TLS, pParse uintptr, op int32, t Token) uintptr { /* sqlite3.c:161447:15: */ +func tokenExpr(tls *libc.TLS, pParse uintptr, op int32, t Token) uintptr { /* sqlite3.c:161504:15: */ bp := tls.Alloc(8) defer tls.Free(8) *(*Token)(unsafe.Pointer(bp)) = t @@ -141837,7 +141868,7 @@ func tokenExpr(tls *libc.TLS, pParse uintptr, op int32, t Token) uintptr { /* sq // A routine to convert a binary TK_IS or TK_ISNOT expression into a // unary TK_ISNULL or TK_NOTNULL expression. -func binaryToUnaryIfNull(tls *libc.TLS, pParse uintptr, pY uintptr, pA uintptr, op int32) { /* sqlite3.c:161483:15: */ +func binaryToUnaryIfNull(tls *libc.TLS, pParse uintptr, pY uintptr, pA uintptr, op int32) { /* sqlite3.c:161540:15: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb if pA != 0 && pY != 0 && int32((*Expr)(unsafe.Pointer(pY)).Fop) == TK_NULL && !(int32((*Parse)(unsafe.Pointer(pParse)).FeParseMode) >= PARSE_MODE_RENAME) { (*Expr)(unsafe.Pointer(pA)).Fop = U8(op) @@ -141851,7 +141882,7 @@ func binaryToUnaryIfNull(tls *libc.TLS, pParse uintptr, pY uintptr, pA uintptr, // list of identifiers. Report an error if the ID list contains // a COLLATE clause or an ASC or DESC keyword, except ignore the // error while parsing a legacy schema. -func parserAddExprIdListTerm(tls *libc.TLS, pParse uintptr, pPrior uintptr, pIdToken uintptr, hasCollate int32, sortOrder int32) uintptr { /* sqlite3.c:161497:19: */ +func parserAddExprIdListTerm(tls *libc.TLS, pParse uintptr, pPrior uintptr, pIdToken uintptr, hasCollate int32, sortOrder int32) uintptr { /* sqlite3.c:161554:19: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -141925,7 +141956,7 @@ func parserAddExprIdListTerm(tls *libc.TLS, pParse uintptr, pPrior uintptr, pIdT type YYMINORTYPE = struct { Fyyinit int32 F__ccgo_pad1 [4]byte -} /* sqlite3.c:161789:3 */ +} /* sqlite3.c:161846:3 */ //************ End control #defines ****************************************** // Define the yytestcase() macro to be a no-op if is not already defined @@ -142194,7 +142225,7 @@ var yy_action = [2070]uint16{ /* 2040 */ uint16(29), uint16(921), uint16(390), uint16(1176), uint16(172), uint16(139), uint16(1175), uint16(1235), uint16(261), uint16(1235), /* 2050 */ uint16(1235), uint16(1235), uint16(1235), uint16(1235), uint16(1235), uint16(1235), uint16(1235), uint16(262), uint16(1235), uint16(1235), /* 2060 */ uint16(1235), uint16(1235), uint16(1235), uint16(1235), uint16(1235), uint16(1235), uint16(1235), uint16(1235), uint16(1593), uint16(1592), -} /* sqlite3.c:161883:27 */ +} /* sqlite3.c:161940:27 */ var yy_lookahead = [2255]uint16{ /* 0 */ uint16(193), uint16(223), uint16(193), uint16(225), uint16(193), uint16(193), uint16(193), uint16(274), uint16(275), uint16(276), /* 10 */ uint16(193), uint16(233), uint16(219), uint16(193), uint16(274), uint16(275), uint16(276), uint16(206), uint16(206), uint16(19), @@ -142422,7 +142453,7 @@ var yy_lookahead = [2255]uint16{ /* 2230 */ uint16(319), uint16(319), uint16(319), uint16(319), uint16(319), uint16(319), uint16(319), uint16(319), uint16(319), uint16(319), /* 2240 */ uint16(319), uint16(319), uint16(319), uint16(319), uint16(319), uint16(319), uint16(319), uint16(319), uint16(319), uint16(319), /* 2250 */ uint16(319), uint16(319), uint16(319), uint16(319), uint16(319), -} /* sqlite3.c:162092:25 */ +} /* sqlite3.c:162149:25 */ var yy_shift_ofst = [574]uint16{ /* 0 */ uint16(1648), uint16(1477), uint16(1272), uint16(322), uint16(322), uint16(262), uint16(1319), uint16(1478), uint16(1491), uint16(1662), /* 10 */ uint16(1662), uint16(1662), uint16(317), uint16(0), uint16(0), uint16(214), uint16(1093), uint16(1662), uint16(1662), uint16(1662), @@ -142482,7 +142513,7 @@ var yy_shift_ofst = [574]uint16{ /* 550 */ uint16(2005), uint16(2006), uint16(2007), uint16(2008), uint16(2009), uint16(2001), uint16(2020), uint16(2012), uint16(2013), uint16(2014), /* 560 */ uint16(2015), uint16(2017), uint16(2018), uint16(2011), uint16(1906), uint16(1907), uint16(1916), uint16(1927), uint16(1928), uint16(2019), /* 570 */ uint16(2022), uint16(2027), uint16(2042), uint16(2045), -} /* sqlite3.c:162323:33 */ +} /* sqlite3.c:162380:33 */ var yy_reduce_ofst = [409]int16{ /* 0 */ int16(-125), int16(733), int16(789), int16(241), int16(293), int16(-123), int16(-193), int16(-191), int16(-183), int16(-187), /* 10 */ int16(-180), int16(83), int16(133), int16(-207), int16(-198), int16(-267), int16(-175), int16(-6), int16(166), int16(313), @@ -142525,7 +142556,7 @@ var yy_reduce_ofst = [409]int16{ /* 380 */ int16(1641), int16(1602), int16(1676), int16(1642), int16(1646), int16(1644), int16(1650), int16(1654), int16(1683), int16(1694), /* 390 */ int16(1707), int16(1711), int16(1712), int16(1714), int16(1643), int16(1647), int16(1652), int16(1698), int16(1695), int16(1696), /* 400 */ int16(1697), int16(1699), int16(1700), int16(1689), int16(1691), int16(1701), int16(1702), int16(1704), int16(1715), -} /* sqlite3.c:162386:20 */ +} /* sqlite3.c:162443:20 */ var yy_default = [574]uint16{ /* 0 */ uint16(1637), uint16(1637), uint16(1637), uint16(1466), uint16(1233), uint16(1344), uint16(1233), uint16(1233), uint16(1233), uint16(1466), /* 10 */ uint16(1466), uint16(1466), uint16(1233), uint16(1374), uint16(1374), uint16(1519), uint16(1266), uint16(1233), uint16(1233), uint16(1233), @@ -142585,7 +142616,7 @@ var yy_default = [574]uint16{ /* 550 */ uint16(1233), uint16(1233), uint16(1233), uint16(1233), uint16(1233), uint16(1233), uint16(1233), uint16(1233), uint16(1233), uint16(1233), /* 560 */ uint16(1233), uint16(1233), uint16(1233), uint16(1610), uint16(1325), uint16(1416), uint16(1233), uint16(1415), uint16(1419), uint16(1255), /* 570 */ uint16(1233), uint16(1245), uint16(1233), uint16(1233), -} /* sqlite3.c:162429:27 */ +} /* sqlite3.c:162486:27 */ //********* End of lemon-generated parsing tables **************************** // The next table maps tokens (terminal symbols) into fallback tokens. @@ -142787,7 +142818,7 @@ var yyFallback = [185]uint16{ uint16(0), // ERROR => nothing uint16(0), // SPACE => nothing uint16(0), // ILLEGAL => nothing -} /* sqlite3.c:162506:25 */ +} /* sqlite3.c:162563:25 */ // The following structure represents a single element of the // parser's stack. Information stored includes: @@ -142808,9 +142839,9 @@ type yyStackEntry = struct { Fstateno uint16 Fmajor uint16 Fminor YYMINORTYPE -} /* sqlite3.c:162711:1 */ +} /* sqlite3.c:162768:1 */ -type YyStackEntry = yyStackEntry /* sqlite3.c:162718:29 */ +type YyStackEntry = yyStackEntry /* sqlite3.c:162775:29 */ // The state of the parser is completely contained in an instance of // the following structure @@ -142819,9 +142850,9 @@ type yyParser = struct { FpParse uintptr Fyystack [100]YyStackEntry FyystackEnd uintptr -} /* sqlite3.c:162722:1 */ +} /* sqlite3.c:162779:1 */ -type YyParser = yyParser /* sqlite3.c:162741:25 */ +type YyParser = yyParser /* sqlite3.c:162798:25 */ // #include @@ -142831,7 +142862,7 @@ type YyParser = yyParser /* sqlite3.c:162741:25 */ // grammar. // Initialize a new parser that has already been allocated. -func Xsqlite3ParserInit(tls *libc.TLS, yypRawParser uintptr, pParse uintptr) { /* sqlite3.c:163556:21: */ +func Xsqlite3ParserInit(tls *libc.TLS, yypRawParser uintptr, pParse uintptr) { /* sqlite3.c:163613:21: */ var yypParser uintptr = yypRawParser (*YyParser)(unsafe.Pointer(yypParser)).FpParse = pParse (*YyParser)(unsafe.Pointer(yypParser)).Fyytos = yypParser + 8 /* &.yystack */ @@ -142846,7 +142877,7 @@ func Xsqlite3ParserInit(tls *libc.TLS, yypRawParser uintptr, pParse uintptr) { / // a pointer to the value to be deleted. The code used to do the // deletions is derived from the %destructor and/or %token_destructor // directives of the input grammar. -func yy_destructor(tls *libc.TLS, yypParser uintptr, yymajor uint16, yypminor uintptr) { /* sqlite3.c:163614:13: */ +func yy_destructor(tls *libc.TLS, yypParser uintptr, yymajor uint16, yypminor uintptr) { /* sqlite3.c:163671:13: */ var pParse uintptr = (*YyParser)(unsafe.Pointer(yypParser)).FpParse switch int32(yymajor) { @@ -143005,7 +143036,7 @@ func yy_destructor(tls *libc.TLS, yypParser uintptr, yymajor uint16, yypminor ui // // If there is a destructor routine associated with the token which // is popped from the stack, then call it. -func yy_pop_parser_stack(tls *libc.TLS, pParser uintptr) { /* sqlite3.c:163739:13: */ +func yy_pop_parser_stack(tls *libc.TLS, pParser uintptr) { /* sqlite3.c:163796:13: */ var yytos uintptr yytos = libc.PostDecUintptr(&(*YyParser)(unsafe.Pointer(pParser)).Fyytos, 12) @@ -143013,7 +143044,7 @@ func yy_pop_parser_stack(tls *libc.TLS, pParser uintptr) { /* sqlite3.c:163739:1 } // Clear all secondary memory allocations from the parser -func Xsqlite3ParserFinalize(tls *libc.TLS, p uintptr) { /* sqlite3.c:163757:21: */ +func Xsqlite3ParserFinalize(tls *libc.TLS, p uintptr) { /* sqlite3.c:163814:21: */ var pParser uintptr = p for (*YyParser)(unsafe.Pointer(pParser)).Fyytos > pParser+8 { yy_pop_parser_stack(tls, pParser) @@ -143036,7 +143067,7 @@ func Xsqlite3ParserFinalize(tls *libc.TLS, p uintptr) { /* sqlite3.c:163757:21: // Find the appropriate action for a parser given the terminal // look-ahead token iLookAhead. -func yy_find_shift_action(tls *libc.TLS, iLookAhead uint16, stateno uint16) uint16 { /* sqlite3.c:163837:21: */ +func yy_find_shift_action(tls *libc.TLS, iLookAhead uint16, stateno uint16) uint16 { /* sqlite3.c:163894:21: */ var i int32 if int32(stateno) > YY_MAX_SHIFT { @@ -143076,7 +143107,7 @@ func yy_find_shift_action(tls *libc.TLS, iLookAhead uint16, stateno uint16) uint // Find the appropriate action for a parser given the non-terminal // look-ahead token iLookAhead. -func yy_find_reduce_action(tls *libc.TLS, stateno uint16, iLookAhead uint16) uint16 { /* sqlite3.c:163902:21: */ +func yy_find_reduce_action(tls *libc.TLS, stateno uint16, iLookAhead uint16) uint16 { /* sqlite3.c:163959:21: */ var i int32 i = int32(yy_reduce_ofst[stateno]) @@ -143087,7 +143118,7 @@ func yy_find_reduce_action(tls *libc.TLS, stateno uint16, iLookAhead uint16) uin } // The following routine is called if the stack overflows. -func yyStackOverflow(tls *libc.TLS, yypParser uintptr) { /* sqlite3.c:163931:13: */ +func yyStackOverflow(tls *libc.TLS, yypParser uintptr) { /* sqlite3.c:163988:13: */ var pParse uintptr = (*YyParser)(unsafe.Pointer(yypParser)).FpParse for (*YyParser)(unsafe.Pointer(yypParser)).Fyytos > yypParser+8 { @@ -143106,7 +143137,7 @@ func yyStackOverflow(tls *libc.TLS, yypParser uintptr) { /* sqlite3.c:163931:13: // Print tracing information for a SHIFT action // Perform a shift action. -func yy_shift(tls *libc.TLS, yypParser uintptr, yyNewState uint16, yyMajor uint16, yyMinor Token) { /* sqlite3.c:163974:13: */ +func yy_shift(tls *libc.TLS, yypParser uintptr, yyNewState uint16, yyMajor uint16, yyMinor Token) { /* sqlite3.c:164031:13: */ var yytos uintptr (*YyParser)(unsafe.Pointer(yypParser)).Fyytos += 12 if (*YyParser)(unsafe.Pointer(yypParser)).Fyytos > (*YyParser)(unsafe.Pointer(yypParser)).FyystackEnd { @@ -143529,7 +143560,7 @@ var yyRuleInfoLhs = [402]uint16{ uint16(303), // (399) anylist ::= anylist LP anylist RP uint16(303), // (400) anylist ::= anylist ANY uint16(266), // (401) with ::= -} /* sqlite3.c:164015:25 */ +} /* sqlite3.c:164072:25 */ // For rule J, yyRuleInfoNRhs[J] contains the negative of the number // of symbols on the right-hand side of that rule. @@ -143936,7 +143967,7 @@ var yyRuleInfoNRhs = [402]int8{ int8(-4), // (399) anylist ::= anylist LP anylist RP int8(-2), // (400) anylist ::= anylist ANY int8(0), // (401) with ::= -} /* sqlite3.c:164422:26 */ +} /* sqlite3.c:164479:26 */ // Forward Declaration @@ -143948,7 +143979,7 @@ var yyRuleInfoNRhs = [402]int8{ // if the lookahead token has already been consumed. As this procedure is // only called from one place, optimizing compilers will in-line it, which // means that the extra parameters have no performance impact. -func yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead int32, yyLookaheadToken Token, pParse uintptr) uint16 { /* sqlite3.c:164839:21: */ +func yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead int32, yyLookaheadToken Token, pParse uintptr) uint16 { /* sqlite3.c:164896:21: */ bp := tls.Alloc(100) defer tls.Free(100) @@ -145943,7 +145974,7 @@ func yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead in // The following code executes when the parse fails // The following code executes when a syntax error first occurs. -func yy_syntax_error(tls *libc.TLS, yypParser uintptr, yymajor int32, yyminor Token) { /* sqlite3.c:166395:13: */ +func yy_syntax_error(tls *libc.TLS, yypParser uintptr, yymajor int32, yyminor Token) { /* sqlite3.c:166452:13: */ bp := tls.Alloc(16) defer tls.Free(16) *(*Token)(unsafe.Pointer(bp + 8)) = yyminor @@ -145963,7 +145994,7 @@ func yy_syntax_error(tls *libc.TLS, yypParser uintptr, yymajor int32, yyminor To } // The following is executed when the parser accepts -func yy_accept(tls *libc.TLS, yypParser uintptr) { /* sqlite3.c:166419:13: */ +func yy_accept(tls *libc.TLS, yypParser uintptr) { /* sqlite3.c:166476:13: */ var pParse uintptr = (*YyParser)(unsafe.Pointer(yypParser)).FpParse @@ -145993,7 +146024,7 @@ func yy_accept(tls *libc.TLS, yypParser uintptr) { /* sqlite3.c:166419:13: */ // // Outputs: // None. -func Xsqlite3Parser(tls *libc.TLS, yyp uintptr, yymajor int32, yyminor Token) { /* sqlite3.c:166460:21: */ +func Xsqlite3Parser(tls *libc.TLS, yyp uintptr, yymajor int32, yyminor Token) { /* sqlite3.c:166517:21: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -146047,7 +146078,7 @@ func Xsqlite3Parser(tls *libc.TLS, yyp uintptr, yymajor int32, yyminor Token) { // Return the fallback token corresponding to canonical token iToken, or // 0 if iToken has no fallback. -func Xsqlite3ParserFallback(tls *libc.TLS, iToken int32) int32 { /* sqlite3.c:166677:20: */ +func Xsqlite3ParserFallback(tls *libc.TLS, iToken int32) int32 { /* sqlite3.c:166734:20: */ return int32(yyFallback[iToken]) } @@ -146098,7 +146129,7 @@ var aiClass = [256]uint8{ /* Dx */ uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), /* Ex */ uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(30), /* Fx */ uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), -} /* sqlite3.c:166749:28 */ +} /* sqlite3.c:166806:28 */ // The charMap() macro maps alphabetic characters (only) into their // lower-case ASCII equivalent. On ASCII machines, this is just @@ -146184,7 +146215,7 @@ var zKWText = [666]int8{ int8('W'), int8('S'), int8('U'), int8('N'), int8('B'), int8('O'), int8('U'), int8('N'), int8('D'), int8('E'), int8('D'), int8('U'), int8('N'), int8('I'), int8('O'), int8('N'), int8('U'), int8('S'), int8('I'), int8('N'), int8('G'), int8('V'), int8('A'), int8('C'), int8('U'), int8('U'), int8('M'), int8('V'), int8('I'), int8('E'), int8('W'), int8('I'), int8('N'), int8('D'), int8('O'), int8('W'), int8('B'), int8('Y'), int8('I'), int8('N'), int8('I'), int8('T'), int8('I'), int8('A'), int8('L'), int8('L'), int8('Y'), int8('P'), int8('R'), int8('I'), int8('M'), int8('A'), int8('R'), int8('Y'), -} /* sqlite3.c:166865:19 */ +} /* sqlite3.c:166922:19 */ // aKWHash[i] is the hash value for the i-th keyword var aKWHash = [127]uint8{ uint8(84), uint8(92), uint8(134), uint8(82), uint8(105), uint8(29), uint8(0), uint8(0), uint8(94), uint8(0), uint8(85), uint8(72), uint8(0), @@ -146197,7 +146228,7 @@ var aKWHash = [127]uint8{ uint8(50), uint8(124), uint8(0), uint8(100), uint8(0), uint8(18), uint8(121), uint8(144), uint8(56), uint8(130), uint8(139), uint8(88), uint8(83), uint8(37), uint8(30), uint8(126), uint8(0), uint8(0), uint8(108), uint8(51), uint8(131), uint8(128), uint8(0), uint8(34), uint8(0), uint8(0), uint8(132), uint8(0), uint8(98), uint8(38), uint8(39), uint8(0), uint8(20), uint8(45), uint8(117), uint8(93), -} /* sqlite3.c:166905:28 */ +} /* sqlite3.c:166962:28 */ // aKWNext[] forms the hash collision chain. If aKWHash[i]==0 // then the i-th keyword has no more hash collisions. Otherwise, // the next keyword with the same hash is aKWHash[i]-1. @@ -146214,7 +146245,7 @@ var aKWNext = [147]uint8{ uint8(112), uint8(21), uint8(7), uint8(67), uint8(0), uint8(79), uint8(96), uint8(118), uint8(0), uint8(0), uint8(68), uint8(0), uint8(0), uint8(99), uint8(44), uint8(0), uint8(55), uint8(0), uint8(76), uint8(0), uint8(95), uint8(32), uint8(33), uint8(57), uint8(25), uint8(0), uint8(102), uint8(0), uint8(0), uint8(87), -} /* sqlite3.c:166920:28 */ +} /* sqlite3.c:166977:28 */ // aKWLen[i] is the length (in bytes) of the i-th keyword var aKWLen = [147]uint8{ uint8(7), uint8(7), uint8(5), uint8(4), uint8(6), uint8(4), uint8(5), uint8(3), uint8(6), uint8(7), uint8(3), uint8(6), uint8(6), @@ -146229,7 +146260,7 @@ var aKWLen = [147]uint8{ uint8(4), uint8(4), uint8(6), uint8(7), uint8(5), uint8(9), uint8(4), uint8(4), uint8(5), uint8(2), uint8(5), uint8(8), uint8(6), uint8(4), uint8(9), uint8(5), uint8(8), uint8(4), uint8(3), uint8(9), uint8(5), uint8(5), uint8(6), uint8(4), uint8(6), uint8(2), uint8(2), uint8(9), uint8(3), uint8(7), -} /* sqlite3.c:166935:28 */ +} /* sqlite3.c:166992:28 */ // aKWOffset[i] is the index into zKWText[] of the start of // the text for the i-th keyword. var aKWOffset = [147]uint16{ @@ -146245,7 +146276,7 @@ var aKWOffset = [147]uint16{ uint16(520), uint16(523), uint16(527), uint16(532), uint16(539), uint16(544), uint16(553), uint16(557), uint16(560), uint16(565), uint16(567), uint16(571), uint16(579), uint16(585), uint16(588), uint16(597), uint16(602), uint16(610), uint16(610), uint16(614), uint16(623), uint16(628), uint16(633), uint16(639), uint16(642), uint16(645), uint16(648), uint16(650), uint16(655), uint16(659), -} /* sqlite3.c:166951:33 */ +} /* sqlite3.c:167008:33 */ // aKWCode[i] is the parser symbol code for the i-th keyword var aKWCode = [147]uint8{ uint8(TK_REINDEX), uint8(TK_INDEXED), uint8(TK_INDEX), uint8(TK_DESC), uint8(TK_ESCAPE), @@ -146278,7 +146309,7 @@ var aKWCode = [147]uint8{ uint8(TK_ROW), uint8(TK_UNBOUNDED), uint8(TK_UNION), uint8(TK_USING), uint8(TK_VACUUM), uint8(TK_VIEW), uint8(TK_WINDOW), uint8(TK_DO), uint8(TK_BY), uint8(TK_INITIALLY), uint8(TK_ALL), uint8(TK_PRIMARY), -} /* sqlite3.c:166966:28 */ +} /* sqlite3.c:167023:28 */ // Hash table decoded: // 0: INSERT @@ -146411,7 +146442,7 @@ var aKWCode = [147]uint8{ // Check to see if z[0..n-1] is a keyword. If it is, write the // parser symbol code for that keyword into *pType. Always // return the integer n (the length of the token). -func keywordCode(tls *libc.TLS, z uintptr, n int32, pType uintptr) int32 { /* sqlite3.c:167130:12: */ +func keywordCode(tls *libc.TLS, z uintptr, n int32, pType uintptr) int32 { /* sqlite3.c:167187:12: */ var i int32 var j int32 var zKW uintptr @@ -146589,7 +146620,7 @@ func keywordCode(tls *libc.TLS, z uintptr, n int32, pType uintptr) int32 { /* sq return n } -func Xsqlite3KeywordCode(tls *libc.TLS, z uintptr, n int32) int32 { /* sqlite3.c:167304:20: */ +func Xsqlite3KeywordCode(tls *libc.TLS, z uintptr, n int32) int32 { /* sqlite3.c:167361:20: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -146598,7 +146629,7 @@ func Xsqlite3KeywordCode(tls *libc.TLS, z uintptr, n int32) int32 { /* sqlite3.c return *(*int32)(unsafe.Pointer(bp /* id */)) } -func Xsqlite3_keyword_name(tls *libc.TLS, i int32, pzName uintptr, pnName uintptr) int32 { /* sqlite3.c:167310:16: */ +func Xsqlite3_keyword_name(tls *libc.TLS, i int32, pzName uintptr, pnName uintptr) int32 { /* sqlite3.c:167367:16: */ if i < 0 || i >= SQLITE_N_KEYWORD { return SQLITE_ERROR } @@ -146607,11 +146638,11 @@ func Xsqlite3_keyword_name(tls *libc.TLS, i int32, pzName uintptr, pnName uintpt return SQLITE_OK } -func Xsqlite3_keyword_count(tls *libc.TLS) int32 { /* sqlite3.c:167316:16: */ +func Xsqlite3_keyword_count(tls *libc.TLS) int32 { /* sqlite3.c:167373:16: */ return SQLITE_N_KEYWORD } -func Xsqlite3_keyword_check(tls *libc.TLS, zName uintptr, nName int32) int32 { /* sqlite3.c:167317:16: */ +func Xsqlite3_keyword_check(tls *libc.TLS, zName uintptr, nName int32) int32 { /* sqlite3.c:167374:16: */ return libc.Bool32(TK_ID != Xsqlite3KeywordCode(tls, zName, nName)) } @@ -146634,13 +146665,13 @@ func Xsqlite3_keyword_check(tls *libc.TLS, zName uintptr, nName int32) int32 { / // But the feature is undocumented. // Make the IdChar function accessible from ctime.c and alter.c -func Xsqlite3IsIdChar(tls *libc.TLS, c U8) int32 { /* sqlite3.c:167364:20: */ +func Xsqlite3IsIdChar(tls *libc.TLS, c U8) int32 { /* sqlite3.c:167421:20: */ return libc.Bool32(int32(Xsqlite3CtypeMap[c])&0x46 != 0) } // Return the id of the next token in string (*pz). Before returning, set // (*pz) to point to the byte following the parsed token. -func getToken(tls *libc.TLS, pz uintptr) int32 { /* sqlite3.c:167371:12: */ +func getToken(tls *libc.TLS, pz uintptr) int32 { /* sqlite3.c:167428:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -146690,7 +146721,7 @@ func getToken(tls *libc.TLS, pz uintptr) int32 { /* sqlite3.c:167371:12: */ // // * the previous token was TK_RP, and // * the next token is TK_LP. -func analyzeWindowKeyword(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:167420:12: */ +func analyzeWindowKeyword(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:167477:12: */ bp := tls.Alloc(4) defer tls.Free(4) *(*uintptr)(unsafe.Pointer(bp)) = z @@ -146707,7 +146738,7 @@ func analyzeWindowKeyword(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:167420: return TK_WINDOW } -func analyzeOverKeyword(tls *libc.TLS, z uintptr, lastToken int32) int32 { /* sqlite3.c:167428:12: */ +func analyzeOverKeyword(tls *libc.TLS, z uintptr, lastToken int32) int32 { /* sqlite3.c:167485:12: */ bp := tls.Alloc(4) defer tls.Free(4) *(*uintptr)(unsafe.Pointer(bp)) = z @@ -146721,7 +146752,7 @@ func analyzeOverKeyword(tls *libc.TLS, z uintptr, lastToken int32) int32 { /* sq return TK_ID } -func analyzeFilterKeyword(tls *libc.TLS, z uintptr, lastToken int32) int32 { /* sqlite3.c:167435:12: */ +func analyzeFilterKeyword(tls *libc.TLS, z uintptr, lastToken int32) int32 { /* sqlite3.c:167492:12: */ bp := tls.Alloc(4) defer tls.Free(4) *(*uintptr)(unsafe.Pointer(bp)) = z @@ -146734,7 +146765,7 @@ func analyzeFilterKeyword(tls *libc.TLS, z uintptr, lastToken int32) int32 { /* // Return the length (in bytes) of the token that begins at z[0]. // Store the token type in *tokenType before returning. -func Xsqlite3GetToken(tls *libc.TLS, z uintptr, tokenType uintptr) int32 { /* sqlite3.c:167447:20: */ +func Xsqlite3GetToken(tls *libc.TLS, z uintptr, tokenType uintptr) int32 { /* sqlite3.c:167504:20: */ var i int32 var c int32 switch int32(aiClass[*(*uint8)(unsafe.Pointer(z))]) { // Switch on the character-class of the first byte @@ -147102,7 +147133,7 @@ func Xsqlite3GetToken(tls *libc.TLS, z uintptr, tokenType uintptr) int32 { /* sq } // Run the parser on the given SQL string. -func Xsqlite3RunParser(tls *libc.TLS, pParse uintptr, zSql uintptr) int32 { /* sqlite3.c:167741:20: */ +func Xsqlite3RunParser(tls *libc.TLS, pParse uintptr, zSql uintptr) int32 { /* sqlite3.c:167798:20: */ bp := tls.Alloc(1256) defer tls.Free(1256) @@ -147292,7 +147323,7 @@ func Xsqlite3RunParser(tls *libc.TLS, pParse uintptr, zSql uintptr) int32 { /* s // If we compile with SQLITE_OMIT_TRIGGER, all of the computation needed // to recognize the end of a trigger can be omitted. All we have to do // is look for a semicolon that is not part of an string or comment. -func Xsqlite3_complete(tls *libc.TLS, zSql uintptr) int32 { /* sqlite3.c:168133:16: */ +func Xsqlite3_complete(tls *libc.TLS, zSql uintptr) int32 { /* sqlite3.c:168190:16: */ var state U8 = U8(0) // Current state, using numbers defined in header comment var token U8 @@ -147469,12 +147500,12 @@ var trans = [8][8]U8{ /* 5 TRIGGER: */ {U8(6), U8(5), U8(5), U8(5), U8(5), U8(5), U8(5), U8(5)}, /* 6 SEMI: */ {U8(6), U8(6), U8(5), U8(5), U8(5), U8(5), U8(5), U8(7)}, /* 7 END: */ {U8(1), U8(7), U8(5), U8(5), U8(5), U8(5), U8(5), U8(5)}, -} /* sqlite3.c:168141:19 */ +} /* sqlite3.c:168198:19 */ // This routine is the same as the sqlite3_complete() routine described // above, except that the parameter is required to be UTF-16 encoded, not // UTF-8. -func Xsqlite3_complete16(tls *libc.TLS, zSql uintptr) int32 { /* sqlite3.c:168298:16: */ +func Xsqlite3_complete16(tls *libc.TLS, zSql uintptr) int32 { /* sqlite3.c:168355:16: */ var pVal uintptr var zSql8 uintptr var rc int32 @@ -147501,7 +147532,7 @@ func Xsqlite3_complete16(tls *libc.TLS, zSql uintptr) int32 { /* sqlite3.c:16829 // This is an extension initializer that is a no-op and always // succeeds, except that it fails if the fault-simulation is set // to 500. -func sqlite3TestExtInit(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:168450:12: */ +func sqlite3TestExtInit(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:168507:12: */ _ = db return Xsqlite3FaultSim(tls, 500) } @@ -147513,11 +147544,11 @@ var sqlite3BuiltinExtensions = [4]uintptr{ 0, 0, 0, -} /* sqlite3.c:168477:12 */ +} /* sqlite3.c:168534:12 */ // IMPLEMENTATION-OF: R-53536-42575 The sqlite3_libversion() function returns // a pointer to the to the sqlite3_version[] string constant. -func Xsqlite3_libversion(tls *libc.TLS) uintptr { /* sqlite3.c:168524:23: */ +func Xsqlite3_libversion(tls *libc.TLS) uintptr { /* sqlite3.c:168581:23: */ return uintptr(unsafe.Pointer(&Xsqlite3_version)) } @@ -147530,14 +147561,14 @@ func Xsqlite3_libversion(tls *libc.TLS) uintptr { /* sqlite3.c:168524:23: */ // IMPLEMENTATION-OF: R-35210-63508 The sqlite3_libversion_number() function // returns an integer equal to SQLITE_VERSION_NUMBER. -func Xsqlite3_libversion_number(tls *libc.TLS) int32 { /* sqlite3.c:168537:16: */ +func Xsqlite3_libversion_number(tls *libc.TLS) int32 { /* sqlite3.c:168594:16: */ return SQLITE_VERSION_NUMBER } // IMPLEMENTATION-OF: R-20790-14025 The sqlite3_threadsafe() function returns // zero if and only if SQLite was compiled with mutexing code omitted due to // the SQLITE_THREADSAFE compile-time option being set to 0. -func Xsqlite3_threadsafe(tls *libc.TLS) int32 { /* sqlite3.c:168543:16: */ +func Xsqlite3_threadsafe(tls *libc.TLS) int32 { /* sqlite3.c:168600:16: */ return SQLITE_THREADSAFE } @@ -147550,14 +147581,14 @@ func Xsqlite3_threadsafe(tls *libc.TLS) int32 { /* sqlite3.c:168543:16: */ // temporary files. // // See also the "PRAGMA temp_store_directory" SQL command. -var Xsqlite3_temp_directory uintptr = uintptr(0) /* sqlite3.c:168574:17 */ +var Xsqlite3_temp_directory uintptr = uintptr(0) /* sqlite3.c:168631:17 */ // If the following global variable points to a string which is the // name of a directory, then that directory will be used to store // all database files specified with a relative pathname. // // See also the "PRAGMA data_store_directory" SQL command. -var Xsqlite3_data_directory uintptr = uintptr(0) /* sqlite3.c:168583:17 */ +var Xsqlite3_data_directory uintptr = uintptr(0) /* sqlite3.c:168640:17 */ // Initialize SQLite. // @@ -147588,7 +147619,7 @@ var Xsqlite3_data_directory uintptr = uintptr(0) /* sqlite3.c:168583:17 */ // // * Recursive calls to this routine from thread X return immediately // without blocking. -func Xsqlite3_initialize(tls *libc.TLS) int32 { /* sqlite3.c:168616:16: */ +func Xsqlite3_initialize(tls *libc.TLS) int32 { /* sqlite3.c:168673:16: */ var pMainMtx uintptr // The main static mutex var rc int32 // Result code @@ -147714,7 +147745,7 @@ func Xsqlite3_initialize(tls *libc.TLS) int32 { /* sqlite3.c:168616:16: */ // routine is not threadsafe. But it is safe to invoke this routine // on when SQLite is already shut down. If SQLite is already shut down // when this routine is invoked, then this routine is a harmless no-op. -func Xsqlite3_shutdown(tls *libc.TLS) int32 { /* sqlite3.c:168791:16: */ +func Xsqlite3_shutdown(tls *libc.TLS) int32 { /* sqlite3.c:168848:16: */ if Xsqlite3Config.FisInit != 0 { Xsqlite3_os_end(tls) @@ -147753,7 +147784,7 @@ func Xsqlite3_shutdown(tls *libc.TLS) int32 { /* sqlite3.c:168791:16: */ // database connections or memory allocations. This routine is not // threadsafe. Failure to heed these warnings can lead to unpredictable // behavior. -func Xsqlite3_config(tls *libc.TLS, op int32, va uintptr) int32 { /* sqlite3.c:168845:16: */ +func Xsqlite3_config(tls *libc.TLS, op int32, va uintptr) int32 { /* sqlite3.c:168902:16: */ var ap Va_list _ = ap var rc int32 = SQLITE_OK @@ -147761,7 +147792,7 @@ func Xsqlite3_config(tls *libc.TLS, op int32, va uintptr) int32 { /* sqlite3.c:1 // sqlite3_config() shall return SQLITE_MISUSE if it is invoked while // the SQLite library is in use. if Xsqlite3Config.FisInit != 0 { - return Xsqlite3MisuseError(tls, 168851) + return Xsqlite3MisuseError(tls, 168908) } ap = va @@ -148031,7 +148062,7 @@ func Xsqlite3_config(tls *libc.TLS, op int32, va uintptr) int32 { /* sqlite3.c:1 // space for the lookaside memory is obtained from sqlite3_malloc(). // If pStart is not NULL then it is sz*cnt bytes of memory to use for // the lookaside memory. -func setupLookaside(tls *libc.TLS, db uintptr, pBuf uintptr, sz int32, cnt int32) int32 { /* sqlite3.c:169163:12: */ +func setupLookaside(tls *libc.TLS, db uintptr, pBuf uintptr, sz int32, cnt int32) int32 { /* sqlite3.c:169220:12: */ var pStart uintptr var szAlloc Sqlite3_int64 = Sqlite3_int64(sz) * Sqlite3_int64(cnt) var nBig int32 // Number of full-size slots @@ -148129,13 +148160,13 @@ func setupLookaside(tls *libc.TLS, db uintptr, pBuf uintptr, sz int32, cnt int32 } // Return the mutex associated with a database connection. -func Xsqlite3_db_mutex(tls *libc.TLS, db uintptr) uintptr { /* sqlite3.c:169263:26: */ +func Xsqlite3_db_mutex(tls *libc.TLS, db uintptr) uintptr { /* sqlite3.c:169320:26: */ return (*Sqlite3)(unsafe.Pointer(db)).Fmutex } // Free up as much memory as we can from the given database // connection. -func Xsqlite3_db_release_memory(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:169277:16: */ +func Xsqlite3_db_release_memory(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:169334:16: */ var i int32 Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) @@ -148154,7 +148185,7 @@ func Xsqlite3_db_release_memory(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c: // Flush any dirty pages in the pager-cache for any attached database // to disk. -func Xsqlite3_db_cacheflush(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:169301:16: */ +func Xsqlite3_db_cacheflush(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:169358:16: */ var i int32 var rc int32 = SQLITE_OK var bSeenBusy int32 = 0 @@ -148183,7 +148214,7 @@ func Xsqlite3_db_cacheflush(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:1693 } // Configuration settings for an individual database connection -func Xsqlite3_db_config(tls *libc.TLS, db uintptr, op int32, va uintptr) int32 { /* sqlite3.c:169330:16: */ +func Xsqlite3_db_config(tls *libc.TLS, db uintptr, op int32, va uintptr) int32 { /* sqlite3.c:169387:16: */ var ap Va_list _ = ap var rc int32 @@ -148262,11 +148293,11 @@ var aFlagOp = [16]struct { {Fop: SQLITE_DBCONFIG_DQS_DML, Fmask: U32(SQLITE_DqsDML)}, {Fop: SQLITE_DBCONFIG_LEGACY_FILE_FORMAT, Fmask: U32(SQLITE_LegacyFileFmt)}, {Fop: SQLITE_DBCONFIG_TRUSTED_SCHEMA, Fmask: U32(SQLITE_TrustedSchema)}, -} /* sqlite3.c:169353:9 */ +} /* sqlite3.c:169410:9 */ // This is the default collating function named "BINARY" which is always // available. -func binCollFunc(tls *libc.TLS, NotUsed uintptr, nKey1 int32, pKey1 uintptr, nKey2 int32, pKey2 uintptr) int32 { /* sqlite3.c:169405:12: */ +func binCollFunc(tls *libc.TLS, NotUsed uintptr, nKey1 int32, pKey1 uintptr, nKey2 int32, pKey2 uintptr) int32 { /* sqlite3.c:169462:12: */ var rc int32 var n int32 _ = NotUsed @@ -148288,7 +148319,7 @@ func binCollFunc(tls *libc.TLS, NotUsed uintptr, nKey1 int32, pKey1 uintptr, nKe // This is the collating function named "RTRIM" which is always // available. Ignore trailing spaces. -func rtrimCollFunc(tls *libc.TLS, pUser uintptr, nKey1 int32, pKey1 uintptr, nKey2 int32, pKey2 uintptr) int32 { /* sqlite3.c:169428:12: */ +func rtrimCollFunc(tls *libc.TLS, pUser uintptr, nKey1 int32, pKey1 uintptr, nKey2 int32, pKey2 uintptr) int32 { /* sqlite3.c:169485:12: */ var pK1 uintptr = pKey1 var pK2 uintptr = pKey2 for nKey1 != 0 && int32(*(*U8)(unsafe.Pointer(pK1 + uintptr(nKey1-1)))) == ' ' { @@ -148301,7 +148332,7 @@ func rtrimCollFunc(tls *libc.TLS, pUser uintptr, nKey1 int32, pKey1 uintptr, nKe } // Return true if CollSeq is the default built-in BINARY. -func Xsqlite3IsBinary(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:169443:20: */ +func Xsqlite3IsBinary(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:169500:20: */ return libc.Bool32(p == uintptr(0) || (*CollSeq)(unsafe.Pointer(p)).FxCmp == *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32 @@ -148315,7 +148346,7 @@ func Xsqlite3IsBinary(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:169443:20: // extends only to the 26 characters used in the English language. // // At the moment there is only a UTF-8 implementation. -func nocaseCollatingFunc(tls *libc.TLS, NotUsed uintptr, nKey1 int32, pKey1 uintptr, nKey2 int32, pKey2 uintptr) int32 { /* sqlite3.c:169457:12: */ +func nocaseCollatingFunc(tls *libc.TLS, NotUsed uintptr, nKey1 int32, pKey1 uintptr, nKey2 int32, pKey2 uintptr) int32 { /* sqlite3.c:169514:12: */ var r int32 = Xsqlite3_strnicmp(tls, pKey1, pKey2, func() int32 { if nKey1 < nKey2 { @@ -148331,39 +148362,39 @@ func nocaseCollatingFunc(tls *libc.TLS, NotUsed uintptr, nKey1 int32, pKey1 uint } // Return the ROWID of the most recent insert -func Xsqlite3_last_insert_rowid(tls *libc.TLS, db uintptr) Sqlite_int64 { /* sqlite3.c:169474:25: */ +func Xsqlite3_last_insert_rowid(tls *libc.TLS, db uintptr) Sqlite_int64 { /* sqlite3.c:169531:25: */ return (*Sqlite3)(unsafe.Pointer(db)).FlastRowid } // Set the value returned by the sqlite3_last_insert_rowid() API function. -func Xsqlite3_set_last_insert_rowid(tls *libc.TLS, db uintptr, iRowid Sqlite3_int64) { /* sqlite3.c:169487:17: */ +func Xsqlite3_set_last_insert_rowid(tls *libc.TLS, db uintptr, iRowid Sqlite3_int64) { /* sqlite3.c:169544:17: */ Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) (*Sqlite3)(unsafe.Pointer(db)).FlastRowid = iRowid Xsqlite3_mutex_leave(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) } // Return the number of changes in the most recent call to sqlite3_exec(). -func Xsqlite3_changes64(tls *libc.TLS, db uintptr) Sqlite3_int64 { /* sqlite3.c:169502:26: */ +func Xsqlite3_changes64(tls *libc.TLS, db uintptr) Sqlite3_int64 { /* sqlite3.c:169559:26: */ return (*Sqlite3)(unsafe.Pointer(db)).FnChange } -func Xsqlite3_changes(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:169511:16: */ +func Xsqlite3_changes(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:169568:16: */ return int32(Xsqlite3_changes64(tls, db)) } // Return the number of changes since the database handle was opened. -func Xsqlite3_total_changes64(tls *libc.TLS, db uintptr) Sqlite3_int64 { /* sqlite3.c:169518:26: */ +func Xsqlite3_total_changes64(tls *libc.TLS, db uintptr) Sqlite3_int64 { /* sqlite3.c:169575:26: */ return (*Sqlite3)(unsafe.Pointer(db)).FnTotalChange } -func Xsqlite3_total_changes(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:169527:16: */ +func Xsqlite3_total_changes(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:169584:16: */ return int32(Xsqlite3_total_changes64(tls, db)) } // Close all open savepoints. This function only manipulates fields of the // database handle object, it does not close any savepoints that may be open // at the b-tree/pager level. -func Xsqlite3CloseSavepoints(tls *libc.TLS, db uintptr) { /* sqlite3.c:169536:21: */ +func Xsqlite3CloseSavepoints(tls *libc.TLS, db uintptr) { /* sqlite3.c:169593:21: */ for (*Sqlite3)(unsafe.Pointer(db)).FpSavepoint != 0 { var pTmp uintptr = (*Sqlite3)(unsafe.Pointer(db)).FpSavepoint (*Sqlite3)(unsafe.Pointer(db)).FpSavepoint = (*Savepoint)(unsafe.Pointer(pTmp)).FpNext @@ -148378,7 +148409,7 @@ func Xsqlite3CloseSavepoints(tls *libc.TLS, db uintptr) { /* sqlite3.c:169536:21 // if this is not the last copy of the function, do not invoke it. Multiple // copies of a single function are created when create_function() is called // with SQLITE_ANY as the encoding. -func functionDestroy(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:169553:13: */ +func functionDestroy(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:169610:13: */ var pDestructor uintptr pDestructor = *(*uintptr)(unsafe.Pointer(p + 36)) @@ -148393,7 +148424,7 @@ func functionDestroy(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:169553 // Disconnect all sqlite3_vtab objects that belong to database connection // db. This is called when db is being closed. -func disconnectAllVtab(tls *libc.TLS, db uintptr) { /* sqlite3.c:169570:13: */ +func disconnectAllVtab(tls *libc.TLS, db uintptr) { /* sqlite3.c:169627:13: */ var i int32 var p uintptr Xsqlite3BtreeEnterAll(tls, db) @@ -148420,7 +148451,7 @@ func disconnectAllVtab(tls *libc.TLS, db uintptr) { /* sqlite3.c:169570:13: */ // Return TRUE if database connection db has unfinalized prepared // statements or unfinished sqlite3_backup objects. -func connectionIsBusy(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:169601:12: */ +func connectionIsBusy(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:169658:12: */ var j int32 if (*Sqlite3)(unsafe.Pointer(db)).FpVdbe != 0 { @@ -148436,14 +148467,14 @@ func connectionIsBusy(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:169601:12: } // Close an existing SQLite database -func sqlite3Close(tls *libc.TLS, db uintptr, forceZombie int32) int32 { /* sqlite3.c:169615:12: */ +func sqlite3Close(tls *libc.TLS, db uintptr, forceZombie int32) int32 { /* sqlite3.c:169672:12: */ if !(db != 0) { // EVIDENCE-OF: R-63257-11740 Calling sqlite3_close() or // sqlite3_close_v2() with a NULL pointer argument is a harmless no-op. return SQLITE_OK } if !(Xsqlite3SafetyCheckSickOrOk(tls, db) != 0) { - return Xsqlite3MisuseError(tls, 169622) + return Xsqlite3MisuseError(tls, 169679) } Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) if int32((*Sqlite3)(unsafe.Pointer(db)).FmTrace)&SQLITE_TRACE_CLOSE != 0 { @@ -148480,7 +148511,7 @@ func sqlite3Close(tls *libc.TLS, db uintptr, forceZombie int32) int32 { /* sqlit // Return the transaction state for a single databse, or the maximum // transaction state over all attached databases if zSchema is null. -func Xsqlite3_txn_state(tls *libc.TLS, db uintptr, zSchema uintptr) int32 { /* sqlite3.c:169669:16: */ +func Xsqlite3_txn_state(tls *libc.TLS, db uintptr, zSchema uintptr) int32 { /* sqlite3.c:169726:16: */ var iDb int32 var nDb int32 var iTxn int32 = -1 @@ -148517,11 +148548,11 @@ func Xsqlite3_txn_state(tls *libc.TLS, db uintptr, zSchema uintptr) int32 { /* s // version forces the connection to become a zombie if there are // unclosed resources, and arranges for deallocation when the last // prepare statement or sqlite3_backup closes. -func Xsqlite3_close(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:169704:16: */ +func Xsqlite3_close(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:169761:16: */ return sqlite3Close(tls, db, 0) } -func Xsqlite3_close_v2(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:169705:16: */ +func Xsqlite3_close_v2(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:169762:16: */ return sqlite3Close(tls, db, 1) } @@ -148531,7 +148562,7 @@ func Xsqlite3_close_v2(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:169705:16 // has been a prior call to sqlite3_close(db) or sqlite3_close_v2(db)) and // every sqlite3_stmt has now been finalized and every sqlite3_backup has // finished, then free all resources. -func Xsqlite3LeaveMutexAndCloseZombie(tls *libc.TLS, db uintptr) { /* sqlite3.c:169716:21: */ +func Xsqlite3LeaveMutexAndCloseZombie(tls *libc.TLS, db uintptr) { /* sqlite3.c:169773:21: */ var i uintptr // Hash table iterator var j int32 @@ -148641,7 +148672,7 @@ func Xsqlite3LeaveMutexAndCloseZombie(tls *libc.TLS, db uintptr) { /* sqlite3.c: // breaker") and made to return tripCode if there are any further // attempts to use that cursor. Read cursors remain open and valid // but are "saved" in case the table pages are moved around. -func Xsqlite3RollbackAll(tls *libc.TLS, db uintptr, tripCode int32) { /* sqlite3.c:169839:21: */ +func Xsqlite3RollbackAll(tls *libc.TLS, db uintptr, tripCode int32) { /* sqlite3.c:169896:21: */ var i int32 var inTrans int32 = 0 var schemaChange int32 @@ -148691,7 +148722,7 @@ func Xsqlite3RollbackAll(tls *libc.TLS, db uintptr, tripCode int32) { /* sqlite3 // Return a static string that describes the kind of error specified in the // argument. -func Xsqlite3ErrStr(tls *libc.TLS, rc int32) uintptr { /* sqlite3.c:170000:27: */ +func Xsqlite3ErrStr(tls *libc.TLS, rc int32) uintptr { /* sqlite3.c:170057:27: */ var zErr uintptr = ts + 23262 /* "unknown error" */ switch rc { case SQLITE_ABORT | int32(2)<<8: @@ -148755,7 +148786,7 @@ var aMsg = [29]uintptr{ ts + 23758, ts + 23781, ts + 23802, -} /* sqlite3.c:170001:20 */ +} /* sqlite3.c:170058:20 */ // This routine implements a busy callback that sleeps and tries // again until a timeout value is reached. The timeout value is @@ -148764,7 +148795,7 @@ var aMsg = [29]uintptr{ // // Return non-zero to retry the lock. Return zero to stop trying // and cause SQLite to return SQLITE_BUSY. -func sqliteDefaultBusyCallback(tls *libc.TLS, ptr uintptr, count int32) int32 { /* sqlite3.c:170070:12: */ +func sqliteDefaultBusyCallback(tls *libc.TLS, ptr uintptr, count int32) int32 { /* sqlite3.c:170127:12: */ var db uintptr = ptr var tmout int32 = (*Sqlite3)(unsafe.Pointer(db)).FbusyTimeout var delay int32 @@ -148787,8 +148818,8 @@ func sqliteDefaultBusyCallback(tls *libc.TLS, ptr uintptr, count int32) int32 { return 1 } -var delays = [12]U8{U8(1), U8(2), U8(5), U8(10), U8(15), U8(20), U8(25), U8(25), U8(25), U8(50), U8(50), U8(100)} /* sqlite3.c:170077:19 */ -var totals = [12]U8{U8(0), U8(1), U8(3), U8(8), U8(18), U8(33), U8(53), U8(78), U8(103), U8(128), U8(178), U8(228)} /* sqlite3.c:170079:19 */ +var delays = [12]U8{U8(1), U8(2), U8(5), U8(10), U8(15), U8(20), U8(25), U8(25), U8(25), U8(50), U8(50), U8(100)} /* sqlite3.c:170134:19 */ +var totals = [12]U8{U8(0), U8(1), U8(3), U8(8), U8(18), U8(33), U8(53), U8(78), U8(103), U8(128), U8(178), U8(228)} /* sqlite3.c:170136:19 */ // Invoke the given busy handler. // @@ -148797,7 +148828,7 @@ var totals = [12]U8{U8(0), U8(1), U8(3), U8(8), U8(18), U8(33), U8(53), U8(78), // // If this routine returns non-zero, the lock is retried. If it // returns 0, the operation aborts with an SQLITE_BUSY error. -func Xsqlite3InvokeBusyHandler(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:170122:20: */ +func Xsqlite3InvokeBusyHandler(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:170179:20: */ var rc int32 if (*BusyHandler)(unsafe.Pointer(p)).FxBusyHandler == uintptr(0) || (*BusyHandler)(unsafe.Pointer(p)).FnBusy < 0 { return 0 @@ -148815,7 +148846,7 @@ func Xsqlite3InvokeBusyHandler(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:17 // This routine sets the busy callback for an Sqlite database to the // given callback function with the given argument. -func Xsqlite3_busy_handler(tls *libc.TLS, db uintptr, xBusy uintptr, pArg uintptr) int32 { /* sqlite3.c:170138:16: */ +func Xsqlite3_busy_handler(tls *libc.TLS, db uintptr, xBusy uintptr, pArg uintptr) int32 { /* sqlite3.c:170195:16: */ Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) (*Sqlite3)(unsafe.Pointer(db)).FbusyHandler.FxBusyHandler = xBusy (*Sqlite3)(unsafe.Pointer(db)).FbusyHandler.FpBusyArg = pArg @@ -148828,7 +148859,7 @@ func Xsqlite3_busy_handler(tls *libc.TLS, db uintptr, xBusy uintptr, pArg uintpt // This routine sets the progress callback for an Sqlite database to the // given callback function with the given argument. The progress callback will // be invoked every nOps opcodes. -func Xsqlite3_progress_handler(tls *libc.TLS, db uintptr, nOps int32, xProgress uintptr, pArg uintptr) { /* sqlite3.c:170161:17: */ +func Xsqlite3_progress_handler(tls *libc.TLS, db uintptr, nOps int32, xProgress uintptr, pArg uintptr) { /* sqlite3.c:170218:17: */ Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) if nOps > 0 { (*Sqlite3)(unsafe.Pointer(db)).FxProgress = xProgress @@ -148844,7 +148875,7 @@ func Xsqlite3_progress_handler(tls *libc.TLS, db uintptr, nOps int32, xProgress // This routine installs a default busy handler that waits for the // specified number of milliseconds before returning 0. -func Xsqlite3_busy_timeout(tls *libc.TLS, db uintptr, ms int32) int32 { /* sqlite3.c:170192:16: */ +func Xsqlite3_busy_timeout(tls *libc.TLS, db uintptr, ms int32) int32 { /* sqlite3.c:170249:16: */ if ms > 0 { Xsqlite3_busy_handler(tls, db, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32) int32 @@ -148858,7 +148889,7 @@ func Xsqlite3_busy_timeout(tls *libc.TLS, db uintptr, ms int32) int32 { /* sqlit } // Cause any pending operation to stop at its earliest opportunity. -func Xsqlite3_interrupt(tls *libc.TLS, db uintptr) { /* sqlite3.c:170209:17: */ +func Xsqlite3_interrupt(tls *libc.TLS, db uintptr) { /* sqlite3.c:170266:17: */ *(*int32)(unsafe.Pointer(db + 304)) = 1 } @@ -148866,7 +148897,7 @@ func Xsqlite3_interrupt(tls *libc.TLS, db uintptr) { /* sqlite3.c:170209:17: */ // that it is designed to be called by internal code. The difference is // that if a malloc() fails in sqlite3_create_function(), an error code // is returned and the mallocFailed flag cleared. -func Xsqlite3CreateFunc(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) int32 { /* sqlite3.c:170226:20: */ +func Xsqlite3CreateFunc(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) int32 { /* sqlite3.c:170283:20: */ var p uintptr var extraFlags int32 @@ -148876,7 +148907,7 @@ func Xsqlite3CreateFunc(tls *libc.TLS, db uintptr, zFunctionName uintptr, nArg i libc.Bool32(xValue == uintptr(0)) != libc.Bool32(xInverse == uintptr(0)) || (nArg < -1 || nArg > SQLITE_MAX_FUNCTION_ARG) || 255 < Xsqlite3Strlen30(tls, zFunctionName) { - return Xsqlite3MisuseError(tls, 170251) + return Xsqlite3MisuseError(tls, 170308) } extraFlags = enc & (SQLITE_DETERMINISTIC | SQLITE_DIRECTONLY | SQLITE_SUBTYPE | SQLITE_INNOCUOUS) @@ -148981,7 +149012,7 @@ func Xsqlite3CreateFunc(tls *libc.TLS, db uintptr, zFunctionName uintptr, nArg i // sqlite3_create_function() // 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) int32 { /* sqlite3.c:170360:12: */ +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) int32 { /* sqlite3.c:170417:12: */ var rc int32 var pArg uintptr rc = SQLITE_ERROR @@ -149023,22 +149054,22 @@ out: } // 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) int32 { /* sqlite3.c:170411:16: */ +func Xsqlite3_create_function(tls *libc.TLS, db uintptr, zFunc uintptr, nArg int32, enc int32, p uintptr, xSFunc uintptr, xStep uintptr, xFinal uintptr) int32 { /* sqlite3.c:170468:16: */ return createFunctionApi(tls, db, zFunc, nArg, enc, p, xSFunc, xStep, 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) int32 { /* sqlite3.c:170424:16: */ +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) int32 { /* sqlite3.c:170481:16: */ return createFunctionApi(tls, db, zFunc, nArg, enc, p, xSFunc, xStep, xFinal, uintptr(0), uintptr(0), 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) int32 { /* sqlite3.c:170438:16: */ +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) int32 { /* sqlite3.c:170495:16: */ return createFunctionApi(tls, db, zFunc, nArg, enc, p, uintptr(0), xStep, xFinal, xValue, xInverse, xDestroy) } -func Xsqlite3_create_function16(tls *libc.TLS, db uintptr, zFunctionName uintptr, nArg int32, eTextRep int32, p uintptr, xSFunc uintptr, xStep uintptr, xFinal uintptr) int32 { /* sqlite3.c:170455:16: */ +func Xsqlite3_create_function16(tls *libc.TLS, db uintptr, zFunctionName uintptr, nArg int32, eTextRep int32, p uintptr, xSFunc uintptr, xStep uintptr, xFinal uintptr) int32 { /* sqlite3.c:170512:16: */ var rc int32 var zFunc8 uintptr @@ -149058,7 +149089,7 @@ func Xsqlite3_create_function16(tls *libc.TLS, db uintptr, zFunctionName uintptr // SQL function that use this routine so that the functions will exist // for name resolution but are actually overloaded by the xFindFunction // method of virtual tables. -func sqlite3InvalidFunction(tls *libc.TLS, context uintptr, NotUsed int32, NotUsed2 uintptr) { /* sqlite3.c:170491:13: */ +func sqlite3InvalidFunction(tls *libc.TLS, context uintptr, NotUsed int32, NotUsed2 uintptr) { /* sqlite3.c:170548:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -149082,7 +149113,7 @@ func sqlite3InvalidFunction(tls *libc.TLS, context uintptr, NotUsed int32, NotUs // should call this routine to make sure the global function exists. // A global function must exist in order for name resolution to work // properly. -func Xsqlite3_overload_function(tls *libc.TLS, db uintptr, zName uintptr, nArg int32) int32 { /* sqlite3.c:170517:16: */ +func Xsqlite3_overload_function(tls *libc.TLS, db uintptr, zName uintptr, nArg int32) int32 { /* sqlite3.c:170574:16: */ var rc int32 var zCopy uintptr @@ -149108,7 +149139,7 @@ func Xsqlite3_overload_function(tls *libc.TLS, db uintptr, zName uintptr, nArg i // A NULL trace function means that no tracing is executes. A non-NULL // 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) uintptr { /* sqlite3.c:170550:17: */ +func Xsqlite3_trace(tls *libc.TLS, db uintptr, xTrace uintptr, pArg uintptr) uintptr { /* sqlite3.c:170607:17: */ var pOld uintptr Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) @@ -149126,7 +149157,7 @@ func Xsqlite3_trace(tls *libc.TLS, db uintptr, xTrace uintptr, pArg uintptr) uin } // Register a trace callback using the version-2 interface. -func Xsqlite3_trace_v2(tls *libc.TLS, db uintptr, mTrace uint32, xTrace uintptr, pArg uintptr) int32 { /* sqlite3.c:170571:16: */ +func Xsqlite3_trace_v2(tls *libc.TLS, db uintptr, mTrace uint32, xTrace uintptr, pArg uintptr) int32 { /* sqlite3.c:170628:16: */ Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) if mTrace == uint32(0) { xTrace = uintptr(0) @@ -149147,7 +149178,7 @@ func Xsqlite3_trace_v2(tls *libc.TLS, db uintptr, mTrace uint32, xTrace uintptr, // A NULL profile function means that no profiling is executes. A non-NULL // 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) uintptr { /* sqlite3.c:170601:17: */ +func Xsqlite3_profile(tls *libc.TLS, db uintptr, xProfile uintptr, pArg uintptr) uintptr { /* sqlite3.c:170658:17: */ var pOld uintptr Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) @@ -149165,7 +149196,7 @@ func Xsqlite3_profile(tls *libc.TLS, db uintptr, xProfile uintptr, pArg uintptr) // Register a function to be invoked when a transaction commits. // 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) uintptr { /* sqlite3.c:170631:17: */ +func Xsqlite3_commit_hook(tls *libc.TLS, db uintptr, xCallback uintptr, pArg uintptr) uintptr { /* sqlite3.c:170688:17: */ var pOld uintptr Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) @@ -149178,7 +149209,7 @@ func Xsqlite3_commit_hook(tls *libc.TLS, db uintptr, xCallback uintptr, pArg uin // 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) uintptr { /* sqlite3.c:170656:17: */ +func Xsqlite3_update_hook(tls *libc.TLS, db uintptr, xCallback uintptr, pArg uintptr) uintptr { /* sqlite3.c:170713:17: */ var pRet uintptr Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) @@ -149191,7 +149222,7 @@ func Xsqlite3_update_hook(tls *libc.TLS, db uintptr, xCallback uintptr, pArg uin // 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) uintptr { /* sqlite3.c:170681:17: */ +func Xsqlite3_rollback_hook(tls *libc.TLS, db uintptr, xCallback uintptr, pArg uintptr) uintptr { /* sqlite3.c:170738:17: */ var pRet uintptr Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) @@ -149204,7 +149235,7 @@ func Xsqlite3_rollback_hook(tls *libc.TLS, db uintptr, xCallback uintptr, pArg u // 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) uintptr { /* sqlite3.c:170707:17: */ +func Xsqlite3_preupdate_hook(tls *libc.TLS, db uintptr, xCallback uintptr, pArg uintptr) uintptr { /* sqlite3.c:170764:17: */ var pRet uintptr Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) pRet = (*Sqlite3)(unsafe.Pointer(db)).FpPreUpdateArg @@ -149216,7 +149247,7 @@ func Xsqlite3_preupdate_hook(tls *libc.TLS, db uintptr, xCallback uintptr, pArg // 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) int32 { /* sqlite3.c:170727:16: */ +func Xsqlite3_autovacuum_pages(tls *libc.TLS, db uintptr, xCallback uintptr, pArg uintptr, xDestructor uintptr) int32 { /* sqlite3.c:170784:16: */ Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) if (*Sqlite3)(unsafe.Pointer(db)).FxAutovacDestr != 0 { (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3)(unsafe.Pointer(db)).FxAutovacDestr})).f(tls, (*Sqlite3)(unsafe.Pointer(db)).FpAutovacPagesArg) @@ -149232,7 +149263,7 @@ func Xsqlite3_autovacuum_pages(tls *libc.TLS, db uintptr, xCallback uintptr, pAr // Invoke sqlite3_wal_checkpoint if the number of frames in the log file // is greater than sqlite3.pWalArg cast to an integer (the value configured by // wal_autocheckpoint()). -func Xsqlite3WalDefaultHook(tls *libc.TLS, pClientData uintptr, db uintptr, zDb uintptr, nFrame int32) int32 { /* sqlite3.c:170758:20: */ +func Xsqlite3WalDefaultHook(tls *libc.TLS, pClientData uintptr, db uintptr, zDb uintptr, nFrame int32) int32 { /* sqlite3.c:170815:20: */ if nFrame >= int32(pClientData) { Xsqlite3BeginBenignMalloc(tls) Xsqlite3_wal_checkpoint(tls, db, zDb) @@ -149250,7 +149281,7 @@ func Xsqlite3WalDefaultHook(tls *libc.TLS, pClientData uintptr, db uintptr, zDb // registered using sqlite3_wal_hook(). Likewise, registering a callback // using sqlite3_wal_hook() disables the automatic checkpoint mechanism // configured by this function. -func Xsqlite3_wal_autocheckpoint(tls *libc.TLS, db uintptr, nFrame int32) int32 { /* sqlite3.c:170784:16: */ +func Xsqlite3_wal_autocheckpoint(tls *libc.TLS, db uintptr, nFrame int32) int32 { /* sqlite3.c:170841:16: */ if nFrame > 0 { Xsqlite3_wal_hook(tls, db, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, uintptr, int32) int32 @@ -149263,7 +149294,7 @@ func Xsqlite3_wal_autocheckpoint(tls *libc.TLS, db uintptr, nFrame int32) int32 // 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) uintptr { /* sqlite3.c:170805:17: */ +func Xsqlite3_wal_hook(tls *libc.TLS, db uintptr, xCallback uintptr, pArg uintptr) uintptr { /* sqlite3.c:170862:17: */ var pRet uintptr Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) pRet = (*Sqlite3)(unsafe.Pointer(db)).FpWalArg @@ -149274,7 +149305,7 @@ func Xsqlite3_wal_hook(tls *libc.TLS, db uintptr, xCallback uintptr, pArg uintpt } // Checkpoint database zDb. -func Xsqlite3_wal_checkpoint_v2(tls *libc.TLS, db uintptr, zDb uintptr, eMode int32, pnLog uintptr, pnCkpt uintptr) int32 { /* sqlite3.c:170832:16: */ +func Xsqlite3_wal_checkpoint_v2(tls *libc.TLS, db uintptr, zDb uintptr, eMode int32, pnLog uintptr, pnCkpt uintptr) int32 { /* sqlite3.c:170889:16: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -149324,7 +149355,7 @@ func Xsqlite3_wal_checkpoint_v2(tls *libc.TLS, db uintptr, zDb uintptr, eMode in // Checkpoint database zDb. If zDb is NULL, or if the buffer zDb points // to contains a zero-length string, all attached databases are // checkpointed. -func Xsqlite3_wal_checkpoint(tls *libc.TLS, db uintptr, zDb uintptr) int32 { /* sqlite3.c:170896:16: */ +func Xsqlite3_wal_checkpoint(tls *libc.TLS, db uintptr, zDb uintptr) int32 { /* sqlite3.c:170953:16: */ // EVIDENCE-OF: R-41613-20553 The sqlite3_wal_checkpoint(D,X) is equivalent to // sqlite3_wal_checkpoint_v2(D,X,SQLITE_CHECKPOINT_PASSIVE,0,0). return Xsqlite3_wal_checkpoint_v2(tls, db, zDb, SQLITE_CHECKPOINT_PASSIVE, uintptr(0), uintptr(0)) @@ -149348,7 +149379,7 @@ func Xsqlite3_wal_checkpoint(tls *libc.TLS, db uintptr, zDb uintptr) int32 { /* // // Parameter eMode is one of SQLITE_CHECKPOINT_PASSIVE, FULL, RESTART // or TRUNCATE. -func Xsqlite3Checkpoint(tls *libc.TLS, db uintptr, iDb int32, eMode int32, pnLog uintptr, pnCkpt uintptr) int32 { /* sqlite3.c:170923:20: */ +func Xsqlite3Checkpoint(tls *libc.TLS, db uintptr, iDb int32, eMode int32, pnLog uintptr, pnCkpt uintptr) int32 { /* sqlite3.c:170980:20: */ var rc int32 = SQLITE_OK // Return code var i int32 // Used to iterate through attached dbs var bBusy int32 = 0 // True if SQLITE_BUSY has been encountered @@ -149390,19 +149421,19 @@ func Xsqlite3Checkpoint(tls *libc.TLS, db uintptr, iDb int32, eMode int32, pnLog // 2 2 memory (return 1) // 2 0 memory (return 1) // 3 any memory (return 1) -func Xsqlite3TempInMemory(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:170969:20: */ +func Xsqlite3TempInMemory(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:171026:20: */ return libc.Bool32(int32((*Sqlite3)(unsafe.Pointer(db)).Ftemp_store) == 2) } // Return UTF-8 encoded English language explanation of the most recent // error. -func Xsqlite3_errmsg(tls *libc.TLS, db uintptr) uintptr { /* sqlite3.c:170990:23: */ +func Xsqlite3_errmsg(tls *libc.TLS, db uintptr) uintptr { /* sqlite3.c:171047:23: */ var z uintptr if !(db != 0) { return Xsqlite3ErrStr(tls, SQLITE_NOMEM) } if !(Xsqlite3SafetyCheckSickOrOk(tls, db) != 0) { - return Xsqlite3ErrStr(tls, Xsqlite3MisuseError(tls, 170996)) + return Xsqlite3ErrStr(tls, Xsqlite3MisuseError(tls, 171053)) } Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) if (*Sqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 { @@ -149424,7 +149455,7 @@ func Xsqlite3_errmsg(tls *libc.TLS, db uintptr) uintptr { /* sqlite3.c:170990:23 } // Return the byte offset of the most recent error -func Xsqlite3_error_offset(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:171016:16: */ +func Xsqlite3_error_offset(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:171073:16: */ var iOffset int32 = -1 if db != 0 && Xsqlite3SafetyCheckSickOrOk(tls, db) != 0 && (*Sqlite3)(unsafe.Pointer(db)).FerrCode != 0 { Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) @@ -149436,7 +149467,7 @@ func Xsqlite3_error_offset(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:17101 // Return UTF-16 encoded English language explanation of the most recent // error. -func Xsqlite3_errmsg16(tls *libc.TLS, db uintptr) uintptr { /* sqlite3.c:171031:23: */ +func Xsqlite3_errmsg16(tls *libc.TLS, db uintptr) uintptr { /* sqlite3.c:171088:23: */ var z uintptr if !(db != 0) { return uintptr(uintptr(unsafe.Pointer(&outOfMem))) @@ -149465,18 +149496,18 @@ func Xsqlite3_errmsg16(tls *libc.TLS, db uintptr) uintptr { /* sqlite3.c:171031: var outOfMem = [14]U16{ U16('o'), U16('u'), U16('t'), U16(' '), U16('o'), U16('f'), U16(' '), U16('m'), U16('e'), U16('m'), U16('o'), U16('r'), U16('y'), U16(0), -} /* sqlite3.c:171032:20 */ +} /* sqlite3.c:171089:20 */ var misuse = [34]U16{ U16('b'), U16('a'), U16('d'), U16(' '), U16('p'), U16('a'), U16('r'), U16('a'), U16('m'), U16('e'), U16('t'), U16('e'), U16('r'), U16(' '), U16('o'), U16('r'), U16(' '), U16('o'), U16('t'), U16('h'), U16('e'), U16('r'), U16(' '), U16('A'), U16('P'), U16('I'), U16(' '), U16('m'), U16('i'), U16('s'), U16('u'), U16('s'), U16('e'), U16(0), -} /* sqlite3.c:171035:20 */ +} /* sqlite3.c:171092:20 */ // Return the most recent error code generated by an SQLite routine. If NULL is // passed to this function, we assume a malloc() failed during sqlite3_open(). -func Xsqlite3_errcode(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:171073:16: */ +func Xsqlite3_errcode(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:171130:16: */ if db != 0 && !(Xsqlite3SafetyCheckSickOrOk(tls, db) != 0) { - return Xsqlite3MisuseError(tls, 171075) + return Xsqlite3MisuseError(tls, 171132) } if !(db != 0) || (*Sqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 { return SQLITE_NOMEM @@ -149484,9 +149515,9 @@ func Xsqlite3_errcode(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:171073:16: return (*Sqlite3)(unsafe.Pointer(db)).FerrCode & (*Sqlite3)(unsafe.Pointer(db)).FerrMask } -func Xsqlite3_extended_errcode(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:171082:16: */ +func Xsqlite3_extended_errcode(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:171139:16: */ if db != 0 && !(Xsqlite3SafetyCheckSickOrOk(tls, db) != 0) { - return Xsqlite3MisuseError(tls, 171084) + return Xsqlite3MisuseError(tls, 171141) } if !(db != 0) || (*Sqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 { return SQLITE_NOMEM @@ -149494,7 +149525,7 @@ func Xsqlite3_extended_errcode(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:1 return (*Sqlite3)(unsafe.Pointer(db)).FerrCode } -func Xsqlite3_system_errno(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:171091:16: */ +func Xsqlite3_system_errno(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:171148:16: */ if db != 0 { return (*Sqlite3)(unsafe.Pointer(db)).FiSysErrno } @@ -149504,13 +149535,13 @@ func Xsqlite3_system_errno(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:17109 // Return a string that describes the kind of error specified in the // argument. For now, this simply calls the internal sqlite3ErrStr() // function. -func Xsqlite3_errstr(tls *libc.TLS, rc int32) uintptr { /* sqlite3.c:171100:23: */ +func Xsqlite3_errstr(tls *libc.TLS, rc int32) uintptr { /* sqlite3.c:171157:23: */ return Xsqlite3ErrStr(tls, rc) } // 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 U8, pCtx uintptr, xCompare uintptr, xDel uintptr) int32 { /* sqlite3.c:171108:12: */ +func createCollation(tls *libc.TLS, db uintptr, zName uintptr, enc U8, pCtx uintptr, xCompare uintptr, xDel uintptr) int32 { /* sqlite3.c:171165:12: */ var pColl uintptr var enc2 int32 @@ -149523,7 +149554,7 @@ func createCollation(tls *libc.TLS, db uintptr, zName uintptr, enc U8, pCtx uint enc2 = SQLITE_UTF16LE } if enc2 < SQLITE_UTF8 || enc2 > SQLITE_UTF16BE { - return Xsqlite3MisuseError(tls, 171132) + return Xsqlite3MisuseError(tls, 171189) } // Check if this call is removing or replacing an existing collation @@ -149586,7 +149617,7 @@ var aHardLimit = [12]int32{ SQLITE_MAX_VARIABLE_NUMBER, // IMP: R-38091-32352 SQLITE_MAX_TRIGGER_DEPTH, SQLITE_MAX_WORKER_THREADS, -} /* sqlite3.c:171185:18 */ +} /* sqlite3.c:171242:18 */ // Make sure the hard limits are set to reasonable values @@ -149598,7 +149629,7 @@ var aHardLimit = [12]int32{ // A new lower limit does not shrink existing constructs. // It merely prevents new constructs that exceed the limit // from forming. -func Xsqlite3_limit(tls *libc.TLS, db uintptr, limitId int32, newLimit int32) int32 { /* sqlite3.c:171248:16: */ +func Xsqlite3_limit(tls *libc.TLS, db uintptr, limitId int32, newLimit int32) int32 { /* sqlite3.c:171305:16: */ var oldLimit int32 // EVIDENCE-OF: R-30189-54097 For each limit category SQLITE_LIMIT_NAME @@ -149645,7 +149676,7 @@ func Xsqlite3_limit(tls *libc.TLS, db uintptr, limitId int32, newLimit int32) in // may be set to point to a buffer containing an English language error // message. It is the responsibility of the caller to eventually release // this buffer by calling sqlite3_free(). -func Xsqlite3ParseUri(tls *libc.TLS, zDefaultVfs uintptr, zUri uintptr, pFlags uintptr, ppVfs uintptr, pzFile uintptr, pzErrMsg uintptr) int32 { /* sqlite3.c:171320:20: */ +func Xsqlite3ParseUri(tls *libc.TLS, zDefaultVfs uintptr, zUri uintptr, pFlags uintptr, ppVfs uintptr, pzFile uintptr, pzErrMsg uintptr) int32 { /* sqlite3.c:171377:20: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -149982,24 +150013,24 @@ __43: type OpenMode = struct { Fz uintptr Fmode int32 -} /* sqlite3.c:171462:9 */ +} /* sqlite3.c:171519:9 */ var aCacheMode = [3]OpenMode{ {Fz: ts + 24140, Fmode: SQLITE_OPEN_SHAREDCACHE}, {Fz: ts + 24147, Fmode: SQLITE_OPEN_PRIVATECACHE}, {}, -} /* sqlite3.c:171471:34 */ +} /* sqlite3.c:171528:34 */ var aOpenMode = [5]OpenMode{ {Fz: ts + 24155, Fmode: SQLITE_OPEN_READONLY}, {Fz: ts + 24158, Fmode: SQLITE_OPEN_READWRITE}, {Fz: ts + 24161, Fmode: SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE}, {Fz: ts + 17262, Fmode: SQLITE_OPEN_MEMORY}, {}, -} /* sqlite3.c:171483:34 */ +} /* sqlite3.c:171540:34 */ // This routine does the core work of extracting URI parameters from a // database filename for the sqlite3_uri_parameter() interface. -func uriParameter(tls *libc.TLS, zFilename uintptr, zParam uintptr) uintptr { /* sqlite3.c:171557:19: */ +func uriParameter(tls *libc.TLS, zFilename uintptr, zParam uintptr) uintptr { /* sqlite3.c:171614:19: */ zFilename += uintptr(Xsqlite3Strlen30(tls, zFilename) + 1) for zFilename != uintptr(0) && *(*int8)(unsafe.Pointer(zFilename)) != 0 { var x int32 = libc.Xstrcmp(tls, zFilename, zParam) @@ -150015,7 +150046,7 @@ func uriParameter(tls *libc.TLS, zFilename uintptr, zParam uintptr) uintptr { /* // This routine does the work of opening a database on behalf of // sqlite3_open() and sqlite3_open16(). The database filename "zFilename" // is UTF-8 encoded. -func openDatabase(tls *libc.TLS, zFilename uintptr, ppDb uintptr, flags uint32, zVfs uintptr) int32 { /* sqlite3.c:171575:12: */ +func openDatabase(tls *libc.TLS, zFilename uintptr, ppDb uintptr, flags uint32, zVfs uintptr) int32 { /* sqlite3.c:171632:12: */ bp := tls.Alloc(20) defer tls.Free(20) *(*uint32)(unsafe.Pointer(bp + 8)) = flags @@ -150199,7 +150230,7 @@ __15: if !(int32(1)<<(*(*uint32)(unsafe.Pointer(bp + 8))&uint32(7))&0x46 == 0) { goto __16 } - rc = Xsqlite3MisuseError(tls, 171788) // IMP: R-18321-05872 + rc = Xsqlite3MisuseError(tls, 171845) // IMP: R-18321-05872 goto __17 __16: rc = Xsqlite3ParseUri(tls, zVfs, zFilename, bp+8, db, bp+12, bp+16) @@ -150355,17 +150386,17 @@ __32: } // Open a new database handle. -func Xsqlite3_open(tls *libc.TLS, zFilename uintptr, ppDb uintptr) int32 { /* sqlite3.c:171910:16: */ +func Xsqlite3_open(tls *libc.TLS, zFilename uintptr, ppDb uintptr) int32 { /* sqlite3.c:171967:16: */ return openDatabase(tls, zFilename, ppDb, uint32(SQLITE_OPEN_READWRITE|SQLITE_OPEN_CREATE), uintptr(0)) } -func Xsqlite3_open_v2(tls *libc.TLS, filename uintptr, ppDb uintptr, flags int32, zVfs uintptr) int32 { /* sqlite3.c:171917:16: */ +func Xsqlite3_open_v2(tls *libc.TLS, filename uintptr, ppDb uintptr, flags int32, zVfs uintptr) int32 { /* sqlite3.c:171974:16: */ return openDatabase(tls, filename, ppDb, uint32(flags), zVfs) } // Open a new database handle. -func Xsqlite3_open16(tls *libc.TLS, zFilename uintptr, ppDb uintptr) int32 { /* sqlite3.c:171930:16: */ +func Xsqlite3_open16(tls *libc.TLS, zFilename uintptr, ppDb uintptr) int32 { /* sqlite3.c:171987:16: */ var zFilename8 uintptr // zFilename encoded in UTF-8 instead of UTF-16 var pVal uintptr var rc int32 @@ -150397,12 +150428,12 @@ func Xsqlite3_open16(tls *libc.TLS, zFilename uintptr, ppDb uintptr) int32 { /* } // 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) int32 { /* sqlite3.c:171969:16: */ +func Xsqlite3_create_collation(tls *libc.TLS, db uintptr, zName uintptr, enc int32, pCtx uintptr, xCompare uintptr) int32 { /* sqlite3.c:172026:16: */ return Xsqlite3_create_collation_v2(tls, db, zName, enc, pCtx, xCompare, uintptr(0)) } // 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) int32 { /* sqlite3.c:171982:16: */ +func Xsqlite3_create_collation_v2(tls *libc.TLS, db uintptr, zName uintptr, enc int32, pCtx uintptr, xCompare uintptr, xDel uintptr) int32 { /* sqlite3.c:172039:16: */ var rc int32 Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) @@ -150414,7 +150445,7 @@ func Xsqlite3_create_collation_v2(tls *libc.TLS, db uintptr, zName uintptr, enc } // 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) int32 { /* sqlite3.c:172007:16: */ +func Xsqlite3_create_collation16(tls *libc.TLS, db uintptr, zName uintptr, enc int32, pCtx uintptr, xCompare uintptr) int32 { /* sqlite3.c:172064:16: */ var rc int32 = SQLITE_OK var zName8 uintptr @@ -150432,7 +150463,7 @@ func Xsqlite3_create_collation16(tls *libc.TLS, db uintptr, zName uintptr, enc i // 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) int32 { /* sqlite3.c:172037:16: */ +func Xsqlite3_collation_needed(tls *libc.TLS, db uintptr, pCollNeededArg uintptr, xCollNeeded uintptr) int32 { /* sqlite3.c:172094:16: */ Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) (*Sqlite3)(unsafe.Pointer(db)).FxCollNeeded = xCollNeeded (*Sqlite3)(unsafe.Pointer(db)).FxCollNeeded16 = uintptr(0) @@ -150443,7 +150474,7 @@ func Xsqlite3_collation_needed(tls *libc.TLS, db uintptr, pCollNeededArg uintptr // 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) int32 { /* sqlite3.c:172058:16: */ +func Xsqlite3_collation_needed16(tls *libc.TLS, db uintptr, pCollNeededArg uintptr, xCollNeeded16 uintptr) int32 { /* sqlite3.c:172115:16: */ Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) (*Sqlite3)(unsafe.Pointer(db)).FxCollNeeded = uintptr(0) (*Sqlite3)(unsafe.Pointer(db)).FxCollNeeded16 = xCollNeeded16 @@ -150454,7 +150485,7 @@ func Xsqlite3_collation_needed16(tls *libc.TLS, db uintptr, pCollNeededArg uintp // This function is now an anachronism. It used to be used to recover from a // malloc() failure, but SQLite now does this automatically. -func Xsqlite3_global_recover(tls *libc.TLS) int32 { /* sqlite3.c:172080:16: */ +func Xsqlite3_global_recover(tls *libc.TLS) int32 { /* sqlite3.c:172137:16: */ return SQLITE_OK } @@ -150462,7 +150493,7 @@ func Xsqlite3_global_recover(tls *libc.TLS) int32 { /* sqlite3.c:172080:16: */ // mode. Return TRUE if it is and FALSE if not. Autocommit mode is on // by default. Autocommit is disabled by a BEGIN statement and reenabled // by the next COMMIT or ROLLBACK. -func Xsqlite3_get_autocommit(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:172091:16: */ +func Xsqlite3_get_autocommit(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:172148:16: */ return int32((*Sqlite3)(unsafe.Pointer(db)).FautoCommit) } @@ -150475,7 +150506,7 @@ func Xsqlite3_get_autocommit(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:172 // // 2. Invoke sqlite3_log() to provide the source code location where // a low-level error is first detected. -func Xsqlite3ReportError(tls *libc.TLS, iErr int32, lineno int32, zType uintptr) int32 { /* sqlite3.c:172112:20: */ +func Xsqlite3ReportError(tls *libc.TLS, iErr int32, lineno int32, zType uintptr) int32 { /* sqlite3.c:172169:20: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -150484,17 +150515,17 @@ func Xsqlite3ReportError(tls *libc.TLS, iErr int32, lineno int32, zType uintptr) return iErr } -func Xsqlite3CorruptError(tls *libc.TLS, lineno int32) int32 { /* sqlite3.c:172117:20: */ +func Xsqlite3CorruptError(tls *libc.TLS, lineno int32) int32 { /* sqlite3.c:172174:20: */ return Xsqlite3ReportError(tls, SQLITE_CORRUPT, lineno, ts+24199) } -func Xsqlite3MisuseError(tls *libc.TLS, lineno int32) int32 { /* sqlite3.c:172121:20: */ +func Xsqlite3MisuseError(tls *libc.TLS, lineno int32) int32 { /* sqlite3.c:172178:20: */ return Xsqlite3ReportError(tls, SQLITE_MISUSE, lineno, ts+24219) } -func Xsqlite3CantopenError(tls *libc.TLS, lineno int32) int32 { /* sqlite3.c:172125:20: */ +func Xsqlite3CantopenError(tls *libc.TLS, lineno int32) int32 { /* sqlite3.c:172182:20: */ return Xsqlite3ReportError(tls, SQLITE_CANTOPEN, lineno, ts+24226) } @@ -150504,12 +150535,12 @@ func Xsqlite3CantopenError(tls *libc.TLS, lineno int32) int32 { /* sqlite3.c:172 // // SQLite no longer uses thread-specific data so this routine is now a // no-op. It is retained for historical compatibility. -func Xsqlite3_thread_cleanup(tls *libc.TLS) { /* sqlite3.c:172156:17: */ +func Xsqlite3_thread_cleanup(tls *libc.TLS) { /* sqlite3.c:172213:17: */ } // Return meta information about a specific column of a database table. // See comment in sqlite3.h (sqlite.h.in) for details. -func Xsqlite3_table_column_metadata(tls *libc.TLS, db uintptr, zDbName uintptr, zTableName uintptr, zColumnName uintptr, pzDataType uintptr, pzCollSeq uintptr, pNotNull uintptr, pPrimaryKey uintptr, pAutoinc uintptr) int32 { /* sqlite3.c:172164:16: */ +func Xsqlite3_table_column_metadata(tls *libc.TLS, db uintptr, zDbName uintptr, zTableName uintptr, zColumnName uintptr, pzDataType uintptr, pzCollSeq uintptr, pNotNull uintptr, pPrimaryKey uintptr, pAutoinc uintptr) int32 { /* sqlite3.c:172221:16: */ bp := tls.Alloc(28) defer tls.Free(28) @@ -150693,7 +150724,7 @@ __20: } // Sleep for a little while. Return the amount of time slept. -func Xsqlite3_sleep(tls *libc.TLS, ms int32) int32 { /* sqlite3.c:172282:16: */ +func Xsqlite3_sleep(tls *libc.TLS, ms int32) int32 { /* sqlite3.c:172339:16: */ var pVfs uintptr var rc int32 pVfs = Xsqlite3_vfs_find(tls, uintptr(0)) @@ -150708,7 +150739,7 @@ func Xsqlite3_sleep(tls *libc.TLS, ms int32) int32 { /* sqlite3.c:172282:16: */ } // Enable or disable the extended result codes. -func Xsqlite3_extended_result_codes(tls *libc.TLS, db uintptr, onoff int32) int32 { /* sqlite3.c:172298:16: */ +func Xsqlite3_extended_result_codes(tls *libc.TLS, db uintptr, onoff int32) int32 { /* sqlite3.c:172355:16: */ Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) (*Sqlite3)(unsafe.Pointer(db)).FerrMask = func() int32 { if onoff != 0 { @@ -150721,7 +150752,7 @@ func Xsqlite3_extended_result_codes(tls *libc.TLS, db uintptr, onoff int32) int3 } // Invoke the xFileControl method on a particular database. -func Xsqlite3_file_control(tls *libc.TLS, db uintptr, zDbName uintptr, op int32, pArg uintptr) int32 { /* sqlite3.c:172311:16: */ +func Xsqlite3_file_control(tls *libc.TLS, db uintptr, zDbName uintptr, op int32, pArg uintptr) int32 { /* sqlite3.c:172368:16: */ var rc int32 = SQLITE_ERROR var pBtree uintptr @@ -150766,7 +150797,7 @@ func Xsqlite3_file_control(tls *libc.TLS, db uintptr, zDbName uintptr, op int32, } // Interface to the testing logic. -func Xsqlite3_test_control(tls *libc.TLS, op int32, va uintptr) int32 { /* sqlite3.c:172361:16: */ +func Xsqlite3_test_control(tls *libc.TLS, op int32, va uintptr) int32 { /* sqlite3.c:172418:16: */ var rc int32 = 0 var ap Va_list _ = ap @@ -151225,7 +151256,7 @@ func Xsqlite3_test_control(tls *libc.TLS, op int32, va uintptr) int32 { /* sqlit // backwards for the first byte following four consecutive zero bytes. // // This only works if the filename passed in was obtained from the Pager. -func databaseName(tls *libc.TLS, zName uintptr) uintptr { /* sqlite3.c:172857:19: */ +func databaseName(tls *libc.TLS, zName uintptr) uintptr { /* sqlite3.c:172914:19: */ for int32(*(*int8)(unsafe.Pointer(zName + libc.UintptrFromInt32(-1)))) != 0 || int32(*(*int8)(unsafe.Pointer(zName + libc.UintptrFromInt32(-2)))) != 0 || int32(*(*int8)(unsafe.Pointer(zName + libc.UintptrFromInt32(-3)))) != 0 || int32(*(*int8)(unsafe.Pointer(zName + libc.UintptrFromInt32(-4)))) != 0 { zName-- } @@ -151234,7 +151265,7 @@ func databaseName(tls *libc.TLS, zName uintptr) uintptr { /* sqlite3.c:172857:19 // Append text z[] to the end of p[]. Return a pointer to the first // character after then zero terminator on the new text in p[]. -func appendText(tls *libc.TLS, p uintptr, z uintptr) uintptr { /* sqlite3.c:172868:13: */ +func appendText(tls *libc.TLS, p uintptr, z uintptr) uintptr { /* sqlite3.c:172925:13: */ var n Size_t = libc.Xstrlen(tls, z) libc.Xmemcpy(tls, p, z, n+Size_t(1)) return p + uintptr(n) + uintptr(1) @@ -151247,7 +151278,7 @@ func appendText(tls *libc.TLS, p uintptr, z uintptr) uintptr { /* sqlite3.c:1728 // // Memory layout must be compatible with that generated by the pager // and expected by sqlite3_uri_parameter() and databaseName(). -func Xsqlite3_create_filename(tls *libc.TLS, zDatabase uintptr, zJournal uintptr, zWal uintptr, nParam int32, azParam uintptr) uintptr { /* sqlite3.c:172883:17: */ +func Xsqlite3_create_filename(tls *libc.TLS, zDatabase uintptr, zJournal uintptr, zWal uintptr, nParam int32, azParam uintptr) uintptr { /* sqlite3.c:172940:17: */ var nByte Sqlite3_int64 var i int32 var pResult uintptr @@ -151278,7 +151309,7 @@ func Xsqlite3_create_filename(tls *libc.TLS, zDatabase uintptr, zJournal uintptr // Free memory obtained from sqlite3_create_filename(). It is a severe // error to call this routine with any parameter other than a pointer // previously obtained from sqlite3_create_filename() or a NULL pointer. -func Xsqlite3_free_filename(tls *libc.TLS, p uintptr) { /* sqlite3.c:172919:17: */ +func Xsqlite3_free_filename(tls *libc.TLS, p uintptr) { /* sqlite3.c:172976:17: */ if p == uintptr(0) { return } @@ -151295,7 +151326,7 @@ func Xsqlite3_free_filename(tls *libc.TLS, p uintptr) { /* sqlite3.c:172919:17: // query parameter we seek. This routine returns the value of the zParam // parameter if it exists. If the parameter does not exist, this routine // returns a NULL pointer. -func Xsqlite3_uri_parameter(tls *libc.TLS, zFilename uintptr, zParam uintptr) uintptr { /* sqlite3.c:172937:23: */ +func Xsqlite3_uri_parameter(tls *libc.TLS, zFilename uintptr, zParam uintptr) uintptr { /* sqlite3.c:172994:23: */ if zFilename == uintptr(0) || zParam == uintptr(0) { return uintptr(0) } @@ -151304,7 +151335,7 @@ func Xsqlite3_uri_parameter(tls *libc.TLS, zFilename uintptr, zParam uintptr) ui } // Return a pointer to the name of Nth query parameter of the filename. -func Xsqlite3_uri_key(tls *libc.TLS, zFilename uintptr, N int32) uintptr { /* sqlite3.c:172946:23: */ +func Xsqlite3_uri_key(tls *libc.TLS, zFilename uintptr, N int32) uintptr { /* sqlite3.c:173003:23: */ if zFilename == uintptr(0) || N < 0 { return uintptr(0) } @@ -151321,7 +151352,7 @@ func Xsqlite3_uri_key(tls *libc.TLS, zFilename uintptr, N int32) uintptr { /* sq } // Return a boolean value for a query parameter. -func Xsqlite3_uri_boolean(tls *libc.TLS, zFilename uintptr, zParam uintptr, bDflt int32) int32 { /* sqlite3.c:172960:16: */ +func Xsqlite3_uri_boolean(tls *libc.TLS, zFilename uintptr, zParam uintptr, bDflt int32) int32 { /* sqlite3.c:173017:16: */ var z uintptr = Xsqlite3_uri_parameter(tls, zFilename, zParam) bDflt = libc.Bool32(bDflt != 0) if z != 0 { @@ -151331,7 +151362,7 @@ func Xsqlite3_uri_boolean(tls *libc.TLS, zFilename uintptr, zParam uintptr, bDfl } // Return a 64-bit integer value for a query parameter. -func Xsqlite3_uri_int64(tls *libc.TLS, zFilename uintptr, zParam uintptr, bDflt Sqlite3_int64) Sqlite3_int64 { /* sqlite3.c:172969:26: */ +func Xsqlite3_uri_int64(tls *libc.TLS, zFilename uintptr, zParam uintptr, bDflt Sqlite3_int64) Sqlite3_int64 { /* sqlite3.c:173026:26: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -151352,14 +151383,14 @@ func Xsqlite3_uri_int64(tls *libc.TLS, zFilename uintptr, zParam uintptr, bDflt // passing free() a pointer that was not obtained from malloc() - it is // an error that we cannot easily detect but that will likely cause memory // corruption. -func Xsqlite3_filename_database(tls *libc.TLS, zFilename uintptr) uintptr { /* sqlite3.c:172992:23: */ +func Xsqlite3_filename_database(tls *libc.TLS, zFilename uintptr) uintptr { /* sqlite3.c:173049:23: */ if zFilename == uintptr(0) { return uintptr(0) } return databaseName(tls, zFilename) } -func Xsqlite3_filename_journal(tls *libc.TLS, zFilename uintptr) uintptr { /* sqlite3.c:172996:23: */ +func Xsqlite3_filename_journal(tls *libc.TLS, zFilename uintptr) uintptr { /* sqlite3.c:173053:23: */ if zFilename == uintptr(0) { return uintptr(0) } @@ -151372,7 +151403,7 @@ func Xsqlite3_filename_journal(tls *libc.TLS, zFilename uintptr) uintptr { /* sq return zFilename + uintptr(1) } -func Xsqlite3_filename_wal(tls *libc.TLS, zFilename uintptr) uintptr { /* sqlite3.c:173006:23: */ +func Xsqlite3_filename_wal(tls *libc.TLS, zFilename uintptr) uintptr { /* sqlite3.c:173063:23: */ zFilename = Xsqlite3_filename_journal(tls, zFilename) if zFilename != 0 { zFilename += uintptr(Xsqlite3Strlen30(tls, zFilename) + 1) @@ -151381,7 +151412,7 @@ func Xsqlite3_filename_wal(tls *libc.TLS, zFilename uintptr) uintptr { /* sqlite } // Return the Btree pointer identified by zDbName. Return NULL if not found. -func Xsqlite3DbNameToBtree(tls *libc.TLS, db uintptr, zDbName uintptr) uintptr { /* sqlite3.c:173019:22: */ +func Xsqlite3DbNameToBtree(tls *libc.TLS, db uintptr, zDbName uintptr) uintptr { /* sqlite3.c:173076:22: */ var iDb int32 if zDbName != 0 { iDb = Xsqlite3FindDbName(tls, db, zDbName) @@ -151396,7 +151427,7 @@ func Xsqlite3DbNameToBtree(tls *libc.TLS, db uintptr, zDbName uintptr) uintptr { // Return the filename of the database associated with a database // connection. -func Xsqlite3_db_filename(tls *libc.TLS, db uintptr, zDbName uintptr) uintptr { /* sqlite3.c:173028:23: */ +func Xsqlite3_db_filename(tls *libc.TLS, db uintptr, zDbName uintptr) uintptr { /* sqlite3.c:173085:23: */ var pBt uintptr pBt = Xsqlite3DbNameToBtree(tls, db, zDbName) if pBt != 0 { @@ -151407,7 +151438,7 @@ func Xsqlite3_db_filename(tls *libc.TLS, db uintptr, zDbName uintptr) uintptr { // Return 1 if database is read-only or 0 if read/write. Return -1 if // no such database exists. -func Xsqlite3_db_readonly(tls *libc.TLS, db uintptr, zDbName uintptr) int32 { /* sqlite3.c:173044:16: */ +func Xsqlite3_db_readonly(tls *libc.TLS, db uintptr, zDbName uintptr) int32 { /* sqlite3.c:173101:16: */ var pBt uintptr pBt = Xsqlite3DbNameToBtree(tls, db, zDbName) if pBt != 0 { @@ -151418,7 +151449,7 @@ func Xsqlite3_db_readonly(tls *libc.TLS, db uintptr, zDbName uintptr) int32 { /* // Obtain a snapshot handle for the snapshot of database zDb currently // being read by handle db. -func Xsqlite3_snapshot_get(tls *libc.TLS, db uintptr, zDb uintptr, ppSnapshot uintptr) int32 { /* sqlite3.c:173061:16: */ +func Xsqlite3_snapshot_get(tls *libc.TLS, db uintptr, zDb uintptr, ppSnapshot uintptr) int32 { /* sqlite3.c:173118:16: */ var rc int32 = SQLITE_ERROR Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) @@ -151441,7 +151472,7 @@ func Xsqlite3_snapshot_get(tls *libc.TLS, db uintptr, zDb uintptr, ppSnapshot ui } // Open a read-transaction on the snapshot idendified by pSnapshot. -func Xsqlite3_snapshot_open(tls *libc.TLS, db uintptr, zDb uintptr, pSnapshot uintptr) int32 { /* sqlite3.c:173097:16: */ +func Xsqlite3_snapshot_open(tls *libc.TLS, db uintptr, zDb uintptr, pSnapshot uintptr) int32 { /* sqlite3.c:173154:16: */ var rc int32 = SQLITE_ERROR Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) @@ -151484,7 +151515,7 @@ func Xsqlite3_snapshot_open(tls *libc.TLS, db uintptr, zDb uintptr, pSnapshot ui // Recover as many snapshots as possible from the wal file associated with // schema zDb of database db. -func Xsqlite3_snapshot_recover(tls *libc.TLS, db uintptr, zDb uintptr) int32 { /* sqlite3.c:173153:16: */ +func Xsqlite3_snapshot_recover(tls *libc.TLS, db uintptr, zDb uintptr) int32 { /* sqlite3.c:173210:16: */ var rc int32 = SQLITE_ERROR var iDb int32 @@ -151505,7 +151536,7 @@ func Xsqlite3_snapshot_recover(tls *libc.TLS, db uintptr, zDb uintptr) int32 { / } // Free a snapshot handle obtained from sqlite3_snapshot_get(). -func Xsqlite3_snapshot_free(tls *libc.TLS, pSnapshot uintptr) { /* sqlite3.c:173184:17: */ +func Xsqlite3_snapshot_free(tls *libc.TLS, pSnapshot uintptr) { /* sqlite3.c:173241:17: */ Xsqlite3_free(tls, pSnapshot) } @@ -151514,7 +151545,7 @@ func Xsqlite3_snapshot_free(tls *libc.TLS, pSnapshot uintptr) { /* sqlite3.c:173 // // The name can optionally begin with "SQLITE_" but the "SQLITE_" prefix // is not required for a match. -func Xsqlite3_compileoption_used(tls *libc.TLS, zOptName uintptr) int32 { /* sqlite3.c:173197:16: */ +func Xsqlite3_compileoption_used(tls *libc.TLS, zOptName uintptr) int32 { /* sqlite3.c:173254:16: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -151544,7 +151575,7 @@ func Xsqlite3_compileoption_used(tls *libc.TLS, zOptName uintptr) int32 { /* sql // Return the N-th compile-time option string. If N is out of range, // return a NULL pointer. -func Xsqlite3_compileoption_get(tls *libc.TLS, N int32) uintptr { /* sqlite3.c:173230:23: */ +func Xsqlite3_compileoption_get(tls *libc.TLS, N int32) uintptr { /* sqlite3.c:173287:23: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -151589,11 +151620,11 @@ func Xsqlite3_compileoption_get(tls *libc.TLS, N int32) uintptr { /* sqlite3.c:1 // for which either sqlite3.pBlockingConnection or sqlite3.pUnlockConnection // is not NULL. This variable may only accessed while the STATIC_MAIN // mutex is held. -var sqlite3BlockedList uintptr = uintptr(0) /* sqlite3.c:173282:16 */ +var sqlite3BlockedList uintptr = uintptr(0) /* sqlite3.c:173339:16 */ // Remove connection db from the blocked connections list. If connection // db is not currently a part of the list, this function is a no-op. -func removeFromBlockedList(tls *libc.TLS, db uintptr) { /* sqlite3.c:173325:13: */ +func removeFromBlockedList(tls *libc.TLS, db uintptr) { /* sqlite3.c:173382:13: */ var pp uintptr for pp = uintptr(unsafe.Pointer(&sqlite3BlockedList)); *(*uintptr)(unsafe.Pointer(pp)) != 0; pp = *(*uintptr)(unsafe.Pointer(pp)) + 552 { @@ -151606,7 +151637,7 @@ func removeFromBlockedList(tls *libc.TLS, db uintptr) { /* sqlite3.c:173325:13: // Add connection db to the blocked connections list. It is assumed // that it is not already a part of the list. -func addToBlockedList(tls *libc.TLS, db uintptr) { /* sqlite3.c:173340:13: */ +func addToBlockedList(tls *libc.TLS, db uintptr) { /* sqlite3.c:173397:13: */ var pp uintptr for pp = uintptr(unsafe.Pointer(&sqlite3BlockedList)); *(*uintptr)(unsafe.Pointer(pp)) != 0 && (*Sqlite3)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pp)))).FxUnlockNotify != (*Sqlite3)(unsafe.Pointer(db)).FxUnlockNotify; pp = *(*uintptr)(unsafe.Pointer(pp)) + 552 { @@ -151616,13 +151647,13 @@ func addToBlockedList(tls *libc.TLS, db uintptr) { /* sqlite3.c:173340:13: */ } // Obtain the STATIC_MAIN mutex. -func enterMutex(tls *libc.TLS) { /* sqlite3.c:173355:13: */ +func enterMutex(tls *libc.TLS) { /* sqlite3.c:173412:13: */ Xsqlite3_mutex_enter(tls, Xsqlite3MutexAlloc(tls, SQLITE_MUTEX_STATIC_MAIN)) } // Release the STATIC_MAIN mutex. -func leaveMutex(tls *libc.TLS) { /* sqlite3.c:173363:13: */ +func leaveMutex(tls *libc.TLS) { /* sqlite3.c:173420:13: */ Xsqlite3_mutex_leave(tls, Xsqlite3MutexAlloc(tls, SQLITE_MUTEX_STATIC_MAIN)) } @@ -151646,7 +151677,7 @@ func leaveMutex(tls *libc.TLS) { /* sqlite3.c:173363:13: */ // Each call to this routine overrides any prior callbacks registered // 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) int32 { /* sqlite3.c:173390:16: */ +func Xsqlite3_unlock_notify(tls *libc.TLS, db uintptr, xNotify uintptr, pArg uintptr) int32 { /* sqlite3.c:173447:16: */ bp := tls.Alloc(4) defer tls.Free(4) *(*uintptr)(unsafe.Pointer(bp)) = pArg @@ -151701,7 +151732,7 @@ func Xsqlite3_unlock_notify(tls *libc.TLS, db uintptr, xNotify uintptr, pArg uin // associated with connection db. The operation will return SQLITE_LOCKED // to the user because it requires a lock that will not be available // until connection pBlocker concludes its current transaction. -func Xsqlite3ConnectionBlocked(tls *libc.TLS, db uintptr, pBlocker uintptr) { /* sqlite3.c:173440:21: */ +func Xsqlite3ConnectionBlocked(tls *libc.TLS, db uintptr, pBlocker uintptr) { /* sqlite3.c:173497:21: */ enterMutex(tls) if (*Sqlite3)(unsafe.Pointer(db)).FpBlockingConnection == uintptr(0) && (*Sqlite3)(unsafe.Pointer(db)).FpUnlockConnection == uintptr(0) { addToBlockedList(tls, db) @@ -151727,7 +151758,7 @@ func Xsqlite3ConnectionBlocked(tls *libc.TLS, db uintptr, pBlocker uintptr) { /* // 3) If the two steps above mean that pBlockingConnection==0 and // pUnlockConnection==0, remove the entry from the blocked connections // list. -func Xsqlite3ConnectionUnlocked(tls *libc.TLS, db uintptr) { /* sqlite3.c:173468:21: */ +func Xsqlite3ConnectionUnlocked(tls *libc.TLS, db uintptr) { /* sqlite3.c:173525:21: */ bp := tls.Alloc(64) defer tls.Free(64) @@ -151831,7 +151862,7 @@ func Xsqlite3ConnectionUnlocked(tls *libc.TLS, db uintptr) { /* sqlite3.c:173468 // This is called when the database connection passed as an argument is // being closed. The connection is removed from the blocked list. -func Xsqlite3ConnectionClosed(tls *libc.TLS, db uintptr) { /* sqlite3.c:173567:21: */ +func Xsqlite3ConnectionClosed(tls *libc.TLS, db uintptr) { /* sqlite3.c:173624:21: */ Xsqlite3ConnectionUnlocked(tls, db) enterMutex(tls) removeFromBlockedList(tls, db) @@ -152436,7 +152467,7 @@ var jsonIsSpace = [256]int8{ int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), -} /* sqlite3.c:193144:19 */ +} /* sqlite3.c:193201:19 */ // Objects type JsonString1 = struct { @@ -152448,10 +152479,10 @@ type JsonString1 = struct { FbErr U8 FzSpace [100]int8 F__ccgo_pad1 [2]byte -} /* sqlite3.c:193171:9 */ +} /* sqlite3.c:193228:9 */ // Objects -type JsonString = JsonString1 /* sqlite3.c:193171:27 */ +type JsonString = JsonString1 /* sqlite3.c:193228:27 */ type JsonNode1 = struct { FeType U8 FjnFlags U8 @@ -152459,9 +152490,9 @@ type JsonNode1 = struct { F__ccgo_pad1 [1]byte Fn U32 Fu struct{ FzJContent uintptr } -} /* sqlite3.c:193172:9 */ +} /* sqlite3.c:193229:9 */ -type JsonNode = JsonNode1 /* sqlite3.c:193172:25 */ +type JsonNode = JsonNode1 /* sqlite3.c:193229:25 */ type JsonParse1 = struct { FnNode U32 FnAlloc U32 @@ -152473,9 +152504,9 @@ type JsonParse1 = struct { FiDepth U16 FnJson int32 FiHold U32 -} /* sqlite3.c:193173:9 */ +} /* sqlite3.c:193230:9 */ -type JsonParse = JsonParse1 /* sqlite3.c:193173:26 */ +type JsonParse = JsonParse1 /* sqlite3.c:193230:26 */ // JSON type values @@ -152484,7 +152515,7 @@ type JsonParse = JsonParse1 /* sqlite3.c:193173:26 */ // Names of the various JSON types: var jsonType = [8]uintptr{ ts + 6125, ts + 6639, ts + 6644, ts + 6135, ts + 6130, ts + 7885, ts + 24302, ts + 24308, -} /* sqlite3.c:193206:19 */ +} /* sqlite3.c:193263:19 */ // Maximum nesting depth of JSON for this implementation. // @@ -152498,7 +152529,7 @@ var jsonType = [8]uintptr{ // // Set the JsonString object to an empty string -func jsonZero(tls *libc.TLS, p uintptr) { /* sqlite3.c:193267:13: */ +func jsonZero(tls *libc.TLS, p uintptr) { /* sqlite3.c:193324:13: */ (*JsonString)(unsafe.Pointer(p)).FzBuf = p + 26 /* &.zSpace */ (*JsonString)(unsafe.Pointer(p)).FnAlloc = U64(unsafe.Sizeof([100]int8{})) (*JsonString)(unsafe.Pointer(p)).FnUsed = uint64(0) @@ -152506,7 +152537,7 @@ func jsonZero(tls *libc.TLS, p uintptr) { /* sqlite3.c:193267:13: */ } // Initialize the JsonString object -func jsonInit(tls *libc.TLS, p uintptr, pCtx uintptr) { /* sqlite3.c:193276:13: */ +func jsonInit(tls *libc.TLS, p uintptr, pCtx uintptr) { /* sqlite3.c:193333:13: */ (*JsonString)(unsafe.Pointer(p)).FpCtx = pCtx (*JsonString)(unsafe.Pointer(p)).FbErr = U8(0) jsonZero(tls, p) @@ -152514,7 +152545,7 @@ func jsonInit(tls *libc.TLS, p uintptr, pCtx uintptr) { /* sqlite3.c:193276:13: // Free all allocated memory and reset the JsonString object back to its // initial state. -func jsonReset(tls *libc.TLS, p uintptr) { /* sqlite3.c:193286:13: */ +func jsonReset(tls *libc.TLS, p uintptr) { /* sqlite3.c:193343:13: */ if !(int32((*JsonString)(unsafe.Pointer(p)).FbStatic) != 0) { Xsqlite3_free(tls, (*JsonString)(unsafe.Pointer(p)).FzBuf) } @@ -152522,7 +152553,7 @@ func jsonReset(tls *libc.TLS, p uintptr) { /* sqlite3.c:193286:13: */ } // Report an out-of-memory (OOM) condition -func jsonOom(tls *libc.TLS, p uintptr) { /* sqlite3.c:193294:13: */ +func jsonOom(tls *libc.TLS, p uintptr) { /* sqlite3.c:193351:13: */ (*JsonString)(unsafe.Pointer(p)).FbErr = U8(1) Xsqlite3_result_error_nomem(tls, (*JsonString)(unsafe.Pointer(p)).FpCtx) jsonReset(tls, p) @@ -152530,7 +152561,7 @@ func jsonOom(tls *libc.TLS, p uintptr) { /* sqlite3.c:193294:13: */ // Enlarge pJson->zBuf so that it can hold at least N more bytes. // Return zero on success. Return non-zero on an OOM error -func jsonGrow(tls *libc.TLS, p uintptr, N U32) int32 { /* sqlite3.c:193303:12: */ +func jsonGrow(tls *libc.TLS, p uintptr, N U32) int32 { /* sqlite3.c:193360:12: */ var nTotal U64 if U64(N) < (*JsonString)(unsafe.Pointer(p)).FnAlloc { nTotal = (*JsonString)(unsafe.Pointer(p)).FnAlloc * uint64(2) @@ -152563,7 +152594,7 @@ func jsonGrow(tls *libc.TLS, p uintptr, N U32) int32 { /* sqlite3.c:193303:12: * } // Append N bytes from zIn onto the end of the JsonString string. -func jsonAppendRaw(tls *libc.TLS, p uintptr, zIn uintptr, N U32) { /* sqlite3.c:193330:13: */ +func jsonAppendRaw(tls *libc.TLS, p uintptr, zIn uintptr, N U32) { /* sqlite3.c:193387:13: */ if N == U32(0) { return } @@ -152575,7 +152606,7 @@ func jsonAppendRaw(tls *libc.TLS, p uintptr, zIn uintptr, N U32) { /* sqlite3.c: } // Append formatted text (not to exceed N bytes) to the JsonString. -func jsonPrintf(tls *libc.TLS, N int32, p uintptr, zFormat uintptr, va uintptr) { /* sqlite3.c:193339:13: */ +func jsonPrintf(tls *libc.TLS, N int32, p uintptr, zFormat uintptr, va uintptr) { /* sqlite3.c:193396:13: */ var ap Va_list _ = ap if (*JsonString)(unsafe.Pointer(p)).FnUsed+U64(N) >= (*JsonString)(unsafe.Pointer(p)).FnAlloc && jsonGrow(tls, p, uint32(N)) != 0 { @@ -152588,7 +152619,7 @@ func jsonPrintf(tls *libc.TLS, N int32, p uintptr, zFormat uintptr, va uintptr) } // Append a single character -func jsonAppendChar(tls *libc.TLS, p uintptr, c int8) { /* sqlite3.c:193350:13: */ +func jsonAppendChar(tls *libc.TLS, p uintptr, c int8) { /* sqlite3.c:193407:13: */ if (*JsonString)(unsafe.Pointer(p)).FnUsed >= (*JsonString)(unsafe.Pointer(p)).FnAlloc && jsonGrow(tls, p, uint32(1)) != 0 { return } @@ -152597,7 +152628,7 @@ func jsonAppendChar(tls *libc.TLS, p uintptr, c int8) { /* sqlite3.c:193350:13: // Append a comma separator to the output buffer, if the previous // character is not '[' or '{'. -func jsonAppendSeparator(tls *libc.TLS, p uintptr) { /* sqlite3.c:193358:13: */ +func jsonAppendSeparator(tls *libc.TLS, p uintptr) { /* sqlite3.c:193415:13: */ var c int8 if (*JsonString)(unsafe.Pointer(p)).FnUsed == uint64(0) { return @@ -152612,7 +152643,7 @@ func jsonAppendSeparator(tls *libc.TLS, p uintptr) { /* sqlite3.c:193358:13: */ // under construction. Enclose the string in "..." and escape // any double-quotes or backslash characters contained within the // string. -func jsonAppendString(tls *libc.TLS, p uintptr, zIn uintptr, N U32) { /* sqlite3.c:193370:13: */ +func jsonAppendString(tls *libc.TLS, p uintptr, zIn uintptr, N U32) { /* sqlite3.c:193427:13: */ var i U32 var c uint8 if !(zIn == uintptr(0) || U64(N)+(*JsonString)(unsafe.Pointer(p)).FnUsed+uint64(2) >= (*JsonString)(unsafe.Pointer(p)).FnAlloc && jsonGrow(tls, p, N+U32(2)) != 0) { @@ -152683,11 +152714,11 @@ __4: var aSpecial = [32]int8{ int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8('b'), int8('t'), int8('n'), int8(0), int8('f'), int8('r'), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), -} /* sqlite3.c:193381:25 */ +} /* sqlite3.c:193438:25 */ // Append a function parameter value to the JSON string under // construction. -func jsonAppendValue(tls *libc.TLS, p uintptr, pValue uintptr) { /* sqlite3.c:193413:13: */ +func jsonAppendValue(tls *libc.TLS, p uintptr, pValue uintptr) { /* sqlite3.c:193470:13: */ switch Xsqlite3_value_type(tls, pValue) { case SQLITE_NULL: { @@ -152731,7 +152762,7 @@ func jsonAppendValue(tls *libc.TLS, p uintptr, pValue uintptr) { /* sqlite3.c:19 } // Make the JSON in p the result of the SQL function. -func jsonResult(tls *libc.TLS, p uintptr) { /* sqlite3.c:193453:13: */ +func jsonResult(tls *libc.TLS, p uintptr) { /* sqlite3.c:193510:13: */ if int32((*JsonString)(unsafe.Pointer(p)).FbErr) == 0 { Xsqlite3_result_text64(tls, (*JsonString)(unsafe.Pointer(p)).FpCtx, (*JsonString)(unsafe.Pointer(p)).FzBuf, (*JsonString)(unsafe.Pointer(p)).FnUsed, func() uintptr { @@ -152758,7 +152789,7 @@ func jsonResult(tls *libc.TLS, p uintptr) { /* sqlite3.c:193453:13: */ // Appended elements are not counted. The value returned is the number // by which the JsonNode counter should increment in order to go to the // next peer value. -func jsonNodeSize(tls *libc.TLS, pNode uintptr) U32 { /* sqlite3.c:193476:12: */ +func jsonNodeSize(tls *libc.TLS, pNode uintptr) U32 { /* sqlite3.c:193533:12: */ if int32((*JsonNode)(unsafe.Pointer(pNode)).FeType) >= JSON_ARRAY { return (*JsonNode)(unsafe.Pointer(pNode)).Fn + U32(1) } @@ -152767,7 +152798,7 @@ func jsonNodeSize(tls *libc.TLS, pNode uintptr) U32 { /* sqlite3.c:193476:12: */ // Reclaim all memory allocated by a JsonParse object. But do not // delete the JsonParse object itself. -func jsonParseReset(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:193484:13: */ +func jsonParseReset(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:193541:13: */ Xsqlite3_free(tls, (*JsonParse)(unsafe.Pointer(pParse)).FaNode) (*JsonParse)(unsafe.Pointer(pParse)).FaNode = uintptr(0) (*JsonParse)(unsafe.Pointer(pParse)).FnNode = U32(0) @@ -152777,7 +152808,7 @@ func jsonParseReset(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:193484:13: */ } // Free a JsonParse object that was obtained from sqlite3_malloc(). -func jsonParseFree(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:193496:13: */ +func jsonParseFree(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:193553:13: */ jsonParseReset(tls, pParse) Xsqlite3_free(tls, pParse) } @@ -152785,7 +152816,7 @@ func jsonParseFree(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:193496:13: */ // Convert the JsonNode pNode into a pure JSON string and // append to pOut. Subsubstructure is also included. Return // the number of JsonNode objects that are encoded. -func jsonRenderNode(tls *libc.TLS, pNode uintptr, pOut uintptr, aReplace uintptr) { /* sqlite3.c:193506:13: */ +func jsonRenderNode(tls *libc.TLS, pNode uintptr, pOut uintptr, aReplace uintptr) { /* sqlite3.c:193563:13: */ if int32((*JsonNode)(unsafe.Pointer(pNode)).FjnFlags)&(JNODE_REPLACE|JNODE_PATCH) != 0 { if int32((*JsonNode)(unsafe.Pointer(pNode)).FjnFlags)&JNODE_REPLACE != 0 && aReplace != uintptr(0) { @@ -152888,7 +152919,7 @@ func jsonRenderNode(tls *libc.TLS, pNode uintptr, pOut uintptr, aReplace uintptr } // Return a JsonNode and all its descendents as a JSON string. -func jsonReturnJson(tls *libc.TLS, pNode uintptr, pCtx uintptr, aReplace uintptr) { /* sqlite3.c:193595:13: */ +func jsonReturnJson(tls *libc.TLS, pNode uintptr, pCtx uintptr, aReplace uintptr) { /* sqlite3.c:193652:13: */ bp := tls.Alloc(128) defer tls.Free(128) @@ -152903,14 +152934,14 @@ func jsonReturnJson(tls *libc.TLS, pNode uintptr, pCtx uintptr, aReplace uintptr // Translate a single byte of Hex into an integer. // This routine only works if h really is a valid hexadecimal // character: 0..9a..fA..F -func jsonHexToInt(tls *libc.TLS, h int32) U8 { /* sqlite3.c:193612:11: */ +func jsonHexToInt(tls *libc.TLS, h int32) U8 { /* sqlite3.c:193669:11: */ h = h + 9*(1&(h>>6)) return U8(h & 0xf) } // Convert a 4-byte hex string into an integer -func jsonHexToInt4(tls *libc.TLS, z uintptr) U32 { /* sqlite3.c:193625:12: */ +func jsonHexToInt4(tls *libc.TLS, z uintptr) U32 { /* sqlite3.c:193682:12: */ var v U32 v = U32(int32(jsonHexToInt(tls, int32(*(*int8)(unsafe.Pointer(z)))))<<12 + @@ -152921,7 +152952,7 @@ func jsonHexToInt4(tls *libc.TLS, z uintptr) U32 { /* sqlite3.c:193625:12: */ } // Make the JsonNode the return value of the function. -func jsonReturn(tls *libc.TLS, pNode uintptr, pCtx uintptr, aReplace uintptr) { /* sqlite3.c:193641:13: */ +func jsonReturn(tls *libc.TLS, pNode uintptr, pCtx uintptr, aReplace uintptr) { /* sqlite3.c:193698:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -153202,7 +153233,7 @@ __1: // A macro to hint to the compiler that a function should not be // inlined. -func jsonParseAddNodeExpand(tls *libc.TLS, pParse uintptr, eType U32, n U32, zContent uintptr) int32 { /* sqlite3.c:193814:26: */ +func jsonParseAddNodeExpand(tls *libc.TLS, pParse uintptr, eType U32, n U32, zContent uintptr) int32 { /* sqlite3.c:193871:26: */ var nNew U32 var pNew uintptr @@ -153224,7 +153255,7 @@ func jsonParseAddNodeExpand(tls *libc.TLS, pParse uintptr, eType U32, n U32, zCo // Create a new JsonNode instance based on the arguments and append that // instance to the JsonParse. Return the index in pParse->aNode[] of the // new node, or -1 if a memory allocation fails. -func jsonParseAddNode(tls *libc.TLS, pParse uintptr, eType U32, n U32, zContent uintptr) int32 { /* sqlite3.c:193841:12: */ +func jsonParseAddNode(tls *libc.TLS, pParse uintptr, eType U32, n U32, zContent uintptr) int32 { /* sqlite3.c:193898:12: */ var p uintptr if (*JsonParse)(unsafe.Pointer(pParse)).FaNode == uintptr(0) || (*JsonParse)(unsafe.Pointer(pParse)).FnNode >= (*JsonParse)(unsafe.Pointer(pParse)).FnAlloc { return jsonParseAddNodeExpand(tls, pParse, eType, n, zContent) @@ -153239,7 +153270,7 @@ func jsonParseAddNode(tls *libc.TLS, pParse uintptr, eType U32, n U32, zContent } // Return true if z[] begins with 4 (or more) hexadecimal digits -func jsonIs4Hex(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:193863:12: */ +func jsonIs4Hex(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:193920:12: */ var i int32 for i = 0; i < 4; i++ { if !(int32(Xsqlite3CtypeMap[uint8(*(*int8)(unsafe.Pointer(z + uintptr(i))))])&0x08 != 0) { @@ -153255,7 +153286,7 @@ func jsonIs4Hex(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:193863:12: */ // Return negative for a syntax error. Special cases: return -2 if the // first non-whitespace character is '}' and return -3 if the first // non-whitespace character is ']'. -func jsonParseValue(tls *libc.TLS, pParse uintptr, i U32) int32 { /* sqlite3.c:193877:12: */ +func jsonParseValue(tls *libc.TLS, pParse uintptr, i U32) int32 { /* sqlite3.c:193934:12: */ var c int8 var j U32 var iThis int32 @@ -153482,7 +153513,7 @@ func jsonParseValue(tls *libc.TLS, pParse uintptr, i U32) int32 { /* sqlite3.c:1 // pParse. // // pParse is uninitialized when this routine is called. -func jsonParse(tls *libc.TLS, pParse uintptr, pCtx uintptr, zJson uintptr) int32 { /* sqlite3.c:194038:12: */ +func jsonParse(tls *libc.TLS, pParse uintptr, pCtx uintptr, zJson uintptr) int32 { /* sqlite3.c:194095:12: */ var i int32 libc.Xmemset(tls, pParse, 0, uint32(unsafe.Sizeof(JsonParse{}))) if zJson == uintptr(0) { @@ -153518,7 +153549,7 @@ func jsonParse(tls *libc.TLS, pParse uintptr, pCtx uintptr, zJson uintptr) int32 // Mark node i of pParse as being a child of iParent. Call recursively // to fill in all the descendants of node i. -func jsonParseFillInParentage(tls *libc.TLS, pParse uintptr, i U32, iParent U32) { /* sqlite3.c:194071:13: */ +func jsonParseFillInParentage(tls *libc.TLS, pParse uintptr, i U32, iParent U32) { /* sqlite3.c:194128:13: */ var pNode uintptr = (*JsonParse)(unsafe.Pointer(pParse)).FaNode + uintptr(i)*12 var j U32 *(*U32)(unsafe.Pointer((*JsonParse)(unsafe.Pointer(pParse)).FaUp + uintptr(i)*4)) = iParent @@ -153549,7 +153580,7 @@ func jsonParseFillInParentage(tls *libc.TLS, pParse uintptr, i U32, iParent U32) } // Compute the parentage of all nodes in a completed parse. -func jsonParseFindParents(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:194098:12: */ +func jsonParseFindParents(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:194155:12: */ var aUp uintptr aUp = libc.AssignPtrUintptr(pParse+16, Xsqlite3_malloc64(tls, uint64(uint32(unsafe.Sizeof(U32(0)))*(*JsonParse)(unsafe.Pointer(pParse)).FnNode))) @@ -153569,7 +153600,7 @@ func jsonParseFindParents(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:19 // is no longer valid, parse the JSON again and return the new parse, // and also register the new parse so that it will be available for // future sqlite3_get_auxdata() calls. -func jsonParseCached(tls *libc.TLS, pCtx uintptr, argv uintptr, pErrCtx uintptr) uintptr { /* sqlite3.c:194124:18: */ +func jsonParseCached(tls *libc.TLS, pCtx uintptr, argv uintptr, pErrCtx uintptr) uintptr { /* sqlite3.c:194181:18: */ var zJson uintptr = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv))) var nJson int32 = Xsqlite3_value_bytes(tls, *(*uintptr)(unsafe.Pointer(argv))) var p uintptr @@ -153626,7 +153657,7 @@ func jsonParseCached(tls *libc.TLS, pCtx uintptr, argv uintptr, pErrCtx uintptr) // Compare the OBJECT label at pNode against zKey,nKey. Return true on // a match. -func jsonLabelCompare(tls *libc.TLS, pNode uintptr, zKey uintptr, nKey U32) int32 { /* sqlite3.c:194186:12: */ +func jsonLabelCompare(tls *libc.TLS, pNode uintptr, zKey uintptr, nKey U32) int32 { /* sqlite3.c:194243:12: */ if int32((*JsonNode)(unsafe.Pointer(pNode)).FjnFlags)&JNODE_RAW != 0 { if (*JsonNode)(unsafe.Pointer(pNode)).Fn != nKey { @@ -153649,7 +153680,7 @@ func jsonLabelCompare(tls *libc.TLS, pNode uintptr, zKey uintptr, nKey U32) int3 // If pApnd!=0, then try to append new nodes to complete zPath if it is // possible to do so and if no existing node corresponds to zPath. If // new nodes are appended *pApnd is set to 1. -func jsonLookupStep(tls *libc.TLS, pParse uintptr, iRoot U32, zPath uintptr, pApnd uintptr, pzErr uintptr) uintptr { /* sqlite3.c:194209:17: */ +func jsonLookupStep(tls *libc.TLS, pParse uintptr, iRoot U32, zPath uintptr, pApnd uintptr, pzErr uintptr) uintptr { /* sqlite3.c:194266:17: */ var i U32 var j U32 var nKey U32 @@ -153824,7 +153855,7 @@ func jsonLookupStep(tls *libc.TLS, pParse uintptr, iRoot U32, zPath uintptr, pAp // Append content to pParse that will complete zPath. Return a pointer // to the inserted node, or return NULL if the append fails. -func jsonLookupAppend(tls *libc.TLS, pParse uintptr, zPath uintptr, pApnd uintptr, pzErr uintptr) uintptr { /* sqlite3.c:194361:17: */ +func jsonLookupAppend(tls *libc.TLS, pParse uintptr, zPath uintptr, pApnd uintptr, pzErr uintptr) uintptr { /* sqlite3.c:194418:17: */ *(*int32)(unsafe.Pointer(pApnd)) = 1 if int32(*(*int8)(unsafe.Pointer(zPath))) == 0 { jsonParseAddNode(tls, pParse, uint32(JSON_NULL), uint32(0), uintptr(0)) @@ -153848,7 +153879,7 @@ func jsonLookupAppend(tls *libc.TLS, pParse uintptr, zPath uintptr, pApnd uintpt // Return the text of a syntax error message on a JSON path. Space is // obtained from sqlite3_malloc(). -func jsonPathSyntaxError(tls *libc.TLS, zErr uintptr) uintptr { /* sqlite3.c:194387:13: */ +func jsonPathSyntaxError(tls *libc.TLS, zErr uintptr) uintptr { /* sqlite3.c:194444:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -153863,7 +153894,7 @@ func jsonPathSyntaxError(tls *libc.TLS, zErr uintptr) uintptr { /* sqlite3.c:194 // // If pApnd!=NULL then try to append missing nodes and set *pApnd = 1 if // nodes are appended. -func jsonLookup(tls *libc.TLS, pParse uintptr, zPath uintptr, pApnd uintptr, pCtx uintptr) uintptr { /* sqlite3.c:194401:17: */ +func jsonLookup(tls *libc.TLS, pParse uintptr, zPath uintptr, pApnd uintptr, pCtx uintptr) uintptr { /* sqlite3.c:194458:17: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -153915,7 +153946,7 @@ __5: // Report the wrong number of arguments for json_insert(), json_replace() // or json_set(). -func jsonWrongNumArgs(tls *libc.TLS, pCtx uintptr, zFuncName uintptr) { /* sqlite3.c:194438:13: */ +func jsonWrongNumArgs(tls *libc.TLS, pCtx uintptr, zFuncName uintptr) { /* sqlite3.c:194495:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -153926,7 +153957,7 @@ func jsonWrongNumArgs(tls *libc.TLS, pCtx uintptr, zFuncName uintptr) { /* sqlit } // Mark all NULL entries in the Object passed in as JNODE_REMOVE. -func jsonRemoveAllNulls(tls *libc.TLS, pNode uintptr) { /* sqlite3.c:194451:13: */ +func jsonRemoveAllNulls(tls *libc.TLS, pNode uintptr) { /* sqlite3.c:194508:13: */ var i int32 var n int32 @@ -153957,7 +153988,7 @@ func jsonRemoveAllNulls(tls *libc.TLS, pNode uintptr) { /* sqlite3.c:194451:13: // corresponding to the SQL value input. Mostly this means putting // double-quotes around strings and returning the unquoted string "null" // when given a NULL input. -func jsonQuoteFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:194540:13: */ +func jsonQuoteFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:194597:13: */ bp := tls.Alloc(128) defer tls.Free(128) @@ -153974,7 +154005,7 @@ func jsonQuoteFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sq // Implementation of the json_array(VALUE,...) function. Return a JSON // array that contains all values given in arguments. Or if any argument // is a BLOB, throw an error. -func jsonArrayFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:194559:13: */ +func jsonArrayFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:194616:13: */ bp := tls.Alloc(128) defer tls.Free(128) @@ -153997,7 +154028,7 @@ func jsonArrayFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sq // // Return the number of elements in the top-level JSON array. // Return 0 if the input is not a well-formed JSON array. -func jsonArrayLengthFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:194586:13: */ +func jsonArrayLengthFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:194643:13: */ var p uintptr // The parse var n Sqlite3_int64 = int64(0) var i U32 @@ -154047,7 +154078,7 @@ func jsonArrayLengthFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { // // Abbreviated JSON path expressions are allows if JSON_ABPATH, for // compatibility with PG. -func jsonExtractFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:194646:13: */ +func jsonExtractFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:194703:13: */ bp := tls.Alloc(128) defer tls.Free(128) @@ -154141,7 +154172,7 @@ func jsonExtractFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* } // This is the RFC 7396 MergePatch algorithm. -func jsonMergePatch(tls *libc.TLS, pParse uintptr, iTarget U32, pPatch uintptr) uintptr { /* sqlite3.c:194729:17: */ +func jsonMergePatch(tls *libc.TLS, pParse uintptr, iTarget U32, pPatch uintptr) uintptr { /* sqlite3.c:194786:17: */ var i U32 var j U32 var iRoot U32 @@ -154214,7 +154245,7 @@ func jsonMergePatch(tls *libc.TLS, pParse uintptr, iTarget U32, pPatch uintptr) // Implementation of the json_mergepatch(JSON1,JSON2) function. Return a JSON // object that is the result of running the RFC 7396 MergePatch() algorithm // on the two arguments. -func jsonPatchFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:194811:13: */ +func jsonPatchFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:194868:13: */ bp := tls.Alloc(64) defer tls.Free(64) @@ -154246,7 +154277,7 @@ func jsonPatchFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sq // Implementation of the json_object(NAME,VALUE,...) function. Return a JSON // object that contains all name/value given in arguments. Or if any name // is not a string or if any value is a BLOB, throw an error. -func jsonObjectFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:194843:13: */ +func jsonObjectFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:194900:13: */ bp := tls.Alloc(128) defer tls.Free(128) @@ -154285,7 +154316,7 @@ func jsonObjectFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* s // // Remove the named elements from JSON and return the result. malformed // JSON or PATH arguments result in an error. -func jsonRemoveFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:194885:13: */ +func jsonRemoveFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:194942:13: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -154354,7 +154385,7 @@ remove_done: // // Replace the value at PATH with VALUE. If PATH does not already exist, // this routine is a no-op. If JSON or PATH is malformed, throw an error. -func jsonReplaceFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:194918:13: */ +func jsonReplaceFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:194975:13: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -154437,7 +154468,7 @@ replace_err: // // Create PATH and initialize it to VALUE. If PATH already exists, this // routine is a no-op. If JSON or PATH is malformed, throw an error. -func jsonSetFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:194970:13: */ +func jsonSetFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:195027:13: */ bp := tls.Alloc(36) defer tls.Free(36) @@ -154535,7 +154566,7 @@ jsonSetDone: // // Return the top-level "type" of a JSON string. json_type() raises an // error if either the JSON or PATH inputs are not well-formed. -func jsonTypeFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:195023:13: */ +func jsonTypeFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:195080:13: */ var p uintptr // The parse var zPath uintptr var pNode uintptr @@ -154559,7 +154590,7 @@ func jsonTypeFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sql // // Return 1 if JSON is a well-formed JSON string according to RFC-7159. // Return 0 otherwise. -func jsonValidFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:195051:13: */ +func jsonValidFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:195108:13: */ var p uintptr // The parse _ = argc p = jsonParseCached(tls, ctx, argv, uintptr(0)) @@ -154573,7 +154604,7 @@ func jsonValidFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sq // json_group_array(VALUE) // // Return a JSON array composed of all values in the aggregate. -func jsonArrayStep(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:195071:13: */ +func jsonArrayStep(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:195128:13: */ var pStr uintptr _ = argc pStr = Xsqlite3_aggregate_context(tls, ctx, int32(unsafe.Sizeof(JsonString{}))) @@ -154589,7 +154620,7 @@ func jsonArrayStep(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sq } } -func jsonArrayCompute(tls *libc.TLS, ctx uintptr, isFinal int32) { /* sqlite3.c:195090:13: */ +func jsonArrayCompute(tls *libc.TLS, ctx uintptr, isFinal int32) { /* sqlite3.c:195147:13: */ var pStr uintptr pStr = Xsqlite3_aggregate_context(tls, ctx, 0) if pStr != 0 { @@ -154619,11 +154650,11 @@ func jsonArrayCompute(tls *libc.TLS, ctx uintptr, isFinal int32) { /* sqlite3.c: Xsqlite3_result_subtype(tls, ctx, uint32(JSON_SUBTYPE)) } -func jsonArrayValue(tls *libc.TLS, ctx uintptr) { /* sqlite3.c:195112:13: */ +func jsonArrayValue(tls *libc.TLS, ctx uintptr) { /* sqlite3.c:195169:13: */ jsonArrayCompute(tls, ctx, 0) } -func jsonArrayFinal(tls *libc.TLS, ctx uintptr) { /* sqlite3.c:195115:13: */ +func jsonArrayFinal(tls *libc.TLS, ctx uintptr) { /* sqlite3.c:195172:13: */ jsonArrayCompute(tls, ctx, 1) } @@ -154631,7 +154662,7 @@ func jsonArrayFinal(tls *libc.TLS, ctx uintptr) { /* sqlite3.c:195115:13: */ // It works by removing the first element of the group by searching forward // to the first comma (",") that is not within a string and deleting all // text through that comma. -func jsonGroupInverse(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:195126:13: */ +func jsonGroupInverse(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:195183:13: */ var i uint32 var inStr int32 = 0 var nNest int32 = 0 @@ -154673,7 +154704,7 @@ func jsonGroupInverse(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* // json_group_obj(NAME,VALUE) // // Return a JSON object composed of all names and values in the aggregate. -func jsonObjectStep(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:195174:13: */ +func jsonObjectStep(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:195231:13: */ var pStr uintptr var z uintptr var n U32 @@ -154695,7 +154726,7 @@ func jsonObjectStep(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* s } } -func jsonObjectCompute(tls *libc.TLS, ctx uintptr, isFinal int32) { /* sqlite3.c:195199:13: */ +func jsonObjectCompute(tls *libc.TLS, ctx uintptr, isFinal int32) { /* sqlite3.c:195256:13: */ var pStr uintptr pStr = Xsqlite3_aggregate_context(tls, ctx, 0) if pStr != 0 { @@ -154724,11 +154755,11 @@ func jsonObjectCompute(tls *libc.TLS, ctx uintptr, isFinal int32) { /* sqlite3.c Xsqlite3_result_subtype(tls, ctx, uint32(JSON_SUBTYPE)) } -func jsonObjectValue(tls *libc.TLS, ctx uintptr) { /* sqlite3.c:195220:13: */ +func jsonObjectValue(tls *libc.TLS, ctx uintptr) { /* sqlite3.c:195277:13: */ jsonObjectCompute(tls, ctx, 0) } -func jsonObjectFinal(tls *libc.TLS, ctx uintptr) { /* sqlite3.c:195223:13: */ +func jsonObjectFinal(tls *libc.TLS, ctx uintptr) { /* sqlite3.c:195280:13: */ jsonObjectCompute(tls, ctx, 1) } @@ -154748,16 +154779,16 @@ type JsonEachCursor1 = struct { FzJson uintptr FzRoot uintptr FsParse JsonParse -} /* sqlite3.c:195233:9 */ +} /* sqlite3.c:195290:9 */ // *************************************************************************** // // The json_each virtual table // -type JsonEachCursor = JsonEachCursor1 /* sqlite3.c:195233:31 */ +type JsonEachCursor = JsonEachCursor1 /* sqlite3.c:195290:31 */ // Constructor for the json_each virtual table -func jsonEachConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 { /* sqlite3.c:195248:12: */ +func jsonEachConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 { /* sqlite3.c:195305:12: */ var pNew uintptr var rc int32 @@ -154785,13 +154816,13 @@ func jsonEachConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv u } // destructor for json_each virtual table -func jsonEachDisconnect(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:195290:12: */ +func jsonEachDisconnect(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:195347:12: */ Xsqlite3_free(tls, pVtab) return SQLITE_OK } // constructor for a JsonEachCursor object for json_each(). -func jsonEachOpenEach(tls *libc.TLS, p uintptr, ppCursor uintptr) int32 { /* sqlite3.c:195296:12: */ +func jsonEachOpenEach(tls *libc.TLS, p uintptr, ppCursor uintptr) int32 { /* sqlite3.c:195353:12: */ var pCur uintptr _ = p @@ -154805,7 +154836,7 @@ func jsonEachOpenEach(tls *libc.TLS, p uintptr, ppCursor uintptr) int32 { /* sql } // constructor for a JsonEachCursor object for json_tree(). -func jsonEachOpenTree(tls *libc.TLS, p uintptr, ppCursor uintptr) int32 { /* sqlite3.c:195308:12: */ +func jsonEachOpenTree(tls *libc.TLS, p uintptr, ppCursor uintptr) int32 { /* sqlite3.c:195365:12: */ var rc int32 = jsonEachOpenEach(tls, p, ppCursor) if rc == SQLITE_OK { var pCur uintptr = *(*uintptr)(unsafe.Pointer(ppCursor)) @@ -154816,7 +154847,7 @@ func jsonEachOpenTree(tls *libc.TLS, p uintptr, ppCursor uintptr) int32 { /* sql // Reset a JsonEachCursor back to its original state. Free any memory // held. -func jsonEachCursorReset(tls *libc.TLS, p uintptr) { /* sqlite3.c:195319:13: */ +func jsonEachCursorReset(tls *libc.TLS, p uintptr) { /* sqlite3.c:195376:13: */ Xsqlite3_free(tls, (*JsonEachCursor)(unsafe.Pointer(p)).FzJson) Xsqlite3_free(tls, (*JsonEachCursor)(unsafe.Pointer(p)).FzRoot) jsonParseReset(tls, p+32) @@ -154829,7 +154860,7 @@ func jsonEachCursorReset(tls *libc.TLS, p uintptr) { /* sqlite3.c:195319:13: */ } // Destructor for a jsonEachCursor object -func jsonEachClose(tls *libc.TLS, cur uintptr) int32 { /* sqlite3.c:195332:12: */ +func jsonEachClose(tls *libc.TLS, cur uintptr) int32 { /* sqlite3.c:195389:12: */ var p uintptr = cur jsonEachCursorReset(tls, p) Xsqlite3_free(tls, cur) @@ -154838,13 +154869,13 @@ func jsonEachClose(tls *libc.TLS, cur uintptr) int32 { /* sqlite3.c:195332:12: * // Return TRUE if the jsonEachCursor object has been advanced off the end // of the JSON object -func jsonEachEof(tls *libc.TLS, cur uintptr) int32 { /* sqlite3.c:195341:12: */ +func jsonEachEof(tls *libc.TLS, cur uintptr) int32 { /* sqlite3.c:195398:12: */ var p uintptr = cur return libc.Bool32((*JsonEachCursor)(unsafe.Pointer(p)).Fi >= (*JsonEachCursor)(unsafe.Pointer(p)).FiEnd) } // Advance the cursor to the next element for json_tree() -func jsonEachNext(tls *libc.TLS, cur uintptr) int32 { /* sqlite3.c:195347:12: */ +func jsonEachNext(tls *libc.TLS, cur uintptr) int32 { /* sqlite3.c:195404:12: */ var p uintptr = cur if (*JsonEachCursor)(unsafe.Pointer(p)).FbRecursive != 0 { if int32((*JsonNode)(unsafe.Pointer((*JsonEachCursor)(unsafe.Pointer(p)).FsParse.FaNode+uintptr((*JsonEachCursor)(unsafe.Pointer(p)).Fi)*12)).FjnFlags)&JNODE_LABEL != 0 { @@ -154895,7 +154926,7 @@ func jsonEachNext(tls *libc.TLS, cur uintptr) int32 { /* sqlite3.c:195347:12: */ } // Append the name of the path for element i to pStr -func jsonEachComputePath(tls *libc.TLS, p uintptr, pStr uintptr, i U32) { /* sqlite3.c:195391:13: */ +func jsonEachComputePath(tls *libc.TLS, p uintptr, pStr uintptr, i U32) { /* sqlite3.c:195448:13: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -154924,7 +154955,7 @@ func jsonEachComputePath(tls *libc.TLS, p uintptr, pStr uintptr, i U32) { /* sql } // Return the value of a column -func jsonEachColumn(tls *libc.TLS, cur uintptr, ctx uintptr, i int32) int32 { /* sqlite3.c:195421:12: */ +func jsonEachColumn(tls *libc.TLS, cur uintptr, ctx uintptr, i int32) int32 { /* sqlite3.c:195478:12: */ bp := tls.Alloc(280) defer tls.Free(280) @@ -155061,7 +155092,7 @@ func jsonEachColumn(tls *libc.TLS, cur uintptr, ctx uintptr, i int32) int32 { /* } // Return the current rowid value -func jsonEachRowid(tls *libc.TLS, cur uintptr, pRowid uintptr) int32 { /* sqlite3.c:195522:12: */ +func jsonEachRowid(tls *libc.TLS, cur uintptr, pRowid uintptr) int32 { /* sqlite3.c:195579:12: */ var p uintptr = cur *(*Sqlite_int64)(unsafe.Pointer(pRowid)) = Sqlite_int64((*JsonEachCursor)(unsafe.Pointer(p)).FiRowid) return SQLITE_OK @@ -155071,7 +155102,7 @@ func jsonEachRowid(tls *libc.TLS, cur uintptr, pRowid uintptr) int32 { /* sqlite // column. Without such a constraint, the table cannot operate. idxNum is // 1 if the constraint is found, 3 if the constraint and zRoot are found, // and 0 otherwise. -func jsonEachBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 { /* sqlite3.c:195533:12: */ +func jsonEachBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 { /* sqlite3.c:195590:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -155146,7 +155177,7 @@ __3: } // Start a search on a new JSON string -func jsonEachFilter(tls *libc.TLS, cur uintptr, idxNum int32, idxStr uintptr, argc int32, argv uintptr) int32 { /* sqlite3.c:195592:12: */ +func jsonEachFilter(tls *libc.TLS, cur uintptr, idxNum int32, idxStr uintptr, argc int32, argv uintptr) int32 { /* sqlite3.c:195649:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -155251,7 +155282,7 @@ var jsonEachModule = Sqlite3_module{ // xCreate FxEof: 0, // xEof - check for end of scan FxColumn: 0, // xColumn - read data FxRowid: 0, // xShadowName -} /* sqlite3.c:195673:23 */ +} /* sqlite3.c:195730:23 */ // The methods of the json_tree virtual table. var jsonTreeModule = Sqlite3_module{ // xCreate @@ -155265,10 +155296,10 @@ var jsonTreeModule = Sqlite3_module{ // xCreate FxEof: 0, // xEof - check for end of scan FxColumn: 0, // xColumn - read data FxRowid: 0, // xShadowName -} /* sqlite3.c:195701:23 */ +} /* sqlite3.c:195758:23 */ // Register JSON functions. -func Xsqlite3RegisterJsonFunctions(tls *libc.TLS) { /* sqlite3.c:195733:21: */ +func Xsqlite3RegisterJsonFunctions(tls *libc.TLS) { /* sqlite3.c:195790:21: */ Xsqlite3InsertBuiltinFuncs(tls, uintptr(unsafe.Pointer(&aJsonFunc)), int32(uint32(unsafe.Sizeof(aJsonFunc))/uint32(unsafe.Sizeof(FuncDef{})))) } @@ -155291,10 +155322,10 @@ var aJsonFunc = [19]FuncDef{ {FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_INNOCUOUS | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24787}, {FnArg: int8(1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_INNOCUOUS | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24797}, {FnArg: int8(1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_UTF8 | 0*SQLITE_FUNC_NEEDCOLL | SQLITE_SUBTYPE | SQLITE_UTF8 | SQLITE_DETERMINISTIC | SQLITE_INNOCUOUS), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 24808}, - {FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_UTF8 | 0*SQLITE_FUNC_NEEDCOLL | SQLITE_SUBTYPE | SQLITE_UTF8 | SQLITE_DETERMINISTIC | SQLITE_INNOCUOUS), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 24825}} /* sqlite3.c:195735:18 */ + {FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_UTF8 | 0*SQLITE_FUNC_NEEDCOLL | SQLITE_SUBTYPE | SQLITE_UTF8 | SQLITE_DETERMINISTIC | SQLITE_INNOCUOUS), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 24825}} /* sqlite3.c:195792:18 */ // Register the JSON table-valued functions -func Xsqlite3JsonTableFunctions(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:195772:20: */ +func Xsqlite3JsonTableFunctions(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:195829:20: */ var rc int32 = SQLITE_OK var i uint32 for i = uint32(0); i < uint32(unsafe.Sizeof(aMod))/uint32(unsafe.Sizeof(struct { @@ -155312,7 +155343,7 @@ var aMod = [2]struct { }{ {FzName: ts + 24843 /* "json_each" */, FpModule: 0}, {FzName: ts + 24853 /* "json_tree" */, FpModule: 0}, -} /* sqlite3.c:195777:5 */ // In the SQLite core +} /* sqlite3.c:195834:5 */ // In the SQLite core // If building separately, we will need some setup that is normally // found in sqliteInt.h @@ -155357,7 +155388,7 @@ type Rtree1 = struct { FpDeleteParent uintptr FpWriteAux uintptr FaHash [97]uintptr -} /* sqlite3.c:195900:9 */ +} /* sqlite3.c:195957:9 */ // In the SQLite core @@ -155371,7 +155402,7 @@ type Rtree1 = struct { // The following macro is used to suppress compiler warnings. -type Rtree = Rtree1 /* sqlite3.c:195900:22 */ +type Rtree = Rtree1 /* sqlite3.c:195957:22 */ type RtreeCursor1 = struct { Fbase Sqlite3_vtab_cursor FatEOF U8 @@ -155389,9 +155420,9 @@ type RtreeCursor1 = struct { FsPoint RtreeSearchPoint FaNode [5]uintptr FanQueue [41]U32 -} /* sqlite3.c:195901:9 */ +} /* sqlite3.c:195958:9 */ -type RtreeCursor = RtreeCursor1 /* sqlite3.c:195901:28 */ +type RtreeCursor = RtreeCursor1 /* sqlite3.c:195958:28 */ type RtreeNode1 = struct { FpParent uintptr FiNode I64 @@ -155399,43 +155430,43 @@ type RtreeNode1 = struct { FisDirty int32 FzData uintptr FpNext uintptr -} /* sqlite3.c:195900:9 */ +} /* sqlite3.c:195957:9 */ -type RtreeNode = RtreeNode1 /* sqlite3.c:195902:26 */ +type RtreeNode = RtreeNode1 /* sqlite3.c:195959:26 */ type RtreeCell1 = struct { FiRowid I64 FaCoord [10]RtreeCoord -} /* sqlite3.c:195903:9 */ +} /* sqlite3.c:195960:9 */ -type RtreeCell = RtreeCell1 /* sqlite3.c:195903:26 */ +type RtreeCell = RtreeCell1 /* sqlite3.c:195960:26 */ type RtreeConstraint1 = struct { FiCoord int32 Fop int32 Fu struct{ FrValue RtreeDValue } FpInfo uintptr -} /* sqlite3.c:195901:9 */ +} /* sqlite3.c:195958:9 */ -type RtreeConstraint = RtreeConstraint1 /* sqlite3.c:195904:32 */ +type RtreeConstraint = RtreeConstraint1 /* sqlite3.c:195961:32 */ type RtreeMatchArg1 = struct { FiSize U32 Fcb RtreeGeomCallback FnParam int32 FapSqlParam uintptr FaParam [1]RtreeDValue -} /* sqlite3.c:195905:9 */ +} /* sqlite3.c:195962:9 */ -type RtreeMatchArg = RtreeMatchArg1 /* sqlite3.c:195905:30 */ +type RtreeMatchArg = RtreeMatchArg1 /* sqlite3.c:195962:30 */ type RtreeGeomCallback1 = struct { FxGeom uintptr FxQueryFunc uintptr FxDestructor uintptr FpContext uintptr -} /* sqlite3.c:195905:9 */ +} /* sqlite3.c:195962:9 */ -type RtreeGeomCallback = RtreeGeomCallback1 /* sqlite3.c:195906:34 */ -type RtreeCoord1 = struct{ Ff RtreeValue } /* sqlite3.c:195903:9 */ +type RtreeGeomCallback = RtreeGeomCallback1 /* sqlite3.c:195963:34 */ +type RtreeCoord1 = struct{ Ff RtreeValue } /* sqlite3.c:195960:9 */ -type RtreeCoord = RtreeCoord1 /* sqlite3.c:195907:26 */ +type RtreeCoord = RtreeCoord1 /* sqlite3.c:195964:26 */ type RtreeSearchPoint1 = struct { FrScore RtreeDValue Fid Sqlite3_int64 @@ -155443,17 +155474,17 @@ type RtreeSearchPoint1 = struct { FeWithin U8 FiCell U8 F__ccgo_pad1 [1]byte -} /* sqlite3.c:195901:9 */ +} /* sqlite3.c:195958:9 */ -type RtreeSearchPoint = RtreeSearchPoint1 /* sqlite3.c:195908:33 */ +type RtreeSearchPoint = RtreeSearchPoint1 /* sqlite3.c:195965:33 */ // Possible values for Rtree.eCoordType: // 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 RtreeDValue = float64 /* sqlite3.c:196005:18 */ // High accuracy coordinate -type RtreeValue = float32 /* sqlite3.c:196006:17 */ +type RtreeDValue = float64 /* sqlite3.c:196062:18 */ // High accuracy coordinate +type RtreeValue = float32 /* sqlite3.c:196063:17 */ // What version of GCC is being used. 0 means GCC is not being used . // Note that the GCC_VERSION macro will also be set correctly when using @@ -155479,28 +155510,28 @@ type RtreeValue = float32 /* sqlite3.c:196006:17 */ // Functions to deserialize a 16 bit integer, 32 bit real number and // 64 bit integer. The deserialized value is returned. -func readInt16(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:196290:12: */ +func readInt16(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:196347:12: */ return int32(*(*U8)(unsafe.Pointer(p)))<<8 + int32(*(*U8)(unsafe.Pointer(p + 1))) } -func readCoord(tls *libc.TLS, p uintptr, pCoord uintptr) { /* sqlite3.c:196293:13: */ +func readCoord(tls *libc.TLS, p uintptr, pCoord uintptr) { /* sqlite3.c:196350:13: */ // p is always 4-byte aligned *(*U32)(unsafe.Pointer(pCoord)) = U32(*(*U8)(unsafe.Pointer(p)))<<24 + U32(*(*U8)(unsafe.Pointer(p + 1)))<<16 + U32(*(*U8)(unsafe.Pointer(p + 2)))<<8 + U32(*(*U8)(unsafe.Pointer(p + 3)))<<0 } -func readInt64(tls *libc.TLS, p uintptr) I64 { /* sqlite3.c:196310:12: */ +func readInt64(tls *libc.TLS, p uintptr) I64 { /* sqlite3.c:196367:12: */ return I64(U64(*(*U8)(unsafe.Pointer(p)))<<56 + U64(*(*U8)(unsafe.Pointer(p + 1)))<<48 + U64(*(*U8)(unsafe.Pointer(p + 2)))<<40 + U64(*(*U8)(unsafe.Pointer(p + 3)))<<32 + U64(*(*U8)(unsafe.Pointer(p + 4)))<<24 + U64(*(*U8)(unsafe.Pointer(p + 5)))<<16 + U64(*(*U8)(unsafe.Pointer(p + 6)))<<8 + U64(*(*U8)(unsafe.Pointer(p + 7)))<<0) } // Functions to serialize a 16 bit integer, 32 bit real number and // 64 bit integer. The value returned is the number of bytes written // to the argument buffer (always 2, 4 and 8 respectively). -func writeInt16(tls *libc.TLS, p uintptr, i int32) { /* sqlite3.c:196342:13: */ +func writeInt16(tls *libc.TLS, p uintptr, i int32) { /* sqlite3.c:196399:13: */ *(*U8)(unsafe.Pointer(p)) = U8(i >> 8 & 0xFF) *(*U8)(unsafe.Pointer(p + 1)) = U8(i >> 0 & 0xFF) } -func writeCoord(tls *libc.TLS, p uintptr, pCoord uintptr) int32 { /* sqlite3.c:196346:12: */ +func writeCoord(tls *libc.TLS, p uintptr, pCoord uintptr) int32 { /* sqlite3.c:196403:12: */ var i U32 // p is always 4-byte aligned @@ -155512,7 +155543,7 @@ func writeCoord(tls *libc.TLS, p uintptr, pCoord uintptr) int32 { /* sqlite3.c:1 return 4 } -func writeInt64(tls *libc.TLS, p uintptr, i I64) int32 { /* sqlite3.c:196369:12: */ +func writeInt64(tls *libc.TLS, p uintptr, i I64) int32 { /* sqlite3.c:196426:12: */ *(*U8)(unsafe.Pointer(p)) = U8(i >> 56 & int64(0xFF)) *(*U8)(unsafe.Pointer(p + 1)) = U8(i >> 48 & int64(0xFF)) *(*U8)(unsafe.Pointer(p + 2)) = U8(i >> 40 & int64(0xFF)) @@ -155525,7 +155556,7 @@ func writeInt64(tls *libc.TLS, p uintptr, i I64) int32 { /* sqlite3.c:196369:12: } // Increment the reference count of node p. -func nodeReference(tls *libc.TLS, p uintptr) { /* sqlite3.c:196394:13: */ +func nodeReference(tls *libc.TLS, p uintptr) { /* sqlite3.c:196451:13: */ if p != 0 { (*RtreeNode)(unsafe.Pointer(p)).FnRef++ @@ -155533,20 +155564,20 @@ func nodeReference(tls *libc.TLS, p uintptr) { /* sqlite3.c:196394:13: */ } // Clear the content of node p (set all bytes to 0x00). -func nodeZero(tls *libc.TLS, pRtree uintptr, p uintptr) { /* sqlite3.c:196404:13: */ +func nodeZero(tls *libc.TLS, pRtree uintptr, p uintptr) { /* sqlite3.c:196461:13: */ libc.Xmemset(tls, (*RtreeNode)(unsafe.Pointer(p)).FzData+2, 0, uint32((*Rtree)(unsafe.Pointer(pRtree)).FiNodeSize-2)) (*RtreeNode)(unsafe.Pointer(p)).FisDirty = 1 } // Given a node number iNode, return the corresponding key to use // in the Rtree.aHash table. -func nodeHash(tls *libc.TLS, iNode I64) uint32 { /* sqlite3.c:196413:21: */ +func nodeHash(tls *libc.TLS, iNode I64) uint32 { /* sqlite3.c:196470:21: */ return uint32(iNode) % uint32(HASHSIZE) } // Search the node hash table for node iNode. If found, return a pointer // to it. Otherwise, return 0. -func nodeHashLookup(tls *libc.TLS, pRtree uintptr, iNode I64) uintptr { /* sqlite3.c:196421:18: */ +func nodeHashLookup(tls *libc.TLS, pRtree uintptr, iNode I64) uintptr { /* sqlite3.c:196478:18: */ var p uintptr for p = *(*uintptr)(unsafe.Pointer(pRtree + 112 + uintptr(nodeHash(tls, iNode))*4)); p != 0 && (*RtreeNode)(unsafe.Pointer(p)).FiNode != iNode; p = (*RtreeNode)(unsafe.Pointer(p)).FpNext { } @@ -155554,7 +155585,7 @@ func nodeHashLookup(tls *libc.TLS, pRtree uintptr, iNode I64) uintptr { /* sqlit } // Add node pNode to the node hash table. -func nodeHashInsert(tls *libc.TLS, pRtree uintptr, pNode uintptr) { /* sqlite3.c:196430:13: */ +func nodeHashInsert(tls *libc.TLS, pRtree uintptr, pNode uintptr) { /* sqlite3.c:196487:13: */ var iHash int32 iHash = int32(nodeHash(tls, (*RtreeNode)(unsafe.Pointer(pNode)).FiNode)) @@ -155563,7 +155594,7 @@ func nodeHashInsert(tls *libc.TLS, pRtree uintptr, pNode uintptr) { /* sqlite3.c } // Remove node pNode from the node hash table. -func nodeHashDelete(tls *libc.TLS, pRtree uintptr, pNode uintptr) { /* sqlite3.c:196441:13: */ +func nodeHashDelete(tls *libc.TLS, pRtree uintptr, pNode uintptr) { /* sqlite3.c:196498:13: */ var pp uintptr if (*RtreeNode)(unsafe.Pointer(pNode)).FiNode != int64(0) { pp = pRtree + 112 + uintptr(nodeHash(tls, (*RtreeNode)(unsafe.Pointer(pNode)).FiNode))*4 @@ -155578,7 +155609,7 @@ func nodeHashDelete(tls *libc.TLS, pRtree uintptr, pNode uintptr) { /* sqlite3.c // indicating that node has not yet been assigned a node number. It is // assigned a node number when nodeWrite() is called to write the // node contents out to the database. -func nodeNew(tls *libc.TLS, pRtree uintptr, pParent uintptr) uintptr { /* sqlite3.c:196457:18: */ +func nodeNew(tls *libc.TLS, pRtree uintptr, pParent uintptr) uintptr { /* sqlite3.c:196514:18: */ var pNode uintptr pNode = Xsqlite3_malloc64(tls, uint64(uint32(unsafe.Sizeof(RtreeNode{}))+uint32((*Rtree)(unsafe.Pointer(pRtree)).FiNodeSize))) if pNode != 0 { @@ -155594,7 +155625,7 @@ func nodeNew(tls *libc.TLS, pRtree uintptr, pParent uintptr) uintptr { /* sqlite } // Clear the Rtree.pNodeBlob object -func nodeBlobReset(tls *libc.TLS, pRtree uintptr) { /* sqlite3.c:196475:13: */ +func nodeBlobReset(tls *libc.TLS, pRtree uintptr) { /* sqlite3.c:196532:13: */ if (*Rtree)(unsafe.Pointer(pRtree)).FpNodeBlob != 0 && int32((*Rtree)(unsafe.Pointer(pRtree)).FinWrTrans) == 0 && (*Rtree)(unsafe.Pointer(pRtree)).FnCursor == U32(0) { var pBlob uintptr = (*Rtree)(unsafe.Pointer(pRtree)).FpNodeBlob (*Rtree)(unsafe.Pointer(pRtree)).FpNodeBlob = uintptr(0) @@ -155603,7 +155634,7 @@ func nodeBlobReset(tls *libc.TLS, pRtree uintptr) { /* sqlite3.c:196475:13: */ } // Obtain a reference to an r-tree node. -func nodeAcquire(tls *libc.TLS, pRtree uintptr, iNode I64, pParent uintptr, ppNode uintptr) int32 { /* sqlite3.c:196486:12: */ +func nodeAcquire(tls *libc.TLS, pRtree uintptr, iNode I64, pParent uintptr, ppNode uintptr) int32 { /* sqlite3.c:196543:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -155713,7 +155744,7 @@ func nodeAcquire(tls *libc.TLS, pRtree uintptr, iNode I64, pParent uintptr, ppNo } // Overwrite cell iCell of node pNode with the contents of pCell. -func nodeOverwriteCell(tls *libc.TLS, pRtree uintptr, pNode uintptr, pCell uintptr, iCell int32) { /* sqlite3.c:196599:13: */ +func nodeOverwriteCell(tls *libc.TLS, pRtree uintptr, pNode uintptr, pCell uintptr, iCell int32) { /* sqlite3.c:196656:13: */ var ii int32 var p uintptr = (*RtreeNode)(unsafe.Pointer(pNode)).FzData + uintptr(4+int32((*Rtree)(unsafe.Pointer(pRtree)).FnBytesPerCell)*iCell) p += uintptr(writeInt64(tls, p, (*RtreeCell)(unsafe.Pointer(pCell)).FiRowid)) @@ -155724,7 +155755,7 @@ func nodeOverwriteCell(tls *libc.TLS, pRtree uintptr, pNode uintptr, pCell uintp } // Remove the cell with index iCell from node pNode. -func nodeDeleteCell(tls *libc.TLS, pRtree uintptr, pNode uintptr, iCell int32) { /* sqlite3.c:196617:13: */ +func nodeDeleteCell(tls *libc.TLS, pRtree uintptr, pNode uintptr, iCell int32) { /* sqlite3.c:196674:13: */ var pDst uintptr = (*RtreeNode)(unsafe.Pointer(pNode)).FzData + uintptr(4+int32((*Rtree)(unsafe.Pointer(pRtree)).FnBytesPerCell)*iCell) var pSrc uintptr = pDst + uintptr((*Rtree)(unsafe.Pointer(pRtree)).FnBytesPerCell) var nByte int32 = (readInt16(tls, (*RtreeNode)(unsafe.Pointer(pNode)).FzData+2) - iCell - 1) * int32((*Rtree)(unsafe.Pointer(pRtree)).FnBytesPerCell) @@ -155737,7 +155768,7 @@ func nodeDeleteCell(tls *libc.TLS, pRtree uintptr, pNode uintptr, iCell int32) { // is successful, return SQLITE_OK. // // If there is not enough free space in pNode, return SQLITE_FULL. -func nodeInsertCell(tls *libc.TLS, pRtree uintptr, pNode uintptr, pCell uintptr) int32 { /* sqlite3.c:196632:12: */ +func nodeInsertCell(tls *libc.TLS, pRtree uintptr, pNode uintptr, pCell uintptr) int32 { /* sqlite3.c:196689:12: */ var nCell int32 // Current number of cells in pNode var nMaxCell int32 // Maximum number of cells for pNode @@ -155754,7 +155785,7 @@ func nodeInsertCell(tls *libc.TLS, pRtree uintptr, pNode uintptr, pCell uintptr) } // If the node is dirty, write it out to the database. -func nodeWrite(tls *libc.TLS, pRtree uintptr, pNode uintptr) int32 { /* sqlite3.c:196656:12: */ +func nodeWrite(tls *libc.TLS, pRtree uintptr, pNode uintptr) int32 { /* sqlite3.c:196713:12: */ var rc int32 = SQLITE_OK if (*RtreeNode)(unsafe.Pointer(pNode)).FisDirty != 0 { var p uintptr = (*Rtree)(unsafe.Pointer(pRtree)).FpWriteNode @@ -155778,7 +155809,7 @@ func nodeWrite(tls *libc.TLS, pRtree uintptr, pNode uintptr) int32 { /* sqlite3. // Release a reference to a node. If the node is dirty and the reference // count drops to zero, the node data is written to the database. -func nodeRelease(tls *libc.TLS, pRtree uintptr, pNode uintptr) int32 { /* sqlite3.c:196682:12: */ +func nodeRelease(tls *libc.TLS, pRtree uintptr, pNode uintptr) int32 { /* sqlite3.c:196739:12: */ var rc int32 = SQLITE_OK if pNode != 0 { @@ -155804,19 +155835,19 @@ func nodeRelease(tls *libc.TLS, pRtree uintptr, pNode uintptr) int32 { /* sqlite // Return the 64-bit integer value associated with cell iCell of // node pNode. If pNode is a leaf node, this is a rowid. If it is // an internal node, then the 64-bit integer is a child page number. -func nodeGetRowid(tls *libc.TLS, pRtree uintptr, pNode uintptr, iCell int32) I64 { /* sqlite3.c:196711:12: */ +func nodeGetRowid(tls *libc.TLS, pRtree uintptr, pNode uintptr, iCell int32) I64 { /* sqlite3.c:196768:12: */ return readInt64(tls, (*RtreeNode)(unsafe.Pointer(pNode)).FzData+uintptr(4+int32((*Rtree)(unsafe.Pointer(pRtree)).FnBytesPerCell)*iCell)) } // Return coordinate iCoord from cell iCell in node pNode. -func nodeGetCoord(tls *libc.TLS, pRtree uintptr, pNode uintptr, iCell int32, iCoord int32, pCoord uintptr) { /* sqlite3.c:196723:13: */ +func nodeGetCoord(tls *libc.TLS, pRtree uintptr, pNode uintptr, iCell int32, iCoord int32, pCoord uintptr) { /* sqlite3.c:196780:13: */ readCoord(tls, (*RtreeNode)(unsafe.Pointer(pNode)).FzData+uintptr(12+int32((*Rtree)(unsafe.Pointer(pRtree)).FnBytesPerCell)*iCell+4*iCoord), pCoord) } // Deserialize cell iCell of node pNode. Populate the structure pointed // to by pCell with the results. -func nodeGetCell(tls *libc.TLS, pRtree uintptr, pNode uintptr, iCell int32, pCell uintptr) { /* sqlite3.c:196737:13: */ +func nodeGetCell(tls *libc.TLS, pRtree uintptr, pNode uintptr, iCell int32, pCell uintptr) { /* sqlite3.c:196794:13: */ var pData uintptr var pCoord uintptr var ii int32 = 0 @@ -155832,23 +155863,23 @@ func nodeGetCell(tls *libc.TLS, pRtree uintptr, pNode uintptr, iCell int32, pCel } // Rtree virtual table module xCreate method. -func rtreeCreate(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 { /* sqlite3.c:196768:12: */ +func rtreeCreate(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 { /* sqlite3.c:196825:12: */ return rtreeInit(tls, db, pAux, argc, argv, ppVtab, pzErr, 1) } // Rtree virtual table module xConnect method. -func rtreeConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 { /* sqlite3.c:196781:12: */ +func rtreeConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 { /* sqlite3.c:196838:12: */ return rtreeInit(tls, db, pAux, argc, argv, ppVtab, pzErr, 0) } // Increment the r-tree reference count. -func rtreeReference(tls *libc.TLS, pRtree uintptr) { /* sqlite3.c:196794:13: */ +func rtreeReference(tls *libc.TLS, pRtree uintptr) { /* sqlite3.c:196851:13: */ (*Rtree)(unsafe.Pointer(pRtree)).FnBusy++ } // Decrement the r-tree reference count. When the reference count reaches // zero the structure is deleted. -func rtreeRelease(tls *libc.TLS, pRtree uintptr) { /* sqlite3.c:196802:13: */ +func rtreeRelease(tls *libc.TLS, pRtree uintptr) { /* sqlite3.c:196859:13: */ (*Rtree)(unsafe.Pointer(pRtree)).FnBusy-- if (*Rtree)(unsafe.Pointer(pRtree)).FnBusy == U32(0) { (*Rtree)(unsafe.Pointer(pRtree)).FinWrTrans = U8(0) @@ -155870,13 +155901,13 @@ func rtreeRelease(tls *libc.TLS, pRtree uintptr) { /* sqlite3.c:196802:13: */ } // Rtree virtual table module xDisconnect method. -func rtreeDisconnect(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:196826:12: */ +func rtreeDisconnect(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:196883:12: */ rtreeRelease(tls, pVtab) return SQLITE_OK } // Rtree virtual table module xDestroy method. -func rtreeDestroy(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:196834:12: */ +func rtreeDestroy(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:196891:12: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -155903,7 +155934,7 @@ func rtreeDestroy(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:196834:12: } // Rtree virtual table module xOpen method. -func rtreeOpen(tls *libc.TLS, pVTab uintptr, ppCursor uintptr) int32 { /* sqlite3.c:196862:12: */ +func rtreeOpen(tls *libc.TLS, pVTab uintptr, ppCursor uintptr) int32 { /* sqlite3.c:196919:12: */ var rc int32 = SQLITE_NOMEM var pRtree uintptr = pVTab var pCsr uintptr @@ -155921,7 +155952,7 @@ func rtreeOpen(tls *libc.TLS, pVTab uintptr, ppCursor uintptr) int32 { /* sqlite } // Reset a cursor back to its initial state. -func resetCursor(tls *libc.TLS, pCsr uintptr) { /* sqlite3.c:196883:13: */ +func resetCursor(tls *libc.TLS, pCsr uintptr) { /* sqlite3.c:196940:13: */ var pRtree uintptr = (*RtreeCursor)(unsafe.Pointer(pCsr)).Fbase.FpVtab var ii int32 var pStmt uintptr @@ -155951,7 +155982,7 @@ func resetCursor(tls *libc.TLS, pCsr uintptr) { /* sqlite3.c:196883:13: */ } // Rtree virtual table module xClose method. -func rtreeClose(tls *libc.TLS, cur uintptr) int32 { /* sqlite3.c:196911:12: */ +func rtreeClose(tls *libc.TLS, cur uintptr) int32 { /* sqlite3.c:196968:12: */ var pRtree uintptr = (*Sqlite3_vtab_cursor)(unsafe.Pointer(cur)).FpVtab var pCsr uintptr = cur @@ -155967,7 +155998,7 @@ func rtreeClose(tls *libc.TLS, cur uintptr) int32 { /* sqlite3.c:196911:12: */ // // Return non-zero if the cursor does not currently point to a valid // record (i.e if the scan has finished), or zero otherwise. -func rtreeEof(tls *libc.TLS, cur uintptr) int32 { /* sqlite3.c:196929:12: */ +func rtreeEof(tls *libc.TLS, cur uintptr) int32 { /* sqlite3.c:196986:12: */ var pCsr uintptr = cur return int32((*RtreeCursor)(unsafe.Pointer(pCsr)).FatEOF) } @@ -155984,7 +156015,7 @@ func rtreeEof(tls *libc.TLS, cur uintptr) int32 { /* sqlite3.c:196929:12: */ // Check the RTree node or entry given by pCellData and p against the MATCH // constraint pConstraint. -func rtreeCallbackConstraint(tls *libc.TLS, pConstraint uintptr, eInt int32, pCellData uintptr, pSearch uintptr, prScore uintptr, peWithin uintptr) int32 { /* sqlite3.c:196984:12: */ +func rtreeCallbackConstraint(tls *libc.TLS, pConstraint uintptr, eInt int32, pCellData uintptr, pSearch uintptr, prScore uintptr, peWithin uintptr) int32 { /* sqlite3.c:197041:12: */ bp := tls.Alloc(88) defer tls.Free(88) @@ -156096,7 +156127,7 @@ func rtreeCallbackConstraint(tls *libc.TLS, pConstraint uintptr, eInt int32, pCe // Check the internal RTree node given by pCellData against constraint p. // If this constraint cannot be satisfied by any child within the node, // set *peWithin to NOT_WITHIN. -func rtreeNonleafConstraint(tls *libc.TLS, p uintptr, eInt int32, pCellData uintptr, peWithin uintptr) { /* sqlite3.c:197060:13: */ +func rtreeNonleafConstraint(tls *libc.TLS, p uintptr, eInt int32, pCellData uintptr, peWithin uintptr) { /* sqlite3.c:197117:13: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -156198,7 +156229,7 @@ func rtreeNonleafConstraint(tls *libc.TLS, p uintptr, eInt int32, pCellData uint // // The op is given by p->op. The xN is p->iCoord-th coordinate in // pCellData. $val is given by p->u.rValue. -func rtreeLeafConstraint(tls *libc.TLS, p uintptr, eInt int32, pCellData uintptr, peWithin uintptr) { /* sqlite3.c:197117:13: */ +func rtreeLeafConstraint(tls *libc.TLS, p uintptr, eInt int32, pCellData uintptr, peWithin uintptr) { /* sqlite3.c:197174:13: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -156254,7 +156285,7 @@ func rtreeLeafConstraint(tls *libc.TLS, p uintptr, eInt int32, pCellData uintptr // One of the cells in node pNode is guaranteed to have a 64-bit // integer value equal to iRowid. Return the index of this cell. -func nodeRowidIndex(tls *libc.TLS, pRtree uintptr, pNode uintptr, iRowid I64, piIndex uintptr) int32 { /* sqlite3.c:197147:12: */ +func nodeRowidIndex(tls *libc.TLS, pRtree uintptr, pNode uintptr, iRowid I64, piIndex uintptr) int32 { /* sqlite3.c:197204:12: */ var ii int32 var nCell int32 = readInt16(tls, (*RtreeNode)(unsafe.Pointer(pNode)).FzData+2) @@ -156270,7 +156301,7 @@ func nodeRowidIndex(tls *libc.TLS, pRtree uintptr, pNode uintptr, iRowid I64, pi // Return the index of the cell containing a pointer to node pNode // in its parent. If pNode is the root node, return -1. -func nodeParentIndex(tls *libc.TLS, pRtree uintptr, pNode uintptr, piIndex uintptr) int32 { /* sqlite3.c:197170:12: */ +func nodeParentIndex(tls *libc.TLS, pRtree uintptr, pNode uintptr, piIndex uintptr) int32 { /* sqlite3.c:197227:12: */ var pParent uintptr = (*RtreeNode)(unsafe.Pointer(pNode)).FpParent if pParent != 0 { return nodeRowidIndex(tls, pRtree, pParent, (*RtreeNode)(unsafe.Pointer(pNode)).FiNode, piIndex) @@ -156289,7 +156320,7 @@ func nodeParentIndex(tls *libc.TLS, pRtree uintptr, pNode uintptr, piIndex uintp // iLevel values coming first. In this way, if rScore is the same for all // SearchPoints, then iLevel becomes the deciding factor and the result // is a depth-first search, which is the desired default behavior. -func rtreeSearchPointCompare(tls *libc.TLS, pA uintptr, pB uintptr) int32 { /* sqlite3.c:197190:12: */ +func rtreeSearchPointCompare(tls *libc.TLS, pA uintptr, pB uintptr) int32 { /* sqlite3.c:197247:12: */ if (*RtreeSearchPoint)(unsafe.Pointer(pA)).FrScore < (*RtreeSearchPoint)(unsafe.Pointer(pB)).FrScore { return -1 } @@ -156306,7 +156337,7 @@ func rtreeSearchPointCompare(tls *libc.TLS, pA uintptr, pB uintptr) int32 { /* s } // Interchange two search points in a cursor. -func rtreeSearchPointSwap(tls *libc.TLS, p uintptr, i int32, j int32) { /* sqlite3.c:197204:13: */ +func rtreeSearchPointSwap(tls *libc.TLS, p uintptr, i int32, j int32) { /* sqlite3.c:197261:13: */ var t = *(*RtreeSearchPoint)(unsafe.Pointer((*RtreeCursor)(unsafe.Pointer(p)).FaPoint + uintptr(i)*20)) *(*RtreeSearchPoint)(unsafe.Pointer((*RtreeCursor)(unsafe.Pointer(p)).FaPoint + uintptr(i)*20)) = *(*RtreeSearchPoint)(unsafe.Pointer((*RtreeCursor)(unsafe.Pointer(p)).FaPoint + uintptr(j)*20)) @@ -156326,7 +156357,7 @@ func rtreeSearchPointSwap(tls *libc.TLS, p uintptr, i int32, j int32) { /* sqlit } // Return the search point with the lowest current score. -func rtreeSearchPointFirst(tls *libc.TLS, pCur uintptr) uintptr { /* sqlite3.c:197225:25: */ +func rtreeSearchPointFirst(tls *libc.TLS, pCur uintptr) uintptr { /* sqlite3.c:197282:25: */ if (*RtreeCursor)(unsafe.Pointer(pCur)).FbPoint != 0 { return pCur + 40 } @@ -156337,7 +156368,7 @@ func rtreeSearchPointFirst(tls *libc.TLS, pCur uintptr) uintptr { /* sqlite3.c:1 } // Get the RtreeNode for the search point with the lowest score. -func rtreeNodeOfFirstSearchPoint(tls *libc.TLS, pCur uintptr, pRC uintptr) uintptr { /* sqlite3.c:197232:18: */ +func rtreeNodeOfFirstSearchPoint(tls *libc.TLS, pCur uintptr, pRC uintptr) uintptr { /* sqlite3.c:197289:18: */ var id Sqlite3_int64 var ii int32 = 1 - int32((*RtreeCursor)(unsafe.Pointer(pCur)).FbPoint) @@ -156354,7 +156385,7 @@ func rtreeNodeOfFirstSearchPoint(tls *libc.TLS, pCur uintptr, pRC uintptr) uintp } // Push a new element onto the priority queue -func rtreeEnqueue(tls *libc.TLS, pCur uintptr, rScore RtreeDValue, iLevel U8) uintptr { /* sqlite3.c:197248:25: */ +func rtreeEnqueue(tls *libc.TLS, pCur uintptr, rScore RtreeDValue, iLevel U8) uintptr { /* sqlite3.c:197305:25: */ var i int32 var j int32 var pNew uintptr @@ -156388,7 +156419,7 @@ func rtreeEnqueue(tls *libc.TLS, pCur uintptr, rScore RtreeDValue, iLevel U8) ui // Allocate a new RtreeSearchPoint and return a pointer to it. Return // NULL if malloc fails. -func rtreeSearchPointNew(tls *libc.TLS, pCur uintptr, rScore RtreeDValue, iLevel U8) uintptr { /* sqlite3.c:197283:25: */ +func rtreeSearchPointNew(tls *libc.TLS, pCur uintptr, rScore RtreeDValue, iLevel U8) uintptr { /* sqlite3.c:197340:25: */ var pNew uintptr var pFirst uintptr pFirst = rtreeSearchPointFirst(tls, pCur) @@ -156424,7 +156455,7 @@ func rtreeSearchPointNew(tls *libc.TLS, pCur uintptr, rScore RtreeDValue, iLevel } // Remove the search point with the lowest current score. -func rtreeSearchPointPop(tls *libc.TLS, p uintptr) { /* sqlite3.c:197351:13: */ +func rtreeSearchPointPop(tls *libc.TLS, p uintptr) { /* sqlite3.c:197408:13: */ var i int32 var j int32 var k int32 @@ -156472,7 +156503,7 @@ func rtreeSearchPointPop(tls *libc.TLS, p uintptr) { /* sqlite3.c:197351:13: */ // contains an entry suitable for returning as a result-set row, // or until the RtreeSearchPoint queue is empty, indicating that the // query has completed. -func rtreeStepToLeaf(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:197399:12: */ +func rtreeStepToLeaf(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:197456:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -156565,7 +156596,7 @@ func rtreeStepToLeaf(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:197399:12 } // Rtree virtual table module xNext method. -func rtreeNext(tls *libc.TLS, pVtabCursor uintptr) int32 { /* sqlite3.c:197480:12: */ +func rtreeNext(tls *libc.TLS, pVtabCursor uintptr) int32 { /* sqlite3.c:197537:12: */ var pCsr uintptr = pVtabCursor var rc int32 = SQLITE_OK @@ -156581,7 +156612,7 @@ func rtreeNext(tls *libc.TLS, pVtabCursor uintptr) int32 { /* sqlite3.c:197480:1 } // Rtree virtual table module xRowid method. -func rtreeRowid(tls *libc.TLS, pVtabCursor uintptr, pRowid uintptr) int32 { /* sqlite3.c:197498:12: */ +func rtreeRowid(tls *libc.TLS, pVtabCursor uintptr, pRowid uintptr) int32 { /* sqlite3.c:197555:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -156596,7 +156627,7 @@ func rtreeRowid(tls *libc.TLS, pVtabCursor uintptr, pRowid uintptr) int32 { /* s } // Rtree virtual table module xColumn method. -func rtreeColumn(tls *libc.TLS, cur uintptr, ctx uintptr, i int32) int32 { /* sqlite3.c:197512:12: */ +func rtreeColumn(tls *libc.TLS, cur uintptr, ctx uintptr, i int32) int32 { /* sqlite3.c:197569:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -156657,7 +156688,7 @@ func rtreeColumn(tls *libc.TLS, cur uintptr, ctx uintptr, i int32) int32 { /* sq // return SQLITE_OK. If there is no such record in the table, set // *ppLeaf to 0 and return SQLITE_OK. If an error occurs, set *ppLeaf // to zero and return an SQLite error code. -func findLeafNode(tls *libc.TLS, pRtree uintptr, iRowid I64, ppLeaf uintptr, piNode uintptr) int32 { /* sqlite3.c:197566:12: */ +func findLeafNode(tls *libc.TLS, pRtree uintptr, iRowid I64, ppLeaf uintptr, piNode uintptr) int32 { /* sqlite3.c:197623:12: */ var rc int32 *(*uintptr)(unsafe.Pointer(ppLeaf)) = uintptr(0) Xsqlite3_bind_int64(tls, (*Rtree)(unsafe.Pointer(pRtree)).FpReadRowid, 1, iRowid) @@ -156678,7 +156709,7 @@ func findLeafNode(tls *libc.TLS, pRtree uintptr, iRowid I64, ppLeaf uintptr, piN // as the second argument for a MATCH constraint. The value passed as the // first argument to this function is the right-hand operand to the MATCH // operator. -func deserializeGeometry(tls *libc.TLS, pValue uintptr, pCons uintptr) int32 { /* sqlite3.c:197592:12: */ +func deserializeGeometry(tls *libc.TLS, pValue uintptr, pCons uintptr) int32 { /* sqlite3.c:197649:12: */ var pBlob uintptr var pSrc uintptr // BLOB returned by geometry function var pInfo uintptr // Callback information @@ -156710,7 +156741,7 @@ func deserializeGeometry(tls *libc.TLS, pValue uintptr, pCons uintptr) int32 { / } // Rtree virtual table module xFilter method. -func rtreeFilter(tls *libc.TLS, pVtabCursor uintptr, idxNum int32, idxStr uintptr, argc int32, argv uintptr) int32 { /* sqlite3.c:197622:12: */ +func rtreeFilter(tls *libc.TLS, pVtabCursor uintptr, idxNum int32, idxStr uintptr, argc int32, argv uintptr) int32 { /* sqlite3.c:197679:12: */ bp := tls.Alloc(20) defer tls.Free(20) @@ -156853,7 +156884,7 @@ func rtreeFilter(tls *libc.TLS, pVtabCursor uintptr, idxNum int32, idxStr uintpt // The second of each pair of bytes identifies the coordinate column // to which the constraint applies. The leftmost coordinate column // is 'a', the second from the left 'b' etc. -func rtreeBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 { /* sqlite3.c:197775:12: */ +func rtreeBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 { /* sqlite3.c:197832:12: */ bp := tls.Alloc(49) defer tls.Free(49) @@ -156960,7 +156991,7 @@ func rtreeBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 { /* sql } // Return the N-dimensional volumn of the cell stored in *p. -func cellArea(tls *libc.TLS, pRtree uintptr, p uintptr) RtreeDValue { /* sqlite3.c:197864:20: */ +func cellArea(tls *libc.TLS, pRtree uintptr, p uintptr) RtreeDValue { /* sqlite3.c:197921:20: */ var area RtreeDValue = RtreeDValue(1) if int32((*Rtree)(unsafe.Pointer(pRtree)).FeCoordType) == RTREE_COORD_REAL32 { @@ -157003,7 +157034,7 @@ func cellArea(tls *libc.TLS, pRtree uintptr, p uintptr) RtreeDValue { /* sqlite3 // Return the margin length of cell p. The margin length is the sum // of the objects size in each dimension. -func cellMargin(tls *libc.TLS, pRtree uintptr, p uintptr) RtreeDValue { /* sqlite3.c:197894:20: */ +func cellMargin(tls *libc.TLS, pRtree uintptr, p uintptr) RtreeDValue { /* sqlite3.c:197951:20: */ var margin RtreeDValue = RtreeDValue(0) var ii int32 = int32((*Rtree)(unsafe.Pointer(pRtree)).FnDim2) - 2 for __ccgo := true; __ccgo; __ccgo = ii >= 0 { @@ -157024,7 +157055,7 @@ func cellMargin(tls *libc.TLS, pRtree uintptr, p uintptr) RtreeDValue { /* sqlit } // Store the union of cells p1 and p2 in p1. -func cellUnion(tls *libc.TLS, pRtree uintptr, p1 uintptr, p2 uintptr) { /* sqlite3.c:197907:13: */ +func cellUnion(tls *libc.TLS, pRtree uintptr, p1 uintptr, p2 uintptr) { /* sqlite3.c:197964:13: */ var ii int32 = 0 if int32((*Rtree)(unsafe.Pointer(pRtree)).FeCoordType) == RTREE_COORD_REAL32 { for __ccgo := true; __ccgo; __ccgo = ii < int32((*Rtree)(unsafe.Pointer(pRtree)).FnDim2) { @@ -157063,7 +157094,7 @@ func cellUnion(tls *libc.TLS, pRtree uintptr, p1 uintptr, p2 uintptr) { /* sqlit // Return true if the area covered by p2 is a subset of the area covered // by p1. False otherwise. -func cellContains(tls *libc.TLS, pRtree uintptr, p1 uintptr, p2 uintptr) int32 { /* sqlite3.c:197928:12: */ +func cellContains(tls *libc.TLS, pRtree uintptr, p1 uintptr, p2 uintptr) int32 { /* sqlite3.c:197985:12: */ var ii int32 var isInt int32 = libc.Bool32(int32((*Rtree)(unsafe.Pointer(pRtree)).FeCoordType) == RTREE_COORD_INT32) for ii = 0; ii < int32((*Rtree)(unsafe.Pointer(pRtree)).FnDim2); ii = ii + 2 { @@ -157078,7 +157109,7 @@ func cellContains(tls *libc.TLS, pRtree uintptr, p1 uintptr, p2 uintptr) int32 { } // Return the amount cell p would grow by if it were unioned with pCell. -func cellGrowth(tls *libc.TLS, pRtree uintptr, p uintptr, pCell uintptr) RtreeDValue { /* sqlite3.c:197946:20: */ +func cellGrowth(tls *libc.TLS, pRtree uintptr, p uintptr, pCell uintptr) RtreeDValue { /* sqlite3.c:198003:20: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -157091,7 +157122,7 @@ func cellGrowth(tls *libc.TLS, pRtree uintptr, p uintptr, pCell uintptr) RtreeDV return cellArea(tls, pRtree, bp) - area } -func cellOverlap(tls *libc.TLS, pRtree uintptr, p uintptr, aCell uintptr, nCell int32) RtreeDValue { /* sqlite3.c:197955:20: */ +func cellOverlap(tls *libc.TLS, pRtree uintptr, p uintptr, aCell uintptr, nCell int32) RtreeDValue { /* sqlite3.c:198012:20: */ var ii int32 var overlap RtreeDValue = 0.0 for ii = 0; ii < nCell; ii++ { @@ -157166,7 +157197,7 @@ func cellOverlap(tls *libc.TLS, pRtree uintptr, p uintptr, aCell uintptr, nCell // This function implements the ChooseLeaf algorithm from Gutman[84]. // ChooseSubTree in r*tree terminology. -func sChooseLeaf(tls *libc.TLS, pRtree uintptr, pCell uintptr, iHeight int32, ppLeaf uintptr) int32 { /* sqlite3.c:197987:12: */ +func sChooseLeaf(tls *libc.TLS, pRtree uintptr, pCell uintptr, iHeight int32, ppLeaf uintptr) int32 { /* sqlite3.c:198044:12: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -157222,7 +157253,7 @@ func sChooseLeaf(tls *libc.TLS, pRtree uintptr, pCell uintptr, iHeight int32, pp // A cell with the same content as pCell has just been inserted into // the node pNode. This function updates the bounding box cells in // all ancestor elements. -func sAdjustTree(tls *libc.TLS, pRtree uintptr, pNode uintptr, pCell uintptr) int32 { /* sqlite3.c:198047:12: */ +func sAdjustTree(tls *libc.TLS, pRtree uintptr, pNode uintptr, pCell uintptr) int32 { /* sqlite3.c:198104:12: */ bp := tls.Alloc(52) defer tls.Free(52) @@ -157258,7 +157289,7 @@ func sAdjustTree(tls *libc.TLS, pRtree uintptr, pNode uintptr, pCell uintptr) in } // Write mapping (iRowid->iNode) to the _rowid table. -func rowidWrite(tls *libc.TLS, pRtree uintptr, iRowid Sqlite3_int64, iNode Sqlite3_int64) int32 { /* sqlite3.c:198085:12: */ +func rowidWrite(tls *libc.TLS, pRtree uintptr, iRowid Sqlite3_int64, iNode Sqlite3_int64) int32 { /* sqlite3.c:198142:12: */ Xsqlite3_bind_int64(tls, (*Rtree)(unsafe.Pointer(pRtree)).FpWriteRowid, 1, iRowid) Xsqlite3_bind_int64(tls, (*Rtree)(unsafe.Pointer(pRtree)).FpWriteRowid, 2, iNode) Xsqlite3_step(tls, (*Rtree)(unsafe.Pointer(pRtree)).FpWriteRowid) @@ -157266,7 +157297,7 @@ func rowidWrite(tls *libc.TLS, pRtree uintptr, iRowid Sqlite3_int64, iNode Sqlit } // Write mapping (iNode->iPar) to the _parent table. -func parentWrite(tls *libc.TLS, pRtree uintptr, iNode Sqlite3_int64, iPar Sqlite3_int64) int32 { /* sqlite3.c:198095:12: */ +func parentWrite(tls *libc.TLS, pRtree uintptr, iNode Sqlite3_int64, iPar Sqlite3_int64) int32 { /* sqlite3.c:198152:12: */ Xsqlite3_bind_int64(tls, (*Rtree)(unsafe.Pointer(pRtree)).FpWriteParent, 1, iNode) Xsqlite3_bind_int64(tls, (*Rtree)(unsafe.Pointer(pRtree)).FpWriteParent, 2, iPar) Xsqlite3_step(tls, (*Rtree)(unsafe.Pointer(pRtree)).FpWriteParent) @@ -157288,7 +157319,7 @@ func parentWrite(tls *libc.TLS, pRtree uintptr, iNode Sqlite3_int64, iPar Sqlite // // The aSpare array is used as temporary working space by the // sorting algorithm. -func sSortByDistance(tls *libc.TLS, aIdx uintptr, nIdx int32, aDistance uintptr, aSpare uintptr) { /* sqlite3.c:198122:13: */ +func sSortByDistance(tls *libc.TLS, aIdx uintptr, nIdx int32, aDistance uintptr, aSpare uintptr) { /* sqlite3.c:198179:13: */ if nIdx > 1 { var iLeft int32 = 0 var iRight int32 = 0 @@ -157336,7 +157367,7 @@ func sSortByDistance(tls *libc.TLS, aIdx uintptr, nIdx int32, aDistance uintptr, // // The aSpare array is used as temporary working space by the // sorting algorithm. -func sSortByDimension(tls *libc.TLS, pRtree uintptr, aIdx uintptr, nIdx int32, iDim int32, aCell uintptr, aSpare uintptr) { /* sqlite3.c:198188:13: */ +func sSortByDimension(tls *libc.TLS, pRtree uintptr, aIdx uintptr, nIdx int32, iDim int32, aCell uintptr, aSpare uintptr) { /* sqlite3.c:198245:13: */ if nIdx > 1 { var iLeft int32 = 0 @@ -157392,7 +157423,7 @@ func sSortByDimension(tls *libc.TLS, pRtree uintptr, aIdx uintptr, nIdx int32, i } // Implementation of the R*-tree variant of SplitNode from Beckman[1990]. -func splitNodeStartree(tls *libc.TLS, pRtree uintptr, aCell uintptr, nCell int32, pLeft uintptr, pRight uintptr, pBboxLeft uintptr, pBboxRight uintptr) int32 { /* sqlite3.c:198247:12: */ +func splitNodeStartree(tls *libc.TLS, pRtree uintptr, aCell uintptr, nCell int32, pLeft uintptr, pRight uintptr, pBboxLeft uintptr, pBboxRight uintptr) int32 { /* sqlite3.c:198304:12: */ bp := tls.Alloc(96) defer tls.Free(96) @@ -157491,7 +157522,7 @@ func splitNodeStartree(tls *libc.TLS, pRtree uintptr, aCell uintptr, nCell int32 return SQLITE_OK } -func updateMapping(tls *libc.TLS, pRtree uintptr, iRowid I64, pNode uintptr, iHeight int32) int32 { /* sqlite3.c:198345:12: */ +func updateMapping(tls *libc.TLS, pRtree uintptr, iRowid I64, pNode uintptr, iHeight int32) int32 { /* sqlite3.c:198402:12: */ var xSetMapping uintptr xSetMapping = func() uintptr { if iHeight == 0 { @@ -157525,7 +157556,7 @@ func updateMapping(tls *libc.TLS, pRtree uintptr, iRowid I64, pNode uintptr, iHe })(unsafe.Pointer(&struct{ uintptr }{xSetMapping})).f(tls, pRtree, iRowid, (*RtreeNode)(unsafe.Pointer(pNode)).FiNode) } -func sSplitNode(tls *libc.TLS, pRtree uintptr, pNode uintptr, pCell uintptr, iHeight int32) int32 { /* sqlite3.c:198369:12: */ +func sSplitNode(tls *libc.TLS, pRtree uintptr, pNode uintptr, pCell uintptr, iHeight int32) int32 { /* sqlite3.c:198426:12: */ bp := tls.Alloc(100) defer tls.Free(100) @@ -157760,7 +157791,7 @@ splitnode_out: // rowid of the row to delete, which can be used to find the leaf on which // the entry resides (argument pLeaf). Once the leaf is located, this // function is called to determine its ancestry. -func fixLeafParent(tls *libc.TLS, pRtree uintptr, pLeaf uintptr) int32 { /* sqlite3.c:198517:12: */ +func fixLeafParent(tls *libc.TLS, pRtree uintptr, pLeaf uintptr) int32 { /* sqlite3.c:198574:12: */ var rc int32 = SQLITE_OK var pChild uintptr = pLeaf for rc == SQLITE_OK && (*RtreeNode)(unsafe.Pointer(pChild)).FiNode != int64(1) && (*RtreeNode)(unsafe.Pointer(pChild)).FpParent == uintptr(0) { @@ -157795,7 +157826,7 @@ func fixLeafParent(tls *libc.TLS, pRtree uintptr, pLeaf uintptr) int32 { /* sqli return rc } -func removeNode(tls *libc.TLS, pRtree uintptr, pNode uintptr, iHeight int32) int32 { /* sqlite3.c:198552:12: */ +func removeNode(tls *libc.TLS, pRtree uintptr, pNode uintptr, iHeight int32) int32 { /* sqlite3.c:198609:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -157845,7 +157876,7 @@ func removeNode(tls *libc.TLS, pRtree uintptr, pNode uintptr, iHeight int32) int return SQLITE_OK } -func fixBoundingBox(tls *libc.TLS, pRtree uintptr, pNode uintptr) int32 { /* sqlite3.c:198602:12: */ +func fixBoundingBox(tls *libc.TLS, pRtree uintptr, pNode uintptr) int32 { /* sqlite3.c:198659:12: */ bp := tls.Alloc(100) defer tls.Free(100) @@ -157876,7 +157907,7 @@ func fixBoundingBox(tls *libc.TLS, pRtree uintptr, pNode uintptr) int32 { /* sql // Delete the cell at index iCell of node pNode. After removing the // cell, adjust the r-tree data structure if required. -func deleteCell(tls *libc.TLS, pRtree uintptr, pNode uintptr, iCell int32, iHeight int32) int32 { /* sqlite3.c:198629:12: */ +func deleteCell(tls *libc.TLS, pRtree uintptr, pNode uintptr, iCell int32, iHeight int32) int32 { /* sqlite3.c:198686:12: */ var pParent uintptr var rc int32 @@ -157905,7 +157936,7 @@ func deleteCell(tls *libc.TLS, pRtree uintptr, pNode uintptr, iCell int32, iHeig return rc } -func sReinsert(tls *libc.TLS, pRtree uintptr, pNode uintptr, pCell uintptr, iHeight int32) int32 { /* sqlite3.c:198660:12: */ +func sReinsert(tls *libc.TLS, pRtree uintptr, pNode uintptr, pCell uintptr, iHeight int32) int32 { /* sqlite3.c:198717:12: */ bp := tls.Alloc(44) defer tls.Free(44) @@ -158020,7 +158051,7 @@ func sReinsert(tls *libc.TLS, pRtree uintptr, pNode uintptr, pCell uintptr, iHei // Insert cell pCell into node pNode. Node pNode is the head of a // subtree iHeight high (leaf nodes have iHeight==0). -func rtreeInsertCell(tls *libc.TLS, pRtree uintptr, pNode uintptr, pCell uintptr, iHeight int32) int32 { /* sqlite3.c:198765:12: */ +func rtreeInsertCell(tls *libc.TLS, pRtree uintptr, pNode uintptr, pCell uintptr, iHeight int32) int32 { /* sqlite3.c:198822:12: */ var rc int32 = SQLITE_OK if iHeight > 0 { var pChild uintptr = nodeHashLookup(tls, pRtree, (*RtreeCell)(unsafe.Pointer(pCell)).FiRowid) @@ -158050,7 +158081,7 @@ func rtreeInsertCell(tls *libc.TLS, pRtree uintptr, pNode uintptr, pCell uintptr return rc } -func reinsertNodeContent(tls *libc.TLS, pRtree uintptr, pNode uintptr) int32 { /* sqlite3.c:198800:12: */ +func reinsertNodeContent(tls *libc.TLS, pRtree uintptr, pNode uintptr) int32 { /* sqlite3.c:198857:12: */ bp := tls.Alloc(52) defer tls.Free(52) @@ -158081,7 +158112,7 @@ func reinsertNodeContent(tls *libc.TLS, pRtree uintptr, pNode uintptr) int32 { / } // Select a currently unused rowid for a new r-tree record. -func rtreeNewRowid(tls *libc.TLS, pRtree uintptr, piRowid uintptr) int32 { /* sqlite3.c:198829:12: */ +func rtreeNewRowid(tls *libc.TLS, pRtree uintptr, piRowid uintptr) int32 { /* sqlite3.c:198886:12: */ var rc int32 Xsqlite3_bind_null(tls, (*Rtree)(unsafe.Pointer(pRtree)).FpWriteRowid, 1) Xsqlite3_bind_null(tls, (*Rtree)(unsafe.Pointer(pRtree)).FpWriteRowid, 2) @@ -158092,7 +158123,7 @@ func rtreeNewRowid(tls *libc.TLS, pRtree uintptr, piRowid uintptr) int32 { /* sq } // Remove the entry with rowid=iDelete from the r-tree structure. -func rtreeDeleteRowid(tls *libc.TLS, pRtree uintptr, iDelete Sqlite3_int64) int32 { /* sqlite3.c:198842:12: */ +func rtreeDeleteRowid(tls *libc.TLS, pRtree uintptr, iDelete Sqlite3_int64) int32 { /* sqlite3.c:198899:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -158181,7 +158212,7 @@ func rtreeDeleteRowid(tls *libc.TLS, pRtree uintptr, iDelete Sqlite3_int64) int3 // Convert an sqlite3_value into an RtreeValue (presumably a float) // while taking care to round toward negative or positive, respectively. -func rtreeValueDown(tls *libc.TLS, v uintptr) RtreeValue { /* sqlite3.c:198939:19: */ +func rtreeValueDown(tls *libc.TLS, v uintptr) RtreeValue { /* sqlite3.c:198996:19: */ var d float64 = Xsqlite3_value_double(tls, v) var f float32 = float32(d) if float64(f) > d { @@ -158195,7 +158226,7 @@ func rtreeValueDown(tls *libc.TLS, v uintptr) RtreeValue { /* sqlite3.c:198939:1 return f } -func rtreeValueUp(tls *libc.TLS, v uintptr) RtreeValue { /* sqlite3.c:198947:19: */ +func rtreeValueUp(tls *libc.TLS, v uintptr) RtreeValue { /* sqlite3.c:199004:19: */ var d float64 = Xsqlite3_value_double(tls, v) var f float32 = float32(d) if float64(f) < d { @@ -158220,7 +158251,7 @@ func rtreeValueUp(tls *libc.TLS, v uintptr) RtreeValue { /* sqlite3.c:198947:19: // (c1<=c2) constraint on columns iCol and iCol+1 that has failed. // // If an OOM occurs, SQLITE_NOMEM is returned instead of SQLITE_CONSTRAINT. -func rtreeConstraintError(tls *libc.TLS, pRtree uintptr, iCol int32) int32 { /* sqlite3.c:198970:12: */ +func rtreeConstraintError(tls *libc.TLS, pRtree uintptr, iCol int32) int32 { /* sqlite3.c:199027:12: */ bp := tls.Alloc(60) defer tls.Free(60) @@ -158259,7 +158290,7 @@ func rtreeConstraintError(tls *libc.TLS, pRtree uintptr, iCol int32) int32 { /* } // The xUpdate method for rtree module virtual tables. -func rtreeUpdate(tls *libc.TLS, pVtab uintptr, nData int32, aData uintptr, pRowid uintptr) int32 { /* sqlite3.c:199008:12: */ +func rtreeUpdate(tls *libc.TLS, pVtab uintptr, nData int32, aData uintptr, pRowid uintptr) int32 { /* sqlite3.c:199065:12: */ bp := tls.Alloc(52) defer tls.Free(52) @@ -158488,7 +158519,7 @@ constraint: } // Called when a transaction starts. -func rtreeBeginTransaction(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:199156:12: */ +func rtreeBeginTransaction(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:199213:12: */ var pRtree uintptr = pVtab (*Rtree)(unsafe.Pointer(pRtree)).FinWrTrans++ @@ -158497,7 +158528,7 @@ func rtreeBeginTransaction(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:19 // Called when a transaction completes (either by COMMIT or ROLLBACK). // The sqlite3_blob object should be released at this point. -func rtreeEndTransaction(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:199167:12: */ +func rtreeEndTransaction(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:199224:12: */ var pRtree uintptr = pVtab (*Rtree)(unsafe.Pointer(pRtree)).FinWrTrans = U8(0) nodeBlobReset(tls, pRtree) @@ -158505,7 +158536,7 @@ func rtreeEndTransaction(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:1991 } // The xRename method for rtree module virtual tables. -func rtreeRename(tls *libc.TLS, pVtab uintptr, zNewName uintptr) int32 { /* sqlite3.c:199177:12: */ +func rtreeRename(tls *libc.TLS, pVtab uintptr, zNewName uintptr) int32 { /* sqlite3.c:199234:12: */ bp := tls.Alloc(72) defer tls.Free(72) @@ -158534,7 +158565,7 @@ func rtreeRename(tls *libc.TLS, pVtab uintptr, zNewName uintptr) int32 { /* sqli // INSERT INTO rtree... // DROP TABLE ; -- Would fail with SQLITE_LOCKED // COMMIT; -func rtreeSavepoint(tls *libc.TLS, pVtab uintptr, iSavepoint int32) int32 { /* sqlite3.c:199210:12: */ +func rtreeSavepoint(tls *libc.TLS, pVtab uintptr, iSavepoint int32) int32 { /* sqlite3.c:199267:12: */ var pRtree uintptr = pVtab var iwt U8 = (*Rtree)(unsafe.Pointer(pRtree)).FinWrTrans _ = iSavepoint @@ -158547,7 +158578,7 @@ func rtreeSavepoint(tls *libc.TLS, pVtab uintptr, iSavepoint int32) int32 { /* s // This function populates the pRtree->nRowEst variable with an estimate // of the number of rows in the virtual table. If possible, this is based // on sqlite_stat1 data. Otherwise, use RTREE_DEFAULT_ROWEST. -func rtreeQueryStat1(tls *libc.TLS, db uintptr, pRtree uintptr) int32 { /* sqlite3.c:199225:12: */ +func rtreeQueryStat1(tls *libc.TLS, db uintptr, pRtree uintptr) int32 { /* sqlite3.c:199282:12: */ bp := tls.Alloc(20) defer tls.Free(20) @@ -158591,7 +158622,7 @@ func rtreeQueryStat1(tls *libc.TLS, db uintptr, pRtree uintptr) int32 { /* sqlit // Return true if zName is the extension on one of the shadow tables used // by this module. -func rtreeShadowName(tls *libc.TLS, zName uintptr) int32 { /* sqlite3.c:199259:12: */ +func rtreeShadowName(tls *libc.TLS, zName uintptr) int32 { /* sqlite3.c:199316:12: */ var i uint32 for i = uint32(0); i < uint32(unsafe.Sizeof(azName1))/uint32(unsafe.Sizeof(uintptr(0))); i++ { if Xsqlite3_stricmp(tls, zName, azName1[i]) == 0 { @@ -158603,7 +158634,7 @@ func rtreeShadowName(tls *libc.TLS, zName uintptr) int32 { /* sqlite3.c:199259:1 var azName1 = [3]uintptr{ ts + 25262, ts + 5004, ts + 16167, -} /* sqlite3.c:199260:21 */ +} /* sqlite3.c:199317:21 */ var rtreeModule = Sqlite3_module{ FiVersion: 3, // iVersion @@ -158627,9 +158658,9 @@ var rtreeModule = Sqlite3_module{ FxRename: 0, // xRename - rename the table FxSavepoint: 0, // xRollbackTo FxShadowName: 0, // xShadowName -} /* sqlite3.c:199270:23 */ +} /* sqlite3.c:199327:23 */ -func rtreeSqlInit(tls *libc.TLS, pRtree uintptr, db uintptr, zDb uintptr, zPrefix uintptr, isCreate int32) int32 { /* sqlite3.c:199297:12: */ +func rtreeSqlInit(tls *libc.TLS, pRtree uintptr, db uintptr, zDb uintptr, zPrefix uintptr, isCreate int32) int32 { /* sqlite3.c:199354:12: */ bp := tls.Alloc(200) defer tls.Free(200) @@ -158746,14 +158777,14 @@ var azSql = [8]uintptr{ ts + 25992, ts + 26050, ts + 26105, -} /* sqlite3.c:199307:21 */ +} /* sqlite3.c:199364:21 */ // The second argument to this function contains the text of an SQL statement // that returns a single integer value. The statement is compiled and executed // using database connection db. If successful, the integer value returned // is written to *piVal and SQLITE_OK returned. Otherwise, an SQLite error // code is returned and the value of *piVal after returning is not defined. -func getIntFromStmt(tls *libc.TLS, db uintptr, zSql uintptr, piVal uintptr) int32 { /* sqlite3.c:199430:12: */ +func getIntFromStmt(tls *libc.TLS, db uintptr, zSql uintptr, piVal uintptr) int32 { /* sqlite3.c:199487:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -158784,7 +158815,7 @@ func getIntFromStmt(tls *libc.TLS, db uintptr, zSql uintptr, piVal uintptr) int3 // This ensures that each node is stored on a single database page. If the // database page-size is so large that more than RTREE_MAXCELLS entries // would fit in a single node, use a smaller node-size. -func getNodeSize(tls *libc.TLS, db uintptr, pRtree uintptr, isCreate int32, pzErr uintptr) int32 { /* sqlite3.c:199460:12: */ +func getNodeSize(tls *libc.TLS, db uintptr, pRtree uintptr, isCreate int32, pzErr uintptr) int32 { /* sqlite3.c:199517:12: */ bp := tls.Alloc(52) defer tls.Free(52) @@ -158822,7 +158853,7 @@ func getNodeSize(tls *libc.TLS, db uintptr, pRtree uintptr, isCreate int32, pzEr } // Return the length of a token -func rtreeTokenLength(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:199503:12: */ +func rtreeTokenLength(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:199560:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -158837,7 +158868,7 @@ func rtreeTokenLength(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:199503:12: // argv[1] -> database name // argv[2] -> table name // argv[...] -> column names... -func rtreeInit(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr, isCreate int32) int32 { /* sqlite3.c:199517:12: */ +func rtreeInit(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr, isCreate int32) int32 { /* sqlite3.c:199574:12: */ bp := tls.Alloc(116) defer tls.Free(116) @@ -159037,7 +159068,7 @@ __25: return rc } -var azFormat = [2]uintptr{ts + 26448, ts + 26459} /* sqlite3.c:199583:25 */ +var azFormat = [2]uintptr{ts + 26448, ts + 26459} /* sqlite3.c:199640:25 */ // Implementation of a scalar function that decodes r-tree nodes to // human readable strings. This can be used for debugging and analysis. @@ -159053,7 +159084,7 @@ var azFormat = [2]uintptr{ts + 26448, ts + 26459} /* sqlite3.c:199583:25 */ // entry for each cell in the r-tree node. Each entry is itself a // list, containing the 8-byte rowid/pageno followed by the // *2 coordinates. -func rtreenode(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:199654:13: */ +func rtreenode(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:199711:13: */ bp := tls.Alloc(592) defer tls.Free(592) @@ -159116,7 +159147,7 @@ func rtreenode(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) { /* sqlit // The depth value is 0 for all nodes other than the root node, and the root // node always has nodeno=1, so the example above is the primary use for this // routine. This routine is intended for testing and analysis only. -func rtreedepth(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:199706:13: */ +func rtreedepth(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:199763:13: */ _ = nArg if Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(apArg))) != SQLITE_BLOB || Xsqlite3_value_bytes(tls, *(*uintptr)(unsafe.Pointer(apArg))) < 2 { @@ -159146,15 +159177,15 @@ type RtreeCheck1 = struct { Frc int32 FzReport uintptr FnErr int32 -} /* sqlite3.c:199727:9 */ +} /* sqlite3.c:199784:9 */ // Context object passed between the various routines that make up the // implementation of integrity-check function rtreecheck(). -type RtreeCheck = RtreeCheck1 /* sqlite3.c:199727:27 */ +type RtreeCheck = RtreeCheck1 /* sqlite3.c:199784:27 */ // Reset SQL statement pStmt. If the sqlite3_reset() call returns an error, // and RtreeCheck.rc==SQLITE_OK, set RtreeCheck.rc to the error code. -func rtreeCheckReset(tls *libc.TLS, pCheck uintptr, pStmt uintptr) { /* sqlite3.c:199749:13: */ +func rtreeCheckReset(tls *libc.TLS, pCheck uintptr, pStmt uintptr) { /* sqlite3.c:199806:13: */ var rc int32 = Xsqlite3_reset(tls, pStmt) if (*RtreeCheck)(unsafe.Pointer(pCheck)).Frc == SQLITE_OK { (*RtreeCheck)(unsafe.Pointer(pCheck)).Frc = rc @@ -159167,7 +159198,7 @@ func rtreeCheckReset(tls *libc.TLS, pCheck uintptr, pStmt uintptr) { /* sqlite3. // // If successful, a pointer to the new SQL statement is returned. Otherwise, // NULL is returned and an error code left in RtreeCheck.rc. -func rtreeCheckPrepare(tls *libc.TLS, pCheck uintptr, zFmt uintptr, va uintptr) uintptr { /* sqlite3.c:199762:21: */ +func rtreeCheckPrepare(tls *libc.TLS, pCheck uintptr, zFmt uintptr, va uintptr) uintptr { /* sqlite3.c:199819:21: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -159195,7 +159226,7 @@ func rtreeCheckPrepare(tls *libc.TLS, pCheck uintptr, zFmt uintptr, va uintptr) // The second and subsequent arguments to this function are a printf() // style format string and arguments. This function formats the string and // appends it to the report being accumuated in pCheck. -func rtreeCheckAppendMsg(tls *libc.TLS, pCheck uintptr, zFmt uintptr, va uintptr) { /* sqlite3.c:199791:13: */ +func rtreeCheckAppendMsg(tls *libc.TLS, pCheck uintptr, zFmt uintptr, va uintptr) { /* sqlite3.c:199848:13: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -159235,7 +159266,7 @@ func rtreeCheckAppendMsg(tls *libc.TLS, pCheck uintptr, zFmt uintptr, va uintptr // Or, if an error does occur, NULL is returned and an error code left // in the RtreeCheck object. The final value of *pnNode is undefined in // this case. -func rtreeCheckGetNode(tls *libc.TLS, pCheck uintptr, iNode I64, pnNode uintptr) uintptr { /* sqlite3.c:199825:11: */ +func rtreeCheckGetNode(tls *libc.TLS, pCheck uintptr, iNode I64, pnNode uintptr) uintptr { /* sqlite3.c:199882:11: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -159279,7 +159310,7 @@ func rtreeCheckGetNode(tls *libc.TLS, pCheck uintptr, iNode I64, pnNode uintptr) // In both cases, this function checks that there exists an entry with // IPK value iKey and the second column set to iVal. // -func rtreeCheckMapping(tls *libc.TLS, pCheck uintptr, bLeaf int32, iKey I64, iVal I64) { /* sqlite3.c:199869:13: */ +func rtreeCheckMapping(tls *libc.TLS, pCheck uintptr, bLeaf int32, iKey I64, iVal I64) { /* sqlite3.c:199926:13: */ bp := tls.Alloc(88) defer tls.Free(88) @@ -159335,7 +159366,7 @@ func rtreeCheckMapping(tls *libc.TLS, pCheck uintptr, bLeaf int32, iKey I64, iVa // containing pCell. In this case it is also verified that the two // sets of coordinates are mutually consistent and an error message added // to the RtreeCheck object if they are not. -func rtreeCheckCellCoord(tls *libc.TLS, pCheck uintptr, iNode I64, iCell int32, pCell uintptr, pParent uintptr) { /* sqlite3.c:199921:13: */ +func rtreeCheckCellCoord(tls *libc.TLS, pCheck uintptr, iNode I64, iCell int32, pCell uintptr, pParent uintptr) { /* sqlite3.c:199978:13: */ bp := tls.Alloc(64) defer tls.Free(64) @@ -159393,7 +159424,7 @@ func rtreeCheckCellCoord(tls *libc.TLS, pCheck uintptr, iNode I64, iCell int32, // // If any problems are discovered, an error message is appended to the // report accumulated in the RtreeCheck object. -func rtreeCheckNode(tls *libc.TLS, pCheck uintptr, iDepth int32, aParent uintptr, iNode I64) { /* sqlite3.c:199967:13: */ +func rtreeCheckNode(tls *libc.TLS, pCheck uintptr, iDepth int32, aParent uintptr, iNode I64) { /* sqlite3.c:200024:13: */ bp := tls.Alloc(52) defer tls.Free(52) @@ -159447,7 +159478,7 @@ func rtreeCheckNode(tls *libc.TLS, pCheck uintptr, iDepth int32, aParent uintptr // %_rowid or %_parent table is exactly nExpect. If not, it adds // an error message to the report in the RtreeCheck object indicated // by the first argument. -func rtreeCheckCount(tls *libc.TLS, pCheck uintptr, zTbl uintptr, nExpect I64) { /* sqlite3.c:200030:13: */ +func rtreeCheckCount(tls *libc.TLS, pCheck uintptr, zTbl uintptr, nExpect I64) { /* sqlite3.c:200087:13: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -159470,7 +159501,7 @@ func rtreeCheckCount(tls *libc.TLS, pCheck uintptr, zTbl uintptr, nExpect I64) { // This function does the bulk of the work for the rtree integrity-check. // It is called by rtreecheck(), which is the SQL function implementation. -func rtreeCheckTable(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, pzReport uintptr) int32 { /* sqlite3.c:200054:12: */ +func rtreeCheckTable(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, pzReport uintptr) int32 { /* sqlite3.c:200111:12: */ bp := tls.Alloc(84) defer tls.Free(84) @@ -159577,7 +159608,7 @@ func rtreeCheckTable(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, pzRep // as there are non-leaf cells in the r-tree structure, and that // there is a non-leaf cell that corresponds to each entry in the // %_parent table. -func rtreecheck(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:200161:13: */ +func rtreecheck(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:200218:13: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -159640,7 +159671,7 @@ func rtreecheck(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) { /* sqli // Compiler and version // Datatype for coordinates -type GeoCoord = float32 /* sqlite3.c:200282:15 */ +type GeoCoord = float32 /* sqlite3.c:200339:15 */ // Internal representation of a polygon. // @@ -159666,7 +159697,7 @@ type GeoPoly1 = struct { FnVertex int32 Fhdr [4]uint8 Fa [8]GeoCoord -} /* sqlite3.c:200306:9 */ +} /* sqlite3.c:200363:9 */ // Internal representation of a polygon. // @@ -159688,7 +159719,7 @@ type GeoPoly1 = struct { // warnings coming from some compiler (notably, clang). In reality, the size // of each GeoPoly memory allocate is adjusted as necessary so that the // GeoPoly.a[] array at the end is the appropriate size. -type GeoPoly = GeoPoly1 /* sqlite3.c:200306:24 */ +type GeoPoly = GeoPoly1 /* sqlite3.c:200363:24 */ // The size of a memory allocation needed for a GeoPoly object sufficient // to hold N coordinate pairs. @@ -159704,7 +159735,7 @@ type GeoParse1 = struct { FnAlloc int32 FnErr int32 Fa uintptr -} /* sqlite3.c:200329:9 */ +} /* sqlite3.c:200386:9 */ // The size of a memory allocation needed for a GeoPoly object sufficient // to hold N coordinate pairs. @@ -159714,10 +159745,10 @@ type GeoParse1 = struct { // to silence (incorrect) UBSAN warnings if the array index is too large. // State of a parse of a GeoJSON input. -type GeoParse = GeoParse1 /* sqlite3.c:200329:25 */ +type GeoParse = GeoParse1 /* sqlite3.c:200386:25 */ // Do a 4-byte byte swap -func geopolySwab32(tls *libc.TLS, a uintptr) { /* sqlite3.c:200339:13: */ +func geopolySwab32(tls *libc.TLS, a uintptr) { /* sqlite3.c:200396:13: */ var t uint8 = *(*uint8)(unsafe.Pointer(a)) *(*uint8)(unsafe.Pointer(a)) = *(*uint8)(unsafe.Pointer(a + 3)) *(*uint8)(unsafe.Pointer(a + 3)) = t @@ -159727,7 +159758,7 @@ func geopolySwab32(tls *libc.TLS, a uintptr) { /* sqlite3.c:200339:13: */ } // Skip whitespace. Return the next non-whitespace character. -func geopolySkipSpace(tls *libc.TLS, p uintptr) int8 { /* sqlite3.c:200349:13: */ +func geopolySkipSpace(tls *libc.TLS, p uintptr) int8 { /* sqlite3.c:200406:13: */ for jsonIsSpace[*(*uint8)(unsafe.Pointer((*GeoParse)(unsafe.Pointer(p)).Fz))] != 0 { (*GeoParse)(unsafe.Pointer(p)).Fz++ } @@ -159736,7 +159767,7 @@ func geopolySkipSpace(tls *libc.TLS, p uintptr) int8 { /* sqlite3.c:200349:13: * // Parse out a number. Write the value into *pVal if pVal!=0. // return non-zero on success and zero if the next token is not a number. -func geopolyParseNumber(tls *libc.TLS, p uintptr, pVal uintptr) int32 { /* sqlite3.c:200357:12: */ +func geopolyParseNumber(tls *libc.TLS, p uintptr, pVal uintptr) int32 { /* sqlite3.c:200414:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -159808,7 +159839,7 @@ func geopolyParseNumber(tls *libc.TLS, p uintptr, pVal uintptr) int32 { /* sqlit // that object. // // If any error occurs, return NULL. -func geopolyParseJson(tls *libc.TLS, z uintptr, pRc uintptr) uintptr { /* sqlite3.c:200415:16: */ +func geopolyParseJson(tls *libc.TLS, z uintptr, pRc uintptr) uintptr { /* sqlite3.c:200472:16: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -159950,7 +159981,7 @@ __16: // in the binary format or JSON text. Compute a GeoPoly object and // return a pointer to that object. Or if the input is not a well-formed // polygon, put an error message in sqlite3_context and return NULL. -func geopolyFuncParam(tls *libc.TLS, pCtx uintptr, pVal uintptr, pRc uintptr) uintptr { /* sqlite3.c:200492:16: */ +func geopolyFuncParam(tls *libc.TLS, pCtx uintptr, pVal uintptr, pRc uintptr) uintptr { /* sqlite3.c:200549:16: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -160019,7 +160050,7 @@ func geopolyFuncParam(tls *libc.TLS, pCtx uintptr, pVal uintptr, pRc uintptr) ui // If the input is a well-formed Geopoly BLOB or JSON string // then return the BLOB representation of the polygon. Otherwise // return NULL. -func geopolyBlobFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:200553:13: */ +func geopolyBlobFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:200610:13: */ var p uintptr = geopolyFuncParam(tls, context, *(*uintptr)(unsafe.Pointer(argv)), uintptr(0)) if p != 0 { Xsqlite3_result_blob(tls, context, p+4, @@ -160032,7 +160063,7 @@ func geopolyBlobFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { // // Interpret X as a polygon and render it as a JSON array // of coordinates. Or, if X is not a valid polygon, return NULL. -func geopolyJsonFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:200572:13: */ +func geopolyJsonFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:200629:13: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -160055,7 +160086,7 @@ func geopolyJsonFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { // // Interpret X as a polygon and render it as a SVG . // Additional arguments are added as attributes to the . -func geopolySvgFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:200598:13: */ +func geopolySvgFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:200655:13: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -160101,7 +160132,7 @@ func geopolySvgFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { // Rotate by R around the point (0,0): // // geopoly_xform(poly, cos(R), sin(R), -sin(R), cos(R), 0, 0) -func geopolyXformFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:200645:13: */ +func geopolyXformFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:200702:13: */ var p uintptr = geopolyFuncParam(tls, context, *(*uintptr)(unsafe.Pointer(argv)), uintptr(0)) var A float64 = Xsqlite3_value_double(tls, *(*uintptr)(unsafe.Pointer(argv + 1*4))) var B float64 = Xsqlite3_value_double(tls, *(*uintptr)(unsafe.Pointer(argv + 2*4))) @@ -160134,7 +160165,7 @@ func geopolyXformFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) // This routine can also be used to detect polygons that rotate in // the wrong direction. Polygons are suppose to be counter-clockwise (CCW). // This routine returns a negative value for clockwise (CW) polygons. -func geopolyArea(tls *libc.TLS, p uintptr) float64 { /* sqlite3.c:200681:15: */ +func geopolyArea(tls *libc.TLS, p uintptr) float64 { /* sqlite3.c:200738:15: */ var rArea float64 = 0.0 var ii int32 for ii = 0; ii < (*GeoPoly)(unsafe.Pointer(p)).FnVertex-1; ii++ { @@ -160154,7 +160185,7 @@ func geopolyArea(tls *libc.TLS, p uintptr) float64 { /* sqlite3.c:200681:15: */ // enclosed by the polygon. If the polygon circulates clockwise instead // of counterclockwise (as it should) then return the negative of the // enclosed area. Otherwise return NULL. -func geopolyAreaFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:200703:13: */ +func geopolyAreaFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:200760:13: */ var p uintptr = geopolyFuncParam(tls, context, *(*uintptr)(unsafe.Pointer(argv)), uintptr(0)) if p != 0 { Xsqlite3_result_double(tls, context, geopolyArea(tls, p)) @@ -160173,7 +160204,7 @@ func geopolyAreaFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { // // Use this routine to sanitize historical inputs that that sometimes // contain polygons that wind in the wrong direction. -func geopolyCcwFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:200728:13: */ +func geopolyCcwFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:200785:13: */ var p uintptr = geopolyFuncParam(tls, context, *(*uintptr)(unsafe.Pointer(argv)), uintptr(0)) if p != 0 { if geopolyArea(tls, p) < 0.0 { @@ -160209,7 +160240,7 @@ func geopolyCcwFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { } // Fast approximation for sine(X) for X between -0.5*pi and 2*pi -func geopolySine(tls *libc.TLS, r float64) float64 { /* sqlite3.c:200756:15: */ +func geopolySine(tls *libc.TLS, r float64) float64 { /* sqlite3.c:200813:15: */ if r >= float64(1.5)*3.1415926535897932385 { r = r - float64(2.0)*3.1415926535897932385 @@ -160229,7 +160260,7 @@ func geopolySine(tls *libc.TLS, r float64) float64 { /* sqlite3.c:200756:15: */ // // Construct a simple, convex, regular polygon centered at X, Y // with circumradius R and with N sides. -func geopolyRegularFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:200777:13: */ +func geopolyRegularFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:200834:13: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -160274,7 +160305,7 @@ func geopolyRegularFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr // // If pPoly is NULL but aCoord is not NULL, then compute a new GeoPoly from // the bounding box in aCoord and return a pointer to that GeoPoly. -func geopolyBBox(tls *libc.TLS, context uintptr, pPoly uintptr, aCoord uintptr, pRc uintptr) uintptr { /* sqlite3.c:200820:16: */ +func geopolyBBox(tls *libc.TLS, context uintptr, pPoly uintptr, aCoord uintptr, pRc uintptr) uintptr { /* sqlite3.c:200877:16: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -160415,7 +160446,7 @@ __4: } // Implementation of the geopoly_bbox(X) SQL function. -func geopolyBBoxFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:200891:13: */ +func geopolyBBoxFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:200948:13: */ var p uintptr = geopolyBBox(tls, context, *(*uintptr)(unsafe.Pointer(argv)), uintptr(0), uintptr(0)) if p != 0 { Xsqlite3_result_blob(tls, context, p+4, @@ -160428,13 +160459,13 @@ func geopolyBBoxFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { type GeoBBox1 = struct { FisInit int32 Fa [4]RtreeCoord -} /* sqlite3.c:200907:9 */ +} /* sqlite3.c:200964:9 */ // State vector for the geopoly_group_bbox() aggregate function. -type GeoBBox = GeoBBox1 /* sqlite3.c:200907:24 */ +type GeoBBox = GeoBBox1 /* sqlite3.c:200964:24 */ // Implementation of the geopoly_group_bbox(X) aggregate SQL function. -func geopolyBBoxStep(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:200917:13: */ +func geopolyBBoxStep(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:200974:13: */ bp := tls.Alloc(20) defer tls.Free(20) @@ -160468,7 +160499,7 @@ func geopolyBBoxStep(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { } } -func geopolyBBoxFinal(tls *libc.TLS, context uintptr) { /* sqlite3.c:200940:13: */ +func geopolyBBoxFinal(tls *libc.TLS, context uintptr) { /* sqlite3.c:200997:13: */ var p uintptr var pBBox uintptr pBBox = Xsqlite3_aggregate_context(tls, context, 0) @@ -160495,7 +160526,7 @@ func geopolyBBoxFinal(tls *libc.TLS, context uintptr) { /* sqlite3.c:200940:13: // // The left-most coordinate min(x1,x2) is not considered to be part of // the line segment for the purposes of this analysis. -func pointBeneathLine(tls *libc.TLS, x0 float64, y0 float64, x1 float64, y1 float64, x2 float64, y2 float64) int32 { /* sqlite3.c:200970:12: */ +func pointBeneathLine(tls *libc.TLS, x0 float64, y0 float64, x1 float64, y1 float64, x2 float64, y2 float64) int32 { /* sqlite3.c:201027:12: */ var y float64 if x0 == x1 && y0 == y1 { return 2 @@ -160536,7 +160567,7 @@ func pointBeneathLine(tls *libc.TLS, x0 float64, y0 float64, x1 float64, y1 floa // Return +2 if point X,Y is within polygon P. // Return +1 if point X,Y is on the polygon boundary. // Return 0 if point X,Y is outside the polygon -func geopolyContainsPointFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:201001:13: */ +func geopolyContainsPointFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:201058:13: */ var p1 uintptr = geopolyFuncParam(tls, context, *(*uintptr)(unsafe.Pointer(argv)), uintptr(0)) var x0 float64 = Xsqlite3_value_double(tls, *(*uintptr)(unsafe.Pointer(argv + 1*4))) var y0 float64 = Xsqlite3_value_double(tls, *(*uintptr)(unsafe.Pointer(argv + 2*4))) @@ -160574,7 +160605,7 @@ func geopolyContainsPointFunc(tls *libc.TLS, context uintptr, argc int32, argv u // Return +1 if P2 is contained within P1 // Return 0 if any part of P2 is on the outside of P1 // -func geopolyWithinFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:201044:13: */ +func geopolyWithinFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:201101:13: */ var p1 uintptr = geopolyFuncParam(tls, context, *(*uintptr)(unsafe.Pointer(argv)), uintptr(0)) var p2 uintptr = geopolyFuncParam(tls, context, *(*uintptr)(unsafe.Pointer(argv + 1*4)), uintptr(0)) if p1 != 0 && p2 != 0 { @@ -160605,10 +160636,10 @@ type GeoEvent1 = struct { FeType int32 FpSeg uintptr FpNext uintptr -} /* sqlite3.c:201064:9 */ +} /* sqlite3.c:201121:9 */ // Objects used by the overlap algorihm. -type GeoEvent = GeoEvent1 /* sqlite3.c:201064:25 */ +type GeoEvent = GeoEvent1 /* sqlite3.c:201121:25 */ type GeoSegment1 = struct { FC float64 FB float64 @@ -160618,20 +160649,20 @@ type GeoSegment1 = struct { F__ccgo_pad1 [3]byte Fidx uint32 FpNext uintptr -} /* sqlite3.c:201064:9 */ +} /* sqlite3.c:201121:9 */ -type GeoSegment = GeoSegment1 /* sqlite3.c:201065:27 */ +type GeoSegment = GeoSegment1 /* sqlite3.c:201122:27 */ type GeoOverlap1 = struct { FaEvent uintptr FaSegment uintptr FnEvent int32 FnSegment int32 -} /* sqlite3.c:201066:9 */ +} /* sqlite3.c:201123:9 */ -type GeoOverlap = GeoOverlap1 /* sqlite3.c:201066:27 */ +type GeoOverlap = GeoOverlap1 /* sqlite3.c:201123:27 */ // Add a single segment and its associated events. -func geopolyAddOneSegment(tls *libc.TLS, p uintptr, x0 GeoCoord, y0 GeoCoord, x1 GeoCoord, y1 GeoCoord, side uint8, idx uint32) { /* sqlite3.c:201091:13: */ +func geopolyAddOneSegment(tls *libc.TLS, p uintptr, x0 GeoCoord, y0 GeoCoord, x1 GeoCoord, y1 GeoCoord, side uint8, idx uint32) { /* sqlite3.c:201148:13: */ var pSeg uintptr var pEvent uintptr if x0 == x1 { @@ -160665,7 +160696,7 @@ func geopolyAddOneSegment(tls *libc.TLS, p uintptr, x0 GeoCoord, y0 GeoCoord, x1 } // Insert all segments and events for polygon pPoly. -func geopolyAddSegments(tls *libc.TLS, p uintptr, pPoly uintptr, side uint8) { /* sqlite3.c:201135:13: */ +func geopolyAddSegments(tls *libc.TLS, p uintptr, pPoly uintptr, side uint8) { /* sqlite3.c:201192:13: */ var i uint32 var x uintptr for i = uint32(0); i < uint32((*GeoPoly)(unsafe.Pointer(pPoly)).FnVertex)-uint32(1); i++ { @@ -160677,7 +160708,7 @@ func geopolyAddSegments(tls *libc.TLS, p uintptr, pPoly uintptr, side uint8) { / } // Merge two lists of sorted events by X coordinate -func geopolyEventMerge(tls *libc.TLS, pLeft uintptr, pRight uintptr) uintptr { /* sqlite3.c:201153:17: */ +func geopolyEventMerge(tls *libc.TLS, pLeft uintptr, pRight uintptr) uintptr { /* sqlite3.c:201210:17: */ bp := tls.Alloc(20) defer tls.Free(20) @@ -160707,7 +160738,7 @@ func geopolyEventMerge(tls *libc.TLS, pLeft uintptr, pRight uintptr) uintptr { / } // Sort an array of nEvent event objects into a list. -func geopolySortEventsByX(tls *libc.TLS, aEvent uintptr, nEvent int32) uintptr { /* sqlite3.c:201175:17: */ +func geopolySortEventsByX(tls *libc.TLS, aEvent uintptr, nEvent int32) uintptr { /* sqlite3.c:201232:17: */ bp := tls.Alloc(200) defer tls.Free(200) @@ -160737,7 +160768,7 @@ func geopolySortEventsByX(tls *libc.TLS, aEvent uintptr, nEvent int32) uintptr { } // Merge two lists of sorted segments by Y, and then by C. -func geopolySegmentMerge(tls *libc.TLS, pLeft uintptr, pRight uintptr) uintptr { /* sqlite3.c:201200:19: */ +func geopolySegmentMerge(tls *libc.TLS, pLeft uintptr, pRight uintptr) uintptr { /* sqlite3.c:201257:19: */ bp := tls.Alloc(40) defer tls.Free(40) @@ -160772,7 +160803,7 @@ func geopolySegmentMerge(tls *libc.TLS, pLeft uintptr, pRight uintptr) uintptr { // Sort a list of GeoSegments in order of increasing Y and in the event of // a tie, increasing C (slope). -func geopolySortSegmentsByYAndC(tls *libc.TLS, pList uintptr) uintptr { /* sqlite3.c:201225:19: */ +func geopolySortSegmentsByYAndC(tls *libc.TLS, pList uintptr) uintptr { /* sqlite3.c:201282:19: */ bp := tls.Alloc(200) defer tls.Free(200) @@ -160802,7 +160833,7 @@ func geopolySortSegmentsByYAndC(tls *libc.TLS, pList uintptr) uintptr { /* sqlit } // Determine the overlap between two polygons -func geopolyOverlap(tls *libc.TLS, p1 uintptr, p2 uintptr) int32 { /* sqlite3.c:201251:12: */ +func geopolyOverlap(tls *libc.TLS, p1 uintptr, p2 uintptr) int32 { /* sqlite3.c:201308:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -161038,7 +161069,7 @@ geopolyOverlapDone: // 3 P2 is completely contained within P1 // 4 P1 and P2 are the same polygon // NULL Either P1 or P2 or both are not valid polygons -func geopolyOverlapFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:201374:13: */ +func geopolyOverlapFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:201431:13: */ var p1 uintptr = geopolyFuncParam(tls, context, *(*uintptr)(unsafe.Pointer(argv)), uintptr(0)) var p2 uintptr = geopolyFuncParam(tls, context, *(*uintptr)(unsafe.Pointer(argv + 1*4)), uintptr(0)) if p1 != 0 && p2 != 0 { @@ -161054,7 +161085,7 @@ func geopolyOverlapFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr } // Enable or disable debugging output -func geopolyDebugFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:201396:13: */ +func geopolyDebugFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:201453:13: */ } // This function is the implementation of both the xConnect and xCreate @@ -161064,7 +161095,7 @@ func geopolyDebugFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) // argv[1] -> database name // argv[2] -> table name // argv[...] -> column names... -func geopolyInit(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr, isCreate int32) int32 { /* sqlite3.c:201415:12: */ +func geopolyInit(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr, isCreate int32) int32 { /* sqlite3.c:201472:12: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -161179,12 +161210,12 @@ __11: } // GEOPOLY virtual table module xCreate method. -func geopolyCreate(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 { /* sqlite3.c:201499:12: */ +func geopolyCreate(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 { /* sqlite3.c:201556:12: */ return geopolyInit(tls, db, pAux, argc, argv, ppVtab, pzErr, 1) } // GEOPOLY virtual table module xConnect method. -func geopolyConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 { /* sqlite3.c:201512:12: */ +func geopolyConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 { /* sqlite3.c:201569:12: */ return geopolyInit(tls, db, pAux, argc, argv, ppVtab, pzErr, 0) } @@ -161198,7 +161229,7 @@ func geopolyConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv ui // 3 search for objects overlapping the same bounding box // that contains polygon argv[0] // 4 full table scan -func geopolyFilter(tls *libc.TLS, pVtabCursor uintptr, idxNum int32, idxStr uintptr, argc int32, argv uintptr) int32 { /* sqlite3.c:201535:12: */ +func geopolyFilter(tls *libc.TLS, pVtabCursor uintptr, idxNum int32, idxStr uintptr, argc int32, argv uintptr) int32 { /* sqlite3.c:201592:12: */ bp := tls.Alloc(40) defer tls.Free(40) @@ -161365,7 +161396,7 @@ geopoly_filter_end: // 3 "rtree" R-tree within query using geopoly_within() // 4 "fullscan" full-table scan. // ------------------------------------------------ -func geopolyBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 { /* sqlite3.c:201667:12: */ +func geopolyBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 { /* sqlite3.c:201724:12: */ var ii int32 var iRowidTerm int32 = -1 var iFuncTerm int32 = -1 @@ -161416,7 +161447,7 @@ func geopolyBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 { /* s } // GEOPOLY virtual table module xColumn method. -func geopolyColumn(tls *libc.TLS, cur uintptr, ctx uintptr, i int32) int32 { /* sqlite3.c:201719:12: */ +func geopolyColumn(tls *libc.TLS, cur uintptr, ctx uintptr, i int32) int32 { /* sqlite3.c:201776:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -161481,7 +161512,7 @@ func geopolyColumn(tls *libc.TLS, cur uintptr, ctx uintptr, i int32) int32 { /* // argv[1] = rowid after the change. Never NULL // argv[2] = new value for _shape // argv[3] = new value for first application-defined column.... -func geopolyUpdate(tls *libc.TLS, pVtab uintptr, nData int32, aData uintptr, pRowid uintptr) int32 { /* sqlite3.c:201774:12: */ +func geopolyUpdate(tls *libc.TLS, pVtab uintptr, nData int32, aData uintptr, pRowid uintptr) int32 { /* sqlite3.c:201831:12: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -161692,7 +161723,7 @@ 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) int32 { /* sqlite3.c:201911:12: */ +func geopolyFindFunction(tls *libc.TLS, pVtab uintptr, nArg int32, zName uintptr, pxFunc uintptr, ppArg uintptr) int32 { /* sqlite3.c:201968:12: */ if Xsqlite3_stricmp(tls, zName, ts+27437) == 0 { *(*uintptr)(unsafe.Pointer(pxFunc)) = *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) @@ -161733,9 +161764,9 @@ var geopolyModule = Sqlite3_module{ FxRename: 0, // xRename - rename the table FxSavepoint: 0, // xRollbackTo FxShadowName: 0, // xShadowName -} /* sqlite3.c:201932:23 */ +} /* sqlite3.c:201989:23 */ -func sqlite3_geopoly_init(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:201959:12: */ +func sqlite3_geopoly_init(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:202016:12: */ var rc int32 = SQLITE_OK var i int32 for i = 0; uint32(i) < uint32(unsafe.Sizeof(aFunc))/uint32(unsafe.Sizeof(struct { @@ -161789,14 +161820,14 @@ var aFunc = [12]struct { {FxFunc: 0, FnArg: int8(7), FbPure: uint8(1), FzName: ts + 27577 /* "geopoly_xform" */}, {FxFunc: 0, FnArg: int8(4), FbPure: uint8(1), FzName: ts + 27591 /* "geopoly_regular" */}, {FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 27607 /* "geopoly_ccw" */}, -} /* sqlite3.c:201966:5 */ +} /* sqlite3.c:202023:5 */ var aAgg = [1]struct { FxStep uintptr FxFinal uintptr FzName uintptr }{ {FxStep: 0, FxFinal: 0, FzName: ts + 27619 /* "geopoly_group_bb..." */}, -} /* sqlite3.c:201984:5 */ +} /* sqlite3.c:202041:5 */ //************* End of geopoly.c ******************************************** //************* Continuing where we left off in rtree.c ********************* @@ -161804,7 +161835,7 @@ var aAgg = [1]struct { // Register the r-tree module with database handle db. This creates the // virtual table module "rtree" and the debugging/analysis scalar // function "rtreenode". -func Xsqlite3RtreeInit(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:202019:20: */ +func Xsqlite3RtreeInit(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:202076:20: */ var utf8 int32 = SQLITE_UTF8 var rc int32 @@ -161841,7 +161872,7 @@ func Xsqlite3RtreeInit(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:202019:20 // or sqlite3_rtree_query_callback(). In other words, this routine is the // destructor for an RtreeGeomCallback objecct. This routine is called when // the corresponding SQL function is deleted. -func rtreeFreeCallback(tls *libc.TLS, p uintptr) { /* sqlite3.c:202058:13: */ +func rtreeFreeCallback(tls *libc.TLS, p uintptr) { /* sqlite3.c:202115:13: */ var pInfo uintptr = p if (*RtreeGeomCallback)(unsafe.Pointer(pInfo)).FxDestructor != 0 { (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*RtreeGeomCallback)(unsafe.Pointer(pInfo)).FxDestructor})).f(tls, (*RtreeGeomCallback)(unsafe.Pointer(pInfo)).FpContext) @@ -161850,7 +161881,7 @@ func rtreeFreeCallback(tls *libc.TLS, p uintptr) { /* sqlite3.c:202058:13: */ } // This routine frees the BLOB that is returned by geomCallback(). -func rtreeMatchArgFree(tls *libc.TLS, pArg uintptr) { /* sqlite3.c:202067:13: */ +func rtreeMatchArgFree(tls *libc.TLS, pArg uintptr) { /* sqlite3.c:202124:13: */ var i int32 var p uintptr = pArg for i = 0; i < (*RtreeMatchArg)(unsafe.Pointer(p)).FnParam; i++ { @@ -161871,7 +161902,7 @@ func rtreeMatchArgFree(tls *libc.TLS, pArg uintptr) { /* sqlite3.c:202067:13: */ // The R-Tree MATCH operator will read the returned BLOB, deserialize // the RtreeMatchArg object, and use the RtreeMatchArg object to figure // out which elements of the R-Tree should be returned by the query. -func geomCallback(tls *libc.TLS, ctx uintptr, nArg int32, aArg uintptr) { /* sqlite3.c:202090:13: */ +func geomCallback(tls *libc.TLS, ctx uintptr, nArg int32, aArg uintptr) { /* sqlite3.c:202147:13: */ var pGeomCtx uintptr = Xsqlite3_user_data(tls, ctx) var pBlob uintptr var nBlob Sqlite3_int64 @@ -161905,7 +161936,7 @@ func geomCallback(tls *libc.TLS, ctx uintptr, nArg int32, aArg uintptr) { /* sql } // 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) int32 { /* sqlite3.c:202128:16: */ +func Xsqlite3_rtree_geometry_callback(tls *libc.TLS, db uintptr, zGeom uintptr, xGeom uintptr, pContext uintptr) int32 { /* sqlite3.c:202185:16: */ var pGeomCtx uintptr // Context object for new user-function // Allocate and populate the context object. @@ -161925,7 +161956,7 @@ func Xsqlite3_rtree_geometry_callback(tls *libc.TLS, db uintptr, zGeom uintptr, // 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) int32 { /* sqlite3.c:202152:16: */ +func Xsqlite3_rtree_query_callback(tls *libc.TLS, db uintptr, zQueryFunc uintptr, xQueryFunc uintptr, pContext uintptr, xDestructor uintptr) int32 { /* sqlite3.c:202209:16: */ var pGeomCtx uintptr // Context object for new user-function // Allocate and populate the context object. @@ -162376,7 +162407,7 @@ type sqlite3rbu = struct { FszTempLimit I64 FnRbu int32 FpRbuFd uintptr -} /* sqlite3.c:203382:9 */ +} /* sqlite3.c:203439:9 */ //************* End of rtree.c ********************************************** //************* Begin file icu.c ******************************************** @@ -162777,7 +162808,7 @@ type sqlite3rbu = struct { // #include "sqlite3.h" ** Required for error code definitions ** -type Sqlite3rbu = sqlite3rbu /* sqlite3.c:203382:27 */ +type Sqlite3rbu = sqlite3rbu /* sqlite3.c:203439:27 */ //************* End of sqlite3rbu.h ***************************************** //************* Continuing where we left off in sqlite3rbu.c **************** @@ -162842,7 +162873,7 @@ type Sqlite3rbu = sqlite3rbu /* sqlite3.c:203382:27 */ type RbuFrame1 = struct { FiDbPage U32 FiWalFrame U32 -} /* sqlite3.c:203382:9 */ +} /* sqlite3.c:203439:9 */ //************* End of sqlite3rbu.h ***************************************** //************* Continuing where we left off in sqlite3rbu.c **************** @@ -162904,7 +162935,7 @@ type RbuFrame1 = struct { // Only valid if STAGE==1. The RBU database name of the table // currently being read. -type RbuFrame = RbuFrame1 /* sqlite3.c:203813:25 */ +type RbuFrame = RbuFrame1 /* sqlite3.c:203870:25 */ type RbuObjIter1 = struct { FpTblIter uintptr FpIdxIter uintptr @@ -162933,9 +162964,9 @@ type RbuObjIter1 = struct { FaIdxCol uintptr FzIdxSql uintptr FpRbuUpdate uintptr -} /* sqlite3.c:203382:9 */ +} /* sqlite3.c:203439:9 */ -type RbuObjIter = RbuObjIter1 /* sqlite3.c:203814:27 */ +type RbuObjIter = RbuObjIter1 /* sqlite3.c:203871:27 */ type RbuState1 = struct { FeStage int32 FzTbl uintptr @@ -162947,15 +162978,15 @@ type RbuState1 = struct { FiCookie U32 FiOalSz I64 FnPhaseOneStep I64 -} /* sqlite3.c:203815:9 */ +} /* sqlite3.c:203872:9 */ -type RbuState = RbuState1 /* sqlite3.c:203815:25 */ +type RbuState = RbuState1 /* sqlite3.c:203872:25 */ type RbuSpan1 = struct { FzSpan uintptr FnSpan int32 -} /* sqlite3.c:203382:9 */ +} /* sqlite3.c:203439:9 */ -type RbuSpan = RbuSpan1 /* sqlite3.c:203816:24 */ +type RbuSpan = RbuSpan1 /* sqlite3.c:203873:24 */ type rbu_vfs = struct { Fbase Sqlite3_vfs FpRealVfs uintptr @@ -162963,9 +162994,9 @@ type rbu_vfs = struct { FpRbu uintptr FpMain uintptr FpMainRbu uintptr -} /* sqlite3.c:203382:9 */ +} /* sqlite3.c:203439:9 */ -type Rbu_vfs = rbu_vfs /* sqlite3.c:203817:24 */ +type Rbu_vfs = rbu_vfs /* sqlite3.c:203874:24 */ type rbu_file = struct { Fbase Sqlite3_file FpReal uintptr @@ -162984,16 +163015,16 @@ type rbu_file = struct { FpWalFd uintptr FpMainNext uintptr FpMainRbuNext uintptr -} /* sqlite3.c:203382:9 */ +} /* sqlite3.c:203439:9 */ -type Rbu_file = rbu_file /* sqlite3.c:203818:25 */ +type Rbu_file = rbu_file /* sqlite3.c:203875:25 */ type RbuUpdateStmt1 = struct { FzMask uintptr FpUpdate uintptr FpNext uintptr -} /* sqlite3.c:203382:9 */ +} /* sqlite3.c:203439:9 */ -type RbuUpdateStmt = RbuUpdateStmt1 /* sqlite3.c:203819:30 */ +type RbuUpdateStmt = RbuUpdateStmt1 /* sqlite3.c:203876:30 */ // True for an RBU vacuum handle, or false otherwise. @@ -163012,7 +163043,7 @@ type RbuUpdateStmt = RbuUpdateStmt1 /* sqlite3.c:203819:30 */ // finished, leave *pz pointing to the first character past the end of // the integer. The *pLen parameter holds the length of the string // in *pz and is decremented once for each character in the integer. -func rbuDeltaGetInt(tls *libc.TLS, pz uintptr, pLen uintptr) uint32 { /* sqlite3.c:204109:21: */ +func rbuDeltaGetInt(tls *libc.TLS, pz uintptr, pLen uintptr) uint32 { /* sqlite3.c:204166:21: */ var v uint32 = uint32(0) var c int32 var z uintptr = *(*uintptr)(unsafe.Pointer(pz)) @@ -163035,7 +163066,7 @@ var zValue = [128]int8{ int8(25), int8(26), int8(27), int8(28), int8(29), int8(30), int8(31), int8(32), int8(33), int8(34), int8(35), int8(-1), int8(-1), int8(-1), int8(-1), int8(36), int8(-1), int8(37), int8(38), int8(39), int8(40), int8(41), int8(42), int8(43), int8(44), int8(45), int8(46), int8(47), int8(48), int8(49), int8(50), int8(51), int8(52), int8(53), int8(54), int8(55), int8(56), int8(57), int8(58), int8(59), int8(60), int8(61), int8(62), int8(-1), int8(-1), int8(-1), int8(63), int8(-1), -} /* sqlite3.c:204110:28 */ +} /* sqlite3.c:204167:28 */ // Apply a delta. // @@ -163055,7 +163086,7 @@ var zValue = [128]int8{ // // Refer to the delta_create() documentation above for a description // of the delta file format. -func rbuDeltaApply(tls *libc.TLS, zSrc uintptr, lenSrc int32, zDelta uintptr, lenDelta int32, zOut uintptr) int32 { /* sqlite3.c:204190:12: */ +func rbuDeltaApply(tls *libc.TLS, zSrc uintptr, lenSrc int32, zDelta uintptr, lenDelta int32, zOut uintptr) int32 { /* sqlite3.c:204247:12: */ bp := tls.Alloc(8) defer tls.Free(8) *(*uintptr)(unsafe.Pointer(bp)) = zDelta @@ -163145,7 +163176,7 @@ func rbuDeltaApply(tls *libc.TLS, zSrc uintptr, lenSrc int32, zDelta uintptr, le return -1 } -func rbuDeltaOutputSize(tls *libc.TLS, zDelta uintptr, lenDelta int32) int32 { /* sqlite3.c:204276:12: */ +func rbuDeltaOutputSize(tls *libc.TLS, zDelta uintptr, lenDelta int32) int32 { /* sqlite3.c:204333:12: */ bp := tls.Alloc(8) defer tls.Free(8) *(*uintptr)(unsafe.Pointer(bp)) = zDelta @@ -163170,7 +163201,7 @@ func rbuDeltaOutputSize(tls *libc.TLS, zDelta uintptr, lenDelta int32) int32 { / // arguments must be passed to this function. The first is the blob to // patch and the second the patch to apply. If no error occurs, this // function returns the patched blob. -func rbuFossilDeltaFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:204298:13: */ +func rbuFossilDeltaFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:204355:13: */ var aDelta uintptr var nDelta int32 var aOrig uintptr @@ -163213,7 +163244,7 @@ func rbuFossilDeltaFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr // an SQLite error code. Additionally, set output variable *pzErrmsg to // point to a buffer containing an error message. It is the responsibility // of the caller to (eventually) free this buffer using sqlite3_free(). -func prepareAndCollectError(tls *libc.TLS, db uintptr, ppStmt uintptr, pzErrmsg uintptr, zSql uintptr) int32 { /* sqlite3.c:204351:12: */ +func prepareAndCollectError(tls *libc.TLS, db uintptr, ppStmt uintptr, pzErrmsg uintptr, zSql uintptr) int32 { /* sqlite3.c:204408:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -163231,7 +163262,7 @@ func prepareAndCollectError(tls *libc.TLS, db uintptr, ppStmt uintptr, pzErrmsg // If an error has occurred, then set *pzErrmsg to point to a buffer // containing an error message. It is the responsibility of the caller // to eventually free this buffer using sqlite3_free(). -func resetAndCollectError(tls *libc.TLS, pStmt uintptr, pzErrmsg uintptr) int32 { /* sqlite3.c:204373:12: */ +func resetAndCollectError(tls *libc.TLS, pStmt uintptr, pzErrmsg uintptr) int32 { /* sqlite3.c:204430:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -163255,7 +163286,7 @@ func resetAndCollectError(tls *libc.TLS, pStmt uintptr, pzErrmsg uintptr) int32 // // If argument zSql is NULL, this function assumes that an OOM has occurred. // In this case SQLITE_NOMEM is returned and *ppStmt set to NULL. -func prepareFreeAndCollectError(tls *libc.TLS, db uintptr, ppStmt uintptr, pzErrmsg uintptr, zSql uintptr) int32 { /* sqlite3.c:204396:12: */ +func prepareFreeAndCollectError(tls *libc.TLS, db uintptr, ppStmt uintptr, pzErrmsg uintptr, zSql uintptr) int32 { /* sqlite3.c:204453:12: */ var rc int32 if zSql == uintptr(0) { @@ -163270,7 +163301,7 @@ func prepareFreeAndCollectError(tls *libc.TLS, db uintptr, ppStmt uintptr, pzErr // Free the RbuObjIter.azTblCol[] and RbuObjIter.abTblPk[] arrays allocated // by an earlier call to rbuObjIterCacheTableInfo(). -func rbuObjIterFreeCols(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:204418:13: */ +func rbuObjIterFreeCols(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:204475:13: */ var i int32 for i = 0; i < (*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol; i++ { Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*4))) @@ -163288,7 +163319,7 @@ func rbuObjIterFreeCols(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:204418:13: // Finalize all statements and free all allocations that are specific to // the current object (table/index pair). -func rbuObjIterClearStatements(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:204438:13: */ +func rbuObjIterClearStatements(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:204495:13: */ var pUp uintptr Xsqlite3_finalize(tls, (*RbuObjIter)(unsafe.Pointer(pIter)).FpSelect) @@ -163318,7 +163349,7 @@ func rbuObjIterClearStatements(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:2044 // Clean up any resources allocated as part of the iterator object passed // as the only argument. -func rbuObjIterFinalize(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:204470:13: */ +func rbuObjIterFinalize(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:204527:13: */ rbuObjIterClearStatements(tls, pIter) Xsqlite3_finalize(tls, (*RbuObjIter)(unsafe.Pointer(pIter)).FpTblIter) Xsqlite3_finalize(tls, (*RbuObjIter)(unsafe.Pointer(pIter)).FpIdxIter) @@ -163332,7 +163363,7 @@ func rbuObjIterFinalize(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:204470:13: // pointing to the next entry. Otherwise, an error code and message is // left in the RBU handle passed as the first argument. A copy of the // error code is returned. -func rbuObjIterNext(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlite3.c:204486:12: */ +func rbuObjIterNext(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlite3.c:204543:12: */ var rc int32 = (*Sqlite3rbu)(unsafe.Pointer(p)).Frc if rc == SQLITE_OK { @@ -163413,7 +163444,7 @@ func rbuObjIterNext(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlite3. // // For an rbu vacuum handle, a copy of the first argument is returned if // the second argument is either missing or 0 (not a view). -func rbuTargetNameFunc(tls *libc.TLS, pCtx uintptr, argc int32, argv uintptr) { /* sqlite3.c:204566:13: */ +func rbuTargetNameFunc(tls *libc.TLS, pCtx uintptr, argc int32, argv uintptr) { /* sqlite3.c:204623:13: */ var p uintptr = Xsqlite3_user_data(tls, pCtx) var zIn uintptr @@ -163443,7 +163474,7 @@ func rbuTargetNameFunc(tls *libc.TLS, pCtx uintptr, argc int32, argv uintptr) { // pointing to the first entry. Otherwise, an error code and message is // left in the RBU handle passed as the first argument. A copy of the // error code is returned. -func rbuObjIterFirst(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlite3.c:204602:12: */ +func rbuObjIterFirst(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlite3.c:204659:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -163478,7 +163509,7 @@ func rbuObjIterFirst(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlite3 // than SQLITE_OK), then this function returns NULL without modifying the // stored error code. In this case it still calls sqlite3_free() on any // printf() parameters associated with %z conversions. -func rbuMPrintf(tls *libc.TLS, p uintptr, zFmt uintptr, va uintptr) uintptr { /* sqlite3.c:204637:13: */ +func rbuMPrintf(tls *libc.TLS, p uintptr, zFmt uintptr, va uintptr) uintptr { /* sqlite3.c:204694:13: */ var zSql uintptr = uintptr(0) var ap Va_list _ = ap @@ -163504,7 +163535,7 @@ func rbuMPrintf(tls *libc.TLS, p uintptr, zFmt uintptr, va uintptr) uintptr { /* // If an error occurs, an error code and error message is stored in the // RBU handle. If an error has already occurred when this function is // called, it is a no-op. -func rbuMPrintfExec(tls *libc.TLS, p uintptr, db uintptr, zFmt uintptr, va uintptr) int32 { /* sqlite3.c:204662:12: */ +func rbuMPrintfExec(tls *libc.TLS, p uintptr, db uintptr, zFmt uintptr, va uintptr) int32 { /* sqlite3.c:204719:12: */ var ap Va_list _ = ap var zSql uintptr @@ -163530,7 +163561,7 @@ func rbuMPrintfExec(tls *libc.TLS, p uintptr, db uintptr, zFmt uintptr, va uintp // error has already occurred when this function is called, return NULL // immediately without attempting the allocation or modifying the stored // error code. -func rbuMalloc(tls *libc.TLS, p uintptr, nByte Sqlite3_int64) uintptr { /* sqlite3.c:204689:13: */ +func rbuMalloc(tls *libc.TLS, p uintptr, nByte Sqlite3_int64) uintptr { /* sqlite3.c:204746:13: */ var pRet uintptr = uintptr(0) if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { @@ -163547,7 +163578,7 @@ func rbuMalloc(tls *libc.TLS, p uintptr, nByte Sqlite3_int64) uintptr { /* sqlit // Allocate and zero the pIter->azTblCol[] and abTblPk[] arrays so that // there is room for at least nCol elements. If an OOM occurs, store an // error code in the RBU handle passed as the first argument. -func rbuAllocateIterArrays(tls *libc.TLS, p uintptr, pIter uintptr, nCol int32) { /* sqlite3.c:204709:13: */ +func rbuAllocateIterArrays(tls *libc.TLS, p uintptr, pIter uintptr, nCol int32) { /* sqlite3.c:204766:13: */ var nByte Sqlite3_int64 = Sqlite3_int64((uint32(2)*uint32(unsafe.Sizeof(uintptr(0))) + uint32(unsafe.Sizeof(int32(0))) + uint32(3)*uint32(unsafe.Sizeof(U8(0)))) * uint32(nCol)) var azNew uintptr @@ -163570,7 +163601,7 @@ func rbuAllocateIterArrays(tls *libc.TLS, p uintptr, pIter uintptr, nCol int32) // If an OOM condition is encountered when attempting to allocate memory, // output variable (*pRc) is set to SQLITE_NOMEM before returning. Otherwise, // if the allocation succeeds, (*pRc) is left unchanged. -func rbuStrndup(tls *libc.TLS, zStr uintptr, pRc uintptr) uintptr { /* sqlite3.c:204734:13: */ +func rbuStrndup(tls *libc.TLS, zStr uintptr, pRc uintptr) uintptr { /* sqlite3.c:204791:13: */ var zRet uintptr = uintptr(0) if *(*int32)(unsafe.Pointer(pRc)) == SQLITE_OK { @@ -163593,7 +163624,7 @@ func rbuStrndup(tls *libc.TLS, zStr uintptr, pRc uintptr) uintptr { /* sqlite3.c // If the sqlite3_finalize() call indicates that an error occurs, and the // rbu handle error code is not already set, set the error code and error // message accordingly. -func rbuFinalize(tls *libc.TLS, p uintptr, pStmt uintptr) { /* sqlite3.c:204759:13: */ +func rbuFinalize(tls *libc.TLS, p uintptr, pStmt uintptr) { /* sqlite3.c:204816:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -163643,7 +163674,7 @@ func rbuFinalize(tls *libc.TLS, p uintptr, pStmt uintptr) { /* sqlite3.c:204759: // }else{ // return RBU_PK_NONE // } -func rbuTableType(tls *libc.TLS, p uintptr, zTab uintptr, peType uintptr, piTnum uintptr, piPk uintptr) { /* sqlite3.c:204807:13: */ +func rbuTableType(tls *libc.TLS, p uintptr, zTab uintptr, peType uintptr, piTnum uintptr, piPk uintptr) { /* sqlite3.c:204864:13: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -163764,7 +163795,7 @@ __16: // This is a helper function for rbuObjIterCacheTableInfo(). It populates // the pIter->abIndexed[] array. -func rbuObjIterCacheIndexedCols(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:204893:13: */ +func rbuObjIterCacheIndexedCols(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:204950:13: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -163822,7 +163853,7 @@ func rbuObjIterCacheIndexedCols(tls *libc.TLS, p uintptr, pIter uintptr) { /* sq // Return SQLITE_OK if successful, or an SQLite error code otherwise. If // an error does occur, an error code and error message are also left in // the RBU handle. -func rbuObjIterCacheTableInfo(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlite3.c:204947:12: */ +func rbuObjIterCacheTableInfo(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlite3.c:205004:12: */ bp := tls.Alloc(64) defer tls.Free(64) @@ -163944,7 +163975,7 @@ func rbuObjIterCacheTableInfo(tls *libc.TLS, p uintptr, pIter uintptr) int32 { / // This function constructs and returns a pointer to a nul-terminated // string containing some SQL clause or list based on one or more of the // column names currently stored in the pIter->azTblCol[] array. -func rbuObjIterGetCollist(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { /* sqlite3.c:205057:13: */ +func rbuObjIterGetCollist(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { /* sqlite3.c:205114:13: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -163963,7 +163994,7 @@ func rbuObjIterGetCollist(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { /* // in order, for the current table. Before each column name, add the text // zPre. After each column name, add the zPost text. Use zSeparator as // the separator text (usually ", "). -func rbuObjIterGetPkList(tls *libc.TLS, p uintptr, pIter uintptr, zPre uintptr, zSeparator uintptr, zPost uintptr) uintptr { /* sqlite3.c:205078:13: */ +func rbuObjIterGetPkList(tls *libc.TLS, p uintptr, pIter uintptr, zPre uintptr, zSeparator uintptr, zPost uintptr) uintptr { /* sqlite3.c:205135:13: */ bp := tls.Alloc(40) defer tls.Free(40) @@ -164005,7 +164036,7 @@ func rbuObjIterGetPkList(tls *libc.TLS, p uintptr, pIter uintptr, zPre uintptr, // // Instead of "?" placeholders, the actual WHERE clauses created by // this function contain literal SQL values. -func rbuVacuumTableStart(tls *libc.TLS, p uintptr, pIter uintptr, bRowid int32, zWrite uintptr) uintptr { /* sqlite3.c:205123:13: */ +func rbuVacuumTableStart(tls *libc.TLS, p uintptr, pIter uintptr, bRowid int32, zWrite uintptr) uintptr { /* sqlite3.c:205180:13: */ bp := tls.Alloc(76) defer tls.Free(76) @@ -164064,7 +164095,7 @@ func rbuVacuumTableStart(tls *libc.TLS, p uintptr, pIter uintptr, bRowid int32, // If the expression cannot be created, NULL is returned. In this case, // the caller has to use an OFFSET clause to extract only the required // rows from the sourct table, just as it does for an RBU update operation. -func rbuVacuumIndexStart(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { /* sqlite3.c:205190:13: */ +func rbuVacuumIndexStart(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { /* sqlite3.c:205247:13: */ bp := tls.Alloc(184) defer tls.Free(184) @@ -164245,7 +164276,7 @@ index_start_out: // pzImposterCols: ... // pzImposterPk: ... // pzWhere: ... -func rbuObjIterGetIndexCols(tls *libc.TLS, p uintptr, pIter uintptr, pzImposterCols uintptr, pzImposterPk uintptr, pzWhere uintptr, pnBind uintptr) uintptr { /* sqlite3.c:205305:13: */ +func rbuObjIterGetIndexCols(tls *libc.TLS, p uintptr, pIter uintptr, pzImposterCols uintptr, pzImposterPk uintptr, pzWhere uintptr, pnBind uintptr) uintptr { /* sqlite3.c:205362:13: */ bp := tls.Alloc(204) defer tls.Free(204) @@ -164356,7 +164387,7 @@ func rbuObjIterGetIndexCols(tls *libc.TLS, p uintptr, pIter uintptr, pzImposterC // // For tables with implicit rowids - RBU_PK_EXTERNAL and RBU_PK_NONE, append // the text ", old._rowid_" to the returned value. -func rbuObjIterGetOldlist(tls *libc.TLS, p uintptr, pIter uintptr, zObj uintptr) uintptr { /* sqlite3.c:205417:13: */ +func rbuObjIterGetOldlist(tls *libc.TLS, p uintptr, pIter uintptr, zObj uintptr) uintptr { /* sqlite3.c:205474:13: */ bp := tls.Alloc(64) defer tls.Free(64) @@ -164394,7 +164425,7 @@ func rbuObjIterGetOldlist(tls *libc.TLS, p uintptr, pIter uintptr, zObj uintptr) // Return the string: // // "b = ?1 AND c = ?2" -func rbuObjIterGetWhere(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { /* sqlite3.c:205458:13: */ +func rbuObjIterGetWhere(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { /* sqlite3.c:205515:13: */ bp := tls.Alloc(80) defer tls.Free(80) @@ -164432,7 +164463,7 @@ func rbuObjIterGetWhere(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { /* sq // is something wrong with the rbu_control value in the rbu_control value // stored in the (p->nCol+1)'th column. Set the error code and error message // of the RBU handle to something reflecting this. -func rbuBadControlError(tls *libc.TLS, p uintptr) { /* sqlite3.c:205499:13: */ +func rbuBadControlError(tls *libc.TLS, p uintptr) { /* sqlite3.c:205556:13: */ (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_ERROR (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+29155, 0) } @@ -164452,7 +164483,7 @@ func rbuBadControlError(tls *libc.TLS, p uintptr) { /* sqlite3.c:205499:13: */ // argument and NULL is returned. Or, if an error has already occurred // when this function is called, NULL is returned immediately, without // attempting the allocation or modifying the stored error code. -func rbuObjIterGetSetlist(tls *libc.TLS, p uintptr, pIter uintptr, zMask uintptr) uintptr { /* sqlite3.c:205522:13: */ +func rbuObjIterGetSetlist(tls *libc.TLS, p uintptr, pIter uintptr, zMask uintptr) uintptr { /* sqlite3.c:205579:13: */ bp := tls.Alloc(112) defer tls.Free(112) @@ -164498,7 +164529,7 @@ func rbuObjIterGetSetlist(tls *libc.TLS, p uintptr, pIter uintptr, zMask uintptr // argument and NULL is returned. Or, if an error has already occurred // when this function is called, NULL is returned immediately, without // attempting the allocation or modifying the stored error code. -func rbuObjIterGetBindlist(tls *libc.TLS, p uintptr, nBind int32) uintptr { /* sqlite3.c:205576:13: */ +func rbuObjIterGetBindlist(tls *libc.TLS, p uintptr, nBind int32) uintptr { /* sqlite3.c:205633:13: */ var zRet uintptr = uintptr(0) var nByte Sqlite3_int64 = int64(2)*Sqlite3_int64(nBind) + int64(1) @@ -164528,7 +164559,7 @@ func rbuObjIterGetBindlist(tls *libc.TLS, p uintptr, nBind int32) uintptr { /* s // this function returns: // // PRIMARY KEY("b", "a" DESC) -func rbuWithoutRowidPK(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { /* sqlite3.c:205603:13: */ +func rbuWithoutRowidPK(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { /* sqlite3.c:205660:13: */ bp := tls.Alloc(64) defer tls.Free(64) @@ -164591,7 +164622,7 @@ func rbuWithoutRowidPK(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { /* sql // // CREATE TABLE rbu_imposter2(c1 TEXT, c2 REAL, id INTEGER) WITHOUT ROWID; // -func rbuCreateImposterTable2(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:205662:13: */ +func rbuCreateImposterTable2(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:205719:13: */ bp := tls.Alloc(176) defer tls.Free(176) @@ -164667,7 +164698,7 @@ func rbuCreateImposterTable2(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlit // More precisely, the "same schema" means the same columns, types, // collation sequences. For tables that do not have an external PRIMARY // KEY, it also means the same PRIMARY KEY declaration. -func rbuCreateImposterTable(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:205736:13: */ +func rbuCreateImposterTable(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:205793:13: */ bp := tls.Alloc(196) defer tls.Free(196) @@ -164731,7 +164762,7 @@ func rbuCreateImposterTable(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite // the target table, plus one (for the rbu_control column), plus one more // (for the rbu_rowid column) if the target table is an implicit IPK or // virtual table. -func rbuObjIterPrepareTmpInsert(tls *libc.TLS, p uintptr, pIter uintptr, zCollist uintptr, zRbuRowid uintptr) { /* sqlite3.c:205792:13: */ +func rbuObjIterPrepareTmpInsert(tls *libc.TLS, p uintptr, pIter uintptr, zCollist uintptr, zRbuRowid uintptr) { /* sqlite3.c:205849:13: */ bp := tls.Alloc(40) defer tls.Free(40) @@ -164746,7 +164777,7 @@ func rbuObjIterPrepareTmpInsert(tls *libc.TLS, p uintptr, pIter uintptr, zCollis } } -func rbuTmpInsertFunc(tls *libc.TLS, pCtx uintptr, nVal int32, apVal uintptr) { /* sqlite3.c:205810:13: */ +func rbuTmpInsertFunc(tls *libc.TLS, pCtx uintptr, nVal int32, apVal uintptr) { /* sqlite3.c:205867:13: */ var p uintptr = Xsqlite3_user_data(tls, pCtx) var rc int32 = SQLITE_OK var i int32 @@ -164768,7 +164799,7 @@ func rbuTmpInsertFunc(tls *libc.TLS, pCtx uintptr, nVal int32, apVal uintptr) { } } -func rbuObjIterGetIndexWhere(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { /* sqlite3.c:205840:13: */ +func rbuObjIterGetIndexWhere(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { /* sqlite3.c:205897:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -164876,7 +164907,7 @@ func rbuObjIterGetIndexWhere(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { // Ensure that the SQLite statement handles required to update the // target database object currently indicated by the iterator passed // as the second argument are available. -func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32) int32 { /* sqlite3.c:205940:12: */ +func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32) int32 { /* sqlite3.c:205997:12: */ bp := tls.Alloc(616) defer tls.Free(616) @@ -165151,7 +165182,7 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32 // // If the zMask string does not specify any columns to update, then this // is not an error. Output variable *ppStmt is set to NULL in this case. -func rbuGetUpdateStmt(tls *libc.TLS, p uintptr, pIter uintptr, zMask uintptr, ppStmt uintptr) int32 { /* sqlite3.c:206207:12: */ +func rbuGetUpdateStmt(tls *libc.TLS, p uintptr, pIter uintptr, zMask uintptr, ppStmt uintptr) int32 { /* sqlite3.c:206264:12: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -165217,7 +165248,7 @@ func rbuGetUpdateStmt(tls *libc.TLS, p uintptr, pIter uintptr, zMask uintptr, pp return (*Sqlite3rbu)(unsafe.Pointer(p)).Frc } -func rbuOpenDbhandle(tls *libc.TLS, p uintptr, zName uintptr, bUseVfs int32) uintptr { /* sqlite3.c:206275:16: */ +func rbuOpenDbhandle(tls *libc.TLS, p uintptr, zName uintptr, bUseVfs int32) uintptr { /* sqlite3.c:206332:16: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -165240,7 +165271,7 @@ func rbuOpenDbhandle(tls *libc.TLS, p uintptr, zName uintptr, bUseVfs int32) uin } // Free an RbuState object allocated by rbuLoadState(). -func rbuFreeState(tls *libc.TLS, p uintptr) { /* sqlite3.c:206296:13: */ +func rbuFreeState(tls *libc.TLS, p uintptr) { /* sqlite3.c:206353:13: */ if p != 0 { Xsqlite3_free(tls, (*RbuState)(unsafe.Pointer(p)).FzTbl) Xsqlite3_free(tls, (*RbuState)(unsafe.Pointer(p)).FzDataTbl) @@ -165256,7 +165287,7 @@ func rbuFreeState(tls *libc.TLS, p uintptr) { /* sqlite3.c:206296:13: */ // // If an error occurs, leave an error code and message in the rbu handle // and return NULL. -func rbuLoadState(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:206314:17: */ +func rbuLoadState(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:206371:17: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -165340,7 +165371,7 @@ func rbuLoadState(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:206314:17: */ // If argument dbMain is not NULL, then it is a database handle already // open on the target database. Use this handle instead of opening a new // one. -func rbuOpenDatabase(tls *libc.TLS, p uintptr, dbMain uintptr, pbRetry uintptr) { /* sqlite3.c:206395:13: */ +func rbuOpenDatabase(tls *libc.TLS, p uintptr, dbMain uintptr, pbRetry uintptr) { /* sqlite3.c:206452:13: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -165502,7 +165533,7 @@ func rbuOpenDatabase(tls *libc.TLS, p uintptr, dbMain uintptr, pbRetry uintptr) // test.db-wal => test.wal // test.db-shm => test.shm // test.db-mj7f3319fa => test.9fa -func rbuFileSuffix3(tls *libc.TLS, zBase uintptr, z uintptr) { /* sqlite3.c:206576:13: */ +func rbuFileSuffix3(tls *libc.TLS, zBase uintptr, z uintptr) { /* sqlite3.c:206633:13: */ } // Return the current wal-index header checksum for the target database @@ -165510,7 +165541,7 @@ func rbuFileSuffix3(tls *libc.TLS, zBase uintptr, z uintptr) { /* sqlite3.c:2065 // // The checksum is store in the first page of xShmMap memory as an 8-byte // blob starting at byte offset 40. -func rbuShmChecksum(tls *libc.TLS, p uintptr) I64 { /* sqlite3.c:206597:12: */ +func rbuShmChecksum(tls *libc.TLS, p uintptr) I64 { /* sqlite3.c:206654:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -165543,7 +165574,7 @@ func rbuShmChecksum(tls *libc.TLS, p uintptr) I64 { /* sqlite3.c:206597:12: */ // object, then the rbu handle is set to DONE state. This occurs if some // other client appends a transaction to the wal file in the middle of // an incremental checkpoint. -func rbuSetupCheckpoint(tls *libc.TLS, p uintptr, pState uintptr) { /* sqlite3.c:206626:13: */ +func rbuSetupCheckpoint(tls *libc.TLS, p uintptr, pState uintptr) { /* sqlite3.c:206683:13: */ // If pState is NULL, then the wal file may not have been opened and // recovered. Running a read-statement here to ensure that doing so @@ -165635,7 +165666,7 @@ func rbuSetupCheckpoint(tls *libc.TLS, p uintptr, pState uintptr) { /* sqlite3.c // Called when iAmt bytes are read from offset iOff of the wal file while // the rbu object is in capture mode. Record the frame number of the frame // being read in the aFrame[] array. -func rbuCaptureWalRead(tls *libc.TLS, pRbu uintptr, iOff I64, iAmt int32) int32 { /* sqlite3.c:206710:12: */ +func rbuCaptureWalRead(tls *libc.TLS, pRbu uintptr, iOff I64, iAmt int32) int32 { /* sqlite3.c:206767:12: */ var mReq U32 = U32(int32(1)<dbMain to one more than the schema cookie of the main // db opened by p->dbRbu. -func rbuIncrSchemaCookie(tls *libc.TLS, p uintptr) { /* sqlite3.c:207135:13: */ +func rbuIncrSchemaCookie(tls *libc.TLS, p uintptr) { /* sqlite3.c:207192:13: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -166042,7 +166073,7 @@ func rbuIncrSchemaCookie(tls *libc.TLS, p uintptr) { /* sqlite3.c:207135:13: */ // Update the contents of the rbu_state table within the rbu database. The // value stored in the RBU_STATE_STAGE column is eStage. All other values // are determined by inspecting the rbu handle passed as the first argument. -func rbuSaveState(tls *libc.TLS, p uintptr, eStage int32) { /* sqlite3.c:207166:13: */ +func rbuSaveState(tls *libc.TLS, p uintptr, eStage int32) { /* sqlite3.c:207223:13: */ bp := tls.Alloc(172) defer tls.Free(172) @@ -166097,7 +166128,7 @@ func rbuSaveState(tls *libc.TLS, p uintptr, eStage int32) { /* sqlite3.c:207166: // // In short, it copies the value of the specified PRAGMA setting from // dbRbu to dbMain. -func rbuCopyPragma(tls *libc.TLS, p uintptr, zPragma uintptr) { /* sqlite3.c:207227:13: */ +func rbuCopyPragma(tls *libc.TLS, p uintptr, zPragma uintptr) { /* sqlite3.c:207284:13: */ bp := tls.Alloc(28) defer tls.Free(28) @@ -166116,7 +166147,7 @@ func rbuCopyPragma(tls *libc.TLS, p uintptr, zPragma uintptr) { /* sqlite3.c:207 // The RBU handle passed as the only argument has just been opened and // the state database is empty. If this RBU handle was opened for an // RBU vacuum operation, create the schema in the target db. -func rbuCreateTargetSchema(tls *libc.TLS, p uintptr) { /* sqlite3.c:207247:13: */ +func rbuCreateTargetSchema(tls *libc.TLS, p uintptr) { /* sqlite3.c:207304:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -166166,7 +166197,7 @@ func rbuCreateTargetSchema(tls *libc.TLS, p uintptr) { /* sqlite3.c:207247:13: * } // Step the RBU object. -func Xsqlite3rbu_step(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:207299:16: */ +func Xsqlite3rbu_step(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:207356:16: */ bp := tls.Alloc(20) defer tls.Free(20) @@ -166309,7 +166340,7 @@ func Xsqlite3rbu_step(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:207299:16: // Compare strings z1 and z2, returning 0 if they are identical, or non-zero // otherwise. Either or both argument may be NULL. Two NULL values are // considered equal, and NULL is considered distinct from all other values. -func rbuStrCompare(tls *libc.TLS, z1 uintptr, z2 uintptr) int32 { /* sqlite3.c:207428:12: */ +func rbuStrCompare(tls *libc.TLS, z1 uintptr, z2 uintptr) int32 { /* sqlite3.c:207485:12: */ if z1 == uintptr(0) && z2 == uintptr(0) { return 0 } @@ -166327,7 +166358,7 @@ func rbuStrCompare(tls *libc.TLS, z1 uintptr, z2 uintptr) int32 { /* sqlite3.c:2 // // If an error occurs, an error code and error message are left in the // rbu handle passed as the first argument. -func rbuSetupOal(tls *libc.TLS, p uintptr, pState uintptr) { /* sqlite3.c:207444:13: */ +func rbuSetupOal(tls *libc.TLS, p uintptr, pState uintptr) { /* sqlite3.c:207501:13: */ if (*RbuState)(unsafe.Pointer(pState)).FzTbl != 0 { var pIter uintptr = p + 48 @@ -166357,7 +166388,7 @@ func rbuSetupOal(tls *libc.TLS, p uintptr, pState uintptr) { /* sqlite3.c:207444 // If there is a "*-oal" file in the file-system corresponding to the // target database in the file-system, delete it. If an error occurs, // leave an error code and error message in the rbu handle. -func rbuDeleteOalFile(tls *libc.TLS, p uintptr) { /* sqlite3.c:207477:13: */ +func rbuDeleteOalFile(tls *libc.TLS, p uintptr) { /* sqlite3.c:207534:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -166376,7 +166407,7 @@ func rbuDeleteOalFile(tls *libc.TLS, p uintptr) { /* sqlite3.c:207477:13: */ // argument. This VFS will be used unless the call to sqlite3rbu_open() // specified a URI with a vfs=? option in place of a target database // file name. -func rbuCreateVfs(tls *libc.TLS, p uintptr) { /* sqlite3.c:207493:13: */ +func rbuCreateVfs(tls *libc.TLS, p uintptr) { /* sqlite3.c:207550:13: */ bp := tls.Alloc(76) defer tls.Free(76) @@ -166397,7 +166428,7 @@ func rbuCreateVfs(tls *libc.TLS, p uintptr) { /* sqlite3.c:207493:13: */ // Destroy the private VFS created for the rbu handle passed as the only // argument by an earlier call to rbuCreateVfs(). -func rbuDeleteVfs(tls *libc.TLS, p uintptr) { /* sqlite3.c:207513:13: */ +func rbuDeleteVfs(tls *libc.TLS, p uintptr) { /* sqlite3.c:207570:13: */ if (*Sqlite3rbu)(unsafe.Pointer(p)).FzVfsName != 0 { Xsqlite3rbu_destroy_vfs(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FzVfsName) (*Sqlite3rbu)(unsafe.Pointer(p)).FzVfsName = uintptr(0) @@ -166407,7 +166438,7 @@ func rbuDeleteVfs(tls *libc.TLS, p uintptr) { /* sqlite3.c:207513:13: */ // This user-defined SQL function is invoked with a single argument - the // name of a table expected to appear in the target database. It returns // the number of auxilliary indexes on the table. -func rbuIndexCntFunc(tls *libc.TLS, pCtx uintptr, nVal int32, apVal uintptr) { /* sqlite3.c:207525:13: */ +func rbuIndexCntFunc(tls *libc.TLS, pCtx uintptr, nVal int32, apVal uintptr) { /* sqlite3.c:207582:13: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -166456,7 +166487,7 @@ func rbuIndexCntFunc(tls *libc.TLS, pCtx uintptr, nVal int32, apVal uintptr) { / // sqlite3rbu.nPhaseOneStep is initialized to the sum of (1 + nIndex) * cnt // for all rows in the rbu_count table, where nIndex is the number of // indexes on the corresponding target database table. -func rbuInitPhaseOneSteps(tls *libc.TLS, p uintptr) { /* sqlite3.c:207575:13: */ +func rbuInitPhaseOneSteps(tls *libc.TLS, p uintptr) { /* sqlite3.c:207632:13: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -166498,7 +166529,7 @@ func rbuInitPhaseOneSteps(tls *libc.TLS, p uintptr) { /* sqlite3.c:207575:13: */ } } -func openRbuHandle(tls *libc.TLS, zTarget uintptr, zRbu uintptr, zState uintptr) uintptr { /* sqlite3.c:207616:19: */ +func openRbuHandle(tls *libc.TLS, zTarget uintptr, zRbu uintptr, zState uintptr) uintptr { /* sqlite3.c:207673:19: */ bp := tls.Alloc(20) defer tls.Free(20) @@ -166671,7 +166702,7 @@ func openRbuHandle(tls *libc.TLS, zTarget uintptr, zRbu uintptr, zState uintptr) // Allocate and return an RBU handle with all fields zeroed except for the // error code, which is set to SQLITE_MISUSE. -func rbuMisuseError(tls *libc.TLS) uintptr { /* sqlite3.c:207780:19: */ +func rbuMisuseError(tls *libc.TLS) uintptr { /* sqlite3.c:207837:19: */ var pRet uintptr pRet = Xsqlite3_malloc64(tls, uint64(unsafe.Sizeof(Sqlite3rbu{}))) if pRet != 0 { @@ -166682,7 +166713,7 @@ func rbuMisuseError(tls *libc.TLS) uintptr { /* sqlite3.c:207780:19: */ } // Open and return a new RBU handle. -func Xsqlite3rbu_open(tls *libc.TLS, zTarget uintptr, zRbu uintptr, zState uintptr) uintptr { /* sqlite3.c:207793:23: */ +func Xsqlite3rbu_open(tls *libc.TLS, zTarget uintptr, zRbu uintptr, zState uintptr) uintptr { /* sqlite3.c:207850:23: */ if zTarget == uintptr(0) || zRbu == uintptr(0) { return rbuMisuseError(tls) } @@ -166690,7 +166721,7 @@ func Xsqlite3rbu_open(tls *libc.TLS, zTarget uintptr, zRbu uintptr, zState uintp } // Open a handle to begin or resume an RBU VACUUM operation. -func Xsqlite3rbu_vacuum(tls *libc.TLS, zTarget uintptr, zState uintptr) uintptr { /* sqlite3.c:207805:23: */ +func Xsqlite3rbu_vacuum(tls *libc.TLS, zTarget uintptr, zState uintptr) uintptr { /* sqlite3.c:207862:23: */ if zTarget == uintptr(0) { return rbuMisuseError(tls) } @@ -166705,7 +166736,7 @@ func Xsqlite3rbu_vacuum(tls *libc.TLS, zTarget uintptr, zState uintptr) uintptr } // Return the database handle used by pRbu. -func Xsqlite3rbu_db(tls *libc.TLS, pRbu uintptr, bRbu int32) uintptr { /* sqlite3.c:207823:20: */ +func Xsqlite3rbu_db(tls *libc.TLS, pRbu uintptr, bRbu int32) uintptr { /* sqlite3.c:207880:20: */ var db uintptr = uintptr(0) if pRbu != 0 { db = func() uintptr { @@ -166721,7 +166752,7 @@ func Xsqlite3rbu_db(tls *libc.TLS, pRbu uintptr, bRbu int32) uintptr { /* sqlite // If the error code currently stored in the RBU handle is SQLITE_CONSTRAINT, // then edit any error message string so as to remove all occurrences of // the pattern "rbu_imp_[0-9]*". -func rbuEditErrmsg(tls *libc.TLS, p uintptr) { /* sqlite3.c:207837:13: */ +func rbuEditErrmsg(tls *libc.TLS, p uintptr) { /* sqlite3.c:207894:13: */ if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_CONSTRAINT && (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg != 0 { var i uint32 var nErrmsg Size_t = libc.Xstrlen(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg) @@ -166739,7 +166770,7 @@ func rbuEditErrmsg(tls *libc.TLS, p uintptr) { /* sqlite3.c:207837:13: */ } // Close the RBU handle. -func Xsqlite3rbu_close(tls *libc.TLS, p uintptr, pzErrmsg uintptr) int32 { /* sqlite3.c:207855:16: */ +func Xsqlite3rbu_close(tls *libc.TLS, p uintptr, pzErrmsg uintptr) int32 { /* sqlite3.c:207912:16: */ var rc int32 if p != 0 { @@ -166804,13 +166835,13 @@ func Xsqlite3rbu_close(tls *libc.TLS, p uintptr, pzErrmsg uintptr) int32 { /* sq // Return the total number of key-value operations (inserts, deletes or // updates) that have been performed on the target database since the // current RBU update was started. -func Xsqlite3rbu_progress(tls *libc.TLS, pRbu uintptr) Sqlite3_int64 { /* sqlite3.c:207918:26: */ +func Xsqlite3rbu_progress(tls *libc.TLS, pRbu uintptr) Sqlite3_int64 { /* sqlite3.c:207975:26: */ return Sqlite3_int64((*Sqlite3rbu)(unsafe.Pointer(pRbu)).FnProgress) } // Return permyriadage progress indications for the two main stages of // an RBU update. -func Xsqlite3rbu_bp_progress(tls *libc.TLS, p uintptr, pnOne uintptr, pnTwo uintptr) { /* sqlite3.c:207926:17: */ +func Xsqlite3rbu_bp_progress(tls *libc.TLS, p uintptr, pnOne uintptr, pnTwo uintptr) { /* sqlite3.c:207983:17: */ var MAX_PROGRESS int32 = 10000 switch (*Sqlite3rbu)(unsafe.Pointer(p)).FeStage { case RBU_STAGE_OAL: @@ -166843,7 +166874,7 @@ func Xsqlite3rbu_bp_progress(tls *libc.TLS, p uintptr, pnOne uintptr, pnTwo uint } // Return the current state of the RBU vacuum or update operation. -func Xsqlite3rbu_state(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:207961:16: */ +func Xsqlite3rbu_state(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:208018:16: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -166861,7 +166892,7 @@ func Xsqlite3rbu_state(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:207961:16: return int32(0) } -func Xsqlite3rbu_savestate(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:207989:16: */ +func Xsqlite3rbu_savestate(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:208046:16: */ var rc int32 = (*Sqlite3rbu)(unsafe.Pointer(p)).Frc if rc == SQLITE_DONE { return SQLITE_OK @@ -166968,7 +166999,7 @@ func Xsqlite3rbu_savestate(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:207989 // relinquished). Finally, calls to xSync() on the target database // file fail with SQLITE_INTERNAL errors. -func rbuUnlockShm(tls *libc.TLS, p uintptr) { /* sqlite3.c:208082:13: */ +func rbuUnlockShm(tls *libc.TLS, p uintptr) { /* sqlite3.c:208139:13: */ if (*Rbu_file)(unsafe.Pointer(p)).FpRbu != 0 { var xShmLock uintptr = (*sqlite3_io_methods)(unsafe.Pointer((*Sqlite3_file)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer(p)).FpReal)).FpMethods)).FxShmLock @@ -166985,7 +167016,7 @@ func rbuUnlockShm(tls *libc.TLS, p uintptr) { /* sqlite3.c:208082:13: */ } // -func rbuUpdateTempSize(tls *libc.TLS, pFd uintptr, nNew Sqlite3_int64) int32 { /* sqlite3.c:208098:12: */ +func rbuUpdateTempSize(tls *libc.TLS, pFd uintptr, nNew Sqlite3_int64) int32 { /* sqlite3.c:208155:12: */ var pRbu uintptr = (*Rbu_file)(unsafe.Pointer(pFd)).FpRbu var nDiff I64 = nNew - (*Rbu_file)(unsafe.Pointer(pFd)).Fsz *(*I64)(unsafe.Pointer(pRbu + 220)) += nDiff @@ -167003,7 +167034,7 @@ func rbuUpdateTempSize(tls *libc.TLS, pFd uintptr, nNew Sqlite3_int64) int32 { / // for all file descriptors with rbu_file.pDb!=0. If the argument has // rbu_file.pDb!=0, then it is assumed to already be present on the // main list and is only added to the pDb!=0 list. -func rbuMainlistAdd(tls *libc.TLS, p uintptr) { /* sqlite3.c:208116:13: */ +func rbuMainlistAdd(tls *libc.TLS, p uintptr) { /* sqlite3.c:208173:13: */ var pRbuVfs uintptr = (*Rbu_file)(unsafe.Pointer(p)).FpRbuVfs var pIter uintptr @@ -167025,7 +167056,7 @@ func rbuMainlistAdd(tls *libc.TLS, p uintptr) { /* sqlite3.c:208116:13: */ } // Remove an item from the main-db lists. -func rbuMainlistRemove(tls *libc.TLS, p uintptr) { /* sqlite3.c:208138:13: */ +func rbuMainlistRemove(tls *libc.TLS, p uintptr) { /* sqlite3.c:208195:13: */ var pp uintptr Xsqlite3_mutex_enter(tls, (*Rbu_vfs)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer(p)).FpRbuVfs)).Fmutex) for pp = (*Rbu_file)(unsafe.Pointer(p)).FpRbuVfs + 100; *(*uintptr)(unsafe.Pointer(pp)) != 0 && *(*uintptr)(unsafe.Pointer(pp)) != p; pp = *(*uintptr)(unsafe.Pointer(pp)) + 56 { @@ -167050,7 +167081,7 @@ func rbuMainlistRemove(tls *libc.TLS, p uintptr) { /* sqlite3.c:208138:13: */ // // If parameter bRbu is true, only search for file-descriptors with // rbu_file.pDb!=0. -func rbuFindMaindb(tls *libc.TLS, pRbuVfs uintptr, zWal uintptr, bRbu int32) uintptr { /* sqlite3.c:208159:17: */ +func rbuFindMaindb(tls *libc.TLS, pRbuVfs uintptr, zWal uintptr, bRbu int32) uintptr { /* sqlite3.c:208216:17: */ var pDb uintptr Xsqlite3_mutex_enter(tls, (*Rbu_vfs)(unsafe.Pointer(pRbuVfs)).Fmutex) if bRbu != 0 { @@ -167065,7 +167096,7 @@ func rbuFindMaindb(tls *libc.TLS, pRbuVfs uintptr, zWal uintptr, bRbu int32) uin } // Close an rbu file. -func rbuVfsClose(tls *libc.TLS, pFile uintptr) int32 { /* sqlite3.c:208174:12: */ +func rbuVfsClose(tls *libc.TLS, pFile uintptr) int32 { /* sqlite3.c:208231:12: */ var p uintptr = pFile var rc int32 var i int32 @@ -167097,7 +167128,7 @@ func rbuVfsClose(tls *libc.TLS, pFile uintptr) int32 { /* sqlite3.c:208174:12: * // Read and return an unsigned 32-bit big-endian integer from the buffer // passed as the only argument. -func rbuGetU32(tls *libc.TLS, aBuf uintptr) U32 { /* sqlite3.c:208207:12: */ +func rbuGetU32(tls *libc.TLS, aBuf uintptr) U32 { /* sqlite3.c:208264:12: */ return U32(*(*U8)(unsafe.Pointer(aBuf)))<<24 + U32(*(*U8)(unsafe.Pointer(aBuf + 1)))<<16 + U32(*(*U8)(unsafe.Pointer(aBuf + 2)))<<8 + @@ -167106,20 +167137,20 @@ func rbuGetU32(tls *libc.TLS, aBuf uintptr) U32 { /* sqlite3.c:208207:12: */ // Write an unsigned 32-bit value in big-endian format to the supplied // buffer. -func rbuPutU32(tls *libc.TLS, aBuf uintptr, iVal U32) { /* sqlite3.c:208218:13: */ +func rbuPutU32(tls *libc.TLS, aBuf uintptr, iVal U32) { /* sqlite3.c:208275:13: */ *(*U8)(unsafe.Pointer(aBuf)) = U8(iVal >> 24 & U32(0xFF)) *(*U8)(unsafe.Pointer(aBuf + 1)) = U8(iVal >> 16 & U32(0xFF)) *(*U8)(unsafe.Pointer(aBuf + 2)) = U8(iVal >> 8 & U32(0xFF)) *(*U8)(unsafe.Pointer(aBuf + 3)) = U8(iVal >> 0 & U32(0xFF)) } -func rbuPutU16(tls *libc.TLS, aBuf uintptr, iVal U16) { /* sqlite3.c:208225:13: */ +func rbuPutU16(tls *libc.TLS, aBuf uintptr, iVal U16) { /* sqlite3.c:208282:13: */ *(*U8)(unsafe.Pointer(aBuf)) = U8(int32(iVal) >> 8 & 0xFF) *(*U8)(unsafe.Pointer(aBuf + 1)) = U8(int32(iVal) >> 0 & 0xFF) } // Read data from an rbuVfs-file. -func rbuVfsRead(tls *libc.TLS, pFile uintptr, zBuf uintptr, iAmt int32, iOfst Sqlite_int64) int32 { /* sqlite3.c:208233:12: */ +func rbuVfsRead(tls *libc.TLS, pFile uintptr, zBuf uintptr, iAmt int32, iOfst Sqlite_int64) int32 { /* sqlite3.c:208290:12: */ var p uintptr = pFile var pRbu uintptr = (*Rbu_file)(unsafe.Pointer(p)).FpRbu var rc int32 @@ -167183,7 +167214,7 @@ func rbuVfsRead(tls *libc.TLS, pFile uintptr, zBuf uintptr, iAmt int32, iOfst Sq } // Write data to an rbuVfs-file. -func rbuVfsWrite(tls *libc.TLS, pFile uintptr, zBuf uintptr, iAmt int32, iOfst Sqlite_int64) int32 { /* sqlite3.c:208299:12: */ +func rbuVfsWrite(tls *libc.TLS, pFile uintptr, zBuf uintptr, iAmt int32, iOfst Sqlite_int64) int32 { /* sqlite3.c:208356:12: */ var p uintptr = pFile var pRbu uintptr = (*Rbu_file)(unsafe.Pointer(p)).FpRbu var rc int32 @@ -167222,7 +167253,7 @@ func rbuVfsWrite(tls *libc.TLS, pFile uintptr, zBuf uintptr, iAmt int32, iOfst S } // Truncate an rbuVfs-file. -func rbuVfsTruncate(tls *libc.TLS, pFile uintptr, size Sqlite_int64) int32 { /* sqlite3.c:208342:12: */ +func rbuVfsTruncate(tls *libc.TLS, pFile uintptr, size Sqlite_int64) int32 { /* sqlite3.c:208399:12: */ var p uintptr = pFile if (*Rbu_file)(unsafe.Pointer(p)).FopenFlags&SQLITE_OPEN_DELETEONCLOSE != 0 && (*Rbu_file)(unsafe.Pointer(p)).FpRbu != 0 { var rc int32 = rbuUpdateTempSize(tls, p, size) @@ -167236,7 +167267,7 @@ func rbuVfsTruncate(tls *libc.TLS, pFile uintptr, size Sqlite_int64) int32 { /* } // Sync an rbuVfs-file. -func rbuVfsSync(tls *libc.TLS, pFile uintptr, flags int32) int32 { /* sqlite3.c:208354:12: */ +func rbuVfsSync(tls *libc.TLS, pFile uintptr, flags int32) int32 { /* sqlite3.c:208411:12: */ var p uintptr = pFile if (*Rbu_file)(unsafe.Pointer(p)).FpRbu != 0 && (*Sqlite3rbu)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer(p)).FpRbu)).FeStage == RBU_STAGE_CAPTURE { if (*Rbu_file)(unsafe.Pointer(p)).FopenFlags&SQLITE_OPEN_MAIN_DB != 0 { @@ -167250,7 +167281,7 @@ func rbuVfsSync(tls *libc.TLS, pFile uintptr, flags int32) int32 { /* sqlite3.c: } // Return the current file-size of an rbuVfs-file. -func rbuVfsFileSize(tls *libc.TLS, pFile uintptr, pSize uintptr) int32 { /* sqlite3.c:208368:12: */ +func rbuVfsFileSize(tls *libc.TLS, pFile uintptr, pSize uintptr) int32 { /* sqlite3.c:208425:12: */ var p uintptr = pFile var rc int32 rc = (*struct { @@ -167270,7 +167301,7 @@ func rbuVfsFileSize(tls *libc.TLS, pFile uintptr, pSize uintptr) int32 { /* sqli } // Lock an rbuVfs-file. -func rbuVfsLock(tls *libc.TLS, pFile uintptr, eLock int32) int32 { /* sqlite3.c:208389:12: */ +func rbuVfsLock(tls *libc.TLS, pFile uintptr, eLock int32) int32 { /* sqlite3.c:208446:12: */ var p uintptr = pFile var pRbu uintptr = (*Rbu_file)(unsafe.Pointer(p)).FpRbu var rc int32 = SQLITE_OK @@ -167290,7 +167321,7 @@ func rbuVfsLock(tls *libc.TLS, pFile uintptr, eLock int32) int32 { /* sqlite3.c: } // Unlock an rbuVfs-file. -func rbuVfsUnlock(tls *libc.TLS, pFile uintptr, eLock int32) int32 { /* sqlite3.c:208411:12: */ +func rbuVfsUnlock(tls *libc.TLS, pFile uintptr, eLock int32) int32 { /* sqlite3.c:208468:12: */ var p uintptr = pFile return (*struct { f func(*libc.TLS, uintptr, int32) int32 @@ -167298,7 +167329,7 @@ func rbuVfsUnlock(tls *libc.TLS, pFile uintptr, eLock int32) int32 { /* sqlite3. } // Check if another file-handle holds a RESERVED lock on an rbuVfs-file. -func rbuVfsCheckReservedLock(tls *libc.TLS, pFile uintptr, pResOut uintptr) int32 { /* sqlite3.c:208419:12: */ +func rbuVfsCheckReservedLock(tls *libc.TLS, pFile uintptr, pResOut uintptr) int32 { /* sqlite3.c:208476:12: */ var p uintptr = pFile return (*struct { f func(*libc.TLS, uintptr, uintptr) int32 @@ -167306,7 +167337,7 @@ func rbuVfsCheckReservedLock(tls *libc.TLS, pFile uintptr, pResOut uintptr) int3 } // File control method. For custom operations on an rbuVfs-file. -func rbuVfsFileControl(tls *libc.TLS, pFile uintptr, op int32, pArg uintptr) int32 { /* sqlite3.c:208427:12: */ +func rbuVfsFileControl(tls *libc.TLS, pFile uintptr, op int32, pArg uintptr) int32 { /* sqlite3.c:208484:12: */ bp := tls.Alloc(20) defer tls.Free(20) @@ -167369,7 +167400,7 @@ func rbuVfsFileControl(tls *libc.TLS, pFile uintptr, op int32, pArg uintptr) int } // Return the sector-size in bytes for an rbuVfs-file. -func rbuVfsSectorSize(tls *libc.TLS, pFile uintptr) int32 { /* sqlite3.c:208483:12: */ +func rbuVfsSectorSize(tls *libc.TLS, pFile uintptr) int32 { /* sqlite3.c:208540:12: */ var p uintptr = pFile return (*struct { f func(*libc.TLS, uintptr) int32 @@ -167377,7 +167408,7 @@ func rbuVfsSectorSize(tls *libc.TLS, pFile uintptr) int32 { /* sqlite3.c:208483: } // Return the device characteristic flags supported by an rbuVfs-file. -func rbuVfsDeviceCharacteristics(tls *libc.TLS, pFile uintptr) int32 { /* sqlite3.c:208491:12: */ +func rbuVfsDeviceCharacteristics(tls *libc.TLS, pFile uintptr) int32 { /* sqlite3.c:208548:12: */ var p uintptr = pFile return (*struct { f func(*libc.TLS, uintptr) int32 @@ -167385,7 +167416,7 @@ func rbuVfsDeviceCharacteristics(tls *libc.TLS, pFile uintptr) int32 { /* sqlite } // Take or release a shared-memory lock. -func rbuVfsShmLock(tls *libc.TLS, pFile uintptr, ofst int32, n int32, flags int32) int32 { /* sqlite3.c:208499:12: */ +func rbuVfsShmLock(tls *libc.TLS, pFile uintptr, ofst int32, n int32, flags int32) int32 { /* sqlite3.c:208556:12: */ var p uintptr = pFile var pRbu uintptr = (*Rbu_file)(unsafe.Pointer(p)).FpRbu var rc int32 = SQLITE_OK @@ -167418,7 +167449,7 @@ func rbuVfsShmLock(tls *libc.TLS, pFile uintptr, ofst int32, n int32, flags int3 } // Obtain a pointer to a mapping of a single 32KiB page of the *-shm file. -func rbuVfsShmMap(tls *libc.TLS, pFile uintptr, iRegion int32, szRegion int32, isWrite int32, pp uintptr) int32 { /* sqlite3.c:208537:12: */ +func rbuVfsShmMap(tls *libc.TLS, pFile uintptr, iRegion int32, szRegion int32, isWrite int32, pp uintptr) int32 { /* sqlite3.c:208594:12: */ var p uintptr = pFile var rc int32 = SQLITE_OK var eStage int32 = func() int32 { @@ -167475,13 +167506,13 @@ func rbuVfsShmMap(tls *libc.TLS, pFile uintptr, iRegion int32, szRegion int32, i } // Memory barrier. -func rbuVfsShmBarrier(tls *libc.TLS, pFile uintptr) { /* sqlite3.c:208595:13: */ +func rbuVfsShmBarrier(tls *libc.TLS, pFile uintptr) { /* sqlite3.c:208652:13: */ var p uintptr = pFile (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods)(unsafe.Pointer((*Sqlite3_file)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer(p)).FpReal)).FpMethods)).FxShmBarrier})).f(tls, (*Rbu_file)(unsafe.Pointer(p)).FpReal) } // The xShmUnmap method. -func rbuVfsShmUnmap(tls *libc.TLS, pFile uintptr, delFlag int32) int32 { /* sqlite3.c:208603:12: */ +func rbuVfsShmUnmap(tls *libc.TLS, pFile uintptr, delFlag int32) int32 { /* sqlite3.c:208660:12: */ var p uintptr = pFile var rc int32 = SQLITE_OK var eStage int32 = func() int32 { @@ -167504,7 +167535,7 @@ func rbuVfsShmUnmap(tls *libc.TLS, pFile uintptr, delFlag int32) int32 { /* sqli } // Open an rbu file handle. -func rbuVfsOpen(tls *libc.TLS, pVfs uintptr, zName uintptr, pFile uintptr, flags int32, pOutFlags uintptr) int32 { /* sqlite3.c:208622:12: */ +func rbuVfsOpen(tls *libc.TLS, pVfs uintptr, zName uintptr, pFile uintptr, flags int32, pOutFlags uintptr) int32 { /* sqlite3.c:208679:12: */ var pRbuVfs uintptr = pVfs var pRealVfs uintptr = (*Rbu_vfs)(unsafe.Pointer(pRbuVfs)).FpRealVfs var pFd uintptr = pFile @@ -167590,10 +167621,10 @@ var rbuvfs_io_methods = Sqlite3_io_methods{ FxShmLock: 0, // xShmLock FxShmBarrier: 0, // xShmBarrier FxShmUnmap: 0, // xFetch, xUnfetch -} /* sqlite3.c:208629:29 */ +} /* sqlite3.c:208686:29 */ // Delete the file located at zPath. -func rbuVfsDelete(tls *libc.TLS, pVfs uintptr, zPath uintptr, dirSync int32) int32 { /* sqlite3.c:208720:12: */ +func rbuVfsDelete(tls *libc.TLS, pVfs uintptr, zPath uintptr, dirSync int32) int32 { /* sqlite3.c:208777:12: */ var pRealVfs uintptr = (*Rbu_vfs)(unsafe.Pointer(pVfs)).FpRealVfs return (*struct { f func(*libc.TLS, uintptr, uintptr, int32) int32 @@ -167602,7 +167633,7 @@ func rbuVfsDelete(tls *libc.TLS, pVfs uintptr, zPath uintptr, dirSync int32) int // Test for access permissions. Return true if the requested permission // is available, or false otherwise. -func rbuVfsAccess(tls *libc.TLS, pVfs uintptr, zPath uintptr, flags int32, pResOut uintptr) int32 { /* sqlite3.c:208729:12: */ +func rbuVfsAccess(tls *libc.TLS, pVfs uintptr, zPath uintptr, flags int32, pResOut uintptr) int32 { /* sqlite3.c:208786:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -167647,7 +167678,7 @@ func rbuVfsAccess(tls *libc.TLS, pVfs uintptr, zPath uintptr, flags int32, pResO // Populate buffer zOut with the full canonical pathname corresponding // to the pathname in zPath. zOut is guaranteed to point to a buffer // of at least (DEVSYM_MAX_PATHNAME+1) bytes. -func rbuVfsFullPathname(tls *libc.TLS, pVfs uintptr, zPath uintptr, nOut int32, zOut uintptr) int32 { /* sqlite3.c:208777:12: */ +func rbuVfsFullPathname(tls *libc.TLS, pVfs uintptr, zPath uintptr, nOut int32, zOut uintptr) int32 { /* sqlite3.c:208834:12: */ var pRealVfs uintptr = (*Rbu_vfs)(unsafe.Pointer(pVfs)).FpRealVfs return (*struct { f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 @@ -167655,7 +167686,7 @@ func rbuVfsFullPathname(tls *libc.TLS, pVfs uintptr, zPath uintptr, nOut int32, } // Open the dynamic library located at zPath and return a handle. -func rbuVfsDlOpen(tls *libc.TLS, pVfs uintptr, zPath uintptr) uintptr { /* sqlite3.c:208791:13: */ +func rbuVfsDlOpen(tls *libc.TLS, pVfs uintptr, zPath uintptr) uintptr { /* sqlite3.c:208848:13: */ var pRealVfs uintptr = (*Rbu_vfs)(unsafe.Pointer(pVfs)).FpRealVfs return (*struct { f func(*libc.TLS, uintptr, uintptr) uintptr @@ -167665,7 +167696,7 @@ func rbuVfsDlOpen(tls *libc.TLS, pVfs uintptr, zPath uintptr) uintptr { /* sqlit // Populate the buffer zErrMsg (size nByte bytes) with a human readable // utf-8 string describing the most recent error encountered associated // with dynamic libraries. -func rbuVfsDlError(tls *libc.TLS, pVfs uintptr, nByte int32, zErrMsg uintptr) { /* sqlite3.c:208801:13: */ +func rbuVfsDlError(tls *libc.TLS, pVfs uintptr, nByte int32, zErrMsg uintptr) { /* sqlite3.c:208858:13: */ var pRealVfs uintptr = (*Rbu_vfs)(unsafe.Pointer(pVfs)).FpRealVfs (*struct { f func(*libc.TLS, uintptr, int32, uintptr) @@ -167673,7 +167704,7 @@ func rbuVfsDlError(tls *libc.TLS, pVfs uintptr, nByte int32, zErrMsg uintptr) { } // Return a pointer to the symbol zSymbol in the dynamic library pHandle. -func rbuVfsDlSym(tls *libc.TLS, pVfs uintptr, pArg uintptr, zSym uintptr) uintptr { /* sqlite3.c:208809:13: */ +func rbuVfsDlSym(tls *libc.TLS, pVfs uintptr, pArg uintptr, zSym uintptr) uintptr { /* sqlite3.c:208866:13: */ var pRealVfs uintptr = (*Rbu_vfs)(unsafe.Pointer(pVfs)).FpRealVfs return (*struct { f func(*libc.TLS, uintptr, uintptr, uintptr) uintptr @@ -167681,7 +167712,7 @@ func rbuVfsDlSym(tls *libc.TLS, pVfs uintptr, pArg uintptr, zSym uintptr) uintpt } // Close the dynamic library handle pHandle. -func rbuVfsDlClose(tls *libc.TLS, pVfs uintptr, pHandle uintptr) { /* sqlite3.c:208821:13: */ +func rbuVfsDlClose(tls *libc.TLS, pVfs uintptr, pHandle uintptr) { /* sqlite3.c:208878:13: */ var pRealVfs uintptr = (*Rbu_vfs)(unsafe.Pointer(pVfs)).FpRealVfs (*struct { f func(*libc.TLS, uintptr, uintptr) @@ -167690,7 +167721,7 @@ func rbuVfsDlClose(tls *libc.TLS, pVfs uintptr, pHandle uintptr) { /* sqlite3.c: // Populate the buffer pointed to by zBufOut with nByte bytes of // random data. -func rbuVfsRandomness(tls *libc.TLS, pVfs uintptr, nByte int32, zBufOut uintptr) int32 { /* sqlite3.c:208831:12: */ +func rbuVfsRandomness(tls *libc.TLS, pVfs uintptr, nByte int32, zBufOut uintptr) int32 { /* sqlite3.c:208888:12: */ var pRealVfs uintptr = (*Rbu_vfs)(unsafe.Pointer(pVfs)).FpRealVfs return (*struct { f func(*libc.TLS, uintptr, int32, uintptr) int32 @@ -167699,7 +167730,7 @@ func rbuVfsRandomness(tls *libc.TLS, pVfs uintptr, nByte int32, zBufOut uintptr) // Sleep for nMicro microseconds. Return the number of microseconds // actually slept. -func rbuVfsSleep(tls *libc.TLS, pVfs uintptr, nMicro int32) int32 { /* sqlite3.c:208840:12: */ +func rbuVfsSleep(tls *libc.TLS, pVfs uintptr, nMicro int32) int32 { /* sqlite3.c:208897:12: */ var pRealVfs uintptr = (*Rbu_vfs)(unsafe.Pointer(pVfs)).FpRealVfs return (*struct { f func(*libc.TLS, uintptr, int32) int32 @@ -167707,7 +167738,7 @@ func rbuVfsSleep(tls *libc.TLS, pVfs uintptr, nMicro int32) int32 { /* sqlite3.c } // Return the current time as a Julian Day number in *pTimeOut. -func rbuVfsCurrentTime(tls *libc.TLS, pVfs uintptr, pTimeOut uintptr) int32 { /* sqlite3.c:208848:12: */ +func rbuVfsCurrentTime(tls *libc.TLS, pVfs uintptr, pTimeOut uintptr) int32 { /* sqlite3.c:208905:12: */ var pRealVfs uintptr = (*Rbu_vfs)(unsafe.Pointer(pVfs)).FpRealVfs return (*struct { f func(*libc.TLS, uintptr, uintptr) int32 @@ -167715,13 +167746,13 @@ func rbuVfsCurrentTime(tls *libc.TLS, pVfs uintptr, pTimeOut uintptr) int32 { /* } // No-op. -func rbuVfsGetLastError(tls *libc.TLS, pVfs uintptr, a int32, b uintptr) int32 { /* sqlite3.c:208856:12: */ +func rbuVfsGetLastError(tls *libc.TLS, pVfs uintptr, a int32, b uintptr) int32 { /* sqlite3.c:208913:12: */ return 0 } // Deregister and destroy an RBU vfs created by an earlier call to // sqlite3rbu_create_vfs(). -func Xsqlite3rbu_destroy_vfs(tls *libc.TLS, zName uintptr) { /* sqlite3.c:208864:17: */ +func Xsqlite3rbu_destroy_vfs(tls *libc.TLS, zName uintptr) { /* sqlite3.c:208921:17: */ var pVfs uintptr = Xsqlite3_vfs_find(tls, zName) if pVfs != 0 && (*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FxOpen == *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32 @@ -167735,7 +167766,7 @@ func Xsqlite3rbu_destroy_vfs(tls *libc.TLS, zName uintptr) { /* sqlite3.c:208864 // Create an RBU VFS named zName that accesses the underlying file-system // via existing VFS zParent. The new object is registered as a non-default // VFS with SQLite before returning. -func Xsqlite3rbu_create_vfs(tls *libc.TLS, zName uintptr, zParent uintptr) int32 { /* sqlite3.c:208878:16: */ +func Xsqlite3rbu_create_vfs(tls *libc.TLS, zName uintptr, zParent uintptr) int32 { /* sqlite3.c:208935:16: */ var pNew uintptr = uintptr(0) // Newly allocated VFS var rc int32 = SQLITE_OK @@ -167796,17 +167827,17 @@ var vfs_template = Sqlite3_vfs{ FxSleep: 0, // xSleep FxCurrentTime: 0, // xCurrentTime FxGetLastError: 0, // Unimplemented version 3 methods -} /* sqlite3.c:208881:22 */ +} /* sqlite3.c:208938:22 */ // Configure the aggregate temp file size limit for this RBU handle. -func Xsqlite3rbu_temp_size_limit(tls *libc.TLS, pRbu uintptr, n Sqlite3_int64) Sqlite3_int64 { /* sqlite3.c:208956:26: */ +func Xsqlite3rbu_temp_size_limit(tls *libc.TLS, pRbu uintptr, n Sqlite3_int64) Sqlite3_int64 { /* sqlite3.c:209013:26: */ if n >= int64(0) { (*Sqlite3rbu)(unsafe.Pointer(pRbu)).FszTempLimit = n } return (*Sqlite3rbu)(unsafe.Pointer(pRbu)).FszTempLimit } -func Xsqlite3rbu_temp_size(tls *libc.TLS, pRbu uintptr) Sqlite3_int64 { /* sqlite3.c:208963:26: */ +func Xsqlite3rbu_temp_size(tls *libc.TLS, pRbu uintptr) Sqlite3_int64 { /* sqlite3.c:209020:26: */ return (*Sqlite3rbu)(unsafe.Pointer(pRbu)).FszTemp } @@ -167960,7 +167991,7 @@ type SessionTable1 = struct { // #include // #include -type SessionTable = SessionTable1 /* sqlite3.c:210308:29 */ +type SessionTable = SessionTable1 /* sqlite3.c:210365:29 */ type SessionChange1 = struct { Fop U8 FbIndirect U8 @@ -167971,14 +168002,14 @@ type SessionChange1 = struct { FpNext uintptr } /* sqlite3.c:10832:9 */ -type SessionChange = SessionChange1 /* sqlite3.c:210309:30 */ +type SessionChange = SessionChange1 /* sqlite3.c:210366:30 */ type SessionBuffer1 = struct { FaBuf uintptr FnBuf int32 FnAlloc int32 } /* sqlite3.c:10840:9 */ -type SessionBuffer = SessionBuffer1 /* sqlite3.c:210310:30 */ +type SessionBuffer = SessionBuffer1 /* sqlite3.c:210367:30 */ type SessionInput1 = struct { FbNoDiscard int32 FiCurrent int32 @@ -167991,11 +168022,11 @@ type SessionInput1 = struct { FbEof int32 } /* sqlite3.c:10840:9 */ -type SessionInput = SessionInput1 /* sqlite3.c:210311:29 */ +type SessionInput = SessionInput1 /* sqlite3.c:210368:29 */ // Minimum chunk size used by streaming versions of functions. -var sessions_strm_chunk_size int32 = SESSIONS_STRM_CHUNK_SIZE /* sqlite3.c:210324:12 */ +var sessions_strm_chunk_size int32 = SESSIONS_STRM_CHUNK_SIZE /* sqlite3.c:210381:12 */ type SessionHook1 = struct { FpCtx uintptr @@ -168005,11 +168036,11 @@ type SessionHook1 = struct { FxDepth uintptr } /* sqlite3.c:10832:9 */ -type SessionHook = SessionHook1 /* sqlite3.c:210326:28 */ +type SessionHook = SessionHook1 /* sqlite3.c:210383:28 */ // Write a varint with value iVal into the buffer at aBuf. Return the // number of bytes written. -func sessionVarintPut(tls *libc.TLS, aBuf uintptr, iVal int32) int32 { /* sqlite3.c:210604:12: */ +func sessionVarintPut(tls *libc.TLS, aBuf uintptr, iVal int32) int32 { /* sqlite3.c:210661:12: */ return int32(func() uint8 { if U32(iVal) < U32(0x80) { return uint8(func() int32 { *(*U8)(unsafe.Pointer(aBuf)) = uint8(iVal); return 1 }()) @@ -168019,13 +168050,13 @@ func sessionVarintPut(tls *libc.TLS, aBuf uintptr, iVal int32) int32 { /* sqlite } // Return the number of bytes required to store value iVal as a varint. -func sessionVarintLen(tls *libc.TLS, iVal int32) int32 { /* sqlite3.c:210611:12: */ +func sessionVarintLen(tls *libc.TLS, iVal int32) int32 { /* sqlite3.c:210668:12: */ return Xsqlite3VarintLen(tls, uint64(iVal)) } // Read a varint value from aBuf[] into *piVal. Return the number of // bytes read. -func sessionVarintGet(tls *libc.TLS, aBuf uintptr, piVal uintptr) int32 { /* sqlite3.c:210619:12: */ +func sessionVarintGet(tls *libc.TLS, aBuf uintptr, piVal uintptr) int32 { /* sqlite3.c:210676:12: */ return int32(func() uint8 { if int32(*(*U8)(unsafe.Pointer(aBuf))) < int32(U8(0x80)) { return uint8(func() int32 { *(*int32)(unsafe.Pointer(piVal)) = int32(U32(*(*U8)(unsafe.Pointer(aBuf)))); return 1 }()) @@ -168038,7 +168069,7 @@ func sessionVarintGet(tls *libc.TLS, aBuf uintptr, piVal uintptr) int32 { /* sql // Read a 64-bit big-endian integer value from buffer aRec[]. Return // the value read. -func sessionGetI64(tls *libc.TLS, aRec uintptr) Sqlite3_int64 { /* sqlite3.c:210630:22: */ +func sessionGetI64(tls *libc.TLS, aRec uintptr) Sqlite3_int64 { /* sqlite3.c:210687:22: */ var x U64 = U64(U32(*(*U8)(unsafe.Pointer(aRec)))<<24 | U32(int32(*(*U8)(unsafe.Pointer(aRec + 1)))<<16) | U32(int32(*(*U8)(unsafe.Pointer(aRec + 2)))<<8) | U32(*(*U8)(unsafe.Pointer(aRec + 3)))) var y U32 = U32(*(*U8)(unsafe.Pointer(aRec + uintptr(4))))<<24 | U32(int32(*(*U8)(unsafe.Pointer(aRec + uintptr(4) + 1)))<<16) | U32(int32(*(*U8)(unsafe.Pointer(aRec + uintptr(4) + 2)))<<8) | U32(*(*U8)(unsafe.Pointer(aRec + uintptr(4) + 3))) x = x<<32 + U64(y) @@ -168046,7 +168077,7 @@ func sessionGetI64(tls *libc.TLS, aRec uintptr) Sqlite3_int64 { /* sqlite3.c:210 } // Write a 64-bit big-endian integer value to the buffer aBuf[]. -func sessionPutI64(tls *libc.TLS, aBuf uintptr, i Sqlite3_int64) { /* sqlite3.c:210640:13: */ +func sessionPutI64(tls *libc.TLS, aBuf uintptr, i Sqlite3_int64) { /* sqlite3.c:210697:13: */ *(*U8)(unsafe.Pointer(aBuf)) = U8(i >> 56 & int64(0xFF)) *(*U8)(unsafe.Pointer(aBuf + 1)) = U8(i >> 48 & int64(0xFF)) *(*U8)(unsafe.Pointer(aBuf + 2)) = U8(i >> 40 & int64(0xFF)) @@ -168068,7 +168099,7 @@ func sessionPutI64(tls *libc.TLS, aBuf uintptr, i Sqlite3_int64) { /* sqlite3.c: // If no error occurs, SQLITE_OK is returned. Or, if an OOM error occurs // within a call to sqlite3_value_text() (may fail if the db is utf-16)) // SQLITE_NOMEM is returned. -func sessionSerializeValue(tls *libc.TLS, aBuf uintptr, pValue uintptr, pnWrite uintptr) int32 { /* sqlite3.c:210664:12: */ +func sessionSerializeValue(tls *libc.TLS, aBuf uintptr, pValue uintptr, pnWrite uintptr) int32 { /* sqlite3.c:210721:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -168156,7 +168187,7 @@ func sessionSerializeValue(tls *libc.TLS, aBuf uintptr, pValue uintptr, pnWrite // Allocate and return a pointer to a buffer nByte bytes in size. If // pSession is not NULL, increase the sqlite3_session.nMalloc variable // by the number of bytes allocated. -func sessionMalloc64(tls *libc.TLS, pSession uintptr, nByte I64) uintptr { /* sqlite3.c:210740:13: */ +func sessionMalloc64(tls *libc.TLS, pSession uintptr, nByte I64) uintptr { /* sqlite3.c:210797:13: */ var pRet uintptr = Xsqlite3_malloc64(tls, uint64(nByte)) if pSession != 0 { *(*I64)(unsafe.Pointer(pSession + 36)) += I64(Xsqlite3_msize(tls, pRet)) @@ -168167,7 +168198,7 @@ func sessionMalloc64(tls *libc.TLS, pSession uintptr, nByte I64) uintptr { /* sq // Free buffer pFree, which must have been allocated by an earlier // call to sessionMalloc64(). If pSession is not NULL, decrease the // sqlite3_session.nMalloc counter by the number of bytes freed. -func sessionFree(tls *libc.TLS, pSession uintptr, pFree uintptr) { /* sqlite3.c:210751:13: */ +func sessionFree(tls *libc.TLS, pSession uintptr, pFree uintptr) { /* sqlite3.c:210808:13: */ if pSession != 0 { *(*I64)(unsafe.Pointer(pSession + 36)) -= I64(Xsqlite3_msize(tls, pFree)) } @@ -168190,14 +168221,14 @@ func sessionFree(tls *libc.TLS, pSession uintptr, pFree uintptr) { /* sqlite3.c: // Append the hash of the 64-bit integer passed as the second argument to the // hash-key value passed as the first. Return the new hash-key value. -func sessionHashAppendI64(tls *libc.TLS, h uint32, i I64) uint32 { /* sqlite3.c:210777:21: */ +func sessionHashAppendI64(tls *libc.TLS, h uint32, i I64) uint32 { /* sqlite3.c:210834:21: */ h = h<<3 ^ h ^ uint32(i&int64(0xFFFFFFFF)) return h<<3 ^ h ^ uint32(i>>32&int64(0xFFFFFFFF)) } // Append the hash of the blob passed via the second and third arguments to // the hash-key value passed as the first. Return the new hash-key value. -func sessionHashAppendBlob(tls *libc.TLS, h uint32, n int32, z uintptr) uint32 { /* sqlite3.c:210786:21: */ +func sessionHashAppendBlob(tls *libc.TLS, h uint32, n int32, z uintptr) uint32 { /* sqlite3.c:210843:21: */ var i int32 for i = 0; i < n; i++ { h = h<<3 ^ h ^ uint32(*(*U8)(unsafe.Pointer(z + uintptr(i)))) @@ -168207,7 +168238,7 @@ func sessionHashAppendBlob(tls *libc.TLS, h uint32, n int32, z uintptr) uint32 { // Append the hash of the data type passed as the second argument to the // hash-key value passed as the first. Return the new hash-key value. -func sessionHashAppendType(tls *libc.TLS, h uint32, eType int32) uint32 { /* sqlite3.c:210796:21: */ +func sessionHashAppendType(tls *libc.TLS, h uint32, eType int32) uint32 { /* sqlite3.c:210853:21: */ return h<<3 ^ h ^ uint32(eType) } @@ -168220,7 +168251,7 @@ func sessionHashAppendType(tls *libc.TLS, h uint32, eType int32) uint32 { /* sql // If an error occurs, an SQLite error code is returned and the final values // of *piHash asn *pbNullPK are undefined. Otherwise, SQLITE_OK is returned // and the output variables are set as described above. -func sessionPreupdateHash(tls *libc.TLS, pSession uintptr, pTab uintptr, bNew int32, piHash uintptr, pbNullPK uintptr) int32 { /* sqlite3.c:210811:12: */ +func sessionPreupdateHash(tls *libc.TLS, pSession uintptr, pTab uintptr, bNew int32, piHash uintptr, pbNullPK uintptr) int32 { /* sqlite3.c:210868:12: */ bp := tls.Alloc(20) defer tls.Free(20) @@ -168286,7 +168317,7 @@ func sessionPreupdateHash(tls *libc.TLS, pSession uintptr, pTab uintptr, bNew in // The buffer that the argument points to contains a serialized SQL value. // Return the number of bytes of space occupied by the value (including // the type byte). -func sessionSerialLen(tls *libc.TLS, a uintptr) int32 { /* sqlite3.c:210876:12: */ +func sessionSerialLen(tls *libc.TLS, a uintptr) int32 { /* sqlite3.c:210933:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -168312,7 +168343,7 @@ func sessionSerialLen(tls *libc.TLS, a uintptr) int32 { /* sqlite3.c:210876:12: // // The bPkOnly argument is non-zero if the record at aRecord[] is from // a patchset DELETE. In this case the non-PK fields are omitted entirely. -func sessionChangeHash(tls *libc.TLS, pTab uintptr, bPkOnly int32, aRecord uintptr, nBucket int32) uint32 { /* sqlite3.c:210894:21: */ +func sessionChangeHash(tls *libc.TLS, pTab uintptr, bPkOnly int32, aRecord uintptr, nBucket int32) uint32 { /* sqlite3.c:210951:21: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -168355,7 +168386,7 @@ func sessionChangeHash(tls *libc.TLS, pTab uintptr, bPkOnly int32, aRecord uintp // This function returns true if the two records apply to the same row (i.e. // have the same values stored in the primary key columns), or false // otherwise. -func sessionChangeEqual(tls *libc.TLS, pTab uintptr, bLeftPkOnly int32, aLeft uintptr, bRightPkOnly int32, aRight uintptr) int32 { /* sqlite3.c:210943:12: */ +func sessionChangeEqual(tls *libc.TLS, pTab uintptr, bLeftPkOnly int32, aLeft uintptr, bRightPkOnly int32, aRight uintptr) int32 { /* sqlite3.c:211000:12: */ var a1 uintptr = aLeft // Cursor to iterate through aLeft var a2 uintptr = aRight // Cursor to iterate through aRight var iCol int32 // Used to iterate through table columns @@ -168394,7 +168425,7 @@ func sessionChangeEqual(tls *libc.TLS, pTab uintptr, bLeftPkOnly int32, aLeft ui // their. Otherwise, if aLeft contains a value, copy it. If neither // record contains a value for a given column, then neither does the // output record. -func sessionMergeRecord(tls *libc.TLS, paOut uintptr, nCol int32, aLeft uintptr, aRight uintptr) { /* sqlite3.c:210986:13: */ +func sessionMergeRecord(tls *libc.TLS, paOut uintptr, nCol int32, aLeft uintptr, aRight uintptr) { /* sqlite3.c:211043:13: */ var a1 uintptr = aLeft // Cursor used to iterate through aLeft var a2 uintptr = aRight // Cursor used to iterate through aRight var aOut uintptr = *(*uintptr)(unsafe.Pointer(paOut)) // Output cursor @@ -168433,7 +168464,7 @@ func sessionMergeRecord(tls *libc.TLS, paOut uintptr, nCol int32, aLeft uintptr, // if( *paTwo is valid ) return *paTwo; // return *paOne; // -func sessionMergeValue(tls *libc.TLS, paOne uintptr, paTwo uintptr, pnVal uintptr) uintptr { /* sqlite3.c:211032:11: */ +func sessionMergeValue(tls *libc.TLS, paOne uintptr, paTwo uintptr, pnVal uintptr) uintptr { /* sqlite3.c:211089:11: */ var a1 uintptr = *(*uintptr)(unsafe.Pointer(paOne)) var a2 uintptr = *(*uintptr)(unsafe.Pointer(paTwo)) var pRet uintptr = uintptr(0) @@ -168460,7 +168491,7 @@ func sessionMergeValue(tls *libc.TLS, paOne uintptr, paTwo uintptr, pnVal uintpt // This function is used by changeset_concat() to merge two UPDATE changes // on the same row. -func sessionMergeUpdate(tls *libc.TLS, paOut uintptr, pTab uintptr, bPatchset int32, aOldRecord1 uintptr, aOldRecord2 uintptr, aNewRecord1 uintptr, aNewRecord2 uintptr) int32 { /* sqlite3.c:211066:12: */ +func sessionMergeUpdate(tls *libc.TLS, paOut uintptr, pTab uintptr, bPatchset int32, aOldRecord1 uintptr, aOldRecord2 uintptr, aNewRecord1 uintptr, aNewRecord2 uintptr) int32 { /* sqlite3.c:211123:12: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -168535,7 +168566,7 @@ func sessionMergeUpdate(tls *libc.TLS, paOut uintptr, pTab uintptr, bPatchset in // as the change stored in argument pChange. If so, it returns true. Otherwise // if the pre-update-hook does not affect the same row as pChange, it returns // false. -func sessionPreupdateEqual(tls *libc.TLS, pSession uintptr, pTab uintptr, pChange uintptr, op int32) int32 { /* sqlite3.c:211143:12: */ +func sessionPreupdateEqual(tls *libc.TLS, pSession uintptr, pTab uintptr, pChange uintptr, op int32) int32 { /* sqlite3.c:211200:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -168623,7 +168654,7 @@ func sessionPreupdateEqual(tls *libc.TLS, pSession uintptr, pTab uintptr, pChang // that case the hash-table does not grow, but SQLITE_OK is returned anyway. // Growing the hash table in this case is a performance optimization only, // it is not required for correct operation. -func sessionGrowHash(tls *libc.TLS, pSession uintptr, bPatchset int32, pTab uintptr) int32 { /* sqlite3.c:211222:12: */ +func sessionGrowHash(tls *libc.TLS, pSession uintptr, bPatchset int32, pTab uintptr) int32 { /* sqlite3.c:211279:12: */ if (*SessionTable)(unsafe.Pointer(pTab)).FnChange == 0 || (*SessionTable)(unsafe.Pointer(pTab)).FnEntry >= (*SessionTable)(unsafe.Pointer(pTab)).FnChange/2 { var i int32 var apNew uintptr @@ -168687,7 +168718,7 @@ func sessionGrowHash(tls *libc.TLS, pSession uintptr, bPatchset int32, pTab uint // // All returned buffers are part of the same single allocation, which must // be freed using sqlite3_free() by the caller -func sessionTableInfo(tls *libc.TLS, pSession uintptr, db uintptr, zDb uintptr, zThis uintptr, pnCol uintptr, pzTab uintptr, pazCol uintptr, pabPK uintptr) int32 { /* sqlite3.c:211288:12: */ +func sessionTableInfo(tls *libc.TLS, pSession uintptr, db uintptr, zDb uintptr, zThis uintptr, pnCol uintptr, pzTab uintptr, pazCol uintptr, pabPK uintptr) int32 { /* sqlite3.c:211345:12: */ bp := tls.Alloc(20) defer tls.Free(20) @@ -168818,7 +168849,7 @@ func sessionTableInfo(tls *libc.TLS, pSession uintptr, db uintptr, zDb uintptr, // key, sqlite3_session.rc is left set to SQLITE_OK and non-zero returned to // indicate that updates on this table should be ignored. SessionTable.abPK // is set to NULL in this case. -func sessionInitTable(tls *libc.TLS, pSession uintptr, pTab uintptr) int32 { /* sqlite3.c:211421:12: */ +func sessionInitTable(tls *libc.TLS, pSession uintptr, pTab uintptr) int32 { /* sqlite3.c:211478:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -168854,15 +168885,15 @@ func sessionInitTable(tls *libc.TLS, pSession uintptr, pTab uintptr) int32 { /* type SessionStat1Ctx1 = struct { Fhook SessionHook FpSession uintptr -} /* sqlite3.c:211456:9 */ +} /* sqlite3.c:211513:9 */ // Versions of the four methods in object SessionHook for use with the // sqlite_stat1 table. The purpose of this is to substitute a zero-length // blob each time a NULL value is read from the "idx" column of the // sqlite_stat1 table. -type SessionStat1Ctx = SessionStat1Ctx1 /* sqlite3.c:211456:32 */ +type SessionStat1Ctx = SessionStat1Ctx1 /* sqlite3.c:211513:32 */ -func sessionStat1Old(tls *libc.TLS, pCtx uintptr, iCol int32, ppVal uintptr) int32 { /* sqlite3.c:211461:12: */ +func sessionStat1Old(tls *libc.TLS, pCtx uintptr, iCol int32, ppVal uintptr) int32 { /* sqlite3.c:211518:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -168878,7 +168909,7 @@ func sessionStat1Old(tls *libc.TLS, pCtx uintptr, iCol int32, ppVal uintptr) int return rc } -func sessionStat1New(tls *libc.TLS, pCtx uintptr, iCol int32, ppVal uintptr) int32 { /* sqlite3.c:211471:12: */ +func sessionStat1New(tls *libc.TLS, pCtx uintptr, iCol int32, ppVal uintptr) int32 { /* sqlite3.c:211528:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -168894,21 +168925,21 @@ func sessionStat1New(tls *libc.TLS, pCtx uintptr, iCol int32, ppVal uintptr) int return rc } -func sessionStat1Count(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:211481:12: */ +func sessionStat1Count(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:211538:12: */ var p uintptr = pCtx return (*struct { f func(*libc.TLS, uintptr) int32 })(unsafe.Pointer(&struct{ uintptr }{(*SessionStat1Ctx)(unsafe.Pointer(p)).Fhook.FxCount})).f(tls, (*SessionStat1Ctx)(unsafe.Pointer(p)).Fhook.FpCtx) } -func sessionStat1Depth(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:211485:12: */ +func sessionStat1Depth(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:211542:12: */ var p uintptr = pCtx return (*struct { f func(*libc.TLS, uintptr) int32 })(unsafe.Pointer(&struct{ uintptr }{(*SessionStat1Ctx)(unsafe.Pointer(p)).Fhook.FxDepth})).f(tls, (*SessionStat1Ctx)(unsafe.Pointer(p)).Fhook.FpCtx) } -func sessionUpdateMaxSize(tls *libc.TLS, op int32, pSession uintptr, pTab uintptr, pC uintptr) int32 { /* sqlite3.c:211490:12: */ +func sessionUpdateMaxSize(tls *libc.TLS, op int32, pSession uintptr, pTab uintptr, pC uintptr) int32 { /* sqlite3.c:211547:12: */ bp := tls.Alloc(36) defer tls.Free(36) @@ -169022,7 +169053,7 @@ func sessionUpdateMaxSize(tls *libc.TLS, op int32, pSession uintptr, pTab uintpt // // Unless one is already present or an error occurs, an entry is added // to the changed-rows hash table associated with table pTab. -func sessionPreupdateOneChange(tls *libc.TLS, op int32, pSession uintptr, pTab uintptr) { /* sqlite3.c:211596:13: */ +func sessionPreupdateOneChange(tls *libc.TLS, op int32, pSession uintptr, pTab uintptr) { /* sqlite3.c:211653:13: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -169318,7 +169349,7 @@ __35: __36: } -func sessionFindTable(tls *libc.TLS, pSession uintptr, zName uintptr, ppTab uintptr) int32 { /* sqlite3.c:211745:12: */ +func sessionFindTable(tls *libc.TLS, pSession uintptr, zName uintptr, ppTab uintptr) int32 { /* sqlite3.c:211802:12: */ var rc int32 = SQLITE_OK var nName int32 = Xsqlite3Strlen30(tls, zName) var pRet uintptr @@ -169353,7 +169384,7 @@ func sessionFindTable(tls *libc.TLS, pSession uintptr, zName uintptr, ppTab uint } // The 'pre-update' hook registered by this module with SQLite databases. -func xPreUpdate(tls *libc.TLS, pCtx uintptr, db uintptr, op int32, zDb uintptr, zName uintptr, iKey1 Sqlite3_int64, iKey2 Sqlite3_int64) { /* sqlite3.c:211785:13: */ +func xPreUpdate(tls *libc.TLS, pCtx uintptr, db uintptr, op int32, zDb uintptr, zName uintptr, iKey1 Sqlite3_int64, iKey2 Sqlite3_int64) { /* sqlite3.c:211842:13: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -169388,25 +169419,25 @@ func xPreUpdate(tls *libc.TLS, pCtx uintptr, db uintptr, op int32, zDb uintptr, } // The pre-update hook implementations. -func sessionPreupdateOld(tls *libc.TLS, pCtx uintptr, iVal int32, ppVal uintptr) int32 { /* sqlite3.c:211823:12: */ +func sessionPreupdateOld(tls *libc.TLS, pCtx uintptr, iVal int32, ppVal uintptr) int32 { /* sqlite3.c:211880:12: */ return Xsqlite3_preupdate_old(tls, pCtx, iVal, ppVal) } -func sessionPreupdateNew(tls *libc.TLS, pCtx uintptr, iVal int32, ppVal uintptr) int32 { /* sqlite3.c:211826:12: */ +func sessionPreupdateNew(tls *libc.TLS, pCtx uintptr, iVal int32, ppVal uintptr) int32 { /* sqlite3.c:211883:12: */ return Xsqlite3_preupdate_new(tls, pCtx, iVal, ppVal) } -func sessionPreupdateCount(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:211829:12: */ +func sessionPreupdateCount(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:211886:12: */ return Xsqlite3_preupdate_count(tls, pCtx) } -func sessionPreupdateDepth(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:211832:12: */ +func sessionPreupdateDepth(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:211889:12: */ return Xsqlite3_preupdate_depth(tls, pCtx) } // Install the pre-update hooks on the session object passed as the only // argument. -func sessionPreupdateHooks(tls *libc.TLS, pSession uintptr) { /* sqlite3.c:211840:13: */ +func sessionPreupdateHooks(tls *libc.TLS, pSession uintptr) { /* sqlite3.c:211897:13: */ (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx = (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FxOld = *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) int32 @@ -169425,24 +169456,24 @@ func sessionPreupdateHooks(tls *libc.TLS, pSession uintptr) { /* sqlite3.c:21184 type SessionDiffCtx1 = struct { FpStmt uintptr FnOldOff int32 -} /* sqlite3.c:211850:9 */ +} /* sqlite3.c:211907:9 */ -type SessionDiffCtx = SessionDiffCtx1 /* sqlite3.c:211850:31 */ +type SessionDiffCtx = SessionDiffCtx1 /* sqlite3.c:211907:31 */ // The diff hook implementations. -func sessionDiffOld(tls *libc.TLS, pCtx uintptr, iVal int32, ppVal uintptr) int32 { /* sqlite3.c:211859:12: */ +func sessionDiffOld(tls *libc.TLS, pCtx uintptr, iVal int32, ppVal uintptr) int32 { /* sqlite3.c:211916:12: */ var p uintptr = pCtx *(*uintptr)(unsafe.Pointer(ppVal)) = Xsqlite3_column_value(tls, (*SessionDiffCtx)(unsafe.Pointer(p)).FpStmt, iVal+(*SessionDiffCtx)(unsafe.Pointer(p)).FnOldOff) return SQLITE_OK } -func sessionDiffNew(tls *libc.TLS, pCtx uintptr, iVal int32, ppVal uintptr) int32 { /* sqlite3.c:211864:12: */ +func sessionDiffNew(tls *libc.TLS, pCtx uintptr, iVal int32, ppVal uintptr) int32 { /* sqlite3.c:211921:12: */ var p uintptr = pCtx *(*uintptr)(unsafe.Pointer(ppVal)) = Xsqlite3_column_value(tls, (*SessionDiffCtx)(unsafe.Pointer(p)).FpStmt, iVal) return SQLITE_OK } -func sessionDiffCount(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:211869:12: */ +func sessionDiffCount(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:211926:12: */ var p uintptr = pCtx if (*SessionDiffCtx)(unsafe.Pointer(p)).FnOldOff != 0 { return (*SessionDiffCtx)(unsafe.Pointer(p)).FnOldOff @@ -169450,13 +169481,13 @@ func sessionDiffCount(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:211869:1 return Xsqlite3_column_count(tls, (*SessionDiffCtx)(unsafe.Pointer(p)).FpStmt) } -func sessionDiffDepth(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:211873:12: */ +func sessionDiffDepth(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:211930:12: */ return 0 } // Install the diff hooks on the session object passed as the only // argument. -func sessionDiffHooks(tls *libc.TLS, pSession uintptr, pDiffCtx uintptr) { /* sqlite3.c:211881:13: */ +func sessionDiffHooks(tls *libc.TLS, pSession uintptr, pDiffCtx uintptr) { /* sqlite3.c:211938:13: */ (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx = pDiffCtx (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FxOld = *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) int32 @@ -169472,7 +169503,7 @@ func sessionDiffHooks(tls *libc.TLS, pSession uintptr, pDiffCtx uintptr) { /* sq }{sessionDiffDepth})) } -func sessionExprComparePK(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uintptr, zTab uintptr, azCol uintptr, abPK uintptr) uintptr { /* sqlite3.c:211892:13: */ +func sessionExprComparePK(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uintptr, zTab uintptr, azCol uintptr, abPK uintptr) uintptr { /* sqlite3.c:211949:13: */ bp := tls.Alloc(64) defer tls.Free(64) @@ -169494,7 +169525,7 @@ func sessionExprComparePK(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uintptr, return zRet } -func sessionExprCompareOther(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uintptr, zTab uintptr, azCol uintptr, abPK uintptr) uintptr { /* sqlite3.c:211915:13: */ +func sessionExprCompareOther(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uintptr, zTab uintptr, azCol uintptr, abPK uintptr) uintptr { /* sqlite3.c:211972:13: */ bp := tls.Alloc(64) defer tls.Free(64) @@ -169524,7 +169555,7 @@ func sessionExprCompareOther(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uintp return zRet } -func sessionSelectFindNew(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uintptr, zTbl uintptr, zExpr uintptr) uintptr { /* sqlite3.c:211946:13: */ +func sessionSelectFindNew(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uintptr, zTbl uintptr, zExpr uintptr) uintptr { /* sqlite3.c:212003:13: */ bp := tls.Alloc(40) defer tls.Free(40) @@ -169535,7 +169566,7 @@ func sessionSelectFindNew(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uintptr, return zRet } -func sessionDiffFindNew(tls *libc.TLS, op int32, pSession uintptr, pTab uintptr, zDb1 uintptr, zDb2 uintptr, zExpr uintptr) int32 { /* sqlite3.c:211962:12: */ +func sessionDiffFindNew(tls *libc.TLS, op int32, pSession uintptr, pTab uintptr, zDb1 uintptr, zDb2 uintptr, zExpr uintptr) int32 { /* sqlite3.c:212019:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -169563,7 +169594,7 @@ func sessionDiffFindNew(tls *libc.TLS, op int32, pSession uintptr, pTab uintptr, return rc } -func sessionDiffFindModified(tls *libc.TLS, pSession uintptr, pTab uintptr, zFrom uintptr, zExpr uintptr) int32 { /* sqlite3.c:211993:12: */ +func sessionDiffFindModified(tls *libc.TLS, pSession uintptr, pTab uintptr, zFrom uintptr, zExpr uintptr) int32 { /* sqlite3.c:212050:12: */ bp := tls.Alloc(52) defer tls.Free(52) @@ -169600,7 +169631,7 @@ func sessionDiffFindModified(tls *libc.TLS, pSession uintptr, pTab uintptr, zFro return rc } -func Xsqlite3session_diff(tls *libc.TLS, pSession uintptr, zFrom uintptr, zTbl uintptr, pzErrMsg uintptr) int32 { /* sqlite3.c:212033:16: */ +func Xsqlite3session_diff(tls *libc.TLS, pSession uintptr, zFrom uintptr, zTbl uintptr, pzErrMsg uintptr) int32 { /* sqlite3.c:212090:16: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -169773,7 +169804,7 @@ diff_out: // Create a session object. This session object will record changes to // database zDb attached to connection db. -func Xsqlite3session_create(tls *libc.TLS, db uintptr, zDb uintptr, ppSession uintptr) int32 { /* sqlite3.c:212128:16: */ +func Xsqlite3session_create(tls *libc.TLS, db uintptr, zDb uintptr, ppSession uintptr) int32 { /* sqlite3.c:212185:16: */ var pNew uintptr // Newly allocated session object var pOld uintptr // Session object already attached to db var nDb int32 = Xsqlite3Strlen30(tls, zDb) // Length of zDb in bytes @@ -169809,7 +169840,7 @@ func Xsqlite3session_create(tls *libc.TLS, db uintptr, zDb uintptr, ppSession ui // Free the list of table objects passed as the first argument. The contents // of the changed-rows hash tables are also deleted. -func sessionDeleteTable(tls *libc.TLS, pSession uintptr, pList uintptr) { /* sqlite3.c:212166:13: */ +func sessionDeleteTable(tls *libc.TLS, pSession uintptr, pList uintptr) { /* sqlite3.c:212223:13: */ var pNext uintptr var pTab uintptr @@ -169831,7 +169862,7 @@ func sessionDeleteTable(tls *libc.TLS, pSession uintptr, pList uintptr) { /* sql } // Delete a session object previously allocated using sqlite3session_create(). -func Xsqlite3session_delete(tls *libc.TLS, pSession uintptr) { /* sqlite3.c:212190:17: */ +func Xsqlite3session_delete(tls *libc.TLS, pSession uintptr) { /* sqlite3.c:212247:17: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -169869,7 +169900,7 @@ func Xsqlite3session_delete(tls *libc.TLS, pSession uintptr) { /* sqlite3.c:2121 } // Set a table filter on a Session Object. -func Xsqlite3session_table_filter(tls *libc.TLS, pSession uintptr, xFilter uintptr, pCtx uintptr) { /* sqlite3.c:212222:17: */ +func Xsqlite3session_table_filter(tls *libc.TLS, pSession uintptr, xFilter uintptr, pCtx uintptr) { /* sqlite3.c:212279:17: */ (*Sqlite3_session)(unsafe.Pointer(pSession)).FbAutoAttach = 1 (*Sqlite3_session)(unsafe.Pointer(pSession)).FpFilterCtx = pCtx (*Sqlite3_session)(unsafe.Pointer(pSession)).FxTableFilter = xFilter @@ -169881,7 +169912,7 @@ func Xsqlite3session_table_filter(tls *libc.TLS, pSession uintptr, xFilter uintp // Only tables that have a PRIMARY KEY defined may be attached. It does // not matter if the PRIMARY KEY is an "INTEGER PRIMARY KEY" (rowid alias) // or not. -func Xsqlite3session_attach(tls *libc.TLS, pSession uintptr, zName uintptr) int32 { /* sqlite3.c:212240:16: */ +func Xsqlite3session_attach(tls *libc.TLS, pSession uintptr, zName uintptr) int32 { /* sqlite3.c:212297:16: */ var rc int32 = SQLITE_OK Xsqlite3_mutex_enter(tls, Xsqlite3_db_mutex(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb)) @@ -169932,7 +169963,7 @@ func Xsqlite3session_attach(tls *libc.TLS, pSession uintptr, zName uintptr) int3 // // If successful, return zero. Otherwise, if an OOM condition is encountered, // set *pRc to SQLITE_NOMEM and return non-zero. -func sessionBufferGrow(tls *libc.TLS, p uintptr, nByte I64, pRc uintptr) int32 { /* sqlite3.c:212293:12: */ +func sessionBufferGrow(tls *libc.TLS, p uintptr, nByte I64, pRc uintptr) int32 { /* sqlite3.c:212350:12: */ var nReq I64 = I64((*SessionBuffer)(unsafe.Pointer(p)).FnBuf) + nByte if *(*int32)(unsafe.Pointer(pRc)) == SQLITE_OK && nReq > I64((*SessionBuffer)(unsafe.Pointer(p)).FnAlloc) { var aNew uintptr @@ -169977,7 +170008,7 @@ func sessionBufferGrow(tls *libc.TLS, p uintptr, nByte I64, pRc uintptr) int32 { // This function is a no-op if *pRc is non-zero when it is called. // Otherwise, if an error occurs, *pRc is set to an SQLite error code // before returning. -func sessionAppendValue(tls *libc.TLS, p uintptr, pVal uintptr, pRc uintptr) { /* sqlite3.c:212336:13: */ +func sessionAppendValue(tls *libc.TLS, p uintptr, pVal uintptr, pRc uintptr) { /* sqlite3.c:212393:13: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -170000,7 +170031,7 @@ func sessionAppendValue(tls *libc.TLS, p uintptr, pVal uintptr, pRc uintptr) { / // // If an OOM condition is encountered, set *pRc to SQLITE_NOMEM before // returning. -func sessionAppendByte(tls *libc.TLS, p uintptr, v U8, pRc uintptr) { /* sqlite3.c:212358:13: */ +func sessionAppendByte(tls *libc.TLS, p uintptr, v U8, pRc uintptr) { /* sqlite3.c:212415:13: */ if 0 == sessionBufferGrow(tls, p, int64(1), pRc) { *(*U8)(unsafe.Pointer((*SessionBuffer)(unsafe.Pointer(p)).FaBuf + uintptr(libc.PostIncInt32(&(*SessionBuffer)(unsafe.Pointer(p)).FnBuf, 1)))) = v } @@ -170011,7 +170042,7 @@ func sessionAppendByte(tls *libc.TLS, p uintptr, v U8, pRc uintptr) { /* sqlite3 // // If an OOM condition is encountered, set *pRc to SQLITE_NOMEM before // returning. -func sessionAppendVarint(tls *libc.TLS, p uintptr, v int32, pRc uintptr) { /* sqlite3.c:212371:13: */ +func sessionAppendVarint(tls *libc.TLS, p uintptr, v int32, pRc uintptr) { /* sqlite3.c:212428:13: */ if 0 == sessionBufferGrow(tls, p, int64(9), pRc) { *(*int32)(unsafe.Pointer(p + 4)) += sessionVarintPut(tls, (*SessionBuffer)(unsafe.Pointer(p)).FaBuf+uintptr((*SessionBuffer)(unsafe.Pointer(p)).FnBuf), v) } @@ -170022,7 +170053,7 @@ func sessionAppendVarint(tls *libc.TLS, p uintptr, v int32, pRc uintptr) { /* sq // // If an OOM condition is encountered, set *pRc to SQLITE_NOMEM before // returning. -func sessionAppendBlob(tls *libc.TLS, p uintptr, aBlob uintptr, nBlob int32, pRc uintptr) { /* sqlite3.c:212384:13: */ +func sessionAppendBlob(tls *libc.TLS, p uintptr, aBlob uintptr, nBlob int32, pRc uintptr) { /* sqlite3.c:212441:13: */ if nBlob > 0 && 0 == sessionBufferGrow(tls, p, int64(nBlob), pRc) { libc.Xmemcpy(tls, (*SessionBuffer)(unsafe.Pointer(p)).FaBuf+uintptr((*SessionBuffer)(unsafe.Pointer(p)).FnBuf), aBlob, uint32(nBlob)) *(*int32)(unsafe.Pointer(p + 4)) += nBlob @@ -170035,7 +170066,7 @@ func sessionAppendBlob(tls *libc.TLS, p uintptr, aBlob uintptr, nBlob int32, pRc // // If an OOM condition is encountered, set *pRc to SQLITE_NOMEM before // returning. -func sessionAppendStr(tls *libc.TLS, p uintptr, zStr uintptr, pRc uintptr) { /* sqlite3.c:212404:13: */ +func sessionAppendStr(tls *libc.TLS, p uintptr, zStr uintptr, pRc uintptr) { /* sqlite3.c:212461:13: */ var nStr int32 = Xsqlite3Strlen30(tls, zStr) if 0 == sessionBufferGrow(tls, p, int64(nStr), pRc) { libc.Xmemcpy(tls, (*SessionBuffer)(unsafe.Pointer(p)).FaBuf+uintptr((*SessionBuffer)(unsafe.Pointer(p)).FnBuf), zStr, uint32(nStr)) @@ -170049,7 +170080,7 @@ func sessionAppendStr(tls *libc.TLS, p uintptr, zStr uintptr, pRc uintptr) { /* // // If an OOM condition is encountered, set *pRc to SQLITE_NOMEM before // returning. -func sessionAppendInteger(tls *libc.TLS, p uintptr, iVal int32, pRc uintptr) { /* sqlite3.c:212424:13: */ +func sessionAppendInteger(tls *libc.TLS, p uintptr, iVal int32, pRc uintptr) { /* sqlite3.c:212481:13: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -170066,7 +170097,7 @@ func sessionAppendInteger(tls *libc.TLS, p uintptr, iVal int32, pRc uintptr) { / // // If an OOM condition is encountered, set *pRc to SQLITE_NOMEM before // returning. -func sessionAppendIdent(tls *libc.TLS, p uintptr, zStr uintptr, pRc uintptr) { /* sqlite3.c:212443:13: */ +func sessionAppendIdent(tls *libc.TLS, p uintptr, zStr uintptr, pRc uintptr) { /* sqlite3.c:212500:13: */ var nStr int32 = Xsqlite3Strlen30(tls, zStr)*2 + 2 + 1 if 0 == sessionBufferGrow(tls, p, int64(nStr), pRc) { var zOut uintptr = (*SessionBuffer)(unsafe.Pointer(p)).FaBuf + uintptr((*SessionBuffer)(unsafe.Pointer(p)).FnBuf) @@ -170087,7 +170118,7 @@ func sessionAppendIdent(tls *libc.TLS, p uintptr, zStr uintptr, pRc uintptr) { / // called. Otherwse, it appends the serialized version of the value stored // in column iCol of the row that SQL statement pStmt currently points // to to the buffer. -func sessionAppendCol(tls *libc.TLS, p uintptr, pStmt uintptr, iCol int32, pRc uintptr) { /* sqlite3.c:212468:13: */ +func sessionAppendCol(tls *libc.TLS, p uintptr, pStmt uintptr, iCol int32, pRc uintptr) { /* sqlite3.c:212525:13: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -170147,7 +170178,7 @@ func sessionAppendCol(tls *libc.TLS, p uintptr, pStmt uintptr, iCol int32, pRc u // Otherwise, the old.* record contains all primary key values and the // original values of any fields that have been modified. The new.* record // contains the new values of only those fields that have been modified. -func sessionAppendUpdate(tls *libc.TLS, pBuf uintptr, bPatchset int32, pStmt uintptr, p uintptr, abPK uintptr) int32 { /* sqlite3.c:212530:12: */ +func sessionAppendUpdate(tls *libc.TLS, pBuf uintptr, bPatchset int32, pStmt uintptr, p uintptr, abPK uintptr) int32 { /* sqlite3.c:212587:12: */ bp := tls.Alloc(36) defer tls.Free(36) @@ -170253,7 +170284,7 @@ func sessionAppendUpdate(tls *libc.TLS, pBuf uintptr, bPatchset int32, pStmt uin // Append a DELETE change to the buffer passed as the first argument. Use // the changeset format if argument bPatchset is zero, or the patchset // format otherwise. -func sessionAppendDelete(tls *libc.TLS, pBuf uintptr, bPatchset int32, p uintptr, nCol int32, abPK uintptr) int32 { /* sqlite3.c:212630:12: */ +func sessionAppendDelete(tls *libc.TLS, pBuf uintptr, bPatchset int32, p uintptr, nCol int32, abPK uintptr) int32 { /* sqlite3.c:212687:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -170310,7 +170341,7 @@ func sessionAppendDelete(tls *libc.TLS, pBuf uintptr, bPatchset int32, p uintptr // zTab in database zDb based on its primary key. i.e. // // SELECT * FROM zDb.zTab WHERE pk1 = ? AND pk2 = ? AND ... -func sessionSelectStmt(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, nCol int32, azCol uintptr, abPK uintptr, ppStmt uintptr) int32 { /* sqlite3.c:212685:12: */ +func sessionSelectStmt(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, nCol int32, azCol uintptr, abPK uintptr, ppStmt uintptr) int32 { /* sqlite3.c:212742:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -170361,7 +170392,7 @@ func sessionSelectStmt(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, nCo // // Return SQLITE_OK if all PK values are successfully bound, or an SQLite // error code (e.g. SQLITE_NOMEM) otherwise. -func sessionSelectBind(tls *libc.TLS, pSelect uintptr, nCol int32, abPK uintptr, pChange uintptr) int32 { /* sqlite3.c:212742:12: */ +func sessionSelectBind(tls *libc.TLS, pSelect uintptr, nCol int32, abPK uintptr, pChange uintptr) int32 { /* sqlite3.c:212799:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -170439,7 +170470,7 @@ func sessionSelectBind(tls *libc.TLS, pSelect uintptr, nCol int32, abPK uintptr, // is called. Otherwise, append a serialized table header (part of the binary // changeset format) to buffer *pBuf. If an error occurs, set *pRc to an // SQLite error code before returning. -func sessionAppendTableHdr(tls *libc.TLS, pBuf uintptr, bPatchset int32, pTab uintptr, pRc uintptr) { /* sqlite3.c:212813:13: */ +func sessionAppendTableHdr(tls *libc.TLS, pBuf uintptr, bPatchset int32, pTab uintptr, pRc uintptr) { /* sqlite3.c:212870:13: */ // Write a table header sessionAppendByte(tls, pBuf, func() uint8 { if bPatchset != 0 { @@ -170460,7 +170491,7 @@ func sessionAppendTableHdr(tls *libc.TLS, pBuf uintptr, bPatchset int32, pTab ui // stored in output variables *pnChangeset and *ppChangeset. Or, if an error // 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) int32 { /* sqlite3.c:212836:12: */ +func sessionGenerateChangeset(tls *libc.TLS, pSession uintptr, bPatchset int32, xOutput uintptr, pOut uintptr, pnChangeset uintptr, ppChangeset uintptr) int32 { /* sqlite3.c:212893:12: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -170590,7 +170621,7 @@ func sessionGenerateChangeset(tls *libc.TLS, pSession uintptr, bPatchset int32, // // It is the responsibility of the caller to eventually free the buffer // using sqlite3_free(). -func Xsqlite3session_changeset(tls *libc.TLS, pSession uintptr, pnChangeset uintptr, ppChangeset uintptr) int32 { /* sqlite3.c:212965:16: */ +func Xsqlite3session_changeset(tls *libc.TLS, pSession uintptr, pnChangeset uintptr, ppChangeset uintptr) int32 { /* sqlite3.c:213022:16: */ var rc int32 if pnChangeset == uintptr(0) || ppChangeset == uintptr(0) { @@ -170602,7 +170633,7 @@ func Xsqlite3session_changeset(tls *libc.TLS, pSession uintptr, pnChangeset uint } // Streaming version of sqlite3session_changeset(). -func Xsqlite3session_changeset_strm(tls *libc.TLS, pSession uintptr, xOutput uintptr, pOut uintptr) int32 { /* sqlite3.c:212983:16: */ +func Xsqlite3session_changeset_strm(tls *libc.TLS, pSession uintptr, xOutput uintptr, pOut uintptr) int32 { /* sqlite3.c:213040:16: */ if xOutput == uintptr(0) { return SQLITE_MISUSE } @@ -170610,7 +170641,7 @@ func Xsqlite3session_changeset_strm(tls *libc.TLS, pSession uintptr, xOutput uin } // Streaming version of sqlite3session_patchset(). -func Xsqlite3session_patchset_strm(tls *libc.TLS, pSession uintptr, xOutput uintptr, pOut uintptr) int32 { /* sqlite3.c:212995:16: */ +func Xsqlite3session_patchset_strm(tls *libc.TLS, pSession uintptr, xOutput uintptr, pOut uintptr) int32 { /* sqlite3.c:213052:16: */ if xOutput == uintptr(0) { return SQLITE_MISUSE } @@ -170622,7 +170653,7 @@ func Xsqlite3session_patchset_strm(tls *libc.TLS, pSession uintptr, xOutput uint // // It is the responsibility of the caller to eventually free the buffer // using sqlite3_free(). -func Xsqlite3session_patchset(tls *libc.TLS, pSession uintptr, pnPatchset uintptr, ppPatchset uintptr) int32 { /* sqlite3.c:213011:16: */ +func Xsqlite3session_patchset(tls *libc.TLS, pSession uintptr, pnPatchset uintptr, ppPatchset uintptr) int32 { /* sqlite3.c:213068:16: */ if pnPatchset == uintptr(0) || ppPatchset == uintptr(0) { return SQLITE_MISUSE } @@ -170630,7 +170661,7 @@ func Xsqlite3session_patchset(tls *libc.TLS, pSession uintptr, pnPatchset uintpt } // Enable or disable the session object passed as the first argument. -func Xsqlite3session_enable(tls *libc.TLS, pSession uintptr, bEnable int32) int32 { /* sqlite3.c:213023:16: */ +func Xsqlite3session_enable(tls *libc.TLS, pSession uintptr, bEnable int32) int32 { /* sqlite3.c:213080:16: */ var ret int32 Xsqlite3_mutex_enter(tls, Xsqlite3_db_mutex(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb)) if bEnable >= 0 { @@ -170642,7 +170673,7 @@ func Xsqlite3session_enable(tls *libc.TLS, pSession uintptr, bEnable int32) int3 } // Enable or disable the session object passed as the first argument. -func Xsqlite3session_indirect(tls *libc.TLS, pSession uintptr, bIndirect int32) int32 { /* sqlite3.c:213037:16: */ +func Xsqlite3session_indirect(tls *libc.TLS, pSession uintptr, bIndirect int32) int32 { /* sqlite3.c:213094:16: */ var ret int32 Xsqlite3_mutex_enter(tls, Xsqlite3_db_mutex(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb)) if bIndirect >= 0 { @@ -170655,7 +170686,7 @@ func Xsqlite3session_indirect(tls *libc.TLS, pSession uintptr, bIndirect int32) // Return true if there have been no changes to monitored tables recorded // by the session object passed as the only argument. -func Xsqlite3session_isempty(tls *libc.TLS, pSession uintptr) int32 { /* sqlite3.c:213052:16: */ +func Xsqlite3session_isempty(tls *libc.TLS, pSession uintptr) int32 { /* sqlite3.c:213109:16: */ var ret int32 = 0 var pTab uintptr @@ -170669,12 +170700,12 @@ func Xsqlite3session_isempty(tls *libc.TLS, pSession uintptr) int32 { /* sqlite3 } // Return the amount of heap memory in use. -func Xsqlite3session_memory_used(tls *libc.TLS, pSession uintptr) Sqlite3_int64 { /* sqlite3.c:213068:26: */ +func Xsqlite3session_memory_used(tls *libc.TLS, pSession uintptr) Sqlite3_int64 { /* sqlite3.c:213125:26: */ return (*Sqlite3_session)(unsafe.Pointer(pSession)).FnMalloc } // Configure the session object passed as the first argument. -func Xsqlite3session_object_config(tls *libc.TLS, pSession uintptr, op int32, pArg uintptr) int32 { /* sqlite3.c:213075:16: */ +func Xsqlite3session_object_config(tls *libc.TLS, pSession uintptr, op int32, pArg uintptr) int32 { /* sqlite3.c:213132:16: */ var rc int32 = SQLITE_OK switch op { case SQLITE_SESSION_OBJCONFIG_SIZE: @@ -170700,12 +170731,12 @@ func Xsqlite3session_object_config(tls *libc.TLS, pSession uintptr, op int32, pA } // Return the maximum size of sqlite3session_changeset() output. -func Xsqlite3session_changeset_size(tls *libc.TLS, pSession uintptr) Sqlite3_int64 { /* sqlite3.c:213101:26: */ +func Xsqlite3session_changeset_size(tls *libc.TLS, pSession uintptr) Sqlite3_int64 { /* sqlite3.c:213158:26: */ return (*Sqlite3_session)(unsafe.Pointer(pSession)).FnMaxChangesetSize } // 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) int32 { /* sqlite3.c:213108:12: */ +func sessionChangesetStart(tls *libc.TLS, pp uintptr, xInput uintptr, pIn uintptr, nChangeset int32, pChangeset uintptr, bInvert int32, bSkipEmpty int32) int32 { /* sqlite3.c:213165:12: */ var pRet uintptr // Iterator to return var nByte int32 // Number of bytes to allocate for iterator @@ -170738,28 +170769,28 @@ func sessionChangesetStart(tls *libc.TLS, pp uintptr, xInput uintptr, pIn uintpt } // Create an iterator used to iterate through the contents of a changeset. -func Xsqlite3changeset_start(tls *libc.TLS, pp uintptr, nChangeset int32, pChangeset uintptr) int32 { /* sqlite3.c:213146:16: */ +func Xsqlite3changeset_start(tls *libc.TLS, pp uintptr, nChangeset int32, pChangeset uintptr) int32 { /* sqlite3.c:213203:16: */ return sessionChangesetStart(tls, pp, uintptr(0), uintptr(0), nChangeset, pChangeset, 0, 0) } -func Xsqlite3changeset_start_v2(tls *libc.TLS, pp uintptr, nChangeset int32, pChangeset uintptr, flags int32) int32 { /* sqlite3.c:213153:16: */ +func Xsqlite3changeset_start_v2(tls *libc.TLS, pp uintptr, nChangeset int32, pChangeset uintptr, flags int32) int32 { /* sqlite3.c:213210:16: */ var bInvert int32 = libc.BoolInt32(!!(flags&SQLITE_CHANGESETSTART_INVERT != 0)) return sessionChangesetStart(tls, pp, uintptr(0), uintptr(0), nChangeset, pChangeset, bInvert, 0) } // Streaming version of sqlite3changeset_start(). -func Xsqlite3changeset_start_strm(tls *libc.TLS, pp uintptr, xInput uintptr, pIn uintptr) int32 { /* sqlite3.c:213166:16: */ +func Xsqlite3changeset_start_strm(tls *libc.TLS, pp uintptr, xInput uintptr, pIn uintptr) int32 { /* sqlite3.c:213223:16: */ return sessionChangesetStart(tls, pp, xInput, pIn, 0, uintptr(0), 0, 0) } -func Xsqlite3changeset_start_v2_strm(tls *libc.TLS, pp uintptr, xInput uintptr, pIn uintptr, flags int32) int32 { /* sqlite3.c:213173:16: */ +func Xsqlite3changeset_start_v2_strm(tls *libc.TLS, pp uintptr, xInput uintptr, pIn uintptr, flags int32) int32 { /* sqlite3.c:213230:16: */ var bInvert int32 = libc.BoolInt32(!!(flags&SQLITE_CHANGESETSTART_INVERT != 0)) return sessionChangesetStart(tls, pp, xInput, pIn, 0, uintptr(0), bInvert, 0) } // If the SessionInput object passed as the only argument is a streaming // object and the buffer is full, discard some data to free up space. -func sessionDiscardData(tls *libc.TLS, pIn uintptr) { /* sqlite3.c:213187:13: */ +func sessionDiscardData(tls *libc.TLS, pIn uintptr) { /* sqlite3.c:213244:13: */ if (*SessionInput)(unsafe.Pointer(pIn)).FxInput != 0 && (*SessionInput)(unsafe.Pointer(pIn)).FiNext >= sessions_strm_chunk_size { var nMove int32 = (*SessionInput)(unsafe.Pointer(pIn)).Fbuf.FnBuf - (*SessionInput)(unsafe.Pointer(pIn)).FiNext @@ -170777,7 +170808,7 @@ func sessionDiscardData(tls *libc.TLS, pIn uintptr) { /* sqlite3.c:213187:13: */ // data is in the buffer. // // Return an SQLite error code if an error occurs, or SQLITE_OK otherwise. -func sessionInputBuffer(tls *libc.TLS, pIn uintptr, nByte int32) int32 { /* sqlite3.c:213207:12: */ +func sessionInputBuffer(tls *libc.TLS, pIn uintptr, nByte int32) int32 { /* sqlite3.c:213264:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -170810,7 +170841,7 @@ func sessionInputBuffer(tls *libc.TLS, pIn uintptr, nByte int32) int32 { /* sqli // When this function is called, *ppRec points to the start of a record // that contains nCol values. This function advances the pointer *ppRec // until it points to the byte immediately following that record. -func sessionSkipRecord(tls *libc.TLS, ppRec uintptr, nCol int32) { /* sqlite3.c:213235:13: */ +func sessionSkipRecord(tls *libc.TLS, ppRec uintptr, nCol int32) { /* sqlite3.c:213292:13: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -170835,7 +170866,7 @@ func sessionSkipRecord(tls *libc.TLS, ppRec uintptr, nCol int32) { /* sqlite3.c: // first argument to a copy of the string or blob held in the aData[] // buffer. SQLITE_OK is returned if successful, or SQLITE_NOMEM if an OOM // error occurs. -func sessionValueSetStr(tls *libc.TLS, pVal uintptr, aData uintptr, nData int32, enc U8) int32 { /* sqlite3.c:213261:12: */ +func sessionValueSetStr(tls *libc.TLS, pVal uintptr, aData uintptr, nData int32, enc U8) int32 { /* sqlite3.c:213318:12: */ // In theory this code could just pass SQLITE_TRANSIENT as the final // argument to sqlite3ValueSetStr() and have the copy created // automatically. But doing so makes it difficult to detect any OOM @@ -170871,7 +170902,7 @@ func sessionValueSetStr(tls *libc.TLS, pVal uintptr, aData uintptr, nData int32, // // If an error occurs, an SQLite error code (e.g. SQLITE_NOMEM) is returned. // The apOut[] array may have been partially populated in this case. -func sessionReadRecord(tls *libc.TLS, pIn uintptr, nCol int32, abPK uintptr, apOut uintptr, pbEmpty uintptr) int32 { /* sqlite3.c:213302:12: */ +func sessionReadRecord(tls *libc.TLS, pIn uintptr, nCol int32, abPK uintptr, apOut uintptr, pbEmpty uintptr) int32 { /* sqlite3.c:213359:12: */ bp := tls.Alloc(20) defer tls.Free(20) @@ -170889,7 +170920,7 @@ func sessionReadRecord(tls *libc.TLS, pIn uintptr, nCol int32, abPK uintptr, apO rc = sessionInputBuffer(tls, pIn, 9) if rc == SQLITE_OK { if (*SessionInput)(unsafe.Pointer(pIn)).FiNext >= (*SessionInput)(unsafe.Pointer(pIn)).FnData { - rc = Xsqlite3CorruptError(tls, 213320) + rc = Xsqlite3CorruptError(tls, 213377) } else { eType = int32(*(*U8)(unsafe.Pointer((*SessionInput)(unsafe.Pointer(pIn)).FaData + uintptr(libc.PostIncInt32(&(*SessionInput)(unsafe.Pointer(pIn)).FiNext, 1))))) @@ -170914,7 +170945,7 @@ func sessionReadRecord(tls *libc.TLS, pIn uintptr, nCol int32, abPK uintptr, apO rc = sessionInputBuffer(tls, pIn, *(*int32)(unsafe.Pointer(bp /* nByte */))) if rc == SQLITE_OK { if *(*int32)(unsafe.Pointer(bp)) < 0 || *(*int32)(unsafe.Pointer(bp)) > (*SessionInput)(unsafe.Pointer(pIn)).FnData-(*SessionInput)(unsafe.Pointer(pIn)).FiNext { - rc = Xsqlite3CorruptError(tls, 213340) + rc = Xsqlite3CorruptError(tls, 213397) } else { var enc U8 = func() uint8 { if eType == SQLITE_TEXT { @@ -170956,7 +170987,7 @@ func sessionReadRecord(tls *libc.TLS, pIn uintptr, nCol int32, abPK uintptr, apO // buffer (i.e. that it can be accessed without any calls to xInput()). // If successful, SQLITE_OK is returned. Otherwise, an SQLite error code. // The input pointer is not moved. -func sessionChangesetBufferTblhdr(tls *libc.TLS, pIn uintptr, pnByte uintptr) int32 { /* sqlite3.c:213378:12: */ +func sessionChangesetBufferTblhdr(tls *libc.TLS, pIn uintptr, pnByte uintptr) int32 { /* sqlite3.c:213435:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -170975,7 +171006,7 @@ func sessionChangesetBufferTblhdr(tls *libc.TLS, pIn uintptr, pnByte uintptr) in // 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)) > 65536 { - rc = Xsqlite3CorruptError(tls, 213394) + rc = Xsqlite3CorruptError(tls, 213451) } else { rc = sessionInputBuffer(tls, pIn, nRead+*(*int32)(unsafe.Pointer(bp))+100) nRead = nRead + *(*int32)(unsafe.Pointer(bp)) @@ -171002,7 +171033,7 @@ func sessionChangesetBufferTblhdr(tls *libc.TLS, pIn uintptr, pnByte uintptr) in // If successful, SQLITE_OK is returned and *pnByte is set to the size of // the record in bytes. Otherwise, an SQLite error code is returned. The // final value of *pnByte is undefined in this case. -func sessionChangesetBufferRecord(tls *libc.TLS, pIn uintptr, nCol int32, pnByte uintptr) int32 { /* sqlite3.c:213421:12: */ +func sessionChangesetBufferRecord(tls *libc.TLS, pIn uintptr, nCol int32, pnByte uintptr) int32 { /* sqlite3.c:213478:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -171044,7 +171075,7 @@ func sessionChangesetBufferRecord(tls *libc.TLS, pIn uintptr, nCol int32, pnByte // If successful, SQLITE_OK is returned. Otherwise, an SQLite error code // is returned and the final values of the various fields enumerated above // are undefined. -func sessionChangesetReadTblhdr(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:213465:12: */ +func sessionChangesetReadTblhdr(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:213522:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -171064,7 +171095,7 @@ func sessionChangesetReadTblhdr(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:2 (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Ftblhdr.FnBuf = 0 sessionBufferGrow(tls, p+44, int64(nByte), bp+4) } else { - *(*int32)(unsafe.Pointer(bp + 4 /* rc */)) = Xsqlite3CorruptError(tls, 213482) + *(*int32)(unsafe.Pointer(bp + 4 /* rc */)) = Xsqlite3CorruptError(tls, 213539) } } @@ -171099,7 +171130,7 @@ func sessionChangesetReadTblhdr(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:2 // // * If the iterator is configured to skip no-op UPDATEs, // sessionChangesetNext() does that. This function does not. -func sessionChangesetNextOne(tls *libc.TLS, p uintptr, paRec uintptr, pnRec uintptr, pbNew uintptr, pbEmpty uintptr) int32 { /* sqlite3.c:213514:12: */ +func sessionChangesetNextOne(tls *libc.TLS, p uintptr, paRec uintptr, pnRec uintptr, pbNew uintptr, pbEmpty uintptr) int32 { /* sqlite3.c:213571:12: */ var i int32 var op U8 @@ -171156,13 +171187,13 @@ func sessionChangesetNextOne(tls *libc.TLS, p uintptr, paRec uintptr, pnRec uint // The first record in the changeset is not a table header. Must be a // corrupt changeset. - return libc.AssignPtrInt32(p+68, Xsqlite3CorruptError(tls, 213568)) + return libc.AssignPtrInt32(p+68, Xsqlite3CorruptError(tls, 213625)) } (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fop = int32(op) (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FbIndirect = int32(*(*U8)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FaData + uintptr(libc.PostIncInt32(&(*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FiNext, 1))))) if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fop != SQLITE_UPDATE && (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fop != SQLITE_DELETE && (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fop != SQLITE_INSERT { - return libc.AssignPtrInt32(p+68, Xsqlite3CorruptError(tls, 213574)) + return libc.AssignPtrInt32(p+68, Xsqlite3CorruptError(tls, 213631)) } if paRec != 0 { @@ -171232,7 +171263,7 @@ func sessionChangesetNextOne(tls *libc.TLS, p uintptr, paRec uintptr, pnRec uint *(*uintptr)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue + uintptr(i)*4)) = *(*uintptr)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue + uintptr(i+(*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol)*4)) if *(*uintptr)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue + uintptr(i)*4)) == uintptr(0) { - return libc.AssignPtrInt32(p+68, Xsqlite3CorruptError(tls, 213618)) + return libc.AssignPtrInt32(p+68, Xsqlite3CorruptError(tls, 213675)) } *(*uintptr)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue + uintptr(i+(*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol)*4)) = uintptr(0) } @@ -171263,7 +171294,7 @@ func sessionChangesetNextOne(tls *libc.TLS, p uintptr, paRec uintptr, pnRec uint // successfully advanced to the next change in the changeset, an SQLite // error code if an error occurs, or SQLITE_DONE if there are no further // changes in the changeset. -func sessionChangesetNext(tls *libc.TLS, p uintptr, paRec uintptr, pnRec uintptr, pbNew uintptr) int32 { /* sqlite3.c:213647:12: */ +func sessionChangesetNext(tls *libc.TLS, p uintptr, paRec uintptr, pnRec uintptr, pbNew uintptr) int32 { /* sqlite3.c:213704:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -171283,14 +171314,14 @@ func sessionChangesetNext(tls *libc.TLS, p uintptr, paRec uintptr, pnRec uintptr // // This function may not be called on iterators passed to a conflict handler // callback by changeset_apply(). -func Xsqlite3changeset_next(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:213670:16: */ +func Xsqlite3changeset_next(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:213727:16: */ return sessionChangesetNext(tls, p, uintptr(0), uintptr(0), uintptr(0)) } // The following function extracts information on the current change // from a changeset iterator. It may only be called after changeset_next() // has returned SQLITE_ROW. -func Xsqlite3changeset_op(tls *libc.TLS, pIter uintptr, pzTab uintptr, pnCol uintptr, pOp uintptr, pbIndirect uintptr) int32 { /* sqlite3.c:213679:16: */ +func Xsqlite3changeset_op(tls *libc.TLS, pIter uintptr, pzTab uintptr, pnCol uintptr, pOp uintptr, pbIndirect uintptr) int32 { /* sqlite3.c:213736:16: */ *(*int32)(unsafe.Pointer(pOp)) = (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fop *(*int32)(unsafe.Pointer(pnCol)) = (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol *(*uintptr)(unsafe.Pointer(pzTab)) = (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FzTab @@ -171304,7 +171335,7 @@ func Xsqlite3changeset_op(tls *libc.TLS, pIter uintptr, pzTab uintptr, pnCol uin // the database table affected by the change that pIter currently points // to. This function may only be called after changeset_next() returns // SQLITE_ROW. -func Xsqlite3changeset_pk(tls *libc.TLS, pIter uintptr, pabPK uintptr, pnCol uintptr) int32 { /* sqlite3.c:213699:16: */ +func Xsqlite3changeset_pk(tls *libc.TLS, pIter uintptr, pabPK uintptr, pnCol uintptr) int32 { /* sqlite3.c:213756:16: */ *(*uintptr)(unsafe.Pointer(pabPK)) = (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FabPK if pnCol != 0 { *(*int32)(unsafe.Pointer(pnCol)) = (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol @@ -171323,7 +171354,7 @@ func Xsqlite3changeset_pk(tls *libc.TLS, pIter uintptr, pabPK uintptr, pnCol uin // // If value iVal is out-of-range, SQLITE_RANGE is returned and *ppValue is // not modified. Otherwise, SQLITE_OK. -func Xsqlite3changeset_old(tls *libc.TLS, pIter uintptr, iVal int32, ppValue uintptr) int32 { /* sqlite3.c:213722:16: */ +func Xsqlite3changeset_old(tls *libc.TLS, pIter uintptr, iVal int32, ppValue uintptr) int32 { /* sqlite3.c:213779:16: */ if (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fop != SQLITE_UPDATE && (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fop != SQLITE_DELETE { return SQLITE_MISUSE } @@ -171345,7 +171376,7 @@ func Xsqlite3changeset_old(tls *libc.TLS, pIter uintptr, iVal int32, ppValue uin // // If value iVal is out-of-range, SQLITE_RANGE is returned and *ppValue is // not modified. Otherwise, SQLITE_OK. -func Xsqlite3changeset_new(tls *libc.TLS, pIter uintptr, iVal int32, ppValue uintptr) int32 { /* sqlite3.c:213750:16: */ +func Xsqlite3changeset_new(tls *libc.TLS, pIter uintptr, iVal int32, ppValue uintptr) int32 { /* sqlite3.c:213807:16: */ if (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fop != SQLITE_UPDATE && (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fop != SQLITE_INSERT { return SQLITE_MISUSE } @@ -171369,7 +171400,7 @@ func Xsqlite3changeset_new(tls *libc.TLS, pIter uintptr, iVal int32, ppValue uin // // If value iVal is out-of-range or some other error occurs, an SQLite error // code is returned. Otherwise, SQLITE_OK. -func Xsqlite3changeset_conflict(tls *libc.TLS, pIter uintptr, iVal int32, ppValue uintptr) int32 { /* sqlite3.c:213784:16: */ +func Xsqlite3changeset_conflict(tls *libc.TLS, pIter uintptr, iVal int32, ppValue uintptr) int32 { /* sqlite3.c:213841:16: */ if !(int32((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FpConflict) != 0) { return SQLITE_MISUSE } @@ -171386,7 +171417,7 @@ func Xsqlite3changeset_conflict(tls *libc.TLS, pIter uintptr, iVal int32, ppValu // violations in the destination database and returns SQLITE_OK. // // In all other cases this function returns SQLITE_MISUSE. -func Xsqlite3changeset_fk_conflicts(tls *libc.TLS, pIter uintptr, pnOut uintptr) int32 { /* sqlite3.c:213807:16: */ +func Xsqlite3changeset_fk_conflicts(tls *libc.TLS, pIter uintptr, pnOut uintptr) int32 { /* sqlite3.c:213864:16: */ if (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FpConflict != 0 || (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FapValue != 0 { return SQLITE_MISUSE } @@ -171398,7 +171429,7 @@ func Xsqlite3changeset_fk_conflicts(tls *libc.TLS, pIter uintptr, pnOut uintptr) // // This function may not be called on iterators passed to a conflict handler // callback by changeset_apply(). -func Xsqlite3changeset_finalize(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:213825:16: */ +func Xsqlite3changeset_finalize(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:213882:16: */ var rc int32 = SQLITE_OK if p != 0 { var i int32 // Used to iterate through p->apValue[] @@ -171415,7 +171446,7 @@ func Xsqlite3changeset_finalize(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:2 return rc } -func sessionChangesetInvert(tls *libc.TLS, pInput uintptr, xOutput uintptr, pOut uintptr, pnInverted uintptr, ppInverted uintptr) int32 { /* sqlite3.c:213840:12: */ +func sessionChangesetInvert(tls *libc.TLS, pInput uintptr, xOutput uintptr, pOut uintptr, pnInverted uintptr, ppInverted uintptr) int32 { /* sqlite3.c:213897:12: */ bp := tls.Alloc(40) defer tls.Free(40) @@ -171651,7 +171682,7 @@ __27: goto __6 __11: - *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) = Xsqlite3CorruptError(tls, 213967) + *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) = Xsqlite3CorruptError(tls, 214024) goto finished_invert __6: ; @@ -171702,7 +171733,7 @@ finished_invert: } // Invert a changeset object. -func Xsqlite3changeset_invert(tls *libc.TLS, nChangeset int32, pChangeset uintptr, pnInverted uintptr, ppInverted uintptr) int32 { /* sqlite3.c:213999:16: */ +func Xsqlite3changeset_invert(tls *libc.TLS, nChangeset int32, pChangeset uintptr, pnInverted uintptr, ppInverted uintptr) int32 { /* sqlite3.c:214056:16: */ bp := tls.Alloc(44) defer tls.Free(44) @@ -171717,7 +171748,7 @@ func Xsqlite3changeset_invert(tls *libc.TLS, nChangeset int32, pChangeset uintpt } // Streaming version of sqlite3changeset_invert(). -func Xsqlite3changeset_invert_strm(tls *libc.TLS, xInput uintptr, pIn uintptr, xOutput uintptr, pOut uintptr) int32 { /* sqlite3.c:214018:16: */ +func Xsqlite3changeset_invert_strm(tls *libc.TLS, xInput uintptr, pIn uintptr, xOutput uintptr, pOut uintptr) int32 { /* sqlite3.c:214075:16: */ bp := tls.Alloc(44) defer tls.Free(44) @@ -171739,9 +171770,9 @@ type SessionUpdate1 = struct { FpStmt uintptr FaMask uintptr FpNext uintptr -} /* sqlite3.c:214038:9 */ +} /* sqlite3.c:214095:9 */ -type SessionUpdate = SessionUpdate1 /* sqlite3.c:214038:30 */ +type SessionUpdate = SessionUpdate1 /* sqlite3.c:214095:30 */ type SessionApplyCtx1 = struct { Fdb uintptr @@ -171761,9 +171792,9 @@ type SessionApplyCtx1 = struct { FbRebaseStarted U8 FbRebase U8 F__ccgo_pad1 [2]byte -} /* sqlite3.c:214045:9 */ +} /* sqlite3.c:214102:9 */ -type SessionApplyCtx = SessionApplyCtx1 /* sqlite3.c:214045:32 */ +type SessionApplyCtx = SessionApplyCtx1 /* sqlite3.c:214102:32 */ // Number of prepared UPDATE statements to cache. @@ -171771,7 +171802,7 @@ type SessionApplyCtx = SessionApplyCtx1 /* sqlite3.c:214045:32 */ // being visited by the iterator. The UPDATE is of the form: // // UPDATE tbl SET col = ?, col2 = ? WHERE pk1 IS ? AND pk2 IS ? -func sessionUpdateFind(tls *libc.TLS, pIter uintptr, p uintptr, bPatchset int32, ppStmt uintptr) int32 { /* sqlite3.c:214074:12: */ +func sessionUpdateFind(tls *libc.TLS, pIter uintptr, p uintptr, bPatchset int32, ppStmt uintptr) int32 { /* sqlite3.c:214131:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -171905,7 +171936,7 @@ func sessionUpdateFind(tls *libc.TLS, pIter uintptr, p uintptr, bPatchset int32, } // Free all cached UPDATE statements. -func sessionUpdateFree(tls *libc.TLS, p uintptr) { /* sqlite3.c:214213:13: */ +func sessionUpdateFree(tls *libc.TLS, p uintptr) { /* sqlite3.c:214270:13: */ var pUp uintptr var pNext uintptr for pUp = (*SessionApplyCtx)(unsafe.Pointer(p)).FpUp; pUp != 0; pUp = pNext { @@ -171933,7 +171964,7 @@ func sessionUpdateFree(tls *libc.TLS, p uintptr) { /* sqlite3.c:214213:13: */ // // If successful, SQLITE_OK is returned and SessionApplyCtx.pDelete is left // pointing to the prepared version of the SQL statement. -func sessionDeleteRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) int32 { /* sqlite3.c:214243:12: */ +func sessionDeleteRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) int32 { /* sqlite3.c:214300:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -171995,7 +172026,7 @@ func sessionDeleteRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) int32 // // If successful, SQLITE_OK is returned and SessionApplyCtx.pSelect is left // pointing to the prepared version of the SQL statement. -func sessionSelectRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) int32 { /* sqlite3.c:214308:12: */ +func sessionSelectRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) int32 { /* sqlite3.c:214365:12: */ return sessionSelectStmt(tls, db, ts+6325, zTab, (*SessionApplyCtx)(unsafe.Pointer(p)).FnCol, (*SessionApplyCtx)(unsafe.Pointer(p)).FazCol, (*SessionApplyCtx)(unsafe.Pointer(p)).FabPK, p+12) } @@ -172007,7 +172038,7 @@ func sessionSelectRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) int32 // // If successful, SQLITE_OK is returned and SessionApplyCtx.pInsert is left // pointing to the prepared version of the SQL statement. -func sessionInsertRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) int32 { /* sqlite3.c:214326:12: */ +func sessionInsertRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) int32 { /* sqlite3.c:214383:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -172038,7 +172069,7 @@ func sessionInsertRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) int32 return *(*int32)(unsafe.Pointer(bp + 12 /* rc */)) } -func sessionPrepare(tls *libc.TLS, db uintptr, pp uintptr, zSql uintptr) int32 { /* sqlite3.c:214356:12: */ +func sessionPrepare(tls *libc.TLS, db uintptr, pp uintptr, zSql uintptr) int32 { /* sqlite3.c:214413:12: */ return Xsqlite3_prepare_v2(tls, db, zSql, -1, pp, uintptr(0)) } @@ -172046,7 +172077,7 @@ func sessionPrepare(tls *libc.TLS, db uintptr, pp uintptr, zSql uintptr) int32 { // These are similar to those created by sessionSelectRow(), // sessionInsertRow(), sessionUpdateRow() and sessionDeleteRow() for // other tables. -func sessionStat1Sql(tls *libc.TLS, db uintptr, p uintptr) int32 { /* sqlite3.c:214366:12: */ +func sessionStat1Sql(tls *libc.TLS, db uintptr, p uintptr) int32 { /* sqlite3.c:214423:12: */ var rc int32 = sessionSelectRow(tls, db, ts+11226, p) if rc == SQLITE_OK { rc = sessionPrepare(tls, db, p+8, @@ -172063,7 +172094,7 @@ func sessionStat1Sql(tls *libc.TLS, db uintptr, p uintptr) int32 { /* sqlite3.c: // A wrapper around sqlite3_bind_value() that detects an extra problem. // See comments in the body of this function for details. -func sessionBindValue(tls *libc.TLS, pStmt uintptr, i int32, pVal uintptr) int32 { /* sqlite3.c:214389:12: */ +func sessionBindValue(tls *libc.TLS, pStmt uintptr, i int32, pVal uintptr) int32 { /* sqlite3.c:214446:12: */ var eType int32 = Xsqlite3_value_type(tls, pVal) // COVERAGE: The (pVal->z==0) branch is never true using current versions // of SQLite. If a malloc fails in an sqlite3_value_xxx() function, either @@ -172090,7 +172121,7 @@ func sessionBindValue(tls *libc.TLS, pStmt uintptr, i int32, pVal uintptr) int32 // statement. // // 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) int32 { /* sqlite3.c:214422:12: */ +func sessionBindRow(tls *libc.TLS, pIter uintptr, xValue uintptr, nCol int32, abPK uintptr, pStmt uintptr) int32 { /* sqlite3.c:214479:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -172111,7 +172142,7 @@ func sessionBindRow(tls *libc.TLS, pIter uintptr, xValue uintptr, nCol int32, ab if *(*uintptr)(unsafe.Pointer(bp)) == uintptr(0) { // The value in the changeset was "undefined". This indicates a // corrupt changeset blob. - rc = Xsqlite3CorruptError(tls, 214445) + rc = Xsqlite3CorruptError(tls, 214502) } else { rc = sessionBindValue(tls, pStmt, i+1, *(*uintptr)(unsafe.Pointer(bp /* pVal */))) } @@ -172135,7 +172166,7 @@ func sessionBindRow(tls *libc.TLS, pIter uintptr, xValue uintptr, nCol int32, ab // If the iterator currently points to an INSERT record, bind values from the // new.* record to the SELECT statement. Or, if it points to a DELETE or // UPDATE, bind values from the old.* record. -func sessionSeekToRow(tls *libc.TLS, db uintptr, pIter uintptr, abPK uintptr, pSelect uintptr) int32 { /* sqlite3.c:214471:12: */ +func sessionSeekToRow(tls *libc.TLS, db uintptr, pIter uintptr, abPK uintptr, pSelect uintptr) int32 { /* sqlite3.c:214528:12: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -172179,7 +172210,7 @@ func sessionSeekToRow(tls *libc.TLS, db uintptr, pIter uintptr, abPK uintptr, pS // of apply_v2() as the "rebase" buffer. // // Return SQLITE_OK if successful, or an SQLite error code otherwise. -func sessionRebaseAdd(tls *libc.TLS, p uintptr, eType int32, pIter uintptr) int32 { /* sqlite3.c:214506:12: */ +func sessionRebaseAdd(tls *libc.TLS, p uintptr, eType int32, pIter uintptr) int32 { /* sqlite3.c:214563:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -172251,7 +172282,7 @@ func sessionRebaseAdd(tls *libc.TLS, p uintptr, eType int32, pIter uintptr) int3 // returned. Or, if the conflict handler returns an invalid value, // 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) int32 { /* sqlite3.c:214580:12: */ +func sessionConflictHandler(tls *libc.TLS, eType int32, p uintptr, pIter uintptr, xConflict uintptr, pCtx uintptr, pbReplace uintptr) int32 { /* sqlite3.c:214637:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -172351,7 +172382,7 @@ func sessionConflictHandler(tls *libc.TLS, eType int32, p uintptr, pIter uintptr // If any conflict handler returns SQLITE_CHANGESET_ABORT, this function // 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) int32 { /* sqlite3.c:214678:12: */ +func sessionApplyOneOp(tls *libc.TLS, pIter uintptr, p uintptr, xConflict uintptr, pCtx uintptr, pbReplace uintptr, pbRetry uintptr) int32 { /* sqlite3.c:214735:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -172486,7 +172517,7 @@ func sessionApplyOneOp(tls *libc.TLS, pIter uintptr, p uintptr, xConflict uintpt // function handles the case where the conflict-handler is invoked and // 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) int32 { /* sqlite3.c:214811:12: */ +func sessionApplyOneWithRetry(tls *libc.TLS, db uintptr, pIter uintptr, pApply uintptr, xConflict uintptr, pCtx uintptr) int32 { /* sqlite3.c:214868:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -172533,7 +172564,7 @@ func sessionApplyOneWithRetry(tls *libc.TLS, db uintptr, pIter uintptr, pApply u } // 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) int32 { /* sqlite3.c:214868:12: */ +func sessionRetryConstraints(tls *libc.TLS, db uintptr, bPatchset int32, zTab uintptr, pApply uintptr, xConflict uintptr, pCtx uintptr) int32 { /* sqlite3.c:214925:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -172587,7 +172618,7 @@ func sessionRetryConstraints(tls *libc.TLS, db uintptr, bPatchset int32, zTab ui // changeset to the main database attached to handle "db". The supplied // 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) int32 { /* sqlite3.c:214924:12: */ +func sessionChangesetApply(tls *libc.TLS, db uintptr, pIter uintptr, xFilter uintptr, xConflict uintptr, pCtx uintptr, ppRebase uintptr, pnRebase uintptr, flags int32) int32 { /* sqlite3.c:214981:12: */ bp := tls.Alloc(252) defer tls.Free(252) @@ -172778,7 +172809,7 @@ func sessionChangesetApply(tls *libc.TLS, db uintptr, pIter uintptr, xFilter uin // 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) int32 { /* sqlite3.c:215122:16: */ +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) int32 { /* sqlite3.c:215179:16: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -172796,7 +172827,7 @@ func Xsqlite3changeset_apply_v2(tls *libc.TLS, db uintptr, nChangeset int32, pCh // Apply the changeset passed via pChangeset/nChangeset to the main database // 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) int32 { /* sqlite3.c:215155:16: */ +func Xsqlite3changeset_apply(tls *libc.TLS, db uintptr, nChangeset int32, pChangeset uintptr, xFilter uintptr, xConflict uintptr, pCtx uintptr) int32 { /* sqlite3.c:215212:16: */ return Xsqlite3changeset_apply_v2(tls, db, nChangeset, pChangeset, xFilter, xConflict, pCtx, uintptr(0), uintptr(0), 0) } @@ -172804,7 +172835,7 @@ func Xsqlite3changeset_apply(tls *libc.TLS, db uintptr, nChangeset int32, pChang // Apply the changeset passed via xInput/pIn to the main database // 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) int32 { /* sqlite3.c:215180:16: */ +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) int32 { /* sqlite3.c:215237:16: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -172819,7 +172850,7 @@ func Xsqlite3changeset_apply_v2_strm(tls *libc.TLS, db uintptr, xInput uintptr, return rc } -func Xsqlite3changeset_apply_strm(tls *libc.TLS, db uintptr, xInput uintptr, pIn uintptr, xFilter uintptr, xConflict uintptr, pCtx uintptr) int32 { /* sqlite3.c:215207:16: */ +func Xsqlite3changeset_apply_strm(tls *libc.TLS, db uintptr, xInput uintptr, pIn uintptr, xFilter uintptr, xConflict uintptr, pCtx uintptr) int32 { /* sqlite3.c:215264:16: */ return Xsqlite3changeset_apply_v2_strm(tls, db, xInput, pIn, xFilter, xConflict, pCtx, uintptr(0), uintptr(0), 0) } @@ -172827,7 +172858,7 @@ func Xsqlite3changeset_apply_strm(tls *libc.TLS, db uintptr, xInput uintptr, pIn // This function is called to merge two changes to the same row together as // part of an sqlite3changeset_concat() operation. A new change object is // allocated and a pointer to it stored in *ppNew. -func sessionChangeMerge(tls *libc.TLS, pTab uintptr, bRebase int32, bPatchset int32, pExist uintptr, op2 int32, bIndirect int32, aRec uintptr, nRec int32, ppNew uintptr) int32 { /* sqlite3.c:215241:12: */ +func sessionChangeMerge(tls *libc.TLS, pTab uintptr, bRebase int32, bPatchset int32, pExist uintptr, op2 int32, bIndirect int32, aRec uintptr, nRec int32, ppNew uintptr) int32 { /* sqlite3.c:215298:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -172999,7 +173030,7 @@ func sessionChangeMerge(tls *libc.TLS, pTab uintptr, bRebase int32, bPatchset in // Add all changes in the changeset traversed by the iterator passed as // the first argument to the changegroup hash tables. -func sessionChangesetToHash(tls *libc.TLS, pIter uintptr, pGrp uintptr, bRebase int32) int32 { /* sqlite3.c:215423:12: */ +func sessionChangesetToHash(tls *libc.TLS, pIter uintptr, pGrp uintptr, bRebase int32) int32 { /* sqlite3.c:215480:12: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -173130,7 +173161,7 @@ func sessionChangesetToHash(tls *libc.TLS, pIter uintptr, pGrp uintptr, bRebase // If successful, SQLITE_OK is returned. Or, if an error occurs, an SQLite // 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) int32 { /* sqlite3.c:215546:12: */ +func sessionChangegroupOutput(tls *libc.TLS, pGrp uintptr, xOutput uintptr, pOut uintptr, pnOut uintptr, ppOut uintptr) int32 { /* sqlite3.c:215603:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -173184,7 +173215,7 @@ func sessionChangegroupOutput(tls *libc.TLS, pGrp uintptr, xOutput uintptr, pOut } // Allocate a new, empty, sqlite3_changegroup. -func Xsqlite3changegroup_new(tls *libc.TLS, pp uintptr) int32 { /* sqlite3.c:215597:16: */ +func Xsqlite3changegroup_new(tls *libc.TLS, pp uintptr) int32 { /* sqlite3.c:215654:16: */ var rc int32 = SQLITE_OK // Return code var p uintptr // New object p = Xsqlite3_malloc(tls, int32(unsafe.Sizeof(Sqlite3_changegroup{}))) @@ -173199,7 +173230,7 @@ func Xsqlite3changegroup_new(tls *libc.TLS, pp uintptr) int32 { /* sqlite3.c:215 // Add the changeset currently stored in buffer pData, size nData bytes, // to changeset-group p. -func Xsqlite3changegroup_add(tls *libc.TLS, pGrp uintptr, nData int32, pData uintptr) int32 { /* sqlite3.c:215614:16: */ +func Xsqlite3changegroup_add(tls *libc.TLS, pGrp uintptr, nData int32, pData uintptr) int32 { /* sqlite3.c:215671:16: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -173217,12 +173248,12 @@ func Xsqlite3changegroup_add(tls *libc.TLS, pGrp uintptr, nData int32, pData uin // Obtain a buffer containing a changeset representing the concatenation // of all changesets added to the group so far. -func Xsqlite3changegroup_output(tls *libc.TLS, pGrp uintptr, pnData uintptr, ppData uintptr) int32 { /* sqlite3.c:215630:16: */ +func Xsqlite3changegroup_output(tls *libc.TLS, pGrp uintptr, pnData uintptr, ppData uintptr) int32 { /* sqlite3.c:215687:16: */ return sessionChangegroupOutput(tls, pGrp, uintptr(0), uintptr(0), pnData, ppData) } // Streaming versions of changegroup_add(). -func Xsqlite3changegroup_add_strm(tls *libc.TLS, pGrp uintptr, xInput uintptr, pIn uintptr) int32 { /* sqlite3.c:215641:16: */ +func Xsqlite3changegroup_add_strm(tls *libc.TLS, pGrp uintptr, xInput uintptr, pIn uintptr) int32 { /* sqlite3.c:215698:16: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -173239,12 +173270,12 @@ func Xsqlite3changegroup_add_strm(tls *libc.TLS, pGrp uintptr, xInput uintptr, p } // Streaming versions of changegroup_output(). -func Xsqlite3changegroup_output_strm(tls *libc.TLS, pGrp uintptr, xOutput uintptr, pOut uintptr) int32 { /* sqlite3.c:215660:16: */ +func Xsqlite3changegroup_output_strm(tls *libc.TLS, pGrp uintptr, xOutput uintptr, pOut uintptr) int32 { /* sqlite3.c:215717:16: */ return sessionChangegroupOutput(tls, pGrp, xOutput, pOut, uintptr(0), uintptr(0)) } // Delete a changegroup object. -func Xsqlite3changegroup_delete(tls *libc.TLS, pGrp uintptr) { /* sqlite3.c:215671:17: */ +func Xsqlite3changegroup_delete(tls *libc.TLS, pGrp uintptr) { /* sqlite3.c:215728:17: */ if pGrp != 0 { sessionDeleteTable(tls, uintptr(0), (*Sqlite3_changegroup)(unsafe.Pointer(pGrp)).FpList) Xsqlite3_free(tls, pGrp) @@ -173252,7 +173283,7 @@ func Xsqlite3changegroup_delete(tls *libc.TLS, pGrp uintptr) { /* sqlite3.c:2156 } // Combine two changesets together. -func Xsqlite3changeset_concat(tls *libc.TLS, nLeft int32, pLeft uintptr, nRight int32, pRight uintptr, pnOut uintptr, ppOut uintptr) int32 { /* sqlite3.c:215681:16: */ +func Xsqlite3changeset_concat(tls *libc.TLS, nLeft int32, pLeft uintptr, nRight int32, pRight uintptr, pnOut uintptr, ppOut uintptr) int32 { /* sqlite3.c:215738:16: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -173276,7 +173307,7 @@ func Xsqlite3changeset_concat(tls *libc.TLS, nLeft int32, pLeft uintptr, nRight } // Streaming version of sqlite3changeset_concat(). -func Xsqlite3changeset_concat_strm(tls *libc.TLS, xInputA uintptr, pInA uintptr, xInputB uintptr, pInB uintptr, xOutput uintptr, pOut uintptr) int32 { /* sqlite3.c:215710:16: */ +func Xsqlite3changeset_concat_strm(tls *libc.TLS, xInputA uintptr, pInA uintptr, xInputB uintptr, pInB uintptr, xOutput uintptr, pOut uintptr) int32 { /* sqlite3.c:215767:16: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -173303,7 +173334,7 @@ func Xsqlite3changeset_concat_strm(tls *libc.TLS, xInputA uintptr, pInA uintptr, // fields in size. This function appends an nCol sessions module // record to buffer pBuf that is a copy of a1, except that for // each field that is undefined in a1[], swap in the field from a2[]. -func sessionAppendRecordMerge(tls *libc.TLS, pBuf uintptr, nCol int32, a1 uintptr, n1 int32, a2 uintptr, n2 int32, pRc uintptr) { /* sqlite3.c:215749:13: */ +func sessionAppendRecordMerge(tls *libc.TLS, pBuf uintptr, nCol int32, a1 uintptr, n1 int32, a2 uintptr, n2 int32, pRc uintptr) { /* sqlite3.c:215806:13: */ sessionBufferGrow(tls, pBuf, int64(n1+n2), pRc) if *(*int32)(unsafe.Pointer(pRc)) == SQLITE_OK { var i int32 @@ -173344,7 +173375,7 @@ func sessionAppendRecordMerge(tls *libc.TLS, pBuf uintptr, nCol int32, a1 uintpt // corresponding field in the rebase buffer is not "undefined" (0x00) // or "replaced" (0xFF), the old.* value is replaced by the value // in the rebase buffer. -func sessionAppendPartialUpdate(tls *libc.TLS, pBuf uintptr, pIter uintptr, aRec uintptr, nRec int32, aChange uintptr, nChange int32, pRc uintptr) { /* sqlite3.c:215798:13: */ +func sessionAppendPartialUpdate(tls *libc.TLS, pBuf uintptr, pIter uintptr, aRec uintptr, nRec int32, aChange uintptr, nChange int32, pRc uintptr) { /* sqlite3.c:215855:13: */ sessionBufferGrow(tls, pBuf, int64(2+nRec+nChange), pRc) if *(*int32)(unsafe.Pointer(pRc)) == SQLITE_OK { var bData int32 = 0 @@ -173406,7 +173437,7 @@ func sessionAppendPartialUpdate(tls *libc.TLS, pBuf uintptr, pIter uintptr, aRec // If an error occurs, an SQLite error code is returned. If ppOut and // 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) int32 { /* sqlite3.c:215866:12: */ +func sessionRebase(tls *libc.TLS, p uintptr, pIter uintptr, xOutput uintptr, pOut uintptr, pnOut uintptr, ppOut uintptr) int32 { /* sqlite3.c:215923:12: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -173544,7 +173575,7 @@ func sessionRebase(tls *libc.TLS, p uintptr, pIter uintptr, xOutput uintptr, pOu } // Create a new rebaser object. -func Xsqlite3rebaser_create(tls *libc.TLS, ppNew uintptr) int32 { /* sqlite3.c:215998:16: */ +func Xsqlite3rebaser_create(tls *libc.TLS, ppNew uintptr) int32 { /* sqlite3.c:216055:16: */ var rc int32 = SQLITE_OK var pNew uintptr @@ -173559,7 +173590,7 @@ func Xsqlite3rebaser_create(tls *libc.TLS, ppNew uintptr) int32 { /* sqlite3.c:2 } // Call this one or more times to configure a rebaser. -func Xsqlite3rebaser_configure(tls *libc.TLS, p uintptr, nRebase int32, pRebase uintptr) int32 { /* sqlite3.c:216015:16: */ +func Xsqlite3rebaser_configure(tls *libc.TLS, p uintptr, nRebase int32, pRebase uintptr) int32 { /* sqlite3.c:216072:16: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -173574,7 +173605,7 @@ func Xsqlite3rebaser_configure(tls *libc.TLS, p uintptr, nRebase int32, pRebase } // Rebase a changeset according to current rebaser configuration -func Xsqlite3rebaser_rebase(tls *libc.TLS, p uintptr, nIn int32, pIn uintptr, pnOut uintptr, ppOut uintptr) int32 { /* sqlite3.c:216032:16: */ +func Xsqlite3rebaser_rebase(tls *libc.TLS, p uintptr, nIn int32, pIn uintptr, pnOut uintptr, ppOut uintptr) int32 { /* sqlite3.c:216089:16: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -173590,7 +173621,7 @@ func Xsqlite3rebaser_rebase(tls *libc.TLS, p uintptr, nIn int32, pIn uintptr, pn } // 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) int32 { /* sqlite3.c:216051:16: */ +func Xsqlite3rebaser_rebase_strm(tls *libc.TLS, p uintptr, xInput uintptr, pIn uintptr, xOutput uintptr, pOut uintptr) int32 { /* sqlite3.c:216108:16: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -173606,7 +173637,7 @@ func Xsqlite3rebaser_rebase_strm(tls *libc.TLS, p uintptr, xInput uintptr, pIn u } // Destroy a rebaser object -func Xsqlite3rebaser_delete(tls *libc.TLS, p uintptr) { /* sqlite3.c:216072:17: */ +func Xsqlite3rebaser_delete(tls *libc.TLS, p uintptr) { /* sqlite3.c:216129:17: */ if p != 0 { sessionDeleteTable(tls, uintptr(0), (*Sqlite3_rebaser)(unsafe.Pointer(p)).Fgrp.FpList) Xsqlite3_free(tls, p) @@ -173614,7 +173645,7 @@ func Xsqlite3rebaser_delete(tls *libc.TLS, p uintptr) { /* sqlite3.c:216072:17: } // Global configuration -func Xsqlite3session_config(tls *libc.TLS, op int32, pArg uintptr) int32 { /* sqlite3.c:216082:16: */ +func Xsqlite3session_config(tls *libc.TLS, op int32, pArg uintptr) int32 { /* sqlite3.c:216139:16: */ var rc int32 = SQLITE_OK switch op { case SQLITE_SESSION_CONFIG_STRMSIZE: @@ -173702,7 +173733,7 @@ type Fts5Global1 = struct { FpTok uintptr FpDfltTok uintptr FpCsr uintptr -} /* sqlite3.c:216813:9 */ +} /* sqlite3.c:216870:9 */ //************* End of sqlite3session.c ************************************* //************* Begin file fts5.c ******************************************* @@ -173764,13 +173795,13 @@ type Fts5Global1 = struct { // Mark a function parameter as unused, to suppress nuisance compiler // warnings. -type Fts5Global = Fts5Global1 /* sqlite3.c:216813:27 */ +type Fts5Global = Fts5Global1 /* sqlite3.c:216870:27 */ type Fts5Colset1 = struct { FnCol int32 FaiCol [1]int32 -} /* sqlite3.c:216813:9 */ +} /* sqlite3.c:216870:9 */ -type Fts5Colset = Fts5Colset1 /* sqlite3.c:216814:27 */ +type Fts5Colset = Fts5Colset1 /* sqlite3.c:216871:27 */ // ************************************************************************* // @@ -173805,14 +173836,14 @@ type Fts5Config1 = struct { FzRank uintptr FzRankArgs uintptr FpzErrmsg uintptr -} /* sqlite3.c:216813:9 */ +} /* sqlite3.c:216870:9 */ // ************************************************************************* // // Interface to code in fts5_config.c. fts5_config.c contains contains code // to parse the arguments passed to the CREATE VIRTUAL TABLE statement. -type Fts5Config = Fts5Config1 /* sqlite3.c:216834:27 */ +type Fts5Config = Fts5Config1 /* sqlite3.c:216891:27 */ // // End of interface to code in fts5_config.c. @@ -173827,7 +173858,7 @@ type Fts5Buffer1 = struct { Fp uintptr Fn int32 FnSpace int32 -} /* sqlite3.c:216813:9 */ +} /* sqlite3.c:216870:9 */ // // End of interface to code in fts5_config.c. @@ -173838,7 +173869,7 @@ type Fts5Buffer1 = struct { // Interface to code in fts5_buffer.c. // Buffer object for the incremental building of string data. -type Fts5Buffer = Fts5Buffer1 /* sqlite3.c:216960:27 */ +type Fts5Buffer = Fts5Buffer1 /* sqlite3.c:217017:27 */ type Fts5PoslistReader1 = struct { Fa uintptr @@ -173848,19 +173879,19 @@ type Fts5PoslistReader1 = struct { FbEof U8 F__ccgo_pad1 [2]byte FiPos I64 -} /* sqlite3.c:216813:9 */ +} /* sqlite3.c:216870:9 */ -type Fts5PoslistReader = Fts5PoslistReader1 /* sqlite3.c:216996:34 */ +type Fts5PoslistReader = Fts5PoslistReader1 /* sqlite3.c:217053:34 */ -type Fts5PoslistWriter1 = struct{ FiPrev I64 } /* sqlite3.c:217015:9 */ +type Fts5PoslistWriter1 = struct{ FiPrev I64 } /* sqlite3.c:217072:9 */ -type Fts5PoslistWriter = Fts5PoslistWriter1 /* sqlite3.c:217015:34 */ +type Fts5PoslistWriter = Fts5PoslistWriter1 /* sqlite3.c:217072:34 */ // Bucket of terms object used by the integrity-check in offsets=0 mode. -type Fts5Termset1 = struct{ FapHash [512]uintptr } /* sqlite3.c:217037:9 */ +type Fts5Termset1 = struct{ FapHash [512]uintptr } /* sqlite3.c:217094:9 */ // Bucket of terms object used by the integrity-check in offsets=0 mode. -type Fts5Termset = Fts5Termset1 /* sqlite3.c:217037:28 */ +type Fts5Termset = Fts5Termset1 /* sqlite3.c:217094:28 */ // // End of interface to code in fts5_buffer.c. @@ -173890,7 +173921,7 @@ type Fts5Index1 = struct { FpDataVersion uintptr FiStructVersion I64 FpStruct uintptr -} /* sqlite3.c:216813:9 */ +} /* sqlite3.c:216870:9 */ // // End of interface to code in fts5_buffer.c. @@ -173901,16 +173932,16 @@ type Fts5Index1 = struct { // Interface to code in fts5_index.c. fts5_index.c contains contains code // to access the data stored in the %_data table. -type Fts5Index = Fts5Index1 /* sqlite3.c:217051:26 */ +type Fts5Index = Fts5Index1 /* sqlite3.c:217108:26 */ type Fts5IndexIter1 = struct { FiRowid I64 FpData uintptr FnData int32 FbEof U8 F__ccgo_pad1 [3]byte -} /* sqlite3.c:216813:9 */ +} /* sqlite3.c:216870:9 */ -type Fts5IndexIter = Fts5IndexIter1 /* sqlite3.c:217052:30 */ +type Fts5IndexIter = Fts5IndexIter1 /* sqlite3.c:217109:30 */ // // End of interface to code in fts5_varint.c. @@ -173925,7 +173956,7 @@ type Fts5Table1 = struct { Fbase Sqlite3_vtab FpConfig uintptr FpIndex uintptr -} /* sqlite3.c:217254:9 */ +} /* sqlite3.c:217311:9 */ // // End of interface to code in fts5_varint.c. @@ -173936,7 +173967,7 @@ type Fts5Table1 = struct { // Interface to code in fts5_main.c. // Virtual-table object. -type Fts5Table = Fts5Table1 /* sqlite3.c:217254:26 */ +type Fts5Table = Fts5Table1 /* sqlite3.c:217311:26 */ // // End of interface to code in fts5.c. @@ -173952,7 +173983,7 @@ type Fts5Hash1 = struct { FnSlot int32 FpScan uintptr FaSlot uintptr -} /* sqlite3.c:216813:9 */ +} /* sqlite3.c:216870:9 */ // // End of interface to code in fts5.c. @@ -173961,7 +173992,7 @@ type Fts5Hash1 = struct { // ************************************************************************* // // Interface to code in fts5_hash.c. -type Fts5Hash = Fts5Hash1 /* sqlite3.c:217280:25 */ +type Fts5Hash = Fts5Hash1 /* sqlite3.c:217337:25 */ // // End of interface to code in fts5_hash.c. @@ -173979,7 +174010,7 @@ type Fts5Storage1 = struct { FnTotalRow I64 FaTotalSize uintptr FaStmt [11]uintptr -} /* sqlite3.c:217336:9 */ +} /* sqlite3.c:217393:9 */ // // End of interface to code in fts5_hash.c. @@ -173990,7 +174021,7 @@ type Fts5Storage1 = struct { // Interface to code in fts5_storage.c. fts5_storage.c contains contains // code to access the data stored in the %_content and %_docsize tables. -type Fts5Storage = Fts5Storage1 /* sqlite3.c:217336:28 */ +type Fts5Storage = Fts5Storage1 /* sqlite3.c:217393:28 */ // // End of interface to code in fts5_storage.c. @@ -174006,7 +174037,7 @@ type Fts5Expr1 = struct { FbDesc int32 FnPhrase int32 FapExprPhrase uintptr -} /* sqlite3.c:216813:9 */ +} /* sqlite3.c:216870:9 */ // // End of interface to code in fts5_storage.c. @@ -174015,7 +174046,7 @@ type Fts5Expr1 = struct { // ************************************************************************* // // Interface to code in fts5_expr.c. -type Fts5Expr = Fts5Expr1 /* sqlite3.c:217379:25 */ +type Fts5Expr = Fts5Expr1 /* sqlite3.c:217436:25 */ type Fts5ExprNode1 = struct { FeType int32 FbEof int32 @@ -174025,9 +174056,9 @@ type Fts5ExprNode1 = struct { FpNear uintptr FnChild int32 FapChild [1]uintptr -} /* sqlite3.c:216813:9 */ +} /* sqlite3.c:216870:9 */ -type Fts5ExprNode = Fts5ExprNode1 /* sqlite3.c:217380:29 */ +type Fts5ExprNode = Fts5ExprNode1 /* sqlite3.c:217437:29 */ type Fts5Parse1 = struct { FpConfig uintptr FzErr uintptr @@ -174036,39 +174067,39 @@ type Fts5Parse1 = struct { FapPhrase uintptr FpExpr uintptr FbPhraseToAnd int32 -} /* sqlite3.c:217381:9 */ +} /* sqlite3.c:217438:9 */ -type Fts5Parse = Fts5Parse1 /* sqlite3.c:217381:26 */ +type Fts5Parse = Fts5Parse1 /* sqlite3.c:217438:26 */ type Fts5Token1 = struct { Fp uintptr Fn int32 -} /* sqlite3.c:217382:9 */ +} /* sqlite3.c:217439:9 */ -type Fts5Token = Fts5Token1 /* sqlite3.c:217382:26 */ +type Fts5Token = Fts5Token1 /* sqlite3.c:217439:26 */ type Fts5ExprPhrase1 = struct { FpNode uintptr Fposlist Fts5Buffer FnTerm int32 FaTerm [1]Fts5ExprTerm -} /* sqlite3.c:216813:9 */ +} /* sqlite3.c:216870:9 */ -type Fts5ExprPhrase = Fts5ExprPhrase1 /* sqlite3.c:217383:31 */ +type Fts5ExprPhrase = Fts5ExprPhrase1 /* sqlite3.c:217440:31 */ type Fts5ExprNearset1 = struct { FnNear int32 FpColset uintptr FnPhrase int32 FapPhrase [1]uintptr -} /* sqlite3.c:216813:9 */ +} /* sqlite3.c:216870:9 */ -type Fts5ExprNearset = Fts5ExprNearset1 /* sqlite3.c:217384:32 */ +type Fts5ExprNearset = Fts5ExprNearset1 /* sqlite3.c:217441:32 */ type Fts5PoslistPopulator1 = struct { Fwriter Fts5PoslistWriter FbOk int32 FbMiss int32 -} /* sqlite3.c:217432:9 */ +} /* sqlite3.c:217489:9 */ -type Fts5PoslistPopulator = Fts5PoslistPopulator1 /* sqlite3.c:217432:37 */ +type Fts5PoslistPopulator = Fts5PoslistPopulator1 /* sqlite3.c:217489:37 */ // // End of interface to code in fts5_unicode2.c. // @@ -174172,7 +174203,7 @@ type Fts5PoslistPopulator = Fts5PoslistPopulator1 /* sqlite3.c:217432:37 */ type Fts5YYMINORTYPE = struct { Ffts5yyinit int32 F__ccgo_pad1 [4]byte -} /* sqlite3.c:217708:3 */ +} /* sqlite3.c:217765:3 */ //************ End control #defines ****************************************** // Define the fts5yytestcase() macro to be a no-op if is not already defined @@ -174245,7 +174276,7 @@ var fts5yy_action = [105]uint8{ /* 80 */ uint8(5), uint8(3), uint8(63), uint8(5), uint8(3), uint8(62), uint8(12), uint8(2), uint8(86), uint8(13), /* 90 */ uint8(9), uint8(30), uint8(10), uint8(10), uint8(54), uint8(57), uint8(75), uint8(78), uint8(78), uint8(53), /* 100 */ uint8(57), uint8(15), uint8(82), uint8(82), uint8(71), -} /* sqlite3.c:217801:31 */ +} /* sqlite3.c:217858:31 */ var fts5yy_lookahead = [121]uint8{ /* 0 */ uint8(16), uint8(17), uint8(18), uint8(19), uint8(20), uint8(22), uint8(22), uint8(24), uint8(24), uint8(17), /* 10 */ uint8(18), uint8(19), uint8(20), uint8(7), uint8(22), uint8(9), uint8(24), uint8(17), uint8(18), uint8(19), @@ -174260,23 +174291,23 @@ var fts5yy_lookahead = [121]uint8{ /* 100 */ uint8(9), uint8(9), uint8(27), uint8(27), uint8(11), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), /* 110 */ uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), /* 120 */ uint8(27), -} /* sqlite3.c:217814:29 */ +} /* sqlite3.c:217871:29 */ var fts5yy_shift_ofst = [35]uint8{ /* 0 */ uint8(44), uint8(44), uint8(44), uint8(44), uint8(44), uint8(44), uint8(51), uint8(77), uint8(43), uint8(12), /* 10 */ uint8(14), uint8(83), uint8(82), uint8(14), uint8(23), uint8(23), uint8(31), uint8(31), uint8(71), uint8(74), /* 20 */ uint8(78), uint8(81), uint8(86), uint8(91), uint8(6), uint8(53), uint8(53), uint8(60), uint8(64), uint8(68), /* 30 */ uint8(53), uint8(87), uint8(92), uint8(53), uint8(93), -} /* sqlite3.c:217832:28 */ +} /* sqlite3.c:217889:28 */ var fts5yy_reduce_ofst = [18]int8{ /* 0 */ int8(-16), int8(-8), int8(0), int8(9), int8(17), int8(25), int8(46), int8(-17), int8(-17), int8(37), /* 10 */ int8(67), int8(4), int8(4), int8(8), int8(4), int8(20), int8(27), int8(38), -} /* sqlite3.c:217841:26 */ +} /* sqlite3.c:217898:26 */ var fts5yy_default = [35]uint8{ /* 0 */ uint8(80), uint8(80), uint8(80), uint8(80), uint8(80), uint8(80), uint8(95), uint8(80), uint8(80), uint8(105), /* 10 */ uint8(80), uint8(110), uint8(110), uint8(80), uint8(110), uint8(110), uint8(80), uint8(80), uint8(80), uint8(80), /* 20 */ uint8(80), uint8(91), uint8(80), uint8(80), uint8(80), uint8(101), uint8(100), uint8(80), uint8(80), uint8(90), /* 30 */ uint8(103), uint8(80), uint8(80), uint8(104), uint8(80), -} /* sqlite3.c:217845:31 */ +} /* sqlite3.c:217902:31 */ //********* End of lemon-generated parsing tables **************************** // The next table maps tokens (terminal symbols) into fallback tokens. @@ -174313,9 +174344,9 @@ type fts5yyStackEntry = struct { Fmajor uint8 F__ccgo_pad1 [2]byte Fminor Fts5YYMINORTYPE -} /* sqlite3.c:217888:1 */ +} /* sqlite3.c:217945:1 */ -type Fts5yyStackEntry = fts5yyStackEntry /* sqlite3.c:217895:33 */ +type Fts5yyStackEntry = fts5yyStackEntry /* sqlite3.c:217952:33 */ // The state of the parser is completely contained in an instance of // the following structure @@ -174324,9 +174355,9 @@ type fts5yyParser = struct { FpParse uintptr Ffts5yystack [100]Fts5yyStackEntry Ffts5yystackEnd uintptr -} /* sqlite3.c:217899:1 */ +} /* sqlite3.c:217956:1 */ -type Fts5yyParser = fts5yyParser /* sqlite3.c:217918:29 */ +type Fts5yyParser = fts5yyParser /* sqlite3.c:217975:29 */ // #include @@ -174336,7 +174367,7 @@ type Fts5yyParser = fts5yyParser /* sqlite3.c:217918:29 */ // grammar. // Initialize a new parser that has already been allocated. -func sqlite3Fts5ParserInit(tls *libc.TLS, fts5yypRawParser uintptr) { /* sqlite3.c:218067:13: */ +func sqlite3Fts5ParserInit(tls *libc.TLS, fts5yypRawParser uintptr) { /* sqlite3.c:218124:13: */ var fts5yypParser uintptr = fts5yypRawParser (*Fts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yytos = fts5yypParser + 8 /* &.fts5yystack */ @@ -174355,7 +174386,7 @@ func sqlite3Fts5ParserInit(tls *libc.TLS, fts5yypRawParser uintptr) { /* sqlite3 // Outputs: // A pointer to a parser. This pointer is used in subsequent calls // to sqlite3Fts5Parser and sqlite3Fts5ParserFree. -func sqlite3Fts5ParserAlloc(tls *libc.TLS, mallocProc uintptr) uintptr { /* sqlite3.c:218106:13: */ +func sqlite3Fts5ParserAlloc(tls *libc.TLS, mallocProc uintptr) uintptr { /* sqlite3.c:218163:13: */ var fts5yypParser uintptr fts5yypParser = (*struct{ f func(*libc.TLS, U64) uintptr })(unsafe.Pointer(&struct{ uintptr }{mallocProc})).f(tls, U64(unsafe.Sizeof(Fts5yyParser{}))) if fts5yypParser != 0 { @@ -174371,7 +174402,7 @@ func sqlite3Fts5ParserAlloc(tls *libc.TLS, mallocProc uintptr) uintptr { /* sqli // a pointer to the value to be deleted. The code used to do the // deletions is derived from the %destructor and/or %token_destructor // directives of the input grammar. -func fts5yy_destructor(tls *libc.TLS, fts5yypParser uintptr, fts5yymajor uint8, fts5yypminor uintptr) { /* sqlite3.c:218125:13: */ +func fts5yy_destructor(tls *libc.TLS, fts5yypParser uintptr, fts5yymajor uint8, fts5yypminor uintptr) { /* sqlite3.c:218182:13: */ var pParse uintptr = (*Fts5yyParser)(unsafe.Pointer(fts5yypParser)).FpParse _ = pParse @@ -174429,7 +174460,7 @@ func fts5yy_destructor(tls *libc.TLS, fts5yypParser uintptr, fts5yymajor uint8, // // If there is a destructor routine associated with the token which // is popped from the stack, then call it. -func fts5yy_pop_parser_stack(tls *libc.TLS, pParser uintptr) { /* sqlite3.c:218184:13: */ +func fts5yy_pop_parser_stack(tls *libc.TLS, pParser uintptr) { /* sqlite3.c:218241:13: */ var fts5yytos uintptr fts5yytos = libc.PostDecUintptr(&(*Fts5yyParser)(unsafe.Pointer(pParser)).Ffts5yytos, 12) @@ -174437,7 +174468,7 @@ func fts5yy_pop_parser_stack(tls *libc.TLS, pParser uintptr) { /* sqlite3.c:2181 } // Clear all secondary memory allocations from the parser -func sqlite3Fts5ParserFinalize(tls *libc.TLS, p uintptr) { /* sqlite3.c:218202:13: */ +func sqlite3Fts5ParserFinalize(tls *libc.TLS, p uintptr) { /* sqlite3.c:218259:13: */ var pParser uintptr = p for (*Fts5yyParser)(unsafe.Pointer(pParser)).Ffts5yytos > pParser+8 { fts5yy_pop_parser_stack(tls, pParser) @@ -174450,7 +174481,7 @@ func sqlite3Fts5ParserFinalize(tls *libc.TLS, p uintptr) { /* sqlite3.c:218202:1 // If the fts5YYPARSEFREENEVERNULL macro exists (for example because it // 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) { /* sqlite3.c:218219:13: */ +func sqlite3Fts5ParserFree(tls *libc.TLS, p uintptr, freeProc uintptr) { /* sqlite3.c:218276:13: */ if p == uintptr(0) { return } @@ -174474,7 +174505,7 @@ func sqlite3Fts5ParserFree(tls *libc.TLS, p uintptr, freeProc uintptr) { /* sqli // Find the appropriate action for a parser given the terminal // look-ahead token iLookAhead. -func fts5yy_find_shift_action(tls *libc.TLS, iLookAhead uint8, stateno uint8) uint8 { /* sqlite3.c:218282:25: */ +func fts5yy_find_shift_action(tls *libc.TLS, iLookAhead uint8, stateno uint8) uint8 { /* sqlite3.c:218339:25: */ var i int32 if int32(stateno) > Fts5YY_MAX_SHIFT { @@ -174498,7 +174529,7 @@ func fts5yy_find_shift_action(tls *libc.TLS, iLookAhead uint8, stateno uint8) ui // Find the appropriate action for a parser given the non-terminal // look-ahead token iLookAhead. -func fts5yy_find_reduce_action(tls *libc.TLS, stateno uint8, iLookAhead uint8) uint8 { /* sqlite3.c:218347:25: */ +func fts5yy_find_reduce_action(tls *libc.TLS, stateno uint8, iLookAhead uint8) uint8 { /* sqlite3.c:218404:25: */ var i int32 i = int32(fts5yy_reduce_ofst[stateno]) @@ -174509,7 +174540,7 @@ func fts5yy_find_reduce_action(tls *libc.TLS, stateno uint8, iLookAhead uint8) u } // The following routine is called if the stack overflows. -func fts5yyStackOverflow(tls *libc.TLS, fts5yypParser uintptr) { /* sqlite3.c:218376:13: */ +func fts5yyStackOverflow(tls *libc.TLS, fts5yypParser uintptr) { /* sqlite3.c:218433:13: */ var pParse uintptr = (*Fts5yyParser)(unsafe.Pointer(fts5yypParser)).FpParse for (*Fts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yytos > fts5yypParser+8 { @@ -174528,7 +174559,7 @@ func fts5yyStackOverflow(tls *libc.TLS, fts5yypParser uintptr) { /* sqlite3.c:21 // Print tracing information for a SHIFT action // Perform a shift action. -func fts5yy_shift(tls *libc.TLS, fts5yypParser uintptr, fts5yyNewState uint8, fts5yyMajor uint8, fts5yyMinor Fts5Token) { /* sqlite3.c:218419:13: */ +func fts5yy_shift(tls *libc.TLS, fts5yypParser uintptr, fts5yyNewState uint8, fts5yyMajor uint8, fts5yyMinor Fts5Token) { /* sqlite3.c:218476:13: */ var fts5yytos uintptr (*Fts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yytos += 12 if (*Fts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yytos > (*Fts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yystackEnd { @@ -174577,7 +174608,7 @@ var fts5yyRuleInfoLhs = [28]uint8{ uint8(24), // (25) phrase ::= STRING star_opt uint8(26), // (26) star_opt ::= STAR uint8(26), // (27) star_opt ::= -} /* sqlite3.c:218460:29 */ +} /* sqlite3.c:218517:29 */ // For rule J, fts5yyRuleInfoNRhs[J] contains the negative of the number // of symbols on the right-hand side of that rule. @@ -174610,7 +174641,7 @@ var fts5yyRuleInfoNRhs = [28]int8{ int8(-2), // (25) phrase ::= STRING star_opt int8(-1), // (26) star_opt ::= STAR int8(0), // (27) star_opt ::= -} /* sqlite3.c:218493:26 */ +} /* sqlite3.c:218550:26 */ // Forward Declaration @@ -174622,7 +174653,7 @@ var fts5yyRuleInfoNRhs = [28]int8{ // if the lookahead token has already been consumed. As this procedure is // only called from one place, optimizing compilers will in-line it, which // means that the extra parameters have no performance impact. -func fts5yy_reduce(tls *libc.TLS, fts5yypParser uintptr, fts5yyruleno uint32, fts5yyLookahead int32, fts5yyLookaheadToken Fts5Token) uint8 { /* sqlite3.c:218536:25: */ +func fts5yy_reduce(tls *libc.TLS, fts5yypParser uintptr, fts5yyruleno uint32, fts5yyLookahead int32, fts5yyLookaheadToken Fts5Token) uint8 { /* sqlite3.c:218593:25: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -174832,7 +174863,7 @@ func fts5yy_reduce(tls *libc.TLS, fts5yypParser uintptr, fts5yyruleno uint32, ft // The following code executes when the parse fails // The following code executes when a syntax error first occurs. -func fts5yy_syntax_error(tls *libc.TLS, fts5yypParser uintptr, fts5yymajor int32, fts5yyminor Fts5Token) { /* sqlite3.c:218754:13: */ +func fts5yy_syntax_error(tls *libc.TLS, fts5yypParser uintptr, fts5yymajor int32, fts5yyminor Fts5Token) { /* sqlite3.c:218811:13: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -174849,7 +174880,7 @@ func fts5yy_syntax_error(tls *libc.TLS, fts5yypParser uintptr, fts5yymajor int32 } // The following is executed when the parser accepts -func fts5yy_accept(tls *libc.TLS, fts5yypParser uintptr) { /* sqlite3.c:218776:13: */ +func fts5yy_accept(tls *libc.TLS, fts5yypParser uintptr) { /* sqlite3.c:218833:13: */ var pParse uintptr = (*Fts5yyParser)(unsafe.Pointer(fts5yypParser)).FpParse // Here code is inserted which will be executed whenever the @@ -174878,7 +174909,7 @@ func fts5yy_accept(tls *libc.TLS, fts5yypParser uintptr) { /* sqlite3.c:218776:1 // // Outputs: // None. -func sqlite3Fts5Parser(tls *libc.TLS, fts5yyp uintptr, fts5yymajor int32, fts5yyminor Fts5Token, pParse uintptr) { /* sqlite3.c:218817:13: */ +func sqlite3Fts5Parser(tls *libc.TLS, fts5yyp uintptr, fts5yymajor int32, fts5yyminor Fts5Token, pParse uintptr) { /* sqlite3.c:218874:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -174933,7 +174964,7 @@ func sqlite3Fts5Parser(tls *libc.TLS, fts5yyp uintptr, fts5yymajor int32, fts5yy // Return the fallback token corresponding to canonical token iToken, or // 0 if iToken has no fallback. -func sqlite3Fts5ParserFallback(tls *libc.TLS, iToken int32) int32 { /* sqlite3.c:219034:12: */ +func sqlite3Fts5ParserFallback(tls *libc.TLS, iToken int32) int32 { /* sqlite3.c:219091:12: */ _ = iToken return 0 } @@ -174987,7 +175018,7 @@ type CInstIter1 = struct { FnInst int32 FiStart int32 FiEnd int32 -} /* sqlite3.c:219080:9 */ +} /* sqlite3.c:219137:9 */ // 2014 May 31 // @@ -175030,11 +175061,11 @@ type CInstIter1 = struct { // printf("instance starts at %d, ends at %d\n", iter.iStart, iter.iEnd); // } // -type CInstIter = CInstIter1 /* sqlite3.c:219080:26 */ +type CInstIter = CInstIter1 /* sqlite3.c:219137:26 */ // Advance the iterator to the next coalesced phrase instance. Return // an SQLite error code if an error occurs, or SQLITE_OK otherwise. -func fts5CInstIterNext(tls *libc.TLS, pIter uintptr) int32 { /* sqlite3.c:219097:12: */ +func fts5CInstIterNext(tls *libc.TLS, pIter uintptr) int32 { /* sqlite3.c:219154:12: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -175077,7 +175108,7 @@ func fts5CInstIterNext(tls *libc.TLS, pIter uintptr) int32 { /* sqlite3.c:219097 // Initialize the iterator object indicated by the final parameter to // iterate through coalesced phrase instances in column iCol. -func fts5CInstIterInit(tls *libc.TLS, pApi uintptr, pFts uintptr, iCol int32, pIter uintptr) int32 { /* sqlite3.c:219128:12: */ +func fts5CInstIterInit(tls *libc.TLS, pApi uintptr, pFts uintptr, iCol int32, pIter uintptr) int32 { /* sqlite3.c:219185:12: */ var rc int32 libc.Xmemset(tls, pIter, 0, uint32(unsafe.Sizeof(CInstIter{}))) @@ -175109,12 +175140,12 @@ type HighlightContext1 = struct { FnIn int32 FiOff int32 FzOut uintptr -} /* sqlite3.c:219154:9 */ +} /* sqlite3.c:219211:9 */ // ************************************************************************ // // Start of highlight() implementation. -type HighlightContext = HighlightContext1 /* sqlite3.c:219154:33 */ +type HighlightContext = HighlightContext1 /* sqlite3.c:219211:33 */ // Append text to the HighlightContext output string - p->zOut. Argument // z points to a buffer containing n bytes of text to append. If n is @@ -175123,7 +175154,7 @@ type HighlightContext = HighlightContext1 /* sqlite3.c:219154:33 */ // If *pRc is set to any value other than SQLITE_OK when this function is // called, it is a no-op. If an error (i.e. an OOM condition) is encountered, // *pRc is set to an error code before returning. -func fts5HighlightAppend(tls *libc.TLS, pRc uintptr, p uintptr, z uintptr, n int32) { /* sqlite3.c:219177:13: */ +func fts5HighlightAppend(tls *libc.TLS, pRc uintptr, p uintptr, z uintptr, n int32) { /* sqlite3.c:219234:13: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -175139,7 +175170,7 @@ func fts5HighlightAppend(tls *libc.TLS, pRc uintptr, p uintptr, z uintptr, n int } // Tokenizer callback used by implementation of highlight() function. -func fts5HighlightCb(tls *libc.TLS, pContext uintptr, tflags int32, pToken uintptr, nToken int32, iStartOff int32, iEndOff int32) int32 { /* sqlite3.c:219192:12: */ +func fts5HighlightCb(tls *libc.TLS, pContext uintptr, tflags int32, pToken uintptr, nToken int32, iStartOff int32, iEndOff int32) int32 { /* sqlite3.c:219249:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -175194,7 +175225,7 @@ func fts5HighlightCb(tls *libc.TLS, pContext uintptr, tflags int32, pToken uintp } // Implementation of highlight() function. -func fts5HighlightFunction(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uintptr, nVal int32, apVal uintptr) { /* sqlite3.c:219246:13: */ +func fts5HighlightFunction(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uintptr, nVal int32, apVal uintptr) { /* sqlite3.c:219303:13: */ bp := tls.Alloc(68) defer tls.Free(68) @@ -175253,19 +175284,19 @@ type Fts5SFinder1 = struct { FnFirst int32 FaFirst uintptr FzDoc uintptr -} /* sqlite3.c:219295:9 */ +} /* sqlite3.c:219352:9 */ // // End of highlight() implementation. // // Context object passed to the fts5SentenceFinderCb() function. -type Fts5SFinder = Fts5SFinder1 /* sqlite3.c:219295:28 */ +type Fts5SFinder = Fts5SFinder1 /* sqlite3.c:219352:28 */ // Add an entry to the Fts5SFinder.aFirst[] array. Grow the array if // necessary. Return SQLITE_OK if successful, or SQLITE_NOMEM if an // error occurs. -func fts5SentenceFinderAdd(tls *libc.TLS, p uintptr, iAdd int32) int32 { /* sqlite3.c:219309:12: */ +func fts5SentenceFinderAdd(tls *libc.TLS, p uintptr, iAdd int32) int32 { /* sqlite3.c:219366:12: */ if (*Fts5SFinder)(unsafe.Pointer(p)).FnFirstAlloc == (*Fts5SFinder)(unsafe.Pointer(p)).FnFirst { var nNew int32 if (*Fts5SFinder)(unsafe.Pointer(p)).FnFirstAlloc != 0 { @@ -175289,7 +175320,7 @@ func fts5SentenceFinderAdd(tls *libc.TLS, p uintptr, iAdd int32) int32 { /* sqli // This function is an xTokenize() callback used by the auxiliary snippet() // function. Its job is to identify tokens that are the first in a sentence. // For each such token, an entry is added to the SFinder.aFirst[] array. -func fts5SentenceFinderCb(tls *libc.TLS, pContext uintptr, tflags int32, pToken uintptr, nToken int32, iStartOff int32, iEndOff int32) int32 { /* sqlite3.c:219328:12: */ +func fts5SentenceFinderCb(tls *libc.TLS, pContext uintptr, tflags int32, pToken uintptr, nToken int32, iStartOff int32, iEndOff int32) int32 { /* sqlite3.c:219385:12: */ var rc int32 = SQLITE_OK _ = pToken @@ -175318,7 +175349,7 @@ func fts5SentenceFinderCb(tls *libc.TLS, pContext uintptr, tflags int32, pToken return rc } -func fts5SnippetScore(tls *libc.TLS, pApi uintptr, pFts uintptr, nDocsize int32, aSeen uintptr, iCol int32, iPos int32, nToken int32, pnScore uintptr, piPos uintptr) int32 { /* sqlite3.c:219361:12: */ +func fts5SnippetScore(tls *libc.TLS, pApi uintptr, pFts uintptr, nDocsize int32, aSeen uintptr, iCol int32, iPos int32, nToken int32, pnScore uintptr, piPos uintptr) int32 { /* sqlite3.c:219418:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -175376,7 +175407,7 @@ func fts5SnippetScore(tls *libc.TLS, pApi uintptr, pFts uintptr, nDocsize int32, // Return the value in pVal interpreted as utf-8 text. Except, if pVal // contains a NULL value, return a pointer to a static string zero // bytes in length instead of a NULL pointer. -func fts5ValueToText(tls *libc.TLS, pVal uintptr) uintptr { /* sqlite3.c:219410:19: */ +func fts5ValueToText(tls *libc.TLS, pVal uintptr) uintptr { /* sqlite3.c:219467:19: */ var zRet uintptr = Xsqlite3_value_text(tls, pVal) if zRet != 0 { return zRet @@ -175385,7 +175416,7 @@ func fts5ValueToText(tls *libc.TLS, pVal uintptr) uintptr { /* sqlite3.c:219410: } // Implementation of snippet() function. -func fts5SnippetFunction(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uintptr, nVal int32, apVal uintptr) { /* sqlite3.c:219418:13: */ +func fts5SnippetFunction(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uintptr, nVal int32, apVal uintptr) { /* sqlite3.c:219475:13: */ bp := tls.Alloc(124) defer tls.Free(124) @@ -175599,17 +175630,17 @@ type Fts5Bm25Data1 = struct { Favgdl float64 FaIDF uintptr FaFreq uintptr -} /* sqlite3.c:219576:9 */ +} /* sqlite3.c:219633:9 */ //********************************************************************** // The first time the bm25() function is called for a query, an instance // of the following structure is allocated and populated. -type Fts5Bm25Data = Fts5Bm25Data1 /* sqlite3.c:219576:29 */ +type Fts5Bm25Data = Fts5Bm25Data1 /* sqlite3.c:219633:29 */ // Callback used by fts5Bm25GetData() to count the number of rows in the // table matched by each individual phrase within the query. -func fts5CountCb(tls *libc.TLS, pApi uintptr, pFts uintptr, pUserData uintptr) int32 { /* sqlite3.c:219588:12: */ +func fts5CountCb(tls *libc.TLS, pApi uintptr, pFts uintptr, pUserData uintptr) int32 { /* sqlite3.c:219645:12: */ var pn uintptr = pUserData _ = pApi _ = pFts @@ -175620,7 +175651,7 @@ func fts5CountCb(tls *libc.TLS, pApi uintptr, pFts uintptr, pUserData uintptr) i // Set *ppData to point to the Fts5Bm25Data object for the current query. // If the object has not already been allocated, allocate and populate it // now. -func fts5Bm25GetData(tls *libc.TLS, pApi uintptr, pFts uintptr, ppData uintptr) int32 { /* sqlite3.c:219604:12: */ +func fts5Bm25GetData(tls *libc.TLS, pApi uintptr, pFts uintptr, ppData uintptr) int32 { /* sqlite3.c:219661:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -175714,7 +175745,7 @@ func fts5Bm25GetData(tls *libc.TLS, pApi uintptr, pFts uintptr, ppData uintptr) } // Implementation of bm25() function. -func fts5Bm25Function(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uintptr, nVal int32, apVal uintptr) { /* sqlite3.c:219677:13: */ +func fts5Bm25Function(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uintptr, nVal int32, apVal uintptr) { /* sqlite3.c:219734:13: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -175782,7 +175813,7 @@ func fts5Bm25Function(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uintptr, n } } -func sqlite3Fts5AuxInit(tls *libc.TLS, pApi uintptr) int32 { /* sqlite3.c:219733:12: */ +func sqlite3Fts5AuxInit(tls *libc.TLS, pApi uintptr) int32 { /* sqlite3.c:219790:12: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -175818,7 +175849,7 @@ type Builtin = struct { FpUserData uintptr FxFunc Fts5_extension_function FxDestroy uintptr -} /* sqlite3.c:219734:3 */ +} /* sqlite3.c:219791:3 */ // 2014 May 31 // @@ -175833,7 +175864,7 @@ type Builtin = struct { // #include "fts5Int.h" -func sqlite3Fts5BufferSize(tls *libc.TLS, pRc uintptr, pBuf uintptr, nByte U32) int32 { /* sqlite3.c:219776:12: */ +func sqlite3Fts5BufferSize(tls *libc.TLS, pRc uintptr, pBuf uintptr, nByte U32) int32 { /* sqlite3.c:219833:12: */ if U32((*Fts5Buffer)(unsafe.Pointer(pBuf)).FnSpace) < nByte { var nNew U64 if (*Fts5Buffer)(unsafe.Pointer(pBuf)).FnSpace != 0 { @@ -175859,7 +175890,7 @@ func sqlite3Fts5BufferSize(tls *libc.TLS, pRc uintptr, pBuf uintptr, nByte U32) // Encode value iVal as an SQLite varint and append it to the buffer object // pBuf. If an OOM error occurs, set the error code in p. -func sqlite3Fts5BufferAppendVarint(tls *libc.TLS, pRc uintptr, pBuf uintptr, iVal I64) { /* sqlite3.c:219800:13: */ +func sqlite3Fts5BufferAppendVarint(tls *libc.TLS, pRc uintptr, pBuf uintptr, iVal I64) { /* sqlite3.c:219857:13: */ if func() int32 { if U32((*Fts5Buffer)(unsafe.Pointer(pBuf)).Fn)+U32(9) <= U32((*Fts5Buffer)(unsafe.Pointer(pBuf)).FnSpace) { return 0 @@ -175871,21 +175902,21 @@ func sqlite3Fts5BufferAppendVarint(tls *libc.TLS, pRc uintptr, pBuf uintptr, iVa *(*int32)(unsafe.Pointer(pBuf + 4)) += sqlite3Fts5PutVarint(tls, (*Fts5Buffer)(unsafe.Pointer(pBuf)).Fp+uintptr((*Fts5Buffer)(unsafe.Pointer(pBuf)).Fn), uint64(iVal)) } -func sqlite3Fts5Put32(tls *libc.TLS, aBuf uintptr, iVal int32) { /* sqlite3.c:219805:13: */ +func sqlite3Fts5Put32(tls *libc.TLS, aBuf uintptr, iVal int32) { /* sqlite3.c:219862:13: */ *(*U8)(unsafe.Pointer(aBuf)) = U8(iVal >> 24 & 0x00FF) *(*U8)(unsafe.Pointer(aBuf + 1)) = U8(iVal >> 16 & 0x00FF) *(*U8)(unsafe.Pointer(aBuf + 2)) = U8(iVal >> 8 & 0x00FF) *(*U8)(unsafe.Pointer(aBuf + 3)) = U8(iVal >> 0 & 0x00FF) } -func sqlite3Fts5Get32(tls *libc.TLS, aBuf uintptr) int32 { /* sqlite3.c:219812:12: */ +func sqlite3Fts5Get32(tls *libc.TLS, aBuf uintptr) int32 { /* sqlite3.c:219869:12: */ return int32(U32(*(*U8)(unsafe.Pointer(aBuf)))<<24 + U32(int32(*(*U8)(unsafe.Pointer(aBuf + 1)))<<16) + U32(int32(*(*U8)(unsafe.Pointer(aBuf + 2)))<<8) + U32(*(*U8)(unsafe.Pointer(aBuf + 3)))) } // Append buffer nData/pData to buffer pBuf. If an OOM error occurs, set // the error code in p. If an error has already occurred when this function // is called, it is a no-op. -func sqlite3Fts5BufferAppendBlob(tls *libc.TLS, pRc uintptr, pBuf uintptr, nData U32, pData uintptr) { /* sqlite3.c:219821:13: */ +func sqlite3Fts5BufferAppendBlob(tls *libc.TLS, pRc uintptr, pBuf uintptr, nData U32, pData uintptr) { /* sqlite3.c:219878:13: */ if nData != 0 { if func() int32 { if U32((*Fts5Buffer)(unsafe.Pointer(pBuf)).Fn)+nData <= U32((*Fts5Buffer)(unsafe.Pointer(pBuf)).FnSpace) { @@ -175903,7 +175934,7 @@ func sqlite3Fts5BufferAppendBlob(tls *libc.TLS, pRc uintptr, pBuf uintptr, nData // Append the nul-terminated string zStr to the buffer pBuf. This function // ensures that the byte following the buffer data is set to 0x00, even // though this byte is not included in the pBuf->n count. -func sqlite3Fts5BufferAppendString(tls *libc.TLS, pRc uintptr, pBuf uintptr, zStr uintptr) { /* sqlite3.c:219839:13: */ +func sqlite3Fts5BufferAppendString(tls *libc.TLS, pRc uintptr, pBuf uintptr, zStr uintptr) { /* sqlite3.c:219896:13: */ var nStr int32 = int32(libc.Xstrlen(tls, zStr)) sqlite3Fts5BufferAppendBlob(tls, pRc, pBuf, uint32(nStr+1), zStr) (*Fts5Buffer)(unsafe.Pointer(pBuf)).Fn-- @@ -175915,7 +175946,7 @@ func sqlite3Fts5BufferAppendString(tls *libc.TLS, pRc uintptr, pBuf uintptr, zSt // Like sqlite3Fts5BufferAppendString(), this function ensures that the byte // following the buffer data is set to 0x00, even though this byte is not // included in the pBuf->n count. -func sqlite3Fts5BufferAppendPrintf(tls *libc.TLS, pRc uintptr, pBuf uintptr, zFmt uintptr, va uintptr) { /* sqlite3.c:219857:13: */ +func sqlite3Fts5BufferAppendPrintf(tls *libc.TLS, pRc uintptr, pBuf uintptr, zFmt uintptr, va uintptr) { /* sqlite3.c:219914:13: */ if *(*int32)(unsafe.Pointer(pRc)) == SQLITE_OK { var zTmp uintptr var ap Va_list @@ -175933,7 +175964,7 @@ func sqlite3Fts5BufferAppendPrintf(tls *libc.TLS, pRc uintptr, pBuf uintptr, zFm } } -func sqlite3Fts5Mprintf(tls *libc.TLS, pRc uintptr, zFmt uintptr, va uintptr) uintptr { /* sqlite3.c:219878:13: */ +func sqlite3Fts5Mprintf(tls *libc.TLS, pRc uintptr, zFmt uintptr, va uintptr) uintptr { /* sqlite3.c:219935:13: */ var zRet uintptr = uintptr(0) if *(*int32)(unsafe.Pointer(pRc)) == SQLITE_OK { var ap Va_list @@ -175949,26 +175980,26 @@ func sqlite3Fts5Mprintf(tls *libc.TLS, pRc uintptr, zFmt uintptr, va uintptr) ui } // Free any buffer allocated by pBuf. Zero the structure before returning. -func sqlite3Fts5BufferFree(tls *libc.TLS, pBuf uintptr) { /* sqlite3.c:219896:13: */ +func sqlite3Fts5BufferFree(tls *libc.TLS, pBuf uintptr) { /* sqlite3.c:219953:13: */ Xsqlite3_free(tls, (*Fts5Buffer)(unsafe.Pointer(pBuf)).Fp) libc.Xmemset(tls, pBuf, 0, uint32(unsafe.Sizeof(Fts5Buffer{}))) } // Zero the contents of the buffer object. But do not free the associated // memory allocation. -func sqlite3Fts5BufferZero(tls *libc.TLS, pBuf uintptr) { /* sqlite3.c:219905:13: */ +func sqlite3Fts5BufferZero(tls *libc.TLS, pBuf uintptr) { /* sqlite3.c:219962:13: */ (*Fts5Buffer)(unsafe.Pointer(pBuf)).Fn = 0 } // Set the buffer to contain nData/pData. If an OOM error occurs, leave an // the error code in p. If an error has already occurred when this function // is called, it is a no-op. -func sqlite3Fts5BufferSet(tls *libc.TLS, pRc uintptr, pBuf uintptr, nData int32, pData uintptr) { /* sqlite3.c:219914:13: */ +func sqlite3Fts5BufferSet(tls *libc.TLS, pRc uintptr, pBuf uintptr, nData int32, pData uintptr) { /* sqlite3.c:219971:13: */ (*Fts5Buffer)(unsafe.Pointer(pBuf)).Fn = 0 sqlite3Fts5BufferAppendBlob(tls, pRc, pBuf, uint32(nData), pData) } -func sqlite3Fts5PoslistNext64(tls *libc.TLS, a uintptr, n int32, pi uintptr, piOff uintptr) int32 { /* sqlite3.c:219924:12: */ +func sqlite3Fts5PoslistNext64(tls *libc.TLS, a uintptr, n int32, pi uintptr, piOff uintptr) int32 { /* sqlite3.c:219981:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -176030,14 +176061,14 @@ func sqlite3Fts5PoslistNext64(tls *libc.TLS, a uintptr, n int32, pi uintptr, piO // Advance the iterator object passed as the only argument. Return true // if the iterator reaches EOF, or false otherwise. -func sqlite3Fts5PoslistReaderNext(tls *libc.TLS, pIter uintptr) int32 { /* sqlite3.c:219967:12: */ +func sqlite3Fts5PoslistReaderNext(tls *libc.TLS, pIter uintptr) int32 { /* sqlite3.c:220024:12: */ if sqlite3Fts5PoslistNext64(tls, (*Fts5PoslistReader)(unsafe.Pointer(pIter)).Fa, (*Fts5PoslistReader)(unsafe.Pointer(pIter)).Fn, pIter+8, pIter+16) != 0 { (*Fts5PoslistReader)(unsafe.Pointer(pIter)).FbEof = U8(1) } return int32((*Fts5PoslistReader)(unsafe.Pointer(pIter)).FbEof) } -func sqlite3Fts5PoslistReaderInit(tls *libc.TLS, a uintptr, n int32, pIter uintptr) int32 { /* sqlite3.c:219974:12: */ +func sqlite3Fts5PoslistReaderInit(tls *libc.TLS, a uintptr, n int32, pIter uintptr) int32 { /* sqlite3.c:220031:12: */ libc.Xmemset(tls, pIter, 0, uint32(unsafe.Sizeof(Fts5PoslistReader{}))) (*Fts5PoslistReader)(unsafe.Pointer(pIter)).Fa = a (*Fts5PoslistReader)(unsafe.Pointer(pIter)).Fn = n @@ -176049,7 +176080,7 @@ func sqlite3Fts5PoslistReaderInit(tls *libc.TLS, a uintptr, n int32, pIter uintp // pBuf, which must be already be large enough to hold the new data. // The previous position written to this list is *piPrev. *piPrev is set // to iPos before returning. -func sqlite3Fts5PoslistSafeAppend(tls *libc.TLS, pBuf uintptr, piPrev uintptr, iPos I64) { /* sqlite3.c:219991:13: */ +func sqlite3Fts5PoslistSafeAppend(tls *libc.TLS, pBuf uintptr, piPrev uintptr, iPos I64) { /* sqlite3.c:220048:13: */ if iPos >= *(*I64)(unsafe.Pointer(piPrev)) { if iPos&colmask != *(*I64)(unsafe.Pointer(piPrev))&colmask { *(*U8)(unsafe.Pointer((*Fts5Buffer)(unsafe.Pointer(pBuf)).Fp + uintptr(libc.PostIncInt32(&(*Fts5Buffer)(unsafe.Pointer(pBuf)).Fn, 1)))) = U8(1) @@ -176061,9 +176092,9 @@ func sqlite3Fts5PoslistSafeAppend(tls *libc.TLS, pBuf uintptr, piPrev uintptr, i } } -var colmask I64 = I64(int64(0x7FFFFFFF)) << 32 /* sqlite3.c:219997:22 */ +var colmask I64 = I64(int64(0x7FFFFFFF)) << 32 /* sqlite3.c:220054:22 */ -func sqlite3Fts5PoslistWriterAppend(tls *libc.TLS, pBuf uintptr, pWriter uintptr, iPos I64) int32 { /* sqlite3.c:220008:12: */ +func sqlite3Fts5PoslistWriterAppend(tls *libc.TLS, pBuf uintptr, pWriter uintptr, iPos I64) int32 { /* sqlite3.c:220065:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -176080,7 +176111,7 @@ func sqlite3Fts5PoslistWriterAppend(tls *libc.TLS, pBuf uintptr, pWriter uintptr return SQLITE_OK } -func sqlite3Fts5MallocZero(tls *libc.TLS, pRc uintptr, nByte Sqlite3_int64) uintptr { /* sqlite3.c:220019:13: */ +func sqlite3Fts5MallocZero(tls *libc.TLS, pRc uintptr, nByte Sqlite3_int64) uintptr { /* sqlite3.c:220076:13: */ var pRet uintptr = uintptr(0) if *(*int32)(unsafe.Pointer(pRc)) == SQLITE_OK { pRet = Xsqlite3_malloc64(tls, uint64(nByte)) @@ -176101,7 +176132,7 @@ func sqlite3Fts5MallocZero(tls *libc.TLS, pRc uintptr, nByte Sqlite3_int64) uint // // It is the responsibility of the caller to eventually free the returned // buffer using sqlite3_free(). If an OOM error occurs, NULL is returned. -func sqlite3Fts5Strndup(tls *libc.TLS, pRc uintptr, pIn uintptr, nIn int32) uintptr { /* sqlite3.c:220040:13: */ +func sqlite3Fts5Strndup(tls *libc.TLS, pRc uintptr, pIn uintptr, nIn int32) uintptr { /* sqlite3.c:220097:13: */ var zRet uintptr = uintptr(0) if *(*int32)(unsafe.Pointer(pRc)) == SQLITE_OK { if nIn < 0 { @@ -176126,7 +176157,7 @@ func sqlite3Fts5Strndup(tls *libc.TLS, pRc uintptr, pIn uintptr, nIn int32) uint // * The 10 integer ASCII characters. // * The underscore character "_" (0x5F). // * The unicode "subsitute" character (0x1A). -func sqlite3Fts5IsBareword(tls *libc.TLS, t int8) int32 { /* sqlite3.c:220068:12: */ +func sqlite3Fts5IsBareword(tls *libc.TLS, t int8) int32 { /* sqlite3.c:220125:12: */ bp := tls.Alloc(128) defer tls.Free(128) @@ -176151,13 +176182,13 @@ type Fts5TermsetEntry1 = struct { FnTerm int32 FiIdx int32 FpNext uintptr -} /* sqlite3.c:217037:9 */ +} /* sqlite3.c:217094:9 */ // ************************************************************************ // -type Fts5TermsetEntry = Fts5TermsetEntry1 /* sqlite3.c:220086:33 */ +type Fts5TermsetEntry = Fts5TermsetEntry1 /* sqlite3.c:220143:33 */ -func sqlite3Fts5TermsetNew(tls *libc.TLS, pp uintptr) int32 { /* sqlite3.c:220098:12: */ +func sqlite3Fts5TermsetNew(tls *libc.TLS, pp uintptr) int32 { /* sqlite3.c:220155:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -176166,7 +176197,7 @@ func sqlite3Fts5TermsetNew(tls *libc.TLS, pp uintptr) int32 { /* sqlite3.c:22009 return *(*int32)(unsafe.Pointer(bp /* rc */)) } -func sqlite3Fts5TermsetAdd(tls *libc.TLS, p uintptr, iIdx int32, pTerm uintptr, nTerm int32, pbPresent uintptr) int32 { /* sqlite3.c:220104:12: */ +func sqlite3Fts5TermsetAdd(tls *libc.TLS, p uintptr, iIdx int32, pTerm uintptr, nTerm int32, pbPresent uintptr) int32 { /* sqlite3.c:220161:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -176212,7 +176243,7 @@ func sqlite3Fts5TermsetAdd(tls *libc.TLS, p uintptr, iIdx int32, pTerm uintptr, return *(*int32)(unsafe.Pointer(bp /* rc */)) } -func sqlite3Fts5TermsetFree(tls *libc.TLS, p uintptr) { /* sqlite3.c:220153:13: */ +func sqlite3Fts5TermsetFree(tls *libc.TLS, p uintptr) { /* sqlite3.c:220210:13: */ if p != 0 { var i U32 for i = U32(0); i < U32(int32(uint32(unsafe.Sizeof([512]uintptr{}))/uint32(unsafe.Sizeof(uintptr(0))))); i++ { @@ -176244,18 +176275,18 @@ func sqlite3Fts5TermsetFree(tls *libc.TLS, p uintptr) { /* sqlite3.c:220153:13: // Maximum allowed page size -func fts5_iswhitespace(tls *libc.TLS, x int8) int32 { /* sqlite3.c:220195:12: */ +func fts5_iswhitespace(tls *libc.TLS, x int8) int32 { /* sqlite3.c:220252:12: */ return libc.Bool32(int32(x) == ' ') } -func fts5_isopenquote(tls *libc.TLS, x int8) int32 { /* sqlite3.c:220199:12: */ +func fts5_isopenquote(tls *libc.TLS, x int8) int32 { /* sqlite3.c:220256:12: */ return libc.Bool32(int32(x) == '"' || int32(x) == '\'' || int32(x) == '[' || int32(x) == '`') } // Argument pIn points to a character that is part of a nul-terminated // string. Return a pointer to the first character following *pIn in // the string that is not a white-space character. -func fts5ConfigSkipWhitespace(tls *libc.TLS, pIn uintptr) uintptr { /* sqlite3.c:220208:19: */ +func fts5ConfigSkipWhitespace(tls *libc.TLS, pIn uintptr) uintptr { /* sqlite3.c:220265:19: */ var p uintptr = pIn if p != 0 { for fts5_iswhitespace(tls, *(*int8)(unsafe.Pointer(p))) != 0 { @@ -176268,7 +176299,7 @@ func fts5ConfigSkipWhitespace(tls *libc.TLS, pIn uintptr) uintptr { /* sqlite3.c // Argument pIn points to a character that is part of a nul-terminated // string. Return a pointer to the first character following *pIn in // the string that is not a "bareword" character. -func fts5ConfigSkipBareword(tls *libc.TLS, pIn uintptr) uintptr { /* sqlite3.c:220221:19: */ +func fts5ConfigSkipBareword(tls *libc.TLS, pIn uintptr) uintptr { /* sqlite3.c:220278:19: */ var p uintptr = pIn for sqlite3Fts5IsBareword(tls, *(*int8)(unsafe.Pointer(p))) != 0 { p++ @@ -176279,11 +176310,11 @@ func fts5ConfigSkipBareword(tls *libc.TLS, pIn uintptr) uintptr { /* sqlite3.c:2 return p } -func fts5_isdigit(tls *libc.TLS, a int8) int32 { /* sqlite3.c:220228:12: */ +func fts5_isdigit(tls *libc.TLS, a int8) int32 { /* sqlite3.c:220285:12: */ return libc.Bool32(int32(a) >= '0' && int32(a) <= '9') } -func fts5ConfigSkipLiteral(tls *libc.TLS, pIn uintptr) uintptr { /* sqlite3.c:220234:19: */ +func fts5ConfigSkipLiteral(tls *libc.TLS, pIn uintptr) uintptr { /* sqlite3.c:220291:19: */ var p uintptr = pIn switch int32(*(*int8)(unsafe.Pointer(p))) { case 'n': @@ -176372,7 +176403,7 @@ func fts5ConfigSkipLiteral(tls *libc.TLS, pIn uintptr) uintptr { /* sqlite3.c:22 // the character immediately following it. Or, if the close-quote is not // found, -1 is returned. If -1 is returned, the buffer is left in an // undefined state. -func fts5Dequote(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:220310:12: */ +func fts5Dequote(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:220367:12: */ var q int8 var iIn int32 = 1 var iOut int32 = 0 @@ -176417,7 +176448,7 @@ func fts5Dequote(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:220310:12: */ // 'xyz' becomes xyz // [pqr] becomes pqr // `mno` becomes mno -func sqlite3Fts5Dequote(tls *libc.TLS, z uintptr) { /* sqlite3.c:220355:13: */ +func sqlite3Fts5Dequote(tls *libc.TLS, z uintptr) { /* sqlite3.c:220412:13: */ var quote int8 // Quote character (if any ) quote = *(*int8)(unsafe.Pointer(z)) @@ -176429,11 +176460,11 @@ func sqlite3Fts5Dequote(tls *libc.TLS, z uintptr) { /* sqlite3.c:220355:13: */ type Fts5Enum1 = struct { FzName uintptr FeVal int32 -} /* sqlite3.c:220366:1 */ +} /* sqlite3.c:220423:1 */ -type Fts5Enum = Fts5Enum1 /* sqlite3.c:220370:25 */ +type Fts5Enum = Fts5Enum1 /* sqlite3.c:220427:25 */ -func fts5ConfigSetEnum(tls *libc.TLS, aEnum uintptr, zEnum uintptr, peVal uintptr) int32 { /* sqlite3.c:220372:12: */ +func fts5ConfigSetEnum(tls *libc.TLS, aEnum uintptr, zEnum uintptr, peVal uintptr) int32 { /* sqlite3.c:220429:12: */ var nEnum int32 = int32(libc.Xstrlen(tls, zEnum)) var i int32 var iVal int32 = -1 @@ -176461,7 +176492,7 @@ func fts5ConfigSetEnum(tls *libc.TLS, aEnum uintptr, zEnum uintptr, peVal uintpt // an error occurs, an SQLite error code is returned and an error message // may be left in *pzErr. It is the responsibility of the caller to // eventually free any such error message using sqlite3_free(). -func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCmd uintptr, zArg uintptr, pzErr uintptr) int32 { /* sqlite3.c:220401:12: */ +func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCmd uintptr, zArg uintptr, pzErr uintptr) int32 { /* sqlite3.c:220458:12: */ bp := tls.Alloc(76) defer tls.Free(76) @@ -176624,7 +176655,7 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm // Allocate an instance of the default tokenizer ("simple") at // Fts5Config.pTokenizer. Return SQLITE_OK if successful, or an SQLite error // code if an error occurs. -func fts5ConfigDefaultTokenizer(tls *libc.TLS, pGlobal uintptr, pConfig uintptr) int32 { /* sqlite3.c:220565:12: */ +func fts5ConfigDefaultTokenizer(tls *libc.TLS, pGlobal uintptr, pConfig uintptr) int32 { /* sqlite3.c:220622:12: */ return sqlite3Fts5GetTokenizer(tls, pGlobal, uintptr(0), 0, pConfig, uintptr(0)) } @@ -176642,7 +176673,7 @@ func fts5ConfigDefaultTokenizer(tls *libc.TLS, pGlobal uintptr, pConfig uintptr) // a no-op (NULL is returned). Otherwise, if an OOM occurs within this // function, *pRc is set to SQLITE_NOMEM before returning. *pRc is *not* // set if a parse error (failed to find close quote) occurs. -func fts5ConfigGobbleWord(tls *libc.TLS, pRc uintptr, zIn uintptr, pzOut uintptr, pbQuoted uintptr) uintptr { /* sqlite3.c:220585:19: */ +func fts5ConfigGobbleWord(tls *libc.TLS, pRc uintptr, zIn uintptr, pzOut uintptr, pbQuoted uintptr) uintptr { /* sqlite3.c:220642:19: */ var zRet uintptr = uintptr(0) var nIn Sqlite3_int64 = Sqlite3_int64(libc.Xstrlen(tls, zIn)) @@ -176676,7 +176707,7 @@ func fts5ConfigGobbleWord(tls *libc.TLS, pRc uintptr, zIn uintptr, pzOut uintptr return zRet } -func fts5ConfigParseColumn(tls *libc.TLS, p uintptr, zCol uintptr, zArg uintptr, pzErr uintptr) int32 { /* sqlite3.c:220625:12: */ +func fts5ConfigParseColumn(tls *libc.TLS, p uintptr, zCol uintptr, zArg uintptr, pzErr uintptr) int32 { /* sqlite3.c:220682:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -176699,7 +176730,7 @@ func fts5ConfigParseColumn(tls *libc.TLS, p uintptr, zCol uintptr, zArg uintptr, } // Populate the Fts5Config.zContentExprlist string. -func fts5ConfigMakeExprlist(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:220653:12: */ +func fts5ConfigMakeExprlist(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:220710:12: */ bp := tls.Alloc(40) defer tls.Free(40) @@ -176732,7 +176763,7 @@ func fts5ConfigMakeExprlist(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:22065 // returned, *ppOut is set to NULL and an error message may be left in // *pzErr. It is the responsibility of the caller to eventually free any // such error message using sqlite3_free(). -func sqlite3Fts5ConfigParse(tls *libc.TLS, pGlobal uintptr, db uintptr, nArg int32, azArg uintptr, ppOut uintptr, pzErr uintptr) int32 { /* sqlite3.c:220686:12: */ +func sqlite3Fts5ConfigParse(tls *libc.TLS, pGlobal uintptr, db uintptr, nArg int32, azArg uintptr, ppOut uintptr, pzErr uintptr) int32 { /* sqlite3.c:220743:12: */ bp := tls.Alloc(60) defer tls.Free(60) @@ -176865,7 +176896,7 @@ func sqlite3Fts5ConfigParse(tls *libc.TLS, pGlobal uintptr, db uintptr, nArg int } // Free the configuration object passed as the only argument. -func sqlite3Fts5ConfigFree(tls *libc.TLS, pConfig uintptr) { /* sqlite3.c:220810:13: */ +func sqlite3Fts5ConfigFree(tls *libc.TLS, pConfig uintptr) { /* sqlite3.c:220867:13: */ if pConfig != 0 { var i int32 if (*Fts5Config)(unsafe.Pointer(pConfig)).FpTok != 0 { @@ -176890,7 +176921,7 @@ func sqlite3Fts5ConfigFree(tls *libc.TLS, pConfig uintptr) { /* sqlite3.c:220810 // Call sqlite3_declare_vtab() based on the contents of the configuration // object passed as the only argument. Return SQLITE_OK if successful, or // an SQLite error code if an error occurs. -func sqlite3Fts5ConfigDeclareVtab(tls *libc.TLS, pConfig uintptr) int32 { /* sqlite3.c:220837:12: */ +func sqlite3Fts5ConfigDeclareVtab(tls *libc.TLS, pConfig uintptr) int32 { /* sqlite3.c:220894:12: */ bp := tls.Alloc(52) defer tls.Free(52) @@ -176940,7 +176971,7 @@ func sqlite3Fts5ConfigDeclareVtab(tls *libc.TLS, pConfig uintptr) int32 { /* sql // still returns SQLITE_OK. Or, if the tokenization was abandoned early // 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) int32 { /* sqlite3.c:220883:12: */ +func sqlite3Fts5Tokenize(tls *libc.TLS, pConfig uintptr, flags int32, pText uintptr, nText int32, pCtx uintptr, xToken uintptr) int32 { /* sqlite3.c:220940:12: */ if pText == uintptr(0) { return SQLITE_OK } @@ -176954,7 +176985,7 @@ func sqlite3Fts5Tokenize(tls *libc.TLS, pConfig uintptr, flags int32, pText uint // a comma-separated list of SQL literals followed by a ')' character. // If it actually is this, return a pointer to the ')'. Otherwise, return // NULL to indicate a parse error. -func fts5ConfigSkipArgs(tls *libc.TLS, pIn uintptr) uintptr { /* sqlite3.c:220902:19: */ +func fts5ConfigSkipArgs(tls *libc.TLS, pIn uintptr) uintptr { /* sqlite3.c:220959:19: */ var p uintptr = pIn for 1 != 0 { @@ -176981,7 +177012,7 @@ func fts5ConfigSkipArgs(tls *libc.TLS, pIn uintptr) uintptr { /* sqlite3.c:22090 // + Open parenthesis - "(" // + Zero or more SQL literals in a comma separated list // + Close parenthesis - ")" -func sqlite3Fts5ConfigParseRank(tls *libc.TLS, zIn uintptr, pzRank uintptr, pzRankArgs uintptr) int32 { /* sqlite3.c:220929:12: */ +func sqlite3Fts5ConfigParseRank(tls *libc.TLS, zIn uintptr, pzRank uintptr, pzRankArgs uintptr) int32 { /* sqlite3.c:220986:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -177045,7 +177076,7 @@ func sqlite3Fts5ConfigParseRank(tls *libc.TLS, zIn uintptr, pzRank uintptr, pzRa return *(*int32)(unsafe.Pointer(bp /* rc */)) } -func sqlite3Fts5ConfigSetValue(tls *libc.TLS, pConfig uintptr, zKey uintptr, pVal uintptr, pbBadkey uintptr) int32 { /* sqlite3.c:220988:12: */ +func sqlite3Fts5ConfigSetValue(tls *libc.TLS, pConfig uintptr, zKey uintptr, pVal uintptr, pbBadkey uintptr) int32 { /* sqlite3.c:221045:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -177133,7 +177164,7 @@ func sqlite3Fts5ConfigSetValue(tls *libc.TLS, pConfig uintptr, zKey uintptr, pVa } // Load the contents of the %_config table into memory. -func sqlite3Fts5ConfigLoad(tls *libc.TLS, pConfig uintptr, iCookie int32) int32 { /* sqlite3.c:221082:12: */ +func sqlite3Fts5ConfigLoad(tls *libc.TLS, pConfig uintptr, iCookie int32) int32 { /* sqlite3.c:221139:12: */ bp := tls.Alloc(44) defer tls.Free(44) @@ -177210,7 +177241,7 @@ type Fts5ExprTerm1 = struct { FzTerm uintptr FpIter uintptr FpSynonym uintptr -} /* sqlite3.c:216813:9 */ +} /* sqlite3.c:216870:9 */ // 2014 May 31 // @@ -177229,9 +177260,9 @@ type Fts5ExprTerm1 = struct { // All token types in the generated fts5parse.h file are greater than 0. -type Fts5ExprTerm = Fts5ExprTerm1 /* sqlite3.c:221160:29 */ +type Fts5ExprTerm = Fts5ExprTerm1 /* sqlite3.c:221217:29 */ -func sqlite3Fts5ParseError(tls *libc.TLS, pParse uintptr, zFmt uintptr, va uintptr) { /* sqlite3.c:221267:13: */ +func sqlite3Fts5ParseError(tls *libc.TLS, pParse uintptr, zFmt uintptr, va uintptr) { /* sqlite3.c:221324:13: */ var ap Va_list _ = ap ap = va @@ -177243,12 +177274,12 @@ func sqlite3Fts5ParseError(tls *libc.TLS, pParse uintptr, zFmt uintptr, va uintp _ = ap } -func fts5ExprIsspace(tls *libc.TLS, t int8) int32 { /* sqlite3.c:221278:12: */ +func fts5ExprIsspace(tls *libc.TLS, t int8) int32 { /* sqlite3.c:221335:12: */ return libc.Bool32(int32(t) == ' ' || int32(t) == '\t' || int32(t) == '\n' || int32(t) == '\r') } // Read the first token from the nul-terminated string at *pz. -func fts5ExprGetToken(tls *libc.TLS, pParse uintptr, pz uintptr, pToken uintptr) int32 { /* sqlite3.c:221285:12: */ +func fts5ExprGetToken(tls *libc.TLS, pParse uintptr, pz uintptr, pToken uintptr) int32 { /* sqlite3.c:221342:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -177348,15 +177379,15 @@ func fts5ExprGetToken(tls *libc.TLS, pParse uintptr, pz uintptr, pToken uintptr) return tok } -func fts5ParseAlloc(tls *libc.TLS, t U64) uintptr { /* sqlite3.c:221349:13: */ +func fts5ParseAlloc(tls *libc.TLS, t U64) uintptr { /* sqlite3.c:221406:13: */ return Xsqlite3_malloc64(tls, uint64(Sqlite3_int64(t))) } -func fts5ParseFree(tls *libc.TLS, p uintptr) { /* sqlite3.c:221350:13: */ +func fts5ParseFree(tls *libc.TLS, p uintptr) { /* sqlite3.c:221407:13: */ Xsqlite3_free(tls, p) } -func sqlite3Fts5ExprNew(tls *libc.TLS, pConfig uintptr, bPhraseToAnd int32, iCol int32, zExpr uintptr, ppNew uintptr, pzErr uintptr) int32 { /* sqlite3.c:221352:12: */ +func sqlite3Fts5ExprNew(tls *libc.TLS, pConfig uintptr, bPhraseToAnd int32, iCol int32, zExpr uintptr, ppNew uintptr, pzErr uintptr) int32 { /* sqlite3.c:221409:12: */ bp := tls.Alloc(40) defer tls.Free(40) @@ -177434,7 +177465,7 @@ func sqlite3Fts5ExprNew(tls *libc.TLS, pConfig uintptr, bPhraseToAnd int32, iCol // expression that will match a superset of the rows matched by the LIKE or // GLOB. If successful, SQLITE_OK is returned. Otherwise, an SQLite error // code. -func sqlite3Fts5ExprPattern(tls *libc.TLS, pConfig uintptr, bGlob int32, iCol int32, zText uintptr, pp uintptr) int32 { /* sqlite3.c:221433:12: */ +func sqlite3Fts5ExprPattern(tls *libc.TLS, pConfig uintptr, bGlob int32, iCol int32, zText uintptr, pp uintptr) int32 { /* sqlite3.c:221490:12: */ bp := tls.Alloc(3) defer tls.Free(3) @@ -177509,7 +177540,7 @@ func sqlite3Fts5ExprPattern(tls *libc.TLS, pConfig uintptr, bGlob int32, iCol in } // Free the expression node object passed as the only argument. -func sqlite3Fts5ParseNodeFree(tls *libc.TLS, p uintptr) { /* sqlite3.c:221503:13: */ +func sqlite3Fts5ParseNodeFree(tls *libc.TLS, p uintptr) { /* sqlite3.c:221560:13: */ if p != 0 { var i int32 for i = 0; i < (*Fts5ExprNode)(unsafe.Pointer(p)).FnChild; i++ { @@ -177521,7 +177552,7 @@ func sqlite3Fts5ParseNodeFree(tls *libc.TLS, p uintptr) { /* sqlite3.c:221503:13 } // Free the expression object passed as the only argument. -func sqlite3Fts5ExprFree(tls *libc.TLS, p uintptr) { /* sqlite3.c:221517:13: */ +func sqlite3Fts5ExprFree(tls *libc.TLS, p uintptr) { /* sqlite3.c:221574:13: */ if p != 0 { sqlite3Fts5ParseNodeFree(tls, (*Fts5Expr)(unsafe.Pointer(p)).FpRoot) Xsqlite3_free(tls, (*Fts5Expr)(unsafe.Pointer(p)).FapExprPhrase) @@ -177529,7 +177560,7 @@ func sqlite3Fts5ExprFree(tls *libc.TLS, p uintptr) { /* sqlite3.c:221517:13: */ } } -func sqlite3Fts5ExprAnd(tls *libc.TLS, pp1 uintptr, p2 uintptr) int32 { /* sqlite3.c:221525:12: */ +func sqlite3Fts5ExprAnd(tls *libc.TLS, pp1 uintptr, p2 uintptr) int32 { /* sqlite3.c:221582:12: */ bp := tls.Alloc(28) defer tls.Free(28) @@ -177570,7 +177601,7 @@ func sqlite3Fts5ExprAnd(tls *libc.TLS, pp1 uintptr, p2 uintptr) int32 { /* sqlit // Argument pTerm must be a synonym iterator. Return the current rowid // that it points to. -func fts5ExprSynonymRowid(tls *libc.TLS, pTerm uintptr, bDesc int32, pbEof uintptr) I64 { /* sqlite3.c:221565:12: */ +func fts5ExprSynonymRowid(tls *libc.TLS, pTerm uintptr, bDesc int32, pbEof uintptr) I64 { /* sqlite3.c:221622:12: */ var iRet I64 = int64(0) var bRetValid int32 = 0 var p uintptr @@ -177592,7 +177623,7 @@ func fts5ExprSynonymRowid(tls *libc.TLS, pTerm uintptr, bDesc int32, pbEof uintp } // Argument pTerm must be a synonym iterator. -func fts5ExprSynonymList(tls *libc.TLS, pTerm uintptr, iRowid I64, pBuf uintptr, pa uintptr, pn uintptr) int32 { /* sqlite3.c:221590:12: */ +func fts5ExprSynonymList(tls *libc.TLS, pTerm uintptr, iRowid I64, pBuf uintptr, pa uintptr, pn uintptr) int32 { /* sqlite3.c:221647:12: */ bp := tls.Alloc(104) defer tls.Free(104) @@ -177756,7 +177787,7 @@ __22: // SQLITE_OK is returned if an error occurs, or an SQLite error code // otherwise. It is not considered an error code if the current rowid is // not a match. -func fts5ExprPhraseIsMatch(tls *libc.TLS, pNode uintptr, pPhrase uintptr, pbMatch uintptr) int32 { /* sqlite3.c:221673:12: */ +func fts5ExprPhraseIsMatch(tls *libc.TLS, pNode uintptr, pPhrase uintptr, pbMatch uintptr) int32 { /* sqlite3.c:221730:12: */ bp := tls.Alloc(124) defer tls.Free(124) @@ -177981,11 +178012,11 @@ type Fts5LookaheadReader1 = struct { Fi int32 FiPos I64 FiLookahead I64 -} /* sqlite3.c:221757:9 */ +} /* sqlite3.c:221814:9 */ -type Fts5LookaheadReader = Fts5LookaheadReader1 /* sqlite3.c:221757:36 */ +type Fts5LookaheadReader = Fts5LookaheadReader1 /* sqlite3.c:221814:36 */ -func fts5LookaheadReaderNext(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:221768:12: */ +func fts5LookaheadReaderNext(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:221825:12: */ (*Fts5LookaheadReader)(unsafe.Pointer(p)).FiPos = (*Fts5LookaheadReader)(unsafe.Pointer(p)).FiLookahead if sqlite3Fts5PoslistNext64(tls, (*Fts5LookaheadReader)(unsafe.Pointer(p)).Fa, (*Fts5LookaheadReader)(unsafe.Pointer(p)).Fn, p+8, p+20) != 0 { (*Fts5LookaheadReader)(unsafe.Pointer(p)).FiLookahead = I64(int64(1)) << 62 @@ -177993,7 +178024,7 @@ func fts5LookaheadReaderNext(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:2217 return libc.Bool32((*Fts5LookaheadReader)(unsafe.Pointer(p)).FiPos == I64(int64(1))<<62) } -func fts5LookaheadReaderInit(tls *libc.TLS, a uintptr, n int32, p uintptr) int32 { /* sqlite3.c:221776:12: */ +func fts5LookaheadReaderInit(tls *libc.TLS, a uintptr, n int32, p uintptr) int32 { /* sqlite3.c:221833:12: */ libc.Xmemset(tls, p, 0, uint32(unsafe.Sizeof(Fts5LookaheadReader{}))) (*Fts5LookaheadReader)(unsafe.Pointer(p)).Fa = a (*Fts5LookaheadReader)(unsafe.Pointer(p)).Fn = n @@ -178005,9 +178036,9 @@ type Fts5NearTrimmer1 = struct { Freader Fts5LookaheadReader Fwriter Fts5PoslistWriter FpOut uintptr -} /* sqlite3.c:221787:9 */ +} /* sqlite3.c:221844:9 */ -type Fts5NearTrimmer = Fts5NearTrimmer1 /* sqlite3.c:221787:32 */ +type Fts5NearTrimmer = Fts5NearTrimmer1 /* sqlite3.c:221844:32 */ // The near-set object passed as the first argument contains more than // one phrase. All phrases currently point to the same row. The @@ -178024,7 +178055,7 @@ type Fts5NearTrimmer = Fts5NearTrimmer1 /* sqlite3.c:221787:32 */ // If no error occurs and non-zero (a match) is returned, the position-list // of each phrase object is edited to contain only those entries that // meet the constraint before returning. -func fts5ExprNearIsMatch(tls *libc.TLS, pRc uintptr, pNear uintptr) int32 { /* sqlite3.c:221811:12: */ +func fts5ExprNearIsMatch(tls *libc.TLS, pRc uintptr, pNear uintptr) int32 { /* sqlite3.c:221868:12: */ bp := tls.Alloc(164) defer tls.Free(164) @@ -178226,7 +178257,7 @@ __29: // If the iterator reaches EOF, set *pbEof to true before returning. If // an error occurs, set *pRc to an error code. If either *pbEof or *pRc // are set, return a non-zero value. Otherwise, return zero. -func fts5ExprAdvanceto(tls *libc.TLS, pIter uintptr, bDesc int32, piLast uintptr, pRc uintptr, pbEof uintptr) int32 { /* sqlite3.c:221910:12: */ +func fts5ExprAdvanceto(tls *libc.TLS, pIter uintptr, bDesc int32, piLast uintptr, pRc uintptr, pbEof uintptr) int32 { /* sqlite3.c:221967:12: */ var iLast I64 = *(*I64)(unsafe.Pointer(piLast)) var iRowid I64 @@ -178246,7 +178277,7 @@ func fts5ExprAdvanceto(tls *libc.TLS, pIter uintptr, bDesc int32, piLast uintptr return 0 } -func fts5ExprSynonymAdvanceto(tls *libc.TLS, pTerm uintptr, bDesc int32, piLast uintptr, pRc uintptr) int32 { /* sqlite3.c:221936:12: */ +func fts5ExprSynonymAdvanceto(tls *libc.TLS, pTerm uintptr, bDesc int32, piLast uintptr, pRc uintptr) int32 { /* sqlite3.c:221993:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -178273,7 +178304,7 @@ func fts5ExprSynonymAdvanceto(tls *libc.TLS, pTerm uintptr, bDesc int32, piLast return *(*int32)(unsafe.Pointer(bp /* bEof */)) } -func fts5ExprNearTest(tls *libc.TLS, pRc uintptr, pExpr uintptr, pNode uintptr) int32 { /* sqlite3.c:221966:12: */ +func fts5ExprNearTest(tls *libc.TLS, pRc uintptr, pExpr uintptr, pNode uintptr) int32 { /* sqlite3.c:222023:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -178330,7 +178361,7 @@ func fts5ExprNearTest(tls *libc.TLS, pRc uintptr, pExpr uintptr, pNode uintptr) // If an error occurs, return an SQLite error code. Otherwise, return // SQLITE_OK. It is not considered an error if some term matches zero // documents. -func fts5ExprNearInitAll(tls *libc.TLS, pExpr uintptr, pNode uintptr) int32 { /* sqlite3.c:222025:12: */ +func fts5ExprNearInitAll(tls *libc.TLS, pExpr uintptr, pNode uintptr) int32 { /* sqlite3.c:222082:12: */ var pNear uintptr = (*Fts5ExprNode)(unsafe.Pointer(pNode)).FpNear var i int32 @@ -178396,7 +178427,7 @@ func fts5ExprNearInitAll(tls *libc.TLS, pExpr uintptr, pNode uintptr) int32 { /* // Otherwise, if this is a DESC iterator, the opposite is returned: // // (iRhs - iLhs) -func fts5RowidCmp(tls *libc.TLS, pExpr uintptr, iLhs I64, iRhs I64) int32 { /* sqlite3.c:222087:12: */ +func fts5RowidCmp(tls *libc.TLS, pExpr uintptr, iLhs I64, iRhs I64) int32 { /* sqlite3.c:222144:12: */ if (*Fts5Expr)(unsafe.Pointer(pExpr)).FbDesc == 0 { if iLhs < iRhs { @@ -178412,7 +178443,7 @@ func fts5RowidCmp(tls *libc.TLS, pExpr uintptr, iLhs I64, iRhs I64) int32 { /* s return int32(0) } -func fts5ExprSetEof(tls *libc.TLS, pNode uintptr) { /* sqlite3.c:222102:13: */ +func fts5ExprSetEof(tls *libc.TLS, pNode uintptr) { /* sqlite3.c:222159:13: */ var i int32 (*Fts5ExprNode)(unsafe.Pointer(pNode)).FbEof = 1 (*Fts5ExprNode)(unsafe.Pointer(pNode)).FbNomatch = 0 @@ -178421,7 +178452,7 @@ func fts5ExprSetEof(tls *libc.TLS, pNode uintptr) { /* sqlite3.c:222102:13: */ } } -func fts5ExprNodeZeroPoslist(tls *libc.TLS, pNode uintptr) { /* sqlite3.c:222111:13: */ +func fts5ExprNodeZeroPoslist(tls *libc.TLS, pNode uintptr) { /* sqlite3.c:222168:13: */ if (*Fts5ExprNode)(unsafe.Pointer(pNode)).FeType == FTS5_STRING || (*Fts5ExprNode)(unsafe.Pointer(pNode)).FeType == FTS5_TERM { var pNear uintptr = (*Fts5ExprNode)(unsafe.Pointer(pNode)).FpNear var i int32 @@ -178447,7 +178478,7 @@ func fts5ExprNodeZeroPoslist(tls *libc.TLS, pNode uintptr) { /* sqlite3.c:222111 // This means that if the iteration order is ASC, then numerically larger // rowids are considered larger. Or if it is the default DESC, numerically // smaller rowids are larger. -func fts5NodeCompare(tls *libc.TLS, pExpr uintptr, p1 uintptr, p2 uintptr) int32 { /* sqlite3.c:222141:12: */ +func fts5NodeCompare(tls *libc.TLS, pExpr uintptr, p1 uintptr, p2 uintptr) int32 { /* sqlite3.c:222198:12: */ if (*Fts5ExprNode)(unsafe.Pointer(p2)).FbEof != 0 { return -1 } @@ -178466,7 +178497,7 @@ func fts5NodeCompare(tls *libc.TLS, pExpr uintptr, p1 uintptr, p2 uintptr) int32 // SQLITE_OK is returned if an error occurs, or an SQLite error code // otherwise. It is not considered an error code if an iterator reaches // EOF. -func fts5ExprNodeTest_STRING(tls *libc.TLS, pExpr uintptr, pNode uintptr) int32 { /* sqlite3.c:222162:12: */ +func fts5ExprNodeTest_STRING(tls *libc.TLS, pExpr uintptr, pNode uintptr) int32 { /* sqlite3.c:222219:12: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -178534,7 +178565,7 @@ func fts5ExprNodeTest_STRING(tls *libc.TLS, pExpr uintptr, pNode uintptr) int32 // // Return SQLITE_OK if successful, or an SQLite error code if an error // occurs. -func fts5ExprNodeNext_STRING(tls *libc.TLS, pExpr uintptr, pNode uintptr, bFromValid int32, iFrom I64) int32 { /* sqlite3.c:222232:12: */ +func fts5ExprNodeNext_STRING(tls *libc.TLS, pExpr uintptr, pNode uintptr, bFromValid int32, iFrom I64) int32 { /* sqlite3.c:222289:12: */ var pTerm uintptr = *(*uintptr)(unsafe.Pointer((*Fts5ExprNode)(unsafe.Pointer(pNode)).FpNear + 12)) + 20 var rc int32 = SQLITE_OK @@ -178593,7 +178624,7 @@ func fts5ExprNodeNext_STRING(tls *libc.TLS, pExpr uintptr, pNode uintptr, bFromV return rc } -func fts5ExprNodeTest_TERM(tls *libc.TLS, pExpr uintptr, pNode uintptr) int32 { /* sqlite3.c:222297:12: */ +func fts5ExprNodeTest_TERM(tls *libc.TLS, pExpr uintptr, pNode uintptr) int32 { /* sqlite3.c:222354:12: */ // As this "NEAR" object is actually a single phrase that consists // of a single term only, grab pointers into the poslist managed by the // fts5_index.c iterator object. This is much faster than synthesizing @@ -178612,7 +178643,7 @@ func fts5ExprNodeTest_TERM(tls *libc.TLS, pExpr uintptr, pNode uintptr) int32 { } // xNext() method for a node of type FTS5_TERM. -func fts5ExprNodeNext_TERM(tls *libc.TLS, pExpr uintptr, pNode uintptr, bFromValid int32, iFrom I64) int32 { /* sqlite3.c:222325:12: */ +func fts5ExprNodeNext_TERM(tls *libc.TLS, pExpr uintptr, pNode uintptr, bFromValid int32, iFrom I64) int32 { /* sqlite3.c:222382:12: */ var rc int32 var pIter uintptr = (*Fts5ExprTerm)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer((*Fts5ExprNode)(unsafe.Pointer(pNode)).FpNear + 12)) + 20)).FpIter @@ -178630,7 +178661,7 @@ func fts5ExprNodeNext_TERM(tls *libc.TLS, pExpr uintptr, pNode uintptr, bFromVal return rc } -func fts5ExprNodeTest_OR(tls *libc.TLS, pExpr uintptr, pNode uintptr) { /* sqlite3.c:222349:13: */ +func fts5ExprNodeTest_OR(tls *libc.TLS, pExpr uintptr, pNode uintptr) { /* sqlite3.c:222406:13: */ var pNext uintptr = *(*uintptr)(unsafe.Pointer(pNode + 32)) var i int32 @@ -178646,7 +178677,7 @@ func fts5ExprNodeTest_OR(tls *libc.TLS, pExpr uintptr, pNode uintptr) { /* sqlit (*Fts5ExprNode)(unsafe.Pointer(pNode)).FbNomatch = (*Fts5ExprNode)(unsafe.Pointer(pNext)).FbNomatch } -func fts5ExprNodeNext_OR(tls *libc.TLS, pExpr uintptr, pNode uintptr, bFromValid int32, iFrom I64) int32 { /* sqlite3.c:222368:12: */ +func fts5ExprNodeNext_OR(tls *libc.TLS, pExpr uintptr, pNode uintptr, bFromValid int32, iFrom I64) int32 { /* sqlite3.c:222425:12: */ var i int32 var iLast I64 = (*Fts5ExprNode)(unsafe.Pointer(pNode)).FiRowid @@ -178672,7 +178703,7 @@ func fts5ExprNodeNext_OR(tls *libc.TLS, pExpr uintptr, pNode uintptr, bFromValid } // Argument pNode is an FTS5_AND node. -func fts5ExprNodeTest_AND(tls *libc.TLS, pExpr uintptr, pAnd uintptr) int32 { /* sqlite3.c:222400:12: */ +func fts5ExprNodeTest_AND(tls *libc.TLS, pExpr uintptr, pAnd uintptr) int32 { /* sqlite3.c:222457:12: */ var iChild int32 var iLast I64 = (*Fts5ExprNode)(unsafe.Pointer(pAnd)).FiRowid var rc int32 = SQLITE_OK @@ -178722,7 +178753,7 @@ func fts5ExprNodeTest_AND(tls *libc.TLS, pExpr uintptr, pAnd uintptr) int32 { /* return SQLITE_OK } -func fts5ExprNodeNext_AND(tls *libc.TLS, pExpr uintptr, pNode uintptr, bFromValid int32, iFrom I64) int32 { /* sqlite3.c:222452:12: */ +func fts5ExprNodeNext_AND(tls *libc.TLS, pExpr uintptr, pNode uintptr, bFromValid int32, iFrom I64) int32 { /* sqlite3.c:222509:12: */ var rc int32 = (*struct { f func(*libc.TLS, uintptr, uintptr, int32, I64) int32 })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExprNode)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pNode + 32 /* &.apChild */)))).FxNext})).f(tls, pExpr, *(*uintptr)(unsafe.Pointer(pNode + 32 /* &.apChild */)), bFromValid, iFrom) @@ -178734,7 +178765,7 @@ func fts5ExprNodeNext_AND(tls *libc.TLS, pExpr uintptr, pNode uintptr, bFromVali return rc } -func fts5ExprNodeTest_NOT(tls *libc.TLS, pExpr uintptr, pNode uintptr) int32 { /* sqlite3.c:222467:12: */ +func fts5ExprNodeTest_NOT(tls *libc.TLS, pExpr uintptr, pNode uintptr) int32 { /* sqlite3.c:222524:12: */ var rc int32 = SQLITE_OK var p1 uintptr = *(*uintptr)(unsafe.Pointer(pNode + 32)) var p2 uintptr = *(*uintptr)(unsafe.Pointer(pNode + 32 + 1*4)) @@ -178764,7 +178795,7 @@ func fts5ExprNodeTest_NOT(tls *libc.TLS, pExpr uintptr, pNode uintptr) int32 { / return rc } -func fts5ExprNodeNext_NOT(tls *libc.TLS, pExpr uintptr, pNode uintptr, bFromValid int32, iFrom I64) int32 { /* sqlite3.c:222495:12: */ +func fts5ExprNodeNext_NOT(tls *libc.TLS, pExpr uintptr, pNode uintptr, bFromValid int32, iFrom I64) int32 { /* sqlite3.c:222552:12: */ var rc int32 = (*struct { f func(*libc.TLS, uintptr, uintptr, int32, I64) int32 })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExprNode)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pNode + 32 /* &.apChild */)))).FxNext})).f(tls, pExpr, *(*uintptr)(unsafe.Pointer(pNode + 32 /* &.apChild */)), bFromValid, iFrom) @@ -178780,7 +178811,7 @@ func fts5ExprNodeNext_NOT(tls *libc.TLS, pExpr uintptr, pNode uintptr, bFromVali // If pNode currently points to a match, this function returns SQLITE_OK // without modifying it. Otherwise, pNode is advanced until it does point // to a match or EOF is reached. -func fts5ExprNodeTest(tls *libc.TLS, pExpr uintptr, pNode uintptr) int32 { /* sqlite3.c:222516:12: */ +func fts5ExprNodeTest(tls *libc.TLS, pExpr uintptr, pNode uintptr) int32 { /* sqlite3.c:222573:12: */ var rc int32 = SQLITE_OK if (*Fts5ExprNode)(unsafe.Pointer(pNode)).FbEof == 0 { switch (*Fts5ExprNode)(unsafe.Pointer(pNode)).FeType { @@ -178833,7 +178864,7 @@ func fts5ExprNodeTest(tls *libc.TLS, pExpr uintptr, pNode uintptr) int32 { /* sq // // Return an SQLite error code if an error occurs, or SQLITE_OK otherwise. // It is not an error if there are no matches. -func fts5ExprNodeFirst(tls *libc.TLS, pExpr uintptr, pNode uintptr) int32 { /* sqlite3.c:222561:12: */ +func fts5ExprNodeFirst(tls *libc.TLS, pExpr uintptr, pNode uintptr) int32 { /* sqlite3.c:222618:12: */ var rc int32 = SQLITE_OK (*Fts5ExprNode)(unsafe.Pointer(pNode)).FbEof = 0 (*Fts5ExprNode)(unsafe.Pointer(pNode)).FbNomatch = 0 @@ -178895,7 +178926,7 @@ func fts5ExprNodeFirst(tls *libc.TLS, pExpr uintptr, pNode uintptr) int32 { /* s // // Return SQLITE_OK if successful, or an SQLite error code otherwise. It // is not considered an error if the query does not match any documents. -func sqlite3Fts5ExprFirst(tls *libc.TLS, p uintptr, pIdx uintptr, iFirst I64, bDesc int32) int32 { /* sqlite3.c:222620:12: */ +func sqlite3Fts5ExprFirst(tls *libc.TLS, p uintptr, pIdx uintptr, iFirst I64, bDesc int32) int32 { /* sqlite3.c:222677:12: */ var pRoot uintptr = (*Fts5Expr)(unsafe.Pointer(p)).FpRoot var rc int32 // Return code @@ -178927,7 +178958,7 @@ func sqlite3Fts5ExprFirst(tls *libc.TLS, p uintptr, pIdx uintptr, iFirst I64, bD // // Return SQLITE_OK if successful, or an SQLite error code otherwise. It // is not considered an error if the query does not match any documents. -func sqlite3Fts5ExprNext(tls *libc.TLS, p uintptr, iLast I64) int32 { /* sqlite3.c:222651:12: */ +func sqlite3Fts5ExprNext(tls *libc.TLS, p uintptr, iLast I64) int32 { /* sqlite3.c:222708:12: */ var rc int32 var pRoot uintptr = (*Fts5Expr)(unsafe.Pointer(p)).FpRoot @@ -178943,15 +178974,15 @@ func sqlite3Fts5ExprNext(tls *libc.TLS, p uintptr, iLast I64) int32 { /* sqlite3 return rc } -func sqlite3Fts5ExprEof(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:222665:12: */ +func sqlite3Fts5ExprEof(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:222722:12: */ return (*Fts5ExprNode)(unsafe.Pointer((*Fts5Expr)(unsafe.Pointer(p)).FpRoot)).FbEof } -func sqlite3Fts5ExprRowid(tls *libc.TLS, p uintptr) I64 { /* sqlite3.c:222669:12: */ +func sqlite3Fts5ExprRowid(tls *libc.TLS, p uintptr) I64 { /* sqlite3.c:222726:12: */ return (*Fts5ExprNode)(unsafe.Pointer((*Fts5Expr)(unsafe.Pointer(p)).FpRoot)).FiRowid } -func fts5ParseStringFromToken(tls *libc.TLS, pToken uintptr, pz uintptr) int32 { /* sqlite3.c:222673:12: */ +func fts5ParseStringFromToken(tls *libc.TLS, pToken uintptr, pz uintptr) int32 { /* sqlite3.c:222730:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -178961,7 +178992,7 @@ func fts5ParseStringFromToken(tls *libc.TLS, pToken uintptr, pz uintptr) int32 { } // Free the phrase object passed as the only argument. -func fts5ExprPhraseFree(tls *libc.TLS, pPhrase uintptr) { /* sqlite3.c:222682:13: */ +func fts5ExprPhraseFree(tls *libc.TLS, pPhrase uintptr) { /* sqlite3.c:222739:13: */ if pPhrase != 0 { var i int32 for i = 0; i < (*Fts5ExprPhrase)(unsafe.Pointer(pPhrase)).FnTerm; i++ { @@ -178986,7 +179017,7 @@ func fts5ExprPhraseFree(tls *libc.TLS, pPhrase uintptr) { /* sqlite3.c:222682:13 // Set the "bFirst" flag on the first token of the phrase passed as the // only argument. -func sqlite3Fts5ParseSetCaret(tls *libc.TLS, pPhrase uintptr) { /* sqlite3.c:222707:13: */ +func sqlite3Fts5ParseSetCaret(tls *libc.TLS, pPhrase uintptr) { /* sqlite3.c:222764:13: */ if pPhrase != 0 && (*Fts5ExprPhrase)(unsafe.Pointer(pPhrase)).FnTerm != 0 { (*Fts5ExprTerm)(unsafe.Pointer(pPhrase + 20)).FbFirst = U8(1) } @@ -178998,7 +179029,7 @@ func sqlite3Fts5ParseSetCaret(tls *libc.TLS, pPhrase uintptr) { /* sqlite3.c:222 // // If an OOM error occurs, both the pNear and pPhrase objects are freed and // NULL returned. -func sqlite3Fts5ParseNearset(tls *libc.TLS, pParse uintptr, pNear uintptr, pPhrase uintptr) uintptr { /* sqlite3.c:222721:24: */ +func sqlite3Fts5ParseNearset(tls *libc.TLS, pParse uintptr, pNear uintptr, pPhrase uintptr) uintptr { /* sqlite3.c:222778:24: */ var SZALLOC int32 = 8 var pRet uintptr = uintptr(0) @@ -179057,12 +179088,12 @@ func sqlite3Fts5ParseNearset(tls *libc.TLS, pParse uintptr, pNear uintptr, pPhra type TokenCtx1 = struct { FpPhrase uintptr Frc int32 -} /* sqlite3.c:222781:9 */ +} /* sqlite3.c:222838:9 */ -type TokenCtx = TokenCtx1 /* sqlite3.c:222781:25 */ +type TokenCtx = TokenCtx1 /* sqlite3.c:222838:25 */ // Callback for tokenizing terms used by ParseTerm(). -func fts5ParseTokenize(tls *libc.TLS, pContext uintptr, tflags int32, pToken uintptr, nToken int32, iUnused1 int32, iUnused2 int32) int32 { /* sqlite3.c:222790:12: */ +func fts5ParseTokenize(tls *libc.TLS, pContext uintptr, tflags int32, pToken uintptr, nToken int32, iUnused1 int32, iUnused2 int32) int32 { /* sqlite3.c:222847:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -179131,12 +179162,12 @@ func fts5ParseTokenize(tls *libc.TLS, pContext uintptr, tflags int32, pToken uin } // Free the phrase object passed as the only argument. -func sqlite3Fts5ParsePhraseFree(tls *libc.TLS, pPhrase uintptr) { /* sqlite3.c:222855:13: */ +func sqlite3Fts5ParsePhraseFree(tls *libc.TLS, pPhrase uintptr) { /* sqlite3.c:222912:13: */ fts5ExprPhraseFree(tls, pPhrase) } // Free the phrase object passed as the second argument. -func sqlite3Fts5ParseNearsetFree(tls *libc.TLS, pNear uintptr) { /* sqlite3.c:222862:13: */ +func sqlite3Fts5ParseNearsetFree(tls *libc.TLS, pNear uintptr) { /* sqlite3.c:222919:13: */ if pNear != 0 { var i int32 for i = 0; i < (*Fts5ExprNearset)(unsafe.Pointer(pNear)).FnPhrase; i++ { @@ -179147,12 +179178,12 @@ func sqlite3Fts5ParseNearsetFree(tls *libc.TLS, pNear uintptr) { /* sqlite3.c:22 } } -func sqlite3Fts5ParseFinished(tls *libc.TLS, pParse uintptr, p uintptr) { /* sqlite3.c:222873:13: */ +func sqlite3Fts5ParseFinished(tls *libc.TLS, pParse uintptr, p uintptr) { /* sqlite3.c:222930:13: */ (*Fts5Parse)(unsafe.Pointer(pParse)).FpExpr = p } -func parseGrowPhraseArray(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:222878:12: */ +func parseGrowPhraseArray(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:222935:12: */ if (*Fts5Parse)(unsafe.Pointer(pParse)).FnPhrase%8 == 0 { var nByte Sqlite3_int64 = Sqlite3_int64(uint32(unsafe.Sizeof(uintptr(0))) * uint32((*Fts5Parse)(unsafe.Pointer(pParse)).FnPhrase+8)) var apNew uintptr @@ -179169,7 +179200,7 @@ func parseGrowPhraseArray(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:22 // This function is called by the parser to process a string token. The // string may or may not be quoted. In any case it is tokenized and a // phrase object consisting of all tokens returned. -func sqlite3Fts5ParseTerm(tls *libc.TLS, pParse uintptr, pAppend uintptr, pToken uintptr, bPrefix int32) uintptr { /* sqlite3.c:222897:23: */ +func sqlite3Fts5ParseTerm(tls *libc.TLS, pParse uintptr, pAppend uintptr, pToken uintptr, bPrefix int32) uintptr { /* sqlite3.c:222954:23: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -179227,7 +179258,7 @@ func sqlite3Fts5ParseTerm(tls *libc.TLS, pParse uintptr, pAppend uintptr, pToken // Create a new FTS5 expression by cloning phrase iPhrase of the // expression passed as the second argument. -func sqlite3Fts5ExprClonePhrase(tls *libc.TLS, pExpr uintptr, iPhrase int32, ppNew uintptr) int32 { /* sqlite3.c:222951:12: */ +func sqlite3Fts5ExprClonePhrase(tls *libc.TLS, pExpr uintptr, iPhrase int32, ppNew uintptr) int32 { /* sqlite3.c:223008:12: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -179322,7 +179353,7 @@ func sqlite3Fts5ExprClonePhrase(tls *libc.TLS, pExpr uintptr, iPhrase int32, ppN // Token pTok has appeared in a MATCH expression where the NEAR operator // is expected. If token pTok does not contain "NEAR", store an error // in the pParse object. -func sqlite3Fts5ParseNear(tls *libc.TLS, pParse uintptr, pTok uintptr) { /* sqlite3.c:223047:13: */ +func sqlite3Fts5ParseNear(tls *libc.TLS, pParse uintptr, pTok uintptr) { /* sqlite3.c:223104:13: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -179332,7 +179363,7 @@ func sqlite3Fts5ParseNear(tls *libc.TLS, pParse uintptr, pTok uintptr) { /* sqli } } -func sqlite3Fts5ParseSetDistance(tls *libc.TLS, pParse uintptr, pNear uintptr, p uintptr) { /* sqlite3.c:223055:13: */ +func sqlite3Fts5ParseSetDistance(tls *libc.TLS, pParse uintptr, pNear uintptr, p uintptr) { /* sqlite3.c:223112:13: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -179363,7 +179394,7 @@ func sqlite3Fts5ParseSetDistance(tls *libc.TLS, pParse uintptr, pNear uintptr, p // // If an OOM error occurs, store an error code in pParse and return NULL. // The old colset object (if any) is not freed in this case. -func fts5ParseColset(tls *libc.TLS, pParse uintptr, p uintptr, iCol int32) uintptr { /* sqlite3.c:223090:19: */ +func fts5ParseColset(tls *libc.TLS, pParse uintptr, p uintptr, iCol int32) uintptr { /* sqlite3.c:223147:19: */ var nCol int32 if p != 0 { nCol = (*Fts5Colset)(unsafe.Pointer(p)).FnCol @@ -179401,7 +179432,7 @@ func fts5ParseColset(tls *libc.TLS, pParse uintptr, p uintptr, iCol int32) uintp // Allocate and return an Fts5Colset object specifying the inverse of // the colset passed as the second argument. Free the colset passed // as the second argument before returning. -func sqlite3Fts5ParseColsetInvert(tls *libc.TLS, pParse uintptr, p uintptr) uintptr { /* sqlite3.c:223131:19: */ +func sqlite3Fts5ParseColsetInvert(tls *libc.TLS, pParse uintptr, p uintptr) uintptr { /* sqlite3.c:223188:19: */ var pRet uintptr var nCol int32 = (*Fts5Config)(unsafe.Pointer((*Fts5Parse)(unsafe.Pointer(pParse)).FpConfig)).FnCol @@ -179423,7 +179454,7 @@ func sqlite3Fts5ParseColsetInvert(tls *libc.TLS, pParse uintptr, p uintptr) uint return pRet } -func sqlite3Fts5ParseColset(tls *libc.TLS, pParse uintptr, pColset uintptr, p uintptr) uintptr { /* sqlite3.c:223154:19: */ +func sqlite3Fts5ParseColset(tls *libc.TLS, pParse uintptr, pColset uintptr, p uintptr) uintptr { /* sqlite3.c:223211:19: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -179462,7 +179493,7 @@ func sqlite3Fts5ParseColset(tls *libc.TLS, pParse uintptr, pColset uintptr, p ui // Otherwise, a copy of (*pOrig) is made into memory obtained from // sqlite3Fts5MallocZero() and a pointer to it returned. If the allocation // fails, (*pRc) is set to SQLITE_NOMEM and NULL is returned. -func fts5CloneColset(tls *libc.TLS, pRc uintptr, pOrig uintptr) uintptr { /* sqlite3.c:223194:19: */ +func fts5CloneColset(tls *libc.TLS, pRc uintptr, pOrig uintptr) uintptr { /* sqlite3.c:223251:19: */ var pRet uintptr if pOrig != 0 { var nByte Sqlite3_int64 = Sqlite3_int64(uint32(unsafe.Sizeof(Fts5Colset{})) + uint32((*Fts5Colset)(unsafe.Pointer(pOrig)).FnCol-1)*uint32(unsafe.Sizeof(int32(0)))) @@ -179477,7 +179508,7 @@ func fts5CloneColset(tls *libc.TLS, pRc uintptr, pOrig uintptr) uintptr { /* sql } // Remove from colset pColset any columns that are not also in colset pMerge. -func fts5MergeColset(tls *libc.TLS, pColset uintptr, pMerge uintptr) { /* sqlite3.c:223211:13: */ +func fts5MergeColset(tls *libc.TLS, pColset uintptr, pMerge uintptr) { /* sqlite3.c:223268:13: */ var iIn int32 = 0 // Next input in pColset var iMerge int32 = 0 // Next input in pMerge var iOut int32 = 0 // Next output slot in pColset @@ -179501,7 +179532,7 @@ func fts5MergeColset(tls *libc.TLS, pColset uintptr, pMerge uintptr) { /* sqlite // its decendents. If (*ppFree) is not NULL, it contains a spare copy // of pColset. This function may use the spare copy and set (*ppFree) to // zero, or it may create copies of pColset using fts5CloneColset(). -func fts5ParseSetColset(tls *libc.TLS, pParse uintptr, pNode uintptr, pColset uintptr, ppFree uintptr) { /* sqlite3.c:223237:13: */ +func fts5ParseSetColset(tls *libc.TLS, pParse uintptr, pNode uintptr, pColset uintptr, ppFree uintptr) { /* sqlite3.c:223294:13: */ if (*Fts5Parse)(unsafe.Pointer(pParse)).Frc == SQLITE_OK { if (*Fts5ExprNode)(unsafe.Pointer(pNode)).FeType == FTS5_STRING || (*Fts5ExprNode)(unsafe.Pointer(pNode)).FeType == FTS5_TERM { @@ -179529,7 +179560,7 @@ func fts5ParseSetColset(tls *libc.TLS, pParse uintptr, pNode uintptr, pColset ui } // Apply colset pColset to expression node pExpr and all of its descendents. -func sqlite3Fts5ParseSetColset(tls *libc.TLS, pParse uintptr, pExpr uintptr, pColset uintptr) { /* sqlite3.c:223275:13: */ +func sqlite3Fts5ParseSetColset(tls *libc.TLS, pParse uintptr, pExpr uintptr, pColset uintptr) { /* sqlite3.c:223332:13: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -179543,7 +179574,7 @@ func sqlite3Fts5ParseSetColset(tls *libc.TLS, pParse uintptr, pExpr uintptr, pCo Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp /* pFree */))) } -func fts5ExprAssignXNext(tls *libc.TLS, pNode uintptr) { /* sqlite3.c:223291:13: */ +func fts5ExprAssignXNext(tls *libc.TLS, pNode uintptr) { /* sqlite3.c:223348:13: */ switch (*Fts5ExprNode)(unsafe.Pointer(pNode)).FeType { case FTS5_STRING: { @@ -179594,7 +179625,7 @@ func fts5ExprAssignXNext(tls *libc.TLS, pNode uintptr) { /* sqlite3.c:223291:13: } } -func fts5ExprAddChildren(tls *libc.TLS, p uintptr, pSub uintptr) { /* sqlite3.c:223324:13: */ +func fts5ExprAddChildren(tls *libc.TLS, p uintptr, pSub uintptr) { /* sqlite3.c:223381:13: */ if (*Fts5ExprNode)(unsafe.Pointer(p)).FeType != FTS5_NOT && (*Fts5ExprNode)(unsafe.Pointer(pSub)).FeType == (*Fts5ExprNode)(unsafe.Pointer(p)).FeType { var nByte int32 = int32(uint32(unsafe.Sizeof(uintptr(0))) * uint32((*Fts5ExprNode)(unsafe.Pointer(pSub)).FnChild)) libc.Xmemcpy(tls, p+32+uintptr((*Fts5ExprNode)(unsafe.Pointer(p)).FnChild)*4, pSub+32, uint32(nByte)) @@ -179614,7 +179645,7 @@ func fts5ExprAddChildren(tls *libc.TLS, p uintptr, pSub uintptr) { /* sqlite3.c: // into an AND tree: // // abc AND def AND ghi -func fts5ParsePhraseToAnd(tls *libc.TLS, pParse uintptr, pNear uintptr) uintptr { /* sqlite3.c:223346:21: */ +func fts5ParsePhraseToAnd(tls *libc.TLS, pParse uintptr, pNear uintptr) uintptr { /* sqlite3.c:223403:21: */ var nTerm int32 = (*Fts5ExprPhrase)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pNear + 12)))).FnTerm var ii int32 var nByte int32 @@ -179657,7 +179688,7 @@ func fts5ParsePhraseToAnd(tls *libc.TLS, pParse uintptr, pNear uintptr) uintptr // Allocate and return a new expression object. If anything goes wrong (i.e. // OOM error), leave an error code in pParse and return NULL. -func sqlite3Fts5ParseNode(tls *libc.TLS, pParse uintptr, eType int32, pLeft uintptr, pRight uintptr, pNear uintptr) uintptr { /* sqlite3.c:223400:21: */ +func sqlite3Fts5ParseNode(tls *libc.TLS, pParse uintptr, eType int32, pLeft uintptr, pRight uintptr, pNear uintptr) uintptr { /* sqlite3.c:223457:21: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -179745,7 +179776,7 @@ func sqlite3Fts5ParseNode(tls *libc.TLS, pParse uintptr, eType int32, pLeft uint return pRet } -func sqlite3Fts5ParseImplicitAnd(tls *libc.TLS, pParse uintptr, pLeft uintptr, pRight uintptr) uintptr { /* sqlite3.c:223482:21: */ +func sqlite3Fts5ParseImplicitAnd(tls *libc.TLS, pParse uintptr, pLeft uintptr, pRight uintptr) uintptr { /* sqlite3.c:223539:21: */ var pRet uintptr = uintptr(0) var pPrev uintptr @@ -179791,7 +179822,7 @@ func sqlite3Fts5ParseImplicitAnd(tls *libc.TLS, pParse uintptr, pLeft uintptr, p // This is called during initialization to register the fts5_expr() scalar // UDF with the SQLite handle passed as the only argument. -func sqlite3Fts5ExprInit(tls *libc.TLS, pGlobal uintptr, db uintptr) int32 { /* sqlite3.c:223919:12: */ +func sqlite3Fts5ExprInit(tls *libc.TLS, pGlobal uintptr, db uintptr) int32 { /* sqlite3.c:223976:12: */ var rc int32 = SQLITE_OK _ = pGlobal _ = db @@ -179804,7 +179835,7 @@ func sqlite3Fts5ExprInit(tls *libc.TLS, pGlobal uintptr, db uintptr) int32 { /* } // Return the number of phrases in expression pExpr. -func sqlite3Fts5ExprPhraseCount(tls *libc.TLS, pExpr uintptr) int32 { /* sqlite3.c:223956:12: */ +func sqlite3Fts5ExprPhraseCount(tls *libc.TLS, pExpr uintptr) int32 { /* sqlite3.c:224013:12: */ return func() int32 { if pExpr != 0 { return (*Fts5Expr)(unsafe.Pointer(pExpr)).FnPhrase @@ -179814,7 +179845,7 @@ func sqlite3Fts5ExprPhraseCount(tls *libc.TLS, pExpr uintptr) int32 { /* sqlite3 } // Return the number of terms in the iPhrase'th phrase in pExpr. -func sqlite3Fts5ExprPhraseSize(tls *libc.TLS, pExpr uintptr, iPhrase int32) int32 { /* sqlite3.c:223963:12: */ +func sqlite3Fts5ExprPhraseSize(tls *libc.TLS, pExpr uintptr, iPhrase int32) int32 { /* sqlite3.c:224020:12: */ if iPhrase < 0 || iPhrase >= (*Fts5Expr)(unsafe.Pointer(pExpr)).FnPhrase { return 0 } @@ -179823,7 +179854,7 @@ func sqlite3Fts5ExprPhraseSize(tls *libc.TLS, pExpr uintptr, iPhrase int32) int3 // This function is used to access the current position list for phrase // iPhrase. -func sqlite3Fts5ExprPoslist(tls *libc.TLS, pExpr uintptr, iPhrase int32, pa uintptr) int32 { /* sqlite3.c:223972:12: */ +func sqlite3Fts5ExprPoslist(tls *libc.TLS, pExpr uintptr, iPhrase int32, pa uintptr) int32 { /* sqlite3.c:224029:12: */ var nRet int32 var pPhrase uintptr = *(*uintptr)(unsafe.Pointer((*Fts5Expr)(unsafe.Pointer(pExpr)).FapExprPhrase + uintptr(iPhrase)*4)) var pNode uintptr = (*Fts5ExprPhrase)(unsafe.Pointer(pPhrase)).FpNode @@ -179844,7 +179875,7 @@ func sqlite3Fts5ExprPoslist(tls *libc.TLS, pExpr uintptr, iPhrase int32, pa uint // At present this function is only used for detail=col and detail=none // fts5 tables. This implies that all phrases must be at most 1 token // in size, as phrase matches are not supported without detail=full. -func sqlite3Fts5ExprClearPoslists(tls *libc.TLS, pExpr uintptr, bLive int32) uintptr { /* sqlite3.c:224001:29: */ +func sqlite3Fts5ExprClearPoslists(tls *libc.TLS, pExpr uintptr, bLive int32) uintptr { /* sqlite3.c:224058:29: */ var pRet uintptr pRet = Xsqlite3_malloc64(tls, uint64(uint32(unsafe.Sizeof(Fts5PoslistPopulator{}))*uint32((*Fts5Expr)(unsafe.Pointer(pExpr)).FnPhrase))) if pRet != 0 { @@ -179868,12 +179899,12 @@ type Fts5ExprCtx1 = struct { FpExpr uintptr FaPopulator uintptr FiOff I64 -} /* sqlite3.c:224023:1 */ +} /* sqlite3.c:224080:1 */ -type Fts5ExprCtx = Fts5ExprCtx1 /* sqlite3.c:224028:28 */ +type Fts5ExprCtx = Fts5ExprCtx1 /* sqlite3.c:224085:28 */ // TODO: Make this more efficient! -func fts5ExprColsetTest(tls *libc.TLS, pColset uintptr, iCol int32) int32 { /* sqlite3.c:224033:12: */ +func fts5ExprColsetTest(tls *libc.TLS, pColset uintptr, iCol int32) int32 { /* sqlite3.c:224090:12: */ var i int32 for i = 0; i < (*Fts5Colset)(unsafe.Pointer(pColset)).FnCol; i++ { if *(*int32)(unsafe.Pointer(pColset + 4 + uintptr(i)*4)) == iCol { @@ -179883,7 +179914,7 @@ func fts5ExprColsetTest(tls *libc.TLS, pColset uintptr, iCol int32) int32 { /* s return 0 } -func fts5ExprPopulatePoslistsCb(tls *libc.TLS, pCtx uintptr, tflags int32, pToken uintptr, nToken int32, iUnused1 int32, iUnused2 int32) int32 { /* sqlite3.c:224041:12: */ +func fts5ExprPopulatePoslistsCb(tls *libc.TLS, pCtx uintptr, tflags int32, pToken uintptr, nToken int32, iUnused1 int32, iUnused2 int32) int32 { /* sqlite3.c:224098:12: */ var p uintptr = pCtx var pExpr uintptr = (*Fts5ExprCtx)(unsafe.Pointer(p)).FpExpr var i int32 @@ -179918,7 +179949,7 @@ func fts5ExprPopulatePoslistsCb(tls *libc.TLS, pCtx uintptr, tflags int32, pToke return SQLITE_OK } -func sqlite3Fts5ExprPopulatePoslists(tls *libc.TLS, pConfig uintptr, pExpr uintptr, aPopulator uintptr, iCol int32, z uintptr, n int32) int32 { /* sqlite3.c:224076:12: */ +func sqlite3Fts5ExprPopulatePoslists(tls *libc.TLS, pConfig uintptr, pExpr uintptr, aPopulator uintptr, iCol int32, z uintptr, n int32) int32 { /* sqlite3.c:224133:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -179946,7 +179977,7 @@ func sqlite3Fts5ExprPopulatePoslists(tls *libc.TLS, pConfig uintptr, pExpr uintp }{fts5ExprPopulatePoslistsCb}))) } -func fts5ExprClearPoslists(tls *libc.TLS, pNode uintptr) { /* sqlite3.c:224106:13: */ +func fts5ExprClearPoslists(tls *libc.TLS, pNode uintptr) { /* sqlite3.c:224163:13: */ if (*Fts5ExprNode)(unsafe.Pointer(pNode)).FeType == FTS5_TERM || (*Fts5ExprNode)(unsafe.Pointer(pNode)).FeType == FTS5_STRING { (*Fts5ExprPhrase)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer((*Fts5ExprNode)(unsafe.Pointer(pNode)).FpNear + 12)))).Fposlist.Fn = 0 } else { @@ -179957,7 +179988,7 @@ func fts5ExprClearPoslists(tls *libc.TLS, pNode uintptr) { /* sqlite3.c:224106:1 } } -func fts5ExprCheckPoslists(tls *libc.TLS, pNode uintptr, iRowid I64) int32 { /* sqlite3.c:224117:12: */ +func fts5ExprCheckPoslists(tls *libc.TLS, pNode uintptr, iRowid I64) int32 { /* sqlite3.c:224174:12: */ (*Fts5ExprNode)(unsafe.Pointer(pNode)).FiRowid = iRowid (*Fts5ExprNode)(unsafe.Pointer(pNode)).FbEof = 0 switch (*Fts5ExprNode)(unsafe.Pointer(pNode)).FeType { @@ -180007,12 +180038,12 @@ func fts5ExprCheckPoslists(tls *libc.TLS, pNode uintptr, iRowid I64) int32 { /* return 1 } -func sqlite3Fts5ExprCheckPoslists(tls *libc.TLS, pExpr uintptr, iRowid I64) { /* sqlite3.c:224161:13: */ +func sqlite3Fts5ExprCheckPoslists(tls *libc.TLS, pExpr uintptr, iRowid I64) { /* sqlite3.c:224218:13: */ fts5ExprCheckPoslists(tls, (*Fts5Expr)(unsafe.Pointer(pExpr)).FpRoot, iRowid) } // This function is only called for detail=columns tables. -func sqlite3Fts5ExprPhraseCollist(tls *libc.TLS, pExpr uintptr, iPhrase int32, ppCollist uintptr, pnCollist uintptr) int32 { /* sqlite3.c:224168:12: */ +func sqlite3Fts5ExprPhraseCollist(tls *libc.TLS, pExpr uintptr, iPhrase int32, ppCollist uintptr, pnCollist uintptr) int32 { /* sqlite3.c:224225:12: */ var pPhrase uintptr = *(*uintptr)(unsafe.Pointer((*Fts5Expr)(unsafe.Pointer(pExpr)).FapExprPhrase + uintptr(iPhrase)*4)) var pNode uintptr = (*Fts5ExprPhrase)(unsafe.Pointer(pPhrase)).FpNode var rc int32 = SQLITE_OK @@ -180063,7 +180094,7 @@ type Fts5HashEntry1 = struct { FiCol I16 FiPos int32 FiRowid I64 -} /* sqlite3.c:216813:9 */ +} /* sqlite3.c:216870:9 */ // 2014 August 11 // @@ -180079,14 +180110,14 @@ type Fts5HashEntry1 = struct { // #include "fts5Int.h" -type Fts5HashEntry = Fts5HashEntry1 /* sqlite3.c:224221:30 */ +type Fts5HashEntry = Fts5HashEntry1 /* sqlite3.c:224278:30 */ // Eqivalent to: // // char *fts5EntryKey(Fts5HashEntry *pEntry){ return zKey; } // Allocate a new hash table. -func sqlite3Fts5HashNew(tls *libc.TLS, pConfig uintptr, ppNew uintptr, pnByte uintptr) int32 { /* sqlite3.c:224287:12: */ +func sqlite3Fts5HashNew(tls *libc.TLS, pConfig uintptr, ppNew uintptr, pnByte uintptr) int32 { /* sqlite3.c:224344:12: */ var rc int32 = SQLITE_OK var pNew uintptr @@ -180114,7 +180145,7 @@ func sqlite3Fts5HashNew(tls *libc.TLS, pConfig uintptr, ppNew uintptr, pnByte ui } // Free a hash table object. -func sqlite3Fts5HashFree(tls *libc.TLS, pHash uintptr) { /* sqlite3.c:224317:13: */ +func sqlite3Fts5HashFree(tls *libc.TLS, pHash uintptr) { /* sqlite3.c:224374:13: */ if pHash != 0 { sqlite3Fts5HashClear(tls, pHash) Xsqlite3_free(tls, (*Fts5Hash)(unsafe.Pointer(pHash)).FaSlot) @@ -180123,7 +180154,7 @@ func sqlite3Fts5HashFree(tls *libc.TLS, pHash uintptr) { /* sqlite3.c:224317:13: } // Empty (but do not delete) a hash table. -func sqlite3Fts5HashClear(tls *libc.TLS, pHash uintptr) { /* sqlite3.c:224328:13: */ +func sqlite3Fts5HashClear(tls *libc.TLS, pHash uintptr) { /* sqlite3.c:224385:13: */ var i int32 for i = 0; i < (*Fts5Hash)(unsafe.Pointer(pHash)).FnSlot; i++ { var pNext uintptr @@ -180137,7 +180168,7 @@ func sqlite3Fts5HashClear(tls *libc.TLS, pHash uintptr) { /* sqlite3.c:224328:13 (*Fts5Hash)(unsafe.Pointer(pHash)).FnEntry = 0 } -func fts5HashKey(tls *libc.TLS, nSlot int32, p uintptr, n int32) uint32 { /* sqlite3.c:224342:21: */ +func fts5HashKey(tls *libc.TLS, nSlot int32, p uintptr, n int32) uint32 { /* sqlite3.c:224399:21: */ var i int32 var h uint32 = uint32(13) for i = n - 1; i >= 0; i-- { @@ -180146,7 +180177,7 @@ func fts5HashKey(tls *libc.TLS, nSlot int32, p uintptr, n int32) uint32 { /* sql return h % uint32(nSlot) } -func fts5HashKey2(tls *libc.TLS, nSlot int32, b U8, p uintptr, n int32) uint32 { /* sqlite3.c:224351:21: */ +func fts5HashKey2(tls *libc.TLS, nSlot int32, b U8, p uintptr, n int32) uint32 { /* sqlite3.c:224408:21: */ var i int32 var h uint32 = uint32(13) for i = n - 1; i >= 0; i-- { @@ -180157,7 +180188,7 @@ func fts5HashKey2(tls *libc.TLS, nSlot int32, b U8, p uintptr, n int32) uint32 { } // Resize the hash table by doubling the number of slots. -func fts5HashResize(tls *libc.TLS, pHash uintptr) int32 { /* sqlite3.c:224364:12: */ +func fts5HashResize(tls *libc.TLS, pHash uintptr) int32 { /* sqlite3.c:224421:12: */ var nNew int32 = (*Fts5Hash)(unsafe.Pointer(pHash)).FnSlot * 2 var i int32 var apNew uintptr @@ -180187,7 +180218,7 @@ func fts5HashResize(tls *libc.TLS, pHash uintptr) int32 { /* sqlite3.c:224364:12 return SQLITE_OK } -func fts5HashAddPoslistSize(tls *libc.TLS, pHash uintptr, p uintptr, p2 uintptr) int32 { /* sqlite3.c:224392:12: */ +func fts5HashAddPoslistSize(tls *libc.TLS, pHash uintptr, p uintptr, p2 uintptr) int32 { /* sqlite3.c:224449:12: */ var nRet int32 = 0 if (*Fts5HashEntry)(unsafe.Pointer(p)).FiSzPoslist != 0 { var pPtr uintptr @@ -180236,7 +180267,7 @@ func fts5HashAddPoslistSize(tls *libc.TLS, pHash uintptr, p uintptr, p2 uintptr) // (bByte || pToken) -> (iRowid,iCol,iPos) // // Or, if iCol is negative, then the value is a delete marker. -func sqlite3Fts5HashWrite(tls *libc.TLS, pHash uintptr, iRowid I64, iCol int32, iPos int32, bByte int8, pToken uintptr, nToken int32) int32 { /* sqlite3.c:224443:12: */ +func sqlite3Fts5HashWrite(tls *libc.TLS, pHash uintptr, iRowid I64, iCol int32, iPos int32, bByte int8, pToken uintptr, nToken int32) int32 { /* sqlite3.c:224500:12: */ var iHash uint32 var p uintptr var pPtr uintptr @@ -180395,7 +180426,7 @@ func sqlite3Fts5HashWrite(tls *libc.TLS, pHash uintptr, iRowid I64, iCol int32, // Arguments pLeft and pRight point to linked-lists of hash-entry objects, // each sorted in key order. This function merges the two lists into a // single list and returns a pointer to its first element. -func fts5HashEntryMerge(tls *libc.TLS, pLeft uintptr, pRight uintptr) uintptr { /* sqlite3.c:224596:22: */ +func fts5HashEntryMerge(tls *libc.TLS, pLeft uintptr, pRight uintptr) uintptr { /* sqlite3.c:224653:22: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -180441,7 +180472,7 @@ func fts5HashEntryMerge(tls *libc.TLS, pLeft uintptr, pRight uintptr) uintptr { // in sorted order. The hash table is cleared before returning. It is // the responsibility of the caller to free the elements of the returned // list. -func fts5HashEntrySort(tls *libc.TLS, pHash uintptr, pTerm uintptr, nTerm int32, ppSorted uintptr) int32 { /* sqlite3.c:224642:12: */ +func fts5HashEntrySort(tls *libc.TLS, pHash uintptr, pTerm uintptr, nTerm int32, ppSorted uintptr) int32 { /* sqlite3.c:224699:12: */ var nMergeSlot int32 = 32 var ap uintptr var pList uintptr @@ -180483,7 +180514,7 @@ func fts5HashEntrySort(tls *libc.TLS, pHash uintptr, pTerm uintptr, nTerm int32, } // Query the hash table for a doclist associated with term pTerm/nTerm. -func sqlite3Fts5HashQuery(tls *libc.TLS, pHash uintptr, nPre int32, pTerm uintptr, nTerm int32, ppOut uintptr, pnDoclist uintptr) int32 { /* sqlite3.c:224689:12: */ +func sqlite3Fts5HashQuery(tls *libc.TLS, pHash uintptr, nPre int32, pTerm uintptr, nTerm int32, ppOut uintptr, pnDoclist uintptr) int32 { /* sqlite3.c:224746:12: */ var iHash uint32 = fts5HashKey(tls, (*Fts5Hash)(unsafe.Pointer(pHash)).FnSlot, pTerm, nTerm) var zKey uintptr = uintptr(0) var p uintptr @@ -180517,20 +180548,20 @@ func sqlite3Fts5HashQuery(tls *libc.TLS, pHash uintptr, nPre int32, pTerm uintpt return SQLITE_OK } -func sqlite3Fts5HashScanInit(tls *libc.TLS, p uintptr, pTerm uintptr, nTerm int32) int32 { /* sqlite3.c:224727:12: */ +func sqlite3Fts5HashScanInit(tls *libc.TLS, p uintptr, pTerm uintptr, nTerm int32) int32 { /* sqlite3.c:224784:12: */ return fts5HashEntrySort(tls, p, pTerm, nTerm, p+16) } -func sqlite3Fts5HashScanNext(tls *libc.TLS, p uintptr) { /* sqlite3.c:224734:13: */ +func sqlite3Fts5HashScanNext(tls *libc.TLS, p uintptr) { /* sqlite3.c:224791:13: */ (*Fts5Hash)(unsafe.Pointer(p)).FpScan = (*Fts5HashEntry)(unsafe.Pointer((*Fts5Hash)(unsafe.Pointer(p)).FpScan)).FpScanNext } -func sqlite3Fts5HashScanEof(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:224739:12: */ +func sqlite3Fts5HashScanEof(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:224796:12: */ return libc.Bool32((*Fts5Hash)(unsafe.Pointer(p)).FpScan == uintptr(0)) } -func sqlite3Fts5HashScanEntry(tls *libc.TLS, pHash uintptr, pzTerm uintptr, ppDoclist uintptr, pnDoclist uintptr) { /* sqlite3.c:224743:13: */ +func sqlite3Fts5HashScanEntry(tls *libc.TLS, pHash uintptr, pzTerm uintptr, ppDoclist uintptr, pnDoclist uintptr) { /* sqlite3.c:224800:13: */ var p uintptr if libc.AssignUintptr(&p, (*Fts5Hash)(unsafe.Pointer(pHash)).FpScan) != 0 { var zKey uintptr = p + 1*40 @@ -180756,7 +180787,7 @@ type Fts5Data1 = struct { Fp uintptr Fnn int32 FszLeaf int32 -} /* sqlite3.c:225018:9 */ +} /* sqlite3.c:225075:9 */ // 2014 May 31 // @@ -180964,14 +180995,14 @@ type Fts5Data1 = struct { // many zero bytes. This makes it easier to decode the various record formats // without overreading if the records are corrupt. -type Fts5Data = Fts5Data1 /* sqlite3.c:225018:25 */ +type Fts5Data = Fts5Data1 /* sqlite3.c:225075:25 */ type Fts5DlidxIter1 = struct { FnLvl int32 FiSegid int32 FaLvl [1]Fts5DlidxLvl -} /* sqlite3.c:225019:9 */ +} /* sqlite3.c:225076:9 */ -type Fts5DlidxIter = Fts5DlidxIter1 /* sqlite3.c:225019:30 */ +type Fts5DlidxIter = Fts5DlidxIter1 /* sqlite3.c:225076:30 */ type Fts5DlidxLvl1 = struct { FpData uintptr FiOff int32 @@ -180979,17 +181010,17 @@ type Fts5DlidxLvl1 = struct { FiFirstOff int32 FiLeafPgno int32 FiRowid I64 -} /* sqlite3.c:225019:9 */ +} /* sqlite3.c:225076:9 */ -type Fts5DlidxLvl = Fts5DlidxLvl1 /* sqlite3.c:225020:29 */ +type Fts5DlidxLvl = Fts5DlidxLvl1 /* sqlite3.c:225077:29 */ type Fts5DlidxWriter1 = struct { Fpgno int32 FbPrevValid int32 FiPrev I64 Fbuf Fts5Buffer -} /* sqlite3.c:225021:9 */ +} /* sqlite3.c:225078:9 */ -type Fts5DlidxWriter = Fts5DlidxWriter1 /* sqlite3.c:225021:32 */ +type Fts5DlidxWriter = Fts5DlidxWriter1 /* sqlite3.c:225078:32 */ type Fts5Iter1 = struct { Fbase Fts5IndexIter FpIndex uintptr @@ -181003,18 +181034,18 @@ type Fts5Iter1 = struct { FiSwitchRowid I64 FaFirst uintptr FaSeg [1]Fts5SegIter -} /* sqlite3.c:225022:9 */ +} /* sqlite3.c:225079:9 */ -type Fts5Iter = Fts5Iter1 /* sqlite3.c:225022:25 */ +type Fts5Iter = Fts5Iter1 /* sqlite3.c:225079:25 */ type Fts5PageWriter1 = struct { Fpgno int32 FiPrevPgidx int32 Fbuf Fts5Buffer Fpgidx Fts5Buffer Fterm Fts5Buffer -} /* sqlite3.c:225023:9 */ +} /* sqlite3.c:225080:9 */ -type Fts5PageWriter = Fts5PageWriter1 /* sqlite3.c:225023:31 */ +type Fts5PageWriter = Fts5PageWriter1 /* sqlite3.c:225080:31 */ type Fts5SegIter1 = struct { FpSeg uintptr Fflags int32 @@ -181036,18 +181067,18 @@ type Fts5SegIter1 = struct { FnPos int32 FbDel U8 F__ccgo_pad1 [3]byte -} /* sqlite3.c:225022:9 */ +} /* sqlite3.c:225079:9 */ -type Fts5SegIter = Fts5SegIter1 /* sqlite3.c:225024:28 */ +type Fts5SegIter = Fts5SegIter1 /* sqlite3.c:225081:28 */ type Fts5DoclistIter1 = struct { FaEof uintptr FiRowid I64 FaPoslist uintptr FnPoslist int32 FnSize int32 -} /* sqlite3.c:225025:9 */ +} /* sqlite3.c:225082:9 */ -type Fts5DoclistIter = Fts5DoclistIter1 /* sqlite3.c:225025:32 */ +type Fts5DoclistIter = Fts5DoclistIter1 /* sqlite3.c:225082:32 */ type Fts5SegWriter1 = struct { FiSegid int32 Fwriter Fts5PageWriter @@ -181062,47 +181093,47 @@ type Fts5SegWriter1 = struct { FaDlidx uintptr Fbtterm Fts5Buffer FiBtPage int32 -} /* sqlite3.c:225026:9 */ +} /* sqlite3.c:225083:9 */ -type Fts5SegWriter = Fts5SegWriter1 /* sqlite3.c:225026:30 */ +type Fts5SegWriter = Fts5SegWriter1 /* sqlite3.c:225083:30 */ type Fts5Structure1 = struct { FnRef int32 FnWriteCounter U64 FnSegment int32 FnLevel int32 FaLevel [1]Fts5StructureLevel -} /* sqlite3.c:216813:9 */ +} /* sqlite3.c:216870:9 */ -type Fts5Structure = Fts5Structure1 /* sqlite3.c:225027:30 */ +type Fts5Structure = Fts5Structure1 /* sqlite3.c:225084:30 */ type Fts5StructureLevel1 = struct { FnMerge int32 FnSeg int32 FaSeg uintptr -} /* sqlite3.c:216813:9 */ +} /* sqlite3.c:216870:9 */ -type Fts5StructureLevel = Fts5StructureLevel1 /* sqlite3.c:225028:35 */ +type Fts5StructureLevel = Fts5StructureLevel1 /* sqlite3.c:225085:35 */ type Fts5StructureSegment1 = struct { FiSegid int32 FpgnoFirst int32 FpgnoLast int32 -} /* sqlite3.c:216813:9 */ +} /* sqlite3.c:216870:9 */ -type Fts5StructureSegment = Fts5StructureSegment1 /* sqlite3.c:225029:37 */ +type Fts5StructureSegment = Fts5StructureSegment1 /* sqlite3.c:225086:37 */ type Fts5CResult1 = struct { FiFirst U16 FbTermEq U8 F__ccgo_pad1 [1]byte -} /* sqlite3.c:225022:9 */ +} /* sqlite3.c:225079:9 */ -type Fts5CResult = Fts5CResult1 /* sqlite3.c:225139:28 */ +type Fts5CResult = Fts5CResult1 /* sqlite3.c:225196:28 */ -func fts5PutU16(tls *libc.TLS, aOut uintptr, iVal U16) { /* sqlite3.c:225318:13: */ +func fts5PutU16(tls *libc.TLS, aOut uintptr, iVal U16) { /* sqlite3.c:225375:13: */ *(*U8)(unsafe.Pointer(aOut)) = U8(int32(iVal) >> 8) *(*U8)(unsafe.Pointer(aOut + 1)) = U8(int32(iVal) & 0xFF) } -func fts5GetU16(tls *libc.TLS, aIn uintptr) U16 { /* sqlite3.c:225323:12: */ +func fts5GetU16(tls *libc.TLS, aIn uintptr) U16 { /* sqlite3.c:225380:12: */ return U16(int32(U16(*(*U8)(unsafe.Pointer(aIn))))<<8 + int32(*(*U8)(unsafe.Pointer(aIn + 1)))) } @@ -181110,7 +181141,7 @@ func fts5GetU16(tls *libc.TLS, aIn uintptr) U16 { /* sqlite3.c:225323:12: */ // // If an OOM error is encountered, return NULL and set the error code in // the Fts5Index handle passed as the first argument. -func fts5IdxMalloc(tls *libc.TLS, p uintptr, nByte Sqlite3_int64) uintptr { /* sqlite3.c:225333:13: */ +func fts5IdxMalloc(tls *libc.TLS, p uintptr, nByte Sqlite3_int64) uintptr { /* sqlite3.c:225390:13: */ return sqlite3Fts5MallocZero(tls, p+32, nByte) } @@ -181128,7 +181159,7 @@ func fts5IdxMalloc(tls *libc.TLS, p uintptr, nByte Sqlite3_int64) uintptr { /* s // +ve if pRight is smaller than pLeft. In other words: // // res = *pLeft - *pRight -func fts5BufferCompare(tls *libc.TLS, pLeft uintptr, pRight uintptr) int32 { /* sqlite3.c:225365:12: */ +func fts5BufferCompare(tls *libc.TLS, pLeft uintptr, pRight uintptr) int32 { /* sqlite3.c:225422:12: */ var nCmp int32 var res int32 nCmp = func() int32 { @@ -181152,7 +181183,7 @@ func fts5BufferCompare(tls *libc.TLS, pLeft uintptr, pRight uintptr) int32 { /* }() } -func fts5LeafFirstTermOff(tls *libc.TLS, pLeaf uintptr) int32 { /* sqlite3.c:225374:12: */ +func fts5LeafFirstTermOff(tls *libc.TLS, pLeaf uintptr) int32 { /* sqlite3.c:225431:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -181163,7 +181194,7 @@ func fts5LeafFirstTermOff(tls *libc.TLS, pLeaf uintptr) int32 { /* sqlite3.c:225 } // Close the read-only blob handle, if it is open. -func sqlite3Fts5IndexCloseReader(tls *libc.TLS, p uintptr) { /* sqlite3.c:225383:13: */ +func sqlite3Fts5IndexCloseReader(tls *libc.TLS, p uintptr) { /* sqlite3.c:225440:13: */ if (*Fts5Index)(unsafe.Pointer(p)).FpReader != 0 { var pReader uintptr = (*Fts5Index)(unsafe.Pointer(p)).FpReader (*Fts5Index)(unsafe.Pointer(p)).FpReader = uintptr(0) @@ -181175,7 +181206,7 @@ func sqlite3Fts5IndexCloseReader(tls *libc.TLS, p uintptr) { /* sqlite3.c:225383 // // If an error occurs, NULL is returned and an error left in the // Fts5Index object. -func fts5DataRead(tls *libc.TLS, p uintptr, iRowid I64) uintptr { /* sqlite3.c:225397:17: */ +func fts5DataRead(tls *libc.TLS, p uintptr, iRowid I64) uintptr { /* sqlite3.c:225454:17: */ var pRet uintptr = uintptr(0) if (*Fts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK { var rc int32 = SQLITE_OK @@ -181248,11 +181279,11 @@ func fts5DataRead(tls *libc.TLS, p uintptr, iRowid I64) uintptr { /* sqlite3.c:2 // Release a reference to data record returned by an earlier call to // fts5DataRead(). -func fts5DataRelease(tls *libc.TLS, pData uintptr) { /* sqlite3.c:225471:13: */ +func fts5DataRelease(tls *libc.TLS, pData uintptr) { /* sqlite3.c:225528:13: */ Xsqlite3_free(tls, pData) } -func fts5LeafRead(tls *libc.TLS, p uintptr, iRowid I64) uintptr { /* sqlite3.c:225475:17: */ +func fts5LeafRead(tls *libc.TLS, p uintptr, iRowid I64) uintptr { /* sqlite3.c:225532:17: */ var pRet uintptr = fts5DataRead(tls, p, iRowid) if pRet != 0 { if (*Fts5Data)(unsafe.Pointer(pRet)).Fnn < 4 || (*Fts5Data)(unsafe.Pointer(pRet)).FszLeaf > (*Fts5Data)(unsafe.Pointer(pRet)).Fnn { @@ -181264,7 +181295,7 @@ func fts5LeafRead(tls *libc.TLS, p uintptr, iRowid I64) uintptr { /* sqlite3.c:2 return pRet } -func fts5IndexPrepareStmt(tls *libc.TLS, p uintptr, ppStmt uintptr, zSql uintptr) int32 { /* sqlite3.c:225487:12: */ +func fts5IndexPrepareStmt(tls *libc.TLS, p uintptr, ppStmt uintptr, zSql uintptr) int32 { /* sqlite3.c:225544:12: */ if (*Fts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK { if zSql != 0 { (*Fts5Index)(unsafe.Pointer(p)).Frc = Xsqlite3_prepare_v3(tls, (*Fts5Config)(unsafe.Pointer((*Fts5Index)(unsafe.Pointer(p)).FpConfig)).Fdb, zSql, -1, @@ -181279,7 +181310,7 @@ func fts5IndexPrepareStmt(tls *libc.TLS, p uintptr, ppStmt uintptr, zSql uintptr } // INSERT OR REPLACE a record into the %_data table. -func fts5DataWrite(tls *libc.TLS, p uintptr, iRowid I64, pData uintptr, nData int32) { /* sqlite3.c:225509:13: */ +func fts5DataWrite(tls *libc.TLS, p uintptr, iRowid I64, pData uintptr, nData int32) { /* sqlite3.c:225566:13: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -181307,7 +181338,7 @@ func fts5DataWrite(tls *libc.TLS, p uintptr, iRowid I64, pData uintptr, nData in // Execute the following SQL: // // DELETE FROM %_data WHERE id BETWEEN $iFirst AND $iLast -func fts5DataDelete(tls *libc.TLS, p uintptr, iFirst I64, iLast I64) { /* sqlite3.c:225533:13: */ +func fts5DataDelete(tls *libc.TLS, p uintptr, iFirst I64, iLast I64) { /* sqlite3.c:225590:13: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -181332,7 +181363,7 @@ func fts5DataDelete(tls *libc.TLS, p uintptr, iFirst I64, iLast I64) { /* sqlite } // Remove all records associated with segment iSegid. -func fts5DataRemoveSegment(tls *libc.TLS, p uintptr, iSegid int32) { /* sqlite3.c:225554:13: */ +func fts5DataRemoveSegment(tls *libc.TLS, p uintptr, iSegid int32) { /* sqlite3.c:225611:13: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -181354,7 +181385,7 @@ func fts5DataRemoveSegment(tls *libc.TLS, p uintptr, iSegid int32) { /* sqlite3. // Release a reference to an Fts5Structure object returned by an earlier // call to fts5StructureRead() or fts5StructureDecode(). -func fts5StructureRelease(tls *libc.TLS, pStruct uintptr) { /* sqlite3.c:225576:13: */ +func fts5StructureRelease(tls *libc.TLS, pStruct uintptr) { /* sqlite3.c:225633:13: */ if pStruct != 0 && 0 >= libc.PreDecInt32(&(*Fts5Structure)(unsafe.Pointer(pStruct)).FnRef, 1) { var i int32 @@ -181365,22 +181396,22 @@ func fts5StructureRelease(tls *libc.TLS, pStruct uintptr) { /* sqlite3.c:225576: } } -func fts5StructureRef(tls *libc.TLS, pStruct uintptr) { /* sqlite3.c:225587:13: */ +func fts5StructureRef(tls *libc.TLS, pStruct uintptr) { /* sqlite3.c:225644:13: */ (*Fts5Structure)(unsafe.Pointer(pStruct)).FnRef++ } -func sqlite3Fts5StructureRef(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:225591:13: */ +func sqlite3Fts5StructureRef(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:225648:13: */ fts5StructureRef(tls, (*Fts5Index)(unsafe.Pointer(p)).FpStruct) return (*Fts5Index)(unsafe.Pointer(p)).FpStruct } -func sqlite3Fts5StructureRelease(tls *libc.TLS, p uintptr) { /* sqlite3.c:225595:13: */ +func sqlite3Fts5StructureRelease(tls *libc.TLS, p uintptr) { /* sqlite3.c:225652:13: */ if p != 0 { fts5StructureRelease(tls, p) } } -func sqlite3Fts5StructureTest(tls *libc.TLS, p uintptr, pStruct uintptr) int32 { /* sqlite3.c:225600:12: */ +func sqlite3Fts5StructureTest(tls *libc.TLS, p uintptr, pStruct uintptr) int32 { /* sqlite3.c:225657:12: */ if (*Fts5Index)(unsafe.Pointer(p)).FpStruct != pStruct { return SQLITE_ABORT } @@ -181391,7 +181422,7 @@ func sqlite3Fts5StructureTest(tls *libc.TLS, p uintptr, pStruct uintptr) int32 { // // This function is a no-op if (*pRc) is not SQLITE_OK when it is called. If // an error occurs, (*pRc) is set to an SQLite error code before returning. -func fts5StructureMakeWritable(tls *libc.TLS, pRc uintptr, pp uintptr) { /* sqlite3.c:225613:13: */ +func fts5StructureMakeWritable(tls *libc.TLS, pRc uintptr, pp uintptr) { /* sqlite3.c:225670:13: */ var p uintptr = *(*uintptr)(unsafe.Pointer(pp)) if *(*int32)(unsafe.Pointer(pRc)) == SQLITE_OK && (*Fts5Structure)(unsafe.Pointer(p)).FnRef > 1 { var nByte I64 = I64(uint32(unsafe.Sizeof(Fts5Structure{})) + uint32((*Fts5Structure)(unsafe.Pointer(p)).FnLevel-1)*uint32(unsafe.Sizeof(Fts5StructureLevel{}))) @@ -181433,7 +181464,7 @@ func fts5StructureMakeWritable(tls *libc.TLS, pRc uintptr, pp uintptr) { /* sqli // If an error occurs, *ppOut is set to NULL and an SQLite error code // returned. Otherwise, *ppOut is set to point to the new object and // SQLITE_OK returned. -func fts5StructureDecode(tls *libc.TLS, pData uintptr, nData int32, piCookie uintptr, ppOut uintptr) int32 { /* sqlite3.c:225655:12: */ +func fts5StructureDecode(tls *libc.TLS, pData uintptr, nData int32, piCookie uintptr, ppOut uintptr) int32 { /* sqlite3.c:225712:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -181526,7 +181557,7 @@ func fts5StructureDecode(tls *libc.TLS, pData uintptr, nData int32, piCookie uin // Add a level to the Fts5Structure.aLevel[] array of structure object // (*ppStruct). -func fts5StructureAddLevel(tls *libc.TLS, pRc uintptr, ppStruct uintptr) { /* sqlite3.c:225747:13: */ +func fts5StructureAddLevel(tls *libc.TLS, pRc uintptr, ppStruct uintptr) { /* sqlite3.c:225804:13: */ fts5StructureMakeWritable(tls, pRc, ppStruct) if *(*int32)(unsafe.Pointer(pRc)) == SQLITE_OK { var pStruct uintptr = *(*uintptr)(unsafe.Pointer(ppStruct)) @@ -181546,7 +181577,7 @@ func fts5StructureAddLevel(tls *libc.TLS, pRc uintptr, ppStruct uintptr) { /* sq // Extend level iLvl so that there is room for at least nExtra more // segments. -func fts5StructureExtendLevel(tls *libc.TLS, pRc uintptr, pStruct uintptr, iLvl int32, nExtra int32, bInsert int32) { /* sqlite3.c:225772:13: */ +func fts5StructureExtendLevel(tls *libc.TLS, pRc uintptr, pStruct uintptr, iLvl int32, nExtra int32, bInsert int32) { /* sqlite3.c:225829:13: */ if *(*int32)(unsafe.Pointer(pRc)) == SQLITE_OK { var pLvl uintptr = pStruct + 20 + uintptr(iLvl)*12 var aNew uintptr @@ -181569,7 +181600,7 @@ func fts5StructureExtendLevel(tls *libc.TLS, pRc uintptr, pStruct uintptr, iLvl } } -func fts5StructureReadUncached(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:225801:22: */ +func fts5StructureReadUncached(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:225858:22: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -181597,7 +181628,7 @@ func fts5StructureReadUncached(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c: return *(*uintptr)(unsafe.Pointer(bp + 4 /* pRet */)) } -func fts5IndexDataVersion(tls *libc.TLS, p uintptr) I64 { /* sqlite3.c:225825:12: */ +func fts5IndexDataVersion(tls *libc.TLS, p uintptr) I64 { /* sqlite3.c:225882:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -181630,7 +181661,7 @@ func fts5IndexDataVersion(tls *libc.TLS, p uintptr) I64 { /* sqlite3.c:225825:12 // If an error occurs, NULL is returned and an error code left in the // Fts5Index handle. If an error has already occurred when this function // is called, it is a no-op. -func fts5StructureRead(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:225856:22: */ +func fts5StructureRead(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:225913:22: */ if (*Fts5Index)(unsafe.Pointer(p)).FpStruct == uintptr(0) { (*Fts5Index)(unsafe.Pointer(p)).FiStructVersion = fts5IndexDataVersion(tls, p) @@ -181647,7 +181678,7 @@ func fts5StructureRead(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:225856:2 return (*Fts5Index)(unsafe.Pointer(p)).FpStruct } -func fts5StructureInvalidate(tls *libc.TLS, p uintptr) { /* sqlite3.c:225895:13: */ +func fts5StructureInvalidate(tls *libc.TLS, p uintptr) { /* sqlite3.c:225952:13: */ if (*Fts5Index)(unsafe.Pointer(p)).FpStruct != 0 { fts5StructureRelease(tls, (*Fts5Index)(unsafe.Pointer(p)).FpStruct) (*Fts5Index)(unsafe.Pointer(p)).FpStruct = uintptr(0) @@ -181661,7 +181692,7 @@ func fts5StructureInvalidate(tls *libc.TLS, p uintptr) { /* sqlite3.c:225895:13: // // If an error occurs, leave an error code in the Fts5Index object. If an // error has already occurred, this function is a no-op. -func fts5StructureWrite(tls *libc.TLS, p uintptr, pStruct uintptr) { /* sqlite3.c:225938:13: */ +func fts5StructureWrite(tls *libc.TLS, p uintptr, pStruct uintptr) { /* sqlite3.c:225995:13: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -181714,14 +181745,14 @@ func fts5StructureWrite(tls *libc.TLS, p uintptr, pStruct uintptr) { /* sqlite3. } } -func fts5SegmentSize(tls *libc.TLS, pSeg uintptr) int32 { /* sqlite3.c:225993:12: */ +func fts5SegmentSize(tls *libc.TLS, pSeg uintptr) int32 { /* sqlite3.c:226050:12: */ return 1 + (*Fts5StructureSegment)(unsafe.Pointer(pSeg)).FpgnoLast - (*Fts5StructureSegment)(unsafe.Pointer(pSeg)).FpgnoFirst } // Return a copy of index structure pStruct. Except, promote as many // segments as possible to level iPromote. If an OOM occurs, NULL is // returned. -func fts5StructurePromoteTo(tls *libc.TLS, p uintptr, iPromote int32, szPromote int32, pStruct uintptr) { /* sqlite3.c:226002:13: */ +func fts5StructurePromoteTo(tls *libc.TLS, p uintptr, iPromote int32, szPromote int32, pStruct uintptr) { /* sqlite3.c:226059:13: */ var il int32 var is int32 var pOut uintptr = pStruct + 20 + uintptr(iPromote)*12 @@ -181764,7 +181795,7 @@ func fts5StructurePromoteTo(tls *libc.TLS, p uintptr, iPromote int32, szPromote // // If one or more segments are promoted, the structure object is updated // to reflect this. -func fts5StructurePromote(tls *libc.TLS, p uintptr, iLvl int32, pStruct uintptr) { /* sqlite3.c:226045:13: */ +func fts5StructurePromote(tls *libc.TLS, p uintptr, iLvl int32, pStruct uintptr) { /* sqlite3.c:226102:13: */ if (*Fts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK { var iTst int32 var iPromote int32 = -1 @@ -181813,7 +181844,7 @@ func fts5StructurePromote(tls *libc.TLS, p uintptr, iLvl int32, pStruct uintptr) // Advance the iterator passed as the only argument. If the end of the // doclist-index page is reached, return non-zero. -func fts5DlidxLvlNext(tls *libc.TLS, pLvl uintptr) int32 { /* sqlite3.c:226096:12: */ +func fts5DlidxLvlNext(tls *libc.TLS, pLvl uintptr) int32 { /* sqlite3.c:226153:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -181849,7 +181880,7 @@ func fts5DlidxLvlNext(tls *libc.TLS, pLvl uintptr) int32 { /* sqlite3.c:226096:1 } // Advance the iterator passed as the only argument. -func fts5DlidxIterNextR(tls *libc.TLS, p uintptr, pIter uintptr, iLvl int32) int32 { /* sqlite3.c:226128:12: */ +func fts5DlidxIterNextR(tls *libc.TLS, p uintptr, pIter uintptr, iLvl int32) int32 { /* sqlite3.c:226185:12: */ var pLvl uintptr = pIter + 8 + uintptr(iLvl)*28 if fts5DlidxLvlNext(tls, pLvl) != 0 { @@ -181870,7 +181901,7 @@ func fts5DlidxIterNextR(tls *libc.TLS, p uintptr, pIter uintptr, iLvl int32) int return (*Fts5DlidxLvl)(unsafe.Pointer(pIter + 8)).FbEof } -func fts5DlidxIterNext(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlite3.c:226148:12: */ +func fts5DlidxIterNext(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlite3.c:226205:12: */ return fts5DlidxIterNextR(tls, p, pIter, 0) } @@ -181883,7 +181914,7 @@ func fts5DlidxIterNext(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlit // // When this function is called pIter->iLeafPgno is the page number the // doclist is associated with (the one featuring the term). -func fts5DlidxIterFirst(tls *libc.TLS, pIter uintptr) int32 { /* sqlite3.c:226163:12: */ +func fts5DlidxIterFirst(tls *libc.TLS, pIter uintptr) int32 { /* sqlite3.c:226220:12: */ var i int32 for i = 0; i < (*Fts5DlidxIter)(unsafe.Pointer(pIter)).FnLvl; i++ { fts5DlidxLvlNext(tls, pIter+8+uintptr(i)*28) @@ -181891,11 +181922,11 @@ func fts5DlidxIterFirst(tls *libc.TLS, pIter uintptr) int32 { /* sqlite3.c:22616 return (*Fts5DlidxLvl)(unsafe.Pointer(pIter + 8)).FbEof } -func fts5DlidxIterEof(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlite3.c:226172:12: */ +func fts5DlidxIterEof(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlite3.c:226229:12: */ return libc.Bool32((*Fts5Index)(unsafe.Pointer(p)).Frc != SQLITE_OK || (*Fts5DlidxLvl)(unsafe.Pointer(pIter+8)).FbEof != 0) } -func fts5DlidxIterLast(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:226176:13: */ +func fts5DlidxIterLast(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:226233:13: */ var i int32 // Advance each level to the last entry on the last page @@ -181916,7 +181947,7 @@ func fts5DlidxIterLast(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:2 } // Move the iterator passed as the only argument to the previous entry. -func fts5DlidxLvlPrev(tls *libc.TLS, pLvl uintptr) int32 { /* sqlite3.c:226199:12: */ +func fts5DlidxLvlPrev(tls *libc.TLS, pLvl uintptr) int32 { /* sqlite3.c:226256:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -181978,7 +182009,7 @@ func fts5DlidxLvlPrev(tls *libc.TLS, pLvl uintptr) int32 { /* sqlite3.c:226199:1 return (*Fts5DlidxLvl)(unsafe.Pointer(pLvl)).FbEof } -func fts5DlidxIterPrevR(tls *libc.TLS, p uintptr, pIter uintptr, iLvl int32) int32 { /* sqlite3.c:226248:12: */ +func fts5DlidxIterPrevR(tls *libc.TLS, p uintptr, pIter uintptr, iLvl int32) int32 { /* sqlite3.c:226305:12: */ var pLvl uintptr = pIter + 8 + uintptr(iLvl)*28 if fts5DlidxLvlPrev(tls, pLvl) != 0 { @@ -182001,12 +182032,12 @@ func fts5DlidxIterPrevR(tls *libc.TLS, p uintptr, pIter uintptr, iLvl int32) int return (*Fts5DlidxLvl)(unsafe.Pointer(pIter + 8)).FbEof } -func fts5DlidxIterPrev(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlite3.c:226271:12: */ +func fts5DlidxIterPrev(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlite3.c:226328:12: */ return fts5DlidxIterPrevR(tls, p, pIter, 0) } // Free a doclist-index iterator object allocated by fts5DlidxIterInit(). -func fts5DlidxIterFree(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:226278:13: */ +func fts5DlidxIterFree(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:226335:13: */ if pIter != 0 { var i int32 for i = 0; i < (*Fts5DlidxIter)(unsafe.Pointer(pIter)).FnLvl; i++ { @@ -182016,7 +182047,7 @@ func fts5DlidxIterFree(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:226278:13: * } } -func fts5DlidxIterInit(tls *libc.TLS, p uintptr, bRev int32, iSegid int32, iLeafPg int32) uintptr { /* sqlite3.c:226288:22: */ +func fts5DlidxIterInit(tls *libc.TLS, p uintptr, bRev int32, iSegid int32, iLeafPg int32) uintptr { /* sqlite3.c:226345:22: */ var pIter uintptr = uintptr(0) var i int32 var bDone int32 = 0 @@ -182058,16 +182089,16 @@ func fts5DlidxIterInit(tls *libc.TLS, p uintptr, bRev int32, iSegid int32, iLeaf return pIter } -func fts5DlidxIterRowid(tls *libc.TLS, pIter uintptr) I64 { /* sqlite3.c:226335:12: */ +func fts5DlidxIterRowid(tls *libc.TLS, pIter uintptr) I64 { /* sqlite3.c:226392:12: */ return (*Fts5DlidxLvl)(unsafe.Pointer(pIter + 8)).FiRowid } -func fts5DlidxIterPgno(tls *libc.TLS, pIter uintptr) int32 { /* sqlite3.c:226338:12: */ +func fts5DlidxIterPgno(tls *libc.TLS, pIter uintptr) int32 { /* sqlite3.c:226395:12: */ return (*Fts5DlidxLvl)(unsafe.Pointer(pIter + 8)).FiLeafPgno } // Load the next leaf page into the segment iterator. -func fts5SegIterNextPage(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:226345:13: */ +func fts5SegIterNextPage(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:226402:13: */ var pLeaf uintptr var pSeg uintptr = (*Fts5SegIter)(unsafe.Pointer(pIter)).FpSeg fts5DataRelease(tls, (*Fts5SegIter)(unsafe.Pointer(pIter)).FpLeaf) @@ -182097,7 +182128,7 @@ func fts5SegIterNextPage(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c // position list size field. Read the varint and return the number of bytes // read. Before returning, set *pnSz to the number of bytes in the position // list, and *pbDel to true if the delete flag is set, or false otherwise. -func fts5GetPoslistSize(tls *libc.TLS, p uintptr, pnSz uintptr, pbDel uintptr) int32 { /* sqlite3.c:226383:12: */ +func fts5GetPoslistSize(tls *libc.TLS, p uintptr, pnSz uintptr, pbDel uintptr) int32 { /* sqlite3.c:226440:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -182126,7 +182157,7 @@ func fts5GetPoslistSize(tls *libc.TLS, p uintptr, pnSz uintptr, pbDel uintptr) i // // Leave Fts5SegIter.iLeafOffset pointing to the first byte of the // position list content (if any). -func fts5SegIterLoadNPos(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:226404:13: */ +func fts5SegIterLoadNPos(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:226461:13: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -182171,7 +182202,7 @@ func fts5SegIterLoadNPos(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c } } -func fts5SegIterLoadRowid(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:226433:13: */ +func fts5SegIterLoadRowid(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:226490:13: */ var a uintptr = (*Fts5Data)(unsafe.Pointer((*Fts5SegIter)(unsafe.Pointer(pIter)).FpLeaf)).Fp // Buffer to read data from var iOff I64 = (*Fts5SegIter)(unsafe.Pointer(pIter)).FiLeafOffset @@ -182203,7 +182234,7 @@ func fts5SegIterLoadRowid(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3. // accordingly and leaves (Fts5SegIter.iLeafOffset) set to the content of // the first position list. The position list belonging to document // (Fts5SegIter.iRowid). -func fts5SegIterLoadTerm(tls *libc.TLS, p uintptr, pIter uintptr, nKeep int32) { /* sqlite3.c:226466:13: */ +func fts5SegIterLoadTerm(tls *libc.TLS, p uintptr, pIter uintptr, nKeep int32) { /* sqlite3.c:226523:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -182237,7 +182268,7 @@ func fts5SegIterLoadTerm(tls *libc.TLS, p uintptr, pIter uintptr, nKeep int32) { fts5SegIterLoadRowid(tls, p, pIter) } -func fts5SegIterSetNext(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:226499:13: */ +func fts5SegIterSetNext(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:226556:13: */ if (*Fts5SegIter)(unsafe.Pointer(pIter)).Fflags&FTS5_SEGITER_REVERSE != 0 { (*Fts5SegIter)(unsafe.Pointer(pIter)).FxNext = *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, uintptr) @@ -182259,7 +182290,7 @@ func fts5SegIterSetNext(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c: // // If an error occurs, Fts5Index.rc is set to an appropriate error code. If // an error has already occurred when this function is called, it is a no-op. -func fts5SegIterInit(tls *libc.TLS, p uintptr, pSeg uintptr, pIter uintptr) { /* sqlite3.c:226517:13: */ +func fts5SegIterInit(tls *libc.TLS, p uintptr, pSeg uintptr, pIter uintptr) { /* sqlite3.c:226574:13: */ if (*Fts5StructureSegment)(unsafe.Pointer(pSeg)).FpgnoFirst == 0 { // This happens if the segment is being used as an input to an incremental // merge and all data has already been "trimmed". See function @@ -182300,7 +182331,7 @@ func fts5SegIterInit(tls *libc.TLS, p uintptr, pSeg uintptr, pIter uintptr) { /* // aRowidOffset[] and iRowidOffset variables. At this point the iterator // is in its regular state - Fts5SegIter.iLeafOffset points to the first // byte of the position list content associated with said rowid. -func fts5SegIterReverseInitPage(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:226566:13: */ +func fts5SegIterReverseInitPage(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:226623:13: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -182359,7 +182390,7 @@ func fts5SegIterReverseInitPage(tls *libc.TLS, p uintptr, pIter uintptr) { /* sq } // -func fts5SegIterReverseNewPage(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:226619:13: */ +func fts5SegIterReverseNewPage(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:226676:13: */ fts5DataRelease(tls, (*Fts5SegIter)(unsafe.Pointer(pIter)).FpLeaf) (*Fts5SegIter)(unsafe.Pointer(pIter)).FpLeaf = uintptr(0) @@ -182409,7 +182440,7 @@ func fts5SegIterReverseNewPage(tls *libc.TLS, p uintptr, pIter uintptr) { /* sql // Return true if the iterator passed as the second argument currently // points to a delete marker. A delete marker is an entry with a 0 byte // position-list. -func fts5MultiIterIsEmpty(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlite3.c:226675:12: */ +func fts5MultiIterIsEmpty(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlite3.c:226732:12: */ var pSeg uintptr = pIter + 68 + uintptr((*Fts5CResult)(unsafe.Pointer((*Fts5Iter)(unsafe.Pointer(pIter)).FaFirst+1*4)).FiFirst)*92 return libc.Bool32((*Fts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK && (*Fts5SegIter)(unsafe.Pointer(pSeg)).FpLeaf != 0 && (*Fts5SegIter)(unsafe.Pointer(pSeg)).FnPos == 0) } @@ -182417,7 +182448,7 @@ func fts5MultiIterIsEmpty(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sq // Advance iterator pIter to the next entry. // // This version of fts5SegIterNext() is only used by reverse iterators. -func fts5SegIterNext_Reverse(tls *libc.TLS, p uintptr, pIter uintptr, pbUnused uintptr) { /* sqlite3.c:226685:13: */ +func fts5SegIterNext_Reverse(tls *libc.TLS, p uintptr, pIter uintptr, pbUnused uintptr) { /* sqlite3.c:226742:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -182446,7 +182477,7 @@ func fts5SegIterNext_Reverse(tls *libc.TLS, p uintptr, pIter uintptr, pbUnused u // // This version of fts5SegIterNext() is only used if detail=none and the // iterator is not a reverse direction iterator. -func fts5SegIterNext_None(tls *libc.TLS, p uintptr, pIter uintptr, pbNewTerm uintptr) { /* sqlite3.c:226719:13: */ +func fts5SegIterNext_None(tls *libc.TLS, p uintptr, pIter uintptr, pbNewTerm uintptr) { /* sqlite3.c:226776:13: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -182551,7 +182582,7 @@ next_none_eof: // If an error occurs, Fts5Index.rc is set to an appropriate error code. It // is not considered an error if the iterator reaches EOF. If an error has // already occurred when this function is called, it is a no-op. -func fts5SegIterNext(tls *libc.TLS, p uintptr, pIter uintptr, pbNewTerm uintptr) { /* sqlite3.c:226791:13: */ +func fts5SegIterNext(tls *libc.TLS, p uintptr, pIter uintptr, pbNewTerm uintptr) { /* sqlite3.c:226848:13: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -182676,7 +182707,7 @@ func fts5SegIterNext(tls *libc.TLS, p uintptr, pIter uintptr, pbNewTerm uintptr) // Iterator pIter currently points to the first rowid in a doclist. This // function sets the iterator up so that iterates in reverse order through // the doclist. -func fts5SegIterReverse(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:226922:13: */ +func fts5SegIterReverse(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:226979:13: */ var pDlidx uintptr = (*Fts5SegIter)(unsafe.Pointer(pIter)).FpDlidx var pLast uintptr = uintptr(0) var pgnoLast int32 = 0 @@ -182776,7 +182807,7 @@ func fts5SegIterReverse(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c: // There is a doclist-index associated with the final term on the current // page. If the current term is the last term on the page, load the // doclist-index from disk and initialize an iterator at (pIter->pDlidx). -func fts5SegIterLoadDlidx(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:227011:13: */ +func fts5SegIterLoadDlidx(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:227068:13: */ var iSeg int32 = (*Fts5StructureSegment)(unsafe.Pointer((*Fts5SegIter)(unsafe.Pointer(pIter)).FpSeg)).FiSegid var bRev int32 = (*Fts5SegIter)(unsafe.Pointer(pIter)).Fflags & FTS5_SEGITER_REVERSE var pLeaf uintptr = (*Fts5SegIter)(unsafe.Pointer(pIter)).FpLeaf // Current leaf data @@ -182804,7 +182835,7 @@ func fts5SegIterLoadDlidx(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3. // iterator is left pointing to the smallest term in the segment that // is larger than the specified term, even if this term is not on the // current page. -func fts5LeafSeek(tls *libc.TLS, p uintptr, bGe int32, pIter uintptr, pTerm uintptr, nTerm int32) { /* sqlite3.c:227045:13: */ +func fts5LeafSeek(tls *libc.TLS, p uintptr, bGe int32, pIter uintptr, pTerm uintptr, nTerm int32) { /* sqlite3.c:227102:13: */ bp := tls.Alloc(20) defer tls.Free(20) @@ -183038,7 +183069,7 @@ __31: fts5SegIterLoadNPos(tls, p, pIter) } -func fts5IdxSelectStmt(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:227171:21: */ +func fts5IdxSelectStmt(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:227228:21: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -183057,7 +183088,7 @@ func fts5IdxSelectStmt(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:227171:2 // // If an error occurs, Fts5Index.rc is set to an appropriate error code. If // an error has already occurred when this function is called, it is a no-op. -func fts5SegIterSeekInit(tls *libc.TLS, p uintptr, pTerm uintptr, nTerm int32, flags int32, pSeg uintptr, pIter uintptr) { /* sqlite3.c:227190:13: */ +func fts5SegIterSeekInit(tls *libc.TLS, p uintptr, pTerm uintptr, nTerm int32, flags int32, pSeg uintptr, pIter uintptr) { /* sqlite3.c:227247:13: */ var iPg int32 = 1 var bGe int32 = flags & FTS5INDEX_QUERY_SCAN var bDlidx int32 = 0 // True if there is a doclist-index @@ -183127,7 +183158,7 @@ func fts5SegIterSeekInit(tls *libc.TLS, p uintptr, pTerm uintptr, nTerm int32, f // // If an error occurs, Fts5Index.rc is set to an appropriate error code. If // an error has already occurred when this function is called, it is a no-op. -func fts5SegIterHashInit(tls *libc.TLS, p uintptr, pTerm uintptr, nTerm int32, flags int32, pIter uintptr) { /* sqlite3.c:227273:13: */ +func fts5SegIterHashInit(tls *libc.TLS, p uintptr, pTerm uintptr, nTerm int32, flags int32, pIter uintptr) { /* sqlite3.c:227330:13: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -183183,7 +183214,7 @@ func fts5SegIterHashInit(tls *libc.TLS, p uintptr, pTerm uintptr, nTerm int32, f } // Zero the iterator passed as the only argument. -func fts5SegIterClear(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:227332:13: */ +func fts5SegIterClear(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:227389:13: */ sqlite3Fts5BufferFree(tls, pIter+64) fts5DataRelease(tls, (*Fts5SegIter)(unsafe.Pointer(pIter)).FpLeaf) fts5DataRelease(tls, (*Fts5SegIter)(unsafe.Pointer(pIter)).FpNextLeaf) @@ -183198,7 +183229,7 @@ func fts5SegIterClear(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:227332:13: */ // in the pIter->aSeg[] array that is (a) not at EOF, and (b) pointing // to a key that is a duplicate of another, higher priority, // segment-iterator in the pSeg->aSeg[] array. -func fts5MultiIterDoCompare(tls *libc.TLS, pIter uintptr, iOut int32) int32 { /* sqlite3.c:227436:12: */ +func fts5MultiIterDoCompare(tls *libc.TLS, pIter uintptr, iOut int32) int32 { /* sqlite3.c:227493:12: */ var i1 int32 // Index of left-hand Fts5SegIter var i2 int32 // Index of right-hand Fts5SegIter var iRes int32 @@ -183250,7 +183281,7 @@ func fts5MultiIterDoCompare(tls *libc.TLS, pIter uintptr, iOut int32) int32 { /* // Move the seg-iter so that it points to the first rowid on page iLeafPgno. // It is an error if leaf iLeafPgno does not exist or contains no rowids. -func fts5SegIterGotoPage(tls *libc.TLS, p uintptr, pIter uintptr, iLeafPgno int32) { /* sqlite3.c:227490:13: */ +func fts5SegIterGotoPage(tls *libc.TLS, p uintptr, pIter uintptr, iLeafPgno int32) { /* sqlite3.c:227547:13: */ if iLeafPgno > (*Fts5StructureSegment)(unsafe.Pointer((*Fts5SegIter)(unsafe.Pointer(pIter)).FpSeg)).FpgnoLast { (*Fts5Index)(unsafe.Pointer(p)).Frc = SQLITE_CORRUPT | int32(1)<<8 @@ -183280,7 +183311,7 @@ func fts5SegIterGotoPage(tls *libc.TLS, p uintptr, pIter uintptr, iLeafPgno int3 // Advance the iterator passed as the second argument until it is at or // past rowid iFrom. Regardless of the value of iFrom, the iterator is // always advanced at least once. -func fts5SegIterNextFrom(tls *libc.TLS, p uintptr, pIter uintptr, iMatch I64) { /* sqlite3.c:227528:13: */ +func fts5SegIterNextFrom(tls *libc.TLS, p uintptr, pIter uintptr, iMatch I64) { /* sqlite3.c:227585:13: */ var bRev int32 = (*Fts5SegIter)(unsafe.Pointer(pIter)).Fflags & FTS5_SEGITER_REVERSE var pDlidx uintptr = (*Fts5SegIter)(unsafe.Pointer(pIter)).FpDlidx var iLeafPgno int32 = (*Fts5SegIter)(unsafe.Pointer(pIter)).FiLeafPgno @@ -183330,7 +183361,7 @@ func fts5SegIterNextFrom(tls *libc.TLS, p uintptr, pIter uintptr, iMatch I64) { } // Free the iterator object passed as the second argument. -func fts5MultiIterFree(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:227582:13: */ +func fts5MultiIterFree(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:227639:13: */ if pIter != 0 { var i int32 for i = 0; i < (*Fts5Iter)(unsafe.Pointer(pIter)).FnSeg; i++ { @@ -183341,7 +183372,7 @@ func fts5MultiIterFree(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:227582:13: * } } -func fts5MultiIterAdvanced(tls *libc.TLS, p uintptr, pIter uintptr, iChanged int32, iMinset int32) { /* sqlite3.c:227593:13: */ +func fts5MultiIterAdvanced(tls *libc.TLS, p uintptr, pIter uintptr, iChanged int32, iMinset int32) { /* sqlite3.c:227650:13: */ var i int32 for i = ((*Fts5Iter)(unsafe.Pointer(pIter)).FnSeg + iChanged) / 2; i >= iMinset && (*Fts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK; i = i / 2 { var iEq int32 @@ -183364,7 +183395,7 @@ func fts5MultiIterAdvanced(tls *libc.TLS, p uintptr, pIter uintptr, iChanged int // If non-zero is returned, the caller should call fts5MultiIterAdvanced() // on the iterator instead. That function does the same as this one, except // that it deals with more complicated cases as well. -func fts5MultiIterAdvanceRowid(tls *libc.TLS, pIter uintptr, iChanged int32, ppFirst uintptr) int32 { /* sqlite3.c:227621:12: */ +func fts5MultiIterAdvanceRowid(tls *libc.TLS, pIter uintptr, iChanged int32, ppFirst uintptr) int32 { /* sqlite3.c:227678:12: */ var pNew uintptr = pIter + 68 + uintptr(iChanged)*92 if (*Fts5SegIter)(unsafe.Pointer(pNew)).FiRowid == (*Fts5Iter)(unsafe.Pointer(pIter)).FiSwitchRowid || @@ -183404,7 +183435,7 @@ func fts5MultiIterAdvanceRowid(tls *libc.TLS, pIter uintptr, iChanged int32, ppF } // Set the pIter->bEof variable based on the state of the sub-iterators. -func fts5MultiIterSetEof(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:227664:13: */ +func fts5MultiIterSetEof(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:227721:13: */ var pSeg uintptr = pIter + 68 + uintptr((*Fts5CResult)(unsafe.Pointer((*Fts5Iter)(unsafe.Pointer(pIter)).FaFirst+1*4)).FiFirst)*92 (*Fts5Iter)(unsafe.Pointer(pIter)).Fbase.FbEof = U8(libc.Bool32((*Fts5SegIter)(unsafe.Pointer(pSeg)).FpLeaf == uintptr(0))) (*Fts5Iter)(unsafe.Pointer(pIter)).FiSwitchRowid = (*Fts5SegIter)(unsafe.Pointer(pSeg)).FiRowid @@ -183415,7 +183446,7 @@ func fts5MultiIterSetEof(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:227664:13: // If an error occurs, an error code is left in Fts5Index.rc. It is not // considered an error if the iterator reaches EOF, or if it is already at // EOF when this function is called. -func fts5MultiIterNext(tls *libc.TLS, p uintptr, pIter uintptr, bFrom int32, iFrom I64) { /* sqlite3.c:227677:13: */ +func fts5MultiIterNext(tls *libc.TLS, p uintptr, pIter uintptr, bFrom int32, iFrom I64) { /* sqlite3.c:227734:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -183454,7 +183485,7 @@ func fts5MultiIterNext(tls *libc.TLS, p uintptr, pIter uintptr, bFrom int32, iFr } } -func fts5MultiIterNext2(tls *libc.TLS, p uintptr, pIter uintptr, pbNewTerm uintptr) { /* sqlite3.c:227715:13: */ +func fts5MultiIterNext2(tls *libc.TLS, p uintptr, pIter uintptr, pbNewTerm uintptr) { /* sqlite3.c:227772:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -183479,12 +183510,12 @@ func fts5MultiIterNext2(tls *libc.TLS, p uintptr, pIter uintptr, pbNewTerm uintp } } -func fts5IterSetOutputs_Noop(tls *libc.TLS, pUnused1 uintptr, pUnused2 uintptr) { /* sqlite3.c:227743:13: */ +func fts5IterSetOutputs_Noop(tls *libc.TLS, pUnused1 uintptr, pUnused2 uintptr) { /* sqlite3.c:227800:13: */ _ = pUnused1 _ = pUnused2 } -func fts5MultiIterAlloc(tls *libc.TLS, p uintptr, nSeg int32) uintptr { /* sqlite3.c:227747:17: */ +func fts5MultiIterAlloc(tls *libc.TLS, p uintptr, nSeg int32) uintptr { /* sqlite3.c:227804:17: */ var pNew uintptr var nSlot int32 // Power of two >= nSeg @@ -183503,7 +183534,7 @@ func fts5MultiIterAlloc(tls *libc.TLS, p uintptr, nSeg int32) uintptr { /* sqlit return pNew } -func fts5PoslistCallback(tls *libc.TLS, pUnused uintptr, pContext uintptr, pChunk uintptr, nChunk int32) { /* sqlite3.c:227769:13: */ +func fts5PoslistCallback(tls *libc.TLS, pUnused uintptr, pContext uintptr, pChunk uintptr, nChunk int32) { /* sqlite3.c:227826:13: */ _ = pUnused if nChunk > 0 { @@ -183519,21 +183550,21 @@ type PoslistCallbackCtx1 = struct { FpBuf uintptr FpColset uintptr FeState int32 -} /* sqlite3.c:227781:9 */ +} /* sqlite3.c:227838:9 */ -type PoslistCallbackCtx = PoslistCallbackCtx1 /* sqlite3.c:227781:35 */ +type PoslistCallbackCtx = PoslistCallbackCtx1 /* sqlite3.c:227838:35 */ type PoslistOffsetsCtx1 = struct { FpBuf uintptr FpColset uintptr FiRead int32 FiWrite int32 -} /* sqlite3.c:227788:9 */ +} /* sqlite3.c:227845:9 */ -type PoslistOffsetsCtx = PoslistOffsetsCtx1 /* sqlite3.c:227788:34 */ +type PoslistOffsetsCtx = PoslistOffsetsCtx1 /* sqlite3.c:227845:34 */ // TODO: Make this more efficient! -func fts5IndexColsetTest(tls *libc.TLS, pColset uintptr, iCol int32) int32 { /* sqlite3.c:227799:12: */ +func fts5IndexColsetTest(tls *libc.TLS, pColset uintptr, iCol int32) int32 { /* sqlite3.c:227856:12: */ var i int32 for i = 0; i < (*Fts5Colset)(unsafe.Pointer(pColset)).FnCol; i++ { if *(*int32)(unsafe.Pointer(pColset + 4 + uintptr(i)*4)) == iCol { @@ -183543,7 +183574,7 @@ func fts5IndexColsetTest(tls *libc.TLS, pColset uintptr, iCol int32) int32 { /* return 0 } -func fts5PoslistOffsetsCallback(tls *libc.TLS, pUnused uintptr, pContext uintptr, pChunk uintptr, nChunk int32) { /* sqlite3.c:227807:13: */ +func fts5PoslistOffsetsCallback(tls *libc.TLS, pUnused uintptr, pContext uintptr, pChunk uintptr, nChunk int32) { /* sqlite3.c:227864:13: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -183569,7 +183600,7 @@ func fts5PoslistOffsetsCallback(tls *libc.TLS, pUnused uintptr, pContext uintptr } } -func fts5PoslistFilterCallback(tls *libc.TLS, pUnused uintptr, pContext uintptr, pChunk uintptr, nChunk int32) { /* sqlite3.c:227830:13: */ +func fts5PoslistFilterCallback(tls *libc.TLS, pUnused uintptr, pContext uintptr, pChunk uintptr, nChunk int32) { /* sqlite3.c:227887:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -183649,7 +183680,7 @@ func fts5PoslistFilterCallback(tls *libc.TLS, pUnused uintptr, pContext uintptr, } } -func fts5ChunkIterate(tls *libc.TLS, p uintptr, pSeg uintptr, pCtx uintptr, xChunk uintptr) { /* sqlite3.c:227882:13: */ +func fts5ChunkIterate(tls *libc.TLS, p uintptr, pSeg uintptr, pCtx uintptr, xChunk uintptr) { /* sqlite3.c:227939:13: */ var nRem int32 = (*Fts5SegIter)(unsafe.Pointer(pSeg)).FnPos // Number of bytes still to come var pData uintptr = uintptr(0) var pChunk uintptr = (*Fts5Data)(unsafe.Pointer((*Fts5SegIter)(unsafe.Pointer(pSeg)).FpLeaf)).Fp + uintptr((*Fts5SegIter)(unsafe.Pointer(pSeg)).FiLeafOffset) @@ -183705,7 +183736,7 @@ func fts5ChunkIterate(tls *libc.TLS, p uintptr, pSeg uintptr, pCtx uintptr, xChu // function appends the position list data for the current entry to // buffer pBuf. It does not make a copy of the position-list size // field. -func fts5SegiterPoslist(tls *libc.TLS, p uintptr, pSeg uintptr, pColset uintptr, pBuf uintptr) { /* sqlite3.c:227932:13: */ +func fts5SegiterPoslist(tls *libc.TLS, p uintptr, pSeg uintptr, pColset uintptr, pBuf uintptr) { /* sqlite3.c:227989:13: */ bp := tls.Alloc(28) defer tls.Free(28) @@ -183756,7 +183787,7 @@ func fts5SegiterPoslist(tls *libc.TLS, p uintptr, pSeg uintptr, pColset uintptr, // This function is a no-op if *pRc is other than SQLITE_OK when it is // called. If an OOM error is encountered, *pRc is set to SQLITE_NOMEM // before returning. -func fts5IndexExtractColset(tls *libc.TLS, pRc uintptr, pColset uintptr, pPos uintptr, nPos int32, pIter uintptr) { /* sqlite3.c:227977:13: */ +func fts5IndexExtractColset(tls *libc.TLS, pRc uintptr, pColset uintptr, pPos uintptr, nPos int32, pIter uintptr) { /* sqlite3.c:228034:13: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -183817,7 +183848,7 @@ func fts5IndexExtractColset(tls *libc.TLS, pRc uintptr, pColset uintptr, pPos ui } // xSetOutputs callback used by detail=none tables. -func fts5IterSetOutputs_None(tls *libc.TLS, pIter uintptr, pSeg uintptr) { /* sqlite3.c:228037:13: */ +func fts5IterSetOutputs_None(tls *libc.TLS, pIter uintptr, pSeg uintptr) { /* sqlite3.c:228094:13: */ (*Fts5Iter)(unsafe.Pointer(pIter)).Fbase.FiRowid = (*Fts5SegIter)(unsafe.Pointer(pSeg)).FiRowid (*Fts5Iter)(unsafe.Pointer(pIter)).Fbase.FnData = (*Fts5SegIter)(unsafe.Pointer(pSeg)).FnPos @@ -183825,7 +183856,7 @@ func fts5IterSetOutputs_None(tls *libc.TLS, pIter uintptr, pSeg uintptr) { /* sq // xSetOutputs callback used by detail=full and detail=col tables when no // column filters are specified. -func fts5IterSetOutputs_Nocolset(tls *libc.TLS, pIter uintptr, pSeg uintptr) { /* sqlite3.c:228047:13: */ +func fts5IterSetOutputs_Nocolset(tls *libc.TLS, pIter uintptr, pSeg uintptr) { /* sqlite3.c:228104:13: */ (*Fts5Iter)(unsafe.Pointer(pIter)).Fbase.FiRowid = (*Fts5SegIter)(unsafe.Pointer(pSeg)).FiRowid (*Fts5Iter)(unsafe.Pointer(pIter)).Fbase.FnData = (*Fts5SegIter)(unsafe.Pointer(pSeg)).FnPos @@ -183845,7 +183876,7 @@ func fts5IterSetOutputs_Nocolset(tls *libc.TLS, pIter uintptr, pSeg uintptr) { / // xSetOutputs callback used when the Fts5Colset object has nCol==0 (match // against no columns at all). -func fts5IterSetOutputs_ZeroColset(tls *libc.TLS, pIter uintptr, pSeg uintptr) { /* sqlite3.c:228072:13: */ +func fts5IterSetOutputs_ZeroColset(tls *libc.TLS, pIter uintptr, pSeg uintptr) { /* sqlite3.c:228129:13: */ _ = pSeg (*Fts5Iter)(unsafe.Pointer(pIter)).Fbase.FnData = 0 } @@ -183853,7 +183884,7 @@ func fts5IterSetOutputs_ZeroColset(tls *libc.TLS, pIter uintptr, pSeg uintptr) { // xSetOutputs callback used by detail=col when there is a column filter // and there are 100 or more columns. Also called as a fallback from // fts5IterSetOutputs_Col100 if the column-list spans more than one page. -func fts5IterSetOutputs_Col(tls *libc.TLS, pIter uintptr, pSeg uintptr) { /* sqlite3.c:228082:13: */ +func fts5IterSetOutputs_Col(tls *libc.TLS, pIter uintptr, pSeg uintptr) { /* sqlite3.c:228139:13: */ sqlite3Fts5BufferZero(tls, pIter+24) fts5SegiterPoslist(tls, (*Fts5Iter)(unsafe.Pointer(pIter)).FpIndex, pSeg, (*Fts5Iter)(unsafe.Pointer(pIter)).FpColset, pIter+24) (*Fts5Iter)(unsafe.Pointer(pIter)).Fbase.FiRowid = (*Fts5SegIter)(unsafe.Pointer(pSeg)).FiRowid @@ -183869,7 +183900,7 @@ func fts5IterSetOutputs_Col(tls *libc.TLS, pIter uintptr, pSeg uintptr) { /* sql // // The last point is to ensure all column numbers are stored as // single-byte varints. -func fts5IterSetOutputs_Col100(tls *libc.TLS, pIter uintptr, pSeg uintptr) { /* sqlite3.c:228100:13: */ +func fts5IterSetOutputs_Col100(tls *libc.TLS, pIter uintptr, pSeg uintptr) { /* sqlite3.c:228157:13: */ var a uintptr var pEnd uintptr var iPrev int32 @@ -183931,7 +183962,7 @@ __2: } // xSetOutputs callback used by detail=full when there is a column filter. -func fts5IterSetOutputs_Full(tls *libc.TLS, pIter uintptr, pSeg uintptr) { /* sqlite3.c:228140:13: */ +func fts5IterSetOutputs_Full(tls *libc.TLS, pIter uintptr, pSeg uintptr) { /* sqlite3.c:228197:13: */ var pColset uintptr = (*Fts5Iter)(unsafe.Pointer(pIter)).FpColset (*Fts5Iter)(unsafe.Pointer(pIter)).Fbase.FiRowid = (*Fts5SegIter)(unsafe.Pointer(pSeg)).FiRowid @@ -183953,7 +183984,7 @@ func fts5IterSetOutputs_Full(tls *libc.TLS, pIter uintptr, pSeg uintptr) { /* sq } } -func fts5IterSetOutputCb(tls *libc.TLS, pRc uintptr, pIter uintptr) { /* sqlite3.c:228165:13: */ +func fts5IterSetOutputCb(tls *libc.TLS, pRc uintptr, pIter uintptr) { /* sqlite3.c:228222:13: */ if *(*int32)(unsafe.Pointer(pRc)) == SQLITE_OK { var pConfig uintptr = (*Fts5Index)(unsafe.Pointer((*Fts5Iter)(unsafe.Pointer(pIter)).FpIndex)).FpConfig @@ -183998,7 +184029,7 @@ func fts5IterSetOutputCb(tls *libc.TLS, pRc uintptr, pIter uintptr) { /* sqlite3 // // The iterator initially points to the first term/rowid entry in the // iterated data. -func fts5MultiIterNew(tls *libc.TLS, p uintptr, pStruct uintptr, flags int32, pColset uintptr, pTerm uintptr, nTerm int32, iLevel int32, nSegment int32, ppOut uintptr) { /* sqlite3.c:228209:13: */ +func fts5MultiIterNew(tls *libc.TLS, p uintptr, pStruct uintptr, flags int32, pColset uintptr, pTerm uintptr, nTerm int32, iLevel int32, nSegment int32, ppOut uintptr) { /* sqlite3.c:228266:13: */ var nSeg int32 // Number of segment-iters in use var iIter int32 // var iSeg int32 // Used to iterate through segments @@ -184201,7 +184232,7 @@ fts5MultiIterNew_post_check: // Create an Fts5Iter that iterates through the doclist provided // as the second argument. -func fts5MultiIterNew2(tls *libc.TLS, p uintptr, pData uintptr, bDesc int32, ppOut uintptr) { /* sqlite3.c:228315:13: */ +func fts5MultiIterNew2(tls *libc.TLS, p uintptr, pData uintptr, bDesc int32, ppOut uintptr) { /* sqlite3.c:228372:13: */ var pNew uintptr pNew = fts5MultiIterAlloc(tls, p, 2) if pNew != 0 { @@ -184234,7 +184265,7 @@ func fts5MultiIterNew2(tls *libc.TLS, p uintptr, pData uintptr, bDesc int32, ppO // Return true if the iterator is at EOF or if an error has occurred. // False otherwise. -func fts5MultiIterEof(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlite3.c:228355:12: */ +func fts5MultiIterEof(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlite3.c:228412:12: */ return libc.Bool32((*Fts5Index)(unsafe.Pointer(p)).Frc != 0 || (*Fts5Iter)(unsafe.Pointer(pIter)).Fbase.FbEof != 0) } @@ -184242,13 +184273,13 @@ func fts5MultiIterEof(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlite // Return the rowid of the entry that the iterator currently points // to. If the iterator points to EOF when this function is called the // results are undefined. -func fts5MultiIterRowid(tls *libc.TLS, pIter uintptr) I64 { /* sqlite3.c:228368:12: */ +func fts5MultiIterRowid(tls *libc.TLS, pIter uintptr) I64 { /* sqlite3.c:228425:12: */ return (*Fts5SegIter)(unsafe.Pointer(pIter + 68 + uintptr((*Fts5CResult)(unsafe.Pointer((*Fts5Iter)(unsafe.Pointer(pIter)).FaFirst+1*4)).FiFirst)*92)).FiRowid } // Move the iterator to the next entry at or following iMatch. -func fts5MultiIterNextFrom(tls *libc.TLS, p uintptr, pIter uintptr, iMatch I64) { /* sqlite3.c:228376:13: */ +func fts5MultiIterNextFrom(tls *libc.TLS, p uintptr, pIter uintptr, iMatch I64) { /* sqlite3.c:228433:13: */ for 1 != 0 { var iRowid I64 fts5MultiIterNext(tls, p, pIter, 1, iMatch) @@ -184267,7 +184298,7 @@ func fts5MultiIterNextFrom(tls *libc.TLS, p uintptr, pIter uintptr, iMatch I64) // Return a pointer to a buffer containing the term associated with the // entry that the iterator currently points to. -func fts5MultiIterTerm(tls *libc.TLS, pIter uintptr, pn uintptr) uintptr { /* sqlite3.c:228395:17: */ +func fts5MultiIterTerm(tls *libc.TLS, pIter uintptr, pn uintptr) uintptr { /* sqlite3.c:228452:17: */ var p uintptr = pIter + 68 + uintptr((*Fts5CResult)(unsafe.Pointer((*Fts5Iter)(unsafe.Pointer(pIter)).FaFirst+1*4)).FiFirst)*92 *(*int32)(unsafe.Pointer(pn)) = (*Fts5SegIter)(unsafe.Pointer(p)).Fterm.Fn return (*Fts5SegIter)(unsafe.Pointer(p)).Fterm.Fp @@ -184280,7 +184311,7 @@ func fts5MultiIterTerm(tls *libc.TLS, pIter uintptr, pn uintptr) uintptr { /* sq // // If an error has already occurred, this function is a no-op. 0 is // returned in this case. -func fts5AllocateSegid(tls *libc.TLS, p uintptr, pStruct uintptr) int32 { /* sqlite3.c:228410:12: */ +func fts5AllocateSegid(tls *libc.TLS, p uintptr, pStruct uintptr) int32 { /* sqlite3.c:228467:12: */ bp := tls.Alloc(252) defer tls.Free(252) @@ -184322,7 +184353,7 @@ func fts5AllocateSegid(tls *libc.TLS, p uintptr, pStruct uintptr) int32 { /* sql } // Discard all data currently cached in the hash-tables. -func fts5IndexDiscardData(tls *libc.TLS, p uintptr) { /* sqlite3.c:228467:13: */ +func fts5IndexDiscardData(tls *libc.TLS, p uintptr) { /* sqlite3.c:228524:13: */ if (*Fts5Index)(unsafe.Pointer(p)).FpHash != 0 { sqlite3Fts5HashClear(tls, (*Fts5Index)(unsafe.Pointer(p)).FpHash) @@ -184335,7 +184366,7 @@ func fts5IndexDiscardData(tls *libc.TLS, p uintptr) { /* sqlite3.c:228467:13: */ // // Buffer (pNew/) is guaranteed to be greater // than buffer (pOld/nOld). -func fts5PrefixCompress(tls *libc.TLS, nOld int32, pOld uintptr, pNew uintptr) int32 { /* sqlite3.c:228482:12: */ +func fts5PrefixCompress(tls *libc.TLS, nOld int32, pOld uintptr, pNew uintptr) int32 { /* sqlite3.c:228539:12: */ var i int32 for i = 0; i < nOld; i++ { if int32(*(*U8)(unsafe.Pointer(pOld + uintptr(i)))) != int32(*(*U8)(unsafe.Pointer(pNew + uintptr(i)))) { @@ -184345,7 +184376,7 @@ func fts5PrefixCompress(tls *libc.TLS, nOld int32, pOld uintptr, pNew uintptr) i return i } -func fts5WriteDlidxClear(tls *libc.TLS, p uintptr, pWriter uintptr, bFlush int32) { /* sqlite3.c:228490:13: */ +func fts5WriteDlidxClear(tls *libc.TLS, p uintptr, pWriter uintptr, bFlush int32) { /* sqlite3.c:228547:13: */ var i int32 for i = 0; i < (*Fts5SegWriter)(unsafe.Pointer(pWriter)).FnDlidx; i++ { @@ -184366,7 +184397,7 @@ func fts5WriteDlidxClear(tls *libc.TLS, p uintptr, pWriter uintptr, bFlush int32 // Grow the pWriter->aDlidx[] array to at least nLvl elements in size. // Any new array elements are zeroed before returning. -func fts5WriteDlidxGrow(tls *libc.TLS, p uintptr, pWriter uintptr, nLvl int32) int32 { /* sqlite3.c:228516:12: */ +func fts5WriteDlidxGrow(tls *libc.TLS, p uintptr, pWriter uintptr, nLvl int32) int32 { /* sqlite3.c:228573:12: */ if (*Fts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK && nLvl >= (*Fts5SegWriter)(unsafe.Pointer(pWriter)).FnDlidx { var aDlidx uintptr = Xsqlite3_realloc64(tls, (*Fts5SegWriter)(unsafe.Pointer(pWriter)).FaDlidx, uint64(uint32(unsafe.Sizeof(Fts5DlidxWriter{}))*uint32(nLvl))) @@ -184385,7 +184416,7 @@ func fts5WriteDlidxGrow(tls *libc.TLS, p uintptr, pWriter uintptr, nLvl int32) i // If the current doclist-index accumulating in pWriter->aDlidx[] is large // enough, flush it to disk and return 1. Otherwise discard it and return // zero. -func fts5WriteFlushDlidx(tls *libc.TLS, p uintptr, pWriter uintptr) int32 { /* sqlite3.c:228542:12: */ +func fts5WriteFlushDlidx(tls *libc.TLS, p uintptr, pWriter uintptr) int32 { /* sqlite3.c:228599:12: */ var bFlag int32 = 0 // If there were FTS5_MIN_DLIDX_SIZE or more empty leaf pages written @@ -184407,7 +184438,7 @@ func fts5WriteFlushDlidx(tls *libc.TLS, p uintptr, pWriter uintptr) int32 { /* s // it. // // Fts5SegWriter.btterm currently contains the first term on page iBtPage. -func fts5WriteFlushBtree(tls *libc.TLS, p uintptr, pWriter uintptr) { /* sqlite3.c:228566:13: */ +func fts5WriteFlushBtree(tls *libc.TLS, p uintptr, pWriter uintptr) { /* sqlite3.c:228623:13: */ var bFlag int32 if (*Fts5SegWriter)(unsafe.Pointer(pWriter)).FiBtPage == 0 { @@ -184440,7 +184471,7 @@ func fts5WriteFlushBtree(tls *libc.TLS, p uintptr, pWriter uintptr) { /* sqlite3 // // If an error occurs, an error code is left in Fts5Index.rc. If an error // has already occurred when this function is called, it is a no-op. -func fts5WriteBtreeTerm(tls *libc.TLS, p uintptr, pWriter uintptr, nTerm int32, pTerm uintptr) { /* sqlite3.c:228595:13: */ +func fts5WriteBtreeTerm(tls *libc.TLS, p uintptr, pWriter uintptr, nTerm int32, pTerm uintptr) { /* sqlite3.c:228652:13: */ fts5WriteFlushBtree(tls, p, pWriter) if (*Fts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK { sqlite3Fts5BufferSet(tls, p+32, pWriter+76, nTerm, pTerm) @@ -184450,7 +184481,7 @@ func fts5WriteBtreeTerm(tls *libc.TLS, p uintptr, pWriter uintptr, nTerm int32, // This function is called when flushing a leaf page that contains no // terms at all to disk. -func fts5WriteBtreeNoTerm(tls *libc.TLS, p uintptr, pWriter uintptr) { /* sqlite3.c:228611:13: */ +func fts5WriteBtreeNoTerm(tls *libc.TLS, p uintptr, pWriter uintptr) { /* sqlite3.c:228668:13: */ // If there were no rowids on the leaf page either and the doclist-index // has already been started, append an 0x00 byte to it. if (*Fts5SegWriter)(unsafe.Pointer(pWriter)).FbFirstRowidInPage != 0 && (*Fts5DlidxWriter)(unsafe.Pointer((*Fts5SegWriter)(unsafe.Pointer(pWriter)).FaDlidx)).Fbuf.Fn > 0 { @@ -184463,7 +184494,7 @@ func fts5WriteBtreeNoTerm(tls *libc.TLS, p uintptr, pWriter uintptr) { /* sqlite (*Fts5SegWriter)(unsafe.Pointer(pWriter)).FnEmpty++ } -func fts5DlidxExtractFirstRowid(tls *libc.TLS, pBuf uintptr) I64 { /* sqlite3.c:228627:12: */ +func fts5DlidxExtractFirstRowid(tls *libc.TLS, pBuf uintptr) I64 { /* sqlite3.c:228684:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -184479,7 +184510,7 @@ func fts5DlidxExtractFirstRowid(tls *libc.TLS, pBuf uintptr) I64 { /* sqlite3.c: // Rowid iRowid has just been appended to the current leaf page. It is the // first on the page. This function appends an appropriate entry to the current // doclist-index. -func fts5WriteDlidxAppend(tls *libc.TLS, p uintptr, pWriter uintptr, iRowid I64) { /* sqlite3.c:228641:13: */ +func fts5WriteDlidxAppend(tls *libc.TLS, p uintptr, pWriter uintptr, iRowid I64) { /* sqlite3.c:228698:13: */ var i int32 var bDone int32 = 0 @@ -184539,7 +184570,7 @@ func fts5WriteDlidxAppend(tls *libc.TLS, p uintptr, pWriter uintptr, iRowid I64) } } -func fts5WriteFlushLeaf(tls *libc.TLS, p uintptr, pWriter uintptr) { /* sqlite3.c:228701:13: */ +func fts5WriteFlushLeaf(tls *libc.TLS, p uintptr, pWriter uintptr) { /* sqlite3.c:228758:13: */ var pPage uintptr = pWriter + 4 var iRowid I64 @@ -184575,14 +184606,14 @@ func fts5WriteFlushLeaf(tls *libc.TLS, p uintptr, pWriter uintptr) { /* sqlite3. (*Fts5SegWriter)(unsafe.Pointer(pWriter)).FbFirstRowidInPage = U8(1) } -var zero = [4]U8{U8(0x00), U8(0x00), U8(0x00), U8(0x00)} /* sqlite3.c:228702:19 */ +var zero = [4]U8{U8(0x00), U8(0x00), U8(0x00), U8(0x00)} /* sqlite3.c:228759:19 */ // Append term pTerm/nTerm to the segment being written by the writer passed // as the second argument. // // If an error occurs, set the Fts5Index.rc error code. If an error has // already occurred, this function is a no-op. -func fts5WriteAppendTerm(tls *libc.TLS, p uintptr, pWriter uintptr, nTerm int32, pTerm uintptr) { /* sqlite3.c:228747:13: */ +func fts5WriteAppendTerm(tls *libc.TLS, p uintptr, pWriter uintptr, nTerm int32, pTerm uintptr) { /* sqlite3.c:228804:13: */ var nPrefix int32 // Bytes of prefix compression for term var pPage uintptr = pWriter + 4 var pPgidx uintptr = pWriter + 4 + 20 @@ -184658,7 +184689,7 @@ func fts5WriteAppendTerm(tls *libc.TLS, p uintptr, pWriter uintptr, nTerm int32, } // Append a rowid and position-list size field to the writers output. -func fts5WriteAppendRowid(tls *libc.TLS, p uintptr, pWriter uintptr, iRowid I64) { /* sqlite3.c:228828:13: */ +func fts5WriteAppendRowid(tls *libc.TLS, p uintptr, pWriter uintptr, iRowid I64) { /* sqlite3.c:228885:13: */ if (*Fts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK { var pPage uintptr = pWriter + 4 @@ -184687,7 +184718,7 @@ func fts5WriteAppendRowid(tls *libc.TLS, p uintptr, pWriter uintptr, iRowid I64) } } -func fts5WriteAppendPoslistData(tls *libc.TLS, p uintptr, pWriter uintptr, aData uintptr, nData int32) { /* sqlite3.c:228861:13: */ +func fts5WriteAppendPoslistData(tls *libc.TLS, p uintptr, pWriter uintptr, aData uintptr, nData int32) { /* sqlite3.c:228918:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -184716,7 +184747,7 @@ func fts5WriteAppendPoslistData(tls *libc.TLS, p uintptr, pWriter uintptr, aData // Flush any data cached by the writer object to the database. Free any // allocations associated with the writer. -func fts5WriteFinish(tls *libc.TLS, p uintptr, pWriter uintptr, pnLeaf uintptr) { /* sqlite3.c:228895:13: */ +func fts5WriteFinish(tls *libc.TLS, p uintptr, pWriter uintptr, pnLeaf uintptr) { /* sqlite3.c:228952:13: */ var i int32 var pLeaf uintptr = pWriter + 4 if (*Fts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK { @@ -184740,7 +184771,7 @@ func fts5WriteFinish(tls *libc.TLS, p uintptr, pWriter uintptr, pnLeaf uintptr) Xsqlite3_free(tls, (*Fts5SegWriter)(unsafe.Pointer(pWriter)).FaDlidx) } -func fts5WriteInit(tls *libc.TLS, p uintptr, pWriter uintptr, iSegid int32) { /* sqlite3.c:228923:13: */ +func fts5WriteInit(tls *libc.TLS, p uintptr, pWriter uintptr, iSegid int32) { /* sqlite3.c:228980:13: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -184780,7 +184811,7 @@ func fts5WriteInit(tls *libc.TLS, p uintptr, pWriter uintptr, iSegid int32) { /* // Iterator pIter was used to iterate through the input segments of on an // incremental merge operation. This function is called if the incremental // merge step has finished but the input has not been completely exhausted. -func fts5TrimSegments(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:228970:13: */ +func fts5TrimSegments(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:229027:13: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -184849,13 +184880,13 @@ func fts5TrimSegments(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:22 sqlite3Fts5BufferFree(tls, bp) } -func fts5MergeChunkCallback(tls *libc.TLS, p uintptr, pCtx uintptr, pChunk uintptr, nChunk int32) { /* sqlite3.c:229036:13: */ +func fts5MergeChunkCallback(tls *libc.TLS, p uintptr, pCtx uintptr, pChunk uintptr, nChunk int32) { /* sqlite3.c:229093:13: */ var pWriter uintptr = pCtx fts5WriteAppendPoslistData(tls, p, pWriter, pChunk, nChunk) } // -func fts5IndexMergeLevel(tls *libc.TLS, p uintptr, ppStruct uintptr, iLvl int32, pnRem uintptr) { /* sqlite3.c:229048:13: */ +func fts5IndexMergeLevel(tls *libc.TLS, p uintptr, ppStruct uintptr, iLvl int32, pnRem uintptr) { /* sqlite3.c:229105:13: */ bp := tls.Alloc(112) defer tls.Free(112) @@ -185014,7 +185045,7 @@ func fts5IndexMergeLevel(tls *libc.TLS, p uintptr, ppStruct uintptr, iLvl int32, // Do up to nPg pages of automerge work on the index. // // Return true if any changes were actually made, or false otherwise. -func fts5IndexMerge(tls *libc.TLS, p uintptr, ppStruct uintptr, nPg int32, nMin int32) int32 { /* sqlite3.c:229198:12: */ +func fts5IndexMerge(tls *libc.TLS, p uintptr, ppStruct uintptr, nPg int32, nMin int32) int32 { /* sqlite3.c:229255:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -185064,7 +185095,7 @@ func fts5IndexMerge(tls *libc.TLS, p uintptr, ppStruct uintptr, nPg int32, nMin // // If an error occurs, set the Fts5Index.rc error code. If an error has // already occurred, this function is a no-op. -func fts5IndexAutomerge(tls *libc.TLS, p uintptr, ppStruct uintptr, nLeaf int32) { /* sqlite3.c:229257:13: */ +func fts5IndexAutomerge(tls *libc.TLS, p uintptr, ppStruct uintptr, nLeaf int32) { /* sqlite3.c:229314:13: */ if (*Fts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK && (*Fts5Config)(unsafe.Pointer((*Fts5Index)(unsafe.Pointer(p)).FpConfig)).FnAutomerge > 0 && *(*uintptr)(unsafe.Pointer(ppStruct)) != uintptr(0) { var pStruct uintptr = *(*uintptr)(unsafe.Pointer(ppStruct)) var nWrite U64 // Initial value of write-counter @@ -185081,7 +185112,7 @@ func fts5IndexAutomerge(tls *libc.TLS, p uintptr, ppStruct uintptr, nLeaf int32) } } -func fts5IndexCrisismerge(tls *libc.TLS, p uintptr, ppStruct uintptr) { /* sqlite3.c:229278:13: */ +func fts5IndexCrisismerge(tls *libc.TLS, p uintptr, ppStruct uintptr) { /* sqlite3.c:229335:13: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -185098,7 +185129,7 @@ func fts5IndexCrisismerge(tls *libc.TLS, p uintptr, ppStruct uintptr) { /* sqlit *(*uintptr)(unsafe.Pointer(ppStruct)) = *(*uintptr)(unsafe.Pointer(bp /* pStruct */)) } -func fts5IndexReturn(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:229296:12: */ +func fts5IndexReturn(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:229353:12: */ var rc int32 = (*Fts5Index)(unsafe.Pointer(p)).Frc (*Fts5Index)(unsafe.Pointer(p)).Frc = SQLITE_OK return rc @@ -185107,14 +185138,14 @@ func fts5IndexReturn(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:229296:12: * type Fts5FlushCtx1 = struct { FpIdx uintptr Fwriter Fts5SegWriter -} /* sqlite3.c:229302:9 */ +} /* sqlite3.c:229359:9 */ -type Fts5FlushCtx = Fts5FlushCtx1 /* sqlite3.c:229302:29 */ +type Fts5FlushCtx = Fts5FlushCtx1 /* sqlite3.c:229359:29 */ // Buffer aBuf[] contains a list of varints, all small enough to fit // in a 32-bit integer. Return the size of the largest prefix of this // list nMax bytes or less in size. -func fts5PoslistPrefix(tls *libc.TLS, aBuf uintptr, nMax int32) int32 { /* sqlite3.c:229313:12: */ +func fts5PoslistPrefix(tls *libc.TLS, aBuf uintptr, nMax int32) int32 { /* sqlite3.c:229370:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -185139,7 +185170,7 @@ func fts5PoslistPrefix(tls *libc.TLS, aBuf uintptr, nMax int32) int32 { /* sqlit // // If an error occurs, set the Fts5Index.rc error code. If an error has // already occurred, this function is a no-op. -func fts5FlushOneHash(tls *libc.TLS, p uintptr) { /* sqlite3.c:229334:13: */ +func fts5FlushOneHash(tls *libc.TLS, p uintptr) { /* sqlite3.c:229391:13: */ bp := tls.Alloc(128) defer tls.Free(128) @@ -185317,7 +185348,7 @@ func fts5FlushOneHash(tls *libc.TLS, p uintptr) { /* sqlite3.c:229334:13: */ } // Flush any data stored in the in-memory hash tables to the database. -func fts5IndexFlush(tls *libc.TLS, p uintptr) { /* sqlite3.c:229488:13: */ +func fts5IndexFlush(tls *libc.TLS, p uintptr) { /* sqlite3.c:229545:13: */ // Unless it is empty, flush the hash table to disk if (*Fts5Index)(unsafe.Pointer(p)).FnPendingData != 0 { @@ -185326,7 +185357,7 @@ func fts5IndexFlush(tls *libc.TLS, p uintptr) { /* sqlite3.c:229488:13: */ } } -func fts5IndexOptimizeStruct(tls *libc.TLS, p uintptr, pStruct uintptr) uintptr { /* sqlite3.c:229497:22: */ +func fts5IndexOptimizeStruct(tls *libc.TLS, p uintptr, pStruct uintptr) uintptr { /* sqlite3.c:229554:22: */ var pNew uintptr = uintptr(0) var nByte Sqlite3_int64 = Sqlite3_int64(unsafe.Sizeof(Fts5Structure{})) var nSeg int32 = (*Fts5Structure)(unsafe.Pointer(pStruct)).FnSegment @@ -185387,7 +185418,7 @@ func fts5IndexOptimizeStruct(tls *libc.TLS, p uintptr, pStruct uintptr) uintptr return pNew } -func sqlite3Fts5IndexOptimize(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:229559:12: */ +func sqlite3Fts5IndexOptimize(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:229616:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -185421,7 +185452,7 @@ func sqlite3Fts5IndexOptimize(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:229 // This is called to implement the special "VALUES('merge', $nMerge)" // INSERT command. -func sqlite3Fts5IndexMerge(tls *libc.TLS, p uintptr, nMerge int32) int32 { /* sqlite3.c:229593:12: */ +func sqlite3Fts5IndexMerge(tls *libc.TLS, p uintptr, nMerge int32) int32 { /* sqlite3.c:229650:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -185446,12 +185477,12 @@ func sqlite3Fts5IndexMerge(tls *libc.TLS, p uintptr, nMerge int32) int32 { /* sq return fts5IndexReturn(tls, p) } -func fts5AppendRowid(tls *libc.TLS, p uintptr, iDelta I64, pUnused uintptr, pBuf uintptr) { /* sqlite3.c:229615:13: */ +func fts5AppendRowid(tls *libc.TLS, p uintptr, iDelta I64, pUnused uintptr, pBuf uintptr) { /* sqlite3.c:229672:13: */ _ = pUnused sqlite3Fts5BufferAppendVarint(tls, p+32, pBuf, iDelta) } -func fts5AppendPoslist(tls *libc.TLS, p uintptr, iDelta I64, pMulti uintptr, pBuf uintptr) { /* sqlite3.c:229625:13: */ +func fts5AppendPoslist(tls *libc.TLS, p uintptr, iDelta I64, pMulti uintptr, pBuf uintptr) { /* sqlite3.c:229682:13: */ var nData int32 = (*Fts5Iter)(unsafe.Pointer(pMulti)).Fbase.FnData var nByte int32 = nData + 9 + 9 + FTS5_DATA_ZERO_PADDING @@ -185478,7 +185509,7 @@ func fts5AppendPoslist(tls *libc.TLS, p uintptr, iDelta I64, pMulti uintptr, pBu } } -func fts5DoclistIterNext(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:229643:13: */ +func fts5DoclistIterNext(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:229700:13: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -185510,7 +185541,7 @@ func fts5DoclistIterNext(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:229643:13: } } -func fts5DoclistIterInit(tls *libc.TLS, pBuf uintptr, pIter uintptr) { /* sqlite3.c:229672:13: */ +func fts5DoclistIterInit(tls *libc.TLS, pBuf uintptr, pIter uintptr) { /* sqlite3.c:229729:13: */ libc.Xmemset(tls, pIter, 0, uint32(unsafe.Sizeof(Fts5DoclistIter{}))) if (*Fts5Buffer)(unsafe.Pointer(pBuf)).Fn > 0 { (*Fts5DoclistIter)(unsafe.Pointer(pIter)).FaPoslist = (*Fts5Buffer)(unsafe.Pointer(pBuf)).Fp @@ -185520,13 +185551,13 @@ func fts5DoclistIterInit(tls *libc.TLS, pBuf uintptr, pIter uintptr) { /* sqlite } // Swap the contents of buffer *p1 with that of *p2. -func fts5BufferSwap(tls *libc.TLS, p1 uintptr, p2 uintptr) { /* sqlite3.c:229711:13: */ +func fts5BufferSwap(tls *libc.TLS, p1 uintptr, p2 uintptr) { /* sqlite3.c:229768:13: */ var tmp = *(*Fts5Buffer)(unsafe.Pointer(p1)) *(*Fts5Buffer)(unsafe.Pointer(p1)) = *(*Fts5Buffer)(unsafe.Pointer(p2)) *(*Fts5Buffer)(unsafe.Pointer(p2)) = tmp } -func fts5NextRowid(tls *libc.TLS, pBuf uintptr, piOff uintptr, piRowid uintptr) { /* sqlite3.c:229717:13: */ +func fts5NextRowid(tls *libc.TLS, pBuf uintptr, piOff uintptr, piRowid uintptr) { /* sqlite3.c:229774:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -185543,7 +185574,7 @@ func fts5NextRowid(tls *libc.TLS, pBuf uintptr, piOff uintptr, piRowid uintptr) // This is the equivalent of fts5MergePrefixLists() for detail=none mode. // In this case the buffers consist of a delta-encoded list of rowids only. -func fts5MergeRowidLists(tls *libc.TLS, p uintptr, p1 uintptr, nBuf int32, aBuf uintptr) { /* sqlite3.c:229732:13: */ +func fts5MergeRowidLists(tls *libc.TLS, p uintptr, p1 uintptr, nBuf int32, aBuf uintptr) { /* sqlite3.c:229789:13: */ bp := tls.Alloc(36) defer tls.Free(36) @@ -185598,11 +185629,11 @@ type PrefixMerger1 = struct { FiOff int32 FaPos uintptr FpNext uintptr -} /* sqlite3.c:229775:9 */ +} /* sqlite3.c:229832:9 */ -type PrefixMerger = PrefixMerger1 /* sqlite3.c:229775:29 */ +type PrefixMerger = PrefixMerger1 /* sqlite3.c:229832:29 */ -func fts5PrefixMergerInsertByRowid(tls *libc.TLS, ppHead uintptr, p uintptr) { /* sqlite3.c:229784:13: */ +func fts5PrefixMergerInsertByRowid(tls *libc.TLS, ppHead uintptr, p uintptr) { /* sqlite3.c:229841:13: */ if (*PrefixMerger)(unsafe.Pointer(p)).Fiter.FaPoslist != 0 { var pp uintptr = ppHead for *(*uintptr)(unsafe.Pointer(pp)) != 0 && (*PrefixMerger)(unsafe.Pointer(p)).Fiter.FiRowid > (*PrefixMerger)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pp)))).Fiter.FiRowid { @@ -185613,7 +185644,7 @@ func fts5PrefixMergerInsertByRowid(tls *libc.TLS, ppHead uintptr, p uintptr) { / } } -func fts5PrefixMergerInsertByPosition(tls *libc.TLS, ppHead uintptr, p uintptr) { /* sqlite3.c:229798:13: */ +func fts5PrefixMergerInsertByPosition(tls *libc.TLS, ppHead uintptr, p uintptr) { /* sqlite3.c:229855:13: */ if (*PrefixMerger)(unsafe.Pointer(p)).FiPos >= int64(0) { var pp uintptr = ppHead for *(*uintptr)(unsafe.Pointer(pp)) != 0 && (*PrefixMerger)(unsafe.Pointer(p)).FiPos > (*PrefixMerger)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pp)))).FiPos { @@ -185626,7 +185657,7 @@ func fts5PrefixMergerInsertByPosition(tls *libc.TLS, ppHead uintptr, p uintptr) // Array aBuf[] contains nBuf doclists. These are all merged in with the // doclist in buffer p1. -func fts5MergePrefixLists(tls *libc.TLS, p uintptr, p1 uintptr, nBuf int32, aBuf uintptr) { /* sqlite3.c:229817:13: */ +func fts5MergePrefixLists(tls *libc.TLS, p uintptr, p1 uintptr, nBuf int32, aBuf uintptr) { /* sqlite3.c:229874:13: */ bp := tls.Alloc(740) defer tls.Free(740) @@ -185791,7 +185822,7 @@ func fts5MergePrefixLists(tls *libc.TLS, p uintptr, p1 uintptr, nBuf int32, aBuf *(*Fts5Buffer)(unsafe.Pointer(p1)) = *(*Fts5Buffer)(unsafe.Pointer(bp + 708 /* out */)) } -func fts5SetupPrefixIter(tls *libc.TLS, p uintptr, bDesc int32, iIdx int32, pToken uintptr, nToken int32, pColset uintptr, ppIter uintptr) { /* sqlite3.c:229961:13: */ +func fts5SetupPrefixIter(tls *libc.TLS, p uintptr, bDesc int32, iIdx int32, pToken uintptr, nToken int32, pColset uintptr, ppIter uintptr) { /* sqlite3.c:230018:13: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -185938,7 +185969,7 @@ func fts5SetupPrefixIter(tls *libc.TLS, p uintptr, bDesc int32, iIdx int32, pTok // Indicate that all subsequent calls to sqlite3Fts5IndexWrite() pertain // to the document with rowid iRowid. -func sqlite3Fts5IndexBeginWrite(tls *libc.TLS, p uintptr, bDelete int32, iRowid I64) int32 { /* sqlite3.c:230098:12: */ +func sqlite3Fts5IndexBeginWrite(tls *libc.TLS, p uintptr, bDelete int32, iRowid I64) int32 { /* sqlite3.c:230155:12: */ // Allocate the hash table if it has not already been allocated if (*Fts5Index)(unsafe.Pointer(p)).FpHash == uintptr(0) { @@ -185958,7 +185989,7 @@ func sqlite3Fts5IndexBeginWrite(tls *libc.TLS, p uintptr, bDelete int32, iRowid } // Commit data to disk. -func sqlite3Fts5IndexSync(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:230122:12: */ +func sqlite3Fts5IndexSync(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:230179:12: */ fts5IndexFlush(tls, p) sqlite3Fts5IndexCloseReader(tls, p) @@ -185969,7 +186000,7 @@ func sqlite3Fts5IndexSync(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:230122: // to the database. Additionally, assume that the contents of the %_data // table may have changed on disk. So any in-memory caches of %_data // records must be invalidated. -func sqlite3Fts5IndexRollback(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:230135:12: */ +func sqlite3Fts5IndexRollback(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:230192:12: */ sqlite3Fts5IndexCloseReader(tls, p) fts5IndexDiscardData(tls, p) fts5StructureInvalidate(tls, p) @@ -185980,7 +186011,7 @@ func sqlite3Fts5IndexRollback(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:230 // The %_data table is completely empty when this function is called. This // function populates it with the initial structure objects for each index, // and the initial version of the "averages" record (a zero-byte blob). -func sqlite3Fts5IndexReinit(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:230148:12: */ +func sqlite3Fts5IndexReinit(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:230205:12: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -185999,7 +186030,7 @@ func sqlite3Fts5IndexReinit(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:23014 // // If successful, set *pp to point to the new object and return SQLITE_OK. // Otherwise, set *pp to NULL and return an SQLite error code. -func sqlite3Fts5IndexOpen(tls *libc.TLS, pConfig uintptr, bCreate int32, pp uintptr, pzErr uintptr) int32 { /* sqlite3.c:230165:12: */ +func sqlite3Fts5IndexOpen(tls *libc.TLS, pConfig uintptr, bCreate int32, pp uintptr, pzErr uintptr) int32 { /* sqlite3.c:230222:12: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -186033,7 +186064,7 @@ func sqlite3Fts5IndexOpen(tls *libc.TLS, pConfig uintptr, bCreate int32, pp uint } // Close a handle opened by an earlier call to sqlite3Fts5IndexOpen(). -func sqlite3Fts5IndexClose(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:230206:12: */ +func sqlite3Fts5IndexClose(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:230263:12: */ var rc int32 = SQLITE_OK if p != 0 { @@ -186054,7 +186085,7 @@ func sqlite3Fts5IndexClose(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:230206 // Argument p points to a buffer containing utf-8 text that is n bytes in // size. Return the number of bytes in the nChar character prefix of the // buffer, or 0 if there are less than nChar characters in total. -func sqlite3Fts5IndexCharlenToBytelen(tls *libc.TLS, p uintptr, nByte int32, nChar int32) int32 { /* sqlite3.c:230229:12: */ +func sqlite3Fts5IndexCharlenToBytelen(tls *libc.TLS, p uintptr, nByte int32, nChar int32) int32 { /* sqlite3.c:230286:12: */ var n int32 = 0 var i int32 for i = 0; i < nChar; i++ { @@ -186081,7 +186112,7 @@ func sqlite3Fts5IndexCharlenToBytelen(tls *libc.TLS, p uintptr, nByte int32, nCh // pIn is a UTF-8 encoded string, nIn bytes in size. Return the number of // unicode characters in the string. -func fts5IndexCharlen(tls *libc.TLS, pIn uintptr, nIn int32) int32 { /* sqlite3.c:230256:12: */ +func fts5IndexCharlen(tls *libc.TLS, pIn uintptr, nIn int32) int32 { /* sqlite3.c:230313:12: */ var nChar int32 = 0 var i int32 = 0 for i < nIn { @@ -186103,7 +186134,7 @@ func fts5IndexCharlen(tls *libc.TLS, pIn uintptr, nIn int32) int32 { /* sqlite3. // If the operation is a delete, it must be called (at least) once for each // unique token in the document with an iCol value less than zero. The iPos // argument is ignored for a delete. -func sqlite3Fts5IndexWrite(tls *libc.TLS, p uintptr, iCol int32, iPos int32, pToken uintptr, nToken int32) int32 { /* sqlite3.c:230278:12: */ +func sqlite3Fts5IndexWrite(tls *libc.TLS, p uintptr, iCol int32, iPos int32, pToken uintptr, nToken int32) int32 { /* sqlite3.c:230335:12: */ var i int32 // Used to iterate through indexes var rc int32 = SQLITE_OK // Return code var pConfig uintptr = (*Fts5Index)(unsafe.Pointer(p)).FpConfig @@ -186127,7 +186158,7 @@ func sqlite3Fts5IndexWrite(tls *libc.TLS, p uintptr, iCol int32, iPos int32, pTo // Open a new iterator to iterate though all rowid that match the // specified token or token prefix. -func sqlite3Fts5IndexQuery(tls *libc.TLS, p uintptr, pToken uintptr, nToken int32, flags int32, pColset uintptr, ppIter uintptr) int32 { /* sqlite3.c:230314:12: */ +func sqlite3Fts5IndexQuery(tls *libc.TLS, p uintptr, pToken uintptr, nToken int32, flags int32, pColset uintptr, ppIter uintptr) int32 { /* sqlite3.c:230371:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -186210,7 +186241,7 @@ func sqlite3Fts5IndexQuery(tls *libc.TLS, p uintptr, pToken uintptr, nToken int3 // Return true if the iterator passed as the only argument is at EOF. // Move to the next matching rowid. -func sqlite3Fts5IterNext(tls *libc.TLS, pIndexIter uintptr) int32 { /* sqlite3.c:230402:12: */ +func sqlite3Fts5IterNext(tls *libc.TLS, pIndexIter uintptr) int32 { /* sqlite3.c:230459:12: */ var pIter uintptr = pIndexIter fts5MultiIterNext(tls, (*Fts5Iter)(unsafe.Pointer(pIter)).FpIndex, pIter, 0, int64(0)) @@ -186218,7 +186249,7 @@ func sqlite3Fts5IterNext(tls *libc.TLS, pIndexIter uintptr) int32 { /* sqlite3.c } // Move to the next matching term/rowid. Used by the fts5vocab module. -func sqlite3Fts5IterNextScan(tls *libc.TLS, pIndexIter uintptr) int32 { /* sqlite3.c:230412:12: */ +func sqlite3Fts5IterNextScan(tls *libc.TLS, pIndexIter uintptr) int32 { /* sqlite3.c:230469:12: */ var pIter uintptr = pIndexIter var p uintptr = (*Fts5Iter)(unsafe.Pointer(pIter)).FpIndex @@ -186238,14 +186269,14 @@ func sqlite3Fts5IterNextScan(tls *libc.TLS, pIndexIter uintptr) int32 { /* sqlit // Move to the next matching rowid that occurs at or after iMatch. The // definition of "at or after" depends on whether this iterator iterates // in ascending or descending rowid order. -func sqlite3Fts5IterNextFrom(tls *libc.TLS, pIndexIter uintptr, iMatch I64) int32 { /* sqlite3.c:230436:12: */ +func sqlite3Fts5IterNextFrom(tls *libc.TLS, pIndexIter uintptr, iMatch I64) int32 { /* sqlite3.c:230493:12: */ var pIter uintptr = pIndexIter fts5MultiIterNextFrom(tls, (*Fts5Iter)(unsafe.Pointer(pIter)).FpIndex, pIter, iMatch) return fts5IndexReturn(tls, (*Fts5Iter)(unsafe.Pointer(pIter)).FpIndex) } // Return the current term. -func sqlite3Fts5IterTerm(tls *libc.TLS, pIndexIter uintptr, pn uintptr) uintptr { /* sqlite3.c:230445:19: */ +func sqlite3Fts5IterTerm(tls *libc.TLS, pIndexIter uintptr, pn uintptr) uintptr { /* sqlite3.c:230502:19: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -186263,7 +186294,7 @@ func sqlite3Fts5IterTerm(tls *libc.TLS, pIndexIter uintptr, pn uintptr) uintptr } // Close an iterator opened by an earlier call to sqlite3Fts5IndexQuery(). -func sqlite3Fts5IterClose(tls *libc.TLS, pIndexIter uintptr) { /* sqlite3.c:230456:13: */ +func sqlite3Fts5IterClose(tls *libc.TLS, pIndexIter uintptr) { /* sqlite3.c:230513:13: */ if pIndexIter != 0 { var pIter uintptr = pIndexIter var pIndex uintptr = (*Fts5Iter)(unsafe.Pointer(pIter)).FpIndex @@ -186276,7 +186307,7 @@ func sqlite3Fts5IterClose(tls *libc.TLS, pIndexIter uintptr) { /* sqlite3.c:2304 // // Parameter anSize must point to an array of size nCol, where nCol is // the number of user defined columns in the FTS table. -func sqlite3Fts5IndexGetAverages(tls *libc.TLS, p uintptr, pnRow uintptr, anSize uintptr) int32 { /* sqlite3.c:230471:12: */ +func sqlite3Fts5IndexGetAverages(tls *libc.TLS, p uintptr, pnRow uintptr, anSize uintptr) int32 { /* sqlite3.c:230528:12: */ var nCol int32 = (*Fts5Config)(unsafe.Pointer((*Fts5Index)(unsafe.Pointer(p)).FpConfig)).FnCol var pData uintptr @@ -186298,7 +186329,7 @@ func sqlite3Fts5IndexGetAverages(tls *libc.TLS, p uintptr, pnRow uintptr, anSize // Replace the current "averages" record with the contents of the buffer // supplied as the second argument. -func sqlite3Fts5IndexSetAverages(tls *libc.TLS, p uintptr, pData uintptr, nData int32) int32 { /* sqlite3.c:230495:12: */ +func sqlite3Fts5IndexSetAverages(tls *libc.TLS, p uintptr, pData uintptr, nData int32) int32 { /* sqlite3.c:230552:12: */ fts5DataWrite(tls, p, int64(FTS5_AVERAGES_ROWID), pData, nData) return fts5IndexReturn(tls, p) @@ -186306,7 +186337,7 @@ func sqlite3Fts5IndexSetAverages(tls *libc.TLS, p uintptr, pData uintptr, nData // Return the total number of blocks this module has read from the %_data // table since it was created. -func sqlite3Fts5IndexReads(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:230505:12: */ +func sqlite3Fts5IndexReads(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:230562:12: */ return (*Fts5Index)(unsafe.Pointer(p)).FnRead } @@ -186315,7 +186346,7 @@ func sqlite3Fts5IndexReads(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:230505 // // Return SQLITE_OK if successful, or an SQLite error code if an error // occurs. -func sqlite3Fts5IndexSetCookie(tls *libc.TLS, p uintptr, iNew int32) int32 { /* sqlite3.c:230516:12: */ +func sqlite3Fts5IndexSetCookie(tls *libc.TLS, p uintptr, iNew int32) int32 { /* sqlite3.c:230573:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -186337,7 +186368,7 @@ func sqlite3Fts5IndexSetCookie(tls *libc.TLS, p uintptr, iNew int32) int32 { /* return rc } -func sqlite3Fts5IndexLoadConfig(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:230536:12: */ +func sqlite3Fts5IndexLoadConfig(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:230593:12: */ var pStruct uintptr pStruct = fts5StructureRead(tls, p) fts5StructureRelease(tls, pStruct) @@ -186351,7 +186382,7 @@ func sqlite3Fts5IndexLoadConfig(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:2 // functionality. // Return a simple checksum value based on the arguments. -func sqlite3Fts5IndexEntryCksum(tls *libc.TLS, iRowid I64, iCol int32, iPos int32, iIdx int32, pTerm uintptr, nTerm int32) U64 { /* sqlite3.c:230553:12: */ +func sqlite3Fts5IndexEntryCksum(tls *libc.TLS, iRowid I64, iCol int32, iPos int32, iIdx int32, pTerm uintptr, nTerm int32) U64 { /* sqlite3.c:230610:12: */ var i int32 var ret U64 = U64(iRowid) ret = ret + (ret<<3 + U64(iCol)) @@ -186371,7 +186402,7 @@ func sqlite3Fts5IndexEntryCksum(tls *libc.TLS, iRowid I64, iCol int32, iPos int3 // contain zero terms. // 2) All leaves of pSeg between iNoRowid and iLast (inclusive) exist and // contain zero rowids. -func fts5IndexIntegrityCheckEmpty(tls *libc.TLS, p uintptr, pSeg uintptr, iFirst int32, iNoRowid int32, iLast int32) { /* sqlite3.c:230771:13: */ +func fts5IndexIntegrityCheckEmpty(tls *libc.TLS, p uintptr, pSeg uintptr, iFirst int32, iNoRowid int32, iLast int32) { /* sqlite3.c:230828:13: */ var i int32 // Now check that the iter.nEmpty leaves following the current leaf @@ -186390,7 +186421,7 @@ func fts5IndexIntegrityCheckEmpty(tls *libc.TLS, p uintptr, pSeg uintptr, iFirst } } -func fts5IntegrityCheckPgidx(tls *libc.TLS, p uintptr, pLeaf uintptr) { /* sqlite3.c:230792:13: */ +func fts5IntegrityCheckPgidx(tls *libc.TLS, p uintptr, pLeaf uintptr) { /* sqlite3.c:230849:13: */ bp := tls.Alloc(40) defer tls.Free(40) @@ -186449,7 +186480,7 @@ func fts5IntegrityCheckPgidx(tls *libc.TLS, p uintptr, pLeaf uintptr) { /* sqlit sqlite3Fts5BufferFree(tls, bp+28) } -func fts5IndexIntegrityCheckSegment(tls *libc.TLS, p uintptr, pSeg uintptr) { /* sqlite3.c:230842:13: */ +func fts5IndexIntegrityCheckSegment(tls *libc.TLS, p uintptr, pSeg uintptr) { /* sqlite3.c:230899:13: */ bp := tls.Alloc(40) defer tls.Free(40) @@ -186618,7 +186649,7 @@ func fts5IndexIntegrityCheckSegment(tls *libc.TLS, p uintptr, pSeg uintptr) { /* // checksum does not match. Return SQLITE_OK if all checks pass without // error, or some other SQLite error code if another error (e.g. OOM) // occurs. -func sqlite3Fts5IndexIntegrityCheck(tls *libc.TLS, p uintptr, cksum U64, bUseCksum int32) int32 { /* sqlite3.c:230987:12: */ +func sqlite3Fts5IndexIntegrityCheck(tls *libc.TLS, p uintptr, cksum U64, bUseCksum int32) int32 { /* sqlite3.c:231044:12: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -186708,13 +186739,13 @@ func sqlite3Fts5IndexIntegrityCheck(tls *libc.TLS, p uintptr, cksum U64, bUseCks // // If successful, SQLITE_OK is returned. If an error occurs, some other // SQLite error code is returned instead. -func sqlite3Fts5IndexInit(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:231550:12: */ +func sqlite3Fts5IndexInit(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:231607:12: */ return SQLITE_OK _ = db return int32(0) } -func sqlite3Fts5IndexReset(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:231576:12: */ +func sqlite3Fts5IndexReset(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:231633:12: */ if fts5IndexDataVersion(tls, p) != (*Fts5Index)(unsafe.Pointer(p)).FiStructVersion { fts5StructureInvalidate(tls, p) @@ -186747,7 +186778,7 @@ type Fts5Auxdata1 = struct { FpPtr uintptr FxDelete uintptr FpNext uintptr -} /* sqlite3.c:216813:9 */ +} /* sqlite3.c:216870:9 */ // 2014 Jun 09 // @@ -186769,7 +186800,7 @@ type Fts5Auxdata1 = struct { // assert() conditions in the fts5 code are activated - conditions that are // only true if it is guaranteed that the fts5 database is not corrupt. -type Fts5Auxdata = Fts5Auxdata1 /* sqlite3.c:231613:28 */ +type Fts5Auxdata = Fts5Auxdata1 /* sqlite3.c:231670:28 */ type Fts5Auxiliary1 = struct { FpGlobal uintptr FzFunc uintptr @@ -186777,9 +186808,9 @@ type Fts5Auxiliary1 = struct { FxFunc Fts5_extension_function FxDestroy uintptr FpNext uintptr -} /* sqlite3.c:216813:9 */ +} /* sqlite3.c:216870:9 */ -type Fts5Auxiliary = Fts5Auxiliary1 /* sqlite3.c:231614:30 */ +type Fts5Auxiliary = Fts5Auxiliary1 /* sqlite3.c:231671:30 */ type Fts5Cursor1 = struct { Fbase Sqlite3_vtab_cursor FpNext uintptr @@ -186806,35 +186837,35 @@ type Fts5Cursor1 = struct { FnInstAlloc int32 FnInstCount int32 FaInst uintptr -} /* sqlite3.c:216813:9 */ +} /* sqlite3.c:216870:9 */ -type Fts5Cursor = Fts5Cursor1 /* sqlite3.c:231615:27 */ +type Fts5Cursor = Fts5Cursor1 /* sqlite3.c:231672:27 */ type Fts5FullTable1 = struct { Fp Fts5Table FpStorage uintptr FpGlobal uintptr FpSortCsr uintptr -} /* sqlite3.c:231616:9 */ +} /* sqlite3.c:231673:9 */ -type Fts5FullTable = Fts5FullTable1 /* sqlite3.c:231616:30 */ +type Fts5FullTable = Fts5FullTable1 /* sqlite3.c:231673:30 */ type Fts5Sorter1 = struct { FpStmt uintptr FiRowid I64 FaPoslist uintptr FnIdx int32 FaIdx [1]int32 -} /* sqlite3.c:216813:9 */ +} /* sqlite3.c:216870:9 */ -type Fts5Sorter = Fts5Sorter1 /* sqlite3.c:231617:27 */ +type Fts5Sorter = Fts5Sorter1 /* sqlite3.c:231674:27 */ type Fts5TokenizerModule1 = struct { FzName uintptr FpUserData uintptr Fx Fts5_tokenizer FxDestroy uintptr FpNext uintptr -} /* sqlite3.c:216813:9 */ +} /* sqlite3.c:216870:9 */ -type Fts5TokenizerModule = Fts5TokenizerModule1 /* sqlite3.c:231618:36 */ +type Fts5TokenizerModule = Fts5TokenizerModule1 /* sqlite3.c:231675:36 */ // NOTES ON TRANSACTIONS: // @@ -186868,20 +186899,20 @@ type Fts5TokenizerModule = Fts5TokenizerModule1 /* sqlite3.c:231618:36 */ type Fts5TransactionState = struct { FeState int32 FiSavepoint int32 -} /* sqlite3.c:231651:1 */ +} /* sqlite3.c:231708:1 */ type Fts5MatchPhrase = struct { FpPoslist uintptr FnTerm int32 -} /* sqlite3.c:231708:1 */ +} /* sqlite3.c:231765:1 */ // Return true if pTab is a contentless table. -func fts5IsContentless(tls *libc.TLS, pTab uintptr) int32 { /* sqlite3.c:231892:12: */ +func fts5IsContentless(tls *libc.TLS, pTab uintptr) int32 { /* sqlite3.c:231949:12: */ return libc.Bool32((*Fts5Config)(unsafe.Pointer((*Fts5FullTable)(unsafe.Pointer(pTab)).Fp.FpConfig)).FeContent == FTS5_CONTENT_NONE) } // Delete a virtual table handle allocated by fts5InitVtab(). -func fts5FreeVtab(tls *libc.TLS, pTab uintptr) { /* sqlite3.c:231899:13: */ +func fts5FreeVtab(tls *libc.TLS, pTab uintptr) { /* sqlite3.c:231956:13: */ if pTab != 0 { sqlite3Fts5IndexClose(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).Fp.FpIndex) sqlite3Fts5StorageClose(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).FpStorage) @@ -186891,13 +186922,13 @@ func fts5FreeVtab(tls *libc.TLS, pTab uintptr) { /* sqlite3.c:231899:13: */ } // The xDisconnect() virtual table method. -func fts5DisconnectMethod(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:231911:12: */ +func fts5DisconnectMethod(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:231968:12: */ fts5FreeVtab(tls, pVtab) return SQLITE_OK } // The xDestroy() virtual table method. -func fts5DestroyMethod(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:231919:12: */ +func fts5DestroyMethod(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:231976:12: */ var pTab uintptr = pVtab var rc int32 = sqlite3Fts5DropAll(tls, (*Fts5Table)(unsafe.Pointer(pTab)).FpConfig) if rc == SQLITE_OK { @@ -186915,7 +186946,7 @@ func fts5DestroyMethod(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:231919 // argv[1] -> database name // argv[2] -> table name // argv[...] -> "column name" and other module argument fields. -func fts5InitVtab(tls *libc.TLS, bCreate int32, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVTab uintptr, pzErr uintptr) int32 { /* sqlite3.c:231939:12: */ +func fts5InitVtab(tls *libc.TLS, bCreate int32, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVTab uintptr, pzErr uintptr) int32 { /* sqlite3.c:231996:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -186973,11 +187004,11 @@ func fts5InitVtab(tls *libc.TLS, bCreate int32, db uintptr, pAux uintptr, argc i // The xConnect() and xCreate() methods for the virtual table. All the // work is done in function fts5InitVtab(). -func fts5ConnectMethod(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 { /* sqlite3.c:232005:12: */ +func fts5ConnectMethod(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 { /* sqlite3.c:232062:12: */ return fts5InitVtab(tls, 0, db, pAux, argc, argv, ppVtab, pzErr) } -func fts5CreateMethod(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 { /* sqlite3.c:232015:12: */ +func fts5CreateMethod(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 { /* sqlite3.c:232072:12: */ return fts5InitVtab(tls, 1, db, pAux, argc, argv, ppVtab, pzErr) } @@ -186986,14 +187017,14 @@ func fts5CreateMethod(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv // Set the SQLITE_INDEX_SCAN_UNIQUE flag in pIdxInfo->flags. Unless this // extension is currently being used by a version of SQLite too old to // support index-info flags. In that case this function is a no-op. -func fts5SetUniqueFlag(tls *libc.TLS, pIdxInfo uintptr) { /* sqlite3.c:232041:13: */ +func fts5SetUniqueFlag(tls *libc.TLS, pIdxInfo uintptr) { /* sqlite3.c:232098:13: */ { *(*int32)(unsafe.Pointer(pIdxInfo + 52)) |= SQLITE_INDEX_SCAN_UNIQUE } } -func fts5UsePatternMatch(tls *libc.TLS, pConfig uintptr, p uintptr) int32 { /* sqlite3.c:232052:12: */ +func fts5UsePatternMatch(tls *libc.TLS, pConfig uintptr, p uintptr) int32 { /* sqlite3.c:232109:12: */ if (*Fts5Config)(unsafe.Pointer(pConfig)).FePattern == FTS5_PATTERN_GLOB && int32((*sqlite3_index_constraint)(unsafe.Pointer(p)).Fop) == FTS5_PATTERN_GLOB { return 1 @@ -187064,7 +187095,7 @@ func fts5UsePatternMatch(tls *libc.TLS, pConfig uintptr, p uintptr) int32 { /* s // * An == rowid constraint: cost=10.0 // // Costs are not modified by the ORDER BY clause. -func fts5BestIndexMethod(tls *libc.TLS, pVTab uintptr, pInfo uintptr) int32 { /* sqlite3.c:232130:12: */ +func fts5BestIndexMethod(tls *libc.TLS, pVTab uintptr, pInfo uintptr) int32 { /* sqlite3.c:232187:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -187226,7 +187257,7 @@ func fts5BestIndexMethod(tls *libc.TLS, pVTab uintptr, pInfo uintptr) int32 { /* return SQLITE_OK } -func fts5NewTransaction(tls *libc.TLS, pTab uintptr) int32 { /* sqlite3.c:232265:12: */ +func fts5NewTransaction(tls *libc.TLS, pTab uintptr) int32 { /* sqlite3.c:232322:12: */ var pCsr uintptr for pCsr = (*Fts5Global)(unsafe.Pointer((*Fts5FullTable)(unsafe.Pointer(pTab)).FpGlobal)).FpCsr; pCsr != 0; pCsr = (*Fts5Cursor)(unsafe.Pointer(pCsr)).FpNext { if (*Fts5Cursor)(unsafe.Pointer(pCsr)).Fbase.FpVtab == pTab { @@ -187237,7 +187268,7 @@ func fts5NewTransaction(tls *libc.TLS, pTab uintptr) int32 { /* sqlite3.c:232265 } // Implementation of xOpen method. -func fts5OpenMethod(tls *libc.TLS, pVTab uintptr, ppCsr uintptr) int32 { /* sqlite3.c:232276:12: */ +func fts5OpenMethod(tls *libc.TLS, pVTab uintptr, ppCsr uintptr) int32 { /* sqlite3.c:232333:12: */ var pTab uintptr = pVTab var pConfig uintptr = (*Fts5FullTable)(unsafe.Pointer(pTab)).Fp.FpConfig var pCsr uintptr = uintptr(0) // New cursor object @@ -187263,7 +187294,7 @@ func fts5OpenMethod(tls *libc.TLS, pVTab uintptr, ppCsr uintptr) int32 { /* sqli return rc } -func fts5StmtType(tls *libc.TLS, pCsr uintptr) int32 { /* sqlite3.c:232302:12: */ +func fts5StmtType(tls *libc.TLS, pCsr uintptr) int32 { /* sqlite3.c:232359:12: */ if (*Fts5Cursor)(unsafe.Pointer(pCsr)).FePlan == FTS5_PLAN_SCAN { if (*Fts5Cursor)(unsafe.Pointer(pCsr)).FbDesc != 0 { return FTS5_STMT_SCAN_DESC @@ -187276,11 +187307,11 @@ func fts5StmtType(tls *libc.TLS, pCsr uintptr) int32 { /* sqlite3.c:232302:12: * // This function is called after the cursor passed as the only argument // is moved to point at a different row. It clears all cached data // specific to the previous row stored by the cursor object. -func fts5CsrNewrow(tls *libc.TLS, pCsr uintptr) { /* sqlite3.c:232314:13: */ +func fts5CsrNewrow(tls *libc.TLS, pCsr uintptr) { /* sqlite3.c:232371:13: */ *(*int32)(unsafe.Pointer(pCsr + 56)) |= FTS5CSR_REQUIRE_CONTENT | FTS5CSR_REQUIRE_DOCSIZE | FTS5CSR_REQUIRE_INST | FTS5CSR_REQUIRE_POSLIST } -func fts5FreeCursorComponents(tls *libc.TLS, pCsr uintptr) { /* sqlite3.c:232323:13: */ +func fts5FreeCursorComponents(tls *libc.TLS, pCsr uintptr) { /* sqlite3.c:232380:13: */ var pTab uintptr = (*Fts5Cursor)(unsafe.Pointer(pCsr)).Fbase.FpVtab var pData uintptr var pNext uintptr @@ -187323,7 +187354,7 @@ func fts5FreeCursorComponents(tls *libc.TLS, pCsr uintptr) { /* sqlite3.c:232323 // Close the cursor. For additional information see the documentation // on the xClose method of the virtual table interface. -func fts5CloseMethod(tls *libc.TLS, pCursor uintptr) int32 { /* sqlite3.c:232367:12: */ +func fts5CloseMethod(tls *libc.TLS, pCursor uintptr) int32 { /* sqlite3.c:232424:12: */ if pCursor != 0 { var pTab uintptr = (*Sqlite3_vtab_cursor)(unsafe.Pointer(pCursor)).FpVtab var pCsr uintptr = pCursor @@ -187340,7 +187371,7 @@ func fts5CloseMethod(tls *libc.TLS, pCursor uintptr) int32 { /* sqlite3.c:232367 return SQLITE_OK } -func fts5SorterNext(tls *libc.TLS, pCsr uintptr) int32 { /* sqlite3.c:232383:12: */ +func fts5SorterNext(tls *libc.TLS, pCsr uintptr) int32 { /* sqlite3.c:232440:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -187384,7 +187415,7 @@ func fts5SorterNext(tls *libc.TLS, pCsr uintptr) int32 { /* sqlite3.c:232383:12: // Set the FTS5CSR_REQUIRE_RESEEK flag on all FTS5_PLAN_MATCH cursors // open on table pTab. -func fts5TripCursors(tls *libc.TLS, pTab uintptr) { /* sqlite3.c:232426:13: */ +func fts5TripCursors(tls *libc.TLS, pTab uintptr) { /* sqlite3.c:232483:13: */ var pCsr uintptr for pCsr = (*Fts5Global)(unsafe.Pointer((*Fts5FullTable)(unsafe.Pointer(pTab)).FpGlobal)).FpCsr; pCsr != 0; pCsr = (*Fts5Cursor)(unsafe.Pointer(pCsr)).FpNext { if (*Fts5Cursor)(unsafe.Pointer(pCsr)).FePlan == FTS5_PLAN_MATCH && @@ -187404,7 +187435,7 @@ func fts5TripCursors(tls *libc.TLS, pTab uintptr) { /* sqlite3.c:232426:13: */ // // Return SQLITE_OK if successful or if no reseek was required, or an // error code if an error occurred. -func fts5CursorReseek(tls *libc.TLS, pCsr uintptr, pbSkip uintptr) int32 { /* sqlite3.c:232449:12: */ +func fts5CursorReseek(tls *libc.TLS, pCsr uintptr, pbSkip uintptr) int32 { /* sqlite3.c:232506:12: */ var rc int32 = SQLITE_OK if (*Fts5Cursor)(unsafe.Pointer(pCsr)).Fcsrflags&FTS5CSR_REQUIRE_RESEEK != 0 { @@ -187433,7 +187464,7 @@ func fts5CursorReseek(tls *libc.TLS, pCsr uintptr, pbSkip uintptr) int32 { /* sq // Return SQLITE_OK if nothing goes wrong. SQLITE_OK is returned // even if we reach end-of-file. The fts5EofMethod() will be called // subsequently to determine whether or not an EOF was hit. -func fts5NextMethod(tls *libc.TLS, pCursor uintptr) int32 { /* sqlite3.c:232481:12: */ +func fts5NextMethod(tls *libc.TLS, pCursor uintptr) int32 { /* sqlite3.c:232538:12: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -187492,7 +187523,7 @@ func fts5NextMethod(tls *libc.TLS, pCursor uintptr) int32 { /* sqlite3.c:232481: return rc } -func fts5PrepareStatement(tls *libc.TLS, ppStmt uintptr, pConfig uintptr, zFmt uintptr, va uintptr) int32 { /* sqlite3.c:232534:12: */ +func fts5PrepareStatement(tls *libc.TLS, ppStmt uintptr, pConfig uintptr, zFmt uintptr, va uintptr) int32 { /* sqlite3.c:232591:12: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -187520,7 +187551,7 @@ func fts5PrepareStatement(tls *libc.TLS, ppStmt uintptr, pConfig uintptr, zFmt u return rc } -func fts5CursorFirstSorted(tls *libc.TLS, pTab uintptr, pCsr uintptr, bDesc int32) int32 { /* sqlite3.c:232563:12: */ +func fts5CursorFirstSorted(tls *libc.TLS, pTab uintptr, pCsr uintptr, bDesc int32) int32 { /* sqlite3.c:232620:12: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -187587,7 +187618,7 @@ func fts5CursorFirstSorted(tls *libc.TLS, pTab uintptr, pCsr uintptr, bDesc int3 return rc } -func fts5CursorFirst(tls *libc.TLS, pTab uintptr, pCsr uintptr, bDesc int32) int32 { /* sqlite3.c:232615:12: */ +func fts5CursorFirst(tls *libc.TLS, pTab uintptr, pCsr uintptr, bDesc int32) int32 { /* sqlite3.c:232672:12: */ var rc int32 var pExpr uintptr = (*Fts5Cursor)(unsafe.Pointer(pCsr)).FpExpr rc = sqlite3Fts5ExprFirst(tls, pExpr, (*Fts5FullTable)(unsafe.Pointer(pTab)).Fp.FpIndex, (*Fts5Cursor)(unsafe.Pointer(pCsr)).FiFirstRowid, bDesc) @@ -187602,7 +187633,7 @@ func fts5CursorFirst(tls *libc.TLS, pTab uintptr, pCsr uintptr, bDesc int32) int // MATCH expression that begins with a '*' character. The remainder of // the text passed to the MATCH operator are used as the special query // parameters. -func fts5SpecialMatch(tls *libc.TLS, pTab uintptr, pCsr uintptr, zQuery uintptr) int32 { /* sqlite3.c:232632:12: */ +func fts5SpecialMatch(tls *libc.TLS, pTab uintptr, pCsr uintptr, zQuery uintptr) int32 { /* sqlite3.c:232689:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -187634,7 +187665,7 @@ func fts5SpecialMatch(tls *libc.TLS, pTab uintptr, pCsr uintptr, zQuery uintptr) // Search for an auxiliary function named zName that can be used with table // pTab. If one is found, return a pointer to the corresponding Fts5Auxiliary // structure. Otherwise, if no such function exists, return NULL. -func fts5FindAuxiliary(tls *libc.TLS, pTab uintptr, zName uintptr) uintptr { /* sqlite3.c:232667:22: */ +func fts5FindAuxiliary(tls *libc.TLS, pTab uintptr, zName uintptr) uintptr { /* sqlite3.c:232724:22: */ var pAux uintptr for pAux = (*Fts5Global)(unsafe.Pointer((*Fts5FullTable)(unsafe.Pointer(pTab)).FpGlobal)).FpAux; pAux != 0; pAux = (*Fts5Auxiliary)(unsafe.Pointer(pAux)).FpNext { @@ -187647,7 +187678,7 @@ func fts5FindAuxiliary(tls *libc.TLS, pTab uintptr, zName uintptr) uintptr { /* return uintptr(0) } -func fts5FindRankFunction(tls *libc.TLS, pCsr uintptr) int32 { /* sqlite3.c:232679:12: */ +func fts5FindRankFunction(tls *libc.TLS, pCsr uintptr) int32 { /* sqlite3.c:232736:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -187700,7 +187731,7 @@ func fts5FindRankFunction(tls *libc.TLS, pCsr uintptr) int32 { /* sqlite3.c:2326 return *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) } -func fts5CursorParseRank(tls *libc.TLS, pConfig uintptr, pCsr uintptr, pRank uintptr) int32 { /* sqlite3.c:232730:12: */ +func fts5CursorParseRank(tls *libc.TLS, pConfig uintptr, pCsr uintptr, pRank uintptr) int32 { /* sqlite3.c:232787:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -187737,7 +187768,7 @@ func fts5CursorParseRank(tls *libc.TLS, pConfig uintptr, pCsr uintptr, pRank uin return rc } -func fts5GetRowidLimit(tls *libc.TLS, pVal uintptr, iDefault I64) I64 { /* sqlite3.c:232767:12: */ +func fts5GetRowidLimit(tls *libc.TLS, pVal uintptr, iDefault I64) I64 { /* sqlite3.c:232824:12: */ if pVal != 0 { var eType int32 = Xsqlite3_value_numeric_type(tls, pVal) if eType == SQLITE_INTEGER { @@ -187756,7 +187787,7 @@ func fts5GetRowidLimit(tls *libc.TLS, pVal uintptr, iDefault I64) I64 { /* sqlit // 1. Full-text search using a MATCH operator. // 2. A by-rowid lookup. // 3. A full-table scan. -func fts5FilterMethod(tls *libc.TLS, pCursor uintptr, idxNum int32, idxStr uintptr, nVal int32, apVal uintptr) int32 { /* sqlite3.c:232788:12: */ +func fts5FilterMethod(tls *libc.TLS, pCursor uintptr, idxNum int32, idxStr uintptr, nVal int32, apVal uintptr) int32 { /* sqlite3.c:232845:12: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -188077,7 +188108,7 @@ filter_out: // This is the xEof method of the virtual table. SQLite calls this // routine to find out if it has reached the end of a result set. -func fts5EofMethod(tls *libc.TLS, pCursor uintptr) int32 { /* sqlite3.c:232981:12: */ +func fts5EofMethod(tls *libc.TLS, pCursor uintptr) int32 { /* sqlite3.c:233038:12: */ var pCsr uintptr = pCursor return func() int32 { if (*Fts5Cursor)(unsafe.Pointer(pCsr)).Fcsrflags&FTS5CSR_EOF != 0 { @@ -188088,7 +188119,7 @@ func fts5EofMethod(tls *libc.TLS, pCursor uintptr) int32 { /* sqlite3.c:232981:1 } // Return the rowid that the cursor currently points to. -func fts5CursorRowid(tls *libc.TLS, pCsr uintptr) I64 { /* sqlite3.c:232989:12: */ +func fts5CursorRowid(tls *libc.TLS, pCsr uintptr) I64 { /* sqlite3.c:233046:12: */ if (*Fts5Cursor)(unsafe.Pointer(pCsr)).FpSorter != 0 { return (*Fts5Sorter)(unsafe.Pointer((*Fts5Cursor)(unsafe.Pointer(pCsr)).FpSorter)).FiRowid @@ -188102,7 +188133,7 @@ func fts5CursorRowid(tls *libc.TLS, pCsr uintptr) I64 { /* sqlite3.c:232989:12: // retrieve the rowid for the current row of the result set. fts5 // exposes %_content.rowid as the rowid for the virtual table. The // rowid should be written to *pRowid. -func fts5RowidMethod(tls *libc.TLS, pCursor uintptr, pRowid uintptr) int32 { /* sqlite3.c:233007:12: */ +func fts5RowidMethod(tls *libc.TLS, pCursor uintptr, pRowid uintptr) int32 { /* sqlite3.c:233064:12: */ var pCsr uintptr = pCursor var ePlan int32 = (*Fts5Cursor)(unsafe.Pointer(pCsr)).FePlan @@ -188132,7 +188163,7 @@ func fts5RowidMethod(tls *libc.TLS, pCursor uintptr, pRowid uintptr) int32 { /* // // If argument bErrormsg is true and an error occurs, an error message may // be left in sqlite3_vtab.zErrMsg. -func fts5SeekCursor(tls *libc.TLS, pCsr uintptr, bErrormsg int32) int32 { /* sqlite3.c:233038:12: */ +func fts5SeekCursor(tls *libc.TLS, pCsr uintptr, bErrormsg int32) int32 { /* sqlite3.c:233095:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -188176,7 +188207,7 @@ func fts5SeekCursor(tls *libc.TLS, pCsr uintptr, bErrormsg int32) int32 { /* sql return rc } -func fts5SetVtabError(tls *libc.TLS, p uintptr, zFormat uintptr, va uintptr) { /* sqlite3.c:233077:13: */ +func fts5SetVtabError(tls *libc.TLS, p uintptr, zFormat uintptr, va uintptr) { /* sqlite3.c:233134:13: */ var ap Va_list _ = ap // ... printf arguments ap = va @@ -188198,7 +188229,7 @@ func fts5SetVtabError(tls *libc.TLS, p uintptr, zFormat uintptr, va uintptr) { / // The commands implemented by this function are documented in the "Special // INSERT Directives" section of the documentation. It should be updated if // more commands are added to this function. -func fts5SpecialInsert(tls *libc.TLS, pTab uintptr, zCmd uintptr, pVal uintptr) int32 { /* sqlite3.c:233100:12: */ +func fts5SpecialInsert(tls *libc.TLS, pTab uintptr, zCmd uintptr, pVal uintptr) int32 { /* sqlite3.c:233157:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -188247,7 +188278,7 @@ func fts5SpecialInsert(tls *libc.TLS, pTab uintptr, zCmd uintptr, pVal uintptr) return rc } -func fts5SpecialDelete(tls *libc.TLS, pTab uintptr, apVal uintptr) int32 { /* sqlite3.c:233156:12: */ +func fts5SpecialDelete(tls *libc.TLS, pTab uintptr, apVal uintptr) int32 { /* sqlite3.c:233213:12: */ var rc int32 = SQLITE_OK var eType1 int32 = Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(apVal + 1*4))) if eType1 == SQLITE_INTEGER { @@ -188257,7 +188288,7 @@ func fts5SpecialDelete(tls *libc.TLS, pTab uintptr, apVal uintptr) int32 { /* sq return rc } -func fts5StorageInsert(tls *libc.TLS, pRc uintptr, pTab uintptr, apVal uintptr, piRowid uintptr) { /* sqlite3.c:233169:13: */ +func fts5StorageInsert(tls *libc.TLS, pRc uintptr, pTab uintptr, apVal uintptr, piRowid uintptr) { /* sqlite3.c:233226:13: */ var rc int32 = *(*int32)(unsafe.Pointer(pRc)) if rc == SQLITE_OK { rc = sqlite3Fts5StorageContentInsert(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).FpStorage, apVal, piRowid) @@ -188280,7 +188311,7 @@ func fts5StorageInsert(tls *libc.TLS, pRc uintptr, pTab uintptr, apVal uintptr, // 2. The "new" rowid. // 3. Values for each of the nCol matchable columns. // 4. Values for the two hidden columns ( and "rank"). -func fts5UpdateMethod(tls *libc.TLS, pVtab uintptr, nArg int32, apVal uintptr, pRowid uintptr) int32 { /* sqlite3.c:233199:12: */ +func fts5UpdateMethod(tls *libc.TLS, pVtab uintptr, nArg int32, apVal uintptr, pRowid uintptr) int32 { /* sqlite3.c:233256:12: */ bp := tls.Alloc(20) defer tls.Free(20) @@ -188382,7 +188413,7 @@ func fts5UpdateMethod(tls *libc.TLS, pVtab uintptr, nArg int32, apVal uintptr, p } // Implementation of xSync() method. -func fts5SyncMethod(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:233325:12: */ +func fts5SyncMethod(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:233382:12: */ var rc int32 var pTab uintptr = pVtab @@ -188394,7 +188425,7 @@ func fts5SyncMethod(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:233325:12 } // Implementation of xBegin() method. -func fts5BeginMethod(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:233339:12: */ +func fts5BeginMethod(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:233396:12: */ fts5NewTransaction(tls, pVtab) return SQLITE_OK @@ -188403,7 +188434,7 @@ func fts5BeginMethod(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:233339:1 // Implementation of xCommit() method. This is a no-op. The contents of // the pending-terms hash-table have already been flushed into the database // by fts5SyncMethod(). -func fts5CommitMethod(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:233350:12: */ +func fts5CommitMethod(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:233407:12: */ _ = pVtab // Call below is a no-op for NDEBUG builds return SQLITE_OK @@ -188411,7 +188442,7 @@ func fts5CommitMethod(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:233350: // Implementation of xRollback(). Discard the contents of the pending-terms // hash-table. Any changes made to the database are reverted by SQLite. -func fts5RollbackMethod(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:233360:12: */ +func fts5RollbackMethod(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:233417:12: */ var rc int32 var pTab uintptr = pVtab @@ -188419,46 +188450,46 @@ func fts5RollbackMethod(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:23336 return rc } -func fts5ApiUserData(tls *libc.TLS, pCtx uintptr) uintptr { /* sqlite3.c:233370:13: */ +func fts5ApiUserData(tls *libc.TLS, pCtx uintptr) uintptr { /* sqlite3.c:233427:13: */ var pCsr uintptr = pCtx return (*Fts5Auxiliary)(unsafe.Pointer((*Fts5Cursor)(unsafe.Pointer(pCsr)).FpAux)).FpUserData } -func fts5ApiColumnCount(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:233375:12: */ +func fts5ApiColumnCount(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:233432:12: */ var pCsr uintptr = pCtx return (*Fts5Config)(unsafe.Pointer((*Fts5Table)(unsafe.Pointer((*Fts5Cursor)(unsafe.Pointer(pCsr)).Fbase.FpVtab)).FpConfig)).FnCol } -func fts5ApiColumnTotalSize(tls *libc.TLS, pCtx uintptr, iCol int32, pnToken uintptr) int32 { /* sqlite3.c:233380:12: */ +func fts5ApiColumnTotalSize(tls *libc.TLS, pCtx uintptr, iCol int32, pnToken uintptr) int32 { /* sqlite3.c:233437:12: */ var pCsr uintptr = pCtx var pTab uintptr = (*Fts5Cursor)(unsafe.Pointer(pCsr)).Fbase.FpVtab return sqlite3Fts5StorageSize(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).FpStorage, iCol, pnToken) } -func fts5ApiRowCount(tls *libc.TLS, pCtx uintptr, pnRow uintptr) int32 { /* sqlite3.c:233390:12: */ +func fts5ApiRowCount(tls *libc.TLS, pCtx uintptr, pnRow uintptr) int32 { /* sqlite3.c:233447:12: */ var pCsr uintptr = pCtx var pTab uintptr = (*Fts5Cursor)(unsafe.Pointer(pCsr)).Fbase.FpVtab return sqlite3Fts5StorageRowCount(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).FpStorage, pnRow) } -func fts5ApiTokenize(tls *libc.TLS, pCtx uintptr, pText uintptr, nText int32, pUserData uintptr, xToken uintptr) int32 { /* sqlite3.c:233396:12: */ +func fts5ApiTokenize(tls *libc.TLS, pCtx uintptr, pText uintptr, nText int32, pUserData uintptr, xToken uintptr) int32 { /* sqlite3.c:233453:12: */ var pCsr uintptr = pCtx var pTab uintptr = (*Fts5Cursor)(unsafe.Pointer(pCsr)).Fbase.FpVtab return sqlite3Fts5Tokenize(tls, (*Fts5Table)(unsafe.Pointer(pTab)).FpConfig, FTS5_TOKENIZE_AUX, pText, nText, pUserData, xToken) } -func fts5ApiPhraseCount(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:233409:12: */ +func fts5ApiPhraseCount(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:233466:12: */ var pCsr uintptr = pCtx return sqlite3Fts5ExprPhraseCount(tls, (*Fts5Cursor)(unsafe.Pointer(pCsr)).FpExpr) } -func fts5ApiPhraseSize(tls *libc.TLS, pCtx uintptr, iPhrase int32) int32 { /* sqlite3.c:233414:12: */ +func fts5ApiPhraseSize(tls *libc.TLS, pCtx uintptr, iPhrase int32) int32 { /* sqlite3.c:233471:12: */ var pCsr uintptr = pCtx return sqlite3Fts5ExprPhraseSize(tls, (*Fts5Cursor)(unsafe.Pointer(pCsr)).FpExpr, iPhrase) } -func fts5ApiColumnText(tls *libc.TLS, pCtx uintptr, iCol int32, pz uintptr, pn uintptr) int32 { /* sqlite3.c:233419:12: */ +func fts5ApiColumnText(tls *libc.TLS, pCtx uintptr, iCol int32, pz uintptr, pn uintptr) int32 { /* sqlite3.c:233476:12: */ var rc int32 = SQLITE_OK var pCsr uintptr = pCtx if fts5IsContentless(tls, (*Fts5Cursor)(unsafe.Pointer(pCsr)).Fbase.FpVtab) != 0 || @@ -188475,7 +188506,7 @@ func fts5ApiColumnText(tls *libc.TLS, pCtx uintptr, iCol int32, pz uintptr, pn u return rc } -func fts5CsrPoslist(tls *libc.TLS, pCsr uintptr, iPhrase int32, pa uintptr, pn uintptr) int32 { /* sqlite3.c:233442:12: */ +func fts5CsrPoslist(tls *libc.TLS, pCsr uintptr, iPhrase int32, pa uintptr, pn uintptr) int32 { /* sqlite3.c:233499:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -188532,7 +188563,7 @@ func fts5CsrPoslist(tls *libc.TLS, pCsr uintptr, iPhrase int32, pa uintptr, pn u // Ensure that the Fts5Cursor.nInstCount and aInst[] variables are populated // correctly for the current view. Return SQLITE_OK if successful, or an // SQLite error code otherwise. -func fts5CacheInstArray(tls *libc.TLS, pCsr uintptr) int32 { /* sqlite3.c:233494:12: */ +func fts5CacheInstArray(tls *libc.TLS, pCsr uintptr) int32 { /* sqlite3.c:233551:12: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -188616,7 +188647,7 @@ func fts5CacheInstArray(tls *libc.TLS, pCsr uintptr) int32 { /* sqlite3.c:233494 return *(*int32)(unsafe.Pointer(bp /* rc */)) } -func fts5ApiInstCount(tls *libc.TLS, pCtx uintptr, pnInst uintptr) int32 { /* sqlite3.c:233568:12: */ +func fts5ApiInstCount(tls *libc.TLS, pCtx uintptr, pnInst uintptr) int32 { /* sqlite3.c:233625:12: */ var pCsr uintptr = pCtx var rc int32 = SQLITE_OK if (*Fts5Cursor)(unsafe.Pointer(pCsr)).Fcsrflags&FTS5CSR_REQUIRE_INST == 0 || @@ -188626,7 +188657,7 @@ func fts5ApiInstCount(tls *libc.TLS, pCtx uintptr, pnInst uintptr) int32 { /* sq return rc } -func fts5ApiInst(tls *libc.TLS, pCtx uintptr, iIdx int32, piPhrase uintptr, piCol uintptr, piOff uintptr) int32 { /* sqlite3.c:233578:12: */ +func fts5ApiInst(tls *libc.TLS, pCtx uintptr, iIdx int32, piPhrase uintptr, piCol uintptr, piOff uintptr) int32 { /* sqlite3.c:233635:12: */ var pCsr uintptr = pCtx var rc int32 = SQLITE_OK if (*Fts5Cursor)(unsafe.Pointer(pCsr)).Fcsrflags&FTS5CSR_REQUIRE_INST == 0 || @@ -188642,11 +188673,11 @@ func fts5ApiInst(tls *libc.TLS, pCtx uintptr, iIdx int32, piPhrase uintptr, piCo return rc } -func fts5ApiRowid(tls *libc.TLS, pCtx uintptr) Sqlite3_int64 { /* sqlite3.c:233607:22: */ +func fts5ApiRowid(tls *libc.TLS, pCtx uintptr) Sqlite3_int64 { /* sqlite3.c:233664:22: */ return fts5CursorRowid(tls, pCtx) } -func fts5ColumnSizeCb(tls *libc.TLS, pContext uintptr, tflags int32, pUnused uintptr, nUnused int32, iUnused1 int32, iUnused2 int32) int32 { /* sqlite3.c:233611:12: */ +func fts5ColumnSizeCb(tls *libc.TLS, pContext uintptr, tflags int32, pUnused uintptr, nUnused int32, iUnused1 int32, iUnused2 int32) int32 { /* sqlite3.c:233668:12: */ var pCnt uintptr = pContext _ = pUnused _ = nUnused @@ -188658,7 +188689,7 @@ func fts5ColumnSizeCb(tls *libc.TLS, pContext uintptr, tflags int32, pUnused uin return SQLITE_OK } -func fts5ApiColumnSize(tls *libc.TLS, pCtx uintptr, iCol int32, pnToken uintptr) int32 { /* sqlite3.c:233628:12: */ +func fts5ApiColumnSize(tls *libc.TLS, pCtx uintptr, iCol int32, pnToken uintptr) int32 { /* sqlite3.c:233685:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -188716,7 +188747,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) int32 { /* sqlite3.c:233681:12: */ +func fts5ApiSetAuxdata(tls *libc.TLS, pCtx uintptr, pPtr uintptr, xDelete uintptr) int32 { /* sqlite3.c:233738:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -188754,7 +188785,7 @@ func fts5ApiSetAuxdata(tls *libc.TLS, pCtx uintptr, pPtr uintptr, xDelete uintpt return SQLITE_OK } -func fts5ApiGetAuxdata(tls *libc.TLS, pCtx uintptr, bClear int32) uintptr { /* sqlite3.c:233716:13: */ +func fts5ApiGetAuxdata(tls *libc.TLS, pCtx uintptr, bClear int32) uintptr { /* sqlite3.c:233773:13: */ var pCsr uintptr = pCtx var pData uintptr var pRet uintptr = uintptr(0) @@ -188776,7 +188807,7 @@ func fts5ApiGetAuxdata(tls *libc.TLS, pCtx uintptr, bClear int32) uintptr { /* s return pRet } -func fts5ApiPhraseNext(tls *libc.TLS, pUnused uintptr, pIter uintptr, piCol uintptr, piOff uintptr) { /* sqlite3.c:233736:13: */ +func fts5ApiPhraseNext(tls *libc.TLS, pUnused uintptr, pIter uintptr, piCol uintptr, piOff uintptr) { /* sqlite3.c:233793:13: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -188798,7 +188829,7 @@ func fts5ApiPhraseNext(tls *libc.TLS, pUnused uintptr, pIter uintptr, piCol uint } } -func fts5ApiPhraseFirst(tls *libc.TLS, pCtx uintptr, iPhrase int32, pIter uintptr, piCol uintptr, piOff uintptr) int32 { /* sqlite3.c:233758:12: */ +func fts5ApiPhraseFirst(tls *libc.TLS, pCtx uintptr, iPhrase int32, pIter uintptr, piCol uintptr, piOff uintptr) int32 { /* sqlite3.c:233815:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -188821,7 +188852,7 @@ func fts5ApiPhraseFirst(tls *libc.TLS, pCtx uintptr, iPhrase int32, pIter uintpt return rc } -func fts5ApiPhraseNextColumn(tls *libc.TLS, pCtx uintptr, pIter uintptr, piCol uintptr) { /* sqlite3.c:233777:13: */ +func fts5ApiPhraseNextColumn(tls *libc.TLS, pCtx uintptr, pIter uintptr, piCol uintptr) { /* sqlite3.c:233834:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -188854,7 +188885,7 @@ func fts5ApiPhraseNextColumn(tls *libc.TLS, pCtx uintptr, pIter uintptr, piCol u } } -func fts5ApiPhraseFirstColumn(tls *libc.TLS, pCtx uintptr, iPhrase int32, pIter uintptr, piCol uintptr) int32 { /* sqlite3.c:233807:12: */ +func fts5ApiPhraseFirstColumn(tls *libc.TLS, pCtx uintptr, iPhrase int32, pIter uintptr, piCol uintptr) int32 { /* sqlite3.c:233864:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -188935,10 +188966,10 @@ var sFts5Api = Fts5ExtensionApi{ FxPhraseNext: 0, FxPhraseFirstColumn: 0, FxPhraseNextColumn: 0, -} /* sqlite3.c:233857:31 */ +} /* sqlite3.c:233914:31 */ // Implementation of API function xQueryPhrase(). -func fts5ApiQueryPhrase(tls *libc.TLS, pCtx uintptr, iPhrase int32, pUserData uintptr, xCallback uintptr) int32 { /* sqlite3.c:233883:12: */ +func fts5ApiQueryPhrase(tls *libc.TLS, pCtx uintptr, iPhrase int32, pUserData uintptr, xCallback uintptr) int32 { /* sqlite3.c:233940:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -188974,7 +189005,7 @@ func fts5ApiQueryPhrase(tls *libc.TLS, pCtx uintptr, iPhrase int32, pUserData ui return rc } -func fts5ApiInvoke(tls *libc.TLS, pAux uintptr, pCsr uintptr, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:233920:13: */ +func fts5ApiInvoke(tls *libc.TLS, pAux uintptr, pCsr uintptr, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:233977:13: */ (*Fts5Cursor)(unsafe.Pointer(pCsr)).FpAux = pAux (*struct { @@ -188983,7 +189014,7 @@ func fts5ApiInvoke(tls *libc.TLS, pAux uintptr, pCsr uintptr, context uintptr, a (*Fts5Cursor)(unsafe.Pointer(pCsr)).FpAux = uintptr(0) } -func fts5CursorFromCsrid(tls *libc.TLS, pGlobal uintptr, iCsrId I64) uintptr { /* sqlite3.c:233933:19: */ +func fts5CursorFromCsrid(tls *libc.TLS, pGlobal uintptr, iCsrId I64) uintptr { /* sqlite3.c:233990:19: */ var pCsr uintptr for pCsr = (*Fts5Global)(unsafe.Pointer(pGlobal)).FpCsr; pCsr != 0; pCsr = (*Fts5Cursor)(unsafe.Pointer(pCsr)).FpNext { if (*Fts5Cursor)(unsafe.Pointer(pCsr)).FiCsrId == iCsrId { @@ -188993,7 +189024,7 @@ func fts5CursorFromCsrid(tls *libc.TLS, pGlobal uintptr, iCsrId I64) uintptr { / return pCsr } -func fts5ApiCallback(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:233941:13: */ +func fts5ApiCallback(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:233998:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -189016,7 +189047,7 @@ func fts5ApiCallback(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { // Given cursor id iId, return a pointer to the corresponding Fts5Table // object. Or NULL If the cursor id does not exist. -func sqlite3Fts5TableFromCsrid(tls *libc.TLS, pGlobal uintptr, iCsrId I64) uintptr { /* sqlite3.c:233970:18: */ +func sqlite3Fts5TableFromCsrid(tls *libc.TLS, pGlobal uintptr, iCsrId I64) uintptr { /* sqlite3.c:234027:18: */ var pCsr uintptr pCsr = fts5CursorFromCsrid(tls, pGlobal, iCsrId) if pCsr != 0 { @@ -189038,7 +189069,7 @@ func sqlite3Fts5TableFromCsrid(tls *libc.TLS, pGlobal uintptr, iCsrId I64) uintp // for phrase 0. The second (same disclaimer) contains the size of position // list 1. And so on. There is no size field for the final position list, // as it can be derived from the total size of the blob. -func fts5PoslistBlob(tls *libc.TLS, pCtx uintptr, pCsr uintptr) int32 { /* sqlite3.c:233997:12: */ +func fts5PoslistBlob(tls *libc.TLS, pCtx uintptr, pCsr uintptr) int32 { /* sqlite3.c:234054:12: */ bp := tls.Alloc(40) defer tls.Free(40) @@ -189102,7 +189133,7 @@ func fts5PoslistBlob(tls *libc.TLS, pCtx uintptr, pCsr uintptr) int32 { /* sqlit // This is the xColumn method, called by SQLite to request a value from // the row that the supplied cursor currently points to. -func fts5ColumnMethod(tls *libc.TLS, pCursor uintptr, pCtx uintptr, iCol int32) int32 { /* sqlite3.c:234054:12: */ +func fts5ColumnMethod(tls *libc.TLS, pCursor uintptr, pCtx uintptr, iCol int32) int32 { /* sqlite3.c:234111:12: */ var pTab uintptr = (*Sqlite3_vtab_cursor)(unsafe.Pointer(pCursor)).FpVtab var pConfig uintptr = (*Fts5FullTable)(unsafe.Pointer(pTab)).Fp.FpConfig var pCsr uintptr = pCursor @@ -189142,7 +189173,7 @@ 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) int32 { /* sqlite3.c:234107:12: */ +func fts5FindFunctionMethod(tls *libc.TLS, pVtab uintptr, nUnused int32, zName uintptr, pxFunc uintptr, ppArg uintptr) int32 { /* sqlite3.c:234164:12: */ var pTab uintptr = pVtab var pAux uintptr @@ -189161,12 +189192,12 @@ func fts5FindFunctionMethod(tls *libc.TLS, pVtab uintptr, nUnused int32, zName u } // Implementation of FTS5 xRename method. Rename an fts5 table. -func fts5RenameMethod(tls *libc.TLS, pVtab uintptr, zName uintptr) int32 { /* sqlite3.c:234132:12: */ +func fts5RenameMethod(tls *libc.TLS, pVtab uintptr, zName uintptr) int32 { /* sqlite3.c:234189:12: */ var pTab uintptr = pVtab return sqlite3Fts5StorageRename(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).FpStorage, zName) } -func sqlite3Fts5FlushToDisk(tls *libc.TLS, pTab uintptr) int32 { /* sqlite3.c:234140:12: */ +func sqlite3Fts5FlushToDisk(tls *libc.TLS, pTab uintptr) int32 { /* sqlite3.c:234197:12: */ fts5TripCursors(tls, pTab) return sqlite3Fts5StorageSync(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).FpStorage) } @@ -189174,7 +189205,7 @@ func sqlite3Fts5FlushToDisk(tls *libc.TLS, pTab uintptr) int32 { /* sqlite3.c:23 // The xSavepoint() method. // // Flush the contents of the pending-terms table to disk. -func fts5SavepointMethod(tls *libc.TLS, pVtab uintptr, iSavepoint int32) int32 { /* sqlite3.c:234150:12: */ +func fts5SavepointMethod(tls *libc.TLS, pVtab uintptr, iSavepoint int32) int32 { /* sqlite3.c:234207:12: */ _ = iSavepoint // Call below is a no-op for NDEBUG builds return sqlite3Fts5FlushToDisk(tls, pVtab) @@ -189183,7 +189214,7 @@ func fts5SavepointMethod(tls *libc.TLS, pVtab uintptr, iSavepoint int32) int32 { // The xRelease() method. // // This is a no-op. -func fts5ReleaseMethod(tls *libc.TLS, pVtab uintptr, iSavepoint int32) int32 { /* sqlite3.c:234161:12: */ +func fts5ReleaseMethod(tls *libc.TLS, pVtab uintptr, iSavepoint int32) int32 { /* sqlite3.c:234218:12: */ _ = iSavepoint // Call below is a no-op for NDEBUG builds return sqlite3Fts5FlushToDisk(tls, pVtab) @@ -189192,7 +189223,7 @@ func fts5ReleaseMethod(tls *libc.TLS, pVtab uintptr, iSavepoint int32) int32 { / // The xRollbackTo() method. // // Discard the contents of the pending terms table. -func fts5RollbackToMethod(tls *libc.TLS, pVtab uintptr, iSavepoint int32) int32 { /* sqlite3.c:234172:12: */ +func fts5RollbackToMethod(tls *libc.TLS, pVtab uintptr, iSavepoint int32) int32 { /* sqlite3.c:234229:12: */ var pTab uintptr = pVtab _ = iSavepoint // Call below is a no-op for NDEBUG builds @@ -189201,7 +189232,7 @@ func fts5RollbackToMethod(tls *libc.TLS, pVtab uintptr, iSavepoint int32) int32 } // Register a new auxiliary function with global context pGlobal. -func fts5CreateAux(tls *libc.TLS, pApi uintptr, zName uintptr, pUserData uintptr, xFunc Fts5_extension_function, xDestroy uintptr) int32 { /* sqlite3.c:234183:12: */ +func fts5CreateAux(tls *libc.TLS, pApi uintptr, zName uintptr, pUserData uintptr, xFunc Fts5_extension_function, xDestroy uintptr) int32 { /* sqlite3.c:234240:12: */ var pGlobal uintptr = pApi var rc int32 = Xsqlite3_overload_function(tls, (*Fts5Global)(unsafe.Pointer(pGlobal)).Fdb, zName, -1) if rc == SQLITE_OK { @@ -189232,7 +189263,7 @@ func fts5CreateAux(tls *libc.TLS, pApi uintptr, zName uintptr, pUserData uintptr // Register a new tokenizer. This is the implementation of the // fts5_api.xCreateTokenizer() method. -func fts5CreateTokenizer(tls *libc.TLS, pApi uintptr, zName uintptr, pUserData uintptr, pTokenizer uintptr, xDestroy uintptr) int32 { /* sqlite3.c:234222:12: */ +func fts5CreateTokenizer(tls *libc.TLS, pApi uintptr, zName uintptr, pUserData uintptr, pTokenizer uintptr, xDestroy uintptr) int32 { /* sqlite3.c:234279:12: */ var pGlobal uintptr = pApi var pNew uintptr var nName Sqlite3_int64 // Size of zName and its \0 terminator @@ -189261,7 +189292,7 @@ func fts5CreateTokenizer(tls *libc.TLS, pApi uintptr, zName uintptr, pUserData u return rc } -func fts5LocateTokenizer(tls *libc.TLS, pGlobal uintptr, zName uintptr) uintptr { /* sqlite3.c:234257:28: */ +func fts5LocateTokenizer(tls *libc.TLS, pGlobal uintptr, zName uintptr) uintptr { /* sqlite3.c:234314:28: */ var pMod uintptr = uintptr(0) if zName == uintptr(0) { @@ -189279,7 +189310,7 @@ func fts5LocateTokenizer(tls *libc.TLS, pGlobal uintptr, zName uintptr) uintptr // Find a tokenizer. This is the implementation of the // fts5_api.xFindTokenizer() method. -func fts5FindTokenizer(tls *libc.TLS, pApi uintptr, zName uintptr, ppUserData uintptr, pTokenizer uintptr) int32 { /* sqlite3.c:234278:12: */ +func fts5FindTokenizer(tls *libc.TLS, pApi uintptr, zName uintptr, ppUserData uintptr, pTokenizer uintptr) int32 { /* sqlite3.c:234335:12: */ var rc int32 = SQLITE_OK var pMod uintptr @@ -189295,7 +189326,7 @@ func fts5FindTokenizer(tls *libc.TLS, pApi uintptr, zName uintptr, ppUserData ui return rc } -func sqlite3Fts5GetTokenizer(tls *libc.TLS, pGlobal uintptr, azArg uintptr, nArg int32, pConfig uintptr, pzErr uintptr) int32 { /* sqlite3.c:234299:12: */ +func sqlite3Fts5GetTokenizer(tls *libc.TLS, pGlobal uintptr, azArg uintptr, nArg int32, pConfig uintptr, pzErr uintptr) int32 { /* sqlite3.c:234356:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -189346,7 +189377,7 @@ func sqlite3Fts5GetTokenizer(tls *libc.TLS, pGlobal uintptr, azArg uintptr, nArg return rc } -func fts5ModuleDestroy(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:234336:13: */ +func fts5ModuleDestroy(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:234393:13: */ var pTok uintptr var pNextTok uintptr var pAux uintptr @@ -189372,7 +189403,7 @@ func fts5ModuleDestroy(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:234336:13: */ Xsqlite3_free(tls, pGlobal) } -func fts5Fts5Func(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:234356:13: */ +func fts5Fts5Func(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:234413:13: */ var pGlobal uintptr = Xsqlite3_user_data(tls, pCtx) var ppApi uintptr _ = nArg @@ -189384,7 +189415,7 @@ func fts5Fts5Func(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* s } // Implementation of fts5_source_id() function. -func fts5SourceIdFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apUnused uintptr) { /* sqlite3.c:234372:13: */ +func fts5SourceIdFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apUnused uintptr) { /* sqlite3.c:234429:13: */ _ = nArg _ = apUnused @@ -189393,7 +189424,7 @@ func fts5SourceIdFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apUnused uintptr) // Return true if zName is the extension on one of the shadow tables used // by this module. -func fts5ShadowName(tls *libc.TLS, zName uintptr) int32 { /* sqlite3.c:234386:12: */ +func fts5ShadowName(tls *libc.TLS, zName uintptr) int32 { /* sqlite3.c:234443:12: */ var i uint32 for i = uint32(0); i < uint32(unsafe.Sizeof(azName2))/uint32(unsafe.Sizeof(uintptr(0))); i++ { if Xsqlite3_stricmp(tls, zName, azName2[i]) == 0 { @@ -189405,9 +189436,9 @@ func fts5ShadowName(tls *libc.TLS, zName uintptr) int32 { /* sqlite3.c:234386:12 var azName2 = [5]uintptr{ ts + 35772, ts + 33871, ts + 24871, ts + 34222, ts + 11366, -} /* sqlite3.c:234387:21 */ +} /* sqlite3.c:234444:21 */ -func fts5Init(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:234397:12: */ +func fts5Init(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:234454:12: */ var rc int32 var pGlobal uintptr = uintptr(0) @@ -189490,7 +189521,7 @@ var fts5Mod = Sqlite3_module{ /* xRelease */ FxRelease: 0, /* xRollbackTo */ FxRollbackTo: 0, /* xShadowName */ FxShadowName: 0, -} /* sqlite3.c:234398:31 */ +} /* sqlite3.c:234455:31 */ // The following functions are used to register the module with SQLite. If // this module is being built as part of the SQLite core (SQLITE_CORE is @@ -189499,7 +189530,7 @@ var fts5Mod = Sqlite3_module{ // Or, if this module is being built as a loadable extension, // sqlite3Fts5Init() is omitted and the two standard entry points // sqlite3_fts_init() and sqlite3_fts5_init() defined instead. -func Xsqlite3Fts5Init(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:234506:20: */ +func Xsqlite3Fts5Init(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:234563:20: */ return fts5Init(tls, db) } @@ -189507,7 +189538,7 @@ func Xsqlite3Fts5Init(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:234506:20: // Fts5Storage.pInsertDocsize - if they have not already been prepared. // Return SQLITE_OK if successful, or an SQLite error code if an error // occurs. -func fts5StorageGetStmt(tls *libc.TLS, p uintptr, eStmt int32, ppStmt uintptr, pzErrMsg uintptr) int32 { /* sqlite3.c:234564:12: */ +func fts5StorageGetStmt(tls *libc.TLS, p uintptr, eStmt int32, ppStmt uintptr, pzErrMsg uintptr) int32 { /* sqlite3.c:234621:12: */ bp := tls.Alloc(172) defer tls.Free(172) @@ -189608,7 +189639,7 @@ func fts5StorageGetStmt(tls *libc.TLS, p uintptr, eStmt int32, ppStmt uintptr, p return rc } -func fts5ExecPrintf(tls *libc.TLS, db uintptr, pzErr uintptr, zFormat uintptr, va uintptr) int32 { /* sqlite3.c:234667:12: */ +func fts5ExecPrintf(tls *libc.TLS, db uintptr, pzErr uintptr, zFormat uintptr, va uintptr) int32 { /* sqlite3.c:234724:12: */ var rc int32 var ap Va_list _ = ap // ... printf arguments @@ -189630,7 +189661,7 @@ func fts5ExecPrintf(tls *libc.TLS, db uintptr, pzErr uintptr, zFormat uintptr, v // Drop all shadow tables. Return SQLITE_OK if successful or an SQLite error // code otherwise. -func sqlite3Fts5DropAll(tls *libc.TLS, pConfig uintptr) int32 { /* sqlite3.c:234695:12: */ +func sqlite3Fts5DropAll(tls *libc.TLS, pConfig uintptr) int32 { /* sqlite3.c:234752:12: */ bp := tls.Alloc(80) defer tls.Free(80) @@ -189653,7 +189684,7 @@ func sqlite3Fts5DropAll(tls *libc.TLS, pConfig uintptr) int32 { /* sqlite3.c:234 return rc } -func fts5StorageRenameOne(tls *libc.TLS, pConfig uintptr, pRc uintptr, zTail uintptr, zName uintptr) { /* sqlite3.c:234719:13: */ +func fts5StorageRenameOne(tls *libc.TLS, pConfig uintptr, pRc uintptr, zTail uintptr, zName uintptr) { /* sqlite3.c:234776:13: */ bp := tls.Alloc(40) defer tls.Free(40) @@ -189664,7 +189695,7 @@ func fts5StorageRenameOne(tls *libc.TLS, pConfig uintptr, pRc uintptr, zTail uin } } -func sqlite3Fts5StorageRename(tls *libc.TLS, pStorage uintptr, zName uintptr) int32 { /* sqlite3.c:234733:12: */ +func sqlite3Fts5StorageRename(tls *libc.TLS, pStorage uintptr, zName uintptr) int32 { /* sqlite3.c:234790:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -189685,7 +189716,7 @@ func sqlite3Fts5StorageRename(tls *libc.TLS, pStorage uintptr, zName uintptr) in // Create the shadow table named zPost, with definition zDefn. Return // SQLITE_OK if successful, or an SQLite error code otherwise. -func sqlite3Fts5CreateTable(tls *libc.TLS, pConfig uintptr, zPost uintptr, zDefn uintptr, bWithout int32, pzErr uintptr) int32 { /* sqlite3.c:234753:12: */ +func sqlite3Fts5CreateTable(tls *libc.TLS, pConfig uintptr, zPost uintptr, zDefn uintptr, bWithout int32, pzErr uintptr) int32 { /* sqlite3.c:234810:12: */ bp := tls.Alloc(68) defer tls.Free(68) @@ -189715,7 +189746,7 @@ func sqlite3Fts5CreateTable(tls *libc.TLS, pConfig uintptr, zPost uintptr, zDefn // // If successful, set *pp to point to the new object and return SQLITE_OK. // Otherwise, set *pp to NULL and return an SQLite error code. -func sqlite3Fts5StorageOpen(tls *libc.TLS, pConfig uintptr, pIndex uintptr, bCreate int32, pp uintptr, pzErr uintptr) int32 { /* sqlite3.c:234788:12: */ +func sqlite3Fts5StorageOpen(tls *libc.TLS, pConfig uintptr, pIndex uintptr, bCreate int32, pp uintptr, pzErr uintptr) int32 { /* sqlite3.c:234845:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -189776,7 +189807,7 @@ func sqlite3Fts5StorageOpen(tls *libc.TLS, pConfig uintptr, pIndex uintptr, bCre } // Close a handle opened by an earlier call to sqlite3Fts5StorageOpen(). -func sqlite3Fts5StorageClose(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:234854:12: */ +func sqlite3Fts5StorageClose(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:234911:12: */ var rc int32 = SQLITE_OK if p != 0 { var i int32 @@ -189795,12 +189826,12 @@ type Fts5InsertCtx1 = struct { FpStorage uintptr FiCol int32 FszCol int32 -} /* sqlite3.c:234869:9 */ +} /* sqlite3.c:234926:9 */ -type Fts5InsertCtx = Fts5InsertCtx1 /* sqlite3.c:234869:30 */ +type Fts5InsertCtx = Fts5InsertCtx1 /* sqlite3.c:234926:30 */ // Tokenization callback used when inserting tokens into the FTS index. -func fts5StorageInsertCallback(tls *libc.TLS, pContext uintptr, tflags int32, pToken uintptr, nToken int32, iUnused1 int32, iUnused2 int32) int32 { /* sqlite3.c:234879:12: */ +func fts5StorageInsertCallback(tls *libc.TLS, pContext uintptr, tflags int32, pToken uintptr, nToken int32, iUnused1 int32, iUnused2 int32) int32 { /* sqlite3.c:234936:12: */ var pCtx uintptr = pContext var pIdx uintptr = (*Fts5Storage)(unsafe.Pointer((*Fts5InsertCtx)(unsafe.Pointer(pCtx)).FpStorage)).FpIndex _ = iUnused1 @@ -189817,7 +189848,7 @@ func fts5StorageInsertCallback(tls *libc.TLS, pContext uintptr, tflags int32, pT // If a row with rowid iDel is present in the %_content table, add the // delete-markers to the FTS index necessary to delete it. Do not actually // remove the %_content row at this time though. -func fts5StorageDeleteFromIndex(tls *libc.TLS, p uintptr, iDel I64, apVal uintptr) int32 { /* sqlite3.c:234902:12: */ +func fts5StorageDeleteFromIndex(tls *libc.TLS, p uintptr, iDel I64, apVal uintptr) int32 { /* sqlite3.c:234959:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -189886,7 +189917,7 @@ func fts5StorageDeleteFromIndex(tls *libc.TLS, p uintptr, iDel I64, apVal uintpt // // If there is no %_docsize table (as happens if the columnsize=0 option // is specified when the FTS5 table is created), this function is a no-op. -func fts5StorageInsertDocsize(tls *libc.TLS, p uintptr, iRowid I64, pBuf uintptr) int32 { /* sqlite3.c:234971:12: */ +func fts5StorageInsertDocsize(tls *libc.TLS, p uintptr, iRowid I64, pBuf uintptr) int32 { /* sqlite3.c:235028:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -189913,7 +189944,7 @@ func fts5StorageInsertDocsize(tls *libc.TLS, p uintptr, iRowid I64, pBuf uintptr // // Return SQLITE_OK if successful, or an SQLite error code if an error // occurs. -func fts5StorageLoadTotals(tls *libc.TLS, p uintptr, bCache int32) int32 { /* sqlite3.c:235001:12: */ +func fts5StorageLoadTotals(tls *libc.TLS, p uintptr, bCache int32) int32 { /* sqlite3.c:235058:12: */ var rc int32 = SQLITE_OK if (*Fts5Storage)(unsafe.Pointer(p)).FbTotalsValid == 0 { rc = sqlite3Fts5IndexGetAverages(tls, (*Fts5Storage)(unsafe.Pointer(p)).FpIndex, p+12, (*Fts5Storage)(unsafe.Pointer(p)).FaTotalSize) @@ -189927,7 +189958,7 @@ func fts5StorageLoadTotals(tls *libc.TLS, p uintptr, bCache int32) int32 { /* sq // // Return SQLITE_OK if successful, or an SQLite error code if an error // occurs. -func fts5StorageSaveTotals(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:235017:12: */ +func fts5StorageSaveTotals(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:235074:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -189951,7 +189982,7 @@ func fts5StorageSaveTotals(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:235017 } // Remove a row from the FTS table. -func sqlite3Fts5StorageDelete(tls *libc.TLS, p uintptr, iDel I64, apVal uintptr) int32 { /* sqlite3.c:235039:12: */ +func sqlite3Fts5StorageDelete(tls *libc.TLS, p uintptr, iDel I64, apVal uintptr) int32 { /* sqlite3.c:235096:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -189992,7 +190023,7 @@ func sqlite3Fts5StorageDelete(tls *libc.TLS, p uintptr, iDel I64, apVal uintptr) } // Delete all entries in the FTS5 index. -func sqlite3Fts5StorageDeleteAll(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:235080:12: */ +func sqlite3Fts5StorageDeleteAll(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:235137:12: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -190024,7 +190055,7 @@ func sqlite3Fts5StorageDeleteAll(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c: return rc } -func sqlite3Fts5StorageRebuild(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:235111:12: */ +func sqlite3Fts5StorageRebuild(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:235168:12: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -190088,15 +190119,15 @@ func sqlite3Fts5StorageRebuild(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:23 return *(*int32)(unsafe.Pointer(bp + 28 /* rc */)) } -func sqlite3Fts5StorageOptimize(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:235166:12: */ +func sqlite3Fts5StorageOptimize(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:235223:12: */ return sqlite3Fts5IndexOptimize(tls, (*Fts5Storage)(unsafe.Pointer(p)).FpIndex) } -func sqlite3Fts5StorageMerge(tls *libc.TLS, p uintptr, nMerge int32) int32 { /* sqlite3.c:235170:12: */ +func sqlite3Fts5StorageMerge(tls *libc.TLS, p uintptr, nMerge int32) int32 { /* sqlite3.c:235227:12: */ return sqlite3Fts5IndexMerge(tls, (*Fts5Storage)(unsafe.Pointer(p)).FpIndex, nMerge) } -func sqlite3Fts5StorageReset(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:235174:12: */ +func sqlite3Fts5StorageReset(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:235231:12: */ return sqlite3Fts5IndexReset(tls, (*Fts5Storage)(unsafe.Pointer(p)).FpIndex) } @@ -190107,7 +190138,7 @@ func sqlite3Fts5StorageReset(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:2351 // // If the %_docsize table does not exist, SQLITE_MISMATCH is returned. In // this case the user is required to provide a rowid explicitly. -func fts5StorageNewRowid(tls *libc.TLS, p uintptr, piRowid uintptr) int32 { /* sqlite3.c:235187:12: */ +func fts5StorageNewRowid(tls *libc.TLS, p uintptr, piRowid uintptr) int32 { /* sqlite3.c:235244:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -190129,7 +190160,7 @@ func fts5StorageNewRowid(tls *libc.TLS, p uintptr, piRowid uintptr) int32 { /* s } // Insert a new row into the FTS content table. -func sqlite3Fts5StorageContentInsert(tls *libc.TLS, p uintptr, apVal uintptr, piRowid uintptr) int32 { /* sqlite3.c:235208:12: */ +func sqlite3Fts5StorageContentInsert(tls *libc.TLS, p uintptr, apVal uintptr, piRowid uintptr) int32 { /* sqlite3.c:235265:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -190161,7 +190192,7 @@ func sqlite3Fts5StorageContentInsert(tls *libc.TLS, p uintptr, apVal uintptr, pi } // Insert new entries into the FTS index and %_docsize table. -func sqlite3Fts5StorageIndexInsert(tls *libc.TLS, p uintptr, apVal uintptr, iRowid I64) int32 { /* sqlite3.c:235243:12: */ +func sqlite3Fts5StorageIndexInsert(tls *libc.TLS, p uintptr, apVal uintptr, iRowid I64) int32 { /* sqlite3.c:235300:12: */ bp := tls.Alloc(28) defer tls.Free(28) @@ -190206,7 +190237,7 @@ func sqlite3Fts5StorageIndexInsert(tls *libc.TLS, p uintptr, apVal uintptr, iRow return *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) } -func fts5StorageCount(tls *libc.TLS, p uintptr, zSuffix uintptr, pnRow uintptr) int32 { /* sqlite3.c:235286:12: */ +func fts5StorageCount(tls *libc.TLS, p uintptr, zSuffix uintptr, pnRow uintptr) int32 { /* sqlite3.c:235343:12: */ bp := tls.Alloc(28) defer tls.Free(28) @@ -190241,13 +190272,13 @@ type Fts5IntegrityCtx1 = struct { Fcksum U64 FpTermset uintptr FpConfig uintptr -} /* sqlite3.c:235314:9 */ +} /* sqlite3.c:235371:9 */ // Context object used by sqlite3Fts5StorageIntegrity(). -type Fts5IntegrityCtx = Fts5IntegrityCtx1 /* sqlite3.c:235314:33 */ +type Fts5IntegrityCtx = Fts5IntegrityCtx1 /* sqlite3.c:235371:33 */ // Tokenization callback used by integrity check. -func fts5StorageIntegrityCallback(tls *libc.TLS, pContext uintptr, tflags int32, pToken uintptr, nToken int32, iUnused1 int32, iUnused2 int32) int32 { /* sqlite3.c:235328:12: */ +func fts5StorageIntegrityCallback(tls *libc.TLS, pContext uintptr, tflags int32, pToken uintptr, nToken int32, iUnused1 int32, iUnused2 int32) int32 { /* sqlite3.c:235385:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -190313,7 +190344,7 @@ func fts5StorageIntegrityCallback(tls *libc.TLS, pContext uintptr, tflags int32, // table. Return SQLITE_OK if they do, or SQLITE_CORRUPT if not. Return // some other SQLite error code if an error occurs while attempting to // determine this. -func sqlite3Fts5StorageIntegrity(tls *libc.TLS, p uintptr, iArg int32) int32 { /* sqlite3.c:235398:12: */ +func sqlite3Fts5StorageIntegrity(tls *libc.TLS, p uintptr, iArg int32) int32 { /* sqlite3.c:235455:12: */ bp := tls.Alloc(52) defer tls.Free(52) @@ -190438,7 +190469,7 @@ func sqlite3Fts5StorageIntegrity(tls *libc.TLS, p uintptr, iArg int32) int32 { / // Obtain an SQLite statement handle that may be used to read data from the // %_content table. -func sqlite3Fts5StorageStmt(tls *libc.TLS, p uintptr, eStmt int32, pp uintptr, pzErrMsg uintptr) int32 { /* sqlite3.c:235506:12: */ +func sqlite3Fts5StorageStmt(tls *libc.TLS, p uintptr, eStmt int32, pp uintptr, pzErrMsg uintptr) int32 { /* sqlite3.c:235563:12: */ var rc int32 rc = fts5StorageGetStmt(tls, p, eStmt, pp, pzErrMsg) @@ -190452,7 +190483,7 @@ func sqlite3Fts5StorageStmt(tls *libc.TLS, p uintptr, eStmt int32, pp uintptr, p // Release an SQLite statement handle obtained via an earlier call to // sqlite3Fts5StorageStmt(). The eStmt parameter passed to this function // must match that passed to the sqlite3Fts5StorageStmt() call. -func sqlite3Fts5StorageStmtRelease(tls *libc.TLS, p uintptr, eStmt int32, pStmt uintptr) { /* sqlite3.c:235530:13: */ +func sqlite3Fts5StorageStmtRelease(tls *libc.TLS, p uintptr, eStmt int32, pStmt uintptr) { /* sqlite3.c:235587:13: */ if *(*uintptr)(unsafe.Pointer(p + 24 + uintptr(eStmt)*4)) == uintptr(0) { Xsqlite3_reset(tls, pStmt) @@ -190462,7 +190493,7 @@ func sqlite3Fts5StorageStmtRelease(tls *libc.TLS, p uintptr, eStmt int32, pStmt } } -func fts5StorageDecodeSizeArray(tls *libc.TLS, aCol uintptr, nCol int32, aBlob uintptr, nBlob int32) int32 { /* sqlite3.c:235547:12: */ +func fts5StorageDecodeSizeArray(tls *libc.TLS, aCol uintptr, nCol int32, aBlob uintptr, nBlob int32) int32 { /* sqlite3.c:235604:12: */ var i int32 var iOff int32 = 0 for i = 0; i < nCol; i++ { @@ -190480,7 +190511,7 @@ func fts5StorageDecodeSizeArray(tls *libc.TLS, aCol uintptr, nCol int32, aBlob u // // An SQLite error code is returned if an error occurs, or SQLITE_OK // otherwise. -func sqlite3Fts5StorageDocsize(tls *libc.TLS, p uintptr, iRowid I64, aCol uintptr) int32 { /* sqlite3.c:235568:12: */ +func sqlite3Fts5StorageDocsize(tls *libc.TLS, p uintptr, iRowid I64, aCol uintptr) int32 { /* sqlite3.c:235625:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -190511,7 +190542,7 @@ func sqlite3Fts5StorageDocsize(tls *libc.TLS, p uintptr, iRowid I64, aCol uintpt return rc } -func sqlite3Fts5StorageSize(tls *libc.TLS, p uintptr, iCol int32, pnToken uintptr) int32 { /* sqlite3.c:235597:12: */ +func sqlite3Fts5StorageSize(tls *libc.TLS, p uintptr, iCol int32, pnToken uintptr) int32 { /* sqlite3.c:235654:12: */ var rc int32 = fts5StorageLoadTotals(tls, p, 0) if rc == SQLITE_OK { *(*I64)(unsafe.Pointer(pnToken)) = int64(0) @@ -190529,7 +190560,7 @@ func sqlite3Fts5StorageSize(tls *libc.TLS, p uintptr, iCol int32, pnToken uintpt return rc } -func sqlite3Fts5StorageRowCount(tls *libc.TLS, p uintptr, pnRow uintptr) int32 { /* sqlite3.c:235615:12: */ +func sqlite3Fts5StorageRowCount(tls *libc.TLS, p uintptr, pnRow uintptr) int32 { /* sqlite3.c:235672:12: */ var rc int32 = fts5StorageLoadTotals(tls, p, 0) if rc == SQLITE_OK { // nTotalRow being zero does not necessarily indicate a corrupt @@ -190546,7 +190577,7 @@ func sqlite3Fts5StorageRowCount(tls *libc.TLS, p uintptr, pnRow uintptr) int32 { } // Flush any data currently held in-memory to disk. -func sqlite3Fts5StorageSync(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:235632:12: */ +func sqlite3Fts5StorageSync(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:235689:12: */ var rc int32 = SQLITE_OK var iLastRowid I64 = Xsqlite3_last_insert_rowid(tls, (*Fts5Config)(unsafe.Pointer((*Fts5Storage)(unsafe.Pointer(p)).FpConfig)).Fdb) if (*Fts5Storage)(unsafe.Pointer(p)).FbTotalsValid != 0 { @@ -190560,12 +190591,12 @@ func sqlite3Fts5StorageSync(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:23563 return rc } -func sqlite3Fts5StorageRollback(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:235646:12: */ +func sqlite3Fts5StorageRollback(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:235703:12: */ (*Fts5Storage)(unsafe.Pointer(p)).FbTotalsValid = 0 return sqlite3Fts5IndexRollback(tls, (*Fts5Storage)(unsafe.Pointer(p)).FpIndex) } -func sqlite3Fts5StorageConfigValue(tls *libc.TLS, p uintptr, z uintptr, pVal uintptr, iVal int32) int32 { /* sqlite3.c:235651:12: */ +func sqlite3Fts5StorageConfigValue(tls *libc.TLS, p uintptr, z uintptr, pVal uintptr, iVal int32) int32 { /* sqlite3.c:235708:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -190620,13 +190651,13 @@ var aAsciiTokenChar = [128]uint8{ uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), // 0x50..0x5F uint8(0), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), // 0x60..0x6F uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), // 0x70..0x7F -} /* sqlite3.c:235704:22 */ +} /* sqlite3.c:235761:22 */ -type AsciiTokenizer1 = struct{ FaTokenChar [128]uint8 } /* sqlite3.c:235715:9 */ +type AsciiTokenizer1 = struct{ FaTokenChar [128]uint8 } /* sqlite3.c:235772:9 */ -type AsciiTokenizer = AsciiTokenizer1 /* sqlite3.c:235715:31 */ +type AsciiTokenizer = AsciiTokenizer1 /* sqlite3.c:235772:31 */ -func fts5AsciiAddExceptions(tls *libc.TLS, p uintptr, zArg uintptr, bTokenChars int32) { /* sqlite3.c:235720:13: */ +func fts5AsciiAddExceptions(tls *libc.TLS, p uintptr, zArg uintptr, bTokenChars int32) { /* sqlite3.c:235777:13: */ var i int32 for i = 0; *(*int8)(unsafe.Pointer(zArg + uintptr(i))) != 0; i++ { if int32(*(*int8)(unsafe.Pointer(zArg + uintptr(i))))&0x80 == 0 { @@ -190636,12 +190667,12 @@ func fts5AsciiAddExceptions(tls *libc.TLS, p uintptr, zArg uintptr, bTokenChars } // Delete a "ascii" tokenizer. -func fts5AsciiDelete(tls *libc.TLS, p uintptr) { /* sqlite3.c:235736:13: */ +func fts5AsciiDelete(tls *libc.TLS, p uintptr) { /* sqlite3.c:235793:13: */ Xsqlite3_free(tls, p) } // Create an "ascii" tokenizer. -func fts5AsciiCreate(tls *libc.TLS, pUnused uintptr, azArg uintptr, nArg int32, ppOut uintptr) int32 { /* sqlite3.c:235743:12: */ +func fts5AsciiCreate(tls *libc.TLS, pUnused uintptr, azArg uintptr, nArg int32, ppOut uintptr) int32 { /* sqlite3.c:235800:12: */ var rc int32 = SQLITE_OK var p uintptr = uintptr(0) _ = pUnused @@ -190676,7 +190707,7 @@ func fts5AsciiCreate(tls *libc.TLS, pUnused uintptr, azArg uintptr, nArg int32, return rc } -func asciiFold(tls *libc.TLS, aOut uintptr, aIn uintptr, nByte int32) { /* sqlite3.c:235784:13: */ +func asciiFold(tls *libc.TLS, aOut uintptr, aIn uintptr, nByte int32) { /* sqlite3.c:235841:13: */ var i int32 for i = 0; i < nByte; i++ { var c int8 = *(*int8)(unsafe.Pointer(aIn + uintptr(i))) @@ -190688,7 +190719,7 @@ func asciiFold(tls *libc.TLS, aOut uintptr, aIn uintptr, nByte int32) { /* sqlit } // Tokenize some text using the ascii tokenizer. -func fts5AsciiTokenize(tls *libc.TLS, pTokenizer uintptr, pCtx uintptr, iUnused int32, pText uintptr, nText int32, xToken uintptr) int32 { /* sqlite3.c:235796:12: */ +func fts5AsciiTokenize(tls *libc.TLS, pTokenizer uintptr, pCtx uintptr, iUnused int32, pText uintptr, nText int32, xToken uintptr) int32 { /* sqlite3.c:235853:12: */ bp := tls.Alloc(64) defer tls.Free(64) @@ -190768,7 +190799,7 @@ type Unicode61Tokenizer1 = struct { FnException int32 FaiException uintptr FaCategory [32]uint8 -} /* sqlite3.c:235911:9 */ +} /* sqlite3.c:235968:9 */ // ************************************************************************* // @@ -190778,11 +190809,11 @@ type Unicode61Tokenizer1 = struct { // from the sqlite3 source file utf.c. If this file is compiled as part // of the amalgamation, they are not required. -type Unicode61Tokenizer = Unicode61Tokenizer1 /* sqlite3.c:235911:35 */ +type Unicode61Tokenizer = Unicode61Tokenizer1 /* sqlite3.c:235968:35 */ // Values for eRemoveDiacritic (must match internals of fts5_unicode2.c) -func fts5UnicodeAddExceptions(tls *libc.TLS, p uintptr, z uintptr, bTokenChars int32) int32 { /* sqlite3.c:235928:12: */ +func fts5UnicodeAddExceptions(tls *libc.TLS, p uintptr, z uintptr, bTokenChars int32) int32 { /* sqlite3.c:235985:12: */ var rc int32 = SQLITE_OK var n int32 = int32(libc.Xstrlen(tls, z)) var aNew uintptr @@ -190837,7 +190868,7 @@ func fts5UnicodeAddExceptions(tls *libc.TLS, p uintptr, z uintptr, bTokenChars i } // Return true if the p->aiException[] array contains the value iCode. -func fts5UnicodeIsException(tls *libc.TLS, p uintptr, iCode int32) int32 { /* sqlite3.c:235978:12: */ +func fts5UnicodeIsException(tls *libc.TLS, p uintptr, iCode int32) int32 { /* sqlite3.c:236035:12: */ if (*Unicode61Tokenizer)(unsafe.Pointer(p)).FnException > 0 { var a uintptr = (*Unicode61Tokenizer)(unsafe.Pointer(p)).FaiException var iLo int32 = 0 @@ -190859,7 +190890,7 @@ func fts5UnicodeIsException(tls *libc.TLS, p uintptr, iCode int32) int32 { /* sq } // Delete a "unicode61" tokenizer. -func fts5UnicodeDelete(tls *libc.TLS, pTok uintptr) { /* sqlite3.c:236002:13: */ +func fts5UnicodeDelete(tls *libc.TLS, pTok uintptr) { /* sqlite3.c:236059:13: */ if pTok != 0 { var p uintptr = pTok Xsqlite3_free(tls, (*Unicode61Tokenizer)(unsafe.Pointer(p)).FaiException) @@ -190869,7 +190900,7 @@ func fts5UnicodeDelete(tls *libc.TLS, pTok uintptr) { /* sqlite3.c:236002:13: */ return } -func unicodeSetCategories(tls *libc.TLS, p uintptr, zCat uintptr) int32 { /* sqlite3.c:236012:12: */ +func unicodeSetCategories(tls *libc.TLS, p uintptr, zCat uintptr) int32 { /* sqlite3.c:236069:12: */ var z uintptr = zCat for *(*int8)(unsafe.Pointer(z)) != 0 { @@ -190889,7 +190920,7 @@ func unicodeSetCategories(tls *libc.TLS, p uintptr, zCat uintptr) int32 { /* sql } // Create a "unicode61" tokenizer. -func fts5UnicodeCreate(tls *libc.TLS, pUnused uintptr, azArg uintptr, nArg int32, ppOut uintptr) int32 { /* sqlite3.c:236030:12: */ +func fts5UnicodeCreate(tls *libc.TLS, pUnused uintptr, azArg uintptr, nArg int32, ppOut uintptr) int32 { /* sqlite3.c:236087:12: */ var rc int32 = SQLITE_OK // Return code var p uintptr = uintptr(0) // New tokenizer object @@ -190957,12 +190988,12 @@ func fts5UnicodeCreate(tls *libc.TLS, pUnused uintptr, azArg uintptr, nArg int32 // Return true if, for the purposes of tokenizing with the tokenizer // passed as the first argument, codepoint iCode is considered a token // character (not a separator). -func fts5UnicodeIsAlnum(tls *libc.TLS, p uintptr, iCode int32) int32 { /* sqlite3.c:236110:12: */ +func fts5UnicodeIsAlnum(tls *libc.TLS, p uintptr, iCode int32) int32 { /* sqlite3.c:236167:12: */ return int32(*(*uint8)(unsafe.Pointer(p + 148 + uintptr(sqlite3Fts5UnicodeCategory(tls, U32(iCode)))))) ^ fts5UnicodeIsException(tls, p, iCode) } -func fts5UnicodeTokenize(tls *libc.TLS, pTokenizer uintptr, pCtx uintptr, iUnused int32, pText uintptr, nText int32, xToken uintptr) int32 { /* sqlite3.c:236117:12: */ +func fts5UnicodeTokenize(tls *libc.TLS, pTokenizer uintptr, pCtx uintptr, iUnused int32, pText uintptr, nText int32, xToken uintptr) int32 { /* sqlite3.c:236174:12: */ var p uintptr var rc int32 var a uintptr @@ -191218,7 +191249,7 @@ type PorterTokenizer1 = struct { Ftokenizer Fts5_tokenizer FpTokenizer uintptr FaBuf [128]int8 -} /* sqlite3.c:236229:9 */ +} /* sqlite3.c:236286:9 */ // ************************************************************************* // @@ -191227,10 +191258,10 @@ type PorterTokenizer1 = struct { // Any tokens larger than this (in bytes) are passed through without // stemming. -type PorterTokenizer = PorterTokenizer1 /* sqlite3.c:236229:32 */ +type PorterTokenizer = PorterTokenizer1 /* sqlite3.c:236286:32 */ // Delete a "porter" tokenizer. -func fts5PorterDelete(tls *libc.TLS, pTok uintptr) { /* sqlite3.c:236239:13: */ +func fts5PorterDelete(tls *libc.TLS, pTok uintptr) { /* sqlite3.c:236296:13: */ if pTok != 0 { var p uintptr = pTok if (*PorterTokenizer)(unsafe.Pointer(p)).FpTokenizer != 0 { @@ -191241,7 +191272,7 @@ func fts5PorterDelete(tls *libc.TLS, pTok uintptr) { /* sqlite3.c:236239:13: */ } // Create a "porter" tokenizer. -func fts5PorterCreate(tls *libc.TLS, pCtx uintptr, azArg uintptr, nArg int32, ppOut uintptr) int32 { /* sqlite3.c:236252:12: */ +func fts5PorterCreate(tls *libc.TLS, pCtx uintptr, azArg uintptr, nArg int32, ppOut uintptr) int32 { /* sqlite3.c:236309:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -191294,9 +191325,9 @@ type PorterContext1 = struct { FpCtx uintptr FxToken uintptr FaBuf uintptr -} /* sqlite3.c:236288:9 */ +} /* sqlite3.c:236345:9 */ -type PorterContext = PorterContext1 /* sqlite3.c:236288:30 */ +type PorterContext = PorterContext1 /* sqlite3.c:236345:30 */ type PorterRule1 = struct { FzSuffix uintptr @@ -191304,15 +191335,15 @@ type PorterRule1 = struct { FxCond uintptr FzOutput uintptr FnOutput int32 -} /* sqlite3.c:236295:9 */ +} /* sqlite3.c:236352:9 */ -type PorterRule = PorterRule1 /* sqlite3.c:236295:27 */ +type PorterRule = PorterRule1 /* sqlite3.c:236352:27 */ -func fts5PorterIsVowel(tls *libc.TLS, c int8, bYIsVowel int32) int32 { /* sqlite3.c:236330:12: */ +func fts5PorterIsVowel(tls *libc.TLS, c int8, bYIsVowel int32) int32 { /* sqlite3.c:236387:12: */ return libc.Bool32(int32(c) == 'a' || int32(c) == 'e' || int32(c) == 'i' || int32(c) == 'o' || int32(c) == 'u' || bYIsVowel != 0 && int32(c) == 'y') } -func fts5PorterGobbleVC(tls *libc.TLS, zStem uintptr, nStem int32, bPrevCons int32) int32 { /* sqlite3.c:236336:12: */ +func fts5PorterGobbleVC(tls *libc.TLS, zStem uintptr, nStem int32, bPrevCons int32) int32 { /* sqlite3.c:236393:12: */ var i int32 var bCons int32 = bPrevCons @@ -191333,12 +191364,12 @@ func fts5PorterGobbleVC(tls *libc.TLS, zStem uintptr, nStem int32, bPrevCons int } // porter rule condition: (m > 0) -func fts5Porter_MGt0(tls *libc.TLS, zStem uintptr, nStem int32) int32 { /* sqlite3.c:236353:12: */ +func fts5Porter_MGt0(tls *libc.TLS, zStem uintptr, nStem int32) int32 { /* sqlite3.c:236410:12: */ return libc.BoolInt32(!!(fts5PorterGobbleVC(tls, zStem, nStem, 0) != 0)) } // porter rule condition: (m > 1) -func fts5Porter_MGt1(tls *libc.TLS, zStem uintptr, nStem int32) int32 { /* sqlite3.c:236358:12: */ +func fts5Porter_MGt1(tls *libc.TLS, zStem uintptr, nStem int32) int32 { /* sqlite3.c:236415:12: */ var n int32 n = fts5PorterGobbleVC(tls, zStem, nStem, 0) if n != 0 && fts5PorterGobbleVC(tls, zStem+uintptr(n), nStem-n, 1) != 0 { @@ -191348,7 +191379,7 @@ func fts5Porter_MGt1(tls *libc.TLS, zStem uintptr, nStem int32) int32 { /* sqlit } // porter rule condition: (m = 1) -func fts5Porter_MEq1(tls *libc.TLS, zStem uintptr, nStem int32) int32 { /* sqlite3.c:236368:12: */ +func fts5Porter_MEq1(tls *libc.TLS, zStem uintptr, nStem int32) int32 { /* sqlite3.c:236425:12: */ var n int32 n = fts5PorterGobbleVC(tls, zStem, nStem, 0) if n != 0 && 0 == fts5PorterGobbleVC(tls, zStem+uintptr(n), nStem-n, 1) { @@ -191358,7 +191389,7 @@ func fts5Porter_MEq1(tls *libc.TLS, zStem uintptr, nStem int32) int32 { /* sqlit } // porter rule condition: (*o) -func fts5Porter_Ostar(tls *libc.TLS, zStem uintptr, nStem int32) int32 { /* sqlite3.c:236378:12: */ +func fts5Porter_Ostar(tls *libc.TLS, zStem uintptr, nStem int32) int32 { /* sqlite3.c:236435:12: */ if int32(*(*int8)(unsafe.Pointer(zStem + uintptr(nStem-1)))) == 'w' || int32(*(*int8)(unsafe.Pointer(zStem + uintptr(nStem-1)))) == 'x' || int32(*(*int8)(unsafe.Pointer(zStem + uintptr(nStem-1)))) == 'y' { return 0 } else { @@ -191376,14 +191407,14 @@ func fts5Porter_Ostar(tls *libc.TLS, zStem uintptr, nStem int32) int32 { /* sqli } // porter rule condition: (m > 1 and (*S or *T)) -func fts5Porter_MGt1_and_S_or_T(tls *libc.TLS, zStem uintptr, nStem int32) int32 { /* sqlite3.c:236395:12: */ +func fts5Porter_MGt1_and_S_or_T(tls *libc.TLS, zStem uintptr, nStem int32) int32 { /* sqlite3.c:236452:12: */ return libc.Bool32((int32(*(*int8)(unsafe.Pointer(zStem + uintptr(nStem-1)))) == 's' || int32(*(*int8)(unsafe.Pointer(zStem + uintptr(nStem-1)))) == 't') && fts5Porter_MGt1(tls, zStem, nStem) != 0) } // porter rule condition: (*v*) -func fts5Porter_Vowel(tls *libc.TLS, zStem uintptr, nStem int32) int32 { /* sqlite3.c:236402:12: */ +func fts5Porter_Vowel(tls *libc.TLS, zStem uintptr, nStem int32) int32 { /* sqlite3.c:236459:12: */ var i int32 for i = 0; i < nStem; i++ { if fts5PorterIsVowel(tls, *(*int8)(unsafe.Pointer(zStem + uintptr(i))), libc.Bool32(i > 0)) != 0 { @@ -191398,7 +191429,7 @@ func fts5Porter_Vowel(tls *libc.TLS, zStem uintptr, nStem int32) int32 { /* sqli // // GENERATED CODE STARTS HERE (mkportersteps.tcl) -func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqlite3.c:236418:12: */ +func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqlite3.c:236475:12: */ var ret int32 = 0 var nBuf int32 = *(*int32)(unsafe.Pointer(pnBuf)) switch int32(*(*int8)(unsafe.Pointer(aBuf + uintptr(nBuf-2)))) { @@ -191531,7 +191562,7 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli return ret } -func fts5PorterStep1B2(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqlite3.c:236552:12: */ +func fts5PorterStep1B2(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqlite3.c:236609:12: */ var ret int32 = 0 var nBuf int32 = *(*int32)(unsafe.Pointer(pnBuf)) switch int32(*(*int8)(unsafe.Pointer(aBuf + uintptr(nBuf-2)))) { @@ -191564,7 +191595,7 @@ func fts5PorterStep1B2(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sq return ret } -func fts5PorterStep2(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqlite3.c:236586:12: */ +func fts5PorterStep2(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqlite3.c:236643:12: */ var ret int32 = 0 var nBuf int32 = *(*int32)(unsafe.Pointer(pnBuf)) switch int32(*(*int8)(unsafe.Pointer(aBuf + uintptr(nBuf-2)))) { @@ -191710,7 +191741,7 @@ func fts5PorterStep2(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli return ret } -func fts5PorterStep3(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqlite3.c:236733:12: */ +func fts5PorterStep3(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqlite3.c:236790:12: */ var ret int32 = 0 var nBuf int32 = *(*int32)(unsafe.Pointer(pnBuf)) switch int32(*(*int8)(unsafe.Pointer(aBuf + uintptr(nBuf-2)))) { @@ -191775,7 +191806,7 @@ func fts5PorterStep3(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli return ret } -func fts5PorterStep1B(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqlite3.c:236799:12: */ +func fts5PorterStep1B(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqlite3.c:236856:12: */ var ret int32 = 0 var nBuf int32 = *(*int32)(unsafe.Pointer(pnBuf)) switch int32(*(*int8)(unsafe.Pointer(aBuf + uintptr(nBuf-2)))) { @@ -191812,7 +191843,7 @@ func fts5PorterStep1B(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sql // // -func fts5PorterStep1A(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) { /* sqlite3.c:236836:13: */ +func fts5PorterStep1A(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) { /* sqlite3.c:236893:13: */ var nBuf int32 = *(*int32)(unsafe.Pointer(pnBuf)) if int32(*(*int8)(unsafe.Pointer(aBuf + uintptr(nBuf-1)))) == 's' { if int32(*(*int8)(unsafe.Pointer(aBuf + uintptr(nBuf-2)))) == 'e' { @@ -191828,7 +191859,7 @@ func fts5PorterStep1A(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) { /* sqlite3.c } } -func fts5PorterCb(tls *libc.TLS, pCtx uintptr, tflags int32, pToken uintptr, nToken int32, iStart int32, iEnd int32) int32 { /* sqlite3.c:236854:12: */ +func fts5PorterCb(tls *libc.TLS, pCtx uintptr, tflags int32, pToken uintptr, nToken int32, iStart int32, iEnd int32) int32 { /* sqlite3.c:236911:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -191926,7 +191957,7 @@ pass_through: } // Tokenize using the porter tokenizer. -func fts5PorterTokenize(tls *libc.TLS, pTokenizer uintptr, pCtx uintptr, flags int32, pText uintptr, nText int32, xToken uintptr) int32 { /* sqlite3.c:236923:12: */ +func fts5PorterTokenize(tls *libc.TLS, pTokenizer uintptr, pCtx uintptr, flags int32, pText uintptr, nText int32, xToken uintptr) int32 { /* sqlite3.c:236980:12: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -191947,20 +191978,20 @@ func fts5PorterTokenize(tls *libc.TLS, pTokenizer uintptr, pCtx uintptr, flags i // ************************************************************************* // // Start of trigram implementation. -type TrigramTokenizer1 = struct{ FbFold int32 } /* sqlite3.c:236943:9 */ +type TrigramTokenizer1 = struct{ FbFold int32 } /* sqlite3.c:237000:9 */ // ************************************************************************* // // Start of trigram implementation. -type TrigramTokenizer = TrigramTokenizer1 /* sqlite3.c:236943:33 */ +type TrigramTokenizer = TrigramTokenizer1 /* sqlite3.c:237000:33 */ // Free a trigram tokenizer. -func fts5TriDelete(tls *libc.TLS, p uintptr) { /* sqlite3.c:236951:13: */ +func fts5TriDelete(tls *libc.TLS, p uintptr) { /* sqlite3.c:237008:13: */ Xsqlite3_free(tls, p) } // Allocate a trigram tokenizer. -func fts5TriCreate(tls *libc.TLS, pUnused uintptr, azArg uintptr, nArg int32, ppOut uintptr) int32 { /* sqlite3.c:236958:12: */ +func fts5TriCreate(tls *libc.TLS, pUnused uintptr, azArg uintptr, nArg int32, ppOut uintptr) int32 { /* sqlite3.c:237015:12: */ var rc int32 = SQLITE_OK var pNew uintptr = Xsqlite3_malloc(tls, int32(unsafe.Sizeof(TrigramTokenizer{}))) _ = pUnused @@ -191991,7 +192022,7 @@ func fts5TriCreate(tls *libc.TLS, pUnused uintptr, azArg uintptr, nArg int32, pp } // Trigram tokenizer tokenize routine. -func fts5TriTokenize(tls *libc.TLS, pTok uintptr, pCtx uintptr, unusedFlags int32, pText uintptr, nText int32, xToken uintptr) int32 { /* sqlite3.c:236996:12: */ +func fts5TriTokenize(tls *libc.TLS, pTok uintptr, pCtx uintptr, unusedFlags int32, pText uintptr, nText int32, xToken uintptr) int32 { /* sqlite3.c:237053:12: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -192144,7 +192175,7 @@ func fts5TriTokenize(tls *libc.TLS, pTok uintptr, pCtx uintptr, unusedFlags int3 // "trigram" tokenizer, case_sensitive=1 - FTS5_PATTERN_GLOB // "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) int32 { /* sqlite3.c:237056:12: */ +func sqlite3Fts5TokenizerPattern(tls *libc.TLS, xCreate uintptr, pTok uintptr) int32 { /* sqlite3.c:237113:12: */ if xCreate == *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 }{fts5TriCreate})) { @@ -192158,7 +192189,7 @@ func sqlite3Fts5TokenizerPattern(tls *libc.TLS, xCreate uintptr, pTok uintptr) i } // Register all built-in tokenizers with FTS5. -func sqlite3Fts5TokenizerInit(tls *libc.TLS, pApi uintptr) int32 { /* sqlite3.c:237070:12: */ +func sqlite3Fts5TokenizerInit(tls *libc.TLS, pApi uintptr) int32 { /* sqlite3.c:237127:12: */ bp := tls.Alloc(64) defer tls.Free(64) @@ -192204,7 +192235,7 @@ func sqlite3Fts5TokenizerInit(tls *libc.TLS, pApi uintptr) int32 { /* sqlite3.c: type BuiltinTokenizer = struct { FzName uintptr Fx Fts5_tokenizer -} /* sqlite3.c:237071:3 */ +} /* sqlite3.c:237128:3 */ // 2012-05-25 // @@ -192227,7 +192258,7 @@ type BuiltinTokenizer = struct { // SMALL LETTER E WITH DIAERESIS" - return 65 ("LATIN SMALL LETTER // E"). The resuls of passing a codepoint that corresponds to an // uppercase letter are undefined. -func fts5_remove_diacritic(tls *libc.TLS, c int32, bComplex int32) int32 { /* sqlite3.c:237126:12: */ +func fts5_remove_diacritic(tls *libc.TLS, c int32, bComplex int32) int32 { /* sqlite3.c:237183:12: */ bp := tls.Alloc(378) defer tls.Free(378) @@ -192298,7 +192329,7 @@ func fts5_remove_diacritic(tls *libc.TLS, c int32, bComplex int32) int32 { /* sq // Return true if the argument interpreted as a unicode codepoint // is a diacritical modifier character. -func sqlite3Fts5UnicodeIsdiacritic(tls *libc.TLS, c int32) int32 { /* sqlite3.c:237193:12: */ +func sqlite3Fts5UnicodeIsdiacritic(tls *libc.TLS, c int32) int32 { /* sqlite3.c:237250:12: */ var mask0 uint32 = uint32(0x08029FDF) var mask1 uint32 = uint32(0x000361F8) if c < 768 || c > 817 { @@ -192317,7 +192348,7 @@ func sqlite3Fts5UnicodeIsdiacritic(tls *libc.TLS, c int32) int32 { /* sqlite3.c: // // The results are undefined if the value passed to this function // is less than zero. -func sqlite3Fts5UnicodeFold(tls *libc.TLS, c int32, eRemoveDiacritic int32) int32 { /* sqlite3.c:237212:12: */ +func sqlite3Fts5UnicodeFold(tls *libc.TLS, c int32, eRemoveDiacritic int32) int32 { /* sqlite3.c:237269:12: */ var ret int32 = c @@ -192378,7 +192409,7 @@ type TableEntry = struct { FiCode uint16 Fflags uint8 FnRange uint8 -} /* sqlite3.c:237230:16 */ +} /* sqlite3.c:237287:16 */ var aEntry = [163]TableEntry{ {FiCode: uint16(65), Fflags: uint8(14), FnRange: uint8(26)}, {FiCode: uint16(181), Fflags: uint8(64), FnRange: uint8(1)}, {FiCode: uint16(192), Fflags: uint8(14), FnRange: uint8(23)}, @@ -192436,7 +192467,7 @@ var aEntry = [163]TableEntry{ {FiCode: uint16(42878), Fflags: uint8(1), FnRange: uint8(10)}, {FiCode: uint16(42891), FnRange: uint8(1)}, {FiCode: uint16(42893), Fflags: uint8(74), FnRange: uint8(1)}, {FiCode: uint16(42896), Fflags: uint8(1), FnRange: uint8(4)}, {FiCode: uint16(42912), Fflags: uint8(1), FnRange: uint8(10)}, {FiCode: uint16(42922), Fflags: uint8(72), FnRange: uint8(1)}, {FiCode: uint16(65313), Fflags: uint8(14), FnRange: uint8(26)}, -} /* sqlite3.c:237234:5 */ +} /* sqlite3.c:237291:5 */ var aiOff = [77]uint16{ uint16(1), uint16(2), uint16(8), uint16(15), uint16(16), uint16(26), uint16(28), uint16(32), uint16(37), uint16(38), uint16(40), uint16(48), uint16(63), uint16(64), uint16(69), uint16(71), @@ -192448,9 +192479,9 @@ var aiOff = [77]uint16{ uint16(65408), uint16(65410), uint16(65415), uint16(65424), uint16(65436), uint16(65439), uint16(65450), uint16(65462), uint16(65472), uint16(65476), uint16(65478), uint16(65480), uint16(65482), uint16(65488), uint16(65506), uint16(65511), uint16(65514), uint16(65521), uint16(65527), uint16(65528), uint16(65529), -} /* sqlite3.c:237291:31 */ +} /* sqlite3.c:237348:31 */ -func sqlite3Fts5UnicodeCatParse(tls *libc.TLS, zCat uintptr, aArray uintptr) int32 { /* sqlite3.c:237348:12: */ +func sqlite3Fts5UnicodeCatParse(tls *libc.TLS, zCat uintptr, aArray uintptr) int32 { /* sqlite3.c:237405:12: */ *(*U8)(unsafe.Pointer(aArray)) = U8(1) switch int32(*(*int8)(unsafe.Pointer(zCat))) { case 'C': @@ -192647,7 +192678,7 @@ func sqlite3Fts5UnicodeCatParse(tls *libc.TLS, zCat uintptr, aArray uintptr) int var aFts5UnicodeBlock = [17]U16{ U16(0), U16(1471), U16(1753), U16(1760), U16(1760), U16(1760), U16(1760), U16(1760), U16(1760), U16(1760), U16(1760), U16(1760), U16(1760), U16(1760), U16(1760), U16(1763), U16(1765), -} /* sqlite3.c:237466:12 */ +} /* sqlite3.c:237523:12 */ var aFts5UnicodeMap = [1765]U16{ U16(0), U16(32), U16(33), U16(36), U16(37), U16(40), U16(41), U16(42), U16(43), U16(44), U16(45), U16(46), U16(48), U16(58), U16(60), U16(63), U16(65), U16(91), U16(92), U16(93), @@ -192826,7 +192857,7 @@ var aFts5UnicodeMap = [1765]U16{ U16(62406), U16(62432), U16(62464), U16(62528), U16(62530), U16(62713), U16(62720), U16(62784), U16(62800), U16(62971), U16(63045), U16(63104), U16(63232), U16(0), U16(42710), U16(42752), U16(46900), U16(46912), U16(47133), U16(63488), U16(1), U16(32), U16(256), U16(0), U16(65533), -} /* sqlite3.c:237470:12 */ +} /* sqlite3.c:237527:12 */ var aFts5UnicodeData = [1765]U16{ U16(1025), U16(61), U16(117), U16(55), U16(117), U16(54), U16(50), U16(53), U16(57), U16(53), U16(49), U16(85), U16(333), U16(85), U16(121), U16(85), U16(841), U16(54), U16(53), U16(50), @@ -193005,9 +193036,9 @@ var aFts5UnicodeData = [1765]U16{ U16(186), U16(570), U16(2042), U16(58), U16(5850), U16(154), U16(2010), U16(154), U16(794), U16(2266), U16(378), U16(2266), U16(3738), U16(39), U16(39), U16(39), U16(39), U16(39), U16(39), U16(17351), U16(34), U16(3074), U16(7692), U16(63), U16(63), -} /* sqlite3.c:237649:12 */ +} /* sqlite3.c:237706:12 */ -func sqlite3Fts5UnicodeCategory(tls *libc.TLS, iCode U32) int32 { /* sqlite3.c:237829:12: */ +func sqlite3Fts5UnicodeCategory(tls *libc.TLS, iCode U32) int32 { /* sqlite3.c:237886:12: */ var iRes int32 = -1 var iHi int32 var iLo int32 @@ -193047,7 +193078,7 @@ func sqlite3Fts5UnicodeCategory(tls *libc.TLS, iCode U32) int32 { /* sqlite3.c:2 return 9 } -func sqlite3Fts5UnicodeAscii(tls *libc.TLS, aArray uintptr, aAscii uintptr) { /* sqlite3.c:237860:13: */ +func sqlite3Fts5UnicodeAscii(tls *libc.TLS, aArray uintptr, aAscii uintptr) { /* sqlite3.c:237917:13: */ var i int32 = 0 var iTbl int32 = 0 for i < 128 { @@ -193079,7 +193110,7 @@ func sqlite3Fts5UnicodeAscii(tls *libc.TLS, aArray uintptr, aAscii uintptr) { /* // This is a copy of the sqlite3GetVarint32() routine from the SQLite core. // Except, this version does handle the single byte case that the core // version depends on being handled before its function is called. -func sqlite3Fts5GetVarint32(tls *libc.TLS, p uintptr, v uintptr) int32 { /* sqlite3.c:237898:12: */ +func sqlite3Fts5GetVarint32(tls *libc.TLS, p uintptr, v uintptr) int32 { /* sqlite3.c:237955:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -193154,7 +193185,7 @@ func sqlite3Fts5GetVarint32(tls *libc.TLS, p uintptr, v uintptr) int32 { /* sqli // Read a 64-bit variable-length integer from memory starting at p[0]. // Return the number of bytes read. The value is stored in *v. -func sqlite3Fts5GetVarint(tls *libc.TLS, p uintptr, v uintptr) U8 { /* sqlite3.c:237976:11: */ +func sqlite3Fts5GetVarint(tls *libc.TLS, p uintptr, v uintptr) U8 { /* sqlite3.c:238033:11: */ var a U32 var b U32 var s U32 @@ -193330,7 +193361,7 @@ func sqlite3Fts5GetVarint(tls *libc.TLS, p uintptr, v uintptr) U8 { /* sqlite3.c // for all bytes that have the 8th bit set and one byte with the 8th // bit clear. Except, if we get to the 9th byte, it stores the full // 8 bits and is the last byte. -func fts5PutVarint64(tls *libc.TLS, p uintptr, v U64) int32 { /* sqlite3.c:238170:26: */ +func fts5PutVarint64(tls *libc.TLS, p uintptr, v U64) int32 { /* sqlite3.c:238227:26: */ bp := tls.Alloc(10) defer tls.Free(10) @@ -193376,7 +193407,7 @@ __3: return n } -func sqlite3Fts5PutVarint(tls *libc.TLS, p uintptr, v U64) int32 { /* sqlite3.c:238195:12: */ +func sqlite3Fts5PutVarint(tls *libc.TLS, p uintptr, v U64) int32 { /* sqlite3.c:238252:12: */ if v <= uint64(0x7f) { *(*uint8)(unsafe.Pointer(p)) = uint8(v & uint64(0x7f)) return 1 @@ -193389,7 +193420,7 @@ func sqlite3Fts5PutVarint(tls *libc.TLS, p uintptr, v U64) int32 { /* sqlite3.c: return fts5PutVarint64(tls, p, v) } -func sqlite3Fts5GetVarintLen(tls *libc.TLS, iVal U32) int32 { /* sqlite3.c:238209:12: */ +func sqlite3Fts5GetVarintLen(tls *libc.TLS, iVal U32) int32 { /* sqlite3.c:238266:12: */ if iVal < U32(int32(1)<<14) { return 2 @@ -193449,7 +193480,7 @@ type Fts5VocabTable1 = struct { FpGlobal uintptr FeType int32 FbBusy uint32 -} /* sqlite3.c:238262:9 */ +} /* sqlite3.c:238319:9 */ // 2015 May 08 // @@ -193489,7 +193520,7 @@ type Fts5VocabTable1 = struct { // #include "fts5Int.h" -type Fts5VocabTable = Fts5VocabTable1 /* sqlite3.c:238262:31 */ +type Fts5VocabTable = Fts5VocabTable1 /* sqlite3.c:238319:31 */ type Fts5VocabCursor1 = struct { Fbase Sqlite3_vtab_cursor FpStmt uintptr @@ -193506,9 +193537,9 @@ type Fts5VocabCursor1 = struct { Fterm Fts5Buffer FiInstPos I64 FiInstOff int32 -} /* sqlite3.c:238263:9 */ +} /* sqlite3.c:238320:9 */ -type Fts5VocabCursor = Fts5VocabCursor1 /* sqlite3.c:238263:32 */ +type Fts5VocabCursor = Fts5VocabCursor1 /* sqlite3.c:238320:32 */ // Bits for the mask used as the idxNum value by xBestIndex/xFilter. @@ -193516,7 +193547,7 @@ type Fts5VocabCursor = Fts5VocabCursor1 /* sqlite3.c:238263:32 */ // FTS5_VOCAB_XXX constant. If successful, set *peType to the output // value and return SQLITE_OK. Otherwise, set *pzErr to an error message // and return SQLITE_ERROR. -func fts5VocabTableType(tls *libc.TLS, zType uintptr, pzErr uintptr, peType uintptr) int32 { /* sqlite3.c:238323:12: */ +func fts5VocabTableType(tls *libc.TLS, zType uintptr, pzErr uintptr, peType uintptr) int32 { /* sqlite3.c:238380:12: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -193541,14 +193572,14 @@ func fts5VocabTableType(tls *libc.TLS, zType uintptr, pzErr uintptr, peType uint } // The xDisconnect() virtual table method. -func fts5VocabDisconnectMethod(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:238352:12: */ +func fts5VocabDisconnectMethod(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:238409:12: */ var pTab uintptr = pVtab Xsqlite3_free(tls, pTab) return SQLITE_OK } // The xDestroy() virtual table method. -func fts5VocabDestroyMethod(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:238361:12: */ +func fts5VocabDestroyMethod(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:238418:12: */ var pTab uintptr = pVtab Xsqlite3_free(tls, pTab) return SQLITE_OK @@ -193573,7 +193604,7 @@ func fts5VocabDestroyMethod(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:2 // argv[3] -> name of fts5 tables database // argv[4] -> name of fts5 table // argv[5] -> type of fts5vocab table -func fts5VocabInitVtab(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVTab uintptr, pzErr uintptr) int32 { /* sqlite3.c:238388:12: */ +func fts5VocabInitVtab(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVTab uintptr, pzErr uintptr) int32 { /* sqlite3.c:238445:12: */ bp := tls.Alloc(20) defer tls.Free(20) @@ -193643,11 +193674,11 @@ func fts5VocabInitVtab(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv // The xConnect() and xCreate() methods for the virtual table. All the // work is done in function fts5VocabInitVtab(). -func fts5VocabConnectMethod(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 { /* sqlite3.c:238450:12: */ +func fts5VocabConnectMethod(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 { /* sqlite3.c:238507:12: */ return fts5VocabInitVtab(tls, db, pAux, argc, argv, ppVtab, pzErr) } -func fts5VocabCreateMethod(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 { /* sqlite3.c:238460:12: */ +func fts5VocabCreateMethod(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 { /* sqlite3.c:238517:12: */ return fts5VocabInitVtab(tls, db, pAux, argc, argv, ppVtab, pzErr) } @@ -193661,7 +193692,7 @@ func fts5VocabCreateMethod(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, // // are interpreted. Less-than and less-than-or-equal are treated // identically, as are greater-than and greater-than-or-equal. -func fts5VocabBestIndexMethod(tls *libc.TLS, pUnused uintptr, pInfo uintptr) int32 { /* sqlite3.c:238483:12: */ +func fts5VocabBestIndexMethod(tls *libc.TLS, pUnused uintptr, pInfo uintptr) int32 { /* sqlite3.c:238540:12: */ var i int32 var iTermEq int32 = -1 var iTermGe int32 = -1 @@ -193729,7 +193760,7 @@ func fts5VocabBestIndexMethod(tls *libc.TLS, pUnused uintptr, pInfo uintptr) int } // Implementation of xOpen method. -func fts5VocabOpenMethod(tls *libc.TLS, pVTab uintptr, ppCsr uintptr) int32 { /* sqlite3.c:238545:12: */ +func fts5VocabOpenMethod(tls *libc.TLS, pVTab uintptr, ppCsr uintptr) int32 { /* sqlite3.c:238602:12: */ bp := tls.Alloc(72) defer tls.Free(72) @@ -193796,7 +193827,7 @@ func fts5VocabOpenMethod(tls *libc.TLS, pVTab uintptr, ppCsr uintptr) int32 { /* return *(*int32)(unsafe.Pointer(bp + 64 /* rc */)) } -func fts5VocabResetCursor(tls *libc.TLS, pCsr uintptr) { /* sqlite3.c:238613:13: */ +func fts5VocabResetCursor(tls *libc.TLS, pCsr uintptr) { /* sqlite3.c:238670:13: */ (*Fts5VocabCursor)(unsafe.Pointer(pCsr)).Frowid = int64(0) sqlite3Fts5IterClose(tls, (*Fts5VocabCursor)(unsafe.Pointer(pCsr)).FpIter) sqlite3Fts5StructureRelease(tls, (*Fts5VocabCursor)(unsafe.Pointer(pCsr)).FpStruct) @@ -193810,7 +193841,7 @@ func fts5VocabResetCursor(tls *libc.TLS, pCsr uintptr) { /* sqlite3.c:238613:13: // Close the cursor. For additional information see the documentation // on the xClose method of the virtual table interface. -func fts5VocabCloseMethod(tls *libc.TLS, pCursor uintptr) int32 { /* sqlite3.c:238629:12: */ +func fts5VocabCloseMethod(tls *libc.TLS, pCursor uintptr) int32 { /* sqlite3.c:238686:12: */ var pCsr uintptr = pCursor fts5VocabResetCursor(tls, pCsr) sqlite3Fts5BufferFree(tls, pCsr+52) @@ -193819,7 +193850,7 @@ func fts5VocabCloseMethod(tls *libc.TLS, pCursor uintptr) int32 { /* sqlite3.c:2 return SQLITE_OK } -func fts5VocabInstanceNewTerm(tls *libc.TLS, pCsr uintptr) int32 { /* sqlite3.c:238638:12: */ +func fts5VocabInstanceNewTerm(tls *libc.TLS, pCsr uintptr) int32 { /* sqlite3.c:238695:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -193850,7 +193881,7 @@ func fts5VocabInstanceNewTerm(tls *libc.TLS, pCsr uintptr) int32 { /* sqlite3.c: return *(*int32)(unsafe.Pointer(bp + 4 /* rc */)) } -func fts5VocabInstanceNext(tls *libc.TLS, pCsr uintptr) int32 { /* sqlite3.c:238660:12: */ +func fts5VocabInstanceNext(tls *libc.TLS, pCsr uintptr) int32 { /* sqlite3.c:238717:12: */ var eDetail int32 = (*Fts5Config)(unsafe.Pointer((*Fts5Table)(unsafe.Pointer((*Fts5VocabCursor)(unsafe.Pointer(pCsr)).FpFts5)).FpConfig)).FeDetail var rc int32 = SQLITE_OK var pIter uintptr = (*Fts5VocabCursor)(unsafe.Pointer(pCsr)).FpIter @@ -193879,7 +193910,7 @@ func fts5VocabInstanceNext(tls *libc.TLS, pCsr uintptr) int32 { /* sqlite3.c:238 } // Advance the cursor to the next row in the table. -func fts5VocabNextMethod(tls *libc.TLS, pCursor uintptr) int32 { /* sqlite3.c:238692:12: */ +func fts5VocabNextMethod(tls *libc.TLS, pCursor uintptr) int32 { /* sqlite3.c:238749:12: */ bp := tls.Alloc(20) defer tls.Free(20) @@ -194023,7 +194054,7 @@ func fts5VocabNextMethod(tls *libc.TLS, pCursor uintptr) int32 { /* sqlite3.c:23 } // This is the xFilter implementation for the virtual table. -func fts5VocabFilterMethod(tls *libc.TLS, pCursor uintptr, idxNum int32, zUnused uintptr, nUnused int32, apVal uintptr) int32 { /* sqlite3.c:238820:12: */ +func fts5VocabFilterMethod(tls *libc.TLS, pCursor uintptr, idxNum int32, zUnused uintptr, nUnused int32, apVal uintptr) int32 { /* sqlite3.c:238877:12: */ var pTab uintptr = (*Sqlite3_vtab_cursor)(unsafe.Pointer(pCursor)).FpVtab var pCsr uintptr = pCursor var eType int32 = (*Fts5VocabTable)(unsafe.Pointer(pTab)).FeType @@ -194097,12 +194128,12 @@ func fts5VocabFilterMethod(tls *libc.TLS, pCursor uintptr, idxNum int32, zUnused // This is the xEof method of the virtual table. SQLite calls this // routine to find out if it has reached the end of a result set. -func fts5VocabEofMethod(tls *libc.TLS, pCursor uintptr) int32 { /* sqlite3.c:238894:12: */ +func fts5VocabEofMethod(tls *libc.TLS, pCursor uintptr) int32 { /* sqlite3.c:238951:12: */ var pCsr uintptr = pCursor return (*Fts5VocabCursor)(unsafe.Pointer(pCsr)).FbEof } -func fts5VocabColumnMethod(tls *libc.TLS, pCursor uintptr, pCtx uintptr, iCol int32) int32 { /* sqlite3.c:238899:12: */ +func fts5VocabColumnMethod(tls *libc.TLS, pCursor uintptr, pCtx uintptr, iCol int32) int32 { /* sqlite3.c:238956:12: */ var pCsr uintptr = pCursor var eDetail int32 = (*Fts5Config)(unsafe.Pointer((*Fts5Table)(unsafe.Pointer((*Fts5VocabCursor)(unsafe.Pointer(pCsr)).FpFts5)).FpConfig)).FeDetail var eType int32 = (*Fts5VocabTable)(unsafe.Pointer((*Sqlite3_vtab_cursor)(unsafe.Pointer(pCursor)).FpVtab)).FeType @@ -194175,13 +194206,13 @@ func fts5VocabColumnMethod(tls *libc.TLS, pCursor uintptr, pCtx uintptr, iCol in // This is the xRowid method. The SQLite core calls this routine to // retrieve the rowid for the current row of the result set. The // rowid should be written to *pRowid. -func fts5VocabRowidMethod(tls *libc.TLS, pCursor uintptr, pRowid uintptr) int32 { /* sqlite3.c:238971:12: */ +func fts5VocabRowidMethod(tls *libc.TLS, pCursor uintptr, pRowid uintptr) int32 { /* sqlite3.c:239028:12: */ var pCsr uintptr = pCursor *(*Sqlite_int64)(unsafe.Pointer(pRowid)) = (*Fts5VocabCursor)(unsafe.Pointer(pCsr)).Frowid return SQLITE_OK } -func sqlite3Fts5VocabInit(tls *libc.TLS, pGlobal uintptr, db uintptr) int32 { /* sqlite3.c:238980:12: */ +func sqlite3Fts5VocabInit(tls *libc.TLS, pGlobal uintptr, db uintptr) int32 { /* sqlite3.c:239037:12: */ var p uintptr = pGlobal return Xsqlite3_create_module_v2(tls, db, ts+37452, uintptr(unsafe.Pointer(&fts5Vocab)), p, uintptr(0)) @@ -194201,7 +194232,7 @@ var fts5Vocab = Sqlite3_module{ /* xEof */ FxEof: 0, /* xColumn */ FxColumn: 0, /* xRowid */ FxRowid: 0, -} /* sqlite3.c:238981:31 */ +} /* sqlite3.c:239038:31 */ //************* End of fts5.c *********************************************** //************* Begin file stmt.c ******************************************* @@ -194228,8 +194259,8 @@ var fts5Vocab = Sqlite3_module{ //************* End of stmt.c *********************************************** // Return the source-id for this library -func Xsqlite3_sourceid(tls *libc.TLS) uintptr { /* sqlite3.c:239321:23: */ - return ts + 37462 /* "2022-03-12 13:37..." */ +func Xsqlite3_sourceid(tls *libc.TLS) uintptr { /* sqlite3.c:239378:23: */ + return ts + 37462 /* "2022-03-26 13:51..." */ } //************************* End of sqlite3.c ***************************** @@ -194238,162 +194269,162 @@ func init() { *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&Xsqlite3aEQb)) + 0)) = uintptr(unsafe.Pointer(&Xsqlite3UpperToLower)) + 210 // sqlite3.c:21690:51: *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&Xsqlite3aGTb)) + 0)) = uintptr(unsafe.Pointer(&Xsqlite3UpperToLower)) + 216 // sqlite3.c:21691:51: *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&Xsqlite3aLTb)) + 0)) = uintptr(unsafe.Pointer(&Xsqlite3UpperToLower)) + 204 // sqlite3.c:21689:51: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aAgg)) + 0)) = geopolyBBoxStep // sqlite3.c:201985:8: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aAgg)) + 4)) = geopolyBBoxFinal // sqlite3.c:201985:25: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aAlterTableFuncs)) + 16)) = renameColumnFunc // sqlite3.c:111067:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aAlterTableFuncs)) + 56)) = renameTableFunc // sqlite3.c:111068:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aAlterTableFuncs)) + 96)) = renameTableTest // sqlite3.c:111069:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aAlterTableFuncs)) + 136)) = dropColumnFunc // sqlite3.c:111070:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aAlterTableFuncs)) + 176)) = renameQuotefixFunc // sqlite3.c:111071:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 16)) = versionFunc // sqlite3.c:123272:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 56)) = versionFunc // sqlite3.c:123273:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 96)) = versionFunc // sqlite3.c:123274:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 136)) = versionFunc // sqlite3.c:123275:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 176)) = soundexFunc // sqlite3.c:123279:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 216)) = loadExt // sqlite3.c:123282:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 256)) = loadExt // sqlite3.c:123283:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 296)) = compileoptionusedFunc // sqlite3.c:123289:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 336)) = compileoptiongetFunc // sqlite3.c:123290:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 376)) = versionFunc // sqlite3.c:123292:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 416)) = versionFunc // sqlite3.c:123293:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 456)) = versionFunc // sqlite3.c:123294:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 496)) = versionFunc // sqlite3.c:123297:12: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 536)) = trimFunc // sqlite3.c:123299:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 576)) = trimFunc // sqlite3.c:123300:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 616)) = trimFunc // sqlite3.c:123301:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 656)) = trimFunc // sqlite3.c:123302:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 696)) = trimFunc // sqlite3.c:123303:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 736)) = trimFunc // sqlite3.c:123304:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 776)) = minmaxFunc // sqlite3.c:123305:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 856)) = minmaxStep // sqlite3.c:123307:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 860)) = minMaxFinalize // sqlite3.c:123307:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 864)) = minMaxValue // sqlite3.c:123307:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 896)) = minmaxFunc // sqlite3.c:123309:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 976)) = minmaxStep // sqlite3.c:123311:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 980)) = minMaxFinalize // sqlite3.c:123311:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 984)) = minMaxValue // sqlite3.c:123311:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1016)) = typeofFunc // sqlite3.c:123313:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1056)) = subtypeFunc // sqlite3.c:123314:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1096)) = lengthFunc // sqlite3.c:123315:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1136)) = instrFunc // sqlite3.c:123316:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1176)) = printfFunc // sqlite3.c:123317:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1216)) = printfFunc // sqlite3.c:123318:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1256)) = unicodeFunc // sqlite3.c:123319:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1296)) = charFunc // sqlite3.c:123320:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1336)) = absFunc // sqlite3.c:123321:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1376)) = roundFunc // sqlite3.c:123323:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1416)) = roundFunc // sqlite3.c:123324:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1456)) = upperFunc // sqlite3.c:123326:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1496)) = lowerFunc // sqlite3.c:123327:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1536)) = hexFunc // sqlite3.c:123328:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1576)) = versionFunc // sqlite3.c:123329:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1616)) = randomFunc // sqlite3.c:123330:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1656)) = randomBlob // sqlite3.c:123331:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1696)) = nullifFunc // sqlite3.c:123332:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1736)) = versionFunc // sqlite3.c:123333:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1776)) = sourceidFunc // sqlite3.c:123334:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1816)) = errlogFunc // sqlite3.c:123335:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1856)) = quoteFunc // sqlite3.c:123336:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1896)) = last_insert_rowid // sqlite3.c:123337:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1936)) = changes // sqlite3.c:123338:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1976)) = total_changes // sqlite3.c:123339:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2016)) = replaceFunc // sqlite3.c:123340:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2056)) = zeroblobFunc // sqlite3.c:123341:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2096)) = substrFunc // sqlite3.c:123342:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2136)) = substrFunc // sqlite3.c:123343:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2176)) = substrFunc // sqlite3.c:123344:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2216)) = substrFunc // sqlite3.c:123345:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2256)) = sumStep // sqlite3.c:123346:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2260)) = sumFinalize // sqlite3.c:123346:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2264)) = sumFinalize // sqlite3.c:123346:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2268)) = sumInverse // sqlite3.c:123346:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2296)) = sumStep // sqlite3.c:123347:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2300)) = totalFinalize // sqlite3.c:123347:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2304)) = totalFinalize // sqlite3.c:123347:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2308)) = sumInverse // sqlite3.c:123347:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2336)) = sumStep // sqlite3.c:123348:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2340)) = avgFinalize // sqlite3.c:123348:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2344)) = avgFinalize // sqlite3.c:123348:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2348)) = sumInverse // sqlite3.c:123348:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2376)) = countStep // sqlite3.c:123349:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2380)) = countFinalize // sqlite3.c:123349:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2384)) = countFinalize // sqlite3.c:123349:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2388)) = countInverse // sqlite3.c:123349:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2416)) = countStep // sqlite3.c:123352:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2420)) = countFinalize // sqlite3.c:123352:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2424)) = countFinalize // sqlite3.c:123352:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2428)) = countInverse // sqlite3.c:123352:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2456)) = groupConcatStep // sqlite3.c:123354:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2460)) = groupConcatFinalize // sqlite3.c:123354:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2464)) = groupConcatValue // sqlite3.c:123354:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2468)) = groupConcatInverse // sqlite3.c:123354:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2496)) = groupConcatStep // sqlite3.c:123356:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2500)) = groupConcatFinalize // sqlite3.c:123356:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2504)) = groupConcatValue // sqlite3.c:123356:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2508)) = groupConcatInverse // sqlite3.c:123356:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2528 /* .pUserData */)) = uintptr(unsafe.Pointer(&globInfo)) // sqlite3.c:123359:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2536)) = likeFunc // sqlite3.c:123359:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2568 /* .pUserData */)) = uintptr(unsafe.Pointer(&likeInfoNorm)) // sqlite3.c:123364:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2576)) = likeFunc // sqlite3.c:123364:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2608 /* .pUserData */)) = uintptr(unsafe.Pointer(&likeInfoNorm)) // sqlite3.c:123365:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2616)) = likeFunc // sqlite3.c:123365:5: - *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2728)) = xCeil // sqlite3.c:123373:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2736)) = ceilingFunc // sqlite3.c:123373:5: - *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2768)) = xCeil // sqlite3.c:123374:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2776)) = ceilingFunc // sqlite3.c:123374:5: - *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2808)) = xFloor // sqlite3.c:123375:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2816)) = ceilingFunc // sqlite3.c:123375:5: - *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2848)) = libc.Xtrunc // sqlite3.c:123377:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2856)) = ceilingFunc // sqlite3.c:123377:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2896)) = logFunc // sqlite3.c:123379:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2936)) = logFunc // sqlite3.c:123380:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2976)) = logFunc // sqlite3.c:123381:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3016)) = logFunc // sqlite3.c:123382:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3056)) = logFunc // sqlite3.c:123383:5: - *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3088)) = libc.Xexp // sqlite3.c:123384:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3096)) = math1Func // sqlite3.c:123384:5: - *(*func(*libc.TLS, float64, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3128)) = libc.Xpow // sqlite3.c:123385:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3136)) = math2Func // sqlite3.c:123385:5: - *(*func(*libc.TLS, float64, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3168)) = libc.Xpow // sqlite3.c:123386:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3176)) = math2Func // sqlite3.c:123386:5: - *(*func(*libc.TLS, float64, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3208)) = libc.Xfmod // sqlite3.c:123387:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3216)) = math2Func // sqlite3.c:123387:5: - *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3248)) = libc.Xacos // sqlite3.c:123388:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3256)) = math1Func // sqlite3.c:123388:5: - *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3288)) = libc.Xasin // sqlite3.c:123389:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3296)) = math1Func // sqlite3.c:123389:5: - *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3328)) = libc.Xatan // sqlite3.c:123390:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3336)) = math1Func // sqlite3.c:123390:5: - *(*func(*libc.TLS, float64, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3368)) = libc.Xatan2 // sqlite3.c:123391:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3376)) = math2Func // sqlite3.c:123391:5: - *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3408)) = libc.Xcos // sqlite3.c:123392:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3416)) = math1Func // sqlite3.c:123392:5: - *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3448)) = libc.Xsin // sqlite3.c:123393:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3456)) = math1Func // sqlite3.c:123393:5: - *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3488)) = libc.Xtan // sqlite3.c:123394:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3496)) = math1Func // sqlite3.c:123394:5: - *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3528)) = libc.Xcosh // sqlite3.c:123395:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3536)) = math1Func // sqlite3.c:123395:5: - *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3568)) = libc.Xsinh // sqlite3.c:123396:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3576)) = math1Func // sqlite3.c:123396:5: - *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3608)) = libc.Xtanh // sqlite3.c:123397:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3616)) = math1Func // sqlite3.c:123397:5: - *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3648)) = libc.Xacosh // sqlite3.c:123399:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3656)) = math1Func // sqlite3.c:123399:5: - *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3688)) = libc.Xasinh // sqlite3.c:123400:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3696)) = math1Func // sqlite3.c:123400:5: - *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3728)) = libc.Xatanh // sqlite3.c:123401:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3736)) = math1Func // sqlite3.c:123401:5: - *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3768)) = libc.Xsqrt // sqlite3.c:123403:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3776)) = math1Func // sqlite3.c:123403:5: - *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3808)) = degToRad // sqlite3.c:123404:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3816)) = math1Func // sqlite3.c:123404:5: - *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3848)) = radToDeg // sqlite3.c:123405:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3856)) = math1Func // sqlite3.c:123405:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3896)) = piFunc // sqlite3.c:123406:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3936)) = signFunc // sqlite3.c:123408:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3976)) = versionFunc // sqlite3.c:123409:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4016)) = versionFunc // sqlite3.c:123410:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aAgg)) + 0)) = geopolyBBoxStep // sqlite3.c:202042:8: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aAgg)) + 4)) = geopolyBBoxFinal // sqlite3.c:202042:25: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aAlterTableFuncs)) + 16)) = renameColumnFunc // sqlite3.c:111080:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aAlterTableFuncs)) + 56)) = renameTableFunc // sqlite3.c:111081:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aAlterTableFuncs)) + 96)) = renameTableTest // sqlite3.c:111082:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aAlterTableFuncs)) + 136)) = dropColumnFunc // sqlite3.c:111083:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aAlterTableFuncs)) + 176)) = renameQuotefixFunc // sqlite3.c:111084:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 16)) = versionFunc // sqlite3.c:123285:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 56)) = versionFunc // sqlite3.c:123286:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 96)) = versionFunc // sqlite3.c:123287:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 136)) = versionFunc // sqlite3.c:123288:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 176)) = soundexFunc // sqlite3.c:123292:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 216)) = loadExt // sqlite3.c:123295:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 256)) = loadExt // sqlite3.c:123296:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 296)) = compileoptionusedFunc // sqlite3.c:123302:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 336)) = compileoptiongetFunc // sqlite3.c:123303:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 376)) = versionFunc // sqlite3.c:123305:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 416)) = versionFunc // sqlite3.c:123306:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 456)) = versionFunc // sqlite3.c:123307:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 496)) = versionFunc // sqlite3.c:123310:12: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 536)) = trimFunc // sqlite3.c:123312:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 576)) = trimFunc // sqlite3.c:123313:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 616)) = trimFunc // sqlite3.c:123314:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 656)) = trimFunc // sqlite3.c:123315:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 696)) = trimFunc // sqlite3.c:123316:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 736)) = trimFunc // sqlite3.c:123317:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 776)) = minmaxFunc // sqlite3.c:123318:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 856)) = minmaxStep // sqlite3.c:123320:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 860)) = minMaxFinalize // sqlite3.c:123320:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 864)) = minMaxValue // sqlite3.c:123320:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 896)) = minmaxFunc // sqlite3.c:123322:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 976)) = minmaxStep // sqlite3.c:123324:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 980)) = minMaxFinalize // sqlite3.c:123324:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 984)) = minMaxValue // sqlite3.c:123324:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1016)) = typeofFunc // sqlite3.c:123326:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1056)) = subtypeFunc // sqlite3.c:123327:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1096)) = lengthFunc // sqlite3.c:123328:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1136)) = instrFunc // sqlite3.c:123329:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1176)) = printfFunc // sqlite3.c:123330:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1216)) = printfFunc // sqlite3.c:123331:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1256)) = unicodeFunc // sqlite3.c:123332:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1296)) = charFunc // sqlite3.c:123333:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1336)) = absFunc // sqlite3.c:123334:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1376)) = roundFunc // sqlite3.c:123336:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1416)) = roundFunc // sqlite3.c:123337:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1456)) = upperFunc // sqlite3.c:123339:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1496)) = lowerFunc // sqlite3.c:123340:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1536)) = hexFunc // sqlite3.c:123341:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1576)) = versionFunc // sqlite3.c:123342:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1616)) = randomFunc // sqlite3.c:123343:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1656)) = randomBlob // sqlite3.c:123344:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1696)) = nullifFunc // sqlite3.c:123345:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1736)) = versionFunc // sqlite3.c:123346:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1776)) = sourceidFunc // sqlite3.c:123347:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1816)) = errlogFunc // sqlite3.c:123348:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1856)) = quoteFunc // sqlite3.c:123349:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1896)) = last_insert_rowid // sqlite3.c:123350:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1936)) = changes // sqlite3.c:123351:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1976)) = total_changes // sqlite3.c:123352:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2016)) = replaceFunc // sqlite3.c:123353:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2056)) = zeroblobFunc // sqlite3.c:123354:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2096)) = substrFunc // sqlite3.c:123355:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2136)) = substrFunc // sqlite3.c:123356:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2176)) = substrFunc // sqlite3.c:123357:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2216)) = substrFunc // sqlite3.c:123358:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2256)) = sumStep // sqlite3.c:123359:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2260)) = sumFinalize // sqlite3.c:123359:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2264)) = sumFinalize // sqlite3.c:123359:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2268)) = sumInverse // sqlite3.c:123359:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2296)) = sumStep // sqlite3.c:123360:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2300)) = totalFinalize // sqlite3.c:123360:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2304)) = totalFinalize // sqlite3.c:123360:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2308)) = sumInverse // sqlite3.c:123360:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2336)) = sumStep // sqlite3.c:123361:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2340)) = avgFinalize // sqlite3.c:123361:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2344)) = avgFinalize // sqlite3.c:123361:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2348)) = sumInverse // sqlite3.c:123361:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2376)) = countStep // sqlite3.c:123362:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2380)) = countFinalize // sqlite3.c:123362:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2384)) = countFinalize // sqlite3.c:123362:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2388)) = countInverse // sqlite3.c:123362:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2416)) = countStep // sqlite3.c:123365:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2420)) = countFinalize // sqlite3.c:123365:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2424)) = countFinalize // sqlite3.c:123365:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2428)) = countInverse // sqlite3.c:123365:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2456)) = groupConcatStep // sqlite3.c:123367:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2460)) = groupConcatFinalize // sqlite3.c:123367:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2464)) = groupConcatValue // sqlite3.c:123367:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2468)) = groupConcatInverse // sqlite3.c:123367:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2496)) = groupConcatStep // sqlite3.c:123369:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2500)) = groupConcatFinalize // sqlite3.c:123369:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2504)) = groupConcatValue // sqlite3.c:123369:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2508)) = groupConcatInverse // sqlite3.c:123369:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2528 /* .pUserData */)) = uintptr(unsafe.Pointer(&globInfo)) // sqlite3.c:123372:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2536)) = likeFunc // sqlite3.c:123372:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2568 /* .pUserData */)) = uintptr(unsafe.Pointer(&likeInfoNorm)) // sqlite3.c:123377:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2576)) = likeFunc // sqlite3.c:123377:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2608 /* .pUserData */)) = uintptr(unsafe.Pointer(&likeInfoNorm)) // sqlite3.c:123378:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2616)) = likeFunc // sqlite3.c:123378:5: + *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2728)) = xCeil // sqlite3.c:123386:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2736)) = ceilingFunc // sqlite3.c:123386:5: + *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2768)) = xCeil // sqlite3.c:123387:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2776)) = ceilingFunc // sqlite3.c:123387:5: + *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2808)) = xFloor // sqlite3.c:123388:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2816)) = ceilingFunc // sqlite3.c:123388:5: + *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2848)) = libc.Xtrunc // sqlite3.c:123390:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2856)) = ceilingFunc // sqlite3.c:123390:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2896)) = logFunc // sqlite3.c:123392:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2936)) = logFunc // sqlite3.c:123393:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2976)) = logFunc // sqlite3.c:123394:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3016)) = logFunc // sqlite3.c:123395:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3056)) = logFunc // sqlite3.c:123396:5: + *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3088)) = libc.Xexp // sqlite3.c:123397:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3096)) = math1Func // sqlite3.c:123397:5: + *(*func(*libc.TLS, float64, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3128)) = libc.Xpow // sqlite3.c:123398:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3136)) = math2Func // sqlite3.c:123398:5: + *(*func(*libc.TLS, float64, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3168)) = libc.Xpow // sqlite3.c:123399:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3176)) = math2Func // sqlite3.c:123399:5: + *(*func(*libc.TLS, float64, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3208)) = libc.Xfmod // sqlite3.c:123400:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3216)) = math2Func // sqlite3.c:123400:5: + *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3248)) = libc.Xacos // sqlite3.c:123401:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3256)) = math1Func // sqlite3.c:123401:5: + *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3288)) = libc.Xasin // sqlite3.c:123402:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3296)) = math1Func // sqlite3.c:123402:5: + *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3328)) = libc.Xatan // sqlite3.c:123403:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3336)) = math1Func // sqlite3.c:123403:5: + *(*func(*libc.TLS, float64, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3368)) = libc.Xatan2 // sqlite3.c:123404:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3376)) = math2Func // sqlite3.c:123404:5: + *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3408)) = libc.Xcos // sqlite3.c:123405:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3416)) = math1Func // sqlite3.c:123405:5: + *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3448)) = libc.Xsin // sqlite3.c:123406:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3456)) = math1Func // sqlite3.c:123406:5: + *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3488)) = libc.Xtan // sqlite3.c:123407:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3496)) = math1Func // sqlite3.c:123407:5: + *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3528)) = libc.Xcosh // sqlite3.c:123408:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3536)) = math1Func // sqlite3.c:123408:5: + *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3568)) = libc.Xsinh // sqlite3.c:123409:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3576)) = math1Func // sqlite3.c:123409:5: + *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3608)) = libc.Xtanh // sqlite3.c:123410:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3616)) = math1Func // sqlite3.c:123410:5: + *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3648)) = libc.Xacosh // sqlite3.c:123412:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3656)) = math1Func // sqlite3.c:123412:5: + *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3688)) = libc.Xasinh // sqlite3.c:123413:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3696)) = math1Func // sqlite3.c:123413:5: + *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3728)) = libc.Xatanh // sqlite3.c:123414:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3736)) = math1Func // sqlite3.c:123414:5: + *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3768)) = libc.Xsqrt // sqlite3.c:123416:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3776)) = math1Func // sqlite3.c:123416:5: + *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3808)) = degToRad // sqlite3.c:123417:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3816)) = math1Func // sqlite3.c:123417:5: + *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3848)) = radToDeg // sqlite3.c:123418:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3856)) = math1Func // sqlite3.c:123418:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3896)) = piFunc // sqlite3.c:123419:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3936)) = signFunc // sqlite3.c:123421:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3976)) = versionFunc // sqlite3.c:123422:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4016)) = versionFunc // sqlite3.c:123423:5: *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aDateTimeFuncs)) + 8 /* .pUserData */)) = uintptr(unsafe.Pointer(&Xsqlite3Config)) // sqlite3.c:24402:5: *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aDateTimeFuncs)) + 16)) = juliandayFunc // sqlite3.c:24402:5: *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aDateTimeFuncs)) + 48 /* .pUserData */)) = uintptr(unsafe.Pointer(&Xsqlite3Config)) // sqlite3.c:24403:5: @@ -194409,45 +194440,45 @@ func init() { *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aDateTimeFuncs)) + 256)) = ctimeFunc // sqlite3.c:24408:5: *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aDateTimeFuncs)) + 296)) = ctimestampFunc // sqlite3.c:24409:5: *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aDateTimeFuncs)) + 336)) = cdateFunc // sqlite3.c:24410:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 0)) = geopolyAreaFunc // sqlite3.c:201967:8: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 12)) = geopolyBlobFunc // sqlite3.c:201968:8: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 24)) = geopolyJsonFunc // sqlite3.c:201969:8: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 36)) = geopolySvgFunc // sqlite3.c:201970:8: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 48)) = geopolyWithinFunc // sqlite3.c:201971:8: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 60)) = geopolyContainsPointFunc // sqlite3.c:201972:8: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 72)) = geopolyOverlapFunc // sqlite3.c:201973:8: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 84)) = geopolyDebugFunc // sqlite3.c:201974:8: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 96)) = geopolyBBoxFunc // sqlite3.c:201975:8: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 108)) = geopolyXformFunc // sqlite3.c:201976:8: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 120)) = geopolyRegularFunc // sqlite3.c:201977:8: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 132)) = geopolyCcwFunc // sqlite3.c:201978:8: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 16)) = jsonRemoveFunc // sqlite3.c:195736:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 56)) = jsonArrayFunc // sqlite3.c:195737:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 96)) = jsonArrayLengthFunc // sqlite3.c:195738:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 136)) = jsonArrayLengthFunc // sqlite3.c:195739:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 176)) = jsonExtractFunc // sqlite3.c:195740:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 216)) = jsonExtractFunc // sqlite3.c:195741:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 256)) = jsonExtractFunc // sqlite3.c:195742:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 296)) = jsonSetFunc // sqlite3.c:195743:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 336)) = jsonObjectFunc // sqlite3.c:195744:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 376)) = jsonPatchFunc // sqlite3.c:195745:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 416)) = jsonQuoteFunc // sqlite3.c:195746:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 456)) = jsonRemoveFunc // sqlite3.c:195747:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 496)) = jsonReplaceFunc // sqlite3.c:195748:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 536)) = jsonSetFunc // sqlite3.c:195749:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 576)) = jsonTypeFunc // sqlite3.c:195750:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 616)) = jsonTypeFunc // sqlite3.c:195751:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 656)) = jsonValidFunc // sqlite3.c:195752:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 696)) = jsonArrayStep // sqlite3.c:195757:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 700)) = jsonArrayFinal // sqlite3.c:195757:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 704)) = jsonArrayValue // sqlite3.c:195757:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 708)) = jsonGroupInverse // sqlite3.c:195757:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 736)) = jsonObjectStep // sqlite3.c:195760:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 740)) = jsonObjectFinal // sqlite3.c:195760:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 744)) = jsonObjectValue // sqlite3.c:195760:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 748)) = jsonGroupInverse // sqlite3.c:195760:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aMod)) + 4 /* .pModule */)) = uintptr(unsafe.Pointer(&jsonEachModule)) // sqlite3.c:195778:31: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aMod)) + 12 /* .pModule */)) = uintptr(unsafe.Pointer(&jsonTreeModule)) // sqlite3.c:195779:31: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 0)) = geopolyAreaFunc // sqlite3.c:202024:8: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 12)) = geopolyBlobFunc // sqlite3.c:202025:8: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 24)) = geopolyJsonFunc // sqlite3.c:202026:8: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 36)) = geopolySvgFunc // sqlite3.c:202027:8: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 48)) = geopolyWithinFunc // sqlite3.c:202028:8: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 60)) = geopolyContainsPointFunc // sqlite3.c:202029:8: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 72)) = geopolyOverlapFunc // sqlite3.c:202030:8: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 84)) = geopolyDebugFunc // sqlite3.c:202031:8: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 96)) = geopolyBBoxFunc // sqlite3.c:202032:8: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 108)) = geopolyXformFunc // sqlite3.c:202033:8: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 120)) = geopolyRegularFunc // sqlite3.c:202034:8: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 132)) = geopolyCcwFunc // sqlite3.c:202035:8: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 16)) = jsonRemoveFunc // sqlite3.c:195793:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 56)) = jsonArrayFunc // sqlite3.c:195794:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 96)) = jsonArrayLengthFunc // sqlite3.c:195795:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 136)) = jsonArrayLengthFunc // sqlite3.c:195796:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 176)) = jsonExtractFunc // sqlite3.c:195797:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 216)) = jsonExtractFunc // sqlite3.c:195798:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 256)) = jsonExtractFunc // sqlite3.c:195799:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 296)) = jsonSetFunc // sqlite3.c:195800:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 336)) = jsonObjectFunc // sqlite3.c:195801:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 376)) = jsonPatchFunc // sqlite3.c:195802:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 416)) = jsonQuoteFunc // sqlite3.c:195803:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 456)) = jsonRemoveFunc // sqlite3.c:195804:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 496)) = jsonReplaceFunc // sqlite3.c:195805:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 536)) = jsonSetFunc // sqlite3.c:195806:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 576)) = jsonTypeFunc // sqlite3.c:195807:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 616)) = jsonTypeFunc // sqlite3.c:195808:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 656)) = jsonValidFunc // sqlite3.c:195809:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 696)) = jsonArrayStep // sqlite3.c:195814:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 700)) = jsonArrayFinal // sqlite3.c:195814:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 704)) = jsonArrayValue // sqlite3.c:195814:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 708)) = jsonGroupInverse // sqlite3.c:195814:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 736)) = jsonObjectStep // sqlite3.c:195817:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 740)) = jsonObjectFinal // sqlite3.c:195817:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 744)) = jsonObjectValue // sqlite3.c:195817:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 748)) = jsonGroupInverse // sqlite3.c:195817:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aMod)) + 4 /* .pModule */)) = uintptr(unsafe.Pointer(&jsonEachModule)) // sqlite3.c:195835:31: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aMod)) + 12 /* .pModule */)) = uintptr(unsafe.Pointer(&jsonTreeModule)) // sqlite3.c:195836:31: *(*Sqlite3_syscall_ptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 4 /* .pCurrent */)) = *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, int32) int32 }{posixOpen})) // sqlite3.c:35170:21: @@ -194508,150 +194539,150 @@ func init() { *(*Sqlite3_syscall_ptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 328 /* .pCurrent */)) = *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr) int32 }{libc.Xlstat})) // sqlite3.c:35313:22: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 20 /* .pAppData */)) = uintptr(unsafe.Pointer(&posixIoFinder)) // sqlite3.c:42842:5: - *(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 24)) = unixOpen // sqlite3.c:42842:5: - *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 28)) = unixDelete // sqlite3.c:42842:5: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 32)) = unixAccess // sqlite3.c:42842:5: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 36)) = unixFullPathname // sqlite3.c:42842:5: - *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 40)) = unixDlOpen // sqlite3.c:42842:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 44)) = unixDlError // sqlite3.c:42842:5: - *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 48)) = unixDlSym // sqlite3.c:42842:5: - *(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 52)) = unixDlClose // sqlite3.c:42842:5: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 56)) = unixRandomness // sqlite3.c:42842:5: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 60)) = unixSleep // sqlite3.c:42842:5: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 64)) = unixCurrentTime // sqlite3.c:42842:5: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 68)) = unixGetLastError // sqlite3.c:42842:5: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 72)) = unixCurrentTimeInt64 // sqlite3.c:42842:5: - *(*func(*libc.TLS, uintptr, uintptr, Sqlite3_syscall_ptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 76)) = unixSetSystemCall // sqlite3.c:42842:5: - *(*func(*libc.TLS, uintptr, uintptr) Sqlite3_syscall_ptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 80)) = unixGetSystemCall // sqlite3.c:42842:5: - *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 84)) = unixNextSystemCall // sqlite3.c:42842:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 108 /* .pAppData */)) = uintptr(unsafe.Pointer(&nolockIoFinder)) // sqlite3.c:42844:5: - *(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 112)) = unixOpen // sqlite3.c:42844:5: - *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 116)) = unixDelete // sqlite3.c:42844:5: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 120)) = unixAccess // sqlite3.c:42844:5: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 124)) = unixFullPathname // sqlite3.c:42844:5: - *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 128)) = unixDlOpen // sqlite3.c:42844:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 132)) = unixDlError // sqlite3.c:42844:5: - *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 136)) = unixDlSym // sqlite3.c:42844:5: - *(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 140)) = unixDlClose // sqlite3.c:42844:5: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 144)) = unixRandomness // sqlite3.c:42844:5: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 148)) = unixSleep // sqlite3.c:42844:5: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 152)) = unixCurrentTime // sqlite3.c:42844:5: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 156)) = unixGetLastError // sqlite3.c:42844:5: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 160)) = unixCurrentTimeInt64 // sqlite3.c:42844:5: - *(*func(*libc.TLS, uintptr, uintptr, Sqlite3_syscall_ptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 164)) = unixSetSystemCall // sqlite3.c:42844:5: - *(*func(*libc.TLS, uintptr, uintptr) Sqlite3_syscall_ptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 168)) = unixGetSystemCall // sqlite3.c:42844:5: - *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 172)) = unixNextSystemCall // sqlite3.c:42844:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 196 /* .pAppData */)) = uintptr(unsafe.Pointer(&dotlockIoFinder)) // sqlite3.c:42845:5: - *(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 200)) = unixOpen // sqlite3.c:42845:5: - *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 204)) = unixDelete // sqlite3.c:42845:5: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 208)) = unixAccess // sqlite3.c:42845:5: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 212)) = unixFullPathname // sqlite3.c:42845:5: - *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 216)) = unixDlOpen // sqlite3.c:42845:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 220)) = unixDlError // sqlite3.c:42845:5: - *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 224)) = unixDlSym // sqlite3.c:42845:5: - *(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 228)) = unixDlClose // sqlite3.c:42845:5: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 232)) = unixRandomness // sqlite3.c:42845:5: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 236)) = unixSleep // sqlite3.c:42845:5: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 240)) = unixCurrentTime // sqlite3.c:42845:5: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 244)) = unixGetLastError // sqlite3.c:42845:5: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 248)) = unixCurrentTimeInt64 // sqlite3.c:42845:5: - *(*func(*libc.TLS, uintptr, uintptr, Sqlite3_syscall_ptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 252)) = unixSetSystemCall // sqlite3.c:42845:5: - *(*func(*libc.TLS, uintptr, uintptr) Sqlite3_syscall_ptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 256)) = unixGetSystemCall // sqlite3.c:42845:5: - *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 260)) = unixNextSystemCall // sqlite3.c:42845:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 284 /* .pAppData */)) = uintptr(unsafe.Pointer(&posixIoFinder)) // sqlite3.c:42846:5: - *(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 288)) = unixOpen // sqlite3.c:42846:5: - *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 292)) = unixDelete // sqlite3.c:42846:5: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 296)) = unixAccess // sqlite3.c:42846:5: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 300)) = unixFullPathname // sqlite3.c:42846:5: - *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 304)) = unixDlOpen // sqlite3.c:42846:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 308)) = unixDlError // sqlite3.c:42846:5: - *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 312)) = unixDlSym // sqlite3.c:42846:5: - *(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 316)) = unixDlClose // sqlite3.c:42846:5: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 320)) = unixRandomness // sqlite3.c:42846:5: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 324)) = unixSleep // sqlite3.c:42846:5: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 328)) = unixCurrentTime // sqlite3.c:42846:5: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 332)) = unixGetLastError // sqlite3.c:42846:5: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 336)) = unixCurrentTimeInt64 // sqlite3.c:42846:5: - *(*func(*libc.TLS, uintptr, uintptr, Sqlite3_syscall_ptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 340)) = unixSetSystemCall // sqlite3.c:42846:5: - *(*func(*libc.TLS, uintptr, uintptr) Sqlite3_syscall_ptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 344)) = unixGetSystemCall // sqlite3.c:42846:5: - *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 348)) = unixNextSystemCall // sqlite3.c:42846:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 16)) = row_numberStepFunc // sqlite3.c:158796:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 20)) = row_numberValueFunc // sqlite3.c:158796:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 24)) = row_numberValueFunc // sqlite3.c:158796:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 28)) = noopStepFunc // sqlite3.c:158796:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 32 /* .zName */)) = uintptr(unsafe.Pointer(&row_numberName)) // sqlite3.c:158796:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 56)) = dense_rankStepFunc // sqlite3.c:158797:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 60)) = dense_rankValueFunc // sqlite3.c:158797:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 64)) = dense_rankValueFunc // sqlite3.c:158797:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 68)) = noopStepFunc // sqlite3.c:158797:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 72 /* .zName */)) = uintptr(unsafe.Pointer(&dense_rankName)) // sqlite3.c:158797:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 96)) = rankStepFunc // sqlite3.c:158798:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 100)) = rankValueFunc // sqlite3.c:158798:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 104)) = rankValueFunc // sqlite3.c:158798:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 108)) = noopStepFunc // sqlite3.c:158798:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 112 /* .zName */)) = uintptr(unsafe.Pointer(&rankName)) // sqlite3.c:158798:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 136)) = percent_rankStepFunc // sqlite3.c:158799:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 140)) = percent_rankValueFunc // sqlite3.c:158799:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 144)) = percent_rankValueFunc // sqlite3.c:158799:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 148)) = percent_rankInvFunc // sqlite3.c:158799:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 152 /* .zName */)) = uintptr(unsafe.Pointer(&percent_rankName)) // sqlite3.c:158799:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 176)) = cume_distStepFunc // sqlite3.c:158800:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 180)) = cume_distValueFunc // sqlite3.c:158800:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 184)) = cume_distValueFunc // sqlite3.c:158800:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 188)) = cume_distInvFunc // sqlite3.c:158800:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 192 /* .zName */)) = uintptr(unsafe.Pointer(&cume_distName)) // sqlite3.c:158800:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 216)) = ntileStepFunc // sqlite3.c:158801:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 220)) = ntileValueFunc // sqlite3.c:158801:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 224)) = ntileValueFunc // sqlite3.c:158801:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 228)) = ntileInvFunc // sqlite3.c:158801:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 232 /* .zName */)) = uintptr(unsafe.Pointer(&ntileName)) // sqlite3.c:158801:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 256)) = last_valueStepFunc // sqlite3.c:158802:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 260)) = last_valueFinalizeFunc // sqlite3.c:158802:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 264)) = last_valueValueFunc // sqlite3.c:158802:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 268)) = last_valueInvFunc // sqlite3.c:158802:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 272 /* .zName */)) = uintptr(unsafe.Pointer(&last_valueName)) // sqlite3.c:158802:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 296)) = nth_valueStepFunc // sqlite3.c:158803:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 300)) = nth_valueFinalizeFunc // sqlite3.c:158803:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 304)) = noopValueFunc // sqlite3.c:158803:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 308)) = noopStepFunc // sqlite3.c:158803:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 312 /* .zName */)) = uintptr(unsafe.Pointer(&nth_valueName)) // sqlite3.c:158803:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 336)) = first_valueStepFunc // sqlite3.c:158804:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 340)) = first_valueFinalizeFunc // sqlite3.c:158804:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 344)) = noopValueFunc // sqlite3.c:158804:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 348)) = noopStepFunc // sqlite3.c:158804:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 352 /* .zName */)) = uintptr(unsafe.Pointer(&first_valueName)) // sqlite3.c:158804:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 376)) = noopStepFunc // sqlite3.c:158805:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 380)) = noopValueFunc // sqlite3.c:158805:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 384)) = noopValueFunc // sqlite3.c:158805:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 388)) = noopStepFunc // sqlite3.c:158805:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 392 /* .zName */)) = uintptr(unsafe.Pointer(&leadName)) // sqlite3.c:158805:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 416)) = noopStepFunc // sqlite3.c:158806:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 420)) = noopValueFunc // sqlite3.c:158806:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 424)) = noopValueFunc // sqlite3.c:158806:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 428)) = noopStepFunc // sqlite3.c:158806:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 432 /* .zName */)) = uintptr(unsafe.Pointer(&leadName)) // sqlite3.c:158806:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 456)) = noopStepFunc // sqlite3.c:158807:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 460)) = noopValueFunc // sqlite3.c:158807:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 464)) = noopValueFunc // sqlite3.c:158807:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 468)) = noopStepFunc // sqlite3.c:158807:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 472 /* .zName */)) = uintptr(unsafe.Pointer(&leadName)) // sqlite3.c:158807:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 496)) = noopStepFunc // sqlite3.c:158808:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 500)) = noopValueFunc // sqlite3.c:158808:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 504)) = noopValueFunc // sqlite3.c:158808:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 508)) = noopStepFunc // sqlite3.c:158808:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 512 /* .zName */)) = uintptr(unsafe.Pointer(&lagName)) // sqlite3.c:158808:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 536)) = noopStepFunc // sqlite3.c:158809:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 540)) = noopValueFunc // sqlite3.c:158809:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 544)) = noopValueFunc // sqlite3.c:158809:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 548)) = noopStepFunc // sqlite3.c:158809:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 552 /* .zName */)) = uintptr(unsafe.Pointer(&lagName)) // sqlite3.c:158809:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 576)) = noopStepFunc // sqlite3.c:158810:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 580)) = noopValueFunc // sqlite3.c:158810:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 584)) = noopValueFunc // sqlite3.c:158810:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 588)) = noopStepFunc // sqlite3.c:158810:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 592 /* .zName */)) = uintptr(unsafe.Pointer(&lagName)) // sqlite3.c:158810:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&attach_func)) + 16)) = attachFunc // sqlite3.c:113438:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 20 /* .pAppData */)) = uintptr(unsafe.Pointer(&posixIoFinder)) // sqlite3.c:42848:5: + *(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 24)) = unixOpen // sqlite3.c:42848:5: + *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 28)) = unixDelete // sqlite3.c:42848:5: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 32)) = unixAccess // sqlite3.c:42848:5: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 36)) = unixFullPathname // sqlite3.c:42848:5: + *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 40)) = unixDlOpen // sqlite3.c:42848:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 44)) = unixDlError // sqlite3.c:42848:5: + *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 48)) = unixDlSym // sqlite3.c:42848:5: + *(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 52)) = unixDlClose // sqlite3.c:42848:5: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 56)) = unixRandomness // sqlite3.c:42848:5: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 60)) = unixSleep // sqlite3.c:42848:5: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 64)) = unixCurrentTime // sqlite3.c:42848:5: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 68)) = unixGetLastError // sqlite3.c:42848:5: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 72)) = unixCurrentTimeInt64 // sqlite3.c:42848:5: + *(*func(*libc.TLS, uintptr, uintptr, Sqlite3_syscall_ptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 76)) = unixSetSystemCall // sqlite3.c:42848:5: + *(*func(*libc.TLS, uintptr, uintptr) Sqlite3_syscall_ptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 80)) = unixGetSystemCall // sqlite3.c:42848:5: + *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 84)) = unixNextSystemCall // sqlite3.c:42848:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 108 /* .pAppData */)) = uintptr(unsafe.Pointer(&nolockIoFinder)) // sqlite3.c:42850:5: + *(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 112)) = unixOpen // sqlite3.c:42850:5: + *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 116)) = unixDelete // sqlite3.c:42850:5: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 120)) = unixAccess // sqlite3.c:42850:5: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 124)) = unixFullPathname // sqlite3.c:42850:5: + *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 128)) = unixDlOpen // sqlite3.c:42850:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 132)) = unixDlError // sqlite3.c:42850:5: + *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 136)) = unixDlSym // sqlite3.c:42850:5: + *(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 140)) = unixDlClose // sqlite3.c:42850:5: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 144)) = unixRandomness // sqlite3.c:42850:5: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 148)) = unixSleep // sqlite3.c:42850:5: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 152)) = unixCurrentTime // sqlite3.c:42850:5: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 156)) = unixGetLastError // sqlite3.c:42850:5: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 160)) = unixCurrentTimeInt64 // sqlite3.c:42850:5: + *(*func(*libc.TLS, uintptr, uintptr, Sqlite3_syscall_ptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 164)) = unixSetSystemCall // sqlite3.c:42850:5: + *(*func(*libc.TLS, uintptr, uintptr) Sqlite3_syscall_ptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 168)) = unixGetSystemCall // sqlite3.c:42850:5: + *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 172)) = unixNextSystemCall // sqlite3.c:42850:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 196 /* .pAppData */)) = uintptr(unsafe.Pointer(&dotlockIoFinder)) // sqlite3.c:42851:5: + *(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 200)) = unixOpen // sqlite3.c:42851:5: + *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 204)) = unixDelete // sqlite3.c:42851:5: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 208)) = unixAccess // sqlite3.c:42851:5: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 212)) = unixFullPathname // sqlite3.c:42851:5: + *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 216)) = unixDlOpen // sqlite3.c:42851:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 220)) = unixDlError // sqlite3.c:42851:5: + *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 224)) = unixDlSym // sqlite3.c:42851:5: + *(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 228)) = unixDlClose // sqlite3.c:42851:5: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 232)) = unixRandomness // sqlite3.c:42851:5: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 236)) = unixSleep // sqlite3.c:42851:5: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 240)) = unixCurrentTime // sqlite3.c:42851:5: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 244)) = unixGetLastError // sqlite3.c:42851:5: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 248)) = unixCurrentTimeInt64 // sqlite3.c:42851:5: + *(*func(*libc.TLS, uintptr, uintptr, Sqlite3_syscall_ptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 252)) = unixSetSystemCall // sqlite3.c:42851:5: + *(*func(*libc.TLS, uintptr, uintptr) Sqlite3_syscall_ptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 256)) = unixGetSystemCall // sqlite3.c:42851:5: + *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 260)) = unixNextSystemCall // sqlite3.c:42851:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 284 /* .pAppData */)) = uintptr(unsafe.Pointer(&posixIoFinder)) // sqlite3.c:42852:5: + *(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 288)) = unixOpen // sqlite3.c:42852:5: + *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 292)) = unixDelete // sqlite3.c:42852:5: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 296)) = unixAccess // sqlite3.c:42852:5: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 300)) = unixFullPathname // sqlite3.c:42852:5: + *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 304)) = unixDlOpen // sqlite3.c:42852:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 308)) = unixDlError // sqlite3.c:42852:5: + *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 312)) = unixDlSym // sqlite3.c:42852:5: + *(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 316)) = unixDlClose // sqlite3.c:42852:5: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 320)) = unixRandomness // sqlite3.c:42852:5: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 324)) = unixSleep // sqlite3.c:42852:5: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 328)) = unixCurrentTime // sqlite3.c:42852:5: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 332)) = unixGetLastError // sqlite3.c:42852:5: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 336)) = unixCurrentTimeInt64 // sqlite3.c:42852:5: + *(*func(*libc.TLS, uintptr, uintptr, Sqlite3_syscall_ptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 340)) = unixSetSystemCall // sqlite3.c:42852:5: + *(*func(*libc.TLS, uintptr, uintptr) Sqlite3_syscall_ptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 344)) = unixGetSystemCall // sqlite3.c:42852:5: + *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 348)) = unixNextSystemCall // sqlite3.c:42852:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 16)) = row_numberStepFunc // sqlite3.c:158853:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 20)) = row_numberValueFunc // sqlite3.c:158853:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 24)) = row_numberValueFunc // sqlite3.c:158853:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 28)) = noopStepFunc // sqlite3.c:158853:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 32 /* .zName */)) = uintptr(unsafe.Pointer(&row_numberName)) // sqlite3.c:158853:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 56)) = dense_rankStepFunc // sqlite3.c:158854:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 60)) = dense_rankValueFunc // sqlite3.c:158854:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 64)) = dense_rankValueFunc // sqlite3.c:158854:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 68)) = noopStepFunc // sqlite3.c:158854:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 72 /* .zName */)) = uintptr(unsafe.Pointer(&dense_rankName)) // sqlite3.c:158854:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 96)) = rankStepFunc // sqlite3.c:158855:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 100)) = rankValueFunc // sqlite3.c:158855:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 104)) = rankValueFunc // sqlite3.c:158855:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 108)) = noopStepFunc // sqlite3.c:158855:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 112 /* .zName */)) = uintptr(unsafe.Pointer(&rankName)) // sqlite3.c:158855:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 136)) = percent_rankStepFunc // sqlite3.c:158856:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 140)) = percent_rankValueFunc // sqlite3.c:158856:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 144)) = percent_rankValueFunc // sqlite3.c:158856:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 148)) = percent_rankInvFunc // sqlite3.c:158856:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 152 /* .zName */)) = uintptr(unsafe.Pointer(&percent_rankName)) // sqlite3.c:158856:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 176)) = cume_distStepFunc // sqlite3.c:158857:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 180)) = cume_distValueFunc // sqlite3.c:158857:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 184)) = cume_distValueFunc // sqlite3.c:158857:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 188)) = cume_distInvFunc // sqlite3.c:158857:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 192 /* .zName */)) = uintptr(unsafe.Pointer(&cume_distName)) // sqlite3.c:158857:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 216)) = ntileStepFunc // sqlite3.c:158858:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 220)) = ntileValueFunc // sqlite3.c:158858:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 224)) = ntileValueFunc // sqlite3.c:158858:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 228)) = ntileInvFunc // sqlite3.c:158858:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 232 /* .zName */)) = uintptr(unsafe.Pointer(&ntileName)) // sqlite3.c:158858:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 256)) = last_valueStepFunc // sqlite3.c:158859:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 260)) = last_valueFinalizeFunc // sqlite3.c:158859:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 264)) = last_valueValueFunc // sqlite3.c:158859:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 268)) = last_valueInvFunc // sqlite3.c:158859:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 272 /* .zName */)) = uintptr(unsafe.Pointer(&last_valueName)) // sqlite3.c:158859:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 296)) = nth_valueStepFunc // sqlite3.c:158860:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 300)) = nth_valueFinalizeFunc // sqlite3.c:158860:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 304)) = noopValueFunc // sqlite3.c:158860:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 308)) = noopStepFunc // sqlite3.c:158860:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 312 /* .zName */)) = uintptr(unsafe.Pointer(&nth_valueName)) // sqlite3.c:158860:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 336)) = first_valueStepFunc // sqlite3.c:158861:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 340)) = first_valueFinalizeFunc // sqlite3.c:158861:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 344)) = noopValueFunc // sqlite3.c:158861:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 348)) = noopStepFunc // sqlite3.c:158861:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 352 /* .zName */)) = uintptr(unsafe.Pointer(&first_valueName)) // sqlite3.c:158861:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 376)) = noopStepFunc // sqlite3.c:158862:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 380)) = noopValueFunc // sqlite3.c:158862:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 384)) = noopValueFunc // sqlite3.c:158862:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 388)) = noopStepFunc // sqlite3.c:158862:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 392 /* .zName */)) = uintptr(unsafe.Pointer(&leadName)) // sqlite3.c:158862:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 416)) = noopStepFunc // sqlite3.c:158863:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 420)) = noopValueFunc // sqlite3.c:158863:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 424)) = noopValueFunc // sqlite3.c:158863:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 428)) = noopStepFunc // sqlite3.c:158863:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 432 /* .zName */)) = uintptr(unsafe.Pointer(&leadName)) // sqlite3.c:158863:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 456)) = noopStepFunc // sqlite3.c:158864:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 460)) = noopValueFunc // sqlite3.c:158864:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 464)) = noopValueFunc // sqlite3.c:158864:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 468)) = noopStepFunc // sqlite3.c:158864:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 472 /* .zName */)) = uintptr(unsafe.Pointer(&leadName)) // sqlite3.c:158864:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 496)) = noopStepFunc // sqlite3.c:158865:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 500)) = noopValueFunc // sqlite3.c:158865:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 504)) = noopValueFunc // sqlite3.c:158865:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 508)) = noopStepFunc // sqlite3.c:158865:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 512 /* .zName */)) = uintptr(unsafe.Pointer(&lagName)) // sqlite3.c:158865:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 536)) = noopStepFunc // sqlite3.c:158866:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 540)) = noopValueFunc // sqlite3.c:158866:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 544)) = noopValueFunc // sqlite3.c:158866:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 548)) = noopStepFunc // sqlite3.c:158866:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 552 /* .zName */)) = uintptr(unsafe.Pointer(&lagName)) // sqlite3.c:158866:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 576)) = noopStepFunc // sqlite3.c:158867:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 580)) = noopValueFunc // sqlite3.c:158867:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 584)) = noopValueFunc // sqlite3.c:158867:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 588)) = noopStepFunc // sqlite3.c:158867:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 592 /* .zName */)) = uintptr(unsafe.Pointer(&lagName)) // sqlite3.c:158867:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&attach_func)) + 16)) = attachFunc // sqlite3.c:113451:5: *(*func(*libc.TLS, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods)) + 0)) = sqlite3MemMalloc // sqlite3.c:25299:6: *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods)) + 4)) = sqlite3MemFree // sqlite3.c:25300:6: *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods)) + 8)) = sqlite3MemRealloc // sqlite3.c:25301:6: @@ -194659,243 +194690,243 @@ func init() { *(*func(*libc.TLS, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods)) + 16)) = sqlite3MemRoundup // sqlite3.c:25303:6: *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods)) + 20)) = sqlite3MemInit // sqlite3.c:25304:6: *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods)) + 24)) = sqlite3MemShutdown // sqlite3.c:25305:6: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods1)) + 8)) = pcache1Init // sqlite3.c:52453:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods1)) + 12)) = pcache1Shutdown // sqlite3.c:52454:5: - *(*func(*libc.TLS, int32, int32, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods1)) + 16)) = pcache1Create // sqlite3.c:52455:5: - *(*func(*libc.TLS, uintptr, int32))(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods1)) + 20)) = pcache1Cachesize // sqlite3.c:52456:5: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods1)) + 24)) = pcache1Pagecount // sqlite3.c:52457:5: - *(*func(*libc.TLS, uintptr, uint32, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods1)) + 28)) = pcache1Fetch // sqlite3.c:52458:5: - *(*func(*libc.TLS, uintptr, uintptr, int32))(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods1)) + 32)) = pcache1Unpin // sqlite3.c:52459:5: - *(*func(*libc.TLS, uintptr, uintptr, uint32, uint32))(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods1)) + 36)) = pcache1Rekey // sqlite3.c:52460:5: - *(*func(*libc.TLS, uintptr, uint32))(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods1)) + 40)) = pcache1Truncate // sqlite3.c:52461:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods1)) + 44)) = pcache1Destroy // sqlite3.c:52462:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods1)) + 48)) = pcache1Shrink // sqlite3.c:52463:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&detach_func)) + 16)) = detachFunc // sqlite3.c:113418:5: - *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoFinder)) + 0)) = dotlockIoFinderImpl // sqlite3.c:40202:1: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 4)) = dotlockClose // sqlite3.c:40202:1: - *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 8)) = unixRead // sqlite3.c:40202:1: - *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 12)) = unixWrite // sqlite3.c:40202:1: - *(*func(*libc.TLS, uintptr, I64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 16)) = unixTruncate // sqlite3.c:40202:1: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 20)) = unixSync // sqlite3.c:40202:1: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 24)) = unixFileSize // sqlite3.c:40202:1: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 28)) = dotlockLock // sqlite3.c:40202:1: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 32)) = dotlockUnlock // sqlite3.c:40202:1: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 36)) = dotlockCheckReservedLock // sqlite3.c:40202:1: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 40)) = unixFileControl // sqlite3.c:40202:1: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 44)) = unixSectorSize // sqlite3.c:40202:1: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 48)) = unixDeviceCharacteristics // sqlite3.c:40202:1: - *(*func(*libc.TLS, uintptr, int32, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 56)) = unixShmLock // sqlite3.c:40202:1: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 60)) = unixShmBarrier // sqlite3.c:40202:1: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 64)) = unixShmUnmap // sqlite3.c:40202:1: - *(*func(*libc.TLS, uintptr, I64, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 68)) = unixFetch // sqlite3.c:40202:1: - *(*func(*libc.TLS, uintptr, I64, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 72)) = unixUnfetch // sqlite3.c:40202:1: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 4)) = fts5CreateMethod // sqlite3.c:234400:25: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 8)) = fts5ConnectMethod // sqlite3.c:234401:25: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 12)) = fts5BestIndexMethod // sqlite3.c:234402:25: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 16)) = fts5DisconnectMethod // sqlite3.c:234403:25: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 20)) = fts5DestroyMethod // sqlite3.c:234404:25: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 24)) = fts5OpenMethod // sqlite3.c:234405:25: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 28)) = fts5CloseMethod // sqlite3.c:234406:25: - *(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 32)) = fts5FilterMethod // sqlite3.c:234407:25: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 36)) = fts5NextMethod // sqlite3.c:234408:25: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 40)) = fts5EofMethod // sqlite3.c:234409:25: - *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 44)) = fts5ColumnMethod // sqlite3.c:234410:25: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 48)) = fts5RowidMethod // sqlite3.c:234411:25: - *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 52)) = fts5UpdateMethod // sqlite3.c:234412:25: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 56)) = fts5BeginMethod // sqlite3.c:234413:25: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 60)) = fts5SyncMethod // sqlite3.c:234414:25: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 64)) = fts5CommitMethod // sqlite3.c:234415:25: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 68)) = fts5RollbackMethod // sqlite3.c:234416:25: - *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 72)) = fts5FindFunctionMethod // sqlite3.c:234417:25: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 76)) = fts5RenameMethod // sqlite3.c:234418:25: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 80)) = fts5SavepointMethod // sqlite3.c:234419:25: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 84)) = fts5ReleaseMethod // sqlite3.c:234420:25: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 88)) = fts5RollbackToMethod // sqlite3.c:234421:25: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 92)) = fts5ShadowName // sqlite3.c:234422:25: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 4)) = fts5VocabCreateMethod // sqlite3.c:238983:25: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 8)) = fts5VocabConnectMethod // sqlite3.c:238984:25: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 12)) = fts5VocabBestIndexMethod // sqlite3.c:238985:25: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 16)) = fts5VocabDisconnectMethod // sqlite3.c:238986:25: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 20)) = fts5VocabDestroyMethod // sqlite3.c:238987:25: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 24)) = fts5VocabOpenMethod // sqlite3.c:238988:25: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 28)) = fts5VocabCloseMethod // sqlite3.c:238989:25: - *(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 32)) = fts5VocabFilterMethod // sqlite3.c:238990:25: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 36)) = fts5VocabNextMethod // sqlite3.c:238991:25: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 40)) = fts5VocabEofMethod // sqlite3.c:238992:25: - *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 44)) = fts5VocabColumnMethod // sqlite3.c:238993:25: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 48)) = fts5VocabRowidMethod // sqlite3.c:238994:25: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 4)) = geopolyCreate // sqlite3.c:201934:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 8)) = geopolyConnect // sqlite3.c:201935:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 12)) = geopolyBestIndex // sqlite3.c:201936:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 16)) = rtreeDisconnect // sqlite3.c:201937:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 20)) = rtreeDestroy // sqlite3.c:201938:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 24)) = rtreeOpen // sqlite3.c:201939:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 28)) = rtreeClose // sqlite3.c:201940:3: - *(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 32)) = geopolyFilter // sqlite3.c:201941:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 36)) = rtreeNext // sqlite3.c:201942:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 40)) = rtreeEof // sqlite3.c:201943:3: - *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 44)) = geopolyColumn // sqlite3.c:201944:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 48)) = rtreeRowid // sqlite3.c:201945:3: - *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 52)) = geopolyUpdate // sqlite3.c:201946:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 56)) = rtreeBeginTransaction // sqlite3.c:201947:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 60)) = rtreeEndTransaction // sqlite3.c:201948:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 64)) = rtreeEndTransaction // sqlite3.c:201949:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 68)) = rtreeEndTransaction // sqlite3.c:201950:3: - *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 72)) = geopolyFindFunction // sqlite3.c:201951:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 76)) = rtreeRename // sqlite3.c:201952:3: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 80)) = rtreeSavepoint // sqlite3.c:201953:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 92)) = rtreeShadowName // sqlite3.c:201956:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonEachModule)) + 8)) = jsonEachConnect // sqlite3.c:195676:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonEachModule)) + 12)) = jsonEachBestIndex // sqlite3.c:195677:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonEachModule)) + 16)) = jsonEachDisconnect // sqlite3.c:195678:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonEachModule)) + 24)) = jsonEachOpenEach // sqlite3.c:195680:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonEachModule)) + 28)) = jsonEachClose // sqlite3.c:195681:3: - *(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonEachModule)) + 32)) = jsonEachFilter // sqlite3.c:195682:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonEachModule)) + 36)) = jsonEachNext // sqlite3.c:195683:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonEachModule)) + 40)) = jsonEachEof // sqlite3.c:195684:3: - *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonEachModule)) + 44)) = jsonEachColumn // sqlite3.c:195685:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonEachModule)) + 48)) = jsonEachRowid // sqlite3.c:195686:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonTreeModule)) + 8)) = jsonEachConnect // sqlite3.c:195704:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonTreeModule)) + 12)) = jsonEachBestIndex // sqlite3.c:195705:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonTreeModule)) + 16)) = jsonEachDisconnect // sqlite3.c:195706:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonTreeModule)) + 24)) = jsonEachOpenTree // sqlite3.c:195708:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonTreeModule)) + 28)) = jsonEachClose // sqlite3.c:195709:3: - *(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonTreeModule)) + 32)) = jsonEachFilter // sqlite3.c:195710:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonTreeModule)) + 36)) = jsonEachNext // sqlite3.c:195711:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonTreeModule)) + 40)) = jsonEachEof // sqlite3.c:195712:3: - *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonTreeModule)) + 44)) = jsonEachColumn // sqlite3.c:195713:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonTreeModule)) + 48)) = jsonEachRowid // sqlite3.c:195714:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 4)) = memdbClose // sqlite3.c:49233:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 8)) = memdbRead // sqlite3.c:49234:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 12)) = memdbWrite // sqlite3.c:49235:3: - *(*func(*libc.TLS, uintptr, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 16)) = memdbTruncate // sqlite3.c:49236:3: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 20)) = memdbSync // sqlite3.c:49237:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 24)) = memdbFileSize // sqlite3.c:49238:3: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 28)) = memdbLock // sqlite3.c:49239:3: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 32)) = memdbLock // sqlite3.c:49240:3: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 40)) = memdbFileControl // sqlite3.c:49242:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 48)) = memdbDeviceCharacteristics // sqlite3.c:49244:3: - *(*func(*libc.TLS, uintptr, Sqlite3_int64, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 68)) = memdbFetch // sqlite3.c:49249:3: - *(*func(*libc.TLS, uintptr, Sqlite3_int64, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 72)) = memdbUnfetch // sqlite3.c:49250:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_vfs)) + 24)) = memdbOpen // sqlite3.c:49213:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_vfs)) + 32)) = memdbAccess // sqlite3.c:49215:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_vfs)) + 36)) = memdbFullPathname // sqlite3.c:49216:3: - *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_vfs)) + 40)) = memdbDlOpen // sqlite3.c:49217:3: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_vfs)) + 44)) = memdbDlError // sqlite3.c:49218:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_vfs)) + 48)) = memdbDlSym // sqlite3.c:49219:3: - *(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_vfs)) + 52)) = memdbDlClose // sqlite3.c:49220:3: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_vfs)) + 56)) = memdbRandomness // sqlite3.c:49221:3: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_vfs)) + 60)) = memdbSleep // sqlite3.c:49222:3: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_vfs)) + 68)) = memdbGetLastError // sqlite3.c:49224:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_vfs)) + 72)) = memdbCurrentTimeInt64 // sqlite3.c:49225:3: - *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoFinder)) + 0)) = nolockIoFinderImpl // sqlite3.c:40192:1: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 4)) = nolockClose // sqlite3.c:40192:1: - *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 8)) = unixRead // sqlite3.c:40192:1: - *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 12)) = unixWrite // sqlite3.c:40192:1: - *(*func(*libc.TLS, uintptr, I64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 16)) = unixTruncate // sqlite3.c:40192:1: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 20)) = unixSync // sqlite3.c:40192:1: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 24)) = unixFileSize // sqlite3.c:40192:1: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 28)) = nolockLock // sqlite3.c:40192:1: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 32)) = nolockUnlock // sqlite3.c:40192:1: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 36)) = nolockCheckReservedLock // sqlite3.c:40192:1: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 40)) = unixFileControl // sqlite3.c:40192:1: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 44)) = unixSectorSize // sqlite3.c:40192:1: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 48)) = unixDeviceCharacteristics // sqlite3.c:40192:1: - *(*func(*libc.TLS, uintptr, int32, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 56)) = unixShmLock // sqlite3.c:40192:1: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 60)) = unixShmBarrier // sqlite3.c:40192:1: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 64)) = unixShmUnmap // sqlite3.c:40192:1: - *(*func(*libc.TLS, uintptr, I64, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 68)) = unixFetch // sqlite3.c:40192:1: - *(*func(*libc.TLS, uintptr, I64, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 72)) = unixUnfetch // sqlite3.c:40192:1: - *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoFinder)) + 0)) = posixIoFinderImpl // sqlite3.c:40182:1: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 4)) = unixClose // sqlite3.c:40182:1: - *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 8)) = unixRead // sqlite3.c:40182:1: - *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 12)) = unixWrite // sqlite3.c:40182:1: - *(*func(*libc.TLS, uintptr, I64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 16)) = unixTruncate // sqlite3.c:40182:1: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 20)) = unixSync // sqlite3.c:40182:1: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 24)) = unixFileSize // sqlite3.c:40182:1: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 28)) = unixLock // sqlite3.c:40182:1: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 32)) = unixUnlock // sqlite3.c:40182:1: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 36)) = unixCheckReservedLock // sqlite3.c:40182:1: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 40)) = unixFileControl // sqlite3.c:40182:1: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 44)) = unixSectorSize // sqlite3.c:40182:1: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 48)) = unixDeviceCharacteristics // sqlite3.c:40182:1: - *(*func(*libc.TLS, uintptr, int32, int32, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 52)) = unixShmMap // sqlite3.c:40182:1: - *(*func(*libc.TLS, uintptr, int32, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 56)) = unixShmLock // sqlite3.c:40182:1: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 60)) = unixShmBarrier // sqlite3.c:40182:1: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 64)) = unixShmUnmap // sqlite3.c:40182:1: - *(*func(*libc.TLS, uintptr, I64, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 68)) = unixFetch // sqlite3.c:40182:1: - *(*func(*libc.TLS, uintptr, I64, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 72)) = unixUnfetch // sqlite3.c:40182:1: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&pragmaVtabModule)) + 8)) = pragmaVtabConnect // sqlite3.c:133106:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&pragmaVtabModule)) + 12)) = pragmaVtabBestIndex // sqlite3.c:133107:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&pragmaVtabModule)) + 16)) = pragmaVtabDisconnect // sqlite3.c:133108:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&pragmaVtabModule)) + 24)) = pragmaVtabOpen // sqlite3.c:133110:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&pragmaVtabModule)) + 28)) = pragmaVtabClose // sqlite3.c:133111:3: - *(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&pragmaVtabModule)) + 32)) = pragmaVtabFilter // sqlite3.c:133112:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&pragmaVtabModule)) + 36)) = pragmaVtabNext // sqlite3.c:133113:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&pragmaVtabModule)) + 40)) = pragmaVtabEof // sqlite3.c:133114:3: - *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&pragmaVtabModule)) + 44)) = pragmaVtabColumn // sqlite3.c:133115:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&pragmaVtabModule)) + 48)) = pragmaVtabRowid // sqlite3.c:133116:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 4)) = rbuVfsClose // sqlite3.c:208631:5: - *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 8)) = rbuVfsRead // sqlite3.c:208632:5: - *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 12)) = rbuVfsWrite // sqlite3.c:208633:5: - *(*func(*libc.TLS, uintptr, Sqlite_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 16)) = rbuVfsTruncate // sqlite3.c:208634:5: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 20)) = rbuVfsSync // sqlite3.c:208635:5: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 24)) = rbuVfsFileSize // sqlite3.c:208636:5: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 28)) = rbuVfsLock // sqlite3.c:208637:5: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 32)) = rbuVfsUnlock // sqlite3.c:208638:5: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 36)) = rbuVfsCheckReservedLock // sqlite3.c:208639:5: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 40)) = rbuVfsFileControl // sqlite3.c:208640:5: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 44)) = rbuVfsSectorSize // sqlite3.c:208641:5: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 48)) = rbuVfsDeviceCharacteristics // sqlite3.c:208642:5: - *(*func(*libc.TLS, uintptr, int32, int32, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 52)) = rbuVfsShmMap // sqlite3.c:208643:5: - *(*func(*libc.TLS, uintptr, int32, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 56)) = rbuVfsShmLock // sqlite3.c:208644:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 60)) = rbuVfsShmBarrier // sqlite3.c:208645:5: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 64)) = rbuVfsShmUnmap // sqlite3.c:208646:5: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 4)) = rtreeCreate // sqlite3.c:199272:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 8)) = rtreeConnect // sqlite3.c:199273:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 12)) = rtreeBestIndex // sqlite3.c:199274:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 16)) = rtreeDisconnect // sqlite3.c:199275:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 20)) = rtreeDestroy // sqlite3.c:199276:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 24)) = rtreeOpen // sqlite3.c:199277:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 28)) = rtreeClose // sqlite3.c:199278:3: - *(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 32)) = rtreeFilter // sqlite3.c:199279:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 36)) = rtreeNext // sqlite3.c:199280:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 40)) = rtreeEof // sqlite3.c:199281:3: - *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 44)) = rtreeColumn // sqlite3.c:199282:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 48)) = rtreeRowid // sqlite3.c:199283:3: - *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 52)) = rtreeUpdate // sqlite3.c:199284:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 56)) = rtreeBeginTransaction // sqlite3.c:199285:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 60)) = rtreeEndTransaction // sqlite3.c:199286:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 64)) = rtreeEndTransaction // sqlite3.c:199287:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 68)) = rtreeEndTransaction // sqlite3.c:199288:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 76)) = rtreeRename // sqlite3.c:199290:3: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 80)) = rtreeSavepoint // sqlite3.c:199291:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 92)) = rtreeShadowName // sqlite3.c:199294:3: - *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 4)) = fts5ApiUserData // sqlite3.c:233859:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 8)) = fts5ApiColumnCount // sqlite3.c:233860:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 12)) = fts5ApiRowCount // sqlite3.c:233861:3: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 16)) = fts5ApiColumnTotalSize // sqlite3.c:233862:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 20)) = fts5ApiTokenize // sqlite3.c:233863:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 24)) = fts5ApiPhraseCount // sqlite3.c:233864:3: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 28)) = fts5ApiPhraseSize // sqlite3.c:233865:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 32)) = fts5ApiInstCount // sqlite3.c:233866:3: - *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 36)) = fts5ApiInst // sqlite3.c:233867:3: - *(*func(*libc.TLS, uintptr) Sqlite3_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 40)) = fts5ApiRowid // sqlite3.c:233868:3: - *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 44)) = fts5ApiColumnText // sqlite3.c:233869:3: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 48)) = fts5ApiColumnSize // sqlite3.c:233870:3: - *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 52)) = fts5ApiQueryPhrase // sqlite3.c:233871:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 56)) = fts5ApiSetAuxdata // sqlite3.c:233872:3: - *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 60)) = fts5ApiGetAuxdata // sqlite3.c:233873:3: - *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 64)) = fts5ApiPhraseFirst // sqlite3.c:233874:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 68)) = fts5ApiPhraseNext // sqlite3.c:233875:3: - *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 72)) = fts5ApiPhraseFirstColumn // sqlite3.c:233876:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 76)) = fts5ApiPhraseNextColumn // sqlite3.c:233877:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sMemJournalMethods)) + 4)) = memjrnlClose // sqlite3.c:100023:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sMemJournalMethods)) + 8)) = memjrnlRead // sqlite3.c:100024:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sMemJournalMethods)) + 12)) = memjrnlWrite // sqlite3.c:100025:3: - *(*func(*libc.TLS, uintptr, Sqlite_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sMemJournalMethods)) + 16)) = memjrnlTruncate // sqlite3.c:100026:3: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sMemJournalMethods)) + 20)) = memjrnlSync // sqlite3.c:100027:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sMemJournalMethods)) + 24)) = memjrnlFileSize // sqlite3.c:100028:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods1)) + 8)) = pcache1Init // sqlite3.c:52463:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods1)) + 12)) = pcache1Shutdown // sqlite3.c:52464:5: + *(*func(*libc.TLS, int32, int32, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods1)) + 16)) = pcache1Create // sqlite3.c:52465:5: + *(*func(*libc.TLS, uintptr, int32))(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods1)) + 20)) = pcache1Cachesize // sqlite3.c:52466:5: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods1)) + 24)) = pcache1Pagecount // sqlite3.c:52467:5: + *(*func(*libc.TLS, uintptr, uint32, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods1)) + 28)) = pcache1Fetch // sqlite3.c:52468:5: + *(*func(*libc.TLS, uintptr, uintptr, int32))(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods1)) + 32)) = pcache1Unpin // sqlite3.c:52469:5: + *(*func(*libc.TLS, uintptr, uintptr, uint32, uint32))(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods1)) + 36)) = pcache1Rekey // sqlite3.c:52470:5: + *(*func(*libc.TLS, uintptr, uint32))(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods1)) + 40)) = pcache1Truncate // sqlite3.c:52471:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods1)) + 44)) = pcache1Destroy // sqlite3.c:52472:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods1)) + 48)) = pcache1Shrink // sqlite3.c:52473:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&detach_func)) + 16)) = detachFunc // sqlite3.c:113431:5: + *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoFinder)) + 0)) = dotlockIoFinderImpl // sqlite3.c:40208:1: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 4)) = dotlockClose // sqlite3.c:40208:1: + *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 8)) = unixRead // sqlite3.c:40208:1: + *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 12)) = unixWrite // sqlite3.c:40208:1: + *(*func(*libc.TLS, uintptr, I64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 16)) = unixTruncate // sqlite3.c:40208:1: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 20)) = unixSync // sqlite3.c:40208:1: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 24)) = unixFileSize // sqlite3.c:40208:1: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 28)) = dotlockLock // sqlite3.c:40208:1: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 32)) = dotlockUnlock // sqlite3.c:40208:1: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 36)) = dotlockCheckReservedLock // sqlite3.c:40208:1: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 40)) = unixFileControl // sqlite3.c:40208:1: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 44)) = unixSectorSize // sqlite3.c:40208:1: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 48)) = unixDeviceCharacteristics // sqlite3.c:40208:1: + *(*func(*libc.TLS, uintptr, int32, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 56)) = unixShmLock // sqlite3.c:40208:1: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 60)) = unixShmBarrier // sqlite3.c:40208:1: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 64)) = unixShmUnmap // sqlite3.c:40208:1: + *(*func(*libc.TLS, uintptr, I64, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 68)) = unixFetch // sqlite3.c:40208:1: + *(*func(*libc.TLS, uintptr, I64, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 72)) = unixUnfetch // sqlite3.c:40208:1: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 4)) = fts5CreateMethod // sqlite3.c:234457:25: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 8)) = fts5ConnectMethod // sqlite3.c:234458:25: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 12)) = fts5BestIndexMethod // sqlite3.c:234459:25: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 16)) = fts5DisconnectMethod // sqlite3.c:234460:25: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 20)) = fts5DestroyMethod // sqlite3.c:234461:25: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 24)) = fts5OpenMethod // sqlite3.c:234462:25: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 28)) = fts5CloseMethod // sqlite3.c:234463:25: + *(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 32)) = fts5FilterMethod // sqlite3.c:234464:25: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 36)) = fts5NextMethod // sqlite3.c:234465:25: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 40)) = fts5EofMethod // sqlite3.c:234466:25: + *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 44)) = fts5ColumnMethod // sqlite3.c:234467:25: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 48)) = fts5RowidMethod // sqlite3.c:234468:25: + *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 52)) = fts5UpdateMethod // sqlite3.c:234469:25: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 56)) = fts5BeginMethod // sqlite3.c:234470:25: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 60)) = fts5SyncMethod // sqlite3.c:234471:25: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 64)) = fts5CommitMethod // sqlite3.c:234472:25: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 68)) = fts5RollbackMethod // sqlite3.c:234473:25: + *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 72)) = fts5FindFunctionMethod // sqlite3.c:234474:25: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 76)) = fts5RenameMethod // sqlite3.c:234475:25: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 80)) = fts5SavepointMethod // sqlite3.c:234476:25: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 84)) = fts5ReleaseMethod // sqlite3.c:234477:25: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 88)) = fts5RollbackToMethod // sqlite3.c:234478:25: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 92)) = fts5ShadowName // sqlite3.c:234479:25: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 4)) = fts5VocabCreateMethod // sqlite3.c:239040:25: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 8)) = fts5VocabConnectMethod // sqlite3.c:239041:25: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 12)) = fts5VocabBestIndexMethod // sqlite3.c:239042:25: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 16)) = fts5VocabDisconnectMethod // sqlite3.c:239043:25: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 20)) = fts5VocabDestroyMethod // sqlite3.c:239044:25: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 24)) = fts5VocabOpenMethod // sqlite3.c:239045:25: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 28)) = fts5VocabCloseMethod // sqlite3.c:239046:25: + *(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 32)) = fts5VocabFilterMethod // sqlite3.c:239047:25: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 36)) = fts5VocabNextMethod // sqlite3.c:239048:25: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 40)) = fts5VocabEofMethod // sqlite3.c:239049:25: + *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 44)) = fts5VocabColumnMethod // sqlite3.c:239050:25: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 48)) = fts5VocabRowidMethod // sqlite3.c:239051:25: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 4)) = geopolyCreate // sqlite3.c:201991:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 8)) = geopolyConnect // sqlite3.c:201992:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 12)) = geopolyBestIndex // sqlite3.c:201993:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 16)) = rtreeDisconnect // sqlite3.c:201994:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 20)) = rtreeDestroy // sqlite3.c:201995:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 24)) = rtreeOpen // sqlite3.c:201996:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 28)) = rtreeClose // sqlite3.c:201997:3: + *(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 32)) = geopolyFilter // sqlite3.c:201998:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 36)) = rtreeNext // sqlite3.c:201999:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 40)) = rtreeEof // sqlite3.c:202000:3: + *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 44)) = geopolyColumn // sqlite3.c:202001:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 48)) = rtreeRowid // sqlite3.c:202002:3: + *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 52)) = geopolyUpdate // sqlite3.c:202003:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 56)) = rtreeBeginTransaction // sqlite3.c:202004:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 60)) = rtreeEndTransaction // sqlite3.c:202005:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 64)) = rtreeEndTransaction // sqlite3.c:202006:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 68)) = rtreeEndTransaction // sqlite3.c:202007:3: + *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 72)) = geopolyFindFunction // sqlite3.c:202008:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 76)) = rtreeRename // sqlite3.c:202009:3: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 80)) = rtreeSavepoint // sqlite3.c:202010:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 92)) = rtreeShadowName // sqlite3.c:202013:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonEachModule)) + 8)) = jsonEachConnect // sqlite3.c:195733:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonEachModule)) + 12)) = jsonEachBestIndex // sqlite3.c:195734:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonEachModule)) + 16)) = jsonEachDisconnect // sqlite3.c:195735:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonEachModule)) + 24)) = jsonEachOpenEach // sqlite3.c:195737:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonEachModule)) + 28)) = jsonEachClose // sqlite3.c:195738:3: + *(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonEachModule)) + 32)) = jsonEachFilter // sqlite3.c:195739:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonEachModule)) + 36)) = jsonEachNext // sqlite3.c:195740:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonEachModule)) + 40)) = jsonEachEof // sqlite3.c:195741:3: + *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonEachModule)) + 44)) = jsonEachColumn // sqlite3.c:195742:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonEachModule)) + 48)) = jsonEachRowid // sqlite3.c:195743:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonTreeModule)) + 8)) = jsonEachConnect // sqlite3.c:195761:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonTreeModule)) + 12)) = jsonEachBestIndex // sqlite3.c:195762:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonTreeModule)) + 16)) = jsonEachDisconnect // sqlite3.c:195763:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonTreeModule)) + 24)) = jsonEachOpenTree // sqlite3.c:195765:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonTreeModule)) + 28)) = jsonEachClose // sqlite3.c:195766:3: + *(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonTreeModule)) + 32)) = jsonEachFilter // sqlite3.c:195767:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonTreeModule)) + 36)) = jsonEachNext // sqlite3.c:195768:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonTreeModule)) + 40)) = jsonEachEof // sqlite3.c:195769:3: + *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonTreeModule)) + 44)) = jsonEachColumn // sqlite3.c:195770:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonTreeModule)) + 48)) = jsonEachRowid // sqlite3.c:195771:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 4)) = memdbClose // sqlite3.c:49243:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 8)) = memdbRead // sqlite3.c:49244:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 12)) = memdbWrite // sqlite3.c:49245:3: + *(*func(*libc.TLS, uintptr, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 16)) = memdbTruncate // sqlite3.c:49246:3: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 20)) = memdbSync // sqlite3.c:49247:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 24)) = memdbFileSize // sqlite3.c:49248:3: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 28)) = memdbLock // sqlite3.c:49249:3: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 32)) = memdbLock // sqlite3.c:49250:3: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 40)) = memdbFileControl // sqlite3.c:49252:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 48)) = memdbDeviceCharacteristics // sqlite3.c:49254:3: + *(*func(*libc.TLS, uintptr, Sqlite3_int64, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 68)) = memdbFetch // sqlite3.c:49259:3: + *(*func(*libc.TLS, uintptr, Sqlite3_int64, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 72)) = memdbUnfetch // sqlite3.c:49260:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_vfs)) + 24)) = memdbOpen // sqlite3.c:49223:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_vfs)) + 32)) = memdbAccess // sqlite3.c:49225:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_vfs)) + 36)) = memdbFullPathname // sqlite3.c:49226:3: + *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_vfs)) + 40)) = memdbDlOpen // sqlite3.c:49227:3: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_vfs)) + 44)) = memdbDlError // sqlite3.c:49228:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_vfs)) + 48)) = memdbDlSym // sqlite3.c:49229:3: + *(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_vfs)) + 52)) = memdbDlClose // sqlite3.c:49230:3: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_vfs)) + 56)) = memdbRandomness // sqlite3.c:49231:3: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_vfs)) + 60)) = memdbSleep // sqlite3.c:49232:3: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_vfs)) + 68)) = memdbGetLastError // sqlite3.c:49234:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_vfs)) + 72)) = memdbCurrentTimeInt64 // sqlite3.c:49235:3: + *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoFinder)) + 0)) = nolockIoFinderImpl // sqlite3.c:40198:1: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 4)) = nolockClose // sqlite3.c:40198:1: + *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 8)) = unixRead // sqlite3.c:40198:1: + *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 12)) = unixWrite // sqlite3.c:40198:1: + *(*func(*libc.TLS, uintptr, I64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 16)) = unixTruncate // sqlite3.c:40198:1: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 20)) = unixSync // sqlite3.c:40198:1: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 24)) = unixFileSize // sqlite3.c:40198:1: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 28)) = nolockLock // sqlite3.c:40198:1: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 32)) = nolockUnlock // sqlite3.c:40198:1: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 36)) = nolockCheckReservedLock // sqlite3.c:40198:1: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 40)) = unixFileControl // sqlite3.c:40198:1: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 44)) = unixSectorSize // sqlite3.c:40198:1: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 48)) = unixDeviceCharacteristics // sqlite3.c:40198:1: + *(*func(*libc.TLS, uintptr, int32, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 56)) = unixShmLock // sqlite3.c:40198:1: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 60)) = unixShmBarrier // sqlite3.c:40198:1: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 64)) = unixShmUnmap // sqlite3.c:40198:1: + *(*func(*libc.TLS, uintptr, I64, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 68)) = unixFetch // sqlite3.c:40198:1: + *(*func(*libc.TLS, uintptr, I64, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 72)) = unixUnfetch // sqlite3.c:40198:1: + *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoFinder)) + 0)) = posixIoFinderImpl // sqlite3.c:40188:1: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 4)) = unixClose // sqlite3.c:40188:1: + *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 8)) = unixRead // sqlite3.c:40188:1: + *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 12)) = unixWrite // sqlite3.c:40188:1: + *(*func(*libc.TLS, uintptr, I64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 16)) = unixTruncate // sqlite3.c:40188:1: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 20)) = unixSync // sqlite3.c:40188:1: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 24)) = unixFileSize // sqlite3.c:40188:1: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 28)) = unixLock // sqlite3.c:40188:1: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 32)) = unixUnlock // sqlite3.c:40188:1: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 36)) = unixCheckReservedLock // sqlite3.c:40188:1: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 40)) = unixFileControl // sqlite3.c:40188:1: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 44)) = unixSectorSize // sqlite3.c:40188:1: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 48)) = unixDeviceCharacteristics // sqlite3.c:40188:1: + *(*func(*libc.TLS, uintptr, int32, int32, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 52)) = unixShmMap // sqlite3.c:40188:1: + *(*func(*libc.TLS, uintptr, int32, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 56)) = unixShmLock // sqlite3.c:40188:1: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 60)) = unixShmBarrier // sqlite3.c:40188:1: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 64)) = unixShmUnmap // sqlite3.c:40188:1: + *(*func(*libc.TLS, uintptr, I64, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 68)) = unixFetch // sqlite3.c:40188:1: + *(*func(*libc.TLS, uintptr, I64, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 72)) = unixUnfetch // sqlite3.c:40188:1: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&pragmaVtabModule)) + 8)) = pragmaVtabConnect // sqlite3.c:133119:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&pragmaVtabModule)) + 12)) = pragmaVtabBestIndex // sqlite3.c:133120:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&pragmaVtabModule)) + 16)) = pragmaVtabDisconnect // sqlite3.c:133121:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&pragmaVtabModule)) + 24)) = pragmaVtabOpen // sqlite3.c:133123:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&pragmaVtabModule)) + 28)) = pragmaVtabClose // sqlite3.c:133124:3: + *(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&pragmaVtabModule)) + 32)) = pragmaVtabFilter // sqlite3.c:133125:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&pragmaVtabModule)) + 36)) = pragmaVtabNext // sqlite3.c:133126:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&pragmaVtabModule)) + 40)) = pragmaVtabEof // sqlite3.c:133127:3: + *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&pragmaVtabModule)) + 44)) = pragmaVtabColumn // sqlite3.c:133128:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&pragmaVtabModule)) + 48)) = pragmaVtabRowid // sqlite3.c:133129:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 4)) = rbuVfsClose // sqlite3.c:208688:5: + *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 8)) = rbuVfsRead // sqlite3.c:208689:5: + *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 12)) = rbuVfsWrite // sqlite3.c:208690:5: + *(*func(*libc.TLS, uintptr, Sqlite_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 16)) = rbuVfsTruncate // sqlite3.c:208691:5: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 20)) = rbuVfsSync // sqlite3.c:208692:5: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 24)) = rbuVfsFileSize // sqlite3.c:208693:5: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 28)) = rbuVfsLock // sqlite3.c:208694:5: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 32)) = rbuVfsUnlock // sqlite3.c:208695:5: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 36)) = rbuVfsCheckReservedLock // sqlite3.c:208696:5: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 40)) = rbuVfsFileControl // sqlite3.c:208697:5: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 44)) = rbuVfsSectorSize // sqlite3.c:208698:5: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 48)) = rbuVfsDeviceCharacteristics // sqlite3.c:208699:5: + *(*func(*libc.TLS, uintptr, int32, int32, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 52)) = rbuVfsShmMap // sqlite3.c:208700:5: + *(*func(*libc.TLS, uintptr, int32, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 56)) = rbuVfsShmLock // sqlite3.c:208701:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 60)) = rbuVfsShmBarrier // sqlite3.c:208702:5: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 64)) = rbuVfsShmUnmap // sqlite3.c:208703:5: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 4)) = rtreeCreate // sqlite3.c:199329:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 8)) = rtreeConnect // sqlite3.c:199330:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 12)) = rtreeBestIndex // sqlite3.c:199331:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 16)) = rtreeDisconnect // sqlite3.c:199332:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 20)) = rtreeDestroy // sqlite3.c:199333:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 24)) = rtreeOpen // sqlite3.c:199334:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 28)) = rtreeClose // sqlite3.c:199335:3: + *(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 32)) = rtreeFilter // sqlite3.c:199336:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 36)) = rtreeNext // sqlite3.c:199337:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 40)) = rtreeEof // sqlite3.c:199338:3: + *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 44)) = rtreeColumn // sqlite3.c:199339:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 48)) = rtreeRowid // sqlite3.c:199340:3: + *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 52)) = rtreeUpdate // sqlite3.c:199341:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 56)) = rtreeBeginTransaction // sqlite3.c:199342:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 60)) = rtreeEndTransaction // sqlite3.c:199343:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 64)) = rtreeEndTransaction // sqlite3.c:199344:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 68)) = rtreeEndTransaction // sqlite3.c:199345:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 76)) = rtreeRename // sqlite3.c:199347:3: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 80)) = rtreeSavepoint // sqlite3.c:199348:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 92)) = rtreeShadowName // sqlite3.c:199351:3: + *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 4)) = fts5ApiUserData // sqlite3.c:233916:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 8)) = fts5ApiColumnCount // sqlite3.c:233917:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 12)) = fts5ApiRowCount // sqlite3.c:233918:3: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 16)) = fts5ApiColumnTotalSize // sqlite3.c:233919:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 20)) = fts5ApiTokenize // sqlite3.c:233920:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 24)) = fts5ApiPhraseCount // sqlite3.c:233921:3: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 28)) = fts5ApiPhraseSize // sqlite3.c:233922:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 32)) = fts5ApiInstCount // sqlite3.c:233923:3: + *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 36)) = fts5ApiInst // sqlite3.c:233924:3: + *(*func(*libc.TLS, uintptr) Sqlite3_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 40)) = fts5ApiRowid // sqlite3.c:233925:3: + *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 44)) = fts5ApiColumnText // sqlite3.c:233926:3: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 48)) = fts5ApiColumnSize // sqlite3.c:233927:3: + *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 52)) = fts5ApiQueryPhrase // sqlite3.c:233928:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 56)) = fts5ApiSetAuxdata // sqlite3.c:233929:3: + *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 60)) = fts5ApiGetAuxdata // sqlite3.c:233930:3: + *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 64)) = fts5ApiPhraseFirst // sqlite3.c:233931:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 68)) = fts5ApiPhraseNext // sqlite3.c:233932:3: + *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 72)) = fts5ApiPhraseFirstColumn // sqlite3.c:233933:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 76)) = fts5ApiPhraseNextColumn // sqlite3.c:233934:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sMemJournalMethods)) + 4)) = memjrnlClose // sqlite3.c:100036:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sMemJournalMethods)) + 8)) = memjrnlRead // sqlite3.c:100037:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sMemJournalMethods)) + 12)) = memjrnlWrite // sqlite3.c:100038:3: + *(*func(*libc.TLS, uintptr, Sqlite_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sMemJournalMethods)) + 16)) = memjrnlTruncate // sqlite3.c:100039:3: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sMemJournalMethods)) + 20)) = memjrnlSync // sqlite3.c:100040:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sMemJournalMethods)) + 24)) = memjrnlFileSize // sqlite3.c:100041:3: *(*func(*libc.TLS) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sMutex)) + 0)) = noopMutexInit // sqlite3.c:27532:5: *(*func(*libc.TLS) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sMutex)) + 4)) = noopMutexEnd // sqlite3.c:27533:5: *(*func(*libc.TLS, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sMutex)) + 8)) = noopMutexAlloc // sqlite3.c:27534:5: @@ -194903,288 +194934,288 @@ func init() { *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sMutex)) + 16)) = noopMutexEnter // sqlite3.c:27536:5: *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sMutex)) + 20)) = noopMutexTry // sqlite3.c:27537:5: *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sMutex)) + 24)) = noopMutexLeave // sqlite3.c:27538:5: - *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 0)) = Xsqlite3_aggregate_context // sqlite3.c:129019:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 4)) = Xsqlite3_aggregate_count // sqlite3.c:129021:3: - *(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 8)) = Xsqlite3_bind_blob // sqlite3.c:129025:3: - *(*func(*libc.TLS, uintptr, int32, float64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 12)) = Xsqlite3_bind_double // sqlite3.c:129026:3: - *(*func(*libc.TLS, uintptr, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 16)) = Xsqlite3_bind_int // sqlite3.c:129027:3: - *(*func(*libc.TLS, uintptr, int32, Sqlite_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 20)) = Xsqlite3_bind_int64 // sqlite3.c:129028:3: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 24)) = Xsqlite3_bind_null // sqlite3.c:129029:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 28)) = Xsqlite3_bind_parameter_count // sqlite3.c:129030:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 32)) = Xsqlite3_bind_parameter_index // sqlite3.c:129031:3: - *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 36)) = Xsqlite3_bind_parameter_name // sqlite3.c:129032:3: - *(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 40)) = Xsqlite3_bind_text // sqlite3.c:129033:3: - *(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 44)) = Xsqlite3_bind_text16 // sqlite3.c:129034:3: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 48)) = Xsqlite3_bind_value // sqlite3.c:129035:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 52)) = Xsqlite3_busy_handler // sqlite3.c:129036:3: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 56)) = Xsqlite3_busy_timeout // sqlite3.c:129037:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 60)) = Xsqlite3_changes // sqlite3.c:129038:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 64)) = Xsqlite3_close // sqlite3.c:129039:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 68)) = Xsqlite3_collation_needed // sqlite3.c:129040:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 72)) = Xsqlite3_collation_needed16 // sqlite3.c:129041:3: - *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 76)) = Xsqlite3_column_blob // sqlite3.c:129042:3: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 80)) = Xsqlite3_column_bytes // sqlite3.c:129043:3: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 84)) = Xsqlite3_column_bytes16 // sqlite3.c:129044:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 88)) = Xsqlite3_column_count // sqlite3.c:129045:3: - *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 92)) = Xsqlite3_column_database_name // sqlite3.c:129046:3: - *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 96)) = Xsqlite3_column_database_name16 // sqlite3.c:129047:3: - *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 100)) = Xsqlite3_column_decltype // sqlite3.c:129048:3: - *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 104)) = Xsqlite3_column_decltype16 // sqlite3.c:129049:3: - *(*func(*libc.TLS, uintptr, int32) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 108)) = Xsqlite3_column_double // sqlite3.c:129050:3: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 112)) = Xsqlite3_column_int // sqlite3.c:129051:3: - *(*func(*libc.TLS, uintptr, int32) Sqlite_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 116)) = Xsqlite3_column_int64 // sqlite3.c:129052:3: - *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 120)) = Xsqlite3_column_name // sqlite3.c:129053:3: - *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 124)) = Xsqlite3_column_name16 // sqlite3.c:129054:3: - *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 128)) = Xsqlite3_column_origin_name // sqlite3.c:129055:3: - *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 132)) = Xsqlite3_column_origin_name16 // sqlite3.c:129056:3: - *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 136)) = Xsqlite3_column_table_name // sqlite3.c:129057:3: - *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 140)) = Xsqlite3_column_table_name16 // sqlite3.c:129058:3: - *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 144)) = Xsqlite3_column_text // sqlite3.c:129059:3: - *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 148)) = Xsqlite3_column_text16 // sqlite3.c:129060:3: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 152)) = Xsqlite3_column_type // sqlite3.c:129061:3: - *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 156)) = Xsqlite3_column_value // sqlite3.c:129062:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 160)) = Xsqlite3_commit_hook // sqlite3.c:129063:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 164)) = Xsqlite3_complete // sqlite3.c:129064:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 168)) = Xsqlite3_complete16 // sqlite3.c:129065:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 172)) = Xsqlite3_create_collation // sqlite3.c:129066:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 176)) = Xsqlite3_create_collation16 // sqlite3.c:129067:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, int32, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 180)) = Xsqlite3_create_function // sqlite3.c:129068:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, int32, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 184)) = Xsqlite3_create_function16 // sqlite3.c:129069:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 188)) = Xsqlite3_create_module // sqlite3.c:129070:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 192)) = Xsqlite3_data_count // sqlite3.c:129071:3: - *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 196)) = Xsqlite3_db_handle // sqlite3.c:129072:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 200)) = Xsqlite3_declare_vtab // sqlite3.c:129073:3: - *(*func(*libc.TLS, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 204)) = Xsqlite3_enable_shared_cache // sqlite3.c:129074:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 208)) = Xsqlite3_errcode // sqlite3.c:129075:3: - *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 212)) = Xsqlite3_errmsg // sqlite3.c:129076:3: - *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 216)) = Xsqlite3_errmsg16 // sqlite3.c:129077:3: - *(*func(*libc.TLS, uintptr, uintptr, Sqlite3_callback, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 220)) = Xsqlite3_exec // sqlite3.c:129078:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 224)) = Xsqlite3_expired // sqlite3.c:129080:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 228)) = Xsqlite3_finalize // sqlite3.c:129084:3: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 232)) = Xsqlite3_free // sqlite3.c:129085:3: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 236)) = Xsqlite3_free_table // sqlite3.c:129086:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 240)) = Xsqlite3_get_autocommit // sqlite3.c:129087:3: - *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 244)) = Xsqlite3_get_auxdata // sqlite3.c:129088:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 248)) = Xsqlite3_get_table // sqlite3.c:129089:3: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 256)) = Xsqlite3_interrupt // sqlite3.c:129091:3: - *(*func(*libc.TLS, uintptr) Sqlite3_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 260)) = Xsqlite3_last_insert_rowid // sqlite3.c:129092:3: - *(*func(*libc.TLS) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 264)) = Xsqlite3_libversion // sqlite3.c:129093:3: - *(*func(*libc.TLS) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 268)) = Xsqlite3_libversion_number // sqlite3.c:129094:3: - *(*func(*libc.TLS, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 272)) = Xsqlite3_malloc // sqlite3.c:129095:3: - *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 276)) = Xsqlite3_mprintf // sqlite3.c:129096:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 280)) = Xsqlite3_open // sqlite3.c:129097:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 284)) = Xsqlite3_open16 // sqlite3.c:129098:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 288)) = Xsqlite3_prepare // sqlite3.c:129099:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 292)) = Xsqlite3_prepare16 // sqlite3.c:129100:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 296)) = Xsqlite3_profile // sqlite3.c:129101:3: - *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 300)) = Xsqlite3_progress_handler // sqlite3.c:129102:3: - *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 304)) = Xsqlite3_realloc // sqlite3.c:129103:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 308)) = Xsqlite3_reset // sqlite3.c:129104:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 312)) = Xsqlite3_result_blob // sqlite3.c:129105:3: - *(*func(*libc.TLS, uintptr, float64))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 316)) = Xsqlite3_result_double // sqlite3.c:129106:3: - *(*func(*libc.TLS, uintptr, uintptr, int32))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 320)) = Xsqlite3_result_error // sqlite3.c:129107:3: - *(*func(*libc.TLS, uintptr, uintptr, int32))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 324)) = Xsqlite3_result_error16 // sqlite3.c:129108:3: - *(*func(*libc.TLS, uintptr, int32))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 328)) = Xsqlite3_result_int // sqlite3.c:129109:3: - *(*func(*libc.TLS, uintptr, I64))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 332)) = Xsqlite3_result_int64 // sqlite3.c:129110:3: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 336)) = Xsqlite3_result_null // sqlite3.c:129111:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 340)) = Xsqlite3_result_text // sqlite3.c:129112:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 344)) = Xsqlite3_result_text16 // sqlite3.c:129113:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 348)) = Xsqlite3_result_text16be // sqlite3.c:129114:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 352)) = Xsqlite3_result_text16le // sqlite3.c:129115:3: - *(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 356)) = Xsqlite3_result_value // sqlite3.c:129116:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 360)) = Xsqlite3_rollback_hook // sqlite3.c:129117:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 364)) = Xsqlite3_set_authorizer // sqlite3.c:129118:3: - *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 368)) = Xsqlite3_set_auxdata // sqlite3.c:129119:3: - *(*func(*libc.TLS, int32, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 372)) = Xsqlite3_snprintf // sqlite3.c:129120:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 376)) = Xsqlite3_step // sqlite3.c:129121:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr, uintptr, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 380)) = Xsqlite3_table_column_metadata // sqlite3.c:129122:3: - *(*func(*libc.TLS))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 384)) = Xsqlite3_thread_cleanup // sqlite3.c:129124:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 388)) = Xsqlite3_total_changes // sqlite3.c:129128:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 392)) = Xsqlite3_trace // sqlite3.c:129129:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 396)) = Xsqlite3_transfer_bindings // sqlite3.c:129131:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 400)) = Xsqlite3_update_hook // sqlite3.c:129135:3: - *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 404)) = Xsqlite3_user_data // sqlite3.c:129136:3: - *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 408)) = Xsqlite3_value_blob // sqlite3.c:129137:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 412)) = Xsqlite3_value_bytes // sqlite3.c:129138:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 416)) = Xsqlite3_value_bytes16 // sqlite3.c:129139:3: - *(*func(*libc.TLS, uintptr) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 420)) = Xsqlite3_value_double // sqlite3.c:129140:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 424)) = Xsqlite3_value_int // sqlite3.c:129141:3: - *(*func(*libc.TLS, uintptr) Sqlite_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 428)) = Xsqlite3_value_int64 // sqlite3.c:129142:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 432)) = Xsqlite3_value_numeric_type // sqlite3.c:129143:3: - *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 436)) = Xsqlite3_value_text // sqlite3.c:129144:3: - *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 440)) = Xsqlite3_value_text16 // sqlite3.c:129145:3: - *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 444)) = Xsqlite3_value_text16be // sqlite3.c:129146:3: - *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 448)) = Xsqlite3_value_text16le // sqlite3.c:129147:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 452)) = Xsqlite3_value_type // sqlite3.c:129148:3: - *(*func(*libc.TLS, uintptr, Va_list) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 456)) = Xsqlite3_vmprintf // sqlite3.c:129149:3: - *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 460)) = Xsqlite3_overload_function // sqlite3.c:129158:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 464)) = Xsqlite3_prepare_v2 // sqlite3.c:129163:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 468)) = Xsqlite3_prepare16_v2 // sqlite3.c:129164:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 472)) = Xsqlite3_clear_bindings // sqlite3.c:129165:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 476)) = Xsqlite3_create_module_v2 // sqlite3.c:129170:3: - *(*func(*libc.TLS, uintptr, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 480)) = Xsqlite3_bind_zeroblob // sqlite3.c:129175:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 484)) = Xsqlite3_blob_bytes // sqlite3.c:129176:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 488)) = Xsqlite3_blob_close // sqlite3.c:129177:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr, Sqlite_int64, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 492)) = Xsqlite3_blob_open // sqlite3.c:129178:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 496)) = Xsqlite3_blob_read // sqlite3.c:129179:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 500)) = Xsqlite3_blob_write // sqlite3.c:129180:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 504)) = Xsqlite3_create_collation_v2 // sqlite3.c:129181:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 508)) = Xsqlite3_file_control // sqlite3.c:129182:3: - *(*func(*libc.TLS, int32) Sqlite3_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 512)) = Xsqlite3_memory_highwater // sqlite3.c:129183:3: - *(*func(*libc.TLS) Sqlite3_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 516)) = Xsqlite3_memory_used // sqlite3.c:129184:3: - *(*func(*libc.TLS, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 520)) = Xsqlite3_mutex_alloc // sqlite3.c:129192:3: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 524)) = Xsqlite3_mutex_enter // sqlite3.c:129193:3: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 528)) = Xsqlite3_mutex_free // sqlite3.c:129194:3: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 532)) = Xsqlite3_mutex_leave // sqlite3.c:129195:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 536)) = Xsqlite3_mutex_try // sqlite3.c:129196:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 540)) = Xsqlite3_open_v2 // sqlite3.c:129198:3: - *(*func(*libc.TLS, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 544)) = Xsqlite3_release_memory // sqlite3.c:129199:3: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 548)) = Xsqlite3_result_error_nomem // sqlite3.c:129200:3: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 552)) = Xsqlite3_result_error_toobig // sqlite3.c:129201:3: - *(*func(*libc.TLS, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 556)) = Xsqlite3_sleep // sqlite3.c:129202:3: - *(*func(*libc.TLS, int32))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 560)) = Xsqlite3_soft_heap_limit // sqlite3.c:129203:3: - *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 564)) = Xsqlite3_vfs_find // sqlite3.c:129204:3: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 568)) = Xsqlite3_vfs_register // sqlite3.c:129205:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 572)) = Xsqlite3_vfs_unregister // sqlite3.c:129206:3: - *(*func(*libc.TLS) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 576)) = Xsqlite3_threadsafe // sqlite3.c:129211:3: - *(*func(*libc.TLS, uintptr, int32))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 580)) = Xsqlite3_result_zeroblob // sqlite3.c:129212:3: - *(*func(*libc.TLS, uintptr, int32))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 584)) = Xsqlite3_result_error_code // sqlite3.c:129213:3: - *(*func(*libc.TLS, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 588)) = Xsqlite3_test_control // sqlite3.c:129214:3: - *(*func(*libc.TLS, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 592)) = Xsqlite3_randomness // sqlite3.c:129215:3: - *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 596)) = Xsqlite3_context_db_handle // sqlite3.c:129216:3: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 600)) = Xsqlite3_extended_result_codes // sqlite3.c:129221:3: - *(*func(*libc.TLS, uintptr, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 604)) = Xsqlite3_limit // sqlite3.c:129222:3: - *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 608)) = Xsqlite3_next_stmt // sqlite3.c:129223:3: - *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 612)) = Xsqlite3_sql // sqlite3.c:129224:3: - *(*func(*libc.TLS, int32, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 616)) = Xsqlite3_status // sqlite3.c:129225:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 620)) = Xsqlite3_backup_finish // sqlite3.c:129230:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 624)) = Xsqlite3_backup_init // sqlite3.c:129231:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 628)) = Xsqlite3_backup_pagecount // sqlite3.c:129232:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 632)) = Xsqlite3_backup_remaining // sqlite3.c:129233:3: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 636)) = Xsqlite3_backup_step // sqlite3.c:129234:3: - *(*func(*libc.TLS, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 640)) = Xsqlite3_compileoption_get // sqlite3.c:129236:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 644)) = Xsqlite3_compileoption_used // sqlite3.c:129237:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, int32, uintptr, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 648)) = Xsqlite3_create_function_v2 // sqlite3.c:129242:3: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 652)) = Xsqlite3_db_config // sqlite3.c:129243:3: - *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 656)) = Xsqlite3_db_mutex // sqlite3.c:129244:3: - *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 660)) = Xsqlite3_db_status // sqlite3.c:129245:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 664)) = Xsqlite3_extended_errcode // sqlite3.c:129246:3: - *(*func(*libc.TLS, int32, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 668)) = Xsqlite3_log // sqlite3.c:129247:3: - *(*func(*libc.TLS, Sqlite3_int64) Sqlite3_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 672)) = Xsqlite3_soft_heap_limit64 // sqlite3.c:129248:3: - *(*func(*libc.TLS) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 676)) = Xsqlite3_sourceid // sqlite3.c:129249:3: - *(*func(*libc.TLS, uintptr, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 680)) = Xsqlite3_stmt_status // sqlite3.c:129250:3: - *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 684)) = Xsqlite3_strnicmp // sqlite3.c:129251:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 688)) = Xsqlite3_unlock_notify // sqlite3.c:129253:3: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 692)) = Xsqlite3_wal_autocheckpoint // sqlite3.c:129258:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 696)) = Xsqlite3_wal_checkpoint // sqlite3.c:129259:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 700)) = Xsqlite3_wal_hook // sqlite3.c:129260:3: - *(*func(*libc.TLS, uintptr, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 704)) = Xsqlite3_blob_reopen // sqlite3.c:129266:3: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 708)) = Xsqlite3_vtab_config // sqlite3.c:129267:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 712)) = Xsqlite3_vtab_on_conflict // sqlite3.c:129268:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 716)) = Xsqlite3_close_v2 // sqlite3.c:129269:3: - *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 720)) = Xsqlite3_db_filename // sqlite3.c:129270:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 724)) = Xsqlite3_db_readonly // sqlite3.c:129271:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 728)) = Xsqlite3_db_release_memory // sqlite3.c:129272:3: - *(*func(*libc.TLS, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 732)) = Xsqlite3_errstr // sqlite3.c:129273:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 736)) = Xsqlite3_stmt_busy // sqlite3.c:129274:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 740)) = Xsqlite3_stmt_readonly // sqlite3.c:129275:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 744)) = Xsqlite3_stricmp // sqlite3.c:129276:3: - *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 748)) = Xsqlite3_uri_boolean // sqlite3.c:129277:3: - *(*func(*libc.TLS, uintptr, uintptr, Sqlite3_int64) Sqlite3_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 752)) = Xsqlite3_uri_int64 // sqlite3.c:129278:3: - *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 756)) = Xsqlite3_uri_parameter // sqlite3.c:129279:3: - *(*func(*libc.TLS, int32, uintptr, uintptr, Va_list) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 760)) = Xsqlite3_vsnprintf // sqlite3.c:129280:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 764)) = Xsqlite3_wal_checkpoint_v2 // sqlite3.c:129281:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 768)) = Xsqlite3_auto_extension // sqlite3.c:129283:3: - *(*func(*libc.TLS, uintptr, int32, uintptr, Sqlite3_uint64, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 772)) = Xsqlite3_bind_blob64 // sqlite3.c:129284:3: - *(*func(*libc.TLS, uintptr, int32, uintptr, Sqlite3_uint64, uintptr, uint8) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 776)) = Xsqlite3_bind_text64 // sqlite3.c:129285:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 780)) = Xsqlite3_cancel_auto_extension // sqlite3.c:129286:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 784)) = Xsqlite3_load_extension // sqlite3.c:129287:3: - *(*func(*libc.TLS, Sqlite3_uint64) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 788)) = Xsqlite3_malloc64 // sqlite3.c:129288:3: - *(*func(*libc.TLS, uintptr) Sqlite3_uint64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 792)) = Xsqlite3_msize // sqlite3.c:129289:3: - *(*func(*libc.TLS, uintptr, Sqlite3_uint64) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 796)) = Xsqlite3_realloc64 // sqlite3.c:129290:3: - *(*func(*libc.TLS))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 800)) = Xsqlite3_reset_auto_extension // sqlite3.c:129291:3: - *(*func(*libc.TLS, uintptr, uintptr, Sqlite3_uint64, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 804)) = Xsqlite3_result_blob64 // sqlite3.c:129292:3: - *(*func(*libc.TLS, uintptr, uintptr, Sqlite3_uint64, uintptr, uint8))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 808)) = Xsqlite3_result_text64 // sqlite3.c:129293:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 812)) = Xsqlite3_strglob // sqlite3.c:129294:3: + *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 0)) = Xsqlite3_aggregate_context // sqlite3.c:129032:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 4)) = Xsqlite3_aggregate_count // sqlite3.c:129034:3: + *(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 8)) = Xsqlite3_bind_blob // sqlite3.c:129038:3: + *(*func(*libc.TLS, uintptr, int32, float64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 12)) = Xsqlite3_bind_double // sqlite3.c:129039:3: + *(*func(*libc.TLS, uintptr, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 16)) = Xsqlite3_bind_int // sqlite3.c:129040:3: + *(*func(*libc.TLS, uintptr, int32, Sqlite_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 20)) = Xsqlite3_bind_int64 // sqlite3.c:129041:3: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 24)) = Xsqlite3_bind_null // sqlite3.c:129042:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 28)) = Xsqlite3_bind_parameter_count // sqlite3.c:129043:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 32)) = Xsqlite3_bind_parameter_index // sqlite3.c:129044:3: + *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 36)) = Xsqlite3_bind_parameter_name // sqlite3.c:129045:3: + *(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 40)) = Xsqlite3_bind_text // sqlite3.c:129046:3: + *(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 44)) = Xsqlite3_bind_text16 // sqlite3.c:129047:3: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 48)) = Xsqlite3_bind_value // sqlite3.c:129048:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 52)) = Xsqlite3_busy_handler // sqlite3.c:129049:3: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 56)) = Xsqlite3_busy_timeout // sqlite3.c:129050:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 60)) = Xsqlite3_changes // sqlite3.c:129051:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 64)) = Xsqlite3_close // sqlite3.c:129052:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 68)) = Xsqlite3_collation_needed // sqlite3.c:129053:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 72)) = Xsqlite3_collation_needed16 // sqlite3.c:129054:3: + *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 76)) = Xsqlite3_column_blob // sqlite3.c:129055:3: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 80)) = Xsqlite3_column_bytes // sqlite3.c:129056:3: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 84)) = Xsqlite3_column_bytes16 // sqlite3.c:129057:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 88)) = Xsqlite3_column_count // sqlite3.c:129058:3: + *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 92)) = Xsqlite3_column_database_name // sqlite3.c:129059:3: + *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 96)) = Xsqlite3_column_database_name16 // sqlite3.c:129060:3: + *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 100)) = Xsqlite3_column_decltype // sqlite3.c:129061:3: + *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 104)) = Xsqlite3_column_decltype16 // sqlite3.c:129062:3: + *(*func(*libc.TLS, uintptr, int32) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 108)) = Xsqlite3_column_double // sqlite3.c:129063:3: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 112)) = Xsqlite3_column_int // sqlite3.c:129064:3: + *(*func(*libc.TLS, uintptr, int32) Sqlite_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 116)) = Xsqlite3_column_int64 // sqlite3.c:129065:3: + *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 120)) = Xsqlite3_column_name // sqlite3.c:129066:3: + *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 124)) = Xsqlite3_column_name16 // sqlite3.c:129067:3: + *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 128)) = Xsqlite3_column_origin_name // sqlite3.c:129068:3: + *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 132)) = Xsqlite3_column_origin_name16 // sqlite3.c:129069:3: + *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 136)) = Xsqlite3_column_table_name // sqlite3.c:129070:3: + *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 140)) = Xsqlite3_column_table_name16 // sqlite3.c:129071:3: + *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 144)) = Xsqlite3_column_text // sqlite3.c:129072:3: + *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 148)) = Xsqlite3_column_text16 // sqlite3.c:129073:3: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 152)) = Xsqlite3_column_type // sqlite3.c:129074:3: + *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 156)) = Xsqlite3_column_value // sqlite3.c:129075:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 160)) = Xsqlite3_commit_hook // sqlite3.c:129076:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 164)) = Xsqlite3_complete // sqlite3.c:129077:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 168)) = Xsqlite3_complete16 // sqlite3.c:129078:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 172)) = Xsqlite3_create_collation // sqlite3.c:129079:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 176)) = Xsqlite3_create_collation16 // sqlite3.c:129080:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, int32, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 180)) = Xsqlite3_create_function // sqlite3.c:129081:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, int32, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 184)) = Xsqlite3_create_function16 // sqlite3.c:129082:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 188)) = Xsqlite3_create_module // sqlite3.c:129083:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 192)) = Xsqlite3_data_count // sqlite3.c:129084:3: + *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 196)) = Xsqlite3_db_handle // sqlite3.c:129085:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 200)) = Xsqlite3_declare_vtab // sqlite3.c:129086:3: + *(*func(*libc.TLS, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 204)) = Xsqlite3_enable_shared_cache // sqlite3.c:129087:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 208)) = Xsqlite3_errcode // sqlite3.c:129088:3: + *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 212)) = Xsqlite3_errmsg // sqlite3.c:129089:3: + *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 216)) = Xsqlite3_errmsg16 // sqlite3.c:129090:3: + *(*func(*libc.TLS, uintptr, uintptr, Sqlite3_callback, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 220)) = Xsqlite3_exec // sqlite3.c:129091:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 224)) = Xsqlite3_expired // sqlite3.c:129093:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 228)) = Xsqlite3_finalize // sqlite3.c:129097:3: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 232)) = Xsqlite3_free // sqlite3.c:129098:3: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 236)) = Xsqlite3_free_table // sqlite3.c:129099:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 240)) = Xsqlite3_get_autocommit // sqlite3.c:129100:3: + *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 244)) = Xsqlite3_get_auxdata // sqlite3.c:129101:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 248)) = Xsqlite3_get_table // sqlite3.c:129102:3: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 256)) = Xsqlite3_interrupt // sqlite3.c:129104:3: + *(*func(*libc.TLS, uintptr) Sqlite3_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 260)) = Xsqlite3_last_insert_rowid // sqlite3.c:129105:3: + *(*func(*libc.TLS) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 264)) = Xsqlite3_libversion // sqlite3.c:129106:3: + *(*func(*libc.TLS) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 268)) = Xsqlite3_libversion_number // sqlite3.c:129107:3: + *(*func(*libc.TLS, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 272)) = Xsqlite3_malloc // sqlite3.c:129108:3: + *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 276)) = Xsqlite3_mprintf // sqlite3.c:129109:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 280)) = Xsqlite3_open // sqlite3.c:129110:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 284)) = Xsqlite3_open16 // sqlite3.c:129111:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 288)) = Xsqlite3_prepare // sqlite3.c:129112:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 292)) = Xsqlite3_prepare16 // sqlite3.c:129113:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 296)) = Xsqlite3_profile // sqlite3.c:129114:3: + *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 300)) = Xsqlite3_progress_handler // sqlite3.c:129115:3: + *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 304)) = Xsqlite3_realloc // sqlite3.c:129116:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 308)) = Xsqlite3_reset // sqlite3.c:129117:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 312)) = Xsqlite3_result_blob // sqlite3.c:129118:3: + *(*func(*libc.TLS, uintptr, float64))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 316)) = Xsqlite3_result_double // sqlite3.c:129119:3: + *(*func(*libc.TLS, uintptr, uintptr, int32))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 320)) = Xsqlite3_result_error // sqlite3.c:129120:3: + *(*func(*libc.TLS, uintptr, uintptr, int32))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 324)) = Xsqlite3_result_error16 // sqlite3.c:129121:3: + *(*func(*libc.TLS, uintptr, int32))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 328)) = Xsqlite3_result_int // sqlite3.c:129122:3: + *(*func(*libc.TLS, uintptr, I64))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 332)) = Xsqlite3_result_int64 // sqlite3.c:129123:3: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 336)) = Xsqlite3_result_null // sqlite3.c:129124:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 340)) = Xsqlite3_result_text // sqlite3.c:129125:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 344)) = Xsqlite3_result_text16 // sqlite3.c:129126:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 348)) = Xsqlite3_result_text16be // sqlite3.c:129127:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 352)) = Xsqlite3_result_text16le // sqlite3.c:129128:3: + *(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 356)) = Xsqlite3_result_value // sqlite3.c:129129:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 360)) = Xsqlite3_rollback_hook // sqlite3.c:129130:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 364)) = Xsqlite3_set_authorizer // sqlite3.c:129131:3: + *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 368)) = Xsqlite3_set_auxdata // sqlite3.c:129132:3: + *(*func(*libc.TLS, int32, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 372)) = Xsqlite3_snprintf // sqlite3.c:129133:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 376)) = Xsqlite3_step // sqlite3.c:129134:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr, uintptr, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 380)) = Xsqlite3_table_column_metadata // sqlite3.c:129135:3: + *(*func(*libc.TLS))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 384)) = Xsqlite3_thread_cleanup // sqlite3.c:129137:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 388)) = Xsqlite3_total_changes // sqlite3.c:129141:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 392)) = Xsqlite3_trace // sqlite3.c:129142:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 396)) = Xsqlite3_transfer_bindings // sqlite3.c:129144:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 400)) = Xsqlite3_update_hook // sqlite3.c:129148:3: + *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 404)) = Xsqlite3_user_data // sqlite3.c:129149:3: + *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 408)) = Xsqlite3_value_blob // sqlite3.c:129150:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 412)) = Xsqlite3_value_bytes // sqlite3.c:129151:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 416)) = Xsqlite3_value_bytes16 // sqlite3.c:129152:3: + *(*func(*libc.TLS, uintptr) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 420)) = Xsqlite3_value_double // sqlite3.c:129153:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 424)) = Xsqlite3_value_int // sqlite3.c:129154:3: + *(*func(*libc.TLS, uintptr) Sqlite_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 428)) = Xsqlite3_value_int64 // sqlite3.c:129155:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 432)) = Xsqlite3_value_numeric_type // sqlite3.c:129156:3: + *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 436)) = Xsqlite3_value_text // sqlite3.c:129157:3: + *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 440)) = Xsqlite3_value_text16 // sqlite3.c:129158:3: + *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 444)) = Xsqlite3_value_text16be // sqlite3.c:129159:3: + *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 448)) = Xsqlite3_value_text16le // sqlite3.c:129160:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 452)) = Xsqlite3_value_type // sqlite3.c:129161:3: + *(*func(*libc.TLS, uintptr, Va_list) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 456)) = Xsqlite3_vmprintf // sqlite3.c:129162:3: + *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 460)) = Xsqlite3_overload_function // sqlite3.c:129171:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 464)) = Xsqlite3_prepare_v2 // sqlite3.c:129176:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 468)) = Xsqlite3_prepare16_v2 // sqlite3.c:129177:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 472)) = Xsqlite3_clear_bindings // sqlite3.c:129178:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 476)) = Xsqlite3_create_module_v2 // sqlite3.c:129183:3: + *(*func(*libc.TLS, uintptr, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 480)) = Xsqlite3_bind_zeroblob // sqlite3.c:129188:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 484)) = Xsqlite3_blob_bytes // sqlite3.c:129189:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 488)) = Xsqlite3_blob_close // sqlite3.c:129190:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr, Sqlite_int64, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 492)) = Xsqlite3_blob_open // sqlite3.c:129191:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 496)) = Xsqlite3_blob_read // sqlite3.c:129192:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 500)) = Xsqlite3_blob_write // sqlite3.c:129193:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 504)) = Xsqlite3_create_collation_v2 // sqlite3.c:129194:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 508)) = Xsqlite3_file_control // sqlite3.c:129195:3: + *(*func(*libc.TLS, int32) Sqlite3_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 512)) = Xsqlite3_memory_highwater // sqlite3.c:129196:3: + *(*func(*libc.TLS) Sqlite3_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 516)) = Xsqlite3_memory_used // sqlite3.c:129197:3: + *(*func(*libc.TLS, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 520)) = Xsqlite3_mutex_alloc // sqlite3.c:129205:3: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 524)) = Xsqlite3_mutex_enter // sqlite3.c:129206:3: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 528)) = Xsqlite3_mutex_free // sqlite3.c:129207:3: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 532)) = Xsqlite3_mutex_leave // sqlite3.c:129208:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 536)) = Xsqlite3_mutex_try // sqlite3.c:129209:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 540)) = Xsqlite3_open_v2 // sqlite3.c:129211:3: + *(*func(*libc.TLS, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 544)) = Xsqlite3_release_memory // sqlite3.c:129212:3: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 548)) = Xsqlite3_result_error_nomem // sqlite3.c:129213:3: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 552)) = Xsqlite3_result_error_toobig // sqlite3.c:129214:3: + *(*func(*libc.TLS, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 556)) = Xsqlite3_sleep // sqlite3.c:129215:3: + *(*func(*libc.TLS, int32))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 560)) = Xsqlite3_soft_heap_limit // sqlite3.c:129216:3: + *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 564)) = Xsqlite3_vfs_find // sqlite3.c:129217:3: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 568)) = Xsqlite3_vfs_register // sqlite3.c:129218:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 572)) = Xsqlite3_vfs_unregister // sqlite3.c:129219:3: + *(*func(*libc.TLS) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 576)) = Xsqlite3_threadsafe // sqlite3.c:129224:3: + *(*func(*libc.TLS, uintptr, int32))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 580)) = Xsqlite3_result_zeroblob // sqlite3.c:129225:3: + *(*func(*libc.TLS, uintptr, int32))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 584)) = Xsqlite3_result_error_code // sqlite3.c:129226:3: + *(*func(*libc.TLS, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 588)) = Xsqlite3_test_control // sqlite3.c:129227:3: + *(*func(*libc.TLS, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 592)) = Xsqlite3_randomness // sqlite3.c:129228:3: + *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 596)) = Xsqlite3_context_db_handle // sqlite3.c:129229:3: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 600)) = Xsqlite3_extended_result_codes // sqlite3.c:129234:3: + *(*func(*libc.TLS, uintptr, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 604)) = Xsqlite3_limit // sqlite3.c:129235:3: + *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 608)) = Xsqlite3_next_stmt // sqlite3.c:129236:3: + *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 612)) = Xsqlite3_sql // sqlite3.c:129237:3: + *(*func(*libc.TLS, int32, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 616)) = Xsqlite3_status // sqlite3.c:129238:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 620)) = Xsqlite3_backup_finish // sqlite3.c:129243:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 624)) = Xsqlite3_backup_init // sqlite3.c:129244:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 628)) = Xsqlite3_backup_pagecount // sqlite3.c:129245:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 632)) = Xsqlite3_backup_remaining // sqlite3.c:129246:3: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 636)) = Xsqlite3_backup_step // sqlite3.c:129247:3: + *(*func(*libc.TLS, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 640)) = Xsqlite3_compileoption_get // sqlite3.c:129249:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 644)) = Xsqlite3_compileoption_used // sqlite3.c:129250:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, int32, uintptr, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 648)) = Xsqlite3_create_function_v2 // sqlite3.c:129255:3: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 652)) = Xsqlite3_db_config // sqlite3.c:129256:3: + *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 656)) = Xsqlite3_db_mutex // sqlite3.c:129257:3: + *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 660)) = Xsqlite3_db_status // sqlite3.c:129258:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 664)) = Xsqlite3_extended_errcode // sqlite3.c:129259:3: + *(*func(*libc.TLS, int32, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 668)) = Xsqlite3_log // sqlite3.c:129260:3: + *(*func(*libc.TLS, Sqlite3_int64) Sqlite3_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 672)) = Xsqlite3_soft_heap_limit64 // sqlite3.c:129261:3: + *(*func(*libc.TLS) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 676)) = Xsqlite3_sourceid // sqlite3.c:129262:3: + *(*func(*libc.TLS, uintptr, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 680)) = Xsqlite3_stmt_status // sqlite3.c:129263:3: + *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 684)) = Xsqlite3_strnicmp // sqlite3.c:129264:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 688)) = Xsqlite3_unlock_notify // sqlite3.c:129266:3: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 692)) = Xsqlite3_wal_autocheckpoint // sqlite3.c:129271:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 696)) = Xsqlite3_wal_checkpoint // sqlite3.c:129272:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 700)) = Xsqlite3_wal_hook // sqlite3.c:129273:3: + *(*func(*libc.TLS, uintptr, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 704)) = Xsqlite3_blob_reopen // sqlite3.c:129279:3: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 708)) = Xsqlite3_vtab_config // sqlite3.c:129280:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 712)) = Xsqlite3_vtab_on_conflict // sqlite3.c:129281:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 716)) = Xsqlite3_close_v2 // sqlite3.c:129282:3: + *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 720)) = Xsqlite3_db_filename // sqlite3.c:129283:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 724)) = Xsqlite3_db_readonly // sqlite3.c:129284:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 728)) = Xsqlite3_db_release_memory // sqlite3.c:129285:3: + *(*func(*libc.TLS, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 732)) = Xsqlite3_errstr // sqlite3.c:129286:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 736)) = Xsqlite3_stmt_busy // sqlite3.c:129287:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 740)) = Xsqlite3_stmt_readonly // sqlite3.c:129288:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 744)) = Xsqlite3_stricmp // sqlite3.c:129289:3: + *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 748)) = Xsqlite3_uri_boolean // sqlite3.c:129290:3: + *(*func(*libc.TLS, uintptr, uintptr, Sqlite3_int64) Sqlite3_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 752)) = Xsqlite3_uri_int64 // sqlite3.c:129291:3: + *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 756)) = Xsqlite3_uri_parameter // sqlite3.c:129292:3: + *(*func(*libc.TLS, int32, uintptr, uintptr, Va_list) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 760)) = Xsqlite3_vsnprintf // sqlite3.c:129293:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 764)) = Xsqlite3_wal_checkpoint_v2 // sqlite3.c:129294:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 768)) = Xsqlite3_auto_extension // sqlite3.c:129296:3: + *(*func(*libc.TLS, uintptr, int32, uintptr, Sqlite3_uint64, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 772)) = Xsqlite3_bind_blob64 // sqlite3.c:129297:3: + *(*func(*libc.TLS, uintptr, int32, uintptr, Sqlite3_uint64, uintptr, uint8) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 776)) = Xsqlite3_bind_text64 // sqlite3.c:129298:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 780)) = Xsqlite3_cancel_auto_extension // sqlite3.c:129299:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 784)) = Xsqlite3_load_extension // sqlite3.c:129300:3: + *(*func(*libc.TLS, Sqlite3_uint64) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 788)) = Xsqlite3_malloc64 // sqlite3.c:129301:3: + *(*func(*libc.TLS, uintptr) Sqlite3_uint64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 792)) = Xsqlite3_msize // sqlite3.c:129302:3: + *(*func(*libc.TLS, uintptr, Sqlite3_uint64) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 796)) = Xsqlite3_realloc64 // sqlite3.c:129303:3: + *(*func(*libc.TLS))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 800)) = Xsqlite3_reset_auto_extension // sqlite3.c:129304:3: + *(*func(*libc.TLS, uintptr, uintptr, Sqlite3_uint64, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 804)) = Xsqlite3_result_blob64 // sqlite3.c:129305:3: + *(*func(*libc.TLS, uintptr, uintptr, Sqlite3_uint64, uintptr, uint8))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 808)) = Xsqlite3_result_text64 // sqlite3.c:129306:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 812)) = Xsqlite3_strglob // sqlite3.c:129307:3: *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 816 /* .value_dup */)) = *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr) uintptr - }{Xsqlite3_value_dup})) // sqlite3.c:129296:3: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 820)) = Xsqlite3_value_free // sqlite3.c:129297:3: - *(*func(*libc.TLS, uintptr, U64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 824)) = Xsqlite3_result_zeroblob64 // sqlite3.c:129298:3: - *(*func(*libc.TLS, uintptr, int32, Sqlite3_uint64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 828)) = Xsqlite3_bind_zeroblob64 // sqlite3.c:129299:3: - *(*func(*libc.TLS, uintptr) uint32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 832)) = Xsqlite3_value_subtype // sqlite3.c:129301:3: - *(*func(*libc.TLS, uintptr, uint32))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 836)) = Xsqlite3_result_subtype // sqlite3.c:129302:3: - *(*func(*libc.TLS, int32, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 840)) = Xsqlite3_status64 // sqlite3.c:129304:3: - *(*func(*libc.TLS, uintptr, uintptr, uint32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 844)) = Xsqlite3_strlike // sqlite3.c:129305:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 848)) = Xsqlite3_db_cacheflush // sqlite3.c:129306:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 852)) = Xsqlite3_system_errno // sqlite3.c:129308:3: - *(*func(*libc.TLS, uintptr, uint32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 856)) = Xsqlite3_trace_v2 // sqlite3.c:129310:3: - *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 860)) = Xsqlite3_expanded_sql // sqlite3.c:129311:3: - *(*func(*libc.TLS, uintptr, Sqlite3_int64))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 864)) = Xsqlite3_set_last_insert_rowid // sqlite3.c:129313:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uint32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 868)) = Xsqlite3_prepare_v3 // sqlite3.c:129315:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uint32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 872)) = Xsqlite3_prepare16_v3 // sqlite3.c:129316:3: - *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 876)) = Xsqlite3_bind_pointer // sqlite3.c:129317:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 880)) = Xsqlite3_result_pointer // sqlite3.c:129318:3: - *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 884)) = Xsqlite3_value_pointer // sqlite3.c:129319:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 888)) = Xsqlite3_vtab_nochange // sqlite3.c:129321:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 892)) = Xsqlite3_value_nochange // sqlite3.c:129322:3: - *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 896)) = Xsqlite3_vtab_collation // sqlite3.c:129323:3: - *(*func(*libc.TLS) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 900)) = Xsqlite3_keyword_count // sqlite3.c:129325:3: - *(*func(*libc.TLS, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 904)) = Xsqlite3_keyword_name // sqlite3.c:129326:3: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 908)) = Xsqlite3_keyword_check // sqlite3.c:129327:3: - *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 912)) = Xsqlite3_str_new // sqlite3.c:129328:3: - *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 916)) = Xsqlite3_str_finish // sqlite3.c:129329:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 920)) = Xsqlite3_str_appendf // sqlite3.c:129330:3: - *(*func(*libc.TLS, uintptr, uintptr, Va_list))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 924)) = Xsqlite3_str_vappendf // sqlite3.c:129331:3: - *(*func(*libc.TLS, uintptr, uintptr, int32))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 928)) = Xsqlite3_str_append // sqlite3.c:129332:3: - *(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 932)) = Xsqlite3_str_appendall // sqlite3.c:129333:3: - *(*func(*libc.TLS, uintptr, int32, int8))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 936)) = Xsqlite3_str_appendchar // sqlite3.c:129334:3: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 940)) = Xsqlite3_str_reset // sqlite3.c:129335:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 944)) = Xsqlite3_str_errcode // sqlite3.c:129336:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 948)) = Xsqlite3_str_length // sqlite3.c:129337:3: - *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 952)) = Xsqlite3_str_value // sqlite3.c:129338:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, int32, uintptr, uintptr, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 956)) = Xsqlite3_create_window_function // sqlite3.c:129340:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 964)) = Xsqlite3_stmt_isexplain // sqlite3.c:129348:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 968)) = Xsqlite3_value_frombind // sqlite3.c:129349:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 972)) = Xsqlite3_drop_modules // sqlite3.c:129352:3: - *(*func(*libc.TLS, Sqlite3_int64) Sqlite3_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 976)) = Xsqlite3_hard_heap_limit64 // sqlite3.c:129357:3: - *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 980)) = Xsqlite3_uri_key // sqlite3.c:129358:3: - *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 984)) = Xsqlite3_filename_database // sqlite3.c:129359:3: - *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 988)) = Xsqlite3_filename_journal // sqlite3.c:129360:3: - *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 992)) = Xsqlite3_filename_wal // sqlite3.c:129361:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 996)) = Xsqlite3_create_filename // sqlite3.c:129363:3: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1000)) = Xsqlite3_free_filename // sqlite3.c:129364:3: - *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1004)) = Xsqlite3_database_file_object // sqlite3.c:129365:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1008)) = Xsqlite3_txn_state // sqlite3.c:129367:3: - *(*func(*libc.TLS, uintptr) Sqlite3_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1012)) = Xsqlite3_changes64 // sqlite3.c:129369:3: - *(*func(*libc.TLS, uintptr) Sqlite3_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1016)) = Xsqlite3_total_changes64 // sqlite3.c:129370:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1020)) = Xsqlite3_autovacuum_pages // sqlite3.c:129372:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1024)) = Xsqlite3_error_offset // sqlite3.c:129374:3: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1028)) = Xsqlite3_vtab_rhs_value // sqlite3.c:129375:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1032)) = Xsqlite3_vtab_distinct // sqlite3.c:129376:3: - *(*func(*libc.TLS, uintptr, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1036)) = Xsqlite3_vtab_in // sqlite3.c:129377:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1040)) = Xsqlite3_vtab_in_first // sqlite3.c:129378:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1044)) = Xsqlite3_vtab_in_next // sqlite3.c:129379:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3BuiltinExtensions)) + 0)) = Xsqlite3Fts5Init // sqlite3.c:168488:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3BuiltinExtensions)) + 4)) = Xsqlite3RtreeInit // sqlite3.c:168494:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3BuiltinExtensions)) + 8)) = sqlite3TestExtInit // sqlite3.c:168502:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3BuiltinExtensions)) + 12)) = Xsqlite3JsonTableFunctions // sqlite3.c:168504:3: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&statGetFuncdef)) + 16)) = statGet // sqlite3.c:111993:3: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&statInitFuncdef)) + 16)) = statInit // sqlite3.c:111569:3: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&statPushFuncdef)) + 16)) = statPush // sqlite3.c:111859:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 24)) = rbuVfsOpen // sqlite3.c:208888:5: - *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 28)) = rbuVfsDelete // sqlite3.c:208889:5: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 32)) = rbuVfsAccess // sqlite3.c:208890:5: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 36)) = rbuVfsFullPathname // sqlite3.c:208891:5: - *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 40)) = rbuVfsDlOpen // sqlite3.c:208894:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 44)) = rbuVfsDlError // sqlite3.c:208895:5: - *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 48)) = rbuVfsDlSym // sqlite3.c:208896:5: - *(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 52)) = rbuVfsDlClose // sqlite3.c:208897:5: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 56)) = rbuVfsRandomness // sqlite3.c:208902:5: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 60)) = rbuVfsSleep // sqlite3.c:208903:5: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 64)) = rbuVfsCurrentTime // sqlite3.c:208904:5: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 68)) = rbuVfsGetLastError // sqlite3.c:208905:5: -} - -var ts1 = "3.38.1\x00ATOMIC_INTRINSICS=0\x00COMPILER=clang-13.0.0\x00DEFAULT_AUTOVACUUM\x00DEFAULT_CACHE_SIZE=-2000\x00DEFAULT_FILE_FORMAT=4\x00DEFAULT_JOURNAL_SIZE_LIMIT=-1\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\x00ENABLE_COLUMN_METADATA\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=127\x00MAX_LENGTH=1000000000\x00MAX_LIKE_PATTERN_LENGTH=50000\x00MAX_MMAP_SIZE=0x7fff0000\x00MAX_PAGE_COUNT=1073741823\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\x00BINARY\x00ANY\x00BLOB\x00INT\x00INTEGER\x00REAL\x00TEXT\x0020b:20e\x0020c:20e\x0020e\x0040f-21a-21d\x00now\x00local time unavailable\x00second\x00minute\x00hour\x00\x00\x00day\x00\x00\x00\x00month\x00\x00year\x00\x00\x00auto\x00julianday\x00localtime\x00unixepoch\x00utc\x00weekday \x00start of \x00month\x00year\x00day\x00%02d\x00%06.3f\x00%03d\x00%.16g\x00%lld\x00%04d\x00date\x00time\x00datetime\x00strftime\x00current_time\x00current_timestamp\x00current_date\x00failed to allocate %u bytes of memory\x00failed memory resize %u to %u bytes\x00out of memory\x000123456789ABCDEF0123456789abcdef\x00-x0\x00X0\x00%\x00NaN\x00Inf\x00\x00NULL\x00(NULL)\x00.\x00SUBQUERY %u\x00thstndrd\x00922337203685477580\x00API call with %s database connection pointer\x00unopened\x00invalid\x00Savepoint\x00AutoCommit\x00Transaction\x00SorterNext\x00Prev\x00Next\x00Checkpoint\x00JournalMode\x00Vacuum\x00VFilter\x00VUpdate\x00Goto\x00Gosub\x00InitCoroutine\x00Yield\x00MustBeInt\x00Jump\x00Once\x00If\x00Not\x00IfNot\x00IsNullOrType\x00IfNullRow\x00SeekLT\x00SeekLE\x00SeekGE\x00SeekGT\x00IfNotOpen\x00IfNoHope\x00NoConflict\x00NotFound\x00Found\x00SeekRowid\x00NotExists\x00Last\x00IfSmaller\x00SorterSort\x00Sort\x00Rewind\x00IdxLE\x00IdxGT\x00IdxLT\x00IdxGE\x00Or\x00And\x00RowSetRead\x00RowSetTest\x00Program\x00FkIfZero\x00IfPos\x00IsNull\x00NotNull\x00Ne\x00Eq\x00Gt\x00Le\x00Lt\x00Ge\x00ElseEq\x00IfNotZero\x00DecrJumpZero\x00IncrVacuum\x00VNext\x00Filter\x00Init\x00PureFunc\x00Function\x00Return\x00EndCoroutine\x00HaltIfNull\x00Halt\x00Integer\x00Int64\x00String\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\x00VInitIn\x00VColumn\x00VRename\x00Pagecount\x00MaxPgcnt\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\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\x00SQLite format 3\x00:memory:\x00@ \x00\n\x00invalid page number %d\x002nd reference to page %d\x00Failed to read ptrmap key=%d\x00Bad ptr map entry key=%d expected=(%d,%d) got=(%d,%d)\x00failed to get page %d\x00freelist leaf count too big on page %d\x00%s is %d but should be %d\x00size\x00overflow list length\x00Page %u: \x00unable to get the page. error code=%d\x00btreeInitPage() returns error code %d\x00free space corruption\x00On tree page %u cell %d: \x00On page %u at right child: \x00Offset %d out of range %d..%d\x00Extends off end of page\x00Rowid %lld out of order\x00Child page depth differs\x00Multiple uses for byte %u of page %u\x00Fragmentation of %d bytes reported as %d on page %u\x00Main freelist: \x00max rootpage (%d) disagrees with header (%d)\x00incremental_vacuum enabled with a max rootpage of zero\x00Page %d is never used\x00Pointer map page %d is referenced\x00unknown database %s\x00destination database is in use\x00source and destination must be distinct\x00%!.15g\x00-\x00%s%s\x00k(%d\x00B\x00,%s%s%s\x00N.\x00)\x00%.18s-%s\x00%s(%d)\x00%d\x00(blob)\x00vtab:%p\x00%c%u\x00]\x00program\x00?\x008\x0016LE\x0016BE\x00addr\x00opcode\x00p1\x00p2\x00p3\x00p4\x00p5\x00comment\x00id\x00parent\x00notused\x00detail\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\x00ValueList\x00bind on a busy prepared statement: [%s]\x00-- \x00'%.*q'\x00zeroblob(%d)\x00x'\x00%02x\x00'\x00%s constraint failed\x00%z: %s\x00abort at %d in [%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\x00cannot change %s wal mode from within a transaction\x00into\x00out of\x00database table is locked: %s\x00-- %s\x00statement aborts at %d: [%s] %s\x00NOT NULL\x00UNIQUE\x00CHECK\x00FOREIGN KEY\x00cannot open value of type %s\x00null\x00real\x00integer\x00no such rowid: %lld\x00cannot open virtual table: %s\x00cannot open table without rowid: %s\x00cannot open view: %s\x00no such column: \"%s\"\x00foreign key\x00indexed\x00cannot open %s column for writing\x00main\x00*\x00new\x00old\x00excluded\x00misuse of aliased aggregate %s\x00misuse of aliased window function %s\x00row value misused\x00double-quoted string literal: \"%w\"\x00no such column\x00ambiguous column name\x00%s: %s.%s.%s\x00%s: %s.%s\x00%s: %s\x00partial index WHERE clauses\x00index expressions\x00CHECK constraints\x00generated columns\x00%s prohibited in %s\x00true\x00false\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\x00a GROUP BY clause is required before HAVING\x00GROUP\x00aggregate functions are not allowed in the GROUP BY clause\x00Expression tree is too large (maximum depth %d)\x00IN(...) element has %d term%s - expected %d\x00s\x000\x00too many arguments on function %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\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\x00%sLIST SUBQUERY %d\x00CORRELATED \x00REUSE SUBQUERY %d\x00%sSCALAR SUBQUERY %d\x001\x000x\x00hex literal too big: %s%#T\x00generated column loop on \"%s\"\x00blob\x00text\x00numeric\x00none\x00misuse of aggregate: %#T()\x00unknown function: %#T()\x00RAISE() may only be used within a trigger-program\x00B\x00C\x00D\x00E\x00sqlite_\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') ELSE raise(ABORT,'NOT NULL constraint failed') END FROM pragma_quick_check(%Q,%Q) WHERE quick_check GLOB 'CHECK*' OR quick_check GLOB 'NULL*'\x00virtual tables may not be altered\x00Cannot add a column to a view\x00sqlite_altertab_%s\x00view\x00virtual table\x00cannot %s %s \"%s\"\x00drop column from\x00rename columns of\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')\x00error in %s %s%s%s: %s\x00 \x00CREATE \x00\"%w\" \x00%Q%s\x00%.*s%s\x00cannot drop %s column: \"%s\"\x00PRIMARY KEY\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\x00CREATE TABLE %Q.%s(%s)\x00DELETE FROM %Q.%s WHERE %s=%Q\x00DELETE FROM %Q.%s\x00sqlite_stat1\x00tbl,idx,stat\x00sqlite_stat4\x00tbl,idx,neq,nlt,ndlt,sample\x00sqlite_stat3\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\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\x00sqlite_temp_schema\x00sqlite_schema\x00sqlite_temp_master\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\x00sqlite_returning\x00cannot use RETURNING in a trigger\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'\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\x00unsupported use of NULLS %s\x00FIRST\x00LAST\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\x00CREATE%s INDEX %.*s\x00 UNIQUE\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\x00a JOIN clause is required before %s\x00ON\x00USING\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\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%!.20e\x00%Q\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\x00instr\x00printf\x00format\x00unicode\x00char\x00abs\x00round\x00upper\x00lower\x00hex\x00ifnull\x00random\x00randomblob\x00nullif\x00sqlite_version\x00sqlite_source_id\x00sqlite_log\x00quote\x00last_insert_rowid\x00changes\x00total_changes\x00replace\x00zeroblob\x00substr\x00substring\x00sum\x00total\x00avg\x00count\x00group_concat\x00glob\x00coalesce\x00ceil\x00ceiling\x00floor\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\x00foreign key mismatch - \"%w\" referencing \"%w\"\x00cannot INSERT into generated column \"%s\"\x00table %S has no column named %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\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]\x00so\x00automatic extension loading failed: %s\x00seq\x00from\x00to\x00on_update\x00on_delete\x00match\x00cid\x00name\x00type\x00notnull\x00dflt_value\x00pk\x00hidden\x00schema\x00ncol\x00wr\x00strict\x00seqno\x00desc\x00coll\x00key\x00builtin\x00enc\x00narg\x00flags\x00wdth\x00hght\x00flgs\x00unique\x00origin\x00partial\x00rowid\x00fkid\x00file\x00busy\x00checkpointed\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\x00onoffalseyestruextrafull\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\x00w\x00a\x00sissii\x00utf8\x00utf16le\x00utf16be\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\x00NULL value in %s.%s\x00non-%s value in %s.%s\x00CHECK constraint failed in %s\x00row \x00 missing from index \x00non-unique entry in index \x00wrong # of entries in index \x00ok\x00unsupported encoding: %s\x00restart\x00ANALYZE \"%w\".\"%w\"\x00UTF8\x00UTF-8\x00UTF-16le\x00UTF-16be\x00UTF16le\x00UTF16be\x00UTF-16\x00UTF16\x00CREATE TABLE x\x00%c\"%s\"\x00(\"%s\"\x00,arg HIDDEN\x00,schema HIDDEN\x00PRAGMA \x00%Q.\x00=%Q\x00error in %s %s after %s: %s\x00malformed database schema (%s)\x00%z - %s\x00rename\x00drop column\x00add column\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 or unsupported join type: %T %T%s%T\x00RIGHT and FULL OUTER JOINs are not currently supported\x00naturaleftouterightfullinnercross\x00a NATURAL join may not have an ON or USING clause\x00cannot have both ON and USING clauses in the same join\x00cannot join using column %s - column not present in both tables\x00UNION ALL\x00INTERSECT\x00EXCEPT\x00UNION\x00USE TEMP B-TREE FOR %s\x00column%d\x00%.*z:%u\x00cannot use window functions in recursive queries\x00recursive aggregate queries not supported\x00SETUP\x00RECURSIVE STEP\x00SCAN %d CONSTANT ROW%s\x00S\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\x00subquery_%u\x00too many references to \"%s\": max 65535\x00access to view \"%s\" prohibited\x00unsafe use of virtual table \"%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)\x00SCAN %s%s%s\x00 USING COVERING INDEX \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\x00RIGHT PART OF ORDER BY\x00ORDER 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\x00trigger %T already exists\x00cannot create trigger on system table\x00cannot create %s trigger on view: %S\x00BEFORE\x00AFTER\x00cannot create INSTEAD OF trigger on 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'\x00%s RETURNING is not available on virtual tables\x00DELETE\x00UPDATE\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\x00ATTACH %Q AS vacuum_db\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 vacuum_db.'||quote(name)||' SELECT*FROM\"%w\".'||quote(name)FROM vacuum_db.sqlite_schema WHERE type='table'AND coalesce(rootpage,1)>0\x00INSERT INTO vacuum_db.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\x00\x00 AND \x00(\x00 (\x00%s=?\x00ANY(%s)\x00>\x00<\x00%s %S\x00SEARCH\x00SCAN\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 %d:%s\x00BLOOM FILTER ON %S (\x00rowid=?\x00MULTI-INDEX OR\x00INDEX %d\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\x00second argument to nth_value must be a positive integer\x00argument of ntile must be a positive integer\x00row_number\x00dense_rank\x00rank\x00percent_rank\x00cume_dist\x00ntile\x00last_value\x00nth_value\x00first_value\x00lead\x00lag\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\x00%s clause should come after %s not before\x00LIMIT\x00too many terms in compound SELECT\x00syntax error after column name \"%.*s\"\x00parser stack overflow\x00unknown table option: %.*s\x00set list\x00near \"%T\": syntax error\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\x00unknown error\x00abort due to ROLLBACK\x00another row available\x00no more rows available\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\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\x00mode\x00no such %s mode: %s\x00%s mode not allowed: %s\x00no such vfs: %s\x00shared\x00private\x00ro\x00rw\x00rwc\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\x000123456789abcdef\x00JSON cannot hold BLOB values\x00malformed JSON\x00[0]\x00JSON path error near '%q'\x00json_%s() needs an odd number of arguments\x00$[\x00$.\x00json_object() requires an even number of arguments\x00json_object() labels must be TEXT\x00set\x00insert\x00[]\x00{}\x00CREATE TABLE x(key,value,type,atom,id,parent,fullkey,path,json HIDDEN,root HIDDEN)\x00[%d]\x00.%.*s\x00$\x00json\x00json_array\x00json_array_length\x00json_extract\x00->\x00->>\x00json_insert\x00json_object\x00json_patch\x00json_quote\x00json_remove\x00json_replace\x00json_set\x00json_type\x00json_valid\x00json_group_array\x00json_group_object\x00json_each\x00json_tree\x00%s_node\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\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\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\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\x00CREATE TABLE x(%.*s INT\x00,%.*s\x00);\x00,%.*s REAL\x00,%.*s INT\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\x00Mapping (%lld -> %lld) missing from %s table\x00%_rowid\x00%_parent\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\x00END\x00wrong number of arguments to function rtreecheck()\x00[\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\x00geopoly_area\x00geopoly_blob\x00geopoly_json\x00geopoly_svg\x00geopoly_contains_point\x00geopoly_debug\x00geopoly_bbox\x00geopoly_xform\x00geopoly_regular\x00geopoly_ccw\x00geopoly_group_bbox\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;\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\x00AND rootpage!=0 AND rootpage IS NOT NULL\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\x00table %q %s rbu_rowid column\x00may not have\x00requires\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%z%s\"%w\" %s %sCOLLATE %Q%s\x00 NOT NULL\x00%z, %z\x00CREATE TABLE \"rbu_imp_%w\"(%z)%s\x00 WITHOUT ROWID\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\x00SELECT %s, 0 AS rbu_control FROM '%q' %s %s %s ORDER BY %s%s\x00AND\x00WHERE\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_\x00INSERT INTO \"%s%w\"(%s%s) VALUES(%s)\x00, _rowid_\x00DELETE FROM \"%s%w\" WHERE %s\x00, rbu_rowid\x00CREATE TABLE IF NOT EXISTS %s.'rbu_tmp_%q' AS SELECT *%s FROM '%q' WHERE 0;\x00, 0 AS rbu_rowid\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\x00SELECT %s,%s rbu_control%s FROM '%q'%s %s %s %s\x000 AS \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\x00file:%s-vactmp?rbu_memory=1%s%s\x00&\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, %d), (%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\x00database modified during rbu %s\x00vacuum\x00update\x00BEGIN IMMEDIATE\x00PRAGMA journal_mode=off\x00-vactmp\x00DELETE FROM stat.rbu_state\x00rbu/zipvfs setup error\x00rbu(%s)/%z\x00rbu_memory\x00SELECT 0, 'tbl', '', 0, '', 1 UNION ALL SELECT 1, 'idx', '', 0, '', 2 UNION ALL SELECT 2, 'stat', '', 0, '', 0\x00PRAGMA '%q'.table_info('%q')\x00%z%s\"%w\".\"%w\".\"%w\"=\"%w\".\"%w\".\"%w\"\x00%z%s\"%w\".\"%w\".\"%w\" IS NOT \"%w\".\"%w\".\"%w\"\x00 OR \x00SELECT * FROM \"%w\".\"%w\" WHERE NOT EXISTS ( SELECT 1 FROM \"%w\".\"%w\" WHERE %s)\x00SELECT * FROM \"%w\".\"%w\", \"%w\".\"%w\" WHERE %s AND (%z)\x00table schemas do not match\x00SELECT tbl, ?2, stat FROM %Q.sqlite_stat1 WHERE tbl IS ?1 AND idx IS (CASE WHEN ?2=X'' THEN NULL ELSE ?2 END)\x00SELECT * FROM \x00 WHERE \x00 IS ?\x00SAVEPOINT changeset\x00RELEASE changeset\x00UPDATE main.\x00 SET \x00 = ?\x00idx IS CASE WHEN length(?4)=0 AND typeof(?4)='blob' THEN NULL ELSE ?4 END \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()\x00snippet\x00highlight\x00bm25\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\x00content_rowid\x00multiple content_rowid=... directives\x00columnsize\x00malformed columnsize=... directive\x00columns\x00malformed detail=... directive\x00unrecognized option: \"%.*s\"\x00reserved fts5 column name: %s\x00unindexed\x00unrecognized column option: %s\x00T.%Q\x00, T.%Q\x00, T.c%d\x00reserved fts5 table name: %s\x00parse error in \"%s\"\x00docsize\x00%Q.'%q_%s'\x00CREATE TABLE x(\x00%z%s%Q\x00%z, %Q HIDDEN, %s HIDDEN)\x00pgsz\x00hashsize\x00automerge\x00usermerge\x00crisismerge\x00SELECT k, v FROM %Q.'%q_config'\x00version\x00invalid fts5 file format (found %d, expected %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)\x00fts5: %s queries are not supported (detail!=full)\x00phrase\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=?\x00PRAGMA %Q.data_version\x00SELECT pgno FROM '%q'.'%q_idx' WHERE segid=? AND term<=? ORDER BY term DESC LIMIT 1\x00INSERT INTO '%q'.'%q_idx'(segid,term,pgno) VALUES(?,?,?)\x00%s_data\x00id INTEGER PRIMARY KEY, block BLOB\x00segid, term, pgno, PRIMARY KEY(segid, term)\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\x00SELECT rowid, rank FROM %Q.%Q ORDER BY %s(\"%w\"%s%s) %s\x00DESC\x00ASC\x00reads\x00unknown special query: %.*s\x00SELECT %s\x00no such function: %s\x00parse error in rank function: %s\x00%s: table does not support scanning\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\x00cannot %s contentless fts5 table: %s\x00DELETE from\x00no such cursor: %lld\x00no such tokenizer: %s\x00error in tokenizer constructor\x00fts5_api_ptr\x00fts5: 2022-03-12 13:37:29 38c210fdd258658321c85ec9c01a072fda3ada94540e3239d29b34dc547a8cbc\x00config\x00fts5\x00fts5_source_id\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(?,?)\x00DELETE FROM %Q.'%q_docsize' WHERE id=?\x00SELECT sz FROM %Q.'%q_docsize' WHERE id=?\x00REPLACE INTO %Q.'%q_config' VALUES(?,?)\x00SELECT %s FROM %s AS T\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\x00id INTEGER PRIMARY KEY, sz BLOB\x00k PRIMARY KEY, v\x00DELETE FROM %Q.'%q_data';DELETE FROM %Q.'%q_idx';\x00DELETE FROM %Q.'%q_docsize';\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\x00ascii\x00porter\x00trigram\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\x002022-03-12 13:37:29 38c210fdd258658321c85ec9c01a072fda3ada94540e3239d29b34dc547a8cbc\x00" + }{Xsqlite3_value_dup})) // sqlite3.c:129309:3: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 820)) = Xsqlite3_value_free // sqlite3.c:129310:3: + *(*func(*libc.TLS, uintptr, U64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 824)) = Xsqlite3_result_zeroblob64 // sqlite3.c:129311:3: + *(*func(*libc.TLS, uintptr, int32, Sqlite3_uint64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 828)) = Xsqlite3_bind_zeroblob64 // sqlite3.c:129312:3: + *(*func(*libc.TLS, uintptr) uint32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 832)) = Xsqlite3_value_subtype // sqlite3.c:129314:3: + *(*func(*libc.TLS, uintptr, uint32))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 836)) = Xsqlite3_result_subtype // sqlite3.c:129315:3: + *(*func(*libc.TLS, int32, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 840)) = Xsqlite3_status64 // sqlite3.c:129317:3: + *(*func(*libc.TLS, uintptr, uintptr, uint32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 844)) = Xsqlite3_strlike // sqlite3.c:129318:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 848)) = Xsqlite3_db_cacheflush // sqlite3.c:129319:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 852)) = Xsqlite3_system_errno // sqlite3.c:129321:3: + *(*func(*libc.TLS, uintptr, uint32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 856)) = Xsqlite3_trace_v2 // sqlite3.c:129323:3: + *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 860)) = Xsqlite3_expanded_sql // sqlite3.c:129324:3: + *(*func(*libc.TLS, uintptr, Sqlite3_int64))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 864)) = Xsqlite3_set_last_insert_rowid // sqlite3.c:129326:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uint32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 868)) = Xsqlite3_prepare_v3 // sqlite3.c:129328:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uint32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 872)) = Xsqlite3_prepare16_v3 // sqlite3.c:129329:3: + *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 876)) = Xsqlite3_bind_pointer // sqlite3.c:129330:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 880)) = Xsqlite3_result_pointer // sqlite3.c:129331:3: + *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 884)) = Xsqlite3_value_pointer // sqlite3.c:129332:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 888)) = Xsqlite3_vtab_nochange // sqlite3.c:129334:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 892)) = Xsqlite3_value_nochange // sqlite3.c:129335:3: + *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 896)) = Xsqlite3_vtab_collation // sqlite3.c:129336:3: + *(*func(*libc.TLS) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 900)) = Xsqlite3_keyword_count // sqlite3.c:129338:3: + *(*func(*libc.TLS, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 904)) = Xsqlite3_keyword_name // sqlite3.c:129339:3: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 908)) = Xsqlite3_keyword_check // sqlite3.c:129340:3: + *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 912)) = Xsqlite3_str_new // sqlite3.c:129341:3: + *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 916)) = Xsqlite3_str_finish // sqlite3.c:129342:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 920)) = Xsqlite3_str_appendf // sqlite3.c:129343:3: + *(*func(*libc.TLS, uintptr, uintptr, Va_list))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 924)) = Xsqlite3_str_vappendf // sqlite3.c:129344:3: + *(*func(*libc.TLS, uintptr, uintptr, int32))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 928)) = Xsqlite3_str_append // sqlite3.c:129345:3: + *(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 932)) = Xsqlite3_str_appendall // sqlite3.c:129346:3: + *(*func(*libc.TLS, uintptr, int32, int8))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 936)) = Xsqlite3_str_appendchar // sqlite3.c:129347:3: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 940)) = Xsqlite3_str_reset // sqlite3.c:129348:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 944)) = Xsqlite3_str_errcode // sqlite3.c:129349:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 948)) = Xsqlite3_str_length // sqlite3.c:129350:3: + *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 952)) = Xsqlite3_str_value // sqlite3.c:129351:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, int32, uintptr, uintptr, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 956)) = Xsqlite3_create_window_function // sqlite3.c:129353:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 964)) = Xsqlite3_stmt_isexplain // sqlite3.c:129361:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 968)) = Xsqlite3_value_frombind // sqlite3.c:129362:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 972)) = Xsqlite3_drop_modules // sqlite3.c:129365:3: + *(*func(*libc.TLS, Sqlite3_int64) Sqlite3_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 976)) = Xsqlite3_hard_heap_limit64 // sqlite3.c:129370:3: + *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 980)) = Xsqlite3_uri_key // sqlite3.c:129371:3: + *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 984)) = Xsqlite3_filename_database // sqlite3.c:129372:3: + *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 988)) = Xsqlite3_filename_journal // sqlite3.c:129373:3: + *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 992)) = Xsqlite3_filename_wal // sqlite3.c:129374:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 996)) = Xsqlite3_create_filename // sqlite3.c:129376:3: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1000)) = Xsqlite3_free_filename // sqlite3.c:129377:3: + *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1004)) = Xsqlite3_database_file_object // sqlite3.c:129378:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1008)) = Xsqlite3_txn_state // sqlite3.c:129380:3: + *(*func(*libc.TLS, uintptr) Sqlite3_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1012)) = Xsqlite3_changes64 // sqlite3.c:129382:3: + *(*func(*libc.TLS, uintptr) Sqlite3_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1016)) = Xsqlite3_total_changes64 // sqlite3.c:129383:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1020)) = Xsqlite3_autovacuum_pages // sqlite3.c:129385:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1024)) = Xsqlite3_error_offset // sqlite3.c:129387:3: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1028)) = Xsqlite3_vtab_rhs_value // sqlite3.c:129388:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1032)) = Xsqlite3_vtab_distinct // sqlite3.c:129389:3: + *(*func(*libc.TLS, uintptr, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1036)) = Xsqlite3_vtab_in // sqlite3.c:129390:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1040)) = Xsqlite3_vtab_in_first // sqlite3.c:129391:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1044)) = Xsqlite3_vtab_in_next // sqlite3.c:129392:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3BuiltinExtensions)) + 0)) = Xsqlite3Fts5Init // sqlite3.c:168545:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3BuiltinExtensions)) + 4)) = Xsqlite3RtreeInit // sqlite3.c:168551:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3BuiltinExtensions)) + 8)) = sqlite3TestExtInit // sqlite3.c:168559:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3BuiltinExtensions)) + 12)) = Xsqlite3JsonTableFunctions // sqlite3.c:168561:3: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&statGetFuncdef)) + 16)) = statGet // sqlite3.c:112006:3: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&statInitFuncdef)) + 16)) = statInit // sqlite3.c:111582:3: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&statPushFuncdef)) + 16)) = statPush // sqlite3.c:111872:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 24)) = rbuVfsOpen // sqlite3.c:208945:5: + *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 28)) = rbuVfsDelete // sqlite3.c:208946:5: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 32)) = rbuVfsAccess // sqlite3.c:208947:5: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 36)) = rbuVfsFullPathname // sqlite3.c:208948:5: + *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 40)) = rbuVfsDlOpen // sqlite3.c:208951:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 44)) = rbuVfsDlError // sqlite3.c:208952:5: + *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 48)) = rbuVfsDlSym // sqlite3.c:208953:5: + *(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 52)) = rbuVfsDlClose // sqlite3.c:208954:5: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 56)) = rbuVfsRandomness // sqlite3.c:208959:5: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 60)) = rbuVfsSleep // sqlite3.c:208960:5: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 64)) = rbuVfsCurrentTime // sqlite3.c:208961:5: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 68)) = rbuVfsGetLastError // sqlite3.c:208962:5: +} + +var ts1 = "3.38.2\x00ATOMIC_INTRINSICS=0\x00COMPILER=clang-13.0.0\x00DEFAULT_AUTOVACUUM\x00DEFAULT_CACHE_SIZE=-2000\x00DEFAULT_FILE_FORMAT=4\x00DEFAULT_JOURNAL_SIZE_LIMIT=-1\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\x00ENABLE_COLUMN_METADATA\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=127\x00MAX_LENGTH=1000000000\x00MAX_LIKE_PATTERN_LENGTH=50000\x00MAX_MMAP_SIZE=0x7fff0000\x00MAX_PAGE_COUNT=1073741823\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\x00BINARY\x00ANY\x00BLOB\x00INT\x00INTEGER\x00REAL\x00TEXT\x0020b:20e\x0020c:20e\x0020e\x0040f-21a-21d\x00now\x00local time unavailable\x00second\x00minute\x00hour\x00\x00\x00day\x00\x00\x00\x00month\x00\x00year\x00\x00\x00auto\x00julianday\x00localtime\x00unixepoch\x00utc\x00weekday \x00start of \x00month\x00year\x00day\x00%02d\x00%06.3f\x00%03d\x00%.16g\x00%lld\x00%04d\x00date\x00time\x00datetime\x00strftime\x00current_time\x00current_timestamp\x00current_date\x00failed to allocate %u bytes of memory\x00failed memory resize %u to %u bytes\x00out of memory\x000123456789ABCDEF0123456789abcdef\x00-x0\x00X0\x00%\x00NaN\x00Inf\x00\x00NULL\x00(NULL)\x00.\x00SUBQUERY %u\x00thstndrd\x00922337203685477580\x00API call with %s database connection pointer\x00unopened\x00invalid\x00Savepoint\x00AutoCommit\x00Transaction\x00SorterNext\x00Prev\x00Next\x00Checkpoint\x00JournalMode\x00Vacuum\x00VFilter\x00VUpdate\x00Goto\x00Gosub\x00InitCoroutine\x00Yield\x00MustBeInt\x00Jump\x00Once\x00If\x00Not\x00IfNot\x00IsNullOrType\x00IfNullRow\x00SeekLT\x00SeekLE\x00SeekGE\x00SeekGT\x00IfNotOpen\x00IfNoHope\x00NoConflict\x00NotFound\x00Found\x00SeekRowid\x00NotExists\x00Last\x00IfSmaller\x00SorterSort\x00Sort\x00Rewind\x00IdxLE\x00IdxGT\x00IdxLT\x00IdxGE\x00Or\x00And\x00RowSetRead\x00RowSetTest\x00Program\x00FkIfZero\x00IfPos\x00IsNull\x00NotNull\x00Ne\x00Eq\x00Gt\x00Le\x00Lt\x00Ge\x00ElseEq\x00IfNotZero\x00DecrJumpZero\x00IncrVacuum\x00VNext\x00Filter\x00Init\x00PureFunc\x00Function\x00Return\x00EndCoroutine\x00HaltIfNull\x00Halt\x00Integer\x00Int64\x00String\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\x00VInitIn\x00VColumn\x00VRename\x00Pagecount\x00MaxPgcnt\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\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\x00SQLite format 3\x00:memory:\x00@ \x00\n\x00invalid page number %d\x002nd reference to page %d\x00Failed to read ptrmap key=%d\x00Bad ptr map entry key=%d expected=(%d,%d) got=(%d,%d)\x00failed to get page %d\x00freelist leaf count too big on page %d\x00%s is %d but should be %d\x00size\x00overflow list length\x00Page %u: \x00unable to get the page. error code=%d\x00btreeInitPage() returns error code %d\x00free space corruption\x00On tree page %u cell %d: \x00On page %u at right child: \x00Offset %d out of range %d..%d\x00Extends off end of page\x00Rowid %lld out of order\x00Child page depth differs\x00Multiple uses for byte %u of page %u\x00Fragmentation of %d bytes reported as %d on page %u\x00Main freelist: \x00max rootpage (%d) disagrees with header (%d)\x00incremental_vacuum enabled with a max rootpage of zero\x00Page %d is never used\x00Pointer map page %d is referenced\x00unknown database %s\x00destination database is in use\x00source and destination must be distinct\x00%!.15g\x00-\x00%s%s\x00k(%d\x00B\x00,%s%s%s\x00N.\x00)\x00%.18s-%s\x00%s(%d)\x00%d\x00(blob)\x00vtab:%p\x00%c%u\x00]\x00program\x00?\x008\x0016LE\x0016BE\x00addr\x00opcode\x00p1\x00p2\x00p3\x00p4\x00p5\x00comment\x00id\x00parent\x00notused\x00detail\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\x00ValueList\x00bind on a busy prepared statement: [%s]\x00-- \x00'%.*q'\x00zeroblob(%d)\x00x'\x00%02x\x00'\x00%s constraint failed\x00%z: %s\x00abort at %d in [%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\x00cannot change %s wal mode from within a transaction\x00into\x00out of\x00database table is locked: %s\x00-- %s\x00statement aborts at %d: [%s] %s\x00NOT NULL\x00UNIQUE\x00CHECK\x00FOREIGN KEY\x00cannot open value of type %s\x00null\x00real\x00integer\x00no such rowid: %lld\x00cannot open virtual table: %s\x00cannot open table without rowid: %s\x00cannot open view: %s\x00no such column: \"%s\"\x00foreign key\x00indexed\x00cannot open %s column for writing\x00main\x00*\x00new\x00old\x00excluded\x00misuse of aliased aggregate %s\x00misuse of aliased window function %s\x00row value misused\x00double-quoted string literal: \"%w\"\x00no such column\x00ambiguous column name\x00%s: %s.%s.%s\x00%s: %s.%s\x00%s: %s\x00partial index WHERE clauses\x00index expressions\x00CHECK constraints\x00generated columns\x00%s prohibited in %s\x00true\x00false\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\x00a GROUP BY clause is required before HAVING\x00GROUP\x00aggregate functions are not allowed in the GROUP BY clause\x00Expression tree is too large (maximum depth %d)\x00IN(...) element has %d term%s - expected %d\x00s\x000\x00too many arguments on function %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\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\x00%sLIST SUBQUERY %d\x00CORRELATED \x00REUSE SUBQUERY %d\x00%sSCALAR SUBQUERY %d\x001\x000x\x00hex literal too big: %s%#T\x00generated column loop on \"%s\"\x00blob\x00text\x00numeric\x00none\x00misuse of aggregate: %#T()\x00unknown function: %#T()\x00RAISE() may only be used within a trigger-program\x00B\x00C\x00D\x00E\x00sqlite_\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') ELSE raise(ABORT,'NOT NULL constraint failed') END FROM pragma_quick_check(%Q,%Q) WHERE quick_check GLOB 'CHECK*' OR quick_check GLOB 'NULL*'\x00virtual tables may not be altered\x00Cannot add a column to a view\x00sqlite_altertab_%s\x00view\x00virtual table\x00cannot %s %s \"%s\"\x00drop column from\x00rename columns of\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')\x00error in %s %s%s%s: %s\x00 \x00CREATE \x00\"%w\" \x00%Q%s\x00%.*s%s\x00cannot drop %s column: \"%s\"\x00PRIMARY KEY\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\x00CREATE TABLE %Q.%s(%s)\x00DELETE FROM %Q.%s WHERE %s=%Q\x00DELETE FROM %Q.%s\x00sqlite_stat1\x00tbl,idx,stat\x00sqlite_stat4\x00tbl,idx,neq,nlt,ndlt,sample\x00sqlite_stat3\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\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\x00sqlite_temp_schema\x00sqlite_schema\x00sqlite_temp_master\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\x00sqlite_returning\x00cannot use RETURNING in a trigger\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'\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\x00unsupported use of NULLS %s\x00FIRST\x00LAST\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\x00CREATE%s INDEX %.*s\x00 UNIQUE\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\x00a JOIN clause is required before %s\x00ON\x00USING\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\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%!.20e\x00%Q\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\x00instr\x00printf\x00format\x00unicode\x00char\x00abs\x00round\x00upper\x00lower\x00hex\x00ifnull\x00random\x00randomblob\x00nullif\x00sqlite_version\x00sqlite_source_id\x00sqlite_log\x00quote\x00last_insert_rowid\x00changes\x00total_changes\x00replace\x00zeroblob\x00substr\x00substring\x00sum\x00total\x00avg\x00count\x00group_concat\x00glob\x00coalesce\x00ceil\x00ceiling\x00floor\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\x00foreign key mismatch - \"%w\" referencing \"%w\"\x00cannot INSERT into generated column \"%s\"\x00table %S has no column named %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\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]\x00so\x00automatic extension loading failed: %s\x00seq\x00from\x00to\x00on_update\x00on_delete\x00match\x00cid\x00name\x00type\x00notnull\x00dflt_value\x00pk\x00hidden\x00schema\x00ncol\x00wr\x00strict\x00seqno\x00desc\x00coll\x00key\x00builtin\x00enc\x00narg\x00flags\x00wdth\x00hght\x00flgs\x00unique\x00origin\x00partial\x00rowid\x00fkid\x00file\x00busy\x00checkpointed\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\x00onoffalseyestruextrafull\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\x00w\x00a\x00sissii\x00utf8\x00utf16le\x00utf16be\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\x00NULL value in %s.%s\x00non-%s value in %s.%s\x00CHECK constraint failed in %s\x00row \x00 missing from index \x00non-unique entry in index \x00wrong # of entries in index \x00ok\x00unsupported encoding: %s\x00restart\x00ANALYZE \"%w\".\"%w\"\x00UTF8\x00UTF-8\x00UTF-16le\x00UTF-16be\x00UTF16le\x00UTF16be\x00UTF-16\x00UTF16\x00CREATE TABLE x\x00%c\"%s\"\x00(\"%s\"\x00,arg HIDDEN\x00,schema HIDDEN\x00PRAGMA \x00%Q.\x00=%Q\x00error in %s %s after %s: %s\x00malformed database schema (%s)\x00%z - %s\x00rename\x00drop column\x00add column\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 or unsupported join type: %T %T%s%T\x00RIGHT and FULL OUTER JOINs are not currently supported\x00naturaleftouterightfullinnercross\x00a NATURAL join may not have an ON or USING clause\x00cannot have both ON and USING clauses in the same join\x00cannot join using column %s - column not present in both tables\x00UNION ALL\x00INTERSECT\x00EXCEPT\x00UNION\x00USE TEMP B-TREE FOR %s\x00column%d\x00%.*z:%u\x00cannot use window functions in recursive queries\x00recursive aggregate queries not supported\x00SETUP\x00RECURSIVE STEP\x00SCAN %d CONSTANT ROW%s\x00S\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\x00subquery_%u\x00too many references to \"%s\": max 65535\x00access to view \"%s\" prohibited\x00unsafe use of virtual table \"%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)\x00SCAN %s%s%s\x00 USING COVERING INDEX \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\x00RIGHT PART OF ORDER BY\x00ORDER 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\x00trigger %T already exists\x00cannot create trigger on system table\x00cannot create %s trigger on view: %S\x00BEFORE\x00AFTER\x00cannot create INSTEAD OF trigger on 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'\x00%s RETURNING is not available on virtual tables\x00DELETE\x00UPDATE\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\x00ATTACH %Q AS vacuum_db\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 vacuum_db.'||quote(name)||' SELECT*FROM\"%w\".'||quote(name)FROM vacuum_db.sqlite_schema WHERE type='table'AND coalesce(rootpage,1)>0\x00INSERT INTO vacuum_db.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\x00\x00 AND \x00(\x00 (\x00%s=?\x00ANY(%s)\x00>\x00<\x00%s %S\x00SEARCH\x00SCAN\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 %d:%s\x00BLOOM FILTER ON %S (\x00rowid=?\x00MULTI-INDEX OR\x00INDEX %d\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\x00second argument to nth_value must be a positive integer\x00argument of ntile must be a positive integer\x00row_number\x00dense_rank\x00rank\x00percent_rank\x00cume_dist\x00ntile\x00last_value\x00nth_value\x00first_value\x00lead\x00lag\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\x00%s clause should come after %s not before\x00LIMIT\x00too many terms in compound SELECT\x00syntax error after column name \"%.*s\"\x00parser stack overflow\x00unknown table option: %.*s\x00set list\x00near \"%T\": syntax error\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\x00unknown error\x00abort due to ROLLBACK\x00another row available\x00no more rows available\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\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\x00mode\x00no such %s mode: %s\x00%s mode not allowed: %s\x00no such vfs: %s\x00shared\x00private\x00ro\x00rw\x00rwc\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\x000123456789abcdef\x00JSON cannot hold BLOB values\x00malformed JSON\x00[0]\x00JSON path error near '%q'\x00json_%s() needs an odd number of arguments\x00$[\x00$.\x00json_object() requires an even number of arguments\x00json_object() labels must be TEXT\x00set\x00insert\x00[]\x00{}\x00CREATE TABLE x(key,value,type,atom,id,parent,fullkey,path,json HIDDEN,root HIDDEN)\x00[%d]\x00.%.*s\x00$\x00json\x00json_array\x00json_array_length\x00json_extract\x00->\x00->>\x00json_insert\x00json_object\x00json_patch\x00json_quote\x00json_remove\x00json_replace\x00json_set\x00json_type\x00json_valid\x00json_group_array\x00json_group_object\x00json_each\x00json_tree\x00%s_node\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\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\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\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\x00CREATE TABLE x(%.*s INT\x00,%.*s\x00);\x00,%.*s REAL\x00,%.*s INT\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\x00Mapping (%lld -> %lld) missing from %s table\x00%_rowid\x00%_parent\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\x00END\x00wrong number of arguments to function rtreecheck()\x00[\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\x00geopoly_area\x00geopoly_blob\x00geopoly_json\x00geopoly_svg\x00geopoly_contains_point\x00geopoly_debug\x00geopoly_bbox\x00geopoly_xform\x00geopoly_regular\x00geopoly_ccw\x00geopoly_group_bbox\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;\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\x00AND rootpage!=0 AND rootpage IS NOT NULL\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\x00table %q %s rbu_rowid column\x00may not have\x00requires\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%z%s\"%w\" %s %sCOLLATE %Q%s\x00 NOT NULL\x00%z, %z\x00CREATE TABLE \"rbu_imp_%w\"(%z)%s\x00 WITHOUT ROWID\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\x00SELECT %s, 0 AS rbu_control FROM '%q' %s %s %s ORDER BY %s%s\x00AND\x00WHERE\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_\x00INSERT INTO \"%s%w\"(%s%s) VALUES(%s)\x00, _rowid_\x00DELETE FROM \"%s%w\" WHERE %s\x00, rbu_rowid\x00CREATE TABLE IF NOT EXISTS %s.'rbu_tmp_%q' AS SELECT *%s FROM '%q' WHERE 0;\x00, 0 AS rbu_rowid\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\x00SELECT %s,%s rbu_control%s FROM '%q'%s %s %s %s\x000 AS \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\x00file:%s-vactmp?rbu_memory=1%s%s\x00&\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, %d), (%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\x00database modified during rbu %s\x00vacuum\x00update\x00BEGIN IMMEDIATE\x00PRAGMA journal_mode=off\x00-vactmp\x00DELETE FROM stat.rbu_state\x00rbu/zipvfs setup error\x00rbu(%s)/%z\x00rbu_memory\x00SELECT 0, 'tbl', '', 0, '', 1 UNION ALL SELECT 1, 'idx', '', 0, '', 2 UNION ALL SELECT 2, 'stat', '', 0, '', 0\x00PRAGMA '%q'.table_info('%q')\x00%z%s\"%w\".\"%w\".\"%w\"=\"%w\".\"%w\".\"%w\"\x00%z%s\"%w\".\"%w\".\"%w\" IS NOT \"%w\".\"%w\".\"%w\"\x00 OR \x00SELECT * FROM \"%w\".\"%w\" WHERE NOT EXISTS ( SELECT 1 FROM \"%w\".\"%w\" WHERE %s)\x00SELECT * FROM \"%w\".\"%w\", \"%w\".\"%w\" WHERE %s AND (%z)\x00table schemas do not match\x00SELECT tbl, ?2, stat FROM %Q.sqlite_stat1 WHERE tbl IS ?1 AND idx IS (CASE WHEN ?2=X'' THEN NULL ELSE ?2 END)\x00SELECT * FROM \x00 WHERE \x00 IS ?\x00SAVEPOINT changeset\x00RELEASE changeset\x00UPDATE main.\x00 SET \x00 = ?\x00idx IS CASE WHEN length(?4)=0 AND typeof(?4)='blob' THEN NULL ELSE ?4 END \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()\x00snippet\x00highlight\x00bm25\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\x00content_rowid\x00multiple content_rowid=... directives\x00columnsize\x00malformed columnsize=... directive\x00columns\x00malformed detail=... directive\x00unrecognized option: \"%.*s\"\x00reserved fts5 column name: %s\x00unindexed\x00unrecognized column option: %s\x00T.%Q\x00, T.%Q\x00, T.c%d\x00reserved fts5 table name: %s\x00parse error in \"%s\"\x00docsize\x00%Q.'%q_%s'\x00CREATE TABLE x(\x00%z%s%Q\x00%z, %Q HIDDEN, %s HIDDEN)\x00pgsz\x00hashsize\x00automerge\x00usermerge\x00crisismerge\x00SELECT k, v FROM %Q.'%q_config'\x00version\x00invalid fts5 file format (found %d, expected %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)\x00fts5: %s queries are not supported (detail!=full)\x00phrase\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=?\x00PRAGMA %Q.data_version\x00SELECT pgno FROM '%q'.'%q_idx' WHERE segid=? AND term<=? ORDER BY term DESC LIMIT 1\x00INSERT INTO '%q'.'%q_idx'(segid,term,pgno) VALUES(?,?,?)\x00%s_data\x00id INTEGER PRIMARY KEY, block BLOB\x00segid, term, pgno, PRIMARY KEY(segid, term)\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\x00SELECT rowid, rank FROM %Q.%Q ORDER BY %s(\"%w\"%s%s) %s\x00DESC\x00ASC\x00reads\x00unknown special query: %.*s\x00SELECT %s\x00no such function: %s\x00parse error in rank function: %s\x00%s: table does not support scanning\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\x00cannot %s contentless fts5 table: %s\x00DELETE from\x00no such cursor: %lld\x00no such tokenizer: %s\x00error in tokenizer constructor\x00fts5_api_ptr\x00fts5: 2022-03-26 13:51:10 d33c709cc0af66bc5b6dc6216eba9f1f0b40960b9ae83694c986fbf4c1d6f08f\x00config\x00fts5\x00fts5_source_id\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(?,?)\x00DELETE FROM %Q.'%q_docsize' WHERE id=?\x00SELECT sz FROM %Q.'%q_docsize' WHERE id=?\x00REPLACE INTO %Q.'%q_config' VALUES(?,?)\x00SELECT %s FROM %s AS T\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\x00id INTEGER PRIMARY KEY, sz BLOB\x00k PRIMARY KEY, v\x00DELETE FROM %Q.'%q_data';DELETE FROM %Q.'%q_idx';\x00DELETE FROM %Q.'%q_docsize';\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\x00ascii\x00porter\x00trigram\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\x002022-03-26 13:51:10 d33c709cc0af66bc5b6dc6216eba9f1f0b40960b9ae83694c986fbf4c1d6f08f\x00" var ts = (*reflect.StringHeader)(unsafe.Pointer(&ts1)).Data diff --git a/vendor/modernc.org/sqlite/lib/sqlite_freebsd_amd64.go b/vendor/modernc.org/sqlite/lib/sqlite_freebsd_amd64.go index 08821535..d4921176 100644 --- a/vendor/modernc.org/sqlite/lib/sqlite_freebsd_amd64.go +++ b/vendor/modernc.org/sqlite/lib/sqlite_freebsd_amd64.go @@ -1,4 +1,4 @@ -// Code generated by 'ccgo -DSQLITE_PRIVATE= -export-defines "" -export-enums "" -export-externs X -export-fields F -export-typedefs "" -ignore-unsupported-alignment -pkgname sqlite3 -o lib/sqlite_freebsd_amd64.go -trace-translation-units testdata/sqlite-amalgamation-3380100/sqlite3.c -DNDEBUG -DHAVE_USLEEP -DLONGDOUBLE_TYPE=double -DSQLITE_CORE -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_GEOPOLY -DSQLITE_ENABLE_MATH_FUNCTIONS -DSQLITE_ENABLE_MEMORY_MANAGEMENT -DSQLITE_ENABLE_OFFSET_SQL_FUNC -DSQLITE_ENABLE_PREUPDATE_HOOK -DSQLITE_ENABLE_RBU -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_SESSION -DSQLITE_ENABLE_SNAPSHOT -DSQLITE_ENABLE_STAT4 -DSQLITE_ENABLE_UNLOCK_NOTIFY -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_MUTEX_APPDEF=1 -DSQLITE_MUTEX_NOOP -DSQLITE_SOUNDEX -DSQLITE_THREADSAFE=1 -DSQLITE_OS_UNIX=1', DO NOT EDIT. +// Code generated by 'ccgo -DSQLITE_PRIVATE= -export-defines "" -export-enums "" -export-externs X -export-fields F -export-typedefs "" -ignore-unsupported-alignment -pkgname sqlite3 -o lib/sqlite_freebsd_amd64.go -trace-translation-units testdata/sqlite-amalgamation-3380200/sqlite3.c -DNDEBUG -DHAVE_USLEEP -DLONGDOUBLE_TYPE=double -DSQLITE_CORE -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_GEOPOLY -DSQLITE_ENABLE_MATH_FUNCTIONS -DSQLITE_ENABLE_MEMORY_MANAGEMENT -DSQLITE_ENABLE_OFFSET_SQL_FUNC -DSQLITE_ENABLE_PREUPDATE_HOOK -DSQLITE_ENABLE_RBU -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_SESSION -DSQLITE_ENABLE_SNAPSHOT -DSQLITE_ENABLE_STAT4 -DSQLITE_ENABLE_UNLOCK_NOTIFY -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_MUTEX_APPDEF=1 -DSQLITE_MUTEX_NOOP -DSQLITE_SOUNDEX -DSQLITE_THREADSAFE=1 -DSQLITE_OS_UNIX=1', DO NOT EDIT. package sqlite3 @@ -1926,7 +1926,7 @@ const ( SQLITE_SHM_UNLOCK = 1 SQLITE_SORTER_PMASZ = 250 SQLITE_SOUNDEX = 1 - SQLITE_SOURCE_ID = "2022-03-12 13:37:29 38c210fdd258658321c85ec9c01a072fda3ada94540e3239d29b34dc547a8cbc" + SQLITE_SOURCE_ID = "2022-03-26 13:51:10 d33c709cc0af66bc5b6dc6216eba9f1f0b40960b9ae83694c986fbf4c1d6f08f" SQLITE_SO_ASC = 0 SQLITE_SO_DESC = 1 SQLITE_SO_UNDEFINED = -1 @@ -2034,8 +2034,8 @@ const ( SQLITE_UTF8 = 1 SQLITE_VDBEINT_H = 0 SQLITE_VDBE_H = 0 - SQLITE_VERSION = "3.38.1" - SQLITE_VERSION_NUMBER = 3038001 + SQLITE_VERSION = "3.38.2" + SQLITE_VERSION_NUMBER = 3038002 SQLITE_VTABRISK_High = 2 SQLITE_VTABRISK_Low = 0 SQLITE_VTABRISK_Normal = 1 @@ -2977,7 +2977,7 @@ type X__float128 = float64 /* :47:21 */ // ***************************************************************************** // // This file is an amalgamation of many separate C source files from SQLite -// version 3.38.1. By combining all the individual C code files into this +// version 3.38.2. By combining all the individual C code files into this // single large file, the entire code can be compiled as a single translation // unit. This allows many compilers to do optimizations that would not be // possible if the files were compiled separately. Performance improvements @@ -24701,12 +24701,22 @@ var pgsz int32 = 4096 /* sqlite3.c:39581:28 */ // to shared and back or from unlocked to exclusive and back. But one may // not go from shared to exclusive or from exclusive to shared. func unixShmLock(tls *libc.TLS, fd uintptr, ofst int32, n int32, flags int32) int32 { /* sqlite3.c:39687:12: */ - var pDbFd uintptr = fd // Connection holding shared memory - var p uintptr = (*UnixFile)(unsafe.Pointer(pDbFd)).FpShm // The shared memory being locked - var pShmNode uintptr = (*UnixShm)(unsafe.Pointer(p)).FpShmNode // The underlying file iNode - var rc int32 = SQLITE_OK // Result code - var mask U16 // Mask of locks to take or release - var aLock uintptr = pShmNode + 64 /* &.aLock */ + var pDbFd uintptr = fd // Connection holding shared memory + var p uintptr // The shared memory being locked + var pShmNode uintptr // The underlying file iNode + var rc int32 = SQLITE_OK // Result code + var mask U16 // Mask of locks to take or release + var aLock uintptr + + p = (*UnixFile)(unsafe.Pointer(pDbFd)).FpShm + if p == uintptr(0) { + return SQLITE_IOERR | int32(20)<<8 + } + pShmNode = (*UnixShm)(unsafe.Pointer(p)).FpShmNode + if pShmNode == uintptr(0) { + return SQLITE_IOERR | int32(20)<<8 + } + aLock = pShmNode + 64 /* &.aLock */ // Check that, if this to be a blocking lock, no locks that occur later // in the following list than the lock being obtained are already held: @@ -24807,7 +24817,7 @@ func unixShmLock(tls *libc.TLS, fd uintptr, ofst int32, n int32, flags int32) in // // All loads and stores begun before the barrier must complete before // any load or store begun after the barrier. -func unixShmBarrier(tls *libc.TLS, fd uintptr) { /* sqlite3.c:39819:13: */ +func unixShmBarrier(tls *libc.TLS, fd uintptr) { /* sqlite3.c:39825:13: */ _ = fd // compiler-defined memory barrier @@ -24820,7 +24830,7 @@ func unixShmBarrier(tls *libc.TLS, fd uintptr) { /* sqlite3.c:39819:13: */ // // If there is no shared memory associated with the connection then this // routine is a harmless no-op. -func unixShmUnmap(tls *libc.TLS, fd uintptr, deleteFlag int32) int32 { /* sqlite3.c:39838:12: */ +func unixShmUnmap(tls *libc.TLS, fd uintptr, deleteFlag int32) int32 { /* sqlite3.c:39844:12: */ var p uintptr // The connection to be closed var pShmNode uintptr // The underlying shared-memory file var pp uintptr // For looping over sibling connections @@ -24863,7 +24873,7 @@ func unixShmUnmap(tls *libc.TLS, fd uintptr, deleteFlag int32) int32 { /* sqlite } // If it is currently memory mapped, unmap file pFd. -func unixUnmapfile(tls *libc.TLS, pFd uintptr) { /* sqlite3.c:39895:13: */ +func unixUnmapfile(tls *libc.TLS, pFd uintptr) { /* sqlite3.c:39901:13: */ if (*UnixFile)(unsafe.Pointer(pFd)).FpMapRegion != 0 { (*(*func(*libc.TLS, uintptr, Size_t) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 23*24 + 8)))(tls, (*UnixFile)(unsafe.Pointer(pFd)).FpMapRegion, uint64((*UnixFile)(unsafe.Pointer(pFd)).FmmapSizeActual)) @@ -24886,7 +24896,7 @@ func unixUnmapfile(tls *libc.TLS, pFd uintptr) { /* sqlite3.c:39895:13: */ // the three variables above are zeroed. In this case SQLite should // continue accessing the database using the xRead() and xWrite() // methods. -func unixRemapfile(tls *libc.TLS, pFd uintptr, nNew I64) { /* sqlite3.c:39920:13: */ +func unixRemapfile(tls *libc.TLS, pFd uintptr, nNew I64) { /* sqlite3.c:39926:13: */ var zErr uintptr = ts + 3363 /* "mmap" */ var h int32 = (*UnixFile)(unsafe.Pointer(pFd)).Fh // File descriptor open on db file var pOrig uintptr = (*UnixFile)(unsafe.Pointer(pFd)).FpMapRegion // Pointer to current file mapping @@ -24928,7 +24938,7 @@ func unixRemapfile(tls *libc.TLS, pFd uintptr, nNew I64) { /* sqlite3.c:39920:13 if pNew == libc.UintptrFromInt32(-1) { pNew = uintptr(0) nNew = int64(0) - unixLogErrorAtLine(tls, SQLITE_OK, zErr, (*UnixFile)(unsafe.Pointer(pFd)).FzPath, 39985) + unixLogErrorAtLine(tls, SQLITE_OK, zErr, (*UnixFile)(unsafe.Pointer(pFd)).FzPath, 39991) // If the mmap() above failed, assume that all subsequent mmap() calls // will probably fail too. Fall back to using xRead/xWrite exclusively @@ -24953,7 +24963,7 @@ func unixRemapfile(tls *libc.TLS, pFd uintptr, nNew I64) { /* sqlite3.c:39920:13 // SQLITE_OK is returned if no error occurs (even if the mapping is not // recreated as a result of outstanding references) or an SQLite error // code otherwise. -func unixMapfile(tls *libc.TLS, pFd uintptr, nMap I64) int32 { /* sqlite3.c:40012:12: */ +func unixMapfile(tls *libc.TLS, pFd uintptr, nMap I64) int32 { /* sqlite3.c:40018:12: */ bp := tls.Alloc(224) defer tls.Free(224) @@ -24990,7 +25000,7 @@ func unixMapfile(tls *libc.TLS, pFd uintptr, nMap I64) int32 { /* sqlite3.c:4001 // // If this function does return a pointer, the caller must eventually // release the reference by calling unixUnfetch(). -func unixFetch(tls *libc.TLS, fd uintptr, iOff I64, nAmt int32, pp uintptr) int32 { /* sqlite3.c:40049:12: */ +func unixFetch(tls *libc.TLS, fd uintptr, iOff I64, nAmt int32, pp uintptr) int32 { /* sqlite3.c:40055:12: */ var pFd uintptr = fd // The underlying database file *(*uintptr)(unsafe.Pointer(pp)) = uintptr(0) @@ -25017,7 +25027,7 @@ func unixFetch(tls *libc.TLS, fd uintptr, iOff I64, nAmt int32, pp uintptr) int3 // Or, if the third argument is NULL, then this function is being called // to inform the VFS layer that, according to POSIX, any existing mapping // may now be invalid and should be unmapped. -func unixUnfetch(tls *libc.TLS, fd uintptr, iOff I64, p uintptr) int32 { /* sqlite3.c:40080:12: */ +func unixUnfetch(tls *libc.TLS, fd uintptr, iOff I64, p uintptr) int32 { /* sqlite3.c:40086:12: */ var pFd uintptr = fd // The underlying database file _ = iOff @@ -25078,33 +25088,33 @@ func unixUnfetch(tls *libc.TLS, fd uintptr, iOff I64, p uintptr) int32 { /* sqli // Here are all of the sqlite3_io_methods objects for each of the // locking strategies. Functions that return pointers to these methods // are also created. -var posixIoMethods = Sqlite3_io_methods{FiVersion: 3 /* iVersion */, FxClose: 0 /* xClose */, FxRead: 0 /* xRead */, FxWrite: 0 /* xWrite */, FxTruncate: 0 /* xTruncate */, FxSync: 0 /* xSync */, FxFileSize: 0 /* xFileSize */, FxLock: 0 /* xLock */, FxUnlock: 0 /* xUnlock */, FxCheckReservedLock: 0 /* xCheckReservedLock */, FxFileControl: 0 /* xFileControl */, FxSectorSize: 0 /* xSectorSize */, FxDeviceCharacteristics: 0 /* xDeviceCapabilities */, FxShmMap: 0 /* xShmMap */, FxShmLock: 0 /* xShmLock */, FxShmBarrier: 0 /* xShmBarrier */, FxShmUnmap: 0 /* xShmUnmap */, FxFetch: 0 /* xFetch */, FxUnfetch: 0 /* xUnfetch */} /* sqlite3.c:40182:1 */ +var posixIoMethods = Sqlite3_io_methods{FiVersion: 3 /* iVersion */, FxClose: 0 /* xClose */, FxRead: 0 /* xRead */, FxWrite: 0 /* xWrite */, FxTruncate: 0 /* xTruncate */, FxSync: 0 /* xSync */, FxFileSize: 0 /* xFileSize */, FxLock: 0 /* xLock */, FxUnlock: 0 /* xUnlock */, FxCheckReservedLock: 0 /* xCheckReservedLock */, FxFileControl: 0 /* xFileControl */, FxSectorSize: 0 /* xSectorSize */, FxDeviceCharacteristics: 0 /* xDeviceCapabilities */, FxShmMap: 0 /* xShmMap */, FxShmLock: 0 /* xShmLock */, FxShmBarrier: 0 /* xShmBarrier */, FxShmUnmap: 0 /* xShmUnmap */, FxFetch: 0 /* xFetch */, FxUnfetch: 0 /* xUnfetch */} /* sqlite3.c:40188:1 */ -func posixIoFinderImpl(tls *libc.TLS, z uintptr, p uintptr) uintptr { /* sqlite3.c:40182:1: */ +func posixIoFinderImpl(tls *libc.TLS, z uintptr, p uintptr) uintptr { /* sqlite3.c:40188:1: */ _ = z _ = p return uintptr(unsafe.Pointer(&posixIoMethods)) } -var posixIoFinder uintptr = 0 /* sqlite3.c:40182:1 */ -var nolockIoMethods = Sqlite3_io_methods{FiVersion: 3 /* iVersion */, FxClose: 0 /* xClose */, FxRead: 0 /* xRead */, FxWrite: 0 /* xWrite */, FxTruncate: 0 /* xTruncate */, FxSync: 0 /* xSync */, FxFileSize: 0 /* xFileSize */, FxLock: 0 /* xLock */, FxUnlock: 0 /* xUnlock */, FxCheckReservedLock: 0 /* xCheckReservedLock */, FxFileControl: 0 /* xFileControl */, FxSectorSize: 0 /* xSectorSize */, FxDeviceCharacteristics: 0 /* xShmMap */, FxShmLock: 0 /* xShmLock */, FxShmBarrier: 0 /* xShmBarrier */, FxShmUnmap: 0 /* xShmUnmap */, FxFetch: 0 /* xFetch */, FxUnfetch: 0 /* xUnfetch */} /* sqlite3.c:40192:1 */ +var posixIoFinder uintptr = 0 /* sqlite3.c:40188:1 */ +var nolockIoMethods = Sqlite3_io_methods{FiVersion: 3 /* iVersion */, FxClose: 0 /* xClose */, FxRead: 0 /* xRead */, FxWrite: 0 /* xWrite */, FxTruncate: 0 /* xTruncate */, FxSync: 0 /* xSync */, FxFileSize: 0 /* xFileSize */, FxLock: 0 /* xLock */, FxUnlock: 0 /* xUnlock */, FxCheckReservedLock: 0 /* xCheckReservedLock */, FxFileControl: 0 /* xFileControl */, FxSectorSize: 0 /* xSectorSize */, FxDeviceCharacteristics: 0 /* xShmMap */, FxShmLock: 0 /* xShmLock */, FxShmBarrier: 0 /* xShmBarrier */, FxShmUnmap: 0 /* xShmUnmap */, FxFetch: 0 /* xFetch */, FxUnfetch: 0 /* xUnfetch */} /* sqlite3.c:40198:1 */ -func nolockIoFinderImpl(tls *libc.TLS, z uintptr, p uintptr) uintptr { /* sqlite3.c:40192:1: */ +func nolockIoFinderImpl(tls *libc.TLS, z uintptr, p uintptr) uintptr { /* sqlite3.c:40198:1: */ _ = z _ = p return uintptr(unsafe.Pointer(&nolockIoMethods)) } -var nolockIoFinder uintptr = 0 /* sqlite3.c:40192:1 */ -var dotlockIoMethods = Sqlite3_io_methods{FiVersion: 1 /* iVersion */, FxClose: 0 /* xClose */, FxRead: 0 /* xRead */, FxWrite: 0 /* xWrite */, FxTruncate: 0 /* xTruncate */, FxSync: 0 /* xSync */, FxFileSize: 0 /* xFileSize */, FxLock: 0 /* xLock */, FxUnlock: 0 /* xUnlock */, FxCheckReservedLock: 0 /* xCheckReservedLock */, FxFileControl: 0 /* xFileControl */, FxSectorSize: 0 /* xSectorSize */, FxDeviceCharacteristics: 0 /* xShmMap */, FxShmLock: 0 /* xShmLock */, FxShmBarrier: 0 /* xShmBarrier */, FxShmUnmap: 0 /* xShmUnmap */, FxFetch: 0 /* xFetch */, FxUnfetch: 0 /* xUnfetch */} /* sqlite3.c:40202:1 */ +var nolockIoFinder uintptr = 0 /* sqlite3.c:40198:1 */ +var dotlockIoMethods = Sqlite3_io_methods{FiVersion: 1 /* iVersion */, FxClose: 0 /* xClose */, FxRead: 0 /* xRead */, FxWrite: 0 /* xWrite */, FxTruncate: 0 /* xTruncate */, FxSync: 0 /* xSync */, FxFileSize: 0 /* xFileSize */, FxLock: 0 /* xLock */, FxUnlock: 0 /* xUnlock */, FxCheckReservedLock: 0 /* xCheckReservedLock */, FxFileControl: 0 /* xFileControl */, FxSectorSize: 0 /* xSectorSize */, FxDeviceCharacteristics: 0 /* xShmMap */, FxShmLock: 0 /* xShmLock */, FxShmBarrier: 0 /* xShmBarrier */, FxShmUnmap: 0 /* xShmUnmap */, FxFetch: 0 /* xFetch */, FxUnfetch: 0 /* xUnfetch */} /* sqlite3.c:40208:1 */ -func dotlockIoFinderImpl(tls *libc.TLS, z uintptr, p uintptr) uintptr { /* sqlite3.c:40202:1: */ +func dotlockIoFinderImpl(tls *libc.TLS, z uintptr, p uintptr) uintptr { /* sqlite3.c:40208:1: */ _ = z _ = p return uintptr(unsafe.Pointer(&dotlockIoMethods)) } -var dotlockIoFinder uintptr = 0 /* sqlite3.c:40202:1 */ +var dotlockIoFinder uintptr = 0 /* sqlite3.c:40208:1 */ // The proxy locking method is a "super-method" in the sense that it // opens secondary file descriptors for the conch and lock files and @@ -25117,7 +25127,7 @@ var dotlockIoFinder uintptr = 0 /* sqlite3.c:40202:1 */ // nfs lockd on OSX 10.3+ doesn't clear write locks when a read lock is set // An abstract type for a pointer to an IO method finder function: -type Finder_type = uintptr /* sqlite3.c:40397:34 */ +type Finder_type = uintptr /* sqlite3.c:40403:34 */ // *************************************************************************** // @@ -25127,7 +25137,7 @@ type Finder_type = uintptr /* sqlite3.c:40397:34 */ // sqlite3_vfs object. // Initialize the contents of the unixFile structure pointed to by pId. -func fillInUnixFile(tls *libc.TLS, pVfs uintptr, h int32, pId uintptr, zFilename uintptr, ctrlFlags int32) int32 { /* sqlite3.c:40410:12: */ +func fillInUnixFile(tls *libc.TLS, pVfs uintptr, h int32, pId uintptr, zFilename uintptr, ctrlFlags int32) int32 { /* sqlite3.c:40416:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -25184,7 +25194,7 @@ func fillInUnixFile(tls *libc.TLS, pVfs uintptr, h int32, pId uintptr, zFilename // If scenario (a) caused the error then things are not so safe. The // implicit assumption here is that if fstat() fails, things are in // such bad shape that dropping a lock or two doesn't matter much. - robust_close(tls, pNew, h, 40488) + robust_close(tls, pNew, h, 40494) h = -1 } unixLeaveMutex(tls) @@ -25207,7 +25217,7 @@ func fillInUnixFile(tls *libc.TLS, pVfs uintptr, h int32, pId uintptr, zFilename storeLastErrno(tls, pNew, 0) if rc != SQLITE_OK { if h >= 0 { - robust_close(tls, pNew, h, 40573) + robust_close(tls, pNew, h, 40579) } } else { (*Sqlite3_file)(unsafe.Pointer(pId)).FpMethods = pLockingStyle @@ -25225,17 +25235,17 @@ var azTempDirs = [6]uintptr{ ts + 3673, ts + 3682, ts + 1540, -} /* sqlite3.c:40585:19 */ +} /* sqlite3.c:40591:19 */ // Initialize first two members of azTempDirs[] array. -func unixTempFileInit(tls *libc.TLS) { /* sqlite3.c:40597:13: */ +func unixTempFileInit(tls *libc.TLS) { /* sqlite3.c:40603:13: */ azTempDirs[0] = libc.Xgetenv(tls, ts+3687) azTempDirs[1] = libc.Xgetenv(tls, ts+3701) } // Return the name of a directory in which to put temporary files. // If no suitable temporary file directory can be found, return NULL. -func unixTempFileDir(tls *libc.TLS) uintptr { /* sqlite3.c:40606:19: */ +func unixTempFileDir(tls *libc.TLS) uintptr { /* sqlite3.c:40612:19: */ bp := tls.Alloc(224) defer tls.Free(224) @@ -25262,7 +25272,7 @@ func unixTempFileDir(tls *libc.TLS) uintptr { /* sqlite3.c:40606:19: */ // Create a temporary file name in zBuf. zBuf must be allocated // by the calling process and must be big enough to hold at least // pVfs->mxPathname bytes. -func unixGetTempname(tls *libc.TLS, nBuf int32, zBuf uintptr) int32 { /* sqlite3.c:40630:12: */ +func unixGetTempname(tls *libc.TLS, nBuf int32, zBuf uintptr) int32 { /* sqlite3.c:40636:12: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -25306,7 +25316,7 @@ func unixGetTempname(tls *libc.TLS, nBuf int32, zBuf uintptr) int32 { /* sqlite3 // // If a suitable file descriptor is found, then it is returned. If no // such file descriptor is located, -1 is returned. -func findReusableFd(tls *libc.TLS, zPath uintptr, flags int32) uintptr { /* sqlite3.c:40680:21: */ +func findReusableFd(tls *libc.TLS, zPath uintptr, flags int32) uintptr { /* sqlite3.c:40686:21: */ bp := tls.Alloc(224) defer tls.Free(224) @@ -25357,7 +25367,7 @@ func findReusableFd(tls *libc.TLS, zPath uintptr, flags int32) uintptr { /* sqli } // Find the mode, uid and gid of file zFile. -func getFileMode(tls *libc.TLS, zFile uintptr, pMode uintptr, pUid uintptr, pGid uintptr) int32 { /* sqlite3.c:40730:12: */ +func getFileMode(tls *libc.TLS, zFile uintptr, pMode uintptr, pUid uintptr, pGid uintptr) int32 { /* sqlite3.c:40736:12: */ bp := tls.Alloc(224) defer tls.Free(224) @@ -25393,7 +25403,7 @@ func getFileMode(tls *libc.TLS, zFile uintptr, pMode uintptr, pUid uintptr, pGid // original filename is unavailable. But 8_3_NAMES is only used for // FAT filesystems and permissions do not matter there, so just use // the default permissions. In 8_3_NAMES mode, leave *pMode set to zero. -func findCreateFileMode(tls *libc.TLS, zPath uintptr, flags int32, pMode uintptr, pUid uintptr, pGid uintptr) int32 { /* sqlite3.c:40769:12: */ +func findCreateFileMode(tls *libc.TLS, zPath uintptr, flags int32, pMode uintptr, pUid uintptr, pGid uintptr) int32 { /* sqlite3.c:40775:12: */ bp := tls.Alloc(513) defer tls.Free(513) @@ -25467,7 +25477,7 @@ func findCreateFileMode(tls *libc.TLS, zPath uintptr, flags int32, pMode uintptr // file handle closed. To achieve the same effect using this new // interface, add the DELETEONCLOSE flag to those specified above for // OpenExclusive(). -func unixOpen(tls *libc.TLS, pVfs uintptr, zPath uintptr, pFile uintptr, flags int32, pOutFlags uintptr) int32 { /* sqlite3.c:40846:12: */ +func unixOpen(tls *libc.TLS, pVfs uintptr, zPath uintptr, pFile uintptr, flags int32, pOutFlags uintptr) int32 { /* sqlite3.c:40852:12: */ bp := tls.Alloc(524) defer tls.Free(524) @@ -25665,7 +25675,7 @@ __15: if !(fd < 0) { goto __19 } - rc2 = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 41002), ts+3205, zName, 41002) + rc2 = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 41008), ts+3205, zName, 41008) if !(rc == SQLITE_OK) { goto __20 } @@ -25765,7 +25775,7 @@ __30: // Delete the file at zPath. If the dirSync argument is true, fsync() // the directory after deleting the file. -func unixDelete(tls *libc.TLS, NotUsed uintptr, zPath uintptr, dirSync int32) int32 { /* sqlite3.c:41125:12: */ +func unixDelete(tls *libc.TLS, NotUsed uintptr, zPath uintptr, dirSync int32) int32 { /* sqlite3.c:41131:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -25776,7 +25786,7 @@ func unixDelete(tls *libc.TLS, NotUsed uintptr, zPath uintptr, dirSync int32) in if *(*int32)(unsafe.Pointer(libc.X__error(tls))) == ENOENT { rc = SQLITE_IOERR | int32(23)<<8 } else { - rc = unixLogErrorAtLine(tls, SQLITE_IOERR|int32(10)<<8, ts+3315, zPath, 41141) + rc = unixLogErrorAtLine(tls, SQLITE_IOERR|int32(10)<<8, ts+3315, zPath, 41147) } return rc } @@ -25786,9 +25796,9 @@ func unixDelete(tls *libc.TLS, NotUsed uintptr, zPath uintptr, dirSync int32) in rc = (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 17*24 + 8)))(tls, zPath, bp) if rc == SQLITE_OK { if full_fsync(tls, *(*int32)(unsafe.Pointer(bp)), 0, 0) != 0 { - rc = unixLogErrorAtLine(tls, SQLITE_IOERR|int32(5)<<8, ts+3732, zPath, 41151) + rc = unixLogErrorAtLine(tls, SQLITE_IOERR|int32(5)<<8, ts+3732, zPath, 41157) } - robust_close(tls, uintptr(0), *(*int32)(unsafe.Pointer(bp /* fd */)), 41153) + robust_close(tls, uintptr(0), *(*int32)(unsafe.Pointer(bp /* fd */)), 41159) } else { rc = SQLITE_OK @@ -25805,7 +25815,7 @@ func unixDelete(tls *libc.TLS, NotUsed uintptr, zPath uintptr, dirSync int32) in // SQLITE_ACCESS_READONLY: Return 1 if the file is readable. // // Otherwise return 0. -func unixAccess(tls *libc.TLS, NotUsed uintptr, zPath uintptr, flags int32, pResOut uintptr) int32 { /* sqlite3.c:41173:12: */ +func unixAccess(tls *libc.TLS, NotUsed uintptr, zPath uintptr, flags int32, pResOut uintptr) int32 { /* sqlite3.c:41179:12: */ bp := tls.Alloc(224) defer tls.Free(224) @@ -25827,7 +25837,7 @@ func unixAccess(tls *libc.TLS, NotUsed uintptr, zPath uintptr, flags int32, pRes // If the last component of the pathname in z[0]..z[j-1] is something // other than ".." then back it out and return true. If the last // component is empty or if it is ".." then return false. -func unixBackupDir(tls *libc.TLS, z uintptr, pJ uintptr) int32 { /* sqlite3.c:41202:12: */ +func unixBackupDir(tls *libc.TLS, z uintptr, pJ uintptr) int32 { /* sqlite3.c:41208:12: */ var j int32 = *(*int32)(unsafe.Pointer(pJ)) var i int32 if j <= 0 { @@ -25850,7 +25860,7 @@ func unixBackupDir(tls *libc.TLS, z uintptr, pJ uintptr) int32 { /* sqlite3.c:41 // // Remove all instances of /./ // Remove all isntances of /X/../ for any X -func mkFullPathname(tls *libc.TLS, zPath uintptr, zOut uintptr, nOut int32) int32 { /* sqlite3.c:41220:12: */ +func mkFullPathname(tls *libc.TLS, zPath uintptr, zOut uintptr, nOut int32) int32 { /* sqlite3.c:41226:12: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -25861,7 +25871,7 @@ func mkFullPathname(tls *libc.TLS, zPath uintptr, zOut uintptr, nOut int32) int3 if int32(*(*int8)(unsafe.Pointer(zPath))) != '/' { if (*(*func(*libc.TLS, uintptr, Size_t) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 3*24 + 8)))(tls, zOut, uint64(nOut-2)) == uintptr(0) { - return unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 41230), ts+3223, zPath, 41230) + return unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 41236), ts+3223, zPath, 41236) } iOff = Xsqlite3Strlen30(tls, zOut) *(*int8)(unsafe.Pointer(zOut + uintptr(libc.PostIncInt32(&iOff, 1)))) = int8('/') @@ -25870,7 +25880,7 @@ func mkFullPathname(tls *libc.TLS, zPath uintptr, zOut uintptr, nOut int32) int3 // SQLite assumes that xFullPathname() nul-terminates the output buffer // even if it returns an error. *(*int8)(unsafe.Pointer(zOut + uintptr(iOff))) = int8(0) - return Xsqlite3CantopenError(tls, 41239) + return Xsqlite3CantopenError(tls, 41245) } Xsqlite3_snprintf(tls, nOut-iOff, zOut+uintptr(iOff), ts+3607, libc.VaList(bp, zPath)) @@ -25921,7 +25931,7 @@ func mkFullPathname(tls *libc.TLS, zPath uintptr, zOut uintptr, nOut int32) int3 // zOut points to a buffer of at least sqlite3_vfs.mxPathname bytes // (in this case, MAX_PATHNAME bytes). The full-path is written to // this buffer before returning. -func unixFullPathname(tls *libc.TLS, pVfs uintptr, zPath uintptr, nOut int32, zOut uintptr) int32 { /* sqlite3.c:41289:12: */ +func unixFullPathname(tls *libc.TLS, pVfs uintptr, zPath uintptr, nOut int32, zOut uintptr) int32 { /* sqlite3.c:41295:12: */ bp := tls.Alloc(224) defer tls.Free(224) @@ -25947,7 +25957,7 @@ func unixFullPathname(tls *libc.TLS, pVfs uintptr, zPath uintptr, nOut int32, zO if (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 27*24 + 8)))(tls, zIn, bp) != 0 { if *(*int32)(unsafe.Pointer(libc.X__error(tls))) != ENOENT { - rc = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 41322), ts+3403, zIn, 41322) + rc = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 41328), ts+3403, zIn, 41328) } } else { bLink = libc.Bool32(int32((*stat)(unsafe.Pointer(bp)).Fst_mode)&0170000 == 0120000) @@ -25961,20 +25971,20 @@ func unixFullPathname(tls *libc.TLS, pVfs uintptr, zPath uintptr, nOut int32, zO rc = SQLITE_NOMEM } } else if nLink >= SQLITE_MAX_SYMLINKS { - rc = Xsqlite3CantopenError(tls, 41334) + rc = Xsqlite3CantopenError(tls, 41340) } if rc == SQLITE_OK { nByte = int32((*(*func(*libc.TLS, uintptr, uintptr, Size_t) Ssize_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 26*24 + 8)))(tls, zIn, zDel, uint64(nOut-1))) if nByte < 0 { - rc = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 41340), ts+3394, zIn, 41340) + rc = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 41346), ts+3394, zIn, 41346) } else { if int32(*(*int8)(unsafe.Pointer(zDel))) != '/' { var n int32 for n = Xsqlite3Strlen30(tls, zIn); n > 0 && int32(*(*int8)(unsafe.Pointer(zIn + uintptr(n-1)))) != '/'; n-- { } if nByte+n+1 > nOut { - rc = Xsqlite3CantopenError(tls, 41346) + rc = Xsqlite3CantopenError(tls, 41352) } else { libc.Xmemmove(tls, zDel+uintptr(n), zDel, uint64(nByte+1)) libc.Xmemcpy(tls, zDel, zIn, uint64(n)) @@ -26184,7 +26194,7 @@ type dl_serinfo = struct { type Dl_serinfo = dl_serinfo /* dlfcn.h:113:3 */ -func unixDlOpen(tls *libc.TLS, NotUsed uintptr, zFilename uintptr) uintptr { /* sqlite3.c:41381:13: */ +func unixDlOpen(tls *libc.TLS, NotUsed uintptr, zFilename uintptr) uintptr { /* sqlite3.c:41387:13: */ _ = NotUsed return libc.Xdlopen(tls, zFilename, RTLD_NOW|RTLD_GLOBAL) } @@ -26194,7 +26204,7 @@ func unixDlOpen(tls *libc.TLS, NotUsed uintptr, zFilename uintptr) uintptr { /* // message is available, it is written to zBufOut. If no error message // is available, zBufOut is left unmodified and SQLite uses a default // error message. -func unixDlError(tls *libc.TLS, NotUsed uintptr, nBuf int32, zBufOut uintptr) { /* sqlite3.c:41393:13: */ +func unixDlError(tls *libc.TLS, NotUsed uintptr, nBuf int32, zBufOut uintptr) { /* sqlite3.c:41399:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -26208,7 +26218,7 @@ func unixDlError(tls *libc.TLS, NotUsed uintptr, nBuf int32, zBufOut uintptr) { unixLeaveMutex(tls) } -func unixDlSym(tls *libc.TLS, NotUsed uintptr, p uintptr, zSym uintptr) uintptr { /* sqlite3.c:41403:13: */ +func unixDlSym(tls *libc.TLS, NotUsed uintptr, p uintptr, zSym uintptr) uintptr { /* sqlite3.c:41409:13: */ // GCC with -pedantic-errors says that C90 does not allow a void* to be // cast into a pointer to a function. And yet the library dlsym() routine // returns a void* which is really a pointer to a function. So how do we @@ -26234,13 +26244,13 @@ func unixDlSym(tls *libc.TLS, NotUsed uintptr, p uintptr, zSym uintptr) uintptr })(unsafe.Pointer(&struct{ uintptr }{x})).f(tls, p, zSym) } -func unixDlClose(tls *libc.TLS, NotUsed uintptr, pHandle uintptr) { /* sqlite3.c:41426:13: */ +func unixDlClose(tls *libc.TLS, NotUsed uintptr, pHandle uintptr) { /* sqlite3.c:41432:13: */ _ = NotUsed libc.Xdlclose(tls, pHandle) } // Write nBuf bytes of random data to the supplied buffer zBuf. -func unixRandomness(tls *libc.TLS, NotUsed uintptr, nBuf int32, zBuf uintptr) int32 { /* sqlite3.c:41440:12: */ +func unixRandomness(tls *libc.TLS, NotUsed uintptr, nBuf int32, zBuf uintptr) int32 { /* sqlite3.c:41446:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -26275,7 +26285,7 @@ func unixRandomness(tls *libc.TLS, NotUsed uintptr, nBuf int32, zBuf uintptr) in for __ccgo := true; __ccgo; __ccgo = got < 0 && *(*int32)(unsafe.Pointer(libc.X__error(tls))) == EINTR { got = int32((*(*func(*libc.TLS, int32, uintptr, Size_t) Ssize_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 8*24 + 8)))(tls, fd, zBuf, uint64(nBuf))) } - robust_close(tls, uintptr(0), fd, 41471) + robust_close(tls, uintptr(0), fd, 41477) } } @@ -26288,7 +26298,7 @@ func unixRandomness(tls *libc.TLS, NotUsed uintptr, nBuf int32, zBuf uintptr) in // requested from the underlying operating system, a number which // might be greater than or equal to the argument, but not less // than the argument. -func unixSleep(tls *libc.TLS, NotUsed uintptr, microseconds int32) int32 { /* sqlite3.c:41487:12: */ +func unixSleep(tls *libc.TLS, NotUsed uintptr, microseconds int32) int32 { /* sqlite3.c:41493:12: */ if microseconds >= 1000000 { libc.Xsleep(tls, uint32(microseconds/1000000)) } @@ -26311,7 +26321,7 @@ func unixSleep(tls *libc.TLS, NotUsed uintptr, microseconds int32) int32 { /* sq // // On success, return SQLITE_OK. Return SQLITE_ERROR if the time and date // cannot be found. -func unixCurrentTimeInt64(tls *libc.TLS, NotUsed uintptr, piNow uintptr) int32 { /* sqlite3.c:41528:12: */ +func unixCurrentTimeInt64(tls *libc.TLS, NotUsed uintptr, piNow uintptr) int32 { /* sqlite3.c:41534:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -26325,12 +26335,12 @@ func unixCurrentTimeInt64(tls *libc.TLS, NotUsed uintptr, piNow uintptr) int32 { return rc } -var unixEpoch Sqlite3_int64 = int64(24405875) * int64(8640000) /* sqlite3.c:41529:30 */ +var unixEpoch Sqlite3_int64 = int64(24405875) * int64(8640000) /* sqlite3.c:41535:30 */ // Find the current time (in Universal Coordinated Time). Write the // current time and date as a Julian Day number into *prNow and // return 0. Return 1 if the time and date cannot be found. -func unixCurrentTime(tls *libc.TLS, NotUsed uintptr, prNow uintptr) int32 { /* sqlite3.c:41560:12: */ +func unixCurrentTime(tls *libc.TLS, NotUsed uintptr, prNow uintptr) int32 { /* sqlite3.c:41566:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -26346,7 +26356,7 @@ func unixCurrentTime(tls *libc.TLS, NotUsed uintptr, prNow uintptr) int32 { /* s // low-level error message when operating-system problems come up // during SQLite operation. Only the integer return code is currently // used. -func unixGetLastError(tls *libc.TLS, NotUsed uintptr, NotUsed2 int32, NotUsed3 uintptr) int32 { /* sqlite3.c:41578:12: */ +func unixGetLastError(tls *libc.TLS, NotUsed uintptr, NotUsed2 int32, NotUsed3 uintptr) int32 { /* sqlite3.c:41584:12: */ _ = NotUsed _ = NotUsed2 _ = NotUsed3 @@ -26528,7 +26538,7 @@ func unixGetLastError(tls *libc.TLS, NotUsed uintptr, NotUsed2 int32, NotUsed3 u // single thread. The memory allocation and mutex subsystems have not // necessarily been initialized when this routine is called, and so they // should not be used. -func Xsqlite3_os_init(tls *libc.TLS) int32 { /* sqlite3.c:42783:16: */ +func Xsqlite3_os_init(tls *libc.TLS) int32 { /* sqlite3.c:42789:16: */ var i uint32 // Loop counter // Double-check that the aSyscall[] array has been constructed @@ -26566,14 +26576,14 @@ var aVfs = [4]Sqlite3_vfs{ {FiVersion: 3 /* iVersion */, FszOsFile: int32(unsafe.Sizeof(UnixFile{})) /* szOsFile */, FmxPathname: MAX_PATHNAME /* pNext */, FzName: ts + 3756, FpAppData: 0 /* pAppData */, FxOpen: 0 /* xOpen */, FxDelete: 0 /* xDelete */, FxAccess: 0 /* xAccess */, FxFullPathname: 0 /* xFullPathname */, FxDlOpen: 0 /* xDlOpen */, FxDlError: 0 /* xDlError */, FxDlSym: 0 /* xDlSym */, FxDlClose: 0 /* xDlClose */, FxRandomness: 0 /* xRandomness */, FxSleep: 0 /* xSleep */, FxCurrentTime: 0 /* xCurrentTime */, FxGetLastError: 0 /* xGetLastError */, FxCurrentTimeInt64: 0 /* xCurrentTimeInt64 */, FxSetSystemCall: 0 /* xSetSystemCall */, FxGetSystemCall: 0 /* xGetSystemCall */, FxNextSystemCall: 0 /* xNextSystemCall */}, {FiVersion: 3 /* iVersion */, FszOsFile: int32(unsafe.Sizeof(UnixFile{})) /* szOsFile */, FmxPathname: MAX_PATHNAME /* pNext */, FzName: ts + 3766, FpAppData: 0 /* pAppData */, FxOpen: 0 /* xOpen */, FxDelete: 0 /* xDelete */, FxAccess: 0 /* xAccess */, FxFullPathname: 0 /* xFullPathname */, FxDlOpen: 0 /* xDlOpen */, FxDlError: 0 /* xDlError */, FxDlSym: 0 /* xDlSym */, FxDlClose: 0 /* xDlClose */, FxRandomness: 0 /* xRandomness */, FxSleep: 0 /* xSleep */, FxCurrentTime: 0 /* xCurrentTime */, FxGetLastError: 0 /* xGetLastError */, FxCurrentTimeInt64: 0 /* xCurrentTimeInt64 */, FxSetSystemCall: 0 /* xSetSystemCall */, FxGetSystemCall: 0 /* xGetSystemCall */, FxNextSystemCall: 0 /* xNextSystemCall */}, {FiVersion: 3 /* iVersion */, FszOsFile: int32(unsafe.Sizeof(UnixFile{})) /* szOsFile */, FmxPathname: MAX_PATHNAME /* pNext */, FzName: ts + 3646, FpAppData: 0 /* pAppData */, FxOpen: 0 /* xOpen */, FxDelete: 0 /* xDelete */, FxAccess: 0 /* xAccess */, FxFullPathname: 0 /* xFullPathname */, FxDlOpen: 0 /* xDlOpen */, FxDlError: 0 /* xDlError */, FxDlSym: 0 /* xDlSym */, FxDlClose: 0 /* xDlClose */, FxRandomness: 0 /* xRandomness */, FxSleep: 0 /* xSleep */, FxCurrentTime: 0 /* xCurrentTime */, FxGetLastError: 0 /* xGetLastError */, FxCurrentTimeInt64: 0 /* xCurrentTimeInt64 */, FxSetSystemCall: 0 /* xSetSystemCall */, FxGetSystemCall: 0 /* xGetSystemCall */, FxNextSystemCall: 0 /* xNextSystemCall */}, -} /* sqlite3.c:42836:22 */ +} /* sqlite3.c:42842:22 */ // Shutdown the operating system interface. // // Some operating systems might need to do some cleanup in this routine, // to release dynamically allocated objects. But not on unix. // This routine is a no-op for unix. -func Xsqlite3_os_end(tls *libc.TLS) int32 { /* sqlite3.c:42905:16: */ +func Xsqlite3_os_end(tls *libc.TLS) int32 { /* sqlite3.c:42911:16: */ unixBigLock = uintptr(0) return SQLITE_OK } @@ -26615,15 +26625,15 @@ func Xsqlite3_os_end(tls *libc.TLS) int32 { /* sqlite3.c:42905:16: */ // #include "sqliteInt.h" // Forward declaration of objects used by this utility -type MemVfs = sqlite3_vfs /* sqlite3.c:49095:28 */ +type MemVfs = sqlite3_vfs /* sqlite3.c:49105:28 */ type MemFile1 = struct { Fbase Sqlite3_file FpStore uintptr FeLock int32 F__ccgo_pad1 [4]byte -} /* sqlite3.c:49096:9 */ +} /* sqlite3.c:49106:9 */ -type MemFile = MemFile1 /* sqlite3.c:49096:24 */ +type MemFile = MemFile1 /* sqlite3.c:49106:24 */ type MemStore1 = struct { Fsz Sqlite3_int64 FszAlloc Sqlite3_int64 @@ -26637,9 +26647,9 @@ type MemStore1 = struct { FnRef int32 F__ccgo_pad1 [4]byte FzFName uintptr -} /* sqlite3.c:49096:9 */ +} /* sqlite3.c:49106:9 */ -type MemStore = MemStore1 /* sqlite3.c:49097:25 */ +type MemStore = MemStore1 /* sqlite3.c:49107:25 */ // File-scope variables for holding the memdb files that are accessible // to multiple database connections in separate threads. @@ -26649,13 +26659,13 @@ type MemFS = struct { FnMemStore int32 F__ccgo_pad1 [4]byte FapMemStore uintptr -} /* sqlite3.c:49167:8 */ +} /* sqlite3.c:49177:8 */ // File-scope variables for holding the memdb files that are accessible // to multiple database connections in separate threads. // // Must hold SQLITE_MUTEX_STATIC_VFS1 to access any part of this object. -var memdb_g MemFS /* sqlite3.c:49170:3: */ +var memdb_g MemFS /* sqlite3.c:49180:3: */ var memdb_vfs = Sqlite3_vfs{ FiVersion: 2, // szOsFile (set when registered) @@ -26672,7 +26682,7 @@ var memdb_vfs = Sqlite3_vfs{ FxSleep: 0, /* memdbCurrentTime, */ // xCurrentTime FxGetLastError: 0, // xGetLastError FxCurrentTimeInt64: 0, // xNextSystemCall -} /* sqlite3.c:49206:20 */ +} /* sqlite3.c:49216:20 */ var memdb_io_methods = Sqlite3_io_methods{ FiVersion: 3, // iVersion @@ -26688,21 +26698,21 @@ var memdb_io_methods = Sqlite3_io_methods{ FxDeviceCharacteristics: 0, // xShmUnmap FxFetch: 0, // xFetch FxUnfetch: 0, // xUnfetch -} /* sqlite3.c:49231:33 */ +} /* sqlite3.c:49241:33 */ // Enter/leave the mutex on a MemStore -func memdbEnter(tls *libc.TLS, p uintptr) { /* sqlite3.c:49264:13: */ +func memdbEnter(tls *libc.TLS, p uintptr) { /* sqlite3.c:49274:13: */ Xsqlite3_mutex_enter(tls, (*MemStore)(unsafe.Pointer(p)).FpMutex) } -func memdbLeave(tls *libc.TLS, p uintptr) { /* sqlite3.c:49267:13: */ +func memdbLeave(tls *libc.TLS, p uintptr) { /* sqlite3.c:49277:13: */ Xsqlite3_mutex_leave(tls, (*MemStore)(unsafe.Pointer(p)).FpMutex) } // Close an memdb-file. // Free the underlying MemStore object when its refcount drops to zero // or less. -func memdbClose(tls *libc.TLS, pFile uintptr) int32 { /* sqlite3.c:49279:12: */ +func memdbClose(tls *libc.TLS, pFile uintptr) int32 { /* sqlite3.c:49289:12: */ var p uintptr = (*MemFile)(unsafe.Pointer(pFile)).FpStore if (*MemStore)(unsafe.Pointer(p)).FzFName != 0 { var i int32 @@ -26740,7 +26750,7 @@ func memdbClose(tls *libc.TLS, pFile uintptr) int32 { /* sqlite3.c:49279:12: */ } // Read data from an memdb-file. -func memdbRead(tls *libc.TLS, pFile uintptr, zBuf uintptr, iAmt int32, iOfst Sqlite_int64) int32 { /* sqlite3.c:49321:12: */ +func memdbRead(tls *libc.TLS, pFile uintptr, zBuf uintptr, iAmt int32, iOfst Sqlite_int64) int32 { /* sqlite3.c:49331:12: */ var p uintptr = (*MemFile)(unsafe.Pointer(pFile)).FpStore memdbEnter(tls, p) if iOfst+Sqlite_int64(iAmt) > (*MemStore)(unsafe.Pointer(p)).Fsz { @@ -26757,7 +26767,7 @@ func memdbRead(tls *libc.TLS, pFile uintptr, zBuf uintptr, iAmt int32, iOfst Sql } // Try to enlarge the memory allocation to hold at least sz bytes -func memdbEnlarge(tls *libc.TLS, p uintptr, newSz Sqlite3_int64) int32 { /* sqlite3.c:49343:12: */ +func memdbEnlarge(tls *libc.TLS, p uintptr, newSz Sqlite3_int64) int32 { /* sqlite3.c:49353:12: */ var pNew uintptr if (*MemStore)(unsafe.Pointer(p)).FmFlags&uint32(SQLITE_DESERIALIZE_RESIZEABLE) == uint32(0) || (*MemStore)(unsafe.Pointer(p)).FnMmap > 0 { return SQLITE_FULL @@ -26779,7 +26789,7 @@ func memdbEnlarge(tls *libc.TLS, p uintptr, newSz Sqlite3_int64) int32 { /* sqli } // Write data to an memdb-file. -func memdbWrite(tls *libc.TLS, pFile uintptr, z uintptr, iAmt int32, iOfst Sqlite_int64) int32 { /* sqlite3.c:49363:12: */ +func memdbWrite(tls *libc.TLS, pFile uintptr, z uintptr, iAmt int32, iOfst Sqlite_int64) int32 { /* sqlite3.c:49373:12: */ var p uintptr = (*MemFile)(unsafe.Pointer(pFile)).FpStore memdbEnter(tls, p) if (*MemStore)(unsafe.Pointer(p)).FmFlags&uint32(SQLITE_DESERIALIZE_READONLY) != 0 { @@ -26810,7 +26820,7 @@ func memdbWrite(tls *libc.TLS, pFile uintptr, z uintptr, iAmt int32, iOfst Sqlit // In rollback mode (which is always the case for memdb, as it does not // support WAL mode) the truncate() method is only used to reduce // the size of a file, never to increase the size. -func memdbTruncate(tls *libc.TLS, pFile uintptr, size Sqlite_int64) int32 { /* sqlite3.c:49400:12: */ +func memdbTruncate(tls *libc.TLS, pFile uintptr, size Sqlite_int64) int32 { /* sqlite3.c:49410:12: */ var p uintptr = (*MemFile)(unsafe.Pointer(pFile)).FpStore var rc int32 = SQLITE_OK memdbEnter(tls, p) @@ -26825,14 +26835,14 @@ func memdbTruncate(tls *libc.TLS, pFile uintptr, size Sqlite_int64) int32 { /* s } // Sync an memdb-file. -func memdbSync(tls *libc.TLS, pFile uintptr, flags int32) int32 { /* sqlite3.c:49417:12: */ +func memdbSync(tls *libc.TLS, pFile uintptr, flags int32) int32 { /* sqlite3.c:49427:12: */ _ = pFile _ = flags return SQLITE_OK } // Return the current file-size of an memdb-file. -func memdbFileSize(tls *libc.TLS, pFile uintptr, pSize uintptr) int32 { /* sqlite3.c:49426:12: */ +func memdbFileSize(tls *libc.TLS, pFile uintptr, pSize uintptr) int32 { /* sqlite3.c:49436:12: */ var p uintptr = (*MemFile)(unsafe.Pointer(pFile)).FpStore memdbEnter(tls, p) *(*Sqlite_int64)(unsafe.Pointer(pSize)) = (*MemStore)(unsafe.Pointer(p)).Fsz @@ -26841,7 +26851,7 @@ func memdbFileSize(tls *libc.TLS, pFile uintptr, pSize uintptr) int32 { /* sqlit } // Lock an memdb-file. -func memdbLock(tls *libc.TLS, pFile uintptr, eLock int32) int32 { /* sqlite3.c:49437:12: */ +func memdbLock(tls *libc.TLS, pFile uintptr, eLock int32) int32 { /* sqlite3.c:49447:12: */ var pThis uintptr = pFile var p uintptr = (*MemFile)(unsafe.Pointer(pThis)).FpStore var rc int32 = SQLITE_OK @@ -26885,7 +26895,7 @@ func memdbLock(tls *libc.TLS, pFile uintptr, eLock int32) int32 { /* sqlite3.c:4 } // File control method. For custom operations on an memdb-file. -func memdbFileControl(tls *libc.TLS, pFile uintptr, op int32, pArg uintptr) int32 { /* sqlite3.c:49491:12: */ +func memdbFileControl(tls *libc.TLS, pFile uintptr, op int32, pArg uintptr) int32 { /* sqlite3.c:49501:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -26914,13 +26924,13 @@ func memdbFileControl(tls *libc.TLS, pFile uintptr, op int32, pArg uintptr) int3 } // Return the device characteristic flags supported by an memdb-file. -func memdbDeviceCharacteristics(tls *libc.TLS, pFile uintptr) int32 { /* sqlite3.c:49528:12: */ +func memdbDeviceCharacteristics(tls *libc.TLS, pFile uintptr) int32 { /* sqlite3.c:49538:12: */ _ = pFile return SQLITE_IOCAP_ATOMIC | SQLITE_IOCAP_POWERSAFE_OVERWRITE | SQLITE_IOCAP_SAFE_APPEND | SQLITE_IOCAP_SEQUENTIAL } // Fetch a page of a memory-mapped file -func memdbFetch(tls *libc.TLS, pFile uintptr, iOfst Sqlite3_int64, iAmt int32, pp uintptr) int32 { /* sqlite3.c:49537:12: */ +func memdbFetch(tls *libc.TLS, pFile uintptr, iOfst Sqlite3_int64, iAmt int32, pp uintptr) int32 { /* sqlite3.c:49547:12: */ var p uintptr = (*MemFile)(unsafe.Pointer(pFile)).FpStore memdbEnter(tls, p) if iOfst+Sqlite3_int64(iAmt) > (*MemStore)(unsafe.Pointer(p)).Fsz || (*MemStore)(unsafe.Pointer(p)).FmFlags&uint32(SQLITE_DESERIALIZE_RESIZEABLE) != uint32(0) { @@ -26934,7 +26944,7 @@ func memdbFetch(tls *libc.TLS, pFile uintptr, iOfst Sqlite3_int64, iAmt int32, p } // Release a memory-mapped page -func memdbUnfetch(tls *libc.TLS, pFile uintptr, iOfst Sqlite3_int64, pPage uintptr) int32 { /* sqlite3.c:49556:12: */ +func memdbUnfetch(tls *libc.TLS, pFile uintptr, iOfst Sqlite3_int64, pPage uintptr) int32 { /* sqlite3.c:49566:12: */ var p uintptr = (*MemFile)(unsafe.Pointer(pFile)).FpStore _ = iOfst _ = pPage @@ -26945,7 +26955,7 @@ func memdbUnfetch(tls *libc.TLS, pFile uintptr, iOfst Sqlite3_int64, pPage uintp } // Open an mem file handle. -func memdbOpen(tls *libc.TLS, pVfs uintptr, zName uintptr, pFd uintptr, flags int32, pOutFlags uintptr) int32 { /* sqlite3.c:49569:12: */ +func memdbOpen(tls *libc.TLS, pVfs uintptr, zName uintptr, pFd uintptr, flags int32, pOutFlags uintptr) int32 { /* sqlite3.c:49579:12: */ var pFile uintptr = pFd var p uintptr = uintptr(0) var szName int32 @@ -27020,7 +27030,7 @@ func memdbOpen(tls *libc.TLS, pVfs uintptr, zName uintptr, pFd uintptr, flags in // is available, or false otherwise. // // With memdb, no files ever exist on disk. So always return false. -func memdbAccess(tls *libc.TLS, pVfs uintptr, zPath uintptr, flags int32, pResOut uintptr) int32 { /* sqlite3.c:49666:12: */ +func memdbAccess(tls *libc.TLS, pVfs uintptr, zPath uintptr, flags int32, pResOut uintptr) int32 { /* sqlite3.c:49676:12: */ _ = pVfs _ = zPath _ = flags @@ -27031,7 +27041,7 @@ func memdbAccess(tls *libc.TLS, pVfs uintptr, zPath uintptr, flags int32, pResOu // Populate buffer zOut with the full canonical pathname corresponding // to the pathname in zPath. zOut is guaranteed to point to a buffer // of at least (INST_MAX_PATHNAME+1) bytes. -func memdbFullPathname(tls *libc.TLS, pVfs uintptr, zPath uintptr, nOut int32, zOut uintptr) int32 { /* sqlite3.c:49684:12: */ +func memdbFullPathname(tls *libc.TLS, pVfs uintptr, zPath uintptr, nOut int32, zOut uintptr) int32 { /* sqlite3.c:49694:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -27041,7 +27051,7 @@ func memdbFullPathname(tls *libc.TLS, pVfs uintptr, zPath uintptr, nOut int32, z } // Open the dynamic library located at zPath and return a handle. -func memdbDlOpen(tls *libc.TLS, pVfs uintptr, zPath uintptr) uintptr { /* sqlite3.c:49698:13: */ +func memdbDlOpen(tls *libc.TLS, pVfs uintptr, zPath uintptr) uintptr { /* sqlite3.c:49708:13: */ return (*struct { f func(*libc.TLS, uintptr, uintptr) uintptr })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer((*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData)).FxDlOpen})).f(tls, (*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, zPath) @@ -27050,21 +27060,21 @@ func memdbDlOpen(tls *libc.TLS, pVfs uintptr, zPath uintptr) uintptr { /* sqlite // Populate the buffer zErrMsg (size nByte bytes) with a human readable // utf-8 string describing the most recent error encountered associated // with dynamic libraries. -func memdbDlError(tls *libc.TLS, pVfs uintptr, nByte int32, zErrMsg uintptr) { /* sqlite3.c:49707:13: */ +func memdbDlError(tls *libc.TLS, pVfs uintptr, nByte int32, zErrMsg uintptr) { /* sqlite3.c:49717:13: */ (*struct { f func(*libc.TLS, uintptr, int32, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer((*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData)).FxDlError})).f(tls, (*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, nByte, zErrMsg) } // Return a pointer to the symbol zSymbol in the dynamic library pHandle. -func memdbDlSym(tls *libc.TLS, pVfs uintptr, p uintptr, zSym uintptr) uintptr { /* sqlite3.c:49714:13: */ +func memdbDlSym(tls *libc.TLS, pVfs uintptr, p uintptr, zSym uintptr) uintptr { /* sqlite3.c:49724:13: */ return (*struct { f func(*libc.TLS, uintptr, uintptr, uintptr) uintptr })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer((*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData)).FxDlSym})).f(tls, (*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, p, zSym) } // Close the dynamic library handle pHandle. -func memdbDlClose(tls *libc.TLS, pVfs uintptr, pHandle uintptr) { /* sqlite3.c:49721:13: */ +func memdbDlClose(tls *libc.TLS, pVfs uintptr, pHandle uintptr) { /* sqlite3.c:49731:13: */ (*struct { f func(*libc.TLS, uintptr, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer((*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData)).FxDlClose})).f(tls, (*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, pHandle) @@ -27072,7 +27082,7 @@ func memdbDlClose(tls *libc.TLS, pVfs uintptr, pHandle uintptr) { /* sqlite3.c:4 // Populate the buffer pointed to by zBufOut with nByte bytes of // random data. -func memdbRandomness(tls *libc.TLS, pVfs uintptr, nByte int32, zBufOut uintptr) int32 { /* sqlite3.c:49729:12: */ +func memdbRandomness(tls *libc.TLS, pVfs uintptr, nByte int32, zBufOut uintptr) int32 { /* sqlite3.c:49739:12: */ return (*struct { f func(*libc.TLS, uintptr, int32, uintptr) int32 })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer((*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData)).FxRandomness})).f(tls, (*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, nByte, zBufOut) @@ -27080,19 +27090,19 @@ func memdbRandomness(tls *libc.TLS, pVfs uintptr, nByte int32, zBufOut uintptr) // Sleep for nMicro microseconds. Return the number of microseconds // actually slept. -func memdbSleep(tls *libc.TLS, pVfs uintptr, nMicro int32) int32 { /* sqlite3.c:49737:12: */ +func memdbSleep(tls *libc.TLS, pVfs uintptr, nMicro int32) int32 { /* sqlite3.c:49747:12: */ return (*struct { f func(*libc.TLS, uintptr, int32) int32 })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer((*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData)).FxSleep})).f(tls, (*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, nMicro) } -func memdbGetLastError(tls *libc.TLS, pVfs uintptr, a int32, b uintptr) int32 { /* sqlite3.c:49750:12: */ +func memdbGetLastError(tls *libc.TLS, pVfs uintptr, a int32, b uintptr) int32 { /* sqlite3.c:49760:12: */ return (*struct { f func(*libc.TLS, uintptr, int32, uintptr) int32 })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer((*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData)).FxGetLastError})).f(tls, (*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, a, b) } -func memdbCurrentTimeInt64(tls *libc.TLS, pVfs uintptr, p uintptr) int32 { /* sqlite3.c:49753:12: */ +func memdbCurrentTimeInt64(tls *libc.TLS, pVfs uintptr, p uintptr) int32 { /* sqlite3.c:49763:12: */ return (*struct { f func(*libc.TLS, uintptr, uintptr) int32 })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer((*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData)).FxCurrentTimeInt64})).f(tls, (*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, p) @@ -27100,7 +27110,7 @@ func memdbCurrentTimeInt64(tls *libc.TLS, pVfs uintptr, p uintptr) int32 { /* sq // Translate a database connection pointer and schema name into a // MemFile pointer. -func memdbFromDbSchema(tls *libc.TLS, db uintptr, zSchema uintptr) uintptr { /* sqlite3.c:49761:16: */ +func memdbFromDbSchema(tls *libc.TLS, db uintptr, zSchema uintptr) uintptr { /* sqlite3.c:49771:16: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -27123,7 +27133,7 @@ func memdbFromDbSchema(tls *libc.TLS, db uintptr, zSchema uintptr) uintptr { /* } // Return the serialization of a database -func Xsqlite3_serialize(tls *libc.TLS, db uintptr, zSchema uintptr, piSize uintptr, mFlags uint32) uintptr { /* sqlite3.c:49777:26: */ +func Xsqlite3_serialize(tls *libc.TLS, db uintptr, zSchema uintptr, piSize uintptr, mFlags uint32) uintptr { /* sqlite3.c:49787:26: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -27214,7 +27224,7 @@ func Xsqlite3_serialize(tls *libc.TLS, db uintptr, zSchema uintptr, piSize uintp } // Convert zSchema to a MemDB and initialize its content. -func Xsqlite3_deserialize(tls *libc.TLS, db uintptr, zSchema uintptr, pData uintptr, szDb Sqlite3_int64, szBuf Sqlite3_int64, mFlags uint32) int32 { /* sqlite3.c:49858:16: */ +func Xsqlite3_deserialize(tls *libc.TLS, db uintptr, zSchema uintptr, pData uintptr, szDb Sqlite3_int64, szBuf Sqlite3_int64, mFlags uint32) int32 { /* sqlite3.c:49868:16: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -27309,7 +27319,7 @@ __10: // This routine is called when the extension is loaded. // Register the new VFS. -func Xsqlite3MemdbInit(tls *libc.TLS) int32 { /* sqlite3.c:49934:20: */ +func Xsqlite3MemdbInit(tls *libc.TLS) int32 { /* sqlite3.c:49944:20: */ var pLower uintptr = Xsqlite3_vfs_find(tls, uintptr(0)) var sz uint32 if pLower == uintptr(0) { @@ -27331,7 +27341,7 @@ func Xsqlite3MemdbInit(tls *libc.TLS) int32 { /* sqlite3.c:49934:20: */ // Create a new bitmap object able to handle bits between 0 and iSize, // inclusive. Return a pointer to the new object. Return NULL if // malloc fails. -func Xsqlite3BitvecCreate(tls *libc.TLS, iSize U32) uintptr { /* sqlite3.c:50066:23: */ +func Xsqlite3BitvecCreate(tls *libc.TLS, iSize U32) uintptr { /* sqlite3.c:50076:23: */ var p uintptr p = Xsqlite3MallocZero(tls, uint64(unsafe.Sizeof(Bitvec{}))) @@ -27344,7 +27354,7 @@ func Xsqlite3BitvecCreate(tls *libc.TLS, iSize U32) uintptr { /* sqlite3.c:50066 // Check to see if the i-th bit is set. Return true or false. // If p is NULL (if the bitmap has not been created) or if // i is out of range, then return false. -func Xsqlite3BitvecTestNotNull(tls *libc.TLS, p uintptr, i U32) int32 { /* sqlite3.c:50081:20: */ +func Xsqlite3BitvecTestNotNull(tls *libc.TLS, p uintptr, i U32) int32 { /* sqlite3.c:50091:20: */ i-- if i >= (*Bitvec)(unsafe.Pointer(p)).FiSize { @@ -27373,7 +27383,7 @@ func Xsqlite3BitvecTestNotNull(tls *libc.TLS, p uintptr, i U32) int32 { /* sqlit return int32(0) } -func Xsqlite3BitvecTest(tls *libc.TLS, p uintptr, i U32) int32 { /* sqlite3.c:50104:20: */ +func Xsqlite3BitvecTest(tls *libc.TLS, p uintptr, i U32) int32 { /* sqlite3.c:50114:20: */ return libc.Bool32(p != uintptr(0) && Xsqlite3BitvecTestNotNull(tls, p, i) != 0) } @@ -27387,7 +27397,7 @@ func Xsqlite3BitvecTest(tls *libc.TLS, p uintptr, i U32) int32 { /* sqlite3.c:50 // The calling function must ensure that p is a valid Bitvec object // and that the value for "i" is within range of the Bitvec object. // Otherwise the behavior is undefined. -func Xsqlite3BitvecSet(tls *libc.TLS, p uintptr, i U32) int32 { /* sqlite3.c:50120:20: */ +func Xsqlite3BitvecSet(tls *libc.TLS, p uintptr, i U32) int32 { /* sqlite3.c:50130:20: */ var h U32 var bin U32 var j uint32 @@ -27524,7 +27534,7 @@ bitvec_set_end: // // pBuf must be a pointer to at least BITVEC_SZ bytes of temporary storage // that BitvecClear can use to rebuilt its hash table. -func Xsqlite3BitvecClear(tls *libc.TLS, p uintptr, i U32, pBuf uintptr) { /* sqlite3.c:50191:21: */ +func Xsqlite3BitvecClear(tls *libc.TLS, p uintptr, i U32, pBuf uintptr) { /* sqlite3.c:50201:21: */ if p == uintptr(0) { return } @@ -27563,7 +27573,7 @@ func Xsqlite3BitvecClear(tls *libc.TLS, p uintptr, i U32, pBuf uintptr) { /* sql } // Destroy a bitmap object. Reclaim all memory used. -func Xsqlite3BitvecDestroy(tls *libc.TLS, p uintptr) { /* sqlite3.c:50228:21: */ +func Xsqlite3BitvecDestroy(tls *libc.TLS, p uintptr) { /* sqlite3.c:50238:21: */ if p == uintptr(0) { return } @@ -27578,7 +27588,7 @@ func Xsqlite3BitvecDestroy(tls *libc.TLS, p uintptr) { /* sqlite3.c:50228:21: */ // Return the value of the iSize parameter specified when Bitvec *p // was created. -func Xsqlite3BitvecSize(tls *libc.TLS, p uintptr) U32 { /* sqlite3.c:50243:20: */ +func Xsqlite3BitvecSize(tls *libc.TLS, p uintptr) U32 { /* sqlite3.c:50253:20: */ return (*Bitvec)(unsafe.Pointer(p)).FiSize } @@ -27615,7 +27625,7 @@ func Xsqlite3BitvecSize(tls *libc.TLS, p uintptr) U32 { /* sqlite3.c:50243:20: * // an error is returned. If they are the same, zero is returned. // // If a memory allocation error occurs, return -1. -func Xsqlite3BitvecBuiltinTest(tls *libc.TLS, sz int32, aOp uintptr) int32 { /* sqlite3.c:50288:20: */ +func Xsqlite3BitvecBuiltinTest(tls *libc.TLS, sz int32, aOp uintptr) int32 { /* sqlite3.c:50298:20: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -27778,7 +27788,7 @@ bitvec_end: // argument determines what operation to do. The 0x01 bit means first // remove pPage from the dirty list. The 0x02 means add pPage back to // the dirty list. Doing both moves pPage to the front of the dirty list. -func pcacheManageDirtyList(tls *libc.TLS, pPage uintptr, addRemove U8) { /* sqlite3.c:50523:13: */ +func pcacheManageDirtyList(tls *libc.TLS, pPage uintptr, addRemove U8) { /* sqlite3.c:50533:13: */ var p uintptr = (*PgHdr)(unsafe.Pointer(pPage)).FpCache if int32(addRemove)&PCACHE_DIRTYLIST_REMOVE != 0 { @@ -27840,7 +27850,7 @@ func pcacheManageDirtyList(tls *libc.TLS, pPage uintptr, addRemove U8) { /* sqli // Wrapper around the pluggable caches xUnpin method. If the cache is // being used for an in-memory database, this function is a no-op. -func pcacheUnpin(tls *libc.TLS, p uintptr) { /* sqlite3.c:50593:13: */ +func pcacheUnpin(tls *libc.TLS, p uintptr) { /* sqlite3.c:50603:13: */ if (*PCache)(unsafe.Pointer((*PgHdr)(unsafe.Pointer(p)).FpCache)).FbPurgeable != 0 { (*struct { @@ -27852,7 +27862,7 @@ func pcacheUnpin(tls *libc.TLS, p uintptr) { /* sqlite3.c:50593:13: */ // Compute the number of pages of cache requested. p->szCache is the // cache size requested by the "PRAGMA cache_size" statement. -func numberOfCachePages(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:50605:12: */ +func numberOfCachePages(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:50615:12: */ if (*PCache)(unsafe.Pointer(p)).FszCache >= 0 { // IMPLEMENTATION-OF: R-42059-47211 If the argument N is positive then the // suggested cache size is set to N. @@ -27877,7 +27887,7 @@ func numberOfCachePages(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:50605:12: // // Initialize and shutdown the page cache subsystem. Neither of these // functions are threadsafe. -func Xsqlite3PcacheInitialize(tls *libc.TLS) int32 { /* sqlite3.c:50627:20: */ +func Xsqlite3PcacheInitialize(tls *libc.TLS) int32 { /* sqlite3.c:50637:20: */ if Xsqlite3Config.Fpcache2.FxInit == uintptr(0) { // IMPLEMENTATION-OF: R-26801-64137 If the xInit() method is NULL, then the // built-in default page cache is used instead of the application defined @@ -27890,7 +27900,7 @@ func Xsqlite3PcacheInitialize(tls *libc.TLS) int32 { /* sqlite3.c:50627:20: */ })(unsafe.Pointer(&struct{ uintptr }{Xsqlite3Config.Fpcache2.FxInit})).f(tls, Xsqlite3Config.Fpcache2.FpArg) } -func Xsqlite3PcacheShutdown(tls *libc.TLS) { /* sqlite3.c:50637:21: */ +func Xsqlite3PcacheShutdown(tls *libc.TLS) { /* sqlite3.c:50647:21: */ if Xsqlite3Config.Fpcache2.FxShutdown != 0 { // IMPLEMENTATION-OF: R-26000-56589 The xShutdown() method may be NULL. (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{Xsqlite3Config.Fpcache2.FxShutdown})).f(tls, Xsqlite3Config.Fpcache2.FpArg) @@ -27898,7 +27908,7 @@ func Xsqlite3PcacheShutdown(tls *libc.TLS) { /* sqlite3.c:50637:21: */ } // Return the size in bytes of a PCache object. -func Xsqlite3PcacheSize(tls *libc.TLS) int32 { /* sqlite3.c:50647:20: */ +func Xsqlite3PcacheSize(tls *libc.TLS) int32 { /* sqlite3.c:50657:20: */ return int32(unsafe.Sizeof(PCache{})) } @@ -27912,7 +27922,7 @@ func Xsqlite3PcacheSize(tls *libc.TLS) int32 { /* sqlite3.c:50647:20: */ // but remaining content will be uninitialized. Though it is opaque // to this module, the extra space really ends up being the MemPage // structure in the pager. -func Xsqlite3PcacheOpen(tls *libc.TLS, szPage int32, szExtra int32, bPurgeable int32, xStress uintptr, pStress uintptr, p uintptr) int32 { /* sqlite3.c:50661:20: */ +func Xsqlite3PcacheOpen(tls *libc.TLS, szPage int32, szExtra int32, bPurgeable int32, xStress uintptr, pStress uintptr, p uintptr) int32 { /* sqlite3.c:50671:20: */ libc.Xmemset(tls, p, 0, uint64(unsafe.Sizeof(PCache{}))) (*PCache)(unsafe.Pointer(p)).FszPage = 1 (*PCache)(unsafe.Pointer(p)).FszExtra = szExtra @@ -27929,7 +27939,7 @@ func Xsqlite3PcacheOpen(tls *libc.TLS, szPage int32, szExtra int32, bPurgeable i // Change the page size for PCache object. The caller must ensure that there // are no outstanding page references when this function is called. -func Xsqlite3PcacheSetPageSize(tls *libc.TLS, pCache uintptr, szPage int32) int32 { /* sqlite3.c:50687:20: */ +func Xsqlite3PcacheSetPageSize(tls *libc.TLS, pCache uintptr, szPage int32) int32 { /* sqlite3.c:50697:20: */ if (*PCache)(unsafe.Pointer(pCache)).FszPage != 0 { var pNew uintptr @@ -27976,7 +27986,7 @@ func Xsqlite3PcacheSetPageSize(tls *libc.TLS, pCache uintptr, szPage int32) int3 // they can both (usually) operate without having to push values to // the stack on entry and pop them back off on exit, which saves a // lot of pushing and popping. -func Xsqlite3PcacheFetch(tls *libc.TLS, pCache uintptr, pgno Pgno, createFlag int32) uintptr { /* sqlite3.c:50731:36: */ +func Xsqlite3PcacheFetch(tls *libc.TLS, pCache uintptr, pgno Pgno, createFlag int32) uintptr { /* sqlite3.c:50741:36: */ var eCreate int32 var pRes uintptr @@ -28004,7 +28014,7 @@ func Xsqlite3PcacheFetch(tls *libc.TLS, pCache uintptr, pgno Pgno, createFlag in // an OOM error. // // This routine should be invoked only after sqlite3PcacheFetch() fails. -func Xsqlite3PcacheFetchStress(tls *libc.TLS, pCache uintptr, pgno Pgno, ppPage uintptr) int32 { /* sqlite3.c:50772:20: */ +func Xsqlite3PcacheFetchStress(tls *libc.TLS, pCache uintptr, pgno Pgno, ppPage uintptr) int32 { /* sqlite3.c:50782:20: */ var pPg uintptr if int32((*PCache)(unsafe.Pointer(pCache)).FeCreate) == 2 { return 0 @@ -28055,7 +28065,7 @@ func Xsqlite3PcacheFetchStress(tls *libc.TLS, pCache uintptr, pgno Pgno, ppPage // This routine is broken out into a separate function since it // requires extra stack manipulation that can be avoided in the common // case. -func pcacheFetchFinishWithInit(tls *libc.TLS, pCache uintptr, pgno Pgno, pPage uintptr) uintptr { /* sqlite3.c:50828:30: */ +func pcacheFetchFinishWithInit(tls *libc.TLS, pCache uintptr, pgno Pgno, pPage uintptr) uintptr { /* sqlite3.c:50838:30: */ var pPgHdr uintptr pPgHdr = (*Sqlite3_pcache_page)(unsafe.Pointer(pPage)).FpExtra @@ -28075,7 +28085,7 @@ func pcacheFetchFinishWithInit(tls *libc.TLS, pCache uintptr, pgno Pgno, pPage u // sqlite3PcacheFetch() into an initialized PgHdr object. This routine // must be called after sqlite3PcacheFetch() in order to get a usable // result. -func Xsqlite3PcacheFetchFinish(tls *libc.TLS, pCache uintptr, pgno Pgno, pPage uintptr) uintptr { /* sqlite3.c:50854:22: */ +func Xsqlite3PcacheFetchFinish(tls *libc.TLS, pCache uintptr, pgno Pgno, pPage uintptr) uintptr { /* sqlite3.c:50864:22: */ var pPgHdr uintptr pPgHdr = (*Sqlite3_pcache_page)(unsafe.Pointer(pPage)).FpExtra @@ -28091,7 +28101,7 @@ func Xsqlite3PcacheFetchFinish(tls *libc.TLS, pCache uintptr, pgno Pgno, pPage u // Decrement the reference count on a page. If the page is clean and the // reference count drops to 0, then it is made eligible for recycling. -func Xsqlite3PcacheRelease(tls *libc.TLS, p uintptr) { /* sqlite3.c:50877:37: */ +func Xsqlite3PcacheRelease(tls *libc.TLS, p uintptr) { /* sqlite3.c:50887:37: */ (*PCache)(unsafe.Pointer((*PgHdr)(unsafe.Pointer(p)).FpCache)).FnRefSum-- if int32(libc.PreDecInt16(&(*PgHdr)(unsafe.Pointer(p)).FnRef, 1)) == 0 { @@ -28104,7 +28114,7 @@ func Xsqlite3PcacheRelease(tls *libc.TLS, p uintptr) { /* sqlite3.c:50877:37: */ } // Increase the reference count of a supplied page by 1. -func Xsqlite3PcacheRef(tls *libc.TLS, p uintptr) { /* sqlite3.c:50892:21: */ +func Xsqlite3PcacheRef(tls *libc.TLS, p uintptr) { /* sqlite3.c:50902:21: */ (*PgHdr)(unsafe.Pointer(p)).FnRef++ (*PCache)(unsafe.Pointer((*PgHdr)(unsafe.Pointer(p)).FpCache)).FnRefSum++ @@ -28113,7 +28123,7 @@ func Xsqlite3PcacheRef(tls *libc.TLS, p uintptr) { /* sqlite3.c:50892:21: */ // Drop a page from the cache. There must be exactly one reference to the // page. This function deletes that reference, so after it returns the // page pointed to by p is invalid. -func Xsqlite3PcacheDrop(tls *libc.TLS, p uintptr) { /* sqlite3.c:50904:21: */ +func Xsqlite3PcacheDrop(tls *libc.TLS, p uintptr) { /* sqlite3.c:50914:21: */ if int32((*PgHdr)(unsafe.Pointer(p)).Fflags)&PGHDR_DIRTY != 0 { pcacheManageDirtyList(tls, p, uint8(PCACHE_DIRTYLIST_REMOVE)) @@ -28126,7 +28136,7 @@ func Xsqlite3PcacheDrop(tls *libc.TLS, p uintptr) { /* sqlite3.c:50904:21: */ // Make sure the page is marked as dirty. If it isn't dirty already, // make it so. -func Xsqlite3PcacheMakeDirty(tls *libc.TLS, p uintptr) { /* sqlite3.c:50918:21: */ +func Xsqlite3PcacheMakeDirty(tls *libc.TLS, p uintptr) { /* sqlite3.c:50928:21: */ if int32((*PgHdr)(unsafe.Pointer(p)).Fflags)&(PGHDR_CLEAN|PGHDR_DONT_WRITE) != 0 { //OPTIMIZATION-IF-FALSE *(*U16)(unsafe.Pointer(p + 52)) &= libc.Uint16FromInt32(libc.CplInt32(PGHDR_DONT_WRITE)) @@ -28141,7 +28151,7 @@ func Xsqlite3PcacheMakeDirty(tls *libc.TLS, p uintptr) { /* sqlite3.c:50918:21: // Make sure the page is marked as clean. If it isn't clean already, // make it so. -func Xsqlite3PcacheMakeClean(tls *libc.TLS, p uintptr) { /* sqlite3.c:50938:21: */ +func Xsqlite3PcacheMakeClean(tls *libc.TLS, p uintptr) { /* sqlite3.c:50948:21: */ pcacheManageDirtyList(tls, p, uint8(PCACHE_DIRTYLIST_REMOVE)) *(*U16)(unsafe.Pointer(p + 52)) &= libc.Uint16FromInt32(libc.CplInt32(PGHDR_DIRTY | PGHDR_NEED_SYNC | PGHDR_WRITEABLE)) @@ -28153,7 +28163,7 @@ func Xsqlite3PcacheMakeClean(tls *libc.TLS, p uintptr) { /* sqlite3.c:50938:21: } // Make every page in the cache clean. -func Xsqlite3PcacheCleanAll(tls *libc.TLS, pCache uintptr) { /* sqlite3.c:50955:21: */ +func Xsqlite3PcacheCleanAll(tls *libc.TLS, pCache uintptr) { /* sqlite3.c:50965:21: */ var p uintptr for libc.AssignUintptr(&p, (*PCache)(unsafe.Pointer(pCache)).FpDirty) != uintptr(0) { @@ -28162,7 +28172,7 @@ func Xsqlite3PcacheCleanAll(tls *libc.TLS, pCache uintptr) { /* sqlite3.c:50955: } // Clear the PGHDR_NEED_SYNC and PGHDR_WRITEABLE flag from all dirty pages. -func Xsqlite3PcacheClearWritable(tls *libc.TLS, pCache uintptr) { /* sqlite3.c:50966:21: */ +func Xsqlite3PcacheClearWritable(tls *libc.TLS, pCache uintptr) { /* sqlite3.c:50976:21: */ var p uintptr for p = (*PCache)(unsafe.Pointer(pCache)).FpDirty; p != 0; p = (*PgHdr)(unsafe.Pointer(p)).FpDirtyNext { @@ -28172,7 +28182,7 @@ func Xsqlite3PcacheClearWritable(tls *libc.TLS, pCache uintptr) { /* sqlite3.c:5 } // Clear the PGHDR_NEED_SYNC flag from all dirty pages. -func Xsqlite3PcacheClearSyncFlags(tls *libc.TLS, pCache uintptr) { /* sqlite3.c:50978:21: */ +func Xsqlite3PcacheClearSyncFlags(tls *libc.TLS, pCache uintptr) { /* sqlite3.c:50988:21: */ var p uintptr for p = (*PCache)(unsafe.Pointer(pCache)).FpDirty; p != 0; p = (*PgHdr)(unsafe.Pointer(p)).FpDirtyNext { *(*U16)(unsafe.Pointer(p + 52)) &= libc.Uint16FromInt32(libc.CplInt32(PGHDR_NEED_SYNC)) @@ -28181,7 +28191,7 @@ func Xsqlite3PcacheClearSyncFlags(tls *libc.TLS, pCache uintptr) { /* sqlite3.c: } // Change the page number of page p to newPgno. -func Xsqlite3PcacheMove(tls *libc.TLS, p uintptr, newPgno Pgno) { /* sqlite3.c:50989:21: */ +func Xsqlite3PcacheMove(tls *libc.TLS, p uintptr, newPgno Pgno) { /* sqlite3.c:50999:21: */ var pCache uintptr = (*PgHdr)(unsafe.Pointer(p)).FpCache (*struct { @@ -28200,7 +28210,7 @@ func Xsqlite3PcacheMove(tls *libc.TLS, p uintptr, newPgno Pgno) { /* sqlite3.c:5 // If there is a reference to page 1 and the pgno parameter passed to this // function is 0, then the data area associated with page 1 is zeroed, but // the page object is not dropped. -func Xsqlite3PcacheTruncate(tls *libc.TLS, pCache uintptr, pgno Pgno) { /* sqlite3.c:51011:21: */ +func Xsqlite3PcacheTruncate(tls *libc.TLS, pCache uintptr, pgno Pgno) { /* sqlite3.c:51021:21: */ if (*PCache)(unsafe.Pointer(pCache)).FpCache != 0 { var p uintptr var pNext uintptr @@ -28234,19 +28244,19 @@ func Xsqlite3PcacheTruncate(tls *libc.TLS, pCache uintptr, pgno Pgno) { /* sqlit } // Close a cache. -func Xsqlite3PcacheClose(tls *libc.TLS, pCache uintptr) { /* sqlite3.c:51044:21: */ +func Xsqlite3PcacheClose(tls *libc.TLS, pCache uintptr) { /* sqlite3.c:51054:21: */ (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{Xsqlite3Config.Fpcache2.FxDestroy})).f(tls, (*PCache)(unsafe.Pointer(pCache)).FpCache) } // Discard the contents of the cache. -func Xsqlite3PcacheClear(tls *libc.TLS, pCache uintptr) { /* sqlite3.c:51053:21: */ +func Xsqlite3PcacheClear(tls *libc.TLS, pCache uintptr) { /* sqlite3.c:51063:21: */ Xsqlite3PcacheTruncate(tls, pCache, uint32(0)) } // Merge two lists of pages connected by pDirty and in pgno order. // Do not bother fixing the pDirtyPrev pointers. -func pcacheMergeDirtyList(tls *libc.TLS, pA uintptr, pB uintptr) uintptr { /* sqlite3.c:51061:14: */ +func pcacheMergeDirtyList(tls *libc.TLS, pA uintptr, pB uintptr) uintptr { /* sqlite3.c:51071:14: */ bp := tls.Alloc(72) defer tls.Free(72) @@ -28285,7 +28295,7 @@ func pcacheMergeDirtyList(tls *libc.TLS, pA uintptr, pB uintptr) uintptr { /* sq // there cannot be more than 31 buckets required by the merge sorter. // One extra bucket is added to catch overflow in case something // ever changes to make the previous sentence incorrect. -func pcacheSortDirtyList(tls *libc.TLS, pIn uintptr) uintptr { /* sqlite3.c:51098:14: */ +func pcacheSortDirtyList(tls *libc.TLS, pIn uintptr) uintptr { /* sqlite3.c:51108:14: */ bp := tls.Alloc(256) defer tls.Free(256) @@ -28328,7 +28338,7 @@ func pcacheSortDirtyList(tls *libc.TLS, pIn uintptr) uintptr { /* sqlite3.c:5109 } // Return a list of all dirty pages in the cache, sorted by page number. -func Xsqlite3PcacheDirtyList(tls *libc.TLS, pCache uintptr) uintptr { /* sqlite3.c:51133:22: */ +func Xsqlite3PcacheDirtyList(tls *libc.TLS, pCache uintptr) uintptr { /* sqlite3.c:51143:22: */ var p uintptr for p = (*PCache)(unsafe.Pointer(pCache)).FpDirty; p != 0; p = (*PgHdr)(unsafe.Pointer(p)).FpDirtyNext { (*PgHdr)(unsafe.Pointer(p)).FpDirty = (*PgHdr)(unsafe.Pointer(p)).FpDirtyNext @@ -28340,17 +28350,17 @@ func Xsqlite3PcacheDirtyList(tls *libc.TLS, pCache uintptr) uintptr { /* sqlite3 // // This is not the total number of pages referenced, but the sum of the // reference count for all pages. -func Xsqlite3PcacheRefCount(tls *libc.TLS, pCache uintptr) int32 { /* sqlite3.c:51147:20: */ +func Xsqlite3PcacheRefCount(tls *libc.TLS, pCache uintptr) int32 { /* sqlite3.c:51157:20: */ return (*PCache)(unsafe.Pointer(pCache)).FnRefSum } // Return the number of references to the page supplied as an argument. -func Xsqlite3PcachePageRefcount(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:51154:20: */ +func Xsqlite3PcachePageRefcount(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:51164:20: */ return int32((*PgHdr)(unsafe.Pointer(p)).FnRef) } // Return the total number of pages in the cache. -func Xsqlite3PcachePagecount(tls *libc.TLS, pCache uintptr) int32 { /* sqlite3.c:51161:20: */ +func Xsqlite3PcachePagecount(tls *libc.TLS, pCache uintptr) int32 { /* sqlite3.c:51171:20: */ return (*struct { f func(*libc.TLS, uintptr) int32 @@ -28358,7 +28368,7 @@ func Xsqlite3PcachePagecount(tls *libc.TLS, pCache uintptr) int32 { /* sqlite3.c } // Set the suggested cache-size value. -func Xsqlite3PcacheSetCachesize(tls *libc.TLS, pCache uintptr, mxPage int32) { /* sqlite3.c:51178:21: */ +func Xsqlite3PcacheSetCachesize(tls *libc.TLS, pCache uintptr, mxPage int32) { /* sqlite3.c:51188:21: */ (*PCache)(unsafe.Pointer(pCache)).FszCache = mxPage (*struct { @@ -28370,7 +28380,7 @@ func Xsqlite3PcacheSetCachesize(tls *libc.TLS, pCache uintptr, mxPage int32) { / // Set the suggested cache-spill value. Make no changes if if the // argument is zero. Return the effective cache-spill size, which will // be the larger of the szSpill and szCache. -func Xsqlite3PcacheSetSpillsize(tls *libc.TLS, p uintptr, mxPage int32) int32 { /* sqlite3.c:51190:20: */ +func Xsqlite3PcacheSetSpillsize(tls *libc.TLS, p uintptr, mxPage int32) int32 { /* sqlite3.c:51200:20: */ var res int32 if mxPage != 0 { @@ -28387,20 +28397,20 @@ func Xsqlite3PcacheSetSpillsize(tls *libc.TLS, p uintptr, mxPage int32) int32 { } // Free up as much memory as possible from the page cache. -func Xsqlite3PcacheShrink(tls *libc.TLS, pCache uintptr) { /* sqlite3.c:51207:21: */ +func Xsqlite3PcacheShrink(tls *libc.TLS, pCache uintptr) { /* sqlite3.c:51217:21: */ (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{Xsqlite3Config.Fpcache2.FxShrink})).f(tls, (*PCache)(unsafe.Pointer(pCache)).FpCache) } // Return the size of the header added by this middleware layer // in the page-cache hierarchy. -func Xsqlite3HeaderSizePcache(tls *libc.TLS) int32 { /* sqlite3.c:51216:20: */ +func Xsqlite3HeaderSizePcache(tls *libc.TLS) int32 { /* sqlite3.c:51226:20: */ return int32((uint64(unsafe.Sizeof(PgHdr{})) + uint64(7)) & libc.Uint64FromInt32(libc.CplInt32(7))) } // Return the number of dirty pages currently in the cache, as a percentage // of the configured cache size. -func Xsqlite3PCachePercentDirty(tls *libc.TLS, pCache uintptr) int32 { /* sqlite3.c:51222:20: */ +func Xsqlite3PCachePercentDirty(tls *libc.TLS, pCache uintptr) int32 { /* sqlite3.c:51232:20: */ var pDirty uintptr var nDirty int32 = 0 var nCache int32 = numberOfCachePages(tls, pCache) @@ -28515,7 +28525,7 @@ type PCache11 = struct { FapHash uintptr FpFree uintptr FpBulk uintptr -} /* sqlite3.c:51339:9 */ +} /* sqlite3.c:51349:9 */ //************* End of pcache.c ********************************************* //************* Begin file pcache1.c **************************************** @@ -28601,7 +28611,7 @@ type PCache11 = struct { // common workloads. // #include "sqliteInt.h" -type PCache1 = PCache11 /* sqlite3.c:51339:24 */ +type PCache1 = PCache11 /* sqlite3.c:51349:24 */ type PgHdr11 = struct { Fpage Sqlite3_pcache_page FiKey uint32 @@ -28611,12 +28621,12 @@ type PgHdr11 = struct { FpCache uintptr FpLruNext uintptr FpLruPrev uintptr -} /* sqlite3.c:51339:9 */ +} /* sqlite3.c:51349:9 */ -type PgHdr1 = PgHdr11 /* sqlite3.c:51340:23 */ -type PgFreeslot1 = struct{ FpNext uintptr } /* sqlite3.c:51341:9 */ +type PgHdr1 = PgHdr11 /* sqlite3.c:51350:23 */ +type PgFreeslot1 = struct{ FpNext uintptr } /* sqlite3.c:51351:9 */ -type PgFreeslot = PgFreeslot1 /* sqlite3.c:51341:27 */ +type PgFreeslot = PgFreeslot1 /* sqlite3.c:51351:27 */ type PGroup1 = struct { Fmutex uintptr FnMaxPage uint32 @@ -28624,9 +28634,9 @@ type PGroup1 = struct { FmxPinned uint32 FnPurgeable uint32 Flru PgHdr1 -} /* sqlite3.c:51339:9 */ +} /* sqlite3.c:51349:9 */ -type PGroup = PGroup1 /* sqlite3.c:51342:23 */ +type PGroup = PGroup1 /* sqlite3.c:51352:23 */ // Global data used by this cache. type PCacheGlobal = struct { @@ -28643,10 +28653,10 @@ type PCacheGlobal = struct { FpFree uintptr FnFreeSlot int32 FbUnderPressure int32 -} /* sqlite3.c:51459:19 */ +} /* sqlite3.c:51469:19 */ // Global data used by this cache. -var pcache1_g PCacheGlobal /* sqlite3.c:51483:3: */ +var pcache1_g PCacheGlobal /* sqlite3.c:51493:3: */ // All code in this file should access the global structure above via the // alias "pcache1". This ensures that the WSD emulation is used when @@ -28664,7 +28674,7 @@ var pcache1_g PCacheGlobal /* sqlite3.c:51483:3: */ // // This routine is called from sqlite3_initialize() and so it is guaranteed // to be serialized already. There is no need for further mutexing. -func Xsqlite3PCacheBufferSetup(tls *libc.TLS, pBuf uintptr, sz int32, n int32) { /* sqlite3.c:51518:21: */ +func Xsqlite3PCacheBufferSetup(tls *libc.TLS, pBuf uintptr, sz int32, n int32) { /* sqlite3.c:51528:21: */ if pcache1_g.FisInit != 0 { var p uintptr if pBuf == uintptr(0) { @@ -28697,7 +28707,7 @@ func Xsqlite3PCacheBufferSetup(tls *libc.TLS, pBuf uintptr, sz int32, n int32) { // Try to initialize the pCache->pFree and pCache->pBulk fields. Return // true if pCache->pFree ends up containing one or more free pages. -func pcache1InitBulk(tls *libc.TLS, pCache uintptr) int32 { /* sqlite3.c:51544:12: */ +func pcache1InitBulk(tls *libc.TLS, pCache uintptr) int32 { /* sqlite3.c:51554:12: */ var szBulk I64 var zBulk uintptr if pcache1_g.FnInitPage == 0 { @@ -28742,7 +28752,7 @@ func pcache1InitBulk(tls *libc.TLS, pCache uintptr) int32 { /* sqlite3.c:51544:1 // // Multiple threads can run this routine at the same time. Global variables // in pcache1 need to be protected via mutex. -func pcache1Alloc(tls *libc.TLS, nByte int32) uintptr { /* sqlite3.c:51587:13: */ +func pcache1Alloc(tls *libc.TLS, nByte int32) uintptr { /* sqlite3.c:51597:13: */ var p uintptr = uintptr(0) if nByte <= pcache1_g.FszSlot { @@ -28775,7 +28785,7 @@ func pcache1Alloc(tls *libc.TLS, nByte int32) uintptr { /* sqlite3.c:51587:13: * } // Free an allocated buffer obtained from pcache1Alloc(). -func pcache1Free(tls *libc.TLS, p uintptr) { /* sqlite3.c:51625:13: */ +func pcache1Free(tls *libc.TLS, p uintptr) { /* sqlite3.c:51635:13: */ if p == uintptr(0) { return } @@ -28805,7 +28815,7 @@ func pcache1Free(tls *libc.TLS, p uintptr) { /* sqlite3.c:51625:13: */ } // Return the size of a pcache allocation -func pcache1MemSize(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:51658:12: */ +func pcache1MemSize(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:51668:12: */ if p >= pcache1_g.FpStart && p < pcache1_g.FpEnd { return pcache1_g.FszSlot } else { @@ -28819,7 +28829,7 @@ func pcache1MemSize(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:51658:12: */ } // Allocate a new page object initially associated with cache pCache. -func pcache1AllocPage(tls *libc.TLS, pCache uintptr, benignMalloc int32) uintptr { /* sqlite3.c:51675:15: */ +func pcache1AllocPage(tls *libc.TLS, pCache uintptr, benignMalloc int32) uintptr { /* sqlite3.c:51685:15: */ var p uintptr = uintptr(0) var pPg uintptr @@ -28857,7 +28867,7 @@ func pcache1AllocPage(tls *libc.TLS, pCache uintptr, benignMalloc int32) uintptr } // Free a page object allocated by pcache1AllocPage(). -func pcache1FreePage(tls *libc.TLS, p uintptr) { /* sqlite3.c:51727:13: */ +func pcache1FreePage(tls *libc.TLS, p uintptr) { /* sqlite3.c:51737:13: */ var pCache uintptr pCache = (*PgHdr1)(unsafe.Pointer(p)).FpCache @@ -28874,13 +28884,13 @@ func pcache1FreePage(tls *libc.TLS, p uintptr) { /* sqlite3.c:51727:13: */ // Malloc function used by SQLite to obtain space from the buffer configured // using sqlite3_config(SQLITE_CONFIG_PAGECACHE) option. If no such buffer // exists, this function falls back to sqlite3Malloc(). -func Xsqlite3PageMalloc(tls *libc.TLS, sz int32) uintptr { /* sqlite3.c:51749:21: */ +func Xsqlite3PageMalloc(tls *libc.TLS, sz int32) uintptr { /* sqlite3.c:51759:21: */ // These allocations are never very large return pcache1Alloc(tls, sz) } // Free an allocated buffer obtained from sqlite3PageMalloc(). -func Xsqlite3PageFree(tls *libc.TLS, p uintptr) { /* sqlite3.c:51757:21: */ +func Xsqlite3PageFree(tls *libc.TLS, p uintptr) { /* sqlite3.c:51767:21: */ pcache1Free(tls, p) } @@ -28898,7 +28908,7 @@ func Xsqlite3PageFree(tls *libc.TLS, p uintptr) { /* sqlite3.c:51757:21: */ // under memory pressure, then again it is desirable to avoid // allocating a new page cache entry in order to avoid stressing // the heap even further. -func pcache1UnderMemoryPressure(tls *libc.TLS, pCache uintptr) int32 { /* sqlite3.c:51778:12: */ +func pcache1UnderMemoryPressure(tls *libc.TLS, pCache uintptr) int32 { /* sqlite3.c:51788:12: */ if pcache1_g.FnSlot != 0 && (*PCache1)(unsafe.Pointer(pCache)).FszPage+(*PCache1)(unsafe.Pointer(pCache)).FszExtra <= pcache1_g.FszSlot { return pcache1_g.FbUnderPressure } else { @@ -28914,7 +28924,7 @@ func pcache1UnderMemoryPressure(tls *libc.TLS, pCache uintptr) int32 { /* sqlite // as the first argument. // // The PCache mutex must be held when this function is called. -func pcache1ResizeHash(tls *libc.TLS, p uintptr) { /* sqlite3.c:51795:13: */ +func pcache1ResizeHash(tls *libc.TLS, p uintptr) { /* sqlite3.c:51805:13: */ var apNew uintptr var nNew uint32 var i uint32 @@ -28955,7 +28965,7 @@ func pcache1ResizeHash(tls *libc.TLS, p uintptr) { /* sqlite3.c:51795:13: */ // LRU list, then this function is a no-op. // // The PGroup mutex must be held when this function is called. -func pcache1PinPage(tls *libc.TLS, pPage uintptr) uintptr { /* sqlite3.c:51836:15: */ +func pcache1PinPage(tls *libc.TLS, pPage uintptr) uintptr { /* sqlite3.c:51846:15: */ (*PgHdr1)(unsafe.Pointer((*PgHdr1)(unsafe.Pointer(pPage)).FpLruPrev)).FpLruNext = (*PgHdr1)(unsafe.Pointer(pPage)).FpLruNext (*PgHdr1)(unsafe.Pointer((*PgHdr1)(unsafe.Pointer(pPage)).FpLruNext)).FpLruPrev = (*PgHdr1)(unsafe.Pointer(pPage)).FpLruPrev @@ -28972,7 +28982,7 @@ func pcache1PinPage(tls *libc.TLS, pPage uintptr) uintptr { /* sqlite3.c:51836:1 // Also free the page if freePage is true. // // The PGroup mutex must be held when this function is called. -func pcache1RemoveFromHash(tls *libc.TLS, pPage uintptr, freeFlag int32) { /* sqlite3.c:51861:13: */ +func pcache1RemoveFromHash(tls *libc.TLS, pPage uintptr, freeFlag int32) { /* sqlite3.c:51871:13: */ var h uint32 var pCache uintptr = (*PgHdr1)(unsafe.Pointer(pPage)).FpCache var pp uintptr @@ -28990,7 +29000,7 @@ func pcache1RemoveFromHash(tls *libc.TLS, pPage uintptr, freeFlag int32) { /* sq // If there are currently more than nMaxPage pages allocated, try // to recycle pages to reduce the number allocated to nMaxPage. -func pcache1EnforceMaxPage(tls *libc.TLS, pCache uintptr) { /* sqlite3.c:51879:13: */ +func pcache1EnforceMaxPage(tls *libc.TLS, pCache uintptr) { /* sqlite3.c:51889:13: */ var pGroup uintptr = (*PCache1)(unsafe.Pointer(pCache)).FpGroup var p uintptr @@ -29011,7 +29021,7 @@ func pcache1EnforceMaxPage(tls *libc.TLS, pCache uintptr) { /* sqlite3.c:51879:1 // criteria are unpinned before they are discarded. // // The PCache mutex must be held when this function is called. -func pcache1TruncateUnsafe(tls *libc.TLS, pCache uintptr, iLimit uint32) { /* sqlite3.c:51904:13: */ +func pcache1TruncateUnsafe(tls *libc.TLS, pCache uintptr, iLimit uint32) { /* sqlite3.c:51914:13: */ var h uint32 var iStop uint32 @@ -29059,7 +29069,7 @@ func pcache1TruncateUnsafe(tls *libc.TLS, pCache uintptr, iLimit uint32) { /* sq //******* sqlite3_pcache Methods ********************************************* // Implementation of the sqlite3_pcache.xInit method. -func pcache1Init(tls *libc.TLS, NotUsed uintptr) int32 { /* sqlite3.c:51955:12: */ +func pcache1Init(tls *libc.TLS, NotUsed uintptr) int32 { /* sqlite3.c:51965:12: */ _ = NotUsed libc.Xmemset(tls, uintptr(unsafe.Pointer(&pcache1_g)), 0, uint64(unsafe.Sizeof(pcache1_g))) @@ -29097,7 +29107,7 @@ func pcache1Init(tls *libc.TLS, NotUsed uintptr) int32 { /* sqlite3.c:51955:12: // Implementation of the sqlite3_pcache.xShutdown method. // Note that the static mutex allocated in xInit does // not need to be freed. -func pcache1Shutdown(tls *libc.TLS, NotUsed uintptr) { /* sqlite3.c:52008:13: */ +func pcache1Shutdown(tls *libc.TLS, NotUsed uintptr) { /* sqlite3.c:52018:13: */ _ = NotUsed libc.Xmemset(tls, uintptr(unsafe.Pointer(&pcache1_g)), 0, uint64(unsafe.Sizeof(pcache1_g))) @@ -29106,7 +29116,7 @@ func pcache1Shutdown(tls *libc.TLS, NotUsed uintptr) { /* sqlite3.c:52008:13: */ // Implementation of the sqlite3_pcache.xCreate method. // // Allocate a new cache. -func pcache1Create(tls *libc.TLS, szPage int32, szExtra int32, bPurgeable int32) uintptr { /* sqlite3.c:52022:23: */ +func pcache1Create(tls *libc.TLS, szPage int32, szExtra int32, bPurgeable int32) uintptr { /* sqlite3.c:52032:23: */ var pCache uintptr // The newly created page cache var pGroup uintptr // The group the new page cache will belong to var sz int32 // Bytes of memory required to allocate the new cache @@ -29156,7 +29166,7 @@ func pcache1Create(tls *libc.TLS, szPage int32, szExtra int32, bPurgeable int32) // Implementation of the sqlite3_pcache.xCachesize method. // // Configure the cache_size limit for a cache. -func pcache1Cachesize(tls *libc.TLS, p uintptr, nMax int32) { /* sqlite3.c:52072:13: */ +func pcache1Cachesize(tls *libc.TLS, p uintptr, nMax int32) { /* sqlite3.c:52082:13: */ var pCache uintptr = p var n U32 @@ -29179,7 +29189,7 @@ func pcache1Cachesize(tls *libc.TLS, p uintptr, nMax int32) { /* sqlite3.c:52072 // Implementation of the sqlite3_pcache.xShrink method. // // Free up as much memory as possible. -func pcache1Shrink(tls *libc.TLS, p uintptr) { /* sqlite3.c:52097:13: */ +func pcache1Shrink(tls *libc.TLS, p uintptr) { /* sqlite3.c:52107:13: */ var pCache uintptr = p if (*PCache1)(unsafe.Pointer(pCache)).FbPurgeable != 0 { var pGroup uintptr = (*PCache1)(unsafe.Pointer(pCache)).FpGroup @@ -29194,7 +29204,7 @@ func pcache1Shrink(tls *libc.TLS, p uintptr) { /* sqlite3.c:52097:13: */ } // Implementation of the sqlite3_pcache.xPagecount method. -func pcache1Pagecount(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:52114:12: */ +func pcache1Pagecount(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:52124:12: */ var n int32 var pCache uintptr = p Xsqlite3_mutex_enter(tls, (*PGroup)(unsafe.Pointer((*PCache1)(unsafe.Pointer(pCache)).FpGroup)).Fmutex) @@ -29209,7 +29219,7 @@ func pcache1Pagecount(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:52114:12: * // This steps are broken out into a separate procedure because they are // usually not needed, and by avoiding the stack initialization required // for these steps, the main pcache1Fetch() procedure can run faster. -func pcache1FetchStage2(tls *libc.TLS, pCache uintptr, iKey uint32, createFlag int32) uintptr { /* sqlite3.c:52132:31: */ +func pcache1FetchStage2(tls *libc.TLS, pCache uintptr, iKey uint32, createFlag int32) uintptr { /* sqlite3.c:52142:31: */ var nPinned uint32 var pGroup uintptr = (*PCache1)(unsafe.Pointer(pCache)).FpGroup var pPage uintptr = uintptr(0) @@ -29327,7 +29337,7 @@ func pcache1FetchStage2(tls *libc.TLS, pCache uintptr, iKey uint32, createFlag i // the general case. pcache1FetchNoMutex() is a faster implementation for // the common case where pGroup->mutex is NULL. The pcache1Fetch() wrapper // invokes the appropriate routine. -func pcache1FetchNoMutex(tls *libc.TLS, p uintptr, iKey uint32, createFlag int32) uintptr { /* sqlite3.c:52260:15: */ +func pcache1FetchNoMutex(tls *libc.TLS, p uintptr, iKey uint32, createFlag int32) uintptr { /* sqlite3.c:52270:15: */ var pCache uintptr = p var pPage uintptr = uintptr(0) @@ -29356,7 +29366,7 @@ func pcache1FetchNoMutex(tls *libc.TLS, p uintptr, iKey uint32, createFlag int32 return uintptr(0) } -func pcache1FetchWithMutex(tls *libc.TLS, p uintptr, iKey uint32, createFlag int32) uintptr { /* sqlite3.c:52290:15: */ +func pcache1FetchWithMutex(tls *libc.TLS, p uintptr, iKey uint32, createFlag int32) uintptr { /* sqlite3.c:52300:15: */ var pCache uintptr = p var pPage uintptr @@ -29367,7 +29377,7 @@ func pcache1FetchWithMutex(tls *libc.TLS, p uintptr, iKey uint32, createFlag int return pPage } -func pcache1Fetch(tls *libc.TLS, p uintptr, iKey uint32, createFlag int32) uintptr { /* sqlite3.c:52305:28: */ +func pcache1Fetch(tls *libc.TLS, p uintptr, iKey uint32, createFlag int32) uintptr { /* sqlite3.c:52315:28: */ var pCache uintptr = p if (*PGroup)(unsafe.Pointer((*PCache1)(unsafe.Pointer(pCache)).FpGroup)).Fmutex != 0 { @@ -29381,7 +29391,7 @@ func pcache1Fetch(tls *libc.TLS, p uintptr, iKey uint32, createFlag int32) uintp // Implementation of the sqlite3_pcache.xUnpin method. // // Mark a page as unpinned (eligible for asynchronous recycling). -func pcache1Unpin(tls *libc.TLS, p uintptr, pPg uintptr, reuseUnlikely int32) { /* sqlite3.c:52336:13: */ +func pcache1Unpin(tls *libc.TLS, p uintptr, pPg uintptr, reuseUnlikely int32) { /* sqlite3.c:52346:13: */ var pCache uintptr = p var pPage uintptr = pPg var pGroup uintptr = (*PCache1)(unsafe.Pointer(pCache)).FpGroup @@ -29406,7 +29416,7 @@ func pcache1Unpin(tls *libc.TLS, p uintptr, pPg uintptr, reuseUnlikely int32) { } // Implementation of the sqlite3_pcache.xRekey method. -func pcache1Rekey(tls *libc.TLS, p uintptr, pPg uintptr, iOld uint32, iNew uint32) { /* sqlite3.c:52371:13: */ +func pcache1Rekey(tls *libc.TLS, p uintptr, pPg uintptr, iOld uint32, iNew uint32) { /* sqlite3.c:52381:13: */ var pCache uintptr = p var pPage uintptr = pPg var pp uintptr @@ -29437,7 +29447,7 @@ func pcache1Rekey(tls *libc.TLS, p uintptr, pPg uintptr, iOld uint32, iNew uint3 // Discard all unpinned pages in the cache with a page number equal to // or greater than parameter iLimit. Any pinned pages with a page number // equal to or greater than iLimit are implicitly unpinned. -func pcache1Truncate(tls *libc.TLS, p uintptr, iLimit uint32) { /* sqlite3.c:52411:13: */ +func pcache1Truncate(tls *libc.TLS, p uintptr, iLimit uint32) { /* sqlite3.c:52421:13: */ var pCache uintptr = p Xsqlite3_mutex_enter(tls, (*PGroup)(unsafe.Pointer((*PCache1)(unsafe.Pointer(pCache)).FpGroup)).Fmutex) if iLimit <= (*PCache1)(unsafe.Pointer(pCache)).FiMaxKey { @@ -29450,7 +29460,7 @@ func pcache1Truncate(tls *libc.TLS, p uintptr, iLimit uint32) { /* sqlite3.c:524 // Implementation of the sqlite3_pcache.xDestroy method. // // Destroy a cache allocated using pcache1Create(). -func pcache1Destroy(tls *libc.TLS, p uintptr) { /* sqlite3.c:52426:13: */ +func pcache1Destroy(tls *libc.TLS, p uintptr) { /* sqlite3.c:52436:13: */ var pCache uintptr = p var pGroup uintptr = (*PCache1)(unsafe.Pointer(pCache)).FpGroup @@ -29473,7 +29483,7 @@ func pcache1Destroy(tls *libc.TLS, p uintptr) { /* sqlite3.c:52426:13: */ // This function is called during initialization (sqlite3_initialize()) to // install the default pluggable cache module, assuming the user has not // already provided an alternative. -func Xsqlite3PCacheSetDefault(tls *libc.TLS) { /* sqlite3.c:52449:21: */ +func Xsqlite3PCacheSetDefault(tls *libc.TLS) { /* sqlite3.c:52459:21: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -29493,16 +29503,16 @@ var defaultMethods1 = Sqlite3_pcache_methods2{ FxTruncate: 0, // xTruncate FxDestroy: 0, // xDestroy FxShrink: 0, // xShrink -} /* sqlite3.c:52450:40 */ +} /* sqlite3.c:52460:40 */ // Return the size of the header on each page of this PCACHE implementation. -func Xsqlite3HeaderSizePcache1(tls *libc.TLS) int32 { /* sqlite3.c:52471:20: */ +func Xsqlite3HeaderSizePcache1(tls *libc.TLS) int32 { /* sqlite3.c:52481:20: */ return int32((uint64(unsafe.Sizeof(PgHdr1{})) + uint64(7)) & libc.Uint64FromInt32(libc.CplInt32(7))) } // Return the global mutex used by this PCACHE implementation. The // sqlite3_status() routine needs access to this mutex. -func Xsqlite3Pcache1Mutex(tls *libc.TLS) uintptr { /* sqlite3.c:52477:30: */ +func Xsqlite3Pcache1Mutex(tls *libc.TLS) uintptr { /* sqlite3.c:52487:30: */ return pcache1_g.Fmutex } @@ -29513,7 +29523,7 @@ func Xsqlite3Pcache1Mutex(tls *libc.TLS) uintptr { /* sqlite3.c:52477:30: */ // nReq is the number of bytes of memory required. Once this much has // been released, the function returns. The return value is the total number // of bytes of memory released. -func Xsqlite3PcacheReleaseMemory(tls *libc.TLS, nReq int32) int32 { /* sqlite3.c:52491:20: */ +func Xsqlite3PcacheReleaseMemory(tls *libc.TLS, nReq int32) int32 { /* sqlite3.c:52501:20: */ var nFree int32 = 0 if Xsqlite3Config.FpPage == uintptr(0) { @@ -29630,7 +29640,7 @@ type RowSetChunk = struct { // Allocate a RowSet object. Return NULL if a memory allocation // error occurs. -func Xsqlite3RowSetInit(tls *libc.TLS, db uintptr) uintptr { /* sqlite3.c:52671:23: */ +func Xsqlite3RowSetInit(tls *libc.TLS, db uintptr) uintptr { /* sqlite3.c:52681:23: */ var p uintptr = Xsqlite3DbMallocRawNN(tls, db, uint64(unsafe.Sizeof(RowSet{}))) if p != 0 { var N int32 = Xsqlite3DbMallocSize(tls, db, p) @@ -29650,7 +29660,7 @@ func Xsqlite3RowSetInit(tls *libc.TLS, db uintptr) uintptr { /* sqlite3.c:52671: // Deallocate all chunks from a RowSet. This frees all memory that // the RowSet has allocated over its lifetime. This routine is // the destructor for the RowSet. -func Xsqlite3RowSetClear(tls *libc.TLS, pArg uintptr) { /* sqlite3.c:52693:21: */ +func Xsqlite3RowSetClear(tls *libc.TLS, pArg uintptr) { /* sqlite3.c:52703:21: */ var p uintptr = pArg var pChunk uintptr var pNextChunk uintptr @@ -29669,7 +29679,7 @@ func Xsqlite3RowSetClear(tls *libc.TLS, pArg uintptr) { /* sqlite3.c:52693:21: * // Deallocate all chunks from a RowSet. This frees all memory that // the RowSet has allocated over its lifetime. This routine is // the destructor for the RowSet. -func Xsqlite3RowSetDelete(tls *libc.TLS, pArg uintptr) { /* sqlite3.c:52713:21: */ +func Xsqlite3RowSetDelete(tls *libc.TLS, pArg uintptr) { /* sqlite3.c:52723:21: */ Xsqlite3RowSetClear(tls, pArg) Xsqlite3DbFree(tls, (*RowSet)(unsafe.Pointer(pArg)).Fdb, pArg) } @@ -29680,7 +29690,7 @@ func Xsqlite3RowSetDelete(tls *libc.TLS, pArg uintptr) { /* sqlite3.c:52713:21: // // In an OOM situation, the RowSet.db->mallocFailed flag is set and this // routine returns NULL. -func rowSetEntryAlloc(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:52726:27: */ +func rowSetEntryAlloc(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:52736:27: */ if int32((*RowSet)(unsafe.Pointer(p)).FnFresh) == 0 { //OPTIMIZATION-IF-FALSE // We could allocate a fresh RowSetEntry each time one is needed, but it @@ -29703,7 +29713,7 @@ func rowSetEntryAlloc(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:52726:27: // // The mallocFailed flag of the database connection is set if a // memory allocation fails. -func Xsqlite3RowSetInsert(tls *libc.TLS, p uintptr, rowid I64) { /* sqlite3.c:52751:21: */ +func Xsqlite3RowSetInsert(tls *libc.TLS, p uintptr, rowid I64) { /* sqlite3.c:52761:21: */ var pEntry uintptr // The new entry var pLast uintptr // The last prior entry @@ -29733,7 +29743,7 @@ func Xsqlite3RowSetInsert(tls *libc.TLS, p uintptr, rowid I64) { /* sqlite3.c:52 // // The input lists are connected via pRight pointers and are // assumed to each already be in sorted order. -func rowSetEntryMerge(tls *libc.TLS, pA uintptr, pB uintptr) uintptr { /* sqlite3.c:52782:27: */ +func rowSetEntryMerge(tls *libc.TLS, pA uintptr, pB uintptr) uintptr { /* sqlite3.c:52792:27: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -29768,7 +29778,7 @@ func rowSetEntryMerge(tls *libc.TLS, pA uintptr, pB uintptr) uintptr { /* sqlite // Sort all elements on the list of RowSetEntry objects into order of // increasing v. -func rowSetEntrySort(tls *libc.TLS, pIn uintptr) uintptr { /* sqlite3.c:52817:27: */ +func rowSetEntrySort(tls *libc.TLS, pIn uintptr) uintptr { /* sqlite3.c:52827:27: */ bp := tls.Alloc(320) defer tls.Free(320) @@ -29804,7 +29814,7 @@ func rowSetEntrySort(tls *libc.TLS, pIn uintptr) uintptr { /* sqlite3.c:52817:27 // The input, pIn, is a binary tree (or subtree) of RowSetEntry objects. // Convert this tree into a linked list connected by the pRight pointers // and return pointers to the first and last elements of the new list. -func rowSetTreeToList(tls *libc.TLS, pIn uintptr, ppFirst uintptr, ppLast uintptr) { /* sqlite3.c:52846:13: */ +func rowSetTreeToList(tls *libc.TLS, pIn uintptr, ppFirst uintptr, ppLast uintptr) { /* sqlite3.c:52856:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -29835,7 +29845,7 @@ func rowSetTreeToList(tls *libc.TLS, pIn uintptr, ppFirst uintptr, ppLast uintpt // and leave *ppList set to NULL. // // Return a pointer to the root of the constructed binary tree. -func rowSetNDeepTree(tls *libc.TLS, ppList uintptr, iDepth int32) uintptr { /* sqlite3.c:52881:27: */ +func rowSetNDeepTree(tls *libc.TLS, ppList uintptr, iDepth int32) uintptr { /* sqlite3.c:52891:27: */ var p uintptr // Root of the new tree var pLeft uintptr // Left subtree if *(*uintptr)(unsafe.Pointer(ppList)) == uintptr(0) { //OPTIMIZATION-IF-TRUE @@ -29866,7 +29876,7 @@ func rowSetNDeepTree(tls *libc.TLS, ppList uintptr, iDepth int32) uintptr { /* s // Convert a sorted list of elements into a binary tree. Make the tree // as deep as it needs to be in order to contain the entire list. -func rowSetListToTree(tls *libc.TLS, pList uintptr) uintptr { /* sqlite3.c:52917:27: */ +func rowSetListToTree(tls *libc.TLS, pList uintptr) uintptr { /* sqlite3.c:52927:27: */ bp := tls.Alloc(8) defer tls.Free(8) *(*uintptr)(unsafe.Pointer(bp)) = pList @@ -29899,7 +29909,7 @@ func rowSetListToTree(tls *libc.TLS, pList uintptr) uintptr { /* sqlite3.c:52917 // been used. Older versions of RowSet allowed that, but as the // capability was not used by the code generator, it was removed // for code economy. -func Xsqlite3RowSetNext(tls *libc.TLS, p uintptr, pRowid uintptr) int32 { /* sqlite3.c:52949:20: */ +func Xsqlite3RowSetNext(tls *libc.TLS, p uintptr, pRowid uintptr) int32 { /* sqlite3.c:52959:20: */ // Cannot be used with sqlite3RowSetText() @@ -29932,7 +29942,7 @@ func Xsqlite3RowSetNext(tls *libc.TLS, p uintptr, pRowid uintptr) int32 { /* sql // If this is the first test of a new batch and if there exist entries // on pRowSet->pEntry, then sort those entries into the forest at // pRowSet->pForest so that they can be tested. -func Xsqlite3RowSetTest(tls *libc.TLS, pRowSet uintptr, iBatch int32, iRowid Sqlite3_int64) int32 { /* sqlite3.c:52983:20: */ +func Xsqlite3RowSetTest(tls *libc.TLS, pRowSet uintptr, iBatch int32, iRowid Sqlite3_int64) int32 { /* sqlite3.c:52993:20: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -30117,7 +30127,7 @@ type Wal1 = struct { // Connection to a write-ahead log (WAL) file. // There is one object of this type for each pager. -type Wal = Wal1 /* sqlite3.c:53125:20 */ +type Wal = Wal1 /* sqlite3.c:53135:20 */ //************* End of wal.h ************************************************ //************* Continuing where we left off in pager.c ********************* @@ -30886,7 +30896,7 @@ type PagerSavepoint1 = struct { // immediately following the last journal record written into the main // journal before the journal-header. This is required during savepoint // rollback (see pagerPlaybackSavepoint()). -type PagerSavepoint = PagerSavepoint1 /* sqlite3.c:53636:31 */ +type PagerSavepoint = PagerSavepoint1 /* sqlite3.c:53646:31 */ // Indexes for use with Pager.aStat[]. The Pager.aStat[] array contains // the values accessed by passing SQLITE_DBSTATUS_CACHE_HIT, CACHE_MISS @@ -30919,11 +30929,11 @@ type PagerSavepoint = PagerSavepoint1 /* sqlite3.c:53636:31 */ // is different for every journal, we minimize that risk. var aJournalMagic = [8]uint8{ uint8(0xd9), uint8(0xd5), uint8(0x05), uint8(0xf9), uint8(0x20), uint8(0xa1), uint8(0x63), uint8(0xd7), -} /* sqlite3.c:53958:28 */ +} /* sqlite3.c:53968:28 */ // Set the Pager.xGet method for the appropriate routine used to fetch // content from the pager. -func setGetterMethod(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:54251:13: */ +func setGetterMethod(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:54261:13: */ if (*Pager)(unsafe.Pointer(pPager)).FerrCode != 0 { (*Pager)(unsafe.Pointer(pPager)).FxGet = *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, Pgno, uintptr, int32) int32 @@ -30946,7 +30956,7 @@ func setGetterMethod(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:54251:13: */ // * The page-number is less than or equal to PagerSavepoint.nOrig, and // * The bit corresponding to the page-number is not set in // PagerSavepoint.pInSavepoint. -func subjRequiresPage(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:54272:12: */ +func subjRequiresPage(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:54282:12: */ var pPager uintptr = (*PgHdr)(unsafe.Pointer(pPg)).FpPager var p uintptr var pgno Pgno = (*PgHdr)(unsafe.Pointer(pPg)).Fpgno @@ -30968,7 +30978,7 @@ func subjRequiresPage(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:54272:12: // error code is something goes wrong. // // All values are stored on disk as big-endian. -func read32bits(tls *libc.TLS, fd uintptr, offset I64, pRes uintptr) int32 { /* sqlite3.c:54305:12: */ +func read32bits(tls *libc.TLS, fd uintptr, offset I64, pRes uintptr) int32 { /* sqlite3.c:54315:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -30985,7 +30995,7 @@ func read32bits(tls *libc.TLS, fd uintptr, offset I64, pRes uintptr) int32 { /* // Write a 32-bit integer into the given file descriptor. Return SQLITE_OK // on success or an error code is something goes wrong. -func write32bits(tls *libc.TLS, fd uintptr, offset I64, val U32) int32 { /* sqlite3.c:54324:12: */ +func write32bits(tls *libc.TLS, fd uintptr, offset I64, val U32) int32 { /* sqlite3.c:54334:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -31002,7 +31012,7 @@ func write32bits(tls *libc.TLS, fd uintptr, offset I64, val U32) int32 { /* sqli // Except, if Pager.eLock is set to UNKNOWN_LOCK when this function is // called, do not modify it. See the comment above the #define of // UNKNOWN_LOCK for an explanation of this. -func pagerUnlockDb(tls *libc.TLS, pPager uintptr, eLock int32) int32 { /* sqlite3.c:54339:12: */ +func pagerUnlockDb(tls *libc.TLS, pPager uintptr, eLock int32) int32 { /* sqlite3.c:54349:12: */ var rc int32 = SQLITE_OK if (*Sqlite3_file)(unsafe.Pointer((*Pager)(unsafe.Pointer(pPager)).Ffd)).FpMethods != uintptr(0) { @@ -31029,7 +31039,7 @@ func pagerUnlockDb(tls *libc.TLS, pPager uintptr, eLock int32) int32 { /* sqlite // called, do not modify it unless the new locking state is EXCLUSIVE_LOCK. // See the comment above the #define of UNKNOWN_LOCK for an explanation // of this. -func pagerLockDb(tls *libc.TLS, pPager uintptr, eLock int32) int32 { /* sqlite3.c:54367:12: */ +func pagerLockDb(tls *libc.TLS, pPager uintptr, eLock int32) int32 { /* sqlite3.c:54377:12: */ var rc int32 = SQLITE_OK if int32((*Pager)(unsafe.Pointer(pPager)).FeLock) < eLock || int32((*Pager)(unsafe.Pointer(pPager)).FeLock) == EXCLUSIVE_LOCK+1 { @@ -31063,7 +31073,7 @@ func pagerLockDb(tls *libc.TLS, pPager uintptr, eLock int32) int32 { /* sqlite3. // returned in this case. // // If neither optimization can be used, 0 is returned. -func jrnlBufferSize(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:54400:12: */ +func jrnlBufferSize(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:54410:12: */ _ = pPager @@ -31097,7 +31107,7 @@ func jrnlBufferSize(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:54400:12 // // If an error occurs while reading from the journal file, an SQLite // error code is returned. -func readSuperJournal(tls *libc.TLS, pJrnl uintptr, zSuper uintptr, nSuper U32) int32 { /* sqlite3.c:54505:12: */ +func readSuperJournal(tls *libc.TLS, pJrnl uintptr, zSuper uintptr, nSuper U32) int32 { /* sqlite3.c:54515:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -31156,7 +31166,7 @@ func readSuperJournal(tls *libc.TLS, pJrnl uintptr, zSuper uintptr, nSuper U32) // 100 512 // 2000 2048 // -func journalHdrOffset(tls *libc.TLS, pPager uintptr) I64 { /* sqlite3.c:54561:12: */ +func journalHdrOffset(tls *libc.TLS, pPager uintptr) I64 { /* sqlite3.c:54571:12: */ var offset I64 = int64(0) var c I64 = (*Pager)(unsafe.Pointer(pPager)).FjournalOff if c != 0 { @@ -31185,7 +31195,7 @@ func journalHdrOffset(tls *libc.TLS, pPager uintptr) I64 { /* sqlite3.c:54561:12 // // If an IO error occurs, abandon processing and return the IO error code. // Otherwise, return SQLITE_OK. -func zeroJournalHdr(tls *libc.TLS, pPager uintptr, doTruncate int32) int32 { /* sqlite3.c:54594:12: */ +func zeroJournalHdr(tls *libc.TLS, pPager uintptr, doTruncate int32) int32 { /* sqlite3.c:54604:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -31220,7 +31230,7 @@ func zeroJournalHdr(tls *libc.TLS, pPager uintptr, doTruncate int32) int32 { /* return rc } -var zeroHdr = [28]int8{0: int8(0)} /* sqlite3.c:54605:25 */ +var zeroHdr = [28]int8{0: int8(0)} /* sqlite3.c:54615:25 */ // The journal file must be open when this routine is called. A journal // header (JOURNAL_HDR_SZ bytes) is written into the journal file at the @@ -31235,7 +31245,7 @@ var zeroHdr = [28]int8{0: int8(0)} /* sqlite3.c:54605:25 */ // - 4 bytes: Database page size. // // Followed by (JOURNAL_HDR_SZ - 28) bytes of unused space. -func writeJournalHdr(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:54644:12: */ +func writeJournalHdr(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:54654:12: */ var rc int32 = SQLITE_OK // Return code var zHeader uintptr = (*Pager)(unsafe.Pointer(pPager)).FpTmpSpace // Temporary space used to build header var nHeader U32 = U32((*Pager)(unsafe.Pointer(pPager)).FpageSize) // Size of buffer pointed to by zHeader @@ -31345,7 +31355,7 @@ func writeJournalHdr(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:54644:1 // If the journal header file appears to be corrupted, SQLITE_DONE is // returned and *pNRec and *PDbSize are undefined. If JOURNAL_HDR_SZ bytes // cannot be read from the journal file an error code is returned. -func readJournalHdr(tls *libc.TLS, pPager uintptr, isHot int32, journalSize I64, pNRec uintptr, pDbSize uintptr) int32 { /* sqlite3.c:54762:12: */ +func readJournalHdr(tls *libc.TLS, pPager uintptr, isHot int32, journalSize I64, pNRec uintptr, pDbSize uintptr) int32 { /* sqlite3.c:54772:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -31455,7 +31465,7 @@ func readJournalHdr(tls *libc.TLS, pPager uintptr, isHot int32, journalSize I64, // // If zSuper is a NULL pointer (occurs for a single database transaction), // this call is a no-op. -func writeSuperJournal(tls *libc.TLS, pPager uintptr, zSuper uintptr) int32 { /* sqlite3.c:54887:12: */ +func writeSuperJournal(tls *libc.TLS, pPager uintptr, zSuper uintptr) int32 { /* sqlite3.c:54897:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -31515,21 +31525,21 @@ func writeSuperJournal(tls *libc.TLS, pPager uintptr, zSuper uintptr) int32 { /* } // Discard the entire contents of the in-memory page-cache. -func pager_reset(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:54955:13: */ +func pager_reset(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:54965:13: */ (*Pager)(unsafe.Pointer(pPager)).FiDataVersion++ Xsqlite3BackupRestart(tls, (*Pager)(unsafe.Pointer(pPager)).FpBackup) Xsqlite3PcacheClear(tls, (*Pager)(unsafe.Pointer(pPager)).FpPCache) } // Return the pPager->iDataVersion value -func Xsqlite3PagerDataVersion(tls *libc.TLS, pPager uintptr) U32 { /* sqlite3.c:54964:20: */ +func Xsqlite3PagerDataVersion(tls *libc.TLS, pPager uintptr) U32 { /* sqlite3.c:54974:20: */ return (*Pager)(unsafe.Pointer(pPager)).FiDataVersion } // Free all structures in the Pager.aSavepoint[] array and set both // Pager.aSavepoint and Pager.nSavepoint to zero. Close the sub-journal // if it is open and the pager is not in exclusive mode. -func releaseAllSavepoints(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:54973:13: */ +func releaseAllSavepoints(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:54983:13: */ var ii int32 // Iterator for looping through Pager.aSavepoint for ii = 0; ii < (*Pager)(unsafe.Pointer(pPager)).FnSavepoint; ii++ { Xsqlite3BitvecDestroy(tls, (*PagerSavepoint)(unsafe.Pointer((*Pager)(unsafe.Pointer(pPager)).FaSavepoint+uintptr(ii)*56)).FpInSavepoint) @@ -31546,7 +31556,7 @@ func releaseAllSavepoints(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:54973:13 // Set the bit number pgno in the PagerSavepoint.pInSavepoint // bitvecs of all open savepoints. Return SQLITE_OK if successful // or SQLITE_NOMEM if a malloc failure occurs. -func addToSavepointBitvecs(tls *libc.TLS, pPager uintptr, pgno Pgno) int32 { /* sqlite3.c:54992:12: */ +func addToSavepointBitvecs(tls *libc.TLS, pPager uintptr, pgno Pgno) int32 { /* sqlite3.c:55002:12: */ var ii int32 // Loop counter var rc int32 = SQLITE_OK // Result code @@ -31575,7 +31585,7 @@ func addToSavepointBitvecs(tls *libc.TLS, pPager uintptr, pgno Pgno) int32 { /* // or not, any journal file left in the file-system will be treated // as a hot-journal and rolled back the next time a read-transaction // is opened (by this or by any other connection). -func pager_unlock(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:55024:13: */ +func pager_unlock(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:55034:13: */ Xsqlite3BitvecDestroy(tls, (*Pager)(unsafe.Pointer(pPager)).FpInJournal) (*Pager)(unsafe.Pointer(pPager)).FpInJournal = uintptr(0) @@ -31667,7 +31677,7 @@ func pager_unlock(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:55024:13: */ // the persistent error occurred, then the rollback journal may need // to be replayed to restore the contents of the database file (as if // it were a hot-journal). -func pager_error(tls *libc.TLS, pPager uintptr, rc int32) int32 { /* sqlite3.c:55121:12: */ +func pager_error(tls *libc.TLS, pPager uintptr, rc int32) int32 { /* sqlite3.c:55131:12: */ var rc2 int32 = rc & 0xff if rc2 == SQLITE_FULL || rc2 == SQLITE_IOERR { @@ -31692,7 +31702,7 @@ func pager_error(tls *libc.TLS, pPager uintptr, rc int32) int32 { /* sqlite3.c:5 // file has been created already (via a spill on pagerStress()) and // when the number of dirty pages in memory exceeds 25% of the total // cache size. -func pagerFlushOnCommit(tls *libc.TLS, pPager uintptr, bCommit int32) int32 { /* sqlite3.c:55155:12: */ +func pagerFlushOnCommit(tls *libc.TLS, pPager uintptr, bCommit int32) int32 { /* sqlite3.c:55165:12: */ if int32((*Pager)(unsafe.Pointer(pPager)).FtempFile) == 0 { return 1 } @@ -31756,7 +31766,7 @@ func pagerFlushOnCommit(tls *libc.TLS, pPager uintptr, bCommit int32) int32 { /* // unlock operation fails as well, then the first error code related // to the first error encountered (the journal finalization one) is // returned. -func pager_end_transaction(tls *libc.TLS, pPager uintptr, hasSuper int32, bCommit int32) int32 { /* sqlite3.c:55215:12: */ +func pager_end_transaction(tls *libc.TLS, pPager uintptr, hasSuper int32, bCommit int32) int32 { /* sqlite3.c:55225:12: */ var rc int32 = SQLITE_OK // Error code from journal finalization operation var rc2 int32 = SQLITE_OK // Error code from db file unlock operation @@ -31883,7 +31893,7 @@ func pager_end_transaction(tls *libc.TLS, pPager uintptr, hasSuper int32, bCommi // malloc error occurs during a rollback, then this will itself cause // the pager to enter the ERROR state. Which will be cleared by the // call to pager_unlock(), as described above. -func pagerUnlockAndRollback(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:55362:13: */ +func pagerUnlockAndRollback(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:55372:13: */ if int32((*Pager)(unsafe.Pointer(pPager)).FeState) != PAGER_ERROR && int32((*Pager)(unsafe.Pointer(pPager)).FeState) != PAGER_OPEN { if int32((*Pager)(unsafe.Pointer(pPager)).FeState) >= PAGER_WRITER_LOCKED { @@ -31915,7 +31925,7 @@ func pagerUnlockAndRollback(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:55362: // It is much less likely that the two ends of the journal record will be // correct and the middle be corrupt. Thus, this "checksum" scheme, // though fast and simple, catches the mostly likely kind of corruption. -func pager_cksum(tls *libc.TLS, pPager uintptr, aData uintptr) U32 { /* sqlite3.c:55396:12: */ +func pager_cksum(tls *libc.TLS, pPager uintptr, aData uintptr) U32 { /* sqlite3.c:55406:12: */ var cksum U32 = (*Pager)(unsafe.Pointer(pPager)).FcksumInit // Checksum value to return var i int32 = int32((*Pager)(unsafe.Pointer(pPager)).FpageSize - int64(200)) // Loop counter for i > 0 { @@ -31960,7 +31970,7 @@ func pager_cksum(tls *libc.TLS, pPager uintptr, aData uintptr) U32 { /* sqlite3. // If this is a savepoint rollback, then memory may have to be dynamically // allocated by this function. If this is the case and an allocation fails, // SQLITE_NOMEM is returned. -func pager_playback_one_page(tls *libc.TLS, pPager uintptr, pOffset uintptr, pDone uintptr, isMainJrnl int32, isSavepnt int32) int32 { /* sqlite3.c:55443:12: */ +func pager_playback_one_page(tls *libc.TLS, pPager uintptr, pOffset uintptr, pDone uintptr, isMainJrnl int32, isSavepnt int32) int32 { /* sqlite3.c:55453:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -32194,7 +32204,7 @@ func pager_playback_one_page(tls *libc.TLS, pPager uintptr, pOffset uintptr, pDo // the entire contents of the super-journal file. This could be // a couple of kilobytes or so - potentially larger than the page // size. -func pager_delsuper(tls *libc.TLS, pPager uintptr, zSuper uintptr) int32 { /* sqlite3.c:55690:12: */ +func pager_delsuper(tls *libc.TLS, pPager uintptr, zSuper uintptr) int32 { /* sqlite3.c:55700:12: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -32360,7 +32370,7 @@ __14: // // If successful, return SQLITE_OK. If an IO error occurs while modifying // the database file, return the error code to the caller. -func pager_truncate(tls *libc.TLS, pPager uintptr, nPage Pgno) int32 { /* sqlite3.c:55808:12: */ +func pager_truncate(tls *libc.TLS, pPager uintptr, nPage Pgno) int32 { /* sqlite3.c:55818:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -32395,7 +32405,7 @@ func pager_truncate(tls *libc.TLS, pPager uintptr, nPage Pgno) int32 { /* sqlite // Return a sanitized version of the sector-size of OS file pFile. The // return value is guaranteed to lie between 32 and MAX_SECTOR_SIZE. -func Xsqlite3SectorSize(tls *libc.TLS, pFile uintptr) int32 { /* sqlite3.c:55844:20: */ +func Xsqlite3SectorSize(tls *libc.TLS, pFile uintptr) int32 { /* sqlite3.c:55854:20: */ var iRet int32 = Xsqlite3OsSectorSize(tls, pFile) if iRet < 32 { iRet = 512 @@ -32427,7 +32437,7 @@ func Xsqlite3SectorSize(tls *libc.TLS, pFile uintptr) int32 { /* sqlite3.c:55844 // (that is what POWERSAFE_OVERWRITE means), so we minimize the sector // size. For backwards compatibility of the rollback journal file format, // we cannot reduce the effective sector size below 512. -func setSectorSize(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:55878:13: */ +func setSectorSize(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:55888:13: */ if (*Pager)(unsafe.Pointer(pPager)).FtempFile != 0 || Xsqlite3OsDeviceCharacteristics(tls, (*Pager)(unsafe.Pointer(pPager)).Ffd)&SQLITE_IOCAP_POWERSAFE_OVERWRITE != 0 { @@ -32495,7 +32505,7 @@ func setSectorSize(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:55878:13: */ // If the journal really is hot, reset the pager cache prior rolling // back any content. If the journal is merely persistent, no reset is // needed. -func pager_playback(tls *libc.TLS, pPager uintptr, isHot int32) int32 { /* sqlite3.c:55951:12: */ +func pager_playback(tls *libc.TLS, pPager uintptr, isHot int32) int32 { /* sqlite3.c:55961:12: */ bp := tls.Alloc(40) defer tls.Free(40) @@ -32786,7 +32796,7 @@ __28: // // If an IO error occurs, then the IO error is returned to the caller. // Otherwise, SQLITE_OK is returned. -func readDbPage(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:56171:12: */ +func readDbPage(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:56181:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -32840,7 +32850,7 @@ func readDbPage(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:56171:12: */ // This is an unconditional update. See also the pager_incr_changecounter() // routine which only updates the change-counter if the update is actually // needed, as determined by the pPager->changeCountDone state variable. -func pager_write_changecounter(tls *libc.TLS, pPg uintptr) { /* sqlite3.c:56234:13: */ +func pager_write_changecounter(tls *libc.TLS, pPg uintptr) { /* sqlite3.c:56244:13: */ var change_counter U32 if pPg == uintptr(0) { return @@ -32867,7 +32877,7 @@ func pager_write_changecounter(tls *libc.TLS, pPg uintptr) { /* sqlite3.c:56234: // references, the page content is reloaded from the database. If the // attempt to reload content from the database is required and fails, // return an SQLite error code. Otherwise, SQLITE_OK. -func pagerUndoCallback(tls *libc.TLS, pCtx uintptr, iPg Pgno) int32 { /* sqlite3.c:56262:12: */ +func pagerUndoCallback(tls *libc.TLS, pCtx uintptr, iPg Pgno) int32 { /* sqlite3.c:56272:12: */ var rc int32 = SQLITE_OK var pPager uintptr = pCtx var pPg uintptr @@ -32898,7 +32908,7 @@ func pagerUndoCallback(tls *libc.TLS, pCtx uintptr, iPg Pgno) int32 { /* sqlite3 } // This function is called to rollback a transaction on a WAL database. -func pagerRollbackWal(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:56297:12: */ +func pagerRollbackWal(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:56307:12: */ var rc int32 // Return Code var pList uintptr // List of dirty pages to revert @@ -32929,7 +32939,7 @@ func pagerRollbackWal(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:56297: // // The list of pages passed into this routine is always sorted by page number. // Hence, if page 1 appears anywhere on the list, it will be the first page. -func pagerWalFrames(tls *libc.TLS, pPager uintptr, pList uintptr, nTruncate Pgno, isCommit int32) int32 { /* sqlite3.c:56329:12: */ +func pagerWalFrames(tls *libc.TLS, pPager uintptr, pList uintptr, nTruncate Pgno, isCommit int32) int32 { /* sqlite3.c:56339:12: */ bp := tls.Alloc(8) defer tls.Free(8) *(*uintptr)(unsafe.Pointer(bp)) = pList @@ -32977,7 +32987,7 @@ func pagerWalFrames(tls *libc.TLS, pPager uintptr, pList uintptr, nTruncate Pgno // makes a snapshot of the database at the current point in time and preserves // that snapshot for use by the reader in spite of concurrently changes by // other writers or checkpointers. -func pagerBeginReadTransaction(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:56396:12: */ +func pagerBeginReadTransaction(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:56406:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -33008,7 +33018,7 @@ func pagerBeginReadTransaction(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3 // If no error occurs, SQLITE_OK is returned and the size of the database // in pages is stored in *pnPage. Otherwise, an error code (perhaps // SQLITE_IOERR_FSTAT) is returned and *pnPage is left unmodified. -func pagerPagecount(tls *libc.TLS, pPager uintptr, pnPage uintptr) int32 { /* sqlite3.c:56429:12: */ +func pagerPagecount(tls *libc.TLS, pPager uintptr, pnPage uintptr) int32 { /* sqlite3.c:56439:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -33062,7 +33072,7 @@ func pagerPagecount(tls *libc.TLS, pPager uintptr, pnPage uintptr) int32 { /* sq // a WAL on a none-empty database, this ensures there is no race condition // between the xAccess() below and an xDelete() being executed by some // other connection. -func pagerOpenWalIfPresent(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:56489:12: */ +func pagerOpenWalIfPresent(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:56499:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -33130,7 +33140,7 @@ func pagerOpenWalIfPresent(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:5 // is reset to the value that it held at the start of the savepoint // (or transaction). No page with a page-number greater than this value // is played back. If one is encountered it is simply skipped. -func pagerPlaybackSavepoint(tls *libc.TLS, pPager uintptr, pSavepoint uintptr) int32 { /* sqlite3.c:56556:12: */ +func pagerPlaybackSavepoint(tls *libc.TLS, pPager uintptr, pSavepoint uintptr) int32 { /* sqlite3.c:56566:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -33239,18 +33249,18 @@ func pagerPlaybackSavepoint(tls *libc.TLS, pPager uintptr, pSavepoint uintptr) i // Change the maximum number of in-memory pages that are allowed // before attempting to recycle clean and unused pages. -func Xsqlite3PagerSetCachesize(tls *libc.TLS, pPager uintptr, mxPage int32) { /* sqlite3.c:56668:21: */ +func Xsqlite3PagerSetCachesize(tls *libc.TLS, pPager uintptr, mxPage int32) { /* sqlite3.c:56678:21: */ Xsqlite3PcacheSetCachesize(tls, (*Pager)(unsafe.Pointer(pPager)).FpPCache, mxPage) } // Change the maximum number of in-memory pages that are allowed // before attempting to spill pages to journal. -func Xsqlite3PagerSetSpillsize(tls *libc.TLS, pPager uintptr, mxPage int32) int32 { /* sqlite3.c:56676:20: */ +func Xsqlite3PagerSetSpillsize(tls *libc.TLS, pPager uintptr, mxPage int32) int32 { /* sqlite3.c:56686:20: */ return Xsqlite3PcacheSetSpillsize(tls, (*Pager)(unsafe.Pointer(pPager)).FpPCache, mxPage) } // Invoke SQLITE_FCNTL_MMAP_SIZE based on the current value of szMmap. -func pagerFixMaplimit(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:56683:13: */ +func pagerFixMaplimit(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:56693:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -33266,13 +33276,13 @@ func pagerFixMaplimit(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:56683:13: */ } // Change the maximum size of any memory mapping made of the database file. -func Xsqlite3PagerSetMmapLimit(tls *libc.TLS, pPager uintptr, szMmap Sqlite3_int64) { /* sqlite3.c:56699:21: */ +func Xsqlite3PagerSetMmapLimit(tls *libc.TLS, pPager uintptr, szMmap Sqlite3_int64) { /* sqlite3.c:56709:21: */ (*Pager)(unsafe.Pointer(pPager)).FszMmap = szMmap pagerFixMaplimit(tls, pPager) } // Free as much memory as possible from the pager. -func Xsqlite3PagerShrink(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:56707:21: */ +func Xsqlite3PagerShrink(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:56717:21: */ Xsqlite3PcacheShrink(tls, (*Pager)(unsafe.Pointer(pPager)).FpPCache) } @@ -33325,7 +33335,7 @@ func Xsqlite3PagerShrink(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:56707:21: // // Numeric values associated with these states are OFF==1, NORMAL=2, // and FULL=3. -func Xsqlite3PagerSetFlags(tls *libc.TLS, pPager uintptr, pgFlags uint32) { /* sqlite3.c:56763:21: */ +func Xsqlite3PagerSetFlags(tls *libc.TLS, pPager uintptr, pgFlags uint32) { /* sqlite3.c:56773:21: */ var level uint32 = pgFlags & uint32(PAGER_SYNCHRONOUS_MASK) if (*Pager)(unsafe.Pointer(pPager)).FtempFile != 0 { (*Pager)(unsafe.Pointer(pPager)).FnoSync = U8(1) @@ -33389,7 +33399,7 @@ func Xsqlite3PagerSetFlags(tls *libc.TLS, pPager uintptr, pgFlags uint32) { /* s // SQLITE_OPEN_CREATE // SQLITE_OPEN_EXCLUSIVE // SQLITE_OPEN_DELETEONCLOSE -func pagerOpentemp(tls *libc.TLS, pPager uintptr, pFile uintptr, vfsFlags int32) int32 { /* sqlite3.c:56823:12: */ +func pagerOpentemp(tls *libc.TLS, pPager uintptr, pFile uintptr, vfsFlags int32) int32 { /* sqlite3.c:56833:12: */ var rc int32 // Return code vfsFlags = vfsFlags | (SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE | SQLITE_OPEN_EXCLUSIVE | SQLITE_OPEN_DELETEONCLOSE) @@ -33417,7 +33427,7 @@ func pagerOpentemp(tls *libc.TLS, pPager uintptr, pFile uintptr, vfsFlags int32) // If the busy-handler callback returns non-zero, the lock is // retried. If it returns zero, then the SQLITE_BUSY error is // returned to the caller of the pager API function. -func Xsqlite3PagerSetBusyHandler(tls *libc.TLS, pPager uintptr, xBusyHandler uintptr, pBusyHandlerArg uintptr) { /* sqlite3.c:56862:21: */ +func Xsqlite3PagerSetBusyHandler(tls *libc.TLS, pPager uintptr, xBusyHandler uintptr, pBusyHandlerArg uintptr) { /* sqlite3.c:56872:21: */ var ap uintptr (*Pager)(unsafe.Pointer(pPager)).FxBusyHandler = xBusyHandler (*Pager)(unsafe.Pointer(pPager)).FpBusyHandlerArg = pBusyHandlerArg @@ -33454,7 +33464,7 @@ func Xsqlite3PagerSetBusyHandler(tls *libc.TLS, pPager uintptr, xBusyHandler uin // conditions above is not true, the pager was in error state when this // function was called, or because the memory allocation attempt failed, // then *pPageSize is set to the old, retained page size before returning. -func Xsqlite3PagerSetPagesize(tls *libc.TLS, pPager uintptr, pPageSize uintptr, nReserve int32) int32 { /* sqlite3.c:56906:20: */ +func Xsqlite3PagerSetPagesize(tls *libc.TLS, pPager uintptr, pPageSize uintptr, nReserve int32) int32 { /* sqlite3.c:56916:20: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -33523,7 +33533,7 @@ func Xsqlite3PagerSetPagesize(tls *libc.TLS, pPager uintptr, pPageSize uintptr, // during rollback and will be overwritten whenever a rollback // occurs. But other modules are free to use it too, as long as // no rollbacks are happening. -func Xsqlite3PagerTempSpace(tls *libc.TLS, pPager uintptr) uintptr { /* sqlite3.c:56974:21: */ +func Xsqlite3PagerTempSpace(tls *libc.TLS, pPager uintptr) uintptr { /* sqlite3.c:56984:21: */ return (*Pager)(unsafe.Pointer(pPager)).FpTmpSpace } @@ -33532,7 +33542,7 @@ func Xsqlite3PagerTempSpace(tls *libc.TLS, pPager uintptr) uintptr { /* sqlite3. // maximum page count below the current size of the database. // // Regardless of mxPage, return the current maximum page count. -func Xsqlite3PagerMaxPageCount(tls *libc.TLS, pPager uintptr, mxPage Pgno) Pgno { /* sqlite3.c:56985:21: */ +func Xsqlite3PagerMaxPageCount(tls *libc.TLS, pPager uintptr, mxPage Pgno) Pgno { /* sqlite3.c:56995:21: */ if mxPage > Pgno(0) { (*Pager)(unsafe.Pointer(pPager)).FmxPgno = mxPage } @@ -33563,7 +33573,7 @@ func Xsqlite3PagerMaxPageCount(tls *libc.TLS, pPager uintptr, mxPage Pgno) Pgno // If any IO error apart from SQLITE_IOERR_SHORT_READ is encountered, // the error code is returned to the caller and the contents of the // output buffer undefined. -func Xsqlite3PagerReadFileheader(tls *libc.TLS, pPager uintptr, N int32, pDest uintptr) int32 { /* sqlite3.c:57035:20: */ +func Xsqlite3PagerReadFileheader(tls *libc.TLS, pPager uintptr, N int32, pDest uintptr) int32 { /* sqlite3.c:57045:20: */ var rc int32 = SQLITE_OK libc.Xmemset(tls, pDest, 0, uint64(N)) @@ -33586,7 +33596,7 @@ func Xsqlite3PagerReadFileheader(tls *libc.TLS, pPager uintptr, N int32, pDest u // // However, if the file is between 1 and bytes in size, then // this is considered a 1 page file. -func Xsqlite3PagerPagecount(tls *libc.TLS, pPager uintptr, pnPage uintptr) { /* sqlite3.c:57063:21: */ +func Xsqlite3PagerPagecount(tls *libc.TLS, pPager uintptr, pnPage uintptr) { /* sqlite3.c:57073:21: */ *(*int32)(unsafe.Pointer(pnPage)) = int32((*Pager)(unsafe.Pointer(pPager)).FdbSize) } @@ -33603,7 +33613,7 @@ func Xsqlite3PagerPagecount(tls *libc.TLS, pPager uintptr, pnPage uintptr) { /* // Return SQLITE_OK on success and an error code if we cannot obtain // the lock. If the lock is obtained successfully, set the Pager.state // variable to locktype before returning. -func pager_wait_on_lock(tls *libc.TLS, pPager uintptr, locktype int32) int32 { /* sqlite3.c:57084:12: */ +func pager_wait_on_lock(tls *libc.TLS, pPager uintptr, locktype int32) int32 { /* sqlite3.c:57094:12: */ var rc int32 // Return code // Check that this is either a no-op (because the requested lock is @@ -33648,7 +33658,7 @@ func pager_wait_on_lock(tls *libc.TLS, pPager uintptr, locktype int32) int32 { / // Once this function has been called, the transaction must either be // rolled back or committed. It is not safe to call this function and // then continue writing to the database. -func Xsqlite3PagerTruncateImage(tls *libc.TLS, pPager uintptr, nPage Pgno) { /* sqlite3.c:57155:21: */ +func Xsqlite3PagerTruncateImage(tls *libc.TLS, pPager uintptr, nPage Pgno) { /* sqlite3.c:57165:21: */ (*Pager)(unsafe.Pointer(pPager)).FdbSize = nPage @@ -33675,7 +33685,7 @@ func Xsqlite3PagerTruncateImage(tls *libc.TLS, pPager uintptr, nPage Pgno) { /* // // If everything goes as planned, SQLITE_OK is returned. Otherwise, // an SQLite error code. -func pagerSyncHotJournal(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:57186:12: */ +func pagerSyncHotJournal(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:57196:12: */ var rc int32 = SQLITE_OK if !(int32((*Pager)(unsafe.Pointer(pPager)).FnoSync) != 0) { rc = Xsqlite3OsSync(tls, (*Pager)(unsafe.Pointer(pPager)).Fjfd, SQLITE_SYNC_NORMAL) @@ -33694,7 +33704,7 @@ func pagerSyncHotJournal(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:571 // // Page references obtained by calling this function should be released // by calling pagerReleaseMapPage(). -func pagerAcquireMapPage(tls *libc.TLS, pPager uintptr, pgno Pgno, pData uintptr, ppPage uintptr) int32 { /* sqlite3.c:57208:12: */ +func pagerAcquireMapPage(tls *libc.TLS, pPager uintptr, pgno Pgno, pData uintptr, ppPage uintptr) int32 { /* sqlite3.c:57218:12: */ var p uintptr // Memory mapped page to return if (*Pager)(unsafe.Pointer(pPager)).FpMmapFreelist != 0 { @@ -33724,7 +33734,7 @@ func pagerAcquireMapPage(tls *libc.TLS, pPager uintptr, pgno Pgno, pData uintptr // Release a reference to page pPg. pPg must have been returned by an // earlier call to pagerAcquireMapPage(). -func pagerReleaseMapPage(tls *libc.TLS, pPg uintptr) { /* sqlite3.c:57252:13: */ +func pagerReleaseMapPage(tls *libc.TLS, pPg uintptr) { /* sqlite3.c:57262:13: */ var pPager uintptr = (*PgHdr)(unsafe.Pointer(pPg)).FpPager (*Pager)(unsafe.Pointer(pPager)).FnMmapOut-- (*PgHdr)(unsafe.Pointer(pPg)).FpDirty = (*Pager)(unsafe.Pointer(pPager)).FpMmapFreelist @@ -33734,7 +33744,7 @@ func pagerReleaseMapPage(tls *libc.TLS, pPg uintptr) { /* sqlite3.c:57252:13: */ } // Free all PgHdr objects stored in the Pager.pMmapFreelist list. -func pagerFreeMapHdrs(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:57265:13: */ +func pagerFreeMapHdrs(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:57275:13: */ var p uintptr var pNext uintptr for p = (*Pager)(unsafe.Pointer(pPager)).FpMmapFreelist; p != 0; p = pNext { @@ -33747,7 +33757,7 @@ func pagerFreeMapHdrs(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:57265:13: */ // under the pager. Return SQLITE_OK if the database is still where it ought // to be on disk. Return non-zero (SQLITE_READONLY_DBMOVED or some other error // code from sqlite3OsAccess()) if the database has gone missing. -func databaseIsUnmoved(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:57279:12: */ +func databaseIsUnmoved(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:57289:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -33785,7 +33795,7 @@ func databaseIsUnmoved(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:57279 // is made to roll it back. If an error occurs during the rollback // a hot journal may be left in the filesystem but no error is returned // to the caller. -func Xsqlite3PagerClose(tls *libc.TLS, pPager uintptr, db uintptr) int32 { /* sqlite3.c:57313:20: */ +func Xsqlite3PagerClose(tls *libc.TLS, pPager uintptr, db uintptr) int32 { /* sqlite3.c:57323:20: */ var pTmp uintptr = (*Pager)(unsafe.Pointer(pPager)).FpTmpSpace Xsqlite3BeginBenignMalloc(tls) @@ -33834,7 +33844,7 @@ func Xsqlite3PagerClose(tls *libc.TLS, pPager uintptr, db uintptr) int32 { /* sq } // Increment the reference count for page pPg. -func Xsqlite3PagerRef(tls *libc.TLS, pPg uintptr) { /* sqlite3.c:57382:21: */ +func Xsqlite3PagerRef(tls *libc.TLS, pPg uintptr) { /* sqlite3.c:57392:21: */ Xsqlite3PcacheRef(tls, pPg) } @@ -33871,7 +33881,7 @@ func Xsqlite3PagerRef(tls *libc.TLS, pPg uintptr) { /* sqlite3.c:57382:21: */ // If successful, this routine clears the PGHDR_NEED_SYNC flag of every // page currently held in memory before returning SQLITE_OK. If an IO // error is encountered, then the IO error code is returned to the caller. -func syncJournal(tls *libc.TLS, pPager uintptr, newHdr int32) int32 { /* sqlite3.c:57421:12: */ +func syncJournal(tls *libc.TLS, pPager uintptr, newHdr int32) int32 { /* sqlite3.c:57431:12: */ bp := tls.Alloc(20) defer tls.Free(20) @@ -33985,7 +33995,7 @@ func syncJournal(tls *libc.TLS, pPager uintptr, newHdr int32) int32 { /* sqlite3 return SQLITE_OK } -var zerobyte U8 = U8(0) /* sqlite3.c:57472:27 */ +var zerobyte U8 = U8(0) /* sqlite3.c:57482:27 */ // The argument is the first in a linked list of dirty pages connected // by the PgHdr.pDirty pointer. This function writes each one of the @@ -34017,7 +34027,7 @@ var zerobyte U8 = U8(0) /* sqlite3.c:57472:27 */ // If everything is successful, SQLITE_OK is returned. If an IO error // occurs, an IO error code is returned. Or, if the EXCLUSIVE lock cannot // be obtained, SQLITE_BUSY is returned. -func pager_write_pagelist(tls *libc.TLS, pPager uintptr, pList uintptr) int32 { /* sqlite3.c:57564:12: */ +func pager_write_pagelist(tls *libc.TLS, pPager uintptr, pList uintptr) int32 { /* sqlite3.c:57574:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -34097,7 +34107,7 @@ func pager_write_pagelist(tls *libc.TLS, pPager uintptr, pList uintptr) int32 { // SQLITE_OK is returned if everything goes according to plan. An // SQLITE_IOERR_XXX error code is returned if a call to sqlite3OsOpen() // fails. -func openSubJournal(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:57655:12: */ +func openSubJournal(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:57665:12: */ var rc int32 = SQLITE_OK if !((*Sqlite3_file)(unsafe.Pointer((*Pager)(unsafe.Pointer(pPager)).Fsjfd)).FpMethods != uintptr(0)) { var flags int32 = SQLITE_OPEN_SUBJOURNAL | SQLITE_OPEN_READWRITE | @@ -34121,7 +34131,7 @@ func openSubJournal(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:57655:12 // error code if the attempt to write to the sub-journal fails, or // SQLITE_NOMEM if a malloc fails while setting a bit in a savepoint // bitvec. -func subjournalPage(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:57681:12: */ +func subjournalPage(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:57691:12: */ var rc int32 = SQLITE_OK var pPager uintptr = (*PgHdr)(unsafe.Pointer(pPg)).FpPager if int32((*Pager)(unsafe.Pointer(pPager)).FjournalMode) != PAGER_JOURNALMODE_OFF { @@ -34152,7 +34162,7 @@ func subjournalPage(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:57681:12: * return rc } -func subjournalPageIfRequired(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:57717:12: */ +func subjournalPageIfRequired(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:57727:12: */ if subjRequiresPage(tls, pPg) != 0 { return subjournalPage(tls, pPg) } else { @@ -34178,7 +34188,7 @@ func subjournalPageIfRequired(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:5 // page clean, the IO error code is returned. If the page cannot be // made clean for some other reason, but no error occurs, then SQLITE_OK // is returned by sqlite3PcacheMakeClean() is not called. -func pagerStress(tls *libc.TLS, p uintptr, pPg uintptr) int32 { /* sqlite3.c:57744:12: */ +func pagerStress(tls *libc.TLS, p uintptr, pPg uintptr) int32 { /* sqlite3.c:57754:12: */ var pPager uintptr = p var rc int32 = SQLITE_OK @@ -34240,7 +34250,7 @@ func pagerStress(tls *libc.TLS, p uintptr, pPg uintptr) int32 { /* sqlite3.c:577 } // Flush all unreferenced dirty pages to disk. -func Xsqlite3PagerFlush(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:57821:20: */ +func Xsqlite3PagerFlush(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:57831:20: */ var rc int32 = (*Pager)(unsafe.Pointer(pPager)).FerrCode if !(int32((*Pager)(unsafe.Pointer(pPager)).FmemDb) != 0) { var pList uintptr = Xsqlite3PcacheDirtyList(tls, (*Pager)(unsafe.Pointer(pPager)).FpPCache) @@ -34287,7 +34297,7 @@ func Xsqlite3PagerFlush(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:5782 // and error code returned. This function may return SQLITE_NOMEM // (sqlite3Malloc() is used to allocate memory), SQLITE_CANTOPEN or // various SQLITE_IO_XXX errors. -func Xsqlite3PagerOpen(tls *libc.TLS, pVfs uintptr, ppPager uintptr, zFilename uintptr, nExtra int32, flags int32, vfsFlags int32, xReinit uintptr) int32 { /* sqlite3.c:57870:20: */ +func Xsqlite3PagerOpen(tls *libc.TLS, pVfs uintptr, ppPager uintptr, zFilename uintptr, nExtra int32, flags int32, vfsFlags int32, xReinit uintptr) int32 { /* sqlite3.c:57880:20: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -34413,7 +34423,7 @@ __11: // bytes in length. This means the database cannot be opened, // as it will not be possible to open the journal file or even // check for a hot-journal before reading. - rc = Xsqlite3CantopenError(tls, 57957) + rc = Xsqlite3CantopenError(tls, 57967) __12: ; if !(rc != SQLITE_OK) { @@ -34732,7 +34742,7 @@ __37: // Return the sqlite3_file for the main database given the name // of the corresonding WAL or Journal name as passed into // xOpen. -func Xsqlite3_database_file_object(tls *libc.TLS, zName uintptr) uintptr { /* sqlite3.c:58242:25: */ +func Xsqlite3_database_file_object(tls *libc.TLS, zName uintptr) uintptr { /* sqlite3.c:58252:25: */ var pPager uintptr for int32(*(*int8)(unsafe.Pointer(zName + libc.UintptrFromInt32(-1)))) != 0 || int32(*(*int8)(unsafe.Pointer(zName + libc.UintptrFromInt32(-2)))) != 0 || int32(*(*int8)(unsafe.Pointer(zName + libc.UintptrFromInt32(-3)))) != 0 || int32(*(*int8)(unsafe.Pointer(zName + libc.UintptrFromInt32(-4)))) != 0 { zName-- @@ -34770,7 +34780,7 @@ func Xsqlite3_database_file_object(tls *libc.TLS, zName uintptr) uintptr { /* sq // set to 0 and SQLITE_OK returned. If an IO error occurs while trying // to determine whether or not a hot-journal file exists, the IO error // code is returned and the value of *pExists is undefined. -func hasHotJournal(tls *libc.TLS, pPager uintptr, pExists uintptr) int32 { /* sqlite3.c:58283:12: */ +func hasHotJournal(tls *libc.TLS, pPager uintptr, pExists uintptr) int32 { /* sqlite3.c:58293:12: */ bp := tls.Alloc(17) defer tls.Free(17) @@ -34881,7 +34891,7 @@ func hasHotJournal(tls *libc.TLS, pPager uintptr, pExists uintptr) int32 { /* sq // If everything is successful, SQLITE_OK is returned. If an IO error // occurs while locking the database, checking for a hot-journal file or // rolling back a journal file, the IO error code is returned. -func Xsqlite3PagerSharedLock(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:58403:20: */ +func Xsqlite3PagerSharedLock(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:58413:20: */ bp := tls.Alloc(28) defer tls.Free(28) @@ -35007,7 +35017,7 @@ __7: if !(rc == SQLITE_OK && *(*int32)(unsafe.Pointer(bp + 8))&SQLITE_OPEN_READONLY != 0) { goto __10 } - rc = Xsqlite3CantopenError(tls, 58487) + rc = Xsqlite3CantopenError(tls, 58497) Xsqlite3OsClose(tls, (*Pager)(unsafe.Pointer(pPager)).Fjfd) __10: ; @@ -35156,7 +35166,7 @@ __24: // Except, in locking_mode=EXCLUSIVE when there is nothing to in // the rollback journal, the unlock is not performed and there is // nothing to rollback, so this routine is a no-op. -func pagerUnlockIfUnused(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:58620:13: */ +func pagerUnlockIfUnused(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:58630:13: */ if Xsqlite3PcacheRefCount(tls, (*Pager)(unsafe.Pointer(pPager)).FpPCache) == 0 { // because page1 is never memory mapped pagerUnlockAndRollback(tls, pPager) @@ -35218,7 +35228,7 @@ func pagerUnlockIfUnused(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:58620:13: // has to go to disk, and could also playback an old journal if necessary. // Since Lookup() never goes to disk, it never has to deal with locks // or journal files. -func getPageNormal(tls *libc.TLS, pPager uintptr, pgno Pgno, ppPage uintptr, flags int32) int32 { /* sqlite3.c:58684:12: */ +func getPageNormal(tls *libc.TLS, pPager uintptr, pgno Pgno, ppPage uintptr, flags int32) int32 { /* sqlite3.c:58694:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -35231,7 +35241,7 @@ func getPageNormal(tls *libc.TLS, pPager uintptr, pgno Pgno, ppPage uintptr, fla if !(pgno == Pgno(0)) { goto __1 } - return Xsqlite3CorruptError(tls, 58700) + return Xsqlite3CorruptError(tls, 58710) __1: ; *(*uintptr)(unsafe.Pointer(bp /* pBase */)) = Xsqlite3PcacheFetch(tls, (*Pager)(unsafe.Pointer(pPager)).FpPCache, pgno, 3) @@ -35277,7 +35287,7 @@ __5: if !(pgno == Pgno(I64(Xsqlite3PendingByte)/(*Pager)(unsafe.Pointer(pPager)).FpageSize+int64(1))) { goto __7 } - rc = Xsqlite3CorruptError(tls, 58732) + rc = Xsqlite3CorruptError(tls, 58742) goto pager_acquire_err __7: ; @@ -35349,7 +35359,7 @@ __14: } // The page getter for when memory-mapped I/O is enabled -func getPageMMap(tls *libc.TLS, pPager uintptr, pgno Pgno, ppPage uintptr, flags int32) int32 { /* sqlite3.c:58786:12: */ +func getPageMMap(tls *libc.TLS, pPager uintptr, pgno Pgno, ppPage uintptr, flags int32) int32 { /* sqlite3.c:58796:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -35369,7 +35379,7 @@ func getPageMMap(tls *libc.TLS, pPager uintptr, pgno Pgno, ppPage uintptr, flags // test in the previous statement, and avoid testing pgno==0 in the // common case where pgno is large. if pgno <= Pgno(1) && pgno == Pgno(0) { - return Xsqlite3CorruptError(tls, 58811) + return Xsqlite3CorruptError(tls, 58821) } if bMmapOk != 0 && (*Pager)(unsafe.Pointer(pPager)).FpWal != uintptr(0) { @@ -35407,7 +35417,7 @@ func getPageMMap(tls *libc.TLS, pPager uintptr, pgno Pgno, ppPage uintptr, flags } // The page getter method for when the pager is an error state -func getPageError(tls *libc.TLS, pPager uintptr, pgno Pgno, ppPage uintptr, flags int32) int32 { /* sqlite3.c:58855:12: */ +func getPageError(tls *libc.TLS, pPager uintptr, pgno Pgno, ppPage uintptr, flags int32) int32 { /* sqlite3.c:58865:12: */ _ = pgno _ = flags @@ -35416,7 +35426,7 @@ func getPageError(tls *libc.TLS, pPager uintptr, pgno Pgno, ppPage uintptr, flag } // Dispatch all page fetch requests to the appropriate getter method. -func Xsqlite3PagerGet(tls *libc.TLS, pPager uintptr, pgno Pgno, ppPage uintptr, flags int32) int32 { /* sqlite3.c:58871:20: */ +func Xsqlite3PagerGet(tls *libc.TLS, pPager uintptr, pgno Pgno, ppPage uintptr, flags int32) int32 { /* sqlite3.c:58881:20: */ // printf("PAGE %u\n", pgno); fflush(stdout); return (*struct { f func(*libc.TLS, uintptr, Pgno, uintptr, int32) int32 @@ -35432,7 +35442,7 @@ func Xsqlite3PagerGet(tls *libc.TLS, pPager uintptr, pgno Pgno, ppPage uintptr, // in the page if the page is not already in cache. This routine // returns NULL if the page is not in cache or if a disk I/O error // has ever happened. -func Xsqlite3PagerLookup(tls *libc.TLS, pPager uintptr, pgno Pgno) uintptr { /* sqlite3.c:58892:23: */ +func Xsqlite3PagerLookup(tls *libc.TLS, pPager uintptr, pgno Pgno) uintptr { /* sqlite3.c:58902:23: */ var pPage uintptr pPage = Xsqlite3PcacheFetch(tls, (*Pager)(unsafe.Pointer(pPager)).FpPCache, pgno, 0) @@ -35453,7 +35463,7 @@ func Xsqlite3PagerLookup(tls *libc.TLS, pPager uintptr, pgno Pgno) uintptr { /* // Use sqlite3PagerUnrefPageOne() to release page1. This latter routine // checks the total number of outstanding pages and if the number of // pages reaches zero it drops the database lock. -func Xsqlite3PagerUnrefNotNull(tls *libc.TLS, pPg uintptr) { /* sqlite3.c:58915:21: */ +func Xsqlite3PagerUnrefNotNull(tls *libc.TLS, pPg uintptr) { /* sqlite3.c:58925:21: */ if int32((*DbPage)(unsafe.Pointer(pPg)).Fflags)&PGHDR_MMAP != 0 { // Page1 is never memory mapped @@ -35465,13 +35475,13 @@ func Xsqlite3PagerUnrefNotNull(tls *libc.TLS, pPg uintptr) { /* sqlite3.c:58915: } -func Xsqlite3PagerUnref(tls *libc.TLS, pPg uintptr) { /* sqlite3.c:58927:21: */ +func Xsqlite3PagerUnref(tls *libc.TLS, pPg uintptr) { /* sqlite3.c:58937:21: */ if pPg != 0 { Xsqlite3PagerUnrefNotNull(tls, pPg) } } -func Xsqlite3PagerUnrefPageOne(tls *libc.TLS, pPg uintptr) { /* sqlite3.c:58930:21: */ +func Xsqlite3PagerUnrefPageOne(tls *libc.TLS, pPg uintptr) { /* sqlite3.c:58940:21: */ var pPager uintptr // Page1 is never memory mapped @@ -35500,7 +35510,7 @@ func Xsqlite3PagerUnrefPageOne(tls *libc.TLS, pPg uintptr) { /* sqlite3.c:58930: // Return SQLITE_OK if everything is successful. Otherwise, return // SQLITE_NOMEM if the attempt to allocate Pager.pInJournal fails, or // an IO error code if opening or writing the journal file fails. -func pager_open_journal(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:58962:12: */ +func pager_open_journal(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:58972:12: */ var rc int32 = SQLITE_OK // Return code var pVfs uintptr = (*Pager)(unsafe.Pointer(pPager)).FpVfs // Local cache of vfs pointer @@ -35582,7 +35592,7 @@ func pager_open_journal(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:5896 // sub-journal. If the subjInMemory argument is zero, then any required // sub-journal is implemented in-memory if pPager is an in-memory database, // or using a temporary file otherwise. -func Xsqlite3PagerBegin(tls *libc.TLS, pPager uintptr, exFlag int32, subjInMemory int32) int32 { /* sqlite3.c:59051:20: */ +func Xsqlite3PagerBegin(tls *libc.TLS, pPager uintptr, exFlag int32, subjInMemory int32) int32 { /* sqlite3.c:59061:20: */ var rc int32 = SQLITE_OK if (*Pager)(unsafe.Pointer(pPager)).FerrCode != 0 { @@ -35642,7 +35652,7 @@ func Xsqlite3PagerBegin(tls *libc.TLS, pPager uintptr, exFlag int32, subjInMemor } // Write page pPg onto the end of the rollback journal. -func pagerAddPageToRollbackJournal(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:59120:28: */ +func pagerAddPageToRollbackJournal(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:59130:28: */ var pPager uintptr = (*PgHdr)(unsafe.Pointer(pPg)).FpPager var rc int32 var cksum U32 @@ -35692,7 +35702,7 @@ func pagerAddPageToRollbackJournal(tls *libc.TLS, pPg uintptr) int32 { /* sqlite // one of the journals, the corresponding bit is set in the // Pager.pInJournal bitvec and the PagerSavepoint.pInSavepoint bitvecs // of any open savepoints as appropriate. -func pager_write(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:59177:12: */ +func pager_write(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:59187:12: */ var pPager uintptr = (*PgHdr)(unsafe.Pointer(pPg)).FpPager var rc int32 = SQLITE_OK @@ -35766,7 +35776,7 @@ func pager_write(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:59177:12: */ // Usually, the sector size is less than or equal to the page size, in which // case pages can be individually written. This routine only runs in the // exceptional case where the page size is smaller than the sector size. -func pagerWriteLargeSector(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:59269:28: */ +func pagerWriteLargeSector(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:59279:28: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -35854,7 +35864,7 @@ func pagerWriteLargeSector(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:5926 // // If an error occurs, SQLITE_NOMEM or an IO error code is returned // as appropriate. Otherwise, SQLITE_OK. -func Xsqlite3PagerWrite(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:59363:20: */ +func Xsqlite3PagerWrite(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:59373:20: */ var pPager uintptr = (*PgHdr)(unsafe.Pointer(pPg)).FpPager if int32((*PgHdr)(unsafe.Pointer(pPg)).Fflags)&PGHDR_WRITEABLE != 0 && (*Pager)(unsafe.Pointer(pPager)).FdbSize >= (*PgHdr)(unsafe.Pointer(pPg)).Fpgno { @@ -35895,7 +35905,7 @@ func Xsqlite3PagerWrite(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:59363:2 // memory pressure forces page pPg out of the cache, the data does need // to be written out to disk so that it may be read back in if the // current transaction is rolled back. -func Xsqlite3PagerDontWrite(tls *libc.TLS, pPg uintptr) { /* sqlite3.c:59412:21: */ +func Xsqlite3PagerDontWrite(tls *libc.TLS, pPg uintptr) { /* sqlite3.c:59422:21: */ var pPager uintptr = (*PgHdr)(unsafe.Pointer(pPg)).FpPager if !(int32((*Pager)(unsafe.Pointer(pPager)).FtempFile) != 0) && int32((*PgHdr)(unsafe.Pointer(pPg)).Fflags)&PGHDR_DIRTY != 0 && (*Pager)(unsafe.Pointer(pPager)).FnSavepoint == 0 { @@ -35925,7 +35935,7 @@ func Xsqlite3PagerDontWrite(tls *libc.TLS, pPg uintptr) { /* sqlite3.c:59412:21: // if isDirect is non-zero, then the database file is updated directly // by writing an updated version of page 1 using a call to the // sqlite3OsWrite() function. -func pager_incr_changecounter(tls *libc.TLS, pPager uintptr, isDirectMode int32) int32 { /* sqlite3.c:59446:12: */ +func pager_incr_changecounter(tls *libc.TLS, pPager uintptr, isDirectMode int32) int32 { /* sqlite3.c:59456:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -35995,7 +36005,7 @@ func pager_incr_changecounter(tls *libc.TLS, pPager uintptr, isDirectMode int32) // // If successful, or if called on a pager for which it is a no-op, this // function returns SQLITE_OK. Otherwise, an IO error code is returned. -func Xsqlite3PagerSync(tls *libc.TLS, pPager uintptr, zSuper uintptr) int32 { /* sqlite3.c:59529:20: */ +func Xsqlite3PagerSync(tls *libc.TLS, pPager uintptr, zSuper uintptr) int32 { /* sqlite3.c:59539:20: */ var rc int32 = SQLITE_OK var pArg uintptr = zSuper rc = Xsqlite3OsFileControl(tls, (*Pager)(unsafe.Pointer(pPager)).Ffd, SQLITE_FCNTL_SYNC, pArg) @@ -36018,7 +36028,7 @@ func Xsqlite3PagerSync(tls *libc.TLS, pPager uintptr, zSuper uintptr) int32 { /* // successful, or the connection is in WAL mode, SQLITE_OK is returned. // Otherwise, either SQLITE_BUSY or an SQLITE_IOERR_XXX error code is // returned. -func Xsqlite3PagerExclusiveLock(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:59552:20: */ +func Xsqlite3PagerExclusiveLock(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:59562:20: */ var rc int32 = (*Pager)(unsafe.Pointer(pPager)).FerrCode if rc == SQLITE_OK { @@ -36054,7 +36064,7 @@ func Xsqlite3PagerExclusiveLock(tls *libc.TLS, pPager uintptr) int32 { /* sqlite // is not synced. The caller must call sqlite3PagerSync() directly to // sync the database file before calling CommitPhaseTwo() to delete the // journal file in this case. -func Xsqlite3PagerCommitPhaseOne(tls *libc.TLS, pPager uintptr, zSuper uintptr, noSync int32) int32 { /* sqlite3.c:59594:20: */ +func Xsqlite3PagerCommitPhaseOne(tls *libc.TLS, pPager uintptr, zSuper uintptr, noSync int32) int32 { /* sqlite3.c:59604:20: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -36244,7 +36254,7 @@ __19: // // If an error occurs, an IO error code is returned and the pager // moves into the error state. Otherwise, SQLITE_OK is returned. -func Xsqlite3PagerCommitPhaseTwo(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:59824:20: */ +func Xsqlite3PagerCommitPhaseTwo(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:59834:20: */ var rc int32 = SQLITE_OK // Return code // This routine should not be called if a prior error has occurred. @@ -36301,7 +36311,7 @@ func Xsqlite3PagerCommitPhaseTwo(tls *libc.TLS, pPager uintptr) int32 { /* sqlit // current transaction are either expelled from the cache or reverted to // their pre-transaction state by re-reading data from the database or // WAL files. The WAL transaction is then closed. -func Xsqlite3PagerRollback(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:59890:20: */ +func Xsqlite3PagerRollback(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:59900:20: */ var rc int32 = SQLITE_OK // Return code // PagerRollback() is a no-op if called in READER or OPEN state. If @@ -36345,13 +36355,13 @@ func Xsqlite3PagerRollback(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:5 // Return TRUE if the database file is opened read-only. Return FALSE // if the database is (in theory) writable. -func Xsqlite3PagerIsreadonly(tls *libc.TLS, pPager uintptr) U8 { /* sqlite3.c:59940:19: */ +func Xsqlite3PagerIsreadonly(tls *libc.TLS, pPager uintptr) U8 { /* sqlite3.c:59950:19: */ return (*Pager)(unsafe.Pointer(pPager)).FreadOnly } // Return the approximate number of bytes of memory currently // used by the pager and its associated cache. -func Xsqlite3PagerMemUsed(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:59957:20: */ +func Xsqlite3PagerMemUsed(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:59967:20: */ var perPageSize int32 = int32((*Pager)(unsafe.Pointer(pPager)).FpageSize + I64((*Pager)(unsafe.Pointer(pPager)).FnExtra) + I64(int32(uint64(unsafe.Sizeof(PgHdr{}))+uint64(5)*uint64(unsafe.Sizeof(uintptr(0)))))) return int32(I64(perPageSize*Xsqlite3PcachePagecount(tls, (*Pager)(unsafe.Pointer(pPager)).FpPCache)+ @@ -36360,7 +36370,7 @@ func Xsqlite3PagerMemUsed(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:59 } // Return the number of references to the specified page. -func Xsqlite3PagerPageRefcount(tls *libc.TLS, pPage uintptr) int32 { /* sqlite3.c:59968:20: */ +func Xsqlite3PagerPageRefcount(tls *libc.TLS, pPage uintptr) int32 { /* sqlite3.c:59978:20: */ return Xsqlite3PcachePageRefcount(tls, pPage) } @@ -36373,7 +36383,7 @@ func Xsqlite3PagerPageRefcount(tls *libc.TLS, pPage uintptr) int32 { /* sqlite3. // current cache hit or miss count, according to the value of eStat. If the // reset parameter is non-zero, the cache hit or miss count is zeroed before // returning. -func Xsqlite3PagerCacheStat(tls *libc.TLS, pPager uintptr, eStat int32, reset int32, pnVal uintptr) { /* sqlite3.c:60004:21: */ +func Xsqlite3PagerCacheStat(tls *libc.TLS, pPager uintptr, eStat int32, reset int32, pnVal uintptr) { /* sqlite3.c:60014:21: */ eStat = eStat - SQLITE_DBSTATUS_CACHE_HIT *(*int32)(unsafe.Pointer(pnVal)) += *(*int32)(unsafe.Pointer(pPager + 240 + uintptr(eStat)*4)) @@ -36383,7 +36393,7 @@ func Xsqlite3PagerCacheStat(tls *libc.TLS, pPager uintptr, eStat int32, reset in } // Return true if this is an in-memory or temp-file backed pager. -func Xsqlite3PagerIsMemdb(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:60027:20: */ +func Xsqlite3PagerIsMemdb(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:60037:20: */ return libc.Bool32((*Pager)(unsafe.Pointer(pPager)).FtempFile != 0 || (*Pager)(unsafe.Pointer(pPager)).FmemVfs != 0) } @@ -36395,7 +36405,7 @@ func Xsqlite3PagerIsMemdb(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:60 // If a memory allocation fails, SQLITE_NOMEM is returned. If an error // occurs while opening the sub-journal file, then an IO error code is // returned. Otherwise, SQLITE_OK. -func pagerOpenSavepoint(tls *libc.TLS, pPager uintptr, nSavepoint int32) int32 { /* sqlite3.c:60041:28: */ +func pagerOpenSavepoint(tls *libc.TLS, pPager uintptr, nSavepoint int32) int32 { /* sqlite3.c:60051:28: */ var rc int32 = SQLITE_OK // Return code var nCurrent int32 = (*Pager)(unsafe.Pointer(pPager)).FnSavepoint // Current number of savepoints var ii int32 // Iterator variable @@ -36435,7 +36445,7 @@ func pagerOpenSavepoint(tls *libc.TLS, pPager uintptr, nSavepoint int32) int32 { return rc } -func Xsqlite3PagerOpenSavepoint(tls *libc.TLS, pPager uintptr, nSavepoint int32) int32 { /* sqlite3.c:60087:20: */ +func Xsqlite3PagerOpenSavepoint(tls *libc.TLS, pPager uintptr, nSavepoint int32) int32 { /* sqlite3.c:60097:20: */ if nSavepoint > (*Pager)(unsafe.Pointer(pPager)).FnSavepoint && (*Pager)(unsafe.Pointer(pPager)).FuseJournal != 0 { return pagerOpenSavepoint(tls, pPager, nSavepoint) @@ -36473,7 +36483,7 @@ func Xsqlite3PagerOpenSavepoint(tls *libc.TLS, pPager uintptr, nSavepoint int32) // This function may return SQLITE_NOMEM if a memory allocation fails, // or an IO error code if an IO error occurs while rolling back a // savepoint. If no errors occur, SQLITE_OK is returned. -func Xsqlite3PagerSavepoint(tls *libc.TLS, pPager uintptr, op int32, iSavepoint int32) int32 { /* sqlite3.c:60129:20: */ +func Xsqlite3PagerSavepoint(tls *libc.TLS, pPager uintptr, op int32, iSavepoint int32) int32 { /* sqlite3.c:60139:20: */ var rc int32 = (*Pager)(unsafe.Pointer(pPager)).FerrCode if rc == SQLITE_OK && iSavepoint < (*Pager)(unsafe.Pointer(pPager)).FnSavepoint { @@ -36534,30 +36544,30 @@ func Xsqlite3PagerSavepoint(tls *libc.TLS, pPager uintptr, op int32, iSavepoint // // The return value to this routine is always safe to use with // sqlite3_uri_parameter() and sqlite3_filename_database() and friends. -func Xsqlite3PagerFilename(tls *libc.TLS, pPager uintptr, nullIfMemDb int32) uintptr { /* sqlite3.c:60210:27: */ +func Xsqlite3PagerFilename(tls *libc.TLS, pPager uintptr, nullIfMemDb int32) uintptr { /* sqlite3.c:60220:27: */ if nullIfMemDb != 0 && (*Pager)(unsafe.Pointer(pPager)).FmemDb != 0 { return uintptr(unsafe.Pointer(&zFake)) + 4 } return (*Pager)(unsafe.Pointer(pPager)).FzFilename } -var zFake = [8]int8{int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0)} /* sqlite3.c:60211:21 */ +var zFake = [8]int8{int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0)} /* sqlite3.c:60221:21 */ // Return the VFS structure for the pager. -func Xsqlite3PagerVfs(tls *libc.TLS, pPager uintptr) uintptr { /* sqlite3.c:60218:28: */ +func Xsqlite3PagerVfs(tls *libc.TLS, pPager uintptr) uintptr { /* sqlite3.c:60228:28: */ return (*Pager)(unsafe.Pointer(pPager)).FpVfs } // Return the file handle for the database file associated // with the pager. This might return NULL if the file has // not yet been opened. -func Xsqlite3PagerFile(tls *libc.TLS, pPager uintptr) uintptr { /* sqlite3.c:60227:29: */ +func Xsqlite3PagerFile(tls *libc.TLS, pPager uintptr) uintptr { /* sqlite3.c:60237:29: */ return (*Pager)(unsafe.Pointer(pPager)).Ffd } // Return the file handle for the journal file (if it exists). // This will be either the rollback journal or the WAL file. -func Xsqlite3PagerJrnlFile(tls *libc.TLS, pPager uintptr) uintptr { /* sqlite3.c:60235:29: */ +func Xsqlite3PagerJrnlFile(tls *libc.TLS, pPager uintptr) uintptr { /* sqlite3.c:60245:29: */ if (*Pager)(unsafe.Pointer(pPager)).FpWal != 0 { return Xsqlite3WalFile(tls, (*Pager)(unsafe.Pointer(pPager)).FpWal) } @@ -36565,7 +36575,7 @@ func Xsqlite3PagerJrnlFile(tls *libc.TLS, pPager uintptr) uintptr { /* sqlite3.c } // Return the full pathname of the journal file. -func Xsqlite3PagerJournalname(tls *libc.TLS, pPager uintptr) uintptr { /* sqlite3.c:60246:27: */ +func Xsqlite3PagerJournalname(tls *libc.TLS, pPager uintptr) uintptr { /* sqlite3.c:60256:27: */ return (*Pager)(unsafe.Pointer(pPager)).FzJournal } @@ -36592,7 +36602,7 @@ func Xsqlite3PagerJournalname(tls *libc.TLS, pPager uintptr) uintptr { /* sqlite // // This function may return SQLITE_NOMEM or an IO error code if an error // occurs. Otherwise, it returns SQLITE_OK. -func Xsqlite3PagerMovepage(tls *libc.TLS, pPager uintptr, pPg uintptr, pgno Pgno, isCommit int32) int32 { /* sqlite3.c:60276:20: */ +func Xsqlite3PagerMovepage(tls *libc.TLS, pPager uintptr, pPg uintptr, pgno Pgno, isCommit int32) int32 { /* sqlite3.c:60286:20: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -36654,7 +36664,7 @@ func Xsqlite3PagerMovepage(tls *libc.TLS, pPager uintptr, pPg uintptr, pgno Pgno if pPgOld != 0 { if int32((*PgHdr)(unsafe.Pointer(pPgOld)).FnRef) > 1 { Xsqlite3PagerUnrefNotNull(tls, pPgOld) - return Xsqlite3CorruptError(tls, 60350) + return Xsqlite3CorruptError(tls, 60360) } *(*U16)(unsafe.Pointer(pPg + 52)) |= U16(int32((*PgHdr)(unsafe.Pointer(pPgOld)).Fflags) & PGHDR_NEED_SYNC) if (*Pager)(unsafe.Pointer(pPager)).FtempFile != 0 { @@ -36714,21 +36724,21 @@ func Xsqlite3PagerMovepage(tls *libc.TLS, pPager uintptr, pPg uintptr, pgno Pgno // with a page number other than iNew. This function changes the page's // page number to iNew and sets the value of the PgHdr.flags field to // the value passed as the third parameter. -func Xsqlite3PagerRekey(tls *libc.TLS, pPg uintptr, iNew Pgno, flags U16) { /* sqlite3.c:60414:21: */ +func Xsqlite3PagerRekey(tls *libc.TLS, pPg uintptr, iNew Pgno, flags U16) { /* sqlite3.c:60424:21: */ (*DbPage)(unsafe.Pointer(pPg)).Fflags = flags Xsqlite3PcacheMove(tls, pPg, iNew) } // Return a pointer to the data for the specified page. -func Xsqlite3PagerGetData(tls *libc.TLS, pPg uintptr) uintptr { /* sqlite3.c:60423:21: */ +func Xsqlite3PagerGetData(tls *libc.TLS, pPg uintptr) uintptr { /* sqlite3.c:60433:21: */ return (*DbPage)(unsafe.Pointer(pPg)).FpData } // Return a pointer to the Pager.nExtra bytes of "extra" space // allocated along with the specified page. -func Xsqlite3PagerGetExtra(tls *libc.TLS, pPg uintptr) uintptr { /* sqlite3.c:60432:21: */ +func Xsqlite3PagerGetExtra(tls *libc.TLS, pPg uintptr) uintptr { /* sqlite3.c:60442:21: */ return (*DbPage)(unsafe.Pointer(pPg)).FpExtra } @@ -36740,7 +36750,7 @@ func Xsqlite3PagerGetExtra(tls *libc.TLS, pPg uintptr) uintptr { /* sqlite3.c:60 // The returned value is either PAGER_LOCKINGMODE_NORMAL or // PAGER_LOCKINGMODE_EXCLUSIVE, indicating the current (possibly updated) // locking-mode. -func Xsqlite3PagerLockingMode(tls *libc.TLS, pPager uintptr, eMode int32) int32 { /* sqlite3.c:60446:20: */ +func Xsqlite3PagerLockingMode(tls *libc.TLS, pPager uintptr, eMode int32) int32 { /* sqlite3.c:60456:20: */ if eMode >= 0 && !(int32((*Pager)(unsafe.Pointer(pPager)).FtempFile) != 0) && !(Xsqlite3WalHeapMemory(tls, (*Pager)(unsafe.Pointer(pPager)).FpWal) != 0) { (*Pager)(unsafe.Pointer(pPager)).FexclusiveMode = U8(eMode) @@ -36766,7 +36776,7 @@ func Xsqlite3PagerLockingMode(tls *libc.TLS, pPager uintptr, eMode int32) int32 // * Temporary databases cannot have _WAL journalmode. // // The returned indicate the current (possibly updated) journal-mode. -func Xsqlite3PagerSetJournalMode(tls *libc.TLS, pPager uintptr, eMode int32) int32 { /* sqlite3.c:60479:20: */ +func Xsqlite3PagerSetJournalMode(tls *libc.TLS, pPager uintptr, eMode int32) int32 { /* sqlite3.c:60489:20: */ var eOld U8 = (*Pager)(unsafe.Pointer(pPager)).FjournalMode // Prior journalmode // The eMode parameter is always valid @@ -36836,14 +36846,14 @@ func Xsqlite3PagerSetJournalMode(tls *libc.TLS, pPager uintptr, eMode int32) int } // Return the current journal mode. -func Xsqlite3PagerGetJournalMode(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:60569:20: */ +func Xsqlite3PagerGetJournalMode(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:60579:20: */ return int32((*Pager)(unsafe.Pointer(pPager)).FjournalMode) } // Return TRUE if the pager is in a state where it is OK to change the // journalmode. Journalmode changes can only happen when the database // is unmodified. -func Xsqlite3PagerOkToChangeJournalMode(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:60578:20: */ +func Xsqlite3PagerOkToChangeJournalMode(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:60588:20: */ if int32((*Pager)(unsafe.Pointer(pPager)).FeState) >= PAGER_WRITER_CACHEMOD { return 0 @@ -36858,7 +36868,7 @@ func Xsqlite3PagerOkToChangeJournalMode(tls *libc.TLS, pPager uintptr) int32 { / // // Setting the size limit to -1 means no limit is enforced. // An attempt to set a limit smaller than -1 is a no-op. -func Xsqlite3PagerJournalSizeLimit(tls *libc.TLS, pPager uintptr, iLimit I64) I64 { /* sqlite3.c:60591:20: */ +func Xsqlite3PagerJournalSizeLimit(tls *libc.TLS, pPager uintptr, iLimit I64) I64 { /* sqlite3.c:60601:20: */ if iLimit >= int64(-1) { (*Pager)(unsafe.Pointer(pPager)).FjournalSizeLimit = iLimit Xsqlite3WalLimit(tls, (*Pager)(unsafe.Pointer(pPager)).FpWal, iLimit) @@ -36870,12 +36880,12 @@ func Xsqlite3PagerJournalSizeLimit(tls *libc.TLS, pPager uintptr, iLimit I64) I6 // in backup.c maintains the content of this variable. This module // uses it opaquely as an argument to sqlite3BackupRestart() and // sqlite3BackupUpdate() only. -func Xsqlite3PagerBackupPtr(tls *libc.TLS, pPager uintptr) uintptr { /* sqlite3.c:60605:31: */ +func Xsqlite3PagerBackupPtr(tls *libc.TLS, pPager uintptr) uintptr { /* sqlite3.c:60615:31: */ return pPager + 112 } // Unless this is an in-memory or temporary database, clear the pager cache. -func Xsqlite3PagerClearCache(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:60613:21: */ +func Xsqlite3PagerClearCache(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:60623:21: */ if int32((*Pager)(unsafe.Pointer(pPager)).FtempFile) == 0 { pager_reset(tls, pPager) @@ -36887,7 +36897,7 @@ func Xsqlite3PagerClearCache(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:60613 // or wal_blocking_checkpoint() API functions. // // Parameter eMode is one of SQLITE_CHECKPOINT_PASSIVE, FULL or RESTART. -func Xsqlite3PagerCheckpoint(tls *libc.TLS, pPager uintptr, db uintptr, eMode int32, pnLog uintptr, pnCkpt uintptr) int32 { /* sqlite3.c:60628:20: */ +func Xsqlite3PagerCheckpoint(tls *libc.TLS, pPager uintptr, db uintptr, eMode int32, pnLog uintptr, pnCkpt uintptr) int32 { /* sqlite3.c:60638:20: */ var rc int32 = SQLITE_OK if (*Pager)(unsafe.Pointer(pPager)).FpWal == uintptr(0) && int32((*Pager)(unsafe.Pointer(pPager)).FjournalMode) == PAGER_JOURNALMODE_WAL { // This only happens when a database file is zero bytes in size opened and @@ -36915,13 +36925,13 @@ func Xsqlite3PagerCheckpoint(tls *libc.TLS, pPager uintptr, db uintptr, eMode in return rc } -func Xsqlite3PagerWalCallback(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:60659:20: */ +func Xsqlite3PagerWalCallback(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:60669:20: */ return Xsqlite3WalCallback(tls, (*Pager)(unsafe.Pointer(pPager)).FpWal) } // Return true if the underlying VFS for the given pager supports the // primitives necessary for write-ahead logging. -func Xsqlite3PagerWalSupported(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:60667:20: */ +func Xsqlite3PagerWalSupported(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:60677:20: */ var pMethods uintptr = (*Sqlite3_file)(unsafe.Pointer((*Pager)(unsafe.Pointer(pPager)).Ffd)).FpMethods if (*Pager)(unsafe.Pointer(pPager)).FnoLock != 0 { return 0 @@ -36931,7 +36941,7 @@ func Xsqlite3PagerWalSupported(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3 // Attempt to take an exclusive lock on the database file. If a PENDING lock // is obtained instead, immediately release it. -func pagerExclusiveLock(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:60677:12: */ +func pagerExclusiveLock(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:60687:12: */ var rc int32 // Return code rc = pagerLockDb(tls, pPager, EXCLUSIVE_LOCK) @@ -36948,7 +36958,7 @@ func pagerExclusiveLock(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:6067 // exclusive-locking mode when this function is called, take an EXCLUSIVE // lock on the database file and use heap-memory to store the wal-index // in. Otherwise, use the normal shared-memory. -func pagerOpenWal(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:60697:12: */ +func pagerOpenWal(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:60707:12: */ var rc int32 = SQLITE_OK // If the pager is already in exclusive-mode, the WAL module will use @@ -36984,7 +36994,7 @@ func pagerOpenWal(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:60697:12: // If the pager is open on a temp-file (or in-memory database), or if // the WAL file is already open, set *pbOpen to 1 and return SQLITE_OK // without doing anything. -func Xsqlite3PagerOpenWal(tls *libc.TLS, pPager uintptr, pbOpen uintptr) int32 { /* sqlite3.c:60742:20: */ +func Xsqlite3PagerOpenWal(tls *libc.TLS, pPager uintptr, pbOpen uintptr) int32 { /* sqlite3.c:60752:20: */ var rc int32 = SQLITE_OK // Return code if !(int32((*Pager)(unsafe.Pointer(pPager)).FtempFile) != 0) && !(int32((*Pager)(unsafe.Pointer(pPager)).FpWal) != 0) { @@ -37014,7 +37024,7 @@ func Xsqlite3PagerOpenWal(tls *libc.TLS, pPager uintptr, pbOpen uintptr) int32 { // EXCLUSIVE lock on the database file. If this cannot be obtained, an // error (SQLITE_BUSY) is returned and the log connection is not closed. // If successful, the EXCLUSIVE lock is not released before returning. -func Xsqlite3PagerCloseWal(tls *libc.TLS, pPager uintptr, db uintptr) int32 { /* sqlite3.c:60781:20: */ +func Xsqlite3PagerCloseWal(tls *libc.TLS, pPager uintptr, db uintptr) int32 { /* sqlite3.c:60791:20: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -37054,7 +37064,7 @@ func Xsqlite3PagerCloseWal(tls *libc.TLS, pPager uintptr, db uintptr) int32 { /* // If this is a WAL database, obtain a snapshot handle for the snapshot // currently open. Otherwise, return an error. -func Xsqlite3PagerSnapshotGet(tls *libc.TLS, pPager uintptr, ppSnapshot uintptr) int32 { /* sqlite3.c:60850:20: */ +func Xsqlite3PagerSnapshotGet(tls *libc.TLS, pPager uintptr, ppSnapshot uintptr) int32 { /* sqlite3.c:60860:20: */ var rc int32 = SQLITE_ERROR if (*Pager)(unsafe.Pointer(pPager)).FpWal != 0 { rc = Xsqlite3WalSnapshotGet(tls, (*Pager)(unsafe.Pointer(pPager)).FpWal, ppSnapshot) @@ -37065,7 +37075,7 @@ func Xsqlite3PagerSnapshotGet(tls *libc.TLS, pPager uintptr, ppSnapshot uintptr) // If this is a WAL database, store a pointer to pSnapshot. Next time a // read transaction is opened, attempt to read from the snapshot it // identifies. If this is not a WAL database, return an error. -func Xsqlite3PagerSnapshotOpen(tls *libc.TLS, pPager uintptr, pSnapshot uintptr) int32 { /* sqlite3.c:60863:20: */ +func Xsqlite3PagerSnapshotOpen(tls *libc.TLS, pPager uintptr, pSnapshot uintptr) int32 { /* sqlite3.c:60873:20: */ var rc int32 = SQLITE_OK if (*Pager)(unsafe.Pointer(pPager)).FpWal != 0 { Xsqlite3WalSnapshotOpen(tls, (*Pager)(unsafe.Pointer(pPager)).FpWal, pSnapshot) @@ -37077,7 +37087,7 @@ func Xsqlite3PagerSnapshotOpen(tls *libc.TLS, pPager uintptr, pSnapshot uintptr) // If this is a WAL database, call sqlite3WalSnapshotRecover(). If this // is not a WAL database, return an error. -func Xsqlite3PagerSnapshotRecover(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:60880:20: */ +func Xsqlite3PagerSnapshotRecover(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:60890:20: */ var rc int32 if (*Pager)(unsafe.Pointer(pPager)).FpWal != 0 { rc = Xsqlite3WalSnapshotRecover(tls, (*Pager)(unsafe.Pointer(pPager)).FpWal) @@ -37097,7 +37107,7 @@ func Xsqlite3PagerSnapshotRecover(tls *libc.TLS, pPager uintptr) int32 { /* sqli // the CHECKPOINTER lock cannot be obtained, SQLITE_BUSY. If any error // occurs (any value other than SQLITE_OK is returned), the CHECKPOINTER // lock is released before returning. -func Xsqlite3PagerSnapshotCheck(tls *libc.TLS, pPager uintptr, pSnapshot uintptr) int32 { /* sqlite3.c:60902:20: */ +func Xsqlite3PagerSnapshotCheck(tls *libc.TLS, pPager uintptr, pSnapshot uintptr) int32 { /* sqlite3.c:60912:20: */ var rc int32 if (*Pager)(unsafe.Pointer(pPager)).FpWal != 0 { rc = Xsqlite3WalSnapshotCheck(tls, (*Pager)(unsafe.Pointer(pPager)).FpWal, pSnapshot) @@ -37109,7 +37119,7 @@ func Xsqlite3PagerSnapshotCheck(tls *libc.TLS, pPager uintptr, pSnapshot uintptr // Release a lock obtained by an earlier successful call to // sqlite3PagerSnapshotCheck(). -func Xsqlite3PagerSnapshotUnlock(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:60916:21: */ +func Xsqlite3PagerSnapshotUnlock(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:60926:21: */ Xsqlite3WalSnapshotUnlock(tls, (*Pager)(unsafe.Pointer(pPager)).FpWal) } @@ -37688,7 +37698,7 @@ type WalIndexHdr1 = struct { // byte. // Object declarations -type WalIndexHdr = WalIndexHdr1 /* sqlite3.c:61244:28 */ +type WalIndexHdr = WalIndexHdr1 /* sqlite3.c:61254:28 */ type WalIterator1 = struct { FiPrior U32 FnSegment int32 @@ -37700,18 +37710,18 @@ type WalIterator1 = struct { FnEntry int32 FiZero int32 } -} /* sqlite3.c:61245:9 */ +} /* sqlite3.c:61255:9 */ -type WalIterator = WalIterator1 /* sqlite3.c:61245:28 */ +type WalIterator = WalIterator1 /* sqlite3.c:61255:28 */ type WalCkptInfo1 = struct { FnBackfill U32 FaReadMark [5]U32 FaLock [8]U8 FnBackfillAttempted U32 FnotUsed0 U32 -} /* sqlite3.c:61246:9 */ +} /* sqlite3.c:61256:9 */ -type WalCkptInfo = WalCkptInfo1 /* sqlite3.c:61246:28 */ +type WalCkptInfo = WalCkptInfo1 /* sqlite3.c:61256:28 */ // Candidate values for Wal.exclusiveMode. @@ -37719,7 +37729,7 @@ type WalCkptInfo = WalCkptInfo1 /* sqlite3.c:61246:28 */ // Each page of the wal-index mapping contains a hash-table made up of // an array of HASHTABLE_NSLOT elements of the following type. -type Ht_slot = U16 /* sqlite3.c:61501:13 */ +type Ht_slot = U16 /* sqlite3.c:61511:13 */ // 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 @@ -37741,7 +37751,7 @@ type WalSegment = struct { FaPgno uintptr FnEntry int32 FiZero int32 -} /* sqlite3.c:61245:9 */ +} /* sqlite3.c:61255:9 */ // Define the parameters of the hash tables in the wal-index file. There // is a hash-table following every HASHTABLE_NPAGE page numbers in the @@ -37772,7 +37782,7 @@ type WalSegment = struct { // (3) rc==SQLITE_OK and *ppPage==NULL // only if iPage==0 // // Scenario (3) can only occur when pWal->writeLock is false and iPage==0 -func walIndexPageRealloc(tls *libc.TLS, pWal uintptr, iPage int32, ppPage uintptr) int32 { /* sqlite3.c:61572:28: */ +func walIndexPageRealloc(tls *libc.TLS, pWal uintptr, iPage int32, ppPage uintptr) int32 { /* sqlite3.c:61582:28: */ var rc int32 = SQLITE_OK // Enlarge the pWal->apWiData[] array if required @@ -37818,7 +37828,7 @@ func walIndexPageRealloc(tls *libc.TLS, pWal uintptr, iPage int32, ppPage uintpt return rc } -func walIndexPage(tls *libc.TLS, pWal uintptr, iPage int32, ppPage uintptr) int32 { /* sqlite3.c:61621:12: */ +func walIndexPage(tls *libc.TLS, pWal uintptr, iPage int32, ppPage uintptr) int32 { /* sqlite3.c:61631:12: */ if (*Wal)(unsafe.Pointer(pWal)).FnWiData <= iPage || libc.AssignPtrUintptr(ppPage, *(*uintptr)(unsafe.Pointer((*Wal)(unsafe.Pointer(pWal)).FapWiData + uintptr(iPage)*8))) == uintptr(0) { return walIndexPageRealloc(tls, pWal, iPage, ppPage) } @@ -37826,13 +37836,13 @@ func walIndexPage(tls *libc.TLS, pWal uintptr, iPage int32, ppPage uintptr) int3 } // Return a pointer to the WalCkptInfo structure in the wal-index. -func walCkptInfo(tls *libc.TLS, pWal uintptr) uintptr { /* sqlite3.c:61635:29: */ +func walCkptInfo(tls *libc.TLS, pWal uintptr) uintptr { /* sqlite3.c:61645:29: */ return *(*uintptr)(unsafe.Pointer((*Wal)(unsafe.Pointer(pWal)).FapWiData)) + 24*4 } // Return a pointer to the WalIndexHdr structure in the wal-index. -func walIndexHdr(tls *libc.TLS, pWal uintptr) uintptr { /* sqlite3.c:61643:29: */ +func walIndexHdr(tls *libc.TLS, pWal uintptr) uintptr { /* sqlite3.c:61653:29: */ return *(*uintptr)(unsafe.Pointer((*Wal)(unsafe.Pointer(pWal)).FapWiData)) } @@ -37850,7 +37860,7 @@ func walIndexHdr(tls *libc.TLS, pWal uintptr) uintptr { /* sqlite3.c:61643:29: * // The checksum is written back into aOut[] before returning. // // nByte must be a positive multiple of 8. -func walChecksumBytes(tls *libc.TLS, nativeCksum int32, a uintptr, nByte int32, aIn uintptr, aOut uintptr) { /* sqlite3.c:61669:13: */ +func walChecksumBytes(tls *libc.TLS, nativeCksum int32, a uintptr, nByte int32, aIn uintptr, aOut uintptr) { /* sqlite3.c:61679:13: */ var s1 U32 var s2 U32 var aData uintptr = a @@ -37882,7 +37892,7 @@ func walChecksumBytes(tls *libc.TLS, nativeCksum int32, a uintptr, nByte int32, // If there is the possibility of concurrent access to the SHM file // from multiple threads and/or processes, then do a memory barrier. -func walShmBarrier(tls *libc.TLS, pWal uintptr) { /* sqlite3.c:61712:13: */ +func walShmBarrier(tls *libc.TLS, pWal uintptr) { /* sqlite3.c:61722:13: */ if int32((*Wal)(unsafe.Pointer(pWal)).FexclusiveMode) != WAL_HEAPMEMORY_MODE { Xsqlite3OsShmBarrier(tls, (*Wal)(unsafe.Pointer(pWal)).FpDbFd) } @@ -37897,7 +37907,7 @@ func walShmBarrier(tls *libc.TLS, pWal uintptr) { /* sqlite3.c:61712:13: */ // Write the header information in pWal->hdr into the wal-index. // // The checksum on pWal->hdr is updated before it is written. -func walIndexWriteHdr(tls *libc.TLS, pWal uintptr) { /* sqlite3.c:61736:28: */ +func walIndexWriteHdr(tls *libc.TLS, pWal uintptr) { /* sqlite3.c:61746:28: */ var aHdr uintptr = walIndexHdr(tls, pWal) var nCksum int32 = int32(uintptr(0) + 40) @@ -37921,7 +37931,7 @@ func walIndexWriteHdr(tls *libc.TLS, pWal uintptr) { /* sqlite3.c:61736:28: */ // 12: Salt-2 (copied from the wal-header) // 16: Checksum-1. // 20: Checksum-2. -func walEncodeFrame(tls *libc.TLS, pWal uintptr, iPage U32, nTruncate U32, aData uintptr, aFrame uintptr) { /* sqlite3.c:61763:13: */ +func walEncodeFrame(tls *libc.TLS, pWal uintptr, iPage U32, nTruncate U32, aData uintptr, aFrame uintptr) { /* sqlite3.c:61773:13: */ var nativeCksum int32 // True for native byte-order checksums var aCksum uintptr = pWal + 72 + 24 @@ -37944,7 +37954,7 @@ func walEncodeFrame(tls *libc.TLS, pWal uintptr, iPage U32, nTruncate U32, aData // Check to see if the frame with header in aFrame[] and content // in aData[] is valid. If it is a valid frame, fill *piPage and // *pnTruncate and return true. Return if the frame is not valid. -func walDecodeFrame(tls *libc.TLS, pWal uintptr, piPage uintptr, pnTruncate uintptr, aData uintptr, aFrame uintptr) int32 { /* sqlite3.c:61794:12: */ +func walDecodeFrame(tls *libc.TLS, pWal uintptr, piPage uintptr, pnTruncate uintptr, aData uintptr, aFrame uintptr) int32 { /* sqlite3.c:61804:12: */ var nativeCksum int32 // True for native byte-order checksums var aCksum uintptr = pWal + 72 + 24 var pgno U32 // Page number of the frame @@ -37986,7 +37996,7 @@ func walDecodeFrame(tls *libc.TLS, pWal uintptr, piPage uintptr, pnTruncate uint // through the unlocked state first. // // In locking_mode=EXCLUSIVE, all of these routines become no-ops. -func walLockShared(tls *libc.TLS, pWal uintptr, lockIdx int32) int32 { /* sqlite3.c:61873:12: */ +func walLockShared(tls *libc.TLS, pWal uintptr, lockIdx int32) int32 { /* sqlite3.c:61883:12: */ var rc int32 if (*Wal)(unsafe.Pointer(pWal)).FexclusiveMode != 0 { return SQLITE_OK @@ -37997,7 +38007,7 @@ func walLockShared(tls *libc.TLS, pWal uintptr, lockIdx int32) int32 { /* sqlite return rc } -func walUnlockShared(tls *libc.TLS, pWal uintptr, lockIdx int32) { /* sqlite3.c:61883:13: */ +func walUnlockShared(tls *libc.TLS, pWal uintptr, lockIdx int32) { /* sqlite3.c:61893:13: */ if (*Wal)(unsafe.Pointer(pWal)).FexclusiveMode != 0 { return } @@ -38006,7 +38016,7 @@ func walUnlockShared(tls *libc.TLS, pWal uintptr, lockIdx int32) { /* sqlite3.c: } -func walLockExclusive(tls *libc.TLS, pWal uintptr, lockIdx int32, n int32) int32 { /* sqlite3.c:61889:12: */ +func walLockExclusive(tls *libc.TLS, pWal uintptr, lockIdx int32, n int32) int32 { /* sqlite3.c:61899:12: */ var rc int32 if (*Wal)(unsafe.Pointer(pWal)).FexclusiveMode != 0 { return SQLITE_OK @@ -38017,7 +38027,7 @@ func walLockExclusive(tls *libc.TLS, pWal uintptr, lockIdx int32, n int32) int32 return rc } -func walUnlockExclusive(tls *libc.TLS, pWal uintptr, lockIdx int32, n int32) { /* sqlite3.c:61899:13: */ +func walUnlockExclusive(tls *libc.TLS, pWal uintptr, lockIdx int32, n int32) { /* sqlite3.c:61909:13: */ if (*Wal)(unsafe.Pointer(pWal)).FexclusiveMode != 0 { return } @@ -38029,12 +38039,12 @@ func walUnlockExclusive(tls *libc.TLS, pWal uintptr, lockIdx int32, n int32) { / // Compute a hash on a page number. The resulting hash value must land // between 0 and (HASHTABLE_NSLOT-1). The walHashNext() function advances // the hash to the next value in the event of a collision. -func walHash(tls *libc.TLS, iPage U32) int32 { /* sqlite3.c:61912:12: */ +func walHash(tls *libc.TLS, iPage U32) int32 { /* sqlite3.c:61922:12: */ return int32(iPage * U32(HASHTABLE_HASH_1) & U32(HASHTABLE_NPAGE*2-1)) } -func walNextHash(tls *libc.TLS, iPriorHash int32) int32 { /* sqlite3.c:61917:12: */ +func walNextHash(tls *libc.TLS, iPriorHash int32) int32 { /* sqlite3.c:61927:12: */ return (iPriorHash + 1) & (HASHTABLE_NPAGE*2 - 1) } @@ -38046,12 +38056,12 @@ type WalHashLoc1 = struct { FaPgno uintptr FiZero U32 F__ccgo_pad1 [4]byte -} /* sqlite3.c:61926:9 */ +} /* sqlite3.c:61936:9 */ // An instance of the WalHashLoc object is used to describe the location // of a page hash table in the wal-index. This becomes the return value // from walHashGet(). -type WalHashLoc = WalHashLoc1 /* sqlite3.c:61926:27 */ +type WalHashLoc = WalHashLoc1 /* sqlite3.c:61936:27 */ // Return pointers to the hash table and page number array stored on // page iHash of the wal-index. The wal-index is broken into 32KB pages @@ -38065,7 +38075,7 @@ type WalHashLoc = WalHashLoc1 /* sqlite3.c:61926:27 */ // // Finally, set pLoc->aPgno so that pLoc->aPgno[0] is the page number of the // first frame indexed by the hash table, frame (pLoc->iZero). -func walHashGet(tls *libc.TLS, pWal uintptr, iHash int32, pLoc uintptr) int32 { /* sqlite3.c:61947:12: */ +func walHashGet(tls *libc.TLS, pWal uintptr, iHash int32, pLoc uintptr) int32 { /* sqlite3.c:61957:12: */ var rc int32 // Return code rc = walIndexPage(tls, pWal, iHash, pLoc+8) @@ -38088,14 +38098,14 @@ func walHashGet(tls *libc.TLS, pWal uintptr, iHash int32, pLoc uintptr) int32 { // and page-number array that contain entries corresponding to WAL frame // iFrame. The wal-index is broken up into 32KB pages. Wal-index pages // are numbered starting from 0. -func walFramePage(tls *libc.TLS, iFrame U32) int32 { /* sqlite3.c:61977:12: */ +func walFramePage(tls *libc.TLS, iFrame U32) int32 { /* sqlite3.c:61987:12: */ var iHash int32 = int32((uint64(iFrame+U32(HASHTABLE_NPAGE)) - (uint64(HASHTABLE_NPAGE) - (uint64(unsafe.Sizeof(WalIndexHdr{}))*uint64(2)+uint64(unsafe.Sizeof(WalCkptInfo{})))/uint64(unsafe.Sizeof(U32(0)))) - uint64(1)) / uint64(HASHTABLE_NPAGE)) return iHash } // Return the page number associated with frame iFrame in this WAL. -func walFramePgno(tls *libc.TLS, pWal uintptr, iFrame U32) U32 { /* sqlite3.c:61992:12: */ +func walFramePgno(tls *libc.TLS, pWal uintptr, iFrame U32) U32 { /* sqlite3.c:62002:12: */ var iHash int32 = walFramePage(tls, iFrame) if iHash == 0 { return *(*U32)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer((*Wal)(unsafe.Pointer(pWal)).FapWiData)) + uintptr((uint64(unsafe.Sizeof(WalIndexHdr{}))*uint64(2)+uint64(unsafe.Sizeof(WalCkptInfo{})))/uint64(unsafe.Sizeof(U32(0)))+uint64(iFrame)-uint64(1))*4)) @@ -38113,7 +38123,7 @@ func walFramePgno(tls *libc.TLS, pWal uintptr, iFrame U32) U32 { /* sqlite3.c:61 // updated. Any later hash tables will be automatically cleared when // pWal->hdr.mxFrame advances to the point where those hash tables are // actually needed. -func walCleanupHash(tls *libc.TLS, pWal uintptr) { /* sqlite3.c:62012:13: */ +func walCleanupHash(tls *libc.TLS, pWal uintptr) { /* sqlite3.c:62022:13: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -38156,7 +38166,7 @@ func walCleanupHash(tls *libc.TLS, pWal uintptr) { /* sqlite3.c:62012:13: */ // Set an entry in the wal-index that will map database page number // pPage into WAL frame iFrame. -func walIndexAppend(tls *libc.TLS, pWal uintptr, iFrame U32, iPage U32) int32 { /* sqlite3.c:62074:12: */ +func walIndexAppend(tls *libc.TLS, pWal uintptr, iFrame U32, iPage U32) int32 { /* sqlite3.c:62084:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -38197,7 +38207,7 @@ func walIndexAppend(tls *libc.TLS, pWal uintptr, iFrame U32, iPage U32) int32 { nCollide = idx for iKey = walHash(tls, iPage); *(*Ht_slot)(unsafe.Pointer((*WalHashLoc)(unsafe.Pointer(bp /* &sLoc */)).FaHash + uintptr(iKey)*2)) != 0; iKey = walNextHash(tls, iKey) { if libc.PostDecInt32(&nCollide, 1) == 0 { - return Xsqlite3CorruptError(tls, 62114) + return Xsqlite3CorruptError(tls, 62124) } } *(*U32)(unsafe.Pointer((*WalHashLoc)(unsafe.Pointer(bp /* &sLoc */)).FaPgno + uintptr(idx-1)*4)) = iPage @@ -38216,7 +38226,7 @@ func walIndexAppend(tls *libc.TLS, pWal uintptr, iFrame U32, iPage U32) int32 { // WAL_RECOVER_LOCK is also held so that other threads will know // that this thread is running recovery. If unable to establish // the necessary locks, this routine returns SQLITE_BUSY. -func walIndexRecover(tls *libc.TLS, pWal uintptr) int32 { /* sqlite3.c:62163:12: */ +func walIndexRecover(tls *libc.TLS, pWal uintptr) int32 { /* sqlite3.c:62173:12: */ bp := tls.Alloc(80) defer tls.Free(80) @@ -38331,7 +38341,7 @@ __6: if !(version != U32(WAL_MAX_VERSION)) { goto __7 } - rc = Xsqlite3CantopenError(tls, 62246) + rc = Xsqlite3CantopenError(tls, 62256) goto finished __7: ; @@ -38535,7 +38545,7 @@ recovery_error: } // Close an open wal-index. -func walIndexClose(tls *libc.TLS, pWal uintptr, isDelete int32) { /* sqlite3.c:62386:13: */ +func walIndexClose(tls *libc.TLS, pWal uintptr, isDelete int32) { /* sqlite3.c:62396:13: */ if int32((*Wal)(unsafe.Pointer(pWal)).FexclusiveMode) == WAL_HEAPMEMORY_MODE || (*Wal)(unsafe.Pointer(pWal)).FbShmUnreliable != 0 { var i int32 for i = 0; i < (*Wal)(unsafe.Pointer(pWal)).FnWiData; i++ { @@ -38561,7 +38571,7 @@ func walIndexClose(tls *libc.TLS, pWal uintptr, isDelete int32) { /* sqlite3.c:6 // If the log file is successfully opened, SQLITE_OK is returned and // *ppWal is set to point to a new WAL handle. If an error occurs, // an SQLite error code is returned and *ppWal is left unmodified. -func Xsqlite3WalOpen(tls *libc.TLS, pVfs uintptr, pDbFd uintptr, zWalName uintptr, bNoShm int32, mxWalSize I64, ppWal uintptr) int32 { /* sqlite3.c:62414:20: */ +func Xsqlite3WalOpen(tls *libc.TLS, pVfs uintptr, pDbFd uintptr, zWalName uintptr, bNoShm int32, mxWalSize I64, ppWal uintptr) int32 { /* sqlite3.c:62424:20: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -38633,7 +38643,7 @@ func Xsqlite3WalOpen(tls *libc.TLS, pVfs uintptr, pDbFd uintptr, zWalName uintpt } // Change the size to which the WAL file is trucated on each reset. -func Xsqlite3WalLimit(tls *libc.TLS, pWal uintptr, iLimit I64) { /* sqlite3.c:62517:21: */ +func Xsqlite3WalLimit(tls *libc.TLS, pWal uintptr, iLimit I64) { /* sqlite3.c:62527:21: */ if pWal != 0 { (*Wal)(unsafe.Pointer(pWal)).FmxWalSize = iLimit } @@ -38647,7 +38657,7 @@ func Xsqlite3WalLimit(tls *libc.TLS, pWal uintptr, iLimit I64) { /* sqlite3.c:62 // // Return 0 on success. If there are no pages in the WAL with a page // number larger than *piPage, then return 1. -func walIteratorNext(tls *libc.TLS, p uintptr, piPage uintptr, piFrame uintptr) int32 { /* sqlite3.c:62531:12: */ +func walIteratorNext(tls *libc.TLS, p uintptr, piPage uintptr, piFrame uintptr) int32 { /* sqlite3.c:62541:12: */ var iMin U32 // Result pgno must be greater than iMin var iRet U32 = 0xFFFFFFFF // 0xffffffff is never a valid page number var i int32 // For looping through segments @@ -38694,7 +38704,7 @@ func walIteratorNext(tls *libc.TLS, p uintptr, piPage uintptr, piFrame uintptr) // aLeft[X]!=aRight[Y] && aContent[aLeft[X]] == aContent[aRight[Y]] // // When that happens, omit the aLeft[X] and use the aRight[Y] index. -func walMerge(tls *libc.TLS, aContent uintptr, aLeft uintptr, nLeft int32, paRight uintptr, pnRight uintptr, aTmp uintptr) { /* sqlite3.c:62584:13: */ +func walMerge(tls *libc.TLS, aContent uintptr, aLeft uintptr, nLeft int32, paRight uintptr, pnRight uintptr, aTmp uintptr) { /* sqlite3.c:62594:13: */ var iLeft int32 = 0 // Current index in aLeft var iRight int32 = 0 // Current index in aRight var iOut int32 = 0 // Current index in output buffer @@ -38740,7 +38750,7 @@ func walMerge(tls *libc.TLS, aContent uintptr, aLeft uintptr, nLeft int32, paRig // // Keep the larger of the two values aList[X] and aList[Y] and discard // the smaller. -func walMergesort(tls *libc.TLS, aContent uintptr, aBuffer uintptr, aList uintptr, pnList uintptr) { /* sqlite3.c:62641:13: */ +func walMergesort(tls *libc.TLS, aContent uintptr, aBuffer uintptr, aList uintptr, pnList uintptr) { /* sqlite3.c:62651:13: */ bp := tls.Alloc(220) defer tls.Free(220) @@ -38786,10 +38796,10 @@ type Sublist = struct { FnList int32 F__ccgo_pad1 [4]byte FaList uintptr -} /* sqlite3.c:62647:3 */ +} /* sqlite3.c:62657:3 */ // Free an iterator allocated by walIteratorInit(). -func walIteratorFree(tls *libc.TLS, p uintptr) { /* sqlite3.c:62704:13: */ +func walIteratorFree(tls *libc.TLS, p uintptr) { /* sqlite3.c:62714:13: */ Xsqlite3_free(tls, p) } @@ -38804,7 +38814,7 @@ func walIteratorFree(tls *libc.TLS, p uintptr) { /* sqlite3.c:62704:13: */ // // The calling routine should invoke walIteratorFree() to destroy the // WalIterator object when it has finished with it. -func walIteratorInit(tls *libc.TLS, pWal uintptr, nBackfill U32, pp uintptr) int32 { /* sqlite3.c:62721:12: */ +func walIteratorInit(tls *libc.TLS, pWal uintptr, nBackfill U32, pp uintptr) int32 { /* sqlite3.c:62731:12: */ bp := tls.Alloc(28) defer tls.Free(28) @@ -38888,7 +38898,7 @@ func walIteratorInit(tls *libc.TLS, pWal uintptr, nBackfill U32, pp uintptr) int // n. If the attempt fails and parameter xBusy is not NULL, then it is a // 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) int32 { /* sqlite3.c:62884:12: */ +func walBusyLock(tls *libc.TLS, pWal uintptr, xBusy uintptr, pBusyArg uintptr, lockIdx int32, n int32) int32 { /* sqlite3.c:62894:12: */ var rc int32 for __ccgo := true; __ccgo; __ccgo = xBusy != 0 && rc == SQLITE_BUSY && (*struct { f func(*libc.TLS, uintptr) int32 @@ -38900,7 +38910,7 @@ func walBusyLock(tls *libc.TLS, pWal uintptr, xBusy uintptr, pBusyArg uintptr, l // The cache of the wal-index header must be valid to call this function. // Return the page-size in bytes used by the database. -func walPagesize(tls *libc.TLS, pWal uintptr) int32 { /* sqlite3.c:62908:12: */ +func walPagesize(tls *libc.TLS, pWal uintptr) int32 { /* sqlite3.c:62918:12: */ return int32((*Wal)(unsafe.Pointer(pWal)).Fhdr.FszPage)&0xfe00 + int32((*Wal)(unsafe.Pointer(pWal)).Fhdr.FszPage)&0x0001<<16 } @@ -38919,7 +38929,7 @@ func walPagesize(tls *libc.TLS, pWal uintptr) int32 { /* sqlite3.c:62908:12: */ // The value of parameter salt1 is used as the aSalt[1] value in the // new wal-index header. It should be passed a pseudo-random value (i.e. // one obtained from sqlite3_randomness()). -func walRestartHdr(tls *libc.TLS, pWal uintptr, salt1 U32) { /* sqlite3.c:62929:13: */ +func walRestartHdr(tls *libc.TLS, pWal uintptr, salt1 U32) { /* sqlite3.c:62939:13: */ bp := tls.Alloc(4) defer tls.Free(4) *(*U32)(unsafe.Pointer(bp)) = salt1 @@ -38970,7 +38980,7 @@ func walRestartHdr(tls *libc.TLS, pWal uintptr, salt1 U32) { /* sqlite3.c:62929: // The caller must be holding sufficient locks to ensure that no other // 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) int32 { /* sqlite3.c:62976:12: */ +func walCheckpoint(tls *libc.TLS, pWal uintptr, db uintptr, eMode int32, xBusy uintptr, pBusyArg uintptr, sync_flags int32, zBuf uintptr) int32 { /* sqlite3.c:62986:12: */ bp := tls.Alloc(36) defer tls.Free(36) @@ -39101,7 +39111,7 @@ __10: // 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 = Xsqlite3CorruptError(tls, 63060) + rc = Xsqlite3CorruptError(tls, 63070) goto __15 __14: Xsqlite3OsFileControlHint(tls, (*Wal)(unsafe.Pointer(pWal)).FpDbFd, SQLITE_FCNTL_SIZE_HINT, bp+16) @@ -39262,7 +39272,7 @@ walcheckpoint_out: // If the WAL file is currently larger than nMax bytes in size, truncate // it to exactly nMax bytes. If an error occurs while doing so, ignore it. -func walLimitSize(tls *libc.TLS, pWal uintptr, nMax I64) { /* sqlite3.c:63162:13: */ +func walLimitSize(tls *libc.TLS, pWal uintptr, nMax I64) { /* sqlite3.c:63172:13: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -39281,7 +39291,7 @@ func walLimitSize(tls *libc.TLS, pWal uintptr, nMax I64) { /* sqlite3.c:63162:13 } // Close a connection to a log file. -func Xsqlite3WalClose(tls *libc.TLS, pWal uintptr, db uintptr, sync_flags int32, nBuf int32, zBuf uintptr) int32 { /* sqlite3.c:63179:20: */ +func Xsqlite3WalClose(tls *libc.TLS, pWal uintptr, db uintptr, sync_flags int32, nBuf int32, zBuf uintptr) int32 { /* sqlite3.c:63189:20: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -39353,7 +39363,7 @@ func Xsqlite3WalClose(tls *libc.TLS, pWal uintptr, db uintptr, sync_flags int32, // // If the checksum cannot be verified return non-zero. If the header // is read successfully and the checksum verified, return zero. -func walIndexTryHdr(tls *libc.TLS, pWal uintptr, pChanged uintptr) int32 { /* sqlite3.c:63260:27: */ +func walIndexTryHdr(tls *libc.TLS, pWal uintptr, pChanged uintptr) int32 { /* sqlite3.c:63270:27: */ bp := tls.Alloc(104) defer tls.Free(104) @@ -39422,7 +39432,7 @@ func walIndexTryHdr(tls *libc.TLS, pWal uintptr, pChanged uintptr) int32 { /* sq // // If the wal-index header is successfully read, return SQLITE_OK. // Otherwise an SQLite error code. -func walIndexReadHdr(tls *libc.TLS, pWal uintptr, pChanged uintptr) int32 { /* sqlite3.c:63330:12: */ +func walIndexReadHdr(tls *libc.TLS, pWal uintptr, pChanged uintptr) int32 { /* sqlite3.c:63340:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -39502,7 +39512,7 @@ func walIndexReadHdr(tls *libc.TLS, pWal uintptr, pChanged uintptr) int32 { /* s // sure the wal-index was not constructed with some future format that // this version of SQLite cannot understand. if badHdr == 0 && (*Wal)(unsafe.Pointer(pWal)).Fhdr.FiVersion != U32(WALINDEX_MAX_VERSION) { - rc = Xsqlite3CantopenError(tls, 63409) + rc = Xsqlite3CantopenError(tls, 63419) } if (*Wal)(unsafe.Pointer(pWal)).FbShmUnreliable != 0 { if rc != SQLITE_OK { @@ -39547,7 +39557,7 @@ func walIndexReadHdr(tls *libc.TLS, pWal uintptr, pChanged uintptr) int32 { /* s // beginning (including attempting to map the *-shm file). // // If an error occurs, an SQLite error code is returned. -func walBeginShmUnreliable(tls *libc.TLS, pWal uintptr, pChanged uintptr) int32 { /* sqlite3.c:63454:12: */ +func walBeginShmUnreliable(tls *libc.TLS, pWal uintptr, pChanged uintptr) int32 { /* sqlite3.c:63464:12: */ bp := tls.Alloc(64) defer tls.Free(64) @@ -39813,7 +39823,7 @@ __15: // update values of the aReadMark[] array in the header, but if it does // so it takes care to hold an exclusive lock on the corresponding // WAL_READ_LOCK() while changing values. -func walTryBeginRead(tls *libc.TLS, pWal uintptr, pChanged uintptr, useWal int32, cnt int32) int32 { /* sqlite3.c:63651:12: */ +func walTryBeginRead(tls *libc.TLS, pWal uintptr, pChanged uintptr, useWal int32, cnt int32) int32 { /* sqlite3.c:63661:12: */ var pInfo uintptr // Checkpoint information in wal-index var mxReadMark U32 // Largest aReadMark[] value var mxI int32 // Index of largest aReadMark[] value @@ -40030,7 +40040,7 @@ func walTryBeginRead(tls *libc.TLS, pWal uintptr, pChanged uintptr, useWal int32 // SQLITE_OK is returned if successful, or an SQLite error code if an // error occurs. It is not an error if nBackfillAttempted cannot be // decreased at all. -func Xsqlite3WalSnapshotRecover(tls *libc.TLS, pWal uintptr) int32 { /* sqlite3.c:63881:20: */ +func Xsqlite3WalSnapshotRecover(tls *libc.TLS, pWal uintptr) int32 { /* sqlite3.c:63891:20: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -40104,7 +40114,7 @@ func Xsqlite3WalSnapshotRecover(tls *libc.TLS, pWal uintptr) int32 { /* sqlite3. // transaction, then *pChanged is set to 1 before returning. The // Pager layer will use this to know that its cache is stale and // needs to be flushed. -func Xsqlite3WalBeginReadTransaction(tls *libc.TLS, pWal uintptr, pChanged uintptr) int32 { /* sqlite3.c:63952:20: */ +func Xsqlite3WalBeginReadTransaction(tls *libc.TLS, pWal uintptr, pChanged uintptr) int32 { /* sqlite3.c:63962:20: */ var rc int32 // Return code var cnt int32 = 0 // Number of TryBeginRead attempts var bChanged int32 = 0 @@ -40192,7 +40202,7 @@ func Xsqlite3WalBeginReadTransaction(tls *libc.TLS, pWal uintptr, pChanged uintp // Finish with a read transaction. All this does is release the // read-lock. -func Xsqlite3WalEndReadTransaction(tls *libc.TLS, pWal uintptr) { /* sqlite3.c:64060:21: */ +func Xsqlite3WalEndReadTransaction(tls *libc.TLS, pWal uintptr) { /* sqlite3.c:64070:21: */ Xsqlite3WalEndWriteTransaction(tls, pWal) if int32((*Wal)(unsafe.Pointer(pWal)).FreadLock) >= 0 { walUnlockShared(tls, pWal, 3+int32((*Wal)(unsafe.Pointer(pWal)).FreadLock)) @@ -40206,7 +40216,7 @@ func Xsqlite3WalEndReadTransaction(tls *libc.TLS, pWal uintptr) { /* sqlite3.c:6 // // Return SQLITE_OK if successful, or an error code if an error occurs. If an // error does occur, the final value of *piRead is undefined. -func Xsqlite3WalFindFrame(tls *libc.TLS, pWal uintptr, pgno Pgno, piRead uintptr) int32 { /* sqlite3.c:64076:20: */ +func Xsqlite3WalFindFrame(tls *libc.TLS, pWal uintptr, pgno Pgno, piRead uintptr) int32 { /* sqlite3.c:64086:20: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -40273,7 +40283,7 @@ func Xsqlite3WalFindFrame(tls *libc.TLS, pWal uintptr, pgno Pgno, piRead uintptr iRead = iFrame } if libc.PostDecInt32(&nCollide, 1) == 0 { - return Xsqlite3CorruptError(tls, 64146) + return Xsqlite3CorruptError(tls, 64156) } iKey = walNextHash(tls, iKey) } @@ -40289,7 +40299,7 @@ func Xsqlite3WalFindFrame(tls *libc.TLS, pWal uintptr, pgno Pgno, piRead uintptr // Read the contents of frame iRead from the wal file into buffer pOut // (which is nOut bytes in size). Return SQLITE_OK if successful, or an // error code otherwise. -func Xsqlite3WalReadFrame(tls *libc.TLS, pWal uintptr, iRead U32, nOut int32, pOut uintptr) int32 { /* sqlite3.c:64180:20: */ +func Xsqlite3WalReadFrame(tls *libc.TLS, pWal uintptr, iRead U32, nOut int32, pOut uintptr) int32 { /* sqlite3.c:64190:20: */ var sz int32 var iOffset I64 sz = int32((*Wal)(unsafe.Pointer(pWal)).Fhdr.FszPage) @@ -40306,7 +40316,7 @@ func Xsqlite3WalReadFrame(tls *libc.TLS, pWal uintptr, iRead U32, nOut int32, pO } // Return the size of the database in pages (or zero, if unknown). -func Xsqlite3WalDbsize(tls *libc.TLS, pWal uintptr) Pgno { /* sqlite3.c:64200:21: */ +func Xsqlite3WalDbsize(tls *libc.TLS, pWal uintptr) Pgno { /* sqlite3.c:64210:21: */ if pWal != 0 && int32((*Wal)(unsafe.Pointer(pWal)).FreadLock) >= 0 { return (*Wal)(unsafe.Pointer(pWal)).Fhdr.FnPage } @@ -40324,7 +40334,7 @@ func Xsqlite3WalDbsize(tls *libc.TLS, pWal uintptr) Pgno { /* sqlite3.c:64200:21 // returns SQLITE_BUSY in that case and no write transaction is started. // // There can only be a single writer active at a time. -func Xsqlite3WalBeginWriteTransaction(tls *libc.TLS, pWal uintptr) int32 { /* sqlite3.c:64221:20: */ +func Xsqlite3WalBeginWriteTransaction(tls *libc.TLS, pWal uintptr) int32 { /* sqlite3.c:64231:20: */ var rc int32 // Cannot start a write transaction without first holding a read @@ -40356,7 +40366,7 @@ func Xsqlite3WalBeginWriteTransaction(tls *libc.TLS, pWal uintptr) int32 { /* sq // End a write transaction. The commit has already been done. This // routine merely releases the lock. -func Xsqlite3WalEndWriteTransaction(tls *libc.TLS, pWal uintptr) int32 { /* sqlite3.c:64269:20: */ +func Xsqlite3WalEndWriteTransaction(tls *libc.TLS, pWal uintptr) int32 { /* sqlite3.c:64279:20: */ if (*Wal)(unsafe.Pointer(pWal)).FwriteLock != 0 { walUnlockExclusive(tls, pWal, WAL_WRITE_LOCK, 1) (*Wal)(unsafe.Pointer(pWal)).FwriteLock = U8(0) @@ -40376,7 +40386,7 @@ func Xsqlite3WalEndWriteTransaction(tls *libc.TLS, pWal uintptr) int32 { /* sqli // // Otherwise, if the callback function does not return an error, this // function returns SQLITE_OK. -func Xsqlite3WalUndo(tls *libc.TLS, pWal uintptr, xUndo uintptr, pUndoCtx uintptr) int32 { /* sqlite3.c:64291:20: */ +func Xsqlite3WalUndo(tls *libc.TLS, pWal uintptr, xUndo uintptr, pUndoCtx uintptr) int32 { /* sqlite3.c:64301:20: */ var rc int32 = SQLITE_OK if (*Wal)(unsafe.Pointer(pWal)).FwriteLock != 0 { var iMax Pgno = (*Wal)(unsafe.Pointer(pWal)).Fhdr.FmxFrame @@ -40413,7 +40423,7 @@ func Xsqlite3WalUndo(tls *libc.TLS, pWal uintptr, xUndo uintptr, pUndoCtx uintpt // values. This function populates the array with values required to // "rollback" the write position of the WAL handle back to the current // point in the event of a savepoint rollback (via WalSavepointUndo()). -func Xsqlite3WalSavepoint(tls *libc.TLS, pWal uintptr, aWalData uintptr) { /* sqlite3.c:64331:21: */ +func Xsqlite3WalSavepoint(tls *libc.TLS, pWal uintptr, aWalData uintptr) { /* sqlite3.c:64341:21: */ *(*U32)(unsafe.Pointer(aWalData)) = (*Wal)(unsafe.Pointer(pWal)).Fhdr.FmxFrame *(*U32)(unsafe.Pointer(aWalData + 1*4)) = *(*U32)(unsafe.Pointer(pWal + 72 + 24)) @@ -40425,7 +40435,7 @@ func Xsqlite3WalSavepoint(tls *libc.TLS, pWal uintptr, aWalData uintptr) { /* sq // the values in the aWalData[] array. aWalData must point to an array // of WAL_SAVEPOINT_NDATA u32 values that has been previously populated // by a call to WalSavepoint(). -func Xsqlite3WalSavepointUndo(tls *libc.TLS, pWal uintptr, aWalData uintptr) int32 { /* sqlite3.c:64345:20: */ +func Xsqlite3WalSavepointUndo(tls *libc.TLS, pWal uintptr, aWalData uintptr) int32 { /* sqlite3.c:64355:20: */ var rc int32 = SQLITE_OK if *(*U32)(unsafe.Pointer(aWalData + 3*4)) != (*Wal)(unsafe.Pointer(pWal)).FnCkpt { @@ -40456,7 +40466,7 @@ func Xsqlite3WalSavepointUndo(tls *libc.TLS, pWal uintptr, aWalData uintptr) int // SQLITE_OK is returned if no error is encountered (regardless of whether // or not pWal->hdr.mxFrame is modified). An SQLite error code is returned // if an error occurs. -func walRestartLog(tls *libc.TLS, pWal uintptr) int32 { /* sqlite3.c:64382:12: */ +func walRestartLog(tls *libc.TLS, pWal uintptr) int32 { /* sqlite3.c:64392:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -40510,12 +40520,12 @@ type WalWriter1 = struct { FiSyncPoint Sqlite3_int64 FsyncFlags int32 FszPage int32 -} /* sqlite3.c:64429:9 */ +} /* sqlite3.c:64439:9 */ // Information about the current state of the WAL file and where // the next fsync should occur - passed from sqlite3WalFrames() into // walWriteToLog(). -type WalWriter = WalWriter1 /* sqlite3.c:64435:3 */ +type WalWriter = WalWriter1 /* sqlite3.c:64445:3 */ // Write iAmt bytes of content into the WAL file beginning at iOffset. // Do a sync when crossing the p->iSyncPoint boundary. @@ -40523,7 +40533,7 @@ type WalWriter = WalWriter1 /* sqlite3.c:64435:3 */ // In other words, if iSyncPoint is in between iOffset and iOffset+iAmt, // first write the part before iSyncPoint, then sync, then write the // rest. -func walWriteToLog(tls *libc.TLS, p uintptr, pContent uintptr, iAmt int32, iOffset Sqlite3_int64) int32 { /* sqlite3.c:64445:12: */ +func walWriteToLog(tls *libc.TLS, p uintptr, pContent uintptr, iAmt int32, iOffset Sqlite3_int64) int32 { /* sqlite3.c:64455:12: */ var rc int32 if iOffset < (*WalWriter)(unsafe.Pointer(p)).FiSyncPoint && iOffset+Sqlite3_int64(iAmt) >= (*WalWriter)(unsafe.Pointer(p)).FiSyncPoint { var iFirstAmt int32 = int32((*WalWriter)(unsafe.Pointer(p)).FiSyncPoint - iOffset) @@ -40545,7 +40555,7 @@ func walWriteToLog(tls *libc.TLS, p uintptr, pContent uintptr, iAmt int32, iOffs } // Write out a single frame of the WAL -func walWriteOneFrame(tls *libc.TLS, p uintptr, pPage uintptr, nTruncate int32, iOffset Sqlite3_int64) int32 { /* sqlite3.c:64470:12: */ +func walWriteOneFrame(tls *libc.TLS, p uintptr, pPage uintptr, nTruncate int32, iOffset Sqlite3_int64) int32 { /* sqlite3.c:64480:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -40570,7 +40580,7 @@ func walWriteOneFrame(tls *libc.TLS, p uintptr, pPage uintptr, nTruncate int32, // with the earliest to have been overwritten. // // SQLITE_OK is returned if successful, or an SQLite error code otherwise. -func walRewriteChecksums(tls *libc.TLS, pWal uintptr, iLast U32) int32 { /* sqlite3.c:64496:12: */ +func walRewriteChecksums(tls *libc.TLS, pWal uintptr, iLast U32) int32 { /* sqlite3.c:64506:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -40624,7 +40634,7 @@ func walRewriteChecksums(tls *libc.TLS, pWal uintptr, iLast U32) int32 { /* sqli // Write a set of frames to the log. The caller must hold the write-lock // on the log file (obtained using sqlite3WalBeginWriteTransaction()). -func Xsqlite3WalFrames(tls *libc.TLS, pWal uintptr, szPage int32, pList uintptr, nTruncate Pgno, isCommit int32, sync_flags int32) int32 { /* sqlite3.c:64545:20: */ +func Xsqlite3WalFrames(tls *libc.TLS, pWal uintptr, szPage int32, pList uintptr, nTruncate Pgno, isCommit int32, sync_flags int32) int32 { /* sqlite3.c:64555:20: */ bp := tls.Alloc(80) defer tls.Free(80) @@ -40857,7 +40867,7 @@ func Xsqlite3WalFrames(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 Xsqlite3WalCheckpoint(tls *libc.TLS, pWal uintptr, db uintptr, eMode int32, xBusy uintptr, pBusyArg uintptr, sync_flags int32, nBuf int32, zBuf uintptr, pnLog uintptr, pnCkpt uintptr) int32 { /* sqlite3.c:64783:20: */ +func Xsqlite3WalCheckpoint(tls *libc.TLS, pWal uintptr, db uintptr, eMode int32, xBusy uintptr, pBusyArg uintptr, sync_flags int32, nBuf int32, zBuf uintptr, pnLog uintptr, pnCkpt uintptr) int32 { /* sqlite3.c:64793:20: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -40922,7 +40932,7 @@ func Xsqlite3WalCheckpoint(tls *libc.TLS, pWal uintptr, db uintptr, eMode int32, if rc == SQLITE_OK { if (*Wal)(unsafe.Pointer(pWal)).Fhdr.FmxFrame != 0 && walPagesize(tls, pWal) != nBuf { - rc = Xsqlite3CorruptError(tls, 64865) + rc = Xsqlite3CorruptError(tls, 64875) } else { rc = walCheckpoint(tls, pWal, db, eMode2, xBusy2, pBusyArg, sync_flags, zBuf) } @@ -40966,7 +40976,7 @@ func Xsqlite3WalCheckpoint(tls *libc.TLS, pWal uintptr, db uintptr, eMode int32, // number of frames in the WAL at the point of the last commit since // sqlite3WalCallback() was called. If no commits have occurred since // the last call, then return 0. -func Xsqlite3WalCallback(tls *libc.TLS, pWal uintptr) int32 { /* sqlite3.c:64908:20: */ +func Xsqlite3WalCallback(tls *libc.TLS, pWal uintptr) int32 { /* sqlite3.c:64918:20: */ var ret U32 = U32(0) if pWal != 0 { ret = (*Wal)(unsafe.Pointer(pWal)).FiCallback @@ -40997,7 +41007,7 @@ func Xsqlite3WalCallback(tls *libc.TLS, pWal uintptr) int32 { /* sqlite3.c:64908 // not actually change anything. The pager uses this to see if it // should acquire the database exclusive lock prior to invoking // the op==1 case. -func Xsqlite3WalExclusiveMode(tls *libc.TLS, pWal uintptr, op int32) int32 { /* sqlite3.c:64941:20: */ +func Xsqlite3WalExclusiveMode(tls *libc.TLS, pWal uintptr, op int32) int32 { /* sqlite3.c:64951:20: */ var rc int32 // pWal->readLock is usually set, but might be -1 if there was a @@ -41031,14 +41041,14 @@ func Xsqlite3WalExclusiveMode(tls *libc.TLS, pWal uintptr, op int32) int32 { /* // Return true if the argument is non-NULL and the WAL module is using // heap-memory for the wal-index. Otherwise, if the argument is NULL or the // WAL module is using shared-memory, return false. -func Xsqlite3WalHeapMemory(tls *libc.TLS, pWal uintptr) int32 { /* sqlite3.c:64983:20: */ +func Xsqlite3WalHeapMemory(tls *libc.TLS, pWal uintptr) int32 { /* sqlite3.c:64993:20: */ return libc.Bool32(pWal != 0 && int32((*Wal)(unsafe.Pointer(pWal)).FexclusiveMode) == WAL_HEAPMEMORY_MODE) } // Create a snapshot object. The content of a snapshot is opaque to // every other subsystem, so the WAL module can put whatever it needs // in the object. -func Xsqlite3WalSnapshotGet(tls *libc.TLS, pWal uintptr, ppSnapshot uintptr) int32 { /* sqlite3.c:64992:20: */ +func Xsqlite3WalSnapshotGet(tls *libc.TLS, pWal uintptr, ppSnapshot uintptr) int32 { /* sqlite3.c:65002:20: */ var rc int32 = SQLITE_OK var pRet uintptr @@ -41057,16 +41067,16 @@ func Xsqlite3WalSnapshotGet(tls *libc.TLS, pWal uintptr, ppSnapshot uintptr) int return rc } -var aZero = [4]U32{U32(0), U32(0), U32(0), U32(0)} /* sqlite3.c:64995:20 */ +var aZero = [4]U32{U32(0), U32(0), U32(0), U32(0)} /* sqlite3.c:65005:20 */ // Try to open on pSnapshot when the next read-transaction starts -func Xsqlite3WalSnapshotOpen(tls *libc.TLS, pWal uintptr, pSnapshot uintptr) { /* sqlite3.c:65016:21: */ +func Xsqlite3WalSnapshotOpen(tls *libc.TLS, pWal uintptr, pSnapshot uintptr) { /* sqlite3.c:65026:21: */ (*Wal)(unsafe.Pointer(pWal)).FpSnapshot = pSnapshot } // Return a +ve value if snapshot p1 is newer than p2. A -ve value if // p1 is older than p2 and zero if p1 and p2 are the same snapshot. -func Xsqlite3_snapshot_cmp(tls *libc.TLS, p1 uintptr, p2 uintptr) int32 { /* sqlite3.c:65027:16: */ +func Xsqlite3_snapshot_cmp(tls *libc.TLS, p1 uintptr, p2 uintptr) int32 { /* sqlite3.c:65037:16: */ var pHdr1 uintptr = p1 var pHdr2 uintptr = p2 @@ -41096,7 +41106,7 @@ func Xsqlite3_snapshot_cmp(tls *libc.TLS, p1 uintptr, p2 uintptr) int32 { /* sql // the CHECKPOINTER lock cannot be obtained, SQLITE_BUSY. If any error // occurs (any value other than SQLITE_OK is returned), the CHECKPOINTER // lock is released before returning. -func Xsqlite3WalSnapshotCheck(tls *libc.TLS, pWal uintptr, pSnapshot uintptr) int32 { /* sqlite3.c:65051:20: */ +func Xsqlite3WalSnapshotCheck(tls *libc.TLS, pWal uintptr, pSnapshot uintptr) int32 { /* sqlite3.c:65061:20: */ var rc int32 rc = walLockShared(tls, pWal, WAL_CKPT_LOCK) if rc == SQLITE_OK { @@ -41112,13 +41122,13 @@ func Xsqlite3WalSnapshotCheck(tls *libc.TLS, pWal uintptr, pSnapshot uintptr) in // Release a lock obtained by an earlier successful call to // sqlite3WalSnapshotCheck(). -func Xsqlite3WalSnapshotUnlock(tls *libc.TLS, pWal uintptr) { /* sqlite3.c:65070:21: */ +func Xsqlite3WalSnapshotUnlock(tls *libc.TLS, pWal uintptr) { /* sqlite3.c:65080:21: */ walUnlockShared(tls, pWal, WAL_CKPT_LOCK) } // Return the sqlite3_file object for the WAL file -func Xsqlite3WalFile(tls *libc.TLS, pWal uintptr) uintptr { /* sqlite3.c:65092:29: */ +func Xsqlite3WalFile(tls *libc.TLS, pWal uintptr) uintptr { /* sqlite3.c:65102:29: */ return (*Wal)(unsafe.Pointer(pWal)).FpWalFd } @@ -41639,7 +41649,7 @@ type MemPage1 = struct { // small cells will be rare, but they are possible. // Forward declarations -type MemPage = MemPage1 /* sqlite3.c:65350:24 */ +type MemPage = MemPage1 /* sqlite3.c:65360:24 */ type BtLock1 = struct { FpBtree uintptr FiTable Pgno @@ -41648,7 +41658,7 @@ type BtLock1 = struct { FpNext uintptr } /* sqlite3.c:578:9 */ -type BtLock = BtLock1 /* sqlite3.c:65351:23 */ +type BtLock = BtLock1 /* sqlite3.c:65361:23 */ type CellInfo1 = struct { FnKey I64 FpPayload uintptr @@ -41657,7 +41667,7 @@ type CellInfo1 = struct { FnSize U16 } /* sqlite3.c:578:9 */ -type CellInfo = CellInfo1 /* sqlite3.c:65352:25 */ +type CellInfo = CellInfo1 /* sqlite3.c:65362:25 */ // Legal values for BtCursor.curFlags @@ -41767,7 +41777,7 @@ type IntegrityCk1 = struct { FerrMsg StrAccum Fheap uintptr Fdb uintptr -} /* sqlite3.c:65811:9 */ +} /* sqlite3.c:65821:9 */ // Legal values for BtCursor.curFlags @@ -41863,7 +41873,7 @@ type IntegrityCk1 = struct { // the database the corresponding bit is set. This allows integrity-check to // detect pages that are used twice and orphaned pages (both of which // indicate corruption). -type IntegrityCk = IntegrityCk1 /* sqlite3.c:65811:28 */ +type IntegrityCk = IntegrityCk1 /* sqlite3.c:65821:28 */ // Routines to read or write a two- and four-byte big-endian integer values. @@ -41877,7 +41887,7 @@ type IntegrityCk = IntegrityCk1 /* sqlite3.c:65811:28 */ // Obtain the BtShared mutex associated with B-Tree handle p. Also, // set BtShared.db to the database handle associated with p and the // p->locked boolean to true. -func lockBtreeMutex(tls *libc.TLS, p uintptr) { /* sqlite3.c:65861:13: */ +func lockBtreeMutex(tls *libc.TLS, p uintptr) { /* sqlite3.c:65871:13: */ Xsqlite3_mutex_enter(tls, (*BtShared)(unsafe.Pointer((*Btree)(unsafe.Pointer(p)).FpBt)).Fmutex) (*BtShared)(unsafe.Pointer((*Btree)(unsafe.Pointer(p)).FpBt)).Fdb = (*Btree)(unsafe.Pointer(p)).Fdb @@ -41886,7 +41896,7 @@ func lockBtreeMutex(tls *libc.TLS, p uintptr) { /* sqlite3.c:65861:13: */ // Release the BtShared mutex associated with B-Tree handle p and // clear the p->locked boolean. -func unlockBtreeMutex(tls *libc.TLS, p uintptr) { /* sqlite3.c:65875:29: */ +func unlockBtreeMutex(tls *libc.TLS, p uintptr) { /* sqlite3.c:65885:29: */ var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt Xsqlite3_mutex_leave(tls, (*BtShared)(unsafe.Pointer(pBt)).Fmutex) @@ -41907,7 +41917,7 @@ func unlockBtreeMutex(tls *libc.TLS, p uintptr) { /* sqlite3.c:65875:29: */ // p, then first unlock all of the others on p->pNext, then wait // for the lock to become available on p, then relock all of the // subsequent Btrees that desire a lock. -func Xsqlite3BtreeEnter(tls *libc.TLS, p uintptr) { /* sqlite3.c:65905:21: */ +func Xsqlite3BtreeEnter(tls *libc.TLS, p uintptr) { /* sqlite3.c:65915:21: */ // Some basic sanity checking on the Btree. The list of Btrees // connected by pNext and pPrev should be in sorted order by // Btree.pBt value. All elements of the list should belong to @@ -41935,7 +41945,7 @@ func Xsqlite3BtreeEnter(tls *libc.TLS, p uintptr) { /* sqlite3.c:65905:21: */ // into this routine, we avoid unnecessary stack pointer changes // and thus help the sqlite3BtreeLock() routine to run much faster // in the common case. -func btreeLockCarefully(tls *libc.TLS, p uintptr) { /* sqlite3.c:65939:29: */ +func btreeLockCarefully(tls *libc.TLS, p uintptr) { /* sqlite3.c:65949:29: */ var pLater uintptr // In most cases, we should be able to acquire the lock we @@ -41966,7 +41976,7 @@ func btreeLockCarefully(tls *libc.TLS, p uintptr) { /* sqlite3.c:65939:29: */ } // Exit the recursive mutex on a Btree. -func Xsqlite3BtreeLeave(tls *libc.TLS, p uintptr) { /* sqlite3.c:65977:21: */ +func Xsqlite3BtreeLeave(tls *libc.TLS, p uintptr) { /* sqlite3.c:65987:21: */ if (*Btree)(unsafe.Pointer(p)).Fsharable != 0 { @@ -41989,7 +41999,7 @@ func Xsqlite3BtreeLeave(tls *libc.TLS, p uintptr) { /* sqlite3.c:65977:21: */ // to avoid the possibility of deadlock when two threads with // two or more btrees in common both try to lock all their btrees // at the same instant. -func btreeEnterAll(tls *libc.TLS, db uintptr) { /* sqlite3.c:66020:29: */ +func btreeEnterAll(tls *libc.TLS, db uintptr) { /* sqlite3.c:66030:29: */ var i int32 var skipOk int32 = 1 var p uintptr @@ -42004,13 +42014,13 @@ func btreeEnterAll(tls *libc.TLS, db uintptr) { /* sqlite3.c:66020:29: */ (*Sqlite3)(unsafe.Pointer(db)).FnoSharedCache = U8(skipOk) } -func Xsqlite3BtreeEnterAll(tls *libc.TLS, db uintptr) { /* sqlite3.c:66034:21: */ +func Xsqlite3BtreeEnterAll(tls *libc.TLS, db uintptr) { /* sqlite3.c:66044:21: */ if int32((*Sqlite3)(unsafe.Pointer(db)).FnoSharedCache) == 0 { btreeEnterAll(tls, db) } } -func btreeLeaveAll(tls *libc.TLS, db uintptr) { /* sqlite3.c:66037:29: */ +func btreeLeaveAll(tls *libc.TLS, db uintptr) { /* sqlite3.c:66047:29: */ var i int32 var p uintptr @@ -42022,7 +42032,7 @@ func btreeLeaveAll(tls *libc.TLS, db uintptr) { /* sqlite3.c:66037:29: */ } } -func Xsqlite3BtreeLeaveAll(tls *libc.TLS, db uintptr) { /* sqlite3.c:66046:21: */ +func Xsqlite3BtreeLeaveAll(tls *libc.TLS, db uintptr) { /* sqlite3.c:66056:21: */ if int32((*Sqlite3)(unsafe.Pointer(db)).FnoSharedCache) == 0 { btreeLeaveAll(tls, db) } @@ -42033,11 +42043,11 @@ func Xsqlite3BtreeLeaveAll(tls *libc.TLS, db uintptr) { /* sqlite3.c:66046:21: * // These entry points are used by incremental I/O only. Enter() is required // any time OMIT_SHARED_CACHE is not defined, regardless of whether or not // the build is threadsafe. Leave() is only required by threadsafe builds. -func Xsqlite3BtreeEnterCursor(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:66132:21: */ +func Xsqlite3BtreeEnterCursor(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:66142:21: */ Xsqlite3BtreeEnter(tls, (*BtCursor)(unsafe.Pointer(pCur)).FpBtree) } -func Xsqlite3BtreeLeaveCursor(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:66136:21: */ +func Xsqlite3BtreeLeaveCursor(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:66146:21: */ Xsqlite3BtreeLeave(tls, (*BtCursor)(unsafe.Pointer(pCur)).FpBtree) } @@ -42060,7 +42070,7 @@ func Xsqlite3BtreeLeaveCursor(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:66136: // The header string that appears at the beginning of every // SQLite database. -var zMagicHeader = *(*[16]int8)(unsafe.Pointer(ts + 3977)) /* sqlite3.c:66167:19 */ +var zMagicHeader = *(*[16]int8)(unsafe.Pointer(ts + 3977)) /* sqlite3.c:66177:19 */ // Set this global variable to 1 to enable tracing using the TRACE // macro. @@ -42086,14 +42096,14 @@ var zMagicHeader = *(*[16]int8)(unsafe.Pointer(ts + 3977)) /* sqlite3.c:66167:19 // test builds. // // Access to this variable is protected by SQLITE_MUTEX_STATIC_MAIN. -var sqlite3SharedCacheList uintptr = uintptr(0) /* sqlite3.c:66222:17 */ +var sqlite3SharedCacheList uintptr = uintptr(0) /* sqlite3.c:66232:17 */ // Enable or disable the shared pager and schema features. // // This routine has no effect on existing database connections. // The shared cache setting effects only future calls to // sqlite3_open(), sqlite3_open16(), or sqlite3_open_v2(). -func Xsqlite3_enable_shared_cache(tls *libc.TLS, enable int32) int32 { /* sqlite3.c:66234:16: */ +func Xsqlite3_enable_shared_cache(tls *libc.TLS, enable int32) int32 { /* sqlite3.c:66244:16: */ Xsqlite3Config.FsharedCacheEnabled = enable return SQLITE_OK } @@ -42110,7 +42120,7 @@ func Xsqlite3_enable_shared_cache(tls *libc.TLS, enable int32) int32 { /* sqlite // (READ_LOCK or WRITE_LOCK) on the table with root-page iTab. Return // SQLITE_OK if the lock may be obtained (by calling // setSharedCacheTableLock()), or SQLITE_LOCKED if not. -func querySharedCacheTableLock(tls *libc.TLS, p uintptr, iTab Pgno, eLock U8) int32 { /* sqlite3.c:66433:12: */ +func querySharedCacheTableLock(tls *libc.TLS, p uintptr, iTab Pgno, eLock U8) int32 { /* sqlite3.c:66443:12: */ var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt var pIter uintptr @@ -42167,7 +42177,7 @@ func querySharedCacheTableLock(tls *libc.TLS, p uintptr, iTab Pgno, eLock U8) in // // SQLITE_OK is returned if the lock is added successfully. SQLITE_NOMEM // is returned if a malloc attempt fails. -func setSharedCacheTableLock(tls *libc.TLS, p uintptr, iTable Pgno, eLock U8) int32 { /* sqlite3.c:66505:12: */ +func setSharedCacheTableLock(tls *libc.TLS, p uintptr, iTable Pgno, eLock U8) int32 { /* sqlite3.c:66515:12: */ var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt var pLock uintptr = uintptr(0) var pIter uintptr @@ -42218,7 +42228,7 @@ func setSharedCacheTableLock(tls *libc.TLS, p uintptr, iTable Pgno, eLock U8) in // This function assumes that Btree p has an open read or write // transaction. If it does not, then the BTS_PENDING flag // may be incorrectly cleared. -func clearAllSharedCacheTableLocks(tls *libc.TLS, p uintptr) { /* sqlite3.c:66569:13: */ +func clearAllSharedCacheTableLocks(tls *libc.TLS, p uintptr) { /* sqlite3.c:66579:13: */ var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt var ppIter uintptr = pBt + 120 @@ -42253,7 +42263,7 @@ func clearAllSharedCacheTableLocks(tls *libc.TLS, p uintptr) { /* sqlite3.c:6656 } // This function changes all write-locks held by Btree p into read-locks. -func downgradeAllSharedCacheTableLocks(tls *libc.TLS, p uintptr) { /* sqlite3.c:66613:13: */ +func downgradeAllSharedCacheTableLocks(tls *libc.TLS, p uintptr) { /* sqlite3.c:66623:13: */ var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt if (*BtShared)(unsafe.Pointer(pBt)).FpWriter == p { var pLock uintptr @@ -42277,7 +42287,7 @@ func downgradeAllSharedCacheTableLocks(tls *libc.TLS, p uintptr) { /* sqlite3.c: // Invalidate the overflow page-list cache for all cursors opened // on the shared btree structure pBt. -func invalidateAllOverflowCache(tls *libc.TLS, pBt uintptr) { /* sqlite3.c:66666:13: */ +func invalidateAllOverflowCache(tls *libc.TLS, pBt uintptr) { /* sqlite3.c:66676:13: */ var p uintptr for p = (*BtShared)(unsafe.Pointer(pBt)).FpCursor; p != 0; p = (*BtCursor)(unsafe.Pointer(p)).FpNext { @@ -42296,7 +42306,7 @@ func invalidateAllOverflowCache(tls *libc.TLS, pBt uintptr) { /* sqlite3.c:66666 // Otherwise, if argument isClearTable is false, then the row with // rowid iRow is being replaced or deleted. In this case invalidate // only those incrblob cursors open on that specific row. -func invalidateIncrblobCursors(tls *libc.TLS, pBtree uintptr, pgnoRoot Pgno, iRow I64, isClearTable int32) { /* sqlite3.c:66688:13: */ +func invalidateIncrblobCursors(tls *libc.TLS, pBtree uintptr, pgnoRoot Pgno, iRow I64, isClearTable int32) { /* sqlite3.c:66698:13: */ var p uintptr (*Btree)(unsafe.Pointer(pBtree)).FhasIncrblobCur = U8(0) @@ -42343,7 +42353,7 @@ func invalidateIncrblobCursors(tls *libc.TLS, pBtree uintptr, pgnoRoot Pgno, iRo // optimization 2 above is omitted if the corresponding bit is already // set in BtShared.pHasContent. The contents of the bitvec are cleared // at the end of every transaction. -func btreeSetHasContent(tls *libc.TLS, pBt uintptr, pgno Pgno) int32 { /* sqlite3.c:66748:12: */ +func btreeSetHasContent(tls *libc.TLS, pBt uintptr, pgno Pgno) int32 { /* sqlite3.c:66758:12: */ var rc int32 = SQLITE_OK if !(int32((*BtShared)(unsafe.Pointer(pBt)).FpHasContent) != 0) { @@ -42363,20 +42373,20 @@ func btreeSetHasContent(tls *libc.TLS, pBt uintptr, pgno Pgno) int32 { /* sqlite // This function is called when a free-list leaf page is removed from the // free-list for reuse. It returns false if it is safe to retrieve the // page from the pager layer with the 'no-content' flag set. True otherwise. -func btreeGetHasContent(tls *libc.TLS, pBt uintptr, pgno Pgno) int32 { /* sqlite3.c:66770:12: */ +func btreeGetHasContent(tls *libc.TLS, pBt uintptr, pgno Pgno) int32 { /* sqlite3.c:66780:12: */ var p uintptr = (*BtShared)(unsafe.Pointer(pBt)).FpHasContent return libc.Bool32(p != 0 && (pgno > Xsqlite3BitvecSize(tls, p) || Xsqlite3BitvecTestNotNull(tls, p, pgno) != 0)) } // Clear (destroy) the BtShared.pHasContent bitvec. This should be // invoked at the conclusion of each write-transaction. -func btreeClearHasContent(tls *libc.TLS, pBt uintptr) { /* sqlite3.c:66779:13: */ +func btreeClearHasContent(tls *libc.TLS, pBt uintptr) { /* sqlite3.c:66789:13: */ Xsqlite3BitvecDestroy(tls, (*BtShared)(unsafe.Pointer(pBt)).FpHasContent) (*BtShared)(unsafe.Pointer(pBt)).FpHasContent = uintptr(0) } // Release all of the apPage[] pages for a cursor. -func btreeReleaseAllCursorPages(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:66787:13: */ +func btreeReleaseAllCursorPages(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:66797:13: */ var i int32 if int32((*BtCursor)(unsafe.Pointer(pCur)).FiPage) >= 0 { for i = 0; i < int32((*BtCursor)(unsafe.Pointer(pCur)).FiPage); i++ { @@ -42398,7 +42408,7 @@ func btreeReleaseAllCursorPages(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:6678 // NULL. If the cursor is open on a non-intkey table, then pCur->pKey is // set to point to a malloced buffer pCur->nKey bytes in size containing // the key. -func saveCursorKey(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:66811:12: */ +func saveCursorKey(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:66821:12: */ var rc int32 = SQLITE_OK if (*BtCursor)(unsafe.Pointer(pCur)).FcurIntKey != 0 { @@ -42435,7 +42445,7 @@ func saveCursorKey(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:66811:12: * // // The caller must ensure that the cursor is valid (has eState==CURSOR_VALID) // prior to calling this routine. -func saveCursorPosition(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:66853:12: */ +func saveCursorPosition(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:66863:12: */ var rc int32 if int32((*BtCursor)(unsafe.Pointer(pCur)).FcurFlags)&BTCF_Pinned != 0 { @@ -42476,7 +42486,7 @@ func saveCursorPosition(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:66853: // Implementation note: This routine merely checks to see if any cursors // need to be saved. It calls out to saveCursorsOnList() in the (unusual) // event that cursors are in need to being saved. -func saveAllCursors(tls *libc.TLS, pBt uintptr, iRoot Pgno, pExcept uintptr) int32 { /* sqlite3.c:66903:12: */ +func saveAllCursors(tls *libc.TLS, pBt uintptr, iRoot Pgno, pExcept uintptr) int32 { /* sqlite3.c:66913:12: */ var p uintptr for p = (*BtShared)(unsafe.Pointer(pBt)).FpCursor; p != 0; p = (*BtCursor)(unsafe.Pointer(p)).FpNext { @@ -42497,7 +42507,7 @@ func saveAllCursors(tls *libc.TLS, pBt uintptr, iRoot Pgno, pExcept uintptr) int // the cursors if and when a cursor is found that actually requires saving. // The common case is that no cursors need to be saved, so this routine is // broken out from its caller to avoid unnecessary stack pointer movement. -func saveCursorsOnList(tls *libc.TLS, p uintptr, iRoot Pgno, pExcept uintptr) int32 { /* sqlite3.c:66920:28: */ +func saveCursorsOnList(tls *libc.TLS, p uintptr, iRoot Pgno, pExcept uintptr) int32 { /* sqlite3.c:66930:28: */ for __ccgo := true; __ccgo; __ccgo = p != 0 { if p != pExcept && (Pgno(0) == iRoot || (*BtCursor)(unsafe.Pointer(p)).FpgnoRoot == iRoot) { if int32((*BtCursor)(unsafe.Pointer(p)).FeState) == CURSOR_VALID || int32((*BtCursor)(unsafe.Pointer(p)).FeState) == CURSOR_SKIPNEXT { @@ -42516,7 +42526,7 @@ func saveCursorsOnList(tls *libc.TLS, p uintptr, iRoot Pgno, pExcept uintptr) in } // Clear the current cursor position. -func Xsqlite3BtreeClearCursor(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:66945:21: */ +func Xsqlite3BtreeClearCursor(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:66955:21: */ Xsqlite3_free(tls, (*BtCursor)(unsafe.Pointer(pCur)).FpKey) (*BtCursor)(unsafe.Pointer(pCur)).FpKey = uintptr(0) @@ -42526,7 +42536,7 @@ func Xsqlite3BtreeClearCursor(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:66945: // In this version of BtreeMoveto, pKey is a packed index record // such as is generated by the OP_MakeRecord opcode. Unpack the // record and then call BtreeMovetoUnpacked() to do the work. -func btreeMoveto(tls *libc.TLS, pCur uintptr, pKey uintptr, nKey I64, bias int32, pRes uintptr) int32 { /* sqlite3.c:66957:12: */ +func btreeMoveto(tls *libc.TLS, pCur uintptr, pKey uintptr, nKey I64, bias int32, pRes uintptr) int32 { /* sqlite3.c:66967:12: */ var rc int32 // Status code var pIdxKey uintptr // Unpacked index key @@ -42539,7 +42549,7 @@ func btreeMoveto(tls *libc.TLS, pCur uintptr, pKey uintptr, nKey I64, bias int32 } Xsqlite3VdbeRecordUnpack(tls, pKeyInfo, int32(nKey), pKey, pIdxKey) if int32((*UnpackedRecord)(unsafe.Pointer(pIdxKey)).FnField) == 0 || int32((*UnpackedRecord)(unsafe.Pointer(pIdxKey)).FnField) > int32((*KeyInfo)(unsafe.Pointer(pKeyInfo)).FnAllField) { - rc = Xsqlite3CorruptError(tls, 66974) + rc = Xsqlite3CorruptError(tls, 66984) } else { rc = Xsqlite3BtreeIndexMoveto(tls, pCur, pIdxKey, pRes) } @@ -42556,7 +42566,7 @@ func btreeMoveto(tls *libc.TLS, pCur uintptr, pKey uintptr, nKey I64, bias int32 // saved position info stored by saveCursorPosition(), so there can be // at most one effective restoreCursorPosition() call after each // saveCursorPosition(). -func btreeRestoreCursorPosition(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:66993:12: */ +func btreeRestoreCursorPosition(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:67003:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -42596,7 +42606,7 @@ func btreeRestoreCursorPosition(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3. // // Use the separate sqlite3BtreeCursorRestore() routine to restore a cursor // back to where it ought to be if this routine returns true. -func Xsqlite3BtreeCursorHasMoved(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:67036:20: */ +func Xsqlite3BtreeCursorHasMoved(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:67046:20: */ return libc.Bool32(CURSOR_VALID != int32(*(*U8)(unsafe.Pointer(pCur)))) } @@ -42604,12 +42614,12 @@ func Xsqlite3BtreeCursorHasMoved(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3 // Return a pointer to a fake BtCursor object that will always answer // false to the sqlite3BtreeCursorHasMoved() routine above. The fake // cursor returned must not be used with any other Btree interface. -func Xsqlite3BtreeFakeValidCursor(tls *libc.TLS) uintptr { /* sqlite3.c:67049:25: */ +func Xsqlite3BtreeFakeValidCursor(tls *libc.TLS) uintptr { /* sqlite3.c:67059:25: */ return uintptr(unsafe.Pointer(&fakeCursor)) } -var fakeCursor U8 = U8(CURSOR_VALID) /* sqlite3.c:67050:13 */ +var fakeCursor U8 = U8(CURSOR_VALID) /* sqlite3.c:67060:13 */ // This routine restores a cursor back to its original position after it // has been moved by some outside activity (such as a btree rebalance or @@ -42622,7 +42632,7 @@ var fakeCursor U8 = U8(CURSOR_VALID) /* sqlite3.c:67050:13 */ // // This routine should only be called for a cursor that just returned // TRUE from sqlite3BtreeCursorHasMoved(). -func Xsqlite3BtreeCursorRestore(tls *libc.TLS, pCur uintptr, pDifferentRow uintptr) int32 { /* sqlite3.c:67068:20: */ +func Xsqlite3BtreeCursorRestore(tls *libc.TLS, pCur uintptr, pDifferentRow uintptr) int32 { /* sqlite3.c:67078:20: */ var rc int32 rc = func() int32 { @@ -42644,7 +42654,7 @@ func Xsqlite3BtreeCursorRestore(tls *libc.TLS, pCur uintptr, pDifferentRow uintp } // Provide flag hints to the cursor. -func Xsqlite3BtreeCursorHintFlags(tls *libc.TLS, pCur uintptr, x uint32) { /* sqlite3.c:67100:21: */ +func Xsqlite3BtreeCursorHintFlags(tls *libc.TLS, pCur uintptr, x uint32) { /* sqlite3.c:67110:21: */ (*BtCursor)(unsafe.Pointer(pCur)).Fhints = U8(x) } @@ -42656,7 +42666,7 @@ func Xsqlite3BtreeCursorHintFlags(tls *libc.TLS, pCur uintptr, x uint32) { /* sq // Return 0 (not a valid page) for pgno==1 since there is // no pointer map associated with page 1. The integrity_check logic // requires that ptrmapPageno(*,1)!=1. -func ptrmapPageno(tls *libc.TLS, pBt uintptr, pgno Pgno) Pgno { /* sqlite3.c:67116:13: */ +func ptrmapPageno(tls *libc.TLS, pBt uintptr, pgno Pgno) Pgno { /* sqlite3.c:67126:13: */ var nPagesPerMapPage int32 var iPtrMap Pgno var ret Pgno @@ -42681,7 +42691,7 @@ func ptrmapPageno(tls *libc.TLS, pBt uintptr, pgno Pgno) Pgno { /* sqlite3.c:671 // If *pRC is initially non-zero (non-SQLITE_OK) then this routine is // a no-op. If an error occurs, the appropriate error code is written // into *pRC. -func ptrmapPut(tls *libc.TLS, pBt uintptr, key Pgno, eType U8, parent Pgno, pRC uintptr) { /* sqlite3.c:67140:13: */ +func ptrmapPut(tls *libc.TLS, pBt uintptr, key Pgno, eType U8, parent Pgno, pRC uintptr) { /* sqlite3.c:67150:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -42704,7 +42714,7 @@ __1: if !(key == Pgno(0)) { goto __2 } - *(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 67155) + *(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 67165) return __2: ; @@ -42723,7 +42733,7 @@ __3: // 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)) = Xsqlite3CorruptError(tls, 67168) + *(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 67178) goto ptrmap_exit __4: ; @@ -42731,7 +42741,7 @@ __4: if !(offset < 0) { goto __5 } - *(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 67173) + *(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 67183) goto ptrmap_exit __5: ; @@ -42762,7 +42772,7 @@ ptrmap_exit: // This routine retrieves the pointer map entry for page 'key', writing // the type and parent page number to *pEType and *pPgno respectively. // An error code is returned if something goes wrong, otherwise SQLITE_OK. -func ptrmapGet(tls *libc.TLS, pBt uintptr, key Pgno, pEType uintptr, pPgno uintptr) int32 { /* sqlite3.c:67199:12: */ +func ptrmapGet(tls *libc.TLS, pBt uintptr, key Pgno, pEType uintptr, pPgno uintptr) int32 { /* sqlite3.c:67209:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -42783,7 +42793,7 @@ func ptrmapGet(tls *libc.TLS, pBt uintptr, key Pgno, pEType uintptr, pPgno uintp offset = int32(Pgno(5) * (key - Pgno(iPtrmap) - Pgno(1))) if offset < 0 { Xsqlite3PagerUnref(tls, *(*uintptr)(unsafe.Pointer(bp /* pDbPage */))) - return Xsqlite3CorruptError(tls, 67218) + return Xsqlite3CorruptError(tls, 67228) } *(*U8)(unsafe.Pointer(pEType)) = *(*U8)(unsafe.Pointer(pPtrmap + uintptr(offset))) @@ -42793,7 +42803,7 @@ func ptrmapGet(tls *libc.TLS, pBt uintptr, key Pgno, pEType uintptr, pPgno uintp Xsqlite3PagerUnref(tls, *(*uintptr)(unsafe.Pointer(bp /* pDbPage */))) if int32(*(*U8)(unsafe.Pointer(pEType))) < 1 || int32(*(*U8)(unsafe.Pointer(pEType))) > 5 { - return Xsqlite3CorruptError(tls, 67226) + return Xsqlite3CorruptError(tls, 67236) } return SQLITE_OK } @@ -42811,7 +42821,7 @@ func ptrmapGet(tls *libc.TLS, pBt uintptr, key Pgno, pEType uintptr, pPgno uintp // btreeParseCellPtrIndex() for the case when the cell does not fit entirely // on a single B-tree page. Make necessary adjustments to the CellInfo // structure. -func btreeParseCellAdjustSizeForOverflow(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintptr) { /* sqlite3.c:67258:29: */ +func btreeParseCellAdjustSizeForOverflow(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintptr) { /* sqlite3.c:67268:29: */ // If the payload will not fit completely on the local page, we have // to decide how much to store locally and how much to spill onto // overflow pages. The strategy is to minimize the amount of unused @@ -42838,7 +42848,7 @@ func btreeParseCellAdjustSizeForOverflow(tls *libc.TLS, pPage uintptr, pCell uin // Given a record with nPayload bytes of payload stored within btree // page pPage, return the number of bytes of payload stored locally. -func btreePayloadToLocal(tls *libc.TLS, pPage uintptr, nPayload I64) int32 { /* sqlite3.c:67293:12: */ +func btreePayloadToLocal(tls *libc.TLS, pPage uintptr, nPayload I64) int32 { /* sqlite3.c:67303:12: */ var maxLocal int32 // Maximum amount of payload held locally maxLocal = int32((*MemPage)(unsafe.Pointer(pPage)).FmaxLocal) if nPayload <= I64(maxLocal) { @@ -42868,7 +42878,7 @@ func btreePayloadToLocal(tls *libc.TLS, pPage uintptr, nPayload I64) int32 { /* // There is also a wrapper function btreeParseCell() that works for // all MemPage types and that references the cell by index rather than // by pointer. -func btreeParseCellPtrNoPayload(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintptr) { /* sqlite3.c:67321:13: */ +func btreeParseCellPtrNoPayload(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintptr) { /* sqlite3.c:67331:13: */ _ = pPage (*CellInfo)(unsafe.Pointer(pInfo)).FnSize = U16(4 + int32(Xsqlite3GetVarint(tls, pCell+4, pInfo))) @@ -42878,7 +42888,7 @@ func btreeParseCellPtrNoPayload(tls *libc.TLS, pPage uintptr, pCell uintptr, pIn return } -func btreeParseCellPtr(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintptr) { /* sqlite3.c:67338:13: */ +func btreeParseCellPtr(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintptr) { /* sqlite3.c:67348:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -42955,7 +42965,7 @@ func btreeParseCellPtr(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintpt } } -func btreeParseCellPtrIndex(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintptr) { /* sqlite3.c:67420:13: */ +func btreeParseCellPtrIndex(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintptr) { /* sqlite3.c:67430:13: */ var pIter uintptr // For scanning through pCell var nPayload U32 // Number of bytes of cell payload @@ -42986,7 +42996,7 @@ func btreeParseCellPtrIndex(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo u } } -func btreeParseCell(tls *libc.TLS, pPage uintptr, iCell int32, pInfo uintptr) { /* sqlite3.c:67457:13: */ +func btreeParseCell(tls *libc.TLS, pPage uintptr, iCell int32, pInfo uintptr) { /* sqlite3.c:67467:13: */ (*struct { f func(*libc.TLS, uintptr, uintptr, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*MemPage)(unsafe.Pointer(pPage)).FxParseCell})).f(tls, pPage, (*MemPage)(unsafe.Pointer(pPage)).FaData+uintptr(int32((*MemPage)(unsafe.Pointer(pPage)).FmaskPage)&(int32(*(*U8)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPage)).FaCellIdx + uintptr(2*iCell))))<<8|int32(*(*U8)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPage)).FaCellIdx + uintptr(2*iCell) + 1))))), pInfo) @@ -43002,7 +43012,7 @@ func btreeParseCell(tls *libc.TLS, pPage uintptr, iCell int32, pInfo uintptr) { // // cellSizePtrNoPayload() => table internal nodes // cellSizePtr() => all index nodes & table leaf nodes -func cellSizePtr(tls *libc.TLS, pPage uintptr, pCell uintptr) U16 { /* sqlite3.c:67477:12: */ +func cellSizePtr(tls *libc.TLS, pPage uintptr, pCell uintptr) U16 { /* sqlite3.c:67487:12: */ var pIter uintptr = pCell + uintptr((*MemPage)(unsafe.Pointer(pPage)).FchildPtrSize) // For looping over bytes of pCell var pEnd uintptr // End mark for a varint var nSize U32 // Size value to return @@ -43043,7 +43053,7 @@ func cellSizePtr(tls *libc.TLS, pPage uintptr, pCell uintptr) U16 { /* sqlite3.c return U16(nSize) } -func cellSizePtrNoPayload(tls *libc.TLS, pPage uintptr, pCell uintptr) U16 { /* sqlite3.c:67525:12: */ +func cellSizePtrNoPayload(tls *libc.TLS, pPage uintptr, pCell uintptr) U16 { /* sqlite3.c:67535:12: */ var pIter uintptr = pCell + uintptr(4) // For looping over bytes of pCell var pEnd uintptr // End mark for a varint @@ -43060,7 +43070,7 @@ func cellSizePtrNoPayload(tls *libc.TLS, pPage uintptr, pCell uintptr) U16 { /* // of pPage. (pSrc and pPager are often the same.) If pCell contains a // pointer to an overflow page, insert an entry into the pointer-map for // the overflow page that will be valid after pCell has been moved to pPage. -func ptrmapPutOvflPtr(tls *libc.TLS, pPage uintptr, pSrc uintptr, pCell uintptr, pRC uintptr) { /* sqlite3.c:67563:13: */ +func ptrmapPutOvflPtr(tls *libc.TLS, pPage uintptr, pSrc uintptr, pCell uintptr, pRC uintptr) { /* sqlite3.c:67573:13: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -43077,7 +43087,7 @@ func ptrmapPutOvflPtr(tls *libc.TLS, pPage uintptr, pSrc uintptr, pCell uintptr, var ovfl Pgno if Uptr((*MemPage)(unsafe.Pointer(pSrc)).FaDataEnd) >= Uptr(pCell) && Uptr((*MemPage)(unsafe.Pointer(pSrc)).FaDataEnd) < Uptr(pCell+uintptr((*CellInfo)(unsafe.Pointer(bp)).FnLocal)) { - *(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 67572) + *(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 67582) return } ovfl = Xsqlite3Get4byte(tls, pCell+uintptr(int32((*CellInfo)(unsafe.Pointer(bp)).FnSize)-4)) @@ -43095,7 +43105,7 @@ func ptrmapPutOvflPtr(tls *libc.TLS, pPage uintptr, pSrc uintptr, pCell uintptr, // b-tree page so that there are no freeblocks or fragment bytes, all // unused bytes are contained in the unallocated space region, and all // cells are packed tightly at the end of the page. -func defragmentPage(tls *libc.TLS, pPage uintptr, nMaxFrag int32) int32 { /* sqlite3.c:67594:12: */ +func defragmentPage(tls *libc.TLS, pPage uintptr, nMaxFrag int32) int32 { /* sqlite3.c:67604:12: */ var i int32 // Loop counter var pc int32 // Address of the i-th cell var hdr int32 // Offset to the page header @@ -43140,7 +43150,7 @@ func defragmentPage(tls *libc.TLS, pPage uintptr, nMaxFrag int32) int32 { /* sql if !(iFree > usableSize-4) { goto __2 } - return Xsqlite3CorruptError(tls, 67631) + return Xsqlite3CorruptError(tls, 67641) __2: ; if !(iFree != 0) { @@ -43150,7 +43160,7 @@ __2: if !(iFree2 > usableSize-4) { goto __4 } - return Xsqlite3CorruptError(tls, 67634) + return Xsqlite3CorruptError(tls, 67644) __4: ; if !(0 == iFree2 || int32(*(*uint8)(unsafe.Pointer(data + uintptr(iFree2)))) == 0 && int32(*(*uint8)(unsafe.Pointer(data + uintptr(iFree2+1)))) == 0) { @@ -43163,7 +43173,7 @@ __4: if !(top >= iFree) { goto __6 } - return Xsqlite3CorruptError(tls, 67642) + return Xsqlite3CorruptError(tls, 67652) __6: ; if !(iFree2 != 0) { @@ -43172,14 +43182,14 @@ __6: if !(iFree+sz > iFree2) { goto __9 } - return Xsqlite3CorruptError(tls, 67645) + return Xsqlite3CorruptError(tls, 67655) __9: ; sz2 = int32(*(*uint8)(unsafe.Pointer(data + uintptr(iFree2+2))))<<8 | int32(*(*uint8)(unsafe.Pointer(data + uintptr(iFree2+2) + 1))) if !(iFree2+sz2 > usableSize) { goto __10 } - return Xsqlite3CorruptError(tls, 67647) + return Xsqlite3CorruptError(tls, 67657) __10: ; libc.Xmemmove(tls, data+uintptr(iFree+sz+sz2), data+uintptr(iFree+sz), uint64(iFree2-(iFree+sz))) @@ -43189,7 +43199,7 @@ __7: if !(iFree+sz > usableSize) { goto __11 } - return Xsqlite3CorruptError(tls, 67651) + return Xsqlite3CorruptError(tls, 67661) __11: ; __8: @@ -43251,7 +43261,7 @@ __18: if !(pc < iCellStart || pc > iCellLast) { goto __21 } - return Xsqlite3CorruptError(tls, 67680) + return Xsqlite3CorruptError(tls, 67690) __21: ; @@ -43262,7 +43272,7 @@ __21: if !(cbrk < iCellStart || pc+size > usableSize) { goto __22 } - return Xsqlite3CorruptError(tls, 67686) + return Xsqlite3CorruptError(tls, 67696) __22: ; @@ -43297,7 +43307,7 @@ defragment_out: if !(int32(*(*uint8)(unsafe.Pointer(data + uintptr(hdr+7))))+cbrk-iCellFirst != (*MemPage)(unsafe.Pointer(pPage)).FnFree) { goto __25 } - return Xsqlite3CorruptError(tls, 67705) + return Xsqlite3CorruptError(tls, 67715) __25: ; @@ -43322,7 +43332,7 @@ __25: // Slots on the free list that are between 1 and 3 bytes larger than nByte // will be ignored if adding the extra space to the fragmentation count // causes the fragmentation count to exceed 60. -func pageFindSlot(tls *libc.TLS, pPg uintptr, nByte int32, pRc uintptr) uintptr { /* sqlite3.c:67730:11: */ +func pageFindSlot(tls *libc.TLS, pPg uintptr, nByte int32, pRc uintptr) uintptr { /* sqlite3.c:67740:11: */ var hdr int32 = int32((*MemPage)(unsafe.Pointer(pPg)).FhdrOffset) // Offset to page header var aData uintptr = (*MemPage)(unsafe.Pointer(pPg)).FaData // Page data var iAddr int32 = hdr + 1 // Address of ptr to pc @@ -43351,7 +43361,7 @@ func pageFindSlot(tls *libc.TLS, pPg uintptr, nByte int32, pRc uintptr) uintptr *(*U8)(unsafe.Pointer(aData + uintptr(hdr+7))) += U8(int32(U8(x))) } else if x+pc > maxPC { // This slot extends off the end of the usable part of the page - *(*int32)(unsafe.Pointer(pRc)) = Xsqlite3CorruptError(tls, 67759) + *(*int32)(unsafe.Pointer(pRc)) = Xsqlite3CorruptError(tls, 67769) return uintptr(0) } else { // The slot remains on the free-list. Reduce its size to account @@ -43366,14 +43376,14 @@ func pageFindSlot(tls *libc.TLS, pPg uintptr, nByte int32, pRc uintptr) uintptr if pc <= iAddr+size { if pc != 0 { // The next slot in the chain is not past the end of the current slot - *(*int32)(unsafe.Pointer(pRc)) = Xsqlite3CorruptError(tls, 67773) + *(*int32)(unsafe.Pointer(pRc)) = Xsqlite3CorruptError(tls, 67783) } return uintptr(0) } } if pc > maxPC+nByte-4 { // The free slot chain extends off the end of the page - *(*int32)(unsafe.Pointer(pRc)) = Xsqlite3CorruptError(tls, 67780) + *(*int32)(unsafe.Pointer(pRc)) = Xsqlite3CorruptError(tls, 67790) } return uintptr(0) } @@ -43389,7 +43399,7 @@ func pageFindSlot(tls *libc.TLS, pPg uintptr, nByte int32, pRc uintptr) uintptr // the first two bytes past the cell pointer area since presumably this // allocation is being made in order to insert a new cell, so we will // also end up needing a new cell pointer. -func allocateSpace(tls *libc.TLS, pPage uintptr, nByte int32, pIdx uintptr) int32 { /* sqlite3.c:67798:12: */ +func allocateSpace(tls *libc.TLS, pPage uintptr, nByte int32, pIdx uintptr) int32 { /* sqlite3.c:67808:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -43414,7 +43424,7 @@ func allocateSpace(tls *libc.TLS, pPage uintptr, nByte int32, pIdx uintptr) int3 if top == 0 && (*BtShared)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize == U32(65536) { top = 65536 } else { - return Xsqlite3CorruptError(tls, 67827) + return Xsqlite3CorruptError(tls, 67837) } } @@ -43429,7 +43439,7 @@ func allocateSpace(tls *libc.TLS, pPage uintptr, nByte int32, pIdx uintptr) int3 *(*int32)(unsafe.Pointer(pIdx)) = libc.AssignInt32(&g2, int32((int64(pSpace)-int64(data))/1)) if g2 <= gap { - return Xsqlite3CorruptError(tls, 67845) + return Xsqlite3CorruptError(tls, 67855) } else { return SQLITE_OK } @@ -43480,7 +43490,7 @@ func allocateSpace(tls *libc.TLS, pPage uintptr, nByte int32, pIdx uintptr) int3 // does it detect cells or freeblocks that encrouch into the reserved bytes // at the end of the page. So do additional corruption checks inside this // routine and return SQLITE_CORRUPT if any problems are found. -func freeSpace(tls *libc.TLS, pPage uintptr, iStart U16, iSize U16) int32 { /* sqlite3.c:67894:12: */ +func freeSpace(tls *libc.TLS, pPage uintptr, iStart U16, iSize U16) int32 { /* sqlite3.c:67904:12: */ var iPtr U16 // Address of ptr to next freeblock var iFreeBlk U16 // Address of the next freeblock var hdr U8 // Page header size. 0 or 100 @@ -43504,12 +43514,12 @@ func freeSpace(tls *libc.TLS, pPage uintptr, iStart U16, iSize U16) int32 { /* s if int32(iFreeBlk) == 0 { break } // TH3: corrupt082.100 - return Xsqlite3CorruptError(tls, 67923) + return Xsqlite3CorruptError(tls, 67933) } iPtr = iFreeBlk } if U32(iFreeBlk) > (*BtShared)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize-U32(4) { // TH3: corrupt081.100 - return Xsqlite3CorruptError(tls, 67928) + return Xsqlite3CorruptError(tls, 67938) } // At this point: @@ -43520,11 +43530,11 @@ func freeSpace(tls *libc.TLS, pPage uintptr, iStart U16, iSize U16) int32 { /* s if iFreeBlk != 0 && iEnd+U32(3) >= U32(iFreeBlk) { nFrag = U8(U32(iFreeBlk) - iEnd) if iEnd > U32(iFreeBlk) { - return Xsqlite3CorruptError(tls, 67940) + return Xsqlite3CorruptError(tls, 67950) } iEnd = U32(int32(iFreeBlk) + (int32(*(*uint8)(unsafe.Pointer(data + uintptr(int32(iFreeBlk)+2))))<<8 | int32(*(*uint8)(unsafe.Pointer(data + uintptr(int32(iFreeBlk)+2) + 1))))) if iEnd > (*BtShared)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize { - return Xsqlite3CorruptError(tls, 67943) + return Xsqlite3CorruptError(tls, 67953) } iSize = U16(iEnd - U32(iStart)) iFreeBlk = U16(int32(*(*uint8)(unsafe.Pointer(data + uintptr(iFreeBlk))))<<8 | int32(*(*uint8)(unsafe.Pointer(data + uintptr(iFreeBlk) + 1)))) @@ -43537,7 +43547,7 @@ func freeSpace(tls *libc.TLS, pPage uintptr, iStart U16, iSize U16) int32 { /* s var iPtrEnd int32 = int32(iPtr) + (int32(*(*uint8)(unsafe.Pointer(data + uintptr(int32(iPtr)+2))))<<8 | int32(*(*uint8)(unsafe.Pointer(data + uintptr(int32(iPtr)+2) + 1)))) if iPtrEnd+3 >= int32(iStart) { if iPtrEnd > int32(iStart) { - return Xsqlite3CorruptError(tls, 67956) + return Xsqlite3CorruptError(tls, 67966) } nFrag = U8(int32(nFrag) + (int32(iStart) - iPtrEnd)) iSize = U16(iEnd - U32(iPtr)) @@ -43545,7 +43555,7 @@ func freeSpace(tls *libc.TLS, pPage uintptr, iStart U16, iSize U16) int32 { /* s } } if int32(nFrag) > int32(*(*uint8)(unsafe.Pointer(data + uintptr(int32(hdr)+7)))) { - return Xsqlite3CorruptError(tls, 67962) + return Xsqlite3CorruptError(tls, 67972) } *(*uint8)(unsafe.Pointer(data + uintptr(int32(hdr)+7))) -= uint8(int32(nFrag)) } @@ -43555,10 +43565,10 @@ func freeSpace(tls *libc.TLS, pPage uintptr, iStart U16, iSize U16) int32 { /* s // so just extend the cell content area rather than create another // freelist entry if int32(iStart) < int32(x) { - return Xsqlite3CorruptError(tls, 67970) + return Xsqlite3CorruptError(tls, 67980) } if int32(iPtr) != int32(hdr)+1 { - return Xsqlite3CorruptError(tls, 67971) + return Xsqlite3CorruptError(tls, 67981) } *(*uint8)(unsafe.Pointer(data + uintptr(int32(hdr)+1))) = U8(int32(iFreeBlk) >> 8) *(*uint8)(unsafe.Pointer(data + uintptr(int32(hdr)+1) + 1)) = U8(iFreeBlk) @@ -43592,7 +43602,7 @@ func freeSpace(tls *libc.TLS, pPage uintptr, iStart U16, iSize U16) int32 { /* s // PTF_ZERODATA | PTF_LEAF // PTF_LEAFDATA | PTF_INTKEY // PTF_LEAFDATA | PTF_INTKEY | PTF_LEAF -func decodeFlags(tls *libc.TLS, pPage uintptr, flagByte int32) int32 { /* sqlite3.c:68001:12: */ +func decodeFlags(tls *libc.TLS, pPage uintptr, flagByte int32) int32 { /* sqlite3.c:68011:12: */ var pBt uintptr // A copy of pPage->pBt (*MemPage)(unsafe.Pointer(pPage)).Fleaf = U8(flagByte >> 3) @@ -43643,7 +43653,7 @@ func decodeFlags(tls *libc.TLS, pPage uintptr, flagByte int32) int32 { /* sqlite } else { // EVIDENCE-OF: R-47608-56469 Any other value for the b-tree page type is // an error. - return Xsqlite3CorruptError(tls, 68044) + return Xsqlite3CorruptError(tls, 68054) } (*MemPage)(unsafe.Pointer(pPage)).Fmax1bytePayload = (*BtShared)(unsafe.Pointer(pBt)).Fmax1bytePayload return SQLITE_OK @@ -43651,7 +43661,7 @@ func decodeFlags(tls *libc.TLS, pPage uintptr, flagByte int32) int32 { /* sqlite // Compute the amount of freespace on the page. In other words, fill // in the pPage->nFree field. -func btreeComputeFreeSpace(tls *libc.TLS, pPage uintptr) int32 { /* sqlite3.c:68054:12: */ +func btreeComputeFreeSpace(tls *libc.TLS, pPage uintptr) int32 { /* sqlite3.c:68064:12: */ var pc int32 // Address of a freeblock within pPage->aData[] var hdr U8 // Offset to beginning of page header var data uintptr // Equal to pPage->aData @@ -43683,12 +43693,12 @@ func btreeComputeFreeSpace(tls *libc.TLS, pPage uintptr) int32 { /* sqlite3.c:68 if pc < top { // 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 Xsqlite3CorruptError(tls, 68095) + return Xsqlite3CorruptError(tls, 68105) } for 1 != 0 { if pc > iCellLast { // Freeblock off the end of the page - return Xsqlite3CorruptError(tls, 68100) + return Xsqlite3CorruptError(tls, 68110) } next = U32(int32(*(*U8)(unsafe.Pointer(data + uintptr(pc))))<<8 | int32(*(*U8)(unsafe.Pointer(data + uintptr(pc) + 1)))) size = U32(int32(*(*U8)(unsafe.Pointer(data + uintptr(pc+2))))<<8 | int32(*(*U8)(unsafe.Pointer(data + uintptr(pc+2) + 1)))) @@ -43700,11 +43710,11 @@ func btreeComputeFreeSpace(tls *libc.TLS, pPage uintptr) int32 { /* sqlite3.c:68 } if next > U32(0) { // Freeblock not in ascending order - return Xsqlite3CorruptError(tls, 68110) + return Xsqlite3CorruptError(tls, 68120) } if U32(pc)+size > uint32(usableSize) { // Last freeblock extends past page end - return Xsqlite3CorruptError(tls, 68114) + return Xsqlite3CorruptError(tls, 68124) } } @@ -43715,7 +43725,7 @@ func btreeComputeFreeSpace(tls *libc.TLS, pPage uintptr) int32 { /* sqlite3.c:68 // serves to verify that the offset to the start of the cell-content // area, according to the page header, lies within the page. if nFree > usableSize || nFree < iCellFirst { - return Xsqlite3CorruptError(tls, 68126) + return Xsqlite3CorruptError(tls, 68136) } (*MemPage)(unsafe.Pointer(pPage)).FnFree = int32(U16(nFree - iCellFirst)) return SQLITE_OK @@ -43723,7 +43733,7 @@ func btreeComputeFreeSpace(tls *libc.TLS, pPage uintptr) int32 { /* sqlite3.c:68 // Do additional sanity check after btreeInitPage() if // PRAGMA cell_size_check=ON -func btreeCellSizeCheck(tls *libc.TLS, pPage uintptr) int32 { /* sqlite3.c:68136:28: */ +func btreeCellSizeCheck(tls *libc.TLS, pPage uintptr) int32 { /* sqlite3.c:68146:28: */ var iCellFirst int32 // First allowable cell or freeblock offset var iCellLast int32 // Last possible cell or freeblock offset var i int32 // Index into the cell pointer array @@ -43745,14 +43755,14 @@ func btreeCellSizeCheck(tls *libc.TLS, pPage uintptr) int32 { /* sqlite3.c:68136 pc = int32(*(*U8)(unsafe.Pointer(data + uintptr(cellOffset+i*2))))<<8 | int32(*(*U8)(unsafe.Pointer(data + uintptr(cellOffset+i*2) + 1))) if pc < iCellFirst || pc > iCellLast { - return Xsqlite3CorruptError(tls, 68157) + return Xsqlite3CorruptError(tls, 68167) } sz = int32((*struct { f func(*libc.TLS, uintptr, uintptr) U16 })(unsafe.Pointer(&struct{ uintptr }{(*MemPage)(unsafe.Pointer(pPage)).FxCellSize})).f(tls, pPage, data+uintptr(pc))) if pc+sz > usableSize { - return Xsqlite3CorruptError(tls, 68162) + return Xsqlite3CorruptError(tls, 68172) } } return SQLITE_OK @@ -43765,7 +43775,7 @@ func btreeCellSizeCheck(tls *libc.TLS, pPage uintptr) int32 { /* sqlite3.c:68136 // SQLITE_CORRUPT. Note that a return of SQLITE_OK does not // guarantee that the page is well-formed. It only shows that // we failed to detect any corruption. -func btreeInitPage(tls *libc.TLS, pPage uintptr) int32 { /* sqlite3.c:68177:12: */ +func btreeInitPage(tls *libc.TLS, pPage uintptr) int32 { /* sqlite3.c:68187:12: */ var data uintptr // Equal to pPage->aData var pBt uintptr // The main btree structure @@ -43774,7 +43784,7 @@ func btreeInitPage(tls *libc.TLS, pPage uintptr) int32 { /* sqlite3.c:68177:12: // EVIDENCE-OF: R-28594-02890 The one-byte flag at offset 0 indicating // the b-tree page type. if decodeFlags(tls, pPage, int32(*(*U8)(unsafe.Pointer(data)))) != 0 { - return Xsqlite3CorruptError(tls, 68194) + return Xsqlite3CorruptError(tls, 68204) } (*MemPage)(unsafe.Pointer(pPage)).FmaskPage = U16((*BtShared)(unsafe.Pointer(pBt)).FpageSize - U32(1)) @@ -43788,7 +43798,7 @@ func btreeInitPage(tls *libc.TLS, pPage uintptr) int32 { /* sqlite3.c:68177:12: (*MemPage)(unsafe.Pointer(pPage)).FnCell = U16(int32(*(*U8)(unsafe.Pointer(data + 3)))<<8 | int32(*(*U8)(unsafe.Pointer(data + 3 + 1)))) if U32((*MemPage)(unsafe.Pointer(pPage)).FnCell) > ((*BtShared)(unsafe.Pointer(pBt)).FpageSize-U32(8))/U32(6) { // To many cells for a single page. The page must be corrupt - return Xsqlite3CorruptError(tls, 68208) + return Xsqlite3CorruptError(tls, 68218) } // EVIDENCE-OF: R-24089-57979 If a page contains no cells (which is only @@ -43806,7 +43816,7 @@ func btreeInitPage(tls *libc.TLS, pPage uintptr) int32 { /* sqlite3.c:68177:12: // Set up a raw page so that it looks like a database page holding // no entries. -func zeroPage(tls *libc.TLS, pPage uintptr, flags int32) { /* sqlite3.c:68230:13: */ +func zeroPage(tls *libc.TLS, pPage uintptr, flags int32) { /* sqlite3.c:68240:13: */ var data uintptr = (*MemPage)(unsafe.Pointer(pPage)).FaData var pBt uintptr = (*MemPage)(unsafe.Pointer(pPage)).FpBt var hdr U8 = (*MemPage)(unsafe.Pointer(pPage)).FhdrOffset @@ -43841,7 +43851,7 @@ func zeroPage(tls *libc.TLS, pPage uintptr, flags int32) { /* sqlite3.c:68230:13 // Convert a DbPage obtained from the pager into a MemPage used by // the btree layer. -func btreePageFromDbPage(tls *libc.TLS, pDbPage uintptr, pgno Pgno, pBt uintptr) uintptr { /* sqlite3.c:68267:16: */ +func btreePageFromDbPage(tls *libc.TLS, pDbPage uintptr, pgno Pgno, pBt uintptr) uintptr { /* sqlite3.c:68277:16: */ var pPage uintptr = Xsqlite3PagerGetExtra(tls, pDbPage) if pgno != (*MemPage)(unsafe.Pointer(pPage)).Fpgno { (*MemPage)(unsafe.Pointer(pPage)).FaData = Xsqlite3PagerGetData(tls, pDbPage) @@ -43868,7 +43878,7 @@ func btreePageFromDbPage(tls *libc.TLS, pDbPage uintptr, pgno Pgno, pBt uintptr) // If in the future we call sqlite3PagerWrite() on this page, that // means we have started to be concerned about content and the disk // read should occur at that point. -func btreeGetPage(tls *libc.TLS, pBt uintptr, pgno Pgno, ppPage uintptr, flags int32) int32 { /* sqlite3.c:68291:12: */ +func btreeGetPage(tls *libc.TLS, pBt uintptr, pgno Pgno, ppPage uintptr, flags int32) int32 { /* sqlite3.c:68301:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -43886,7 +43896,7 @@ func btreeGetPage(tls *libc.TLS, pBt uintptr, pgno Pgno, ppPage uintptr, flags i // Retrieve a page from the pager cache. If the requested page is not // already in the pager cache return NULL. Initialize the MemPage.pBt and // MemPage.aData elements if needed. -func btreePageLookup(tls *libc.TLS, pBt uintptr, pgno Pgno) uintptr { /* sqlite3.c:68313:16: */ +func btreePageLookup(tls *libc.TLS, pBt uintptr, pgno Pgno) uintptr { /* sqlite3.c:68323:16: */ var pDbPage uintptr pDbPage = Xsqlite3PagerLookup(tls, (*BtShared)(unsafe.Pointer(pBt)).FpPager, pgno) @@ -43898,11 +43908,11 @@ func btreePageLookup(tls *libc.TLS, pBt uintptr, pgno Pgno) uintptr { /* sqlite3 // Return the size of the database file in pages. If there is any kind of // error, return ((unsigned int)-1). -func btreePagecount(tls *libc.TLS, pBt uintptr) Pgno { /* sqlite3.c:68327:13: */ +func btreePagecount(tls *libc.TLS, pBt uintptr) Pgno { /* sqlite3.c:68337:13: */ return (*BtShared)(unsafe.Pointer(pBt)).FnPage } -func Xsqlite3BtreeLastPage(tls *libc.TLS, p uintptr) Pgno { /* sqlite3.c:68330:21: */ +func Xsqlite3BtreeLastPage(tls *libc.TLS, p uintptr) Pgno { /* sqlite3.c:68340:21: */ return btreePagecount(tls, (*Btree)(unsafe.Pointer(p)).FpBt) } @@ -43918,7 +43928,7 @@ func Xsqlite3BtreeLastPage(tls *libc.TLS, p uintptr) Pgno { /* sqlite3.c:68330:2 // // If an error occurs, then *ppPage is undefined. It // may remain unchanged, or it may be set to an invalid value. -func getAndInitPage(tls *libc.TLS, pBt uintptr, pgno Pgno, ppPage uintptr, pCur uintptr, bReadOnly int32) int32 { /* sqlite3.c:68348:12: */ +func getAndInitPage(tls *libc.TLS, pBt uintptr, pgno Pgno, ppPage uintptr, pCur uintptr, bReadOnly int32) int32 { /* sqlite3.c:68358:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -43928,7 +43938,7 @@ func getAndInitPage(tls *libc.TLS, pBt uintptr, pgno Pgno, ppPage uintptr, pCur if !(pgno > btreePagecount(tls, pBt)) { goto __1 } - rc = Xsqlite3CorruptError(tls, 68363) + rc = Xsqlite3CorruptError(tls, 68373) goto getAndInitPage_error1 __1: ; @@ -43959,7 +43969,7 @@ __3: if !(pCur != 0 && (int32((*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(ppPage)))).FnCell) < 1 || int32((*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(ppPage)))).FintKey) != int32((*BtCursor)(unsafe.Pointer(pCur)).FcurIntKey))) { goto __5 } - rc = Xsqlite3CorruptError(tls, 68384) + rc = Xsqlite3CorruptError(tls, 68394) goto getAndInitPage_error2 __5: ; @@ -43983,18 +43993,18 @@ __6: // call to btreeGetPage. // // Page1 is a special case and must be released using releasePageOne(). -func releasePageNotNull(tls *libc.TLS, pPage uintptr) { /* sqlite3.c:68407:13: */ +func releasePageNotNull(tls *libc.TLS, pPage uintptr) { /* sqlite3.c:68417:13: */ Xsqlite3PagerUnrefNotNull(tls, (*MemPage)(unsafe.Pointer(pPage)).FpDbPage) } -func releasePage(tls *libc.TLS, pPage uintptr) { /* sqlite3.c:68416:13: */ +func releasePage(tls *libc.TLS, pPage uintptr) { /* sqlite3.c:68426:13: */ if pPage != 0 { releasePageNotNull(tls, pPage) } } -func releasePageOne(tls *libc.TLS, pPage uintptr) { /* sqlite3.c:68419:13: */ +func releasePageOne(tls *libc.TLS, pPage uintptr) { /* sqlite3.c:68429:13: */ Xsqlite3PagerUnrefPageOne(tls, (*MemPage)(unsafe.Pointer(pPage)).FpDbPage) } @@ -44006,13 +44016,13 @@ func releasePageOne(tls *libc.TLS, pPage uintptr) { /* sqlite3.c:68419:13: */ // * If the page is already in use for some other purpose, immediately // release it and return an SQLITE_CURRUPT error. // * Make sure the isInit flag is clear -func btreeGetUnusedPage(tls *libc.TLS, pBt uintptr, pgno Pgno, ppPage uintptr, flags int32) int32 { /* sqlite3.c:68439:12: */ +func btreeGetUnusedPage(tls *libc.TLS, pBt uintptr, pgno Pgno, ppPage uintptr, flags int32) int32 { /* sqlite3.c:68449:12: */ var rc int32 = btreeGetPage(tls, pBt, pgno, ppPage, flags) if rc == SQLITE_OK { if Xsqlite3PagerPageRefcount(tls, (*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(ppPage)))).FpDbPage) > 1 { releasePage(tls, *(*uintptr)(unsafe.Pointer(ppPage))) *(*uintptr)(unsafe.Pointer(ppPage)) = uintptr(0) - return Xsqlite3CorruptError(tls, 68450) + return Xsqlite3CorruptError(tls, 68460) } (*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(ppPage)))).FisInit = U8(0) } else { @@ -44027,7 +44037,7 @@ func btreeGetUnusedPage(tls *libc.TLS, pBt uintptr, pgno Pgno, ppPage uintptr, f // // This routine needs to reset the extra data section at the end of the // page to agree with the restored data. -func pageReinit(tls *libc.TLS, pData uintptr) { /* sqlite3.c:68468:13: */ +func pageReinit(tls *libc.TLS, pData uintptr) { /* sqlite3.c:68478:13: */ var pPage uintptr pPage = Xsqlite3PagerGetExtra(tls, pData) @@ -44047,7 +44057,7 @@ func pageReinit(tls *libc.TLS, pData uintptr) { /* sqlite3.c:68468:13: */ } // Invoke the busy handler for a btree. -func btreeInvokeBusyHandler(tls *libc.TLS, pArg uintptr) int32 { /* sqlite3.c:68490:12: */ +func btreeInvokeBusyHandler(tls *libc.TLS, pArg uintptr) int32 { /* sqlite3.c:68500:12: */ var pBt uintptr = pArg return Xsqlite3InvokeBusyHandler(tls, (*BtShared)(unsafe.Pointer(pBt)).Fdb+664) @@ -44072,7 +44082,7 @@ func btreeInvokeBusyHandler(tls *libc.TLS, pArg uintptr) int32 { /* sqlite3.c:68 // SQLITE_CONSTRAINT error. We cannot allow two or more BtShared // objects in the same database connection since doing so will lead // to problems with locking. -func Xsqlite3BtreeOpen(tls *libc.TLS, pVfs uintptr, zFilename uintptr, db uintptr, ppBtree uintptr, flags int32, vfsFlags int32) int32 { /* sqlite3.c:68518:20: */ +func Xsqlite3BtreeOpen(tls *libc.TLS, pVfs uintptr, zFilename uintptr, db uintptr, ppBtree uintptr, flags int32, vfsFlags int32) int32 { /* sqlite3.c:68528:20: */ bp := tls.Alloc(100) defer tls.Free(100) @@ -44493,7 +44503,7 @@ __49: // remove the BtShared structure from the sharing list. Return // true if the BtShared.nRef counter reaches zero and return // false if it is still positive. -func removeFromSharingList(tls *libc.TLS, pBt uintptr) int32 { /* sqlite3.c:68816:12: */ +func removeFromSharingList(tls *libc.TLS, pBt uintptr) int32 { /* sqlite3.c:68826:12: */ var pMainMtx uintptr var pList uintptr var removed int32 = 0 @@ -44525,7 +44535,7 @@ func removeFromSharingList(tls *libc.TLS, pBt uintptr) int32 { /* sqlite3.c:6881 // Make sure pBt->pTmpSpace points to an allocation of // MX_CELL_SIZE(pBt) bytes with a 4-byte prefix for a left-child // pointer. -func allocateTempSpace(tls *libc.TLS, pBt uintptr) int32 { /* sqlite3.c:68855:28: */ +func allocateTempSpace(tls *libc.TLS, pBt uintptr) int32 { /* sqlite3.c:68865:28: */ // This routine is called only by btreeCursor() when allocating the // first write cursor for the BtShared object @@ -44558,7 +44568,7 @@ func allocateTempSpace(tls *libc.TLS, pBt uintptr) int32 { /* sqlite3.c:68855:28 } // Free the pBt->pTmpSpace allocation -func freeTempSpace(tls *libc.TLS, pBt uintptr) { /* sqlite3.c:68892:13: */ +func freeTempSpace(tls *libc.TLS, pBt uintptr) { /* sqlite3.c:68902:13: */ if (*BtShared)(unsafe.Pointer(pBt)).FpTmpSpace != 0 { *(*uintptr)(unsafe.Pointer(pBt + 136)) -= uintptr(4) Xsqlite3PageFree(tls, (*BtShared)(unsafe.Pointer(pBt)).FpTmpSpace) @@ -44567,7 +44577,7 @@ func freeTempSpace(tls *libc.TLS, pBt uintptr) { /* sqlite3.c:68892:13: */ } // Close an open database and invalidate all cursors. -func Xsqlite3BtreeClose(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:68903:20: */ +func Xsqlite3BtreeClose(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:68913:20: */ var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt // Close all cursors opened via this handle. @@ -44617,7 +44627,7 @@ func Xsqlite3BtreeClose(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:68903:20: // pages in the cache exceeds this soft limit. But the size of the // cache is allowed to grow larger than this limit if it contains // dirty pages or pages still in active use. -func Xsqlite3BtreeSetCacheSize(tls *libc.TLS, p uintptr, mxPage int32) int32 { /* sqlite3.c:68969:20: */ +func Xsqlite3BtreeSetCacheSize(tls *libc.TLS, p uintptr, mxPage int32) int32 { /* sqlite3.c:68979:20: */ var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt Xsqlite3BtreeEnter(tls, p) @@ -44634,7 +44644,7 @@ func Xsqlite3BtreeSetCacheSize(tls *libc.TLS, p uintptr, mxPage int32) int32 { / // The value returned is the current spill size. If zero is passed // as an argument, no changes are made to the spill size setting, so // using mxPage of 0 is a way to query the current spill size. -func Xsqlite3BtreeSetSpillSize(tls *libc.TLS, p uintptr, mxPage int32) int32 { /* sqlite3.c:68988:20: */ +func Xsqlite3BtreeSetSpillSize(tls *libc.TLS, p uintptr, mxPage int32) int32 { /* sqlite3.c:68998:20: */ var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt var res int32 @@ -44646,7 +44656,7 @@ func Xsqlite3BtreeSetSpillSize(tls *libc.TLS, p uintptr, mxPage int32) int32 { / // Change the limit on the amount of the database file that may be // memory mapped. -func Xsqlite3BtreeSetMmapLimit(tls *libc.TLS, p uintptr, szMmap Sqlite3_int64) int32 { /* sqlite3.c:69003:20: */ +func Xsqlite3BtreeSetMmapLimit(tls *libc.TLS, p uintptr, szMmap Sqlite3_int64) int32 { /* sqlite3.c:69013:20: */ var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt Xsqlite3BtreeEnter(tls, p) @@ -44661,7 +44671,7 @@ func Xsqlite3BtreeSetMmapLimit(tls *libc.TLS, p uintptr, szMmap Sqlite3_int64) i // there is a high probability of damage) Level 2 is the default. There // is a very low but non-zero probability of damage. Level 3 reduces the // probability of damage to near zero but with a write performance reduction. -func Xsqlite3BtreeSetPagerFlags(tls *libc.TLS, p uintptr, pgFlags uint32) int32 { /* sqlite3.c:69022:20: */ +func Xsqlite3BtreeSetPagerFlags(tls *libc.TLS, p uintptr, pgFlags uint32) int32 { /* sqlite3.c:69032:20: */ var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt Xsqlite3BtreeEnter(tls, p) @@ -44688,7 +44698,7 @@ func Xsqlite3BtreeSetPagerFlags(tls *libc.TLS, p uintptr, pgFlags uint32) int32 // // If the iFix!=0 then the BTS_PAGESIZE_FIXED flag is set so that the page size // and autovacuum mode can no longer be changed. -func Xsqlite3BtreeSetPageSize(tls *libc.TLS, p uintptr, pageSize int32, nReserve int32, iFix int32) int32 { /* sqlite3.c:69055:20: */ +func Xsqlite3BtreeSetPageSize(tls *libc.TLS, p uintptr, pageSize int32, nReserve int32, iFix int32) int32 { /* sqlite3.c:69065:20: */ var rc int32 = SQLITE_OK var x int32 var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt @@ -44722,7 +44732,7 @@ func Xsqlite3BtreeSetPageSize(tls *libc.TLS, p uintptr, pageSize int32, nReserve } // Return the currently defined page size -func Xsqlite3BtreeGetPageSize(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:69087:20: */ +func Xsqlite3BtreeGetPageSize(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:69097:20: */ return int32((*BtShared)(unsafe.Pointer((*Btree)(unsafe.Pointer(p)).FpBt)).FpageSize) } @@ -44735,7 +44745,7 @@ func Xsqlite3BtreeGetPageSize(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:690 // database handle that owns *p is not. In this case if sqlite3BtreeEnter() // were to be called, it might collide with some other operation on the // database handle that owns *p, causing undefined behavior. -func Xsqlite3BtreeGetReserveNoMutex(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:69102:20: */ +func Xsqlite3BtreeGetReserveNoMutex(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:69112:20: */ var n int32 n = int32((*BtShared)(unsafe.Pointer((*Btree)(unsafe.Pointer(p)).FpBt)).FpageSize - (*BtShared)(unsafe.Pointer((*Btree)(unsafe.Pointer(p)).FpBt)).FusableSize) @@ -44749,7 +44759,7 @@ func Xsqlite3BtreeGetReserveNoMutex(tls *libc.TLS, p uintptr) int32 { /* sqlite3 // The value returned is the larger of the current reserve size and // the latest reserve size requested by SQLITE_FILECTRL_RESERVE_BYTES. // The amount of reserve can only grow - never shrink. -func Xsqlite3BtreeGetRequestedReserve(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:69118:20: */ +func Xsqlite3BtreeGetRequestedReserve(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:69128:20: */ var n1 int32 var n2 int32 Xsqlite3BtreeEnter(tls, p) @@ -44765,7 +44775,7 @@ func Xsqlite3BtreeGetRequestedReserve(tls *libc.TLS, p uintptr) int32 { /* sqlit // Set the maximum page count for a database if mxPage is positive. // No changes are made if mxPage is 0 or negative. // Regardless of the value of mxPage, return the maximum page count. -func Xsqlite3BtreeMaxPageCount(tls *libc.TLS, p uintptr, mxPage Pgno) Pgno { /* sqlite3.c:69133:21: */ +func Xsqlite3BtreeMaxPageCount(tls *libc.TLS, p uintptr, mxPage Pgno) Pgno { /* sqlite3.c:69143:21: */ var n Pgno Xsqlite3BtreeEnter(tls, p) n = Xsqlite3PagerMaxPageCount(tls, (*BtShared)(unsafe.Pointer((*Btree)(unsafe.Pointer(p)).FpBt)).FpPager, mxPage) @@ -44789,7 +44799,7 @@ func Xsqlite3BtreeMaxPageCount(tls *libc.TLS, p uintptr, mxPage Pgno) Pgno { /* // With BTS_SECURE_DELETE, operation is like BTS_OVERWRITE with the addition // that freelist leaf pages are written back into the database, increasing // the amount of disk I/O. -func Xsqlite3BtreeSecureDelete(tls *libc.TLS, p uintptr, newFlag int32) int32 { /* sqlite3.c:69159:20: */ +func Xsqlite3BtreeSecureDelete(tls *libc.TLS, p uintptr, newFlag int32) int32 { /* sqlite3.c:69169:20: */ var b int32 if p == uintptr(0) { return 0 @@ -44809,7 +44819,7 @@ func Xsqlite3BtreeSecureDelete(tls *libc.TLS, p uintptr, newFlag int32) int32 { // parameter is non-zero, then auto-vacuum mode is enabled. If zero, it // is disabled. The default value for the auto-vacuum property is // determined by the SQLITE_DEFAULT_AUTOVACUUM macro. -func Xsqlite3BtreeSetAutoVacuum(tls *libc.TLS, p uintptr, autoVacuum int32) int32 { /* sqlite3.c:69180:20: */ +func Xsqlite3BtreeSetAutoVacuum(tls *libc.TLS, p uintptr, autoVacuum int32) int32 { /* sqlite3.c:69190:20: */ var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt var rc int32 = SQLITE_OK var av U8 = U8(autoVacuum) @@ -44842,7 +44852,7 @@ func Xsqlite3BtreeSetAutoVacuum(tls *libc.TLS, p uintptr, autoVacuum int32) int3 // Return the value of the 'auto-vacuum' property. If auto-vacuum is // enabled 1 is returned. Otherwise 0. -func Xsqlite3BtreeGetAutoVacuum(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:69204:20: */ +func Xsqlite3BtreeGetAutoVacuum(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:69214:20: */ var rc int32 Xsqlite3BtreeEnter(tls, p) rc = func() int32 { @@ -44867,7 +44877,7 @@ func Xsqlite3BtreeGetAutoVacuum(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:6 // well-formed database file, then SQLITE_CORRUPT is returned. // SQLITE_BUSY is returned if the database is locked. SQLITE_NOMEM // is returned if we run out of memory. -func lockBtree(tls *libc.TLS, pBt uintptr) int32 { /* sqlite3.c:69260:12: */ +func lockBtree(tls *libc.TLS, pBt uintptr) int32 { /* sqlite3.c:69270:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -45036,7 +45046,7 @@ __16: if !(Xsqlite3WritableSchema(tls, (*BtShared)(unsafe.Pointer(pBt)).Fdb) == 0) { goto __18 } - rc = Xsqlite3CorruptError(tls, 69385) + rc = Xsqlite3CorruptError(tls, 69395) goto page1_init_failed goto __19 __18: @@ -45113,7 +45123,7 @@ page1_init_failed: // has the effect of releasing the read lock. // // If there is a transaction in progress, this routine is a no-op. -func unlockBtreeIfUnused(tls *libc.TLS, pBt uintptr) { /* sqlite3.c:69470:13: */ +func unlockBtreeIfUnused(tls *libc.TLS, pBt uintptr) { /* sqlite3.c:69480:13: */ if int32((*BtShared)(unsafe.Pointer(pBt)).FinTransaction) == TRANS_NONE && (*BtShared)(unsafe.Pointer(pBt)).FpPage1 != uintptr(0) { var pPage1 uintptr = (*BtShared)(unsafe.Pointer(pBt)).FpPage1 @@ -45126,7 +45136,7 @@ func unlockBtreeIfUnused(tls *libc.TLS, pBt uintptr) { /* sqlite3.c:69470:13: */ // If pBt points to an empty file then convert that empty file // into a new empty database by initializing the first page of // the database. -func newDatabase(tls *libc.TLS, pBt uintptr) int32 { /* sqlite3.c:69487:12: */ +func newDatabase(tls *libc.TLS, pBt uintptr) int32 { /* sqlite3.c:69497:12: */ var pP1 uintptr var data uintptr var rc int32 @@ -45166,7 +45176,7 @@ func newDatabase(tls *libc.TLS, pBt uintptr) int32 { /* sqlite3.c:69487:12: */ // Initialize the first page of the database file (creating a database // consisting of a single page and no schema objects). Return SQLITE_OK // if successful, or an SQLite error code otherwise. -func Xsqlite3BtreeNewDb(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:69531:20: */ +func Xsqlite3BtreeNewDb(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:69541:20: */ var rc int32 Xsqlite3BtreeEnter(tls, p) (*BtShared)(unsafe.Pointer((*Btree)(unsafe.Pointer(p)).FpBt)).FnPage = U32(0) @@ -45208,7 +45218,7 @@ func Xsqlite3BtreeNewDb(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:69531:20: // no progress. By returning SQLITE_BUSY and not invoking the busy callback // when A already has a read lock, we encourage A to give up and let B // proceed. -func Xsqlite3BtreeBeginTrans(tls *libc.TLS, p uintptr, wrflag int32, pSchemaVersion uintptr) int32 { /* sqlite3.c:69575:20: */ +func Xsqlite3BtreeBeginTrans(tls *libc.TLS, p uintptr, wrflag int32, pSchemaVersion uintptr) int32 { /* sqlite3.c:69585:20: */ var pBt uintptr var pPager uintptr var rc int32 @@ -45472,7 +45482,7 @@ __34: // Set the pointer-map entries for all children of page pPage. Also, if // pPage contains cells that point to overflow pages, set the pointer // map entries for the overflow pages as well. -func setChildPtrmaps(tls *libc.TLS, pPage uintptr) int32 { /* sqlite3.c:69755:12: */ +func setChildPtrmaps(tls *libc.TLS, pPage uintptr) int32 { /* sqlite3.c:69765:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -45524,14 +45534,14 @@ func setChildPtrmaps(tls *libc.TLS, pPage uintptr) int32 { /* sqlite3.c:69755:12 // // PTRMAP_OVERFLOW2: pPage is an overflow-page. The pointer points at the next // overflow page in the list. -func modifyPagePointer(tls *libc.TLS, pPage uintptr, iFrom Pgno, iTo Pgno, eType U8) int32 { /* sqlite3.c:69800:12: */ +func modifyPagePointer(tls *libc.TLS, pPage uintptr, iFrom Pgno, iTo Pgno, eType U8) int32 { /* sqlite3.c:69810:12: */ bp := tls.Alloc(24) defer tls.Free(24) if int32(eType) == PTRMAP_OVERFLOW2 { // The pointer is always the first 4 bytes of the page in this case. if Xsqlite3Get4byte(tls, (*MemPage)(unsafe.Pointer(pPage)).FaData) != iFrom { - return Xsqlite3CorruptError(tls, 69806) + return Xsqlite3CorruptError(tls, 69816) } Xsqlite3Put4byte(tls, (*MemPage)(unsafe.Pointer(pPage)).FaData, iTo) } else { @@ -45559,7 +45569,7 @@ func modifyPagePointer(tls *libc.TLS, pPage uintptr, iFrom Pgno, iTo Pgno, eType })(unsafe.Pointer(&struct{ uintptr }{(*MemPage)(unsafe.Pointer(pPage)).FxParseCell})).f(tls, pPage, pCell, bp /* &info */) if U32((*CellInfo)(unsafe.Pointer(bp)).FnLocal) < (*CellInfo)(unsafe.Pointer(bp)).FnPayload { if pCell+uintptr((*CellInfo)(unsafe.Pointer(bp)).FnSize) > (*MemPage)(unsafe.Pointer(pPage)).FaData+uintptr((*BtShared)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize) { - return Xsqlite3CorruptError(tls, 69825) + return Xsqlite3CorruptError(tls, 69835) } if iFrom == Xsqlite3Get4byte(tls, pCell+uintptr((*CellInfo)(unsafe.Pointer(bp)).FnSize)-uintptr(4)) { Xsqlite3Put4byte(tls, pCell+uintptr((*CellInfo)(unsafe.Pointer(bp)).FnSize)-uintptr(4), iTo) @@ -45576,7 +45586,7 @@ func modifyPagePointer(tls *libc.TLS, pPage uintptr, iFrom Pgno, iTo Pgno, eType if i == nCell { if int32(eType) != PTRMAP_BTREE || Xsqlite3Get4byte(tls, (*MemPage)(unsafe.Pointer(pPage)).FaData+uintptr(int32((*MemPage)(unsafe.Pointer(pPage)).FhdrOffset)+8)) != iFrom { - return Xsqlite3CorruptError(tls, 69843) + return Xsqlite3CorruptError(tls, 69853) } Xsqlite3Put4byte(tls, (*MemPage)(unsafe.Pointer(pPage)).FaData+uintptr(int32((*MemPage)(unsafe.Pointer(pPage)).FhdrOffset)+8), iTo) } @@ -45591,7 +45601,7 @@ func modifyPagePointer(tls *libc.TLS, pPage uintptr, iFrom Pgno, iTo Pgno, eType // the journal needs to be sync()ed before database page pDbPage->pgno // can be written to. The caller has already promised not to write to that // page. -func relocatePage(tls *libc.TLS, pBt uintptr, pDbPage uintptr, eType U8, iPtrPage Pgno, iFreePage Pgno, isCommit int32) int32 { /* sqlite3.c:69861:12: */ +func relocatePage(tls *libc.TLS, pBt uintptr, pDbPage uintptr, eType U8, iPtrPage Pgno, iFreePage Pgno, isCommit int32) int32 { /* sqlite3.c:69871:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -45602,7 +45612,7 @@ func relocatePage(tls *libc.TLS, pBt uintptr, pDbPage uintptr, eType U8, iPtrPag // var rc int32 at bp, 4 if iDbPage < Pgno(3) { - return Xsqlite3CorruptError(tls, 69878) + return Xsqlite3CorruptError(tls, 69888) } // Move page iDbPage from its current location to page number iFreePage @@ -45672,7 +45682,7 @@ func relocatePage(tls *libc.TLS, pBt uintptr, pDbPage uintptr, eType U8, iPtrPag // caller will keep calling incrVacuumStep() until it returns SQLITE_DONE // or an error. bCommit is passed true for an auto-vacuum-on-commit // operation, or false for an incremental vacuum. -func incrVacuumStep(tls *libc.TLS, pBt uintptr, nFin Pgno, iLastPg Pgno, bCommit int32) int32 { /* sqlite3.c:69955:12: */ +func incrVacuumStep(tls *libc.TLS, pBt uintptr, nFin Pgno, iLastPg Pgno, bCommit int32) int32 { /* sqlite3.c:69965:12: */ bp := tls.Alloc(44) defer tls.Free(44) @@ -45694,7 +45704,7 @@ func incrVacuumStep(tls *libc.TLS, pBt uintptr, nFin Pgno, iLastPg Pgno, bCommit return rc } if int32(*(*U8)(unsafe.Pointer(bp))) == PTRMAP_ROOTPAGE { - return Xsqlite3CorruptError(tls, 69976) + return Xsqlite3CorruptError(tls, 69986) } if int32(*(*U8)(unsafe.Pointer(bp))) == PTRMAP_FREEPAGE { @@ -45769,7 +45779,7 @@ func incrVacuumStep(tls *libc.TLS, pBt uintptr, nFin Pgno, iLastPg Pgno, bCommit // The database opened by the first argument is an auto-vacuum database // nOrig pages in size containing nFree free pages. Return the expected // size of the database in pages following an auto-vacuum operation. -func finalDbSize(tls *libc.TLS, pBt uintptr, nOrig Pgno, nFree Pgno) Pgno { /* sqlite3.c:70051:13: */ +func finalDbSize(tls *libc.TLS, pBt uintptr, nOrig Pgno, nFree Pgno) Pgno { /* sqlite3.c:70061:13: */ var nEntry int32 // Number of entries on one ptrmap page var nPtrmap Pgno // Number of PtrMap pages to be freed var nFin Pgno // Return value @@ -45793,7 +45803,7 @@ func finalDbSize(tls *libc.TLS, pBt uintptr, nOrig Pgno, nFree Pgno) Pgno { /* s // If the incremental vacuum is finished after this function has run, // SQLITE_DONE is returned. If it is not finished, but no error occurred, // SQLITE_OK is returned. Otherwise an SQLite error code. -func Xsqlite3BtreeIncrVacuum(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:70077:20: */ +func Xsqlite3BtreeIncrVacuum(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:70087:20: */ var rc int32 var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt @@ -45807,7 +45817,7 @@ func Xsqlite3BtreeIncrVacuum(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:7007 var nFin Pgno = finalDbSize(tls, pBt, nOrig, nFree) if nOrig < nFin || nFree >= nOrig { - rc = Xsqlite3CorruptError(tls, 70091) + rc = Xsqlite3CorruptError(tls, 70101) } else if nFree > Pgno(0) { rc = saveAllCursors(tls, pBt, uint32(0), uintptr(0)) if rc == SQLITE_OK { @@ -45828,7 +45838,7 @@ func Xsqlite3BtreeIncrVacuum(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:7007 // This routine is called prior to sqlite3PagerCommit when a transaction // is committed for an auto-vacuum database. -func autoVacuumCommit(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:70114:12: */ +func autoVacuumCommit(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:70124:12: */ var rc int32 = SQLITE_OK var pPager uintptr var pBt uintptr @@ -45851,7 +45861,7 @@ func autoVacuumCommit(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:70114:12: * // It is not possible to create a database for which the final page // is either a pointer-map page or the pending-byte page. If one // is encountered, this indicates corruption. - return Xsqlite3CorruptError(tls, 70142) + return Xsqlite3CorruptError(tls, 70152) } nFree = Xsqlite3Get4byte(tls, (*MemPage)(unsafe.Pointer((*BtShared)(unsafe.Pointer(pBt)).FpPage1)).FaData+36) @@ -45882,7 +45892,7 @@ func autoVacuumCommit(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:70114:12: * } nFin = finalDbSize(tls, pBt, nOrig, nVac) if nFin > nOrig { - return Xsqlite3CorruptError(tls, 70169) + return Xsqlite3CorruptError(tls, 70179) } if nFin < nOrig { rc = saveAllCursors(tls, pBt, uint32(0), uintptr(0)) @@ -45932,7 +45942,7 @@ func autoVacuumCommit(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:70114:12: * // // Once this is routine has returned, the only thing required to commit // the write-transaction for this database file is to delete the journal. -func Xsqlite3BtreeCommitPhaseOne(tls *libc.TLS, p uintptr, zSuperJrnl uintptr) int32 { /* sqlite3.c:70225:20: */ +func Xsqlite3BtreeCommitPhaseOne(tls *libc.TLS, p uintptr, zSuperJrnl uintptr) int32 { /* sqlite3.c:70235:20: */ var rc int32 = SQLITE_OK if int32((*Btree)(unsafe.Pointer(p)).FinTrans) == TRANS_WRITE { var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt @@ -45955,7 +45965,7 @@ func Xsqlite3BtreeCommitPhaseOne(tls *libc.TLS, p uintptr, zSuperJrnl uintptr) i // This function is called from both BtreeCommitPhaseTwo() and BtreeRollback() // at the conclusion of a transaction. -func btreeEndTransaction(tls *libc.TLS, p uintptr) { /* sqlite3.c:70252:13: */ +func btreeEndTransaction(tls *libc.TLS, p uintptr) { /* sqlite3.c:70262:13: */ var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt var db uintptr = (*Btree)(unsafe.Pointer(p)).Fdb @@ -46011,7 +46021,7 @@ func btreeEndTransaction(tls *libc.TLS, p uintptr) { /* sqlite3.c:70252:13: */ // // This will release the write lock on the database file. If there // are no active cursors, it also releases the read lock. -func Xsqlite3BtreeCommitPhaseTwo(tls *libc.TLS, p uintptr, bCleanup int32) int32 { /* sqlite3.c:70314:20: */ +func Xsqlite3BtreeCommitPhaseTwo(tls *libc.TLS, p uintptr, bCleanup int32) int32 { /* sqlite3.c:70324:20: */ if int32((*Btree)(unsafe.Pointer(p)).FinTrans) == TRANS_NONE { return SQLITE_OK @@ -46040,7 +46050,7 @@ func Xsqlite3BtreeCommitPhaseTwo(tls *libc.TLS, p uintptr, bCleanup int32) int32 } // Do both phases of a commit. -func Xsqlite3BtreeCommit(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:70346:20: */ +func Xsqlite3BtreeCommit(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:70356:20: */ var rc int32 Xsqlite3BtreeEnter(tls, p) rc = Xsqlite3BtreeCommitPhaseOne(tls, p, uintptr(0)) @@ -46075,7 +46085,7 @@ func Xsqlite3BtreeCommit(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:70346:20 // // SQLITE_OK is returned if successful, or if an error occurs while // saving a cursor position, an SQLite error code. -func Xsqlite3BtreeTripAllCursors(tls *libc.TLS, pBtree uintptr, errCode int32, writeOnly int32) int32 { /* sqlite3.c:70383:20: */ +func Xsqlite3BtreeTripAllCursors(tls *libc.TLS, pBtree uintptr, errCode int32, writeOnly int32) int32 { /* sqlite3.c:70393:20: */ var p uintptr var rc int32 = SQLITE_OK @@ -46104,7 +46114,7 @@ func Xsqlite3BtreeTripAllCursors(tls *libc.TLS, pBtree uintptr, errCode int32, w // Set the pBt->nPage field correctly, according to the current // state of the database. Assume pBt->pPage1 is valid. -func btreeSetNPage(tls *libc.TLS, pBt uintptr, pPage1 uintptr) { /* sqlite3.c:70415:13: */ +func btreeSetNPage(tls *libc.TLS, pBt uintptr, pPage1 uintptr) { /* sqlite3.c:70425:13: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -46126,7 +46136,7 @@ func btreeSetNPage(tls *libc.TLS, pBt uintptr, pPage1 uintptr) { /* sqlite3.c:70 // // This will release the write lock on the database file. If there // are no active cursors, it also releases the read lock. -func Xsqlite3BtreeRollback(tls *libc.TLS, p uintptr, tripCode int32, writeOnly int32) int32 { /* sqlite3.c:70434:20: */ +func Xsqlite3BtreeRollback(tls *libc.TLS, p uintptr, tripCode int32, writeOnly int32) int32 { /* sqlite3.c:70444:20: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -46192,7 +46202,7 @@ func Xsqlite3BtreeRollback(tls *libc.TLS, p uintptr, tripCode int32, writeOnly i // are no active savepoints and no other statement-transactions open, // iStatement is 1. This anonymous savepoint can be released or rolled back // using the sqlite3BtreeSavepoint() function. -func Xsqlite3BtreeBeginStmt(tls *libc.TLS, p uintptr, iStatement int32) int32 { /* sqlite3.c:70499:20: */ +func Xsqlite3BtreeBeginStmt(tls *libc.TLS, p uintptr, iStatement int32) int32 { /* sqlite3.c:70509:20: */ var rc int32 var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt Xsqlite3BtreeEnter(tls, p) @@ -46216,7 +46226,7 @@ func Xsqlite3BtreeBeginStmt(tls *libc.TLS, p uintptr, iStatement int32) int32 { // contents of the entire transaction are rolled back. This is different // from a normal transaction rollback, as no locks are released and the // transaction remains open. -func Xsqlite3BtreeSavepoint(tls *libc.TLS, p uintptr, op int32, iSavepoint int32) int32 { /* sqlite3.c:70530:20: */ +func Xsqlite3BtreeSavepoint(tls *libc.TLS, p uintptr, op int32, iSavepoint int32) int32 { /* sqlite3.c:70540:20: */ var rc int32 = SQLITE_OK if p != 0 && int32((*Btree)(unsafe.Pointer(p)).FinTrans) == TRANS_WRITE { var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt @@ -46284,7 +46294,7 @@ func Xsqlite3BtreeSavepoint(tls *libc.TLS, p uintptr, op int32, iSavepoint int32 // // It is assumed that the sqlite3BtreeCursorZero() has been called // on pCur to initialize the memory space prior to invoking this routine. -func btreeCursor(tls *libc.TLS, p uintptr, iTable Pgno, wrFlag int32, pKeyInfo uintptr, pCur uintptr) int32 { /* sqlite3.c:70601:12: */ +func btreeCursor(tls *libc.TLS, p uintptr, iTable Pgno, wrFlag int32, pKeyInfo uintptr, pCur uintptr) int32 { /* sqlite3.c:70611:12: */ var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt // Shared b-tree handle var pX uintptr // Looping over other all cursors @@ -46297,7 +46307,7 @@ func btreeCursor(tls *libc.TLS, p uintptr, iTable Pgno, wrFlag int32, pKeyInfo u if iTable <= Pgno(1) { if iTable < Pgno(1) { - return Xsqlite3CorruptError(tls, 70633) + return Xsqlite3CorruptError(tls, 70643) } else if btreePagecount(tls, pBt) == Pgno(0) { iTable = Pgno(0) @@ -46335,7 +46345,7 @@ func btreeCursor(tls *libc.TLS, p uintptr, iTable Pgno, wrFlag int32, pKeyInfo u return SQLITE_OK } -func btreeCursorWithLock(tls *libc.TLS, p uintptr, iTable Pgno, wrFlag int32, pKeyInfo uintptr, pCur uintptr) int32 { /* sqlite3.c:70668:12: */ +func btreeCursorWithLock(tls *libc.TLS, p uintptr, iTable Pgno, wrFlag int32, pKeyInfo uintptr, pCur uintptr) int32 { /* sqlite3.c:70678:12: */ var rc int32 Xsqlite3BtreeEnter(tls, p) rc = btreeCursor(tls, p, iTable, wrFlag, pKeyInfo, pCur) @@ -46343,7 +46353,7 @@ func btreeCursorWithLock(tls *libc.TLS, p uintptr, iTable Pgno, wrFlag int32, pK return rc } -func Xsqlite3BtreeCursor(tls *libc.TLS, p uintptr, iTable Pgno, wrFlag int32, pKeyInfo uintptr, pCur uintptr) int32 { /* sqlite3.c:70681:20: */ +func Xsqlite3BtreeCursor(tls *libc.TLS, p uintptr, iTable Pgno, wrFlag int32, pKeyInfo uintptr, pCur uintptr) int32 { /* sqlite3.c:70691:20: */ if (*Btree)(unsafe.Pointer(p)).Fsharable != 0 { return btreeCursorWithLock(tls, p, iTable, wrFlag, pKeyInfo, pCur) } else { @@ -46358,7 +46368,7 @@ func Xsqlite3BtreeCursor(tls *libc.TLS, p uintptr, iTable Pgno, wrFlag int32, pK // sufficient storage to hold a cursor. The BtCursor object is opaque // to users so they cannot do the sizeof() themselves - they must call // this routine. -func Xsqlite3BtreeCursorSize(tls *libc.TLS) int32 { /* sqlite3.c:70703:20: */ +func Xsqlite3BtreeCursorSize(tls *libc.TLS) int32 { /* sqlite3.c:70713:20: */ return int32((uint64(unsafe.Sizeof(BtCursor{})) + uint64(7)) & libc.Uint64FromInt32(libc.CplInt32(7))) } @@ -46368,13 +46378,13 @@ func Xsqlite3BtreeCursorSize(tls *libc.TLS) int32 { /* sqlite3.c:70703:20: */ // to zero. But it turns out that the apPage[] and aiIdx[] arrays // do not need to be zeroed and they are large, so we can save a lot // of run-time by skipping the initialization of those elements. -func Xsqlite3BtreeCursorZero(tls *libc.TLS, p uintptr) { /* sqlite3.c:70715:21: */ +func Xsqlite3BtreeCursorZero(tls *libc.TLS, p uintptr) { /* sqlite3.c:70725:21: */ libc.Xmemset(tls, p, 0, uint64(uintptr(0)+32)) } // Close a cursor. The read lock on the database file is released // when the last cursor is closed. -func Xsqlite3BtreeCloseCursor(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:70723:20: */ +func Xsqlite3BtreeCloseCursor(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:70733:20: */ var pBtree uintptr = (*BtCursor)(unsafe.Pointer(pCur)).FpBtree if pBtree != 0 { var pBt uintptr = (*BtCursor)(unsafe.Pointer(pCur)).FpBt @@ -46415,7 +46425,7 @@ func Xsqlite3BtreeCloseCursor(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c: // // BtCursor.info is a cache of the information in the current cell. // Using this cache reduces the number of calls to btreeParseCell(). -func getCellInfo(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:70784:29: */ +func getCellInfo(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:70794:29: */ if int32((*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnSize) == 0 { *(*U8)(unsafe.Pointer(pCur + 1)) |= U8(BTCF_ValidNKey) btreeParseCell(tls, (*BtCursor)(unsafe.Pointer(pCur)).FpPage, int32((*BtCursor)(unsafe.Pointer(pCur)).Fix), pCur+48) @@ -46424,7 +46434,7 @@ func getCellInfo(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:70784:29: */ } } -func Xsqlite3BtreeCursorIsValidNN(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:70803:20: */ +func Xsqlite3BtreeCursorIsValidNN(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:70813:20: */ return libc.Bool32(int32((*BtCursor)(unsafe.Pointer(pCur)).FeState) == CURSOR_VALID) } @@ -46433,26 +46443,26 @@ func Xsqlite3BtreeCursorIsValidNN(tls *libc.TLS, pCur uintptr) int32 { /* sqlite // This routine is only valid for a cursor that is pointing into a // ordinary table btree. If the cursor points to an index btree or // is invalid, the result of this routine is undefined. -func Xsqlite3BtreeIntegerKey(tls *libc.TLS, pCur uintptr) I64 { /* sqlite3.c:70814:20: */ +func Xsqlite3BtreeIntegerKey(tls *libc.TLS, pCur uintptr) I64 { /* sqlite3.c:70824:20: */ getCellInfo(tls, pCur) return (*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnKey } // Pin or unpin a cursor. -func Xsqlite3BtreeCursorPin(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:70825:21: */ +func Xsqlite3BtreeCursorPin(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:70835:21: */ *(*U8)(unsafe.Pointer(pCur + 1)) |= U8(BTCF_Pinned) } -func Xsqlite3BtreeCursorUnpin(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:70829:21: */ +func Xsqlite3BtreeCursorUnpin(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:70839:21: */ *(*U8)(unsafe.Pointer(pCur + 1)) &= libc.Uint8FromInt32(libc.CplInt32(BTCF_Pinned)) } // Return the offset into the database file for the start of the // payload to which the cursor is pointing. -func Xsqlite3BtreeOffset(tls *libc.TLS, pCur uintptr) I64 { /* sqlite3.c:70839:20: */ +func Xsqlite3BtreeOffset(tls *libc.TLS, pCur uintptr) I64 { /* sqlite3.c:70849:20: */ getCellInfo(tls, pCur) return I64((*BtShared)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pCur)).FpBt)).FpageSize)*(I64((*MemPage)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pCur)).FpPage)).Fpgno)-int64(1)) + I64((int64((*BtCursor)(unsafe.Pointer(pCur)).Finfo.FpPayload)-int64((*MemPage)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pCur)).FpPage)).FaData))/1) @@ -46465,7 +46475,7 @@ func Xsqlite3BtreeOffset(tls *libc.TLS, pCur uintptr) I64 { /* sqlite3.c:70839:2 // The caller must guarantee that the cursor is pointing to a non-NULL // valid entry. In other words, the calling procedure must guarantee // that the cursor has Cursor.eState==CURSOR_VALID. -func Xsqlite3BtreePayloadSize(tls *libc.TLS, pCur uintptr) U32 { /* sqlite3.c:70857:20: */ +func Xsqlite3BtreePayloadSize(tls *libc.TLS, pCur uintptr) U32 { /* sqlite3.c:70867:20: */ getCellInfo(tls, pCur) return (*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnPayload @@ -46482,7 +46492,7 @@ func Xsqlite3BtreePayloadSize(tls *libc.TLS, pCur uintptr) U32 { /* sqlite3.c:70 // // The current implementation merely returns the size of the underlying // database file. -func Xsqlite3BtreeMaxRecordSize(tls *libc.TLS, pCur uintptr) Sqlite3_int64 { /* sqlite3.c:70877:30: */ +func Xsqlite3BtreeMaxRecordSize(tls *libc.TLS, pCur uintptr) Sqlite3_int64 { /* sqlite3.c:70887:30: */ return Sqlite3_int64((*BtShared)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pCur)).FpBt)).FpageSize) * Sqlite3_int64((*BtShared)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pCur)).FpBt)).FnPage) } @@ -46504,7 +46514,7 @@ func Xsqlite3BtreeMaxRecordSize(tls *libc.TLS, pCur uintptr) Sqlite3_int64 { /* // on *ppPage to free the reference. In no reference was obtained (because // the pointer-map was used to obtain the value for *pPgnoNext), then // *ppPage is set to zero. -func getOverflowPage(tls *libc.TLS, pBt uintptr, ovfl Pgno, ppPage uintptr, pPgnoNext uintptr) int32 { /* sqlite3.c:70902:12: */ +func getOverflowPage(tls *libc.TLS, pBt uintptr, ovfl Pgno, ppPage uintptr, pPgnoNext uintptr) int32 { /* sqlite3.c:70912:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -46572,7 +46582,7 @@ func getOverflowPage(tls *libc.TLS, pBt uintptr, ovfl Pgno, ppPage uintptr, pPgn // of data are copied from the buffer pBuf to pPayload. // // SQLITE_OK is returned on success, otherwise an error code. -func copyPayload(tls *libc.TLS, pPayload uintptr, pBuf uintptr, nByte int32, eOp int32, pDbPage uintptr) int32 { /* sqlite3.c:70970:12: */ +func copyPayload(tls *libc.TLS, pPayload uintptr, pBuf uintptr, nByte int32, eOp int32, pDbPage uintptr) int32 { /* sqlite3.c:70980:12: */ if eOp != 0 { // Copy data from buffer to page (a write operation) var rc int32 = Xsqlite3PagerWrite(tls, pDbPage) @@ -46614,7 +46624,7 @@ func copyPayload(tls *libc.TLS, pPayload uintptr, pBuf uintptr, nByte int32, eOp // * An incremental vacuum, // * A commit in auto_vacuum="full" mode, // * Creating a table (may require moving an overflow page). -func accessPayload(tls *libc.TLS, pCur uintptr, offset U32, amt U32, pBuf uintptr, eOp int32) int32 { /* sqlite3.c:71020:12: */ +func accessPayload(tls *libc.TLS, pCur uintptr, offset U32, amt U32, pBuf uintptr, eOp int32) int32 { /* sqlite3.c:71030:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -46625,7 +46635,7 @@ func accessPayload(tls *libc.TLS, pCur uintptr, offset U32, amt U32, pBuf uintpt var pBt uintptr = (*BtCursor)(unsafe.Pointer(pCur)).FpBt // Btree this cursor belongs to if int32((*BtCursor)(unsafe.Pointer(pCur)).Fix) >= int32((*MemPage)(unsafe.Pointer(pPage)).FnCell) { - return Xsqlite3CorruptError(tls, 71040) + return Xsqlite3CorruptError(tls, 71050) } getCellInfo(tls, pCur) @@ -46636,7 +46646,7 @@ func accessPayload(tls *libc.TLS, pCur uintptr, offset U32, amt U32, pBuf uintpt // conditional above is really: // &aPayload[pCur->info.nLocal] > &pPage->aData[pBt->usableSize] // but is recast into its current form to avoid integer overflow problems - return Xsqlite3CorruptError(tls, 71055) + return Xsqlite3CorruptError(tls, 71065) } // Check if data must be read/written to/from the btree page itself. @@ -46693,7 +46703,7 @@ func accessPayload(tls *libc.TLS, pCur uintptr, offset U32, amt U32, pBuf uintpt for *(*Pgno)(unsafe.Pointer(bp)) != 0 { // If required, populate the overflow page-list cache. if *(*Pgno)(unsafe.Pointer(bp)) > (*BtShared)(unsafe.Pointer(pBt)).FnPage { - return Xsqlite3CorruptError(tls, 71117) + return Xsqlite3CorruptError(tls, 71127) } *(*Pgno)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pCur)).FaOverflow + uintptr(iIdx)*4)) = *(*Pgno)(unsafe.Pointer(bp /* nextPage */)) @@ -46753,7 +46763,7 @@ func accessPayload(tls *libc.TLS, pCur uintptr, offset U32, amt U32, pBuf uintpt if rc == SQLITE_OK && amt > U32(0) { // Overflow chain ends prematurely - return Xsqlite3CorruptError(tls, 71202) + return Xsqlite3CorruptError(tls, 71212) } return rc } @@ -46773,7 +46783,7 @@ func accessPayload(tls *libc.TLS, pCur uintptr, offset U32, amt U32, pBuf uintpt // Return SQLITE_OK on success or an error code if anything goes // wrong. An error is returned if "offset+amt" is larger than // the available payload. -func Xsqlite3BtreePayload(tls *libc.TLS, pCur uintptr, offset U32, amt U32, pBuf uintptr) int32 { /* sqlite3.c:71224:20: */ +func Xsqlite3BtreePayload(tls *libc.TLS, pCur uintptr, offset U32, amt U32, pBuf uintptr) int32 { /* sqlite3.c:71234:20: */ return accessPayload(tls, pCur, offset, amt, pBuf, 0) } @@ -46781,7 +46791,7 @@ func Xsqlite3BtreePayload(tls *libc.TLS, pCur uintptr, offset U32, amt U32, pBuf // This variant of sqlite3BtreePayload() works even if the cursor has not // in the CURSOR_VALID state. It is only used by the sqlite3_blob_read() // interface. -func accessPayloadChecked(tls *libc.TLS, pCur uintptr, offset U32, amt U32, pBuf uintptr) int32 { /* sqlite3.c:71237:28: */ +func accessPayloadChecked(tls *libc.TLS, pCur uintptr, offset U32, amt U32, pBuf uintptr) int32 { /* sqlite3.c:71247:28: */ var rc int32 if int32((*BtCursor)(unsafe.Pointer(pCur)).FeState) == CURSOR_INVALID { return SQLITE_ABORT @@ -46794,7 +46804,7 @@ func accessPayloadChecked(tls *libc.TLS, pCur uintptr, offset U32, amt U32, pBuf return accessPayload(tls, pCur, offset, amt, pBuf, 0) } -func Xsqlite3BtreePayloadChecked(tls *libc.TLS, pCur uintptr, offset U32, amt U32, pBuf uintptr) int32 { /* sqlite3.c:71251:20: */ +func Xsqlite3BtreePayloadChecked(tls *libc.TLS, pCur uintptr, offset U32, amt U32, pBuf uintptr) int32 { /* sqlite3.c:71261:20: */ if int32((*BtCursor)(unsafe.Pointer(pCur)).FeState) == CURSOR_VALID { return accessPayload(tls, pCur, offset, amt, pBuf, 0) @@ -46821,7 +46831,7 @@ func Xsqlite3BtreePayloadChecked(tls *libc.TLS, pCur uintptr, offset U32, amt U3 // The pointer returned by this routine looks directly into the cached // page of the database. The data might change or move the next time // any btree routine is called. -func fetchPayload(tls *libc.TLS, pCur uintptr, pAmt uintptr) uintptr { /* sqlite3.c:71280:19: */ +func fetchPayload(tls *libc.TLS, pCur uintptr, pAmt uintptr) uintptr { /* sqlite3.c:71290:19: */ var amt int32 amt = int32((*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnLocal) @@ -46852,7 +46862,7 @@ func fetchPayload(tls *libc.TLS, pCur uintptr, pAmt uintptr) uintptr { /* sqlite // // These routines is used to get quick access to key and data // in the common case where no overflow pages are used. -func Xsqlite3BtreePayloadFetch(tls *libc.TLS, pCur uintptr, pAmt uintptr) uintptr { /* sqlite3.c:71319:27: */ +func Xsqlite3BtreePayloadFetch(tls *libc.TLS, pCur uintptr, pAmt uintptr) uintptr { /* sqlite3.c:71329:27: */ return fetchPayload(tls, pCur, pAmt) } @@ -46863,11 +46873,11 @@ func Xsqlite3BtreePayloadFetch(tls *libc.TLS, pCur uintptr, pAmt uintptr) uintpt // the new child page does not match the flags field of the parent (i.e. // if an intkey page appears to be the parent of a non-intkey page, or // vice-versa). -func moveToChild(tls *libc.TLS, pCur uintptr, newPgno U32) int32 { /* sqlite3.c:71333:12: */ +func moveToChild(tls *libc.TLS, pCur uintptr, newPgno U32) int32 { /* sqlite3.c:71343:12: */ var pBt uintptr = (*BtCursor)(unsafe.Pointer(pCur)).FpBt if int32((*BtCursor)(unsafe.Pointer(pCur)).FiPage) >= BTCURSOR_MAX_DEPTH-1 { - return Xsqlite3CorruptError(tls, 71341) + return Xsqlite3CorruptError(tls, 71351) } (*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnSize = U16(0) *(*U8)(unsafe.Pointer(pCur + 1)) &= libc.Uint8FromInt32(libc.CplInt32(BTCF_ValidNKey | BTCF_ValidOvfl)) @@ -46884,7 +46894,7 @@ func moveToChild(tls *libc.TLS, pCur uintptr, newPgno U32) int32 { /* sqlite3.c: // to the page we are coming from. If we are coming from the // right-most child page then pCur->idx is set to one more than // the largest cell index. -func moveToParent(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:71382:13: */ +func moveToParent(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:71392:13: */ var pLeaf uintptr (*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnSize = U16(0) @@ -46914,7 +46924,7 @@ func moveToParent(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:71382:13: */ // indicating a table b-tree, or if the caller did specify a KeyInfo // structure the flags byte is set to 0x02 or 0x0A, indicating an index // b-tree). -func moveToRoot(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:71423:12: */ +func moveToRoot(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:71433:12: */ var pRoot uintptr var rc int32 var subpage Pgno @@ -46993,7 +47003,7 @@ __2: if !(int32((*MemPage)(unsafe.Pointer(pRoot)).FisInit) == 0 || libc.Bool32((*BtCursor)(unsafe.Pointer(pCur)).FpKeyInfo == uintptr(0)) != int32((*MemPage)(unsafe.Pointer(pRoot)).FintKey)) { goto __11 } - return Xsqlite3CorruptError(tls, 71479) + return Xsqlite3CorruptError(tls, 71489) __11: ; @@ -47014,7 +47024,7 @@ __12: if !((*MemPage)(unsafe.Pointer(pRoot)).Fpgno != Pgno(1)) { goto __16 } - return Xsqlite3CorruptError(tls, 71491) + return Xsqlite3CorruptError(tls, 71501) __16: ; subpage = Xsqlite3Get4byte(tls, (*MemPage)(unsafe.Pointer(pRoot)).FaData+uintptr(int32((*MemPage)(unsafe.Pointer(pRoot)).FhdrOffset)+8)) @@ -47036,7 +47046,7 @@ __13: // // The left-most leaf is the one with the smallest key - the first // in ascending order. -func moveToLeftmost(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:71509:12: */ +func moveToLeftmost(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:71519:12: */ var pgno Pgno var rc int32 = SQLITE_OK var pPage uintptr @@ -47057,7 +47067,7 @@ func moveToLeftmost(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:71509:12: // // The right-most entry is the one with the largest key - the last // key in ascending order. -func moveToRightmost(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:71534:12: */ +func moveToRightmost(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:71544:12: */ var pgno Pgno var rc int32 = SQLITE_OK var pPage uintptr = uintptr(0) @@ -47078,7 +47088,7 @@ func moveToRightmost(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:71534:12: // Move the cursor to the first entry in the table. Return SQLITE_OK // on success. Set *pRes to 0 if the cursor actually points to something // or set *pRes to 1 if the table is empty. -func Xsqlite3BtreeFirst(tls *libc.TLS, pCur uintptr, pRes uintptr) int32 { /* sqlite3.c:71557:20: */ +func Xsqlite3BtreeFirst(tls *libc.TLS, pCur uintptr, pRes uintptr) int32 { /* sqlite3.c:71567:20: */ var rc int32 rc = moveToRoot(tls, pCur) @@ -47097,7 +47107,7 @@ func Xsqlite3BtreeFirst(tls *libc.TLS, pCur uintptr, pRes uintptr) int32 { /* sq // Move the cursor to the last entry in the table. Return SQLITE_OK // on success. Set *pRes to 0 if the cursor actually points to something // or set *pRes to 1 if the table is empty. -func Xsqlite3BtreeLast(tls *libc.TLS, pCur uintptr, pRes uintptr) int32 { /* sqlite3.c:71579:20: */ +func Xsqlite3BtreeLast(tls *libc.TLS, pCur uintptr, pRes uintptr) int32 { /* sqlite3.c:71589:20: */ var rc int32 // If the cursor already points to the last entry, this is a no-op. @@ -47146,7 +47156,7 @@ func Xsqlite3BtreeLast(tls *libc.TLS, pCur uintptr, pRes uintptr) int32 { /* sql // // *pRes>0 The cursor is left pointing at an entry that // is larger than intKey. -func Xsqlite3BtreeTableMoveto(tls *libc.TLS, pCur uintptr, intKey I64, biasRight int32, pRes uintptr) int32 { /* sqlite3.c:71644:20: */ +func Xsqlite3BtreeTableMoveto(tls *libc.TLS, pCur uintptr, intKey I64, biasRight int32, pRes uintptr) int32 { /* sqlite3.c:71654:20: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -47261,7 +47271,7 @@ __19: if !(pCell >= (*MemPage)(unsafe.Pointer(pPage)).FaDataEnd) { goto __21 } - return Xsqlite3CorruptError(tls, 71733) + return Xsqlite3CorruptError(tls, 71743) __21: ; goto __19 @@ -47390,7 +47400,7 @@ moveto_table_finish: // // The pIdxKey->eqSeen field is set to 1 if there // exists an entry in the table that exactly matches pIdxKey. -func Xsqlite3BtreeIndexMoveto(tls *libc.TLS, pCur uintptr, pIdxKey uintptr, pRes uintptr) int32 { /* sqlite3.c:71812:20: */ +func Xsqlite3BtreeIndexMoveto(tls *libc.TLS, pCur uintptr, pIdxKey uintptr, pRes uintptr) int32 { /* sqlite3.c:71822:20: */ var rc int32 var xRecordCompare RecordCompare // The record flows over onto one or more overflow pages. In @@ -47494,7 +47504,7 @@ __11: if !(nCell < 2 || U32(nCell)/(*BtShared)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pCur)).FpBt)).FusableSize > (*BtShared)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pCur)).FpBt)).FnPage) { goto __13 } - rc = Xsqlite3CorruptError(tls, 71914) + rc = Xsqlite3CorruptError(tls, 71924) goto moveto_index_finish __13: ; @@ -47543,7 +47553,7 @@ __18: if !((*UnpackedRecord)(unsafe.Pointer(pIdxKey)).FerrCode != 0) { goto __20 } - rc = Xsqlite3CorruptError(tls, 71946) + rc = Xsqlite3CorruptError(tls, 71956) __20: ; goto moveto_index_finish @@ -47610,7 +47620,7 @@ moveto_index_finish: // TRUE will be returned after a call to sqlite3BtreeNext() moves // past the last entry in the table or sqlite3BtreePrev() moves past // the first entry. TRUE is also returned if the table is empty. -func Xsqlite3BtreeEof(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:71985:20: */ +func Xsqlite3BtreeEof(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:71995:20: */ // TODO: What if the cursor is in CURSOR_REQUIRESEEK but all table entries // have been deleted? This API will need to change to return an error code // as well as the boolean result value. @@ -47620,7 +47630,7 @@ func Xsqlite3BtreeEof(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:71985:20 // Return an estimate for the number of rows in the table that pCur is // pointing to. Return a negative number if no estimate is currently // available. -func Xsqlite3BtreeRowCountEst(tls *libc.TLS, pCur uintptr) I64 { /* sqlite3.c:71998:20: */ +func Xsqlite3BtreeRowCountEst(tls *libc.TLS, pCur uintptr) I64 { /* sqlite3.c:72008:20: */ var n I64 var i U8 @@ -47659,7 +47669,7 @@ func Xsqlite3BtreeRowCountEst(tls *libc.TLS, pCur uintptr) I64 { /* sqlite3.c:71 // skipped if the SQL index had been a unique index. The F argument // is a hint to the implement. SQLite btree implementation does not use // this hint, but COMDB2 does. -func btreeNext(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:72038:28: */ +func btreeNext(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:72048:28: */ var rc int32 var idx int32 var pPage uintptr @@ -47696,7 +47706,7 @@ func btreeNext(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:72038:28: */ // has pages in common with the table being queried. See TH3 // module cov1/btree78.test testcase 220 (2018-06-08) for an // example. - return Xsqlite3CorruptError(tls, 72069) + return Xsqlite3CorruptError(tls, 72079) } if idx >= int32((*MemPage)(unsafe.Pointer(pPage)).FnCell) { @@ -47729,7 +47739,7 @@ func btreeNext(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:72038:28: */ return int32(0) } -func Xsqlite3BtreeNext(tls *libc.TLS, pCur uintptr, flags int32) int32 { /* sqlite3.c:72098:20: */ +func Xsqlite3BtreeNext(tls *libc.TLS, pCur uintptr, flags int32) int32 { /* sqlite3.c:72108:20: */ var pPage uintptr _ = flags // Used in COMDB2 but not native SQLite @@ -47769,7 +47779,7 @@ func Xsqlite3BtreeNext(tls *libc.TLS, pCur uintptr, flags int32) int32 { /* sqli // skipped if the SQL index had been a unique index. The F argument is a // hint to the implement. The native SQLite btree implementation does not // use this hint, but COMDB2 does. -func btreePrevious(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:72138:28: */ +func btreePrevious(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:72148:28: */ var rc int32 var pPage uintptr @@ -47823,7 +47833,7 @@ func btreePrevious(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:72138:28: * return rc } -func Xsqlite3BtreePrevious(tls *libc.TLS, pCur uintptr, flags int32) int32 { /* sqlite3.c:72187:20: */ +func Xsqlite3BtreePrevious(tls *libc.TLS, pCur uintptr, flags int32) int32 { /* sqlite3.c:72197:20: */ _ = flags // Used in COMDB2 but not native SQLite *(*U8)(unsafe.Pointer(pCur + 1)) &= libc.Uint8FromInt32(libc.CplInt32(BTCF_AtLast | BTCF_ValidOvfl | BTCF_ValidNKey)) @@ -47857,7 +47867,7 @@ func Xsqlite3BtreePrevious(tls *libc.TLS, pCur uintptr, flags int32) int32 { /* // eMode is BTALLOC_LT then the page returned will be less than or equal // to nearby if any such page exists. If eMode is BTALLOC_ANY then there // are no restrictions on which page is returned. -func allocateBtreePage(tls *libc.TLS, pBt uintptr, ppPage uintptr, pPgno uintptr, nearby Pgno, eMode U8) int32 { /* sqlite3.c:72225:12: */ +func allocateBtreePage(tls *libc.TLS, pBt uintptr, ppPage uintptr, pPgno uintptr, nearby Pgno, eMode U8) int32 { /* sqlite3.c:72235:12: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -47924,7 +47934,7 @@ func allocateBtreePage(tls *libc.TLS, pBt uintptr, ppPage uintptr, pPgno uintptr if !(n >= mxPage) { goto __1 } - return Xsqlite3CorruptError(tls, 72249) + return Xsqlite3CorruptError(tls, 72259) __1: ; if !(n > U32(0)) { @@ -48005,7 +48015,7 @@ __15: if !(iTrunk > mxPage || libc.PostIncUint32(&nSearch, 1) > n) { goto __16 } - rc = Xsqlite3CorruptError(tls, 72305) + rc = Xsqlite3CorruptError(tls, 72315) goto __17 __16: rc = btreeGetUnusedPage(tls, pBt, iTrunk, bp+8, 0) @@ -48047,7 +48057,7 @@ __19: goto __22 } // Value of k is out of range. Database corruption - rc = Xsqlite3CorruptError(tls, 72334) + rc = Xsqlite3CorruptError(tls, 72344) goto end_allocate_page goto __23 __22: @@ -48092,7 +48102,7 @@ __27: if !(iNewTrunk > mxPage) { goto __32 } - rc = Xsqlite3CorruptError(tls, 72368) + rc = Xsqlite3CorruptError(tls, 72378) goto end_allocate_page __32: ; @@ -48206,7 +48216,7 @@ __40: if !(iPage > mxPage || iPage < Pgno(2)) { goto __51 } - rc = Xsqlite3CorruptError(tls, 72433) + rc = Xsqlite3CorruptError(tls, 72443) goto end_allocate_page __51: ; @@ -48381,7 +48391,7 @@ end_allocate_page: // // If a pointer to a MemPage object is passed as the second argument, // its reference count is not altered by this function. -func freePage2(tls *libc.TLS, pBt uintptr, pMemPage uintptr, iPage Pgno) int32 { /* sqlite3.c:72547:12: */ +func freePage2(tls *libc.TLS, pBt uintptr, pMemPage uintptr, iPage Pgno) int32 { /* sqlite3.c:72557:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -48402,7 +48412,7 @@ func freePage2(tls *libc.TLS, pBt uintptr, pMemPage uintptr, iPage Pgno) int32 { if !(iPage < Pgno(2) || iPage > (*BtShared)(unsafe.Pointer(pBt)).FnPage) { goto __1 } - return Xsqlite3CorruptError(tls, 72560) + return Xsqlite3CorruptError(tls, 72570) __1: ; if !(pMemPage != 0) { @@ -48472,7 +48482,7 @@ __7: if !(iTrunk > btreePagecount(tls, pBt)) { goto __10 } - *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) = Xsqlite3CorruptError(tls, 72607) + *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) = Xsqlite3CorruptError(tls, 72617) goto freepage_out __10: ; @@ -48489,7 +48499,7 @@ __11: if !(nLeaf > (*BtShared)(unsafe.Pointer(pBt)).FusableSize/U32(4)-U32(2)) { goto __12 } - *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) = Xsqlite3CorruptError(tls, 72618) + *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) = Xsqlite3CorruptError(tls, 72628) goto freepage_out __12: ; @@ -48570,14 +48580,14 @@ __18: return *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) } -func freePage(tls *libc.TLS, pPage uintptr, pRC uintptr) { /* sqlite3.c:72681:13: */ +func freePage(tls *libc.TLS, pPage uintptr, pRC uintptr) { /* sqlite3.c:72691:13: */ if *(*int32)(unsafe.Pointer(pRC)) == SQLITE_OK { *(*int32)(unsafe.Pointer(pRC)) = freePage2(tls, (*MemPage)(unsafe.Pointer(pPage)).FpBt, pPage, (*MemPage)(unsafe.Pointer(pPage)).Fpgno) } } // Free the overflow pages associated with the given Cell. -func clearCellOverflow(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintptr) int32 { /* sqlite3.c:72690:28: */ +func clearCellOverflow(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintptr) int32 { /* sqlite3.c:72700:28: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -48589,7 +48599,7 @@ func clearCellOverflow(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintpt if pCell+uintptr((*CellInfo)(unsafe.Pointer(pInfo)).FnSize) > (*MemPage)(unsafe.Pointer(pPage)).FaDataEnd { // Cell extends past end of page - return Xsqlite3CorruptError(tls, 72707) + return Xsqlite3CorruptError(tls, 72717) } ovflPgno = Xsqlite3Get4byte(tls, pCell+uintptr((*CellInfo)(unsafe.Pointer(pInfo)).FnSize)-uintptr(4)) pBt = (*MemPage)(unsafe.Pointer(pPage)).FpBt @@ -48604,7 +48614,7 @@ func clearCellOverflow(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintpt // 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 Xsqlite3CorruptError(tls, 72724) + return Xsqlite3CorruptError(tls, 72734) } if nOvfl != 0 { rc = getOverflowPage(tls, pBt, ovflPgno, bp, bp+8) @@ -48624,7 +48634,7 @@ func clearCellOverflow(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintpt // enabled. If this 'overflow' page happens to be a page that the // caller is iterating through or using in some other way, this // can be problematic. - rc = Xsqlite3CorruptError(tls, 72744) + rc = Xsqlite3CorruptError(tls, 72754) } else { rc = freePage2(tls, pBt, *(*uintptr)(unsafe.Pointer(bp /* pOvfl */)), ovflPgno) } @@ -48656,7 +48666,7 @@ func clearCellOverflow(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintpt // area. pCell might point to some temporary storage. The cell will // be constructed in this temporary area then copied into pPage->aData // later. -func fillInCell(tls *libc.TLS, pPage uintptr, pCell uintptr, pX uintptr, pnSize uintptr) int32 { /* sqlite3.c:72785:12: */ +func fillInCell(tls *libc.TLS, pPage uintptr, pCell uintptr, pX uintptr, pnSize uintptr) int32 { /* sqlite3.c:72795:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -48838,7 +48848,7 @@ func fillInCell(tls *libc.TLS, pPage uintptr, pCell uintptr, pX uintptr, pnSize // removes the reference to the cell from pPage. // // "sz" must be the number of bytes in the cell. -func dropCell(tls *libc.TLS, pPage uintptr, idx int32, sz int32, pRC uintptr) { /* sqlite3.c:72975:13: */ +func dropCell(tls *libc.TLS, pPage uintptr, idx int32, sz int32, pRC uintptr) { /* sqlite3.c:72985:13: */ var pc U32 // Offset to cell content of cell being deleted var data uintptr // pPage->aData var ptr uintptr // Used to move bytes around within data[] @@ -48856,7 +48866,7 @@ func dropCell(tls *libc.TLS, pPage uintptr, idx int32, sz int32, pRC uintptr) { hdr = int32((*MemPage)(unsafe.Pointer(pPage)).FhdrOffset) if pc+U32(sz) > (*BtShared)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize { - *(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 73003) + *(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 73013) return } rc = freeSpace(tls, pPage, uint16(pc), uint16(sz)) @@ -48892,7 +48902,7 @@ func dropCell(tls *libc.TLS, pPage uintptr, idx int32, sz int32, pRC uintptr) { // pPage->nOverflow is incremented. // // *pRC must be SQLITE_OK when this routine is called. -func insertCell(tls *libc.TLS, pPage uintptr, i int32, pCell uintptr, sz int32, pTemp uintptr, iChild Pgno, pRC uintptr) { /* sqlite3.c:73039:13: */ +func insertCell(tls *libc.TLS, pPage uintptr, i int32, pCell uintptr, sz int32, pTemp uintptr, iChild Pgno, pRC uintptr) { /* sqlite3.c:73049:13: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -49053,7 +49063,7 @@ type CellArray1 = struct { FszCell uintptr FapEnd [6]uintptr FixNx [6]int32 -} /* sqlite3.c:73214:9 */ +} /* sqlite3.c:73224:9 */ // The following parameters determine how many adjacent pages get involved // in a balancing operation. NN is the number of neighbors on either side @@ -49130,11 +49140,11 @@ type CellArray1 = struct { // cases, ixNx[] entries with higher indexes, and the corresponding apEnd[] // entries, shift down. The end result is that each ixNx[] entry should // be larger than the previous -type CellArray = CellArray1 /* sqlite3.c:73214:26 */ +type CellArray = CellArray1 /* sqlite3.c:73224:26 */ // Make sure the cell sizes at idx, idx+1, ..., idx+N-1 have been // computed. -func populateCellCache(tls *libc.TLS, p uintptr, idx int32, N int32) { /* sqlite3.c:73228:13: */ +func populateCellCache(tls *libc.TLS, p uintptr, idx int32, N int32) { /* sqlite3.c:73238:13: */ for N > 0 { @@ -49151,7 +49161,7 @@ func populateCellCache(tls *libc.TLS, p uintptr, idx int32, N int32) { /* sqlite } // Return the size of the Nth element of the cell array -func computeCellSize(tls *libc.TLS, p uintptr, N int32) U16 { /* sqlite3.c:73246:28: */ +func computeCellSize(tls *libc.TLS, p uintptr, N int32) U16 { /* sqlite3.c:73256:28: */ *(*U16)(unsafe.Pointer((*CellArray)(unsafe.Pointer(p)).FszCell + uintptr(N)*2)) = (*struct { f func(*libc.TLS, uintptr, uintptr) U16 @@ -49159,7 +49169,7 @@ func computeCellSize(tls *libc.TLS, p uintptr, N int32) U16 { /* sqlite3.c:73246 return *(*U16)(unsafe.Pointer((*CellArray)(unsafe.Pointer(p)).FszCell + uintptr(N)*2)) } -func cachedCellSize(tls *libc.TLS, p uintptr, N int32) U16 { /* sqlite3.c:73252:12: */ +func cachedCellSize(tls *libc.TLS, p uintptr, N int32) U16 { /* sqlite3.c:73262:12: */ if *(*U16)(unsafe.Pointer((*CellArray)(unsafe.Pointer(p)).FszCell + uintptr(N)*2)) != 0 { return *(*U16)(unsafe.Pointer((*CellArray)(unsafe.Pointer(p)).FszCell + uintptr(N)*2)) @@ -49178,7 +49188,7 @@ func cachedCellSize(tls *libc.TLS, p uintptr, N int32) U16 { /* sqlite3.c:73252: // // The MemPage.nFree field is invalidated by this function. It is the // responsibility of the caller to set it correctly. -func rebuildPage(tls *libc.TLS, pCArray uintptr, iFirst int32, nCell int32, pPg uintptr) int32 { /* sqlite3.c:73271:12: */ +func rebuildPage(tls *libc.TLS, pCArray uintptr, iFirst int32, nCell int32, pPg uintptr) int32 { /* sqlite3.c:73281:12: */ var hdr int32 = int32((*MemPage)(unsafe.Pointer(pPg)).FhdrOffset) // Offset of header on pPg var aData uintptr = (*MemPage)(unsafe.Pointer(pPg)).FaData // Pointer to data for pPg var usableSize int32 = int32((*BtShared)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPg)).FpBt)).FusableSize) @@ -49209,12 +49219,12 @@ func rebuildPage(tls *libc.TLS, pCArray uintptr, iFirst int32, nCell int32, pPg if Uptr(pCell) >= Uptr(aData+uintptr(j)) && Uptr(pCell) < Uptr(pEnd) { if Uptr(pCell+uintptr(sz)) > Uptr(pEnd) { - return Xsqlite3CorruptError(tls, 73304) + return Xsqlite3CorruptError(tls, 73314) } pCell = pTmp + uintptr((int64(pCell)-int64(aData))/1) } else if Uptr(pCell+uintptr(sz)) > Uptr(pSrcEnd) && Uptr(pCell) < Uptr(pSrcEnd) { - return Xsqlite3CorruptError(tls, 73309) + return Xsqlite3CorruptError(tls, 73319) } pData -= uintptr(sz) @@ -49222,7 +49232,7 @@ func rebuildPage(tls *libc.TLS, pCArray uintptr, iFirst int32, nCell int32, pPg *(*U8)(unsafe.Pointer(pCellptr + 1)) = U8((int64(pData) - int64(aData)) / 1) pCellptr += uintptr(2) if pData < pCellptr { - return Xsqlite3CorruptError(tls, 73315) + return Xsqlite3CorruptError(tls, 73325) } libc.Xmemmove(tls, pData, pCell, uint64(sz)) @@ -49272,7 +49282,7 @@ func rebuildPage(tls *libc.TLS, pCArray uintptr, iFirst int32, nCell int32, pPg // all cells - not just those inserted by the current call). If the content // area must be extended to before this point in order to accomodate all // cells in apCell[], then the cells do not fit and non-zero is returned. -func pageInsertArray(tls *libc.TLS, pPg uintptr, pBegin uintptr, ppData uintptr, pCellptr uintptr, iFirst int32, nCell int32, pCArray uintptr) int32 { /* sqlite3.c:73361:12: */ +func pageInsertArray(tls *libc.TLS, pPg uintptr, pBegin uintptr, ppData uintptr, pCellptr uintptr, iFirst int32, nCell int32, pCArray uintptr) int32 { /* sqlite3.c:73371:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -49310,7 +49320,7 @@ func pageInsertArray(tls *libc.TLS, pPg uintptr, pBegin uintptr, ppData uintptr, if Uptr(*(*uintptr)(unsafe.Pointer((*CellArray)(unsafe.Pointer(pCArray)).FapCell + uintptr(i)*8))+uintptr(sz)) > Uptr(pEnd) && Uptr(*(*uintptr)(unsafe.Pointer((*CellArray)(unsafe.Pointer(pCArray)).FapCell + uintptr(i)*8))) < Uptr(pEnd) { - Xsqlite3CorruptError(tls, 73400) + Xsqlite3CorruptError(tls, 73410) return 1 } libc.Xmemmove(tls, pSlot, *(*uintptr)(unsafe.Pointer((*CellArray)(unsafe.Pointer(pCArray)).FapCell + uintptr(i)*8)), uint64(sz)) @@ -49337,7 +49347,7 @@ func pageInsertArray(tls *libc.TLS, pPg uintptr, pBegin uintptr, ppData uintptr, // The cell-pointers and other fields of the page are not updated. // // This function returns the total number of cells added to the free-list. -func pageFreeArray(tls *libc.TLS, pPg uintptr, iFirst int32, nCell int32, pCArray uintptr) int32 { /* sqlite3.c:73426:12: */ +func pageFreeArray(tls *libc.TLS, pPg uintptr, iFirst int32, nCell int32, pCArray uintptr) int32 { /* sqlite3.c:73436:12: */ var aData uintptr = (*MemPage)(unsafe.Pointer(pPg)).FaData var pEnd uintptr = aData + uintptr((*BtShared)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPg)).FpBt)).FusableSize) var pStart uintptr = aData + uintptr(int32((*MemPage)(unsafe.Pointer(pPg)).FhdrOffset)+8+int32((*MemPage)(unsafe.Pointer(pPg)).FchildPtrSize)) @@ -49389,7 +49399,7 @@ func pageFreeArray(tls *libc.TLS, pPg uintptr, iFirst int32, nCell int32, pCArra // // The pPg->nFree field is invalid when this function returns. It is the // responsibility of the caller to set it correctly. -func editPage(tls *libc.TLS, pPg uintptr, iOld int32, iNew int32, nNew int32, pCArray uintptr) int32 { /* sqlite3.c:73485:12: */ +func editPage(tls *libc.TLS, pPg uintptr, iOld int32, iNew int32, nNew int32, pCArray uintptr) int32 { /* sqlite3.c:73495:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -49423,7 +49433,7 @@ func editPage(tls *libc.TLS, pPg uintptr, iOld int32, iNew int32, nNew int32, pC if !(nShift > nCell) { goto __2 } - return Xsqlite3CorruptError(tls, 73511) + return Xsqlite3CorruptError(tls, 73521) __2: ; libc.Xmemmove(tls, (*MemPage)(unsafe.Pointer(pPg)).FaCellIdx, (*MemPage)(unsafe.Pointer(pPg)).FaCellIdx+uintptr(nShift*2), uint64(nCell*2)) @@ -49563,7 +49573,7 @@ editpage_fail: // byte page number followed by a variable length integer. In other // words, at most 13 bytes. Hence the pSpace buffer must be at // least 13 bytes in size. -func balance_quick(tls *libc.TLS, pParent uintptr, pPage uintptr, pSpace uintptr) int32 { /* sqlite3.c:73614:12: */ +func balance_quick(tls *libc.TLS, pParent uintptr, pPage uintptr, pSpace uintptr) int32 { /* sqlite3.c:73624:12: */ bp := tls.Alloc(140) defer tls.Free(140) @@ -49576,7 +49586,7 @@ func balance_quick(tls *libc.TLS, pParent uintptr, pPage uintptr, pSpace uintptr // Page number of pNew if int32((*MemPage)(unsafe.Pointer(pPage)).FnCell) == 0 { - return Xsqlite3CorruptError(tls, 73624) + return Xsqlite3CorruptError(tls, 73634) } // dbfuzz001.test // Allocate a new page. This page will become the right-sibling of @@ -49674,7 +49684,7 @@ func balance_quick(tls *libc.TLS, pParent uintptr, pPage uintptr, pSpace uintptr // The performance of this function is not critical. It is only used by // the balance_shallower() and balance_deeper() procedures, neither of // which are called often under normal circumstances. -func copyNodeContent(tls *libc.TLS, pFrom uintptr, pTo uintptr, pRC uintptr) { /* sqlite3.c:73769:13: */ +func copyNodeContent(tls *libc.TLS, pFrom uintptr, pTo uintptr, pRC uintptr) { /* sqlite3.c:73779:13: */ if *(*int32)(unsafe.Pointer(pRC)) == SQLITE_OK { var pBt uintptr = (*MemPage)(unsafe.Pointer(pFrom)).FpBt var aFrom uintptr = (*MemPage)(unsafe.Pointer(pFrom)).FaData @@ -49754,7 +49764,7 @@ func copyNodeContent(tls *libc.TLS, pFrom uintptr, pTo uintptr, pRC uintptr) { / // // If aOvflSpace is set to a null pointer, this function returns // SQLITE_NOMEM. -func balance_nonroot(tls *libc.TLS, pParent uintptr, iParentIdx int32, aOvflSpace uintptr, isRoot int32, bBulk int32) int32 { /* sqlite3.c:73851:12: */ +func balance_nonroot(tls *libc.TLS, pParent uintptr, iParentIdx int32, aOvflSpace uintptr, isRoot int32, bBulk int32) int32 { /* sqlite3.c:73861:12: */ bp := tls.Alloc(344) defer tls.Free(344) @@ -50056,7 +50066,7 @@ __22: if !(int32(*(*U8)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pOld)).FaData))) != int32(*(*U8)(unsafe.Pointer((*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 112)))).FaData)))) { goto __25 } - *(*int32)(unsafe.Pointer(bp + 172 /* rc */)) = Xsqlite3CorruptError(tls, 74047) + *(*int32)(unsafe.Pointer(bp + 172 /* rc */)) = Xsqlite3CorruptError(tls, 74057) goto balance_cleanup __25: ; @@ -50084,7 +50094,7 @@ __25: if !(limit < int32(*(*U16)(unsafe.Pointer(pOld + 28)))) { goto __27 } - *(*int32)(unsafe.Pointer(bp + 172 /* rc */)) = Xsqlite3CorruptError(tls, 74071) + *(*int32)(unsafe.Pointer(bp + 172 /* rc */)) = Xsqlite3CorruptError(tls, 74081) goto balance_cleanup __27: ; @@ -50263,7 +50273,7 @@ __52: if !(k > NB+2) { goto __55 } - *(*int32)(unsafe.Pointer(bp + 172 /* rc */)) = Xsqlite3CorruptError(tls, 74172) + *(*int32)(unsafe.Pointer(bp + 172 /* rc */)) = Xsqlite3CorruptError(tls, 74182) goto balance_cleanup __55: ; @@ -50337,7 +50347,7 @@ __65: }()) { goto __67 } - *(*int32)(unsafe.Pointer(bp + 172 /* rc */)) = Xsqlite3CorruptError(tls, 74205) + *(*int32)(unsafe.Pointer(bp + 172 /* rc */)) = Xsqlite3CorruptError(tls, 74215) goto balance_cleanup __67: ; @@ -50410,7 +50420,7 @@ __73: }()) { goto __75 } - *(*int32)(unsafe.Pointer(bp + 172 /* rc */)) = Xsqlite3CorruptError(tls, 74247) + *(*int32)(unsafe.Pointer(bp + 172 /* rc */)) = Xsqlite3CorruptError(tls, 74257) goto balance_cleanup __75: ; @@ -50447,7 +50457,7 @@ __76: *(*int32)(unsafe.Pointer(bp + 172)) == SQLITE_OK) { goto __81 } - *(*int32)(unsafe.Pointer(bp + 172 /* rc */)) = Xsqlite3CorruptError(tls, 74280) + *(*int32)(unsafe.Pointer(bp + 172 /* rc */)) = Xsqlite3CorruptError(tls, 74290) __81: ; if !(*(*int32)(unsafe.Pointer(bp + 172)) != 0) { @@ -50531,7 +50541,7 @@ __89: // cache with two separate objects associated with the same // page number. - *(*int32)(unsafe.Pointer(bp + 172 /* rc */)) = Xsqlite3CorruptError(tls, 74326) + *(*int32)(unsafe.Pointer(bp + 172 /* rc */)) = Xsqlite3CorruptError(tls, 74336) goto balance_cleanup __92: ; @@ -50784,7 +50794,7 @@ __125: if !(Uptr(pSrcEnd) >= Uptr(pCell1) && Uptr(pSrcEnd) < Uptr(pCell1+uintptr(sz2))) { goto __126 } - *(*int32)(unsafe.Pointer(bp + 172 /* rc */)) = Xsqlite3CorruptError(tls, 74483) + *(*int32)(unsafe.Pointer(bp + 172 /* rc */)) = Xsqlite3CorruptError(tls, 74493) goto balance_cleanup __126: ; @@ -51006,7 +51016,7 @@ __150: // page and SQLITE_OK is returned. In this case the caller is required // to call releasePage() on *ppChild exactly once. If an error occurs, // an error code is returned and *ppChild is set to 0. -func balance_deeper(tls *libc.TLS, pRoot uintptr, ppChild uintptr) int32 { /* sqlite3.c:74648:12: */ +func balance_deeper(tls *libc.TLS, pRoot uintptr, ppChild uintptr) int32 { /* sqlite3.c:74658:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -51057,13 +51067,13 @@ func balance_deeper(tls *libc.TLS, pRoot uintptr, ppChild uintptr) int32 { /* sq // table linked to the same b-tree. If the secondary insert causes a // rebalance, that can change content out from under the cursor on the // first SQL table, violating invariants on the first insert. -func anotherValidCursor(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:74706:12: */ +func anotherValidCursor(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:74716:12: */ var pOther uintptr for pOther = (*BtShared)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pCur)).FpBt)).FpCursor; pOther != 0; pOther = (*BtCursor)(unsafe.Pointer(pOther)).FpNext { if pOther != pCur && int32((*BtCursor)(unsafe.Pointer(pOther)).FeState) == CURSOR_VALID && (*BtCursor)(unsafe.Pointer(pOther)).FpPage == (*BtCursor)(unsafe.Pointer(pCur)).FpPage { - return Xsqlite3CorruptError(tls, 74713) + return Xsqlite3CorruptError(tls, 74723) } } return SQLITE_OK @@ -51077,7 +51087,7 @@ func anotherValidCursor(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:74706: // balance_quick() // balance_deeper() // balance_nonroot() -func balance(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:74729:12: */ +func balance(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:74739:12: */ bp := tls.Alloc(13) defer tls.Free(13) @@ -51196,7 +51206,7 @@ func balance(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:74729:12: */ // Overwrite content from pX into pDest. Only do the write if the // content is different from what is already there. -func btreeOverwriteContent(tls *libc.TLS, pPage uintptr, pDest uintptr, pX uintptr, iOffset int32, iAmt int32) int32 { /* sqlite3.c:74855:12: */ +func btreeOverwriteContent(tls *libc.TLS, pPage uintptr, pDest uintptr, pX uintptr, iOffset int32, iAmt int32) int32 { /* sqlite3.c:74865:12: */ var nData int32 = (*BtreePayload)(unsafe.Pointer(pX)).FnData - iOffset if nData <= 0 { // Overwritting with zeros @@ -51238,7 +51248,7 @@ func btreeOverwriteContent(tls *libc.TLS, pPage uintptr, pDest uintptr, pX uintp // Overwrite the cell that cursor pCur is pointing to with fresh content // contained in pX. -func btreeOverwriteCell(tls *libc.TLS, pCur uintptr, pX uintptr) int32 { /* sqlite3.c:74898:12: */ +func btreeOverwriteCell(tls *libc.TLS, pCur uintptr, pX uintptr) int32 { /* sqlite3.c:74908:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -51252,7 +51262,7 @@ func btreeOverwriteCell(tls *libc.TLS, pCur uintptr, pX uintptr) int32 { /* sqli if (*BtCursor)(unsafe.Pointer(pCur)).Finfo.FpPayload+uintptr((*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnLocal) > (*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FaDataEnd || (*BtCursor)(unsafe.Pointer(pCur)).Finfo.FpPayload < (*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FaData+uintptr((*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FcellOffset) { - return Xsqlite3CorruptError(tls, 74910) + return Xsqlite3CorruptError(tls, 74920) } // Overwrite the local portion first rc = btreeOverwriteContent(tls, *(*uintptr)(unsafe.Pointer(bp /* pPage */)), (*BtCursor)(unsafe.Pointer(pCur)).Finfo.FpPayload, pX, @@ -51276,7 +51286,7 @@ func btreeOverwriteCell(tls *libc.TLS, pCur uintptr, pX uintptr) int32 { /* sqli return rc } if Xsqlite3PagerPageRefcount(tls, (*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FpDbPage) != 1 || (*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FisInit != 0 { - rc = Xsqlite3CorruptError(tls, 74929) + rc = Xsqlite3CorruptError(tls, 74939) } else { if U32(iOffset)+ovflPageSize < U32(nTotal) { ovflPgno = Xsqlite3Get4byte(tls, (*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* pPage */)))).FaData) @@ -51323,7 +51333,7 @@ func btreeOverwriteCell(tls *libc.TLS, pCur uintptr, pX uintptr) int32 { /* sqli // if pX->nMem is non-zero, then pX->aMem contains pointers to the unpacked // key values and pX->aMem can be used instead of pX->pKey to avoid having // to decode the key. -func Xsqlite3BtreeInsert(tls *libc.TLS, pCur uintptr, pX uintptr, flags int32, seekResult int32) int32 { /* sqlite3.c:74977:20: */ +func Xsqlite3BtreeInsert(tls *libc.TLS, pCur uintptr, pX uintptr, flags int32, seekResult int32) int32 { /* sqlite3.c:74987:20: */ bp := tls.Alloc(136) defer tls.Free(136) @@ -51353,20 +51363,6 @@ func Xsqlite3BtreeInsert(tls *libc.TLS, pCur uintptr, pX uintptr, flags int32, s pBt = (*Btree)(unsafe.Pointer(p)).FpBt newCell = uintptr(0) - if !(int32((*BtCursor)(unsafe.Pointer(pCur)).FeState) == CURSOR_FAULT) { - goto __1 - } - - return (*BtCursor)(unsafe.Pointer(pCur)).FskipNext -__1: - ; - - // Assert that the caller has been consistent. If this cursor was opened - // expecting an index b-tree, then the caller should be inserting blob - // keys with no associated data. If the cursor was opened expecting an - // intkey table, the caller should be inserting integer keys with a - // blob of associated data. - // Save the positions of any other cursors open on this table. // // In some cases, the call to btreeMoveto() below is a no-op. For @@ -51378,40 +51374,59 @@ __1: // doing any work. To avoid thwarting these optimizations, it is important // not to clear the cursor here. if !(int32((*BtCursor)(unsafe.Pointer(pCur)).FcurFlags)&BTCF_Multiple != 0) { - goto __2 + goto __1 } *(*int32)(unsafe.Pointer(bp + 104 /* rc */)) = saveAllCursors(tls, pBt, (*BtCursor)(unsafe.Pointer(pCur)).FpgnoRoot, pCur) if !(*(*int32)(unsafe.Pointer(bp + 104)) != 0) { - goto __3 + goto __2 } return *(*int32)(unsafe.Pointer(bp + 104 /* rc */)) -__3: +__2: ; if !(*(*int32)(unsafe.Pointer(bp)) != 0 && int32((*BtCursor)(unsafe.Pointer(pCur)).FiPage) < 0) { - goto __4 + goto __3 } // This can only happen if the schema is corrupt such that there is more // than one table or index with the same root page as used by the cursor. // 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 Xsqlite3CorruptError(tls, 75034) -__4: + return Xsqlite3CorruptError(tls, 75026) +__3: ; -__2: +__1: ; - if !((*BtCursor)(unsafe.Pointer(pCur)).FpKeyInfo == uintptr(0)) { + if !(int32((*BtCursor)(unsafe.Pointer(pCur)).FeState) >= CURSOR_REQUIRESEEK) { + goto __4 + } + *(*int32)(unsafe.Pointer(bp + 104 /* rc */)) = moveToRoot(tls, pCur) + if !(*(*int32)(unsafe.Pointer(bp + 104)) != 0 && *(*int32)(unsafe.Pointer(bp + 104)) != SQLITE_EMPTY) { goto __5 } + return *(*int32)(unsafe.Pointer(bp + 104 /* rc */)) +__5: + ; +__4: + ; + + // Assert that the caller has been consistent. If this cursor was opened + // expecting an index b-tree, then the caller should be inserting blob + // keys with no associated data. If the cursor was opened expecting an + // intkey table, the caller should be inserting integer keys with a + // blob of associated data. + + if !((*BtCursor)(unsafe.Pointer(pCur)).FpKeyInfo == uintptr(0)) { + goto __6 + } // If this is an insert into a table b-tree, invalidate any incrblob // cursors open on the row being replaced if !((*Btree)(unsafe.Pointer(p)).FhasIncrblobCur != 0) { - goto __7 + goto __8 } invalidateIncrblobCursors(tls, p, (*BtCursor)(unsafe.Pointer(pCur)).FpgnoRoot, (*BtreePayload)(unsafe.Pointer(pX)).FnKey, 0) -__7: +__8: ; // If BTREE_SAVEPOSITION is set, the cursor must already be pointing @@ -51421,24 +51436,24 @@ __7: // that the cursor is not pointing to a row to be overwritten. // So do a complete check. if !(int32((*BtCursor)(unsafe.Pointer(pCur)).FcurFlags)&BTCF_ValidNKey != 0 && (*BtreePayload)(unsafe.Pointer(pX)).FnKey == (*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnKey) { - goto __8 + goto __9 } // The cursor is pointing to the entry that is to be // overwritten if !(int32((*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnSize) != 0 && (*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnPayload == U32((*BtreePayload)(unsafe.Pointer(pX)).FnData)+U32((*BtreePayload)(unsafe.Pointer(pX)).FnZero)) { - goto __10 + goto __11 } // New entry is the same size as the old. Do an overwrite return btreeOverwriteCell(tls, pCur, pX) -__10: +__11: ; - goto __9 -__8: + goto __10 +__9: if !(*(*int32)(unsafe.Pointer(bp)) == 0) { - goto __11 + goto __12 } // The cursor is *not* pointing to the cell to be overwritten, nor // to an adjacent cell. Move the cursor so that it is pointing either @@ -51446,17 +51461,17 @@ __8: *(*int32)(unsafe.Pointer(bp + 104 /* rc */)) = Xsqlite3BtreeTableMoveto(tls, pCur, (*BtreePayload)(unsafe.Pointer(pX)).FnKey, libc.Bool32(flags&BTREE_APPEND != 0), bp) if !(*(*int32)(unsafe.Pointer(bp + 104)) != 0) { - goto __12 + goto __13 } return *(*int32)(unsafe.Pointer(bp + 104 /* rc */)) -__12: +__13: ; -__11: +__12: ; -__9: +__10: ; - goto __6 -__5: + goto __7 +__6: // This is an index or a WITHOUT ROWID table // If BTREE_SAVEPOSITION is set, the cursor must already be pointing @@ -51468,10 +51483,10 @@ __5: // not pointing to an immediately adjacent cell, then move the cursor // so that it does. if !(*(*int32)(unsafe.Pointer(bp)) == 0 && flags&BTREE_SAVEPOSITION == 0) { - goto __13 + goto __14 } if !((*BtreePayload)(unsafe.Pointer(pX)).FnMem != 0) { - goto __14 + goto __15 } (*UnpackedRecord)(unsafe.Pointer(bp + 8 /* &r */)).FpKeyInfo = (*BtCursor)(unsafe.Pointer(pCur)).FpKeyInfo (*UnpackedRecord)(unsafe.Pointer(bp + 8 /* &r */)).FaMem = (*BtreePayload)(unsafe.Pointer(pX)).FaMem @@ -51479,147 +51494,147 @@ __5: (*UnpackedRecord)(unsafe.Pointer(bp + 8 /* &r */)).Fdefault_rc = int8(0) (*UnpackedRecord)(unsafe.Pointer(bp + 8 /* &r */)).FeqSeen = U8(0) *(*int32)(unsafe.Pointer(bp + 104 /* rc */)) = Xsqlite3BtreeIndexMoveto(tls, pCur, bp+8, bp) - goto __15 -__14: + goto __16 +__15: *(*int32)(unsafe.Pointer(bp + 104 /* rc */)) = btreeMoveto(tls, pCur, (*BtreePayload)(unsafe.Pointer(pX)).FpKey, (*BtreePayload)(unsafe.Pointer(pX)).FnKey, libc.Bool32(flags&BTREE_APPEND != 0), bp) -__15: +__16: ; if !(*(*int32)(unsafe.Pointer(bp + 104)) != 0) { - goto __16 + goto __17 } return *(*int32)(unsafe.Pointer(bp + 104 /* rc */)) -__16: +__17: ; -__13: +__14: ; // If the cursor is currently pointing to an entry to be overwritten // and the new content is the same as as the old, then use the // overwrite optimization. if !(*(*int32)(unsafe.Pointer(bp)) == 0) { - goto __17 + goto __18 } getCellInfo(tls, pCur) if !((*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnKey == (*BtreePayload)(unsafe.Pointer(pX)).FnKey) { - goto __18 + goto __19 } (*BtreePayload)(unsafe.Pointer(bp + 32 /* &x2 */)).FpData = (*BtreePayload)(unsafe.Pointer(pX)).FpKey (*BtreePayload)(unsafe.Pointer(bp + 32 /* &x2 */)).FnData = int32((*BtreePayload)(unsafe.Pointer(pX)).FnKey) (*BtreePayload)(unsafe.Pointer(bp + 32 /* &x2 */)).FnZero = 0 return btreeOverwriteCell(tls, pCur, bp+32) -__18: +__19: ; -__17: +__18: ; -__6: +__7: ; pPage = (*BtCursor)(unsafe.Pointer(pCur)).FpPage if !((*MemPage)(unsafe.Pointer(pPage)).FnFree < 0) { - goto __19 + goto __20 } if !(int32((*BtCursor)(unsafe.Pointer(pCur)).FeState) > CURSOR_INVALID) { - goto __20 + goto __21 } - *(*int32)(unsafe.Pointer(bp + 104 /* rc */)) = Xsqlite3CorruptError(tls, 75134) - goto __21 -__20: - *(*int32)(unsafe.Pointer(bp + 104 /* rc */)) = btreeComputeFreeSpace(tls, pPage) + *(*int32)(unsafe.Pointer(bp + 104 /* rc */)) = Xsqlite3CorruptError(tls, 75143) + goto __22 __21: + *(*int32)(unsafe.Pointer(bp + 104 /* rc */)) = btreeComputeFreeSpace(tls, pPage) +__22: ; if !(*(*int32)(unsafe.Pointer(bp + 104)) != 0) { - goto __22 + goto __23 } return *(*int32)(unsafe.Pointer(bp + 104 /* rc */)) -__22: +__23: ; -__19: +__20: ; newCell = (*BtShared)(unsafe.Pointer(pBt)).FpTmpSpace if !(flags&BTREE_PREFORMAT != 0) { - goto __23 + goto __24 } *(*int32)(unsafe.Pointer(bp + 104 /* rc */)) = SQLITE_OK *(*int32)(unsafe.Pointer(bp + 108 /* szNew */)) = (*BtShared)(unsafe.Pointer(pBt)).FnPreformatSize if !(*(*int32)(unsafe.Pointer(bp + 108)) < 4) { - goto __25 + goto __26 } *(*int32)(unsafe.Pointer(bp + 108 /* szNew */)) = 4 -__25: +__26: ; if !((*BtShared)(unsafe.Pointer(pBt)).FautoVacuum != 0 && *(*int32)(unsafe.Pointer(bp + 108)) > int32((*MemPage)(unsafe.Pointer(pPage)).FmaxLocal)) { - goto __26 + goto __27 } (*struct { f func(*libc.TLS, uintptr, uintptr, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*MemPage)(unsafe.Pointer(pPage)).FxParseCell})).f(tls, pPage, newCell, bp+80 /* &info */) if !((*CellInfo)(unsafe.Pointer(bp+80)).FnPayload != U32((*CellInfo)(unsafe.Pointer(bp+80)).FnLocal)) { - goto __27 + goto __28 } ovfl = Xsqlite3Get4byte(tls, newCell+uintptr(*(*int32)(unsafe.Pointer(bp + 108))-4)) ptrmapPut(tls, pBt, ovfl, uint8(PTRMAP_OVERFLOW1), (*MemPage)(unsafe.Pointer(pPage)).Fpgno, bp+104) -__27: +__28: ; -__26: +__27: ; - goto __24 -__23: - *(*int32)(unsafe.Pointer(bp + 104 /* rc */)) = fillInCell(tls, pPage, newCell, pX, bp+108) + goto __25 __24: + *(*int32)(unsafe.Pointer(bp + 104 /* rc */)) = fillInCell(tls, pPage, newCell, pX, bp+108) +__25: ; if !(*(*int32)(unsafe.Pointer(bp + 104)) != 0) { - goto __28 + goto __29 } goto end_insert -__28: +__29: ; idx = int32((*BtCursor)(unsafe.Pointer(pCur)).Fix) if !(*(*int32)(unsafe.Pointer(bp)) == 0) { - goto __29 + goto __30 } if !(idx >= int32((*MemPage)(unsafe.Pointer(pPage)).FnCell)) { - goto __31 + goto __32 } - return Xsqlite3CorruptError(tls, 75170) -__31: + return Xsqlite3CorruptError(tls, 75179) +__32: ; *(*int32)(unsafe.Pointer(bp + 104 /* rc */)) = Xsqlite3PagerWrite(tls, (*MemPage)(unsafe.Pointer(pPage)).FpDbPage) if !(*(*int32)(unsafe.Pointer(bp + 104)) != 0) { - goto __32 + goto __33 } goto end_insert -__32: +__33: ; oldCell = (*MemPage)(unsafe.Pointer(pPage)).FaData + uintptr(int32((*MemPage)(unsafe.Pointer(pPage)).FmaskPage)&(int32(*(*U8)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPage)).FaCellIdx + uintptr(2*idx))))<<8|int32(*(*U8)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPage)).FaCellIdx + uintptr(2*idx) + 1))))) if !!(int32((*MemPage)(unsafe.Pointer(pPage)).Fleaf) != 0) { - goto __33 + goto __34 } libc.Xmemcpy(tls, newCell, oldCell, uint64(4)) -__33: +__34: ; (*struct { f func(*libc.TLS, uintptr, uintptr, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*MemPage)(unsafe.Pointer(pPage)).FxParseCell})).f(tls, pPage, oldCell, bp+112 /* &info1 */) if !(U32((*CellInfo)(unsafe.Pointer(bp+112 /* &info1 */)).FnLocal) != (*CellInfo)(unsafe.Pointer(bp+112 /* &info1 */)).FnPayload) { - goto __34 + goto __35 } *(*int32)(unsafe.Pointer(bp + 104 /* rc */)) = clearCellOverflow(tls, pPage, oldCell, bp+112 /* &info1 */) - goto __35 -__34: - *(*int32)(unsafe.Pointer(bp + 104 /* rc */)) = SQLITE_OK + goto __36 __35: + *(*int32)(unsafe.Pointer(bp + 104 /* rc */)) = SQLITE_OK +__36: ; *(*U8)(unsafe.Pointer(pCur + 1)) &= libc.Uint8FromInt32(libc.CplInt32(BTCF_ValidOvfl)) if !(int32((*CellInfo)(unsafe.Pointer(bp+112)).FnSize) == *(*int32)(unsafe.Pointer(bp + 108)) && U32((*CellInfo)(unsafe.Pointer(bp+112)).FnLocal) == (*CellInfo)(unsafe.Pointer(bp+112)).FnPayload && (!(int32((*BtShared)(unsafe.Pointer(pBt)).FautoVacuum) != 0) || *(*int32)(unsafe.Pointer(bp + 108)) < int32((*MemPage)(unsafe.Pointer(pPage)).FminLocal))) { - goto __36 + goto __37 } // Overwrite the old cell with the new if they are the same size. // We could also try to do this if the old cell is smaller, then add @@ -51632,42 +51647,42 @@ __35: // necessary to add the PTRMAP_OVERFLOW1 pointer-map entry. // clearCell never fails when nLocal==nPayload if !(oldCell < (*MemPage)(unsafe.Pointer(pPage)).FaData+uintptr((*MemPage)(unsafe.Pointer(pPage)).FhdrOffset)+uintptr(10)) { - goto __37 + goto __38 } - return Xsqlite3CorruptError(tls, 75197) -__37: + return Xsqlite3CorruptError(tls, 75206) +__38: ; if !(oldCell+uintptr(*(*int32)(unsafe.Pointer(bp + 108))) > (*MemPage)(unsafe.Pointer(pPage)).FaDataEnd) { - goto __38 + goto __39 } - return Xsqlite3CorruptError(tls, 75200) -__38: + return Xsqlite3CorruptError(tls, 75209) +__39: ; libc.Xmemcpy(tls, oldCell, newCell, uint64(*(*int32)(unsafe.Pointer(bp + 108 /* szNew */)))) return SQLITE_OK -__36: +__37: ; dropCell(tls, pPage, idx, int32((*CellInfo)(unsafe.Pointer(bp+112 /* &info1 */)).FnSize), bp+104) if !(*(*int32)(unsafe.Pointer(bp + 104)) != 0) { - goto __39 + goto __40 } goto end_insert -__39: +__40: ; - goto __30 -__29: + goto __31 +__30: if !(*(*int32)(unsafe.Pointer(bp)) < 0 && int32((*MemPage)(unsafe.Pointer(pPage)).FnCell) > 0) { - goto __40 + goto __41 } idx = int32(libc.PreIncUint16(&(*BtCursor)(unsafe.Pointer(pCur)).Fix, 1)) *(*U8)(unsafe.Pointer(pCur + 1)) &= libc.Uint8FromInt32(libc.CplInt32(BTCF_ValidNKey)) - goto __41 -__40: - ; + goto __42 __41: ; -__30: +__42: + ; +__31: ; insertCell(tls, pPage, idx, newCell, *(*int32)(unsafe.Pointer(bp + 108 /* szNew */)), uintptr(0), uint32(0), bp+104) @@ -51692,7 +51707,7 @@ __30: // row without seeking the cursor. This can be a big performance boost. (*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnSize = U16(0) if !((*MemPage)(unsafe.Pointer(pPage)).FnOverflow != 0) { - goto __42 + goto __43 } *(*U8)(unsafe.Pointer(pCur + 1)) &= libc.Uint8FromInt32(libc.CplInt32(BTCF_ValidNKey)) @@ -51705,30 +51720,30 @@ __30: (*MemPage)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pCur)).FpPage)).FnOverflow = U8(0) (*BtCursor)(unsafe.Pointer(pCur)).FeState = U8(CURSOR_INVALID) if !(flags&BTREE_SAVEPOSITION != 0 && *(*int32)(unsafe.Pointer(bp + 104)) == SQLITE_OK) { - goto __43 + goto __44 } btreeReleaseAllCursorPages(tls, pCur) if !((*BtCursor)(unsafe.Pointer(pCur)).FpKeyInfo != 0) { - goto __44 + goto __45 } (*BtCursor)(unsafe.Pointer(pCur)).FpKey = Xsqlite3Malloc(tls, uint64((*BtreePayload)(unsafe.Pointer(pX)).FnKey)) if !((*BtCursor)(unsafe.Pointer(pCur)).FpKey == uintptr(0)) { - goto __45 + goto __46 } *(*int32)(unsafe.Pointer(bp + 104 /* rc */)) = SQLITE_NOMEM - goto __46 -__45: - libc.Xmemcpy(tls, (*BtCursor)(unsafe.Pointer(pCur)).FpKey, (*BtreePayload)(unsafe.Pointer(pX)).FpKey, uint64((*BtreePayload)(unsafe.Pointer(pX)).FnKey)) + goto __47 __46: + libc.Xmemcpy(tls, (*BtCursor)(unsafe.Pointer(pCur)).FpKey, (*BtreePayload)(unsafe.Pointer(pX)).FpKey, uint64((*BtreePayload)(unsafe.Pointer(pX)).FnKey)) +__47: ; -__44: +__45: ; (*BtCursor)(unsafe.Pointer(pCur)).FeState = U8(CURSOR_REQUIRESEEK) (*BtCursor)(unsafe.Pointer(pCur)).FnKey = (*BtreePayload)(unsafe.Pointer(pX)).FnKey -__43: +__44: ; -__42: +__43: ; end_insert: @@ -51748,7 +51763,7 @@ end_insert: // calling sqlite3BtreeInsert() with the BTREE_PREFORMAT flag specified. // // SQLITE_OK is returned if successful, or an SQLite error code otherwise. -func Xsqlite3BtreeTransferRow(tls *libc.TLS, pDest uintptr, pSrc uintptr, iKey I64) int32 { /* sqlite3.c:75286:20: */ +func Xsqlite3BtreeTransferRow(tls *libc.TLS, pDest uintptr, pSrc uintptr, iKey I64) int32 { /* sqlite3.c:75295:20: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -51775,7 +51790,7 @@ func Xsqlite3BtreeTransferRow(tls *libc.TLS, pDest uintptr, pSrc uintptr, iKey I nIn = U32((*BtCursor)(unsafe.Pointer(pSrc)).Finfo.FnLocal) aIn = (*BtCursor)(unsafe.Pointer(pSrc)).Finfo.FpPayload if aIn+uintptr(nIn) > (*MemPage)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pSrc)).FpPage)).FaDataEnd { - return Xsqlite3CorruptError(tls, 75300) + return Xsqlite3CorruptError(tls, 75309) } nRem = (*BtCursor)(unsafe.Pointer(pSrc)).Finfo.FnPayload if nIn == nRem && nIn < U32((*MemPage)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pDest)).FpPage)).FmaxLocal) { @@ -51798,7 +51813,7 @@ func Xsqlite3BtreeTransferRow(tls *libc.TLS, pDest uintptr, pSrc uintptr, iKey I if nRem > nIn { if aIn+uintptr(nIn)+uintptr(4) > (*MemPage)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pSrc)).FpPage)).FaDataEnd { - return Xsqlite3CorruptError(tls, 75323) + return Xsqlite3CorruptError(tls, 75332) } ovflIn = Xsqlite3Get4byte(tls, (*BtCursor)(unsafe.Pointer(pSrc)).Finfo.FpPayload+uintptr(nIn)) } @@ -51880,7 +51895,7 @@ func Xsqlite3BtreeTransferRow(tls *libc.TLS, pDest uintptr, pSrc uintptr, iKey I // operation on non-FORDELETE cursors is tagged with the AUXDELETE flag. // The BTREE_AUXDELETE bit is a hint that is not used by this implementation, // but which might be used by alternative storage engines. -func Xsqlite3BtreeDelete(tls *libc.TLS, pCur uintptr, flags U8) int32 { /* sqlite3.c:75396:20: */ +func Xsqlite3BtreeDelete(tls *libc.TLS, pCur uintptr, flags U8) int32 { /* sqlite3.c:75405:20: */ bp := tls.Alloc(28) defer tls.Free(28) @@ -51896,11 +51911,15 @@ func Xsqlite3BtreeDelete(tls *libc.TLS, pCur uintptr, flags U8) int32 { /* sqlit // Size of the cell being deleted var bPreserve U8 // Keep cursor valid. 2 for CURSOR_SKIPNEXT - if int32((*BtCursor)(unsafe.Pointer(pCur)).FeState) == CURSOR_REQUIRESEEK { - *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) = btreeRestoreCursorPosition(tls, pCur) + if int32((*BtCursor)(unsafe.Pointer(pCur)).FeState) != CURSOR_VALID { + if int32((*BtCursor)(unsafe.Pointer(pCur)).FeState) >= CURSOR_REQUIRESEEK { + *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) = btreeRestoreCursorPosition(tls, pCur) - if *(*int32)(unsafe.Pointer(bp + 24)) != 0 || int32((*BtCursor)(unsafe.Pointer(pCur)).FeState) != CURSOR_VALID { - return *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) + if *(*int32)(unsafe.Pointer(bp + 24)) != 0 || int32((*BtCursor)(unsafe.Pointer(pCur)).FeState) != CURSOR_VALID { + return *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) + } + } else { + return Xsqlite3CorruptError(tls, 75429) } } @@ -51908,11 +51927,11 @@ func Xsqlite3BtreeDelete(tls *libc.TLS, pCur uintptr, flags U8) int32 { /* sqlit iCellIdx = int32((*BtCursor)(unsafe.Pointer(pCur)).Fix) pPage = (*BtCursor)(unsafe.Pointer(pCur)).FpPage if int32((*MemPage)(unsafe.Pointer(pPage)).FnCell) <= iCellIdx { - return Xsqlite3CorruptError(tls, 75425) + return Xsqlite3CorruptError(tls, 75438) } pCell = (*MemPage)(unsafe.Pointer(pPage)).FaData + uintptr(int32((*MemPage)(unsafe.Pointer(pPage)).FmaskPage)&(int32(*(*U8)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPage)).FaCellIdx + uintptr(2*iCellIdx))))<<8|int32(*(*U8)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPage)).FaCellIdx + uintptr(2*iCellIdx) + 1))))) if (*MemPage)(unsafe.Pointer(pPage)).FnFree < 0 && btreeComputeFreeSpace(tls, pPage) != 0 { - return Xsqlite3CorruptError(tls, 75429) + return Xsqlite3CorruptError(tls, 75442) } // If the BTREE_SAVEPOSITION bit is on, then the cursor position must @@ -52021,7 +52040,7 @@ func Xsqlite3BtreeDelete(tls *libc.TLS, pCur uintptr, flags U8) int32 { /* sqlit } pCell = (*MemPage)(unsafe.Pointer(pLeaf)).FaData + uintptr(int32((*MemPage)(unsafe.Pointer(pLeaf)).FmaskPage)&(int32(*(*U8)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pLeaf)).FaCellIdx + uintptr(2*(int32((*MemPage)(unsafe.Pointer(pLeaf)).FnCell)-1)))))<<8|int32(*(*U8)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pLeaf)).FaCellIdx + uintptr(2*(int32((*MemPage)(unsafe.Pointer(pLeaf)).FnCell)-1)) + 1))))) if pCell < (*MemPage)(unsafe.Pointer(pLeaf)).FaData+4 { - return Xsqlite3CorruptError(tls, 75519) + return Xsqlite3CorruptError(tls, 75532) } nCell = int32((*struct { f func(*libc.TLS, uintptr, uintptr) U16 @@ -52098,7 +52117,7 @@ func Xsqlite3BtreeDelete(tls *libc.TLS, pCur uintptr, flags U8) int32 { /* sqlit // // BTREE_INTKEY|BTREE_LEAFDATA Used for SQL tables with rowid keys // BTREE_ZERODATA Used for SQL indices -func btreeCreateTable(tls *libc.TLS, p uintptr, piTable uintptr, createTabFlags int32) int32 { /* sqlite3.c:75593:12: */ +func btreeCreateTable(tls *libc.TLS, p uintptr, piTable uintptr, createTabFlags int32) int32 { /* sqlite3.c:75606:12: */ bp := tls.Alloc(44) defer tls.Free(44) @@ -52128,7 +52147,7 @@ func btreeCreateTable(tls *libc.TLS, p uintptr, piTable uintptr, createTabFlags // created so far, so the new root-page is (meta[3]+1). Xsqlite3BtreeGetMeta(tls, p, BTREE_LARGEST_ROOT_PAGE, bp) if *(*Pgno)(unsafe.Pointer(bp)) > btreePagecount(tls, pBt) { - return Xsqlite3CorruptError(tls, 75627) + return Xsqlite3CorruptError(tls, 75640) } *(*Pgno)(unsafe.Pointer(bp /* pgnoRoot */))++ @@ -52171,7 +52190,7 @@ func btreeCreateTable(tls *libc.TLS, p uintptr, piTable uintptr, createTabFlags } *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = ptrmapGet(tls, pBt, *(*Pgno)(unsafe.Pointer(bp /* pgnoRoot */)), bp+32, bp+36) if int32(*(*U8)(unsafe.Pointer(bp + 32))) == PTRMAP_ROOTPAGE || int32(*(*U8)(unsafe.Pointer(bp + 32))) == PTRMAP_FREEPAGE { - *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = Xsqlite3CorruptError(tls, 75675) + *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = Xsqlite3CorruptError(tls, 75688) } if *(*int32)(unsafe.Pointer(bp + 40)) != SQLITE_OK { releasePage(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* pRoot */))) @@ -52234,7 +52253,7 @@ func btreeCreateTable(tls *libc.TLS, p uintptr, piTable uintptr, createTabFlags return SQLITE_OK } -func Xsqlite3BtreeCreateTable(tls *libc.TLS, p uintptr, piTable uintptr, flags int32) int32 { /* sqlite3.c:75738:20: */ +func Xsqlite3BtreeCreateTable(tls *libc.TLS, p uintptr, piTable uintptr, flags int32) int32 { /* sqlite3.c:75751:20: */ var rc int32 Xsqlite3BtreeEnter(tls, p) rc = btreeCreateTable(tls, p, piTable, flags) @@ -52244,7 +52263,7 @@ func Xsqlite3BtreeCreateTable(tls *libc.TLS, p uintptr, piTable uintptr, flags i // Erase the given database page and all its children. Return // the page to the freelist. -func clearDatabasePage(tls *libc.TLS, pBt uintptr, pgno Pgno, freePageFlag int32, pnChange uintptr) int32 { /* sqlite3.c:75750:12: */ +func clearDatabasePage(tls *libc.TLS, pBt uintptr, pgno Pgno, freePageFlag int32, pnChange uintptr) int32 { /* sqlite3.c:75763:12: */ bp := tls.Alloc(36) defer tls.Free(36) @@ -52260,7 +52279,7 @@ func clearDatabasePage(tls *libc.TLS, pBt uintptr, pgno Pgno, freePageFlag int32 if !(pgno > btreePagecount(tls, pBt)) { goto __1 } - return Xsqlite3CorruptError(tls, 75765) + return Xsqlite3CorruptError(tls, 75778) __1: ; *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) = getAndInitPage(tls, pBt, pgno, bp, uintptr(0), 0) @@ -52274,7 +52293,7 @@ __2: Xsqlite3PagerPageRefcount(tls, (*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FpDbPage) != 1+libc.Bool32(pgno == Pgno(1))) { goto __3 } - *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) = Xsqlite3CorruptError(tls, 75772) + *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) = Xsqlite3CorruptError(tls, 75785) goto cleardatabasepage_out __3: ; @@ -52378,7 +52397,7 @@ cleardatabasepage_out: // // If pnChange is not NULL, then the integer value pointed to by pnChange // is incremented by the number of entries in the table. -func Xsqlite3BtreeClearTable(tls *libc.TLS, p uintptr, iTable int32, pnChange uintptr) int32 { /* sqlite3.c:75817:20: */ +func Xsqlite3BtreeClearTable(tls *libc.TLS, p uintptr, iTable int32, pnChange uintptr) int32 { /* sqlite3.c:75830:20: */ var rc int32 var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt Xsqlite3BtreeEnter(tls, p) @@ -52401,7 +52420,7 @@ func Xsqlite3BtreeClearTable(tls *libc.TLS, p uintptr, iTable int32, pnChange ui // Delete all information from the single table that pCur is open on. // // This routine only work for pCur on an ephemeral table. -func Xsqlite3BtreeClearTableOfCursor(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:75843:20: */ +func Xsqlite3BtreeClearTableOfCursor(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:75856:20: */ return Xsqlite3BtreeClearTable(tls, (*BtCursor)(unsafe.Pointer(pCur)).FpBtree, int32((*BtCursor)(unsafe.Pointer(pCur)).FpgnoRoot), uintptr(0)) } @@ -52423,7 +52442,7 @@ func Xsqlite3BtreeClearTableOfCursor(tls *libc.TLS, pCur uintptr) int32 { /* sql // the move. If no page gets moved, *piMoved is set to 0. // The last root page is recorded in meta[3] and the value of // meta[3] is updated by this procedure. -func btreeDropTable(tls *libc.TLS, p uintptr, iTable Pgno, piMoved uintptr) int32 { /* sqlite3.c:75867:12: */ +func btreeDropTable(tls *libc.TLS, p uintptr, iTable Pgno, piMoved uintptr) int32 { /* sqlite3.c:75880:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -52433,7 +52452,7 @@ func btreeDropTable(tls *libc.TLS, p uintptr, iTable Pgno, piMoved uintptr) int3 var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt if iTable > btreePagecount(tls, pBt) { - return Xsqlite3CorruptError(tls, 75876) + return Xsqlite3CorruptError(tls, 75889) } *(*int32)(unsafe.Pointer(bp + 12 /* rc */)) = Xsqlite3BtreeClearTable(tls, p, int32(iTable), uintptr(0)) @@ -52505,7 +52524,7 @@ func btreeDropTable(tls *libc.TLS, p uintptr, iTable Pgno, piMoved uintptr) int3 return *(*int32)(unsafe.Pointer(bp + 12 /* rc */)) } -func Xsqlite3BtreeDropTable(tls *libc.TLS, p uintptr, iTable int32, piMoved uintptr) int32 { /* sqlite3.c:75952:20: */ +func Xsqlite3BtreeDropTable(tls *libc.TLS, p uintptr, iTable int32, piMoved uintptr) int32 { /* sqlite3.c:75965:20: */ var rc int32 Xsqlite3BtreeEnter(tls, p) rc = btreeDropTable(tls, p, uint32(iTable), piMoved) @@ -52531,7 +52550,7 @@ func Xsqlite3BtreeDropTable(tls *libc.TLS, p uintptr, iTable int32, piMoved uint // database file. It is a number computed by the pager. But its access // pattern is the same as header meta values, and so it is convenient to // read it from this routine. -func Xsqlite3BtreeGetMeta(tls *libc.TLS, p uintptr, idx int32, pMeta uintptr) { /* sqlite3.c:75981:21: */ +func Xsqlite3BtreeGetMeta(tls *libc.TLS, p uintptr, idx int32, pMeta uintptr) { /* sqlite3.c:75994:21: */ var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt Xsqlite3BtreeEnter(tls, p) @@ -52550,7 +52569,7 @@ func Xsqlite3BtreeGetMeta(tls *libc.TLS, p uintptr, idx int32, pMeta uintptr) { // Write meta-information back into the database. Meta[0] is // read-only and may not be written. -func Xsqlite3BtreeUpdateMeta(tls *libc.TLS, p uintptr, idx int32, iMeta U32) int32 { /* sqlite3.c:76011:20: */ +func Xsqlite3BtreeUpdateMeta(tls *libc.TLS, p uintptr, idx int32, iMeta U32) int32 { /* sqlite3.c:76024:20: */ var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt var pP1 uintptr var rc int32 @@ -52576,7 +52595,7 @@ func Xsqlite3BtreeUpdateMeta(tls *libc.TLS, p uintptr, idx int32, iMeta U32) int // SQLITE_OK is returned if the operation is successfully executed. // Otherwise, if an error is encountered (i.e. an IO error or database // corruption) an SQLite error code is returned. -func Xsqlite3BtreeCount(tls *libc.TLS, db uintptr, pCur uintptr, pnEntry uintptr) int32 { /* sqlite3.c:76043:20: */ +func Xsqlite3BtreeCount(tls *libc.TLS, db uintptr, pCur uintptr, pnEntry uintptr) int32 { /* sqlite3.c:76056:20: */ var nEntry I64 = int64(0) // Value to return in *pnEntry var rc int32 // Return code @@ -52639,12 +52658,12 @@ func Xsqlite3BtreeCount(tls *libc.TLS, db uintptr, pCur uintptr, pnEntry uintptr // Return the pager associated with a BTree. This routine is used for // testing and debugging only. -func Xsqlite3BtreePager(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:76112:22: */ +func Xsqlite3BtreePager(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:76125:22: */ return (*BtShared)(unsafe.Pointer((*Btree)(unsafe.Pointer(p)).FpBt)).FpPager } // Append a message to the error message string. -func checkAppendMsg(tls *libc.TLS, pCheck uintptr, zFormat uintptr, va uintptr) { /* sqlite3.c:76120:13: */ +func checkAppendMsg(tls *libc.TLS, pCheck uintptr, zFormat uintptr, va uintptr) { /* sqlite3.c:76133:13: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -52671,13 +52690,13 @@ func checkAppendMsg(tls *libc.TLS, pCheck uintptr, zFormat uintptr, va uintptr) // Return non-zero if the bit in the IntegrityCk.aPgRef[] array that // corresponds to page iPg is already set. -func getPageReferenced(tls *libc.TLS, pCheck uintptr, iPg Pgno) int32 { /* sqlite3.c:76150:12: */ +func getPageReferenced(tls *libc.TLS, pCheck uintptr, iPg Pgno) int32 { /* sqlite3.c:76163:12: */ return int32(*(*U8)(unsafe.Pointer((*IntegrityCk)(unsafe.Pointer(pCheck)).FaPgRef + uintptr(iPg/Pgno(8))))) & (int32(1) << (iPg & Pgno(0x07))) } // Set the bit in the IntegrityCk.aPgRef[] array that corresponds to page iPg. -func setPageReferenced(tls *libc.TLS, pCheck uintptr, iPg Pgno) { /* sqlite3.c:76158:13: */ +func setPageReferenced(tls *libc.TLS, pCheck uintptr, iPg Pgno) { /* sqlite3.c:76171:13: */ *(*U8)(unsafe.Pointer((*IntegrityCk)(unsafe.Pointer(pCheck)).FaPgRef + uintptr(iPg/Pgno(8)))) |= U8(int32(1) << (iPg & Pgno(0x07))) } @@ -52688,7 +52707,7 @@ func setPageReferenced(tls *libc.TLS, pCheck uintptr, iPg Pgno) { /* sqlite3.c:7 // if this is the first reference to the page. // // Also check that the page number is in bounds. -func checkRef(tls *libc.TLS, pCheck uintptr, iPage Pgno) int32 { /* sqlite3.c:76172:12: */ +func checkRef(tls *libc.TLS, pCheck uintptr, iPage Pgno) int32 { /* sqlite3.c:76185:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -52710,7 +52729,7 @@ func checkRef(tls *libc.TLS, pCheck uintptr, iPage Pgno) int32 { /* sqlite3.c:76 // Check that the entry in the pointer-map for page iChild maps to // page iParent, pointer type ptrType. If not, append an error message // to pCheck. -func checkPtrmap(tls *libc.TLS, pCheck uintptr, iChild Pgno, eType U8, iParent Pgno) { /* sqlite3.c:76192:13: */ +func checkPtrmap(tls *libc.TLS, pCheck uintptr, iChild Pgno, eType U8, iParent Pgno) { /* sqlite3.c:76205:13: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -52737,7 +52756,7 @@ func checkPtrmap(tls *libc.TLS, pCheck uintptr, iChild Pgno, eType U8, iParent P // Check the integrity of the freelist or of an overflow page list. // Verify that the number of pages on the list is N. -func checkList(tls *libc.TLS, pCheck uintptr, isFreeList int32, iPage Pgno, N U32) { /* sqlite3.c:76221:13: */ +func checkList(tls *libc.TLS, pCheck uintptr, isFreeList int32, iPage Pgno, N U32) { /* sqlite3.c:76234:13: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -52821,7 +52840,7 @@ func checkList(tls *libc.TLS, pCheck uintptr, isFreeList int32, iPage Pgno, N U3 // entry represents the span of a cell or freeblock on a btree page. // The upper 16 bits are the index of the first byte of a range and the // lower 16 bits are the index of the last byte of that range. -func btreeHeapInsert(tls *libc.TLS, aHeap uintptr, x U32) { /* sqlite3.c:76310:13: */ +func btreeHeapInsert(tls *libc.TLS, aHeap uintptr, x U32) { /* sqlite3.c:76323:13: */ var j U32 var i U32 = libc.PreIncUint32(&*(*U32)(unsafe.Pointer(aHeap)), 1) *(*U32)(unsafe.Pointer(aHeap + uintptr(i)*4)) = x @@ -52833,7 +52852,7 @@ func btreeHeapInsert(tls *libc.TLS, aHeap uintptr, x U32) { /* sqlite3.c:76310:1 } } -func btreeHeapPull(tls *libc.TLS, aHeap uintptr, pOut uintptr) int32 { /* sqlite3.c:76320:12: */ +func btreeHeapPull(tls *libc.TLS, aHeap uintptr, pOut uintptr) int32 { /* sqlite3.c:76333:12: */ var j U32 var i U32 var x U32 @@ -52872,7 +52891,7 @@ func btreeHeapPull(tls *libc.TLS, aHeap uintptr, pOut uintptr) int32 { /* sqlite // 3. Check the integrity of overflow pages. // 4. Recursively call checkTreePage on all children. // 5. Verify that the depth of all children is the same. -func checkTreePage(tls *libc.TLS, pCheck uintptr, iPage Pgno, piMinKey uintptr, maxKey I64) int32 { /* sqlite3.c:76354:12: */ +func checkTreePage(tls *libc.TLS, pCheck uintptr, iPage Pgno, piMinKey uintptr, maxKey I64) int32 { /* sqlite3.c:76367:12: */ bp := tls.Alloc(140) defer tls.Free(140) *(*I64)(unsafe.Pointer(bp + 104)) = maxKey @@ -53261,7 +53280,7 @@ __34: // since obviously it is not possible to know which pages are covered by // the unverified btrees. Except, if aRoot[1] is 1, then the freelist // checks are still performed. -func Xsqlite3BtreeIntegrityCheck(tls *libc.TLS, db uintptr, p uintptr, aRoot uintptr, nRoot int32, mxErr int32, pnErr uintptr) uintptr { /* sqlite3.c:76633:21: */ +func Xsqlite3BtreeIntegrityCheck(tls *libc.TLS, db uintptr, p uintptr, aRoot uintptr, nRoot int32, mxErr int32, pnErr uintptr) uintptr { /* sqlite3.c:76646:21: */ bp := tls.Alloc(248) defer tls.Free(248) @@ -53495,7 +53514,7 @@ __29: // // The pager filename is invariant as long as the pager is // open so it is safe to access without the BtShared mutex. -func Xsqlite3BtreeGetFilename(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:76788:27: */ +func Xsqlite3BtreeGetFilename(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:76801:27: */ return Xsqlite3PagerFilename(tls, (*BtShared)(unsafe.Pointer((*Btree)(unsafe.Pointer(p)).FpBt)).FpPager, 1) } @@ -53506,14 +53525,14 @@ func Xsqlite3BtreeGetFilename(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:7 // // The pager journal filename is invariant as long as the pager is // open so it is safe to access without the BtShared mutex. -func Xsqlite3BtreeGetJournalname(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:76801:27: */ +func Xsqlite3BtreeGetJournalname(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:76814:27: */ return Xsqlite3PagerJournalname(tls, (*BtShared)(unsafe.Pointer((*Btree)(unsafe.Pointer(p)).FpBt)).FpPager) } // Return one of SQLITE_TXN_NONE, SQLITE_TXN_READ, or SQLITE_TXN_WRITE // to describe the current transaction state of Btree p. -func Xsqlite3BtreeTxnState(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:76810:20: */ +func Xsqlite3BtreeTxnState(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:76823:20: */ if p != 0 { return int32((*Btree)(unsafe.Pointer(p)).FinTrans) @@ -53527,7 +53546,7 @@ func Xsqlite3BtreeTxnState(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:76810: // transaction on the shared-cache the argument Btree is connected to. // // Parameter eMode is one of SQLITE_CHECKPOINT_PASSIVE, FULL or RESTART. -func Xsqlite3BtreeCheckpoint(tls *libc.TLS, p uintptr, eMode int32, pnLog uintptr, pnCkpt uintptr) int32 { /* sqlite3.c:76824:20: */ +func Xsqlite3BtreeCheckpoint(tls *libc.TLS, p uintptr, eMode int32, pnLog uintptr, pnCkpt uintptr) int32 { /* sqlite3.c:76837:20: */ var rc int32 = SQLITE_OK if p != 0 { var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt @@ -53543,7 +53562,7 @@ func Xsqlite3BtreeCheckpoint(tls *libc.TLS, p uintptr, eMode int32, pnLog uintpt } // Return true if there is currently a backup running on Btree p. -func Xsqlite3BtreeIsInBackup(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:76843:20: */ +func Xsqlite3BtreeIsInBackup(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:76856:20: */ return libc.Bool32((*Btree)(unsafe.Pointer(p)).FnBackup != 0) } @@ -53566,7 +53585,7 @@ func Xsqlite3BtreeIsInBackup(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:7684 // xFree argument when the memory allocation was made is invoked on the // blob of allocated memory. The xFree function should not call sqlite3_free() // on the memory, the btree layer does that. -func Xsqlite3BtreeSchema(tls *libc.TLS, p uintptr, nBytes int32, xFree uintptr) uintptr { /* sqlite3.c:76869:21: */ +func Xsqlite3BtreeSchema(tls *libc.TLS, p uintptr, nBytes int32, xFree uintptr) uintptr { /* sqlite3.c:76882:21: */ var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt Xsqlite3BtreeEnter(tls, p) if !(int32((*BtShared)(unsafe.Pointer(pBt)).FpSchema) != 0) && nBytes != 0 { @@ -53580,7 +53599,7 @@ func Xsqlite3BtreeSchema(tls *libc.TLS, p uintptr, nBytes int32, xFree uintptr) // Return SQLITE_LOCKED_SHAREDCACHE if another user of the same shared // btree as the argument handle holds an exclusive lock on the // sqlite_schema table. Otherwise SQLITE_OK. -func Xsqlite3BtreeSchemaLocked(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:76885:20: */ +func Xsqlite3BtreeSchemaLocked(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:76898:20: */ var rc int32 Xsqlite3BtreeEnter(tls, p) @@ -53593,7 +53612,7 @@ func Xsqlite3BtreeSchemaLocked(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:76 // Obtain a lock on the table whose root page is iTab. The // lock is a write lock if isWritelock is true or a read lock // if it is false. -func Xsqlite3BtreeLockTable(tls *libc.TLS, p uintptr, iTab int32, isWriteLock U8) int32 { /* sqlite3.c:76902:20: */ +func Xsqlite3BtreeLockTable(tls *libc.TLS, p uintptr, iTab int32, isWriteLock U8) int32 { /* sqlite3.c:76915:20: */ var rc int32 = SQLITE_OK if (*Btree)(unsafe.Pointer(p)).Fsharable != 0 { @@ -53617,7 +53636,7 @@ func Xsqlite3BtreeLockTable(tls *libc.TLS, p uintptr, iTab int32, isWriteLock U8 // change the length of the data stored. If this function is called with // parameters that attempt to write past the end of the existing data, // no modifications are made and SQLITE_CORRUPT is returned. -func Xsqlite3BtreePutData(tls *libc.TLS, pCsr uintptr, offset U32, amt U32, z uintptr) int32 { /* sqlite3.c:76932:20: */ +func Xsqlite3BtreePutData(tls *libc.TLS, pCsr uintptr, offset U32, amt U32, z uintptr) int32 { /* sqlite3.c:76945:20: */ var rc int32 rc = func() int32 { @@ -53657,7 +53676,7 @@ func Xsqlite3BtreePutData(tls *libc.TLS, pCsr uintptr, offset U32, amt U32, z ui } // Mark this cursor as an incremental blob cursor. -func Xsqlite3BtreeIncrblobCursor(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:76980:21: */ +func Xsqlite3BtreeIncrblobCursor(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:76993:21: */ *(*U8)(unsafe.Pointer(pCur + 1)) |= U8(BTCF_Incrblob) (*Btree)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pCur)).FpBtree)).FhasIncrblobCur = U8(1) } @@ -53665,7 +53684,7 @@ func Xsqlite3BtreeIncrblobCursor(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:769 // Set both the "read version" (single byte at byte offset 18) and // "write version" (single byte at byte offset 19) fields in the database // header to iVersion. -func Xsqlite3BtreeSetVersion(tls *libc.TLS, pBtree uintptr, iVersion int32) int32 { /* sqlite3.c:76991:20: */ +func Xsqlite3BtreeSetVersion(tls *libc.TLS, pBtree uintptr, iVersion int32) int32 { /* sqlite3.c:77004:20: */ var pBt uintptr = (*Btree)(unsafe.Pointer(pBtree)).FpBt var rc int32 // Return code @@ -53697,29 +53716,29 @@ func Xsqlite3BtreeSetVersion(tls *libc.TLS, pBtree uintptr, iVersion int32) int3 // Return true if the cursor has a hint specified. This routine is // only used from within assert() statements -func Xsqlite3BtreeCursorHasHint(tls *libc.TLS, pCsr uintptr, mask uint32) int32 { /* sqlite3.c:77026:20: */ +func Xsqlite3BtreeCursorHasHint(tls *libc.TLS, pCsr uintptr, mask uint32) int32 { /* sqlite3.c:77039:20: */ return libc.Bool32(uint32((*BtCursor)(unsafe.Pointer(pCsr)).Fhints)&mask != uint32(0)) } // Return true if the given Btree is read-only. -func Xsqlite3BtreeIsReadonly(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:77033:20: */ +func Xsqlite3BtreeIsReadonly(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:77046:20: */ return libc.Bool32(int32((*BtShared)(unsafe.Pointer((*Btree)(unsafe.Pointer(p)).FpBt)).FbtsFlags)&BTS_READ_ONLY != 0) } // Return the size of the header added to each page by this module. -func Xsqlite3HeaderSizeBtree(tls *libc.TLS) int32 { /* sqlite3.c:77040:20: */ +func Xsqlite3HeaderSizeBtree(tls *libc.TLS) int32 { /* sqlite3.c:77053:20: */ return int32((uint64(unsafe.Sizeof(MemPage{})) + uint64(7)) & libc.Uint64FromInt32(libc.CplInt32(7))) } // Return true if the Btree passed as the only argument is sharable. -func Xsqlite3BtreeSharable(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:77046:20: */ +func Xsqlite3BtreeSharable(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:77059:20: */ return int32((*Btree)(unsafe.Pointer(p)).Fsharable) } // Return the number of connections to the BtShared object accessed by // the Btree handle passed as the only argument. For private caches // this is always 1. For shared caches it may be 1 or greater. -func Xsqlite3BtreeConnectionCount(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:77055:20: */ +func Xsqlite3BtreeConnectionCount(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:77068:20: */ return (*BtShared)(unsafe.Pointer((*Btree)(unsafe.Pointer(p)).FpBt)).FnRef } @@ -53759,7 +53778,7 @@ func Xsqlite3BtreeConnectionCount(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c // If the "temp" database is requested, it may need to be opened by this // function. If an error occurs while doing so, return 0 and write an // error message to pErrorDb. -func findBtree(tls *libc.TLS, pErrorDb uintptr, pDb uintptr, zDb uintptr) uintptr { /* sqlite3.c:77144:14: */ +func findBtree(tls *libc.TLS, pErrorDb uintptr, pDb uintptr, zDb uintptr) uintptr { /* sqlite3.c:77157:14: */ bp := tls.Alloc(424) defer tls.Free(424) @@ -53791,7 +53810,7 @@ func findBtree(tls *libc.TLS, pErrorDb uintptr, pDb uintptr, zDb uintptr) uintpt // Attempt to set the page size of the destination to match the page size // of the source. -func setDestPgsz(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:77174:12: */ +func setDestPgsz(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:77187:12: */ var rc int32 rc = Xsqlite3BtreeSetPageSize(tls, (*Sqlite3_backup)(unsafe.Pointer(p)).FpDest, Xsqlite3BtreeGetPageSize(tls, (*Sqlite3_backup)(unsafe.Pointer(p)).FpSrc), 0, 0) return rc @@ -53801,7 +53820,7 @@ func setDestPgsz(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:77174:12: */ // second argument. If there is not, return SQLITE_OK. Otherwise, if there // is an open read-transaction, return SQLITE_ERROR and leave an error // message in database handle db. -func checkReadTransaction(tls *libc.TLS, db uintptr, p uintptr) int32 { /* sqlite3.c:77186:12: */ +func checkReadTransaction(tls *libc.TLS, db uintptr, p uintptr) int32 { /* sqlite3.c:77199:12: */ if Xsqlite3BtreeTxnState(tls, p) != SQLITE_TXN_NONE { Xsqlite3ErrorWithMsg(tls, db, SQLITE_ERROR, ts+4798, 0) return SQLITE_ERROR @@ -53815,7 +53834,7 @@ func checkReadTransaction(tls *libc.TLS, db uintptr, p uintptr) int32 { /* sqlit // // If an error occurs, NULL is returned and an error code and error message // stored in database handle pDestDb. -func Xsqlite3_backup_init(tls *libc.TLS, pDestDb uintptr, zDestDb uintptr, pSrcDb uintptr, zSrcDb uintptr) uintptr { /* sqlite3.c:77202:27: */ +func Xsqlite3_backup_init(tls *libc.TLS, pDestDb uintptr, zDestDb uintptr, pSrcDb uintptr, zSrcDb uintptr) uintptr { /* sqlite3.c:77215:27: */ var p uintptr // Value to return // Lock the source database handle. The destination database @@ -53875,14 +53894,14 @@ func Xsqlite3_backup_init(tls *libc.TLS, pDestDb uintptr, zDestDb uintptr, pSrcD // Argument rc is an SQLite error code. Return true if this error is // considered fatal if encountered during a backup operation. All errors // are considered fatal except for SQLITE_BUSY and SQLITE_LOCKED. -func isFatalError(tls *libc.TLS, rc int32) int32 { /* sqlite3.c:77279:12: */ +func isFatalError(tls *libc.TLS, rc int32) int32 { /* sqlite3.c:77292:12: */ return libc.Bool32(rc != SQLITE_OK && rc != SQLITE_BUSY && rc != SQLITE_LOCKED) } // Parameter zSrcData points to a buffer containing the data for // page iSrcPg from the source database. Copy this data into the // destination database. -func backupOnePage(tls *libc.TLS, p uintptr, iSrcPg Pgno, zSrcData uintptr, bUpdate int32) int32 { /* sqlite3.c:77288:12: */ +func backupOnePage(tls *libc.TLS, p uintptr, iSrcPg Pgno, zSrcData uintptr, bUpdate int32) int32 { /* sqlite3.c:77301:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -53944,7 +53963,7 @@ func backupOnePage(tls *libc.TLS, p uintptr, iSrcPg Pgno, zSrcData uintptr, bUpd // // Return SQLITE_OK if everything is successful, or an SQLite error // code if an error occurs. -func backupTruncateFile(tls *libc.TLS, pFile uintptr, iSize I64) int32 { /* sqlite3.c:77357:12: */ +func backupTruncateFile(tls *libc.TLS, pFile uintptr, iSize I64) int32 { /* sqlite3.c:77370:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -53959,7 +53978,7 @@ func backupTruncateFile(tls *libc.TLS, pFile uintptr, iSize I64) int32 { /* sqli // Register this backup object with the associated source pager for // callbacks when pages are changed or the cache invalidated. -func attachBackupObject(tls *libc.TLS, p uintptr) { /* sqlite3.c:77370:13: */ +func attachBackupObject(tls *libc.TLS, p uintptr) { /* sqlite3.c:77383:13: */ var pp uintptr pp = Xsqlite3PagerBackupPtr(tls, Xsqlite3BtreePager(tls, (*Sqlite3_backup)(unsafe.Pointer(p)).FpSrc)) @@ -53969,7 +53988,7 @@ func attachBackupObject(tls *libc.TLS, p uintptr) { /* sqlite3.c:77370:13: */ } // Copy nPage pages from the source b-tree to the destination. -func Xsqlite3_backup_step(tls *libc.TLS, p uintptr, nPage int32) int32 { /* sqlite3.c:77382:16: */ +func Xsqlite3_backup_step(tls *libc.TLS, p uintptr, nPage int32) int32 { /* sqlite3.c:77395:16: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -54207,7 +54226,7 @@ func Xsqlite3_backup_step(tls *libc.TLS, p uintptr, nPage int32) int32 { /* sqli } // Release all resources associated with an sqlite3_backup* handle. -func Xsqlite3_backup_finish(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:77636:16: */ +func Xsqlite3_backup_finish(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:77649:16: */ var pp uintptr // Ptr to head of pagers backup list var pSrcDb uintptr // Source database connection var rc int32 // Value to return @@ -54265,13 +54284,13 @@ func Xsqlite3_backup_finish(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:77636 // Return the number of pages still to be backed up as of the most recent // call to sqlite3_backup_step(). -func Xsqlite3_backup_remaining(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:77690:16: */ +func Xsqlite3_backup_remaining(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:77703:16: */ return int32((*Sqlite3_backup)(unsafe.Pointer(p)).FnRemaining) } // Return the total number of pages in the source database as of the most // recent call to sqlite3_backup_step(). -func Xsqlite3_backup_pagecount(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:77704:16: */ +func Xsqlite3_backup_pagecount(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:77717:16: */ return int32((*Sqlite3_backup)(unsafe.Pointer(p)).FnPagecount) } @@ -54285,7 +54304,7 @@ func Xsqlite3_backup_pagecount(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:77 // It is assumed that the mutex associated with the BtShared object // corresponding to the source database is held when this function is // called. -func backupUpdate(tls *libc.TLS, p uintptr, iPage Pgno, aData uintptr) { /* sqlite3.c:77726:29: */ +func backupUpdate(tls *libc.TLS, p uintptr, iPage Pgno, aData uintptr) { /* sqlite3.c:77739:29: */ for __ccgo := true; __ccgo; __ccgo = libc.AssignUintptr(&p, (*Sqlite3_backup)(unsafe.Pointer(p)).FpNext) != uintptr(0) { @@ -54306,7 +54325,7 @@ func backupUpdate(tls *libc.TLS, p uintptr, iPage Pgno, aData uintptr) { /* sqli } } -func Xsqlite3BackupUpdate(tls *libc.TLS, pBackup uintptr, iPage Pgno, aData uintptr) { /* sqlite3.c:77751:21: */ +func Xsqlite3BackupUpdate(tls *libc.TLS, pBackup uintptr, iPage Pgno, aData uintptr) { /* sqlite3.c:77764:21: */ if pBackup != 0 { backupUpdate(tls, pBackup, iPage, aData) } @@ -54321,7 +54340,7 @@ func Xsqlite3BackupUpdate(tls *libc.TLS, pBackup uintptr, iPage Pgno, aData uint // It is assumed that the mutex associated with the BtShared object // corresponding to the source database is held when this function is // called. -func Xsqlite3BackupRestart(tls *libc.TLS, pBackup uintptr) { /* sqlite3.c:77766:21: */ +func Xsqlite3BackupRestart(tls *libc.TLS, pBackup uintptr) { /* sqlite3.c:77779:21: */ var p uintptr // Iterator variable for p = pBackup; p != 0; p = (*Sqlite3_backup)(unsafe.Pointer(p)).FpNext { @@ -54335,7 +54354,7 @@ func Xsqlite3BackupRestart(tls *libc.TLS, pBackup uintptr) { /* sqlite3.c:77766: // The size of file pTo may be reduced by this operation. If anything // goes wrong, the transaction on pTo is rolled back. If successful, the // transaction is committed before returning. -func Xsqlite3BtreeCopyFile(tls *libc.TLS, pTo uintptr, pFrom uintptr) int32 { /* sqlite3.c:77783:20: */ +func Xsqlite3BtreeCopyFile(tls *libc.TLS, pTo uintptr, pFrom uintptr) int32 { /* sqlite3.c:77796:20: */ bp := tls.Alloc(80) defer tls.Free(80) @@ -54429,7 +54448,7 @@ copy_finished: // Render a Mem object which is one of MEM_Int, MEM_Real, or MEM_IntReal // into a buffer. -func vdbeMemRenderNum(tls *libc.TLS, sz int32, zBuf uintptr, p uintptr) { /* sqlite3.c:77941:13: */ +func vdbeMemRenderNum(tls *libc.TLS, sz int32, zBuf uintptr, p uintptr) { /* sqlite3.c:77954:13: */ bp := tls.Alloc(40) defer tls.Free(40) @@ -54462,7 +54481,7 @@ func vdbeMemRenderNum(tls *libc.TLS, sz int32, zBuf uintptr, p uintptr) { /* sql // SQLITE_OK is returned if the conversion is successful (or not required). // SQLITE_NOMEM may be returned if a malloc() fails during conversion // between formats. -func Xsqlite3VdbeChangeEncoding(tls *libc.TLS, pMem uintptr, desiredEnc int32) int32 { /* sqlite3.c:78034:20: */ +func Xsqlite3VdbeChangeEncoding(tls *libc.TLS, pMem uintptr, desiredEnc int32) int32 { /* sqlite3.c:78047:20: */ var rc int32 if !(int32((*Mem)(unsafe.Pointer(pMem)).Fflags)&MEM_Str != 0) || int32((*Mem)(unsafe.Pointer(pMem)).Fenc) == desiredEnc { @@ -54482,7 +54501,7 @@ func Xsqlite3VdbeChangeEncoding(tls *libc.TLS, pMem uintptr, desiredEnc int32) i // pMem->z into the new allocation. pMem must be either a string or // blob if bPreserve is true. If bPreserve is false, any prior content // in pMem->z is discarded. -func Xsqlite3VdbeMemGrow(tls *libc.TLS, pMem uintptr, n int32, bPreserve int32) int32 { /* sqlite3.c:78069:36: */ +func Xsqlite3VdbeMemGrow(tls *libc.TLS, pMem uintptr, n int32, bPreserve int32) int32 { /* sqlite3.c:78082:36: */ // If the bPreserve flag is set to true, then the memory cell must already // contain a valid string or blob value. @@ -54538,7 +54557,7 @@ func Xsqlite3VdbeMemGrow(tls *libc.TLS, pMem uintptr, n int32, bPreserve int32) // // Return SQLITE_OK on success or an error code (probably SQLITE_NOMEM) // if unable to complete the resizing. -func Xsqlite3VdbeMemClearAndResize(tls *libc.TLS, pMem uintptr, szNew int32) int32 { /* sqlite3.c:78132:20: */ +func Xsqlite3VdbeMemClearAndResize(tls *libc.TLS, pMem uintptr, szNew int32) int32 { /* sqlite3.c:78145:20: */ if (*Mem)(unsafe.Pointer(pMem)).FszMalloc < szNew { return Xsqlite3VdbeMemGrow(tls, pMem, szNew, 0) @@ -54556,7 +54575,7 @@ func Xsqlite3VdbeMemClearAndResize(tls *libc.TLS, pMem uintptr, szNew int32) int // to be a double-zero byte at an even byte boundary in order to // terminate a UTF16 string, even if the initial size of the buffer // is an odd number of bytes. -func vdbeMemAddTerminator(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c:78153:28: */ +func vdbeMemAddTerminator(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c:78166:28: */ if Xsqlite3VdbeMemGrow(tls, pMem, (*Mem)(unsafe.Pointer(pMem)).Fn+3, 1) != 0 { return SQLITE_NOMEM } @@ -54571,7 +54590,7 @@ func vdbeMemAddTerminator(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c:7815 // MEM.zMalloc, where it can be safely written. // // Return SQLITE_OK on success or SQLITE_NOMEM if malloc fails. -func Xsqlite3VdbeMemMakeWriteable(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c:78170:20: */ +func Xsqlite3VdbeMemMakeWriteable(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c:78183:20: */ if int32((*Mem)(unsafe.Pointer(pMem)).Fflags)&(MEM_Str|MEM_Blob) != 0 { if func() int32 { @@ -54596,7 +54615,7 @@ func Xsqlite3VdbeMemMakeWriteable(tls *libc.TLS, pMem uintptr) int32 { /* sqlite // If the given Mem* has a zero-filled tail, turn it into an ordinary // blob stored in dynamically allocated space. -func Xsqlite3VdbeMemExpandBlob(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c:78194:20: */ +func Xsqlite3VdbeMemExpandBlob(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c:78207:20: */ var nByte int32 // Set nByte to the number of bytes required to store the expanded blob. @@ -54618,7 +54637,7 @@ func Xsqlite3VdbeMemExpandBlob(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c } // Make sure the given Mem is \u0000 terminated. -func Xsqlite3VdbeMemNulTerminate(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c:78225:20: */ +func Xsqlite3VdbeMemNulTerminate(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c:78238:20: */ if int32((*Mem)(unsafe.Pointer(pMem)).Fflags)&(MEM_Term|MEM_Str) != MEM_Str { return SQLITE_OK // Nothing to do @@ -54640,7 +54659,7 @@ func Xsqlite3VdbeMemNulTerminate(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3 // sqlite3_value_text()), or for ensuring that values to be used as btree // keys are strings. In the former case a NULL pointer is returned the // user and the latter is an internal programming error. -func Xsqlite3VdbeMemStringify(tls *libc.TLS, pMem uintptr, enc U8, bForce U8) int32 { /* sqlite3.c:78251:20: */ +func Xsqlite3VdbeMemStringify(tls *libc.TLS, pMem uintptr, enc U8, bForce U8) int32 { /* sqlite3.c:78264:20: */ var nByte int32 = 32 if Xsqlite3VdbeMemClearAndResize(tls, pMem, nByte) != 0 { @@ -54666,7 +54685,7 @@ func Xsqlite3VdbeMemStringify(tls *libc.TLS, pMem uintptr, enc U8, bForce U8) in // // Return SQLITE_ERROR if the finalizer reports an error. SQLITE_OK // otherwise. -func Xsqlite3VdbeMemFinalize(tls *libc.TLS, pMem uintptr, pFunc uintptr) int32 { /* sqlite3.c:78286:20: */ +func Xsqlite3VdbeMemFinalize(tls *libc.TLS, pMem uintptr, pFunc uintptr) int32 { /* sqlite3.c:78299:20: */ bp := tls.Alloc(112) defer tls.Free(112) @@ -54696,7 +54715,7 @@ func Xsqlite3VdbeMemFinalize(tls *libc.TLS, pMem uintptr, pFunc uintptr) int32 { // // SQLITE_ERROR is returned if xValue() reports an error. SQLITE_OK // otherwise. -func Xsqlite3VdbeMemAggValue(tls *libc.TLS, pAccum uintptr, pOut uintptr, pFunc uintptr) int32 { /* sqlite3.c:78317:20: */ +func Xsqlite3VdbeMemAggValue(tls *libc.TLS, pAccum uintptr, pOut uintptr, pFunc uintptr) int32 { /* sqlite3.c:78330:20: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -54718,7 +54737,7 @@ func Xsqlite3VdbeMemAggValue(tls *libc.TLS, pAccum uintptr, pOut uintptr, pFunc // This is a helper routine for sqlite3VdbeMemSetNull() and // for sqlite3VdbeMemRelease(). Use those other routines as the // entry point for releasing Mem resources. -func vdbeMemClearExternAndSetNull(tls *libc.TLS, p uintptr) { /* sqlite3.c:78342:29: */ +func vdbeMemClearExternAndSetNull(tls *libc.TLS, p uintptr) { /* sqlite3.c:78355:29: */ if int32((*Mem)(unsafe.Pointer(p)).Fflags)&MEM_Agg != 0 { Xsqlite3VdbeMemFinalize(tls, p, *(*uintptr)(unsafe.Pointer(p))) @@ -54737,7 +54756,7 @@ func vdbeMemClearExternAndSetNull(tls *libc.TLS, p uintptr) { /* sqlite3.c:78342 // This is a helper routine invoked by sqlite3VdbeMemRelease() in // the unusual case where there really is memory in p that needs // to be freed. -func vdbeMemClear(tls *libc.TLS, p uintptr) { /* sqlite3.c:78365:29: */ +func vdbeMemClear(tls *libc.TLS, p uintptr) { /* sqlite3.c:78378:29: */ if int32((*Mem)(unsafe.Pointer(p)).Fflags)&(MEM_Agg|MEM_Dyn) != 0 { vdbeMemClearExternAndSetNull(tls, p) } @@ -54756,7 +54775,7 @@ func vdbeMemClear(tls *libc.TLS, p uintptr) { /* sqlite3.c:78365:29: */ // // Use sqlite3VdbeMemSetNull() to release just the Mem.xDel space // prior to inserting new content into the Mem. -func Xsqlite3VdbeMemRelease(tls *libc.TLS, p uintptr) { /* sqlite3.c:78386:21: */ +func Xsqlite3VdbeMemRelease(tls *libc.TLS, p uintptr) { /* sqlite3.c:78399:21: */ if int32((*Mem)(unsafe.Pointer(p)).Fflags)&(MEM_Agg|MEM_Dyn) != 0 || (*Mem)(unsafe.Pointer(p)).FszMalloc != 0 { vdbeMemClear(tls, p) @@ -54766,7 +54785,7 @@ func Xsqlite3VdbeMemRelease(tls *libc.TLS, p uintptr) { /* sqlite3.c:78386:21: * // Convert a 64-bit IEEE double into a 64-bit signed integer. // If the double is out of range of a 64-bit signed integer then // return the closest available 64-bit signed integer. -func doubleToInt64(tls *libc.TLS, r float64) I64 { /* sqlite3.c:78398:28: */ +func doubleToInt64(tls *libc.TLS, r float64) I64 { /* sqlite3.c:78411:28: */ if r <= float64(minInt) { return minInt @@ -54778,8 +54797,8 @@ func doubleToInt64(tls *libc.TLS, r float64) I64 { /* sqlite3.c:78398:28: */ return I64(0) } -var maxInt I64 = int64(0xffffffff) | I64(int64(0x7fffffff))<<32 /* sqlite3.c:78410:20 */ -var minInt I64 = int64(-1) - (int64(0xffffffff) | I64(int64(0x7fffffff))<<32) /* sqlite3.c:78411:20 */ +var maxInt I64 = int64(0xffffffff) | I64(int64(0x7fffffff))<<32 /* sqlite3.c:78423:20 */ +var minInt I64 = int64(-1) - (int64(0xffffffff) | I64(int64(0x7fffffff))<<32) /* sqlite3.c:78424:20 */ // Return some kind of integer value which is the best we can do // at representing the value that *pMem describes as an integer. @@ -54790,7 +54809,7 @@ var minInt I64 = int64(-1) - (int64(0xffffffff) | I64(int64(0x7fffffff))<<32) /* // an SQL-NULL value, return 0. // // If pMem represents a string value, its encoding might be changed. -func memIntValue(tls *libc.TLS, pMem uintptr) I64 { /* sqlite3.c:78434:28: */ +func memIntValue(tls *libc.TLS, pMem uintptr) I64 { /* sqlite3.c:78447:28: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -54799,7 +54818,7 @@ func memIntValue(tls *libc.TLS, pMem uintptr) I64 { /* sqlite3.c:78434:28: */ return *(*I64)(unsafe.Pointer(bp /* value */)) } -func Xsqlite3VdbeIntValue(tls *libc.TLS, pMem uintptr) I64 { /* sqlite3.c:78439:20: */ +func Xsqlite3VdbeIntValue(tls *libc.TLS, pMem uintptr) I64 { /* sqlite3.c:78452:20: */ var flags int32 flags = int32((*Mem)(unsafe.Pointer(pMem)).Fflags) @@ -54820,7 +54839,7 @@ func Xsqlite3VdbeIntValue(tls *libc.TLS, pMem uintptr) I64 { /* sqlite3.c:78439: // double. If pMem is already a double or an integer, return its // value. If it is a string or blob, try to convert it to a double. // If it is a NULL, return 0.0. -func memRealValue(tls *libc.TLS, pMem uintptr) float64 { /* sqlite3.c:78463:31: */ +func memRealValue(tls *libc.TLS, pMem uintptr) float64 { /* sqlite3.c:78476:31: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -54830,7 +54849,7 @@ func memRealValue(tls *libc.TLS, pMem uintptr) float64 { /* sqlite3.c:78463:31: return *(*float64)(unsafe.Pointer(bp /* val */)) } -func Xsqlite3VdbeRealValue(tls *libc.TLS, pMem uintptr) float64 { /* sqlite3.c:78469:23: */ +func Xsqlite3VdbeRealValue(tls *libc.TLS, pMem uintptr) float64 { /* sqlite3.c:78482:23: */ if int32((*Mem)(unsafe.Pointer(pMem)).Fflags)&MEM_Real != 0 { return *(*float64)(unsafe.Pointer(pMem)) @@ -54848,7 +54867,7 @@ func Xsqlite3VdbeRealValue(tls *libc.TLS, pMem uintptr) float64 { /* sqlite3.c:7 // Return 1 if pMem represents true, and return 0 if pMem represents false. // Return the value ifNull if pMem is NULL. -func Xsqlite3VdbeBooleanValue(tls *libc.TLS, pMem uintptr, ifNull int32) int32 { /* sqlite3.c:78490:20: */ +func Xsqlite3VdbeBooleanValue(tls *libc.TLS, pMem uintptr, ifNull int32) int32 { /* sqlite3.c:78503:20: */ if int32((*Mem)(unsafe.Pointer(pMem)).Fflags)&(MEM_Int|MEM_IntReal) != 0 { return libc.Bool32(*(*I64)(unsafe.Pointer(pMem)) != int64(0)) @@ -54861,7 +54880,7 @@ func Xsqlite3VdbeBooleanValue(tls *libc.TLS, pMem uintptr, ifNull int32) int32 { // The MEM structure is already a MEM_Real. Try to also make it a // MEM_Int if we can. -func Xsqlite3VdbeIntegerAffinity(tls *libc.TLS, pMem uintptr) { /* sqlite3.c:78501:21: */ +func Xsqlite3VdbeIntegerAffinity(tls *libc.TLS, pMem uintptr) { /* sqlite3.c:78514:21: */ var ix I64 ix = doubleToInt64(tls, *(*float64)(unsafe.Pointer(pMem))) @@ -54882,7 +54901,7 @@ func Xsqlite3VdbeIntegerAffinity(tls *libc.TLS, pMem uintptr) { /* sqlite3.c:785 } // Convert pMem to type integer. Invalidate any prior representations. -func Xsqlite3VdbeMemIntegerify(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c:78530:20: */ +func Xsqlite3VdbeMemIntegerify(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c:78543:20: */ *(*I64)(unsafe.Pointer(pMem)) = Xsqlite3VdbeIntValue(tls, pMem) (*Mem)(unsafe.Pointer(pMem)).Fflags = U16(int32((*Mem)(unsafe.Pointer(pMem)).Fflags)&libc.CplInt32(MEM_TypeMask|MEM_Zero) | MEM_Int) @@ -54891,7 +54910,7 @@ func Xsqlite3VdbeMemIntegerify(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c // Convert pMem so that it is of type MEM_Real. // Invalidate any prior representations. -func Xsqlite3VdbeMemRealify(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c:78545:20: */ +func Xsqlite3VdbeMemRealify(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c:78558:20: */ *(*float64)(unsafe.Pointer(pMem)) = Xsqlite3VdbeRealValue(tls, pMem) (*Mem)(unsafe.Pointer(pMem)).Fflags = U16(int32((*Mem)(unsafe.Pointer(pMem)).Fflags)&libc.CplInt32(MEM_TypeMask|MEM_Zero) | MEM_Real) @@ -54906,7 +54925,7 @@ func Xsqlite3VdbeMemRealify(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c:78 // For some versions of GCC on 32-bit machines, if you do the more obvious // comparison of "r1==(double)i" you sometimes get an answer of false even // though the r1 and (double)i values are bit-for-bit the same. -func Xsqlite3RealSameAsInt(tls *libc.TLS, r1 float64, i Sqlite3_int64) int32 { /* sqlite3.c:78564:20: */ +func Xsqlite3RealSameAsInt(tls *libc.TLS, r1 float64, i Sqlite3_int64) int32 { /* sqlite3.c:78577:20: */ bp := tls.Alloc(16) defer tls.Free(16) *(*float64)(unsafe.Pointer(bp)) = r1 @@ -54923,7 +54942,7 @@ func Xsqlite3RealSameAsInt(tls *libc.TLS, r1 float64, i Sqlite3_int64) int32 { / // Every effort is made to force the conversion, even if the input // is a string that does not look completely like a number. Convert // as much of the string as we can and ignore the rest. -func Xsqlite3VdbeMemNumerify(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c:78579:20: */ +func Xsqlite3VdbeMemNumerify(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c:78592:20: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -54950,7 +54969,7 @@ func Xsqlite3VdbeMemNumerify(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c:7 // is forced. In other words, the value is converted into the desired // affinity even if that results in loss of data. This routine is // used (for example) to implement the SQL "cast()" operator. -func Xsqlite3VdbeMemCast(tls *libc.TLS, pMem uintptr, aff U8, encoding U8) int32 { /* sqlite3.c:78612:20: */ +func Xsqlite3VdbeMemCast(tls *libc.TLS, pMem uintptr, aff U8, encoding U8) int32 { /* sqlite3.c:78625:20: */ if int32((*Mem)(unsafe.Pointer(pMem)).Fflags)&MEM_Null != 0 { return SQLITE_OK } @@ -55004,7 +55023,7 @@ func Xsqlite3VdbeMemCast(tls *libc.TLS, pMem uintptr, aff U8, encoding U8) int32 // Initialize bulk memory to be a consistent Mem object. // // The minimum amount of initialization feasible is performed. -func Xsqlite3VdbeMemInit(tls *libc.TLS, pMem uintptr, db uintptr, flags U16) { /* sqlite3.c:78655:21: */ +func Xsqlite3VdbeMemInit(tls *libc.TLS, pMem uintptr, db uintptr, flags U16) { /* sqlite3.c:78668:21: */ (*Mem)(unsafe.Pointer(pMem)).Fflags = flags (*Mem)(unsafe.Pointer(pMem)).Fdb = db @@ -55021,7 +55040,7 @@ func Xsqlite3VdbeMemInit(tls *libc.TLS, pMem uintptr, db uintptr, flags U16) { / // Use this routine to reset the Mem prior to insert a new value. // // Use sqlite3VdbeMemRelease() to complete erase the Mem prior to abandoning it. -func Xsqlite3VdbeMemSetNull(tls *libc.TLS, pMem uintptr) { /* sqlite3.c:78675:21: */ +func Xsqlite3VdbeMemSetNull(tls *libc.TLS, pMem uintptr) { /* sqlite3.c:78688:21: */ if int32((*Mem)(unsafe.Pointer(pMem)).Fflags)&(MEM_Agg|MEM_Dyn) != 0 { vdbeMemClearExternAndSetNull(tls, pMem) } else { @@ -55029,13 +55048,13 @@ func Xsqlite3VdbeMemSetNull(tls *libc.TLS, pMem uintptr) { /* sqlite3.c:78675:21 } } -func Xsqlite3ValueSetNull(tls *libc.TLS, p uintptr) { /* sqlite3.c:78682:21: */ +func Xsqlite3ValueSetNull(tls *libc.TLS, p uintptr) { /* sqlite3.c:78695:21: */ Xsqlite3VdbeMemSetNull(tls, p) } // Delete any previous value and set the value to be a BLOB of length // n containing all zeros. -func Xsqlite3VdbeMemSetZeroBlob(tls *libc.TLS, pMem uintptr, n int32) { /* sqlite3.c:78691:21: */ +func Xsqlite3VdbeMemSetZeroBlob(tls *libc.TLS, pMem uintptr, n int32) { /* sqlite3.c:78704:21: */ Xsqlite3VdbeMemRelease(tls, pMem) (*Mem)(unsafe.Pointer(pMem)).Fflags = U16(MEM_Blob | MEM_Zero) (*Mem)(unsafe.Pointer(pMem)).Fn = 0 @@ -55050,7 +55069,7 @@ func Xsqlite3VdbeMemSetZeroBlob(tls *libc.TLS, pMem uintptr, n int32) { /* sqlit // The pMem is known to contain content that needs to be destroyed prior // to a value change. So invoke the destructor, then set the value to // a 64-bit integer. -func vdbeReleaseAndSetInt64(tls *libc.TLS, pMem uintptr, val I64) { /* sqlite3.c:78721:29: */ +func vdbeReleaseAndSetInt64(tls *libc.TLS, pMem uintptr, val I64) { /* sqlite3.c:78734:29: */ Xsqlite3VdbeMemSetNull(tls, pMem) *(*I64)(unsafe.Pointer(pMem)) = val (*Mem)(unsafe.Pointer(pMem)).Fflags = U16(MEM_Int) @@ -55058,7 +55077,7 @@ func vdbeReleaseAndSetInt64(tls *libc.TLS, pMem uintptr, val I64) { /* sqlite3.c // Delete any previous value and set the value stored in *pMem to val, // manifest type INTEGER. -func Xsqlite3VdbeMemSetInt64(tls *libc.TLS, pMem uintptr, val I64) { /* sqlite3.c:78731:21: */ +func Xsqlite3VdbeMemSetInt64(tls *libc.TLS, pMem uintptr, val I64) { /* sqlite3.c:78744:21: */ if int32((*Mem)(unsafe.Pointer(pMem)).Fflags)&(MEM_Agg|MEM_Dyn) != 0 { vdbeReleaseAndSetInt64(tls, pMem, val) } else { @@ -55068,13 +55087,13 @@ func Xsqlite3VdbeMemSetInt64(tls *libc.TLS, pMem uintptr, val I64) { /* sqlite3. } // A no-op destructor -func Xsqlite3NoopDestructor(tls *libc.TLS, p uintptr) { /* sqlite3.c:78741:21: */ +func Xsqlite3NoopDestructor(tls *libc.TLS, p uintptr) { /* sqlite3.c:78754:21: */ _ = p } // Set the value stored in *pMem should already be a NULL. // Also store a pointer to go with it. -func Xsqlite3VdbeMemSetPointer(tls *libc.TLS, pMem uintptr, pPtr uintptr, zPType uintptr, xDestructor uintptr) { /* sqlite3.c:78747:21: */ +func Xsqlite3VdbeMemSetPointer(tls *libc.TLS, pMem uintptr, pPtr uintptr, zPType uintptr, xDestructor uintptr) { /* sqlite3.c:78760:21: */ vdbeMemClear(tls, pMem) *(*uintptr)(unsafe.Pointer(pMem)) = func() uintptr { @@ -55096,7 +55115,7 @@ func Xsqlite3VdbeMemSetPointer(tls *libc.TLS, pMem uintptr, pPtr uintptr, zPType // Delete any previous value and set the value stored in *pMem to val, // manifest type REAL. -func Xsqlite3VdbeMemSetDouble(tls *libc.TLS, pMem uintptr, val float64) { /* sqlite3.c:78767:21: */ +func Xsqlite3VdbeMemSetDouble(tls *libc.TLS, pMem uintptr, val float64) { /* sqlite3.c:78780:21: */ Xsqlite3VdbeMemSetNull(tls, pMem) if !(Xsqlite3IsNaN(tls, val) != 0) { *(*float64)(unsafe.Pointer(pMem)) = val @@ -55109,7 +55128,7 @@ func Xsqlite3VdbeMemSetDouble(tls *libc.TLS, pMem uintptr, val float64) { /* sql // // Return SQLITE_OK on success and SQLITE_NOMEM if a memory allocation // error occurs. -func Xsqlite3VdbeMemSetRowSet(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c:78794:20: */ +func Xsqlite3VdbeMemSetRowSet(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c:78807:20: */ var db uintptr = (*Mem)(unsafe.Pointer(pMem)).Fdb var p uintptr @@ -55126,7 +55145,7 @@ func Xsqlite3VdbeMemSetRowSet(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c: // Return true if the Mem object contains a TEXT or BLOB that is // too large - whose size exceeds SQLITE_MAX_LENGTH. -func Xsqlite3VdbeMemTooBig(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:78812:20: */ +func Xsqlite3VdbeMemTooBig(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:78825:20: */ if int32((*Mem)(unsafe.Pointer(p)).Fflags)&(MEM_Str|MEM_Blob) != 0 { var n int32 = (*Mem)(unsafe.Pointer(p)).Fn @@ -55142,13 +55161,13 @@ func Xsqlite3VdbeMemTooBig(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:78812: // pTo are freed. The pFrom->z field is not duplicated. If // pFrom->z is used, then pTo->z points to the same thing as pFrom->z // and flags gets srcType (either MEM_Ephem or MEM_Static). -func vdbeClrCopy(tls *libc.TLS, pTo uintptr, pFrom uintptr, eType int32) { /* sqlite3.c:78868:29: */ +func vdbeClrCopy(tls *libc.TLS, pTo uintptr, pFrom uintptr, eType int32) { /* sqlite3.c:78881:29: */ vdbeMemClearExternAndSetNull(tls, pTo) Xsqlite3VdbeMemShallowCopy(tls, pTo, pFrom, eType) } -func Xsqlite3VdbeMemShallowCopy(tls *libc.TLS, pTo uintptr, pFrom uintptr, srcType int32) { /* sqlite3.c:78873:21: */ +func Xsqlite3VdbeMemShallowCopy(tls *libc.TLS, pTo uintptr, pFrom uintptr, srcType int32) { /* sqlite3.c:78886:21: */ if int32((*Mem)(unsafe.Pointer(pTo)).Fflags)&(MEM_Agg|MEM_Dyn) != 0 { vdbeClrCopy(tls, pTo, pFrom, srcType) @@ -55164,7 +55183,7 @@ func Xsqlite3VdbeMemShallowCopy(tls *libc.TLS, pTo uintptr, pFrom uintptr, srcTy // Make a full copy of pFrom into pTo. Prior contents of pTo are // freed before the copy is made. -func Xsqlite3VdbeMemCopy(tls *libc.TLS, pTo uintptr, pFrom uintptr) int32 { /* sqlite3.c:78889:20: */ +func Xsqlite3VdbeMemCopy(tls *libc.TLS, pTo uintptr, pFrom uintptr) int32 { /* sqlite3.c:78902:20: */ var rc int32 = SQLITE_OK if int32((*Mem)(unsafe.Pointer(pTo)).Fflags)&(MEM_Agg|MEM_Dyn) != 0 { @@ -55186,7 +55205,7 @@ func Xsqlite3VdbeMemCopy(tls *libc.TLS, pTo uintptr, pFrom uintptr) int32 { /* s // freed. If pFrom contains ephemeral data, a copy is made. // // pFrom contains an SQL NULL when this routine returns. -func Xsqlite3VdbeMemMove(tls *libc.TLS, pTo uintptr, pFrom uintptr) { /* sqlite3.c:78912:21: */ +func Xsqlite3VdbeMemMove(tls *libc.TLS, pTo uintptr, pFrom uintptr) { /* sqlite3.c:78925:21: */ Xsqlite3VdbeMemRelease(tls, pTo) libc.Xmemcpy(tls, pTo, pFrom, uint64(unsafe.Sizeof(Mem{}))) @@ -55207,7 +55226,7 @@ func Xsqlite3VdbeMemMove(tls *libc.TLS, pTo uintptr, pFrom uintptr) { /* sqlite3 // stored without allocating memory, then it is. If a memory allocation // is required to store the string, then value of pMem is unchanged. In // either case, SQLITE_TOOBIG is returned. -func Xsqlite3VdbeMemSetStr(tls *libc.TLS, pMem uintptr, z uintptr, n I64, enc U8, xDel uintptr) int32 { /* sqlite3.c:78938:20: */ +func Xsqlite3VdbeMemSetStr(tls *libc.TLS, pMem uintptr, z uintptr, n I64, enc U8, xDel uintptr) int32 { /* sqlite3.c:78951:20: */ var nByte I64 = n // New value for pMem->n var iLimit int32 // Maximum allowed string or blob size var flags U16 = U16(0) // New value for pMem->flags @@ -55320,11 +55339,11 @@ func Xsqlite3VdbeMemSetStr(tls *libc.TLS, pMem uintptr, z uintptr, n I64, enc U8 // // If this routine fails for any reason (malloc returns NULL or unable // to read from the disk) then the pMem is left in an inconsistent state. -func Xsqlite3VdbeMemFromBtree(tls *libc.TLS, pCur uintptr, offset U32, amt U32, pMem uintptr) int32 { /* sqlite3.c:79047:20: */ +func Xsqlite3VdbeMemFromBtree(tls *libc.TLS, pCur uintptr, offset U32, amt U32, pMem uintptr) int32 { /* sqlite3.c:79060:20: */ var rc int32 (*Mem)(unsafe.Pointer(pMem)).Fflags = U16(MEM_Null) if Xsqlite3BtreeMaxRecordSize(tls, pCur) < Sqlite3_int64(offset+amt) { - return Xsqlite3CorruptError(tls, 79056) + return Xsqlite3CorruptError(tls, 79069) } if SQLITE_OK == libc.AssignInt32(&rc, Xsqlite3VdbeMemClearAndResize(tls, pMem, int32(amt+U32(1)))) { rc = Xsqlite3BtreePayload(tls, pCur, offset, amt, (*Mem)(unsafe.Pointer(pMem)).Fz) @@ -55339,7 +55358,7 @@ func Xsqlite3VdbeMemFromBtree(tls *libc.TLS, pCur uintptr, offset U32, amt U32, return rc } -func Xsqlite3VdbeMemFromBtreeZeroOffset(tls *libc.TLS, pCur uintptr, amt U32, pMem uintptr) int32 { /* sqlite3.c:79070:20: */ +func Xsqlite3VdbeMemFromBtreeZeroOffset(tls *libc.TLS, pCur uintptr, amt U32, pMem uintptr) int32 { /* sqlite3.c:79083:20: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -55364,7 +55383,7 @@ func Xsqlite3VdbeMemFromBtreeZeroOffset(tls *libc.TLS, pCur uintptr, amt U32, pM // The pVal argument is known to be a value other than NULL. // Convert it into a string with encoding enc and return a pointer // to a zero-terminated version of that string. -func valueToText(tls *libc.TLS, pVal uintptr, enc U8) uintptr { /* sqlite3.c:79102:35: */ +func valueToText(tls *libc.TLS, pVal uintptr, enc U8) uintptr { /* sqlite3.c:79115:35: */ if int32((*Sqlite3_value)(unsafe.Pointer(pVal)).Fflags)&(MEM_Blob|MEM_Str) != 0 { if func() int32 { @@ -55409,7 +55428,7 @@ func valueToText(tls *libc.TLS, pVal uintptr, enc U8) uintptr { /* sqlite3.c:791 // (2006-02-16:) The enc value can be or-ed with SQLITE_UTF16_ALIGNED. // If that is the case, then the result must be aligned on an even byte // boundary. -func Xsqlite3ValueText(tls *libc.TLS, pVal uintptr, enc U8) uintptr { /* sqlite3.c:79145:27: */ +func Xsqlite3ValueText(tls *libc.TLS, pVal uintptr, enc U8) uintptr { /* sqlite3.c:79158:27: */ if !(pVal != 0) { return uintptr(0) } @@ -55425,7 +55444,7 @@ func Xsqlite3ValueText(tls *libc.TLS, pVal uintptr, enc U8) uintptr { /* sqlite3 } // Create a new sqlite3_value object. -func Xsqlite3ValueNew(tls *libc.TLS, db uintptr) uintptr { /* sqlite3.c:79163:30: */ +func Xsqlite3ValueNew(tls *libc.TLS, db uintptr) uintptr { /* sqlite3.c:79176:30: */ var p uintptr = Xsqlite3DbMallocZero(tls, db, uint64(unsafe.Sizeof(Mem{}))) if p != 0 { (*Mem)(unsafe.Pointer(p)).Fflags = U16(MEM_Null) @@ -55442,7 +55461,7 @@ type ValueNewStat4Ctx = struct { FppRec uintptr FiVal int32 F__ccgo_pad1 [4]byte -} /* sqlite3.c:79176:1 */ +} /* sqlite3.c:79189:1 */ // Allocate and return a pointer to a new sqlite3_value object. If // the second argument to this function is NULL, the object is allocated @@ -55453,7 +55472,7 @@ type ValueNewStat4Ctx = struct { // already been allocated, allocate the UnpackedRecord structure that // that function will return to its caller here. Then return a pointer to // an sqlite3_value within the UnpackedRecord.a[] array. -func valueNew(tls *libc.TLS, db uintptr, p uintptr) uintptr { /* sqlite3.c:79194:22: */ +func valueNew(tls *libc.TLS, db uintptr, p uintptr) uintptr { /* sqlite3.c:79207:22: */ if p != 0 { var pRec uintptr = *(*uintptr)(unsafe.Pointer((*ValueNewStat4Ctx)(unsafe.Pointer(p)).FppRec)) @@ -55509,7 +55528,7 @@ func valueNew(tls *libc.TLS, db uintptr, p uintptr) uintptr { /* sqlite3.c:79194 // If the conditions above are not met, this function returns SQLITE_OK // and sets (*ppVal) to NULL. Or, if an error occurs, (*ppVal) is set to // NULL and an SQLite error code returned. -func valueFromFunction(tls *libc.TLS, db uintptr, p uintptr, enc U8, aff U8, ppVal uintptr, pCtx uintptr) int32 { /* sqlite3.c:79256:12: */ +func valueFromFunction(tls *libc.TLS, db uintptr, p uintptr, enc U8, aff U8, ppVal uintptr, pCtx uintptr) int32 { /* sqlite3.c:79269:12: */ bp := tls.Alloc(64) defer tls.Free(64) @@ -55655,7 +55674,7 @@ __14: // has been allocated, it is freed before returning. Or, if pCtx is not // NULL, it is assumed that the caller will free any allocated object // in all cases. -func valueFromExpr(tls *libc.TLS, db uintptr, pExpr uintptr, enc U8, affinity U8, ppVal uintptr, pCtx uintptr) int32 { /* sqlite3.c:79352:12: */ +func valueFromExpr(tls *libc.TLS, db uintptr, pExpr uintptr, enc U8, affinity U8, ppVal uintptr, pCtx uintptr) int32 { /* sqlite3.c:79365:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -55903,7 +55922,7 @@ __35: // a pointer written to *ppVal. The caller is responsible for deallocating // the value by passing it to sqlite3ValueFree() later on. If the expression // cannot be converted to a value, then *ppVal is set to NULL. -func Xsqlite3ValueFromExpr(tls *libc.TLS, db uintptr, pExpr uintptr, enc U8, affinity U8, ppVal uintptr) int32 { /* sqlite3.c:79507:20: */ +func Xsqlite3ValueFromExpr(tls *libc.TLS, db uintptr, pExpr uintptr, enc U8, affinity U8, ppVal uintptr) int32 { /* sqlite3.c:79520:20: */ if pExpr != 0 { return valueFromExpr(tls, db, pExpr, enc, affinity, ppVal, uintptr(0)) } @@ -55926,7 +55945,7 @@ func Xsqlite3ValueFromExpr(tls *libc.TLS, db uintptr, pExpr uintptr, enc U8, aff // // On success, *ppVal is made to point to the extracted value. The caller // is responsible for ensuring that the value is eventually freed. -func stat4ValueFromExpr(tls *libc.TLS, pParse uintptr, pExpr uintptr, affinity U8, pAlloc uintptr, ppVal uintptr) int32 { /* sqlite3.c:79536:12: */ +func stat4ValueFromExpr(tls *libc.TLS, pParse uintptr, pExpr uintptr, affinity U8, pAlloc uintptr, ppVal uintptr) int32 { /* sqlite3.c:79549:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -55994,7 +56013,7 @@ func stat4ValueFromExpr(tls *libc.TLS, pParse uintptr, pExpr uintptr, affinity U // Unless an error is encountered, SQLITE_OK is returned. It is not an // error if a value cannot be extracted from pExpr. If an error does // occur, an SQLite error code is returned. -func Xsqlite3Stat4ProbeSetValue(tls *libc.TLS, pParse uintptr, pIdx uintptr, ppRec uintptr, pExpr uintptr, nElem int32, iVal int32, pnExtract uintptr) int32 { /* sqlite3.c:79611:20: */ +func Xsqlite3Stat4ProbeSetValue(tls *libc.TLS, pParse uintptr, pIdx uintptr, ppRec uintptr, pExpr uintptr, nElem int32, iVal int32, pnExtract uintptr) int32 { /* sqlite3.c:79624:20: */ bp := tls.Alloc(40) defer tls.Free(40) @@ -56039,7 +56058,7 @@ func Xsqlite3Stat4ProbeSetValue(tls *libc.TLS, pParse uintptr, pIdx uintptr, ppR // (e.g. OOM), return SQLITE_OK and set *ppVal to NULL. Or, if an error // does occur, return an SQLite error code. The final value of *ppVal // is undefined in this case. -func Xsqlite3Stat4ValueFromExpr(tls *libc.TLS, pParse uintptr, pExpr uintptr, affinity U8, ppVal uintptr) int32 { /* sqlite3.c:79656:20: */ +func Xsqlite3Stat4ValueFromExpr(tls *libc.TLS, pParse uintptr, pExpr uintptr, affinity U8, ppVal uintptr) int32 { /* sqlite3.c:79669:20: */ return stat4ValueFromExpr(tls, pParse, pExpr, affinity, uintptr(0), ppVal) } @@ -56049,7 +56068,7 @@ func Xsqlite3Stat4ValueFromExpr(tls *libc.TLS, pParse uintptr, pExpr uintptr, af // // If *ppVal is initially NULL then the caller is responsible for // ensuring that the value written into *ppVal is eventually freed. -func Xsqlite3Stat4Column(tls *libc.TLS, db uintptr, pRec uintptr, nRec int32, iCol int32, ppVal uintptr) int32 { /* sqlite3.c:79673:20: */ +func Xsqlite3Stat4Column(tls *libc.TLS, db uintptr, pRec uintptr, nRec int32, iCol int32, ppVal uintptr) int32 { /* sqlite3.c:79686:20: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -56070,7 +56089,7 @@ func Xsqlite3Stat4Column(tls *libc.TLS, db uintptr, pRec uintptr, nRec int32, iC return Xsqlite3GetVarint32(tls, a, bp) }()) if *(*int32)(unsafe.Pointer(bp)) > nRec || iHdr >= *(*int32)(unsafe.Pointer(bp)) { - return Xsqlite3CorruptError(tls, 79691) + return Xsqlite3CorruptError(tls, 79704) } iField = *(*int32)(unsafe.Pointer(bp /* nHdr */)) for i = 0; i <= iCol; i++ { @@ -56085,14 +56104,14 @@ func Xsqlite3Stat4Column(tls *libc.TLS, db uintptr, pRec uintptr, nRec int32, iC }()) if iHdr > *(*int32)(unsafe.Pointer(bp)) { - return Xsqlite3CorruptError(tls, 79697) + return Xsqlite3CorruptError(tls, 79710) } szField = int32(Xsqlite3VdbeSerialTypeLen(tls, *(*U32)(unsafe.Pointer(bp + 4 /* t */)))) iField = iField + szField } if iField > nRec { - return Xsqlite3CorruptError(tls, 79703) + return Xsqlite3CorruptError(tls, 79716) } if pMem == uintptr(0) { pMem = libc.AssignPtrUintptr(ppVal, Xsqlite3ValueNew(tls, db)) @@ -56108,7 +56127,7 @@ func Xsqlite3Stat4Column(tls *libc.TLS, db uintptr, pRec uintptr, nRec int32, iC // Unless it is NULL, the argument must be an UnpackedRecord object returned // by an earlier call to sqlite3Stat4ProbeSetValue(). This call deletes // the object. -func Xsqlite3Stat4ProbeFree(tls *libc.TLS, pRec uintptr) { /* sqlite3.c:79718:21: */ +func Xsqlite3Stat4ProbeFree(tls *libc.TLS, pRec uintptr) { /* sqlite3.c:79731:21: */ if pRec != 0 { var i int32 var nCol int32 = int32((*KeyInfo)(unsafe.Pointer((*UnpackedRecord)(unsafe.Pointer(pRec)).FpKeyInfo)).FnAllField) @@ -56123,14 +56142,14 @@ func Xsqlite3Stat4ProbeFree(tls *libc.TLS, pRec uintptr) { /* sqlite3.c:79718:21 } // Change the string value of an sqlite3_value object -func Xsqlite3ValueSetStr(tls *libc.TLS, v uintptr, n int32, z uintptr, enc U8, xDel uintptr) { /* sqlite3.c:79736:21: */ +func Xsqlite3ValueSetStr(tls *libc.TLS, v uintptr, n int32, z uintptr, enc U8, xDel uintptr) { /* sqlite3.c:79749:21: */ if v != 0 { Xsqlite3VdbeMemSetStr(tls, v, z, int64(n), enc, xDel) } } // Free an sqlite3_value object -func Xsqlite3ValueFree(tls *libc.TLS, v uintptr) { /* sqlite3.c:79749:21: */ +func Xsqlite3ValueFree(tls *libc.TLS, v uintptr) { /* sqlite3.c:79762:21: */ if !(v != 0) { return } @@ -56141,14 +56160,14 @@ func Xsqlite3ValueFree(tls *libc.TLS, v uintptr) { /* sqlite3.c:79749:21: */ // The sqlite3ValueBytes() routine returns the number of bytes in the // sqlite3_value object assuming that it uses the encoding "enc". // The valueBytes() routine is a helper function. -func valueBytes(tls *libc.TLS, pVal uintptr, enc U8) int32 { /* sqlite3.c:79760:28: */ +func valueBytes(tls *libc.TLS, pVal uintptr, enc U8) int32 { /* sqlite3.c:79773:28: */ if valueToText(tls, pVal, enc) != uintptr(0) { return (*Sqlite3_value)(unsafe.Pointer(pVal)).Fn } return 0 } -func Xsqlite3ValueBytes(tls *libc.TLS, pVal uintptr, enc U8) int32 { /* sqlite3.c:79763:20: */ +func Xsqlite3ValueBytes(tls *libc.TLS, pVal uintptr, enc U8) int32 { /* sqlite3.c:79776:20: */ var p uintptr = pVal if int32((*Mem)(unsafe.Pointer(p)).Fflags)&MEM_Str != 0 && int32((*Sqlite3_value)(unsafe.Pointer(pVal)).Fenc) == int32(enc) { @@ -56168,7 +56187,7 @@ func Xsqlite3ValueBytes(tls *libc.TLS, pVal uintptr, enc U8) int32 { /* sqlite3. } // Create a new virtual database engine. -func Xsqlite3VdbeCreate(tls *libc.TLS, pParse uintptr) uintptr { /* sqlite3.c:79806:21: */ +func Xsqlite3VdbeCreate(tls *libc.TLS, pParse uintptr) uintptr { /* sqlite3.c:79819:21: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb var p uintptr p = Xsqlite3DbMallocRawNN(tls, db, uint64(unsafe.Sizeof(Vdbe{}))) @@ -56192,12 +56211,12 @@ func Xsqlite3VdbeCreate(tls *libc.TLS, pParse uintptr) uintptr { /* sqlite3.c:79 } // Return the Parse object that owns a Vdbe object. -func Xsqlite3VdbeParser(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:79833:22: */ +func Xsqlite3VdbeParser(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:79846:22: */ return (*Vdbe)(unsafe.Pointer(p)).FpParse } // Change the error string stored in Vdbe.zErrMsg -func Xsqlite3VdbeError(tls *libc.TLS, p uintptr, zFormat uintptr, va uintptr) { /* sqlite3.c:79840:21: */ +func Xsqlite3VdbeError(tls *libc.TLS, p uintptr, zFormat uintptr, va uintptr) { /* sqlite3.c:79853:21: */ var ap Va_list _ = ap Xsqlite3DbFree(tls, (*Vdbe)(unsafe.Pointer(p)).Fdb, (*Vdbe)(unsafe.Pointer(p)).FzErrMsg) @@ -56207,7 +56226,7 @@ func Xsqlite3VdbeError(tls *libc.TLS, p uintptr, zFormat uintptr, va uintptr) { } // Remember the SQL string for a prepared statement. -func Xsqlite3VdbeSetSql(tls *libc.TLS, p uintptr, z uintptr, n int32, prepFlags U8) { /* sqlite3.c:79851:21: */ +func Xsqlite3VdbeSetSql(tls *libc.TLS, p uintptr, z uintptr, n int32, prepFlags U8) { /* sqlite3.c:79864:21: */ if p == uintptr(0) { return } @@ -56220,7 +56239,7 @@ func Xsqlite3VdbeSetSql(tls *libc.TLS, p uintptr, z uintptr, n int32, prepFlags } // Swap all content between two VDBE structures. -func Xsqlite3VdbeSwap(tls *libc.TLS, pA uintptr, pB uintptr) { /* sqlite3.c:79901:21: */ +func Xsqlite3VdbeSwap(tls *libc.TLS, pA uintptr, pB uintptr) { /* sqlite3.c:79914:21: */ var tmp Vdbe var pTmp uintptr var zTmp uintptr @@ -56251,7 +56270,7 @@ func Xsqlite3VdbeSwap(tls *libc.TLS, pA uintptr, pB uintptr) { /* sqlite3.c:7990 // SQLITE_NOMEM. In this case Vdbe.aOp and Vdbe.nOpAlloc remain // unchanged (this is so that any opcodes already allocated can be // correctly deallocated along with the rest of the Vdbe). -func growOpArray(tls *libc.TLS, v uintptr, nOp int32) int32 { /* sqlite3.c:79938:12: */ +func growOpArray(tls *libc.TLS, v uintptr, nOp int32) int32 { /* sqlite3.c:79951:12: */ var pNew uintptr var p uintptr = (*Vdbe)(unsafe.Pointer(v)).FpParse @@ -56304,7 +56323,7 @@ func growOpArray(tls *libc.TLS, v uintptr, nOp int32) int32 { /* sqlite3.c:79938 // Use the sqlite3VdbeResolveLabel() function to fix an address and // the sqlite3VdbeChangeP4() function to change the value of the P4 // operand. -func growOp3(tls *libc.TLS, p uintptr, op int32, p1 int32, p2 int32, p3 int32) int32 { /* sqlite3.c:80009:28: */ +func growOp3(tls *libc.TLS, p uintptr, op int32, p1 int32, p2 int32, p3 int32) int32 { /* sqlite3.c:80022:28: */ if growOpArray(tls, p, 1) != 0 { return 1 @@ -56313,7 +56332,7 @@ func growOp3(tls *libc.TLS, p uintptr, op int32, p1 int32, p2 int32, p3 int32) i return Xsqlite3VdbeAddOp3(tls, p, op, p1, p2, p3) } -func Xsqlite3VdbeAddOp3(tls *libc.TLS, p uintptr, op int32, p1 int32, p2 int32, p3 int32) int32 { /* sqlite3.c:80015:20: */ +func Xsqlite3VdbeAddOp3(tls *libc.TLS, p uintptr, op int32, p1 int32, p2 int32, p3 int32) int32 { /* sqlite3.c:80028:20: */ var i int32 var pOp uintptr @@ -56336,26 +56355,26 @@ func Xsqlite3VdbeAddOp3(tls *libc.TLS, p uintptr, op int32, p1 int32, p2 int32, return i } -func Xsqlite3VdbeAddOp0(tls *libc.TLS, p uintptr, op int32) int32 { /* sqlite3.c:80054:20: */ +func Xsqlite3VdbeAddOp0(tls *libc.TLS, p uintptr, op int32) int32 { /* sqlite3.c:80067:20: */ return Xsqlite3VdbeAddOp3(tls, p, op, 0, 0, 0) } -func Xsqlite3VdbeAddOp1(tls *libc.TLS, p uintptr, op int32, p1 int32) int32 { /* sqlite3.c:80057:20: */ +func Xsqlite3VdbeAddOp1(tls *libc.TLS, p uintptr, op int32, p1 int32) int32 { /* sqlite3.c:80070:20: */ return Xsqlite3VdbeAddOp3(tls, p, op, p1, 0, 0) } -func Xsqlite3VdbeAddOp2(tls *libc.TLS, p uintptr, op int32, p1 int32, p2 int32) int32 { /* sqlite3.c:80060:20: */ +func Xsqlite3VdbeAddOp2(tls *libc.TLS, p uintptr, op int32, p1 int32, p2 int32) int32 { /* sqlite3.c:80073:20: */ return Xsqlite3VdbeAddOp3(tls, p, op, p1, p2, 0) } // Generate code for an unconditional jump to instruction iDest -func Xsqlite3VdbeGoto(tls *libc.TLS, p uintptr, iDest int32) int32 { /* sqlite3.c:80066:20: */ +func Xsqlite3VdbeGoto(tls *libc.TLS, p uintptr, iDest int32) int32 { /* sqlite3.c:80079:20: */ return Xsqlite3VdbeAddOp3(tls, p, OP_Goto, 0, iDest, 0) } // Generate code to cause the string zStr to be loaded into // register iDest -func Xsqlite3VdbeLoadString(tls *libc.TLS, p uintptr, iDest int32, zStr uintptr) int32 { /* sqlite3.c:80073:20: */ +func Xsqlite3VdbeLoadString(tls *libc.TLS, p uintptr, iDest int32, zStr uintptr) int32 { /* sqlite3.c:80086:20: */ return Xsqlite3VdbeAddOp4(tls, p, OP_String8, 0, iDest, 0, zStr, 0) } @@ -56368,7 +56387,7 @@ func Xsqlite3VdbeLoadString(tls *libc.TLS, p uintptr, iDest int32, zStr uintptr) // // If the input string does not end with "X" then an OP_ResultRow instruction // is generated for the values inserted. -func Xsqlite3VdbeMultiLoad(tls *libc.TLS, p uintptr, iDest int32, zTypes uintptr, va uintptr) { /* sqlite3.c:80088:21: */ +func Xsqlite3VdbeMultiLoad(tls *libc.TLS, p uintptr, iDest int32, zTypes uintptr, va uintptr) { /* sqlite3.c:80101:21: */ var ap Va_list _ = ap var i int32 @@ -56416,7 +56435,7 @@ skip_op_resultrow: } // Add an opcode that includes the p4 value as a pointer. -func Xsqlite3VdbeAddOp4(tls *libc.TLS, p uintptr, op int32, p1 int32, p2 int32, p3 int32, zP4 uintptr, p4type int32) int32 { /* sqlite3.c:80111:20: */ +func Xsqlite3VdbeAddOp4(tls *libc.TLS, p uintptr, op int32, p1 int32, p2 int32, p3 int32, zP4 uintptr, p4type int32) int32 { /* sqlite3.c:80124:20: */ var addr int32 = Xsqlite3VdbeAddOp3(tls, p, op, p1, p2, p3) Xsqlite3VdbeChangeP4(tls, p, addr, zP4, p4type) return addr @@ -56430,7 +56449,7 @@ func Xsqlite3VdbeAddOp4(tls *libc.TLS, p uintptr, op int32, p1 int32, p2 int32, // NC_IdxExpr means called as part of an index expression. NC_PartIdx // means in the WHERE clause of a partial index. NC_GenCol means called // while computing a generated column value. 0 is the usual case. -func Xsqlite3VdbeAddFunctionCall(tls *libc.TLS, pParse uintptr, p1 int32, p2 int32, p3 int32, nArg int32, pFunc uintptr, eCallCtx int32) int32 { /* sqlite3.c:80135:20: */ +func Xsqlite3VdbeAddFunctionCall(tls *libc.TLS, pParse uintptr, p1 int32, p2 int32, p3 int32, nArg int32, pFunc uintptr, eCallCtx int32) int32 { /* sqlite3.c:80148:20: */ var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe var nByte int32 var addr int32 @@ -56462,7 +56481,7 @@ func Xsqlite3VdbeAddFunctionCall(tls *libc.TLS, pParse uintptr, p1 int32, p2 int // Add an opcode that includes the p4 value with a P4_INT64 or // P4_REAL type. -func Xsqlite3VdbeAddOp4Dup8(tls *libc.TLS, p uintptr, op int32, p1 int32, p2 int32, p3 int32, zP4 uintptr, p4type int32) int32 { /* sqlite3.c:80172:20: */ +func Xsqlite3VdbeAddOp4Dup8(tls *libc.TLS, p uintptr, op int32, p1 int32, p2 int32, p3 int32, zP4 uintptr, p4type int32) int32 { /* sqlite3.c:80185:20: */ var p4copy uintptr = Xsqlite3DbMallocRawNN(tls, Xsqlite3VdbeDb(tls, p), uint64(8)) if p4copy != 0 { libc.Xmemcpy(tls, p4copy, zP4, uint64(8)) @@ -56472,7 +56491,7 @@ func Xsqlite3VdbeAddOp4Dup8(tls *libc.TLS, p uintptr, op int32, p1 int32, p2 int // Return the address of the current EXPLAIN QUERY PLAN baseline. // 0 means "none". -func Xsqlite3VdbeExplainParent(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:80191:20: */ +func Xsqlite3VdbeExplainParent(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:80204:20: */ var pOp uintptr if (*Parse)(unsafe.Pointer(pParse)).FaddrExplain == 0 { return 0 @@ -56488,7 +56507,7 @@ func Xsqlite3VdbeExplainParent(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3 // // If the bPush flag is true, then make this opcode the parent for // subsequent Explains until sqlite3VdbeExplainPop() is called. -func Xsqlite3VdbeExplain(tls *libc.TLS, pParse uintptr, bPush U8, zFmt uintptr, va uintptr) { /* sqlite3.c:80215:21: */ +func Xsqlite3VdbeExplain(tls *libc.TLS, pParse uintptr, bPush U8, zFmt uintptr, va uintptr) { /* sqlite3.c:80228:21: */ // Always include the OP_Explain opcodes if SQLITE_DEBUG is defined. // But omit them (for performance) during production builds if int32((*Parse)(unsafe.Pointer(pParse)).Fexplain) == 2 { @@ -56512,7 +56531,7 @@ func Xsqlite3VdbeExplain(tls *libc.TLS, pParse uintptr, bPush U8, zFmt uintptr, } // Pop the EXPLAIN QUERY PLAN stack one level. -func Xsqlite3VdbeExplainPop(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:80243:21: */ +func Xsqlite3VdbeExplainPop(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:80256:21: */ (*Parse)(unsafe.Pointer(pParse)).FaddrExplain = Xsqlite3VdbeExplainParent(tls, pParse) } @@ -56523,7 +56542,7 @@ func Xsqlite3VdbeExplainPop(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:80243: // // The zWhere string must have been obtained from sqlite3_malloc(). // This routine will take ownership of the allocated memory. -func Xsqlite3VdbeAddParseSchemaOp(tls *libc.TLS, p uintptr, iDb int32, zWhere uintptr, p5 U16) { /* sqlite3.c:80257:21: */ +func Xsqlite3VdbeAddParseSchemaOp(tls *libc.TLS, p uintptr, iDb int32, zWhere uintptr, p5 U16) { /* sqlite3.c:80270:21: */ var j int32 Xsqlite3VdbeAddOp4(tls, p, OP_ParseSchema, iDb, 0, 0, zWhere, -7) Xsqlite3VdbeChangeP5(tls, p, p5) @@ -56534,7 +56553,7 @@ func Xsqlite3VdbeAddParseSchemaOp(tls *libc.TLS, p uintptr, iDb int32, zWhere ui } // Add an opcode that includes the p4 value as an integer. -func Xsqlite3VdbeAddOp4Int(tls *libc.TLS, p uintptr, op int32, p1 int32, p2 int32, p3 int32, p4 int32) int32 { /* sqlite3.c:80268:20: */ +func Xsqlite3VdbeAddOp4Int(tls *libc.TLS, p uintptr, op int32, p1 int32, p2 int32, p3 int32, p4 int32) int32 { /* sqlite3.c:80281:20: */ var addr int32 = Xsqlite3VdbeAddOp3(tls, p, op, p1, p2, p3) if int32((*Sqlite3)(unsafe.Pointer((*Vdbe)(unsafe.Pointer(p)).Fdb)).FmallocFailed) == 0 { var pOp uintptr = (*Vdbe)(unsafe.Pointer(p)).FaOp + uintptr(addr)*24 @@ -56545,7 +56564,7 @@ func Xsqlite3VdbeAddOp4Int(tls *libc.TLS, p uintptr, op int32, p1 int32, p2 int3 } // Insert the end of a co-routine -func Xsqlite3VdbeEndCoroutine(tls *libc.TLS, v uintptr, regYield int32) { /* sqlite3.c:80287:21: */ +func Xsqlite3VdbeEndCoroutine(tls *libc.TLS, v uintptr, regYield int32) { /* sqlite3.c:80300:21: */ Xsqlite3VdbeAddOp1(tls, v, OP_EndCoroutine, regYield) // Clear the temporary register cache, thereby ensuring that each @@ -56580,14 +56599,14 @@ func Xsqlite3VdbeEndCoroutine(tls *libc.TLS, v uintptr, regYield int32) { /* sql // been issued. The negative is stored because // that gives a performance improvement over storing // the equivalent positive value. -func Xsqlite3VdbeMakeLabel(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:80325:20: */ +func Xsqlite3VdbeMakeLabel(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:80338:20: */ return libc.PreDecInt32(&(*Parse)(unsafe.Pointer(pParse)).FnLabel, 1) } // Resolve label "x" to be the address of the next instruction to // be inserted. The parameter "x" must have been obtained from // a prior call to sqlite3VdbeMakeLabel(). -func resizeResolveLabel(tls *libc.TLS, p uintptr, v uintptr, j int32) { /* sqlite3.c:80334:29: */ +func resizeResolveLabel(tls *libc.TLS, p uintptr, v uintptr, j int32) { /* sqlite3.c:80347:29: */ var nNewSize int32 = 10 - (*Parse)(unsafe.Pointer(p)).FnLabel (*Parse)(unsafe.Pointer(p)).FaLabel = Xsqlite3DbReallocOrFree(tls, (*Parse)(unsafe.Pointer(p)).Fdb, (*Parse)(unsafe.Pointer(p)).FaLabel, uint64(uint64(nNewSize)*uint64(unsafe.Sizeof(int32(0))))) @@ -56599,7 +56618,7 @@ func resizeResolveLabel(tls *libc.TLS, p uintptr, v uintptr, j int32) { /* sqlit } } -func Xsqlite3VdbeResolveLabel(tls *libc.TLS, v uintptr, x int32) { /* sqlite3.c:80349:21: */ +func Xsqlite3VdbeResolveLabel(tls *libc.TLS, v uintptr, x int32) { /* sqlite3.c:80362:21: */ var p uintptr = (*Vdbe)(unsafe.Pointer(v)).FpParse var j int32 = ^x @@ -56612,12 +56631,12 @@ func Xsqlite3VdbeResolveLabel(tls *libc.TLS, v uintptr, x int32) { /* sqlite3.c: } // Mark the VDBE as one that can only be run one time. -func Xsqlite3VdbeRunOnlyOnce(tls *libc.TLS, p uintptr) { /* sqlite3.c:80371:21: */ +func Xsqlite3VdbeRunOnlyOnce(tls *libc.TLS, p uintptr) { /* sqlite3.c:80384:21: */ libc.SetBitFieldPtr16Uint32(p+208, Bft(1), 5, 0x20) } // Mark the VDBE as one that can only be run multiple times. -func Xsqlite3VdbeReusable(tls *libc.TLS, p uintptr) { /* sqlite3.c:80378:21: */ +func Xsqlite3VdbeReusable(tls *libc.TLS, p uintptr) { /* sqlite3.c:80391:21: */ libc.SetBitFieldPtr16Uint32(p+208, Bft(0), 5, 0x20) } @@ -56640,7 +56659,7 @@ func Xsqlite3VdbeReusable(tls *libc.TLS, p uintptr) { /* sqlite3.c:80378:21: */ // This routine will only function correctly if the mkopcodeh.tcl generator // script numbers the opcodes correctly. Changes to this routine must be // coordinated with changes to mkopcodeh.tcl. -func resolveP2Values(tls *libc.TLS, p uintptr, pMaxFuncArgs uintptr) { /* sqlite3.c:80574:13: */ +func resolveP2Values(tls *libc.TLS, p uintptr, pMaxFuncArgs uintptr) { /* sqlite3.c:80587:13: */ var nMaxArgs int32 = *(*int32)(unsafe.Pointer(pMaxFuncArgs)) var pOp uintptr var pParse uintptr = (*Vdbe)(unsafe.Pointer(p)).FpParse @@ -56772,7 +56791,7 @@ func resolveP2Values(tls *libc.TLS, p uintptr, pMaxFuncArgs uintptr) { /* sqlite } // Return the address of the next instruction to be inserted. -func Xsqlite3VdbeCurrentAddr(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:80676:20: */ +func Xsqlite3VdbeCurrentAddr(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:80689:20: */ return (*Vdbe)(unsafe.Pointer(p)).FnOp } @@ -56803,7 +56822,7 @@ func Xsqlite3VdbeCurrentAddr(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:8067 // array. Also, *pnMaxArg is set to the larger of its current value and // the number of entries in the Vdbe.apArg[] array required to execute the // returned program. -func Xsqlite3VdbeTakeOpArray(tls *libc.TLS, p uintptr, pnOp uintptr, pnMaxArg uintptr) uintptr { /* sqlite3.c:80733:23: */ +func Xsqlite3VdbeTakeOpArray(tls *libc.TLS, p uintptr, pnOp uintptr, pnMaxArg uintptr) uintptr { /* sqlite3.c:80746:23: */ var aOp uintptr = (*Vdbe)(unsafe.Pointer(p)).FaOp // Check that sqlite3VdbeUsesBtree() was not called on this VM @@ -56819,7 +56838,7 @@ func Xsqlite3VdbeTakeOpArray(tls *libc.TLS, p uintptr, pnOp uintptr, pnMaxArg ui // // Non-zero P2 arguments to jump instructions are automatically adjusted // so that the jump target is relative to the first operation inserted. -func Xsqlite3VdbeAddOpList(tls *libc.TLS, p uintptr, nOp int32, aOp uintptr, iLineno int32) uintptr { /* sqlite3.c:80753:23: */ +func Xsqlite3VdbeAddOpList(tls *libc.TLS, p uintptr, nOp int32, aOp uintptr, iLineno int32) uintptr { /* sqlite3.c:80766:23: */ var i int32 var pOut uintptr var pFirst uintptr @@ -56863,23 +56882,23 @@ __3: // Change the value of the opcode, or P1, P2, P3, or P5 operands // for a specific instruction. -func Xsqlite3VdbeChangeOpcode(tls *libc.TLS, p uintptr, addr int32, iNewOpcode U8) { /* sqlite3.c:80829:21: */ +func Xsqlite3VdbeChangeOpcode(tls *libc.TLS, p uintptr, addr int32, iNewOpcode U8) { /* sqlite3.c:80842:21: */ (*VdbeOp)(unsafe.Pointer(Xsqlite3VdbeGetOp(tls, p, addr))).Fopcode = iNewOpcode } -func Xsqlite3VdbeChangeP1(tls *libc.TLS, p uintptr, addr int32, val int32) { /* sqlite3.c:80832:21: */ +func Xsqlite3VdbeChangeP1(tls *libc.TLS, p uintptr, addr int32, val int32) { /* sqlite3.c:80845:21: */ (*VdbeOp)(unsafe.Pointer(Xsqlite3VdbeGetOp(tls, p, addr))).Fp1 = val } -func Xsqlite3VdbeChangeP2(tls *libc.TLS, p uintptr, addr int32, val int32) { /* sqlite3.c:80835:21: */ +func Xsqlite3VdbeChangeP2(tls *libc.TLS, p uintptr, addr int32, val int32) { /* sqlite3.c:80848:21: */ (*VdbeOp)(unsafe.Pointer(Xsqlite3VdbeGetOp(tls, p, addr))).Fp2 = val } -func Xsqlite3VdbeChangeP3(tls *libc.TLS, p uintptr, addr int32, val int32) { /* sqlite3.c:80838:21: */ +func Xsqlite3VdbeChangeP3(tls *libc.TLS, p uintptr, addr int32, val int32) { /* sqlite3.c:80851:21: */ (*VdbeOp)(unsafe.Pointer(Xsqlite3VdbeGetOp(tls, p, addr))).Fp3 = val } -func Xsqlite3VdbeChangeP5(tls *libc.TLS, p uintptr, p5 U16) { /* sqlite3.c:80841:21: */ +func Xsqlite3VdbeChangeP5(tls *libc.TLS, p uintptr, p5 U16) { /* sqlite3.c:80854:21: */ if (*Vdbe)(unsafe.Pointer(p)).FnOp > 0 { (*Op)(unsafe.Pointer((*Vdbe)(unsafe.Pointer(p)).FaOp + uintptr((*Vdbe)(unsafe.Pointer(p)).FnOp-1)*24)).Fp5 = p5 @@ -56888,7 +56907,7 @@ func Xsqlite3VdbeChangeP5(tls *libc.TLS, p uintptr, p5 U16) { /* sqlite3.c:80841 // Change the P2 operand of instruction addr so that it points to // the address of the next instruction to be coded. -func Xsqlite3VdbeJumpHere(tls *libc.TLS, p uintptr, addr int32) { /* sqlite3.c:80850:21: */ +func Xsqlite3VdbeJumpHere(tls *libc.TLS, p uintptr, addr int32) { /* sqlite3.c:80863:21: */ Xsqlite3VdbeChangeP2(tls, p, addr, (*Vdbe)(unsafe.Pointer(p)).FnOp) } @@ -56903,7 +56922,7 @@ func Xsqlite3VdbeJumpHere(tls *libc.TLS, p uintptr, addr int32) { /* sqlite3.c:8 // // 7 Once 0 8 0 // 8 ... -func Xsqlite3VdbeJumpHereOrPopInst(tls *libc.TLS, p uintptr, addr int32) { /* sqlite3.c:80867:21: */ +func Xsqlite3VdbeJumpHereOrPopInst(tls *libc.TLS, p uintptr, addr int32) { /* sqlite3.c:80880:21: */ if addr == (*Vdbe)(unsafe.Pointer(p)).FnOp-1 { (*Vdbe)(unsafe.Pointer(p)).FnOp-- @@ -56914,26 +56933,26 @@ func Xsqlite3VdbeJumpHereOrPopInst(tls *libc.TLS, p uintptr, addr int32) { /* sq // If the input FuncDef structure is ephemeral, then free it. If // the FuncDef is not ephermal, then do nothing. -func freeEphemeralFunction(tls *libc.TLS, db uintptr, pDef uintptr) { /* sqlite3.c:80887:13: */ +func freeEphemeralFunction(tls *libc.TLS, db uintptr, pDef uintptr) { /* sqlite3.c:80900:13: */ if (*FuncDef)(unsafe.Pointer(pDef)).FfuncFlags&U32(SQLITE_FUNC_EPHEM) != U32(0) { Xsqlite3DbFreeNN(tls, db, pDef) } } // Delete a P4 value if necessary. -func freeP4Mem(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:80896:29: */ +func freeP4Mem(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:80909:29: */ if (*Mem)(unsafe.Pointer(p)).FszMalloc != 0 { Xsqlite3DbFree(tls, db, (*Mem)(unsafe.Pointer(p)).FzMalloc) } Xsqlite3DbFreeNN(tls, db, p) } -func freeP4FuncCtx(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:80900:29: */ +func freeP4FuncCtx(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:80913:29: */ freeEphemeralFunction(tls, db, (*Sqlite3_context)(unsafe.Pointer(p)).FpFunc) Xsqlite3DbFreeNN(tls, db, p) } -func freeP4(tls *libc.TLS, db uintptr, p4type int32, p4 uintptr) { /* sqlite3.c:80904:13: */ +func freeP4(tls *libc.TLS, db uintptr, p4type int32, p4 uintptr) { /* sqlite3.c:80917:13: */ switch p4type { case -16: @@ -56994,7 +57013,7 @@ func freeP4(tls *libc.TLS, db uintptr, p4type int32, p4 uintptr) { /* sqlite3.c: // Free the space allocated for aOp and any p4 values allocated for the // opcodes contained within. If aOp is not NULL it is assumed to contain // nOp entries. -func vdbeFreeOpArray(tls *libc.TLS, db uintptr, aOp uintptr, nOp int32) { /* sqlite3.c:80953:13: */ +func vdbeFreeOpArray(tls *libc.TLS, db uintptr, aOp uintptr, nOp int32) { /* sqlite3.c:80966:13: */ if aOp != 0 { var pOp uintptr for pOp = aOp + uintptr(nOp-1)*24; pOp >= aOp; pOp -= 24 { @@ -57009,18 +57028,18 @@ func vdbeFreeOpArray(tls *libc.TLS, db uintptr, aOp uintptr, nOp int32) { /* sql // Link the SubProgram object passed as the second argument into the linked // list at Vdbe.pSubProgram. This list is used to delete all sub-program // objects when the VM is no longer required. -func Xsqlite3VdbeLinkSubProgram(tls *libc.TLS, pVdbe uintptr, p uintptr) { /* sqlite3.c:80971:21: */ +func Xsqlite3VdbeLinkSubProgram(tls *libc.TLS, pVdbe uintptr, p uintptr) { /* sqlite3.c:80984:21: */ (*SubProgram)(unsafe.Pointer(p)).FpNext = (*Vdbe)(unsafe.Pointer(pVdbe)).FpProgram (*Vdbe)(unsafe.Pointer(pVdbe)).FpProgram = p } // Return true if the given Vdbe has any SubPrograms. -func Xsqlite3VdbeHasSubProgram(tls *libc.TLS, pVdbe uintptr) int32 { /* sqlite3.c:80979:20: */ +func Xsqlite3VdbeHasSubProgram(tls *libc.TLS, pVdbe uintptr) int32 { /* sqlite3.c:80992:20: */ return libc.Bool32((*Vdbe)(unsafe.Pointer(pVdbe)).FpProgram != uintptr(0)) } // Change the opcode at addr into OP_Noop -func Xsqlite3VdbeChangeToNoop(tls *libc.TLS, p uintptr, addr int32) int32 { /* sqlite3.c:80986:20: */ +func Xsqlite3VdbeChangeToNoop(tls *libc.TLS, p uintptr, addr int32) int32 { /* sqlite3.c:80999:20: */ var pOp uintptr if (*Sqlite3)(unsafe.Pointer((*Vdbe)(unsafe.Pointer(p)).Fdb)).FmallocFailed != 0 { return 0 @@ -57036,7 +57055,7 @@ func Xsqlite3VdbeChangeToNoop(tls *libc.TLS, p uintptr, addr int32) int32 { /* s // If the last opcode is "op" and it is not a jump destination, // then remove it. Return true if and only if an opcode was removed. -func Xsqlite3VdbeDeletePriorOpcode(tls *libc.TLS, p uintptr, op U8) int32 { /* sqlite3.c:81002:20: */ +func Xsqlite3VdbeDeletePriorOpcode(tls *libc.TLS, p uintptr, op U8) int32 { /* sqlite3.c:81015:20: */ if (*Vdbe)(unsafe.Pointer(p)).FnOp > 0 && int32((*Op)(unsafe.Pointer((*Vdbe)(unsafe.Pointer(p)).FaOp+uintptr((*Vdbe)(unsafe.Pointer(p)).FnOp-1)*24)).Fopcode) == int32(op) { return Xsqlite3VdbeChangeToNoop(tls, p, (*Vdbe)(unsafe.Pointer(p)).FnOp-1) } else { @@ -57060,7 +57079,7 @@ func Xsqlite3VdbeDeletePriorOpcode(tls *libc.TLS, p uintptr, op U8) int32 { /* s // the Vdbe. In these cases we can just copy the pointer. // // If addr<0 then change P4 on the most recently inserted instruction. -func vdbeChangeP4Full(tls *libc.TLS, p uintptr, pOp uintptr, zP4 uintptr, n int32) { /* sqlite3.c:81062:29: */ +func vdbeChangeP4Full(tls *libc.TLS, p uintptr, pOp uintptr, zP4 uintptr, n int32) { /* sqlite3.c:81075:29: */ if (*Op)(unsafe.Pointer(pOp)).Fp4type != 0 { freeP4(tls, (*Vdbe)(unsafe.Pointer(p)).Fdb, int32((*Op)(unsafe.Pointer(pOp)).Fp4type), *(*uintptr)(unsafe.Pointer(pOp + 16))) (*Op)(unsafe.Pointer(pOp)).Fp4type = int8(0) @@ -57077,7 +57096,7 @@ func vdbeChangeP4Full(tls *libc.TLS, p uintptr, pOp uintptr, zP4 uintptr, n int3 } } -func Xsqlite3VdbeChangeP4(tls *libc.TLS, p uintptr, addr int32, zP4 uintptr, n int32) { /* sqlite3.c:81081:21: */ +func Xsqlite3VdbeChangeP4(tls *libc.TLS, p uintptr, addr int32, zP4 uintptr, n int32) { /* sqlite3.c:81094:21: */ bp := tls.Alloc(8) defer tls.Free(8) *(*uintptr)(unsafe.Pointer(bp)) = zP4 @@ -57124,7 +57143,7 @@ func Xsqlite3VdbeChangeP4(tls *libc.TLS, p uintptr, addr int32, zP4 uintptr, n i // The P4 operand must not have been previously defined. And the new // P4 must not be P4_INT32. Use sqlite3VdbeChangeP4() in either of // those cases. -func Xsqlite3VdbeAppendP4(tls *libc.TLS, p uintptr, pP4 uintptr, n int32) { /* sqlite3.c:81124:21: */ +func Xsqlite3VdbeAppendP4(tls *libc.TLS, p uintptr, pP4 uintptr, n int32) { /* sqlite3.c:81137:21: */ var pOp uintptr if (*Sqlite3)(unsafe.Pointer((*Vdbe)(unsafe.Pointer(p)).Fdb)).FmallocFailed != 0 { @@ -57140,7 +57159,7 @@ func Xsqlite3VdbeAppendP4(tls *libc.TLS, p uintptr, pP4 uintptr, n int32) { /* s // Set the P4 on the most recently added opcode to the KeyInfo for the // index given. -func Xsqlite3VdbeSetP4KeyInfo(tls *libc.TLS, pParse uintptr, pIdx uintptr) { /* sqlite3.c:81144:21: */ +func Xsqlite3VdbeSetP4KeyInfo(tls *libc.TLS, pParse uintptr, pIdx uintptr) { /* sqlite3.c:81157:21: */ var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe var pKeyInfo uintptr @@ -57161,7 +57180,7 @@ func Xsqlite3VdbeSetP4KeyInfo(tls *libc.TLS, pParse uintptr, pIdx uintptr) { /* // this routine is a valid pointer. But because the dummy.opcode is 0, // dummy will never be written to. This is verified by code inspection and // by running with Valgrind. -func Xsqlite3VdbeGetOp(tls *libc.TLS, p uintptr, addr int32) uintptr { /* sqlite3.c:81210:23: */ // Ignore the MSVC warning about no initializer +func Xsqlite3VdbeGetOp(tls *libc.TLS, p uintptr, addr int32) uintptr { /* sqlite3.c:81223:23: */ // Ignore the MSVC warning about no initializer if addr < 0 { addr = (*Vdbe)(unsafe.Pointer(p)).FnOp - 1 @@ -57175,11 +57194,11 @@ func Xsqlite3VdbeGetOp(tls *libc.TLS, p uintptr, addr int32) uintptr { /* sqlite return uintptr(0) } -var dummy VdbeOp /* sqlite3.c:81213:17: */ +var dummy VdbeOp /* sqlite3.c:81226:17: */ // Compute a string that describes the P4 parameter for an opcode. // Use zTemp for any required temporary buffer space. -func Xsqlite3VdbeDisplayP4(tls *libc.TLS, db uintptr, pOp uintptr) uintptr { /* sqlite3.c:81414:21: */ +func Xsqlite3VdbeDisplayP4(tls *libc.TLS, db uintptr, pOp uintptr) uintptr { /* sqlite3.c:81427:21: */ bp := tls.Alloc(176) defer tls.Free(176) @@ -57342,7 +57361,7 @@ func Xsqlite3VdbeDisplayP4(tls *libc.TLS, db uintptr, pOp uintptr) uintptr { /* return Xsqlite3StrAccumFinish(tls, bp+144) } -var encnames = [4]uintptr{ts + 4952, ts + 4954, ts + 4956, ts + 4961} /* sqlite3.c:81444:25 */ +var encnames = [4]uintptr{ts + 4952, ts + 4954, ts + 4956, ts + 4961} /* sqlite3.c:81457:25 */ // Declare to the Vdbe that the BTree object at db->aDb[i] is used. // @@ -57350,7 +57369,7 @@ var encnames = [4]uintptr{ts + 4952, ts + 4954, ts + 4956, ts + 4961} /* sqlite3 // attached databases that will be use. A mask of these databases // is maintained in p->btreeMask. The p->lockMask value is the subset of // p->btreeMask of databases that will require a lock. -func Xsqlite3VdbeUsesBtree(tls *libc.TLS, p uintptr, i int32) { /* sqlite3.c:81539:21: */ +func Xsqlite3VdbeUsesBtree(tls *libc.TLS, p uintptr, i int32) { /* sqlite3.c:81552:21: */ *(*YDbMask)(unsafe.Pointer(p + 212)) |= YDbMask(YDbMask(1)) << i if i != 1 && Xsqlite3BtreeSharable(tls, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer((*Vdbe)(unsafe.Pointer(p)).Fdb)).FaDb+uintptr(i)*32)).FpBt) != 0 { @@ -57377,7 +57396,7 @@ func Xsqlite3VdbeUsesBtree(tls *libc.TLS, p uintptr, i int32) { /* sqlite3.c:815 // corresponding to btrees that use shared cache. Then the runtime of // this routine is N*N. But as N is rarely more than 1, this should not // be a problem. -func Xsqlite3VdbeEnter(tls *libc.TLS, p uintptr) { /* sqlite3.c:81570:21: */ +func Xsqlite3VdbeEnter(tls *libc.TLS, p uintptr) { /* sqlite3.c:81583:21: */ var i int32 var db uintptr var aDb uintptr @@ -57396,7 +57415,7 @@ func Xsqlite3VdbeEnter(tls *libc.TLS, p uintptr) { /* sqlite3.c:81570:21: */ } // Unlock all of the btrees previously locked by a call to sqlite3VdbeEnter(). -func vdbeLeave(tls *libc.TLS, p uintptr) { /* sqlite3.c:81591:29: */ +func vdbeLeave(tls *libc.TLS, p uintptr) { /* sqlite3.c:81604:29: */ var i int32 var db uintptr var aDb uintptr @@ -57411,7 +57430,7 @@ func vdbeLeave(tls *libc.TLS, p uintptr) { /* sqlite3.c:81591:29: */ } } -func Xsqlite3VdbeLeave(tls *libc.TLS, p uintptr) { /* sqlite3.c:81605:21: */ +func Xsqlite3VdbeLeave(tls *libc.TLS, p uintptr) { /* sqlite3.c:81618:21: */ if (*Vdbe)(unsafe.Pointer(p)).FlockMask == YDbMask(0) { return } // The common case @@ -57419,7 +57438,7 @@ func Xsqlite3VdbeLeave(tls *libc.TLS, p uintptr) { /* sqlite3.c:81605:21: */ } // Initialize an array of N Mem element. -func initMemArray(tls *libc.TLS, p uintptr, N int32, db uintptr, flags U16) { /* sqlite3.c:81647:13: */ +func initMemArray(tls *libc.TLS, p uintptr, N int32, db uintptr, flags U16) { /* sqlite3.c:81660:13: */ for libc.PostDecInt32(&N, 1) > 0 { (*Mem)(unsafe.Pointer(p)).Fdb = db (*Mem)(unsafe.Pointer(p)).Fflags = flags @@ -57429,7 +57448,7 @@ func initMemArray(tls *libc.TLS, p uintptr, N int32, db uintptr, flags U16) { /* } // Release an array of N Mem elements -func releaseMemArray(tls *libc.TLS, p uintptr, N int32) { /* sqlite3.c:81662:13: */ +func releaseMemArray(tls *libc.TLS, p uintptr, N int32) { /* sqlite3.c:81675:13: */ if p != 0 && N != 0 { var pEnd uintptr = p + uintptr(N)*56 var db uintptr = (*Mem)(unsafe.Pointer(p)).Fdb @@ -57473,7 +57492,7 @@ func releaseMemArray(tls *libc.TLS, p uintptr, N int32) { /* sqlite3.c:81662:13: // // This routine does not delete the Frame right away. It merely adds the // frame to a list of frames to be deleted when the Vdbe halts. -func Xsqlite3VdbeFrameMemDel(tls *libc.TLS, pArg uintptr) { /* sqlite3.c:81724:21: */ +func Xsqlite3VdbeFrameMemDel(tls *libc.TLS, pArg uintptr) { /* sqlite3.c:81737:21: */ var pFrame uintptr = pArg (*VdbeFrame)(unsafe.Pointer(pFrame)).FpParent = (*Vdbe)(unsafe.Pointer((*VdbeFrame)(unsafe.Pointer(pFrame)).Fv)).FpDelFrame @@ -57485,7 +57504,7 @@ func Xsqlite3VdbeFrameMemDel(tls *libc.TLS, pArg uintptr) { /* sqlite3.c:81724:2 // // Return SQLITE_ROW on success. Return SQLITE_DONE if there are no // more opcodes to be displayed. -func Xsqlite3VdbeNextOpcode(tls *libc.TLS, p uintptr, pSub uintptr, eMode int32, piPc uintptr, piAddr uintptr, paOp uintptr) int32 { /* sqlite3.c:81739:20: */ +func Xsqlite3VdbeNextOpcode(tls *libc.TLS, p uintptr, pSub uintptr, eMode int32, piPc uintptr, piAddr uintptr, paOp uintptr) int32 { /* sqlite3.c:81752:20: */ var nRow int32 // Stop when row count reaches this var nSub int32 = 0 // Number of sub-vdbes seen so far var apSub uintptr = uintptr(0) // Array of sub-vdbes @@ -57584,7 +57603,7 @@ func Xsqlite3VdbeNextOpcode(tls *libc.TLS, p uintptr, pSub uintptr, eMode int32, // Delete a VdbeFrame object and its contents. VdbeFrame objects are // allocated by the OP_Program opcode in sqlite3VdbeExec(). -func Xsqlite3VdbeFrameDelete(tls *libc.TLS, p uintptr) { /* sqlite3.c:81851:21: */ +func Xsqlite3VdbeFrameDelete(tls *libc.TLS, p uintptr) { /* sqlite3.c:81864:21: */ var i int32 var aMem uintptr = p + 120 var apCsr uintptr = aMem + uintptr((*VdbeFrame)(unsafe.Pointer(p)).FnChildMem)*56 @@ -57613,7 +57632,7 @@ func Xsqlite3VdbeFrameDelete(tls *libc.TLS, p uintptr) { /* sqlite3.c:81851:21: // // When p->explain==1, first the main program is listed, then each of // the trigger subprograms are listed one by one. -func Xsqlite3VdbeList(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:81883:20: */ +func Xsqlite3VdbeList(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:81896:20: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -57702,7 +57721,7 @@ type ReusableSpace = struct { FpSpace uintptr FnFree Sqlite3_int64 FnNeeded Sqlite3_int64 -} /* sqlite3.c:82028:1 */ +} /* sqlite3.c:82041:1 */ // Try to allocate nByte bytes of 8-byte aligned bulk memory for pBuf // from the ReusableSpace object. Return a pointer to the allocated @@ -57717,7 +57736,7 @@ type ReusableSpace = struct { // This allocator is employed to repurpose unused slots at the end of the // opcode array of prepared state for other memory needs of the prepared // statement. -func allocSpace(tls *libc.TLS, p uintptr, pBuf uintptr, nByte Sqlite3_int64) uintptr { /* sqlite3.c:82048:13: */ +func allocSpace(tls *libc.TLS, p uintptr, pBuf uintptr, nByte Sqlite3_int64) uintptr { /* sqlite3.c:82061:13: */ if pBuf == uintptr(0) { nByte = (nByte + int64(7)) & int64(libc.CplInt32(7)) @@ -57734,7 +57753,7 @@ func allocSpace(tls *libc.TLS, p uintptr, pBuf uintptr, nByte Sqlite3_int64) uin // Rewind the VDBE back to the beginning in preparation for // running it. -func Xsqlite3VdbeRewind(tls *libc.TLS, p uintptr) { /* sqlite3.c:82071:21: */ +func Xsqlite3VdbeRewind(tls *libc.TLS, p uintptr) { /* sqlite3.c:82084:21: */ // There should be at least one opcode. @@ -57767,7 +57786,7 @@ func Xsqlite3VdbeRewind(tls *libc.TLS, p uintptr) { /* sqlite3.c:82071:21: */ // // Use the sqlite3VdbeRewind() procedure to restore a virtual machine back // to its initial state after it has been run. -func Xsqlite3VdbeMakeReady(tls *libc.TLS, p uintptr, pParse uintptr) { /* sqlite3.c:82124:21: */ +func Xsqlite3VdbeMakeReady(tls *libc.TLS, p uintptr, pParse uintptr) { /* sqlite3.c:82137:21: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -57876,11 +57895,11 @@ func Xsqlite3VdbeMakeReady(tls *libc.TLS, p uintptr, pParse uintptr) { /* sqlite var azColName = [12]uintptr{ ts + 4966, ts + 4971, ts + 4978, ts + 4981, ts + 4984, ts + 4987, ts + 4990, ts + 4993, ts + 5001, ts + 5004, ts + 5011, ts + 5019, -} /* sqlite3.c:82172:23 */ +} /* sqlite3.c:82185:23 */ // Close a VDBE cursor and release all the resources that cursor // happens to hold. -func Xsqlite3VdbeFreeCursor(tls *libc.TLS, p uintptr, pCx uintptr) { /* sqlite3.c:82249:21: */ +func Xsqlite3VdbeFreeCursor(tls *libc.TLS, p uintptr, pCx uintptr) { /* sqlite3.c:82262:21: */ if pCx == uintptr(0) { return } @@ -57914,7 +57933,7 @@ func Xsqlite3VdbeFreeCursor(tls *libc.TLS, p uintptr, pCx uintptr) { /* sqlite3. } // Close all cursors in the current frame. -func closeCursorsInFrame(tls *libc.TLS, p uintptr) { /* sqlite3.c:82279:13: */ +func closeCursorsInFrame(tls *libc.TLS, p uintptr) { /* sqlite3.c:82292:13: */ if (*Vdbe)(unsafe.Pointer(p)).FapCsr != 0 { var i int32 for i = 0; i < (*Vdbe)(unsafe.Pointer(p)).FnCursor; i++ { @@ -57930,7 +57949,7 @@ func closeCursorsInFrame(tls *libc.TLS, p uintptr) { /* sqlite3.c:82279:13: */ // Copy the values stored in the VdbeFrame structure to its Vdbe. This // is used, for example, when a trigger sub-program is halted to restore // control to the main program. -func Xsqlite3VdbeFrameRestore(tls *libc.TLS, pFrame uintptr) int32 { /* sqlite3.c:82297:20: */ +func Xsqlite3VdbeFrameRestore(tls *libc.TLS, pFrame uintptr) int32 { /* sqlite3.c:82310:20: */ var v uintptr = (*VdbeFrame)(unsafe.Pointer(pFrame)).Fv closeCursorsInFrame(tls, v) (*Vdbe)(unsafe.Pointer(v)).FaOp = (*VdbeFrame)(unsafe.Pointer(pFrame)).FaOp @@ -57954,7 +57973,7 @@ func Xsqlite3VdbeFrameRestore(tls *libc.TLS, pFrame uintptr) int32 { /* sqlite3. // cell array. This is necessary as the memory cell array may contain // pointers to VdbeFrame objects, which may in turn contain pointers to // open cursors. -func closeAllCursors(tls *libc.TLS, p uintptr) { /* sqlite3.c:82326:13: */ +func closeAllCursors(tls *libc.TLS, p uintptr) { /* sqlite3.c:82339:13: */ if (*Vdbe)(unsafe.Pointer(p)).FpFrame != 0 { var pFrame uintptr for pFrame = (*Vdbe)(unsafe.Pointer(p)).FpFrame; (*VdbeFrame)(unsafe.Pointer(pFrame)).FpParent != 0; pFrame = (*VdbeFrame)(unsafe.Pointer(pFrame)).FpParent { @@ -57985,7 +58004,7 @@ func closeAllCursors(tls *libc.TLS, p uintptr) { /* sqlite3.c:82326:13: */ // statement. This is now set at compile time, rather than during // execution of the vdbe program so that sqlite3_column_count() can // be called on an SQL statement before sqlite3_step(). -func Xsqlite3VdbeSetNumCols(tls *libc.TLS, p uintptr, nResColumn int32) { /* sqlite3.c:82356:21: */ +func Xsqlite3VdbeSetNumCols(tls *libc.TLS, p uintptr, nResColumn int32) { /* sqlite3.c:82369:21: */ var n int32 var db uintptr = (*Vdbe)(unsafe.Pointer(p)).Fdb @@ -58010,7 +58029,7 @@ func Xsqlite3VdbeSetNumCols(tls *libc.TLS, p uintptr, nResColumn int32) { /* sql // The final parameter, xDel, must be one of SQLITE_DYNAMIC, SQLITE_STATIC // 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 Xsqlite3VdbeSetColName(tls *libc.TLS, p uintptr, idx int32, var1 int32, zName uintptr, xDel uintptr) int32 { /* sqlite3.c:82381:20: */ +func Xsqlite3VdbeSetColName(tls *libc.TLS, p uintptr, idx int32, var1 int32, zName uintptr, xDel uintptr) int32 { /* sqlite3.c:82394:20: */ var rc int32 var pColName uintptr @@ -58029,7 +58048,7 @@ func Xsqlite3VdbeSetColName(tls *libc.TLS, p uintptr, idx int32, var1 int32, zNa // db. If a transaction is active, commit it. If there is a // write-transaction spanning more than one database file, this routine // takes care of the super-journal trickery. -func vdbeCommit(tls *libc.TLS, db uintptr, p uintptr) int32 { /* sqlite3.c:82409:12: */ +func vdbeCommit(tls *libc.TLS, db uintptr, p uintptr) int32 { /* sqlite3.c:82422:12: */ bp := tls.Alloc(72) defer tls.Free(72) @@ -58257,7 +58276,7 @@ var aMJNeeded = [6]U8{ /* TRUNCATE */ U8(1), /* MEMORY */ U8(0), /* WAL */ U8(0), -} /* sqlite3.c:82444:23 */ +} /* sqlite3.c:82457:23 */ // This routine checks that the sqlite3.nVdbeActive count variable // matches the number of vdbe's in the list sqlite3.pVdbe that are @@ -58275,7 +58294,7 @@ var aMJNeeded = [6]U8{ // // If an IO error occurs, an SQLITE_IOERR_XXX error code is returned. // Otherwise SQLITE_OK. -func vdbeCloseStatement(tls *libc.TLS, p uintptr, eOp int32) int32 { /* sqlite3.c:82705:28: */ +func vdbeCloseStatement(tls *libc.TLS, p uintptr, eOp int32) int32 { /* sqlite3.c:82718:28: */ var db uintptr = (*Vdbe)(unsafe.Pointer(p)).Fdb var rc int32 = SQLITE_OK var i int32 @@ -58318,7 +58337,7 @@ func vdbeCloseStatement(tls *libc.TLS, p uintptr, eOp int32) int32 { /* sqlite3. return rc } -func Xsqlite3VdbeCloseStatement(tls *libc.TLS, p uintptr, eOp int32) int32 { /* sqlite3.c:82751:20: */ +func Xsqlite3VdbeCloseStatement(tls *libc.TLS, p uintptr, eOp int32) int32 { /* sqlite3.c:82764:20: */ if (*Sqlite3)(unsafe.Pointer((*Vdbe)(unsafe.Pointer(p)).Fdb)).FnStatement != 0 && (*Vdbe)(unsafe.Pointer(p)).FiStatement != 0 { return vdbeCloseStatement(tls, p, eOp) } @@ -58333,7 +58352,7 @@ func Xsqlite3VdbeCloseStatement(tls *libc.TLS, p uintptr, eOp int32) int32 { /* // If there are outstanding FK violations and this function returns // SQLITE_ERROR, set the result of the VM to SQLITE_CONSTRAINT_FOREIGNKEY // and write an error message to it. Then return SQLITE_ERROR. -func Xsqlite3VdbeCheckFk(tls *libc.TLS, p uintptr, deferred int32) int32 { /* sqlite3.c:82770:20: */ +func Xsqlite3VdbeCheckFk(tls *libc.TLS, p uintptr, deferred int32) int32 { /* sqlite3.c:82783:20: */ var db uintptr = (*Vdbe)(unsafe.Pointer(p)).Fdb if deferred != 0 && (*Sqlite3)(unsafe.Pointer(db)).FnDeferredCons+(*Sqlite3)(unsafe.Pointer(db)).FnDeferredImmCons > int64(0) || !(deferred != 0) && (*Vdbe)(unsafe.Pointer(p)).FnFkConstraint > int64(0) { @@ -58356,7 +58375,7 @@ func Xsqlite3VdbeCheckFk(tls *libc.TLS, p uintptr, deferred int32) int32 { /* sq // Return an error code. If the commit could not complete because of // lock contention, return SQLITE_BUSY. If SQLITE_BUSY is returned, it // means the close did not happen and needs to be repeated. -func Xsqlite3VdbeHalt(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:82797:20: */ +func Xsqlite3VdbeHalt(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:82810:20: */ var rc int32 // Used to store transient return codes var db uintptr = (*Vdbe)(unsafe.Pointer(p)).Fdb @@ -58560,7 +58579,7 @@ func Xsqlite3VdbeHalt(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:82797:20: * // Each VDBE holds the result of the most recent sqlite3_step() call // in p->rc. This routine sets that result back to SQLITE_OK. -func Xsqlite3VdbeResetStepResult(tls *libc.TLS, p uintptr) { /* sqlite3.c:83007:21: */ +func Xsqlite3VdbeResetStepResult(tls *libc.TLS, p uintptr) { /* sqlite3.c:83020:21: */ (*Vdbe)(unsafe.Pointer(p)).Frc = SQLITE_OK } @@ -58570,7 +58589,7 @@ func Xsqlite3VdbeResetStepResult(tls *libc.TLS, p uintptr) { /* sqlite3.c:83007: // // This function does not clear the VDBE error code or message, just // copies them to the database handle. -func Xsqlite3VdbeTransferError(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:83019:20: */ +func Xsqlite3VdbeTransferError(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:83032:20: */ var db uintptr = (*Vdbe)(unsafe.Pointer(p)).Fdb var rc int32 = (*Vdbe)(unsafe.Pointer(p)).Frc if (*Vdbe)(unsafe.Pointer(p)).FzErrMsg != 0 { @@ -58599,7 +58618,7 @@ func Xsqlite3VdbeTransferError(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:83 // To look at it another way, this routine resets the state of the // virtual machine from VDBE_MAGIC_RUN or VDBE_MAGIC_HALT back to // VDBE_MAGIC_INIT. -func Xsqlite3VdbeReset(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:83069:20: */ +func Xsqlite3VdbeReset(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:83082:20: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -58651,7 +58670,7 @@ func Xsqlite3VdbeReset(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:83069:20: // Clean up and delete a VDBE after execution. Return an integer which is // the result code. Write any error message text into *pzErrMsg. -func Xsqlite3VdbeFinalize(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:83166:20: */ +func Xsqlite3VdbeFinalize(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:83179:20: */ var rc int32 = SQLITE_OK if (*Vdbe)(unsafe.Pointer(p)).FiVdbeMagic == U32(VDBE_MAGIC_RUN) || (*Vdbe)(unsafe.Pointer(p)).FiVdbeMagic == U32(VDBE_MAGIC_HALT) { rc = Xsqlite3VdbeReset(tls, p) @@ -58675,7 +58694,7 @@ func Xsqlite3VdbeFinalize(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:83166:2 // // * the corresponding bit in argument mask is clear (where the first // function parameter corresponds to bit 0 etc.). -func Xsqlite3VdbeDeleteAuxData(tls *libc.TLS, db uintptr, pp uintptr, iOp int32, mask int32) { /* sqlite3.c:83192:21: */ +func Xsqlite3VdbeDeleteAuxData(tls *libc.TLS, db uintptr, pp uintptr, iOp int32, mask int32) { /* sqlite3.c:83205:21: */ for *(*uintptr)(unsafe.Pointer(pp)) != 0 { var pAux uintptr = *(*uintptr)(unsafe.Pointer(pp)) if iOp < 0 || @@ -58700,7 +58719,7 @@ func Xsqlite3VdbeDeleteAuxData(tls *libc.TLS, db uintptr, pp uintptr, iOp int32, // The difference between this function and sqlite3VdbeDelete() is that // VdbeDelete() also unlinks the Vdbe from the list of VMs associated with // the database connection and frees the object itself. -func Xsqlite3VdbeClearObject(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:83220:21: */ +func Xsqlite3VdbeClearObject(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:83233:21: */ var pSub uintptr var pNext uintptr @@ -58721,7 +58740,7 @@ func Xsqlite3VdbeClearObject(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3. } // Delete an entire VDBE. -func Xsqlite3VdbeDelete(tls *libc.TLS, p uintptr) { /* sqlite3.c:83261:21: */ +func Xsqlite3VdbeDelete(tls *libc.TLS, p uintptr) { /* sqlite3.c:83274:21: */ var db uintptr db = (*Vdbe)(unsafe.Pointer(p)).Fdb @@ -58744,7 +58763,7 @@ func Xsqlite3VdbeDelete(tls *libc.TLS, p uintptr) { /* sqlite3.c:83261:21: */ // The cursor "p" has a pending seek operation that has not yet been // carried out. Seek the cursor now. If an error occurs, return // the appropriate error code. -func Xsqlite3VdbeFinishMoveto(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:83287:36: */ +func Xsqlite3VdbeFinishMoveto(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:83300:36: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -58757,7 +58776,7 @@ func Xsqlite3VdbeFinishMoveto(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:832 return rc } if *(*int32)(unsafe.Pointer(bp)) != 0 { - return Xsqlite3CorruptError(tls, 83297) + return Xsqlite3CorruptError(tls, 83310) } (*VdbeCursor)(unsafe.Pointer(p)).FdeferredMoveto = U8(0) (*VdbeCursor)(unsafe.Pointer(p)).FcacheStatus = U32(CACHE_STALE) @@ -58769,7 +58788,7 @@ func Xsqlite3VdbeFinishMoveto(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:832 // rebalanced. Whatever the cause, try to restore "p" to the place it // is supposed to be pointing. If the row was deleted out from under the // cursor, set the cursor to point to a NULL row. -func handleMovedCursor(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:83313:28: */ +func handleMovedCursor(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:83326:28: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -58787,7 +58806,7 @@ func handleMovedCursor(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:83313:28: // Check to ensure that the cursor is valid. Restore the cursor // if need be. Return any I/O error from the restore operation. -func Xsqlite3VdbeCursorRestore(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:83328:20: */ +func Xsqlite3VdbeCursorRestore(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:83341:20: */ if Xsqlite3BtreeCursorHasMoved(tls, *(*uintptr)(unsafe.Pointer(p + 48))) != 0 { return handleMovedCursor(tls, p) @@ -58806,7 +58825,7 @@ func Xsqlite3VdbeCursorRestore(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:83 // // If the cursor is already pointing to the correct row and that row has // not been deleted out from under the cursor, then this routine is a no-op. -func Xsqlite3VdbeCursorMoveto(tls *libc.TLS, pp uintptr, piCol uintptr) int32 { /* sqlite3.c:83349:20: */ +func Xsqlite3VdbeCursorMoveto(tls *libc.TLS, pp uintptr, piCol uintptr) int32 { /* sqlite3.c:83362:20: */ var p uintptr = *(*uintptr)(unsafe.Pointer(pp)) if (*VdbeCursor)(unsafe.Pointer(p)).FdeferredMoveto != 0 { @@ -58881,10 +58900,10 @@ var sqlite3SmallTypeSizes = [128]U8{ /* 100 */ U8(44), U8(44), U8(45), U8(45), U8(46), U8(46), U8(47), U8(47), U8(48), U8(48), /* 110 */ U8(49), U8(49), U8(50), U8(50), U8(51), U8(51), U8(52), U8(52), U8(53), U8(53), /* 120 */ U8(54), U8(54), U8(55), U8(55), U8(56), U8(56), U8(57), U8(57), -} /* sqlite3.c:83486:17 */ +} /* sqlite3.c:83499:17 */ // Return the length of the data corresponding to the supplied serial-type. -func Xsqlite3VdbeSerialTypeLen(tls *libc.TLS, serial_type U32) U32 { /* sqlite3.c:83506:20: */ +func Xsqlite3VdbeSerialTypeLen(tls *libc.TLS, serial_type U32) U32 { /* sqlite3.c:83519:20: */ if serial_type >= U32(128) { return (serial_type - U32(12)) / U32(2) } else { @@ -58894,7 +58913,7 @@ func Xsqlite3VdbeSerialTypeLen(tls *libc.TLS, serial_type U32) U32 { /* sqlite3. return U32(0) } -func Xsqlite3VdbeOneByteSerialTypeLen(tls *libc.TLS, serial_type U8) U8 { /* sqlite3.c:83515:19: */ +func Xsqlite3VdbeOneByteSerialTypeLen(tls *libc.TLS, serial_type U8) U8 { /* sqlite3.c:83528:19: */ return sqlite3SmallTypeSizes[serial_type] } @@ -58943,7 +58962,7 @@ func Xsqlite3VdbeOneByteSerialTypeLen(tls *libc.TLS, serial_type U8) U8 { /* sql // Return the number of bytes actually written into buf[]. The number // of bytes in the zero-filled tail is included in the return value only // if those bytes were zeroed in buf[]. -func Xsqlite3VdbeSerialPut(tls *libc.TLS, buf uintptr, pMem uintptr, serial_type U32) U32 { /* sqlite3.c:83586:20: */ +func Xsqlite3VdbeSerialPut(tls *libc.TLS, buf uintptr, pMem uintptr, serial_type U32) U32 { /* sqlite3.c:83599:20: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -58994,7 +59013,7 @@ func Xsqlite3VdbeSerialPut(tls *libc.TLS, buf uintptr, pMem uintptr, serial_type // The few cases that require local variables are broken out into a separate // routine so that in most cases the overhead of moving the stack pointer // is avoided. -func serialGet(tls *libc.TLS, buf uintptr, serial_type U32, pMem uintptr) { /* sqlite3.c:83640:13: */ +func serialGet(tls *libc.TLS, buf uintptr, serial_type U32, pMem uintptr) { /* sqlite3.c:83653:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -59021,7 +59040,7 @@ func serialGet(tls *libc.TLS, buf uintptr, serial_type U32, pMem uintptr) { /* s } } -func Xsqlite3VdbeSerialGet(tls *libc.TLS, buf uintptr, serial_type U32, pMem uintptr) { /* sqlite3.c:83675:21: */ +func Xsqlite3VdbeSerialGet(tls *libc.TLS, buf uintptr, serial_type U32, pMem uintptr) { /* sqlite3.c:83688:21: */ switch serial_type { case U32(10): { // Internal use only: NULL with virtual table @@ -59124,7 +59143,7 @@ func Xsqlite3VdbeSerialGet(tls *libc.TLS, buf uintptr, serial_type U32, pMem uin return } -var aFlag = [2]U16{U16(MEM_Blob | MEM_Ephem), U16(MEM_Str | MEM_Ephem)} /* sqlite3.c:83758:24 */ +var aFlag = [2]U16{U16(MEM_Blob | MEM_Ephem), U16(MEM_Str | MEM_Ephem)} /* sqlite3.c:83771:24 */ // This routine is used to allocate sufficient space for an UnpackedRecord // structure large enough to be used with sqlite3VdbeRecordUnpack() if @@ -59138,7 +59157,7 @@ var aFlag = [2]U16{U16(MEM_Blob | MEM_Ephem), U16(MEM_Str | MEM_Ephem)} /* sqlit // before returning. // // If an OOM error occurs, NULL is returned. -func Xsqlite3VdbeAllocUnpackedRecord(tls *libc.TLS, pKeyInfo uintptr) uintptr { /* sqlite3.c:83781:31: */ +func Xsqlite3VdbeAllocUnpackedRecord(tls *libc.TLS, pKeyInfo uintptr) uintptr { /* sqlite3.c:83794:31: */ var p uintptr // Unpacked record to return var nByte int32 // Number of bytes required for *p nByte = int32((uint64(unsafe.Sizeof(UnpackedRecord{}))+uint64(7))&libc.Uint64FromInt32(libc.CplInt32(7)) + uint64(unsafe.Sizeof(Mem{}))*uint64(int32((*KeyInfo)(unsafe.Pointer(pKeyInfo)).FnKeyField)+1)) @@ -59156,7 +59175,7 @@ func Xsqlite3VdbeAllocUnpackedRecord(tls *libc.TLS, pKeyInfo uintptr) uintptr { // Given the nKey-byte encoding of a record in pKey[], populate the // UnpackedRecord structure indicated by the fourth argument with the // contents of the decoded record. -func Xsqlite3VdbeRecordUnpack(tls *libc.TLS, pKeyInfo uintptr, nKey int32, pKey uintptr, p uintptr) { /* sqlite3.c:83801:21: */ +func Xsqlite3VdbeRecordUnpack(tls *libc.TLS, pKeyInfo uintptr, nKey int32, pKey uintptr, p uintptr) { /* sqlite3.c:83814:21: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -59217,7 +59236,7 @@ func Xsqlite3VdbeRecordUnpack(tls *libc.TLS, pKeyInfo uintptr, nKey int32, pKey // using the collation sequence pColl. As usual, return a negative , zero // or positive value if *pMem1 is less than, equal to or greater than // *pMem2, respectively. Similar in spirit to "rc = (*pMem1) - (*pMem2);". -func vdbeCompareMemString(tls *libc.TLS, pMem1 uintptr, pMem2 uintptr, pColl uintptr, prcErr uintptr) int32 { /* sqlite3.c:83998:12: */ +func vdbeCompareMemString(tls *libc.TLS, pMem1 uintptr, pMem2 uintptr, pColl uintptr, prcErr uintptr) int32 { /* sqlite3.c:84011:12: */ bp := tls.Alloc(112) defer tls.Free(112) @@ -59260,7 +59279,7 @@ func vdbeCompareMemString(tls *libc.TLS, pMem1 uintptr, pMem2 uintptr, pColl uin // The input pBlob is guaranteed to be a Blob that is not marked // with MEM_Zero. Return true if it could be a zero-blob. -func isAllZero(tls *libc.TLS, z uintptr, n int32) int32 { /* sqlite3.c:84035:12: */ +func isAllZero(tls *libc.TLS, z uintptr, n int32) int32 { /* sqlite3.c:84048:12: */ var i int32 for i = 0; i < n; i++ { if *(*int8)(unsafe.Pointer(z + uintptr(i))) != 0 { @@ -59273,7 +59292,7 @@ func isAllZero(tls *libc.TLS, z uintptr, n int32) int32 { /* sqlite3.c:84035:12: // Compare two blobs. Return negative, zero, or positive if the first // is less than, equal to, or greater than the second, respectively. // If one blob is a prefix of the other, then the shorter is the lessor. -func Xsqlite3BlobCompare(tls *libc.TLS, pB1 uintptr, pB2 uintptr) int32 { /* sqlite3.c:84048:36: */ +func Xsqlite3BlobCompare(tls *libc.TLS, pB1 uintptr, pB2 uintptr) int32 { /* sqlite3.c:84061:36: */ var c int32 var n1 int32 = (*Mem)(unsafe.Pointer(pB1)).Fn var n2 int32 = (*Mem)(unsafe.Pointer(pB2)).Fn @@ -59313,7 +59332,7 @@ func Xsqlite3BlobCompare(tls *libc.TLS, pB1 uintptr, pB2 uintptr) int32 { /* sql // Do a comparison between a 64-bit signed integer and a 64-bit floating-point // number. Return negative, zero, or positive if the first (i64) is less than, // equal to, or greater than the second (double). -func Xsqlite3IntFloatCompare(tls *libc.TLS, i I64, r float64) int32 { /* sqlite3.c:84081:20: */ +func Xsqlite3IntFloatCompare(tls *libc.TLS, i I64, r float64) int32 { /* sqlite3.c:84094:20: */ if uint64(unsafe.Sizeof(float64(0))) > uint64(8) { var x float64 = float64(i) @@ -59359,7 +59378,7 @@ func Xsqlite3IntFloatCompare(tls *libc.TLS, i I64, r float64) int32 { /* sqlite3 // sequence pColl and finally blob's ordered by memcmp(). // // Two NULL values are considered equal by this function. -func Xsqlite3MemCompare(tls *libc.TLS, pMem1 uintptr, pMem2 uintptr, pColl uintptr) int32 { /* sqlite3.c:84114:20: */ +func Xsqlite3MemCompare(tls *libc.TLS, pMem1 uintptr, pMem2 uintptr, pColl uintptr) int32 { /* sqlite3.c:84127:20: */ var f1 int32 var f2 int32 var combined_flags int32 @@ -59453,7 +59472,7 @@ func Xsqlite3MemCompare(tls *libc.TLS, pMem1 uintptr, pMem2 uintptr, pColl uintp // except 7. The second points to a buffer containing an integer value // serialized according to serial_type. This function deserializes // and returns the value. -func vdbeRecordDecodeInt(tls *libc.TLS, serial_type U32, aKey uintptr) I64 { /* sqlite3.c:84213:12: */ +func vdbeRecordDecodeInt(tls *libc.TLS, serial_type U32, aKey uintptr) I64 { /* sqlite3.c:84226:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -59516,7 +59535,7 @@ func vdbeRecordDecodeInt(tls *libc.TLS, serial_type U32, aKey uintptr) I64 { /* // SQLITE_CORRUPT and return 0. If an OOM error is encountered, // pPKey2->errCode is set to SQLITE_NOMEM and, if it is not NULL, the // malloc-failed flag set on database handle (pPKey2->pKeyInfo->db). -func Xsqlite3VdbeRecordCompareWithSkip(tls *libc.TLS, nKey1 int32, pKey1 uintptr, pPKey2 uintptr, bSkip int32) int32 { /* sqlite3.c:84268:20: */ +func Xsqlite3VdbeRecordCompareWithSkip(tls *libc.TLS, nKey1 int32, pKey1 uintptr, pPKey2 uintptr, bSkip int32) int32 { /* sqlite3.c:84281:20: */ bp := tls.Alloc(68) defer tls.Free(68) @@ -59558,7 +59577,7 @@ func Xsqlite3VdbeRecordCompareWithSkip(tls *libc.TLS, nKey1 int32, pKey1 uintptr i = 0 } if d1 > uint32(nKey1) { - (*UnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = U8(Xsqlite3CorruptError(tls, 84299)) + (*UnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = U8(Xsqlite3CorruptError(tls, 84312)) return 0 // Corruption } @@ -59623,7 +59642,7 @@ func Xsqlite3VdbeRecordCompareWithSkip(tls *libc.TLS, nKey1 int32, pKey1 uintptr if d1+U32((*Mem)(unsafe.Pointer(bp+8)).Fn) > uint32(nKey1) || int32((*KeyInfo)(unsafe.Pointer(libc.AssignUintptr(&pKeyInfo, (*UnpackedRecord)(unsafe.Pointer(pPKey2)).FpKeyInfo))).FnAllField) <= i { - (*UnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = U8(Xsqlite3CorruptError(tls, 84376)) + (*UnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = U8(Xsqlite3CorruptError(tls, 84389)) return 0 // Corruption } else if *(*uintptr)(unsafe.Pointer(pKeyInfo + 32 + uintptr(i)*8)) != 0 { (*Mem)(unsafe.Pointer(bp + 8 /* &mem1 */)).Fenc = (*KeyInfo)(unsafe.Pointer(pKeyInfo)).Fenc @@ -59658,7 +59677,7 @@ func Xsqlite3VdbeRecordCompareWithSkip(tls *libc.TLS, nKey1 int32, pKey1 uintptr var nStr int32 = int32((*(*U32)(unsafe.Pointer(bp + 64)) - U32(12)) / U32(2)) if d1+U32(nStr) > uint32(nKey1) { - (*UnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = U8(Xsqlite3CorruptError(tls, 84406)) + (*UnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = U8(Xsqlite3CorruptError(tls, 84419)) return 0 // Corruption } else if int32((*Mem)(unsafe.Pointer(pRhs)).Fflags)&MEM_Zero != 0 { if !(isAllZero(tls, aKey1+uintptr(d1), nStr) != 0) { @@ -59719,7 +59738,7 @@ func Xsqlite3VdbeRecordCompareWithSkip(tls *libc.TLS, nKey1 int32, pKey1 uintptr return int32((*UnpackedRecord)(unsafe.Pointer(pPKey2)).Fdefault_rc) } -func Xsqlite3VdbeRecordCompare(tls *libc.TLS, nKey1 int32, pKey1 uintptr, pPKey2 uintptr) int32 { /* sqlite3.c:84465:20: */ +func Xsqlite3VdbeRecordCompare(tls *libc.TLS, nKey1 int32, pKey1 uintptr, pPKey2 uintptr) int32 { /* sqlite3.c:84478:20: */ return Xsqlite3VdbeRecordCompareWithSkip(tls, nKey1, pKey1, pPKey2, 0) } @@ -59730,7 +59749,7 @@ func Xsqlite3VdbeRecordCompare(tls *libc.TLS, nKey1 int32, pKey1 uintptr, pPKey2 // // To avoid concerns about buffer overreads, this routine is only used // on schemas where the maximum valid header size is 63 bytes or less. -func vdbeRecordCompareInt(tls *libc.TLS, nKey1 int32, pKey1 uintptr, pPKey2 uintptr) int32 { /* sqlite3.c:84482:12: */ +func vdbeRecordCompareInt(tls *libc.TLS, nKey1 int32, pKey1 uintptr, pPKey2 uintptr) int32 { /* sqlite3.c:84495:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -59835,7 +59854,7 @@ func vdbeRecordCompareInt(tls *libc.TLS, nKey1 int32, pKey1 uintptr, pPKey2 uint // that (a) the first field of pPKey2 is a string, that (b) the first field // uses the collation sequence BINARY and (c) that the size-of-header varint // at the start of (pKey1/nKey1) fits in a single byte. -func vdbeRecordCompareString(tls *libc.TLS, nKey1 int32, pKey1 uintptr, pPKey2 uintptr) int32 { /* sqlite3.c:84576:12: */ +func vdbeRecordCompareString(tls *libc.TLS, nKey1 int32, pKey1 uintptr, pPKey2 uintptr) int32 { /* sqlite3.c:84589:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -59859,7 +59878,7 @@ func vdbeRecordCompareString(tls *libc.TLS, nKey1 int32, pKey1 uintptr, pPKey2 u nStr = (*(*int32)(unsafe.Pointer(bp)) - 12) / 2 if szHdr+nStr > nKey1 { - (*UnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = U8(Xsqlite3CorruptError(tls, 84601)) + (*UnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = U8(Xsqlite3CorruptError(tls, 84614)) return 0 // Corruption } nCmp = func() int32 { @@ -59897,7 +59916,7 @@ func vdbeRecordCompareString(tls *libc.TLS, nKey1 int32, pKey1 uintptr, pPKey2 u // Return a pointer to an sqlite3VdbeRecordCompare() compatible function // suitable for comparing serialized records to the unpacked record passed // as the only argument. -func Xsqlite3VdbeFindCompare(tls *libc.TLS, p uintptr) RecordCompare { /* sqlite3.c:84640:30: */ +func Xsqlite3VdbeFindCompare(tls *libc.TLS, p uintptr) RecordCompare { /* sqlite3.c:84653:30: */ // varintRecordCompareInt() and varintRecordCompareString() both assume // that the size-of-header varint that occurs at the start of each record // fits in a single byte (i.e. is 127 or less). varintRecordCompareInt() @@ -59951,7 +59970,7 @@ func Xsqlite3VdbeFindCompare(tls *libc.TLS, p uintptr) RecordCompare { /* sqlite // // pCur might be pointing to text obtained from a corrupt database file. // So the content cannot be trusted. Do appropriate checks on the content. -func Xsqlite3VdbeIdxRowid(tls *libc.TLS, db uintptr, pCur uintptr, rowid uintptr) int32 { /* sqlite3.c:84691:20: */ +func Xsqlite3VdbeIdxRowid(tls *libc.TLS, db uintptr, pCur uintptr, rowid uintptr) int32 { /* sqlite3.c:84704:20: */ bp := tls.Alloc(120) defer tls.Free(120) @@ -60036,7 +60055,7 @@ __6: idx_rowid_corruption: ; Xsqlite3VdbeMemRelease(tls, bp) - return Xsqlite3CorruptError(tls, 84756) + return Xsqlite3CorruptError(tls, 84769) } // Compare the key of the index entry that cursor pC is pointing to against @@ -60048,7 +60067,7 @@ idx_rowid_corruption: // omits the rowid at the end. The rowid at the end of the index entry // is ignored as well. Hence, this routine only compares the prefixes // of the keys prior to the final rowid, not the entire key. -func Xsqlite3VdbeIdxKeyCompare(tls *libc.TLS, db uintptr, pC uintptr, pUnpacked uintptr, res uintptr) int32 { /* sqlite3.c:84770:20: */ +func Xsqlite3VdbeIdxKeyCompare(tls *libc.TLS, db uintptr, pC uintptr, pUnpacked uintptr, res uintptr) int32 { /* sqlite3.c:84783:20: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -60064,7 +60083,7 @@ func Xsqlite3VdbeIdxKeyCompare(tls *libc.TLS, db uintptr, pC uintptr, pUnpacked // that btreeParseCellPtr() and sqlite3GetVarint32() are implemented if nCellKey <= int64(0) || nCellKey > int64(0x7fffffff) { *(*int32)(unsafe.Pointer(res)) = 0 - return Xsqlite3CorruptError(tls, 84789) + return Xsqlite3CorruptError(tls, 84802) } Xsqlite3VdbeMemInit(tls, bp, db, uint16(0)) rc = Xsqlite3VdbeMemFromBtreeZeroOffset(tls, pCur, U32(nCellKey), bp) @@ -60078,7 +60097,7 @@ func Xsqlite3VdbeIdxKeyCompare(tls *libc.TLS, db uintptr, pC uintptr, pUnpacked // This routine sets the value to be returned by subsequent calls to // sqlite3_changes() on the database handle 'db'. -func Xsqlite3VdbeSetChanges(tls *libc.TLS, db uintptr, nChange I64) { /* sqlite3.c:84805:21: */ +func Xsqlite3VdbeSetChanges(tls *libc.TLS, db uintptr, nChange I64) { /* sqlite3.c:84818:21: */ (*Sqlite3)(unsafe.Pointer(db)).FnChange = nChange *(*I64)(unsafe.Pointer(db + 128)) += nChange @@ -60086,7 +60105,7 @@ func Xsqlite3VdbeSetChanges(tls *libc.TLS, db uintptr, nChange I64) { /* sqlite3 // Set a flag in the vdbe to update the change counter when it is finalised // or reset. -func Xsqlite3VdbeCountChanges(tls *libc.TLS, v uintptr) { /* sqlite3.c:84815:21: */ +func Xsqlite3VdbeCountChanges(tls *libc.TLS, v uintptr) { /* sqlite3.c:84828:21: */ libc.SetBitFieldPtr16Uint32(v+208, Bft(1), 4, 0x10) } @@ -60106,7 +60125,7 @@ func Xsqlite3VdbeCountChanges(tls *libc.TLS, v uintptr) { /* sqlite3.c:84815:21: // Internally, this function just sets the Vdbe.expired flag on all // prepared statements. The flag is set to 1 for an immediate expiration // and set to 2 for an advisory expiration. -func Xsqlite3ExpirePreparedStatements(tls *libc.TLS, db uintptr, iCode int32) { /* sqlite3.c:84837:21: */ +func Xsqlite3ExpirePreparedStatements(tls *libc.TLS, db uintptr, iCode int32) { /* sqlite3.c:84850:21: */ var p uintptr for p = (*Sqlite3)(unsafe.Pointer(db)).FpVdbe; p != 0; p = (*Vdbe)(unsafe.Pointer(p)).FpNext { libc.SetBitFieldPtr16Uint32(p+208, Bft(iCode+1), 0, 0x3) @@ -60114,12 +60133,12 @@ func Xsqlite3ExpirePreparedStatements(tls *libc.TLS, db uintptr, iCode int32) { } // Return the database associated with the Vdbe. -func Xsqlite3VdbeDb(tls *libc.TLS, v uintptr) uintptr { /* sqlite3.c:84847:24: */ +func Xsqlite3VdbeDb(tls *libc.TLS, v uintptr) uintptr { /* sqlite3.c:84860:24: */ return (*Vdbe)(unsafe.Pointer(v)).Fdb } // Return the SQLITE_PREPARE flags for a Vdbe. -func Xsqlite3VdbePrepareFlags(tls *libc.TLS, v uintptr) U8 { /* sqlite3.c:84854:19: */ +func Xsqlite3VdbePrepareFlags(tls *libc.TLS, v uintptr) U8 { /* sqlite3.c:84867:19: */ return (*Vdbe)(unsafe.Pointer(v)).FprepFlags } @@ -60129,7 +60148,7 @@ func Xsqlite3VdbePrepareFlags(tls *libc.TLS, v uintptr) U8 { /* sqlite3.c:84854: // constants) to the value before returning it. // // The returned value must be freed by the caller using sqlite3ValueFree(). -func Xsqlite3VdbeGetBoundValue(tls *libc.TLS, v uintptr, iVar int32, aff U8) uintptr { /* sqlite3.c:84866:30: */ +func Xsqlite3VdbeGetBoundValue(tls *libc.TLS, v uintptr, iVar int32, aff U8) uintptr { /* sqlite3.c:84879:30: */ if v != 0 { var pMem uintptr = (*Vdbe)(unsafe.Pointer(v)).FaVar + uintptr(iVar-1)*56 @@ -60149,7 +60168,7 @@ func Xsqlite3VdbeGetBoundValue(tls *libc.TLS, v uintptr, iVar int32, aff U8) uin // Configure SQL variable iVar so that binding a new value to it signals // to sqlite3_reoptimize() that re-preparing the statement may result // in a better query plan. -func Xsqlite3VdbeSetVarmask(tls *libc.TLS, v uintptr, iVar int32) { /* sqlite3.c:84888:21: */ +func Xsqlite3VdbeSetVarmask(tls *libc.TLS, v uintptr, iVar int32) { /* sqlite3.c:84901:21: */ if iVar >= 32 { *(*U32)(unsafe.Pointer(v + 292)) |= 0x80000000 @@ -60165,7 +60184,7 @@ func Xsqlite3VdbeSetVarmask(tls *libc.TLS, v uintptr, iVar int32) { /* sqlite3.c // throw an error if it is given inputs that would make it non-deterministic. // This routine is invoked by date/time functions that use non-deterministic // features such as 'now'. -func Xsqlite3NotPureFunc(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:84907:20: */ +func Xsqlite3NotPureFunc(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:84920:20: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -60196,7 +60215,7 @@ func Xsqlite3NotPureFunc(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:84907 // Transfer error message text from an sqlite3_vtab.zErrMsg (text stored // in memory obtained from sqlite3_malloc) into a Vdbe.zErrMsg (text stored // in memory obtained from sqlite3DbMalloc). -func Xsqlite3VtabImportErrmsg(tls *libc.TLS, p uintptr, pVtab uintptr) { /* sqlite3.c:84938:21: */ +func Xsqlite3VtabImportErrmsg(tls *libc.TLS, p uintptr, pVtab uintptr) { /* sqlite3.c:84951:21: */ if (*Sqlite3_vtab)(unsafe.Pointer(pVtab)).FzErrMsg != 0 { var db uintptr = (*Vdbe)(unsafe.Pointer(p)).Fdb Xsqlite3DbFree(tls, db, (*Vdbe)(unsafe.Pointer(p)).FzErrMsg) @@ -60212,7 +60231,7 @@ func Xsqlite3VtabImportErrmsg(tls *libc.TLS, p uintptr, pVtab uintptr) { /* sqli // // This function is used to free UnpackedRecord structures allocated by // the vdbeUnpackRecord() function found in vdbeapi.c. -func vdbeFreeUnpacked(tls *libc.TLS, db uintptr, nField int32, p uintptr) { /* sqlite3.c:84959:13: */ +func vdbeFreeUnpacked(tls *libc.TLS, db uintptr, nField int32, p uintptr) { /* sqlite3.c:84972:13: */ if p != 0 { var i int32 for i = 0; i < nField; i++ { @@ -60229,7 +60248,7 @@ func vdbeFreeUnpacked(tls *libc.TLS, db uintptr, nField int32, p uintptr) { /* s // then cursor passed as the second argument should point to the row about // to be update or deleted. If the application calls sqlite3_preupdate_old(), // the required value will be read from the row the cursor points to. -func Xsqlite3VdbePreUpdateHook(tls *libc.TLS, v uintptr, pCsr uintptr, op int32, zDb uintptr, pTab uintptr, iKey1 I64, iReg int32, iBlobWrite int32) { /* sqlite3.c:84978:21: */ +func Xsqlite3VdbePreUpdateHook(tls *libc.TLS, v uintptr, pCsr uintptr, op int32, zDb uintptr, pTab uintptr, iKey1 I64, iReg int32, iBlobWrite int32) { /* sqlite3.c:84991:21: */ bp := tls.Alloc(136) defer tls.Free(136) @@ -60281,7 +60300,7 @@ func Xsqlite3VdbePreUpdateHook(tls *libc.TLS, v uintptr, pCsr uintptr, op int32, } } -var fakeSortOrder U8 = U8(0) /* sqlite3.c:84992:19 */ +var fakeSortOrder U8 = U8(0) /* sqlite3.c:85005:19 */ //************* End of vdbeaux.c ******************************************** //************* Begin file vdbeapi.c **************************************** @@ -60307,7 +60326,7 @@ var fakeSortOrder U8 = U8(0) /* sqlite3.c:84992:19 */ // that sqlite3_prepare() generates. For example, if new functions or // collating sequences are registered or if an authorizer function is // added or changed. -func Xsqlite3_expired(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:85071:16: */ +func Xsqlite3_expired(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:85084:16: */ var p uintptr = pStmt return libc.Bool32(p == uintptr(0) || Bft(int32(*(*uint16)(unsafe.Pointer(p + 208))&0x3>>0)) != 0) } @@ -60315,7 +60334,7 @@ func Xsqlite3_expired(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:85071:1 // Check on a Vdbe to make sure it has not been finalized. Log // an error and return true if it has been finalized (or is otherwise // invalid). Return false if it is ok. -func vdbeSafety(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:85082:12: */ +func vdbeSafety(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:85095:12: */ if (*Vdbe)(unsafe.Pointer(p)).Fdb == uintptr(0) { Xsqlite3_log(tls, SQLITE_MISUSE, ts+5193, 0) return 1 @@ -60325,7 +60344,7 @@ func vdbeSafety(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:85082:12: */ return int32(0) } -func vdbeSafetyNotNull(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:85090:12: */ +func vdbeSafetyNotNull(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:85103:12: */ if p == uintptr(0) { Xsqlite3_log(tls, SQLITE_MISUSE, ts+5238, 0) return 1 @@ -60337,7 +60356,7 @@ func vdbeSafetyNotNull(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:85090:12: // Invoke the profile callback. This routine is only called if we already // know that the profile callback is defined and needs to be invoked. -func invokeProfileCallback(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:85104:29: */ +func invokeProfileCallback(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:85117:29: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -60370,7 +60389,7 @@ func invokeProfileCallback(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c: // // This routine sets the error code and string returned by // sqlite3_errcode(), sqlite3_errmsg() and sqlite3_errmsg16(). -func Xsqlite3_finalize(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:85142:16: */ +func Xsqlite3_finalize(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:85155:16: */ var rc int32 if pStmt == uintptr(0) { // IMPLEMENTATION-OF: R-57228-12904 Invoking sqlite3_finalize() on a NULL @@ -60380,7 +60399,7 @@ func Xsqlite3_finalize(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:85142: var v uintptr = pStmt var db uintptr = (*Vdbe)(unsafe.Pointer(v)).Fdb if vdbeSafety(tls, v) != 0 { - return Xsqlite3MisuseError(tls, 85151) + return Xsqlite3MisuseError(tls, 85164) } Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) if (*Vdbe)(unsafe.Pointer(v)).FstartTime > int64(0) { @@ -60400,7 +60419,7 @@ func Xsqlite3_finalize(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:85142: // // This routine sets the error code and string returned by // sqlite3_errcode(), sqlite3_errmsg() and sqlite3_errmsg16(). -func Xsqlite3_reset(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:85169:16: */ +func Xsqlite3_reset(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:85182:16: */ var rc int32 if pStmt == uintptr(0) { rc = SQLITE_OK @@ -60422,7 +60441,7 @@ func Xsqlite3_reset(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:85169:16: } // Set all the parameters in the compiled SQL statement to NULL. -func Xsqlite3_clear_bindings(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:85190:16: */ +func Xsqlite3_clear_bindings(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:85203:16: */ var i int32 var rc int32 = SQLITE_OK var p uintptr = pStmt @@ -60444,7 +60463,7 @@ func Xsqlite3_clear_bindings(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c: // // The following routines extract information from a Mem or sqlite3_value // structure. -func Xsqlite3_value_blob(tls *libc.TLS, pVal uintptr) uintptr { /* sqlite3.c:85215:23: */ +func Xsqlite3_value_blob(tls *libc.TLS, pVal uintptr) uintptr { /* sqlite3.c:85228:23: */ var p uintptr = pVal if int32((*Mem)(unsafe.Pointer(p)).Fflags)&(MEM_Blob|MEM_Str) != 0 { if func() int32 { @@ -60467,27 +60486,27 @@ func Xsqlite3_value_blob(tls *libc.TLS, pVal uintptr) uintptr { /* sqlite3.c:852 return uintptr(0) } -func Xsqlite3_value_bytes(tls *libc.TLS, pVal uintptr) int32 { /* sqlite3.c:85228:16: */ +func Xsqlite3_value_bytes(tls *libc.TLS, pVal uintptr) int32 { /* sqlite3.c:85241:16: */ return Xsqlite3ValueBytes(tls, pVal, uint8(SQLITE_UTF8)) } -func Xsqlite3_value_bytes16(tls *libc.TLS, pVal uintptr) int32 { /* sqlite3.c:85231:16: */ +func Xsqlite3_value_bytes16(tls *libc.TLS, pVal uintptr) int32 { /* sqlite3.c:85244:16: */ return Xsqlite3ValueBytes(tls, pVal, uint8(SQLITE_UTF16LE)) } -func Xsqlite3_value_double(tls *libc.TLS, pVal uintptr) float64 { /* sqlite3.c:85234:19: */ +func Xsqlite3_value_double(tls *libc.TLS, pVal uintptr) float64 { /* sqlite3.c:85247:19: */ return Xsqlite3VdbeRealValue(tls, pVal) } -func Xsqlite3_value_int(tls *libc.TLS, pVal uintptr) int32 { /* sqlite3.c:85237:16: */ +func Xsqlite3_value_int(tls *libc.TLS, pVal uintptr) int32 { /* sqlite3.c:85250:16: */ return int32(Xsqlite3VdbeIntValue(tls, pVal)) } -func Xsqlite3_value_int64(tls *libc.TLS, pVal uintptr) Sqlite_int64 { /* sqlite3.c:85240:25: */ +func Xsqlite3_value_int64(tls *libc.TLS, pVal uintptr) Sqlite_int64 { /* sqlite3.c:85253:25: */ return Xsqlite3VdbeIntValue(tls, pVal) } -func Xsqlite3_value_subtype(tls *libc.TLS, pVal uintptr) uint32 { /* sqlite3.c:85243:25: */ +func Xsqlite3_value_subtype(tls *libc.TLS, pVal uintptr) uint32 { /* sqlite3.c:85256:25: */ var pMem uintptr = pVal return func() uint32 { if int32((*Mem)(unsafe.Pointer(pMem)).Fflags)&MEM_Subtype != 0 { @@ -60497,7 +60516,7 @@ func Xsqlite3_value_subtype(tls *libc.TLS, pVal uintptr) uint32 { /* sqlite3.c:8 }() } -func Xsqlite3_value_pointer(tls *libc.TLS, pVal uintptr, zPType uintptr) uintptr { /* sqlite3.c:85247:17: */ +func Xsqlite3_value_pointer(tls *libc.TLS, pVal uintptr, zPType uintptr) uintptr { /* sqlite3.c:85260:17: */ var p uintptr = pVal if int32((*Mem)(unsafe.Pointer(p)).Fflags)&(MEM_TypeMask|MEM_Term|MEM_Subtype) == MEM_Null|MEM_Term|MEM_Subtype && zPType != uintptr(0) && @@ -60510,26 +60529,26 @@ func Xsqlite3_value_pointer(tls *libc.TLS, pVal uintptr, zPType uintptr) uintptr return uintptr(0) } -func Xsqlite3_value_text(tls *libc.TLS, pVal uintptr) uintptr { /* sqlite3.c:85260:32: */ +func Xsqlite3_value_text(tls *libc.TLS, pVal uintptr) uintptr { /* sqlite3.c:85273:32: */ return Xsqlite3ValueText(tls, pVal, uint8(SQLITE_UTF8)) } -func Xsqlite3_value_text16(tls *libc.TLS, pVal uintptr) uintptr { /* sqlite3.c:85264:23: */ +func Xsqlite3_value_text16(tls *libc.TLS, pVal uintptr) uintptr { /* sqlite3.c:85277:23: */ return Xsqlite3ValueText(tls, pVal, uint8(SQLITE_UTF16LE)) } -func Xsqlite3_value_text16be(tls *libc.TLS, pVal uintptr) uintptr { /* sqlite3.c:85267:23: */ +func Xsqlite3_value_text16be(tls *libc.TLS, pVal uintptr) uintptr { /* sqlite3.c:85280:23: */ return Xsqlite3ValueText(tls, pVal, uint8(SQLITE_UTF16BE)) } -func Xsqlite3_value_text16le(tls *libc.TLS, pVal uintptr) uintptr { /* sqlite3.c:85270:23: */ +func Xsqlite3_value_text16le(tls *libc.TLS, pVal uintptr) uintptr { /* sqlite3.c:85283:23: */ return Xsqlite3ValueText(tls, pVal, uint8(SQLITE_UTF16LE)) } // EVIDENCE-OF: R-12793-43283 Every value in SQLite has one of five // fundamental datatypes: 64-bit signed integer 64-bit IEEE floating // point number string BLOB NULL -func Xsqlite3_value_type(tls *libc.TLS, pVal uintptr) int32 { /* sqlite3.c:85278:16: */ +func Xsqlite3_value_type(tls *libc.TLS, pVal uintptr) int32 { /* sqlite3.c:85291:16: */ return int32(aType[int32((*Sqlite3_value)(unsafe.Pointer(pVal)).Fflags)&MEM_AffMask]) } @@ -60598,20 +60617,20 @@ var aType = [64]U8{ U8(SQLITE_NULL), // 0x3d (not possible) U8(SQLITE_FLOAT), // 0x3e (not possible) U8(SQLITE_NULL), // 0x3f (not possible) -} /* sqlite3.c:85279:19 */ +} /* sqlite3.c:85292:19 */ // Return true if a parameter to xUpdate represents an unchanged column -func Xsqlite3_value_nochange(tls *libc.TLS, pVal uintptr) int32 { /* sqlite3.c:85364:16: */ +func Xsqlite3_value_nochange(tls *libc.TLS, pVal uintptr) int32 { /* sqlite3.c:85377:16: */ return libc.Bool32(int32((*Sqlite3_value)(unsafe.Pointer(pVal)).Fflags)&(MEM_Null|MEM_Zero) == MEM_Null|MEM_Zero) } // Return true if a parameter value originated from an sqlite3_bind() -func Xsqlite3_value_frombind(tls *libc.TLS, pVal uintptr) int32 { /* sqlite3.c:85369:16: */ +func Xsqlite3_value_frombind(tls *libc.TLS, pVal uintptr) int32 { /* sqlite3.c:85382:16: */ return libc.Bool32(int32((*Sqlite3_value)(unsafe.Pointer(pVal)).Fflags)&MEM_FromBind != 0) } // Make a copy of an sqlite3_value object -func Xsqlite3_value_dup(tls *libc.TLS, pOrig uintptr) uintptr { /* sqlite3.c:85375:26: */ +func Xsqlite3_value_dup(tls *libc.TLS, pOrig uintptr) uintptr { /* sqlite3.c:85388:26: */ var pNew uintptr if pOrig == uintptr(0) { return uintptr(0) @@ -60637,7 +60656,7 @@ func Xsqlite3_value_dup(tls *libc.TLS, pOrig uintptr) uintptr { /* sqlite3.c:853 // Destroy an sqlite3_value object previously obtained from // sqlite3_value_dup(). -func Xsqlite3_value_free(tls *libc.TLS, pOld uintptr) { /* sqlite3.c:85398:17: */ +func Xsqlite3_value_free(tls *libc.TLS, pOld uintptr) { /* sqlite3.c:85411:17: */ Xsqlite3ValueFree(tls, pOld) } @@ -60652,7 +60671,7 @@ func Xsqlite3_value_free(tls *libc.TLS, pOld uintptr) { /* sqlite3.c:85398:17: * // // The invokeValueDestructor(P,X) routine invokes destructor function X() // on value P is not going to be used and need to be destroyed. -func setResultStrOrError(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, enc U8, xDel uintptr) { /* sqlite3.c:85414:13: */ +func setResultStrOrError(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, enc U8, xDel uintptr) { /* sqlite3.c:85427:13: */ var rc int32 = Xsqlite3VdbeMemSetStr(tls, (*Sqlite3_context)(unsafe.Pointer(pCtx)).FpOut, z, int64(n), enc, xDel) if rc != 0 { if rc == SQLITE_TOOBIG { @@ -60666,7 +60685,7 @@ func setResultStrOrError(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, enc U8 } } -func invokeValueDestructor(tls *libc.TLS, p uintptr, xDel uintptr, pCtx uintptr) int32 { /* sqlite3.c:85433:12: */ +func invokeValueDestructor(tls *libc.TLS, p uintptr, xDel uintptr, pCtx uintptr) int32 { /* sqlite3.c:85446:12: */ if xDel == uintptr(0) { // noop @@ -60679,12 +60698,12 @@ func invokeValueDestructor(tls *libc.TLS, p uintptr, xDel uintptr, pCtx uintptr) return SQLITE_TOOBIG } -func Xsqlite3_result_blob(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, xDel uintptr) { /* sqlite3.c:85449:17: */ +func Xsqlite3_result_blob(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, xDel uintptr) { /* sqlite3.c:85462:17: */ setResultStrOrError(tls, pCtx, z, n, uint8(0), xDel) } -func Xsqlite3_result_blob64(tls *libc.TLS, pCtx uintptr, z uintptr, n Sqlite3_uint64, xDel uintptr) { /* sqlite3.c:85459:17: */ +func Xsqlite3_result_blob64(tls *libc.TLS, pCtx uintptr, z uintptr, n Sqlite3_uint64, xDel uintptr) { /* sqlite3.c:85472:17: */ if n > uint64(0x7fffffff) { invokeValueDestructor(tls, z, xDel, pCtx) @@ -60693,39 +60712,39 @@ func Xsqlite3_result_blob64(tls *libc.TLS, pCtx uintptr, z uintptr, n Sqlite3_ui } } -func Xsqlite3_result_double(tls *libc.TLS, pCtx uintptr, rVal float64) { /* sqlite3.c:85473:17: */ +func Xsqlite3_result_double(tls *libc.TLS, pCtx uintptr, rVal float64) { /* sqlite3.c:85486:17: */ Xsqlite3VdbeMemSetDouble(tls, (*Sqlite3_context)(unsafe.Pointer(pCtx)).FpOut, rVal) } -func Xsqlite3_result_error(tls *libc.TLS, pCtx uintptr, z uintptr, n int32) { /* sqlite3.c:85477:17: */ +func Xsqlite3_result_error(tls *libc.TLS, pCtx uintptr, z uintptr, n int32) { /* sqlite3.c:85490:17: */ (*Sqlite3_context)(unsafe.Pointer(pCtx)).FisError = SQLITE_ERROR Xsqlite3VdbeMemSetStr(tls, (*Sqlite3_context)(unsafe.Pointer(pCtx)).FpOut, z, int64(n), uint8(SQLITE_UTF8), libc.UintptrFromInt32(-1)) } -func Xsqlite3_result_error16(tls *libc.TLS, pCtx uintptr, z uintptr, n int32) { /* sqlite3.c:85483:17: */ +func Xsqlite3_result_error16(tls *libc.TLS, pCtx uintptr, z uintptr, n int32) { /* sqlite3.c:85496:17: */ (*Sqlite3_context)(unsafe.Pointer(pCtx)).FisError = SQLITE_ERROR Xsqlite3VdbeMemSetStr(tls, (*Sqlite3_context)(unsafe.Pointer(pCtx)).FpOut, z, int64(n), uint8(SQLITE_UTF16LE), libc.UintptrFromInt32(-1)) } -func Xsqlite3_result_int(tls *libc.TLS, pCtx uintptr, iVal int32) { /* sqlite3.c:85489:17: */ +func Xsqlite3_result_int(tls *libc.TLS, pCtx uintptr, iVal int32) { /* sqlite3.c:85502:17: */ Xsqlite3VdbeMemSetInt64(tls, (*Sqlite3_context)(unsafe.Pointer(pCtx)).FpOut, I64(iVal)) } -func Xsqlite3_result_int64(tls *libc.TLS, pCtx uintptr, iVal I64) { /* sqlite3.c:85493:17: */ +func Xsqlite3_result_int64(tls *libc.TLS, pCtx uintptr, iVal I64) { /* sqlite3.c:85506:17: */ Xsqlite3VdbeMemSetInt64(tls, (*Sqlite3_context)(unsafe.Pointer(pCtx)).FpOut, iVal) } -func Xsqlite3_result_null(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:85497:17: */ +func Xsqlite3_result_null(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:85510:17: */ Xsqlite3VdbeMemSetNull(tls, (*Sqlite3_context)(unsafe.Pointer(pCtx)).FpOut) } -func Xsqlite3_result_pointer(tls *libc.TLS, pCtx uintptr, pPtr uintptr, zPType uintptr, xDestructor uintptr) { /* sqlite3.c:85501:17: */ +func Xsqlite3_result_pointer(tls *libc.TLS, pCtx uintptr, pPtr uintptr, zPType uintptr, xDestructor uintptr) { /* sqlite3.c:85514:17: */ var pOut uintptr = (*Sqlite3_context)(unsafe.Pointer(pCtx)).FpOut Xsqlite3VdbeMemRelease(tls, pOut) @@ -60733,19 +60752,19 @@ func Xsqlite3_result_pointer(tls *libc.TLS, pCtx uintptr, pPtr uintptr, zPType u Xsqlite3VdbeMemSetPointer(tls, pOut, pPtr, zPType, xDestructor) } -func Xsqlite3_result_subtype(tls *libc.TLS, pCtx uintptr, eSubtype uint32) { /* sqlite3.c:85513:17: */ +func Xsqlite3_result_subtype(tls *libc.TLS, pCtx uintptr, eSubtype uint32) { /* sqlite3.c:85526:17: */ var pOut uintptr = (*Sqlite3_context)(unsafe.Pointer(pCtx)).FpOut (*Mem)(unsafe.Pointer(pOut)).FeSubtype = U8(eSubtype & uint32(0xff)) *(*U16)(unsafe.Pointer(pOut + 8)) |= U16(MEM_Subtype) } -func Xsqlite3_result_text(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, xDel uintptr) { /* sqlite3.c:85519:17: */ +func Xsqlite3_result_text(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, xDel uintptr) { /* sqlite3.c:85532:17: */ setResultStrOrError(tls, pCtx, z, n, uint8(SQLITE_UTF8), xDel) } -func Xsqlite3_result_text64(tls *libc.TLS, pCtx uintptr, z uintptr, n Sqlite3_uint64, xDel uintptr, enc uint8) { /* sqlite3.c:85528:17: */ +func Xsqlite3_result_text64(tls *libc.TLS, pCtx uintptr, z uintptr, n Sqlite3_uint64, xDel uintptr, enc uint8) { /* sqlite3.c:85541:17: */ if int32(enc) == SQLITE_UTF16 { enc = uint8(SQLITE_UTF16LE) @@ -60757,32 +60776,32 @@ func Xsqlite3_result_text64(tls *libc.TLS, pCtx uintptr, z uintptr, n Sqlite3_ui } } -func Xsqlite3_result_text16(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, xDel uintptr) { /* sqlite3.c:85545:17: */ +func Xsqlite3_result_text16(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, xDel uintptr) { /* sqlite3.c:85558:17: */ setResultStrOrError(tls, pCtx, z, n, uint8(SQLITE_UTF16LE), xDel) } -func Xsqlite3_result_text16be(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, xDel uintptr) { /* sqlite3.c:85554:17: */ +func Xsqlite3_result_text16be(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, xDel uintptr) { /* sqlite3.c:85567:17: */ setResultStrOrError(tls, pCtx, z, n, uint8(SQLITE_UTF16BE), xDel) } -func Xsqlite3_result_text16le(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, xDel uintptr) { /* sqlite3.c:85563:17: */ +func Xsqlite3_result_text16le(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, xDel uintptr) { /* sqlite3.c:85576:17: */ setResultStrOrError(tls, pCtx, z, n, uint8(SQLITE_UTF16LE), xDel) } -func Xsqlite3_result_value(tls *libc.TLS, pCtx uintptr, pValue uintptr) { /* sqlite3.c:85573:17: */ +func Xsqlite3_result_value(tls *libc.TLS, pCtx uintptr, pValue uintptr) { /* sqlite3.c:85586:17: */ Xsqlite3VdbeMemCopy(tls, (*Sqlite3_context)(unsafe.Pointer(pCtx)).FpOut, pValue) } -func Xsqlite3_result_zeroblob(tls *libc.TLS, pCtx uintptr, n int32) { /* sqlite3.c:85577:17: */ +func Xsqlite3_result_zeroblob(tls *libc.TLS, pCtx uintptr, n int32) { /* sqlite3.c:85590:17: */ Xsqlite3VdbeMemSetZeroBlob(tls, (*Sqlite3_context)(unsafe.Pointer(pCtx)).FpOut, n) } -func Xsqlite3_result_zeroblob64(tls *libc.TLS, pCtx uintptr, n U64) int32 { /* sqlite3.c:85581:16: */ +func Xsqlite3_result_zeroblob64(tls *libc.TLS, pCtx uintptr, n U64) int32 { /* sqlite3.c:85594:16: */ var pOut uintptr = (*Sqlite3_context)(unsafe.Pointer(pCtx)).FpOut if n > U64(*(*int32)(unsafe.Pointer((*Mem)(unsafe.Pointer(pOut)).Fdb + 136))) { @@ -60792,7 +60811,7 @@ func Xsqlite3_result_zeroblob64(tls *libc.TLS, pCtx uintptr, n U64) int32 { /* s return SQLITE_OK } -func Xsqlite3_result_error_code(tls *libc.TLS, pCtx uintptr, errCode int32) { /* sqlite3.c:85594:17: */ +func Xsqlite3_result_error_code(tls *libc.TLS, pCtx uintptr, errCode int32) { /* sqlite3.c:85607:17: */ (*Sqlite3_context)(unsafe.Pointer(pCtx)).FisError = func() int32 { if errCode != 0 { return errCode @@ -60806,7 +60825,7 @@ func Xsqlite3_result_error_code(tls *libc.TLS, pCtx uintptr, errCode int32) { /* } // Force an SQLITE_TOOBIG error. -func Xsqlite3_result_error_toobig(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:85606:17: */ +func Xsqlite3_result_error_toobig(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:85619:17: */ (*Sqlite3_context)(unsafe.Pointer(pCtx)).FisError = SQLITE_TOOBIG Xsqlite3VdbeMemSetStr(tls, (*Sqlite3_context)(unsafe.Pointer(pCtx)).FpOut, ts+5278, int64(-1), @@ -60814,7 +60833,7 @@ func Xsqlite3_result_error_toobig(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:85 } // An SQLITE_NOMEM error. -func Xsqlite3_result_error_nomem(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:85614:17: */ +func Xsqlite3_result_error_nomem(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:85627:17: */ Xsqlite3VdbeMemSetNull(tls, (*Sqlite3_context)(unsafe.Pointer(pCtx)).FpOut) (*Sqlite3_context)(unsafe.Pointer(pCtx)).FisError = SQLITE_NOMEM @@ -60824,7 +60843,7 @@ func Xsqlite3_result_error_nomem(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:856 // Force the INT64 value currently stored as the result to be // a MEM_IntReal value. See the SQLITE_TESTCTRL_RESULT_INTREAL // test-control. -func Xsqlite3ResultIntReal(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:85626:21: */ +func Xsqlite3ResultIntReal(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:85639:21: */ if int32((*Mem)(unsafe.Pointer((*Sqlite3_context)(unsafe.Pointer(pCtx)).FpOut)).Fflags)&MEM_Int != 0 { *(*U16)(unsafe.Pointer((*Sqlite3_context)(unsafe.Pointer(pCtx)).FpOut + 8)) &= libc.Uint16FromInt32(libc.CplInt32(MEM_Int)) @@ -60834,7 +60853,7 @@ func Xsqlite3ResultIntReal(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:85626:21: // This function is called after a transaction has been committed. It // invokes callbacks registered with sqlite3_wal_hook() as required. -func doWalCallbacks(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:85640:12: */ +func doWalCallbacks(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:85653:12: */ var rc int32 = SQLITE_OK var i int32 for i = 0; i < (*Sqlite3)(unsafe.Pointer(db)).FnDb; i++ { @@ -60861,7 +60880,7 @@ func doWalCallbacks(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:85640:12: */ // API. The only thing omitted is the automatic recompile if a // schema change has occurred. That detail is handled by the // outer sqlite3_step() wrapper procedure. -func sqlite3Step(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:85670:12: */ +func sqlite3Step(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:85683:12: */ var db uintptr var rc int32 @@ -61028,14 +61047,14 @@ end_of_step: // This is the top-level implementation of sqlite3_step(). Call // sqlite3Step() to do most of the work. If a schema error occurs, // call sqlite3Reprepare() and try again. -func Xsqlite3_step(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:85804:16: */ +func Xsqlite3_step(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:85817:16: */ var rc int32 = SQLITE_OK // Result from sqlite3Step() var v uintptr = pStmt // the prepared statement var cnt int32 = 0 // Counter to prevent infinite loop of reprepares var db uintptr // The database connection if vdbeSafetyNotNull(tls, v) != 0 { - return Xsqlite3MisuseError(tls, 85811) + return Xsqlite3MisuseError(tls, 85824) } db = (*Vdbe)(unsafe.Pointer(v)).Fdb Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) @@ -61075,7 +61094,7 @@ func Xsqlite3_step(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:85804:16: // Extract the user data from a sqlite3_context structure and return a // pointer to it. -func Xsqlite3_user_data(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:85853:17: */ +func Xsqlite3_user_data(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:85866:17: */ return (*FuncDef)(unsafe.Pointer((*Sqlite3_context)(unsafe.Pointer(p)).FpFunc)).FpUserData } @@ -61088,7 +61107,7 @@ func Xsqlite3_user_data(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:85853:1 // parameter) of the sqlite3_create_function() and // sqlite3_create_function16() routines that originally registered the // application defined function. -func Xsqlite3_context_db_handle(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:85868:20: */ +func Xsqlite3_context_db_handle(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:85881:20: */ return (*Mem)(unsafe.Pointer((*Sqlite3_context)(unsafe.Pointer(p)).FpOut)).Fdb } @@ -61105,14 +61124,14 @@ func Xsqlite3_context_db_handle(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c // Virtual table implements might use this routine to optimize their // performance by substituting a NULL result, or some other light-weight // value, as a signal to the xUpdate routine that the column is unchanged. -func Xsqlite3_vtab_nochange(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:85887:16: */ +func Xsqlite3_vtab_nochange(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:85900:16: */ return Xsqlite3_value_nochange(tls, (*Sqlite3_context)(unsafe.Pointer(p)).FpOut) } // Implementation of sqlite3_vtab_in_first() (if bNext==0) and // sqlite3_vtab_in_next() (if bNext!=0). -func valueFromValueList(tls *libc.TLS, pVal uintptr, ppOut uintptr, bNext int32) int32 { /* sqlite3.c:85896:12: */ +func valueFromValueList(tls *libc.TLS, pVal uintptr, ppOut uintptr, bNext int32) int32 { /* sqlite3.c:85909:12: */ bp := tls.Alloc(68) defer tls.Free(68) @@ -61170,13 +61189,13 @@ func valueFromValueList(tls *libc.TLS, pVal uintptr, ppOut uintptr, bNext int32) // Set the iterator value pVal to point to the first value in the set. // Set (*ppOut) to point to this value before returning. -func Xsqlite3_vtab_in_first(tls *libc.TLS, pVal uintptr, ppOut uintptr) int32 { /* sqlite3.c:85944:16: */ +func Xsqlite3_vtab_in_first(tls *libc.TLS, pVal uintptr, ppOut uintptr) int32 { /* sqlite3.c:85957:16: */ return valueFromValueList(tls, pVal, ppOut, 0) } // Set the iterator value pVal to point to the next value in the set. // Set (*ppOut) to point to this value before returning. -func Xsqlite3_vtab_in_next(tls *libc.TLS, pVal uintptr, ppOut uintptr) int32 { /* sqlite3.c:85952:16: */ +func Xsqlite3_vtab_in_next(tls *libc.TLS, pVal uintptr, ppOut uintptr) int32 { /* sqlite3.c:85965:16: */ return valueFromValueList(tls, pVal, ppOut, 1) } @@ -61185,7 +61204,7 @@ func Xsqlite3_vtab_in_next(tls *libc.TLS, pVal uintptr, ppOut uintptr) int32 { / // statement, the exact same time is returned for each invocation regardless // of the amount of time that elapses between invocations. In other words, // the time returned is always the time of the first call. -func Xsqlite3StmtCurrentTime(tls *libc.TLS, p uintptr) Sqlite3_int64 { /* sqlite3.c:85963:30: */ +func Xsqlite3StmtCurrentTime(tls *libc.TLS, p uintptr) Sqlite3_int64 { /* sqlite3.c:85976:30: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -61208,7 +61227,7 @@ func Xsqlite3StmtCurrentTime(tls *libc.TLS, p uintptr) Sqlite3_int64 { /* sqlite // Create a new aggregate context for p and return a pointer to // its pMem->z element. -func createAggContext(tls *libc.TLS, p uintptr, nByte int32) uintptr { /* sqlite3.c:85983:29: */ +func createAggContext(tls *libc.TLS, p uintptr, nByte int32) uintptr { /* sqlite3.c:85996:29: */ var pMem uintptr = (*Sqlite3_context)(unsafe.Pointer(p)).FpMem if nByte <= 0 { @@ -61228,7 +61247,7 @@ func createAggContext(tls *libc.TLS, p uintptr, nByte int32) uintptr { /* sqlite // Allocate or return the aggregate context for a user function. A new // context is allocated on the first call. Subsequent calls return the // same context that was returned on prior calls. -func Xsqlite3_aggregate_context(tls *libc.TLS, p uintptr, nByte int32) uintptr { /* sqlite3.c:86005:17: */ +func Xsqlite3_aggregate_context(tls *libc.TLS, p uintptr, nByte int32) uintptr { /* sqlite3.c:86018:17: */ if int32((*Mem)(unsafe.Pointer((*Sqlite3_context)(unsafe.Pointer(p)).FpMem)).Fflags)&MEM_Agg == 0 { return createAggContext(tls, p, nByte) @@ -61246,7 +61265,7 @@ func Xsqlite3_aggregate_context(tls *libc.TLS, p uintptr, nByte int32) uintptr { // Undocumented behavior: If iArg is negative then access a cache of // auxiliary data pointers that is available to all functions within a // single prepared statement. The iArg values must match. -func Xsqlite3_get_auxdata(tls *libc.TLS, pCtx uintptr, iArg int32) uintptr { /* sqlite3.c:86026:17: */ +func Xsqlite3_get_auxdata(tls *libc.TLS, pCtx uintptr, iArg int32) uintptr { /* sqlite3.c:86039:17: */ var pAuxData uintptr if (*Sqlite3_context)(unsafe.Pointer(pCtx)).FpVdbe == uintptr(0) { @@ -61269,7 +61288,7 @@ func Xsqlite3_get_auxdata(tls *libc.TLS, pCtx uintptr, iArg int32) uintptr { /* // Undocumented behavior: If iArg is negative then make the data available // 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) { /* sqlite3.c:86054:17: */ +func Xsqlite3_set_auxdata(tls *libc.TLS, pCtx uintptr, iArg int32, pAux uintptr, xDelete uintptr) { /* sqlite3.c:86067:17: */ var pAuxData uintptr var pVdbe uintptr pVdbe = (*Sqlite3_context)(unsafe.Pointer(pCtx)).FpVdbe @@ -61349,13 +61368,13 @@ __11: // provide only to avoid breaking legacy code. New aggregate function // implementations should keep their own counts within their aggregate // context. -func Xsqlite3_aggregate_count(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:86107:16: */ +func Xsqlite3_aggregate_count(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:86120:16: */ return (*Mem)(unsafe.Pointer((*Sqlite3_context)(unsafe.Pointer(p)).FpMem)).Fn } // Return the number of columns in the result set for the statement pStmt. -func Xsqlite3_column_count(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:86116:16: */ +func Xsqlite3_column_count(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:86129:16: */ var pVm uintptr = pStmt if pVm != 0 { return int32((*Vdbe)(unsafe.Pointer(pVm)).FnResColumn) @@ -61365,7 +61384,7 @@ func Xsqlite3_column_count(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:86 // Return the number of values available from the current row of the // currently executing statement pStmt. -func Xsqlite3_data_count(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:86125:16: */ +func Xsqlite3_data_count(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:86138:16: */ var pVm uintptr = pStmt if pVm == uintptr(0) || (*Vdbe)(unsafe.Pointer(pVm)).FpResultSet == uintptr(0) { return 0 @@ -61374,19 +61393,19 @@ func Xsqlite3_data_count(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:8612 } // Return a pointer to static memory containing an SQL NULL value. -func columnNullValue(tls *libc.TLS) uintptr { /* sqlite3.c:86134:18: */ +func columnNullValue(tls *libc.TLS) uintptr { /* sqlite3.c:86147:18: */ return uintptr(unsafe.Pointer(&nullMem)) } var nullMem = Mem{ /* .flags = */ Fflags: U16(MEM_Null), -} /* sqlite3.c:86144:20 */ +} /* sqlite3.c:86157:20 */ // Check to see if column iCol of the given statement is valid. If // it is, return a pointer to the Mem for the value of that column. // If iCol is not valid, return a pointer to a Mem which has a value // of NULL. -func columnMem(tls *libc.TLS, pStmt uintptr, i int32) uintptr { /* sqlite3.c:86174:12: */ +func columnMem(tls *libc.TLS, pStmt uintptr, i int32) uintptr { /* sqlite3.c:86187:12: */ var pVm uintptr var pOut uintptr @@ -61421,7 +61440,7 @@ func columnMem(tls *libc.TLS, pStmt uintptr, i int32) uintptr { /* sqlite3.c:861 // sqlite3_column_bytes() // sqlite3_column_bytes16() // sqiite3_column_blob() -func columnMallocFailure(tls *libc.TLS, pStmt uintptr) { /* sqlite3.c:86209:13: */ +func columnMallocFailure(tls *libc.TLS, pStmt uintptr) { /* sqlite3.c:86222:13: */ // If malloc() failed during an encoding conversion within an // sqlite3_column_XXX API, then set the return code of the statement to // SQLITE_NOMEM. The next call to _step() (if any) will return SQLITE_ERROR @@ -61438,7 +61457,7 @@ func columnMallocFailure(tls *libc.TLS, pStmt uintptr) { /* sqlite3.c:86209:13: // // The following routines are used to access elements of the current row // in the result set. -func Xsqlite3_column_blob(tls *libc.TLS, pStmt uintptr, i int32) uintptr { /* sqlite3.c:86229:23: */ +func Xsqlite3_column_blob(tls *libc.TLS, pStmt uintptr, i int32) uintptr { /* sqlite3.c:86242:23: */ var val uintptr val = Xsqlite3_value_blob(tls, columnMem(tls, pStmt, i)) // Even though there is no encoding conversion, value_blob() might @@ -61448,43 +61467,43 @@ func Xsqlite3_column_blob(tls *libc.TLS, pStmt uintptr, i int32) uintptr { /* sq return val } -func Xsqlite3_column_bytes(tls *libc.TLS, pStmt uintptr, i int32) int32 { /* sqlite3.c:86239:16: */ +func Xsqlite3_column_bytes(tls *libc.TLS, pStmt uintptr, i int32) int32 { /* sqlite3.c:86252:16: */ var val int32 = Xsqlite3_value_bytes(tls, columnMem(tls, pStmt, i)) columnMallocFailure(tls, pStmt) return val } -func Xsqlite3_column_bytes16(tls *libc.TLS, pStmt uintptr, i int32) int32 { /* sqlite3.c:86244:16: */ +func Xsqlite3_column_bytes16(tls *libc.TLS, pStmt uintptr, i int32) int32 { /* sqlite3.c:86257:16: */ var val int32 = Xsqlite3_value_bytes16(tls, columnMem(tls, pStmt, i)) columnMallocFailure(tls, pStmt) return val } -func Xsqlite3_column_double(tls *libc.TLS, pStmt uintptr, i int32) float64 { /* sqlite3.c:86249:19: */ +func Xsqlite3_column_double(tls *libc.TLS, pStmt uintptr, i int32) float64 { /* sqlite3.c:86262:19: */ var val float64 = Xsqlite3_value_double(tls, columnMem(tls, pStmt, i)) columnMallocFailure(tls, pStmt) return val } -func Xsqlite3_column_int(tls *libc.TLS, pStmt uintptr, i int32) int32 { /* sqlite3.c:86254:16: */ +func Xsqlite3_column_int(tls *libc.TLS, pStmt uintptr, i int32) int32 { /* sqlite3.c:86267:16: */ var val int32 = Xsqlite3_value_int(tls, columnMem(tls, pStmt, i)) columnMallocFailure(tls, pStmt) return val } -func Xsqlite3_column_int64(tls *libc.TLS, pStmt uintptr, i int32) Sqlite_int64 { /* sqlite3.c:86259:25: */ +func Xsqlite3_column_int64(tls *libc.TLS, pStmt uintptr, i int32) Sqlite_int64 { /* sqlite3.c:86272:25: */ var val Sqlite_int64 = Xsqlite3_value_int64(tls, columnMem(tls, pStmt, i)) columnMallocFailure(tls, pStmt) return val } -func Xsqlite3_column_text(tls *libc.TLS, pStmt uintptr, i int32) uintptr { /* sqlite3.c:86264:32: */ +func Xsqlite3_column_text(tls *libc.TLS, pStmt uintptr, i int32) uintptr { /* sqlite3.c:86277:32: */ var val uintptr = Xsqlite3_value_text(tls, columnMem(tls, pStmt, i)) columnMallocFailure(tls, pStmt) return val } -func Xsqlite3_column_value(tls *libc.TLS, pStmt uintptr, i int32) uintptr { /* sqlite3.c:86269:26: */ +func Xsqlite3_column_value(tls *libc.TLS, pStmt uintptr, i int32) uintptr { /* sqlite3.c:86282:26: */ var pOut uintptr = columnMem(tls, pStmt, i) if int32((*Mem)(unsafe.Pointer(pOut)).Fflags)&MEM_Static != 0 { *(*U16)(unsafe.Pointer(pOut + 8)) &= libc.Uint16FromInt32(libc.CplInt32(MEM_Static)) @@ -61494,13 +61513,13 @@ func Xsqlite3_column_value(tls *libc.TLS, pStmt uintptr, i int32) uintptr { /* s return pOut } -func Xsqlite3_column_text16(tls *libc.TLS, pStmt uintptr, i int32) uintptr { /* sqlite3.c:86279:23: */ +func Xsqlite3_column_text16(tls *libc.TLS, pStmt uintptr, i int32) uintptr { /* sqlite3.c:86292:23: */ var val uintptr = Xsqlite3_value_text16(tls, columnMem(tls, pStmt, i)) columnMallocFailure(tls, pStmt) return val } -func Xsqlite3_column_type(tls *libc.TLS, pStmt uintptr, i int32) int32 { /* sqlite3.c:86285:16: */ +func Xsqlite3_column_type(tls *libc.TLS, pStmt uintptr, i int32) int32 { /* sqlite3.c:86298:16: */ var iType int32 = Xsqlite3_value_type(tls, columnMem(tls, pStmt, i)) columnMallocFailure(tls, pStmt) return iType @@ -61520,7 +61539,7 @@ func Xsqlite3_column_type(tls *libc.TLS, pStmt uintptr, i int32) int32 { /* sqli // // If the result is not a simple column reference (if it is an expression // or a constant) then useTypes 2, 3, and 4 return NULL. -func columnName(tls *libc.TLS, pStmt uintptr, N int32, useUtf16 int32, useType int32) uintptr { /* sqlite3.c:86307:19: */ +func columnName(tls *libc.TLS, pStmt uintptr, N int32, useUtf16 int32, useType int32) uintptr { /* sqlite3.c:86320:19: */ var ret uintptr var p uintptr var n int32 @@ -61552,11 +61571,11 @@ func columnName(tls *libc.TLS, pStmt uintptr, N int32, useUtf16 int32, useType i // Return the name of the Nth column of the result set returned by SQL // statement pStmt. -func Xsqlite3_column_name(tls *libc.TLS, pStmt uintptr, N int32) uintptr { /* sqlite3.c:86356:23: */ +func Xsqlite3_column_name(tls *libc.TLS, pStmt uintptr, N int32) uintptr { /* sqlite3.c:86369:23: */ return columnName(tls, pStmt, N, 0, COLNAME_NAME) } -func Xsqlite3_column_name16(tls *libc.TLS, pStmt uintptr, N int32) uintptr { /* sqlite3.c:86360:23: */ +func Xsqlite3_column_name16(tls *libc.TLS, pStmt uintptr, N int32) uintptr { /* sqlite3.c:86373:23: */ return columnName(tls, pStmt, N, 1, COLNAME_NAME) } @@ -61565,44 +61584,44 @@ func Xsqlite3_column_name16(tls *libc.TLS, pStmt uintptr, N int32) uintptr { /* // Return the column declaration type (if applicable) of the 'i'th column // of the result set of SQL statement pStmt. -func Xsqlite3_column_decltype(tls *libc.TLS, pStmt uintptr, N int32) uintptr { /* sqlite3.c:86379:23: */ +func Xsqlite3_column_decltype(tls *libc.TLS, pStmt uintptr, N int32) uintptr { /* sqlite3.c:86392:23: */ return columnName(tls, pStmt, N, 0, COLNAME_DECLTYPE) } -func Xsqlite3_column_decltype16(tls *libc.TLS, pStmt uintptr, N int32) uintptr { /* sqlite3.c:86383:23: */ +func Xsqlite3_column_decltype16(tls *libc.TLS, pStmt uintptr, N int32) uintptr { /* sqlite3.c:86396:23: */ return columnName(tls, pStmt, N, 1, COLNAME_DECLTYPE) } // Return the name of the database from which a result column derives. // NULL is returned if the result column is an expression or constant or // anything else which is not an unambiguous reference to a database column. -func Xsqlite3_column_database_name(tls *libc.TLS, pStmt uintptr, N int32) uintptr { /* sqlite3.c:86395:23: */ +func Xsqlite3_column_database_name(tls *libc.TLS, pStmt uintptr, N int32) uintptr { /* sqlite3.c:86408:23: */ return columnName(tls, pStmt, N, 0, COLNAME_DATABASE) } -func Xsqlite3_column_database_name16(tls *libc.TLS, pStmt uintptr, N int32) uintptr { /* sqlite3.c:86399:23: */ +func Xsqlite3_column_database_name16(tls *libc.TLS, pStmt uintptr, N int32) uintptr { /* sqlite3.c:86412:23: */ return columnName(tls, pStmt, N, 1, COLNAME_DATABASE) } // Return the name of the table from which a result column derives. // NULL is returned if the result column is an expression or constant or // anything else which is not an unambiguous reference to a database column. -func Xsqlite3_column_table_name(tls *libc.TLS, pStmt uintptr, N int32) uintptr { /* sqlite3.c:86409:23: */ +func Xsqlite3_column_table_name(tls *libc.TLS, pStmt uintptr, N int32) uintptr { /* sqlite3.c:86422:23: */ return columnName(tls, pStmt, N, 0, COLNAME_TABLE) } -func Xsqlite3_column_table_name16(tls *libc.TLS, pStmt uintptr, N int32) uintptr { /* sqlite3.c:86413:23: */ +func Xsqlite3_column_table_name16(tls *libc.TLS, pStmt uintptr, N int32) uintptr { /* sqlite3.c:86426:23: */ return columnName(tls, pStmt, N, 1, COLNAME_TABLE) } // Return the name of the table column from which a result column derives. // NULL is returned if the result column is an expression or constant or // anything else which is not an unambiguous reference to a database column. -func Xsqlite3_column_origin_name(tls *libc.TLS, pStmt uintptr, N int32) uintptr { /* sqlite3.c:86423:23: */ +func Xsqlite3_column_origin_name(tls *libc.TLS, pStmt uintptr, N int32) uintptr { /* sqlite3.c:86436:23: */ return columnName(tls, pStmt, N, 0, COLNAME_COLUMN) } -func Xsqlite3_column_origin_name16(tls *libc.TLS, pStmt uintptr, N int32) uintptr { /* sqlite3.c:86427:23: */ +func Xsqlite3_column_origin_name16(tls *libc.TLS, pStmt uintptr, N int32) uintptr { /* sqlite3.c:86440:23: */ return columnName(tls, pStmt, N, 1, COLNAME_COLUMN) } @@ -61619,13 +61638,13 @@ func Xsqlite3_column_origin_name16(tls *libc.TLS, pStmt uintptr, N int32) uintpt // // The error code stored in database p->db is overwritten with the return // value in any case. -func vdbeUnbind(tls *libc.TLS, p uintptr, i int32) int32 { /* sqlite3.c:86449:12: */ +func vdbeUnbind(tls *libc.TLS, p uintptr, i int32) int32 { /* sqlite3.c:86462:12: */ bp := tls.Alloc(8) defer tls.Free(8) var pVar uintptr if vdbeSafetyNotNull(tls, p) != 0 { - return Xsqlite3MisuseError(tls, 86452) + return Xsqlite3MisuseError(tls, 86465) } Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer((*Vdbe)(unsafe.Pointer(p)).Fdb)).Fmutex) if (*Vdbe)(unsafe.Pointer(p)).FiVdbeMagic != U32(VDBE_MAGIC_RUN) || (*Vdbe)(unsafe.Pointer(p)).Fpc >= 0 { @@ -61633,7 +61652,7 @@ func vdbeUnbind(tls *libc.TLS, p uintptr, i int32) int32 { /* sqlite3.c:86449:12 Xsqlite3_mutex_leave(tls, (*Sqlite3)(unsafe.Pointer((*Vdbe)(unsafe.Pointer(p)).Fdb)).Fmutex) Xsqlite3_log(tls, SQLITE_MISUSE, ts+5311, libc.VaList(bp, (*Vdbe)(unsafe.Pointer(p)).FzSql)) - return Xsqlite3MisuseError(tls, 86460) + return Xsqlite3MisuseError(tls, 86473) } if i < 1 || i > int32((*Vdbe)(unsafe.Pointer(p)).FnVar) { Xsqlite3Error(tls, (*Vdbe)(unsafe.Pointer(p)).Fdb, SQLITE_RANGE) @@ -61667,7 +61686,7 @@ func vdbeUnbind(tls *libc.TLS, p uintptr, i int32) int32 { /* sqlite3.c:86449:12 } // Bind a text or BLOB value. -func bindText(tls *libc.TLS, pStmt uintptr, i int32, zData uintptr, nData I64, xDel uintptr, encoding U8) int32 { /* sqlite3.c:86492:12: */ +func bindText(tls *libc.TLS, pStmt uintptr, i int32, zData uintptr, nData I64, xDel uintptr, encoding U8) int32 { /* sqlite3.c:86505:12: */ var p uintptr = pStmt var pVar uintptr var rc int32 @@ -61693,16 +61712,16 @@ func bindText(tls *libc.TLS, pStmt uintptr, i int32, zData uintptr, nData I64, x } // 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) int32 { /* sqlite3.c:86528:16: */ +func Xsqlite3_bind_blob(tls *libc.TLS, pStmt uintptr, i int32, zData uintptr, nData int32, xDel uintptr) int32 { /* sqlite3.c:86541:16: */ return bindText(tls, pStmt, i, zData, int64(nData), xDel, uint8(0)) } -func Xsqlite3_bind_blob64(tls *libc.TLS, pStmt uintptr, i int32, zData uintptr, nData Sqlite3_uint64, xDel uintptr) int32 { /* sqlite3.c:86540:16: */ +func Xsqlite3_bind_blob64(tls *libc.TLS, pStmt uintptr, i int32, zData uintptr, nData Sqlite3_uint64, xDel uintptr) int32 { /* sqlite3.c:86553:16: */ return bindText(tls, pStmt, i, zData, int64(nData), xDel, uint8(0)) } -func Xsqlite3_bind_double(tls *libc.TLS, pStmt uintptr, i int32, rValue float64) int32 { /* sqlite3.c:86550:16: */ +func Xsqlite3_bind_double(tls *libc.TLS, pStmt uintptr, i int32, rValue float64) int32 { /* sqlite3.c:86563:16: */ var rc int32 var p uintptr = pStmt rc = vdbeUnbind(tls, p, i) @@ -61713,11 +61732,11 @@ func Xsqlite3_bind_double(tls *libc.TLS, pStmt uintptr, i int32, rValue float64) return rc } -func Xsqlite3_bind_int(tls *libc.TLS, p uintptr, i int32, iValue int32) int32 { /* sqlite3.c:86560:16: */ +func Xsqlite3_bind_int(tls *libc.TLS, p uintptr, i int32, iValue int32) int32 { /* sqlite3.c:86573:16: */ return Xsqlite3_bind_int64(tls, p, i, I64(iValue)) } -func Xsqlite3_bind_int64(tls *libc.TLS, pStmt uintptr, i int32, iValue Sqlite_int64) int32 { /* sqlite3.c:86563:16: */ +func Xsqlite3_bind_int64(tls *libc.TLS, pStmt uintptr, i int32, iValue Sqlite_int64) int32 { /* sqlite3.c:86576:16: */ var rc int32 var p uintptr = pStmt rc = vdbeUnbind(tls, p, i) @@ -61728,7 +61747,7 @@ func Xsqlite3_bind_int64(tls *libc.TLS, pStmt uintptr, i int32, iValue Sqlite_in return rc } -func Xsqlite3_bind_null(tls *libc.TLS, pStmt uintptr, i int32) int32 { /* sqlite3.c:86573:16: */ +func Xsqlite3_bind_null(tls *libc.TLS, pStmt uintptr, i int32) int32 { /* sqlite3.c:86586:16: */ var rc int32 var p uintptr = pStmt rc = vdbeUnbind(tls, p, i) @@ -61738,7 +61757,7 @@ func Xsqlite3_bind_null(tls *libc.TLS, pStmt uintptr, i int32) int32 { /* sqlite return rc } -func Xsqlite3_bind_pointer(tls *libc.TLS, pStmt uintptr, i int32, pPtr uintptr, zPTtype uintptr, xDestructor uintptr) int32 { /* sqlite3.c:86582:16: */ +func Xsqlite3_bind_pointer(tls *libc.TLS, pStmt uintptr, i int32, pPtr uintptr, zPTtype uintptr, xDestructor uintptr) int32 { /* sqlite3.c:86595:16: */ var rc int32 var p uintptr = pStmt rc = vdbeUnbind(tls, p, i) @@ -61751,11 +61770,11 @@ func Xsqlite3_bind_pointer(tls *libc.TLS, pStmt uintptr, i int32, pPtr uintptr, return rc } -func Xsqlite3_bind_text(tls *libc.TLS, pStmt uintptr, i int32, zData uintptr, nData int32, xDel uintptr) int32 { /* sqlite3.c:86600:16: */ +func Xsqlite3_bind_text(tls *libc.TLS, pStmt uintptr, i int32, zData uintptr, nData int32, xDel uintptr) int32 { /* sqlite3.c:86613:16: */ return bindText(tls, pStmt, i, zData, int64(nData), xDel, uint8(SQLITE_UTF8)) } -func Xsqlite3_bind_text64(tls *libc.TLS, pStmt uintptr, i int32, zData uintptr, nData Sqlite3_uint64, xDel uintptr, enc uint8) int32 { /* sqlite3.c:86609:16: */ +func Xsqlite3_bind_text64(tls *libc.TLS, pStmt uintptr, i int32, zData uintptr, nData Sqlite3_uint64, xDel uintptr, enc uint8) int32 { /* sqlite3.c:86622:16: */ if int32(enc) == SQLITE_UTF16 { enc = uint8(SQLITE_UTF16LE) @@ -61763,11 +61782,11 @@ func Xsqlite3_bind_text64(tls *libc.TLS, pStmt uintptr, i int32, zData uintptr, return bindText(tls, pStmt, i, zData, int64(nData), xDel, enc) } -func Xsqlite3_bind_text16(tls *libc.TLS, pStmt uintptr, i int32, zData uintptr, nData int32, xDel uintptr) int32 { /* sqlite3.c:86622:16: */ +func Xsqlite3_bind_text16(tls *libc.TLS, pStmt uintptr, i int32, zData uintptr, nData int32, xDel uintptr) int32 { /* sqlite3.c:86635:16: */ return bindText(tls, pStmt, i, zData, int64(nData), xDel, uint8(SQLITE_UTF16LE)) } -func Xsqlite3_bind_value(tls *libc.TLS, pStmt uintptr, i int32, pValue uintptr) int32 { /* sqlite3.c:86632:16: */ +func Xsqlite3_bind_value(tls *libc.TLS, pStmt uintptr, i int32, pValue uintptr) int32 { /* sqlite3.c:86645:16: */ var rc int32 switch Xsqlite3_value_type(tls, pValue) { case SQLITE_INTEGER: @@ -61816,7 +61835,7 @@ func Xsqlite3_bind_value(tls *libc.TLS, pStmt uintptr, i int32, pValue uintptr) return rc } -func Xsqlite3_bind_zeroblob(tls *libc.TLS, pStmt uintptr, i int32, n int32) int32 { /* sqlite3.c:86666:16: */ +func Xsqlite3_bind_zeroblob(tls *libc.TLS, pStmt uintptr, i int32, n int32) int32 { /* sqlite3.c:86679:16: */ var rc int32 var p uintptr = pStmt rc = vdbeUnbind(tls, p, i) @@ -61827,7 +61846,7 @@ func Xsqlite3_bind_zeroblob(tls *libc.TLS, pStmt uintptr, i int32, n int32) int3 return rc } -func Xsqlite3_bind_zeroblob64(tls *libc.TLS, pStmt uintptr, i int32, n Sqlite3_uint64) int32 { /* sqlite3.c:86680:16: */ +func Xsqlite3_bind_zeroblob64(tls *libc.TLS, pStmt uintptr, i int32, n Sqlite3_uint64) int32 { /* sqlite3.c:86693:16: */ var rc int32 var p uintptr = pStmt Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer((*Vdbe)(unsafe.Pointer(p)).Fdb)).Fmutex) @@ -61844,7 +61863,7 @@ func Xsqlite3_bind_zeroblob64(tls *libc.TLS, pStmt uintptr, i int32, n Sqlite3_u // Return the number of wildcards that can be potentially bound to. // This routine is added to support DBD::SQLite. -func Xsqlite3_bind_parameter_count(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:86699:16: */ +func Xsqlite3_bind_parameter_count(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:86712:16: */ var p uintptr = pStmt if p != 0 { return int32((*Vdbe)(unsafe.Pointer(p)).FnVar) @@ -61856,7 +61875,7 @@ func Xsqlite3_bind_parameter_count(tls *libc.TLS, pStmt uintptr) int32 { /* sqli // is out of range or if the wildcard is unnamed. // // The result is always UTF-8. -func Xsqlite3_bind_parameter_name(tls *libc.TLS, pStmt uintptr, i int32) uintptr { /* sqlite3.c:86710:23: */ +func Xsqlite3_bind_parameter_name(tls *libc.TLS, pStmt uintptr, i int32) uintptr { /* sqlite3.c:86723:23: */ var p uintptr = pStmt if p == uintptr(0) { return uintptr(0) @@ -61867,19 +61886,19 @@ func Xsqlite3_bind_parameter_name(tls *libc.TLS, pStmt uintptr, i int32) uintptr // Given a wildcard parameter name, return the index of the variable // with that name. If there is no variable with the given name, // return 0. -func Xsqlite3VdbeParameterIndex(tls *libc.TLS, p uintptr, zName uintptr, nName int32) int32 { /* sqlite3.c:86721:20: */ +func Xsqlite3VdbeParameterIndex(tls *libc.TLS, p uintptr, zName uintptr, nName int32) int32 { /* sqlite3.c:86734:20: */ if p == uintptr(0) || zName == uintptr(0) { return 0 } return Xsqlite3VListNameToNum(tls, (*Vdbe)(unsafe.Pointer(p)).FpVList, zName, nName) } -func Xsqlite3_bind_parameter_index(tls *libc.TLS, pStmt uintptr, zName uintptr) int32 { /* sqlite3.c:86725:16: */ +func Xsqlite3_bind_parameter_index(tls *libc.TLS, pStmt uintptr, zName uintptr) int32 { /* sqlite3.c:86738:16: */ return Xsqlite3VdbeParameterIndex(tls, pStmt, zName, Xsqlite3Strlen30(tls, zName)) } // Transfer all bindings from the first statement over to the second. -func Xsqlite3TransferBindings(tls *libc.TLS, pFromStmt uintptr, pToStmt uintptr) int32 { /* sqlite3.c:86732:20: */ +func Xsqlite3TransferBindings(tls *libc.TLS, pFromStmt uintptr, pToStmt uintptr) int32 { /* sqlite3.c:86745:20: */ var pFrom uintptr = pFromStmt var pTo uintptr = pToStmt var i int32 @@ -61902,7 +61921,7 @@ func Xsqlite3TransferBindings(tls *libc.TLS, pFromStmt uintptr, pToStmt uintptr) // If the two statements contain a different number of bindings, then // an SQLITE_ERROR is returned. Nothing else can go wrong, so otherwise // SQLITE_OK is returned. -func Xsqlite3_transfer_bindings(tls *libc.TLS, pFromStmt uintptr, pToStmt uintptr) int32 { /* sqlite3.c:86759:16: */ +func Xsqlite3_transfer_bindings(tls *libc.TLS, pFromStmt uintptr, pToStmt uintptr) int32 { /* sqlite3.c:86772:16: */ var pFrom uintptr = pFromStmt var pTo uintptr = pToStmt if int32((*Vdbe)(unsafe.Pointer(pFrom)).FnVar) != int32((*Vdbe)(unsafe.Pointer(pTo)).FnVar) { @@ -61923,7 +61942,7 @@ func Xsqlite3_transfer_bindings(tls *libc.TLS, pFromStmt uintptr, pToStmt uintpt // in the argument belongs. This is the same database handle that was // the first argument to the sqlite3_prepare() that was used to create // the statement in the first place. -func Xsqlite3_db_handle(tls *libc.TLS, pStmt uintptr) uintptr { /* sqlite3.c:86783:20: */ +func Xsqlite3_db_handle(tls *libc.TLS, pStmt uintptr) uintptr { /* sqlite3.c:86796:20: */ if pStmt != 0 { return (*Vdbe)(unsafe.Pointer(pStmt)).Fdb } @@ -61932,7 +61951,7 @@ func Xsqlite3_db_handle(tls *libc.TLS, pStmt uintptr) uintptr { /* sqlite3.c:867 // Return true if the prepared statement is guaranteed to not modify the // database. -func Xsqlite3_stmt_readonly(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:86791:16: */ +func Xsqlite3_stmt_readonly(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:86804:16: */ if pStmt != 0 { return int32(*(*uint16)(unsafe.Pointer(pStmt + 208)) & 0x80 >> 7) } @@ -61941,7 +61960,7 @@ func Xsqlite3_stmt_readonly(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:8 // Return 1 if the statement is an EXPLAIN and return 2 if the // statement is an EXPLAIN QUERY PLAN -func Xsqlite3_stmt_isexplain(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:86799:16: */ +func Xsqlite3_stmt_isexplain(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:86812:16: */ if pStmt != 0 { return int32(*(*uint16)(unsafe.Pointer(pStmt + 208)) & 0xc >> 2) } @@ -61949,7 +61968,7 @@ func Xsqlite3_stmt_isexplain(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c: } // Return true if the prepared statement is in need of being reset. -func Xsqlite3_stmt_busy(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:86806:16: */ +func Xsqlite3_stmt_busy(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:86819:16: */ var v uintptr = pStmt return libc.Bool32(v != uintptr(0) && (*Vdbe)(unsafe.Pointer(v)).FiVdbeMagic == U32(VDBE_MAGIC_RUN) && (*Vdbe)(unsafe.Pointer(v)).Fpc >= 0) } @@ -61958,7 +61977,7 @@ func Xsqlite3_stmt_busy(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:86806 // with database connection pDb. If pStmt is NULL, return the first // prepared statement for the database connection. Return NULL if there // are no more. -func Xsqlite3_next_stmt(tls *libc.TLS, pDb uintptr, pStmt uintptr) uintptr { /* sqlite3.c:86817:25: */ +func Xsqlite3_next_stmt(tls *libc.TLS, pDb uintptr, pStmt uintptr) uintptr { /* sqlite3.c:86830:25: */ var pNext uintptr Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(pDb)).Fmutex) if pStmt == uintptr(0) { @@ -61971,7 +61990,7 @@ func Xsqlite3_next_stmt(tls *libc.TLS, pDb uintptr, pStmt uintptr) uintptr { /* } // Return the value of a status counter for a prepared statement -func Xsqlite3_stmt_status(tls *libc.TLS, pStmt uintptr, op int32, resetFlag int32) int32 { /* sqlite3.c:86838:16: */ +func Xsqlite3_stmt_status(tls *libc.TLS, pStmt uintptr, op int32, resetFlag int32) int32 { /* sqlite3.c:86851:16: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -61997,7 +62016,7 @@ func Xsqlite3_stmt_status(tls *libc.TLS, pStmt uintptr, op int32, resetFlag int3 } // Return the SQL associated with a prepared statement -func Xsqlite3_sql(tls *libc.TLS, pStmt uintptr) uintptr { /* sqlite3.c:86868:23: */ +func Xsqlite3_sql(tls *libc.TLS, pStmt uintptr) uintptr { /* sqlite3.c:86881:23: */ var p uintptr = pStmt if p != 0 { return (*Vdbe)(unsafe.Pointer(p)).FzSql @@ -62012,7 +62031,7 @@ func Xsqlite3_sql(tls *libc.TLS, pStmt uintptr) uintptr { /* sqlite3.c:86868:23: // // The SQLITE_TRACE_SIZE_LIMIT puts an upper bound on the size of // expanded bound parameters. -func Xsqlite3_expanded_sql(tls *libc.TLS, pStmt uintptr) uintptr { /* sqlite3.c:86882:17: */ +func Xsqlite3_expanded_sql(tls *libc.TLS, pStmt uintptr) uintptr { /* sqlite3.c:86895:17: */ var z uintptr = uintptr(0) var zSql uintptr = Xsqlite3_sql(tls, pStmt) if zSql != 0 { @@ -62027,7 +62046,7 @@ func Xsqlite3_expanded_sql(tls *libc.TLS, pStmt uintptr) uintptr { /* sqlite3.c: // Allocate and populate an UnpackedRecord structure based on the serialized // record in nKey/pKey. Return a pointer to the new UnpackedRecord structure // if successful, or a NULL pointer if an OOM error is encountered. -func vdbeUnpackRecord(tls *libc.TLS, pKeyInfo uintptr, nKey int32, pKey uintptr) uintptr { /* sqlite3.c:86920:23: */ +func vdbeUnpackRecord(tls *libc.TLS, pKeyInfo uintptr, nKey int32, pKey uintptr) uintptr { /* sqlite3.c:86933:23: */ var pRet uintptr // Return value pRet = Xsqlite3VdbeAllocUnpackedRecord(tls, pKeyInfo) @@ -62040,7 +62059,7 @@ func vdbeUnpackRecord(tls *libc.TLS, pKeyInfo uintptr, nKey int32, pKey uintptr) // This function is called from within a pre-update callback to retrieve // a field of the row currently being updated or deleted. -func Xsqlite3_preupdate_old(tls *libc.TLS, db uintptr, iIdx int32, ppValue uintptr) int32 { /* sqlite3.c:86939:16: */ +func Xsqlite3_preupdate_old(tls *libc.TLS, db uintptr, iIdx int32, ppValue uintptr) int32 { /* sqlite3.c:86952:16: */ var p uintptr var pMem uintptr var rc int32 @@ -62054,7 +62073,7 @@ func Xsqlite3_preupdate_old(tls *libc.TLS, db uintptr, iIdx int32, ppValue uintp if !(!(p != 0) || (*PreUpdate)(unsafe.Pointer(p)).Fop == SQLITE_INSERT) { goto __1 } - rc = Xsqlite3MisuseError(tls, 86947) + rc = Xsqlite3MisuseError(tls, 86960) goto preupdate_old_out __1: ; @@ -62146,7 +62165,7 @@ preupdate_old_out: // This function is called from within a pre-update callback to retrieve // the number of columns in the row being updated, deleted or inserted. -func Xsqlite3_preupdate_count(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:87003:16: */ +func Xsqlite3_preupdate_count(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:87016:16: */ var p uintptr = (*Sqlite3)(unsafe.Pointer(db)).FpPreUpdate return func() int32 { if p != 0 { @@ -62165,7 +62184,7 @@ func Xsqlite3_preupdate_count(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:87 // // For the purposes of the previous paragraph, a foreign key CASCADE, SET NULL // or SET DEFAULT action is considered a trigger. -func Xsqlite3_preupdate_depth(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:87021:16: */ +func Xsqlite3_preupdate_depth(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:87034:16: */ var p uintptr = (*Sqlite3)(unsafe.Pointer(db)).FpPreUpdate return func() int32 { if p != 0 { @@ -62177,7 +62196,7 @@ func Xsqlite3_preupdate_depth(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:87 // This function is designed to be called from within a pre-update callback // only. -func Xsqlite3_preupdate_blobwrite(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:87032:16: */ +func Xsqlite3_preupdate_blobwrite(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:87045:16: */ var p uintptr = (*Sqlite3)(unsafe.Pointer(db)).FpPreUpdate return func() int32 { if p != 0 { @@ -62189,7 +62208,7 @@ func Xsqlite3_preupdate_blobwrite(tls *libc.TLS, db uintptr) int32 { /* sqlite3. // This function is called from within a pre-update callback to retrieve // a field of the row currently being updated or inserted. -func Xsqlite3_preupdate_new(tls *libc.TLS, db uintptr, iIdx int32, ppValue uintptr) int32 { /* sqlite3.c:87043:16: */ +func Xsqlite3_preupdate_new(tls *libc.TLS, db uintptr, iIdx int32, ppValue uintptr) int32 { /* sqlite3.c:87056:16: */ var p uintptr var rc int32 var pMem uintptr @@ -62203,7 +62222,7 @@ func Xsqlite3_preupdate_new(tls *libc.TLS, db uintptr, iIdx int32, ppValue uintp if !(!(p != 0) || (*PreUpdate)(unsafe.Pointer(p)).Fop == SQLITE_DELETE) { goto __1 } - rc = Xsqlite3MisuseError(tls, 87049) + rc = Xsqlite3MisuseError(tls, 87062) goto preupdate_new_out __1: ; @@ -62344,7 +62363,7 @@ preupdate_new_out: // bytes in this text up to but excluding the first character in // a host parameter. If the text contains no host parameters, return // the total number of bytes in the text. -func findNextHostParameter(tls *libc.TLS, zSql uintptr, pnToken uintptr) int32 { /* sqlite3.c:87213:12: */ +func findNextHostParameter(tls *libc.TLS, zSql uintptr, pnToken uintptr) int32 { /* sqlite3.c:87226:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -62389,7 +62408,7 @@ func findNextHostParameter(tls *libc.TLS, zSql uintptr, pnToken uintptr) int32 { // statement for the corresponding OP_Variable opcode. Once the host // parameter index is known, locate the value in p->aVar[]. Then render // the value as a literal in place of the host parameter name. -func Xsqlite3VdbeExpandSql(tls *libc.TLS, p uintptr, zRawSql uintptr) uintptr { /* sqlite3.c:87256:21: */ +func Xsqlite3VdbeExpandSql(tls *libc.TLS, p uintptr, zRawSql uintptr) uintptr { /* sqlite3.c:87269:21: */ bp := tls.Alloc(144) defer tls.Free(144) @@ -62612,7 +62631,7 @@ func Xsqlite3VdbeExpandSql(tls *libc.TLS, p uintptr, zRawSql uintptr) uintptr { // Allocate VdbeCursor number iCur. Return a pointer to it. Return NULL // if we run out of memory. -func allocateCursor(tls *libc.TLS, p uintptr, iCur int32, nField int32, eCurType U8) uintptr { /* sqlite3.c:87619:19: */ +func allocateCursor(tls *libc.TLS, p uintptr, iCur int32, nField int32, eCurType U8) uintptr { /* sqlite3.c:87632:19: */ // Find the memory cell that will be used to store the blob of memory // required for this VdbeCursor structure. It is convenient to use a // vdbe memory cell to manage the memory allocation required for a @@ -62683,7 +62702,7 @@ func allocateCursor(tls *libc.TLS, p uintptr, iCur int32, nField int32, eCurType // floating point value of rValue. Return true and set *piValue to the // integer value if the string is in range to be an integer. Otherwise, // return false. -func alsoAnInt(tls *libc.TLS, pRec uintptr, rValue float64, piValue uintptr) int32 { /* sqlite3.c:87695:12: */ +func alsoAnInt(tls *libc.TLS, pRec uintptr, rValue float64, piValue uintptr) int32 { /* sqlite3.c:87708:12: */ var iValue I64 = I64(rValue) if Xsqlite3RealSameAsInt(tls, rValue, iValue) != 0 { *(*I64)(unsafe.Pointer(piValue)) = iValue @@ -62705,7 +62724,7 @@ func alsoAnInt(tls *libc.TLS, pRec uintptr, rValue float64, piValue uintptr) int // If bTryForInt is false, then if the input string contains a decimal // point or exponential notation, the result is only MEM_Real, even // if there is an exact integer representation of the quantity. -func applyNumericAffinity(tls *libc.TLS, pRec uintptr, bTryForInt int32) { /* sqlite3.c:87719:13: */ +func applyNumericAffinity(tls *libc.TLS, pRec uintptr, bTryForInt int32) { /* sqlite3.c:87732:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -62751,7 +62770,7 @@ func applyNumericAffinity(tls *libc.TLS, pRec uintptr, bTryForInt int32) { /* sq // SQLITE_AFF_BLOB: // SQLITE_AFF_NONE: // No-op. pRec is unchanged. -func applyAffinity(tls *libc.TLS, pRec uintptr, affinity int8, enc U8) { /* sqlite3.c:87759:13: */ +func applyAffinity(tls *libc.TLS, pRec uintptr, affinity int8, enc U8) { /* sqlite3.c:87772:13: */ if int32(affinity) >= SQLITE_AFF_NUMERIC { if int32((*Mem)(unsafe.Pointer(pRec)).Fflags)&MEM_Int == 0 { //OPTIMIZATION-IF-FALSE @@ -62783,7 +62802,7 @@ func applyAffinity(tls *libc.TLS, pRec uintptr, affinity int8, enc U8) { /* sqli // into a numeric representation. Use either INTEGER or REAL whichever // is appropriate. But only do the conversion if it is possible without // loss of information and return the revised type of the argument. -func Xsqlite3_value_numeric_type(tls *libc.TLS, pVal uintptr) int32 { /* sqlite3.c:87798:16: */ +func Xsqlite3_value_numeric_type(tls *libc.TLS, pVal uintptr) int32 { /* sqlite3.c:87811:16: */ var eType int32 = Xsqlite3_value_type(tls, pVal) if eType == SQLITE_TEXT { var pMem uintptr = pVal @@ -62795,7 +62814,7 @@ func Xsqlite3_value_numeric_type(tls *libc.TLS, pVal uintptr) int32 { /* sqlite3 // Exported version of applyAffinity(). This one works on sqlite3_value*, // not the internal Mem* type. -func Xsqlite3ValueApplyAffinity(tls *libc.TLS, pVal uintptr, affinity U8, enc U8) { /* sqlite3.c:87812:21: */ +func Xsqlite3ValueApplyAffinity(tls *libc.TLS, pVal uintptr, affinity U8, enc U8) { /* sqlite3.c:87825:21: */ applyAffinity(tls, pVal, int8(affinity), enc) } @@ -62803,7 +62822,7 @@ func Xsqlite3ValueApplyAffinity(tls *libc.TLS, pVal uintptr, affinity U8, enc U8 // interpret as a string if we want to). Compute its corresponding // numeric type, if has one. Set the pMem->u.r and pMem->u.i fields // accordingly. -func computeNumericType(tls *libc.TLS, pMem uintptr) U16 { /* sqlite3.c:87826:28: */ +func computeNumericType(tls *libc.TLS, pMem uintptr) U16 { /* sqlite3.c:87839:28: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -62839,7 +62858,7 @@ func computeNumericType(tls *libc.TLS, pMem uintptr) U16 { /* sqlite3.c:87826:28 // // Unlike applyNumericAffinity(), this routine does not modify pMem->flags. // But it does set pMem->u.r and pMem->u.i appropriately. -func numericType(tls *libc.TLS, pMem uintptr) U16 { /* sqlite3.c:87857:12: */ +func numericType(tls *libc.TLS, pMem uintptr) U16 { /* sqlite3.c:87870:12: */ if int32((*Mem)(unsafe.Pointer(pMem)).Fflags)&(MEM_Int|MEM_Real|MEM_IntReal) != 0 { return U16(int32((*Mem)(unsafe.Pointer(pMem)).Fflags) & (MEM_Int | MEM_Real | MEM_IntReal)) @@ -62853,13 +62872,13 @@ func numericType(tls *libc.TLS, pMem uintptr) U16 { /* sqlite3.c:87857:12: */ // Return the register of pOp->p2 after first preparing it to be // overwritten with an integer value. -func out2PrereleaseWithClear(tls *libc.TLS, pOut uintptr) uintptr { /* sqlite3.c:88032:28: */ +func out2PrereleaseWithClear(tls *libc.TLS, pOut uintptr) uintptr { /* sqlite3.c:88045:28: */ Xsqlite3VdbeMemSetNull(tls, pOut) (*Mem)(unsafe.Pointer(pOut)).Fflags = U16(MEM_Int) return pOut } -func out2Prerelease(tls *libc.TLS, p uintptr, pOp uintptr) uintptr { /* sqlite3.c:88037:12: */ +func out2Prerelease(tls *libc.TLS, p uintptr, pOp uintptr) uintptr { /* sqlite3.c:88050:12: */ var pOut uintptr pOut = (*Vdbe)(unsafe.Pointer(p)).FaMem + uintptr((*VdbeOp)(unsafe.Pointer(pOp)).Fp2)*56 @@ -62875,7 +62894,7 @@ func out2Prerelease(tls *libc.TLS, p uintptr, pOp uintptr) uintptr { /* sqlite3. // Compute a bloom filter hash using pOp->p4.i registers from aMem[] beginning // with pOp->p3. Return the hash. -func filterHash(tls *libc.TLS, aMem uintptr, pOp uintptr) U64 { /* sqlite3.c:88055:12: */ +func filterHash(tls *libc.TLS, aMem uintptr, pOp uintptr) U64 { /* sqlite3.c:88068:12: */ var i int32 var mx int32 var h U64 = uint64(0) @@ -62899,7 +62918,7 @@ func filterHash(tls *libc.TLS, aMem uintptr, pOp uintptr) U64 { /* sqlite3.c:880 } // Return the symbolic name for the data type of a pMem -func vdbeMemTypeName(tls *libc.TLS, pMem uintptr) uintptr { /* sqlite3.c:88077:19: */ +func vdbeMemTypeName(tls *libc.TLS, pMem uintptr) uintptr { /* sqlite3.c:88090:19: */ return azTypes[Xsqlite3_value_type(tls, pMem)-1] } @@ -62909,11 +62928,11 @@ var azTypes = [5]uintptr{ ts + 1105, ts + 1083, ts + 1528, -} /* sqlite3.c:88078:21 */ +} /* sqlite3.c:88091:21 */ // Execute as much of a VDBE program as we can. // This is the core of sqlite3_step(). -func Xsqlite3VdbeExec(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:88092:20: */ +func Xsqlite3VdbeExec(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:88105:20: */ bp := tls.Alloc(976) defer tls.Free(976) @@ -68437,7 +68456,7 @@ op_column_corrupt: goto __8 goto __400 __399: - rc = Xsqlite3CorruptError(tls, 90310) + rc = Xsqlite3CorruptError(tls, 90323) goto abort_due_to_error __400: ; @@ -70936,7 +70955,7 @@ notExistsWithKey: if !((*Op)(unsafe.Pointer(pOp)).Fp2 == 0) { goto __642 } - rc = Xsqlite3CorruptError(tls, 92457) + rc = Xsqlite3CorruptError(tls, 92470) goto __643 __642: goto jump_to_p2 @@ -72100,7 +72119,7 @@ __724: if !((*Op)(unsafe.Pointer(pOp)).Fp5 != 0 && !(Xsqlite3WritableSchema(tls, db) != 0)) { goto __727 } - rc = Xsqlite3ReportError(tls, SQLITE_CORRUPT|int32(3)<<8, 93513, ts+5820) + rc = Xsqlite3ReportError(tls, SQLITE_CORRUPT|int32(3)<<8, 93526, ts+5820) goto abort_due_to_error __727: ; @@ -72292,7 +72311,7 @@ __737: if !(nCellKey <= int64(0) || nCellKey > int64(0x7fffffff)) { goto __738 } - rc = Xsqlite3CorruptError(tls, 93717) + rc = Xsqlite3CorruptError(tls, 93730) goto abort_due_to_error __738: ; @@ -72568,7 +72587,7 @@ __759: // 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 = Xsqlite3CorruptError(tls, 93969) + rc = Xsqlite3CorruptError(tls, 93982) __760: ; Xsqlite3DbFreeNN(tls, db, zSql) @@ -74581,7 +74600,7 @@ __916: if !(rc == SQLITE_IOERR|int32(33)<<8) { goto __918 } - rc = Xsqlite3CorruptError(tls, 95906) + rc = Xsqlite3CorruptError(tls, 95919) __918: ; __917: @@ -74670,11 +74689,11 @@ abort_due_to_interrupt: } var azType = [4]uintptr{ts + 6062, ts + 6071, ts + 6078, - ts + 6084} /* sqlite3.c:88537:25 */ -var and_logic = [9]uint8{uint8(0), uint8(0), uint8(0), uint8(0), uint8(1), uint8(2), uint8(0), uint8(2), uint8(2)} /* sqlite3.c:89761:32 */ -var or_logic = [9]uint8{uint8(0), uint8(1), uint8(2), uint8(1), uint8(1), uint8(1), uint8(2), uint8(1), uint8(2)} /* sqlite3.c:89764:32 */ -var aFlag1 = [2]U16{U16(MEM_Blob), U16(MEM_Str | MEM_Term)} /* sqlite3.c:90257:24 */ -var vfsFlags int32 = SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE | SQLITE_OPEN_EXCLUSIVE | SQLITE_OPEN_DELETEONCLOSE | SQLITE_OPEN_TRANSIENT_DB /* sqlite3.c:91512:20 */ + ts + 6084} /* sqlite3.c:88550:25 */ +var and_logic = [9]uint8{uint8(0), uint8(0), uint8(0), uint8(0), uint8(1), uint8(2), uint8(0), uint8(2), uint8(2)} /* sqlite3.c:89774:32 */ +var or_logic = [9]uint8{uint8(0), uint8(1), uint8(2), uint8(1), uint8(1), uint8(1), uint8(2), uint8(1), uint8(2)} /* sqlite3.c:89777:32 */ +var aFlag1 = [2]U16{U16(MEM_Blob), U16(MEM_Str | MEM_Term)} /* sqlite3.c:90270:24 */ +var vfsFlags int32 = SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE | SQLITE_OPEN_EXCLUSIVE | SQLITE_OPEN_DELETEONCLOSE | SQLITE_OPEN_TRANSIENT_DB /* sqlite3.c:91525:20 */ //************* End of vdbe.c *********************************************** //************* Begin file vdbeblob.c *************************************** @@ -74705,7 +74724,7 @@ type Incrblob1 = struct { Fdb uintptr FzDb uintptr FpTab uintptr -} /* sqlite3.c:96011:9 */ +} /* sqlite3.c:96024:9 */ //************* End of vdbe.c *********************************************** //************* Begin file vdbeblob.c *************************************** @@ -74726,7 +74745,7 @@ type Incrblob1 = struct { // #include "vdbeInt.h" // Valid sqlite3_blob* handles point to Incrblob structures. -type Incrblob = Incrblob1 /* sqlite3.c:96011:25 */ +type Incrblob = Incrblob1 /* sqlite3.c:96024:25 */ // This function is used by both blob_open() and blob_reopen(). It seeks // the b-tree cursor associated with blob handle p to point to row iRow. @@ -74743,7 +74762,7 @@ type Incrblob = Incrblob1 /* sqlite3.c:96011:25 */ // If an error does occur, then the b-tree cursor is closed. All subsequent // calls to sqlite3_blob_read(), blob_write() or blob_reopen() will // immediately return SQLITE_ABORT. -func blobSeekToRow(tls *libc.TLS, p uintptr, iRow Sqlite3_int64, pzErr uintptr) int32 { /* sqlite3.c:96041:12: */ +func blobSeekToRow(tls *libc.TLS, p uintptr, iRow Sqlite3_int64, pzErr uintptr) int32 { /* sqlite3.c:96054:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -74819,7 +74838,7 @@ func blobSeekToRow(tls *libc.TLS, p uintptr, iRow Sqlite3_int64, pzErr uintptr) } // Open a blob handle. -func Xsqlite3_blob_open(tls *libc.TLS, db uintptr, zDb uintptr, zTable uintptr, zColumn uintptr, iRow Sqlite_int64, wrFlag int32, ppBlob uintptr) int32 { /* sqlite3.c:96109:16: */ +func Xsqlite3_blob_open(tls *libc.TLS, db uintptr, zDb uintptr, zTable uintptr, zColumn uintptr, iRow Sqlite_int64, wrFlag int32, ppBlob uintptr) int32 { /* sqlite3.c:96122:16: */ bp := tls.Alloc(464) defer tls.Free(464) @@ -75140,7 +75159,7 @@ __38: return rc } -var iLn int32 = 0 /* sqlite3.c:96252:24 */ +var iLn int32 = 0 /* sqlite3.c:96265:24 */ var openBlob = [6]VdbeOpList{ {Fopcode: U8(OP_TableLock)}, // 0: Acquire a read or write lock {Fopcode: U8(OP_OpenRead)}, // 1: Open a cursor @@ -75149,11 +75168,11 @@ var openBlob = [6]VdbeOpList{ {Fopcode: U8(OP_Column), Fp3: int8(1)}, // 3 {Fopcode: U8(OP_ResultRow), Fp1: int8(1)}, // 4 {Fopcode: U8(OP_Halt)}, // 5 -} /* sqlite3.c:96253:31 */ +} /* sqlite3.c:96266:31 */ // Close a blob handle that was previously created using // sqlite3_blob_open(). -func Xsqlite3_blob_close(tls *libc.TLS, pBlob uintptr) int32 { /* sqlite3.c:96344:16: */ +func Xsqlite3_blob_close(tls *libc.TLS, pBlob uintptr) int32 { /* sqlite3.c:96357:16: */ var p uintptr = pBlob var rc int32 var db uintptr @@ -75172,14 +75191,14 @@ func Xsqlite3_blob_close(tls *libc.TLS, pBlob uintptr) int32 { /* sqlite3.c:9634 } // Perform a read or write operation on a blob -func blobReadWrite(tls *libc.TLS, pBlob uintptr, z uintptr, n int32, iOffset int32, xCall uintptr) int32 { /* sqlite3.c:96365:12: */ +func blobReadWrite(tls *libc.TLS, pBlob uintptr, z uintptr, n int32, iOffset int32, xCall uintptr) int32 { /* sqlite3.c:96378:12: */ var rc int32 var p uintptr = pBlob var v uintptr var db uintptr if p == uintptr(0) { - return Xsqlite3MisuseError(tls, 96377) + return Xsqlite3MisuseError(tls, 96390) } db = (*Incrblob)(unsafe.Pointer(p)).Fdb Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) @@ -75238,14 +75257,14 @@ func blobReadWrite(tls *libc.TLS, pBlob uintptr, z uintptr, n int32, iOffset int } // Read data from a blob handle. -func Xsqlite3_blob_read(tls *libc.TLS, pBlob uintptr, z uintptr, n int32, iOffset int32) int32 { /* sqlite3.c:96440:16: */ +func Xsqlite3_blob_read(tls *libc.TLS, pBlob uintptr, z uintptr, n int32, iOffset int32) int32 { /* sqlite3.c:96453:16: */ return blobReadWrite(tls, pBlob, z, n, iOffset, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, U32, U32, uintptr) int32 }{Xsqlite3BtreePayloadChecked}))) } // Write data to a blob handle. -func Xsqlite3_blob_write(tls *libc.TLS, pBlob uintptr, z uintptr, n int32, iOffset int32) int32 { /* sqlite3.c:96447:16: */ +func Xsqlite3_blob_write(tls *libc.TLS, pBlob uintptr, z uintptr, n int32, iOffset int32) int32 { /* sqlite3.c:96460:16: */ return blobReadWrite(tls, pBlob, z, n, iOffset, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, U32, U32, uintptr) int32 }{Xsqlite3BtreePutData}))) @@ -75255,7 +75274,7 @@ func Xsqlite3_blob_write(tls *libc.TLS, pBlob uintptr, z uintptr, n int32, iOffs // // The Incrblob.nByte field is fixed for the lifetime of the Incrblob // so no mutex is required for access. -func Xsqlite3_blob_bytes(tls *libc.TLS, pBlob uintptr) int32 { /* sqlite3.c:96457:16: */ +func Xsqlite3_blob_bytes(tls *libc.TLS, pBlob uintptr) int32 { /* sqlite3.c:96470:16: */ var p uintptr = pBlob if p != 0 && (*Incrblob)(unsafe.Pointer(p)).FpStmt != 0 { return (*Incrblob)(unsafe.Pointer(p)).FnByte @@ -75271,7 +75290,7 @@ func Xsqlite3_blob_bytes(tls *libc.TLS, pBlob uintptr) int32 { /* sqlite3.c:9645 // database handle error code and message set. If this happens, then all // subsequent calls to sqlite3_blob_xxx() functions (except blob_close()) // immediately return SQLITE_ABORT. -func Xsqlite3_blob_reopen(tls *libc.TLS, pBlob uintptr, iRow Sqlite3_int64) int32 { /* sqlite3.c:96472:16: */ +func Xsqlite3_blob_reopen(tls *libc.TLS, pBlob uintptr, iRow Sqlite3_int64) int32 { /* sqlite3.c:96485:16: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -75280,7 +75299,7 @@ func Xsqlite3_blob_reopen(tls *libc.TLS, pBlob uintptr, iRow Sqlite3_int64) int3 var db uintptr if p == uintptr(0) { - return Xsqlite3MisuseError(tls, 96477) + return Xsqlite3MisuseError(tls, 96490) } db = (*Incrblob)(unsafe.Pointer(p)).Fdb Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) @@ -75618,7 +75637,7 @@ type MergeEngine1 = struct { // overflows. 512MiB. // Private objects used by the sorter -type MergeEngine = MergeEngine1 /* sqlite3.c:96666:28 */ // Merge PMAs together +type MergeEngine = MergeEngine1 /* sqlite3.c:96679:28 */ // Merge PMAs together type PmaReader1 = struct { FiReadOff I64 FiEof I64 @@ -75635,7 +75654,7 @@ type PmaReader1 = struct { } /* sqlite3.c:22082:9 */ // Merge PMAs together -type PmaReader = PmaReader1 /* sqlite3.c:96667:26 */ // Incrementally read one PMA +type PmaReader = PmaReader1 /* sqlite3.c:96680:26 */ // Incrementally read one PMA type PmaWriter1 = struct { FeFWErr int32 F__ccgo_pad1 [4]byte @@ -75646,10 +75665,10 @@ type PmaWriter1 = struct { F__ccgo_pad2 [4]byte FiWriteOff I64 FpFd uintptr -} /* sqlite3.c:96668:9 */ +} /* sqlite3.c:96681:9 */ // Incrementally read one PMA -type PmaWriter = PmaWriter1 /* sqlite3.c:96668:26 */ // Incrementally write one PMA +type PmaWriter = PmaWriter1 /* sqlite3.c:96681:26 */ // Incrementally write one PMA type SorterRecord1 = struct { FnVal int32 F__ccgo_pad1 [4]byte @@ -75657,7 +75676,7 @@ type SorterRecord1 = struct { } /* sqlite3.c:22082:9 */ // Incrementally write one PMA -type SorterRecord = SorterRecord1 /* sqlite3.c:96669:29 */ // A record being sorted +type SorterRecord = SorterRecord1 /* sqlite3.c:96682:29 */ // A record being sorted type SortSubtask1 = struct { FpThread uintptr FbDone int32 @@ -75673,14 +75692,14 @@ type SortSubtask1 = struct { } /* sqlite3.c:22082:9 */ // A record being sorted -type SortSubtask = SortSubtask1 /* sqlite3.c:96670:28 */ // A sub-task in the sort process +type SortSubtask = SortSubtask1 /* sqlite3.c:96683:28 */ // A sub-task in the sort process type SorterFile1 = struct { FpFd uintptr FiEof I64 } /* sqlite3.c:22082:9 */ // A sub-task in the sort process -type SorterFile = SorterFile1 /* sqlite3.c:96671:27 */ // Temporary file object wrapper +type SorterFile = SorterFile1 /* sqlite3.c:96684:27 */ // Temporary file object wrapper type SorterList1 = struct { FpList uintptr FaMemory uintptr @@ -75689,7 +75708,7 @@ type SorterList1 = struct { } /* sqlite3.c:22082:9 */ // Temporary file object wrapper -type SorterList = SorterList1 /* sqlite3.c:96672:27 */ // In-memory list of records +type SorterList = SorterList1 /* sqlite3.c:96685:27 */ // In-memory list of records type IncrMerger1 = struct { FpTask uintptr FpMerger uintptr @@ -75702,7 +75721,7 @@ type IncrMerger1 = struct { } /* sqlite3.c:22082:9 */ // In-memory list of records -type IncrMerger = IncrMerger1 /* sqlite3.c:96673:27 */ +type IncrMerger = IncrMerger1 /* sqlite3.c:96686:27 */ // This object represents a single thread of control in a sort operation. // Exactly VdbeSorter.nTask instances of this object are allocated @@ -75733,11 +75752,11 @@ type IncrMerger = IncrMerger1 /* sqlite3.c:96673:27 */ // In both cases, the effects of the main thread seeing (bDone==0) even // after the thread has finished are not dire. So we don't worry about // memory barriers and such here. -type SorterCompare = uintptr /* sqlite3.c:96800:13 */ +type SorterCompare = uintptr /* sqlite3.c:96813:13 */ // Free all memory belonging to the PmaReader object passed as the // argument. All structure fields are set to zero before returning. -func vdbePmaReaderClear(tls *libc.TLS, pReadr uintptr) { /* sqlite3.c:96975:13: */ +func vdbePmaReaderClear(tls *libc.TLS, pReadr uintptr) { /* sqlite3.c:96988:13: */ Xsqlite3_free(tls, (*PmaReader)(unsafe.Pointer(pReadr)).FaAlloc) Xsqlite3_free(tls, (*PmaReader)(unsafe.Pointer(pReadr)).FaBuffer) if (*PmaReader)(unsafe.Pointer(pReadr)).FaMap != 0 { @@ -75754,7 +75773,7 @@ func vdbePmaReaderClear(tls *libc.TLS, pReadr uintptr) { /* sqlite3.c:96975:13: // // The buffer returned in *ppOut is only valid until the // next call to this function. -func vdbePmaReadBlob(tls *libc.TLS, p uintptr, nByte int32, ppOut uintptr) int32 { /* sqlite3.c:96992:12: */ +func vdbePmaReadBlob(tls *libc.TLS, p uintptr, nByte int32, ppOut uintptr) int32 { /* sqlite3.c:97005:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -75858,7 +75877,7 @@ func vdbePmaReadBlob(tls *libc.TLS, p uintptr, nByte int32, ppOut uintptr) int32 // Read a varint from the stream of data accessed by p. Set *pnOut to // the value read. -func vdbePmaReadVarint(tls *libc.TLS, p uintptr, pnOut uintptr) int32 { /* sqlite3.c:97086:12: */ +func vdbePmaReadVarint(tls *libc.TLS, p uintptr, pnOut uintptr) int32 { /* sqlite3.c:97099:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -75898,7 +75917,7 @@ func vdbePmaReadVarint(tls *libc.TLS, p uintptr, pnOut uintptr) int32 { /* sqlit // // Or, if an error occurs, return an SQLite error code. The final value of // *pp is undefined in this case. -func vdbeSorterMapFile(tls *libc.TLS, pTask uintptr, pFile uintptr, pp uintptr) int32 { /* sqlite3.c:97119:12: */ +func vdbeSorterMapFile(tls *libc.TLS, pTask uintptr, pFile uintptr, pp uintptr) int32 { /* sqlite3.c:97132:12: */ var rc int32 = SQLITE_OK if (*SorterFile)(unsafe.Pointer(pFile)).FiEof <= I64((*Sqlite3)(unsafe.Pointer((*VdbeSorter)(unsafe.Pointer((*SortSubtask)(unsafe.Pointer(pTask)).FpSorter)).Fdb)).FnMaxSorterMmap) { var pFd uintptr = (*SorterFile)(unsafe.Pointer(pFile)).FpFd @@ -75913,7 +75932,7 @@ func vdbeSorterMapFile(tls *libc.TLS, pTask uintptr, pFile uintptr, pp uintptr) // Attach PmaReader pReadr to file pFile (if it is not already attached to // that file) and seek it to offset iOff within the file. Return SQLITE_OK // if successful, or an SQLite error code if an error occurs. -func vdbePmaReaderSeek(tls *libc.TLS, pTask uintptr, pReadr uintptr, pFile uintptr, iOff I64) int32 { /* sqlite3.c:97136:12: */ +func vdbePmaReaderSeek(tls *libc.TLS, pTask uintptr, pReadr uintptr, pFile uintptr, iOff I64) int32 { /* sqlite3.c:97149:12: */ var rc int32 = SQLITE_OK if Xsqlite3FaultSim(tls, 201) != 0 { @@ -75954,7 +75973,7 @@ func vdbePmaReaderSeek(tls *libc.TLS, pTask uintptr, pReadr uintptr, pFile uintp // Advance PmaReader pReadr to the next key in its PMA. Return SQLITE_OK if // no error occurs, or an SQLite error code if one does. -func vdbePmaReaderNext(tls *libc.TLS, pReadr uintptr) int32 { /* sqlite3.c:97183:12: */ +func vdbePmaReaderNext(tls *libc.TLS, pReadr uintptr) int32 { /* sqlite3.c:97196:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -76000,7 +76019,7 @@ func vdbePmaReaderNext(tls *libc.TLS, pReadr uintptr) int32 { /* sqlite3.c:97183 // // If the pnByte parameter is NULL, then it is assumed that the file // contains a single PMA, and that that PMA omits the initial length varint. -func vdbePmaReaderInit(tls *libc.TLS, pTask uintptr, pFile uintptr, iStart I64, pReadr uintptr, pnByte uintptr) int32 { /* sqlite3.c:97230:12: */ +func vdbePmaReaderInit(tls *libc.TLS, pTask uintptr, pFile uintptr, iStart I64, pReadr uintptr, pnByte uintptr) int32 { /* sqlite3.c:97243:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -76023,7 +76042,7 @@ func vdbePmaReaderInit(tls *libc.TLS, pTask uintptr, pFile uintptr, iStart I64, // A version of vdbeSorterCompare() that assumes that it has already been // determined that the first field of key1 is equal to the first field of // key2. -func vdbeSorterCompareTail(tls *libc.TLS, pTask uintptr, pbKey2Cached uintptr, pKey1 uintptr, nKey1 int32, pKey2 uintptr, nKey2 int32) int32 { /* sqlite3.c:97263:12: */ +func vdbeSorterCompareTail(tls *libc.TLS, pTask uintptr, pbKey2Cached uintptr, pKey1 uintptr, nKey1 int32, pKey2 uintptr, nKey2 int32) int32 { /* sqlite3.c:97276:12: */ var r2 uintptr = (*SortSubtask)(unsafe.Pointer(pTask)).FpUnpacked if *(*int32)(unsafe.Pointer(pbKey2Cached)) == 0 { Xsqlite3VdbeRecordUnpack(tls, (*VdbeSorter)(unsafe.Pointer((*SortSubtask)(unsafe.Pointer(pTask)).FpSorter)).FpKeyInfo, nKey2, pKey2, r2) @@ -76043,7 +76062,7 @@ func vdbeSorterCompareTail(tls *libc.TLS, pTask uintptr, pbKey2Cached uintptr, p // // If an OOM error is encountered, (pTask->pUnpacked->error_rc) is set // to SQLITE_NOMEM. -func vdbeSorterCompare(tls *libc.TLS, pTask uintptr, pbKey2Cached uintptr, pKey1 uintptr, nKey1 int32, pKey2 uintptr, nKey2 int32) int32 { /* sqlite3.c:97290:12: */ +func vdbeSorterCompare(tls *libc.TLS, pTask uintptr, pbKey2Cached uintptr, pKey1 uintptr, nKey1 int32, pKey2 uintptr, nKey2 int32) int32 { /* sqlite3.c:97303:12: */ var r2 uintptr = (*SortSubtask)(unsafe.Pointer(pTask)).FpUnpacked if !(*(*int32)(unsafe.Pointer(pbKey2Cached)) != 0) { Xsqlite3VdbeRecordUnpack(tls, (*VdbeSorter)(unsafe.Pointer((*SortSubtask)(unsafe.Pointer(pTask)).FpSorter)).FpKeyInfo, nKey2, pKey2, r2) @@ -76055,7 +76074,7 @@ func vdbeSorterCompare(tls *libc.TLS, pTask uintptr, pbKey2Cached uintptr, pKey1 // A specially optimized version of vdbeSorterCompare() that assumes that // the first field of each key is a TEXT value and that the collation // sequence to compare them with is BINARY. -func vdbeSorterCompareText(tls *libc.TLS, pTask uintptr, pbKey2Cached uintptr, pKey1 uintptr, nKey1 int32, pKey2 uintptr, nKey2 int32) int32 { /* sqlite3.c:97309:12: */ +func vdbeSorterCompareText(tls *libc.TLS, pTask uintptr, pbKey2Cached uintptr, pKey1 uintptr, nKey1 int32, pKey2 uintptr, nKey2 int32) int32 { /* sqlite3.c:97322:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -76105,7 +76124,7 @@ func vdbeSorterCompareText(tls *libc.TLS, pTask uintptr, pbKey2Cached uintptr, p // A specially optimized version of vdbeSorterCompare() that assumes that // the first field of each key is an INTEGER value. -func vdbeSorterCompareInt(tls *libc.TLS, pTask uintptr, pbKey2Cached uintptr, pKey1 uintptr, nKey1 int32, pKey2 uintptr, nKey2 int32) int32 { /* sqlite3.c:97351:12: */ +func vdbeSorterCompareInt(tls *libc.TLS, pTask uintptr, pbKey2Cached uintptr, pKey1 uintptr, nKey1 int32, pKey2 uintptr, nKey2 int32) int32 { /* sqlite3.c:97364:12: */ var p1 uintptr = pKey1 var p2 uintptr = pKey2 var s1 int32 = int32(*(*U8)(unsafe.Pointer(p1 + 1))) // Left hand serial type @@ -76165,7 +76184,7 @@ func vdbeSorterCompareInt(tls *libc.TLS, pTask uintptr, pbKey2Cached uintptr, pK return res } -var aLen = [10]U8{U8(0), U8(1), U8(2), U8(3), U8(4), U8(6), U8(8), U8(0), U8(0), U8(0)} /* sqlite3.c:97370:21 */ +var aLen = [10]U8{U8(0), U8(1), U8(2), U8(3), U8(4), U8(6), U8(8), U8(0), U8(0), U8(0)} /* sqlite3.c:97383:21 */ // Initialize the temporary index cursor just opened as a sorter cursor. // @@ -76184,7 +76203,7 @@ var aLen = [10]U8{U8(0), U8(1), U8(2), U8(3), U8(4), U8(6), U8(8), U8(0), U8(0), // mode, but not in multi-threaded mode. // // SQLITE_OK is returned if successful, or an SQLite error code otherwise. -func Xsqlite3VdbeSorterInit(tls *libc.TLS, db uintptr, nField int32, pCsr uintptr) int32 { /* sqlite3.c:97434:20: */ +func Xsqlite3VdbeSorterInit(tls *libc.TLS, db uintptr, nField int32, pCsr uintptr) int32 { /* sqlite3.c:97447:20: */ var pgsz int32 // Page size of main database var i int32 // Used to iterate through aTask[] var pSorter uintptr // The new sorter @@ -76280,7 +76299,7 @@ func Xsqlite3VdbeSorterInit(tls *libc.TLS, db uintptr, nField int32, pCsr uintpt } // Free the list of sorted records starting at pRecord. -func vdbeSorterRecordFree(tls *libc.TLS, db uintptr, pRecord uintptr) { /* sqlite3.c:97540:13: */ +func vdbeSorterRecordFree(tls *libc.TLS, db uintptr, pRecord uintptr) { /* sqlite3.c:97553:13: */ var p uintptr var pNext uintptr for p = pRecord; p != 0; p = pNext { @@ -76291,7 +76310,7 @@ func vdbeSorterRecordFree(tls *libc.TLS, db uintptr, pRecord uintptr) { /* sqlit // Free all resources owned by the object indicated by argument pTask. All // fields of *pTask are zeroed before returning. -func vdbeSortSubtaskCleanup(tls *libc.TLS, db uintptr, pTask uintptr) { /* sqlite3.c:97553:13: */ +func vdbeSortSubtaskCleanup(tls *libc.TLS, db uintptr, pTask uintptr) { /* sqlite3.c:97566:13: */ Xsqlite3DbFree(tls, db, (*SortSubtask)(unsafe.Pointer(pTask)).FpUnpacked) // pTask->list.aMemory can only be non-zero if it was handed memory // from the main thread. That only occurs SQLITE_MAX_WORKER_THREADS>0 @@ -76311,7 +76330,7 @@ func vdbeSortSubtaskCleanup(tls *libc.TLS, db uintptr, pTask uintptr) { /* sqlit } // Join thread pTask->thread. -func vdbeSorterJoinThread(tls *libc.TLS, pTask uintptr) int32 { /* sqlite3.c:97619:12: */ +func vdbeSorterJoinThread(tls *libc.TLS, pTask uintptr) int32 { /* sqlite3.c:97632:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -76330,14 +76349,14 @@ func vdbeSorterJoinThread(tls *libc.TLS, pTask uintptr) int32 { /* sqlite3.c:976 } // Launch a background thread to run xTask(pIn). -func vdbeSorterCreateThread(tls *libc.TLS, pTask uintptr, xTask uintptr, pIn uintptr) int32 { /* sqlite3.c:97640:12: */ +func vdbeSorterCreateThread(tls *libc.TLS, pTask uintptr, xTask uintptr, pIn uintptr) int32 { /* sqlite3.c:97653:12: */ return Xsqlite3ThreadCreate(tls, pTask, xTask, pIn) } // Join all outstanding threads launched by SorterWrite() to create // level-0 PMAs. -func vdbeSorterJoinAll(tls *libc.TLS, pSorter uintptr, rcin int32) int32 { /* sqlite3.c:97653:12: */ +func vdbeSorterJoinAll(tls *libc.TLS, pSorter uintptr, rcin int32) int32 { /* sqlite3.c:97666:12: */ var rc int32 = rcin var i int32 @@ -76363,7 +76382,7 @@ func vdbeSorterJoinAll(tls *libc.TLS, pSorter uintptr, rcin int32) int32 { /* sq // // nReader is automatically rounded up to the next power of two. // nReader may not exceed SORTER_MAX_MERGE_COUNT even after rounding up. -func vdbeMergeEngineNew(tls *libc.TLS, nReader int32) uintptr { /* sqlite3.c:97683:20: */ +func vdbeMergeEngineNew(tls *libc.TLS, nReader int32) uintptr { /* sqlite3.c:97696:20: */ var N int32 = 2 // Smallest power of two >= nReader var nByte int32 // Total bytes of space to allocate var pNew uintptr // Pointer to allocated object to return @@ -76388,7 +76407,7 @@ func vdbeMergeEngineNew(tls *libc.TLS, nReader int32) uintptr { /* sqlite3.c:976 } // Free the MergeEngine object passed as the only argument. -func vdbeMergeEngineFree(tls *libc.TLS, pMerger uintptr) { /* sqlite3.c:97706:13: */ +func vdbeMergeEngineFree(tls *libc.TLS, pMerger uintptr) { /* sqlite3.c:97719:13: */ var i int32 if pMerger != 0 { for i = 0; i < (*MergeEngine)(unsafe.Pointer(pMerger)).FnTree; i++ { @@ -76400,7 +76419,7 @@ func vdbeMergeEngineFree(tls *libc.TLS, pMerger uintptr) { /* sqlite3.c:97706:13 // Free all resources associated with the IncrMerger object indicated by // the first argument. -func vdbeIncrFree(tls *libc.TLS, pIncr uintptr) { /* sqlite3.c:97720:13: */ +func vdbeIncrFree(tls *libc.TLS, pIncr uintptr) { /* sqlite3.c:97733:13: */ if pIncr != 0 { if (*IncrMerger)(unsafe.Pointer(pIncr)).FbUseThread != 0 { vdbeSorterJoinThread(tls, (*IncrMerger)(unsafe.Pointer(pIncr)).FpTask) @@ -76417,7 +76436,7 @@ func vdbeIncrFree(tls *libc.TLS, pIncr uintptr) { /* sqlite3.c:97720:13: */ } // Reset a sorting cursor back to its original empty state. -func Xsqlite3VdbeSorterReset(tls *libc.TLS, db uintptr, pSorter uintptr) { /* sqlite3.c:97737:21: */ +func Xsqlite3VdbeSorterReset(tls *libc.TLS, db uintptr, pSorter uintptr) { /* sqlite3.c:97750:21: */ var i int32 vdbeSorterJoinAll(tls, pSorter, SQLITE_OK) @@ -76446,7 +76465,7 @@ func Xsqlite3VdbeSorterReset(tls *libc.TLS, db uintptr, pSorter uintptr) { /* sq } // Free any cursor components allocated by sqlite3VdbeSorterXXX routines. -func Xsqlite3VdbeSorterClose(tls *libc.TLS, db uintptr, pCsr uintptr) { /* sqlite3.c:97770:21: */ +func Xsqlite3VdbeSorterClose(tls *libc.TLS, db uintptr, pCsr uintptr) { /* sqlite3.c:97783:21: */ var pSorter uintptr pSorter = *(*uintptr)(unsafe.Pointer(pCsr + 48)) @@ -76465,7 +76484,7 @@ func Xsqlite3VdbeSorterClose(tls *libc.TLS, db uintptr, pCsr uintptr) { /* sqlit // // Whether or not the file does end up memory mapped of course depends on // the specific VFS implementation. -func vdbeSorterExtendFile(tls *libc.TLS, db uintptr, pFd uintptr, nByte I64) { /* sqlite3.c:97792:13: */ +func vdbeSorterExtendFile(tls *libc.TLS, db uintptr, pFd uintptr, nByte I64) { /* sqlite3.c:97805:13: */ bp := tls.Alloc(24) defer tls.Free(24) *(*I64)(unsafe.Pointer(bp + 8)) = nByte @@ -76485,7 +76504,7 @@ func vdbeSorterExtendFile(tls *libc.TLS, db uintptr, pFd uintptr, nByte I64) { / // Allocate space for a file-handle and open a temporary file. If successful, // set *ppFd to point to the malloc'd file-handle and return SQLITE_OK. // Otherwise, set *ppFd to 0 and return an SQLite error code. -func vdbeSorterOpenTempFile(tls *libc.TLS, db uintptr, nExtend I64, ppFd uintptr) int32 { /* sqlite3.c:97811:12: */ +func vdbeSorterOpenTempFile(tls *libc.TLS, db uintptr, nExtend I64, ppFd uintptr) int32 { /* sqlite3.c:97824:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -76509,7 +76528,7 @@ func vdbeSorterOpenTempFile(tls *libc.TLS, db uintptr, nExtend I64, ppFd uintptr // If it has not already been allocated, allocate the UnpackedRecord // structure at pTask->pUnpacked. Return SQLITE_OK if successful (or // if no allocation was required), or SQLITE_NOMEM otherwise. -func vdbeSortAllocUnpacked(tls *libc.TLS, pTask uintptr) int32 { /* sqlite3.c:97838:12: */ +func vdbeSortAllocUnpacked(tls *libc.TLS, pTask uintptr) int32 { /* sqlite3.c:97851:12: */ if (*SortSubtask)(unsafe.Pointer(pTask)).FpUnpacked == uintptr(0) { (*SortSubtask)(unsafe.Pointer(pTask)).FpUnpacked = Xsqlite3VdbeAllocUnpackedRecord(tls, (*VdbeSorter)(unsafe.Pointer((*SortSubtask)(unsafe.Pointer(pTask)).FpSorter)).FpKeyInfo) if (*SortSubtask)(unsafe.Pointer(pTask)).FpUnpacked == uintptr(0) { @@ -76522,7 +76541,7 @@ func vdbeSortAllocUnpacked(tls *libc.TLS, pTask uintptr) int32 { /* sqlite3.c:97 } // Merge the two sorted lists p1 and p2 into a single list. -func vdbeSorterMerge(tls *libc.TLS, pTask uintptr, p1 uintptr, p2 uintptr) uintptr { /* sqlite3.c:97852:21: */ +func vdbeSorterMerge(tls *libc.TLS, pTask uintptr, p1 uintptr, p2 uintptr) uintptr { /* sqlite3.c:97865:21: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -76561,7 +76580,7 @@ func vdbeSorterMerge(tls *libc.TLS, pTask uintptr, p1 uintptr, p2 uintptr) uintp // Return the SorterCompare function to compare values collected by the // sorter object passed as the only argument. -func vdbeSorterGetCompare(tls *libc.TLS, p uintptr) SorterCompare { /* sqlite3.c:97894:22: */ +func vdbeSorterGetCompare(tls *libc.TLS, p uintptr) SorterCompare { /* sqlite3.c:97907:22: */ if int32((*VdbeSorter)(unsafe.Pointer(p)).FtypeMask) == SORTER_TYPE_INTEGER { return *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr, int32) int32 @@ -76579,7 +76598,7 @@ func vdbeSorterGetCompare(tls *libc.TLS, p uintptr) SorterCompare { /* sqlite3.c // Sort the linked list of records headed at pTask->pList. Return // SQLITE_OK if successful, or an SQLite error code (i.e. SQLITE_NOMEM) if // an error occurs. -func vdbeSorterSort(tls *libc.TLS, pTask uintptr, pList uintptr) int32 { /* sqlite3.c:97908:12: */ +func vdbeSorterSort(tls *libc.TLS, pTask uintptr, pList uintptr) int32 { /* sqlite3.c:97921:12: */ bp := tls.Alloc(512) defer tls.Free(512) @@ -76636,7 +76655,7 @@ func vdbeSorterSort(tls *libc.TLS, pTask uintptr, pList uintptr) int32 { /* sqli } // Initialize a PMA-writer object. -func vdbePmaWriterInit(tls *libc.TLS, pFd uintptr, p uintptr, nBuf int32, iStart I64) { /* sqlite3.c:97959:13: */ +func vdbePmaWriterInit(tls *libc.TLS, pFd uintptr, p uintptr, nBuf int32, iStart I64) { /* sqlite3.c:97972:13: */ libc.Xmemset(tls, p, 0, uint64(unsafe.Sizeof(PmaWriter{}))) (*PmaWriter)(unsafe.Pointer(p)).FaBuffer = Xsqlite3Malloc(tls, uint64(nBuf)) if !(int32((*PmaWriter)(unsafe.Pointer(p)).FaBuffer) != 0) { @@ -76651,7 +76670,7 @@ func vdbePmaWriterInit(tls *libc.TLS, pFd uintptr, p uintptr, nBuf int32, iStart // Write nData bytes of data to the PMA. Return SQLITE_OK // if successful, or an SQLite error code if an error occurs. -func vdbePmaWriteBlob(tls *libc.TLS, p uintptr, pData uintptr, nData int32) { /* sqlite3.c:97981:13: */ +func vdbePmaWriteBlob(tls *libc.TLS, p uintptr, pData uintptr, nData int32) { /* sqlite3.c:97994:13: */ var nRem int32 = nData for nRem > 0 && (*PmaWriter)(unsafe.Pointer(p)).FeFWErr == 0 { var nCopy int32 = nRem @@ -76680,7 +76699,7 @@ func vdbePmaWriteBlob(tls *libc.TLS, p uintptr, pData uintptr, nData int32) { /* // // Before returning, set *piEof to the offset immediately following the // last byte written to the file. -func vdbePmaWriterFinish(tls *libc.TLS, p uintptr, piEof uintptr) int32 { /* sqlite3.c:98014:12: */ +func vdbePmaWriterFinish(tls *libc.TLS, p uintptr, piEof uintptr) int32 { /* sqlite3.c:98027:12: */ var rc int32 if (*PmaWriter)(unsafe.Pointer(p)).FeFWErr == 0 && (*PmaWriter)(unsafe.Pointer(p)).FaBuffer != 0 && (*PmaWriter)(unsafe.Pointer(p)).FiBufEnd > (*PmaWriter)(unsafe.Pointer(p)).FiBufStart { (*PmaWriter)(unsafe.Pointer(p)).FeFWErr = Xsqlite3OsWrite(tls, (*PmaWriter)(unsafe.Pointer(p)).FpFd, @@ -76696,7 +76715,7 @@ func vdbePmaWriterFinish(tls *libc.TLS, p uintptr, piEof uintptr) int32 { /* sql // Write value iVal encoded as a varint to the PMA. Return // SQLITE_OK if successful, or an SQLite error code if an error occurs. -func vdbePmaWriteVarint(tls *libc.TLS, p uintptr, iVal U64) { /* sqlite3.c:98033:13: */ +func vdbePmaWriteVarint(tls *libc.TLS, p uintptr, iVal U64) { /* sqlite3.c:98046:13: */ bp := tls.Alloc(10) defer tls.Free(10) @@ -76719,7 +76738,7 @@ func vdbePmaWriteVarint(tls *libc.TLS, p uintptr, iVal U64) { /* sqlite3.c:98033 // * One or more records packed end-to-end in order of ascending keys. // Each record consists of a varint followed by a blob of data (the // key). The varint is the number of bytes in the blob of data. -func vdbeSorterListToPMA(tls *libc.TLS, pTask uintptr, pList uintptr) int32 { /* sqlite3.c:98054:12: */ +func vdbeSorterListToPMA(tls *libc.TLS, pTask uintptr, pList uintptr) int32 { /* sqlite3.c:98067:12: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -76774,7 +76793,7 @@ func vdbeSorterListToPMA(tls *libc.TLS, pTask uintptr, pList uintptr) int32 { /* // the MergeEngine has reached the end of all its inputs. // // Return SQLITE_OK if successful or an error code if an error occurs. -func vdbeMergeEngineStep(tls *libc.TLS, pMerger uintptr, pbEof uintptr) int32 { /* sqlite3.c:98118:12: */ +func vdbeMergeEngineStep(tls *libc.TLS, pMerger uintptr, pbEof uintptr) int32 { /* sqlite3.c:98131:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -76850,7 +76869,7 @@ func vdbeMergeEngineStep(tls *libc.TLS, pMerger uintptr, pbEof uintptr) int32 { } // The main routine for background threads that write level-0 PMAs. -func vdbeSorterFlushThread(tls *libc.TLS, pCtx uintptr) uintptr { /* sqlite3.c:98189:13: */ +func vdbeSorterFlushThread(tls *libc.TLS, pCtx uintptr) uintptr { /* sqlite3.c:98202:13: */ var pTask uintptr = pCtx var rc int32 // Return code @@ -76861,7 +76880,7 @@ func vdbeSorterFlushThread(tls *libc.TLS, pCtx uintptr) uintptr { /* sqlite3.c:9 // Flush the current contents of VdbeSorter.list to a new PMA, possibly // using a background thread. -func vdbeSorterFlushPMA(tls *libc.TLS, pSorter uintptr) int32 { /* sqlite3.c:98203:12: */ +func vdbeSorterFlushPMA(tls *libc.TLS, pSorter uintptr) int32 { /* sqlite3.c:98216:12: */ var rc int32 = SQLITE_OK var i int32 var pTask uintptr = uintptr(0) // Thread context used to create new PMA @@ -76925,7 +76944,7 @@ func vdbeSorterFlushPMA(tls *libc.TLS, pSorter uintptr) int32 { /* sqlite3.c:982 } // Add a record to the sorter. -func Xsqlite3VdbeSorterWrite(tls *libc.TLS, pCsr uintptr, pVal uintptr) int32 { /* sqlite3.c:98273:20: */ +func Xsqlite3VdbeSorterWrite(tls *libc.TLS, pCsr uintptr, pVal uintptr) int32 { /* sqlite3.c:98286:20: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -77041,7 +77060,7 @@ func Xsqlite3VdbeSorterWrite(tls *libc.TLS, pCsr uintptr, pVal uintptr) int32 { // Read keys from pIncr->pMerger and populate pIncr->aFile[1]. The format // of the data stored in aFile[1] is the same as that used by regular PMAs, // except that the number-of-bytes varint is omitted from the start. -func vdbeIncrPopulate(tls *libc.TLS, pIncr uintptr) int32 { /* sqlite3.c:98385:12: */ +func vdbeIncrPopulate(tls *libc.TLS, pIncr uintptr) int32 { /* sqlite3.c:98398:12: */ bp := tls.Alloc(52) defer tls.Free(52) @@ -77087,7 +77106,7 @@ func vdbeIncrPopulate(tls *libc.TLS, pIncr uintptr) int32 { /* sqlite3.c:98385:1 // The main routine for background threads that populate aFile[1] of // multi-threaded IncrMerger objects. -func vdbeIncrPopulateThread(tls *libc.TLS, pCtx uintptr) uintptr { /* sqlite3.c:98427:13: */ +func vdbeIncrPopulateThread(tls *libc.TLS, pCtx uintptr) uintptr { /* sqlite3.c:98440:13: */ var pIncr uintptr = pCtx var pRet uintptr = uintptr(int64(vdbeIncrPopulate(tls, pIncr))) (*SortSubtask)(unsafe.Pointer((*IncrMerger)(unsafe.Pointer(pIncr)).FpTask)).FbDone = 1 @@ -77095,7 +77114,7 @@ func vdbeIncrPopulateThread(tls *libc.TLS, pCtx uintptr) uintptr { /* sqlite3.c: } // Launch a background thread to populate aFile[1] of pIncr. -func vdbeIncrBgPopulate(tls *libc.TLS, pIncr uintptr) int32 { /* sqlite3.c:98437:12: */ +func vdbeIncrBgPopulate(tls *libc.TLS, pIncr uintptr) int32 { /* sqlite3.c:98450:12: */ var p uintptr = pIncr return vdbeSorterCreateThread(tls, (*IncrMerger)(unsafe.Pointer(pIncr)).FpTask, *(*uintptr)(unsafe.Pointer(&struct { @@ -77118,7 +77137,7 @@ func vdbeIncrBgPopulate(tls *libc.TLS, pIncr uintptr) int32 { /* sqlite3.c:98437 // to populate the new aFile[1]. // // SQLITE_OK is returned on success, or an SQLite error code otherwise. -func vdbeIncrSwap(tls *libc.TLS, pIncr uintptr) int32 { /* sqlite3.c:98461:12: */ +func vdbeIncrSwap(tls *libc.TLS, pIncr uintptr) int32 { /* sqlite3.c:98474:12: */ var rc int32 = SQLITE_OK if (*IncrMerger)(unsafe.Pointer(pIncr)).FbUseThread != 0 { @@ -77152,7 +77171,7 @@ func vdbeIncrSwap(tls *libc.TLS, pIncr uintptr) int32 { /* sqlite3.c:98461:12: * // // If an OOM condition is encountered, return NULL. In this case free the // pMerger argument before returning. -func vdbeIncrMergerNew(tls *libc.TLS, pTask uintptr, pMerger uintptr, ppOut uintptr) int32 { /* sqlite3.c:98500:12: */ +func vdbeIncrMergerNew(tls *libc.TLS, pTask uintptr, pMerger uintptr, ppOut uintptr) int32 { /* sqlite3.c:98513:12: */ var rc int32 = SQLITE_OK var pIncr uintptr = libc.AssignPtrUintptr(ppOut, func() uintptr { if Xsqlite3FaultSim(tls, 100) != 0 { @@ -77179,7 +77198,7 @@ func vdbeIncrMergerNew(tls *libc.TLS, pTask uintptr, pMerger uintptr, ppOut uint } // Set the "use-threads" flag on object pIncr. -func vdbeIncrMergerSetThreads(tls *libc.TLS, pIncr uintptr) { /* sqlite3.c:98525:13: */ +func vdbeIncrMergerSetThreads(tls *libc.TLS, pIncr uintptr) { /* sqlite3.c:98538:13: */ (*IncrMerger)(unsafe.Pointer(pIncr)).FbUseThread = 1 *(*I64)(unsafe.Pointer((*IncrMerger)(unsafe.Pointer(pIncr)).FpTask + 88 + 8)) -= I64((*IncrMerger)(unsafe.Pointer(pIncr)).FmxSz) } @@ -77187,7 +77206,7 @@ func vdbeIncrMergerSetThreads(tls *libc.TLS, pIncr uintptr) { /* sqlite3.c:98525 // Recompute pMerger->aTree[iOut] by comparing the next keys on the // two PmaReaders that feed that entry. Neither of the PmaReaders // are advanced. This routine merely does the comparison. -func vdbeMergeEngineCompare(tls *libc.TLS, pMerger uintptr, iOut int32) { /* sqlite3.c:98538:13: */ +func vdbeMergeEngineCompare(tls *libc.TLS, pMerger uintptr, iOut int32) { /* sqlite3.c:98551:13: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -77247,7 +77266,7 @@ func vdbeMergeEngineCompare(tls *libc.TLS, pMerger uintptr, iOut int32) { /* sql // to pMerger. // // SQLITE_OK is returned if successful, or an SQLite error code otherwise. -func vdbeMergeEngineInit(tls *libc.TLS, pTask uintptr, pMerger uintptr, eMode int32) int32 { /* sqlite3.c:98620:12: */ +func vdbeMergeEngineInit(tls *libc.TLS, pTask uintptr, pMerger uintptr, eMode int32) int32 { /* sqlite3.c:98633:12: */ var rc int32 = SQLITE_OK // Return code var i int32 // For looping over PmaReader objects var nTree int32 // Number of subtrees to merge @@ -77317,7 +77336,7 @@ func vdbeMergeEngineInit(tls *libc.TLS, pTask uintptr, pMerger uintptr, eMode in // the current PmaReader set to point to the first key in its range. // // SQLITE_OK is returned if successful, or an SQLite error code otherwise. -func vdbePmaReaderIncrMergeInit(tls *libc.TLS, pReadr uintptr, eMode int32) int32 { /* sqlite3.c:98696:12: */ +func vdbePmaReaderIncrMergeInit(tls *libc.TLS, pReadr uintptr, eMode int32) int32 { /* sqlite3.c:98709:12: */ var rc int32 = SQLITE_OK var pIncr uintptr = (*PmaReader)(unsafe.Pointer(pReadr)).FpIncr var pTask uintptr = (*IncrMerger)(unsafe.Pointer(pIncr)).FpTask @@ -77374,7 +77393,7 @@ func vdbePmaReaderIncrMergeInit(tls *libc.TLS, pReadr uintptr, eMode int32) int3 // The main routine for vdbePmaReaderIncrMergeInit() operations run in // background threads. -func vdbePmaReaderBgIncrInit(tls *libc.TLS, pCtx uintptr) uintptr { /* sqlite3.c:98763:13: */ +func vdbePmaReaderBgIncrInit(tls *libc.TLS, pCtx uintptr) uintptr { /* sqlite3.c:98776:13: */ var pReader uintptr = pCtx var pRet uintptr = uintptr(int64(vdbePmaReaderIncrMergeInit(tls, pReader, INCRINIT_TASK))) (*SortSubtask)(unsafe.Pointer((*IncrMerger)(unsafe.Pointer((*PmaReader)(unsafe.Pointer(pReader)).FpIncr)).FpTask)).FbDone = 1 @@ -77390,7 +77409,7 @@ func vdbePmaReaderBgIncrInit(tls *libc.TLS, pCtx uintptr) uintptr { /* sqlite3.c // then a background thread is launched to call vdbePmaReaderIncrMergeInit(). // Or, if the IncrMerger is single threaded, the same function is called // using the current thread. -func vdbePmaReaderIncrInit(tls *libc.TLS, pReadr uintptr, eMode int32) int32 { /* sqlite3.c:98784:12: */ +func vdbePmaReaderIncrInit(tls *libc.TLS, pReadr uintptr, eMode int32) int32 { /* sqlite3.c:98797:12: */ var pIncr uintptr = (*PmaReader)(unsafe.Pointer(pReadr)).FpIncr // Incremental merger var rc int32 = SQLITE_OK // Return code if pIncr != 0 { @@ -77417,7 +77436,7 @@ func vdbePmaReaderIncrInit(tls *libc.TLS, pReadr uintptr, eMode int32) int32 { / // set to the offset immediately following the last byte of the last // PMA before returning. If an error does occur, then the final value of // *piOffset is undefined. -func vdbeMergeEngineLevel0(tls *libc.TLS, pTask uintptr, nPMA int32, piOffset uintptr, ppOut uintptr) int32 { /* sqlite3.c:98814:12: */ +func vdbeMergeEngineLevel0(tls *libc.TLS, pTask uintptr, nPMA int32, piOffset uintptr, ppOut uintptr) int32 { /* sqlite3.c:98827:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -77454,7 +77473,7 @@ func vdbeMergeEngineLevel0(tls *libc.TLS, pTask uintptr, nPMA int32, piOffset ui // nPMA<=16 -> TreeDepth() == 0 // nPMA<=256 -> TreeDepth() == 1 // nPMA<=65536 -> TreeDepth() == 2 -func vdbeSorterTreeDepth(tls *libc.TLS, nPMA int32) int32 { /* sqlite3.c:98853:12: */ +func vdbeSorterTreeDepth(tls *libc.TLS, nPMA int32) int32 { /* sqlite3.c:98866:12: */ var nDepth int32 = 0 var nDiv I64 = int64(SORTER_MAX_MERGE_COUNT) for nDiv < I64(nPMA) { @@ -77470,7 +77489,7 @@ func vdbeSorterTreeDepth(tls *libc.TLS, nPMA int32) int32 { /* sqlite3.c:98853:1 // // If successful, SQLITE_OK is returned. If an error occurs, an SQLite error // code is returned and pLeaf is freed. -func vdbeSorterAddToTree(tls *libc.TLS, pTask uintptr, nDepth int32, iSeq int32, pRoot uintptr, pLeaf uintptr) int32 { /* sqlite3.c:98871:12: */ +func vdbeSorterAddToTree(tls *libc.TLS, pTask uintptr, nDepth int32, iSeq int32, pRoot uintptr, pLeaf uintptr) int32 { /* sqlite3.c:98884:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -77521,7 +77540,7 @@ func vdbeSorterAddToTree(tls *libc.TLS, pTask uintptr, nDepth int32, iSeq int32, // MergeEngine object at the root of the tree before returning. Or, if an // error occurs, an SQLite error code is returned and the final value // of *ppOut is undefined. -func vdbeSorterMergeTreeBuild(tls *libc.TLS, pSorter uintptr, ppOut uintptr) int32 { /* sqlite3.c:98927:12: */ +func vdbeSorterMergeTreeBuild(tls *libc.TLS, pSorter uintptr, ppOut uintptr) int32 { /* sqlite3.c:98940:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -77602,7 +77621,7 @@ func vdbeSorterMergeTreeBuild(tls *libc.TLS, pSorter uintptr, ppOut uintptr) int // all records stored in the sorter. // // SQLITE_OK is returned if successful, or an SQLite error code otherwise. -func vdbeSorterSetupMerge(tls *libc.TLS, pSorter uintptr) int32 { /* sqlite3.c:99006:12: */ +func vdbeSorterSetupMerge(tls *libc.TLS, pSorter uintptr) int32 { /* sqlite3.c:99019:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -77677,7 +77696,7 @@ func vdbeSorterSetupMerge(tls *libc.TLS, pSorter uintptr) int32 { /* sqlite3.c:9 // Once the sorter has been populated by calls to sqlite3VdbeSorterWrite, // this function is called to prepare for iterating through the records // in sorted order. -func Xsqlite3VdbeSorterRewind(tls *libc.TLS, pCsr uintptr, pbEof uintptr) int32 { /* sqlite3.c:99088:20: */ +func Xsqlite3VdbeSorterRewind(tls *libc.TLS, pCsr uintptr, pbEof uintptr) int32 { /* sqlite3.c:99101:20: */ var pSorter uintptr var rc int32 = SQLITE_OK // Return code @@ -77722,7 +77741,7 @@ func Xsqlite3VdbeSorterRewind(tls *libc.TLS, pCsr uintptr, pbEof uintptr) int32 // SQLITE_OK success // SQLITE_DONE end of data // otherwise some kind of error. -func Xsqlite3VdbeSorterNext(tls *libc.TLS, db uintptr, pCsr uintptr) int32 { /* sqlite3.c:99140:20: */ +func Xsqlite3VdbeSorterNext(tls *libc.TLS, db uintptr, pCsr uintptr) int32 { /* sqlite3.c:99153:20: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -77764,7 +77783,7 @@ func Xsqlite3VdbeSorterNext(tls *libc.TLS, db uintptr, pCsr uintptr) int32 { /* // Return a pointer to a buffer owned by the sorter that contains the // current key. -func vdbeSorterRowkey(tls *libc.TLS, pSorter uintptr, pnKey uintptr) uintptr { /* sqlite3.c:99178:13: */ +func vdbeSorterRowkey(tls *libc.TLS, pSorter uintptr, pnKey uintptr) uintptr { /* sqlite3.c:99191:13: */ var pKey uintptr if (*VdbeSorter)(unsafe.Pointer(pSorter)).FbUsePMA != 0 { var pReader uintptr @@ -77783,7 +77802,7 @@ func vdbeSorterRowkey(tls *libc.TLS, pSorter uintptr, pnKey uintptr) uintptr { / } // Copy the current sorter key into the memory cell pOut. -func Xsqlite3VdbeSorterRowkey(tls *libc.TLS, pCsr uintptr, pOut uintptr) int32 { /* sqlite3.c:99205:20: */ +func Xsqlite3VdbeSorterRowkey(tls *libc.TLS, pCsr uintptr, pOut uintptr) int32 { /* sqlite3.c:99218:20: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -77818,7 +77837,7 @@ func Xsqlite3VdbeSorterRowkey(tls *libc.TLS, pCsr uintptr, pOut uintptr) int32 { // // This routine forms the core of the OP_SorterCompare opcode, which in // turn is used to verify uniqueness when constructing a UNIQUE INDEX. -func Xsqlite3VdbeSorterCompare(tls *libc.TLS, pCsr uintptr, pVal uintptr, nKeyCol int32, pRes uintptr) int32 { /* sqlite3.c:99238:20: */ +func Xsqlite3VdbeSorterCompare(tls *libc.TLS, pCsr uintptr, pVal uintptr, nKeyCol int32, pRes uintptr) int32 { /* sqlite3.c:99251:20: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -77910,7 +77929,7 @@ type MemJournal1 = struct { F__ccgo_pad1 [4]byte FpVfs uintptr FzJournal uintptr -} /* sqlite3.c:99731:9 */ +} /* sqlite3.c:99744:9 */ //************* End of vdbesort.c ******************************************* //************* Begin file vdbevtab.c *************************************** @@ -77957,23 +77976,23 @@ type MemJournal1 = struct { // #include "sqliteInt.h" // Forward references to internal structures -type MemJournal = MemJournal1 /* sqlite3.c:99731:27 */ +type MemJournal = MemJournal1 /* sqlite3.c:99744:27 */ type FilePoint1 = struct { FiOffset Sqlite3_int64 FpChunk uintptr -} /* sqlite3.c:99731:9 */ +} /* sqlite3.c:99744:9 */ -type FilePoint = FilePoint1 /* sqlite3.c:99732:26 */ +type FilePoint = FilePoint1 /* sqlite3.c:99745:26 */ type FileChunk1 = struct { FpNext uintptr FzChunk [8]U8 -} /* sqlite3.c:99731:9 */ +} /* sqlite3.c:99744:9 */ -type FileChunk = FileChunk1 /* sqlite3.c:99733:26 */ +type FileChunk = FileChunk1 /* sqlite3.c:99746:26 */ // Read data from the in-memory journal file. This is the implementation // of the sqlite3_vfs.xRead method. -func memjrnlRead(tls *libc.TLS, pJfd uintptr, zBuf uintptr, iAmt int32, iOfst Sqlite_int64) int32 { /* sqlite3.c:99788:12: */ +func memjrnlRead(tls *libc.TLS, pJfd uintptr, zBuf uintptr, iAmt int32, iOfst Sqlite_int64) int32 { /* sqlite3.c:99801:12: */ var p uintptr = pJfd var zOut uintptr = zBuf var nRead int32 = iAmt @@ -78020,7 +78039,7 @@ func memjrnlRead(tls *libc.TLS, pJfd uintptr, zBuf uintptr, iAmt int32, iOfst Sq } // Free the list of FileChunk structures headed at MemJournal.pFirst. -func memjrnlFreeChunks(tls *libc.TLS, pFirst uintptr) { /* sqlite3.c:99835:13: */ +func memjrnlFreeChunks(tls *libc.TLS, pFirst uintptr) { /* sqlite3.c:99848:13: */ var pIter uintptr var pNext uintptr for pIter = pFirst; pIter != 0; pIter = pNext { @@ -78030,7 +78049,7 @@ func memjrnlFreeChunks(tls *libc.TLS, pFirst uintptr) { /* sqlite3.c:99835:13: * } // Flush the contents of memory to a real file on disk. -func memjrnlCreateFile(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:99847:12: */ +func memjrnlCreateFile(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:99860:12: */ var rc int32 var pReal uintptr = p var copy = *(*MemJournal)(unsafe.Pointer(p)) @@ -78068,7 +78087,7 @@ func memjrnlCreateFile(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:99847:12: } // Write data to the file. -func memjrnlWrite(tls *libc.TLS, pJfd uintptr, zBuf uintptr, iAmt int32, iOfst Sqlite_int64) int32 { /* sqlite3.c:99889:12: */ +func memjrnlWrite(tls *libc.TLS, pJfd uintptr, zBuf uintptr, iAmt int32, iOfst Sqlite_int64) int32 { /* sqlite3.c:99902:12: */ var p uintptr = pJfd var nWrite int32 = iAmt var zWrite uintptr = zBuf @@ -78134,7 +78153,7 @@ func memjrnlWrite(tls *libc.TLS, pJfd uintptr, zBuf uintptr, iAmt int32, iOfst S } // Truncate the in-memory file. -func memjrnlTruncate(tls *libc.TLS, pJfd uintptr, size Sqlite_int64) int32 { /* sqlite3.c:99962:12: */ +func memjrnlTruncate(tls *libc.TLS, pJfd uintptr, size Sqlite_int64) int32 { /* sqlite3.c:99975:12: */ var p uintptr = pJfd if size < (*MemJournal)(unsafe.Pointer(p)).Fendpoint.FiOffset { @@ -78162,7 +78181,7 @@ func memjrnlTruncate(tls *libc.TLS, pJfd uintptr, size Sqlite_int64) int32 { /* } // Close the file. -func memjrnlClose(tls *libc.TLS, pJfd uintptr) int32 { /* sqlite3.c:99992:12: */ +func memjrnlClose(tls *libc.TLS, pJfd uintptr) int32 { /* sqlite3.c:100005:12: */ var p uintptr = pJfd memjrnlFreeChunks(tls, (*MemJournal)(unsafe.Pointer(p)).FpFirst) return SQLITE_OK @@ -78172,14 +78191,14 @@ func memjrnlClose(tls *libc.TLS, pJfd uintptr) int32 { /* sqlite3.c:99992:12: */ // // If the real file has been created, call its xSync method. Otherwise, // syncing an in-memory journal is a no-op. -func memjrnlSync(tls *libc.TLS, pJfd uintptr, flags int32) int32 { /* sqlite3.c:100004:12: */ +func memjrnlSync(tls *libc.TLS, pJfd uintptr, flags int32) int32 { /* sqlite3.c:100017:12: */ _ = pJfd _ = flags return SQLITE_OK } // Query the size of the file in bytes. -func memjrnlFileSize(tls *libc.TLS, pJfd uintptr, pSize uintptr) int32 { /* sqlite3.c:100012:12: */ +func memjrnlFileSize(tls *libc.TLS, pJfd uintptr, pSize uintptr) int32 { /* sqlite3.c:100025:12: */ var p uintptr = pJfd *(*Sqlite_int64)(unsafe.Pointer(pSize)) = (*MemJournal)(unsafe.Pointer(p)).Fendpoint.FiOffset return SQLITE_OK @@ -78194,7 +78213,7 @@ var sMemJournalMethods = sqlite3_io_methods{ FxTruncate: 0, // xTruncate FxSync: 0, // xSync FxFileSize: 0, // xUnfetch -} /* sqlite3.c:100021:40 */ +} /* sqlite3.c:100034:40 */ // Open a journal file. // @@ -78206,7 +78225,7 @@ var sMemJournalMethods = sqlite3_io_methods{ // but may be flushed to disk later on. In this case the journal file is // flushed to disk either when it grows larger than nSpill bytes in size, // or when sqlite3JournalCreate() is called. -func Xsqlite3JournalOpen(tls *libc.TLS, pVfs uintptr, zName uintptr, pJfd uintptr, flags int32, nSpill int32) int32 { /* sqlite3.c:100055:20: */ +func Xsqlite3JournalOpen(tls *libc.TLS, pVfs uintptr, zName uintptr, pJfd uintptr, flags int32, nSpill int32) int32 { /* sqlite3.c:100068:20: */ var p uintptr = pJfd // Zero the file-handle object. If nSpill was passed zero, initialize @@ -78234,20 +78253,20 @@ func Xsqlite3JournalOpen(tls *libc.TLS, pVfs uintptr, zName uintptr, pJfd uintpt } // Open an in-memory journal file. -func Xsqlite3MemJournalOpen(tls *libc.TLS, pJfd uintptr) { /* sqlite3.c:100091:21: */ +func Xsqlite3MemJournalOpen(tls *libc.TLS, pJfd uintptr) { /* sqlite3.c:100104:21: */ Xsqlite3JournalOpen(tls, uintptr(0), uintptr(0), pJfd, 0, -1) } // The file-handle passed as the only argument is open on a journal file. // Return true if this "journal file" is currently stored in heap memory, // or false otherwise. -func Xsqlite3JournalIsInMemory(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:100130:20: */ +func Xsqlite3JournalIsInMemory(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:100143:20: */ return libc.Bool32((*Sqlite3_file)(unsafe.Pointer(p)).FpMethods == uintptr(unsafe.Pointer(&sMemJournalMethods))) } // Return the number of bytes required to store a JournalFile that uses vfs // pVfs to create the underlying on-disk files. -func Xsqlite3JournalSize(tls *libc.TLS, pVfs uintptr) int32 { /* sqlite3.c:100138:20: */ +func Xsqlite3JournalSize(tls *libc.TLS, pVfs uintptr) int32 { /* sqlite3.c:100151:20: */ return func() int32 { if (*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FszOsFile > int32(unsafe.Sizeof(MemJournal{})) { return (*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FszOsFile @@ -78276,7 +78295,7 @@ func Xsqlite3JournalSize(tls *libc.TLS, pVfs uintptr) int32 { /* sqlite3.c:10013 // Walk all expressions linked into the list of Window objects passed // as the second argument. -func walkWindowList(tls *libc.TLS, pWalker uintptr, pList uintptr, bOneOnly int32) int32 { /* sqlite3.c:100168:12: */ +func walkWindowList(tls *libc.TLS, pWalker uintptr, pList uintptr, bOneOnly int32) int32 { /* sqlite3.c:100181:12: */ var pWin uintptr for pWin = pList; pWin != 0; pWin = (*Window)(unsafe.Pointer(pWin)).FpNextWin { var rc int32 @@ -78324,7 +78343,7 @@ func walkWindowList(tls *libc.TLS, pWalker uintptr, pList uintptr, bOneOnly int3 // // The return value from this routine is WRC_Abort to abandon the tree walk // and WRC_Continue to continue. -func walkExpr(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:100207:28: */ +func walkExpr(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:100220:28: */ var rc int32 for 1 != 0 { @@ -78366,7 +78385,7 @@ func walkExpr(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3. return WRC_Continue } -func Xsqlite3WalkExpr(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:100239:20: */ +func Xsqlite3WalkExpr(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:100252:20: */ if pExpr != 0 { return walkExpr(tls, pWalker, pExpr) } @@ -78375,7 +78394,7 @@ func Xsqlite3WalkExpr(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* // Call sqlite3WalkExpr() for every expression in list p or until // an abort request is seen. -func Xsqlite3WalkExprList(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sqlite3.c:100247:20: */ +func Xsqlite3WalkExprList(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sqlite3.c:100260:20: */ var i int32 var pItem uintptr if p != 0 { @@ -78404,7 +78423,7 @@ func Xsqlite3WalkExprList(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* // This is a no-op callback for Walker->xSelectCallback2. If this // callback is set, then the Select->pWinDefn list is traversed. -func Xsqlite3WalkWinDefnDummyCallback(tls *libc.TLS, pWalker uintptr, p uintptr) { /* sqlite3.c:100262:21: */ +func Xsqlite3WalkWinDefnDummyCallback(tls *libc.TLS, pWalker uintptr, p uintptr) { /* sqlite3.c:100275:21: */ _ = pWalker _ = p // No-op @@ -78414,7 +78433,7 @@ func Xsqlite3WalkWinDefnDummyCallback(tls *libc.TLS, pWalker uintptr, p uintptr) // not invoke the SELECT callback on p, but do (of course) invoke // any expr callbacks and SELECT callbacks that come from subqueries. // Return WRC_Abort or WRC_Continue. -func Xsqlite3WalkSelectExpr(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sqlite3.c:100274:20: */ +func Xsqlite3WalkSelectExpr(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sqlite3.c:100287:20: */ if Xsqlite3WalkExprList(tls, pWalker, (*Select)(unsafe.Pointer(p)).FpEList) != 0 { return WRC_Abort } @@ -78456,7 +78475,7 @@ func Xsqlite3WalkSelectExpr(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { / // callback on p, but do invoke it on each FROM clause subquery // and on any subqueries further down in the tree. Return // WRC_Abort or WRC_Continue; -func Xsqlite3WalkSelectFrom(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sqlite3.c:100307:20: */ +func Xsqlite3WalkSelectFrom(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sqlite3.c:100320:20: */ var pSrc uintptr var i int32 var pItem uintptr @@ -78505,7 +78524,7 @@ func Xsqlite3WalkSelectFrom(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { / // // If the Walker does not have an xSelectCallback() then this routine // is a no-op returning WRC_Continue. -func Xsqlite3WalkSelect(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sqlite3.c:100345:20: */ +func Xsqlite3WalkSelect(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sqlite3.c:100358:20: */ var rc int32 if p == uintptr(0) { return WRC_Continue @@ -78536,13 +78555,13 @@ func Xsqlite3WalkSelect(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sq // Increase the walkerDepth when entering a subquery, and // descrease when leaving the subquery. -func Xsqlite3WalkerDepthIncrease(tls *libc.TLS, pWalker uintptr, pSelect uintptr) int32 { /* sqlite3.c:100368:20: */ +func Xsqlite3WalkerDepthIncrease(tls *libc.TLS, pWalker uintptr, pSelect uintptr) int32 { /* sqlite3.c:100381:20: */ _ = pSelect (*Walker)(unsafe.Pointer(pWalker)).FwalkerDepth++ return WRC_Continue } -func Xsqlite3WalkerDepthDecrease(tls *libc.TLS, pWalker uintptr, pSelect uintptr) { /* sqlite3.c:100373:21: */ +func Xsqlite3WalkerDepthDecrease(tls *libc.TLS, pWalker uintptr, pSelect uintptr) { /* sqlite3.c:100386:21: */ _ = pSelect (*Walker)(unsafe.Pointer(pWalker)).FwalkerDepth-- } @@ -78554,7 +78573,7 @@ func Xsqlite3WalkerDepthDecrease(tls *libc.TLS, pWalker uintptr, pSelect uintptr // when this routine is used for Walker.xExprCallback then // Walker.xSelectCallback is set to do something useful for every // subquery in the parser tree. -func Xsqlite3ExprWalkNoop(tls *libc.TLS, NotUsed uintptr, NotUsed2 uintptr) int32 { /* sqlite3.c:100388:20: */ +func Xsqlite3ExprWalkNoop(tls *libc.TLS, NotUsed uintptr, NotUsed2 uintptr) int32 { /* sqlite3.c:100401:20: */ _ = NotUsed _ = NotUsed2 return WRC_Continue @@ -78562,7 +78581,7 @@ func Xsqlite3ExprWalkNoop(tls *libc.TLS, NotUsed uintptr, NotUsed2 uintptr) int3 // No-op routine for the parse-tree walker for SELECT statements. // subquery in the parser tree. -func Xsqlite3SelectWalkNoop(tls *libc.TLS, NotUsed uintptr, NotUsed2 uintptr) int32 { /* sqlite3.c:100397:20: */ +func Xsqlite3SelectWalkNoop(tls *libc.TLS, NotUsed uintptr, NotUsed2 uintptr) int32 { /* sqlite3.c:100410:20: */ _ = NotUsed _ = NotUsed2 return WRC_Continue @@ -78597,14 +78616,14 @@ func Xsqlite3SelectWalkNoop(tls *libc.TLS, NotUsed uintptr, NotUsed2 uintptr) in // is a helper function - a callback for the tree walker. // // See also the sqlite3WindowExtraAggFuncDepth() routine in window.c -func incrAggDepth(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:100438:12: */ +func incrAggDepth(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:100451:12: */ if int32((*Expr)(unsafe.Pointer(pExpr)).Fop) == TK_AGG_FUNCTION { *(*U8)(unsafe.Pointer(pExpr + 2)) += U8(*(*int32)(unsafe.Pointer(pWalker + 40))) } return WRC_Continue } -func incrAggFunctionDepth(tls *libc.TLS, pExpr uintptr, N int32) { /* sqlite3.c:100442:13: */ +func incrAggFunctionDepth(tls *libc.TLS, pExpr uintptr, N int32) { /* sqlite3.c:100455:13: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -78637,7 +78656,7 @@ func incrAggFunctionDepth(tls *libc.TLS, pExpr uintptr, N int32) { /* sqlite3.c: // zero but it might be more if the alias is contained within a subquery // of the original expression. The Expr.op2 field of TK_AGG_FUNCTION // structures must be increased by the nSubquery amount. -func resolveAlias(tls *libc.TLS, pParse uintptr, pEList uintptr, iCol int32, pExpr uintptr, nSubquery int32) { /* sqlite3.c:100471:13: */ +func resolveAlias(tls *libc.TLS, pParse uintptr, pEList uintptr, iCol int32, pExpr uintptr, nSubquery int32) { /* sqlite3.c:100484:13: */ var pOrig uintptr // The iCol-th column of the result set var pDup uintptr // Copy of pOrig var db uintptr // The database connection @@ -78683,7 +78702,7 @@ func resolveAlias(tls *libc.TLS, pParse uintptr, pEList uintptr, iCol int32, pEx // // Return FALSE if the USING clause is NULL or if it does not contain // zCol. -func nameInUsingClause(tls *libc.TLS, pUsing uintptr, zCol uintptr) int32 { /* sqlite3.c:100528:12: */ +func nameInUsingClause(tls *libc.TLS, pUsing uintptr, zCol uintptr) int32 { /* sqlite3.c:100541:12: */ if pUsing != 0 { var k int32 for k = 0; k < (*IdList)(unsafe.Pointer(pUsing)).FnId; k++ { @@ -78700,7 +78719,7 @@ func nameInUsingClause(tls *libc.TLS, pUsing uintptr, zCol uintptr) int32 { /* s // Check to see if the zSpan given to this routine matches the zDb, zTab, // and zCol. If any of zDb, zTab, and zCol are NULL then those fields will // match anything. -func Xsqlite3MatchEName(tls *libc.TLS, pItem uintptr, zCol uintptr, zTab uintptr, zDb uintptr) int32 { /* sqlite3.c:100545:20: */ +func Xsqlite3MatchEName(tls *libc.TLS, pItem uintptr, zCol uintptr, zTab uintptr, zDb uintptr) int32 { /* sqlite3.c:100558:20: */ var n int32 var zSpan uintptr if int32(*(*uint8)(unsafe.Pointer(pItem + 20))&0x3>>0) != ENAME_TAB { @@ -78726,7 +78745,7 @@ func Xsqlite3MatchEName(tls *libc.TLS, pItem uintptr, zCol uintptr, zTab uintptr } // Return TRUE if the double-quoted string mis-feature should be supported. -func areDoubleQuotedStringsEnabled(tls *libc.TLS, db uintptr, pTopNC uintptr) int32 { /* sqlite3.c:100574:12: */ +func areDoubleQuotedStringsEnabled(tls *libc.TLS, db uintptr, pTopNC uintptr) int32 { /* sqlite3.c:100587:12: */ if (*Sqlite3)(unsafe.Pointer(db)).Finit.Fbusy != 0 { return 1 } // Always support for legacy schemas @@ -78745,7 +78764,7 @@ func areDoubleQuotedStringsEnabled(tls *libc.TLS, db uintptr, pTopNC uintptr) in // The argument is guaranteed to be a non-NULL Expr node of type TK_COLUMN. // return the appropriate colUsed mask. -func Xsqlite3ExprColUsed(tls *libc.TLS, pExpr uintptr) Bitmask { /* sqlite3.c:100592:24: */ +func Xsqlite3ExprColUsed(tls *libc.TLS, pExpr uintptr) Bitmask { /* sqlite3.c:100605:24: */ var n int32 var pExTab uintptr @@ -78795,7 +78814,7 @@ func Xsqlite3ExprColUsed(tls *libc.TLS, pExpr uintptr) Bitmask { /* sqlite3.c:10 // // If the name cannot be resolved unambiguously, leave an error message // in pParse and return WRC_Abort. Return WRC_Prune on success. -func lookupName(tls *libc.TLS, pParse uintptr, zDb uintptr, zTab uintptr, zCol uintptr, pNC uintptr, pExpr uintptr) int32 { /* sqlite3.c:100641:12: */ +func lookupName(tls *libc.TLS, pParse uintptr, zDb uintptr, zTab uintptr, zCol uintptr, pNC uintptr, pExpr uintptr) int32 { /* sqlite3.c:100654:12: */ bp := tls.Alloc(96) defer tls.Free(96) @@ -79510,7 +79529,7 @@ __88: // Allocate and return a pointer to an expression to load the column iCol // from datasource iSrc in SrcList pSrc. -func Xsqlite3CreateColumnExpr(tls *libc.TLS, db uintptr, pSrc uintptr, iSrc int32, iCol int32) uintptr { /* sqlite3.c:101087:21: */ +func Xsqlite3CreateColumnExpr(tls *libc.TLS, db uintptr, pSrc uintptr, iSrc int32, iCol int32) uintptr { /* sqlite3.c:101100:21: */ var p uintptr = Xsqlite3ExprAlloc(tls, db, TK_COLUMN, uintptr(0), 0) if p != 0 { var pItem uintptr = pSrc + 8 + uintptr(iSrc)*112 @@ -79559,7 +79578,7 @@ func Xsqlite3CreateColumnExpr(tls *libc.TLS, db uintptr, pSrc uintptr, iSrc int3 // As an optimization, since the conditional is almost always false // (because errors are rare), the conditional is moved outside of the // function call using a macro. -func notValidImpl(tls *libc.TLS, pParse uintptr, pNC uintptr, zMsg uintptr, pExpr uintptr, pError uintptr) { /* sqlite3.c:101131:13: */ +func notValidImpl(tls *libc.TLS, pParse uintptr, pNC uintptr, zMsg uintptr, pExpr uintptr, pError uintptr) { /* sqlite3.c:101144:13: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -79581,7 +79600,7 @@ func notValidImpl(tls *libc.TLS, pParse uintptr, pNC uintptr, zMsg uintptr, pExp // Expression p should encode a floating point value between 1.0 and 0.0. // Return 1024 times this value. Or return -1 if p is not a floating point // value between 1.0 and 0.0. -func exprProbability(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:101159:12: */ +func exprProbability(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:101172:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -79607,7 +79626,7 @@ func exprProbability(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:101159:12: * // This routine also does error checking and name resolution for // function names. The operator for aggregate functions is changed // to TK_AGG_FUNCTION. -func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:101180:12: */ +func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:101193:12: */ bp := tls.Alloc(96) defer tls.Free(96) @@ -80089,7 +80108,7 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* s // return 0. // // pEList has been resolved. pE has not. -func resolveAsName(tls *libc.TLS, pParse uintptr, pEList uintptr, pE uintptr) int32 { /* sqlite3.c:101638:12: */ +func resolveAsName(tls *libc.TLS, pParse uintptr, pEList uintptr, pE uintptr) int32 { /* sqlite3.c:101651:12: */ var i int32 // Loop counter _ = pParse @@ -80124,7 +80143,7 @@ func resolveAsName(tls *libc.TLS, pParse uintptr, pEList uintptr, pE uintptr) in // the column. // // If there is no match, return 0. Return -1 if an error occurs. -func resolveOrderByTermToExprList(tls *libc.TLS, pParse uintptr, pSelect uintptr, pE uintptr) int32 { /* sqlite3.c:101680:12: */ +func resolveOrderByTermToExprList(tls *libc.TLS, pParse uintptr, pSelect uintptr, pE uintptr) int32 { /* sqlite3.c:101693:12: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -80168,7 +80187,7 @@ func resolveOrderByTermToExprList(tls *libc.TLS, pParse uintptr, pSelect uintptr } // Generate an ORDER BY or GROUP BY term out-of-range error. -func resolveOutOfRangeError(tls *libc.TLS, pParse uintptr, zType uintptr, i int32, mx int32, pError uintptr) { /* sqlite3.c:101727:13: */ +func resolveOutOfRangeError(tls *libc.TLS, pParse uintptr, zType uintptr, i int32, mx int32, pError uintptr) { /* sqlite3.c:101740:13: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -80191,7 +80210,7 @@ func resolveOutOfRangeError(tls *libc.TLS, pParse uintptr, zType uintptr, i int3 // the integer column number. // // Return the number of errors seen. -func resolveCompoundOrderBy(tls *libc.TLS, pParse uintptr, pSelect uintptr) int32 { /* sqlite3.c:101755:12: */ +func resolveCompoundOrderBy(tls *libc.TLS, pParse uintptr, pSelect uintptr) int32 { /* sqlite3.c:101768:12: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -80328,7 +80347,7 @@ func resolveCompoundOrderBy(tls *libc.TLS, pParse uintptr, pSelect uintptr) int3 // // If any errors are detected, add an error message to pParse and // return non-zero. Return zero if no errors are seen. -func Xsqlite3ResolveOrderGroupBy(tls *libc.TLS, pParse uintptr, pSelect uintptr, pOrderBy uintptr, zType uintptr) int32 { /* sqlite3.c:101868:20: */ +func Xsqlite3ResolveOrderGroupBy(tls *libc.TLS, pParse uintptr, pSelect uintptr, pOrderBy uintptr, zType uintptr) int32 { /* sqlite3.c:101881:20: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -80374,7 +80393,7 @@ __3: } // Walker callback for windowRemoveExprFromSelect(). -func resolveRemoveWindowsCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:101902:12: */ +func resolveRemoveWindowsCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:101915:12: */ _ = pWalker if (*Expr)(unsafe.Pointer(pExpr)).Fflags&U32(EP_WinFunc) != U32(0) { var pWin uintptr = *(*uintptr)(unsafe.Pointer(pExpr + 64)) @@ -80385,7 +80404,7 @@ func resolveRemoveWindowsCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 // Remove any Window objects owned by the expression pExpr from the // Select.pWin list of Select object pSelect. -func windowRemoveExprFromSelect(tls *libc.TLS, pSelect uintptr, pExpr uintptr) { /* sqlite3.c:101915:13: */ +func windowRemoveExprFromSelect(tls *libc.TLS, pSelect uintptr, pExpr uintptr) { /* sqlite3.c:101928:13: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -80417,7 +80436,7 @@ func windowRemoveExprFromSelect(tls *libc.TLS, pSelect uintptr, pExpr uintptr) { // This routine returns the number of errors. If errors occur, then // an appropriate error message might be left in pParse. (OOM errors // excepted.) -func resolveOrderGroupBy(tls *libc.TLS, pNC uintptr, pSelect uintptr, pOrderBy uintptr, zType uintptr) int32 { /* sqlite3.c:101946:12: */ +func resolveOrderGroupBy(tls *libc.TLS, pNC uintptr, pSelect uintptr, pOrderBy uintptr, zType uintptr) int32 { /* sqlite3.c:101959:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -80494,7 +80513,7 @@ __3: } // Resolve names in the SELECT statement p and all of its descendants. -func resolveSelectStep(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sqlite3.c:102009:12: */ +func resolveSelectStep(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sqlite3.c:102022:12: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -80793,7 +80812,7 @@ func resolveSelectStep(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sql // // An error message is left in pParse if anything is amiss. The number // if errors is returned. -func Xsqlite3ResolveExprNames(tls *libc.TLS, pNC uintptr, pExpr uintptr) int32 { /* sqlite3.c:102297:20: */ +func Xsqlite3ResolveExprNames(tls *libc.TLS, pNC uintptr, pExpr uintptr) int32 { /* sqlite3.c:102310:20: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -80834,7 +80853,7 @@ func Xsqlite3ResolveExprNames(tls *libc.TLS, pNC uintptr, pExpr uintptr) int32 { // Resolve all names for all expression in an expression list. This is // just like sqlite3ResolveExprNames() except that it works for an expression // list rather than a single expression. -func Xsqlite3ResolveExprListNames(tls *libc.TLS, pNC uintptr, pList uintptr) int32 { /* sqlite3.c:102336:20: */ +func Xsqlite3ResolveExprListNames(tls *libc.TLS, pNC uintptr, pList uintptr) int32 { /* sqlite3.c:102349:20: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -80891,7 +80910,7 @@ func Xsqlite3ResolveExprListNames(tls *libc.TLS, pNC uintptr, pList uintptr) int // // All SELECT statements should have been expanded using // sqlite3SelectExpand() prior to invoking this routine. -func Xsqlite3ResolveSelectNames(tls *libc.TLS, pParse uintptr, p uintptr, pOuterNC uintptr) { /* sqlite3.c:102392:21: */ +func Xsqlite3ResolveSelectNames(tls *libc.TLS, pParse uintptr, p uintptr, pOuterNC uintptr) { /* sqlite3.c:102405:21: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -80925,7 +80944,7 @@ func Xsqlite3ResolveSelectNames(tls *libc.TLS, pParse uintptr, p uintptr, pOuter // set to the column number. In case (4), TK_COLUMN nodes cause an error. // // Any errors cause an error message to be set in pParse. -func Xsqlite3ResolveSelfReference(tls *libc.TLS, pParse uintptr, pTab uintptr, type1 int32, pExpr uintptr, pList uintptr) int32 { /* sqlite3.c:102426:20: */ +func Xsqlite3ResolveSelfReference(tls *libc.TLS, pParse uintptr, pTab uintptr, type1 int32, pExpr uintptr, pList uintptr) int32 { /* sqlite3.c:102439:20: */ bp := tls.Alloc(176) defer tls.Free(176) @@ -80961,7 +80980,7 @@ func Xsqlite3ResolveSelfReference(tls *libc.TLS, pParse uintptr, pTab uintptr, t } // Return the affinity character for a single column of a table. -func Xsqlite3TableColumnAffinity(tls *libc.TLS, pTab uintptr, iCol int32) int8 { /* sqlite3.c:102486:21: */ +func Xsqlite3TableColumnAffinity(tls *libc.TLS, pTab uintptr, iCol int32) int8 { /* sqlite3.c:102499:21: */ if iCol < 0 || iCol >= int32((*Table)(unsafe.Pointer(pTab)).FnCol) { return int8(SQLITE_AFF_INTEGER) } @@ -80982,7 +81001,7 @@ func Xsqlite3TableColumnAffinity(tls *libc.TLS, pTab uintptr, iCol int32) int8 { // SELECT * FROM t1 WHERE a; // SELECT a AS b FROM t1 WHERE b; // SELECT * FROM t1 WHERE (select a from t1); -func Xsqlite3ExprAffinity(tls *libc.TLS, pExpr uintptr) int8 { /* sqlite3.c:102507:21: */ +func Xsqlite3ExprAffinity(tls *libc.TLS, pExpr uintptr) int8 { /* sqlite3.c:102520:21: */ var op int32 for (*Expr)(unsafe.Pointer(pExpr)).Fflags&U32(EP_Skip|EP_IfNullRow) != U32(0) { @@ -81025,7 +81044,7 @@ func Xsqlite3ExprAffinity(tls *libc.TLS, pExpr uintptr) int8 { /* sqlite3.c:1025 // // If a memory allocation error occurs, that fact is recorded in pParse->db // and the pExpr parameter is returned unchanged. -func Xsqlite3ExprAddCollateToken(tls *libc.TLS, pParse uintptr, pExpr uintptr, pCollName uintptr, dequote int32) uintptr { /* sqlite3.c:102560:21: */ +func Xsqlite3ExprAddCollateToken(tls *libc.TLS, pParse uintptr, pExpr uintptr, pCollName uintptr, dequote int32) uintptr { /* sqlite3.c:102573:21: */ if (*Token)(unsafe.Pointer(pCollName)).Fn > uint32(0) { var pNew uintptr = Xsqlite3ExprAlloc(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, TK_COLLATE, pCollName, dequote) if pNew != 0 { @@ -81037,7 +81056,7 @@ func Xsqlite3ExprAddCollateToken(tls *libc.TLS, pParse uintptr, pExpr uintptr, p return pExpr } -func Xsqlite3ExprAddCollateString(tls *libc.TLS, pParse uintptr, pExpr uintptr, zC uintptr) uintptr { /* sqlite3.c:102576:21: */ +func Xsqlite3ExprAddCollateString(tls *libc.TLS, pParse uintptr, pExpr uintptr, zC uintptr) uintptr { /* sqlite3.c:102589:21: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -81048,7 +81067,7 @@ func Xsqlite3ExprAddCollateString(tls *libc.TLS, pParse uintptr, pExpr uintptr, } // Skip over any TK_COLLATE operators. -func Xsqlite3ExprSkipCollate(tls *libc.TLS, pExpr uintptr) uintptr { /* sqlite3.c:102590:21: */ +func Xsqlite3ExprSkipCollate(tls *libc.TLS, pExpr uintptr) uintptr { /* sqlite3.c:102603:21: */ for pExpr != 0 && (*Expr)(unsafe.Pointer(pExpr)).Fflags&U32(EP_Skip) != U32(0) { pExpr = (*Expr)(unsafe.Pointer(pExpr)).FpLeft @@ -81059,7 +81078,7 @@ func Xsqlite3ExprSkipCollate(tls *libc.TLS, pExpr uintptr) uintptr { /* sqlite3. // Skip over any TK_COLLATE operators and/or any unlikely() // or likelihood() or likely() functions at the root of an // expression. -func Xsqlite3ExprSkipCollateAndLikely(tls *libc.TLS, pExpr uintptr) uintptr { /* sqlite3.c:102603:21: */ +func Xsqlite3ExprSkipCollateAndLikely(tls *libc.TLS, pExpr uintptr) uintptr { /* sqlite3.c:102616:21: */ for pExpr != 0 && (*Expr)(unsafe.Pointer(pExpr)).Fflags&U32(EP_Skip|EP_Unlikely) != U32(0) { if (*Expr)(unsafe.Pointer(pExpr)).Fflags&U32(EP_Unlikely) != U32(0) { @@ -81084,7 +81103,7 @@ func Xsqlite3ExprSkipCollateAndLikely(tls *libc.TLS, pExpr uintptr) uintptr { /* // or by the presence of a column with a defined collating sequence. // COLLATE operators take first precedence. Left operands take // precedence over right operands. -func Xsqlite3ExprCollSeq(tls *libc.TLS, pParse uintptr, pExpr uintptr) uintptr { /* sqlite3.c:102632:24: */ +func Xsqlite3ExprCollSeq(tls *libc.TLS, pParse uintptr, pExpr uintptr) uintptr { /* sqlite3.c:102645:24: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb var pColl uintptr = uintptr(0) var p uintptr = pExpr @@ -81156,7 +81175,7 @@ func Xsqlite3ExprCollSeq(tls *libc.TLS, pParse uintptr, pExpr uintptr) uintptr { // // The sqlite3ExprCollSeq() routine works the same except that it // returns NULL if there is no defined collation. -func Xsqlite3ExprNNCollSeq(tls *libc.TLS, pParse uintptr, pExpr uintptr) uintptr { /* sqlite3.c:102705:24: */ +func Xsqlite3ExprNNCollSeq(tls *libc.TLS, pParse uintptr, pExpr uintptr) uintptr { /* sqlite3.c:102718:24: */ var p uintptr = Xsqlite3ExprCollSeq(tls, pParse, pExpr) if p == uintptr(0) { p = (*Sqlite3)(unsafe.Pointer((*Parse)(unsafe.Pointer(pParse)).Fdb)).FpDfltColl @@ -81166,7 +81185,7 @@ func Xsqlite3ExprNNCollSeq(tls *libc.TLS, pParse uintptr, pExpr uintptr) uintptr } // Return TRUE if the two expressions have equivalent collating sequences. -func Xsqlite3ExprCollSeqMatch(tls *libc.TLS, pParse uintptr, pE1 uintptr, pE2 uintptr) int32 { /* sqlite3.c:102715:20: */ +func Xsqlite3ExprCollSeqMatch(tls *libc.TLS, pParse uintptr, pE1 uintptr, pE2 uintptr) int32 { /* sqlite3.c:102728:20: */ var pColl1 uintptr = Xsqlite3ExprNNCollSeq(tls, pParse, pE1) var pColl2 uintptr = Xsqlite3ExprNNCollSeq(tls, pParse, pE2) return libc.Bool32(Xsqlite3StrICmp(tls, (*CollSeq)(unsafe.Pointer(pColl1)).FzName, (*CollSeq)(unsafe.Pointer(pColl2)).FzName) == 0) @@ -81175,7 +81194,7 @@ func Xsqlite3ExprCollSeqMatch(tls *libc.TLS, pParse uintptr, pE1 uintptr, pE2 ui // pExpr is an operand of a comparison operator. aff2 is the // type affinity of the other operand. This routine returns the // type affinity that should be used for the comparison operator. -func Xsqlite3CompareAffinity(tls *libc.TLS, pExpr uintptr, aff2 int8) int8 { /* sqlite3.c:102726:21: */ +func Xsqlite3CompareAffinity(tls *libc.TLS, pExpr uintptr, aff2 int8) int8 { /* sqlite3.c:102739:21: */ var aff1 int8 = Xsqlite3ExprAffinity(tls, pExpr) if int32(aff1) > SQLITE_AFF_NONE && int32(aff2) > SQLITE_AFF_NONE { // Both sides of the comparison are columns. If one has numeric @@ -81200,7 +81219,7 @@ func Xsqlite3CompareAffinity(tls *libc.TLS, pExpr uintptr, aff2 int8) int8 { /* // pExpr is a comparison operator. Return the type affinity that should // be applied to both operands prior to doing the comparison. -func comparisonAffinity(tls *libc.TLS, pExpr uintptr) int8 { /* sqlite3.c:102748:13: */ +func comparisonAffinity(tls *libc.TLS, pExpr uintptr) int8 { /* sqlite3.c:102761:13: */ var aff int8 aff = Xsqlite3ExprAffinity(tls, (*Expr)(unsafe.Pointer(pExpr)).FpLeft) @@ -81218,7 +81237,7 @@ func comparisonAffinity(tls *libc.TLS, pExpr uintptr) int8 { /* sqlite3.c:102748 // idx_affinity is the affinity of an indexed column. Return true // if the index with affinity idx_affinity may be used to implement // the comparison in pExpr. -func Xsqlite3IndexAffinityOk(tls *libc.TLS, pExpr uintptr, idx_affinity int8) int32 { /* sqlite3.c:102771:20: */ +func Xsqlite3IndexAffinityOk(tls *libc.TLS, pExpr uintptr, idx_affinity int8) int32 { /* sqlite3.c:102784:20: */ var aff int8 = comparisonAffinity(tls, pExpr) if int32(aff) < SQLITE_AFF_TEXT { return 1 @@ -81231,7 +81250,7 @@ func Xsqlite3IndexAffinityOk(tls *libc.TLS, pExpr uintptr, idx_affinity int8) in // Return the P5 value that should be used for a binary comparison // opcode (OP_Eq, OP_Ge etc.) used to compare pExpr1 and pExpr2. -func binaryCompareP5(tls *libc.TLS, pExpr1 uintptr, pExpr2 uintptr, jumpIfNull int32) U8 { /* sqlite3.c:102786:11: */ +func binaryCompareP5(tls *libc.TLS, pExpr1 uintptr, pExpr2 uintptr, jumpIfNull int32) U8 { /* sqlite3.c:102799:11: */ var aff U8 = U8(Xsqlite3ExprAffinity(tls, pExpr2)) aff = U8(int32(U8(Xsqlite3CompareAffinity(tls, pExpr1, int8(aff)))) | int32(U8(jumpIfNull))) return aff @@ -81247,7 +81266,7 @@ func binaryCompareP5(tls *libc.TLS, pExpr1 uintptr, pExpr2 uintptr, jumpIfNull i // // Argument pRight (but not pLeft) may be a null pointer. In this case, // it is not considered. -func Xsqlite3BinaryCompareCollSeq(tls *libc.TLS, pParse uintptr, pLeft uintptr, pRight uintptr) uintptr { /* sqlite3.c:102808:24: */ +func Xsqlite3BinaryCompareCollSeq(tls *libc.TLS, pParse uintptr, pLeft uintptr, pRight uintptr) uintptr { /* sqlite3.c:102821:24: */ var pColl uintptr if (*Expr)(unsafe.Pointer(pLeft)).Fflags&U32(EP_Collate) != 0 { @@ -81270,7 +81289,7 @@ func Xsqlite3BinaryCompareCollSeq(tls *libc.TLS, pParse uintptr, pLeft uintptr, // However, if the OP_Commuted flag is set, then the order of the operands // is reversed in the sqlite3BinaryCompareCollSeq() call so that the // correct collating sequence is found. -func Xsqlite3ExprCompareCollSeq(tls *libc.TLS, pParse uintptr, p uintptr) uintptr { /* sqlite3.c:102836:24: */ +func Xsqlite3ExprCompareCollSeq(tls *libc.TLS, pParse uintptr, p uintptr) uintptr { /* sqlite3.c:102849:24: */ if (*Expr)(unsafe.Pointer(p)).Fflags&U32(EP_Commuted) != U32(0) { return Xsqlite3BinaryCompareCollSeq(tls, pParse, (*Expr)(unsafe.Pointer(p)).FpRight, (*Expr)(unsafe.Pointer(p)).FpLeft) } else { @@ -81280,7 +81299,7 @@ func Xsqlite3ExprCompareCollSeq(tls *libc.TLS, pParse uintptr, p uintptr) uintpt } // Generate code for a comparison operator. -func codeCompare(tls *libc.TLS, pParse uintptr, pLeft uintptr, pRight uintptr, opcode int32, in1 int32, in2 int32, dest int32, jumpIfNull int32, isCommuted int32) int32 { /* sqlite3.c:102847:12: */ +func codeCompare(tls *libc.TLS, pParse uintptr, pLeft uintptr, pRight uintptr, opcode int32, in1 int32, in2 int32, dest int32, jumpIfNull int32, isCommuted int32) int32 { /* sqlite3.c:102860:12: */ var p5 int32 var addr int32 var p4 uintptr @@ -81307,7 +81326,7 @@ func codeCompare(tls *libc.TLS, pParse uintptr, pLeft uintptr, pRight uintptr, o // parser will not generate a TK_VECTOR with fewer than two entries. // But a TK_SELECT might be either a vector or a scalar. It is only // considered a vector if it has two or more result columns. -func Xsqlite3ExprIsVector(tls *libc.TLS, pExpr uintptr) int32 { /* sqlite3.c:102883:20: */ +func Xsqlite3ExprIsVector(tls *libc.TLS, pExpr uintptr) int32 { /* sqlite3.c:102896:20: */ return libc.Bool32(Xsqlite3ExprVectorSize(tls, pExpr) > 1) } @@ -81315,7 +81334,7 @@ func Xsqlite3ExprIsVector(tls *libc.TLS, pExpr uintptr) int32 { /* sqlite3.c:102 // return the number of expressions in the vector. Or, if the expression // is a sub-select, return the number of columns in the sub-select. For // any other type of expression, return 1. -func Xsqlite3ExprVectorSize(tls *libc.TLS, pExpr uintptr) int32 { /* sqlite3.c:102893:20: */ +func Xsqlite3ExprVectorSize(tls *libc.TLS, pExpr uintptr) int32 { /* sqlite3.c:102906:20: */ var op U8 = (*Expr)(unsafe.Pointer(pExpr)).Fop if int32(op) == TK_REGISTER { op = (*Expr)(unsafe.Pointer(pExpr)).Fop2 @@ -81345,7 +81364,7 @@ func Xsqlite3ExprVectorSize(tls *libc.TLS, pExpr uintptr) int32 { /* sqlite3.c:1 // just the expression for the i-th term of the result set, and may // not be ready for evaluation because the table cursor has not yet // been positioned. -func Xsqlite3VectorFieldSubexpr(tls *libc.TLS, pVector uintptr, i int32) uintptr { /* sqlite3.c:102922:21: */ +func Xsqlite3VectorFieldSubexpr(tls *libc.TLS, pVector uintptr, i int32) uintptr { /* sqlite3.c:102935:21: */ if Xsqlite3ExprIsVector(tls, pVector) != 0 { @@ -81379,7 +81398,7 @@ func Xsqlite3VectorFieldSubexpr(tls *libc.TLS, pVector uintptr, i int32) uintptr // A trick to cause a TK_SELECT pVector to be deleted together with // the returned Expr object is to attach the pVector to the pRight field // of the returned TK_SELECT_COLUMN Expr object. -func Xsqlite3ExprForVectorField(tls *libc.TLS, pParse uintptr, pVector uintptr, iField int32, nField int32) uintptr { /* sqlite3.c:102958:21: */ +func Xsqlite3ExprForVectorField(tls *libc.TLS, pParse uintptr, pVector uintptr, iField int32, nField int32) uintptr { /* sqlite3.c:102971:21: */ var pRet uintptr if int32((*Expr)(unsafe.Pointer(pVector)).Fop) == TK_SELECT { @@ -81427,7 +81446,7 @@ func Xsqlite3ExprForVectorField(tls *libc.TLS, pParse uintptr, pVector uintptr, // of registers in which the result is stored). // // If pExpr is not a TK_SELECT expression, return 0. -func exprCodeSubselect(tls *libc.TLS, pParse uintptr, pExpr uintptr) int32 { /* sqlite3.c:103014:12: */ +func exprCodeSubselect(tls *libc.TLS, pParse uintptr, pExpr uintptr) int32 { /* sqlite3.c:103027:12: */ var reg int32 = 0 if int32((*Expr)(unsafe.Pointer(pExpr)).Fop) == TK_SELECT { reg = Xsqlite3CodeSubselect(tls, pParse, pExpr) @@ -81451,7 +81470,7 @@ func exprCodeSubselect(tls *libc.TLS, pParse uintptr, pExpr uintptr) int32 { /* // // Before returning, output parameter (*ppExpr) is set to point to the // Expr object corresponding to element iElem of the vector. -func exprVectorRegister(tls *libc.TLS, pParse uintptr, pVector uintptr, iField int32, regSelect int32, ppExpr uintptr, pRegFree uintptr) int32 { /* sqlite3.c:103042:12: */ +func exprVectorRegister(tls *libc.TLS, pParse uintptr, pVector uintptr, iField int32, regSelect int32, ppExpr uintptr, pRegFree uintptr) int32 { /* sqlite3.c:103055:12: */ var op U8 = (*Expr)(unsafe.Pointer(pVector)).Fop if int32(op) == TK_REGISTER { @@ -81480,7 +81499,7 @@ func exprVectorRegister(tls *libc.TLS, pParse uintptr, pVector uintptr, iField i // if pExpr->op==TK_IS: op==TK_EQ and p5==SQLITE_NULLEQ // if pExpr->op==TK_ISNOT: op==TK_NE and p5==SQLITE_NULLEQ // otherwise: op==pExpr->op and p5==0 -func codeVectorCompare(tls *libc.TLS, pParse uintptr, pExpr uintptr, dest int32, op U8, p5 U8) { /* sqlite3.c:103080:13: */ +func codeVectorCompare(tls *libc.TLS, pParse uintptr, pExpr uintptr, dest int32, op U8, p5 U8) { /* sqlite3.c:103093:13: */ bp := tls.Alloc(28) defer tls.Free(28) @@ -81568,7 +81587,7 @@ func codeVectorCompare(tls *libc.TLS, pParse uintptr, pExpr uintptr, dest int32, // Check that argument nHeight is less than or equal to the maximum // expression depth allowed. If it is not, leave an error message in // pParse. -func Xsqlite3ExprCheckHeight(tls *libc.TLS, pParse uintptr, nHeight int32) int32 { /* sqlite3.c:103175:20: */ +func Xsqlite3ExprCheckHeight(tls *libc.TLS, pParse uintptr, nHeight int32) int32 { /* sqlite3.c:103188:20: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -81590,7 +81609,7 @@ func Xsqlite3ExprCheckHeight(tls *libc.TLS, pParse uintptr, nHeight int32) int32 // If this maximum height is greater than the current value pointed // to by pnHeight, the second parameter, then set *pnHeight to that // value. -func heightOfExpr(tls *libc.TLS, p uintptr, pnHeight uintptr) { /* sqlite3.c:103196:13: */ +func heightOfExpr(tls *libc.TLS, p uintptr, pnHeight uintptr) { /* sqlite3.c:103209:13: */ if p != 0 { if (*Expr)(unsafe.Pointer(p)).FnHeight > *(*int32)(unsafe.Pointer(pnHeight)) { *(*int32)(unsafe.Pointer(pnHeight)) = (*Expr)(unsafe.Pointer(p)).FnHeight @@ -81598,7 +81617,7 @@ func heightOfExpr(tls *libc.TLS, p uintptr, pnHeight uintptr) { /* sqlite3.c:103 } } -func heightOfExprList(tls *libc.TLS, p uintptr, pnHeight uintptr) { /* sqlite3.c:103203:13: */ +func heightOfExprList(tls *libc.TLS, p uintptr, pnHeight uintptr) { /* sqlite3.c:103216:13: */ if p != 0 { var i int32 for i = 0; i < (*ExprList)(unsafe.Pointer(p)).FnExpr; i++ { @@ -81607,7 +81626,7 @@ func heightOfExprList(tls *libc.TLS, p uintptr, pnHeight uintptr) { /* sqlite3.c } } -func heightOfSelect(tls *libc.TLS, pSelect uintptr, pnHeight uintptr) { /* sqlite3.c:103211:13: */ +func heightOfSelect(tls *libc.TLS, pSelect uintptr, pnHeight uintptr) { /* sqlite3.c:103224:13: */ var p uintptr for p = pSelect; p != 0; p = (*Select)(unsafe.Pointer(p)).FpPrior { heightOfExpr(tls, (*Select)(unsafe.Pointer(p)).FpWhere, pnHeight) @@ -81627,7 +81646,7 @@ func heightOfSelect(tls *libc.TLS, pSelect uintptr, pnHeight uintptr) { /* sqlit // // Also propagate EP_Propagate flags up from Expr.x.pList to Expr.flags, // if appropriate. -func exprSetHeight(tls *libc.TLS, p uintptr) { /* sqlite3.c:103233:13: */ +func exprSetHeight(tls *libc.TLS, p uintptr) { /* sqlite3.c:103246:13: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -81654,7 +81673,7 @@ func exprSetHeight(tls *libc.TLS, p uintptr) { /* sqlite3.c:103233:13: */ // // Also propagate all EP_Propagate flags from the Expr.x.pList into // Expr.flags. -func Xsqlite3ExprSetHeightAndFlags(tls *libc.TLS, pParse uintptr, p uintptr) { /* sqlite3.c:103253:21: */ +func Xsqlite3ExprSetHeightAndFlags(tls *libc.TLS, pParse uintptr, p uintptr) { /* sqlite3.c:103266:21: */ if (*Parse)(unsafe.Pointer(pParse)).FnErr != 0 { return } @@ -81664,7 +81683,7 @@ func Xsqlite3ExprSetHeightAndFlags(tls *libc.TLS, pParse uintptr, p uintptr) { / // Return the maximum height of any expression tree referenced // by the select statement passed as an argument. -func Xsqlite3SelectExprHeight(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:103263:20: */ +func Xsqlite3SelectExprHeight(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:103276:20: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -81691,7 +81710,7 @@ func Xsqlite3SelectExprHeight(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:103 // stored in u.zToken. Instead, the integer values is written // into u.iValue and the EP_IntValue flag is set. No extra storage // is allocated to hold the integer text and the dequote flag is ignored. -func Xsqlite3ExprAlloc(tls *libc.TLS, db uintptr, op int32, pToken uintptr, dequote int32) uintptr { /* sqlite3.c:103302:21: */ +func Xsqlite3ExprAlloc(tls *libc.TLS, db uintptr, op int32, pToken uintptr, dequote int32) uintptr { /* sqlite3.c:103315:21: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -81739,7 +81758,7 @@ func Xsqlite3ExprAlloc(tls *libc.TLS, db uintptr, op int32, pToken uintptr, dequ // Allocate a new expression node from a zero-terminated token that has // already been dequoted. -func Xsqlite3Expr(tls *libc.TLS, db uintptr, op int32, zToken uintptr) uintptr { /* sqlite3.c:103350:21: */ +func Xsqlite3Expr(tls *libc.TLS, db uintptr, op int32, zToken uintptr) uintptr { /* sqlite3.c:103363:21: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -81754,7 +81773,7 @@ func Xsqlite3Expr(tls *libc.TLS, db uintptr, op int32, zToken uintptr) uintptr { // // If pRoot==NULL that means that a memory allocation error has occurred. // In that case, delete the subtrees pLeft and pRight. -func Xsqlite3ExprAttachSubtrees(tls *libc.TLS, db uintptr, pRoot uintptr, pLeft uintptr, pRight uintptr) { /* sqlite3.c:103367:21: */ +func Xsqlite3ExprAttachSubtrees(tls *libc.TLS, db uintptr, pRoot uintptr, pLeft uintptr, pRight uintptr) { /* sqlite3.c:103380:21: */ if pRoot == uintptr(0) { Xsqlite3ExprDelete(tls, db, pLeft) @@ -81777,7 +81796,7 @@ func Xsqlite3ExprAttachSubtrees(tls *libc.TLS, db uintptr, pRoot uintptr, pLeft // One or both of the subtrees can be NULL. Return a pointer to the new // Expr node. Or, if an OOM error occurs, set pParse->db->mallocFailed, // free the subtrees and return NULL. -func Xsqlite3PExpr(tls *libc.TLS, pParse uintptr, op int32, pLeft uintptr, pRight uintptr) uintptr { /* sqlite3.c:103397:21: */ +func Xsqlite3PExpr(tls *libc.TLS, pParse uintptr, op int32, pLeft uintptr, pRight uintptr) uintptr { /* sqlite3.c:103410:21: */ var p uintptr p = Xsqlite3DbMallocRawNN(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, uint64(unsafe.Sizeof(Expr{}))) if p != 0 { @@ -81795,7 +81814,7 @@ func Xsqlite3PExpr(tls *libc.TLS, pParse uintptr, op int32, pLeft uintptr, pRigh // Add pSelect to the Expr.x.pSelect field. Or, if pExpr is NULL (due // do a memory allocation failure) then delete the pSelect object. -func Xsqlite3PExprAddSelect(tls *libc.TLS, pParse uintptr, pExpr uintptr, pSelect uintptr) { /* sqlite3.c:103422:21: */ +func Xsqlite3PExprAddSelect(tls *libc.TLS, pParse uintptr, pExpr uintptr, pSelect uintptr) { /* sqlite3.c:103435:21: */ if pExpr != 0 { *(*uintptr)(unsafe.Pointer(pExpr + 32)) = pSelect *(*U32)(unsafe.Pointer(pExpr + 4)) |= U32(EP_xIsSelect | EP_Subquery) @@ -81823,7 +81842,7 @@ func Xsqlite3PExprAddSelect(tls *libc.TLS, pParse uintptr, pExpr uintptr, pSelec // // This is used as part of processing IN(...) expressions with a list // of vectors on the RHS. e.g. "... IN ((1,2), (3,4), (5,6))". -func Xsqlite3ExprListToValues(tls *libc.TLS, pParse uintptr, nElem int32, pEList uintptr) uintptr { /* sqlite3.c:103452:23: */ +func Xsqlite3ExprListToValues(tls *libc.TLS, pParse uintptr, nElem int32, pEList uintptr) uintptr { /* sqlite3.c:103465:23: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -81875,7 +81894,7 @@ func Xsqlite3ExprListToValues(tls *libc.TLS, pParse uintptr, nElem int32, pEList // If one side or the other of the AND is known to be false, then instead // of returning an AND expression, just return a constant expression with // a value of false. -func Xsqlite3ExprAnd(tls *libc.TLS, pParse uintptr, pLeft uintptr, pRight uintptr) uintptr { /* sqlite3.c:103499:21: */ +func Xsqlite3ExprAnd(tls *libc.TLS, pParse uintptr, pLeft uintptr, pRight uintptr) uintptr { /* sqlite3.c:103512:21: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb if pLeft == uintptr(0) { return pRight @@ -81894,7 +81913,7 @@ func Xsqlite3ExprAnd(tls *libc.TLS, pParse uintptr, pLeft uintptr, pRight uintpt // Construct a new expression node for a function with multiple // arguments. -func Xsqlite3ExprFunction(tls *libc.TLS, pParse uintptr, pList uintptr, pToken uintptr, eDistinct int32) uintptr { /* sqlite3.c:103520:21: */ +func Xsqlite3ExprFunction(tls *libc.TLS, pParse uintptr, pList uintptr, pToken uintptr, eDistinct int32) uintptr { /* sqlite3.c:103533:21: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -81931,7 +81950,7 @@ func Xsqlite3ExprFunction(tls *libc.TLS, pParse uintptr, pList uintptr, pToken u // top-level SQL // // If the function is not usable, create an error. -func Xsqlite3ExprFunctionUsable(tls *libc.TLS, pParse uintptr, pExpr uintptr, pDef uintptr) { /* sqlite3.c:103560:21: */ +func Xsqlite3ExprFunctionUsable(tls *libc.TLS, pParse uintptr, pExpr uintptr, pDef uintptr) { /* sqlite3.c:103573:21: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -81963,7 +81982,7 @@ func Xsqlite3ExprFunctionUsable(tls *libc.TLS, pParse uintptr, pExpr uintptr, pD // as the previous instance of the same wildcard. Or if this is the first // instance of the wildcard, the next sequential variable number is // assigned. -func Xsqlite3ExprAssignVarNumber(tls *libc.TLS, pParse uintptr, pExpr uintptr, n U32) { /* sqlite3.c:103599:21: */ +func Xsqlite3ExprAssignVarNumber(tls *libc.TLS, pParse uintptr, pExpr uintptr, n U32) { /* sqlite3.c:103612:21: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -82031,7 +82050,7 @@ func Xsqlite3ExprAssignVarNumber(tls *libc.TLS, pParse uintptr, pExpr uintptr, n } // Recursively delete an expression tree. -func sqlite3ExprDeleteNN(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:103669:29: */ +func sqlite3ExprDeleteNN(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:103682:29: */ if !((*Expr)(unsafe.Pointer(p)).Fflags&U32(EP_TokenOnly|EP_Leaf) != U32(0)) { // The Expr.x union is never used at the same time as Expr.pRight @@ -82061,7 +82080,7 @@ func sqlite3ExprDeleteNN(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:10 } } -func Xsqlite3ExprDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:103710:21: */ +func Xsqlite3ExprDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:103723:21: */ if p != 0 { sqlite3ExprDeleteNN(tls, db, p) } @@ -82075,13 +82094,13 @@ func Xsqlite3ExprDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:103 // // The deferred delete is (currently) implemented by adding the // pExpr to the pParse->pConstExpr list with a register number of 0. -func Xsqlite3ExprDeferredDelete(tls *libc.TLS, pParse uintptr, pExpr uintptr) { /* sqlite3.c:103725:21: */ +func Xsqlite3ExprDeferredDelete(tls *libc.TLS, pParse uintptr, pExpr uintptr) { /* sqlite3.c:103738:21: */ (*Parse)(unsafe.Pointer(pParse)).FpConstExpr = Xsqlite3ExprListAppend(tls, pParse, (*Parse)(unsafe.Pointer(pParse)).FpConstExpr, pExpr) } // Invoke sqlite3RenameExprUnmap() and sqlite3ExprDelete() on the // expression. -func Xsqlite3ExprUnmapAndDelete(tls *libc.TLS, pParse uintptr, p uintptr) { /* sqlite3.c:103733:21: */ +func Xsqlite3ExprUnmapAndDelete(tls *libc.TLS, pParse uintptr, p uintptr) { /* sqlite3.c:103746:21: */ if p != 0 { if int32((*Parse)(unsafe.Pointer(pParse)).FeParseMode) >= PARSE_MODE_RENAME { Xsqlite3RenameExprUnmap(tls, pParse, p) @@ -82093,7 +82112,7 @@ func Xsqlite3ExprUnmapAndDelete(tls *libc.TLS, pParse uintptr, p uintptr) { /* s // Return the number of bytes allocated for the expression structure // passed as the first argument. This is always one of EXPR_FULLSIZE, // EXPR_REDUCEDSIZE or EXPR_TOKENONLYSIZE. -func exprStructSize(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:103747:12: */ +func exprStructSize(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:103760:12: */ if (*Expr)(unsafe.Pointer(p)).Fflags&U32(EP_TokenOnly) != U32(0) { return int32(uintptr(0) + 16) } @@ -82135,7 +82154,7 @@ func exprStructSize(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:103747:12: */ // to reduce a pristine expression tree from the parser. The implementation // of dupedExprStructSize() contain multiple assert() statements that attempt // to enforce this constraint. -func dupedExprStructSize(tls *libc.TLS, p uintptr, flags int32) int32 { /* sqlite3.c:103787:12: */ +func dupedExprStructSize(tls *libc.TLS, p uintptr, flags int32) int32 { /* sqlite3.c:103800:12: */ var nSize int32 // Only one flag value allowed @@ -82157,7 +82176,7 @@ func dupedExprStructSize(tls *libc.TLS, p uintptr, flags int32) int32 { /* sqlit // This function returns the space in bytes required to store the copy // of the Expr structure and a copy of the Expr.u.zToken string (if that // string is defined.) -func dupedExprNodeSize(tls *libc.TLS, p uintptr, flags int32) int32 { /* sqlite3.c:103818:12: */ +func dupedExprNodeSize(tls *libc.TLS, p uintptr, flags int32) int32 { /* sqlite3.c:103831:12: */ var nByte int32 = dupedExprStructSize(tls, p, flags) & 0xfff if !((*Expr)(unsafe.Pointer(p)).Fflags&U32(EP_IntValue) != U32(0)) && *(*uintptr)(unsafe.Pointer(p + 8)) != 0 { nByte = int32(Size_t(nByte) + (libc.Xstrlen(tls, *(*uintptr)(unsafe.Pointer(p + 8)))&uint64(0x3fffffff) + uint64(1))) @@ -82176,7 +82195,7 @@ func dupedExprNodeSize(tls *libc.TLS, p uintptr, flags int32) int32 { /* sqlite3 // space to duplicate all Expr nodes in the tree formed by Expr.pLeft // and Expr.pRight variables (but not for any structures pointed to or // descended from the Expr.x.pList or Expr.x.pSelect variables). -func dupedExprSize(tls *libc.TLS, p uintptr, flags int32) int32 { /* sqlite3.c:103839:12: */ +func dupedExprSize(tls *libc.TLS, p uintptr, flags int32) int32 { /* sqlite3.c:103852:12: */ var nByte int32 = 0 if p != 0 { nByte = dupedExprNodeSize(tls, p, flags) @@ -82193,7 +82212,7 @@ func dupedExprSize(tls *libc.TLS, p uintptr, flags int32) int32 { /* sqlite3.c:1 // (if applicable), and the copies of the p->pLeft and p->pRight expressions, // if any. Before returning, *pzBuffer is set to the first byte past the // portion of the buffer copied into by this function. -func exprDup(tls *libc.TLS, db uintptr, p uintptr, dupFlags int32, pzBuffer uintptr) uintptr { /* sqlite3.c:103858:13: */ +func exprDup(tls *libc.TLS, db uintptr, p uintptr, dupFlags int32, pzBuffer uintptr) uintptr { /* sqlite3.c:103871:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -82303,7 +82322,7 @@ func exprDup(tls *libc.TLS, db uintptr, p uintptr, dupFlags int32, pzBuffer uint // Create and return a deep copy of the object passed as the second // argument. If an OOM condition is encountered, NULL is returned // and the db->mallocFailed flag set. -func Xsqlite3WithDup(tls *libc.TLS, db uintptr, p uintptr) uintptr { /* sqlite3.c:103968:21: */ +func Xsqlite3WithDup(tls *libc.TLS, db uintptr, p uintptr) uintptr { /* sqlite3.c:103981:21: */ var pRet uintptr = uintptr(0) if p != 0 { var nByte Sqlite3_int64 = Sqlite3_int64(uint64(unsafe.Sizeof(With{})) + uint64(unsafe.Sizeof(Cte{}))*uint64((*With)(unsafe.Pointer(p)).FnCte-1)) @@ -82325,7 +82344,7 @@ func Xsqlite3WithDup(tls *libc.TLS, db uintptr, p uintptr) uintptr { /* sqlite3. // gatherSelectWindowsCallback() are used to scan all the expressions // an a newly duplicated SELECT statement and gather all of the Window // objects found there, assembling them onto the linked list at Select->pWin. -func gatherSelectWindowsCallback(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:103996:12: */ +func gatherSelectWindowsCallback(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:104009:12: */ if int32((*Expr)(unsafe.Pointer(pExpr)).Fop) == TK_FUNCTION && (*Expr)(unsafe.Pointer(pExpr)).Fflags&U32(EP_WinFunc) != U32(0) { var pSelect uintptr = *(*uintptr)(unsafe.Pointer(pWalker + 40)) var pWin uintptr = *(*uintptr)(unsafe.Pointer(pExpr + 64)) @@ -82335,14 +82354,14 @@ func gatherSelectWindowsCallback(tls *libc.TLS, pWalker uintptr, pExpr uintptr) return WRC_Continue } -func gatherSelectWindowsSelectCallback(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sqlite3.c:104007:12: */ +func gatherSelectWindowsSelectCallback(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sqlite3.c:104020:12: */ if p == *(*uintptr)(unsafe.Pointer(pWalker + 40)) { return WRC_Continue } return WRC_Prune } -func gatherSelectWindows(tls *libc.TLS, p uintptr) { /* sqlite3.c:104010:13: */ +func gatherSelectWindows(tls *libc.TLS, p uintptr) { /* sqlite3.c:104023:13: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -82375,7 +82394,7 @@ func gatherSelectWindows(tls *libc.TLS, p uintptr) { /* sqlite3.c:104010:13: */ // If the EXPRDUP_REDUCE flag is set, then the structure returned is a // truncated version of the usual Expr structure that will be stored as // part of the in-memory representation of the database schema. -func Xsqlite3ExprDup(tls *libc.TLS, db uintptr, p uintptr, flags int32) uintptr { /* sqlite3.c:104039:21: */ +func Xsqlite3ExprDup(tls *libc.TLS, db uintptr, p uintptr, flags int32) uintptr { /* sqlite3.c:104052:21: */ if p != 0 { return exprDup(tls, db, p, flags, uintptr(0)) @@ -82383,7 +82402,7 @@ func Xsqlite3ExprDup(tls *libc.TLS, db uintptr, p uintptr, flags int32) uintptr return uintptr(0) } -func Xsqlite3ExprListDup(tls *libc.TLS, db uintptr, p uintptr, flags int32) uintptr { /* sqlite3.c:104043:25: */ +func Xsqlite3ExprListDup(tls *libc.TLS, db uintptr, p uintptr, flags int32) uintptr { /* sqlite3.c:104056:25: */ var pNew uintptr var pItem uintptr var pOldItem uintptr @@ -82452,7 +82471,7 @@ __3: // the build, then none of the following routines, except for // sqlite3SelectDup(), can be called. sqlite3SelectDup() is sometimes // called with a NULL argument. -func Xsqlite3SrcListDup(tls *libc.TLS, db uintptr, p uintptr, flags int32) uintptr { /* sqlite3.c:104098:24: */ +func Xsqlite3SrcListDup(tls *libc.TLS, db uintptr, p uintptr, flags int32) uintptr { /* sqlite3.c:104111:24: */ var pNew uintptr var i int32 var nByte int32 @@ -82505,7 +82524,7 @@ func Xsqlite3SrcListDup(tls *libc.TLS, db uintptr, p uintptr, flags int32) uintp return pNew } -func Xsqlite3IdListDup(tls *libc.TLS, db uintptr, p uintptr) uintptr { /* sqlite3.c:104142:23: */ +func Xsqlite3IdListDup(tls *libc.TLS, db uintptr, p uintptr) uintptr { /* sqlite3.c:104155:23: */ var pNew uintptr var i int32 @@ -82534,7 +82553,7 @@ func Xsqlite3IdListDup(tls *libc.TLS, db uintptr, p uintptr) uintptr { /* sqlite return pNew } -func Xsqlite3SelectDup(tls *libc.TLS, db uintptr, pDup uintptr, flags int32) uintptr { /* sqlite3.c:104166:23: */ +func Xsqlite3SelectDup(tls *libc.TLS, db uintptr, pDup uintptr, flags int32) uintptr { /* sqlite3.c:104179:23: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -82600,9 +82619,9 @@ func Xsqlite3SelectDup(tls *libc.TLS, db uintptr, pDup uintptr, flags int32) uin // If a memory allocation error occurs, the entire list is freed and // NULL is returned. If non-NULL is returned, then it is guaranteed // that the new entry was successfully appended. -var zeroItem = ExprList_item{} /* sqlite3.c:104237:35 */ +var zeroItem = ExprList_item{} /* sqlite3.c:104250:35 */ -func Xsqlite3ExprListAppendNew(tls *libc.TLS, db uintptr, pExpr uintptr) uintptr { /* sqlite3.c:104238:41: */ +func Xsqlite3ExprListAppendNew(tls *libc.TLS, db uintptr, pExpr uintptr) uintptr { /* sqlite3.c:104251:41: */ var pItem uintptr var pList uintptr @@ -82619,7 +82638,7 @@ func Xsqlite3ExprListAppendNew(tls *libc.TLS, db uintptr, pExpr uintptr) uintptr return pList } -func Xsqlite3ExprListAppendGrow(tls *libc.TLS, db uintptr, pList uintptr, pExpr uintptr) uintptr { /* sqlite3.c:104257:41: */ +func Xsqlite3ExprListAppendGrow(tls *libc.TLS, db uintptr, pList uintptr, pExpr uintptr) uintptr { /* sqlite3.c:104270:41: */ var pItem uintptr var pNew uintptr *(*int32)(unsafe.Pointer(pList + 4)) *= 2 @@ -82638,7 +82657,7 @@ func Xsqlite3ExprListAppendGrow(tls *libc.TLS, db uintptr, pList uintptr, pExpr return pList } -func Xsqlite3ExprListAppend(tls *libc.TLS, pParse uintptr, pList uintptr, pExpr uintptr) uintptr { /* sqlite3.c:104279:25: */ +func Xsqlite3ExprListAppend(tls *libc.TLS, pParse uintptr, pList uintptr, pExpr uintptr) uintptr { /* sqlite3.c:104292:25: */ var pItem uintptr if pList == uintptr(0) { return Xsqlite3ExprListAppendNew(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, pExpr) @@ -82661,7 +82680,7 @@ func Xsqlite3ExprListAppend(tls *libc.TLS, pParse uintptr, pList uintptr, pExpr // For each term of the vector assignment, append new entries to the // expression list pList. In the case of a subquery on the RHS, append // TK_SELECT_COLUMN expressions. -func Xsqlite3ExprListAppendVector(tls *libc.TLS, pParse uintptr, pList uintptr, pColumns uintptr, pExpr uintptr) uintptr { /* sqlite3.c:104308:25: */ +func Xsqlite3ExprListAppendVector(tls *libc.TLS, pParse uintptr, pList uintptr, pColumns uintptr, pExpr uintptr) uintptr { /* sqlite3.c:104321:25: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -82758,7 +82777,7 @@ vector_append_error: } // Set the sort order for the last element on the given ExprList. -func Xsqlite3ExprListSetSortOrder(tls *libc.TLS, p uintptr, iSortOrder int32, eNulls int32) { /* sqlite3.c:104370:21: */ +func Xsqlite3ExprListSetSortOrder(tls *libc.TLS, p uintptr, iSortOrder int32, eNulls int32) { /* sqlite3.c:104383:21: */ var pItem uintptr if p == uintptr(0) { return @@ -82785,7 +82804,7 @@ func Xsqlite3ExprListSetSortOrder(tls *libc.TLS, p uintptr, iSortOrder int32, eN // pList might be NULL following an OOM error. But pName should never be // NULL. If a memory allocation fails, the pParse->db->mallocFailed flag // is set. -func Xsqlite3ExprListSetName(tls *libc.TLS, pParse uintptr, pList uintptr, pName uintptr, dequote int32) { /* sqlite3.c:104408:21: */ +func Xsqlite3ExprListSetName(tls *libc.TLS, pParse uintptr, pList uintptr, pName uintptr, dequote int32) { /* sqlite3.c:104421:21: */ if pList != 0 { var pItem uintptr @@ -82811,7 +82830,7 @@ func Xsqlite3ExprListSetName(tls *libc.TLS, pParse uintptr, pList uintptr, pName // pList might be NULL following an OOM error. But pSpan should never be // NULL. If a memory allocation fails, the pParse->db->mallocFailed flag // is set. -func Xsqlite3ExprListSetSpan(tls *libc.TLS, pParse uintptr, pList uintptr, zStart uintptr, zEnd uintptr) { /* sqlite3.c:104443:21: */ +func Xsqlite3ExprListSetSpan(tls *libc.TLS, pParse uintptr, pList uintptr, zStart uintptr, zEnd uintptr) { /* sqlite3.c:104456:21: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb if pList != 0 { @@ -82826,7 +82845,7 @@ func Xsqlite3ExprListSetSpan(tls *libc.TLS, pParse uintptr, pList uintptr, zStar // If the expression list pEList contains more than iLimit elements, // leave an error message in pParse. -func Xsqlite3ExprListCheckLength(tls *libc.TLS, pParse uintptr, pEList uintptr, zObject uintptr) { /* sqlite3.c:104465:21: */ +func Xsqlite3ExprListCheckLength(tls *libc.TLS, pParse uintptr, pEList uintptr, zObject uintptr) { /* sqlite3.c:104478:21: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -82838,7 +82857,7 @@ func Xsqlite3ExprListCheckLength(tls *libc.TLS, pParse uintptr, pEList uintptr, } // Delete an entire expression list. -func exprListDeleteNN(tls *libc.TLS, db uintptr, pList uintptr) { /* sqlite3.c:104481:29: */ +func exprListDeleteNN(tls *libc.TLS, db uintptr, pList uintptr) { /* sqlite3.c:104494:29: */ var i int32 = (*ExprList)(unsafe.Pointer(pList)).FnExpr var pItem uintptr = pList + 8 /* &.a */ @@ -82850,7 +82869,7 @@ func exprListDeleteNN(tls *libc.TLS, db uintptr, pList uintptr) { /* sqlite3.c:1 Xsqlite3DbFreeNN(tls, db, pList) } -func Xsqlite3ExprListDelete(tls *libc.TLS, db uintptr, pList uintptr) { /* sqlite3.c:104492:21: */ +func Xsqlite3ExprListDelete(tls *libc.TLS, db uintptr, pList uintptr) { /* sqlite3.c:104505:21: */ if pList != 0 { exprListDeleteNN(tls, db, pList) } @@ -82858,7 +82877,7 @@ func Xsqlite3ExprListDelete(tls *libc.TLS, db uintptr, pList uintptr) { /* sqlit // Return the bitwise-OR of all Expr.flags fields in the given // ExprList. -func Xsqlite3ExprListFlags(tls *libc.TLS, pList uintptr) U32 { /* sqlite3.c:104500:20: */ +func Xsqlite3ExprListFlags(tls *libc.TLS, pList uintptr) U32 { /* sqlite3.c:104513:20: */ var i int32 var m U32 = U32(0) @@ -82875,7 +82894,7 @@ func Xsqlite3ExprListFlags(tls *libc.TLS, pList uintptr) U32 { /* sqlite3.c:1045 // pWalker->eCode to zero and abort. // // This callback is used by multiple expression walkers. -func Xsqlite3SelectWalkFail(tls *libc.TLS, pWalker uintptr, NotUsed uintptr) int32 { /* sqlite3.c:104519:20: */ +func Xsqlite3SelectWalkFail(tls *libc.TLS, pWalker uintptr, NotUsed uintptr) int32 { /* sqlite3.c:104532:20: */ _ = NotUsed (*Walker)(unsafe.Pointer(pWalker)).FeCode = U16(0) return WRC_Abort @@ -82887,7 +82906,7 @@ func Xsqlite3SelectWalkFail(tls *libc.TLS, pWalker uintptr, NotUsed uintptr) int // "true" EP_IsTrue // "false" EP_IsFalse // anything else 0 -func Xsqlite3IsTrueOrFalse(tls *libc.TLS, zIn uintptr) U32 { /* sqlite3.c:104533:20: */ +func Xsqlite3IsTrueOrFalse(tls *libc.TLS, zIn uintptr) U32 { /* sqlite3.c:104546:20: */ if Xsqlite3StrICmp(tls, zIn, ts+6639) == 0 { return U32(EP_IsTrue) } @@ -82900,7 +82919,7 @@ func Xsqlite3IsTrueOrFalse(tls *libc.TLS, zIn uintptr) U32 { /* sqlite3.c:104533 // If the input expression is an ID with the name "true" or "false" // then convert it into an TK_TRUEFALSE term. Return non-zero if // the conversion happened, and zero if the expression is unaltered. -func Xsqlite3ExprIdToTrueFalse(tls *libc.TLS, pExpr uintptr) int32 { /* sqlite3.c:104545:20: */ +func Xsqlite3ExprIdToTrueFalse(tls *libc.TLS, pExpr uintptr) int32 { /* sqlite3.c:104558:20: */ var v U32 if !((*Expr)(unsafe.Pointer(pExpr)).Fflags&U32(EP_Quoted|EP_IntValue) != U32(0)) && @@ -82914,7 +82933,7 @@ func Xsqlite3ExprIdToTrueFalse(tls *libc.TLS, pExpr uintptr) int32 { /* sqlite3. // The argument must be a TK_TRUEFALSE Expr node. Return 1 if it is TRUE // and 0 if it is FALSE. -func Xsqlite3ExprTruthValue(tls *libc.TLS, pExpr uintptr) int32 { /* sqlite3.c:104562:20: */ +func Xsqlite3ExprTruthValue(tls *libc.TLS, pExpr uintptr) int32 { /* sqlite3.c:104575:20: */ pExpr = Xsqlite3ExprSkipCollate(tls, pExpr) return libc.Bool32(int32(*(*int8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pExpr + 8)) + 4))) == 0) @@ -82931,7 +82950,7 @@ func Xsqlite3ExprTruthValue(tls *libc.TLS, pExpr uintptr) int32 { /* sqlite3.c:1 // (x<10) AND (y=22 OR false) => (x<10) AND (y=22) // (x<10) AND (y=22 OR true) => (x<10) // (y=22) OR true => true -func Xsqlite3ExprSimplifiedAndOr(tls *libc.TLS, pExpr uintptr) uintptr { /* sqlite3.c:104584:21: */ +func Xsqlite3ExprSimplifiedAndOr(tls *libc.TLS, pExpr uintptr) uintptr { /* sqlite3.c:104597:21: */ if int32((*Expr)(unsafe.Pointer(pExpr)).Fop) == TK_AND || int32((*Expr)(unsafe.Pointer(pExpr)).Fop) == TK_OR { var pRight uintptr = Xsqlite3ExprSimplifiedAndOr(tls, (*Expr)(unsafe.Pointer(pExpr)).FpRight) @@ -82977,7 +82996,7 @@ func Xsqlite3ExprSimplifiedAndOr(tls *libc.TLS, pExpr uintptr) uintptr { /* sqli // contain a bound parameter because they were generated by older versions // of SQLite to be parsed by newer versions of SQLite without raising a // malformed schema error. -func exprNodeIsConstant(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:104625:12: */ +func exprNodeIsConstant(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:104638:12: */ // If pWalker->eCode is 2 then any term of the expression that comes from // the ON or USING clauses of a left join disqualifies the expression @@ -83055,7 +83074,7 @@ func exprNodeIsConstant(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { / return int32(0) } -func exprIsConst(tls *libc.TLS, p uintptr, initFlag int32, iCur int32) int32 { /* sqlite3.c:104697:12: */ +func exprIsConst(tls *libc.TLS, p uintptr, initFlag int32, iCur int32) int32 { /* sqlite3.c:104710:12: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -83079,7 +83098,7 @@ func exprIsConst(tls *libc.TLS, p uintptr, initFlag int32, iCur int32) int32 { / // For the purposes of this function, a double-quoted string (ex: "abc") // is considered a variable but a single-quoted string (ex: 'abc') is // a constant. -func Xsqlite3ExprIsConstant(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:104718:20: */ +func Xsqlite3ExprIsConstant(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:104731:20: */ return exprIsConst(tls, p, 1, 0) } @@ -83094,7 +83113,7 @@ func Xsqlite3ExprIsConstant(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:10471 // When this routine returns true, it indicates that the expression // can be added to the pParse->pConstExpr list and evaluated once when // the prepared statement starts up. See sqlite3ExprCodeRunJustOnce(). -func Xsqlite3ExprIsConstantNotJoin(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:104735:20: */ +func Xsqlite3ExprIsConstantNotJoin(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:104748:20: */ return exprIsConst(tls, p, 2, 0) } @@ -83102,12 +83121,12 @@ func Xsqlite3ExprIsConstantNotJoin(tls *libc.TLS, p uintptr) int32 { /* sqlite3. // for any single row of the table with cursor iCur. In other words, the // expression must not refer to any non-deterministic function nor any // table other than iCur. -func Xsqlite3ExprIsTableConstant(tls *libc.TLS, p uintptr, iCur int32) int32 { /* sqlite3.c:104745:20: */ +func Xsqlite3ExprIsTableConstant(tls *libc.TLS, p uintptr, iCur int32) int32 { /* sqlite3.c:104758:20: */ return exprIsConst(tls, p, 3, iCur) } // sqlite3WalkExpr() callback used by sqlite3ExprIsConstantOrGroupBy(). -func exprNodeIsConstantOrGroupBy(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:104753:12: */ +func exprNodeIsConstantOrGroupBy(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:104766:12: */ var pGroupBy uintptr = *(*uintptr)(unsafe.Pointer(pWalker + 40)) var i int32 @@ -83149,7 +83168,7 @@ func exprNodeIsConstantOrGroupBy(tls *libc.TLS, pWalker uintptr, pExpr uintptr) // alternative collating sequences are uncommon, and this is only an // optimization, so we take the easy way out and simply require the // GROUP BY to use the BINARY collating sequence. -func Xsqlite3ExprIsConstantOrGroupBy(tls *libc.TLS, pParse uintptr, p uintptr, pGroupBy uintptr) int32 { /* sqlite3.c:104797:20: */ +func Xsqlite3ExprIsConstantOrGroupBy(tls *libc.TLS, pParse uintptr, p uintptr, pGroupBy uintptr) int32 { /* sqlite3.c:104810:20: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -83185,7 +83204,7 @@ func Xsqlite3ExprIsConstantOrGroupBy(tls *libc.TLS, pParse uintptr, p uintptr, p // For the purposes of this function, a double-quoted string (ex: "abc") // is considered a variable but a single-quoted string (ex: 'abc') is // a constant. -func Xsqlite3ExprIsConstantOrFunction(tls *libc.TLS, p uintptr, isInit U8) int32 { /* sqlite3.c:104829:20: */ +func Xsqlite3ExprIsConstantOrFunction(tls *libc.TLS, p uintptr, isInit U8) int32 { /* sqlite3.c:104842:20: */ return exprIsConst(tls, p, 4+int32(isInit), 0) } @@ -83194,7 +83213,7 @@ func Xsqlite3ExprIsConstantOrFunction(tls *libc.TLS, p uintptr, isInit U8) int32 // to fit in a 32-bit integer, return 1 and put the value of the integer // in *pValue. If the expression is not an integer or if it is too big // to fit in a signed 32-bit integer, return 0 and leave *pValue unchanged. -func Xsqlite3ExprIsInteger(tls *libc.TLS, p uintptr, pValue uintptr) int32 { /* sqlite3.c:104858:20: */ +func Xsqlite3ExprIsInteger(tls *libc.TLS, p uintptr, pValue uintptr) int32 { /* sqlite3.c:104871:20: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -83246,7 +83265,7 @@ func Xsqlite3ExprIsInteger(tls *libc.TLS, p uintptr, pValue uintptr) int32 { /* // hand, a false negative (returning FALSE when the result could be NULL) // will likely result in an incorrect answer. So when in doubt, return // TRUE. -func Xsqlite3ExprCanBeNull(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:104904:20: */ +func Xsqlite3ExprCanBeNull(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:104917:20: */ var op U8 for int32((*Expr)(unsafe.Pointer(p)).Fop) == TK_UPLUS || int32((*Expr)(unsafe.Pointer(p)).Fop) == TK_UMINUS { @@ -83285,7 +83304,7 @@ func Xsqlite3ExprCanBeNull(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:104904 // can be omitted. When in doubt return FALSE. A false negative // is harmless. A false positive, however, can result in the wrong // answer. -func Xsqlite3ExprNeedsNoAffinityChange(tls *libc.TLS, p uintptr, aff int8) int32 { /* sqlite3.c:104941:20: */ +func Xsqlite3ExprNeedsNoAffinityChange(tls *libc.TLS, p uintptr, aff int8) int32 { /* sqlite3.c:104954:20: */ var op U8 var unaryMinus int32 = 0 if int32(aff) == SQLITE_AFF_BLOB { @@ -83338,7 +83357,7 @@ func Xsqlite3ExprNeedsNoAffinityChange(tls *libc.TLS, p uintptr, aff int8) int32 } // Return TRUE if the given string is a row-id column name. -func Xsqlite3IsRowid(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:104977:20: */ +func Xsqlite3IsRowid(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:104990:20: */ if Xsqlite3StrICmp(tls, z, ts+7585) == 0 { return 1 } @@ -83356,7 +83375,7 @@ func Xsqlite3IsRowid(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:104977:20: * // a pointer to the SELECT statement. If pX is not a SELECT statement, // or if the SELECT statement needs to be manifested into a transient // table, then return NULL. -func isCandidateForInOpt(tls *libc.TLS, pX uintptr) uintptr { /* sqlite3.c:104992:15: */ +func isCandidateForInOpt(tls *libc.TLS, pX uintptr) uintptr { /* sqlite3.c:105005:15: */ var p uintptr var pSrc uintptr var pEList uintptr @@ -83414,7 +83433,7 @@ func isCandidateForInOpt(tls *libc.TLS, pX uintptr) uintptr { /* sqlite3.c:10499 // it contains any NULL entries. Cause the register at regHasNull to be set // to a non-NULL value if iCur contains no NULLs. Cause register regHasNull // to be set to NULL if iCur contains one or more NULL values. -func sqlite3SetHasNullFlag(tls *libc.TLS, v uintptr, iCur int32, regHasNull int32) { /* sqlite3.c:105037:13: */ +func sqlite3SetHasNullFlag(tls *libc.TLS, v uintptr, iCur int32, regHasNull int32) { /* sqlite3.c:105050:13: */ var addr1 int32 Xsqlite3VdbeAddOp2(tls, v, OP_Integer, 0, regHasNull) addr1 = Xsqlite3VdbeAddOp1(tls, v, OP_Rewind, iCur) @@ -83426,7 +83445,7 @@ func sqlite3SetHasNullFlag(tls *libc.TLS, v uintptr, iCur int32, regHasNull int3 // The argument is an IN operator with a list (not a subquery) on the // right-hand side. Return TRUE if that list is constant. -func sqlite3InRhsIsConstant(tls *libc.TLS, pIn uintptr) int32 { /* sqlite3.c:105054:12: */ +func sqlite3InRhsIsConstant(tls *libc.TLS, pIn uintptr) int32 { /* sqlite3.c:105067:12: */ var pLHS uintptr var res int32 @@ -83515,7 +83534,7 @@ func sqlite3InRhsIsConstant(tls *libc.TLS, pIn uintptr) int32 { /* sqlite3.c:105 // CREATE INDEX i1 ON t1(b, c, a); // // then aiMap[] is populated with {2, 0, 1}. -func Xsqlite3FindInIndex(tls *libc.TLS, pParse uintptr, pX uintptr, inFlags U32, prRhsHasNull uintptr, aiMap uintptr, piTab uintptr) int32 { /* sqlite3.c:105147:20: */ +func Xsqlite3FindInIndex(tls *libc.TLS, pParse uintptr, pX uintptr, inFlags U32, prRhsHasNull uintptr, aiMap uintptr, piTab uintptr) int32 { /* sqlite3.c:105160:20: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -83733,7 +83752,7 @@ func Xsqlite3FindInIndex(tls *libc.TLS, pParse uintptr, pX uintptr, inFlags U32, // // It is the responsibility of the caller to ensure that the returned // string is eventually freed using sqlite3DbFree(). -func exprINAffinity(tls *libc.TLS, pParse uintptr, pExpr uintptr) uintptr { /* sqlite3.c:105370:13: */ +func exprINAffinity(tls *libc.TLS, pParse uintptr, pExpr uintptr) uintptr { /* sqlite3.c:105383:13: */ var pLeft uintptr = (*Expr)(unsafe.Pointer(pExpr)).FpLeft var nVal int32 = Xsqlite3ExprVectorSize(tls, pLeft) var pSelect uintptr @@ -83765,7 +83784,7 @@ func exprINAffinity(tls *libc.TLS, pParse uintptr, pExpr uintptr) uintptr { /* s // message of the form: // // "sub-select returns N columns - expected M" -func Xsqlite3SubselectError(tls *libc.TLS, pParse uintptr, nActual int32, nExpect int32) { /* sqlite3.c:105402:21: */ +func Xsqlite3SubselectError(tls *libc.TLS, pParse uintptr, nActual int32, nExpect int32) { /* sqlite3.c:105415:21: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -83784,7 +83803,7 @@ func Xsqlite3SubselectError(tls *libc.TLS, pParse uintptr, nActual int32, nExpec // Or, if it is a regular scalar vector: // // "row value misused" -func Xsqlite3VectorErrorMsg(tls *libc.TLS, pParse uintptr, pExpr uintptr) { /* sqlite3.c:105421:21: */ +func Xsqlite3VectorErrorMsg(tls *libc.TLS, pParse uintptr, pExpr uintptr) { /* sqlite3.c:105434:21: */ if (*Expr)(unsafe.Pointer(pExpr)).Fflags&U32(EP_xIsSelect) != U32(0) { Xsqlite3SubselectError(tls, pParse, (*ExprList)(unsafe.Pointer((*Select)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pExpr + 32)))).FpEList)).FnExpr, 1) } else { @@ -83812,7 +83831,7 @@ func Xsqlite3VectorErrorMsg(tls *libc.TLS, pParse uintptr, pExpr uintptr) { /* s // if either column has NUMERIC or INTEGER affinity. If neither // 'x' nor the SELECT... statement are columns, then numeric affinity // is used. -func Xsqlite3CodeRhsOfIN(tls *libc.TLS, pParse uintptr, pExpr uintptr, iTab int32) { /* sqlite3.c:105455:21: */ +func Xsqlite3CodeRhsOfIN(tls *libc.TLS, pParse uintptr, pExpr uintptr, iTab int32) { /* sqlite3.c:105468:21: */ bp := tls.Alloc(65) defer tls.Free(65) @@ -84007,7 +84026,7 @@ func Xsqlite3CodeRhsOfIN(tls *libc.TLS, pParse uintptr, pExpr uintptr, iTab int3 // the result is stored in a contiguous array of registers and the // return value is the register of the left-most result column. // Return 0 if an error occurs. -func Xsqlite3CodeSubselect(tls *libc.TLS, pParse uintptr, pExpr uintptr) int32 { /* sqlite3.c:105650:20: */ +func Xsqlite3CodeSubselect(tls *libc.TLS, pParse uintptr, pExpr uintptr) int32 { /* sqlite3.c:105663:20: */ bp := tls.Alloc(64) defer tls.Free(64) @@ -84130,7 +84149,7 @@ func Xsqlite3CodeSubselect(tls *libc.TLS, pParse uintptr, pExpr uintptr) int32 { // sub-select on the RHS of the IN() operator has the same number of // columns as the vector on the LHS. Or, if the RHS of the IN() is not // a sub-query, that the LHS is a vector of size 1. -func Xsqlite3ExprCheckIN(tls *libc.TLS, pParse uintptr, pIn uintptr) int32 { /* sqlite3.c:105772:20: */ +func Xsqlite3ExprCheckIN(tls *libc.TLS, pParse uintptr, pIn uintptr) int32 { /* sqlite3.c:105785:20: */ var nVector int32 = Xsqlite3ExprVectorSize(tls, (*Expr)(unsafe.Pointer(pIn)).FpLeft) if (*Expr)(unsafe.Pointer(pIn)).Fflags&U32(EP_xIsSelect) != U32(0) && !(int32((*Sqlite3)(unsafe.Pointer((*Parse)(unsafe.Pointer(pParse)).Fdb)).FmallocFailed) != 0) { if nVector != (*ExprList)(unsafe.Pointer((*Select)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pIn + 32)))).FpEList)).FnExpr { @@ -84167,7 +84186,7 @@ func Xsqlite3ExprCheckIN(tls *libc.TLS, pParse uintptr, pIn uintptr) int32 { /* // // See the separate in-operator.md documentation file in the canonical // SQLite source tree for additional information. -func sqlite3ExprCodeIN(tls *libc.TLS, pParse uintptr, pExpr uintptr, destIfFalse int32, destIfNull int32) { /* sqlite3.c:105813:13: */ +func sqlite3ExprCodeIN(tls *libc.TLS, pParse uintptr, pExpr uintptr, destIfFalse int32, destIfNull int32) { /* sqlite3.c:105826:13: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -84548,7 +84567,7 @@ sqlite3ExprCodeIN_oom_error: // The z[] string will probably not be zero-terminated. But the // z[n] character is guaranteed to be something that does not look // like the continuation of the number. -func codeReal(tls *libc.TLS, v uintptr, z uintptr, negateFlag int32, iMem int32) { /* sqlite3.c:106071:13: */ +func codeReal(tls *libc.TLS, v uintptr, z uintptr, negateFlag int32, iMem int32) { /* sqlite3.c:106084:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -84568,7 +84587,7 @@ func codeReal(tls *libc.TLS, v uintptr, z uintptr, negateFlag int32, iMem int32) // text z[0..n-1] into register iMem. // // Expr.u.zToken is always UTF8 and zero-terminated. -func codeInteger(tls *libc.TLS, pParse uintptr, pExpr uintptr, negFlag int32, iMem int32) { /* sqlite3.c:106089:13: */ +func codeInteger(tls *libc.TLS, pParse uintptr, pExpr uintptr, negFlag int32, iMem int32) { /* sqlite3.c:106102:13: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -84614,7 +84633,7 @@ func codeInteger(tls *libc.TLS, pParse uintptr, pExpr uintptr, negFlag int32, iM // Generate code that will load into register regOut a value that is // appropriate for the iIdxCol-th column of index pIdx. -func Xsqlite3ExprCodeLoadIndexColumn(tls *libc.TLS, pParse uintptr, pIdx uintptr, iTabCur int32, iIdxCol int32, regOut int32) { /* sqlite3.c:106127:21: */ +func Xsqlite3ExprCodeLoadIndexColumn(tls *libc.TLS, pParse uintptr, pIdx uintptr, iTabCur int32, iIdxCol int32, regOut int32) { /* sqlite3.c:106140:21: */ var iTabCol I16 = *(*I16)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FaiColumn + uintptr(iIdxCol)*2)) if int32(iTabCol) == -2 { @@ -84629,7 +84648,7 @@ func Xsqlite3ExprCodeLoadIndexColumn(tls *libc.TLS, pParse uintptr, pIdx uintptr // Generate code that will compute the value of generated column pCol // and store the result in register regOut -func Xsqlite3ExprCodeGeneratedColumn(tls *libc.TLS, pParse uintptr, pTab uintptr, pCol uintptr, regOut int32) { /* sqlite3.c:106152:21: */ +func Xsqlite3ExprCodeGeneratedColumn(tls *libc.TLS, pParse uintptr, pTab uintptr, pCol uintptr, regOut int32) { /* sqlite3.c:106165:21: */ var iAddr int32 var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe @@ -84648,7 +84667,7 @@ func Xsqlite3ExprCodeGeneratedColumn(tls *libc.TLS, pParse uintptr, pTab uintptr } // Generate code to extract the value of the iCol-th column of a table. -func Xsqlite3ExprCodeGetColumnOfTable(tls *libc.TLS, v uintptr, pTab uintptr, iTabCur int32, iCol int32, regOut int32) { /* sqlite3.c:106178:21: */ +func Xsqlite3ExprCodeGetColumnOfTable(tls *libc.TLS, v uintptr, pTab uintptr, iTabCur int32, iCol int32, regOut int32) { /* sqlite3.c:106191:21: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -84699,7 +84718,7 @@ func Xsqlite3ExprCodeGetColumnOfTable(tls *libc.TLS, v uintptr, pTab uintptr, iT // // There must be an open cursor to pTab in iTable when this routine // is called. If iColumn<0 then code is generated that extracts the rowid. -func Xsqlite3ExprCodeGetColumn(tls *libc.TLS, pParse uintptr, pTab uintptr, iColumn int32, iTable int32, iReg int32, p5 U8) int32 { /* sqlite3.c:106236:20: */ +func Xsqlite3ExprCodeGetColumn(tls *libc.TLS, pParse uintptr, pTab uintptr, iColumn int32, iTable int32, iReg int32, p5 U8) int32 { /* sqlite3.c:106249:20: */ Xsqlite3ExprCodeGetColumnOfTable(tls, (*Parse)(unsafe.Pointer(pParse)).FpVdbe, pTab, iTable, iColumn, iReg) if p5 != 0 { @@ -84713,14 +84732,14 @@ func Xsqlite3ExprCodeGetColumn(tls *libc.TLS, pParse uintptr, pTab uintptr, iCol // Generate code to move content from registers iFrom...iFrom+nReg-1 // over to iTo..iTo+nReg-1. -func Xsqlite3ExprCodeMove(tls *libc.TLS, pParse uintptr, iFrom int32, iTo int32, nReg int32) { /* sqlite3.c:106257:21: */ +func Xsqlite3ExprCodeMove(tls *libc.TLS, pParse uintptr, iFrom int32, iTo int32, nReg int32) { /* sqlite3.c:106270:21: */ Xsqlite3VdbeAddOp3(tls, (*Parse)(unsafe.Pointer(pParse)).FpVdbe, OP_Move, iFrom, iTo, nReg) } // Convert a scalar expression node to a TK_REGISTER referencing // register iReg. The caller must ensure that iReg already contains // the correct value for the expression. -func exprToRegister(tls *libc.TLS, pExpr uintptr, iReg int32) { /* sqlite3.c:106266:13: */ +func exprToRegister(tls *libc.TLS, pExpr uintptr, iReg int32) { /* sqlite3.c:106279:13: */ var p uintptr = Xsqlite3ExprSkipCollateAndLikely(tls, pExpr) if p == uintptr(0) { return @@ -84739,7 +84758,7 @@ func exprToRegister(tls *libc.TLS, pExpr uintptr, iReg int32) { /* sqlite3.c:106 // that register number into *piFreeable. If the returned result register // is not a temporary or if the expression is a vector set *piFreeable // to 0. -func exprCodeVector(tls *libc.TLS, pParse uintptr, p uintptr, piFreeable uintptr) int32 { /* sqlite3.c:106285:12: */ +func exprCodeVector(tls *libc.TLS, pParse uintptr, p uintptr, piFreeable uintptr) int32 { /* sqlite3.c:106298:12: */ var iResult int32 var nResult int32 = Xsqlite3ExprVectorSize(tls, p) if nResult == 1 { @@ -84763,7 +84782,7 @@ func exprCodeVector(tls *libc.TLS, pParse uintptr, p uintptr, piFreeable uintptr // If the last opcode is a OP_Copy, then set the do-not-merge flag (p5) // so that a subsequent copy will not be merged into this one. -func setDoNotMergeFlagOnCopy(tls *libc.TLS, v uintptr) { /* sqlite3.c:106315:13: */ +func setDoNotMergeFlagOnCopy(tls *libc.TLS, v uintptr) { /* sqlite3.c:106328:13: */ if int32((*VdbeOp)(unsafe.Pointer(Xsqlite3VdbeGetOp(tls, v, -1))).Fopcode) == OP_Copy { Xsqlite3VdbeChangeP5(tls, v, uint16(1)) // Tag trailing OP_Copy as not mergable } @@ -84771,7 +84790,7 @@ func setDoNotMergeFlagOnCopy(tls *libc.TLS, v uintptr) { /* sqlite3.c:106315:13: // Generate code to implement special SQL functions that are implemented // in-line rather than by using the usual callbacks. -func exprCodeInlineFunction(tls *libc.TLS, pParse uintptr, pFarg uintptr, iFuncId int32, target int32) int32 { /* sqlite3.c:106325:12: */ +func exprCodeInlineFunction(tls *libc.TLS, pParse uintptr, pFarg uintptr, iFuncId int32, target int32) int32 { /* sqlite3.c:106338:12: */ bp := tls.Alloc(112) defer tls.Free(112) @@ -84896,7 +84915,7 @@ func exprCodeInlineFunction(tls *libc.TLS, pParse uintptr, pFarg uintptr, iFuncI // register if it is convenient to do so. The calling function // must check the return code and move the results to the desired // register. -func Xsqlite3ExprCodeTarget(tls *libc.TLS, pParse uintptr, pExpr uintptr, target int32) int32 { /* sqlite3.c:106441:20: */ +func Xsqlite3ExprCodeTarget(tls *libc.TLS, pParse uintptr, pExpr uintptr, target int32) int32 { /* sqlite3.c:106454:20: */ bp := tls.Alloc(192) defer tls.Free(192) @@ -85967,7 +85986,7 @@ __3: return inReg } -var zAff = *(*[8]int8)(unsafe.Pointer(ts + 8004)) /* sqlite3.c:106508:29 */ +var zAff = *(*[8]int8)(unsafe.Pointer(ts + 8004)) /* sqlite3.c:106521:29 */ // Generate code that will evaluate expression pExpr just one time // per prepared statement execution. @@ -85984,7 +86003,7 @@ var zAff = *(*[8]int8)(unsafe.Pointer(ts + 8004)) /* sqlite3.c:106508:29 */ // code to the same register, if they do not contain function calls and hence // are factored out into the initialization section at the end of the // prepared statement. -func Xsqlite3ExprCodeRunJustOnce(tls *libc.TLS, pParse uintptr, pExpr uintptr, regDest int32) int32 { /* sqlite3.c:107215:20: */ +func Xsqlite3ExprCodeRunJustOnce(tls *libc.TLS, pParse uintptr, pExpr uintptr, regDest int32) int32 { /* sqlite3.c:107228:20: */ var p uintptr p = (*Parse)(unsafe.Pointer(pParse)).FpConstExpr @@ -86053,7 +86072,7 @@ func Xsqlite3ExprCodeRunJustOnce(tls *libc.TLS, pParse uintptr, pExpr uintptr, r // If pExpr is a constant, then this routine might generate this // code to fill the register in the initialization section of the // VDBE program, in order to factor it out of the evaluation loop. -func Xsqlite3ExprCodeTemp(tls *libc.TLS, pParse uintptr, pExpr uintptr, pReg uintptr) int32 { /* sqlite3.c:107272:20: */ +func Xsqlite3ExprCodeTemp(tls *libc.TLS, pParse uintptr, pExpr uintptr, pReg uintptr) int32 { /* sqlite3.c:107285:20: */ var r2 int32 pExpr = Xsqlite3ExprSkipCollateAndLikely(tls, pExpr) if (*Parse)(unsafe.Pointer(pParse)).FokConstFactor != 0 && @@ -86078,7 +86097,7 @@ func Xsqlite3ExprCodeTemp(tls *libc.TLS, pParse uintptr, pExpr uintptr, pReg uin // Generate code that will evaluate expression pExpr and store the // results in register target. The results are guaranteed to appear // in register target. -func Xsqlite3ExprCode(tls *libc.TLS, pParse uintptr, pExpr uintptr, target int32) { /* sqlite3.c:107300:21: */ +func Xsqlite3ExprCode(tls *libc.TLS, pParse uintptr, pExpr uintptr, target int32) { /* sqlite3.c:107313:21: */ var inReg int32 if (*Parse)(unsafe.Pointer(pParse)).FpVdbe == uintptr(0) { @@ -86099,7 +86118,7 @@ func Xsqlite3ExprCode(tls *libc.TLS, pParse uintptr, pExpr uintptr, target int32 // Make a transient copy of expression pExpr and then code it using // sqlite3ExprCode(). This routine works just like sqlite3ExprCode() // except that the input expression is guaranteed to be unchanged. -func Xsqlite3ExprCodeCopy(tls *libc.TLS, pParse uintptr, pExpr uintptr, target int32) { /* sqlite3.c:107324:21: */ +func Xsqlite3ExprCodeCopy(tls *libc.TLS, pParse uintptr, pExpr uintptr, target int32) { /* sqlite3.c:107337:21: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb pExpr = Xsqlite3ExprDup(tls, db, pExpr, 0) if !(int32((*Sqlite3)(unsafe.Pointer(db)).FmallocFailed) != 0) { @@ -86112,7 +86131,7 @@ func Xsqlite3ExprCodeCopy(tls *libc.TLS, pParse uintptr, pExpr uintptr, target i // results in register target. The results are guaranteed to appear // in register target. If the expression is constant, then this routine // might choose to code the expression at initialization time. -func Xsqlite3ExprCodeFactorable(tls *libc.TLS, pParse uintptr, pExpr uintptr, target int32) { /* sqlite3.c:107337:21: */ +func Xsqlite3ExprCodeFactorable(tls *libc.TLS, pParse uintptr, pExpr uintptr, target int32) { /* sqlite3.c:107350:21: */ if (*Parse)(unsafe.Pointer(pParse)).FokConstFactor != 0 && Xsqlite3ExprIsConstantNotJoin(tls, pExpr) != 0 { Xsqlite3ExprCodeRunJustOnce(tls, pParse, pExpr, target) } else { @@ -86138,7 +86157,7 @@ func Xsqlite3ExprCodeFactorable(tls *libc.TLS, pParse uintptr, pExpr uintptr, ta // in registers at srcReg, and so the value can be copied from there. // If SQLITE_ECEL_OMITREF is also set, then the values with u.x.iOrderByCol>0 // are simply omitted rather than being copied from srcReg. -func Xsqlite3ExprCodeExprList(tls *libc.TLS, pParse uintptr, pList uintptr, target int32, srcReg int32, flags U8) int32 { /* sqlite3.c:107365:20: */ +func Xsqlite3ExprCodeExprList(tls *libc.TLS, pParse uintptr, pList uintptr, target int32, srcReg int32, flags U8) int32 { /* sqlite3.c:107378:20: */ var pItem uintptr var i int32 var j int32 @@ -86220,7 +86239,7 @@ __3: // sqlite3ExprIfFalse: Jump to dest if false // // The jumpIfNull parameter is ignored if xJumpIf is NULL. -func exprCodeBetween(tls *libc.TLS, pParse uintptr, pExpr uintptr, dest int32, xJump uintptr, jumpIfNull int32) { /* sqlite3.c:107440:13: */ +func exprCodeBetween(tls *libc.TLS, pParse uintptr, pExpr uintptr, dest int32, xJump uintptr, jumpIfNull int32) { /* sqlite3.c:107453:13: */ bp := tls.Alloc(220) defer tls.Free(220) @@ -86283,7 +86302,7 @@ func exprCodeBetween(tls *libc.TLS, pParse uintptr, pExpr uintptr, dest int32, x // operation. Special comments in vdbe.c and the mkopcodeh.awk script in // the make process cause these values to align. Assert()s in the code // below verify that the numbers are aligned correctly. -func Xsqlite3ExprIfTrue(tls *libc.TLS, pParse uintptr, pExpr uintptr, dest int32, jumpIfNull int32) { /* sqlite3.c:107512:21: */ +func Xsqlite3ExprIfTrue(tls *libc.TLS, pParse uintptr, pExpr uintptr, dest int32, jumpIfNull int32) { /* sqlite3.c:107525:21: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -86515,7 +86534,7 @@ __3: // If the expression evaluates to NULL (neither true nor false) then // jump if jumpIfNull is SQLITE_JUMPIFNULL or fall through if jumpIfNull // is 0. -func Xsqlite3ExprIfFalse(tls *libc.TLS, pParse uintptr, pExpr uintptr, dest int32, jumpIfNull int32) { /* sqlite3.c:107654:21: */ +func Xsqlite3ExprIfFalse(tls *libc.TLS, pParse uintptr, pExpr uintptr, dest int32, jumpIfNull int32) { /* sqlite3.c:107667:21: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -86765,7 +86784,7 @@ __3: // Like sqlite3ExprIfFalse() except that a copy is made of pExpr before // code generation, and that copy is deleted after code generation. This // ensures that the original pExpr is unchanged. -func Xsqlite3ExprIfFalseDup(tls *libc.TLS, pParse uintptr, pExpr uintptr, dest int32, jumpIfNull int32) { /* sqlite3.c:107826:21: */ +func Xsqlite3ExprIfFalseDup(tls *libc.TLS, pParse uintptr, pExpr uintptr, dest int32, jumpIfNull int32) { /* sqlite3.c:107839:21: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb var pCopy uintptr = Xsqlite3ExprDup(tls, db, pExpr, 0) if int32((*Sqlite3)(unsafe.Pointer(db)).FmallocFailed) == 0 { @@ -86785,7 +86804,7 @@ func Xsqlite3ExprIfFalseDup(tls *libc.TLS, pParse uintptr, pExpr uintptr, dest i // same as that currently bound to variable pVar, non-zero is returned. // Otherwise, if the values are not the same or if pExpr is not a simple // SQL value, zero is returned. -func exprCompareVariable(tls *libc.TLS, pParse uintptr, pVar uintptr, pExpr uintptr) int32 { /* sqlite3.c:107848:12: */ +func exprCompareVariable(tls *libc.TLS, pParse uintptr, pVar uintptr, pExpr uintptr) int32 { /* sqlite3.c:107861:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -86839,7 +86858,7 @@ func exprCompareVariable(tls *libc.TLS, pParse uintptr, pVar uintptr, pExpr uint // If pParse is NULL (the normal case) then any TK_VARIABLE term in // Argument pParse should normally be NULL. If it is not NULL and pA or // pB causes a return value of 2. -func Xsqlite3ExprCompare(tls *libc.TLS, pParse uintptr, pA uintptr, pB uintptr, iTab int32) int32 { /* sqlite3.c:107904:20: */ +func Xsqlite3ExprCompare(tls *libc.TLS, pParse uintptr, pA uintptr, pB uintptr, iTab int32) int32 { /* sqlite3.c:107917:20: */ var combinedFlags U32 if pA == uintptr(0) || pB == uintptr(0) { if pB == pA { @@ -86943,7 +86962,7 @@ func Xsqlite3ExprCompare(tls *libc.TLS, pParse uintptr, pA uintptr, pB uintptr, // // Two NULL pointers are considered to be the same. But a NULL pointer // always differs from a non-NULL pointer. -func Xsqlite3ExprListCompare(tls *libc.TLS, pA uintptr, pB uintptr, iTab int32) int32 { /* sqlite3.c:108000:20: */ +func Xsqlite3ExprListCompare(tls *libc.TLS, pA uintptr, pB uintptr, iTab int32) int32 { /* sqlite3.c:108013:20: */ var i int32 if pA == uintptr(0) && pB == uintptr(0) { return 0 @@ -86970,7 +86989,7 @@ func Xsqlite3ExprListCompare(tls *libc.TLS, pA uintptr, pB uintptr, iTab int32) // Like sqlite3ExprCompare() except COLLATE operators at the top-level // are ignored. -func Xsqlite3ExprCompareSkip(tls *libc.TLS, pA uintptr, pB uintptr, iTab int32) int32 { /* sqlite3.c:108019:20: */ +func Xsqlite3ExprCompareSkip(tls *libc.TLS, pA uintptr, pB uintptr, iTab int32) int32 { /* sqlite3.c:108032:20: */ return Xsqlite3ExprCompare(tls, uintptr(0), Xsqlite3ExprSkipCollateAndLikely(tls, pA), Xsqlite3ExprSkipCollateAndLikely(tls, pB), @@ -86981,7 +87000,7 @@ func Xsqlite3ExprCompareSkip(tls *libc.TLS, pA uintptr, pB uintptr, iTab int32) // // Or if seenNot is true, return non-zero if Expr p can only be // non-NULL if pNN is not NULL -func exprImpliesNotNull(tls *libc.TLS, pParse uintptr, p uintptr, pNN uintptr, iTab int32, seenNot int32) int32 { /* sqlite3.c:108032:12: */ +func exprImpliesNotNull(tls *libc.TLS, pParse uintptr, p uintptr, pNN uintptr, iTab int32, seenNot int32) int32 { /* sqlite3.c:108045:12: */ if Xsqlite3ExprCompare(tls, pParse, p, pNN, iTab) == 0 { return libc.Bool32(int32((*Expr)(unsafe.Pointer(pNN)).Fop) != TK_NULL) @@ -87109,7 +87128,7 @@ func exprImpliesNotNull(tls *libc.TLS, pParse uintptr, p uintptr, pNN uintptr, i // When in doubt, return false. Returning true might give a performance // improvement. Returning false might cause a performance reduction, but // it will always give the correct answer and is hence always safe. -func Xsqlite3ExprImpliesExpr(tls *libc.TLS, pParse uintptr, pE1 uintptr, pE2 uintptr, iTab int32) int32 { /* sqlite3.c:108129:20: */ +func Xsqlite3ExprImpliesExpr(tls *libc.TLS, pParse uintptr, pE1 uintptr, pE2 uintptr, iTab int32) int32 { /* sqlite3.c:108142:20: */ if Xsqlite3ExprCompare(tls, pParse, pE1, pE2, iTab) == 0 { return 1 } @@ -87132,7 +87151,7 @@ func Xsqlite3ExprImpliesExpr(tls *libc.TLS, pParse uintptr, pE1 uintptr, pE2 uin // This routine controls an optimization. False positives (setting // pWalker->eCode to 1 when it should not be) are deadly, but false-negatives // (never setting pWalker->eCode) is a harmless missed optimization. -func impliesNotNullRow(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:108161:12: */ +func impliesNotNullRow(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:108174:12: */ if (*Expr)(unsafe.Pointer(pExpr)).Fflags&U32(EP_FromJoin) != U32(0) { return WRC_Prune @@ -87242,7 +87261,7 @@ func impliesNotNullRow(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* // clause requires that some column of the right table of the LEFT JOIN // be non-NULL, then the LEFT JOIN can be safely converted into an // ordinary join. -func Xsqlite3ExprImpliesNonNullRow(tls *libc.TLS, p uintptr, iTab int32) int32 { /* sqlite3.c:108270:20: */ +func Xsqlite3ExprImpliesNonNullRow(tls *libc.TLS, p uintptr, iTab int32) int32 { /* sqlite3.c:108283:20: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -87276,7 +87295,7 @@ func Xsqlite3ExprImpliesNonNullRow(tls *libc.TLS, p uintptr, iTab int32) int32 { // Check to see if there are references to columns in table // pWalker->u.pIdxCover->iCur can be satisfied using the index // pWalker->u.pIdxCover->pIdx. -func exprIdxCover(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:108308:12: */ +func exprIdxCover(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:108321:12: */ if int32((*Expr)(unsafe.Pointer(pExpr)).Fop) == TK_COLUMN && (*Expr)(unsafe.Pointer(pExpr)).FiTable == (*IdxCover)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pWalker + 40)))).FiCur && int32(Xsqlite3TableColumnToIndex(tls, (*IdxCover)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pWalker + 40)))).FpIdx, (*Expr)(unsafe.Pointer(pExpr)).FiColumn)) < 0 { @@ -87294,7 +87313,7 @@ func exprIdxCover(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqli // An index covering an expression means that the expression can be // evaluated using only the index and without having to lookup the // corresponding table entry. -func Xsqlite3ExprCoveredByIndex(tls *libc.TLS, pExpr uintptr, iCur int32, pIdx uintptr) int32 { /* sqlite3.c:108329:20: */ +func Xsqlite3ExprCoveredByIndex(tls *libc.TLS, pExpr uintptr, iCur int32, pIdx uintptr) int32 { /* sqlite3.c:108342:20: */ bp := tls.Alloc(64) defer tls.Free(64) @@ -87319,7 +87338,7 @@ func Xsqlite3ExprCoveredByIndex(tls *libc.TLS, pExpr uintptr, iCur int32, pIdx u // entries for that subquery to the exclude list. // // When leaving the subquery, remove those entries from the exclude list. -func selectRefEnter(tls *libc.TLS, pWalker uintptr, pSelect uintptr) int32 { /* sqlite3.c:108364:12: */ +func selectRefEnter(tls *libc.TLS, pWalker uintptr, pSelect uintptr) int32 { /* sqlite3.c:108377:12: */ var p uintptr = *(*uintptr)(unsafe.Pointer(pWalker + 40)) var pSrc uintptr = (*Select)(unsafe.Pointer(pSelect)).FpSrc var i I64 @@ -87357,7 +87376,7 @@ __3: return WRC_Continue } -func selectRefLeave(tls *libc.TLS, pWalker uintptr, pSelect uintptr) { /* sqlite3.c:108384:13: */ +func selectRefLeave(tls *libc.TLS, pWalker uintptr, pSelect uintptr) { /* sqlite3.c:108397:13: */ var p uintptr = *(*uintptr)(unsafe.Pointer(pWalker + 40)) var pSrc uintptr = (*Select)(unsafe.Pointer(pSelect)).FpSrc if (*RefSrcList)(unsafe.Pointer(p)).FnExclude != 0 { @@ -87373,7 +87392,7 @@ func selectRefLeave(tls *libc.TLS, pWalker uintptr, pSelect uintptr) { /* sqlite // // Set the 0x02 bit of pWalker->eCode if there is a reference to a // table is in neither RefSrcList.pRef nor RefSrcList.aiExclude. -func exprRefToSrcList(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:108401:12: */ +func exprRefToSrcList(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:108414:12: */ if int32((*Expr)(unsafe.Pointer(pExpr)).Fop) == TK_COLUMN || int32((*Expr)(unsafe.Pointer(pExpr)).Fop) == TK_AGG_COLUMN { var i int32 @@ -87413,7 +87432,7 @@ func exprRefToSrcList(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* // // As currently used, pExpr is always an aggregate function call. That // fact is exploited for efficiency. -func Xsqlite3ReferencesSrcList(tls *libc.TLS, pParse uintptr, pExpr uintptr, pSrcList uintptr) int32 { /* sqlite3.c:108438:20: */ +func Xsqlite3ReferencesSrcList(tls *libc.TLS, pParse uintptr, pExpr uintptr, pSrcList uintptr) int32 { /* sqlite3.c:108451:20: */ bp := tls.Alloc(80) defer tls.Free(80) @@ -87462,7 +87481,7 @@ func Xsqlite3ReferencesSrcList(tls *libc.TLS, pParse uintptr, pExpr uintptr, pSr // This will cause the expression to be deleted automatically when the // Parse object is destroyed, but the zero register number means that it // will not generate any code in the preamble. -func agginfoPersistExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:108480:12: */ +func agginfoPersistExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:108493:12: */ if !((*Expr)(unsafe.Pointer(pExpr)).Fflags&U32(EP_TokenOnly|EP_Reduced) != U32(0)) && (*Expr)(unsafe.Pointer(pExpr)).FpAggInfo != uintptr(0) { var pAggInfo uintptr = (*Expr)(unsafe.Pointer(pExpr)).FpAggInfo @@ -87495,7 +87514,7 @@ func agginfoPersistExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { // Initialize a Walker object so that will persist AggInfo entries referenced // by the tree that is walked. -func Xsqlite3AggInfoPersistWalkerInit(tls *libc.TLS, pWalker uintptr, pParse uintptr) { /* sqlite3.c:108516:21: */ +func Xsqlite3AggInfoPersistWalkerInit(tls *libc.TLS, pWalker uintptr, pParse uintptr) { /* sqlite3.c:108529:21: */ libc.Xmemset(tls, pWalker, 0, uint64(unsafe.Sizeof(Walker{}))) (*Walker)(unsafe.Pointer(pWalker)).FpParse = pParse (*Walker)(unsafe.Pointer(pWalker)).FxExprCallback = *(*uintptr)(unsafe.Pointer(&struct { @@ -87508,7 +87527,7 @@ func Xsqlite3AggInfoPersistWalkerInit(tls *libc.TLS, pWalker uintptr, pParse uin // Add a new element to the pAggInfo->aCol[] array. Return the index of // the new element. Return a negative number if malloc fails. -func addAggInfoColumn(tls *libc.TLS, db uintptr, pInfo uintptr) int32 { /* sqlite3.c:108527:12: */ +func addAggInfoColumn(tls *libc.TLS, db uintptr, pInfo uintptr) int32 { /* sqlite3.c:108540:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -87525,7 +87544,7 @@ func addAggInfoColumn(tls *libc.TLS, db uintptr, pInfo uintptr) int32 { /* sqlit // Add a new element to the pAggInfo->aFunc[] array. Return the index of // the new element. Return a negative number if malloc fails. -func addAggInfoFunc(tls *libc.TLS, db uintptr, pInfo uintptr) int32 { /* sqlite3.c:108543:12: */ +func addAggInfoFunc(tls *libc.TLS, db uintptr, pInfo uintptr) int32 { /* sqlite3.c:108556:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -87543,7 +87562,7 @@ func addAggInfoFunc(tls *libc.TLS, db uintptr, pInfo uintptr) int32 { /* sqlite3 // This is the xExprCallback for a tree walker. It is used to // implement sqlite3ExprAnalyzeAggregates(). See sqlite3ExprAnalyzeAggregates // for additional information. -func analyzeAggregate(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:108560:12: */ +func analyzeAggregate(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:108573:12: */ var i int32 var pNC uintptr = *(*uintptr)(unsafe.Pointer(pWalker + 40)) var pParse uintptr = (*NameContext)(unsafe.Pointer(pNC)).FpParse @@ -87734,7 +87753,7 @@ func analyzeAggregate(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* // // This routine should only be called after the expression has been // analyzed by sqlite3ResolveExprNames(). -func Xsqlite3ExprAnalyzeAggregates(tls *libc.TLS, pNC uintptr, pExpr uintptr) { /* sqlite3.c:108698:21: */ +func Xsqlite3ExprAnalyzeAggregates(tls *libc.TLS, pNC uintptr, pExpr uintptr) { /* sqlite3.c:108711:21: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -87760,7 +87779,7 @@ func Xsqlite3ExprAnalyzeAggregates(tls *libc.TLS, pNC uintptr, pExpr uintptr) { // expression list. Return the number of errors. // // If an error is found, the analysis is cut short. -func Xsqlite3ExprAnalyzeAggList(tls *libc.TLS, pNC uintptr, pList uintptr) { /* sqlite3.c:108716:21: */ +func Xsqlite3ExprAnalyzeAggList(tls *libc.TLS, pNC uintptr, pList uintptr) { /* sqlite3.c:108729:21: */ var pItem uintptr var i int32 if pList != 0 { @@ -87785,7 +87804,7 @@ func Xsqlite3ExprAnalyzeAggList(tls *libc.TLS, pNC uintptr, pList uintptr) { /* } // Allocate a single new register for use to hold some intermediate result. -func Xsqlite3GetTempReg(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:108729:20: */ +func Xsqlite3GetTempReg(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:108742:20: */ if int32((*Parse)(unsafe.Pointer(pParse)).FnTempReg) == 0 { return libc.PreIncInt32(&(*Parse)(unsafe.Pointer(pParse)).FnMem, 1) } @@ -87794,7 +87813,7 @@ func Xsqlite3GetTempReg(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:1087 // Deallocate a register, making available for reuse for some other // purpose. -func Xsqlite3ReleaseTempReg(tls *libc.TLS, pParse uintptr, iReg int32) { /* sqlite3.c:108740:21: */ +func Xsqlite3ReleaseTempReg(tls *libc.TLS, pParse uintptr, iReg int32) { /* sqlite3.c:108753:21: */ if iReg != 0 { if int32((*Parse)(unsafe.Pointer(pParse)).FnTempReg) < int32(uint64(unsafe.Sizeof([8]int32{}))/uint64(unsafe.Sizeof(int32(0)))) { @@ -87804,7 +87823,7 @@ func Xsqlite3ReleaseTempReg(tls *libc.TLS, pParse uintptr, iReg int32) { /* sqli } // Allocate or deallocate a block of nReg consecutive registers. -func Xsqlite3GetTempRange(tls *libc.TLS, pParse uintptr, nReg int32) int32 { /* sqlite3.c:108752:20: */ +func Xsqlite3GetTempRange(tls *libc.TLS, pParse uintptr, nReg int32) int32 { /* sqlite3.c:108765:20: */ var i int32 var n int32 if nReg == 1 { @@ -87822,7 +87841,7 @@ func Xsqlite3GetTempRange(tls *libc.TLS, pParse uintptr, nReg int32) int32 { /* return i } -func Xsqlite3ReleaseTempRange(tls *libc.TLS, pParse uintptr, iReg int32, nReg int32) { /* sqlite3.c:108766:21: */ +func Xsqlite3ReleaseTempRange(tls *libc.TLS, pParse uintptr, iReg int32, nReg int32) { /* sqlite3.c:108779:21: */ if nReg == 1 { Xsqlite3ReleaseTempReg(tls, pParse, iReg) return @@ -87840,7 +87859,7 @@ func Xsqlite3ReleaseTempRange(tls *libc.TLS, pParse uintptr, iReg int32, nReg in // that might be invoked from other parts of the code, to ensure that // the sub/co-routine does not use registers in common with the code that // invokes the sub/co-routine. -func Xsqlite3ClearTempRegCache(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:108786:21: */ +func Xsqlite3ClearTempRegCache(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:108799:21: */ (*Parse)(unsafe.Pointer(pParse)).FnTempReg = U8(0) (*Parse)(unsafe.Pointer(pParse)).FnRangeReg = 0 } @@ -87874,7 +87893,7 @@ func Xsqlite3ClearTempRegCache(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:108 // in pParse->zErr (system tables may not be altered) and returns non-zero. // // Or, if zName is not a system table, zero is returned. -func isAlterableTable(tls *libc.TLS, pParse uintptr, pTab uintptr) int32 { /* sqlite3.c:108846:12: */ +func isAlterableTable(tls *libc.TLS, pParse uintptr, pTab uintptr) int32 { /* sqlite3.c:108859:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -87893,7 +87912,7 @@ func isAlterableTable(tls *libc.TLS, pParse uintptr, pTab uintptr) int32 { /* sq // called at the end of the generation of an ALTER TABLE ... RENAME ... // statement to ensure that the operation has not rendered any schema // objects unusable. -func renameTestSchema(tls *libc.TLS, pParse uintptr, zDb uintptr, bTemp int32, zWhen uintptr, bNoDQS int32) { /* sqlite3.c:108868:13: */ +func renameTestSchema(tls *libc.TLS, pParse uintptr, zDb uintptr, bTemp int32, zWhen uintptr, bNoDQS int32) { /* sqlite3.c:108881:13: */ bp := tls.Alloc(64) defer tls.Free(64) @@ -87917,7 +87936,7 @@ func renameTestSchema(tls *libc.TLS, pParse uintptr, zDb uintptr, bTemp int32, z // database zDb with their single-quoted equivalents. If argument bTemp is // not true, similarly update all SQL statements in the sqlite_schema table // of the temp db. -func renameFixQuotes(tls *libc.TLS, pParse uintptr, zDb uintptr, bTemp int32) { /* sqlite3.c:108905:13: */ +func renameFixQuotes(tls *libc.TLS, pParse uintptr, zDb uintptr, bTemp int32) { /* sqlite3.c:108918:13: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -87933,7 +87952,7 @@ func renameFixQuotes(tls *libc.TLS, pParse uintptr, zDb uintptr, bTemp int32) { // Generate code to reload the schema for database iDb. And, if iDb!=1, for // the temp database as well. -func renameReloadSchema(tls *libc.TLS, pParse uintptr, iDb int32, p5 U16) { /* sqlite3.c:108926:13: */ +func renameReloadSchema(tls *libc.TLS, pParse uintptr, iDb int32, p5 U16) { /* sqlite3.c:108939:13: */ var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe if v != 0 { Xsqlite3ChangeCookie(tls, pParse, iDb) @@ -87946,7 +87965,7 @@ func renameReloadSchema(tls *libc.TLS, pParse uintptr, iDb int32, p5 U16) { /* s // Generate code to implement the "ALTER TABLE xxx RENAME TO yyy" // command. -func Xsqlite3AlterRenameTable(tls *libc.TLS, pParse uintptr, pSrc uintptr, pName uintptr) { /* sqlite3.c:108939:21: */ +func Xsqlite3AlterRenameTable(tls *libc.TLS, pParse uintptr, pSrc uintptr, pName uintptr) { /* sqlite3.c:108952:21: */ bp := tls.Alloc(184) defer tls.Free(184) @@ -88131,7 +88150,7 @@ exit_rename_table: // Write code that will raise an error if the table described by // zDb and zTab is not empty. -func sqlite3ErrorIfNotEmpty(tls *libc.TLS, pParse uintptr, zDb uintptr, zTab uintptr, zErr uintptr) { /* sqlite3.c:109108:13: */ +func sqlite3ErrorIfNotEmpty(tls *libc.TLS, pParse uintptr, zDb uintptr, zTab uintptr, zErr uintptr) { /* sqlite3.c:109121:13: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -88146,7 +88165,7 @@ func sqlite3ErrorIfNotEmpty(tls *libc.TLS, pParse uintptr, zDb uintptr, zTab uin // // The Table structure pParse->pNewTable was extended to include // the new column during parsing. -func Xsqlite3AlterFinishAddColumn(tls *libc.TLS, pParse uintptr, pColDef uintptr) { /* sqlite3.c:109128:21: */ +func Xsqlite3AlterFinishAddColumn(tls *libc.TLS, pParse uintptr, pColDef uintptr) { /* sqlite3.c:109141:21: */ bp := tls.Alloc(64) defer tls.Free(64) @@ -88292,7 +88311,7 @@ func Xsqlite3AlterFinishAddColumn(tls *libc.TLS, pParse uintptr, pColDef uintptr // // Routine sqlite3AlterFinishAddColumn() will be called to complete // coding the "ALTER TABLE ... ADD" statement. -func Xsqlite3AlterBeginAddColumn(tls *libc.TLS, pParse uintptr, pSrc uintptr) { /* sqlite3.c:109293:21: */ +func Xsqlite3AlterBeginAddColumn(tls *libc.TLS, pParse uintptr, pSrc uintptr) { /* sqlite3.c:109306:21: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -88409,7 +88428,7 @@ exit_begin_add_column: // it loads an error message into pParse and returns non-zero. // // Or, if pTab is not a view or virtual table, zero is returned. -func isRealTable(tls *libc.TLS, pParse uintptr, pTab uintptr, bDrop int32) int32 { /* sqlite3.c:109376:12: */ +func isRealTable(tls *libc.TLS, pParse uintptr, pTab uintptr, bDrop int32) int32 { /* sqlite3.c:109389:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -88437,7 +88456,7 @@ func isRealTable(tls *libc.TLS, pParse uintptr, pTab uintptr, bDrop int32) int32 // Handles the following parser reduction: // // cmd ::= ALTER TABLE pSrc RENAME COLUMN pOld TO pNew -func Xsqlite3AlterRenameColumn(tls *libc.TLS, pParse uintptr, pSrc uintptr, pOld uintptr, pNew uintptr) { /* sqlite3.c:109406:21: */ +func Xsqlite3AlterRenameColumn(tls *libc.TLS, pParse uintptr, pSrc uintptr, pOld uintptr, pNew uintptr) { /* sqlite3.c:109419:21: */ bp := tls.Alloc(112) defer tls.Free(112) @@ -88566,7 +88585,7 @@ exit_rename_column: // The context of an ALTER TABLE RENAME COLUMN operation that gets passed // down into the Walker. -type RenameCtx = RenameCtx1 /* sqlite3.c:109521:26 */ +type RenameCtx = RenameCtx1 /* sqlite3.c:109534:26 */ // Remember that the parser tree element pPtr was created using // the token pToken. @@ -88578,7 +88597,7 @@ type RenameCtx = RenameCtx1 /* sqlite3.c:109521:26 */ // The pPtr argument is returned so that this routine can be used // with tail recursion in tokenExpr() routine, for a small performance // improvement. -func Xsqlite3RenameTokenMap(tls *libc.TLS, pParse uintptr, pPtr uintptr, pToken uintptr) uintptr { /* sqlite3.c:109584:27: */ +func Xsqlite3RenameTokenMap(tls *libc.TLS, pParse uintptr, pPtr uintptr, pToken uintptr) uintptr { /* sqlite3.c:109597:27: */ var pNew uintptr if int32((*Parse)(unsafe.Pointer(pParse)).FeParseMode) != PARSE_MODE_UNMAP { @@ -88597,7 +88616,7 @@ func Xsqlite3RenameTokenMap(tls *libc.TLS, pParse uintptr, pPtr uintptr, pToken // It is assumed that there is already a RenameToken object associated // with parse tree element pFrom. This function remaps the associated token // to parse tree element pTo. -func Xsqlite3RenameTokenRemap(tls *libc.TLS, pParse uintptr, pTo uintptr, pFrom uintptr) { /* sqlite3.c:109610:21: */ +func Xsqlite3RenameTokenRemap(tls *libc.TLS, pParse uintptr, pTo uintptr, pFrom uintptr) { /* sqlite3.c:109623:21: */ var p uintptr for p = (*Parse)(unsafe.Pointer(pParse)).FpRename; p != 0; p = (*RenameToken)(unsafe.Pointer(p)).FpNext { @@ -88609,7 +88628,7 @@ func Xsqlite3RenameTokenRemap(tls *libc.TLS, pParse uintptr, pTo uintptr, pFrom } // Walker callback used by sqlite3RenameExprUnmap(). -func renameUnmapExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:109624:12: */ +func renameUnmapExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:109637:12: */ var pParse uintptr = (*Walker)(unsafe.Pointer(pWalker)).FpParse Xsqlite3RenameTokenRemap(tls, pParse, uintptr(0), pExpr) if (*Expr)(unsafe.Pointer(pExpr)).Fflags&U32(EP_WinFunc|EP_Subrtn) == U32(0) { @@ -88620,7 +88639,7 @@ func renameUnmapExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* // Iterate through the Select objects that are part of WITH clauses attached // to select statement pSelect. -func renameWalkWith(tls *libc.TLS, pWalker uintptr, pSelect uintptr) { /* sqlite3.c:109637:13: */ +func renameWalkWith(tls *libc.TLS, pWalker uintptr, pSelect uintptr) { /* sqlite3.c:109650:13: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -88661,7 +88680,7 @@ func renameWalkWith(tls *libc.TLS, pWalker uintptr, pSelect uintptr) { /* sqlite } // Unmap all tokens in the IdList object passed as the second argument. -func unmapColumnIdlistNames(tls *libc.TLS, pParse uintptr, pIdList uintptr) { /* sqlite3.c:109672:13: */ +func unmapColumnIdlistNames(tls *libc.TLS, pParse uintptr, pIdList uintptr) { /* sqlite3.c:109685:13: */ if pIdList != 0 { var ii int32 for ii = 0; ii < (*IdList)(unsafe.Pointer(pIdList)).FnId; ii++ { @@ -88671,7 +88690,7 @@ func unmapColumnIdlistNames(tls *libc.TLS, pParse uintptr, pIdList uintptr) { /* } // Walker callback used by sqlite3RenameExprUnmap(). -func renameUnmapSelectCb(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sqlite3.c:109687:12: */ +func renameUnmapSelectCb(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sqlite3.c:109700:12: */ var pParse uintptr = (*Walker)(unsafe.Pointer(pWalker)).FpParse var i int32 if (*Parse)(unsafe.Pointer(pParse)).FnErr != 0 { @@ -88703,7 +88722,7 @@ func renameUnmapSelectCb(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* s } // Remove all nodes that are part of expression pExpr from the rename list. -func Xsqlite3RenameExprUnmap(tls *libc.TLS, pParse uintptr, pExpr uintptr) { /* sqlite3.c:109720:21: */ +func Xsqlite3RenameExprUnmap(tls *libc.TLS, pParse uintptr, pExpr uintptr) { /* sqlite3.c:109733:21: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -88725,7 +88744,7 @@ func Xsqlite3RenameExprUnmap(tls *libc.TLS, pParse uintptr, pExpr uintptr) { /* // Remove all nodes that are part of expression-list pEList from the // rename list. -func Xsqlite3RenameExprlistUnmap(tls *libc.TLS, pParse uintptr, pEList uintptr) { /* sqlite3.c:109736:21: */ +func Xsqlite3RenameExprlistUnmap(tls *libc.TLS, pParse uintptr, pEList uintptr) { /* sqlite3.c:109749:21: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -88748,7 +88767,7 @@ func Xsqlite3RenameExprlistUnmap(tls *libc.TLS, pParse uintptr, pEList uintptr) } // Free the list of RenameToken objects given in the second argument -func renameTokenFree(tls *libc.TLS, db uintptr, pToken uintptr) { /* sqlite3.c:109755:13: */ +func renameTokenFree(tls *libc.TLS, db uintptr, pToken uintptr) { /* sqlite3.c:109768:13: */ var pNext uintptr var p uintptr for p = pToken; p != 0; p = pNext { @@ -88764,7 +88783,7 @@ func renameTokenFree(tls *libc.TLS, db uintptr, pToken uintptr) { /* sqlite3.c:1 // If the second argument passed to this function is not NULL and a matching // RenameToken object is found, remove it from the Parse object and add it to // the list maintained by the RenameCtx object. -func renameTokenFind(tls *libc.TLS, pParse uintptr, pCtx uintptr, pPtr uintptr) uintptr { /* sqlite3.c:109773:20: */ +func renameTokenFind(tls *libc.TLS, pParse uintptr, pCtx uintptr, pPtr uintptr) uintptr { /* sqlite3.c:109786:20: */ var pp uintptr if pPtr == uintptr(0) { return uintptr(0) @@ -88787,7 +88806,7 @@ func renameTokenFind(tls *libc.TLS, pParse uintptr, pCtx uintptr, pPtr uintptr) // This is a Walker select callback. It does nothing. It is only required // because without a dummy callback, sqlite3WalkExpr() and similar do not // descend into sub-select statements. -func renameColumnSelectCb(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sqlite3.c:109802:12: */ +func renameColumnSelectCb(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sqlite3.c:109815:12: */ if (*Select)(unsafe.Pointer(p)).FselFlags&U32(SF_View|SF_CopyCte) != 0 { return WRC_Prune @@ -88803,7 +88822,7 @@ func renameColumnSelectCb(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* // ALTER TABLE statement. If it is, then attach its associated // RenameToken object to the list of RenameToken objects being // constructed in RenameCtx object at pWalker->u.pRename. -func renameColumnExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:109821:12: */ +func renameColumnExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:109834:12: */ var p uintptr = *(*uintptr)(unsafe.Pointer(pWalker + 40)) if int32((*Expr)(unsafe.Pointer(pExpr)).Fop) == TK_TRIGGER && int32((*Expr)(unsafe.Pointer(pExpr)).FiColumn) == (*RenameCtx)(unsafe.Pointer(p)).FiCol && @@ -88825,7 +88844,7 @@ func renameColumnExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { / // the input SQL is parsed from left to right. Repeated calls to this routine // return all column name tokens in the order that they are encountered // in the SQL statement. -func renameColumnTokenNext(tls *libc.TLS, pCtx uintptr) uintptr { /* sqlite3.c:109847:20: */ +func renameColumnTokenNext(tls *libc.TLS, pCtx uintptr) uintptr { /* sqlite3.c:109860:20: */ var pBest uintptr = (*RenameCtx)(unsafe.Pointer(pCtx)).FpList var pToken uintptr var pp uintptr @@ -88847,7 +88866,7 @@ func renameColumnTokenNext(tls *libc.TLS, pCtx uintptr) uintptr { /* sqlite3.c:1 // ALTER TABLE RENAME COLUMN program. The error message emitted by the // sub-routine is currently stored in pParse->zErrMsg. This function // adds context to the error message and then stores it in pCtx. -func renameColumnParseError(tls *libc.TLS, pCtx uintptr, zWhen uintptr, pType uintptr, pObject uintptr, pParse uintptr) { /* sqlite3.c:109868:13: */ +func renameColumnParseError(tls *libc.TLS, pCtx uintptr, zWhen uintptr, pType uintptr, pObject uintptr, pParse uintptr) { /* sqlite3.c:109881:13: */ bp := tls.Alloc(40) defer tls.Free(40) @@ -88871,7 +88890,7 @@ func renameColumnParseError(tls *libc.TLS, pCtx uintptr, zWhen uintptr, pType ui // pEList->a[i].zName) that matches the string in zOld, extract the // corresponding rename-token from Parse object pParse and add it // to the RenameCtx pCtx. -func renameColumnElistNames(tls *libc.TLS, pParse uintptr, pCtx uintptr, pEList uintptr, zOld uintptr) { /* sqlite3.c:109893:13: */ +func renameColumnElistNames(tls *libc.TLS, pParse uintptr, pCtx uintptr, pEList uintptr, zOld uintptr) { /* sqlite3.c:109906:13: */ if pEList != 0 { var i int32 for i = 0; i < (*ExprList)(unsafe.Pointer(pEList)).FnExpr; i++ { @@ -88888,7 +88907,7 @@ func renameColumnElistNames(tls *libc.TLS, pParse uintptr, pCtx uintptr, pEList // For each name in the the id-list pIdList (i.e. each pIdList->a[i].zName) // that matches the string in zOld, extract the corresponding rename-token // from Parse object pParse and add it to the RenameCtx pCtx. -func renameColumnIdlistNames(tls *libc.TLS, pParse uintptr, pCtx uintptr, pIdList uintptr, zOld uintptr) { /* sqlite3.c:109918:13: */ +func renameColumnIdlistNames(tls *libc.TLS, pParse uintptr, pCtx uintptr, pIdList uintptr, zOld uintptr) { /* sqlite3.c:109931:13: */ if pIdList != 0 { var i int32 for i = 0; i < (*IdList)(unsafe.Pointer(pIdList)).FnId; i++ { @@ -88902,7 +88921,7 @@ func renameColumnIdlistNames(tls *libc.TLS, pParse uintptr, pCtx uintptr, pIdLis // Parse the SQL statement zSql using Parse object (*p). The Parse object // is initialized by this function before it is used. -func renameParseSql(tls *libc.TLS, p uintptr, zDb uintptr, db uintptr, zSql uintptr, bTemp int32) int32 { /* sqlite3.c:109940:12: */ +func renameParseSql(tls *libc.TLS, p uintptr, zDb uintptr, db uintptr, zSql uintptr, bTemp int32) int32 { /* sqlite3.c:109953:12: */ var rc int32 Xsqlite3ParseObjectInit(tls, p, db) @@ -88910,7 +88929,7 @@ func renameParseSql(tls *libc.TLS, p uintptr, zDb uintptr, db uintptr, zSql uint return SQLITE_NOMEM } if Xsqlite3_strnicmp(tls, zSql, ts+10800, 7) != 0 { - return Xsqlite3CorruptError(tls, 109954) + return Xsqlite3CorruptError(tls, 109967) } (*Sqlite3)(unsafe.Pointer(db)).Finit.FiDb = func() uint8 { if bTemp != 0 { @@ -88927,7 +88946,7 @@ func renameParseSql(tls *libc.TLS, p uintptr, zDb uintptr, db uintptr, zSql uint } if rc == SQLITE_OK && ((*Parse)(unsafe.Pointer(p)).FpNewTable == uintptr(0) && (*Parse)(unsafe.Pointer(p)).FpNewIndex == uintptr(0) && (*Parse)(unsafe.Pointer(p)).FpNewTrigger == uintptr(0)) { - rc = Xsqlite3CorruptError(tls, 109965) + rc = Xsqlite3CorruptError(tls, 109978) } (*Sqlite3)(unsafe.Pointer(db)).Finit.FiDb = U8(0) @@ -88941,7 +88960,7 @@ func renameParseSql(tls *libc.TLS, p uintptr, zDb uintptr, db uintptr, zSql uint // // Or, if an error occurs (i.e. an OOM condition), an error is left in // pCtx and an SQLite error code returned. -func renameEditSql(tls *libc.TLS, pCtx uintptr, pRename uintptr, zSql uintptr, zNew uintptr, bQuote int32) int32 { /* sqlite3.c:109993:12: */ +func renameEditSql(tls *libc.TLS, pCtx uintptr, pRename uintptr, zSql uintptr, zNew uintptr, bQuote int32) int32 { /* sqlite3.c:110006:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -89047,7 +89066,7 @@ func renameEditSql(tls *libc.TLS, pCtx uintptr, pRename uintptr, zSql uintptr, z // it was read from the schema of database zDb. Return SQLITE_OK if // successful. Otherwise, return an SQLite error code and leave an error // message in the Parse object. -func renameResolveTrigger(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:110100:12: */ +func renameResolveTrigger(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:110113:12: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -89145,7 +89164,7 @@ func renameResolveTrigger(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:11 // Invoke sqlite3WalkExpr() or sqlite3WalkSelect() on all Select or Expr // objects that are part of the trigger passed as the second argument. -func renameWalkTrigger(tls *libc.TLS, pWalker uintptr, pTrigger uintptr) { /* sqlite3.c:110196:13: */ +func renameWalkTrigger(tls *libc.TLS, pWalker uintptr, pTrigger uintptr) { /* sqlite3.c:110209:13: */ var pStep uintptr // Find tokens to edit in WHEN clause @@ -89174,7 +89193,7 @@ func renameWalkTrigger(tls *libc.TLS, pWalker uintptr, pTrigger uintptr) { /* sq // Free the contents of Parse object (*pParse). Do not free the memory // occupied by the Parse object itself. -func renameParseCleanup(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:110227:13: */ +func renameParseCleanup(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:110240:13: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb var pIdx uintptr if (*Parse)(unsafe.Pointer(pParse)).FpVdbe != 0 { @@ -89213,7 +89232,7 @@ func renameParseCleanup(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:110227:13: // It is only accessible to SQL created using sqlite3NestedParse(). It is // not reachable from ordinary SQL passed into sqlite3_prepare() unless the // SQLITE_TESTCTRL_INTERNAL_FUNCTIONS test setting is enabled. -func renameColumnFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { /* sqlite3.c:110268:13: */ +func renameColumnFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { /* sqlite3.c:110281:13: */ bp := tls.Alloc(488) defer tls.Free(488) @@ -89556,7 +89575,7 @@ __44: } // Walker expression callback used by "RENAME TABLE". -func renameTableExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:110435:12: */ +func renameTableExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:110448:12: */ var p uintptr = *(*uintptr)(unsafe.Pointer(pWalker + 40)) if int32((*Expr)(unsafe.Pointer(pExpr)).Fop) == TK_COLUMN && (*Expr)(unsafe.Pointer(pExpr)).Fflags&U32(EP_WinFunc|EP_Subrtn) == U32(0) && @@ -89567,7 +89586,7 @@ func renameTableExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* } // Walker select callback used by "RENAME TABLE". -func renameTableSelectCb(tls *libc.TLS, pWalker uintptr, pSelect uintptr) int32 { /* sqlite3.c:110449:12: */ +func renameTableSelectCb(tls *libc.TLS, pWalker uintptr, pSelect uintptr) int32 { /* sqlite3.c:110462:12: */ var i int32 var p uintptr = *(*uintptr)(unsafe.Pointer(pWalker + 40)) var pSrc uintptr = (*Select)(unsafe.Pointer(pSelect)).FpSrc @@ -89607,7 +89626,7 @@ func renameTableSelectCb(tls *libc.TLS, pWalker uintptr, pSelect uintptr) int32 // // sqlite_rename_table('main', 'CREATE TABLE t1(a REFERENCES t2)','t2','t3',0) // -> 'CREATE TABLE t1(a REFERENCES t3)' -func renameTableFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { /* sqlite3.c:110493:13: */ +func renameTableFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { /* sqlite3.c:110506:13: */ bp := tls.Alloc(544) defer tls.Free(544) @@ -89741,7 +89760,7 @@ func renameTableFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr return } -func renameQuotefixExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:110636:12: */ +func renameQuotefixExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:110649:12: */ if int32((*Expr)(unsafe.Pointer(pExpr)).Fop) == TK_STRING && (*Expr)(unsafe.Pointer(pExpr)).Fflags&U32(EP_DblQuoted) != 0 { renameTokenFind(tls, (*Walker)(unsafe.Pointer(pWalker)).FpParse, *(*uintptr)(unsafe.Pointer(pWalker + 40)), pExpr) } @@ -89774,7 +89793,7 @@ func renameQuotefixExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { // If there is a error in the input SQL, then raise an error, except // if PRAGMA writable_schema=ON, then just return the input string // unmodified following an error. -func renameQuotefixFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { /* sqlite3.c:110670:13: */ +func renameQuotefixFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { /* sqlite3.c:110683:13: */ bp := tls.Alloc(488) defer tls.Free(488) @@ -89888,7 +89907,7 @@ func renameQuotefixFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uint // B. Else if a trigger is created and the the table that the trigger is // attached to is in database zDb, then return 1. // C. Otherwise return NULL. -func renameTableTest(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { /* sqlite3.c:110783:13: */ +func renameTableTest(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { /* sqlite3.c:110796:13: */ bp := tls.Alloc(464) defer tls.Free(464) @@ -89960,7 +89979,7 @@ func renameTableTest(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr // // The value returned is a string containing the CREATE TABLE statement // with column argv[2] removed. -func dropColumnFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { /* sqlite3.c:110858:13: */ +func dropColumnFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { /* sqlite3.c:110871:13: */ bp := tls.Alloc(432) defer tls.Free(432) @@ -90000,7 +90019,7 @@ __1: goto __2 } // This can happen if the sqlite_schema table is corrupt - rc = Xsqlite3CorruptError(tls, 110886) + rc = Xsqlite3CorruptError(tls, 110899) goto drop_column_done __2: ; @@ -90046,7 +90065,7 @@ __7: // // statement. Argument pSrc contains the possibly qualified name of the // table being edited, and token pName the name of the column to drop. -func Xsqlite3AlterDropColumn(tls *libc.TLS, pParse uintptr, pSrc uintptr, pName uintptr) { /* sqlite3.c:110923:21: */ +func Xsqlite3AlterDropColumn(tls *libc.TLS, pParse uintptr, pSrc uintptr, pName uintptr) { /* sqlite3.c:110936:21: */ bp := tls.Alloc(64) defer tls.Free(64) @@ -90279,7 +90298,7 @@ exit_drop_column: } // Register built-in functions used to help implement ALTER TABLE -func Xsqlite3AlterFunctions(tls *libc.TLS) { /* sqlite3.c:111065:21: */ +func Xsqlite3AlterFunctions(tls *libc.TLS) { /* sqlite3.c:111078:21: */ Xsqlite3InsertBuiltinFuncs(tls, uintptr(unsafe.Pointer(&aAlterTableFuncs)), int32(uint64(unsafe.Sizeof(aAlterTableFuncs))/uint64(unsafe.Sizeof(FuncDef{})))) } @@ -90288,7 +90307,7 @@ var aAlterTableFuncs = [5]FuncDef{ {FnArg: int8(7), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_FUNC_INTERNAL | SQLITE_UTF8 | SQLITE_FUNC_CONSTANT), FxSFunc: 0, FzName: ts + 11074}, {FnArg: int8(7), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_FUNC_INTERNAL | SQLITE_UTF8 | SQLITE_FUNC_CONSTANT), FxSFunc: 0, FzName: ts + 11094}, {FnArg: int8(3), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_FUNC_INTERNAL | SQLITE_UTF8 | SQLITE_FUNC_CONSTANT), FxSFunc: 0, FzName: ts + 11113}, - {FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_FUNC_INTERNAL | SQLITE_UTF8 | SQLITE_FUNC_CONSTANT), FxSFunc: 0, FzName: ts + 11132}} /* sqlite3.c:111066:18 */ + {FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_FUNC_INTERNAL | SQLITE_UTF8 | SQLITE_FUNC_CONSTANT), FxSFunc: 0, FzName: ts + 11132}} /* sqlite3.c:111079:18 */ //************* End of alter.c ********************************************** //************* Begin file analyze.c **************************************** @@ -90444,7 +90463,7 @@ var aAlterTableFuncs = [5]FuncDef{ // or it may be a NULL pointer. If it is not NULL, then all entries in // the sqlite_statN tables associated with the named table are deleted. // If zWhere==0, then code is generated to delete all stat table entries. -func openStatTable(tls *libc.TLS, pParse uintptr, iDb int32, iStatCur int32, zWhere uintptr, zWhereType uintptr) { /* sqlite3.c:111244:13: */ +func openStatTable(tls *libc.TLS, pParse uintptr, iDb int32, iStatCur int32, zWhere uintptr, zWhereType uintptr) { /* sqlite3.c:111257:13: */ bp := tls.Alloc(88) defer tls.Free(88) @@ -90524,7 +90543,7 @@ var aTable = [3]struct { {FzName: ts + 11226 /* "sqlite_stat1" */, FzCols: ts + 11239 /* "tbl,idx,stat" */}, {FzName: ts + 11252 /* "sqlite_stat4" */, FzCols: ts + 11265 /* "tbl,idx,neq,nlt,..." */}, {FzName: ts + 11293 /* "sqlite_stat3" */}, -} /* sqlite3.c:111254:5 */ +} /* sqlite3.c:111267:5 */ // Recommended number of samples for sqlite_stat4 @@ -90551,14 +90570,14 @@ type StatAccum1 = struct { FnMaxEqZero int32 FiGet int32 Fa uintptr -} /* sqlite3.c:111342:9 */ +} /* sqlite3.c:111355:9 */ // Recommended number of samples for sqlite_stat4 // Three SQL functions - stat_init(), stat_push(), and stat_get() - // share an instance of the following structure to hold their state // information. -type StatAccum = StatAccum1 /* sqlite3.c:111342:26 */ +type StatAccum = StatAccum1 /* sqlite3.c:111355:26 */ type StatSample1 = struct { FanEq uintptr FanDLt uintptr @@ -90569,12 +90588,12 @@ type StatSample1 = struct { F__ccgo_pad1 [3]byte FiCol int32 FiHash U32 -} /* sqlite3.c:111342:9 */ +} /* sqlite3.c:111355:9 */ -type StatSample = StatSample1 /* sqlite3.c:111343:27 */ +type StatSample = StatSample1 /* sqlite3.c:111356:27 */ // Reclaim memory used by a StatSample -func sampleClear(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:111384:13: */ +func sampleClear(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:111397:13: */ if (*StatSample)(unsafe.Pointer(p)).FnRowid != 0 { Xsqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(p + 24))) @@ -90583,7 +90602,7 @@ func sampleClear(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:111384:13: } // Initialize the BLOB value of a ROWID -func sampleSetRowid(tls *libc.TLS, db uintptr, p uintptr, n int32, pData uintptr) { /* sqlite3.c:111396:13: */ +func sampleSetRowid(tls *libc.TLS, db uintptr, p uintptr, n int32, pData uintptr) { /* sqlite3.c:111409:13: */ if (*StatSample)(unsafe.Pointer(p)).FnRowid != 0 { Xsqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(p + 24))) @@ -90598,7 +90617,7 @@ func sampleSetRowid(tls *libc.TLS, db uintptr, p uintptr, n int32, pData uintptr } // Initialize the INTEGER value of a ROWID. -func sampleSetRowidInt64(tls *libc.TLS, db uintptr, p uintptr, iRowid I64) { /* sqlite3.c:111412:13: */ +func sampleSetRowidInt64(tls *libc.TLS, db uintptr, p uintptr, iRowid I64) { /* sqlite3.c:111425:13: */ if (*StatSample)(unsafe.Pointer(p)).FnRowid != 0 { Xsqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(p + 24))) @@ -90608,7 +90627,7 @@ func sampleSetRowidInt64(tls *libc.TLS, db uintptr, p uintptr, iRowid I64) { /* } // Copy the contents of object (*pFrom) into (*pTo). -func sampleCopy(tls *libc.TLS, p uintptr, pTo uintptr, pFrom uintptr) { /* sqlite3.c:111425:13: */ +func sampleCopy(tls *libc.TLS, p uintptr, pTo uintptr, pFrom uintptr) { /* sqlite3.c:111438:13: */ (*StatSample)(unsafe.Pointer(pTo)).FisPSample = (*StatSample)(unsafe.Pointer(pFrom)).FisPSample (*StatSample)(unsafe.Pointer(pTo)).FiCol = (*StatSample)(unsafe.Pointer(pFrom)).FiCol (*StatSample)(unsafe.Pointer(pTo)).FiHash = (*StatSample)(unsafe.Pointer(pFrom)).FiHash @@ -90623,7 +90642,7 @@ func sampleCopy(tls *libc.TLS, p uintptr, pTo uintptr, pFrom uintptr) { /* sqlit } // Reclaim all memory of a StatAccum structure. -func statAccumDestructor(tls *libc.TLS, pOld uintptr) { /* sqlite3.c:111443:13: */ +func statAccumDestructor(tls *libc.TLS, pOld uintptr) { /* sqlite3.c:111456:13: */ var p uintptr = pOld if (*StatAccum)(unsafe.Pointer(p)).FmxSample != 0 { var i int32 @@ -90658,7 +90677,7 @@ func statAccumDestructor(tls *libc.TLS, pOld uintptr) { /* sqlite3.c:111443:13: // value is a pointer to the StatAccum object. The datatype of the // return value is BLOB, but it is really just a pointer to the StatAccum // object. -func statInit(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:111478:13: */ +func statInit(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:111491:13: */ var p uintptr var nCol int32 // Number of columns in index being sampled var nKeyCol int32 // Number of key columns @@ -90753,7 +90772,7 @@ var statInitFuncdef = FuncDef{ FnArg: int8(4), // nArg FfuncFlags: U32(SQLITE_UTF8), // pNext FxSFunc: 0, // xValue, xInverse - FzName: ts + 11306} /* sqlite3.c:111564:22 */ + FzName: ts + 11306} /* sqlite3.c:111577:22 */ // pNew and pOld are both candidate non-periodic samples selected for // the same column (pNew->iCol==pOld->iCol). Ignoring this column and @@ -90764,7 +90783,7 @@ var statInitFuncdef = FuncDef{ // // This function assumes that for each argument sample, the contents of // the anEq[] array from pSample->anEq[pSample->iCol+1] onwards are valid. -func sampleIsBetterPost(tls *libc.TLS, pAccum uintptr, pNew uintptr, pOld uintptr) int32 { /* sqlite3.c:111588:12: */ +func sampleIsBetterPost(tls *libc.TLS, pAccum uintptr, pNew uintptr, pOld uintptr) int32 { /* sqlite3.c:111601:12: */ var nCol int32 = (*StatAccum)(unsafe.Pointer(pAccum)).FnCol var i int32 @@ -90786,7 +90805,7 @@ func sampleIsBetterPost(tls *libc.TLS, pAccum uintptr, pNew uintptr, pOld uintpt // // This function assumes that for each argument sample, the contents of // the anEq[] array from pSample->anEq[pSample->iCol] onwards are valid. -func sampleIsBetter(tls *libc.TLS, pAccum uintptr, pNew uintptr, pOld uintptr) int32 { /* sqlite3.c:111612:12: */ +func sampleIsBetter(tls *libc.TLS, pAccum uintptr, pNew uintptr, pOld uintptr) int32 { /* sqlite3.c:111625:12: */ var nEqNew TRowcnt = *(*TRowcnt)(unsafe.Pointer((*StatSample)(unsafe.Pointer(pNew)).FanEq + uintptr((*StatSample)(unsafe.Pointer(pNew)).FiCol)*4)) var nEqOld TRowcnt = *(*TRowcnt)(unsafe.Pointer((*StatSample)(unsafe.Pointer(pOld)).FanEq + uintptr((*StatSample)(unsafe.Pointer(pOld)).FiCol)*4)) @@ -90804,7 +90823,7 @@ func sampleIsBetter(tls *libc.TLS, pAccum uintptr, pNew uintptr, pOld uintptr) i // Copy the contents of sample *pNew into the p->a[] array. If necessary, // remove the least desirable sample from p->a[] to make room. -func sampleInsert(tls *libc.TLS, p uintptr, pNew uintptr, nEqZero int32) { /* sqlite3.c:111635:13: */ +func sampleInsert(tls *libc.TLS, p uintptr, pNew uintptr, nEqZero int32) { /* sqlite3.c:111648:13: */ var pSample uintptr var i int32 var pOld uintptr @@ -90947,7 +90966,7 @@ __11: // p->current contains a sample that reflects the previous row of the // index. The value of anEq[iChng] and subsequent anEq[] elements are // correct at this point. -func samplePushPrevious(tls *libc.TLS, p uintptr, iChng int32) { /* sqlite3.c:111727:13: */ +func samplePushPrevious(tls *libc.TLS, p uintptr, iChng int32) { /* sqlite3.c:111740:13: */ var i int32 // Check if any samples from the aBest[] array should be pushed @@ -90999,7 +91018,7 @@ func samplePushPrevious(tls *libc.TLS, p uintptr, iChng int32) { /* sqlite3.c:11 // if it wants the byte-code to do special processing. // // The R parameter is only used for STAT4 -func statPush(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:111779:13: */ +func statPush(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:111792:13: */ var i int32 // The three function arguments @@ -91071,7 +91090,7 @@ var statPushFuncdef = FuncDef{ FnArg: int8(2 + IsStat4), FfuncFlags: U32(SQLITE_UTF8), // pNext FxSFunc: 0, // xValue, xInverse - FzName: ts + 11316} /* sqlite3.c:111854:22 */ + FzName: ts + 11316} /* sqlite3.c:111867:22 */ // Implementation of the stat_get(P,J) SQL function. This routine is // used to query statistical information that has been gathered into @@ -91090,7 +91109,7 @@ var statPushFuncdef = FuncDef{ // STAT_GET_STAT1 and is hence omitted and this routine becomes // a one-parameter function, stat_get(P), that always returns the // stat1 table entry information. -func statGet(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:111891:13: */ +func statGet(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:111904:13: */ bp := tls.Alloc(88) defer tls.Free(88) @@ -91191,9 +91210,9 @@ var statGetFuncdef = FuncDef{ FnArg: int8(1 + IsStat4), FfuncFlags: U32(SQLITE_UTF8), // pNext FxSFunc: 0, // xValue, xInverse - FzName: ts + 11343} /* sqlite3.c:111988:22 */ + FzName: ts + 11343} /* sqlite3.c:112001:22 */ -func callStatGet(tls *libc.TLS, pParse uintptr, regStat int32, iParam int32, regOut int32) { /* sqlite3.c:112000:13: */ +func callStatGet(tls *libc.TLS, pParse uintptr, regStat int32, iParam int32, regOut int32) { /* sqlite3.c:112013:13: */ Xsqlite3VdbeAddOp2(tls, (*Parse)(unsafe.Pointer(pParse)).FpVdbe, OP_Integer, iParam, regStat+1) Xsqlite3VdbeAddFunctionCall(tls, pParse, 0, regStat, regOut, 1+IsStat4, @@ -91202,7 +91221,7 @@ func callStatGet(tls *libc.TLS, pParse uintptr, regStat int32, iParam int32, reg // Generate code to do an analysis of all indices associated with // a single table. -func analyzeOneTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uintptr, iStatCur int32, iMem int32, iTab int32) { /* sqlite3.c:112041:13: */ +func analyzeOneTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uintptr, iStatCur int32, iMem int32, iTab int32) { /* sqlite3.c:112054:13: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb // Database handle var pIdx uintptr // An index to being analyzed var iIdxCur int32 // Cursor open on index being analyzed @@ -91562,7 +91581,7 @@ func analyzeOneTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uintp // Generate code that will cause the most recent index analysis to // be loaded into internal hash tables where is can be used. -func loadAnalysis(tls *libc.TLS, pParse uintptr, iDb int32) { /* sqlite3.c:112403:13: */ +func loadAnalysis(tls *libc.TLS, pParse uintptr, iDb int32) { /* sqlite3.c:112416:13: */ var v uintptr = Xsqlite3GetVdbe(tls, pParse) if v != 0 { Xsqlite3VdbeAddOp1(tls, v, OP_LoadAnalysis, iDb) @@ -91570,7 +91589,7 @@ func loadAnalysis(tls *libc.TLS, pParse uintptr, iDb int32) { /* sqlite3.c:11240 } // Generate code that will do an analysis of an entire database -func analyzeDatabase(tls *libc.TLS, pParse uintptr, iDb int32) { /* sqlite3.c:112413:13: */ +func analyzeDatabase(tls *libc.TLS, pParse uintptr, iDb int32) { /* sqlite3.c:112426:13: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb var pSchema uintptr = (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32)).FpSchema // Schema of database iDb var k uintptr @@ -91595,7 +91614,7 @@ func analyzeDatabase(tls *libc.TLS, pParse uintptr, iDb int32) { /* sqlite3.c:11 // Generate code that will do an analysis of a single table in // a database. If pOnlyIdx is not NULL then it is a single index // in pTab that should be analyzed. -func analyzeTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uintptr) { /* sqlite3.c:112440:13: */ +func analyzeTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uintptr) { /* sqlite3.c:112453:13: */ var iDb int32 var iStatCur int32 @@ -91622,7 +91641,7 @@ func analyzeTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uintptr) // Form 1 causes all indices in all attached databases to be analyzed. // Form 2 analyzes all indices the single database named. // Form 3 analyzes all indices associated with the named table. -func Xsqlite3Analyze(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 uintptr) { /* sqlite3.c:112471:21: */ +func Xsqlite3Analyze(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 uintptr) { /* sqlite3.c:112484:21: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -91685,16 +91704,16 @@ func Xsqlite3Analyze(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 uintp type analysisInfo = struct { Fdb uintptr FzDatabase uintptr -} /* sqlite3.c:112523:9 */ +} /* sqlite3.c:112536:9 */ // Used to pass information from the analyzer reader through to the // callback routine. -type AnalysisInfo = analysisInfo /* sqlite3.c:112523:29 */ +type AnalysisInfo = analysisInfo /* sqlite3.c:112536:29 */ // The first argument points to a nul-terminated string containing a // list of space separated integers. Read the first nOut of these into // the array aOut[]. -func decodeIntArray(tls *libc.TLS, zIntArray uintptr, nOut int32, aOut uintptr, aLog uintptr, pIndex uintptr) { /* sqlite3.c:112534:13: */ +func decodeIntArray(tls *libc.TLS, zIntArray uintptr, nOut int32, aOut uintptr, aLog uintptr, pIndex uintptr) { /* sqlite3.c:112547:13: */ var z uintptr = zIntArray var c int32 var i int32 @@ -91753,7 +91772,7 @@ func decodeIntArray(tls *libc.TLS, zIntArray uintptr, nOut int32, aOut uintptr, // // Entries for which argv[1]==NULL simply record the number of rows in // the table. -func analysisLoader(tls *libc.TLS, pData uintptr, argc int32, argv uintptr, NotUsed uintptr) int32 { /* sqlite3.c:112607:12: */ +func analysisLoader(tls *libc.TLS, pData uintptr, argc int32, argv uintptr, NotUsed uintptr) int32 { /* sqlite3.c:112620:12: */ bp := tls.Alloc(152) defer tls.Free(152) @@ -91815,7 +91834,7 @@ func analysisLoader(tls *libc.TLS, pData uintptr, argc int32, argv uintptr, NotU // If the Index.aSample variable is not NULL, delete the aSample[] array // and its contents. -func Xsqlite3DeleteIndexSamples(tls *libc.TLS, db uintptr, pIdx uintptr) { /* sqlite3.c:112670:21: */ +func Xsqlite3DeleteIndexSamples(tls *libc.TLS, db uintptr, pIdx uintptr) { /* sqlite3.c:112683:21: */ if (*Index)(unsafe.Pointer(pIdx)).FaSample != 0 { var j int32 for j = 0; j < (*Index)(unsafe.Pointer(pIdx)).FnSample; j++ { @@ -91832,7 +91851,7 @@ func Xsqlite3DeleteIndexSamples(tls *libc.TLS, db uintptr, pIdx uintptr) { /* sq // Populate the pIdx->aAvgEq[] array based on the samples currently // stored in pIdx->aSample[]. -func initAvgEq(tls *libc.TLS, pIdx uintptr) { /* sqlite3.c:112695:13: */ +func initAvgEq(tls *libc.TLS, pIdx uintptr) { /* sqlite3.c:112708:13: */ if pIdx != 0 { var aSample uintptr = (*Index)(unsafe.Pointer(pIdx)).FaSample var pFinal uintptr = aSample + uintptr((*Index)(unsafe.Pointer(pIdx)).FnSample-1)*40 @@ -91890,7 +91909,7 @@ func initAvgEq(tls *libc.TLS, pIdx uintptr) { /* sqlite3.c:112695:13: */ // Look up an index by name. Or, if the name of a WITHOUT ROWID table // is supplied instead, find the PRIMARY KEY index for that table. -func findIndexOrPrimaryKey(tls *libc.TLS, db uintptr, zName uintptr, zDb uintptr) uintptr { /* sqlite3.c:112754:14: */ +func findIndexOrPrimaryKey(tls *libc.TLS, db uintptr, zName uintptr, zDb uintptr) uintptr { /* sqlite3.c:112767:14: */ var pIdx uintptr = Xsqlite3FindIndex(tls, db, zName, zDb) if pIdx == uintptr(0) { var pTab uintptr = Xsqlite3FindTable(tls, db, zName, zDb) @@ -91911,7 +91930,7 @@ func findIndexOrPrimaryKey(tls *libc.TLS, db uintptr, zName uintptr, zDb uintptr // zSql2: SELECT idx,neq,nlt,ndlt,sample FROM %Q.sqlite_stat4 // // where %Q is replaced with the database name before the SQL is executed. -func loadStatTbl(tls *libc.TLS, db uintptr, zSql1 uintptr, zSql2 uintptr, zDb uintptr) int32 { /* sqlite3.c:112779:12: */ +func loadStatTbl(tls *libc.TLS, db uintptr, zSql1 uintptr, zSql2 uintptr, zDb uintptr) int32 { /* sqlite3.c:112792:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -92047,7 +92066,7 @@ func loadStatTbl(tls *libc.TLS, db uintptr, zSql1 uintptr, zSql2 uintptr, zDb ui // Load content from the sqlite_stat4 table into // the Index.aSample[] arrays of all indices. -func loadStat4(tls *libc.TLS, db uintptr, zDb uintptr) int32 { /* sqlite3.c:112900:12: */ +func loadStat4(tls *libc.TLS, db uintptr, zDb uintptr) int32 { /* sqlite3.c:112913:12: */ var rc int32 = SQLITE_OK // Result codes from subroutines var pStat4 uintptr @@ -92079,7 +92098,7 @@ func loadStat4(tls *libc.TLS, db uintptr, zDb uintptr) int32 { /* sqlite3.c:1129 // If an OOM error occurs, this function always sets db->mallocFailed. // This means if the caller does not care about other errors, the return // code may be ignored. -func Xsqlite3AnalysisLoad(tls *libc.TLS, db uintptr, iDb int32) int32 { /* sqlite3.c:112938:20: */ +func Xsqlite3AnalysisLoad(tls *libc.TLS, db uintptr, iDb int32) int32 { /* sqlite3.c:112951:20: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -92186,7 +92205,7 @@ func Xsqlite3AnalysisLoad(tls *libc.TLS, db uintptr, iDb int32) int32 { /* sqlit // ATTACH DATABASE abc||def AS 'db2' // // will fail because neither abc or def can be resolved. -func resolveAttachExpr(tls *libc.TLS, pName uintptr, pExpr uintptr) int32 { /* sqlite3.c:113046:12: */ +func resolveAttachExpr(tls *libc.TLS, pName uintptr, pExpr uintptr) int32 { /* sqlite3.c:113059:12: */ var rc int32 = SQLITE_OK if pExpr != 0 { if int32((*Expr)(unsafe.Pointer(pExpr)).Fop) != TK_ID { @@ -92200,7 +92219,7 @@ func resolveAttachExpr(tls *libc.TLS, pName uintptr, pExpr uintptr) int32 { /* s // Return true if zName points to a name that may be used to refer to // database iDb attached to handle db. -func Xsqlite3DbIsNamed(tls *libc.TLS, db uintptr, iDb int32, zName uintptr) int32 { /* sqlite3.c:113063:20: */ +func Xsqlite3DbIsNamed(tls *libc.TLS, db uintptr, iDb int32, zName uintptr) int32 { /* sqlite3.c:113076:20: */ return libc.Bool32(Xsqlite3StrICmp(tls, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(iDb)*32)).FzDbSName, zName) == 0 || iDb == 0 && Xsqlite3StrICmp(tls, ts+6325, zName) == 0) } @@ -92218,7 +92237,7 @@ func Xsqlite3DbIsNamed(tls *libc.TLS, db uintptr, iDb int32, zName uintptr) int3 // If the db->init.reopenMemdb flags is set, then instead of attaching a // new database, close the database on db->init.iDb and reopen it as an // empty MemDB. -func attachFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { /* sqlite3.c:113085:13: */ +func attachFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { /* sqlite3.c:113098:13: */ bp := tls.Alloc(64) defer tls.Free(64) @@ -92511,7 +92530,7 @@ __34: // DETACH DATABASE x // // SELECT sqlite_detach(x) -func detachFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { /* sqlite3.c:113278:13: */ +func detachFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { /* sqlite3.c:113291:13: */ bp := tls.Alloc(152) defer tls.Free(152) @@ -92616,7 +92635,7 @@ detach_error: // This procedure generates VDBE code for a single invocation of either the // sqlite_detach() or sqlite_attach() SQL user functions. -func codeAttach(tls *libc.TLS, pParse uintptr, type1 int32, pFunc uintptr, pAuthArg uintptr, pFilename uintptr, pDbname uintptr, pKey uintptr) { /* sqlite3.c:113340:13: */ +func codeAttach(tls *libc.TLS, pParse uintptr, type1 int32, pFunc uintptr, pAuthArg uintptr, pFilename uintptr, pDbname uintptr, pKey uintptr) { /* sqlite3.c:113353:13: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -92695,7 +92714,7 @@ attach_end: // Called by the parser to compile a DETACH statement. // // DETACH pDbname -func Xsqlite3Detach(tls *libc.TLS, pParse uintptr, pDbname uintptr) { /* sqlite3.c:113412:21: */ +func Xsqlite3Detach(tls *libc.TLS, pParse uintptr, pDbname uintptr) { /* sqlite3.c:113425:21: */ codeAttach(tls, pParse, SQLITE_DETACH, uintptr(unsafe.Pointer(&detach_func)), pDbname, uintptr(0), uintptr(0), pDbname) } @@ -92703,12 +92722,12 @@ var detach_func = FuncDef{ FnArg: int8(1), // nArg FfuncFlags: U32(SQLITE_UTF8), // pNext FxSFunc: 0, // xValue, xInverse - FzName: ts + 11818} /* sqlite3.c:113413:24 */ + FzName: ts + 11818} /* sqlite3.c:113426:24 */ // Called by the parser to compile an ATTACH statement. // // ATTACH p AS pDbname KEY pKey -func Xsqlite3Attach(tls *libc.TLS, pParse uintptr, p uintptr, pDbname uintptr, pKey uintptr) { /* sqlite3.c:113432:21: */ +func Xsqlite3Attach(tls *libc.TLS, pParse uintptr, p uintptr, pDbname uintptr, pKey uintptr) { /* sqlite3.c:113445:21: */ codeAttach(tls, pParse, SQLITE_ATTACH, uintptr(unsafe.Pointer(&attach_func)), p, p, pDbname, pKey) } @@ -92716,10 +92735,10 @@ var attach_func = FuncDef{ FnArg: int8(3), // nArg FfuncFlags: U32(SQLITE_UTF8), // pNext FxSFunc: 0, // xValue, xInverse - FzName: ts + 11832} /* sqlite3.c:113433:24 */ + FzName: ts + 11832} /* sqlite3.c:113446:24 */ // Expression callback used by sqlite3FixAAAA() routines. -func fixExprCb(tls *libc.TLS, p uintptr, pExpr uintptr) int32 { /* sqlite3.c:113451:12: */ +func fixExprCb(tls *libc.TLS, p uintptr, pExpr uintptr) int32 { /* sqlite3.c:113464:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -92739,7 +92758,7 @@ func fixExprCb(tls *libc.TLS, p uintptr, pExpr uintptr) int32 { /* sqlite3.c:113 } // Select callback used by sqlite3FixAAAA() routines. -func fixSelectCb(tls *libc.TLS, p uintptr, pSelect uintptr) int32 { /* sqlite3.c:113468:12: */ +func fixSelectCb(tls *libc.TLS, p uintptr, pSelect uintptr) int32 { /* sqlite3.c:113481:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -92800,7 +92819,7 @@ __3: // Initialize a DbFixer structure. This routine must be called prior // to passing the structure to one of the sqliteFixAAAA() routines below. -func Xsqlite3FixInit(tls *libc.TLS, pFix uintptr, pParse uintptr, iDb int32, zType uintptr, pName uintptr) { /* sqlite3.c:113511:21: */ +func Xsqlite3FixInit(tls *libc.TLS, pFix uintptr, pParse uintptr, iDb int32, zType uintptr, pName uintptr) { /* sqlite3.c:113524:21: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb (*DbFixer)(unsafe.Pointer(pFix)).FpParse = pParse @@ -92836,7 +92855,7 @@ func Xsqlite3FixInit(tls *libc.TLS, pFix uintptr, pParse uintptr, iDb int32, zTy // to an object in a different database, an error message is added to // pParse->zErrMsg and these routines return non-zero. If everything // checks out, these routines return 0. -func Xsqlite3FixSrcList(tls *libc.TLS, pFix uintptr, pList uintptr) int32 { /* sqlite3.c:113549:20: */ +func Xsqlite3FixSrcList(tls *libc.TLS, pFix uintptr, pList uintptr) int32 { /* sqlite3.c:113562:20: */ bp := tls.Alloc(128) defer tls.Free(128) @@ -92851,15 +92870,15 @@ func Xsqlite3FixSrcList(tls *libc.TLS, pFix uintptr, pList uintptr) int32 { /* s return res } -func Xsqlite3FixSelect(tls *libc.TLS, pFix uintptr, pSelect uintptr) int32 { /* sqlite3.c:113563:20: */ +func Xsqlite3FixSelect(tls *libc.TLS, pFix uintptr, pSelect uintptr) int32 { /* sqlite3.c:113576:20: */ return Xsqlite3WalkSelect(tls, pFix+8, pSelect) } -func Xsqlite3FixExpr(tls *libc.TLS, pFix uintptr, pExpr uintptr) int32 { /* sqlite3.c:113569:20: */ +func Xsqlite3FixExpr(tls *libc.TLS, pFix uintptr, pExpr uintptr) int32 { /* sqlite3.c:113582:20: */ return Xsqlite3WalkExpr(tls, pFix+8, pExpr) } -func Xsqlite3FixTriggerStep(tls *libc.TLS, pFix uintptr, pStep uintptr) int32 { /* sqlite3.c:113578:20: */ +func Xsqlite3FixTriggerStep(tls *libc.TLS, pFix uintptr, pStep uintptr) int32 { /* sqlite3.c:113591:20: */ for pStep != 0 { if Xsqlite3WalkSelect(tls, pFix+8, (*TriggerStep)(unsafe.Pointer(pStep)).FpSelect) != 0 || Xsqlite3WalkExpr(tls, pFix+8, (*TriggerStep)(unsafe.Pointer(pStep)).FpWhere) != 0 || @@ -92949,7 +92968,7 @@ func Xsqlite3FixTriggerStep(tls *libc.TLS, pFix uintptr, pStep uintptr) 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) int32 { /* sqlite3.c:113682:16: */ +func Xsqlite3_set_authorizer(tls *libc.TLS, db uintptr, xAuth uintptr, pArg uintptr) int32 { /* sqlite3.c:113695:16: */ Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) (*Sqlite3)(unsafe.Pointer(db)).FxAuth = xAuth (*Sqlite3)(unsafe.Pointer(db)).FpAuthArg = pArg @@ -92962,7 +92981,7 @@ func Xsqlite3_set_authorizer(tls *libc.TLS, db uintptr, xAuth uintptr, pArg uint // Write an error message into pParse->zErrMsg that explains that the // user-supplied authorization function returned an illegal value. -func sqliteAuthBadReturnCode(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:113702:13: */ +func sqliteAuthBadReturnCode(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:113715:13: */ Xsqlite3ErrorMsg(tls, pParse, ts+11916, 0) (*Parse)(unsafe.Pointer(pParse)).Frc = SQLITE_ERROR } @@ -92974,7 +92993,7 @@ func sqliteAuthBadReturnCode(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:11370 // If SQLITE_IGNORE is returned and pExpr is not NULL, then pExpr is changed // to an SQL NULL expression. Otherwise, if pExpr is NULL, then SQLITE_IGNORE // is treated as SQLITE_DENY. In this case an error is left in pParse. -func Xsqlite3AuthReadCol(tls *libc.TLS, pParse uintptr, zTab uintptr, zCol uintptr, iDb int32) int32 { /* sqlite3.c:113716:20: */ +func Xsqlite3AuthReadCol(tls *libc.TLS, pParse uintptr, zTab uintptr, zCol uintptr, iDb int32) int32 { /* sqlite3.c:113729:20: */ bp := tls.Alloc(40) defer tls.Free(40) @@ -93008,7 +93027,7 @@ func Xsqlite3AuthReadCol(tls *libc.TLS, pParse uintptr, zTab uintptr, zCol uintp // If the auth function returns SQLITE_IGNORE, change the TK_COLUMN // instruction into a TK_NULL. If the auth function returns SQLITE_DENY, // then generate an error. -func Xsqlite3AuthRead(tls *libc.TLS, pParse uintptr, pExpr uintptr, pSchema uintptr, pTabList uintptr) { /* sqlite3.c:113752:21: */ +func Xsqlite3AuthRead(tls *libc.TLS, pParse uintptr, pExpr uintptr, pSchema uintptr, pTabList uintptr) { /* sqlite3.c:113765:21: */ var pTab uintptr = uintptr(0) // The table being read var zCol uintptr // Name of the column of the table var iSrc int32 // Index in pTabList->a[] of table being read @@ -93057,7 +93076,7 @@ func Xsqlite3AuthRead(tls *libc.TLS, pParse uintptr, pExpr uintptr, pSchema uint // either SQLITE_OK (zero) or SQLITE_IGNORE or SQLITE_DENY. If SQLITE_DENY // is returned, then the error count and error message in pParse are // modified appropriately. -func Xsqlite3AuthCheck(tls *libc.TLS, pParse uintptr, code int32, zArg1 uintptr, zArg2 uintptr, zArg3 uintptr) int32 { /* sqlite3.c:113809:20: */ +func Xsqlite3AuthCheck(tls *libc.TLS, pParse uintptr, code int32, zArg1 uintptr, zArg2 uintptr, zArg3 uintptr) int32 { /* sqlite3.c:113822:20: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb var rc int32 @@ -93091,7 +93110,7 @@ func Xsqlite3AuthCheck(tls *libc.TLS, pParse uintptr, code int32, zArg1 uintptr, // Push an authorization context. After this routine is called, the // zArg3 argument to authorization callbacks will be zContext until // popped. Or if pParse==0, this routine is a no-op. -func Xsqlite3AuthContextPush(tls *libc.TLS, pParse uintptr, pContext uintptr, zContext uintptr) { /* sqlite3.c:113858:21: */ +func Xsqlite3AuthContextPush(tls *libc.TLS, pParse uintptr, pContext uintptr, zContext uintptr) { /* sqlite3.c:113871:21: */ (*AuthContext)(unsafe.Pointer(pContext)).FpParse = pParse (*AuthContext)(unsafe.Pointer(pContext)).FzAuthContext = (*Parse)(unsafe.Pointer(pParse)).FzAuthContext @@ -93100,7 +93119,7 @@ func Xsqlite3AuthContextPush(tls *libc.TLS, pParse uintptr, pContext uintptr, zC // Pop an authorization context that was previously pushed // by sqlite3AuthContextPush -func Xsqlite3AuthContextPop(tls *libc.TLS, pContext uintptr) { /* sqlite3.c:113873:21: */ +func Xsqlite3AuthContextPop(tls *libc.TLS, pContext uintptr) { /* sqlite3.c:113886:21: */ if (*AuthContext)(unsafe.Pointer(pContext)).FpParse != 0 { (*Parse)(unsafe.Pointer((*AuthContext)(unsafe.Pointer(pContext)).FpParse)).FzAuthContext = (*AuthContext)(unsafe.Pointer(pContext)).FzAuthContext (*AuthContext)(unsafe.Pointer(pContext)).FpParse = uintptr(0) @@ -93115,7 +93134,7 @@ func Xsqlite3AuthContextPop(tls *libc.TLS, pContext uintptr) { /* sqlite3.c:1138 // This routine just records the fact that the lock is desired. The // code to make the lock occur is generated by a later call to // codeTableLocks() which occurs during sqlite3FinishCoding(). -func lockTable(tls *libc.TLS, pParse uintptr, iDb int32, iTab Pgno, isWriteLock U8, zName uintptr) { /* sqlite3.c:113932:29: */ +func lockTable(tls *libc.TLS, pParse uintptr, iDb int32, iTab Pgno, isWriteLock U8, zName uintptr) { /* sqlite3.c:113945:29: */ var pToplevel uintptr var i int32 var nBytes int32 @@ -93149,7 +93168,7 @@ func lockTable(tls *libc.TLS, pParse uintptr, iDb int32, iTab Pgno, isWriteLock } } -func Xsqlite3TableLock(tls *libc.TLS, pParse uintptr, iDb int32, iTab Pgno, isWriteLock U8, zName uintptr) { /* sqlite3.c:113968:21: */ +func Xsqlite3TableLock(tls *libc.TLS, pParse uintptr, iDb int32, iTab Pgno, isWriteLock U8, zName uintptr) { /* sqlite3.c:113981:21: */ if iDb == 1 { return } @@ -93161,7 +93180,7 @@ func Xsqlite3TableLock(tls *libc.TLS, pParse uintptr, iDb int32, iTab Pgno, isWr // Code an OP_TableLock instruction for each table locked by the // statement (configured by calls to sqlite3TableLock()). -func codeTableLocks(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:113984:13: */ +func codeTableLocks(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:113997:13: */ var i int32 var pVdbe uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe @@ -93185,7 +93204,7 @@ func codeTableLocks(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:113984:13: */ // // Note that if an error occurred, it might be the case that // no VDBE code was generated. -func Xsqlite3FinishCoding(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:114023:21: */ +func Xsqlite3FinishCoding(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:114036:21: */ var db uintptr var v uintptr @@ -93338,7 +93357,7 @@ func Xsqlite3FinishCoding(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:114023:2 // * Built-in SQL functions always take precedence over application-defined // SQL functions. In other words, it is not possible to override a // built-in function. -func Xsqlite3NestedParse(tls *libc.TLS, pParse uintptr, zFormat uintptr, va uintptr) { /* sqlite3.c:114194:21: */ +func Xsqlite3NestedParse(tls *libc.TLS, pParse uintptr, zFormat uintptr, va uintptr) { /* sqlite3.c:114207:21: */ bp := tls.Alloc(136) defer tls.Free(136) @@ -93389,7 +93408,7 @@ func Xsqlite3NestedParse(tls *libc.TLS, pParse uintptr, zFormat uintptr, va uint // auxiliary databases added using the ATTACH command. // // See also sqlite3LocateTable(). -func Xsqlite3FindTable(tls *libc.TLS, db uintptr, zName uintptr, zDatabase uintptr) uintptr { /* sqlite3.c:114249:22: */ +func Xsqlite3FindTable(tls *libc.TLS, db uintptr, zName uintptr, zDatabase uintptr) uintptr { /* sqlite3.c:114262:22: */ var p uintptr = uintptr(0) var i int32 @@ -93465,7 +93484,7 @@ func Xsqlite3FindTable(tls *libc.TLS, db uintptr, zName uintptr, zDatabase uintp // The difference between this routine and sqlite3FindTable() is that this // routine leaves an error message in pParse->zErrMsg where // sqlite3FindTable() does not. -func Xsqlite3LocateTable(tls *libc.TLS, pParse uintptr, flags U32, zName uintptr, zDbase uintptr) uintptr { /* sqlite3.c:114327:22: */ +func Xsqlite3LocateTable(tls *libc.TLS, pParse uintptr, flags U32, zName uintptr, zDbase uintptr) uintptr { /* sqlite3.c:114340:22: */ bp := tls.Alloc(40) defer tls.Free(40) @@ -93528,7 +93547,7 @@ func Xsqlite3LocateTable(tls *libc.TLS, pParse uintptr, flags U32, zName uintptr // the search to schema (p->pSchema) if it is not NULL. p->pSchema may be // non-NULL if it is part of a view or trigger program definition. See // sqlite3FixSrcList() for details. -func Xsqlite3LocateTableItem(tls *libc.TLS, pParse uintptr, flags U32, p uintptr) uintptr { /* sqlite3.c:114390:22: */ +func Xsqlite3LocateTableItem(tls *libc.TLS, pParse uintptr, flags U32, p uintptr) uintptr { /* sqlite3.c:114403:22: */ var zDb uintptr if (*SrcItem)(unsafe.Pointer(p)).FpSchema != 0 { @@ -93542,7 +93561,7 @@ func Xsqlite3LocateTableItem(tls *libc.TLS, pParse uintptr, flags U32, p uintptr // Return the preferred table name for system tables. Translate legacy // names into the new preferred names, as appropriate. -func Xsqlite3PreferredTableName(tls *libc.TLS, zName uintptr) uintptr { /* sqlite3.c:114410:27: */ +func Xsqlite3PreferredTableName(tls *libc.TLS, zName uintptr) uintptr { /* sqlite3.c:114423:27: */ if Xsqlite3_strnicmp(tls, zName, ts+8012, 7) == 0 { if Xsqlite3StrICmp(tls, zName+uintptr(7), ts+5837+7) == 0 { return ts + 12012 /* "sqlite_schema" */ @@ -93564,7 +93583,7 @@ func Xsqlite3PreferredTableName(tls *libc.TLS, zName uintptr) uintptr { /* sqlit // for duplicate index names is done.) The search order is // TEMP first, then MAIN, then any auxiliary databases added // using the ATTACH command. -func Xsqlite3FindIndex(tls *libc.TLS, db uintptr, zName uintptr, zDb uintptr) uintptr { /* sqlite3.c:114434:22: */ +func Xsqlite3FindIndex(tls *libc.TLS, db uintptr, zName uintptr, zDb uintptr) uintptr { /* sqlite3.c:114447:22: */ var p uintptr = uintptr(0) var i int32 // All mutexes are required for schema access. Make sure we hold them. @@ -93591,7 +93610,7 @@ func Xsqlite3FindIndex(tls *libc.TLS, db uintptr, zName uintptr, zDb uintptr) ui } // Reclaim the memory used by an index -func Xsqlite3FreeIndex(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:114454:21: */ +func Xsqlite3FreeIndex(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:114467:21: */ Xsqlite3DeleteIndexSamples(tls, db, p) Xsqlite3ExprDelete(tls, db, (*Index)(unsafe.Pointer(p)).FpPartIdxWhere) Xsqlite3ExprListDelete(tls, db, (*Index)(unsafe.Pointer(p)).FaColExpr) @@ -93607,7 +93626,7 @@ func Xsqlite3FreeIndex(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:1144 // unlike that index from its Table then remove the index from // the index hash table and free all memory structures associated // with the index. -func Xsqlite3UnlinkAndDeleteIndex(tls *libc.TLS, db uintptr, iDb int32, zIdxName uintptr) { /* sqlite3.c:114474:21: */ +func Xsqlite3UnlinkAndDeleteIndex(tls *libc.TLS, db uintptr, iDb int32, zIdxName uintptr) { /* sqlite3.c:114487:21: */ var pIndex uintptr var pHash uintptr @@ -93639,7 +93658,7 @@ func Xsqlite3UnlinkAndDeleteIndex(tls *libc.TLS, db uintptr, iDb int32, zIdxName // // Entry 0 (the "main" database) and entry 1 (the "temp" database) // are never candidates for being collapsed. -func Xsqlite3CollapseDatabaseArray(tls *libc.TLS, db uintptr) { /* sqlite3.c:114507:21: */ +func Xsqlite3CollapseDatabaseArray(tls *libc.TLS, db uintptr) { /* sqlite3.c:114520:21: */ var i int32 var j int32 for i = libc.AssignInt32(&j, 2); i < (*Sqlite3)(unsafe.Pointer(db)).FnDb; i++ { @@ -93665,7 +93684,7 @@ func Xsqlite3CollapseDatabaseArray(tls *libc.TLS, db uintptr) { /* sqlite3.c:114 // Reset the schema for the database at index iDb. Also reset the // TEMP schema. The reset is deferred if db->nSchemaLock is not zero. // Deferred resets may be run by calling with iDb<0. -func Xsqlite3ResetOneSchema(tls *libc.TLS, db uintptr, iDb int32) { /* sqlite3.c:114534:21: */ +func Xsqlite3ResetOneSchema(tls *libc.TLS, db uintptr, iDb int32) { /* sqlite3.c:114547:21: */ var i int32 if iDb >= 0 { @@ -93686,7 +93705,7 @@ func Xsqlite3ResetOneSchema(tls *libc.TLS, db uintptr, iDb int32) { /* sqlite3.c // Erase all schema information from all attached databases (including // "main" and "temp") for a single database connection. -func Xsqlite3ResetAllSchemasOfConnection(tls *libc.TLS, db uintptr) { /* sqlite3.c:114558:21: */ +func Xsqlite3ResetAllSchemasOfConnection(tls *libc.TLS, db uintptr) { /* sqlite3.c:114571:21: */ var i int32 Xsqlite3BtreeEnterAll(tls, db) for i = 0; i < (*Sqlite3)(unsafe.Pointer(db)).FnDb; i++ { @@ -93708,14 +93727,14 @@ func Xsqlite3ResetAllSchemasOfConnection(tls *libc.TLS, db uintptr) { /* sqlite3 } // This routine is called when a commit occurs. -func Xsqlite3CommitInternalChanges(tls *libc.TLS, db uintptr) { /* sqlite3.c:114582:21: */ +func Xsqlite3CommitInternalChanges(tls *libc.TLS, db uintptr) { /* sqlite3.c:114595:21: */ *(*U32)(unsafe.Pointer(db + 44)) &= libc.Uint32FromInt32(libc.CplInt32(DBFLAG_SchemaChange)) } // Set the expression associated with a column. This is usually // the DEFAULT value, but might also be the expression that computes // the value for a generated column. -func Xsqlite3ColumnSetExpr(tls *libc.TLS, pParse uintptr, pTab uintptr, pCol uintptr, pExpr uintptr) { /* sqlite3.c:114591:21: */ +func Xsqlite3ColumnSetExpr(tls *libc.TLS, pParse uintptr, pTab uintptr, pCol uintptr, pExpr uintptr) { /* sqlite3.c:114604:21: */ var pList uintptr pList = *(*uintptr)(unsafe.Pointer(pTab + 64 + 16 /* &.pDfltList */)) @@ -93738,7 +93757,7 @@ func Xsqlite3ColumnSetExpr(tls *libc.TLS, pParse uintptr, pTab uintptr, pCol uin // Return the expression associated with a column. The expression might be // the DEFAULT clause or the AS clause of a generated column. // Return NULL if the column has no associated expression. -func Xsqlite3ColumnExpr(tls *libc.TLS, pTab uintptr, pCol uintptr) uintptr { /* sqlite3.c:114617:21: */ +func Xsqlite3ColumnExpr(tls *libc.TLS, pTab uintptr, pCol uintptr) uintptr { /* sqlite3.c:114630:21: */ if int32((*Column)(unsafe.Pointer(pCol)).FiDflt) == 0 { return uintptr(0) } @@ -93755,7 +93774,7 @@ func Xsqlite3ColumnExpr(tls *libc.TLS, pTab uintptr, pCol uintptr) uintptr { /* } // Set the collating sequence name for a column. -func Xsqlite3ColumnSetColl(tls *libc.TLS, db uintptr, pCol uintptr, zColl uintptr) { /* sqlite3.c:114628:21: */ +func Xsqlite3ColumnSetColl(tls *libc.TLS, db uintptr, pCol uintptr, zColl uintptr) { /* sqlite3.c:114641:21: */ var nColl I64 var n I64 var zNew uintptr @@ -93774,7 +93793,7 @@ func Xsqlite3ColumnSetColl(tls *libc.TLS, db uintptr, pCol uintptr, zColl uintpt } // Return the collating squence name for a column -func Xsqlite3ColumnColl(tls *libc.TLS, pCol uintptr) uintptr { /* sqlite3.c:114653:27: */ +func Xsqlite3ColumnColl(tls *libc.TLS, pCol uintptr) uintptr { /* sqlite3.c:114666:27: */ var z uintptr if int32((*Column)(unsafe.Pointer(pCol)).FcolFlags)&COLFLAG_HASCOLL == 0 { return uintptr(0) @@ -93793,7 +93812,7 @@ func Xsqlite3ColumnColl(tls *libc.TLS, pCol uintptr) uintptr { /* sqlite3.c:1146 // Delete memory allocated for the column names of a table or view (the // Table.aCol[] array). -func Xsqlite3DeleteColumnNames(tls *libc.TLS, db uintptr, pTable uintptr) { /* sqlite3.c:114668:21: */ +func Xsqlite3DeleteColumnNames(tls *libc.TLS, db uintptr, pTable uintptr) { /* sqlite3.c:114681:21: */ var i int32 var pCol uintptr @@ -93843,7 +93862,7 @@ func Xsqlite3DeleteColumnNames(tls *libc.TLS, db uintptr, pTable uintptr) { /* s // lookaside memory, but some ephemeral Table objects do.) Or the // db parameter can be used with db->pnBytesFreed to measure the memory // used by the Table object. -func deleteTable(tls *libc.TLS, db uintptr, pTable uintptr) { /* sqlite3.c:114706:29: */ +func deleteTable(tls *libc.TLS, db uintptr, pTable uintptr) { /* sqlite3.c:114719:29: */ var pIndex uintptr var pNext uintptr @@ -93880,7 +93899,7 @@ func deleteTable(tls *libc.TLS, db uintptr, pTable uintptr) { /* sqlite3.c:11470 } -func Xsqlite3DeleteTable(tls *libc.TLS, db uintptr, pTable uintptr) { /* sqlite3.c:114763:21: */ +func Xsqlite3DeleteTable(tls *libc.TLS, db uintptr, pTable uintptr) { /* sqlite3.c:114776:21: */ // Do not delete the table until the reference count reaches zero. if !(pTable != 0) { return @@ -93893,7 +93912,7 @@ func Xsqlite3DeleteTable(tls *libc.TLS, db uintptr, pTable uintptr) { /* sqlite3 // Unlink the given table from the hash tables and the delete the // table structure with all its indices and foreign keys. -func Xsqlite3UnlinkAndDeleteTable(tls *libc.TLS, db uintptr, iDb int32, zTabName uintptr) { /* sqlite3.c:114775:21: */ +func Xsqlite3UnlinkAndDeleteTable(tls *libc.TLS, db uintptr, iDb int32, zTabName uintptr) { /* sqlite3.c:114788:21: */ var p uintptr var pDb uintptr @@ -93915,7 +93934,7 @@ func Xsqlite3UnlinkAndDeleteTable(tls *libc.TLS, db uintptr, iDb int32, zTabName // Tokens are often just pointers into the original SQL text and so // are not \000 terminated and are not persistent. The returned string // is \000 terminated and is persistent. -func Xsqlite3NameFromToken(tls *libc.TLS, db uintptr, pName uintptr) uintptr { /* sqlite3.c:114803:21: */ +func Xsqlite3NameFromToken(tls *libc.TLS, db uintptr, pName uintptr) uintptr { /* sqlite3.c:114816:21: */ var zName uintptr if pName != 0 { zName = Xsqlite3DbStrNDup(tls, db, (*Token)(unsafe.Pointer(pName)).Fz, uint64((*Token)(unsafe.Pointer(pName)).Fn)) @@ -93928,7 +93947,7 @@ func Xsqlite3NameFromToken(tls *libc.TLS, db uintptr, pName uintptr) uintptr { / // Open the sqlite_schema table stored in database number iDb for // writing. The table is opened using cursor 0. -func Xsqlite3OpenSchemaTable(tls *libc.TLS, p uintptr, iDb int32) { /* sqlite3.c:114818:21: */ +func Xsqlite3OpenSchemaTable(tls *libc.TLS, p uintptr, iDb int32) { /* sqlite3.c:114831:21: */ var v uintptr = Xsqlite3GetVdbe(tls, p) Xsqlite3TableLock(tls, p, iDb, uint32(SCHEMA_ROOT), uint8(1), ts+5837) Xsqlite3VdbeAddOp4Int(tls, v, OP_OpenWrite, 0, SCHEMA_ROOT, iDb, 5) @@ -93941,7 +93960,7 @@ func Xsqlite3OpenSchemaTable(tls *libc.TLS, p uintptr, iDb int32) { /* sqlite3.c // of a database ("main", "temp" or the name of an attached db). This // function returns the index of the named database in db->aDb[], or // -1 if the named db cannot be found. -func Xsqlite3FindDbName(tls *libc.TLS, db uintptr, zName uintptr) int32 { /* sqlite3.c:114833:20: */ +func Xsqlite3FindDbName(tls *libc.TLS, db uintptr, zName uintptr) int32 { /* sqlite3.c:114846:20: */ var i int32 = -1 // Database number if zName != 0 { var pDb uintptr @@ -93977,7 +93996,7 @@ func Xsqlite3FindDbName(tls *libc.TLS, db uintptr, zName uintptr) int32 { /* sql // "temp" or the name of an attached db). This routine returns the // index of the named database in db->aDb[], or -1 if the named db // does not exist. -func Xsqlite3FindDb(tls *libc.TLS, db uintptr, pName uintptr) int32 { /* sqlite3.c:114853:20: */ +func Xsqlite3FindDb(tls *libc.TLS, db uintptr, pName uintptr) int32 { /* sqlite3.c:114866:20: */ var i int32 // Database number var zName uintptr // Name we are searching for zName = Xsqlite3NameFromToken(tls, db, pName) @@ -94001,7 +94020,7 @@ func Xsqlite3FindDb(tls *libc.TLS, db uintptr, pName uintptr) int32 { /* sqlite3 // This routine sets the *ppUnqual pointer to point at the token (pName1 or // pName2) that stores the unqualified table name. The index of the // database "xxx" is returned. -func Xsqlite3TwoPartName(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 uintptr, pUnqual uintptr) int32 { /* sqlite3.c:114878:20: */ +func Xsqlite3TwoPartName(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 uintptr, pUnqual uintptr) int32 { /* sqlite3.c:114891:20: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -94028,7 +94047,7 @@ func Xsqlite3TwoPartName(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 u } // True if PRAGMA writable_schema is ON -func Xsqlite3WritableSchema(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:114911:20: */ +func Xsqlite3WritableSchema(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:114924:20: */ return libc.Bool32((*Sqlite3)(unsafe.Pointer(db)).Fflags&uint64(SQLITE_WriteSchema|SQLITE_Defensive) == uint64(SQLITE_WriteSchema)) } @@ -94042,7 +94061,7 @@ func Xsqlite3WritableSchema(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:1149 // When parsing the sqlite_schema table, this routine also checks to // make sure the "type", "name", and "tbl_name" columns are consistent // with the SQL. -func Xsqlite3CheckObjectName(tls *libc.TLS, pParse uintptr, zName uintptr, zType uintptr, zTblName uintptr) int32 { /* sqlite3.c:114933:20: */ +func Xsqlite3CheckObjectName(tls *libc.TLS, pParse uintptr, zName uintptr, zType uintptr, zTblName uintptr) int32 { /* sqlite3.c:114946:20: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -94073,7 +94092,7 @@ func Xsqlite3CheckObjectName(tls *libc.TLS, pParse uintptr, zName uintptr, zType } // Return the PRIMARY KEY index of a table -func Xsqlite3PrimaryKeyIndex(tls *libc.TLS, pTab uintptr) uintptr { /* sqlite3.c:114971:22: */ +func Xsqlite3PrimaryKeyIndex(tls *libc.TLS, pTab uintptr) uintptr { /* sqlite3.c:114984:22: */ var p uintptr for p = (*Table)(unsafe.Pointer(pTab)).FpIndex; p != 0 && !(int32(*(*uint16)(unsafe.Pointer(p + 100 /* &.idxType */))&0x3>>0) == SQLITE_IDXTYPE_PRIMARYKEY); p = (*Index)(unsafe.Pointer(p)).FpNext { } @@ -94084,7 +94103,7 @@ func Xsqlite3PrimaryKeyIndex(tls *libc.TLS, pTab uintptr) uintptr { /* sqlite3.c // for the column iCol in the table (as defined by the CREATE TABLE statement) // find the (first) offset of that column in index pIdx. Or return -1 // if column iCol is not used in index pIdx. -func Xsqlite3TableColumnToIndex(tls *libc.TLS, pIdx uintptr, iCol I16) I16 { /* sqlite3.c:114983:20: */ +func Xsqlite3TableColumnToIndex(tls *libc.TLS, pIdx uintptr, iCol I16) I16 { /* sqlite3.c:114996:20: */ var i int32 for i = 0; i < int32((*Index)(unsafe.Pointer(pIdx)).FnColumn); i++ { if int32(iCol) == int32(*(*I16)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FaiColumn + uintptr(i)*2))) { @@ -94104,7 +94123,7 @@ func Xsqlite3TableColumnToIndex(tls *libc.TLS, pIdx uintptr, iCol I16) I16 { /* // and only there are VIRTUAL columns to the left. // // If SQLITE_OMIT_GENERATED_COLUMNS, this routine is a no-op macro. -func Xsqlite3StorageColumnToTable(tls *libc.TLS, pTab uintptr, iCol I16) I16 { /* sqlite3.c:115003:20: */ +func Xsqlite3StorageColumnToTable(tls *libc.TLS, pTab uintptr, iCol I16) I16 { /* sqlite3.c:115016:20: */ if (*Table)(unsafe.Pointer(pTab)).FtabFlags&U32(TF_HasVirtual) != 0 { var i int32 for i = 0; i <= int32(iCol); i++ { @@ -94151,7 +94170,7 @@ func Xsqlite3StorageColumnToTable(tls *libc.TLS, pTab uintptr, iCol I16) I16 { / // this routine is a no-op macro. If the pTab does not have any virtual // columns, then this routine is no-op that always return iCol. If iCol // is negative (indicating the ROWID column) then this routine return iCol. -func Xsqlite3TableColumnToStorage(tls *libc.TLS, pTab uintptr, iCol I16) I16 { /* sqlite3.c:115051:20: */ +func Xsqlite3TableColumnToStorage(tls *libc.TLS, pTab uintptr, iCol I16) I16 { /* sqlite3.c:115064:20: */ var i int32 var n I16 @@ -94181,7 +94200,7 @@ func Xsqlite3TableColumnToStorage(tls *libc.TLS, pTab uintptr, iCol I16) I16 { / // exists, so that the prepared statement for CREATE TABLE IF NOT EXISTS // will return false for sqlite3_stmt_readonly() even if that statement // is a read-only no-op. -func sqlite3ForceNotReadOnly(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:115077:13: */ +func sqlite3ForceNotReadOnly(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:115090:13: */ var iReg int32 = libc.PreIncInt32(&(*Parse)(unsafe.Pointer(pParse)).FnMem, 1) var v uintptr = Xsqlite3GetVdbe(tls, pParse) if v != 0 { @@ -94204,7 +94223,7 @@ func sqlite3ForceNotReadOnly(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:11507 // routines will be called to add more information to this record. // At the end of the CREATE TABLE statement, the sqlite3EndTable() routine // is called to complete the construction of the new table record. -func Xsqlite3StartTable(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 uintptr, isTemp int32, isView int32, isVirtual int32, noErr int32) { /* sqlite3.c:115102:21: */ +func Xsqlite3StartTable(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 uintptr, isTemp int32, isView int32, isVirtual int32, noErr int32) { /* sqlite3.c:115115:21: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -94462,8 +94481,8 @@ var aCode = [4]U8{ U8(SQLITE_CREATE_TEMP_TABLE), U8(SQLITE_CREATE_VIEW), U8(SQLITE_CREATE_TEMP_VIEW), -} /* sqlite3.c:115149:21 */ -var nullRow = [6]int8{int8(6), int8(0), int8(0), int8(0), int8(0), int8(0)} /* sqlite3.c:115228:23 */ +} /* sqlite3.c:115162:21 */ +var nullRow = [6]int8{int8(6), int8(0), int8(0), int8(0), int8(0), int8(0)} /* sqlite3.c:115241:23 */ // Set properties of a table column based on the (magical) // name of the column. @@ -94473,7 +94492,7 @@ var nullRow = [6]int8{int8(6), int8(0), int8(0), int8(0), int8(0), int8(0)} /* s // with any application-generated triggers. // Clean up the data structures associated with the RETURNING clause. -func sqlite3DeleteReturning(tls *libc.TLS, db uintptr, pRet uintptr) { /* sqlite3.c:115313:13: */ +func sqlite3DeleteReturning(tls *libc.TLS, db uintptr, pRet uintptr) { /* sqlite3.c:115326:13: */ var pHash uintptr pHash = (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+1*32)).FpSchema + 56 Xsqlite3HashInsert(tls, pHash, ts+12256, uintptr(0)) @@ -94495,7 +94514,7 @@ func sqlite3DeleteReturning(tls *libc.TLS, db uintptr, pRet uintptr) { /* sqlite // is attached to a DELETE, INSERT, or UPDATE, so construct it as a // RETURNING trigger instead. It will then be converted into the appropriate // type on the first call to sqlite3TriggersExist(). -func Xsqlite3AddReturning(tls *libc.TLS, pParse uintptr, pList uintptr) { /* sqlite3.c:115337:21: */ +func Xsqlite3AddReturning(tls *libc.TLS, pParse uintptr, pList uintptr) { /* sqlite3.c:115350:21: */ var pRet uintptr var pHash uintptr var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb @@ -94545,7 +94564,7 @@ func Xsqlite3AddReturning(tls *libc.TLS, pParse uintptr, pList uintptr) { /* sql // in a CREATE TABLE statement. sqlite3StartTable() gets called // first to get things going. Then this routine is called for each // column. -func Xsqlite3AddColumn(tls *libc.TLS, pParse uintptr, sName Token, sType Token) { /* sqlite3.c:115385:21: */ +func Xsqlite3AddColumn(tls *libc.TLS, pParse uintptr, sName Token, sType Token) { /* sqlite3.c:115398:21: */ bp := tls.Alloc(48) defer tls.Free(48) *(*Token)(unsafe.Pointer(bp + 16)) = sName @@ -94664,7 +94683,7 @@ func Xsqlite3AddColumn(tls *libc.TLS, pParse uintptr, sName Token, sType Token) // parsing a CREATE TABLE statement. A "NOT NULL" constraint has // been seen on a column. This routine sets the notNull flag on // the column currently under construction. -func Xsqlite3AddNotNull(tls *libc.TLS, pParse uintptr, onError int32) { /* sqlite3.c:115498:21: */ +func Xsqlite3AddNotNull(tls *libc.TLS, pParse uintptr, onError int32) { /* sqlite3.c:115511:21: */ var p uintptr var pCol uintptr p = (*Parse)(unsafe.Pointer(pParse)).FpNewTable @@ -94711,7 +94730,7 @@ func Xsqlite3AddNotNull(tls *libc.TLS, pParse uintptr, onError int32) { /* sqlit // // If none of the substrings in the above table are found, // SQLITE_AFF_NUMERIC is returned. -func Xsqlite3AffinityType(tls *libc.TLS, zIn uintptr, pCol uintptr) int8 { /* sqlite3.c:115545:21: */ +func Xsqlite3AffinityType(tls *libc.TLS, zIn uintptr, pCol uintptr) int8 { /* sqlite3.c:115558:21: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -94785,7 +94804,7 @@ func Xsqlite3AffinityType(tls *libc.TLS, zIn uintptr, pCol uintptr) int8 { /* sq // // This routine is called by the parser while in the middle of // parsing a CREATE TABLE statement. -func Xsqlite3AddDefaultValue(tls *libc.TLS, pParse uintptr, pExpr uintptr, zStart uintptr, zEnd uintptr) { /* sqlite3.c:115622:21: */ +func Xsqlite3AddDefaultValue(tls *libc.TLS, pParse uintptr, pExpr uintptr, zStart uintptr, zEnd uintptr) { /* sqlite3.c:115635:21: */ bp := tls.Alloc(80) defer tls.Free(80) @@ -94838,7 +94857,7 @@ func Xsqlite3AddDefaultValue(tls *libc.TLS, pParse uintptr, pExpr uintptr, zStar // if the expression is just a TK_STRING with an optional COLLATE clause. // If the expression is anything other than TK_STRING, the expression is // unchanged. -func sqlite3StringToId(tls *libc.TLS, p uintptr) { /* sqlite3.c:115681:13: */ +func sqlite3StringToId(tls *libc.TLS, p uintptr) { /* sqlite3.c:115694:13: */ if int32((*Expr)(unsafe.Pointer(p)).Fop) == TK_STRING { (*Expr)(unsafe.Pointer(p)).Fop = U8(TK_ID) } else if int32((*Expr)(unsafe.Pointer(p)).Fop) == TK_COLLATE && int32((*Expr)(unsafe.Pointer((*Expr)(unsafe.Pointer(p)).FpLeft)).Fop) == TK_STRING { @@ -94847,7 +94866,7 @@ func sqlite3StringToId(tls *libc.TLS, p uintptr) { /* sqlite3.c:115681:13: */ } // Tag the given column as being part of the PRIMARY KEY -func makeColumnPartOfPrimaryKey(tls *libc.TLS, pParse uintptr, pCol uintptr) { /* sqlite3.c:115692:13: */ +func makeColumnPartOfPrimaryKey(tls *libc.TLS, pParse uintptr, pCol uintptr) { /* sqlite3.c:115705:13: */ *(*U16)(unsafe.Pointer(pCol + 16)) |= U16(COLFLAG_PRIMKEY) if int32((*Column)(unsafe.Pointer(pCol)).FcolFlags)&COLFLAG_GENERATED != 0 { @@ -94872,7 +94891,7 @@ func makeColumnPartOfPrimaryKey(tls *libc.TLS, pParse uintptr, pCol uintptr) { / // // If the key is not an INTEGER PRIMARY KEY, then create a unique // index for the key. No index is created for INTEGER PRIMARY KEYs. -func Xsqlite3AddPrimaryKey(tls *libc.TLS, pParse uintptr, pList uintptr, onError int32, autoInc int32, sortOrder int32) { /* sqlite3.c:115722:21: */ +func Xsqlite3AddPrimaryKey(tls *libc.TLS, pParse uintptr, pList uintptr, onError int32, autoInc int32, sortOrder int32) { /* sqlite3.c:115735:21: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -95003,7 +95022,7 @@ primary_key_exit: } // Add a new CHECK constraint to the table currently under construction. -func Xsqlite3AddCheckConstraint(tls *libc.TLS, pParse uintptr, pCheckExpr uintptr, zStart uintptr, zEnd uintptr) { /* sqlite3.c:115799:21: */ +func Xsqlite3AddCheckConstraint(tls *libc.TLS, pParse uintptr, pCheckExpr uintptr, zStart uintptr, zEnd uintptr) { /* sqlite3.c:115812:21: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -95033,7 +95052,7 @@ func Xsqlite3AddCheckConstraint(tls *libc.TLS, pParse uintptr, pCheckExpr uintpt // Set the collation function of the most recently parsed table column // to the CollSeq given. -func Xsqlite3AddCollateType(tls *libc.TLS, pParse uintptr, pToken uintptr) { /* sqlite3.c:115833:21: */ +func Xsqlite3AddCollateType(tls *libc.TLS, pParse uintptr, pToken uintptr) { /* sqlite3.c:115846:21: */ var p uintptr var i int32 var zColl uintptr // Dequoted name of collation sequence @@ -95068,7 +95087,7 @@ func Xsqlite3AddCollateType(tls *libc.TLS, pParse uintptr, pToken uintptr) { /* // Change the most recently parsed column to be a GENERATED ALWAYS AS // column. -func Xsqlite3AddGenerated(tls *libc.TLS, pParse uintptr, pExpr uintptr, pType uintptr) { /* sqlite3.c:115866:21: */ +func Xsqlite3AddGenerated(tls *libc.TLS, pParse uintptr, pExpr uintptr, pType uintptr) { /* sqlite3.c:115879:21: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -95163,7 +95182,7 @@ generated_done: // // IMPLEMENTATION-OF: R-34230-56049 SQLite automatically increments // the schema-version whenever the schema changes. -func Xsqlite3ChangeCookie(tls *libc.TLS, pParse uintptr, iDb int32) { /* sqlite3.c:115934:21: */ +func Xsqlite3ChangeCookie(tls *libc.TLS, pParse uintptr, iDb int32) { /* sqlite3.c:115947:21: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe @@ -95177,7 +95196,7 @@ func Xsqlite3ChangeCookie(tls *libc.TLS, pParse uintptr, iDb int32) { /* sqlite3 // // The estimate is conservative. It might be larger that what is // really needed. -func identLength(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:115950:12: */ +func identLength(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:115963:12: */ var n int32 n = 0 __1: @@ -95212,7 +95231,7 @@ __3: // characters, does not begin with a digit and is not an SQL keyword, // then it is copied to the output buffer exactly as it is. Otherwise, // it is quoted using double-quotes. -func identPut(tls *libc.TLS, z uintptr, pIdx uintptr, zSignedIdent uintptr) { /* sqlite3.c:115971:13: */ +func identPut(tls *libc.TLS, z uintptr, pIdx uintptr, zSignedIdent uintptr) { /* sqlite3.c:115984:13: */ var zIdent uintptr = zSignedIdent var i int32 var j int32 @@ -95248,7 +95267,7 @@ func identPut(tls *libc.TLS, z uintptr, pIdx uintptr, zSignedIdent uintptr) { /* // Generate a CREATE TABLE statement appropriate for the given // table. Memory to hold the text of the statement is obtained // from sqliteMalloc() and must be freed by the calling function. -func createTableStmt(tls *libc.TLS, db uintptr, p uintptr) uintptr { /* sqlite3.c:115999:13: */ +func createTableStmt(tls *libc.TLS, db uintptr, p uintptr) uintptr { /* sqlite3.c:116012:13: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -95340,11 +95359,11 @@ var azType1 = [5]uintptr{ ts + 12731, ts + 12736, ts + 12741, -} /* sqlite3.c:116029:23 */ +} /* sqlite3.c:116042:23 */ // Resize an Index object to hold N columns total. Return SQLITE_OK // on success and SQLITE_NOMEM on an OOM error. -func resizeIndexObject(tls *libc.TLS, db uintptr, pIdx uintptr, N int32) int32 { /* sqlite3.c:116067:12: */ +func resizeIndexObject(tls *libc.TLS, db uintptr, pIdx uintptr, N int32) int32 { /* sqlite3.c:116080:12: */ var zExtra uintptr var nByte int32 if int32((*Index)(unsafe.Pointer(pIdx)).FnColumn) >= N { @@ -95373,7 +95392,7 @@ func resizeIndexObject(tls *libc.TLS, db uintptr, pIdx uintptr, N int32) int32 { } // Estimate the total row width for a table. -func estimateTableWidth(tls *libc.TLS, pTab uintptr) { /* sqlite3.c:116094:13: */ +func estimateTableWidth(tls *libc.TLS, pTab uintptr) { /* sqlite3.c:116107:13: */ var wTable uint32 = uint32(0) var pTabCol uintptr var i int32 @@ -95402,7 +95421,7 @@ __3: } // Estimate the average size of a row for an index. -func estimateIndexWidth(tls *libc.TLS, pIdx uintptr) { /* sqlite3.c:116108:13: */ +func estimateIndexWidth(tls *libc.TLS, pIdx uintptr) { /* sqlite3.c:116121:13: */ var wIndex uint32 = uint32(0) var i int32 var aCol uintptr = (*Table)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FpTable)).FaCol @@ -95422,7 +95441,7 @@ func estimateIndexWidth(tls *libc.TLS, pIdx uintptr) { /* sqlite3.c:116108:13: * // Return true if column number x is any of the first nCol entries of aiCol[]. // This is used to determine if the column number x appears in any of the // first nCol entries of an index. -func hasColumn(tls *libc.TLS, aiCol uintptr, nCol int32, x int32) int32 { /* sqlite3.c:116124:12: */ +func hasColumn(tls *libc.TLS, aiCol uintptr, nCol int32, x int32) int32 { /* sqlite3.c:116137:12: */ for libc.PostDecInt32(&nCol, 1) > 0 { if x == int32(*(*I16)(unsafe.Pointer(libc.PostIncUintptr(&aiCol, 2)))) { return 1 @@ -95442,7 +95461,7 @@ func hasColumn(tls *libc.TLS, aiCol uintptr, nCol int32, x int32) int32 { /* sql // This routine differs from hasColumn() in that both the column and the // collating sequence must match for this routine, but for hasColumn() only // the column name must match. -func isDupColumn(tls *libc.TLS, pIdx uintptr, nKey int32, pPk uintptr, iCol int32) int32 { /* sqlite3.c:116146:12: */ +func isDupColumn(tls *libc.TLS, pIdx uintptr, nKey int32, pPk uintptr, iCol int32) int32 { /* sqlite3.c:116159:12: */ var i int32 var j int32 @@ -95475,7 +95494,7 @@ func isDupColumn(tls *libc.TLS, pIdx uintptr, nKey int32, pPk uintptr, iCol int3 // // The colNotIdxed mask is AND-ed with the SrcList.a[].colUsed mask // to determine if the index is covering index. -func recomputeColumnsNotIndexed(tls *libc.TLS, pIdx uintptr) { /* sqlite3.c:116185:13: */ +func recomputeColumnsNotIndexed(tls *libc.TLS, pIdx uintptr) { /* sqlite3.c:116198:13: */ var m Bitmask = uint64(0) var j int32 var pTab uintptr = (*Index)(unsafe.Pointer(pIdx)).FpTable @@ -95514,7 +95533,7 @@ func recomputeColumnsNotIndexed(tls *libc.TLS, pIdx uintptr) { /* sqlite3.c:1161 // indices with the PRIMARY KEY columns. // // For virtual tables, only (1) is performed. -func convertToWithoutRowidTable(tls *libc.TLS, pParse uintptr, pTab uintptr) { /* sqlite3.c:116225:13: */ +func convertToWithoutRowidTable(tls *libc.TLS, pParse uintptr, pTab uintptr) { /* sqlite3.c:116238:13: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -95677,7 +95696,7 @@ func convertToWithoutRowidTable(tls *libc.TLS, pParse uintptr, pTab uintptr) { / // Return true if pTab is a virtual table and zName is a shadow table name // for that virtual table. -func Xsqlite3IsShadowTableOf(tls *libc.TLS, db uintptr, pTab uintptr, zName uintptr) int32 { /* sqlite3.c:116385:20: */ +func Xsqlite3IsShadowTableOf(tls *libc.TLS, db uintptr, pTab uintptr, zName uintptr) int32 { /* sqlite3.c:116398:20: */ var nName int32 // Length of zName var pMod uintptr // Module for the virtual table @@ -95710,7 +95729,7 @@ func Xsqlite3IsShadowTableOf(tls *libc.TLS, db uintptr, pTab uintptr, zName uint // exists and has an xShadowName method, then loop over all other ordinary // tables within the same schema looking for shadow tables of pTab, and mark // any shadow tables seen using the TF_Shadow flag. -func Xsqlite3MarkAllShadowTablesOf(tls *libc.TLS, db uintptr, pTab uintptr) { /* sqlite3.c:116408:21: */ +func Xsqlite3MarkAllShadowTablesOf(tls *libc.TLS, db uintptr, pTab uintptr) { /* sqlite3.c:116421:21: */ var nName int32 // Length of pTab->zName var pMod uintptr // Module for the virtual table var k uintptr // For looping through the symbol table @@ -95754,7 +95773,7 @@ func Xsqlite3MarkAllShadowTablesOf(tls *libc.TLS, db uintptr, pTab uintptr) { /* // // zName is temporarily modified while this routine is running, but is // restored to its original value prior to this routine returning. -func Xsqlite3ShadowTableName(tls *libc.TLS, db uintptr, zName uintptr) int32 { /* sqlite3.c:116444:20: */ +func Xsqlite3ShadowTableName(tls *libc.TLS, db uintptr, zName uintptr) int32 { /* sqlite3.c:116457:20: */ var zTail uintptr // Pointer to the last "_" in zName var pTab uintptr // Table that zName is a shadow of zTail = libc.Xstrrchr(tls, zName, '_') @@ -95791,7 +95810,7 @@ func Xsqlite3ShadowTableName(tls *libc.TLS, db uintptr, zName uintptr) int32 { / // was called to create a table generated from a // "CREATE TABLE ... AS SELECT ..." statement. The column names of // the new table will match the result set of the SELECT. -func Xsqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr, tabOpts U32, pSelect uintptr) { /* sqlite3.c:116505:21: */ +func Xsqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr, tabOpts U32, pSelect uintptr) { /* sqlite3.c:116518:21: */ bp := tls.Alloc(184) defer tls.Free(184) @@ -96112,7 +96131,7 @@ func Xsqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr } // The parser calls this routine in order to create a new VIEW -func Xsqlite3CreateView(tls *libc.TLS, pParse uintptr, pBegin uintptr, pName1 uintptr, pName2 uintptr, pCNames uintptr, pSelect uintptr, isTemp int32, noErr int32) { /* sqlite3.c:116847:21: */ +func Xsqlite3CreateView(tls *libc.TLS, pParse uintptr, pBegin uintptr, pName1 uintptr, pName2 uintptr, pCNames uintptr, pSelect uintptr, isTemp int32, noErr int32) { /* sqlite3.c:116860:21: */ bp := tls.Alloc(120) defer tls.Free(120) @@ -96230,7 +96249,7 @@ __10: // The Table structure pTable is really a VIEW. Fill in the names of // the columns of the view in the pTable structure. Return the number // of errors. If an error is seen leave an error message in pParse->zErrMsg. -func Xsqlite3ViewGetColumnNames(tls *libc.TLS, pParse uintptr, pTable uintptr) int32 { /* sqlite3.c:116939:20: */ +func Xsqlite3ViewGetColumnNames(tls *libc.TLS, pParse uintptr, pTable uintptr) int32 { /* sqlite3.c:116952:20: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -96345,7 +96364,7 @@ func Xsqlite3ViewGetColumnNames(tls *libc.TLS, pParse uintptr, pTable uintptr) i } // Clear the column names from every VIEW in database idx. -func sqliteViewResetAll(tls *libc.TLS, db uintptr, idx int32) { /* sqlite3.c:117067:13: */ +func sqliteViewResetAll(tls *libc.TLS, db uintptr, idx int32) { /* sqlite3.c:117080:13: */ var i uintptr if !(int32((*Schema)(unsafe.Pointer((*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(idx)*32)).FpSchema)).FschemaFlags)&DB_UnresetViews == DB_UnresetViews) { @@ -96375,7 +96394,7 @@ func sqliteViewResetAll(tls *libc.TLS, db uintptr, idx int32) { /* sqlite3.c:117 // We must continue looping until all tables and indices with // rootpage==iFrom have been converted to have a rootpage of iTo // in order to be certain that we got the right one. -func Xsqlite3RootPageMoved(tls *libc.TLS, db uintptr, iDb int32, iFrom Pgno, iTo Pgno) { /* sqlite3.c:117101:21: */ +func Xsqlite3RootPageMoved(tls *libc.TLS, db uintptr, iDb int32, iFrom Pgno, iTo Pgno) { /* sqlite3.c:117114:21: */ var pElem uintptr var pHash uintptr var pDb uintptr @@ -96401,7 +96420,7 @@ func Xsqlite3RootPageMoved(tls *libc.TLS, db uintptr, iDb int32, iFrom Pgno, iTo // Also write code to modify the sqlite_schema table and internal schema // if a root-page of another table is moved by the btree-layer whilst // erasing iTable (this can happen with an auto-vacuum database). -func destroyRootPage(tls *libc.TLS, pParse uintptr, iTable int32, iDb int32) { /* sqlite3.c:117131:13: */ +func destroyRootPage(tls *libc.TLS, pParse uintptr, iTable int32, iDb int32) { /* sqlite3.c:117144:13: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -96431,7 +96450,7 @@ func destroyRootPage(tls *libc.TLS, pParse uintptr, iTable int32, iDb int32) { / // Code to update the sqlite_schema tables and internal schema definitions // in case a root-page belonging to another table is moved by the btree layer // is also added (this can happen with an auto-vacuum database). -func destroyTable(tls *libc.TLS, pParse uintptr, pTab uintptr) { /* sqlite3.c:117161:13: */ +func destroyTable(tls *libc.TLS, pParse uintptr, pTab uintptr) { /* sqlite3.c:117174:13: */ // If the database may be auto-vacuum capable (if SQLITE_OMIT_AUTOVACUUM // is not defined), then it is important to call OP_Destroy on the // table and index root-pages in order, starting with the numerically @@ -96477,7 +96496,7 @@ func destroyTable(tls *libc.TLS, pParse uintptr, pTab uintptr) { /* sqlite3.c:11 // Remove entries from the sqlite_statN tables (for N in (1,2,3)) // after a DROP INDEX or DROP TABLE command. -func sqlite3ClearStatTables(tls *libc.TLS, pParse uintptr, iDb int32, zType uintptr, zName uintptr) { /* sqlite3.c:117210:13: */ +func sqlite3ClearStatTables(tls *libc.TLS, pParse uintptr, iDb int32, zType uintptr, zName uintptr) { /* sqlite3.c:117223:13: */ bp := tls.Alloc(64) defer tls.Free(64) @@ -96496,7 +96515,7 @@ func sqlite3ClearStatTables(tls *libc.TLS, pParse uintptr, iDb int32, zType uint } // Generate code to drop a table. -func Xsqlite3CodeDropTable(tls *libc.TLS, pParse uintptr, pTab uintptr, iDb int32, isView int32) { /* sqlite3.c:117233:21: */ +func Xsqlite3CodeDropTable(tls *libc.TLS, pParse uintptr, pTab uintptr, iDb int32, isView int32) { /* sqlite3.c:117246:21: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -96560,7 +96579,7 @@ func Xsqlite3CodeDropTable(tls *libc.TLS, pParse uintptr, pTab uintptr, iDb int3 // Return TRUE if shadow tables should be read-only in the current // context. -func Xsqlite3ReadOnlyShadowTables(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:117306:20: */ +func Xsqlite3ReadOnlyShadowTables(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:117319:20: */ if (*Sqlite3)(unsafe.Pointer(db)).Fflags&uint64(SQLITE_Defensive) != uint64(0) && (*Sqlite3)(unsafe.Pointer(db)).FpVtabCtx == uintptr(0) && (*Sqlite3)(unsafe.Pointer(db)).FnVdbeExec == 0 && @@ -96571,7 +96590,7 @@ func Xsqlite3ReadOnlyShadowTables(tls *libc.TLS, db uintptr) int32 { /* sqlite3. } // Return true if it is not allowed to drop the given table -func tableMayNotBeDropped(tls *libc.TLS, db uintptr, pTab uintptr) int32 { /* sqlite3.c:117322:12: */ +func tableMayNotBeDropped(tls *libc.TLS, db uintptr, pTab uintptr) int32 { /* sqlite3.c:117335:12: */ if Xsqlite3_strnicmp(tls, (*Table)(unsafe.Pointer(pTab)).FzName, ts+8012, 7) == 0 { if Xsqlite3_strnicmp(tls, (*Table)(unsafe.Pointer(pTab)).FzName+uintptr(7), ts+3230, 4) == 0 { return 0 @@ -96592,7 +96611,7 @@ func tableMayNotBeDropped(tls *libc.TLS, db uintptr, pTab uintptr) int32 { /* sq // This routine is called to do the work of a DROP TABLE statement. // pName is the name of the table to be dropped. -func Xsqlite3DropTable(tls *libc.TLS, pParse uintptr, pName uintptr, isView int32, noErr int32) { /* sqlite3.c:117341:21: */ +func Xsqlite3DropTable(tls *libc.TLS, pParse uintptr, pName uintptr, isView int32, noErr int32) { /* sqlite3.c:117354:21: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -96780,7 +96799,7 @@ exit_drop_table: // // The foreign key is set for IMMEDIATE processing. A subsequent call // to sqlite3DeferForeignKey() might change this to DEFERRED. -func Xsqlite3CreateForeignKey(tls *libc.TLS, pParse uintptr, pFromCol uintptr, pTo uintptr, pToCol uintptr, flags int32) { /* sqlite3.c:117461:21: */ +func Xsqlite3CreateForeignKey(tls *libc.TLS, pParse uintptr, pFromCol uintptr, pTo uintptr, pToCol uintptr, flags int32) { /* sqlite3.c:117474:21: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -97003,7 +97022,7 @@ fk_end: // parameter is 1 for INITIALLY DEFERRED and 0 for INITIALLY IMMEDIATE. // The behavior of the most recently created foreign key is adjusted // accordingly. -func Xsqlite3DeferForeignKey(tls *libc.TLS, pParse uintptr, isDeferred int32) { /* sqlite3.c:117593:21: */ +func Xsqlite3DeferForeignKey(tls *libc.TLS, pParse uintptr, isDeferred int32) { /* sqlite3.c:117606:21: */ var pTab uintptr var pFKey uintptr if libc.AssignUintptr(&pTab, (*Parse)(unsafe.Pointer(pParse)).FpNewTable) == uintptr(0) { @@ -97028,7 +97047,7 @@ func Xsqlite3DeferForeignKey(tls *libc.TLS, pParse uintptr, isDeferred int32) { // root page number of the index. If memRootPage is negative, then // the index already exists and must be cleared before being refilled and // the root page number of the index is taken from pIndex->tnum. -func sqlite3RefillIndex(tls *libc.TLS, pParse uintptr, pIndex uintptr, memRootPage int32) { /* sqlite3.c:117616:13: */ +func sqlite3RefillIndex(tls *libc.TLS, pParse uintptr, pIndex uintptr, memRootPage int32) { /* sqlite3.c:117629:13: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -97140,7 +97159,7 @@ func sqlite3RefillIndex(tls *libc.TLS, pParse uintptr, pIndex uintptr, memRootPa // Increase the allocation size to provide an extra nExtra bytes // of 8-byte aligned space after the Index object and return a // pointer to this extra space in *ppExtra. -func Xsqlite3AllocateIndexObject(tls *libc.TLS, db uintptr, nCol I16, nExtra int32, ppExtra uintptr) uintptr { /* sqlite3.c:117722:22: */ +func Xsqlite3AllocateIndexObject(tls *libc.TLS, db uintptr, nCol I16, nExtra int32, ppExtra uintptr) uintptr { /* sqlite3.c:117735:22: */ var p uintptr // Allocated index object var nByte int32 // Bytes of space for Index object + arrays @@ -97165,7 +97184,7 @@ func Xsqlite3AllocateIndexObject(tls *libc.TLS, db uintptr, nCol I16, nExtra int // If expression list pList contains an expression that was parsed with // an explicit "NULLS FIRST" or "NULLS LAST" clause, leave an error in // pParse and return non-zero. Otherwise, return zero. -func Xsqlite3HasExplicitNulls(tls *libc.TLS, pParse uintptr, pList uintptr) int32 { /* sqlite3.c:117755:20: */ +func Xsqlite3HasExplicitNulls(tls *libc.TLS, pParse uintptr, pList uintptr) int32 { /* sqlite3.c:117768:20: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -97198,7 +97217,7 @@ func Xsqlite3HasExplicitNulls(tls *libc.TLS, pParse uintptr, pList uintptr) int3 // pList is a list of columns to be indexed. pList will be NULL if this // is a primary key or unique-constraint on the most recent column added // to the table currently under construction. -func Xsqlite3CreateIndex(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 uintptr, pTblName uintptr, pList uintptr, onError int32, pStart uintptr, pPIWhere uintptr, sortOrder int32, ifNotExist int32, idxType U8) { /* sqlite3.c:117783:21: */ +func Xsqlite3CreateIndex(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 uintptr, pTblName uintptr, pList uintptr, onError int32, pStart uintptr, pPIWhere uintptr, sortOrder int32, ifNotExist int32, idxType U8) { /* sqlite3.c:117796:21: */ bp := tls.Alloc(256) defer tls.Free(256) @@ -97968,7 +97987,7 @@ __81: goto __101 } Xsqlite3ErrorMsg(tls, pParse, ts+14070, 0) - (*Parse)(unsafe.Pointer(pParse)).Frc = Xsqlite3CorruptError(tls, 118239) + (*Parse)(unsafe.Pointer(pParse)).Frc = Xsqlite3CorruptError(tls, 118252) goto exit_create_index __101: ; @@ -98154,7 +98173,7 @@ __113: // Apart from that, we have little to go on besides intuition as to // how aiRowEst[] should be initialized. The numbers generated here // are based on typical values found in actual indices. -func Xsqlite3DefaultRowEst(tls *libc.TLS, pIdx uintptr) { /* sqlite3.c:118394:21: */ +func Xsqlite3DefaultRowEst(tls *libc.TLS, pIdx uintptr) { /* sqlite3.c:118407:21: */ var a uintptr = (*Index)(unsafe.Pointer(pIdx)).FaiRowLogEst var x LogEst var nCopy int32 = func() int32 { @@ -98198,11 +98217,11 @@ func Xsqlite3DefaultRowEst(tls *libc.TLS, pIdx uintptr) { /* sqlite3.c:118394:21 } } -var aVal = [5]LogEst{int16(33), int16(32), int16(30), int16(28), int16(26)} /* sqlite3.c:118396:23 */ +var aVal = [5]LogEst{int16(33), int16(32), int16(30), int16(28), int16(26)} /* sqlite3.c:118409:23 */ // This routine will drop an existing named index. This routine // implements the DROP INDEX statement. -func Xsqlite3DropIndex(tls *libc.TLS, pParse uintptr, pName uintptr, ifExists int32) { /* sqlite3.c:118438:21: */ +func Xsqlite3DropIndex(tls *libc.TLS, pParse uintptr, pName uintptr, ifExists int32) { /* sqlite3.c:118451:21: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -98321,7 +98340,7 @@ exit_drop_index: // // Otherwise, if the realloc() fails, *pIdx is set to -1, *pnEntry remains // unchanged and a copy of pArray returned. -func Xsqlite3ArrayAllocate(tls *libc.TLS, db uintptr, pArray uintptr, szEntry int32, pnEntry uintptr, pIdx uintptr) uintptr { /* sqlite3.c:118520:21: */ +func Xsqlite3ArrayAllocate(tls *libc.TLS, db uintptr, pArray uintptr, szEntry int32, pnEntry uintptr, pIdx uintptr) uintptr { /* sqlite3.c:118533:21: */ var z uintptr var n Sqlite3_int64 = Sqlite3_int64(libc.AssignPtrInt32(pIdx, *(*int32)(unsafe.Pointer(pnEntry)))) if n&(n-int64(1)) == int64(0) { @@ -98348,7 +98367,7 @@ func Xsqlite3ArrayAllocate(tls *libc.TLS, db uintptr, pArray uintptr, szEntry in // need be. // // A new IdList is returned, or NULL if malloc() fails. -func Xsqlite3IdListAppend(tls *libc.TLS, pParse uintptr, pList uintptr, pToken uintptr) uintptr { /* sqlite3.c:118550:23: */ +func Xsqlite3IdListAppend(tls *libc.TLS, pParse uintptr, pList uintptr, pToken uintptr) uintptr { /* sqlite3.c:118563:23: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -98379,7 +98398,7 @@ func Xsqlite3IdListAppend(tls *libc.TLS, pParse uintptr, pList uintptr, pToken u } // Delete an IdList. -func Xsqlite3IdListDelete(tls *libc.TLS, db uintptr, pList uintptr) { /* sqlite3.c:118578:21: */ +func Xsqlite3IdListDelete(tls *libc.TLS, db uintptr, pList uintptr) { /* sqlite3.c:118591:21: */ var i int32 if pList == uintptr(0) { return @@ -98393,7 +98412,7 @@ func Xsqlite3IdListDelete(tls *libc.TLS, db uintptr, pList uintptr) { /* sqlite3 // Return the index in pList of the identifier named zId. Return -1 // if not found. -func Xsqlite3IdListIndex(tls *libc.TLS, pList uintptr, zName uintptr) int32 { /* sqlite3.c:118592:20: */ +func Xsqlite3IdListIndex(tls *libc.TLS, pList uintptr, zName uintptr) int32 { /* sqlite3.c:118605:20: */ var i int32 if pList == uintptr(0) { return -1 @@ -98431,7 +98450,7 @@ func Xsqlite3IdListIndex(tls *libc.TLS, pList uintptr, zName uintptr) int32 { /* // If a memory allocation fails or the SrcList becomes too large, leave // the original SrcList unchanged, return NULL, and leave an error message // in pParse. -func Xsqlite3SrcListEnlarge(tls *libc.TLS, pParse uintptr, pSrc uintptr, nExtra int32, iStart int32) uintptr { /* sqlite3.c:118633:24: */ +func Xsqlite3SrcListEnlarge(tls *libc.TLS, pParse uintptr, pSrc uintptr, nExtra int32, iStart int32) uintptr { /* sqlite3.c:118646:24: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -98513,7 +98532,7 @@ func Xsqlite3SrcListEnlarge(tls *libc.TLS, pParse uintptr, pSrc uintptr, nExtra // // Both pTable and pDatabase are assumed to be quoted. They are dequoted // before being added to the SrcList. -func Xsqlite3SrcListAppend(tls *libc.TLS, pParse uintptr, pList uintptr, pTable uintptr, pDatabase uintptr) uintptr { /* sqlite3.c:118722:24: */ +func Xsqlite3SrcListAppend(tls *libc.TLS, pParse uintptr, pList uintptr, pTable uintptr, pDatabase uintptr) uintptr { /* sqlite3.c:118735:24: */ var pItem uintptr var db uintptr // Cannot have C without B @@ -98552,7 +98571,7 @@ func Xsqlite3SrcListAppend(tls *libc.TLS, pParse uintptr, pList uintptr, pTable } // Assign VdbeCursor index numbers to all tables in a SrcList -func Xsqlite3SrcListAssignCursors(tls *libc.TLS, pParse uintptr, pList uintptr) { /* sqlite3.c:118767:21: */ +func Xsqlite3SrcListAssignCursors(tls *libc.TLS, pParse uintptr, pList uintptr) { /* sqlite3.c:118780:21: */ var i int32 var pItem uintptr @@ -98584,7 +98603,7 @@ func Xsqlite3SrcListAssignCursors(tls *libc.TLS, pParse uintptr, pList uintptr) } // Delete an entire SrcList including all its substructure. -func Xsqlite3SrcListDelete(tls *libc.TLS, db uintptr, pList uintptr) { /* sqlite3.c:118785:21: */ +func Xsqlite3SrcListDelete(tls *libc.TLS, db uintptr, pList uintptr) { /* sqlite3.c:118798:21: */ var i int32 var pItem uintptr if pList == uintptr(0) { @@ -98647,7 +98666,7 @@ __3: // // Return a new SrcList which encodes is the FROM with the new // term added. -func Xsqlite3SrcListAppendFromTerm(tls *libc.TLS, pParse uintptr, p uintptr, pTable uintptr, pDatabase uintptr, pAlias uintptr, pSubquery uintptr, pOn uintptr, pUsing uintptr) uintptr { /* sqlite3.c:118819:24: */ +func Xsqlite3SrcListAppendFromTerm(tls *libc.TLS, pParse uintptr, p uintptr, pTable uintptr, pDatabase uintptr, pAlias uintptr, pSubquery uintptr, pOn uintptr, pUsing uintptr) uintptr { /* sqlite3.c:118832:24: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -98711,7 +98730,7 @@ append_from_error: // Add an INDEXED BY or NOT INDEXED clause to the most recently added // element of the source-list passed as the second argument. -func Xsqlite3SrcListIndexedBy(tls *libc.TLS, pParse uintptr, p uintptr, pIndexedBy uintptr) { /* sqlite3.c:118870:21: */ +func Xsqlite3SrcListIndexedBy(tls *libc.TLS, pParse uintptr, p uintptr, pIndexedBy uintptr) { /* sqlite3.c:118883:21: */ if p != 0 && (*Token)(unsafe.Pointer(pIndexedBy)).Fn > uint32(0) { var pItem uintptr @@ -98733,7 +98752,7 @@ func Xsqlite3SrcListIndexedBy(tls *libc.TLS, pParse uintptr, p uintptr, pIndexed // Append the contents of SrcList p2 to SrcList p1 and return the resulting // SrcList. Or, if an error occurs, return NULL. In all cases, p1 and p2 // are deleted by this function. -func Xsqlite3SrcListAppendList(tls *libc.TLS, pParse uintptr, p1 uintptr, p2 uintptr) uintptr { /* sqlite3.c:118896:24: */ +func Xsqlite3SrcListAppendList(tls *libc.TLS, pParse uintptr, p1 uintptr, p2 uintptr) uintptr { /* sqlite3.c:118909:24: */ if p2 != 0 { var pNew uintptr = Xsqlite3SrcListEnlarge(tls, pParse, p1, (*SrcList)(unsafe.Pointer(p2)).FnSrc, 1) @@ -98750,7 +98769,7 @@ func Xsqlite3SrcListAppendList(tls *libc.TLS, pParse uintptr, p1 uintptr, p2 uin // Add the list of function arguments to the SrcList entry for a // table-valued-function. -func Xsqlite3SrcListFuncArgs(tls *libc.TLS, pParse uintptr, p uintptr, pList uintptr) { /* sqlite3.c:118915:21: */ +func Xsqlite3SrcListFuncArgs(tls *libc.TLS, pParse uintptr, p uintptr, pList uintptr) { /* sqlite3.c:118928:21: */ if p != 0 { var pItem uintptr = p + 8 + uintptr((*SrcList)(unsafe.Pointer(p)).FnSrc-1)*112 @@ -98774,7 +98793,7 @@ func Xsqlite3SrcListFuncArgs(tls *libc.TLS, pParse uintptr, p uintptr, pList uin // The operator is "natural cross join". The A and B operands are stored // in p->a[0] and p->a[1], respectively. The parser initially stores the // operator with A. This routine shifts that operator over to B. -func Xsqlite3SrcListShiftJoinType(tls *libc.TLS, p uintptr) { /* sqlite3.c:118943:21: */ +func Xsqlite3SrcListShiftJoinType(tls *libc.TLS, p uintptr) { /* sqlite3.c:118956:21: */ if p != 0 { var i int32 for i = (*SrcList)(unsafe.Pointer(p)).FnSrc - 1; i > 0; i-- { @@ -98785,7 +98804,7 @@ func Xsqlite3SrcListShiftJoinType(tls *libc.TLS, p uintptr) { /* sqlite3.c:11894 } // Generate VDBE code for a BEGIN statement. -func Xsqlite3BeginTransaction(tls *libc.TLS, pParse uintptr, type1 int32) { /* sqlite3.c:118956:21: */ +func Xsqlite3BeginTransaction(tls *libc.TLS, pParse uintptr, type1 int32) { /* sqlite3.c:118969:21: */ var db uintptr var v uintptr var i int32 @@ -98820,7 +98839,7 @@ func Xsqlite3BeginTransaction(tls *libc.TLS, pParse uintptr, type1 int32) { /* s // Generate VDBE code for a COMMIT or ROLLBACK statement. // Code for ROLLBACK is generated if eType==TK_ROLLBACK. Otherwise // code is generated for a COMMIT. -func Xsqlite3EndTransaction(tls *libc.TLS, pParse uintptr, eType int32) { /* sqlite3.c:118992:21: */ +func Xsqlite3EndTransaction(tls *libc.TLS, pParse uintptr, eType int32) { /* sqlite3.c:119005:21: */ var v uintptr var isRollback int32 @@ -98842,7 +98861,7 @@ func Xsqlite3EndTransaction(tls *libc.TLS, pParse uintptr, eType int32) { /* sql // This function is called by the parser when it parses a command to create, // release or rollback an SQL savepoint. -func Xsqlite3Savepoint(tls *libc.TLS, pParse uintptr, op int32, pName uintptr) { /* sqlite3.c:119014:21: */ +func Xsqlite3Savepoint(tls *libc.TLS, pParse uintptr, op int32, pName uintptr) { /* sqlite3.c:119027:21: */ var zName uintptr = Xsqlite3NameFromToken(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, pName) if zName != 0 { var v uintptr = Xsqlite3GetVdbe(tls, pParse) @@ -98855,11 +98874,11 @@ func Xsqlite3Savepoint(tls *libc.TLS, pParse uintptr, op int32, pName uintptr) { } } -var az = [3]uintptr{ts + 14433, ts + 14455, ts + 14439} /* sqlite3.c:119019:23 */ +var az = [3]uintptr{ts + 14433, ts + 14455, ts + 14439} /* sqlite3.c:119032:23 */ // Make sure the TEMP database is open and available for use. Return // the number of errors. Leave any error messages in the pParse structure. -func Xsqlite3OpenTempDatabase(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:119034:20: */ +func Xsqlite3OpenTempDatabase(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:119047:20: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -98885,13 +98904,13 @@ func Xsqlite3OpenTempDatabase(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3. return 0 } -var flags int32 = SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE | SQLITE_OPEN_EXCLUSIVE | SQLITE_OPEN_DELETEONCLOSE | SQLITE_OPEN_TEMP_DB /* sqlite3.c:119039:22 */ +var flags int32 = SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE | SQLITE_OPEN_EXCLUSIVE | SQLITE_OPEN_DELETEONCLOSE | SQLITE_OPEN_TEMP_DB /* sqlite3.c:119052:22 */ // Record the fact that the schema cookie will need to be verified // for database iDb. The code to actually verify the schema cookie // will occur at the end of the top-level VDBE and will be generated // later, by sqlite3FinishCoding(). -func sqlite3CodeVerifySchemaAtToplevel(tls *libc.TLS, pToplevel uintptr, iDb int32) { /* sqlite3.c:119069:13: */ +func sqlite3CodeVerifySchemaAtToplevel(tls *libc.TLS, pToplevel uintptr, iDb int32) { /* sqlite3.c:119082:13: */ if libc.Bool32((*Parse)(unsafe.Pointer(pToplevel)).FcookieMask&(YDbMask(YDbMask(1))< UTF-16 conversion if // possible. -func synthCollSeq(tls *libc.TLS, db uintptr, pColl uintptr) int32 { /* sqlite3.c:119579:12: */ +func synthCollSeq(tls *libc.TLS, db uintptr, pColl uintptr) int32 { /* sqlite3.c:119592:12: */ var pColl2 uintptr var z uintptr = (*CollSeq)(unsafe.Pointer(pColl)).FzName var i int32 @@ -99404,7 +99423,7 @@ func synthCollSeq(tls *libc.TLS, db uintptr, pColl uintptr) int32 { /* sqlite3.c return SQLITE_ERROR } -var aEnc = [3]U8{U8(SQLITE_UTF16BE), U8(SQLITE_UTF16LE), U8(SQLITE_UTF8)} /* sqlite3.c:119583:19 */ +var aEnc = [3]U8{U8(SQLITE_UTF16BE), U8(SQLITE_UTF16LE), U8(SQLITE_UTF8)} /* sqlite3.c:119596:19 */ // This routine is called on a collation sequence before it is used to // check that it is defined. An undefined collation sequence exists when @@ -99415,7 +99434,7 @@ var aEnc = [3]U8{U8(SQLITE_UTF16BE), U8(SQLITE_UTF16LE), U8(SQLITE_UTF8)} /* sql // request a definition of the collating sequence. If this doesn't work, // an equivalent collating sequence that uses a text encoding different // from the main database is substituted, if one is available. -func Xsqlite3CheckCollSeq(tls *libc.TLS, pParse uintptr, pColl uintptr) int32 { /* sqlite3.c:119606:20: */ +func Xsqlite3CheckCollSeq(tls *libc.TLS, pParse uintptr, pColl uintptr) int32 { /* sqlite3.c:119619:20: */ if pColl != 0 && (*CollSeq)(unsafe.Pointer(pColl)).FxCmp == uintptr(0) { var zName uintptr = (*CollSeq)(unsafe.Pointer(pColl)).FzName var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb @@ -99439,7 +99458,7 @@ func Xsqlite3CheckCollSeq(tls *libc.TLS, pParse uintptr, pColl uintptr) int32 { // Stored immediately after the three collation sequences is a copy of // the collation sequence name. A pointer to this string is stored in // each collation sequence structure. -func findCollSeqEntry(tls *libc.TLS, db uintptr, zName uintptr, create int32) uintptr { /* sqlite3.c:119634:16: */ +func findCollSeqEntry(tls *libc.TLS, db uintptr, zName uintptr, create int32) uintptr { /* sqlite3.c:119647:16: */ var pColl uintptr pColl = Xsqlite3HashFind(tls, db+640, zName) @@ -99484,7 +99503,7 @@ func findCollSeqEntry(tls *libc.TLS, db uintptr, zName uintptr, create int32) ui // cannot be found. // // See also: sqlite3LocateCollSeq(), sqlite3GetCollSeq() -func Xsqlite3FindCollSeq(tls *libc.TLS, db uintptr, enc U8, zName uintptr, create int32) uintptr { /* sqlite3.c:119686:24: */ +func Xsqlite3FindCollSeq(tls *libc.TLS, db uintptr, enc U8, zName uintptr, create int32) uintptr { /* sqlite3.c:119699:24: */ var pColl uintptr if zName != 0 { @@ -99500,7 +99519,7 @@ func Xsqlite3FindCollSeq(tls *libc.TLS, db uintptr, enc U8, zName uintptr, creat // Change the text encoding for a database connection. This means that // the pDfltColl must change as well. -func Xsqlite3SetTextEncoding(tls *libc.TLS, db uintptr, enc U8) { /* sqlite3.c:119708:21: */ +func Xsqlite3SetTextEncoding(tls *libc.TLS, db uintptr, enc U8) { /* sqlite3.c:119721:21: */ (*Sqlite3)(unsafe.Pointer(db)).Fenc = enc // EVIDENCE-OF: R-08308-17224 The default collating function for all @@ -99520,7 +99539,7 @@ func Xsqlite3SetTextEncoding(tls *libc.TLS, db uintptr, enc U8) { /* sqlite3.c:1 // sequence can be found. If no collation is found, leave an error message. // // See also: sqlite3LocateCollSeq(), sqlite3FindCollSeq() -func Xsqlite3GetCollSeq(tls *libc.TLS, pParse uintptr, enc U8, pColl uintptr, zName uintptr) uintptr { /* sqlite3.c:119731:24: */ +func Xsqlite3GetCollSeq(tls *libc.TLS, pParse uintptr, enc U8, pColl uintptr, zName uintptr) uintptr { /* sqlite3.c:119744:24: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -99566,7 +99585,7 @@ func Xsqlite3GetCollSeq(tls *libc.TLS, pParse uintptr, enc U8, pColl uintptr, zN // and generates an error message. // // See also: sqlite3FindCollSeq(), sqlite3GetCollSeq() -func Xsqlite3LocateCollSeq(tls *libc.TLS, pParse uintptr, zName uintptr) uintptr { /* sqlite3.c:119782:24: */ +func Xsqlite3LocateCollSeq(tls *libc.TLS, pParse uintptr, zName uintptr) uintptr { /* sqlite3.c:119795:24: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb var enc U8 = (*Sqlite3)(unsafe.Pointer(db)).Fenc var initbusy U8 = (*Sqlite3)(unsafe.Pointer(db)).Finit.Fbusy @@ -99607,7 +99626,7 @@ func Xsqlite3LocateCollSeq(tls *libc.TLS, pParse uintptr, zName uintptr) uintptr // If nArg==(-2) then any function with a non-null xSFunc is // a perfect match and any function with xSFunc NULL is // a non-match. -func matchQuality(tls *libc.TLS, p uintptr, nArg int32, enc U8) int32 { /* sqlite3.c:119825:12: */ +func matchQuality(tls *libc.TLS, p uintptr, nArg int32, enc U8) int32 { /* sqlite3.c:119838:12: */ var match int32 // Wrong number of arguments means "no match" @@ -99643,7 +99662,7 @@ func matchQuality(tls *libc.TLS, p uintptr, nArg int32, enc U8) int32 { /* sqlit // Search a FuncDefHash for a function with the given name. Return // a pointer to the matching FuncDef if found, or 0 if there is no match. -func Xsqlite3FunctionSearch(tls *libc.TLS, h int32, zFunc uintptr) uintptr { /* sqlite3.c:119861:24: */ +func Xsqlite3FunctionSearch(tls *libc.TLS, h int32, zFunc uintptr) uintptr { /* sqlite3.c:119874:24: */ var p uintptr for p = *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&Xsqlite3BuiltinFunctions)) + uintptr(h)*8)); p != 0; p = *(*uintptr)(unsafe.Pointer(p + 64)) { @@ -99655,7 +99674,7 @@ func Xsqlite3FunctionSearch(tls *libc.TLS, h int32, zFunc uintptr) uintptr { /* } // Insert a new FuncDef into a FuncDefHash hash table. -func Xsqlite3InsertBuiltinFuncs(tls *libc.TLS, aDef uintptr, nDef int32) { /* sqlite3.c:119878:21: */ +func Xsqlite3InsertBuiltinFuncs(tls *libc.TLS, aDef uintptr, nDef int32) { /* sqlite3.c:119891:21: */ var i int32 for i = 0; i < nDef; i++ { var pOther uintptr @@ -99693,7 +99712,7 @@ func Xsqlite3InsertBuiltinFuncs(tls *libc.TLS, aDef uintptr, nDef int32) { /* sq // If createFlag is false, then a function with the required name and // number of arguments may be returned even if the eTextRep flag does not // match that requested. -func Xsqlite3FindFunction(tls *libc.TLS, db uintptr, zName uintptr, nArg int32, enc U8, createFlag U8) uintptr { /* sqlite3.c:119923:24: */ +func Xsqlite3FindFunction(tls *libc.TLS, db uintptr, zName uintptr, nArg int32, enc U8, createFlag U8) uintptr { /* sqlite3.c:119936:24: */ var p uintptr // Iterator variable var pBest uintptr = uintptr(0) // Best match found so far var bestScore int32 = 0 // Score of best match @@ -99773,7 +99792,7 @@ func Xsqlite3FindFunction(tls *libc.TLS, db uintptr, zName uintptr, nArg int32, // of the schema hash tables). // // The Schema.cache_size variable is not cleared. -func Xsqlite3SchemaClear(tls *libc.TLS, p uintptr) { /* sqlite3.c:120015:21: */ +func Xsqlite3SchemaClear(tls *libc.TLS, p uintptr) { /* sqlite3.c:120028:21: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -99808,7 +99827,7 @@ func Xsqlite3SchemaClear(tls *libc.TLS, p uintptr) { /* sqlite3.c:120015:21: */ // Find and return the schema associated with a BTree. Create // a new one if necessary. -func Xsqlite3SchemaGet(tls *libc.TLS, db uintptr, pBt uintptr) uintptr { /* sqlite3.c:120047:23: */ +func Xsqlite3SchemaGet(tls *libc.TLS, db uintptr, pBt uintptr) uintptr { /* sqlite3.c:120060:23: */ var p uintptr if pBt != 0 { p = Xsqlite3BtreeSchema(tls, pBt, int32(unsafe.Sizeof(Schema{})), *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{Xsqlite3SchemaClear}))) @@ -99855,7 +99874,7 @@ func Xsqlite3SchemaGet(tls *libc.TLS, db uintptr, pBt uintptr) uintptr { /* sqli // pSrc->a[0].pTab Pointer to the Table object // pSrc->a[0].pIndex Pointer to the INDEXED BY index, if there is one // -func Xsqlite3SrcListLookup(tls *libc.TLS, pParse uintptr, pSrc uintptr) uintptr { /* sqlite3.c:120098:22: */ +func Xsqlite3SrcListLookup(tls *libc.TLS, pParse uintptr, pSrc uintptr) uintptr { /* sqlite3.c:120111:22: */ var pItem uintptr = pSrc + 8 /* &.a */ var pTab uintptr @@ -99873,7 +99892,7 @@ func Xsqlite3SrcListLookup(tls *libc.TLS, pParse uintptr, pSrc uintptr) uintptr // Generate byte-code that will report the number of rows modified // by a DELETE, INSERT, or UPDATE statement. -func Xsqlite3CodeChangeCount(tls *libc.TLS, v uintptr, regCounter int32, zColName uintptr) { /* sqlite3.c:120117:21: */ +func Xsqlite3CodeChangeCount(tls *libc.TLS, v uintptr, regCounter int32, zColName uintptr) { /* sqlite3.c:120130:21: */ Xsqlite3VdbeAddOp0(tls, v, OP_FkCheck) Xsqlite3VdbeAddOp2(tls, v, OP_ResultRow, regCounter, 1) Xsqlite3VdbeSetNumCols(tls, v, 1) @@ -99894,7 +99913,7 @@ func Xsqlite3CodeChangeCount(tls *libc.TLS, v uintptr, regCounter int32, zColNam // 3) The table is a shadow table, the database connection is in // defensive mode, and the current sqlite3_prepare() // is for a top-level SQL statement. -func tabIsReadOnly(tls *libc.TLS, pParse uintptr, pTab uintptr) int32 { /* sqlite3.c:120139:12: */ +func tabIsReadOnly(tls *libc.TLS, pParse uintptr, pTab uintptr) int32 { /* sqlite3.c:120152:12: */ var db uintptr if int32((*Table)(unsafe.Pointer(pTab)).FeTabType) == TABTYP_VTAB { return libc.Bool32((*Sqlite3_module)(unsafe.Pointer((*Module)(unsafe.Pointer((*VTable)(unsafe.Pointer(Xsqlite3GetVTable(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, pTab))).FpMod)).FpModule)).FxUpdate == uintptr(0)) @@ -99913,7 +99932,7 @@ func tabIsReadOnly(tls *libc.TLS, pParse uintptr, pTab uintptr) int32 { /* sqlit // Check to make sure the given table is writable. If it is not // writable, generate an error message and return 1. If it is // writable return 0; -func Xsqlite3IsReadOnly(tls *libc.TLS, pParse uintptr, pTab uintptr, viewOk int32) int32 { /* sqlite3.c:120158:20: */ +func Xsqlite3IsReadOnly(tls *libc.TLS, pParse uintptr, pTab uintptr, viewOk int32) int32 { /* sqlite3.c:120171:20: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -99931,7 +99950,7 @@ func Xsqlite3IsReadOnly(tls *libc.TLS, pParse uintptr, pTab uintptr, viewOk int3 // Evaluate a view and store its result in an ephemeral table. The // pWhere argument is an optional WHERE clause that restricts the // set of rows in the view that are to be added to the ephemeral table. -func Xsqlite3MaterializeView(tls *libc.TLS, pParse uintptr, pView uintptr, pWhere uintptr, pOrderBy uintptr, pLimit uintptr, iCur int32) { /* sqlite3.c:120179:21: */ +func Xsqlite3MaterializeView(tls *libc.TLS, pParse uintptr, pView uintptr, pWhere uintptr, pOrderBy uintptr, pLimit uintptr, iCur int32) { /* sqlite3.c:120192:21: */ bp := tls.Alloc(40) defer tls.Free(40) @@ -99963,7 +99982,7 @@ func Xsqlite3MaterializeView(tls *libc.TLS, pParse uintptr, pView uintptr, pWher // DELETE FROM table_wxyz WHERE a<5 AND b NOT NULL; // \________/ \________________/ // pTabList pWhere -func Xsqlite3DeleteFrom(tls *libc.TLS, pParse uintptr, pTabList uintptr, pWhere uintptr, pOrderBy uintptr, pLimit uintptr) { /* sqlite3.c:120318:21: */ +func Xsqlite3DeleteFrom(tls *libc.TLS, pParse uintptr, pTabList uintptr, pWhere uintptr, pOrderBy uintptr, pLimit uintptr) { /* sqlite3.c:120331:21: */ bp := tls.Alloc(88) defer tls.Free(88) @@ -100569,7 +100588,7 @@ delete_from_cleanup: // starting at iIdxCur) that already points to the index entry to be deleted. // Except, this optimization is disabled if there are BEFORE triggers since // the trigger body might have moved the cursor. -func Xsqlite3GenerateRowDelete(tls *libc.TLS, pParse uintptr, pTab uintptr, pTrigger uintptr, iDataCur int32, iIdxCur int32, iPk int32, nPk I16, count U8, onconf U8, eMode U8, iIdxNoSeek int32) { /* sqlite3.c:120766:21: */ +func Xsqlite3GenerateRowDelete(tls *libc.TLS, pParse uintptr, pTab uintptr, pTrigger uintptr, iDataCur int32, iIdxCur int32, iPk int32, nPk I16, count U8, onconf U8, eMode U8, iIdxNoSeek int32) { /* sqlite3.c:120779:21: */ var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe // Vdbe var iOld int32 = 0 // First register in OLD.* array var iLabel int32 // Label resolved to end of generated code @@ -100706,7 +100725,7 @@ func Xsqlite3GenerateRowDelete(tls *libc.TLS, pParse uintptr, pTab uintptr, pTri // // 3. The "iDataCur" cursor must be already be positioned on the row // that is to be deleted. -func Xsqlite3GenerateRowIndexDelete(tls *libc.TLS, pParse uintptr, pTab uintptr, iDataCur int32, iIdxCur int32, aRegIdx uintptr, iIdxNoSeek int32) { /* sqlite3.c:120918:21: */ +func Xsqlite3GenerateRowIndexDelete(tls *libc.TLS, pParse uintptr, pTab uintptr, iDataCur int32, iIdxCur int32, aRegIdx uintptr, iIdxNoSeek int32) { /* sqlite3.c:120931:21: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -100795,7 +100814,7 @@ __3: // This optimization is helpful when doing a DELETE or an INTEGRITY_CHECK // on a table with multiple indices, and especially with the ROWID or // PRIMARY KEY columns of the index. -func Xsqlite3GenerateIndexKey(tls *libc.TLS, pParse uintptr, pIdx uintptr, iDataCur int32, regOut int32, prefixOnly int32, piPartIdxLabel uintptr, pPrior uintptr, regPrior int32) int32 { /* sqlite3.c:120983:20: */ +func Xsqlite3GenerateIndexKey(tls *libc.TLS, pParse uintptr, pIdx uintptr, iDataCur int32, regOut int32, prefixOnly int32, piPartIdxLabel uintptr, pPrior uintptr, regPrior int32) int32 { /* sqlite3.c:120996:20: */ var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe var j int32 var regBase int32 @@ -100851,7 +100870,7 @@ func Xsqlite3GenerateIndexKey(tls *libc.TLS, pParse uintptr, pIdx uintptr, iData // If a prior call to sqlite3GenerateIndexKey() generated a jump-over label // because it was a partial index, then this routine should be called to // resolve that label. -func Xsqlite3ResolvePartIdxLabel(tls *libc.TLS, pParse uintptr, iLabel int32) { /* sqlite3.c:121045:21: */ +func Xsqlite3ResolvePartIdxLabel(tls *libc.TLS, pParse uintptr, iLabel int32) { /* sqlite3.c:121058:21: */ if iLabel != 0 { Xsqlite3VdbeResolveLabel(tls, (*Parse)(unsafe.Pointer(pParse)).FpVdbe, iLabel) } @@ -100879,7 +100898,7 @@ func Xsqlite3ResolvePartIdxLabel(tls *libc.TLS, pParse uintptr, iLabel int32) { // #include "vdbeInt.h" // Return the collating function associated with a function. -func sqlite3GetFuncCollSeq(tls *libc.TLS, context uintptr) uintptr { /* sqlite3.c:121079:16: */ +func sqlite3GetFuncCollSeq(tls *libc.TLS, context uintptr) uintptr { /* sqlite3.c:121092:16: */ var pOp uintptr pOp = (*Vdbe)(unsafe.Pointer((*Sqlite3_context)(unsafe.Pointer(context)).FpVdbe)).FaOp + uintptr((*Sqlite3_context)(unsafe.Pointer(context)).FiOp-1)*24 @@ -100889,14 +100908,14 @@ func sqlite3GetFuncCollSeq(tls *libc.TLS, context uintptr) uintptr { /* sqlite3. // Indicate that the accumulator load should be skipped on this // iteration of the aggregate loop. -func sqlite3SkipAccumulatorLoad(tls *libc.TLS, context uintptr) { /* sqlite3.c:121092:13: */ +func sqlite3SkipAccumulatorLoad(tls *libc.TLS, context uintptr) { /* sqlite3.c:121105:13: */ (*Sqlite3_context)(unsafe.Pointer(context)).FisError = -1 (*Sqlite3_context)(unsafe.Pointer(context)).FskipFlag = U8(1) } // Implementation of the non-aggregate min() and max() functions -func minmaxFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121101:13: */ +func minmaxFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121114:13: */ var i int32 var mask int32 // 0 for min() or 0xffffffff for max() var iBest int32 @@ -100926,7 +100945,7 @@ func minmaxFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* s } // Return the type of the argument. -func typeofFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { /* sqlite3.c:121131:13: */ +func typeofFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { /* sqlite3.c:121144:13: */ var i int32 = Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(argv))) - 1 _ = NotUsed @@ -100937,18 +100956,18 @@ func typeofFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { / Xsqlite3_result_text(tls, context, azType2[i], -1, uintptr(0)) } -var azType2 = [5]uintptr{ts + 6135, ts + 6130, ts + 7885, ts + 7880, ts + 6125} /* sqlite3.c:121136:21 */ +var azType2 = [5]uintptr{ts + 6135, ts + 6130, ts + 7885, ts + 7880, ts + 6125} /* sqlite3.c:121149:21 */ // subtype(X) // // Return the subtype of X -func subtypeFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121156:13: */ +func subtypeFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121169:13: */ _ = argc Xsqlite3_result_int(tls, context, int32(Xsqlite3_value_subtype(tls, *(*uintptr)(unsafe.Pointer(argv))))) } // Implementation of the length() function -func lengthFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121168:13: */ +func lengthFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121181:13: */ _ = argc switch Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(argv))) { @@ -100997,7 +101016,7 @@ func lengthFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* s // // IMP: R-23979-26855 The abs(X) function returns the absolute value of // the numeric argument X. -func absFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121210:13: */ +func absFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121223:13: */ _ = argc switch Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(argv))) { @@ -101051,7 +101070,7 @@ func absFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqli // If both haystack and needle are BLOBs, then the result is one more than // the number of bytes in haystack prior to the first occurrence of needle, // or 0 if needle never occurs in haystack. -func instrFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121259:13: */ +func instrFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121272:13: */ var zHaystack uintptr var zNeedle uintptr var nHaystack int32 @@ -101166,7 +101185,7 @@ endInstrOOM: } // Implementation of the printf() (a.k.a. format()) SQL function. -func printfFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121327:13: */ +func printfFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121340:13: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -101203,7 +101222,7 @@ func printfFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* s // If p1 is negative, then we begin abs(p1) from the end of x[]. // // If p2 is negative, return the p2 characters preceding p1. -func substrFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121363:13: */ +func substrFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121376:13: */ var z uintptr var z2 uintptr var len int32 @@ -101311,7 +101330,7 @@ func substrFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* s } // Implementation of the round() function -func roundFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121458:13: */ +func roundFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121471:13: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -101365,7 +101384,7 @@ func roundFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sq // the database handle that malloc() has failed and return NULL. // If nByte is larger than the maximum string or blob length, then // raise an SQLITE_TOOBIG exception and return NULL. -func contextMalloc(tls *libc.TLS, context uintptr, nByte I64) uintptr { /* sqlite3.c:121499:13: */ +func contextMalloc(tls *libc.TLS, context uintptr, nByte I64) uintptr { /* sqlite3.c:121512:13: */ var z uintptr var db uintptr = Xsqlite3_context_db_handle(tls, context) @@ -101382,7 +101401,7 @@ func contextMalloc(tls *libc.TLS, context uintptr, nByte I64) uintptr { /* sqlit } // Implementation of the upper() and lower() SQL functions. -func upperFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121520:13: */ +func upperFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121533:13: */ var z1 uintptr var z2 uintptr var i int32 @@ -101403,7 +101422,7 @@ func upperFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sq } } -func lowerFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121539:13: */ +func lowerFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121552:13: */ var z1 uintptr var z2 uintptr var i int32 @@ -101432,7 +101451,7 @@ func lowerFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sq // is. We might as well use the "version()" function as a substitute. // Implementation of random(). Return a random integer. -func randomFunc(tls *libc.TLS, context uintptr, NotUsed int32, NotUsed2 uintptr) { /* sqlite3.c:121572:13: */ +func randomFunc(tls *libc.TLS, context uintptr, NotUsed int32, NotUsed2 uintptr) { /* sqlite3.c:121585:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -101456,7 +101475,7 @@ func randomFunc(tls *libc.TLS, context uintptr, NotUsed int32, NotUsed2 uintptr) // Implementation of randomblob(N). Return a random blob // that is N bytes long. -func randomBlob(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121598:13: */ +func randomBlob(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121611:13: */ var n Sqlite3_int64 var p uintptr @@ -101474,7 +101493,7 @@ func randomBlob(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* s // Implementation of the last_insert_rowid() SQL function. The return // value is the same as the sqlite3_last_insert_rowid() API function. -func last_insert_rowid(tls *libc.TLS, context uintptr, NotUsed int32, NotUsed2 uintptr) { /* sqlite3.c:121622:13: */ +func last_insert_rowid(tls *libc.TLS, context uintptr, NotUsed int32, NotUsed2 uintptr) { /* sqlite3.c:121635:13: */ var db uintptr = Xsqlite3_context_db_handle(tls, context) _ = NotUsed _ = NotUsed2 @@ -101489,7 +101508,7 @@ func last_insert_rowid(tls *libc.TLS, context uintptr, NotUsed int32, NotUsed2 u // IMP: R-32760-32347 The changes() SQL function is a wrapper // around the sqlite3_changes64() C/C++ function and hence follows the // same rules for counting changes. -func changes(tls *libc.TLS, context uintptr, NotUsed int32, NotUsed2 uintptr) { /* sqlite3.c:121642:13: */ +func changes(tls *libc.TLS, context uintptr, NotUsed int32, NotUsed2 uintptr) { /* sqlite3.c:121655:13: */ var db uintptr = Xsqlite3_context_db_handle(tls, context) _ = NotUsed _ = NotUsed2 @@ -101498,7 +101517,7 @@ func changes(tls *libc.TLS, context uintptr, NotUsed int32, NotUsed2 uintptr) { // Implementation of the total_changes() SQL function. The return value is // the same as the sqlite3_total_changes64() API function. -func total_changes(tls *libc.TLS, context uintptr, NotUsed int32, NotUsed2 uintptr) { /* sqlite3.c:121656:13: */ +func total_changes(tls *libc.TLS, context uintptr, NotUsed int32, NotUsed2 uintptr) { /* sqlite3.c:121669:13: */ var db uintptr = Xsqlite3_context_db_handle(tls, context) _ = NotUsed _ = NotUsed2 @@ -101513,20 +101532,20 @@ type compareInfo = struct { FmatchOne U8 FmatchSet U8 FnoCase U8 -} /* sqlite3.c:121671:1 */ +} /* sqlite3.c:121684:1 */ // For LIKE and GLOB matching on EBCDIC machines, assume that every // character is exactly one byte in size. Also, provde the Utf8Read() // macro for fast reading of the next character in the common case where // the next character is ASCII. -var globInfo = compareInfo{FmatchAll: U8('*'), FmatchOne: U8('?'), FmatchSet: U8('[')} /* sqlite3.c:121691:33 */ +var globInfo = compareInfo{FmatchAll: U8('*'), FmatchOne: U8('?'), FmatchSet: U8('[')} /* sqlite3.c:121704:33 */ // The correct SQL-92 behavior is for the LIKE operator to ignore // case. Thus 'a' LIKE 'A' would be true. -var likeInfoNorm = compareInfo{FmatchAll: U8('%'), FmatchOne: U8('_'), FnoCase: U8(1)} /* sqlite3.c:121694:33 */ +var likeInfoNorm = compareInfo{FmatchAll: U8('%'), FmatchOne: U8('_'), FnoCase: U8(1)} /* sqlite3.c:121707:33 */ // If SQLITE_CASE_SENSITIVE_LIKE is defined, then the LIKE operator // is case sensitive causing 'a' LIKE 'A' to be false -var likeInfoAlt = compareInfo{FmatchAll: U8('%'), FmatchOne: U8('_')} /* sqlite3.c:121697:33 */ +var likeInfoAlt = compareInfo{FmatchAll: U8('%'), FmatchOne: U8('_')} /* sqlite3.c:121710:33 */ // Possible error returns from patternMatch() @@ -101566,7 +101585,7 @@ var likeInfoAlt = compareInfo{FmatchAll: U8('%'), FmatchOne: U8('_')} /* sqlite3 // The comments within this routine usually assume glob matching. // // This routine is usually quick, but can be N**2 in the worst case. -func patternCompare(tls *libc.TLS, zPattern uintptr, zString uintptr, pInfo uintptr, matchOther U32) int32 { /* sqlite3.c:121744:12: */ +func patternCompare(tls *libc.TLS, zPattern uintptr, zString uintptr, pInfo uintptr, matchOther U32) int32 { /* sqlite3.c:121757:12: */ bp := tls.Alloc(19) defer tls.Free(19) *(*uintptr)(unsafe.Pointer(bp)) = zPattern @@ -101752,13 +101771,13 @@ func patternCompare(tls *libc.TLS, zPattern uintptr, zString uintptr, pInfo uint // The sqlite3_strglob() interface. Return 0 on a match (like strcmp()) and // non-zero if there is no match. -func Xsqlite3_strglob(tls *libc.TLS, zGlobPattern uintptr, zString uintptr) int32 { /* sqlite3.c:121877:16: */ +func Xsqlite3_strglob(tls *libc.TLS, zGlobPattern uintptr, zString uintptr) int32 { /* sqlite3.c:121890:16: */ return patternCompare(tls, zGlobPattern, zString, uintptr(unsafe.Pointer(&globInfo)), uint32('[')) } // The sqlite3_strlike() interface. Return 0 on a match and non-zero for // a miss - like strcmp(). -func Xsqlite3_strlike(tls *libc.TLS, zPattern uintptr, zStr uintptr, esc uint32) int32 { /* sqlite3.c:121885:16: */ +func Xsqlite3_strlike(tls *libc.TLS, zPattern uintptr, zStr uintptr, esc uint32) int32 { /* sqlite3.c:121898:16: */ return patternCompare(tls, zPattern, zStr, uintptr(unsafe.Pointer(&likeInfoNorm)), esc) } @@ -101776,7 +101795,7 @@ func Xsqlite3_strlike(tls *libc.TLS, zPattern uintptr, zStr uintptr, esc uint32) // // This same function (with a different compareInfo structure) computes // the GLOB operator. -func likeFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121911:13: */ +func likeFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121924:13: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -101839,7 +101858,7 @@ func likeFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sql // Implementation of the NULLIF(x,y) function. The result is the first // argument if the arguments are different. The result is NULL if the // arguments are equal to each other. -func nullifFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { /* sqlite3.c:121982:13: */ +func nullifFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { /* sqlite3.c:121995:13: */ var pColl uintptr = sqlite3GetFuncCollSeq(tls, context) _ = NotUsed if Xsqlite3MemCompare(tls, *(*uintptr)(unsafe.Pointer(argv)), *(*uintptr)(unsafe.Pointer(argv + 1*8)), pColl) != 0 { @@ -101849,7 +101868,7 @@ func nullifFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { / // Implementation of the sqlite_version() function. The result is the version // of the SQLite library that is running. -func versionFunc(tls *libc.TLS, context uintptr, NotUsed int32, NotUsed2 uintptr) { /* sqlite3.c:121998:13: */ +func versionFunc(tls *libc.TLS, context uintptr, NotUsed int32, NotUsed2 uintptr) { /* sqlite3.c:122011:13: */ _ = NotUsed _ = NotUsed2 // IMP: R-48699-48617 This function is an SQL wrapper around the @@ -101860,7 +101879,7 @@ func versionFunc(tls *libc.TLS, context uintptr, NotUsed int32, NotUsed2 uintptr // Implementation of the sqlite_source_id() function. The result is a string // that identifies the particular version of the source code used to build // SQLite. -func sourceidFunc(tls *libc.TLS, context uintptr, NotUsed int32, NotUsed2 uintptr) { /* sqlite3.c:122014:13: */ +func sourceidFunc(tls *libc.TLS, context uintptr, NotUsed int32, NotUsed2 uintptr) { /* sqlite3.c:122027:13: */ _ = NotUsed _ = NotUsed2 // IMP: R-24470-31136 This function is an SQL wrapper around the @@ -101871,7 +101890,7 @@ func sourceidFunc(tls *libc.TLS, context uintptr, NotUsed int32, NotUsed2 uintpt // Implementation of the sqlite_log() function. This is a wrapper around // sqlite3_log(). The return value is NULL. The function exists purely for // its side-effects. -func errlogFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122030:13: */ +func errlogFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122043:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -101883,7 +101902,7 @@ func errlogFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* s // Implementation of the sqlite_compileoption_used() function. // The result is an integer that identifies if the compiler option // was used to build SQLite. -func compileoptionusedFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122046:13: */ +func compileoptionusedFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122059:13: */ var zOptName uintptr _ = argc @@ -101898,7 +101917,7 @@ func compileoptionusedFunc(tls *libc.TLS, context uintptr, argc int32, argv uint // Implementation of the sqlite_compileoption_get() function. // The result is a string that identifies the compiler options // used to build SQLite. -func compileoptiongetFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122070:13: */ +func compileoptiongetFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122083:13: */ var n int32 _ = argc @@ -101913,11 +101932,11 @@ func compileoptiongetFunc(tls *libc.TLS, context uintptr, argc int32, argv uintp var hexdigits = [16]int8{ int8('0'), int8('1'), int8('2'), int8('3'), int8('4'), int8('5'), int8('6'), int8('7'), int8('8'), int8('9'), int8('A'), int8('B'), int8('C'), int8('D'), int8('E'), int8('F'), -} /* sqlite3.c:122088:19 */ +} /* sqlite3.c:122101:19 */ // Append to pStr text that is the SQL literal representation of the // value contained in pValue. -func Xsqlite3QuoteValue(tls *libc.TLS, pStr uintptr, pValue uintptr) { /* sqlite3.c:122097:21: */ +func Xsqlite3QuoteValue(tls *libc.TLS, pStr uintptr, pValue uintptr) { /* sqlite3.c:122110:21: */ bp := tls.Alloc(40) defer tls.Free(40) @@ -101998,7 +102017,7 @@ func Xsqlite3QuoteValue(tls *libc.TLS, pStr uintptr, pValue uintptr) { /* sqlite // as needed. BLOBs are encoded as hexadecimal literals. Strings with // embedded NUL characters cannot be represented as string literals in SQL // and hence the returned string literal is truncated prior to the first NUL. -func quoteFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122166:13: */ +func quoteFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122179:13: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -102021,7 +102040,7 @@ func quoteFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sq // The unicode() function. Return the integer unicode code-point value // for the first character of the input string. -func unicodeFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122185:13: */ +func unicodeFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122198:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -102035,7 +102054,7 @@ func unicodeFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* // The char() function takes zero or more arguments, each of which is // an integer. It constructs a string where each character of the string // is the unicode character for the corresponding integer argument. -func charFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122200:13: */ +func charFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122213:13: */ var z uintptr var zOut uintptr var i int32 @@ -102073,7 +102092,7 @@ func charFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sql // The hex() function. Interpret the argument as a blob. Return // a hexadecimal rendering as text. -func hexFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122241:13: */ +func hexFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122254:13: */ var i int32 var n int32 var pBlob uintptr @@ -102111,7 +102130,7 @@ func hexFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqli } // The zeroblob(N) function returns a zero-filled blob of size N bytes. -func zeroblobFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122269:13: */ +func zeroblobFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122282:13: */ var n I64 var rc int32 @@ -102130,7 +102149,7 @@ func zeroblobFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* // them A, B, and C. The result is also a string which is derived // from A by replacing every occurrence of B with C. The match // must be exact. Collating sequences are not used. -func replaceFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122292:13: */ +func replaceFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122305:13: */ var zStr uintptr // The input string A var zPattern uintptr // The pattern string B var zRep uintptr // The replacement string C @@ -102219,7 +102238,7 @@ func replaceFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* // Implementation of the TRIM(), LTRIM(), and RTRIM() functions. // The userdata is 0x1 for left trim, 0x2 for right trim, 0x3 for both. -func trimFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122385:13: */ +func trimFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122398:13: */ var zIn uintptr // Input string var zCharSet uintptr // Set of characters to trim var nIn uint32 // Number of bytes in input @@ -102322,8 +102341,8 @@ func trimFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sql Xsqlite3_result_text(tls, context, zIn, int32(nIn), libc.UintptrFromInt32(-1)) } -var lenOne = [1]uint32{uint32(1)} /* sqlite3.c:122407:27 */ -var azOne = [1]uintptr{uintptr(ts + 10798 /* " " */)} /* sqlite3.c:122408:26 */ +var lenOne = [1]uint32{uint32(1)} /* sqlite3.c:122420:27 */ +var azOne = [1]uintptr{uintptr(ts + 10798 /* " " */)} /* sqlite3.c:122421:26 */ // IMP: R-25361-16150 This function is omitted from SQLite by default. It // is only available if the SQLITE_SOUNDEX compile-time option is used @@ -102332,7 +102351,7 @@ var azOne = [1]uintptr{uintptr(ts + 10798 /* " " */)} /* sqlite3.c:122408:26 */ // // IMP: R-59782-00072 The soundex(X) function returns a string that is the // soundex encoding of the string X. -func soundexFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122498:13: */ +func soundexFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122511:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -102383,10 +102402,10 @@ var iCode = [128]uint8{ uint8(1), uint8(2), uint8(6), uint8(2), uint8(3), uint8(0), uint8(1), uint8(0), uint8(2), uint8(0), uint8(2), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(1), uint8(2), uint8(3), uint8(0), uint8(1), uint8(2), uint8(0), uint8(0), uint8(2), uint8(2), uint8(4), uint8(5), uint8(5), uint8(0), uint8(1), uint8(2), uint8(6), uint8(2), uint8(3), uint8(0), uint8(1), uint8(0), uint8(2), uint8(0), uint8(2), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), -} /* sqlite3.c:122506:30 */ +} /* sqlite3.c:122519:30 */ // A function that loads a shared-library extension then returns NULL. -func loadExt(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122551:13: */ +func loadExt(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122564:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -102422,11 +102441,11 @@ type SumCtx1 = struct { Foverflow U8 Fapprox U8 F__ccgo_pad1 [6]byte -} /* sqlite3.c:122582:9 */ +} /* sqlite3.c:122595:9 */ // An instance of the following structure holds the context of a // sum() or avg() aggregate computation. -type SumCtx = SumCtx1 /* sqlite3.c:122582:23 */ +type SumCtx = SumCtx1 /* sqlite3.c:122595:23 */ // Routines used to compute the sum, average, and total. // @@ -102436,7 +102455,7 @@ type SumCtx = SumCtx1 /* sqlite3.c:122582:23 */ // SUM might return an integer if it never encounters a floating point // value. TOTAL never fails, but SUM might through an exception if // it overflows an integer. -func sumStep(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122601:13: */ +func sumStep(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122614:13: */ var p uintptr var type1 int32 @@ -102458,7 +102477,7 @@ func sumStep(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqli } } -func sumInverse(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122623:13: */ +func sumInverse(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122636:13: */ var p uintptr var type1 int32 @@ -102481,7 +102500,7 @@ func sumInverse(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* s } } -func sumFinalize(tls *libc.TLS, context uintptr) { /* sqlite3.c:122648:13: */ +func sumFinalize(tls *libc.TLS, context uintptr) { /* sqlite3.c:122661:13: */ var p uintptr p = Xsqlite3_aggregate_context(tls, context, 0) if p != 0 && (*SumCtx)(unsafe.Pointer(p)).Fcnt > int64(0) { @@ -102495,7 +102514,7 @@ func sumFinalize(tls *libc.TLS, context uintptr) { /* sqlite3.c:122648:13: */ } } -func avgFinalize(tls *libc.TLS, context uintptr) { /* sqlite3.c:122661:13: */ +func avgFinalize(tls *libc.TLS, context uintptr) { /* sqlite3.c:122674:13: */ var p uintptr p = Xsqlite3_aggregate_context(tls, context, 0) if p != 0 && (*SumCtx)(unsafe.Pointer(p)).Fcnt > int64(0) { @@ -102503,7 +102522,7 @@ func avgFinalize(tls *libc.TLS, context uintptr) { /* sqlite3.c:122661:13: */ } } -func totalFinalize(tls *libc.TLS, context uintptr) { /* sqlite3.c:122668:13: */ +func totalFinalize(tls *libc.TLS, context uintptr) { /* sqlite3.c:122681:13: */ var p uintptr p = Xsqlite3_aggregate_context(tls, context, 0) // (double)0 In case of SQLITE_OMIT_FLOATING_POINT... @@ -102517,14 +102536,14 @@ func totalFinalize(tls *libc.TLS, context uintptr) { /* sqlite3.c:122668:13: */ // The following structure keeps track of state information for the // count() aggregate function. -type CountCtx1 = struct{ Fn I64 } /* sqlite3.c:122679:9 */ +type CountCtx1 = struct{ Fn I64 } /* sqlite3.c:122692:9 */ // The following structure keeps track of state information for the // count() aggregate function. -type CountCtx = CountCtx1 /* sqlite3.c:122679:25 */ +type CountCtx = CountCtx1 /* sqlite3.c:122692:25 */ // Routines to implement the count() aggregate function. -func countStep(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122690:13: */ +func countStep(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122703:13: */ var p uintptr p = Xsqlite3_aggregate_context(tls, context, int32(unsafe.Sizeof(CountCtx{}))) if (argc == 0 || SQLITE_NULL != Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(argv)))) && p != 0 { @@ -102538,7 +102557,7 @@ func countStep(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sq } -func countFinalize(tls *libc.TLS, context uintptr) { /* sqlite3.c:122706:13: */ +func countFinalize(tls *libc.TLS, context uintptr) { /* sqlite3.c:122719:13: */ var p uintptr p = Xsqlite3_aggregate_context(tls, context, 0) Xsqlite3_result_int64(tls, context, func() int64 { @@ -102549,7 +102568,7 @@ func countFinalize(tls *libc.TLS, context uintptr) { /* sqlite3.c:122706:13: */ }()) } -func countInverse(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:122712:13: */ +func countInverse(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:122725:13: */ var p uintptr p = Xsqlite3_aggregate_context(tls, ctx, int32(unsafe.Sizeof(CountCtx{}))) // p is always non-NULL since countStep() will have been called first @@ -102559,7 +102578,7 @@ func countInverse(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sql } // Routines to implement min() and max() aggregate functions. -func minmaxStep(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { /* sqlite3.c:122730:13: */ +func minmaxStep(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { /* sqlite3.c:122743:13: */ var pArg uintptr = *(*uintptr)(unsafe.Pointer(argv)) var pBest uintptr _ = NotUsed @@ -102597,7 +102616,7 @@ func minmaxStep(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { / } } -func minMaxValueFinalize(tls *libc.TLS, context uintptr, bValue int32) { /* sqlite3.c:122768:13: */ +func minMaxValueFinalize(tls *libc.TLS, context uintptr, bValue int32) { /* sqlite3.c:122781:13: */ var pRes uintptr pRes = Xsqlite3_aggregate_context(tls, context, 0) if pRes != 0 { @@ -102610,11 +102629,11 @@ func minMaxValueFinalize(tls *libc.TLS, context uintptr, bValue int32) { /* sqli } } -func minMaxValue(tls *libc.TLS, context uintptr) { /* sqlite3.c:122779:13: */ +func minMaxValue(tls *libc.TLS, context uintptr) { /* sqlite3.c:122792:13: */ minMaxValueFinalize(tls, context, 1) } -func minMaxFinalize(tls *libc.TLS, context uintptr) { /* sqlite3.c:122785:13: */ +func minMaxFinalize(tls *libc.TLS, context uintptr) { /* sqlite3.c:122798:13: */ minMaxValueFinalize(tls, context, 0) } @@ -102630,9 +102649,9 @@ type GroupConcatCtx = struct { FnAccum int32 FnFirstSepLength int32 FpnSepLengths uintptr -} /* sqlite3.c:122810:3 */ +} /* sqlite3.c:122823:3 */ -func groupConcatStep(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122812:13: */ +func groupConcatStep(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122825:13: */ var zVal uintptr var pGCC uintptr var zSep uintptr @@ -102697,7 +102716,7 @@ func groupConcatStep(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { } } -func groupConcatInverse(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122883:13: */ +func groupConcatInverse(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122896:13: */ var pGCC uintptr _ = argc // Suppress unused parameter warning @@ -102739,7 +102758,7 @@ func groupConcatInverse(tls *libc.TLS, context uintptr, argc int32, argv uintptr } } -func groupConcatFinalize(tls *libc.TLS, context uintptr) { /* sqlite3.c:122929:13: */ +func groupConcatFinalize(tls *libc.TLS, context uintptr) { /* sqlite3.c:122942:13: */ var pGCC uintptr = Xsqlite3_aggregate_context(tls, context, 0) if pGCC != 0 { Xsqlite3ResultStrAccum(tls, context, pGCC) @@ -102747,7 +102766,7 @@ func groupConcatFinalize(tls *libc.TLS, context uintptr) { /* sqlite3.c:122929:1 } } -func groupConcatValue(tls *libc.TLS, context uintptr) { /* sqlite3.c:122940:13: */ +func groupConcatValue(tls *libc.TLS, context uintptr) { /* sqlite3.c:122953:13: */ var pGCC uintptr = Xsqlite3_aggregate_context(tls, context, 0) if pGCC != 0 { var pAccum uintptr = pGCC @@ -102765,7 +102784,7 @@ func groupConcatValue(tls *libc.TLS, context uintptr) { /* sqlite3.c:122940:13: // This routine does per-connection function registration. Most // of the built-in functions above are part of the global function set. // This routine only deals with those that are not global. -func Xsqlite3RegisterPerConnectionBuiltinFunctions(tls *libc.TLS, db uintptr) { /* sqlite3.c:122964:21: */ +func Xsqlite3RegisterPerConnectionBuiltinFunctions(tls *libc.TLS, db uintptr) { /* sqlite3.c:122977:21: */ var rc int32 = Xsqlite3_overload_function(tls, db, ts+14858, 2) if rc == SQLITE_NOMEM { @@ -102776,7 +102795,7 @@ func Xsqlite3RegisterPerConnectionBuiltinFunctions(tls *libc.TLS, db uintptr) { // Re-register the built-in LIKE functions. The caseSensitive // parameter determines whether or not the LIKE operator is case // sensitive. -func Xsqlite3RegisterLikeFunctions(tls *libc.TLS, db uintptr, caseSensitive int32) { /* sqlite3.c:122977:21: */ +func Xsqlite3RegisterLikeFunctions(tls *libc.TLS, db uintptr, caseSensitive int32) { /* sqlite3.c:122990:21: */ var pInfo uintptr var flags int32 if caseSensitive != 0 { @@ -102811,7 +102830,7 @@ func Xsqlite3RegisterLikeFunctions(tls *libc.TLS, db uintptr, caseSensitive int3 // the function (default for LIKE). If the function makes the distinction // between uppercase and lowercase (as does GLOB) then *pIsNocase is set to // false. -func Xsqlite3IsLikeFunction(tls *libc.TLS, db uintptr, pExpr uintptr, pIsNocase uintptr, aWc uintptr) int32 { /* sqlite3.c:123010:20: */ +func Xsqlite3IsLikeFunction(tls *libc.TLS, db uintptr, pExpr uintptr, pIsNocase uintptr, aWc uintptr) int32 { /* sqlite3.c:123023:20: */ var pDef uintptr var nExpr int32 @@ -102867,7 +102886,7 @@ func Xsqlite3IsLikeFunction(tls *libc.TLS, db uintptr, pExpr uintptr, pIsNocase // // The sqlite3_user_data() pointer is a pointer to the libm implementation // of the underlying C function. -func ceilingFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:123081:13: */ +func ceilingFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:123094:13: */ switch Xsqlite3_value_numeric_type(tls, *(*uintptr)(unsafe.Pointer(argv))) { case SQLITE_INTEGER: @@ -102896,11 +102915,11 @@ func ceilingFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* // On some systems, ceil() and floor() are intrinsic function. You are // unable to take a pointer to these functions. Hence, we here wrap them // in our own actual functions. -func xCeil(tls *libc.TLS, x float64) float64 { /* sqlite3.c:123108:15: */ +func xCeil(tls *libc.TLS, x float64) float64 { /* sqlite3.c:123121:15: */ return libc.Xceil(tls, x) } -func xFloor(tls *libc.TLS, x float64) float64 { /* sqlite3.c:123109:15: */ +func xFloor(tls *libc.TLS, x float64) float64 { /* sqlite3.c:123122:15: */ return libc.Xfloor(tls, x) } @@ -102910,7 +102929,7 @@ func xFloor(tls *libc.TLS, x float64) float64 { /* sqlite3.c:123109:15: */ // log(X) - log X base 10 // log10(X) - log X base 10 // log(B,X) - log X base B -func logFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:123119:13: */ +func logFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:123132:13: */ var x float64 var b float64 var ans float64 @@ -102967,18 +102986,18 @@ func logFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqli } // Functions to converts degrees to radians and radians to degrees. -func degToRad(tls *libc.TLS, x float64) float64 { /* sqlite3.c:123169:15: */ +func degToRad(tls *libc.TLS, x float64) float64 { /* sqlite3.c:123182:15: */ return x * (float64(3.14159265358979323846) / 180.0) } -func radToDeg(tls *libc.TLS, x float64) float64 { /* sqlite3.c:123170:15: */ +func radToDeg(tls *libc.TLS, x float64) float64 { /* sqlite3.c:123183:15: */ return x * (float64(180.0) / 3.14159265358979323846) } // Implementation of 1-argument SQL math functions: // // exp(X) - Compute e to the X-th power -func math1Func(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:123177:13: */ +func math1Func(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:123190:13: */ var type0 int32 var v0 float64 var ans float64 @@ -102999,7 +103018,7 @@ func math1Func(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sq // Implementation of 2-argument SQL math functions: // // power(X,Y) - Compute X to the Y-th power -func math2Func(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:123199:13: */ +func math2Func(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:123212:13: */ var type0 int32 var type1 int32 var v0 float64 @@ -103025,13 +103044,13 @@ func math2Func(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sq } // Implementation of 0-argument pi() function. -func piFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:123222:13: */ +func piFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:123235:13: */ Xsqlite3_result_double(tls, context, 3.14159265358979323846) } // Implementation of sign(X) function. -func signFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:123236:13: */ +func signFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:123249:13: */ var type0 int32 var x float64 _ = argc @@ -103059,7 +103078,7 @@ func signFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sql // a consequence of calling sqlite3_initialize()). // // After this routine runs -func Xsqlite3RegisterBuiltinFunctions(tls *libc.TLS) { /* sqlite3.c:123258:21: */ +func Xsqlite3RegisterBuiltinFunctions(tls *libc.TLS) { /* sqlite3.c:123271:21: */ Xsqlite3AlterFunctions(tls) Xsqlite3WindowFunctions(tls) Xsqlite3RegisterDateTimeFunctions(tls) @@ -103172,7 +103191,7 @@ var aBuiltinFunc = [101]FuncDef{ {FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_FUNC_CONSTANT | SQLITE_UTF8 | 0*SQLITE_FUNC_NEEDCOLL), FxSFunc: 0, FzName: ts + 15500}, {FnArg: int8(1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_FUNC_CONSTANT | SQLITE_UTF8 | 0*SQLITE_FUNC_NEEDCOLL), FxSFunc: 0, FzName: ts + 15503}, {FnArg: int8(-1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_UTF8 | SQLITE_FUNC_INLINE | SQLITE_FUNC_CONSTANT | 0), FxSFunc: 0, FzName: ts + 15343}, - {FnArg: int8(3), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_UTF8 | SQLITE_FUNC_INLINE | SQLITE_FUNC_CONSTANT | 0), FpUserData: uintptr(int64(INLINEFUNC_iif)), FxSFunc: 0, FzName: ts + 15508}} /* sqlite3.c:123269:18 */ + {FnArg: int8(3), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_UTF8 | SQLITE_FUNC_INLINE | SQLITE_FUNC_CONSTANT | 0), FpUserData: uintptr(int64(INLINEFUNC_iif)), FxSFunc: 0, FzName: ts + 15508}} /* sqlite3.c:123282:18 */ //************* End of func.c *********************************************** //************* Begin file fkey.c ******************************************* @@ -103347,7 +103366,7 @@ var aBuiltinFunc = [101]FuncDef{ // then non-zero is returned, and a "foreign key mismatch" error loaded // into pParse. If an OOM error occurs, non-zero is returned and the // pParse->db->mallocFailed flag is set. -func Xsqlite3FkLocateIndex(tls *libc.TLS, pParse uintptr, pParent uintptr, pFKey uintptr, ppIdx uintptr, paiCol uintptr) int32 { /* sqlite3.c:123622:20: */ +func Xsqlite3FkLocateIndex(tls *libc.TLS, pParse uintptr, pParent uintptr, pFKey uintptr, ppIdx uintptr, paiCol uintptr) int32 { /* sqlite3.c:123635:20: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -103493,7 +103512,7 @@ func Xsqlite3FkLocateIndex(tls *libc.TLS, pParse uintptr, pParent uintptr, pFKey // // These operations are identified in the comment at the top of this file // (fkey.c) as "I.1" and "D.1". -func fkLookupParent(tls *libc.TLS, pParse uintptr, iDb int32, pTab uintptr, pIdx uintptr, pFKey uintptr, aiCol uintptr, regData int32, nIncr int32, isIgnore int32) { /* sqlite3.c:123759:13: */ +func fkLookupParent(tls *libc.TLS, pParse uintptr, iDb int32, pTab uintptr, pIdx uintptr, pFKey uintptr, aiCol uintptr, regData int32, nIncr int32, isIgnore int32) { /* sqlite3.c:123772:13: */ var i int32 // Iterator variable var v uintptr = Xsqlite3GetVdbe(tls, pParse) // Vdbe to add code to var iCur int32 = (*Parse)(unsafe.Pointer(pParse)).FnTab - 1 // Cursor number to use @@ -103623,7 +103642,7 @@ func fkLookupParent(tls *libc.TLS, pParse uintptr, iDb int32, pTab uintptr, pIdx // regBase is the first of an array of register that contains the data // for pTab. regBase itself holds the rowid. regBase+1 holds the first // column. regBase+2 holds the second column, and so forth. -func exprTableRegister(tls *libc.TLS, pParse uintptr, pTab uintptr, regBase int32, iCol I16) uintptr { /* sqlite3.c:123912:13: */ +func exprTableRegister(tls *libc.TLS, pParse uintptr, pTab uintptr, regBase int32, iCol I16) uintptr { /* sqlite3.c:123925:13: */ var pExpr uintptr var pCol uintptr var zColl uintptr @@ -103650,7 +103669,7 @@ func exprTableRegister(tls *libc.TLS, pParse uintptr, pTab uintptr, regBase int3 // Return an Expr object that refers to column iCol of table pTab which // has cursor iCur. -func exprTableColumn(tls *libc.TLS, db uintptr, pTab uintptr, iCursor int32, iCol I16) uintptr { /* sqlite3.c:123944:13: */ +func exprTableColumn(tls *libc.TLS, db uintptr, pTab uintptr, iCursor int32, iCol I16) uintptr { /* sqlite3.c:123957:13: */ var pExpr uintptr = Xsqlite3Expr(tls, db, TK_COLUMN, uintptr(0)) if pExpr != 0 { @@ -103691,7 +103710,7 @@ func exprTableColumn(tls *libc.TLS, db uintptr, pTab uintptr, iCursor int32, iCo // // These operations are identified in the comment at the top of this file // (fkey.c) as "I.2" and "D.2". -func fkScanChildren(tls *libc.TLS, pParse uintptr, pSrc uintptr, pTab uintptr, pIdx uintptr, pFKey uintptr, aiCol uintptr, regData int32, nIncr int32) { /* sqlite3.c:123992:13: */ +func fkScanChildren(tls *libc.TLS, pParse uintptr, pSrc uintptr, pTab uintptr, pIdx uintptr, pFKey uintptr, aiCol uintptr, regData int32, nIncr int32) { /* sqlite3.c:124005:13: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -103815,7 +103834,7 @@ func fkScanChildren(tls *libc.TLS, pParse uintptr, pSrc uintptr, pTab uintptr, p // "t2". Calling this function with "t2" as the argument would return a // NULL pointer (as there are no FK constraints for which t2 is the parent // table). -func Xsqlite3FkReferences(tls *libc.TLS, pTab uintptr) uintptr { /* sqlite3.c:124121:21: */ +func Xsqlite3FkReferences(tls *libc.TLS, pTab uintptr) uintptr { /* sqlite3.c:124134:21: */ return Xsqlite3HashFind(tls, (*Table)(unsafe.Pointer(pTab)).FpSchema+80, (*Table)(unsafe.Pointer(pTab)).FzName) } @@ -103825,7 +103844,7 @@ func Xsqlite3FkReferences(tls *libc.TLS, pTab uintptr) uintptr { /* sqlite3.c:12 // // The Trigger structure or any of its sub-components may be allocated from // the lookaside buffer belonging to database handle dbMem. -func fkTriggerDelete(tls *libc.TLS, dbMem uintptr, p uintptr) { /* sqlite3.c:124133:13: */ +func fkTriggerDelete(tls *libc.TLS, dbMem uintptr, p uintptr) { /* sqlite3.c:124146:13: */ if p != 0 { var pStep uintptr = (*Trigger)(unsafe.Pointer(p)).Fstep_list Xsqlite3ExprDelete(tls, dbMem, (*TriggerStep)(unsafe.Pointer(pStep)).FpWhere) @@ -103839,7 +103858,7 @@ func fkTriggerDelete(tls *libc.TLS, dbMem uintptr, p uintptr) { /* sqlite3.c:124 // Clear the apTrigger[] cache of CASCADE triggers for all foreign keys // in a particular database. This needs to happen when the schema // changes. -func Xsqlite3FkClearTriggerCache(tls *libc.TLS, db uintptr, iDb int32) { /* sqlite3.c:124149:21: */ +func Xsqlite3FkClearTriggerCache(tls *libc.TLS, db uintptr, iDb int32) { /* sqlite3.c:124162:21: */ var k uintptr var pHash uintptr = (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(iDb)*32)).FpSchema + 8 for k = (*Hash)(unsafe.Pointer(pHash)).Ffirst; k != 0; k = (*HashElem)(unsafe.Pointer(k)).Fnext { @@ -103872,7 +103891,7 @@ func Xsqlite3FkClearTriggerCache(tls *libc.TLS, db uintptr, iDb int32) { /* sqli // then the equivalent of "DELETE FROM " is executed before dropping // the table from the database. Triggers are disabled while running this // DELETE, but foreign key actions are not. -func Xsqlite3FkDropTable(tls *libc.TLS, pParse uintptr, pName uintptr, pTab uintptr) { /* sqlite3.c:124180:21: */ +func Xsqlite3FkDropTable(tls *libc.TLS, pParse uintptr, pName uintptr, pTab uintptr) { /* sqlite3.c:124193:21: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb if (*Sqlite3)(unsafe.Pointer(db)).Fflags&uint64(SQLITE_ForeignKeys) != 0 && int32((*Table)(unsafe.Pointer(pTab)).FeTabType) == TABTYP_NORM { var iSkip int32 = 0 @@ -103935,7 +103954,7 @@ func Xsqlite3FkDropTable(tls *libc.TLS, pParse uintptr, pName uintptr, pTab uint // // This function returns true if any of the columns that are part of the // child key for FK constraint *p are modified. -func fkChildIsModified(tls *libc.TLS, pTab uintptr, p uintptr, aChange uintptr, bChngRowid int32) int32 { /* sqlite3.c:124243:12: */ +func fkChildIsModified(tls *libc.TLS, pTab uintptr, p uintptr, aChange uintptr, bChngRowid int32) int32 { /* sqlite3.c:124256:12: */ var i int32 for i = 0; i < (*FKey)(unsafe.Pointer(p)).FnCol; i++ { var iChildKey int32 = (*sColMap)(unsafe.Pointer(p + 64 + uintptr(i)*16)).FiFrom @@ -103959,7 +103978,7 @@ func fkChildIsModified(tls *libc.TLS, pTab uintptr, p uintptr, aChange uintptr, // // This function returns true if any of the columns that are part of the // parent key for FK constraint *p are modified. -func fkParentIsModified(tls *libc.TLS, pTab uintptr, p uintptr, aChange uintptr, bChngRowid int32) int32 { /* sqlite3.c:124270:12: */ +func fkParentIsModified(tls *libc.TLS, pTab uintptr, p uintptr, aChange uintptr, bChngRowid int32) int32 { /* sqlite3.c:124283:12: */ var i int32 for i = 0; i < (*FKey)(unsafe.Pointer(p)).FnCol; i++ { var zKey uintptr = (*sColMap)(unsafe.Pointer(p + 64 + uintptr(i)*16)).FzCol @@ -103983,7 +104002,7 @@ func fkParentIsModified(tls *libc.TLS, pTab uintptr, p uintptr, aChange uintptr, // Return true if the parser passed as the first argument is being // used to code a trigger that is really a "SET NULL" action belonging // to trigger pFKey. -func isSetNullAction(tls *libc.TLS, pParse uintptr, pFKey uintptr) int32 { /* sqlite3.c:124299:12: */ +func isSetNullAction(tls *libc.TLS, pParse uintptr, pFKey uintptr) int32 { /* sqlite3.c:124312:12: */ var pTop uintptr = func() uintptr { if (*Parse)(unsafe.Pointer(pParse)).FpToplevel != 0 { return (*Parse)(unsafe.Pointer(pParse)).FpToplevel @@ -104018,7 +104037,7 @@ func isSetNullAction(tls *libc.TLS, pParse uintptr, pFKey uintptr) int32 { /* sq // the original record is deleted from the table using the calling convention // described for DELETE. Then again after the original record is deleted // but before the new record is inserted using the INSERT convention. -func Xsqlite3FkCheck(tls *libc.TLS, pParse uintptr, pTab uintptr, regOld int32, regNew int32, aChange uintptr, bChngRowid int32) { /* sqlite3.c:124332:21: */ +func Xsqlite3FkCheck(tls *libc.TLS, pParse uintptr, pTab uintptr, regOld int32, regNew int32, aChange uintptr, bChngRowid int32) { /* sqlite3.c:124345:21: */ bp := tls.Alloc(40) defer tls.Free(40) @@ -104220,7 +104239,7 @@ func Xsqlite3FkCheck(tls *libc.TLS, pParse uintptr, pTab uintptr, regOld int32, // This function is called before generating code to update or delete a // row contained in table pTab. -func Xsqlite3FkOldmask(tls *libc.TLS, pParse uintptr, pTab uintptr) U32 { /* sqlite3.c:124535:20: */ +func Xsqlite3FkOldmask(tls *libc.TLS, pParse uintptr, pTab uintptr) U32 { /* sqlite3.c:124548:20: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -104279,7 +104298,7 @@ func Xsqlite3FkOldmask(tls *libc.TLS, pParse uintptr, pTab uintptr) U32 { /* sql // not "NO ACTION" (i.e. is CASCADE, SET DEFAULT or SET NULL). // // Or, assuming some other foreign key processing is required, 1. -func Xsqlite3FkRequired(tls *libc.TLS, pParse uintptr, pTab uintptr, aChange uintptr, chngRowid int32) int32 { /* sqlite3.c:124585:20: */ +func Xsqlite3FkRequired(tls *libc.TLS, pParse uintptr, pTab uintptr, aChange uintptr, chngRowid int32) int32 { /* sqlite3.c:124598:20: */ var eRet int32 = 1 // Value to return if bHaveFK is true var bHaveFK int32 = 0 // If FK processing is required if (*Sqlite3)(unsafe.Pointer((*Parse)(unsafe.Pointer(pParse)).Fdb)).Fflags&uint64(SQLITE_ForeignKeys) != 0 && int32((*Table)(unsafe.Pointer(pTab)).FeTabType) == TABTYP_NORM { @@ -104347,7 +104366,7 @@ func Xsqlite3FkRequired(tls *libc.TLS, pParse uintptr, pTab uintptr, aChange uin // The returned pointer is cached as part of the foreign key object. It // is eventually freed along with the rest of the foreign key object by // sqlite3FkDelete(). -func fkActionTrigger(tls *libc.TLS, pParse uintptr, pTab uintptr, pFKey uintptr, pChanges uintptr) uintptr { /* sqlite3.c:124653:16: */ +func fkActionTrigger(tls *libc.TLS, pParse uintptr, pTab uintptr, pFKey uintptr, pChanges uintptr) uintptr { /* sqlite3.c:124666:16: */ bp := tls.Alloc(96) defer tls.Free(96) @@ -104550,7 +104569,7 @@ func fkActionTrigger(tls *libc.TLS, pParse uintptr, pTab uintptr, pFKey uintptr, // This function is called when deleting or updating a row to implement // any required CASCADE, SET NULL or SET DEFAULT actions. -func Xsqlite3FkActions(tls *libc.TLS, pParse uintptr, pTab uintptr, pChanges uintptr, regOld int32, aChange uintptr, bChngRowid int32) { /* sqlite3.c:124845:21: */ +func Xsqlite3FkActions(tls *libc.TLS, pParse uintptr, pTab uintptr, pChanges uintptr, regOld int32, aChange uintptr, bChngRowid int32) { /* sqlite3.c:124858:21: */ // If foreign-key support is enabled, iterate through all FKs that // refer to table pTab. If there is an action associated with the FK // for this operation (either update or delete), invoke the associated @@ -104571,7 +104590,7 @@ func Xsqlite3FkActions(tls *libc.TLS, pParse uintptr, pTab uintptr, pChanges uin // Free all memory associated with foreign key definitions attached to // table pTab. Remove the deleted foreign keys from the Schema.fkeyHash // hash table. -func Xsqlite3FkDelete(tls *libc.TLS, db uintptr, pTab uintptr) { /* sqlite3.c:124877:21: */ +func Xsqlite3FkDelete(tls *libc.TLS, db uintptr, pTab uintptr) { /* sqlite3.c:124890:21: */ var pFKey uintptr // Iterator variable var pNext uintptr // Copy of pFKey->pNextFrom @@ -104631,7 +104650,7 @@ func Xsqlite3FkDelete(tls *libc.TLS, db uintptr, pTab uintptr) { /* sqlite3.c:12 // // If pTab is a WITHOUT ROWID table, then it is the PRIMARY KEY index // for that table that is actually opened. -func Xsqlite3OpenTable(tls *libc.TLS, pParse uintptr, iCur int32, iDb int32, pTab uintptr, opcode int32) { /* sqlite3.c:124943:21: */ +func Xsqlite3OpenTable(tls *libc.TLS, pParse uintptr, iCur int32, iDb int32, pTab uintptr, opcode int32) { /* sqlite3.c:124956:21: */ var v uintptr v = (*Parse)(unsafe.Pointer(pParse)).FpVdbe @@ -104673,7 +104692,7 @@ func Xsqlite3OpenTable(tls *libc.TLS, pParse uintptr, iCur int32, iDb int32, pTa // Memory for the buffer containing the column index affinity string // is managed along with the rest of the Index structure. It will be // released when sqlite3DeleteIndex() is called. -func Xsqlite3IndexAffinityStr(tls *libc.TLS, db uintptr, pIdx uintptr) uintptr { /* sqlite3.c:124990:27: */ +func Xsqlite3IndexAffinityStr(tls *libc.TLS, db uintptr, pIdx uintptr) uintptr { /* sqlite3.c:125003:27: */ if !(int32((*Index)(unsafe.Pointer(pIdx)).FzColAff) != 0) { // The first time a column affinity string for a particular index is // required, it is allocated and populated here. It is then stored as @@ -104752,7 +104771,7 @@ func Xsqlite3IndexAffinityStr(tls *libc.TLS, db uintptr, pIdx uintptr) uintptr { // register set as the OP_MakeRecord. If iReg>0 then register iReg is // the first of a series of registers that will form the new record. // Apply the type checking to that array of registers. -func Xsqlite3TableAffinity(tls *libc.TLS, v uintptr, pTab uintptr, iReg int32) { /* sqlite3.c:125069:21: */ +func Xsqlite3TableAffinity(tls *libc.TLS, v uintptr, pTab uintptr, iReg int32) { /* sqlite3.c:125082:21: */ var i int32 var j int32 var zColAff uintptr @@ -104810,7 +104829,7 @@ func Xsqlite3TableAffinity(tls *libc.TLS, v uintptr, pTab uintptr, iReg int32) { // have been opened at any point in the VDBE program. This is used to see if // a statement of the form "INSERT INTO SELECT ..." can // run without using a temporary table for the results of the SELECT. -func readsTable(tls *libc.TLS, p uintptr, iDb int32, pTab uintptr) int32 { /* sqlite3.c:125130:12: */ +func readsTable(tls *libc.TLS, p uintptr, iDb int32, pTab uintptr) int32 { /* sqlite3.c:125143:12: */ var v uintptr = Xsqlite3GetVdbe(tls, p) var i int32 var iEnd int32 = Xsqlite3VdbeCurrentAddr(tls, v) @@ -104846,7 +104865,7 @@ func readsTable(tls *libc.TLS, p uintptr, iDb int32, pTab uintptr) int32 { /* sq // This walker callback will compute the union of colFlags flags for all // referenced columns in a CHECK constraint or generated column expression. -func exprColumnFlagUnion(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:125167:12: */ +func exprColumnFlagUnion(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:125180:12: */ if int32((*Expr)(unsafe.Pointer(pExpr)).Fop) == TK_COLUMN && int32((*Expr)(unsafe.Pointer(pExpr)).FiColumn) >= 0 { *(*U16)(unsafe.Pointer(pWalker + 36)) |= U16(int32((*Column)(unsafe.Pointer((*Table1)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pWalker + 40)))).FaCol + uintptr((*Expr)(unsafe.Pointer(pExpr)).FiColumn)*24)).FcolFlags)) @@ -104859,7 +104878,7 @@ func exprColumnFlagUnion(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { // or VIRTUAL columns have not yet been initialized. This routine goes // back and computes the values for those columns based on the previously // computed normal columns. -func Xsqlite3ComputeGeneratedColumns(tls *libc.TLS, pParse uintptr, iRegStore int32, pTab uintptr) { /* sqlite3.c:125183:21: */ +func Xsqlite3ComputeGeneratedColumns(tls *libc.TLS, pParse uintptr, iRegStore int32, pTab uintptr) { /* sqlite3.c:125196:21: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -104972,7 +104991,7 @@ func Xsqlite3ComputeGeneratedColumns(tls *libc.TLS, pParse uintptr, iRegStore in // // The 2nd register is the one that is returned. That is all the // insert routine needs to know about. -func autoIncBegin(tls *libc.TLS, pParse uintptr, iDb int32, pTab uintptr) int32 { /* sqlite3.c:125307:12: */ +func autoIncBegin(tls *libc.TLS, pParse uintptr, iDb int32, pTab uintptr) int32 { /* sqlite3.c:125320:12: */ var memId int32 = 0 // Register holding maximum rowid if (*Table)(unsafe.Pointer(pTab)).FtabFlags&U32(TF_Autoincrement) != U32(0) && @@ -105026,7 +105045,7 @@ func autoIncBegin(tls *libc.TLS, pParse uintptr, iDb int32, pTab uintptr) int32 // This routine generates code that will initialize all of the // register used by the autoincrement tracker. -func Xsqlite3AutoincrementBegin(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:125358:21: */ +func Xsqlite3AutoincrementBegin(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:125371:21: */ var p uintptr // Information about an AUTOINCREMENT var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb // The database connection var pDb uintptr // Database only autoinc table @@ -105066,7 +105085,7 @@ func Xsqlite3AutoincrementBegin(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:12 } } -var iLn1 int32 = 0 /* sqlite3.c:125372:22 */ +var iLn1 int32 = 0 /* sqlite3.c:125385:22 */ var autoInc = [12]VdbeOpList{ /* 0 */ {Fopcode: U8(OP_Null)}, /* 1 */ {Fopcode: U8(OP_Rewind), Fp2: int8(10)}, @@ -105080,7 +105099,7 @@ var autoInc = [12]VdbeOpList{ /* 9 */ {Fopcode: U8(OP_Next), Fp2: int8(2)}, /* 10 */ {Fopcode: U8(OP_Integer)}, /* 11 */ {Fopcode: U8(OP_Close)}, -} /* sqlite3.c:125373:29 */ +} /* sqlite3.c:125386:29 */ // Update the maximum rowid for an autoincrement calculation. // @@ -105088,7 +105107,7 @@ var autoInc = [12]VdbeOpList{ // new rowid that is about to be inserted. If that new rowid is // larger than the maximum rowid in the memId memory cell, then the // memory cell is updated. -func autoIncStep(tls *libc.TLS, pParse uintptr, memId int32, regRowid int32) { /* sqlite3.c:125419:13: */ +func autoIncStep(tls *libc.TLS, pParse uintptr, memId int32, regRowid int32) { /* sqlite3.c:125432:13: */ if memId > 0 { Xsqlite3VdbeAddOp2(tls, (*Parse)(unsafe.Pointer(pParse)).FpVdbe, OP_MemMax, memId, regRowid) } @@ -105099,7 +105118,7 @@ func autoIncStep(tls *libc.TLS, pParse uintptr, memId int32, regRowid int32) { / // Every statement that might do an INSERT into an autoincrement // table (either directly or through triggers) needs to call this // routine just before the "exit" code. -func autoIncrementEnd(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:125432:29: */ +func autoIncrementEnd(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:125445:29: */ var p uintptr var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb @@ -105130,16 +105149,16 @@ func autoIncrementEnd(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:125432:29: * } } -var iLn2 int32 = 0 /* sqlite3.c:125439:22 */ +var iLn2 int32 = 0 /* sqlite3.c:125452:22 */ var autoIncEnd = [5]VdbeOpList{ /* 0 */ {Fopcode: U8(OP_NotNull), Fp2: int8(2)}, /* 1 */ {Fopcode: U8(OP_NewRowid)}, /* 2 */ {Fopcode: U8(OP_MakeRecord), Fp2: int8(2)}, /* 3 */ {Fopcode: U8(OP_Insert)}, /* 4 */ {Fopcode: U8(OP_Close)}, -} /* sqlite3.c:125440:29 */ +} /* sqlite3.c:125453:29 */ -func Xsqlite3AutoincrementEnd(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:125469:21: */ +func Xsqlite3AutoincrementEnd(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:125482:21: */ if (*Parse)(unsafe.Pointer(pParse)).FpAinc != 0 { autoIncrementEnd(tls, pParse) } @@ -105240,7 +105259,7 @@ func Xsqlite3AutoincrementEnd(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:1254 // transfer values form intermediate table into
// end loop // D: cleanup -func Xsqlite3Insert(tls *libc.TLS, pParse uintptr, pTabList uintptr, pSelect uintptr, pColumn uintptr, onError int32, pUpsert uintptr) { /* sqlite3.c:125588:21: */ +func Xsqlite3Insert(tls *libc.TLS, pParse uintptr, pTabList uintptr, pSelect uintptr, pColumn uintptr, onError int32, pUpsert uintptr) { /* sqlite3.c:125601:21: */ bp := tls.Alloc(188) defer tls.Free(188) @@ -106294,7 +106313,7 @@ insert_cleanup: // Set bit 0x01 of pWalker->eCode if pWalker->eCode to 0 and if this // expression node references any of the // columns that are being modifed by an UPDATE statement. -func checkConstraintExprNode(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:126347:12: */ +func checkConstraintExprNode(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:126360:12: */ if int32((*Expr)(unsafe.Pointer(pExpr)).Fop) == TK_COLUMN { if int32((*Expr)(unsafe.Pointer(pExpr)).FiColumn) >= 0 { @@ -106321,7 +106340,7 @@ func checkConstraintExprNode(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int3 // The operation of this routine is the same - return true if an only if // the expression uses one or more of columns identified by the second and // third arguments. -func Xsqlite3ExprReferencesUpdatedColumn(tls *libc.TLS, pExpr uintptr, aiChng uintptr, chngRowid int32) int32 { /* sqlite3.c:126376:20: */ +func Xsqlite3ExprReferencesUpdatedColumn(tls *libc.TLS, pExpr uintptr, aiChng uintptr, chngRowid int32) int32 { /* sqlite3.c:126389:20: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -106355,7 +106374,7 @@ type IndexListTerm1 = struct { Fp uintptr Fix int32 F__ccgo_pad1 [4]byte -} /* sqlite3.c:126409:9 */ +} /* sqlite3.c:126422:9 */ // The sqlite3GenerateConstraintChecks() routine usually wants to visit // the indexes of a table in the order provided in the Table->pIndex list. @@ -106366,7 +106385,7 @@ type IndexListTerm1 = struct { // The IndexIterator object is used to walk through all of the indexes // of a table in either Index.pNext order, or in some other order established // by an array of IndexListTerm objects. -type IndexListTerm = IndexListTerm1 /* sqlite3.c:126409:30 */ +type IndexListTerm = IndexListTerm1 /* sqlite3.c:126422:30 */ type IndexIterator1 = struct { FeType int32 Fi int32 @@ -106374,12 +106393,12 @@ type IndexIterator1 = struct { Flx struct{ FpIdx uintptr } F__ccgo_pad1 [8]byte } -} /* sqlite3.c:126410:9 */ +} /* sqlite3.c:126423:9 */ -type IndexIterator = IndexIterator1 /* sqlite3.c:126410:30 */ +type IndexIterator = IndexIterator1 /* sqlite3.c:126423:30 */ // Return the first index on the list -func indexIteratorFirst(tls *libc.TLS, pIter uintptr, pIx uintptr) uintptr { /* sqlite3.c:126434:14: */ +func indexIteratorFirst(tls *libc.TLS, pIter uintptr, pIx uintptr) uintptr { /* sqlite3.c:126447:14: */ if (*IndexIterator)(unsafe.Pointer(pIter)).FeType != 0 { *(*int32)(unsafe.Pointer(pIx)) = (*IndexListTerm)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pIter + 8 + 8 /* &.aIdx */)))).Fix @@ -106392,7 +106411,7 @@ func indexIteratorFirst(tls *libc.TLS, pIter uintptr, pIx uintptr) uintptr { /* } // Return the next index from the list. Return NULL when out of indexes -func indexIteratorNext(tls *libc.TLS, pIter uintptr, pIx uintptr) uintptr { /* sqlite3.c:126446:14: */ +func indexIteratorNext(tls *libc.TLS, pIter uintptr, pIx uintptr) uintptr { /* sqlite3.c:126459:14: */ if (*IndexIterator)(unsafe.Pointer(pIter)).FeType != 0 { var i int32 = libc.PreIncInt32(&(*IndexIterator)(unsafe.Pointer(pIter)).Fi, 1) if i >= *(*int32)(unsafe.Pointer(pIter + 8)) { @@ -106498,7 +106517,7 @@ func indexIteratorNext(tls *libc.TLS, pIter uintptr, pIx uintptr) uintptr { /* s // Or if overrideError==OE_Default, then the pParse->onError parameter // is used. Or if pParse->onError==OE_Default then the onError value // for the constraint is used. -func Xsqlite3GenerateConstraintChecks(tls *libc.TLS, pParse uintptr, pTab uintptr, aRegIdx uintptr, iDataCur int32, iIdxCur int32, regNewData int32, regOldData int32, pkChng U8, overrideError U8, ignoreDest int32, pbMayReplace uintptr, aiChng uintptr, pUpsert uintptr) { /* sqlite3.c:126553:21: */ +func Xsqlite3GenerateConstraintChecks(tls *libc.TLS, pParse uintptr, pTab uintptr, aRegIdx uintptr, iDataCur int32, iIdxCur int32, regNewData int32, regOldData int32, pkChng U8, overrideError U8, ignoreDest int32, pbMayReplace uintptr, aiChng uintptr, pUpsert uintptr) { /* sqlite3.c:126566:21: */ bp := tls.Alloc(72) defer tls.Free(72) @@ -107361,7 +107380,7 @@ func Xsqlite3GenerateConstraintChecks(tls *libc.TLS, pParse uintptr, pTab uintpt // number is iCur, and register regData contains the new record for the // PK index. This function adds code to invoke the pre-update hook, // if one is registered. -func codeWithoutRowidPreupdate(tls *libc.TLS, pParse uintptr, pTab uintptr, iCur int32, regData int32) { /* sqlite3.c:127411:13: */ +func codeWithoutRowidPreupdate(tls *libc.TLS, pParse uintptr, pTab uintptr, iCur int32, regData int32) { /* sqlite3.c:127424:13: */ var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe var r int32 = Xsqlite3GetTempReg(tls, pParse) @@ -107378,7 +107397,7 @@ func codeWithoutRowidPreupdate(tls *libc.TLS, pParse uintptr, pTab uintptr, iCur // // The arguments to this routine should be the same as the first six // arguments to sqlite3GenerateConstraintChecks. -func Xsqlite3CompleteInsertion(tls *libc.TLS, pParse uintptr, pTab uintptr, iDataCur int32, iIdxCur int32, regNewData int32, aRegIdx uintptr, update_flags int32, appendBias int32, useSeekResult int32) { /* sqlite3.c:127439:21: */ +func Xsqlite3CompleteInsertion(tls *libc.TLS, pParse uintptr, pTab uintptr, iDataCur int32, iIdxCur int32, regNewData int32, aRegIdx uintptr, update_flags int32, appendBias int32, useSeekResult int32) { /* sqlite3.c:127452:21: */ var v uintptr // Prepared statements under construction var pIdx uintptr // An index being inserted or updated var pik_flags U8 // flag values passed to the btree insert @@ -107481,7 +107500,7 @@ __3: // // If pTab is a virtual table, then this routine is a no-op and the // *piDataCur and *piIdxCur values are left uninitialized. -func Xsqlite3OpenTableAndIndices(tls *libc.TLS, pParse uintptr, pTab uintptr, op int32, p5 U8, iBase int32, aToOpen uintptr, piDataCur uintptr, piIdxCur uintptr) int32 { /* sqlite3.c:127527:20: */ +func Xsqlite3OpenTableAndIndices(tls *libc.TLS, pParse uintptr, pTab uintptr, op int32, p5 U8, iBase int32, aToOpen uintptr, piDataCur uintptr, piIdxCur uintptr) int32 { /* sqlite3.c:127540:20: */ var i int32 var iDb int32 var iDataCur int32 @@ -107559,7 +107578,7 @@ __3: // * The same onError processing (OE_Abort, OE_Ignore, etc) // * The same collating sequence on each column // * The index has the exact same WHERE clause -func xferCompatibleIndex(tls *libc.TLS, pDest uintptr, pSrc uintptr) int32 { /* sqlite3.c:127606:12: */ +func xferCompatibleIndex(tls *libc.TLS, pDest uintptr, pSrc uintptr) int32 { /* sqlite3.c:127619:12: */ var i int32 if int32((*Index)(unsafe.Pointer(pDest)).FnKeyCol) != int32((*Index)(unsafe.Pointer(pSrc)).FnKeyCol) || int32((*Index)(unsafe.Pointer(pDest)).FnColumn) != int32((*Index)(unsafe.Pointer(pSrc)).FnColumn) { @@ -107617,7 +107636,7 @@ func xferCompatibleIndex(tls *libc.TLS, pDest uintptr, pSrc uintptr) int32 { /* // is no chance that the xfer optimization can be applied. // // This optimization is particularly useful at making VACUUM run faster. -func xferOptimization(tls *libc.TLS, pParse uintptr, pDest uintptr, pSelect uintptr, onError int32, iDbDest int32) int32 { /* sqlite3.c:127667:12: */ +func xferOptimization(tls *libc.TLS, pParse uintptr, pDest uintptr, pSelect uintptr, onError int32, iDbDest int32) int32 { /* sqlite3.c:127680:12: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb var pEList uintptr // The result set of the SELECT var pSrc uintptr // The table in the FROM clause of SELECT @@ -107997,7 +108016,7 @@ func xferOptimization(tls *libc.TLS, pParse uintptr, pDest uintptr, pSelect uint // the xCallback() function is called. pArg becomes the first // 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 Sqlite3_callback, pArg uintptr, pzErrMsg uintptr) int32 { /* sqlite3.c:128078:16: */ +func Xsqlite3_exec(tls *libc.TLS, db uintptr, zSql uintptr, xCallback Sqlite3_callback, pArg uintptr, pzErrMsg uintptr) int32 { /* sqlite3.c:128091:16: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -108018,7 +108037,7 @@ func Xsqlite3_exec(tls *libc.TLS, db uintptr, zSql uintptr, xCallback Sqlite3_ca if !!(Xsqlite3SafetyCheckOk(tls, db) != 0) { goto __1 } - return Xsqlite3MisuseError(tls, 128091) + return Xsqlite3MisuseError(tls, 128104) __1: ; if !(zSql == uintptr(0)) { @@ -108207,7 +108226,7 @@ __26: // This is the function signature used for all extension entry points. It // is also defined in the file "loadext.c". -type Sqlite3_loadext_entry = uintptr /* sqlite3.c:128572:13 */ +type Sqlite3_loadext_entry = uintptr /* sqlite3.c:128585:13 */ // The following macros redefine the API routines so that they are // redirected through the global sqlite3_api structure. @@ -108541,7 +108560,7 @@ var sqlite3Apis = Sqlite3_api_routines{ Fvtab_in: 0, Fvtab_in_first: 0, Fvtab_in_next: 0, -} /* sqlite3.c:129018:35 */ +} /* sqlite3.c:129031:35 */ // True if x is the directory separator character @@ -108555,7 +108574,7 @@ var sqlite3Apis = Sqlite3_api_routines{ // If an error occurs and pzErrMsg is not 0, then fill *pzErrMsg with // error message text. The calling function should free this memory // by calling sqlite3DbFree(db, ). -func sqlite3LoadExtension(tls *libc.TLS, db uintptr, zFile uintptr, zProc uintptr, pzErrMsg uintptr) int32 { /* sqlite3.c:129402:12: */ +func sqlite3LoadExtension(tls *libc.TLS, db uintptr, zFile uintptr, zProc uintptr, pzErrMsg uintptr) int32 { /* sqlite3.c:129415:12: */ bp := tls.Alloc(64) defer tls.Free(64) @@ -108809,9 +108828,9 @@ __28: var azEndings = [1]uintptr{ ts + 15942, -} /* sqlite3.c:129420:21 */ +} /* sqlite3.c:129433:21 */ -func Xsqlite3_load_extension(tls *libc.TLS, db uintptr, zFile uintptr, zProc uintptr, pzErrMsg uintptr) int32 { /* sqlite3.c:129553:16: */ +func Xsqlite3_load_extension(tls *libc.TLS, db uintptr, zFile uintptr, zProc uintptr, pzErrMsg uintptr) int32 { /* sqlite3.c:129566:16: */ var rc int32 Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) rc = sqlite3LoadExtension(tls, db, zFile, zProc, pzErrMsg) @@ -108822,7 +108841,7 @@ func Xsqlite3_load_extension(tls *libc.TLS, db uintptr, zFile uintptr, zProc uin // Call this routine when the database connection is closing in order // to clean up loaded extensions -func Xsqlite3CloseExtensions(tls *libc.TLS, db uintptr) { /* sqlite3.c:129571:21: */ +func Xsqlite3CloseExtensions(tls *libc.TLS, db uintptr) { /* sqlite3.c:129584:21: */ var i int32 for i = 0; i < (*Sqlite3)(unsafe.Pointer(db)).FnExtension; i++ { @@ -108833,7 +108852,7 @@ func Xsqlite3CloseExtensions(tls *libc.TLS, db uintptr) { /* sqlite3.c:129571:21 // Enable or disable extension loading. Extension loading is disabled by // default so as not to open security holes in older applications. -func Xsqlite3_enable_load_extension(tls *libc.TLS, db uintptr, onoff int32) int32 { /* sqlite3.c:129584:16: */ +func Xsqlite3_enable_load_extension(tls *libc.TLS, db uintptr, onoff int32) int32 { /* sqlite3.c:129597:16: */ Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) if onoff != 0 { *(*U64)(unsafe.Pointer(db + 48)) |= uint64(SQLITE_LoadExtension | SQLITE_LoadExtFunc) @@ -108853,15 +108872,15 @@ type sqlite3AutoExtList = struct { FnExt U32 F__ccgo_pad1 [4]byte FaExt uintptr -} /* sqlite3.c:129604:9 */ +} /* sqlite3.c:129617:9 */ // The following object holds the list of automatically loaded // extensions. // // This list is shared across threads. The SQLITE_MUTEX_STATIC_MAIN // mutex must be held while accessing this list. -type Sqlite3AutoExtList = sqlite3AutoExtList /* sqlite3.c:129604:35 */ -var sqlite3Autoext = sqlite3AutoExtList{} /* sqlite3.c:129608:3 */ +type Sqlite3AutoExtList = sqlite3AutoExtList /* sqlite3.c:129617:35 */ +var sqlite3Autoext = sqlite3AutoExtList{} /* sqlite3.c:129621:3 */ // The "wsdAutoext" macro will resolve to the autoextension // state vector. If writable static data is unsupported on the target, @@ -108871,7 +108890,7 @@ var sqlite3Autoext = sqlite3AutoExtList{} /* sqlite3.c:129608:3 */ // Register a statically linked extension that is automatically // loaded by every new database connection. -func Xsqlite3_auto_extension(tls *libc.TLS, xInit uintptr) int32 { /* sqlite3.c:129630:16: */ +func Xsqlite3_auto_extension(tls *libc.TLS, xInit uintptr) int32 { /* sqlite3.c:129643:16: */ var rc int32 = SQLITE_OK rc = Xsqlite3_initialize(tls) if rc != 0 { @@ -108912,7 +108931,7 @@ func Xsqlite3_auto_extension(tls *libc.TLS, xInit uintptr) int32 { /* sqlite3.c: // // 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) int32 { /* sqlite3.c:129677:16: */ +func Xsqlite3_cancel_auto_extension(tls *libc.TLS, xInit uintptr) int32 { /* sqlite3.c:129690:16: */ var mutex uintptr = Xsqlite3MutexAlloc(tls, SQLITE_MUTEX_STATIC_MAIN) var i int32 var n int32 = 0 @@ -108931,7 +108950,7 @@ func Xsqlite3_cancel_auto_extension(tls *libc.TLS, xInit uintptr) int32 { /* sql } // Reset the automatic extension loading mechanism. -func Xsqlite3_reset_auto_extension(tls *libc.TLS) { /* sqlite3.c:129702:17: */ +func Xsqlite3_reset_auto_extension(tls *libc.TLS) { /* sqlite3.c:129715:17: */ if Xsqlite3_initialize(tls) == SQLITE_OK { var mutex uintptr = Xsqlite3MutexAlloc(tls, SQLITE_MUTEX_STATIC_MAIN) @@ -108946,7 +108965,7 @@ func Xsqlite3_reset_auto_extension(tls *libc.TLS) { /* sqlite3.c:129702:17: */ // Load all automatic extensions. // // If anything goes wrong, set an error in the database connection. -func Xsqlite3AutoLoadExtensions(tls *libc.TLS, db uintptr) { /* sqlite3.c:129724:21: */ +func Xsqlite3AutoLoadExtensions(tls *libc.TLS, db uintptr) { /* sqlite3.c:129737:21: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -109083,7 +109102,7 @@ var pragCName = [57]uintptr{ ts + 16217, ts + 16228, -} /* sqlite3.c:129865:19 */ +} /* sqlite3.c:129878:19 */ // Definitions of all built-in pragmas type PragmaName1 = struct { @@ -109094,10 +109113,10 @@ type PragmaName1 = struct { FnPragCName U8 F__ccgo_pad1 [4]byte FiArg U64 -} /* sqlite3.c:129930:9 */ +} /* sqlite3.c:129943:9 */ // Definitions of all built-in pragmas -type PragmaName = PragmaName1 /* sqlite3.c:129937:3 */ +type PragmaName = PragmaName1 /* sqlite3.c:129950:3 */ var aPragmaName = [66]PragmaName{ { /* zName: */ FzName: ts + 16236, /* ePragTyp: */ FePragTyp: U8(PragTyp_ANALYSIS_LIMIT), @@ -109334,7 +109353,7 @@ var aPragmaName = [66]PragmaName{ /* ePragTyp: */ FePragTyp: U8(PragTyp_FLAG), /* ePragFlg: */ FmPragFlg: U8(PragFlg_Result0 | PragFlg_NoColumns1), /* iArg: */ FiArg: uint64(SQLITE_WriteSchema | SQLITE_NoSchemaError)}, -} /* sqlite3.c:129938:25 */ +} /* sqlite3.c:129951:25 */ // Number of pragmas: 68 on by default, 78 total. @@ -109350,7 +109369,7 @@ var aPragmaName = [66]PragmaName{ // should be passed into sqlite3BtreeSetSafetyLevel(). The is done // to support legacy SQL code. The safety level used to be boolean // and older scripts may have used numbers 0 for OFF and 1 for ON. -func getSafetyLevel(tls *libc.TLS, z uintptr, omitFull int32, dflt U8) U8 { /* sqlite3.c:130472:11: */ +func getSafetyLevel(tls *libc.TLS, z uintptr, omitFull int32, dflt U8) U8 { /* sqlite3.c:130485:11: */ // on no off false yes true extra full var i int32 var n int32 @@ -109367,13 +109386,13 @@ func getSafetyLevel(tls *libc.TLS, z uintptr, omitFull int32, dflt U8) U8 { /* s return dflt } -var zText = *(*[25]int8)(unsafe.Pointer(ts + 17203)) /* sqlite3.c:130474:21 */ -var iOffset = [8]U8{U8(0), U8(1), U8(2), U8(4), U8(9), U8(12), U8(15), U8(20)} /* sqlite3.c:130475:19 */ -var iLength = [8]U8{U8(2), U8(2), U8(3), U8(5), U8(3), U8(4), U8(5), U8(4)} /* sqlite3.c:130476:19 */ -var iValue = [8]U8{U8(1), U8(0), U8(0), U8(0), U8(1), U8(1), U8(3), U8(2)} /* sqlite3.c:130477:19 */ +var zText = *(*[25]int8)(unsafe.Pointer(ts + 17203)) /* sqlite3.c:130487:21 */ +var iOffset = [8]U8{U8(0), U8(1), U8(2), U8(4), U8(9), U8(12), U8(15), U8(20)} /* sqlite3.c:130488:19 */ +var iLength = [8]U8{U8(2), U8(2), U8(3), U8(5), U8(3), U8(4), U8(5), U8(4)} /* sqlite3.c:130489:19 */ +var iValue = [8]U8{U8(1), U8(0), U8(0), U8(0), U8(1), U8(1), U8(3), U8(2)} /* sqlite3.c:130490:19 */ // Interpret the given string as a boolean value. -func Xsqlite3GetBoolean(tls *libc.TLS, z uintptr, dflt U8) U8 { /* sqlite3.c:130497:19: */ +func Xsqlite3GetBoolean(tls *libc.TLS, z uintptr, dflt U8) U8 { /* sqlite3.c:130510:19: */ return U8(libc.Bool32(int32(getSafetyLevel(tls, z, 1, dflt)) != 0)) } @@ -109382,7 +109401,7 @@ func Xsqlite3GetBoolean(tls *libc.TLS, z uintptr, dflt U8) U8 { /* sqlite3.c:130 // the rest of the file if PRAGMAs are omitted from the build. // Interpret the given string as a locking mode value. -func getLockingMode(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:130510:12: */ +func getLockingMode(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:130523:12: */ if z != 0 { if 0 == Xsqlite3StrICmp(tls, z, ts+17228) { return PAGER_LOCKINGMODE_EXCLUSIVE @@ -109398,7 +109417,7 @@ func getLockingMode(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:130510:12: */ // // The following strings, "none", "full" and "incremental" are // acceptable, as are their numeric equivalents: 0, 1 and 2 respectively. -func getAutoVacuum(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:130525:12: */ +func getAutoVacuum(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:130538:12: */ var i int32 if 0 == Xsqlite3StrICmp(tls, z, ts+7898) { return BTREE_AUTOVACUUM_NONE @@ -109421,7 +109440,7 @@ func getAutoVacuum(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:130525:12: */ // Interpret the given string as a temp db location. Return 1 for file // backed temporary databases, 2 for the Red-Black tree in memory database // and 0 to use the compile-time default. -func getTempStore(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:130541:12: */ +func getTempStore(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:130554:12: */ if int32(*(*int8)(unsafe.Pointer(z))) >= '0' && int32(*(*int8)(unsafe.Pointer(z))) <= '2' { return int32(*(*int8)(unsafe.Pointer(z))) - '0' } else if Xsqlite3StrICmp(tls, z, ts+16178) == 0 { @@ -109436,7 +109455,7 @@ func getTempStore(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:130541:12: */ // Invalidate temp storage, either when the temp storage is changed // from default, or when 'file' and the temp_store_directory has changed -func invalidateTempStorage(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:130559:12: */ +func invalidateTempStorage(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:130572:12: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb if (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+1*32)).FpBt != uintptr(0) { if !(int32((*Sqlite3)(unsafe.Pointer(db)).FautoCommit) != 0) || @@ -109455,7 +109474,7 @@ func invalidateTempStorage(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:1 // If the TEMP database is open, close it and mark the database schema // as needing reloading. This must be done when using the SQLITE_TEMP_STORE // or DEFAULT_TEMP_STORE pragmas. -func changeTempStorage(tls *libc.TLS, pParse uintptr, zStorageType uintptr) int32 { /* sqlite3.c:130583:12: */ +func changeTempStorage(tls *libc.TLS, pParse uintptr, zStorageType uintptr) int32 { /* sqlite3.c:130596:12: */ var ts int32 = getTempStore(tls, zStorageType) var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb if int32((*Sqlite3)(unsafe.Pointer(db)).Ftemp_store) == ts { @@ -109469,7 +109488,7 @@ func changeTempStorage(tls *libc.TLS, pParse uintptr, zStorageType uintptr) int3 } // Set result column names for a pragma. -func setPragmaResultColumnNames(tls *libc.TLS, v uintptr, pPragma uintptr) { /* sqlite3.c:130598:13: */ +func setPragmaResultColumnNames(tls *libc.TLS, v uintptr, pPragma uintptr) { /* sqlite3.c:130611:13: */ var n U8 = (*PragmaName)(unsafe.Pointer(pPragma)).FnPragCName Xsqlite3VdbeSetNumCols(tls, v, func() int32 { if int32(n) == 0 { @@ -109503,7 +109522,7 @@ func setPragmaResultColumnNames(tls *libc.TLS, v uintptr, pPragma uintptr) { /* } // Generate code to return a single integer value. -func returnSingleInt(tls *libc.TLS, v uintptr, value I64) { /* sqlite3.c:130617:13: */ +func returnSingleInt(tls *libc.TLS, v uintptr, value I64) { /* sqlite3.c:130630:13: */ bp := tls.Alloc(8) defer tls.Free(8) *(*I64)(unsafe.Pointer(bp)) = value @@ -109513,7 +109532,7 @@ func returnSingleInt(tls *libc.TLS, v uintptr, value I64) { /* sqlite3.c:130617: } // Generate code to return a single text value. -func returnSingleText(tls *libc.TLS, v uintptr, zValue uintptr) { /* sqlite3.c:130625:13: */ +func returnSingleText(tls *libc.TLS, v uintptr, zValue uintptr) { /* sqlite3.c:130638:13: */ if zValue != 0 { Xsqlite3VdbeLoadString(tls, v, 1, zValue) Xsqlite3VdbeAddOp2(tls, v, OP_ResultRow, 1, 1) @@ -109522,7 +109541,7 @@ func returnSingleText(tls *libc.TLS, v uintptr, zValue uintptr) { /* sqlite3.c:1 // Set the safety_level and pager flags for pager iDb. Or if iDb<0 // set these values for all pagers. -func setAllPagerFlags(tls *libc.TLS, db uintptr) { /* sqlite3.c:130641:13: */ +func setAllPagerFlags(tls *libc.TLS, db uintptr) { /* sqlite3.c:130654:13: */ if (*Sqlite3)(unsafe.Pointer(db)).FautoCommit != 0 { var pDb uintptr = (*Sqlite3)(unsafe.Pointer(db)).FaDb var n int32 = (*Sqlite3)(unsafe.Pointer(db)).FnDb @@ -109538,7 +109557,7 @@ func setAllPagerFlags(tls *libc.TLS, db uintptr) { /* sqlite3.c:130641:13: */ } // Return a human-readable name for a constraint resolution action. -func actionName(tls *libc.TLS, action U8) uintptr { /* sqlite3.c:130669:19: */ +func actionName(tls *libc.TLS, action U8) uintptr { /* sqlite3.c:130682:19: */ var zName uintptr switch int32(action) { case OE_SetNull: @@ -109563,7 +109582,7 @@ func actionName(tls *libc.TLS, action U8) uintptr { /* sqlite3.c:130669:19: */ // Parameter eMode must be one of the PAGER_JOURNALMODE_XXX constants // defined in pager.h. This function returns the associated lowercase // journal-mode name. -func Xsqlite3JournalModename(tls *libc.TLS, eMode int32) uintptr { /* sqlite3.c:130689:27: */ +func Xsqlite3JournalModename(tls *libc.TLS, eMode int32) uintptr { /* sqlite3.c:130702:27: */ if eMode == int32(uint64(unsafe.Sizeof(azModeName))/uint64(unsafe.Sizeof(uintptr(0)))) { return uintptr(0) @@ -109573,10 +109592,10 @@ func Xsqlite3JournalModename(tls *libc.TLS, eMode int32) uintptr { /* sqlite3.c: var azModeName = [6]uintptr{ ts + 17379, ts + 17386, ts + 17394, ts + 17398, ts + 17262, ts + 17407, -} /* sqlite3.c:130690:15 */ +} /* sqlite3.c:130703:15 */ // Locate a pragma in the aPragmaName[] array. -func pragmaLocate(tls *libc.TLS, zName uintptr) uintptr { /* sqlite3.c:130711:25: */ +func pragmaLocate(tls *libc.TLS, zName uintptr) uintptr { /* sqlite3.c:130724:25: */ var upr int32 var lwr int32 var mid int32 = 0 @@ -109603,7 +109622,7 @@ func pragmaLocate(tls *libc.TLS, zName uintptr) uintptr { /* sqlite3.c:130711:25 // Create zero or more entries in the output for the SQL functions // defined by FuncDef p. -func pragmaFunclistLine(tls *libc.TLS, v uintptr, p uintptr, isBuiltin int32, showInternFuncs int32) { /* sqlite3.c:130732:13: */ +func pragmaFunclistLine(tls *libc.TLS, v uintptr, p uintptr, isBuiltin int32, showInternFuncs int32) { /* sqlite3.c:130745:13: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -109632,15 +109651,15 @@ func pragmaFunclistLine(tls *libc.TLS, v uintptr, p uintptr, isBuiltin int32, sh } } -var mask U32 = U32(SQLITE_DETERMINISTIC | SQLITE_DIRECTONLY | SQLITE_SUBTYPE | SQLITE_INNOCUOUS | SQLITE_FUNC_INTERNAL) /* sqlite3.c:130740:22 */ -var azEnc = [4]uintptr{uintptr(0), ts + 17422, ts + 17427, ts + 17435 /* "utf16be" */} /* sqlite3.c:130747:23 */ +var mask U32 = U32(SQLITE_DETERMINISTIC | SQLITE_DIRECTONLY | SQLITE_SUBTYPE | SQLITE_INNOCUOUS | SQLITE_FUNC_INTERNAL) /* sqlite3.c:130753:22 */ +var azEnc = [4]uintptr{uintptr(0), ts + 17422, ts + 17427, ts + 17435 /* "utf16be" */} /* sqlite3.c:130760:23 */ // Helper subroutine for PRAGMA integrity_check: // // Generate code to output a single-column result row with a value of the // string held in register 3. Decrement the result count in register 1 // and halt if the maximum number of result rows have been issued. -func integrityCheckResultRow(tls *libc.TLS, v uintptr) int32 { /* sqlite3.c:130784:12: */ +func integrityCheckResultRow(tls *libc.TLS, v uintptr) int32 { /* sqlite3.c:130797:12: */ var addr int32 Xsqlite3VdbeAddOp2(tls, v, OP_ResultRow, 3, 1) addr = Xsqlite3VdbeAddOp3(tls, v, OP_IfPos, 1, Xsqlite3VdbeCurrentAddr(tls, v)+2, 1) @@ -109662,7 +109681,7 @@ func integrityCheckResultRow(tls *libc.TLS, v uintptr) int32 { /* sqlite3.c:1307 // If the left side is "database.id" then pId1 is the database name // and pId2 is the id. If the left side is just "id" then pId1 is the // id and pId2 is any empty string. -func Xsqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, pValue uintptr, minusFlag int32) { /* sqlite3.c:130808:21: */ +func Xsqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, pValue uintptr, minusFlag int32) { /* sqlite3.c:130821:21: */ bp := tls.Alloc(616) defer tls.Free(616) @@ -113045,9 +113064,9 @@ type EncName = struct { FzName uintptr Fenc U8 F__ccgo_pad1 [7]byte -} /* sqlite3.c:132383:18 */ +} /* sqlite3.c:132396:18 */ -var iLn3 int32 = 0 /* sqlite3.c:130937:22 */ +var iLn3 int32 = 0 /* sqlite3.c:130950:22 */ var getCacheSize = [9]VdbeOpList{ {Fopcode: U8(OP_Transaction)}, // 0 {Fopcode: U8(OP_ReadCookie), Fp2: int8(1), Fp3: int8(BTREE_DEFAULT_CACHE_SIZE)}, // 1 @@ -113058,16 +113077,16 @@ var getCacheSize = [9]VdbeOpList{ {Fopcode: U8(OP_Integer), Fp2: int8(1)}, // 6 {Fopcode: U8(OP_Noop)}, {Fopcode: U8(OP_ResultRow), Fp1: int8(1), Fp2: int8(1)}, -} /* sqlite3.c:130938:29 */ -var iLn4 int32 = 0 /* sqlite3.c:131206:26 */ +} /* sqlite3.c:130951:29 */ +var iLn4 int32 = 0 /* sqlite3.c:131219:26 */ var setMeta6 = [5]VdbeOpList{ {Fopcode: U8(OP_Transaction), Fp2: int8(1)}, // 0 {Fopcode: U8(OP_ReadCookie), Fp2: int8(1), Fp3: int8(BTREE_LARGEST_ROOT_PAGE)}, {Fopcode: U8(OP_If), Fp1: int8(1)}, // 2 {Fopcode: U8(OP_Halt), Fp2: int8(OE_Abort)}, // 3 {Fopcode: U8(OP_SetCookie), Fp2: int8(BTREE_INCR_VACUUM)}, // 4 -} /* sqlite3.c:131207:33 */ -var iLn5 int32 = 0 /* sqlite3.c:132333:24 */ +} /* sqlite3.c:131220:33 */ +var iLn5 int32 = 0 /* sqlite3.c:132346:24 */ var endCode = [7]VdbeOpList{ {Fopcode: U8(OP_AddImm), Fp1: int8(1)}, // 0 {Fopcode: U8(OP_IfNotZero), Fp1: int8(1), Fp2: int8(4)}, // 1 @@ -113076,7 +113095,7 @@ var endCode = [7]VdbeOpList{ {Fopcode: U8(OP_Halt)}, // 4 {Fopcode: U8(OP_String8), Fp2: int8(3)}, // 5 {Fopcode: U8(OP_Goto), Fp2: int8(3)}, // 6 -} /* sqlite3.c:132334:31 */ +} /* sqlite3.c:132347:31 */ var encnames1 = [9]EncName{ {FzName: ts + 17858, Fenc: U8(SQLITE_UTF8)}, {FzName: ts + 17863, Fenc: U8(SQLITE_UTF8)}, // Must be element [1] @@ -113087,16 +113106,16 @@ var encnames1 = [9]EncName{ {FzName: ts + 17903}, {FzName: ts + 17910}, {}, -} /* sqlite3.c:132386:7 */ +} /* sqlite3.c:132399:7 */ var setCookie = [2]VdbeOpList{ {Fopcode: U8(OP_Transaction), Fp2: int8(1)}, // 0 {Fopcode: U8(OP_SetCookie)}, // 1 -} /* sqlite3.c:132466:31 */ +} /* sqlite3.c:132479:31 */ var readCookie = [3]VdbeOpList{ {Fopcode: U8(OP_Transaction)}, // 0 {Fopcode: U8(OP_ReadCookie), Fp2: int8(1)}, // 1 {Fopcode: U8(OP_ResultRow), Fp1: int8(1), Fp2: int8(1)}, -} /* sqlite3.c:132481:31 */ +} /* sqlite3.c:132494:31 */ // **************************************************************************** // // Implementation of an eponymous virtual table that runs a pragma. @@ -113108,24 +113127,24 @@ type PragmaVtab1 = struct { FnHidden U8 FiHidden U8 F__ccgo_pad1 [6]byte -} /* sqlite3.c:132841:9 */ +} /* sqlite3.c:132854:9 */ // **************************************************************************** // // Implementation of an eponymous virtual table that runs a pragma. // -type PragmaVtab = PragmaVtab1 /* sqlite3.c:132841:27 */ +type PragmaVtab = PragmaVtab1 /* sqlite3.c:132854:27 */ type PragmaVtabCursor1 = struct { Fbase Sqlite3_vtab_cursor FpPragma uintptr FiRowid Sqlite_int64 FazArg [2]uintptr -} /* sqlite3.c:132842:9 */ +} /* sqlite3.c:132855:9 */ -type PragmaVtabCursor = PragmaVtabCursor1 /* sqlite3.c:132842:33 */ +type PragmaVtabCursor = PragmaVtabCursor1 /* sqlite3.c:132855:33 */ // Pragma virtual table module xConnect method. -func pragmaVtabConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 { /* sqlite3.c:132860:12: */ +func pragmaVtabConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 { /* sqlite3.c:132873:12: */ bp := tls.Alloc(264) defer tls.Free(264) @@ -113199,7 +113218,7 @@ __3: } // Pragma virtual table module xDisconnect method. -func pragmaVtabDisconnect(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:132922:12: */ +func pragmaVtabDisconnect(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:132935:12: */ var pTab uintptr = pVtab Xsqlite3_free(tls, pTab) return SQLITE_OK @@ -113211,7 +113230,7 @@ func pragmaVtabDisconnect(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:132 // query planner to give == constraints on as many hidden parameters as // possible, and especially on the first hidden parameter. So return a // high cost if hidden parameters are unconstrained. -func pragmaVtabBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 { /* sqlite3.c:132935:12: */ +func pragmaVtabBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 { /* sqlite3.c:132948:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -113276,7 +113295,7 @@ __3: } // Create a new cursor for the pragma virtual table -func pragmaVtabOpen(tls *libc.TLS, pVtab uintptr, ppCursor uintptr) int32 { /* sqlite3.c:132972:12: */ +func pragmaVtabOpen(tls *libc.TLS, pVtab uintptr, ppCursor uintptr) int32 { /* sqlite3.c:132985:12: */ var pCsr uintptr pCsr = Xsqlite3_malloc(tls, int32(unsafe.Sizeof(PragmaVtabCursor{}))) if pCsr == uintptr(0) { @@ -113289,7 +113308,7 @@ func pragmaVtabOpen(tls *libc.TLS, pVtab uintptr, ppCursor uintptr) int32 { /* s } // Clear all content from pragma virtual table cursor. -func pragmaVtabCursorClear(tls *libc.TLS, pCsr uintptr) { /* sqlite3.c:132983:13: */ +func pragmaVtabCursorClear(tls *libc.TLS, pCsr uintptr) { /* sqlite3.c:132996:13: */ var i int32 Xsqlite3_finalize(tls, (*PragmaVtabCursor)(unsafe.Pointer(pCsr)).FpPragma) (*PragmaVtabCursor)(unsafe.Pointer(pCsr)).FpPragma = uintptr(0) @@ -113300,7 +113319,7 @@ func pragmaVtabCursorClear(tls *libc.TLS, pCsr uintptr) { /* sqlite3.c:132983:13 } // Close a pragma virtual table cursor -func pragmaVtabClose(tls *libc.TLS, cur uintptr) int32 { /* sqlite3.c:132994:12: */ +func pragmaVtabClose(tls *libc.TLS, cur uintptr) int32 { /* sqlite3.c:133007:12: */ var pCsr uintptr = cur pragmaVtabCursorClear(tls, pCsr) Xsqlite3_free(tls, pCsr) @@ -113308,7 +113327,7 @@ func pragmaVtabClose(tls *libc.TLS, cur uintptr) int32 { /* sqlite3.c:132994:12: } // Advance the pragma virtual table cursor to the next row -func pragmaVtabNext(tls *libc.TLS, pVtabCursor uintptr) int32 { /* sqlite3.c:133002:12: */ +func pragmaVtabNext(tls *libc.TLS, pVtabCursor uintptr) int32 { /* sqlite3.c:133015:12: */ var pCsr uintptr = pVtabCursor var rc int32 = SQLITE_OK @@ -113324,7 +113343,7 @@ func pragmaVtabNext(tls *libc.TLS, pVtabCursor uintptr) int32 { /* sqlite3.c:133 } // Pragma virtual table module xFilter method. -func pragmaVtabFilter(tls *libc.TLS, pVtabCursor uintptr, idxNum int32, idxStr uintptr, argc int32, argv uintptr) int32 { /* sqlite3.c:133020:12: */ +func pragmaVtabFilter(tls *libc.TLS, pVtabCursor uintptr, idxNum int32, idxStr uintptr, argc int32, argv uintptr) int32 { /* sqlite3.c:133033:12: */ bp := tls.Alloc(64) defer tls.Free(64) @@ -113392,14 +113411,14 @@ __3: } // Pragma virtual table module xEof method. -func pragmaVtabEof(tls *libc.TLS, pVtabCursor uintptr) int32 { /* sqlite3.c:133070:12: */ +func pragmaVtabEof(tls *libc.TLS, pVtabCursor uintptr) int32 { /* sqlite3.c:133083:12: */ var pCsr uintptr = pVtabCursor return libc.Bool32((*PragmaVtabCursor)(unsafe.Pointer(pCsr)).FpPragma == uintptr(0)) } // The xColumn method simply returns the corresponding column from // the PRAGMA. -func pragmaVtabColumn(tls *libc.TLS, pVtabCursor uintptr, ctx uintptr, i int32) int32 { /* sqlite3.c:133078:12: */ +func pragmaVtabColumn(tls *libc.TLS, pVtabCursor uintptr, ctx uintptr, i int32) int32 { /* sqlite3.c:133091:12: */ var pCsr uintptr = pVtabCursor var pTab uintptr = (*Sqlite3_vtab_cursor)(unsafe.Pointer(pVtabCursor)).FpVtab if i < int32((*PragmaVtab)(unsafe.Pointer(pTab)).FiHidden) { @@ -113411,7 +113430,7 @@ func pragmaVtabColumn(tls *libc.TLS, pVtabCursor uintptr, ctx uintptr, i int32) } // Pragma virtual table module xRowid method. -func pragmaVtabRowid(tls *libc.TLS, pVtabCursor uintptr, p uintptr) int32 { /* sqlite3.c:133096:12: */ +func pragmaVtabRowid(tls *libc.TLS, pVtabCursor uintptr, p uintptr) int32 { /* sqlite3.c:133109:12: */ var pCsr uintptr = pVtabCursor *(*Sqlite_int64)(unsafe.Pointer(p)) = (*PragmaVtabCursor)(unsafe.Pointer(pCsr)).FiRowid return SQLITE_OK @@ -113429,12 +113448,12 @@ var pragmaVtabModule = Sqlite3_module{ // xCreate - create a table FxEof: 0, // xEof FxColumn: 0, // xColumn - read data FxRowid: 0, // xShadowName -} /* sqlite3.c:133103:29 */ +} /* sqlite3.c:133116:29 */ // Check to see if zTabName is really the name of a pragma. If it is, // then register an eponymous virtual table for that pragma and return // a pointer to the Module object for the new virtual table. -func Xsqlite3PragmaVtabRegister(tls *libc.TLS, db uintptr, zName uintptr) uintptr { /* sqlite3.c:133135:23: */ +func Xsqlite3PragmaVtabRegister(tls *libc.TLS, db uintptr, zName uintptr) uintptr { /* sqlite3.c:133148:23: */ var pName uintptr pName = pragmaLocate(tls, zName+uintptr(7)) @@ -113467,7 +113486,7 @@ func Xsqlite3PragmaVtabRegister(tls *libc.TLS, db uintptr, zName uintptr) uintpt // Fill the InitData structure with an error message that indicates // that the database is corrupt. -func corruptSchema(tls *libc.TLS, pData uintptr, azObj uintptr, zExtra uintptr) { /* sqlite3.c:133172:13: */ +func corruptSchema(tls *libc.TLS, pData uintptr, azObj uintptr, zExtra uintptr) { /* sqlite3.c:133185:13: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -113483,7 +113502,7 @@ func corruptSchema(tls *libc.TLS, pData uintptr, azObj uintptr, zExtra uintptr) zExtra)) (*InitData)(unsafe.Pointer(pData)).Frc = SQLITE_ERROR } else if (*Sqlite3)(unsafe.Pointer(db)).Fflags&uint64(SQLITE_WriteSchema) != 0 { - (*InitData)(unsafe.Pointer(pData)).Frc = Xsqlite3CorruptError(tls, 133195) + (*InitData)(unsafe.Pointer(pData)).Frc = Xsqlite3CorruptError(tls, 133208) } else { var z uintptr var zObj uintptr @@ -113497,7 +113516,7 @@ func corruptSchema(tls *libc.TLS, pData uintptr, azObj uintptr, zExtra uintptr) z = Xsqlite3MPrintf(tls, db, ts+18046, libc.VaList(bp+40, z, zExtra)) } *(*uintptr)(unsafe.Pointer((*InitData)(unsafe.Pointer(pData)).FpzErrMsg)) = z - (*InitData)(unsafe.Pointer(pData)).Frc = Xsqlite3CorruptError(tls, 133202) + (*InitData)(unsafe.Pointer(pData)).Frc = Xsqlite3CorruptError(tls, 133215) } } @@ -113505,12 +113524,12 @@ var azAlterType = [3]uintptr{ ts + 18054, ts + 18061, ts + 18073, -} /* sqlite3.c:133183:23 */ +} /* sqlite3.c:133196:23 */ // Check to see if any sibling index (another index on the same table) // of pIndex has the same root page number, and if it does, return true. // This would indicate a corrupt schema. -func Xsqlite3IndexHasDuplicateRootPage(tls *libc.TLS, pIndex uintptr) int32 { /* sqlite3.c:133211:20: */ +func Xsqlite3IndexHasDuplicateRootPage(tls *libc.TLS, pIndex uintptr) int32 { /* sqlite3.c:133224:20: */ var p uintptr for p = (*Table)(unsafe.Pointer((*Index)(unsafe.Pointer(pIndex)).FpTable)).FpIndex; p != 0; p = (*Index)(unsafe.Pointer(p)).FpNext { if (*Index)(unsafe.Pointer(p)).Ftnum == (*Index)(unsafe.Pointer(pIndex)).Ftnum && p != pIndex { @@ -113532,7 +113551,7 @@ func Xsqlite3IndexHasDuplicateRootPage(tls *libc.TLS, pIndex uintptr) int32 { /* // argv[3] = root page number for table or index. 0 for trigger or view. // argv[4] = SQL text for the CREATE statement. // -func Xsqlite3InitCallback(tls *libc.TLS, pInit uintptr, argc int32, argv uintptr, NotUsed uintptr) int32 { /* sqlite3.c:133245:20: */ +func Xsqlite3InitCallback(tls *libc.TLS, pInit uintptr, argc int32, argv uintptr, NotUsed uintptr) int32 { /* sqlite3.c:133258:20: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -113634,7 +113653,7 @@ func Xsqlite3InitCallback(tls *libc.TLS, pInit uintptr, argc int32, argv uintptr // database. iDb==1 should never be used. iDb>=2 is used for // auxiliary databases. Return one of the SQLITE_ error codes to // indicate success or failure. -func Xsqlite3InitOne(tls *libc.TLS, db uintptr, iDb int32, pzErrMsg uintptr, mFlags U32) int32 { /* sqlite3.c:133348:20: */ +func Xsqlite3InitOne(tls *libc.TLS, db uintptr, iDb int32, pzErrMsg uintptr, mFlags U32) int32 { /* sqlite3.c:133361:20: */ bp := tls.Alloc(124) defer tls.Free(124) @@ -113880,7 +113899,7 @@ __20: pDb = (*Sqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32 goto __22 __21: - if !(rc == SQLITE_OK || (*Sqlite3)(unsafe.Pointer(db)).Fflags&uint64(SQLITE_NoSchemaError) != 0) { + if !(rc == SQLITE_OK || (*Sqlite3)(unsafe.Pointer(db)).Fflags&uint64(SQLITE_NoSchemaError) != 0 && rc != SQLITE_NOMEM) { goto __23 } // Hack: If the SQLITE_NoSchemaError flag is set, then consider @@ -113935,7 +113954,7 @@ __25: // // After a database is initialized, the DB_SchemaLoaded bit is set // bit is set in the flags field of the Db structure. -func Xsqlite3Init(tls *libc.TLS, db uintptr, pzErrMsg uintptr) int32 { /* sqlite3.c:133587:20: */ +func Xsqlite3Init(tls *libc.TLS, db uintptr, pzErrMsg uintptr) int32 { /* sqlite3.c:133600:20: */ var i int32 var rc int32 var commit_internal int32 = libc.BoolInt32(!((*Sqlite3)(unsafe.Pointer(db)).FmDbFlags&U32(DBFLAG_SchemaChange) != 0)) @@ -113967,7 +113986,7 @@ func Xsqlite3Init(tls *libc.TLS, db uintptr, pzErrMsg uintptr) int32 { /* sqlite // This routine is a no-op if the database schema is already initialized. // Otherwise, the schema is loaded. An error code is returned. -func Xsqlite3ReadSchema(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:133619:20: */ +func Xsqlite3ReadSchema(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:133632:20: */ var rc int32 = SQLITE_OK var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb @@ -113986,7 +114005,7 @@ func Xsqlite3ReadSchema(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:1336 // Check schema cookies in all databases. If any cookie is out // of date set pParse->rc to SQLITE_SCHEMA. If all schema cookies // make no changes to pParse->rc. -func schemaIsValid(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:133641:13: */ +func schemaIsValid(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:133654:13: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -114039,7 +114058,7 @@ func schemaIsValid(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:133641:13: */ // // If the same database is attached more than once, the first // attached database is returned. -func Xsqlite3SchemaToIndex(tls *libc.TLS, db uintptr, pSchema uintptr) int32 { /* sqlite3.c:133691:20: */ +func Xsqlite3SchemaToIndex(tls *libc.TLS, db uintptr, pSchema uintptr) int32 { /* sqlite3.c:133704:20: */ var i int32 = -32768 // If pSchema is NULL, then return -32768. This happens when code in @@ -114066,7 +114085,7 @@ func Xsqlite3SchemaToIndex(tls *libc.TLS, db uintptr, pSchema uintptr) int32 { / } // Free all memory allocations in the pParse object -func Xsqlite3ParseObjectReset(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:133721:21: */ +func Xsqlite3ParseObjectReset(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:133734:21: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb Xsqlite3DbFree(tls, db, (*Parse)(unsafe.Pointer(pParse)).FaTableLock) @@ -114122,7 +114141,7 @@ func Xsqlite3ParseObjectReset(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:1337 // return value thereafter. Something like this: // // pObj = sqlite3ParserAddCleanup(pParse, destructor, pObj); -func Xsqlite3ParserAddCleanup(tls *libc.TLS, pParse uintptr, xCleanup uintptr, pPtr uintptr) uintptr { /* sqlite3.c:133776:21: */ +func Xsqlite3ParserAddCleanup(tls *libc.TLS, pParse uintptr, xCleanup uintptr, pPtr uintptr) uintptr { /* sqlite3.c:133789:21: */ var pCleanup uintptr = Xsqlite3DbMallocRaw(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, uint64(unsafe.Sizeof(ParseCleanup{}))) if pCleanup != 0 { (*ParseCleanup)(unsafe.Pointer(pCleanup)).FpNext = (*Parse)(unsafe.Pointer(pParse)).FpCleanup @@ -114145,7 +114164,7 @@ func Xsqlite3ParserAddCleanup(tls *libc.TLS, pParse uintptr, xCleanup uintptr, p // // Caution: Do not confuse this routine with sqlite3ParseObjectInit() which // is generated by Lemon. -func Xsqlite3ParseObjectInit(tls *libc.TLS, pParse uintptr, db uintptr) { /* sqlite3.c:133806:21: */ +func Xsqlite3ParseObjectInit(tls *libc.TLS, pParse uintptr, db uintptr) { /* sqlite3.c:133819:21: */ libc.Xmemset(tls, pParse+uintptr(uint64(uintptr(0)+8)), 0, uint64(uintptr(0)+216)-uint64(uintptr(0)+8)) libc.Xmemset(tls, pParse+uintptr(uint64(uintptr(0)+272)), 0, uint64(unsafe.Sizeof(Parse{}))-uint64(uintptr(0)+272)) @@ -114158,7 +114177,7 @@ func Xsqlite3ParseObjectInit(tls *libc.TLS, pParse uintptr, db uintptr) { /* sql } // Compile the UTF-8 encoded SQL statement zSql into a statement handle. -func sqlite3Prepare(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, prepFlags U32, pReprepare uintptr, ppStmt uintptr, pzTail uintptr) int32 { /* sqlite3.c:133819:12: */ +func sqlite3Prepare(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, prepFlags U32, pReprepare uintptr, ppStmt uintptr, pzTail uintptr) int32 { /* sqlite3.c:133832:12: */ bp := tls.Alloc(424) defer tls.Free(424) @@ -114364,13 +114383,13 @@ end_prepare: return rc } -func sqlite3LockAndPrepare(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, prepFlags U32, pOld uintptr, ppStmt uintptr, pzTail uintptr) int32 { /* sqlite3.c:133962:12: */ +func sqlite3LockAndPrepare(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, prepFlags U32, pOld uintptr, ppStmt uintptr, pzTail uintptr) int32 { /* sqlite3.c:133975:12: */ var rc int32 var cnt int32 = 0 *(*uintptr)(unsafe.Pointer(ppStmt)) = uintptr(0) if !(Xsqlite3SafetyCheckOk(tls, db) != 0) || zSql == uintptr(0) { - return Xsqlite3MisuseError(tls, 133979) + return Xsqlite3MisuseError(tls, 133992) } Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) Xsqlite3BtreeEnterAll(tls, db) @@ -114399,7 +114418,7 @@ func sqlite3LockAndPrepare(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32 // if the statement cannot be recompiled because another connection has // locked the sqlite3_schema table, return SQLITE_LOCKED. If any other error // occurs, return SQLITE_SCHEMA. -func Xsqlite3Reprepare(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:134009:20: */ +func Xsqlite3Reprepare(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:134022:20: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -114438,14 +114457,14 @@ func Xsqlite3Reprepare(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:134009:20: // sqlite3_step(). In the new version, the original SQL text is retained // and the statement is automatically recompiled if an schema change // occurs. -func Xsqlite3_prepare(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, ppStmt uintptr, pzTail uintptr) int32 { /* sqlite3.c:134048:16: */ +func Xsqlite3_prepare(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, ppStmt uintptr, pzTail uintptr) int32 { /* sqlite3.c:134061:16: */ var rc int32 rc = sqlite3LockAndPrepare(tls, db, zSql, nBytes, uint32(0), uintptr(0), ppStmt, pzTail) // VERIFY: F13021 return rc } -func Xsqlite3_prepare_v2(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, ppStmt uintptr, pzTail uintptr) int32 { /* sqlite3.c:134060:16: */ +func Xsqlite3_prepare_v2(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, ppStmt uintptr, pzTail uintptr) int32 { /* sqlite3.c:134073:16: */ var rc int32 // EVIDENCE-OF: R-37923-12173 The sqlite3_prepare_v2() interface works // exactly the same as sqlite3_prepare_v3() with a zero prepFlags @@ -114458,7 +114477,7 @@ func Xsqlite3_prepare_v2(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, return rc } -func Xsqlite3_prepare_v3(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, prepFlags uint32, ppStmt uintptr, pzTail uintptr) int32 { /* sqlite3.c:134078:16: */ +func Xsqlite3_prepare_v3(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, prepFlags uint32, ppStmt uintptr, pzTail uintptr) int32 { /* sqlite3.c:134091:16: */ var rc int32 // EVIDENCE-OF: R-56861-42673 sqlite3_prepare_v3() differs from // sqlite3_prepare_v2() only in having the extra prepFlags parameter, @@ -114475,7 +114494,7 @@ func Xsqlite3_prepare_v3(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, } // Compile the UTF-16 encoded SQL statement zSql into a statement handle. -func sqlite3Prepare16(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, prepFlags U32, ppStmt uintptr, pzTail uintptr) int32 { /* sqlite3.c:134106:12: */ +func sqlite3Prepare16(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, prepFlags U32, ppStmt uintptr, pzTail uintptr) int32 { /* sqlite3.c:134119:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -114488,7 +114507,7 @@ func sqlite3Prepare16(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, pre *(*uintptr)(unsafe.Pointer(ppStmt)) = uintptr(0) if !(Xsqlite3SafetyCheckOk(tls, db) != 0) || zSql == uintptr(0) { - return Xsqlite3MisuseError(tls, 134127) + return Xsqlite3MisuseError(tls, 134140) } if nBytes >= 0 { var sz int32 @@ -114523,21 +114542,21 @@ func sqlite3Prepare16(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, pre // sqlite3_step(). In the new version, the original SQL text is retained // and the statement is automatically recompiled if an schema change // occurs. -func Xsqlite3_prepare16(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, ppStmt uintptr, pzTail uintptr) int32 { /* sqlite3.c:134164:16: */ +func Xsqlite3_prepare16(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, ppStmt uintptr, pzTail uintptr) int32 { /* sqlite3.c:134177:16: */ var rc int32 rc = sqlite3Prepare16(tls, db, zSql, nBytes, uint32(0), ppStmt, pzTail) // VERIFY: F13021 return rc } -func Xsqlite3_prepare16_v2(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, ppStmt uintptr, pzTail uintptr) int32 { /* sqlite3.c:134176:16: */ +func Xsqlite3_prepare16_v2(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, ppStmt uintptr, pzTail uintptr) int32 { /* sqlite3.c:134189:16: */ var rc int32 rc = sqlite3Prepare16(tls, db, zSql, nBytes, uint32(SQLITE_PREPARE_SAVESQL), ppStmt, pzTail) // VERIFY: F13021 return rc } -func Xsqlite3_prepare16_v3(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, prepFlags uint32, ppStmt uintptr, pzTail uintptr) int32 { /* sqlite3.c:134188:16: */ +func Xsqlite3_prepare16_v3(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, prepFlags uint32, ppStmt uintptr, pzTail uintptr) int32 { /* sqlite3.c:134201:16: */ var rc int32 rc = sqlite3Prepare16(tls, db, zSql, nBytes, uint32(SQLITE_PREPARE_SAVESQL)|prepFlags&uint32(SQLITE_PREPARE_MASK), @@ -114571,7 +114590,7 @@ type DistinctCtx1 = struct { F__ccgo_pad1 [2]byte FtabTnct int32 FaddrTnct int32 -} /* sqlite3.c:134229:9 */ +} /* sqlite3.c:134242:9 */ //************* End of prepare.c ******************************************** //************* Begin file select.c ***************************************** @@ -114592,7 +114611,7 @@ type DistinctCtx1 = struct { // An instance of the following object is used to record information about // how to process the DISTINCT keyword, to simplify passing that information // into the selectInnerLoop() routine. -type DistinctCtx = DistinctCtx1 /* sqlite3.c:134229:28 */ +type DistinctCtx = DistinctCtx1 /* sqlite3.c:134242:28 */ // An instance of the following object is used to record information about // the ORDER BY (or GROUP BY) clause of query is being coded. @@ -114622,7 +114641,7 @@ type SortCtx1 = struct { FsortFlags U8 F__ccgo_pad1 [3]byte FpDeferredRowLoad uintptr -} /* sqlite3.c:134255:9 */ +} /* sqlite3.c:134268:9 */ // An instance of the following object is used to record information about // the ORDER BY (or GROUP BY) clause of query is being coded. @@ -114640,19 +114659,19 @@ type SortCtx1 = struct { // When the sorter-reference optimization is used, there is one entry in the // aDefer[] array for each database table that may be read as values are // extracted from the sorter. -type SortCtx = SortCtx1 /* sqlite3.c:134255:24 */ +type SortCtx = SortCtx1 /* sqlite3.c:134268:24 */ type RowLoadInfo1 = struct { FregResult int32 FecelFlags U8 F__ccgo_pad1 [3]byte -} /* sqlite3.c:134255:9 */ +} /* sqlite3.c:134268:9 */ // Delete all the content of a Select structure. Deallocate the structure // itself depending on the value of bFree // // If bFree==1, call sqlite3DbFree() on the p object. // If bFree==0, Leave the first Select object unfreed -func clearSelect(tls *libc.TLS, db uintptr, p uintptr, bFree int32) { /* sqlite3.c:134285:13: */ +func clearSelect(tls *libc.TLS, db uintptr, p uintptr, bFree int32) { /* sqlite3.c:134298:13: */ for p != 0 { var pPrior uintptr = (*Select)(unsafe.Pointer(p)).FpPrior Xsqlite3ExprListDelete(tls, db, (*Select)(unsafe.Pointer(p)).FpEList) @@ -114681,7 +114700,7 @@ func clearSelect(tls *libc.TLS, db uintptr, p uintptr, bFree int32) { /* sqlite3 } // Initialize a SelectDest structure. -func Xsqlite3SelectDestInit(tls *libc.TLS, pDest uintptr, eDest int32, iParm int32) { /* sqlite3.c:134314:21: */ +func Xsqlite3SelectDestInit(tls *libc.TLS, pDest uintptr, eDest int32, iParm int32) { /* sqlite3.c:134327:21: */ (*SelectDest)(unsafe.Pointer(pDest)).FeDest = U8(eDest) (*SelectDest)(unsafe.Pointer(pDest)).FiSDParm = iParm (*SelectDest)(unsafe.Pointer(pDest)).FiSDParm2 = 0 @@ -114692,7 +114711,7 @@ func Xsqlite3SelectDestInit(tls *libc.TLS, pDest uintptr, eDest int32, iParm int // Allocate a new Select structure and return a pointer to that // structure. -func Xsqlite3SelectNew(tls *libc.TLS, pParse uintptr, pEList uintptr, pSrc uintptr, pWhere uintptr, pGroupBy uintptr, pHaving uintptr, pOrderBy uintptr, selFlags U32, pLimit uintptr) uintptr { /* sqlite3.c:134328:23: */ +func Xsqlite3SelectNew(tls *libc.TLS, pParse uintptr, pEList uintptr, pSrc uintptr, pWhere uintptr, pGroupBy uintptr, pHaving uintptr, pOrderBy uintptr, selFlags U32, pLimit uintptr) uintptr { /* sqlite3.c:134341:23: */ bp := tls.Alloc(128) defer tls.Free(128) @@ -114742,14 +114761,14 @@ func Xsqlite3SelectNew(tls *libc.TLS, pParse uintptr, pEList uintptr, pSrc uintp } // Delete the given Select structure and all of its substructures. -func Xsqlite3SelectDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:134386:21: */ +func Xsqlite3SelectDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:134399:21: */ if p != 0 { clearSelect(tls, db, p, 1) } } // Return a pointer to the right-most SELECT statement in a compound. -func findRightmost(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:134393:15: */ +func findRightmost(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:134406:15: */ for (*Select)(unsafe.Pointer(p)).FpNext != 0 { p = (*Select)(unsafe.Pointer(p)).FpNext } @@ -114771,7 +114790,7 @@ func findRightmost(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:134393:15: * // // If an illegal or unsupported join type is seen, then still return // a join type, but put an error in the pParse structure. -func Xsqlite3JoinType(tls *libc.TLS, pParse uintptr, pA uintptr, pB uintptr, pC uintptr) int32 { /* sqlite3.c:134415:20: */ +func Xsqlite3JoinType(tls *libc.TLS, pParse uintptr, pA uintptr, pB uintptr, pC uintptr) int32 { /* sqlite3.c:134428:20: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -114825,7 +114844,7 @@ func Xsqlite3JoinType(tls *libc.TLS, pParse uintptr, pA uintptr, pB uintptr, pC return jointype } -var zKeyText = *(*[34]int8)(unsafe.Pointer(ts + 18375)) /* sqlite3.c:134420:21 */ +var zKeyText = *(*[34]int8)(unsafe.Pointer(ts + 18375)) /* sqlite3.c:134433:21 */ var aKeyword = [7]struct { Fi U8 FnChar U8 @@ -114838,11 +114857,11 @@ var aKeyword = [7]struct { /* full */ {Fi: U8(19), FnChar: U8(4), Fcode: U8(JT_LEFT | JT_RIGHT | JT_OUTER)}, /* inner */ {Fi: U8(23), FnChar: U8(5), Fcode: U8(JT_INNER)}, /* cross */ {Fi: U8(28), FnChar: U8(5), Fcode: U8(JT_INNER | JT_CROSS)}, -} /* sqlite3.c:134425:5 */ +} /* sqlite3.c:134438:5 */ // Return the index of a column in a table. Return -1 if the column // is not contained in the table. -func Xsqlite3ColumnIndex(tls *libc.TLS, pTab uintptr, zCol uintptr) int32 { /* sqlite3.c:134476:20: */ +func Xsqlite3ColumnIndex(tls *libc.TLS, pTab uintptr, zCol uintptr) int32 { /* sqlite3.c:134489:20: */ var i int32 var h U8 = Xsqlite3StrIHash(tls, zCol) var pCol uintptr @@ -114876,7 +114895,7 @@ __3: // of the matching column and return TRUE. // // If not found, return FALSE. -func tableAndColumnIndex(tls *libc.TLS, pSrc uintptr, N int32, zCol uintptr, piTab uintptr, piCol uintptr, bIgnoreHidden int32) int32 { /* sqlite3.c:134495:12: */ +func tableAndColumnIndex(tls *libc.TLS, pSrc uintptr, N int32, zCol uintptr, piTab uintptr, piCol uintptr, bIgnoreHidden int32) int32 { /* sqlite3.c:134508:12: */ var i int32 // For looping over tables in pSrc var iCol int32 // Index of column matching zCol @@ -114904,7 +114923,7 @@ func tableAndColumnIndex(tls *libc.TLS, pSrc uintptr, N int32, zCol uintptr, piT // where tab1 is the iSrc'th table in SrcList pSrc and tab2 is the // (iSrc+1)'th. Column col1 is column iColLeft of tab1, and col2 is // column iColRight of tab2. -func addWhereTerm(tls *libc.TLS, pParse uintptr, pSrc uintptr, iLeft int32, iColLeft int32, iRight int32, iColRight int32, isOuterJoin int32, ppWhere uintptr) { /* sqlite3.c:134533:13: */ +func addWhereTerm(tls *libc.TLS, pParse uintptr, pSrc uintptr, iLeft int32, iColLeft int32, iRight int32, iColRight int32, isOuterJoin int32, ppWhere uintptr) { /* sqlite3.c:134546:13: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb var pE1 uintptr var pE2 uintptr @@ -114949,7 +114968,7 @@ func addWhereTerm(tls *libc.TLS, pParse uintptr, pSrc uintptr, iLeft int32, iCol // defer the handling of t1.x=5, it will be processed immediately // after the t1 loop and rows with t1.x!=5 will never appear in // the output, which is incorrect. -func Xsqlite3SetJoinExpr(tls *libc.TLS, p uintptr, iTable int32) { /* sqlite3.c:134595:21: */ +func Xsqlite3SetJoinExpr(tls *libc.TLS, p uintptr, iTable int32) { /* sqlite3.c:134608:21: */ for p != 0 { *(*U32)(unsafe.Pointer(p + 4)) |= U32(EP_FromJoin) @@ -114973,7 +114992,7 @@ func Xsqlite3SetJoinExpr(tls *libc.TLS, p uintptr, iTable int32) { /* sqlite3.c: // an ordinary term that omits the EP_FromJoin mark. // // This happens when a LEFT JOIN is simplified into an ordinary JOIN. -func unsetJoinExpr(tls *libc.TLS, p uintptr, iTable int32) { /* sqlite3.c:134621:13: */ +func unsetJoinExpr(tls *libc.TLS, p uintptr, iTable int32) { /* sqlite3.c:134634:13: */ for p != 0 { if (*Expr)(unsafe.Pointer(p)).Fflags&U32(EP_FromJoin) != U32(0) && (iTable < 0 || *(*int32)(unsafe.Pointer(p + 52)) == iTable) { @@ -115008,7 +115027,7 @@ func unsetJoinExpr(tls *libc.TLS, p uintptr, iTable int32) { /* sqlite3.c:134621 // also attached to the left entry. // // This routine returns the number of errors encountered. -func sqliteProcessJoin(tls *libc.TLS, pParse uintptr, p uintptr) int32 { /* sqlite3.c:134658:12: */ +func sqliteProcessJoin(tls *libc.TLS, pParse uintptr, p uintptr) int32 { /* sqlite3.c:134671:12: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -115122,11 +115141,11 @@ __3: // An instance of this object holds information (beyond pParse and pSelect) // needed to load the next result row that is to be added to the sorter. -type RowLoadInfo = RowLoadInfo1 /* sqlite3.c:134750:28 */ +type RowLoadInfo = RowLoadInfo1 /* sqlite3.c:134763:28 */ // This routine does the work of loading query data into an array of // registers so that it can be added to the sorter. -func innerLoopLoadRow(tls *libc.TLS, pParse uintptr, pSelect uintptr, pInfo uintptr) { /* sqlite3.c:134764:13: */ +func innerLoopLoadRow(tls *libc.TLS, pParse uintptr, pSelect uintptr, pInfo uintptr) { /* sqlite3.c:134777:13: */ Xsqlite3ExprCodeExprList(tls, pParse, (*Select)(unsafe.Pointer(pSelect)).FpEList, (*RowLoadInfo)(unsafe.Pointer(pInfo)).FregResult, 0, (*RowLoadInfo)(unsafe.Pointer(pInfo)).FecelFlags) } @@ -115135,7 +115154,7 @@ func innerLoopLoadRow(tls *libc.TLS, pParse uintptr, pSelect uintptr, pInfo uint // added into the sorter. // // Return the register in which the result is stored. -func makeSorterRecord(tls *libc.TLS, pParse uintptr, pSort uintptr, pSelect uintptr, regBase int32, nBase int32) int32 { /* sqlite3.c:134785:12: */ +func makeSorterRecord(tls *libc.TLS, pParse uintptr, pSort uintptr, pSelect uintptr, regBase int32, nBase int32) int32 { /* sqlite3.c:134798:12: */ var nOBSat int32 = (*SortCtx)(unsafe.Pointer(pSort)).FnOBSat var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe var regOut int32 = libc.PreIncInt32(&(*Parse)(unsafe.Pointer(pParse)).FnMem, 1) @@ -115148,7 +115167,7 @@ func makeSorterRecord(tls *libc.TLS, pParse uintptr, pSort uintptr, pSelect uint // Generate code that will push the record in registers regData // through regData+nData-1 onto the sorter. -func pushOntoSorter(tls *libc.TLS, pParse uintptr, pSort uintptr, pSelect uintptr, regData int32, regOrigData int32, nData int32, nPrefixReg int32) { /* sqlite3.c:134806:13: */ +func pushOntoSorter(tls *libc.TLS, pParse uintptr, pSort uintptr, pSelect uintptr, regData int32, regOrigData int32, nData int32, nPrefixReg int32) { /* sqlite3.c:134819:13: */ var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe // Stmt under construction var bSeq int32 = libc.Bool32(int32((*SortCtx)(unsafe.Pointer(pSort)).FsortFlags)&SORTFLAG_UseSorter == 0) var nExpr int32 = (*ExprList)(unsafe.Pointer((*SortCtx)(unsafe.Pointer(pSort)).FpOrderBy)).FnExpr // No. of ORDER BY terms @@ -115291,7 +115310,7 @@ func pushOntoSorter(tls *libc.TLS, pParse uintptr, pSort uintptr, pSelect uintpt } // Add code to implement the OFFSET -func codeOffset(tls *libc.TLS, v uintptr, iOffset int32, iContinue int32) { /* sqlite3.c:134948:13: */ +func codeOffset(tls *libc.TLS, v uintptr, iOffset int32, iContinue int32) { /* sqlite3.c:134961:13: */ if iOffset > 0 { Xsqlite3VdbeAddOp3(tls, v, OP_IfPos, iOffset, iContinue, 1) @@ -115339,7 +115358,7 @@ func codeOffset(tls *libc.TLS, v uintptr, iOffset int32, iContinue int32) { /* s // how many elements there are in the array of registers and (b) the // collation sequences that should be used for the comparisons if // eTnctType is WHERE_DISTINCT_ORDERED. -func codeDistinct(tls *libc.TLS, pParse uintptr, eTnctType int32, iTab int32, addrRepeat int32, pEList uintptr, regElem int32) int32 { /* sqlite3.c:135002:12: */ +func codeDistinct(tls *libc.TLS, pParse uintptr, eTnctType int32, iTab int32, addrRepeat int32, pEList uintptr, regElem int32) int32 { /* sqlite3.c:135015:12: */ var iRet int32 = 0 var nResultCol int32 = (*ExprList)(unsafe.Pointer(pEList)).FnExpr var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe @@ -115420,7 +115439,7 @@ func codeDistinct(tls *libc.TLS, pParse uintptr, eTnctType int32, iTab int32, ad // The ephemeral table is not needed. But we do need register // iVal to be initialized to NULL. So change the OP_OpenEphemeral // into an OP_Null on the iVal register. -func fixDistinctOpenEph(tls *libc.TLS, pParse uintptr, eTnctType int32, iVal int32, iOpenEphAddr int32) { /* sqlite3.c:135086:13: */ +func fixDistinctOpenEph(tls *libc.TLS, pParse uintptr, eTnctType int32, iVal int32, iOpenEphAddr int32) { /* sqlite3.c:135099:13: */ if (*Parse)(unsafe.Pointer(pParse)).FnErr == 0 && (eTnctType == WHERE_DISTINCT_UNIQUE || eTnctType == WHERE_DISTINCT_ORDERED) { var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe @@ -115448,7 +115467,7 @@ func fixDistinctOpenEph(tls *libc.TLS, pParse uintptr, eTnctType int32, iVal int // are evaluated in order to get the data for this row. If srcTab is // zero or more, then data is pulled from srcTab and p->pEList is used only // to get the number of columns and the collation sequence for each column. -func selectInnerLoop(tls *libc.TLS, pParse uintptr, p uintptr, srcTab int32, pSort uintptr, pDistinct uintptr, pDest uintptr, iContinue int32, iBreak int32) { /* sqlite3.c:135208:13: */ +func selectInnerLoop(tls *libc.TLS, pParse uintptr, p uintptr, srcTab int32, pSort uintptr, pDistinct uintptr, pDest uintptr, iContinue int32, iBreak int32) { /* sqlite3.c:135221:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -115804,7 +115823,7 @@ func selectInnerLoop(tls *libc.TLS, pParse uintptr, p uintptr, srcTab int32, pSo // Allocate a KeyInfo object sufficient for an index of N key columns and // X extra columns. -func Xsqlite3KeyInfoAlloc(tls *libc.TLS, db uintptr, N int32, X int32) uintptr { /* sqlite3.c:135602:24: */ +func Xsqlite3KeyInfoAlloc(tls *libc.TLS, db uintptr, N int32, X int32) uintptr { /* sqlite3.c:135615:24: */ var nExtra int32 = int32(uint64(N+X)*(uint64(unsafe.Sizeof(uintptr(0)))+uint64(1)) - uint64(unsafe.Sizeof(uintptr(0)))) var p uintptr = Xsqlite3DbMallocRawNN(tls, db, uint64(uint64(unsafe.Sizeof(KeyInfo{}))+uint64(nExtra))) if p != 0 { @@ -115822,7 +115841,7 @@ func Xsqlite3KeyInfoAlloc(tls *libc.TLS, db uintptr, N int32, X int32) uintptr { } // Deallocate a KeyInfo object -func Xsqlite3KeyInfoUnref(tls *libc.TLS, p uintptr) { /* sqlite3.c:135622:21: */ +func Xsqlite3KeyInfoUnref(tls *libc.TLS, p uintptr) { /* sqlite3.c:135635:21: */ if p != 0 { (*KeyInfo)(unsafe.Pointer(p)).FnRef-- @@ -115833,7 +115852,7 @@ func Xsqlite3KeyInfoUnref(tls *libc.TLS, p uintptr) { /* sqlite3.c:135622:21: */ } // Make a new pointer to a KeyInfo object -func Xsqlite3KeyInfoRef(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:135633:24: */ +func Xsqlite3KeyInfoRef(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:135646:24: */ if p != 0 { (*KeyInfo)(unsafe.Pointer(p)).FnRef++ @@ -115853,7 +115872,7 @@ func Xsqlite3KeyInfoRef(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:135633: // Space to hold the KeyInfo structure is obtained from malloc. The calling // function is responsible for seeing that this structure is eventually // freed. -func Xsqlite3KeyInfoFromExprList(tls *libc.TLS, pParse uintptr, pList uintptr, iStart int32, nExtra int32) uintptr { /* sqlite3.c:135665:24: */ +func Xsqlite3KeyInfoFromExprList(tls *libc.TLS, pParse uintptr, pList uintptr, iStart int32, nExtra int32) uintptr { /* sqlite3.c:135678:24: */ var nExpr int32 var pInfo uintptr var pItem uintptr @@ -115887,7 +115906,7 @@ func Xsqlite3KeyInfoFromExprList(tls *libc.TLS, pParse uintptr, pList uintptr, i } // Name of the connection operator, used for error messages. -func Xsqlite3SelectOpName(tls *libc.TLS, id int32) uintptr { /* sqlite3.c:135692:27: */ +func Xsqlite3SelectOpName(tls *libc.TLS, id int32) uintptr { /* sqlite3.c:135705:27: */ var z uintptr switch id { case TK_ALL: @@ -115914,7 +115933,7 @@ func Xsqlite3SelectOpName(tls *libc.TLS, id int32) uintptr { /* sqlite3.c:135692 // // where xxx is one of "DISTINCT", "ORDER BY" or "GROUP BY". Exactly which // is determined by the zUsage argument. -func explainTempTable(tls *libc.TLS, pParse uintptr, zUsage uintptr) { /* sqlite3.c:135714:13: */ +func explainTempTable(tls *libc.TLS, pParse uintptr, zUsage uintptr) { /* sqlite3.c:135727:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -115931,7 +115950,7 @@ func explainTempTable(tls *libc.TLS, pParse uintptr, zUsage uintptr) { /* sqlite // then the results were placed in a sorter. After the loop is terminated // we need to run the sorter and output the results. The following // routine generates the code needed to do that. -func generateSortTail(tls *libc.TLS, pParse uintptr, p uintptr, pSort uintptr, nColumn int32, pDest uintptr) { /* sqlite3.c:135740:13: */ +func generateSortTail(tls *libc.TLS, pParse uintptr, p uintptr, pSort uintptr, nColumn int32, pDest uintptr) { /* sqlite3.c:135753:13: */ var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe // The prepared statement var addrBreak int32 = (*SortCtx)(unsafe.Pointer(pSort)).FlabelDone // Jump here to exit loop var addrContinue int32 = Xsqlite3VdbeMakeLabel(tls, pParse) // Jump here for next cycle @@ -116110,7 +116129,7 @@ func generateSortTail(tls *libc.TLS, pParse uintptr, p uintptr, pSort uintptr, n // // This routine has either 3 or 6 parameters depending on whether or not // the SQLITE_ENABLE_COLUMN_METADATA compile-time option is used. -func columnTypeImpl(tls *libc.TLS, pNC uintptr, pExpr uintptr, pzOrigDb uintptr, pzOrigTab uintptr, pzOrigCol uintptr) uintptr { /* sqlite3.c:135968:19: */ +func columnTypeImpl(tls *libc.TLS, pNC uintptr, pExpr uintptr, pzOrigDb uintptr, pzOrigTab uintptr, pzOrigCol uintptr) uintptr { /* sqlite3.c:135981:19: */ bp := tls.Alloc(136) defer tls.Free(136) @@ -116234,7 +116253,7 @@ func columnTypeImpl(tls *libc.TLS, pNC uintptr, pExpr uintptr, pzOrigDb uintptr, // Generate code that will tell the VDBE the declaration types of columns // in the result set. -func generateColumnTypes(tls *libc.TLS, pParse uintptr, pTabList uintptr, pEList uintptr) { /* sqlite3.c:136119:13: */ +func generateColumnTypes(tls *libc.TLS, pParse uintptr, pTabList uintptr, pEList uintptr) { /* sqlite3.c:136132:13: */ bp := tls.Alloc(80) defer tls.Free(80) @@ -116291,7 +116310,7 @@ func generateColumnTypes(tls *libc.TLS, pParse uintptr, pTabList uintptr, pEList // full=ON, short=ANY: If the result refers directly to a table column, // then the result column name with the table name // prefix, ex: TABLE.COLUMN. Otherwise use zSpan. -func Xsqlite3GenerateColumnNames(tls *libc.TLS, pParse uintptr, pSelect uintptr) { /* sqlite3.c:136186:21: */ +func Xsqlite3GenerateColumnNames(tls *libc.TLS, pParse uintptr, pSelect uintptr) { /* sqlite3.c:136199:21: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -116391,7 +116410,7 @@ func Xsqlite3GenerateColumnNames(tls *libc.TLS, pParse uintptr, pSelect uintptr) // when modifying this routine to avoid breaking legacy. // // See Also: sqlite3GenerateColumnNames() -func Xsqlite3ColumnsFromExprList(tls *libc.TLS, pParse uintptr, pEList uintptr, pnCol uintptr, paCol uintptr) int32 { /* sqlite3.c:136279:20: */ +func Xsqlite3ColumnsFromExprList(tls *libc.TLS, pParse uintptr, pEList uintptr, pnCol uintptr, paCol uintptr) int32 { /* sqlite3.c:136292:20: */ bp := tls.Alloc(60) defer tls.Free(60) @@ -116523,7 +116542,7 @@ __3: // // This routine requires that all identifiers in the SELECT // statement be resolved. -func Xsqlite3SelectAddColumnTypeAndCollation(tls *libc.TLS, pParse uintptr, pTab uintptr, pSelect uintptr, aff int8) { /* sqlite3.c:136386:21: */ +func Xsqlite3SelectAddColumnTypeAndCollation(tls *libc.TLS, pParse uintptr, pTab uintptr, pSelect uintptr, aff int8) { /* sqlite3.c:136399:21: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -116592,7 +116611,7 @@ __3: // Given a SELECT statement, generate a Table structure that describes // the result set of that SELECT. -func Xsqlite3ResultSetOfSelect(tls *libc.TLS, pParse uintptr, pSelect uintptr, aff int8) uintptr { /* sqlite3.c:136441:22: */ +func Xsqlite3ResultSetOfSelect(tls *libc.TLS, pParse uintptr, pSelect uintptr, aff int8) uintptr { /* sqlite3.c:136454:22: */ var pTab uintptr var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb var savedFlags U64 @@ -116627,7 +116646,7 @@ func Xsqlite3ResultSetOfSelect(tls *libc.TLS, pParse uintptr, pSelect uintptr, a // Get a VDBE for the given parser context. Create a new one if necessary. // If an error occurs, return NULL and leave a message in pParse. -func Xsqlite3GetVdbe(tls *libc.TLS, pParse uintptr) uintptr { /* sqlite3.c:136474:21: */ +func Xsqlite3GetVdbe(tls *libc.TLS, pParse uintptr) uintptr { /* sqlite3.c:136487:21: */ if (*Parse)(unsafe.Pointer(pParse)).FpVdbe != 0 { return (*Parse)(unsafe.Pointer(pParse)).FpVdbe } @@ -116659,7 +116678,7 @@ func Xsqlite3GetVdbe(tls *libc.TLS, pParse uintptr) uintptr { /* sqlite3.c:13647 // redefined. The UNION ALL operator uses this property to force // the reuse of the same limit and offset registers across multiple // SELECT statements. -func computeLimitRegisters(tls *libc.TLS, pParse uintptr, p uintptr, iBreak int32) { /* sqlite3.c:136510:13: */ +func computeLimitRegisters(tls *libc.TLS, pParse uintptr, p uintptr, iBreak int32) { /* sqlite3.c:136523:13: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -116716,7 +116735,7 @@ func computeLimitRegisters(tls *libc.TLS, pParse uintptr, p uintptr, iBreak int3 // // The collating sequence for the compound select is taken from the // left-most term of the select that has a collating sequence. -func multiSelectCollSeq(tls *libc.TLS, pParse uintptr, p uintptr, iCol int32) uintptr { /* sqlite3.c:136567:16: */ +func multiSelectCollSeq(tls *libc.TLS, pParse uintptr, p uintptr, iCol int32) uintptr { /* sqlite3.c:136580:16: */ var pRet uintptr if (*Select)(unsafe.Pointer(p)).FpPrior != 0 { pRet = multiSelectCollSeq(tls, pParse, (*Select)(unsafe.Pointer(p)).FpPrior, iCol) @@ -116740,7 +116759,7 @@ func multiSelectCollSeq(tls *libc.TLS, pParse uintptr, p uintptr, iCol int32) ui // Space to hold the KeyInfo structure is obtained from malloc. The calling // function is responsible for ensuring that this structure is eventually // freed. -func multiSelectOrderByKeyInfo(tls *libc.TLS, pParse uintptr, p uintptr, nExtra int32) uintptr { /* sqlite3.c:136593:16: */ +func multiSelectOrderByKeyInfo(tls *libc.TLS, pParse uintptr, p uintptr, nExtra int32) uintptr { /* sqlite3.c:136606:16: */ var pOrderBy uintptr = (*Select)(unsafe.Pointer(p)).FpOrderBy var nOrderBy int32 if pOrderBy != uintptr(0) { @@ -116809,7 +116828,7 @@ func multiSelectOrderByKeyInfo(tls *libc.TLS, pParse uintptr, p uintptr, nExtra // with a positive value, then the first OFFSET outputs are discarded rather // than being sent to pDest. The LIMIT count does not begin until after OFFSET // rows have been skipped. -func generateWithRecursiveQuery(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) { /* sqlite3.c:136659:13: */ +func generateWithRecursiveQuery(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) { /* sqlite3.c:136672:13: */ bp := tls.Alloc(40) defer tls.Free(40) @@ -117050,7 +117069,7 @@ end_of_recursive_query: // clause occurs within scalar expression (ex: "SELECT (VALUES(1),(2),(3))"). // The sqlite3CodeSubselect will have added the LIMIT 1 clause in tht case. // Since the limit is exactly 1, we only need to evalutes the left-most VALUES. -func multiSelectValues(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) int32 { /* sqlite3.c:136835:12: */ +func multiSelectValues(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) int32 { /* sqlite3.c:136848:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -117090,7 +117109,7 @@ func multiSelectValues(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) // Return true if the SELECT statement which is known to be the recursive // part of a recursive CTE still has its anchor terms attached. If the // anchor terms have already been removed, then return false. -func hasAnchor(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:136872:12: */ +func hasAnchor(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:136885:12: */ for p != 0 && (*Select)(unsafe.Pointer(p)).FselFlags&U32(SF_Recursive) != U32(0) { p = (*Select)(unsafe.Pointer(p)).FpPrior } @@ -117126,7 +117145,7 @@ func hasAnchor(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:136872:12: */ // // Notice that because of the way SQLite parses compound SELECTs, the // individual selects always group from left to right. -func multiSelect(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) int32 { /* sqlite3.c:136908:12: */ +func multiSelect(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) int32 { /* sqlite3.c:136921:12: */ bp := tls.Alloc(144) defer tls.Free(144) @@ -117589,7 +117608,7 @@ __44: // Error message for when two or more terms of a compound select have different // size result sets. -func Xsqlite3SelectWrongNumTermsError(tls *libc.TLS, pParse uintptr, p uintptr) { /* sqlite3.c:137264:21: */ +func Xsqlite3SelectWrongNumTermsError(tls *libc.TLS, pParse uintptr, p uintptr) { /* sqlite3.c:137277:21: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -117620,7 +117639,7 @@ func Xsqlite3SelectWrongNumTermsError(tls *libc.TLS, pParse uintptr, p uintptr) // // If the LIMIT found in p->iLimit is reached, jump immediately to // iBreak. -func generateOutputSubroutine(tls *libc.TLS, pParse uintptr, p uintptr, pIn uintptr, pDest uintptr, regReturn int32, regPrev int32, pKeyInfo uintptr, iBreak int32) int32 { /* sqlite3.c:137294:12: */ +func generateOutputSubroutine(tls *libc.TLS, pParse uintptr, p uintptr, pIn uintptr, pDest uintptr, regReturn int32, regPrev int32, pKeyInfo uintptr, iBreak int32) int32 { /* sqlite3.c:137307:12: */ var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe var iContinue int32 var addr int32 @@ -117816,7 +117835,7 @@ func generateOutputSubroutine(tls *libc.TLS, pParse uintptr, p uintptr, pIn uint // actually called using Gosub and they do not Return. EofA and EofB loop // until all data is exhausted then jump to the "end" labe. AltB, AeqB, // and AgtB jump to either L2 or to one of EofA or EofB. -func multiSelectOrderBy(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) int32 { /* sqlite3.c:137502:12: */ +func multiSelectOrderBy(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) int32 { /* sqlite3.c:137515:12: */ bp := tls.Alloc(88) defer tls.Free(88) @@ -118166,14 +118185,14 @@ type SubstContext1 = struct { FisLeftJoin int32 F__ccgo_pad1 [4]byte FpEList uintptr -} /* sqlite3.c:137827:9 */ +} /* sqlite3.c:137840:9 */ // An instance of the SubstContext object describes an substitution edit // to be performed on a parse tree. // // All references to columns in table iTable are to be replaced by corresponding // expressions in pEList. -type SubstContext = SubstContext1 /* sqlite3.c:137833:3 */ +type SubstContext = SubstContext1 /* sqlite3.c:137846:3 */ // Scan through the expression pExpr. Replace every reference to // a column in table number iTable with a copy of the iColumn-th @@ -118186,7 +118205,7 @@ type SubstContext = SubstContext1 /* sqlite3.c:137833:3 */ // FORM clause entry is iTable. This routine makes the necessary // changes to pExpr so that it refers directly to the source table // of the subquery rather the result set of the subquery. -func substExpr(tls *libc.TLS, pSubst uintptr, pExpr uintptr) uintptr { /* sqlite3.c:137852:13: */ +func substExpr(tls *libc.TLS, pSubst uintptr, pExpr uintptr) uintptr { /* sqlite3.c:137865:13: */ bp := tls.Alloc(72) defer tls.Free(72) @@ -118269,7 +118288,7 @@ func substExpr(tls *libc.TLS, pSubst uintptr, pExpr uintptr) uintptr { /* sqlite return pExpr } -func substExprList(tls *libc.TLS, pSubst uintptr, pList uintptr) { /* sqlite3.c:137937:13: */ +func substExprList(tls *libc.TLS, pSubst uintptr, pList uintptr) { /* sqlite3.c:137950:13: */ var i int32 if pList == uintptr(0) { return @@ -118279,7 +118298,7 @@ func substExprList(tls *libc.TLS, pSubst uintptr, pList uintptr) { /* sqlite3.c: } } -func substSelect(tls *libc.TLS, pSubst uintptr, p uintptr, doPrior int32) { /* sqlite3.c:137947:13: */ +func substSelect(tls *libc.TLS, pSubst uintptr, p uintptr, doPrior int32) { /* sqlite3.c:137960:13: */ var pSrc uintptr var pItem uintptr var i int32 @@ -118322,7 +118341,7 @@ func substSelect(tls *libc.TLS, pSubst uintptr, p uintptr, doPrior int32) { /* s // // This routine scans the entire SELECT statement and recomputes the // pSrcItem->colUsed mask. -func recomputeColumnsUsedExpr(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:137982:12: */ +func recomputeColumnsUsedExpr(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:137995:12: */ var pItem uintptr if int32((*Expr)(unsafe.Pointer(pExpr)).Fop) != TK_COLUMN { return WRC_Continue @@ -118338,7 +118357,7 @@ func recomputeColumnsUsedExpr(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int return WRC_Continue } -func recomputeColumnsUsed(tls *libc.TLS, pSelect uintptr, pSrcItem uintptr) { /* sqlite3.c:137991:13: */ +func recomputeColumnsUsed(tls *libc.TLS, pSelect uintptr, pSrcItem uintptr) { /* sqlite3.c:138004:13: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -118370,7 +118389,7 @@ func recomputeColumnsUsed(tls *libc.TLS, pSelect uintptr, pSrcItem uintptr) { /* // // If pSrc contains any sub-selects, call this routine recursively // on the FROM clause of each such sub-select, with iExcept set to -1. -func srclistRenumberCursors(tls *libc.TLS, pParse uintptr, aCsrMap uintptr, pSrc uintptr, iExcept int32) { /* sqlite3.c:138020:13: */ +func srclistRenumberCursors(tls *libc.TLS, pParse uintptr, aCsrMap uintptr, pSrc uintptr, iExcept int32) { /* sqlite3.c:138033:13: */ var i int32 var pItem uintptr i = 0 @@ -118403,7 +118422,7 @@ __3: } // *piCursor is a cursor number. Change it if it needs to be mapped. -func renumberCursorDoMapping(tls *libc.TLS, pWalker uintptr, piCursor uintptr) { /* sqlite3.c:138046:13: */ +func renumberCursorDoMapping(tls *libc.TLS, pWalker uintptr, piCursor uintptr) { /* sqlite3.c:138059:13: */ var aCsrMap uintptr = *(*uintptr)(unsafe.Pointer(pWalker + 40)) var iCsr int32 = *(*int32)(unsafe.Pointer(piCursor)) if iCsr < *(*int32)(unsafe.Pointer(aCsrMap)) && *(*int32)(unsafe.Pointer(aCsrMap + uintptr(iCsr+1)*4)) > 0 { @@ -118413,7 +118432,7 @@ func renumberCursorDoMapping(tls *libc.TLS, pWalker uintptr, piCursor uintptr) { // Expression walker callback used by renumberCursors() to update // Expr objects to match newly assigned cursor numbers. -func renumberCursorsCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:138058:12: */ +func renumberCursorsCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:138071:12: */ var op int32 = int32((*Expr)(unsafe.Pointer(pExpr)).Fop) if op == TK_COLUMN || op == TK_IF_NULL_ROW { renumberCursorDoMapping(tls, pWalker, pExpr+44) @@ -118440,7 +118459,7 @@ func renumberCursorsCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* // * the array entries for all cursor numbers that do *not* appear in // FROM clauses of the select statement as described above are // initialized to zero. -func renumberCursors(tls *libc.TLS, pParse uintptr, p uintptr, iExcept int32, aCsrMap uintptr) { /* sqlite3.c:138087:13: */ +func renumberCursors(tls *libc.TLS, pParse uintptr, p uintptr, iExcept int32, aCsrMap uintptr) { /* sqlite3.c:138100:13: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -118610,7 +118629,7 @@ func renumberCursors(tls *libc.TLS, pParse uintptr, p uintptr, iExcept int32, aC // // All of the expression analysis must occur on both the outer query and // the subquery before this routine runs. -func flattenSubquery(tls *libc.TLS, pParse uintptr, p uintptr, iFrom int32, isAgg int32) int32 { /* sqlite3.c:138258:12: */ +func flattenSubquery(tls *libc.TLS, pParse uintptr, p uintptr, iFrom int32, isAgg int32) int32 { /* sqlite3.c:138271:12: */ bp := tls.Alloc(80) defer tls.Free(80) @@ -119035,7 +119054,7 @@ __3: // A structure to keep track of all of the column values that are fixed to // a known value due to WHERE clause constraints of the form COLUMN=VALUE. -type WhereConst = WhereConst1 /* sqlite3.c:138682:27 */ +type WhereConst = WhereConst1 /* sqlite3.c:138695:27 */ // Add a new entry to the pConst object. Except, do not add duplicate // pColumn entires. Also, do not add if doing so would not be appropriate. @@ -119043,7 +119062,7 @@ type WhereConst = WhereConst1 /* sqlite3.c:138682:27 */ // The caller guarantees the pColumn is a column and pValue is a constant. // This routine has to do some additional checks before completing the // insert. -func constInsert(tls *libc.TLS, pConst uintptr, pColumn uintptr, pValue uintptr, pExpr uintptr) { /* sqlite3.c:138700:13: */ +func constInsert(tls *libc.TLS, pConst uintptr, pColumn uintptr, pValue uintptr, pExpr uintptr) { /* sqlite3.c:138713:13: */ var i int32 if (*Expr)(unsafe.Pointer(pColumn)).Fflags&U32(EP_FixedCol) != U32(0) { @@ -119085,7 +119104,7 @@ func constInsert(tls *libc.TLS, pConst uintptr, pColumn uintptr, pValue uintptr, // is a constant expression and where the term must be true because it // is part of the AND-connected terms of the expression. For each term // found, add it to the pConst structure. -func findConstInWhere(tls *libc.TLS, pConst uintptr, pExpr uintptr) { /* sqlite3.c:138748:13: */ +func findConstInWhere(tls *libc.TLS, pConst uintptr, pExpr uintptr) { /* sqlite3.c:138761:13: */ var pRight uintptr var pLeft uintptr if pExpr == uintptr(0) { @@ -119120,7 +119139,7 @@ func findConstInWhere(tls *libc.TLS, pConst uintptr, pExpr uintptr) { /* sqlite3 // then overwrite it with the corresponding value. Except, do not do so // if argument bIgnoreAffBlob is non-zero and the affinity of pExpr // is SQLITE_AFF_BLOB. -func propagateConstantExprRewriteOne(tls *libc.TLS, pConst uintptr, pExpr uintptr, bIgnoreAffBlob int32) int32 { /* sqlite3.c:138779:12: */ +func propagateConstantExprRewriteOne(tls *libc.TLS, pConst uintptr, pExpr uintptr, bIgnoreAffBlob int32) int32 { /* sqlite3.c:138792:12: */ var i int32 if *(*U8)(unsafe.Pointer((*WhereConst)(unsafe.Pointer(pConst)).FpOomFault)) != 0 { return WRC_Prune @@ -119174,7 +119193,7 @@ func propagateConstantExprRewriteOne(tls *libc.TLS, pConst uintptr, pExpr uintpt // uses an affinity other than TEXT and one of its immediate // children is a column that matches one of the columns in // pWalker->u.pConst. -func propagateConstantExprRewrite(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:138828:12: */ +func propagateConstantExprRewrite(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:138841:12: */ var pConst uintptr = *(*uintptr)(unsafe.Pointer(pWalker + 40)) if (*WhereConst)(unsafe.Pointer(pConst)).FbHasAffBlob != 0 { @@ -119241,7 +119260,7 @@ func propagateConstantExprRewrite(tls *libc.TLS, pWalker uintptr, pExpr uintptr) // operators ==, <=, <, >=, >, or IS in a way that will cause the correct // type conversions to occur. See logic associated with the bHasAffBlob flag // for details. -func propagateConstants(tls *libc.TLS, pParse uintptr, p uintptr) int32 { /* sqlite3.c:138899:12: */ +func propagateConstants(tls *libc.TLS, pParse uintptr, p uintptr) int32 { /* sqlite3.c:138912:12: */ bp := tls.Alloc(88) defer tls.Free(88) @@ -119294,7 +119313,7 @@ func propagateConstants(tls *libc.TLS, pParse uintptr, p uintptr) int32 { /* sql // // * the sub-query uses only one distinct window frame, and // * that the window frame has a PARTITION BY clase. -func pushDownWindowCheck(tls *libc.TLS, pParse uintptr, pSubq uintptr, pExpr uintptr) int32 { /* sqlite3.c:138950:12: */ +func pushDownWindowCheck(tls *libc.TLS, pParse uintptr, pSubq uintptr, pExpr uintptr) int32 { /* sqlite3.c:138963:12: */ return Xsqlite3ExprIsConstantOrGroupBy(tls, pParse, pExpr, (*Window)(unsafe.Pointer((*Select)(unsafe.Pointer(pSubq)).FpWin)).FpPartition) } @@ -119365,7 +119384,7 @@ func pushDownWindowCheck(tls *libc.TLS, pParse uintptr, pSubq uintptr, pExpr uin // // Return 0 if no changes are made and non-zero if one or more WHERE clause // terms are duplicated into the subquery. -func pushDownWhereTerms(tls *libc.TLS, pParse uintptr, pSubq uintptr, pWhere uintptr, iCursor int32, isLeftJoin int32) int32 { /* sqlite3.c:139028:12: */ +func pushDownWhereTerms(tls *libc.TLS, pParse uintptr, pSubq uintptr, pWhere uintptr, iCursor int32, isLeftJoin int32) int32 { /* sqlite3.c:139041:12: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -119453,7 +119472,7 @@ func pushDownWhereTerms(tls *libc.TLS, pParse uintptr, pSubq uintptr, pWhere uin // This routine must be called after aggregate functions have been // located but before their arguments have been subjected to aggregate // analysis. -func minMaxQuery(tls *libc.TLS, db uintptr, pFunc uintptr, ppMinMax uintptr) U8 { /* sqlite3.c:139132:11: */ +func minMaxQuery(tls *libc.TLS, db uintptr, pFunc uintptr, ppMinMax uintptr) U8 { /* sqlite3.c:139145:11: */ var eRet int32 = WHERE_ORDERBY_NORMAL // Return value var pEList uintptr // Arguments to agg function var zFunc uintptr // Name of aggregate function pFunc @@ -119503,7 +119522,7 @@ func minMaxQuery(tls *libc.TLS, db uintptr, pFunc uintptr, ppMinMax uintptr) U8 // this routine returns NULL when it could have returned a table pointer. // But returning the pointer when NULL should have been returned can // result in incorrect answers and/or crashes. So, when in doubt, return NULL. -func isSimpleCount(tls *libc.TLS, p uintptr, pAggInfo uintptr) uintptr { /* sqlite3.c:139187:14: */ +func isSimpleCount(tls *libc.TLS, p uintptr, pAggInfo uintptr) uintptr { /* sqlite3.c:139200:14: */ var pTab uintptr var pExpr uintptr @@ -119543,7 +119562,7 @@ func isSimpleCount(tls *libc.TLS, p uintptr, pAggInfo uintptr) uintptr { /* sqli // was such a clause and the named index cannot be found, return // SQLITE_ERROR and leave an error in pParse. Otherwise, populate // pFrom->pIndex and return SQLITE_OK. -func Xsqlite3IndexedByLookup(tls *libc.TLS, pParse uintptr, pFrom uintptr) int32 { /* sqlite3.c:139225:20: */ +func Xsqlite3IndexedByLookup(tls *libc.TLS, pParse uintptr, pFrom uintptr) int32 { /* sqlite3.c:139238:20: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -119582,7 +119601,7 @@ func Xsqlite3IndexedByLookup(tls *libc.TLS, pParse uintptr, pFrom uintptr) int32 // This transformation is only needed for EXCEPT, INTERSECT, and UNION. // The UNION ALL operator works fine with multiSelectOrderBy() even when // there are COLLATE terms in the ORDER BY. -func convertCompoundSelectToSubquery(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sqlite3.c:139267:12: */ +func convertCompoundSelectToSubquery(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sqlite3.c:139280:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -119661,7 +119680,7 @@ func convertCompoundSelectToSubquery(tls *libc.TLS, pWalker uintptr, p uintptr) // Check to see if the FROM clause term pFrom has table-valued function // arguments. If it does, leave an error message in pParse and return // non-zero, since pFrom is not allowed to be a table-valued function. -func cannotBeFunction(tls *libc.TLS, pParse uintptr, pFrom uintptr) int32 { /* sqlite3.c:139332:12: */ +func cannotBeFunction(tls *libc.TLS, pParse uintptr, pFrom uintptr) int32 { /* sqlite3.c:139345:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -119680,7 +119699,7 @@ func cannotBeFunction(tls *libc.TLS, pParse uintptr, pFrom uintptr) int32 { /* s // // If a non-NULL value is returned, set *ppContext to point to the With // object that the returned CTE belongs to. -func searchWith(tls *libc.TLS, pWith uintptr, pItem uintptr, ppContext uintptr) uintptr { /* sqlite3.c:139351:19: */ +func searchWith(tls *libc.TLS, pWith uintptr, pItem uintptr, ppContext uintptr) uintptr { /* sqlite3.c:139364:19: */ var zName uintptr = (*SrcItem)(unsafe.Pointer(pItem)).FzName var p uintptr @@ -119715,7 +119734,7 @@ func searchWith(tls *libc.TLS, pWith uintptr, pItem uintptr, ppContext uintptr) // // If bFree is true, do not continue to use the pWith pointer after // calling this routine, Instead, use only the return value. -func Xsqlite3WithPush(tls *libc.TLS, pParse uintptr, pWith uintptr, bFree U8) uintptr { /* sqlite3.c:139390:21: */ +func Xsqlite3WithPush(tls *libc.TLS, pParse uintptr, pWith uintptr, bFree U8) uintptr { /* sqlite3.c:139403:21: */ if pWith != 0 { if bFree != 0 { pWith = Xsqlite3ParserAddCleanup(tls, pParse, @@ -119748,7 +119767,7 @@ func Xsqlite3WithPush(tls *libc.TLS, pParse uintptr, pWith uintptr, bFree U8) ui // Return 0 if no match is found. // Return 1 if a match is found. // Return 2 if an error condition is detected. -func resolveFromTermToCte(tls *libc.TLS, pParse uintptr, pWalker uintptr, pFrom uintptr) int32 { /* sqlite3.c:139421:12: */ +func resolveFromTermToCte(tls *libc.TLS, pParse uintptr, pWalker uintptr, pFrom uintptr) int32 { /* sqlite3.c:139434:12: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -119930,7 +119949,7 @@ func resolveFromTermToCte(tls *libc.TLS, pParse uintptr, pWalker uintptr, pFrom // This function is used as the xSelectCallback2() callback by // sqlite3SelectExpand() when walking a SELECT tree to resolve table // names and other FROM clause elements. -func Xsqlite3SelectPopWith(tls *libc.TLS, pWalker uintptr, p uintptr) { /* sqlite3.c:139605:21: */ +func Xsqlite3SelectPopWith(tls *libc.TLS, pWalker uintptr, p uintptr) { /* sqlite3.c:139618:21: */ var pParse uintptr = (*Walker)(unsafe.Pointer(pWalker)).FpParse if (*Parse)(unsafe.Pointer(pParse)).FpWith != 0 && (*Select)(unsafe.Pointer(p)).FpPrior == uintptr(0) { var pWith uintptr = (*Select)(unsafe.Pointer(findRightmost(tls, p))).FpWith @@ -119946,7 +119965,7 @@ func Xsqlite3SelectPopWith(tls *libc.TLS, pWalker uintptr, p uintptr) { /* sqlit // allocates and populates the SrcList_item.pTab object. If successful, // SQLITE_OK is returned. Otherwise, if an OOM error is encountered, // SQLITE_NOMEM. -func Xsqlite3ExpandSubquery(tls *libc.TLS, pParse uintptr, pFrom uintptr) int32 { /* sqlite3.c:139624:20: */ +func Xsqlite3ExpandSubquery(tls *libc.TLS, pParse uintptr, pFrom uintptr) int32 { /* sqlite3.c:139637:20: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -120000,7 +120019,7 @@ func Xsqlite3ExpandSubquery(tls *libc.TLS, pParse uintptr, pFrom uintptr) int32 // If found, expand each "*" to be every column in every table // and TABLE.* to be every column in TABLE. // -func selectExpander(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sqlite3.c:139676:12: */ +func selectExpander(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sqlite3.c:139689:12: */ bp := tls.Alloc(88) defer tls.Free(88) @@ -120349,7 +120368,7 @@ __3: // If anything goes wrong, an error message is written into pParse. // The calling function can detect the problem by looking at pParse->nErr // and/or pParse->db->mallocFailed. -func sqlite3SelectExpand(tls *libc.TLS, pParse uintptr, pSelect uintptr) { /* sqlite3.c:140003:13: */ +func sqlite3SelectExpand(tls *libc.TLS, pParse uintptr, pSelect uintptr) { /* sqlite3.c:140016:13: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -120387,7 +120406,7 @@ func sqlite3SelectExpand(tls *libc.TLS, pParse uintptr, pSelect uintptr) { /* sq // by selectExpander() but the type and collation information was omitted // at that point because identifiers had not yet been resolved. This // routine is called after identifier resolution. -func selectAddSubqueryTypeInfo(tls *libc.TLS, pWalker uintptr, p uintptr) { /* sqlite3.c:140033:13: */ +func selectAddSubqueryTypeInfo(tls *libc.TLS, pWalker uintptr, p uintptr) { /* sqlite3.c:140046:13: */ var pParse uintptr var i int32 var pTabList uintptr @@ -120435,7 +120454,7 @@ __3: // SELECT statement. // // Use this routine after name resolution. -func sqlite3SelectAddTypeInfo(tls *libc.TLS, pParse uintptr, pSelect uintptr) { /* sqlite3.c:140068:13: */ +func sqlite3SelectAddTypeInfo(tls *libc.TLS, pParse uintptr, pSelect uintptr) { /* sqlite3.c:140081:13: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -120464,7 +120483,7 @@ func sqlite3SelectAddTypeInfo(tls *libc.TLS, pParse uintptr, pSelect uintptr) { // * Identifiers in expression are matched to tables. // // This routine acts recursively on all subqueries within the SELECT. -func Xsqlite3SelectPrep(tls *libc.TLS, pParse uintptr, p uintptr, pOuterNC uintptr) { /* sqlite3.c:140092:21: */ +func Xsqlite3SelectPrep(tls *libc.TLS, pParse uintptr, p uintptr, pOuterNC uintptr) { /* sqlite3.c:140105:21: */ if (*Sqlite3)(unsafe.Pointer((*Parse)(unsafe.Pointer(pParse)).Fdb)).FmallocFailed != 0 { return @@ -120489,7 +120508,7 @@ func Xsqlite3SelectPrep(tls *libc.TLS, pParse uintptr, p uintptr, pOuterNC uintp // intermediate results while calculating an aggregate. This // routine generates code that stores NULLs in all of those memory // cells. -func resetAccumulator(tls *libc.TLS, pParse uintptr, pAggInfo uintptr) { /* sqlite3.c:140116:13: */ +func resetAccumulator(tls *libc.TLS, pParse uintptr, pAggInfo uintptr) { /* sqlite3.c:140129:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -120539,7 +120558,7 @@ __3: // Invoke the OP_AggFinalize opcode for every aggregate function // in the AggInfo structure. -func finalizeAggFunctions(tls *libc.TLS, pParse uintptr, pAggInfo uintptr) { /* sqlite3.c:140162:13: */ +func finalizeAggFunctions(tls *libc.TLS, pParse uintptr, pAggInfo uintptr) { /* sqlite3.c:140175:13: */ var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe var i int32 var pF uintptr @@ -120578,7 +120597,7 @@ __3: // in pAggInfo, then only populate the pAggInfo->nAccumulator accumulator // registers if register regAcc contains 0. The caller will take care // of setting and clearing regAcc. -func updateAccumulator(tls *libc.TLS, pParse uintptr, regAcc int32, pAggInfo uintptr, eDistinctType int32) { /* sqlite3.c:140185:13: */ +func updateAccumulator(tls *libc.TLS, pParse uintptr, regAcc int32, pAggInfo uintptr, eDistinctType int32) { /* sqlite3.c:140198:13: */ var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe var i int32 var regHit int32 = 0 @@ -120719,7 +120738,7 @@ __9: // Add a single OP_Explain instruction to the VDBE to explain a simple // count(*) query ("SELECT count(*) FROM pTab"). -func explainSimpleCount(tls *libc.TLS, pParse uintptr, pTab uintptr, pIdx uintptr) { /* sqlite3.c:140287:13: */ +func explainSimpleCount(tls *libc.TLS, pParse uintptr, pTab uintptr, pIdx uintptr) { /* sqlite3.c:140300:13: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -120751,7 +120770,7 @@ func explainSimpleCount(tls *libc.TLS, pParse uintptr, pTab uintptr, pIdx uintpt // sub-expression matches the criteria for being moved to the WHERE // clause. If so, add it to the WHERE clause and replace the sub-expression // within the HAVING expression with a constant "1". -func havingToWhereExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:140316:12: */ +func havingToWhereExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:140329:12: */ if int32((*Expr)(unsafe.Pointer(pExpr)).Fop) != TK_AND { var pS uintptr = *(*uintptr)(unsafe.Pointer(pWalker + 40)) // This routine is called before the HAVING clause of the current @@ -120797,7 +120816,7 @@ func havingToWhereExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { // A term of the HAVING expression is eligible for transfer if it consists // entirely of constants and expressions that are also GROUP BY terms that // use the "BINARY" collation sequence. -func havingToWhere(tls *libc.TLS, pParse uintptr, p uintptr) { /* sqlite3.c:140360:13: */ +func havingToWhere(tls *libc.TLS, pParse uintptr, p uintptr) { /* sqlite3.c:140373:13: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -120815,7 +120834,7 @@ func havingToWhere(tls *libc.TLS, pParse uintptr, p uintptr) { /* sqlite3.c:1403 // Check to see if the pThis entry of pTabList is a self-join of a prior view. // If it is, then return the SrcList_item for the prior view. If it is not, // then return 0. -func isSelfJoinView(tls *libc.TLS, pTabList uintptr, pThis uintptr) uintptr { /* sqlite3.c:140380:16: */ +func isSelfJoinView(tls *libc.TLS, pTabList uintptr, pThis uintptr) uintptr { /* sqlite3.c:140393:16: */ var pItem uintptr if (*Select)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pThis)).FpSelect)).FselFlags&U32(SF_PushDown) != 0 { @@ -120856,7 +120875,7 @@ func isSelfJoinView(tls *libc.TLS, pTabList uintptr, pThis uintptr) uintptr { /* } // Deallocate a single AggInfo object -func agginfoFree(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:140415:13: */ +func agginfoFree(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:140428:13: */ Xsqlite3DbFree(tls, db, (*AggInfo)(unsafe.Pointer(p)).FaCol) Xsqlite3DbFree(tls, db, (*AggInfo)(unsafe.Pointer(p)).FaFunc) Xsqlite3DbFreeNN(tls, db, p) @@ -120873,7 +120892,7 @@ func agginfoFree(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:140415:13: // // This routine does NOT free the Select structure passed in. The // calling function needs to do that. -func Xsqlite3Select(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) int32 { /* sqlite3.c:140523:20: */ +func Xsqlite3Select(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) int32 { /* sqlite3.c:140536:20: */ bp := tls.Alloc(216) defer tls.Free(216) @@ -122470,7 +122489,7 @@ type TabResult1 = struct { FnData U32 Frc int32 F__ccgo_pad1 [4]byte -} /* sqlite3.c:141786:9 */ +} /* sqlite3.c:141799:9 */ //************* End of select.c ********************************************* //************* Begin file table.c ****************************************** @@ -122494,12 +122513,12 @@ type TabResult1 = struct { // This structure is used to pass data from sqlite3_get_table() through // to the callback function is uses to build the result. -type TabResult = TabResult1 /* sqlite3.c:141794:3 */ +type TabResult = TabResult1 /* sqlite3.c:141807:3 */ // This routine is called once for each row in the result table. Its job // is to fill in the TabResult structure appropriately, allocating new // memory as necessary. -func sqlite3_get_table_cb(tls *libc.TLS, pArg uintptr, nCol int32, argv uintptr, colv uintptr) int32 { /* sqlite3.c:141801:12: */ +func sqlite3_get_table_cb(tls *libc.TLS, pArg uintptr, nCol int32, argv uintptr, colv uintptr) int32 { /* sqlite3.c:141814:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -122630,7 +122649,7 @@ malloc_failed: // from malloc(). But the caller cannot free this memory directly. // Instead, the entire table should be passed to sqlite3_free_table() when // the calling procedure is finished using it. -func Xsqlite3_get_table(tls *libc.TLS, db uintptr, zSql uintptr, pazResult uintptr, pnRow uintptr, pnColumn uintptr, pzErrMsg uintptr) int32 { /* sqlite3.c:141875:16: */ +func Xsqlite3_get_table(tls *libc.TLS, db uintptr, zSql uintptr, pazResult uintptr, pnRow uintptr, pnColumn uintptr, pzErrMsg uintptr) int32 { /* sqlite3.c:141888:16: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -122702,7 +122721,7 @@ func Xsqlite3_get_table(tls *libc.TLS, db uintptr, zSql uintptr, pazResult uintp } // This routine frees the space the sqlite3_get_table() malloced. -func Xsqlite3_free_table(tls *libc.TLS, azResult uintptr) { /* sqlite3.c:141944:17: */ +func Xsqlite3_free_table(tls *libc.TLS, azResult uintptr) { /* sqlite3.c:141957:17: */ if azResult != 0 { var i int32 var n int32 @@ -122733,7 +122752,7 @@ func Xsqlite3_free_table(tls *libc.TLS, azResult uintptr) { /* sqlite3.c:141944: // #include "sqliteInt.h" // Delete a linked list of TriggerStep structures. -func Xsqlite3DeleteTriggerStep(tls *libc.TLS, db uintptr, pTriggerStep uintptr) { /* sqlite3.c:141979:21: */ +func Xsqlite3DeleteTriggerStep(tls *libc.TLS, db uintptr, pTriggerStep uintptr) { /* sqlite3.c:141992:21: */ for pTriggerStep != 0 { var pTmp uintptr = pTriggerStep pTriggerStep = (*TriggerStep)(unsafe.Pointer(pTriggerStep)).FpNext @@ -122762,7 +122781,7 @@ func Xsqlite3DeleteTriggerStep(tls *libc.TLS, db uintptr, pTriggerStep uintptr) // To state it another way: This routine returns a list of all triggers // that fire off of pTab. The list will include any TEMP triggers on // pTab as well as the triggers lised in pTab->pTrigger. -func Xsqlite3TriggerList(tls *libc.TLS, pParse uintptr, pTab uintptr) uintptr { /* sqlite3.c:142010:24: */ +func Xsqlite3TriggerList(tls *libc.TLS, pParse uintptr, pTab uintptr) uintptr { /* sqlite3.c:142023:24: */ var pTmpSchema uintptr // Schema of the pTab table var pList uintptr // List of triggers to return var p uintptr // Loop variable for TEMP triggers @@ -122800,7 +122819,7 @@ func Xsqlite3TriggerList(tls *libc.TLS, pParse uintptr, pTab uintptr) uintptr { // in pParse->pNewTrigger. After the trigger actions have been parsed, the // sqlite3FinishTrigger() function is called to complete the trigger // construction process. -func Xsqlite3BeginTrigger(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 uintptr, tr_tm int32, op int32, pColumns uintptr, pTableName uintptr, pWhen uintptr, isTemp int32, noErr int32) { /* sqlite3.c:142066:21: */ +func Xsqlite3BeginTrigger(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 uintptr, tr_tm int32, op int32, pColumns uintptr, pTableName uintptr, pWhen uintptr, isTemp int32, noErr int32) { /* sqlite3.c:142079:21: */ bp := tls.Alloc(136) defer tls.Free(136) @@ -123107,7 +123126,7 @@ __31: // This routine is called after all of the trigger actions have been parsed // in order to complete the process of building the trigger. -func Xsqlite3FinishTrigger(tls *libc.TLS, pParse uintptr, pStepList uintptr, pAll uintptr) { /* sqlite3.c:142273:21: */ +func Xsqlite3FinishTrigger(tls *libc.TLS, pParse uintptr, pStepList uintptr, pAll uintptr) { /* sqlite3.c:142286:21: */ bp := tls.Alloc(152) defer tls.Free(152) @@ -123231,7 +123250,7 @@ triggerfinish_cleanup: // Duplicate a range of text from an SQL statement, then convert all // whitespace characters into ordinary space characters. -func triggerSpanDup(tls *libc.TLS, db uintptr, zStart uintptr, zEnd uintptr) uintptr { /* sqlite3.c:142361:13: */ +func triggerSpanDup(tls *libc.TLS, db uintptr, zStart uintptr, zEnd uintptr) uintptr { /* sqlite3.c:142374:13: */ var z uintptr = Xsqlite3DbSpanDup(tls, db, zStart, zEnd) var i int32 if z != 0 { @@ -123249,7 +123268,7 @@ func triggerSpanDup(tls *libc.TLS, db uintptr, zStart uintptr, zEnd uintptr) uin // // The parser calls this routine when it finds a SELECT statement in // body of a TRIGGER. -func Xsqlite3TriggerSelectStep(tls *libc.TLS, db uintptr, pSelect uintptr, zStart uintptr, zEnd uintptr) uintptr { /* sqlite3.c:142375:28: */ +func Xsqlite3TriggerSelectStep(tls *libc.TLS, db uintptr, pSelect uintptr, zStart uintptr, zEnd uintptr) uintptr { /* sqlite3.c:142388:28: */ var pTriggerStep uintptr = Xsqlite3DbMallocZero(tls, db, uint64(unsafe.Sizeof(TriggerStep{}))) if pTriggerStep == uintptr(0) { Xsqlite3SelectDelete(tls, db, pSelect) @@ -123266,7 +123285,7 @@ func Xsqlite3TriggerSelectStep(tls *libc.TLS, db uintptr, pSelect uintptr, zStar // holds both the TriggerStep object and the TriggerStep.target.z string. // // If an OOM error occurs, NULL is returned and db->mallocFailed is set. -func triggerStepAllocate(tls *libc.TLS, pParse uintptr, op U8, pName uintptr, zStart uintptr, zEnd uintptr) uintptr { /* sqlite3.c:142399:20: */ +func triggerStepAllocate(tls *libc.TLS, pParse uintptr, op U8, pName uintptr, zStart uintptr, zEnd uintptr) uintptr { /* sqlite3.c:142412:20: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb var pTriggerStep uintptr @@ -123293,7 +123312,7 @@ func triggerStepAllocate(tls *libc.TLS, pParse uintptr, op U8, pName uintptr, zS // // The parser calls this routine when it sees an INSERT inside the // body of a trigger. -func Xsqlite3TriggerInsertStep(tls *libc.TLS, pParse uintptr, pTableName uintptr, pColumn uintptr, pSelect uintptr, orconf U8, pUpsert uintptr, zStart uintptr, zEnd uintptr) uintptr { /* sqlite3.c:142432:28: */ +func Xsqlite3TriggerInsertStep(tls *libc.TLS, pParse uintptr, pTableName uintptr, pColumn uintptr, pSelect uintptr, orconf U8, pUpsert uintptr, zStart uintptr, zEnd uintptr) uintptr { /* sqlite3.c:142445:28: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb var pTriggerStep uintptr @@ -123325,7 +123344,7 @@ func Xsqlite3TriggerInsertStep(tls *libc.TLS, pParse uintptr, pTableName uintptr // Construct a trigger step that implements an UPDATE statement and return // a pointer to that trigger step. The parser calls this routine when it // sees an UPDATE statement inside the body of a CREATE TRIGGER. -func Xsqlite3TriggerUpdateStep(tls *libc.TLS, pParse uintptr, pTableName uintptr, pFrom uintptr, pEList uintptr, pWhere uintptr, orconf U8, zStart uintptr, zEnd uintptr) uintptr { /* sqlite3.c:142477:28: */ +func Xsqlite3TriggerUpdateStep(tls *libc.TLS, pParse uintptr, pTableName uintptr, pFrom uintptr, pEList uintptr, pWhere uintptr, orconf U8, zStart uintptr, zEnd uintptr) uintptr { /* sqlite3.c:142490:28: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb var pTriggerStep uintptr @@ -123354,7 +123373,7 @@ func Xsqlite3TriggerUpdateStep(tls *libc.TLS, pParse uintptr, pTableName uintptr // Construct a trigger step that implements a DELETE statement and return // a pointer to that trigger step. The parser calls this routine when it // sees a DELETE statement inside the body of a CREATE TRIGGER. -func Xsqlite3TriggerDeleteStep(tls *libc.TLS, pParse uintptr, pTableName uintptr, pWhere uintptr, zStart uintptr, zEnd uintptr) uintptr { /* sqlite3.c:142517:28: */ +func Xsqlite3TriggerDeleteStep(tls *libc.TLS, pParse uintptr, pTableName uintptr, pWhere uintptr, zStart uintptr, zEnd uintptr) uintptr { /* sqlite3.c:142530:28: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb var pTriggerStep uintptr @@ -123373,7 +123392,7 @@ func Xsqlite3TriggerDeleteStep(tls *libc.TLS, pParse uintptr, pTableName uintptr } // Recursively delete a Trigger structure -func Xsqlite3DeleteTrigger(tls *libc.TLS, db uintptr, pTrigger uintptr) { /* sqlite3.c:142544:21: */ +func Xsqlite3DeleteTrigger(tls *libc.TLS, db uintptr, pTrigger uintptr) { /* sqlite3.c:142557:21: */ if pTrigger == uintptr(0) || (*Trigger)(unsafe.Pointer(pTrigger)).FbReturning != 0 { return } @@ -123393,7 +123412,7 @@ func Xsqlite3DeleteTrigger(tls *libc.TLS, db uintptr, pTrigger uintptr) { /* sql // same job as this routine except it takes a pointer to the trigger // instead of the trigger name. // -func Xsqlite3DropTrigger(tls *libc.TLS, pParse uintptr, pName uintptr, noErr int32) { /* sqlite3.c:142562:21: */ +func Xsqlite3DropTrigger(tls *libc.TLS, pParse uintptr, pName uintptr, noErr int32) { /* sqlite3.c:142575:21: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -123477,12 +123496,12 @@ drop_trigger_cleanup: // Return a pointer to the Table structure for the table that a trigger // is set on. -func tableOfTrigger(tls *libc.TLS, pTrigger uintptr) uintptr { /* sqlite3.c:142604:14: */ +func tableOfTrigger(tls *libc.TLS, pTrigger uintptr) uintptr { /* sqlite3.c:142617:14: */ return Xsqlite3HashFind(tls, (*Trigger)(unsafe.Pointer(pTrigger)).FpTabSchema+8, (*Trigger)(unsafe.Pointer(pTrigger)).Ftable) } // Drop a trigger given a pointer to that trigger. -func Xsqlite3DropTriggerPtr(tls *libc.TLS, pParse uintptr, pTrigger uintptr) { /* sqlite3.c:142612:21: */ +func Xsqlite3DropTriggerPtr(tls *libc.TLS, pParse uintptr, pTrigger uintptr) { /* sqlite3.c:142625:21: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -123523,7 +123542,7 @@ func Xsqlite3DropTriggerPtr(tls *libc.TLS, pParse uintptr, pTrigger uintptr) { / } // Remove a trigger from the hash tables of the sqlite* pointer. -func Xsqlite3UnlinkAndDeleteTrigger(tls *libc.TLS, db uintptr, iDb int32, zName uintptr) { /* sqlite3.c:142650:21: */ +func Xsqlite3UnlinkAndDeleteTrigger(tls *libc.TLS, db uintptr, iDb int32, zName uintptr) { /* sqlite3.c:142663:21: */ var pTrigger uintptr var pHash uintptr @@ -123554,7 +123573,7 @@ func Xsqlite3UnlinkAndDeleteTrigger(tls *libc.TLS, db uintptr, iDb int32, zName // wildcard that matches anything. Likewise if pEList==NULL then // it matches anything so always return true. Return false only // if there is no match. -func checkColumnOverlap(tls *libc.TLS, pIdList uintptr, pEList uintptr) int32 { /* sqlite3.c:142684:12: */ +func checkColumnOverlap(tls *libc.TLS, pIdList uintptr, pEList uintptr) int32 { /* sqlite3.c:142697:12: */ var e int32 if pIdList == uintptr(0) || pEList == uintptr(0) { return 1 @@ -123571,7 +123590,7 @@ func checkColumnOverlap(tls *libc.TLS, pIdList uintptr, pEList uintptr) int32 { // one trigger that must be fired when an operation of type 'op' is // performed on the table, and, if that operation is an UPDATE, if at // least one of the columns in pChanges is being modified. -func Xsqlite3TriggersExist(tls *libc.TLS, pParse uintptr, pTab uintptr, op int32, pChanges uintptr, pMask uintptr) uintptr { /* sqlite3.c:142699:24: */ +func Xsqlite3TriggersExist(tls *libc.TLS, pParse uintptr, pTab uintptr, op int32, pChanges uintptr, pMask uintptr) uintptr { /* sqlite3.c:142712:24: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -123698,7 +123717,7 @@ __17: // referring to a target in another database. An exception is when the // trigger is in TEMP in which case it can refer to any other database it // wants. -func Xsqlite3TriggerStepSrc(tls *libc.TLS, pParse uintptr, pStep uintptr) uintptr { /* sqlite3.c:142773:24: */ +func Xsqlite3TriggerStepSrc(tls *libc.TLS, pParse uintptr, pStep uintptr) uintptr { /* sqlite3.c:142786:24: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb var pSrc uintptr // SrcList to be returned var zName uintptr = Xsqlite3DbStrDup(tls, db, (*TriggerStep)(unsafe.Pointer(pStep)).FzTarget) @@ -123723,7 +123742,7 @@ func Xsqlite3TriggerStepSrc(tls *libc.TLS, pParse uintptr, pStep uintptr) uintpt // Return true if the pExpr term from the RETURNING clause argument // list is of the form "*". Raise an error if the terms if of the // form "table.*". -func isAsteriskTerm(tls *libc.TLS, pParse uintptr, pTerm uintptr) int32 { /* sqlite3.c:142804:12: */ +func isAsteriskTerm(tls *libc.TLS, pParse uintptr, pTerm uintptr) int32 { /* sqlite3.c:142817:12: */ if int32((*Expr)(unsafe.Pointer(pTerm)).Fop) == TK_ASTERISK { return 1 @@ -123744,7 +123763,7 @@ func isAsteriskTerm(tls *libc.TLS, pParse uintptr, pTerm uintptr) int32 { /* sql // // This routine makes a copy of the pList, and at the same time expands // any "*" wildcards to be the complete set of columns from pTab. -func sqlite3ExpandReturning(tls *libc.TLS, pParse uintptr, pList uintptr, pTab uintptr) uintptr { /* sqlite3.c:142824:17: */ +func sqlite3ExpandReturning(tls *libc.TLS, pParse uintptr, pList uintptr, pTab uintptr) uintptr { /* sqlite3.c:142837:17: */ var pNew uintptr = uintptr(0) var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb var i int32 @@ -123785,7 +123804,7 @@ func sqlite3ExpandReturning(tls *libc.TLS, pParse uintptr, pList uintptr, pTab u // Generate code for the RETURNING trigger. Unlike other triggers // that invoke a subprogram in the bytecode, the code for RETURNING // is generated in-line. -func codeReturningTrigger(tls *libc.TLS, pParse uintptr, pTrigger uintptr, pTab uintptr, regIn int32) { /* sqlite3.c:142867:13: */ +func codeReturningTrigger(tls *libc.TLS, pParse uintptr, pTrigger uintptr, pTab uintptr, regIn int32) { /* sqlite3.c:142880:13: */ bp := tls.Alloc(304) defer tls.Free(304) @@ -123853,7 +123872,7 @@ func codeReturningTrigger(tls *libc.TLS, pParse uintptr, pTrigger uintptr, pTab // Generate VDBE code for the statements inside the body of a single // trigger. -func codeTriggerProgram(tls *libc.TLS, pParse uintptr, pStepList uintptr, orconf int32) int32 { /* sqlite3.c:142943:12: */ +func codeTriggerProgram(tls *libc.TLS, pParse uintptr, pStepList uintptr, orconf int32) int32 { /* sqlite3.c:142956:12: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -123940,7 +123959,7 @@ func codeTriggerProgram(tls *libc.TLS, pParse uintptr, pStepList uintptr, orconf // Parse context structure pFrom has just been used to create a sub-vdbe // (trigger program). If an error has occurred, transfer error information // from pFrom to pTo. -func transferParseError(tls *libc.TLS, pTo uintptr, pFrom uintptr) { /* sqlite3.c:143047:13: */ +func transferParseError(tls *libc.TLS, pTo uintptr, pFrom uintptr) { /* sqlite3.c:143060:13: */ if (*Parse)(unsafe.Pointer(pTo)).FnErr == 0 { (*Parse)(unsafe.Pointer(pTo)).FzErrMsg = (*Parse)(unsafe.Pointer(pFrom)).FzErrMsg @@ -123953,7 +123972,7 @@ func transferParseError(tls *libc.TLS, pTo uintptr, pFrom uintptr) { /* sqlite3. // Create and populate a new TriggerPrg object with a sub-program // implementing trigger pTrigger with ON CONFLICT policy orconf. -func codeRowTrigger(tls *libc.TLS, pParse uintptr, pTrigger uintptr, pTab uintptr, orconf int32) uintptr { /* sqlite3.c:143063:19: */ +func codeRowTrigger(tls *libc.TLS, pParse uintptr, pTrigger uintptr, pTab uintptr, orconf int32) uintptr { /* sqlite3.c:143076:19: */ bp := tls.Alloc(472) defer tls.Free(472) @@ -124059,7 +124078,7 @@ func codeRowTrigger(tls *libc.TLS, pParse uintptr, pTrigger uintptr, pTab uintpt // trigger pTrigger with default ON CONFLICT algorithm orconf. If no such // TriggerPrg object exists, a new object is allocated and populated before // being returned. -func getRowTrigger(tls *libc.TLS, pParse uintptr, pTrigger uintptr, pTab uintptr, orconf int32) uintptr { /* sqlite3.c:143177:19: */ +func getRowTrigger(tls *libc.TLS, pParse uintptr, pTrigger uintptr, pTab uintptr, orconf int32) uintptr { /* sqlite3.c:143190:19: */ var pRoot uintptr = func() uintptr { if (*Parse)(unsafe.Pointer(pParse)).FpToplevel != 0 { return (*Parse)(unsafe.Pointer(pParse)).FpToplevel @@ -124088,7 +124107,7 @@ func getRowTrigger(tls *libc.TLS, pParse uintptr, pTrigger uintptr, pTab uintptr // table pTab. The reg, orconf and ignoreJump parameters passed to this // function are the same as those described in the header function for // sqlite3CodeRowTrigger() -func Xsqlite3CodeRowTriggerDirect(tls *libc.TLS, pParse uintptr, p uintptr, pTab uintptr, reg int32, orconf int32, ignoreJump int32) { /* sqlite3.c:143212:21: */ +func Xsqlite3CodeRowTriggerDirect(tls *libc.TLS, pParse uintptr, p uintptr, pTab uintptr, reg int32, orconf int32, ignoreJump int32) { /* sqlite3.c:143225:21: */ var v uintptr = Xsqlite3GetVdbe(tls, pParse) // Main VM var pPrg uintptr pPrg = getRowTrigger(tls, pParse, p, pTab, orconf) @@ -124148,7 +124167,7 @@ func Xsqlite3CodeRowTriggerDirect(tls *libc.TLS, pParse uintptr, p uintptr, pTab // trigger program to use (REPLACE, IGNORE etc.). Parameter ignoreJump // is the instruction that control should jump to if a trigger program // raises an IGNORE exception. -func Xsqlite3CodeRowTrigger(tls *libc.TLS, pParse uintptr, pTrigger uintptr, op int32, pChanges uintptr, tr_tm int32, pTab uintptr, reg int32, orconf int32, ignoreJump int32) { /* sqlite3.c:143284:21: */ +func Xsqlite3CodeRowTrigger(tls *libc.TLS, pParse uintptr, pTrigger uintptr, op int32, pChanges uintptr, tr_tm int32, pTab uintptr, reg int32, orconf int32, ignoreJump int32) { /* sqlite3.c:143297:21: */ var p uintptr // Used to iterate through pTrigger list for p = pTrigger; p != 0; p = (*Trigger)(unsafe.Pointer(p)).FpNext { @@ -124196,7 +124215,7 @@ func Xsqlite3CodeRowTrigger(tls *libc.TLS, pParse uintptr, pTrigger uintptr, op // included in the returned mask if the TRIGGER_BEFORE bit is set in the // tr_tm parameter. Similarly, values accessed by AFTER triggers are only // included in the returned mask if the TRIGGER_AFTER bit is set in tr_tm. -func Xsqlite3TriggerColmask(tls *libc.TLS, pParse uintptr, pTrigger uintptr, pChanges uintptr, isNew int32, tr_tm int32, pTab uintptr, orconf int32) U32 { /* sqlite3.c:143354:20: */ +func Xsqlite3TriggerColmask(tls *libc.TLS, pParse uintptr, pTrigger uintptr, pChanges uintptr, isNew int32, tr_tm int32, pTab uintptr, orconf int32) U32 { /* sqlite3.c:143367:20: */ var op int32 if pChanges != 0 { op = TK_UPDATE @@ -124253,7 +124272,7 @@ func Xsqlite3TriggerColmask(tls *libc.TLS, pParse uintptr, pTrigger uintptr, pCh // (not a virtual table) then the value might have been stored as an // integer. In that case, add an OP_RealAffinity opcode to make sure // it has been converted into REAL. -func Xsqlite3ColumnDefault(tls *libc.TLS, v uintptr, pTab uintptr, i int32, iReg int32) { /* sqlite3.c:143452:21: */ +func Xsqlite3ColumnDefault(tls *libc.TLS, v uintptr, pTab uintptr, i int32, iReg int32) { /* sqlite3.c:143465:21: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -124283,7 +124302,7 @@ func Xsqlite3ColumnDefault(tls *libc.TLS, v uintptr, pTab uintptr, i int32, iReg // aXRef[j] will be non-negative if column j of the original table is // being updated. chngRowid will be true if the rowid of the table is // being updated. -func indexColumnIsBeingUpdated(tls *libc.TLS, pIdx uintptr, iCol int32, aXRef uintptr, chngRowid int32) int32 { /* sqlite3.c:143485:12: */ +func indexColumnIsBeingUpdated(tls *libc.TLS, pIdx uintptr, iCol int32, aXRef uintptr, chngRowid int32) int32 { /* sqlite3.c:143498:12: */ var iIdxCol I16 = *(*I16)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FaiColumn + uintptr(iCol)*2)) // Cannot index rowid if int32(iIdxCol) >= 0 { @@ -124304,7 +124323,7 @@ func indexColumnIsBeingUpdated(tls *libc.TLS, pIdx uintptr, iCol int32, aXRef ui // aXRef[j] will be non-negative if column j of the original table is // being updated. chngRowid will be true if the rowid of the table is // being updated. -func indexWhereClauseMightChange(tls *libc.TLS, pIdx uintptr, aXRef uintptr, chngRowid int32) int32 { /* sqlite3.c:143515:12: */ +func indexWhereClauseMightChange(tls *libc.TLS, pIdx uintptr, aXRef uintptr, chngRowid int32) int32 { /* sqlite3.c:143528:12: */ if (*Index)(unsafe.Pointer(pIdx)).FpPartIdxWhere == uintptr(0) { return 0 } @@ -124316,7 +124335,7 @@ func indexWhereClauseMightChange(tls *libc.TLS, pIdx uintptr, aXRef uintptr, chn // Expr.iColumn set to value (iCol+1). The resolver will modify the // expression to be a TK_COLUMN reading column iCol of the first // table in the source-list (pSrc->a[0]). -func exprRowColumn(tls *libc.TLS, pParse uintptr, iCol int32) uintptr { /* sqlite3.c:143531:13: */ +func exprRowColumn(tls *libc.TLS, pParse uintptr, iCol int32) uintptr { /* sqlite3.c:143544:13: */ var pRet uintptr = Xsqlite3PExpr(tls, pParse, TK_ROW, uintptr(0), uintptr(0)) if pRet != 0 { (*Expr)(unsafe.Pointer(pRet)).FiColumn = YnVar(iCol + 1) @@ -124360,7 +124379,7 @@ func exprRowColumn(tls *libc.TLS, pParse uintptr, iCol int32) uintptr { /* sqlit // records with automatically assigned integer keys For intkey tables, the // rowid value in is used as the integer key, and the // remaining fields make up the table record. -func updateFromSelect(tls *libc.TLS, pParse uintptr, iEph int32, pPk uintptr, pChanges uintptr, pTabList uintptr, pWhere uintptr, pOrderBy uintptr, pLimit uintptr) { /* sqlite3.c:143575:13: */ +func updateFromSelect(tls *libc.TLS, pParse uintptr, iEph int32, pPk uintptr, pChanges uintptr, pTabList uintptr, pWhere uintptr, pOrderBy uintptr, pLimit uintptr) { /* sqlite3.c:143588:13: */ bp := tls.Alloc(40) defer tls.Free(40) @@ -124443,7 +124462,7 @@ func updateFromSelect(tls *libc.TLS, pParse uintptr, iEph int32, pPk uintptr, pC // onError | pChanges | pWhere // \_______________________/ // pTabList -func Xsqlite3Update(tls *libc.TLS, pParse uintptr, pTabList uintptr, pChanges uintptr, pWhere uintptr, onError int32, pOrderBy uintptr, pLimit uintptr, pUpsert uintptr) { /* sqlite3.c:143672:21: */ +func Xsqlite3Update(tls *libc.TLS, pParse uintptr, pTabList uintptr, pChanges uintptr, pWhere uintptr, onError int32, pOrderBy uintptr, pLimit uintptr, pUpsert uintptr) { /* sqlite3.c:143685:21: */ bp := tls.Alloc(108) defer tls.Free(108) @@ -125833,7 +125852,7 @@ update_cleanup: // The "onepass" strategy does not use an ephemeral table. Instead, it // stores the same values (A, B and C above) in a register array and // makes a single invocation of VUpdate. -func updateVirtualTable(tls *libc.TLS, pParse uintptr, pSrc uintptr, pTab uintptr, pChanges uintptr, pRowid uintptr, aXRef uintptr, pWhere uintptr, onError int32) { /* sqlite3.c:144564:13: */ +func updateVirtualTable(tls *libc.TLS, pParse uintptr, pSrc uintptr, pTab uintptr, pChanges uintptr, pRowid uintptr, aXRef uintptr, pWhere uintptr, onError int32) { /* sqlite3.c:144577:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -126006,7 +126025,7 @@ func updateVirtualTable(tls *libc.TLS, pParse uintptr, pSrc uintptr, pTab uintpt // #include "sqliteInt.h" // Free a list of Upsert objects -func upsertDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:144752:29: */ +func upsertDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:144765:29: */ for __ccgo := true; __ccgo; __ccgo = p != 0 { var pNext uintptr = (*Upsert)(unsafe.Pointer(p)).FpNextUpsert Xsqlite3ExprListDelete(tls, db, (*Upsert)(unsafe.Pointer(p)).FpUpsertTarget) @@ -126019,14 +126038,14 @@ func upsertDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:144752:29 } } -func Xsqlite3UpsertDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:144764:21: */ +func Xsqlite3UpsertDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:144777:21: */ if p != 0 { upsertDelete(tls, db, p) } } // Duplicate an Upsert object. -func Xsqlite3UpsertDup(tls *libc.TLS, db uintptr, p uintptr) uintptr { /* sqlite3.c:144772:23: */ +func Xsqlite3UpsertDup(tls *libc.TLS, db uintptr, p uintptr) uintptr { /* sqlite3.c:144785:23: */ if p == uintptr(0) { return uintptr(0) } @@ -126039,7 +126058,7 @@ func Xsqlite3UpsertDup(tls *libc.TLS, db uintptr, p uintptr) uintptr { /* sqlite } // Create a new Upsert object. -func Xsqlite3UpsertNew(tls *libc.TLS, db uintptr, pTarget uintptr, pTargetWhere uintptr, pSet uintptr, pWhere uintptr, pNext uintptr) uintptr { /* sqlite3.c:144786:23: */ +func Xsqlite3UpsertNew(tls *libc.TLS, db uintptr, pTarget uintptr, pTargetWhere uintptr, pSet uintptr, pWhere uintptr, pNext uintptr) uintptr { /* sqlite3.c:144799:23: */ var pNew uintptr pNew = Xsqlite3DbMallocZero(tls, db, uint64(unsafe.Sizeof(Upsert{}))) if pNew == uintptr(0) { @@ -126065,7 +126084,7 @@ func Xsqlite3UpsertNew(tls *libc.TLS, db uintptr, pTarget uintptr, pTargetWhere // // Return SQLITE_OK if everything works, or an error code is something // is wrong. -func Xsqlite3UpsertAnalyzeTarget(tls *libc.TLS, pParse uintptr, pTabList uintptr, pUpsert uintptr) int32 { /* sqlite3.c:144821:20: */ +func Xsqlite3UpsertAnalyzeTarget(tls *libc.TLS, pParse uintptr, pTabList uintptr, pUpsert uintptr) int32 { /* sqlite3.c:144834:20: */ bp := tls.Alloc(232) defer tls.Free(232) @@ -126207,7 +126226,7 @@ __3: // Return true if pUpsert is the last ON CONFLICT clause with a // conflict target, or if pUpsert is followed by another ON CONFLICT // clause that targets the INTEGER PRIMARY KEY. -func Xsqlite3UpsertNextIsIPK(tls *libc.TLS, pUpsert uintptr) int32 { /* sqlite3.c:144948:20: */ +func Xsqlite3UpsertNextIsIPK(tls *libc.TLS, pUpsert uintptr) int32 { /* sqlite3.c:144961:20: */ var pNext uintptr if pUpsert == uintptr(0) { return 0 @@ -126229,7 +126248,7 @@ func Xsqlite3UpsertNextIsIPK(tls *libc.TLS, pUpsert uintptr) int32 { /* sqlite3. // a particular index pIdx, return a pointer to the particular ON CONFLICT // clause that applies to the index. Or, if the index is not subject to // any ON CONFLICT clause, return NULL. -func Xsqlite3UpsertOfIndex(tls *libc.TLS, pUpsert uintptr, pIdx uintptr) uintptr { /* sqlite3.c:144964:23: */ +func Xsqlite3UpsertOfIndex(tls *libc.TLS, pUpsert uintptr, pIdx uintptr) uintptr { /* sqlite3.c:144977:23: */ for pUpsert != 0 && (*Upsert)(unsafe.Pointer(pUpsert)).FpUpsertTarget != uintptr(0) && (*Upsert)(unsafe.Pointer(pUpsert)).FpUpsertIdx != pIdx { @@ -126245,7 +126264,7 @@ func Xsqlite3UpsertOfIndex(tls *libc.TLS, pUpsert uintptr, pIdx uintptr) uintptr // currently points to the conflicting table row. Otherwise, if pIdx // is not NULL, then pIdx is the constraint that failed and iCur is a // cursor points to the conflicting row. -func Xsqlite3UpsertDoUpdate(tls *libc.TLS, pParse uintptr, pUpsert uintptr, pTab uintptr, pIdx uintptr, iCur int32) { /* sqlite3.c:144984:21: */ +func Xsqlite3UpsertDoUpdate(tls *libc.TLS, pParse uintptr, pUpsert uintptr, pTab uintptr, pIdx uintptr, iCur int32) { /* sqlite3.c:144997:21: */ var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb var pSrc uintptr // FROM clause for the UPDATE @@ -126325,7 +126344,7 @@ func Xsqlite3UpsertDoUpdate(tls *libc.TLS, pParse uintptr, pUpsert uintptr, pTab // // The execSqlF() routine does the same thing, except it accepts // a format string as its third argument -func execSql(tls *libc.TLS, db uintptr, pzErrMsg uintptr, zSql uintptr) int32 { /* sqlite3.c:145081:12: */ +func execSql(tls *libc.TLS, db uintptr, pzErrMsg uintptr, zSql uintptr) int32 { /* sqlite3.c:145094:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -126365,7 +126384,7 @@ func execSql(tls *libc.TLS, db uintptr, pzErrMsg uintptr, zSql uintptr) int32 { return rc } -func execSqlF(tls *libc.TLS, db uintptr, pzErrMsg uintptr, zSql uintptr, va uintptr) int32 { /* sqlite3.c:145111:12: */ +func execSqlF(tls *libc.TLS, db uintptr, pzErrMsg uintptr, zSql uintptr, va uintptr) int32 { /* sqlite3.c:145124:12: */ var z uintptr var ap Va_list _ = ap @@ -126409,7 +126428,7 @@ func execSqlF(tls *libc.TLS, db uintptr, pzErrMsg uintptr, zSql uintptr, va uint // And a power loss in between deleting the original and renaming the // transient would cause the database file to appear to be deleted // following reboot. -func Xsqlite3Vacuum(tls *libc.TLS, pParse uintptr, pNm uintptr, pInto uintptr) { /* sqlite3.c:145154:21: */ +func Xsqlite3Vacuum(tls *libc.TLS, pParse uintptr, pNm uintptr, pInto uintptr) { /* sqlite3.c:145167:21: */ bp := tls.Alloc(8) defer tls.Free(8) *(*uintptr)(unsafe.Pointer(bp)) = pNm @@ -126466,7 +126485,7 @@ build_vacuum_end: } // This routine implements the OP_Vacuum opcode of the VDBE. -func Xsqlite3RunVacuum(tls *libc.TLS, pzErrMsg uintptr, db uintptr, iDb int32, pOut uintptr) int32 { /* sqlite3.c:145192:36: */ +func Xsqlite3RunVacuum(tls *libc.TLS, pzErrMsg uintptr, db uintptr, iDb int32, pOut uintptr) int32 { /* sqlite3.c:145205:36: */ bp := tls.Alloc(52) defer tls.Free(52) @@ -126804,7 +126823,7 @@ var aCopy = [10]uint8{ uint8(BTREE_TEXT_ENCODING), uint8(0), // Preserve the text encoding uint8(BTREE_USER_VERSION), uint8(0), // Preserve the user version uint8(BTREE_APPLICATION_ID), uint8(0), // Preserve the application id -} /* sqlite3.c:145385:32 */ +} /* sqlite3.c:145398:32 */ // Construct and install a Module object for a virtual table. When this // routine is called, it is guaranteed that all appropriate locks are held @@ -126812,7 +126831,7 @@ var aCopy = [10]uint8{ // // 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 Xsqlite3VtabCreateModule(tls *libc.TLS, db uintptr, zName uintptr, pModule uintptr, pAux uintptr, xDestroy uintptr) uintptr { /* sqlite3.c:145497:23: */ +func Xsqlite3VtabCreateModule(tls *libc.TLS, db uintptr, zName uintptr, pModule uintptr, pAux uintptr, xDestroy uintptr) uintptr { /* sqlite3.c:145510:23: */ var pMod uintptr var pDel uintptr var zCopy uintptr @@ -126852,7 +126871,7 @@ func Xsqlite3VtabCreateModule(tls *libc.TLS, db uintptr, zName uintptr, pModule // The actual function that does the work of creating a new module. // 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) int32 { /* sqlite3.c:145545:12: */ +func createModule(tls *libc.TLS, db uintptr, zName uintptr, pModule uintptr, pAux uintptr, xDestroy uintptr) int32 { /* sqlite3.c:145558:12: */ var rc int32 = SQLITE_OK Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) @@ -126866,18 +126885,18 @@ func createModule(tls *libc.TLS, db uintptr, zName uintptr, pModule uintptr, pAu } // External API function used to create a new virtual-table module. -func Xsqlite3_create_module(tls *libc.TLS, db uintptr, zName uintptr, pModule uintptr, pAux uintptr) int32 { /* sqlite3.c:145566:16: */ +func Xsqlite3_create_module(tls *libc.TLS, db uintptr, zName uintptr, pModule uintptr, pAux uintptr) int32 { /* sqlite3.c:145579:16: */ return createModule(tls, db, zName, pModule, pAux, uintptr(0)) } // 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) int32 { /* sqlite3.c:145581:16: */ +func Xsqlite3_create_module_v2(tls *libc.TLS, db uintptr, zName uintptr, pModule uintptr, pAux uintptr, xDestroy uintptr) int32 { /* sqlite3.c:145594:16: */ return createModule(tls, db, zName, pModule, pAux, xDestroy) } // External API to drop all virtual-table modules, except those named // on the azNames list. -func Xsqlite3_drop_modules(tls *libc.TLS, db uintptr, azNames uintptr) int32 { /* sqlite3.c:145598:16: */ +func Xsqlite3_drop_modules(tls *libc.TLS, db uintptr, azNames uintptr) int32 { /* sqlite3.c:145611:16: */ var pThis uintptr var pNext uintptr for pThis = (*Hash)(unsafe.Pointer(db + 568)).Ffirst; pThis != 0; pThis = pNext { @@ -126898,7 +126917,7 @@ func Xsqlite3_drop_modules(tls *libc.TLS, db uintptr, azNames uintptr) int32 { / // Decrement the reference count on a Module object. Destroy the // module when the reference count reaches zero. -func Xsqlite3VtabModuleUnref(tls *libc.TLS, db uintptr, pMod uintptr) { /* sqlite3.c:145620:21: */ +func Xsqlite3VtabModuleUnref(tls *libc.TLS, db uintptr, pMod uintptr) { /* sqlite3.c:145633:21: */ (*Module)(unsafe.Pointer(pMod)).FnRefModule-- if (*Module)(unsafe.Pointer(pMod)).FnRefModule == 0 { @@ -126916,14 +126935,14 @@ func Xsqlite3VtabModuleUnref(tls *libc.TLS, db uintptr, pMod uintptr) { /* sqlit // // If a disconnect is attempted while a virtual table is locked, // the disconnect is deferred until all locks have been removed. -func Xsqlite3VtabLock(tls *libc.TLS, pVTab uintptr) { /* sqlite3.c:145640:21: */ +func Xsqlite3VtabLock(tls *libc.TLS, pVTab uintptr) { /* sqlite3.c:145653:21: */ (*VTable)(unsafe.Pointer(pVTab)).FnRef++ } // pTab is a pointer to a Table structure representing a virtual-table. // Return a pointer to the VTable object used by connection db to access // this virtual-table, if one has been created, or NULL otherwise. -func Xsqlite3GetVTable(tls *libc.TLS, db uintptr, pTab uintptr) uintptr { /* sqlite3.c:145650:23: */ +func Xsqlite3GetVTable(tls *libc.TLS, db uintptr, pTab uintptr) uintptr { /* sqlite3.c:145663:23: */ var pVtab uintptr for pVtab = *(*uintptr)(unsafe.Pointer(pTab + 64 + 16 /* &.p */)); pVtab != 0 && (*VTable)(unsafe.Pointer(pVtab)).Fdb != db; pVtab = (*VTable)(unsafe.Pointer(pVtab)).FpNext { @@ -126933,7 +126952,7 @@ func Xsqlite3GetVTable(tls *libc.TLS, db uintptr, pTab uintptr) uintptr { /* sql // Decrement the ref-count on a virtual table object. When the ref-count // reaches zero, call the xDisconnect() method to delete the object. -func Xsqlite3VtabUnlock(tls *libc.TLS, pVTab uintptr) { /* sqlite3.c:145661:21: */ +func Xsqlite3VtabUnlock(tls *libc.TLS, pVTab uintptr) { /* sqlite3.c:145674:21: */ var db uintptr = (*VTable)(unsafe.Pointer(pVTab)).Fdb (*VTable)(unsafe.Pointer(pVTab)).FnRef-- @@ -126954,7 +126973,7 @@ func Xsqlite3VtabUnlock(tls *libc.TLS, pVTab uintptr) { /* sqlite3.c:145661:21: // database connections to be disconnected at the next opportunity. // Except, if argument db is not NULL, then the entry associated with // connection db is left in the p->u.vtab.p list. -func vtabDisconnectAll(tls *libc.TLS, db uintptr, p uintptr) uintptr { /* sqlite3.c:145687:15: */ +func vtabDisconnectAll(tls *libc.TLS, db uintptr, p uintptr) uintptr { /* sqlite3.c:145700:15: */ var pRet uintptr = uintptr(0) var pVTable uintptr @@ -126991,7 +127010,7 @@ func vtabDisconnectAll(tls *libc.TLS, db uintptr, p uintptr) uintptr { /* sqlite // used when closing database connection db to free all of its VTable // objects without disturbing the rest of the Schema object (which may // be being used by other shared-cache connections). -func Xsqlite3VtabDisconnect(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:145730:21: */ +func Xsqlite3VtabDisconnect(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:145743:21: */ var ppVTab uintptr for ppVTab = p + 64 + 16; *(*uintptr)(unsafe.Pointer(ppVTab)) != 0; ppVTab = *(*uintptr)(unsafe.Pointer(ppVTab)) + 40 { @@ -127022,7 +127041,7 @@ func Xsqlite3VtabDisconnect(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c // // As a result, a sqlite3.pDisconnect cannot be accessed simultaneously // by multiple threads. It is thread-safe. -func Xsqlite3VtabUnlockList(tls *libc.TLS, db uintptr) { /* sqlite3.c:145768:21: */ +func Xsqlite3VtabUnlockList(tls *libc.TLS, db uintptr) { /* sqlite3.c:145781:21: */ var p uintptr = (*Sqlite3)(unsafe.Pointer(db)).FpDisconnect if p != 0 { @@ -127048,7 +127067,7 @@ func Xsqlite3VtabUnlockList(tls *libc.TLS, db uintptr) { /* sqlite3.c:145768:21: // structure being xDisconnected and free). Any other VTable structures // in the list are moved to the sqlite3.pDisconnect list of the associated // database connection. -func Xsqlite3VtabClear(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:145799:21: */ +func Xsqlite3VtabClear(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:145812:21: */ if !(db != 0) || (*Sqlite3)(unsafe.Pointer(db)).FpnBytesFreed == uintptr(0) { vtabDisconnectAll(tls, uintptr(0), p) @@ -127068,7 +127087,7 @@ func Xsqlite3VtabClear(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:1457 // The string is not copied - the pointer is stored. The // string will be freed automatically when the table is // deleted. -func addModuleArgument(tls *libc.TLS, pParse uintptr, pTable uintptr, zArg uintptr) { /* sqlite3.c:145817:13: */ +func addModuleArgument(tls *libc.TLS, pParse uintptr, pTable uintptr, zArg uintptr) { /* sqlite3.c:145830:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -127094,7 +127113,7 @@ func addModuleArgument(tls *libc.TLS, pParse uintptr, pTable uintptr, zArg uintp // The parser calls this routine when it first sees a CREATE VIRTUAL TABLE // statement. The module name has been parsed, but the optional list // of parameters that follow the module name are still pending. -func Xsqlite3VtabBeginParse(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 uintptr, pModuleName uintptr, ifNotExists int32) { /* sqlite3.c:145843:21: */ +func Xsqlite3VtabBeginParse(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 uintptr, pModuleName uintptr, ifNotExists int32) { /* sqlite3.c:145856:21: */ var pTable uintptr // The new virtual table var db uintptr // Database connection @@ -127129,7 +127148,7 @@ func Xsqlite3VtabBeginParse(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName // This routine takes the module argument that has been accumulating // in pParse->zArg[] and appends it to the list of arguments on the // virtual table currently under construction in pParse->pTable. -func addArgumentToVtab(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:145892:13: */ +func addArgumentToVtab(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:145905:13: */ if (*Parse)(unsafe.Pointer(pParse)).FsArg.Fz != 0 && (*Parse)(unsafe.Pointer(pParse)).FpNewTable != 0 { var z uintptr = (*Parse)(unsafe.Pointer(pParse)).FsArg.Fz var n int32 = int32((*Parse)(unsafe.Pointer(pParse)).FsArg.Fn) @@ -127140,7 +127159,7 @@ func addArgumentToVtab(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:145892:13: // The parser calls this routine after the CREATE VIRTUAL TABLE statement // has been completely parsed. -func Xsqlite3VtabFinishParse(tls *libc.TLS, pParse uintptr, pEnd uintptr) { /* sqlite3.c:145905:21: */ +func Xsqlite3VtabFinishParse(tls *libc.TLS, pParse uintptr, pEnd uintptr) { /* sqlite3.c:145918:21: */ bp := tls.Alloc(64) defer tls.Free(64) @@ -127224,7 +127243,7 @@ func Xsqlite3VtabFinishParse(tls *libc.TLS, pParse uintptr, pEnd uintptr) { /* s // The parser calls this routine when it sees the first token // of an argument to the module name in a CREATE VIRTUAL TABLE statement. -func Xsqlite3VtabArgInit(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:145988:21: */ +func Xsqlite3VtabArgInit(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:146001:21: */ addArgumentToVtab(tls, pParse) (*Parse)(unsafe.Pointer(pParse)).FsArg.Fz = uintptr(0) (*Parse)(unsafe.Pointer(pParse)).FsArg.Fn = uint32(0) @@ -127232,7 +127251,7 @@ func Xsqlite3VtabArgInit(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:145988:21 // The parser calls this routine for each token after the first token // in an argument to the module name in a CREATE VIRTUAL TABLE statement. -func Xsqlite3VtabArgExtend(tls *libc.TLS, pParse uintptr, p uintptr) { /* sqlite3.c:145998:21: */ +func Xsqlite3VtabArgExtend(tls *libc.TLS, pParse uintptr, p uintptr) { /* sqlite3.c:146011:21: */ var pArg uintptr = pParse + 368 if (*Token)(unsafe.Pointer(pArg)).Fz == uintptr(0) { (*Token)(unsafe.Pointer(pArg)).Fz = (*Token)(unsafe.Pointer(p)).Fz @@ -127246,7 +127265,7 @@ func Xsqlite3VtabArgExtend(tls *libc.TLS, pParse uintptr, p uintptr) { /* sqlite // Invoke a virtual table constructor (either xCreate or xConnect). The // 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) int32 { /* sqlite3.c:146014:12: */ +func vtabCallConstructor(tls *libc.TLS, db uintptr, pTab uintptr, pMod uintptr, xConstruct uintptr, pzErr uintptr) int32 { /* sqlite3.c:146027:12: */ bp := tls.Alloc(72) defer tls.Free(72) @@ -127382,7 +127401,7 @@ func vtabCallConstructor(tls *libc.TLS, db uintptr, pTab uintptr, pMod uintptr, // and an error left in pParse. // // This call is a no-op if table pTab is not a virtual table. -func Xsqlite3VtabCallConnect(tls *libc.TLS, pParse uintptr, pTab uintptr) int32 { /* sqlite3.c:146150:20: */ +func Xsqlite3VtabCallConnect(tls *libc.TLS, pParse uintptr, pTab uintptr) int32 { /* sqlite3.c:146163:20: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -127418,7 +127437,7 @@ func Xsqlite3VtabCallConnect(tls *libc.TLS, pParse uintptr, pTab uintptr) int32 // Grow the db->aVTrans[] array so that there is room for at least one // more v-table. Return SQLITE_NOMEM if a malloc fails, or SQLITE_OK otherwise. -func growVTrans(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:146186:12: */ +func growVTrans(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:146199:12: */ var ARRAY_INCR int32 = 5 // Grow the sqlite3.aVTrans array if required @@ -127438,7 +127457,7 @@ func growVTrans(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:146186:12: */ // Add the virtual table pVTab to the array sqlite3.aVTrans[]. Space should // have already been reserved using growVTrans(). -func addToVTrans(tls *libc.TLS, db uintptr, pVTab uintptr) { /* sqlite3.c:146209:13: */ +func addToVTrans(tls *libc.TLS, db uintptr, pVTab uintptr) { /* sqlite3.c:146222:13: */ // Add pVtab to the end of sqlite3.aVTrans *(*uintptr)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaVTrans + uintptr(libc.PostIncInt32(&(*Sqlite3)(unsafe.Pointer(db)).FnVTrans, 1))*8)) = pVTab Xsqlite3VtabLock(tls, pVTab) @@ -127450,7 +127469,7 @@ func addToVTrans(tls *libc.TLS, db uintptr, pVTab uintptr) { /* sqlite3.c:146209 // If an error occurs, *pzErr is set to point to an English language // description of the error and an SQLITE_XXX error code is returned. // In this case the caller must call sqlite3DbFree(db, ) on *pzErr. -func Xsqlite3VtabCallCreate(tls *libc.TLS, db uintptr, iDb int32, zTab uintptr, pzErr uintptr) int32 { /* sqlite3.c:146223:20: */ +func Xsqlite3VtabCallCreate(tls *libc.TLS, db uintptr, iDb int32, zTab uintptr, pzErr uintptr) int32 { /* sqlite3.c:146236:20: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -127490,7 +127509,7 @@ func Xsqlite3VtabCallCreate(tls *libc.TLS, db uintptr, iDb int32, zTab uintptr, // This function is used to set the schema of a virtual table. It is only // valid to call this function from within the xCreate() or xConnect() of a // virtual table module. -func Xsqlite3_declare_vtab(tls *libc.TLS, db uintptr, zCreateTable uintptr) int32 { /* sqlite3.c:146264:16: */ +func Xsqlite3_declare_vtab(tls *libc.TLS, db uintptr, zCreateTable uintptr) int32 { /* sqlite3.c:146277:16: */ bp := tls.Alloc(416) defer tls.Free(416) @@ -127506,12 +127525,13 @@ func Xsqlite3_declare_vtab(tls *libc.TLS, db uintptr, zCreateTable uintptr) int3 if !(pCtx != 0) || (*VtabCtx)(unsafe.Pointer(pCtx)).FbDeclared != 0 { Xsqlite3Error(tls, db, SQLITE_MISUSE) Xsqlite3_mutex_leave(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) - return Xsqlite3MisuseError(tls, 146281) + return Xsqlite3MisuseError(tls, 146294) } pTab = (*VtabCtx)(unsafe.Pointer(pCtx)).FpTab Xsqlite3ParseObjectInit(tls, bp+8, db) (*Parse)(unsafe.Pointer(bp + 8 /* &sParse */)).FeParseMode = U8(PARSE_MODE_DECLARE_VTAB) + (*Parse)(unsafe.Pointer(bp + 8 /* &sParse */)).FdisableTriggers = U8(1) // We should never be able to reach this point while loading the // schema. Nevertheless, defend against that (turn off db->init.busy) // in case a bug arises. @@ -127580,7 +127600,7 @@ func Xsqlite3_declare_vtab(tls *libc.TLS, db uintptr, zCreateTable uintptr) int3 // when a DROP TABLE is mentioned. // // This call is a no-op if zTab is not a virtual table. -func Xsqlite3VtabCallDestroy(tls *libc.TLS, db uintptr, iDb int32, zTab uintptr) int32 { /* sqlite3.c:146357:20: */ +func Xsqlite3VtabCallDestroy(tls *libc.TLS, db uintptr, iDb int32, zTab uintptr) int32 { /* sqlite3.c:146371:20: */ var rc int32 = SQLITE_OK var pTab uintptr @@ -127625,7 +127645,7 @@ func Xsqlite3VtabCallDestroy(tls *libc.TLS, db uintptr, iDb int32, zTab uintptr) // the offset of the method to call in the sqlite3_module structure. // // The array is cleared after invoking the callbacks. -func callFinaliser(tls *libc.TLS, db uintptr, offset int32) { /* sqlite3.c:146401:13: */ +func callFinaliser(tls *libc.TLS, db uintptr, offset int32) { /* sqlite3.c:146415:13: */ var i int32 if (*Sqlite3)(unsafe.Pointer(db)).FaVTrans != 0 { var aVTrans uintptr = (*Sqlite3)(unsafe.Pointer(db)).FaVTrans @@ -127655,7 +127675,7 @@ func callFinaliser(tls *libc.TLS, db uintptr, offset int32) { /* sqlite3.c:14640 // SQLITE_OK if all xSync operations are successful. // // If an error message is available, leave it in p->zErrMsg. -func Xsqlite3VtabSync(tls *libc.TLS, db uintptr, p uintptr) int32 { /* sqlite3.c:146429:20: */ +func Xsqlite3VtabSync(tls *libc.TLS, db uintptr, p uintptr) int32 { /* sqlite3.c:146443:20: */ var i int32 var rc int32 = SQLITE_OK var aVTrans uintptr = (*Sqlite3)(unsafe.Pointer(db)).FaVTrans @@ -127677,14 +127697,14 @@ func Xsqlite3VtabSync(tls *libc.TLS, db uintptr, p uintptr) int32 { /* sqlite3.c // Invoke the xRollback method of all virtual tables in the // sqlite3.aVTrans array. Then clear the array itself. -func Xsqlite3VtabRollback(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:146451:20: */ +func Xsqlite3VtabRollback(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:146465:20: */ callFinaliser(tls, db, int32(uintptr(0)+136)) return SQLITE_OK } // Invoke the xCommit method of all virtual tables in the // sqlite3.aVTrans array. Then clear the array itself. -func Xsqlite3VtabCommit(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:146460:20: */ +func Xsqlite3VtabCommit(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:146474:20: */ callFinaliser(tls, db, int32(uintptr(0)+128)) return SQLITE_OK } @@ -127695,7 +127715,7 @@ func Xsqlite3VtabCommit(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:146460:2 // // If the xBegin call is successful, place the sqlite3_vtab pointer // in the sqlite3.aVTrans array. -func Xsqlite3VtabBegin(tls *libc.TLS, db uintptr, pVTab uintptr) int32 { /* sqlite3.c:146473:20: */ +func Xsqlite3VtabBegin(tls *libc.TLS, db uintptr, pVTab uintptr) int32 { /* sqlite3.c:146487:20: */ var rc int32 = SQLITE_OK var pModule uintptr @@ -127756,7 +127776,7 @@ func Xsqlite3VtabBegin(tls *libc.TLS, db uintptr, pVTab uintptr) int32 { /* sqli // processing is abandoned and the error returned to the caller of this // function immediately. If all calls to virtual table methods are successful, // SQLITE_OK is returned. -func Xsqlite3VtabSavepoint(tls *libc.TLS, db uintptr, op int32, iSavepoint int32) int32 { /* sqlite3.c:146533:20: */ +func Xsqlite3VtabSavepoint(tls *libc.TLS, db uintptr, op int32, iSavepoint int32) int32 { /* sqlite3.c:146547:20: */ var rc int32 = SQLITE_OK if (*Sqlite3)(unsafe.Pointer(db)).FaVTrans != 0 { @@ -127804,7 +127824,7 @@ func Xsqlite3VtabSavepoint(tls *libc.TLS, db uintptr, op int32, iSavepoint int32 // Return either the pDef argument (indicating no change) or a // new FuncDef structure that is marked as ephemeral using the // SQLITE_FUNC_EPHEM flag. -func Xsqlite3VtabOverloadFunction(tls *libc.TLS, db uintptr, pDef uintptr, nArg int32, pExpr uintptr) uintptr { /* sqlite3.c:146581:24: */ +func Xsqlite3VtabOverloadFunction(tls *libc.TLS, db uintptr, pDef uintptr, nArg int32, pExpr uintptr) uintptr { /* sqlite3.c:146595:24: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -127871,7 +127891,7 @@ func Xsqlite3VtabOverloadFunction(tls *libc.TLS, db uintptr, pDef uintptr, nArg // array so that an OP_VBegin will get generated for it. Add pTab to the // array if it is missing. If pTab is already in the array, this routine // is a no-op. -func Xsqlite3VtabMakeWritable(tls *libc.TLS, pParse uintptr, pTab uintptr) { /* sqlite3.c:146651:21: */ +func Xsqlite3VtabMakeWritable(tls *libc.TLS, pParse uintptr, pTab uintptr) { /* sqlite3.c:146665:21: */ var pToplevel uintptr = func() uintptr { if (*Parse)(unsafe.Pointer(pParse)).FpToplevel != 0 { return (*Parse)(unsafe.Pointer(pParse)).FpToplevel @@ -127910,7 +127930,7 @@ func Xsqlite3VtabMakeWritable(tls *libc.TLS, pParse uintptr, pTab uintptr) { /* // // Any virtual table module for which xConnect and xCreate are the same // method can have an eponymous virtual table instance. -func Xsqlite3VtabEponymousTableInit(tls *libc.TLS, pParse uintptr, pMod uintptr) int32 { /* sqlite3.c:146685:20: */ +func Xsqlite3VtabEponymousTableInit(tls *libc.TLS, pParse uintptr, pMod uintptr) int32 { /* sqlite3.c:146699:20: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -127955,7 +127975,7 @@ func Xsqlite3VtabEponymousTableInit(tls *libc.TLS, pParse uintptr, pMod uintptr) // Erase the eponymous virtual table instance associated with // virtual table module pMod, if it exists. -func Xsqlite3VtabEponymousTableClear(tls *libc.TLS, db uintptr, pMod uintptr) { /* sqlite3.c:146723:21: */ +func Xsqlite3VtabEponymousTableClear(tls *libc.TLS, db uintptr, pMod uintptr) { /* sqlite3.c:146737:21: */ var pTab uintptr = (*Module)(unsafe.Pointer(pMod)).FpEpoTab if pTab != uintptr(0) { // Mark the table as Ephemeral prior to deleting it, so that the @@ -127972,19 +127992,19 @@ func Xsqlite3VtabEponymousTableClear(tls *libc.TLS, db uintptr, pMod uintptr) { // // The results of this routine are undefined unless it is called from // within an xUpdate method. -func Xsqlite3_vtab_on_conflict(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:146742:16: */ +func Xsqlite3_vtab_on_conflict(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:146756:16: */ return int32(aMap[int32((*Sqlite3)(unsafe.Pointer(db)).FvtabOnConflict)-1]) } var aMap = [5]uint8{ uint8(SQLITE_ROLLBACK), uint8(SQLITE_ABORT), uint8(SQLITE_FAIL), uint8(SQLITE_IGNORE), uint8(SQLITE_REPLACE), -} /* sqlite3.c:146743:30 */ +} /* sqlite3.c:146757:30 */ // Call from within the xCreate() or xConnect() methods to provide // the SQLite core with additional information about the behavior // of the virtual table being implemented. -func Xsqlite3_vtab_config(tls *libc.TLS, db uintptr, op int32, va uintptr) int32 { /* sqlite3.c:146760:16: */ +func Xsqlite3_vtab_config(tls *libc.TLS, db uintptr, op int32, va uintptr) int32 { /* sqlite3.c:146774:16: */ var ap Va_list _ = ap var rc int32 = SQLITE_OK @@ -127993,7 +128013,7 @@ func Xsqlite3_vtab_config(tls *libc.TLS, db uintptr, op int32, va uintptr) int32 Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) p = (*Sqlite3)(unsafe.Pointer(db)).FpVtabCtx if !(p != 0) { - rc = Xsqlite3MisuseError(tls, 146771) + rc = Xsqlite3MisuseError(tls, 146785) } else { ap = va @@ -128021,7 +128041,7 @@ func Xsqlite3_vtab_config(tls *libc.TLS, db uintptr, op int32, va uintptr) int32 fallthrough default: { - rc = Xsqlite3MisuseError(tls, 146789) + rc = Xsqlite3MisuseError(tls, 146803) break } @@ -128125,23 +128145,23 @@ type WhereClause1 = struct { // a separate source file for easier editing. // Forward references -type WhereClause = WhereClause1 /* sqlite3.c:146849:28 */ +type WhereClause = WhereClause1 /* sqlite3.c:146863:28 */ type WhereMaskSet1 = struct { FbVarSelect int32 Fn int32 Fix [64]int32 } /* sqlite3.c:14626:9 */ -type WhereMaskSet = WhereMaskSet1 /* sqlite3.c:146850:29 */ +type WhereMaskSet = WhereMaskSet1 /* sqlite3.c:146864:29 */ type WhereOrInfo1 = struct { Fwc WhereClause Findexable Bitmask -} /* sqlite3.c:146851:9 */ +} /* sqlite3.c:146865:9 */ -type WhereOrInfo = WhereOrInfo1 /* sqlite3.c:146851:28 */ -type WhereAndInfo1 = struct{ Fwc WhereClause } /* sqlite3.c:146852:9 */ +type WhereOrInfo = WhereOrInfo1 /* sqlite3.c:146865:28 */ +type WhereAndInfo1 = struct{ Fwc WhereClause } /* sqlite3.c:146866:9 */ -type WhereAndInfo = WhereAndInfo1 /* sqlite3.c:146852:29 */ +type WhereAndInfo = WhereAndInfo1 /* sqlite3.c:146866:29 */ type WhereLevel1 = struct { FiLeftJoin int32 FiTabCur int32 @@ -128173,7 +128193,7 @@ type WhereLevel1 = struct { FnotReady Bitmask } /* sqlite3.c:14626:9 */ -type WhereLevel = WhereLevel1 /* sqlite3.c:146853:27 */ +type WhereLevel = WhereLevel1 /* sqlite3.c:146867:27 */ type WhereLoop1 = struct { Fprereq Bitmask FmaskSelf Bitmask @@ -128202,7 +128222,7 @@ type WhereLoop1 = struct { FaLTermSpace [3]uintptr } /* sqlite3.c:14626:9 */ -type WhereLoop = WhereLoop1 /* sqlite3.c:146854:26 */ +type WhereLoop = WhereLoop1 /* sqlite3.c:146868:26 */ type WherePath1 = struct { FmaskLoop Bitmask FrevLoop Bitmask @@ -128212,9 +128232,9 @@ type WherePath1 = struct { FisOrdered I8 F__ccgo_pad1 [1]byte FaLoop uintptr -} /* sqlite3.c:146855:9 */ +} /* sqlite3.c:146869:9 */ -type WherePath = WherePath1 /* sqlite3.c:146855:26 */ +type WherePath = WherePath1 /* sqlite3.c:146869:26 */ type WhereTerm1 = struct { FpExpr uintptr FpWC uintptr @@ -128236,7 +128256,7 @@ type WhereTerm1 = struct { FprereqAll Bitmask } /* sqlite3.c:14626:9 */ -type WhereTerm = WhereTerm1 /* sqlite3.c:146856:26 */ +type WhereTerm = WhereTerm1 /* sqlite3.c:146870:26 */ type WhereLoopBuilder1 = struct { FpWInfo uintptr FpWC uintptr @@ -128249,9 +128269,9 @@ type WhereLoopBuilder1 = struct { F__ccgo_pad1 [2]byte FiPlanLimit uint32 F__ccgo_pad2 [4]byte -} /* sqlite3.c:146857:9 */ +} /* sqlite3.c:146871:9 */ -type WhereLoopBuilder = WhereLoopBuilder1 /* sqlite3.c:146857:33 */ +type WhereLoopBuilder = WhereLoopBuilder1 /* sqlite3.c:146871:33 */ type WhereScan1 = struct { FpOrigWC uintptr FpWC uintptr @@ -128266,24 +128286,24 @@ type WhereScan1 = struct { FaiCur [11]int32 FaiColumn [11]I16 F__ccgo_pad2 [2]byte -} /* sqlite3.c:146858:9 */ +} /* sqlite3.c:146872:9 */ -type WhereScan = WhereScan1 /* sqlite3.c:146858:26 */ +type WhereScan = WhereScan1 /* sqlite3.c:146872:26 */ type WhereOrCost1 = struct { Fprereq Bitmask FrRun LogEst FnOut LogEst F__ccgo_pad1 [4]byte -} /* sqlite3.c:146857:9 */ +} /* sqlite3.c:146871:9 */ -type WhereOrCost = WhereOrCost1 /* sqlite3.c:146859:28 */ +type WhereOrCost = WhereOrCost1 /* sqlite3.c:146873:28 */ type WhereOrSet1 = struct { Fn U16 F__ccgo_pad1 [6]byte Fa [3]WhereOrCost -} /* sqlite3.c:146857:9 */ +} /* sqlite3.c:146871:9 */ -type WhereOrSet = WhereOrSet1 /* sqlite3.c:146860:27 */ +type WhereOrSet = WhereOrSet1 /* sqlite3.c:146874:27 */ // This object contains information needed to implement a single nested // loop in WHERE clause. @@ -128305,7 +128325,7 @@ type InLoop = struct { FnPrefix int32 FeEndLoopOp U8 F__ccgo_pad1 [3]byte -} /* sqlite3.c:146900:7 */ +} /* sqlite3.c:146914:7 */ // Allowed values for WhereLoopBuider.bldFlags @@ -128353,7 +128373,7 @@ type WhereExprMod1 = struct { // of an index rather than an expression or a virtual column. All // such transformations need to be undone at the end of WHERE clause // processing. -type WhereExprMod = WhereExprMod1 /* sqlite3.c:147262:29 */ +type WhereExprMod = WhereExprMod1 /* sqlite3.c:147276:29 */ // Bitmasks for the operators on WhereTerm objects. These are all // operators that are of interest to the query planner. An @@ -128375,7 +128395,7 @@ type WhereExprMod = WhereExprMod1 /* sqlite3.c:147262:29 */ //************* Continuing where we left off in wherecode.c ***************** // Return the name of the i-th column of the pIdx index. -func explainIndexColumnName(tls *libc.TLS, pIdx uintptr, i int32) uintptr { /* sqlite3.c:147456:19: */ +func explainIndexColumnName(tls *libc.TLS, pIdx uintptr, i int32) uintptr { /* sqlite3.c:147470:19: */ i = int32(*(*I16)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FaiColumn + uintptr(i)*2))) if i == -2 { return ts + 21367 /* "" */ @@ -128392,7 +128412,7 @@ func explainIndexColumnName(tls *libc.TLS, pIdx uintptr, i int32) uintptr { /* s // at a time. This routine adds a new term to the end of the expression. // Terms are separated by AND so add the "AND" text for second and subsequent // terms only. -func explainAppendTerm(tls *libc.TLS, pStr uintptr, pIdx uintptr, nTerm int32, iTerm int32, bAnd int32, zOp uintptr) { /* sqlite3.c:147471:13: */ +func explainAppendTerm(tls *libc.TLS, pStr uintptr, pIdx uintptr, nTerm int32, iTerm int32, bAnd int32, zOp uintptr) { /* sqlite3.c:147485:13: */ var i int32 if bAnd != 0 { @@ -128440,7 +128460,7 @@ func explainAppendTerm(tls *libc.TLS, pStr uintptr, pIdx uintptr, nTerm int32, i // string similar to: // // "a=? AND b>?" -func explainIndexRange(tls *libc.TLS, pStr uintptr, pLoop uintptr) { /* sqlite3.c:147515:13: */ +func explainIndexRange(tls *libc.TLS, pStr uintptr, pLoop uintptr) { /* sqlite3.c:147529:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -128485,7 +128505,7 @@ func explainIndexRange(tls *libc.TLS, pStr uintptr, pLoop uintptr) { /* sqlite3. // // If an OP_Explain opcode is added to the VM, its address is returned. // Otherwise, if no OP_Explain is coded, zero is returned. -func Xsqlite3WhereExplainOneScan(tls *libc.TLS, pParse uintptr, pTabList uintptr, pLevel uintptr, wctrlFlags U16) int32 { /* sqlite3.c:147549:20: */ +func Xsqlite3WhereExplainOneScan(tls *libc.TLS, pParse uintptr, pTabList uintptr, pLevel uintptr, wctrlFlags U16) int32 { /* sqlite3.c:147563:20: */ bp := tls.Alloc(196) defer tls.Free(196) @@ -128586,7 +128606,7 @@ func Xsqlite3WhereExplainOneScan(tls *libc.TLS, pParse uintptr, pTabList uintptr // // If an OP_Explain opcode is added to the VM, its address is returned. // Otherwise, if no OP_Explain is coded, zero is returned. -func Xsqlite3WhereExplainBloomFilter(tls *libc.TLS, pParse uintptr, pWInfo uintptr, pLevel uintptr) int32 { /* sqlite3.c:147661:20: */ +func Xsqlite3WhereExplainBloomFilter(tls *libc.TLS, pParse uintptr, pWInfo uintptr, pLevel uintptr) int32 { /* sqlite3.c:147675:20: */ bp := tls.Alloc(156) defer tls.Free(156) @@ -128669,7 +128689,7 @@ func Xsqlite3WhereExplainBloomFilter(tls *libc.TLS, pParse uintptr, pWInfo uintp // The TERM_LIKECOND marking indicates that the term should be coded inside // a conditional such that is only evaluated on the second pass of a // LIKE-optimization loop, when scanning BLOBs instead of strings. -func disableTerm(tls *libc.TLS, pLevel uintptr, pTerm uintptr) { /* sqlite3.c:147774:13: */ +func disableTerm(tls *libc.TLS, pLevel uintptr, pTerm uintptr) { /* sqlite3.c:147788:13: */ var nLoop int32 = 0 for int32((*WhereTerm)(unsafe.Pointer(pTerm)).FwtFlags)&TERM_CODED == 0 && @@ -128702,7 +128722,7 @@ func disableTerm(tls *libc.TLS, pLevel uintptr, pTerm uintptr) { /* sqlite3.c:14 // // This routine makes its own copy of zAff so that the caller is free // to modify zAff after this routine returns. -func codeApplyAffinity(tls *libc.TLS, pParse uintptr, base int32, n int32, zAff uintptr) { /* sqlite3.c:147812:13: */ +func codeApplyAffinity(tls *libc.TLS, pParse uintptr, base int32, n int32, zAff uintptr) { /* sqlite3.c:147826:13: */ var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe if zAff == uintptr(0) { @@ -128735,7 +128755,7 @@ func codeApplyAffinity(tls *libc.TLS, pParse uintptr, base int32, n int32, zAff // // * the comparison will be performed with no affinity, or // * the affinity change in zAff is guaranteed not to change the value. -func updateRangeAffinityStr(tls *libc.TLS, pRight uintptr, n int32, zAff uintptr) { /* sqlite3.c:147849:13: */ +func updateRangeAffinityStr(tls *libc.TLS, pRight uintptr, n int32, zAff uintptr) { /* sqlite3.c:147863:13: */ var i int32 for i = 0; i < n; i++ { var p uintptr = Xsqlite3VectorFieldSubexpr(tls, pRight, i) @@ -128773,7 +128793,7 @@ func updateRangeAffinityStr(tls *libc.TLS, pRight uintptr, n int32, zAff uintptr // The reduced pX is different from the original (obviously) and thus is // only used for indexing, to improve performance. The original unaltered // IN expression must also be run on each output row for correctness. -func removeUnindexableInClauseTerms(tls *libc.TLS, pParse uintptr, iEq int32, pLoop uintptr, pX uintptr) uintptr { /* sqlite3.c:147895:13: */ +func removeUnindexableInClauseTerms(tls *libc.TLS, pParse uintptr, iEq int32, pLoop uintptr, pX uintptr) uintptr { /* sqlite3.c:147909:13: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb var pNew uintptr pNew = Xsqlite3ExprDup(tls, db, pX, 0) @@ -128848,7 +128868,7 @@ func removeUnindexableInClauseTerms(tls *libc.TLS, pParse uintptr, iEq int32, pL // For a constraint of the form X=expr, the expression is evaluated in // straight-line code. For constraints of the form X IN (...) // this routine sets up a loop that will iterate over all values of X. -func codeEqualityTerm(tls *libc.TLS, pParse uintptr, pTerm uintptr, pLevel uintptr, iEq int32, bRev int32, iTarget int32) int32 { /* sqlite3.c:147984:12: */ +func codeEqualityTerm(tls *libc.TLS, pParse uintptr, pTerm uintptr, pLevel uintptr, iEq int32, bRev int32, iTarget int32) int32 { /* sqlite3.c:147998:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -129041,7 +129061,7 @@ func codeEqualityTerm(tls *libc.TLS, pParse uintptr, pTerm uintptr, pLevel uintp // no conversion should be attempted before using a t2.b value as part of // a key to search the index. Hence the first byte in the returned affinity // string in this example would be set to SQLITE_AFF_BLOB. -func codeAllEqualityTerms(tls *libc.TLS, pParse uintptr, pLevel uintptr, bRev int32, nExtraReg int32, pzAff uintptr) int32 { /* sqlite3.c:148180:12: */ +func codeAllEqualityTerms(tls *libc.TLS, pParse uintptr, pLevel uintptr, bRev int32, nExtraReg int32, pzAff uintptr) int32 { /* sqlite3.c:148194:12: */ var nEq U16 // The number of == or IN constraints to code var nSkip U16 // Number of left-most columns to skip var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe // The vm under construction @@ -129162,7 +129182,7 @@ func codeAllEqualityTerms(tls *libc.TLS, pParse uintptr, pLevel uintptr, bRev in // on. For each table column, if the column is the i'th column of the // index, then the corresponding array entry is set to (i+1). If the column // does not appear in the index at all, the array entry is set to 0. -func codeDeferredSeek(tls *libc.TLS, pWInfo uintptr, pIdx uintptr, iCur int32, iIdxCur int32) { /* sqlite3.c:148558:13: */ +func codeDeferredSeek(tls *libc.TLS, pWInfo uintptr, pIdx uintptr, iCur int32, iIdxCur int32) { /* sqlite3.c:148572:13: */ var pParse uintptr = (*WhereInfo)(unsafe.Pointer(pWInfo)).FpParse // Parse context var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe // Vdbe to generate code within @@ -129203,7 +129223,7 @@ func codeDeferredSeek(tls *libc.TLS, pWInfo uintptr, pIdx uintptr, iCur int32, i // If the expression is not a vector, then nReg must be passed 1. In // this case, generate code to evaluate the expression and leave the // result in register iReg. -func codeExprOrVector(tls *libc.TLS, pParse uintptr, p uintptr, iReg int32, nReg int32) { /* sqlite3.c:148602:13: */ +func codeExprOrVector(tls *libc.TLS, pParse uintptr, p uintptr, iReg int32, nReg int32) { /* sqlite3.c:148616:13: */ if p != 0 && Xsqlite3ExprIsVector(tls, p) != 0 { if (*Expr)(unsafe.Pointer(p)).Fflags&U32(EP_xIsSelect) != U32(0) { @@ -129231,10 +129251,10 @@ func codeExprOrVector(tls *libc.TLS, pParse uintptr, p uintptr, iReg int32, nReg // An instance of the IdxExprTrans object carries information about a // mapping from an expression on table columns into a column in an index // down through the Walker. -type IdxExprTrans = IdxExprTrans1 /* sqlite3.c:148642:3 */ +type IdxExprTrans = IdxExprTrans1 /* sqlite3.c:148656:3 */ // Preserve pExpr on the WhereETrans list of the WhereInfo. -func preserveExpr(tls *libc.TLS, pTrans uintptr, pExpr uintptr) { /* sqlite3.c:148647:13: */ +func preserveExpr(tls *libc.TLS, pTrans uintptr, pExpr uintptr) { /* sqlite3.c:148661:13: */ var pNew uintptr pNew = Xsqlite3DbMallocRaw(tls, (*IdxExprTrans)(unsafe.Pointer(pTrans)).Fdb, uint64(unsafe.Sizeof(WhereExprMod{}))) if pNew == uintptr(0) { @@ -129251,7 +129271,7 @@ func preserveExpr(tls *libc.TLS, pTrans uintptr, pExpr uintptr) { /* sqlite3.c:1 // // If pExpr matches, then transform it into a reference to the index column // that contains the value of pExpr. -func whereIndexExprTransNode(tls *libc.TLS, p uintptr, pExpr uintptr) int32 { /* sqlite3.c:148663:12: */ +func whereIndexExprTransNode(tls *libc.TLS, p uintptr, pExpr uintptr) int32 { /* sqlite3.c:148677:12: */ var pX uintptr = *(*uintptr)(unsafe.Pointer(p + 40)) if Xsqlite3ExprCompare(tls, uintptr(0), pExpr, (*IdxExprTrans)(unsafe.Pointer(pX)).FpIdxExpr, (*IdxExprTrans)(unsafe.Pointer(pX)).FiTabCur) == 0 { preserveExpr(tls, pX, pExpr) @@ -129271,7 +129291,7 @@ func whereIndexExprTransNode(tls *libc.TLS, p uintptr, pExpr uintptr) int32 { /* // A walker node callback that translates a column reference to a table // into a corresponding column reference of an index. -func whereIndexExprTransColumn(tls *libc.TLS, p uintptr, pExpr uintptr) int32 { /* sqlite3.c:148685:12: */ +func whereIndexExprTransColumn(tls *libc.TLS, p uintptr, pExpr uintptr) int32 { /* sqlite3.c:148699:12: */ if int32((*Expr)(unsafe.Pointer(pExpr)).Fop) == TK_COLUMN { var pX uintptr = *(*uintptr)(unsafe.Pointer(p + 40)) if (*Expr)(unsafe.Pointer(pExpr)).FiTable == (*IdxExprTrans)(unsafe.Pointer(pX)).FiTabCur && int32((*Expr)(unsafe.Pointer(pExpr)).FiColumn) == (*IdxExprTrans)(unsafe.Pointer(pX)).FiTabCol { @@ -129293,7 +129313,7 @@ func whereIndexExprTransColumn(tls *libc.TLS, p uintptr, pExpr uintptr) int32 { // 2019-10-24: Updated to also translate references to a VIRTUAL column in // the table into references to the corresponding (stored) column of the // index. -func whereIndexExprTrans(tls *libc.TLS, pIdx uintptr, iTabCur int32, iIdxCur int32, pWInfo uintptr) { /* sqlite3.c:148710:13: */ +func whereIndexExprTrans(tls *libc.TLS, pIdx uintptr, iTabCur int32, iIdxCur int32, pWInfo uintptr) { /* sqlite3.c:148724:13: */ bp := tls.Alloc(88) defer tls.Free(88) @@ -129358,7 +129378,7 @@ func whereIndexExprTrans(tls *libc.TLS, pIdx uintptr, iTabCur int32, iIdxCur int // WHERE clause terms on the query, and if any of those terms must be // true because pTruth is true, then mark those WHERE clause terms as // coded. -func whereApplyPartialIndexConstraints(tls *libc.TLS, pTruth uintptr, iTabCur int32, pWC uintptr) { /* sqlite3.c:148774:13: */ +func whereApplyPartialIndexConstraints(tls *libc.TLS, pTruth uintptr, iTabCur int32, pWC uintptr) { /* sqlite3.c:148788:13: */ var i int32 var pTerm uintptr for int32((*Expr)(unsafe.Pointer(pTruth)).Fop) == TK_AND { @@ -129404,7 +129424,7 @@ __3: // WhereLevel.regFilter set. If an inner-loop Bloom filter is checked, // then clear the WhereLevel.regFilter value to prevent the Bloom filter // from being checked a second time when the inner loop is evaluated. -func filterPullDown(tls *libc.TLS, pParse uintptr, pWInfo uintptr, iLevel int32, addrNxt int32, notReady Bitmask) { /* sqlite3.c:148810:29: */ +func filterPullDown(tls *libc.TLS, pParse uintptr, pWInfo uintptr, iLevel int32, addrNxt int32, notReady Bitmask) { /* sqlite3.c:148824:29: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -129449,7 +129469,7 @@ func filterPullDown(tls *libc.TLS, pParse uintptr, pWInfo uintptr, iLevel int32, // Generate code for the start of the iLevel-th loop in the WHERE clause // implementation described by pWInfo. -func Xsqlite3WhereCodeOneLoopStart(tls *libc.TLS, pParse uintptr, v uintptr, pWInfo uintptr, iLevel int32, pLevel uintptr, notReady Bitmask) Bitmask { /* sqlite3.c:148858:24: */ +func Xsqlite3WhereCodeOneLoopStart(tls *libc.TLS, pParse uintptr, v uintptr, pWInfo uintptr, iLevel int32, pLevel uintptr, notReady Bitmask) Bitmask { /* sqlite3.c:148872:24: */ bp := tls.Alloc(96) defer tls.Free(96) @@ -130679,24 +130699,24 @@ var aStartOp = [8]U8{ U8(OP_SeekLT), // 5: (start_constraints && !startEq && bRev) U8(OP_SeekGE), // 6: (start_constraints && startEq && !bRev) U8(OP_SeekLE), // 7: (start_constraints && startEq && bRev) -} /* sqlite3.c:149238:21 */ +} /* sqlite3.c:149252:21 */ var aEndOp = [4]U8{ U8(OP_IdxGE), // 0: (end_constraints && !bRev && !endEq) U8(OP_IdxGT), // 1: (end_constraints && !bRev && endEq) U8(OP_IdxLE), // 2: (end_constraints && bRev && !endEq) U8(OP_IdxLT), // 3: (end_constraints && bRev && endEq) -} /* sqlite3.c:149248:21 */ -var aStep = [2]U8{U8(OP_Next), U8(OP_Prev)} /* sqlite3.c:149966:21 */ -var aStart = [2]U8{U8(OP_Rewind), U8(OP_Last)} /* sqlite3.c:149967:21 */ +} /* sqlite3.c:149262:21 */ +var aStep = [2]U8{U8(OP_Next), U8(OP_Prev)} /* sqlite3.c:149980:21 */ +var aStart = [2]U8{U8(OP_Rewind), U8(OP_Last)} /* sqlite3.c:149981:21 */ // Deallocate all memory associated with a WhereOrInfo object. -func whereOrInfoDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:150176:13: */ +func whereOrInfoDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:150190:13: */ Xsqlite3WhereClauseClear(tls, p) Xsqlite3DbFree(tls, db, p) } // Deallocate all memory associated with a WhereAndInfo object. -func whereAndInfoDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:150184:13: */ +func whereAndInfoDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:150198:13: */ Xsqlite3WhereClauseClear(tls, p) Xsqlite3DbFree(tls, db, p) } @@ -130718,7 +130738,7 @@ func whereAndInfoDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:150 // WhereTerms. All pointers to WhereTerms should be invalidated after // calling this routine. Such pointers may be reinitialized by referencing // the pWC->a[] array. -func whereClauseInsert(tls *libc.TLS, pWC uintptr, p uintptr, wtFlags U16) int32 { /* sqlite3.c:150208:12: */ +func whereClauseInsert(tls *libc.TLS, pWC uintptr, p uintptr, wtFlags U16) int32 { /* sqlite3.c:150222:12: */ var pTerm uintptr var idx int32 @@ -130760,14 +130780,14 @@ func whereClauseInsert(tls *libc.TLS, pWC uintptr, p uintptr, wtFlags U16) int32 // Return TRUE if the given operator is one of the operators that is // allowed for an indexable WHERE clause term. The allowed operators are // "=", "<", ">", "<=", ">=", "IN", "IS", and "IS NULL" -func allowedOp(tls *libc.TLS, op int32) int32 { /* sqlite3.c:150250:12: */ +func allowedOp(tls *libc.TLS, op int32) int32 { /* sqlite3.c:150264:12: */ return libc.Bool32(op == TK_IN || op >= TK_EQ && op <= TK_GE || op == TK_ISNULL || op == TK_IS) } // Commute a comparison operator. Expressions of the form "X op Y" // are converted into "Y op X". -func exprCommute(tls *libc.TLS, pParse uintptr, pExpr uintptr) U16 { /* sqlite3.c:150262:12: */ +func exprCommute(tls *libc.TLS, pParse uintptr, pExpr uintptr) U16 { /* sqlite3.c:150276:12: */ if int32((*Expr)(unsafe.Pointer((*Expr)(unsafe.Pointer(pExpr)).FpLeft)).Fop) == TK_VECTOR || int32((*Expr)(unsafe.Pointer((*Expr)(unsafe.Pointer(pExpr)).FpRight)).Fop) == TK_VECTOR || Xsqlite3BinaryCompareCollSeq(tls, pParse, (*Expr)(unsafe.Pointer(pExpr)).FpLeft, (*Expr)(unsafe.Pointer(pExpr)).FpRight) != Xsqlite3BinaryCompareCollSeq(tls, pParse, (*Expr)(unsafe.Pointer(pExpr)).FpRight, (*Expr)(unsafe.Pointer(pExpr)).FpLeft) { @@ -130787,7 +130807,7 @@ func exprCommute(tls *libc.TLS, pParse uintptr, pExpr uintptr) U16 { /* sqlite3. } // Translate from TK_xx operator to WO_xx bitmask. -func operatorMask(tls *libc.TLS, op int32) U16 { /* sqlite3.c:150285:12: */ +func operatorMask(tls *libc.TLS, op int32) U16 { /* sqlite3.c:150299:12: */ var c U16 if op == TK_IN { @@ -130814,7 +130834,7 @@ func operatorMask(tls *libc.TLS, op int32) U16 { /* sqlite3.c:150285:12: */ // that virtual tables cannot participate in the LIKE optimization.) The // collating sequence for the column on the LHS must be appropriate for // the operator. -func isLikeOrGlob(tls *libc.TLS, pParse uintptr, pExpr uintptr, ppPrefix uintptr, pisComplete uintptr, pnoCase uintptr) int32 { /* sqlite3.c:150323:12: */ +func isLikeOrGlob(tls *libc.TLS, pParse uintptr, pExpr uintptr, ppPrefix uintptr, pisComplete uintptr, pnoCase uintptr) int32 { /* sqlite3.c:150337:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -130986,7 +131006,7 @@ func isLikeOrGlob(tls *libc.TLS, pParse uintptr, pExpr uintptr, ppPrefix uintptr // of virtual table in forms (5) or (7) then return 2. // // If the expression matches none of the patterns above, return 0. -func isAuxiliaryVtabOperator(tls *libc.TLS, db uintptr, pExpr uintptr, peOp2 uintptr, ppLeft uintptr, ppRight uintptr) int32 { /* sqlite3.c:150502:12: */ +func isAuxiliaryVtabOperator(tls *libc.TLS, db uintptr, pExpr uintptr, peOp2 uintptr, ppLeft uintptr, ppRight uintptr) int32 { /* sqlite3.c:150516:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -131091,18 +131111,18 @@ type Op2 = struct { FzOp uintptr FeOp2 uint8 F__ccgo_pad1 [7]byte -} /* sqlite3.c:150510:18 */ +} /* sqlite3.c:150524:18 */ var aOp = [4]Op2{ {FzOp: ts + 16016, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_MATCH)}, {FzOp: ts + 15338, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_GLOB)}, {FzOp: ts + 14864, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_LIKE)}, {FzOp: ts + 21639, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_REGEXP)}, -} /* sqlite3.c:150513:7 */ +} /* sqlite3.c:150527:7 */ // If the pBase expression originated in the ON or USING clause of // a join, then transfer the appropriate markings over to derived. -func transferJoinMarkings(tls *libc.TLS, pDerived uintptr, pBase uintptr) { /* sqlite3.c:150614:13: */ +func transferJoinMarkings(tls *libc.TLS, pDerived uintptr, pBase uintptr) { /* sqlite3.c:150628:13: */ if pDerived != 0 { *(*U32)(unsafe.Pointer(pDerived + 4)) |= (*Expr)(unsafe.Pointer(pBase)).Fflags & U32(EP_FromJoin) *(*int32)(unsafe.Pointer(pDerived + 52)) = *(*int32)(unsafe.Pointer(pBase + 52)) @@ -131110,7 +131130,7 @@ func transferJoinMarkings(tls *libc.TLS, pDerived uintptr, pBase uintptr) { /* s } // Mark term iChild as being a child of term iParent -func markTermAsChild(tls *libc.TLS, pWC uintptr, iChild int32, iParent int32) { /* sqlite3.c:150624:13: */ +func markTermAsChild(tls *libc.TLS, pWC uintptr, iChild int32, iParent int32) { /* sqlite3.c:150638:13: */ (*WhereTerm)(unsafe.Pointer((*WhereClause)(unsafe.Pointer(pWC)).Fa + uintptr(iChild)*56)).FiParent = iParent (*WhereTerm)(unsafe.Pointer((*WhereClause)(unsafe.Pointer(pWC)).Fa + uintptr(iChild)*56)).FtruthProb = (*WhereTerm)(unsafe.Pointer((*WhereClause)(unsafe.Pointer(pWC)).Fa + uintptr(iParent)*56)).FtruthProb (*WhereTerm)(unsafe.Pointer((*WhereClause)(unsafe.Pointer(pWC)).Fa+uintptr(iParent)*56)).FnChild++ @@ -131119,7 +131139,7 @@ func markTermAsChild(tls *libc.TLS, pWC uintptr, iChild int32, iParent int32) { // Return the N-th AND-connected subterm of pTerm. Or if pTerm is not // a conjunction, then return just pTerm when N==0. If N is exceeds // the number of available subterms, return NULL. -func whereNthSubterm(tls *libc.TLS, pTerm uintptr, N int32) uintptr { /* sqlite3.c:150635:18: */ +func whereNthSubterm(tls *libc.TLS, pTerm uintptr, N int32) uintptr { /* sqlite3.c:150649:18: */ if int32((*WhereTerm)(unsafe.Pointer(pTerm)).FeOperator) != WO_AND { if N == 0 { return pTerm @@ -131150,7 +131170,7 @@ func whereNthSubterm(tls *libc.TLS, pTerm uintptr, N int32) uintptr { /* sqlite3 // The following is NOT generated: // // xy --> x!=y -func whereCombineDisjuncts(tls *libc.TLS, pSrc uintptr, pWC uintptr, pOne uintptr, pTwo uintptr) { /* sqlite3.c:150665:13: */ +func whereCombineDisjuncts(tls *libc.TLS, pSrc uintptr, pWC uintptr, pOne uintptr, pTwo uintptr) { /* sqlite3.c:150679:13: */ var eOp U16 = U16(int32((*WhereTerm)(unsafe.Pointer(pOne)).FeOperator) | int32((*WhereTerm)(unsafe.Pointer(pTwo)).FeOperator)) var db uintptr // Database connection (for malloc) var pNew uintptr // New virtual expression @@ -131283,7 +131303,7 @@ func whereCombineDisjuncts(tls *libc.TLS, pSrc uintptr, pWC uintptr, pOne uintpt // // If none of cases 1, 2, or 3 apply, then leave the eOperator set to // zero. This term is not useful for search. -func exprAnalyzeOrTerm(tls *libc.TLS, pSrc uintptr, pWC uintptr, idxTerm int32) { /* sqlite3.c:150792:13: */ +func exprAnalyzeOrTerm(tls *libc.TLS, pSrc uintptr, pWC uintptr, idxTerm int32) { /* sqlite3.c:150806:13: */ var pWInfo uintptr = (*WhereClause)(unsafe.Pointer(pWC)).FpWInfo // WHERE clause processing context var pParse uintptr = (*WhereInfo)(unsafe.Pointer(pWInfo)).FpParse // Parser context var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb // Database connection @@ -131602,7 +131622,7 @@ __3: // for the LHS anyplace else in the WHERE clause where the LHS column occurs. // This is an optimization. No harm comes from returning 0. But if 1 is // returned when it should not be, then incorrect answers might result. -func termIsEquivalence(tls *libc.TLS, pParse uintptr, pExpr uintptr) int32 { /* sqlite3.c:151066:12: */ +func termIsEquivalence(tls *libc.TLS, pParse uintptr, pExpr uintptr) int32 { /* sqlite3.c:151080:12: */ var aff1 int8 var aff2 int8 var pColl uintptr @@ -131631,7 +131651,7 @@ func termIsEquivalence(tls *libc.TLS, pParse uintptr, pExpr uintptr) int32 { /* // Recursively walk the expressions of a SELECT statement and generate // a bitmask indicating which tables are used in that expression // tree. -func exprSelectUsage(tls *libc.TLS, pMaskSet uintptr, pS uintptr) Bitmask { /* sqlite3.c:151089:16: */ +func exprSelectUsage(tls *libc.TLS, pMaskSet uintptr, pS uintptr) Bitmask { /* sqlite3.c:151103:16: */ var mask Bitmask = uint64(0) for pS != 0 { var pSrc uintptr = (*Select)(unsafe.Pointer(pS)).FpSrc @@ -131666,7 +131686,7 @@ func exprSelectUsage(tls *libc.TLS, pMaskSet uintptr, pS uintptr) Bitmask { /* s // If pExpr is a TK_COLUMN column reference, then this routine always returns // true even if that particular column is not indexed, because the column // might be added to an automatic index later. -func exprMightBeIndexed2(tls *libc.TLS, pFrom uintptr, mPrereq Bitmask, aiCurCol uintptr, pExpr uintptr) int32 { /* sqlite3.c:151126:28: */ +func exprMightBeIndexed2(tls *libc.TLS, pFrom uintptr, mPrereq Bitmask, aiCurCol uintptr, pExpr uintptr) int32 { /* sqlite3.c:151140:28: */ var pIdx uintptr var i int32 var iCur int32 @@ -131704,7 +131724,7 @@ __3: return 0 } -func exprMightBeIndexed(tls *libc.TLS, pFrom uintptr, mPrereq Bitmask, aiCurCol uintptr, pExpr uintptr, op int32) int32 { /* sqlite3.c:151150:12: */ +func exprMightBeIndexed(tls *libc.TLS, pFrom uintptr, mPrereq Bitmask, aiCurCol uintptr, pExpr uintptr, op int32) int32 { /* sqlite3.c:151164:12: */ // If this expression is a vector to the left or right of a // inequality constraint (>, <, >= or <=), perform the processing // on the first element of the vector. @@ -131745,7 +131765,7 @@ func exprMightBeIndexed(tls *libc.TLS, pFrom uintptr, mPrereq Bitmask, aiCurCol // needs to be freed with the WhereClause) and TERM_VIRTUAL (because it // is a commuted copy of a prior term.) The original term has nChild=1 // and the copy has idxParent set to the index of the original term. -func exprAnalyze(tls *libc.TLS, pSrc uintptr, pWC uintptr, idxTerm int32) { /* sqlite3.c:151198:13: */ +func exprAnalyze(tls *libc.TLS, pSrc uintptr, pWC uintptr, idxTerm int32) { /* sqlite3.c:151212:13: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -132113,7 +132133,7 @@ func exprAnalyze(tls *libc.TLS, pSrc uintptr, pWC uintptr, idxTerm int32) { /* s *(*Bitmask)(unsafe.Pointer(pTerm + 40)) |= extraRight } -var ops = [2]U8{U8(TK_GE), U8(TK_LE)} /* sqlite3.c:151367:21 */ +var ops = [2]U8{U8(TK_GE), U8(TK_LE)} /* sqlite3.c:151381:21 */ // ************************************************************************** // @@ -132136,7 +132156,7 @@ var ops = [2]U8{U8(TK_GE), U8(TK_LE)} /* sqlite3.c:151367:21 */ // In the previous sentence and in the diagram, "slot[]" refers to // the WhereClause.a[] array. The slot[] array grows as needed to contain // all terms of the WHERE clause. -func Xsqlite3WhereSplit(tls *libc.TLS, pWC uintptr, pExpr uintptr, op U8) { /* sqlite3.c:151663:21: */ +func Xsqlite3WhereSplit(tls *libc.TLS, pWC uintptr, pExpr uintptr, op U8) { /* sqlite3.c:151677:21: */ var pE2 uintptr = Xsqlite3ExprSkipCollateAndLikely(tls, pExpr) (*WhereClause)(unsafe.Pointer(pWC)).Fop = op @@ -132160,7 +132180,7 @@ func Xsqlite3WhereSplit(tls *libc.TLS, pWC uintptr, pExpr uintptr, op U8) { /* s // (example: "LIMIT 5 OFFSET 10") then the expression codes as a // TK_INTEGER so that it will be available to sqlite3_vtab_rhs_value(). // If not, then it codes as a TK_REGISTER expression. -func whereAddLimitExpr(tls *libc.TLS, pWC uintptr, iReg int32, pExpr uintptr, iCsr int32, eMatchOp int32) { /* sqlite3.c:151687:13: */ +func whereAddLimitExpr(tls *libc.TLS, pWC uintptr, iReg int32, pExpr uintptr, iCsr int32, eMatchOp int32) { /* sqlite3.c:151701:13: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -132212,7 +132232,7 @@ func whereAddLimitExpr(tls *libc.TLS, pWC uintptr, iReg int32, pExpr uintptr, iC // LIMIT and OFFSET terms are ignored by most of the planner code. They // exist only so that they may be passed to the xBestIndex method of the // single virtual table in the FROM clause of the SELECT. -func Xsqlite3WhereAddLimit(tls *libc.TLS, pWC uintptr, p uintptr) { /* sqlite3.c:151740:21: */ +func Xsqlite3WhereAddLimit(tls *libc.TLS, pWC uintptr, p uintptr) { /* sqlite3.c:151754:21: */ if p != 0 && (*Select)(unsafe.Pointer(p)).FpLimit != 0 && (*Select)(unsafe.Pointer(p)).FselFlags&U32(SF_Distinct|SF_Aggregate) == U32(0) && @@ -132262,7 +132282,7 @@ func Xsqlite3WhereAddLimit(tls *libc.TLS, pWC uintptr, p uintptr) { /* sqlite3.c } // Initialize a preallocated WhereClause structure. -func Xsqlite3WhereClauseInit(tls *libc.TLS, pWC uintptr, pWInfo uintptr) { /* sqlite3.c:151786:21: */ +func Xsqlite3WhereClauseInit(tls *libc.TLS, pWC uintptr, pWInfo uintptr) { /* sqlite3.c:151800:21: */ (*WhereClause)(unsafe.Pointer(pWC)).FpWInfo = pWInfo (*WhereClause)(unsafe.Pointer(pWC)).FhasOr = U8(0) (*WhereClause)(unsafe.Pointer(pWC)).FpOuter = uintptr(0) @@ -132275,7 +132295,7 @@ func Xsqlite3WhereClauseInit(tls *libc.TLS, pWC uintptr, pWInfo uintptr) { /* sq // Deallocate a WhereClause structure. The WhereClause structure // itself is not freed. This routine is the inverse of // sqlite3WhereClauseInit(). -func Xsqlite3WhereClauseClear(tls *libc.TLS, pWC uintptr) { /* sqlite3.c:151804:21: */ +func Xsqlite3WhereClauseClear(tls *libc.TLS, pWC uintptr) { /* sqlite3.c:151818:21: */ var db uintptr = (*Parse)(unsafe.Pointer((*WhereInfo)(unsafe.Pointer((*WhereClause)(unsafe.Pointer(pWC)).FpWInfo)).FpParse)).Fdb if (*WhereClause)(unsafe.Pointer(pWC)).FnTerm > 0 { @@ -132335,7 +132355,7 @@ func Xsqlite3WhereClauseClear(tls *libc.TLS, pWC uintptr) { /* sqlite3.c:151804: // computations done by this routine are broken out into a separate // "no-inline" function to avoid the stack push overhead in the // common case where it is not needed. -func sqlite3WhereExprUsageFull(tls *libc.TLS, pMaskSet uintptr, p uintptr) Bitmask { /* sqlite3.c:151872:32: */ +func sqlite3WhereExprUsageFull(tls *libc.TLS, pMaskSet uintptr, p uintptr) Bitmask { /* sqlite3.c:151886:32: */ var mask Bitmask if int32((*Expr)(unsafe.Pointer(p)).Fop) == TK_IF_NULL_ROW { mask = Xsqlite3WhereGetMask(tls, pMaskSet, (*Expr)(unsafe.Pointer(p)).FiTable) @@ -132365,7 +132385,7 @@ func sqlite3WhereExprUsageFull(tls *libc.TLS, pMaskSet uintptr, p uintptr) Bitma return mask } -func Xsqlite3WhereExprUsageNN(tls *libc.TLS, pMaskSet uintptr, p uintptr) Bitmask { /* sqlite3.c:151898:24: */ +func Xsqlite3WhereExprUsageNN(tls *libc.TLS, pMaskSet uintptr, p uintptr) Bitmask { /* sqlite3.c:151912:24: */ if int32((*Expr)(unsafe.Pointer(p)).Fop) == TK_COLUMN && !((*Expr)(unsafe.Pointer(p)).Fflags&U32(EP_FixedCol) != U32(0)) { return Xsqlite3WhereGetMask(tls, pMaskSet, (*Expr)(unsafe.Pointer(p)).FiTable) } else if (*Expr)(unsafe.Pointer(p)).Fflags&U32(EP_TokenOnly|EP_Leaf) != U32(0) { @@ -132375,14 +132395,14 @@ func Xsqlite3WhereExprUsageNN(tls *libc.TLS, pMaskSet uintptr, p uintptr) Bitmas return sqlite3WhereExprUsageFull(tls, pMaskSet, p) } -func Xsqlite3WhereExprUsage(tls *libc.TLS, pMaskSet uintptr, p uintptr) Bitmask { /* sqlite3.c:151907:24: */ +func Xsqlite3WhereExprUsage(tls *libc.TLS, pMaskSet uintptr, p uintptr) Bitmask { /* sqlite3.c:151921:24: */ if p != 0 { return Xsqlite3WhereExprUsageNN(tls, pMaskSet, p) } return uint64(0) } -func Xsqlite3WhereExprListUsage(tls *libc.TLS, pMaskSet uintptr, pList uintptr) Bitmask { /* sqlite3.c:151910:24: */ +func Xsqlite3WhereExprListUsage(tls *libc.TLS, pMaskSet uintptr, pList uintptr) Bitmask { /* sqlite3.c:151924:24: */ var i int32 var mask Bitmask = uint64(0) if pList != 0 { @@ -132399,7 +132419,7 @@ func Xsqlite3WhereExprListUsage(tls *libc.TLS, pMaskSet uintptr, pList uintptr) // end of the WHERE clause. We do not want to analyze these new // virtual terms, so start analyzing at the end and work forward // so that the added virtual terms are never processed. -func Xsqlite3WhereExprAnalyze(tls *libc.TLS, pTabList uintptr, pWC uintptr) { /* sqlite3.c:151930:21: */ +func Xsqlite3WhereExprAnalyze(tls *libc.TLS, pTabList uintptr, pWC uintptr) { /* sqlite3.c:151944:21: */ var i int32 for i = (*WhereClause)(unsafe.Pointer(pWC)).FnTerm - 1; i >= 0; i-- { exprAnalyze(tls, pTabList, pWC, i) @@ -132411,7 +132431,7 @@ func Xsqlite3WhereExprAnalyze(tls *libc.TLS, pTabList uintptr, pWC uintptr) { /* // // Each function argument translates into an equality constraint against // a HIDDEN column in the table. -func Xsqlite3WhereTabFuncArgs(tls *libc.TLS, pParse uintptr, pItem uintptr, pWC uintptr) { /* sqlite3.c:151947:21: */ +func Xsqlite3WhereTabFuncArgs(tls *libc.TLS, pParse uintptr, pItem uintptr, pWC uintptr) { /* sqlite3.c:151961:21: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -132495,7 +132515,7 @@ type HiddenIndexInfo1 = struct { FmHandleIn U32 F__ccgo_pad1 [4]byte FaRhs [1]uintptr -} /* sqlite3.c:152019:9 */ +} /* sqlite3.c:152033:9 */ //************* End of whereexpr.c ****************************************** //************* Begin file where.c ****************************************** @@ -132525,16 +132545,16 @@ type HiddenIndexInfo1 = struct { // This object is not an API and can be changed from one release to the // next. As long as allocateIndexInfo() and sqlite3_vtab_collation() // agree on the structure, all will be well. -type HiddenIndexInfo = HiddenIndexInfo1 /* sqlite3.c:152019:32 */ +type HiddenIndexInfo = HiddenIndexInfo1 /* sqlite3.c:152033:32 */ // Return the estimated number of output rows from a WHERE clause -func Xsqlite3WhereOutputRowCount(tls *libc.TLS, pWInfo uintptr) LogEst { /* sqlite3.c:152037:23: */ +func Xsqlite3WhereOutputRowCount(tls *libc.TLS, pWInfo uintptr) LogEst { /* sqlite3.c:152051:23: */ return (*WhereInfo)(unsafe.Pointer(pWInfo)).FnRowOut } // Return one of the WHERE_DISTINCT_xxxxx values to indicate how this // WHERE clause returns outputs for DISTINCT processing. -func Xsqlite3WhereIsDistinct(tls *libc.TLS, pWInfo uintptr) int32 { /* sqlite3.c:152045:20: */ +func Xsqlite3WhereIsDistinct(tls *libc.TLS, pWInfo uintptr) int32 { /* sqlite3.c:152059:20: */ return int32((*WhereInfo)(unsafe.Pointer(pWInfo)).FeDistinct) } @@ -132544,7 +132564,7 @@ func Xsqlite3WhereIsDistinct(tls *libc.TLS, pWInfo uintptr) int32 { /* sqlite3.c // terms means that no sorting is needed at all. A return that // is positive but less than the number of ORDER BY terms means that // block sorting is required. -func Xsqlite3WhereIsOrdered(tls *libc.TLS, pWInfo uintptr) int32 { /* sqlite3.c:152057:20: */ +func Xsqlite3WhereIsOrdered(tls *libc.TLS, pWInfo uintptr) int32 { /* sqlite3.c:152071:20: */ return int32((*WhereInfo)(unsafe.Pointer(pWInfo)).FnOBSat) } @@ -132569,7 +132589,7 @@ func Xsqlite3WhereIsOrdered(tls *libc.TLS, pWInfo uintptr) int32 { /* sqlite3.c: // Returning the continuation the second inner loop is an optimization // that might make the code run a little faster, but should not change // the final answer. -func Xsqlite3WhereOrderByLimitOptLabel(tls *libc.TLS, pWInfo uintptr) int32 { /* sqlite3.c:152084:20: */ +func Xsqlite3WhereOrderByLimitOptLabel(tls *libc.TLS, pWInfo uintptr) int32 { /* sqlite3.c:152098:20: */ var pInner uintptr if !(int32(*(*uint8)(unsafe.Pointer(pWInfo + 76))&0x4>>2) != 0) { // The ORDER BY LIMIT optimization does not apply. Jump to the @@ -132590,7 +132610,7 @@ func Xsqlite3WhereOrderByLimitOptLabel(tls *libc.TLS, pWInfo uintptr) int32 { /* // Any extra OP_Goto that is coded here is an optimization. The // correct answer should be obtained regardless. This OP_Goto just // makes the answer appear faster. -func Xsqlite3WhereMinMaxOptEarlyOut(tls *libc.TLS, v uintptr, pWInfo uintptr) { /* sqlite3.c:152107:21: */ +func Xsqlite3WhereMinMaxOptEarlyOut(tls *libc.TLS, v uintptr, pWInfo uintptr) { /* sqlite3.c:152121:21: */ var pInner uintptr var i int32 if !(int32(*(*uint8)(unsafe.Pointer(pWInfo + 76))&0x4>>2) != 0) { @@ -132611,14 +132631,14 @@ func Xsqlite3WhereMinMaxOptEarlyOut(tls *libc.TLS, v uintptr, pWInfo uintptr) { // Return the VDBE address or label to jump to in order to continue // immediately with the next row of a WHERE clause. -func Xsqlite3WhereContinueLabel(tls *libc.TLS, pWInfo uintptr) int32 { /* sqlite3.c:152126:20: */ +func Xsqlite3WhereContinueLabel(tls *libc.TLS, pWInfo uintptr) int32 { /* sqlite3.c:152140:20: */ return (*WhereInfo)(unsafe.Pointer(pWInfo)).FiContinue } // Return the VDBE address or label to jump to in order to break // out of a WHERE loop. -func Xsqlite3WhereBreakLabel(tls *libc.TLS, pWInfo uintptr) int32 { /* sqlite3.c:152135:20: */ +func Xsqlite3WhereBreakLabel(tls *libc.TLS, pWInfo uintptr) int32 { /* sqlite3.c:152149:20: */ return (*WhereInfo)(unsafe.Pointer(pWInfo)).FiBreak } @@ -132637,19 +132657,19 @@ func Xsqlite3WhereBreakLabel(tls *libc.TLS, pWInfo uintptr) int32 { /* sqlite3.c // // aiCur[0] and aiCur[1] both get -1 if the where-clause logic is // unable to use the ONEPASS optimization. -func Xsqlite3WhereOkOnePass(tls *libc.TLS, pWInfo uintptr, aiCur uintptr) int32 { /* sqlite3.c:152156:20: */ +func Xsqlite3WhereOkOnePass(tls *libc.TLS, pWInfo uintptr, aiCur uintptr) int32 { /* sqlite3.c:152170:20: */ libc.Xmemcpy(tls, aiCur, pWInfo+48, uint64(unsafe.Sizeof(int32(0)))*uint64(2)) return int32((*WhereInfo)(unsafe.Pointer(pWInfo)).FeOnePass) } // Return TRUE if the WHERE loop uses the OP_DeferredSeek opcode to move // the data cursor to the row selected by the index cursor. -func Xsqlite3WhereUsesDeferredSeek(tls *libc.TLS, pWInfo uintptr) int32 { /* sqlite3.c:152172:20: */ +func Xsqlite3WhereUsesDeferredSeek(tls *libc.TLS, pWInfo uintptr) int32 { /* sqlite3.c:152186:20: */ return int32(*(*uint8)(unsafe.Pointer(pWInfo + 76)) & 0x1 >> 0) } // Move the content of pSrc into pDest -func whereOrMove(tls *libc.TLS, pDest uintptr, pSrc uintptr) { /* sqlite3.c:152179:13: */ +func whereOrMove(tls *libc.TLS, pDest uintptr, pSrc uintptr) { /* sqlite3.c:152193:13: */ (*WhereOrSet)(unsafe.Pointer(pDest)).Fn = (*WhereOrSet)(unsafe.Pointer(pSrc)).Fn libc.Xmemcpy(tls, pDest+8, pSrc+8, uint64((*WhereOrSet)(unsafe.Pointer(pDest)).Fn)*uint64(unsafe.Sizeof(WhereOrCost{}))) } @@ -132659,7 +132679,7 @@ func whereOrMove(tls *libc.TLS, pDest uintptr, pSrc uintptr) { /* sqlite3.c:1521 // The new entry might overwrite an existing entry, or it might be // appended, or it might be discarded. Do whatever is the right thing // so that pSet keeps the N_OR_COST best entries seen so far. -func whereOrInsert(tls *libc.TLS, pSet uintptr, prereq Bitmask, rRun LogEst, nOut LogEst) int32 { /* sqlite3.c:152191:12: */ +func whereOrInsert(tls *libc.TLS, pSet uintptr, prereq Bitmask, rRun LogEst, nOut LogEst) int32 { /* sqlite3.c:152205:12: */ var i U16 var p uintptr i = (*WhereOrSet)(unsafe.Pointer(pSet)).Fn @@ -132736,7 +132756,7 @@ __13: // Return the bitmask for the given cursor number. Return 0 if // iCursor is not in the set. -func Xsqlite3WhereGetMask(tls *libc.TLS, pMaskSet uintptr, iCursor int32) Bitmask { /* sqlite3.c:152228:24: */ +func Xsqlite3WhereGetMask(tls *libc.TLS, pMaskSet uintptr, iCursor int32) Bitmask { /* sqlite3.c:152242:24: */ var i int32 if *(*int32)(unsafe.Pointer(pMaskSet + 8)) == iCursor { @@ -132756,14 +132776,14 @@ func Xsqlite3WhereGetMask(tls *libc.TLS, pMaskSet uintptr, iCursor int32) Bitmas // tables in the FROM clause is limited by a test early in the // sqlite3WhereBegin() routine. So we know that the pMaskSet->ix[] // array will never overflow. -func createMask(tls *libc.TLS, pMaskSet uintptr, iCursor int32) { /* sqlite3.c:152252:13: */ +func createMask(tls *libc.TLS, pMaskSet uintptr, iCursor int32) { /* sqlite3.c:152266:13: */ *(*int32)(unsafe.Pointer(pMaskSet + 8 + uintptr(libc.PostIncInt32(&(*WhereMaskSet)(unsafe.Pointer(pMaskSet)).Fn, 1))*4)) = iCursor } // If the right-hand branch of the expression is a TK_COLUMN, then return // a pointer to the right-hand branch. Otherwise, return NULL. -func whereRightSubexprIsColumn(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:152261:13: */ +func whereRightSubexprIsColumn(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:152275:13: */ p = Xsqlite3ExprSkipCollateAndLikely(tls, (*Expr)(unsafe.Pointer(p)).FpRight) if p != uintptr(0) && int32((*Expr)(unsafe.Pointer(p)).Fop) == TK_COLUMN && !((*Expr)(unsafe.Pointer(p)).Fflags&U32(EP_FixedCol) != U32(0)) { return p @@ -132774,7 +132794,7 @@ func whereRightSubexprIsColumn(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c: // Advance to the next WhereTerm that matches according to the criteria // established when the pScan object was initialized by whereScanInit(). // Return NULL if there are no more matching WhereTerms. -func whereScanNext(tls *libc.TLS, pScan uintptr) uintptr { /* sqlite3.c:152274:18: */ +func whereScanNext(tls *libc.TLS, pScan uintptr) uintptr { /* sqlite3.c:152288:18: */ var iCur int32 // The cursor on the LHS of the term var iColumn I16 // The column on the LHS of the term. -1 for IPK var pX uintptr // An expression being tested @@ -132878,7 +132898,7 @@ func whereScanNext(tls *libc.TLS, pScan uintptr) uintptr { /* sqlite3.c:152274:1 // It is factored out into a separate tail-recursion subroutine so that // the normal whereScanInit() routine, which is a high-runner, does not // need to push registers onto the stack as part of its prologue. -func whereScanInitIndexExpr(tls *libc.TLS, pScan uintptr) uintptr { /* sqlite3.c:152376:34: */ +func whereScanInitIndexExpr(tls *libc.TLS, pScan uintptr) uintptr { /* sqlite3.c:152390:34: */ (*WhereScan)(unsafe.Pointer(pScan)).Fidxaff = Xsqlite3ExprAffinity(tls, (*WhereScan)(unsafe.Pointer(pScan)).FpIdxExpr) return whereScanNext(tls, pScan) } @@ -132900,7 +132920,7 @@ func whereScanInitIndexExpr(tls *libc.TLS, pScan uintptr) uintptr { /* sqlite3.c // // If X is not the INTEGER PRIMARY KEY then X must be compatible with // index pIdx. -func whereScanInit(tls *libc.TLS, pScan uintptr, pWC uintptr, iCur int32, iColumn int32, opMask U32, pIdx uintptr) uintptr { /* sqlite3.c:152400:18: */ +func whereScanInit(tls *libc.TLS, pScan uintptr, pWC uintptr, iCur int32, iColumn int32, opMask U32, pIdx uintptr) uintptr { /* sqlite3.c:152414:18: */ (*WhereScan)(unsafe.Pointer(pScan)).FpOrigWC = pWC (*WhereScan)(unsafe.Pointer(pScan)).FpWC = pWC (*WhereScan)(unsafe.Pointer(pScan)).FpIdxExpr = uintptr(0) @@ -132955,7 +132975,7 @@ func whereScanInit(tls *libc.TLS, pScan uintptr, pWC uintptr, iCur int32, iColum // the form "X Y" where Y is a column in another table if no terms of // the form "X " exist. If no terms with a constant RHS // exist, try to return a term that does not use WO_EQUIV. -func Xsqlite3WhereFindTerm(tls *libc.TLS, pWC uintptr, iCur int32, iColumn int32, notReady Bitmask, op U32, pIdx uintptr) uintptr { /* sqlite3.c:152464:26: */ +func Xsqlite3WhereFindTerm(tls *libc.TLS, pWC uintptr, iCur int32, iColumn int32, notReady Bitmask, op U32, pIdx uintptr) uintptr { /* sqlite3.c:152478:26: */ bp := tls.Alloc(112) defer tls.Free(112) @@ -132985,7 +133005,7 @@ func Xsqlite3WhereFindTerm(tls *libc.TLS, pWC uintptr, iCur int32, iColumn int32 // // If such an expression is found, its index in pList->a[] is returned. If // no expression is found, -1 is returned. -func findIndexCol(tls *libc.TLS, pParse uintptr, pList uintptr, iBase int32, pIdx uintptr, iCol int32) int32 { /* sqlite3.c:152498:12: */ +func findIndexCol(tls *libc.TLS, pParse uintptr, pList uintptr, iBase int32, pIdx uintptr, iCol int32) int32 { /* sqlite3.c:152512:12: */ var i int32 var zColl uintptr = *(*uintptr)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FazColl + uintptr(iCol)*8)) @@ -133006,7 +133026,7 @@ func findIndexCol(tls *libc.TLS, pParse uintptr, pList uintptr, iBase int32, pId } // Return TRUE if the iCol-th column of index pIdx is NOT NULL -func indexColumnNotNull(tls *libc.TLS, pIdx uintptr, iCol int32) int32 { /* sqlite3.c:152528:12: */ +func indexColumnNotNull(tls *libc.TLS, pIdx uintptr, iCol int32) int32 { /* sqlite3.c:152542:12: */ var j int32 j = int32(*(*I16)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FaiColumn + uintptr(iCol)*2))) @@ -133027,7 +133047,7 @@ func indexColumnNotNull(tls *libc.TLS, pIdx uintptr, iCol int32) int32 { /* sqli // // A DISTINCT list is redundant if any subset of the columns in the // DISTINCT list are collectively unique and individually non-null. -func isDistinctRedundant(tls *libc.TLS, pParse uintptr, pTabList uintptr, pWC uintptr, pDistinct uintptr) int32 { /* sqlite3.c:152551:12: */ +func isDistinctRedundant(tls *libc.TLS, pParse uintptr, pTabList uintptr, pWC uintptr, pDistinct uintptr) int32 { /* sqlite3.c:152565:12: */ var pTab uintptr var pIdx uintptr var i int32 @@ -133097,7 +133117,7 @@ func isDistinctRedundant(tls *libc.TLS, pParse uintptr, pTabList uintptr, pWC ui } // Estimate the logarithm of the input value to base 2. -func estLog(tls *libc.TLS, N LogEst) LogEst { /* sqlite3.c:152615:15: */ +func estLog(tls *libc.TLS, N LogEst) LogEst { /* sqlite3.c:152629:15: */ if int32(N) <= 10 { return int16(0) } @@ -133114,7 +133134,7 @@ func estLog(tls *libc.TLS, N LogEst) LogEst { /* sqlite3.c:152615:15: */ // cursor iTabCur are transformed into OP_Sequence opcode for the // iAutoidxCur cursor, in order to generate unique rowids for the // automatic index being generated. -func translateColumnToCopy(tls *libc.TLS, pParse uintptr, iStart int32, iTabCur int32, iRegister int32, iAutoidxCur int32) { /* sqlite3.c:152631:13: */ +func translateColumnToCopy(tls *libc.TLS, pParse uintptr, iStart int32, iTabCur int32, iRegister int32, iAutoidxCur int32) { /* sqlite3.c:152645:13: */ var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe var pOp uintptr = Xsqlite3VdbeGetOp(tls, v, iStart) var iEnd int32 = Xsqlite3VdbeCurrentAddr(tls, v) @@ -133157,7 +133177,7 @@ __3: // Return TRUE if the WHERE clause term pTerm is of a form where it // could be used with an index to access pSrc, assuming an appropriate // index existed. -func termCanDriveIndex(tls *libc.TLS, pTerm uintptr, pSrc uintptr, notReady Bitmask) int32 { /* sqlite3.c:152715:12: */ +func termCanDriveIndex(tls *libc.TLS, pTerm uintptr, pSrc uintptr, notReady Bitmask) int32 { /* sqlite3.c:152729:12: */ var aff int8 if (*WhereTerm)(unsafe.Pointer(pTerm)).FleftCursor != (*SrcItem)(unsafe.Pointer(pSrc)).FiCursor { return 0 @@ -133191,7 +133211,7 @@ func termCanDriveIndex(tls *libc.TLS, pTerm uintptr, pSrc uintptr, notReady Bitm // Generate code to construct the Index object for an automatic index // and to set up the WhereLevel object pLevel so that the code generator // makes use of the automatic index. -func constructAutomaticIndex(tls *libc.TLS, pParse uintptr, pWC uintptr, pSrc uintptr, notReady Bitmask, pLevel uintptr) { /* sqlite3.c:152749:29: */ +func constructAutomaticIndex(tls *libc.TLS, pParse uintptr, pWC uintptr, pSrc uintptr, notReady Bitmask, pLevel uintptr) { /* sqlite3.c:152763:29: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -133549,7 +133569,7 @@ end_auto_index_create: // This routine may only be called if it has previously been determined that // the loop would benefit from a Bloom filter, and the WHERE_BLOOMFILTER bit // is set. -func sqlite3ConstructBloomFilter(tls *libc.TLS, pWInfo uintptr, iLevel int32, pLevel uintptr, notReady Bitmask) { /* sqlite3.c:152984:29: */ +func sqlite3ConstructBloomFilter(tls *libc.TLS, pWInfo uintptr, iLevel int32, pLevel uintptr, notReady Bitmask) { /* sqlite3.c:152998:29: */ var addrOnce int32 // Address of opening OP_Once var addrTop int32 // Address of OP_Rewind var addrCont int32 // Jump here to skip a row @@ -133654,7 +133674,7 @@ func sqlite3ConstructBloomFilter(tls *libc.TLS, pWInfo uintptr, iLevel int32, pL // Allocate and populate an sqlite3_index_info structure. It is the // responsibility of the caller to eventually release the structure // by passing the pointer returned by this function to freeIndexInfo(). -func allocateIndexInfo(tls *libc.TLS, pWInfo uintptr, pWC uintptr, mUnusable Bitmask, pSrc uintptr, pmNoOmit uintptr) uintptr { /* sqlite3.c:153097:27: */ +func allocateIndexInfo(tls *libc.TLS, pWInfo uintptr, pWC uintptr, mUnusable Bitmask, pSrc uintptr, pmNoOmit uintptr) uintptr { /* sqlite3.c:153111:27: */ var i int32 var j int32 var nTerm int32 @@ -133880,7 +133900,7 @@ __6: // Free an sqlite3_index_info structure allocated by allocateIndexInfo() // and possibly modified by xBestIndex methods. -func freeIndexInfo(tls *libc.TLS, db uintptr, pIdxInfo uintptr) { /* sqlite3.c:153296:13: */ +func freeIndexInfo(tls *libc.TLS, db uintptr, pIdxInfo uintptr) { /* sqlite3.c:153310:13: */ var pHidden uintptr var i int32 @@ -133907,7 +133927,7 @@ func freeIndexInfo(tls *libc.TLS, db uintptr, pIdxInfo uintptr) { /* sqlite3.c:1 // Whether or not an error is returned, it is the responsibility of the // caller to eventually free p->idxStr if p->needToFreeIdxStr indicates // that this is required. -func vtabBestIndex(tls *libc.TLS, pParse uintptr, pTab uintptr, p uintptr) int32 { /* sqlite3.c:153326:12: */ +func vtabBestIndex(tls *libc.TLS, pParse uintptr, pTab uintptr, p uintptr) int32 { /* sqlite3.c:153340:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -133945,7 +133965,7 @@ func vtabBestIndex(tls *libc.TLS, pParse uintptr, pTab uintptr, p uintptr) int32 // into the aSample[] array - it is an index into a virtual set of samples // based on the contents of aSample[] and the number of fields in record // pRec. -func whereKeyStats(tls *libc.TLS, pParse uintptr, pIdx uintptr, pRec uintptr, roundUp int32, aStat uintptr) int32 { /* sqlite3.c:153365:12: */ +func whereKeyStats(tls *libc.TLS, pParse uintptr, pIdx uintptr, pRec uintptr, roundUp int32, aStat uintptr) int32 { /* sqlite3.c:153379:12: */ var aSample uintptr = (*Index)(unsafe.Pointer(pIdx)).FaSample var iCol int32 // Index of required stats in anEq[] etc. var i int32 // Index of first sample >= pRec @@ -134084,7 +134104,7 @@ func whereKeyStats(tls *libc.TLS, pParse uintptr, pIdx uintptr, pRec uintptr, ro // then the return value is the likelihood multiplied by the number of // input rows. Otherwise, this function assumes that an "IS NOT NULL" term // has a likelihood of 0.50, and any other term a likelihood of 0.25. -func whereRangeAdjust(tls *libc.TLS, pTerm uintptr, nNew LogEst) LogEst { /* sqlite3.c:153557:15: */ +func whereRangeAdjust(tls *libc.TLS, pTerm uintptr, nNew LogEst) LogEst { /* sqlite3.c:153571:15: */ var nRet LogEst = nNew if pTerm != 0 { if int32((*WhereTerm)(unsafe.Pointer(pTerm)).FtruthProb) <= 0 { @@ -134097,7 +134117,7 @@ func whereRangeAdjust(tls *libc.TLS, pTerm uintptr, nNew LogEst) LogEst { /* sql } // Return the affinity for a single column of an index. -func Xsqlite3IndexColumnAffinity(tls *libc.TLS, db uintptr, pIdx uintptr, iCol int32) int8 { /* sqlite3.c:153574:21: */ +func Xsqlite3IndexColumnAffinity(tls *libc.TLS, db uintptr, pIdx uintptr, iCol int32) int8 { /* sqlite3.c:153588:21: */ if !(int32((*Index)(unsafe.Pointer(pIdx)).FzColAff) != 0) { if Xsqlite3IndexAffinityStr(tls, db, pIdx) == uintptr(0) { @@ -134141,7 +134161,7 @@ func Xsqlite3IndexColumnAffinity(tls *libc.TLS, db uintptr, pIdx uintptr, iCol i // // If an error occurs, an SQLite error code is returned. Otherwise, // SQLITE_OK. -func whereRangeSkipScanEst(tls *libc.TLS, pParse uintptr, pLower uintptr, pUpper uintptr, pLoop uintptr, pbDone uintptr) int32 { /* sqlite3.c:153621:12: */ +func whereRangeSkipScanEst(tls *libc.TLS, pParse uintptr, pLower uintptr, pUpper uintptr, pLoop uintptr, pbDone uintptr) int32 { /* sqlite3.c:153635:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -134256,7 +134276,7 @@ func whereRangeSkipScanEst(tls *libc.TLS, pParse uintptr, pLower uintptr, pUpper // used, a single range inequality reduces the search space by a factor of 4. // and a pair of constraints (x>? AND x>0)) != 0 { Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(p + 24 + 16 /* &.idxStr */))) @@ -134564,7 +134584,7 @@ func whereLoopClearUnion(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:15 } // Deallocate internal memory used by a WhereLoop object -func whereLoopClear(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:154152:13: */ +func whereLoopClear(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:154166:13: */ if (*WhereLoop)(unsafe.Pointer(p)).FaLTerm != p+88 { Xsqlite3DbFreeNN(tls, db, (*WhereLoop)(unsafe.Pointer(p)).FaLTerm) } @@ -134573,7 +134593,7 @@ func whereLoopClear(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:154152: } // Increase the memory allocation for pLoop->aLTerm[] to be at least n. -func whereLoopResize(tls *libc.TLS, db uintptr, p uintptr, n int32) int32 { /* sqlite3.c:154161:12: */ +func whereLoopResize(tls *libc.TLS, db uintptr, p uintptr, n int32) int32 { /* sqlite3.c:154175:12: */ var paNew uintptr if int32((*WhereLoop)(unsafe.Pointer(p)).FnLSlot) >= n { return SQLITE_OK @@ -134593,7 +134613,7 @@ func whereLoopResize(tls *libc.TLS, db uintptr, p uintptr, n int32) int32 { /* s } // Transfer content from the second pLoop into the first. -func whereLoopXfer(tls *libc.TLS, db uintptr, pTo uintptr, pFrom uintptr) int32 { /* sqlite3.c:154177:12: */ +func whereLoopXfer(tls *libc.TLS, db uintptr, pTo uintptr, pFrom uintptr) int32 { /* sqlite3.c:154191:12: */ whereLoopClearUnion(tls, db, pTo) if whereLoopResize(tls, db, pTo, int32((*WhereLoop)(unsafe.Pointer(pFrom)).FnLTerm)) != 0 { libc.Xmemset(tls, pTo, 0, uint64(uintptr(0)+64)) @@ -134610,13 +134630,13 @@ func whereLoopXfer(tls *libc.TLS, db uintptr, pTo uintptr, pFrom uintptr) int32 } // Delete a WhereLoop object -func whereLoopDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:154196:13: */ +func whereLoopDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:154210:13: */ whereLoopClear(tls, db, p) Xsqlite3DbFreeNN(tls, db, p) } // Free a WhereInfo structure -func whereInfoFree(tls *libc.TLS, db uintptr, pWInfo uintptr) { /* sqlite3.c:154204:13: */ +func whereInfoFree(tls *libc.TLS, db uintptr, pWInfo uintptr) { /* sqlite3.c:154218:13: */ var i int32 for i = 0; i < int32((*WhereInfo)(unsafe.Pointer(pWInfo)).FnLevel); i++ { @@ -134637,7 +134657,7 @@ func whereInfoFree(tls *libc.TLS, db uintptr, pWInfo uintptr) { /* sqlite3.c:154 } // Undo all Expr node modifications -func whereUndoExprMods(tls *libc.TLS, pWInfo uintptr) { /* sqlite3.c:154226:13: */ +func whereUndoExprMods(tls *libc.TLS, pWInfo uintptr) { /* sqlite3.c:154240:13: */ for (*WhereInfo)(unsafe.Pointer(pWInfo)).FpExprMods != 0 { var p uintptr = (*WhereInfo)(unsafe.Pointer(pWInfo)).FpExprMods (*WhereInfo)(unsafe.Pointer(pWInfo)).FpExprMods = (*WhereExprMod)(unsafe.Pointer(p)).FpNext @@ -134663,7 +134683,7 @@ func whereUndoExprMods(tls *libc.TLS, pWInfo uintptr) { /* sqlite3.c:154226:13: // deserve a lower cost even if it is a proper subset of Y. Constraint (5) // was added because a covering index probably deserves to have a lower cost // than a non-covering index even if it is a proper subset. -func whereLoopCheaperProperSubset(tls *libc.TLS, pX uintptr, pY uintptr) int32 { /* sqlite3.c:154254:12: */ +func whereLoopCheaperProperSubset(tls *libc.TLS, pX uintptr, pY uintptr) int32 { /* sqlite3.c:154268:12: */ var i int32 var j int32 if int32((*WhereLoop)(unsafe.Pointer(pX)).FnLTerm)-int32((*WhereLoop)(unsafe.Pointer(pX)).FnSkip) >= int32((*WhereLoop)(unsafe.Pointer(pY)).FnLTerm)-int32((*WhereLoop)(unsafe.Pointer(pY)).FnSkip) { @@ -134707,7 +134727,7 @@ func whereLoopCheaperProperSubset(tls *libc.TLS, pX uintptr, pY uintptr) int32 { // To say "WhereLoop X is a proper subset of Y" means that X uses fewer // WHERE clause terms than Y and that every WHERE clause term used by X is // also used by Y. -func whereLoopAdjustCost(tls *libc.TLS, p uintptr, pTemplate uintptr) { /* sqlite3.c:154292:13: */ +func whereLoopAdjustCost(tls *libc.TLS, p uintptr, pTemplate uintptr) { /* sqlite3.c:154306:13: */ if (*WhereLoop)(unsafe.Pointer(pTemplate)).FwsFlags&U32(WHERE_INDEXED) == U32(0) { return } @@ -134766,7 +134786,7 @@ func whereLoopAdjustCost(tls *libc.TLS, p uintptr, pTemplate uintptr) { /* sqlit // If pTemplate cannot replace any existing element of the list but needs // to be added to the list as a new entry, then return a pointer to the // tail of the list. -func whereLoopFindLesser(tls *libc.TLS, ppPrev uintptr, pTemplate uintptr) uintptr { /* sqlite3.c:154333:18: */ +func whereLoopFindLesser(tls *libc.TLS, ppPrev uintptr, pTemplate uintptr) uintptr { /* sqlite3.c:154347:18: */ var p uintptr p = *(*uintptr)(unsafe.Pointer(ppPrev)) __1: @@ -134855,7 +134875,7 @@ __3: // (2) They have the same iSortIdx. // (3) The template has same or fewer dependencies than the current loop // (4) The template has the same or lower cost than the current loop -func whereLoopInsert(tls *libc.TLS, pBuilder uintptr, pTemplate uintptr) int32 { /* sqlite3.c:154421:12: */ +func whereLoopInsert(tls *libc.TLS, pBuilder uintptr, pTemplate uintptr) int32 { /* sqlite3.c:154435:12: */ var ppPrev uintptr var p uintptr var pWInfo uintptr = (*WhereLoopBuilder)(unsafe.Pointer(pBuilder)).FpWInfo @@ -134962,7 +134982,7 @@ func whereLoopInsert(tls *libc.TLS, pBuilder uintptr, pTemplate uintptr) int32 { // "x" column is boolean or else -1 or 0 or 1 is a common default value // on the "x" column and so in that case only cap the output row estimate // at 1/2 instead of 1/4. -func whereLoopOutputAdjust(tls *libc.TLS, pWC uintptr, pLoop uintptr, nRow LogEst) { /* sqlite3.c:154558:13: */ +func whereLoopOutputAdjust(tls *libc.TLS, pWC uintptr, pLoop uintptr, nRow LogEst) { /* sqlite3.c:154572:13: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -135008,7 +135028,14 @@ __1: // that depend only on the table being scanned, and that will tend to // cause many rows to be omitted, then mark that table as // "self-culling". - *(*U32)(unsafe.Pointer(pLoop + 56)) |= U32(WHERE_SELFCULL) + // + // 2022-03-24: Self-culling only applies if either the extra terms + // are straight comparison operators that are non-true with NULL + // operand, or if the loop is not a LEFT JOIN. + if int32((*WhereTerm)(unsafe.Pointer(pTerm)).FeOperator)&0x3f != 0 || + int32((*SrcItem)(unsafe.Pointer((*WhereInfo)(unsafe.Pointer((*WhereClause)(unsafe.Pointer(pWC)).FpWInfo)).FpTabList+8+uintptr((*WhereLoop)(unsafe.Pointer(pLoop)).FiTab)*112)).Ffg.Fjointype)&JT_LEFT == 0 { + *(*U32)(unsafe.Pointer(pLoop + 56)) |= U32(WHERE_SELFCULL) + } } if int32((*WhereTerm)(unsafe.Pointer(pTerm)).FtruthProb) <= 0 { // If a truth probability is specified using the likelihood() hints, @@ -135065,7 +135092,7 @@ __3: // // then this function would be invoked with nEq=1. The value returned in // this case is 3. -func whereRangeVectorLen(tls *libc.TLS, pParse uintptr, iCur int32, pIdx uintptr, nEq int32, pTerm uintptr) int32 { /* sqlite3.c:154637:12: */ +func whereRangeVectorLen(tls *libc.TLS, pParse uintptr, iCur int32, pIdx uintptr, nEq int32, pTerm uintptr) int32 { /* sqlite3.c:154660:12: */ var nCmp int32 = Xsqlite3ExprVectorSize(tls, (*Expr)(unsafe.Pointer((*WhereTerm)(unsafe.Pointer(pTerm)).FpExpr)).FpLeft) var i int32 @@ -135133,7 +135160,7 @@ func whereRangeVectorLen(tls *libc.TLS, pParse uintptr, iCur int32, pIdx uintptr // // If pProbe->idxType==SQLITE_IDXTYPE_IPK, that means pIndex is // a fake index used for the INTEGER PRIMARY KEY. -func whereLoopAddBtreeIndex(tls *libc.TLS, pBuilder uintptr, pSrc uintptr, pProbe uintptr, nInMul LogEst) int32 { /* sqlite3.c:154711:12: */ +func whereLoopAddBtreeIndex(tls *libc.TLS, pBuilder uintptr, pSrc uintptr, pProbe uintptr, nInMul LogEst) int32 { /* sqlite3.c:154734:12: */ bp := tls.Alloc(116) defer tls.Free(116) @@ -135493,7 +135520,7 @@ func whereLoopAddBtreeIndex(tls *libc.TLS, pBuilder uintptr, pSrc uintptr, pProb // Return False if pBuilder does not contain an ORDER BY clause or // if there is no way for pIndex to be useful in implementing that // ORDER BY clause. -func indexMightHelpWithOrderBy(tls *libc.TLS, pBuilder uintptr, pIndex uintptr, iCursor int32) int32 { /* sqlite3.c:155111:12: */ +func indexMightHelpWithOrderBy(tls *libc.TLS, pBuilder uintptr, pIndex uintptr, iCursor int32) int32 { /* sqlite3.c:155134:12: */ var pOB uintptr var aColExpr uintptr var ii int32 @@ -135535,7 +135562,7 @@ func indexMightHelpWithOrderBy(tls *libc.TLS, pBuilder uintptr, pIndex uintptr, // Check to see if a partial index with pPartIndexWhere can be used // in the current query. Return true if it can be and false if not. -func whereUsablePartialIndex(tls *libc.TLS, iTab int32, isLeft int32, pWC uintptr, pWhere uintptr) int32 { /* sqlite3.c:155145:12: */ +func whereUsablePartialIndex(tls *libc.TLS, iTab int32, isLeft int32, pWC uintptr, pWhere uintptr) int32 { /* sqlite3.c:155168:12: */ var i int32 var pTerm uintptr var pParse uintptr = (*WhereInfo)(unsafe.Pointer((*WhereClause)(unsafe.Pointer(pWC)).FpWInfo)).FpParse @@ -135610,7 +135637,7 @@ __3: // bias the scoring in favor of using an index, since the worst-case // performance of using an index is far better than the worst-case performance // of a full table scan. -func whereLoopAddBtree(tls *libc.TLS, pBuilder uintptr, mPrereq Bitmask) int32 { /* sqlite3.c:155209:12: */ +func whereLoopAddBtree(tls *libc.TLS, pBuilder uintptr, mPrereq Bitmask) int32 { /* sqlite3.c:155232:12: */ bp := tls.Alloc(158) defer tls.Free(158) @@ -135895,7 +135922,7 @@ __3: } // Return true if pTerm is a virtual table LIMIT or OFFSET term. -func isLimitTerm(tls *libc.TLS, pTerm uintptr) int32 { /* sqlite3.c:155467:12: */ +func isLimitTerm(tls *libc.TLS, pTerm uintptr) int32 { /* sqlite3.c:155490:12: */ return libc.Bool32(int32((*WhereTerm)(unsafe.Pointer(pTerm)).FeMatchOp) >= SQLITE_INDEX_CONSTRAINT_LIMIT && int32((*WhereTerm)(unsafe.Pointer(pTerm)).FeMatchOp) <= SQLITE_INDEX_CONSTRAINT_OFFSET) @@ -135919,7 +135946,7 @@ func isLimitTerm(tls *libc.TLS, pTerm uintptr) int32 { /* sqlite3.c:155467:12: * // // Output parameter *pbIn is set to true if the plan added to pBuilder // uses one or more WO_IN terms, or false otherwise. -func whereLoopAddVirtualOne(tls *libc.TLS, pBuilder uintptr, mPrereq Bitmask, mUsable Bitmask, mExclude U16, pIdxInfo uintptr, mNoOmit U16, pbIn uintptr, pbRetryLimit uintptr) int32 { /* sqlite3.c:155493:12: */ +func whereLoopAddVirtualOne(tls *libc.TLS, pBuilder uintptr, mPrereq Bitmask, mUsable Bitmask, mExclude U16, pIdxInfo uintptr, mNoOmit U16, pbIn uintptr, pbRetryLimit uintptr) int32 { /* sqlite3.c:155516:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -136143,7 +136170,7 @@ __6: // 2. Else, if the column has an alternative collation, return that. // // 3. Otherwise, return "BINARY". -func Xsqlite3_vtab_collation(tls *libc.TLS, pIdxInfo uintptr, iCons int32) uintptr { /* sqlite3.c:155685:23: */ +func Xsqlite3_vtab_collation(tls *libc.TLS, pIdxInfo uintptr, iCons int32) uintptr { /* sqlite3.c:155708:23: */ var pHidden uintptr = pIdxInfo + 1*96 var zRet uintptr = uintptr(0) if iCons >= 0 && iCons < (*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FnConstraint { @@ -136166,7 +136193,7 @@ func Xsqlite3_vtab_collation(tls *libc.TLS, pIdxInfo uintptr, iCons int32) uintp // Return true if constraint iCons is really an IN(...) constraint, or // false otherwise. If iCons is an IN(...) constraint, set (if bHandle!=0) // or clear (if bHandle==0) the flag to handle it using an iterator. -func Xsqlite3_vtab_in(tls *libc.TLS, pIdxInfo uintptr, iCons int32, bHandle int32) int32 { /* sqlite3.c:155705:16: */ +func Xsqlite3_vtab_in(tls *libc.TLS, pIdxInfo uintptr, iCons int32, bHandle int32) int32 { /* sqlite3.c:155728:16: */ var pHidden uintptr = pIdxInfo + 1*96 var m U32 = func() uint32 { if iCons <= 31 { @@ -136189,7 +136216,7 @@ func Xsqlite3_vtab_in(tls *libc.TLS, pIdxInfo uintptr, iCons int32, bHandle int3 // // If possible, set (*ppVal) to point to an object containing the value // on the right-hand-side of constraint iCons. -func Xsqlite3_vtab_rhs_value(tls *libc.TLS, pIdxInfo uintptr, iCons int32, ppVal uintptr) int32 { /* sqlite3.c:155725:16: */ +func Xsqlite3_vtab_rhs_value(tls *libc.TLS, pIdxInfo uintptr, iCons int32, ppVal uintptr) int32 { /* sqlite3.c:155748:16: */ var pH uintptr = pIdxInfo + 1*96 var pVal uintptr = uintptr(0) var rc int32 = SQLITE_OK @@ -136215,7 +136242,7 @@ func Xsqlite3_vtab_rhs_value(tls *libc.TLS, pIdxInfo uintptr, iCons int32, ppVal } // Return true if ORDER BY clause may be handled as DISTINCT. -func Xsqlite3_vtab_distinct(tls *libc.TLS, pIdxInfo uintptr) int32 { /* sqlite3.c:155758:16: */ +func Xsqlite3_vtab_distinct(tls *libc.TLS, pIdxInfo uintptr) int32 { /* sqlite3.c:155781:16: */ var pHidden uintptr = pIdxInfo + 1*96 return (*HiddenIndexInfo)(unsafe.Pointer(pHidden)).FeDistinct @@ -136244,7 +136271,7 @@ func Xsqlite3_vtab_distinct(tls *libc.TLS, pIdxInfo uintptr) int32 { /* sqlite3. // Conversely, all tables in mUnusable must be scanned after the current // virtual table, so any terms for which the prerequisites overlap with // mUnusable should always be configured as "not-usable" for xBestIndex. -func whereLoopAddVirtual(tls *libc.TLS, pBuilder uintptr, mPrereq Bitmask, mUnusable Bitmask) int32 { /* sqlite3.c:155807:12: */ +func whereLoopAddVirtual(tls *libc.TLS, pBuilder uintptr, mPrereq Bitmask, mUnusable Bitmask) int32 { /* sqlite3.c:155830:12: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -136380,7 +136407,7 @@ func whereLoopAddVirtual(tls *libc.TLS, pBuilder uintptr, mPrereq Bitmask, mUnus // Add WhereLoop entries to handle OR terms. This works for either // btrees or virtual tables. -func whereLoopAddOr(tls *libc.TLS, pBuilder uintptr, mPrereq Bitmask, mUnusable Bitmask) int32 { /* sqlite3.c:155938:12: */ +func whereLoopAddOr(tls *libc.TLS, pBuilder uintptr, mPrereq Bitmask, mUnusable Bitmask) int32 { /* sqlite3.c:155961:12: */ bp := tls.Alloc(712) defer tls.Free(712) @@ -136505,7 +136532,7 @@ func whereLoopAddOr(tls *libc.TLS, pBuilder uintptr, mPrereq Bitmask, mUnusable } // Add all WhereLoop objects for all tables -func whereLoopAddAll(tls *libc.TLS, pBuilder uintptr) int32 { /* sqlite3.c:156064:12: */ +func whereLoopAddAll(tls *libc.TLS, pBuilder uintptr) int32 { /* sqlite3.c:156087:12: */ var pWInfo uintptr = (*WhereLoopBuilder)(unsafe.Pointer(pBuilder)).FpWInfo var mPrereq Bitmask = uint64(0) var mPrior Bitmask = uint64(0) @@ -136593,7 +136620,7 @@ __3: // as equivalent rows are grouped together. Thus for GROUP BY and DISTINCT // the pOrderBy terms can be matched in any order. With ORDER BY, the // pOrderBy terms must be matched in strict left-to-right order. -func wherePathSatisfiesOrderBy(tls *libc.TLS, pWInfo uintptr, pOrderBy uintptr, pPath uintptr, wctrlFlags U16, nLoop U16, pLast uintptr, pRevMask uintptr) I8 { /* sqlite3.c:156142:11: */ +func wherePathSatisfiesOrderBy(tls *libc.TLS, pWInfo uintptr, pOrderBy uintptr, pPath uintptr, wctrlFlags U16, nLoop U16, pLast uintptr, pRevMask uintptr) I8 { /* sqlite3.c:156165:11: */ var revSet U8 // True if rev is known var rev U8 // Composite sort order var revIdx U8 // Index sort order @@ -136961,7 +136988,7 @@ func wherePathSatisfiesOrderBy(tls *libc.TLS, pWInfo uintptr, pOrderBy uintptr, // // SELECT * FROM t1 GROUP BY x,y ORDER BY x,y; -- IsSorted()==1 // SELECT * FROM t1 GROUP BY y,x ORDER BY y,x; -- IsSorted()==0 -func Xsqlite3WhereIsSorted(tls *libc.TLS, pWInfo uintptr) int32 { /* sqlite3.c:156487:20: */ +func Xsqlite3WhereIsSorted(tls *libc.TLS, pWInfo uintptr) int32 { /* sqlite3.c:156510:20: */ return int32(*(*uint8)(unsafe.Pointer(pWInfo + 76)) & 0x8 >> 3) } @@ -136969,7 +136996,7 @@ func Xsqlite3WhereIsSorted(tls *libc.TLS, pWInfo uintptr) int32 { /* sqlite3.c:1 // Return the cost of sorting nRow rows, assuming that the keys have // nOrderby columns and that the first nSorted columns are already in // order. -func whereSortingCost(tls *libc.TLS, pWInfo uintptr, nRow LogEst, nOrderBy int32, nSorted int32) LogEst { /* sqlite3.c:156510:15: */ +func whereSortingCost(tls *libc.TLS, pWInfo uintptr, nRow LogEst, nOrderBy int32, nSorted int32) LogEst { /* sqlite3.c:156533:15: */ // TUNING: Estimated cost of a full external sort, where N is // the number of rows to sort is: // @@ -137016,7 +137043,7 @@ func whereSortingCost(tls *libc.TLS, pWInfo uintptr, nRow LogEst, nOrderBy int32 // // Return SQLITE_OK on success or SQLITE_NOMEM of a memory allocation // error occurs. -func wherePathSolver(tls *libc.TLS, pWInfo uintptr, nRowEst LogEst) int32 { /* sqlite3.c:156563:12: */ +func wherePathSolver(tls *libc.TLS, pWInfo uintptr, nRowEst LogEst) int32 { /* sqlite3.c:156586:12: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -137423,7 +137450,7 @@ __3: // Return non-zero on success, if this query can be handled by this // no-frills query planner. Return zero if this query needs the // general-purpose query planner. -func whereShortCut(tls *libc.TLS, pBuilder uintptr) int32 { /* sqlite3.c:156955:12: */ +func whereShortCut(tls *libc.TLS, pBuilder uintptr) int32 { /* sqlite3.c:156978:12: */ bp := tls.Alloc(112) defer tls.Free(112) @@ -137530,7 +137557,7 @@ func whereShortCut(tls *libc.TLS, pBuilder uintptr) int32 { /* sqlite3.c:156955: } // Helper function for exprIsDeterministic(). -func exprNodeIsDeterministic(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:157046:12: */ +func exprNodeIsDeterministic(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:157069:12: */ if int32((*Expr)(unsafe.Pointer(pExpr)).Fop) == TK_FUNCTION && libc.Bool32((*Expr)(unsafe.Pointer(pExpr)).Fflags&U32(EP_ConstFunc) != U32(0)) == 0 { (*Walker)(unsafe.Pointer(pWalker)).FeCode = U16(0) return WRC_Abort @@ -137541,7 +137568,7 @@ func exprNodeIsDeterministic(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int3 // Return true if the expression contains no non-deterministic SQL // functions. Do not consider non-deterministic SQL functions that are // part of sub-select statements. -func exprIsDeterministic(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:157059:12: */ +func exprIsDeterministic(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:157082:12: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -137587,7 +137614,7 @@ func exprIsDeterministic(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:157059:1 // SELECT DISTINCT v1, v3 FROM t1 // LEFT JOIN t2 // LEFT JOIN t3 ON (t1.ipk=t3.ipk) -func whereOmitNoopJoin(tls *libc.TLS, pWInfo uintptr, notReady Bitmask) Bitmask { /* sqlite3.c:157120:32: */ +func whereOmitNoopJoin(tls *libc.TLS, pWInfo uintptr, notReady Bitmask) Bitmask { /* sqlite3.c:157143:32: */ var i int32 var tabUsed Bitmask @@ -137662,7 +137689,7 @@ func whereOmitNoopJoin(tls *libc.TLS, pWInfo uintptr, notReady Bitmask) Bitmask // appropriate, and if so sets the WHERE_BLOOMFILTER flag on the // WhereLoop. The implementation of the Bloom filter comes further // down where the code for each WhereLoop is generated. -func whereCheckIfBloomFilterIsUseful(tls *libc.TLS, pWInfo uintptr) { /* sqlite3.c:157199:29: */ +func whereCheckIfBloomFilterIsUseful(tls *libc.TLS, pWInfo uintptr) { /* sqlite3.c:157222:29: */ var i int32 var nSearch LogEst @@ -137774,7 +137801,7 @@ func whereCheckIfBloomFilterIsUseful(tls *libc.TLS, pWInfo uintptr) { /* sqlite3 // the first cursor in an array of cursors for all indices. iIdxCur should // be used to compute the appropriate cursor depending on which index is // used. -func Xsqlite3WhereBegin(tls *libc.TLS, pParse uintptr, pTabList uintptr, pWhere uintptr, pOrderBy uintptr, pResultSet uintptr, pLimit uintptr, wctrlFlags U16, iAuxArg int32) uintptr { /* sqlite3.c:157323:26: */ +func Xsqlite3WhereBegin(tls *libc.TLS, pParse uintptr, pTabList uintptr, pWhere uintptr, pOrderBy uintptr, pResultSet uintptr, pLimit uintptr, wctrlFlags U16, iAuxArg int32) uintptr { /* sqlite3.c:157346:26: */ bp := tls.Alloc(64) defer tls.Free(64) @@ -138459,7 +138486,7 @@ __78: // Generate the end of the WHERE loop. See comments on // sqlite3WhereBegin() for additional information. -func Xsqlite3WhereEnd(tls *libc.TLS, pWInfo uintptr) { /* sqlite3.c:157889:21: */ +func Xsqlite3WhereEnd(tls *libc.TLS, pWInfo uintptr) { /* sqlite3.c:157932:21: */ var pParse uintptr = (*WhereInfo)(unsafe.Pointer(pWInfo)).FpParse var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe var i int32 @@ -138672,12 +138699,12 @@ __4: int32((*VdbeOp)(unsafe.Pointer(pOp)).Fopcode) == OP_Offset { var x int32 = (*VdbeOp)(unsafe.Pointer(pOp)).Fp2 - if !((*Table)(unsafe.Pointer(pTab)).FtabFlags&U32(TF_WithoutRowid) == U32(0)) { + if int32((*VdbeOp)(unsafe.Pointer(pOp)).Fopcode) == OP_Offset { + // Do not need to translate the column number + } else if !((*Table)(unsafe.Pointer(pTab)).FtabFlags&U32(TF_WithoutRowid) == U32(0)) { var pPk uintptr = Xsqlite3PrimaryKeyIndex(tls, pTab) x = int32(*(*I16)(unsafe.Pointer((*Index)(unsafe.Pointer(pPk)).FaiColumn + uintptr(x)*2))) - } else if int32((*VdbeOp)(unsafe.Pointer(pOp)).Fopcode) == OP_Offset { - // Do not need to translate the column number } else { x = int32(Xsqlite3StorageColumnToTable(tls, pTab, int16(x))) @@ -138687,8 +138714,12 @@ __4: (*VdbeOp)(unsafe.Pointer(pOp)).Fp2 = x (*VdbeOp)(unsafe.Pointer(pOp)).Fp1 = (*WhereLevel)(unsafe.Pointer(pLevel)).FiIdxCur - } + } else { + // Unable to translate the table reference into an index + // reference. Verify that this is harmless - that the + // table being referenced really is open. + } } else if int32((*VdbeOp)(unsafe.Pointer(pOp)).Fopcode) == OP_Rowid { (*VdbeOp)(unsafe.Pointer(pOp)).Fp1 = (*WhereLevel)(unsafe.Pointer(pLevel)).FiIdxCur (*VdbeOp)(unsafe.Pointer(pOp)).Fopcode = U8(OP_IdxRowid) @@ -138859,7 +138890,7 @@ __6: // window frame has been coerced to: // // ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW -func row_numberStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158331:13: */ +func row_numberStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158388:13: */ var p uintptr = Xsqlite3_aggregate_context(tls, pCtx, int32(unsafe.Sizeof(I64(0)))) if p != 0 { *(*I64)(unsafe.Pointer(p))++ @@ -138868,7 +138899,7 @@ func row_numberStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) _ = apArg } -func row_numberValueFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158341:13: */ +func row_numberValueFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158398:13: */ var p uintptr = Xsqlite3_aggregate_context(tls, pCtx, int32(unsafe.Sizeof(I64(0)))) Xsqlite3_result_int64(tls, pCtx, func() int64 { if p != 0 { @@ -138884,13 +138915,13 @@ type CallCount = struct { FnValue I64 FnStep I64 FnTotal I64 -} /* sqlite3.c:158350:1 */ +} /* sqlite3.c:158407:1 */ // Implementation of built-in window function dense_rank(). Assumes that // the window frame has been set to: // // RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW -func dense_rankStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158362:13: */ +func dense_rankStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158419:13: */ var p uintptr p = Xsqlite3_aggregate_context(tls, pCtx, int32(unsafe.Sizeof(CallCount{}))) if p != 0 { @@ -138900,7 +138931,7 @@ func dense_rankStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) _ = apArg } -func dense_rankValueFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158373:13: */ +func dense_rankValueFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158430:13: */ var p uintptr p = Xsqlite3_aggregate_context(tls, pCtx, int32(unsafe.Sizeof(CallCount{}))) if p != 0 { @@ -138918,9 +138949,9 @@ func dense_rankValueFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158373:13: type NthValueCtx = struct { FnStep I64 FpValue uintptr -} /* sqlite3.c:158390:1 */ +} /* sqlite3.c:158447:1 */ -func nth_valueStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158394:13: */ +func nth_valueStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158451:13: */ var p uintptr var fVal float64 var iVal I64 @@ -138986,7 +139017,7 @@ error_out: pCtx, ts+21892, -1) } -func nth_valueFinalizeFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158435:13: */ +func nth_valueFinalizeFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158492:13: */ var p uintptr p = Xsqlite3_aggregate_context(tls, pCtx, 0) if p != 0 && (*NthValueCtx)(unsafe.Pointer(p)).FpValue != 0 { @@ -138996,7 +139027,7 @@ func nth_valueFinalizeFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158435:13 } } -func first_valueStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158447:13: */ +func first_valueStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158504:13: */ var p uintptr p = Xsqlite3_aggregate_context(tls, pCtx, int32(unsafe.Sizeof(NthValueCtx{}))) if p != 0 && (*NthValueCtx)(unsafe.Pointer(p)).FpValue == uintptr(0) { @@ -139009,7 +139040,7 @@ func first_valueStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) _ = apArg } -func first_valueFinalizeFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158463:13: */ +func first_valueFinalizeFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158520:13: */ var p uintptr p = Xsqlite3_aggregate_context(tls, pCtx, int32(unsafe.Sizeof(NthValueCtx{}))) if p != 0 && (*NthValueCtx)(unsafe.Pointer(p)).FpValue != 0 { @@ -139023,7 +139054,7 @@ func first_valueFinalizeFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158463: // the window frame has been set to: // // RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW -func rankStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158481:13: */ +func rankStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158538:13: */ var p uintptr p = Xsqlite3_aggregate_context(tls, pCtx, int32(unsafe.Sizeof(CallCount{}))) if p != 0 { @@ -139036,7 +139067,7 @@ func rankStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* s _ = apArg } -func rankValueFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158497:13: */ +func rankValueFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158554:13: */ var p uintptr p = Xsqlite3_aggregate_context(tls, pCtx, int32(unsafe.Sizeof(CallCount{}))) if p != 0 { @@ -139049,7 +139080,7 @@ func rankValueFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158497:13: */ // the window frame has been set to: // // GROUPS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING -func percent_rankStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158512:13: */ +func percent_rankStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158569:13: */ var p uintptr _ = nArg _ = apArg @@ -139059,7 +139090,7 @@ func percent_rankStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr } } -func percent_rankInvFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158525:13: */ +func percent_rankInvFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158582:13: */ var p uintptr _ = nArg _ = apArg @@ -139067,7 +139098,7 @@ func percent_rankInvFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) (*CallCount)(unsafe.Pointer(p)).FnStep++ } -func percent_rankValueFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158536:13: */ +func percent_rankValueFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158593:13: */ var p uintptr p = Xsqlite3_aggregate_context(tls, pCtx, int32(unsafe.Sizeof(CallCount{}))) if p != 0 { @@ -139085,7 +139116,7 @@ func percent_rankValueFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158536:13 // the window frame has been set to: // // GROUPS BETWEEN 1 FOLLOWING AND UNBOUNDED FOLLOWING -func cume_distStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158557:13: */ +func cume_distStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158614:13: */ var p uintptr _ = nArg _ = apArg @@ -139095,7 +139126,7 @@ func cume_distStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { } } -func cume_distInvFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158570:13: */ +func cume_distInvFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158627:13: */ var p uintptr _ = nArg _ = apArg @@ -139103,7 +139134,7 @@ func cume_distInvFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { (*CallCount)(unsafe.Pointer(p)).FnStep++ } -func cume_distValueFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158581:13: */ +func cume_distValueFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158638:13: */ var p uintptr p = Xsqlite3_aggregate_context(tls, pCtx, 0) if p != 0 { @@ -139117,13 +139148,13 @@ type NtileCtx = struct { FnTotal I64 FnParam I64 FiRow I64 -} /* sqlite3.c:158594:1 */ +} /* sqlite3.c:158651:1 */ // Implementation of ntile(). This assumes that the window frame has // been coerced to: // // ROWS CURRENT ROW AND UNBOUNDED FOLLOWING -func ntileStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158606:13: */ +func ntileStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158663:13: */ var p uintptr _ = nArg p = Xsqlite3_aggregate_context(tls, pCtx, int32(unsafe.Sizeof(NtileCtx{}))) @@ -139139,7 +139170,7 @@ func ntileStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* } } -func ntileInvFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158626:13: */ +func ntileInvFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158683:13: */ var p uintptr _ = nArg _ = apArg @@ -139147,7 +139178,7 @@ func ntileInvFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* s (*NtileCtx)(unsafe.Pointer(p)).FiRow++ } -func ntileValueFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158637:13: */ +func ntileValueFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158694:13: */ var p uintptr p = Xsqlite3_aggregate_context(tls, pCtx, int32(unsafe.Sizeof(NtileCtx{}))) if p != 0 && (*NtileCtx)(unsafe.Pointer(p)).FnParam > int64(0) { @@ -139173,10 +139204,10 @@ type LastValueCtx = struct { FpVal uintptr FnVal int32 F__ccgo_pad1 [4]byte -} /* sqlite3.c:158664:1 */ +} /* sqlite3.c:158721:1 */ // Implementation of last_value(). -func last_valueStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158672:13: */ +func last_valueStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158729:13: */ var p uintptr _ = nArg p = Xsqlite3_aggregate_context(tls, pCtx, int32(unsafe.Sizeof(LastValueCtx{}))) @@ -139191,7 +139222,7 @@ func last_valueStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) } } -func last_valueInvFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158690:13: */ +func last_valueInvFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158747:13: */ var p uintptr _ = nArg _ = apArg @@ -139205,7 +139236,7 @@ func last_valueInvFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { } } -func last_valueValueFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158707:13: */ +func last_valueValueFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158764:13: */ var p uintptr p = Xsqlite3_aggregate_context(tls, pCtx, 0) if p != 0 && (*LastValueCtx)(unsafe.Pointer(p)).FpVal != 0 { @@ -139213,7 +139244,7 @@ func last_valueValueFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158707:13: } } -func last_valueFinalizeFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158714:13: */ +func last_valueFinalizeFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158771:13: */ var p uintptr p = Xsqlite3_aggregate_context(tls, pCtx, int32(unsafe.Sizeof(LastValueCtx{}))) if p != 0 && (*LastValueCtx)(unsafe.Pointer(p)).FpVal != 0 { @@ -139229,17 +139260,17 @@ func last_valueFinalizeFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158714:1 // comparison of the zName pointer. Example: // // if( pFuncDef->zName==row_valueName ){ ... } -var row_numberName = *(*[11]int8)(unsafe.Pointer(ts + 21993)) /* sqlite3.c:158732:19 */ -var dense_rankName = *(*[11]int8)(unsafe.Pointer(ts + 22004)) /* sqlite3.c:158733:19 */ -var rankName = *(*[5]int8)(unsafe.Pointer(ts + 22015)) /* sqlite3.c:158734:19 */ -var percent_rankName = *(*[13]int8)(unsafe.Pointer(ts + 22020)) /* sqlite3.c:158735:19 */ -var cume_distName = *(*[10]int8)(unsafe.Pointer(ts + 22033)) /* sqlite3.c:158736:19 */ -var ntileName = *(*[6]int8)(unsafe.Pointer(ts + 22043)) /* sqlite3.c:158737:19 */ -var last_valueName = *(*[11]int8)(unsafe.Pointer(ts + 22049)) /* sqlite3.c:158738:19 */ -var nth_valueName = *(*[10]int8)(unsafe.Pointer(ts + 22060)) /* sqlite3.c:158739:19 */ -var first_valueName = *(*[12]int8)(unsafe.Pointer(ts + 22070)) /* sqlite3.c:158740:19 */ -var leadName = *(*[5]int8)(unsafe.Pointer(ts + 22082)) /* sqlite3.c:158741:19 */ -var lagName = *(*[4]int8)(unsafe.Pointer(ts + 22087 /* "lag" */)) /* sqlite3.c:158742:19 */ +var row_numberName = *(*[11]int8)(unsafe.Pointer(ts + 21993)) /* sqlite3.c:158789:19 */ +var dense_rankName = *(*[11]int8)(unsafe.Pointer(ts + 22004)) /* sqlite3.c:158790:19 */ +var rankName = *(*[5]int8)(unsafe.Pointer(ts + 22015)) /* sqlite3.c:158791:19 */ +var percent_rankName = *(*[13]int8)(unsafe.Pointer(ts + 22020)) /* sqlite3.c:158792:19 */ +var cume_distName = *(*[10]int8)(unsafe.Pointer(ts + 22033)) /* sqlite3.c:158793:19 */ +var ntileName = *(*[6]int8)(unsafe.Pointer(ts + 22043)) /* sqlite3.c:158794:19 */ +var last_valueName = *(*[11]int8)(unsafe.Pointer(ts + 22049)) /* sqlite3.c:158795:19 */ +var nth_valueName = *(*[10]int8)(unsafe.Pointer(ts + 22060)) /* sqlite3.c:158796:19 */ +var first_valueName = *(*[12]int8)(unsafe.Pointer(ts + 22070)) /* sqlite3.c:158797:19 */ +var leadName = *(*[5]int8)(unsafe.Pointer(ts + 22082)) /* sqlite3.c:158798:19 */ +var lagName = *(*[4]int8)(unsafe.Pointer(ts + 22087 /* "lag" */)) /* sqlite3.c:158799:19 */ // No-op implementations of xStep() and xFinalize(). Used as place-holders // for built-in window functions that never call those interfaces. @@ -139248,7 +139279,7 @@ var lagName = *(*[4]int8)(unsafe.Pointer(ts + 22087 /* "lag" */)) /* sqlite3.c:1 // noopStepFunc() is never called, and so it is marked with NO_TEST to // let the test coverage routine know not to expect this function to be // invoked. -func noopStepFunc(tls *libc.TLS, p uintptr, n int32, a uintptr) { /* sqlite3.c:158753:13: */ //NO_TEST +func noopStepFunc(tls *libc.TLS, p uintptr, n int32, a uintptr) { /* sqlite3.c:158810:13: */ //NO_TEST _ = p //NO_TEST _ = n //NO_TEST _ = a //NO_TEST @@ -139256,7 +139287,7 @@ func noopStepFunc(tls *libc.TLS, p uintptr, n int32, a uintptr) { /* sqlite3.c:1 } //NO_TEST -func noopValueFunc(tls *libc.TLS, p uintptr) { /* sqlite3.c:158763:13: */ +func noopValueFunc(tls *libc.TLS, p uintptr) { /* sqlite3.c:158820:13: */ _ = p /*no-op*/ } @@ -139271,7 +139302,7 @@ func noopValueFunc(tls *libc.TLS, p uintptr) { /* sqlite3.c:158763:13: */ // xInverse. // Register those built-in window functions that are not also aggregates. -func Xsqlite3WindowFunctions(tls *libc.TLS) { /* sqlite3.c:158794:21: */ +func Xsqlite3WindowFunctions(tls *libc.TLS) { /* sqlite3.c:158851:21: */ Xsqlite3InsertBuiltinFuncs(tls, uintptr(unsafe.Pointer(&aWindowFuncs)), int32(uint64(unsafe.Sizeof(aWindowFuncs))/uint64(unsafe.Sizeof(FuncDef{})))) } @@ -139290,9 +139321,9 @@ var aWindowFuncs = [15]FuncDef{ {FnArg: int8(3), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_UTF8 | SQLITE_FUNC_WINDOW | 0), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: 0}, {FnArg: int8(1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_UTF8 | SQLITE_FUNC_WINDOW | 0), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: 0}, {FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_UTF8 | SQLITE_FUNC_WINDOW | 0), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: 0}, - {FnArg: int8(3), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_UTF8 | SQLITE_FUNC_WINDOW | 0), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: 0}} /* sqlite3.c:158795:18 */ + {FnArg: int8(3), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_UTF8 | SQLITE_FUNC_WINDOW | 0), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: 0}} /* sqlite3.c:158852:18 */ -func windowFind(tls *libc.TLS, pParse uintptr, pList uintptr, zName uintptr) uintptr { /* sqlite3.c:158815:15: */ +func windowFind(tls *libc.TLS, pParse uintptr, pList uintptr, zName uintptr) uintptr { /* sqlite3.c:158872:15: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -139323,7 +139354,7 @@ func windowFind(tls *libc.TLS, pParse uintptr, pList uintptr, zName uintptr) uin // * If the function is a built-in window function that requires the // window to be coerced (see "BUILT-IN WINDOW FUNCTIONS" at the top // of this file), pWin is updated here. -func Xsqlite3WindowUpdate(tls *libc.TLS, pParse uintptr, pList uintptr, pWin uintptr, pFunc uintptr) { /* sqlite3.c:158843:21: */ +func Xsqlite3WindowUpdate(tls *libc.TLS, pParse uintptr, pList uintptr, pWin uintptr, pFunc uintptr) { /* sqlite3.c:158900:21: */ bp := tls.Alloc(192) defer tls.Free(192) @@ -139391,16 +139422,16 @@ type WindowUpdate = struct { FeStart int32 FeEnd int32 F__ccgo_pad1 [4]byte -} /* sqlite3.c:158878:7 */ +} /* sqlite3.c:158935:7 */ // Context object passed through sqlite3WalkExprList() to // selectWindowRewriteExprCb() by selectWindowRewriteEList(). -type WindowRewrite = WindowRewrite1 /* sqlite3.c:158918:30 */ +type WindowRewrite = WindowRewrite1 /* sqlite3.c:158975:30 */ // Callback function used by selectWindowRewriteEList(). If necessary, // this function appends to the output expression-list and updates // expression (*ppExpr) in place. -func selectWindowRewriteExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:158932:12: */ +func selectWindowRewriteExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:158989:12: */ var p uintptr = *(*uintptr)(unsafe.Pointer(pWalker + 40)) var pParse uintptr = (*Walker)(unsafe.Pointer(pWalker)).FpParse @@ -139500,7 +139531,7 @@ func selectWindowRewriteExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) in return WRC_Continue } -func selectWindowRewriteSelectCb(tls *libc.TLS, pWalker uintptr, pSelect uintptr) int32 { /* sqlite3.c:159014:12: */ +func selectWindowRewriteSelectCb(tls *libc.TLS, pWalker uintptr, pSelect uintptr) int32 { /* sqlite3.c:159071:12: */ var p uintptr = *(*uintptr)(unsafe.Pointer(pWalker + 40)) var pSave uintptr = (*WindowRewrite1)(unsafe.Pointer(p)).FpSubSelect if pSave == pSelect { @@ -139524,7 +139555,7 @@ func selectWindowRewriteSelectCb(tls *libc.TLS, pWalker uintptr, pSelect uintptr // with a TK_COLUMN that reads the (N-1)th element of table // pWin->iEphCsr, where N is the number of elements in (*ppSub) after // appending the new one. -func selectWindowRewriteEList(tls *libc.TLS, pParse uintptr, pWin uintptr, pSrc uintptr, pEList uintptr, pTab uintptr, ppSub uintptr) { /* sqlite3.c:159041:13: */ +func selectWindowRewriteEList(tls *libc.TLS, pParse uintptr, pWin uintptr, pSrc uintptr, pEList uintptr, pTab uintptr, ppSub uintptr) { /* sqlite3.c:159098:13: */ bp := tls.Alloc(88) defer tls.Free(88) @@ -139556,7 +139587,7 @@ func selectWindowRewriteEList(tls *libc.TLS, pParse uintptr, pWin uintptr, pSrc // Append a copy of each expression in expression-list pAppend to // expression list pList. Return a pointer to the result list. -func exprListAppendList(tls *libc.TLS, pParse uintptr, pList uintptr, pAppend uintptr, bIntToNull int32) uintptr { /* sqlite3.c:159075:17: */ +func exprListAppendList(tls *libc.TLS, pParse uintptr, pList uintptr, pAppend uintptr, bIntToNull int32) uintptr { /* sqlite3.c:159132:17: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -139602,7 +139633,7 @@ func exprListAppendList(tls *libc.TLS, pParse uintptr, pList uintptr, pAppend ui // due to the extra subquery layer that was added. // // See also the incrAggDepth() routine in resolve.c -func sqlite3WindowExtraAggFuncDepth(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:159117:12: */ +func sqlite3WindowExtraAggFuncDepth(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:159174:12: */ if int32((*Expr)(unsafe.Pointer(pExpr)).Fop) == TK_AGG_FUNCTION && int32((*Expr)(unsafe.Pointer(pExpr)).Fop2) >= (*Walker)(unsafe.Pointer(pWalker)).FwalkerDepth { (*Expr)(unsafe.Pointer(pExpr)).Fop2++ @@ -139610,7 +139641,7 @@ func sqlite3WindowExtraAggFuncDepth(tls *libc.TLS, pWalker uintptr, pExpr uintpt return WRC_Continue } -func disallowAggregatesInOrderByCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:159126:12: */ +func disallowAggregatesInOrderByCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:159183:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -139627,7 +139658,7 @@ func disallowAggregatesInOrderByCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr // rewrites the SELECT statement so that window function xStep functions // are invoked in the correct order as described under "SELECT REWRITING" // at the top of this file. -func Xsqlite3WindowRewrite(tls *libc.TLS, pParse uintptr, p uintptr) int32 { /* sqlite3.c:159142:20: */ +func Xsqlite3WindowRewrite(tls *libc.TLS, pParse uintptr, p uintptr) int32 { /* sqlite3.c:159199:20: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -139811,7 +139842,7 @@ func Xsqlite3WindowRewrite(tls *libc.TLS, pParse uintptr, p uintptr) int32 { /* // Unlink the Window object from the Select to which it is attached, // if it is attached. -func Xsqlite3WindowUnlinkFromSelect(tls *libc.TLS, p uintptr) { /* sqlite3.c:159306:21: */ +func Xsqlite3WindowUnlinkFromSelect(tls *libc.TLS, p uintptr) { /* sqlite3.c:159363:21: */ if (*Window)(unsafe.Pointer(p)).FppThis != 0 { *(*uintptr)(unsafe.Pointer((*Window)(unsafe.Pointer(p)).FppThis)) = (*Window)(unsafe.Pointer(p)).FpNextWin if (*Window)(unsafe.Pointer(p)).FpNextWin != 0 { @@ -139822,7 +139853,7 @@ func Xsqlite3WindowUnlinkFromSelect(tls *libc.TLS, p uintptr) { /* sqlite3.c:159 } // Free the Window object passed as the second argument. -func Xsqlite3WindowDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:159317:21: */ +func Xsqlite3WindowDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:159374:21: */ if p != 0 { Xsqlite3WindowUnlinkFromSelect(tls, p) Xsqlite3ExprDelete(tls, db, (*Window)(unsafe.Pointer(p)).FpFilter) @@ -139837,7 +139868,7 @@ func Xsqlite3WindowDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:1 } // Free the linked list of Window objects starting at the second argument. -func Xsqlite3WindowListDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:159334:21: */ +func Xsqlite3WindowListDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:159391:21: */ for p != 0 { var pNext uintptr = (*Window)(unsafe.Pointer(p)).FpNextWin Xsqlite3WindowDelete(tls, db, p) @@ -139850,7 +139881,7 @@ func Xsqlite3WindowListDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3 // constant, change it to NULL. The fact that it is then a non-negative // integer will be caught later. But it is important not to leave // variable values in the expression tree. -func sqlite3WindowOffsetExpr(tls *libc.TLS, pParse uintptr, pExpr uintptr) uintptr { /* sqlite3.c:159349:13: */ +func sqlite3WindowOffsetExpr(tls *libc.TLS, pParse uintptr, pExpr uintptr) uintptr { /* sqlite3.c:159406:13: */ if 0 == Xsqlite3ExprIsConstant(tls, pExpr) { if int32((*Parse)(unsafe.Pointer(pParse)).FeParseMode) >= PARSE_MODE_RENAME { Xsqlite3RenameExprUnmap(tls, pParse, pExpr) @@ -139862,7 +139893,7 @@ func sqlite3WindowOffsetExpr(tls *libc.TLS, pParse uintptr, pExpr uintptr) uintp } // Allocate and return a new Window object describing a Window Definition. -func Xsqlite3WindowAlloc(tls *libc.TLS, pParse uintptr, eType int32, eStart int32, pStart uintptr, eEnd int32, pEnd uintptr, eExclude U8) uintptr { /* sqlite3.c:159361:23: */ +func Xsqlite3WindowAlloc(tls *libc.TLS, pParse uintptr, eType int32, eStart int32, pStart uintptr, eEnd int32, pEnd uintptr, eExclude U8) uintptr { /* sqlite3.c:159418:23: */ var pWin uintptr var bImplicitFrame int32 pWin = uintptr(0) @@ -139931,7 +139962,7 @@ windowAllocErr: // Attach PARTITION and ORDER BY clauses pPartition and pOrderBy to window // pWin. Also, if parameter pBase is not NULL, set pWin->zBase to the // equivalent nul-terminated string. -func Xsqlite3WindowAssemble(tls *libc.TLS, pParse uintptr, pWin uintptr, pPartition uintptr, pOrderBy uintptr, pBase uintptr) uintptr { /* sqlite3.c:159433:23: */ +func Xsqlite3WindowAssemble(tls *libc.TLS, pParse uintptr, pWin uintptr, pPartition uintptr, pOrderBy uintptr, pBase uintptr) uintptr { /* sqlite3.c:159490:23: */ if pWin != 0 { (*Window)(unsafe.Pointer(pWin)).FpPartition = pPartition (*Window)(unsafe.Pointer(pWin)).FpOrderBy = pOrderBy @@ -139950,7 +139981,7 @@ func Xsqlite3WindowAssemble(tls *libc.TLS, pParse uintptr, pWin uintptr, pPartit // stored in the linked list starting at pWin->pNextWin. This function // either updates *pWin according to the base specification, or else // leaves an error in pParse. -func Xsqlite3WindowChain(tls *libc.TLS, pParse uintptr, pWin uintptr, pList uintptr) { /* sqlite3.c:159460:21: */ +func Xsqlite3WindowChain(tls *libc.TLS, pParse uintptr, pWin uintptr, pList uintptr) { /* sqlite3.c:159517:21: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -139984,7 +140015,7 @@ func Xsqlite3WindowChain(tls *libc.TLS, pParse uintptr, pWin uintptr, pList uint } // Attach window object pWin to expression p. -func Xsqlite3WindowAttach(tls *libc.TLS, pParse uintptr, p uintptr, pWin uintptr) { /* sqlite3.c:159494:21: */ +func Xsqlite3WindowAttach(tls *libc.TLS, pParse uintptr, p uintptr, pWin uintptr) { /* sqlite3.c:159551:21: */ if p != 0 { *(*uintptr)(unsafe.Pointer(p + 64)) = pWin @@ -140003,7 +140034,7 @@ func Xsqlite3WindowAttach(tls *libc.TLS, pParse uintptr, p uintptr, pWin uintptr // to be processed as part of SELECT statement pSel). The window is linked // in if either (a) there are no other windows already linked to this // SELECT, or (b) the windows already linked use a compatible window frame. -func Xsqlite3WindowLink(tls *libc.TLS, pSel uintptr, pWin uintptr) { /* sqlite3.c:159517:21: */ +func Xsqlite3WindowLink(tls *libc.TLS, pSel uintptr, pWin uintptr) { /* sqlite3.c:159574:21: */ if pSel != 0 { if uintptr(0) == (*Select)(unsafe.Pointer(pSel)).FpWin || 0 == Xsqlite3WindowCompare(tls, uintptr(0), (*Select)(unsafe.Pointer(pSel)).FpWin, pWin, 0) { (*Window)(unsafe.Pointer(pWin)).FpNextWin = (*Select)(unsafe.Pointer(pSel)).FpWin @@ -140023,7 +140054,7 @@ func Xsqlite3WindowLink(tls *libc.TLS, pSel uintptr, pWin uintptr) { /* sqlite3. // Return 0 if the two window objects are identical, 1 if they are // different, or 2 if it cannot be determined if the objects are identical // or not. Identical window objects can be processed in a single scan. -func Xsqlite3WindowCompare(tls *libc.TLS, pParse uintptr, p1 uintptr, p2 uintptr, bFilter int32) int32 { /* sqlite3.c:159539:20: */ +func Xsqlite3WindowCompare(tls *libc.TLS, pParse uintptr, p1 uintptr, p2 uintptr, bFilter int32) int32 { /* sqlite3.c:159596:20: */ var res int32 if p1 == uintptr(0) || p2 == uintptr(0) { return 1 @@ -140063,7 +140094,7 @@ func Xsqlite3WindowCompare(tls *libc.TLS, pParse uintptr, p1 uintptr, p2 uintptr // This is called by code in select.c before it calls sqlite3WhereBegin() // to begin iterating through the sub-query results. It is used to allocate // and initialize registers and cursors used by sqlite3WindowCodeStep(). -func Xsqlite3WindowCodeInit(tls *libc.TLS, pParse uintptr, pSelect uintptr) { /* sqlite3.c:159573:21: */ +func Xsqlite3WindowCodeInit(tls *libc.TLS, pParse uintptr, pSelect uintptr) { /* sqlite3.c:159630:21: */ var nEphExpr int32 = (*ExprList)(unsafe.Pointer((*Select)(unsafe.Pointer((*SrcItem)(unsafe.Pointer((*Select)(unsafe.Pointer(pSelect)).FpSrc + 8)).FpSelect)).FpEList)).FnExpr var pMWin uintptr = (*Select)(unsafe.Pointer(pSelect)).FpWin var pWin uintptr @@ -140139,7 +140170,7 @@ func Xsqlite3WindowCodeInit(tls *libc.TLS, pParse uintptr, pSelect uintptr) { /* // evaluated and the result left in register reg. This function generates VM // code to check that the value is a non-negative integer and throws an // exception if it is not. -func windowCheckValue(tls *libc.TLS, pParse uintptr, reg int32, eCond int32) { /* sqlite3.c:159660:13: */ +func windowCheckValue(tls *libc.TLS, pParse uintptr, reg int32, eCond int32) { /* sqlite3.c:159717:13: */ var v uintptr = Xsqlite3GetVdbe(tls, pParse) var regZero int32 = Xsqlite3GetTempReg(tls, pParse) @@ -140173,12 +140204,12 @@ var azErr = [5]uintptr{ ts + 21892, ts + 22539, ts + 22591, -} /* sqlite3.c:159661:21 */ -var aOp1 = [5]int32{OP_Ge, OP_Ge, OP_Gt, OP_Ge, OP_Ge} /* sqlite3.c:159668:14 */ +} /* sqlite3.c:159718:21 */ +var aOp1 = [5]int32{OP_Ge, OP_Ge, OP_Gt, OP_Ge, OP_Ge} /* sqlite3.c:159725:14 */ // Return the number of arguments passed to the window-function associated // with the object passed as the only argument to this function. -func windowArgCount(tls *libc.TLS, pWin uintptr) int32 { /* sqlite3.c:159707:12: */ +func windowArgCount(tls *libc.TLS, pWin uintptr) int32 { /* sqlite3.c:159764:12: */ var pList uintptr pList = *(*uintptr)(unsafe.Pointer((*Window)(unsafe.Pointer(pWin)).FpOwner + 32)) @@ -140203,19 +140234,19 @@ type WindowCodeArg1 = struct { Fcurrent WindowCsrAndReg Fend WindowCsrAndReg F__ccgo_pad1 [4]byte -} /* sqlite3.c:159714:9 */ +} /* sqlite3.c:159771:9 */ -type WindowCodeArg = WindowCodeArg1 /* sqlite3.c:159714:30 */ +type WindowCodeArg = WindowCodeArg1 /* sqlite3.c:159771:30 */ type WindowCsrAndReg1 = struct { Fcsr int32 Freg int32 -} /* sqlite3.c:159714:9 */ +} /* sqlite3.c:159771:9 */ -type WindowCsrAndReg = WindowCsrAndReg1 /* sqlite3.c:159715:32 */ +type WindowCsrAndReg = WindowCsrAndReg1 /* sqlite3.c:159772:32 */ // Generate VM code to read the window frames peer values from cursor csr into // an array of registers starting at reg. -func windowReadPeerValues(tls *libc.TLS, p uintptr, csr int32, reg int32) { /* sqlite3.c:159799:13: */ +func windowReadPeerValues(tls *libc.TLS, p uintptr, csr int32, reg int32) { /* sqlite3.c:159856:13: */ var pMWin uintptr = (*WindowCodeArg)(unsafe.Pointer(p)).FpMWin var pOrderBy uintptr = (*Window)(unsafe.Pointer(pMWin)).FpOrderBy if pOrderBy != 0 { @@ -140251,7 +140282,7 @@ func windowReadPeerValues(tls *libc.TLS, p uintptr, csr int32, reg int32) { /* s // // If argument regPartSize is non-zero, then it is a register containing the // number of rows in the current partition. -func windowAggStep(tls *libc.TLS, p uintptr, pMWin uintptr, csr int32, bInverse int32, reg int32) { /* sqlite3.c:159836:13: */ +func windowAggStep(tls *libc.TLS, p uintptr, pMWin uintptr, csr int32, bInverse int32, reg int32) { /* sqlite3.c:159893:13: */ var pParse uintptr = (*WindowCodeArg)(unsafe.Pointer(p)).FpParse var v uintptr = Xsqlite3GetVdbe(tls, pParse) var pWin uintptr @@ -140358,7 +140389,7 @@ func windowAggStep(tls *libc.TLS, p uintptr, pMWin uintptr, csr int32, bInverse // (bFin==1) for each window function in the linked list starting at // pMWin. Or, for built-in window-functions that do not use the standard // API, generate the equivalent VM code. -func windowAggFinal(tls *libc.TLS, p uintptr, bFin int32) { /* sqlite3.c:159953:13: */ +func windowAggFinal(tls *libc.TLS, p uintptr, bFin int32) { /* sqlite3.c:160010:13: */ var pParse uintptr = (*WindowCodeArg)(unsafe.Pointer(p)).FpParse var pMWin uintptr = (*WindowCodeArg)(unsafe.Pointer(p)).FpMWin var v uintptr = Xsqlite3GetVdbe(tls, pParse) @@ -140394,7 +140425,7 @@ func windowAggFinal(tls *libc.TLS, p uintptr, bFin int32) { /* sqlite3.c:159953: // p->pMWin list by doing a full scan of the current window frame. Store the // results in the Window.regResult registers, ready to return the upper // layer. -func windowFullScan(tls *libc.TLS, p uintptr) { /* sqlite3.c:159992:13: */ +func windowFullScan(tls *libc.TLS, p uintptr) { /* sqlite3.c:160049:13: */ var pWin uintptr var pParse uintptr = (*WindowCodeArg)(unsafe.Pointer(p)).FpParse var pMWin uintptr = (*WindowCodeArg)(unsafe.Pointer(p)).FpMWin @@ -140501,7 +140532,7 @@ func windowFullScan(tls *libc.TLS, p uintptr) { /* sqlite3.c:159992:13: */ // first_value() // lag() // lead() -func windowReturnOneRow(tls *libc.TLS, p uintptr) { /* sqlite3.c:160098:13: */ +func windowReturnOneRow(tls *libc.TLS, p uintptr) { /* sqlite3.c:160155:13: */ var pMWin uintptr = (*WindowCodeArg)(unsafe.Pointer(p)).FpMWin var v uintptr = (*WindowCodeArg)(unsafe.Pointer(p)).FpVdbe @@ -140584,7 +140615,7 @@ func windowReturnOneRow(tls *libc.TLS, p uintptr) { /* sqlite3.c:160098:13: */ // in the linked list passed as the second argument to NULL. And perform // any equivalent initialization required by any built-in window functions // in the list. -func windowInitAccum(tls *libc.TLS, pParse uintptr, pMWin uintptr) int32 { /* sqlite3.c:160175:12: */ +func windowInitAccum(tls *libc.TLS, pParse uintptr, pMWin uintptr) int32 { /* sqlite3.c:160232:12: */ var v uintptr = Xsqlite3GetVdbe(tls, pParse) var regArg int32 var nArg int32 = 0 @@ -140619,7 +140650,7 @@ func windowInitAccum(tls *libc.TLS, pParse uintptr, pMWin uintptr) int32 { /* sq // Return true if the current frame should be cached in the ephemeral table, // even if there are no xInverse() calls required. -func windowCacheFrame(tls *libc.TLS, pMWin uintptr) int32 { /* sqlite3.c:160207:12: */ +func windowCacheFrame(tls *libc.TLS, pMWin uintptr) int32 { /* sqlite3.c:160264:12: */ var pWin uintptr if (*Window)(unsafe.Pointer(pMWin)).FregStartRowid != 0 { return 1 @@ -140644,7 +140675,7 @@ func windowCacheFrame(tls *libc.TLS, pMWin uintptr) int32 { /* sqlite3.c:160207: // If the two arrays are not equal, the contents of regNew is copied to // regOld and control falls through. Otherwise, if the contents of the arrays // are equal, an OP_Goto is executed. The address of the OP_Goto is returned. -func windowIfNewPeer(tls *libc.TLS, pParse uintptr, pOrderBy uintptr, regNew int32, regOld int32, addr int32) { /* sqlite3.c:160233:13: */ +func windowIfNewPeer(tls *libc.TLS, pParse uintptr, pOrderBy uintptr, regNew int32, regOld int32, addr int32) { /* sqlite3.c:160290:13: */ var v uintptr = Xsqlite3GetVdbe(tls, pParse) if pOrderBy != 0 { var nVal int32 = (*ExprList)(unsafe.Pointer(pOrderBy)).FnExpr @@ -140681,7 +140712,7 @@ func windowIfNewPeer(tls *libc.TLS, pParse uintptr, pOrderBy uintptr, regNew int // A special type of arithmetic is used such that if csr1.peerVal is not // a numeric type (real or integer), then the result of the addition // or subtraction is a a copy of csr1.peerVal. -func windowCodeRangeTest(tls *libc.TLS, p uintptr, op int32, csr1 int32, regVal int32, csr2 int32, lbl int32) { /* sqlite3.c:160279:13: */ +func windowCodeRangeTest(tls *libc.TLS, p uintptr, op int32, csr1 int32, regVal int32, csr2 int32, lbl int32) { /* sqlite3.c:160336:13: */ var pParse uintptr = (*WindowCodeArg)(unsafe.Pointer(p)).FpParse var v uintptr = Xsqlite3GetVdbe(tls, pParse) var pOrderBy uintptr = (*Window)(unsafe.Pointer((*WindowCodeArg)(unsafe.Pointer(p)).FpMWin)).FpOrderBy // ORDER BY clause for window @@ -140804,7 +140835,7 @@ func windowCodeRangeTest(tls *libc.TLS, p uintptr, op int32, csr1 int32, regVal // generates VM code for a single RETURN_ROW, AGGSTEP or AGGINVERSE // operation. Refer to the header comment for sqlite3WindowCodeStep() for // details. -func windowCodeOp(tls *libc.TLS, p uintptr, op int32, regCountdown int32, jumpOnEof int32) int32 { /* sqlite3.c:160412:12: */ +func windowCodeOp(tls *libc.TLS, p uintptr, op int32, regCountdown int32, jumpOnEof int32) int32 { /* sqlite3.c:160469:12: */ var csr int32 var reg int32 var pParse uintptr = (*WindowCodeArg)(unsafe.Pointer(p)).FpParse @@ -140952,7 +140983,7 @@ func windowCodeOp(tls *libc.TLS, p uintptr, op int32, regCountdown int32, jumpOn // Allocate and return a duplicate of the Window object indicated by the // third argument. Set the Window.pOwner field of the new object to // pOwner. -func Xsqlite3WindowDup(tls *libc.TLS, db uintptr, pOwner uintptr, p uintptr) uintptr { /* sqlite3.c:160561:23: */ +func Xsqlite3WindowDup(tls *libc.TLS, db uintptr, pOwner uintptr, p uintptr) uintptr { /* sqlite3.c:160618:23: */ var pNew uintptr = uintptr(0) if p != 0 { pNew = Xsqlite3DbMallocZero(tls, db, uint64(unsafe.Sizeof(Window{}))) @@ -140983,7 +141014,7 @@ func Xsqlite3WindowDup(tls *libc.TLS, db uintptr, pOwner uintptr, p uintptr) uin // Return a copy of the linked list of Window objects passed as the // second argument. -func Xsqlite3WindowListDup(tls *libc.TLS, db uintptr, p uintptr) uintptr { /* sqlite3.c:160594:23: */ +func Xsqlite3WindowListDup(tls *libc.TLS, db uintptr, p uintptr) uintptr { /* sqlite3.c:160651:23: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -141008,7 +141039,7 @@ func Xsqlite3WindowListDup(tls *libc.TLS, db uintptr, p uintptr) uintptr { /* sq // // If an OOM error occurs, this function sets the Parse.db.mallocFailed // flag and returns zero. -func windowExprGtZero(tls *libc.TLS, pParse uintptr, pExpr uintptr) int32 { /* sqlite3.c:160616:12: */ +func windowExprGtZero(tls *libc.TLS, pParse uintptr, pExpr uintptr) int32 { /* sqlite3.c:160673:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -141356,7 +141387,7 @@ func windowExprGtZero(tls *libc.TLS, pParse uintptr, pExpr uintptr) int32 { /* s // // The text above leaves out many details. Refer to the code and comments // below for a more complete picture. -func Xsqlite3WindowCodeStep(tls *libc.TLS, pParse uintptr, p uintptr, pWInfo uintptr, regGosub int32, addrGosub int32) { /* sqlite3.c:160963:21: */ +func Xsqlite3WindowCodeStep(tls *libc.TLS, pParse uintptr, p uintptr, pWInfo uintptr, regGosub int32, addrGosub int32) { /* sqlite3.c:161020:21: */ bp := tls.Alloc(72) defer tls.Free(72) @@ -141753,17 +141784,17 @@ type TrigEvent = struct { Fa int32 F__ccgo_pad1 [4]byte Fb uintptr -} /* sqlite3.c:161363:1 */ +} /* sqlite3.c:161420:1 */ type FrameBound = struct { FeType int32 F__ccgo_pad1 [4]byte FpExpr uintptr -} /* sqlite3.c:161365:1 */ +} /* sqlite3.c:161422:1 */ // Disable lookaside memory allocation for objects that might be // shared across database connections. -func disableLookaside(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:161371:13: */ +func disableLookaside(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:161428:13: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb (*Parse)(unsafe.Pointer(pParse)).FdisableLookaside++ (*Sqlite3)(unsafe.Pointer(db)).Flookaside.FbDisable++ @@ -141773,7 +141804,7 @@ func disableLookaside(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:161371:13: * // For a compound SELECT statement, make sure p->pPrior->pNext==p for // all elements in the list. And make sure list length does not exceed // SQLITE_LIMIT_COMPOUND_SELECT. -func parserDoubleLinkSelect(tls *libc.TLS, pParse uintptr, p uintptr) { /* sqlite3.c:161404:15: */ +func parserDoubleLinkSelect(tls *libc.TLS, pParse uintptr, p uintptr) { /* sqlite3.c:161461:15: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -141812,7 +141843,7 @@ func parserDoubleLinkSelect(tls *libc.TLS, pParse uintptr, p uintptr) { /* sqlit // Attach a With object describing the WITH clause to a Select // object describing the query for which the WITH clause is a prefix. -func attachWithToSelect(tls *libc.TLS, pParse uintptr, pSelect uintptr, pWith uintptr) uintptr { /* sqlite3.c:161435:17: */ +func attachWithToSelect(tls *libc.TLS, pParse uintptr, pSelect uintptr, pWith uintptr) uintptr { /* sqlite3.c:161492:17: */ if pSelect != 0 { (*Select)(unsafe.Pointer(pSelect)).FpWith = pWith parserDoubleLinkSelect(tls, pParse, pSelect) @@ -141824,7 +141855,7 @@ func attachWithToSelect(tls *libc.TLS, pParse uintptr, pSelect uintptr, pWith ui } // Construct a new Expr object from a single token -func tokenExpr(tls *libc.TLS, pParse uintptr, op int32, t Token) uintptr { /* sqlite3.c:161447:15: */ +func tokenExpr(tls *libc.TLS, pParse uintptr, op int32, t Token) uintptr { /* sqlite3.c:161504:15: */ bp := tls.Alloc(16) defer tls.Free(16) *(*Token)(unsafe.Pointer(bp)) = t @@ -141862,7 +141893,7 @@ func tokenExpr(tls *libc.TLS, pParse uintptr, op int32, t Token) uintptr { /* sq // A routine to convert a binary TK_IS or TK_ISNOT expression into a // unary TK_ISNULL or TK_NOTNULL expression. -func binaryToUnaryIfNull(tls *libc.TLS, pParse uintptr, pY uintptr, pA uintptr, op int32) { /* sqlite3.c:161483:15: */ +func binaryToUnaryIfNull(tls *libc.TLS, pParse uintptr, pY uintptr, pA uintptr, op int32) { /* sqlite3.c:161540:15: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb if pA != 0 && pY != 0 && int32((*Expr)(unsafe.Pointer(pY)).Fop) == TK_NULL && !(int32((*Parse)(unsafe.Pointer(pParse)).FeParseMode) >= PARSE_MODE_RENAME) { (*Expr)(unsafe.Pointer(pA)).Fop = U8(op) @@ -141876,7 +141907,7 @@ func binaryToUnaryIfNull(tls *libc.TLS, pParse uintptr, pY uintptr, pA uintptr, // list of identifiers. Report an error if the ID list contains // a COLLATE clause or an ASC or DESC keyword, except ignore the // error while parsing a legacy schema. -func parserAddExprIdListTerm(tls *libc.TLS, pParse uintptr, pPrior uintptr, pIdToken uintptr, hasCollate int32, sortOrder int32) uintptr { /* sqlite3.c:161497:19: */ +func parserAddExprIdListTerm(tls *libc.TLS, pParse uintptr, pPrior uintptr, pIdToken uintptr, hasCollate int32, sortOrder int32) uintptr { /* sqlite3.c:161554:19: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -141951,7 +141982,7 @@ type YYMINORTYPE = struct { F__ccgo_pad1 [0]uint64 Fyyinit int32 F__ccgo_pad2 [12]byte -} /* sqlite3.c:161789:3 */ +} /* sqlite3.c:161846:3 */ //************ End control #defines ****************************************** // Define the yytestcase() macro to be a no-op if is not already defined @@ -142220,7 +142251,7 @@ var yy_action = [2070]uint16{ /* 2040 */ uint16(29), uint16(921), uint16(390), uint16(1176), uint16(172), uint16(139), uint16(1175), uint16(1235), uint16(261), uint16(1235), /* 2050 */ uint16(1235), uint16(1235), uint16(1235), uint16(1235), uint16(1235), uint16(1235), uint16(1235), uint16(262), uint16(1235), uint16(1235), /* 2060 */ uint16(1235), uint16(1235), uint16(1235), uint16(1235), uint16(1235), uint16(1235), uint16(1235), uint16(1235), uint16(1593), uint16(1592), -} /* sqlite3.c:161883:27 */ +} /* sqlite3.c:161940:27 */ var yy_lookahead = [2255]uint16{ /* 0 */ uint16(193), uint16(223), uint16(193), uint16(225), uint16(193), uint16(193), uint16(193), uint16(274), uint16(275), uint16(276), /* 10 */ uint16(193), uint16(233), uint16(219), uint16(193), uint16(274), uint16(275), uint16(276), uint16(206), uint16(206), uint16(19), @@ -142448,7 +142479,7 @@ var yy_lookahead = [2255]uint16{ /* 2230 */ uint16(319), uint16(319), uint16(319), uint16(319), uint16(319), uint16(319), uint16(319), uint16(319), uint16(319), uint16(319), /* 2240 */ uint16(319), uint16(319), uint16(319), uint16(319), uint16(319), uint16(319), uint16(319), uint16(319), uint16(319), uint16(319), /* 2250 */ uint16(319), uint16(319), uint16(319), uint16(319), uint16(319), -} /* sqlite3.c:162092:25 */ +} /* sqlite3.c:162149:25 */ var yy_shift_ofst = [574]uint16{ /* 0 */ uint16(1648), uint16(1477), uint16(1272), uint16(322), uint16(322), uint16(262), uint16(1319), uint16(1478), uint16(1491), uint16(1662), /* 10 */ uint16(1662), uint16(1662), uint16(317), uint16(0), uint16(0), uint16(214), uint16(1093), uint16(1662), uint16(1662), uint16(1662), @@ -142508,7 +142539,7 @@ var yy_shift_ofst = [574]uint16{ /* 550 */ uint16(2005), uint16(2006), uint16(2007), uint16(2008), uint16(2009), uint16(2001), uint16(2020), uint16(2012), uint16(2013), uint16(2014), /* 560 */ uint16(2015), uint16(2017), uint16(2018), uint16(2011), uint16(1906), uint16(1907), uint16(1916), uint16(1927), uint16(1928), uint16(2019), /* 570 */ uint16(2022), uint16(2027), uint16(2042), uint16(2045), -} /* sqlite3.c:162323:33 */ +} /* sqlite3.c:162380:33 */ var yy_reduce_ofst = [409]int16{ /* 0 */ int16(-125), int16(733), int16(789), int16(241), int16(293), int16(-123), int16(-193), int16(-191), int16(-183), int16(-187), /* 10 */ int16(-180), int16(83), int16(133), int16(-207), int16(-198), int16(-267), int16(-175), int16(-6), int16(166), int16(313), @@ -142551,7 +142582,7 @@ var yy_reduce_ofst = [409]int16{ /* 380 */ int16(1641), int16(1602), int16(1676), int16(1642), int16(1646), int16(1644), int16(1650), int16(1654), int16(1683), int16(1694), /* 390 */ int16(1707), int16(1711), int16(1712), int16(1714), int16(1643), int16(1647), int16(1652), int16(1698), int16(1695), int16(1696), /* 400 */ int16(1697), int16(1699), int16(1700), int16(1689), int16(1691), int16(1701), int16(1702), int16(1704), int16(1715), -} /* sqlite3.c:162386:20 */ +} /* sqlite3.c:162443:20 */ var yy_default = [574]uint16{ /* 0 */ uint16(1637), uint16(1637), uint16(1637), uint16(1466), uint16(1233), uint16(1344), uint16(1233), uint16(1233), uint16(1233), uint16(1466), /* 10 */ uint16(1466), uint16(1466), uint16(1233), uint16(1374), uint16(1374), uint16(1519), uint16(1266), uint16(1233), uint16(1233), uint16(1233), @@ -142611,7 +142642,7 @@ var yy_default = [574]uint16{ /* 550 */ uint16(1233), uint16(1233), uint16(1233), uint16(1233), uint16(1233), uint16(1233), uint16(1233), uint16(1233), uint16(1233), uint16(1233), /* 560 */ uint16(1233), uint16(1233), uint16(1233), uint16(1610), uint16(1325), uint16(1416), uint16(1233), uint16(1415), uint16(1419), uint16(1255), /* 570 */ uint16(1233), uint16(1245), uint16(1233), uint16(1233), -} /* sqlite3.c:162429:27 */ +} /* sqlite3.c:162486:27 */ //********* End of lemon-generated parsing tables **************************** // The next table maps tokens (terminal symbols) into fallback tokens. @@ -142813,7 +142844,7 @@ var yyFallback = [185]uint16{ uint16(0), // ERROR => nothing uint16(0), // SPACE => nothing uint16(0), // ILLEGAL => nothing -} /* sqlite3.c:162506:25 */ +} /* sqlite3.c:162563:25 */ // The following structure represents a single element of the // parser's stack. Information stored includes: @@ -142835,9 +142866,9 @@ type yyStackEntry = struct { Fmajor uint16 F__ccgo_pad1 [4]byte Fminor YYMINORTYPE -} /* sqlite3.c:162711:1 */ +} /* sqlite3.c:162768:1 */ -type YyStackEntry = yyStackEntry /* sqlite3.c:162718:29 */ +type YyStackEntry = yyStackEntry /* sqlite3.c:162775:29 */ // The state of the parser is completely contained in an instance of // the following structure @@ -142846,9 +142877,9 @@ type yyParser = struct { FpParse uintptr Fyystack [100]YyStackEntry FyystackEnd uintptr -} /* sqlite3.c:162722:1 */ +} /* sqlite3.c:162779:1 */ -type YyParser = yyParser /* sqlite3.c:162741:25 */ +type YyParser = yyParser /* sqlite3.c:162798:25 */ // #include @@ -142858,7 +142889,7 @@ type YyParser = yyParser /* sqlite3.c:162741:25 */ // grammar. // Initialize a new parser that has already been allocated. -func Xsqlite3ParserInit(tls *libc.TLS, yypRawParser uintptr, pParse uintptr) { /* sqlite3.c:163556:21: */ +func Xsqlite3ParserInit(tls *libc.TLS, yypRawParser uintptr, pParse uintptr) { /* sqlite3.c:163613:21: */ var yypParser uintptr = yypRawParser (*YyParser)(unsafe.Pointer(yypParser)).FpParse = pParse (*YyParser)(unsafe.Pointer(yypParser)).Fyytos = yypParser + 16 /* &.yystack */ @@ -142873,7 +142904,7 @@ func Xsqlite3ParserInit(tls *libc.TLS, yypRawParser uintptr, pParse uintptr) { / // a pointer to the value to be deleted. The code used to do the // deletions is derived from the %destructor and/or %token_destructor // directives of the input grammar. -func yy_destructor(tls *libc.TLS, yypParser uintptr, yymajor uint16, yypminor uintptr) { /* sqlite3.c:163614:13: */ +func yy_destructor(tls *libc.TLS, yypParser uintptr, yymajor uint16, yypminor uintptr) { /* sqlite3.c:163671:13: */ var pParse uintptr = (*YyParser)(unsafe.Pointer(yypParser)).FpParse switch int32(yymajor) { @@ -143032,7 +143063,7 @@ func yy_destructor(tls *libc.TLS, yypParser uintptr, yymajor uint16, yypminor ui // // If there is a destructor routine associated with the token which // is popped from the stack, then call it. -func yy_pop_parser_stack(tls *libc.TLS, pParser uintptr) { /* sqlite3.c:163739:13: */ +func yy_pop_parser_stack(tls *libc.TLS, pParser uintptr) { /* sqlite3.c:163796:13: */ var yytos uintptr yytos = libc.PostDecUintptr(&(*YyParser)(unsafe.Pointer(pParser)).Fyytos, 24) @@ -143040,7 +143071,7 @@ func yy_pop_parser_stack(tls *libc.TLS, pParser uintptr) { /* sqlite3.c:163739:1 } // Clear all secondary memory allocations from the parser -func Xsqlite3ParserFinalize(tls *libc.TLS, p uintptr) { /* sqlite3.c:163757:21: */ +func Xsqlite3ParserFinalize(tls *libc.TLS, p uintptr) { /* sqlite3.c:163814:21: */ var pParser uintptr = p for (*YyParser)(unsafe.Pointer(pParser)).Fyytos > pParser+16 { yy_pop_parser_stack(tls, pParser) @@ -143063,7 +143094,7 @@ func Xsqlite3ParserFinalize(tls *libc.TLS, p uintptr) { /* sqlite3.c:163757:21: // Find the appropriate action for a parser given the terminal // look-ahead token iLookAhead. -func yy_find_shift_action(tls *libc.TLS, iLookAhead uint16, stateno uint16) uint16 { /* sqlite3.c:163837:21: */ +func yy_find_shift_action(tls *libc.TLS, iLookAhead uint16, stateno uint16) uint16 { /* sqlite3.c:163894:21: */ var i int32 if int32(stateno) > YY_MAX_SHIFT { @@ -143103,7 +143134,7 @@ func yy_find_shift_action(tls *libc.TLS, iLookAhead uint16, stateno uint16) uint // Find the appropriate action for a parser given the non-terminal // look-ahead token iLookAhead. -func yy_find_reduce_action(tls *libc.TLS, stateno uint16, iLookAhead uint16) uint16 { /* sqlite3.c:163902:21: */ +func yy_find_reduce_action(tls *libc.TLS, stateno uint16, iLookAhead uint16) uint16 { /* sqlite3.c:163959:21: */ var i int32 i = int32(yy_reduce_ofst[stateno]) @@ -143114,7 +143145,7 @@ func yy_find_reduce_action(tls *libc.TLS, stateno uint16, iLookAhead uint16) uin } // The following routine is called if the stack overflows. -func yyStackOverflow(tls *libc.TLS, yypParser uintptr) { /* sqlite3.c:163931:13: */ +func yyStackOverflow(tls *libc.TLS, yypParser uintptr) { /* sqlite3.c:163988:13: */ var pParse uintptr = (*YyParser)(unsafe.Pointer(yypParser)).FpParse for (*YyParser)(unsafe.Pointer(yypParser)).Fyytos > yypParser+16 { @@ -143133,7 +143164,7 @@ func yyStackOverflow(tls *libc.TLS, yypParser uintptr) { /* sqlite3.c:163931:13: // Print tracing information for a SHIFT action // Perform a shift action. -func yy_shift(tls *libc.TLS, yypParser uintptr, yyNewState uint16, yyMajor uint16, yyMinor Token) { /* sqlite3.c:163974:13: */ +func yy_shift(tls *libc.TLS, yypParser uintptr, yyNewState uint16, yyMajor uint16, yyMinor Token) { /* sqlite3.c:164031:13: */ var yytos uintptr (*YyParser)(unsafe.Pointer(yypParser)).Fyytos += 24 if (*YyParser)(unsafe.Pointer(yypParser)).Fyytos > (*YyParser)(unsafe.Pointer(yypParser)).FyystackEnd { @@ -143556,7 +143587,7 @@ var yyRuleInfoLhs = [402]uint16{ uint16(303), // (399) anylist ::= anylist LP anylist RP uint16(303), // (400) anylist ::= anylist ANY uint16(266), // (401) with ::= -} /* sqlite3.c:164015:25 */ +} /* sqlite3.c:164072:25 */ // For rule J, yyRuleInfoNRhs[J] contains the negative of the number // of symbols on the right-hand side of that rule. @@ -143963,7 +143994,7 @@ var yyRuleInfoNRhs = [402]int8{ int8(-4), // (399) anylist ::= anylist LP anylist RP int8(-2), // (400) anylist ::= anylist ANY int8(0), // (401) with ::= -} /* sqlite3.c:164422:26 */ +} /* sqlite3.c:164479:26 */ // Forward Declaration @@ -143975,7 +144006,7 @@ var yyRuleInfoNRhs = [402]int8{ // if the lookahead token has already been consumed. As this procedure is // only called from one place, optimizing compilers will in-line it, which // means that the extra parameters have no performance impact. -func yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead int32, yyLookaheadToken Token, pParse uintptr) uint16 { /* sqlite3.c:164839:21: */ +func yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead int32, yyLookaheadToken Token, pParse uintptr) uint16 { /* sqlite3.c:164896:21: */ bp := tls.Alloc(144) defer tls.Free(144) @@ -145970,7 +146001,7 @@ func yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead in // The following code executes when the parse fails // The following code executes when a syntax error first occurs. -func yy_syntax_error(tls *libc.TLS, yypParser uintptr, yymajor int32, yyminor Token) { /* sqlite3.c:166395:13: */ +func yy_syntax_error(tls *libc.TLS, yypParser uintptr, yymajor int32, yyminor Token) { /* sqlite3.c:166452:13: */ bp := tls.Alloc(24) defer tls.Free(24) *(*Token)(unsafe.Pointer(bp + 8)) = yyminor @@ -145990,7 +146021,7 @@ func yy_syntax_error(tls *libc.TLS, yypParser uintptr, yymajor int32, yyminor To } // The following is executed when the parser accepts -func yy_accept(tls *libc.TLS, yypParser uintptr) { /* sqlite3.c:166419:13: */ +func yy_accept(tls *libc.TLS, yypParser uintptr) { /* sqlite3.c:166476:13: */ var pParse uintptr = (*YyParser)(unsafe.Pointer(yypParser)).FpParse @@ -146020,7 +146051,7 @@ func yy_accept(tls *libc.TLS, yypParser uintptr) { /* sqlite3.c:166419:13: */ // // Outputs: // None. -func Xsqlite3Parser(tls *libc.TLS, yyp uintptr, yymajor int32, yyminor Token) { /* sqlite3.c:166460:21: */ +func Xsqlite3Parser(tls *libc.TLS, yyp uintptr, yymajor int32, yyminor Token) { /* sqlite3.c:166517:21: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -146074,7 +146105,7 @@ func Xsqlite3Parser(tls *libc.TLS, yyp uintptr, yymajor int32, yyminor Token) { // Return the fallback token corresponding to canonical token iToken, or // 0 if iToken has no fallback. -func Xsqlite3ParserFallback(tls *libc.TLS, iToken int32) int32 { /* sqlite3.c:166677:20: */ +func Xsqlite3ParserFallback(tls *libc.TLS, iToken int32) int32 { /* sqlite3.c:166734:20: */ return int32(yyFallback[iToken]) } @@ -146125,7 +146156,7 @@ var aiClass = [256]uint8{ /* Dx */ uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), /* Ex */ uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(30), /* Fx */ uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), -} /* sqlite3.c:166749:28 */ +} /* sqlite3.c:166806:28 */ // The charMap() macro maps alphabetic characters (only) into their // lower-case ASCII equivalent. On ASCII machines, this is just @@ -146211,7 +146242,7 @@ var zKWText = [666]int8{ int8('W'), int8('S'), int8('U'), int8('N'), int8('B'), int8('O'), int8('U'), int8('N'), int8('D'), int8('E'), int8('D'), int8('U'), int8('N'), int8('I'), int8('O'), int8('N'), int8('U'), int8('S'), int8('I'), int8('N'), int8('G'), int8('V'), int8('A'), int8('C'), int8('U'), int8('U'), int8('M'), int8('V'), int8('I'), int8('E'), int8('W'), int8('I'), int8('N'), int8('D'), int8('O'), int8('W'), int8('B'), int8('Y'), int8('I'), int8('N'), int8('I'), int8('T'), int8('I'), int8('A'), int8('L'), int8('L'), int8('Y'), int8('P'), int8('R'), int8('I'), int8('M'), int8('A'), int8('R'), int8('Y'), -} /* sqlite3.c:166865:19 */ +} /* sqlite3.c:166922:19 */ // aKWHash[i] is the hash value for the i-th keyword var aKWHash = [127]uint8{ uint8(84), uint8(92), uint8(134), uint8(82), uint8(105), uint8(29), uint8(0), uint8(0), uint8(94), uint8(0), uint8(85), uint8(72), uint8(0), @@ -146224,7 +146255,7 @@ var aKWHash = [127]uint8{ uint8(50), uint8(124), uint8(0), uint8(100), uint8(0), uint8(18), uint8(121), uint8(144), uint8(56), uint8(130), uint8(139), uint8(88), uint8(83), uint8(37), uint8(30), uint8(126), uint8(0), uint8(0), uint8(108), uint8(51), uint8(131), uint8(128), uint8(0), uint8(34), uint8(0), uint8(0), uint8(132), uint8(0), uint8(98), uint8(38), uint8(39), uint8(0), uint8(20), uint8(45), uint8(117), uint8(93), -} /* sqlite3.c:166905:28 */ +} /* sqlite3.c:166962:28 */ // aKWNext[] forms the hash collision chain. If aKWHash[i]==0 // then the i-th keyword has no more hash collisions. Otherwise, // the next keyword with the same hash is aKWHash[i]-1. @@ -146241,7 +146272,7 @@ var aKWNext = [147]uint8{ uint8(112), uint8(21), uint8(7), uint8(67), uint8(0), uint8(79), uint8(96), uint8(118), uint8(0), uint8(0), uint8(68), uint8(0), uint8(0), uint8(99), uint8(44), uint8(0), uint8(55), uint8(0), uint8(76), uint8(0), uint8(95), uint8(32), uint8(33), uint8(57), uint8(25), uint8(0), uint8(102), uint8(0), uint8(0), uint8(87), -} /* sqlite3.c:166920:28 */ +} /* sqlite3.c:166977:28 */ // aKWLen[i] is the length (in bytes) of the i-th keyword var aKWLen = [147]uint8{ uint8(7), uint8(7), uint8(5), uint8(4), uint8(6), uint8(4), uint8(5), uint8(3), uint8(6), uint8(7), uint8(3), uint8(6), uint8(6), @@ -146256,7 +146287,7 @@ var aKWLen = [147]uint8{ uint8(4), uint8(4), uint8(6), uint8(7), uint8(5), uint8(9), uint8(4), uint8(4), uint8(5), uint8(2), uint8(5), uint8(8), uint8(6), uint8(4), uint8(9), uint8(5), uint8(8), uint8(4), uint8(3), uint8(9), uint8(5), uint8(5), uint8(6), uint8(4), uint8(6), uint8(2), uint8(2), uint8(9), uint8(3), uint8(7), -} /* sqlite3.c:166935:28 */ +} /* sqlite3.c:166992:28 */ // aKWOffset[i] is the index into zKWText[] of the start of // the text for the i-th keyword. var aKWOffset = [147]uint16{ @@ -146272,7 +146303,7 @@ var aKWOffset = [147]uint16{ uint16(520), uint16(523), uint16(527), uint16(532), uint16(539), uint16(544), uint16(553), uint16(557), uint16(560), uint16(565), uint16(567), uint16(571), uint16(579), uint16(585), uint16(588), uint16(597), uint16(602), uint16(610), uint16(610), uint16(614), uint16(623), uint16(628), uint16(633), uint16(639), uint16(642), uint16(645), uint16(648), uint16(650), uint16(655), uint16(659), -} /* sqlite3.c:166951:33 */ +} /* sqlite3.c:167008:33 */ // aKWCode[i] is the parser symbol code for the i-th keyword var aKWCode = [147]uint8{ uint8(TK_REINDEX), uint8(TK_INDEXED), uint8(TK_INDEX), uint8(TK_DESC), uint8(TK_ESCAPE), @@ -146305,7 +146336,7 @@ var aKWCode = [147]uint8{ uint8(TK_ROW), uint8(TK_UNBOUNDED), uint8(TK_UNION), uint8(TK_USING), uint8(TK_VACUUM), uint8(TK_VIEW), uint8(TK_WINDOW), uint8(TK_DO), uint8(TK_BY), uint8(TK_INITIALLY), uint8(TK_ALL), uint8(TK_PRIMARY), -} /* sqlite3.c:166966:28 */ +} /* sqlite3.c:167023:28 */ // Hash table decoded: // 0: INSERT @@ -146438,7 +146469,7 @@ var aKWCode = [147]uint8{ // Check to see if z[0..n-1] is a keyword. If it is, write the // parser symbol code for that keyword into *pType. Always // return the integer n (the length of the token). -func keywordCode(tls *libc.TLS, z uintptr, n int32, pType uintptr) int32 { /* sqlite3.c:167130:12: */ +func keywordCode(tls *libc.TLS, z uintptr, n int32, pType uintptr) int32 { /* sqlite3.c:167187:12: */ var i int32 var j int32 var zKW uintptr @@ -146616,7 +146647,7 @@ func keywordCode(tls *libc.TLS, z uintptr, n int32, pType uintptr) int32 { /* sq return n } -func Xsqlite3KeywordCode(tls *libc.TLS, z uintptr, n int32) int32 { /* sqlite3.c:167304:20: */ +func Xsqlite3KeywordCode(tls *libc.TLS, z uintptr, n int32) int32 { /* sqlite3.c:167361:20: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -146625,7 +146656,7 @@ func Xsqlite3KeywordCode(tls *libc.TLS, z uintptr, n int32) int32 { /* sqlite3.c return *(*int32)(unsafe.Pointer(bp /* id */)) } -func Xsqlite3_keyword_name(tls *libc.TLS, i int32, pzName uintptr, pnName uintptr) int32 { /* sqlite3.c:167310:16: */ +func Xsqlite3_keyword_name(tls *libc.TLS, i int32, pzName uintptr, pnName uintptr) int32 { /* sqlite3.c:167367:16: */ if i < 0 || i >= SQLITE_N_KEYWORD { return SQLITE_ERROR } @@ -146634,11 +146665,11 @@ func Xsqlite3_keyword_name(tls *libc.TLS, i int32, pzName uintptr, pnName uintpt return SQLITE_OK } -func Xsqlite3_keyword_count(tls *libc.TLS) int32 { /* sqlite3.c:167316:16: */ +func Xsqlite3_keyword_count(tls *libc.TLS) int32 { /* sqlite3.c:167373:16: */ return SQLITE_N_KEYWORD } -func Xsqlite3_keyword_check(tls *libc.TLS, zName uintptr, nName int32) int32 { /* sqlite3.c:167317:16: */ +func Xsqlite3_keyword_check(tls *libc.TLS, zName uintptr, nName int32) int32 { /* sqlite3.c:167374:16: */ return libc.Bool32(TK_ID != Xsqlite3KeywordCode(tls, zName, nName)) } @@ -146661,13 +146692,13 @@ func Xsqlite3_keyword_check(tls *libc.TLS, zName uintptr, nName int32) int32 { / // But the feature is undocumented. // Make the IdChar function accessible from ctime.c and alter.c -func Xsqlite3IsIdChar(tls *libc.TLS, c U8) int32 { /* sqlite3.c:167364:20: */ +func Xsqlite3IsIdChar(tls *libc.TLS, c U8) int32 { /* sqlite3.c:167421:20: */ return libc.Bool32(int32(Xsqlite3CtypeMap[c])&0x46 != 0) } // Return the id of the next token in string (*pz). Before returning, set // (*pz) to point to the byte following the parsed token. -func getToken(tls *libc.TLS, pz uintptr) int32 { /* sqlite3.c:167371:12: */ +func getToken(tls *libc.TLS, pz uintptr) int32 { /* sqlite3.c:167428:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -146717,7 +146748,7 @@ func getToken(tls *libc.TLS, pz uintptr) int32 { /* sqlite3.c:167371:12: */ // // * the previous token was TK_RP, and // * the next token is TK_LP. -func analyzeWindowKeyword(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:167420:12: */ +func analyzeWindowKeyword(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:167477:12: */ bp := tls.Alloc(8) defer tls.Free(8) *(*uintptr)(unsafe.Pointer(bp)) = z @@ -146734,7 +146765,7 @@ func analyzeWindowKeyword(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:167420: return TK_WINDOW } -func analyzeOverKeyword(tls *libc.TLS, z uintptr, lastToken int32) int32 { /* sqlite3.c:167428:12: */ +func analyzeOverKeyword(tls *libc.TLS, z uintptr, lastToken int32) int32 { /* sqlite3.c:167485:12: */ bp := tls.Alloc(8) defer tls.Free(8) *(*uintptr)(unsafe.Pointer(bp)) = z @@ -146748,7 +146779,7 @@ func analyzeOverKeyword(tls *libc.TLS, z uintptr, lastToken int32) int32 { /* sq return TK_ID } -func analyzeFilterKeyword(tls *libc.TLS, z uintptr, lastToken int32) int32 { /* sqlite3.c:167435:12: */ +func analyzeFilterKeyword(tls *libc.TLS, z uintptr, lastToken int32) int32 { /* sqlite3.c:167492:12: */ bp := tls.Alloc(8) defer tls.Free(8) *(*uintptr)(unsafe.Pointer(bp)) = z @@ -146761,7 +146792,7 @@ func analyzeFilterKeyword(tls *libc.TLS, z uintptr, lastToken int32) int32 { /* // Return the length (in bytes) of the token that begins at z[0]. // Store the token type in *tokenType before returning. -func Xsqlite3GetToken(tls *libc.TLS, z uintptr, tokenType uintptr) int32 { /* sqlite3.c:167447:20: */ +func Xsqlite3GetToken(tls *libc.TLS, z uintptr, tokenType uintptr) int32 { /* sqlite3.c:167504:20: */ var i int32 var c int32 switch int32(aiClass[*(*uint8)(unsafe.Pointer(z))]) { // Switch on the character-class of the first byte @@ -147129,7 +147160,7 @@ func Xsqlite3GetToken(tls *libc.TLS, z uintptr, tokenType uintptr) int32 { /* sq } // Run the parser on the given SQL string. -func Xsqlite3RunParser(tls *libc.TLS, pParse uintptr, zSql uintptr) int32 { /* sqlite3.c:167741:20: */ +func Xsqlite3RunParser(tls *libc.TLS, pParse uintptr, zSql uintptr) int32 { /* sqlite3.c:167798:20: */ bp := tls.Alloc(2480) defer tls.Free(2480) @@ -147319,7 +147350,7 @@ func Xsqlite3RunParser(tls *libc.TLS, pParse uintptr, zSql uintptr) int32 { /* s // If we compile with SQLITE_OMIT_TRIGGER, all of the computation needed // to recognize the end of a trigger can be omitted. All we have to do // is look for a semicolon that is not part of an string or comment. -func Xsqlite3_complete(tls *libc.TLS, zSql uintptr) int32 { /* sqlite3.c:168133:16: */ +func Xsqlite3_complete(tls *libc.TLS, zSql uintptr) int32 { /* sqlite3.c:168190:16: */ var state U8 = U8(0) // Current state, using numbers defined in header comment var token U8 @@ -147496,12 +147527,12 @@ var trans = [8][8]U8{ /* 5 TRIGGER: */ {U8(6), U8(5), U8(5), U8(5), U8(5), U8(5), U8(5), U8(5)}, /* 6 SEMI: */ {U8(6), U8(6), U8(5), U8(5), U8(5), U8(5), U8(5), U8(7)}, /* 7 END: */ {U8(1), U8(7), U8(5), U8(5), U8(5), U8(5), U8(5), U8(5)}, -} /* sqlite3.c:168141:19 */ +} /* sqlite3.c:168198:19 */ // This routine is the same as the sqlite3_complete() routine described // above, except that the parameter is required to be UTF-16 encoded, not // UTF-8. -func Xsqlite3_complete16(tls *libc.TLS, zSql uintptr) int32 { /* sqlite3.c:168298:16: */ +func Xsqlite3_complete16(tls *libc.TLS, zSql uintptr) int32 { /* sqlite3.c:168355:16: */ var pVal uintptr var zSql8 uintptr var rc int32 @@ -147528,7 +147559,7 @@ func Xsqlite3_complete16(tls *libc.TLS, zSql uintptr) int32 { /* sqlite3.c:16829 // This is an extension initializer that is a no-op and always // succeeds, except that it fails if the fault-simulation is set // to 500. -func sqlite3TestExtInit(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:168450:12: */ +func sqlite3TestExtInit(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:168507:12: */ _ = db return Xsqlite3FaultSim(tls, 500) } @@ -147540,11 +147571,11 @@ var sqlite3BuiltinExtensions = [4]uintptr{ 0, 0, 0, -} /* sqlite3.c:168477:12 */ +} /* sqlite3.c:168534:12 */ // IMPLEMENTATION-OF: R-53536-42575 The sqlite3_libversion() function returns // a pointer to the to the sqlite3_version[] string constant. -func Xsqlite3_libversion(tls *libc.TLS) uintptr { /* sqlite3.c:168524:23: */ +func Xsqlite3_libversion(tls *libc.TLS) uintptr { /* sqlite3.c:168581:23: */ return uintptr(unsafe.Pointer(&Xsqlite3_version)) } @@ -147557,14 +147588,14 @@ func Xsqlite3_libversion(tls *libc.TLS) uintptr { /* sqlite3.c:168524:23: */ // IMPLEMENTATION-OF: R-35210-63508 The sqlite3_libversion_number() function // returns an integer equal to SQLITE_VERSION_NUMBER. -func Xsqlite3_libversion_number(tls *libc.TLS) int32 { /* sqlite3.c:168537:16: */ +func Xsqlite3_libversion_number(tls *libc.TLS) int32 { /* sqlite3.c:168594:16: */ return SQLITE_VERSION_NUMBER } // IMPLEMENTATION-OF: R-20790-14025 The sqlite3_threadsafe() function returns // zero if and only if SQLite was compiled with mutexing code omitted due to // the SQLITE_THREADSAFE compile-time option being set to 0. -func Xsqlite3_threadsafe(tls *libc.TLS) int32 { /* sqlite3.c:168543:16: */ +func Xsqlite3_threadsafe(tls *libc.TLS) int32 { /* sqlite3.c:168600:16: */ return SQLITE_THREADSAFE } @@ -147577,14 +147608,14 @@ func Xsqlite3_threadsafe(tls *libc.TLS) int32 { /* sqlite3.c:168543:16: */ // temporary files. // // See also the "PRAGMA temp_store_directory" SQL command. -var Xsqlite3_temp_directory uintptr = uintptr(0) /* sqlite3.c:168574:17 */ +var Xsqlite3_temp_directory uintptr = uintptr(0) /* sqlite3.c:168631:17 */ // If the following global variable points to a string which is the // name of a directory, then that directory will be used to store // all database files specified with a relative pathname. // // See also the "PRAGMA data_store_directory" SQL command. -var Xsqlite3_data_directory uintptr = uintptr(0) /* sqlite3.c:168583:17 */ +var Xsqlite3_data_directory uintptr = uintptr(0) /* sqlite3.c:168640:17 */ // Initialize SQLite. // @@ -147615,7 +147646,7 @@ var Xsqlite3_data_directory uintptr = uintptr(0) /* sqlite3.c:168583:17 */ // // * Recursive calls to this routine from thread X return immediately // without blocking. -func Xsqlite3_initialize(tls *libc.TLS) int32 { /* sqlite3.c:168616:16: */ +func Xsqlite3_initialize(tls *libc.TLS) int32 { /* sqlite3.c:168673:16: */ var pMainMtx uintptr // The main static mutex var rc int32 // Result code @@ -147741,7 +147772,7 @@ func Xsqlite3_initialize(tls *libc.TLS) int32 { /* sqlite3.c:168616:16: */ // routine is not threadsafe. But it is safe to invoke this routine // on when SQLite is already shut down. If SQLite is already shut down // when this routine is invoked, then this routine is a harmless no-op. -func Xsqlite3_shutdown(tls *libc.TLS) int32 { /* sqlite3.c:168791:16: */ +func Xsqlite3_shutdown(tls *libc.TLS) int32 { /* sqlite3.c:168848:16: */ if Xsqlite3Config.FisInit != 0 { Xsqlite3_os_end(tls) @@ -147780,7 +147811,7 @@ func Xsqlite3_shutdown(tls *libc.TLS) int32 { /* sqlite3.c:168791:16: */ // database connections or memory allocations. This routine is not // threadsafe. Failure to heed these warnings can lead to unpredictable // behavior. -func Xsqlite3_config(tls *libc.TLS, op int32, va uintptr) int32 { /* sqlite3.c:168845:16: */ +func Xsqlite3_config(tls *libc.TLS, op int32, va uintptr) int32 { /* sqlite3.c:168902:16: */ var ap Va_list _ = ap var rc int32 = SQLITE_OK @@ -147788,7 +147819,7 @@ func Xsqlite3_config(tls *libc.TLS, op int32, va uintptr) int32 { /* sqlite3.c:1 // sqlite3_config() shall return SQLITE_MISUSE if it is invoked while // the SQLite library is in use. if Xsqlite3Config.FisInit != 0 { - return Xsqlite3MisuseError(tls, 168851) + return Xsqlite3MisuseError(tls, 168908) } ap = va @@ -148058,7 +148089,7 @@ func Xsqlite3_config(tls *libc.TLS, op int32, va uintptr) int32 { /* sqlite3.c:1 // space for the lookaside memory is obtained from sqlite3_malloc(). // If pStart is not NULL then it is sz*cnt bytes of memory to use for // the lookaside memory. -func setupLookaside(tls *libc.TLS, db uintptr, pBuf uintptr, sz int32, cnt int32) int32 { /* sqlite3.c:169163:12: */ +func setupLookaside(tls *libc.TLS, db uintptr, pBuf uintptr, sz int32, cnt int32) int32 { /* sqlite3.c:169220:12: */ var pStart uintptr var szAlloc Sqlite3_int64 = Sqlite3_int64(sz) * Sqlite3_int64(cnt) var nBig int32 // Number of full-size slots @@ -148156,13 +148187,13 @@ func setupLookaside(tls *libc.TLS, db uintptr, pBuf uintptr, sz int32, cnt int32 } // Return the mutex associated with a database connection. -func Xsqlite3_db_mutex(tls *libc.TLS, db uintptr) uintptr { /* sqlite3.c:169263:26: */ +func Xsqlite3_db_mutex(tls *libc.TLS, db uintptr) uintptr { /* sqlite3.c:169320:26: */ return (*Sqlite3)(unsafe.Pointer(db)).Fmutex } // Free up as much memory as we can from the given database // connection. -func Xsqlite3_db_release_memory(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:169277:16: */ +func Xsqlite3_db_release_memory(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:169334:16: */ var i int32 Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) @@ -148181,7 +148212,7 @@ func Xsqlite3_db_release_memory(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c: // Flush any dirty pages in the pager-cache for any attached database // to disk. -func Xsqlite3_db_cacheflush(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:169301:16: */ +func Xsqlite3_db_cacheflush(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:169358:16: */ var i int32 var rc int32 = SQLITE_OK var bSeenBusy int32 = 0 @@ -148210,7 +148241,7 @@ func Xsqlite3_db_cacheflush(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:1693 } // Configuration settings for an individual database connection -func Xsqlite3_db_config(tls *libc.TLS, db uintptr, op int32, va uintptr) int32 { /* sqlite3.c:169330:16: */ +func Xsqlite3_db_config(tls *libc.TLS, db uintptr, op int32, va uintptr) int32 { /* sqlite3.c:169387:16: */ var ap Va_list _ = ap var rc int32 @@ -148289,11 +148320,11 @@ var aFlagOp = [16]struct { {Fop: SQLITE_DBCONFIG_DQS_DML, Fmask: U32(SQLITE_DqsDML)}, {Fop: SQLITE_DBCONFIG_LEGACY_FILE_FORMAT, Fmask: U32(SQLITE_LegacyFileFmt)}, {Fop: SQLITE_DBCONFIG_TRUSTED_SCHEMA, Fmask: U32(SQLITE_TrustedSchema)}, -} /* sqlite3.c:169353:9 */ +} /* sqlite3.c:169410:9 */ // This is the default collating function named "BINARY" which is always // available. -func binCollFunc(tls *libc.TLS, NotUsed uintptr, nKey1 int32, pKey1 uintptr, nKey2 int32, pKey2 uintptr) int32 { /* sqlite3.c:169405:12: */ +func binCollFunc(tls *libc.TLS, NotUsed uintptr, nKey1 int32, pKey1 uintptr, nKey2 int32, pKey2 uintptr) int32 { /* sqlite3.c:169462:12: */ var rc int32 var n int32 _ = NotUsed @@ -148315,7 +148346,7 @@ func binCollFunc(tls *libc.TLS, NotUsed uintptr, nKey1 int32, pKey1 uintptr, nKe // This is the collating function named "RTRIM" which is always // available. Ignore trailing spaces. -func rtrimCollFunc(tls *libc.TLS, pUser uintptr, nKey1 int32, pKey1 uintptr, nKey2 int32, pKey2 uintptr) int32 { /* sqlite3.c:169428:12: */ +func rtrimCollFunc(tls *libc.TLS, pUser uintptr, nKey1 int32, pKey1 uintptr, nKey2 int32, pKey2 uintptr) int32 { /* sqlite3.c:169485:12: */ var pK1 uintptr = pKey1 var pK2 uintptr = pKey2 for nKey1 != 0 && int32(*(*U8)(unsafe.Pointer(pK1 + uintptr(nKey1-1)))) == ' ' { @@ -148328,7 +148359,7 @@ func rtrimCollFunc(tls *libc.TLS, pUser uintptr, nKey1 int32, pKey1 uintptr, nKe } // Return true if CollSeq is the default built-in BINARY. -func Xsqlite3IsBinary(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:169443:20: */ +func Xsqlite3IsBinary(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:169500:20: */ return libc.Bool32(p == uintptr(0) || (*CollSeq)(unsafe.Pointer(p)).FxCmp == *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32 @@ -148342,7 +148373,7 @@ func Xsqlite3IsBinary(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:169443:20: // extends only to the 26 characters used in the English language. // // At the moment there is only a UTF-8 implementation. -func nocaseCollatingFunc(tls *libc.TLS, NotUsed uintptr, nKey1 int32, pKey1 uintptr, nKey2 int32, pKey2 uintptr) int32 { /* sqlite3.c:169457:12: */ +func nocaseCollatingFunc(tls *libc.TLS, NotUsed uintptr, nKey1 int32, pKey1 uintptr, nKey2 int32, pKey2 uintptr) int32 { /* sqlite3.c:169514:12: */ var r int32 = Xsqlite3_strnicmp(tls, pKey1, pKey2, func() int32 { if nKey1 < nKey2 { @@ -148358,39 +148389,39 @@ func nocaseCollatingFunc(tls *libc.TLS, NotUsed uintptr, nKey1 int32, pKey1 uint } // Return the ROWID of the most recent insert -func Xsqlite3_last_insert_rowid(tls *libc.TLS, db uintptr) Sqlite_int64 { /* sqlite3.c:169474:25: */ +func Xsqlite3_last_insert_rowid(tls *libc.TLS, db uintptr) Sqlite_int64 { /* sqlite3.c:169531:25: */ return (*Sqlite3)(unsafe.Pointer(db)).FlastRowid } // Set the value returned by the sqlite3_last_insert_rowid() API function. -func Xsqlite3_set_last_insert_rowid(tls *libc.TLS, db uintptr, iRowid Sqlite3_int64) { /* sqlite3.c:169487:17: */ +func Xsqlite3_set_last_insert_rowid(tls *libc.TLS, db uintptr, iRowid Sqlite3_int64) { /* sqlite3.c:169544:17: */ Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) (*Sqlite3)(unsafe.Pointer(db)).FlastRowid = iRowid Xsqlite3_mutex_leave(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) } // Return the number of changes in the most recent call to sqlite3_exec(). -func Xsqlite3_changes64(tls *libc.TLS, db uintptr) Sqlite3_int64 { /* sqlite3.c:169502:26: */ +func Xsqlite3_changes64(tls *libc.TLS, db uintptr) Sqlite3_int64 { /* sqlite3.c:169559:26: */ return (*Sqlite3)(unsafe.Pointer(db)).FnChange } -func Xsqlite3_changes(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:169511:16: */ +func Xsqlite3_changes(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:169568:16: */ return int32(Xsqlite3_changes64(tls, db)) } // Return the number of changes since the database handle was opened. -func Xsqlite3_total_changes64(tls *libc.TLS, db uintptr) Sqlite3_int64 { /* sqlite3.c:169518:26: */ +func Xsqlite3_total_changes64(tls *libc.TLS, db uintptr) Sqlite3_int64 { /* sqlite3.c:169575:26: */ return (*Sqlite3)(unsafe.Pointer(db)).FnTotalChange } -func Xsqlite3_total_changes(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:169527:16: */ +func Xsqlite3_total_changes(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:169584:16: */ return int32(Xsqlite3_total_changes64(tls, db)) } // Close all open savepoints. This function only manipulates fields of the // database handle object, it does not close any savepoints that may be open // at the b-tree/pager level. -func Xsqlite3CloseSavepoints(tls *libc.TLS, db uintptr) { /* sqlite3.c:169536:21: */ +func Xsqlite3CloseSavepoints(tls *libc.TLS, db uintptr) { /* sqlite3.c:169593:21: */ for (*Sqlite3)(unsafe.Pointer(db)).FpSavepoint != 0 { var pTmp uintptr = (*Sqlite3)(unsafe.Pointer(db)).FpSavepoint (*Sqlite3)(unsafe.Pointer(db)).FpSavepoint = (*Savepoint)(unsafe.Pointer(pTmp)).FpNext @@ -148405,7 +148436,7 @@ func Xsqlite3CloseSavepoints(tls *libc.TLS, db uintptr) { /* sqlite3.c:169536:21 // if this is not the last copy of the function, do not invoke it. Multiple // copies of a single function are created when create_function() is called // with SQLITE_ANY as the encoding. -func functionDestroy(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:169553:13: */ +func functionDestroy(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:169610:13: */ var pDestructor uintptr pDestructor = *(*uintptr)(unsafe.Pointer(p + 64)) @@ -148420,7 +148451,7 @@ func functionDestroy(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:169553 // Disconnect all sqlite3_vtab objects that belong to database connection // db. This is called when db is being closed. -func disconnectAllVtab(tls *libc.TLS, db uintptr) { /* sqlite3.c:169570:13: */ +func disconnectAllVtab(tls *libc.TLS, db uintptr) { /* sqlite3.c:169627:13: */ var i int32 var p uintptr Xsqlite3BtreeEnterAll(tls, db) @@ -148447,7 +148478,7 @@ func disconnectAllVtab(tls *libc.TLS, db uintptr) { /* sqlite3.c:169570:13: */ // Return TRUE if database connection db has unfinalized prepared // statements or unfinished sqlite3_backup objects. -func connectionIsBusy(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:169601:12: */ +func connectionIsBusy(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:169658:12: */ var j int32 if (*Sqlite3)(unsafe.Pointer(db)).FpVdbe != 0 { @@ -148463,14 +148494,14 @@ func connectionIsBusy(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:169601:12: } // Close an existing SQLite database -func sqlite3Close(tls *libc.TLS, db uintptr, forceZombie int32) int32 { /* sqlite3.c:169615:12: */ +func sqlite3Close(tls *libc.TLS, db uintptr, forceZombie int32) int32 { /* sqlite3.c:169672:12: */ if !(db != 0) { // EVIDENCE-OF: R-63257-11740 Calling sqlite3_close() or // sqlite3_close_v2() with a NULL pointer argument is a harmless no-op. return SQLITE_OK } if !(Xsqlite3SafetyCheckSickOrOk(tls, db) != 0) { - return Xsqlite3MisuseError(tls, 169622) + return Xsqlite3MisuseError(tls, 169679) } Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) if int32((*Sqlite3)(unsafe.Pointer(db)).FmTrace)&SQLITE_TRACE_CLOSE != 0 { @@ -148507,7 +148538,7 @@ func sqlite3Close(tls *libc.TLS, db uintptr, forceZombie int32) int32 { /* sqlit // Return the transaction state for a single databse, or the maximum // transaction state over all attached databases if zSchema is null. -func Xsqlite3_txn_state(tls *libc.TLS, db uintptr, zSchema uintptr) int32 { /* sqlite3.c:169669:16: */ +func Xsqlite3_txn_state(tls *libc.TLS, db uintptr, zSchema uintptr) int32 { /* sqlite3.c:169726:16: */ var iDb int32 var nDb int32 var iTxn int32 = -1 @@ -148544,11 +148575,11 @@ func Xsqlite3_txn_state(tls *libc.TLS, db uintptr, zSchema uintptr) int32 { /* s // version forces the connection to become a zombie if there are // unclosed resources, and arranges for deallocation when the last // prepare statement or sqlite3_backup closes. -func Xsqlite3_close(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:169704:16: */ +func Xsqlite3_close(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:169761:16: */ return sqlite3Close(tls, db, 0) } -func Xsqlite3_close_v2(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:169705:16: */ +func Xsqlite3_close_v2(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:169762:16: */ return sqlite3Close(tls, db, 1) } @@ -148558,7 +148589,7 @@ func Xsqlite3_close_v2(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:169705:16 // has been a prior call to sqlite3_close(db) or sqlite3_close_v2(db)) and // every sqlite3_stmt has now been finalized and every sqlite3_backup has // finished, then free all resources. -func Xsqlite3LeaveMutexAndCloseZombie(tls *libc.TLS, db uintptr) { /* sqlite3.c:169716:21: */ +func Xsqlite3LeaveMutexAndCloseZombie(tls *libc.TLS, db uintptr) { /* sqlite3.c:169773:21: */ var i uintptr // Hash table iterator var j int32 @@ -148668,7 +148699,7 @@ func Xsqlite3LeaveMutexAndCloseZombie(tls *libc.TLS, db uintptr) { /* sqlite3.c: // breaker") and made to return tripCode if there are any further // attempts to use that cursor. Read cursors remain open and valid // but are "saved" in case the table pages are moved around. -func Xsqlite3RollbackAll(tls *libc.TLS, db uintptr, tripCode int32) { /* sqlite3.c:169839:21: */ +func Xsqlite3RollbackAll(tls *libc.TLS, db uintptr, tripCode int32) { /* sqlite3.c:169896:21: */ var i int32 var inTrans int32 = 0 var schemaChange int32 @@ -148718,7 +148749,7 @@ func Xsqlite3RollbackAll(tls *libc.TLS, db uintptr, tripCode int32) { /* sqlite3 // Return a static string that describes the kind of error specified in the // argument. -func Xsqlite3ErrStr(tls *libc.TLS, rc int32) uintptr { /* sqlite3.c:170000:27: */ +func Xsqlite3ErrStr(tls *libc.TLS, rc int32) uintptr { /* sqlite3.c:170057:27: */ var zErr uintptr = ts + 23262 /* "unknown error" */ switch rc { case SQLITE_ABORT | int32(2)<<8: @@ -148782,7 +148813,7 @@ var aMsg = [29]uintptr{ ts + 23758, ts + 23781, ts + 23802, -} /* sqlite3.c:170001:20 */ +} /* sqlite3.c:170058:20 */ // This routine implements a busy callback that sleeps and tries // again until a timeout value is reached. The timeout value is @@ -148791,7 +148822,7 @@ var aMsg = [29]uintptr{ // // Return non-zero to retry the lock. Return zero to stop trying // and cause SQLite to return SQLITE_BUSY. -func sqliteDefaultBusyCallback(tls *libc.TLS, ptr uintptr, count int32) int32 { /* sqlite3.c:170070:12: */ +func sqliteDefaultBusyCallback(tls *libc.TLS, ptr uintptr, count int32) int32 { /* sqlite3.c:170127:12: */ var db uintptr = ptr var tmout int32 = (*Sqlite3)(unsafe.Pointer(db)).FbusyTimeout var delay int32 @@ -148814,8 +148845,8 @@ func sqliteDefaultBusyCallback(tls *libc.TLS, ptr uintptr, count int32) int32 { return 1 } -var delays = [12]U8{U8(1), U8(2), U8(5), U8(10), U8(15), U8(20), U8(25), U8(25), U8(25), U8(50), U8(50), U8(100)} /* sqlite3.c:170077:19 */ -var totals = [12]U8{U8(0), U8(1), U8(3), U8(8), U8(18), U8(33), U8(53), U8(78), U8(103), U8(128), U8(178), U8(228)} /* sqlite3.c:170079:19 */ +var delays = [12]U8{U8(1), U8(2), U8(5), U8(10), U8(15), U8(20), U8(25), U8(25), U8(25), U8(50), U8(50), U8(100)} /* sqlite3.c:170134:19 */ +var totals = [12]U8{U8(0), U8(1), U8(3), U8(8), U8(18), U8(33), U8(53), U8(78), U8(103), U8(128), U8(178), U8(228)} /* sqlite3.c:170136:19 */ // Invoke the given busy handler. // @@ -148824,7 +148855,7 @@ var totals = [12]U8{U8(0), U8(1), U8(3), U8(8), U8(18), U8(33), U8(53), U8(78), // // If this routine returns non-zero, the lock is retried. If it // returns 0, the operation aborts with an SQLITE_BUSY error. -func Xsqlite3InvokeBusyHandler(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:170122:20: */ +func Xsqlite3InvokeBusyHandler(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:170179:20: */ var rc int32 if (*BusyHandler)(unsafe.Pointer(p)).FxBusyHandler == uintptr(0) || (*BusyHandler)(unsafe.Pointer(p)).FnBusy < 0 { return 0 @@ -148842,7 +148873,7 @@ func Xsqlite3InvokeBusyHandler(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:17 // This routine sets the busy callback for an Sqlite database to the // given callback function with the given argument. -func Xsqlite3_busy_handler(tls *libc.TLS, db uintptr, xBusy uintptr, pArg uintptr) int32 { /* sqlite3.c:170138:16: */ +func Xsqlite3_busy_handler(tls *libc.TLS, db uintptr, xBusy uintptr, pArg uintptr) int32 { /* sqlite3.c:170195:16: */ Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) (*Sqlite3)(unsafe.Pointer(db)).FbusyHandler.FxBusyHandler = xBusy (*Sqlite3)(unsafe.Pointer(db)).FbusyHandler.FpBusyArg = pArg @@ -148855,7 +148886,7 @@ func Xsqlite3_busy_handler(tls *libc.TLS, db uintptr, xBusy uintptr, pArg uintpt // This routine sets the progress callback for an Sqlite database to the // given callback function with the given argument. The progress callback will // be invoked every nOps opcodes. -func Xsqlite3_progress_handler(tls *libc.TLS, db uintptr, nOps int32, xProgress uintptr, pArg uintptr) { /* sqlite3.c:170161:17: */ +func Xsqlite3_progress_handler(tls *libc.TLS, db uintptr, nOps int32, xProgress uintptr, pArg uintptr) { /* sqlite3.c:170218:17: */ Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) if nOps > 0 { (*Sqlite3)(unsafe.Pointer(db)).FxProgress = xProgress @@ -148871,7 +148902,7 @@ func Xsqlite3_progress_handler(tls *libc.TLS, db uintptr, nOps int32, xProgress // This routine installs a default busy handler that waits for the // specified number of milliseconds before returning 0. -func Xsqlite3_busy_timeout(tls *libc.TLS, db uintptr, ms int32) int32 { /* sqlite3.c:170192:16: */ +func Xsqlite3_busy_timeout(tls *libc.TLS, db uintptr, ms int32) int32 { /* sqlite3.c:170249:16: */ if ms > 0 { Xsqlite3_busy_handler(tls, db, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32) int32 @@ -148885,7 +148916,7 @@ func Xsqlite3_busy_timeout(tls *libc.TLS, db uintptr, ms int32) int32 { /* sqlit } // Cause any pending operation to stop at its earliest opportunity. -func Xsqlite3_interrupt(tls *libc.TLS, db uintptr) { /* sqlite3.c:170209:17: */ +func Xsqlite3_interrupt(tls *libc.TLS, db uintptr) { /* sqlite3.c:170266:17: */ *(*int32)(unsafe.Pointer(db + 432)) = 1 } @@ -148893,7 +148924,7 @@ func Xsqlite3_interrupt(tls *libc.TLS, db uintptr) { /* sqlite3.c:170209:17: */ // that it is designed to be called by internal code. The difference is // that if a malloc() fails in sqlite3_create_function(), an error code // is returned and the mallocFailed flag cleared. -func Xsqlite3CreateFunc(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) int32 { /* sqlite3.c:170226:20: */ +func Xsqlite3CreateFunc(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) int32 { /* sqlite3.c:170283:20: */ var p uintptr var extraFlags int32 @@ -148903,7 +148934,7 @@ func Xsqlite3CreateFunc(tls *libc.TLS, db uintptr, zFunctionName uintptr, nArg i libc.Bool32(xValue == uintptr(0)) != libc.Bool32(xInverse == uintptr(0)) || (nArg < -1 || nArg > SQLITE_MAX_FUNCTION_ARG) || 255 < Xsqlite3Strlen30(tls, zFunctionName) { - return Xsqlite3MisuseError(tls, 170251) + return Xsqlite3MisuseError(tls, 170308) } extraFlags = enc & (SQLITE_DETERMINISTIC | SQLITE_DIRECTONLY | SQLITE_SUBTYPE | SQLITE_INNOCUOUS) @@ -149008,7 +149039,7 @@ func Xsqlite3CreateFunc(tls *libc.TLS, db uintptr, zFunctionName uintptr, nArg i // sqlite3_create_function() // 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) int32 { /* sqlite3.c:170360:12: */ +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) int32 { /* sqlite3.c:170417:12: */ var rc int32 var pArg uintptr rc = SQLITE_ERROR @@ -149050,22 +149081,22 @@ out: } // 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) int32 { /* sqlite3.c:170411:16: */ +func Xsqlite3_create_function(tls *libc.TLS, db uintptr, zFunc uintptr, nArg int32, enc int32, p uintptr, xSFunc uintptr, xStep uintptr, xFinal uintptr) int32 { /* sqlite3.c:170468:16: */ return createFunctionApi(tls, db, zFunc, nArg, enc, p, xSFunc, xStep, 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) int32 { /* sqlite3.c:170424:16: */ +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) int32 { /* sqlite3.c:170481:16: */ return createFunctionApi(tls, db, zFunc, nArg, enc, p, xSFunc, xStep, xFinal, uintptr(0), uintptr(0), 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) int32 { /* sqlite3.c:170438:16: */ +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) int32 { /* sqlite3.c:170495:16: */ return createFunctionApi(tls, db, zFunc, nArg, enc, p, uintptr(0), xStep, xFinal, xValue, xInverse, xDestroy) } -func Xsqlite3_create_function16(tls *libc.TLS, db uintptr, zFunctionName uintptr, nArg int32, eTextRep int32, p uintptr, xSFunc uintptr, xStep uintptr, xFinal uintptr) int32 { /* sqlite3.c:170455:16: */ +func Xsqlite3_create_function16(tls *libc.TLS, db uintptr, zFunctionName uintptr, nArg int32, eTextRep int32, p uintptr, xSFunc uintptr, xStep uintptr, xFinal uintptr) int32 { /* sqlite3.c:170512:16: */ var rc int32 var zFunc8 uintptr @@ -149085,7 +149116,7 @@ func Xsqlite3_create_function16(tls *libc.TLS, db uintptr, zFunctionName uintptr // SQL function that use this routine so that the functions will exist // for name resolution but are actually overloaded by the xFindFunction // method of virtual tables. -func sqlite3InvalidFunction(tls *libc.TLS, context uintptr, NotUsed int32, NotUsed2 uintptr) { /* sqlite3.c:170491:13: */ +func sqlite3InvalidFunction(tls *libc.TLS, context uintptr, NotUsed int32, NotUsed2 uintptr) { /* sqlite3.c:170548:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -149109,7 +149140,7 @@ func sqlite3InvalidFunction(tls *libc.TLS, context uintptr, NotUsed int32, NotUs // should call this routine to make sure the global function exists. // A global function must exist in order for name resolution to work // properly. -func Xsqlite3_overload_function(tls *libc.TLS, db uintptr, zName uintptr, nArg int32) int32 { /* sqlite3.c:170517:16: */ +func Xsqlite3_overload_function(tls *libc.TLS, db uintptr, zName uintptr, nArg int32) int32 { /* sqlite3.c:170574:16: */ var rc int32 var zCopy uintptr @@ -149135,7 +149166,7 @@ func Xsqlite3_overload_function(tls *libc.TLS, db uintptr, zName uintptr, nArg i // A NULL trace function means that no tracing is executes. A non-NULL // 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) uintptr { /* sqlite3.c:170550:17: */ +func Xsqlite3_trace(tls *libc.TLS, db uintptr, xTrace uintptr, pArg uintptr) uintptr { /* sqlite3.c:170607:17: */ var pOld uintptr Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) @@ -149153,7 +149184,7 @@ func Xsqlite3_trace(tls *libc.TLS, db uintptr, xTrace uintptr, pArg uintptr) uin } // Register a trace callback using the version-2 interface. -func Xsqlite3_trace_v2(tls *libc.TLS, db uintptr, mTrace uint32, xTrace uintptr, pArg uintptr) int32 { /* sqlite3.c:170571:16: */ +func Xsqlite3_trace_v2(tls *libc.TLS, db uintptr, mTrace uint32, xTrace uintptr, pArg uintptr) int32 { /* sqlite3.c:170628:16: */ Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) if mTrace == uint32(0) { xTrace = uintptr(0) @@ -149174,7 +149205,7 @@ func Xsqlite3_trace_v2(tls *libc.TLS, db uintptr, mTrace uint32, xTrace uintptr, // A NULL profile function means that no profiling is executes. A non-NULL // 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) uintptr { /* sqlite3.c:170601:17: */ +func Xsqlite3_profile(tls *libc.TLS, db uintptr, xProfile uintptr, pArg uintptr) uintptr { /* sqlite3.c:170658:17: */ var pOld uintptr Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) @@ -149192,7 +149223,7 @@ func Xsqlite3_profile(tls *libc.TLS, db uintptr, xProfile uintptr, pArg uintptr) // Register a function to be invoked when a transaction commits. // 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) uintptr { /* sqlite3.c:170631:17: */ +func Xsqlite3_commit_hook(tls *libc.TLS, db uintptr, xCallback uintptr, pArg uintptr) uintptr { /* sqlite3.c:170688:17: */ var pOld uintptr Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) @@ -149205,7 +149236,7 @@ func Xsqlite3_commit_hook(tls *libc.TLS, db uintptr, xCallback uintptr, pArg uin // 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) uintptr { /* sqlite3.c:170656:17: */ +func Xsqlite3_update_hook(tls *libc.TLS, db uintptr, xCallback uintptr, pArg uintptr) uintptr { /* sqlite3.c:170713:17: */ var pRet uintptr Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) @@ -149218,7 +149249,7 @@ func Xsqlite3_update_hook(tls *libc.TLS, db uintptr, xCallback uintptr, pArg uin // 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) uintptr { /* sqlite3.c:170681:17: */ +func Xsqlite3_rollback_hook(tls *libc.TLS, db uintptr, xCallback uintptr, pArg uintptr) uintptr { /* sqlite3.c:170738:17: */ var pRet uintptr Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) @@ -149231,7 +149262,7 @@ func Xsqlite3_rollback_hook(tls *libc.TLS, db uintptr, xCallback uintptr, pArg u // 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) uintptr { /* sqlite3.c:170707:17: */ +func Xsqlite3_preupdate_hook(tls *libc.TLS, db uintptr, xCallback uintptr, pArg uintptr) uintptr { /* sqlite3.c:170764:17: */ var pRet uintptr Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) pRet = (*Sqlite3)(unsafe.Pointer(db)).FpPreUpdateArg @@ -149243,7 +149274,7 @@ func Xsqlite3_preupdate_hook(tls *libc.TLS, db uintptr, xCallback uintptr, pArg // 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) int32 { /* sqlite3.c:170727:16: */ +func Xsqlite3_autovacuum_pages(tls *libc.TLS, db uintptr, xCallback uintptr, pArg uintptr, xDestructor uintptr) int32 { /* sqlite3.c:170784:16: */ Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) if (*Sqlite3)(unsafe.Pointer(db)).FxAutovacDestr != 0 { (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3)(unsafe.Pointer(db)).FxAutovacDestr})).f(tls, (*Sqlite3)(unsafe.Pointer(db)).FpAutovacPagesArg) @@ -149259,7 +149290,7 @@ func Xsqlite3_autovacuum_pages(tls *libc.TLS, db uintptr, xCallback uintptr, pAr // Invoke sqlite3_wal_checkpoint if the number of frames in the log file // is greater than sqlite3.pWalArg cast to an integer (the value configured by // wal_autocheckpoint()). -func Xsqlite3WalDefaultHook(tls *libc.TLS, pClientData uintptr, db uintptr, zDb uintptr, nFrame int32) int32 { /* sqlite3.c:170758:20: */ +func Xsqlite3WalDefaultHook(tls *libc.TLS, pClientData uintptr, db uintptr, zDb uintptr, nFrame int32) int32 { /* sqlite3.c:170815:20: */ if nFrame >= int32(pClientData) { Xsqlite3BeginBenignMalloc(tls) Xsqlite3_wal_checkpoint(tls, db, zDb) @@ -149277,7 +149308,7 @@ func Xsqlite3WalDefaultHook(tls *libc.TLS, pClientData uintptr, db uintptr, zDb // registered using sqlite3_wal_hook(). Likewise, registering a callback // using sqlite3_wal_hook() disables the automatic checkpoint mechanism // configured by this function. -func Xsqlite3_wal_autocheckpoint(tls *libc.TLS, db uintptr, nFrame int32) int32 { /* sqlite3.c:170784:16: */ +func Xsqlite3_wal_autocheckpoint(tls *libc.TLS, db uintptr, nFrame int32) int32 { /* sqlite3.c:170841:16: */ if nFrame > 0 { Xsqlite3_wal_hook(tls, db, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, uintptr, int32) int32 @@ -149290,7 +149321,7 @@ func Xsqlite3_wal_autocheckpoint(tls *libc.TLS, db uintptr, nFrame int32) int32 // 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) uintptr { /* sqlite3.c:170805:17: */ +func Xsqlite3_wal_hook(tls *libc.TLS, db uintptr, xCallback uintptr, pArg uintptr) uintptr { /* sqlite3.c:170862:17: */ var pRet uintptr Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) pRet = (*Sqlite3)(unsafe.Pointer(db)).FpWalArg @@ -149301,7 +149332,7 @@ func Xsqlite3_wal_hook(tls *libc.TLS, db uintptr, xCallback uintptr, pArg uintpt } // Checkpoint database zDb. -func Xsqlite3_wal_checkpoint_v2(tls *libc.TLS, db uintptr, zDb uintptr, eMode int32, pnLog uintptr, pnCkpt uintptr) int32 { /* sqlite3.c:170832:16: */ +func Xsqlite3_wal_checkpoint_v2(tls *libc.TLS, db uintptr, zDb uintptr, eMode int32, pnLog uintptr, pnCkpt uintptr) int32 { /* sqlite3.c:170889:16: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -149351,7 +149382,7 @@ func Xsqlite3_wal_checkpoint_v2(tls *libc.TLS, db uintptr, zDb uintptr, eMode in // Checkpoint database zDb. If zDb is NULL, or if the buffer zDb points // to contains a zero-length string, all attached databases are // checkpointed. -func Xsqlite3_wal_checkpoint(tls *libc.TLS, db uintptr, zDb uintptr) int32 { /* sqlite3.c:170896:16: */ +func Xsqlite3_wal_checkpoint(tls *libc.TLS, db uintptr, zDb uintptr) int32 { /* sqlite3.c:170953:16: */ // EVIDENCE-OF: R-41613-20553 The sqlite3_wal_checkpoint(D,X) is equivalent to // sqlite3_wal_checkpoint_v2(D,X,SQLITE_CHECKPOINT_PASSIVE,0,0). return Xsqlite3_wal_checkpoint_v2(tls, db, zDb, SQLITE_CHECKPOINT_PASSIVE, uintptr(0), uintptr(0)) @@ -149375,7 +149406,7 @@ func Xsqlite3_wal_checkpoint(tls *libc.TLS, db uintptr, zDb uintptr) int32 { /* // // Parameter eMode is one of SQLITE_CHECKPOINT_PASSIVE, FULL, RESTART // or TRUNCATE. -func Xsqlite3Checkpoint(tls *libc.TLS, db uintptr, iDb int32, eMode int32, pnLog uintptr, pnCkpt uintptr) int32 { /* sqlite3.c:170923:20: */ +func Xsqlite3Checkpoint(tls *libc.TLS, db uintptr, iDb int32, eMode int32, pnLog uintptr, pnCkpt uintptr) int32 { /* sqlite3.c:170980:20: */ var rc int32 = SQLITE_OK // Return code var i int32 // Used to iterate through attached dbs var bBusy int32 = 0 // True if SQLITE_BUSY has been encountered @@ -149417,19 +149448,19 @@ func Xsqlite3Checkpoint(tls *libc.TLS, db uintptr, iDb int32, eMode int32, pnLog // 2 2 memory (return 1) // 2 0 memory (return 1) // 3 any memory (return 1) -func Xsqlite3TempInMemory(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:170969:20: */ +func Xsqlite3TempInMemory(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:171026:20: */ return libc.Bool32(int32((*Sqlite3)(unsafe.Pointer(db)).Ftemp_store) == 2) } // Return UTF-8 encoded English language explanation of the most recent // error. -func Xsqlite3_errmsg(tls *libc.TLS, db uintptr) uintptr { /* sqlite3.c:170990:23: */ +func Xsqlite3_errmsg(tls *libc.TLS, db uintptr) uintptr { /* sqlite3.c:171047:23: */ var z uintptr if !(db != 0) { return Xsqlite3ErrStr(tls, SQLITE_NOMEM) } if !(Xsqlite3SafetyCheckSickOrOk(tls, db) != 0) { - return Xsqlite3ErrStr(tls, Xsqlite3MisuseError(tls, 170996)) + return Xsqlite3ErrStr(tls, Xsqlite3MisuseError(tls, 171053)) } Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) if (*Sqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 { @@ -149451,7 +149482,7 @@ func Xsqlite3_errmsg(tls *libc.TLS, db uintptr) uintptr { /* sqlite3.c:170990:23 } // Return the byte offset of the most recent error -func Xsqlite3_error_offset(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:171016:16: */ +func Xsqlite3_error_offset(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:171073:16: */ var iOffset int32 = -1 if db != 0 && Xsqlite3SafetyCheckSickOrOk(tls, db) != 0 && (*Sqlite3)(unsafe.Pointer(db)).FerrCode != 0 { Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) @@ -149463,7 +149494,7 @@ func Xsqlite3_error_offset(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:17101 // Return UTF-16 encoded English language explanation of the most recent // error. -func Xsqlite3_errmsg16(tls *libc.TLS, db uintptr) uintptr { /* sqlite3.c:171031:23: */ +func Xsqlite3_errmsg16(tls *libc.TLS, db uintptr) uintptr { /* sqlite3.c:171088:23: */ var z uintptr if !(db != 0) { return uintptr(uintptr(unsafe.Pointer(&outOfMem))) @@ -149492,18 +149523,18 @@ func Xsqlite3_errmsg16(tls *libc.TLS, db uintptr) uintptr { /* sqlite3.c:171031: var outOfMem = [14]U16{ U16('o'), U16('u'), U16('t'), U16(' '), U16('o'), U16('f'), U16(' '), U16('m'), U16('e'), U16('m'), U16('o'), U16('r'), U16('y'), U16(0), -} /* sqlite3.c:171032:20 */ +} /* sqlite3.c:171089:20 */ var misuse = [34]U16{ U16('b'), U16('a'), U16('d'), U16(' '), U16('p'), U16('a'), U16('r'), U16('a'), U16('m'), U16('e'), U16('t'), U16('e'), U16('r'), U16(' '), U16('o'), U16('r'), U16(' '), U16('o'), U16('t'), U16('h'), U16('e'), U16('r'), U16(' '), U16('A'), U16('P'), U16('I'), U16(' '), U16('m'), U16('i'), U16('s'), U16('u'), U16('s'), U16('e'), U16(0), -} /* sqlite3.c:171035:20 */ +} /* sqlite3.c:171092:20 */ // Return the most recent error code generated by an SQLite routine. If NULL is // passed to this function, we assume a malloc() failed during sqlite3_open(). -func Xsqlite3_errcode(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:171073:16: */ +func Xsqlite3_errcode(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:171130:16: */ if db != 0 && !(Xsqlite3SafetyCheckSickOrOk(tls, db) != 0) { - return Xsqlite3MisuseError(tls, 171075) + return Xsqlite3MisuseError(tls, 171132) } if !(db != 0) || (*Sqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 { return SQLITE_NOMEM @@ -149511,9 +149542,9 @@ func Xsqlite3_errcode(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:171073:16: return (*Sqlite3)(unsafe.Pointer(db)).FerrCode & (*Sqlite3)(unsafe.Pointer(db)).FerrMask } -func Xsqlite3_extended_errcode(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:171082:16: */ +func Xsqlite3_extended_errcode(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:171139:16: */ if db != 0 && !(Xsqlite3SafetyCheckSickOrOk(tls, db) != 0) { - return Xsqlite3MisuseError(tls, 171084) + return Xsqlite3MisuseError(tls, 171141) } if !(db != 0) || (*Sqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 { return SQLITE_NOMEM @@ -149521,7 +149552,7 @@ func Xsqlite3_extended_errcode(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:1 return (*Sqlite3)(unsafe.Pointer(db)).FerrCode } -func Xsqlite3_system_errno(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:171091:16: */ +func Xsqlite3_system_errno(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:171148:16: */ if db != 0 { return (*Sqlite3)(unsafe.Pointer(db)).FiSysErrno } @@ -149531,13 +149562,13 @@ func Xsqlite3_system_errno(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:17109 // Return a string that describes the kind of error specified in the // argument. For now, this simply calls the internal sqlite3ErrStr() // function. -func Xsqlite3_errstr(tls *libc.TLS, rc int32) uintptr { /* sqlite3.c:171100:23: */ +func Xsqlite3_errstr(tls *libc.TLS, rc int32) uintptr { /* sqlite3.c:171157:23: */ return Xsqlite3ErrStr(tls, rc) } // 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 U8, pCtx uintptr, xCompare uintptr, xDel uintptr) int32 { /* sqlite3.c:171108:12: */ +func createCollation(tls *libc.TLS, db uintptr, zName uintptr, enc U8, pCtx uintptr, xCompare uintptr, xDel uintptr) int32 { /* sqlite3.c:171165:12: */ var pColl uintptr var enc2 int32 @@ -149550,7 +149581,7 @@ func createCollation(tls *libc.TLS, db uintptr, zName uintptr, enc U8, pCtx uint enc2 = SQLITE_UTF16LE } if enc2 < SQLITE_UTF8 || enc2 > SQLITE_UTF16BE { - return Xsqlite3MisuseError(tls, 171132) + return Xsqlite3MisuseError(tls, 171189) } // Check if this call is removing or replacing an existing collation @@ -149613,7 +149644,7 @@ var aHardLimit = [12]int32{ SQLITE_MAX_VARIABLE_NUMBER, // IMP: R-38091-32352 SQLITE_MAX_TRIGGER_DEPTH, SQLITE_MAX_WORKER_THREADS, -} /* sqlite3.c:171185:18 */ +} /* sqlite3.c:171242:18 */ // Make sure the hard limits are set to reasonable values @@ -149625,7 +149656,7 @@ var aHardLimit = [12]int32{ // A new lower limit does not shrink existing constructs. // It merely prevents new constructs that exceed the limit // from forming. -func Xsqlite3_limit(tls *libc.TLS, db uintptr, limitId int32, newLimit int32) int32 { /* sqlite3.c:171248:16: */ +func Xsqlite3_limit(tls *libc.TLS, db uintptr, limitId int32, newLimit int32) int32 { /* sqlite3.c:171305:16: */ var oldLimit int32 // EVIDENCE-OF: R-30189-54097 For each limit category SQLITE_LIMIT_NAME @@ -149672,7 +149703,7 @@ func Xsqlite3_limit(tls *libc.TLS, db uintptr, limitId int32, newLimit int32) in // may be set to point to a buffer containing an English language error // message. It is the responsibility of the caller to eventually release // this buffer by calling sqlite3_free(). -func Xsqlite3ParseUri(tls *libc.TLS, zDefaultVfs uintptr, zUri uintptr, pFlags uintptr, ppVfs uintptr, pzFile uintptr, pzErrMsg uintptr) int32 { /* sqlite3.c:171320:20: */ +func Xsqlite3ParseUri(tls *libc.TLS, zDefaultVfs uintptr, zUri uintptr, pFlags uintptr, ppVfs uintptr, pzFile uintptr, pzErrMsg uintptr) int32 { /* sqlite3.c:171377:20: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -150010,24 +150041,24 @@ type OpenMode = struct { Fz uintptr Fmode int32 F__ccgo_pad1 [4]byte -} /* sqlite3.c:171462:9 */ +} /* sqlite3.c:171519:9 */ var aCacheMode = [3]OpenMode{ {Fz: ts + 24140, Fmode: SQLITE_OPEN_SHAREDCACHE}, {Fz: ts + 24147, Fmode: SQLITE_OPEN_PRIVATECACHE}, {}, -} /* sqlite3.c:171471:34 */ +} /* sqlite3.c:171528:34 */ var aOpenMode = [5]OpenMode{ {Fz: ts + 24155, Fmode: SQLITE_OPEN_READONLY}, {Fz: ts + 24158, Fmode: SQLITE_OPEN_READWRITE}, {Fz: ts + 24161, Fmode: SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE}, {Fz: ts + 17262, Fmode: SQLITE_OPEN_MEMORY}, {}, -} /* sqlite3.c:171483:34 */ +} /* sqlite3.c:171540:34 */ // This routine does the core work of extracting URI parameters from a // database filename for the sqlite3_uri_parameter() interface. -func uriParameter(tls *libc.TLS, zFilename uintptr, zParam uintptr) uintptr { /* sqlite3.c:171557:19: */ +func uriParameter(tls *libc.TLS, zFilename uintptr, zParam uintptr) uintptr { /* sqlite3.c:171614:19: */ zFilename += uintptr(Xsqlite3Strlen30(tls, zFilename) + 1) for zFilename != uintptr(0) && *(*int8)(unsafe.Pointer(zFilename)) != 0 { var x int32 = libc.Xstrcmp(tls, zFilename, zParam) @@ -150043,7 +150074,7 @@ func uriParameter(tls *libc.TLS, zFilename uintptr, zParam uintptr) uintptr { /* // This routine does the work of opening a database on behalf of // sqlite3_open() and sqlite3_open16(). The database filename "zFilename" // is UTF-8 encoded. -func openDatabase(tls *libc.TLS, zFilename uintptr, ppDb uintptr, flags uint32, zVfs uintptr) int32 { /* sqlite3.c:171575:12: */ +func openDatabase(tls *libc.TLS, zFilename uintptr, ppDb uintptr, flags uint32, zVfs uintptr) int32 { /* sqlite3.c:171632:12: */ bp := tls.Alloc(32) defer tls.Free(32) *(*uint32)(unsafe.Pointer(bp + 8)) = flags @@ -150227,7 +150258,7 @@ __15: if !(int32(1)<<(*(*uint32)(unsafe.Pointer(bp + 8))&uint32(7))&0x46 == 0) { goto __16 } - rc = Xsqlite3MisuseError(tls, 171788) // IMP: R-18321-05872 + rc = Xsqlite3MisuseError(tls, 171845) // IMP: R-18321-05872 goto __17 __16: rc = Xsqlite3ParseUri(tls, zVfs, zFilename, bp+8, db, bp+16, bp+24) @@ -150383,17 +150414,17 @@ __32: } // Open a new database handle. -func Xsqlite3_open(tls *libc.TLS, zFilename uintptr, ppDb uintptr) int32 { /* sqlite3.c:171910:16: */ +func Xsqlite3_open(tls *libc.TLS, zFilename uintptr, ppDb uintptr) int32 { /* sqlite3.c:171967:16: */ return openDatabase(tls, zFilename, ppDb, uint32(SQLITE_OPEN_READWRITE|SQLITE_OPEN_CREATE), uintptr(0)) } -func Xsqlite3_open_v2(tls *libc.TLS, filename uintptr, ppDb uintptr, flags int32, zVfs uintptr) int32 { /* sqlite3.c:171917:16: */ +func Xsqlite3_open_v2(tls *libc.TLS, filename uintptr, ppDb uintptr, flags int32, zVfs uintptr) int32 { /* sqlite3.c:171974:16: */ return openDatabase(tls, filename, ppDb, uint32(flags), zVfs) } // Open a new database handle. -func Xsqlite3_open16(tls *libc.TLS, zFilename uintptr, ppDb uintptr) int32 { /* sqlite3.c:171930:16: */ +func Xsqlite3_open16(tls *libc.TLS, zFilename uintptr, ppDb uintptr) int32 { /* sqlite3.c:171987:16: */ var zFilename8 uintptr // zFilename encoded in UTF-8 instead of UTF-16 var pVal uintptr var rc int32 @@ -150425,12 +150456,12 @@ func Xsqlite3_open16(tls *libc.TLS, zFilename uintptr, ppDb uintptr) int32 { /* } // 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) int32 { /* sqlite3.c:171969:16: */ +func Xsqlite3_create_collation(tls *libc.TLS, db uintptr, zName uintptr, enc int32, pCtx uintptr, xCompare uintptr) int32 { /* sqlite3.c:172026:16: */ return Xsqlite3_create_collation_v2(tls, db, zName, enc, pCtx, xCompare, uintptr(0)) } // 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) int32 { /* sqlite3.c:171982:16: */ +func Xsqlite3_create_collation_v2(tls *libc.TLS, db uintptr, zName uintptr, enc int32, pCtx uintptr, xCompare uintptr, xDel uintptr) int32 { /* sqlite3.c:172039:16: */ var rc int32 Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) @@ -150442,7 +150473,7 @@ func Xsqlite3_create_collation_v2(tls *libc.TLS, db uintptr, zName uintptr, enc } // 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) int32 { /* sqlite3.c:172007:16: */ +func Xsqlite3_create_collation16(tls *libc.TLS, db uintptr, zName uintptr, enc int32, pCtx uintptr, xCompare uintptr) int32 { /* sqlite3.c:172064:16: */ var rc int32 = SQLITE_OK var zName8 uintptr @@ -150460,7 +150491,7 @@ func Xsqlite3_create_collation16(tls *libc.TLS, db uintptr, zName uintptr, enc i // 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) int32 { /* sqlite3.c:172037:16: */ +func Xsqlite3_collation_needed(tls *libc.TLS, db uintptr, pCollNeededArg uintptr, xCollNeeded uintptr) int32 { /* sqlite3.c:172094:16: */ Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) (*Sqlite3)(unsafe.Pointer(db)).FxCollNeeded = xCollNeeded (*Sqlite3)(unsafe.Pointer(db)).FxCollNeeded16 = uintptr(0) @@ -150471,7 +150502,7 @@ func Xsqlite3_collation_needed(tls *libc.TLS, db uintptr, pCollNeededArg uintptr // 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) int32 { /* sqlite3.c:172058:16: */ +func Xsqlite3_collation_needed16(tls *libc.TLS, db uintptr, pCollNeededArg uintptr, xCollNeeded16 uintptr) int32 { /* sqlite3.c:172115:16: */ Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) (*Sqlite3)(unsafe.Pointer(db)).FxCollNeeded = uintptr(0) (*Sqlite3)(unsafe.Pointer(db)).FxCollNeeded16 = xCollNeeded16 @@ -150482,7 +150513,7 @@ func Xsqlite3_collation_needed16(tls *libc.TLS, db uintptr, pCollNeededArg uintp // This function is now an anachronism. It used to be used to recover from a // malloc() failure, but SQLite now does this automatically. -func Xsqlite3_global_recover(tls *libc.TLS) int32 { /* sqlite3.c:172080:16: */ +func Xsqlite3_global_recover(tls *libc.TLS) int32 { /* sqlite3.c:172137:16: */ return SQLITE_OK } @@ -150490,7 +150521,7 @@ func Xsqlite3_global_recover(tls *libc.TLS) int32 { /* sqlite3.c:172080:16: */ // mode. Return TRUE if it is and FALSE if not. Autocommit mode is on // by default. Autocommit is disabled by a BEGIN statement and reenabled // by the next COMMIT or ROLLBACK. -func Xsqlite3_get_autocommit(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:172091:16: */ +func Xsqlite3_get_autocommit(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:172148:16: */ return int32((*Sqlite3)(unsafe.Pointer(db)).FautoCommit) } @@ -150503,7 +150534,7 @@ func Xsqlite3_get_autocommit(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:172 // // 2. Invoke sqlite3_log() to provide the source code location where // a low-level error is first detected. -func Xsqlite3ReportError(tls *libc.TLS, iErr int32, lineno int32, zType uintptr) int32 { /* sqlite3.c:172112:20: */ +func Xsqlite3ReportError(tls *libc.TLS, iErr int32, lineno int32, zType uintptr) int32 { /* sqlite3.c:172169:20: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -150512,17 +150543,17 @@ func Xsqlite3ReportError(tls *libc.TLS, iErr int32, lineno int32, zType uintptr) return iErr } -func Xsqlite3CorruptError(tls *libc.TLS, lineno int32) int32 { /* sqlite3.c:172117:20: */ +func Xsqlite3CorruptError(tls *libc.TLS, lineno int32) int32 { /* sqlite3.c:172174:20: */ return Xsqlite3ReportError(tls, SQLITE_CORRUPT, lineno, ts+24199) } -func Xsqlite3MisuseError(tls *libc.TLS, lineno int32) int32 { /* sqlite3.c:172121:20: */ +func Xsqlite3MisuseError(tls *libc.TLS, lineno int32) int32 { /* sqlite3.c:172178:20: */ return Xsqlite3ReportError(tls, SQLITE_MISUSE, lineno, ts+24219) } -func Xsqlite3CantopenError(tls *libc.TLS, lineno int32) int32 { /* sqlite3.c:172125:20: */ +func Xsqlite3CantopenError(tls *libc.TLS, lineno int32) int32 { /* sqlite3.c:172182:20: */ return Xsqlite3ReportError(tls, SQLITE_CANTOPEN, lineno, ts+24226) } @@ -150532,12 +150563,12 @@ func Xsqlite3CantopenError(tls *libc.TLS, lineno int32) int32 { /* sqlite3.c:172 // // SQLite no longer uses thread-specific data so this routine is now a // no-op. It is retained for historical compatibility. -func Xsqlite3_thread_cleanup(tls *libc.TLS) { /* sqlite3.c:172156:17: */ +func Xsqlite3_thread_cleanup(tls *libc.TLS) { /* sqlite3.c:172213:17: */ } // Return meta information about a specific column of a database table. // See comment in sqlite3.h (sqlite.h.in) for details. -func Xsqlite3_table_column_metadata(tls *libc.TLS, db uintptr, zDbName uintptr, zTableName uintptr, zColumnName uintptr, pzDataType uintptr, pzCollSeq uintptr, pNotNull uintptr, pPrimaryKey uintptr, pAutoinc uintptr) int32 { /* sqlite3.c:172164:16: */ +func Xsqlite3_table_column_metadata(tls *libc.TLS, db uintptr, zDbName uintptr, zTableName uintptr, zColumnName uintptr, pzDataType uintptr, pzCollSeq uintptr, pNotNull uintptr, pPrimaryKey uintptr, pAutoinc uintptr) int32 { /* sqlite3.c:172221:16: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -150721,7 +150752,7 @@ __20: } // Sleep for a little while. Return the amount of time slept. -func Xsqlite3_sleep(tls *libc.TLS, ms int32) int32 { /* sqlite3.c:172282:16: */ +func Xsqlite3_sleep(tls *libc.TLS, ms int32) int32 { /* sqlite3.c:172339:16: */ var pVfs uintptr var rc int32 pVfs = Xsqlite3_vfs_find(tls, uintptr(0)) @@ -150736,7 +150767,7 @@ func Xsqlite3_sleep(tls *libc.TLS, ms int32) int32 { /* sqlite3.c:172282:16: */ } // Enable or disable the extended result codes. -func Xsqlite3_extended_result_codes(tls *libc.TLS, db uintptr, onoff int32) int32 { /* sqlite3.c:172298:16: */ +func Xsqlite3_extended_result_codes(tls *libc.TLS, db uintptr, onoff int32) int32 { /* sqlite3.c:172355:16: */ Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) (*Sqlite3)(unsafe.Pointer(db)).FerrMask = func() int32 { if onoff != 0 { @@ -150749,7 +150780,7 @@ func Xsqlite3_extended_result_codes(tls *libc.TLS, db uintptr, onoff int32) int3 } // Invoke the xFileControl method on a particular database. -func Xsqlite3_file_control(tls *libc.TLS, db uintptr, zDbName uintptr, op int32, pArg uintptr) int32 { /* sqlite3.c:172311:16: */ +func Xsqlite3_file_control(tls *libc.TLS, db uintptr, zDbName uintptr, op int32, pArg uintptr) int32 { /* sqlite3.c:172368:16: */ var rc int32 = SQLITE_ERROR var pBtree uintptr @@ -150794,7 +150825,7 @@ func Xsqlite3_file_control(tls *libc.TLS, db uintptr, zDbName uintptr, op int32, } // Interface to the testing logic. -func Xsqlite3_test_control(tls *libc.TLS, op int32, va uintptr) int32 { /* sqlite3.c:172361:16: */ +func Xsqlite3_test_control(tls *libc.TLS, op int32, va uintptr) int32 { /* sqlite3.c:172418:16: */ var rc int32 = 0 var ap Va_list _ = ap @@ -151253,7 +151284,7 @@ func Xsqlite3_test_control(tls *libc.TLS, op int32, va uintptr) int32 { /* sqlit // backwards for the first byte following four consecutive zero bytes. // // This only works if the filename passed in was obtained from the Pager. -func databaseName(tls *libc.TLS, zName uintptr) uintptr { /* sqlite3.c:172857:19: */ +func databaseName(tls *libc.TLS, zName uintptr) uintptr { /* sqlite3.c:172914:19: */ for int32(*(*int8)(unsafe.Pointer(zName + libc.UintptrFromInt32(-1)))) != 0 || int32(*(*int8)(unsafe.Pointer(zName + libc.UintptrFromInt32(-2)))) != 0 || int32(*(*int8)(unsafe.Pointer(zName + libc.UintptrFromInt32(-3)))) != 0 || int32(*(*int8)(unsafe.Pointer(zName + libc.UintptrFromInt32(-4)))) != 0 { zName-- } @@ -151262,7 +151293,7 @@ func databaseName(tls *libc.TLS, zName uintptr) uintptr { /* sqlite3.c:172857:19 // Append text z[] to the end of p[]. Return a pointer to the first // character after then zero terminator on the new text in p[]. -func appendText(tls *libc.TLS, p uintptr, z uintptr) uintptr { /* sqlite3.c:172868:13: */ +func appendText(tls *libc.TLS, p uintptr, z uintptr) uintptr { /* sqlite3.c:172925:13: */ var n Size_t = libc.Xstrlen(tls, z) libc.Xmemcpy(tls, p, z, n+uint64(1)) return p + uintptr(n) + uintptr(1) @@ -151275,7 +151306,7 @@ func appendText(tls *libc.TLS, p uintptr, z uintptr) uintptr { /* sqlite3.c:1728 // // Memory layout must be compatible with that generated by the pager // and expected by sqlite3_uri_parameter() and databaseName(). -func Xsqlite3_create_filename(tls *libc.TLS, zDatabase uintptr, zJournal uintptr, zWal uintptr, nParam int32, azParam uintptr) uintptr { /* sqlite3.c:172883:17: */ +func Xsqlite3_create_filename(tls *libc.TLS, zDatabase uintptr, zJournal uintptr, zWal uintptr, nParam int32, azParam uintptr) uintptr { /* sqlite3.c:172940:17: */ var nByte Sqlite3_int64 var i int32 var pResult uintptr @@ -151306,7 +151337,7 @@ func Xsqlite3_create_filename(tls *libc.TLS, zDatabase uintptr, zJournal uintptr // Free memory obtained from sqlite3_create_filename(). It is a severe // error to call this routine with any parameter other than a pointer // previously obtained from sqlite3_create_filename() or a NULL pointer. -func Xsqlite3_free_filename(tls *libc.TLS, p uintptr) { /* sqlite3.c:172919:17: */ +func Xsqlite3_free_filename(tls *libc.TLS, p uintptr) { /* sqlite3.c:172976:17: */ if p == uintptr(0) { return } @@ -151323,7 +151354,7 @@ func Xsqlite3_free_filename(tls *libc.TLS, p uintptr) { /* sqlite3.c:172919:17: // query parameter we seek. This routine returns the value of the zParam // parameter if it exists. If the parameter does not exist, this routine // returns a NULL pointer. -func Xsqlite3_uri_parameter(tls *libc.TLS, zFilename uintptr, zParam uintptr) uintptr { /* sqlite3.c:172937:23: */ +func Xsqlite3_uri_parameter(tls *libc.TLS, zFilename uintptr, zParam uintptr) uintptr { /* sqlite3.c:172994:23: */ if zFilename == uintptr(0) || zParam == uintptr(0) { return uintptr(0) } @@ -151332,7 +151363,7 @@ func Xsqlite3_uri_parameter(tls *libc.TLS, zFilename uintptr, zParam uintptr) ui } // Return a pointer to the name of Nth query parameter of the filename. -func Xsqlite3_uri_key(tls *libc.TLS, zFilename uintptr, N int32) uintptr { /* sqlite3.c:172946:23: */ +func Xsqlite3_uri_key(tls *libc.TLS, zFilename uintptr, N int32) uintptr { /* sqlite3.c:173003:23: */ if zFilename == uintptr(0) || N < 0 { return uintptr(0) } @@ -151349,7 +151380,7 @@ func Xsqlite3_uri_key(tls *libc.TLS, zFilename uintptr, N int32) uintptr { /* sq } // Return a boolean value for a query parameter. -func Xsqlite3_uri_boolean(tls *libc.TLS, zFilename uintptr, zParam uintptr, bDflt int32) int32 { /* sqlite3.c:172960:16: */ +func Xsqlite3_uri_boolean(tls *libc.TLS, zFilename uintptr, zParam uintptr, bDflt int32) int32 { /* sqlite3.c:173017:16: */ var z uintptr = Xsqlite3_uri_parameter(tls, zFilename, zParam) bDflt = libc.Bool32(bDflt != 0) if z != 0 { @@ -151359,7 +151390,7 @@ func Xsqlite3_uri_boolean(tls *libc.TLS, zFilename uintptr, zParam uintptr, bDfl } // Return a 64-bit integer value for a query parameter. -func Xsqlite3_uri_int64(tls *libc.TLS, zFilename uintptr, zParam uintptr, bDflt Sqlite3_int64) Sqlite3_int64 { /* sqlite3.c:172969:26: */ +func Xsqlite3_uri_int64(tls *libc.TLS, zFilename uintptr, zParam uintptr, bDflt Sqlite3_int64) Sqlite3_int64 { /* sqlite3.c:173026:26: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -151380,14 +151411,14 @@ func Xsqlite3_uri_int64(tls *libc.TLS, zFilename uintptr, zParam uintptr, bDflt // passing free() a pointer that was not obtained from malloc() - it is // an error that we cannot easily detect but that will likely cause memory // corruption. -func Xsqlite3_filename_database(tls *libc.TLS, zFilename uintptr) uintptr { /* sqlite3.c:172992:23: */ +func Xsqlite3_filename_database(tls *libc.TLS, zFilename uintptr) uintptr { /* sqlite3.c:173049:23: */ if zFilename == uintptr(0) { return uintptr(0) } return databaseName(tls, zFilename) } -func Xsqlite3_filename_journal(tls *libc.TLS, zFilename uintptr) uintptr { /* sqlite3.c:172996:23: */ +func Xsqlite3_filename_journal(tls *libc.TLS, zFilename uintptr) uintptr { /* sqlite3.c:173053:23: */ if zFilename == uintptr(0) { return uintptr(0) } @@ -151400,7 +151431,7 @@ func Xsqlite3_filename_journal(tls *libc.TLS, zFilename uintptr) uintptr { /* sq return zFilename + uintptr(1) } -func Xsqlite3_filename_wal(tls *libc.TLS, zFilename uintptr) uintptr { /* sqlite3.c:173006:23: */ +func Xsqlite3_filename_wal(tls *libc.TLS, zFilename uintptr) uintptr { /* sqlite3.c:173063:23: */ zFilename = Xsqlite3_filename_journal(tls, zFilename) if zFilename != 0 { zFilename += uintptr(Xsqlite3Strlen30(tls, zFilename) + 1) @@ -151409,7 +151440,7 @@ func Xsqlite3_filename_wal(tls *libc.TLS, zFilename uintptr) uintptr { /* sqlite } // Return the Btree pointer identified by zDbName. Return NULL if not found. -func Xsqlite3DbNameToBtree(tls *libc.TLS, db uintptr, zDbName uintptr) uintptr { /* sqlite3.c:173019:22: */ +func Xsqlite3DbNameToBtree(tls *libc.TLS, db uintptr, zDbName uintptr) uintptr { /* sqlite3.c:173076:22: */ var iDb int32 if zDbName != 0 { iDb = Xsqlite3FindDbName(tls, db, zDbName) @@ -151424,7 +151455,7 @@ func Xsqlite3DbNameToBtree(tls *libc.TLS, db uintptr, zDbName uintptr) uintptr { // Return the filename of the database associated with a database // connection. -func Xsqlite3_db_filename(tls *libc.TLS, db uintptr, zDbName uintptr) uintptr { /* sqlite3.c:173028:23: */ +func Xsqlite3_db_filename(tls *libc.TLS, db uintptr, zDbName uintptr) uintptr { /* sqlite3.c:173085:23: */ var pBt uintptr pBt = Xsqlite3DbNameToBtree(tls, db, zDbName) if pBt != 0 { @@ -151435,7 +151466,7 @@ func Xsqlite3_db_filename(tls *libc.TLS, db uintptr, zDbName uintptr) uintptr { // Return 1 if database is read-only or 0 if read/write. Return -1 if // no such database exists. -func Xsqlite3_db_readonly(tls *libc.TLS, db uintptr, zDbName uintptr) int32 { /* sqlite3.c:173044:16: */ +func Xsqlite3_db_readonly(tls *libc.TLS, db uintptr, zDbName uintptr) int32 { /* sqlite3.c:173101:16: */ var pBt uintptr pBt = Xsqlite3DbNameToBtree(tls, db, zDbName) if pBt != 0 { @@ -151446,7 +151477,7 @@ func Xsqlite3_db_readonly(tls *libc.TLS, db uintptr, zDbName uintptr) int32 { /* // Obtain a snapshot handle for the snapshot of database zDb currently // being read by handle db. -func Xsqlite3_snapshot_get(tls *libc.TLS, db uintptr, zDb uintptr, ppSnapshot uintptr) int32 { /* sqlite3.c:173061:16: */ +func Xsqlite3_snapshot_get(tls *libc.TLS, db uintptr, zDb uintptr, ppSnapshot uintptr) int32 { /* sqlite3.c:173118:16: */ var rc int32 = SQLITE_ERROR Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) @@ -151469,7 +151500,7 @@ func Xsqlite3_snapshot_get(tls *libc.TLS, db uintptr, zDb uintptr, ppSnapshot ui } // Open a read-transaction on the snapshot idendified by pSnapshot. -func Xsqlite3_snapshot_open(tls *libc.TLS, db uintptr, zDb uintptr, pSnapshot uintptr) int32 { /* sqlite3.c:173097:16: */ +func Xsqlite3_snapshot_open(tls *libc.TLS, db uintptr, zDb uintptr, pSnapshot uintptr) int32 { /* sqlite3.c:173154:16: */ var rc int32 = SQLITE_ERROR Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) @@ -151512,7 +151543,7 @@ func Xsqlite3_snapshot_open(tls *libc.TLS, db uintptr, zDb uintptr, pSnapshot ui // Recover as many snapshots as possible from the wal file associated with // schema zDb of database db. -func Xsqlite3_snapshot_recover(tls *libc.TLS, db uintptr, zDb uintptr) int32 { /* sqlite3.c:173153:16: */ +func Xsqlite3_snapshot_recover(tls *libc.TLS, db uintptr, zDb uintptr) int32 { /* sqlite3.c:173210:16: */ var rc int32 = SQLITE_ERROR var iDb int32 @@ -151533,7 +151564,7 @@ func Xsqlite3_snapshot_recover(tls *libc.TLS, db uintptr, zDb uintptr) int32 { / } // Free a snapshot handle obtained from sqlite3_snapshot_get(). -func Xsqlite3_snapshot_free(tls *libc.TLS, pSnapshot uintptr) { /* sqlite3.c:173184:17: */ +func Xsqlite3_snapshot_free(tls *libc.TLS, pSnapshot uintptr) { /* sqlite3.c:173241:17: */ Xsqlite3_free(tls, pSnapshot) } @@ -151542,7 +151573,7 @@ func Xsqlite3_snapshot_free(tls *libc.TLS, pSnapshot uintptr) { /* sqlite3.c:173 // // The name can optionally begin with "SQLITE_" but the "SQLITE_" prefix // is not required for a match. -func Xsqlite3_compileoption_used(tls *libc.TLS, zOptName uintptr) int32 { /* sqlite3.c:173197:16: */ +func Xsqlite3_compileoption_used(tls *libc.TLS, zOptName uintptr) int32 { /* sqlite3.c:173254:16: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -151572,7 +151603,7 @@ func Xsqlite3_compileoption_used(tls *libc.TLS, zOptName uintptr) int32 { /* sql // Return the N-th compile-time option string. If N is out of range, // return a NULL pointer. -func Xsqlite3_compileoption_get(tls *libc.TLS, N int32) uintptr { /* sqlite3.c:173230:23: */ +func Xsqlite3_compileoption_get(tls *libc.TLS, N int32) uintptr { /* sqlite3.c:173287:23: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -151617,11 +151648,11 @@ func Xsqlite3_compileoption_get(tls *libc.TLS, N int32) uintptr { /* sqlite3.c:1 // for which either sqlite3.pBlockingConnection or sqlite3.pUnlockConnection // is not NULL. This variable may only accessed while the STATIC_MAIN // mutex is held. -var sqlite3BlockedList uintptr = uintptr(0) /* sqlite3.c:173282:16 */ +var sqlite3BlockedList uintptr = uintptr(0) /* sqlite3.c:173339:16 */ // Remove connection db from the blocked connections list. If connection // db is not currently a part of the list, this function is a no-op. -func removeFromBlockedList(tls *libc.TLS, db uintptr) { /* sqlite3.c:173325:13: */ +func removeFromBlockedList(tls *libc.TLS, db uintptr) { /* sqlite3.c:173382:13: */ var pp uintptr for pp = uintptr(unsafe.Pointer(&sqlite3BlockedList)); *(*uintptr)(unsafe.Pointer(pp)) != 0; pp = *(*uintptr)(unsafe.Pointer(pp)) + 832 { @@ -151634,7 +151665,7 @@ func removeFromBlockedList(tls *libc.TLS, db uintptr) { /* sqlite3.c:173325:13: // Add connection db to the blocked connections list. It is assumed // that it is not already a part of the list. -func addToBlockedList(tls *libc.TLS, db uintptr) { /* sqlite3.c:173340:13: */ +func addToBlockedList(tls *libc.TLS, db uintptr) { /* sqlite3.c:173397:13: */ var pp uintptr for pp = uintptr(unsafe.Pointer(&sqlite3BlockedList)); *(*uintptr)(unsafe.Pointer(pp)) != 0 && (*Sqlite3)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pp)))).FxUnlockNotify != (*Sqlite3)(unsafe.Pointer(db)).FxUnlockNotify; pp = *(*uintptr)(unsafe.Pointer(pp)) + 832 { @@ -151644,13 +151675,13 @@ func addToBlockedList(tls *libc.TLS, db uintptr) { /* sqlite3.c:173340:13: */ } // Obtain the STATIC_MAIN mutex. -func enterMutex(tls *libc.TLS) { /* sqlite3.c:173355:13: */ +func enterMutex(tls *libc.TLS) { /* sqlite3.c:173412:13: */ Xsqlite3_mutex_enter(tls, Xsqlite3MutexAlloc(tls, SQLITE_MUTEX_STATIC_MAIN)) } // Release the STATIC_MAIN mutex. -func leaveMutex(tls *libc.TLS) { /* sqlite3.c:173363:13: */ +func leaveMutex(tls *libc.TLS) { /* sqlite3.c:173420:13: */ Xsqlite3_mutex_leave(tls, Xsqlite3MutexAlloc(tls, SQLITE_MUTEX_STATIC_MAIN)) } @@ -151674,7 +151705,7 @@ func leaveMutex(tls *libc.TLS) { /* sqlite3.c:173363:13: */ // Each call to this routine overrides any prior callbacks registered // 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) int32 { /* sqlite3.c:173390:16: */ +func Xsqlite3_unlock_notify(tls *libc.TLS, db uintptr, xNotify uintptr, pArg uintptr) int32 { /* sqlite3.c:173447:16: */ bp := tls.Alloc(8) defer tls.Free(8) *(*uintptr)(unsafe.Pointer(bp)) = pArg @@ -151729,7 +151760,7 @@ func Xsqlite3_unlock_notify(tls *libc.TLS, db uintptr, xNotify uintptr, pArg uin // associated with connection db. The operation will return SQLITE_LOCKED // to the user because it requires a lock that will not be available // until connection pBlocker concludes its current transaction. -func Xsqlite3ConnectionBlocked(tls *libc.TLS, db uintptr, pBlocker uintptr) { /* sqlite3.c:173440:21: */ +func Xsqlite3ConnectionBlocked(tls *libc.TLS, db uintptr, pBlocker uintptr) { /* sqlite3.c:173497:21: */ enterMutex(tls) if (*Sqlite3)(unsafe.Pointer(db)).FpBlockingConnection == uintptr(0) && (*Sqlite3)(unsafe.Pointer(db)).FpUnlockConnection == uintptr(0) { addToBlockedList(tls, db) @@ -151755,7 +151786,7 @@ func Xsqlite3ConnectionBlocked(tls *libc.TLS, db uintptr, pBlocker uintptr) { /* // 3) If the two steps above mean that pBlockingConnection==0 and // pUnlockConnection==0, remove the entry from the blocked connections // list. -func Xsqlite3ConnectionUnlocked(tls *libc.TLS, db uintptr) { /* sqlite3.c:173468:21: */ +func Xsqlite3ConnectionUnlocked(tls *libc.TLS, db uintptr) { /* sqlite3.c:173525:21: */ bp := tls.Alloc(128) defer tls.Free(128) @@ -151859,7 +151890,7 @@ func Xsqlite3ConnectionUnlocked(tls *libc.TLS, db uintptr) { /* sqlite3.c:173468 // This is called when the database connection passed as an argument is // being closed. The connection is removed from the blocked list. -func Xsqlite3ConnectionClosed(tls *libc.TLS, db uintptr) { /* sqlite3.c:173567:21: */ +func Xsqlite3ConnectionClosed(tls *libc.TLS, db uintptr) { /* sqlite3.c:173624:21: */ Xsqlite3ConnectionUnlocked(tls, db) enterMutex(tls) removeFromBlockedList(tls, db) @@ -152464,7 +152495,7 @@ var jsonIsSpace = [256]int8{ int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), -} /* sqlite3.c:193144:19 */ +} /* sqlite3.c:193201:19 */ // Objects type JsonString1 = struct { @@ -152476,10 +152507,10 @@ type JsonString1 = struct { FbErr U8 FzSpace [100]int8 F__ccgo_pad1 [2]byte -} /* sqlite3.c:193171:9 */ +} /* sqlite3.c:193228:9 */ // Objects -type JsonString = JsonString1 /* sqlite3.c:193171:27 */ +type JsonString = JsonString1 /* sqlite3.c:193228:27 */ type JsonNode1 = struct { FeType U8 FjnFlags U8 @@ -152487,9 +152518,9 @@ type JsonNode1 = struct { F__ccgo_pad1 [1]byte Fn U32 Fu struct{ FzJContent uintptr } -} /* sqlite3.c:193172:9 */ +} /* sqlite3.c:193229:9 */ -type JsonNode = JsonNode1 /* sqlite3.c:193172:25 */ +type JsonNode = JsonNode1 /* sqlite3.c:193229:25 */ type JsonParse1 = struct { FnNode U32 FnAlloc U32 @@ -152502,9 +152533,9 @@ type JsonParse1 = struct { FnJson int32 FiHold U32 F__ccgo_pad1 [4]byte -} /* sqlite3.c:193173:9 */ +} /* sqlite3.c:193230:9 */ -type JsonParse = JsonParse1 /* sqlite3.c:193173:26 */ +type JsonParse = JsonParse1 /* sqlite3.c:193230:26 */ // JSON type values @@ -152513,7 +152544,7 @@ type JsonParse = JsonParse1 /* sqlite3.c:193173:26 */ // Names of the various JSON types: var jsonType = [8]uintptr{ ts + 6125, ts + 6639, ts + 6644, ts + 6135, ts + 6130, ts + 7885, ts + 24302, ts + 24308, -} /* sqlite3.c:193206:19 */ +} /* sqlite3.c:193263:19 */ // Maximum nesting depth of JSON for this implementation. // @@ -152527,7 +152558,7 @@ var jsonType = [8]uintptr{ // // Set the JsonString object to an empty string -func jsonZero(tls *libc.TLS, p uintptr) { /* sqlite3.c:193267:13: */ +func jsonZero(tls *libc.TLS, p uintptr) { /* sqlite3.c:193324:13: */ (*JsonString)(unsafe.Pointer(p)).FzBuf = p + 34 /* &.zSpace */ (*JsonString)(unsafe.Pointer(p)).FnAlloc = U64(unsafe.Sizeof([100]int8{})) (*JsonString)(unsafe.Pointer(p)).FnUsed = uint64(0) @@ -152535,7 +152566,7 @@ func jsonZero(tls *libc.TLS, p uintptr) { /* sqlite3.c:193267:13: */ } // Initialize the JsonString object -func jsonInit(tls *libc.TLS, p uintptr, pCtx uintptr) { /* sqlite3.c:193276:13: */ +func jsonInit(tls *libc.TLS, p uintptr, pCtx uintptr) { /* sqlite3.c:193333:13: */ (*JsonString)(unsafe.Pointer(p)).FpCtx = pCtx (*JsonString)(unsafe.Pointer(p)).FbErr = U8(0) jsonZero(tls, p) @@ -152543,7 +152574,7 @@ func jsonInit(tls *libc.TLS, p uintptr, pCtx uintptr) { /* sqlite3.c:193276:13: // Free all allocated memory and reset the JsonString object back to its // initial state. -func jsonReset(tls *libc.TLS, p uintptr) { /* sqlite3.c:193286:13: */ +func jsonReset(tls *libc.TLS, p uintptr) { /* sqlite3.c:193343:13: */ if !(int32((*JsonString)(unsafe.Pointer(p)).FbStatic) != 0) { Xsqlite3_free(tls, (*JsonString)(unsafe.Pointer(p)).FzBuf) } @@ -152551,7 +152582,7 @@ func jsonReset(tls *libc.TLS, p uintptr) { /* sqlite3.c:193286:13: */ } // Report an out-of-memory (OOM) condition -func jsonOom(tls *libc.TLS, p uintptr) { /* sqlite3.c:193294:13: */ +func jsonOom(tls *libc.TLS, p uintptr) { /* sqlite3.c:193351:13: */ (*JsonString)(unsafe.Pointer(p)).FbErr = U8(1) Xsqlite3_result_error_nomem(tls, (*JsonString)(unsafe.Pointer(p)).FpCtx) jsonReset(tls, p) @@ -152559,7 +152590,7 @@ func jsonOom(tls *libc.TLS, p uintptr) { /* sqlite3.c:193294:13: */ // Enlarge pJson->zBuf so that it can hold at least N more bytes. // Return zero on success. Return non-zero on an OOM error -func jsonGrow(tls *libc.TLS, p uintptr, N U32) int32 { /* sqlite3.c:193303:12: */ +func jsonGrow(tls *libc.TLS, p uintptr, N U32) int32 { /* sqlite3.c:193360:12: */ var nTotal U64 if U64(N) < (*JsonString)(unsafe.Pointer(p)).FnAlloc { nTotal = (*JsonString)(unsafe.Pointer(p)).FnAlloc * uint64(2) @@ -152592,7 +152623,7 @@ func jsonGrow(tls *libc.TLS, p uintptr, N U32) int32 { /* sqlite3.c:193303:12: * } // Append N bytes from zIn onto the end of the JsonString string. -func jsonAppendRaw(tls *libc.TLS, p uintptr, zIn uintptr, N U32) { /* sqlite3.c:193330:13: */ +func jsonAppendRaw(tls *libc.TLS, p uintptr, zIn uintptr, N U32) { /* sqlite3.c:193387:13: */ if N == U32(0) { return } @@ -152604,7 +152635,7 @@ func jsonAppendRaw(tls *libc.TLS, p uintptr, zIn uintptr, N U32) { /* sqlite3.c: } // Append formatted text (not to exceed N bytes) to the JsonString. -func jsonPrintf(tls *libc.TLS, N int32, p uintptr, zFormat uintptr, va uintptr) { /* sqlite3.c:193339:13: */ +func jsonPrintf(tls *libc.TLS, N int32, p uintptr, zFormat uintptr, va uintptr) { /* sqlite3.c:193396:13: */ var ap Va_list _ = ap if (*JsonString)(unsafe.Pointer(p)).FnUsed+U64(N) >= (*JsonString)(unsafe.Pointer(p)).FnAlloc && jsonGrow(tls, p, uint32(N)) != 0 { @@ -152617,7 +152648,7 @@ func jsonPrintf(tls *libc.TLS, N int32, p uintptr, zFormat uintptr, va uintptr) } // Append a single character -func jsonAppendChar(tls *libc.TLS, p uintptr, c int8) { /* sqlite3.c:193350:13: */ +func jsonAppendChar(tls *libc.TLS, p uintptr, c int8) { /* sqlite3.c:193407:13: */ if (*JsonString)(unsafe.Pointer(p)).FnUsed >= (*JsonString)(unsafe.Pointer(p)).FnAlloc && jsonGrow(tls, p, uint32(1)) != 0 { return } @@ -152626,7 +152657,7 @@ func jsonAppendChar(tls *libc.TLS, p uintptr, c int8) { /* sqlite3.c:193350:13: // Append a comma separator to the output buffer, if the previous // character is not '[' or '{'. -func jsonAppendSeparator(tls *libc.TLS, p uintptr) { /* sqlite3.c:193358:13: */ +func jsonAppendSeparator(tls *libc.TLS, p uintptr) { /* sqlite3.c:193415:13: */ var c int8 if (*JsonString)(unsafe.Pointer(p)).FnUsed == uint64(0) { return @@ -152641,7 +152672,7 @@ func jsonAppendSeparator(tls *libc.TLS, p uintptr) { /* sqlite3.c:193358:13: */ // under construction. Enclose the string in "..." and escape // any double-quotes or backslash characters contained within the // string. -func jsonAppendString(tls *libc.TLS, p uintptr, zIn uintptr, N U32) { /* sqlite3.c:193370:13: */ +func jsonAppendString(tls *libc.TLS, p uintptr, zIn uintptr, N U32) { /* sqlite3.c:193427:13: */ var i U32 var c uint8 if !(zIn == uintptr(0) || U64(N)+(*JsonString)(unsafe.Pointer(p)).FnUsed+uint64(2) >= (*JsonString)(unsafe.Pointer(p)).FnAlloc && jsonGrow(tls, p, N+U32(2)) != 0) { @@ -152712,11 +152743,11 @@ __4: var aSpecial = [32]int8{ int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8('b'), int8('t'), int8('n'), int8(0), int8('f'), int8('r'), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), -} /* sqlite3.c:193381:25 */ +} /* sqlite3.c:193438:25 */ // Append a function parameter value to the JSON string under // construction. -func jsonAppendValue(tls *libc.TLS, p uintptr, pValue uintptr) { /* sqlite3.c:193413:13: */ +func jsonAppendValue(tls *libc.TLS, p uintptr, pValue uintptr) { /* sqlite3.c:193470:13: */ switch Xsqlite3_value_type(tls, pValue) { case SQLITE_NULL: { @@ -152760,7 +152791,7 @@ func jsonAppendValue(tls *libc.TLS, p uintptr, pValue uintptr) { /* sqlite3.c:19 } // Make the JSON in p the result of the SQL function. -func jsonResult(tls *libc.TLS, p uintptr) { /* sqlite3.c:193453:13: */ +func jsonResult(tls *libc.TLS, p uintptr) { /* sqlite3.c:193510:13: */ if int32((*JsonString)(unsafe.Pointer(p)).FbErr) == 0 { Xsqlite3_result_text64(tls, (*JsonString)(unsafe.Pointer(p)).FpCtx, (*JsonString)(unsafe.Pointer(p)).FzBuf, (*JsonString)(unsafe.Pointer(p)).FnUsed, func() uintptr { @@ -152787,7 +152818,7 @@ func jsonResult(tls *libc.TLS, p uintptr) { /* sqlite3.c:193453:13: */ // Appended elements are not counted. The value returned is the number // by which the JsonNode counter should increment in order to go to the // next peer value. -func jsonNodeSize(tls *libc.TLS, pNode uintptr) U32 { /* sqlite3.c:193476:12: */ +func jsonNodeSize(tls *libc.TLS, pNode uintptr) U32 { /* sqlite3.c:193533:12: */ if int32((*JsonNode)(unsafe.Pointer(pNode)).FeType) >= JSON_ARRAY { return (*JsonNode)(unsafe.Pointer(pNode)).Fn + U32(1) } @@ -152796,7 +152827,7 @@ func jsonNodeSize(tls *libc.TLS, pNode uintptr) U32 { /* sqlite3.c:193476:12: */ // Reclaim all memory allocated by a JsonParse object. But do not // delete the JsonParse object itself. -func jsonParseReset(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:193484:13: */ +func jsonParseReset(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:193541:13: */ Xsqlite3_free(tls, (*JsonParse)(unsafe.Pointer(pParse)).FaNode) (*JsonParse)(unsafe.Pointer(pParse)).FaNode = uintptr(0) (*JsonParse)(unsafe.Pointer(pParse)).FnNode = U32(0) @@ -152806,7 +152837,7 @@ func jsonParseReset(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:193484:13: */ } // Free a JsonParse object that was obtained from sqlite3_malloc(). -func jsonParseFree(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:193496:13: */ +func jsonParseFree(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:193553:13: */ jsonParseReset(tls, pParse) Xsqlite3_free(tls, pParse) } @@ -152814,7 +152845,7 @@ func jsonParseFree(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:193496:13: */ // Convert the JsonNode pNode into a pure JSON string and // append to pOut. Subsubstructure is also included. Return // the number of JsonNode objects that are encoded. -func jsonRenderNode(tls *libc.TLS, pNode uintptr, pOut uintptr, aReplace uintptr) { /* sqlite3.c:193506:13: */ +func jsonRenderNode(tls *libc.TLS, pNode uintptr, pOut uintptr, aReplace uintptr) { /* sqlite3.c:193563:13: */ if int32((*JsonNode)(unsafe.Pointer(pNode)).FjnFlags)&(JNODE_REPLACE|JNODE_PATCH) != 0 { if int32((*JsonNode)(unsafe.Pointer(pNode)).FjnFlags)&JNODE_REPLACE != 0 && aReplace != uintptr(0) { @@ -152917,7 +152948,7 @@ func jsonRenderNode(tls *libc.TLS, pNode uintptr, pOut uintptr, aReplace uintptr } // Return a JsonNode and all its descendents as a JSON string. -func jsonReturnJson(tls *libc.TLS, pNode uintptr, pCtx uintptr, aReplace uintptr) { /* sqlite3.c:193595:13: */ +func jsonReturnJson(tls *libc.TLS, pNode uintptr, pCtx uintptr, aReplace uintptr) { /* sqlite3.c:193652:13: */ bp := tls.Alloc(136) defer tls.Free(136) @@ -152932,14 +152963,14 @@ func jsonReturnJson(tls *libc.TLS, pNode uintptr, pCtx uintptr, aReplace uintptr // Translate a single byte of Hex into an integer. // This routine only works if h really is a valid hexadecimal // character: 0..9a..fA..F -func jsonHexToInt(tls *libc.TLS, h int32) U8 { /* sqlite3.c:193612:11: */ +func jsonHexToInt(tls *libc.TLS, h int32) U8 { /* sqlite3.c:193669:11: */ h = h + 9*(1&(h>>6)) return U8(h & 0xf) } // Convert a 4-byte hex string into an integer -func jsonHexToInt4(tls *libc.TLS, z uintptr) U32 { /* sqlite3.c:193625:12: */ +func jsonHexToInt4(tls *libc.TLS, z uintptr) U32 { /* sqlite3.c:193682:12: */ var v U32 v = U32(int32(jsonHexToInt(tls, int32(*(*int8)(unsafe.Pointer(z)))))<<12 + @@ -152950,7 +152981,7 @@ func jsonHexToInt4(tls *libc.TLS, z uintptr) U32 { /* sqlite3.c:193625:12: */ } // Make the JsonNode the return value of the function. -func jsonReturn(tls *libc.TLS, pNode uintptr, pCtx uintptr, aReplace uintptr) { /* sqlite3.c:193641:13: */ +func jsonReturn(tls *libc.TLS, pNode uintptr, pCtx uintptr, aReplace uintptr) { /* sqlite3.c:193698:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -153231,7 +153262,7 @@ __1: // A macro to hint to the compiler that a function should not be // inlined. -func jsonParseAddNodeExpand(tls *libc.TLS, pParse uintptr, eType U32, n U32, zContent uintptr) int32 { /* sqlite3.c:193814:26: */ +func jsonParseAddNodeExpand(tls *libc.TLS, pParse uintptr, eType U32, n U32, zContent uintptr) int32 { /* sqlite3.c:193871:26: */ var nNew U32 var pNew uintptr @@ -153253,7 +153284,7 @@ func jsonParseAddNodeExpand(tls *libc.TLS, pParse uintptr, eType U32, n U32, zCo // Create a new JsonNode instance based on the arguments and append that // instance to the JsonParse. Return the index in pParse->aNode[] of the // new node, or -1 if a memory allocation fails. -func jsonParseAddNode(tls *libc.TLS, pParse uintptr, eType U32, n U32, zContent uintptr) int32 { /* sqlite3.c:193841:12: */ +func jsonParseAddNode(tls *libc.TLS, pParse uintptr, eType U32, n U32, zContent uintptr) int32 { /* sqlite3.c:193898:12: */ var p uintptr if (*JsonParse)(unsafe.Pointer(pParse)).FaNode == uintptr(0) || (*JsonParse)(unsafe.Pointer(pParse)).FnNode >= (*JsonParse)(unsafe.Pointer(pParse)).FnAlloc { return jsonParseAddNodeExpand(tls, pParse, eType, n, zContent) @@ -153268,7 +153299,7 @@ func jsonParseAddNode(tls *libc.TLS, pParse uintptr, eType U32, n U32, zContent } // Return true if z[] begins with 4 (or more) hexadecimal digits -func jsonIs4Hex(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:193863:12: */ +func jsonIs4Hex(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:193920:12: */ var i int32 for i = 0; i < 4; i++ { if !(int32(Xsqlite3CtypeMap[uint8(*(*int8)(unsafe.Pointer(z + uintptr(i))))])&0x08 != 0) { @@ -153284,7 +153315,7 @@ func jsonIs4Hex(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:193863:12: */ // Return negative for a syntax error. Special cases: return -2 if the // first non-whitespace character is '}' and return -3 if the first // non-whitespace character is ']'. -func jsonParseValue(tls *libc.TLS, pParse uintptr, i U32) int32 { /* sqlite3.c:193877:12: */ +func jsonParseValue(tls *libc.TLS, pParse uintptr, i U32) int32 { /* sqlite3.c:193934:12: */ var c int8 var j U32 var iThis int32 @@ -153511,7 +153542,7 @@ func jsonParseValue(tls *libc.TLS, pParse uintptr, i U32) int32 { /* sqlite3.c:1 // pParse. // // pParse is uninitialized when this routine is called. -func jsonParse(tls *libc.TLS, pParse uintptr, pCtx uintptr, zJson uintptr) int32 { /* sqlite3.c:194038:12: */ +func jsonParse(tls *libc.TLS, pParse uintptr, pCtx uintptr, zJson uintptr) int32 { /* sqlite3.c:194095:12: */ var i int32 libc.Xmemset(tls, pParse, 0, uint64(unsafe.Sizeof(JsonParse{}))) if zJson == uintptr(0) { @@ -153547,7 +153578,7 @@ func jsonParse(tls *libc.TLS, pParse uintptr, pCtx uintptr, zJson uintptr) int32 // Mark node i of pParse as being a child of iParent. Call recursively // to fill in all the descendants of node i. -func jsonParseFillInParentage(tls *libc.TLS, pParse uintptr, i U32, iParent U32) { /* sqlite3.c:194071:13: */ +func jsonParseFillInParentage(tls *libc.TLS, pParse uintptr, i U32, iParent U32) { /* sqlite3.c:194128:13: */ var pNode uintptr = (*JsonParse)(unsafe.Pointer(pParse)).FaNode + uintptr(i)*16 var j U32 *(*U32)(unsafe.Pointer((*JsonParse)(unsafe.Pointer(pParse)).FaUp + uintptr(i)*4)) = iParent @@ -153578,7 +153609,7 @@ func jsonParseFillInParentage(tls *libc.TLS, pParse uintptr, i U32, iParent U32) } // Compute the parentage of all nodes in a completed parse. -func jsonParseFindParents(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:194098:12: */ +func jsonParseFindParents(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:194155:12: */ var aUp uintptr aUp = libc.AssignPtrUintptr(pParse+24, Xsqlite3_malloc64(tls, uint64(uint64(unsafe.Sizeof(U32(0)))*uint64((*JsonParse)(unsafe.Pointer(pParse)).FnNode)))) @@ -153598,7 +153629,7 @@ func jsonParseFindParents(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:19 // is no longer valid, parse the JSON again and return the new parse, // and also register the new parse so that it will be available for // future sqlite3_get_auxdata() calls. -func jsonParseCached(tls *libc.TLS, pCtx uintptr, argv uintptr, pErrCtx uintptr) uintptr { /* sqlite3.c:194124:18: */ +func jsonParseCached(tls *libc.TLS, pCtx uintptr, argv uintptr, pErrCtx uintptr) uintptr { /* sqlite3.c:194181:18: */ var zJson uintptr = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv))) var nJson int32 = Xsqlite3_value_bytes(tls, *(*uintptr)(unsafe.Pointer(argv))) var p uintptr @@ -153655,7 +153686,7 @@ func jsonParseCached(tls *libc.TLS, pCtx uintptr, argv uintptr, pErrCtx uintptr) // Compare the OBJECT label at pNode against zKey,nKey. Return true on // a match. -func jsonLabelCompare(tls *libc.TLS, pNode uintptr, zKey uintptr, nKey U32) int32 { /* sqlite3.c:194186:12: */ +func jsonLabelCompare(tls *libc.TLS, pNode uintptr, zKey uintptr, nKey U32) int32 { /* sqlite3.c:194243:12: */ if int32((*JsonNode)(unsafe.Pointer(pNode)).FjnFlags)&JNODE_RAW != 0 { if (*JsonNode)(unsafe.Pointer(pNode)).Fn != nKey { @@ -153678,7 +153709,7 @@ func jsonLabelCompare(tls *libc.TLS, pNode uintptr, zKey uintptr, nKey U32) int3 // If pApnd!=0, then try to append new nodes to complete zPath if it is // possible to do so and if no existing node corresponds to zPath. If // new nodes are appended *pApnd is set to 1. -func jsonLookupStep(tls *libc.TLS, pParse uintptr, iRoot U32, zPath uintptr, pApnd uintptr, pzErr uintptr) uintptr { /* sqlite3.c:194209:17: */ +func jsonLookupStep(tls *libc.TLS, pParse uintptr, iRoot U32, zPath uintptr, pApnd uintptr, pzErr uintptr) uintptr { /* sqlite3.c:194266:17: */ var i U32 var j U32 var nKey U32 @@ -153853,7 +153884,7 @@ func jsonLookupStep(tls *libc.TLS, pParse uintptr, iRoot U32, zPath uintptr, pAp // Append content to pParse that will complete zPath. Return a pointer // to the inserted node, or return NULL if the append fails. -func jsonLookupAppend(tls *libc.TLS, pParse uintptr, zPath uintptr, pApnd uintptr, pzErr uintptr) uintptr { /* sqlite3.c:194361:17: */ +func jsonLookupAppend(tls *libc.TLS, pParse uintptr, zPath uintptr, pApnd uintptr, pzErr uintptr) uintptr { /* sqlite3.c:194418:17: */ *(*int32)(unsafe.Pointer(pApnd)) = 1 if int32(*(*int8)(unsafe.Pointer(zPath))) == 0 { jsonParseAddNode(tls, pParse, uint32(JSON_NULL), uint32(0), uintptr(0)) @@ -153877,7 +153908,7 @@ func jsonLookupAppend(tls *libc.TLS, pParse uintptr, zPath uintptr, pApnd uintpt // Return the text of a syntax error message on a JSON path. Space is // obtained from sqlite3_malloc(). -func jsonPathSyntaxError(tls *libc.TLS, zErr uintptr) uintptr { /* sqlite3.c:194387:13: */ +func jsonPathSyntaxError(tls *libc.TLS, zErr uintptr) uintptr { /* sqlite3.c:194444:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -153892,7 +153923,7 @@ func jsonPathSyntaxError(tls *libc.TLS, zErr uintptr) uintptr { /* sqlite3.c:194 // // If pApnd!=NULL then try to append missing nodes and set *pApnd = 1 if // nodes are appended. -func jsonLookup(tls *libc.TLS, pParse uintptr, zPath uintptr, pApnd uintptr, pCtx uintptr) uintptr { /* sqlite3.c:194401:17: */ +func jsonLookup(tls *libc.TLS, pParse uintptr, zPath uintptr, pApnd uintptr, pCtx uintptr) uintptr { /* sqlite3.c:194458:17: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -153944,7 +153975,7 @@ __5: // Report the wrong number of arguments for json_insert(), json_replace() // or json_set(). -func jsonWrongNumArgs(tls *libc.TLS, pCtx uintptr, zFuncName uintptr) { /* sqlite3.c:194438:13: */ +func jsonWrongNumArgs(tls *libc.TLS, pCtx uintptr, zFuncName uintptr) { /* sqlite3.c:194495:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -153955,7 +153986,7 @@ func jsonWrongNumArgs(tls *libc.TLS, pCtx uintptr, zFuncName uintptr) { /* sqlit } // Mark all NULL entries in the Object passed in as JNODE_REMOVE. -func jsonRemoveAllNulls(tls *libc.TLS, pNode uintptr) { /* sqlite3.c:194451:13: */ +func jsonRemoveAllNulls(tls *libc.TLS, pNode uintptr) { /* sqlite3.c:194508:13: */ var i int32 var n int32 @@ -153986,7 +154017,7 @@ func jsonRemoveAllNulls(tls *libc.TLS, pNode uintptr) { /* sqlite3.c:194451:13: // corresponding to the SQL value input. Mostly this means putting // double-quotes around strings and returning the unquoted string "null" // when given a NULL input. -func jsonQuoteFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:194540:13: */ +func jsonQuoteFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:194597:13: */ bp := tls.Alloc(136) defer tls.Free(136) @@ -154003,7 +154034,7 @@ func jsonQuoteFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sq // Implementation of the json_array(VALUE,...) function. Return a JSON // array that contains all values given in arguments. Or if any argument // is a BLOB, throw an error. -func jsonArrayFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:194559:13: */ +func jsonArrayFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:194616:13: */ bp := tls.Alloc(136) defer tls.Free(136) @@ -154026,7 +154057,7 @@ func jsonArrayFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sq // // Return the number of elements in the top-level JSON array. // Return 0 if the input is not a well-formed JSON array. -func jsonArrayLengthFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:194586:13: */ +func jsonArrayLengthFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:194643:13: */ var p uintptr // The parse var n Sqlite3_int64 = int64(0) var i U32 @@ -154076,7 +154107,7 @@ func jsonArrayLengthFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { // // Abbreviated JSON path expressions are allows if JSON_ABPATH, for // compatibility with PG. -func jsonExtractFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:194646:13: */ +func jsonExtractFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:194703:13: */ bp := tls.Alloc(136) defer tls.Free(136) @@ -154170,7 +154201,7 @@ func jsonExtractFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* } // This is the RFC 7396 MergePatch algorithm. -func jsonMergePatch(tls *libc.TLS, pParse uintptr, iTarget U32, pPatch uintptr) uintptr { /* sqlite3.c:194729:17: */ +func jsonMergePatch(tls *libc.TLS, pParse uintptr, iTarget U32, pPatch uintptr) uintptr { /* sqlite3.c:194786:17: */ var i U32 var j U32 var iRoot U32 @@ -154243,7 +154274,7 @@ func jsonMergePatch(tls *libc.TLS, pParse uintptr, iTarget U32, pPatch uintptr) // Implementation of the json_mergepatch(JSON1,JSON2) function. Return a JSON // object that is the result of running the RFC 7396 MergePatch() algorithm // on the two arguments. -func jsonPatchFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:194811:13: */ +func jsonPatchFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:194868:13: */ bp := tls.Alloc(96) defer tls.Free(96) @@ -154275,7 +154306,7 @@ func jsonPatchFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sq // Implementation of the json_object(NAME,VALUE,...) function. Return a JSON // object that contains all name/value given in arguments. Or if any name // is not a string or if any value is a BLOB, throw an error. -func jsonObjectFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:194843:13: */ +func jsonObjectFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:194900:13: */ bp := tls.Alloc(136) defer tls.Free(136) @@ -154314,7 +154345,7 @@ func jsonObjectFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* s // // Remove the named elements from JSON and return the result. malformed // JSON or PATH arguments result in an error. -func jsonRemoveFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:194885:13: */ +func jsonRemoveFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:194942:13: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -154383,7 +154414,7 @@ remove_done: // // Replace the value at PATH with VALUE. If PATH does not already exist, // this routine is a no-op. If JSON or PATH is malformed, throw an error. -func jsonReplaceFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:194918:13: */ +func jsonReplaceFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:194975:13: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -154466,7 +154497,7 @@ replace_err: // // Create PATH and initialize it to VALUE. If PATH already exists, this // routine is a no-op. If JSON or PATH is malformed, throw an error. -func jsonSetFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:194970:13: */ +func jsonSetFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:195027:13: */ bp := tls.Alloc(52) defer tls.Free(52) @@ -154564,7 +154595,7 @@ jsonSetDone: // // Return the top-level "type" of a JSON string. json_type() raises an // error if either the JSON or PATH inputs are not well-formed. -func jsonTypeFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:195023:13: */ +func jsonTypeFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:195080:13: */ var p uintptr // The parse var zPath uintptr var pNode uintptr @@ -154588,7 +154619,7 @@ func jsonTypeFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sql // // Return 1 if JSON is a well-formed JSON string according to RFC-7159. // Return 0 otherwise. -func jsonValidFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:195051:13: */ +func jsonValidFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:195108:13: */ var p uintptr // The parse _ = argc p = jsonParseCached(tls, ctx, argv, uintptr(0)) @@ -154602,7 +154633,7 @@ func jsonValidFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sq // json_group_array(VALUE) // // Return a JSON array composed of all values in the aggregate. -func jsonArrayStep(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:195071:13: */ +func jsonArrayStep(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:195128:13: */ var pStr uintptr _ = argc pStr = Xsqlite3_aggregate_context(tls, ctx, int32(unsafe.Sizeof(JsonString{}))) @@ -154618,7 +154649,7 @@ func jsonArrayStep(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sq } } -func jsonArrayCompute(tls *libc.TLS, ctx uintptr, isFinal int32) { /* sqlite3.c:195090:13: */ +func jsonArrayCompute(tls *libc.TLS, ctx uintptr, isFinal int32) { /* sqlite3.c:195147:13: */ var pStr uintptr pStr = Xsqlite3_aggregate_context(tls, ctx, 0) if pStr != 0 { @@ -154648,11 +154679,11 @@ func jsonArrayCompute(tls *libc.TLS, ctx uintptr, isFinal int32) { /* sqlite3.c: Xsqlite3_result_subtype(tls, ctx, uint32(JSON_SUBTYPE)) } -func jsonArrayValue(tls *libc.TLS, ctx uintptr) { /* sqlite3.c:195112:13: */ +func jsonArrayValue(tls *libc.TLS, ctx uintptr) { /* sqlite3.c:195169:13: */ jsonArrayCompute(tls, ctx, 0) } -func jsonArrayFinal(tls *libc.TLS, ctx uintptr) { /* sqlite3.c:195115:13: */ +func jsonArrayFinal(tls *libc.TLS, ctx uintptr) { /* sqlite3.c:195172:13: */ jsonArrayCompute(tls, ctx, 1) } @@ -154660,7 +154691,7 @@ func jsonArrayFinal(tls *libc.TLS, ctx uintptr) { /* sqlite3.c:195115:13: */ // It works by removing the first element of the group by searching forward // to the first comma (",") that is not within a string and deleting all // text through that comma. -func jsonGroupInverse(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:195126:13: */ +func jsonGroupInverse(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:195183:13: */ var i uint32 var inStr int32 = 0 var nNest int32 = 0 @@ -154702,7 +154733,7 @@ func jsonGroupInverse(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* // json_group_obj(NAME,VALUE) // // Return a JSON object composed of all names and values in the aggregate. -func jsonObjectStep(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:195174:13: */ +func jsonObjectStep(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:195231:13: */ var pStr uintptr var z uintptr var n U32 @@ -154724,7 +154755,7 @@ func jsonObjectStep(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* s } } -func jsonObjectCompute(tls *libc.TLS, ctx uintptr, isFinal int32) { /* sqlite3.c:195199:13: */ +func jsonObjectCompute(tls *libc.TLS, ctx uintptr, isFinal int32) { /* sqlite3.c:195256:13: */ var pStr uintptr pStr = Xsqlite3_aggregate_context(tls, ctx, 0) if pStr != 0 { @@ -154753,11 +154784,11 @@ func jsonObjectCompute(tls *libc.TLS, ctx uintptr, isFinal int32) { /* sqlite3.c Xsqlite3_result_subtype(tls, ctx, uint32(JSON_SUBTYPE)) } -func jsonObjectValue(tls *libc.TLS, ctx uintptr) { /* sqlite3.c:195220:13: */ +func jsonObjectValue(tls *libc.TLS, ctx uintptr) { /* sqlite3.c:195277:13: */ jsonObjectCompute(tls, ctx, 0) } -func jsonObjectFinal(tls *libc.TLS, ctx uintptr) { /* sqlite3.c:195223:13: */ +func jsonObjectFinal(tls *libc.TLS, ctx uintptr) { /* sqlite3.c:195280:13: */ jsonObjectCompute(tls, ctx, 1) } @@ -154777,16 +154808,16 @@ type JsonEachCursor1 = struct { FzJson uintptr FzRoot uintptr FsParse JsonParse -} /* sqlite3.c:195233:9 */ +} /* sqlite3.c:195290:9 */ // *************************************************************************** // // The json_each virtual table // -type JsonEachCursor = JsonEachCursor1 /* sqlite3.c:195233:31 */ +type JsonEachCursor = JsonEachCursor1 /* sqlite3.c:195290:31 */ // Constructor for the json_each virtual table -func jsonEachConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 { /* sqlite3.c:195248:12: */ +func jsonEachConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 { /* sqlite3.c:195305:12: */ var pNew uintptr var rc int32 @@ -154814,13 +154845,13 @@ func jsonEachConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv u } // destructor for json_each virtual table -func jsonEachDisconnect(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:195290:12: */ +func jsonEachDisconnect(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:195347:12: */ Xsqlite3_free(tls, pVtab) return SQLITE_OK } // constructor for a JsonEachCursor object for json_each(). -func jsonEachOpenEach(tls *libc.TLS, p uintptr, ppCursor uintptr) int32 { /* sqlite3.c:195296:12: */ +func jsonEachOpenEach(tls *libc.TLS, p uintptr, ppCursor uintptr) int32 { /* sqlite3.c:195353:12: */ var pCur uintptr _ = p @@ -154834,7 +154865,7 @@ func jsonEachOpenEach(tls *libc.TLS, p uintptr, ppCursor uintptr) int32 { /* sql } // constructor for a JsonEachCursor object for json_tree(). -func jsonEachOpenTree(tls *libc.TLS, p uintptr, ppCursor uintptr) int32 { /* sqlite3.c:195308:12: */ +func jsonEachOpenTree(tls *libc.TLS, p uintptr, ppCursor uintptr) int32 { /* sqlite3.c:195365:12: */ var rc int32 = jsonEachOpenEach(tls, p, ppCursor) if rc == SQLITE_OK { var pCur uintptr = *(*uintptr)(unsafe.Pointer(ppCursor)) @@ -154845,7 +154876,7 @@ func jsonEachOpenTree(tls *libc.TLS, p uintptr, ppCursor uintptr) int32 { /* sql // Reset a JsonEachCursor back to its original state. Free any memory // held. -func jsonEachCursorReset(tls *libc.TLS, p uintptr) { /* sqlite3.c:195319:13: */ +func jsonEachCursorReset(tls *libc.TLS, p uintptr) { /* sqlite3.c:195376:13: */ Xsqlite3_free(tls, (*JsonEachCursor)(unsafe.Pointer(p)).FzJson) Xsqlite3_free(tls, (*JsonEachCursor)(unsafe.Pointer(p)).FzRoot) jsonParseReset(tls, p+48) @@ -154858,7 +154889,7 @@ func jsonEachCursorReset(tls *libc.TLS, p uintptr) { /* sqlite3.c:195319:13: */ } // Destructor for a jsonEachCursor object -func jsonEachClose(tls *libc.TLS, cur uintptr) int32 { /* sqlite3.c:195332:12: */ +func jsonEachClose(tls *libc.TLS, cur uintptr) int32 { /* sqlite3.c:195389:12: */ var p uintptr = cur jsonEachCursorReset(tls, p) Xsqlite3_free(tls, cur) @@ -154867,13 +154898,13 @@ func jsonEachClose(tls *libc.TLS, cur uintptr) int32 { /* sqlite3.c:195332:12: * // Return TRUE if the jsonEachCursor object has been advanced off the end // of the JSON object -func jsonEachEof(tls *libc.TLS, cur uintptr) int32 { /* sqlite3.c:195341:12: */ +func jsonEachEof(tls *libc.TLS, cur uintptr) int32 { /* sqlite3.c:195398:12: */ var p uintptr = cur return libc.Bool32((*JsonEachCursor)(unsafe.Pointer(p)).Fi >= (*JsonEachCursor)(unsafe.Pointer(p)).FiEnd) } // Advance the cursor to the next element for json_tree() -func jsonEachNext(tls *libc.TLS, cur uintptr) int32 { /* sqlite3.c:195347:12: */ +func jsonEachNext(tls *libc.TLS, cur uintptr) int32 { /* sqlite3.c:195404:12: */ var p uintptr = cur if (*JsonEachCursor)(unsafe.Pointer(p)).FbRecursive != 0 { if int32((*JsonNode)(unsafe.Pointer((*JsonEachCursor)(unsafe.Pointer(p)).FsParse.FaNode+uintptr((*JsonEachCursor)(unsafe.Pointer(p)).Fi)*16)).FjnFlags)&JNODE_LABEL != 0 { @@ -154924,7 +154955,7 @@ func jsonEachNext(tls *libc.TLS, cur uintptr) int32 { /* sqlite3.c:195347:12: */ } // Append the name of the path for element i to pStr -func jsonEachComputePath(tls *libc.TLS, p uintptr, pStr uintptr, i U32) { /* sqlite3.c:195391:13: */ +func jsonEachComputePath(tls *libc.TLS, p uintptr, pStr uintptr, i U32) { /* sqlite3.c:195448:13: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -154953,7 +154984,7 @@ func jsonEachComputePath(tls *libc.TLS, p uintptr, pStr uintptr, i U32) { /* sql } // Return the value of a column -func jsonEachColumn(tls *libc.TLS, cur uintptr, ctx uintptr, i int32) int32 { /* sqlite3.c:195421:12: */ +func jsonEachColumn(tls *libc.TLS, cur uintptr, ctx uintptr, i int32) int32 { /* sqlite3.c:195478:12: */ bp := tls.Alloc(296) defer tls.Free(296) @@ -155090,7 +155121,7 @@ func jsonEachColumn(tls *libc.TLS, cur uintptr, ctx uintptr, i int32) int32 { /* } // Return the current rowid value -func jsonEachRowid(tls *libc.TLS, cur uintptr, pRowid uintptr) int32 { /* sqlite3.c:195522:12: */ +func jsonEachRowid(tls *libc.TLS, cur uintptr, pRowid uintptr) int32 { /* sqlite3.c:195579:12: */ var p uintptr = cur *(*Sqlite_int64)(unsafe.Pointer(pRowid)) = Sqlite_int64((*JsonEachCursor)(unsafe.Pointer(p)).FiRowid) return SQLITE_OK @@ -155100,7 +155131,7 @@ func jsonEachRowid(tls *libc.TLS, cur uintptr, pRowid uintptr) int32 { /* sqlite // column. Without such a constraint, the table cannot operate. idxNum is // 1 if the constraint is found, 3 if the constraint and zRoot are found, // and 0 otherwise. -func jsonEachBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 { /* sqlite3.c:195533:12: */ +func jsonEachBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 { /* sqlite3.c:195590:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -155175,7 +155206,7 @@ __3: } // Start a search on a new JSON string -func jsonEachFilter(tls *libc.TLS, cur uintptr, idxNum int32, idxStr uintptr, argc int32, argv uintptr) int32 { /* sqlite3.c:195592:12: */ +func jsonEachFilter(tls *libc.TLS, cur uintptr, idxNum int32, idxStr uintptr, argc int32, argv uintptr) int32 { /* sqlite3.c:195649:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -155280,7 +155311,7 @@ var jsonEachModule = Sqlite3_module{ // xCreate FxEof: 0, // xEof - check for end of scan FxColumn: 0, // xColumn - read data FxRowid: 0, // xShadowName -} /* sqlite3.c:195673:23 */ +} /* sqlite3.c:195730:23 */ // The methods of the json_tree virtual table. var jsonTreeModule = Sqlite3_module{ // xCreate @@ -155294,10 +155325,10 @@ var jsonTreeModule = Sqlite3_module{ // xCreate FxEof: 0, // xEof - check for end of scan FxColumn: 0, // xColumn - read data FxRowid: 0, // xShadowName -} /* sqlite3.c:195701:23 */ +} /* sqlite3.c:195758:23 */ // Register JSON functions. -func Xsqlite3RegisterJsonFunctions(tls *libc.TLS) { /* sqlite3.c:195733:21: */ +func Xsqlite3RegisterJsonFunctions(tls *libc.TLS) { /* sqlite3.c:195790:21: */ Xsqlite3InsertBuiltinFuncs(tls, uintptr(unsafe.Pointer(&aJsonFunc)), int32(uint64(unsafe.Sizeof(aJsonFunc))/uint64(unsafe.Sizeof(FuncDef{})))) } @@ -155320,10 +155351,10 @@ var aJsonFunc = [19]FuncDef{ {FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_INNOCUOUS | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24787}, {FnArg: int8(1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_INNOCUOUS | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24797}, {FnArg: int8(1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_UTF8 | 0*SQLITE_FUNC_NEEDCOLL | SQLITE_SUBTYPE | SQLITE_UTF8 | SQLITE_DETERMINISTIC | SQLITE_INNOCUOUS), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 24808}, - {FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_UTF8 | 0*SQLITE_FUNC_NEEDCOLL | SQLITE_SUBTYPE | SQLITE_UTF8 | SQLITE_DETERMINISTIC | SQLITE_INNOCUOUS), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 24825}} /* sqlite3.c:195735:18 */ + {FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_UTF8 | 0*SQLITE_FUNC_NEEDCOLL | SQLITE_SUBTYPE | SQLITE_UTF8 | SQLITE_DETERMINISTIC | SQLITE_INNOCUOUS), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 24825}} /* sqlite3.c:195792:18 */ // Register the JSON table-valued functions -func Xsqlite3JsonTableFunctions(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:195772:20: */ +func Xsqlite3JsonTableFunctions(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:195829:20: */ var rc int32 = SQLITE_OK var i uint32 for i = uint32(0); uint64(i) < uint64(unsafe.Sizeof(aMod))/uint64(unsafe.Sizeof(struct { @@ -155341,7 +155372,7 @@ var aMod = [2]struct { }{ {FzName: ts + 24843 /* "json_each" */, FpModule: 0}, {FzName: ts + 24853 /* "json_tree" */, FpModule: 0}, -} /* sqlite3.c:195777:5 */ // In the SQLite core +} /* sqlite3.c:195834:5 */ // In the SQLite core // If building separately, we will need some setup that is normally // found in sqliteInt.h @@ -155388,7 +155419,7 @@ type Rtree1 = struct { FpDeleteParent uintptr FpWriteAux uintptr FaHash [97]uintptr -} /* sqlite3.c:195900:9 */ +} /* sqlite3.c:195957:9 */ // In the SQLite core @@ -155402,7 +155433,7 @@ type Rtree1 = struct { // The following macro is used to suppress compiler warnings. -type Rtree = Rtree1 /* sqlite3.c:195900:22 */ +type Rtree = Rtree1 /* sqlite3.c:195957:22 */ type RtreeCursor1 = struct { Fbase Sqlite3_vtab_cursor FatEOF U8 @@ -155423,9 +155454,9 @@ type RtreeCursor1 = struct { FaNode [5]uintptr FanQueue [41]U32 F__ccgo_pad4 [4]byte -} /* sqlite3.c:195901:9 */ +} /* sqlite3.c:195958:9 */ -type RtreeCursor = RtreeCursor1 /* sqlite3.c:195901:28 */ +type RtreeCursor = RtreeCursor1 /* sqlite3.c:195958:28 */ type RtreeNode1 = struct { FpParent uintptr FiNode I64 @@ -155433,23 +155464,23 @@ type RtreeNode1 = struct { FisDirty int32 FzData uintptr FpNext uintptr -} /* sqlite3.c:195900:9 */ +} /* sqlite3.c:195957:9 */ -type RtreeNode = RtreeNode1 /* sqlite3.c:195902:26 */ +type RtreeNode = RtreeNode1 /* sqlite3.c:195959:26 */ type RtreeCell1 = struct { FiRowid I64 FaCoord [10]RtreeCoord -} /* sqlite3.c:195903:9 */ +} /* sqlite3.c:195960:9 */ -type RtreeCell = RtreeCell1 /* sqlite3.c:195903:26 */ +type RtreeCell = RtreeCell1 /* sqlite3.c:195960:26 */ type RtreeConstraint1 = struct { FiCoord int32 Fop int32 Fu struct{ FrValue RtreeDValue } FpInfo uintptr -} /* sqlite3.c:195901:9 */ +} /* sqlite3.c:195958:9 */ -type RtreeConstraint = RtreeConstraint1 /* sqlite3.c:195904:32 */ +type RtreeConstraint = RtreeConstraint1 /* sqlite3.c:195961:32 */ type RtreeMatchArg1 = struct { FiSize U32 F__ccgo_pad1 [4]byte @@ -155458,20 +155489,20 @@ type RtreeMatchArg1 = struct { F__ccgo_pad2 [4]byte FapSqlParam uintptr FaParam [1]RtreeDValue -} /* sqlite3.c:195905:9 */ +} /* sqlite3.c:195962:9 */ -type RtreeMatchArg = RtreeMatchArg1 /* sqlite3.c:195905:30 */ +type RtreeMatchArg = RtreeMatchArg1 /* sqlite3.c:195962:30 */ type RtreeGeomCallback1 = struct { FxGeom uintptr FxQueryFunc uintptr FxDestructor uintptr FpContext uintptr -} /* sqlite3.c:195905:9 */ +} /* sqlite3.c:195962:9 */ -type RtreeGeomCallback = RtreeGeomCallback1 /* sqlite3.c:195906:34 */ -type RtreeCoord1 = struct{ Ff RtreeValue } /* sqlite3.c:195903:9 */ +type RtreeGeomCallback = RtreeGeomCallback1 /* sqlite3.c:195963:34 */ +type RtreeCoord1 = struct{ Ff RtreeValue } /* sqlite3.c:195960:9 */ -type RtreeCoord = RtreeCoord1 /* sqlite3.c:195907:26 */ +type RtreeCoord = RtreeCoord1 /* sqlite3.c:195964:26 */ type RtreeSearchPoint1 = struct { FrScore RtreeDValue Fid Sqlite3_int64 @@ -155479,17 +155510,17 @@ type RtreeSearchPoint1 = struct { FeWithin U8 FiCell U8 F__ccgo_pad1 [5]byte -} /* sqlite3.c:195901:9 */ +} /* sqlite3.c:195958:9 */ -type RtreeSearchPoint = RtreeSearchPoint1 /* sqlite3.c:195908:33 */ +type RtreeSearchPoint = RtreeSearchPoint1 /* sqlite3.c:195965:33 */ // Possible values for Rtree.eCoordType: // 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 RtreeDValue = float64 /* sqlite3.c:196005:18 */ // High accuracy coordinate -type RtreeValue = float32 /* sqlite3.c:196006:17 */ +type RtreeDValue = float64 /* sqlite3.c:196062:18 */ // High accuracy coordinate +type RtreeValue = float32 /* sqlite3.c:196063:17 */ // What version of GCC is being used. 0 means GCC is not being used . // Note that the GCC_VERSION macro will also be set correctly when using @@ -155515,28 +155546,28 @@ type RtreeValue = float32 /* sqlite3.c:196006:17 */ // Functions to deserialize a 16 bit integer, 32 bit real number and // 64 bit integer. The deserialized value is returned. -func readInt16(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:196290:12: */ +func readInt16(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:196347:12: */ return int32(*(*U8)(unsafe.Pointer(p)))<<8 + int32(*(*U8)(unsafe.Pointer(p + 1))) } -func readCoord(tls *libc.TLS, p uintptr, pCoord uintptr) { /* sqlite3.c:196293:13: */ +func readCoord(tls *libc.TLS, p uintptr, pCoord uintptr) { /* sqlite3.c:196350:13: */ // p is always 4-byte aligned *(*U32)(unsafe.Pointer(pCoord)) = U32(*(*U8)(unsafe.Pointer(p)))<<24 + U32(*(*U8)(unsafe.Pointer(p + 1)))<<16 + U32(*(*U8)(unsafe.Pointer(p + 2)))<<8 + U32(*(*U8)(unsafe.Pointer(p + 3)))<<0 } -func readInt64(tls *libc.TLS, p uintptr) I64 { /* sqlite3.c:196310:12: */ +func readInt64(tls *libc.TLS, p uintptr) I64 { /* sqlite3.c:196367:12: */ return I64(U64(*(*U8)(unsafe.Pointer(p)))<<56 + U64(*(*U8)(unsafe.Pointer(p + 1)))<<48 + U64(*(*U8)(unsafe.Pointer(p + 2)))<<40 + U64(*(*U8)(unsafe.Pointer(p + 3)))<<32 + U64(*(*U8)(unsafe.Pointer(p + 4)))<<24 + U64(*(*U8)(unsafe.Pointer(p + 5)))<<16 + U64(*(*U8)(unsafe.Pointer(p + 6)))<<8 + U64(*(*U8)(unsafe.Pointer(p + 7)))<<0) } // Functions to serialize a 16 bit integer, 32 bit real number and // 64 bit integer. The value returned is the number of bytes written // to the argument buffer (always 2, 4 and 8 respectively). -func writeInt16(tls *libc.TLS, p uintptr, i int32) { /* sqlite3.c:196342:13: */ +func writeInt16(tls *libc.TLS, p uintptr, i int32) { /* sqlite3.c:196399:13: */ *(*U8)(unsafe.Pointer(p)) = U8(i >> 8 & 0xFF) *(*U8)(unsafe.Pointer(p + 1)) = U8(i >> 0 & 0xFF) } -func writeCoord(tls *libc.TLS, p uintptr, pCoord uintptr) int32 { /* sqlite3.c:196346:12: */ +func writeCoord(tls *libc.TLS, p uintptr, pCoord uintptr) int32 { /* sqlite3.c:196403:12: */ var i U32 // p is always 4-byte aligned @@ -155548,7 +155579,7 @@ func writeCoord(tls *libc.TLS, p uintptr, pCoord uintptr) int32 { /* sqlite3.c:1 return 4 } -func writeInt64(tls *libc.TLS, p uintptr, i I64) int32 { /* sqlite3.c:196369:12: */ +func writeInt64(tls *libc.TLS, p uintptr, i I64) int32 { /* sqlite3.c:196426:12: */ *(*U8)(unsafe.Pointer(p)) = U8(i >> 56 & int64(0xFF)) *(*U8)(unsafe.Pointer(p + 1)) = U8(i >> 48 & int64(0xFF)) *(*U8)(unsafe.Pointer(p + 2)) = U8(i >> 40 & int64(0xFF)) @@ -155561,7 +155592,7 @@ func writeInt64(tls *libc.TLS, p uintptr, i I64) int32 { /* sqlite3.c:196369:12: } // Increment the reference count of node p. -func nodeReference(tls *libc.TLS, p uintptr) { /* sqlite3.c:196394:13: */ +func nodeReference(tls *libc.TLS, p uintptr) { /* sqlite3.c:196451:13: */ if p != 0 { (*RtreeNode)(unsafe.Pointer(p)).FnRef++ @@ -155569,20 +155600,20 @@ func nodeReference(tls *libc.TLS, p uintptr) { /* sqlite3.c:196394:13: */ } // Clear the content of node p (set all bytes to 0x00). -func nodeZero(tls *libc.TLS, pRtree uintptr, p uintptr) { /* sqlite3.c:196404:13: */ +func nodeZero(tls *libc.TLS, pRtree uintptr, p uintptr) { /* sqlite3.c:196461:13: */ libc.Xmemset(tls, (*RtreeNode)(unsafe.Pointer(p)).FzData+2, 0, uint64((*Rtree)(unsafe.Pointer(pRtree)).FiNodeSize-2)) (*RtreeNode)(unsafe.Pointer(p)).FisDirty = 1 } // Given a node number iNode, return the corresponding key to use // in the Rtree.aHash table. -func nodeHash(tls *libc.TLS, iNode I64) uint32 { /* sqlite3.c:196413:21: */ +func nodeHash(tls *libc.TLS, iNode I64) uint32 { /* sqlite3.c:196470:21: */ return uint32(iNode) % uint32(HASHSIZE) } // Search the node hash table for node iNode. If found, return a pointer // to it. Otherwise, return 0. -func nodeHashLookup(tls *libc.TLS, pRtree uintptr, iNode I64) uintptr { /* sqlite3.c:196421:18: */ +func nodeHashLookup(tls *libc.TLS, pRtree uintptr, iNode I64) uintptr { /* sqlite3.c:196478:18: */ var p uintptr for p = *(*uintptr)(unsafe.Pointer(pRtree + 192 + uintptr(nodeHash(tls, iNode))*8)); p != 0 && (*RtreeNode)(unsafe.Pointer(p)).FiNode != iNode; p = (*RtreeNode)(unsafe.Pointer(p)).FpNext { } @@ -155590,7 +155621,7 @@ func nodeHashLookup(tls *libc.TLS, pRtree uintptr, iNode I64) uintptr { /* sqlit } // Add node pNode to the node hash table. -func nodeHashInsert(tls *libc.TLS, pRtree uintptr, pNode uintptr) { /* sqlite3.c:196430:13: */ +func nodeHashInsert(tls *libc.TLS, pRtree uintptr, pNode uintptr) { /* sqlite3.c:196487:13: */ var iHash int32 iHash = int32(nodeHash(tls, (*RtreeNode)(unsafe.Pointer(pNode)).FiNode)) @@ -155599,7 +155630,7 @@ func nodeHashInsert(tls *libc.TLS, pRtree uintptr, pNode uintptr) { /* sqlite3.c } // Remove node pNode from the node hash table. -func nodeHashDelete(tls *libc.TLS, pRtree uintptr, pNode uintptr) { /* sqlite3.c:196441:13: */ +func nodeHashDelete(tls *libc.TLS, pRtree uintptr, pNode uintptr) { /* sqlite3.c:196498:13: */ var pp uintptr if (*RtreeNode)(unsafe.Pointer(pNode)).FiNode != int64(0) { pp = pRtree + 192 + uintptr(nodeHash(tls, (*RtreeNode)(unsafe.Pointer(pNode)).FiNode))*8 @@ -155614,7 +155645,7 @@ func nodeHashDelete(tls *libc.TLS, pRtree uintptr, pNode uintptr) { /* sqlite3.c // indicating that node has not yet been assigned a node number. It is // assigned a node number when nodeWrite() is called to write the // node contents out to the database. -func nodeNew(tls *libc.TLS, pRtree uintptr, pParent uintptr) uintptr { /* sqlite3.c:196457:18: */ +func nodeNew(tls *libc.TLS, pRtree uintptr, pParent uintptr) uintptr { /* sqlite3.c:196514:18: */ var pNode uintptr pNode = Xsqlite3_malloc64(tls, uint64(uint64(unsafe.Sizeof(RtreeNode{}))+uint64((*Rtree)(unsafe.Pointer(pRtree)).FiNodeSize))) if pNode != 0 { @@ -155630,7 +155661,7 @@ func nodeNew(tls *libc.TLS, pRtree uintptr, pParent uintptr) uintptr { /* sqlite } // Clear the Rtree.pNodeBlob object -func nodeBlobReset(tls *libc.TLS, pRtree uintptr) { /* sqlite3.c:196475:13: */ +func nodeBlobReset(tls *libc.TLS, pRtree uintptr) { /* sqlite3.c:196532:13: */ if (*Rtree)(unsafe.Pointer(pRtree)).FpNodeBlob != 0 && int32((*Rtree)(unsafe.Pointer(pRtree)).FinWrTrans) == 0 && (*Rtree)(unsafe.Pointer(pRtree)).FnCursor == U32(0) { var pBlob uintptr = (*Rtree)(unsafe.Pointer(pRtree)).FpNodeBlob (*Rtree)(unsafe.Pointer(pRtree)).FpNodeBlob = uintptr(0) @@ -155639,7 +155670,7 @@ func nodeBlobReset(tls *libc.TLS, pRtree uintptr) { /* sqlite3.c:196475:13: */ } // Obtain a reference to an r-tree node. -func nodeAcquire(tls *libc.TLS, pRtree uintptr, iNode I64, pParent uintptr, ppNode uintptr) int32 { /* sqlite3.c:196486:12: */ +func nodeAcquire(tls *libc.TLS, pRtree uintptr, iNode I64, pParent uintptr, ppNode uintptr) int32 { /* sqlite3.c:196543:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -155749,7 +155780,7 @@ func nodeAcquire(tls *libc.TLS, pRtree uintptr, iNode I64, pParent uintptr, ppNo } // Overwrite cell iCell of node pNode with the contents of pCell. -func nodeOverwriteCell(tls *libc.TLS, pRtree uintptr, pNode uintptr, pCell uintptr, iCell int32) { /* sqlite3.c:196599:13: */ +func nodeOverwriteCell(tls *libc.TLS, pRtree uintptr, pNode uintptr, pCell uintptr, iCell int32) { /* sqlite3.c:196656:13: */ var ii int32 var p uintptr = (*RtreeNode)(unsafe.Pointer(pNode)).FzData + uintptr(4+int32((*Rtree)(unsafe.Pointer(pRtree)).FnBytesPerCell)*iCell) p += uintptr(writeInt64(tls, p, (*RtreeCell)(unsafe.Pointer(pCell)).FiRowid)) @@ -155760,7 +155791,7 @@ func nodeOverwriteCell(tls *libc.TLS, pRtree uintptr, pNode uintptr, pCell uintp } // Remove the cell with index iCell from node pNode. -func nodeDeleteCell(tls *libc.TLS, pRtree uintptr, pNode uintptr, iCell int32) { /* sqlite3.c:196617:13: */ +func nodeDeleteCell(tls *libc.TLS, pRtree uintptr, pNode uintptr, iCell int32) { /* sqlite3.c:196674:13: */ var pDst uintptr = (*RtreeNode)(unsafe.Pointer(pNode)).FzData + uintptr(4+int32((*Rtree)(unsafe.Pointer(pRtree)).FnBytesPerCell)*iCell) var pSrc uintptr = pDst + uintptr((*Rtree)(unsafe.Pointer(pRtree)).FnBytesPerCell) var nByte int32 = (readInt16(tls, (*RtreeNode)(unsafe.Pointer(pNode)).FzData+2) - iCell - 1) * int32((*Rtree)(unsafe.Pointer(pRtree)).FnBytesPerCell) @@ -155773,7 +155804,7 @@ func nodeDeleteCell(tls *libc.TLS, pRtree uintptr, pNode uintptr, iCell int32) { // is successful, return SQLITE_OK. // // If there is not enough free space in pNode, return SQLITE_FULL. -func nodeInsertCell(tls *libc.TLS, pRtree uintptr, pNode uintptr, pCell uintptr) int32 { /* sqlite3.c:196632:12: */ +func nodeInsertCell(tls *libc.TLS, pRtree uintptr, pNode uintptr, pCell uintptr) int32 { /* sqlite3.c:196689:12: */ var nCell int32 // Current number of cells in pNode var nMaxCell int32 // Maximum number of cells for pNode @@ -155790,7 +155821,7 @@ func nodeInsertCell(tls *libc.TLS, pRtree uintptr, pNode uintptr, pCell uintptr) } // If the node is dirty, write it out to the database. -func nodeWrite(tls *libc.TLS, pRtree uintptr, pNode uintptr) int32 { /* sqlite3.c:196656:12: */ +func nodeWrite(tls *libc.TLS, pRtree uintptr, pNode uintptr) int32 { /* sqlite3.c:196713:12: */ var rc int32 = SQLITE_OK if (*RtreeNode)(unsafe.Pointer(pNode)).FisDirty != 0 { var p uintptr = (*Rtree)(unsafe.Pointer(pRtree)).FpWriteNode @@ -155814,7 +155845,7 @@ func nodeWrite(tls *libc.TLS, pRtree uintptr, pNode uintptr) int32 { /* sqlite3. // Release a reference to a node. If the node is dirty and the reference // count drops to zero, the node data is written to the database. -func nodeRelease(tls *libc.TLS, pRtree uintptr, pNode uintptr) int32 { /* sqlite3.c:196682:12: */ +func nodeRelease(tls *libc.TLS, pRtree uintptr, pNode uintptr) int32 { /* sqlite3.c:196739:12: */ var rc int32 = SQLITE_OK if pNode != 0 { @@ -155840,19 +155871,19 @@ func nodeRelease(tls *libc.TLS, pRtree uintptr, pNode uintptr) int32 { /* sqlite // Return the 64-bit integer value associated with cell iCell of // node pNode. If pNode is a leaf node, this is a rowid. If it is // an internal node, then the 64-bit integer is a child page number. -func nodeGetRowid(tls *libc.TLS, pRtree uintptr, pNode uintptr, iCell int32) I64 { /* sqlite3.c:196711:12: */ +func nodeGetRowid(tls *libc.TLS, pRtree uintptr, pNode uintptr, iCell int32) I64 { /* sqlite3.c:196768:12: */ return readInt64(tls, (*RtreeNode)(unsafe.Pointer(pNode)).FzData+uintptr(4+int32((*Rtree)(unsafe.Pointer(pRtree)).FnBytesPerCell)*iCell)) } // Return coordinate iCoord from cell iCell in node pNode. -func nodeGetCoord(tls *libc.TLS, pRtree uintptr, pNode uintptr, iCell int32, iCoord int32, pCoord uintptr) { /* sqlite3.c:196723:13: */ +func nodeGetCoord(tls *libc.TLS, pRtree uintptr, pNode uintptr, iCell int32, iCoord int32, pCoord uintptr) { /* sqlite3.c:196780:13: */ readCoord(tls, (*RtreeNode)(unsafe.Pointer(pNode)).FzData+uintptr(12+int32((*Rtree)(unsafe.Pointer(pRtree)).FnBytesPerCell)*iCell+4*iCoord), pCoord) } // Deserialize cell iCell of node pNode. Populate the structure pointed // to by pCell with the results. -func nodeGetCell(tls *libc.TLS, pRtree uintptr, pNode uintptr, iCell int32, pCell uintptr) { /* sqlite3.c:196737:13: */ +func nodeGetCell(tls *libc.TLS, pRtree uintptr, pNode uintptr, iCell int32, pCell uintptr) { /* sqlite3.c:196794:13: */ var pData uintptr var pCoord uintptr var ii int32 = 0 @@ -155868,23 +155899,23 @@ func nodeGetCell(tls *libc.TLS, pRtree uintptr, pNode uintptr, iCell int32, pCel } // Rtree virtual table module xCreate method. -func rtreeCreate(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 { /* sqlite3.c:196768:12: */ +func rtreeCreate(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 { /* sqlite3.c:196825:12: */ return rtreeInit(tls, db, pAux, argc, argv, ppVtab, pzErr, 1) } // Rtree virtual table module xConnect method. -func rtreeConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 { /* sqlite3.c:196781:12: */ +func rtreeConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 { /* sqlite3.c:196838:12: */ return rtreeInit(tls, db, pAux, argc, argv, ppVtab, pzErr, 0) } // Increment the r-tree reference count. -func rtreeReference(tls *libc.TLS, pRtree uintptr) { /* sqlite3.c:196794:13: */ +func rtreeReference(tls *libc.TLS, pRtree uintptr) { /* sqlite3.c:196851:13: */ (*Rtree)(unsafe.Pointer(pRtree)).FnBusy++ } // Decrement the r-tree reference count. When the reference count reaches // zero the structure is deleted. -func rtreeRelease(tls *libc.TLS, pRtree uintptr) { /* sqlite3.c:196802:13: */ +func rtreeRelease(tls *libc.TLS, pRtree uintptr) { /* sqlite3.c:196859:13: */ (*Rtree)(unsafe.Pointer(pRtree)).FnBusy-- if (*Rtree)(unsafe.Pointer(pRtree)).FnBusy == U32(0) { (*Rtree)(unsafe.Pointer(pRtree)).FinWrTrans = U8(0) @@ -155906,13 +155937,13 @@ func rtreeRelease(tls *libc.TLS, pRtree uintptr) { /* sqlite3.c:196802:13: */ } // Rtree virtual table module xDisconnect method. -func rtreeDisconnect(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:196826:12: */ +func rtreeDisconnect(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:196883:12: */ rtreeRelease(tls, pVtab) return SQLITE_OK } // Rtree virtual table module xDestroy method. -func rtreeDestroy(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:196834:12: */ +func rtreeDestroy(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:196891:12: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -155939,7 +155970,7 @@ func rtreeDestroy(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:196834:12: } // Rtree virtual table module xOpen method. -func rtreeOpen(tls *libc.TLS, pVTab uintptr, ppCursor uintptr) int32 { /* sqlite3.c:196862:12: */ +func rtreeOpen(tls *libc.TLS, pVTab uintptr, ppCursor uintptr) int32 { /* sqlite3.c:196919:12: */ var rc int32 = SQLITE_NOMEM var pRtree uintptr = pVTab var pCsr uintptr @@ -155957,7 +155988,7 @@ func rtreeOpen(tls *libc.TLS, pVTab uintptr, ppCursor uintptr) int32 { /* sqlite } // Reset a cursor back to its initial state. -func resetCursor(tls *libc.TLS, pCsr uintptr) { /* sqlite3.c:196883:13: */ +func resetCursor(tls *libc.TLS, pCsr uintptr) { /* sqlite3.c:196940:13: */ var pRtree uintptr = (*RtreeCursor)(unsafe.Pointer(pCsr)).Fbase.FpVtab var ii int32 var pStmt uintptr @@ -155987,7 +156018,7 @@ func resetCursor(tls *libc.TLS, pCsr uintptr) { /* sqlite3.c:196883:13: */ } // Rtree virtual table module xClose method. -func rtreeClose(tls *libc.TLS, cur uintptr) int32 { /* sqlite3.c:196911:12: */ +func rtreeClose(tls *libc.TLS, cur uintptr) int32 { /* sqlite3.c:196968:12: */ var pRtree uintptr = (*Sqlite3_vtab_cursor)(unsafe.Pointer(cur)).FpVtab var pCsr uintptr = cur @@ -156003,7 +156034,7 @@ func rtreeClose(tls *libc.TLS, cur uintptr) int32 { /* sqlite3.c:196911:12: */ // // Return non-zero if the cursor does not currently point to a valid // record (i.e if the scan has finished), or zero otherwise. -func rtreeEof(tls *libc.TLS, cur uintptr) int32 { /* sqlite3.c:196929:12: */ +func rtreeEof(tls *libc.TLS, cur uintptr) int32 { /* sqlite3.c:196986:12: */ var pCsr uintptr = cur return int32((*RtreeCursor)(unsafe.Pointer(pCsr)).FatEOF) } @@ -156020,7 +156051,7 @@ func rtreeEof(tls *libc.TLS, cur uintptr) int32 { /* sqlite3.c:196929:12: */ // Check the RTree node or entry given by pCellData and p against the MATCH // constraint pConstraint. -func rtreeCallbackConstraint(tls *libc.TLS, pConstraint uintptr, eInt int32, pCellData uintptr, pSearch uintptr, prScore uintptr, peWithin uintptr) int32 { /* sqlite3.c:196984:12: */ +func rtreeCallbackConstraint(tls *libc.TLS, pConstraint uintptr, eInt int32, pCellData uintptr, pSearch uintptr, prScore uintptr, peWithin uintptr) int32 { /* sqlite3.c:197041:12: */ bp := tls.Alloc(92) defer tls.Free(92) @@ -156132,7 +156163,7 @@ func rtreeCallbackConstraint(tls *libc.TLS, pConstraint uintptr, eInt int32, pCe // Check the internal RTree node given by pCellData against constraint p. // If this constraint cannot be satisfied by any child within the node, // set *peWithin to NOT_WITHIN. -func rtreeNonleafConstraint(tls *libc.TLS, p uintptr, eInt int32, pCellData uintptr, peWithin uintptr) { /* sqlite3.c:197060:13: */ +func rtreeNonleafConstraint(tls *libc.TLS, p uintptr, eInt int32, pCellData uintptr, peWithin uintptr) { /* sqlite3.c:197117:13: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -156234,7 +156265,7 @@ func rtreeNonleafConstraint(tls *libc.TLS, p uintptr, eInt int32, pCellData uint // // The op is given by p->op. The xN is p->iCoord-th coordinate in // pCellData. $val is given by p->u.rValue. -func rtreeLeafConstraint(tls *libc.TLS, p uintptr, eInt int32, pCellData uintptr, peWithin uintptr) { /* sqlite3.c:197117:13: */ +func rtreeLeafConstraint(tls *libc.TLS, p uintptr, eInt int32, pCellData uintptr, peWithin uintptr) { /* sqlite3.c:197174:13: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -156290,7 +156321,7 @@ func rtreeLeafConstraint(tls *libc.TLS, p uintptr, eInt int32, pCellData uintptr // One of the cells in node pNode is guaranteed to have a 64-bit // integer value equal to iRowid. Return the index of this cell. -func nodeRowidIndex(tls *libc.TLS, pRtree uintptr, pNode uintptr, iRowid I64, piIndex uintptr) int32 { /* sqlite3.c:197147:12: */ +func nodeRowidIndex(tls *libc.TLS, pRtree uintptr, pNode uintptr, iRowid I64, piIndex uintptr) int32 { /* sqlite3.c:197204:12: */ var ii int32 var nCell int32 = readInt16(tls, (*RtreeNode)(unsafe.Pointer(pNode)).FzData+2) @@ -156306,7 +156337,7 @@ func nodeRowidIndex(tls *libc.TLS, pRtree uintptr, pNode uintptr, iRowid I64, pi // Return the index of the cell containing a pointer to node pNode // in its parent. If pNode is the root node, return -1. -func nodeParentIndex(tls *libc.TLS, pRtree uintptr, pNode uintptr, piIndex uintptr) int32 { /* sqlite3.c:197170:12: */ +func nodeParentIndex(tls *libc.TLS, pRtree uintptr, pNode uintptr, piIndex uintptr) int32 { /* sqlite3.c:197227:12: */ var pParent uintptr = (*RtreeNode)(unsafe.Pointer(pNode)).FpParent if pParent != 0 { return nodeRowidIndex(tls, pRtree, pParent, (*RtreeNode)(unsafe.Pointer(pNode)).FiNode, piIndex) @@ -156325,7 +156356,7 @@ func nodeParentIndex(tls *libc.TLS, pRtree uintptr, pNode uintptr, piIndex uintp // iLevel values coming first. In this way, if rScore is the same for all // SearchPoints, then iLevel becomes the deciding factor and the result // is a depth-first search, which is the desired default behavior. -func rtreeSearchPointCompare(tls *libc.TLS, pA uintptr, pB uintptr) int32 { /* sqlite3.c:197190:12: */ +func rtreeSearchPointCompare(tls *libc.TLS, pA uintptr, pB uintptr) int32 { /* sqlite3.c:197247:12: */ if (*RtreeSearchPoint)(unsafe.Pointer(pA)).FrScore < (*RtreeSearchPoint)(unsafe.Pointer(pB)).FrScore { return -1 } @@ -156342,7 +156373,7 @@ func rtreeSearchPointCompare(tls *libc.TLS, pA uintptr, pB uintptr) int32 { /* s } // Interchange two search points in a cursor. -func rtreeSearchPointSwap(tls *libc.TLS, p uintptr, i int32, j int32) { /* sqlite3.c:197204:13: */ +func rtreeSearchPointSwap(tls *libc.TLS, p uintptr, i int32, j int32) { /* sqlite3.c:197261:13: */ var t = *(*RtreeSearchPoint)(unsafe.Pointer((*RtreeCursor)(unsafe.Pointer(p)).FaPoint + uintptr(i)*24)) *(*RtreeSearchPoint)(unsafe.Pointer((*RtreeCursor)(unsafe.Pointer(p)).FaPoint + uintptr(i)*24)) = *(*RtreeSearchPoint)(unsafe.Pointer((*RtreeCursor)(unsafe.Pointer(p)).FaPoint + uintptr(j)*24)) @@ -156362,7 +156393,7 @@ func rtreeSearchPointSwap(tls *libc.TLS, p uintptr, i int32, j int32) { /* sqlit } // Return the search point with the lowest current score. -func rtreeSearchPointFirst(tls *libc.TLS, pCur uintptr) uintptr { /* sqlite3.c:197225:25: */ +func rtreeSearchPointFirst(tls *libc.TLS, pCur uintptr) uintptr { /* sqlite3.c:197282:25: */ if (*RtreeCursor)(unsafe.Pointer(pCur)).FbPoint != 0 { return pCur + 64 } @@ -156373,7 +156404,7 @@ func rtreeSearchPointFirst(tls *libc.TLS, pCur uintptr) uintptr { /* sqlite3.c:1 } // Get the RtreeNode for the search point with the lowest score. -func rtreeNodeOfFirstSearchPoint(tls *libc.TLS, pCur uintptr, pRC uintptr) uintptr { /* sqlite3.c:197232:18: */ +func rtreeNodeOfFirstSearchPoint(tls *libc.TLS, pCur uintptr, pRC uintptr) uintptr { /* sqlite3.c:197289:18: */ var id Sqlite3_int64 var ii int32 = 1 - int32((*RtreeCursor)(unsafe.Pointer(pCur)).FbPoint) @@ -156390,7 +156421,7 @@ func rtreeNodeOfFirstSearchPoint(tls *libc.TLS, pCur uintptr, pRC uintptr) uintp } // Push a new element onto the priority queue -func rtreeEnqueue(tls *libc.TLS, pCur uintptr, rScore RtreeDValue, iLevel U8) uintptr { /* sqlite3.c:197248:25: */ +func rtreeEnqueue(tls *libc.TLS, pCur uintptr, rScore RtreeDValue, iLevel U8) uintptr { /* sqlite3.c:197305:25: */ var i int32 var j int32 var pNew uintptr @@ -156424,7 +156455,7 @@ func rtreeEnqueue(tls *libc.TLS, pCur uintptr, rScore RtreeDValue, iLevel U8) ui // Allocate a new RtreeSearchPoint and return a pointer to it. Return // NULL if malloc fails. -func rtreeSearchPointNew(tls *libc.TLS, pCur uintptr, rScore RtreeDValue, iLevel U8) uintptr { /* sqlite3.c:197283:25: */ +func rtreeSearchPointNew(tls *libc.TLS, pCur uintptr, rScore RtreeDValue, iLevel U8) uintptr { /* sqlite3.c:197340:25: */ var pNew uintptr var pFirst uintptr pFirst = rtreeSearchPointFirst(tls, pCur) @@ -156460,7 +156491,7 @@ func rtreeSearchPointNew(tls *libc.TLS, pCur uintptr, rScore RtreeDValue, iLevel } // Remove the search point with the lowest current score. -func rtreeSearchPointPop(tls *libc.TLS, p uintptr) { /* sqlite3.c:197351:13: */ +func rtreeSearchPointPop(tls *libc.TLS, p uintptr) { /* sqlite3.c:197408:13: */ var i int32 var j int32 var k int32 @@ -156508,7 +156539,7 @@ func rtreeSearchPointPop(tls *libc.TLS, p uintptr) { /* sqlite3.c:197351:13: */ // contains an entry suitable for returning as a result-set row, // or until the RtreeSearchPoint queue is empty, indicating that the // query has completed. -func rtreeStepToLeaf(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:197399:12: */ +func rtreeStepToLeaf(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:197456:12: */ bp := tls.Alloc(20) defer tls.Free(20) @@ -156601,7 +156632,7 @@ func rtreeStepToLeaf(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:197399:12 } // Rtree virtual table module xNext method. -func rtreeNext(tls *libc.TLS, pVtabCursor uintptr) int32 { /* sqlite3.c:197480:12: */ +func rtreeNext(tls *libc.TLS, pVtabCursor uintptr) int32 { /* sqlite3.c:197537:12: */ var pCsr uintptr = pVtabCursor var rc int32 = SQLITE_OK @@ -156617,7 +156648,7 @@ func rtreeNext(tls *libc.TLS, pVtabCursor uintptr) int32 { /* sqlite3.c:197480:1 } // Rtree virtual table module xRowid method. -func rtreeRowid(tls *libc.TLS, pVtabCursor uintptr, pRowid uintptr) int32 { /* sqlite3.c:197498:12: */ +func rtreeRowid(tls *libc.TLS, pVtabCursor uintptr, pRowid uintptr) int32 { /* sqlite3.c:197555:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -156632,7 +156663,7 @@ func rtreeRowid(tls *libc.TLS, pVtabCursor uintptr, pRowid uintptr) int32 { /* s } // Rtree virtual table module xColumn method. -func rtreeColumn(tls *libc.TLS, cur uintptr, ctx uintptr, i int32) int32 { /* sqlite3.c:197512:12: */ +func rtreeColumn(tls *libc.TLS, cur uintptr, ctx uintptr, i int32) int32 { /* sqlite3.c:197569:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -156693,7 +156724,7 @@ func rtreeColumn(tls *libc.TLS, cur uintptr, ctx uintptr, i int32) int32 { /* sq // return SQLITE_OK. If there is no such record in the table, set // *ppLeaf to 0 and return SQLITE_OK. If an error occurs, set *ppLeaf // to zero and return an SQLite error code. -func findLeafNode(tls *libc.TLS, pRtree uintptr, iRowid I64, ppLeaf uintptr, piNode uintptr) int32 { /* sqlite3.c:197566:12: */ +func findLeafNode(tls *libc.TLS, pRtree uintptr, iRowid I64, ppLeaf uintptr, piNode uintptr) int32 { /* sqlite3.c:197623:12: */ var rc int32 *(*uintptr)(unsafe.Pointer(ppLeaf)) = uintptr(0) Xsqlite3_bind_int64(tls, (*Rtree)(unsafe.Pointer(pRtree)).FpReadRowid, 1, iRowid) @@ -156714,7 +156745,7 @@ func findLeafNode(tls *libc.TLS, pRtree uintptr, iRowid I64, ppLeaf uintptr, piN // as the second argument for a MATCH constraint. The value passed as the // first argument to this function is the right-hand operand to the MATCH // operator. -func deserializeGeometry(tls *libc.TLS, pValue uintptr, pCons uintptr) int32 { /* sqlite3.c:197592:12: */ +func deserializeGeometry(tls *libc.TLS, pValue uintptr, pCons uintptr) int32 { /* sqlite3.c:197649:12: */ var pBlob uintptr var pSrc uintptr // BLOB returned by geometry function var pInfo uintptr // Callback information @@ -156746,7 +156777,7 @@ func deserializeGeometry(tls *libc.TLS, pValue uintptr, pCons uintptr) int32 { / } // Rtree virtual table module xFilter method. -func rtreeFilter(tls *libc.TLS, pVtabCursor uintptr, idxNum int32, idxStr uintptr, argc int32, argv uintptr) int32 { /* sqlite3.c:197622:12: */ +func rtreeFilter(tls *libc.TLS, pVtabCursor uintptr, idxNum int32, idxStr uintptr, argc int32, argv uintptr) int32 { /* sqlite3.c:197679:12: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -156889,7 +156920,7 @@ func rtreeFilter(tls *libc.TLS, pVtabCursor uintptr, idxNum int32, idxStr uintpt // The second of each pair of bytes identifies the coordinate column // to which the constraint applies. The leftmost coordinate column // is 'a', the second from the left 'b' etc. -func rtreeBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 { /* sqlite3.c:197775:12: */ +func rtreeBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 { /* sqlite3.c:197832:12: */ bp := tls.Alloc(49) defer tls.Free(49) @@ -156996,7 +157027,7 @@ func rtreeBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 { /* sql } // Return the N-dimensional volumn of the cell stored in *p. -func cellArea(tls *libc.TLS, pRtree uintptr, p uintptr) RtreeDValue { /* sqlite3.c:197864:20: */ +func cellArea(tls *libc.TLS, pRtree uintptr, p uintptr) RtreeDValue { /* sqlite3.c:197921:20: */ var area RtreeDValue = RtreeDValue(1) if int32((*Rtree)(unsafe.Pointer(pRtree)).FeCoordType) == RTREE_COORD_REAL32 { @@ -157039,7 +157070,7 @@ func cellArea(tls *libc.TLS, pRtree uintptr, p uintptr) RtreeDValue { /* sqlite3 // Return the margin length of cell p. The margin length is the sum // of the objects size in each dimension. -func cellMargin(tls *libc.TLS, pRtree uintptr, p uintptr) RtreeDValue { /* sqlite3.c:197894:20: */ +func cellMargin(tls *libc.TLS, pRtree uintptr, p uintptr) RtreeDValue { /* sqlite3.c:197951:20: */ var margin RtreeDValue = RtreeDValue(0) var ii int32 = int32((*Rtree)(unsafe.Pointer(pRtree)).FnDim2) - 2 for __ccgo := true; __ccgo; __ccgo = ii >= 0 { @@ -157060,7 +157091,7 @@ func cellMargin(tls *libc.TLS, pRtree uintptr, p uintptr) RtreeDValue { /* sqlit } // Store the union of cells p1 and p2 in p1. -func cellUnion(tls *libc.TLS, pRtree uintptr, p1 uintptr, p2 uintptr) { /* sqlite3.c:197907:13: */ +func cellUnion(tls *libc.TLS, pRtree uintptr, p1 uintptr, p2 uintptr) { /* sqlite3.c:197964:13: */ var ii int32 = 0 if int32((*Rtree)(unsafe.Pointer(pRtree)).FeCoordType) == RTREE_COORD_REAL32 { for __ccgo := true; __ccgo; __ccgo = ii < int32((*Rtree)(unsafe.Pointer(pRtree)).FnDim2) { @@ -157099,7 +157130,7 @@ func cellUnion(tls *libc.TLS, pRtree uintptr, p1 uintptr, p2 uintptr) { /* sqlit // Return true if the area covered by p2 is a subset of the area covered // by p1. False otherwise. -func cellContains(tls *libc.TLS, pRtree uintptr, p1 uintptr, p2 uintptr) int32 { /* sqlite3.c:197928:12: */ +func cellContains(tls *libc.TLS, pRtree uintptr, p1 uintptr, p2 uintptr) int32 { /* sqlite3.c:197985:12: */ var ii int32 var isInt int32 = libc.Bool32(int32((*Rtree)(unsafe.Pointer(pRtree)).FeCoordType) == RTREE_COORD_INT32) for ii = 0; ii < int32((*Rtree)(unsafe.Pointer(pRtree)).FnDim2); ii = ii + 2 { @@ -157114,7 +157145,7 @@ func cellContains(tls *libc.TLS, pRtree uintptr, p1 uintptr, p2 uintptr) int32 { } // Return the amount cell p would grow by if it were unioned with pCell. -func cellGrowth(tls *libc.TLS, pRtree uintptr, p uintptr, pCell uintptr) RtreeDValue { /* sqlite3.c:197946:20: */ +func cellGrowth(tls *libc.TLS, pRtree uintptr, p uintptr, pCell uintptr) RtreeDValue { /* sqlite3.c:198003:20: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -157127,7 +157158,7 @@ func cellGrowth(tls *libc.TLS, pRtree uintptr, p uintptr, pCell uintptr) RtreeDV return cellArea(tls, pRtree, bp) - area } -func cellOverlap(tls *libc.TLS, pRtree uintptr, p uintptr, aCell uintptr, nCell int32) RtreeDValue { /* sqlite3.c:197955:20: */ +func cellOverlap(tls *libc.TLS, pRtree uintptr, p uintptr, aCell uintptr, nCell int32) RtreeDValue { /* sqlite3.c:198012:20: */ var ii int32 var overlap RtreeDValue = 0.0 for ii = 0; ii < nCell; ii++ { @@ -157202,7 +157233,7 @@ func cellOverlap(tls *libc.TLS, pRtree uintptr, p uintptr, aCell uintptr, nCell // This function implements the ChooseLeaf algorithm from Gutman[84]. // ChooseSubTree in r*tree terminology. -func sChooseLeaf(tls *libc.TLS, pRtree uintptr, pCell uintptr, iHeight int32, ppLeaf uintptr) int32 { /* sqlite3.c:197987:12: */ +func sChooseLeaf(tls *libc.TLS, pRtree uintptr, pCell uintptr, iHeight int32, ppLeaf uintptr) int32 { /* sqlite3.c:198044:12: */ bp := tls.Alloc(64) defer tls.Free(64) @@ -157258,7 +157289,7 @@ func sChooseLeaf(tls *libc.TLS, pRtree uintptr, pCell uintptr, iHeight int32, pp // A cell with the same content as pCell has just been inserted into // the node pNode. This function updates the bounding box cells in // all ancestor elements. -func sAdjustTree(tls *libc.TLS, pRtree uintptr, pNode uintptr, pCell uintptr) int32 { /* sqlite3.c:198047:12: */ +func sAdjustTree(tls *libc.TLS, pRtree uintptr, pNode uintptr, pCell uintptr) int32 { /* sqlite3.c:198104:12: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -157294,7 +157325,7 @@ func sAdjustTree(tls *libc.TLS, pRtree uintptr, pNode uintptr, pCell uintptr) in } // Write mapping (iRowid->iNode) to the _rowid table. -func rowidWrite(tls *libc.TLS, pRtree uintptr, iRowid Sqlite3_int64, iNode Sqlite3_int64) int32 { /* sqlite3.c:198085:12: */ +func rowidWrite(tls *libc.TLS, pRtree uintptr, iRowid Sqlite3_int64, iNode Sqlite3_int64) int32 { /* sqlite3.c:198142:12: */ Xsqlite3_bind_int64(tls, (*Rtree)(unsafe.Pointer(pRtree)).FpWriteRowid, 1, iRowid) Xsqlite3_bind_int64(tls, (*Rtree)(unsafe.Pointer(pRtree)).FpWriteRowid, 2, iNode) Xsqlite3_step(tls, (*Rtree)(unsafe.Pointer(pRtree)).FpWriteRowid) @@ -157302,7 +157333,7 @@ func rowidWrite(tls *libc.TLS, pRtree uintptr, iRowid Sqlite3_int64, iNode Sqlit } // Write mapping (iNode->iPar) to the _parent table. -func parentWrite(tls *libc.TLS, pRtree uintptr, iNode Sqlite3_int64, iPar Sqlite3_int64) int32 { /* sqlite3.c:198095:12: */ +func parentWrite(tls *libc.TLS, pRtree uintptr, iNode Sqlite3_int64, iPar Sqlite3_int64) int32 { /* sqlite3.c:198152:12: */ Xsqlite3_bind_int64(tls, (*Rtree)(unsafe.Pointer(pRtree)).FpWriteParent, 1, iNode) Xsqlite3_bind_int64(tls, (*Rtree)(unsafe.Pointer(pRtree)).FpWriteParent, 2, iPar) Xsqlite3_step(tls, (*Rtree)(unsafe.Pointer(pRtree)).FpWriteParent) @@ -157324,7 +157355,7 @@ func parentWrite(tls *libc.TLS, pRtree uintptr, iNode Sqlite3_int64, iPar Sqlite // // The aSpare array is used as temporary working space by the // sorting algorithm. -func sSortByDistance(tls *libc.TLS, aIdx uintptr, nIdx int32, aDistance uintptr, aSpare uintptr) { /* sqlite3.c:198122:13: */ +func sSortByDistance(tls *libc.TLS, aIdx uintptr, nIdx int32, aDistance uintptr, aSpare uintptr) { /* sqlite3.c:198179:13: */ if nIdx > 1 { var iLeft int32 = 0 var iRight int32 = 0 @@ -157372,7 +157403,7 @@ func sSortByDistance(tls *libc.TLS, aIdx uintptr, nIdx int32, aDistance uintptr, // // The aSpare array is used as temporary working space by the // sorting algorithm. -func sSortByDimension(tls *libc.TLS, pRtree uintptr, aIdx uintptr, nIdx int32, iDim int32, aCell uintptr, aSpare uintptr) { /* sqlite3.c:198188:13: */ +func sSortByDimension(tls *libc.TLS, pRtree uintptr, aIdx uintptr, nIdx int32, iDim int32, aCell uintptr, aSpare uintptr) { /* sqlite3.c:198245:13: */ if nIdx > 1 { var iLeft int32 = 0 @@ -157428,7 +157459,7 @@ func sSortByDimension(tls *libc.TLS, pRtree uintptr, aIdx uintptr, nIdx int32, i } // Implementation of the R*-tree variant of SplitNode from Beckman[1990]. -func splitNodeStartree(tls *libc.TLS, pRtree uintptr, aCell uintptr, nCell int32, pLeft uintptr, pRight uintptr, pBboxLeft uintptr, pBboxRight uintptr) int32 { /* sqlite3.c:198247:12: */ +func splitNodeStartree(tls *libc.TLS, pRtree uintptr, aCell uintptr, nCell int32, pLeft uintptr, pRight uintptr, pBboxLeft uintptr, pBboxRight uintptr) int32 { /* sqlite3.c:198304:12: */ bp := tls.Alloc(96) defer tls.Free(96) @@ -157527,7 +157558,7 @@ func splitNodeStartree(tls *libc.TLS, pRtree uintptr, aCell uintptr, nCell int32 return SQLITE_OK } -func updateMapping(tls *libc.TLS, pRtree uintptr, iRowid I64, pNode uintptr, iHeight int32) int32 { /* sqlite3.c:198345:12: */ +func updateMapping(tls *libc.TLS, pRtree uintptr, iRowid I64, pNode uintptr, iHeight int32) int32 { /* sqlite3.c:198402:12: */ var xSetMapping uintptr xSetMapping = func() uintptr { if iHeight == 0 { @@ -157561,7 +157592,7 @@ func updateMapping(tls *libc.TLS, pRtree uintptr, iRowid I64, pNode uintptr, iHe })(unsafe.Pointer(&struct{ uintptr }{xSetMapping})).f(tls, pRtree, iRowid, (*RtreeNode)(unsafe.Pointer(pNode)).FiNode) } -func sSplitNode(tls *libc.TLS, pRtree uintptr, pNode uintptr, pCell uintptr, iHeight int32) int32 { /* sqlite3.c:198369:12: */ +func sSplitNode(tls *libc.TLS, pRtree uintptr, pNode uintptr, pCell uintptr, iHeight int32) int32 { /* sqlite3.c:198426:12: */ bp := tls.Alloc(100) defer tls.Free(100) @@ -157796,7 +157827,7 @@ splitnode_out: // rowid of the row to delete, which can be used to find the leaf on which // the entry resides (argument pLeaf). Once the leaf is located, this // function is called to determine its ancestry. -func fixLeafParent(tls *libc.TLS, pRtree uintptr, pLeaf uintptr) int32 { /* sqlite3.c:198517:12: */ +func fixLeafParent(tls *libc.TLS, pRtree uintptr, pLeaf uintptr) int32 { /* sqlite3.c:198574:12: */ var rc int32 = SQLITE_OK var pChild uintptr = pLeaf for rc == SQLITE_OK && (*RtreeNode)(unsafe.Pointer(pChild)).FiNode != int64(1) && (*RtreeNode)(unsafe.Pointer(pChild)).FpParent == uintptr(0) { @@ -157831,7 +157862,7 @@ func fixLeafParent(tls *libc.TLS, pRtree uintptr, pLeaf uintptr) int32 { /* sqli return rc } -func removeNode(tls *libc.TLS, pRtree uintptr, pNode uintptr, iHeight int32) int32 { /* sqlite3.c:198552:12: */ +func removeNode(tls *libc.TLS, pRtree uintptr, pNode uintptr, iHeight int32) int32 { /* sqlite3.c:198609:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -157881,7 +157912,7 @@ func removeNode(tls *libc.TLS, pRtree uintptr, pNode uintptr, iHeight int32) int return SQLITE_OK } -func fixBoundingBox(tls *libc.TLS, pRtree uintptr, pNode uintptr) int32 { /* sqlite3.c:198602:12: */ +func fixBoundingBox(tls *libc.TLS, pRtree uintptr, pNode uintptr) int32 { /* sqlite3.c:198659:12: */ bp := tls.Alloc(100) defer tls.Free(100) @@ -157912,7 +157943,7 @@ func fixBoundingBox(tls *libc.TLS, pRtree uintptr, pNode uintptr) int32 { /* sql // Delete the cell at index iCell of node pNode. After removing the // cell, adjust the r-tree data structure if required. -func deleteCell(tls *libc.TLS, pRtree uintptr, pNode uintptr, iCell int32, iHeight int32) int32 { /* sqlite3.c:198629:12: */ +func deleteCell(tls *libc.TLS, pRtree uintptr, pNode uintptr, iCell int32, iHeight int32) int32 { /* sqlite3.c:198686:12: */ var pParent uintptr var rc int32 @@ -157941,7 +157972,7 @@ func deleteCell(tls *libc.TLS, pRtree uintptr, pNode uintptr, iCell int32, iHeig return rc } -func sReinsert(tls *libc.TLS, pRtree uintptr, pNode uintptr, pCell uintptr, iHeight int32) int32 { /* sqlite3.c:198660:12: */ +func sReinsert(tls *libc.TLS, pRtree uintptr, pNode uintptr, pCell uintptr, iHeight int32) int32 { /* sqlite3.c:198717:12: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -158056,7 +158087,7 @@ func sReinsert(tls *libc.TLS, pRtree uintptr, pNode uintptr, pCell uintptr, iHei // Insert cell pCell into node pNode. Node pNode is the head of a // subtree iHeight high (leaf nodes have iHeight==0). -func rtreeInsertCell(tls *libc.TLS, pRtree uintptr, pNode uintptr, pCell uintptr, iHeight int32) int32 { /* sqlite3.c:198765:12: */ +func rtreeInsertCell(tls *libc.TLS, pRtree uintptr, pNode uintptr, pCell uintptr, iHeight int32) int32 { /* sqlite3.c:198822:12: */ var rc int32 = SQLITE_OK if iHeight > 0 { var pChild uintptr = nodeHashLookup(tls, pRtree, (*RtreeCell)(unsafe.Pointer(pCell)).FiRowid) @@ -158086,7 +158117,7 @@ func rtreeInsertCell(tls *libc.TLS, pRtree uintptr, pNode uintptr, pCell uintptr return rc } -func reinsertNodeContent(tls *libc.TLS, pRtree uintptr, pNode uintptr) int32 { /* sqlite3.c:198800:12: */ +func reinsertNodeContent(tls *libc.TLS, pRtree uintptr, pNode uintptr) int32 { /* sqlite3.c:198857:12: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -158117,7 +158148,7 @@ func reinsertNodeContent(tls *libc.TLS, pRtree uintptr, pNode uintptr) int32 { / } // Select a currently unused rowid for a new r-tree record. -func rtreeNewRowid(tls *libc.TLS, pRtree uintptr, piRowid uintptr) int32 { /* sqlite3.c:198829:12: */ +func rtreeNewRowid(tls *libc.TLS, pRtree uintptr, piRowid uintptr) int32 { /* sqlite3.c:198886:12: */ var rc int32 Xsqlite3_bind_null(tls, (*Rtree)(unsafe.Pointer(pRtree)).FpWriteRowid, 1) Xsqlite3_bind_null(tls, (*Rtree)(unsafe.Pointer(pRtree)).FpWriteRowid, 2) @@ -158128,7 +158159,7 @@ func rtreeNewRowid(tls *libc.TLS, pRtree uintptr, piRowid uintptr) int32 { /* sq } // Remove the entry with rowid=iDelete from the r-tree structure. -func rtreeDeleteRowid(tls *libc.TLS, pRtree uintptr, iDelete Sqlite3_int64) int32 { /* sqlite3.c:198842:12: */ +func rtreeDeleteRowid(tls *libc.TLS, pRtree uintptr, iDelete Sqlite3_int64) int32 { /* sqlite3.c:198899:12: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -158217,7 +158248,7 @@ func rtreeDeleteRowid(tls *libc.TLS, pRtree uintptr, iDelete Sqlite3_int64) int3 // Convert an sqlite3_value into an RtreeValue (presumably a float) // while taking care to round toward negative or positive, respectively. -func rtreeValueDown(tls *libc.TLS, v uintptr) RtreeValue { /* sqlite3.c:198939:19: */ +func rtreeValueDown(tls *libc.TLS, v uintptr) RtreeValue { /* sqlite3.c:198996:19: */ var d float64 = Xsqlite3_value_double(tls, v) var f float32 = float32(d) if float64(f) > d { @@ -158231,7 +158262,7 @@ func rtreeValueDown(tls *libc.TLS, v uintptr) RtreeValue { /* sqlite3.c:198939:1 return f } -func rtreeValueUp(tls *libc.TLS, v uintptr) RtreeValue { /* sqlite3.c:198947:19: */ +func rtreeValueUp(tls *libc.TLS, v uintptr) RtreeValue { /* sqlite3.c:199004:19: */ var d float64 = Xsqlite3_value_double(tls, v) var f float32 = float32(d) if float64(f) < d { @@ -158256,7 +158287,7 @@ func rtreeValueUp(tls *libc.TLS, v uintptr) RtreeValue { /* sqlite3.c:198947:19: // (c1<=c2) constraint on columns iCol and iCol+1 that has failed. // // If an OOM occurs, SQLITE_NOMEM is returned instead of SQLITE_CONSTRAINT. -func rtreeConstraintError(tls *libc.TLS, pRtree uintptr, iCol int32) int32 { /* sqlite3.c:198970:12: */ +func rtreeConstraintError(tls *libc.TLS, pRtree uintptr, iCol int32) int32 { /* sqlite3.c:199027:12: */ bp := tls.Alloc(64) defer tls.Free(64) @@ -158295,7 +158326,7 @@ func rtreeConstraintError(tls *libc.TLS, pRtree uintptr, iCol int32) int32 { /* } // The xUpdate method for rtree module virtual tables. -func rtreeUpdate(tls *libc.TLS, pVtab uintptr, nData int32, aData uintptr, pRowid uintptr) int32 { /* sqlite3.c:199008:12: */ +func rtreeUpdate(tls *libc.TLS, pVtab uintptr, nData int32, aData uintptr, pRowid uintptr) int32 { /* sqlite3.c:199065:12: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -158524,7 +158555,7 @@ constraint: } // Called when a transaction starts. -func rtreeBeginTransaction(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:199156:12: */ +func rtreeBeginTransaction(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:199213:12: */ var pRtree uintptr = pVtab (*Rtree)(unsafe.Pointer(pRtree)).FinWrTrans++ @@ -158533,7 +158564,7 @@ func rtreeBeginTransaction(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:19 // Called when a transaction completes (either by COMMIT or ROLLBACK). // The sqlite3_blob object should be released at this point. -func rtreeEndTransaction(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:199167:12: */ +func rtreeEndTransaction(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:199224:12: */ var pRtree uintptr = pVtab (*Rtree)(unsafe.Pointer(pRtree)).FinWrTrans = U8(0) nodeBlobReset(tls, pRtree) @@ -158541,7 +158572,7 @@ func rtreeEndTransaction(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:1991 } // The xRename method for rtree module virtual tables. -func rtreeRename(tls *libc.TLS, pVtab uintptr, zNewName uintptr) int32 { /* sqlite3.c:199177:12: */ +func rtreeRename(tls *libc.TLS, pVtab uintptr, zNewName uintptr) int32 { /* sqlite3.c:199234:12: */ bp := tls.Alloc(72) defer tls.Free(72) @@ -158570,7 +158601,7 @@ func rtreeRename(tls *libc.TLS, pVtab uintptr, zNewName uintptr) int32 { /* sqli // INSERT INTO rtree... // DROP TABLE ; -- Would fail with SQLITE_LOCKED // COMMIT; -func rtreeSavepoint(tls *libc.TLS, pVtab uintptr, iSavepoint int32) int32 { /* sqlite3.c:199210:12: */ +func rtreeSavepoint(tls *libc.TLS, pVtab uintptr, iSavepoint int32) int32 { /* sqlite3.c:199267:12: */ var pRtree uintptr = pVtab var iwt U8 = (*Rtree)(unsafe.Pointer(pRtree)).FinWrTrans _ = iSavepoint @@ -158583,7 +158614,7 @@ func rtreeSavepoint(tls *libc.TLS, pVtab uintptr, iSavepoint int32) int32 { /* s // This function populates the pRtree->nRowEst variable with an estimate // of the number of rows in the virtual table. If possible, this is based // on sqlite_stat1 data. Otherwise, use RTREE_DEFAULT_ROWEST. -func rtreeQueryStat1(tls *libc.TLS, db uintptr, pRtree uintptr) int32 { /* sqlite3.c:199225:12: */ +func rtreeQueryStat1(tls *libc.TLS, db uintptr, pRtree uintptr) int32 { /* sqlite3.c:199282:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -158627,7 +158658,7 @@ func rtreeQueryStat1(tls *libc.TLS, db uintptr, pRtree uintptr) int32 { /* sqlit // Return true if zName is the extension on one of the shadow tables used // by this module. -func rtreeShadowName(tls *libc.TLS, zName uintptr) int32 { /* sqlite3.c:199259:12: */ +func rtreeShadowName(tls *libc.TLS, zName uintptr) int32 { /* sqlite3.c:199316:12: */ var i uint32 for i = uint32(0); uint64(i) < uint64(unsafe.Sizeof(azName1))/uint64(unsafe.Sizeof(uintptr(0))); i++ { if Xsqlite3_stricmp(tls, zName, azName1[i]) == 0 { @@ -158639,7 +158670,7 @@ func rtreeShadowName(tls *libc.TLS, zName uintptr) int32 { /* sqlite3.c:199259:1 var azName1 = [3]uintptr{ ts + 25262, ts + 5004, ts + 16167, -} /* sqlite3.c:199260:21 */ +} /* sqlite3.c:199317:21 */ var rtreeModule = Sqlite3_module{ FiVersion: 3, // iVersion @@ -158663,9 +158694,9 @@ var rtreeModule = Sqlite3_module{ FxRename: 0, // xRename - rename the table FxSavepoint: 0, // xRollbackTo FxShadowName: 0, // xShadowName -} /* sqlite3.c:199270:23 */ +} /* sqlite3.c:199327:23 */ -func rtreeSqlInit(tls *libc.TLS, pRtree uintptr, db uintptr, zDb uintptr, zPrefix uintptr, isCreate int32) int32 { /* sqlite3.c:199297:12: */ +func rtreeSqlInit(tls *libc.TLS, pRtree uintptr, db uintptr, zDb uintptr, zPrefix uintptr, isCreate int32) int32 { /* sqlite3.c:199354:12: */ bp := tls.Alloc(232) defer tls.Free(232) @@ -158782,14 +158813,14 @@ var azSql = [8]uintptr{ ts + 25992, ts + 26050, ts + 26105, -} /* sqlite3.c:199307:21 */ +} /* sqlite3.c:199364:21 */ // The second argument to this function contains the text of an SQL statement // that returns a single integer value. The statement is compiled and executed // using database connection db. If successful, the integer value returned // is written to *piVal and SQLITE_OK returned. Otherwise, an SQLite error // code is returned and the value of *piVal after returning is not defined. -func getIntFromStmt(tls *libc.TLS, db uintptr, zSql uintptr, piVal uintptr) int32 { /* sqlite3.c:199430:12: */ +func getIntFromStmt(tls *libc.TLS, db uintptr, zSql uintptr, piVal uintptr) int32 { /* sqlite3.c:199487:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -158820,7 +158851,7 @@ func getIntFromStmt(tls *libc.TLS, db uintptr, zSql uintptr, piVal uintptr) int3 // This ensures that each node is stored on a single database page. If the // database page-size is so large that more than RTREE_MAXCELLS entries // would fit in a single node, use a smaller node-size. -func getNodeSize(tls *libc.TLS, db uintptr, pRtree uintptr, isCreate int32, pzErr uintptr) int32 { /* sqlite3.c:199460:12: */ +func getNodeSize(tls *libc.TLS, db uintptr, pRtree uintptr, isCreate int32, pzErr uintptr) int32 { /* sqlite3.c:199517:12: */ bp := tls.Alloc(52) defer tls.Free(52) @@ -158858,7 +158889,7 @@ func getNodeSize(tls *libc.TLS, db uintptr, pRtree uintptr, isCreate int32, pzEr } // Return the length of a token -func rtreeTokenLength(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:199503:12: */ +func rtreeTokenLength(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:199560:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -158873,7 +158904,7 @@ func rtreeTokenLength(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:199503:12: // argv[1] -> database name // argv[2] -> table name // argv[...] -> column names... -func rtreeInit(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr, isCreate int32) int32 { /* sqlite3.c:199517:12: */ +func rtreeInit(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr, isCreate int32) int32 { /* sqlite3.c:199574:12: */ bp := tls.Alloc(136) defer tls.Free(136) @@ -159073,7 +159104,7 @@ __25: return rc } -var azFormat = [2]uintptr{ts + 26448, ts + 26459} /* sqlite3.c:199583:25 */ +var azFormat = [2]uintptr{ts + 26448, ts + 26459} /* sqlite3.c:199640:25 */ // Implementation of a scalar function that decodes r-tree nodes to // human readable strings. This can be used for debugging and analysis. @@ -159089,7 +159120,7 @@ var azFormat = [2]uintptr{ts + 26448, ts + 26459} /* sqlite3.c:199583:25 */ // entry for each cell in the r-tree node. Each entry is itself a // list, containing the 8-byte rowid/pageno followed by the // *2 coordinates. -func rtreenode(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:199654:13: */ +func rtreenode(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:199711:13: */ bp := tls.Alloc(1072) defer tls.Free(1072) @@ -159152,7 +159183,7 @@ func rtreenode(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) { /* sqlit // The depth value is 0 for all nodes other than the root node, and the root // node always has nodeno=1, so the example above is the primary use for this // routine. This routine is intended for testing and analysis only. -func rtreedepth(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:199706:13: */ +func rtreedepth(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:199763:13: */ _ = nArg if Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(apArg))) != SQLITE_BLOB || Xsqlite3_value_bytes(tls, *(*uintptr)(unsafe.Pointer(apArg))) < 2 { @@ -159184,15 +159215,15 @@ type RtreeCheck1 = struct { FzReport uintptr FnErr int32 F__ccgo_pad2 [4]byte -} /* sqlite3.c:199727:9 */ +} /* sqlite3.c:199784:9 */ // Context object passed between the various routines that make up the // implementation of integrity-check function rtreecheck(). -type RtreeCheck = RtreeCheck1 /* sqlite3.c:199727:27 */ +type RtreeCheck = RtreeCheck1 /* sqlite3.c:199784:27 */ // Reset SQL statement pStmt. If the sqlite3_reset() call returns an error, // and RtreeCheck.rc==SQLITE_OK, set RtreeCheck.rc to the error code. -func rtreeCheckReset(tls *libc.TLS, pCheck uintptr, pStmt uintptr) { /* sqlite3.c:199749:13: */ +func rtreeCheckReset(tls *libc.TLS, pCheck uintptr, pStmt uintptr) { /* sqlite3.c:199806:13: */ var rc int32 = Xsqlite3_reset(tls, pStmt) if (*RtreeCheck)(unsafe.Pointer(pCheck)).Frc == SQLITE_OK { (*RtreeCheck)(unsafe.Pointer(pCheck)).Frc = rc @@ -159205,7 +159236,7 @@ func rtreeCheckReset(tls *libc.TLS, pCheck uintptr, pStmt uintptr) { /* sqlite3. // // If successful, a pointer to the new SQL statement is returned. Otherwise, // NULL is returned and an error code left in RtreeCheck.rc. -func rtreeCheckPrepare(tls *libc.TLS, pCheck uintptr, zFmt uintptr, va uintptr) uintptr { /* sqlite3.c:199762:21: */ +func rtreeCheckPrepare(tls *libc.TLS, pCheck uintptr, zFmt uintptr, va uintptr) uintptr { /* sqlite3.c:199819:21: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -159233,7 +159264,7 @@ func rtreeCheckPrepare(tls *libc.TLS, pCheck uintptr, zFmt uintptr, va uintptr) // The second and subsequent arguments to this function are a printf() // style format string and arguments. This function formats the string and // appends it to the report being accumuated in pCheck. -func rtreeCheckAppendMsg(tls *libc.TLS, pCheck uintptr, zFmt uintptr, va uintptr) { /* sqlite3.c:199791:13: */ +func rtreeCheckAppendMsg(tls *libc.TLS, pCheck uintptr, zFmt uintptr, va uintptr) { /* sqlite3.c:199848:13: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -159273,7 +159304,7 @@ func rtreeCheckAppendMsg(tls *libc.TLS, pCheck uintptr, zFmt uintptr, va uintptr // Or, if an error does occur, NULL is returned and an error code left // in the RtreeCheck object. The final value of *pnNode is undefined in // this case. -func rtreeCheckGetNode(tls *libc.TLS, pCheck uintptr, iNode I64, pnNode uintptr) uintptr { /* sqlite3.c:199825:11: */ +func rtreeCheckGetNode(tls *libc.TLS, pCheck uintptr, iNode I64, pnNode uintptr) uintptr { /* sqlite3.c:199882:11: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -159317,7 +159348,7 @@ func rtreeCheckGetNode(tls *libc.TLS, pCheck uintptr, iNode I64, pnNode uintptr) // In both cases, this function checks that there exists an entry with // IPK value iKey and the second column set to iVal. // -func rtreeCheckMapping(tls *libc.TLS, pCheck uintptr, bLeaf int32, iKey I64, iVal I64) { /* sqlite3.c:199869:13: */ +func rtreeCheckMapping(tls *libc.TLS, pCheck uintptr, bLeaf int32, iKey I64, iVal I64) { /* sqlite3.c:199926:13: */ bp := tls.Alloc(96) defer tls.Free(96) @@ -159373,7 +159404,7 @@ func rtreeCheckMapping(tls *libc.TLS, pCheck uintptr, bLeaf int32, iKey I64, iVa // containing pCell. In this case it is also verified that the two // sets of coordinates are mutually consistent and an error message added // to the RtreeCheck object if they are not. -func rtreeCheckCellCoord(tls *libc.TLS, pCheck uintptr, iNode I64, iCell int32, pCell uintptr, pParent uintptr) { /* sqlite3.c:199921:13: */ +func rtreeCheckCellCoord(tls *libc.TLS, pCheck uintptr, iNode I64, iCell int32, pCell uintptr, pParent uintptr) { /* sqlite3.c:199978:13: */ bp := tls.Alloc(64) defer tls.Free(64) @@ -159431,7 +159462,7 @@ func rtreeCheckCellCoord(tls *libc.TLS, pCheck uintptr, iNode I64, iCell int32, // // If any problems are discovered, an error message is appended to the // report accumulated in the RtreeCheck object. -func rtreeCheckNode(tls *libc.TLS, pCheck uintptr, iDepth int32, aParent uintptr, iNode I64) { /* sqlite3.c:199967:13: */ +func rtreeCheckNode(tls *libc.TLS, pCheck uintptr, iDepth int32, aParent uintptr, iNode I64) { /* sqlite3.c:200024:13: */ bp := tls.Alloc(52) defer tls.Free(52) @@ -159485,7 +159516,7 @@ func rtreeCheckNode(tls *libc.TLS, pCheck uintptr, iDepth int32, aParent uintptr // %_rowid or %_parent table is exactly nExpect. If not, it adds // an error message to the report in the RtreeCheck object indicated // by the first argument. -func rtreeCheckCount(tls *libc.TLS, pCheck uintptr, zTbl uintptr, nExpect I64) { /* sqlite3.c:200030:13: */ +func rtreeCheckCount(tls *libc.TLS, pCheck uintptr, zTbl uintptr, nExpect I64) { /* sqlite3.c:200087:13: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -159508,7 +159539,7 @@ func rtreeCheckCount(tls *libc.TLS, pCheck uintptr, zTbl uintptr, nExpect I64) { // This function does the bulk of the work for the rtree integrity-check. // It is called by rtreecheck(), which is the SQL function implementation. -func rtreeCheckTable(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, pzReport uintptr) int32 { /* sqlite3.c:200054:12: */ +func rtreeCheckTable(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, pzReport uintptr) int32 { /* sqlite3.c:200111:12: */ bp := tls.Alloc(120) defer tls.Free(120) @@ -159615,7 +159646,7 @@ func rtreeCheckTable(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, pzRep // as there are non-leaf cells in the r-tree structure, and that // there is a non-leaf cell that corresponds to each entry in the // %_parent table. -func rtreecheck(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:200161:13: */ +func rtreecheck(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:200218:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -159678,7 +159709,7 @@ func rtreecheck(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) { /* sqli // Compiler and version // Datatype for coordinates -type GeoCoord = float32 /* sqlite3.c:200282:15 */ +type GeoCoord = float32 /* sqlite3.c:200339:15 */ // Internal representation of a polygon. // @@ -159704,7 +159735,7 @@ type GeoPoly1 = struct { FnVertex int32 Fhdr [4]uint8 Fa [8]GeoCoord -} /* sqlite3.c:200306:9 */ +} /* sqlite3.c:200363:9 */ // Internal representation of a polygon. // @@ -159726,7 +159757,7 @@ type GeoPoly1 = struct { // warnings coming from some compiler (notably, clang). In reality, the size // of each GeoPoly memory allocate is adjusted as necessary so that the // GeoPoly.a[] array at the end is the appropriate size. -type GeoPoly = GeoPoly1 /* sqlite3.c:200306:24 */ +type GeoPoly = GeoPoly1 /* sqlite3.c:200363:24 */ // The size of a memory allocation needed for a GeoPoly object sufficient // to hold N coordinate pairs. @@ -159743,7 +159774,7 @@ type GeoParse1 = struct { FnErr int32 F__ccgo_pad1 [4]byte Fa uintptr -} /* sqlite3.c:200329:9 */ +} /* sqlite3.c:200386:9 */ // The size of a memory allocation needed for a GeoPoly object sufficient // to hold N coordinate pairs. @@ -159753,10 +159784,10 @@ type GeoParse1 = struct { // to silence (incorrect) UBSAN warnings if the array index is too large. // State of a parse of a GeoJSON input. -type GeoParse = GeoParse1 /* sqlite3.c:200329:25 */ +type GeoParse = GeoParse1 /* sqlite3.c:200386:25 */ // Do a 4-byte byte swap -func geopolySwab32(tls *libc.TLS, a uintptr) { /* sqlite3.c:200339:13: */ +func geopolySwab32(tls *libc.TLS, a uintptr) { /* sqlite3.c:200396:13: */ var t uint8 = *(*uint8)(unsafe.Pointer(a)) *(*uint8)(unsafe.Pointer(a)) = *(*uint8)(unsafe.Pointer(a + 3)) *(*uint8)(unsafe.Pointer(a + 3)) = t @@ -159766,7 +159797,7 @@ func geopolySwab32(tls *libc.TLS, a uintptr) { /* sqlite3.c:200339:13: */ } // Skip whitespace. Return the next non-whitespace character. -func geopolySkipSpace(tls *libc.TLS, p uintptr) int8 { /* sqlite3.c:200349:13: */ +func geopolySkipSpace(tls *libc.TLS, p uintptr) int8 { /* sqlite3.c:200406:13: */ for jsonIsSpace[*(*uint8)(unsafe.Pointer((*GeoParse)(unsafe.Pointer(p)).Fz))] != 0 { (*GeoParse)(unsafe.Pointer(p)).Fz++ } @@ -159775,7 +159806,7 @@ func geopolySkipSpace(tls *libc.TLS, p uintptr) int8 { /* sqlite3.c:200349:13: * // Parse out a number. Write the value into *pVal if pVal!=0. // return non-zero on success and zero if the next token is not a number. -func geopolyParseNumber(tls *libc.TLS, p uintptr, pVal uintptr) int32 { /* sqlite3.c:200357:12: */ +func geopolyParseNumber(tls *libc.TLS, p uintptr, pVal uintptr) int32 { /* sqlite3.c:200414:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -159847,7 +159878,7 @@ func geopolyParseNumber(tls *libc.TLS, p uintptr, pVal uintptr) int32 { /* sqlit // that object. // // If any error occurs, return NULL. -func geopolyParseJson(tls *libc.TLS, z uintptr, pRc uintptr) uintptr { /* sqlite3.c:200415:16: */ +func geopolyParseJson(tls *libc.TLS, z uintptr, pRc uintptr) uintptr { /* sqlite3.c:200472:16: */ bp := tls.Alloc(36) defer tls.Free(36) @@ -159989,7 +160020,7 @@ __16: // in the binary format or JSON text. Compute a GeoPoly object and // return a pointer to that object. Or if the input is not a well-formed // polygon, put an error message in sqlite3_context and return NULL. -func geopolyFuncParam(tls *libc.TLS, pCtx uintptr, pVal uintptr, pRc uintptr) uintptr { /* sqlite3.c:200492:16: */ +func geopolyFuncParam(tls *libc.TLS, pCtx uintptr, pVal uintptr, pRc uintptr) uintptr { /* sqlite3.c:200549:16: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -160058,7 +160089,7 @@ func geopolyFuncParam(tls *libc.TLS, pCtx uintptr, pVal uintptr, pRc uintptr) ui // If the input is a well-formed Geopoly BLOB or JSON string // then return the BLOB representation of the polygon. Otherwise // return NULL. -func geopolyBlobFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:200553:13: */ +func geopolyBlobFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:200610:13: */ var p uintptr = geopolyFuncParam(tls, context, *(*uintptr)(unsafe.Pointer(argv)), uintptr(0)) if p != 0 { Xsqlite3_result_blob(tls, context, p+4, @@ -160071,7 +160102,7 @@ func geopolyBlobFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { // // Interpret X as a polygon and render it as a JSON array // of coordinates. Or, if X is not a valid polygon, return NULL. -func geopolyJsonFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:200572:13: */ +func geopolyJsonFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:200629:13: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -160094,7 +160125,7 @@ func geopolyJsonFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { // // Interpret X as a polygon and render it as a SVG . // Additional arguments are added as attributes to the . -func geopolySvgFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:200598:13: */ +func geopolySvgFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:200655:13: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -160140,7 +160171,7 @@ func geopolySvgFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { // Rotate by R around the point (0,0): // // geopoly_xform(poly, cos(R), sin(R), -sin(R), cos(R), 0, 0) -func geopolyXformFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:200645:13: */ +func geopolyXformFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:200702:13: */ var p uintptr = geopolyFuncParam(tls, context, *(*uintptr)(unsafe.Pointer(argv)), uintptr(0)) var A float64 = Xsqlite3_value_double(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))) var B float64 = Xsqlite3_value_double(tls, *(*uintptr)(unsafe.Pointer(argv + 2*8))) @@ -160173,7 +160204,7 @@ func geopolyXformFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) // This routine can also be used to detect polygons that rotate in // the wrong direction. Polygons are suppose to be counter-clockwise (CCW). // This routine returns a negative value for clockwise (CW) polygons. -func geopolyArea(tls *libc.TLS, p uintptr) float64 { /* sqlite3.c:200681:15: */ +func geopolyArea(tls *libc.TLS, p uintptr) float64 { /* sqlite3.c:200738:15: */ var rArea float64 = 0.0 var ii int32 for ii = 0; ii < (*GeoPoly)(unsafe.Pointer(p)).FnVertex-1; ii++ { @@ -160193,7 +160224,7 @@ func geopolyArea(tls *libc.TLS, p uintptr) float64 { /* sqlite3.c:200681:15: */ // enclosed by the polygon. If the polygon circulates clockwise instead // of counterclockwise (as it should) then return the negative of the // enclosed area. Otherwise return NULL. -func geopolyAreaFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:200703:13: */ +func geopolyAreaFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:200760:13: */ var p uintptr = geopolyFuncParam(tls, context, *(*uintptr)(unsafe.Pointer(argv)), uintptr(0)) if p != 0 { Xsqlite3_result_double(tls, context, geopolyArea(tls, p)) @@ -160212,7 +160243,7 @@ func geopolyAreaFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { // // Use this routine to sanitize historical inputs that that sometimes // contain polygons that wind in the wrong direction. -func geopolyCcwFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:200728:13: */ +func geopolyCcwFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:200785:13: */ var p uintptr = geopolyFuncParam(tls, context, *(*uintptr)(unsafe.Pointer(argv)), uintptr(0)) if p != 0 { if geopolyArea(tls, p) < 0.0 { @@ -160248,7 +160279,7 @@ func geopolyCcwFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { } // Fast approximation for sine(X) for X between -0.5*pi and 2*pi -func geopolySine(tls *libc.TLS, r float64) float64 { /* sqlite3.c:200756:15: */ +func geopolySine(tls *libc.TLS, r float64) float64 { /* sqlite3.c:200813:15: */ if r >= float64(1.5)*3.1415926535897932385 { r = r - float64(2.0)*3.1415926535897932385 @@ -160268,7 +160299,7 @@ func geopolySine(tls *libc.TLS, r float64) float64 { /* sqlite3.c:200756:15: */ // // Construct a simple, convex, regular polygon centered at X, Y // with circumradius R and with N sides. -func geopolyRegularFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:200777:13: */ +func geopolyRegularFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:200834:13: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -160313,7 +160344,7 @@ func geopolyRegularFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr // // If pPoly is NULL but aCoord is not NULL, then compute a new GeoPoly from // the bounding box in aCoord and return a pointer to that GeoPoly. -func geopolyBBox(tls *libc.TLS, context uintptr, pPoly uintptr, aCoord uintptr, pRc uintptr) uintptr { /* sqlite3.c:200820:16: */ +func geopolyBBox(tls *libc.TLS, context uintptr, pPoly uintptr, aCoord uintptr, pRc uintptr) uintptr { /* sqlite3.c:200877:16: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -160454,7 +160485,7 @@ __4: } // Implementation of the geopoly_bbox(X) SQL function. -func geopolyBBoxFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:200891:13: */ +func geopolyBBoxFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:200948:13: */ var p uintptr = geopolyBBox(tls, context, *(*uintptr)(unsafe.Pointer(argv)), uintptr(0), uintptr(0)) if p != 0 { Xsqlite3_result_blob(tls, context, p+4, @@ -160467,13 +160498,13 @@ func geopolyBBoxFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { type GeoBBox1 = struct { FisInit int32 Fa [4]RtreeCoord -} /* sqlite3.c:200907:9 */ +} /* sqlite3.c:200964:9 */ // State vector for the geopoly_group_bbox() aggregate function. -type GeoBBox = GeoBBox1 /* sqlite3.c:200907:24 */ +type GeoBBox = GeoBBox1 /* sqlite3.c:200964:24 */ // Implementation of the geopoly_group_bbox(X) aggregate SQL function. -func geopolyBBoxStep(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:200917:13: */ +func geopolyBBoxStep(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:200974:13: */ bp := tls.Alloc(20) defer tls.Free(20) @@ -160507,7 +160538,7 @@ func geopolyBBoxStep(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { } } -func geopolyBBoxFinal(tls *libc.TLS, context uintptr) { /* sqlite3.c:200940:13: */ +func geopolyBBoxFinal(tls *libc.TLS, context uintptr) { /* sqlite3.c:200997:13: */ var p uintptr var pBBox uintptr pBBox = Xsqlite3_aggregate_context(tls, context, 0) @@ -160534,7 +160565,7 @@ func geopolyBBoxFinal(tls *libc.TLS, context uintptr) { /* sqlite3.c:200940:13: // // The left-most coordinate min(x1,x2) is not considered to be part of // the line segment for the purposes of this analysis. -func pointBeneathLine(tls *libc.TLS, x0 float64, y0 float64, x1 float64, y1 float64, x2 float64, y2 float64) int32 { /* sqlite3.c:200970:12: */ +func pointBeneathLine(tls *libc.TLS, x0 float64, y0 float64, x1 float64, y1 float64, x2 float64, y2 float64) int32 { /* sqlite3.c:201027:12: */ var y float64 if x0 == x1 && y0 == y1 { return 2 @@ -160575,7 +160606,7 @@ func pointBeneathLine(tls *libc.TLS, x0 float64, y0 float64, x1 float64, y1 floa // Return +2 if point X,Y is within polygon P. // Return +1 if point X,Y is on the polygon boundary. // Return 0 if point X,Y is outside the polygon -func geopolyContainsPointFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:201001:13: */ +func geopolyContainsPointFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:201058:13: */ var p1 uintptr = geopolyFuncParam(tls, context, *(*uintptr)(unsafe.Pointer(argv)), uintptr(0)) var x0 float64 = Xsqlite3_value_double(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))) var y0 float64 = Xsqlite3_value_double(tls, *(*uintptr)(unsafe.Pointer(argv + 2*8))) @@ -160613,7 +160644,7 @@ func geopolyContainsPointFunc(tls *libc.TLS, context uintptr, argc int32, argv u // Return +1 if P2 is contained within P1 // Return 0 if any part of P2 is on the outside of P1 // -func geopolyWithinFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:201044:13: */ +func geopolyWithinFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:201101:13: */ var p1 uintptr = geopolyFuncParam(tls, context, *(*uintptr)(unsafe.Pointer(argv)), uintptr(0)) var p2 uintptr = geopolyFuncParam(tls, context, *(*uintptr)(unsafe.Pointer(argv + 1*8)), uintptr(0)) if p1 != 0 && p2 != 0 { @@ -160645,10 +160676,10 @@ type GeoEvent1 = struct { F__ccgo_pad1 [4]byte FpSeg uintptr FpNext uintptr -} /* sqlite3.c:201064:9 */ +} /* sqlite3.c:201121:9 */ // Objects used by the overlap algorihm. -type GeoEvent = GeoEvent1 /* sqlite3.c:201064:25 */ +type GeoEvent = GeoEvent1 /* sqlite3.c:201121:25 */ type GeoSegment1 = struct { FC float64 FB float64 @@ -160659,20 +160690,20 @@ type GeoSegment1 = struct { Fidx uint32 F__ccgo_pad2 [4]byte FpNext uintptr -} /* sqlite3.c:201064:9 */ +} /* sqlite3.c:201121:9 */ -type GeoSegment = GeoSegment1 /* sqlite3.c:201065:27 */ +type GeoSegment = GeoSegment1 /* sqlite3.c:201122:27 */ type GeoOverlap1 = struct { FaEvent uintptr FaSegment uintptr FnEvent int32 FnSegment int32 -} /* sqlite3.c:201066:9 */ +} /* sqlite3.c:201123:9 */ -type GeoOverlap = GeoOverlap1 /* sqlite3.c:201066:27 */ +type GeoOverlap = GeoOverlap1 /* sqlite3.c:201123:27 */ // Add a single segment and its associated events. -func geopolyAddOneSegment(tls *libc.TLS, p uintptr, x0 GeoCoord, y0 GeoCoord, x1 GeoCoord, y1 GeoCoord, side uint8, idx uint32) { /* sqlite3.c:201091:13: */ +func geopolyAddOneSegment(tls *libc.TLS, p uintptr, x0 GeoCoord, y0 GeoCoord, x1 GeoCoord, y1 GeoCoord, side uint8, idx uint32) { /* sqlite3.c:201148:13: */ var pSeg uintptr var pEvent uintptr if x0 == x1 { @@ -160706,7 +160737,7 @@ func geopolyAddOneSegment(tls *libc.TLS, p uintptr, x0 GeoCoord, y0 GeoCoord, x1 } // Insert all segments and events for polygon pPoly. -func geopolyAddSegments(tls *libc.TLS, p uintptr, pPoly uintptr, side uint8) { /* sqlite3.c:201135:13: */ +func geopolyAddSegments(tls *libc.TLS, p uintptr, pPoly uintptr, side uint8) { /* sqlite3.c:201192:13: */ var i uint32 var x uintptr for i = uint32(0); i < uint32((*GeoPoly)(unsafe.Pointer(pPoly)).FnVertex)-uint32(1); i++ { @@ -160718,7 +160749,7 @@ func geopolyAddSegments(tls *libc.TLS, p uintptr, pPoly uintptr, side uint8) { / } // Merge two lists of sorted events by X coordinate -func geopolyEventMerge(tls *libc.TLS, pLeft uintptr, pRight uintptr) uintptr { /* sqlite3.c:201153:17: */ +func geopolyEventMerge(tls *libc.TLS, pLeft uintptr, pRight uintptr) uintptr { /* sqlite3.c:201210:17: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -160748,7 +160779,7 @@ func geopolyEventMerge(tls *libc.TLS, pLeft uintptr, pRight uintptr) uintptr { / } // Sort an array of nEvent event objects into a list. -func geopolySortEventsByX(tls *libc.TLS, aEvent uintptr, nEvent int32) uintptr { /* sqlite3.c:201175:17: */ +func geopolySortEventsByX(tls *libc.TLS, aEvent uintptr, nEvent int32) uintptr { /* sqlite3.c:201232:17: */ bp := tls.Alloc(400) defer tls.Free(400) @@ -160778,7 +160809,7 @@ func geopolySortEventsByX(tls *libc.TLS, aEvent uintptr, nEvent int32) uintptr { } // Merge two lists of sorted segments by Y, and then by C. -func geopolySegmentMerge(tls *libc.TLS, pLeft uintptr, pRight uintptr) uintptr { /* sqlite3.c:201200:19: */ +func geopolySegmentMerge(tls *libc.TLS, pLeft uintptr, pRight uintptr) uintptr { /* sqlite3.c:201257:19: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -160813,7 +160844,7 @@ func geopolySegmentMerge(tls *libc.TLS, pLeft uintptr, pRight uintptr) uintptr { // Sort a list of GeoSegments in order of increasing Y and in the event of // a tie, increasing C (slope). -func geopolySortSegmentsByYAndC(tls *libc.TLS, pList uintptr) uintptr { /* sqlite3.c:201225:19: */ +func geopolySortSegmentsByYAndC(tls *libc.TLS, pList uintptr) uintptr { /* sqlite3.c:201282:19: */ bp := tls.Alloc(400) defer tls.Free(400) @@ -160843,7 +160874,7 @@ func geopolySortSegmentsByYAndC(tls *libc.TLS, pList uintptr) uintptr { /* sqlit } // Determine the overlap between two polygons -func geopolyOverlap(tls *libc.TLS, p1 uintptr, p2 uintptr) int32 { /* sqlite3.c:201251:12: */ +func geopolyOverlap(tls *libc.TLS, p1 uintptr, p2 uintptr) int32 { /* sqlite3.c:201308:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -161079,7 +161110,7 @@ geopolyOverlapDone: // 3 P2 is completely contained within P1 // 4 P1 and P2 are the same polygon // NULL Either P1 or P2 or both are not valid polygons -func geopolyOverlapFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:201374:13: */ +func geopolyOverlapFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:201431:13: */ var p1 uintptr = geopolyFuncParam(tls, context, *(*uintptr)(unsafe.Pointer(argv)), uintptr(0)) var p2 uintptr = geopolyFuncParam(tls, context, *(*uintptr)(unsafe.Pointer(argv + 1*8)), uintptr(0)) if p1 != 0 && p2 != 0 { @@ -161095,7 +161126,7 @@ func geopolyOverlapFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr } // Enable or disable debugging output -func geopolyDebugFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:201396:13: */ +func geopolyDebugFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:201453:13: */ } // This function is the implementation of both the xConnect and xCreate @@ -161105,7 +161136,7 @@ func geopolyDebugFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) // argv[1] -> database name // argv[2] -> table name // argv[...] -> column names... -func geopolyInit(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr, isCreate int32) int32 { /* sqlite3.c:201415:12: */ +func geopolyInit(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr, isCreate int32) int32 { /* sqlite3.c:201472:12: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -161220,12 +161251,12 @@ __11: } // GEOPOLY virtual table module xCreate method. -func geopolyCreate(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 { /* sqlite3.c:201499:12: */ +func geopolyCreate(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 { /* sqlite3.c:201556:12: */ return geopolyInit(tls, db, pAux, argc, argv, ppVtab, pzErr, 1) } // GEOPOLY virtual table module xConnect method. -func geopolyConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 { /* sqlite3.c:201512:12: */ +func geopolyConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 { /* sqlite3.c:201569:12: */ return geopolyInit(tls, db, pAux, argc, argv, ppVtab, pzErr, 0) } @@ -161239,7 +161270,7 @@ func geopolyConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv ui // 3 search for objects overlapping the same bounding box // that contains polygon argv[0] // 4 full table scan -func geopolyFilter(tls *libc.TLS, pVtabCursor uintptr, idxNum int32, idxStr uintptr, argc int32, argv uintptr) int32 { /* sqlite3.c:201535:12: */ +func geopolyFilter(tls *libc.TLS, pVtabCursor uintptr, idxNum int32, idxStr uintptr, argc int32, argv uintptr) int32 { /* sqlite3.c:201592:12: */ bp := tls.Alloc(52) defer tls.Free(52) @@ -161406,7 +161437,7 @@ geopoly_filter_end: // 3 "rtree" R-tree within query using geopoly_within() // 4 "fullscan" full-table scan. // ------------------------------------------------ -func geopolyBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 { /* sqlite3.c:201667:12: */ +func geopolyBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 { /* sqlite3.c:201724:12: */ var ii int32 var iRowidTerm int32 = -1 var iFuncTerm int32 = -1 @@ -161457,7 +161488,7 @@ func geopolyBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 { /* s } // GEOPOLY virtual table module xColumn method. -func geopolyColumn(tls *libc.TLS, cur uintptr, ctx uintptr, i int32) int32 { /* sqlite3.c:201719:12: */ +func geopolyColumn(tls *libc.TLS, cur uintptr, ctx uintptr, i int32) int32 { /* sqlite3.c:201776:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -161522,7 +161553,7 @@ func geopolyColumn(tls *libc.TLS, cur uintptr, ctx uintptr, i int32) int32 { /* // argv[1] = rowid after the change. Never NULL // argv[2] = new value for _shape // argv[3] = new value for first application-defined column.... -func geopolyUpdate(tls *libc.TLS, pVtab uintptr, nData int32, aData uintptr, pRowid uintptr) int32 { /* sqlite3.c:201774:12: */ +func geopolyUpdate(tls *libc.TLS, pVtab uintptr, nData int32, aData uintptr, pRowid uintptr) int32 { /* sqlite3.c:201831:12: */ bp := tls.Alloc(64) defer tls.Free(64) @@ -161733,7 +161764,7 @@ 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) int32 { /* sqlite3.c:201911:12: */ +func geopolyFindFunction(tls *libc.TLS, pVtab uintptr, nArg int32, zName uintptr, pxFunc uintptr, ppArg uintptr) int32 { /* sqlite3.c:201968:12: */ if Xsqlite3_stricmp(tls, zName, ts+27437) == 0 { *(*uintptr)(unsafe.Pointer(pxFunc)) = *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) @@ -161774,9 +161805,9 @@ var geopolyModule = Sqlite3_module{ FxRename: 0, // xRename - rename the table FxSavepoint: 0, // xRollbackTo FxShadowName: 0, // xShadowName -} /* sqlite3.c:201932:23 */ +} /* sqlite3.c:201989:23 */ -func sqlite3_geopoly_init(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:201959:12: */ +func sqlite3_geopoly_init(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:202016:12: */ var rc int32 = SQLITE_OK var i int32 for i = 0; uint64(i) < uint64(unsafe.Sizeof(aFunc))/uint64(unsafe.Sizeof(struct { @@ -161830,14 +161861,14 @@ var aFunc = [12]struct { {FxFunc: 0, FnArg: int8(7), FbPure: uint8(1), FzName: ts + 27577 /* "geopoly_xform" */}, {FxFunc: 0, FnArg: int8(4), FbPure: uint8(1), FzName: ts + 27591 /* "geopoly_regular" */}, {FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 27607 /* "geopoly_ccw" */}, -} /* sqlite3.c:201966:5 */ +} /* sqlite3.c:202023:5 */ var aAgg = [1]struct { FxStep uintptr FxFinal uintptr FzName uintptr }{ {FxStep: 0, FxFinal: 0, FzName: ts + 27619 /* "geopoly_group_bb..." */}, -} /* sqlite3.c:201984:5 */ +} /* sqlite3.c:202041:5 */ //************* End of geopoly.c ******************************************** //************* Continuing where we left off in rtree.c ********************* @@ -161845,7 +161876,7 @@ var aAgg = [1]struct { // Register the r-tree module with database handle db. This creates the // virtual table module "rtree" and the debugging/analysis scalar // function "rtreenode". -func Xsqlite3RtreeInit(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:202019:20: */ +func Xsqlite3RtreeInit(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:202076:20: */ var utf8 int32 = SQLITE_UTF8 var rc int32 @@ -161882,7 +161913,7 @@ func Xsqlite3RtreeInit(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:202019:20 // or sqlite3_rtree_query_callback(). In other words, this routine is the // destructor for an RtreeGeomCallback objecct. This routine is called when // the corresponding SQL function is deleted. -func rtreeFreeCallback(tls *libc.TLS, p uintptr) { /* sqlite3.c:202058:13: */ +func rtreeFreeCallback(tls *libc.TLS, p uintptr) { /* sqlite3.c:202115:13: */ var pInfo uintptr = p if (*RtreeGeomCallback)(unsafe.Pointer(pInfo)).FxDestructor != 0 { (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*RtreeGeomCallback)(unsafe.Pointer(pInfo)).FxDestructor})).f(tls, (*RtreeGeomCallback)(unsafe.Pointer(pInfo)).FpContext) @@ -161891,7 +161922,7 @@ func rtreeFreeCallback(tls *libc.TLS, p uintptr) { /* sqlite3.c:202058:13: */ } // This routine frees the BLOB that is returned by geomCallback(). -func rtreeMatchArgFree(tls *libc.TLS, pArg uintptr) { /* sqlite3.c:202067:13: */ +func rtreeMatchArgFree(tls *libc.TLS, pArg uintptr) { /* sqlite3.c:202124:13: */ var i int32 var p uintptr = pArg for i = 0; i < (*RtreeMatchArg)(unsafe.Pointer(p)).FnParam; i++ { @@ -161912,7 +161943,7 @@ func rtreeMatchArgFree(tls *libc.TLS, pArg uintptr) { /* sqlite3.c:202067:13: */ // The R-Tree MATCH operator will read the returned BLOB, deserialize // the RtreeMatchArg object, and use the RtreeMatchArg object to figure // out which elements of the R-Tree should be returned by the query. -func geomCallback(tls *libc.TLS, ctx uintptr, nArg int32, aArg uintptr) { /* sqlite3.c:202090:13: */ +func geomCallback(tls *libc.TLS, ctx uintptr, nArg int32, aArg uintptr) { /* sqlite3.c:202147:13: */ var pGeomCtx uintptr = Xsqlite3_user_data(tls, ctx) var pBlob uintptr var nBlob Sqlite3_int64 @@ -161946,7 +161977,7 @@ func geomCallback(tls *libc.TLS, ctx uintptr, nArg int32, aArg uintptr) { /* sql } // 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) int32 { /* sqlite3.c:202128:16: */ +func Xsqlite3_rtree_geometry_callback(tls *libc.TLS, db uintptr, zGeom uintptr, xGeom uintptr, pContext uintptr) int32 { /* sqlite3.c:202185:16: */ var pGeomCtx uintptr // Context object for new user-function // Allocate and populate the context object. @@ -161966,7 +161997,7 @@ func Xsqlite3_rtree_geometry_callback(tls *libc.TLS, db uintptr, zGeom uintptr, // 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) int32 { /* sqlite3.c:202152:16: */ +func Xsqlite3_rtree_query_callback(tls *libc.TLS, db uintptr, zQueryFunc uintptr, xQueryFunc uintptr, pContext uintptr, xDestructor uintptr) int32 { /* sqlite3.c:202209:16: */ var pGeomCtx uintptr // Context object for new user-function // Allocate and populate the context object. @@ -162422,7 +162453,7 @@ type sqlite3rbu = struct { FnRbu int32 F__ccgo_pad6 [4]byte FpRbuFd uintptr -} /* sqlite3.c:203382:9 */ +} /* sqlite3.c:203439:9 */ //************* End of rtree.c ********************************************** //************* Begin file icu.c ******************************************** @@ -162823,7 +162854,7 @@ type sqlite3rbu = struct { // #include "sqlite3.h" ** Required for error code definitions ** -type Sqlite3rbu = sqlite3rbu /* sqlite3.c:203382:27 */ +type Sqlite3rbu = sqlite3rbu /* sqlite3.c:203439:27 */ //************* End of sqlite3rbu.h ***************************************** //************* Continuing where we left off in sqlite3rbu.c **************** @@ -162888,7 +162919,7 @@ type Sqlite3rbu = sqlite3rbu /* sqlite3.c:203382:27 */ type RbuFrame1 = struct { FiDbPage U32 FiWalFrame U32 -} /* sqlite3.c:203382:9 */ +} /* sqlite3.c:203439:9 */ //************* End of sqlite3rbu.h ***************************************** //************* Continuing where we left off in sqlite3rbu.c **************** @@ -162950,7 +162981,7 @@ type RbuFrame1 = struct { // Only valid if STAGE==1. The RBU database name of the table // currently being read. -type RbuFrame = RbuFrame1 /* sqlite3.c:203813:25 */ +type RbuFrame = RbuFrame1 /* sqlite3.c:203870:25 */ type RbuObjIter1 = struct { FpTblIter uintptr FpIdxIter uintptr @@ -162982,9 +163013,9 @@ type RbuObjIter1 = struct { FaIdxCol uintptr FzIdxSql uintptr FpRbuUpdate uintptr -} /* sqlite3.c:203382:9 */ +} /* sqlite3.c:203439:9 */ -type RbuObjIter = RbuObjIter1 /* sqlite3.c:203814:27 */ +type RbuObjIter = RbuObjIter1 /* sqlite3.c:203871:27 */ type RbuState1 = struct { FeStage int32 F__ccgo_pad1 [4]byte @@ -162999,16 +163030,16 @@ type RbuState1 = struct { F__ccgo_pad3 [4]byte FiOalSz I64 FnPhaseOneStep I64 -} /* sqlite3.c:203815:9 */ +} /* sqlite3.c:203872:9 */ -type RbuState = RbuState1 /* sqlite3.c:203815:25 */ +type RbuState = RbuState1 /* sqlite3.c:203872:25 */ type RbuSpan1 = struct { FzSpan uintptr FnSpan int32 F__ccgo_pad1 [4]byte -} /* sqlite3.c:203382:9 */ +} /* sqlite3.c:203439:9 */ -type RbuSpan = RbuSpan1 /* sqlite3.c:203816:24 */ +type RbuSpan = RbuSpan1 /* sqlite3.c:203873:24 */ type rbu_vfs = struct { Fbase Sqlite3_vfs FpRealVfs uintptr @@ -163016,9 +163047,9 @@ type rbu_vfs = struct { FpRbu uintptr FpMain uintptr FpMainRbu uintptr -} /* sqlite3.c:203382:9 */ +} /* sqlite3.c:203439:9 */ -type Rbu_vfs = rbu_vfs /* sqlite3.c:203817:24 */ +type Rbu_vfs = rbu_vfs /* sqlite3.c:203874:24 */ type rbu_file = struct { Fbase Sqlite3_file FpReal uintptr @@ -163037,16 +163068,16 @@ type rbu_file = struct { FpWalFd uintptr FpMainNext uintptr FpMainRbuNext uintptr -} /* sqlite3.c:203382:9 */ +} /* sqlite3.c:203439:9 */ -type Rbu_file = rbu_file /* sqlite3.c:203818:25 */ +type Rbu_file = rbu_file /* sqlite3.c:203875:25 */ type RbuUpdateStmt1 = struct { FzMask uintptr FpUpdate uintptr FpNext uintptr -} /* sqlite3.c:203382:9 */ +} /* sqlite3.c:203439:9 */ -type RbuUpdateStmt = RbuUpdateStmt1 /* sqlite3.c:203819:30 */ +type RbuUpdateStmt = RbuUpdateStmt1 /* sqlite3.c:203876:30 */ // True for an RBU vacuum handle, or false otherwise. @@ -163065,7 +163096,7 @@ type RbuUpdateStmt = RbuUpdateStmt1 /* sqlite3.c:203819:30 */ // finished, leave *pz pointing to the first character past the end of // the integer. The *pLen parameter holds the length of the string // in *pz and is decremented once for each character in the integer. -func rbuDeltaGetInt(tls *libc.TLS, pz uintptr, pLen uintptr) uint32 { /* sqlite3.c:204109:21: */ +func rbuDeltaGetInt(tls *libc.TLS, pz uintptr, pLen uintptr) uint32 { /* sqlite3.c:204166:21: */ var v uint32 = uint32(0) var c int32 var z uintptr = *(*uintptr)(unsafe.Pointer(pz)) @@ -163088,7 +163119,7 @@ var zValue = [128]int8{ int8(25), int8(26), int8(27), int8(28), int8(29), int8(30), int8(31), int8(32), int8(33), int8(34), int8(35), int8(-1), int8(-1), int8(-1), int8(-1), int8(36), int8(-1), int8(37), int8(38), int8(39), int8(40), int8(41), int8(42), int8(43), int8(44), int8(45), int8(46), int8(47), int8(48), int8(49), int8(50), int8(51), int8(52), int8(53), int8(54), int8(55), int8(56), int8(57), int8(58), int8(59), int8(60), int8(61), int8(62), int8(-1), int8(-1), int8(-1), int8(63), int8(-1), -} /* sqlite3.c:204110:28 */ +} /* sqlite3.c:204167:28 */ // Apply a delta. // @@ -163108,7 +163139,7 @@ var zValue = [128]int8{ // // Refer to the delta_create() documentation above for a description // of the delta file format. -func rbuDeltaApply(tls *libc.TLS, zSrc uintptr, lenSrc int32, zDelta uintptr, lenDelta int32, zOut uintptr) int32 { /* sqlite3.c:204190:12: */ +func rbuDeltaApply(tls *libc.TLS, zSrc uintptr, lenSrc int32, zDelta uintptr, lenDelta int32, zOut uintptr) int32 { /* sqlite3.c:204247:12: */ bp := tls.Alloc(12) defer tls.Free(12) *(*uintptr)(unsafe.Pointer(bp)) = zDelta @@ -163198,7 +163229,7 @@ func rbuDeltaApply(tls *libc.TLS, zSrc uintptr, lenSrc int32, zDelta uintptr, le return -1 } -func rbuDeltaOutputSize(tls *libc.TLS, zDelta uintptr, lenDelta int32) int32 { /* sqlite3.c:204276:12: */ +func rbuDeltaOutputSize(tls *libc.TLS, zDelta uintptr, lenDelta int32) int32 { /* sqlite3.c:204333:12: */ bp := tls.Alloc(12) defer tls.Free(12) *(*uintptr)(unsafe.Pointer(bp)) = zDelta @@ -163223,7 +163254,7 @@ func rbuDeltaOutputSize(tls *libc.TLS, zDelta uintptr, lenDelta int32) int32 { / // arguments must be passed to this function. The first is the blob to // patch and the second the patch to apply. If no error occurs, this // function returns the patched blob. -func rbuFossilDeltaFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:204298:13: */ +func rbuFossilDeltaFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:204355:13: */ var aDelta uintptr var nDelta int32 var aOrig uintptr @@ -163266,7 +163297,7 @@ func rbuFossilDeltaFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr // an SQLite error code. Additionally, set output variable *pzErrmsg to // point to a buffer containing an error message. It is the responsibility // of the caller to (eventually) free this buffer using sqlite3_free(). -func prepareAndCollectError(tls *libc.TLS, db uintptr, ppStmt uintptr, pzErrmsg uintptr, zSql uintptr) int32 { /* sqlite3.c:204351:12: */ +func prepareAndCollectError(tls *libc.TLS, db uintptr, ppStmt uintptr, pzErrmsg uintptr, zSql uintptr) int32 { /* sqlite3.c:204408:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -163284,7 +163315,7 @@ func prepareAndCollectError(tls *libc.TLS, db uintptr, ppStmt uintptr, pzErrmsg // If an error has occurred, then set *pzErrmsg to point to a buffer // containing an error message. It is the responsibility of the caller // to eventually free this buffer using sqlite3_free(). -func resetAndCollectError(tls *libc.TLS, pStmt uintptr, pzErrmsg uintptr) int32 { /* sqlite3.c:204373:12: */ +func resetAndCollectError(tls *libc.TLS, pStmt uintptr, pzErrmsg uintptr) int32 { /* sqlite3.c:204430:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -163308,7 +163339,7 @@ func resetAndCollectError(tls *libc.TLS, pStmt uintptr, pzErrmsg uintptr) int32 // // If argument zSql is NULL, this function assumes that an OOM has occurred. // In this case SQLITE_NOMEM is returned and *ppStmt set to NULL. -func prepareFreeAndCollectError(tls *libc.TLS, db uintptr, ppStmt uintptr, pzErrmsg uintptr, zSql uintptr) int32 { /* sqlite3.c:204396:12: */ +func prepareFreeAndCollectError(tls *libc.TLS, db uintptr, ppStmt uintptr, pzErrmsg uintptr, zSql uintptr) int32 { /* sqlite3.c:204453:12: */ var rc int32 if zSql == uintptr(0) { @@ -163323,7 +163354,7 @@ func prepareFreeAndCollectError(tls *libc.TLS, db uintptr, ppStmt uintptr, pzErr // Free the RbuObjIter.azTblCol[] and RbuObjIter.abTblPk[] arrays allocated // by an earlier call to rbuObjIterCacheTableInfo(). -func rbuObjIterFreeCols(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:204418:13: */ +func rbuObjIterFreeCols(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:204475:13: */ var i int32 for i = 0; i < (*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol; i++ { Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8))) @@ -163341,7 +163372,7 @@ func rbuObjIterFreeCols(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:204418:13: // Finalize all statements and free all allocations that are specific to // the current object (table/index pair). -func rbuObjIterClearStatements(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:204438:13: */ +func rbuObjIterClearStatements(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:204495:13: */ var pUp uintptr Xsqlite3_finalize(tls, (*RbuObjIter)(unsafe.Pointer(pIter)).FpSelect) @@ -163371,7 +163402,7 @@ func rbuObjIterClearStatements(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:2044 // Clean up any resources allocated as part of the iterator object passed // as the only argument. -func rbuObjIterFinalize(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:204470:13: */ +func rbuObjIterFinalize(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:204527:13: */ rbuObjIterClearStatements(tls, pIter) Xsqlite3_finalize(tls, (*RbuObjIter)(unsafe.Pointer(pIter)).FpTblIter) Xsqlite3_finalize(tls, (*RbuObjIter)(unsafe.Pointer(pIter)).FpIdxIter) @@ -163385,7 +163416,7 @@ func rbuObjIterFinalize(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:204470:13: // pointing to the next entry. Otherwise, an error code and message is // left in the RBU handle passed as the first argument. A copy of the // error code is returned. -func rbuObjIterNext(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlite3.c:204486:12: */ +func rbuObjIterNext(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlite3.c:204543:12: */ var rc int32 = (*Sqlite3rbu)(unsafe.Pointer(p)).Frc if rc == SQLITE_OK { @@ -163466,7 +163497,7 @@ func rbuObjIterNext(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlite3. // // For an rbu vacuum handle, a copy of the first argument is returned if // the second argument is either missing or 0 (not a view). -func rbuTargetNameFunc(tls *libc.TLS, pCtx uintptr, argc int32, argv uintptr) { /* sqlite3.c:204566:13: */ +func rbuTargetNameFunc(tls *libc.TLS, pCtx uintptr, argc int32, argv uintptr) { /* sqlite3.c:204623:13: */ var p uintptr = Xsqlite3_user_data(tls, pCtx) var zIn uintptr @@ -163496,7 +163527,7 @@ func rbuTargetNameFunc(tls *libc.TLS, pCtx uintptr, argc int32, argv uintptr) { // pointing to the first entry. Otherwise, an error code and message is // left in the RBU handle passed as the first argument. A copy of the // error code is returned. -func rbuObjIterFirst(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlite3.c:204602:12: */ +func rbuObjIterFirst(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlite3.c:204659:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -163531,7 +163562,7 @@ func rbuObjIterFirst(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlite3 // than SQLITE_OK), then this function returns NULL without modifying the // stored error code. In this case it still calls sqlite3_free() on any // printf() parameters associated with %z conversions. -func rbuMPrintf(tls *libc.TLS, p uintptr, zFmt uintptr, va uintptr) uintptr { /* sqlite3.c:204637:13: */ +func rbuMPrintf(tls *libc.TLS, p uintptr, zFmt uintptr, va uintptr) uintptr { /* sqlite3.c:204694:13: */ var zSql uintptr = uintptr(0) var ap Va_list _ = ap @@ -163557,7 +163588,7 @@ func rbuMPrintf(tls *libc.TLS, p uintptr, zFmt uintptr, va uintptr) uintptr { /* // If an error occurs, an error code and error message is stored in the // RBU handle. If an error has already occurred when this function is // called, it is a no-op. -func rbuMPrintfExec(tls *libc.TLS, p uintptr, db uintptr, zFmt uintptr, va uintptr) int32 { /* sqlite3.c:204662:12: */ +func rbuMPrintfExec(tls *libc.TLS, p uintptr, db uintptr, zFmt uintptr, va uintptr) int32 { /* sqlite3.c:204719:12: */ var ap Va_list _ = ap var zSql uintptr @@ -163583,7 +163614,7 @@ func rbuMPrintfExec(tls *libc.TLS, p uintptr, db uintptr, zFmt uintptr, va uintp // error has already occurred when this function is called, return NULL // immediately without attempting the allocation or modifying the stored // error code. -func rbuMalloc(tls *libc.TLS, p uintptr, nByte Sqlite3_int64) uintptr { /* sqlite3.c:204689:13: */ +func rbuMalloc(tls *libc.TLS, p uintptr, nByte Sqlite3_int64) uintptr { /* sqlite3.c:204746:13: */ var pRet uintptr = uintptr(0) if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { @@ -163600,7 +163631,7 @@ func rbuMalloc(tls *libc.TLS, p uintptr, nByte Sqlite3_int64) uintptr { /* sqlit // Allocate and zero the pIter->azTblCol[] and abTblPk[] arrays so that // there is room for at least nCol elements. If an OOM occurs, store an // error code in the RBU handle passed as the first argument. -func rbuAllocateIterArrays(tls *libc.TLS, p uintptr, pIter uintptr, nCol int32) { /* sqlite3.c:204709:13: */ +func rbuAllocateIterArrays(tls *libc.TLS, p uintptr, pIter uintptr, nCol int32) { /* sqlite3.c:204766:13: */ var nByte Sqlite3_int64 = Sqlite3_int64((uint64(2)*uint64(unsafe.Sizeof(uintptr(0))) + uint64(unsafe.Sizeof(int32(0))) + uint64(3)*uint64(unsafe.Sizeof(U8(0)))) * uint64(nCol)) var azNew uintptr @@ -163623,7 +163654,7 @@ func rbuAllocateIterArrays(tls *libc.TLS, p uintptr, pIter uintptr, nCol int32) // If an OOM condition is encountered when attempting to allocate memory, // output variable (*pRc) is set to SQLITE_NOMEM before returning. Otherwise, // if the allocation succeeds, (*pRc) is left unchanged. -func rbuStrndup(tls *libc.TLS, zStr uintptr, pRc uintptr) uintptr { /* sqlite3.c:204734:13: */ +func rbuStrndup(tls *libc.TLS, zStr uintptr, pRc uintptr) uintptr { /* sqlite3.c:204791:13: */ var zRet uintptr = uintptr(0) if *(*int32)(unsafe.Pointer(pRc)) == SQLITE_OK { @@ -163646,7 +163677,7 @@ func rbuStrndup(tls *libc.TLS, zStr uintptr, pRc uintptr) uintptr { /* sqlite3.c // If the sqlite3_finalize() call indicates that an error occurs, and the // rbu handle error code is not already set, set the error code and error // message accordingly. -func rbuFinalize(tls *libc.TLS, p uintptr, pStmt uintptr) { /* sqlite3.c:204759:13: */ +func rbuFinalize(tls *libc.TLS, p uintptr, pStmt uintptr) { /* sqlite3.c:204816:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -163696,7 +163727,7 @@ func rbuFinalize(tls *libc.TLS, p uintptr, pStmt uintptr) { /* sqlite3.c:204759: // }else{ // return RBU_PK_NONE // } -func rbuTableType(tls *libc.TLS, p uintptr, zTab uintptr, peType uintptr, piTnum uintptr, piPk uintptr) { /* sqlite3.c:204807:13: */ +func rbuTableType(tls *libc.TLS, p uintptr, zTab uintptr, peType uintptr, piTnum uintptr, piPk uintptr) { /* sqlite3.c:204864:13: */ bp := tls.Alloc(64) defer tls.Free(64) @@ -163817,7 +163848,7 @@ __16: // This is a helper function for rbuObjIterCacheTableInfo(). It populates // the pIter->abIndexed[] array. -func rbuObjIterCacheIndexedCols(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:204893:13: */ +func rbuObjIterCacheIndexedCols(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:204950:13: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -163875,7 +163906,7 @@ func rbuObjIterCacheIndexedCols(tls *libc.TLS, p uintptr, pIter uintptr) { /* sq // Return SQLITE_OK if successful, or an SQLite error code otherwise. If // an error does occur, an error code and error message are also left in // the RBU handle. -func rbuObjIterCacheTableInfo(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlite3.c:204947:12: */ +func rbuObjIterCacheTableInfo(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlite3.c:205004:12: */ bp := tls.Alloc(72) defer tls.Free(72) @@ -163997,7 +164028,7 @@ func rbuObjIterCacheTableInfo(tls *libc.TLS, p uintptr, pIter uintptr) int32 { / // This function constructs and returns a pointer to a nul-terminated // string containing some SQL clause or list based on one or more of the // column names currently stored in the pIter->azTblCol[] array. -func rbuObjIterGetCollist(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { /* sqlite3.c:205057:13: */ +func rbuObjIterGetCollist(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { /* sqlite3.c:205114:13: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -164016,7 +164047,7 @@ func rbuObjIterGetCollist(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { /* // in order, for the current table. Before each column name, add the text // zPre. After each column name, add the zPost text. Use zSeparator as // the separator text (usually ", "). -func rbuObjIterGetPkList(tls *libc.TLS, p uintptr, pIter uintptr, zPre uintptr, zSeparator uintptr, zPost uintptr) uintptr { /* sqlite3.c:205078:13: */ +func rbuObjIterGetPkList(tls *libc.TLS, p uintptr, pIter uintptr, zPre uintptr, zSeparator uintptr, zPost uintptr) uintptr { /* sqlite3.c:205135:13: */ bp := tls.Alloc(40) defer tls.Free(40) @@ -164058,7 +164089,7 @@ func rbuObjIterGetPkList(tls *libc.TLS, p uintptr, pIter uintptr, zPre uintptr, // // Instead of "?" placeholders, the actual WHERE clauses created by // this function contain literal SQL values. -func rbuVacuumTableStart(tls *libc.TLS, p uintptr, pIter uintptr, bRowid int32, zWrite uintptr) uintptr { /* sqlite3.c:205123:13: */ +func rbuVacuumTableStart(tls *libc.TLS, p uintptr, pIter uintptr, bRowid int32, zWrite uintptr) uintptr { /* sqlite3.c:205180:13: */ bp := tls.Alloc(80) defer tls.Free(80) @@ -164117,7 +164148,7 @@ func rbuVacuumTableStart(tls *libc.TLS, p uintptr, pIter uintptr, bRowid int32, // If the expression cannot be created, NULL is returned. In this case, // the caller has to use an OFFSET clause to extract only the required // rows from the sourct table, just as it does for an RBU update operation. -func rbuVacuumIndexStart(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { /* sqlite3.c:205190:13: */ +func rbuVacuumIndexStart(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { /* sqlite3.c:205247:13: */ bp := tls.Alloc(192) defer tls.Free(192) @@ -164298,7 +164329,7 @@ index_start_out: // pzImposterCols: ... // pzImposterPk: ... // pzWhere: ... -func rbuObjIterGetIndexCols(tls *libc.TLS, p uintptr, pIter uintptr, pzImposterCols uintptr, pzImposterPk uintptr, pzWhere uintptr, pnBind uintptr) uintptr { /* sqlite3.c:205305:13: */ +func rbuObjIterGetIndexCols(tls *libc.TLS, p uintptr, pIter uintptr, pzImposterCols uintptr, pzImposterPk uintptr, pzWhere uintptr, pnBind uintptr) uintptr { /* sqlite3.c:205362:13: */ bp := tls.Alloc(208) defer tls.Free(208) @@ -164409,7 +164440,7 @@ func rbuObjIterGetIndexCols(tls *libc.TLS, p uintptr, pIter uintptr, pzImposterC // // For tables with implicit rowids - RBU_PK_EXTERNAL and RBU_PK_NONE, append // the text ", old._rowid_" to the returned value. -func rbuObjIterGetOldlist(tls *libc.TLS, p uintptr, pIter uintptr, zObj uintptr) uintptr { /* sqlite3.c:205417:13: */ +func rbuObjIterGetOldlist(tls *libc.TLS, p uintptr, pIter uintptr, zObj uintptr) uintptr { /* sqlite3.c:205474:13: */ bp := tls.Alloc(64) defer tls.Free(64) @@ -164447,7 +164478,7 @@ func rbuObjIterGetOldlist(tls *libc.TLS, p uintptr, pIter uintptr, zObj uintptr) // Return the string: // // "b = ?1 AND c = ?2" -func rbuObjIterGetWhere(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { /* sqlite3.c:205458:13: */ +func rbuObjIterGetWhere(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { /* sqlite3.c:205515:13: */ bp := tls.Alloc(80) defer tls.Free(80) @@ -164485,7 +164516,7 @@ func rbuObjIterGetWhere(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { /* sq // is something wrong with the rbu_control value in the rbu_control value // stored in the (p->nCol+1)'th column. Set the error code and error message // of the RBU handle to something reflecting this. -func rbuBadControlError(tls *libc.TLS, p uintptr) { /* sqlite3.c:205499:13: */ +func rbuBadControlError(tls *libc.TLS, p uintptr) { /* sqlite3.c:205556:13: */ (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_ERROR (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+29155, 0) } @@ -164505,7 +164536,7 @@ func rbuBadControlError(tls *libc.TLS, p uintptr) { /* sqlite3.c:205499:13: */ // argument and NULL is returned. Or, if an error has already occurred // when this function is called, NULL is returned immediately, without // attempting the allocation or modifying the stored error code. -func rbuObjIterGetSetlist(tls *libc.TLS, p uintptr, pIter uintptr, zMask uintptr) uintptr { /* sqlite3.c:205522:13: */ +func rbuObjIterGetSetlist(tls *libc.TLS, p uintptr, pIter uintptr, zMask uintptr) uintptr { /* sqlite3.c:205579:13: */ bp := tls.Alloc(112) defer tls.Free(112) @@ -164551,7 +164582,7 @@ func rbuObjIterGetSetlist(tls *libc.TLS, p uintptr, pIter uintptr, zMask uintptr // argument and NULL is returned. Or, if an error has already occurred // when this function is called, NULL is returned immediately, without // attempting the allocation or modifying the stored error code. -func rbuObjIterGetBindlist(tls *libc.TLS, p uintptr, nBind int32) uintptr { /* sqlite3.c:205576:13: */ +func rbuObjIterGetBindlist(tls *libc.TLS, p uintptr, nBind int32) uintptr { /* sqlite3.c:205633:13: */ var zRet uintptr = uintptr(0) var nByte Sqlite3_int64 = int64(2)*Sqlite3_int64(nBind) + int64(1) @@ -164581,7 +164612,7 @@ func rbuObjIterGetBindlist(tls *libc.TLS, p uintptr, nBind int32) uintptr { /* s // this function returns: // // PRIMARY KEY("b", "a" DESC) -func rbuWithoutRowidPK(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { /* sqlite3.c:205603:13: */ +func rbuWithoutRowidPK(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { /* sqlite3.c:205660:13: */ bp := tls.Alloc(72) defer tls.Free(72) @@ -164644,7 +164675,7 @@ func rbuWithoutRowidPK(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { /* sql // // CREATE TABLE rbu_imposter2(c1 TEXT, c2 REAL, id INTEGER) WITHOUT ROWID; // -func rbuCreateImposterTable2(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:205662:13: */ +func rbuCreateImposterTable2(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:205719:13: */ bp := tls.Alloc(184) defer tls.Free(184) @@ -164720,7 +164751,7 @@ func rbuCreateImposterTable2(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlit // More precisely, the "same schema" means the same columns, types, // collation sequences. For tables that do not have an external PRIMARY // KEY, it also means the same PRIMARY KEY declaration. -func rbuCreateImposterTable(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:205736:13: */ +func rbuCreateImposterTable(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:205793:13: */ bp := tls.Alloc(200) defer tls.Free(200) @@ -164784,7 +164815,7 @@ func rbuCreateImposterTable(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite // the target table, plus one (for the rbu_control column), plus one more // (for the rbu_rowid column) if the target table is an implicit IPK or // virtual table. -func rbuObjIterPrepareTmpInsert(tls *libc.TLS, p uintptr, pIter uintptr, zCollist uintptr, zRbuRowid uintptr) { /* sqlite3.c:205792:13: */ +func rbuObjIterPrepareTmpInsert(tls *libc.TLS, p uintptr, pIter uintptr, zCollist uintptr, zRbuRowid uintptr) { /* sqlite3.c:205849:13: */ bp := tls.Alloc(40) defer tls.Free(40) @@ -164799,7 +164830,7 @@ func rbuObjIterPrepareTmpInsert(tls *libc.TLS, p uintptr, pIter uintptr, zCollis } } -func rbuTmpInsertFunc(tls *libc.TLS, pCtx uintptr, nVal int32, apVal uintptr) { /* sqlite3.c:205810:13: */ +func rbuTmpInsertFunc(tls *libc.TLS, pCtx uintptr, nVal int32, apVal uintptr) { /* sqlite3.c:205867:13: */ var p uintptr = Xsqlite3_user_data(tls, pCtx) var rc int32 = SQLITE_OK var i int32 @@ -164821,7 +164852,7 @@ func rbuTmpInsertFunc(tls *libc.TLS, pCtx uintptr, nVal int32, apVal uintptr) { } } -func rbuObjIterGetIndexWhere(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { /* sqlite3.c:205840:13: */ +func rbuObjIterGetIndexWhere(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { /* sqlite3.c:205897:13: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -164929,7 +164960,7 @@ func rbuObjIterGetIndexWhere(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { // Ensure that the SQLite statement handles required to update the // target database object currently indicated by the iterator passed // as the second argument are available. -func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32) int32 { /* sqlite3.c:205940:12: */ +func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32) int32 { /* sqlite3.c:205997:12: */ bp := tls.Alloc(628) defer tls.Free(628) @@ -165204,7 +165235,7 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32 // // If the zMask string does not specify any columns to update, then this // is not an error. Output variable *ppStmt is set to NULL in this case. -func rbuGetUpdateStmt(tls *libc.TLS, p uintptr, pIter uintptr, zMask uintptr, ppStmt uintptr) int32 { /* sqlite3.c:206207:12: */ +func rbuGetUpdateStmt(tls *libc.TLS, p uintptr, pIter uintptr, zMask uintptr, ppStmt uintptr) int32 { /* sqlite3.c:206264:12: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -165270,7 +165301,7 @@ func rbuGetUpdateStmt(tls *libc.TLS, p uintptr, pIter uintptr, zMask uintptr, pp return (*Sqlite3rbu)(unsafe.Pointer(p)).Frc } -func rbuOpenDbhandle(tls *libc.TLS, p uintptr, zName uintptr, bUseVfs int32) uintptr { /* sqlite3.c:206275:16: */ +func rbuOpenDbhandle(tls *libc.TLS, p uintptr, zName uintptr, bUseVfs int32) uintptr { /* sqlite3.c:206332:16: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -165293,7 +165324,7 @@ func rbuOpenDbhandle(tls *libc.TLS, p uintptr, zName uintptr, bUseVfs int32) uin } // Free an RbuState object allocated by rbuLoadState(). -func rbuFreeState(tls *libc.TLS, p uintptr) { /* sqlite3.c:206296:13: */ +func rbuFreeState(tls *libc.TLS, p uintptr) { /* sqlite3.c:206353:13: */ if p != 0 { Xsqlite3_free(tls, (*RbuState)(unsafe.Pointer(p)).FzTbl) Xsqlite3_free(tls, (*RbuState)(unsafe.Pointer(p)).FzDataTbl) @@ -165309,7 +165340,7 @@ func rbuFreeState(tls *libc.TLS, p uintptr) { /* sqlite3.c:206296:13: */ // // If an error occurs, leave an error code and message in the rbu handle // and return NULL. -func rbuLoadState(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:206314:17: */ +func rbuLoadState(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:206371:17: */ bp := tls.Alloc(20) defer tls.Free(20) @@ -165393,7 +165424,7 @@ func rbuLoadState(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:206314:17: */ // If argument dbMain is not NULL, then it is a database handle already // open on the target database. Use this handle instead of opening a new // one. -func rbuOpenDatabase(tls *libc.TLS, p uintptr, dbMain uintptr, pbRetry uintptr) { /* sqlite3.c:206395:13: */ +func rbuOpenDatabase(tls *libc.TLS, p uintptr, dbMain uintptr, pbRetry uintptr) { /* sqlite3.c:206452:13: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -165555,7 +165586,7 @@ func rbuOpenDatabase(tls *libc.TLS, p uintptr, dbMain uintptr, pbRetry uintptr) // test.db-wal => test.wal // test.db-shm => test.shm // test.db-mj7f3319fa => test.9fa -func rbuFileSuffix3(tls *libc.TLS, zBase uintptr, z uintptr) { /* sqlite3.c:206576:13: */ +func rbuFileSuffix3(tls *libc.TLS, zBase uintptr, z uintptr) { /* sqlite3.c:206633:13: */ } // Return the current wal-index header checksum for the target database @@ -165563,7 +165594,7 @@ func rbuFileSuffix3(tls *libc.TLS, zBase uintptr, z uintptr) { /* sqlite3.c:2065 // // The checksum is store in the first page of xShmMap memory as an 8-byte // blob starting at byte offset 40. -func rbuShmChecksum(tls *libc.TLS, p uintptr) I64 { /* sqlite3.c:206597:12: */ +func rbuShmChecksum(tls *libc.TLS, p uintptr) I64 { /* sqlite3.c:206654:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -165596,7 +165627,7 @@ func rbuShmChecksum(tls *libc.TLS, p uintptr) I64 { /* sqlite3.c:206597:12: */ // object, then the rbu handle is set to DONE state. This occurs if some // other client appends a transaction to the wal file in the middle of // an incremental checkpoint. -func rbuSetupCheckpoint(tls *libc.TLS, p uintptr, pState uintptr) { /* sqlite3.c:206626:13: */ +func rbuSetupCheckpoint(tls *libc.TLS, p uintptr, pState uintptr) { /* sqlite3.c:206683:13: */ // If pState is NULL, then the wal file may not have been opened and // recovered. Running a read-statement here to ensure that doing so @@ -165688,7 +165719,7 @@ func rbuSetupCheckpoint(tls *libc.TLS, p uintptr, pState uintptr) { /* sqlite3.c // Called when iAmt bytes are read from offset iOff of the wal file while // the rbu object is in capture mode. Record the frame number of the frame // being read in the aFrame[] array. -func rbuCaptureWalRead(tls *libc.TLS, pRbu uintptr, iOff I64, iAmt int32) int32 { /* sqlite3.c:206710:12: */ +func rbuCaptureWalRead(tls *libc.TLS, pRbu uintptr, iOff I64, iAmt int32) int32 { /* sqlite3.c:206767:12: */ var mReq U32 = U32(int32(1)<dbMain to one more than the schema cookie of the main // db opened by p->dbRbu. -func rbuIncrSchemaCookie(tls *libc.TLS, p uintptr) { /* sqlite3.c:207135:13: */ +func rbuIncrSchemaCookie(tls *libc.TLS, p uintptr) { /* sqlite3.c:207192:13: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -166095,7 +166126,7 @@ func rbuIncrSchemaCookie(tls *libc.TLS, p uintptr) { /* sqlite3.c:207135:13: */ // Update the contents of the rbu_state table within the rbu database. The // value stored in the RBU_STATE_STAGE column is eStage. All other values // are determined by inspecting the rbu handle passed as the first argument. -func rbuSaveState(tls *libc.TLS, p uintptr, eStage int32) { /* sqlite3.c:207166:13: */ +func rbuSaveState(tls *libc.TLS, p uintptr, eStage int32) { /* sqlite3.c:207223:13: */ bp := tls.Alloc(176) defer tls.Free(176) @@ -166150,7 +166181,7 @@ func rbuSaveState(tls *libc.TLS, p uintptr, eStage int32) { /* sqlite3.c:207166: // // In short, it copies the value of the specified PRAGMA setting from // dbRbu to dbMain. -func rbuCopyPragma(tls *libc.TLS, p uintptr, zPragma uintptr) { /* sqlite3.c:207227:13: */ +func rbuCopyPragma(tls *libc.TLS, p uintptr, zPragma uintptr) { /* sqlite3.c:207284:13: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -166169,7 +166200,7 @@ func rbuCopyPragma(tls *libc.TLS, p uintptr, zPragma uintptr) { /* sqlite3.c:207 // The RBU handle passed as the only argument has just been opened and // the state database is empty. If this RBU handle was opened for an // RBU vacuum operation, create the schema in the target db. -func rbuCreateTargetSchema(tls *libc.TLS, p uintptr) { /* sqlite3.c:207247:13: */ +func rbuCreateTargetSchema(tls *libc.TLS, p uintptr) { /* sqlite3.c:207304:13: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -166219,7 +166250,7 @@ func rbuCreateTargetSchema(tls *libc.TLS, p uintptr) { /* sqlite3.c:207247:13: * } // Step the RBU object. -func Xsqlite3rbu_step(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:207299:16: */ +func Xsqlite3rbu_step(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:207356:16: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -166362,7 +166393,7 @@ func Xsqlite3rbu_step(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:207299:16: // Compare strings z1 and z2, returning 0 if they are identical, or non-zero // otherwise. Either or both argument may be NULL. Two NULL values are // considered equal, and NULL is considered distinct from all other values. -func rbuStrCompare(tls *libc.TLS, z1 uintptr, z2 uintptr) int32 { /* sqlite3.c:207428:12: */ +func rbuStrCompare(tls *libc.TLS, z1 uintptr, z2 uintptr) int32 { /* sqlite3.c:207485:12: */ if z1 == uintptr(0) && z2 == uintptr(0) { return 0 } @@ -166380,7 +166411,7 @@ func rbuStrCompare(tls *libc.TLS, z1 uintptr, z2 uintptr) int32 { /* sqlite3.c:2 // // If an error occurs, an error code and error message are left in the // rbu handle passed as the first argument. -func rbuSetupOal(tls *libc.TLS, p uintptr, pState uintptr) { /* sqlite3.c:207444:13: */ +func rbuSetupOal(tls *libc.TLS, p uintptr, pState uintptr) { /* sqlite3.c:207501:13: */ if (*RbuState)(unsafe.Pointer(pState)).FzTbl != 0 { var pIter uintptr = p + 80 @@ -166410,7 +166441,7 @@ func rbuSetupOal(tls *libc.TLS, p uintptr, pState uintptr) { /* sqlite3.c:207444 // If there is a "*-oal" file in the file-system corresponding to the // target database in the file-system, delete it. If an error occurs, // leave an error code and error message in the rbu handle. -func rbuDeleteOalFile(tls *libc.TLS, p uintptr) { /* sqlite3.c:207477:13: */ +func rbuDeleteOalFile(tls *libc.TLS, p uintptr) { /* sqlite3.c:207534:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -166429,7 +166460,7 @@ func rbuDeleteOalFile(tls *libc.TLS, p uintptr) { /* sqlite3.c:207477:13: */ // argument. This VFS will be used unless the call to sqlite3rbu_open() // specified a URI with a vfs=? option in place of a target database // file name. -func rbuCreateVfs(tls *libc.TLS, p uintptr) { /* sqlite3.c:207493:13: */ +func rbuCreateVfs(tls *libc.TLS, p uintptr) { /* sqlite3.c:207550:13: */ bp := tls.Alloc(76) defer tls.Free(76) @@ -166450,7 +166481,7 @@ func rbuCreateVfs(tls *libc.TLS, p uintptr) { /* sqlite3.c:207493:13: */ // Destroy the private VFS created for the rbu handle passed as the only // argument by an earlier call to rbuCreateVfs(). -func rbuDeleteVfs(tls *libc.TLS, p uintptr) { /* sqlite3.c:207513:13: */ +func rbuDeleteVfs(tls *libc.TLS, p uintptr) { /* sqlite3.c:207570:13: */ if (*Sqlite3rbu)(unsafe.Pointer(p)).FzVfsName != 0 { Xsqlite3rbu_destroy_vfs(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FzVfsName) (*Sqlite3rbu)(unsafe.Pointer(p)).FzVfsName = uintptr(0) @@ -166460,7 +166491,7 @@ func rbuDeleteVfs(tls *libc.TLS, p uintptr) { /* sqlite3.c:207513:13: */ // This user-defined SQL function is invoked with a single argument - the // name of a table expected to appear in the target database. It returns // the number of auxilliary indexes on the table. -func rbuIndexCntFunc(tls *libc.TLS, pCtx uintptr, nVal int32, apVal uintptr) { /* sqlite3.c:207525:13: */ +func rbuIndexCntFunc(tls *libc.TLS, pCtx uintptr, nVal int32, apVal uintptr) { /* sqlite3.c:207582:13: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -166509,7 +166540,7 @@ func rbuIndexCntFunc(tls *libc.TLS, pCtx uintptr, nVal int32, apVal uintptr) { / // sqlite3rbu.nPhaseOneStep is initialized to the sum of (1 + nIndex) * cnt // for all rows in the rbu_count table, where nIndex is the number of // indexes on the corresponding target database table. -func rbuInitPhaseOneSteps(tls *libc.TLS, p uintptr) { /* sqlite3.c:207575:13: */ +func rbuInitPhaseOneSteps(tls *libc.TLS, p uintptr) { /* sqlite3.c:207632:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -166551,7 +166582,7 @@ func rbuInitPhaseOneSteps(tls *libc.TLS, p uintptr) { /* sqlite3.c:207575:13: */ } } -func openRbuHandle(tls *libc.TLS, zTarget uintptr, zRbu uintptr, zState uintptr) uintptr { /* sqlite3.c:207616:19: */ +func openRbuHandle(tls *libc.TLS, zTarget uintptr, zRbu uintptr, zState uintptr) uintptr { /* sqlite3.c:207673:19: */ bp := tls.Alloc(20) defer tls.Free(20) @@ -166724,7 +166755,7 @@ func openRbuHandle(tls *libc.TLS, zTarget uintptr, zRbu uintptr, zState uintptr) // Allocate and return an RBU handle with all fields zeroed except for the // error code, which is set to SQLITE_MISUSE. -func rbuMisuseError(tls *libc.TLS) uintptr { /* sqlite3.c:207780:19: */ +func rbuMisuseError(tls *libc.TLS) uintptr { /* sqlite3.c:207837:19: */ var pRet uintptr pRet = Xsqlite3_malloc64(tls, uint64(unsafe.Sizeof(Sqlite3rbu{}))) if pRet != 0 { @@ -166735,7 +166766,7 @@ func rbuMisuseError(tls *libc.TLS) uintptr { /* sqlite3.c:207780:19: */ } // Open and return a new RBU handle. -func Xsqlite3rbu_open(tls *libc.TLS, zTarget uintptr, zRbu uintptr, zState uintptr) uintptr { /* sqlite3.c:207793:23: */ +func Xsqlite3rbu_open(tls *libc.TLS, zTarget uintptr, zRbu uintptr, zState uintptr) uintptr { /* sqlite3.c:207850:23: */ if zTarget == uintptr(0) || zRbu == uintptr(0) { return rbuMisuseError(tls) } @@ -166743,7 +166774,7 @@ func Xsqlite3rbu_open(tls *libc.TLS, zTarget uintptr, zRbu uintptr, zState uintp } // Open a handle to begin or resume an RBU VACUUM operation. -func Xsqlite3rbu_vacuum(tls *libc.TLS, zTarget uintptr, zState uintptr) uintptr { /* sqlite3.c:207805:23: */ +func Xsqlite3rbu_vacuum(tls *libc.TLS, zTarget uintptr, zState uintptr) uintptr { /* sqlite3.c:207862:23: */ if zTarget == uintptr(0) { return rbuMisuseError(tls) } @@ -166758,7 +166789,7 @@ func Xsqlite3rbu_vacuum(tls *libc.TLS, zTarget uintptr, zState uintptr) uintptr } // Return the database handle used by pRbu. -func Xsqlite3rbu_db(tls *libc.TLS, pRbu uintptr, bRbu int32) uintptr { /* sqlite3.c:207823:20: */ +func Xsqlite3rbu_db(tls *libc.TLS, pRbu uintptr, bRbu int32) uintptr { /* sqlite3.c:207880:20: */ var db uintptr = uintptr(0) if pRbu != 0 { db = func() uintptr { @@ -166774,7 +166805,7 @@ func Xsqlite3rbu_db(tls *libc.TLS, pRbu uintptr, bRbu int32) uintptr { /* sqlite // If the error code currently stored in the RBU handle is SQLITE_CONSTRAINT, // then edit any error message string so as to remove all occurrences of // the pattern "rbu_imp_[0-9]*". -func rbuEditErrmsg(tls *libc.TLS, p uintptr) { /* sqlite3.c:207837:13: */ +func rbuEditErrmsg(tls *libc.TLS, p uintptr) { /* sqlite3.c:207894:13: */ if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_CONSTRAINT && (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg != 0 { var i uint32 var nErrmsg Size_t = libc.Xstrlen(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg) @@ -166792,7 +166823,7 @@ func rbuEditErrmsg(tls *libc.TLS, p uintptr) { /* sqlite3.c:207837:13: */ } // Close the RBU handle. -func Xsqlite3rbu_close(tls *libc.TLS, p uintptr, pzErrmsg uintptr) int32 { /* sqlite3.c:207855:16: */ +func Xsqlite3rbu_close(tls *libc.TLS, p uintptr, pzErrmsg uintptr) int32 { /* sqlite3.c:207912:16: */ var rc int32 if p != 0 { @@ -166857,13 +166888,13 @@ func Xsqlite3rbu_close(tls *libc.TLS, p uintptr, pzErrmsg uintptr) int32 { /* sq // Return the total number of key-value operations (inserts, deletes or // updates) that have been performed on the target database since the // current RBU update was started. -func Xsqlite3rbu_progress(tls *libc.TLS, pRbu uintptr) Sqlite3_int64 { /* sqlite3.c:207918:26: */ +func Xsqlite3rbu_progress(tls *libc.TLS, pRbu uintptr) Sqlite3_int64 { /* sqlite3.c:207975:26: */ return Sqlite3_int64((*Sqlite3rbu)(unsafe.Pointer(pRbu)).FnProgress) } // Return permyriadage progress indications for the two main stages of // an RBU update. -func Xsqlite3rbu_bp_progress(tls *libc.TLS, p uintptr, pnOne uintptr, pnTwo uintptr) { /* sqlite3.c:207926:17: */ +func Xsqlite3rbu_bp_progress(tls *libc.TLS, p uintptr, pnOne uintptr, pnTwo uintptr) { /* sqlite3.c:207983:17: */ var MAX_PROGRESS int32 = 10000 switch (*Sqlite3rbu)(unsafe.Pointer(p)).FeStage { case RBU_STAGE_OAL: @@ -166896,7 +166927,7 @@ func Xsqlite3rbu_bp_progress(tls *libc.TLS, p uintptr, pnOne uintptr, pnTwo uint } // Return the current state of the RBU vacuum or update operation. -func Xsqlite3rbu_state(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:207961:16: */ +func Xsqlite3rbu_state(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:208018:16: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -166914,7 +166945,7 @@ func Xsqlite3rbu_state(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:207961:16: return int32(0) } -func Xsqlite3rbu_savestate(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:207989:16: */ +func Xsqlite3rbu_savestate(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:208046:16: */ var rc int32 = (*Sqlite3rbu)(unsafe.Pointer(p)).Frc if rc == SQLITE_DONE { return SQLITE_OK @@ -167021,7 +167052,7 @@ func Xsqlite3rbu_savestate(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:207989 // relinquished). Finally, calls to xSync() on the target database // file fail with SQLITE_INTERNAL errors. -func rbuUnlockShm(tls *libc.TLS, p uintptr) { /* sqlite3.c:208082:13: */ +func rbuUnlockShm(tls *libc.TLS, p uintptr) { /* sqlite3.c:208139:13: */ if (*Rbu_file)(unsafe.Pointer(p)).FpRbu != 0 { var xShmLock uintptr = (*sqlite3_io_methods)(unsafe.Pointer((*Sqlite3_file)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer(p)).FpReal)).FpMethods)).FxShmLock @@ -167038,7 +167069,7 @@ func rbuUnlockShm(tls *libc.TLS, p uintptr) { /* sqlite3.c:208082:13: */ } // -func rbuUpdateTempSize(tls *libc.TLS, pFd uintptr, nNew Sqlite3_int64) int32 { /* sqlite3.c:208098:12: */ +func rbuUpdateTempSize(tls *libc.TLS, pFd uintptr, nNew Sqlite3_int64) int32 { /* sqlite3.c:208155:12: */ var pRbu uintptr = (*Rbu_file)(unsafe.Pointer(pFd)).FpRbu var nDiff I64 = nNew - (*Rbu_file)(unsafe.Pointer(pFd)).Fsz *(*I64)(unsafe.Pointer(pRbu + 360)) += nDiff @@ -167056,7 +167087,7 @@ func rbuUpdateTempSize(tls *libc.TLS, pFd uintptr, nNew Sqlite3_int64) int32 { / // for all file descriptors with rbu_file.pDb!=0. If the argument has // rbu_file.pDb!=0, then it is assumed to already be present on the // main list and is only added to the pDb!=0 list. -func rbuMainlistAdd(tls *libc.TLS, p uintptr) { /* sqlite3.c:208116:13: */ +func rbuMainlistAdd(tls *libc.TLS, p uintptr) { /* sqlite3.c:208173:13: */ var pRbuVfs uintptr = (*Rbu_file)(unsafe.Pointer(p)).FpRbuVfs var pIter uintptr @@ -167078,7 +167109,7 @@ func rbuMainlistAdd(tls *libc.TLS, p uintptr) { /* sqlite3.c:208116:13: */ } // Remove an item from the main-db lists. -func rbuMainlistRemove(tls *libc.TLS, p uintptr) { /* sqlite3.c:208138:13: */ +func rbuMainlistRemove(tls *libc.TLS, p uintptr) { /* sqlite3.c:208195:13: */ var pp uintptr Xsqlite3_mutex_enter(tls, (*Rbu_vfs)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer(p)).FpRbuVfs)).Fmutex) for pp = (*Rbu_file)(unsafe.Pointer(p)).FpRbuVfs + 192; *(*uintptr)(unsafe.Pointer(pp)) != 0 && *(*uintptr)(unsafe.Pointer(pp)) != p; pp = *(*uintptr)(unsafe.Pointer(pp)) + 88 { @@ -167103,7 +167134,7 @@ func rbuMainlistRemove(tls *libc.TLS, p uintptr) { /* sqlite3.c:208138:13: */ // // If parameter bRbu is true, only search for file-descriptors with // rbu_file.pDb!=0. -func rbuFindMaindb(tls *libc.TLS, pRbuVfs uintptr, zWal uintptr, bRbu int32) uintptr { /* sqlite3.c:208159:17: */ +func rbuFindMaindb(tls *libc.TLS, pRbuVfs uintptr, zWal uintptr, bRbu int32) uintptr { /* sqlite3.c:208216:17: */ var pDb uintptr Xsqlite3_mutex_enter(tls, (*Rbu_vfs)(unsafe.Pointer(pRbuVfs)).Fmutex) if bRbu != 0 { @@ -167118,7 +167149,7 @@ func rbuFindMaindb(tls *libc.TLS, pRbuVfs uintptr, zWal uintptr, bRbu int32) uin } // Close an rbu file. -func rbuVfsClose(tls *libc.TLS, pFile uintptr) int32 { /* sqlite3.c:208174:12: */ +func rbuVfsClose(tls *libc.TLS, pFile uintptr) int32 { /* sqlite3.c:208231:12: */ var p uintptr = pFile var rc int32 var i int32 @@ -167150,7 +167181,7 @@ func rbuVfsClose(tls *libc.TLS, pFile uintptr) int32 { /* sqlite3.c:208174:12: * // Read and return an unsigned 32-bit big-endian integer from the buffer // passed as the only argument. -func rbuGetU32(tls *libc.TLS, aBuf uintptr) U32 { /* sqlite3.c:208207:12: */ +func rbuGetU32(tls *libc.TLS, aBuf uintptr) U32 { /* sqlite3.c:208264:12: */ return U32(*(*U8)(unsafe.Pointer(aBuf)))<<24 + U32(*(*U8)(unsafe.Pointer(aBuf + 1)))<<16 + U32(*(*U8)(unsafe.Pointer(aBuf + 2)))<<8 + @@ -167159,20 +167190,20 @@ func rbuGetU32(tls *libc.TLS, aBuf uintptr) U32 { /* sqlite3.c:208207:12: */ // Write an unsigned 32-bit value in big-endian format to the supplied // buffer. -func rbuPutU32(tls *libc.TLS, aBuf uintptr, iVal U32) { /* sqlite3.c:208218:13: */ +func rbuPutU32(tls *libc.TLS, aBuf uintptr, iVal U32) { /* sqlite3.c:208275:13: */ *(*U8)(unsafe.Pointer(aBuf)) = U8(iVal >> 24 & U32(0xFF)) *(*U8)(unsafe.Pointer(aBuf + 1)) = U8(iVal >> 16 & U32(0xFF)) *(*U8)(unsafe.Pointer(aBuf + 2)) = U8(iVal >> 8 & U32(0xFF)) *(*U8)(unsafe.Pointer(aBuf + 3)) = U8(iVal >> 0 & U32(0xFF)) } -func rbuPutU16(tls *libc.TLS, aBuf uintptr, iVal U16) { /* sqlite3.c:208225:13: */ +func rbuPutU16(tls *libc.TLS, aBuf uintptr, iVal U16) { /* sqlite3.c:208282:13: */ *(*U8)(unsafe.Pointer(aBuf)) = U8(int32(iVal) >> 8 & 0xFF) *(*U8)(unsafe.Pointer(aBuf + 1)) = U8(int32(iVal) >> 0 & 0xFF) } // Read data from an rbuVfs-file. -func rbuVfsRead(tls *libc.TLS, pFile uintptr, zBuf uintptr, iAmt int32, iOfst Sqlite_int64) int32 { /* sqlite3.c:208233:12: */ +func rbuVfsRead(tls *libc.TLS, pFile uintptr, zBuf uintptr, iAmt int32, iOfst Sqlite_int64) int32 { /* sqlite3.c:208290:12: */ var p uintptr = pFile var pRbu uintptr = (*Rbu_file)(unsafe.Pointer(p)).FpRbu var rc int32 @@ -167236,7 +167267,7 @@ func rbuVfsRead(tls *libc.TLS, pFile uintptr, zBuf uintptr, iAmt int32, iOfst Sq } // Write data to an rbuVfs-file. -func rbuVfsWrite(tls *libc.TLS, pFile uintptr, zBuf uintptr, iAmt int32, iOfst Sqlite_int64) int32 { /* sqlite3.c:208299:12: */ +func rbuVfsWrite(tls *libc.TLS, pFile uintptr, zBuf uintptr, iAmt int32, iOfst Sqlite_int64) int32 { /* sqlite3.c:208356:12: */ var p uintptr = pFile var pRbu uintptr = (*Rbu_file)(unsafe.Pointer(p)).FpRbu var rc int32 @@ -167275,7 +167306,7 @@ func rbuVfsWrite(tls *libc.TLS, pFile uintptr, zBuf uintptr, iAmt int32, iOfst S } // Truncate an rbuVfs-file. -func rbuVfsTruncate(tls *libc.TLS, pFile uintptr, size Sqlite_int64) int32 { /* sqlite3.c:208342:12: */ +func rbuVfsTruncate(tls *libc.TLS, pFile uintptr, size Sqlite_int64) int32 { /* sqlite3.c:208399:12: */ var p uintptr = pFile if (*Rbu_file)(unsafe.Pointer(p)).FopenFlags&SQLITE_OPEN_DELETEONCLOSE != 0 && (*Rbu_file)(unsafe.Pointer(p)).FpRbu != 0 { var rc int32 = rbuUpdateTempSize(tls, p, size) @@ -167289,7 +167320,7 @@ func rbuVfsTruncate(tls *libc.TLS, pFile uintptr, size Sqlite_int64) int32 { /* } // Sync an rbuVfs-file. -func rbuVfsSync(tls *libc.TLS, pFile uintptr, flags int32) int32 { /* sqlite3.c:208354:12: */ +func rbuVfsSync(tls *libc.TLS, pFile uintptr, flags int32) int32 { /* sqlite3.c:208411:12: */ var p uintptr = pFile if (*Rbu_file)(unsafe.Pointer(p)).FpRbu != 0 && (*Sqlite3rbu)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer(p)).FpRbu)).FeStage == RBU_STAGE_CAPTURE { if (*Rbu_file)(unsafe.Pointer(p)).FopenFlags&SQLITE_OPEN_MAIN_DB != 0 { @@ -167303,7 +167334,7 @@ func rbuVfsSync(tls *libc.TLS, pFile uintptr, flags int32) int32 { /* sqlite3.c: } // Return the current file-size of an rbuVfs-file. -func rbuVfsFileSize(tls *libc.TLS, pFile uintptr, pSize uintptr) int32 { /* sqlite3.c:208368:12: */ +func rbuVfsFileSize(tls *libc.TLS, pFile uintptr, pSize uintptr) int32 { /* sqlite3.c:208425:12: */ var p uintptr = pFile var rc int32 rc = (*struct { @@ -167323,7 +167354,7 @@ func rbuVfsFileSize(tls *libc.TLS, pFile uintptr, pSize uintptr) int32 { /* sqli } // Lock an rbuVfs-file. -func rbuVfsLock(tls *libc.TLS, pFile uintptr, eLock int32) int32 { /* sqlite3.c:208389:12: */ +func rbuVfsLock(tls *libc.TLS, pFile uintptr, eLock int32) int32 { /* sqlite3.c:208446:12: */ var p uintptr = pFile var pRbu uintptr = (*Rbu_file)(unsafe.Pointer(p)).FpRbu var rc int32 = SQLITE_OK @@ -167343,7 +167374,7 @@ func rbuVfsLock(tls *libc.TLS, pFile uintptr, eLock int32) int32 { /* sqlite3.c: } // Unlock an rbuVfs-file. -func rbuVfsUnlock(tls *libc.TLS, pFile uintptr, eLock int32) int32 { /* sqlite3.c:208411:12: */ +func rbuVfsUnlock(tls *libc.TLS, pFile uintptr, eLock int32) int32 { /* sqlite3.c:208468:12: */ var p uintptr = pFile return (*struct { f func(*libc.TLS, uintptr, int32) int32 @@ -167351,7 +167382,7 @@ func rbuVfsUnlock(tls *libc.TLS, pFile uintptr, eLock int32) int32 { /* sqlite3. } // Check if another file-handle holds a RESERVED lock on an rbuVfs-file. -func rbuVfsCheckReservedLock(tls *libc.TLS, pFile uintptr, pResOut uintptr) int32 { /* sqlite3.c:208419:12: */ +func rbuVfsCheckReservedLock(tls *libc.TLS, pFile uintptr, pResOut uintptr) int32 { /* sqlite3.c:208476:12: */ var p uintptr = pFile return (*struct { f func(*libc.TLS, uintptr, uintptr) int32 @@ -167359,7 +167390,7 @@ func rbuVfsCheckReservedLock(tls *libc.TLS, pFile uintptr, pResOut uintptr) int3 } // File control method. For custom operations on an rbuVfs-file. -func rbuVfsFileControl(tls *libc.TLS, pFile uintptr, op int32, pArg uintptr) int32 { /* sqlite3.c:208427:12: */ +func rbuVfsFileControl(tls *libc.TLS, pFile uintptr, op int32, pArg uintptr) int32 { /* sqlite3.c:208484:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -167422,7 +167453,7 @@ func rbuVfsFileControl(tls *libc.TLS, pFile uintptr, op int32, pArg uintptr) int } // Return the sector-size in bytes for an rbuVfs-file. -func rbuVfsSectorSize(tls *libc.TLS, pFile uintptr) int32 { /* sqlite3.c:208483:12: */ +func rbuVfsSectorSize(tls *libc.TLS, pFile uintptr) int32 { /* sqlite3.c:208540:12: */ var p uintptr = pFile return (*struct { f func(*libc.TLS, uintptr) int32 @@ -167430,7 +167461,7 @@ func rbuVfsSectorSize(tls *libc.TLS, pFile uintptr) int32 { /* sqlite3.c:208483: } // Return the device characteristic flags supported by an rbuVfs-file. -func rbuVfsDeviceCharacteristics(tls *libc.TLS, pFile uintptr) int32 { /* sqlite3.c:208491:12: */ +func rbuVfsDeviceCharacteristics(tls *libc.TLS, pFile uintptr) int32 { /* sqlite3.c:208548:12: */ var p uintptr = pFile return (*struct { f func(*libc.TLS, uintptr) int32 @@ -167438,7 +167469,7 @@ func rbuVfsDeviceCharacteristics(tls *libc.TLS, pFile uintptr) int32 { /* sqlite } // Take or release a shared-memory lock. -func rbuVfsShmLock(tls *libc.TLS, pFile uintptr, ofst int32, n int32, flags int32) int32 { /* sqlite3.c:208499:12: */ +func rbuVfsShmLock(tls *libc.TLS, pFile uintptr, ofst int32, n int32, flags int32) int32 { /* sqlite3.c:208556:12: */ var p uintptr = pFile var pRbu uintptr = (*Rbu_file)(unsafe.Pointer(p)).FpRbu var rc int32 = SQLITE_OK @@ -167471,7 +167502,7 @@ func rbuVfsShmLock(tls *libc.TLS, pFile uintptr, ofst int32, n int32, flags int3 } // Obtain a pointer to a mapping of a single 32KiB page of the *-shm file. -func rbuVfsShmMap(tls *libc.TLS, pFile uintptr, iRegion int32, szRegion int32, isWrite int32, pp uintptr) int32 { /* sqlite3.c:208537:12: */ +func rbuVfsShmMap(tls *libc.TLS, pFile uintptr, iRegion int32, szRegion int32, isWrite int32, pp uintptr) int32 { /* sqlite3.c:208594:12: */ var p uintptr = pFile var rc int32 = SQLITE_OK var eStage int32 = func() int32 { @@ -167528,13 +167559,13 @@ func rbuVfsShmMap(tls *libc.TLS, pFile uintptr, iRegion int32, szRegion int32, i } // Memory barrier. -func rbuVfsShmBarrier(tls *libc.TLS, pFile uintptr) { /* sqlite3.c:208595:13: */ +func rbuVfsShmBarrier(tls *libc.TLS, pFile uintptr) { /* sqlite3.c:208652:13: */ var p uintptr = pFile (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods)(unsafe.Pointer((*Sqlite3_file)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer(p)).FpReal)).FpMethods)).FxShmBarrier})).f(tls, (*Rbu_file)(unsafe.Pointer(p)).FpReal) } // The xShmUnmap method. -func rbuVfsShmUnmap(tls *libc.TLS, pFile uintptr, delFlag int32) int32 { /* sqlite3.c:208603:12: */ +func rbuVfsShmUnmap(tls *libc.TLS, pFile uintptr, delFlag int32) int32 { /* sqlite3.c:208660:12: */ var p uintptr = pFile var rc int32 = SQLITE_OK var eStage int32 = func() int32 { @@ -167557,7 +167588,7 @@ func rbuVfsShmUnmap(tls *libc.TLS, pFile uintptr, delFlag int32) int32 { /* sqli } // Open an rbu file handle. -func rbuVfsOpen(tls *libc.TLS, pVfs uintptr, zName uintptr, pFile uintptr, flags int32, pOutFlags uintptr) int32 { /* sqlite3.c:208622:12: */ +func rbuVfsOpen(tls *libc.TLS, pVfs uintptr, zName uintptr, pFile uintptr, flags int32, pOutFlags uintptr) int32 { /* sqlite3.c:208679:12: */ var pRbuVfs uintptr = pVfs var pRealVfs uintptr = (*Rbu_vfs)(unsafe.Pointer(pRbuVfs)).FpRealVfs var pFd uintptr = pFile @@ -167643,10 +167674,10 @@ var rbuvfs_io_methods = Sqlite3_io_methods{ FxShmLock: 0, // xShmLock FxShmBarrier: 0, // xShmBarrier FxShmUnmap: 0, // xFetch, xUnfetch -} /* sqlite3.c:208629:29 */ +} /* sqlite3.c:208686:29 */ // Delete the file located at zPath. -func rbuVfsDelete(tls *libc.TLS, pVfs uintptr, zPath uintptr, dirSync int32) int32 { /* sqlite3.c:208720:12: */ +func rbuVfsDelete(tls *libc.TLS, pVfs uintptr, zPath uintptr, dirSync int32) int32 { /* sqlite3.c:208777:12: */ var pRealVfs uintptr = (*Rbu_vfs)(unsafe.Pointer(pVfs)).FpRealVfs return (*struct { f func(*libc.TLS, uintptr, uintptr, int32) int32 @@ -167655,7 +167686,7 @@ func rbuVfsDelete(tls *libc.TLS, pVfs uintptr, zPath uintptr, dirSync int32) int // Test for access permissions. Return true if the requested permission // is available, or false otherwise. -func rbuVfsAccess(tls *libc.TLS, pVfs uintptr, zPath uintptr, flags int32, pResOut uintptr) int32 { /* sqlite3.c:208729:12: */ +func rbuVfsAccess(tls *libc.TLS, pVfs uintptr, zPath uintptr, flags int32, pResOut uintptr) int32 { /* sqlite3.c:208786:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -167700,7 +167731,7 @@ func rbuVfsAccess(tls *libc.TLS, pVfs uintptr, zPath uintptr, flags int32, pResO // Populate buffer zOut with the full canonical pathname corresponding // to the pathname in zPath. zOut is guaranteed to point to a buffer // of at least (DEVSYM_MAX_PATHNAME+1) bytes. -func rbuVfsFullPathname(tls *libc.TLS, pVfs uintptr, zPath uintptr, nOut int32, zOut uintptr) int32 { /* sqlite3.c:208777:12: */ +func rbuVfsFullPathname(tls *libc.TLS, pVfs uintptr, zPath uintptr, nOut int32, zOut uintptr) int32 { /* sqlite3.c:208834:12: */ var pRealVfs uintptr = (*Rbu_vfs)(unsafe.Pointer(pVfs)).FpRealVfs return (*struct { f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 @@ -167708,7 +167739,7 @@ func rbuVfsFullPathname(tls *libc.TLS, pVfs uintptr, zPath uintptr, nOut int32, } // Open the dynamic library located at zPath and return a handle. -func rbuVfsDlOpen(tls *libc.TLS, pVfs uintptr, zPath uintptr) uintptr { /* sqlite3.c:208791:13: */ +func rbuVfsDlOpen(tls *libc.TLS, pVfs uintptr, zPath uintptr) uintptr { /* sqlite3.c:208848:13: */ var pRealVfs uintptr = (*Rbu_vfs)(unsafe.Pointer(pVfs)).FpRealVfs return (*struct { f func(*libc.TLS, uintptr, uintptr) uintptr @@ -167718,7 +167749,7 @@ func rbuVfsDlOpen(tls *libc.TLS, pVfs uintptr, zPath uintptr) uintptr { /* sqlit // Populate the buffer zErrMsg (size nByte bytes) with a human readable // utf-8 string describing the most recent error encountered associated // with dynamic libraries. -func rbuVfsDlError(tls *libc.TLS, pVfs uintptr, nByte int32, zErrMsg uintptr) { /* sqlite3.c:208801:13: */ +func rbuVfsDlError(tls *libc.TLS, pVfs uintptr, nByte int32, zErrMsg uintptr) { /* sqlite3.c:208858:13: */ var pRealVfs uintptr = (*Rbu_vfs)(unsafe.Pointer(pVfs)).FpRealVfs (*struct { f func(*libc.TLS, uintptr, int32, uintptr) @@ -167726,7 +167757,7 @@ func rbuVfsDlError(tls *libc.TLS, pVfs uintptr, nByte int32, zErrMsg uintptr) { } // Return a pointer to the symbol zSymbol in the dynamic library pHandle. -func rbuVfsDlSym(tls *libc.TLS, pVfs uintptr, pArg uintptr, zSym uintptr) uintptr { /* sqlite3.c:208809:13: */ +func rbuVfsDlSym(tls *libc.TLS, pVfs uintptr, pArg uintptr, zSym uintptr) uintptr { /* sqlite3.c:208866:13: */ var pRealVfs uintptr = (*Rbu_vfs)(unsafe.Pointer(pVfs)).FpRealVfs return (*struct { f func(*libc.TLS, uintptr, uintptr, uintptr) uintptr @@ -167734,7 +167765,7 @@ func rbuVfsDlSym(tls *libc.TLS, pVfs uintptr, pArg uintptr, zSym uintptr) uintpt } // Close the dynamic library handle pHandle. -func rbuVfsDlClose(tls *libc.TLS, pVfs uintptr, pHandle uintptr) { /* sqlite3.c:208821:13: */ +func rbuVfsDlClose(tls *libc.TLS, pVfs uintptr, pHandle uintptr) { /* sqlite3.c:208878:13: */ var pRealVfs uintptr = (*Rbu_vfs)(unsafe.Pointer(pVfs)).FpRealVfs (*struct { f func(*libc.TLS, uintptr, uintptr) @@ -167743,7 +167774,7 @@ func rbuVfsDlClose(tls *libc.TLS, pVfs uintptr, pHandle uintptr) { /* sqlite3.c: // Populate the buffer pointed to by zBufOut with nByte bytes of // random data. -func rbuVfsRandomness(tls *libc.TLS, pVfs uintptr, nByte int32, zBufOut uintptr) int32 { /* sqlite3.c:208831:12: */ +func rbuVfsRandomness(tls *libc.TLS, pVfs uintptr, nByte int32, zBufOut uintptr) int32 { /* sqlite3.c:208888:12: */ var pRealVfs uintptr = (*Rbu_vfs)(unsafe.Pointer(pVfs)).FpRealVfs return (*struct { f func(*libc.TLS, uintptr, int32, uintptr) int32 @@ -167752,7 +167783,7 @@ func rbuVfsRandomness(tls *libc.TLS, pVfs uintptr, nByte int32, zBufOut uintptr) // Sleep for nMicro microseconds. Return the number of microseconds // actually slept. -func rbuVfsSleep(tls *libc.TLS, pVfs uintptr, nMicro int32) int32 { /* sqlite3.c:208840:12: */ +func rbuVfsSleep(tls *libc.TLS, pVfs uintptr, nMicro int32) int32 { /* sqlite3.c:208897:12: */ var pRealVfs uintptr = (*Rbu_vfs)(unsafe.Pointer(pVfs)).FpRealVfs return (*struct { f func(*libc.TLS, uintptr, int32) int32 @@ -167760,7 +167791,7 @@ func rbuVfsSleep(tls *libc.TLS, pVfs uintptr, nMicro int32) int32 { /* sqlite3.c } // Return the current time as a Julian Day number in *pTimeOut. -func rbuVfsCurrentTime(tls *libc.TLS, pVfs uintptr, pTimeOut uintptr) int32 { /* sqlite3.c:208848:12: */ +func rbuVfsCurrentTime(tls *libc.TLS, pVfs uintptr, pTimeOut uintptr) int32 { /* sqlite3.c:208905:12: */ var pRealVfs uintptr = (*Rbu_vfs)(unsafe.Pointer(pVfs)).FpRealVfs return (*struct { f func(*libc.TLS, uintptr, uintptr) int32 @@ -167768,13 +167799,13 @@ func rbuVfsCurrentTime(tls *libc.TLS, pVfs uintptr, pTimeOut uintptr) int32 { /* } // No-op. -func rbuVfsGetLastError(tls *libc.TLS, pVfs uintptr, a int32, b uintptr) int32 { /* sqlite3.c:208856:12: */ +func rbuVfsGetLastError(tls *libc.TLS, pVfs uintptr, a int32, b uintptr) int32 { /* sqlite3.c:208913:12: */ return 0 } // Deregister and destroy an RBU vfs created by an earlier call to // sqlite3rbu_create_vfs(). -func Xsqlite3rbu_destroy_vfs(tls *libc.TLS, zName uintptr) { /* sqlite3.c:208864:17: */ +func Xsqlite3rbu_destroy_vfs(tls *libc.TLS, zName uintptr) { /* sqlite3.c:208921:17: */ var pVfs uintptr = Xsqlite3_vfs_find(tls, zName) if pVfs != 0 && (*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FxOpen == *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32 @@ -167788,7 +167819,7 @@ func Xsqlite3rbu_destroy_vfs(tls *libc.TLS, zName uintptr) { /* sqlite3.c:208864 // Create an RBU VFS named zName that accesses the underlying file-system // via existing VFS zParent. The new object is registered as a non-default // VFS with SQLite before returning. -func Xsqlite3rbu_create_vfs(tls *libc.TLS, zName uintptr, zParent uintptr) int32 { /* sqlite3.c:208878:16: */ +func Xsqlite3rbu_create_vfs(tls *libc.TLS, zName uintptr, zParent uintptr) int32 { /* sqlite3.c:208935:16: */ var pNew uintptr = uintptr(0) // Newly allocated VFS var rc int32 = SQLITE_OK @@ -167849,17 +167880,17 @@ var vfs_template = Sqlite3_vfs{ FxSleep: 0, // xSleep FxCurrentTime: 0, // xCurrentTime FxGetLastError: 0, // Unimplemented version 3 methods -} /* sqlite3.c:208881:22 */ +} /* sqlite3.c:208938:22 */ // Configure the aggregate temp file size limit for this RBU handle. -func Xsqlite3rbu_temp_size_limit(tls *libc.TLS, pRbu uintptr, n Sqlite3_int64) Sqlite3_int64 { /* sqlite3.c:208956:26: */ +func Xsqlite3rbu_temp_size_limit(tls *libc.TLS, pRbu uintptr, n Sqlite3_int64) Sqlite3_int64 { /* sqlite3.c:209013:26: */ if n >= int64(0) { (*Sqlite3rbu)(unsafe.Pointer(pRbu)).FszTempLimit = n } return (*Sqlite3rbu)(unsafe.Pointer(pRbu)).FszTempLimit } -func Xsqlite3rbu_temp_size(tls *libc.TLS, pRbu uintptr) Sqlite3_int64 { /* sqlite3.c:208963:26: */ +func Xsqlite3rbu_temp_size(tls *libc.TLS, pRbu uintptr) Sqlite3_int64 { /* sqlite3.c:209020:26: */ return (*Sqlite3rbu)(unsafe.Pointer(pRbu)).FszTemp } @@ -168013,7 +168044,7 @@ type SessionTable1 = struct { // #include // #include -type SessionTable = SessionTable1 /* sqlite3.c:210308:29 */ +type SessionTable = SessionTable1 /* sqlite3.c:210365:29 */ type SessionChange1 = struct { Fop U8 FbIndirect U8 @@ -168025,14 +168056,14 @@ type SessionChange1 = struct { FpNext uintptr } /* sqlite3.c:10832:9 */ -type SessionChange = SessionChange1 /* sqlite3.c:210309:30 */ +type SessionChange = SessionChange1 /* sqlite3.c:210366:30 */ type SessionBuffer1 = struct { FaBuf uintptr FnBuf int32 FnAlloc int32 } /* sqlite3.c:10840:9 */ -type SessionBuffer = SessionBuffer1 /* sqlite3.c:210310:30 */ +type SessionBuffer = SessionBuffer1 /* sqlite3.c:210367:30 */ type SessionInput1 = struct { FbNoDiscard int32 FiCurrent int32 @@ -168048,11 +168079,11 @@ type SessionInput1 = struct { F__ccgo_pad3 [4]byte } /* sqlite3.c:10840:9 */ -type SessionInput = SessionInput1 /* sqlite3.c:210311:29 */ +type SessionInput = SessionInput1 /* sqlite3.c:210368:29 */ // Minimum chunk size used by streaming versions of functions. -var sessions_strm_chunk_size int32 = SESSIONS_STRM_CHUNK_SIZE /* sqlite3.c:210324:12 */ +var sessions_strm_chunk_size int32 = SESSIONS_STRM_CHUNK_SIZE /* sqlite3.c:210381:12 */ type SessionHook1 = struct { FpCtx uintptr @@ -168062,11 +168093,11 @@ type SessionHook1 = struct { FxDepth uintptr } /* sqlite3.c:10832:9 */ -type SessionHook = SessionHook1 /* sqlite3.c:210326:28 */ +type SessionHook = SessionHook1 /* sqlite3.c:210383:28 */ // Write a varint with value iVal into the buffer at aBuf. Return the // number of bytes written. -func sessionVarintPut(tls *libc.TLS, aBuf uintptr, iVal int32) int32 { /* sqlite3.c:210604:12: */ +func sessionVarintPut(tls *libc.TLS, aBuf uintptr, iVal int32) int32 { /* sqlite3.c:210661:12: */ return int32(func() uint8 { if U32(iVal) < U32(0x80) { return uint8(func() int32 { *(*U8)(unsafe.Pointer(aBuf)) = uint8(iVal); return 1 }()) @@ -168076,13 +168107,13 @@ func sessionVarintPut(tls *libc.TLS, aBuf uintptr, iVal int32) int32 { /* sqlite } // Return the number of bytes required to store value iVal as a varint. -func sessionVarintLen(tls *libc.TLS, iVal int32) int32 { /* sqlite3.c:210611:12: */ +func sessionVarintLen(tls *libc.TLS, iVal int32) int32 { /* sqlite3.c:210668:12: */ return Xsqlite3VarintLen(tls, uint64(iVal)) } // Read a varint value from aBuf[] into *piVal. Return the number of // bytes read. -func sessionVarintGet(tls *libc.TLS, aBuf uintptr, piVal uintptr) int32 { /* sqlite3.c:210619:12: */ +func sessionVarintGet(tls *libc.TLS, aBuf uintptr, piVal uintptr) int32 { /* sqlite3.c:210676:12: */ return int32(func() uint8 { if int32(*(*U8)(unsafe.Pointer(aBuf))) < int32(U8(0x80)) { return uint8(func() int32 { *(*int32)(unsafe.Pointer(piVal)) = int32(U32(*(*U8)(unsafe.Pointer(aBuf)))); return 1 }()) @@ -168095,7 +168126,7 @@ func sessionVarintGet(tls *libc.TLS, aBuf uintptr, piVal uintptr) int32 { /* sql // Read a 64-bit big-endian integer value from buffer aRec[]. Return // the value read. -func sessionGetI64(tls *libc.TLS, aRec uintptr) Sqlite3_int64 { /* sqlite3.c:210630:22: */ +func sessionGetI64(tls *libc.TLS, aRec uintptr) Sqlite3_int64 { /* sqlite3.c:210687:22: */ var x U64 = U64(U32(*(*U8)(unsafe.Pointer(aRec)))<<24 | U32(int32(*(*U8)(unsafe.Pointer(aRec + 1)))<<16) | U32(int32(*(*U8)(unsafe.Pointer(aRec + 2)))<<8) | U32(*(*U8)(unsafe.Pointer(aRec + 3)))) var y U32 = U32(*(*U8)(unsafe.Pointer(aRec + uintptr(4))))<<24 | U32(int32(*(*U8)(unsafe.Pointer(aRec + uintptr(4) + 1)))<<16) | U32(int32(*(*U8)(unsafe.Pointer(aRec + uintptr(4) + 2)))<<8) | U32(*(*U8)(unsafe.Pointer(aRec + uintptr(4) + 3))) x = x<<32 + U64(y) @@ -168103,7 +168134,7 @@ func sessionGetI64(tls *libc.TLS, aRec uintptr) Sqlite3_int64 { /* sqlite3.c:210 } // Write a 64-bit big-endian integer value to the buffer aBuf[]. -func sessionPutI64(tls *libc.TLS, aBuf uintptr, i Sqlite3_int64) { /* sqlite3.c:210640:13: */ +func sessionPutI64(tls *libc.TLS, aBuf uintptr, i Sqlite3_int64) { /* sqlite3.c:210697:13: */ *(*U8)(unsafe.Pointer(aBuf)) = U8(i >> 56 & int64(0xFF)) *(*U8)(unsafe.Pointer(aBuf + 1)) = U8(i >> 48 & int64(0xFF)) *(*U8)(unsafe.Pointer(aBuf + 2)) = U8(i >> 40 & int64(0xFF)) @@ -168125,7 +168156,7 @@ func sessionPutI64(tls *libc.TLS, aBuf uintptr, i Sqlite3_int64) { /* sqlite3.c: // If no error occurs, SQLITE_OK is returned. Or, if an OOM error occurs // within a call to sqlite3_value_text() (may fail if the db is utf-16)) // SQLITE_NOMEM is returned. -func sessionSerializeValue(tls *libc.TLS, aBuf uintptr, pValue uintptr, pnWrite uintptr) int32 { /* sqlite3.c:210664:12: */ +func sessionSerializeValue(tls *libc.TLS, aBuf uintptr, pValue uintptr, pnWrite uintptr) int32 { /* sqlite3.c:210721:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -168213,7 +168244,7 @@ func sessionSerializeValue(tls *libc.TLS, aBuf uintptr, pValue uintptr, pnWrite // Allocate and return a pointer to a buffer nByte bytes in size. If // pSession is not NULL, increase the sqlite3_session.nMalloc variable // by the number of bytes allocated. -func sessionMalloc64(tls *libc.TLS, pSession uintptr, nByte I64) uintptr { /* sqlite3.c:210740:13: */ +func sessionMalloc64(tls *libc.TLS, pSession uintptr, nByte I64) uintptr { /* sqlite3.c:210797:13: */ var pRet uintptr = Xsqlite3_malloc64(tls, uint64(nByte)) if pSession != 0 { *(*I64)(unsafe.Pointer(pSession + 56)) += I64(Xsqlite3_msize(tls, pRet)) @@ -168224,7 +168255,7 @@ func sessionMalloc64(tls *libc.TLS, pSession uintptr, nByte I64) uintptr { /* sq // Free buffer pFree, which must have been allocated by an earlier // call to sessionMalloc64(). If pSession is not NULL, decrease the // sqlite3_session.nMalloc counter by the number of bytes freed. -func sessionFree(tls *libc.TLS, pSession uintptr, pFree uintptr) { /* sqlite3.c:210751:13: */ +func sessionFree(tls *libc.TLS, pSession uintptr, pFree uintptr) { /* sqlite3.c:210808:13: */ if pSession != 0 { *(*I64)(unsafe.Pointer(pSession + 56)) -= I64(Xsqlite3_msize(tls, pFree)) } @@ -168247,14 +168278,14 @@ func sessionFree(tls *libc.TLS, pSession uintptr, pFree uintptr) { /* sqlite3.c: // Append the hash of the 64-bit integer passed as the second argument to the // hash-key value passed as the first. Return the new hash-key value. -func sessionHashAppendI64(tls *libc.TLS, h uint32, i I64) uint32 { /* sqlite3.c:210777:21: */ +func sessionHashAppendI64(tls *libc.TLS, h uint32, i I64) uint32 { /* sqlite3.c:210834:21: */ h = h<<3 ^ h ^ uint32(i&int64(0xFFFFFFFF)) return h<<3 ^ h ^ uint32(i>>32&int64(0xFFFFFFFF)) } // Append the hash of the blob passed via the second and third arguments to // the hash-key value passed as the first. Return the new hash-key value. -func sessionHashAppendBlob(tls *libc.TLS, h uint32, n int32, z uintptr) uint32 { /* sqlite3.c:210786:21: */ +func sessionHashAppendBlob(tls *libc.TLS, h uint32, n int32, z uintptr) uint32 { /* sqlite3.c:210843:21: */ var i int32 for i = 0; i < n; i++ { h = h<<3 ^ h ^ uint32(*(*U8)(unsafe.Pointer(z + uintptr(i)))) @@ -168264,7 +168295,7 @@ func sessionHashAppendBlob(tls *libc.TLS, h uint32, n int32, z uintptr) uint32 { // Append the hash of the data type passed as the second argument to the // hash-key value passed as the first. Return the new hash-key value. -func sessionHashAppendType(tls *libc.TLS, h uint32, eType int32) uint32 { /* sqlite3.c:210796:21: */ +func sessionHashAppendType(tls *libc.TLS, h uint32, eType int32) uint32 { /* sqlite3.c:210853:21: */ return h<<3 ^ h ^ uint32(eType) } @@ -168277,7 +168308,7 @@ func sessionHashAppendType(tls *libc.TLS, h uint32, eType int32) uint32 { /* sql // If an error occurs, an SQLite error code is returned and the final values // of *piHash asn *pbNullPK are undefined. Otherwise, SQLITE_OK is returned // and the output variables are set as described above. -func sessionPreupdateHash(tls *libc.TLS, pSession uintptr, pTab uintptr, bNew int32, piHash uintptr, pbNullPK uintptr) int32 { /* sqlite3.c:210811:12: */ +func sessionPreupdateHash(tls *libc.TLS, pSession uintptr, pTab uintptr, bNew int32, piHash uintptr, pbNullPK uintptr) int32 { /* sqlite3.c:210868:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -168343,7 +168374,7 @@ func sessionPreupdateHash(tls *libc.TLS, pSession uintptr, pTab uintptr, bNew in // The buffer that the argument points to contains a serialized SQL value. // Return the number of bytes of space occupied by the value (including // the type byte). -func sessionSerialLen(tls *libc.TLS, a uintptr) int32 { /* sqlite3.c:210876:12: */ +func sessionSerialLen(tls *libc.TLS, a uintptr) int32 { /* sqlite3.c:210933:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -168369,7 +168400,7 @@ func sessionSerialLen(tls *libc.TLS, a uintptr) int32 { /* sqlite3.c:210876:12: // // The bPkOnly argument is non-zero if the record at aRecord[] is from // a patchset DELETE. In this case the non-PK fields are omitted entirely. -func sessionChangeHash(tls *libc.TLS, pTab uintptr, bPkOnly int32, aRecord uintptr, nBucket int32) uint32 { /* sqlite3.c:210894:21: */ +func sessionChangeHash(tls *libc.TLS, pTab uintptr, bPkOnly int32, aRecord uintptr, nBucket int32) uint32 { /* sqlite3.c:210951:21: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -168412,7 +168443,7 @@ func sessionChangeHash(tls *libc.TLS, pTab uintptr, bPkOnly int32, aRecord uintp // This function returns true if the two records apply to the same row (i.e. // have the same values stored in the primary key columns), or false // otherwise. -func sessionChangeEqual(tls *libc.TLS, pTab uintptr, bLeftPkOnly int32, aLeft uintptr, bRightPkOnly int32, aRight uintptr) int32 { /* sqlite3.c:210943:12: */ +func sessionChangeEqual(tls *libc.TLS, pTab uintptr, bLeftPkOnly int32, aLeft uintptr, bRightPkOnly int32, aRight uintptr) int32 { /* sqlite3.c:211000:12: */ var a1 uintptr = aLeft // Cursor to iterate through aLeft var a2 uintptr = aRight // Cursor to iterate through aRight var iCol int32 // Used to iterate through table columns @@ -168451,7 +168482,7 @@ func sessionChangeEqual(tls *libc.TLS, pTab uintptr, bLeftPkOnly int32, aLeft ui // their. Otherwise, if aLeft contains a value, copy it. If neither // record contains a value for a given column, then neither does the // output record. -func sessionMergeRecord(tls *libc.TLS, paOut uintptr, nCol int32, aLeft uintptr, aRight uintptr) { /* sqlite3.c:210986:13: */ +func sessionMergeRecord(tls *libc.TLS, paOut uintptr, nCol int32, aLeft uintptr, aRight uintptr) { /* sqlite3.c:211043:13: */ var a1 uintptr = aLeft // Cursor used to iterate through aLeft var a2 uintptr = aRight // Cursor used to iterate through aRight var aOut uintptr = *(*uintptr)(unsafe.Pointer(paOut)) // Output cursor @@ -168490,7 +168521,7 @@ func sessionMergeRecord(tls *libc.TLS, paOut uintptr, nCol int32, aLeft uintptr, // if( *paTwo is valid ) return *paTwo; // return *paOne; // -func sessionMergeValue(tls *libc.TLS, paOne uintptr, paTwo uintptr, pnVal uintptr) uintptr { /* sqlite3.c:211032:11: */ +func sessionMergeValue(tls *libc.TLS, paOne uintptr, paTwo uintptr, pnVal uintptr) uintptr { /* sqlite3.c:211089:11: */ var a1 uintptr = *(*uintptr)(unsafe.Pointer(paOne)) var a2 uintptr = *(*uintptr)(unsafe.Pointer(paTwo)) var pRet uintptr = uintptr(0) @@ -168517,7 +168548,7 @@ func sessionMergeValue(tls *libc.TLS, paOne uintptr, paTwo uintptr, pnVal uintpt // This function is used by changeset_concat() to merge two UPDATE changes // on the same row. -func sessionMergeUpdate(tls *libc.TLS, paOut uintptr, pTab uintptr, bPatchset int32, aOldRecord1 uintptr, aOldRecord2 uintptr, aNewRecord1 uintptr, aNewRecord2 uintptr) int32 { /* sqlite3.c:211066:12: */ +func sessionMergeUpdate(tls *libc.TLS, paOut uintptr, pTab uintptr, bPatchset int32, aOldRecord1 uintptr, aOldRecord2 uintptr, aNewRecord1 uintptr, aNewRecord2 uintptr) int32 { /* sqlite3.c:211123:12: */ bp := tls.Alloc(52) defer tls.Free(52) @@ -168592,7 +168623,7 @@ func sessionMergeUpdate(tls *libc.TLS, paOut uintptr, pTab uintptr, bPatchset in // as the change stored in argument pChange. If so, it returns true. Otherwise // if the pre-update-hook does not affect the same row as pChange, it returns // false. -func sessionPreupdateEqual(tls *libc.TLS, pSession uintptr, pTab uintptr, pChange uintptr, op int32) int32 { /* sqlite3.c:211143:12: */ +func sessionPreupdateEqual(tls *libc.TLS, pSession uintptr, pTab uintptr, pChange uintptr, op int32) int32 { /* sqlite3.c:211200:12: */ bp := tls.Alloc(28) defer tls.Free(28) @@ -168680,7 +168711,7 @@ func sessionPreupdateEqual(tls *libc.TLS, pSession uintptr, pTab uintptr, pChang // that case the hash-table does not grow, but SQLITE_OK is returned anyway. // Growing the hash table in this case is a performance optimization only, // it is not required for correct operation. -func sessionGrowHash(tls *libc.TLS, pSession uintptr, bPatchset int32, pTab uintptr) int32 { /* sqlite3.c:211222:12: */ +func sessionGrowHash(tls *libc.TLS, pSession uintptr, bPatchset int32, pTab uintptr) int32 { /* sqlite3.c:211279:12: */ if (*SessionTable)(unsafe.Pointer(pTab)).FnChange == 0 || (*SessionTable)(unsafe.Pointer(pTab)).FnEntry >= (*SessionTable)(unsafe.Pointer(pTab)).FnChange/2 { var i int32 var apNew uintptr @@ -168744,7 +168775,7 @@ func sessionGrowHash(tls *libc.TLS, pSession uintptr, bPatchset int32, pTab uint // // All returned buffers are part of the same single allocation, which must // be freed using sqlite3_free() by the caller -func sessionTableInfo(tls *libc.TLS, pSession uintptr, db uintptr, zDb uintptr, zThis uintptr, pnCol uintptr, pzTab uintptr, pazCol uintptr, pabPK uintptr) int32 { /* sqlite3.c:211288:12: */ +func sessionTableInfo(tls *libc.TLS, pSession uintptr, db uintptr, zDb uintptr, zThis uintptr, pnCol uintptr, pzTab uintptr, pazCol uintptr, pabPK uintptr) int32 { /* sqlite3.c:211345:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -168875,7 +168906,7 @@ func sessionTableInfo(tls *libc.TLS, pSession uintptr, db uintptr, zDb uintptr, // key, sqlite3_session.rc is left set to SQLITE_OK and non-zero returned to // indicate that updates on this table should be ignored. SessionTable.abPK // is set to NULL in this case. -func sessionInitTable(tls *libc.TLS, pSession uintptr, pTab uintptr) int32 { /* sqlite3.c:211421:12: */ +func sessionInitTable(tls *libc.TLS, pSession uintptr, pTab uintptr) int32 { /* sqlite3.c:211478:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -168911,15 +168942,15 @@ func sessionInitTable(tls *libc.TLS, pSession uintptr, pTab uintptr) int32 { /* type SessionStat1Ctx1 = struct { Fhook SessionHook FpSession uintptr -} /* sqlite3.c:211456:9 */ +} /* sqlite3.c:211513:9 */ // Versions of the four methods in object SessionHook for use with the // sqlite_stat1 table. The purpose of this is to substitute a zero-length // blob each time a NULL value is read from the "idx" column of the // sqlite_stat1 table. -type SessionStat1Ctx = SessionStat1Ctx1 /* sqlite3.c:211456:32 */ +type SessionStat1Ctx = SessionStat1Ctx1 /* sqlite3.c:211513:32 */ -func sessionStat1Old(tls *libc.TLS, pCtx uintptr, iCol int32, ppVal uintptr) int32 { /* sqlite3.c:211461:12: */ +func sessionStat1Old(tls *libc.TLS, pCtx uintptr, iCol int32, ppVal uintptr) int32 { /* sqlite3.c:211518:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -168935,7 +168966,7 @@ func sessionStat1Old(tls *libc.TLS, pCtx uintptr, iCol int32, ppVal uintptr) int return rc } -func sessionStat1New(tls *libc.TLS, pCtx uintptr, iCol int32, ppVal uintptr) int32 { /* sqlite3.c:211471:12: */ +func sessionStat1New(tls *libc.TLS, pCtx uintptr, iCol int32, ppVal uintptr) int32 { /* sqlite3.c:211528:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -168951,21 +168982,21 @@ func sessionStat1New(tls *libc.TLS, pCtx uintptr, iCol int32, ppVal uintptr) int return rc } -func sessionStat1Count(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:211481:12: */ +func sessionStat1Count(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:211538:12: */ var p uintptr = pCtx return (*struct { f func(*libc.TLS, uintptr) int32 })(unsafe.Pointer(&struct{ uintptr }{(*SessionStat1Ctx)(unsafe.Pointer(p)).Fhook.FxCount})).f(tls, (*SessionStat1Ctx)(unsafe.Pointer(p)).Fhook.FpCtx) } -func sessionStat1Depth(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:211485:12: */ +func sessionStat1Depth(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:211542:12: */ var p uintptr = pCtx return (*struct { f func(*libc.TLS, uintptr) int32 })(unsafe.Pointer(&struct{ uintptr }{(*SessionStat1Ctx)(unsafe.Pointer(p)).Fhook.FxDepth})).f(tls, (*SessionStat1Ctx)(unsafe.Pointer(p)).Fhook.FpCtx) } -func sessionUpdateMaxSize(tls *libc.TLS, op int32, pSession uintptr, pTab uintptr, pC uintptr) int32 { /* sqlite3.c:211490:12: */ +func sessionUpdateMaxSize(tls *libc.TLS, op int32, pSession uintptr, pTab uintptr, pC uintptr) int32 { /* sqlite3.c:211547:12: */ bp := tls.Alloc(44) defer tls.Free(44) @@ -169079,7 +169110,7 @@ func sessionUpdateMaxSize(tls *libc.TLS, op int32, pSession uintptr, pTab uintpt // // Unless one is already present or an error occurs, an entry is added // to the changed-rows hash table associated with table pTab. -func sessionPreupdateOneChange(tls *libc.TLS, op int32, pSession uintptr, pTab uintptr) { /* sqlite3.c:211596:13: */ +func sessionPreupdateOneChange(tls *libc.TLS, op int32, pSession uintptr, pTab uintptr) { /* sqlite3.c:211653:13: */ bp := tls.Alloc(80) defer tls.Free(80) @@ -169375,7 +169406,7 @@ __35: __36: } -func sessionFindTable(tls *libc.TLS, pSession uintptr, zName uintptr, ppTab uintptr) int32 { /* sqlite3.c:211745:12: */ +func sessionFindTable(tls *libc.TLS, pSession uintptr, zName uintptr, ppTab uintptr) int32 { /* sqlite3.c:211802:12: */ var rc int32 = SQLITE_OK var nName int32 = Xsqlite3Strlen30(tls, zName) var pRet uintptr @@ -169410,7 +169441,7 @@ func sessionFindTable(tls *libc.TLS, pSession uintptr, zName uintptr, ppTab uint } // The 'pre-update' hook registered by this module with SQLite databases. -func xPreUpdate(tls *libc.TLS, pCtx uintptr, db uintptr, op int32, zDb uintptr, zName uintptr, iKey1 Sqlite3_int64, iKey2 Sqlite3_int64) { /* sqlite3.c:211785:13: */ +func xPreUpdate(tls *libc.TLS, pCtx uintptr, db uintptr, op int32, zDb uintptr, zName uintptr, iKey1 Sqlite3_int64, iKey2 Sqlite3_int64) { /* sqlite3.c:211842:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -169445,25 +169476,25 @@ func xPreUpdate(tls *libc.TLS, pCtx uintptr, db uintptr, op int32, zDb uintptr, } // The pre-update hook implementations. -func sessionPreupdateOld(tls *libc.TLS, pCtx uintptr, iVal int32, ppVal uintptr) int32 { /* sqlite3.c:211823:12: */ +func sessionPreupdateOld(tls *libc.TLS, pCtx uintptr, iVal int32, ppVal uintptr) int32 { /* sqlite3.c:211880:12: */ return Xsqlite3_preupdate_old(tls, pCtx, iVal, ppVal) } -func sessionPreupdateNew(tls *libc.TLS, pCtx uintptr, iVal int32, ppVal uintptr) int32 { /* sqlite3.c:211826:12: */ +func sessionPreupdateNew(tls *libc.TLS, pCtx uintptr, iVal int32, ppVal uintptr) int32 { /* sqlite3.c:211883:12: */ return Xsqlite3_preupdate_new(tls, pCtx, iVal, ppVal) } -func sessionPreupdateCount(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:211829:12: */ +func sessionPreupdateCount(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:211886:12: */ return Xsqlite3_preupdate_count(tls, pCtx) } -func sessionPreupdateDepth(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:211832:12: */ +func sessionPreupdateDepth(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:211889:12: */ return Xsqlite3_preupdate_depth(tls, pCtx) } // Install the pre-update hooks on the session object passed as the only // argument. -func sessionPreupdateHooks(tls *libc.TLS, pSession uintptr) { /* sqlite3.c:211840:13: */ +func sessionPreupdateHooks(tls *libc.TLS, pSession uintptr) { /* sqlite3.c:211897:13: */ (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx = (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FxOld = *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) int32 @@ -169483,24 +169514,24 @@ type SessionDiffCtx1 = struct { FpStmt uintptr FnOldOff int32 F__ccgo_pad1 [4]byte -} /* sqlite3.c:211850:9 */ +} /* sqlite3.c:211907:9 */ -type SessionDiffCtx = SessionDiffCtx1 /* sqlite3.c:211850:31 */ +type SessionDiffCtx = SessionDiffCtx1 /* sqlite3.c:211907:31 */ // The diff hook implementations. -func sessionDiffOld(tls *libc.TLS, pCtx uintptr, iVal int32, ppVal uintptr) int32 { /* sqlite3.c:211859:12: */ +func sessionDiffOld(tls *libc.TLS, pCtx uintptr, iVal int32, ppVal uintptr) int32 { /* sqlite3.c:211916:12: */ var p uintptr = pCtx *(*uintptr)(unsafe.Pointer(ppVal)) = Xsqlite3_column_value(tls, (*SessionDiffCtx)(unsafe.Pointer(p)).FpStmt, iVal+(*SessionDiffCtx)(unsafe.Pointer(p)).FnOldOff) return SQLITE_OK } -func sessionDiffNew(tls *libc.TLS, pCtx uintptr, iVal int32, ppVal uintptr) int32 { /* sqlite3.c:211864:12: */ +func sessionDiffNew(tls *libc.TLS, pCtx uintptr, iVal int32, ppVal uintptr) int32 { /* sqlite3.c:211921:12: */ var p uintptr = pCtx *(*uintptr)(unsafe.Pointer(ppVal)) = Xsqlite3_column_value(tls, (*SessionDiffCtx)(unsafe.Pointer(p)).FpStmt, iVal) return SQLITE_OK } -func sessionDiffCount(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:211869:12: */ +func sessionDiffCount(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:211926:12: */ var p uintptr = pCtx if (*SessionDiffCtx)(unsafe.Pointer(p)).FnOldOff != 0 { return (*SessionDiffCtx)(unsafe.Pointer(p)).FnOldOff @@ -169508,13 +169539,13 @@ func sessionDiffCount(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:211869:1 return Xsqlite3_column_count(tls, (*SessionDiffCtx)(unsafe.Pointer(p)).FpStmt) } -func sessionDiffDepth(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:211873:12: */ +func sessionDiffDepth(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:211930:12: */ return 0 } // Install the diff hooks on the session object passed as the only // argument. -func sessionDiffHooks(tls *libc.TLS, pSession uintptr, pDiffCtx uintptr) { /* sqlite3.c:211881:13: */ +func sessionDiffHooks(tls *libc.TLS, pSession uintptr, pDiffCtx uintptr) { /* sqlite3.c:211938:13: */ (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx = pDiffCtx (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FxOld = *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) int32 @@ -169530,7 +169561,7 @@ func sessionDiffHooks(tls *libc.TLS, pSession uintptr, pDiffCtx uintptr) { /* sq }{sessionDiffDepth})) } -func sessionExprComparePK(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uintptr, zTab uintptr, azCol uintptr, abPK uintptr) uintptr { /* sqlite3.c:211892:13: */ +func sessionExprComparePK(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uintptr, zTab uintptr, azCol uintptr, abPK uintptr) uintptr { /* sqlite3.c:211949:13: */ bp := tls.Alloc(64) defer tls.Free(64) @@ -169552,7 +169583,7 @@ func sessionExprComparePK(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uintptr, return zRet } -func sessionExprCompareOther(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uintptr, zTab uintptr, azCol uintptr, abPK uintptr) uintptr { /* sqlite3.c:211915:13: */ +func sessionExprCompareOther(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uintptr, zTab uintptr, azCol uintptr, abPK uintptr) uintptr { /* sqlite3.c:211972:13: */ bp := tls.Alloc(64) defer tls.Free(64) @@ -169582,7 +169613,7 @@ func sessionExprCompareOther(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uintp return zRet } -func sessionSelectFindNew(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uintptr, zTbl uintptr, zExpr uintptr) uintptr { /* sqlite3.c:211946:13: */ +func sessionSelectFindNew(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uintptr, zTbl uintptr, zExpr uintptr) uintptr { /* sqlite3.c:212003:13: */ bp := tls.Alloc(40) defer tls.Free(40) @@ -169593,7 +169624,7 @@ func sessionSelectFindNew(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uintptr, return zRet } -func sessionDiffFindNew(tls *libc.TLS, op int32, pSession uintptr, pTab uintptr, zDb1 uintptr, zDb2 uintptr, zExpr uintptr) int32 { /* sqlite3.c:211962:12: */ +func sessionDiffFindNew(tls *libc.TLS, op int32, pSession uintptr, pTab uintptr, zDb1 uintptr, zDb2 uintptr, zExpr uintptr) int32 { /* sqlite3.c:212019:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -169621,7 +169652,7 @@ func sessionDiffFindNew(tls *libc.TLS, op int32, pSession uintptr, pTab uintptr, return rc } -func sessionDiffFindModified(tls *libc.TLS, pSession uintptr, pTab uintptr, zFrom uintptr, zExpr uintptr) int32 { /* sqlite3.c:211993:12: */ +func sessionDiffFindModified(tls *libc.TLS, pSession uintptr, pTab uintptr, zFrom uintptr, zExpr uintptr) int32 { /* sqlite3.c:212050:12: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -169658,7 +169689,7 @@ func sessionDiffFindModified(tls *libc.TLS, pSession uintptr, pTab uintptr, zFro return rc } -func Xsqlite3session_diff(tls *libc.TLS, pSession uintptr, zFrom uintptr, zTbl uintptr, pzErrMsg uintptr) int32 { /* sqlite3.c:212033:16: */ +func Xsqlite3session_diff(tls *libc.TLS, pSession uintptr, zFrom uintptr, zTbl uintptr, pzErrMsg uintptr) int32 { /* sqlite3.c:212090:16: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -169831,7 +169862,7 @@ diff_out: // Create a session object. This session object will record changes to // database zDb attached to connection db. -func Xsqlite3session_create(tls *libc.TLS, db uintptr, zDb uintptr, ppSession uintptr) int32 { /* sqlite3.c:212128:16: */ +func Xsqlite3session_create(tls *libc.TLS, db uintptr, zDb uintptr, ppSession uintptr) int32 { /* sqlite3.c:212185:16: */ var pNew uintptr // Newly allocated session object var pOld uintptr // Session object already attached to db var nDb int32 = Xsqlite3Strlen30(tls, zDb) // Length of zDb in bytes @@ -169867,7 +169898,7 @@ func Xsqlite3session_create(tls *libc.TLS, db uintptr, zDb uintptr, ppSession ui // Free the list of table objects passed as the first argument. The contents // of the changed-rows hash tables are also deleted. -func sessionDeleteTable(tls *libc.TLS, pSession uintptr, pList uintptr) { /* sqlite3.c:212166:13: */ +func sessionDeleteTable(tls *libc.TLS, pSession uintptr, pList uintptr) { /* sqlite3.c:212223:13: */ var pNext uintptr var pTab uintptr @@ -169889,7 +169920,7 @@ func sessionDeleteTable(tls *libc.TLS, pSession uintptr, pList uintptr) { /* sql } // Delete a session object previously allocated using sqlite3session_create(). -func Xsqlite3session_delete(tls *libc.TLS, pSession uintptr) { /* sqlite3.c:212190:17: */ +func Xsqlite3session_delete(tls *libc.TLS, pSession uintptr) { /* sqlite3.c:212247:17: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -169927,7 +169958,7 @@ func Xsqlite3session_delete(tls *libc.TLS, pSession uintptr) { /* sqlite3.c:2121 } // Set a table filter on a Session Object. -func Xsqlite3session_table_filter(tls *libc.TLS, pSession uintptr, xFilter uintptr, pCtx uintptr) { /* sqlite3.c:212222:17: */ +func Xsqlite3session_table_filter(tls *libc.TLS, pSession uintptr, xFilter uintptr, pCtx uintptr) { /* sqlite3.c:212279:17: */ (*Sqlite3_session)(unsafe.Pointer(pSession)).FbAutoAttach = 1 (*Sqlite3_session)(unsafe.Pointer(pSession)).FpFilterCtx = pCtx (*Sqlite3_session)(unsafe.Pointer(pSession)).FxTableFilter = xFilter @@ -169939,7 +169970,7 @@ func Xsqlite3session_table_filter(tls *libc.TLS, pSession uintptr, xFilter uintp // Only tables that have a PRIMARY KEY defined may be attached. It does // not matter if the PRIMARY KEY is an "INTEGER PRIMARY KEY" (rowid alias) // or not. -func Xsqlite3session_attach(tls *libc.TLS, pSession uintptr, zName uintptr) int32 { /* sqlite3.c:212240:16: */ +func Xsqlite3session_attach(tls *libc.TLS, pSession uintptr, zName uintptr) int32 { /* sqlite3.c:212297:16: */ var rc int32 = SQLITE_OK Xsqlite3_mutex_enter(tls, Xsqlite3_db_mutex(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb)) @@ -169990,7 +170021,7 @@ func Xsqlite3session_attach(tls *libc.TLS, pSession uintptr, zName uintptr) int3 // // If successful, return zero. Otherwise, if an OOM condition is encountered, // set *pRc to SQLITE_NOMEM and return non-zero. -func sessionBufferGrow(tls *libc.TLS, p uintptr, nByte I64, pRc uintptr) int32 { /* sqlite3.c:212293:12: */ +func sessionBufferGrow(tls *libc.TLS, p uintptr, nByte I64, pRc uintptr) int32 { /* sqlite3.c:212350:12: */ var nReq I64 = I64((*SessionBuffer)(unsafe.Pointer(p)).FnBuf) + nByte if *(*int32)(unsafe.Pointer(pRc)) == SQLITE_OK && nReq > I64((*SessionBuffer)(unsafe.Pointer(p)).FnAlloc) { var aNew uintptr @@ -170035,7 +170066,7 @@ func sessionBufferGrow(tls *libc.TLS, p uintptr, nByte I64, pRc uintptr) int32 { // This function is a no-op if *pRc is non-zero when it is called. // Otherwise, if an error occurs, *pRc is set to an SQLite error code // before returning. -func sessionAppendValue(tls *libc.TLS, p uintptr, pVal uintptr, pRc uintptr) { /* sqlite3.c:212336:13: */ +func sessionAppendValue(tls *libc.TLS, p uintptr, pVal uintptr, pRc uintptr) { /* sqlite3.c:212393:13: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -170058,7 +170089,7 @@ func sessionAppendValue(tls *libc.TLS, p uintptr, pVal uintptr, pRc uintptr) { / // // If an OOM condition is encountered, set *pRc to SQLITE_NOMEM before // returning. -func sessionAppendByte(tls *libc.TLS, p uintptr, v U8, pRc uintptr) { /* sqlite3.c:212358:13: */ +func sessionAppendByte(tls *libc.TLS, p uintptr, v U8, pRc uintptr) { /* sqlite3.c:212415:13: */ if 0 == sessionBufferGrow(tls, p, int64(1), pRc) { *(*U8)(unsafe.Pointer((*SessionBuffer)(unsafe.Pointer(p)).FaBuf + uintptr(libc.PostIncInt32(&(*SessionBuffer)(unsafe.Pointer(p)).FnBuf, 1)))) = v } @@ -170069,7 +170100,7 @@ func sessionAppendByte(tls *libc.TLS, p uintptr, v U8, pRc uintptr) { /* sqlite3 // // If an OOM condition is encountered, set *pRc to SQLITE_NOMEM before // returning. -func sessionAppendVarint(tls *libc.TLS, p uintptr, v int32, pRc uintptr) { /* sqlite3.c:212371:13: */ +func sessionAppendVarint(tls *libc.TLS, p uintptr, v int32, pRc uintptr) { /* sqlite3.c:212428:13: */ if 0 == sessionBufferGrow(tls, p, int64(9), pRc) { *(*int32)(unsafe.Pointer(p + 8)) += sessionVarintPut(tls, (*SessionBuffer)(unsafe.Pointer(p)).FaBuf+uintptr((*SessionBuffer)(unsafe.Pointer(p)).FnBuf), v) } @@ -170080,7 +170111,7 @@ func sessionAppendVarint(tls *libc.TLS, p uintptr, v int32, pRc uintptr) { /* sq // // If an OOM condition is encountered, set *pRc to SQLITE_NOMEM before // returning. -func sessionAppendBlob(tls *libc.TLS, p uintptr, aBlob uintptr, nBlob int32, pRc uintptr) { /* sqlite3.c:212384:13: */ +func sessionAppendBlob(tls *libc.TLS, p uintptr, aBlob uintptr, nBlob int32, pRc uintptr) { /* sqlite3.c:212441:13: */ if nBlob > 0 && 0 == sessionBufferGrow(tls, p, int64(nBlob), pRc) { libc.Xmemcpy(tls, (*SessionBuffer)(unsafe.Pointer(p)).FaBuf+uintptr((*SessionBuffer)(unsafe.Pointer(p)).FnBuf), aBlob, uint64(nBlob)) *(*int32)(unsafe.Pointer(p + 8)) += nBlob @@ -170093,7 +170124,7 @@ func sessionAppendBlob(tls *libc.TLS, p uintptr, aBlob uintptr, nBlob int32, pRc // // If an OOM condition is encountered, set *pRc to SQLITE_NOMEM before // returning. -func sessionAppendStr(tls *libc.TLS, p uintptr, zStr uintptr, pRc uintptr) { /* sqlite3.c:212404:13: */ +func sessionAppendStr(tls *libc.TLS, p uintptr, zStr uintptr, pRc uintptr) { /* sqlite3.c:212461:13: */ var nStr int32 = Xsqlite3Strlen30(tls, zStr) if 0 == sessionBufferGrow(tls, p, int64(nStr), pRc) { libc.Xmemcpy(tls, (*SessionBuffer)(unsafe.Pointer(p)).FaBuf+uintptr((*SessionBuffer)(unsafe.Pointer(p)).FnBuf), zStr, uint64(nStr)) @@ -170107,7 +170138,7 @@ func sessionAppendStr(tls *libc.TLS, p uintptr, zStr uintptr, pRc uintptr) { /* // // If an OOM condition is encountered, set *pRc to SQLITE_NOMEM before // returning. -func sessionAppendInteger(tls *libc.TLS, p uintptr, iVal int32, pRc uintptr) { /* sqlite3.c:212424:13: */ +func sessionAppendInteger(tls *libc.TLS, p uintptr, iVal int32, pRc uintptr) { /* sqlite3.c:212481:13: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -170124,7 +170155,7 @@ func sessionAppendInteger(tls *libc.TLS, p uintptr, iVal int32, pRc uintptr) { / // // If an OOM condition is encountered, set *pRc to SQLITE_NOMEM before // returning. -func sessionAppendIdent(tls *libc.TLS, p uintptr, zStr uintptr, pRc uintptr) { /* sqlite3.c:212443:13: */ +func sessionAppendIdent(tls *libc.TLS, p uintptr, zStr uintptr, pRc uintptr) { /* sqlite3.c:212500:13: */ var nStr int32 = Xsqlite3Strlen30(tls, zStr)*2 + 2 + 1 if 0 == sessionBufferGrow(tls, p, int64(nStr), pRc) { var zOut uintptr = (*SessionBuffer)(unsafe.Pointer(p)).FaBuf + uintptr((*SessionBuffer)(unsafe.Pointer(p)).FnBuf) @@ -170145,7 +170176,7 @@ func sessionAppendIdent(tls *libc.TLS, p uintptr, zStr uintptr, pRc uintptr) { / // called. Otherwse, it appends the serialized version of the value stored // in column iCol of the row that SQL statement pStmt currently points // to to the buffer. -func sessionAppendCol(tls *libc.TLS, p uintptr, pStmt uintptr, iCol int32, pRc uintptr) { /* sqlite3.c:212468:13: */ +func sessionAppendCol(tls *libc.TLS, p uintptr, pStmt uintptr, iCol int32, pRc uintptr) { /* sqlite3.c:212525:13: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -170205,7 +170236,7 @@ func sessionAppendCol(tls *libc.TLS, p uintptr, pStmt uintptr, iCol int32, pRc u // Otherwise, the old.* record contains all primary key values and the // original values of any fields that have been modified. The new.* record // contains the new values of only those fields that have been modified. -func sessionAppendUpdate(tls *libc.TLS, pBuf uintptr, bPatchset int32, pStmt uintptr, p uintptr, abPK uintptr) int32 { /* sqlite3.c:212530:12: */ +func sessionAppendUpdate(tls *libc.TLS, pBuf uintptr, bPatchset int32, pStmt uintptr, p uintptr, abPK uintptr) int32 { /* sqlite3.c:212587:12: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -170311,7 +170342,7 @@ func sessionAppendUpdate(tls *libc.TLS, pBuf uintptr, bPatchset int32, pStmt uin // Append a DELETE change to the buffer passed as the first argument. Use // the changeset format if argument bPatchset is zero, or the patchset // format otherwise. -func sessionAppendDelete(tls *libc.TLS, pBuf uintptr, bPatchset int32, p uintptr, nCol int32, abPK uintptr) int32 { /* sqlite3.c:212630:12: */ +func sessionAppendDelete(tls *libc.TLS, pBuf uintptr, bPatchset int32, p uintptr, nCol int32, abPK uintptr) int32 { /* sqlite3.c:212687:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -170368,7 +170399,7 @@ func sessionAppendDelete(tls *libc.TLS, pBuf uintptr, bPatchset int32, p uintptr // zTab in database zDb based on its primary key. i.e. // // SELECT * FROM zDb.zTab WHERE pk1 = ? AND pk2 = ? AND ... -func sessionSelectStmt(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, nCol int32, azCol uintptr, abPK uintptr, ppStmt uintptr) int32 { /* sqlite3.c:212685:12: */ +func sessionSelectStmt(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, nCol int32, azCol uintptr, abPK uintptr, ppStmt uintptr) int32 { /* sqlite3.c:212742:12: */ bp := tls.Alloc(28) defer tls.Free(28) @@ -170419,7 +170450,7 @@ func sessionSelectStmt(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, nCo // // Return SQLITE_OK if all PK values are successfully bound, or an SQLite // error code (e.g. SQLITE_NOMEM) otherwise. -func sessionSelectBind(tls *libc.TLS, pSelect uintptr, nCol int32, abPK uintptr, pChange uintptr) int32 { /* sqlite3.c:212742:12: */ +func sessionSelectBind(tls *libc.TLS, pSelect uintptr, nCol int32, abPK uintptr, pChange uintptr) int32 { /* sqlite3.c:212799:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -170497,7 +170528,7 @@ func sessionSelectBind(tls *libc.TLS, pSelect uintptr, nCol int32, abPK uintptr, // is called. Otherwise, append a serialized table header (part of the binary // changeset format) to buffer *pBuf. If an error occurs, set *pRc to an // SQLite error code before returning. -func sessionAppendTableHdr(tls *libc.TLS, pBuf uintptr, bPatchset int32, pTab uintptr, pRc uintptr) { /* sqlite3.c:212813:13: */ +func sessionAppendTableHdr(tls *libc.TLS, pBuf uintptr, bPatchset int32, pTab uintptr, pRc uintptr) { /* sqlite3.c:212870:13: */ // Write a table header sessionAppendByte(tls, pBuf, func() uint8 { if bPatchset != 0 { @@ -170518,7 +170549,7 @@ func sessionAppendTableHdr(tls *libc.TLS, pBuf uintptr, bPatchset int32, pTab ui // stored in output variables *pnChangeset and *ppChangeset. Or, if an error // 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) int32 { /* sqlite3.c:212836:12: */ +func sessionGenerateChangeset(tls *libc.TLS, pSession uintptr, bPatchset int32, xOutput uintptr, pOut uintptr, pnChangeset uintptr, ppChangeset uintptr) int32 { /* sqlite3.c:212893:12: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -170648,7 +170679,7 @@ func sessionGenerateChangeset(tls *libc.TLS, pSession uintptr, bPatchset int32, // // It is the responsibility of the caller to eventually free the buffer // using sqlite3_free(). -func Xsqlite3session_changeset(tls *libc.TLS, pSession uintptr, pnChangeset uintptr, ppChangeset uintptr) int32 { /* sqlite3.c:212965:16: */ +func Xsqlite3session_changeset(tls *libc.TLS, pSession uintptr, pnChangeset uintptr, ppChangeset uintptr) int32 { /* sqlite3.c:213022:16: */ var rc int32 if pnChangeset == uintptr(0) || ppChangeset == uintptr(0) { @@ -170660,7 +170691,7 @@ func Xsqlite3session_changeset(tls *libc.TLS, pSession uintptr, pnChangeset uint } // Streaming version of sqlite3session_changeset(). -func Xsqlite3session_changeset_strm(tls *libc.TLS, pSession uintptr, xOutput uintptr, pOut uintptr) int32 { /* sqlite3.c:212983:16: */ +func Xsqlite3session_changeset_strm(tls *libc.TLS, pSession uintptr, xOutput uintptr, pOut uintptr) int32 { /* sqlite3.c:213040:16: */ if xOutput == uintptr(0) { return SQLITE_MISUSE } @@ -170668,7 +170699,7 @@ func Xsqlite3session_changeset_strm(tls *libc.TLS, pSession uintptr, xOutput uin } // Streaming version of sqlite3session_patchset(). -func Xsqlite3session_patchset_strm(tls *libc.TLS, pSession uintptr, xOutput uintptr, pOut uintptr) int32 { /* sqlite3.c:212995:16: */ +func Xsqlite3session_patchset_strm(tls *libc.TLS, pSession uintptr, xOutput uintptr, pOut uintptr) int32 { /* sqlite3.c:213052:16: */ if xOutput == uintptr(0) { return SQLITE_MISUSE } @@ -170680,7 +170711,7 @@ func Xsqlite3session_patchset_strm(tls *libc.TLS, pSession uintptr, xOutput uint // // It is the responsibility of the caller to eventually free the buffer // using sqlite3_free(). -func Xsqlite3session_patchset(tls *libc.TLS, pSession uintptr, pnPatchset uintptr, ppPatchset uintptr) int32 { /* sqlite3.c:213011:16: */ +func Xsqlite3session_patchset(tls *libc.TLS, pSession uintptr, pnPatchset uintptr, ppPatchset uintptr) int32 { /* sqlite3.c:213068:16: */ if pnPatchset == uintptr(0) || ppPatchset == uintptr(0) { return SQLITE_MISUSE } @@ -170688,7 +170719,7 @@ func Xsqlite3session_patchset(tls *libc.TLS, pSession uintptr, pnPatchset uintpt } // Enable or disable the session object passed as the first argument. -func Xsqlite3session_enable(tls *libc.TLS, pSession uintptr, bEnable int32) int32 { /* sqlite3.c:213023:16: */ +func Xsqlite3session_enable(tls *libc.TLS, pSession uintptr, bEnable int32) int32 { /* sqlite3.c:213080:16: */ var ret int32 Xsqlite3_mutex_enter(tls, Xsqlite3_db_mutex(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb)) if bEnable >= 0 { @@ -170700,7 +170731,7 @@ func Xsqlite3session_enable(tls *libc.TLS, pSession uintptr, bEnable int32) int3 } // Enable or disable the session object passed as the first argument. -func Xsqlite3session_indirect(tls *libc.TLS, pSession uintptr, bIndirect int32) int32 { /* sqlite3.c:213037:16: */ +func Xsqlite3session_indirect(tls *libc.TLS, pSession uintptr, bIndirect int32) int32 { /* sqlite3.c:213094:16: */ var ret int32 Xsqlite3_mutex_enter(tls, Xsqlite3_db_mutex(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb)) if bIndirect >= 0 { @@ -170713,7 +170744,7 @@ func Xsqlite3session_indirect(tls *libc.TLS, pSession uintptr, bIndirect int32) // Return true if there have been no changes to monitored tables recorded // by the session object passed as the only argument. -func Xsqlite3session_isempty(tls *libc.TLS, pSession uintptr) int32 { /* sqlite3.c:213052:16: */ +func Xsqlite3session_isempty(tls *libc.TLS, pSession uintptr) int32 { /* sqlite3.c:213109:16: */ var ret int32 = 0 var pTab uintptr @@ -170727,12 +170758,12 @@ func Xsqlite3session_isempty(tls *libc.TLS, pSession uintptr) int32 { /* sqlite3 } // Return the amount of heap memory in use. -func Xsqlite3session_memory_used(tls *libc.TLS, pSession uintptr) Sqlite3_int64 { /* sqlite3.c:213068:26: */ +func Xsqlite3session_memory_used(tls *libc.TLS, pSession uintptr) Sqlite3_int64 { /* sqlite3.c:213125:26: */ return (*Sqlite3_session)(unsafe.Pointer(pSession)).FnMalloc } // Configure the session object passed as the first argument. -func Xsqlite3session_object_config(tls *libc.TLS, pSession uintptr, op int32, pArg uintptr) int32 { /* sqlite3.c:213075:16: */ +func Xsqlite3session_object_config(tls *libc.TLS, pSession uintptr, op int32, pArg uintptr) int32 { /* sqlite3.c:213132:16: */ var rc int32 = SQLITE_OK switch op { case SQLITE_SESSION_OBJCONFIG_SIZE: @@ -170758,12 +170789,12 @@ func Xsqlite3session_object_config(tls *libc.TLS, pSession uintptr, op int32, pA } // Return the maximum size of sqlite3session_changeset() output. -func Xsqlite3session_changeset_size(tls *libc.TLS, pSession uintptr) Sqlite3_int64 { /* sqlite3.c:213101:26: */ +func Xsqlite3session_changeset_size(tls *libc.TLS, pSession uintptr) Sqlite3_int64 { /* sqlite3.c:213158:26: */ return (*Sqlite3_session)(unsafe.Pointer(pSession)).FnMaxChangesetSize } // 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) int32 { /* sqlite3.c:213108:12: */ +func sessionChangesetStart(tls *libc.TLS, pp uintptr, xInput uintptr, pIn uintptr, nChangeset int32, pChangeset uintptr, bInvert int32, bSkipEmpty int32) int32 { /* sqlite3.c:213165:12: */ var pRet uintptr // Iterator to return var nByte int32 // Number of bytes to allocate for iterator @@ -170796,28 +170827,28 @@ func sessionChangesetStart(tls *libc.TLS, pp uintptr, xInput uintptr, pIn uintpt } // Create an iterator used to iterate through the contents of a changeset. -func Xsqlite3changeset_start(tls *libc.TLS, pp uintptr, nChangeset int32, pChangeset uintptr) int32 { /* sqlite3.c:213146:16: */ +func Xsqlite3changeset_start(tls *libc.TLS, pp uintptr, nChangeset int32, pChangeset uintptr) int32 { /* sqlite3.c:213203:16: */ return sessionChangesetStart(tls, pp, uintptr(0), uintptr(0), nChangeset, pChangeset, 0, 0) } -func Xsqlite3changeset_start_v2(tls *libc.TLS, pp uintptr, nChangeset int32, pChangeset uintptr, flags int32) int32 { /* sqlite3.c:213153:16: */ +func Xsqlite3changeset_start_v2(tls *libc.TLS, pp uintptr, nChangeset int32, pChangeset uintptr, flags int32) int32 { /* sqlite3.c:213210:16: */ var bInvert int32 = libc.BoolInt32(!!(flags&SQLITE_CHANGESETSTART_INVERT != 0)) return sessionChangesetStart(tls, pp, uintptr(0), uintptr(0), nChangeset, pChangeset, bInvert, 0) } // Streaming version of sqlite3changeset_start(). -func Xsqlite3changeset_start_strm(tls *libc.TLS, pp uintptr, xInput uintptr, pIn uintptr) int32 { /* sqlite3.c:213166:16: */ +func Xsqlite3changeset_start_strm(tls *libc.TLS, pp uintptr, xInput uintptr, pIn uintptr) int32 { /* sqlite3.c:213223:16: */ return sessionChangesetStart(tls, pp, xInput, pIn, 0, uintptr(0), 0, 0) } -func Xsqlite3changeset_start_v2_strm(tls *libc.TLS, pp uintptr, xInput uintptr, pIn uintptr, flags int32) int32 { /* sqlite3.c:213173:16: */ +func Xsqlite3changeset_start_v2_strm(tls *libc.TLS, pp uintptr, xInput uintptr, pIn uintptr, flags int32) int32 { /* sqlite3.c:213230:16: */ var bInvert int32 = libc.BoolInt32(!!(flags&SQLITE_CHANGESETSTART_INVERT != 0)) return sessionChangesetStart(tls, pp, xInput, pIn, 0, uintptr(0), bInvert, 0) } // If the SessionInput object passed as the only argument is a streaming // object and the buffer is full, discard some data to free up space. -func sessionDiscardData(tls *libc.TLS, pIn uintptr) { /* sqlite3.c:213187:13: */ +func sessionDiscardData(tls *libc.TLS, pIn uintptr) { /* sqlite3.c:213244:13: */ if (*SessionInput)(unsafe.Pointer(pIn)).FxInput != 0 && (*SessionInput)(unsafe.Pointer(pIn)).FiNext >= sessions_strm_chunk_size { var nMove int32 = (*SessionInput)(unsafe.Pointer(pIn)).Fbuf.FnBuf - (*SessionInput)(unsafe.Pointer(pIn)).FiNext @@ -170835,7 +170866,7 @@ func sessionDiscardData(tls *libc.TLS, pIn uintptr) { /* sqlite3.c:213187:13: */ // data is in the buffer. // // Return an SQLite error code if an error occurs, or SQLITE_OK otherwise. -func sessionInputBuffer(tls *libc.TLS, pIn uintptr, nByte int32) int32 { /* sqlite3.c:213207:12: */ +func sessionInputBuffer(tls *libc.TLS, pIn uintptr, nByte int32) int32 { /* sqlite3.c:213264:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -170868,7 +170899,7 @@ func sessionInputBuffer(tls *libc.TLS, pIn uintptr, nByte int32) int32 { /* sqli // When this function is called, *ppRec points to the start of a record // that contains nCol values. This function advances the pointer *ppRec // until it points to the byte immediately following that record. -func sessionSkipRecord(tls *libc.TLS, ppRec uintptr, nCol int32) { /* sqlite3.c:213235:13: */ +func sessionSkipRecord(tls *libc.TLS, ppRec uintptr, nCol int32) { /* sqlite3.c:213292:13: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -170893,7 +170924,7 @@ func sessionSkipRecord(tls *libc.TLS, ppRec uintptr, nCol int32) { /* sqlite3.c: // first argument to a copy of the string or blob held in the aData[] // buffer. SQLITE_OK is returned if successful, or SQLITE_NOMEM if an OOM // error occurs. -func sessionValueSetStr(tls *libc.TLS, pVal uintptr, aData uintptr, nData int32, enc U8) int32 { /* sqlite3.c:213261:12: */ +func sessionValueSetStr(tls *libc.TLS, pVal uintptr, aData uintptr, nData int32, enc U8) int32 { /* sqlite3.c:213318:12: */ // In theory this code could just pass SQLITE_TRANSIENT as the final // argument to sqlite3ValueSetStr() and have the copy created // automatically. But doing so makes it difficult to detect any OOM @@ -170929,7 +170960,7 @@ func sessionValueSetStr(tls *libc.TLS, pVal uintptr, aData uintptr, nData int32, // // If an error occurs, an SQLite error code (e.g. SQLITE_NOMEM) is returned. // The apOut[] array may have been partially populated in this case. -func sessionReadRecord(tls *libc.TLS, pIn uintptr, nCol int32, abPK uintptr, apOut uintptr, pbEmpty uintptr) int32 { /* sqlite3.c:213302:12: */ +func sessionReadRecord(tls *libc.TLS, pIn uintptr, nCol int32, abPK uintptr, apOut uintptr, pbEmpty uintptr) int32 { /* sqlite3.c:213359:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -170947,7 +170978,7 @@ func sessionReadRecord(tls *libc.TLS, pIn uintptr, nCol int32, abPK uintptr, apO rc = sessionInputBuffer(tls, pIn, 9) if rc == SQLITE_OK { if (*SessionInput)(unsafe.Pointer(pIn)).FiNext >= (*SessionInput)(unsafe.Pointer(pIn)).FnData { - rc = Xsqlite3CorruptError(tls, 213320) + rc = Xsqlite3CorruptError(tls, 213377) } else { eType = int32(*(*U8)(unsafe.Pointer((*SessionInput)(unsafe.Pointer(pIn)).FaData + uintptr(libc.PostIncInt32(&(*SessionInput)(unsafe.Pointer(pIn)).FiNext, 1))))) @@ -170972,7 +171003,7 @@ func sessionReadRecord(tls *libc.TLS, pIn uintptr, nCol int32, abPK uintptr, apO rc = sessionInputBuffer(tls, pIn, *(*int32)(unsafe.Pointer(bp /* nByte */))) if rc == SQLITE_OK { if *(*int32)(unsafe.Pointer(bp)) < 0 || *(*int32)(unsafe.Pointer(bp)) > (*SessionInput)(unsafe.Pointer(pIn)).FnData-(*SessionInput)(unsafe.Pointer(pIn)).FiNext { - rc = Xsqlite3CorruptError(tls, 213340) + rc = Xsqlite3CorruptError(tls, 213397) } else { var enc U8 = func() uint8 { if eType == SQLITE_TEXT { @@ -171014,7 +171045,7 @@ func sessionReadRecord(tls *libc.TLS, pIn uintptr, nCol int32, abPK uintptr, apO // buffer (i.e. that it can be accessed without any calls to xInput()). // If successful, SQLITE_OK is returned. Otherwise, an SQLite error code. // The input pointer is not moved. -func sessionChangesetBufferTblhdr(tls *libc.TLS, pIn uintptr, pnByte uintptr) int32 { /* sqlite3.c:213378:12: */ +func sessionChangesetBufferTblhdr(tls *libc.TLS, pIn uintptr, pnByte uintptr) int32 { /* sqlite3.c:213435:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -171033,7 +171064,7 @@ func sessionChangesetBufferTblhdr(tls *libc.TLS, pIn uintptr, pnByte uintptr) in // 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)) > 65536 { - rc = Xsqlite3CorruptError(tls, 213394) + rc = Xsqlite3CorruptError(tls, 213451) } else { rc = sessionInputBuffer(tls, pIn, nRead+*(*int32)(unsafe.Pointer(bp))+100) nRead = nRead + *(*int32)(unsafe.Pointer(bp)) @@ -171060,7 +171091,7 @@ func sessionChangesetBufferTblhdr(tls *libc.TLS, pIn uintptr, pnByte uintptr) in // If successful, SQLITE_OK is returned and *pnByte is set to the size of // the record in bytes. Otherwise, an SQLite error code is returned. The // final value of *pnByte is undefined in this case. -func sessionChangesetBufferRecord(tls *libc.TLS, pIn uintptr, nCol int32, pnByte uintptr) int32 { /* sqlite3.c:213421:12: */ +func sessionChangesetBufferRecord(tls *libc.TLS, pIn uintptr, nCol int32, pnByte uintptr) int32 { /* sqlite3.c:213478:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -171102,7 +171133,7 @@ func sessionChangesetBufferRecord(tls *libc.TLS, pIn uintptr, nCol int32, pnByte // If successful, SQLITE_OK is returned. Otherwise, an SQLite error code // is returned and the final values of the various fields enumerated above // are undefined. -func sessionChangesetReadTblhdr(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:213465:12: */ +func sessionChangesetReadTblhdr(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:213522:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -171122,7 +171153,7 @@ func sessionChangesetReadTblhdr(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:2 (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Ftblhdr.FnBuf = 0 sessionBufferGrow(tls, p+72, int64(nByte), bp+4) } else { - *(*int32)(unsafe.Pointer(bp + 4 /* rc */)) = Xsqlite3CorruptError(tls, 213482) + *(*int32)(unsafe.Pointer(bp + 4 /* rc */)) = Xsqlite3CorruptError(tls, 213539) } } @@ -171157,7 +171188,7 @@ func sessionChangesetReadTblhdr(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:2 // // * If the iterator is configured to skip no-op UPDATEs, // sessionChangesetNext() does that. This function does not. -func sessionChangesetNextOne(tls *libc.TLS, p uintptr, paRec uintptr, pnRec uintptr, pbNew uintptr, pbEmpty uintptr) int32 { /* sqlite3.c:213514:12: */ +func sessionChangesetNextOne(tls *libc.TLS, p uintptr, paRec uintptr, pnRec uintptr, pbNew uintptr, pbEmpty uintptr) int32 { /* sqlite3.c:213571:12: */ var i int32 var op U8 @@ -171214,13 +171245,13 @@ func sessionChangesetNextOne(tls *libc.TLS, p uintptr, paRec uintptr, pnRec uint // The first record in the changeset is not a table header. Must be a // corrupt changeset. - return libc.AssignPtrInt32(p+100, Xsqlite3CorruptError(tls, 213568)) + return libc.AssignPtrInt32(p+100, Xsqlite3CorruptError(tls, 213625)) } (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fop = int32(op) (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FbIndirect = int32(*(*U8)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FaData + uintptr(libc.PostIncInt32(&(*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FiNext, 1))))) if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fop != SQLITE_UPDATE && (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fop != SQLITE_DELETE && (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fop != SQLITE_INSERT { - return libc.AssignPtrInt32(p+100, Xsqlite3CorruptError(tls, 213574)) + return libc.AssignPtrInt32(p+100, Xsqlite3CorruptError(tls, 213631)) } if paRec != 0 { @@ -171290,7 +171321,7 @@ func sessionChangesetNextOne(tls *libc.TLS, p uintptr, paRec uintptr, pnRec uint *(*uintptr)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue + uintptr(i)*8)) = *(*uintptr)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue + uintptr(i+(*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol)*8)) if *(*uintptr)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue + uintptr(i)*8)) == uintptr(0) { - return libc.AssignPtrInt32(p+100, Xsqlite3CorruptError(tls, 213618)) + return libc.AssignPtrInt32(p+100, Xsqlite3CorruptError(tls, 213675)) } *(*uintptr)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue + uintptr(i+(*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol)*8)) = uintptr(0) } @@ -171321,7 +171352,7 @@ func sessionChangesetNextOne(tls *libc.TLS, p uintptr, paRec uintptr, pnRec uint // successfully advanced to the next change in the changeset, an SQLite // error code if an error occurs, or SQLITE_DONE if there are no further // changes in the changeset. -func sessionChangesetNext(tls *libc.TLS, p uintptr, paRec uintptr, pnRec uintptr, pbNew uintptr) int32 { /* sqlite3.c:213647:12: */ +func sessionChangesetNext(tls *libc.TLS, p uintptr, paRec uintptr, pnRec uintptr, pbNew uintptr) int32 { /* sqlite3.c:213704:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -171341,14 +171372,14 @@ func sessionChangesetNext(tls *libc.TLS, p uintptr, paRec uintptr, pnRec uintptr // // This function may not be called on iterators passed to a conflict handler // callback by changeset_apply(). -func Xsqlite3changeset_next(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:213670:16: */ +func Xsqlite3changeset_next(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:213727:16: */ return sessionChangesetNext(tls, p, uintptr(0), uintptr(0), uintptr(0)) } // The following function extracts information on the current change // from a changeset iterator. It may only be called after changeset_next() // has returned SQLITE_ROW. -func Xsqlite3changeset_op(tls *libc.TLS, pIter uintptr, pzTab uintptr, pnCol uintptr, pOp uintptr, pbIndirect uintptr) int32 { /* sqlite3.c:213679:16: */ +func Xsqlite3changeset_op(tls *libc.TLS, pIter uintptr, pzTab uintptr, pnCol uintptr, pOp uintptr, pbIndirect uintptr) int32 { /* sqlite3.c:213736:16: */ *(*int32)(unsafe.Pointer(pOp)) = (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fop *(*int32)(unsafe.Pointer(pnCol)) = (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol *(*uintptr)(unsafe.Pointer(pzTab)) = (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FzTab @@ -171362,7 +171393,7 @@ func Xsqlite3changeset_op(tls *libc.TLS, pIter uintptr, pzTab uintptr, pnCol uin // the database table affected by the change that pIter currently points // to. This function may only be called after changeset_next() returns // SQLITE_ROW. -func Xsqlite3changeset_pk(tls *libc.TLS, pIter uintptr, pabPK uintptr, pnCol uintptr) int32 { /* sqlite3.c:213699:16: */ +func Xsqlite3changeset_pk(tls *libc.TLS, pIter uintptr, pabPK uintptr, pnCol uintptr) int32 { /* sqlite3.c:213756:16: */ *(*uintptr)(unsafe.Pointer(pabPK)) = (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FabPK if pnCol != 0 { *(*int32)(unsafe.Pointer(pnCol)) = (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol @@ -171381,7 +171412,7 @@ func Xsqlite3changeset_pk(tls *libc.TLS, pIter uintptr, pabPK uintptr, pnCol uin // // If value iVal is out-of-range, SQLITE_RANGE is returned and *ppValue is // not modified. Otherwise, SQLITE_OK. -func Xsqlite3changeset_old(tls *libc.TLS, pIter uintptr, iVal int32, ppValue uintptr) int32 { /* sqlite3.c:213722:16: */ +func Xsqlite3changeset_old(tls *libc.TLS, pIter uintptr, iVal int32, ppValue uintptr) int32 { /* sqlite3.c:213779:16: */ if (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fop != SQLITE_UPDATE && (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fop != SQLITE_DELETE { return SQLITE_MISUSE } @@ -171403,7 +171434,7 @@ func Xsqlite3changeset_old(tls *libc.TLS, pIter uintptr, iVal int32, ppValue uin // // If value iVal is out-of-range, SQLITE_RANGE is returned and *ppValue is // not modified. Otherwise, SQLITE_OK. -func Xsqlite3changeset_new(tls *libc.TLS, pIter uintptr, iVal int32, ppValue uintptr) int32 { /* sqlite3.c:213750:16: */ +func Xsqlite3changeset_new(tls *libc.TLS, pIter uintptr, iVal int32, ppValue uintptr) int32 { /* sqlite3.c:213807:16: */ if (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fop != SQLITE_UPDATE && (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fop != SQLITE_INSERT { return SQLITE_MISUSE } @@ -171427,7 +171458,7 @@ func Xsqlite3changeset_new(tls *libc.TLS, pIter uintptr, iVal int32, ppValue uin // // If value iVal is out-of-range or some other error occurs, an SQLite error // code is returned. Otherwise, SQLITE_OK. -func Xsqlite3changeset_conflict(tls *libc.TLS, pIter uintptr, iVal int32, ppValue uintptr) int32 { /* sqlite3.c:213784:16: */ +func Xsqlite3changeset_conflict(tls *libc.TLS, pIter uintptr, iVal int32, ppValue uintptr) int32 { /* sqlite3.c:213841:16: */ if !(int32((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FpConflict) != 0) { return SQLITE_MISUSE } @@ -171444,7 +171475,7 @@ func Xsqlite3changeset_conflict(tls *libc.TLS, pIter uintptr, iVal int32, ppValu // violations in the destination database and returns SQLITE_OK. // // In all other cases this function returns SQLITE_MISUSE. -func Xsqlite3changeset_fk_conflicts(tls *libc.TLS, pIter uintptr, pnOut uintptr) int32 { /* sqlite3.c:213807:16: */ +func Xsqlite3changeset_fk_conflicts(tls *libc.TLS, pIter uintptr, pnOut uintptr) int32 { /* sqlite3.c:213864:16: */ if (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FpConflict != 0 || (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FapValue != 0 { return SQLITE_MISUSE } @@ -171456,7 +171487,7 @@ func Xsqlite3changeset_fk_conflicts(tls *libc.TLS, pIter uintptr, pnOut uintptr) // // This function may not be called on iterators passed to a conflict handler // callback by changeset_apply(). -func Xsqlite3changeset_finalize(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:213825:16: */ +func Xsqlite3changeset_finalize(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:213882:16: */ var rc int32 = SQLITE_OK if p != 0 { var i int32 // Used to iterate through p->apValue[] @@ -171473,7 +171504,7 @@ func Xsqlite3changeset_finalize(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:2 return rc } -func sessionChangesetInvert(tls *libc.TLS, pInput uintptr, xOutput uintptr, pOut uintptr, pnInverted uintptr, ppInverted uintptr) int32 { /* sqlite3.c:213840:12: */ +func sessionChangesetInvert(tls *libc.TLS, pInput uintptr, xOutput uintptr, pOut uintptr, pnInverted uintptr, ppInverted uintptr) int32 { /* sqlite3.c:213897:12: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -171709,7 +171740,7 @@ __27: goto __6 __11: - *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = Xsqlite3CorruptError(tls, 213967) + *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = Xsqlite3CorruptError(tls, 214024) goto finished_invert __6: ; @@ -171760,7 +171791,7 @@ finished_invert: } // Invert a changeset object. -func Xsqlite3changeset_invert(tls *libc.TLS, nChangeset int32, pChangeset uintptr, pnInverted uintptr, ppInverted uintptr) int32 { /* sqlite3.c:213999:16: */ +func Xsqlite3changeset_invert(tls *libc.TLS, nChangeset int32, pChangeset uintptr, pnInverted uintptr, ppInverted uintptr) int32 { /* sqlite3.c:214056:16: */ bp := tls.Alloc(72) defer tls.Free(72) @@ -171775,7 +171806,7 @@ func Xsqlite3changeset_invert(tls *libc.TLS, nChangeset int32, pChangeset uintpt } // Streaming version of sqlite3changeset_invert(). -func Xsqlite3changeset_invert_strm(tls *libc.TLS, xInput uintptr, pIn uintptr, xOutput uintptr, pOut uintptr) int32 { /* sqlite3.c:214018:16: */ +func Xsqlite3changeset_invert_strm(tls *libc.TLS, xInput uintptr, pIn uintptr, xOutput uintptr, pOut uintptr) int32 { /* sqlite3.c:214075:16: */ bp := tls.Alloc(72) defer tls.Free(72) @@ -171797,9 +171828,9 @@ type SessionUpdate1 = struct { FpStmt uintptr FaMask uintptr FpNext uintptr -} /* sqlite3.c:214038:9 */ +} /* sqlite3.c:214095:9 */ -type SessionUpdate = SessionUpdate1 /* sqlite3.c:214038:30 */ +type SessionUpdate = SessionUpdate1 /* sqlite3.c:214095:30 */ type SessionApplyCtx1 = struct { Fdb uintptr @@ -171821,9 +171852,9 @@ type SessionApplyCtx1 = struct { FbRebaseStarted U8 FbRebase U8 F__ccgo_pad3 [6]byte -} /* sqlite3.c:214045:9 */ +} /* sqlite3.c:214102:9 */ -type SessionApplyCtx = SessionApplyCtx1 /* sqlite3.c:214045:32 */ +type SessionApplyCtx = SessionApplyCtx1 /* sqlite3.c:214102:32 */ // Number of prepared UPDATE statements to cache. @@ -171831,7 +171862,7 @@ type SessionApplyCtx = SessionApplyCtx1 /* sqlite3.c:214045:32 */ // being visited by the iterator. The UPDATE is of the form: // // UPDATE tbl SET col = ?, col2 = ? WHERE pk1 IS ? AND pk2 IS ? -func sessionUpdateFind(tls *libc.TLS, pIter uintptr, p uintptr, bPatchset int32, ppStmt uintptr) int32 { /* sqlite3.c:214074:12: */ +func sessionUpdateFind(tls *libc.TLS, pIter uintptr, p uintptr, bPatchset int32, ppStmt uintptr) int32 { /* sqlite3.c:214131:12: */ bp := tls.Alloc(20) defer tls.Free(20) @@ -171965,7 +171996,7 @@ func sessionUpdateFind(tls *libc.TLS, pIter uintptr, p uintptr, bPatchset int32, } // Free all cached UPDATE statements. -func sessionUpdateFree(tls *libc.TLS, p uintptr) { /* sqlite3.c:214213:13: */ +func sessionUpdateFree(tls *libc.TLS, p uintptr) { /* sqlite3.c:214270:13: */ var pUp uintptr var pNext uintptr for pUp = (*SessionApplyCtx)(unsafe.Pointer(p)).FpUp; pUp != 0; pUp = pNext { @@ -171993,7 +172024,7 @@ func sessionUpdateFree(tls *libc.TLS, p uintptr) { /* sqlite3.c:214213:13: */ // // If successful, SQLITE_OK is returned and SessionApplyCtx.pDelete is left // pointing to the prepared version of the SQL statement. -func sessionDeleteRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) int32 { /* sqlite3.c:214243:12: */ +func sessionDeleteRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) int32 { /* sqlite3.c:214300:12: */ bp := tls.Alloc(20) defer tls.Free(20) @@ -172055,7 +172086,7 @@ func sessionDeleteRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) int32 // // If successful, SQLITE_OK is returned and SessionApplyCtx.pSelect is left // pointing to the prepared version of the SQL statement. -func sessionSelectRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) int32 { /* sqlite3.c:214308:12: */ +func sessionSelectRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) int32 { /* sqlite3.c:214365:12: */ return sessionSelectStmt(tls, db, ts+6325, zTab, (*SessionApplyCtx)(unsafe.Pointer(p)).FnCol, (*SessionApplyCtx)(unsafe.Pointer(p)).FazCol, (*SessionApplyCtx)(unsafe.Pointer(p)).FabPK, p+24) } @@ -172067,7 +172098,7 @@ func sessionSelectRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) int32 // // If successful, SQLITE_OK is returned and SessionApplyCtx.pInsert is left // pointing to the prepared version of the SQL statement. -func sessionInsertRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) int32 { /* sqlite3.c:214326:12: */ +func sessionInsertRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) int32 { /* sqlite3.c:214383:12: */ bp := tls.Alloc(20) defer tls.Free(20) @@ -172098,7 +172129,7 @@ func sessionInsertRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) int32 return *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) } -func sessionPrepare(tls *libc.TLS, db uintptr, pp uintptr, zSql uintptr) int32 { /* sqlite3.c:214356:12: */ +func sessionPrepare(tls *libc.TLS, db uintptr, pp uintptr, zSql uintptr) int32 { /* sqlite3.c:214413:12: */ return Xsqlite3_prepare_v2(tls, db, zSql, -1, pp, uintptr(0)) } @@ -172106,7 +172137,7 @@ func sessionPrepare(tls *libc.TLS, db uintptr, pp uintptr, zSql uintptr) int32 { // These are similar to those created by sessionSelectRow(), // sessionInsertRow(), sessionUpdateRow() and sessionDeleteRow() for // other tables. -func sessionStat1Sql(tls *libc.TLS, db uintptr, p uintptr) int32 { /* sqlite3.c:214366:12: */ +func sessionStat1Sql(tls *libc.TLS, db uintptr, p uintptr) int32 { /* sqlite3.c:214423:12: */ var rc int32 = sessionSelectRow(tls, db, ts+11226, p) if rc == SQLITE_OK { rc = sessionPrepare(tls, db, p+16, @@ -172123,7 +172154,7 @@ func sessionStat1Sql(tls *libc.TLS, db uintptr, p uintptr) int32 { /* sqlite3.c: // A wrapper around sqlite3_bind_value() that detects an extra problem. // See comments in the body of this function for details. -func sessionBindValue(tls *libc.TLS, pStmt uintptr, i int32, pVal uintptr) int32 { /* sqlite3.c:214389:12: */ +func sessionBindValue(tls *libc.TLS, pStmt uintptr, i int32, pVal uintptr) int32 { /* sqlite3.c:214446:12: */ var eType int32 = Xsqlite3_value_type(tls, pVal) // COVERAGE: The (pVal->z==0) branch is never true using current versions // of SQLite. If a malloc fails in an sqlite3_value_xxx() function, either @@ -172150,7 +172181,7 @@ func sessionBindValue(tls *libc.TLS, pStmt uintptr, i int32, pVal uintptr) int32 // statement. // // 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) int32 { /* sqlite3.c:214422:12: */ +func sessionBindRow(tls *libc.TLS, pIter uintptr, xValue uintptr, nCol int32, abPK uintptr, pStmt uintptr) int32 { /* sqlite3.c:214479:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -172171,7 +172202,7 @@ func sessionBindRow(tls *libc.TLS, pIter uintptr, xValue uintptr, nCol int32, ab if *(*uintptr)(unsafe.Pointer(bp)) == uintptr(0) { // The value in the changeset was "undefined". This indicates a // corrupt changeset blob. - rc = Xsqlite3CorruptError(tls, 214445) + rc = Xsqlite3CorruptError(tls, 214502) } else { rc = sessionBindValue(tls, pStmt, i+1, *(*uintptr)(unsafe.Pointer(bp /* pVal */))) } @@ -172195,7 +172226,7 @@ func sessionBindRow(tls *libc.TLS, pIter uintptr, xValue uintptr, nCol int32, ab // If the iterator currently points to an INSERT record, bind values from the // new.* record to the SELECT statement. Or, if it points to a DELETE or // UPDATE, bind values from the old.* record. -func sessionSeekToRow(tls *libc.TLS, db uintptr, pIter uintptr, abPK uintptr, pSelect uintptr) int32 { /* sqlite3.c:214471:12: */ +func sessionSeekToRow(tls *libc.TLS, db uintptr, pIter uintptr, abPK uintptr, pSelect uintptr) int32 { /* sqlite3.c:214528:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -172239,7 +172270,7 @@ func sessionSeekToRow(tls *libc.TLS, db uintptr, pIter uintptr, abPK uintptr, pS // of apply_v2() as the "rebase" buffer. // // Return SQLITE_OK if successful, or an SQLite error code otherwise. -func sessionRebaseAdd(tls *libc.TLS, p uintptr, eType int32, pIter uintptr) int32 { /* sqlite3.c:214506:12: */ +func sessionRebaseAdd(tls *libc.TLS, p uintptr, eType int32, pIter uintptr) int32 { /* sqlite3.c:214563:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -172311,7 +172342,7 @@ func sessionRebaseAdd(tls *libc.TLS, p uintptr, eType int32, pIter uintptr) int3 // returned. Or, if the conflict handler returns an invalid value, // 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) int32 { /* sqlite3.c:214580:12: */ +func sessionConflictHandler(tls *libc.TLS, eType int32, p uintptr, pIter uintptr, xConflict uintptr, pCtx uintptr, pbReplace uintptr) int32 { /* sqlite3.c:214637:12: */ bp := tls.Alloc(20) defer tls.Free(20) @@ -172411,7 +172442,7 @@ func sessionConflictHandler(tls *libc.TLS, eType int32, p uintptr, pIter uintptr // If any conflict handler returns SQLITE_CHANGESET_ABORT, this function // 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) int32 { /* sqlite3.c:214678:12: */ +func sessionApplyOneOp(tls *libc.TLS, pIter uintptr, p uintptr, xConflict uintptr, pCtx uintptr, pbReplace uintptr, pbRetry uintptr) int32 { /* sqlite3.c:214735:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -172546,7 +172577,7 @@ func sessionApplyOneOp(tls *libc.TLS, pIter uintptr, p uintptr, xConflict uintpt // function handles the case where the conflict-handler is invoked and // 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) int32 { /* sqlite3.c:214811:12: */ +func sessionApplyOneWithRetry(tls *libc.TLS, db uintptr, pIter uintptr, pApply uintptr, xConflict uintptr, pCtx uintptr) int32 { /* sqlite3.c:214868:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -172593,7 +172624,7 @@ func sessionApplyOneWithRetry(tls *libc.TLS, db uintptr, pIter uintptr, pApply u } // 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) int32 { /* sqlite3.c:214868:12: */ +func sessionRetryConstraints(tls *libc.TLS, db uintptr, bPatchset int32, zTab uintptr, pApply uintptr, xConflict uintptr, pCtx uintptr) int32 { /* sqlite3.c:214925:12: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -172647,7 +172678,7 @@ func sessionRetryConstraints(tls *libc.TLS, db uintptr, bPatchset int32, zTab ui // changeset to the main database attached to handle "db". The supplied // 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) int32 { /* sqlite3.c:214924:12: */ +func sessionChangesetApply(tls *libc.TLS, db uintptr, pIter uintptr, xFilter uintptr, xConflict uintptr, pCtx uintptr, ppRebase uintptr, pnRebase uintptr, flags int32) int32 { /* sqlite3.c:214981:12: */ bp := tls.Alloc(368) defer tls.Free(368) @@ -172838,7 +172869,7 @@ func sessionChangesetApply(tls *libc.TLS, db uintptr, pIter uintptr, xFilter uin // 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) int32 { /* sqlite3.c:215122:16: */ +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) int32 { /* sqlite3.c:215179:16: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -172856,7 +172887,7 @@ func Xsqlite3changeset_apply_v2(tls *libc.TLS, db uintptr, nChangeset int32, pCh // Apply the changeset passed via pChangeset/nChangeset to the main database // 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) int32 { /* sqlite3.c:215155:16: */ +func Xsqlite3changeset_apply(tls *libc.TLS, db uintptr, nChangeset int32, pChangeset uintptr, xFilter uintptr, xConflict uintptr, pCtx uintptr) int32 { /* sqlite3.c:215212:16: */ return Xsqlite3changeset_apply_v2(tls, db, nChangeset, pChangeset, xFilter, xConflict, pCtx, uintptr(0), uintptr(0), 0) } @@ -172864,7 +172895,7 @@ func Xsqlite3changeset_apply(tls *libc.TLS, db uintptr, nChangeset int32, pChang // Apply the changeset passed via xInput/pIn to the main database // 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) int32 { /* sqlite3.c:215180:16: */ +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) int32 { /* sqlite3.c:215237:16: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -172879,7 +172910,7 @@ func Xsqlite3changeset_apply_v2_strm(tls *libc.TLS, db uintptr, xInput uintptr, return rc } -func Xsqlite3changeset_apply_strm(tls *libc.TLS, db uintptr, xInput uintptr, pIn uintptr, xFilter uintptr, xConflict uintptr, pCtx uintptr) int32 { /* sqlite3.c:215207:16: */ +func Xsqlite3changeset_apply_strm(tls *libc.TLS, db uintptr, xInput uintptr, pIn uintptr, xFilter uintptr, xConflict uintptr, pCtx uintptr) int32 { /* sqlite3.c:215264:16: */ return Xsqlite3changeset_apply_v2_strm(tls, db, xInput, pIn, xFilter, xConflict, pCtx, uintptr(0), uintptr(0), 0) } @@ -172887,7 +172918,7 @@ func Xsqlite3changeset_apply_strm(tls *libc.TLS, db uintptr, xInput uintptr, pIn // This function is called to merge two changes to the same row together as // part of an sqlite3changeset_concat() operation. A new change object is // allocated and a pointer to it stored in *ppNew. -func sessionChangeMerge(tls *libc.TLS, pTab uintptr, bRebase int32, bPatchset int32, pExist uintptr, op2 int32, bIndirect int32, aRec uintptr, nRec int32, ppNew uintptr) int32 { /* sqlite3.c:215241:12: */ +func sessionChangeMerge(tls *libc.TLS, pTab uintptr, bRebase int32, bPatchset int32, pExist uintptr, op2 int32, bIndirect int32, aRec uintptr, nRec int32, ppNew uintptr) int32 { /* sqlite3.c:215298:12: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -173059,7 +173090,7 @@ func sessionChangeMerge(tls *libc.TLS, pTab uintptr, bRebase int32, bPatchset in // Add all changes in the changeset traversed by the iterator passed as // the first argument to the changegroup hash tables. -func sessionChangesetToHash(tls *libc.TLS, pIter uintptr, pGrp uintptr, bRebase int32) int32 { /* sqlite3.c:215423:12: */ +func sessionChangesetToHash(tls *libc.TLS, pIter uintptr, pGrp uintptr, bRebase int32) int32 { /* sqlite3.c:215480:12: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -173190,7 +173221,7 @@ func sessionChangesetToHash(tls *libc.TLS, pIter uintptr, pGrp uintptr, bRebase // If successful, SQLITE_OK is returned. Or, if an error occurs, an SQLite // 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) int32 { /* sqlite3.c:215546:12: */ +func sessionChangegroupOutput(tls *libc.TLS, pGrp uintptr, xOutput uintptr, pOut uintptr, pnOut uintptr, ppOut uintptr) int32 { /* sqlite3.c:215603:12: */ bp := tls.Alloc(20) defer tls.Free(20) @@ -173244,7 +173275,7 @@ func sessionChangegroupOutput(tls *libc.TLS, pGrp uintptr, xOutput uintptr, pOut } // Allocate a new, empty, sqlite3_changegroup. -func Xsqlite3changegroup_new(tls *libc.TLS, pp uintptr) int32 { /* sqlite3.c:215597:16: */ +func Xsqlite3changegroup_new(tls *libc.TLS, pp uintptr) int32 { /* sqlite3.c:215654:16: */ var rc int32 = SQLITE_OK // Return code var p uintptr // New object p = Xsqlite3_malloc(tls, int32(unsafe.Sizeof(Sqlite3_changegroup{}))) @@ -173259,7 +173290,7 @@ func Xsqlite3changegroup_new(tls *libc.TLS, pp uintptr) int32 { /* sqlite3.c:215 // Add the changeset currently stored in buffer pData, size nData bytes, // to changeset-group p. -func Xsqlite3changegroup_add(tls *libc.TLS, pGrp uintptr, nData int32, pData uintptr) int32 { /* sqlite3.c:215614:16: */ +func Xsqlite3changegroup_add(tls *libc.TLS, pGrp uintptr, nData int32, pData uintptr) int32 { /* sqlite3.c:215671:16: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -173277,12 +173308,12 @@ func Xsqlite3changegroup_add(tls *libc.TLS, pGrp uintptr, nData int32, pData uin // Obtain a buffer containing a changeset representing the concatenation // of all changesets added to the group so far. -func Xsqlite3changegroup_output(tls *libc.TLS, pGrp uintptr, pnData uintptr, ppData uintptr) int32 { /* sqlite3.c:215630:16: */ +func Xsqlite3changegroup_output(tls *libc.TLS, pGrp uintptr, pnData uintptr, ppData uintptr) int32 { /* sqlite3.c:215687:16: */ return sessionChangegroupOutput(tls, pGrp, uintptr(0), uintptr(0), pnData, ppData) } // Streaming versions of changegroup_add(). -func Xsqlite3changegroup_add_strm(tls *libc.TLS, pGrp uintptr, xInput uintptr, pIn uintptr) int32 { /* sqlite3.c:215641:16: */ +func Xsqlite3changegroup_add_strm(tls *libc.TLS, pGrp uintptr, xInput uintptr, pIn uintptr) int32 { /* sqlite3.c:215698:16: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -173299,12 +173330,12 @@ func Xsqlite3changegroup_add_strm(tls *libc.TLS, pGrp uintptr, xInput uintptr, p } // Streaming versions of changegroup_output(). -func Xsqlite3changegroup_output_strm(tls *libc.TLS, pGrp uintptr, xOutput uintptr, pOut uintptr) int32 { /* sqlite3.c:215660:16: */ +func Xsqlite3changegroup_output_strm(tls *libc.TLS, pGrp uintptr, xOutput uintptr, pOut uintptr) int32 { /* sqlite3.c:215717:16: */ return sessionChangegroupOutput(tls, pGrp, xOutput, pOut, uintptr(0), uintptr(0)) } // Delete a changegroup object. -func Xsqlite3changegroup_delete(tls *libc.TLS, pGrp uintptr) { /* sqlite3.c:215671:17: */ +func Xsqlite3changegroup_delete(tls *libc.TLS, pGrp uintptr) { /* sqlite3.c:215728:17: */ if pGrp != 0 { sessionDeleteTable(tls, uintptr(0), (*Sqlite3_changegroup)(unsafe.Pointer(pGrp)).FpList) Xsqlite3_free(tls, pGrp) @@ -173312,7 +173343,7 @@ func Xsqlite3changegroup_delete(tls *libc.TLS, pGrp uintptr) { /* sqlite3.c:2156 } // Combine two changesets together. -func Xsqlite3changeset_concat(tls *libc.TLS, nLeft int32, pLeft uintptr, nRight int32, pRight uintptr, pnOut uintptr, ppOut uintptr) int32 { /* sqlite3.c:215681:16: */ +func Xsqlite3changeset_concat(tls *libc.TLS, nLeft int32, pLeft uintptr, nRight int32, pRight uintptr, pnOut uintptr, ppOut uintptr) int32 { /* sqlite3.c:215738:16: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -173336,7 +173367,7 @@ func Xsqlite3changeset_concat(tls *libc.TLS, nLeft int32, pLeft uintptr, nRight } // Streaming version of sqlite3changeset_concat(). -func Xsqlite3changeset_concat_strm(tls *libc.TLS, xInputA uintptr, pInA uintptr, xInputB uintptr, pInB uintptr, xOutput uintptr, pOut uintptr) int32 { /* sqlite3.c:215710:16: */ +func Xsqlite3changeset_concat_strm(tls *libc.TLS, xInputA uintptr, pInA uintptr, xInputB uintptr, pInB uintptr, xOutput uintptr, pOut uintptr) int32 { /* sqlite3.c:215767:16: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -173363,7 +173394,7 @@ func Xsqlite3changeset_concat_strm(tls *libc.TLS, xInputA uintptr, pInA uintptr, // fields in size. This function appends an nCol sessions module // record to buffer pBuf that is a copy of a1, except that for // each field that is undefined in a1[], swap in the field from a2[]. -func sessionAppendRecordMerge(tls *libc.TLS, pBuf uintptr, nCol int32, a1 uintptr, n1 int32, a2 uintptr, n2 int32, pRc uintptr) { /* sqlite3.c:215749:13: */ +func sessionAppendRecordMerge(tls *libc.TLS, pBuf uintptr, nCol int32, a1 uintptr, n1 int32, a2 uintptr, n2 int32, pRc uintptr) { /* sqlite3.c:215806:13: */ sessionBufferGrow(tls, pBuf, int64(n1+n2), pRc) if *(*int32)(unsafe.Pointer(pRc)) == SQLITE_OK { var i int32 @@ -173404,7 +173435,7 @@ func sessionAppendRecordMerge(tls *libc.TLS, pBuf uintptr, nCol int32, a1 uintpt // corresponding field in the rebase buffer is not "undefined" (0x00) // or "replaced" (0xFF), the old.* value is replaced by the value // in the rebase buffer. -func sessionAppendPartialUpdate(tls *libc.TLS, pBuf uintptr, pIter uintptr, aRec uintptr, nRec int32, aChange uintptr, nChange int32, pRc uintptr) { /* sqlite3.c:215798:13: */ +func sessionAppendPartialUpdate(tls *libc.TLS, pBuf uintptr, pIter uintptr, aRec uintptr, nRec int32, aChange uintptr, nChange int32, pRc uintptr) { /* sqlite3.c:215855:13: */ sessionBufferGrow(tls, pBuf, int64(2+nRec+nChange), pRc) if *(*int32)(unsafe.Pointer(pRc)) == SQLITE_OK { var bData int32 = 0 @@ -173466,7 +173497,7 @@ func sessionAppendPartialUpdate(tls *libc.TLS, pBuf uintptr, pIter uintptr, aRec // If an error occurs, an SQLite error code is returned. If ppOut and // 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) int32 { /* sqlite3.c:215866:12: */ +func sessionRebase(tls *libc.TLS, p uintptr, pIter uintptr, xOutput uintptr, pOut uintptr, pnOut uintptr, ppOut uintptr) int32 { /* sqlite3.c:215923:12: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -173604,7 +173635,7 @@ func sessionRebase(tls *libc.TLS, p uintptr, pIter uintptr, xOutput uintptr, pOu } // Create a new rebaser object. -func Xsqlite3rebaser_create(tls *libc.TLS, ppNew uintptr) int32 { /* sqlite3.c:215998:16: */ +func Xsqlite3rebaser_create(tls *libc.TLS, ppNew uintptr) int32 { /* sqlite3.c:216055:16: */ var rc int32 = SQLITE_OK var pNew uintptr @@ -173619,7 +173650,7 @@ func Xsqlite3rebaser_create(tls *libc.TLS, ppNew uintptr) int32 { /* sqlite3.c:2 } // Call this one or more times to configure a rebaser. -func Xsqlite3rebaser_configure(tls *libc.TLS, p uintptr, nRebase int32, pRebase uintptr) int32 { /* sqlite3.c:216015:16: */ +func Xsqlite3rebaser_configure(tls *libc.TLS, p uintptr, nRebase int32, pRebase uintptr) int32 { /* sqlite3.c:216072:16: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -173634,7 +173665,7 @@ func Xsqlite3rebaser_configure(tls *libc.TLS, p uintptr, nRebase int32, pRebase } // Rebase a changeset according to current rebaser configuration -func Xsqlite3rebaser_rebase(tls *libc.TLS, p uintptr, nIn int32, pIn uintptr, pnOut uintptr, ppOut uintptr) int32 { /* sqlite3.c:216032:16: */ +func Xsqlite3rebaser_rebase(tls *libc.TLS, p uintptr, nIn int32, pIn uintptr, pnOut uintptr, ppOut uintptr) int32 { /* sqlite3.c:216089:16: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -173650,7 +173681,7 @@ func Xsqlite3rebaser_rebase(tls *libc.TLS, p uintptr, nIn int32, pIn uintptr, pn } // 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) int32 { /* sqlite3.c:216051:16: */ +func Xsqlite3rebaser_rebase_strm(tls *libc.TLS, p uintptr, xInput uintptr, pIn uintptr, xOutput uintptr, pOut uintptr) int32 { /* sqlite3.c:216108:16: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -173666,7 +173697,7 @@ func Xsqlite3rebaser_rebase_strm(tls *libc.TLS, p uintptr, xInput uintptr, pIn u } // Destroy a rebaser object -func Xsqlite3rebaser_delete(tls *libc.TLS, p uintptr) { /* sqlite3.c:216072:17: */ +func Xsqlite3rebaser_delete(tls *libc.TLS, p uintptr) { /* sqlite3.c:216129:17: */ if p != 0 { sessionDeleteTable(tls, uintptr(0), (*Sqlite3_rebaser)(unsafe.Pointer(p)).Fgrp.FpList) Xsqlite3_free(tls, p) @@ -173674,7 +173705,7 @@ func Xsqlite3rebaser_delete(tls *libc.TLS, p uintptr) { /* sqlite3.c:216072:17: } // Global configuration -func Xsqlite3session_config(tls *libc.TLS, op int32, pArg uintptr) int32 { /* sqlite3.c:216082:16: */ +func Xsqlite3session_config(tls *libc.TLS, op int32, pArg uintptr) int32 { /* sqlite3.c:216139:16: */ var rc int32 = SQLITE_OK switch op { case SQLITE_SESSION_CONFIG_STRMSIZE: @@ -173762,7 +173793,7 @@ type Fts5Global1 = struct { FpTok uintptr FpDfltTok uintptr FpCsr uintptr -} /* sqlite3.c:216813:9 */ +} /* sqlite3.c:216870:9 */ //************* End of sqlite3session.c ************************************* //************* Begin file fts5.c ******************************************* @@ -173824,13 +173855,13 @@ type Fts5Global1 = struct { // Mark a function parameter as unused, to suppress nuisance compiler // warnings. -type Fts5Global = Fts5Global1 /* sqlite3.c:216813:27 */ +type Fts5Global = Fts5Global1 /* sqlite3.c:216870:27 */ type Fts5Colset1 = struct { FnCol int32 FaiCol [1]int32 -} /* sqlite3.c:216813:9 */ +} /* sqlite3.c:216870:9 */ -type Fts5Colset = Fts5Colset1 /* sqlite3.c:216814:27 */ +type Fts5Colset = Fts5Colset1 /* sqlite3.c:216871:27 */ // ************************************************************************* // @@ -173868,14 +173899,14 @@ type Fts5Config1 = struct { FzRank uintptr FzRankArgs uintptr FpzErrmsg uintptr -} /* sqlite3.c:216813:9 */ +} /* sqlite3.c:216870:9 */ // ************************************************************************* // // Interface to code in fts5_config.c. fts5_config.c contains contains code // to parse the arguments passed to the CREATE VIRTUAL TABLE statement. -type Fts5Config = Fts5Config1 /* sqlite3.c:216834:27 */ +type Fts5Config = Fts5Config1 /* sqlite3.c:216891:27 */ // // End of interface to code in fts5_config.c. @@ -173890,7 +173921,7 @@ type Fts5Buffer1 = struct { Fp uintptr Fn int32 FnSpace int32 -} /* sqlite3.c:216813:9 */ +} /* sqlite3.c:216870:9 */ // // End of interface to code in fts5_config.c. @@ -173901,7 +173932,7 @@ type Fts5Buffer1 = struct { // Interface to code in fts5_buffer.c. // Buffer object for the incremental building of string data. -type Fts5Buffer = Fts5Buffer1 /* sqlite3.c:216960:27 */ +type Fts5Buffer = Fts5Buffer1 /* sqlite3.c:217017:27 */ type Fts5PoslistReader1 = struct { Fa uintptr @@ -173911,19 +173942,19 @@ type Fts5PoslistReader1 = struct { FbEof U8 F__ccgo_pad1 [6]byte FiPos I64 -} /* sqlite3.c:216813:9 */ +} /* sqlite3.c:216870:9 */ -type Fts5PoslistReader = Fts5PoslistReader1 /* sqlite3.c:216996:34 */ +type Fts5PoslistReader = Fts5PoslistReader1 /* sqlite3.c:217053:34 */ -type Fts5PoslistWriter1 = struct{ FiPrev I64 } /* sqlite3.c:217015:9 */ +type Fts5PoslistWriter1 = struct{ FiPrev I64 } /* sqlite3.c:217072:9 */ -type Fts5PoslistWriter = Fts5PoslistWriter1 /* sqlite3.c:217015:34 */ +type Fts5PoslistWriter = Fts5PoslistWriter1 /* sqlite3.c:217072:34 */ // Bucket of terms object used by the integrity-check in offsets=0 mode. -type Fts5Termset1 = struct{ FapHash [512]uintptr } /* sqlite3.c:217037:9 */ +type Fts5Termset1 = struct{ FapHash [512]uintptr } /* sqlite3.c:217094:9 */ // Bucket of terms object used by the integrity-check in offsets=0 mode. -type Fts5Termset = Fts5Termset1 /* sqlite3.c:217037:28 */ +type Fts5Termset = Fts5Termset1 /* sqlite3.c:217094:28 */ // // End of interface to code in fts5_buffer.c. @@ -173956,7 +173987,7 @@ type Fts5Index1 = struct { FpDataVersion uintptr FiStructVersion I64 FpStruct uintptr -} /* sqlite3.c:216813:9 */ +} /* sqlite3.c:216870:9 */ // // End of interface to code in fts5_buffer.c. @@ -173967,16 +173998,16 @@ type Fts5Index1 = struct { // Interface to code in fts5_index.c. fts5_index.c contains contains code // to access the data stored in the %_data table. -type Fts5Index = Fts5Index1 /* sqlite3.c:217051:26 */ +type Fts5Index = Fts5Index1 /* sqlite3.c:217108:26 */ type Fts5IndexIter1 = struct { FiRowid I64 FpData uintptr FnData int32 FbEof U8 F__ccgo_pad1 [3]byte -} /* sqlite3.c:216813:9 */ +} /* sqlite3.c:216870:9 */ -type Fts5IndexIter = Fts5IndexIter1 /* sqlite3.c:217052:30 */ +type Fts5IndexIter = Fts5IndexIter1 /* sqlite3.c:217109:30 */ // // End of interface to code in fts5_varint.c. @@ -173991,7 +174022,7 @@ type Fts5Table1 = struct { Fbase Sqlite3_vtab FpConfig uintptr FpIndex uintptr -} /* sqlite3.c:217254:9 */ +} /* sqlite3.c:217311:9 */ // // End of interface to code in fts5_varint.c. @@ -174002,7 +174033,7 @@ type Fts5Table1 = struct { // Interface to code in fts5_main.c. // Virtual-table object. -type Fts5Table = Fts5Table1 /* sqlite3.c:217254:26 */ +type Fts5Table = Fts5Table1 /* sqlite3.c:217311:26 */ // // End of interface to code in fts5.c. @@ -174019,7 +174050,7 @@ type Fts5Hash1 = struct { FnSlot int32 FpScan uintptr FaSlot uintptr -} /* sqlite3.c:216813:9 */ +} /* sqlite3.c:216870:9 */ // // End of interface to code in fts5.c. @@ -174028,7 +174059,7 @@ type Fts5Hash1 = struct { // ************************************************************************* // // Interface to code in fts5_hash.c. -type Fts5Hash = Fts5Hash1 /* sqlite3.c:217280:25 */ +type Fts5Hash = Fts5Hash1 /* sqlite3.c:217337:25 */ // // End of interface to code in fts5_hash.c. @@ -174047,7 +174078,7 @@ type Fts5Storage1 = struct { FnTotalRow I64 FaTotalSize uintptr FaStmt [11]uintptr -} /* sqlite3.c:217336:9 */ +} /* sqlite3.c:217393:9 */ // // End of interface to code in fts5_hash.c. @@ -174058,7 +174089,7 @@ type Fts5Storage1 = struct { // Interface to code in fts5_storage.c. fts5_storage.c contains contains // code to access the data stored in the %_content and %_docsize tables. -type Fts5Storage = Fts5Storage1 /* sqlite3.c:217336:28 */ +type Fts5Storage = Fts5Storage1 /* sqlite3.c:217393:28 */ // // End of interface to code in fts5_storage.c. @@ -174074,7 +174105,7 @@ type Fts5Expr1 = struct { FbDesc int32 FnPhrase int32 FapExprPhrase uintptr -} /* sqlite3.c:216813:9 */ +} /* sqlite3.c:216870:9 */ // // End of interface to code in fts5_storage.c. @@ -174083,7 +174114,7 @@ type Fts5Expr1 = struct { // ************************************************************************* // // Interface to code in fts5_expr.c. -type Fts5Expr = Fts5Expr1 /* sqlite3.c:217379:25 */ +type Fts5Expr = Fts5Expr1 /* sqlite3.c:217436:25 */ type Fts5ExprNode1 = struct { FeType int32 FbEof int32 @@ -174095,9 +174126,9 @@ type Fts5ExprNode1 = struct { FnChild int32 F__ccgo_pad2 [4]byte FapChild [1]uintptr -} /* sqlite3.c:216813:9 */ +} /* sqlite3.c:216870:9 */ -type Fts5ExprNode = Fts5ExprNode1 /* sqlite3.c:217380:29 */ +type Fts5ExprNode = Fts5ExprNode1 /* sqlite3.c:217437:29 */ type Fts5Parse1 = struct { FpConfig uintptr FzErr uintptr @@ -174107,25 +174138,25 @@ type Fts5Parse1 = struct { FpExpr uintptr FbPhraseToAnd int32 F__ccgo_pad1 [4]byte -} /* sqlite3.c:217381:9 */ +} /* sqlite3.c:217438:9 */ -type Fts5Parse = Fts5Parse1 /* sqlite3.c:217381:26 */ +type Fts5Parse = Fts5Parse1 /* sqlite3.c:217438:26 */ type Fts5Token1 = struct { Fp uintptr Fn int32 F__ccgo_pad1 [4]byte -} /* sqlite3.c:217382:9 */ +} /* sqlite3.c:217439:9 */ -type Fts5Token = Fts5Token1 /* sqlite3.c:217382:26 */ +type Fts5Token = Fts5Token1 /* sqlite3.c:217439:26 */ type Fts5ExprPhrase1 = struct { FpNode uintptr Fposlist Fts5Buffer FnTerm int32 F__ccgo_pad1 [4]byte FaTerm [1]Fts5ExprTerm -} /* sqlite3.c:216813:9 */ +} /* sqlite3.c:216870:9 */ -type Fts5ExprPhrase = Fts5ExprPhrase1 /* sqlite3.c:217383:31 */ +type Fts5ExprPhrase = Fts5ExprPhrase1 /* sqlite3.c:217440:31 */ type Fts5ExprNearset1 = struct { FnNear int32 F__ccgo_pad1 [4]byte @@ -174133,17 +174164,17 @@ type Fts5ExprNearset1 = struct { FnPhrase int32 F__ccgo_pad2 [4]byte FapPhrase [1]uintptr -} /* sqlite3.c:216813:9 */ +} /* sqlite3.c:216870:9 */ -type Fts5ExprNearset = Fts5ExprNearset1 /* sqlite3.c:217384:32 */ +type Fts5ExprNearset = Fts5ExprNearset1 /* sqlite3.c:217441:32 */ type Fts5PoslistPopulator1 = struct { Fwriter Fts5PoslistWriter FbOk int32 FbMiss int32 -} /* sqlite3.c:217432:9 */ +} /* sqlite3.c:217489:9 */ -type Fts5PoslistPopulator = Fts5PoslistPopulator1 /* sqlite3.c:217432:37 */ +type Fts5PoslistPopulator = Fts5PoslistPopulator1 /* sqlite3.c:217489:37 */ // // End of interface to code in fts5_unicode2.c. // @@ -174248,7 +174279,7 @@ type Fts5YYMINORTYPE = struct { F__ccgo_pad1 [0]uint64 Ffts5yyinit int32 F__ccgo_pad2 [12]byte -} /* sqlite3.c:217708:3 */ +} /* sqlite3.c:217765:3 */ //************ End control #defines ****************************************** // Define the fts5yytestcase() macro to be a no-op if is not already defined @@ -174321,7 +174352,7 @@ var fts5yy_action = [105]uint8{ /* 80 */ uint8(5), uint8(3), uint8(63), uint8(5), uint8(3), uint8(62), uint8(12), uint8(2), uint8(86), uint8(13), /* 90 */ uint8(9), uint8(30), uint8(10), uint8(10), uint8(54), uint8(57), uint8(75), uint8(78), uint8(78), uint8(53), /* 100 */ uint8(57), uint8(15), uint8(82), uint8(82), uint8(71), -} /* sqlite3.c:217801:31 */ +} /* sqlite3.c:217858:31 */ var fts5yy_lookahead = [121]uint8{ /* 0 */ uint8(16), uint8(17), uint8(18), uint8(19), uint8(20), uint8(22), uint8(22), uint8(24), uint8(24), uint8(17), /* 10 */ uint8(18), uint8(19), uint8(20), uint8(7), uint8(22), uint8(9), uint8(24), uint8(17), uint8(18), uint8(19), @@ -174336,23 +174367,23 @@ var fts5yy_lookahead = [121]uint8{ /* 100 */ uint8(9), uint8(9), uint8(27), uint8(27), uint8(11), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), /* 110 */ uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), /* 120 */ uint8(27), -} /* sqlite3.c:217814:29 */ +} /* sqlite3.c:217871:29 */ var fts5yy_shift_ofst = [35]uint8{ /* 0 */ uint8(44), uint8(44), uint8(44), uint8(44), uint8(44), uint8(44), uint8(51), uint8(77), uint8(43), uint8(12), /* 10 */ uint8(14), uint8(83), uint8(82), uint8(14), uint8(23), uint8(23), uint8(31), uint8(31), uint8(71), uint8(74), /* 20 */ uint8(78), uint8(81), uint8(86), uint8(91), uint8(6), uint8(53), uint8(53), uint8(60), uint8(64), uint8(68), /* 30 */ uint8(53), uint8(87), uint8(92), uint8(53), uint8(93), -} /* sqlite3.c:217832:28 */ +} /* sqlite3.c:217889:28 */ var fts5yy_reduce_ofst = [18]int8{ /* 0 */ int8(-16), int8(-8), int8(0), int8(9), int8(17), int8(25), int8(46), int8(-17), int8(-17), int8(37), /* 10 */ int8(67), int8(4), int8(4), int8(8), int8(4), int8(20), int8(27), int8(38), -} /* sqlite3.c:217841:26 */ +} /* sqlite3.c:217898:26 */ var fts5yy_default = [35]uint8{ /* 0 */ uint8(80), uint8(80), uint8(80), uint8(80), uint8(80), uint8(80), uint8(95), uint8(80), uint8(80), uint8(105), /* 10 */ uint8(80), uint8(110), uint8(110), uint8(80), uint8(110), uint8(110), uint8(80), uint8(80), uint8(80), uint8(80), /* 20 */ uint8(80), uint8(91), uint8(80), uint8(80), uint8(80), uint8(101), uint8(100), uint8(80), uint8(80), uint8(90), /* 30 */ uint8(103), uint8(80), uint8(80), uint8(104), uint8(80), -} /* sqlite3.c:217845:31 */ +} /* sqlite3.c:217902:31 */ //********* End of lemon-generated parsing tables **************************** // The next table maps tokens (terminal symbols) into fallback tokens. @@ -174389,9 +174420,9 @@ type fts5yyStackEntry = struct { Fmajor uint8 F__ccgo_pad1 [6]byte Fminor Fts5YYMINORTYPE -} /* sqlite3.c:217888:1 */ +} /* sqlite3.c:217945:1 */ -type Fts5yyStackEntry = fts5yyStackEntry /* sqlite3.c:217895:33 */ +type Fts5yyStackEntry = fts5yyStackEntry /* sqlite3.c:217952:33 */ // The state of the parser is completely contained in an instance of // the following structure @@ -174400,9 +174431,9 @@ type fts5yyParser = struct { FpParse uintptr Ffts5yystack [100]Fts5yyStackEntry Ffts5yystackEnd uintptr -} /* sqlite3.c:217899:1 */ +} /* sqlite3.c:217956:1 */ -type Fts5yyParser = fts5yyParser /* sqlite3.c:217918:29 */ +type Fts5yyParser = fts5yyParser /* sqlite3.c:217975:29 */ // #include @@ -174412,7 +174443,7 @@ type Fts5yyParser = fts5yyParser /* sqlite3.c:217918:29 */ // grammar. // Initialize a new parser that has already been allocated. -func sqlite3Fts5ParserInit(tls *libc.TLS, fts5yypRawParser uintptr) { /* sqlite3.c:218067:13: */ +func sqlite3Fts5ParserInit(tls *libc.TLS, fts5yypRawParser uintptr) { /* sqlite3.c:218124:13: */ var fts5yypParser uintptr = fts5yypRawParser (*Fts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yytos = fts5yypParser + 16 /* &.fts5yystack */ @@ -174431,7 +174462,7 @@ func sqlite3Fts5ParserInit(tls *libc.TLS, fts5yypRawParser uintptr) { /* sqlite3 // Outputs: // A pointer to a parser. This pointer is used in subsequent calls // to sqlite3Fts5Parser and sqlite3Fts5ParserFree. -func sqlite3Fts5ParserAlloc(tls *libc.TLS, mallocProc uintptr) uintptr { /* sqlite3.c:218106:13: */ +func sqlite3Fts5ParserAlloc(tls *libc.TLS, mallocProc uintptr) uintptr { /* sqlite3.c:218163:13: */ var fts5yypParser uintptr fts5yypParser = (*struct{ f func(*libc.TLS, U64) uintptr })(unsafe.Pointer(&struct{ uintptr }{mallocProc})).f(tls, U64(unsafe.Sizeof(Fts5yyParser{}))) if fts5yypParser != 0 { @@ -174447,7 +174478,7 @@ func sqlite3Fts5ParserAlloc(tls *libc.TLS, mallocProc uintptr) uintptr { /* sqli // a pointer to the value to be deleted. The code used to do the // deletions is derived from the %destructor and/or %token_destructor // directives of the input grammar. -func fts5yy_destructor(tls *libc.TLS, fts5yypParser uintptr, fts5yymajor uint8, fts5yypminor uintptr) { /* sqlite3.c:218125:13: */ +func fts5yy_destructor(tls *libc.TLS, fts5yypParser uintptr, fts5yymajor uint8, fts5yypminor uintptr) { /* sqlite3.c:218182:13: */ var pParse uintptr = (*Fts5yyParser)(unsafe.Pointer(fts5yypParser)).FpParse _ = pParse @@ -174505,7 +174536,7 @@ func fts5yy_destructor(tls *libc.TLS, fts5yypParser uintptr, fts5yymajor uint8, // // If there is a destructor routine associated with the token which // is popped from the stack, then call it. -func fts5yy_pop_parser_stack(tls *libc.TLS, pParser uintptr) { /* sqlite3.c:218184:13: */ +func fts5yy_pop_parser_stack(tls *libc.TLS, pParser uintptr) { /* sqlite3.c:218241:13: */ var fts5yytos uintptr fts5yytos = libc.PostDecUintptr(&(*Fts5yyParser)(unsafe.Pointer(pParser)).Ffts5yytos, 24) @@ -174513,7 +174544,7 @@ func fts5yy_pop_parser_stack(tls *libc.TLS, pParser uintptr) { /* sqlite3.c:2181 } // Clear all secondary memory allocations from the parser -func sqlite3Fts5ParserFinalize(tls *libc.TLS, p uintptr) { /* sqlite3.c:218202:13: */ +func sqlite3Fts5ParserFinalize(tls *libc.TLS, p uintptr) { /* sqlite3.c:218259:13: */ var pParser uintptr = p for (*Fts5yyParser)(unsafe.Pointer(pParser)).Ffts5yytos > pParser+16 { fts5yy_pop_parser_stack(tls, pParser) @@ -174526,7 +174557,7 @@ func sqlite3Fts5ParserFinalize(tls *libc.TLS, p uintptr) { /* sqlite3.c:218202:1 // If the fts5YYPARSEFREENEVERNULL macro exists (for example because it // 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) { /* sqlite3.c:218219:13: */ +func sqlite3Fts5ParserFree(tls *libc.TLS, p uintptr, freeProc uintptr) { /* sqlite3.c:218276:13: */ if p == uintptr(0) { return } @@ -174550,7 +174581,7 @@ func sqlite3Fts5ParserFree(tls *libc.TLS, p uintptr, freeProc uintptr) { /* sqli // Find the appropriate action for a parser given the terminal // look-ahead token iLookAhead. -func fts5yy_find_shift_action(tls *libc.TLS, iLookAhead uint8, stateno uint8) uint8 { /* sqlite3.c:218282:25: */ +func fts5yy_find_shift_action(tls *libc.TLS, iLookAhead uint8, stateno uint8) uint8 { /* sqlite3.c:218339:25: */ var i int32 if int32(stateno) > Fts5YY_MAX_SHIFT { @@ -174574,7 +174605,7 @@ func fts5yy_find_shift_action(tls *libc.TLS, iLookAhead uint8, stateno uint8) ui // Find the appropriate action for a parser given the non-terminal // look-ahead token iLookAhead. -func fts5yy_find_reduce_action(tls *libc.TLS, stateno uint8, iLookAhead uint8) uint8 { /* sqlite3.c:218347:25: */ +func fts5yy_find_reduce_action(tls *libc.TLS, stateno uint8, iLookAhead uint8) uint8 { /* sqlite3.c:218404:25: */ var i int32 i = int32(fts5yy_reduce_ofst[stateno]) @@ -174585,7 +174616,7 @@ func fts5yy_find_reduce_action(tls *libc.TLS, stateno uint8, iLookAhead uint8) u } // The following routine is called if the stack overflows. -func fts5yyStackOverflow(tls *libc.TLS, fts5yypParser uintptr) { /* sqlite3.c:218376:13: */ +func fts5yyStackOverflow(tls *libc.TLS, fts5yypParser uintptr) { /* sqlite3.c:218433:13: */ var pParse uintptr = (*Fts5yyParser)(unsafe.Pointer(fts5yypParser)).FpParse for (*Fts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yytos > fts5yypParser+16 { @@ -174604,7 +174635,7 @@ func fts5yyStackOverflow(tls *libc.TLS, fts5yypParser uintptr) { /* sqlite3.c:21 // Print tracing information for a SHIFT action // Perform a shift action. -func fts5yy_shift(tls *libc.TLS, fts5yypParser uintptr, fts5yyNewState uint8, fts5yyMajor uint8, fts5yyMinor Fts5Token) { /* sqlite3.c:218419:13: */ +func fts5yy_shift(tls *libc.TLS, fts5yypParser uintptr, fts5yyNewState uint8, fts5yyMajor uint8, fts5yyMinor Fts5Token) { /* sqlite3.c:218476:13: */ var fts5yytos uintptr (*Fts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yytos += 24 if (*Fts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yytos > (*Fts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yystackEnd { @@ -174653,7 +174684,7 @@ var fts5yyRuleInfoLhs = [28]uint8{ uint8(24), // (25) phrase ::= STRING star_opt uint8(26), // (26) star_opt ::= STAR uint8(26), // (27) star_opt ::= -} /* sqlite3.c:218460:29 */ +} /* sqlite3.c:218517:29 */ // For rule J, fts5yyRuleInfoNRhs[J] contains the negative of the number // of symbols on the right-hand side of that rule. @@ -174686,7 +174717,7 @@ var fts5yyRuleInfoNRhs = [28]int8{ int8(-2), // (25) phrase ::= STRING star_opt int8(-1), // (26) star_opt ::= STAR int8(0), // (27) star_opt ::= -} /* sqlite3.c:218493:26 */ +} /* sqlite3.c:218550:26 */ // Forward Declaration @@ -174698,7 +174729,7 @@ var fts5yyRuleInfoNRhs = [28]int8{ // if the lookahead token has already been consumed. As this procedure is // only called from one place, optimizing compilers will in-line it, which // means that the extra parameters have no performance impact. -func fts5yy_reduce(tls *libc.TLS, fts5yypParser uintptr, fts5yyruleno uint32, fts5yyLookahead int32, fts5yyLookaheadToken Fts5Token) uint8 { /* sqlite3.c:218536:25: */ +func fts5yy_reduce(tls *libc.TLS, fts5yypParser uintptr, fts5yyruleno uint32, fts5yyLookahead int32, fts5yyLookaheadToken Fts5Token) uint8 { /* sqlite3.c:218593:25: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -174908,7 +174939,7 @@ func fts5yy_reduce(tls *libc.TLS, fts5yypParser uintptr, fts5yyruleno uint32, ft // The following code executes when the parse fails // The following code executes when a syntax error first occurs. -func fts5yy_syntax_error(tls *libc.TLS, fts5yypParser uintptr, fts5yymajor int32, fts5yyminor Fts5Token) { /* sqlite3.c:218754:13: */ +func fts5yy_syntax_error(tls *libc.TLS, fts5yypParser uintptr, fts5yymajor int32, fts5yyminor Fts5Token) { /* sqlite3.c:218811:13: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -174925,7 +174956,7 @@ func fts5yy_syntax_error(tls *libc.TLS, fts5yypParser uintptr, fts5yymajor int32 } // The following is executed when the parser accepts -func fts5yy_accept(tls *libc.TLS, fts5yypParser uintptr) { /* sqlite3.c:218776:13: */ +func fts5yy_accept(tls *libc.TLS, fts5yypParser uintptr) { /* sqlite3.c:218833:13: */ var pParse uintptr = (*Fts5yyParser)(unsafe.Pointer(fts5yypParser)).FpParse // Here code is inserted which will be executed whenever the @@ -174954,7 +174985,7 @@ func fts5yy_accept(tls *libc.TLS, fts5yypParser uintptr) { /* sqlite3.c:218776:1 // // Outputs: // None. -func sqlite3Fts5Parser(tls *libc.TLS, fts5yyp uintptr, fts5yymajor int32, fts5yyminor Fts5Token, pParse uintptr) { /* sqlite3.c:218817:13: */ +func sqlite3Fts5Parser(tls *libc.TLS, fts5yyp uintptr, fts5yymajor int32, fts5yyminor Fts5Token, pParse uintptr) { /* sqlite3.c:218874:13: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -175009,7 +175040,7 @@ func sqlite3Fts5Parser(tls *libc.TLS, fts5yyp uintptr, fts5yymajor int32, fts5yy // Return the fallback token corresponding to canonical token iToken, or // 0 if iToken has no fallback. -func sqlite3Fts5ParserFallback(tls *libc.TLS, iToken int32) int32 { /* sqlite3.c:219034:12: */ +func sqlite3Fts5ParserFallback(tls *libc.TLS, iToken int32) int32 { /* sqlite3.c:219091:12: */ _ = iToken return 0 } @@ -175064,7 +175095,7 @@ type CInstIter1 = struct { FiStart int32 FiEnd int32 F__ccgo_pad1 [4]byte -} /* sqlite3.c:219080:9 */ +} /* sqlite3.c:219137:9 */ // 2014 May 31 // @@ -175107,11 +175138,11 @@ type CInstIter1 = struct { // printf("instance starts at %d, ends at %d\n", iter.iStart, iter.iEnd); // } // -type CInstIter = CInstIter1 /* sqlite3.c:219080:26 */ +type CInstIter = CInstIter1 /* sqlite3.c:219137:26 */ // Advance the iterator to the next coalesced phrase instance. Return // an SQLite error code if an error occurs, or SQLITE_OK otherwise. -func fts5CInstIterNext(tls *libc.TLS, pIter uintptr) int32 { /* sqlite3.c:219097:12: */ +func fts5CInstIterNext(tls *libc.TLS, pIter uintptr) int32 { /* sqlite3.c:219154:12: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -175154,7 +175185,7 @@ func fts5CInstIterNext(tls *libc.TLS, pIter uintptr) int32 { /* sqlite3.c:219097 // Initialize the iterator object indicated by the final parameter to // iterate through coalesced phrase instances in column iCol. -func fts5CInstIterInit(tls *libc.TLS, pApi uintptr, pFts uintptr, iCol int32, pIter uintptr) int32 { /* sqlite3.c:219128:12: */ +func fts5CInstIterInit(tls *libc.TLS, pApi uintptr, pFts uintptr, iCol int32, pIter uintptr) int32 { /* sqlite3.c:219185:12: */ var rc int32 libc.Xmemset(tls, pIter, 0, uint64(unsafe.Sizeof(CInstIter{}))) @@ -175187,12 +175218,12 @@ type HighlightContext1 = struct { FnIn int32 FiOff int32 FzOut uintptr -} /* sqlite3.c:219154:9 */ +} /* sqlite3.c:219211:9 */ // ************************************************************************ // // Start of highlight() implementation. -type HighlightContext = HighlightContext1 /* sqlite3.c:219154:33 */ +type HighlightContext = HighlightContext1 /* sqlite3.c:219211:33 */ // Append text to the HighlightContext output string - p->zOut. Argument // z points to a buffer containing n bytes of text to append. If n is @@ -175201,7 +175232,7 @@ type HighlightContext = HighlightContext1 /* sqlite3.c:219154:33 */ // If *pRc is set to any value other than SQLITE_OK when this function is // called, it is a no-op. If an error (i.e. an OOM condition) is encountered, // *pRc is set to an error code before returning. -func fts5HighlightAppend(tls *libc.TLS, pRc uintptr, p uintptr, z uintptr, n int32) { /* sqlite3.c:219177:13: */ +func fts5HighlightAppend(tls *libc.TLS, pRc uintptr, p uintptr, z uintptr, n int32) { /* sqlite3.c:219234:13: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -175217,7 +175248,7 @@ func fts5HighlightAppend(tls *libc.TLS, pRc uintptr, p uintptr, z uintptr, n int } // Tokenizer callback used by implementation of highlight() function. -func fts5HighlightCb(tls *libc.TLS, pContext uintptr, tflags int32, pToken uintptr, nToken int32, iStartOff int32, iEndOff int32) int32 { /* sqlite3.c:219192:12: */ +func fts5HighlightCb(tls *libc.TLS, pContext uintptr, tflags int32, pToken uintptr, nToken int32, iStartOff int32, iEndOff int32) int32 { /* sqlite3.c:219249:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -175272,7 +175303,7 @@ func fts5HighlightCb(tls *libc.TLS, pContext uintptr, tflags int32, pToken uintp } // Implementation of highlight() function. -func fts5HighlightFunction(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uintptr, nVal int32, apVal uintptr) { /* sqlite3.c:219246:13: */ +func fts5HighlightFunction(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uintptr, nVal int32, apVal uintptr) { /* sqlite3.c:219303:13: */ bp := tls.Alloc(100) defer tls.Free(100) @@ -175332,19 +175363,19 @@ type Fts5SFinder1 = struct { F__ccgo_pad1 [4]byte FaFirst uintptr FzDoc uintptr -} /* sqlite3.c:219295:9 */ +} /* sqlite3.c:219352:9 */ // // End of highlight() implementation. // // Context object passed to the fts5SentenceFinderCb() function. -type Fts5SFinder = Fts5SFinder1 /* sqlite3.c:219295:28 */ +type Fts5SFinder = Fts5SFinder1 /* sqlite3.c:219352:28 */ // Add an entry to the Fts5SFinder.aFirst[] array. Grow the array if // necessary. Return SQLITE_OK if successful, or SQLITE_NOMEM if an // error occurs. -func fts5SentenceFinderAdd(tls *libc.TLS, p uintptr, iAdd int32) int32 { /* sqlite3.c:219309:12: */ +func fts5SentenceFinderAdd(tls *libc.TLS, p uintptr, iAdd int32) int32 { /* sqlite3.c:219366:12: */ if (*Fts5SFinder)(unsafe.Pointer(p)).FnFirstAlloc == (*Fts5SFinder)(unsafe.Pointer(p)).FnFirst { var nNew int32 if (*Fts5SFinder)(unsafe.Pointer(p)).FnFirstAlloc != 0 { @@ -175368,7 +175399,7 @@ func fts5SentenceFinderAdd(tls *libc.TLS, p uintptr, iAdd int32) int32 { /* sqli // This function is an xTokenize() callback used by the auxiliary snippet() // function. Its job is to identify tokens that are the first in a sentence. // For each such token, an entry is added to the SFinder.aFirst[] array. -func fts5SentenceFinderCb(tls *libc.TLS, pContext uintptr, tflags int32, pToken uintptr, nToken int32, iStartOff int32, iEndOff int32) int32 { /* sqlite3.c:219328:12: */ +func fts5SentenceFinderCb(tls *libc.TLS, pContext uintptr, tflags int32, pToken uintptr, nToken int32, iStartOff int32, iEndOff int32) int32 { /* sqlite3.c:219385:12: */ var rc int32 = SQLITE_OK _ = pToken @@ -175397,7 +175428,7 @@ func fts5SentenceFinderCb(tls *libc.TLS, pContext uintptr, tflags int32, pToken return rc } -func fts5SnippetScore(tls *libc.TLS, pApi uintptr, pFts uintptr, nDocsize int32, aSeen uintptr, iCol int32, iPos int32, nToken int32, pnScore uintptr, piPos uintptr) int32 { /* sqlite3.c:219361:12: */ +func fts5SnippetScore(tls *libc.TLS, pApi uintptr, pFts uintptr, nDocsize int32, aSeen uintptr, iCol int32, iPos int32, nToken int32, pnScore uintptr, piPos uintptr) int32 { /* sqlite3.c:219418:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -175455,7 +175486,7 @@ func fts5SnippetScore(tls *libc.TLS, pApi uintptr, pFts uintptr, nDocsize int32, // Return the value in pVal interpreted as utf-8 text. Except, if pVal // contains a NULL value, return a pointer to a static string zero // bytes in length instead of a NULL pointer. -func fts5ValueToText(tls *libc.TLS, pVal uintptr) uintptr { /* sqlite3.c:219410:19: */ +func fts5ValueToText(tls *libc.TLS, pVal uintptr) uintptr { /* sqlite3.c:219467:19: */ var zRet uintptr = Xsqlite3_value_text(tls, pVal) if zRet != 0 { return zRet @@ -175464,7 +175495,7 @@ func fts5ValueToText(tls *libc.TLS, pVal uintptr) uintptr { /* sqlite3.c:219410: } // Implementation of snippet() function. -func fts5SnippetFunction(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uintptr, nVal int32, apVal uintptr) { /* sqlite3.c:219418:13: */ +func fts5SnippetFunction(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uintptr, nVal int32, apVal uintptr) { /* sqlite3.c:219475:13: */ bp := tls.Alloc(172) defer tls.Free(172) @@ -175679,17 +175710,17 @@ type Fts5Bm25Data1 = struct { Favgdl float64 FaIDF uintptr FaFreq uintptr -} /* sqlite3.c:219576:9 */ +} /* sqlite3.c:219633:9 */ //********************************************************************** // The first time the bm25() function is called for a query, an instance // of the following structure is allocated and populated. -type Fts5Bm25Data = Fts5Bm25Data1 /* sqlite3.c:219576:29 */ +type Fts5Bm25Data = Fts5Bm25Data1 /* sqlite3.c:219633:29 */ // Callback used by fts5Bm25GetData() to count the number of rows in the // table matched by each individual phrase within the query. -func fts5CountCb(tls *libc.TLS, pApi uintptr, pFts uintptr, pUserData uintptr) int32 { /* sqlite3.c:219588:12: */ +func fts5CountCb(tls *libc.TLS, pApi uintptr, pFts uintptr, pUserData uintptr) int32 { /* sqlite3.c:219645:12: */ var pn uintptr = pUserData _ = pApi _ = pFts @@ -175700,7 +175731,7 @@ func fts5CountCb(tls *libc.TLS, pApi uintptr, pFts uintptr, pUserData uintptr) i // Set *ppData to point to the Fts5Bm25Data object for the current query. // If the object has not already been allocated, allocate and populate it // now. -func fts5Bm25GetData(tls *libc.TLS, pApi uintptr, pFts uintptr, ppData uintptr) int32 { /* sqlite3.c:219604:12: */ +func fts5Bm25GetData(tls *libc.TLS, pApi uintptr, pFts uintptr, ppData uintptr) int32 { /* sqlite3.c:219661:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -175794,7 +175825,7 @@ func fts5Bm25GetData(tls *libc.TLS, pApi uintptr, pFts uintptr, ppData uintptr) } // Implementation of bm25() function. -func fts5Bm25Function(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uintptr, nVal int32, apVal uintptr) { /* sqlite3.c:219677:13: */ +func fts5Bm25Function(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uintptr, nVal int32, apVal uintptr) { /* sqlite3.c:219734:13: */ bp := tls.Alloc(28) defer tls.Free(28) @@ -175862,7 +175893,7 @@ func fts5Bm25Function(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uintptr, n } } -func sqlite3Fts5AuxInit(tls *libc.TLS, pApi uintptr) int32 { /* sqlite3.c:219733:12: */ +func sqlite3Fts5AuxInit(tls *libc.TLS, pApi uintptr) int32 { /* sqlite3.c:219790:12: */ bp := tls.Alloc(96) defer tls.Free(96) @@ -175898,7 +175929,7 @@ type Builtin = struct { FpUserData uintptr FxFunc Fts5_extension_function FxDestroy uintptr -} /* sqlite3.c:219734:3 */ +} /* sqlite3.c:219791:3 */ // 2014 May 31 // @@ -175913,7 +175944,7 @@ type Builtin = struct { // #include "fts5Int.h" -func sqlite3Fts5BufferSize(tls *libc.TLS, pRc uintptr, pBuf uintptr, nByte U32) int32 { /* sqlite3.c:219776:12: */ +func sqlite3Fts5BufferSize(tls *libc.TLS, pRc uintptr, pBuf uintptr, nByte U32) int32 { /* sqlite3.c:219833:12: */ if U32((*Fts5Buffer)(unsafe.Pointer(pBuf)).FnSpace) < nByte { var nNew U64 if (*Fts5Buffer)(unsafe.Pointer(pBuf)).FnSpace != 0 { @@ -175939,7 +175970,7 @@ func sqlite3Fts5BufferSize(tls *libc.TLS, pRc uintptr, pBuf uintptr, nByte U32) // Encode value iVal as an SQLite varint and append it to the buffer object // pBuf. If an OOM error occurs, set the error code in p. -func sqlite3Fts5BufferAppendVarint(tls *libc.TLS, pRc uintptr, pBuf uintptr, iVal I64) { /* sqlite3.c:219800:13: */ +func sqlite3Fts5BufferAppendVarint(tls *libc.TLS, pRc uintptr, pBuf uintptr, iVal I64) { /* sqlite3.c:219857:13: */ if func() int32 { if U32((*Fts5Buffer)(unsafe.Pointer(pBuf)).Fn)+U32(9) <= U32((*Fts5Buffer)(unsafe.Pointer(pBuf)).FnSpace) { return 0 @@ -175951,21 +175982,21 @@ func sqlite3Fts5BufferAppendVarint(tls *libc.TLS, pRc uintptr, pBuf uintptr, iVa *(*int32)(unsafe.Pointer(pBuf + 8)) += sqlite3Fts5PutVarint(tls, (*Fts5Buffer)(unsafe.Pointer(pBuf)).Fp+uintptr((*Fts5Buffer)(unsafe.Pointer(pBuf)).Fn), uint64(iVal)) } -func sqlite3Fts5Put32(tls *libc.TLS, aBuf uintptr, iVal int32) { /* sqlite3.c:219805:13: */ +func sqlite3Fts5Put32(tls *libc.TLS, aBuf uintptr, iVal int32) { /* sqlite3.c:219862:13: */ *(*U8)(unsafe.Pointer(aBuf)) = U8(iVal >> 24 & 0x00FF) *(*U8)(unsafe.Pointer(aBuf + 1)) = U8(iVal >> 16 & 0x00FF) *(*U8)(unsafe.Pointer(aBuf + 2)) = U8(iVal >> 8 & 0x00FF) *(*U8)(unsafe.Pointer(aBuf + 3)) = U8(iVal >> 0 & 0x00FF) } -func sqlite3Fts5Get32(tls *libc.TLS, aBuf uintptr) int32 { /* sqlite3.c:219812:12: */ +func sqlite3Fts5Get32(tls *libc.TLS, aBuf uintptr) int32 { /* sqlite3.c:219869:12: */ return int32(U32(*(*U8)(unsafe.Pointer(aBuf)))<<24 + U32(int32(*(*U8)(unsafe.Pointer(aBuf + 1)))<<16) + U32(int32(*(*U8)(unsafe.Pointer(aBuf + 2)))<<8) + U32(*(*U8)(unsafe.Pointer(aBuf + 3)))) } // Append buffer nData/pData to buffer pBuf. If an OOM error occurs, set // the error code in p. If an error has already occurred when this function // is called, it is a no-op. -func sqlite3Fts5BufferAppendBlob(tls *libc.TLS, pRc uintptr, pBuf uintptr, nData U32, pData uintptr) { /* sqlite3.c:219821:13: */ +func sqlite3Fts5BufferAppendBlob(tls *libc.TLS, pRc uintptr, pBuf uintptr, nData U32, pData uintptr) { /* sqlite3.c:219878:13: */ if nData != 0 { if func() int32 { if U32((*Fts5Buffer)(unsafe.Pointer(pBuf)).Fn)+nData <= U32((*Fts5Buffer)(unsafe.Pointer(pBuf)).FnSpace) { @@ -175983,7 +176014,7 @@ func sqlite3Fts5BufferAppendBlob(tls *libc.TLS, pRc uintptr, pBuf uintptr, nData // Append the nul-terminated string zStr to the buffer pBuf. This function // ensures that the byte following the buffer data is set to 0x00, even // though this byte is not included in the pBuf->n count. -func sqlite3Fts5BufferAppendString(tls *libc.TLS, pRc uintptr, pBuf uintptr, zStr uintptr) { /* sqlite3.c:219839:13: */ +func sqlite3Fts5BufferAppendString(tls *libc.TLS, pRc uintptr, pBuf uintptr, zStr uintptr) { /* sqlite3.c:219896:13: */ var nStr int32 = int32(libc.Xstrlen(tls, zStr)) sqlite3Fts5BufferAppendBlob(tls, pRc, pBuf, uint32(nStr+1), zStr) (*Fts5Buffer)(unsafe.Pointer(pBuf)).Fn-- @@ -175995,7 +176026,7 @@ func sqlite3Fts5BufferAppendString(tls *libc.TLS, pRc uintptr, pBuf uintptr, zSt // Like sqlite3Fts5BufferAppendString(), this function ensures that the byte // following the buffer data is set to 0x00, even though this byte is not // included in the pBuf->n count. -func sqlite3Fts5BufferAppendPrintf(tls *libc.TLS, pRc uintptr, pBuf uintptr, zFmt uintptr, va uintptr) { /* sqlite3.c:219857:13: */ +func sqlite3Fts5BufferAppendPrintf(tls *libc.TLS, pRc uintptr, pBuf uintptr, zFmt uintptr, va uintptr) { /* sqlite3.c:219914:13: */ if *(*int32)(unsafe.Pointer(pRc)) == SQLITE_OK { var zTmp uintptr var ap Va_list @@ -176013,7 +176044,7 @@ func sqlite3Fts5BufferAppendPrintf(tls *libc.TLS, pRc uintptr, pBuf uintptr, zFm } } -func sqlite3Fts5Mprintf(tls *libc.TLS, pRc uintptr, zFmt uintptr, va uintptr) uintptr { /* sqlite3.c:219878:13: */ +func sqlite3Fts5Mprintf(tls *libc.TLS, pRc uintptr, zFmt uintptr, va uintptr) uintptr { /* sqlite3.c:219935:13: */ var zRet uintptr = uintptr(0) if *(*int32)(unsafe.Pointer(pRc)) == SQLITE_OK { var ap Va_list @@ -176029,26 +176060,26 @@ func sqlite3Fts5Mprintf(tls *libc.TLS, pRc uintptr, zFmt uintptr, va uintptr) ui } // Free any buffer allocated by pBuf. Zero the structure before returning. -func sqlite3Fts5BufferFree(tls *libc.TLS, pBuf uintptr) { /* sqlite3.c:219896:13: */ +func sqlite3Fts5BufferFree(tls *libc.TLS, pBuf uintptr) { /* sqlite3.c:219953:13: */ Xsqlite3_free(tls, (*Fts5Buffer)(unsafe.Pointer(pBuf)).Fp) libc.Xmemset(tls, pBuf, 0, uint64(unsafe.Sizeof(Fts5Buffer{}))) } // Zero the contents of the buffer object. But do not free the associated // memory allocation. -func sqlite3Fts5BufferZero(tls *libc.TLS, pBuf uintptr) { /* sqlite3.c:219905:13: */ +func sqlite3Fts5BufferZero(tls *libc.TLS, pBuf uintptr) { /* sqlite3.c:219962:13: */ (*Fts5Buffer)(unsafe.Pointer(pBuf)).Fn = 0 } // Set the buffer to contain nData/pData. If an OOM error occurs, leave an // the error code in p. If an error has already occurred when this function // is called, it is a no-op. -func sqlite3Fts5BufferSet(tls *libc.TLS, pRc uintptr, pBuf uintptr, nData int32, pData uintptr) { /* sqlite3.c:219914:13: */ +func sqlite3Fts5BufferSet(tls *libc.TLS, pRc uintptr, pBuf uintptr, nData int32, pData uintptr) { /* sqlite3.c:219971:13: */ (*Fts5Buffer)(unsafe.Pointer(pBuf)).Fn = 0 sqlite3Fts5BufferAppendBlob(tls, pRc, pBuf, uint32(nData), pData) } -func sqlite3Fts5PoslistNext64(tls *libc.TLS, a uintptr, n int32, pi uintptr, piOff uintptr) int32 { /* sqlite3.c:219924:12: */ +func sqlite3Fts5PoslistNext64(tls *libc.TLS, a uintptr, n int32, pi uintptr, piOff uintptr) int32 { /* sqlite3.c:219981:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -176110,14 +176141,14 @@ func sqlite3Fts5PoslistNext64(tls *libc.TLS, a uintptr, n int32, pi uintptr, piO // Advance the iterator object passed as the only argument. Return true // if the iterator reaches EOF, or false otherwise. -func sqlite3Fts5PoslistReaderNext(tls *libc.TLS, pIter uintptr) int32 { /* sqlite3.c:219967:12: */ +func sqlite3Fts5PoslistReaderNext(tls *libc.TLS, pIter uintptr) int32 { /* sqlite3.c:220024:12: */ if sqlite3Fts5PoslistNext64(tls, (*Fts5PoslistReader)(unsafe.Pointer(pIter)).Fa, (*Fts5PoslistReader)(unsafe.Pointer(pIter)).Fn, pIter+12, pIter+24) != 0 { (*Fts5PoslistReader)(unsafe.Pointer(pIter)).FbEof = U8(1) } return int32((*Fts5PoslistReader)(unsafe.Pointer(pIter)).FbEof) } -func sqlite3Fts5PoslistReaderInit(tls *libc.TLS, a uintptr, n int32, pIter uintptr) int32 { /* sqlite3.c:219974:12: */ +func sqlite3Fts5PoslistReaderInit(tls *libc.TLS, a uintptr, n int32, pIter uintptr) int32 { /* sqlite3.c:220031:12: */ libc.Xmemset(tls, pIter, 0, uint64(unsafe.Sizeof(Fts5PoslistReader{}))) (*Fts5PoslistReader)(unsafe.Pointer(pIter)).Fa = a (*Fts5PoslistReader)(unsafe.Pointer(pIter)).Fn = n @@ -176129,7 +176160,7 @@ func sqlite3Fts5PoslistReaderInit(tls *libc.TLS, a uintptr, n int32, pIter uintp // pBuf, which must be already be large enough to hold the new data. // The previous position written to this list is *piPrev. *piPrev is set // to iPos before returning. -func sqlite3Fts5PoslistSafeAppend(tls *libc.TLS, pBuf uintptr, piPrev uintptr, iPos I64) { /* sqlite3.c:219991:13: */ +func sqlite3Fts5PoslistSafeAppend(tls *libc.TLS, pBuf uintptr, piPrev uintptr, iPos I64) { /* sqlite3.c:220048:13: */ if iPos >= *(*I64)(unsafe.Pointer(piPrev)) { if iPos&colmask != *(*I64)(unsafe.Pointer(piPrev))&colmask { *(*U8)(unsafe.Pointer((*Fts5Buffer)(unsafe.Pointer(pBuf)).Fp + uintptr(libc.PostIncInt32(&(*Fts5Buffer)(unsafe.Pointer(pBuf)).Fn, 1)))) = U8(1) @@ -176141,9 +176172,9 @@ func sqlite3Fts5PoslistSafeAppend(tls *libc.TLS, pBuf uintptr, piPrev uintptr, i } } -var colmask I64 = I64(int64(0x7FFFFFFF)) << 32 /* sqlite3.c:219997:22 */ +var colmask I64 = I64(int64(0x7FFFFFFF)) << 32 /* sqlite3.c:220054:22 */ -func sqlite3Fts5PoslistWriterAppend(tls *libc.TLS, pBuf uintptr, pWriter uintptr, iPos I64) int32 { /* sqlite3.c:220008:12: */ +func sqlite3Fts5PoslistWriterAppend(tls *libc.TLS, pBuf uintptr, pWriter uintptr, iPos I64) int32 { /* sqlite3.c:220065:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -176160,7 +176191,7 @@ func sqlite3Fts5PoslistWriterAppend(tls *libc.TLS, pBuf uintptr, pWriter uintptr return SQLITE_OK } -func sqlite3Fts5MallocZero(tls *libc.TLS, pRc uintptr, nByte Sqlite3_int64) uintptr { /* sqlite3.c:220019:13: */ +func sqlite3Fts5MallocZero(tls *libc.TLS, pRc uintptr, nByte Sqlite3_int64) uintptr { /* sqlite3.c:220076:13: */ var pRet uintptr = uintptr(0) if *(*int32)(unsafe.Pointer(pRc)) == SQLITE_OK { pRet = Xsqlite3_malloc64(tls, uint64(nByte)) @@ -176181,7 +176212,7 @@ func sqlite3Fts5MallocZero(tls *libc.TLS, pRc uintptr, nByte Sqlite3_int64) uint // // It is the responsibility of the caller to eventually free the returned // buffer using sqlite3_free(). If an OOM error occurs, NULL is returned. -func sqlite3Fts5Strndup(tls *libc.TLS, pRc uintptr, pIn uintptr, nIn int32) uintptr { /* sqlite3.c:220040:13: */ +func sqlite3Fts5Strndup(tls *libc.TLS, pRc uintptr, pIn uintptr, nIn int32) uintptr { /* sqlite3.c:220097:13: */ var zRet uintptr = uintptr(0) if *(*int32)(unsafe.Pointer(pRc)) == SQLITE_OK { if nIn < 0 { @@ -176206,7 +176237,7 @@ func sqlite3Fts5Strndup(tls *libc.TLS, pRc uintptr, pIn uintptr, nIn int32) uint // * The 10 integer ASCII characters. // * The underscore character "_" (0x5F). // * The unicode "subsitute" character (0x1A). -func sqlite3Fts5IsBareword(tls *libc.TLS, t int8) int32 { /* sqlite3.c:220068:12: */ +func sqlite3Fts5IsBareword(tls *libc.TLS, t int8) int32 { /* sqlite3.c:220125:12: */ bp := tls.Alloc(128) defer tls.Free(128) @@ -176231,13 +176262,13 @@ type Fts5TermsetEntry1 = struct { FnTerm int32 FiIdx int32 FpNext uintptr -} /* sqlite3.c:217037:9 */ +} /* sqlite3.c:217094:9 */ // ************************************************************************ // -type Fts5TermsetEntry = Fts5TermsetEntry1 /* sqlite3.c:220086:33 */ +type Fts5TermsetEntry = Fts5TermsetEntry1 /* sqlite3.c:220143:33 */ -func sqlite3Fts5TermsetNew(tls *libc.TLS, pp uintptr) int32 { /* sqlite3.c:220098:12: */ +func sqlite3Fts5TermsetNew(tls *libc.TLS, pp uintptr) int32 { /* sqlite3.c:220155:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -176246,7 +176277,7 @@ func sqlite3Fts5TermsetNew(tls *libc.TLS, pp uintptr) int32 { /* sqlite3.c:22009 return *(*int32)(unsafe.Pointer(bp /* rc */)) } -func sqlite3Fts5TermsetAdd(tls *libc.TLS, p uintptr, iIdx int32, pTerm uintptr, nTerm int32, pbPresent uintptr) int32 { /* sqlite3.c:220104:12: */ +func sqlite3Fts5TermsetAdd(tls *libc.TLS, p uintptr, iIdx int32, pTerm uintptr, nTerm int32, pbPresent uintptr) int32 { /* sqlite3.c:220161:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -176292,7 +176323,7 @@ func sqlite3Fts5TermsetAdd(tls *libc.TLS, p uintptr, iIdx int32, pTerm uintptr, return *(*int32)(unsafe.Pointer(bp /* rc */)) } -func sqlite3Fts5TermsetFree(tls *libc.TLS, p uintptr) { /* sqlite3.c:220153:13: */ +func sqlite3Fts5TermsetFree(tls *libc.TLS, p uintptr) { /* sqlite3.c:220210:13: */ if p != 0 { var i U32 for i = U32(0); i < U32(int32(uint64(unsafe.Sizeof([512]uintptr{}))/uint64(unsafe.Sizeof(uintptr(0))))); i++ { @@ -176324,18 +176355,18 @@ func sqlite3Fts5TermsetFree(tls *libc.TLS, p uintptr) { /* sqlite3.c:220153:13: // Maximum allowed page size -func fts5_iswhitespace(tls *libc.TLS, x int8) int32 { /* sqlite3.c:220195:12: */ +func fts5_iswhitespace(tls *libc.TLS, x int8) int32 { /* sqlite3.c:220252:12: */ return libc.Bool32(int32(x) == ' ') } -func fts5_isopenquote(tls *libc.TLS, x int8) int32 { /* sqlite3.c:220199:12: */ +func fts5_isopenquote(tls *libc.TLS, x int8) int32 { /* sqlite3.c:220256:12: */ return libc.Bool32(int32(x) == '"' || int32(x) == '\'' || int32(x) == '[' || int32(x) == '`') } // Argument pIn points to a character that is part of a nul-terminated // string. Return a pointer to the first character following *pIn in // the string that is not a white-space character. -func fts5ConfigSkipWhitespace(tls *libc.TLS, pIn uintptr) uintptr { /* sqlite3.c:220208:19: */ +func fts5ConfigSkipWhitespace(tls *libc.TLS, pIn uintptr) uintptr { /* sqlite3.c:220265:19: */ var p uintptr = pIn if p != 0 { for fts5_iswhitespace(tls, *(*int8)(unsafe.Pointer(p))) != 0 { @@ -176348,7 +176379,7 @@ func fts5ConfigSkipWhitespace(tls *libc.TLS, pIn uintptr) uintptr { /* sqlite3.c // Argument pIn points to a character that is part of a nul-terminated // string. Return a pointer to the first character following *pIn in // the string that is not a "bareword" character. -func fts5ConfigSkipBareword(tls *libc.TLS, pIn uintptr) uintptr { /* sqlite3.c:220221:19: */ +func fts5ConfigSkipBareword(tls *libc.TLS, pIn uintptr) uintptr { /* sqlite3.c:220278:19: */ var p uintptr = pIn for sqlite3Fts5IsBareword(tls, *(*int8)(unsafe.Pointer(p))) != 0 { p++ @@ -176359,11 +176390,11 @@ func fts5ConfigSkipBareword(tls *libc.TLS, pIn uintptr) uintptr { /* sqlite3.c:2 return p } -func fts5_isdigit(tls *libc.TLS, a int8) int32 { /* sqlite3.c:220228:12: */ +func fts5_isdigit(tls *libc.TLS, a int8) int32 { /* sqlite3.c:220285:12: */ return libc.Bool32(int32(a) >= '0' && int32(a) <= '9') } -func fts5ConfigSkipLiteral(tls *libc.TLS, pIn uintptr) uintptr { /* sqlite3.c:220234:19: */ +func fts5ConfigSkipLiteral(tls *libc.TLS, pIn uintptr) uintptr { /* sqlite3.c:220291:19: */ var p uintptr = pIn switch int32(*(*int8)(unsafe.Pointer(p))) { case 'n': @@ -176452,7 +176483,7 @@ func fts5ConfigSkipLiteral(tls *libc.TLS, pIn uintptr) uintptr { /* sqlite3.c:22 // the character immediately following it. Or, if the close-quote is not // found, -1 is returned. If -1 is returned, the buffer is left in an // undefined state. -func fts5Dequote(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:220310:12: */ +func fts5Dequote(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:220367:12: */ var q int8 var iIn int32 = 1 var iOut int32 = 0 @@ -176497,7 +176528,7 @@ func fts5Dequote(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:220310:12: */ // 'xyz' becomes xyz // [pqr] becomes pqr // `mno` becomes mno -func sqlite3Fts5Dequote(tls *libc.TLS, z uintptr) { /* sqlite3.c:220355:13: */ +func sqlite3Fts5Dequote(tls *libc.TLS, z uintptr) { /* sqlite3.c:220412:13: */ var quote int8 // Quote character (if any ) quote = *(*int8)(unsafe.Pointer(z)) @@ -176510,11 +176541,11 @@ type Fts5Enum1 = struct { FzName uintptr FeVal int32 F__ccgo_pad1 [4]byte -} /* sqlite3.c:220366:1 */ +} /* sqlite3.c:220423:1 */ -type Fts5Enum = Fts5Enum1 /* sqlite3.c:220370:25 */ +type Fts5Enum = Fts5Enum1 /* sqlite3.c:220427:25 */ -func fts5ConfigSetEnum(tls *libc.TLS, aEnum uintptr, zEnum uintptr, peVal uintptr) int32 { /* sqlite3.c:220372:12: */ +func fts5ConfigSetEnum(tls *libc.TLS, aEnum uintptr, zEnum uintptr, peVal uintptr) int32 { /* sqlite3.c:220429:12: */ var nEnum int32 = int32(libc.Xstrlen(tls, zEnum)) var i int32 var iVal int32 = -1 @@ -176542,7 +176573,7 @@ func fts5ConfigSetEnum(tls *libc.TLS, aEnum uintptr, zEnum uintptr, peVal uintpt // an error occurs, an SQLite error code is returned and an error message // may be left in *pzErr. It is the responsibility of the caller to // eventually free any such error message using sqlite3_free(). -func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCmd uintptr, zArg uintptr, pzErr uintptr) int32 { /* sqlite3.c:220401:12: */ +func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCmd uintptr, zArg uintptr, pzErr uintptr) int32 { /* sqlite3.c:220458:12: */ bp := tls.Alloc(112) defer tls.Free(112) @@ -176705,7 +176736,7 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm // Allocate an instance of the default tokenizer ("simple") at // Fts5Config.pTokenizer. Return SQLITE_OK if successful, or an SQLite error // code if an error occurs. -func fts5ConfigDefaultTokenizer(tls *libc.TLS, pGlobal uintptr, pConfig uintptr) int32 { /* sqlite3.c:220565:12: */ +func fts5ConfigDefaultTokenizer(tls *libc.TLS, pGlobal uintptr, pConfig uintptr) int32 { /* sqlite3.c:220622:12: */ return sqlite3Fts5GetTokenizer(tls, pGlobal, uintptr(0), 0, pConfig, uintptr(0)) } @@ -176723,7 +176754,7 @@ func fts5ConfigDefaultTokenizer(tls *libc.TLS, pGlobal uintptr, pConfig uintptr) // a no-op (NULL is returned). Otherwise, if an OOM occurs within this // function, *pRc is set to SQLITE_NOMEM before returning. *pRc is *not* // set if a parse error (failed to find close quote) occurs. -func fts5ConfigGobbleWord(tls *libc.TLS, pRc uintptr, zIn uintptr, pzOut uintptr, pbQuoted uintptr) uintptr { /* sqlite3.c:220585:19: */ +func fts5ConfigGobbleWord(tls *libc.TLS, pRc uintptr, zIn uintptr, pzOut uintptr, pbQuoted uintptr) uintptr { /* sqlite3.c:220642:19: */ var zRet uintptr = uintptr(0) var nIn Sqlite3_int64 = Sqlite3_int64(libc.Xstrlen(tls, zIn)) @@ -176757,7 +176788,7 @@ func fts5ConfigGobbleWord(tls *libc.TLS, pRc uintptr, zIn uintptr, pzOut uintptr return zRet } -func fts5ConfigParseColumn(tls *libc.TLS, p uintptr, zCol uintptr, zArg uintptr, pzErr uintptr) int32 { /* sqlite3.c:220625:12: */ +func fts5ConfigParseColumn(tls *libc.TLS, p uintptr, zCol uintptr, zArg uintptr, pzErr uintptr) int32 { /* sqlite3.c:220682:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -176780,7 +176811,7 @@ func fts5ConfigParseColumn(tls *libc.TLS, p uintptr, zCol uintptr, zArg uintptr, } // Populate the Fts5Config.zContentExprlist string. -func fts5ConfigMakeExprlist(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:220653:12: */ +func fts5ConfigMakeExprlist(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:220710:12: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -176813,7 +176844,7 @@ func fts5ConfigMakeExprlist(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:22065 // returned, *ppOut is set to NULL and an error message may be left in // *pzErr. It is the responsibility of the caller to eventually free any // such error message using sqlite3_free(). -func sqlite3Fts5ConfigParse(tls *libc.TLS, pGlobal uintptr, db uintptr, nArg int32, azArg uintptr, ppOut uintptr, pzErr uintptr) int32 { /* sqlite3.c:220686:12: */ +func sqlite3Fts5ConfigParse(tls *libc.TLS, pGlobal uintptr, db uintptr, nArg int32, azArg uintptr, ppOut uintptr, pzErr uintptr) int32 { /* sqlite3.c:220743:12: */ bp := tls.Alloc(76) defer tls.Free(76) @@ -176946,7 +176977,7 @@ func sqlite3Fts5ConfigParse(tls *libc.TLS, pGlobal uintptr, db uintptr, nArg int } // Free the configuration object passed as the only argument. -func sqlite3Fts5ConfigFree(tls *libc.TLS, pConfig uintptr) { /* sqlite3.c:220810:13: */ +func sqlite3Fts5ConfigFree(tls *libc.TLS, pConfig uintptr) { /* sqlite3.c:220867:13: */ if pConfig != 0 { var i int32 if (*Fts5Config)(unsafe.Pointer(pConfig)).FpTok != 0 { @@ -176971,7 +177002,7 @@ func sqlite3Fts5ConfigFree(tls *libc.TLS, pConfig uintptr) { /* sqlite3.c:220810 // Call sqlite3_declare_vtab() based on the contents of the configuration // object passed as the only argument. Return SQLITE_OK if successful, or // an SQLite error code if an error occurs. -func sqlite3Fts5ConfigDeclareVtab(tls *libc.TLS, pConfig uintptr) int32 { /* sqlite3.c:220837:12: */ +func sqlite3Fts5ConfigDeclareVtab(tls *libc.TLS, pConfig uintptr) int32 { /* sqlite3.c:220894:12: */ bp := tls.Alloc(52) defer tls.Free(52) @@ -177021,7 +177052,7 @@ func sqlite3Fts5ConfigDeclareVtab(tls *libc.TLS, pConfig uintptr) int32 { /* sql // still returns SQLITE_OK. Or, if the tokenization was abandoned early // 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) int32 { /* sqlite3.c:220883:12: */ +func sqlite3Fts5Tokenize(tls *libc.TLS, pConfig uintptr, flags int32, pText uintptr, nText int32, pCtx uintptr, xToken uintptr) int32 { /* sqlite3.c:220940:12: */ if pText == uintptr(0) { return SQLITE_OK } @@ -177035,7 +177066,7 @@ func sqlite3Fts5Tokenize(tls *libc.TLS, pConfig uintptr, flags int32, pText uint // a comma-separated list of SQL literals followed by a ')' character. // If it actually is this, return a pointer to the ')'. Otherwise, return // NULL to indicate a parse error. -func fts5ConfigSkipArgs(tls *libc.TLS, pIn uintptr) uintptr { /* sqlite3.c:220902:19: */ +func fts5ConfigSkipArgs(tls *libc.TLS, pIn uintptr) uintptr { /* sqlite3.c:220959:19: */ var p uintptr = pIn for 1 != 0 { @@ -177062,7 +177093,7 @@ func fts5ConfigSkipArgs(tls *libc.TLS, pIn uintptr) uintptr { /* sqlite3.c:22090 // + Open parenthesis - "(" // + Zero or more SQL literals in a comma separated list // + Close parenthesis - ")" -func sqlite3Fts5ConfigParseRank(tls *libc.TLS, zIn uintptr, pzRank uintptr, pzRankArgs uintptr) int32 { /* sqlite3.c:220929:12: */ +func sqlite3Fts5ConfigParseRank(tls *libc.TLS, zIn uintptr, pzRank uintptr, pzRankArgs uintptr) int32 { /* sqlite3.c:220986:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -177126,7 +177157,7 @@ func sqlite3Fts5ConfigParseRank(tls *libc.TLS, zIn uintptr, pzRank uintptr, pzRa return *(*int32)(unsafe.Pointer(bp /* rc */)) } -func sqlite3Fts5ConfigSetValue(tls *libc.TLS, pConfig uintptr, zKey uintptr, pVal uintptr, pbBadkey uintptr) int32 { /* sqlite3.c:220988:12: */ +func sqlite3Fts5ConfigSetValue(tls *libc.TLS, pConfig uintptr, zKey uintptr, pVal uintptr, pbBadkey uintptr) int32 { /* sqlite3.c:221045:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -177214,7 +177245,7 @@ func sqlite3Fts5ConfigSetValue(tls *libc.TLS, pConfig uintptr, zKey uintptr, pVa } // Load the contents of the %_config table into memory. -func sqlite3Fts5ConfigLoad(tls *libc.TLS, pConfig uintptr, iCookie int32) int32 { /* sqlite3.c:221082:12: */ +func sqlite3Fts5ConfigLoad(tls *libc.TLS, pConfig uintptr, iCookie int32) int32 { /* sqlite3.c:221139:12: */ bp := tls.Alloc(52) defer tls.Free(52) @@ -177291,7 +177322,7 @@ type Fts5ExprTerm1 = struct { FzTerm uintptr FpIter uintptr FpSynonym uintptr -} /* sqlite3.c:216813:9 */ +} /* sqlite3.c:216870:9 */ // 2014 May 31 // @@ -177310,9 +177341,9 @@ type Fts5ExprTerm1 = struct { // All token types in the generated fts5parse.h file are greater than 0. -type Fts5ExprTerm = Fts5ExprTerm1 /* sqlite3.c:221160:29 */ +type Fts5ExprTerm = Fts5ExprTerm1 /* sqlite3.c:221217:29 */ -func sqlite3Fts5ParseError(tls *libc.TLS, pParse uintptr, zFmt uintptr, va uintptr) { /* sqlite3.c:221267:13: */ +func sqlite3Fts5ParseError(tls *libc.TLS, pParse uintptr, zFmt uintptr, va uintptr) { /* sqlite3.c:221324:13: */ var ap Va_list _ = ap ap = va @@ -177324,12 +177355,12 @@ func sqlite3Fts5ParseError(tls *libc.TLS, pParse uintptr, zFmt uintptr, va uintp _ = ap } -func fts5ExprIsspace(tls *libc.TLS, t int8) int32 { /* sqlite3.c:221278:12: */ +func fts5ExprIsspace(tls *libc.TLS, t int8) int32 { /* sqlite3.c:221335:12: */ return libc.Bool32(int32(t) == ' ' || int32(t) == '\t' || int32(t) == '\n' || int32(t) == '\r') } // Read the first token from the nul-terminated string at *pz. -func fts5ExprGetToken(tls *libc.TLS, pParse uintptr, pz uintptr, pToken uintptr) int32 { /* sqlite3.c:221285:12: */ +func fts5ExprGetToken(tls *libc.TLS, pParse uintptr, pz uintptr, pToken uintptr) int32 { /* sqlite3.c:221342:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -177429,15 +177460,15 @@ func fts5ExprGetToken(tls *libc.TLS, pParse uintptr, pz uintptr, pToken uintptr) return tok } -func fts5ParseAlloc(tls *libc.TLS, t U64) uintptr { /* sqlite3.c:221349:13: */ +func fts5ParseAlloc(tls *libc.TLS, t U64) uintptr { /* sqlite3.c:221406:13: */ return Xsqlite3_malloc64(tls, uint64(Sqlite3_int64(t))) } -func fts5ParseFree(tls *libc.TLS, p uintptr) { /* sqlite3.c:221350:13: */ +func fts5ParseFree(tls *libc.TLS, p uintptr) { /* sqlite3.c:221407:13: */ Xsqlite3_free(tls, p) } -func sqlite3Fts5ExprNew(tls *libc.TLS, pConfig uintptr, bPhraseToAnd int32, iCol int32, zExpr uintptr, ppNew uintptr, pzErr uintptr) int32 { /* sqlite3.c:221352:12: */ +func sqlite3Fts5ExprNew(tls *libc.TLS, pConfig uintptr, bPhraseToAnd int32, iCol int32, zExpr uintptr, ppNew uintptr, pzErr uintptr) int32 { /* sqlite3.c:221409:12: */ bp := tls.Alloc(72) defer tls.Free(72) @@ -177515,7 +177546,7 @@ func sqlite3Fts5ExprNew(tls *libc.TLS, pConfig uintptr, bPhraseToAnd int32, iCol // expression that will match a superset of the rows matched by the LIKE or // GLOB. If successful, SQLITE_OK is returned. Otherwise, an SQLite error // code. -func sqlite3Fts5ExprPattern(tls *libc.TLS, pConfig uintptr, bGlob int32, iCol int32, zText uintptr, pp uintptr) int32 { /* sqlite3.c:221433:12: */ +func sqlite3Fts5ExprPattern(tls *libc.TLS, pConfig uintptr, bGlob int32, iCol int32, zText uintptr, pp uintptr) int32 { /* sqlite3.c:221490:12: */ bp := tls.Alloc(3) defer tls.Free(3) @@ -177590,7 +177621,7 @@ func sqlite3Fts5ExprPattern(tls *libc.TLS, pConfig uintptr, bGlob int32, iCol in } // Free the expression node object passed as the only argument. -func sqlite3Fts5ParseNodeFree(tls *libc.TLS, p uintptr) { /* sqlite3.c:221503:13: */ +func sqlite3Fts5ParseNodeFree(tls *libc.TLS, p uintptr) { /* sqlite3.c:221560:13: */ if p != 0 { var i int32 for i = 0; i < (*Fts5ExprNode)(unsafe.Pointer(p)).FnChild; i++ { @@ -177602,7 +177633,7 @@ func sqlite3Fts5ParseNodeFree(tls *libc.TLS, p uintptr) { /* sqlite3.c:221503:13 } // Free the expression object passed as the only argument. -func sqlite3Fts5ExprFree(tls *libc.TLS, p uintptr) { /* sqlite3.c:221517:13: */ +func sqlite3Fts5ExprFree(tls *libc.TLS, p uintptr) { /* sqlite3.c:221574:13: */ if p != 0 { sqlite3Fts5ParseNodeFree(tls, (*Fts5Expr)(unsafe.Pointer(p)).FpRoot) Xsqlite3_free(tls, (*Fts5Expr)(unsafe.Pointer(p)).FapExprPhrase) @@ -177610,7 +177641,7 @@ func sqlite3Fts5ExprFree(tls *libc.TLS, p uintptr) { /* sqlite3.c:221517:13: */ } } -func sqlite3Fts5ExprAnd(tls *libc.TLS, pp1 uintptr, p2 uintptr) int32 { /* sqlite3.c:221525:12: */ +func sqlite3Fts5ExprAnd(tls *libc.TLS, pp1 uintptr, p2 uintptr) int32 { /* sqlite3.c:221582:12: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -177651,7 +177682,7 @@ func sqlite3Fts5ExprAnd(tls *libc.TLS, pp1 uintptr, p2 uintptr) int32 { /* sqlit // Argument pTerm must be a synonym iterator. Return the current rowid // that it points to. -func fts5ExprSynonymRowid(tls *libc.TLS, pTerm uintptr, bDesc int32, pbEof uintptr) I64 { /* sqlite3.c:221565:12: */ +func fts5ExprSynonymRowid(tls *libc.TLS, pTerm uintptr, bDesc int32, pbEof uintptr) I64 { /* sqlite3.c:221622:12: */ var iRet I64 = int64(0) var bRetValid int32 = 0 var p uintptr @@ -177673,7 +177704,7 @@ func fts5ExprSynonymRowid(tls *libc.TLS, pTerm uintptr, bDesc int32, pbEof uintp } // Argument pTerm must be a synonym iterator. -func fts5ExprSynonymList(tls *libc.TLS, pTerm uintptr, iRowid I64, pBuf uintptr, pa uintptr, pn uintptr) int32 { /* sqlite3.c:221590:12: */ +func fts5ExprSynonymList(tls *libc.TLS, pTerm uintptr, iRowid I64, pBuf uintptr, pa uintptr, pn uintptr) int32 { /* sqlite3.c:221647:12: */ bp := tls.Alloc(136) defer tls.Free(136) @@ -177837,7 +177868,7 @@ __22: // SQLITE_OK is returned if an error occurs, or an SQLite error code // otherwise. It is not considered an error code if the current rowid is // not a match. -func fts5ExprPhraseIsMatch(tls *libc.TLS, pNode uintptr, pPhrase uintptr, pbMatch uintptr) int32 { /* sqlite3.c:221673:12: */ +func fts5ExprPhraseIsMatch(tls *libc.TLS, pNode uintptr, pPhrase uintptr, pbMatch uintptr) int32 { /* sqlite3.c:221730:12: */ bp := tls.Alloc(168) defer tls.Free(168) @@ -178062,11 +178093,11 @@ type Fts5LookaheadReader1 = struct { Fi int32 FiPos I64 FiLookahead I64 -} /* sqlite3.c:221757:9 */ +} /* sqlite3.c:221814:9 */ -type Fts5LookaheadReader = Fts5LookaheadReader1 /* sqlite3.c:221757:36 */ +type Fts5LookaheadReader = Fts5LookaheadReader1 /* sqlite3.c:221814:36 */ -func fts5LookaheadReaderNext(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:221768:12: */ +func fts5LookaheadReaderNext(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:221825:12: */ (*Fts5LookaheadReader)(unsafe.Pointer(p)).FiPos = (*Fts5LookaheadReader)(unsafe.Pointer(p)).FiLookahead if sqlite3Fts5PoslistNext64(tls, (*Fts5LookaheadReader)(unsafe.Pointer(p)).Fa, (*Fts5LookaheadReader)(unsafe.Pointer(p)).Fn, p+12, p+24) != 0 { (*Fts5LookaheadReader)(unsafe.Pointer(p)).FiLookahead = I64(int64(1)) << 62 @@ -178074,7 +178105,7 @@ func fts5LookaheadReaderNext(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:2217 return libc.Bool32((*Fts5LookaheadReader)(unsafe.Pointer(p)).FiPos == I64(int64(1))<<62) } -func fts5LookaheadReaderInit(tls *libc.TLS, a uintptr, n int32, p uintptr) int32 { /* sqlite3.c:221776:12: */ +func fts5LookaheadReaderInit(tls *libc.TLS, a uintptr, n int32, p uintptr) int32 { /* sqlite3.c:221833:12: */ libc.Xmemset(tls, p, 0, uint64(unsafe.Sizeof(Fts5LookaheadReader{}))) (*Fts5LookaheadReader)(unsafe.Pointer(p)).Fa = a (*Fts5LookaheadReader)(unsafe.Pointer(p)).Fn = n @@ -178086,9 +178117,9 @@ type Fts5NearTrimmer1 = struct { Freader Fts5LookaheadReader Fwriter Fts5PoslistWriter FpOut uintptr -} /* sqlite3.c:221787:9 */ +} /* sqlite3.c:221844:9 */ -type Fts5NearTrimmer = Fts5NearTrimmer1 /* sqlite3.c:221787:32 */ +type Fts5NearTrimmer = Fts5NearTrimmer1 /* sqlite3.c:221844:32 */ // The near-set object passed as the first argument contains more than // one phrase. All phrases currently point to the same row. The @@ -178105,7 +178136,7 @@ type Fts5NearTrimmer = Fts5NearTrimmer1 /* sqlite3.c:221787:32 */ // If no error occurs and non-zero (a match) is returned, the position-list // of each phrase object is edited to contain only those entries that // meet the constraint before returning. -func fts5ExprNearIsMatch(tls *libc.TLS, pRc uintptr, pNear uintptr) int32 { /* sqlite3.c:221811:12: */ +func fts5ExprNearIsMatch(tls *libc.TLS, pRc uintptr, pNear uintptr) int32 { /* sqlite3.c:221868:12: */ bp := tls.Alloc(196) defer tls.Free(196) @@ -178307,7 +178338,7 @@ __29: // If the iterator reaches EOF, set *pbEof to true before returning. If // an error occurs, set *pRc to an error code. If either *pbEof or *pRc // are set, return a non-zero value. Otherwise, return zero. -func fts5ExprAdvanceto(tls *libc.TLS, pIter uintptr, bDesc int32, piLast uintptr, pRc uintptr, pbEof uintptr) int32 { /* sqlite3.c:221910:12: */ +func fts5ExprAdvanceto(tls *libc.TLS, pIter uintptr, bDesc int32, piLast uintptr, pRc uintptr, pbEof uintptr) int32 { /* sqlite3.c:221967:12: */ var iLast I64 = *(*I64)(unsafe.Pointer(piLast)) var iRowid I64 @@ -178327,7 +178358,7 @@ func fts5ExprAdvanceto(tls *libc.TLS, pIter uintptr, bDesc int32, piLast uintptr return 0 } -func fts5ExprSynonymAdvanceto(tls *libc.TLS, pTerm uintptr, bDesc int32, piLast uintptr, pRc uintptr) int32 { /* sqlite3.c:221936:12: */ +func fts5ExprSynonymAdvanceto(tls *libc.TLS, pTerm uintptr, bDesc int32, piLast uintptr, pRc uintptr) int32 { /* sqlite3.c:221993:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -178354,7 +178385,7 @@ func fts5ExprSynonymAdvanceto(tls *libc.TLS, pTerm uintptr, bDesc int32, piLast return *(*int32)(unsafe.Pointer(bp /* bEof */)) } -func fts5ExprNearTest(tls *libc.TLS, pRc uintptr, pExpr uintptr, pNode uintptr) int32 { /* sqlite3.c:221966:12: */ +func fts5ExprNearTest(tls *libc.TLS, pRc uintptr, pExpr uintptr, pNode uintptr) int32 { /* sqlite3.c:222023:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -178411,7 +178442,7 @@ func fts5ExprNearTest(tls *libc.TLS, pRc uintptr, pExpr uintptr, pNode uintptr) // If an error occurs, return an SQLite error code. Otherwise, return // SQLITE_OK. It is not considered an error if some term matches zero // documents. -func fts5ExprNearInitAll(tls *libc.TLS, pExpr uintptr, pNode uintptr) int32 { /* sqlite3.c:222025:12: */ +func fts5ExprNearInitAll(tls *libc.TLS, pExpr uintptr, pNode uintptr) int32 { /* sqlite3.c:222082:12: */ var pNear uintptr = (*Fts5ExprNode)(unsafe.Pointer(pNode)).FpNear var i int32 @@ -178477,7 +178508,7 @@ func fts5ExprNearInitAll(tls *libc.TLS, pExpr uintptr, pNode uintptr) int32 { /* // Otherwise, if this is a DESC iterator, the opposite is returned: // // (iRhs - iLhs) -func fts5RowidCmp(tls *libc.TLS, pExpr uintptr, iLhs I64, iRhs I64) int32 { /* sqlite3.c:222087:12: */ +func fts5RowidCmp(tls *libc.TLS, pExpr uintptr, iLhs I64, iRhs I64) int32 { /* sqlite3.c:222144:12: */ if (*Fts5Expr)(unsafe.Pointer(pExpr)).FbDesc == 0 { if iLhs < iRhs { @@ -178493,7 +178524,7 @@ func fts5RowidCmp(tls *libc.TLS, pExpr uintptr, iLhs I64, iRhs I64) int32 { /* s return int32(0) } -func fts5ExprSetEof(tls *libc.TLS, pNode uintptr) { /* sqlite3.c:222102:13: */ +func fts5ExprSetEof(tls *libc.TLS, pNode uintptr) { /* sqlite3.c:222159:13: */ var i int32 (*Fts5ExprNode)(unsafe.Pointer(pNode)).FbEof = 1 (*Fts5ExprNode)(unsafe.Pointer(pNode)).FbNomatch = 0 @@ -178502,7 +178533,7 @@ func fts5ExprSetEof(tls *libc.TLS, pNode uintptr) { /* sqlite3.c:222102:13: */ } } -func fts5ExprNodeZeroPoslist(tls *libc.TLS, pNode uintptr) { /* sqlite3.c:222111:13: */ +func fts5ExprNodeZeroPoslist(tls *libc.TLS, pNode uintptr) { /* sqlite3.c:222168:13: */ if (*Fts5ExprNode)(unsafe.Pointer(pNode)).FeType == FTS5_STRING || (*Fts5ExprNode)(unsafe.Pointer(pNode)).FeType == FTS5_TERM { var pNear uintptr = (*Fts5ExprNode)(unsafe.Pointer(pNode)).FpNear var i int32 @@ -178528,7 +178559,7 @@ func fts5ExprNodeZeroPoslist(tls *libc.TLS, pNode uintptr) { /* sqlite3.c:222111 // This means that if the iteration order is ASC, then numerically larger // rowids are considered larger. Or if it is the default DESC, numerically // smaller rowids are larger. -func fts5NodeCompare(tls *libc.TLS, pExpr uintptr, p1 uintptr, p2 uintptr) int32 { /* sqlite3.c:222141:12: */ +func fts5NodeCompare(tls *libc.TLS, pExpr uintptr, p1 uintptr, p2 uintptr) int32 { /* sqlite3.c:222198:12: */ if (*Fts5ExprNode)(unsafe.Pointer(p2)).FbEof != 0 { return -1 } @@ -178547,7 +178578,7 @@ func fts5NodeCompare(tls *libc.TLS, pExpr uintptr, p1 uintptr, p2 uintptr) int32 // SQLITE_OK is returned if an error occurs, or an SQLite error code // otherwise. It is not considered an error code if an iterator reaches // EOF. -func fts5ExprNodeTest_STRING(tls *libc.TLS, pExpr uintptr, pNode uintptr) int32 { /* sqlite3.c:222162:12: */ +func fts5ExprNodeTest_STRING(tls *libc.TLS, pExpr uintptr, pNode uintptr) int32 { /* sqlite3.c:222219:12: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -178615,7 +178646,7 @@ func fts5ExprNodeTest_STRING(tls *libc.TLS, pExpr uintptr, pNode uintptr) int32 // // Return SQLITE_OK if successful, or an SQLite error code if an error // occurs. -func fts5ExprNodeNext_STRING(tls *libc.TLS, pExpr uintptr, pNode uintptr, bFromValid int32, iFrom I64) int32 { /* sqlite3.c:222232:12: */ +func fts5ExprNodeNext_STRING(tls *libc.TLS, pExpr uintptr, pNode uintptr, bFromValid int32, iFrom I64) int32 { /* sqlite3.c:222289:12: */ var pTerm uintptr = *(*uintptr)(unsafe.Pointer((*Fts5ExprNode)(unsafe.Pointer(pNode)).FpNear + 24)) + 32 var rc int32 = SQLITE_OK @@ -178674,7 +178705,7 @@ func fts5ExprNodeNext_STRING(tls *libc.TLS, pExpr uintptr, pNode uintptr, bFromV return rc } -func fts5ExprNodeTest_TERM(tls *libc.TLS, pExpr uintptr, pNode uintptr) int32 { /* sqlite3.c:222297:12: */ +func fts5ExprNodeTest_TERM(tls *libc.TLS, pExpr uintptr, pNode uintptr) int32 { /* sqlite3.c:222354:12: */ // As this "NEAR" object is actually a single phrase that consists // of a single term only, grab pointers into the poslist managed by the // fts5_index.c iterator object. This is much faster than synthesizing @@ -178693,7 +178724,7 @@ func fts5ExprNodeTest_TERM(tls *libc.TLS, pExpr uintptr, pNode uintptr) int32 { } // xNext() method for a node of type FTS5_TERM. -func fts5ExprNodeNext_TERM(tls *libc.TLS, pExpr uintptr, pNode uintptr, bFromValid int32, iFrom I64) int32 { /* sqlite3.c:222325:12: */ +func fts5ExprNodeNext_TERM(tls *libc.TLS, pExpr uintptr, pNode uintptr, bFromValid int32, iFrom I64) int32 { /* sqlite3.c:222382:12: */ var rc int32 var pIter uintptr = (*Fts5ExprTerm)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer((*Fts5ExprNode)(unsafe.Pointer(pNode)).FpNear + 24)) + 32)).FpIter @@ -178711,7 +178742,7 @@ func fts5ExprNodeNext_TERM(tls *libc.TLS, pExpr uintptr, pNode uintptr, bFromVal return rc } -func fts5ExprNodeTest_OR(tls *libc.TLS, pExpr uintptr, pNode uintptr) { /* sqlite3.c:222349:13: */ +func fts5ExprNodeTest_OR(tls *libc.TLS, pExpr uintptr, pNode uintptr) { /* sqlite3.c:222406:13: */ var pNext uintptr = *(*uintptr)(unsafe.Pointer(pNode + 48)) var i int32 @@ -178727,7 +178758,7 @@ func fts5ExprNodeTest_OR(tls *libc.TLS, pExpr uintptr, pNode uintptr) { /* sqlit (*Fts5ExprNode)(unsafe.Pointer(pNode)).FbNomatch = (*Fts5ExprNode)(unsafe.Pointer(pNext)).FbNomatch } -func fts5ExprNodeNext_OR(tls *libc.TLS, pExpr uintptr, pNode uintptr, bFromValid int32, iFrom I64) int32 { /* sqlite3.c:222368:12: */ +func fts5ExprNodeNext_OR(tls *libc.TLS, pExpr uintptr, pNode uintptr, bFromValid int32, iFrom I64) int32 { /* sqlite3.c:222425:12: */ var i int32 var iLast I64 = (*Fts5ExprNode)(unsafe.Pointer(pNode)).FiRowid @@ -178753,7 +178784,7 @@ func fts5ExprNodeNext_OR(tls *libc.TLS, pExpr uintptr, pNode uintptr, bFromValid } // Argument pNode is an FTS5_AND node. -func fts5ExprNodeTest_AND(tls *libc.TLS, pExpr uintptr, pAnd uintptr) int32 { /* sqlite3.c:222400:12: */ +func fts5ExprNodeTest_AND(tls *libc.TLS, pExpr uintptr, pAnd uintptr) int32 { /* sqlite3.c:222457:12: */ var iChild int32 var iLast I64 = (*Fts5ExprNode)(unsafe.Pointer(pAnd)).FiRowid var rc int32 = SQLITE_OK @@ -178803,7 +178834,7 @@ func fts5ExprNodeTest_AND(tls *libc.TLS, pExpr uintptr, pAnd uintptr) int32 { /* return SQLITE_OK } -func fts5ExprNodeNext_AND(tls *libc.TLS, pExpr uintptr, pNode uintptr, bFromValid int32, iFrom I64) int32 { /* sqlite3.c:222452:12: */ +func fts5ExprNodeNext_AND(tls *libc.TLS, pExpr uintptr, pNode uintptr, bFromValid int32, iFrom I64) int32 { /* sqlite3.c:222509:12: */ var rc int32 = (*struct { f func(*libc.TLS, uintptr, uintptr, int32, I64) int32 })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExprNode)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pNode + 48 /* &.apChild */)))).FxNext})).f(tls, pExpr, *(*uintptr)(unsafe.Pointer(pNode + 48 /* &.apChild */)), bFromValid, iFrom) @@ -178815,7 +178846,7 @@ func fts5ExprNodeNext_AND(tls *libc.TLS, pExpr uintptr, pNode uintptr, bFromVali return rc } -func fts5ExprNodeTest_NOT(tls *libc.TLS, pExpr uintptr, pNode uintptr) int32 { /* sqlite3.c:222467:12: */ +func fts5ExprNodeTest_NOT(tls *libc.TLS, pExpr uintptr, pNode uintptr) int32 { /* sqlite3.c:222524:12: */ var rc int32 = SQLITE_OK var p1 uintptr = *(*uintptr)(unsafe.Pointer(pNode + 48)) var p2 uintptr = *(*uintptr)(unsafe.Pointer(pNode + 48 + 1*8)) @@ -178845,7 +178876,7 @@ func fts5ExprNodeTest_NOT(tls *libc.TLS, pExpr uintptr, pNode uintptr) int32 { / return rc } -func fts5ExprNodeNext_NOT(tls *libc.TLS, pExpr uintptr, pNode uintptr, bFromValid int32, iFrom I64) int32 { /* sqlite3.c:222495:12: */ +func fts5ExprNodeNext_NOT(tls *libc.TLS, pExpr uintptr, pNode uintptr, bFromValid int32, iFrom I64) int32 { /* sqlite3.c:222552:12: */ var rc int32 = (*struct { f func(*libc.TLS, uintptr, uintptr, int32, I64) int32 })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExprNode)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pNode + 48 /* &.apChild */)))).FxNext})).f(tls, pExpr, *(*uintptr)(unsafe.Pointer(pNode + 48 /* &.apChild */)), bFromValid, iFrom) @@ -178861,7 +178892,7 @@ func fts5ExprNodeNext_NOT(tls *libc.TLS, pExpr uintptr, pNode uintptr, bFromVali // If pNode currently points to a match, this function returns SQLITE_OK // without modifying it. Otherwise, pNode is advanced until it does point // to a match or EOF is reached. -func fts5ExprNodeTest(tls *libc.TLS, pExpr uintptr, pNode uintptr) int32 { /* sqlite3.c:222516:12: */ +func fts5ExprNodeTest(tls *libc.TLS, pExpr uintptr, pNode uintptr) int32 { /* sqlite3.c:222573:12: */ var rc int32 = SQLITE_OK if (*Fts5ExprNode)(unsafe.Pointer(pNode)).FbEof == 0 { switch (*Fts5ExprNode)(unsafe.Pointer(pNode)).FeType { @@ -178914,7 +178945,7 @@ func fts5ExprNodeTest(tls *libc.TLS, pExpr uintptr, pNode uintptr) int32 { /* sq // // Return an SQLite error code if an error occurs, or SQLITE_OK otherwise. // It is not an error if there are no matches. -func fts5ExprNodeFirst(tls *libc.TLS, pExpr uintptr, pNode uintptr) int32 { /* sqlite3.c:222561:12: */ +func fts5ExprNodeFirst(tls *libc.TLS, pExpr uintptr, pNode uintptr) int32 { /* sqlite3.c:222618:12: */ var rc int32 = SQLITE_OK (*Fts5ExprNode)(unsafe.Pointer(pNode)).FbEof = 0 (*Fts5ExprNode)(unsafe.Pointer(pNode)).FbNomatch = 0 @@ -178976,7 +179007,7 @@ func fts5ExprNodeFirst(tls *libc.TLS, pExpr uintptr, pNode uintptr) int32 { /* s // // Return SQLITE_OK if successful, or an SQLite error code otherwise. It // is not considered an error if the query does not match any documents. -func sqlite3Fts5ExprFirst(tls *libc.TLS, p uintptr, pIdx uintptr, iFirst I64, bDesc int32) int32 { /* sqlite3.c:222620:12: */ +func sqlite3Fts5ExprFirst(tls *libc.TLS, p uintptr, pIdx uintptr, iFirst I64, bDesc int32) int32 { /* sqlite3.c:222677:12: */ var pRoot uintptr = (*Fts5Expr)(unsafe.Pointer(p)).FpRoot var rc int32 // Return code @@ -179008,7 +179039,7 @@ func sqlite3Fts5ExprFirst(tls *libc.TLS, p uintptr, pIdx uintptr, iFirst I64, bD // // Return SQLITE_OK if successful, or an SQLite error code otherwise. It // is not considered an error if the query does not match any documents. -func sqlite3Fts5ExprNext(tls *libc.TLS, p uintptr, iLast I64) int32 { /* sqlite3.c:222651:12: */ +func sqlite3Fts5ExprNext(tls *libc.TLS, p uintptr, iLast I64) int32 { /* sqlite3.c:222708:12: */ var rc int32 var pRoot uintptr = (*Fts5Expr)(unsafe.Pointer(p)).FpRoot @@ -179024,15 +179055,15 @@ func sqlite3Fts5ExprNext(tls *libc.TLS, p uintptr, iLast I64) int32 { /* sqlite3 return rc } -func sqlite3Fts5ExprEof(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:222665:12: */ +func sqlite3Fts5ExprEof(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:222722:12: */ return (*Fts5ExprNode)(unsafe.Pointer((*Fts5Expr)(unsafe.Pointer(p)).FpRoot)).FbEof } -func sqlite3Fts5ExprRowid(tls *libc.TLS, p uintptr) I64 { /* sqlite3.c:222669:12: */ +func sqlite3Fts5ExprRowid(tls *libc.TLS, p uintptr) I64 { /* sqlite3.c:222726:12: */ return (*Fts5ExprNode)(unsafe.Pointer((*Fts5Expr)(unsafe.Pointer(p)).FpRoot)).FiRowid } -func fts5ParseStringFromToken(tls *libc.TLS, pToken uintptr, pz uintptr) int32 { /* sqlite3.c:222673:12: */ +func fts5ParseStringFromToken(tls *libc.TLS, pToken uintptr, pz uintptr) int32 { /* sqlite3.c:222730:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -179042,7 +179073,7 @@ func fts5ParseStringFromToken(tls *libc.TLS, pToken uintptr, pz uintptr) int32 { } // Free the phrase object passed as the only argument. -func fts5ExprPhraseFree(tls *libc.TLS, pPhrase uintptr) { /* sqlite3.c:222682:13: */ +func fts5ExprPhraseFree(tls *libc.TLS, pPhrase uintptr) { /* sqlite3.c:222739:13: */ if pPhrase != 0 { var i int32 for i = 0; i < (*Fts5ExprPhrase)(unsafe.Pointer(pPhrase)).FnTerm; i++ { @@ -179067,7 +179098,7 @@ func fts5ExprPhraseFree(tls *libc.TLS, pPhrase uintptr) { /* sqlite3.c:222682:13 // Set the "bFirst" flag on the first token of the phrase passed as the // only argument. -func sqlite3Fts5ParseSetCaret(tls *libc.TLS, pPhrase uintptr) { /* sqlite3.c:222707:13: */ +func sqlite3Fts5ParseSetCaret(tls *libc.TLS, pPhrase uintptr) { /* sqlite3.c:222764:13: */ if pPhrase != 0 && (*Fts5ExprPhrase)(unsafe.Pointer(pPhrase)).FnTerm != 0 { (*Fts5ExprTerm)(unsafe.Pointer(pPhrase + 32)).FbFirst = U8(1) } @@ -179079,7 +179110,7 @@ func sqlite3Fts5ParseSetCaret(tls *libc.TLS, pPhrase uintptr) { /* sqlite3.c:222 // // If an OOM error occurs, both the pNear and pPhrase objects are freed and // NULL returned. -func sqlite3Fts5ParseNearset(tls *libc.TLS, pParse uintptr, pNear uintptr, pPhrase uintptr) uintptr { /* sqlite3.c:222721:24: */ +func sqlite3Fts5ParseNearset(tls *libc.TLS, pParse uintptr, pNear uintptr, pPhrase uintptr) uintptr { /* sqlite3.c:222778:24: */ var SZALLOC int32 = 8 var pRet uintptr = uintptr(0) @@ -179139,12 +179170,12 @@ type TokenCtx1 = struct { FpPhrase uintptr Frc int32 F__ccgo_pad1 [4]byte -} /* sqlite3.c:222781:9 */ +} /* sqlite3.c:222838:9 */ -type TokenCtx = TokenCtx1 /* sqlite3.c:222781:25 */ +type TokenCtx = TokenCtx1 /* sqlite3.c:222838:25 */ // Callback for tokenizing terms used by ParseTerm(). -func fts5ParseTokenize(tls *libc.TLS, pContext uintptr, tflags int32, pToken uintptr, nToken int32, iUnused1 int32, iUnused2 int32) int32 { /* sqlite3.c:222790:12: */ +func fts5ParseTokenize(tls *libc.TLS, pContext uintptr, tflags int32, pToken uintptr, nToken int32, iUnused1 int32, iUnused2 int32) int32 { /* sqlite3.c:222847:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -179213,12 +179244,12 @@ func fts5ParseTokenize(tls *libc.TLS, pContext uintptr, tflags int32, pToken uin } // Free the phrase object passed as the only argument. -func sqlite3Fts5ParsePhraseFree(tls *libc.TLS, pPhrase uintptr) { /* sqlite3.c:222855:13: */ +func sqlite3Fts5ParsePhraseFree(tls *libc.TLS, pPhrase uintptr) { /* sqlite3.c:222912:13: */ fts5ExprPhraseFree(tls, pPhrase) } // Free the phrase object passed as the second argument. -func sqlite3Fts5ParseNearsetFree(tls *libc.TLS, pNear uintptr) { /* sqlite3.c:222862:13: */ +func sqlite3Fts5ParseNearsetFree(tls *libc.TLS, pNear uintptr) { /* sqlite3.c:222919:13: */ if pNear != 0 { var i int32 for i = 0; i < (*Fts5ExprNearset)(unsafe.Pointer(pNear)).FnPhrase; i++ { @@ -179229,12 +179260,12 @@ func sqlite3Fts5ParseNearsetFree(tls *libc.TLS, pNear uintptr) { /* sqlite3.c:22 } } -func sqlite3Fts5ParseFinished(tls *libc.TLS, pParse uintptr, p uintptr) { /* sqlite3.c:222873:13: */ +func sqlite3Fts5ParseFinished(tls *libc.TLS, pParse uintptr, p uintptr) { /* sqlite3.c:222930:13: */ (*Fts5Parse)(unsafe.Pointer(pParse)).FpExpr = p } -func parseGrowPhraseArray(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:222878:12: */ +func parseGrowPhraseArray(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:222935:12: */ if (*Fts5Parse)(unsafe.Pointer(pParse)).FnPhrase%8 == 0 { var nByte Sqlite3_int64 = Sqlite3_int64(uint64(unsafe.Sizeof(uintptr(0))) * uint64((*Fts5Parse)(unsafe.Pointer(pParse)).FnPhrase+8)) var apNew uintptr @@ -179251,7 +179282,7 @@ func parseGrowPhraseArray(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:22 // This function is called by the parser to process a string token. The // string may or may not be quoted. In any case it is tokenized and a // phrase object consisting of all tokens returned. -func sqlite3Fts5ParseTerm(tls *libc.TLS, pParse uintptr, pAppend uintptr, pToken uintptr, bPrefix int32) uintptr { /* sqlite3.c:222897:23: */ +func sqlite3Fts5ParseTerm(tls *libc.TLS, pParse uintptr, pAppend uintptr, pToken uintptr, bPrefix int32) uintptr { /* sqlite3.c:222954:23: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -179309,7 +179340,7 @@ func sqlite3Fts5ParseTerm(tls *libc.TLS, pParse uintptr, pAppend uintptr, pToken // Create a new FTS5 expression by cloning phrase iPhrase of the // expression passed as the second argument. -func sqlite3Fts5ExprClonePhrase(tls *libc.TLS, pExpr uintptr, iPhrase int32, ppNew uintptr) int32 { /* sqlite3.c:222951:12: */ +func sqlite3Fts5ExprClonePhrase(tls *libc.TLS, pExpr uintptr, iPhrase int32, ppNew uintptr) int32 { /* sqlite3.c:223008:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -179404,7 +179435,7 @@ func sqlite3Fts5ExprClonePhrase(tls *libc.TLS, pExpr uintptr, iPhrase int32, ppN // Token pTok has appeared in a MATCH expression where the NEAR operator // is expected. If token pTok does not contain "NEAR", store an error // in the pParse object. -func sqlite3Fts5ParseNear(tls *libc.TLS, pParse uintptr, pTok uintptr) { /* sqlite3.c:223047:13: */ +func sqlite3Fts5ParseNear(tls *libc.TLS, pParse uintptr, pTok uintptr) { /* sqlite3.c:223104:13: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -179414,7 +179445,7 @@ func sqlite3Fts5ParseNear(tls *libc.TLS, pParse uintptr, pTok uintptr) { /* sqli } } -func sqlite3Fts5ParseSetDistance(tls *libc.TLS, pParse uintptr, pNear uintptr, p uintptr) { /* sqlite3.c:223055:13: */ +func sqlite3Fts5ParseSetDistance(tls *libc.TLS, pParse uintptr, pNear uintptr, p uintptr) { /* sqlite3.c:223112:13: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -179445,7 +179476,7 @@ func sqlite3Fts5ParseSetDistance(tls *libc.TLS, pParse uintptr, pNear uintptr, p // // If an OOM error occurs, store an error code in pParse and return NULL. // The old colset object (if any) is not freed in this case. -func fts5ParseColset(tls *libc.TLS, pParse uintptr, p uintptr, iCol int32) uintptr { /* sqlite3.c:223090:19: */ +func fts5ParseColset(tls *libc.TLS, pParse uintptr, p uintptr, iCol int32) uintptr { /* sqlite3.c:223147:19: */ var nCol int32 if p != 0 { nCol = (*Fts5Colset)(unsafe.Pointer(p)).FnCol @@ -179483,7 +179514,7 @@ func fts5ParseColset(tls *libc.TLS, pParse uintptr, p uintptr, iCol int32) uintp // Allocate and return an Fts5Colset object specifying the inverse of // the colset passed as the second argument. Free the colset passed // as the second argument before returning. -func sqlite3Fts5ParseColsetInvert(tls *libc.TLS, pParse uintptr, p uintptr) uintptr { /* sqlite3.c:223131:19: */ +func sqlite3Fts5ParseColsetInvert(tls *libc.TLS, pParse uintptr, p uintptr) uintptr { /* sqlite3.c:223188:19: */ var pRet uintptr var nCol int32 = (*Fts5Config)(unsafe.Pointer((*Fts5Parse)(unsafe.Pointer(pParse)).FpConfig)).FnCol @@ -179505,7 +179536,7 @@ func sqlite3Fts5ParseColsetInvert(tls *libc.TLS, pParse uintptr, p uintptr) uint return pRet } -func sqlite3Fts5ParseColset(tls *libc.TLS, pParse uintptr, pColset uintptr, p uintptr) uintptr { /* sqlite3.c:223154:19: */ +func sqlite3Fts5ParseColset(tls *libc.TLS, pParse uintptr, pColset uintptr, p uintptr) uintptr { /* sqlite3.c:223211:19: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -179544,7 +179575,7 @@ func sqlite3Fts5ParseColset(tls *libc.TLS, pParse uintptr, pColset uintptr, p ui // Otherwise, a copy of (*pOrig) is made into memory obtained from // sqlite3Fts5MallocZero() and a pointer to it returned. If the allocation // fails, (*pRc) is set to SQLITE_NOMEM and NULL is returned. -func fts5CloneColset(tls *libc.TLS, pRc uintptr, pOrig uintptr) uintptr { /* sqlite3.c:223194:19: */ +func fts5CloneColset(tls *libc.TLS, pRc uintptr, pOrig uintptr) uintptr { /* sqlite3.c:223251:19: */ var pRet uintptr if pOrig != 0 { var nByte Sqlite3_int64 = Sqlite3_int64(uint64(unsafe.Sizeof(Fts5Colset{})) + uint64((*Fts5Colset)(unsafe.Pointer(pOrig)).FnCol-1)*uint64(unsafe.Sizeof(int32(0)))) @@ -179559,7 +179590,7 @@ func fts5CloneColset(tls *libc.TLS, pRc uintptr, pOrig uintptr) uintptr { /* sql } // Remove from colset pColset any columns that are not also in colset pMerge. -func fts5MergeColset(tls *libc.TLS, pColset uintptr, pMerge uintptr) { /* sqlite3.c:223211:13: */ +func fts5MergeColset(tls *libc.TLS, pColset uintptr, pMerge uintptr) { /* sqlite3.c:223268:13: */ var iIn int32 = 0 // Next input in pColset var iMerge int32 = 0 // Next input in pMerge var iOut int32 = 0 // Next output slot in pColset @@ -179583,7 +179614,7 @@ func fts5MergeColset(tls *libc.TLS, pColset uintptr, pMerge uintptr) { /* sqlite // its decendents. If (*ppFree) is not NULL, it contains a spare copy // of pColset. This function may use the spare copy and set (*ppFree) to // zero, or it may create copies of pColset using fts5CloneColset(). -func fts5ParseSetColset(tls *libc.TLS, pParse uintptr, pNode uintptr, pColset uintptr, ppFree uintptr) { /* sqlite3.c:223237:13: */ +func fts5ParseSetColset(tls *libc.TLS, pParse uintptr, pNode uintptr, pColset uintptr, ppFree uintptr) { /* sqlite3.c:223294:13: */ if (*Fts5Parse)(unsafe.Pointer(pParse)).Frc == SQLITE_OK { if (*Fts5ExprNode)(unsafe.Pointer(pNode)).FeType == FTS5_STRING || (*Fts5ExprNode)(unsafe.Pointer(pNode)).FeType == FTS5_TERM { @@ -179611,7 +179642,7 @@ func fts5ParseSetColset(tls *libc.TLS, pParse uintptr, pNode uintptr, pColset ui } // Apply colset pColset to expression node pExpr and all of its descendents. -func sqlite3Fts5ParseSetColset(tls *libc.TLS, pParse uintptr, pExpr uintptr, pColset uintptr) { /* sqlite3.c:223275:13: */ +func sqlite3Fts5ParseSetColset(tls *libc.TLS, pParse uintptr, pExpr uintptr, pColset uintptr) { /* sqlite3.c:223332:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -179625,7 +179656,7 @@ func sqlite3Fts5ParseSetColset(tls *libc.TLS, pParse uintptr, pExpr uintptr, pCo Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp /* pFree */))) } -func fts5ExprAssignXNext(tls *libc.TLS, pNode uintptr) { /* sqlite3.c:223291:13: */ +func fts5ExprAssignXNext(tls *libc.TLS, pNode uintptr) { /* sqlite3.c:223348:13: */ switch (*Fts5ExprNode)(unsafe.Pointer(pNode)).FeType { case FTS5_STRING: { @@ -179676,7 +179707,7 @@ func fts5ExprAssignXNext(tls *libc.TLS, pNode uintptr) { /* sqlite3.c:223291:13: } } -func fts5ExprAddChildren(tls *libc.TLS, p uintptr, pSub uintptr) { /* sqlite3.c:223324:13: */ +func fts5ExprAddChildren(tls *libc.TLS, p uintptr, pSub uintptr) { /* sqlite3.c:223381:13: */ if (*Fts5ExprNode)(unsafe.Pointer(p)).FeType != FTS5_NOT && (*Fts5ExprNode)(unsafe.Pointer(pSub)).FeType == (*Fts5ExprNode)(unsafe.Pointer(p)).FeType { var nByte int32 = int32(uint64(unsafe.Sizeof(uintptr(0))) * uint64((*Fts5ExprNode)(unsafe.Pointer(pSub)).FnChild)) libc.Xmemcpy(tls, p+48+uintptr((*Fts5ExprNode)(unsafe.Pointer(p)).FnChild)*8, pSub+48, uint64(nByte)) @@ -179696,7 +179727,7 @@ func fts5ExprAddChildren(tls *libc.TLS, p uintptr, pSub uintptr) { /* sqlite3.c: // into an AND tree: // // abc AND def AND ghi -func fts5ParsePhraseToAnd(tls *libc.TLS, pParse uintptr, pNear uintptr) uintptr { /* sqlite3.c:223346:21: */ +func fts5ParsePhraseToAnd(tls *libc.TLS, pParse uintptr, pNear uintptr) uintptr { /* sqlite3.c:223403:21: */ var nTerm int32 = (*Fts5ExprPhrase)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pNear + 24)))).FnTerm var ii int32 var nByte int32 @@ -179739,7 +179770,7 @@ func fts5ParsePhraseToAnd(tls *libc.TLS, pParse uintptr, pNear uintptr) uintptr // Allocate and return a new expression object. If anything goes wrong (i.e. // OOM error), leave an error code in pParse and return NULL. -func sqlite3Fts5ParseNode(tls *libc.TLS, pParse uintptr, eType int32, pLeft uintptr, pRight uintptr, pNear uintptr) uintptr { /* sqlite3.c:223400:21: */ +func sqlite3Fts5ParseNode(tls *libc.TLS, pParse uintptr, eType int32, pLeft uintptr, pRight uintptr, pNear uintptr) uintptr { /* sqlite3.c:223457:21: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -179827,7 +179858,7 @@ func sqlite3Fts5ParseNode(tls *libc.TLS, pParse uintptr, eType int32, pLeft uint return pRet } -func sqlite3Fts5ParseImplicitAnd(tls *libc.TLS, pParse uintptr, pLeft uintptr, pRight uintptr) uintptr { /* sqlite3.c:223482:21: */ +func sqlite3Fts5ParseImplicitAnd(tls *libc.TLS, pParse uintptr, pLeft uintptr, pRight uintptr) uintptr { /* sqlite3.c:223539:21: */ var pRet uintptr = uintptr(0) var pPrev uintptr @@ -179873,7 +179904,7 @@ func sqlite3Fts5ParseImplicitAnd(tls *libc.TLS, pParse uintptr, pLeft uintptr, p // This is called during initialization to register the fts5_expr() scalar // UDF with the SQLite handle passed as the only argument. -func sqlite3Fts5ExprInit(tls *libc.TLS, pGlobal uintptr, db uintptr) int32 { /* sqlite3.c:223919:12: */ +func sqlite3Fts5ExprInit(tls *libc.TLS, pGlobal uintptr, db uintptr) int32 { /* sqlite3.c:223976:12: */ var rc int32 = SQLITE_OK _ = pGlobal _ = db @@ -179886,7 +179917,7 @@ func sqlite3Fts5ExprInit(tls *libc.TLS, pGlobal uintptr, db uintptr) int32 { /* } // Return the number of phrases in expression pExpr. -func sqlite3Fts5ExprPhraseCount(tls *libc.TLS, pExpr uintptr) int32 { /* sqlite3.c:223956:12: */ +func sqlite3Fts5ExprPhraseCount(tls *libc.TLS, pExpr uintptr) int32 { /* sqlite3.c:224013:12: */ return func() int32 { if pExpr != 0 { return (*Fts5Expr)(unsafe.Pointer(pExpr)).FnPhrase @@ -179896,7 +179927,7 @@ func sqlite3Fts5ExprPhraseCount(tls *libc.TLS, pExpr uintptr) int32 { /* sqlite3 } // Return the number of terms in the iPhrase'th phrase in pExpr. -func sqlite3Fts5ExprPhraseSize(tls *libc.TLS, pExpr uintptr, iPhrase int32) int32 { /* sqlite3.c:223963:12: */ +func sqlite3Fts5ExprPhraseSize(tls *libc.TLS, pExpr uintptr, iPhrase int32) int32 { /* sqlite3.c:224020:12: */ if iPhrase < 0 || iPhrase >= (*Fts5Expr)(unsafe.Pointer(pExpr)).FnPhrase { return 0 } @@ -179905,7 +179936,7 @@ func sqlite3Fts5ExprPhraseSize(tls *libc.TLS, pExpr uintptr, iPhrase int32) int3 // This function is used to access the current position list for phrase // iPhrase. -func sqlite3Fts5ExprPoslist(tls *libc.TLS, pExpr uintptr, iPhrase int32, pa uintptr) int32 { /* sqlite3.c:223972:12: */ +func sqlite3Fts5ExprPoslist(tls *libc.TLS, pExpr uintptr, iPhrase int32, pa uintptr) int32 { /* sqlite3.c:224029:12: */ var nRet int32 var pPhrase uintptr = *(*uintptr)(unsafe.Pointer((*Fts5Expr)(unsafe.Pointer(pExpr)).FapExprPhrase + uintptr(iPhrase)*8)) var pNode uintptr = (*Fts5ExprPhrase)(unsafe.Pointer(pPhrase)).FpNode @@ -179926,7 +179957,7 @@ func sqlite3Fts5ExprPoslist(tls *libc.TLS, pExpr uintptr, iPhrase int32, pa uint // At present this function is only used for detail=col and detail=none // fts5 tables. This implies that all phrases must be at most 1 token // in size, as phrase matches are not supported without detail=full. -func sqlite3Fts5ExprClearPoslists(tls *libc.TLS, pExpr uintptr, bLive int32) uintptr { /* sqlite3.c:224001:29: */ +func sqlite3Fts5ExprClearPoslists(tls *libc.TLS, pExpr uintptr, bLive int32) uintptr { /* sqlite3.c:224058:29: */ var pRet uintptr pRet = Xsqlite3_malloc64(tls, uint64(uint64(unsafe.Sizeof(Fts5PoslistPopulator{}))*uint64((*Fts5Expr)(unsafe.Pointer(pExpr)).FnPhrase))) if pRet != 0 { @@ -179950,12 +179981,12 @@ type Fts5ExprCtx1 = struct { FpExpr uintptr FaPopulator uintptr FiOff I64 -} /* sqlite3.c:224023:1 */ +} /* sqlite3.c:224080:1 */ -type Fts5ExprCtx = Fts5ExprCtx1 /* sqlite3.c:224028:28 */ +type Fts5ExprCtx = Fts5ExprCtx1 /* sqlite3.c:224085:28 */ // TODO: Make this more efficient! -func fts5ExprColsetTest(tls *libc.TLS, pColset uintptr, iCol int32) int32 { /* sqlite3.c:224033:12: */ +func fts5ExprColsetTest(tls *libc.TLS, pColset uintptr, iCol int32) int32 { /* sqlite3.c:224090:12: */ var i int32 for i = 0; i < (*Fts5Colset)(unsafe.Pointer(pColset)).FnCol; i++ { if *(*int32)(unsafe.Pointer(pColset + 4 + uintptr(i)*4)) == iCol { @@ -179965,7 +179996,7 @@ func fts5ExprColsetTest(tls *libc.TLS, pColset uintptr, iCol int32) int32 { /* s return 0 } -func fts5ExprPopulatePoslistsCb(tls *libc.TLS, pCtx uintptr, tflags int32, pToken uintptr, nToken int32, iUnused1 int32, iUnused2 int32) int32 { /* sqlite3.c:224041:12: */ +func fts5ExprPopulatePoslistsCb(tls *libc.TLS, pCtx uintptr, tflags int32, pToken uintptr, nToken int32, iUnused1 int32, iUnused2 int32) int32 { /* sqlite3.c:224098:12: */ var p uintptr = pCtx var pExpr uintptr = (*Fts5ExprCtx)(unsafe.Pointer(p)).FpExpr var i int32 @@ -180000,7 +180031,7 @@ func fts5ExprPopulatePoslistsCb(tls *libc.TLS, pCtx uintptr, tflags int32, pToke return SQLITE_OK } -func sqlite3Fts5ExprPopulatePoslists(tls *libc.TLS, pConfig uintptr, pExpr uintptr, aPopulator uintptr, iCol int32, z uintptr, n int32) int32 { /* sqlite3.c:224076:12: */ +func sqlite3Fts5ExprPopulatePoslists(tls *libc.TLS, pConfig uintptr, pExpr uintptr, aPopulator uintptr, iCol int32, z uintptr, n int32) int32 { /* sqlite3.c:224133:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -180028,7 +180059,7 @@ func sqlite3Fts5ExprPopulatePoslists(tls *libc.TLS, pConfig uintptr, pExpr uintp }{fts5ExprPopulatePoslistsCb}))) } -func fts5ExprClearPoslists(tls *libc.TLS, pNode uintptr) { /* sqlite3.c:224106:13: */ +func fts5ExprClearPoslists(tls *libc.TLS, pNode uintptr) { /* sqlite3.c:224163:13: */ if (*Fts5ExprNode)(unsafe.Pointer(pNode)).FeType == FTS5_TERM || (*Fts5ExprNode)(unsafe.Pointer(pNode)).FeType == FTS5_STRING { (*Fts5ExprPhrase)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer((*Fts5ExprNode)(unsafe.Pointer(pNode)).FpNear + 24)))).Fposlist.Fn = 0 } else { @@ -180039,7 +180070,7 @@ func fts5ExprClearPoslists(tls *libc.TLS, pNode uintptr) { /* sqlite3.c:224106:1 } } -func fts5ExprCheckPoslists(tls *libc.TLS, pNode uintptr, iRowid I64) int32 { /* sqlite3.c:224117:12: */ +func fts5ExprCheckPoslists(tls *libc.TLS, pNode uintptr, iRowid I64) int32 { /* sqlite3.c:224174:12: */ (*Fts5ExprNode)(unsafe.Pointer(pNode)).FiRowid = iRowid (*Fts5ExprNode)(unsafe.Pointer(pNode)).FbEof = 0 switch (*Fts5ExprNode)(unsafe.Pointer(pNode)).FeType { @@ -180089,12 +180120,12 @@ func fts5ExprCheckPoslists(tls *libc.TLS, pNode uintptr, iRowid I64) int32 { /* return 1 } -func sqlite3Fts5ExprCheckPoslists(tls *libc.TLS, pExpr uintptr, iRowid I64) { /* sqlite3.c:224161:13: */ +func sqlite3Fts5ExprCheckPoslists(tls *libc.TLS, pExpr uintptr, iRowid I64) { /* sqlite3.c:224218:13: */ fts5ExprCheckPoslists(tls, (*Fts5Expr)(unsafe.Pointer(pExpr)).FpRoot, iRowid) } // This function is only called for detail=columns tables. -func sqlite3Fts5ExprPhraseCollist(tls *libc.TLS, pExpr uintptr, iPhrase int32, ppCollist uintptr, pnCollist uintptr) int32 { /* sqlite3.c:224168:12: */ +func sqlite3Fts5ExprPhraseCollist(tls *libc.TLS, pExpr uintptr, iPhrase int32, ppCollist uintptr, pnCollist uintptr) int32 { /* sqlite3.c:224225:12: */ var pPhrase uintptr = *(*uintptr)(unsafe.Pointer((*Fts5Expr)(unsafe.Pointer(pExpr)).FapExprPhrase + uintptr(iPhrase)*8)) var pNode uintptr = (*Fts5ExprPhrase)(unsafe.Pointer(pPhrase)).FpNode var rc int32 = SQLITE_OK @@ -180145,7 +180176,7 @@ type Fts5HashEntry1 = struct { FiCol I16 FiPos int32 FiRowid I64 -} /* sqlite3.c:216813:9 */ +} /* sqlite3.c:216870:9 */ // 2014 August 11 // @@ -180161,14 +180192,14 @@ type Fts5HashEntry1 = struct { // #include "fts5Int.h" -type Fts5HashEntry = Fts5HashEntry1 /* sqlite3.c:224221:30 */ +type Fts5HashEntry = Fts5HashEntry1 /* sqlite3.c:224278:30 */ // Eqivalent to: // // char *fts5EntryKey(Fts5HashEntry *pEntry){ return zKey; } // Allocate a new hash table. -func sqlite3Fts5HashNew(tls *libc.TLS, pConfig uintptr, ppNew uintptr, pnByte uintptr) int32 { /* sqlite3.c:224287:12: */ +func sqlite3Fts5HashNew(tls *libc.TLS, pConfig uintptr, ppNew uintptr, pnByte uintptr) int32 { /* sqlite3.c:224344:12: */ var rc int32 = SQLITE_OK var pNew uintptr @@ -180196,7 +180227,7 @@ func sqlite3Fts5HashNew(tls *libc.TLS, pConfig uintptr, ppNew uintptr, pnByte ui } // Free a hash table object. -func sqlite3Fts5HashFree(tls *libc.TLS, pHash uintptr) { /* sqlite3.c:224317:13: */ +func sqlite3Fts5HashFree(tls *libc.TLS, pHash uintptr) { /* sqlite3.c:224374:13: */ if pHash != 0 { sqlite3Fts5HashClear(tls, pHash) Xsqlite3_free(tls, (*Fts5Hash)(unsafe.Pointer(pHash)).FaSlot) @@ -180205,7 +180236,7 @@ func sqlite3Fts5HashFree(tls *libc.TLS, pHash uintptr) { /* sqlite3.c:224317:13: } // Empty (but do not delete) a hash table. -func sqlite3Fts5HashClear(tls *libc.TLS, pHash uintptr) { /* sqlite3.c:224328:13: */ +func sqlite3Fts5HashClear(tls *libc.TLS, pHash uintptr) { /* sqlite3.c:224385:13: */ var i int32 for i = 0; i < (*Fts5Hash)(unsafe.Pointer(pHash)).FnSlot; i++ { var pNext uintptr @@ -180219,7 +180250,7 @@ func sqlite3Fts5HashClear(tls *libc.TLS, pHash uintptr) { /* sqlite3.c:224328:13 (*Fts5Hash)(unsafe.Pointer(pHash)).FnEntry = 0 } -func fts5HashKey(tls *libc.TLS, nSlot int32, p uintptr, n int32) uint32 { /* sqlite3.c:224342:21: */ +func fts5HashKey(tls *libc.TLS, nSlot int32, p uintptr, n int32) uint32 { /* sqlite3.c:224399:21: */ var i int32 var h uint32 = uint32(13) for i = n - 1; i >= 0; i-- { @@ -180228,7 +180259,7 @@ func fts5HashKey(tls *libc.TLS, nSlot int32, p uintptr, n int32) uint32 { /* sql return h % uint32(nSlot) } -func fts5HashKey2(tls *libc.TLS, nSlot int32, b U8, p uintptr, n int32) uint32 { /* sqlite3.c:224351:21: */ +func fts5HashKey2(tls *libc.TLS, nSlot int32, b U8, p uintptr, n int32) uint32 { /* sqlite3.c:224408:21: */ var i int32 var h uint32 = uint32(13) for i = n - 1; i >= 0; i-- { @@ -180239,7 +180270,7 @@ func fts5HashKey2(tls *libc.TLS, nSlot int32, b U8, p uintptr, n int32) uint32 { } // Resize the hash table by doubling the number of slots. -func fts5HashResize(tls *libc.TLS, pHash uintptr) int32 { /* sqlite3.c:224364:12: */ +func fts5HashResize(tls *libc.TLS, pHash uintptr) int32 { /* sqlite3.c:224421:12: */ var nNew int32 = (*Fts5Hash)(unsafe.Pointer(pHash)).FnSlot * 2 var i int32 var apNew uintptr @@ -180269,7 +180300,7 @@ func fts5HashResize(tls *libc.TLS, pHash uintptr) int32 { /* sqlite3.c:224364:12 return SQLITE_OK } -func fts5HashAddPoslistSize(tls *libc.TLS, pHash uintptr, p uintptr, p2 uintptr) int32 { /* sqlite3.c:224392:12: */ +func fts5HashAddPoslistSize(tls *libc.TLS, pHash uintptr, p uintptr, p2 uintptr) int32 { /* sqlite3.c:224449:12: */ var nRet int32 = 0 if (*Fts5HashEntry)(unsafe.Pointer(p)).FiSzPoslist != 0 { var pPtr uintptr @@ -180318,7 +180349,7 @@ func fts5HashAddPoslistSize(tls *libc.TLS, pHash uintptr, p uintptr, p2 uintptr) // (bByte || pToken) -> (iRowid,iCol,iPos) // // Or, if iCol is negative, then the value is a delete marker. -func sqlite3Fts5HashWrite(tls *libc.TLS, pHash uintptr, iRowid I64, iCol int32, iPos int32, bByte int8, pToken uintptr, nToken int32) int32 { /* sqlite3.c:224443:12: */ +func sqlite3Fts5HashWrite(tls *libc.TLS, pHash uintptr, iRowid I64, iCol int32, iPos int32, bByte int8, pToken uintptr, nToken int32) int32 { /* sqlite3.c:224500:12: */ var iHash uint32 var p uintptr var pPtr uintptr @@ -180477,7 +180508,7 @@ func sqlite3Fts5HashWrite(tls *libc.TLS, pHash uintptr, iRowid I64, iCol int32, // Arguments pLeft and pRight point to linked-lists of hash-entry objects, // each sorted in key order. This function merges the two lists into a // single list and returns a pointer to its first element. -func fts5HashEntryMerge(tls *libc.TLS, pLeft uintptr, pRight uintptr) uintptr { /* sqlite3.c:224596:22: */ +func fts5HashEntryMerge(tls *libc.TLS, pLeft uintptr, pRight uintptr) uintptr { /* sqlite3.c:224653:22: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -180523,7 +180554,7 @@ func fts5HashEntryMerge(tls *libc.TLS, pLeft uintptr, pRight uintptr) uintptr { // in sorted order. The hash table is cleared before returning. It is // the responsibility of the caller to free the elements of the returned // list. -func fts5HashEntrySort(tls *libc.TLS, pHash uintptr, pTerm uintptr, nTerm int32, ppSorted uintptr) int32 { /* sqlite3.c:224642:12: */ +func fts5HashEntrySort(tls *libc.TLS, pHash uintptr, pTerm uintptr, nTerm int32, ppSorted uintptr) int32 { /* sqlite3.c:224699:12: */ var nMergeSlot int32 = 32 var ap uintptr var pList uintptr @@ -180565,7 +180596,7 @@ func fts5HashEntrySort(tls *libc.TLS, pHash uintptr, pTerm uintptr, nTerm int32, } // Query the hash table for a doclist associated with term pTerm/nTerm. -func sqlite3Fts5HashQuery(tls *libc.TLS, pHash uintptr, nPre int32, pTerm uintptr, nTerm int32, ppOut uintptr, pnDoclist uintptr) int32 { /* sqlite3.c:224689:12: */ +func sqlite3Fts5HashQuery(tls *libc.TLS, pHash uintptr, nPre int32, pTerm uintptr, nTerm int32, ppOut uintptr, pnDoclist uintptr) int32 { /* sqlite3.c:224746:12: */ var iHash uint32 = fts5HashKey(tls, (*Fts5Hash)(unsafe.Pointer(pHash)).FnSlot, pTerm, nTerm) var zKey uintptr = uintptr(0) var p uintptr @@ -180599,20 +180630,20 @@ func sqlite3Fts5HashQuery(tls *libc.TLS, pHash uintptr, nPre int32, pTerm uintpt return SQLITE_OK } -func sqlite3Fts5HashScanInit(tls *libc.TLS, p uintptr, pTerm uintptr, nTerm int32) int32 { /* sqlite3.c:224727:12: */ +func sqlite3Fts5HashScanInit(tls *libc.TLS, p uintptr, pTerm uintptr, nTerm int32) int32 { /* sqlite3.c:224784:12: */ return fts5HashEntrySort(tls, p, pTerm, nTerm, p+24) } -func sqlite3Fts5HashScanNext(tls *libc.TLS, p uintptr) { /* sqlite3.c:224734:13: */ +func sqlite3Fts5HashScanNext(tls *libc.TLS, p uintptr) { /* sqlite3.c:224791:13: */ (*Fts5Hash)(unsafe.Pointer(p)).FpScan = (*Fts5HashEntry)(unsafe.Pointer((*Fts5Hash)(unsafe.Pointer(p)).FpScan)).FpScanNext } -func sqlite3Fts5HashScanEof(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:224739:12: */ +func sqlite3Fts5HashScanEof(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:224796:12: */ return libc.Bool32((*Fts5Hash)(unsafe.Pointer(p)).FpScan == uintptr(0)) } -func sqlite3Fts5HashScanEntry(tls *libc.TLS, pHash uintptr, pzTerm uintptr, ppDoclist uintptr, pnDoclist uintptr) { /* sqlite3.c:224743:13: */ +func sqlite3Fts5HashScanEntry(tls *libc.TLS, pHash uintptr, pzTerm uintptr, ppDoclist uintptr, pnDoclist uintptr) { /* sqlite3.c:224800:13: */ var p uintptr if libc.AssignUintptr(&p, (*Fts5Hash)(unsafe.Pointer(pHash)).FpScan) != 0 { var zKey uintptr = p + 1*48 @@ -180838,7 +180869,7 @@ type Fts5Data1 = struct { Fp uintptr Fnn int32 FszLeaf int32 -} /* sqlite3.c:225018:9 */ +} /* sqlite3.c:225075:9 */ // 2014 May 31 // @@ -181046,14 +181077,14 @@ type Fts5Data1 = struct { // many zero bytes. This makes it easier to decode the various record formats // without overreading if the records are corrupt. -type Fts5Data = Fts5Data1 /* sqlite3.c:225018:25 */ +type Fts5Data = Fts5Data1 /* sqlite3.c:225075:25 */ type Fts5DlidxIter1 = struct { FnLvl int32 FiSegid int32 FaLvl [1]Fts5DlidxLvl -} /* sqlite3.c:225019:9 */ +} /* sqlite3.c:225076:9 */ -type Fts5DlidxIter = Fts5DlidxIter1 /* sqlite3.c:225019:30 */ +type Fts5DlidxIter = Fts5DlidxIter1 /* sqlite3.c:225076:30 */ type Fts5DlidxLvl1 = struct { FpData uintptr FiOff int32 @@ -181061,17 +181092,17 @@ type Fts5DlidxLvl1 = struct { FiFirstOff int32 FiLeafPgno int32 FiRowid I64 -} /* sqlite3.c:225019:9 */ +} /* sqlite3.c:225076:9 */ -type Fts5DlidxLvl = Fts5DlidxLvl1 /* sqlite3.c:225020:29 */ +type Fts5DlidxLvl = Fts5DlidxLvl1 /* sqlite3.c:225077:29 */ type Fts5DlidxWriter1 = struct { Fpgno int32 FbPrevValid int32 FiPrev I64 Fbuf Fts5Buffer -} /* sqlite3.c:225021:9 */ +} /* sqlite3.c:225078:9 */ -type Fts5DlidxWriter = Fts5DlidxWriter1 /* sqlite3.c:225021:32 */ +type Fts5DlidxWriter = Fts5DlidxWriter1 /* sqlite3.c:225078:32 */ type Fts5Iter1 = struct { Fbase Fts5IndexIter FpIndex uintptr @@ -181085,18 +181116,18 @@ type Fts5Iter1 = struct { FiSwitchRowid I64 FaFirst uintptr FaSeg [1]Fts5SegIter -} /* sqlite3.c:225022:9 */ +} /* sqlite3.c:225079:9 */ -type Fts5Iter = Fts5Iter1 /* sqlite3.c:225022:25 */ +type Fts5Iter = Fts5Iter1 /* sqlite3.c:225079:25 */ type Fts5PageWriter1 = struct { Fpgno int32 FiPrevPgidx int32 Fbuf Fts5Buffer Fpgidx Fts5Buffer Fterm Fts5Buffer -} /* sqlite3.c:225023:9 */ +} /* sqlite3.c:225080:9 */ -type Fts5PageWriter = Fts5PageWriter1 /* sqlite3.c:225023:31 */ +type Fts5PageWriter = Fts5PageWriter1 /* sqlite3.c:225080:31 */ type Fts5SegIter1 = struct { FpSeg uintptr Fflags int32 @@ -181118,18 +181149,18 @@ type Fts5SegIter1 = struct { FnPos int32 FbDel U8 F__ccgo_pad1 [3]byte -} /* sqlite3.c:225022:9 */ +} /* sqlite3.c:225079:9 */ -type Fts5SegIter = Fts5SegIter1 /* sqlite3.c:225024:28 */ +type Fts5SegIter = Fts5SegIter1 /* sqlite3.c:225081:28 */ type Fts5DoclistIter1 = struct { FaEof uintptr FiRowid I64 FaPoslist uintptr FnPoslist int32 FnSize int32 -} /* sqlite3.c:225025:9 */ +} /* sqlite3.c:225082:9 */ -type Fts5DoclistIter = Fts5DoclistIter1 /* sqlite3.c:225025:32 */ +type Fts5DoclistIter = Fts5DoclistIter1 /* sqlite3.c:225082:32 */ type Fts5SegWriter1 = struct { FiSegid int32 F__ccgo_pad1 [4]byte @@ -181146,9 +181177,9 @@ type Fts5SegWriter1 = struct { Fbtterm Fts5Buffer FiBtPage int32 F__ccgo_pad3 [4]byte -} /* sqlite3.c:225026:9 */ +} /* sqlite3.c:225083:9 */ -type Fts5SegWriter = Fts5SegWriter1 /* sqlite3.c:225026:30 */ +type Fts5SegWriter = Fts5SegWriter1 /* sqlite3.c:225083:30 */ type Fts5Structure1 = struct { FnRef int32 F__ccgo_pad1 [4]byte @@ -181156,38 +181187,38 @@ type Fts5Structure1 = struct { FnSegment int32 FnLevel int32 FaLevel [1]Fts5StructureLevel -} /* sqlite3.c:216813:9 */ +} /* sqlite3.c:216870:9 */ -type Fts5Structure = Fts5Structure1 /* sqlite3.c:225027:30 */ +type Fts5Structure = Fts5Structure1 /* sqlite3.c:225084:30 */ type Fts5StructureLevel1 = struct { FnMerge int32 FnSeg int32 FaSeg uintptr -} /* sqlite3.c:216813:9 */ +} /* sqlite3.c:216870:9 */ -type Fts5StructureLevel = Fts5StructureLevel1 /* sqlite3.c:225028:35 */ +type Fts5StructureLevel = Fts5StructureLevel1 /* sqlite3.c:225085:35 */ type Fts5StructureSegment1 = struct { FiSegid int32 FpgnoFirst int32 FpgnoLast int32 -} /* sqlite3.c:216813:9 */ +} /* sqlite3.c:216870:9 */ -type Fts5StructureSegment = Fts5StructureSegment1 /* sqlite3.c:225029:37 */ +type Fts5StructureSegment = Fts5StructureSegment1 /* sqlite3.c:225086:37 */ type Fts5CResult1 = struct { FiFirst U16 FbTermEq U8 F__ccgo_pad1 [1]byte -} /* sqlite3.c:225022:9 */ +} /* sqlite3.c:225079:9 */ -type Fts5CResult = Fts5CResult1 /* sqlite3.c:225139:28 */ +type Fts5CResult = Fts5CResult1 /* sqlite3.c:225196:28 */ -func fts5PutU16(tls *libc.TLS, aOut uintptr, iVal U16) { /* sqlite3.c:225318:13: */ +func fts5PutU16(tls *libc.TLS, aOut uintptr, iVal U16) { /* sqlite3.c:225375:13: */ *(*U8)(unsafe.Pointer(aOut)) = U8(int32(iVal) >> 8) *(*U8)(unsafe.Pointer(aOut + 1)) = U8(int32(iVal) & 0xFF) } -func fts5GetU16(tls *libc.TLS, aIn uintptr) U16 { /* sqlite3.c:225323:12: */ +func fts5GetU16(tls *libc.TLS, aIn uintptr) U16 { /* sqlite3.c:225380:12: */ return U16(int32(U16(*(*U8)(unsafe.Pointer(aIn))))<<8 + int32(*(*U8)(unsafe.Pointer(aIn + 1)))) } @@ -181195,7 +181226,7 @@ func fts5GetU16(tls *libc.TLS, aIn uintptr) U16 { /* sqlite3.c:225323:12: */ // // If an OOM error is encountered, return NULL and set the error code in // the Fts5Index handle passed as the first argument. -func fts5IdxMalloc(tls *libc.TLS, p uintptr, nByte Sqlite3_int64) uintptr { /* sqlite3.c:225333:13: */ +func fts5IdxMalloc(tls *libc.TLS, p uintptr, nByte Sqlite3_int64) uintptr { /* sqlite3.c:225390:13: */ return sqlite3Fts5MallocZero(tls, p+52, nByte) } @@ -181213,7 +181244,7 @@ func fts5IdxMalloc(tls *libc.TLS, p uintptr, nByte Sqlite3_int64) uintptr { /* s // +ve if pRight is smaller than pLeft. In other words: // // res = *pLeft - *pRight -func fts5BufferCompare(tls *libc.TLS, pLeft uintptr, pRight uintptr) int32 { /* sqlite3.c:225365:12: */ +func fts5BufferCompare(tls *libc.TLS, pLeft uintptr, pRight uintptr) int32 { /* sqlite3.c:225422:12: */ var nCmp int32 var res int32 nCmp = func() int32 { @@ -181237,7 +181268,7 @@ func fts5BufferCompare(tls *libc.TLS, pLeft uintptr, pRight uintptr) int32 { /* }() } -func fts5LeafFirstTermOff(tls *libc.TLS, pLeaf uintptr) int32 { /* sqlite3.c:225374:12: */ +func fts5LeafFirstTermOff(tls *libc.TLS, pLeaf uintptr) int32 { /* sqlite3.c:225431:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -181248,7 +181279,7 @@ func fts5LeafFirstTermOff(tls *libc.TLS, pLeaf uintptr) int32 { /* sqlite3.c:225 } // Close the read-only blob handle, if it is open. -func sqlite3Fts5IndexCloseReader(tls *libc.TLS, p uintptr) { /* sqlite3.c:225383:13: */ +func sqlite3Fts5IndexCloseReader(tls *libc.TLS, p uintptr) { /* sqlite3.c:225440:13: */ if (*Fts5Index)(unsafe.Pointer(p)).FpReader != 0 { var pReader uintptr = (*Fts5Index)(unsafe.Pointer(p)).FpReader (*Fts5Index)(unsafe.Pointer(p)).FpReader = uintptr(0) @@ -181260,7 +181291,7 @@ func sqlite3Fts5IndexCloseReader(tls *libc.TLS, p uintptr) { /* sqlite3.c:225383 // // If an error occurs, NULL is returned and an error left in the // Fts5Index object. -func fts5DataRead(tls *libc.TLS, p uintptr, iRowid I64) uintptr { /* sqlite3.c:225397:17: */ +func fts5DataRead(tls *libc.TLS, p uintptr, iRowid I64) uintptr { /* sqlite3.c:225454:17: */ var pRet uintptr = uintptr(0) if (*Fts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK { var rc int32 = SQLITE_OK @@ -181333,11 +181364,11 @@ func fts5DataRead(tls *libc.TLS, p uintptr, iRowid I64) uintptr { /* sqlite3.c:2 // Release a reference to data record returned by an earlier call to // fts5DataRead(). -func fts5DataRelease(tls *libc.TLS, pData uintptr) { /* sqlite3.c:225471:13: */ +func fts5DataRelease(tls *libc.TLS, pData uintptr) { /* sqlite3.c:225528:13: */ Xsqlite3_free(tls, pData) } -func fts5LeafRead(tls *libc.TLS, p uintptr, iRowid I64) uintptr { /* sqlite3.c:225475:17: */ +func fts5LeafRead(tls *libc.TLS, p uintptr, iRowid I64) uintptr { /* sqlite3.c:225532:17: */ var pRet uintptr = fts5DataRead(tls, p, iRowid) if pRet != 0 { if (*Fts5Data)(unsafe.Pointer(pRet)).Fnn < 4 || (*Fts5Data)(unsafe.Pointer(pRet)).FszLeaf > (*Fts5Data)(unsafe.Pointer(pRet)).Fnn { @@ -181349,7 +181380,7 @@ func fts5LeafRead(tls *libc.TLS, p uintptr, iRowid I64) uintptr { /* sqlite3.c:2 return pRet } -func fts5IndexPrepareStmt(tls *libc.TLS, p uintptr, ppStmt uintptr, zSql uintptr) int32 { /* sqlite3.c:225487:12: */ +func fts5IndexPrepareStmt(tls *libc.TLS, p uintptr, ppStmt uintptr, zSql uintptr) int32 { /* sqlite3.c:225544:12: */ if (*Fts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK { if zSql != 0 { (*Fts5Index)(unsafe.Pointer(p)).Frc = Xsqlite3_prepare_v3(tls, (*Fts5Config)(unsafe.Pointer((*Fts5Index)(unsafe.Pointer(p)).FpConfig)).Fdb, zSql, -1, @@ -181364,7 +181395,7 @@ func fts5IndexPrepareStmt(tls *libc.TLS, p uintptr, ppStmt uintptr, zSql uintptr } // INSERT OR REPLACE a record into the %_data table. -func fts5DataWrite(tls *libc.TLS, p uintptr, iRowid I64, pData uintptr, nData int32) { /* sqlite3.c:225509:13: */ +func fts5DataWrite(tls *libc.TLS, p uintptr, iRowid I64, pData uintptr, nData int32) { /* sqlite3.c:225566:13: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -181392,7 +181423,7 @@ func fts5DataWrite(tls *libc.TLS, p uintptr, iRowid I64, pData uintptr, nData in // Execute the following SQL: // // DELETE FROM %_data WHERE id BETWEEN $iFirst AND $iLast -func fts5DataDelete(tls *libc.TLS, p uintptr, iFirst I64, iLast I64) { /* sqlite3.c:225533:13: */ +func fts5DataDelete(tls *libc.TLS, p uintptr, iFirst I64, iLast I64) { /* sqlite3.c:225590:13: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -181417,7 +181448,7 @@ func fts5DataDelete(tls *libc.TLS, p uintptr, iFirst I64, iLast I64) { /* sqlite } // Remove all records associated with segment iSegid. -func fts5DataRemoveSegment(tls *libc.TLS, p uintptr, iSegid int32) { /* sqlite3.c:225554:13: */ +func fts5DataRemoveSegment(tls *libc.TLS, p uintptr, iSegid int32) { /* sqlite3.c:225611:13: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -181439,7 +181470,7 @@ func fts5DataRemoveSegment(tls *libc.TLS, p uintptr, iSegid int32) { /* sqlite3. // Release a reference to an Fts5Structure object returned by an earlier // call to fts5StructureRead() or fts5StructureDecode(). -func fts5StructureRelease(tls *libc.TLS, pStruct uintptr) { /* sqlite3.c:225576:13: */ +func fts5StructureRelease(tls *libc.TLS, pStruct uintptr) { /* sqlite3.c:225633:13: */ if pStruct != 0 && 0 >= libc.PreDecInt32(&(*Fts5Structure)(unsafe.Pointer(pStruct)).FnRef, 1) { var i int32 @@ -181450,22 +181481,22 @@ func fts5StructureRelease(tls *libc.TLS, pStruct uintptr) { /* sqlite3.c:225576: } } -func fts5StructureRef(tls *libc.TLS, pStruct uintptr) { /* sqlite3.c:225587:13: */ +func fts5StructureRef(tls *libc.TLS, pStruct uintptr) { /* sqlite3.c:225644:13: */ (*Fts5Structure)(unsafe.Pointer(pStruct)).FnRef++ } -func sqlite3Fts5StructureRef(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:225591:13: */ +func sqlite3Fts5StructureRef(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:225648:13: */ fts5StructureRef(tls, (*Fts5Index)(unsafe.Pointer(p)).FpStruct) return (*Fts5Index)(unsafe.Pointer(p)).FpStruct } -func sqlite3Fts5StructureRelease(tls *libc.TLS, p uintptr) { /* sqlite3.c:225595:13: */ +func sqlite3Fts5StructureRelease(tls *libc.TLS, p uintptr) { /* sqlite3.c:225652:13: */ if p != 0 { fts5StructureRelease(tls, p) } } -func sqlite3Fts5StructureTest(tls *libc.TLS, p uintptr, pStruct uintptr) int32 { /* sqlite3.c:225600:12: */ +func sqlite3Fts5StructureTest(tls *libc.TLS, p uintptr, pStruct uintptr) int32 { /* sqlite3.c:225657:12: */ if (*Fts5Index)(unsafe.Pointer(p)).FpStruct != pStruct { return SQLITE_ABORT } @@ -181476,7 +181507,7 @@ func sqlite3Fts5StructureTest(tls *libc.TLS, p uintptr, pStruct uintptr) int32 { // // This function is a no-op if (*pRc) is not SQLITE_OK when it is called. If // an error occurs, (*pRc) is set to an SQLite error code before returning. -func fts5StructureMakeWritable(tls *libc.TLS, pRc uintptr, pp uintptr) { /* sqlite3.c:225613:13: */ +func fts5StructureMakeWritable(tls *libc.TLS, pRc uintptr, pp uintptr) { /* sqlite3.c:225670:13: */ var p uintptr = *(*uintptr)(unsafe.Pointer(pp)) if *(*int32)(unsafe.Pointer(pRc)) == SQLITE_OK && (*Fts5Structure)(unsafe.Pointer(p)).FnRef > 1 { var nByte I64 = I64(uint64(unsafe.Sizeof(Fts5Structure{})) + uint64((*Fts5Structure)(unsafe.Pointer(p)).FnLevel-1)*uint64(unsafe.Sizeof(Fts5StructureLevel{}))) @@ -181518,7 +181549,7 @@ func fts5StructureMakeWritable(tls *libc.TLS, pRc uintptr, pp uintptr) { /* sqli // If an error occurs, *ppOut is set to NULL and an SQLite error code // returned. Otherwise, *ppOut is set to point to the new object and // SQLITE_OK returned. -func fts5StructureDecode(tls *libc.TLS, pData uintptr, nData int32, piCookie uintptr, ppOut uintptr) int32 { /* sqlite3.c:225655:12: */ +func fts5StructureDecode(tls *libc.TLS, pData uintptr, nData int32, piCookie uintptr, ppOut uintptr) int32 { /* sqlite3.c:225712:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -181611,7 +181642,7 @@ func fts5StructureDecode(tls *libc.TLS, pData uintptr, nData int32, piCookie uin // Add a level to the Fts5Structure.aLevel[] array of structure object // (*ppStruct). -func fts5StructureAddLevel(tls *libc.TLS, pRc uintptr, ppStruct uintptr) { /* sqlite3.c:225747:13: */ +func fts5StructureAddLevel(tls *libc.TLS, pRc uintptr, ppStruct uintptr) { /* sqlite3.c:225804:13: */ fts5StructureMakeWritable(tls, pRc, ppStruct) if *(*int32)(unsafe.Pointer(pRc)) == SQLITE_OK { var pStruct uintptr = *(*uintptr)(unsafe.Pointer(ppStruct)) @@ -181631,7 +181662,7 @@ func fts5StructureAddLevel(tls *libc.TLS, pRc uintptr, ppStruct uintptr) { /* sq // Extend level iLvl so that there is room for at least nExtra more // segments. -func fts5StructureExtendLevel(tls *libc.TLS, pRc uintptr, pStruct uintptr, iLvl int32, nExtra int32, bInsert int32) { /* sqlite3.c:225772:13: */ +func fts5StructureExtendLevel(tls *libc.TLS, pRc uintptr, pStruct uintptr, iLvl int32, nExtra int32, bInsert int32) { /* sqlite3.c:225829:13: */ if *(*int32)(unsafe.Pointer(pRc)) == SQLITE_OK { var pLvl uintptr = pStruct + 24 + uintptr(iLvl)*16 var aNew uintptr @@ -181654,7 +181685,7 @@ func fts5StructureExtendLevel(tls *libc.TLS, pRc uintptr, pStruct uintptr, iLvl } } -func fts5StructureReadUncached(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:225801:22: */ +func fts5StructureReadUncached(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:225858:22: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -181682,7 +181713,7 @@ func fts5StructureReadUncached(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c: return *(*uintptr)(unsafe.Pointer(bp + 8 /* pRet */)) } -func fts5IndexDataVersion(tls *libc.TLS, p uintptr) I64 { /* sqlite3.c:225825:12: */ +func fts5IndexDataVersion(tls *libc.TLS, p uintptr) I64 { /* sqlite3.c:225882:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -181715,7 +181746,7 @@ func fts5IndexDataVersion(tls *libc.TLS, p uintptr) I64 { /* sqlite3.c:225825:12 // If an error occurs, NULL is returned and an error code left in the // Fts5Index handle. If an error has already occurred when this function // is called, it is a no-op. -func fts5StructureRead(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:225856:22: */ +func fts5StructureRead(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:225913:22: */ if (*Fts5Index)(unsafe.Pointer(p)).FpStruct == uintptr(0) { (*Fts5Index)(unsafe.Pointer(p)).FiStructVersion = fts5IndexDataVersion(tls, p) @@ -181732,7 +181763,7 @@ func fts5StructureRead(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:225856:2 return (*Fts5Index)(unsafe.Pointer(p)).FpStruct } -func fts5StructureInvalidate(tls *libc.TLS, p uintptr) { /* sqlite3.c:225895:13: */ +func fts5StructureInvalidate(tls *libc.TLS, p uintptr) { /* sqlite3.c:225952:13: */ if (*Fts5Index)(unsafe.Pointer(p)).FpStruct != 0 { fts5StructureRelease(tls, (*Fts5Index)(unsafe.Pointer(p)).FpStruct) (*Fts5Index)(unsafe.Pointer(p)).FpStruct = uintptr(0) @@ -181746,7 +181777,7 @@ func fts5StructureInvalidate(tls *libc.TLS, p uintptr) { /* sqlite3.c:225895:13: // // If an error occurs, leave an error code in the Fts5Index object. If an // error has already occurred, this function is a no-op. -func fts5StructureWrite(tls *libc.TLS, p uintptr, pStruct uintptr) { /* sqlite3.c:225938:13: */ +func fts5StructureWrite(tls *libc.TLS, p uintptr, pStruct uintptr) { /* sqlite3.c:225995:13: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -181799,14 +181830,14 @@ func fts5StructureWrite(tls *libc.TLS, p uintptr, pStruct uintptr) { /* sqlite3. } } -func fts5SegmentSize(tls *libc.TLS, pSeg uintptr) int32 { /* sqlite3.c:225993:12: */ +func fts5SegmentSize(tls *libc.TLS, pSeg uintptr) int32 { /* sqlite3.c:226050:12: */ return 1 + (*Fts5StructureSegment)(unsafe.Pointer(pSeg)).FpgnoLast - (*Fts5StructureSegment)(unsafe.Pointer(pSeg)).FpgnoFirst } // Return a copy of index structure pStruct. Except, promote as many // segments as possible to level iPromote. If an OOM occurs, NULL is // returned. -func fts5StructurePromoteTo(tls *libc.TLS, p uintptr, iPromote int32, szPromote int32, pStruct uintptr) { /* sqlite3.c:226002:13: */ +func fts5StructurePromoteTo(tls *libc.TLS, p uintptr, iPromote int32, szPromote int32, pStruct uintptr) { /* sqlite3.c:226059:13: */ var il int32 var is int32 var pOut uintptr = pStruct + 24 + uintptr(iPromote)*16 @@ -181849,7 +181880,7 @@ func fts5StructurePromoteTo(tls *libc.TLS, p uintptr, iPromote int32, szPromote // // If one or more segments are promoted, the structure object is updated // to reflect this. -func fts5StructurePromote(tls *libc.TLS, p uintptr, iLvl int32, pStruct uintptr) { /* sqlite3.c:226045:13: */ +func fts5StructurePromote(tls *libc.TLS, p uintptr, iLvl int32, pStruct uintptr) { /* sqlite3.c:226102:13: */ if (*Fts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK { var iTst int32 var iPromote int32 = -1 @@ -181898,7 +181929,7 @@ func fts5StructurePromote(tls *libc.TLS, p uintptr, iLvl int32, pStruct uintptr) // Advance the iterator passed as the only argument. If the end of the // doclist-index page is reached, return non-zero. -func fts5DlidxLvlNext(tls *libc.TLS, pLvl uintptr) int32 { /* sqlite3.c:226096:12: */ +func fts5DlidxLvlNext(tls *libc.TLS, pLvl uintptr) int32 { /* sqlite3.c:226153:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -181934,7 +181965,7 @@ func fts5DlidxLvlNext(tls *libc.TLS, pLvl uintptr) int32 { /* sqlite3.c:226096:1 } // Advance the iterator passed as the only argument. -func fts5DlidxIterNextR(tls *libc.TLS, p uintptr, pIter uintptr, iLvl int32) int32 { /* sqlite3.c:226128:12: */ +func fts5DlidxIterNextR(tls *libc.TLS, p uintptr, pIter uintptr, iLvl int32) int32 { /* sqlite3.c:226185:12: */ var pLvl uintptr = pIter + 8 + uintptr(iLvl)*32 if fts5DlidxLvlNext(tls, pLvl) != 0 { @@ -181955,7 +181986,7 @@ func fts5DlidxIterNextR(tls *libc.TLS, p uintptr, pIter uintptr, iLvl int32) int return (*Fts5DlidxLvl)(unsafe.Pointer(pIter + 8)).FbEof } -func fts5DlidxIterNext(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlite3.c:226148:12: */ +func fts5DlidxIterNext(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlite3.c:226205:12: */ return fts5DlidxIterNextR(tls, p, pIter, 0) } @@ -181968,7 +181999,7 @@ func fts5DlidxIterNext(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlit // // When this function is called pIter->iLeafPgno is the page number the // doclist is associated with (the one featuring the term). -func fts5DlidxIterFirst(tls *libc.TLS, pIter uintptr) int32 { /* sqlite3.c:226163:12: */ +func fts5DlidxIterFirst(tls *libc.TLS, pIter uintptr) int32 { /* sqlite3.c:226220:12: */ var i int32 for i = 0; i < (*Fts5DlidxIter)(unsafe.Pointer(pIter)).FnLvl; i++ { fts5DlidxLvlNext(tls, pIter+8+uintptr(i)*32) @@ -181976,11 +182007,11 @@ func fts5DlidxIterFirst(tls *libc.TLS, pIter uintptr) int32 { /* sqlite3.c:22616 return (*Fts5DlidxLvl)(unsafe.Pointer(pIter + 8)).FbEof } -func fts5DlidxIterEof(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlite3.c:226172:12: */ +func fts5DlidxIterEof(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlite3.c:226229:12: */ return libc.Bool32((*Fts5Index)(unsafe.Pointer(p)).Frc != SQLITE_OK || (*Fts5DlidxLvl)(unsafe.Pointer(pIter+8)).FbEof != 0) } -func fts5DlidxIterLast(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:226176:13: */ +func fts5DlidxIterLast(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:226233:13: */ var i int32 // Advance each level to the last entry on the last page @@ -182001,7 +182032,7 @@ func fts5DlidxIterLast(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:2 } // Move the iterator passed as the only argument to the previous entry. -func fts5DlidxLvlPrev(tls *libc.TLS, pLvl uintptr) int32 { /* sqlite3.c:226199:12: */ +func fts5DlidxLvlPrev(tls *libc.TLS, pLvl uintptr) int32 { /* sqlite3.c:226256:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -182063,7 +182094,7 @@ func fts5DlidxLvlPrev(tls *libc.TLS, pLvl uintptr) int32 { /* sqlite3.c:226199:1 return (*Fts5DlidxLvl)(unsafe.Pointer(pLvl)).FbEof } -func fts5DlidxIterPrevR(tls *libc.TLS, p uintptr, pIter uintptr, iLvl int32) int32 { /* sqlite3.c:226248:12: */ +func fts5DlidxIterPrevR(tls *libc.TLS, p uintptr, pIter uintptr, iLvl int32) int32 { /* sqlite3.c:226305:12: */ var pLvl uintptr = pIter + 8 + uintptr(iLvl)*32 if fts5DlidxLvlPrev(tls, pLvl) != 0 { @@ -182086,12 +182117,12 @@ func fts5DlidxIterPrevR(tls *libc.TLS, p uintptr, pIter uintptr, iLvl int32) int return (*Fts5DlidxLvl)(unsafe.Pointer(pIter + 8)).FbEof } -func fts5DlidxIterPrev(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlite3.c:226271:12: */ +func fts5DlidxIterPrev(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlite3.c:226328:12: */ return fts5DlidxIterPrevR(tls, p, pIter, 0) } // Free a doclist-index iterator object allocated by fts5DlidxIterInit(). -func fts5DlidxIterFree(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:226278:13: */ +func fts5DlidxIterFree(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:226335:13: */ if pIter != 0 { var i int32 for i = 0; i < (*Fts5DlidxIter)(unsafe.Pointer(pIter)).FnLvl; i++ { @@ -182101,7 +182132,7 @@ func fts5DlidxIterFree(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:226278:13: * } } -func fts5DlidxIterInit(tls *libc.TLS, p uintptr, bRev int32, iSegid int32, iLeafPg int32) uintptr { /* sqlite3.c:226288:22: */ +func fts5DlidxIterInit(tls *libc.TLS, p uintptr, bRev int32, iSegid int32, iLeafPg int32) uintptr { /* sqlite3.c:226345:22: */ var pIter uintptr = uintptr(0) var i int32 var bDone int32 = 0 @@ -182143,16 +182174,16 @@ func fts5DlidxIterInit(tls *libc.TLS, p uintptr, bRev int32, iSegid int32, iLeaf return pIter } -func fts5DlidxIterRowid(tls *libc.TLS, pIter uintptr) I64 { /* sqlite3.c:226335:12: */ +func fts5DlidxIterRowid(tls *libc.TLS, pIter uintptr) I64 { /* sqlite3.c:226392:12: */ return (*Fts5DlidxLvl)(unsafe.Pointer(pIter + 8)).FiRowid } -func fts5DlidxIterPgno(tls *libc.TLS, pIter uintptr) int32 { /* sqlite3.c:226338:12: */ +func fts5DlidxIterPgno(tls *libc.TLS, pIter uintptr) int32 { /* sqlite3.c:226395:12: */ return (*Fts5DlidxLvl)(unsafe.Pointer(pIter + 8)).FiLeafPgno } // Load the next leaf page into the segment iterator. -func fts5SegIterNextPage(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:226345:13: */ +func fts5SegIterNextPage(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:226402:13: */ var pLeaf uintptr var pSeg uintptr = (*Fts5SegIter)(unsafe.Pointer(pIter)).FpSeg fts5DataRelease(tls, (*Fts5SegIter)(unsafe.Pointer(pIter)).FpLeaf) @@ -182182,7 +182213,7 @@ func fts5SegIterNextPage(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c // position list size field. Read the varint and return the number of bytes // read. Before returning, set *pnSz to the number of bytes in the position // list, and *pbDel to true if the delete flag is set, or false otherwise. -func fts5GetPoslistSize(tls *libc.TLS, p uintptr, pnSz uintptr, pbDel uintptr) int32 { /* sqlite3.c:226383:12: */ +func fts5GetPoslistSize(tls *libc.TLS, p uintptr, pnSz uintptr, pbDel uintptr) int32 { /* sqlite3.c:226440:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -182211,7 +182242,7 @@ func fts5GetPoslistSize(tls *libc.TLS, p uintptr, pnSz uintptr, pbDel uintptr) i // // Leave Fts5SegIter.iLeafOffset pointing to the first byte of the // position list content (if any). -func fts5SegIterLoadNPos(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:226404:13: */ +func fts5SegIterLoadNPos(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:226461:13: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -182256,7 +182287,7 @@ func fts5SegIterLoadNPos(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c } } -func fts5SegIterLoadRowid(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:226433:13: */ +func fts5SegIterLoadRowid(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:226490:13: */ var a uintptr = (*Fts5Data)(unsafe.Pointer((*Fts5SegIter)(unsafe.Pointer(pIter)).FpLeaf)).Fp // Buffer to read data from var iOff I64 = (*Fts5SegIter)(unsafe.Pointer(pIter)).FiLeafOffset @@ -182288,7 +182319,7 @@ func fts5SegIterLoadRowid(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3. // accordingly and leaves (Fts5SegIter.iLeafOffset) set to the content of // the first position list. The position list belonging to document // (Fts5SegIter.iRowid). -func fts5SegIterLoadTerm(tls *libc.TLS, p uintptr, pIter uintptr, nKeep int32) { /* sqlite3.c:226466:13: */ +func fts5SegIterLoadTerm(tls *libc.TLS, p uintptr, pIter uintptr, nKeep int32) { /* sqlite3.c:226523:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -182322,7 +182353,7 @@ func fts5SegIterLoadTerm(tls *libc.TLS, p uintptr, pIter uintptr, nKeep int32) { fts5SegIterLoadRowid(tls, p, pIter) } -func fts5SegIterSetNext(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:226499:13: */ +func fts5SegIterSetNext(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:226556:13: */ if (*Fts5SegIter)(unsafe.Pointer(pIter)).Fflags&FTS5_SEGITER_REVERSE != 0 { (*Fts5SegIter)(unsafe.Pointer(pIter)).FxNext = *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, uintptr) @@ -182344,7 +182375,7 @@ func fts5SegIterSetNext(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c: // // If an error occurs, Fts5Index.rc is set to an appropriate error code. If // an error has already occurred when this function is called, it is a no-op. -func fts5SegIterInit(tls *libc.TLS, p uintptr, pSeg uintptr, pIter uintptr) { /* sqlite3.c:226517:13: */ +func fts5SegIterInit(tls *libc.TLS, p uintptr, pSeg uintptr, pIter uintptr) { /* sqlite3.c:226574:13: */ if (*Fts5StructureSegment)(unsafe.Pointer(pSeg)).FpgnoFirst == 0 { // This happens if the segment is being used as an input to an incremental // merge and all data has already been "trimmed". See function @@ -182385,7 +182416,7 @@ func fts5SegIterInit(tls *libc.TLS, p uintptr, pSeg uintptr, pIter uintptr) { /* // aRowidOffset[] and iRowidOffset variables. At this point the iterator // is in its regular state - Fts5SegIter.iLeafOffset points to the first // byte of the position list content associated with said rowid. -func fts5SegIterReverseInitPage(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:226566:13: */ +func fts5SegIterReverseInitPage(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:226623:13: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -182444,7 +182475,7 @@ func fts5SegIterReverseInitPage(tls *libc.TLS, p uintptr, pIter uintptr) { /* sq } // -func fts5SegIterReverseNewPage(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:226619:13: */ +func fts5SegIterReverseNewPage(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:226676:13: */ fts5DataRelease(tls, (*Fts5SegIter)(unsafe.Pointer(pIter)).FpLeaf) (*Fts5SegIter)(unsafe.Pointer(pIter)).FpLeaf = uintptr(0) @@ -182494,7 +182525,7 @@ func fts5SegIterReverseNewPage(tls *libc.TLS, p uintptr, pIter uintptr) { /* sql // Return true if the iterator passed as the second argument currently // points to a delete marker. A delete marker is an entry with a 0 byte // position-list. -func fts5MultiIterIsEmpty(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlite3.c:226675:12: */ +func fts5MultiIterIsEmpty(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlite3.c:226732:12: */ var pSeg uintptr = pIter + 96 + uintptr((*Fts5CResult)(unsafe.Pointer((*Fts5Iter)(unsafe.Pointer(pIter)).FaFirst+1*4)).FiFirst)*120 return libc.Bool32((*Fts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK && (*Fts5SegIter)(unsafe.Pointer(pSeg)).FpLeaf != 0 && (*Fts5SegIter)(unsafe.Pointer(pSeg)).FnPos == 0) } @@ -182502,7 +182533,7 @@ func fts5MultiIterIsEmpty(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sq // Advance iterator pIter to the next entry. // // This version of fts5SegIterNext() is only used by reverse iterators. -func fts5SegIterNext_Reverse(tls *libc.TLS, p uintptr, pIter uintptr, pbUnused uintptr) { /* sqlite3.c:226685:13: */ +func fts5SegIterNext_Reverse(tls *libc.TLS, p uintptr, pIter uintptr, pbUnused uintptr) { /* sqlite3.c:226742:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -182531,7 +182562,7 @@ func fts5SegIterNext_Reverse(tls *libc.TLS, p uintptr, pIter uintptr, pbUnused u // // This version of fts5SegIterNext() is only used if detail=none and the // iterator is not a reverse direction iterator. -func fts5SegIterNext_None(tls *libc.TLS, p uintptr, pIter uintptr, pbNewTerm uintptr) { /* sqlite3.c:226719:13: */ +func fts5SegIterNext_None(tls *libc.TLS, p uintptr, pIter uintptr, pbNewTerm uintptr) { /* sqlite3.c:226776:13: */ bp := tls.Alloc(36) defer tls.Free(36) @@ -182636,7 +182667,7 @@ next_none_eof: // If an error occurs, Fts5Index.rc is set to an appropriate error code. It // is not considered an error if the iterator reaches EOF. If an error has // already occurred when this function is called, it is a no-op. -func fts5SegIterNext(tls *libc.TLS, p uintptr, pIter uintptr, pbNewTerm uintptr) { /* sqlite3.c:226791:13: */ +func fts5SegIterNext(tls *libc.TLS, p uintptr, pIter uintptr, pbNewTerm uintptr) { /* sqlite3.c:226848:13: */ bp := tls.Alloc(44) defer tls.Free(44) @@ -182761,7 +182792,7 @@ func fts5SegIterNext(tls *libc.TLS, p uintptr, pIter uintptr, pbNewTerm uintptr) // Iterator pIter currently points to the first rowid in a doclist. This // function sets the iterator up so that iterates in reverse order through // the doclist. -func fts5SegIterReverse(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:226922:13: */ +func fts5SegIterReverse(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:226979:13: */ var pDlidx uintptr = (*Fts5SegIter)(unsafe.Pointer(pIter)).FpDlidx var pLast uintptr = uintptr(0) var pgnoLast int32 = 0 @@ -182861,7 +182892,7 @@ func fts5SegIterReverse(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c: // There is a doclist-index associated with the final term on the current // page. If the current term is the last term on the page, load the // doclist-index from disk and initialize an iterator at (pIter->pDlidx). -func fts5SegIterLoadDlidx(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:227011:13: */ +func fts5SegIterLoadDlidx(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:227068:13: */ var iSeg int32 = (*Fts5StructureSegment)(unsafe.Pointer((*Fts5SegIter)(unsafe.Pointer(pIter)).FpSeg)).FiSegid var bRev int32 = (*Fts5SegIter)(unsafe.Pointer(pIter)).Fflags & FTS5_SEGITER_REVERSE var pLeaf uintptr = (*Fts5SegIter)(unsafe.Pointer(pIter)).FpLeaf // Current leaf data @@ -182889,7 +182920,7 @@ func fts5SegIterLoadDlidx(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3. // iterator is left pointing to the smallest term in the segment that // is larger than the specified term, even if this term is not on the // current page. -func fts5LeafSeek(tls *libc.TLS, p uintptr, bGe int32, pIter uintptr, pTerm uintptr, nTerm int32) { /* sqlite3.c:227045:13: */ +func fts5LeafSeek(tls *libc.TLS, p uintptr, bGe int32, pIter uintptr, pTerm uintptr, nTerm int32) { /* sqlite3.c:227102:13: */ bp := tls.Alloc(20) defer tls.Free(20) @@ -183123,7 +183154,7 @@ __31: fts5SegIterLoadNPos(tls, p, pIter) } -func fts5IdxSelectStmt(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:227171:21: */ +func fts5IdxSelectStmt(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:227228:21: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -183142,7 +183173,7 @@ func fts5IdxSelectStmt(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:227171:2 // // If an error occurs, Fts5Index.rc is set to an appropriate error code. If // an error has already occurred when this function is called, it is a no-op. -func fts5SegIterSeekInit(tls *libc.TLS, p uintptr, pTerm uintptr, nTerm int32, flags int32, pSeg uintptr, pIter uintptr) { /* sqlite3.c:227190:13: */ +func fts5SegIterSeekInit(tls *libc.TLS, p uintptr, pTerm uintptr, nTerm int32, flags int32, pSeg uintptr, pIter uintptr) { /* sqlite3.c:227247:13: */ var iPg int32 = 1 var bGe int32 = flags & FTS5INDEX_QUERY_SCAN var bDlidx int32 = 0 // True if there is a doclist-index @@ -183212,7 +183243,7 @@ func fts5SegIterSeekInit(tls *libc.TLS, p uintptr, pTerm uintptr, nTerm int32, f // // If an error occurs, Fts5Index.rc is set to an appropriate error code. If // an error has already occurred when this function is called, it is a no-op. -func fts5SegIterHashInit(tls *libc.TLS, p uintptr, pTerm uintptr, nTerm int32, flags int32, pIter uintptr) { /* sqlite3.c:227273:13: */ +func fts5SegIterHashInit(tls *libc.TLS, p uintptr, pTerm uintptr, nTerm int32, flags int32, pIter uintptr) { /* sqlite3.c:227330:13: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -183268,7 +183299,7 @@ func fts5SegIterHashInit(tls *libc.TLS, p uintptr, pTerm uintptr, nTerm int32, f } // Zero the iterator passed as the only argument. -func fts5SegIterClear(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:227332:13: */ +func fts5SegIterClear(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:227389:13: */ sqlite3Fts5BufferFree(tls, pIter+88) fts5DataRelease(tls, (*Fts5SegIter)(unsafe.Pointer(pIter)).FpLeaf) fts5DataRelease(tls, (*Fts5SegIter)(unsafe.Pointer(pIter)).FpNextLeaf) @@ -183283,7 +183314,7 @@ func fts5SegIterClear(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:227332:13: */ // in the pIter->aSeg[] array that is (a) not at EOF, and (b) pointing // to a key that is a duplicate of another, higher priority, // segment-iterator in the pSeg->aSeg[] array. -func fts5MultiIterDoCompare(tls *libc.TLS, pIter uintptr, iOut int32) int32 { /* sqlite3.c:227436:12: */ +func fts5MultiIterDoCompare(tls *libc.TLS, pIter uintptr, iOut int32) int32 { /* sqlite3.c:227493:12: */ var i1 int32 // Index of left-hand Fts5SegIter var i2 int32 // Index of right-hand Fts5SegIter var iRes int32 @@ -183335,7 +183366,7 @@ func fts5MultiIterDoCompare(tls *libc.TLS, pIter uintptr, iOut int32) int32 { /* // Move the seg-iter so that it points to the first rowid on page iLeafPgno. // It is an error if leaf iLeafPgno does not exist or contains no rowids. -func fts5SegIterGotoPage(tls *libc.TLS, p uintptr, pIter uintptr, iLeafPgno int32) { /* sqlite3.c:227490:13: */ +func fts5SegIterGotoPage(tls *libc.TLS, p uintptr, pIter uintptr, iLeafPgno int32) { /* sqlite3.c:227547:13: */ if iLeafPgno > (*Fts5StructureSegment)(unsafe.Pointer((*Fts5SegIter)(unsafe.Pointer(pIter)).FpSeg)).FpgnoLast { (*Fts5Index)(unsafe.Pointer(p)).Frc = SQLITE_CORRUPT | int32(1)<<8 @@ -183365,7 +183396,7 @@ func fts5SegIterGotoPage(tls *libc.TLS, p uintptr, pIter uintptr, iLeafPgno int3 // Advance the iterator passed as the second argument until it is at or // past rowid iFrom. Regardless of the value of iFrom, the iterator is // always advanced at least once. -func fts5SegIterNextFrom(tls *libc.TLS, p uintptr, pIter uintptr, iMatch I64) { /* sqlite3.c:227528:13: */ +func fts5SegIterNextFrom(tls *libc.TLS, p uintptr, pIter uintptr, iMatch I64) { /* sqlite3.c:227585:13: */ var bRev int32 = (*Fts5SegIter)(unsafe.Pointer(pIter)).Fflags & FTS5_SEGITER_REVERSE var pDlidx uintptr = (*Fts5SegIter)(unsafe.Pointer(pIter)).FpDlidx var iLeafPgno int32 = (*Fts5SegIter)(unsafe.Pointer(pIter)).FiLeafPgno @@ -183415,7 +183446,7 @@ func fts5SegIterNextFrom(tls *libc.TLS, p uintptr, pIter uintptr, iMatch I64) { } // Free the iterator object passed as the second argument. -func fts5MultiIterFree(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:227582:13: */ +func fts5MultiIterFree(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:227639:13: */ if pIter != 0 { var i int32 for i = 0; i < (*Fts5Iter)(unsafe.Pointer(pIter)).FnSeg; i++ { @@ -183426,7 +183457,7 @@ func fts5MultiIterFree(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:227582:13: * } } -func fts5MultiIterAdvanced(tls *libc.TLS, p uintptr, pIter uintptr, iChanged int32, iMinset int32) { /* sqlite3.c:227593:13: */ +func fts5MultiIterAdvanced(tls *libc.TLS, p uintptr, pIter uintptr, iChanged int32, iMinset int32) { /* sqlite3.c:227650:13: */ var i int32 for i = ((*Fts5Iter)(unsafe.Pointer(pIter)).FnSeg + iChanged) / 2; i >= iMinset && (*Fts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK; i = i / 2 { var iEq int32 @@ -183449,7 +183480,7 @@ func fts5MultiIterAdvanced(tls *libc.TLS, p uintptr, pIter uintptr, iChanged int // If non-zero is returned, the caller should call fts5MultiIterAdvanced() // on the iterator instead. That function does the same as this one, except // that it deals with more complicated cases as well. -func fts5MultiIterAdvanceRowid(tls *libc.TLS, pIter uintptr, iChanged int32, ppFirst uintptr) int32 { /* sqlite3.c:227621:12: */ +func fts5MultiIterAdvanceRowid(tls *libc.TLS, pIter uintptr, iChanged int32, ppFirst uintptr) int32 { /* sqlite3.c:227678:12: */ var pNew uintptr = pIter + 96 + uintptr(iChanged)*120 if (*Fts5SegIter)(unsafe.Pointer(pNew)).FiRowid == (*Fts5Iter)(unsafe.Pointer(pIter)).FiSwitchRowid || @@ -183489,7 +183520,7 @@ func fts5MultiIterAdvanceRowid(tls *libc.TLS, pIter uintptr, iChanged int32, ppF } // Set the pIter->bEof variable based on the state of the sub-iterators. -func fts5MultiIterSetEof(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:227664:13: */ +func fts5MultiIterSetEof(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:227721:13: */ var pSeg uintptr = pIter + 96 + uintptr((*Fts5CResult)(unsafe.Pointer((*Fts5Iter)(unsafe.Pointer(pIter)).FaFirst+1*4)).FiFirst)*120 (*Fts5Iter)(unsafe.Pointer(pIter)).Fbase.FbEof = U8(libc.Bool32((*Fts5SegIter)(unsafe.Pointer(pSeg)).FpLeaf == uintptr(0))) (*Fts5Iter)(unsafe.Pointer(pIter)).FiSwitchRowid = (*Fts5SegIter)(unsafe.Pointer(pSeg)).FiRowid @@ -183500,7 +183531,7 @@ func fts5MultiIterSetEof(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:227664:13: // If an error occurs, an error code is left in Fts5Index.rc. It is not // considered an error if the iterator reaches EOF, or if it is already at // EOF when this function is called. -func fts5MultiIterNext(tls *libc.TLS, p uintptr, pIter uintptr, bFrom int32, iFrom I64) { /* sqlite3.c:227677:13: */ +func fts5MultiIterNext(tls *libc.TLS, p uintptr, pIter uintptr, bFrom int32, iFrom I64) { /* sqlite3.c:227734:13: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -183539,7 +183570,7 @@ func fts5MultiIterNext(tls *libc.TLS, p uintptr, pIter uintptr, bFrom int32, iFr } } -func fts5MultiIterNext2(tls *libc.TLS, p uintptr, pIter uintptr, pbNewTerm uintptr) { /* sqlite3.c:227715:13: */ +func fts5MultiIterNext2(tls *libc.TLS, p uintptr, pIter uintptr, pbNewTerm uintptr) { /* sqlite3.c:227772:13: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -183564,12 +183595,12 @@ func fts5MultiIterNext2(tls *libc.TLS, p uintptr, pIter uintptr, pbNewTerm uintp } } -func fts5IterSetOutputs_Noop(tls *libc.TLS, pUnused1 uintptr, pUnused2 uintptr) { /* sqlite3.c:227743:13: */ +func fts5IterSetOutputs_Noop(tls *libc.TLS, pUnused1 uintptr, pUnused2 uintptr) { /* sqlite3.c:227800:13: */ _ = pUnused1 _ = pUnused2 } -func fts5MultiIterAlloc(tls *libc.TLS, p uintptr, nSeg int32) uintptr { /* sqlite3.c:227747:17: */ +func fts5MultiIterAlloc(tls *libc.TLS, p uintptr, nSeg int32) uintptr { /* sqlite3.c:227804:17: */ var pNew uintptr var nSlot int32 // Power of two >= nSeg @@ -183588,7 +183619,7 @@ func fts5MultiIterAlloc(tls *libc.TLS, p uintptr, nSeg int32) uintptr { /* sqlit return pNew } -func fts5PoslistCallback(tls *libc.TLS, pUnused uintptr, pContext uintptr, pChunk uintptr, nChunk int32) { /* sqlite3.c:227769:13: */ +func fts5PoslistCallback(tls *libc.TLS, pUnused uintptr, pContext uintptr, pChunk uintptr, nChunk int32) { /* sqlite3.c:227826:13: */ _ = pUnused if nChunk > 0 { @@ -183605,21 +183636,21 @@ type PoslistCallbackCtx1 = struct { FpColset uintptr FeState int32 F__ccgo_pad1 [4]byte -} /* sqlite3.c:227781:9 */ +} /* sqlite3.c:227838:9 */ -type PoslistCallbackCtx = PoslistCallbackCtx1 /* sqlite3.c:227781:35 */ +type PoslistCallbackCtx = PoslistCallbackCtx1 /* sqlite3.c:227838:35 */ type PoslistOffsetsCtx1 = struct { FpBuf uintptr FpColset uintptr FiRead int32 FiWrite int32 -} /* sqlite3.c:227788:9 */ +} /* sqlite3.c:227845:9 */ -type PoslistOffsetsCtx = PoslistOffsetsCtx1 /* sqlite3.c:227788:34 */ +type PoslistOffsetsCtx = PoslistOffsetsCtx1 /* sqlite3.c:227845:34 */ // TODO: Make this more efficient! -func fts5IndexColsetTest(tls *libc.TLS, pColset uintptr, iCol int32) int32 { /* sqlite3.c:227799:12: */ +func fts5IndexColsetTest(tls *libc.TLS, pColset uintptr, iCol int32) int32 { /* sqlite3.c:227856:12: */ var i int32 for i = 0; i < (*Fts5Colset)(unsafe.Pointer(pColset)).FnCol; i++ { if *(*int32)(unsafe.Pointer(pColset + 4 + uintptr(i)*4)) == iCol { @@ -183629,7 +183660,7 @@ func fts5IndexColsetTest(tls *libc.TLS, pColset uintptr, iCol int32) int32 { /* return 0 } -func fts5PoslistOffsetsCallback(tls *libc.TLS, pUnused uintptr, pContext uintptr, pChunk uintptr, nChunk int32) { /* sqlite3.c:227807:13: */ +func fts5PoslistOffsetsCallback(tls *libc.TLS, pUnused uintptr, pContext uintptr, pChunk uintptr, nChunk int32) { /* sqlite3.c:227864:13: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -183655,7 +183686,7 @@ func fts5PoslistOffsetsCallback(tls *libc.TLS, pUnused uintptr, pContext uintptr } } -func fts5PoslistFilterCallback(tls *libc.TLS, pUnused uintptr, pContext uintptr, pChunk uintptr, nChunk int32) { /* sqlite3.c:227830:13: */ +func fts5PoslistFilterCallback(tls *libc.TLS, pUnused uintptr, pContext uintptr, pChunk uintptr, nChunk int32) { /* sqlite3.c:227887:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -183735,7 +183766,7 @@ func fts5PoslistFilterCallback(tls *libc.TLS, pUnused uintptr, pContext uintptr, } } -func fts5ChunkIterate(tls *libc.TLS, p uintptr, pSeg uintptr, pCtx uintptr, xChunk uintptr) { /* sqlite3.c:227882:13: */ +func fts5ChunkIterate(tls *libc.TLS, p uintptr, pSeg uintptr, pCtx uintptr, xChunk uintptr) { /* sqlite3.c:227939:13: */ var nRem int32 = (*Fts5SegIter)(unsafe.Pointer(pSeg)).FnPos // Number of bytes still to come var pData uintptr = uintptr(0) var pChunk uintptr = (*Fts5Data)(unsafe.Pointer((*Fts5SegIter)(unsafe.Pointer(pSeg)).FpLeaf)).Fp + uintptr((*Fts5SegIter)(unsafe.Pointer(pSeg)).FiLeafOffset) @@ -183791,7 +183822,7 @@ func fts5ChunkIterate(tls *libc.TLS, p uintptr, pSeg uintptr, pCtx uintptr, xChu // function appends the position list data for the current entry to // buffer pBuf. It does not make a copy of the position-list size // field. -func fts5SegiterPoslist(tls *libc.TLS, p uintptr, pSeg uintptr, pColset uintptr, pBuf uintptr) { /* sqlite3.c:227932:13: */ +func fts5SegiterPoslist(tls *libc.TLS, p uintptr, pSeg uintptr, pColset uintptr, pBuf uintptr) { /* sqlite3.c:227989:13: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -183842,7 +183873,7 @@ func fts5SegiterPoslist(tls *libc.TLS, p uintptr, pSeg uintptr, pColset uintptr, // This function is a no-op if *pRc is other than SQLITE_OK when it is // called. If an OOM error is encountered, *pRc is set to SQLITE_NOMEM // before returning. -func fts5IndexExtractColset(tls *libc.TLS, pRc uintptr, pColset uintptr, pPos uintptr, nPos int32, pIter uintptr) { /* sqlite3.c:227977:13: */ +func fts5IndexExtractColset(tls *libc.TLS, pRc uintptr, pColset uintptr, pPos uintptr, nPos int32, pIter uintptr) { /* sqlite3.c:228034:13: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -183903,7 +183934,7 @@ func fts5IndexExtractColset(tls *libc.TLS, pRc uintptr, pColset uintptr, pPos ui } // xSetOutputs callback used by detail=none tables. -func fts5IterSetOutputs_None(tls *libc.TLS, pIter uintptr, pSeg uintptr) { /* sqlite3.c:228037:13: */ +func fts5IterSetOutputs_None(tls *libc.TLS, pIter uintptr, pSeg uintptr) { /* sqlite3.c:228094:13: */ (*Fts5Iter)(unsafe.Pointer(pIter)).Fbase.FiRowid = (*Fts5SegIter)(unsafe.Pointer(pSeg)).FiRowid (*Fts5Iter)(unsafe.Pointer(pIter)).Fbase.FnData = (*Fts5SegIter)(unsafe.Pointer(pSeg)).FnPos @@ -183911,7 +183942,7 @@ func fts5IterSetOutputs_None(tls *libc.TLS, pIter uintptr, pSeg uintptr) { /* sq // xSetOutputs callback used by detail=full and detail=col tables when no // column filters are specified. -func fts5IterSetOutputs_Nocolset(tls *libc.TLS, pIter uintptr, pSeg uintptr) { /* sqlite3.c:228047:13: */ +func fts5IterSetOutputs_Nocolset(tls *libc.TLS, pIter uintptr, pSeg uintptr) { /* sqlite3.c:228104:13: */ (*Fts5Iter)(unsafe.Pointer(pIter)).Fbase.FiRowid = (*Fts5SegIter)(unsafe.Pointer(pSeg)).FiRowid (*Fts5Iter)(unsafe.Pointer(pIter)).Fbase.FnData = (*Fts5SegIter)(unsafe.Pointer(pSeg)).FnPos @@ -183931,7 +183962,7 @@ func fts5IterSetOutputs_Nocolset(tls *libc.TLS, pIter uintptr, pSeg uintptr) { / // xSetOutputs callback used when the Fts5Colset object has nCol==0 (match // against no columns at all). -func fts5IterSetOutputs_ZeroColset(tls *libc.TLS, pIter uintptr, pSeg uintptr) { /* sqlite3.c:228072:13: */ +func fts5IterSetOutputs_ZeroColset(tls *libc.TLS, pIter uintptr, pSeg uintptr) { /* sqlite3.c:228129:13: */ _ = pSeg (*Fts5Iter)(unsafe.Pointer(pIter)).Fbase.FnData = 0 } @@ -183939,7 +183970,7 @@ func fts5IterSetOutputs_ZeroColset(tls *libc.TLS, pIter uintptr, pSeg uintptr) { // xSetOutputs callback used by detail=col when there is a column filter // and there are 100 or more columns. Also called as a fallback from // fts5IterSetOutputs_Col100 if the column-list spans more than one page. -func fts5IterSetOutputs_Col(tls *libc.TLS, pIter uintptr, pSeg uintptr) { /* sqlite3.c:228082:13: */ +func fts5IterSetOutputs_Col(tls *libc.TLS, pIter uintptr, pSeg uintptr) { /* sqlite3.c:228139:13: */ sqlite3Fts5BufferZero(tls, pIter+32) fts5SegiterPoslist(tls, (*Fts5Iter)(unsafe.Pointer(pIter)).FpIndex, pSeg, (*Fts5Iter)(unsafe.Pointer(pIter)).FpColset, pIter+32) (*Fts5Iter)(unsafe.Pointer(pIter)).Fbase.FiRowid = (*Fts5SegIter)(unsafe.Pointer(pSeg)).FiRowid @@ -183955,7 +183986,7 @@ func fts5IterSetOutputs_Col(tls *libc.TLS, pIter uintptr, pSeg uintptr) { /* sql // // The last point is to ensure all column numbers are stored as // single-byte varints. -func fts5IterSetOutputs_Col100(tls *libc.TLS, pIter uintptr, pSeg uintptr) { /* sqlite3.c:228100:13: */ +func fts5IterSetOutputs_Col100(tls *libc.TLS, pIter uintptr, pSeg uintptr) { /* sqlite3.c:228157:13: */ var a uintptr var pEnd uintptr var iPrev int32 @@ -184017,7 +184048,7 @@ __2: } // xSetOutputs callback used by detail=full when there is a column filter. -func fts5IterSetOutputs_Full(tls *libc.TLS, pIter uintptr, pSeg uintptr) { /* sqlite3.c:228140:13: */ +func fts5IterSetOutputs_Full(tls *libc.TLS, pIter uintptr, pSeg uintptr) { /* sqlite3.c:228197:13: */ var pColset uintptr = (*Fts5Iter)(unsafe.Pointer(pIter)).FpColset (*Fts5Iter)(unsafe.Pointer(pIter)).Fbase.FiRowid = (*Fts5SegIter)(unsafe.Pointer(pSeg)).FiRowid @@ -184039,7 +184070,7 @@ func fts5IterSetOutputs_Full(tls *libc.TLS, pIter uintptr, pSeg uintptr) { /* sq } } -func fts5IterSetOutputCb(tls *libc.TLS, pRc uintptr, pIter uintptr) { /* sqlite3.c:228165:13: */ +func fts5IterSetOutputCb(tls *libc.TLS, pRc uintptr, pIter uintptr) { /* sqlite3.c:228222:13: */ if *(*int32)(unsafe.Pointer(pRc)) == SQLITE_OK { var pConfig uintptr = (*Fts5Index)(unsafe.Pointer((*Fts5Iter)(unsafe.Pointer(pIter)).FpIndex)).FpConfig @@ -184084,7 +184115,7 @@ func fts5IterSetOutputCb(tls *libc.TLS, pRc uintptr, pIter uintptr) { /* sqlite3 // // The iterator initially points to the first term/rowid entry in the // iterated data. -func fts5MultiIterNew(tls *libc.TLS, p uintptr, pStruct uintptr, flags int32, pColset uintptr, pTerm uintptr, nTerm int32, iLevel int32, nSegment int32, ppOut uintptr) { /* sqlite3.c:228209:13: */ +func fts5MultiIterNew(tls *libc.TLS, p uintptr, pStruct uintptr, flags int32, pColset uintptr, pTerm uintptr, nTerm int32, iLevel int32, nSegment int32, ppOut uintptr) { /* sqlite3.c:228266:13: */ var nSeg int32 // Number of segment-iters in use var iIter int32 // var iSeg int32 // Used to iterate through segments @@ -184287,7 +184318,7 @@ fts5MultiIterNew_post_check: // Create an Fts5Iter that iterates through the doclist provided // as the second argument. -func fts5MultiIterNew2(tls *libc.TLS, p uintptr, pData uintptr, bDesc int32, ppOut uintptr) { /* sqlite3.c:228315:13: */ +func fts5MultiIterNew2(tls *libc.TLS, p uintptr, pData uintptr, bDesc int32, ppOut uintptr) { /* sqlite3.c:228372:13: */ var pNew uintptr pNew = fts5MultiIterAlloc(tls, p, 2) if pNew != 0 { @@ -184320,7 +184351,7 @@ func fts5MultiIterNew2(tls *libc.TLS, p uintptr, pData uintptr, bDesc int32, ppO // Return true if the iterator is at EOF or if an error has occurred. // False otherwise. -func fts5MultiIterEof(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlite3.c:228355:12: */ +func fts5MultiIterEof(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlite3.c:228412:12: */ return libc.Bool32((*Fts5Index)(unsafe.Pointer(p)).Frc != 0 || (*Fts5Iter)(unsafe.Pointer(pIter)).Fbase.FbEof != 0) } @@ -184328,13 +184359,13 @@ func fts5MultiIterEof(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlite // Return the rowid of the entry that the iterator currently points // to. If the iterator points to EOF when this function is called the // results are undefined. -func fts5MultiIterRowid(tls *libc.TLS, pIter uintptr) I64 { /* sqlite3.c:228368:12: */ +func fts5MultiIterRowid(tls *libc.TLS, pIter uintptr) I64 { /* sqlite3.c:228425:12: */ return (*Fts5SegIter)(unsafe.Pointer(pIter + 96 + uintptr((*Fts5CResult)(unsafe.Pointer((*Fts5Iter)(unsafe.Pointer(pIter)).FaFirst+1*4)).FiFirst)*120)).FiRowid } // Move the iterator to the next entry at or following iMatch. -func fts5MultiIterNextFrom(tls *libc.TLS, p uintptr, pIter uintptr, iMatch I64) { /* sqlite3.c:228376:13: */ +func fts5MultiIterNextFrom(tls *libc.TLS, p uintptr, pIter uintptr, iMatch I64) { /* sqlite3.c:228433:13: */ for 1 != 0 { var iRowid I64 fts5MultiIterNext(tls, p, pIter, 1, iMatch) @@ -184353,7 +184384,7 @@ func fts5MultiIterNextFrom(tls *libc.TLS, p uintptr, pIter uintptr, iMatch I64) // Return a pointer to a buffer containing the term associated with the // entry that the iterator currently points to. -func fts5MultiIterTerm(tls *libc.TLS, pIter uintptr, pn uintptr) uintptr { /* sqlite3.c:228395:17: */ +func fts5MultiIterTerm(tls *libc.TLS, pIter uintptr, pn uintptr) uintptr { /* sqlite3.c:228452:17: */ var p uintptr = pIter + 96 + uintptr((*Fts5CResult)(unsafe.Pointer((*Fts5Iter)(unsafe.Pointer(pIter)).FaFirst+1*4)).FiFirst)*120 *(*int32)(unsafe.Pointer(pn)) = (*Fts5SegIter)(unsafe.Pointer(p)).Fterm.Fn return (*Fts5SegIter)(unsafe.Pointer(p)).Fterm.Fp @@ -184366,7 +184397,7 @@ func fts5MultiIterTerm(tls *libc.TLS, pIter uintptr, pn uintptr) uintptr { /* sq // // If an error has already occurred, this function is a no-op. 0 is // returned in this case. -func fts5AllocateSegid(tls *libc.TLS, p uintptr, pStruct uintptr) int32 { /* sqlite3.c:228410:12: */ +func fts5AllocateSegid(tls *libc.TLS, p uintptr, pStruct uintptr) int32 { /* sqlite3.c:228467:12: */ bp := tls.Alloc(252) defer tls.Free(252) @@ -184408,7 +184439,7 @@ func fts5AllocateSegid(tls *libc.TLS, p uintptr, pStruct uintptr) int32 { /* sql } // Discard all data currently cached in the hash-tables. -func fts5IndexDiscardData(tls *libc.TLS, p uintptr) { /* sqlite3.c:228467:13: */ +func fts5IndexDiscardData(tls *libc.TLS, p uintptr) { /* sqlite3.c:228524:13: */ if (*Fts5Index)(unsafe.Pointer(p)).FpHash != 0 { sqlite3Fts5HashClear(tls, (*Fts5Index)(unsafe.Pointer(p)).FpHash) @@ -184421,7 +184452,7 @@ func fts5IndexDiscardData(tls *libc.TLS, p uintptr) { /* sqlite3.c:228467:13: */ // // Buffer (pNew/) is guaranteed to be greater // than buffer (pOld/nOld). -func fts5PrefixCompress(tls *libc.TLS, nOld int32, pOld uintptr, pNew uintptr) int32 { /* sqlite3.c:228482:12: */ +func fts5PrefixCompress(tls *libc.TLS, nOld int32, pOld uintptr, pNew uintptr) int32 { /* sqlite3.c:228539:12: */ var i int32 for i = 0; i < nOld; i++ { if int32(*(*U8)(unsafe.Pointer(pOld + uintptr(i)))) != int32(*(*U8)(unsafe.Pointer(pNew + uintptr(i)))) { @@ -184431,7 +184462,7 @@ func fts5PrefixCompress(tls *libc.TLS, nOld int32, pOld uintptr, pNew uintptr) i return i } -func fts5WriteDlidxClear(tls *libc.TLS, p uintptr, pWriter uintptr, bFlush int32) { /* sqlite3.c:228490:13: */ +func fts5WriteDlidxClear(tls *libc.TLS, p uintptr, pWriter uintptr, bFlush int32) { /* sqlite3.c:228547:13: */ var i int32 for i = 0; i < (*Fts5SegWriter)(unsafe.Pointer(pWriter)).FnDlidx; i++ { @@ -184452,7 +184483,7 @@ func fts5WriteDlidxClear(tls *libc.TLS, p uintptr, pWriter uintptr, bFlush int32 // Grow the pWriter->aDlidx[] array to at least nLvl elements in size. // Any new array elements are zeroed before returning. -func fts5WriteDlidxGrow(tls *libc.TLS, p uintptr, pWriter uintptr, nLvl int32) int32 { /* sqlite3.c:228516:12: */ +func fts5WriteDlidxGrow(tls *libc.TLS, p uintptr, pWriter uintptr, nLvl int32) int32 { /* sqlite3.c:228573:12: */ if (*Fts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK && nLvl >= (*Fts5SegWriter)(unsafe.Pointer(pWriter)).FnDlidx { var aDlidx uintptr = Xsqlite3_realloc64(tls, (*Fts5SegWriter)(unsafe.Pointer(pWriter)).FaDlidx, uint64(uint64(unsafe.Sizeof(Fts5DlidxWriter{}))*uint64(nLvl))) @@ -184471,7 +184502,7 @@ func fts5WriteDlidxGrow(tls *libc.TLS, p uintptr, pWriter uintptr, nLvl int32) i // If the current doclist-index accumulating in pWriter->aDlidx[] is large // enough, flush it to disk and return 1. Otherwise discard it and return // zero. -func fts5WriteFlushDlidx(tls *libc.TLS, p uintptr, pWriter uintptr) int32 { /* sqlite3.c:228542:12: */ +func fts5WriteFlushDlidx(tls *libc.TLS, p uintptr, pWriter uintptr) int32 { /* sqlite3.c:228599:12: */ var bFlag int32 = 0 // If there were FTS5_MIN_DLIDX_SIZE or more empty leaf pages written @@ -184493,7 +184524,7 @@ func fts5WriteFlushDlidx(tls *libc.TLS, p uintptr, pWriter uintptr) int32 { /* s // it. // // Fts5SegWriter.btterm currently contains the first term on page iBtPage. -func fts5WriteFlushBtree(tls *libc.TLS, p uintptr, pWriter uintptr) { /* sqlite3.c:228566:13: */ +func fts5WriteFlushBtree(tls *libc.TLS, p uintptr, pWriter uintptr) { /* sqlite3.c:228623:13: */ var bFlag int32 if (*Fts5SegWriter)(unsafe.Pointer(pWriter)).FiBtPage == 0 { @@ -184526,7 +184557,7 @@ func fts5WriteFlushBtree(tls *libc.TLS, p uintptr, pWriter uintptr) { /* sqlite3 // // If an error occurs, an error code is left in Fts5Index.rc. If an error // has already occurred when this function is called, it is a no-op. -func fts5WriteBtreeTerm(tls *libc.TLS, p uintptr, pWriter uintptr, nTerm int32, pTerm uintptr) { /* sqlite3.c:228595:13: */ +func fts5WriteBtreeTerm(tls *libc.TLS, p uintptr, pWriter uintptr, nTerm int32, pTerm uintptr) { /* sqlite3.c:228652:13: */ fts5WriteFlushBtree(tls, p, pWriter) if (*Fts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK { sqlite3Fts5BufferSet(tls, p+52, pWriter+96, nTerm, pTerm) @@ -184536,7 +184567,7 @@ func fts5WriteBtreeTerm(tls *libc.TLS, p uintptr, pWriter uintptr, nTerm int32, // This function is called when flushing a leaf page that contains no // terms at all to disk. -func fts5WriteBtreeNoTerm(tls *libc.TLS, p uintptr, pWriter uintptr) { /* sqlite3.c:228611:13: */ +func fts5WriteBtreeNoTerm(tls *libc.TLS, p uintptr, pWriter uintptr) { /* sqlite3.c:228668:13: */ // If there were no rowids on the leaf page either and the doclist-index // has already been started, append an 0x00 byte to it. if (*Fts5SegWriter)(unsafe.Pointer(pWriter)).FbFirstRowidInPage != 0 && (*Fts5DlidxWriter)(unsafe.Pointer((*Fts5SegWriter)(unsafe.Pointer(pWriter)).FaDlidx)).Fbuf.Fn > 0 { @@ -184549,7 +184580,7 @@ func fts5WriteBtreeNoTerm(tls *libc.TLS, p uintptr, pWriter uintptr) { /* sqlite (*Fts5SegWriter)(unsafe.Pointer(pWriter)).FnEmpty++ } -func fts5DlidxExtractFirstRowid(tls *libc.TLS, pBuf uintptr) I64 { /* sqlite3.c:228627:12: */ +func fts5DlidxExtractFirstRowid(tls *libc.TLS, pBuf uintptr) I64 { /* sqlite3.c:228684:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -184565,7 +184596,7 @@ func fts5DlidxExtractFirstRowid(tls *libc.TLS, pBuf uintptr) I64 { /* sqlite3.c: // Rowid iRowid has just been appended to the current leaf page. It is the // first on the page. This function appends an appropriate entry to the current // doclist-index. -func fts5WriteDlidxAppend(tls *libc.TLS, p uintptr, pWriter uintptr, iRowid I64) { /* sqlite3.c:228641:13: */ +func fts5WriteDlidxAppend(tls *libc.TLS, p uintptr, pWriter uintptr, iRowid I64) { /* sqlite3.c:228698:13: */ var i int32 var bDone int32 = 0 @@ -184625,7 +184656,7 @@ func fts5WriteDlidxAppend(tls *libc.TLS, p uintptr, pWriter uintptr, iRowid I64) } } -func fts5WriteFlushLeaf(tls *libc.TLS, p uintptr, pWriter uintptr) { /* sqlite3.c:228701:13: */ +func fts5WriteFlushLeaf(tls *libc.TLS, p uintptr, pWriter uintptr) { /* sqlite3.c:228758:13: */ var pPage uintptr = pWriter + 8 var iRowid I64 @@ -184661,14 +184692,14 @@ func fts5WriteFlushLeaf(tls *libc.TLS, p uintptr, pWriter uintptr) { /* sqlite3. (*Fts5SegWriter)(unsafe.Pointer(pWriter)).FbFirstRowidInPage = U8(1) } -var zero = [4]U8{U8(0x00), U8(0x00), U8(0x00), U8(0x00)} /* sqlite3.c:228702:19 */ +var zero = [4]U8{U8(0x00), U8(0x00), U8(0x00), U8(0x00)} /* sqlite3.c:228759:19 */ // Append term pTerm/nTerm to the segment being written by the writer passed // as the second argument. // // If an error occurs, set the Fts5Index.rc error code. If an error has // already occurred, this function is a no-op. -func fts5WriteAppendTerm(tls *libc.TLS, p uintptr, pWriter uintptr, nTerm int32, pTerm uintptr) { /* sqlite3.c:228747:13: */ +func fts5WriteAppendTerm(tls *libc.TLS, p uintptr, pWriter uintptr, nTerm int32, pTerm uintptr) { /* sqlite3.c:228804:13: */ var nPrefix int32 // Bytes of prefix compression for term var pPage uintptr = pWriter + 8 var pPgidx uintptr = pWriter + 8 + 24 @@ -184744,7 +184775,7 @@ func fts5WriteAppendTerm(tls *libc.TLS, p uintptr, pWriter uintptr, nTerm int32, } // Append a rowid and position-list size field to the writers output. -func fts5WriteAppendRowid(tls *libc.TLS, p uintptr, pWriter uintptr, iRowid I64) { /* sqlite3.c:228828:13: */ +func fts5WriteAppendRowid(tls *libc.TLS, p uintptr, pWriter uintptr, iRowid I64) { /* sqlite3.c:228885:13: */ if (*Fts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK { var pPage uintptr = pWriter + 8 @@ -184773,7 +184804,7 @@ func fts5WriteAppendRowid(tls *libc.TLS, p uintptr, pWriter uintptr, iRowid I64) } } -func fts5WriteAppendPoslistData(tls *libc.TLS, p uintptr, pWriter uintptr, aData uintptr, nData int32) { /* sqlite3.c:228861:13: */ +func fts5WriteAppendPoslistData(tls *libc.TLS, p uintptr, pWriter uintptr, aData uintptr, nData int32) { /* sqlite3.c:228918:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -184802,7 +184833,7 @@ func fts5WriteAppendPoslistData(tls *libc.TLS, p uintptr, pWriter uintptr, aData // Flush any data cached by the writer object to the database. Free any // allocations associated with the writer. -func fts5WriteFinish(tls *libc.TLS, p uintptr, pWriter uintptr, pnLeaf uintptr) { /* sqlite3.c:228895:13: */ +func fts5WriteFinish(tls *libc.TLS, p uintptr, pWriter uintptr, pnLeaf uintptr) { /* sqlite3.c:228952:13: */ var i int32 var pLeaf uintptr = pWriter + 8 if (*Fts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK { @@ -184826,7 +184857,7 @@ func fts5WriteFinish(tls *libc.TLS, p uintptr, pWriter uintptr, pnLeaf uintptr) Xsqlite3_free(tls, (*Fts5SegWriter)(unsafe.Pointer(pWriter)).FaDlidx) } -func fts5WriteInit(tls *libc.TLS, p uintptr, pWriter uintptr, iSegid int32) { /* sqlite3.c:228923:13: */ +func fts5WriteInit(tls *libc.TLS, p uintptr, pWriter uintptr, iSegid int32) { /* sqlite3.c:228980:13: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -184866,7 +184897,7 @@ func fts5WriteInit(tls *libc.TLS, p uintptr, pWriter uintptr, iSegid int32) { /* // Iterator pIter was used to iterate through the input segments of on an // incremental merge operation. This function is called if the incremental // merge step has finished but the input has not been completely exhausted. -func fts5TrimSegments(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:228970:13: */ +func fts5TrimSegments(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:229027:13: */ bp := tls.Alloc(20) defer tls.Free(20) @@ -184935,13 +184966,13 @@ func fts5TrimSegments(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:22 sqlite3Fts5BufferFree(tls, bp) } -func fts5MergeChunkCallback(tls *libc.TLS, p uintptr, pCtx uintptr, pChunk uintptr, nChunk int32) { /* sqlite3.c:229036:13: */ +func fts5MergeChunkCallback(tls *libc.TLS, p uintptr, pCtx uintptr, pChunk uintptr, nChunk int32) { /* sqlite3.c:229093:13: */ var pWriter uintptr = pCtx fts5WriteAppendPoslistData(tls, p, pWriter, pChunk, nChunk) } // -func fts5IndexMergeLevel(tls *libc.TLS, p uintptr, ppStruct uintptr, iLvl int32, pnRem uintptr) { /* sqlite3.c:229048:13: */ +func fts5IndexMergeLevel(tls *libc.TLS, p uintptr, ppStruct uintptr, iLvl int32, pnRem uintptr) { /* sqlite3.c:229105:13: */ bp := tls.Alloc(148) defer tls.Free(148) @@ -185100,7 +185131,7 @@ func fts5IndexMergeLevel(tls *libc.TLS, p uintptr, ppStruct uintptr, iLvl int32, // Do up to nPg pages of automerge work on the index. // // Return true if any changes were actually made, or false otherwise. -func fts5IndexMerge(tls *libc.TLS, p uintptr, ppStruct uintptr, nPg int32, nMin int32) int32 { /* sqlite3.c:229198:12: */ +func fts5IndexMerge(tls *libc.TLS, p uintptr, ppStruct uintptr, nPg int32, nMin int32) int32 { /* sqlite3.c:229255:12: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -185150,7 +185181,7 @@ func fts5IndexMerge(tls *libc.TLS, p uintptr, ppStruct uintptr, nPg int32, nMin // // If an error occurs, set the Fts5Index.rc error code. If an error has // already occurred, this function is a no-op. -func fts5IndexAutomerge(tls *libc.TLS, p uintptr, ppStruct uintptr, nLeaf int32) { /* sqlite3.c:229257:13: */ +func fts5IndexAutomerge(tls *libc.TLS, p uintptr, ppStruct uintptr, nLeaf int32) { /* sqlite3.c:229314:13: */ if (*Fts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK && (*Fts5Config)(unsafe.Pointer((*Fts5Index)(unsafe.Pointer(p)).FpConfig)).FnAutomerge > 0 && *(*uintptr)(unsafe.Pointer(ppStruct)) != uintptr(0) { var pStruct uintptr = *(*uintptr)(unsafe.Pointer(ppStruct)) var nWrite U64 // Initial value of write-counter @@ -185167,7 +185198,7 @@ func fts5IndexAutomerge(tls *libc.TLS, p uintptr, ppStruct uintptr, nLeaf int32) } } -func fts5IndexCrisismerge(tls *libc.TLS, p uintptr, ppStruct uintptr) { /* sqlite3.c:229278:13: */ +func fts5IndexCrisismerge(tls *libc.TLS, p uintptr, ppStruct uintptr) { /* sqlite3.c:229335:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -185184,7 +185215,7 @@ func fts5IndexCrisismerge(tls *libc.TLS, p uintptr, ppStruct uintptr) { /* sqlit *(*uintptr)(unsafe.Pointer(ppStruct)) = *(*uintptr)(unsafe.Pointer(bp /* pStruct */)) } -func fts5IndexReturn(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:229296:12: */ +func fts5IndexReturn(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:229353:12: */ var rc int32 = (*Fts5Index)(unsafe.Pointer(p)).Frc (*Fts5Index)(unsafe.Pointer(p)).Frc = SQLITE_OK return rc @@ -185193,14 +185224,14 @@ func fts5IndexReturn(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:229296:12: * type Fts5FlushCtx1 = struct { FpIdx uintptr Fwriter Fts5SegWriter -} /* sqlite3.c:229302:9 */ +} /* sqlite3.c:229359:9 */ -type Fts5FlushCtx = Fts5FlushCtx1 /* sqlite3.c:229302:29 */ +type Fts5FlushCtx = Fts5FlushCtx1 /* sqlite3.c:229359:29 */ // Buffer aBuf[] contains a list of varints, all small enough to fit // in a 32-bit integer. Return the size of the largest prefix of this // list nMax bytes or less in size. -func fts5PoslistPrefix(tls *libc.TLS, aBuf uintptr, nMax int32) int32 { /* sqlite3.c:229313:12: */ +func fts5PoslistPrefix(tls *libc.TLS, aBuf uintptr, nMax int32) int32 { /* sqlite3.c:229370:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -185225,7 +185256,7 @@ func fts5PoslistPrefix(tls *libc.TLS, aBuf uintptr, nMax int32) int32 { /* sqlit // // If an error occurs, set the Fts5Index.rc error code. If an error has // already occurred, this function is a no-op. -func fts5FlushOneHash(tls *libc.TLS, p uintptr) { /* sqlite3.c:229334:13: */ +func fts5FlushOneHash(tls *libc.TLS, p uintptr) { /* sqlite3.c:229391:13: */ bp := tls.Alloc(176) defer tls.Free(176) @@ -185403,7 +185434,7 @@ func fts5FlushOneHash(tls *libc.TLS, p uintptr) { /* sqlite3.c:229334:13: */ } // Flush any data stored in the in-memory hash tables to the database. -func fts5IndexFlush(tls *libc.TLS, p uintptr) { /* sqlite3.c:229488:13: */ +func fts5IndexFlush(tls *libc.TLS, p uintptr) { /* sqlite3.c:229545:13: */ // Unless it is empty, flush the hash table to disk if (*Fts5Index)(unsafe.Pointer(p)).FnPendingData != 0 { @@ -185412,7 +185443,7 @@ func fts5IndexFlush(tls *libc.TLS, p uintptr) { /* sqlite3.c:229488:13: */ } } -func fts5IndexOptimizeStruct(tls *libc.TLS, p uintptr, pStruct uintptr) uintptr { /* sqlite3.c:229497:22: */ +func fts5IndexOptimizeStruct(tls *libc.TLS, p uintptr, pStruct uintptr) uintptr { /* sqlite3.c:229554:22: */ var pNew uintptr = uintptr(0) var nByte Sqlite3_int64 = Sqlite3_int64(unsafe.Sizeof(Fts5Structure{})) var nSeg int32 = (*Fts5Structure)(unsafe.Pointer(pStruct)).FnSegment @@ -185473,7 +185504,7 @@ func fts5IndexOptimizeStruct(tls *libc.TLS, p uintptr, pStruct uintptr) uintptr return pNew } -func sqlite3Fts5IndexOptimize(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:229559:12: */ +func sqlite3Fts5IndexOptimize(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:229616:12: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -185507,7 +185538,7 @@ func sqlite3Fts5IndexOptimize(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:229 // This is called to implement the special "VALUES('merge', $nMerge)" // INSERT command. -func sqlite3Fts5IndexMerge(tls *libc.TLS, p uintptr, nMerge int32) int32 { /* sqlite3.c:229593:12: */ +func sqlite3Fts5IndexMerge(tls *libc.TLS, p uintptr, nMerge int32) int32 { /* sqlite3.c:229650:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -185532,12 +185563,12 @@ func sqlite3Fts5IndexMerge(tls *libc.TLS, p uintptr, nMerge int32) int32 { /* sq return fts5IndexReturn(tls, p) } -func fts5AppendRowid(tls *libc.TLS, p uintptr, iDelta I64, pUnused uintptr, pBuf uintptr) { /* sqlite3.c:229615:13: */ +func fts5AppendRowid(tls *libc.TLS, p uintptr, iDelta I64, pUnused uintptr, pBuf uintptr) { /* sqlite3.c:229672:13: */ _ = pUnused sqlite3Fts5BufferAppendVarint(tls, p+52, pBuf, iDelta) } -func fts5AppendPoslist(tls *libc.TLS, p uintptr, iDelta I64, pMulti uintptr, pBuf uintptr) { /* sqlite3.c:229625:13: */ +func fts5AppendPoslist(tls *libc.TLS, p uintptr, iDelta I64, pMulti uintptr, pBuf uintptr) { /* sqlite3.c:229682:13: */ var nData int32 = (*Fts5Iter)(unsafe.Pointer(pMulti)).Fbase.FnData var nByte int32 = nData + 9 + 9 + FTS5_DATA_ZERO_PADDING @@ -185564,7 +185595,7 @@ func fts5AppendPoslist(tls *libc.TLS, p uintptr, iDelta I64, pMulti uintptr, pBu } } -func fts5DoclistIterNext(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:229643:13: */ +func fts5DoclistIterNext(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:229700:13: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -185596,7 +185627,7 @@ func fts5DoclistIterNext(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:229643:13: } } -func fts5DoclistIterInit(tls *libc.TLS, pBuf uintptr, pIter uintptr) { /* sqlite3.c:229672:13: */ +func fts5DoclistIterInit(tls *libc.TLS, pBuf uintptr, pIter uintptr) { /* sqlite3.c:229729:13: */ libc.Xmemset(tls, pIter, 0, uint64(unsafe.Sizeof(Fts5DoclistIter{}))) if (*Fts5Buffer)(unsafe.Pointer(pBuf)).Fn > 0 { (*Fts5DoclistIter)(unsafe.Pointer(pIter)).FaPoslist = (*Fts5Buffer)(unsafe.Pointer(pBuf)).Fp @@ -185606,13 +185637,13 @@ func fts5DoclistIterInit(tls *libc.TLS, pBuf uintptr, pIter uintptr) { /* sqlite } // Swap the contents of buffer *p1 with that of *p2. -func fts5BufferSwap(tls *libc.TLS, p1 uintptr, p2 uintptr) { /* sqlite3.c:229711:13: */ +func fts5BufferSwap(tls *libc.TLS, p1 uintptr, p2 uintptr) { /* sqlite3.c:229768:13: */ var tmp = *(*Fts5Buffer)(unsafe.Pointer(p1)) *(*Fts5Buffer)(unsafe.Pointer(p1)) = *(*Fts5Buffer)(unsafe.Pointer(p2)) *(*Fts5Buffer)(unsafe.Pointer(p2)) = tmp } -func fts5NextRowid(tls *libc.TLS, pBuf uintptr, piOff uintptr, piRowid uintptr) { /* sqlite3.c:229717:13: */ +func fts5NextRowid(tls *libc.TLS, pBuf uintptr, piOff uintptr, piRowid uintptr) { /* sqlite3.c:229774:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -185629,7 +185660,7 @@ func fts5NextRowid(tls *libc.TLS, pBuf uintptr, piOff uintptr, piRowid uintptr) // This is the equivalent of fts5MergePrefixLists() for detail=none mode. // In this case the buffers consist of a delta-encoded list of rowids only. -func fts5MergeRowidLists(tls *libc.TLS, p uintptr, p1 uintptr, nBuf int32, aBuf uintptr) { /* sqlite3.c:229732:13: */ +func fts5MergeRowidLists(tls *libc.TLS, p uintptr, p1 uintptr, nBuf int32, aBuf uintptr) { /* sqlite3.c:229789:13: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -185685,11 +185716,11 @@ type PrefixMerger1 = struct { F__ccgo_pad1 [4]byte FaPos uintptr FpNext uintptr -} /* sqlite3.c:229775:9 */ +} /* sqlite3.c:229832:9 */ -type PrefixMerger = PrefixMerger1 /* sqlite3.c:229775:29 */ +type PrefixMerger = PrefixMerger1 /* sqlite3.c:229832:29 */ -func fts5PrefixMergerInsertByRowid(tls *libc.TLS, ppHead uintptr, p uintptr) { /* sqlite3.c:229784:13: */ +func fts5PrefixMergerInsertByRowid(tls *libc.TLS, ppHead uintptr, p uintptr) { /* sqlite3.c:229841:13: */ if (*PrefixMerger)(unsafe.Pointer(p)).Fiter.FaPoslist != 0 { var pp uintptr = ppHead for *(*uintptr)(unsafe.Pointer(pp)) != 0 && (*PrefixMerger)(unsafe.Pointer(p)).Fiter.FiRowid > (*PrefixMerger)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pp)))).Fiter.FiRowid { @@ -185700,7 +185731,7 @@ func fts5PrefixMergerInsertByRowid(tls *libc.TLS, ppHead uintptr, p uintptr) { / } } -func fts5PrefixMergerInsertByPosition(tls *libc.TLS, ppHead uintptr, p uintptr) { /* sqlite3.c:229798:13: */ +func fts5PrefixMergerInsertByPosition(tls *libc.TLS, ppHead uintptr, p uintptr) { /* sqlite3.c:229855:13: */ if (*PrefixMerger)(unsafe.Pointer(p)).FiPos >= int64(0) { var pp uintptr = ppHead for *(*uintptr)(unsafe.Pointer(pp)) != 0 && (*PrefixMerger)(unsafe.Pointer(p)).FiPos > (*PrefixMerger)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pp)))).FiPos { @@ -185713,7 +185744,7 @@ func fts5PrefixMergerInsertByPosition(tls *libc.TLS, ppHead uintptr, p uintptr) // Array aBuf[] contains nBuf doclists. These are all merged in with the // doclist in buffer p1. -func fts5MergePrefixLists(tls *libc.TLS, p uintptr, p1 uintptr, nBuf int32, aBuf uintptr) { /* sqlite3.c:229817:13: */ +func fts5MergePrefixLists(tls *libc.TLS, p uintptr, p1 uintptr, nBuf int32, aBuf uintptr) { /* sqlite3.c:229874:13: */ bp := tls.Alloc(1072) defer tls.Free(1072) @@ -185878,7 +185909,7 @@ func fts5MergePrefixLists(tls *libc.TLS, p uintptr, p1 uintptr, nBuf int32, aBuf *(*Fts5Buffer)(unsafe.Pointer(p1)) = *(*Fts5Buffer)(unsafe.Pointer(bp + 1032 /* out */)) } -func fts5SetupPrefixIter(tls *libc.TLS, p uintptr, bDesc int32, iIdx int32, pToken uintptr, nToken int32, pColset uintptr, ppIter uintptr) { /* sqlite3.c:229961:13: */ +func fts5SetupPrefixIter(tls *libc.TLS, p uintptr, bDesc int32, iIdx int32, pToken uintptr, nToken int32, pColset uintptr, ppIter uintptr) { /* sqlite3.c:230018:13: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -186025,7 +186056,7 @@ func fts5SetupPrefixIter(tls *libc.TLS, p uintptr, bDesc int32, iIdx int32, pTok // Indicate that all subsequent calls to sqlite3Fts5IndexWrite() pertain // to the document with rowid iRowid. -func sqlite3Fts5IndexBeginWrite(tls *libc.TLS, p uintptr, bDelete int32, iRowid I64) int32 { /* sqlite3.c:230098:12: */ +func sqlite3Fts5IndexBeginWrite(tls *libc.TLS, p uintptr, bDelete int32, iRowid I64) int32 { /* sqlite3.c:230155:12: */ // Allocate the hash table if it has not already been allocated if (*Fts5Index)(unsafe.Pointer(p)).FpHash == uintptr(0) { @@ -186045,7 +186076,7 @@ func sqlite3Fts5IndexBeginWrite(tls *libc.TLS, p uintptr, bDelete int32, iRowid } // Commit data to disk. -func sqlite3Fts5IndexSync(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:230122:12: */ +func sqlite3Fts5IndexSync(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:230179:12: */ fts5IndexFlush(tls, p) sqlite3Fts5IndexCloseReader(tls, p) @@ -186056,7 +186087,7 @@ func sqlite3Fts5IndexSync(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:230122: // to the database. Additionally, assume that the contents of the %_data // table may have changed on disk. So any in-memory caches of %_data // records must be invalidated. -func sqlite3Fts5IndexRollback(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:230135:12: */ +func sqlite3Fts5IndexRollback(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:230192:12: */ sqlite3Fts5IndexCloseReader(tls, p) fts5IndexDiscardData(tls, p) fts5StructureInvalidate(tls, p) @@ -186067,7 +186098,7 @@ func sqlite3Fts5IndexRollback(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:230 // The %_data table is completely empty when this function is called. This // function populates it with the initial structure objects for each index, // and the initial version of the "averages" record (a zero-byte blob). -func sqlite3Fts5IndexReinit(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:230148:12: */ +func sqlite3Fts5IndexReinit(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:230205:12: */ bp := tls.Alloc(40) defer tls.Free(40) @@ -186086,7 +186117,7 @@ func sqlite3Fts5IndexReinit(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:23014 // // If successful, set *pp to point to the new object and return SQLITE_OK. // Otherwise, set *pp to NULL and return an SQLite error code. -func sqlite3Fts5IndexOpen(tls *libc.TLS, pConfig uintptr, bCreate int32, pp uintptr, pzErr uintptr) int32 { /* sqlite3.c:230165:12: */ +func sqlite3Fts5IndexOpen(tls *libc.TLS, pConfig uintptr, bCreate int32, pp uintptr, pzErr uintptr) int32 { /* sqlite3.c:230222:12: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -186120,7 +186151,7 @@ func sqlite3Fts5IndexOpen(tls *libc.TLS, pConfig uintptr, bCreate int32, pp uint } // Close a handle opened by an earlier call to sqlite3Fts5IndexOpen(). -func sqlite3Fts5IndexClose(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:230206:12: */ +func sqlite3Fts5IndexClose(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:230263:12: */ var rc int32 = SQLITE_OK if p != 0 { @@ -186141,7 +186172,7 @@ func sqlite3Fts5IndexClose(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:230206 // Argument p points to a buffer containing utf-8 text that is n bytes in // size. Return the number of bytes in the nChar character prefix of the // buffer, or 0 if there are less than nChar characters in total. -func sqlite3Fts5IndexCharlenToBytelen(tls *libc.TLS, p uintptr, nByte int32, nChar int32) int32 { /* sqlite3.c:230229:12: */ +func sqlite3Fts5IndexCharlenToBytelen(tls *libc.TLS, p uintptr, nByte int32, nChar int32) int32 { /* sqlite3.c:230286:12: */ var n int32 = 0 var i int32 for i = 0; i < nChar; i++ { @@ -186168,7 +186199,7 @@ func sqlite3Fts5IndexCharlenToBytelen(tls *libc.TLS, p uintptr, nByte int32, nCh // pIn is a UTF-8 encoded string, nIn bytes in size. Return the number of // unicode characters in the string. -func fts5IndexCharlen(tls *libc.TLS, pIn uintptr, nIn int32) int32 { /* sqlite3.c:230256:12: */ +func fts5IndexCharlen(tls *libc.TLS, pIn uintptr, nIn int32) int32 { /* sqlite3.c:230313:12: */ var nChar int32 = 0 var i int32 = 0 for i < nIn { @@ -186190,7 +186221,7 @@ func fts5IndexCharlen(tls *libc.TLS, pIn uintptr, nIn int32) int32 { /* sqlite3. // If the operation is a delete, it must be called (at least) once for each // unique token in the document with an iCol value less than zero. The iPos // argument is ignored for a delete. -func sqlite3Fts5IndexWrite(tls *libc.TLS, p uintptr, iCol int32, iPos int32, pToken uintptr, nToken int32) int32 { /* sqlite3.c:230278:12: */ +func sqlite3Fts5IndexWrite(tls *libc.TLS, p uintptr, iCol int32, iPos int32, pToken uintptr, nToken int32) int32 { /* sqlite3.c:230335:12: */ var i int32 // Used to iterate through indexes var rc int32 = SQLITE_OK // Return code var pConfig uintptr = (*Fts5Index)(unsafe.Pointer(p)).FpConfig @@ -186214,7 +186245,7 @@ func sqlite3Fts5IndexWrite(tls *libc.TLS, p uintptr, iCol int32, iPos int32, pTo // Open a new iterator to iterate though all rowid that match the // specified token or token prefix. -func sqlite3Fts5IndexQuery(tls *libc.TLS, p uintptr, pToken uintptr, nToken int32, flags int32, pColset uintptr, ppIter uintptr) int32 { /* sqlite3.c:230314:12: */ +func sqlite3Fts5IndexQuery(tls *libc.TLS, p uintptr, pToken uintptr, nToken int32, flags int32, pColset uintptr, ppIter uintptr) int32 { /* sqlite3.c:230371:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -186297,7 +186328,7 @@ func sqlite3Fts5IndexQuery(tls *libc.TLS, p uintptr, pToken uintptr, nToken int3 // Return true if the iterator passed as the only argument is at EOF. // Move to the next matching rowid. -func sqlite3Fts5IterNext(tls *libc.TLS, pIndexIter uintptr) int32 { /* sqlite3.c:230402:12: */ +func sqlite3Fts5IterNext(tls *libc.TLS, pIndexIter uintptr) int32 { /* sqlite3.c:230459:12: */ var pIter uintptr = pIndexIter fts5MultiIterNext(tls, (*Fts5Iter)(unsafe.Pointer(pIter)).FpIndex, pIter, 0, int64(0)) @@ -186305,7 +186336,7 @@ func sqlite3Fts5IterNext(tls *libc.TLS, pIndexIter uintptr) int32 { /* sqlite3.c } // Move to the next matching term/rowid. Used by the fts5vocab module. -func sqlite3Fts5IterNextScan(tls *libc.TLS, pIndexIter uintptr) int32 { /* sqlite3.c:230412:12: */ +func sqlite3Fts5IterNextScan(tls *libc.TLS, pIndexIter uintptr) int32 { /* sqlite3.c:230469:12: */ var pIter uintptr = pIndexIter var p uintptr = (*Fts5Iter)(unsafe.Pointer(pIter)).FpIndex @@ -186325,14 +186356,14 @@ func sqlite3Fts5IterNextScan(tls *libc.TLS, pIndexIter uintptr) int32 { /* sqlit // Move to the next matching rowid that occurs at or after iMatch. The // definition of "at or after" depends on whether this iterator iterates // in ascending or descending rowid order. -func sqlite3Fts5IterNextFrom(tls *libc.TLS, pIndexIter uintptr, iMatch I64) int32 { /* sqlite3.c:230436:12: */ +func sqlite3Fts5IterNextFrom(tls *libc.TLS, pIndexIter uintptr, iMatch I64) int32 { /* sqlite3.c:230493:12: */ var pIter uintptr = pIndexIter fts5MultiIterNextFrom(tls, (*Fts5Iter)(unsafe.Pointer(pIter)).FpIndex, pIter, iMatch) return fts5IndexReturn(tls, (*Fts5Iter)(unsafe.Pointer(pIter)).FpIndex) } // Return the current term. -func sqlite3Fts5IterTerm(tls *libc.TLS, pIndexIter uintptr, pn uintptr) uintptr { /* sqlite3.c:230445:19: */ +func sqlite3Fts5IterTerm(tls *libc.TLS, pIndexIter uintptr, pn uintptr) uintptr { /* sqlite3.c:230502:19: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -186350,7 +186381,7 @@ func sqlite3Fts5IterTerm(tls *libc.TLS, pIndexIter uintptr, pn uintptr) uintptr } // Close an iterator opened by an earlier call to sqlite3Fts5IndexQuery(). -func sqlite3Fts5IterClose(tls *libc.TLS, pIndexIter uintptr) { /* sqlite3.c:230456:13: */ +func sqlite3Fts5IterClose(tls *libc.TLS, pIndexIter uintptr) { /* sqlite3.c:230513:13: */ if pIndexIter != 0 { var pIter uintptr = pIndexIter var pIndex uintptr = (*Fts5Iter)(unsafe.Pointer(pIter)).FpIndex @@ -186363,7 +186394,7 @@ func sqlite3Fts5IterClose(tls *libc.TLS, pIndexIter uintptr) { /* sqlite3.c:2304 // // Parameter anSize must point to an array of size nCol, where nCol is // the number of user defined columns in the FTS table. -func sqlite3Fts5IndexGetAverages(tls *libc.TLS, p uintptr, pnRow uintptr, anSize uintptr) int32 { /* sqlite3.c:230471:12: */ +func sqlite3Fts5IndexGetAverages(tls *libc.TLS, p uintptr, pnRow uintptr, anSize uintptr) int32 { /* sqlite3.c:230528:12: */ var nCol int32 = (*Fts5Config)(unsafe.Pointer((*Fts5Index)(unsafe.Pointer(p)).FpConfig)).FnCol var pData uintptr @@ -186385,7 +186416,7 @@ func sqlite3Fts5IndexGetAverages(tls *libc.TLS, p uintptr, pnRow uintptr, anSize // Replace the current "averages" record with the contents of the buffer // supplied as the second argument. -func sqlite3Fts5IndexSetAverages(tls *libc.TLS, p uintptr, pData uintptr, nData int32) int32 { /* sqlite3.c:230495:12: */ +func sqlite3Fts5IndexSetAverages(tls *libc.TLS, p uintptr, pData uintptr, nData int32) int32 { /* sqlite3.c:230552:12: */ fts5DataWrite(tls, p, int64(FTS5_AVERAGES_ROWID), pData, nData) return fts5IndexReturn(tls, p) @@ -186393,7 +186424,7 @@ func sqlite3Fts5IndexSetAverages(tls *libc.TLS, p uintptr, pData uintptr, nData // Return the total number of blocks this module has read from the %_data // table since it was created. -func sqlite3Fts5IndexReads(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:230505:12: */ +func sqlite3Fts5IndexReads(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:230562:12: */ return (*Fts5Index)(unsafe.Pointer(p)).FnRead } @@ -186402,7 +186433,7 @@ func sqlite3Fts5IndexReads(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:230505 // // Return SQLITE_OK if successful, or an SQLite error code if an error // occurs. -func sqlite3Fts5IndexSetCookie(tls *libc.TLS, p uintptr, iNew int32) int32 { /* sqlite3.c:230516:12: */ +func sqlite3Fts5IndexSetCookie(tls *libc.TLS, p uintptr, iNew int32) int32 { /* sqlite3.c:230573:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -186424,7 +186455,7 @@ func sqlite3Fts5IndexSetCookie(tls *libc.TLS, p uintptr, iNew int32) int32 { /* return rc } -func sqlite3Fts5IndexLoadConfig(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:230536:12: */ +func sqlite3Fts5IndexLoadConfig(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:230593:12: */ var pStruct uintptr pStruct = fts5StructureRead(tls, p) fts5StructureRelease(tls, pStruct) @@ -186438,7 +186469,7 @@ func sqlite3Fts5IndexLoadConfig(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:2 // functionality. // Return a simple checksum value based on the arguments. -func sqlite3Fts5IndexEntryCksum(tls *libc.TLS, iRowid I64, iCol int32, iPos int32, iIdx int32, pTerm uintptr, nTerm int32) U64 { /* sqlite3.c:230553:12: */ +func sqlite3Fts5IndexEntryCksum(tls *libc.TLS, iRowid I64, iCol int32, iPos int32, iIdx int32, pTerm uintptr, nTerm int32) U64 { /* sqlite3.c:230610:12: */ var i int32 var ret U64 = U64(iRowid) ret = ret + (ret<<3 + U64(iCol)) @@ -186458,7 +186489,7 @@ func sqlite3Fts5IndexEntryCksum(tls *libc.TLS, iRowid I64, iCol int32, iPos int3 // contain zero terms. // 2) All leaves of pSeg between iNoRowid and iLast (inclusive) exist and // contain zero rowids. -func fts5IndexIntegrityCheckEmpty(tls *libc.TLS, p uintptr, pSeg uintptr, iFirst int32, iNoRowid int32, iLast int32) { /* sqlite3.c:230771:13: */ +func fts5IndexIntegrityCheckEmpty(tls *libc.TLS, p uintptr, pSeg uintptr, iFirst int32, iNoRowid int32, iLast int32) { /* sqlite3.c:230828:13: */ var i int32 // Now check that the iter.nEmpty leaves following the current leaf @@ -186477,7 +186508,7 @@ func fts5IndexIntegrityCheckEmpty(tls *libc.TLS, p uintptr, pSeg uintptr, iFirst } } -func fts5IntegrityCheckPgidx(tls *libc.TLS, p uintptr, pLeaf uintptr) { /* sqlite3.c:230792:13: */ +func fts5IntegrityCheckPgidx(tls *libc.TLS, p uintptr, pLeaf uintptr) { /* sqlite3.c:230849:13: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -186536,7 +186567,7 @@ func fts5IntegrityCheckPgidx(tls *libc.TLS, p uintptr, pLeaf uintptr) { /* sqlit sqlite3Fts5BufferFree(tls, bp+32) } -func fts5IndexIntegrityCheckSegment(tls *libc.TLS, p uintptr, pSeg uintptr) { /* sqlite3.c:230842:13: */ +func fts5IndexIntegrityCheckSegment(tls *libc.TLS, p uintptr, pSeg uintptr) { /* sqlite3.c:230899:13: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -186705,7 +186736,7 @@ func fts5IndexIntegrityCheckSegment(tls *libc.TLS, p uintptr, pSeg uintptr) { /* // checksum does not match. Return SQLITE_OK if all checks pass without // error, or some other SQLite error code if another error (e.g. OOM) // occurs. -func sqlite3Fts5IndexIntegrityCheck(tls *libc.TLS, p uintptr, cksum U64, bUseCksum int32) int32 { /* sqlite3.c:230987:12: */ +func sqlite3Fts5IndexIntegrityCheck(tls *libc.TLS, p uintptr, cksum U64, bUseCksum int32) int32 { /* sqlite3.c:231044:12: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -186795,13 +186826,13 @@ func sqlite3Fts5IndexIntegrityCheck(tls *libc.TLS, p uintptr, cksum U64, bUseCks // // If successful, SQLITE_OK is returned. If an error occurs, some other // SQLite error code is returned instead. -func sqlite3Fts5IndexInit(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:231550:12: */ +func sqlite3Fts5IndexInit(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:231607:12: */ return SQLITE_OK _ = db return int32(0) } -func sqlite3Fts5IndexReset(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:231576:12: */ +func sqlite3Fts5IndexReset(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:231633:12: */ if fts5IndexDataVersion(tls, p) != (*Fts5Index)(unsafe.Pointer(p)).FiStructVersion { fts5StructureInvalidate(tls, p) @@ -186834,7 +186865,7 @@ type Fts5Auxdata1 = struct { FpPtr uintptr FxDelete uintptr FpNext uintptr -} /* sqlite3.c:216813:9 */ +} /* sqlite3.c:216870:9 */ // 2014 Jun 09 // @@ -186856,7 +186887,7 @@ type Fts5Auxdata1 = struct { // assert() conditions in the fts5 code are activated - conditions that are // only true if it is guaranteed that the fts5 database is not corrupt. -type Fts5Auxdata = Fts5Auxdata1 /* sqlite3.c:231613:28 */ +type Fts5Auxdata = Fts5Auxdata1 /* sqlite3.c:231670:28 */ type Fts5Auxiliary1 = struct { FpGlobal uintptr FzFunc uintptr @@ -186864,9 +186895,9 @@ type Fts5Auxiliary1 = struct { FxFunc Fts5_extension_function FxDestroy uintptr FpNext uintptr -} /* sqlite3.c:216813:9 */ +} /* sqlite3.c:216870:9 */ -type Fts5Auxiliary = Fts5Auxiliary1 /* sqlite3.c:231614:30 */ +type Fts5Auxiliary = Fts5Auxiliary1 /* sqlite3.c:231671:30 */ type Fts5Cursor1 = struct { Fbase Sqlite3_vtab_cursor FpNext uintptr @@ -186895,35 +186926,35 @@ type Fts5Cursor1 = struct { FnInstAlloc int32 FnInstCount int32 FaInst uintptr -} /* sqlite3.c:216813:9 */ +} /* sqlite3.c:216870:9 */ -type Fts5Cursor = Fts5Cursor1 /* sqlite3.c:231615:27 */ +type Fts5Cursor = Fts5Cursor1 /* sqlite3.c:231672:27 */ type Fts5FullTable1 = struct { Fp Fts5Table FpStorage uintptr FpGlobal uintptr FpSortCsr uintptr -} /* sqlite3.c:231616:9 */ +} /* sqlite3.c:231673:9 */ -type Fts5FullTable = Fts5FullTable1 /* sqlite3.c:231616:30 */ +type Fts5FullTable = Fts5FullTable1 /* sqlite3.c:231673:30 */ type Fts5Sorter1 = struct { FpStmt uintptr FiRowid I64 FaPoslist uintptr FnIdx int32 FaIdx [1]int32 -} /* sqlite3.c:216813:9 */ +} /* sqlite3.c:216870:9 */ -type Fts5Sorter = Fts5Sorter1 /* sqlite3.c:231617:27 */ +type Fts5Sorter = Fts5Sorter1 /* sqlite3.c:231674:27 */ type Fts5TokenizerModule1 = struct { FzName uintptr FpUserData uintptr Fx Fts5_tokenizer FxDestroy uintptr FpNext uintptr -} /* sqlite3.c:216813:9 */ +} /* sqlite3.c:216870:9 */ -type Fts5TokenizerModule = Fts5TokenizerModule1 /* sqlite3.c:231618:36 */ +type Fts5TokenizerModule = Fts5TokenizerModule1 /* sqlite3.c:231675:36 */ // NOTES ON TRANSACTIONS: // @@ -186957,21 +186988,21 @@ type Fts5TokenizerModule = Fts5TokenizerModule1 /* sqlite3.c:231618:36 */ type Fts5TransactionState = struct { FeState int32 FiSavepoint int32 -} /* sqlite3.c:231651:1 */ +} /* sqlite3.c:231708:1 */ type Fts5MatchPhrase = struct { FpPoslist uintptr FnTerm int32 F__ccgo_pad1 [4]byte -} /* sqlite3.c:231708:1 */ +} /* sqlite3.c:231765:1 */ // Return true if pTab is a contentless table. -func fts5IsContentless(tls *libc.TLS, pTab uintptr) int32 { /* sqlite3.c:231892:12: */ +func fts5IsContentless(tls *libc.TLS, pTab uintptr) int32 { /* sqlite3.c:231949:12: */ return libc.Bool32((*Fts5Config)(unsafe.Pointer((*Fts5FullTable)(unsafe.Pointer(pTab)).Fp.FpConfig)).FeContent == FTS5_CONTENT_NONE) } // Delete a virtual table handle allocated by fts5InitVtab(). -func fts5FreeVtab(tls *libc.TLS, pTab uintptr) { /* sqlite3.c:231899:13: */ +func fts5FreeVtab(tls *libc.TLS, pTab uintptr) { /* sqlite3.c:231956:13: */ if pTab != 0 { sqlite3Fts5IndexClose(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).Fp.FpIndex) sqlite3Fts5StorageClose(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).FpStorage) @@ -186981,13 +187012,13 @@ func fts5FreeVtab(tls *libc.TLS, pTab uintptr) { /* sqlite3.c:231899:13: */ } // The xDisconnect() virtual table method. -func fts5DisconnectMethod(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:231911:12: */ +func fts5DisconnectMethod(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:231968:12: */ fts5FreeVtab(tls, pVtab) return SQLITE_OK } // The xDestroy() virtual table method. -func fts5DestroyMethod(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:231919:12: */ +func fts5DestroyMethod(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:231976:12: */ var pTab uintptr = pVtab var rc int32 = sqlite3Fts5DropAll(tls, (*Fts5Table)(unsafe.Pointer(pTab)).FpConfig) if rc == SQLITE_OK { @@ -187005,7 +187036,7 @@ func fts5DestroyMethod(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:231919 // argv[1] -> database name // argv[2] -> table name // argv[...] -> "column name" and other module argument fields. -func fts5InitVtab(tls *libc.TLS, bCreate int32, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVTab uintptr, pzErr uintptr) int32 { /* sqlite3.c:231939:12: */ +func fts5InitVtab(tls *libc.TLS, bCreate int32, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVTab uintptr, pzErr uintptr) int32 { /* sqlite3.c:231996:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -187063,11 +187094,11 @@ func fts5InitVtab(tls *libc.TLS, bCreate int32, db uintptr, pAux uintptr, argc i // The xConnect() and xCreate() methods for the virtual table. All the // work is done in function fts5InitVtab(). -func fts5ConnectMethod(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 { /* sqlite3.c:232005:12: */ +func fts5ConnectMethod(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 { /* sqlite3.c:232062:12: */ return fts5InitVtab(tls, 0, db, pAux, argc, argv, ppVtab, pzErr) } -func fts5CreateMethod(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 { /* sqlite3.c:232015:12: */ +func fts5CreateMethod(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 { /* sqlite3.c:232072:12: */ return fts5InitVtab(tls, 1, db, pAux, argc, argv, ppVtab, pzErr) } @@ -187076,14 +187107,14 @@ func fts5CreateMethod(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv // Set the SQLITE_INDEX_SCAN_UNIQUE flag in pIdxInfo->flags. Unless this // extension is currently being used by a version of SQLite too old to // support index-info flags. In that case this function is a no-op. -func fts5SetUniqueFlag(tls *libc.TLS, pIdxInfo uintptr) { /* sqlite3.c:232041:13: */ +func fts5SetUniqueFlag(tls *libc.TLS, pIdxInfo uintptr) { /* sqlite3.c:232098:13: */ { *(*int32)(unsafe.Pointer(pIdxInfo + 80)) |= SQLITE_INDEX_SCAN_UNIQUE } } -func fts5UsePatternMatch(tls *libc.TLS, pConfig uintptr, p uintptr) int32 { /* sqlite3.c:232052:12: */ +func fts5UsePatternMatch(tls *libc.TLS, pConfig uintptr, p uintptr) int32 { /* sqlite3.c:232109:12: */ if (*Fts5Config)(unsafe.Pointer(pConfig)).FePattern == FTS5_PATTERN_GLOB && int32((*sqlite3_index_constraint)(unsafe.Pointer(p)).Fop) == FTS5_PATTERN_GLOB { return 1 @@ -187154,7 +187185,7 @@ func fts5UsePatternMatch(tls *libc.TLS, pConfig uintptr, p uintptr) int32 { /* s // * An == rowid constraint: cost=10.0 // // Costs are not modified by the ORDER BY clause. -func fts5BestIndexMethod(tls *libc.TLS, pVTab uintptr, pInfo uintptr) int32 { /* sqlite3.c:232130:12: */ +func fts5BestIndexMethod(tls *libc.TLS, pVTab uintptr, pInfo uintptr) int32 { /* sqlite3.c:232187:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -187316,7 +187347,7 @@ func fts5BestIndexMethod(tls *libc.TLS, pVTab uintptr, pInfo uintptr) int32 { /* return SQLITE_OK } -func fts5NewTransaction(tls *libc.TLS, pTab uintptr) int32 { /* sqlite3.c:232265:12: */ +func fts5NewTransaction(tls *libc.TLS, pTab uintptr) int32 { /* sqlite3.c:232322:12: */ var pCsr uintptr for pCsr = (*Fts5Global)(unsafe.Pointer((*Fts5FullTable)(unsafe.Pointer(pTab)).FpGlobal)).FpCsr; pCsr != 0; pCsr = (*Fts5Cursor)(unsafe.Pointer(pCsr)).FpNext { if (*Fts5Cursor)(unsafe.Pointer(pCsr)).Fbase.FpVtab == pTab { @@ -187327,7 +187358,7 @@ func fts5NewTransaction(tls *libc.TLS, pTab uintptr) int32 { /* sqlite3.c:232265 } // Implementation of xOpen method. -func fts5OpenMethod(tls *libc.TLS, pVTab uintptr, ppCsr uintptr) int32 { /* sqlite3.c:232276:12: */ +func fts5OpenMethod(tls *libc.TLS, pVTab uintptr, ppCsr uintptr) int32 { /* sqlite3.c:232333:12: */ var pTab uintptr = pVTab var pConfig uintptr = (*Fts5FullTable)(unsafe.Pointer(pTab)).Fp.FpConfig var pCsr uintptr = uintptr(0) // New cursor object @@ -187353,7 +187384,7 @@ func fts5OpenMethod(tls *libc.TLS, pVTab uintptr, ppCsr uintptr) int32 { /* sqli return rc } -func fts5StmtType(tls *libc.TLS, pCsr uintptr) int32 { /* sqlite3.c:232302:12: */ +func fts5StmtType(tls *libc.TLS, pCsr uintptr) int32 { /* sqlite3.c:232359:12: */ if (*Fts5Cursor)(unsafe.Pointer(pCsr)).FePlan == FTS5_PLAN_SCAN { if (*Fts5Cursor)(unsafe.Pointer(pCsr)).FbDesc != 0 { return FTS5_STMT_SCAN_DESC @@ -187366,11 +187397,11 @@ func fts5StmtType(tls *libc.TLS, pCsr uintptr) int32 { /* sqlite3.c:232302:12: * // This function is called after the cursor passed as the only argument // is moved to point at a different row. It clears all cached data // specific to the previous row stored by the cursor object. -func fts5CsrNewrow(tls *libc.TLS, pCsr uintptr) { /* sqlite3.c:232314:13: */ +func fts5CsrNewrow(tls *libc.TLS, pCsr uintptr) { /* sqlite3.c:232371:13: */ *(*int32)(unsafe.Pointer(pCsr + 80)) |= FTS5CSR_REQUIRE_CONTENT | FTS5CSR_REQUIRE_DOCSIZE | FTS5CSR_REQUIRE_INST | FTS5CSR_REQUIRE_POSLIST } -func fts5FreeCursorComponents(tls *libc.TLS, pCsr uintptr) { /* sqlite3.c:232323:13: */ +func fts5FreeCursorComponents(tls *libc.TLS, pCsr uintptr) { /* sqlite3.c:232380:13: */ var pTab uintptr = (*Fts5Cursor)(unsafe.Pointer(pCsr)).Fbase.FpVtab var pData uintptr var pNext uintptr @@ -187413,7 +187444,7 @@ func fts5FreeCursorComponents(tls *libc.TLS, pCsr uintptr) { /* sqlite3.c:232323 // Close the cursor. For additional information see the documentation // on the xClose method of the virtual table interface. -func fts5CloseMethod(tls *libc.TLS, pCursor uintptr) int32 { /* sqlite3.c:232367:12: */ +func fts5CloseMethod(tls *libc.TLS, pCursor uintptr) int32 { /* sqlite3.c:232424:12: */ if pCursor != 0 { var pTab uintptr = (*Sqlite3_vtab_cursor)(unsafe.Pointer(pCursor)).FpVtab var pCsr uintptr = pCursor @@ -187430,7 +187461,7 @@ func fts5CloseMethod(tls *libc.TLS, pCursor uintptr) int32 { /* sqlite3.c:232367 return SQLITE_OK } -func fts5SorterNext(tls *libc.TLS, pCsr uintptr) int32 { /* sqlite3.c:232383:12: */ +func fts5SorterNext(tls *libc.TLS, pCsr uintptr) int32 { /* sqlite3.c:232440:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -187474,7 +187505,7 @@ func fts5SorterNext(tls *libc.TLS, pCsr uintptr) int32 { /* sqlite3.c:232383:12: // Set the FTS5CSR_REQUIRE_RESEEK flag on all FTS5_PLAN_MATCH cursors // open on table pTab. -func fts5TripCursors(tls *libc.TLS, pTab uintptr) { /* sqlite3.c:232426:13: */ +func fts5TripCursors(tls *libc.TLS, pTab uintptr) { /* sqlite3.c:232483:13: */ var pCsr uintptr for pCsr = (*Fts5Global)(unsafe.Pointer((*Fts5FullTable)(unsafe.Pointer(pTab)).FpGlobal)).FpCsr; pCsr != 0; pCsr = (*Fts5Cursor)(unsafe.Pointer(pCsr)).FpNext { if (*Fts5Cursor)(unsafe.Pointer(pCsr)).FePlan == FTS5_PLAN_MATCH && @@ -187494,7 +187525,7 @@ func fts5TripCursors(tls *libc.TLS, pTab uintptr) { /* sqlite3.c:232426:13: */ // // Return SQLITE_OK if successful or if no reseek was required, or an // error code if an error occurred. -func fts5CursorReseek(tls *libc.TLS, pCsr uintptr, pbSkip uintptr) int32 { /* sqlite3.c:232449:12: */ +func fts5CursorReseek(tls *libc.TLS, pCsr uintptr, pbSkip uintptr) int32 { /* sqlite3.c:232506:12: */ var rc int32 = SQLITE_OK if (*Fts5Cursor)(unsafe.Pointer(pCsr)).Fcsrflags&FTS5CSR_REQUIRE_RESEEK != 0 { @@ -187523,7 +187554,7 @@ func fts5CursorReseek(tls *libc.TLS, pCsr uintptr, pbSkip uintptr) int32 { /* sq // Return SQLITE_OK if nothing goes wrong. SQLITE_OK is returned // even if we reach end-of-file. The fts5EofMethod() will be called // subsequently to determine whether or not an EOF was hit. -func fts5NextMethod(tls *libc.TLS, pCursor uintptr) int32 { /* sqlite3.c:232481:12: */ +func fts5NextMethod(tls *libc.TLS, pCursor uintptr) int32 { /* sqlite3.c:232538:12: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -187582,7 +187613,7 @@ func fts5NextMethod(tls *libc.TLS, pCursor uintptr) int32 { /* sqlite3.c:232481: return rc } -func fts5PrepareStatement(tls *libc.TLS, ppStmt uintptr, pConfig uintptr, zFmt uintptr, va uintptr) int32 { /* sqlite3.c:232534:12: */ +func fts5PrepareStatement(tls *libc.TLS, ppStmt uintptr, pConfig uintptr, zFmt uintptr, va uintptr) int32 { /* sqlite3.c:232591:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -187610,7 +187641,7 @@ func fts5PrepareStatement(tls *libc.TLS, ppStmt uintptr, pConfig uintptr, zFmt u return rc } -func fts5CursorFirstSorted(tls *libc.TLS, pTab uintptr, pCsr uintptr, bDesc int32) int32 { /* sqlite3.c:232563:12: */ +func fts5CursorFirstSorted(tls *libc.TLS, pTab uintptr, pCsr uintptr, bDesc int32) int32 { /* sqlite3.c:232620:12: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -187677,7 +187708,7 @@ func fts5CursorFirstSorted(tls *libc.TLS, pTab uintptr, pCsr uintptr, bDesc int3 return rc } -func fts5CursorFirst(tls *libc.TLS, pTab uintptr, pCsr uintptr, bDesc int32) int32 { /* sqlite3.c:232615:12: */ +func fts5CursorFirst(tls *libc.TLS, pTab uintptr, pCsr uintptr, bDesc int32) int32 { /* sqlite3.c:232672:12: */ var rc int32 var pExpr uintptr = (*Fts5Cursor)(unsafe.Pointer(pCsr)).FpExpr rc = sqlite3Fts5ExprFirst(tls, pExpr, (*Fts5FullTable)(unsafe.Pointer(pTab)).Fp.FpIndex, (*Fts5Cursor)(unsafe.Pointer(pCsr)).FiFirstRowid, bDesc) @@ -187692,7 +187723,7 @@ func fts5CursorFirst(tls *libc.TLS, pTab uintptr, pCsr uintptr, bDesc int32) int // MATCH expression that begins with a '*' character. The remainder of // the text passed to the MATCH operator are used as the special query // parameters. -func fts5SpecialMatch(tls *libc.TLS, pTab uintptr, pCsr uintptr, zQuery uintptr) int32 { /* sqlite3.c:232632:12: */ +func fts5SpecialMatch(tls *libc.TLS, pTab uintptr, pCsr uintptr, zQuery uintptr) int32 { /* sqlite3.c:232689:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -187724,7 +187755,7 @@ func fts5SpecialMatch(tls *libc.TLS, pTab uintptr, pCsr uintptr, zQuery uintptr) // Search for an auxiliary function named zName that can be used with table // pTab. If one is found, return a pointer to the corresponding Fts5Auxiliary // structure. Otherwise, if no such function exists, return NULL. -func fts5FindAuxiliary(tls *libc.TLS, pTab uintptr, zName uintptr) uintptr { /* sqlite3.c:232667:22: */ +func fts5FindAuxiliary(tls *libc.TLS, pTab uintptr, zName uintptr) uintptr { /* sqlite3.c:232724:22: */ var pAux uintptr for pAux = (*Fts5Global)(unsafe.Pointer((*Fts5FullTable)(unsafe.Pointer(pTab)).FpGlobal)).FpAux; pAux != 0; pAux = (*Fts5Auxiliary)(unsafe.Pointer(pAux)).FpNext { @@ -187737,7 +187768,7 @@ func fts5FindAuxiliary(tls *libc.TLS, pTab uintptr, zName uintptr) uintptr { /* return uintptr(0) } -func fts5FindRankFunction(tls *libc.TLS, pCsr uintptr) int32 { /* sqlite3.c:232679:12: */ +func fts5FindRankFunction(tls *libc.TLS, pCsr uintptr) int32 { /* sqlite3.c:232736:12: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -187790,7 +187821,7 @@ func fts5FindRankFunction(tls *libc.TLS, pCsr uintptr) int32 { /* sqlite3.c:2326 return *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) } -func fts5CursorParseRank(tls *libc.TLS, pConfig uintptr, pCsr uintptr, pRank uintptr) int32 { /* sqlite3.c:232730:12: */ +func fts5CursorParseRank(tls *libc.TLS, pConfig uintptr, pCsr uintptr, pRank uintptr) int32 { /* sqlite3.c:232787:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -187827,7 +187858,7 @@ func fts5CursorParseRank(tls *libc.TLS, pConfig uintptr, pCsr uintptr, pRank uin return rc } -func fts5GetRowidLimit(tls *libc.TLS, pVal uintptr, iDefault I64) I64 { /* sqlite3.c:232767:12: */ +func fts5GetRowidLimit(tls *libc.TLS, pVal uintptr, iDefault I64) I64 { /* sqlite3.c:232824:12: */ if pVal != 0 { var eType int32 = Xsqlite3_value_numeric_type(tls, pVal) if eType == SQLITE_INTEGER { @@ -187846,7 +187877,7 @@ func fts5GetRowidLimit(tls *libc.TLS, pVal uintptr, iDefault I64) I64 { /* sqlit // 1. Full-text search using a MATCH operator. // 2. A by-rowid lookup. // 3. A full-table scan. -func fts5FilterMethod(tls *libc.TLS, pCursor uintptr, idxNum int32, idxStr uintptr, nVal int32, apVal uintptr) int32 { /* sqlite3.c:232788:12: */ +func fts5FilterMethod(tls *libc.TLS, pCursor uintptr, idxNum int32, idxStr uintptr, nVal int32, apVal uintptr) int32 { /* sqlite3.c:232845:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -188167,7 +188198,7 @@ filter_out: // This is the xEof method of the virtual table. SQLite calls this // routine to find out if it has reached the end of a result set. -func fts5EofMethod(tls *libc.TLS, pCursor uintptr) int32 { /* sqlite3.c:232981:12: */ +func fts5EofMethod(tls *libc.TLS, pCursor uintptr) int32 { /* sqlite3.c:233038:12: */ var pCsr uintptr = pCursor return func() int32 { if (*Fts5Cursor)(unsafe.Pointer(pCsr)).Fcsrflags&FTS5CSR_EOF != 0 { @@ -188178,7 +188209,7 @@ func fts5EofMethod(tls *libc.TLS, pCursor uintptr) int32 { /* sqlite3.c:232981:1 } // Return the rowid that the cursor currently points to. -func fts5CursorRowid(tls *libc.TLS, pCsr uintptr) I64 { /* sqlite3.c:232989:12: */ +func fts5CursorRowid(tls *libc.TLS, pCsr uintptr) I64 { /* sqlite3.c:233046:12: */ if (*Fts5Cursor)(unsafe.Pointer(pCsr)).FpSorter != 0 { return (*Fts5Sorter)(unsafe.Pointer((*Fts5Cursor)(unsafe.Pointer(pCsr)).FpSorter)).FiRowid @@ -188192,7 +188223,7 @@ func fts5CursorRowid(tls *libc.TLS, pCsr uintptr) I64 { /* sqlite3.c:232989:12: // retrieve the rowid for the current row of the result set. fts5 // exposes %_content.rowid as the rowid for the virtual table. The // rowid should be written to *pRowid. -func fts5RowidMethod(tls *libc.TLS, pCursor uintptr, pRowid uintptr) int32 { /* sqlite3.c:233007:12: */ +func fts5RowidMethod(tls *libc.TLS, pCursor uintptr, pRowid uintptr) int32 { /* sqlite3.c:233064:12: */ var pCsr uintptr = pCursor var ePlan int32 = (*Fts5Cursor)(unsafe.Pointer(pCsr)).FePlan @@ -188222,7 +188253,7 @@ func fts5RowidMethod(tls *libc.TLS, pCursor uintptr, pRowid uintptr) int32 { /* // // If argument bErrormsg is true and an error occurs, an error message may // be left in sqlite3_vtab.zErrMsg. -func fts5SeekCursor(tls *libc.TLS, pCsr uintptr, bErrormsg int32) int32 { /* sqlite3.c:233038:12: */ +func fts5SeekCursor(tls *libc.TLS, pCsr uintptr, bErrormsg int32) int32 { /* sqlite3.c:233095:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -188266,7 +188297,7 @@ func fts5SeekCursor(tls *libc.TLS, pCsr uintptr, bErrormsg int32) int32 { /* sql return rc } -func fts5SetVtabError(tls *libc.TLS, p uintptr, zFormat uintptr, va uintptr) { /* sqlite3.c:233077:13: */ +func fts5SetVtabError(tls *libc.TLS, p uintptr, zFormat uintptr, va uintptr) { /* sqlite3.c:233134:13: */ var ap Va_list _ = ap // ... printf arguments ap = va @@ -188288,7 +188319,7 @@ func fts5SetVtabError(tls *libc.TLS, p uintptr, zFormat uintptr, va uintptr) { / // The commands implemented by this function are documented in the "Special // INSERT Directives" section of the documentation. It should be updated if // more commands are added to this function. -func fts5SpecialInsert(tls *libc.TLS, pTab uintptr, zCmd uintptr, pVal uintptr) int32 { /* sqlite3.c:233100:12: */ +func fts5SpecialInsert(tls *libc.TLS, pTab uintptr, zCmd uintptr, pVal uintptr) int32 { /* sqlite3.c:233157:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -188337,7 +188368,7 @@ func fts5SpecialInsert(tls *libc.TLS, pTab uintptr, zCmd uintptr, pVal uintptr) return rc } -func fts5SpecialDelete(tls *libc.TLS, pTab uintptr, apVal uintptr) int32 { /* sqlite3.c:233156:12: */ +func fts5SpecialDelete(tls *libc.TLS, pTab uintptr, apVal uintptr) int32 { /* sqlite3.c:233213:12: */ var rc int32 = SQLITE_OK var eType1 int32 = Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(apVal + 1*8))) if eType1 == SQLITE_INTEGER { @@ -188347,7 +188378,7 @@ func fts5SpecialDelete(tls *libc.TLS, pTab uintptr, apVal uintptr) int32 { /* sq return rc } -func fts5StorageInsert(tls *libc.TLS, pRc uintptr, pTab uintptr, apVal uintptr, piRowid uintptr) { /* sqlite3.c:233169:13: */ +func fts5StorageInsert(tls *libc.TLS, pRc uintptr, pTab uintptr, apVal uintptr, piRowid uintptr) { /* sqlite3.c:233226:13: */ var rc int32 = *(*int32)(unsafe.Pointer(pRc)) if rc == SQLITE_OK { rc = sqlite3Fts5StorageContentInsert(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).FpStorage, apVal, piRowid) @@ -188370,7 +188401,7 @@ func fts5StorageInsert(tls *libc.TLS, pRc uintptr, pTab uintptr, apVal uintptr, // 2. The "new" rowid. // 3. Values for each of the nCol matchable columns. // 4. Values for the two hidden columns ( and "rank"). -func fts5UpdateMethod(tls *libc.TLS, pVtab uintptr, nArg int32, apVal uintptr, pRowid uintptr) int32 { /* sqlite3.c:233199:12: */ +func fts5UpdateMethod(tls *libc.TLS, pVtab uintptr, nArg int32, apVal uintptr, pRowid uintptr) int32 { /* sqlite3.c:233256:12: */ bp := tls.Alloc(20) defer tls.Free(20) @@ -188472,7 +188503,7 @@ func fts5UpdateMethod(tls *libc.TLS, pVtab uintptr, nArg int32, apVal uintptr, p } // Implementation of xSync() method. -func fts5SyncMethod(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:233325:12: */ +func fts5SyncMethod(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:233382:12: */ var rc int32 var pTab uintptr = pVtab @@ -188484,7 +188515,7 @@ func fts5SyncMethod(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:233325:12 } // Implementation of xBegin() method. -func fts5BeginMethod(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:233339:12: */ +func fts5BeginMethod(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:233396:12: */ fts5NewTransaction(tls, pVtab) return SQLITE_OK @@ -188493,7 +188524,7 @@ func fts5BeginMethod(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:233339:1 // Implementation of xCommit() method. This is a no-op. The contents of // the pending-terms hash-table have already been flushed into the database // by fts5SyncMethod(). -func fts5CommitMethod(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:233350:12: */ +func fts5CommitMethod(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:233407:12: */ _ = pVtab // Call below is a no-op for NDEBUG builds return SQLITE_OK @@ -188501,7 +188532,7 @@ func fts5CommitMethod(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:233350: // Implementation of xRollback(). Discard the contents of the pending-terms // hash-table. Any changes made to the database are reverted by SQLite. -func fts5RollbackMethod(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:233360:12: */ +func fts5RollbackMethod(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:233417:12: */ var rc int32 var pTab uintptr = pVtab @@ -188509,46 +188540,46 @@ func fts5RollbackMethod(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:23336 return rc } -func fts5ApiUserData(tls *libc.TLS, pCtx uintptr) uintptr { /* sqlite3.c:233370:13: */ +func fts5ApiUserData(tls *libc.TLS, pCtx uintptr) uintptr { /* sqlite3.c:233427:13: */ var pCsr uintptr = pCtx return (*Fts5Auxiliary)(unsafe.Pointer((*Fts5Cursor)(unsafe.Pointer(pCsr)).FpAux)).FpUserData } -func fts5ApiColumnCount(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:233375:12: */ +func fts5ApiColumnCount(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:233432:12: */ var pCsr uintptr = pCtx return (*Fts5Config)(unsafe.Pointer((*Fts5Table)(unsafe.Pointer((*Fts5Cursor)(unsafe.Pointer(pCsr)).Fbase.FpVtab)).FpConfig)).FnCol } -func fts5ApiColumnTotalSize(tls *libc.TLS, pCtx uintptr, iCol int32, pnToken uintptr) int32 { /* sqlite3.c:233380:12: */ +func fts5ApiColumnTotalSize(tls *libc.TLS, pCtx uintptr, iCol int32, pnToken uintptr) int32 { /* sqlite3.c:233437:12: */ var pCsr uintptr = pCtx var pTab uintptr = (*Fts5Cursor)(unsafe.Pointer(pCsr)).Fbase.FpVtab return sqlite3Fts5StorageSize(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).FpStorage, iCol, pnToken) } -func fts5ApiRowCount(tls *libc.TLS, pCtx uintptr, pnRow uintptr) int32 { /* sqlite3.c:233390:12: */ +func fts5ApiRowCount(tls *libc.TLS, pCtx uintptr, pnRow uintptr) int32 { /* sqlite3.c:233447:12: */ var pCsr uintptr = pCtx var pTab uintptr = (*Fts5Cursor)(unsafe.Pointer(pCsr)).Fbase.FpVtab return sqlite3Fts5StorageRowCount(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).FpStorage, pnRow) } -func fts5ApiTokenize(tls *libc.TLS, pCtx uintptr, pText uintptr, nText int32, pUserData uintptr, xToken uintptr) int32 { /* sqlite3.c:233396:12: */ +func fts5ApiTokenize(tls *libc.TLS, pCtx uintptr, pText uintptr, nText int32, pUserData uintptr, xToken uintptr) int32 { /* sqlite3.c:233453:12: */ var pCsr uintptr = pCtx var pTab uintptr = (*Fts5Cursor)(unsafe.Pointer(pCsr)).Fbase.FpVtab return sqlite3Fts5Tokenize(tls, (*Fts5Table)(unsafe.Pointer(pTab)).FpConfig, FTS5_TOKENIZE_AUX, pText, nText, pUserData, xToken) } -func fts5ApiPhraseCount(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:233409:12: */ +func fts5ApiPhraseCount(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:233466:12: */ var pCsr uintptr = pCtx return sqlite3Fts5ExprPhraseCount(tls, (*Fts5Cursor)(unsafe.Pointer(pCsr)).FpExpr) } -func fts5ApiPhraseSize(tls *libc.TLS, pCtx uintptr, iPhrase int32) int32 { /* sqlite3.c:233414:12: */ +func fts5ApiPhraseSize(tls *libc.TLS, pCtx uintptr, iPhrase int32) int32 { /* sqlite3.c:233471:12: */ var pCsr uintptr = pCtx return sqlite3Fts5ExprPhraseSize(tls, (*Fts5Cursor)(unsafe.Pointer(pCsr)).FpExpr, iPhrase) } -func fts5ApiColumnText(tls *libc.TLS, pCtx uintptr, iCol int32, pz uintptr, pn uintptr) int32 { /* sqlite3.c:233419:12: */ +func fts5ApiColumnText(tls *libc.TLS, pCtx uintptr, iCol int32, pz uintptr, pn uintptr) int32 { /* sqlite3.c:233476:12: */ var rc int32 = SQLITE_OK var pCsr uintptr = pCtx if fts5IsContentless(tls, (*Fts5Cursor)(unsafe.Pointer(pCsr)).Fbase.FpVtab) != 0 || @@ -188565,7 +188596,7 @@ func fts5ApiColumnText(tls *libc.TLS, pCtx uintptr, iCol int32, pz uintptr, pn u return rc } -func fts5CsrPoslist(tls *libc.TLS, pCsr uintptr, iPhrase int32, pa uintptr, pn uintptr) int32 { /* sqlite3.c:233442:12: */ +func fts5CsrPoslist(tls *libc.TLS, pCsr uintptr, iPhrase int32, pa uintptr, pn uintptr) int32 { /* sqlite3.c:233499:12: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -188622,7 +188653,7 @@ func fts5CsrPoslist(tls *libc.TLS, pCsr uintptr, iPhrase int32, pa uintptr, pn u // Ensure that the Fts5Cursor.nInstCount and aInst[] variables are populated // correctly for the current view. Return SQLITE_OK if successful, or an // SQLite error code otherwise. -func fts5CacheInstArray(tls *libc.TLS, pCsr uintptr) int32 { /* sqlite3.c:233494:12: */ +func fts5CacheInstArray(tls *libc.TLS, pCsr uintptr) int32 { /* sqlite3.c:233551:12: */ bp := tls.Alloc(20) defer tls.Free(20) @@ -188706,7 +188737,7 @@ func fts5CacheInstArray(tls *libc.TLS, pCsr uintptr) int32 { /* sqlite3.c:233494 return *(*int32)(unsafe.Pointer(bp /* rc */)) } -func fts5ApiInstCount(tls *libc.TLS, pCtx uintptr, pnInst uintptr) int32 { /* sqlite3.c:233568:12: */ +func fts5ApiInstCount(tls *libc.TLS, pCtx uintptr, pnInst uintptr) int32 { /* sqlite3.c:233625:12: */ var pCsr uintptr = pCtx var rc int32 = SQLITE_OK if (*Fts5Cursor)(unsafe.Pointer(pCsr)).Fcsrflags&FTS5CSR_REQUIRE_INST == 0 || @@ -188716,7 +188747,7 @@ func fts5ApiInstCount(tls *libc.TLS, pCtx uintptr, pnInst uintptr) int32 { /* sq return rc } -func fts5ApiInst(tls *libc.TLS, pCtx uintptr, iIdx int32, piPhrase uintptr, piCol uintptr, piOff uintptr) int32 { /* sqlite3.c:233578:12: */ +func fts5ApiInst(tls *libc.TLS, pCtx uintptr, iIdx int32, piPhrase uintptr, piCol uintptr, piOff uintptr) int32 { /* sqlite3.c:233635:12: */ var pCsr uintptr = pCtx var rc int32 = SQLITE_OK if (*Fts5Cursor)(unsafe.Pointer(pCsr)).Fcsrflags&FTS5CSR_REQUIRE_INST == 0 || @@ -188732,11 +188763,11 @@ func fts5ApiInst(tls *libc.TLS, pCtx uintptr, iIdx int32, piPhrase uintptr, piCo return rc } -func fts5ApiRowid(tls *libc.TLS, pCtx uintptr) Sqlite3_int64 { /* sqlite3.c:233607:22: */ +func fts5ApiRowid(tls *libc.TLS, pCtx uintptr) Sqlite3_int64 { /* sqlite3.c:233664:22: */ return fts5CursorRowid(tls, pCtx) } -func fts5ColumnSizeCb(tls *libc.TLS, pContext uintptr, tflags int32, pUnused uintptr, nUnused int32, iUnused1 int32, iUnused2 int32) int32 { /* sqlite3.c:233611:12: */ +func fts5ColumnSizeCb(tls *libc.TLS, pContext uintptr, tflags int32, pUnused uintptr, nUnused int32, iUnused1 int32, iUnused2 int32) int32 { /* sqlite3.c:233668:12: */ var pCnt uintptr = pContext _ = pUnused _ = nUnused @@ -188748,7 +188779,7 @@ func fts5ColumnSizeCb(tls *libc.TLS, pContext uintptr, tflags int32, pUnused uin return SQLITE_OK } -func fts5ApiColumnSize(tls *libc.TLS, pCtx uintptr, iCol int32, pnToken uintptr) int32 { /* sqlite3.c:233628:12: */ +func fts5ApiColumnSize(tls *libc.TLS, pCtx uintptr, iCol int32, pnToken uintptr) int32 { /* sqlite3.c:233685:12: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -188806,7 +188837,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) int32 { /* sqlite3.c:233681:12: */ +func fts5ApiSetAuxdata(tls *libc.TLS, pCtx uintptr, pPtr uintptr, xDelete uintptr) int32 { /* sqlite3.c:233738:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -188844,7 +188875,7 @@ func fts5ApiSetAuxdata(tls *libc.TLS, pCtx uintptr, pPtr uintptr, xDelete uintpt return SQLITE_OK } -func fts5ApiGetAuxdata(tls *libc.TLS, pCtx uintptr, bClear int32) uintptr { /* sqlite3.c:233716:13: */ +func fts5ApiGetAuxdata(tls *libc.TLS, pCtx uintptr, bClear int32) uintptr { /* sqlite3.c:233773:13: */ var pCsr uintptr = pCtx var pData uintptr var pRet uintptr = uintptr(0) @@ -188866,7 +188897,7 @@ func fts5ApiGetAuxdata(tls *libc.TLS, pCtx uintptr, bClear int32) uintptr { /* s return pRet } -func fts5ApiPhraseNext(tls *libc.TLS, pUnused uintptr, pIter uintptr, piCol uintptr, piOff uintptr) { /* sqlite3.c:233736:13: */ +func fts5ApiPhraseNext(tls *libc.TLS, pUnused uintptr, pIter uintptr, piCol uintptr, piOff uintptr) { /* sqlite3.c:233793:13: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -188888,7 +188919,7 @@ func fts5ApiPhraseNext(tls *libc.TLS, pUnused uintptr, pIter uintptr, piCol uint } } -func fts5ApiPhraseFirst(tls *libc.TLS, pCtx uintptr, iPhrase int32, pIter uintptr, piCol uintptr, piOff uintptr) int32 { /* sqlite3.c:233758:12: */ +func fts5ApiPhraseFirst(tls *libc.TLS, pCtx uintptr, iPhrase int32, pIter uintptr, piCol uintptr, piOff uintptr) int32 { /* sqlite3.c:233815:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -188911,7 +188942,7 @@ func fts5ApiPhraseFirst(tls *libc.TLS, pCtx uintptr, iPhrase int32, pIter uintpt return rc } -func fts5ApiPhraseNextColumn(tls *libc.TLS, pCtx uintptr, pIter uintptr, piCol uintptr) { /* sqlite3.c:233777:13: */ +func fts5ApiPhraseNextColumn(tls *libc.TLS, pCtx uintptr, pIter uintptr, piCol uintptr) { /* sqlite3.c:233834:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -188944,7 +188975,7 @@ func fts5ApiPhraseNextColumn(tls *libc.TLS, pCtx uintptr, pIter uintptr, piCol u } } -func fts5ApiPhraseFirstColumn(tls *libc.TLS, pCtx uintptr, iPhrase int32, pIter uintptr, piCol uintptr) int32 { /* sqlite3.c:233807:12: */ +func fts5ApiPhraseFirstColumn(tls *libc.TLS, pCtx uintptr, iPhrase int32, pIter uintptr, piCol uintptr) int32 { /* sqlite3.c:233864:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -189025,10 +189056,10 @@ var sFts5Api = Fts5ExtensionApi{ FxPhraseNext: 0, FxPhraseFirstColumn: 0, FxPhraseNextColumn: 0, -} /* sqlite3.c:233857:31 */ +} /* sqlite3.c:233914:31 */ // Implementation of API function xQueryPhrase(). -func fts5ApiQueryPhrase(tls *libc.TLS, pCtx uintptr, iPhrase int32, pUserData uintptr, xCallback uintptr) int32 { /* sqlite3.c:233883:12: */ +func fts5ApiQueryPhrase(tls *libc.TLS, pCtx uintptr, iPhrase int32, pUserData uintptr, xCallback uintptr) int32 { /* sqlite3.c:233940:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -189064,7 +189095,7 @@ func fts5ApiQueryPhrase(tls *libc.TLS, pCtx uintptr, iPhrase int32, pUserData ui return rc } -func fts5ApiInvoke(tls *libc.TLS, pAux uintptr, pCsr uintptr, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:233920:13: */ +func fts5ApiInvoke(tls *libc.TLS, pAux uintptr, pCsr uintptr, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:233977:13: */ (*Fts5Cursor)(unsafe.Pointer(pCsr)).FpAux = pAux (*struct { @@ -189073,7 +189104,7 @@ func fts5ApiInvoke(tls *libc.TLS, pAux uintptr, pCsr uintptr, context uintptr, a (*Fts5Cursor)(unsafe.Pointer(pCsr)).FpAux = uintptr(0) } -func fts5CursorFromCsrid(tls *libc.TLS, pGlobal uintptr, iCsrId I64) uintptr { /* sqlite3.c:233933:19: */ +func fts5CursorFromCsrid(tls *libc.TLS, pGlobal uintptr, iCsrId I64) uintptr { /* sqlite3.c:233990:19: */ var pCsr uintptr for pCsr = (*Fts5Global)(unsafe.Pointer(pGlobal)).FpCsr; pCsr != 0; pCsr = (*Fts5Cursor)(unsafe.Pointer(pCsr)).FpNext { if (*Fts5Cursor)(unsafe.Pointer(pCsr)).FiCsrId == iCsrId { @@ -189083,7 +189114,7 @@ func fts5CursorFromCsrid(tls *libc.TLS, pGlobal uintptr, iCsrId I64) uintptr { / return pCsr } -func fts5ApiCallback(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:233941:13: */ +func fts5ApiCallback(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:233998:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -189106,7 +189137,7 @@ func fts5ApiCallback(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { // Given cursor id iId, return a pointer to the corresponding Fts5Table // object. Or NULL If the cursor id does not exist. -func sqlite3Fts5TableFromCsrid(tls *libc.TLS, pGlobal uintptr, iCsrId I64) uintptr { /* sqlite3.c:233970:18: */ +func sqlite3Fts5TableFromCsrid(tls *libc.TLS, pGlobal uintptr, iCsrId I64) uintptr { /* sqlite3.c:234027:18: */ var pCsr uintptr pCsr = fts5CursorFromCsrid(tls, pGlobal, iCsrId) if pCsr != 0 { @@ -189128,7 +189159,7 @@ func sqlite3Fts5TableFromCsrid(tls *libc.TLS, pGlobal uintptr, iCsrId I64) uintp // for phrase 0. The second (same disclaimer) contains the size of position // list 1. And so on. There is no size field for the final position list, // as it can be derived from the total size of the blob. -func fts5PoslistBlob(tls *libc.TLS, pCtx uintptr, pCsr uintptr) int32 { /* sqlite3.c:233997:12: */ +func fts5PoslistBlob(tls *libc.TLS, pCtx uintptr, pCsr uintptr) int32 { /* sqlite3.c:234054:12: */ bp := tls.Alloc(68) defer tls.Free(68) @@ -189192,7 +189223,7 @@ func fts5PoslistBlob(tls *libc.TLS, pCtx uintptr, pCsr uintptr) int32 { /* sqlit // This is the xColumn method, called by SQLite to request a value from // the row that the supplied cursor currently points to. -func fts5ColumnMethod(tls *libc.TLS, pCursor uintptr, pCtx uintptr, iCol int32) int32 { /* sqlite3.c:234054:12: */ +func fts5ColumnMethod(tls *libc.TLS, pCursor uintptr, pCtx uintptr, iCol int32) int32 { /* sqlite3.c:234111:12: */ var pTab uintptr = (*Sqlite3_vtab_cursor)(unsafe.Pointer(pCursor)).FpVtab var pConfig uintptr = (*Fts5FullTable)(unsafe.Pointer(pTab)).Fp.FpConfig var pCsr uintptr = pCursor @@ -189232,7 +189263,7 @@ 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) int32 { /* sqlite3.c:234107:12: */ +func fts5FindFunctionMethod(tls *libc.TLS, pVtab uintptr, nUnused int32, zName uintptr, pxFunc uintptr, ppArg uintptr) int32 { /* sqlite3.c:234164:12: */ var pTab uintptr = pVtab var pAux uintptr @@ -189251,12 +189282,12 @@ func fts5FindFunctionMethod(tls *libc.TLS, pVtab uintptr, nUnused int32, zName u } // Implementation of FTS5 xRename method. Rename an fts5 table. -func fts5RenameMethod(tls *libc.TLS, pVtab uintptr, zName uintptr) int32 { /* sqlite3.c:234132:12: */ +func fts5RenameMethod(tls *libc.TLS, pVtab uintptr, zName uintptr) int32 { /* sqlite3.c:234189:12: */ var pTab uintptr = pVtab return sqlite3Fts5StorageRename(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).FpStorage, zName) } -func sqlite3Fts5FlushToDisk(tls *libc.TLS, pTab uintptr) int32 { /* sqlite3.c:234140:12: */ +func sqlite3Fts5FlushToDisk(tls *libc.TLS, pTab uintptr) int32 { /* sqlite3.c:234197:12: */ fts5TripCursors(tls, pTab) return sqlite3Fts5StorageSync(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).FpStorage) } @@ -189264,7 +189295,7 @@ func sqlite3Fts5FlushToDisk(tls *libc.TLS, pTab uintptr) int32 { /* sqlite3.c:23 // The xSavepoint() method. // // Flush the contents of the pending-terms table to disk. -func fts5SavepointMethod(tls *libc.TLS, pVtab uintptr, iSavepoint int32) int32 { /* sqlite3.c:234150:12: */ +func fts5SavepointMethod(tls *libc.TLS, pVtab uintptr, iSavepoint int32) int32 { /* sqlite3.c:234207:12: */ _ = iSavepoint // Call below is a no-op for NDEBUG builds return sqlite3Fts5FlushToDisk(tls, pVtab) @@ -189273,7 +189304,7 @@ func fts5SavepointMethod(tls *libc.TLS, pVtab uintptr, iSavepoint int32) int32 { // The xRelease() method. // // This is a no-op. -func fts5ReleaseMethod(tls *libc.TLS, pVtab uintptr, iSavepoint int32) int32 { /* sqlite3.c:234161:12: */ +func fts5ReleaseMethod(tls *libc.TLS, pVtab uintptr, iSavepoint int32) int32 { /* sqlite3.c:234218:12: */ _ = iSavepoint // Call below is a no-op for NDEBUG builds return sqlite3Fts5FlushToDisk(tls, pVtab) @@ -189282,7 +189313,7 @@ func fts5ReleaseMethod(tls *libc.TLS, pVtab uintptr, iSavepoint int32) int32 { / // The xRollbackTo() method. // // Discard the contents of the pending terms table. -func fts5RollbackToMethod(tls *libc.TLS, pVtab uintptr, iSavepoint int32) int32 { /* sqlite3.c:234172:12: */ +func fts5RollbackToMethod(tls *libc.TLS, pVtab uintptr, iSavepoint int32) int32 { /* sqlite3.c:234229:12: */ var pTab uintptr = pVtab _ = iSavepoint // Call below is a no-op for NDEBUG builds @@ -189291,7 +189322,7 @@ func fts5RollbackToMethod(tls *libc.TLS, pVtab uintptr, iSavepoint int32) int32 } // Register a new auxiliary function with global context pGlobal. -func fts5CreateAux(tls *libc.TLS, pApi uintptr, zName uintptr, pUserData uintptr, xFunc Fts5_extension_function, xDestroy uintptr) int32 { /* sqlite3.c:234183:12: */ +func fts5CreateAux(tls *libc.TLS, pApi uintptr, zName uintptr, pUserData uintptr, xFunc Fts5_extension_function, xDestroy uintptr) int32 { /* sqlite3.c:234240:12: */ var pGlobal uintptr = pApi var rc int32 = Xsqlite3_overload_function(tls, (*Fts5Global)(unsafe.Pointer(pGlobal)).Fdb, zName, -1) if rc == SQLITE_OK { @@ -189322,7 +189353,7 @@ func fts5CreateAux(tls *libc.TLS, pApi uintptr, zName uintptr, pUserData uintptr // Register a new tokenizer. This is the implementation of the // fts5_api.xCreateTokenizer() method. -func fts5CreateTokenizer(tls *libc.TLS, pApi uintptr, zName uintptr, pUserData uintptr, pTokenizer uintptr, xDestroy uintptr) int32 { /* sqlite3.c:234222:12: */ +func fts5CreateTokenizer(tls *libc.TLS, pApi uintptr, zName uintptr, pUserData uintptr, pTokenizer uintptr, xDestroy uintptr) int32 { /* sqlite3.c:234279:12: */ var pGlobal uintptr = pApi var pNew uintptr var nName Sqlite3_int64 // Size of zName and its \0 terminator @@ -189351,7 +189382,7 @@ func fts5CreateTokenizer(tls *libc.TLS, pApi uintptr, zName uintptr, pUserData u return rc } -func fts5LocateTokenizer(tls *libc.TLS, pGlobal uintptr, zName uintptr) uintptr { /* sqlite3.c:234257:28: */ +func fts5LocateTokenizer(tls *libc.TLS, pGlobal uintptr, zName uintptr) uintptr { /* sqlite3.c:234314:28: */ var pMod uintptr = uintptr(0) if zName == uintptr(0) { @@ -189369,7 +189400,7 @@ func fts5LocateTokenizer(tls *libc.TLS, pGlobal uintptr, zName uintptr) uintptr // Find a tokenizer. This is the implementation of the // fts5_api.xFindTokenizer() method. -func fts5FindTokenizer(tls *libc.TLS, pApi uintptr, zName uintptr, ppUserData uintptr, pTokenizer uintptr) int32 { /* sqlite3.c:234278:12: */ +func fts5FindTokenizer(tls *libc.TLS, pApi uintptr, zName uintptr, ppUserData uintptr, pTokenizer uintptr) int32 { /* sqlite3.c:234335:12: */ var rc int32 = SQLITE_OK var pMod uintptr @@ -189385,7 +189416,7 @@ func fts5FindTokenizer(tls *libc.TLS, pApi uintptr, zName uintptr, ppUserData ui return rc } -func sqlite3Fts5GetTokenizer(tls *libc.TLS, pGlobal uintptr, azArg uintptr, nArg int32, pConfig uintptr, pzErr uintptr) int32 { /* sqlite3.c:234299:12: */ +func sqlite3Fts5GetTokenizer(tls *libc.TLS, pGlobal uintptr, azArg uintptr, nArg int32, pConfig uintptr, pzErr uintptr) int32 { /* sqlite3.c:234356:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -189436,7 +189467,7 @@ func sqlite3Fts5GetTokenizer(tls *libc.TLS, pGlobal uintptr, azArg uintptr, nArg return rc } -func fts5ModuleDestroy(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:234336:13: */ +func fts5ModuleDestroy(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:234393:13: */ var pTok uintptr var pNextTok uintptr var pAux uintptr @@ -189462,7 +189493,7 @@ func fts5ModuleDestroy(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:234336:13: */ Xsqlite3_free(tls, pGlobal) } -func fts5Fts5Func(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:234356:13: */ +func fts5Fts5Func(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:234413:13: */ var pGlobal uintptr = Xsqlite3_user_data(tls, pCtx) var ppApi uintptr _ = nArg @@ -189474,7 +189505,7 @@ func fts5Fts5Func(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* s } // Implementation of fts5_source_id() function. -func fts5SourceIdFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apUnused uintptr) { /* sqlite3.c:234372:13: */ +func fts5SourceIdFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apUnused uintptr) { /* sqlite3.c:234429:13: */ _ = nArg _ = apUnused @@ -189483,7 +189514,7 @@ func fts5SourceIdFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apUnused uintptr) // Return true if zName is the extension on one of the shadow tables used // by this module. -func fts5ShadowName(tls *libc.TLS, zName uintptr) int32 { /* sqlite3.c:234386:12: */ +func fts5ShadowName(tls *libc.TLS, zName uintptr) int32 { /* sqlite3.c:234443:12: */ var i uint32 for i = uint32(0); uint64(i) < uint64(unsafe.Sizeof(azName2))/uint64(unsafe.Sizeof(uintptr(0))); i++ { if Xsqlite3_stricmp(tls, zName, azName2[i]) == 0 { @@ -189495,9 +189526,9 @@ func fts5ShadowName(tls *libc.TLS, zName uintptr) int32 { /* sqlite3.c:234386:12 var azName2 = [5]uintptr{ ts + 35772, ts + 33871, ts + 24871, ts + 34222, ts + 11366, -} /* sqlite3.c:234387:21 */ +} /* sqlite3.c:234444:21 */ -func fts5Init(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:234397:12: */ +func fts5Init(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:234454:12: */ var rc int32 var pGlobal uintptr = uintptr(0) @@ -189580,7 +189611,7 @@ var fts5Mod = Sqlite3_module{ /* xRelease */ FxRelease: 0, /* xRollbackTo */ FxRollbackTo: 0, /* xShadowName */ FxShadowName: 0, -} /* sqlite3.c:234398:31 */ +} /* sqlite3.c:234455:31 */ // The following functions are used to register the module with SQLite. If // this module is being built as part of the SQLite core (SQLITE_CORE is @@ -189589,7 +189620,7 @@ var fts5Mod = Sqlite3_module{ // Or, if this module is being built as a loadable extension, // sqlite3Fts5Init() is omitted and the two standard entry points // sqlite3_fts_init() and sqlite3_fts5_init() defined instead. -func Xsqlite3Fts5Init(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:234506:20: */ +func Xsqlite3Fts5Init(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:234563:20: */ return fts5Init(tls, db) } @@ -189597,7 +189628,7 @@ func Xsqlite3Fts5Init(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:234506:20: // Fts5Storage.pInsertDocsize - if they have not already been prepared. // Return SQLITE_OK if successful, or an SQLite error code if an error // occurs. -func fts5StorageGetStmt(tls *libc.TLS, p uintptr, eStmt int32, ppStmt uintptr, pzErrMsg uintptr) int32 { /* sqlite3.c:234564:12: */ +func fts5StorageGetStmt(tls *libc.TLS, p uintptr, eStmt int32, ppStmt uintptr, pzErrMsg uintptr) int32 { /* sqlite3.c:234621:12: */ bp := tls.Alloc(216) defer tls.Free(216) @@ -189698,7 +189729,7 @@ func fts5StorageGetStmt(tls *libc.TLS, p uintptr, eStmt int32, ppStmt uintptr, p return rc } -func fts5ExecPrintf(tls *libc.TLS, db uintptr, pzErr uintptr, zFormat uintptr, va uintptr) int32 { /* sqlite3.c:234667:12: */ +func fts5ExecPrintf(tls *libc.TLS, db uintptr, pzErr uintptr, zFormat uintptr, va uintptr) int32 { /* sqlite3.c:234724:12: */ var rc int32 var ap Va_list _ = ap // ... printf arguments @@ -189720,7 +189751,7 @@ func fts5ExecPrintf(tls *libc.TLS, db uintptr, pzErr uintptr, zFormat uintptr, v // Drop all shadow tables. Return SQLITE_OK if successful or an SQLite error // code otherwise. -func sqlite3Fts5DropAll(tls *libc.TLS, pConfig uintptr) int32 { /* sqlite3.c:234695:12: */ +func sqlite3Fts5DropAll(tls *libc.TLS, pConfig uintptr) int32 { /* sqlite3.c:234752:12: */ bp := tls.Alloc(80) defer tls.Free(80) @@ -189743,7 +189774,7 @@ func sqlite3Fts5DropAll(tls *libc.TLS, pConfig uintptr) int32 { /* sqlite3.c:234 return rc } -func fts5StorageRenameOne(tls *libc.TLS, pConfig uintptr, pRc uintptr, zTail uintptr, zName uintptr) { /* sqlite3.c:234719:13: */ +func fts5StorageRenameOne(tls *libc.TLS, pConfig uintptr, pRc uintptr, zTail uintptr, zName uintptr) { /* sqlite3.c:234776:13: */ bp := tls.Alloc(40) defer tls.Free(40) @@ -189754,7 +189785,7 @@ func fts5StorageRenameOne(tls *libc.TLS, pConfig uintptr, pRc uintptr, zTail uin } } -func sqlite3Fts5StorageRename(tls *libc.TLS, pStorage uintptr, zName uintptr) int32 { /* sqlite3.c:234733:12: */ +func sqlite3Fts5StorageRename(tls *libc.TLS, pStorage uintptr, zName uintptr) int32 { /* sqlite3.c:234790:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -189775,7 +189806,7 @@ func sqlite3Fts5StorageRename(tls *libc.TLS, pStorage uintptr, zName uintptr) in // Create the shadow table named zPost, with definition zDefn. Return // SQLITE_OK if successful, or an SQLite error code otherwise. -func sqlite3Fts5CreateTable(tls *libc.TLS, pConfig uintptr, zPost uintptr, zDefn uintptr, bWithout int32, pzErr uintptr) int32 { /* sqlite3.c:234753:12: */ +func sqlite3Fts5CreateTable(tls *libc.TLS, pConfig uintptr, zPost uintptr, zDefn uintptr, bWithout int32, pzErr uintptr) int32 { /* sqlite3.c:234810:12: */ bp := tls.Alloc(72) defer tls.Free(72) @@ -189805,7 +189836,7 @@ func sqlite3Fts5CreateTable(tls *libc.TLS, pConfig uintptr, zPost uintptr, zDefn // // If successful, set *pp to point to the new object and return SQLITE_OK. // Otherwise, set *pp to NULL and return an SQLite error code. -func sqlite3Fts5StorageOpen(tls *libc.TLS, pConfig uintptr, pIndex uintptr, bCreate int32, pp uintptr, pzErr uintptr) int32 { /* sqlite3.c:234788:12: */ +func sqlite3Fts5StorageOpen(tls *libc.TLS, pConfig uintptr, pIndex uintptr, bCreate int32, pp uintptr, pzErr uintptr) int32 { /* sqlite3.c:234845:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -189866,7 +189897,7 @@ func sqlite3Fts5StorageOpen(tls *libc.TLS, pConfig uintptr, pIndex uintptr, bCre } // Close a handle opened by an earlier call to sqlite3Fts5StorageOpen(). -func sqlite3Fts5StorageClose(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:234854:12: */ +func sqlite3Fts5StorageClose(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:234911:12: */ var rc int32 = SQLITE_OK if p != 0 { var i int32 @@ -189885,12 +189916,12 @@ type Fts5InsertCtx1 = struct { FpStorage uintptr FiCol int32 FszCol int32 -} /* sqlite3.c:234869:9 */ +} /* sqlite3.c:234926:9 */ -type Fts5InsertCtx = Fts5InsertCtx1 /* sqlite3.c:234869:30 */ +type Fts5InsertCtx = Fts5InsertCtx1 /* sqlite3.c:234926:30 */ // Tokenization callback used when inserting tokens into the FTS index. -func fts5StorageInsertCallback(tls *libc.TLS, pContext uintptr, tflags int32, pToken uintptr, nToken int32, iUnused1 int32, iUnused2 int32) int32 { /* sqlite3.c:234879:12: */ +func fts5StorageInsertCallback(tls *libc.TLS, pContext uintptr, tflags int32, pToken uintptr, nToken int32, iUnused1 int32, iUnused2 int32) int32 { /* sqlite3.c:234936:12: */ var pCtx uintptr = pContext var pIdx uintptr = (*Fts5Storage)(unsafe.Pointer((*Fts5InsertCtx)(unsafe.Pointer(pCtx)).FpStorage)).FpIndex _ = iUnused1 @@ -189907,7 +189938,7 @@ func fts5StorageInsertCallback(tls *libc.TLS, pContext uintptr, tflags int32, pT // If a row with rowid iDel is present in the %_content table, add the // delete-markers to the FTS index necessary to delete it. Do not actually // remove the %_content row at this time though. -func fts5StorageDeleteFromIndex(tls *libc.TLS, p uintptr, iDel I64, apVal uintptr) int32 { /* sqlite3.c:234902:12: */ +func fts5StorageDeleteFromIndex(tls *libc.TLS, p uintptr, iDel I64, apVal uintptr) int32 { /* sqlite3.c:234959:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -189976,7 +190007,7 @@ func fts5StorageDeleteFromIndex(tls *libc.TLS, p uintptr, iDel I64, apVal uintpt // // If there is no %_docsize table (as happens if the columnsize=0 option // is specified when the FTS5 table is created), this function is a no-op. -func fts5StorageInsertDocsize(tls *libc.TLS, p uintptr, iRowid I64, pBuf uintptr) int32 { /* sqlite3.c:234971:12: */ +func fts5StorageInsertDocsize(tls *libc.TLS, p uintptr, iRowid I64, pBuf uintptr) int32 { /* sqlite3.c:235028:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -190003,7 +190034,7 @@ func fts5StorageInsertDocsize(tls *libc.TLS, p uintptr, iRowid I64, pBuf uintptr // // Return SQLITE_OK if successful, or an SQLite error code if an error // occurs. -func fts5StorageLoadTotals(tls *libc.TLS, p uintptr, bCache int32) int32 { /* sqlite3.c:235001:12: */ +func fts5StorageLoadTotals(tls *libc.TLS, p uintptr, bCache int32) int32 { /* sqlite3.c:235058:12: */ var rc int32 = SQLITE_OK if (*Fts5Storage)(unsafe.Pointer(p)).FbTotalsValid == 0 { rc = sqlite3Fts5IndexGetAverages(tls, (*Fts5Storage)(unsafe.Pointer(p)).FpIndex, p+24, (*Fts5Storage)(unsafe.Pointer(p)).FaTotalSize) @@ -190017,7 +190048,7 @@ func fts5StorageLoadTotals(tls *libc.TLS, p uintptr, bCache int32) int32 { /* sq // // Return SQLITE_OK if successful, or an SQLite error code if an error // occurs. -func fts5StorageSaveTotals(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:235017:12: */ +func fts5StorageSaveTotals(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:235074:12: */ bp := tls.Alloc(20) defer tls.Free(20) @@ -190041,7 +190072,7 @@ func fts5StorageSaveTotals(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:235017 } // Remove a row from the FTS table. -func sqlite3Fts5StorageDelete(tls *libc.TLS, p uintptr, iDel I64, apVal uintptr) int32 { /* sqlite3.c:235039:12: */ +func sqlite3Fts5StorageDelete(tls *libc.TLS, p uintptr, iDel I64, apVal uintptr) int32 { /* sqlite3.c:235096:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -190082,7 +190113,7 @@ func sqlite3Fts5StorageDelete(tls *libc.TLS, p uintptr, iDel I64, apVal uintptr) } // Delete all entries in the FTS5 index. -func sqlite3Fts5StorageDeleteAll(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:235080:12: */ +func sqlite3Fts5StorageDeleteAll(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:235137:12: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -190114,7 +190145,7 @@ func sqlite3Fts5StorageDeleteAll(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c: return rc } -func sqlite3Fts5StorageRebuild(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:235111:12: */ +func sqlite3Fts5StorageRebuild(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:235168:12: */ bp := tls.Alloc(44) defer tls.Free(44) @@ -190178,15 +190209,15 @@ func sqlite3Fts5StorageRebuild(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:23 return *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) } -func sqlite3Fts5StorageOptimize(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:235166:12: */ +func sqlite3Fts5StorageOptimize(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:235223:12: */ return sqlite3Fts5IndexOptimize(tls, (*Fts5Storage)(unsafe.Pointer(p)).FpIndex) } -func sqlite3Fts5StorageMerge(tls *libc.TLS, p uintptr, nMerge int32) int32 { /* sqlite3.c:235170:12: */ +func sqlite3Fts5StorageMerge(tls *libc.TLS, p uintptr, nMerge int32) int32 { /* sqlite3.c:235227:12: */ return sqlite3Fts5IndexMerge(tls, (*Fts5Storage)(unsafe.Pointer(p)).FpIndex, nMerge) } -func sqlite3Fts5StorageReset(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:235174:12: */ +func sqlite3Fts5StorageReset(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:235231:12: */ return sqlite3Fts5IndexReset(tls, (*Fts5Storage)(unsafe.Pointer(p)).FpIndex) } @@ -190197,7 +190228,7 @@ func sqlite3Fts5StorageReset(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:2351 // // If the %_docsize table does not exist, SQLITE_MISMATCH is returned. In // this case the user is required to provide a rowid explicitly. -func fts5StorageNewRowid(tls *libc.TLS, p uintptr, piRowid uintptr) int32 { /* sqlite3.c:235187:12: */ +func fts5StorageNewRowid(tls *libc.TLS, p uintptr, piRowid uintptr) int32 { /* sqlite3.c:235244:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -190219,7 +190250,7 @@ func fts5StorageNewRowid(tls *libc.TLS, p uintptr, piRowid uintptr) int32 { /* s } // Insert a new row into the FTS content table. -func sqlite3Fts5StorageContentInsert(tls *libc.TLS, p uintptr, apVal uintptr, piRowid uintptr) int32 { /* sqlite3.c:235208:12: */ +func sqlite3Fts5StorageContentInsert(tls *libc.TLS, p uintptr, apVal uintptr, piRowid uintptr) int32 { /* sqlite3.c:235265:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -190251,7 +190282,7 @@ func sqlite3Fts5StorageContentInsert(tls *libc.TLS, p uintptr, apVal uintptr, pi } // Insert new entries into the FTS index and %_docsize table. -func sqlite3Fts5StorageIndexInsert(tls *libc.TLS, p uintptr, apVal uintptr, iRowid I64) int32 { /* sqlite3.c:235243:12: */ +func sqlite3Fts5StorageIndexInsert(tls *libc.TLS, p uintptr, apVal uintptr, iRowid I64) int32 { /* sqlite3.c:235300:12: */ bp := tls.Alloc(36) defer tls.Free(36) @@ -190296,7 +190327,7 @@ func sqlite3Fts5StorageIndexInsert(tls *libc.TLS, p uintptr, apVal uintptr, iRow return *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) } -func fts5StorageCount(tls *libc.TLS, p uintptr, zSuffix uintptr, pnRow uintptr) int32 { /* sqlite3.c:235286:12: */ +func fts5StorageCount(tls *libc.TLS, p uintptr, zSuffix uintptr, pnRow uintptr) int32 { /* sqlite3.c:235343:12: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -190331,13 +190362,13 @@ type Fts5IntegrityCtx1 = struct { Fcksum U64 FpTermset uintptr FpConfig uintptr -} /* sqlite3.c:235314:9 */ +} /* sqlite3.c:235371:9 */ // Context object used by sqlite3Fts5StorageIntegrity(). -type Fts5IntegrityCtx = Fts5IntegrityCtx1 /* sqlite3.c:235314:33 */ +type Fts5IntegrityCtx = Fts5IntegrityCtx1 /* sqlite3.c:235371:33 */ // Tokenization callback used by integrity check. -func fts5StorageIntegrityCallback(tls *libc.TLS, pContext uintptr, tflags int32, pToken uintptr, nToken int32, iUnused1 int32, iUnused2 int32) int32 { /* sqlite3.c:235328:12: */ +func fts5StorageIntegrityCallback(tls *libc.TLS, pContext uintptr, tflags int32, pToken uintptr, nToken int32, iUnused1 int32, iUnused2 int32) int32 { /* sqlite3.c:235385:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -190403,7 +190434,7 @@ func fts5StorageIntegrityCallback(tls *libc.TLS, pContext uintptr, tflags int32, // table. Return SQLITE_OK if they do, or SQLITE_CORRUPT if not. Return // some other SQLite error code if an error occurs while attempting to // determine this. -func sqlite3Fts5StorageIntegrity(tls *libc.TLS, p uintptr, iArg int32) int32 { /* sqlite3.c:235398:12: */ +func sqlite3Fts5StorageIntegrity(tls *libc.TLS, p uintptr, iArg int32) int32 { /* sqlite3.c:235455:12: */ bp := tls.Alloc(64) defer tls.Free(64) @@ -190528,7 +190559,7 @@ func sqlite3Fts5StorageIntegrity(tls *libc.TLS, p uintptr, iArg int32) int32 { / // Obtain an SQLite statement handle that may be used to read data from the // %_content table. -func sqlite3Fts5StorageStmt(tls *libc.TLS, p uintptr, eStmt int32, pp uintptr, pzErrMsg uintptr) int32 { /* sqlite3.c:235506:12: */ +func sqlite3Fts5StorageStmt(tls *libc.TLS, p uintptr, eStmt int32, pp uintptr, pzErrMsg uintptr) int32 { /* sqlite3.c:235563:12: */ var rc int32 rc = fts5StorageGetStmt(tls, p, eStmt, pp, pzErrMsg) @@ -190542,7 +190573,7 @@ func sqlite3Fts5StorageStmt(tls *libc.TLS, p uintptr, eStmt int32, pp uintptr, p // Release an SQLite statement handle obtained via an earlier call to // sqlite3Fts5StorageStmt(). The eStmt parameter passed to this function // must match that passed to the sqlite3Fts5StorageStmt() call. -func sqlite3Fts5StorageStmtRelease(tls *libc.TLS, p uintptr, eStmt int32, pStmt uintptr) { /* sqlite3.c:235530:13: */ +func sqlite3Fts5StorageStmtRelease(tls *libc.TLS, p uintptr, eStmt int32, pStmt uintptr) { /* sqlite3.c:235587:13: */ if *(*uintptr)(unsafe.Pointer(p + 40 + uintptr(eStmt)*8)) == uintptr(0) { Xsqlite3_reset(tls, pStmt) @@ -190552,7 +190583,7 @@ func sqlite3Fts5StorageStmtRelease(tls *libc.TLS, p uintptr, eStmt int32, pStmt } } -func fts5StorageDecodeSizeArray(tls *libc.TLS, aCol uintptr, nCol int32, aBlob uintptr, nBlob int32) int32 { /* sqlite3.c:235547:12: */ +func fts5StorageDecodeSizeArray(tls *libc.TLS, aCol uintptr, nCol int32, aBlob uintptr, nBlob int32) int32 { /* sqlite3.c:235604:12: */ var i int32 var iOff int32 = 0 for i = 0; i < nCol; i++ { @@ -190570,7 +190601,7 @@ func fts5StorageDecodeSizeArray(tls *libc.TLS, aCol uintptr, nCol int32, aBlob u // // An SQLite error code is returned if an error occurs, or SQLITE_OK // otherwise. -func sqlite3Fts5StorageDocsize(tls *libc.TLS, p uintptr, iRowid I64, aCol uintptr) int32 { /* sqlite3.c:235568:12: */ +func sqlite3Fts5StorageDocsize(tls *libc.TLS, p uintptr, iRowid I64, aCol uintptr) int32 { /* sqlite3.c:235625:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -190601,7 +190632,7 @@ func sqlite3Fts5StorageDocsize(tls *libc.TLS, p uintptr, iRowid I64, aCol uintpt return rc } -func sqlite3Fts5StorageSize(tls *libc.TLS, p uintptr, iCol int32, pnToken uintptr) int32 { /* sqlite3.c:235597:12: */ +func sqlite3Fts5StorageSize(tls *libc.TLS, p uintptr, iCol int32, pnToken uintptr) int32 { /* sqlite3.c:235654:12: */ var rc int32 = fts5StorageLoadTotals(tls, p, 0) if rc == SQLITE_OK { *(*I64)(unsafe.Pointer(pnToken)) = int64(0) @@ -190619,7 +190650,7 @@ func sqlite3Fts5StorageSize(tls *libc.TLS, p uintptr, iCol int32, pnToken uintpt return rc } -func sqlite3Fts5StorageRowCount(tls *libc.TLS, p uintptr, pnRow uintptr) int32 { /* sqlite3.c:235615:12: */ +func sqlite3Fts5StorageRowCount(tls *libc.TLS, p uintptr, pnRow uintptr) int32 { /* sqlite3.c:235672:12: */ var rc int32 = fts5StorageLoadTotals(tls, p, 0) if rc == SQLITE_OK { // nTotalRow being zero does not necessarily indicate a corrupt @@ -190636,7 +190667,7 @@ func sqlite3Fts5StorageRowCount(tls *libc.TLS, p uintptr, pnRow uintptr) int32 { } // Flush any data currently held in-memory to disk. -func sqlite3Fts5StorageSync(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:235632:12: */ +func sqlite3Fts5StorageSync(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:235689:12: */ var rc int32 = SQLITE_OK var iLastRowid I64 = Xsqlite3_last_insert_rowid(tls, (*Fts5Config)(unsafe.Pointer((*Fts5Storage)(unsafe.Pointer(p)).FpConfig)).Fdb) if (*Fts5Storage)(unsafe.Pointer(p)).FbTotalsValid != 0 { @@ -190650,12 +190681,12 @@ func sqlite3Fts5StorageSync(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:23563 return rc } -func sqlite3Fts5StorageRollback(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:235646:12: */ +func sqlite3Fts5StorageRollback(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:235703:12: */ (*Fts5Storage)(unsafe.Pointer(p)).FbTotalsValid = 0 return sqlite3Fts5IndexRollback(tls, (*Fts5Storage)(unsafe.Pointer(p)).FpIndex) } -func sqlite3Fts5StorageConfigValue(tls *libc.TLS, p uintptr, z uintptr, pVal uintptr, iVal int32) int32 { /* sqlite3.c:235651:12: */ +func sqlite3Fts5StorageConfigValue(tls *libc.TLS, p uintptr, z uintptr, pVal uintptr, iVal int32) int32 { /* sqlite3.c:235708:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -190710,13 +190741,13 @@ var aAsciiTokenChar = [128]uint8{ uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), // 0x50..0x5F uint8(0), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), // 0x60..0x6F uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), // 0x70..0x7F -} /* sqlite3.c:235704:22 */ +} /* sqlite3.c:235761:22 */ -type AsciiTokenizer1 = struct{ FaTokenChar [128]uint8 } /* sqlite3.c:235715:9 */ +type AsciiTokenizer1 = struct{ FaTokenChar [128]uint8 } /* sqlite3.c:235772:9 */ -type AsciiTokenizer = AsciiTokenizer1 /* sqlite3.c:235715:31 */ +type AsciiTokenizer = AsciiTokenizer1 /* sqlite3.c:235772:31 */ -func fts5AsciiAddExceptions(tls *libc.TLS, p uintptr, zArg uintptr, bTokenChars int32) { /* sqlite3.c:235720:13: */ +func fts5AsciiAddExceptions(tls *libc.TLS, p uintptr, zArg uintptr, bTokenChars int32) { /* sqlite3.c:235777:13: */ var i int32 for i = 0; *(*int8)(unsafe.Pointer(zArg + uintptr(i))) != 0; i++ { if int32(*(*int8)(unsafe.Pointer(zArg + uintptr(i))))&0x80 == 0 { @@ -190726,12 +190757,12 @@ func fts5AsciiAddExceptions(tls *libc.TLS, p uintptr, zArg uintptr, bTokenChars } // Delete a "ascii" tokenizer. -func fts5AsciiDelete(tls *libc.TLS, p uintptr) { /* sqlite3.c:235736:13: */ +func fts5AsciiDelete(tls *libc.TLS, p uintptr) { /* sqlite3.c:235793:13: */ Xsqlite3_free(tls, p) } // Create an "ascii" tokenizer. -func fts5AsciiCreate(tls *libc.TLS, pUnused uintptr, azArg uintptr, nArg int32, ppOut uintptr) int32 { /* sqlite3.c:235743:12: */ +func fts5AsciiCreate(tls *libc.TLS, pUnused uintptr, azArg uintptr, nArg int32, ppOut uintptr) int32 { /* sqlite3.c:235800:12: */ var rc int32 = SQLITE_OK var p uintptr = uintptr(0) _ = pUnused @@ -190766,7 +190797,7 @@ func fts5AsciiCreate(tls *libc.TLS, pUnused uintptr, azArg uintptr, nArg int32, return rc } -func asciiFold(tls *libc.TLS, aOut uintptr, aIn uintptr, nByte int32) { /* sqlite3.c:235784:13: */ +func asciiFold(tls *libc.TLS, aOut uintptr, aIn uintptr, nByte int32) { /* sqlite3.c:235841:13: */ var i int32 for i = 0; i < nByte; i++ { var c int8 = *(*int8)(unsafe.Pointer(aIn + uintptr(i))) @@ -190778,7 +190809,7 @@ func asciiFold(tls *libc.TLS, aOut uintptr, aIn uintptr, nByte int32) { /* sqlit } // Tokenize some text using the ascii tokenizer. -func fts5AsciiTokenize(tls *libc.TLS, pTokenizer uintptr, pCtx uintptr, iUnused int32, pText uintptr, nText int32, xToken uintptr) int32 { /* sqlite3.c:235796:12: */ +func fts5AsciiTokenize(tls *libc.TLS, pTokenizer uintptr, pCtx uintptr, iUnused int32, pText uintptr, nText int32, xToken uintptr) int32 { /* sqlite3.c:235853:12: */ bp := tls.Alloc(64) defer tls.Free(64) @@ -190859,7 +190890,7 @@ type Unicode61Tokenizer1 = struct { F__ccgo_pad1 [4]byte FaiException uintptr FaCategory [32]uint8 -} /* sqlite3.c:235911:9 */ +} /* sqlite3.c:235968:9 */ // ************************************************************************* // @@ -190869,11 +190900,11 @@ type Unicode61Tokenizer1 = struct { // from the sqlite3 source file utf.c. If this file is compiled as part // of the amalgamation, they are not required. -type Unicode61Tokenizer = Unicode61Tokenizer1 /* sqlite3.c:235911:35 */ +type Unicode61Tokenizer = Unicode61Tokenizer1 /* sqlite3.c:235968:35 */ // Values for eRemoveDiacritic (must match internals of fts5_unicode2.c) -func fts5UnicodeAddExceptions(tls *libc.TLS, p uintptr, z uintptr, bTokenChars int32) int32 { /* sqlite3.c:235928:12: */ +func fts5UnicodeAddExceptions(tls *libc.TLS, p uintptr, z uintptr, bTokenChars int32) int32 { /* sqlite3.c:235985:12: */ var rc int32 = SQLITE_OK var n int32 = int32(libc.Xstrlen(tls, z)) var aNew uintptr @@ -190928,7 +190959,7 @@ func fts5UnicodeAddExceptions(tls *libc.TLS, p uintptr, z uintptr, bTokenChars i } // Return true if the p->aiException[] array contains the value iCode. -func fts5UnicodeIsException(tls *libc.TLS, p uintptr, iCode int32) int32 { /* sqlite3.c:235978:12: */ +func fts5UnicodeIsException(tls *libc.TLS, p uintptr, iCode int32) int32 { /* sqlite3.c:236035:12: */ if (*Unicode61Tokenizer)(unsafe.Pointer(p)).FnException > 0 { var a uintptr = (*Unicode61Tokenizer)(unsafe.Pointer(p)).FaiException var iLo int32 = 0 @@ -190950,7 +190981,7 @@ func fts5UnicodeIsException(tls *libc.TLS, p uintptr, iCode int32) int32 { /* sq } // Delete a "unicode61" tokenizer. -func fts5UnicodeDelete(tls *libc.TLS, pTok uintptr) { /* sqlite3.c:236002:13: */ +func fts5UnicodeDelete(tls *libc.TLS, pTok uintptr) { /* sqlite3.c:236059:13: */ if pTok != 0 { var p uintptr = pTok Xsqlite3_free(tls, (*Unicode61Tokenizer)(unsafe.Pointer(p)).FaiException) @@ -190960,7 +190991,7 @@ func fts5UnicodeDelete(tls *libc.TLS, pTok uintptr) { /* sqlite3.c:236002:13: */ return } -func unicodeSetCategories(tls *libc.TLS, p uintptr, zCat uintptr) int32 { /* sqlite3.c:236012:12: */ +func unicodeSetCategories(tls *libc.TLS, p uintptr, zCat uintptr) int32 { /* sqlite3.c:236069:12: */ var z uintptr = zCat for *(*int8)(unsafe.Pointer(z)) != 0 { @@ -190980,7 +191011,7 @@ func unicodeSetCategories(tls *libc.TLS, p uintptr, zCat uintptr) int32 { /* sql } // Create a "unicode61" tokenizer. -func fts5UnicodeCreate(tls *libc.TLS, pUnused uintptr, azArg uintptr, nArg int32, ppOut uintptr) int32 { /* sqlite3.c:236030:12: */ +func fts5UnicodeCreate(tls *libc.TLS, pUnused uintptr, azArg uintptr, nArg int32, ppOut uintptr) int32 { /* sqlite3.c:236087:12: */ var rc int32 = SQLITE_OK // Return code var p uintptr = uintptr(0) // New tokenizer object @@ -191048,12 +191079,12 @@ func fts5UnicodeCreate(tls *libc.TLS, pUnused uintptr, azArg uintptr, nArg int32 // Return true if, for the purposes of tokenizing with the tokenizer // passed as the first argument, codepoint iCode is considered a token // character (not a separator). -func fts5UnicodeIsAlnum(tls *libc.TLS, p uintptr, iCode int32) int32 { /* sqlite3.c:236110:12: */ +func fts5UnicodeIsAlnum(tls *libc.TLS, p uintptr, iCode int32) int32 { /* sqlite3.c:236167:12: */ return int32(*(*uint8)(unsafe.Pointer(p + 160 + uintptr(sqlite3Fts5UnicodeCategory(tls, U32(iCode)))))) ^ fts5UnicodeIsException(tls, p, iCode) } -func fts5UnicodeTokenize(tls *libc.TLS, pTokenizer uintptr, pCtx uintptr, iUnused int32, pText uintptr, nText int32, xToken uintptr) int32 { /* sqlite3.c:236117:12: */ +func fts5UnicodeTokenize(tls *libc.TLS, pTokenizer uintptr, pCtx uintptr, iUnused int32, pText uintptr, nText int32, xToken uintptr) int32 { /* sqlite3.c:236174:12: */ var p uintptr var rc int32 var a uintptr @@ -191309,7 +191340,7 @@ type PorterTokenizer1 = struct { Ftokenizer Fts5_tokenizer FpTokenizer uintptr FaBuf [128]int8 -} /* sqlite3.c:236229:9 */ +} /* sqlite3.c:236286:9 */ // ************************************************************************* // @@ -191318,10 +191349,10 @@ type PorterTokenizer1 = struct { // Any tokens larger than this (in bytes) are passed through without // stemming. -type PorterTokenizer = PorterTokenizer1 /* sqlite3.c:236229:32 */ +type PorterTokenizer = PorterTokenizer1 /* sqlite3.c:236286:32 */ // Delete a "porter" tokenizer. -func fts5PorterDelete(tls *libc.TLS, pTok uintptr) { /* sqlite3.c:236239:13: */ +func fts5PorterDelete(tls *libc.TLS, pTok uintptr) { /* sqlite3.c:236296:13: */ if pTok != 0 { var p uintptr = pTok if (*PorterTokenizer)(unsafe.Pointer(p)).FpTokenizer != 0 { @@ -191332,7 +191363,7 @@ func fts5PorterDelete(tls *libc.TLS, pTok uintptr) { /* sqlite3.c:236239:13: */ } // Create a "porter" tokenizer. -func fts5PorterCreate(tls *libc.TLS, pCtx uintptr, azArg uintptr, nArg int32, ppOut uintptr) int32 { /* sqlite3.c:236252:12: */ +func fts5PorterCreate(tls *libc.TLS, pCtx uintptr, azArg uintptr, nArg int32, ppOut uintptr) int32 { /* sqlite3.c:236309:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -191385,9 +191416,9 @@ type PorterContext1 = struct { FpCtx uintptr FxToken uintptr FaBuf uintptr -} /* sqlite3.c:236288:9 */ +} /* sqlite3.c:236345:9 */ -type PorterContext = PorterContext1 /* sqlite3.c:236288:30 */ +type PorterContext = PorterContext1 /* sqlite3.c:236345:30 */ type PorterRule1 = struct { FzSuffix uintptr @@ -191397,15 +191428,15 @@ type PorterRule1 = struct { FzOutput uintptr FnOutput int32 F__ccgo_pad2 [4]byte -} /* sqlite3.c:236295:9 */ +} /* sqlite3.c:236352:9 */ -type PorterRule = PorterRule1 /* sqlite3.c:236295:27 */ +type PorterRule = PorterRule1 /* sqlite3.c:236352:27 */ -func fts5PorterIsVowel(tls *libc.TLS, c int8, bYIsVowel int32) int32 { /* sqlite3.c:236330:12: */ +func fts5PorterIsVowel(tls *libc.TLS, c int8, bYIsVowel int32) int32 { /* sqlite3.c:236387:12: */ return libc.Bool32(int32(c) == 'a' || int32(c) == 'e' || int32(c) == 'i' || int32(c) == 'o' || int32(c) == 'u' || bYIsVowel != 0 && int32(c) == 'y') } -func fts5PorterGobbleVC(tls *libc.TLS, zStem uintptr, nStem int32, bPrevCons int32) int32 { /* sqlite3.c:236336:12: */ +func fts5PorterGobbleVC(tls *libc.TLS, zStem uintptr, nStem int32, bPrevCons int32) int32 { /* sqlite3.c:236393:12: */ var i int32 var bCons int32 = bPrevCons @@ -191426,12 +191457,12 @@ func fts5PorterGobbleVC(tls *libc.TLS, zStem uintptr, nStem int32, bPrevCons int } // porter rule condition: (m > 0) -func fts5Porter_MGt0(tls *libc.TLS, zStem uintptr, nStem int32) int32 { /* sqlite3.c:236353:12: */ +func fts5Porter_MGt0(tls *libc.TLS, zStem uintptr, nStem int32) int32 { /* sqlite3.c:236410:12: */ return libc.BoolInt32(!!(fts5PorterGobbleVC(tls, zStem, nStem, 0) != 0)) } // porter rule condition: (m > 1) -func fts5Porter_MGt1(tls *libc.TLS, zStem uintptr, nStem int32) int32 { /* sqlite3.c:236358:12: */ +func fts5Porter_MGt1(tls *libc.TLS, zStem uintptr, nStem int32) int32 { /* sqlite3.c:236415:12: */ var n int32 n = fts5PorterGobbleVC(tls, zStem, nStem, 0) if n != 0 && fts5PorterGobbleVC(tls, zStem+uintptr(n), nStem-n, 1) != 0 { @@ -191441,7 +191472,7 @@ func fts5Porter_MGt1(tls *libc.TLS, zStem uintptr, nStem int32) int32 { /* sqlit } // porter rule condition: (m = 1) -func fts5Porter_MEq1(tls *libc.TLS, zStem uintptr, nStem int32) int32 { /* sqlite3.c:236368:12: */ +func fts5Porter_MEq1(tls *libc.TLS, zStem uintptr, nStem int32) int32 { /* sqlite3.c:236425:12: */ var n int32 n = fts5PorterGobbleVC(tls, zStem, nStem, 0) if n != 0 && 0 == fts5PorterGobbleVC(tls, zStem+uintptr(n), nStem-n, 1) { @@ -191451,7 +191482,7 @@ func fts5Porter_MEq1(tls *libc.TLS, zStem uintptr, nStem int32) int32 { /* sqlit } // porter rule condition: (*o) -func fts5Porter_Ostar(tls *libc.TLS, zStem uintptr, nStem int32) int32 { /* sqlite3.c:236378:12: */ +func fts5Porter_Ostar(tls *libc.TLS, zStem uintptr, nStem int32) int32 { /* sqlite3.c:236435:12: */ if int32(*(*int8)(unsafe.Pointer(zStem + uintptr(nStem-1)))) == 'w' || int32(*(*int8)(unsafe.Pointer(zStem + uintptr(nStem-1)))) == 'x' || int32(*(*int8)(unsafe.Pointer(zStem + uintptr(nStem-1)))) == 'y' { return 0 } else { @@ -191469,14 +191500,14 @@ func fts5Porter_Ostar(tls *libc.TLS, zStem uintptr, nStem int32) int32 { /* sqli } // porter rule condition: (m > 1 and (*S or *T)) -func fts5Porter_MGt1_and_S_or_T(tls *libc.TLS, zStem uintptr, nStem int32) int32 { /* sqlite3.c:236395:12: */ +func fts5Porter_MGt1_and_S_or_T(tls *libc.TLS, zStem uintptr, nStem int32) int32 { /* sqlite3.c:236452:12: */ return libc.Bool32((int32(*(*int8)(unsafe.Pointer(zStem + uintptr(nStem-1)))) == 's' || int32(*(*int8)(unsafe.Pointer(zStem + uintptr(nStem-1)))) == 't') && fts5Porter_MGt1(tls, zStem, nStem) != 0) } // porter rule condition: (*v*) -func fts5Porter_Vowel(tls *libc.TLS, zStem uintptr, nStem int32) int32 { /* sqlite3.c:236402:12: */ +func fts5Porter_Vowel(tls *libc.TLS, zStem uintptr, nStem int32) int32 { /* sqlite3.c:236459:12: */ var i int32 for i = 0; i < nStem; i++ { if fts5PorterIsVowel(tls, *(*int8)(unsafe.Pointer(zStem + uintptr(i))), libc.Bool32(i > 0)) != 0 { @@ -191491,7 +191522,7 @@ func fts5Porter_Vowel(tls *libc.TLS, zStem uintptr, nStem int32) int32 { /* sqli // // GENERATED CODE STARTS HERE (mkportersteps.tcl) -func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqlite3.c:236418:12: */ +func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqlite3.c:236475:12: */ var ret int32 = 0 var nBuf int32 = *(*int32)(unsafe.Pointer(pnBuf)) switch int32(*(*int8)(unsafe.Pointer(aBuf + uintptr(nBuf-2)))) { @@ -191624,7 +191655,7 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli return ret } -func fts5PorterStep1B2(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqlite3.c:236552:12: */ +func fts5PorterStep1B2(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqlite3.c:236609:12: */ var ret int32 = 0 var nBuf int32 = *(*int32)(unsafe.Pointer(pnBuf)) switch int32(*(*int8)(unsafe.Pointer(aBuf + uintptr(nBuf-2)))) { @@ -191657,7 +191688,7 @@ func fts5PorterStep1B2(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sq return ret } -func fts5PorterStep2(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqlite3.c:236586:12: */ +func fts5PorterStep2(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqlite3.c:236643:12: */ var ret int32 = 0 var nBuf int32 = *(*int32)(unsafe.Pointer(pnBuf)) switch int32(*(*int8)(unsafe.Pointer(aBuf + uintptr(nBuf-2)))) { @@ -191803,7 +191834,7 @@ func fts5PorterStep2(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli return ret } -func fts5PorterStep3(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqlite3.c:236733:12: */ +func fts5PorterStep3(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqlite3.c:236790:12: */ var ret int32 = 0 var nBuf int32 = *(*int32)(unsafe.Pointer(pnBuf)) switch int32(*(*int8)(unsafe.Pointer(aBuf + uintptr(nBuf-2)))) { @@ -191868,7 +191899,7 @@ func fts5PorterStep3(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli return ret } -func fts5PorterStep1B(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqlite3.c:236799:12: */ +func fts5PorterStep1B(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqlite3.c:236856:12: */ var ret int32 = 0 var nBuf int32 = *(*int32)(unsafe.Pointer(pnBuf)) switch int32(*(*int8)(unsafe.Pointer(aBuf + uintptr(nBuf-2)))) { @@ -191905,7 +191936,7 @@ func fts5PorterStep1B(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sql // // -func fts5PorterStep1A(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) { /* sqlite3.c:236836:13: */ +func fts5PorterStep1A(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) { /* sqlite3.c:236893:13: */ var nBuf int32 = *(*int32)(unsafe.Pointer(pnBuf)) if int32(*(*int8)(unsafe.Pointer(aBuf + uintptr(nBuf-1)))) == 's' { if int32(*(*int8)(unsafe.Pointer(aBuf + uintptr(nBuf-2)))) == 'e' { @@ -191921,7 +191952,7 @@ func fts5PorterStep1A(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) { /* sqlite3.c } } -func fts5PorterCb(tls *libc.TLS, pCtx uintptr, tflags int32, pToken uintptr, nToken int32, iStart int32, iEnd int32) int32 { /* sqlite3.c:236854:12: */ +func fts5PorterCb(tls *libc.TLS, pCtx uintptr, tflags int32, pToken uintptr, nToken int32, iStart int32, iEnd int32) int32 { /* sqlite3.c:236911:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -192019,7 +192050,7 @@ pass_through: } // Tokenize using the porter tokenizer. -func fts5PorterTokenize(tls *libc.TLS, pTokenizer uintptr, pCtx uintptr, flags int32, pText uintptr, nText int32, xToken uintptr) int32 { /* sqlite3.c:236923:12: */ +func fts5PorterTokenize(tls *libc.TLS, pTokenizer uintptr, pCtx uintptr, flags int32, pText uintptr, nText int32, xToken uintptr) int32 { /* sqlite3.c:236980:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -192040,20 +192071,20 @@ func fts5PorterTokenize(tls *libc.TLS, pTokenizer uintptr, pCtx uintptr, flags i // ************************************************************************* // // Start of trigram implementation. -type TrigramTokenizer1 = struct{ FbFold int32 } /* sqlite3.c:236943:9 */ +type TrigramTokenizer1 = struct{ FbFold int32 } /* sqlite3.c:237000:9 */ // ************************************************************************* // // Start of trigram implementation. -type TrigramTokenizer = TrigramTokenizer1 /* sqlite3.c:236943:33 */ +type TrigramTokenizer = TrigramTokenizer1 /* sqlite3.c:237000:33 */ // Free a trigram tokenizer. -func fts5TriDelete(tls *libc.TLS, p uintptr) { /* sqlite3.c:236951:13: */ +func fts5TriDelete(tls *libc.TLS, p uintptr) { /* sqlite3.c:237008:13: */ Xsqlite3_free(tls, p) } // Allocate a trigram tokenizer. -func fts5TriCreate(tls *libc.TLS, pUnused uintptr, azArg uintptr, nArg int32, ppOut uintptr) int32 { /* sqlite3.c:236958:12: */ +func fts5TriCreate(tls *libc.TLS, pUnused uintptr, azArg uintptr, nArg int32, ppOut uintptr) int32 { /* sqlite3.c:237015:12: */ var rc int32 = SQLITE_OK var pNew uintptr = Xsqlite3_malloc(tls, int32(unsafe.Sizeof(TrigramTokenizer{}))) _ = pUnused @@ -192084,7 +192115,7 @@ func fts5TriCreate(tls *libc.TLS, pUnused uintptr, azArg uintptr, nArg int32, pp } // Trigram tokenizer tokenize routine. -func fts5TriTokenize(tls *libc.TLS, pTok uintptr, pCtx uintptr, unusedFlags int32, pText uintptr, nText int32, xToken uintptr) int32 { /* sqlite3.c:236996:12: */ +func fts5TriTokenize(tls *libc.TLS, pTok uintptr, pCtx uintptr, unusedFlags int32, pText uintptr, nText int32, xToken uintptr) int32 { /* sqlite3.c:237053:12: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -192237,7 +192268,7 @@ func fts5TriTokenize(tls *libc.TLS, pTok uintptr, pCtx uintptr, unusedFlags int3 // "trigram" tokenizer, case_sensitive=1 - FTS5_PATTERN_GLOB // "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) int32 { /* sqlite3.c:237056:12: */ +func sqlite3Fts5TokenizerPattern(tls *libc.TLS, xCreate uintptr, pTok uintptr) int32 { /* sqlite3.c:237113:12: */ if xCreate == *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 }{fts5TriCreate})) { @@ -192251,7 +192282,7 @@ func sqlite3Fts5TokenizerPattern(tls *libc.TLS, xCreate uintptr, pTok uintptr) i } // Register all built-in tokenizers with FTS5. -func sqlite3Fts5TokenizerInit(tls *libc.TLS, pApi uintptr) int32 { /* sqlite3.c:237070:12: */ +func sqlite3Fts5TokenizerInit(tls *libc.TLS, pApi uintptr) int32 { /* sqlite3.c:237127:12: */ bp := tls.Alloc(128) defer tls.Free(128) @@ -192297,7 +192328,7 @@ func sqlite3Fts5TokenizerInit(tls *libc.TLS, pApi uintptr) int32 { /* sqlite3.c: type BuiltinTokenizer = struct { FzName uintptr Fx Fts5_tokenizer -} /* sqlite3.c:237071:3 */ +} /* sqlite3.c:237128:3 */ // 2012-05-25 // @@ -192320,7 +192351,7 @@ type BuiltinTokenizer = struct { // SMALL LETTER E WITH DIAERESIS" - return 65 ("LATIN SMALL LETTER // E"). The resuls of passing a codepoint that corresponds to an // uppercase letter are undefined. -func fts5_remove_diacritic(tls *libc.TLS, c int32, bComplex int32) int32 { /* sqlite3.c:237126:12: */ +func fts5_remove_diacritic(tls *libc.TLS, c int32, bComplex int32) int32 { /* sqlite3.c:237183:12: */ bp := tls.Alloc(378) defer tls.Free(378) @@ -192391,7 +192422,7 @@ func fts5_remove_diacritic(tls *libc.TLS, c int32, bComplex int32) int32 { /* sq // Return true if the argument interpreted as a unicode codepoint // is a diacritical modifier character. -func sqlite3Fts5UnicodeIsdiacritic(tls *libc.TLS, c int32) int32 { /* sqlite3.c:237193:12: */ +func sqlite3Fts5UnicodeIsdiacritic(tls *libc.TLS, c int32) int32 { /* sqlite3.c:237250:12: */ var mask0 uint32 = uint32(0x08029FDF) var mask1 uint32 = uint32(0x000361F8) if c < 768 || c > 817 { @@ -192410,7 +192441,7 @@ func sqlite3Fts5UnicodeIsdiacritic(tls *libc.TLS, c int32) int32 { /* sqlite3.c: // // The results are undefined if the value passed to this function // is less than zero. -func sqlite3Fts5UnicodeFold(tls *libc.TLS, c int32, eRemoveDiacritic int32) int32 { /* sqlite3.c:237212:12: */ +func sqlite3Fts5UnicodeFold(tls *libc.TLS, c int32, eRemoveDiacritic int32) int32 { /* sqlite3.c:237269:12: */ var ret int32 = c @@ -192471,7 +192502,7 @@ type TableEntry = struct { FiCode uint16 Fflags uint8 FnRange uint8 -} /* sqlite3.c:237230:16 */ +} /* sqlite3.c:237287:16 */ var aEntry = [163]TableEntry{ {FiCode: uint16(65), Fflags: uint8(14), FnRange: uint8(26)}, {FiCode: uint16(181), Fflags: uint8(64), FnRange: uint8(1)}, {FiCode: uint16(192), Fflags: uint8(14), FnRange: uint8(23)}, @@ -192529,7 +192560,7 @@ var aEntry = [163]TableEntry{ {FiCode: uint16(42878), Fflags: uint8(1), FnRange: uint8(10)}, {FiCode: uint16(42891), FnRange: uint8(1)}, {FiCode: uint16(42893), Fflags: uint8(74), FnRange: uint8(1)}, {FiCode: uint16(42896), Fflags: uint8(1), FnRange: uint8(4)}, {FiCode: uint16(42912), Fflags: uint8(1), FnRange: uint8(10)}, {FiCode: uint16(42922), Fflags: uint8(72), FnRange: uint8(1)}, {FiCode: uint16(65313), Fflags: uint8(14), FnRange: uint8(26)}, -} /* sqlite3.c:237234:5 */ +} /* sqlite3.c:237291:5 */ var aiOff = [77]uint16{ uint16(1), uint16(2), uint16(8), uint16(15), uint16(16), uint16(26), uint16(28), uint16(32), uint16(37), uint16(38), uint16(40), uint16(48), uint16(63), uint16(64), uint16(69), uint16(71), @@ -192541,9 +192572,9 @@ var aiOff = [77]uint16{ uint16(65408), uint16(65410), uint16(65415), uint16(65424), uint16(65436), uint16(65439), uint16(65450), uint16(65462), uint16(65472), uint16(65476), uint16(65478), uint16(65480), uint16(65482), uint16(65488), uint16(65506), uint16(65511), uint16(65514), uint16(65521), uint16(65527), uint16(65528), uint16(65529), -} /* sqlite3.c:237291:31 */ +} /* sqlite3.c:237348:31 */ -func sqlite3Fts5UnicodeCatParse(tls *libc.TLS, zCat uintptr, aArray uintptr) int32 { /* sqlite3.c:237348:12: */ +func sqlite3Fts5UnicodeCatParse(tls *libc.TLS, zCat uintptr, aArray uintptr) int32 { /* sqlite3.c:237405:12: */ *(*U8)(unsafe.Pointer(aArray)) = U8(1) switch int32(*(*int8)(unsafe.Pointer(zCat))) { case 'C': @@ -192740,7 +192771,7 @@ func sqlite3Fts5UnicodeCatParse(tls *libc.TLS, zCat uintptr, aArray uintptr) int var aFts5UnicodeBlock = [17]U16{ U16(0), U16(1471), U16(1753), U16(1760), U16(1760), U16(1760), U16(1760), U16(1760), U16(1760), U16(1760), U16(1760), U16(1760), U16(1760), U16(1760), U16(1760), U16(1763), U16(1765), -} /* sqlite3.c:237466:12 */ +} /* sqlite3.c:237523:12 */ var aFts5UnicodeMap = [1765]U16{ U16(0), U16(32), U16(33), U16(36), U16(37), U16(40), U16(41), U16(42), U16(43), U16(44), U16(45), U16(46), U16(48), U16(58), U16(60), U16(63), U16(65), U16(91), U16(92), U16(93), @@ -192919,7 +192950,7 @@ var aFts5UnicodeMap = [1765]U16{ U16(62406), U16(62432), U16(62464), U16(62528), U16(62530), U16(62713), U16(62720), U16(62784), U16(62800), U16(62971), U16(63045), U16(63104), U16(63232), U16(0), U16(42710), U16(42752), U16(46900), U16(46912), U16(47133), U16(63488), U16(1), U16(32), U16(256), U16(0), U16(65533), -} /* sqlite3.c:237470:12 */ +} /* sqlite3.c:237527:12 */ var aFts5UnicodeData = [1765]U16{ U16(1025), U16(61), U16(117), U16(55), U16(117), U16(54), U16(50), U16(53), U16(57), U16(53), U16(49), U16(85), U16(333), U16(85), U16(121), U16(85), U16(841), U16(54), U16(53), U16(50), @@ -193098,9 +193129,9 @@ var aFts5UnicodeData = [1765]U16{ U16(186), U16(570), U16(2042), U16(58), U16(5850), U16(154), U16(2010), U16(154), U16(794), U16(2266), U16(378), U16(2266), U16(3738), U16(39), U16(39), U16(39), U16(39), U16(39), U16(39), U16(17351), U16(34), U16(3074), U16(7692), U16(63), U16(63), -} /* sqlite3.c:237649:12 */ +} /* sqlite3.c:237706:12 */ -func sqlite3Fts5UnicodeCategory(tls *libc.TLS, iCode U32) int32 { /* sqlite3.c:237829:12: */ +func sqlite3Fts5UnicodeCategory(tls *libc.TLS, iCode U32) int32 { /* sqlite3.c:237886:12: */ var iRes int32 = -1 var iHi int32 var iLo int32 @@ -193140,7 +193171,7 @@ func sqlite3Fts5UnicodeCategory(tls *libc.TLS, iCode U32) int32 { /* sqlite3.c:2 return 9 } -func sqlite3Fts5UnicodeAscii(tls *libc.TLS, aArray uintptr, aAscii uintptr) { /* sqlite3.c:237860:13: */ +func sqlite3Fts5UnicodeAscii(tls *libc.TLS, aArray uintptr, aAscii uintptr) { /* sqlite3.c:237917:13: */ var i int32 = 0 var iTbl int32 = 0 for i < 128 { @@ -193172,7 +193203,7 @@ func sqlite3Fts5UnicodeAscii(tls *libc.TLS, aArray uintptr, aAscii uintptr) { /* // This is a copy of the sqlite3GetVarint32() routine from the SQLite core. // Except, this version does handle the single byte case that the core // version depends on being handled before its function is called. -func sqlite3Fts5GetVarint32(tls *libc.TLS, p uintptr, v uintptr) int32 { /* sqlite3.c:237898:12: */ +func sqlite3Fts5GetVarint32(tls *libc.TLS, p uintptr, v uintptr) int32 { /* sqlite3.c:237955:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -193247,7 +193278,7 @@ func sqlite3Fts5GetVarint32(tls *libc.TLS, p uintptr, v uintptr) int32 { /* sqli // Read a 64-bit variable-length integer from memory starting at p[0]. // Return the number of bytes read. The value is stored in *v. -func sqlite3Fts5GetVarint(tls *libc.TLS, p uintptr, v uintptr) U8 { /* sqlite3.c:237976:11: */ +func sqlite3Fts5GetVarint(tls *libc.TLS, p uintptr, v uintptr) U8 { /* sqlite3.c:238033:11: */ var a U32 var b U32 var s U32 @@ -193423,7 +193454,7 @@ func sqlite3Fts5GetVarint(tls *libc.TLS, p uintptr, v uintptr) U8 { /* sqlite3.c // for all bytes that have the 8th bit set and one byte with the 8th // bit clear. Except, if we get to the 9th byte, it stores the full // 8 bits and is the last byte. -func fts5PutVarint64(tls *libc.TLS, p uintptr, v U64) int32 { /* sqlite3.c:238170:26: */ +func fts5PutVarint64(tls *libc.TLS, p uintptr, v U64) int32 { /* sqlite3.c:238227:26: */ bp := tls.Alloc(10) defer tls.Free(10) @@ -193469,7 +193500,7 @@ __3: return n } -func sqlite3Fts5PutVarint(tls *libc.TLS, p uintptr, v U64) int32 { /* sqlite3.c:238195:12: */ +func sqlite3Fts5PutVarint(tls *libc.TLS, p uintptr, v U64) int32 { /* sqlite3.c:238252:12: */ if v <= uint64(0x7f) { *(*uint8)(unsafe.Pointer(p)) = uint8(v & uint64(0x7f)) return 1 @@ -193482,7 +193513,7 @@ func sqlite3Fts5PutVarint(tls *libc.TLS, p uintptr, v U64) int32 { /* sqlite3.c: return fts5PutVarint64(tls, p, v) } -func sqlite3Fts5GetVarintLen(tls *libc.TLS, iVal U32) int32 { /* sqlite3.c:238209:12: */ +func sqlite3Fts5GetVarintLen(tls *libc.TLS, iVal U32) int32 { /* sqlite3.c:238266:12: */ if iVal < U32(int32(1)<<14) { return 2 @@ -193542,7 +193573,7 @@ type Fts5VocabTable1 = struct { FpGlobal uintptr FeType int32 FbBusy uint32 -} /* sqlite3.c:238262:9 */ +} /* sqlite3.c:238319:9 */ // 2015 May 08 // @@ -193582,7 +193613,7 @@ type Fts5VocabTable1 = struct { // #include "fts5Int.h" -type Fts5VocabTable = Fts5VocabTable1 /* sqlite3.c:238262:31 */ +type Fts5VocabTable = Fts5VocabTable1 /* sqlite3.c:238319:31 */ type Fts5VocabCursor1 = struct { Fbase Sqlite3_vtab_cursor FpStmt uintptr @@ -193603,9 +193634,9 @@ type Fts5VocabCursor1 = struct { FiInstPos I64 FiInstOff int32 F__ccgo_pad4 [4]byte -} /* sqlite3.c:238263:9 */ +} /* sqlite3.c:238320:9 */ -type Fts5VocabCursor = Fts5VocabCursor1 /* sqlite3.c:238263:32 */ +type Fts5VocabCursor = Fts5VocabCursor1 /* sqlite3.c:238320:32 */ // Bits for the mask used as the idxNum value by xBestIndex/xFilter. @@ -193613,7 +193644,7 @@ type Fts5VocabCursor = Fts5VocabCursor1 /* sqlite3.c:238263:32 */ // FTS5_VOCAB_XXX constant. If successful, set *peType to the output // value and return SQLITE_OK. Otherwise, set *pzErr to an error message // and return SQLITE_ERROR. -func fts5VocabTableType(tls *libc.TLS, zType uintptr, pzErr uintptr, peType uintptr) int32 { /* sqlite3.c:238323:12: */ +func fts5VocabTableType(tls *libc.TLS, zType uintptr, pzErr uintptr, peType uintptr) int32 { /* sqlite3.c:238380:12: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -193638,14 +193669,14 @@ func fts5VocabTableType(tls *libc.TLS, zType uintptr, pzErr uintptr, peType uint } // The xDisconnect() virtual table method. -func fts5VocabDisconnectMethod(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:238352:12: */ +func fts5VocabDisconnectMethod(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:238409:12: */ var pTab uintptr = pVtab Xsqlite3_free(tls, pTab) return SQLITE_OK } // The xDestroy() virtual table method. -func fts5VocabDestroyMethod(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:238361:12: */ +func fts5VocabDestroyMethod(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:238418:12: */ var pTab uintptr = pVtab Xsqlite3_free(tls, pTab) return SQLITE_OK @@ -193670,7 +193701,7 @@ func fts5VocabDestroyMethod(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:2 // argv[3] -> name of fts5 tables database // argv[4] -> name of fts5 table // argv[5] -> type of fts5vocab table -func fts5VocabInitVtab(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVTab uintptr, pzErr uintptr) int32 { /* sqlite3.c:238388:12: */ +func fts5VocabInitVtab(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVTab uintptr, pzErr uintptr) int32 { /* sqlite3.c:238445:12: */ bp := tls.Alloc(36) defer tls.Free(36) @@ -193740,11 +193771,11 @@ func fts5VocabInitVtab(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv // The xConnect() and xCreate() methods for the virtual table. All the // work is done in function fts5VocabInitVtab(). -func fts5VocabConnectMethod(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 { /* sqlite3.c:238450:12: */ +func fts5VocabConnectMethod(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 { /* sqlite3.c:238507:12: */ return fts5VocabInitVtab(tls, db, pAux, argc, argv, ppVtab, pzErr) } -func fts5VocabCreateMethod(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 { /* sqlite3.c:238460:12: */ +func fts5VocabCreateMethod(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 { /* sqlite3.c:238517:12: */ return fts5VocabInitVtab(tls, db, pAux, argc, argv, ppVtab, pzErr) } @@ -193758,7 +193789,7 @@ func fts5VocabCreateMethod(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, // // are interpreted. Less-than and less-than-or-equal are treated // identically, as are greater-than and greater-than-or-equal. -func fts5VocabBestIndexMethod(tls *libc.TLS, pUnused uintptr, pInfo uintptr) int32 { /* sqlite3.c:238483:12: */ +func fts5VocabBestIndexMethod(tls *libc.TLS, pUnused uintptr, pInfo uintptr) int32 { /* sqlite3.c:238540:12: */ var i int32 var iTermEq int32 = -1 var iTermGe int32 = -1 @@ -193826,7 +193857,7 @@ func fts5VocabBestIndexMethod(tls *libc.TLS, pUnused uintptr, pInfo uintptr) int } // Implementation of xOpen method. -func fts5VocabOpenMethod(tls *libc.TLS, pVTab uintptr, ppCsr uintptr) int32 { /* sqlite3.c:238545:12: */ +func fts5VocabOpenMethod(tls *libc.TLS, pVTab uintptr, ppCsr uintptr) int32 { /* sqlite3.c:238602:12: */ bp := tls.Alloc(80) defer tls.Free(80) @@ -193893,7 +193924,7 @@ func fts5VocabOpenMethod(tls *libc.TLS, pVTab uintptr, ppCsr uintptr) int32 { /* return *(*int32)(unsafe.Pointer(bp + 64 /* rc */)) } -func fts5VocabResetCursor(tls *libc.TLS, pCsr uintptr) { /* sqlite3.c:238613:13: */ +func fts5VocabResetCursor(tls *libc.TLS, pCsr uintptr) { /* sqlite3.c:238670:13: */ (*Fts5VocabCursor)(unsafe.Pointer(pCsr)).Frowid = int64(0) sqlite3Fts5IterClose(tls, (*Fts5VocabCursor)(unsafe.Pointer(pCsr)).FpIter) sqlite3Fts5StructureRelease(tls, (*Fts5VocabCursor)(unsafe.Pointer(pCsr)).FpStruct) @@ -193907,7 +193938,7 @@ func fts5VocabResetCursor(tls *libc.TLS, pCsr uintptr) { /* sqlite3.c:238613:13: // Close the cursor. For additional information see the documentation // on the xClose method of the virtual table interface. -func fts5VocabCloseMethod(tls *libc.TLS, pCursor uintptr) int32 { /* sqlite3.c:238629:12: */ +func fts5VocabCloseMethod(tls *libc.TLS, pCursor uintptr) int32 { /* sqlite3.c:238686:12: */ var pCsr uintptr = pCursor fts5VocabResetCursor(tls, pCsr) sqlite3Fts5BufferFree(tls, pCsr+96) @@ -193916,7 +193947,7 @@ func fts5VocabCloseMethod(tls *libc.TLS, pCursor uintptr) int32 { /* sqlite3.c:2 return SQLITE_OK } -func fts5VocabInstanceNewTerm(tls *libc.TLS, pCsr uintptr) int32 { /* sqlite3.c:238638:12: */ +func fts5VocabInstanceNewTerm(tls *libc.TLS, pCsr uintptr) int32 { /* sqlite3.c:238695:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -193947,7 +193978,7 @@ func fts5VocabInstanceNewTerm(tls *libc.TLS, pCsr uintptr) int32 { /* sqlite3.c: return *(*int32)(unsafe.Pointer(bp + 4 /* rc */)) } -func fts5VocabInstanceNext(tls *libc.TLS, pCsr uintptr) int32 { /* sqlite3.c:238660:12: */ +func fts5VocabInstanceNext(tls *libc.TLS, pCsr uintptr) int32 { /* sqlite3.c:238717:12: */ var eDetail int32 = (*Fts5Config)(unsafe.Pointer((*Fts5Table)(unsafe.Pointer((*Fts5VocabCursor)(unsafe.Pointer(pCsr)).FpFts5)).FpConfig)).FeDetail var rc int32 = SQLITE_OK var pIter uintptr = (*Fts5VocabCursor)(unsafe.Pointer(pCsr)).FpIter @@ -193976,7 +194007,7 @@ func fts5VocabInstanceNext(tls *libc.TLS, pCsr uintptr) int32 { /* sqlite3.c:238 } // Advance the cursor to the next row in the table. -func fts5VocabNextMethod(tls *libc.TLS, pCursor uintptr) int32 { /* sqlite3.c:238692:12: */ +func fts5VocabNextMethod(tls *libc.TLS, pCursor uintptr) int32 { /* sqlite3.c:238749:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -194120,7 +194151,7 @@ func fts5VocabNextMethod(tls *libc.TLS, pCursor uintptr) int32 { /* sqlite3.c:23 } // This is the xFilter implementation for the virtual table. -func fts5VocabFilterMethod(tls *libc.TLS, pCursor uintptr, idxNum int32, zUnused uintptr, nUnused int32, apVal uintptr) int32 { /* sqlite3.c:238820:12: */ +func fts5VocabFilterMethod(tls *libc.TLS, pCursor uintptr, idxNum int32, zUnused uintptr, nUnused int32, apVal uintptr) int32 { /* sqlite3.c:238877:12: */ var pTab uintptr = (*Sqlite3_vtab_cursor)(unsafe.Pointer(pCursor)).FpVtab var pCsr uintptr = pCursor var eType int32 = (*Fts5VocabTable)(unsafe.Pointer(pTab)).FeType @@ -194194,12 +194225,12 @@ func fts5VocabFilterMethod(tls *libc.TLS, pCursor uintptr, idxNum int32, zUnused // This is the xEof method of the virtual table. SQLite calls this // routine to find out if it has reached the end of a result set. -func fts5VocabEofMethod(tls *libc.TLS, pCursor uintptr) int32 { /* sqlite3.c:238894:12: */ +func fts5VocabEofMethod(tls *libc.TLS, pCursor uintptr) int32 { /* sqlite3.c:238951:12: */ var pCsr uintptr = pCursor return (*Fts5VocabCursor)(unsafe.Pointer(pCsr)).FbEof } -func fts5VocabColumnMethod(tls *libc.TLS, pCursor uintptr, pCtx uintptr, iCol int32) int32 { /* sqlite3.c:238899:12: */ +func fts5VocabColumnMethod(tls *libc.TLS, pCursor uintptr, pCtx uintptr, iCol int32) int32 { /* sqlite3.c:238956:12: */ var pCsr uintptr = pCursor var eDetail int32 = (*Fts5Config)(unsafe.Pointer((*Fts5Table)(unsafe.Pointer((*Fts5VocabCursor)(unsafe.Pointer(pCsr)).FpFts5)).FpConfig)).FeDetail var eType int32 = (*Fts5VocabTable)(unsafe.Pointer((*Sqlite3_vtab_cursor)(unsafe.Pointer(pCursor)).FpVtab)).FeType @@ -194272,13 +194303,13 @@ func fts5VocabColumnMethod(tls *libc.TLS, pCursor uintptr, pCtx uintptr, iCol in // This is the xRowid method. The SQLite core calls this routine to // retrieve the rowid for the current row of the result set. The // rowid should be written to *pRowid. -func fts5VocabRowidMethod(tls *libc.TLS, pCursor uintptr, pRowid uintptr) int32 { /* sqlite3.c:238971:12: */ +func fts5VocabRowidMethod(tls *libc.TLS, pCursor uintptr, pRowid uintptr) int32 { /* sqlite3.c:239028:12: */ var pCsr uintptr = pCursor *(*Sqlite_int64)(unsafe.Pointer(pRowid)) = (*Fts5VocabCursor)(unsafe.Pointer(pCsr)).Frowid return SQLITE_OK } -func sqlite3Fts5VocabInit(tls *libc.TLS, pGlobal uintptr, db uintptr) int32 { /* sqlite3.c:238980:12: */ +func sqlite3Fts5VocabInit(tls *libc.TLS, pGlobal uintptr, db uintptr) int32 { /* sqlite3.c:239037:12: */ var p uintptr = pGlobal return Xsqlite3_create_module_v2(tls, db, ts+37452, uintptr(unsafe.Pointer(&fts5Vocab)), p, uintptr(0)) @@ -194298,7 +194329,7 @@ var fts5Vocab = Sqlite3_module{ /* xEof */ FxEof: 0, /* xColumn */ FxColumn: 0, /* xRowid */ FxRowid: 0, -} /* sqlite3.c:238981:31 */ +} /* sqlite3.c:239038:31 */ //************* End of fts5.c *********************************************** //************* Begin file stmt.c ******************************************* @@ -194325,8 +194356,8 @@ var fts5Vocab = Sqlite3_module{ //************* End of stmt.c *********************************************** // Return the source-id for this library -func Xsqlite3_sourceid(tls *libc.TLS) uintptr { /* sqlite3.c:239321:23: */ - return ts + 37462 /* "2022-03-12 13:37..." */ +func Xsqlite3_sourceid(tls *libc.TLS) uintptr { /* sqlite3.c:239378:23: */ + return ts + 37462 /* "2022-03-26 13:51..." */ } //************************* End of sqlite3.c ***************************** @@ -194335,162 +194366,162 @@ func init() { *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&Xsqlite3aEQb)) + 0)) = uintptr(unsafe.Pointer(&Xsqlite3UpperToLower)) + 210 // sqlite3.c:21690:51: *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&Xsqlite3aGTb)) + 0)) = uintptr(unsafe.Pointer(&Xsqlite3UpperToLower)) + 216 // sqlite3.c:21691:51: *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&Xsqlite3aLTb)) + 0)) = uintptr(unsafe.Pointer(&Xsqlite3UpperToLower)) + 204 // sqlite3.c:21689:51: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aAgg)) + 0)) = geopolyBBoxStep // sqlite3.c:201985:8: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aAgg)) + 8)) = geopolyBBoxFinal // sqlite3.c:201985:25: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aAlterTableFuncs)) + 24)) = renameColumnFunc // sqlite3.c:111067:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aAlterTableFuncs)) + 96)) = renameTableFunc // sqlite3.c:111068:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aAlterTableFuncs)) + 168)) = renameTableTest // sqlite3.c:111069:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aAlterTableFuncs)) + 240)) = dropColumnFunc // sqlite3.c:111070:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aAlterTableFuncs)) + 312)) = renameQuotefixFunc // sqlite3.c:111071:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 24)) = versionFunc // sqlite3.c:123272:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 96)) = versionFunc // sqlite3.c:123273:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 168)) = versionFunc // sqlite3.c:123274:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 240)) = versionFunc // sqlite3.c:123275:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 312)) = soundexFunc // sqlite3.c:123279:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 384)) = loadExt // sqlite3.c:123282:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 456)) = loadExt // sqlite3.c:123283:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 528)) = compileoptionusedFunc // sqlite3.c:123289:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 600)) = compileoptiongetFunc // sqlite3.c:123290:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 672)) = versionFunc // sqlite3.c:123292:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 744)) = versionFunc // sqlite3.c:123293:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 816)) = versionFunc // sqlite3.c:123294:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 888)) = versionFunc // sqlite3.c:123297:12: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 960)) = trimFunc // sqlite3.c:123299:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1032)) = trimFunc // sqlite3.c:123300:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1104)) = trimFunc // sqlite3.c:123301:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1176)) = trimFunc // sqlite3.c:123302:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1248)) = trimFunc // sqlite3.c:123303:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1320)) = trimFunc // sqlite3.c:123304:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1392)) = minmaxFunc // sqlite3.c:123305:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1536)) = minmaxStep // sqlite3.c:123307:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1544)) = minMaxFinalize // sqlite3.c:123307:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1552)) = minMaxValue // sqlite3.c:123307:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1608)) = minmaxFunc // sqlite3.c:123309:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1752)) = minmaxStep // sqlite3.c:123311:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1760)) = minMaxFinalize // sqlite3.c:123311:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1768)) = minMaxValue // sqlite3.c:123311:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1824)) = typeofFunc // sqlite3.c:123313:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1896)) = subtypeFunc // sqlite3.c:123314:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1968)) = lengthFunc // sqlite3.c:123315:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2040)) = instrFunc // sqlite3.c:123316:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2112)) = printfFunc // sqlite3.c:123317:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2184)) = printfFunc // sqlite3.c:123318:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2256)) = unicodeFunc // sqlite3.c:123319:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2328)) = charFunc // sqlite3.c:123320:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2400)) = absFunc // sqlite3.c:123321:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2472)) = roundFunc // sqlite3.c:123323:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2544)) = roundFunc // sqlite3.c:123324:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2616)) = upperFunc // sqlite3.c:123326:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2688)) = lowerFunc // sqlite3.c:123327:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2760)) = hexFunc // sqlite3.c:123328:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2832)) = versionFunc // sqlite3.c:123329:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2904)) = randomFunc // sqlite3.c:123330:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2976)) = randomBlob // sqlite3.c:123331:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3048)) = nullifFunc // sqlite3.c:123332:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3120)) = versionFunc // sqlite3.c:123333:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3192)) = sourceidFunc // sqlite3.c:123334:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3264)) = errlogFunc // sqlite3.c:123335:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3336)) = quoteFunc // sqlite3.c:123336:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3408)) = last_insert_rowid // sqlite3.c:123337:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3480)) = changes // sqlite3.c:123338:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3552)) = total_changes // sqlite3.c:123339:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3624)) = replaceFunc // sqlite3.c:123340:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3696)) = zeroblobFunc // sqlite3.c:123341:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3768)) = substrFunc // sqlite3.c:123342:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3840)) = substrFunc // sqlite3.c:123343:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3912)) = substrFunc // sqlite3.c:123344:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3984)) = substrFunc // sqlite3.c:123345:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4056)) = sumStep // sqlite3.c:123346:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4064)) = sumFinalize // sqlite3.c:123346:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4072)) = sumFinalize // sqlite3.c:123346:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4080)) = sumInverse // sqlite3.c:123346:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4128)) = sumStep // sqlite3.c:123347:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4136)) = totalFinalize // sqlite3.c:123347:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4144)) = totalFinalize // sqlite3.c:123347:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4152)) = sumInverse // sqlite3.c:123347:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4200)) = sumStep // sqlite3.c:123348:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4208)) = avgFinalize // sqlite3.c:123348:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4216)) = avgFinalize // sqlite3.c:123348:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4224)) = sumInverse // sqlite3.c:123348:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4272)) = countStep // sqlite3.c:123349:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4280)) = countFinalize // sqlite3.c:123349:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4288)) = countFinalize // sqlite3.c:123349:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4296)) = countInverse // sqlite3.c:123349:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4344)) = countStep // sqlite3.c:123352:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4352)) = countFinalize // sqlite3.c:123352:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4360)) = countFinalize // sqlite3.c:123352:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4368)) = countInverse // sqlite3.c:123352:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4416)) = groupConcatStep // sqlite3.c:123354:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4424)) = groupConcatFinalize // sqlite3.c:123354:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4432)) = groupConcatValue // sqlite3.c:123354:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4440)) = groupConcatInverse // sqlite3.c:123354:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4488)) = groupConcatStep // sqlite3.c:123356:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4496)) = groupConcatFinalize // sqlite3.c:123356:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4504)) = groupConcatValue // sqlite3.c:123356:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4512)) = groupConcatInverse // sqlite3.c:123356:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4544 /* .pUserData */)) = uintptr(unsafe.Pointer(&globInfo)) // sqlite3.c:123359:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4560)) = likeFunc // sqlite3.c:123359:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4616 /* .pUserData */)) = uintptr(unsafe.Pointer(&likeInfoNorm)) // sqlite3.c:123364:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4632)) = likeFunc // sqlite3.c:123364:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4688 /* .pUserData */)) = uintptr(unsafe.Pointer(&likeInfoNorm)) // sqlite3.c:123365:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4704)) = likeFunc // sqlite3.c:123365:5: - *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4904)) = xCeil // sqlite3.c:123373:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4920)) = ceilingFunc // sqlite3.c:123373:5: - *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4976)) = xCeil // sqlite3.c:123374:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4992)) = ceilingFunc // sqlite3.c:123374:5: - *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5048)) = xFloor // sqlite3.c:123375:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5064)) = ceilingFunc // sqlite3.c:123375:5: - *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5120)) = libc.Xtrunc // sqlite3.c:123377:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5136)) = ceilingFunc // sqlite3.c:123377:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5208)) = logFunc // sqlite3.c:123379:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5280)) = logFunc // sqlite3.c:123380:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5352)) = logFunc // sqlite3.c:123381:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5424)) = logFunc // sqlite3.c:123382:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5496)) = logFunc // sqlite3.c:123383:5: - *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5552)) = libc.Xexp // sqlite3.c:123384:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5568)) = math1Func // sqlite3.c:123384:5: - *(*func(*libc.TLS, float64, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5624)) = libc.Xpow // sqlite3.c:123385:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5640)) = math2Func // sqlite3.c:123385:5: - *(*func(*libc.TLS, float64, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5696)) = libc.Xpow // sqlite3.c:123386:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5712)) = math2Func // sqlite3.c:123386:5: - *(*func(*libc.TLS, float64, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5768)) = libc.Xfmod // sqlite3.c:123387:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5784)) = math2Func // sqlite3.c:123387:5: - *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5840)) = libc.Xacos // sqlite3.c:123388:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5856)) = math1Func // sqlite3.c:123388:5: - *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5912)) = libc.Xasin // sqlite3.c:123389:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5928)) = math1Func // sqlite3.c:123389:5: - *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5984)) = libc.Xatan // sqlite3.c:123390:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6000)) = math1Func // sqlite3.c:123390:5: - *(*func(*libc.TLS, float64, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6056)) = libc.Xatan2 // sqlite3.c:123391:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6072)) = math2Func // sqlite3.c:123391:5: - *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6128)) = libc.Xcos // sqlite3.c:123392:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6144)) = math1Func // sqlite3.c:123392:5: - *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6200)) = libc.Xsin // sqlite3.c:123393:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6216)) = math1Func // sqlite3.c:123393:5: - *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6272)) = libc.Xtan // sqlite3.c:123394:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6288)) = math1Func // sqlite3.c:123394:5: - *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6344)) = libc.Xcosh // sqlite3.c:123395:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6360)) = math1Func // sqlite3.c:123395:5: - *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6416)) = libc.Xsinh // sqlite3.c:123396:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6432)) = math1Func // sqlite3.c:123396:5: - *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6488)) = libc.Xtanh // sqlite3.c:123397:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6504)) = math1Func // sqlite3.c:123397:5: - *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6560)) = libc.Xacosh // sqlite3.c:123399:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6576)) = math1Func // sqlite3.c:123399:5: - *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6632)) = libc.Xasinh // sqlite3.c:123400:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6648)) = math1Func // sqlite3.c:123400:5: - *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6704)) = libc.Xatanh // sqlite3.c:123401:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6720)) = math1Func // sqlite3.c:123401:5: - *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6776)) = libc.Xsqrt // sqlite3.c:123403:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6792)) = math1Func // sqlite3.c:123403:5: - *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6848)) = degToRad // sqlite3.c:123404:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6864)) = math1Func // sqlite3.c:123404:5: - *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6920)) = radToDeg // sqlite3.c:123405:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6936)) = math1Func // sqlite3.c:123405:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 7008)) = piFunc // sqlite3.c:123406:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 7080)) = signFunc // sqlite3.c:123408:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 7152)) = versionFunc // sqlite3.c:123409:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 7224)) = versionFunc // sqlite3.c:123410:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aAgg)) + 0)) = geopolyBBoxStep // sqlite3.c:202042:8: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aAgg)) + 8)) = geopolyBBoxFinal // sqlite3.c:202042:25: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aAlterTableFuncs)) + 24)) = renameColumnFunc // sqlite3.c:111080:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aAlterTableFuncs)) + 96)) = renameTableFunc // sqlite3.c:111081:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aAlterTableFuncs)) + 168)) = renameTableTest // sqlite3.c:111082:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aAlterTableFuncs)) + 240)) = dropColumnFunc // sqlite3.c:111083:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aAlterTableFuncs)) + 312)) = renameQuotefixFunc // sqlite3.c:111084:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 24)) = versionFunc // sqlite3.c:123285:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 96)) = versionFunc // sqlite3.c:123286:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 168)) = versionFunc // sqlite3.c:123287:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 240)) = versionFunc // sqlite3.c:123288:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 312)) = soundexFunc // sqlite3.c:123292:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 384)) = loadExt // sqlite3.c:123295:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 456)) = loadExt // sqlite3.c:123296:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 528)) = compileoptionusedFunc // sqlite3.c:123302:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 600)) = compileoptiongetFunc // sqlite3.c:123303:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 672)) = versionFunc // sqlite3.c:123305:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 744)) = versionFunc // sqlite3.c:123306:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 816)) = versionFunc // sqlite3.c:123307:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 888)) = versionFunc // sqlite3.c:123310:12: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 960)) = trimFunc // sqlite3.c:123312:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1032)) = trimFunc // sqlite3.c:123313:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1104)) = trimFunc // sqlite3.c:123314:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1176)) = trimFunc // sqlite3.c:123315:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1248)) = trimFunc // sqlite3.c:123316:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1320)) = trimFunc // sqlite3.c:123317:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1392)) = minmaxFunc // sqlite3.c:123318:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1536)) = minmaxStep // sqlite3.c:123320:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1544)) = minMaxFinalize // sqlite3.c:123320:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1552)) = minMaxValue // sqlite3.c:123320:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1608)) = minmaxFunc // sqlite3.c:123322:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1752)) = minmaxStep // sqlite3.c:123324:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1760)) = minMaxFinalize // sqlite3.c:123324:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1768)) = minMaxValue // sqlite3.c:123324:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1824)) = typeofFunc // sqlite3.c:123326:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1896)) = subtypeFunc // sqlite3.c:123327:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1968)) = lengthFunc // sqlite3.c:123328:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2040)) = instrFunc // sqlite3.c:123329:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2112)) = printfFunc // sqlite3.c:123330:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2184)) = printfFunc // sqlite3.c:123331:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2256)) = unicodeFunc // sqlite3.c:123332:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2328)) = charFunc // sqlite3.c:123333:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2400)) = absFunc // sqlite3.c:123334:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2472)) = roundFunc // sqlite3.c:123336:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2544)) = roundFunc // sqlite3.c:123337:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2616)) = upperFunc // sqlite3.c:123339:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2688)) = lowerFunc // sqlite3.c:123340:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2760)) = hexFunc // sqlite3.c:123341:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2832)) = versionFunc // sqlite3.c:123342:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2904)) = randomFunc // sqlite3.c:123343:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2976)) = randomBlob // sqlite3.c:123344:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3048)) = nullifFunc // sqlite3.c:123345:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3120)) = versionFunc // sqlite3.c:123346:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3192)) = sourceidFunc // sqlite3.c:123347:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3264)) = errlogFunc // sqlite3.c:123348:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3336)) = quoteFunc // sqlite3.c:123349:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3408)) = last_insert_rowid // sqlite3.c:123350:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3480)) = changes // sqlite3.c:123351:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3552)) = total_changes // sqlite3.c:123352:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3624)) = replaceFunc // sqlite3.c:123353:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3696)) = zeroblobFunc // sqlite3.c:123354:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3768)) = substrFunc // sqlite3.c:123355:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3840)) = substrFunc // sqlite3.c:123356:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3912)) = substrFunc // sqlite3.c:123357:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3984)) = substrFunc // sqlite3.c:123358:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4056)) = sumStep // sqlite3.c:123359:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4064)) = sumFinalize // sqlite3.c:123359:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4072)) = sumFinalize // sqlite3.c:123359:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4080)) = sumInverse // sqlite3.c:123359:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4128)) = sumStep // sqlite3.c:123360:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4136)) = totalFinalize // sqlite3.c:123360:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4144)) = totalFinalize // sqlite3.c:123360:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4152)) = sumInverse // sqlite3.c:123360:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4200)) = sumStep // sqlite3.c:123361:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4208)) = avgFinalize // sqlite3.c:123361:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4216)) = avgFinalize // sqlite3.c:123361:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4224)) = sumInverse // sqlite3.c:123361:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4272)) = countStep // sqlite3.c:123362:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4280)) = countFinalize // sqlite3.c:123362:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4288)) = countFinalize // sqlite3.c:123362:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4296)) = countInverse // sqlite3.c:123362:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4344)) = countStep // sqlite3.c:123365:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4352)) = countFinalize // sqlite3.c:123365:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4360)) = countFinalize // sqlite3.c:123365:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4368)) = countInverse // sqlite3.c:123365:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4416)) = groupConcatStep // sqlite3.c:123367:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4424)) = groupConcatFinalize // sqlite3.c:123367:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4432)) = groupConcatValue // sqlite3.c:123367:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4440)) = groupConcatInverse // sqlite3.c:123367:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4488)) = groupConcatStep // sqlite3.c:123369:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4496)) = groupConcatFinalize // sqlite3.c:123369:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4504)) = groupConcatValue // sqlite3.c:123369:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4512)) = groupConcatInverse // sqlite3.c:123369:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4544 /* .pUserData */)) = uintptr(unsafe.Pointer(&globInfo)) // sqlite3.c:123372:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4560)) = likeFunc // sqlite3.c:123372:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4616 /* .pUserData */)) = uintptr(unsafe.Pointer(&likeInfoNorm)) // sqlite3.c:123377:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4632)) = likeFunc // sqlite3.c:123377:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4688 /* .pUserData */)) = uintptr(unsafe.Pointer(&likeInfoNorm)) // sqlite3.c:123378:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4704)) = likeFunc // sqlite3.c:123378:5: + *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4904)) = xCeil // sqlite3.c:123386:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4920)) = ceilingFunc // sqlite3.c:123386:5: + *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4976)) = xCeil // sqlite3.c:123387:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4992)) = ceilingFunc // sqlite3.c:123387:5: + *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5048)) = xFloor // sqlite3.c:123388:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5064)) = ceilingFunc // sqlite3.c:123388:5: + *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5120)) = libc.Xtrunc // sqlite3.c:123390:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5136)) = ceilingFunc // sqlite3.c:123390:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5208)) = logFunc // sqlite3.c:123392:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5280)) = logFunc // sqlite3.c:123393:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5352)) = logFunc // sqlite3.c:123394:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5424)) = logFunc // sqlite3.c:123395:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5496)) = logFunc // sqlite3.c:123396:5: + *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5552)) = libc.Xexp // sqlite3.c:123397:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5568)) = math1Func // sqlite3.c:123397:5: + *(*func(*libc.TLS, float64, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5624)) = libc.Xpow // sqlite3.c:123398:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5640)) = math2Func // sqlite3.c:123398:5: + *(*func(*libc.TLS, float64, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5696)) = libc.Xpow // sqlite3.c:123399:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5712)) = math2Func // sqlite3.c:123399:5: + *(*func(*libc.TLS, float64, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5768)) = libc.Xfmod // sqlite3.c:123400:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5784)) = math2Func // sqlite3.c:123400:5: + *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5840)) = libc.Xacos // sqlite3.c:123401:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5856)) = math1Func // sqlite3.c:123401:5: + *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5912)) = libc.Xasin // sqlite3.c:123402:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5928)) = math1Func // sqlite3.c:123402:5: + *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5984)) = libc.Xatan // sqlite3.c:123403:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6000)) = math1Func // sqlite3.c:123403:5: + *(*func(*libc.TLS, float64, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6056)) = libc.Xatan2 // sqlite3.c:123404:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6072)) = math2Func // sqlite3.c:123404:5: + *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6128)) = libc.Xcos // sqlite3.c:123405:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6144)) = math1Func // sqlite3.c:123405:5: + *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6200)) = libc.Xsin // sqlite3.c:123406:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6216)) = math1Func // sqlite3.c:123406:5: + *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6272)) = libc.Xtan // sqlite3.c:123407:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6288)) = math1Func // sqlite3.c:123407:5: + *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6344)) = libc.Xcosh // sqlite3.c:123408:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6360)) = math1Func // sqlite3.c:123408:5: + *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6416)) = libc.Xsinh // sqlite3.c:123409:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6432)) = math1Func // sqlite3.c:123409:5: + *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6488)) = libc.Xtanh // sqlite3.c:123410:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6504)) = math1Func // sqlite3.c:123410:5: + *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6560)) = libc.Xacosh // sqlite3.c:123412:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6576)) = math1Func // sqlite3.c:123412:5: + *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6632)) = libc.Xasinh // sqlite3.c:123413:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6648)) = math1Func // sqlite3.c:123413:5: + *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6704)) = libc.Xatanh // sqlite3.c:123414:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6720)) = math1Func // sqlite3.c:123414:5: + *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6776)) = libc.Xsqrt // sqlite3.c:123416:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6792)) = math1Func // sqlite3.c:123416:5: + *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6848)) = degToRad // sqlite3.c:123417:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6864)) = math1Func // sqlite3.c:123417:5: + *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6920)) = radToDeg // sqlite3.c:123418:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6936)) = math1Func // sqlite3.c:123418:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 7008)) = piFunc // sqlite3.c:123419:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 7080)) = signFunc // sqlite3.c:123421:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 7152)) = versionFunc // sqlite3.c:123422:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 7224)) = versionFunc // sqlite3.c:123423:5: *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aDateTimeFuncs)) + 8 /* .pUserData */)) = uintptr(unsafe.Pointer(&Xsqlite3Config)) // sqlite3.c:24402:5: *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aDateTimeFuncs)) + 24)) = juliandayFunc // sqlite3.c:24402:5: *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aDateTimeFuncs)) + 80 /* .pUserData */)) = uintptr(unsafe.Pointer(&Xsqlite3Config)) // sqlite3.c:24403:5: @@ -194506,45 +194537,45 @@ func init() { *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aDateTimeFuncs)) + 456)) = ctimeFunc // sqlite3.c:24408:5: *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aDateTimeFuncs)) + 528)) = ctimestampFunc // sqlite3.c:24409:5: *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aDateTimeFuncs)) + 600)) = cdateFunc // sqlite3.c:24410:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 0)) = geopolyAreaFunc // sqlite3.c:201967:8: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 24)) = geopolyBlobFunc // sqlite3.c:201968:8: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 48)) = geopolyJsonFunc // sqlite3.c:201969:8: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 72)) = geopolySvgFunc // sqlite3.c:201970:8: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 96)) = geopolyWithinFunc // sqlite3.c:201971:8: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 120)) = geopolyContainsPointFunc // sqlite3.c:201972:8: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 144)) = geopolyOverlapFunc // sqlite3.c:201973:8: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 168)) = geopolyDebugFunc // sqlite3.c:201974:8: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 192)) = geopolyBBoxFunc // sqlite3.c:201975:8: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 216)) = geopolyXformFunc // sqlite3.c:201976:8: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 240)) = geopolyRegularFunc // sqlite3.c:201977:8: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 264)) = geopolyCcwFunc // sqlite3.c:201978:8: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 24)) = jsonRemoveFunc // sqlite3.c:195736:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 96)) = jsonArrayFunc // sqlite3.c:195737:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 168)) = jsonArrayLengthFunc // sqlite3.c:195738:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 240)) = jsonArrayLengthFunc // sqlite3.c:195739:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 312)) = jsonExtractFunc // sqlite3.c:195740:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 384)) = jsonExtractFunc // sqlite3.c:195741:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 456)) = jsonExtractFunc // sqlite3.c:195742:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 528)) = jsonSetFunc // sqlite3.c:195743:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 600)) = jsonObjectFunc // sqlite3.c:195744:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 672)) = jsonPatchFunc // sqlite3.c:195745:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 744)) = jsonQuoteFunc // sqlite3.c:195746:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 816)) = jsonRemoveFunc // sqlite3.c:195747:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 888)) = jsonReplaceFunc // sqlite3.c:195748:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 960)) = jsonSetFunc // sqlite3.c:195749:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 1032)) = jsonTypeFunc // sqlite3.c:195750:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 1104)) = jsonTypeFunc // sqlite3.c:195751:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 1176)) = jsonValidFunc // sqlite3.c:195752:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 1248)) = jsonArrayStep // sqlite3.c:195757:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 1256)) = jsonArrayFinal // sqlite3.c:195757:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 1264)) = jsonArrayValue // sqlite3.c:195757:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 1272)) = jsonGroupInverse // sqlite3.c:195757:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 1320)) = jsonObjectStep // sqlite3.c:195760:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 1328)) = jsonObjectFinal // sqlite3.c:195760:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 1336)) = jsonObjectValue // sqlite3.c:195760:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 1344)) = jsonGroupInverse // sqlite3.c:195760:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aMod)) + 8 /* .pModule */)) = uintptr(unsafe.Pointer(&jsonEachModule)) // sqlite3.c:195778:31: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aMod)) + 24 /* .pModule */)) = uintptr(unsafe.Pointer(&jsonTreeModule)) // sqlite3.c:195779:31: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 0)) = geopolyAreaFunc // sqlite3.c:202024:8: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 24)) = geopolyBlobFunc // sqlite3.c:202025:8: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 48)) = geopolyJsonFunc // sqlite3.c:202026:8: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 72)) = geopolySvgFunc // sqlite3.c:202027:8: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 96)) = geopolyWithinFunc // sqlite3.c:202028:8: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 120)) = geopolyContainsPointFunc // sqlite3.c:202029:8: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 144)) = geopolyOverlapFunc // sqlite3.c:202030:8: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 168)) = geopolyDebugFunc // sqlite3.c:202031:8: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 192)) = geopolyBBoxFunc // sqlite3.c:202032:8: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 216)) = geopolyXformFunc // sqlite3.c:202033:8: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 240)) = geopolyRegularFunc // sqlite3.c:202034:8: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 264)) = geopolyCcwFunc // sqlite3.c:202035:8: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 24)) = jsonRemoveFunc // sqlite3.c:195793:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 96)) = jsonArrayFunc // sqlite3.c:195794:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 168)) = jsonArrayLengthFunc // sqlite3.c:195795:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 240)) = jsonArrayLengthFunc // sqlite3.c:195796:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 312)) = jsonExtractFunc // sqlite3.c:195797:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 384)) = jsonExtractFunc // sqlite3.c:195798:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 456)) = jsonExtractFunc // sqlite3.c:195799:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 528)) = jsonSetFunc // sqlite3.c:195800:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 600)) = jsonObjectFunc // sqlite3.c:195801:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 672)) = jsonPatchFunc // sqlite3.c:195802:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 744)) = jsonQuoteFunc // sqlite3.c:195803:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 816)) = jsonRemoveFunc // sqlite3.c:195804:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 888)) = jsonReplaceFunc // sqlite3.c:195805:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 960)) = jsonSetFunc // sqlite3.c:195806:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 1032)) = jsonTypeFunc // sqlite3.c:195807:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 1104)) = jsonTypeFunc // sqlite3.c:195808:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 1176)) = jsonValidFunc // sqlite3.c:195809:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 1248)) = jsonArrayStep // sqlite3.c:195814:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 1256)) = jsonArrayFinal // sqlite3.c:195814:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 1264)) = jsonArrayValue // sqlite3.c:195814:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 1272)) = jsonGroupInverse // sqlite3.c:195814:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 1320)) = jsonObjectStep // sqlite3.c:195817:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 1328)) = jsonObjectFinal // sqlite3.c:195817:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 1336)) = jsonObjectValue // sqlite3.c:195817:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 1344)) = jsonGroupInverse // sqlite3.c:195817:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aMod)) + 8 /* .pModule */)) = uintptr(unsafe.Pointer(&jsonEachModule)) // sqlite3.c:195835:31: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aMod)) + 24 /* .pModule */)) = uintptr(unsafe.Pointer(&jsonTreeModule)) // sqlite3.c:195836:31: *(*Sqlite3_syscall_ptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 8 /* .pCurrent */)) = *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, int32) int32 }{posixOpen})) // sqlite3.c:35170:21: @@ -194605,150 +194636,150 @@ func init() { *(*Sqlite3_syscall_ptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 656 /* .pCurrent */)) = *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr) int32 }{libc.Xlstat})) // sqlite3.c:35313:22: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 32 /* .pAppData */)) = uintptr(unsafe.Pointer(&posixIoFinder)) // sqlite3.c:42842:5: - *(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 40)) = unixOpen // sqlite3.c:42842:5: - *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 48)) = unixDelete // sqlite3.c:42842:5: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 56)) = unixAccess // sqlite3.c:42842:5: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 64)) = unixFullPathname // sqlite3.c:42842:5: - *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 72)) = unixDlOpen // sqlite3.c:42842:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 80)) = unixDlError // sqlite3.c:42842:5: - *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 88)) = unixDlSym // sqlite3.c:42842:5: - *(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 96)) = unixDlClose // sqlite3.c:42842:5: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 104)) = unixRandomness // sqlite3.c:42842:5: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 112)) = unixSleep // sqlite3.c:42842:5: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 120)) = unixCurrentTime // sqlite3.c:42842:5: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 128)) = unixGetLastError // sqlite3.c:42842:5: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 136)) = unixCurrentTimeInt64 // sqlite3.c:42842:5: - *(*func(*libc.TLS, uintptr, uintptr, Sqlite3_syscall_ptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 144)) = unixSetSystemCall // sqlite3.c:42842:5: - *(*func(*libc.TLS, uintptr, uintptr) Sqlite3_syscall_ptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 152)) = unixGetSystemCall // sqlite3.c:42842:5: - *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 160)) = unixNextSystemCall // sqlite3.c:42842:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 200 /* .pAppData */)) = uintptr(unsafe.Pointer(&nolockIoFinder)) // sqlite3.c:42844:5: - *(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 208)) = unixOpen // sqlite3.c:42844:5: - *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 216)) = unixDelete // sqlite3.c:42844:5: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 224)) = unixAccess // sqlite3.c:42844:5: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 232)) = unixFullPathname // sqlite3.c:42844:5: - *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 240)) = unixDlOpen // sqlite3.c:42844:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 248)) = unixDlError // sqlite3.c:42844:5: - *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 256)) = unixDlSym // sqlite3.c:42844:5: - *(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 264)) = unixDlClose // sqlite3.c:42844:5: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 272)) = unixRandomness // sqlite3.c:42844:5: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 280)) = unixSleep // sqlite3.c:42844:5: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 288)) = unixCurrentTime // sqlite3.c:42844:5: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 296)) = unixGetLastError // sqlite3.c:42844:5: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 304)) = unixCurrentTimeInt64 // sqlite3.c:42844:5: - *(*func(*libc.TLS, uintptr, uintptr, Sqlite3_syscall_ptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 312)) = unixSetSystemCall // sqlite3.c:42844:5: - *(*func(*libc.TLS, uintptr, uintptr) Sqlite3_syscall_ptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 320)) = unixGetSystemCall // sqlite3.c:42844:5: - *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 328)) = unixNextSystemCall // sqlite3.c:42844:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 368 /* .pAppData */)) = uintptr(unsafe.Pointer(&dotlockIoFinder)) // sqlite3.c:42845:5: - *(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 376)) = unixOpen // sqlite3.c:42845:5: - *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 384)) = unixDelete // sqlite3.c:42845:5: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 392)) = unixAccess // sqlite3.c:42845:5: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 400)) = unixFullPathname // sqlite3.c:42845:5: - *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 408)) = unixDlOpen // sqlite3.c:42845:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 416)) = unixDlError // sqlite3.c:42845:5: - *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 424)) = unixDlSym // sqlite3.c:42845:5: - *(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 432)) = unixDlClose // sqlite3.c:42845:5: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 440)) = unixRandomness // sqlite3.c:42845:5: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 448)) = unixSleep // sqlite3.c:42845:5: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 456)) = unixCurrentTime // sqlite3.c:42845:5: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 464)) = unixGetLastError // sqlite3.c:42845:5: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 472)) = unixCurrentTimeInt64 // sqlite3.c:42845:5: - *(*func(*libc.TLS, uintptr, uintptr, Sqlite3_syscall_ptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 480)) = unixSetSystemCall // sqlite3.c:42845:5: - *(*func(*libc.TLS, uintptr, uintptr) Sqlite3_syscall_ptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 488)) = unixGetSystemCall // sqlite3.c:42845:5: - *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 496)) = unixNextSystemCall // sqlite3.c:42845:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 536 /* .pAppData */)) = uintptr(unsafe.Pointer(&posixIoFinder)) // sqlite3.c:42846:5: - *(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 544)) = unixOpen // sqlite3.c:42846:5: - *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 552)) = unixDelete // sqlite3.c:42846:5: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 560)) = unixAccess // sqlite3.c:42846:5: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 568)) = unixFullPathname // sqlite3.c:42846:5: - *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 576)) = unixDlOpen // sqlite3.c:42846:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 584)) = unixDlError // sqlite3.c:42846:5: - *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 592)) = unixDlSym // sqlite3.c:42846:5: - *(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 600)) = unixDlClose // sqlite3.c:42846:5: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 608)) = unixRandomness // sqlite3.c:42846:5: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 616)) = unixSleep // sqlite3.c:42846:5: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 624)) = unixCurrentTime // sqlite3.c:42846:5: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 632)) = unixGetLastError // sqlite3.c:42846:5: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 640)) = unixCurrentTimeInt64 // sqlite3.c:42846:5: - *(*func(*libc.TLS, uintptr, uintptr, Sqlite3_syscall_ptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 648)) = unixSetSystemCall // sqlite3.c:42846:5: - *(*func(*libc.TLS, uintptr, uintptr) Sqlite3_syscall_ptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 656)) = unixGetSystemCall // sqlite3.c:42846:5: - *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 664)) = unixNextSystemCall // sqlite3.c:42846:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 24)) = row_numberStepFunc // sqlite3.c:158796:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 32)) = row_numberValueFunc // sqlite3.c:158796:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 40)) = row_numberValueFunc // sqlite3.c:158796:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 48)) = noopStepFunc // sqlite3.c:158796:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 56 /* .zName */)) = uintptr(unsafe.Pointer(&row_numberName)) // sqlite3.c:158796:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 96)) = dense_rankStepFunc // sqlite3.c:158797:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 104)) = dense_rankValueFunc // sqlite3.c:158797:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 112)) = dense_rankValueFunc // sqlite3.c:158797:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 120)) = noopStepFunc // sqlite3.c:158797:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 128 /* .zName */)) = uintptr(unsafe.Pointer(&dense_rankName)) // sqlite3.c:158797:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 168)) = rankStepFunc // sqlite3.c:158798:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 176)) = rankValueFunc // sqlite3.c:158798:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 184)) = rankValueFunc // sqlite3.c:158798:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 192)) = noopStepFunc // sqlite3.c:158798:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 200 /* .zName */)) = uintptr(unsafe.Pointer(&rankName)) // sqlite3.c:158798:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 240)) = percent_rankStepFunc // sqlite3.c:158799:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 248)) = percent_rankValueFunc // sqlite3.c:158799:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 256)) = percent_rankValueFunc // sqlite3.c:158799:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 264)) = percent_rankInvFunc // sqlite3.c:158799:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 272 /* .zName */)) = uintptr(unsafe.Pointer(&percent_rankName)) // sqlite3.c:158799:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 312)) = cume_distStepFunc // sqlite3.c:158800:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 320)) = cume_distValueFunc // sqlite3.c:158800:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 328)) = cume_distValueFunc // sqlite3.c:158800:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 336)) = cume_distInvFunc // sqlite3.c:158800:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 344 /* .zName */)) = uintptr(unsafe.Pointer(&cume_distName)) // sqlite3.c:158800:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 384)) = ntileStepFunc // sqlite3.c:158801:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 392)) = ntileValueFunc // sqlite3.c:158801:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 400)) = ntileValueFunc // sqlite3.c:158801:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 408)) = ntileInvFunc // sqlite3.c:158801:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 416 /* .zName */)) = uintptr(unsafe.Pointer(&ntileName)) // sqlite3.c:158801:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 456)) = last_valueStepFunc // sqlite3.c:158802:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 464)) = last_valueFinalizeFunc // sqlite3.c:158802:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 472)) = last_valueValueFunc // sqlite3.c:158802:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 480)) = last_valueInvFunc // sqlite3.c:158802:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 488 /* .zName */)) = uintptr(unsafe.Pointer(&last_valueName)) // sqlite3.c:158802:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 528)) = nth_valueStepFunc // sqlite3.c:158803:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 536)) = nth_valueFinalizeFunc // sqlite3.c:158803:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 544)) = noopValueFunc // sqlite3.c:158803:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 552)) = noopStepFunc // sqlite3.c:158803:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 560 /* .zName */)) = uintptr(unsafe.Pointer(&nth_valueName)) // sqlite3.c:158803:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 600)) = first_valueStepFunc // sqlite3.c:158804:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 608)) = first_valueFinalizeFunc // sqlite3.c:158804:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 616)) = noopValueFunc // sqlite3.c:158804:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 624)) = noopStepFunc // sqlite3.c:158804:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 632 /* .zName */)) = uintptr(unsafe.Pointer(&first_valueName)) // sqlite3.c:158804:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 672)) = noopStepFunc // sqlite3.c:158805:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 680)) = noopValueFunc // sqlite3.c:158805:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 688)) = noopValueFunc // sqlite3.c:158805:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 696)) = noopStepFunc // sqlite3.c:158805:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 704 /* .zName */)) = uintptr(unsafe.Pointer(&leadName)) // sqlite3.c:158805:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 744)) = noopStepFunc // sqlite3.c:158806:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 752)) = noopValueFunc // sqlite3.c:158806:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 760)) = noopValueFunc // sqlite3.c:158806:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 768)) = noopStepFunc // sqlite3.c:158806:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 776 /* .zName */)) = uintptr(unsafe.Pointer(&leadName)) // sqlite3.c:158806:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 816)) = noopStepFunc // sqlite3.c:158807:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 824)) = noopValueFunc // sqlite3.c:158807:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 832)) = noopValueFunc // sqlite3.c:158807:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 840)) = noopStepFunc // sqlite3.c:158807:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 848 /* .zName */)) = uintptr(unsafe.Pointer(&leadName)) // sqlite3.c:158807:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 888)) = noopStepFunc // sqlite3.c:158808:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 896)) = noopValueFunc // sqlite3.c:158808:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 904)) = noopValueFunc // sqlite3.c:158808:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 912)) = noopStepFunc // sqlite3.c:158808:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 920 /* .zName */)) = uintptr(unsafe.Pointer(&lagName)) // sqlite3.c:158808:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 960)) = noopStepFunc // sqlite3.c:158809:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 968)) = noopValueFunc // sqlite3.c:158809:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 976)) = noopValueFunc // sqlite3.c:158809:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 984)) = noopStepFunc // sqlite3.c:158809:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 992 /* .zName */)) = uintptr(unsafe.Pointer(&lagName)) // sqlite3.c:158809:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 1032)) = noopStepFunc // sqlite3.c:158810:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 1040)) = noopValueFunc // sqlite3.c:158810:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 1048)) = noopValueFunc // sqlite3.c:158810:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 1056)) = noopStepFunc // sqlite3.c:158810:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 1064 /* .zName */)) = uintptr(unsafe.Pointer(&lagName)) // sqlite3.c:158810:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&attach_func)) + 24)) = attachFunc // sqlite3.c:113438:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 32 /* .pAppData */)) = uintptr(unsafe.Pointer(&posixIoFinder)) // sqlite3.c:42848:5: + *(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 40)) = unixOpen // sqlite3.c:42848:5: + *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 48)) = unixDelete // sqlite3.c:42848:5: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 56)) = unixAccess // sqlite3.c:42848:5: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 64)) = unixFullPathname // sqlite3.c:42848:5: + *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 72)) = unixDlOpen // sqlite3.c:42848:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 80)) = unixDlError // sqlite3.c:42848:5: + *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 88)) = unixDlSym // sqlite3.c:42848:5: + *(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 96)) = unixDlClose // sqlite3.c:42848:5: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 104)) = unixRandomness // sqlite3.c:42848:5: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 112)) = unixSleep // sqlite3.c:42848:5: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 120)) = unixCurrentTime // sqlite3.c:42848:5: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 128)) = unixGetLastError // sqlite3.c:42848:5: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 136)) = unixCurrentTimeInt64 // sqlite3.c:42848:5: + *(*func(*libc.TLS, uintptr, uintptr, Sqlite3_syscall_ptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 144)) = unixSetSystemCall // sqlite3.c:42848:5: + *(*func(*libc.TLS, uintptr, uintptr) Sqlite3_syscall_ptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 152)) = unixGetSystemCall // sqlite3.c:42848:5: + *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 160)) = unixNextSystemCall // sqlite3.c:42848:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 200 /* .pAppData */)) = uintptr(unsafe.Pointer(&nolockIoFinder)) // sqlite3.c:42850:5: + *(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 208)) = unixOpen // sqlite3.c:42850:5: + *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 216)) = unixDelete // sqlite3.c:42850:5: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 224)) = unixAccess // sqlite3.c:42850:5: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 232)) = unixFullPathname // sqlite3.c:42850:5: + *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 240)) = unixDlOpen // sqlite3.c:42850:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 248)) = unixDlError // sqlite3.c:42850:5: + *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 256)) = unixDlSym // sqlite3.c:42850:5: + *(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 264)) = unixDlClose // sqlite3.c:42850:5: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 272)) = unixRandomness // sqlite3.c:42850:5: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 280)) = unixSleep // sqlite3.c:42850:5: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 288)) = unixCurrentTime // sqlite3.c:42850:5: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 296)) = unixGetLastError // sqlite3.c:42850:5: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 304)) = unixCurrentTimeInt64 // sqlite3.c:42850:5: + *(*func(*libc.TLS, uintptr, uintptr, Sqlite3_syscall_ptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 312)) = unixSetSystemCall // sqlite3.c:42850:5: + *(*func(*libc.TLS, uintptr, uintptr) Sqlite3_syscall_ptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 320)) = unixGetSystemCall // sqlite3.c:42850:5: + *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 328)) = unixNextSystemCall // sqlite3.c:42850:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 368 /* .pAppData */)) = uintptr(unsafe.Pointer(&dotlockIoFinder)) // sqlite3.c:42851:5: + *(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 376)) = unixOpen // sqlite3.c:42851:5: + *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 384)) = unixDelete // sqlite3.c:42851:5: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 392)) = unixAccess // sqlite3.c:42851:5: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 400)) = unixFullPathname // sqlite3.c:42851:5: + *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 408)) = unixDlOpen // sqlite3.c:42851:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 416)) = unixDlError // sqlite3.c:42851:5: + *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 424)) = unixDlSym // sqlite3.c:42851:5: + *(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 432)) = unixDlClose // sqlite3.c:42851:5: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 440)) = unixRandomness // sqlite3.c:42851:5: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 448)) = unixSleep // sqlite3.c:42851:5: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 456)) = unixCurrentTime // sqlite3.c:42851:5: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 464)) = unixGetLastError // sqlite3.c:42851:5: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 472)) = unixCurrentTimeInt64 // sqlite3.c:42851:5: + *(*func(*libc.TLS, uintptr, uintptr, Sqlite3_syscall_ptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 480)) = unixSetSystemCall // sqlite3.c:42851:5: + *(*func(*libc.TLS, uintptr, uintptr) Sqlite3_syscall_ptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 488)) = unixGetSystemCall // sqlite3.c:42851:5: + *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 496)) = unixNextSystemCall // sqlite3.c:42851:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 536 /* .pAppData */)) = uintptr(unsafe.Pointer(&posixIoFinder)) // sqlite3.c:42852:5: + *(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 544)) = unixOpen // sqlite3.c:42852:5: + *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 552)) = unixDelete // sqlite3.c:42852:5: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 560)) = unixAccess // sqlite3.c:42852:5: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 568)) = unixFullPathname // sqlite3.c:42852:5: + *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 576)) = unixDlOpen // sqlite3.c:42852:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 584)) = unixDlError // sqlite3.c:42852:5: + *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 592)) = unixDlSym // sqlite3.c:42852:5: + *(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 600)) = unixDlClose // sqlite3.c:42852:5: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 608)) = unixRandomness // sqlite3.c:42852:5: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 616)) = unixSleep // sqlite3.c:42852:5: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 624)) = unixCurrentTime // sqlite3.c:42852:5: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 632)) = unixGetLastError // sqlite3.c:42852:5: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 640)) = unixCurrentTimeInt64 // sqlite3.c:42852:5: + *(*func(*libc.TLS, uintptr, uintptr, Sqlite3_syscall_ptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 648)) = unixSetSystemCall // sqlite3.c:42852:5: + *(*func(*libc.TLS, uintptr, uintptr) Sqlite3_syscall_ptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 656)) = unixGetSystemCall // sqlite3.c:42852:5: + *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 664)) = unixNextSystemCall // sqlite3.c:42852:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 24)) = row_numberStepFunc // sqlite3.c:158853:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 32)) = row_numberValueFunc // sqlite3.c:158853:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 40)) = row_numberValueFunc // sqlite3.c:158853:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 48)) = noopStepFunc // sqlite3.c:158853:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 56 /* .zName */)) = uintptr(unsafe.Pointer(&row_numberName)) // sqlite3.c:158853:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 96)) = dense_rankStepFunc // sqlite3.c:158854:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 104)) = dense_rankValueFunc // sqlite3.c:158854:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 112)) = dense_rankValueFunc // sqlite3.c:158854:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 120)) = noopStepFunc // sqlite3.c:158854:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 128 /* .zName */)) = uintptr(unsafe.Pointer(&dense_rankName)) // sqlite3.c:158854:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 168)) = rankStepFunc // sqlite3.c:158855:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 176)) = rankValueFunc // sqlite3.c:158855:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 184)) = rankValueFunc // sqlite3.c:158855:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 192)) = noopStepFunc // sqlite3.c:158855:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 200 /* .zName */)) = uintptr(unsafe.Pointer(&rankName)) // sqlite3.c:158855:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 240)) = percent_rankStepFunc // sqlite3.c:158856:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 248)) = percent_rankValueFunc // sqlite3.c:158856:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 256)) = percent_rankValueFunc // sqlite3.c:158856:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 264)) = percent_rankInvFunc // sqlite3.c:158856:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 272 /* .zName */)) = uintptr(unsafe.Pointer(&percent_rankName)) // sqlite3.c:158856:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 312)) = cume_distStepFunc // sqlite3.c:158857:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 320)) = cume_distValueFunc // sqlite3.c:158857:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 328)) = cume_distValueFunc // sqlite3.c:158857:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 336)) = cume_distInvFunc // sqlite3.c:158857:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 344 /* .zName */)) = uintptr(unsafe.Pointer(&cume_distName)) // sqlite3.c:158857:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 384)) = ntileStepFunc // sqlite3.c:158858:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 392)) = ntileValueFunc // sqlite3.c:158858:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 400)) = ntileValueFunc // sqlite3.c:158858:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 408)) = ntileInvFunc // sqlite3.c:158858:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 416 /* .zName */)) = uintptr(unsafe.Pointer(&ntileName)) // sqlite3.c:158858:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 456)) = last_valueStepFunc // sqlite3.c:158859:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 464)) = last_valueFinalizeFunc // sqlite3.c:158859:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 472)) = last_valueValueFunc // sqlite3.c:158859:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 480)) = last_valueInvFunc // sqlite3.c:158859:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 488 /* .zName */)) = uintptr(unsafe.Pointer(&last_valueName)) // sqlite3.c:158859:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 528)) = nth_valueStepFunc // sqlite3.c:158860:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 536)) = nth_valueFinalizeFunc // sqlite3.c:158860:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 544)) = noopValueFunc // sqlite3.c:158860:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 552)) = noopStepFunc // sqlite3.c:158860:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 560 /* .zName */)) = uintptr(unsafe.Pointer(&nth_valueName)) // sqlite3.c:158860:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 600)) = first_valueStepFunc // sqlite3.c:158861:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 608)) = first_valueFinalizeFunc // sqlite3.c:158861:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 616)) = noopValueFunc // sqlite3.c:158861:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 624)) = noopStepFunc // sqlite3.c:158861:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 632 /* .zName */)) = uintptr(unsafe.Pointer(&first_valueName)) // sqlite3.c:158861:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 672)) = noopStepFunc // sqlite3.c:158862:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 680)) = noopValueFunc // sqlite3.c:158862:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 688)) = noopValueFunc // sqlite3.c:158862:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 696)) = noopStepFunc // sqlite3.c:158862:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 704 /* .zName */)) = uintptr(unsafe.Pointer(&leadName)) // sqlite3.c:158862:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 744)) = noopStepFunc // sqlite3.c:158863:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 752)) = noopValueFunc // sqlite3.c:158863:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 760)) = noopValueFunc // sqlite3.c:158863:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 768)) = noopStepFunc // sqlite3.c:158863:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 776 /* .zName */)) = uintptr(unsafe.Pointer(&leadName)) // sqlite3.c:158863:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 816)) = noopStepFunc // sqlite3.c:158864:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 824)) = noopValueFunc // sqlite3.c:158864:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 832)) = noopValueFunc // sqlite3.c:158864:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 840)) = noopStepFunc // sqlite3.c:158864:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 848 /* .zName */)) = uintptr(unsafe.Pointer(&leadName)) // sqlite3.c:158864:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 888)) = noopStepFunc // sqlite3.c:158865:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 896)) = noopValueFunc // sqlite3.c:158865:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 904)) = noopValueFunc // sqlite3.c:158865:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 912)) = noopStepFunc // sqlite3.c:158865:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 920 /* .zName */)) = uintptr(unsafe.Pointer(&lagName)) // sqlite3.c:158865:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 960)) = noopStepFunc // sqlite3.c:158866:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 968)) = noopValueFunc // sqlite3.c:158866:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 976)) = noopValueFunc // sqlite3.c:158866:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 984)) = noopStepFunc // sqlite3.c:158866:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 992 /* .zName */)) = uintptr(unsafe.Pointer(&lagName)) // sqlite3.c:158866:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 1032)) = noopStepFunc // sqlite3.c:158867:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 1040)) = noopValueFunc // sqlite3.c:158867:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 1048)) = noopValueFunc // sqlite3.c:158867:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 1056)) = noopStepFunc // sqlite3.c:158867:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 1064 /* .zName */)) = uintptr(unsafe.Pointer(&lagName)) // sqlite3.c:158867:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&attach_func)) + 24)) = attachFunc // sqlite3.c:113451:5: *(*func(*libc.TLS, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods)) + 0)) = sqlite3MemMalloc // sqlite3.c:25299:6: *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods)) + 8)) = sqlite3MemFree // sqlite3.c:25300:6: *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods)) + 16)) = sqlite3MemRealloc // sqlite3.c:25301:6: @@ -194756,243 +194787,243 @@ func init() { *(*func(*libc.TLS, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods)) + 32)) = sqlite3MemRoundup // sqlite3.c:25303:6: *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods)) + 40)) = sqlite3MemInit // sqlite3.c:25304:6: *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods)) + 48)) = sqlite3MemShutdown // sqlite3.c:25305:6: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods1)) + 16)) = pcache1Init // sqlite3.c:52453:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods1)) + 24)) = pcache1Shutdown // sqlite3.c:52454:5: - *(*func(*libc.TLS, int32, int32, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods1)) + 32)) = pcache1Create // sqlite3.c:52455:5: - *(*func(*libc.TLS, uintptr, int32))(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods1)) + 40)) = pcache1Cachesize // sqlite3.c:52456:5: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods1)) + 48)) = pcache1Pagecount // sqlite3.c:52457:5: - *(*func(*libc.TLS, uintptr, uint32, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods1)) + 56)) = pcache1Fetch // sqlite3.c:52458:5: - *(*func(*libc.TLS, uintptr, uintptr, int32))(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods1)) + 64)) = pcache1Unpin // sqlite3.c:52459:5: - *(*func(*libc.TLS, uintptr, uintptr, uint32, uint32))(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods1)) + 72)) = pcache1Rekey // sqlite3.c:52460:5: - *(*func(*libc.TLS, uintptr, uint32))(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods1)) + 80)) = pcache1Truncate // sqlite3.c:52461:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods1)) + 88)) = pcache1Destroy // sqlite3.c:52462:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods1)) + 96)) = pcache1Shrink // sqlite3.c:52463:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&detach_func)) + 24)) = detachFunc // sqlite3.c:113418:5: - *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoFinder)) + 0)) = dotlockIoFinderImpl // sqlite3.c:40202:1: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 8)) = dotlockClose // sqlite3.c:40202:1: - *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 16)) = unixRead // sqlite3.c:40202:1: - *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 24)) = unixWrite // sqlite3.c:40202:1: - *(*func(*libc.TLS, uintptr, I64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 32)) = unixTruncate // sqlite3.c:40202:1: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 40)) = unixSync // sqlite3.c:40202:1: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 48)) = unixFileSize // sqlite3.c:40202:1: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 56)) = dotlockLock // sqlite3.c:40202:1: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 64)) = dotlockUnlock // sqlite3.c:40202:1: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 72)) = dotlockCheckReservedLock // sqlite3.c:40202:1: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 80)) = unixFileControl // sqlite3.c:40202:1: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 88)) = unixSectorSize // sqlite3.c:40202:1: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 96)) = unixDeviceCharacteristics // sqlite3.c:40202:1: - *(*func(*libc.TLS, uintptr, int32, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 112)) = unixShmLock // sqlite3.c:40202:1: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 120)) = unixShmBarrier // sqlite3.c:40202:1: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 128)) = unixShmUnmap // sqlite3.c:40202:1: - *(*func(*libc.TLS, uintptr, I64, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 136)) = unixFetch // sqlite3.c:40202:1: - *(*func(*libc.TLS, uintptr, I64, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 144)) = unixUnfetch // sqlite3.c:40202:1: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 8)) = fts5CreateMethod // sqlite3.c:234400:25: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 16)) = fts5ConnectMethod // sqlite3.c:234401:25: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 24)) = fts5BestIndexMethod // sqlite3.c:234402:25: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 32)) = fts5DisconnectMethod // sqlite3.c:234403:25: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 40)) = fts5DestroyMethod // sqlite3.c:234404:25: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 48)) = fts5OpenMethod // sqlite3.c:234405:25: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 56)) = fts5CloseMethod // sqlite3.c:234406:25: - *(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 64)) = fts5FilterMethod // sqlite3.c:234407:25: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 72)) = fts5NextMethod // sqlite3.c:234408:25: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 80)) = fts5EofMethod // sqlite3.c:234409:25: - *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 88)) = fts5ColumnMethod // sqlite3.c:234410:25: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 96)) = fts5RowidMethod // sqlite3.c:234411:25: - *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 104)) = fts5UpdateMethod // sqlite3.c:234412:25: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 112)) = fts5BeginMethod // sqlite3.c:234413:25: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 120)) = fts5SyncMethod // sqlite3.c:234414:25: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 128)) = fts5CommitMethod // sqlite3.c:234415:25: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 136)) = fts5RollbackMethod // sqlite3.c:234416:25: - *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 144)) = fts5FindFunctionMethod // sqlite3.c:234417:25: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 152)) = fts5RenameMethod // sqlite3.c:234418:25: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 160)) = fts5SavepointMethod // sqlite3.c:234419:25: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 168)) = fts5ReleaseMethod // sqlite3.c:234420:25: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 176)) = fts5RollbackToMethod // sqlite3.c:234421:25: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 184)) = fts5ShadowName // sqlite3.c:234422:25: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 8)) = fts5VocabCreateMethod // sqlite3.c:238983:25: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 16)) = fts5VocabConnectMethod // sqlite3.c:238984:25: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 24)) = fts5VocabBestIndexMethod // sqlite3.c:238985:25: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 32)) = fts5VocabDisconnectMethod // sqlite3.c:238986:25: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 40)) = fts5VocabDestroyMethod // sqlite3.c:238987:25: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 48)) = fts5VocabOpenMethod // sqlite3.c:238988:25: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 56)) = fts5VocabCloseMethod // sqlite3.c:238989:25: - *(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 64)) = fts5VocabFilterMethod // sqlite3.c:238990:25: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 72)) = fts5VocabNextMethod // sqlite3.c:238991:25: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 80)) = fts5VocabEofMethod // sqlite3.c:238992:25: - *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 88)) = fts5VocabColumnMethod // sqlite3.c:238993:25: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 96)) = fts5VocabRowidMethod // sqlite3.c:238994:25: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 8)) = geopolyCreate // sqlite3.c:201934:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 16)) = geopolyConnect // sqlite3.c:201935:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 24)) = geopolyBestIndex // sqlite3.c:201936:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 32)) = rtreeDisconnect // sqlite3.c:201937:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 40)) = rtreeDestroy // sqlite3.c:201938:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 48)) = rtreeOpen // sqlite3.c:201939:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 56)) = rtreeClose // sqlite3.c:201940:3: - *(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 64)) = geopolyFilter // sqlite3.c:201941:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 72)) = rtreeNext // sqlite3.c:201942:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 80)) = rtreeEof // sqlite3.c:201943:3: - *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 88)) = geopolyColumn // sqlite3.c:201944:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 96)) = rtreeRowid // sqlite3.c:201945:3: - *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 104)) = geopolyUpdate // sqlite3.c:201946:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 112)) = rtreeBeginTransaction // sqlite3.c:201947:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 120)) = rtreeEndTransaction // sqlite3.c:201948:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 128)) = rtreeEndTransaction // sqlite3.c:201949:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 136)) = rtreeEndTransaction // sqlite3.c:201950:3: - *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 144)) = geopolyFindFunction // sqlite3.c:201951:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 152)) = rtreeRename // sqlite3.c:201952:3: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 160)) = rtreeSavepoint // sqlite3.c:201953:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 184)) = rtreeShadowName // sqlite3.c:201956:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonEachModule)) + 16)) = jsonEachConnect // sqlite3.c:195676:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonEachModule)) + 24)) = jsonEachBestIndex // sqlite3.c:195677:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonEachModule)) + 32)) = jsonEachDisconnect // sqlite3.c:195678:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonEachModule)) + 48)) = jsonEachOpenEach // sqlite3.c:195680:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonEachModule)) + 56)) = jsonEachClose // sqlite3.c:195681:3: - *(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonEachModule)) + 64)) = jsonEachFilter // sqlite3.c:195682:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonEachModule)) + 72)) = jsonEachNext // sqlite3.c:195683:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonEachModule)) + 80)) = jsonEachEof // sqlite3.c:195684:3: - *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonEachModule)) + 88)) = jsonEachColumn // sqlite3.c:195685:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonEachModule)) + 96)) = jsonEachRowid // sqlite3.c:195686:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonTreeModule)) + 16)) = jsonEachConnect // sqlite3.c:195704:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonTreeModule)) + 24)) = jsonEachBestIndex // sqlite3.c:195705:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonTreeModule)) + 32)) = jsonEachDisconnect // sqlite3.c:195706:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonTreeModule)) + 48)) = jsonEachOpenTree // sqlite3.c:195708:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonTreeModule)) + 56)) = jsonEachClose // sqlite3.c:195709:3: - *(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonTreeModule)) + 64)) = jsonEachFilter // sqlite3.c:195710:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonTreeModule)) + 72)) = jsonEachNext // sqlite3.c:195711:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonTreeModule)) + 80)) = jsonEachEof // sqlite3.c:195712:3: - *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonTreeModule)) + 88)) = jsonEachColumn // sqlite3.c:195713:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonTreeModule)) + 96)) = jsonEachRowid // sqlite3.c:195714:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 8)) = memdbClose // sqlite3.c:49233:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 16)) = memdbRead // sqlite3.c:49234:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 24)) = memdbWrite // sqlite3.c:49235:3: - *(*func(*libc.TLS, uintptr, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 32)) = memdbTruncate // sqlite3.c:49236:3: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 40)) = memdbSync // sqlite3.c:49237:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 48)) = memdbFileSize // sqlite3.c:49238:3: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 56)) = memdbLock // sqlite3.c:49239:3: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 64)) = memdbLock // sqlite3.c:49240:3: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 80)) = memdbFileControl // sqlite3.c:49242:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 96)) = memdbDeviceCharacteristics // sqlite3.c:49244:3: - *(*func(*libc.TLS, uintptr, Sqlite3_int64, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 136)) = memdbFetch // sqlite3.c:49249:3: - *(*func(*libc.TLS, uintptr, Sqlite3_int64, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 144)) = memdbUnfetch // sqlite3.c:49250:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_vfs)) + 40)) = memdbOpen // sqlite3.c:49213:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_vfs)) + 56)) = memdbAccess // sqlite3.c:49215:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_vfs)) + 64)) = memdbFullPathname // sqlite3.c:49216:3: - *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_vfs)) + 72)) = memdbDlOpen // sqlite3.c:49217:3: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_vfs)) + 80)) = memdbDlError // sqlite3.c:49218:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_vfs)) + 88)) = memdbDlSym // sqlite3.c:49219:3: - *(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_vfs)) + 96)) = memdbDlClose // sqlite3.c:49220:3: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_vfs)) + 104)) = memdbRandomness // sqlite3.c:49221:3: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_vfs)) + 112)) = memdbSleep // sqlite3.c:49222:3: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_vfs)) + 128)) = memdbGetLastError // sqlite3.c:49224:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_vfs)) + 136)) = memdbCurrentTimeInt64 // sqlite3.c:49225:3: - *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoFinder)) + 0)) = nolockIoFinderImpl // sqlite3.c:40192:1: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 8)) = nolockClose // sqlite3.c:40192:1: - *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 16)) = unixRead // sqlite3.c:40192:1: - *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 24)) = unixWrite // sqlite3.c:40192:1: - *(*func(*libc.TLS, uintptr, I64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 32)) = unixTruncate // sqlite3.c:40192:1: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 40)) = unixSync // sqlite3.c:40192:1: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 48)) = unixFileSize // sqlite3.c:40192:1: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 56)) = nolockLock // sqlite3.c:40192:1: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 64)) = nolockUnlock // sqlite3.c:40192:1: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 72)) = nolockCheckReservedLock // sqlite3.c:40192:1: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 80)) = unixFileControl // sqlite3.c:40192:1: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 88)) = unixSectorSize // sqlite3.c:40192:1: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 96)) = unixDeviceCharacteristics // sqlite3.c:40192:1: - *(*func(*libc.TLS, uintptr, int32, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 112)) = unixShmLock // sqlite3.c:40192:1: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 120)) = unixShmBarrier // sqlite3.c:40192:1: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 128)) = unixShmUnmap // sqlite3.c:40192:1: - *(*func(*libc.TLS, uintptr, I64, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 136)) = unixFetch // sqlite3.c:40192:1: - *(*func(*libc.TLS, uintptr, I64, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 144)) = unixUnfetch // sqlite3.c:40192:1: - *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoFinder)) + 0)) = posixIoFinderImpl // sqlite3.c:40182:1: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 8)) = unixClose // sqlite3.c:40182:1: - *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 16)) = unixRead // sqlite3.c:40182:1: - *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 24)) = unixWrite // sqlite3.c:40182:1: - *(*func(*libc.TLS, uintptr, I64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 32)) = unixTruncate // sqlite3.c:40182:1: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 40)) = unixSync // sqlite3.c:40182:1: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 48)) = unixFileSize // sqlite3.c:40182:1: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 56)) = unixLock // sqlite3.c:40182:1: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 64)) = unixUnlock // sqlite3.c:40182:1: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 72)) = unixCheckReservedLock // sqlite3.c:40182:1: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 80)) = unixFileControl // sqlite3.c:40182:1: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 88)) = unixSectorSize // sqlite3.c:40182:1: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 96)) = unixDeviceCharacteristics // sqlite3.c:40182:1: - *(*func(*libc.TLS, uintptr, int32, int32, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 104)) = unixShmMap // sqlite3.c:40182:1: - *(*func(*libc.TLS, uintptr, int32, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 112)) = unixShmLock // sqlite3.c:40182:1: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 120)) = unixShmBarrier // sqlite3.c:40182:1: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 128)) = unixShmUnmap // sqlite3.c:40182:1: - *(*func(*libc.TLS, uintptr, I64, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 136)) = unixFetch // sqlite3.c:40182:1: - *(*func(*libc.TLS, uintptr, I64, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 144)) = unixUnfetch // sqlite3.c:40182:1: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&pragmaVtabModule)) + 16)) = pragmaVtabConnect // sqlite3.c:133106:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&pragmaVtabModule)) + 24)) = pragmaVtabBestIndex // sqlite3.c:133107:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&pragmaVtabModule)) + 32)) = pragmaVtabDisconnect // sqlite3.c:133108:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&pragmaVtabModule)) + 48)) = pragmaVtabOpen // sqlite3.c:133110:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&pragmaVtabModule)) + 56)) = pragmaVtabClose // sqlite3.c:133111:3: - *(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&pragmaVtabModule)) + 64)) = pragmaVtabFilter // sqlite3.c:133112:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&pragmaVtabModule)) + 72)) = pragmaVtabNext // sqlite3.c:133113:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&pragmaVtabModule)) + 80)) = pragmaVtabEof // sqlite3.c:133114:3: - *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&pragmaVtabModule)) + 88)) = pragmaVtabColumn // sqlite3.c:133115:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&pragmaVtabModule)) + 96)) = pragmaVtabRowid // sqlite3.c:133116:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 8)) = rbuVfsClose // sqlite3.c:208631:5: - *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 16)) = rbuVfsRead // sqlite3.c:208632:5: - *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 24)) = rbuVfsWrite // sqlite3.c:208633:5: - *(*func(*libc.TLS, uintptr, Sqlite_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 32)) = rbuVfsTruncate // sqlite3.c:208634:5: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 40)) = rbuVfsSync // sqlite3.c:208635:5: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 48)) = rbuVfsFileSize // sqlite3.c:208636:5: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 56)) = rbuVfsLock // sqlite3.c:208637:5: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 64)) = rbuVfsUnlock // sqlite3.c:208638:5: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 72)) = rbuVfsCheckReservedLock // sqlite3.c:208639:5: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 80)) = rbuVfsFileControl // sqlite3.c:208640:5: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 88)) = rbuVfsSectorSize // sqlite3.c:208641:5: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 96)) = rbuVfsDeviceCharacteristics // sqlite3.c:208642:5: - *(*func(*libc.TLS, uintptr, int32, int32, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 104)) = rbuVfsShmMap // sqlite3.c:208643:5: - *(*func(*libc.TLS, uintptr, int32, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 112)) = rbuVfsShmLock // sqlite3.c:208644:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 120)) = rbuVfsShmBarrier // sqlite3.c:208645:5: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 128)) = rbuVfsShmUnmap // sqlite3.c:208646:5: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 8)) = rtreeCreate // sqlite3.c:199272:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 16)) = rtreeConnect // sqlite3.c:199273:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 24)) = rtreeBestIndex // sqlite3.c:199274:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 32)) = rtreeDisconnect // sqlite3.c:199275:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 40)) = rtreeDestroy // sqlite3.c:199276:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 48)) = rtreeOpen // sqlite3.c:199277:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 56)) = rtreeClose // sqlite3.c:199278:3: - *(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 64)) = rtreeFilter // sqlite3.c:199279:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 72)) = rtreeNext // sqlite3.c:199280:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 80)) = rtreeEof // sqlite3.c:199281:3: - *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 88)) = rtreeColumn // sqlite3.c:199282:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 96)) = rtreeRowid // sqlite3.c:199283:3: - *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 104)) = rtreeUpdate // sqlite3.c:199284:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 112)) = rtreeBeginTransaction // sqlite3.c:199285:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 120)) = rtreeEndTransaction // sqlite3.c:199286:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 128)) = rtreeEndTransaction // sqlite3.c:199287:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 136)) = rtreeEndTransaction // sqlite3.c:199288:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 152)) = rtreeRename // sqlite3.c:199290:3: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 160)) = rtreeSavepoint // sqlite3.c:199291:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 184)) = rtreeShadowName // sqlite3.c:199294:3: - *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 8)) = fts5ApiUserData // sqlite3.c:233859:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 16)) = fts5ApiColumnCount // sqlite3.c:233860:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 24)) = fts5ApiRowCount // sqlite3.c:233861:3: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 32)) = fts5ApiColumnTotalSize // sqlite3.c:233862:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 40)) = fts5ApiTokenize // sqlite3.c:233863:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 48)) = fts5ApiPhraseCount // sqlite3.c:233864:3: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 56)) = fts5ApiPhraseSize // sqlite3.c:233865:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 64)) = fts5ApiInstCount // sqlite3.c:233866:3: - *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 72)) = fts5ApiInst // sqlite3.c:233867:3: - *(*func(*libc.TLS, uintptr) Sqlite3_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 80)) = fts5ApiRowid // sqlite3.c:233868:3: - *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 88)) = fts5ApiColumnText // sqlite3.c:233869:3: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 96)) = fts5ApiColumnSize // sqlite3.c:233870:3: - *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 104)) = fts5ApiQueryPhrase // sqlite3.c:233871:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 112)) = fts5ApiSetAuxdata // sqlite3.c:233872:3: - *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 120)) = fts5ApiGetAuxdata // sqlite3.c:233873:3: - *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 128)) = fts5ApiPhraseFirst // sqlite3.c:233874:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 136)) = fts5ApiPhraseNext // sqlite3.c:233875:3: - *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 144)) = fts5ApiPhraseFirstColumn // sqlite3.c:233876:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 152)) = fts5ApiPhraseNextColumn // sqlite3.c:233877:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sMemJournalMethods)) + 8)) = memjrnlClose // sqlite3.c:100023:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sMemJournalMethods)) + 16)) = memjrnlRead // sqlite3.c:100024:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sMemJournalMethods)) + 24)) = memjrnlWrite // sqlite3.c:100025:3: - *(*func(*libc.TLS, uintptr, Sqlite_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sMemJournalMethods)) + 32)) = memjrnlTruncate // sqlite3.c:100026:3: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sMemJournalMethods)) + 40)) = memjrnlSync // sqlite3.c:100027:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sMemJournalMethods)) + 48)) = memjrnlFileSize // sqlite3.c:100028:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods1)) + 16)) = pcache1Init // sqlite3.c:52463:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods1)) + 24)) = pcache1Shutdown // sqlite3.c:52464:5: + *(*func(*libc.TLS, int32, int32, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods1)) + 32)) = pcache1Create // sqlite3.c:52465:5: + *(*func(*libc.TLS, uintptr, int32))(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods1)) + 40)) = pcache1Cachesize // sqlite3.c:52466:5: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods1)) + 48)) = pcache1Pagecount // sqlite3.c:52467:5: + *(*func(*libc.TLS, uintptr, uint32, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods1)) + 56)) = pcache1Fetch // sqlite3.c:52468:5: + *(*func(*libc.TLS, uintptr, uintptr, int32))(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods1)) + 64)) = pcache1Unpin // sqlite3.c:52469:5: + *(*func(*libc.TLS, uintptr, uintptr, uint32, uint32))(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods1)) + 72)) = pcache1Rekey // sqlite3.c:52470:5: + *(*func(*libc.TLS, uintptr, uint32))(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods1)) + 80)) = pcache1Truncate // sqlite3.c:52471:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods1)) + 88)) = pcache1Destroy // sqlite3.c:52472:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods1)) + 96)) = pcache1Shrink // sqlite3.c:52473:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&detach_func)) + 24)) = detachFunc // sqlite3.c:113431:5: + *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoFinder)) + 0)) = dotlockIoFinderImpl // sqlite3.c:40208:1: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 8)) = dotlockClose // sqlite3.c:40208:1: + *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 16)) = unixRead // sqlite3.c:40208:1: + *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 24)) = unixWrite // sqlite3.c:40208:1: + *(*func(*libc.TLS, uintptr, I64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 32)) = unixTruncate // sqlite3.c:40208:1: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 40)) = unixSync // sqlite3.c:40208:1: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 48)) = unixFileSize // sqlite3.c:40208:1: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 56)) = dotlockLock // sqlite3.c:40208:1: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 64)) = dotlockUnlock // sqlite3.c:40208:1: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 72)) = dotlockCheckReservedLock // sqlite3.c:40208:1: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 80)) = unixFileControl // sqlite3.c:40208:1: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 88)) = unixSectorSize // sqlite3.c:40208:1: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 96)) = unixDeviceCharacteristics // sqlite3.c:40208:1: + *(*func(*libc.TLS, uintptr, int32, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 112)) = unixShmLock // sqlite3.c:40208:1: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 120)) = unixShmBarrier // sqlite3.c:40208:1: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 128)) = unixShmUnmap // sqlite3.c:40208:1: + *(*func(*libc.TLS, uintptr, I64, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 136)) = unixFetch // sqlite3.c:40208:1: + *(*func(*libc.TLS, uintptr, I64, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 144)) = unixUnfetch // sqlite3.c:40208:1: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 8)) = fts5CreateMethod // sqlite3.c:234457:25: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 16)) = fts5ConnectMethod // sqlite3.c:234458:25: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 24)) = fts5BestIndexMethod // sqlite3.c:234459:25: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 32)) = fts5DisconnectMethod // sqlite3.c:234460:25: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 40)) = fts5DestroyMethod // sqlite3.c:234461:25: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 48)) = fts5OpenMethod // sqlite3.c:234462:25: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 56)) = fts5CloseMethod // sqlite3.c:234463:25: + *(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 64)) = fts5FilterMethod // sqlite3.c:234464:25: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 72)) = fts5NextMethod // sqlite3.c:234465:25: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 80)) = fts5EofMethod // sqlite3.c:234466:25: + *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 88)) = fts5ColumnMethod // sqlite3.c:234467:25: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 96)) = fts5RowidMethod // sqlite3.c:234468:25: + *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 104)) = fts5UpdateMethod // sqlite3.c:234469:25: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 112)) = fts5BeginMethod // sqlite3.c:234470:25: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 120)) = fts5SyncMethod // sqlite3.c:234471:25: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 128)) = fts5CommitMethod // sqlite3.c:234472:25: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 136)) = fts5RollbackMethod // sqlite3.c:234473:25: + *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 144)) = fts5FindFunctionMethod // sqlite3.c:234474:25: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 152)) = fts5RenameMethod // sqlite3.c:234475:25: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 160)) = fts5SavepointMethod // sqlite3.c:234476:25: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 168)) = fts5ReleaseMethod // sqlite3.c:234477:25: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 176)) = fts5RollbackToMethod // sqlite3.c:234478:25: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 184)) = fts5ShadowName // sqlite3.c:234479:25: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 8)) = fts5VocabCreateMethod // sqlite3.c:239040:25: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 16)) = fts5VocabConnectMethod // sqlite3.c:239041:25: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 24)) = fts5VocabBestIndexMethod // sqlite3.c:239042:25: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 32)) = fts5VocabDisconnectMethod // sqlite3.c:239043:25: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 40)) = fts5VocabDestroyMethod // sqlite3.c:239044:25: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 48)) = fts5VocabOpenMethod // sqlite3.c:239045:25: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 56)) = fts5VocabCloseMethod // sqlite3.c:239046:25: + *(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 64)) = fts5VocabFilterMethod // sqlite3.c:239047:25: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 72)) = fts5VocabNextMethod // sqlite3.c:239048:25: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 80)) = fts5VocabEofMethod // sqlite3.c:239049:25: + *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 88)) = fts5VocabColumnMethod // sqlite3.c:239050:25: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 96)) = fts5VocabRowidMethod // sqlite3.c:239051:25: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 8)) = geopolyCreate // sqlite3.c:201991:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 16)) = geopolyConnect // sqlite3.c:201992:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 24)) = geopolyBestIndex // sqlite3.c:201993:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 32)) = rtreeDisconnect // sqlite3.c:201994:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 40)) = rtreeDestroy // sqlite3.c:201995:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 48)) = rtreeOpen // sqlite3.c:201996:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 56)) = rtreeClose // sqlite3.c:201997:3: + *(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 64)) = geopolyFilter // sqlite3.c:201998:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 72)) = rtreeNext // sqlite3.c:201999:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 80)) = rtreeEof // sqlite3.c:202000:3: + *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 88)) = geopolyColumn // sqlite3.c:202001:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 96)) = rtreeRowid // sqlite3.c:202002:3: + *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 104)) = geopolyUpdate // sqlite3.c:202003:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 112)) = rtreeBeginTransaction // sqlite3.c:202004:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 120)) = rtreeEndTransaction // sqlite3.c:202005:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 128)) = rtreeEndTransaction // sqlite3.c:202006:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 136)) = rtreeEndTransaction // sqlite3.c:202007:3: + *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 144)) = geopolyFindFunction // sqlite3.c:202008:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 152)) = rtreeRename // sqlite3.c:202009:3: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 160)) = rtreeSavepoint // sqlite3.c:202010:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 184)) = rtreeShadowName // sqlite3.c:202013:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonEachModule)) + 16)) = jsonEachConnect // sqlite3.c:195733:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonEachModule)) + 24)) = jsonEachBestIndex // sqlite3.c:195734:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonEachModule)) + 32)) = jsonEachDisconnect // sqlite3.c:195735:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonEachModule)) + 48)) = jsonEachOpenEach // sqlite3.c:195737:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonEachModule)) + 56)) = jsonEachClose // sqlite3.c:195738:3: + *(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonEachModule)) + 64)) = jsonEachFilter // sqlite3.c:195739:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonEachModule)) + 72)) = jsonEachNext // sqlite3.c:195740:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonEachModule)) + 80)) = jsonEachEof // sqlite3.c:195741:3: + *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonEachModule)) + 88)) = jsonEachColumn // sqlite3.c:195742:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonEachModule)) + 96)) = jsonEachRowid // sqlite3.c:195743:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonTreeModule)) + 16)) = jsonEachConnect // sqlite3.c:195761:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonTreeModule)) + 24)) = jsonEachBestIndex // sqlite3.c:195762:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonTreeModule)) + 32)) = jsonEachDisconnect // sqlite3.c:195763:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonTreeModule)) + 48)) = jsonEachOpenTree // sqlite3.c:195765:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonTreeModule)) + 56)) = jsonEachClose // sqlite3.c:195766:3: + *(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonTreeModule)) + 64)) = jsonEachFilter // sqlite3.c:195767:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonTreeModule)) + 72)) = jsonEachNext // sqlite3.c:195768:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonTreeModule)) + 80)) = jsonEachEof // sqlite3.c:195769:3: + *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonTreeModule)) + 88)) = jsonEachColumn // sqlite3.c:195770:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonTreeModule)) + 96)) = jsonEachRowid // sqlite3.c:195771:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 8)) = memdbClose // sqlite3.c:49243:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 16)) = memdbRead // sqlite3.c:49244:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 24)) = memdbWrite // sqlite3.c:49245:3: + *(*func(*libc.TLS, uintptr, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 32)) = memdbTruncate // sqlite3.c:49246:3: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 40)) = memdbSync // sqlite3.c:49247:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 48)) = memdbFileSize // sqlite3.c:49248:3: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 56)) = memdbLock // sqlite3.c:49249:3: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 64)) = memdbLock // sqlite3.c:49250:3: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 80)) = memdbFileControl // sqlite3.c:49252:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 96)) = memdbDeviceCharacteristics // sqlite3.c:49254:3: + *(*func(*libc.TLS, uintptr, Sqlite3_int64, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 136)) = memdbFetch // sqlite3.c:49259:3: + *(*func(*libc.TLS, uintptr, Sqlite3_int64, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 144)) = memdbUnfetch // sqlite3.c:49260:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_vfs)) + 40)) = memdbOpen // sqlite3.c:49223:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_vfs)) + 56)) = memdbAccess // sqlite3.c:49225:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_vfs)) + 64)) = memdbFullPathname // sqlite3.c:49226:3: + *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_vfs)) + 72)) = memdbDlOpen // sqlite3.c:49227:3: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_vfs)) + 80)) = memdbDlError // sqlite3.c:49228:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_vfs)) + 88)) = memdbDlSym // sqlite3.c:49229:3: + *(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_vfs)) + 96)) = memdbDlClose // sqlite3.c:49230:3: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_vfs)) + 104)) = memdbRandomness // sqlite3.c:49231:3: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_vfs)) + 112)) = memdbSleep // sqlite3.c:49232:3: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_vfs)) + 128)) = memdbGetLastError // sqlite3.c:49234:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_vfs)) + 136)) = memdbCurrentTimeInt64 // sqlite3.c:49235:3: + *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoFinder)) + 0)) = nolockIoFinderImpl // sqlite3.c:40198:1: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 8)) = nolockClose // sqlite3.c:40198:1: + *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 16)) = unixRead // sqlite3.c:40198:1: + *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 24)) = unixWrite // sqlite3.c:40198:1: + *(*func(*libc.TLS, uintptr, I64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 32)) = unixTruncate // sqlite3.c:40198:1: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 40)) = unixSync // sqlite3.c:40198:1: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 48)) = unixFileSize // sqlite3.c:40198:1: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 56)) = nolockLock // sqlite3.c:40198:1: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 64)) = nolockUnlock // sqlite3.c:40198:1: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 72)) = nolockCheckReservedLock // sqlite3.c:40198:1: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 80)) = unixFileControl // sqlite3.c:40198:1: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 88)) = unixSectorSize // sqlite3.c:40198:1: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 96)) = unixDeviceCharacteristics // sqlite3.c:40198:1: + *(*func(*libc.TLS, uintptr, int32, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 112)) = unixShmLock // sqlite3.c:40198:1: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 120)) = unixShmBarrier // sqlite3.c:40198:1: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 128)) = unixShmUnmap // sqlite3.c:40198:1: + *(*func(*libc.TLS, uintptr, I64, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 136)) = unixFetch // sqlite3.c:40198:1: + *(*func(*libc.TLS, uintptr, I64, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 144)) = unixUnfetch // sqlite3.c:40198:1: + *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoFinder)) + 0)) = posixIoFinderImpl // sqlite3.c:40188:1: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 8)) = unixClose // sqlite3.c:40188:1: + *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 16)) = unixRead // sqlite3.c:40188:1: + *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 24)) = unixWrite // sqlite3.c:40188:1: + *(*func(*libc.TLS, uintptr, I64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 32)) = unixTruncate // sqlite3.c:40188:1: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 40)) = unixSync // sqlite3.c:40188:1: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 48)) = unixFileSize // sqlite3.c:40188:1: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 56)) = unixLock // sqlite3.c:40188:1: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 64)) = unixUnlock // sqlite3.c:40188:1: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 72)) = unixCheckReservedLock // sqlite3.c:40188:1: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 80)) = unixFileControl // sqlite3.c:40188:1: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 88)) = unixSectorSize // sqlite3.c:40188:1: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 96)) = unixDeviceCharacteristics // sqlite3.c:40188:1: + *(*func(*libc.TLS, uintptr, int32, int32, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 104)) = unixShmMap // sqlite3.c:40188:1: + *(*func(*libc.TLS, uintptr, int32, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 112)) = unixShmLock // sqlite3.c:40188:1: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 120)) = unixShmBarrier // sqlite3.c:40188:1: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 128)) = unixShmUnmap // sqlite3.c:40188:1: + *(*func(*libc.TLS, uintptr, I64, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 136)) = unixFetch // sqlite3.c:40188:1: + *(*func(*libc.TLS, uintptr, I64, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 144)) = unixUnfetch // sqlite3.c:40188:1: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&pragmaVtabModule)) + 16)) = pragmaVtabConnect // sqlite3.c:133119:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&pragmaVtabModule)) + 24)) = pragmaVtabBestIndex // sqlite3.c:133120:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&pragmaVtabModule)) + 32)) = pragmaVtabDisconnect // sqlite3.c:133121:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&pragmaVtabModule)) + 48)) = pragmaVtabOpen // sqlite3.c:133123:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&pragmaVtabModule)) + 56)) = pragmaVtabClose // sqlite3.c:133124:3: + *(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&pragmaVtabModule)) + 64)) = pragmaVtabFilter // sqlite3.c:133125:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&pragmaVtabModule)) + 72)) = pragmaVtabNext // sqlite3.c:133126:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&pragmaVtabModule)) + 80)) = pragmaVtabEof // sqlite3.c:133127:3: + *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&pragmaVtabModule)) + 88)) = pragmaVtabColumn // sqlite3.c:133128:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&pragmaVtabModule)) + 96)) = pragmaVtabRowid // sqlite3.c:133129:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 8)) = rbuVfsClose // sqlite3.c:208688:5: + *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 16)) = rbuVfsRead // sqlite3.c:208689:5: + *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 24)) = rbuVfsWrite // sqlite3.c:208690:5: + *(*func(*libc.TLS, uintptr, Sqlite_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 32)) = rbuVfsTruncate // sqlite3.c:208691:5: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 40)) = rbuVfsSync // sqlite3.c:208692:5: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 48)) = rbuVfsFileSize // sqlite3.c:208693:5: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 56)) = rbuVfsLock // sqlite3.c:208694:5: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 64)) = rbuVfsUnlock // sqlite3.c:208695:5: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 72)) = rbuVfsCheckReservedLock // sqlite3.c:208696:5: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 80)) = rbuVfsFileControl // sqlite3.c:208697:5: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 88)) = rbuVfsSectorSize // sqlite3.c:208698:5: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 96)) = rbuVfsDeviceCharacteristics // sqlite3.c:208699:5: + *(*func(*libc.TLS, uintptr, int32, int32, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 104)) = rbuVfsShmMap // sqlite3.c:208700:5: + *(*func(*libc.TLS, uintptr, int32, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 112)) = rbuVfsShmLock // sqlite3.c:208701:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 120)) = rbuVfsShmBarrier // sqlite3.c:208702:5: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 128)) = rbuVfsShmUnmap // sqlite3.c:208703:5: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 8)) = rtreeCreate // sqlite3.c:199329:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 16)) = rtreeConnect // sqlite3.c:199330:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 24)) = rtreeBestIndex // sqlite3.c:199331:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 32)) = rtreeDisconnect // sqlite3.c:199332:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 40)) = rtreeDestroy // sqlite3.c:199333:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 48)) = rtreeOpen // sqlite3.c:199334:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 56)) = rtreeClose // sqlite3.c:199335:3: + *(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 64)) = rtreeFilter // sqlite3.c:199336:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 72)) = rtreeNext // sqlite3.c:199337:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 80)) = rtreeEof // sqlite3.c:199338:3: + *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 88)) = rtreeColumn // sqlite3.c:199339:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 96)) = rtreeRowid // sqlite3.c:199340:3: + *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 104)) = rtreeUpdate // sqlite3.c:199341:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 112)) = rtreeBeginTransaction // sqlite3.c:199342:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 120)) = rtreeEndTransaction // sqlite3.c:199343:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 128)) = rtreeEndTransaction // sqlite3.c:199344:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 136)) = rtreeEndTransaction // sqlite3.c:199345:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 152)) = rtreeRename // sqlite3.c:199347:3: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 160)) = rtreeSavepoint // sqlite3.c:199348:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 184)) = rtreeShadowName // sqlite3.c:199351:3: + *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 8)) = fts5ApiUserData // sqlite3.c:233916:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 16)) = fts5ApiColumnCount // sqlite3.c:233917:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 24)) = fts5ApiRowCount // sqlite3.c:233918:3: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 32)) = fts5ApiColumnTotalSize // sqlite3.c:233919:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 40)) = fts5ApiTokenize // sqlite3.c:233920:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 48)) = fts5ApiPhraseCount // sqlite3.c:233921:3: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 56)) = fts5ApiPhraseSize // sqlite3.c:233922:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 64)) = fts5ApiInstCount // sqlite3.c:233923:3: + *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 72)) = fts5ApiInst // sqlite3.c:233924:3: + *(*func(*libc.TLS, uintptr) Sqlite3_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 80)) = fts5ApiRowid // sqlite3.c:233925:3: + *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 88)) = fts5ApiColumnText // sqlite3.c:233926:3: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 96)) = fts5ApiColumnSize // sqlite3.c:233927:3: + *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 104)) = fts5ApiQueryPhrase // sqlite3.c:233928:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 112)) = fts5ApiSetAuxdata // sqlite3.c:233929:3: + *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 120)) = fts5ApiGetAuxdata // sqlite3.c:233930:3: + *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 128)) = fts5ApiPhraseFirst // sqlite3.c:233931:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 136)) = fts5ApiPhraseNext // sqlite3.c:233932:3: + *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 144)) = fts5ApiPhraseFirstColumn // sqlite3.c:233933:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 152)) = fts5ApiPhraseNextColumn // sqlite3.c:233934:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sMemJournalMethods)) + 8)) = memjrnlClose // sqlite3.c:100036:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sMemJournalMethods)) + 16)) = memjrnlRead // sqlite3.c:100037:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sMemJournalMethods)) + 24)) = memjrnlWrite // sqlite3.c:100038:3: + *(*func(*libc.TLS, uintptr, Sqlite_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sMemJournalMethods)) + 32)) = memjrnlTruncate // sqlite3.c:100039:3: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sMemJournalMethods)) + 40)) = memjrnlSync // sqlite3.c:100040:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sMemJournalMethods)) + 48)) = memjrnlFileSize // sqlite3.c:100041:3: *(*func(*libc.TLS) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sMutex)) + 0)) = noopMutexInit // sqlite3.c:27532:5: *(*func(*libc.TLS) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sMutex)) + 8)) = noopMutexEnd // sqlite3.c:27533:5: *(*func(*libc.TLS, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sMutex)) + 16)) = noopMutexAlloc // sqlite3.c:27534:5: @@ -195000,288 +195031,288 @@ func init() { *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sMutex)) + 32)) = noopMutexEnter // sqlite3.c:27536:5: *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sMutex)) + 40)) = noopMutexTry // sqlite3.c:27537:5: *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sMutex)) + 48)) = noopMutexLeave // sqlite3.c:27538:5: - *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 0)) = Xsqlite3_aggregate_context // sqlite3.c:129019:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 8)) = Xsqlite3_aggregate_count // sqlite3.c:129021:3: - *(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 16)) = Xsqlite3_bind_blob // sqlite3.c:129025:3: - *(*func(*libc.TLS, uintptr, int32, float64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 24)) = Xsqlite3_bind_double // sqlite3.c:129026:3: - *(*func(*libc.TLS, uintptr, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 32)) = Xsqlite3_bind_int // sqlite3.c:129027:3: - *(*func(*libc.TLS, uintptr, int32, Sqlite_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 40)) = Xsqlite3_bind_int64 // sqlite3.c:129028:3: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 48)) = Xsqlite3_bind_null // sqlite3.c:129029:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 56)) = Xsqlite3_bind_parameter_count // sqlite3.c:129030:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 64)) = Xsqlite3_bind_parameter_index // sqlite3.c:129031:3: - *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 72)) = Xsqlite3_bind_parameter_name // sqlite3.c:129032:3: - *(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 80)) = Xsqlite3_bind_text // sqlite3.c:129033:3: - *(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 88)) = Xsqlite3_bind_text16 // sqlite3.c:129034:3: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 96)) = Xsqlite3_bind_value // sqlite3.c:129035:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 104)) = Xsqlite3_busy_handler // sqlite3.c:129036:3: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 112)) = Xsqlite3_busy_timeout // sqlite3.c:129037:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 120)) = Xsqlite3_changes // sqlite3.c:129038:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 128)) = Xsqlite3_close // sqlite3.c:129039:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 136)) = Xsqlite3_collation_needed // sqlite3.c:129040:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 144)) = Xsqlite3_collation_needed16 // sqlite3.c:129041:3: - *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 152)) = Xsqlite3_column_blob // sqlite3.c:129042:3: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 160)) = Xsqlite3_column_bytes // sqlite3.c:129043:3: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 168)) = Xsqlite3_column_bytes16 // sqlite3.c:129044:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 176)) = Xsqlite3_column_count // sqlite3.c:129045:3: - *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 184)) = Xsqlite3_column_database_name // sqlite3.c:129046:3: - *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 192)) = Xsqlite3_column_database_name16 // sqlite3.c:129047:3: - *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 200)) = Xsqlite3_column_decltype // sqlite3.c:129048:3: - *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 208)) = Xsqlite3_column_decltype16 // sqlite3.c:129049:3: - *(*func(*libc.TLS, uintptr, int32) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 216)) = Xsqlite3_column_double // sqlite3.c:129050:3: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 224)) = Xsqlite3_column_int // sqlite3.c:129051:3: - *(*func(*libc.TLS, uintptr, int32) Sqlite_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 232)) = Xsqlite3_column_int64 // sqlite3.c:129052:3: - *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 240)) = Xsqlite3_column_name // sqlite3.c:129053:3: - *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 248)) = Xsqlite3_column_name16 // sqlite3.c:129054:3: - *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 256)) = Xsqlite3_column_origin_name // sqlite3.c:129055:3: - *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 264)) = Xsqlite3_column_origin_name16 // sqlite3.c:129056:3: - *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 272)) = Xsqlite3_column_table_name // sqlite3.c:129057:3: - *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 280)) = Xsqlite3_column_table_name16 // sqlite3.c:129058:3: - *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 288)) = Xsqlite3_column_text // sqlite3.c:129059:3: - *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 296)) = Xsqlite3_column_text16 // sqlite3.c:129060:3: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 304)) = Xsqlite3_column_type // sqlite3.c:129061:3: - *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 312)) = Xsqlite3_column_value // sqlite3.c:129062:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 320)) = Xsqlite3_commit_hook // sqlite3.c:129063:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 328)) = Xsqlite3_complete // sqlite3.c:129064:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 336)) = Xsqlite3_complete16 // sqlite3.c:129065:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 344)) = Xsqlite3_create_collation // sqlite3.c:129066:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 352)) = Xsqlite3_create_collation16 // sqlite3.c:129067:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, int32, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 360)) = Xsqlite3_create_function // sqlite3.c:129068:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, int32, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 368)) = Xsqlite3_create_function16 // sqlite3.c:129069:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 376)) = Xsqlite3_create_module // sqlite3.c:129070:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 384)) = Xsqlite3_data_count // sqlite3.c:129071:3: - *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 392)) = Xsqlite3_db_handle // sqlite3.c:129072:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 400)) = Xsqlite3_declare_vtab // sqlite3.c:129073:3: - *(*func(*libc.TLS, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 408)) = Xsqlite3_enable_shared_cache // sqlite3.c:129074:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 416)) = Xsqlite3_errcode // sqlite3.c:129075:3: - *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 424)) = Xsqlite3_errmsg // sqlite3.c:129076:3: - *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 432)) = Xsqlite3_errmsg16 // sqlite3.c:129077:3: - *(*func(*libc.TLS, uintptr, uintptr, Sqlite3_callback, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 440)) = Xsqlite3_exec // sqlite3.c:129078:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 448)) = Xsqlite3_expired // sqlite3.c:129080:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 456)) = Xsqlite3_finalize // sqlite3.c:129084:3: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 464)) = Xsqlite3_free // sqlite3.c:129085:3: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 472)) = Xsqlite3_free_table // sqlite3.c:129086:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 480)) = Xsqlite3_get_autocommit // sqlite3.c:129087:3: - *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 488)) = Xsqlite3_get_auxdata // sqlite3.c:129088:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 496)) = Xsqlite3_get_table // sqlite3.c:129089:3: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 512)) = Xsqlite3_interrupt // sqlite3.c:129091:3: - *(*func(*libc.TLS, uintptr) Sqlite3_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 520)) = Xsqlite3_last_insert_rowid // sqlite3.c:129092:3: - *(*func(*libc.TLS) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 528)) = Xsqlite3_libversion // sqlite3.c:129093:3: - *(*func(*libc.TLS) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 536)) = Xsqlite3_libversion_number // sqlite3.c:129094:3: - *(*func(*libc.TLS, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 544)) = Xsqlite3_malloc // sqlite3.c:129095:3: - *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 552)) = Xsqlite3_mprintf // sqlite3.c:129096:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 560)) = Xsqlite3_open // sqlite3.c:129097:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 568)) = Xsqlite3_open16 // sqlite3.c:129098:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 576)) = Xsqlite3_prepare // sqlite3.c:129099:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 584)) = Xsqlite3_prepare16 // sqlite3.c:129100:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 592)) = Xsqlite3_profile // sqlite3.c:129101:3: - *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 600)) = Xsqlite3_progress_handler // sqlite3.c:129102:3: - *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 608)) = Xsqlite3_realloc // sqlite3.c:129103:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 616)) = Xsqlite3_reset // sqlite3.c:129104:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 624)) = Xsqlite3_result_blob // sqlite3.c:129105:3: - *(*func(*libc.TLS, uintptr, float64))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 632)) = Xsqlite3_result_double // sqlite3.c:129106:3: - *(*func(*libc.TLS, uintptr, uintptr, int32))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 640)) = Xsqlite3_result_error // sqlite3.c:129107:3: - *(*func(*libc.TLS, uintptr, uintptr, int32))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 648)) = Xsqlite3_result_error16 // sqlite3.c:129108:3: - *(*func(*libc.TLS, uintptr, int32))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 656)) = Xsqlite3_result_int // sqlite3.c:129109:3: - *(*func(*libc.TLS, uintptr, I64))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 664)) = Xsqlite3_result_int64 // sqlite3.c:129110:3: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 672)) = Xsqlite3_result_null // sqlite3.c:129111:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 680)) = Xsqlite3_result_text // sqlite3.c:129112:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 688)) = Xsqlite3_result_text16 // sqlite3.c:129113:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 696)) = Xsqlite3_result_text16be // sqlite3.c:129114:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 704)) = Xsqlite3_result_text16le // sqlite3.c:129115:3: - *(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 712)) = Xsqlite3_result_value // sqlite3.c:129116:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 720)) = Xsqlite3_rollback_hook // sqlite3.c:129117:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 728)) = Xsqlite3_set_authorizer // sqlite3.c:129118:3: - *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 736)) = Xsqlite3_set_auxdata // sqlite3.c:129119:3: - *(*func(*libc.TLS, int32, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 744)) = Xsqlite3_snprintf // sqlite3.c:129120:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 752)) = Xsqlite3_step // sqlite3.c:129121:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr, uintptr, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 760)) = Xsqlite3_table_column_metadata // sqlite3.c:129122:3: - *(*func(*libc.TLS))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 768)) = Xsqlite3_thread_cleanup // sqlite3.c:129124:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 776)) = Xsqlite3_total_changes // sqlite3.c:129128:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 784)) = Xsqlite3_trace // sqlite3.c:129129:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 792)) = Xsqlite3_transfer_bindings // sqlite3.c:129131:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 800)) = Xsqlite3_update_hook // sqlite3.c:129135:3: - *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 808)) = Xsqlite3_user_data // sqlite3.c:129136:3: - *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 816)) = Xsqlite3_value_blob // sqlite3.c:129137:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 824)) = Xsqlite3_value_bytes // sqlite3.c:129138:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 832)) = Xsqlite3_value_bytes16 // sqlite3.c:129139:3: - *(*func(*libc.TLS, uintptr) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 840)) = Xsqlite3_value_double // sqlite3.c:129140:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 848)) = Xsqlite3_value_int // sqlite3.c:129141:3: - *(*func(*libc.TLS, uintptr) Sqlite_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 856)) = Xsqlite3_value_int64 // sqlite3.c:129142:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 864)) = Xsqlite3_value_numeric_type // sqlite3.c:129143:3: - *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 872)) = Xsqlite3_value_text // sqlite3.c:129144:3: - *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 880)) = Xsqlite3_value_text16 // sqlite3.c:129145:3: - *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 888)) = Xsqlite3_value_text16be // sqlite3.c:129146:3: - *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 896)) = Xsqlite3_value_text16le // sqlite3.c:129147:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 904)) = Xsqlite3_value_type // sqlite3.c:129148:3: - *(*func(*libc.TLS, uintptr, Va_list) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 912)) = Xsqlite3_vmprintf // sqlite3.c:129149:3: - *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 920)) = Xsqlite3_overload_function // sqlite3.c:129158:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 928)) = Xsqlite3_prepare_v2 // sqlite3.c:129163:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 936)) = Xsqlite3_prepare16_v2 // sqlite3.c:129164:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 944)) = Xsqlite3_clear_bindings // sqlite3.c:129165:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 952)) = Xsqlite3_create_module_v2 // sqlite3.c:129170:3: - *(*func(*libc.TLS, uintptr, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 960)) = Xsqlite3_bind_zeroblob // sqlite3.c:129175:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 968)) = Xsqlite3_blob_bytes // sqlite3.c:129176:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 976)) = Xsqlite3_blob_close // sqlite3.c:129177:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr, Sqlite_int64, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 984)) = Xsqlite3_blob_open // sqlite3.c:129178:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 992)) = Xsqlite3_blob_read // sqlite3.c:129179:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1000)) = Xsqlite3_blob_write // sqlite3.c:129180:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1008)) = Xsqlite3_create_collation_v2 // sqlite3.c:129181:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1016)) = Xsqlite3_file_control // sqlite3.c:129182:3: - *(*func(*libc.TLS, int32) Sqlite3_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1024)) = Xsqlite3_memory_highwater // sqlite3.c:129183:3: - *(*func(*libc.TLS) Sqlite3_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1032)) = Xsqlite3_memory_used // sqlite3.c:129184:3: - *(*func(*libc.TLS, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1040)) = Xsqlite3_mutex_alloc // sqlite3.c:129192:3: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1048)) = Xsqlite3_mutex_enter // sqlite3.c:129193:3: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1056)) = Xsqlite3_mutex_free // sqlite3.c:129194:3: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1064)) = Xsqlite3_mutex_leave // sqlite3.c:129195:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1072)) = Xsqlite3_mutex_try // sqlite3.c:129196:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1080)) = Xsqlite3_open_v2 // sqlite3.c:129198:3: - *(*func(*libc.TLS, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1088)) = Xsqlite3_release_memory // sqlite3.c:129199:3: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1096)) = Xsqlite3_result_error_nomem // sqlite3.c:129200:3: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1104)) = Xsqlite3_result_error_toobig // sqlite3.c:129201:3: - *(*func(*libc.TLS, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1112)) = Xsqlite3_sleep // sqlite3.c:129202:3: - *(*func(*libc.TLS, int32))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1120)) = Xsqlite3_soft_heap_limit // sqlite3.c:129203:3: - *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1128)) = Xsqlite3_vfs_find // sqlite3.c:129204:3: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1136)) = Xsqlite3_vfs_register // sqlite3.c:129205:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1144)) = Xsqlite3_vfs_unregister // sqlite3.c:129206:3: - *(*func(*libc.TLS) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1152)) = Xsqlite3_threadsafe // sqlite3.c:129211:3: - *(*func(*libc.TLS, uintptr, int32))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1160)) = Xsqlite3_result_zeroblob // sqlite3.c:129212:3: - *(*func(*libc.TLS, uintptr, int32))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1168)) = Xsqlite3_result_error_code // sqlite3.c:129213:3: - *(*func(*libc.TLS, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1176)) = Xsqlite3_test_control // sqlite3.c:129214:3: - *(*func(*libc.TLS, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1184)) = Xsqlite3_randomness // sqlite3.c:129215:3: - *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1192)) = Xsqlite3_context_db_handle // sqlite3.c:129216:3: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1200)) = Xsqlite3_extended_result_codes // sqlite3.c:129221:3: - *(*func(*libc.TLS, uintptr, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1208)) = Xsqlite3_limit // sqlite3.c:129222:3: - *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1216)) = Xsqlite3_next_stmt // sqlite3.c:129223:3: - *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1224)) = Xsqlite3_sql // sqlite3.c:129224:3: - *(*func(*libc.TLS, int32, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1232)) = Xsqlite3_status // sqlite3.c:129225:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1240)) = Xsqlite3_backup_finish // sqlite3.c:129230:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1248)) = Xsqlite3_backup_init // sqlite3.c:129231:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1256)) = Xsqlite3_backup_pagecount // sqlite3.c:129232:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1264)) = Xsqlite3_backup_remaining // sqlite3.c:129233:3: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1272)) = Xsqlite3_backup_step // sqlite3.c:129234:3: - *(*func(*libc.TLS, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1280)) = Xsqlite3_compileoption_get // sqlite3.c:129236:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1288)) = Xsqlite3_compileoption_used // sqlite3.c:129237:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, int32, uintptr, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1296)) = Xsqlite3_create_function_v2 // sqlite3.c:129242:3: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1304)) = Xsqlite3_db_config // sqlite3.c:129243:3: - *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1312)) = Xsqlite3_db_mutex // sqlite3.c:129244:3: - *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1320)) = Xsqlite3_db_status // sqlite3.c:129245:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1328)) = Xsqlite3_extended_errcode // sqlite3.c:129246:3: - *(*func(*libc.TLS, int32, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1336)) = Xsqlite3_log // sqlite3.c:129247:3: - *(*func(*libc.TLS, Sqlite3_int64) Sqlite3_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1344)) = Xsqlite3_soft_heap_limit64 // sqlite3.c:129248:3: - *(*func(*libc.TLS) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1352)) = Xsqlite3_sourceid // sqlite3.c:129249:3: - *(*func(*libc.TLS, uintptr, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1360)) = Xsqlite3_stmt_status // sqlite3.c:129250:3: - *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1368)) = Xsqlite3_strnicmp // sqlite3.c:129251:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1376)) = Xsqlite3_unlock_notify // sqlite3.c:129253:3: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1384)) = Xsqlite3_wal_autocheckpoint // sqlite3.c:129258:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1392)) = Xsqlite3_wal_checkpoint // sqlite3.c:129259:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1400)) = Xsqlite3_wal_hook // sqlite3.c:129260:3: - *(*func(*libc.TLS, uintptr, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1408)) = Xsqlite3_blob_reopen // sqlite3.c:129266:3: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1416)) = Xsqlite3_vtab_config // sqlite3.c:129267:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1424)) = Xsqlite3_vtab_on_conflict // sqlite3.c:129268:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1432)) = Xsqlite3_close_v2 // sqlite3.c:129269:3: - *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1440)) = Xsqlite3_db_filename // sqlite3.c:129270:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1448)) = Xsqlite3_db_readonly // sqlite3.c:129271:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1456)) = Xsqlite3_db_release_memory // sqlite3.c:129272:3: - *(*func(*libc.TLS, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1464)) = Xsqlite3_errstr // sqlite3.c:129273:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1472)) = Xsqlite3_stmt_busy // sqlite3.c:129274:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1480)) = Xsqlite3_stmt_readonly // sqlite3.c:129275:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1488)) = Xsqlite3_stricmp // sqlite3.c:129276:3: - *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1496)) = Xsqlite3_uri_boolean // sqlite3.c:129277:3: - *(*func(*libc.TLS, uintptr, uintptr, Sqlite3_int64) Sqlite3_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1504)) = Xsqlite3_uri_int64 // sqlite3.c:129278:3: - *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1512)) = Xsqlite3_uri_parameter // sqlite3.c:129279:3: - *(*func(*libc.TLS, int32, uintptr, uintptr, Va_list) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1520)) = Xsqlite3_vsnprintf // sqlite3.c:129280:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1528)) = Xsqlite3_wal_checkpoint_v2 // sqlite3.c:129281:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1536)) = Xsqlite3_auto_extension // sqlite3.c:129283:3: - *(*func(*libc.TLS, uintptr, int32, uintptr, Sqlite3_uint64, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1544)) = Xsqlite3_bind_blob64 // sqlite3.c:129284:3: - *(*func(*libc.TLS, uintptr, int32, uintptr, Sqlite3_uint64, uintptr, uint8) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1552)) = Xsqlite3_bind_text64 // sqlite3.c:129285:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1560)) = Xsqlite3_cancel_auto_extension // sqlite3.c:129286:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1568)) = Xsqlite3_load_extension // sqlite3.c:129287:3: - *(*func(*libc.TLS, Sqlite3_uint64) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1576)) = Xsqlite3_malloc64 // sqlite3.c:129288:3: - *(*func(*libc.TLS, uintptr) Sqlite3_uint64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1584)) = Xsqlite3_msize // sqlite3.c:129289:3: - *(*func(*libc.TLS, uintptr, Sqlite3_uint64) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1592)) = Xsqlite3_realloc64 // sqlite3.c:129290:3: - *(*func(*libc.TLS))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1600)) = Xsqlite3_reset_auto_extension // sqlite3.c:129291:3: - *(*func(*libc.TLS, uintptr, uintptr, Sqlite3_uint64, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1608)) = Xsqlite3_result_blob64 // sqlite3.c:129292:3: - *(*func(*libc.TLS, uintptr, uintptr, Sqlite3_uint64, uintptr, uint8))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1616)) = Xsqlite3_result_text64 // sqlite3.c:129293:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1624)) = Xsqlite3_strglob // sqlite3.c:129294:3: + *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 0)) = Xsqlite3_aggregate_context // sqlite3.c:129032:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 8)) = Xsqlite3_aggregate_count // sqlite3.c:129034:3: + *(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 16)) = Xsqlite3_bind_blob // sqlite3.c:129038:3: + *(*func(*libc.TLS, uintptr, int32, float64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 24)) = Xsqlite3_bind_double // sqlite3.c:129039:3: + *(*func(*libc.TLS, uintptr, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 32)) = Xsqlite3_bind_int // sqlite3.c:129040:3: + *(*func(*libc.TLS, uintptr, int32, Sqlite_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 40)) = Xsqlite3_bind_int64 // sqlite3.c:129041:3: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 48)) = Xsqlite3_bind_null // sqlite3.c:129042:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 56)) = Xsqlite3_bind_parameter_count // sqlite3.c:129043:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 64)) = Xsqlite3_bind_parameter_index // sqlite3.c:129044:3: + *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 72)) = Xsqlite3_bind_parameter_name // sqlite3.c:129045:3: + *(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 80)) = Xsqlite3_bind_text // sqlite3.c:129046:3: + *(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 88)) = Xsqlite3_bind_text16 // sqlite3.c:129047:3: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 96)) = Xsqlite3_bind_value // sqlite3.c:129048:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 104)) = Xsqlite3_busy_handler // sqlite3.c:129049:3: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 112)) = Xsqlite3_busy_timeout // sqlite3.c:129050:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 120)) = Xsqlite3_changes // sqlite3.c:129051:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 128)) = Xsqlite3_close // sqlite3.c:129052:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 136)) = Xsqlite3_collation_needed // sqlite3.c:129053:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 144)) = Xsqlite3_collation_needed16 // sqlite3.c:129054:3: + *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 152)) = Xsqlite3_column_blob // sqlite3.c:129055:3: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 160)) = Xsqlite3_column_bytes // sqlite3.c:129056:3: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 168)) = Xsqlite3_column_bytes16 // sqlite3.c:129057:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 176)) = Xsqlite3_column_count // sqlite3.c:129058:3: + *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 184)) = Xsqlite3_column_database_name // sqlite3.c:129059:3: + *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 192)) = Xsqlite3_column_database_name16 // sqlite3.c:129060:3: + *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 200)) = Xsqlite3_column_decltype // sqlite3.c:129061:3: + *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 208)) = Xsqlite3_column_decltype16 // sqlite3.c:129062:3: + *(*func(*libc.TLS, uintptr, int32) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 216)) = Xsqlite3_column_double // sqlite3.c:129063:3: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 224)) = Xsqlite3_column_int // sqlite3.c:129064:3: + *(*func(*libc.TLS, uintptr, int32) Sqlite_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 232)) = Xsqlite3_column_int64 // sqlite3.c:129065:3: + *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 240)) = Xsqlite3_column_name // sqlite3.c:129066:3: + *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 248)) = Xsqlite3_column_name16 // sqlite3.c:129067:3: + *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 256)) = Xsqlite3_column_origin_name // sqlite3.c:129068:3: + *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 264)) = Xsqlite3_column_origin_name16 // sqlite3.c:129069:3: + *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 272)) = Xsqlite3_column_table_name // sqlite3.c:129070:3: + *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 280)) = Xsqlite3_column_table_name16 // sqlite3.c:129071:3: + *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 288)) = Xsqlite3_column_text // sqlite3.c:129072:3: + *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 296)) = Xsqlite3_column_text16 // sqlite3.c:129073:3: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 304)) = Xsqlite3_column_type // sqlite3.c:129074:3: + *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 312)) = Xsqlite3_column_value // sqlite3.c:129075:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 320)) = Xsqlite3_commit_hook // sqlite3.c:129076:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 328)) = Xsqlite3_complete // sqlite3.c:129077:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 336)) = Xsqlite3_complete16 // sqlite3.c:129078:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 344)) = Xsqlite3_create_collation // sqlite3.c:129079:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 352)) = Xsqlite3_create_collation16 // sqlite3.c:129080:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, int32, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 360)) = Xsqlite3_create_function // sqlite3.c:129081:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, int32, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 368)) = Xsqlite3_create_function16 // sqlite3.c:129082:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 376)) = Xsqlite3_create_module // sqlite3.c:129083:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 384)) = Xsqlite3_data_count // sqlite3.c:129084:3: + *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 392)) = Xsqlite3_db_handle // sqlite3.c:129085:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 400)) = Xsqlite3_declare_vtab // sqlite3.c:129086:3: + *(*func(*libc.TLS, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 408)) = Xsqlite3_enable_shared_cache // sqlite3.c:129087:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 416)) = Xsqlite3_errcode // sqlite3.c:129088:3: + *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 424)) = Xsqlite3_errmsg // sqlite3.c:129089:3: + *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 432)) = Xsqlite3_errmsg16 // sqlite3.c:129090:3: + *(*func(*libc.TLS, uintptr, uintptr, Sqlite3_callback, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 440)) = Xsqlite3_exec // sqlite3.c:129091:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 448)) = Xsqlite3_expired // sqlite3.c:129093:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 456)) = Xsqlite3_finalize // sqlite3.c:129097:3: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 464)) = Xsqlite3_free // sqlite3.c:129098:3: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 472)) = Xsqlite3_free_table // sqlite3.c:129099:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 480)) = Xsqlite3_get_autocommit // sqlite3.c:129100:3: + *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 488)) = Xsqlite3_get_auxdata // sqlite3.c:129101:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 496)) = Xsqlite3_get_table // sqlite3.c:129102:3: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 512)) = Xsqlite3_interrupt // sqlite3.c:129104:3: + *(*func(*libc.TLS, uintptr) Sqlite3_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 520)) = Xsqlite3_last_insert_rowid // sqlite3.c:129105:3: + *(*func(*libc.TLS) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 528)) = Xsqlite3_libversion // sqlite3.c:129106:3: + *(*func(*libc.TLS) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 536)) = Xsqlite3_libversion_number // sqlite3.c:129107:3: + *(*func(*libc.TLS, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 544)) = Xsqlite3_malloc // sqlite3.c:129108:3: + *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 552)) = Xsqlite3_mprintf // sqlite3.c:129109:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 560)) = Xsqlite3_open // sqlite3.c:129110:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 568)) = Xsqlite3_open16 // sqlite3.c:129111:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 576)) = Xsqlite3_prepare // sqlite3.c:129112:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 584)) = Xsqlite3_prepare16 // sqlite3.c:129113:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 592)) = Xsqlite3_profile // sqlite3.c:129114:3: + *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 600)) = Xsqlite3_progress_handler // sqlite3.c:129115:3: + *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 608)) = Xsqlite3_realloc // sqlite3.c:129116:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 616)) = Xsqlite3_reset // sqlite3.c:129117:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 624)) = Xsqlite3_result_blob // sqlite3.c:129118:3: + *(*func(*libc.TLS, uintptr, float64))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 632)) = Xsqlite3_result_double // sqlite3.c:129119:3: + *(*func(*libc.TLS, uintptr, uintptr, int32))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 640)) = Xsqlite3_result_error // sqlite3.c:129120:3: + *(*func(*libc.TLS, uintptr, uintptr, int32))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 648)) = Xsqlite3_result_error16 // sqlite3.c:129121:3: + *(*func(*libc.TLS, uintptr, int32))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 656)) = Xsqlite3_result_int // sqlite3.c:129122:3: + *(*func(*libc.TLS, uintptr, I64))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 664)) = Xsqlite3_result_int64 // sqlite3.c:129123:3: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 672)) = Xsqlite3_result_null // sqlite3.c:129124:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 680)) = Xsqlite3_result_text // sqlite3.c:129125:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 688)) = Xsqlite3_result_text16 // sqlite3.c:129126:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 696)) = Xsqlite3_result_text16be // sqlite3.c:129127:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 704)) = Xsqlite3_result_text16le // sqlite3.c:129128:3: + *(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 712)) = Xsqlite3_result_value // sqlite3.c:129129:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 720)) = Xsqlite3_rollback_hook // sqlite3.c:129130:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 728)) = Xsqlite3_set_authorizer // sqlite3.c:129131:3: + *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 736)) = Xsqlite3_set_auxdata // sqlite3.c:129132:3: + *(*func(*libc.TLS, int32, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 744)) = Xsqlite3_snprintf // sqlite3.c:129133:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 752)) = Xsqlite3_step // sqlite3.c:129134:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr, uintptr, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 760)) = Xsqlite3_table_column_metadata // sqlite3.c:129135:3: + *(*func(*libc.TLS))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 768)) = Xsqlite3_thread_cleanup // sqlite3.c:129137:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 776)) = Xsqlite3_total_changes // sqlite3.c:129141:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 784)) = Xsqlite3_trace // sqlite3.c:129142:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 792)) = Xsqlite3_transfer_bindings // sqlite3.c:129144:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 800)) = Xsqlite3_update_hook // sqlite3.c:129148:3: + *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 808)) = Xsqlite3_user_data // sqlite3.c:129149:3: + *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 816)) = Xsqlite3_value_blob // sqlite3.c:129150:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 824)) = Xsqlite3_value_bytes // sqlite3.c:129151:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 832)) = Xsqlite3_value_bytes16 // sqlite3.c:129152:3: + *(*func(*libc.TLS, uintptr) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 840)) = Xsqlite3_value_double // sqlite3.c:129153:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 848)) = Xsqlite3_value_int // sqlite3.c:129154:3: + *(*func(*libc.TLS, uintptr) Sqlite_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 856)) = Xsqlite3_value_int64 // sqlite3.c:129155:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 864)) = Xsqlite3_value_numeric_type // sqlite3.c:129156:3: + *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 872)) = Xsqlite3_value_text // sqlite3.c:129157:3: + *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 880)) = Xsqlite3_value_text16 // sqlite3.c:129158:3: + *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 888)) = Xsqlite3_value_text16be // sqlite3.c:129159:3: + *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 896)) = Xsqlite3_value_text16le // sqlite3.c:129160:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 904)) = Xsqlite3_value_type // sqlite3.c:129161:3: + *(*func(*libc.TLS, uintptr, Va_list) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 912)) = Xsqlite3_vmprintf // sqlite3.c:129162:3: + *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 920)) = Xsqlite3_overload_function // sqlite3.c:129171:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 928)) = Xsqlite3_prepare_v2 // sqlite3.c:129176:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 936)) = Xsqlite3_prepare16_v2 // sqlite3.c:129177:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 944)) = Xsqlite3_clear_bindings // sqlite3.c:129178:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 952)) = Xsqlite3_create_module_v2 // sqlite3.c:129183:3: + *(*func(*libc.TLS, uintptr, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 960)) = Xsqlite3_bind_zeroblob // sqlite3.c:129188:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 968)) = Xsqlite3_blob_bytes // sqlite3.c:129189:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 976)) = Xsqlite3_blob_close // sqlite3.c:129190:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr, Sqlite_int64, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 984)) = Xsqlite3_blob_open // sqlite3.c:129191:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 992)) = Xsqlite3_blob_read // sqlite3.c:129192:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1000)) = Xsqlite3_blob_write // sqlite3.c:129193:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1008)) = Xsqlite3_create_collation_v2 // sqlite3.c:129194:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1016)) = Xsqlite3_file_control // sqlite3.c:129195:3: + *(*func(*libc.TLS, int32) Sqlite3_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1024)) = Xsqlite3_memory_highwater // sqlite3.c:129196:3: + *(*func(*libc.TLS) Sqlite3_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1032)) = Xsqlite3_memory_used // sqlite3.c:129197:3: + *(*func(*libc.TLS, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1040)) = Xsqlite3_mutex_alloc // sqlite3.c:129205:3: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1048)) = Xsqlite3_mutex_enter // sqlite3.c:129206:3: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1056)) = Xsqlite3_mutex_free // sqlite3.c:129207:3: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1064)) = Xsqlite3_mutex_leave // sqlite3.c:129208:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1072)) = Xsqlite3_mutex_try // sqlite3.c:129209:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1080)) = Xsqlite3_open_v2 // sqlite3.c:129211:3: + *(*func(*libc.TLS, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1088)) = Xsqlite3_release_memory // sqlite3.c:129212:3: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1096)) = Xsqlite3_result_error_nomem // sqlite3.c:129213:3: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1104)) = Xsqlite3_result_error_toobig // sqlite3.c:129214:3: + *(*func(*libc.TLS, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1112)) = Xsqlite3_sleep // sqlite3.c:129215:3: + *(*func(*libc.TLS, int32))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1120)) = Xsqlite3_soft_heap_limit // sqlite3.c:129216:3: + *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1128)) = Xsqlite3_vfs_find // sqlite3.c:129217:3: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1136)) = Xsqlite3_vfs_register // sqlite3.c:129218:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1144)) = Xsqlite3_vfs_unregister // sqlite3.c:129219:3: + *(*func(*libc.TLS) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1152)) = Xsqlite3_threadsafe // sqlite3.c:129224:3: + *(*func(*libc.TLS, uintptr, int32))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1160)) = Xsqlite3_result_zeroblob // sqlite3.c:129225:3: + *(*func(*libc.TLS, uintptr, int32))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1168)) = Xsqlite3_result_error_code // sqlite3.c:129226:3: + *(*func(*libc.TLS, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1176)) = Xsqlite3_test_control // sqlite3.c:129227:3: + *(*func(*libc.TLS, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1184)) = Xsqlite3_randomness // sqlite3.c:129228:3: + *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1192)) = Xsqlite3_context_db_handle // sqlite3.c:129229:3: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1200)) = Xsqlite3_extended_result_codes // sqlite3.c:129234:3: + *(*func(*libc.TLS, uintptr, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1208)) = Xsqlite3_limit // sqlite3.c:129235:3: + *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1216)) = Xsqlite3_next_stmt // sqlite3.c:129236:3: + *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1224)) = Xsqlite3_sql // sqlite3.c:129237:3: + *(*func(*libc.TLS, int32, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1232)) = Xsqlite3_status // sqlite3.c:129238:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1240)) = Xsqlite3_backup_finish // sqlite3.c:129243:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1248)) = Xsqlite3_backup_init // sqlite3.c:129244:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1256)) = Xsqlite3_backup_pagecount // sqlite3.c:129245:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1264)) = Xsqlite3_backup_remaining // sqlite3.c:129246:3: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1272)) = Xsqlite3_backup_step // sqlite3.c:129247:3: + *(*func(*libc.TLS, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1280)) = Xsqlite3_compileoption_get // sqlite3.c:129249:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1288)) = Xsqlite3_compileoption_used // sqlite3.c:129250:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, int32, uintptr, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1296)) = Xsqlite3_create_function_v2 // sqlite3.c:129255:3: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1304)) = Xsqlite3_db_config // sqlite3.c:129256:3: + *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1312)) = Xsqlite3_db_mutex // sqlite3.c:129257:3: + *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1320)) = Xsqlite3_db_status // sqlite3.c:129258:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1328)) = Xsqlite3_extended_errcode // sqlite3.c:129259:3: + *(*func(*libc.TLS, int32, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1336)) = Xsqlite3_log // sqlite3.c:129260:3: + *(*func(*libc.TLS, Sqlite3_int64) Sqlite3_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1344)) = Xsqlite3_soft_heap_limit64 // sqlite3.c:129261:3: + *(*func(*libc.TLS) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1352)) = Xsqlite3_sourceid // sqlite3.c:129262:3: + *(*func(*libc.TLS, uintptr, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1360)) = Xsqlite3_stmt_status // sqlite3.c:129263:3: + *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1368)) = Xsqlite3_strnicmp // sqlite3.c:129264:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1376)) = Xsqlite3_unlock_notify // sqlite3.c:129266:3: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1384)) = Xsqlite3_wal_autocheckpoint // sqlite3.c:129271:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1392)) = Xsqlite3_wal_checkpoint // sqlite3.c:129272:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1400)) = Xsqlite3_wal_hook // sqlite3.c:129273:3: + *(*func(*libc.TLS, uintptr, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1408)) = Xsqlite3_blob_reopen // sqlite3.c:129279:3: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1416)) = Xsqlite3_vtab_config // sqlite3.c:129280:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1424)) = Xsqlite3_vtab_on_conflict // sqlite3.c:129281:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1432)) = Xsqlite3_close_v2 // sqlite3.c:129282:3: + *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1440)) = Xsqlite3_db_filename // sqlite3.c:129283:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1448)) = Xsqlite3_db_readonly // sqlite3.c:129284:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1456)) = Xsqlite3_db_release_memory // sqlite3.c:129285:3: + *(*func(*libc.TLS, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1464)) = Xsqlite3_errstr // sqlite3.c:129286:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1472)) = Xsqlite3_stmt_busy // sqlite3.c:129287:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1480)) = Xsqlite3_stmt_readonly // sqlite3.c:129288:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1488)) = Xsqlite3_stricmp // sqlite3.c:129289:3: + *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1496)) = Xsqlite3_uri_boolean // sqlite3.c:129290:3: + *(*func(*libc.TLS, uintptr, uintptr, Sqlite3_int64) Sqlite3_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1504)) = Xsqlite3_uri_int64 // sqlite3.c:129291:3: + *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1512)) = Xsqlite3_uri_parameter // sqlite3.c:129292:3: + *(*func(*libc.TLS, int32, uintptr, uintptr, Va_list) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1520)) = Xsqlite3_vsnprintf // sqlite3.c:129293:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1528)) = Xsqlite3_wal_checkpoint_v2 // sqlite3.c:129294:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1536)) = Xsqlite3_auto_extension // sqlite3.c:129296:3: + *(*func(*libc.TLS, uintptr, int32, uintptr, Sqlite3_uint64, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1544)) = Xsqlite3_bind_blob64 // sqlite3.c:129297:3: + *(*func(*libc.TLS, uintptr, int32, uintptr, Sqlite3_uint64, uintptr, uint8) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1552)) = Xsqlite3_bind_text64 // sqlite3.c:129298:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1560)) = Xsqlite3_cancel_auto_extension // sqlite3.c:129299:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1568)) = Xsqlite3_load_extension // sqlite3.c:129300:3: + *(*func(*libc.TLS, Sqlite3_uint64) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1576)) = Xsqlite3_malloc64 // sqlite3.c:129301:3: + *(*func(*libc.TLS, uintptr) Sqlite3_uint64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1584)) = Xsqlite3_msize // sqlite3.c:129302:3: + *(*func(*libc.TLS, uintptr, Sqlite3_uint64) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1592)) = Xsqlite3_realloc64 // sqlite3.c:129303:3: + *(*func(*libc.TLS))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1600)) = Xsqlite3_reset_auto_extension // sqlite3.c:129304:3: + *(*func(*libc.TLS, uintptr, uintptr, Sqlite3_uint64, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1608)) = Xsqlite3_result_blob64 // sqlite3.c:129305:3: + *(*func(*libc.TLS, uintptr, uintptr, Sqlite3_uint64, uintptr, uint8))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1616)) = Xsqlite3_result_text64 // sqlite3.c:129306:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1624)) = Xsqlite3_strglob // sqlite3.c:129307:3: *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1632 /* .value_dup */)) = *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr) uintptr - }{Xsqlite3_value_dup})) // sqlite3.c:129296:3: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1640)) = Xsqlite3_value_free // sqlite3.c:129297:3: - *(*func(*libc.TLS, uintptr, U64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1648)) = Xsqlite3_result_zeroblob64 // sqlite3.c:129298:3: - *(*func(*libc.TLS, uintptr, int32, Sqlite3_uint64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1656)) = Xsqlite3_bind_zeroblob64 // sqlite3.c:129299:3: - *(*func(*libc.TLS, uintptr) uint32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1664)) = Xsqlite3_value_subtype // sqlite3.c:129301:3: - *(*func(*libc.TLS, uintptr, uint32))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1672)) = Xsqlite3_result_subtype // sqlite3.c:129302:3: - *(*func(*libc.TLS, int32, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1680)) = Xsqlite3_status64 // sqlite3.c:129304:3: - *(*func(*libc.TLS, uintptr, uintptr, uint32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1688)) = Xsqlite3_strlike // sqlite3.c:129305:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1696)) = Xsqlite3_db_cacheflush // sqlite3.c:129306:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1704)) = Xsqlite3_system_errno // sqlite3.c:129308:3: - *(*func(*libc.TLS, uintptr, uint32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1712)) = Xsqlite3_trace_v2 // sqlite3.c:129310:3: - *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1720)) = Xsqlite3_expanded_sql // sqlite3.c:129311:3: - *(*func(*libc.TLS, uintptr, Sqlite3_int64))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1728)) = Xsqlite3_set_last_insert_rowid // sqlite3.c:129313:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uint32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1736)) = Xsqlite3_prepare_v3 // sqlite3.c:129315:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uint32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1744)) = Xsqlite3_prepare16_v3 // sqlite3.c:129316:3: - *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1752)) = Xsqlite3_bind_pointer // sqlite3.c:129317:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1760)) = Xsqlite3_result_pointer // sqlite3.c:129318:3: - *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1768)) = Xsqlite3_value_pointer // sqlite3.c:129319:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1776)) = Xsqlite3_vtab_nochange // sqlite3.c:129321:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1784)) = Xsqlite3_value_nochange // sqlite3.c:129322:3: - *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1792)) = Xsqlite3_vtab_collation // sqlite3.c:129323:3: - *(*func(*libc.TLS) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1800)) = Xsqlite3_keyword_count // sqlite3.c:129325:3: - *(*func(*libc.TLS, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1808)) = Xsqlite3_keyword_name // sqlite3.c:129326:3: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1816)) = Xsqlite3_keyword_check // sqlite3.c:129327:3: - *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1824)) = Xsqlite3_str_new // sqlite3.c:129328:3: - *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1832)) = Xsqlite3_str_finish // sqlite3.c:129329:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1840)) = Xsqlite3_str_appendf // sqlite3.c:129330:3: - *(*func(*libc.TLS, uintptr, uintptr, Va_list))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1848)) = Xsqlite3_str_vappendf // sqlite3.c:129331:3: - *(*func(*libc.TLS, uintptr, uintptr, int32))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1856)) = Xsqlite3_str_append // sqlite3.c:129332:3: - *(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1864)) = Xsqlite3_str_appendall // sqlite3.c:129333:3: - *(*func(*libc.TLS, uintptr, int32, int8))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1872)) = Xsqlite3_str_appendchar // sqlite3.c:129334:3: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1880)) = Xsqlite3_str_reset // sqlite3.c:129335:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1888)) = Xsqlite3_str_errcode // sqlite3.c:129336:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1896)) = Xsqlite3_str_length // sqlite3.c:129337:3: - *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1904)) = Xsqlite3_str_value // sqlite3.c:129338:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, int32, uintptr, uintptr, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1912)) = Xsqlite3_create_window_function // sqlite3.c:129340:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1928)) = Xsqlite3_stmt_isexplain // sqlite3.c:129348:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1936)) = Xsqlite3_value_frombind // sqlite3.c:129349:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1944)) = Xsqlite3_drop_modules // sqlite3.c:129352:3: - *(*func(*libc.TLS, Sqlite3_int64) Sqlite3_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1952)) = Xsqlite3_hard_heap_limit64 // sqlite3.c:129357:3: - *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1960)) = Xsqlite3_uri_key // sqlite3.c:129358:3: - *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1968)) = Xsqlite3_filename_database // sqlite3.c:129359:3: - *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1976)) = Xsqlite3_filename_journal // sqlite3.c:129360:3: - *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1984)) = Xsqlite3_filename_wal // sqlite3.c:129361:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1992)) = Xsqlite3_create_filename // sqlite3.c:129363:3: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 2000)) = Xsqlite3_free_filename // sqlite3.c:129364:3: - *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 2008)) = Xsqlite3_database_file_object // sqlite3.c:129365:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 2016)) = Xsqlite3_txn_state // sqlite3.c:129367:3: - *(*func(*libc.TLS, uintptr) Sqlite3_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 2024)) = Xsqlite3_changes64 // sqlite3.c:129369:3: - *(*func(*libc.TLS, uintptr) Sqlite3_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 2032)) = Xsqlite3_total_changes64 // sqlite3.c:129370:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 2040)) = Xsqlite3_autovacuum_pages // sqlite3.c:129372:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 2048)) = Xsqlite3_error_offset // sqlite3.c:129374:3: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 2056)) = Xsqlite3_vtab_rhs_value // sqlite3.c:129375:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 2064)) = Xsqlite3_vtab_distinct // sqlite3.c:129376:3: - *(*func(*libc.TLS, uintptr, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 2072)) = Xsqlite3_vtab_in // sqlite3.c:129377:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 2080)) = Xsqlite3_vtab_in_first // sqlite3.c:129378:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 2088)) = Xsqlite3_vtab_in_next // sqlite3.c:129379:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3BuiltinExtensions)) + 0)) = Xsqlite3Fts5Init // sqlite3.c:168488:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3BuiltinExtensions)) + 8)) = Xsqlite3RtreeInit // sqlite3.c:168494:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3BuiltinExtensions)) + 16)) = sqlite3TestExtInit // sqlite3.c:168502:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3BuiltinExtensions)) + 24)) = Xsqlite3JsonTableFunctions // sqlite3.c:168504:3: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&statGetFuncdef)) + 24)) = statGet // sqlite3.c:111993:3: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&statInitFuncdef)) + 24)) = statInit // sqlite3.c:111569:3: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&statPushFuncdef)) + 24)) = statPush // sqlite3.c:111859:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 40)) = rbuVfsOpen // sqlite3.c:208888:5: - *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 48)) = rbuVfsDelete // sqlite3.c:208889:5: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 56)) = rbuVfsAccess // sqlite3.c:208890:5: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 64)) = rbuVfsFullPathname // sqlite3.c:208891:5: - *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 72)) = rbuVfsDlOpen // sqlite3.c:208894:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 80)) = rbuVfsDlError // sqlite3.c:208895:5: - *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 88)) = rbuVfsDlSym // sqlite3.c:208896:5: - *(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 96)) = rbuVfsDlClose // sqlite3.c:208897:5: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 104)) = rbuVfsRandomness // sqlite3.c:208902:5: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 112)) = rbuVfsSleep // sqlite3.c:208903:5: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 120)) = rbuVfsCurrentTime // sqlite3.c:208904:5: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 128)) = rbuVfsGetLastError // sqlite3.c:208905:5: -} - -var ts1 = "3.38.1\x00ATOMIC_INTRINSICS=0\x00COMPILER=clang-11.0.1\x00DEFAULT_AUTOVACUUM\x00DEFAULT_CACHE_SIZE=-2000\x00DEFAULT_FILE_FORMAT=4\x00DEFAULT_JOURNAL_SIZE_LIMIT=-1\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\x00ENABLE_COLUMN_METADATA\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=127\x00MAX_LENGTH=1000000000\x00MAX_LIKE_PATTERN_LENGTH=50000\x00MAX_MMAP_SIZE=0x7fff0000\x00MAX_PAGE_COUNT=1073741823\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\x00BINARY\x00ANY\x00BLOB\x00INT\x00INTEGER\x00REAL\x00TEXT\x0020b:20e\x0020c:20e\x0020e\x0040f-21a-21d\x00now\x00local time unavailable\x00second\x00minute\x00hour\x00\x00\x00day\x00\x00\x00\x00month\x00\x00year\x00\x00\x00auto\x00julianday\x00localtime\x00unixepoch\x00utc\x00weekday \x00start of \x00month\x00year\x00day\x00%02d\x00%06.3f\x00%03d\x00%.16g\x00%lld\x00%04d\x00date\x00time\x00datetime\x00strftime\x00current_time\x00current_timestamp\x00current_date\x00failed to allocate %u bytes of memory\x00failed memory resize %u to %u bytes\x00out of memory\x000123456789ABCDEF0123456789abcdef\x00-x0\x00X0\x00%\x00NaN\x00Inf\x00\x00NULL\x00(NULL)\x00.\x00SUBQUERY %u\x00thstndrd\x00922337203685477580\x00API call with %s database connection pointer\x00unopened\x00invalid\x00Savepoint\x00AutoCommit\x00Transaction\x00SorterNext\x00Prev\x00Next\x00Checkpoint\x00JournalMode\x00Vacuum\x00VFilter\x00VUpdate\x00Goto\x00Gosub\x00InitCoroutine\x00Yield\x00MustBeInt\x00Jump\x00Once\x00If\x00Not\x00IfNot\x00IsNullOrType\x00IfNullRow\x00SeekLT\x00SeekLE\x00SeekGE\x00SeekGT\x00IfNotOpen\x00IfNoHope\x00NoConflict\x00NotFound\x00Found\x00SeekRowid\x00NotExists\x00Last\x00IfSmaller\x00SorterSort\x00Sort\x00Rewind\x00IdxLE\x00IdxGT\x00IdxLT\x00IdxGE\x00Or\x00And\x00RowSetRead\x00RowSetTest\x00Program\x00FkIfZero\x00IfPos\x00IsNull\x00NotNull\x00Ne\x00Eq\x00Gt\x00Le\x00Lt\x00Ge\x00ElseEq\x00IfNotZero\x00DecrJumpZero\x00IncrVacuum\x00VNext\x00Filter\x00Init\x00PureFunc\x00Function\x00Return\x00EndCoroutine\x00HaltIfNull\x00Halt\x00Integer\x00Int64\x00String\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\x00VInitIn\x00VColumn\x00VRename\x00Pagecount\x00MaxPgcnt\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\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\x00SQLite format 3\x00:memory:\x00@ \x00\n\x00invalid page number %d\x002nd reference to page %d\x00Failed to read ptrmap key=%d\x00Bad ptr map entry key=%d expected=(%d,%d) got=(%d,%d)\x00failed to get page %d\x00freelist leaf count too big on page %d\x00%s is %d but should be %d\x00size\x00overflow list length\x00Page %u: \x00unable to get the page. error code=%d\x00btreeInitPage() returns error code %d\x00free space corruption\x00On tree page %u cell %d: \x00On page %u at right child: \x00Offset %d out of range %d..%d\x00Extends off end of page\x00Rowid %lld out of order\x00Child page depth differs\x00Multiple uses for byte %u of page %u\x00Fragmentation of %d bytes reported as %d on page %u\x00Main freelist: \x00max rootpage (%d) disagrees with header (%d)\x00incremental_vacuum enabled with a max rootpage of zero\x00Page %d is never used\x00Pointer map page %d is referenced\x00unknown database %s\x00destination database is in use\x00source and destination must be distinct\x00%!.15g\x00-\x00%s%s\x00k(%d\x00B\x00,%s%s%s\x00N.\x00)\x00%.18s-%s\x00%s(%d)\x00%d\x00(blob)\x00vtab:%p\x00%c%u\x00]\x00program\x00?\x008\x0016LE\x0016BE\x00addr\x00opcode\x00p1\x00p2\x00p3\x00p4\x00p5\x00comment\x00id\x00parent\x00notused\x00detail\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\x00ValueList\x00bind on a busy prepared statement: [%s]\x00-- \x00'%.*q'\x00zeroblob(%d)\x00x'\x00%02x\x00'\x00%s constraint failed\x00%z: %s\x00abort at %d in [%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\x00cannot change %s wal mode from within a transaction\x00into\x00out of\x00database table is locked: %s\x00-- %s\x00statement aborts at %d: [%s] %s\x00NOT NULL\x00UNIQUE\x00CHECK\x00FOREIGN KEY\x00cannot open value of type %s\x00null\x00real\x00integer\x00no such rowid: %lld\x00cannot open virtual table: %s\x00cannot open table without rowid: %s\x00cannot open view: %s\x00no such column: \"%s\"\x00foreign key\x00indexed\x00cannot open %s column for writing\x00main\x00*\x00new\x00old\x00excluded\x00misuse of aliased aggregate %s\x00misuse of aliased window function %s\x00row value misused\x00double-quoted string literal: \"%w\"\x00no such column\x00ambiguous column name\x00%s: %s.%s.%s\x00%s: %s.%s\x00%s: %s\x00partial index WHERE clauses\x00index expressions\x00CHECK constraints\x00generated columns\x00%s prohibited in %s\x00true\x00false\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\x00a GROUP BY clause is required before HAVING\x00GROUP\x00aggregate functions are not allowed in the GROUP BY clause\x00Expression tree is too large (maximum depth %d)\x00IN(...) element has %d term%s - expected %d\x00s\x000\x00too many arguments on function %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\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\x00%sLIST SUBQUERY %d\x00CORRELATED \x00REUSE SUBQUERY %d\x00%sSCALAR SUBQUERY %d\x001\x000x\x00hex literal too big: %s%#T\x00generated column loop on \"%s\"\x00blob\x00text\x00numeric\x00none\x00misuse of aggregate: %#T()\x00unknown function: %#T()\x00RAISE() may only be used within a trigger-program\x00B\x00C\x00D\x00E\x00sqlite_\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') ELSE raise(ABORT,'NOT NULL constraint failed') END FROM pragma_quick_check(%Q,%Q) WHERE quick_check GLOB 'CHECK*' OR quick_check GLOB 'NULL*'\x00virtual tables may not be altered\x00Cannot add a column to a view\x00sqlite_altertab_%s\x00view\x00virtual table\x00cannot %s %s \"%s\"\x00drop column from\x00rename columns of\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')\x00error in %s %s%s%s: %s\x00 \x00CREATE \x00\"%w\" \x00%Q%s\x00%.*s%s\x00cannot drop %s column: \"%s\"\x00PRIMARY KEY\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\x00CREATE TABLE %Q.%s(%s)\x00DELETE FROM %Q.%s WHERE %s=%Q\x00DELETE FROM %Q.%s\x00sqlite_stat1\x00tbl,idx,stat\x00sqlite_stat4\x00tbl,idx,neq,nlt,ndlt,sample\x00sqlite_stat3\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\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\x00sqlite_temp_schema\x00sqlite_schema\x00sqlite_temp_master\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\x00sqlite_returning\x00cannot use RETURNING in a trigger\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'\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\x00unsupported use of NULLS %s\x00FIRST\x00LAST\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\x00CREATE%s INDEX %.*s\x00 UNIQUE\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\x00a JOIN clause is required before %s\x00ON\x00USING\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\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%!.20e\x00%Q\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\x00instr\x00printf\x00format\x00unicode\x00char\x00abs\x00round\x00upper\x00lower\x00hex\x00ifnull\x00random\x00randomblob\x00nullif\x00sqlite_version\x00sqlite_source_id\x00sqlite_log\x00quote\x00last_insert_rowid\x00changes\x00total_changes\x00replace\x00zeroblob\x00substr\x00substring\x00sum\x00total\x00avg\x00count\x00group_concat\x00glob\x00coalesce\x00ceil\x00ceiling\x00floor\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\x00foreign key mismatch - \"%w\" referencing \"%w\"\x00cannot INSERT into generated column \"%s\"\x00table %S has no column named %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\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]\x00so\x00automatic extension loading failed: %s\x00seq\x00from\x00to\x00on_update\x00on_delete\x00match\x00cid\x00name\x00type\x00notnull\x00dflt_value\x00pk\x00hidden\x00schema\x00ncol\x00wr\x00strict\x00seqno\x00desc\x00coll\x00key\x00builtin\x00enc\x00narg\x00flags\x00wdth\x00hght\x00flgs\x00unique\x00origin\x00partial\x00rowid\x00fkid\x00file\x00busy\x00checkpointed\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\x00onoffalseyestruextrafull\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\x00w\x00a\x00sissii\x00utf8\x00utf16le\x00utf16be\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\x00NULL value in %s.%s\x00non-%s value in %s.%s\x00CHECK constraint failed in %s\x00row \x00 missing from index \x00non-unique entry in index \x00wrong # of entries in index \x00ok\x00unsupported encoding: %s\x00restart\x00ANALYZE \"%w\".\"%w\"\x00UTF8\x00UTF-8\x00UTF-16le\x00UTF-16be\x00UTF16le\x00UTF16be\x00UTF-16\x00UTF16\x00CREATE TABLE x\x00%c\"%s\"\x00(\"%s\"\x00,arg HIDDEN\x00,schema HIDDEN\x00PRAGMA \x00%Q.\x00=%Q\x00error in %s %s after %s: %s\x00malformed database schema (%s)\x00%z - %s\x00rename\x00drop column\x00add column\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 or unsupported join type: %T %T%s%T\x00RIGHT and FULL OUTER JOINs are not currently supported\x00naturaleftouterightfullinnercross\x00a NATURAL join may not have an ON or USING clause\x00cannot have both ON and USING clauses in the same join\x00cannot join using column %s - column not present in both tables\x00UNION ALL\x00INTERSECT\x00EXCEPT\x00UNION\x00USE TEMP B-TREE FOR %s\x00column%d\x00%.*z:%u\x00cannot use window functions in recursive queries\x00recursive aggregate queries not supported\x00SETUP\x00RECURSIVE STEP\x00SCAN %d CONSTANT ROW%s\x00S\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\x00subquery_%u\x00too many references to \"%s\": max 65535\x00access to view \"%s\" prohibited\x00unsafe use of virtual table \"%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)\x00SCAN %s%s%s\x00 USING COVERING INDEX \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\x00RIGHT PART OF ORDER BY\x00ORDER 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\x00trigger %T already exists\x00cannot create trigger on system table\x00cannot create %s trigger on view: %S\x00BEFORE\x00AFTER\x00cannot create INSTEAD OF trigger on 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'\x00%s RETURNING is not available on virtual tables\x00DELETE\x00UPDATE\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\x00ATTACH %Q AS vacuum_db\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 vacuum_db.'||quote(name)||' SELECT*FROM\"%w\".'||quote(name)FROM vacuum_db.sqlite_schema WHERE type='table'AND coalesce(rootpage,1)>0\x00INSERT INTO vacuum_db.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\x00\x00 AND \x00(\x00 (\x00%s=?\x00ANY(%s)\x00>\x00<\x00%s %S\x00SEARCH\x00SCAN\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 %d:%s\x00BLOOM FILTER ON %S (\x00rowid=?\x00MULTI-INDEX OR\x00INDEX %d\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\x00second argument to nth_value must be a positive integer\x00argument of ntile must be a positive integer\x00row_number\x00dense_rank\x00rank\x00percent_rank\x00cume_dist\x00ntile\x00last_value\x00nth_value\x00first_value\x00lead\x00lag\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\x00%s clause should come after %s not before\x00LIMIT\x00too many terms in compound SELECT\x00syntax error after column name \"%.*s\"\x00parser stack overflow\x00unknown table option: %.*s\x00set list\x00near \"%T\": syntax error\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\x00unknown error\x00abort due to ROLLBACK\x00another row available\x00no more rows available\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\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\x00mode\x00no such %s mode: %s\x00%s mode not allowed: %s\x00no such vfs: %s\x00shared\x00private\x00ro\x00rw\x00rwc\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\x000123456789abcdef\x00JSON cannot hold BLOB values\x00malformed JSON\x00[0]\x00JSON path error near '%q'\x00json_%s() needs an odd number of arguments\x00$[\x00$.\x00json_object() requires an even number of arguments\x00json_object() labels must be TEXT\x00set\x00insert\x00[]\x00{}\x00CREATE TABLE x(key,value,type,atom,id,parent,fullkey,path,json HIDDEN,root HIDDEN)\x00[%d]\x00.%.*s\x00$\x00json\x00json_array\x00json_array_length\x00json_extract\x00->\x00->>\x00json_insert\x00json_object\x00json_patch\x00json_quote\x00json_remove\x00json_replace\x00json_set\x00json_type\x00json_valid\x00json_group_array\x00json_group_object\x00json_each\x00json_tree\x00%s_node\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\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\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\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\x00CREATE TABLE x(%.*s INT\x00,%.*s\x00);\x00,%.*s REAL\x00,%.*s INT\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\x00Mapping (%lld -> %lld) missing from %s table\x00%_rowid\x00%_parent\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\x00END\x00wrong number of arguments to function rtreecheck()\x00[\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\x00geopoly_area\x00geopoly_blob\x00geopoly_json\x00geopoly_svg\x00geopoly_contains_point\x00geopoly_debug\x00geopoly_bbox\x00geopoly_xform\x00geopoly_regular\x00geopoly_ccw\x00geopoly_group_bbox\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;\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\x00AND rootpage!=0 AND rootpage IS NOT NULL\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\x00table %q %s rbu_rowid column\x00may not have\x00requires\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%z%s\"%w\" %s %sCOLLATE %Q%s\x00 NOT NULL\x00%z, %z\x00CREATE TABLE \"rbu_imp_%w\"(%z)%s\x00 WITHOUT ROWID\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\x00SELECT %s, 0 AS rbu_control FROM '%q' %s %s %s ORDER BY %s%s\x00AND\x00WHERE\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_\x00INSERT INTO \"%s%w\"(%s%s) VALUES(%s)\x00, _rowid_\x00DELETE FROM \"%s%w\" WHERE %s\x00, rbu_rowid\x00CREATE TABLE IF NOT EXISTS %s.'rbu_tmp_%q' AS SELECT *%s FROM '%q' WHERE 0;\x00, 0 AS rbu_rowid\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\x00SELECT %s,%s rbu_control%s FROM '%q'%s %s %s %s\x000 AS \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\x00file:%s-vactmp?rbu_memory=1%s%s\x00&\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, %d), (%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\x00database modified during rbu %s\x00vacuum\x00update\x00BEGIN IMMEDIATE\x00PRAGMA journal_mode=off\x00-vactmp\x00DELETE FROM stat.rbu_state\x00rbu/zipvfs setup error\x00rbu(%s)/%z\x00rbu_memory\x00SELECT 0, 'tbl', '', 0, '', 1 UNION ALL SELECT 1, 'idx', '', 0, '', 2 UNION ALL SELECT 2, 'stat', '', 0, '', 0\x00PRAGMA '%q'.table_info('%q')\x00%z%s\"%w\".\"%w\".\"%w\"=\"%w\".\"%w\".\"%w\"\x00%z%s\"%w\".\"%w\".\"%w\" IS NOT \"%w\".\"%w\".\"%w\"\x00 OR \x00SELECT * FROM \"%w\".\"%w\" WHERE NOT EXISTS ( SELECT 1 FROM \"%w\".\"%w\" WHERE %s)\x00SELECT * FROM \"%w\".\"%w\", \"%w\".\"%w\" WHERE %s AND (%z)\x00table schemas do not match\x00SELECT tbl, ?2, stat FROM %Q.sqlite_stat1 WHERE tbl IS ?1 AND idx IS (CASE WHEN ?2=X'' THEN NULL ELSE ?2 END)\x00SELECT * FROM \x00 WHERE \x00 IS ?\x00SAVEPOINT changeset\x00RELEASE changeset\x00UPDATE main.\x00 SET \x00 = ?\x00idx IS CASE WHEN length(?4)=0 AND typeof(?4)='blob' THEN NULL ELSE ?4 END \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()\x00snippet\x00highlight\x00bm25\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\x00content_rowid\x00multiple content_rowid=... directives\x00columnsize\x00malformed columnsize=... directive\x00columns\x00malformed detail=... directive\x00unrecognized option: \"%.*s\"\x00reserved fts5 column name: %s\x00unindexed\x00unrecognized column option: %s\x00T.%Q\x00, T.%Q\x00, T.c%d\x00reserved fts5 table name: %s\x00parse error in \"%s\"\x00docsize\x00%Q.'%q_%s'\x00CREATE TABLE x(\x00%z%s%Q\x00%z, %Q HIDDEN, %s HIDDEN)\x00pgsz\x00hashsize\x00automerge\x00usermerge\x00crisismerge\x00SELECT k, v FROM %Q.'%q_config'\x00version\x00invalid fts5 file format (found %d, expected %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)\x00fts5: %s queries are not supported (detail!=full)\x00phrase\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=?\x00PRAGMA %Q.data_version\x00SELECT pgno FROM '%q'.'%q_idx' WHERE segid=? AND term<=? ORDER BY term DESC LIMIT 1\x00INSERT INTO '%q'.'%q_idx'(segid,term,pgno) VALUES(?,?,?)\x00%s_data\x00id INTEGER PRIMARY KEY, block BLOB\x00segid, term, pgno, PRIMARY KEY(segid, term)\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\x00SELECT rowid, rank FROM %Q.%Q ORDER BY %s(\"%w\"%s%s) %s\x00DESC\x00ASC\x00reads\x00unknown special query: %.*s\x00SELECT %s\x00no such function: %s\x00parse error in rank function: %s\x00%s: table does not support scanning\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\x00cannot %s contentless fts5 table: %s\x00DELETE from\x00no such cursor: %lld\x00no such tokenizer: %s\x00error in tokenizer constructor\x00fts5_api_ptr\x00fts5: 2022-03-12 13:37:29 38c210fdd258658321c85ec9c01a072fda3ada94540e3239d29b34dc547a8cbc\x00config\x00fts5\x00fts5_source_id\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(?,?)\x00DELETE FROM %Q.'%q_docsize' WHERE id=?\x00SELECT sz FROM %Q.'%q_docsize' WHERE id=?\x00REPLACE INTO %Q.'%q_config' VALUES(?,?)\x00SELECT %s FROM %s AS T\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\x00id INTEGER PRIMARY KEY, sz BLOB\x00k PRIMARY KEY, v\x00DELETE FROM %Q.'%q_data';DELETE FROM %Q.'%q_idx';\x00DELETE FROM %Q.'%q_docsize';\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\x00ascii\x00porter\x00trigram\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\x002022-03-12 13:37:29 38c210fdd258658321c85ec9c01a072fda3ada94540e3239d29b34dc547a8cbc\x00" + }{Xsqlite3_value_dup})) // sqlite3.c:129309:3: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1640)) = Xsqlite3_value_free // sqlite3.c:129310:3: + *(*func(*libc.TLS, uintptr, U64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1648)) = Xsqlite3_result_zeroblob64 // sqlite3.c:129311:3: + *(*func(*libc.TLS, uintptr, int32, Sqlite3_uint64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1656)) = Xsqlite3_bind_zeroblob64 // sqlite3.c:129312:3: + *(*func(*libc.TLS, uintptr) uint32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1664)) = Xsqlite3_value_subtype // sqlite3.c:129314:3: + *(*func(*libc.TLS, uintptr, uint32))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1672)) = Xsqlite3_result_subtype // sqlite3.c:129315:3: + *(*func(*libc.TLS, int32, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1680)) = Xsqlite3_status64 // sqlite3.c:129317:3: + *(*func(*libc.TLS, uintptr, uintptr, uint32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1688)) = Xsqlite3_strlike // sqlite3.c:129318:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1696)) = Xsqlite3_db_cacheflush // sqlite3.c:129319:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1704)) = Xsqlite3_system_errno // sqlite3.c:129321:3: + *(*func(*libc.TLS, uintptr, uint32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1712)) = Xsqlite3_trace_v2 // sqlite3.c:129323:3: + *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1720)) = Xsqlite3_expanded_sql // sqlite3.c:129324:3: + *(*func(*libc.TLS, uintptr, Sqlite3_int64))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1728)) = Xsqlite3_set_last_insert_rowid // sqlite3.c:129326:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uint32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1736)) = Xsqlite3_prepare_v3 // sqlite3.c:129328:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uint32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1744)) = Xsqlite3_prepare16_v3 // sqlite3.c:129329:3: + *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1752)) = Xsqlite3_bind_pointer // sqlite3.c:129330:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1760)) = Xsqlite3_result_pointer // sqlite3.c:129331:3: + *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1768)) = Xsqlite3_value_pointer // sqlite3.c:129332:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1776)) = Xsqlite3_vtab_nochange // sqlite3.c:129334:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1784)) = Xsqlite3_value_nochange // sqlite3.c:129335:3: + *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1792)) = Xsqlite3_vtab_collation // sqlite3.c:129336:3: + *(*func(*libc.TLS) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1800)) = Xsqlite3_keyword_count // sqlite3.c:129338:3: + *(*func(*libc.TLS, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1808)) = Xsqlite3_keyword_name // sqlite3.c:129339:3: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1816)) = Xsqlite3_keyword_check // sqlite3.c:129340:3: + *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1824)) = Xsqlite3_str_new // sqlite3.c:129341:3: + *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1832)) = Xsqlite3_str_finish // sqlite3.c:129342:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1840)) = Xsqlite3_str_appendf // sqlite3.c:129343:3: + *(*func(*libc.TLS, uintptr, uintptr, Va_list))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1848)) = Xsqlite3_str_vappendf // sqlite3.c:129344:3: + *(*func(*libc.TLS, uintptr, uintptr, int32))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1856)) = Xsqlite3_str_append // sqlite3.c:129345:3: + *(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1864)) = Xsqlite3_str_appendall // sqlite3.c:129346:3: + *(*func(*libc.TLS, uintptr, int32, int8))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1872)) = Xsqlite3_str_appendchar // sqlite3.c:129347:3: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1880)) = Xsqlite3_str_reset // sqlite3.c:129348:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1888)) = Xsqlite3_str_errcode // sqlite3.c:129349:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1896)) = Xsqlite3_str_length // sqlite3.c:129350:3: + *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1904)) = Xsqlite3_str_value // sqlite3.c:129351:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, int32, uintptr, uintptr, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1912)) = Xsqlite3_create_window_function // sqlite3.c:129353:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1928)) = Xsqlite3_stmt_isexplain // sqlite3.c:129361:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1936)) = Xsqlite3_value_frombind // sqlite3.c:129362:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1944)) = Xsqlite3_drop_modules // sqlite3.c:129365:3: + *(*func(*libc.TLS, Sqlite3_int64) Sqlite3_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1952)) = Xsqlite3_hard_heap_limit64 // sqlite3.c:129370:3: + *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1960)) = Xsqlite3_uri_key // sqlite3.c:129371:3: + *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1968)) = Xsqlite3_filename_database // sqlite3.c:129372:3: + *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1976)) = Xsqlite3_filename_journal // sqlite3.c:129373:3: + *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1984)) = Xsqlite3_filename_wal // sqlite3.c:129374:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1992)) = Xsqlite3_create_filename // sqlite3.c:129376:3: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 2000)) = Xsqlite3_free_filename // sqlite3.c:129377:3: + *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 2008)) = Xsqlite3_database_file_object // sqlite3.c:129378:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 2016)) = Xsqlite3_txn_state // sqlite3.c:129380:3: + *(*func(*libc.TLS, uintptr) Sqlite3_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 2024)) = Xsqlite3_changes64 // sqlite3.c:129382:3: + *(*func(*libc.TLS, uintptr) Sqlite3_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 2032)) = Xsqlite3_total_changes64 // sqlite3.c:129383:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 2040)) = Xsqlite3_autovacuum_pages // sqlite3.c:129385:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 2048)) = Xsqlite3_error_offset // sqlite3.c:129387:3: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 2056)) = Xsqlite3_vtab_rhs_value // sqlite3.c:129388:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 2064)) = Xsqlite3_vtab_distinct // sqlite3.c:129389:3: + *(*func(*libc.TLS, uintptr, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 2072)) = Xsqlite3_vtab_in // sqlite3.c:129390:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 2080)) = Xsqlite3_vtab_in_first // sqlite3.c:129391:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 2088)) = Xsqlite3_vtab_in_next // sqlite3.c:129392:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3BuiltinExtensions)) + 0)) = Xsqlite3Fts5Init // sqlite3.c:168545:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3BuiltinExtensions)) + 8)) = Xsqlite3RtreeInit // sqlite3.c:168551:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3BuiltinExtensions)) + 16)) = sqlite3TestExtInit // sqlite3.c:168559:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3BuiltinExtensions)) + 24)) = Xsqlite3JsonTableFunctions // sqlite3.c:168561:3: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&statGetFuncdef)) + 24)) = statGet // sqlite3.c:112006:3: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&statInitFuncdef)) + 24)) = statInit // sqlite3.c:111582:3: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&statPushFuncdef)) + 24)) = statPush // sqlite3.c:111872:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 40)) = rbuVfsOpen // sqlite3.c:208945:5: + *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 48)) = rbuVfsDelete // sqlite3.c:208946:5: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 56)) = rbuVfsAccess // sqlite3.c:208947:5: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 64)) = rbuVfsFullPathname // sqlite3.c:208948:5: + *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 72)) = rbuVfsDlOpen // sqlite3.c:208951:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 80)) = rbuVfsDlError // sqlite3.c:208952:5: + *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 88)) = rbuVfsDlSym // sqlite3.c:208953:5: + *(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 96)) = rbuVfsDlClose // sqlite3.c:208954:5: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 104)) = rbuVfsRandomness // sqlite3.c:208959:5: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 112)) = rbuVfsSleep // sqlite3.c:208960:5: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 120)) = rbuVfsCurrentTime // sqlite3.c:208961:5: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 128)) = rbuVfsGetLastError // sqlite3.c:208962:5: +} + +var ts1 = "3.38.2\x00ATOMIC_INTRINSICS=0\x00COMPILER=clang-11.0.1\x00DEFAULT_AUTOVACUUM\x00DEFAULT_CACHE_SIZE=-2000\x00DEFAULT_FILE_FORMAT=4\x00DEFAULT_JOURNAL_SIZE_LIMIT=-1\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\x00ENABLE_COLUMN_METADATA\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=127\x00MAX_LENGTH=1000000000\x00MAX_LIKE_PATTERN_LENGTH=50000\x00MAX_MMAP_SIZE=0x7fff0000\x00MAX_PAGE_COUNT=1073741823\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\x00BINARY\x00ANY\x00BLOB\x00INT\x00INTEGER\x00REAL\x00TEXT\x0020b:20e\x0020c:20e\x0020e\x0040f-21a-21d\x00now\x00local time unavailable\x00second\x00minute\x00hour\x00\x00\x00day\x00\x00\x00\x00month\x00\x00year\x00\x00\x00auto\x00julianday\x00localtime\x00unixepoch\x00utc\x00weekday \x00start of \x00month\x00year\x00day\x00%02d\x00%06.3f\x00%03d\x00%.16g\x00%lld\x00%04d\x00date\x00time\x00datetime\x00strftime\x00current_time\x00current_timestamp\x00current_date\x00failed to allocate %u bytes of memory\x00failed memory resize %u to %u bytes\x00out of memory\x000123456789ABCDEF0123456789abcdef\x00-x0\x00X0\x00%\x00NaN\x00Inf\x00\x00NULL\x00(NULL)\x00.\x00SUBQUERY %u\x00thstndrd\x00922337203685477580\x00API call with %s database connection pointer\x00unopened\x00invalid\x00Savepoint\x00AutoCommit\x00Transaction\x00SorterNext\x00Prev\x00Next\x00Checkpoint\x00JournalMode\x00Vacuum\x00VFilter\x00VUpdate\x00Goto\x00Gosub\x00InitCoroutine\x00Yield\x00MustBeInt\x00Jump\x00Once\x00If\x00Not\x00IfNot\x00IsNullOrType\x00IfNullRow\x00SeekLT\x00SeekLE\x00SeekGE\x00SeekGT\x00IfNotOpen\x00IfNoHope\x00NoConflict\x00NotFound\x00Found\x00SeekRowid\x00NotExists\x00Last\x00IfSmaller\x00SorterSort\x00Sort\x00Rewind\x00IdxLE\x00IdxGT\x00IdxLT\x00IdxGE\x00Or\x00And\x00RowSetRead\x00RowSetTest\x00Program\x00FkIfZero\x00IfPos\x00IsNull\x00NotNull\x00Ne\x00Eq\x00Gt\x00Le\x00Lt\x00Ge\x00ElseEq\x00IfNotZero\x00DecrJumpZero\x00IncrVacuum\x00VNext\x00Filter\x00Init\x00PureFunc\x00Function\x00Return\x00EndCoroutine\x00HaltIfNull\x00Halt\x00Integer\x00Int64\x00String\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\x00VInitIn\x00VColumn\x00VRename\x00Pagecount\x00MaxPgcnt\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\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\x00SQLite format 3\x00:memory:\x00@ \x00\n\x00invalid page number %d\x002nd reference to page %d\x00Failed to read ptrmap key=%d\x00Bad ptr map entry key=%d expected=(%d,%d) got=(%d,%d)\x00failed to get page %d\x00freelist leaf count too big on page %d\x00%s is %d but should be %d\x00size\x00overflow list length\x00Page %u: \x00unable to get the page. error code=%d\x00btreeInitPage() returns error code %d\x00free space corruption\x00On tree page %u cell %d: \x00On page %u at right child: \x00Offset %d out of range %d..%d\x00Extends off end of page\x00Rowid %lld out of order\x00Child page depth differs\x00Multiple uses for byte %u of page %u\x00Fragmentation of %d bytes reported as %d on page %u\x00Main freelist: \x00max rootpage (%d) disagrees with header (%d)\x00incremental_vacuum enabled with a max rootpage of zero\x00Page %d is never used\x00Pointer map page %d is referenced\x00unknown database %s\x00destination database is in use\x00source and destination must be distinct\x00%!.15g\x00-\x00%s%s\x00k(%d\x00B\x00,%s%s%s\x00N.\x00)\x00%.18s-%s\x00%s(%d)\x00%d\x00(blob)\x00vtab:%p\x00%c%u\x00]\x00program\x00?\x008\x0016LE\x0016BE\x00addr\x00opcode\x00p1\x00p2\x00p3\x00p4\x00p5\x00comment\x00id\x00parent\x00notused\x00detail\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\x00ValueList\x00bind on a busy prepared statement: [%s]\x00-- \x00'%.*q'\x00zeroblob(%d)\x00x'\x00%02x\x00'\x00%s constraint failed\x00%z: %s\x00abort at %d in [%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\x00cannot change %s wal mode from within a transaction\x00into\x00out of\x00database table is locked: %s\x00-- %s\x00statement aborts at %d: [%s] %s\x00NOT NULL\x00UNIQUE\x00CHECK\x00FOREIGN KEY\x00cannot open value of type %s\x00null\x00real\x00integer\x00no such rowid: %lld\x00cannot open virtual table: %s\x00cannot open table without rowid: %s\x00cannot open view: %s\x00no such column: \"%s\"\x00foreign key\x00indexed\x00cannot open %s column for writing\x00main\x00*\x00new\x00old\x00excluded\x00misuse of aliased aggregate %s\x00misuse of aliased window function %s\x00row value misused\x00double-quoted string literal: \"%w\"\x00no such column\x00ambiguous column name\x00%s: %s.%s.%s\x00%s: %s.%s\x00%s: %s\x00partial index WHERE clauses\x00index expressions\x00CHECK constraints\x00generated columns\x00%s prohibited in %s\x00true\x00false\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\x00a GROUP BY clause is required before HAVING\x00GROUP\x00aggregate functions are not allowed in the GROUP BY clause\x00Expression tree is too large (maximum depth %d)\x00IN(...) element has %d term%s - expected %d\x00s\x000\x00too many arguments on function %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\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\x00%sLIST SUBQUERY %d\x00CORRELATED \x00REUSE SUBQUERY %d\x00%sSCALAR SUBQUERY %d\x001\x000x\x00hex literal too big: %s%#T\x00generated column loop on \"%s\"\x00blob\x00text\x00numeric\x00none\x00misuse of aggregate: %#T()\x00unknown function: %#T()\x00RAISE() may only be used within a trigger-program\x00B\x00C\x00D\x00E\x00sqlite_\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') ELSE raise(ABORT,'NOT NULL constraint failed') END FROM pragma_quick_check(%Q,%Q) WHERE quick_check GLOB 'CHECK*' OR quick_check GLOB 'NULL*'\x00virtual tables may not be altered\x00Cannot add a column to a view\x00sqlite_altertab_%s\x00view\x00virtual table\x00cannot %s %s \"%s\"\x00drop column from\x00rename columns of\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')\x00error in %s %s%s%s: %s\x00 \x00CREATE \x00\"%w\" \x00%Q%s\x00%.*s%s\x00cannot drop %s column: \"%s\"\x00PRIMARY KEY\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\x00CREATE TABLE %Q.%s(%s)\x00DELETE FROM %Q.%s WHERE %s=%Q\x00DELETE FROM %Q.%s\x00sqlite_stat1\x00tbl,idx,stat\x00sqlite_stat4\x00tbl,idx,neq,nlt,ndlt,sample\x00sqlite_stat3\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\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\x00sqlite_temp_schema\x00sqlite_schema\x00sqlite_temp_master\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\x00sqlite_returning\x00cannot use RETURNING in a trigger\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'\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\x00unsupported use of NULLS %s\x00FIRST\x00LAST\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\x00CREATE%s INDEX %.*s\x00 UNIQUE\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\x00a JOIN clause is required before %s\x00ON\x00USING\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\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%!.20e\x00%Q\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\x00instr\x00printf\x00format\x00unicode\x00char\x00abs\x00round\x00upper\x00lower\x00hex\x00ifnull\x00random\x00randomblob\x00nullif\x00sqlite_version\x00sqlite_source_id\x00sqlite_log\x00quote\x00last_insert_rowid\x00changes\x00total_changes\x00replace\x00zeroblob\x00substr\x00substring\x00sum\x00total\x00avg\x00count\x00group_concat\x00glob\x00coalesce\x00ceil\x00ceiling\x00floor\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\x00foreign key mismatch - \"%w\" referencing \"%w\"\x00cannot INSERT into generated column \"%s\"\x00table %S has no column named %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\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]\x00so\x00automatic extension loading failed: %s\x00seq\x00from\x00to\x00on_update\x00on_delete\x00match\x00cid\x00name\x00type\x00notnull\x00dflt_value\x00pk\x00hidden\x00schema\x00ncol\x00wr\x00strict\x00seqno\x00desc\x00coll\x00key\x00builtin\x00enc\x00narg\x00flags\x00wdth\x00hght\x00flgs\x00unique\x00origin\x00partial\x00rowid\x00fkid\x00file\x00busy\x00checkpointed\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\x00onoffalseyestruextrafull\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\x00w\x00a\x00sissii\x00utf8\x00utf16le\x00utf16be\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\x00NULL value in %s.%s\x00non-%s value in %s.%s\x00CHECK constraint failed in %s\x00row \x00 missing from index \x00non-unique entry in index \x00wrong # of entries in index \x00ok\x00unsupported encoding: %s\x00restart\x00ANALYZE \"%w\".\"%w\"\x00UTF8\x00UTF-8\x00UTF-16le\x00UTF-16be\x00UTF16le\x00UTF16be\x00UTF-16\x00UTF16\x00CREATE TABLE x\x00%c\"%s\"\x00(\"%s\"\x00,arg HIDDEN\x00,schema HIDDEN\x00PRAGMA \x00%Q.\x00=%Q\x00error in %s %s after %s: %s\x00malformed database schema (%s)\x00%z - %s\x00rename\x00drop column\x00add column\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 or unsupported join type: %T %T%s%T\x00RIGHT and FULL OUTER JOINs are not currently supported\x00naturaleftouterightfullinnercross\x00a NATURAL join may not have an ON or USING clause\x00cannot have both ON and USING clauses in the same join\x00cannot join using column %s - column not present in both tables\x00UNION ALL\x00INTERSECT\x00EXCEPT\x00UNION\x00USE TEMP B-TREE FOR %s\x00column%d\x00%.*z:%u\x00cannot use window functions in recursive queries\x00recursive aggregate queries not supported\x00SETUP\x00RECURSIVE STEP\x00SCAN %d CONSTANT ROW%s\x00S\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\x00subquery_%u\x00too many references to \"%s\": max 65535\x00access to view \"%s\" prohibited\x00unsafe use of virtual table \"%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)\x00SCAN %s%s%s\x00 USING COVERING INDEX \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\x00RIGHT PART OF ORDER BY\x00ORDER 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\x00trigger %T already exists\x00cannot create trigger on system table\x00cannot create %s trigger on view: %S\x00BEFORE\x00AFTER\x00cannot create INSTEAD OF trigger on 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'\x00%s RETURNING is not available on virtual tables\x00DELETE\x00UPDATE\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\x00ATTACH %Q AS vacuum_db\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 vacuum_db.'||quote(name)||' SELECT*FROM\"%w\".'||quote(name)FROM vacuum_db.sqlite_schema WHERE type='table'AND coalesce(rootpage,1)>0\x00INSERT INTO vacuum_db.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\x00\x00 AND \x00(\x00 (\x00%s=?\x00ANY(%s)\x00>\x00<\x00%s %S\x00SEARCH\x00SCAN\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 %d:%s\x00BLOOM FILTER ON %S (\x00rowid=?\x00MULTI-INDEX OR\x00INDEX %d\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\x00second argument to nth_value must be a positive integer\x00argument of ntile must be a positive integer\x00row_number\x00dense_rank\x00rank\x00percent_rank\x00cume_dist\x00ntile\x00last_value\x00nth_value\x00first_value\x00lead\x00lag\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\x00%s clause should come after %s not before\x00LIMIT\x00too many terms in compound SELECT\x00syntax error after column name \"%.*s\"\x00parser stack overflow\x00unknown table option: %.*s\x00set list\x00near \"%T\": syntax error\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\x00unknown error\x00abort due to ROLLBACK\x00another row available\x00no more rows available\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\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\x00mode\x00no such %s mode: %s\x00%s mode not allowed: %s\x00no such vfs: %s\x00shared\x00private\x00ro\x00rw\x00rwc\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\x000123456789abcdef\x00JSON cannot hold BLOB values\x00malformed JSON\x00[0]\x00JSON path error near '%q'\x00json_%s() needs an odd number of arguments\x00$[\x00$.\x00json_object() requires an even number of arguments\x00json_object() labels must be TEXT\x00set\x00insert\x00[]\x00{}\x00CREATE TABLE x(key,value,type,atom,id,parent,fullkey,path,json HIDDEN,root HIDDEN)\x00[%d]\x00.%.*s\x00$\x00json\x00json_array\x00json_array_length\x00json_extract\x00->\x00->>\x00json_insert\x00json_object\x00json_patch\x00json_quote\x00json_remove\x00json_replace\x00json_set\x00json_type\x00json_valid\x00json_group_array\x00json_group_object\x00json_each\x00json_tree\x00%s_node\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\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\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\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\x00CREATE TABLE x(%.*s INT\x00,%.*s\x00);\x00,%.*s REAL\x00,%.*s INT\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\x00Mapping (%lld -> %lld) missing from %s table\x00%_rowid\x00%_parent\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\x00END\x00wrong number of arguments to function rtreecheck()\x00[\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\x00geopoly_area\x00geopoly_blob\x00geopoly_json\x00geopoly_svg\x00geopoly_contains_point\x00geopoly_debug\x00geopoly_bbox\x00geopoly_xform\x00geopoly_regular\x00geopoly_ccw\x00geopoly_group_bbox\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;\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\x00AND rootpage!=0 AND rootpage IS NOT NULL\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\x00table %q %s rbu_rowid column\x00may not have\x00requires\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%z%s\"%w\" %s %sCOLLATE %Q%s\x00 NOT NULL\x00%z, %z\x00CREATE TABLE \"rbu_imp_%w\"(%z)%s\x00 WITHOUT ROWID\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\x00SELECT %s, 0 AS rbu_control FROM '%q' %s %s %s ORDER BY %s%s\x00AND\x00WHERE\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_\x00INSERT INTO \"%s%w\"(%s%s) VALUES(%s)\x00, _rowid_\x00DELETE FROM \"%s%w\" WHERE %s\x00, rbu_rowid\x00CREATE TABLE IF NOT EXISTS %s.'rbu_tmp_%q' AS SELECT *%s FROM '%q' WHERE 0;\x00, 0 AS rbu_rowid\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\x00SELECT %s,%s rbu_control%s FROM '%q'%s %s %s %s\x000 AS \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\x00file:%s-vactmp?rbu_memory=1%s%s\x00&\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, %d), (%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\x00database modified during rbu %s\x00vacuum\x00update\x00BEGIN IMMEDIATE\x00PRAGMA journal_mode=off\x00-vactmp\x00DELETE FROM stat.rbu_state\x00rbu/zipvfs setup error\x00rbu(%s)/%z\x00rbu_memory\x00SELECT 0, 'tbl', '', 0, '', 1 UNION ALL SELECT 1, 'idx', '', 0, '', 2 UNION ALL SELECT 2, 'stat', '', 0, '', 0\x00PRAGMA '%q'.table_info('%q')\x00%z%s\"%w\".\"%w\".\"%w\"=\"%w\".\"%w\".\"%w\"\x00%z%s\"%w\".\"%w\".\"%w\" IS NOT \"%w\".\"%w\".\"%w\"\x00 OR \x00SELECT * FROM \"%w\".\"%w\" WHERE NOT EXISTS ( SELECT 1 FROM \"%w\".\"%w\" WHERE %s)\x00SELECT * FROM \"%w\".\"%w\", \"%w\".\"%w\" WHERE %s AND (%z)\x00table schemas do not match\x00SELECT tbl, ?2, stat FROM %Q.sqlite_stat1 WHERE tbl IS ?1 AND idx IS (CASE WHEN ?2=X'' THEN NULL ELSE ?2 END)\x00SELECT * FROM \x00 WHERE \x00 IS ?\x00SAVEPOINT changeset\x00RELEASE changeset\x00UPDATE main.\x00 SET \x00 = ?\x00idx IS CASE WHEN length(?4)=0 AND typeof(?4)='blob' THEN NULL ELSE ?4 END \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()\x00snippet\x00highlight\x00bm25\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\x00content_rowid\x00multiple content_rowid=... directives\x00columnsize\x00malformed columnsize=... directive\x00columns\x00malformed detail=... directive\x00unrecognized option: \"%.*s\"\x00reserved fts5 column name: %s\x00unindexed\x00unrecognized column option: %s\x00T.%Q\x00, T.%Q\x00, T.c%d\x00reserved fts5 table name: %s\x00parse error in \"%s\"\x00docsize\x00%Q.'%q_%s'\x00CREATE TABLE x(\x00%z%s%Q\x00%z, %Q HIDDEN, %s HIDDEN)\x00pgsz\x00hashsize\x00automerge\x00usermerge\x00crisismerge\x00SELECT k, v FROM %Q.'%q_config'\x00version\x00invalid fts5 file format (found %d, expected %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)\x00fts5: %s queries are not supported (detail!=full)\x00phrase\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=?\x00PRAGMA %Q.data_version\x00SELECT pgno FROM '%q'.'%q_idx' WHERE segid=? AND term<=? ORDER BY term DESC LIMIT 1\x00INSERT INTO '%q'.'%q_idx'(segid,term,pgno) VALUES(?,?,?)\x00%s_data\x00id INTEGER PRIMARY KEY, block BLOB\x00segid, term, pgno, PRIMARY KEY(segid, term)\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\x00SELECT rowid, rank FROM %Q.%Q ORDER BY %s(\"%w\"%s%s) %s\x00DESC\x00ASC\x00reads\x00unknown special query: %.*s\x00SELECT %s\x00no such function: %s\x00parse error in rank function: %s\x00%s: table does not support scanning\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\x00cannot %s contentless fts5 table: %s\x00DELETE from\x00no such cursor: %lld\x00no such tokenizer: %s\x00error in tokenizer constructor\x00fts5_api_ptr\x00fts5: 2022-03-26 13:51:10 d33c709cc0af66bc5b6dc6216eba9f1f0b40960b9ae83694c986fbf4c1d6f08f\x00config\x00fts5\x00fts5_source_id\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(?,?)\x00DELETE FROM %Q.'%q_docsize' WHERE id=?\x00SELECT sz FROM %Q.'%q_docsize' WHERE id=?\x00REPLACE INTO %Q.'%q_config' VALUES(?,?)\x00SELECT %s FROM %s AS T\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\x00id INTEGER PRIMARY KEY, sz BLOB\x00k PRIMARY KEY, v\x00DELETE FROM %Q.'%q_data';DELETE FROM %Q.'%q_idx';\x00DELETE FROM %Q.'%q_docsize';\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\x00ascii\x00porter\x00trigram\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\x002022-03-26 13:51:10 d33c709cc0af66bc5b6dc6216eba9f1f0b40960b9ae83694c986fbf4c1d6f08f\x00" var ts = (*reflect.StringHeader)(unsafe.Pointer(&ts1)).Data diff --git a/vendor/modernc.org/sqlite/lib/sqlite_linux_386.go b/vendor/modernc.org/sqlite/lib/sqlite_linux_386.go index 09141ac0..4a145c22 100644 --- a/vendor/modernc.org/sqlite/lib/sqlite_linux_386.go +++ b/vendor/modernc.org/sqlite/lib/sqlite_linux_386.go @@ -1,4 +1,4 @@ -// Code generated by 'ccgo -DSQLITE_PRIVATE= -export-defines "" -export-enums "" -export-externs X -export-fields F -export-typedefs "" -ignore-unsupported-alignment -pkgname sqlite3 -o lib/sqlite_linux_386.go -trace-translation-units testdata/sqlite-amalgamation-3380100/sqlite3.c -DNDEBUG -DHAVE_USLEEP -DLONGDOUBLE_TYPE=double -DSQLITE_CORE -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_GEOPOLY -DSQLITE_ENABLE_MATH_FUNCTIONS -DSQLITE_ENABLE_MEMORY_MANAGEMENT -DSQLITE_ENABLE_OFFSET_SQL_FUNC -DSQLITE_ENABLE_PREUPDATE_HOOK -DSQLITE_ENABLE_RBU -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_SESSION -DSQLITE_ENABLE_SNAPSHOT -DSQLITE_ENABLE_STAT4 -DSQLITE_ENABLE_UNLOCK_NOTIFY -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_MUTEX_APPDEF=1 -DSQLITE_MUTEX_NOOP -DSQLITE_SOUNDEX -DSQLITE_THREADSAFE=1 -DSQLITE_OS_UNIX=1', DO NOT EDIT. +// Code generated by 'ccgo -DSQLITE_PRIVATE= -export-defines "" -export-enums "" -export-externs X -export-fields F -export-typedefs "" -ignore-unsupported-alignment -pkgname sqlite3 -o lib/sqlite_linux_386.go -trace-translation-units testdata/sqlite-amalgamation-3380200/sqlite3.c -DNDEBUG -DHAVE_USLEEP -DLONGDOUBLE_TYPE=double -DSQLITE_CORE -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_GEOPOLY -DSQLITE_ENABLE_MATH_FUNCTIONS -DSQLITE_ENABLE_MEMORY_MANAGEMENT -DSQLITE_ENABLE_OFFSET_SQL_FUNC -DSQLITE_ENABLE_PREUPDATE_HOOK -DSQLITE_ENABLE_RBU -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_SESSION -DSQLITE_ENABLE_SNAPSHOT -DSQLITE_ENABLE_STAT4 -DSQLITE_ENABLE_UNLOCK_NOTIFY -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_MUTEX_APPDEF=1 -DSQLITE_MUTEX_NOOP -DSQLITE_SOUNDEX -DSQLITE_THREADSAFE=1 -DSQLITE_OS_UNIX=1', DO NOT EDIT. package sqlite3 @@ -2142,7 +2142,7 @@ const ( SQLITE_SHM_UNLOCK = 1 SQLITE_SORTER_PMASZ = 250 SQLITE_SOUNDEX = 1 - SQLITE_SOURCE_ID = "2022-03-12 13:37:29 38c210fdd258658321c85ec9c01a072fda3ada94540e3239d29b34dc547a8cbc" + SQLITE_SOURCE_ID = "2022-03-26 13:51:10 d33c709cc0af66bc5b6dc6216eba9f1f0b40960b9ae83694c986fbf4c1d6f08f" SQLITE_SO_ASC = 0 SQLITE_SO_DESC = 1 SQLITE_SO_UNDEFINED = -1 @@ -2250,8 +2250,8 @@ const ( SQLITE_UTF8 = 1 SQLITE_VDBEINT_H = 0 SQLITE_VDBE_H = 0 - SQLITE_VERSION = "3.38.1" - SQLITE_VERSION_NUMBER = 3038001 + SQLITE_VERSION = "3.38.2" + SQLITE_VERSION_NUMBER = 3038002 SQLITE_VTABRISK_High = 2 SQLITE_VTABRISK_Low = 0 SQLITE_VTABRISK_Normal = 1 @@ -3732,7 +3732,7 @@ type X__float128 = float64 /* :47:21 */ // ***************************************************************************** // // This file is an amalgamation of many separate C source files from SQLite -// version 3.38.1. By combining all the individual C code files into this +// version 3.38.2. By combining all the individual C code files into this // single large file, the entire code can be compiled as a single translation // unit. This allows many compilers to do optimizations that would not be // possible if the files were compiled separately. Performance improvements @@ -26029,12 +26029,22 @@ var pgsz int32 = 4096 /* sqlite3.c:39581:28 */ // to shared and back or from unlocked to exclusive and back. But one may // not go from shared to exclusive or from exclusive to shared. func unixShmLock(tls *libc.TLS, fd uintptr, ofst int32, n int32, flags int32) int32 { /* sqlite3.c:39687:12: */ - var pDbFd uintptr = fd // Connection holding shared memory - var p uintptr = (*UnixFile)(unsafe.Pointer(pDbFd)).FpShm // The shared memory being locked - var pShmNode uintptr = (*UnixShm)(unsafe.Pointer(p)).FpShmNode // The underlying file iNode - var rc int32 = SQLITE_OK // Result code - var mask U16 // Mask of locks to take or release - var aLock uintptr = pShmNode + 36 /* &.aLock */ + var pDbFd uintptr = fd // Connection holding shared memory + var p uintptr // The shared memory being locked + var pShmNode uintptr // The underlying file iNode + var rc int32 = SQLITE_OK // Result code + var mask U16 // Mask of locks to take or release + var aLock uintptr + + p = (*UnixFile)(unsafe.Pointer(pDbFd)).FpShm + if p == uintptr(0) { + return SQLITE_IOERR | int32(20)<<8 + } + pShmNode = (*UnixShm)(unsafe.Pointer(p)).FpShmNode + if pShmNode == uintptr(0) { + return SQLITE_IOERR | int32(20)<<8 + } + aLock = pShmNode + 36 /* &.aLock */ // Check that, if this to be a blocking lock, no locks that occur later // in the following list than the lock being obtained are already held: @@ -26135,7 +26145,7 @@ func unixShmLock(tls *libc.TLS, fd uintptr, ofst int32, n int32, flags int32) in // // All loads and stores begun before the barrier must complete before // any load or store begun after the barrier. -func unixShmBarrier(tls *libc.TLS, fd uintptr) { /* sqlite3.c:39819:13: */ +func unixShmBarrier(tls *libc.TLS, fd uintptr) { /* sqlite3.c:39825:13: */ _ = fd // compiler-defined memory barrier @@ -26148,7 +26158,7 @@ func unixShmBarrier(tls *libc.TLS, fd uintptr) { /* sqlite3.c:39819:13: */ // // If there is no shared memory associated with the connection then this // routine is a harmless no-op. -func unixShmUnmap(tls *libc.TLS, fd uintptr, deleteFlag int32) int32 { /* sqlite3.c:39838:12: */ +func unixShmUnmap(tls *libc.TLS, fd uintptr, deleteFlag int32) int32 { /* sqlite3.c:39844:12: */ var p uintptr // The connection to be closed var pShmNode uintptr // The underlying shared-memory file var pp uintptr // For looping over sibling connections @@ -26191,7 +26201,7 @@ func unixShmUnmap(tls *libc.TLS, fd uintptr, deleteFlag int32) int32 { /* sqlite } // If it is currently memory mapped, unmap file pFd. -func unixUnmapfile(tls *libc.TLS, pFd uintptr) { /* sqlite3.c:39895:13: */ +func unixUnmapfile(tls *libc.TLS, pFd uintptr) { /* sqlite3.c:39901:13: */ if (*UnixFile)(unsafe.Pointer(pFd)).FpMapRegion != 0 { (*(*func(*libc.TLS, uintptr, Size_t) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 23*12 + 4)))(tls, (*UnixFile)(unsafe.Pointer(pFd)).FpMapRegion, uint32((*UnixFile)(unsafe.Pointer(pFd)).FmmapSizeActual)) @@ -26214,7 +26224,7 @@ func unixUnmapfile(tls *libc.TLS, pFd uintptr) { /* sqlite3.c:39895:13: */ // the three variables above are zeroed. In this case SQLite should // continue accessing the database using the xRead() and xWrite() // methods. -func unixRemapfile(tls *libc.TLS, pFd uintptr, nNew I64) { /* sqlite3.c:39920:13: */ +func unixRemapfile(tls *libc.TLS, pFd uintptr, nNew I64) { /* sqlite3.c:39926:13: */ var zErr uintptr = ts + 3370 /* "mmap" */ var h int32 = (*UnixFile)(unsafe.Pointer(pFd)).Fh // File descriptor open on db file var pOrig uintptr = (*UnixFile)(unsafe.Pointer(pFd)).FpMapRegion // Pointer to current file mapping @@ -26248,7 +26258,7 @@ func unixRemapfile(tls *libc.TLS, pFd uintptr, nNew I64) { /* sqlite3.c:39920:13 if pNew == libc.UintptrFromInt32(-1) { pNew = uintptr(0) nNew = int64(0) - unixLogErrorAtLine(tls, SQLITE_OK, zErr, (*UnixFile)(unsafe.Pointer(pFd)).FzPath, 39985) + unixLogErrorAtLine(tls, SQLITE_OK, zErr, (*UnixFile)(unsafe.Pointer(pFd)).FzPath, 39991) // If the mmap() above failed, assume that all subsequent mmap() calls // will probably fail too. Fall back to using xRead/xWrite exclusively @@ -26273,7 +26283,7 @@ func unixRemapfile(tls *libc.TLS, pFd uintptr, nNew I64) { /* sqlite3.c:39920:13 // SQLITE_OK is returned if no error occurs (even if the mapping is not // recreated as a result of outstanding references) or an SQLite error // code otherwise. -func unixMapfile(tls *libc.TLS, pFd uintptr, nMap I64) int32 { /* sqlite3.c:40012:12: */ +func unixMapfile(tls *libc.TLS, pFd uintptr, nMap I64) int32 { /* sqlite3.c:40018:12: */ bp := tls.Alloc(96) defer tls.Free(96) @@ -26310,7 +26320,7 @@ func unixMapfile(tls *libc.TLS, pFd uintptr, nMap I64) int32 { /* sqlite3.c:4001 // // If this function does return a pointer, the caller must eventually // release the reference by calling unixUnfetch(). -func unixFetch(tls *libc.TLS, fd uintptr, iOff I64, nAmt int32, pp uintptr) int32 { /* sqlite3.c:40049:12: */ +func unixFetch(tls *libc.TLS, fd uintptr, iOff I64, nAmt int32, pp uintptr) int32 { /* sqlite3.c:40055:12: */ var pFd uintptr = fd // The underlying database file *(*uintptr)(unsafe.Pointer(pp)) = uintptr(0) @@ -26337,7 +26347,7 @@ func unixFetch(tls *libc.TLS, fd uintptr, iOff I64, nAmt int32, pp uintptr) int3 // Or, if the third argument is NULL, then this function is being called // to inform the VFS layer that, according to POSIX, any existing mapping // may now be invalid and should be unmapped. -func unixUnfetch(tls *libc.TLS, fd uintptr, iOff I64, p uintptr) int32 { /* sqlite3.c:40080:12: */ +func unixUnfetch(tls *libc.TLS, fd uintptr, iOff I64, p uintptr) int32 { /* sqlite3.c:40086:12: */ var pFd uintptr = fd // The underlying database file _ = iOff @@ -26398,33 +26408,33 @@ func unixUnfetch(tls *libc.TLS, fd uintptr, iOff I64, p uintptr) int32 { /* sqli // Here are all of the sqlite3_io_methods objects for each of the // locking strategies. Functions that return pointers to these methods // are also created. -var posixIoMethods = Sqlite3_io_methods{FiVersion: 3 /* iVersion */, FxClose: 0 /* xClose */, FxRead: 0 /* xRead */, FxWrite: 0 /* xWrite */, FxTruncate: 0 /* xTruncate */, FxSync: 0 /* xSync */, FxFileSize: 0 /* xFileSize */, FxLock: 0 /* xLock */, FxUnlock: 0 /* xUnlock */, FxCheckReservedLock: 0 /* xCheckReservedLock */, FxFileControl: 0 /* xFileControl */, FxSectorSize: 0 /* xSectorSize */, FxDeviceCharacteristics: 0 /* xDeviceCapabilities */, FxShmMap: 0 /* xShmMap */, FxShmLock: 0 /* xShmLock */, FxShmBarrier: 0 /* xShmBarrier */, FxShmUnmap: 0 /* xShmUnmap */, FxFetch: 0 /* xFetch */, FxUnfetch: 0 /* xUnfetch */} /* sqlite3.c:40182:1 */ +var posixIoMethods = Sqlite3_io_methods{FiVersion: 3 /* iVersion */, FxClose: 0 /* xClose */, FxRead: 0 /* xRead */, FxWrite: 0 /* xWrite */, FxTruncate: 0 /* xTruncate */, FxSync: 0 /* xSync */, FxFileSize: 0 /* xFileSize */, FxLock: 0 /* xLock */, FxUnlock: 0 /* xUnlock */, FxCheckReservedLock: 0 /* xCheckReservedLock */, FxFileControl: 0 /* xFileControl */, FxSectorSize: 0 /* xSectorSize */, FxDeviceCharacteristics: 0 /* xDeviceCapabilities */, FxShmMap: 0 /* xShmMap */, FxShmLock: 0 /* xShmLock */, FxShmBarrier: 0 /* xShmBarrier */, FxShmUnmap: 0 /* xShmUnmap */, FxFetch: 0 /* xFetch */, FxUnfetch: 0 /* xUnfetch */} /* sqlite3.c:40188:1 */ -func posixIoFinderImpl(tls *libc.TLS, z uintptr, p uintptr) uintptr { /* sqlite3.c:40182:1: */ +func posixIoFinderImpl(tls *libc.TLS, z uintptr, p uintptr) uintptr { /* sqlite3.c:40188:1: */ _ = z _ = p return uintptr(unsafe.Pointer(&posixIoMethods)) } -var posixIoFinder uintptr = 0 /* sqlite3.c:40182:1 */ -var nolockIoMethods = Sqlite3_io_methods{FiVersion: 3 /* iVersion */, FxClose: 0 /* xClose */, FxRead: 0 /* xRead */, FxWrite: 0 /* xWrite */, FxTruncate: 0 /* xTruncate */, FxSync: 0 /* xSync */, FxFileSize: 0 /* xFileSize */, FxLock: 0 /* xLock */, FxUnlock: 0 /* xUnlock */, FxCheckReservedLock: 0 /* xCheckReservedLock */, FxFileControl: 0 /* xFileControl */, FxSectorSize: 0 /* xSectorSize */, FxDeviceCharacteristics: 0 /* xShmMap */, FxShmLock: 0 /* xShmLock */, FxShmBarrier: 0 /* xShmBarrier */, FxShmUnmap: 0 /* xShmUnmap */, FxFetch: 0 /* xFetch */, FxUnfetch: 0 /* xUnfetch */} /* sqlite3.c:40192:1 */ +var posixIoFinder uintptr = 0 /* sqlite3.c:40188:1 */ +var nolockIoMethods = Sqlite3_io_methods{FiVersion: 3 /* iVersion */, FxClose: 0 /* xClose */, FxRead: 0 /* xRead */, FxWrite: 0 /* xWrite */, FxTruncate: 0 /* xTruncate */, FxSync: 0 /* xSync */, FxFileSize: 0 /* xFileSize */, FxLock: 0 /* xLock */, FxUnlock: 0 /* xUnlock */, FxCheckReservedLock: 0 /* xCheckReservedLock */, FxFileControl: 0 /* xFileControl */, FxSectorSize: 0 /* xSectorSize */, FxDeviceCharacteristics: 0 /* xShmMap */, FxShmLock: 0 /* xShmLock */, FxShmBarrier: 0 /* xShmBarrier */, FxShmUnmap: 0 /* xShmUnmap */, FxFetch: 0 /* xFetch */, FxUnfetch: 0 /* xUnfetch */} /* sqlite3.c:40198:1 */ -func nolockIoFinderImpl(tls *libc.TLS, z uintptr, p uintptr) uintptr { /* sqlite3.c:40192:1: */ +func nolockIoFinderImpl(tls *libc.TLS, z uintptr, p uintptr) uintptr { /* sqlite3.c:40198:1: */ _ = z _ = p return uintptr(unsafe.Pointer(&nolockIoMethods)) } -var nolockIoFinder uintptr = 0 /* sqlite3.c:40192:1 */ -var dotlockIoMethods = Sqlite3_io_methods{FiVersion: 1 /* iVersion */, FxClose: 0 /* xClose */, FxRead: 0 /* xRead */, FxWrite: 0 /* xWrite */, FxTruncate: 0 /* xTruncate */, FxSync: 0 /* xSync */, FxFileSize: 0 /* xFileSize */, FxLock: 0 /* xLock */, FxUnlock: 0 /* xUnlock */, FxCheckReservedLock: 0 /* xCheckReservedLock */, FxFileControl: 0 /* xFileControl */, FxSectorSize: 0 /* xSectorSize */, FxDeviceCharacteristics: 0 /* xShmMap */, FxShmLock: 0 /* xShmLock */, FxShmBarrier: 0 /* xShmBarrier */, FxShmUnmap: 0 /* xShmUnmap */, FxFetch: 0 /* xFetch */, FxUnfetch: 0 /* xUnfetch */} /* sqlite3.c:40202:1 */ +var nolockIoFinder uintptr = 0 /* sqlite3.c:40198:1 */ +var dotlockIoMethods = Sqlite3_io_methods{FiVersion: 1 /* iVersion */, FxClose: 0 /* xClose */, FxRead: 0 /* xRead */, FxWrite: 0 /* xWrite */, FxTruncate: 0 /* xTruncate */, FxSync: 0 /* xSync */, FxFileSize: 0 /* xFileSize */, FxLock: 0 /* xLock */, FxUnlock: 0 /* xUnlock */, FxCheckReservedLock: 0 /* xCheckReservedLock */, FxFileControl: 0 /* xFileControl */, FxSectorSize: 0 /* xSectorSize */, FxDeviceCharacteristics: 0 /* xShmMap */, FxShmLock: 0 /* xShmLock */, FxShmBarrier: 0 /* xShmBarrier */, FxShmUnmap: 0 /* xShmUnmap */, FxFetch: 0 /* xFetch */, FxUnfetch: 0 /* xUnfetch */} /* sqlite3.c:40208:1 */ -func dotlockIoFinderImpl(tls *libc.TLS, z uintptr, p uintptr) uintptr { /* sqlite3.c:40202:1: */ +func dotlockIoFinderImpl(tls *libc.TLS, z uintptr, p uintptr) uintptr { /* sqlite3.c:40208:1: */ _ = z _ = p return uintptr(unsafe.Pointer(&dotlockIoMethods)) } -var dotlockIoFinder uintptr = 0 /* sqlite3.c:40202:1 */ +var dotlockIoFinder uintptr = 0 /* sqlite3.c:40208:1 */ // The proxy locking method is a "super-method" in the sense that it // opens secondary file descriptors for the conch and lock files and @@ -26437,7 +26447,7 @@ var dotlockIoFinder uintptr = 0 /* sqlite3.c:40202:1 */ // nfs lockd on OSX 10.3+ doesn't clear write locks when a read lock is set // An abstract type for a pointer to an IO method finder function: -type Finder_type = uintptr /* sqlite3.c:40397:34 */ +type Finder_type = uintptr /* sqlite3.c:40403:34 */ // *************************************************************************** // @@ -26447,7 +26457,7 @@ type Finder_type = uintptr /* sqlite3.c:40397:34 */ // sqlite3_vfs object. // Initialize the contents of the unixFile structure pointed to by pId. -func fillInUnixFile(tls *libc.TLS, pVfs uintptr, h int32, pId uintptr, zFilename uintptr, ctrlFlags int32) int32 { /* sqlite3.c:40410:12: */ +func fillInUnixFile(tls *libc.TLS, pVfs uintptr, h int32, pId uintptr, zFilename uintptr, ctrlFlags int32) int32 { /* sqlite3.c:40416:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -26504,7 +26514,7 @@ func fillInUnixFile(tls *libc.TLS, pVfs uintptr, h int32, pId uintptr, zFilename // If scenario (a) caused the error then things are not so safe. The // implicit assumption here is that if fstat() fails, things are in // such bad shape that dropping a lock or two doesn't matter much. - robust_close(tls, pNew, h, 40488) + robust_close(tls, pNew, h, 40494) h = -1 } unixLeaveMutex(tls) @@ -26527,7 +26537,7 @@ func fillInUnixFile(tls *libc.TLS, pVfs uintptr, h int32, pId uintptr, zFilename storeLastErrno(tls, pNew, 0) if rc != SQLITE_OK { if h >= 0 { - robust_close(tls, pNew, h, 40573) + robust_close(tls, pNew, h, 40579) } } else { (*Sqlite3_file)(unsafe.Pointer(pId)).FpMethods = pLockingStyle @@ -26545,17 +26555,17 @@ var azTempDirs = [6]uintptr{ ts + 3680, ts + 3689, ts + 1547, -} /* sqlite3.c:40585:19 */ +} /* sqlite3.c:40591:19 */ // Initialize first two members of azTempDirs[] array. -func unixTempFileInit(tls *libc.TLS) { /* sqlite3.c:40597:13: */ +func unixTempFileInit(tls *libc.TLS) { /* sqlite3.c:40603:13: */ azTempDirs[0] = libc.Xgetenv(tls, ts+3694) azTempDirs[1] = libc.Xgetenv(tls, ts+3708) } // Return the name of a directory in which to put temporary files. // If no suitable temporary file directory can be found, return NULL. -func unixTempFileDir(tls *libc.TLS) uintptr { /* sqlite3.c:40606:19: */ +func unixTempFileDir(tls *libc.TLS) uintptr { /* sqlite3.c:40612:19: */ bp := tls.Alloc(96) defer tls.Free(96) @@ -26582,7 +26592,7 @@ func unixTempFileDir(tls *libc.TLS) uintptr { /* sqlite3.c:40606:19: */ // Create a temporary file name in zBuf. zBuf must be allocated // by the calling process and must be big enough to hold at least // pVfs->mxPathname bytes. -func unixGetTempname(tls *libc.TLS, nBuf int32, zBuf uintptr) int32 { /* sqlite3.c:40630:12: */ +func unixGetTempname(tls *libc.TLS, nBuf int32, zBuf uintptr) int32 { /* sqlite3.c:40636:12: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -26626,7 +26636,7 @@ func unixGetTempname(tls *libc.TLS, nBuf int32, zBuf uintptr) int32 { /* sqlite3 // // If a suitable file descriptor is found, then it is returned. If no // such file descriptor is located, -1 is returned. -func findReusableFd(tls *libc.TLS, zPath uintptr, flags int32) uintptr { /* sqlite3.c:40680:21: */ +func findReusableFd(tls *libc.TLS, zPath uintptr, flags int32) uintptr { /* sqlite3.c:40686:21: */ bp := tls.Alloc(96) defer tls.Free(96) @@ -26677,7 +26687,7 @@ func findReusableFd(tls *libc.TLS, zPath uintptr, flags int32) uintptr { /* sqli } // Find the mode, uid and gid of file zFile. -func getFileMode(tls *libc.TLS, zFile uintptr, pMode uintptr, pUid uintptr, pGid uintptr) int32 { /* sqlite3.c:40730:12: */ +func getFileMode(tls *libc.TLS, zFile uintptr, pMode uintptr, pUid uintptr, pGid uintptr) int32 { /* sqlite3.c:40736:12: */ bp := tls.Alloc(96) defer tls.Free(96) @@ -26713,7 +26723,7 @@ func getFileMode(tls *libc.TLS, zFile uintptr, pMode uintptr, pUid uintptr, pGid // original filename is unavailable. But 8_3_NAMES is only used for // FAT filesystems and permissions do not matter there, so just use // the default permissions. In 8_3_NAMES mode, leave *pMode set to zero. -func findCreateFileMode(tls *libc.TLS, zPath uintptr, flags int32, pMode uintptr, pUid uintptr, pGid uintptr) int32 { /* sqlite3.c:40769:12: */ +func findCreateFileMode(tls *libc.TLS, zPath uintptr, flags int32, pMode uintptr, pUid uintptr, pGid uintptr) int32 { /* sqlite3.c:40775:12: */ bp := tls.Alloc(513) defer tls.Free(513) @@ -26787,7 +26797,7 @@ func findCreateFileMode(tls *libc.TLS, zPath uintptr, flags int32, pMode uintptr // file handle closed. To achieve the same effect using this new // interface, add the DELETEONCLOSE flag to those specified above for // OpenExclusive(). -func unixOpen(tls *libc.TLS, pVfs uintptr, zPath uintptr, pFile uintptr, flags int32, pOutFlags uintptr) int32 { /* sqlite3.c:40846:12: */ +func unixOpen(tls *libc.TLS, pVfs uintptr, zPath uintptr, pFile uintptr, flags int32, pOutFlags uintptr) int32 { /* sqlite3.c:40852:12: */ bp := tls.Alloc(528) defer tls.Free(528) @@ -26985,7 +26995,7 @@ __15: if !(fd < 0) { goto __19 } - rc2 = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 41002), ts+3212, zName, 41002) + rc2 = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 41008), ts+3212, zName, 41008) if !(rc == SQLITE_OK) { goto __20 } @@ -27085,7 +27095,7 @@ __30: // Delete the file at zPath. If the dirSync argument is true, fsync() // the directory after deleting the file. -func unixDelete(tls *libc.TLS, NotUsed uintptr, zPath uintptr, dirSync int32) int32 { /* sqlite3.c:41125:12: */ +func unixDelete(tls *libc.TLS, NotUsed uintptr, zPath uintptr, dirSync int32) int32 { /* sqlite3.c:41131:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -27096,7 +27106,7 @@ func unixDelete(tls *libc.TLS, NotUsed uintptr, zPath uintptr, dirSync int32) in if *(*int32)(unsafe.Pointer(libc.X__errno_location(tls))) == ENOENT { rc = SQLITE_IOERR | int32(23)<<8 } else { - rc = unixLogErrorAtLine(tls, SQLITE_IOERR|int32(10)<<8, ts+3322, zPath, 41141) + rc = unixLogErrorAtLine(tls, SQLITE_IOERR|int32(10)<<8, ts+3322, zPath, 41147) } return rc } @@ -27106,9 +27116,9 @@ func unixDelete(tls *libc.TLS, NotUsed uintptr, zPath uintptr, dirSync int32) in rc = (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 17*12 + 4)))(tls, zPath, bp) if rc == SQLITE_OK { if full_fsync(tls, *(*int32)(unsafe.Pointer(bp)), 0, 0) != 0 { - rc = unixLogErrorAtLine(tls, SQLITE_IOERR|int32(5)<<8, ts+3739, zPath, 41151) + rc = unixLogErrorAtLine(tls, SQLITE_IOERR|int32(5)<<8, ts+3739, zPath, 41157) } - robust_close(tls, uintptr(0), *(*int32)(unsafe.Pointer(bp /* fd */)), 41153) + robust_close(tls, uintptr(0), *(*int32)(unsafe.Pointer(bp /* fd */)), 41159) } else { rc = SQLITE_OK @@ -27125,7 +27135,7 @@ func unixDelete(tls *libc.TLS, NotUsed uintptr, zPath uintptr, dirSync int32) in // SQLITE_ACCESS_READONLY: Return 1 if the file is readable. // // Otherwise return 0. -func unixAccess(tls *libc.TLS, NotUsed uintptr, zPath uintptr, flags int32, pResOut uintptr) int32 { /* sqlite3.c:41173:12: */ +func unixAccess(tls *libc.TLS, NotUsed uintptr, zPath uintptr, flags int32, pResOut uintptr) int32 { /* sqlite3.c:41179:12: */ bp := tls.Alloc(96) defer tls.Free(96) @@ -27147,7 +27157,7 @@ func unixAccess(tls *libc.TLS, NotUsed uintptr, zPath uintptr, flags int32, pRes // If the last component of the pathname in z[0]..z[j-1] is something // other than ".." then back it out and return true. If the last // component is empty or if it is ".." then return false. -func unixBackupDir(tls *libc.TLS, z uintptr, pJ uintptr) int32 { /* sqlite3.c:41202:12: */ +func unixBackupDir(tls *libc.TLS, z uintptr, pJ uintptr) int32 { /* sqlite3.c:41208:12: */ var j int32 = *(*int32)(unsafe.Pointer(pJ)) var i int32 if j <= 0 { @@ -27170,7 +27180,7 @@ func unixBackupDir(tls *libc.TLS, z uintptr, pJ uintptr) int32 { /* sqlite3.c:41 // // Remove all instances of /./ // Remove all isntances of /X/../ for any X -func mkFullPathname(tls *libc.TLS, zPath uintptr, zOut uintptr, nOut int32) int32 { /* sqlite3.c:41220:12: */ +func mkFullPathname(tls *libc.TLS, zPath uintptr, zOut uintptr, nOut int32) int32 { /* sqlite3.c:41226:12: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -27181,7 +27191,7 @@ func mkFullPathname(tls *libc.TLS, zPath uintptr, zOut uintptr, nOut int32) int3 if int32(*(*int8)(unsafe.Pointer(zPath))) != '/' { if (*(*func(*libc.TLS, uintptr, Size_t) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 3*12 + 4)))(tls, zOut, uint32(nOut-2)) == uintptr(0) { - return unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 41230), ts+3230, zPath, 41230) + return unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 41236), ts+3230, zPath, 41236) } iOff = Xsqlite3Strlen30(tls, zOut) *(*int8)(unsafe.Pointer(zOut + uintptr(libc.PostIncInt32(&iOff, 1)))) = int8('/') @@ -27190,7 +27200,7 @@ func mkFullPathname(tls *libc.TLS, zPath uintptr, zOut uintptr, nOut int32) int3 // SQLite assumes that xFullPathname() nul-terminates the output buffer // even if it returns an error. *(*int8)(unsafe.Pointer(zOut + uintptr(iOff))) = int8(0) - return Xsqlite3CantopenError(tls, 41239) + return Xsqlite3CantopenError(tls, 41245) } Xsqlite3_snprintf(tls, nOut-iOff, zOut+uintptr(iOff), ts+3614, libc.VaList(bp, zPath)) @@ -27241,7 +27251,7 @@ func mkFullPathname(tls *libc.TLS, zPath uintptr, zOut uintptr, nOut int32) int3 // zOut points to a buffer of at least sqlite3_vfs.mxPathname bytes // (in this case, MAX_PATHNAME bytes). The full-path is written to // this buffer before returning. -func unixFullPathname(tls *libc.TLS, pVfs uintptr, zPath uintptr, nOut int32, zOut uintptr) int32 { /* sqlite3.c:41289:12: */ +func unixFullPathname(tls *libc.TLS, pVfs uintptr, zPath uintptr, nOut int32, zOut uintptr) int32 { /* sqlite3.c:41295:12: */ bp := tls.Alloc(96) defer tls.Free(96) @@ -27267,7 +27277,7 @@ func unixFullPathname(tls *libc.TLS, pVfs uintptr, zPath uintptr, nOut int32, zO if (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 27*12 + 4)))(tls, zIn, bp) != 0 { if *(*int32)(unsafe.Pointer(libc.X__errno_location(tls))) != ENOENT { - rc = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 41322), ts+3410, zIn, 41322) + rc = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 41328), ts+3410, zIn, 41328) } } else { bLink = libc.Bool32((*stat)(unsafe.Pointer(bp)).Fst_mode&X__mode_t(0170000) == X__mode_t(0120000)) @@ -27281,20 +27291,20 @@ func unixFullPathname(tls *libc.TLS, pVfs uintptr, zPath uintptr, nOut int32, zO rc = SQLITE_NOMEM } } else if nLink >= SQLITE_MAX_SYMLINKS { - rc = Xsqlite3CantopenError(tls, 41334) + rc = Xsqlite3CantopenError(tls, 41340) } if rc == SQLITE_OK { nByte = (*(*func(*libc.TLS, uintptr, uintptr, Size_t) Ssize_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 26*12 + 4)))(tls, zIn, zDel, uint32(nOut-1)) if nByte < 0 { - rc = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 41340), ts+3401, zIn, 41340) + rc = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 41346), ts+3401, zIn, 41346) } else { if int32(*(*int8)(unsafe.Pointer(zDel))) != '/' { var n int32 for n = Xsqlite3Strlen30(tls, zIn); n > 0 && int32(*(*int8)(unsafe.Pointer(zIn + uintptr(n-1)))) != '/'; n-- { } if nByte+n+1 > nOut { - rc = Xsqlite3CantopenError(tls, 41346) + rc = Xsqlite3CantopenError(tls, 41352) } else { libc.Xmemmove(tls, zDel+uintptr(n), zDel, uint32(nByte+1)) libc.Xmemcpy(tls, zDel, zIn, uint32(n)) @@ -27364,7 +27374,7 @@ type Dl_serinfo = struct { } } /* dlfcn.h:196:3 */ -func unixDlOpen(tls *libc.TLS, NotUsed uintptr, zFilename uintptr) uintptr { /* sqlite3.c:41381:13: */ +func unixDlOpen(tls *libc.TLS, NotUsed uintptr, zFilename uintptr) uintptr { /* sqlite3.c:41387:13: */ _ = NotUsed return libc.Xdlopen(tls, zFilename, RTLD_NOW|RTLD_GLOBAL) } @@ -27374,7 +27384,7 @@ func unixDlOpen(tls *libc.TLS, NotUsed uintptr, zFilename uintptr) uintptr { /* // message is available, it is written to zBufOut. If no error message // is available, zBufOut is left unmodified and SQLite uses a default // error message. -func unixDlError(tls *libc.TLS, NotUsed uintptr, nBuf int32, zBufOut uintptr) { /* sqlite3.c:41393:13: */ +func unixDlError(tls *libc.TLS, NotUsed uintptr, nBuf int32, zBufOut uintptr) { /* sqlite3.c:41399:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -27388,7 +27398,7 @@ func unixDlError(tls *libc.TLS, NotUsed uintptr, nBuf int32, zBufOut uintptr) { unixLeaveMutex(tls) } -func unixDlSym(tls *libc.TLS, NotUsed uintptr, p uintptr, zSym uintptr) uintptr { /* sqlite3.c:41403:13: */ +func unixDlSym(tls *libc.TLS, NotUsed uintptr, p uintptr, zSym uintptr) uintptr { /* sqlite3.c:41409:13: */ // GCC with -pedantic-errors says that C90 does not allow a void* to be // cast into a pointer to a function. And yet the library dlsym() routine // returns a void* which is really a pointer to a function. So how do we @@ -27414,13 +27424,13 @@ func unixDlSym(tls *libc.TLS, NotUsed uintptr, p uintptr, zSym uintptr) uintptr })(unsafe.Pointer(&struct{ uintptr }{x})).f(tls, p, zSym) } -func unixDlClose(tls *libc.TLS, NotUsed uintptr, pHandle uintptr) { /* sqlite3.c:41426:13: */ +func unixDlClose(tls *libc.TLS, NotUsed uintptr, pHandle uintptr) { /* sqlite3.c:41432:13: */ _ = NotUsed libc.Xdlclose(tls, pHandle) } // Write nBuf bytes of random data to the supplied buffer zBuf. -func unixRandomness(tls *libc.TLS, NotUsed uintptr, nBuf int32, zBuf uintptr) int32 { /* sqlite3.c:41440:12: */ +func unixRandomness(tls *libc.TLS, NotUsed uintptr, nBuf int32, zBuf uintptr) int32 { /* sqlite3.c:41446:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -27455,7 +27465,7 @@ func unixRandomness(tls *libc.TLS, NotUsed uintptr, nBuf int32, zBuf uintptr) in for __ccgo := true; __ccgo; __ccgo = got < 0 && *(*int32)(unsafe.Pointer(libc.X__errno_location(tls))) == EINTR { got = (*(*func(*libc.TLS, int32, uintptr, Size_t) Ssize_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 8*12 + 4)))(tls, fd, zBuf, uint32(nBuf)) } - robust_close(tls, uintptr(0), fd, 41471) + robust_close(tls, uintptr(0), fd, 41477) } } @@ -27468,7 +27478,7 @@ func unixRandomness(tls *libc.TLS, NotUsed uintptr, nBuf int32, zBuf uintptr) in // requested from the underlying operating system, a number which // might be greater than or equal to the argument, but not less // than the argument. -func unixSleep(tls *libc.TLS, NotUsed uintptr, microseconds int32) int32 { /* sqlite3.c:41487:12: */ +func unixSleep(tls *libc.TLS, NotUsed uintptr, microseconds int32) int32 { /* sqlite3.c:41493:12: */ if microseconds >= 1000000 { libc.Xsleep(tls, uint32(microseconds/1000000)) } @@ -27491,7 +27501,7 @@ func unixSleep(tls *libc.TLS, NotUsed uintptr, microseconds int32) int32 { /* sq // // On success, return SQLITE_OK. Return SQLITE_ERROR if the time and date // cannot be found. -func unixCurrentTimeInt64(tls *libc.TLS, NotUsed uintptr, piNow uintptr) int32 { /* sqlite3.c:41528:12: */ +func unixCurrentTimeInt64(tls *libc.TLS, NotUsed uintptr, piNow uintptr) int32 { /* sqlite3.c:41534:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -27505,12 +27515,12 @@ func unixCurrentTimeInt64(tls *libc.TLS, NotUsed uintptr, piNow uintptr) int32 { return rc } -var unixEpoch Sqlite3_int64 = int64(24405875) * int64(8640000) /* sqlite3.c:41529:30 */ +var unixEpoch Sqlite3_int64 = int64(24405875) * int64(8640000) /* sqlite3.c:41535:30 */ // Find the current time (in Universal Coordinated Time). Write the // current time and date as a Julian Day number into *prNow and // return 0. Return 1 if the time and date cannot be found. -func unixCurrentTime(tls *libc.TLS, NotUsed uintptr, prNow uintptr) int32 { /* sqlite3.c:41560:12: */ +func unixCurrentTime(tls *libc.TLS, NotUsed uintptr, prNow uintptr) int32 { /* sqlite3.c:41566:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -27526,7 +27536,7 @@ func unixCurrentTime(tls *libc.TLS, NotUsed uintptr, prNow uintptr) int32 { /* s // low-level error message when operating-system problems come up // during SQLite operation. Only the integer return code is currently // used. -func unixGetLastError(tls *libc.TLS, NotUsed uintptr, NotUsed2 int32, NotUsed3 uintptr) int32 { /* sqlite3.c:41578:12: */ +func unixGetLastError(tls *libc.TLS, NotUsed uintptr, NotUsed2 int32, NotUsed3 uintptr) int32 { /* sqlite3.c:41584:12: */ _ = NotUsed _ = NotUsed2 _ = NotUsed3 @@ -27708,7 +27718,7 @@ func unixGetLastError(tls *libc.TLS, NotUsed uintptr, NotUsed2 int32, NotUsed3 u // single thread. The memory allocation and mutex subsystems have not // necessarily been initialized when this routine is called, and so they // should not be used. -func Xsqlite3_os_init(tls *libc.TLS) int32 { /* sqlite3.c:42783:16: */ +func Xsqlite3_os_init(tls *libc.TLS) int32 { /* sqlite3.c:42789:16: */ var i uint32 // Loop counter // Double-check that the aSyscall[] array has been constructed @@ -27746,14 +27756,14 @@ var aVfs = [4]Sqlite3_vfs{ {FiVersion: 3 /* iVersion */, FszOsFile: int32(unsafe.Sizeof(UnixFile{})) /* szOsFile */, FmxPathname: MAX_PATHNAME /* pNext */, FzName: ts + 3763, FpAppData: 0 /* pAppData */, FxOpen: 0 /* xOpen */, FxDelete: 0 /* xDelete */, FxAccess: 0 /* xAccess */, FxFullPathname: 0 /* xFullPathname */, FxDlOpen: 0 /* xDlOpen */, FxDlError: 0 /* xDlError */, FxDlSym: 0 /* xDlSym */, FxDlClose: 0 /* xDlClose */, FxRandomness: 0 /* xRandomness */, FxSleep: 0 /* xSleep */, FxCurrentTime: 0 /* xCurrentTime */, FxGetLastError: 0 /* xGetLastError */, FxCurrentTimeInt64: 0 /* xCurrentTimeInt64 */, FxSetSystemCall: 0 /* xSetSystemCall */, FxGetSystemCall: 0 /* xGetSystemCall */, FxNextSystemCall: 0 /* xNextSystemCall */}, {FiVersion: 3 /* iVersion */, FszOsFile: int32(unsafe.Sizeof(UnixFile{})) /* szOsFile */, FmxPathname: MAX_PATHNAME /* pNext */, FzName: ts + 3773, FpAppData: 0 /* pAppData */, FxOpen: 0 /* xOpen */, FxDelete: 0 /* xDelete */, FxAccess: 0 /* xAccess */, FxFullPathname: 0 /* xFullPathname */, FxDlOpen: 0 /* xDlOpen */, FxDlError: 0 /* xDlError */, FxDlSym: 0 /* xDlSym */, FxDlClose: 0 /* xDlClose */, FxRandomness: 0 /* xRandomness */, FxSleep: 0 /* xSleep */, FxCurrentTime: 0 /* xCurrentTime */, FxGetLastError: 0 /* xGetLastError */, FxCurrentTimeInt64: 0 /* xCurrentTimeInt64 */, FxSetSystemCall: 0 /* xSetSystemCall */, FxGetSystemCall: 0 /* xGetSystemCall */, FxNextSystemCall: 0 /* xNextSystemCall */}, {FiVersion: 3 /* iVersion */, FszOsFile: int32(unsafe.Sizeof(UnixFile{})) /* szOsFile */, FmxPathname: MAX_PATHNAME /* pNext */, FzName: ts + 3653, FpAppData: 0 /* pAppData */, FxOpen: 0 /* xOpen */, FxDelete: 0 /* xDelete */, FxAccess: 0 /* xAccess */, FxFullPathname: 0 /* xFullPathname */, FxDlOpen: 0 /* xDlOpen */, FxDlError: 0 /* xDlError */, FxDlSym: 0 /* xDlSym */, FxDlClose: 0 /* xDlClose */, FxRandomness: 0 /* xRandomness */, FxSleep: 0 /* xSleep */, FxCurrentTime: 0 /* xCurrentTime */, FxGetLastError: 0 /* xGetLastError */, FxCurrentTimeInt64: 0 /* xCurrentTimeInt64 */, FxSetSystemCall: 0 /* xSetSystemCall */, FxGetSystemCall: 0 /* xGetSystemCall */, FxNextSystemCall: 0 /* xNextSystemCall */}, -} /* sqlite3.c:42836:22 */ +} /* sqlite3.c:42842:22 */ // Shutdown the operating system interface. // // Some operating systems might need to do some cleanup in this routine, // to release dynamically allocated objects. But not on unix. // This routine is a no-op for unix. -func Xsqlite3_os_end(tls *libc.TLS) int32 { /* sqlite3.c:42905:16: */ +func Xsqlite3_os_end(tls *libc.TLS) int32 { /* sqlite3.c:42911:16: */ unixBigLock = uintptr(0) return SQLITE_OK } @@ -27795,14 +27805,14 @@ func Xsqlite3_os_end(tls *libc.TLS) int32 { /* sqlite3.c:42905:16: */ // #include "sqliteInt.h" // Forward declaration of objects used by this utility -type MemVfs = sqlite3_vfs /* sqlite3.c:49095:28 */ +type MemVfs = sqlite3_vfs /* sqlite3.c:49105:28 */ type MemFile1 = struct { Fbase Sqlite3_file FpStore uintptr FeLock int32 -} /* sqlite3.c:49096:9 */ +} /* sqlite3.c:49106:9 */ -type MemFile = MemFile1 /* sqlite3.c:49096:24 */ +type MemFile = MemFile1 /* sqlite3.c:49106:24 */ type MemStore1 = struct { Fsz Sqlite3_int64 FszAlloc Sqlite3_int64 @@ -27815,9 +27825,9 @@ type MemStore1 = struct { FnWrLock int32 FnRef int32 FzFName uintptr -} /* sqlite3.c:49096:9 */ +} /* sqlite3.c:49106:9 */ -type MemStore = MemStore1 /* sqlite3.c:49097:25 */ +type MemStore = MemStore1 /* sqlite3.c:49107:25 */ // File-scope variables for holding the memdb files that are accessible // to multiple database connections in separate threads. @@ -27826,13 +27836,13 @@ type MemStore = MemStore1 /* sqlite3.c:49097:25 */ type MemFS = struct { FnMemStore int32 FapMemStore uintptr -} /* sqlite3.c:49167:8 */ +} /* sqlite3.c:49177:8 */ // File-scope variables for holding the memdb files that are accessible // to multiple database connections in separate threads. // // Must hold SQLITE_MUTEX_STATIC_VFS1 to access any part of this object. -var memdb_g MemFS /* sqlite3.c:49170:3: */ +var memdb_g MemFS /* sqlite3.c:49180:3: */ var memdb_vfs = Sqlite3_vfs{ FiVersion: 2, // szOsFile (set when registered) @@ -27849,7 +27859,7 @@ var memdb_vfs = Sqlite3_vfs{ FxSleep: 0, /* memdbCurrentTime, */ // xCurrentTime FxGetLastError: 0, // xGetLastError FxCurrentTimeInt64: 0, // xNextSystemCall -} /* sqlite3.c:49206:20 */ +} /* sqlite3.c:49216:20 */ var memdb_io_methods = Sqlite3_io_methods{ FiVersion: 3, // iVersion @@ -27865,21 +27875,21 @@ var memdb_io_methods = Sqlite3_io_methods{ FxDeviceCharacteristics: 0, // xShmUnmap FxFetch: 0, // xFetch FxUnfetch: 0, // xUnfetch -} /* sqlite3.c:49231:33 */ +} /* sqlite3.c:49241:33 */ // Enter/leave the mutex on a MemStore -func memdbEnter(tls *libc.TLS, p uintptr) { /* sqlite3.c:49264:13: */ +func memdbEnter(tls *libc.TLS, p uintptr) { /* sqlite3.c:49274:13: */ Xsqlite3_mutex_enter(tls, (*MemStore)(unsafe.Pointer(p)).FpMutex) } -func memdbLeave(tls *libc.TLS, p uintptr) { /* sqlite3.c:49267:13: */ +func memdbLeave(tls *libc.TLS, p uintptr) { /* sqlite3.c:49277:13: */ Xsqlite3_mutex_leave(tls, (*MemStore)(unsafe.Pointer(p)).FpMutex) } // Close an memdb-file. // Free the underlying MemStore object when its refcount drops to zero // or less. -func memdbClose(tls *libc.TLS, pFile uintptr) int32 { /* sqlite3.c:49279:12: */ +func memdbClose(tls *libc.TLS, pFile uintptr) int32 { /* sqlite3.c:49289:12: */ var p uintptr = (*MemFile)(unsafe.Pointer(pFile)).FpStore if (*MemStore)(unsafe.Pointer(p)).FzFName != 0 { var i int32 @@ -27917,7 +27927,7 @@ func memdbClose(tls *libc.TLS, pFile uintptr) int32 { /* sqlite3.c:49279:12: */ } // Read data from an memdb-file. -func memdbRead(tls *libc.TLS, pFile uintptr, zBuf uintptr, iAmt int32, iOfst Sqlite_int64) int32 { /* sqlite3.c:49321:12: */ +func memdbRead(tls *libc.TLS, pFile uintptr, zBuf uintptr, iAmt int32, iOfst Sqlite_int64) int32 { /* sqlite3.c:49331:12: */ var p uintptr = (*MemFile)(unsafe.Pointer(pFile)).FpStore memdbEnter(tls, p) if iOfst+Sqlite_int64(iAmt) > (*MemStore)(unsafe.Pointer(p)).Fsz { @@ -27934,7 +27944,7 @@ func memdbRead(tls *libc.TLS, pFile uintptr, zBuf uintptr, iAmt int32, iOfst Sql } // Try to enlarge the memory allocation to hold at least sz bytes -func memdbEnlarge(tls *libc.TLS, p uintptr, newSz Sqlite3_int64) int32 { /* sqlite3.c:49343:12: */ +func memdbEnlarge(tls *libc.TLS, p uintptr, newSz Sqlite3_int64) int32 { /* sqlite3.c:49353:12: */ var pNew uintptr if (*MemStore)(unsafe.Pointer(p)).FmFlags&uint32(SQLITE_DESERIALIZE_RESIZEABLE) == uint32(0) || (*MemStore)(unsafe.Pointer(p)).FnMmap > 0 { return SQLITE_FULL @@ -27956,7 +27966,7 @@ func memdbEnlarge(tls *libc.TLS, p uintptr, newSz Sqlite3_int64) int32 { /* sqli } // Write data to an memdb-file. -func memdbWrite(tls *libc.TLS, pFile uintptr, z uintptr, iAmt int32, iOfst Sqlite_int64) int32 { /* sqlite3.c:49363:12: */ +func memdbWrite(tls *libc.TLS, pFile uintptr, z uintptr, iAmt int32, iOfst Sqlite_int64) int32 { /* sqlite3.c:49373:12: */ var p uintptr = (*MemFile)(unsafe.Pointer(pFile)).FpStore memdbEnter(tls, p) if (*MemStore)(unsafe.Pointer(p)).FmFlags&uint32(SQLITE_DESERIALIZE_READONLY) != 0 { @@ -27987,7 +27997,7 @@ func memdbWrite(tls *libc.TLS, pFile uintptr, z uintptr, iAmt int32, iOfst Sqlit // In rollback mode (which is always the case for memdb, as it does not // support WAL mode) the truncate() method is only used to reduce // the size of a file, never to increase the size. -func memdbTruncate(tls *libc.TLS, pFile uintptr, size Sqlite_int64) int32 { /* sqlite3.c:49400:12: */ +func memdbTruncate(tls *libc.TLS, pFile uintptr, size Sqlite_int64) int32 { /* sqlite3.c:49410:12: */ var p uintptr = (*MemFile)(unsafe.Pointer(pFile)).FpStore var rc int32 = SQLITE_OK memdbEnter(tls, p) @@ -28002,14 +28012,14 @@ func memdbTruncate(tls *libc.TLS, pFile uintptr, size Sqlite_int64) int32 { /* s } // Sync an memdb-file. -func memdbSync(tls *libc.TLS, pFile uintptr, flags int32) int32 { /* sqlite3.c:49417:12: */ +func memdbSync(tls *libc.TLS, pFile uintptr, flags int32) int32 { /* sqlite3.c:49427:12: */ _ = pFile _ = flags return SQLITE_OK } // Return the current file-size of an memdb-file. -func memdbFileSize(tls *libc.TLS, pFile uintptr, pSize uintptr) int32 { /* sqlite3.c:49426:12: */ +func memdbFileSize(tls *libc.TLS, pFile uintptr, pSize uintptr) int32 { /* sqlite3.c:49436:12: */ var p uintptr = (*MemFile)(unsafe.Pointer(pFile)).FpStore memdbEnter(tls, p) *(*Sqlite_int64)(unsafe.Pointer(pSize)) = (*MemStore)(unsafe.Pointer(p)).Fsz @@ -28018,7 +28028,7 @@ func memdbFileSize(tls *libc.TLS, pFile uintptr, pSize uintptr) int32 { /* sqlit } // Lock an memdb-file. -func memdbLock(tls *libc.TLS, pFile uintptr, eLock int32) int32 { /* sqlite3.c:49437:12: */ +func memdbLock(tls *libc.TLS, pFile uintptr, eLock int32) int32 { /* sqlite3.c:49447:12: */ var pThis uintptr = pFile var p uintptr = (*MemFile)(unsafe.Pointer(pThis)).FpStore var rc int32 = SQLITE_OK @@ -28062,7 +28072,7 @@ func memdbLock(tls *libc.TLS, pFile uintptr, eLock int32) int32 { /* sqlite3.c:4 } // File control method. For custom operations on an memdb-file. -func memdbFileControl(tls *libc.TLS, pFile uintptr, op int32, pArg uintptr) int32 { /* sqlite3.c:49491:12: */ +func memdbFileControl(tls *libc.TLS, pFile uintptr, op int32, pArg uintptr) int32 { /* sqlite3.c:49501:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -28091,13 +28101,13 @@ func memdbFileControl(tls *libc.TLS, pFile uintptr, op int32, pArg uintptr) int3 } // Return the device characteristic flags supported by an memdb-file. -func memdbDeviceCharacteristics(tls *libc.TLS, pFile uintptr) int32 { /* sqlite3.c:49528:12: */ +func memdbDeviceCharacteristics(tls *libc.TLS, pFile uintptr) int32 { /* sqlite3.c:49538:12: */ _ = pFile return SQLITE_IOCAP_ATOMIC | SQLITE_IOCAP_POWERSAFE_OVERWRITE | SQLITE_IOCAP_SAFE_APPEND | SQLITE_IOCAP_SEQUENTIAL } // Fetch a page of a memory-mapped file -func memdbFetch(tls *libc.TLS, pFile uintptr, iOfst Sqlite3_int64, iAmt int32, pp uintptr) int32 { /* sqlite3.c:49537:12: */ +func memdbFetch(tls *libc.TLS, pFile uintptr, iOfst Sqlite3_int64, iAmt int32, pp uintptr) int32 { /* sqlite3.c:49547:12: */ var p uintptr = (*MemFile)(unsafe.Pointer(pFile)).FpStore memdbEnter(tls, p) if iOfst+Sqlite3_int64(iAmt) > (*MemStore)(unsafe.Pointer(p)).Fsz || (*MemStore)(unsafe.Pointer(p)).FmFlags&uint32(SQLITE_DESERIALIZE_RESIZEABLE) != uint32(0) { @@ -28111,7 +28121,7 @@ func memdbFetch(tls *libc.TLS, pFile uintptr, iOfst Sqlite3_int64, iAmt int32, p } // Release a memory-mapped page -func memdbUnfetch(tls *libc.TLS, pFile uintptr, iOfst Sqlite3_int64, pPage uintptr) int32 { /* sqlite3.c:49556:12: */ +func memdbUnfetch(tls *libc.TLS, pFile uintptr, iOfst Sqlite3_int64, pPage uintptr) int32 { /* sqlite3.c:49566:12: */ var p uintptr = (*MemFile)(unsafe.Pointer(pFile)).FpStore _ = iOfst _ = pPage @@ -28122,7 +28132,7 @@ func memdbUnfetch(tls *libc.TLS, pFile uintptr, iOfst Sqlite3_int64, pPage uintp } // Open an mem file handle. -func memdbOpen(tls *libc.TLS, pVfs uintptr, zName uintptr, pFd uintptr, flags int32, pOutFlags uintptr) int32 { /* sqlite3.c:49569:12: */ +func memdbOpen(tls *libc.TLS, pVfs uintptr, zName uintptr, pFd uintptr, flags int32, pOutFlags uintptr) int32 { /* sqlite3.c:49579:12: */ var pFile uintptr = pFd var p uintptr = uintptr(0) var szName int32 @@ -28197,7 +28207,7 @@ func memdbOpen(tls *libc.TLS, pVfs uintptr, zName uintptr, pFd uintptr, flags in // is available, or false otherwise. // // With memdb, no files ever exist on disk. So always return false. -func memdbAccess(tls *libc.TLS, pVfs uintptr, zPath uintptr, flags int32, pResOut uintptr) int32 { /* sqlite3.c:49666:12: */ +func memdbAccess(tls *libc.TLS, pVfs uintptr, zPath uintptr, flags int32, pResOut uintptr) int32 { /* sqlite3.c:49676:12: */ _ = pVfs _ = zPath _ = flags @@ -28208,7 +28218,7 @@ func memdbAccess(tls *libc.TLS, pVfs uintptr, zPath uintptr, flags int32, pResOu // Populate buffer zOut with the full canonical pathname corresponding // to the pathname in zPath. zOut is guaranteed to point to a buffer // of at least (INST_MAX_PATHNAME+1) bytes. -func memdbFullPathname(tls *libc.TLS, pVfs uintptr, zPath uintptr, nOut int32, zOut uintptr) int32 { /* sqlite3.c:49684:12: */ +func memdbFullPathname(tls *libc.TLS, pVfs uintptr, zPath uintptr, nOut int32, zOut uintptr) int32 { /* sqlite3.c:49694:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -28218,7 +28228,7 @@ func memdbFullPathname(tls *libc.TLS, pVfs uintptr, zPath uintptr, nOut int32, z } // Open the dynamic library located at zPath and return a handle. -func memdbDlOpen(tls *libc.TLS, pVfs uintptr, zPath uintptr) uintptr { /* sqlite3.c:49698:13: */ +func memdbDlOpen(tls *libc.TLS, pVfs uintptr, zPath uintptr) uintptr { /* sqlite3.c:49708:13: */ return (*struct { f func(*libc.TLS, uintptr, uintptr) uintptr })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer((*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData)).FxDlOpen})).f(tls, (*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, zPath) @@ -28227,21 +28237,21 @@ func memdbDlOpen(tls *libc.TLS, pVfs uintptr, zPath uintptr) uintptr { /* sqlite // Populate the buffer zErrMsg (size nByte bytes) with a human readable // utf-8 string describing the most recent error encountered associated // with dynamic libraries. -func memdbDlError(tls *libc.TLS, pVfs uintptr, nByte int32, zErrMsg uintptr) { /* sqlite3.c:49707:13: */ +func memdbDlError(tls *libc.TLS, pVfs uintptr, nByte int32, zErrMsg uintptr) { /* sqlite3.c:49717:13: */ (*struct { f func(*libc.TLS, uintptr, int32, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer((*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData)).FxDlError})).f(tls, (*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, nByte, zErrMsg) } // Return a pointer to the symbol zSymbol in the dynamic library pHandle. -func memdbDlSym(tls *libc.TLS, pVfs uintptr, p uintptr, zSym uintptr) uintptr { /* sqlite3.c:49714:13: */ +func memdbDlSym(tls *libc.TLS, pVfs uintptr, p uintptr, zSym uintptr) uintptr { /* sqlite3.c:49724:13: */ return (*struct { f func(*libc.TLS, uintptr, uintptr, uintptr) uintptr })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer((*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData)).FxDlSym})).f(tls, (*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, p, zSym) } // Close the dynamic library handle pHandle. -func memdbDlClose(tls *libc.TLS, pVfs uintptr, pHandle uintptr) { /* sqlite3.c:49721:13: */ +func memdbDlClose(tls *libc.TLS, pVfs uintptr, pHandle uintptr) { /* sqlite3.c:49731:13: */ (*struct { f func(*libc.TLS, uintptr, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer((*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData)).FxDlClose})).f(tls, (*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, pHandle) @@ -28249,7 +28259,7 @@ func memdbDlClose(tls *libc.TLS, pVfs uintptr, pHandle uintptr) { /* sqlite3.c:4 // Populate the buffer pointed to by zBufOut with nByte bytes of // random data. -func memdbRandomness(tls *libc.TLS, pVfs uintptr, nByte int32, zBufOut uintptr) int32 { /* sqlite3.c:49729:12: */ +func memdbRandomness(tls *libc.TLS, pVfs uintptr, nByte int32, zBufOut uintptr) int32 { /* sqlite3.c:49739:12: */ return (*struct { f func(*libc.TLS, uintptr, int32, uintptr) int32 })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer((*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData)).FxRandomness})).f(tls, (*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, nByte, zBufOut) @@ -28257,19 +28267,19 @@ func memdbRandomness(tls *libc.TLS, pVfs uintptr, nByte int32, zBufOut uintptr) // Sleep for nMicro microseconds. Return the number of microseconds // actually slept. -func memdbSleep(tls *libc.TLS, pVfs uintptr, nMicro int32) int32 { /* sqlite3.c:49737:12: */ +func memdbSleep(tls *libc.TLS, pVfs uintptr, nMicro int32) int32 { /* sqlite3.c:49747:12: */ return (*struct { f func(*libc.TLS, uintptr, int32) int32 })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer((*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData)).FxSleep})).f(tls, (*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, nMicro) } -func memdbGetLastError(tls *libc.TLS, pVfs uintptr, a int32, b uintptr) int32 { /* sqlite3.c:49750:12: */ +func memdbGetLastError(tls *libc.TLS, pVfs uintptr, a int32, b uintptr) int32 { /* sqlite3.c:49760:12: */ return (*struct { f func(*libc.TLS, uintptr, int32, uintptr) int32 })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer((*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData)).FxGetLastError})).f(tls, (*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, a, b) } -func memdbCurrentTimeInt64(tls *libc.TLS, pVfs uintptr, p uintptr) int32 { /* sqlite3.c:49753:12: */ +func memdbCurrentTimeInt64(tls *libc.TLS, pVfs uintptr, p uintptr) int32 { /* sqlite3.c:49763:12: */ return (*struct { f func(*libc.TLS, uintptr, uintptr) int32 })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer((*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData)).FxCurrentTimeInt64})).f(tls, (*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, p) @@ -28277,7 +28287,7 @@ func memdbCurrentTimeInt64(tls *libc.TLS, pVfs uintptr, p uintptr) int32 { /* sq // Translate a database connection pointer and schema name into a // MemFile pointer. -func memdbFromDbSchema(tls *libc.TLS, db uintptr, zSchema uintptr) uintptr { /* sqlite3.c:49761:16: */ +func memdbFromDbSchema(tls *libc.TLS, db uintptr, zSchema uintptr) uintptr { /* sqlite3.c:49771:16: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -28300,7 +28310,7 @@ func memdbFromDbSchema(tls *libc.TLS, db uintptr, zSchema uintptr) uintptr { /* } // Return the serialization of a database -func Xsqlite3_serialize(tls *libc.TLS, db uintptr, zSchema uintptr, piSize uintptr, mFlags uint32) uintptr { /* sqlite3.c:49777:26: */ +func Xsqlite3_serialize(tls *libc.TLS, db uintptr, zSchema uintptr, piSize uintptr, mFlags uint32) uintptr { /* sqlite3.c:49787:26: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -28391,7 +28401,7 @@ func Xsqlite3_serialize(tls *libc.TLS, db uintptr, zSchema uintptr, piSize uintp } // Convert zSchema to a MemDB and initialize its content. -func Xsqlite3_deserialize(tls *libc.TLS, db uintptr, zSchema uintptr, pData uintptr, szDb Sqlite3_int64, szBuf Sqlite3_int64, mFlags uint32) int32 { /* sqlite3.c:49858:16: */ +func Xsqlite3_deserialize(tls *libc.TLS, db uintptr, zSchema uintptr, pData uintptr, szDb Sqlite3_int64, szBuf Sqlite3_int64, mFlags uint32) int32 { /* sqlite3.c:49868:16: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -28486,7 +28496,7 @@ __10: // This routine is called when the extension is loaded. // Register the new VFS. -func Xsqlite3MemdbInit(tls *libc.TLS) int32 { /* sqlite3.c:49934:20: */ +func Xsqlite3MemdbInit(tls *libc.TLS) int32 { /* sqlite3.c:49944:20: */ var pLower uintptr = Xsqlite3_vfs_find(tls, uintptr(0)) var sz uint32 if pLower == uintptr(0) { @@ -28508,7 +28518,7 @@ func Xsqlite3MemdbInit(tls *libc.TLS) int32 { /* sqlite3.c:49934:20: */ // Create a new bitmap object able to handle bits between 0 and iSize, // inclusive. Return a pointer to the new object. Return NULL if // malloc fails. -func Xsqlite3BitvecCreate(tls *libc.TLS, iSize U32) uintptr { /* sqlite3.c:50066:23: */ +func Xsqlite3BitvecCreate(tls *libc.TLS, iSize U32) uintptr { /* sqlite3.c:50076:23: */ var p uintptr p = Xsqlite3MallocZero(tls, uint64(unsafe.Sizeof(Bitvec{}))) @@ -28521,7 +28531,7 @@ func Xsqlite3BitvecCreate(tls *libc.TLS, iSize U32) uintptr { /* sqlite3.c:50066 // Check to see if the i-th bit is set. Return true or false. // If p is NULL (if the bitmap has not been created) or if // i is out of range, then return false. -func Xsqlite3BitvecTestNotNull(tls *libc.TLS, p uintptr, i U32) int32 { /* sqlite3.c:50081:20: */ +func Xsqlite3BitvecTestNotNull(tls *libc.TLS, p uintptr, i U32) int32 { /* sqlite3.c:50091:20: */ i-- if i >= (*Bitvec)(unsafe.Pointer(p)).FiSize { @@ -28550,7 +28560,7 @@ func Xsqlite3BitvecTestNotNull(tls *libc.TLS, p uintptr, i U32) int32 { /* sqlit return int32(0) } -func Xsqlite3BitvecTest(tls *libc.TLS, p uintptr, i U32) int32 { /* sqlite3.c:50104:20: */ +func Xsqlite3BitvecTest(tls *libc.TLS, p uintptr, i U32) int32 { /* sqlite3.c:50114:20: */ return libc.Bool32(p != uintptr(0) && Xsqlite3BitvecTestNotNull(tls, p, i) != 0) } @@ -28564,7 +28574,7 @@ func Xsqlite3BitvecTest(tls *libc.TLS, p uintptr, i U32) int32 { /* sqlite3.c:50 // The calling function must ensure that p is a valid Bitvec object // and that the value for "i" is within range of the Bitvec object. // Otherwise the behavior is undefined. -func Xsqlite3BitvecSet(tls *libc.TLS, p uintptr, i U32) int32 { /* sqlite3.c:50120:20: */ +func Xsqlite3BitvecSet(tls *libc.TLS, p uintptr, i U32) int32 { /* sqlite3.c:50130:20: */ var h U32 var bin U32 var j uint32 @@ -28701,7 +28711,7 @@ bitvec_set_end: // // pBuf must be a pointer to at least BITVEC_SZ bytes of temporary storage // that BitvecClear can use to rebuilt its hash table. -func Xsqlite3BitvecClear(tls *libc.TLS, p uintptr, i U32, pBuf uintptr) { /* sqlite3.c:50191:21: */ +func Xsqlite3BitvecClear(tls *libc.TLS, p uintptr, i U32, pBuf uintptr) { /* sqlite3.c:50201:21: */ if p == uintptr(0) { return } @@ -28740,7 +28750,7 @@ func Xsqlite3BitvecClear(tls *libc.TLS, p uintptr, i U32, pBuf uintptr) { /* sql } // Destroy a bitmap object. Reclaim all memory used. -func Xsqlite3BitvecDestroy(tls *libc.TLS, p uintptr) { /* sqlite3.c:50228:21: */ +func Xsqlite3BitvecDestroy(tls *libc.TLS, p uintptr) { /* sqlite3.c:50238:21: */ if p == uintptr(0) { return } @@ -28755,7 +28765,7 @@ func Xsqlite3BitvecDestroy(tls *libc.TLS, p uintptr) { /* sqlite3.c:50228:21: */ // Return the value of the iSize parameter specified when Bitvec *p // was created. -func Xsqlite3BitvecSize(tls *libc.TLS, p uintptr) U32 { /* sqlite3.c:50243:20: */ +func Xsqlite3BitvecSize(tls *libc.TLS, p uintptr) U32 { /* sqlite3.c:50253:20: */ return (*Bitvec)(unsafe.Pointer(p)).FiSize } @@ -28792,7 +28802,7 @@ func Xsqlite3BitvecSize(tls *libc.TLS, p uintptr) U32 { /* sqlite3.c:50243:20: * // an error is returned. If they are the same, zero is returned. // // If a memory allocation error occurs, return -1. -func Xsqlite3BitvecBuiltinTest(tls *libc.TLS, sz int32, aOp uintptr) int32 { /* sqlite3.c:50288:20: */ +func Xsqlite3BitvecBuiltinTest(tls *libc.TLS, sz int32, aOp uintptr) int32 { /* sqlite3.c:50298:20: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -28955,7 +28965,7 @@ bitvec_end: // argument determines what operation to do. The 0x01 bit means first // remove pPage from the dirty list. The 0x02 means add pPage back to // the dirty list. Doing both moves pPage to the front of the dirty list. -func pcacheManageDirtyList(tls *libc.TLS, pPage uintptr, addRemove U8) { /* sqlite3.c:50523:13: */ +func pcacheManageDirtyList(tls *libc.TLS, pPage uintptr, addRemove U8) { /* sqlite3.c:50533:13: */ var p uintptr = (*PgHdr)(unsafe.Pointer(pPage)).FpCache if int32(addRemove)&PCACHE_DIRTYLIST_REMOVE != 0 { @@ -29017,7 +29027,7 @@ func pcacheManageDirtyList(tls *libc.TLS, pPage uintptr, addRemove U8) { /* sqli // Wrapper around the pluggable caches xUnpin method. If the cache is // being used for an in-memory database, this function is a no-op. -func pcacheUnpin(tls *libc.TLS, p uintptr) { /* sqlite3.c:50593:13: */ +func pcacheUnpin(tls *libc.TLS, p uintptr) { /* sqlite3.c:50603:13: */ if (*PCache)(unsafe.Pointer((*PgHdr)(unsafe.Pointer(p)).FpCache)).FbPurgeable != 0 { (*struct { @@ -29029,7 +29039,7 @@ func pcacheUnpin(tls *libc.TLS, p uintptr) { /* sqlite3.c:50593:13: */ // Compute the number of pages of cache requested. p->szCache is the // cache size requested by the "PRAGMA cache_size" statement. -func numberOfCachePages(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:50605:12: */ +func numberOfCachePages(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:50615:12: */ if (*PCache)(unsafe.Pointer(p)).FszCache >= 0 { // IMPLEMENTATION-OF: R-42059-47211 If the argument N is positive then the // suggested cache size is set to N. @@ -29054,7 +29064,7 @@ func numberOfCachePages(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:50605:12: // // Initialize and shutdown the page cache subsystem. Neither of these // functions are threadsafe. -func Xsqlite3PcacheInitialize(tls *libc.TLS) int32 { /* sqlite3.c:50627:20: */ +func Xsqlite3PcacheInitialize(tls *libc.TLS) int32 { /* sqlite3.c:50637:20: */ if Xsqlite3Config.Fpcache2.FxInit == uintptr(0) { // IMPLEMENTATION-OF: R-26801-64137 If the xInit() method is NULL, then the // built-in default page cache is used instead of the application defined @@ -29067,7 +29077,7 @@ func Xsqlite3PcacheInitialize(tls *libc.TLS) int32 { /* sqlite3.c:50627:20: */ })(unsafe.Pointer(&struct{ uintptr }{Xsqlite3Config.Fpcache2.FxInit})).f(tls, Xsqlite3Config.Fpcache2.FpArg) } -func Xsqlite3PcacheShutdown(tls *libc.TLS) { /* sqlite3.c:50637:21: */ +func Xsqlite3PcacheShutdown(tls *libc.TLS) { /* sqlite3.c:50647:21: */ if Xsqlite3Config.Fpcache2.FxShutdown != 0 { // IMPLEMENTATION-OF: R-26000-56589 The xShutdown() method may be NULL. (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{Xsqlite3Config.Fpcache2.FxShutdown})).f(tls, Xsqlite3Config.Fpcache2.FpArg) @@ -29075,7 +29085,7 @@ func Xsqlite3PcacheShutdown(tls *libc.TLS) { /* sqlite3.c:50637:21: */ } // Return the size in bytes of a PCache object. -func Xsqlite3PcacheSize(tls *libc.TLS) int32 { /* sqlite3.c:50647:20: */ +func Xsqlite3PcacheSize(tls *libc.TLS) int32 { /* sqlite3.c:50657:20: */ return int32(unsafe.Sizeof(PCache{})) } @@ -29089,7 +29099,7 @@ func Xsqlite3PcacheSize(tls *libc.TLS) int32 { /* sqlite3.c:50647:20: */ // but remaining content will be uninitialized. Though it is opaque // to this module, the extra space really ends up being the MemPage // structure in the pager. -func Xsqlite3PcacheOpen(tls *libc.TLS, szPage int32, szExtra int32, bPurgeable int32, xStress uintptr, pStress uintptr, p uintptr) int32 { /* sqlite3.c:50661:20: */ +func Xsqlite3PcacheOpen(tls *libc.TLS, szPage int32, szExtra int32, bPurgeable int32, xStress uintptr, pStress uintptr, p uintptr) int32 { /* sqlite3.c:50671:20: */ libc.Xmemset(tls, p, 0, uint32(unsafe.Sizeof(PCache{}))) (*PCache)(unsafe.Pointer(p)).FszPage = 1 (*PCache)(unsafe.Pointer(p)).FszExtra = szExtra @@ -29106,7 +29116,7 @@ func Xsqlite3PcacheOpen(tls *libc.TLS, szPage int32, szExtra int32, bPurgeable i // Change the page size for PCache object. The caller must ensure that there // are no outstanding page references when this function is called. -func Xsqlite3PcacheSetPageSize(tls *libc.TLS, pCache uintptr, szPage int32) int32 { /* sqlite3.c:50687:20: */ +func Xsqlite3PcacheSetPageSize(tls *libc.TLS, pCache uintptr, szPage int32) int32 { /* sqlite3.c:50697:20: */ if (*PCache)(unsafe.Pointer(pCache)).FszPage != 0 { var pNew uintptr @@ -29153,7 +29163,7 @@ func Xsqlite3PcacheSetPageSize(tls *libc.TLS, pCache uintptr, szPage int32) int3 // they can both (usually) operate without having to push values to // the stack on entry and pop them back off on exit, which saves a // lot of pushing and popping. -func Xsqlite3PcacheFetch(tls *libc.TLS, pCache uintptr, pgno Pgno, createFlag int32) uintptr { /* sqlite3.c:50731:36: */ +func Xsqlite3PcacheFetch(tls *libc.TLS, pCache uintptr, pgno Pgno, createFlag int32) uintptr { /* sqlite3.c:50741:36: */ var eCreate int32 var pRes uintptr @@ -29181,7 +29191,7 @@ func Xsqlite3PcacheFetch(tls *libc.TLS, pCache uintptr, pgno Pgno, createFlag in // an OOM error. // // This routine should be invoked only after sqlite3PcacheFetch() fails. -func Xsqlite3PcacheFetchStress(tls *libc.TLS, pCache uintptr, pgno Pgno, ppPage uintptr) int32 { /* sqlite3.c:50772:20: */ +func Xsqlite3PcacheFetchStress(tls *libc.TLS, pCache uintptr, pgno Pgno, ppPage uintptr) int32 { /* sqlite3.c:50782:20: */ var pPg uintptr if int32((*PCache)(unsafe.Pointer(pCache)).FeCreate) == 2 { return 0 @@ -29232,7 +29242,7 @@ func Xsqlite3PcacheFetchStress(tls *libc.TLS, pCache uintptr, pgno Pgno, ppPage // This routine is broken out into a separate function since it // requires extra stack manipulation that can be avoided in the common // case. -func pcacheFetchFinishWithInit(tls *libc.TLS, pCache uintptr, pgno Pgno, pPage uintptr) uintptr { /* sqlite3.c:50828:30: */ +func pcacheFetchFinishWithInit(tls *libc.TLS, pCache uintptr, pgno Pgno, pPage uintptr) uintptr { /* sqlite3.c:50838:30: */ var pPgHdr uintptr pPgHdr = (*Sqlite3_pcache_page)(unsafe.Pointer(pPage)).FpExtra @@ -29252,7 +29262,7 @@ func pcacheFetchFinishWithInit(tls *libc.TLS, pCache uintptr, pgno Pgno, pPage u // sqlite3PcacheFetch() into an initialized PgHdr object. This routine // must be called after sqlite3PcacheFetch() in order to get a usable // result. -func Xsqlite3PcacheFetchFinish(tls *libc.TLS, pCache uintptr, pgno Pgno, pPage uintptr) uintptr { /* sqlite3.c:50854:22: */ +func Xsqlite3PcacheFetchFinish(tls *libc.TLS, pCache uintptr, pgno Pgno, pPage uintptr) uintptr { /* sqlite3.c:50864:22: */ var pPgHdr uintptr pPgHdr = (*Sqlite3_pcache_page)(unsafe.Pointer(pPage)).FpExtra @@ -29268,7 +29278,7 @@ func Xsqlite3PcacheFetchFinish(tls *libc.TLS, pCache uintptr, pgno Pgno, pPage u // Decrement the reference count on a page. If the page is clean and the // reference count drops to 0, then it is made eligible for recycling. -func Xsqlite3PcacheRelease(tls *libc.TLS, p uintptr) { /* sqlite3.c:50877:37: */ +func Xsqlite3PcacheRelease(tls *libc.TLS, p uintptr) { /* sqlite3.c:50887:37: */ (*PCache)(unsafe.Pointer((*PgHdr)(unsafe.Pointer(p)).FpCache)).FnRefSum-- if int32(libc.PreDecInt16(&(*PgHdr)(unsafe.Pointer(p)).FnRef, 1)) == 0 { @@ -29281,7 +29291,7 @@ func Xsqlite3PcacheRelease(tls *libc.TLS, p uintptr) { /* sqlite3.c:50877:37: */ } // Increase the reference count of a supplied page by 1. -func Xsqlite3PcacheRef(tls *libc.TLS, p uintptr) { /* sqlite3.c:50892:21: */ +func Xsqlite3PcacheRef(tls *libc.TLS, p uintptr) { /* sqlite3.c:50902:21: */ (*PgHdr)(unsafe.Pointer(p)).FnRef++ (*PCache)(unsafe.Pointer((*PgHdr)(unsafe.Pointer(p)).FpCache)).FnRefSum++ @@ -29290,7 +29300,7 @@ func Xsqlite3PcacheRef(tls *libc.TLS, p uintptr) { /* sqlite3.c:50892:21: */ // Drop a page from the cache. There must be exactly one reference to the // page. This function deletes that reference, so after it returns the // page pointed to by p is invalid. -func Xsqlite3PcacheDrop(tls *libc.TLS, p uintptr) { /* sqlite3.c:50904:21: */ +func Xsqlite3PcacheDrop(tls *libc.TLS, p uintptr) { /* sqlite3.c:50914:21: */ if int32((*PgHdr)(unsafe.Pointer(p)).Fflags)&PGHDR_DIRTY != 0 { pcacheManageDirtyList(tls, p, uint8(PCACHE_DIRTYLIST_REMOVE)) @@ -29303,7 +29313,7 @@ func Xsqlite3PcacheDrop(tls *libc.TLS, p uintptr) { /* sqlite3.c:50904:21: */ // Make sure the page is marked as dirty. If it isn't dirty already, // make it so. -func Xsqlite3PcacheMakeDirty(tls *libc.TLS, p uintptr) { /* sqlite3.c:50918:21: */ +func Xsqlite3PcacheMakeDirty(tls *libc.TLS, p uintptr) { /* sqlite3.c:50928:21: */ if int32((*PgHdr)(unsafe.Pointer(p)).Fflags)&(PGHDR_CLEAN|PGHDR_DONT_WRITE) != 0 { //OPTIMIZATION-IF-FALSE *(*U16)(unsafe.Pointer(p + 28)) &= libc.Uint16FromInt32(libc.CplInt32(PGHDR_DONT_WRITE)) @@ -29318,7 +29328,7 @@ func Xsqlite3PcacheMakeDirty(tls *libc.TLS, p uintptr) { /* sqlite3.c:50918:21: // Make sure the page is marked as clean. If it isn't clean already, // make it so. -func Xsqlite3PcacheMakeClean(tls *libc.TLS, p uintptr) { /* sqlite3.c:50938:21: */ +func Xsqlite3PcacheMakeClean(tls *libc.TLS, p uintptr) { /* sqlite3.c:50948:21: */ pcacheManageDirtyList(tls, p, uint8(PCACHE_DIRTYLIST_REMOVE)) *(*U16)(unsafe.Pointer(p + 28)) &= libc.Uint16FromInt32(libc.CplInt32(PGHDR_DIRTY | PGHDR_NEED_SYNC | PGHDR_WRITEABLE)) @@ -29330,7 +29340,7 @@ func Xsqlite3PcacheMakeClean(tls *libc.TLS, p uintptr) { /* sqlite3.c:50938:21: } // Make every page in the cache clean. -func Xsqlite3PcacheCleanAll(tls *libc.TLS, pCache uintptr) { /* sqlite3.c:50955:21: */ +func Xsqlite3PcacheCleanAll(tls *libc.TLS, pCache uintptr) { /* sqlite3.c:50965:21: */ var p uintptr for libc.AssignUintptr(&p, (*PCache)(unsafe.Pointer(pCache)).FpDirty) != uintptr(0) { @@ -29339,7 +29349,7 @@ func Xsqlite3PcacheCleanAll(tls *libc.TLS, pCache uintptr) { /* sqlite3.c:50955: } // Clear the PGHDR_NEED_SYNC and PGHDR_WRITEABLE flag from all dirty pages. -func Xsqlite3PcacheClearWritable(tls *libc.TLS, pCache uintptr) { /* sqlite3.c:50966:21: */ +func Xsqlite3PcacheClearWritable(tls *libc.TLS, pCache uintptr) { /* sqlite3.c:50976:21: */ var p uintptr for p = (*PCache)(unsafe.Pointer(pCache)).FpDirty; p != 0; p = (*PgHdr)(unsafe.Pointer(p)).FpDirtyNext { @@ -29349,7 +29359,7 @@ func Xsqlite3PcacheClearWritable(tls *libc.TLS, pCache uintptr) { /* sqlite3.c:5 } // Clear the PGHDR_NEED_SYNC flag from all dirty pages. -func Xsqlite3PcacheClearSyncFlags(tls *libc.TLS, pCache uintptr) { /* sqlite3.c:50978:21: */ +func Xsqlite3PcacheClearSyncFlags(tls *libc.TLS, pCache uintptr) { /* sqlite3.c:50988:21: */ var p uintptr for p = (*PCache)(unsafe.Pointer(pCache)).FpDirty; p != 0; p = (*PgHdr)(unsafe.Pointer(p)).FpDirtyNext { *(*U16)(unsafe.Pointer(p + 28)) &= libc.Uint16FromInt32(libc.CplInt32(PGHDR_NEED_SYNC)) @@ -29358,7 +29368,7 @@ func Xsqlite3PcacheClearSyncFlags(tls *libc.TLS, pCache uintptr) { /* sqlite3.c: } // Change the page number of page p to newPgno. -func Xsqlite3PcacheMove(tls *libc.TLS, p uintptr, newPgno Pgno) { /* sqlite3.c:50989:21: */ +func Xsqlite3PcacheMove(tls *libc.TLS, p uintptr, newPgno Pgno) { /* sqlite3.c:50999:21: */ var pCache uintptr = (*PgHdr)(unsafe.Pointer(p)).FpCache (*struct { @@ -29377,7 +29387,7 @@ func Xsqlite3PcacheMove(tls *libc.TLS, p uintptr, newPgno Pgno) { /* sqlite3.c:5 // If there is a reference to page 1 and the pgno parameter passed to this // function is 0, then the data area associated with page 1 is zeroed, but // the page object is not dropped. -func Xsqlite3PcacheTruncate(tls *libc.TLS, pCache uintptr, pgno Pgno) { /* sqlite3.c:51011:21: */ +func Xsqlite3PcacheTruncate(tls *libc.TLS, pCache uintptr, pgno Pgno) { /* sqlite3.c:51021:21: */ if (*PCache)(unsafe.Pointer(pCache)).FpCache != 0 { var p uintptr var pNext uintptr @@ -29411,19 +29421,19 @@ func Xsqlite3PcacheTruncate(tls *libc.TLS, pCache uintptr, pgno Pgno) { /* sqlit } // Close a cache. -func Xsqlite3PcacheClose(tls *libc.TLS, pCache uintptr) { /* sqlite3.c:51044:21: */ +func Xsqlite3PcacheClose(tls *libc.TLS, pCache uintptr) { /* sqlite3.c:51054:21: */ (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{Xsqlite3Config.Fpcache2.FxDestroy})).f(tls, (*PCache)(unsafe.Pointer(pCache)).FpCache) } // Discard the contents of the cache. -func Xsqlite3PcacheClear(tls *libc.TLS, pCache uintptr) { /* sqlite3.c:51053:21: */ +func Xsqlite3PcacheClear(tls *libc.TLS, pCache uintptr) { /* sqlite3.c:51063:21: */ Xsqlite3PcacheTruncate(tls, pCache, uint32(0)) } // Merge two lists of pages connected by pDirty and in pgno order. // Do not bother fixing the pDirtyPrev pointers. -func pcacheMergeDirtyList(tls *libc.TLS, pA uintptr, pB uintptr) uintptr { /* sqlite3.c:51061:14: */ +func pcacheMergeDirtyList(tls *libc.TLS, pA uintptr, pB uintptr) uintptr { /* sqlite3.c:51071:14: */ bp := tls.Alloc(40) defer tls.Free(40) @@ -29462,7 +29472,7 @@ func pcacheMergeDirtyList(tls *libc.TLS, pA uintptr, pB uintptr) uintptr { /* sq // there cannot be more than 31 buckets required by the merge sorter. // One extra bucket is added to catch overflow in case something // ever changes to make the previous sentence incorrect. -func pcacheSortDirtyList(tls *libc.TLS, pIn uintptr) uintptr { /* sqlite3.c:51098:14: */ +func pcacheSortDirtyList(tls *libc.TLS, pIn uintptr) uintptr { /* sqlite3.c:51108:14: */ bp := tls.Alloc(128) defer tls.Free(128) @@ -29505,7 +29515,7 @@ func pcacheSortDirtyList(tls *libc.TLS, pIn uintptr) uintptr { /* sqlite3.c:5109 } // Return a list of all dirty pages in the cache, sorted by page number. -func Xsqlite3PcacheDirtyList(tls *libc.TLS, pCache uintptr) uintptr { /* sqlite3.c:51133:22: */ +func Xsqlite3PcacheDirtyList(tls *libc.TLS, pCache uintptr) uintptr { /* sqlite3.c:51143:22: */ var p uintptr for p = (*PCache)(unsafe.Pointer(pCache)).FpDirty; p != 0; p = (*PgHdr)(unsafe.Pointer(p)).FpDirtyNext { (*PgHdr)(unsafe.Pointer(p)).FpDirty = (*PgHdr)(unsafe.Pointer(p)).FpDirtyNext @@ -29517,17 +29527,17 @@ func Xsqlite3PcacheDirtyList(tls *libc.TLS, pCache uintptr) uintptr { /* sqlite3 // // This is not the total number of pages referenced, but the sum of the // reference count for all pages. -func Xsqlite3PcacheRefCount(tls *libc.TLS, pCache uintptr) int32 { /* sqlite3.c:51147:20: */ +func Xsqlite3PcacheRefCount(tls *libc.TLS, pCache uintptr) int32 { /* sqlite3.c:51157:20: */ return (*PCache)(unsafe.Pointer(pCache)).FnRefSum } // Return the number of references to the page supplied as an argument. -func Xsqlite3PcachePageRefcount(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:51154:20: */ +func Xsqlite3PcachePageRefcount(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:51164:20: */ return int32((*PgHdr)(unsafe.Pointer(p)).FnRef) } // Return the total number of pages in the cache. -func Xsqlite3PcachePagecount(tls *libc.TLS, pCache uintptr) int32 { /* sqlite3.c:51161:20: */ +func Xsqlite3PcachePagecount(tls *libc.TLS, pCache uintptr) int32 { /* sqlite3.c:51171:20: */ return (*struct { f func(*libc.TLS, uintptr) int32 @@ -29535,7 +29545,7 @@ func Xsqlite3PcachePagecount(tls *libc.TLS, pCache uintptr) int32 { /* sqlite3.c } // Set the suggested cache-size value. -func Xsqlite3PcacheSetCachesize(tls *libc.TLS, pCache uintptr, mxPage int32) { /* sqlite3.c:51178:21: */ +func Xsqlite3PcacheSetCachesize(tls *libc.TLS, pCache uintptr, mxPage int32) { /* sqlite3.c:51188:21: */ (*PCache)(unsafe.Pointer(pCache)).FszCache = mxPage (*struct { @@ -29547,7 +29557,7 @@ func Xsqlite3PcacheSetCachesize(tls *libc.TLS, pCache uintptr, mxPage int32) { / // Set the suggested cache-spill value. Make no changes if if the // argument is zero. Return the effective cache-spill size, which will // be the larger of the szSpill and szCache. -func Xsqlite3PcacheSetSpillsize(tls *libc.TLS, p uintptr, mxPage int32) int32 { /* sqlite3.c:51190:20: */ +func Xsqlite3PcacheSetSpillsize(tls *libc.TLS, p uintptr, mxPage int32) int32 { /* sqlite3.c:51200:20: */ var res int32 if mxPage != 0 { @@ -29564,20 +29574,20 @@ func Xsqlite3PcacheSetSpillsize(tls *libc.TLS, p uintptr, mxPage int32) int32 { } // Free up as much memory as possible from the page cache. -func Xsqlite3PcacheShrink(tls *libc.TLS, pCache uintptr) { /* sqlite3.c:51207:21: */ +func Xsqlite3PcacheShrink(tls *libc.TLS, pCache uintptr) { /* sqlite3.c:51217:21: */ (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{Xsqlite3Config.Fpcache2.FxShrink})).f(tls, (*PCache)(unsafe.Pointer(pCache)).FpCache) } // Return the size of the header added by this middleware layer // in the page-cache hierarchy. -func Xsqlite3HeaderSizePcache(tls *libc.TLS) int32 { /* sqlite3.c:51216:20: */ +func Xsqlite3HeaderSizePcache(tls *libc.TLS) int32 { /* sqlite3.c:51226:20: */ return int32((uint32(unsafe.Sizeof(PgHdr{})) + uint32(7)) & libc.Uint32FromInt32(libc.CplInt32(7))) } // Return the number of dirty pages currently in the cache, as a percentage // of the configured cache size. -func Xsqlite3PCachePercentDirty(tls *libc.TLS, pCache uintptr) int32 { /* sqlite3.c:51222:20: */ +func Xsqlite3PCachePercentDirty(tls *libc.TLS, pCache uintptr) int32 { /* sqlite3.c:51232:20: */ var pDirty uintptr var nDirty int32 = 0 var nCache int32 = numberOfCachePages(tls, pCache) @@ -29692,7 +29702,7 @@ type PCache11 = struct { FapHash uintptr FpFree uintptr FpBulk uintptr -} /* sqlite3.c:51339:9 */ +} /* sqlite3.c:51349:9 */ //************* End of pcache.c ********************************************* //************* Begin file pcache1.c **************************************** @@ -29778,7 +29788,7 @@ type PCache11 = struct { // common workloads. // #include "sqliteInt.h" -type PCache1 = PCache11 /* sqlite3.c:51339:24 */ +type PCache1 = PCache11 /* sqlite3.c:51349:24 */ type PgHdr11 = struct { Fpage Sqlite3_pcache_page FiKey uint32 @@ -29788,12 +29798,12 @@ type PgHdr11 = struct { FpCache uintptr FpLruNext uintptr FpLruPrev uintptr -} /* sqlite3.c:51339:9 */ +} /* sqlite3.c:51349:9 */ -type PgHdr1 = PgHdr11 /* sqlite3.c:51340:23 */ -type PgFreeslot1 = struct{ FpNext uintptr } /* sqlite3.c:51341:9 */ +type PgHdr1 = PgHdr11 /* sqlite3.c:51350:23 */ +type PgFreeslot1 = struct{ FpNext uintptr } /* sqlite3.c:51351:9 */ -type PgFreeslot = PgFreeslot1 /* sqlite3.c:51341:27 */ +type PgFreeslot = PgFreeslot1 /* sqlite3.c:51351:27 */ type PGroup1 = struct { Fmutex uintptr FnMaxPage uint32 @@ -29801,9 +29811,9 @@ type PGroup1 = struct { FmxPinned uint32 FnPurgeable uint32 Flru PgHdr1 -} /* sqlite3.c:51339:9 */ +} /* sqlite3.c:51349:9 */ -type PGroup = PGroup1 /* sqlite3.c:51342:23 */ +type PGroup = PGroup1 /* sqlite3.c:51352:23 */ // Global data used by this cache. type PCacheGlobal = struct { @@ -29820,10 +29830,10 @@ type PCacheGlobal = struct { FpFree uintptr FnFreeSlot int32 FbUnderPressure int32 -} /* sqlite3.c:51459:19 */ +} /* sqlite3.c:51469:19 */ // Global data used by this cache. -var pcache1_g PCacheGlobal /* sqlite3.c:51483:3: */ +var pcache1_g PCacheGlobal /* sqlite3.c:51493:3: */ // All code in this file should access the global structure above via the // alias "pcache1". This ensures that the WSD emulation is used when @@ -29841,7 +29851,7 @@ var pcache1_g PCacheGlobal /* sqlite3.c:51483:3: */ // // This routine is called from sqlite3_initialize() and so it is guaranteed // to be serialized already. There is no need for further mutexing. -func Xsqlite3PCacheBufferSetup(tls *libc.TLS, pBuf uintptr, sz int32, n int32) { /* sqlite3.c:51518:21: */ +func Xsqlite3PCacheBufferSetup(tls *libc.TLS, pBuf uintptr, sz int32, n int32) { /* sqlite3.c:51528:21: */ if pcache1_g.FisInit != 0 { var p uintptr if pBuf == uintptr(0) { @@ -29874,7 +29884,7 @@ func Xsqlite3PCacheBufferSetup(tls *libc.TLS, pBuf uintptr, sz int32, n int32) { // Try to initialize the pCache->pFree and pCache->pBulk fields. Return // true if pCache->pFree ends up containing one or more free pages. -func pcache1InitBulk(tls *libc.TLS, pCache uintptr) int32 { /* sqlite3.c:51544:12: */ +func pcache1InitBulk(tls *libc.TLS, pCache uintptr) int32 { /* sqlite3.c:51554:12: */ var szBulk I64 var zBulk uintptr if pcache1_g.FnInitPage == 0 { @@ -29919,7 +29929,7 @@ func pcache1InitBulk(tls *libc.TLS, pCache uintptr) int32 { /* sqlite3.c:51544:1 // // Multiple threads can run this routine at the same time. Global variables // in pcache1 need to be protected via mutex. -func pcache1Alloc(tls *libc.TLS, nByte int32) uintptr { /* sqlite3.c:51587:13: */ +func pcache1Alloc(tls *libc.TLS, nByte int32) uintptr { /* sqlite3.c:51597:13: */ var p uintptr = uintptr(0) if nByte <= pcache1_g.FszSlot { @@ -29952,7 +29962,7 @@ func pcache1Alloc(tls *libc.TLS, nByte int32) uintptr { /* sqlite3.c:51587:13: * } // Free an allocated buffer obtained from pcache1Alloc(). -func pcache1Free(tls *libc.TLS, p uintptr) { /* sqlite3.c:51625:13: */ +func pcache1Free(tls *libc.TLS, p uintptr) { /* sqlite3.c:51635:13: */ if p == uintptr(0) { return } @@ -29982,7 +29992,7 @@ func pcache1Free(tls *libc.TLS, p uintptr) { /* sqlite3.c:51625:13: */ } // Return the size of a pcache allocation -func pcache1MemSize(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:51658:12: */ +func pcache1MemSize(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:51668:12: */ if p >= pcache1_g.FpStart && p < pcache1_g.FpEnd { return pcache1_g.FszSlot } else { @@ -29996,7 +30006,7 @@ func pcache1MemSize(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:51658:12: */ } // Allocate a new page object initially associated with cache pCache. -func pcache1AllocPage(tls *libc.TLS, pCache uintptr, benignMalloc int32) uintptr { /* sqlite3.c:51675:15: */ +func pcache1AllocPage(tls *libc.TLS, pCache uintptr, benignMalloc int32) uintptr { /* sqlite3.c:51685:15: */ var p uintptr = uintptr(0) var pPg uintptr @@ -30034,7 +30044,7 @@ func pcache1AllocPage(tls *libc.TLS, pCache uintptr, benignMalloc int32) uintptr } // Free a page object allocated by pcache1AllocPage(). -func pcache1FreePage(tls *libc.TLS, p uintptr) { /* sqlite3.c:51727:13: */ +func pcache1FreePage(tls *libc.TLS, p uintptr) { /* sqlite3.c:51737:13: */ var pCache uintptr pCache = (*PgHdr1)(unsafe.Pointer(p)).FpCache @@ -30051,13 +30061,13 @@ func pcache1FreePage(tls *libc.TLS, p uintptr) { /* sqlite3.c:51727:13: */ // Malloc function used by SQLite to obtain space from the buffer configured // using sqlite3_config(SQLITE_CONFIG_PAGECACHE) option. If no such buffer // exists, this function falls back to sqlite3Malloc(). -func Xsqlite3PageMalloc(tls *libc.TLS, sz int32) uintptr { /* sqlite3.c:51749:21: */ +func Xsqlite3PageMalloc(tls *libc.TLS, sz int32) uintptr { /* sqlite3.c:51759:21: */ // These allocations are never very large return pcache1Alloc(tls, sz) } // Free an allocated buffer obtained from sqlite3PageMalloc(). -func Xsqlite3PageFree(tls *libc.TLS, p uintptr) { /* sqlite3.c:51757:21: */ +func Xsqlite3PageFree(tls *libc.TLS, p uintptr) { /* sqlite3.c:51767:21: */ pcache1Free(tls, p) } @@ -30075,7 +30085,7 @@ func Xsqlite3PageFree(tls *libc.TLS, p uintptr) { /* sqlite3.c:51757:21: */ // under memory pressure, then again it is desirable to avoid // allocating a new page cache entry in order to avoid stressing // the heap even further. -func pcache1UnderMemoryPressure(tls *libc.TLS, pCache uintptr) int32 { /* sqlite3.c:51778:12: */ +func pcache1UnderMemoryPressure(tls *libc.TLS, pCache uintptr) int32 { /* sqlite3.c:51788:12: */ if pcache1_g.FnSlot != 0 && (*PCache1)(unsafe.Pointer(pCache)).FszPage+(*PCache1)(unsafe.Pointer(pCache)).FszExtra <= pcache1_g.FszSlot { return pcache1_g.FbUnderPressure } else { @@ -30091,7 +30101,7 @@ func pcache1UnderMemoryPressure(tls *libc.TLS, pCache uintptr) int32 { /* sqlite // as the first argument. // // The PCache mutex must be held when this function is called. -func pcache1ResizeHash(tls *libc.TLS, p uintptr) { /* sqlite3.c:51795:13: */ +func pcache1ResizeHash(tls *libc.TLS, p uintptr) { /* sqlite3.c:51805:13: */ var apNew uintptr var nNew uint32 var i uint32 @@ -30132,7 +30142,7 @@ func pcache1ResizeHash(tls *libc.TLS, p uintptr) { /* sqlite3.c:51795:13: */ // LRU list, then this function is a no-op. // // The PGroup mutex must be held when this function is called. -func pcache1PinPage(tls *libc.TLS, pPage uintptr) uintptr { /* sqlite3.c:51836:15: */ +func pcache1PinPage(tls *libc.TLS, pPage uintptr) uintptr { /* sqlite3.c:51846:15: */ (*PgHdr1)(unsafe.Pointer((*PgHdr1)(unsafe.Pointer(pPage)).FpLruPrev)).FpLruNext = (*PgHdr1)(unsafe.Pointer(pPage)).FpLruNext (*PgHdr1)(unsafe.Pointer((*PgHdr1)(unsafe.Pointer(pPage)).FpLruNext)).FpLruPrev = (*PgHdr1)(unsafe.Pointer(pPage)).FpLruPrev @@ -30149,7 +30159,7 @@ func pcache1PinPage(tls *libc.TLS, pPage uintptr) uintptr { /* sqlite3.c:51836:1 // Also free the page if freePage is true. // // The PGroup mutex must be held when this function is called. -func pcache1RemoveFromHash(tls *libc.TLS, pPage uintptr, freeFlag int32) { /* sqlite3.c:51861:13: */ +func pcache1RemoveFromHash(tls *libc.TLS, pPage uintptr, freeFlag int32) { /* sqlite3.c:51871:13: */ var h uint32 var pCache uintptr = (*PgHdr1)(unsafe.Pointer(pPage)).FpCache var pp uintptr @@ -30167,7 +30177,7 @@ func pcache1RemoveFromHash(tls *libc.TLS, pPage uintptr, freeFlag int32) { /* sq // If there are currently more than nMaxPage pages allocated, try // to recycle pages to reduce the number allocated to nMaxPage. -func pcache1EnforceMaxPage(tls *libc.TLS, pCache uintptr) { /* sqlite3.c:51879:13: */ +func pcache1EnforceMaxPage(tls *libc.TLS, pCache uintptr) { /* sqlite3.c:51889:13: */ var pGroup uintptr = (*PCache1)(unsafe.Pointer(pCache)).FpGroup var p uintptr @@ -30188,7 +30198,7 @@ func pcache1EnforceMaxPage(tls *libc.TLS, pCache uintptr) { /* sqlite3.c:51879:1 // criteria are unpinned before they are discarded. // // The PCache mutex must be held when this function is called. -func pcache1TruncateUnsafe(tls *libc.TLS, pCache uintptr, iLimit uint32) { /* sqlite3.c:51904:13: */ +func pcache1TruncateUnsafe(tls *libc.TLS, pCache uintptr, iLimit uint32) { /* sqlite3.c:51914:13: */ var h uint32 var iStop uint32 @@ -30236,7 +30246,7 @@ func pcache1TruncateUnsafe(tls *libc.TLS, pCache uintptr, iLimit uint32) { /* sq //******* sqlite3_pcache Methods ********************************************* // Implementation of the sqlite3_pcache.xInit method. -func pcache1Init(tls *libc.TLS, NotUsed uintptr) int32 { /* sqlite3.c:51955:12: */ +func pcache1Init(tls *libc.TLS, NotUsed uintptr) int32 { /* sqlite3.c:51965:12: */ _ = NotUsed libc.Xmemset(tls, uintptr(unsafe.Pointer(&pcache1_g)), 0, uint32(unsafe.Sizeof(pcache1_g))) @@ -30274,7 +30284,7 @@ func pcache1Init(tls *libc.TLS, NotUsed uintptr) int32 { /* sqlite3.c:51955:12: // Implementation of the sqlite3_pcache.xShutdown method. // Note that the static mutex allocated in xInit does // not need to be freed. -func pcache1Shutdown(tls *libc.TLS, NotUsed uintptr) { /* sqlite3.c:52008:13: */ +func pcache1Shutdown(tls *libc.TLS, NotUsed uintptr) { /* sqlite3.c:52018:13: */ _ = NotUsed libc.Xmemset(tls, uintptr(unsafe.Pointer(&pcache1_g)), 0, uint32(unsafe.Sizeof(pcache1_g))) @@ -30283,7 +30293,7 @@ func pcache1Shutdown(tls *libc.TLS, NotUsed uintptr) { /* sqlite3.c:52008:13: */ // Implementation of the sqlite3_pcache.xCreate method. // // Allocate a new cache. -func pcache1Create(tls *libc.TLS, szPage int32, szExtra int32, bPurgeable int32) uintptr { /* sqlite3.c:52022:23: */ +func pcache1Create(tls *libc.TLS, szPage int32, szExtra int32, bPurgeable int32) uintptr { /* sqlite3.c:52032:23: */ var pCache uintptr // The newly created page cache var pGroup uintptr // The group the new page cache will belong to var sz int32 // Bytes of memory required to allocate the new cache @@ -30333,7 +30343,7 @@ func pcache1Create(tls *libc.TLS, szPage int32, szExtra int32, bPurgeable int32) // Implementation of the sqlite3_pcache.xCachesize method. // // Configure the cache_size limit for a cache. -func pcache1Cachesize(tls *libc.TLS, p uintptr, nMax int32) { /* sqlite3.c:52072:13: */ +func pcache1Cachesize(tls *libc.TLS, p uintptr, nMax int32) { /* sqlite3.c:52082:13: */ var pCache uintptr = p var n U32 @@ -30356,7 +30366,7 @@ func pcache1Cachesize(tls *libc.TLS, p uintptr, nMax int32) { /* sqlite3.c:52072 // Implementation of the sqlite3_pcache.xShrink method. // // Free up as much memory as possible. -func pcache1Shrink(tls *libc.TLS, p uintptr) { /* sqlite3.c:52097:13: */ +func pcache1Shrink(tls *libc.TLS, p uintptr) { /* sqlite3.c:52107:13: */ var pCache uintptr = p if (*PCache1)(unsafe.Pointer(pCache)).FbPurgeable != 0 { var pGroup uintptr = (*PCache1)(unsafe.Pointer(pCache)).FpGroup @@ -30371,7 +30381,7 @@ func pcache1Shrink(tls *libc.TLS, p uintptr) { /* sqlite3.c:52097:13: */ } // Implementation of the sqlite3_pcache.xPagecount method. -func pcache1Pagecount(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:52114:12: */ +func pcache1Pagecount(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:52124:12: */ var n int32 var pCache uintptr = p Xsqlite3_mutex_enter(tls, (*PGroup)(unsafe.Pointer((*PCache1)(unsafe.Pointer(pCache)).FpGroup)).Fmutex) @@ -30386,7 +30396,7 @@ func pcache1Pagecount(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:52114:12: * // This steps are broken out into a separate procedure because they are // usually not needed, and by avoiding the stack initialization required // for these steps, the main pcache1Fetch() procedure can run faster. -func pcache1FetchStage2(tls *libc.TLS, pCache uintptr, iKey uint32, createFlag int32) uintptr { /* sqlite3.c:52132:31: */ +func pcache1FetchStage2(tls *libc.TLS, pCache uintptr, iKey uint32, createFlag int32) uintptr { /* sqlite3.c:52142:31: */ var nPinned uint32 var pGroup uintptr = (*PCache1)(unsafe.Pointer(pCache)).FpGroup var pPage uintptr = uintptr(0) @@ -30504,7 +30514,7 @@ func pcache1FetchStage2(tls *libc.TLS, pCache uintptr, iKey uint32, createFlag i // the general case. pcache1FetchNoMutex() is a faster implementation for // the common case where pGroup->mutex is NULL. The pcache1Fetch() wrapper // invokes the appropriate routine. -func pcache1FetchNoMutex(tls *libc.TLS, p uintptr, iKey uint32, createFlag int32) uintptr { /* sqlite3.c:52260:15: */ +func pcache1FetchNoMutex(tls *libc.TLS, p uintptr, iKey uint32, createFlag int32) uintptr { /* sqlite3.c:52270:15: */ var pCache uintptr = p var pPage uintptr = uintptr(0) @@ -30533,7 +30543,7 @@ func pcache1FetchNoMutex(tls *libc.TLS, p uintptr, iKey uint32, createFlag int32 return uintptr(0) } -func pcache1FetchWithMutex(tls *libc.TLS, p uintptr, iKey uint32, createFlag int32) uintptr { /* sqlite3.c:52290:15: */ +func pcache1FetchWithMutex(tls *libc.TLS, p uintptr, iKey uint32, createFlag int32) uintptr { /* sqlite3.c:52300:15: */ var pCache uintptr = p var pPage uintptr @@ -30544,7 +30554,7 @@ func pcache1FetchWithMutex(tls *libc.TLS, p uintptr, iKey uint32, createFlag int return pPage } -func pcache1Fetch(tls *libc.TLS, p uintptr, iKey uint32, createFlag int32) uintptr { /* sqlite3.c:52305:28: */ +func pcache1Fetch(tls *libc.TLS, p uintptr, iKey uint32, createFlag int32) uintptr { /* sqlite3.c:52315:28: */ var pCache uintptr = p if (*PGroup)(unsafe.Pointer((*PCache1)(unsafe.Pointer(pCache)).FpGroup)).Fmutex != 0 { @@ -30558,7 +30568,7 @@ func pcache1Fetch(tls *libc.TLS, p uintptr, iKey uint32, createFlag int32) uintp // Implementation of the sqlite3_pcache.xUnpin method. // // Mark a page as unpinned (eligible for asynchronous recycling). -func pcache1Unpin(tls *libc.TLS, p uintptr, pPg uintptr, reuseUnlikely int32) { /* sqlite3.c:52336:13: */ +func pcache1Unpin(tls *libc.TLS, p uintptr, pPg uintptr, reuseUnlikely int32) { /* sqlite3.c:52346:13: */ var pCache uintptr = p var pPage uintptr = pPg var pGroup uintptr = (*PCache1)(unsafe.Pointer(pCache)).FpGroup @@ -30583,7 +30593,7 @@ func pcache1Unpin(tls *libc.TLS, p uintptr, pPg uintptr, reuseUnlikely int32) { } // Implementation of the sqlite3_pcache.xRekey method. -func pcache1Rekey(tls *libc.TLS, p uintptr, pPg uintptr, iOld uint32, iNew uint32) { /* sqlite3.c:52371:13: */ +func pcache1Rekey(tls *libc.TLS, p uintptr, pPg uintptr, iOld uint32, iNew uint32) { /* sqlite3.c:52381:13: */ var pCache uintptr = p var pPage uintptr = pPg var pp uintptr @@ -30614,7 +30624,7 @@ func pcache1Rekey(tls *libc.TLS, p uintptr, pPg uintptr, iOld uint32, iNew uint3 // Discard all unpinned pages in the cache with a page number equal to // or greater than parameter iLimit. Any pinned pages with a page number // equal to or greater than iLimit are implicitly unpinned. -func pcache1Truncate(tls *libc.TLS, p uintptr, iLimit uint32) { /* sqlite3.c:52411:13: */ +func pcache1Truncate(tls *libc.TLS, p uintptr, iLimit uint32) { /* sqlite3.c:52421:13: */ var pCache uintptr = p Xsqlite3_mutex_enter(tls, (*PGroup)(unsafe.Pointer((*PCache1)(unsafe.Pointer(pCache)).FpGroup)).Fmutex) if iLimit <= (*PCache1)(unsafe.Pointer(pCache)).FiMaxKey { @@ -30627,7 +30637,7 @@ func pcache1Truncate(tls *libc.TLS, p uintptr, iLimit uint32) { /* sqlite3.c:524 // Implementation of the sqlite3_pcache.xDestroy method. // // Destroy a cache allocated using pcache1Create(). -func pcache1Destroy(tls *libc.TLS, p uintptr) { /* sqlite3.c:52426:13: */ +func pcache1Destroy(tls *libc.TLS, p uintptr) { /* sqlite3.c:52436:13: */ var pCache uintptr = p var pGroup uintptr = (*PCache1)(unsafe.Pointer(pCache)).FpGroup @@ -30650,7 +30660,7 @@ func pcache1Destroy(tls *libc.TLS, p uintptr) { /* sqlite3.c:52426:13: */ // This function is called during initialization (sqlite3_initialize()) to // install the default pluggable cache module, assuming the user has not // already provided an alternative. -func Xsqlite3PCacheSetDefault(tls *libc.TLS) { /* sqlite3.c:52449:21: */ +func Xsqlite3PCacheSetDefault(tls *libc.TLS) { /* sqlite3.c:52459:21: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -30670,16 +30680,16 @@ var defaultMethods1 = Sqlite3_pcache_methods2{ FxTruncate: 0, // xTruncate FxDestroy: 0, // xDestroy FxShrink: 0, // xShrink -} /* sqlite3.c:52450:40 */ +} /* sqlite3.c:52460:40 */ // Return the size of the header on each page of this PCACHE implementation. -func Xsqlite3HeaderSizePcache1(tls *libc.TLS) int32 { /* sqlite3.c:52471:20: */ +func Xsqlite3HeaderSizePcache1(tls *libc.TLS) int32 { /* sqlite3.c:52481:20: */ return int32((uint32(unsafe.Sizeof(PgHdr1{})) + uint32(7)) & libc.Uint32FromInt32(libc.CplInt32(7))) } // Return the global mutex used by this PCACHE implementation. The // sqlite3_status() routine needs access to this mutex. -func Xsqlite3Pcache1Mutex(tls *libc.TLS) uintptr { /* sqlite3.c:52477:30: */ +func Xsqlite3Pcache1Mutex(tls *libc.TLS) uintptr { /* sqlite3.c:52487:30: */ return pcache1_g.Fmutex } @@ -30690,7 +30700,7 @@ func Xsqlite3Pcache1Mutex(tls *libc.TLS) uintptr { /* sqlite3.c:52477:30: */ // nReq is the number of bytes of memory required. Once this much has // been released, the function returns. The return value is the total number // of bytes of memory released. -func Xsqlite3PcacheReleaseMemory(tls *libc.TLS, nReq int32) int32 { /* sqlite3.c:52491:20: */ +func Xsqlite3PcacheReleaseMemory(tls *libc.TLS, nReq int32) int32 { /* sqlite3.c:52501:20: */ var nFree int32 = 0 if Xsqlite3Config.FpPage == uintptr(0) { @@ -30807,7 +30817,7 @@ type RowSetChunk = struct { // Allocate a RowSet object. Return NULL if a memory allocation // error occurs. -func Xsqlite3RowSetInit(tls *libc.TLS, db uintptr) uintptr { /* sqlite3.c:52671:23: */ +func Xsqlite3RowSetInit(tls *libc.TLS, db uintptr) uintptr { /* sqlite3.c:52681:23: */ var p uintptr = Xsqlite3DbMallocRawNN(tls, db, uint64(unsafe.Sizeof(RowSet{}))) if p != 0 { var N int32 = Xsqlite3DbMallocSize(tls, db, p) @@ -30827,7 +30837,7 @@ func Xsqlite3RowSetInit(tls *libc.TLS, db uintptr) uintptr { /* sqlite3.c:52671: // Deallocate all chunks from a RowSet. This frees all memory that // the RowSet has allocated over its lifetime. This routine is // the destructor for the RowSet. -func Xsqlite3RowSetClear(tls *libc.TLS, pArg uintptr) { /* sqlite3.c:52693:21: */ +func Xsqlite3RowSetClear(tls *libc.TLS, pArg uintptr) { /* sqlite3.c:52703:21: */ var p uintptr = pArg var pChunk uintptr var pNextChunk uintptr @@ -30846,7 +30856,7 @@ func Xsqlite3RowSetClear(tls *libc.TLS, pArg uintptr) { /* sqlite3.c:52693:21: * // Deallocate all chunks from a RowSet. This frees all memory that // the RowSet has allocated over its lifetime. This routine is // the destructor for the RowSet. -func Xsqlite3RowSetDelete(tls *libc.TLS, pArg uintptr) { /* sqlite3.c:52713:21: */ +func Xsqlite3RowSetDelete(tls *libc.TLS, pArg uintptr) { /* sqlite3.c:52723:21: */ Xsqlite3RowSetClear(tls, pArg) Xsqlite3DbFree(tls, (*RowSet)(unsafe.Pointer(pArg)).Fdb, pArg) } @@ -30857,7 +30867,7 @@ func Xsqlite3RowSetDelete(tls *libc.TLS, pArg uintptr) { /* sqlite3.c:52713:21: // // In an OOM situation, the RowSet.db->mallocFailed flag is set and this // routine returns NULL. -func rowSetEntryAlloc(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:52726:27: */ +func rowSetEntryAlloc(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:52736:27: */ if int32((*RowSet)(unsafe.Pointer(p)).FnFresh) == 0 { //OPTIMIZATION-IF-FALSE // We could allocate a fresh RowSetEntry each time one is needed, but it @@ -30880,7 +30890,7 @@ func rowSetEntryAlloc(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:52726:27: // // The mallocFailed flag of the database connection is set if a // memory allocation fails. -func Xsqlite3RowSetInsert(tls *libc.TLS, p uintptr, rowid I64) { /* sqlite3.c:52751:21: */ +func Xsqlite3RowSetInsert(tls *libc.TLS, p uintptr, rowid I64) { /* sqlite3.c:52761:21: */ var pEntry uintptr // The new entry var pLast uintptr // The last prior entry @@ -30910,7 +30920,7 @@ func Xsqlite3RowSetInsert(tls *libc.TLS, p uintptr, rowid I64) { /* sqlite3.c:52 // // The input lists are connected via pRight pointers and are // assumed to each already be in sorted order. -func rowSetEntryMerge(tls *libc.TLS, pA uintptr, pB uintptr) uintptr { /* sqlite3.c:52782:27: */ +func rowSetEntryMerge(tls *libc.TLS, pA uintptr, pB uintptr) uintptr { /* sqlite3.c:52792:27: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -30945,7 +30955,7 @@ func rowSetEntryMerge(tls *libc.TLS, pA uintptr, pB uintptr) uintptr { /* sqlite // Sort all elements on the list of RowSetEntry objects into order of // increasing v. -func rowSetEntrySort(tls *libc.TLS, pIn uintptr) uintptr { /* sqlite3.c:52817:27: */ +func rowSetEntrySort(tls *libc.TLS, pIn uintptr) uintptr { /* sqlite3.c:52827:27: */ bp := tls.Alloc(160) defer tls.Free(160) @@ -30981,7 +30991,7 @@ func rowSetEntrySort(tls *libc.TLS, pIn uintptr) uintptr { /* sqlite3.c:52817:27 // The input, pIn, is a binary tree (or subtree) of RowSetEntry objects. // Convert this tree into a linked list connected by the pRight pointers // and return pointers to the first and last elements of the new list. -func rowSetTreeToList(tls *libc.TLS, pIn uintptr, ppFirst uintptr, ppLast uintptr) { /* sqlite3.c:52846:13: */ +func rowSetTreeToList(tls *libc.TLS, pIn uintptr, ppFirst uintptr, ppLast uintptr) { /* sqlite3.c:52856:13: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -31012,7 +31022,7 @@ func rowSetTreeToList(tls *libc.TLS, pIn uintptr, ppFirst uintptr, ppLast uintpt // and leave *ppList set to NULL. // // Return a pointer to the root of the constructed binary tree. -func rowSetNDeepTree(tls *libc.TLS, ppList uintptr, iDepth int32) uintptr { /* sqlite3.c:52881:27: */ +func rowSetNDeepTree(tls *libc.TLS, ppList uintptr, iDepth int32) uintptr { /* sqlite3.c:52891:27: */ var p uintptr // Root of the new tree var pLeft uintptr // Left subtree if *(*uintptr)(unsafe.Pointer(ppList)) == uintptr(0) { //OPTIMIZATION-IF-TRUE @@ -31043,7 +31053,7 @@ func rowSetNDeepTree(tls *libc.TLS, ppList uintptr, iDepth int32) uintptr { /* s // Convert a sorted list of elements into a binary tree. Make the tree // as deep as it needs to be in order to contain the entire list. -func rowSetListToTree(tls *libc.TLS, pList uintptr) uintptr { /* sqlite3.c:52917:27: */ +func rowSetListToTree(tls *libc.TLS, pList uintptr) uintptr { /* sqlite3.c:52927:27: */ bp := tls.Alloc(4) defer tls.Free(4) *(*uintptr)(unsafe.Pointer(bp)) = pList @@ -31076,7 +31086,7 @@ func rowSetListToTree(tls *libc.TLS, pList uintptr) uintptr { /* sqlite3.c:52917 // been used. Older versions of RowSet allowed that, but as the // capability was not used by the code generator, it was removed // for code economy. -func Xsqlite3RowSetNext(tls *libc.TLS, p uintptr, pRowid uintptr) int32 { /* sqlite3.c:52949:20: */ +func Xsqlite3RowSetNext(tls *libc.TLS, p uintptr, pRowid uintptr) int32 { /* sqlite3.c:52959:20: */ // Cannot be used with sqlite3RowSetText() @@ -31109,7 +31119,7 @@ func Xsqlite3RowSetNext(tls *libc.TLS, p uintptr, pRowid uintptr) int32 { /* sql // If this is the first test of a new batch and if there exist entries // on pRowSet->pEntry, then sort those entries into the forest at // pRowSet->pForest so that they can be tested. -func Xsqlite3RowSetTest(tls *libc.TLS, pRowSet uintptr, iBatch int32, iRowid Sqlite3_int64) int32 { /* sqlite3.c:52983:20: */ +func Xsqlite3RowSetTest(tls *libc.TLS, pRowSet uintptr, iBatch int32, iRowid Sqlite3_int64) int32 { /* sqlite3.c:52993:20: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -31292,7 +31302,7 @@ type Wal1 = struct { // Connection to a write-ahead log (WAL) file. // There is one object of this type for each pager. -type Wal = Wal1 /* sqlite3.c:53125:20 */ +type Wal = Wal1 /* sqlite3.c:53135:20 */ //************* End of wal.h ************************************************ //************* Continuing where we left off in pager.c ********************* @@ -32060,7 +32070,7 @@ type PagerSavepoint1 = struct { // immediately following the last journal record written into the main // journal before the journal-header. This is required during savepoint // rollback (see pagerPlaybackSavepoint()). -type PagerSavepoint = PagerSavepoint1 /* sqlite3.c:53636:31 */ +type PagerSavepoint = PagerSavepoint1 /* sqlite3.c:53646:31 */ // Indexes for use with Pager.aStat[]. The Pager.aStat[] array contains // the values accessed by passing SQLITE_DBSTATUS_CACHE_HIT, CACHE_MISS @@ -32093,11 +32103,11 @@ type PagerSavepoint = PagerSavepoint1 /* sqlite3.c:53636:31 */ // is different for every journal, we minimize that risk. var aJournalMagic = [8]uint8{ uint8(0xd9), uint8(0xd5), uint8(0x05), uint8(0xf9), uint8(0x20), uint8(0xa1), uint8(0x63), uint8(0xd7), -} /* sqlite3.c:53958:28 */ +} /* sqlite3.c:53968:28 */ // Set the Pager.xGet method for the appropriate routine used to fetch // content from the pager. -func setGetterMethod(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:54251:13: */ +func setGetterMethod(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:54261:13: */ if (*Pager)(unsafe.Pointer(pPager)).FerrCode != 0 { (*Pager)(unsafe.Pointer(pPager)).FxGet = *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, Pgno, uintptr, int32) int32 @@ -32120,7 +32130,7 @@ func setGetterMethod(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:54251:13: */ // * The page-number is less than or equal to PagerSavepoint.nOrig, and // * The bit corresponding to the page-number is not set in // PagerSavepoint.pInSavepoint. -func subjRequiresPage(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:54272:12: */ +func subjRequiresPage(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:54282:12: */ var pPager uintptr = (*PgHdr)(unsafe.Pointer(pPg)).FpPager var p uintptr var pgno Pgno = (*PgHdr)(unsafe.Pointer(pPg)).Fpgno @@ -32142,7 +32152,7 @@ func subjRequiresPage(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:54272:12: // error code is something goes wrong. // // All values are stored on disk as big-endian. -func read32bits(tls *libc.TLS, fd uintptr, offset I64, pRes uintptr) int32 { /* sqlite3.c:54305:12: */ +func read32bits(tls *libc.TLS, fd uintptr, offset I64, pRes uintptr) int32 { /* sqlite3.c:54315:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -32159,7 +32169,7 @@ func read32bits(tls *libc.TLS, fd uintptr, offset I64, pRes uintptr) int32 { /* // Write a 32-bit integer into the given file descriptor. Return SQLITE_OK // on success or an error code is something goes wrong. -func write32bits(tls *libc.TLS, fd uintptr, offset I64, val U32) int32 { /* sqlite3.c:54324:12: */ +func write32bits(tls *libc.TLS, fd uintptr, offset I64, val U32) int32 { /* sqlite3.c:54334:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -32176,7 +32186,7 @@ func write32bits(tls *libc.TLS, fd uintptr, offset I64, val U32) int32 { /* sqli // Except, if Pager.eLock is set to UNKNOWN_LOCK when this function is // called, do not modify it. See the comment above the #define of // UNKNOWN_LOCK for an explanation of this. -func pagerUnlockDb(tls *libc.TLS, pPager uintptr, eLock int32) int32 { /* sqlite3.c:54339:12: */ +func pagerUnlockDb(tls *libc.TLS, pPager uintptr, eLock int32) int32 { /* sqlite3.c:54349:12: */ var rc int32 = SQLITE_OK if (*Sqlite3_file)(unsafe.Pointer((*Pager)(unsafe.Pointer(pPager)).Ffd)).FpMethods != uintptr(0) { @@ -32203,7 +32213,7 @@ func pagerUnlockDb(tls *libc.TLS, pPager uintptr, eLock int32) int32 { /* sqlite // called, do not modify it unless the new locking state is EXCLUSIVE_LOCK. // See the comment above the #define of UNKNOWN_LOCK for an explanation // of this. -func pagerLockDb(tls *libc.TLS, pPager uintptr, eLock int32) int32 { /* sqlite3.c:54367:12: */ +func pagerLockDb(tls *libc.TLS, pPager uintptr, eLock int32) int32 { /* sqlite3.c:54377:12: */ var rc int32 = SQLITE_OK if int32((*Pager)(unsafe.Pointer(pPager)).FeLock) < eLock || int32((*Pager)(unsafe.Pointer(pPager)).FeLock) == EXCLUSIVE_LOCK+1 { @@ -32237,7 +32247,7 @@ func pagerLockDb(tls *libc.TLS, pPager uintptr, eLock int32) int32 { /* sqlite3. // returned in this case. // // If neither optimization can be used, 0 is returned. -func jrnlBufferSize(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:54400:12: */ +func jrnlBufferSize(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:54410:12: */ _ = pPager @@ -32271,7 +32281,7 @@ func jrnlBufferSize(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:54400:12 // // If an error occurs while reading from the journal file, an SQLite // error code is returned. -func readSuperJournal(tls *libc.TLS, pJrnl uintptr, zSuper uintptr, nSuper U32) int32 { /* sqlite3.c:54505:12: */ +func readSuperJournal(tls *libc.TLS, pJrnl uintptr, zSuper uintptr, nSuper U32) int32 { /* sqlite3.c:54515:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -32330,7 +32340,7 @@ func readSuperJournal(tls *libc.TLS, pJrnl uintptr, zSuper uintptr, nSuper U32) // 100 512 // 2000 2048 // -func journalHdrOffset(tls *libc.TLS, pPager uintptr) I64 { /* sqlite3.c:54561:12: */ +func journalHdrOffset(tls *libc.TLS, pPager uintptr) I64 { /* sqlite3.c:54571:12: */ var offset I64 = int64(0) var c I64 = (*Pager)(unsafe.Pointer(pPager)).FjournalOff if c != 0 { @@ -32359,7 +32369,7 @@ func journalHdrOffset(tls *libc.TLS, pPager uintptr) I64 { /* sqlite3.c:54561:12 // // If an IO error occurs, abandon processing and return the IO error code. // Otherwise, return SQLITE_OK. -func zeroJournalHdr(tls *libc.TLS, pPager uintptr, doTruncate int32) int32 { /* sqlite3.c:54594:12: */ +func zeroJournalHdr(tls *libc.TLS, pPager uintptr, doTruncate int32) int32 { /* sqlite3.c:54604:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -32394,7 +32404,7 @@ func zeroJournalHdr(tls *libc.TLS, pPager uintptr, doTruncate int32) int32 { /* return rc } -var zeroHdr = [28]int8{0: int8(0)} /* sqlite3.c:54605:25 */ +var zeroHdr = [28]int8{0: int8(0)} /* sqlite3.c:54615:25 */ // The journal file must be open when this routine is called. A journal // header (JOURNAL_HDR_SZ bytes) is written into the journal file at the @@ -32409,7 +32419,7 @@ var zeroHdr = [28]int8{0: int8(0)} /* sqlite3.c:54605:25 */ // - 4 bytes: Database page size. // // Followed by (JOURNAL_HDR_SZ - 28) bytes of unused space. -func writeJournalHdr(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:54644:12: */ +func writeJournalHdr(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:54654:12: */ var rc int32 = SQLITE_OK // Return code var zHeader uintptr = (*Pager)(unsafe.Pointer(pPager)).FpTmpSpace // Temporary space used to build header var nHeader U32 = U32((*Pager)(unsafe.Pointer(pPager)).FpageSize) // Size of buffer pointed to by zHeader @@ -32519,7 +32529,7 @@ func writeJournalHdr(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:54644:1 // If the journal header file appears to be corrupted, SQLITE_DONE is // returned and *pNRec and *PDbSize are undefined. If JOURNAL_HDR_SZ bytes // cannot be read from the journal file an error code is returned. -func readJournalHdr(tls *libc.TLS, pPager uintptr, isHot int32, journalSize I64, pNRec uintptr, pDbSize uintptr) int32 { /* sqlite3.c:54762:12: */ +func readJournalHdr(tls *libc.TLS, pPager uintptr, isHot int32, journalSize I64, pNRec uintptr, pDbSize uintptr) int32 { /* sqlite3.c:54772:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -32629,7 +32639,7 @@ func readJournalHdr(tls *libc.TLS, pPager uintptr, isHot int32, journalSize I64, // // If zSuper is a NULL pointer (occurs for a single database transaction), // this call is a no-op. -func writeSuperJournal(tls *libc.TLS, pPager uintptr, zSuper uintptr) int32 { /* sqlite3.c:54887:12: */ +func writeSuperJournal(tls *libc.TLS, pPager uintptr, zSuper uintptr) int32 { /* sqlite3.c:54897:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -32689,21 +32699,21 @@ func writeSuperJournal(tls *libc.TLS, pPager uintptr, zSuper uintptr) int32 { /* } // Discard the entire contents of the in-memory page-cache. -func pager_reset(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:54955:13: */ +func pager_reset(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:54965:13: */ (*Pager)(unsafe.Pointer(pPager)).FiDataVersion++ Xsqlite3BackupRestart(tls, (*Pager)(unsafe.Pointer(pPager)).FpBackup) Xsqlite3PcacheClear(tls, (*Pager)(unsafe.Pointer(pPager)).FpPCache) } // Return the pPager->iDataVersion value -func Xsqlite3PagerDataVersion(tls *libc.TLS, pPager uintptr) U32 { /* sqlite3.c:54964:20: */ +func Xsqlite3PagerDataVersion(tls *libc.TLS, pPager uintptr) U32 { /* sqlite3.c:54974:20: */ return (*Pager)(unsafe.Pointer(pPager)).FiDataVersion } // Free all structures in the Pager.aSavepoint[] array and set both // Pager.aSavepoint and Pager.nSavepoint to zero. Close the sub-journal // if it is open and the pager is not in exclusive mode. -func releaseAllSavepoints(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:54973:13: */ +func releaseAllSavepoints(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:54983:13: */ var ii int32 // Iterator for looping through Pager.aSavepoint for ii = 0; ii < (*Pager)(unsafe.Pointer(pPager)).FnSavepoint; ii++ { Xsqlite3BitvecDestroy(tls, (*PagerSavepoint)(unsafe.Pointer((*Pager)(unsafe.Pointer(pPager)).FaSavepoint+uintptr(ii)*48)).FpInSavepoint) @@ -32720,7 +32730,7 @@ func releaseAllSavepoints(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:54973:13 // Set the bit number pgno in the PagerSavepoint.pInSavepoint // bitvecs of all open savepoints. Return SQLITE_OK if successful // or SQLITE_NOMEM if a malloc failure occurs. -func addToSavepointBitvecs(tls *libc.TLS, pPager uintptr, pgno Pgno) int32 { /* sqlite3.c:54992:12: */ +func addToSavepointBitvecs(tls *libc.TLS, pPager uintptr, pgno Pgno) int32 { /* sqlite3.c:55002:12: */ var ii int32 // Loop counter var rc int32 = SQLITE_OK // Result code @@ -32749,7 +32759,7 @@ func addToSavepointBitvecs(tls *libc.TLS, pPager uintptr, pgno Pgno) int32 { /* // or not, any journal file left in the file-system will be treated // as a hot-journal and rolled back the next time a read-transaction // is opened (by this or by any other connection). -func pager_unlock(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:55024:13: */ +func pager_unlock(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:55034:13: */ Xsqlite3BitvecDestroy(tls, (*Pager)(unsafe.Pointer(pPager)).FpInJournal) (*Pager)(unsafe.Pointer(pPager)).FpInJournal = uintptr(0) @@ -32841,7 +32851,7 @@ func pager_unlock(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:55024:13: */ // the persistent error occurred, then the rollback journal may need // to be replayed to restore the contents of the database file (as if // it were a hot-journal). -func pager_error(tls *libc.TLS, pPager uintptr, rc int32) int32 { /* sqlite3.c:55121:12: */ +func pager_error(tls *libc.TLS, pPager uintptr, rc int32) int32 { /* sqlite3.c:55131:12: */ var rc2 int32 = rc & 0xff if rc2 == SQLITE_FULL || rc2 == SQLITE_IOERR { @@ -32866,7 +32876,7 @@ func pager_error(tls *libc.TLS, pPager uintptr, rc int32) int32 { /* sqlite3.c:5 // file has been created already (via a spill on pagerStress()) and // when the number of dirty pages in memory exceeds 25% of the total // cache size. -func pagerFlushOnCommit(tls *libc.TLS, pPager uintptr, bCommit int32) int32 { /* sqlite3.c:55155:12: */ +func pagerFlushOnCommit(tls *libc.TLS, pPager uintptr, bCommit int32) int32 { /* sqlite3.c:55165:12: */ if int32((*Pager)(unsafe.Pointer(pPager)).FtempFile) == 0 { return 1 } @@ -32930,7 +32940,7 @@ func pagerFlushOnCommit(tls *libc.TLS, pPager uintptr, bCommit int32) int32 { /* // unlock operation fails as well, then the first error code related // to the first error encountered (the journal finalization one) is // returned. -func pager_end_transaction(tls *libc.TLS, pPager uintptr, hasSuper int32, bCommit int32) int32 { /* sqlite3.c:55215:12: */ +func pager_end_transaction(tls *libc.TLS, pPager uintptr, hasSuper int32, bCommit int32) int32 { /* sqlite3.c:55225:12: */ var rc int32 = SQLITE_OK // Error code from journal finalization operation var rc2 int32 = SQLITE_OK // Error code from db file unlock operation @@ -33057,7 +33067,7 @@ func pager_end_transaction(tls *libc.TLS, pPager uintptr, hasSuper int32, bCommi // malloc error occurs during a rollback, then this will itself cause // the pager to enter the ERROR state. Which will be cleared by the // call to pager_unlock(), as described above. -func pagerUnlockAndRollback(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:55362:13: */ +func pagerUnlockAndRollback(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:55372:13: */ if int32((*Pager)(unsafe.Pointer(pPager)).FeState) != PAGER_ERROR && int32((*Pager)(unsafe.Pointer(pPager)).FeState) != PAGER_OPEN { if int32((*Pager)(unsafe.Pointer(pPager)).FeState) >= PAGER_WRITER_LOCKED { @@ -33089,7 +33099,7 @@ func pagerUnlockAndRollback(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:55362: // It is much less likely that the two ends of the journal record will be // correct and the middle be corrupt. Thus, this "checksum" scheme, // though fast and simple, catches the mostly likely kind of corruption. -func pager_cksum(tls *libc.TLS, pPager uintptr, aData uintptr) U32 { /* sqlite3.c:55396:12: */ +func pager_cksum(tls *libc.TLS, pPager uintptr, aData uintptr) U32 { /* sqlite3.c:55406:12: */ var cksum U32 = (*Pager)(unsafe.Pointer(pPager)).FcksumInit // Checksum value to return var i int32 = int32((*Pager)(unsafe.Pointer(pPager)).FpageSize - int64(200)) // Loop counter for i > 0 { @@ -33134,7 +33144,7 @@ func pager_cksum(tls *libc.TLS, pPager uintptr, aData uintptr) U32 { /* sqlite3. // If this is a savepoint rollback, then memory may have to be dynamically // allocated by this function. If this is the case and an allocation fails, // SQLITE_NOMEM is returned. -func pager_playback_one_page(tls *libc.TLS, pPager uintptr, pOffset uintptr, pDone uintptr, isMainJrnl int32, isSavepnt int32) int32 { /* sqlite3.c:55443:12: */ +func pager_playback_one_page(tls *libc.TLS, pPager uintptr, pOffset uintptr, pDone uintptr, isMainJrnl int32, isSavepnt int32) int32 { /* sqlite3.c:55453:12: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -33368,7 +33378,7 @@ func pager_playback_one_page(tls *libc.TLS, pPager uintptr, pOffset uintptr, pDo // the entire contents of the super-journal file. This could be // a couple of kilobytes or so - potentially larger than the page // size. -func pager_delsuper(tls *libc.TLS, pPager uintptr, zSuper uintptr) int32 { /* sqlite3.c:55690:12: */ +func pager_delsuper(tls *libc.TLS, pPager uintptr, zSuper uintptr) int32 { /* sqlite3.c:55700:12: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -33534,7 +33544,7 @@ __14: // // If successful, return SQLITE_OK. If an IO error occurs while modifying // the database file, return the error code to the caller. -func pager_truncate(tls *libc.TLS, pPager uintptr, nPage Pgno) int32 { /* sqlite3.c:55808:12: */ +func pager_truncate(tls *libc.TLS, pPager uintptr, nPage Pgno) int32 { /* sqlite3.c:55818:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -33569,7 +33579,7 @@ func pager_truncate(tls *libc.TLS, pPager uintptr, nPage Pgno) int32 { /* sqlite // Return a sanitized version of the sector-size of OS file pFile. The // return value is guaranteed to lie between 32 and MAX_SECTOR_SIZE. -func Xsqlite3SectorSize(tls *libc.TLS, pFile uintptr) int32 { /* sqlite3.c:55844:20: */ +func Xsqlite3SectorSize(tls *libc.TLS, pFile uintptr) int32 { /* sqlite3.c:55854:20: */ var iRet int32 = Xsqlite3OsSectorSize(tls, pFile) if iRet < 32 { iRet = 512 @@ -33601,7 +33611,7 @@ func Xsqlite3SectorSize(tls *libc.TLS, pFile uintptr) int32 { /* sqlite3.c:55844 // (that is what POWERSAFE_OVERWRITE means), so we minimize the sector // size. For backwards compatibility of the rollback journal file format, // we cannot reduce the effective sector size below 512. -func setSectorSize(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:55878:13: */ +func setSectorSize(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:55888:13: */ if (*Pager)(unsafe.Pointer(pPager)).FtempFile != 0 || Xsqlite3OsDeviceCharacteristics(tls, (*Pager)(unsafe.Pointer(pPager)).Ffd)&SQLITE_IOCAP_POWERSAFE_OVERWRITE != 0 { @@ -33669,7 +33679,7 @@ func setSectorSize(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:55878:13: */ // If the journal really is hot, reset the pager cache prior rolling // back any content. If the journal is merely persistent, no reset is // needed. -func pager_playback(tls *libc.TLS, pPager uintptr, isHot int32) int32 { /* sqlite3.c:55951:12: */ +func pager_playback(tls *libc.TLS, pPager uintptr, isHot int32) int32 { /* sqlite3.c:55961:12: */ bp := tls.Alloc(40) defer tls.Free(40) @@ -33960,7 +33970,7 @@ __28: // // If an IO error occurs, then the IO error is returned to the caller. // Otherwise, SQLITE_OK is returned. -func readDbPage(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:56171:12: */ +func readDbPage(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:56181:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -34014,7 +34024,7 @@ func readDbPage(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:56171:12: */ // This is an unconditional update. See also the pager_incr_changecounter() // routine which only updates the change-counter if the update is actually // needed, as determined by the pPager->changeCountDone state variable. -func pager_write_changecounter(tls *libc.TLS, pPg uintptr) { /* sqlite3.c:56234:13: */ +func pager_write_changecounter(tls *libc.TLS, pPg uintptr) { /* sqlite3.c:56244:13: */ var change_counter U32 if pPg == uintptr(0) { return @@ -34041,7 +34051,7 @@ func pager_write_changecounter(tls *libc.TLS, pPg uintptr) { /* sqlite3.c:56234: // references, the page content is reloaded from the database. If the // attempt to reload content from the database is required and fails, // return an SQLite error code. Otherwise, SQLITE_OK. -func pagerUndoCallback(tls *libc.TLS, pCtx uintptr, iPg Pgno) int32 { /* sqlite3.c:56262:12: */ +func pagerUndoCallback(tls *libc.TLS, pCtx uintptr, iPg Pgno) int32 { /* sqlite3.c:56272:12: */ var rc int32 = SQLITE_OK var pPager uintptr = pCtx var pPg uintptr @@ -34072,7 +34082,7 @@ func pagerUndoCallback(tls *libc.TLS, pCtx uintptr, iPg Pgno) int32 { /* sqlite3 } // This function is called to rollback a transaction on a WAL database. -func pagerRollbackWal(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:56297:12: */ +func pagerRollbackWal(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:56307:12: */ var rc int32 // Return Code var pList uintptr // List of dirty pages to revert @@ -34103,7 +34113,7 @@ func pagerRollbackWal(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:56297: // // The list of pages passed into this routine is always sorted by page number. // Hence, if page 1 appears anywhere on the list, it will be the first page. -func pagerWalFrames(tls *libc.TLS, pPager uintptr, pList uintptr, nTruncate Pgno, isCommit int32) int32 { /* sqlite3.c:56329:12: */ +func pagerWalFrames(tls *libc.TLS, pPager uintptr, pList uintptr, nTruncate Pgno, isCommit int32) int32 { /* sqlite3.c:56339:12: */ bp := tls.Alloc(4) defer tls.Free(4) *(*uintptr)(unsafe.Pointer(bp)) = pList @@ -34151,7 +34161,7 @@ func pagerWalFrames(tls *libc.TLS, pPager uintptr, pList uintptr, nTruncate Pgno // makes a snapshot of the database at the current point in time and preserves // that snapshot for use by the reader in spite of concurrently changes by // other writers or checkpointers. -func pagerBeginReadTransaction(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:56396:12: */ +func pagerBeginReadTransaction(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:56406:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -34182,7 +34192,7 @@ func pagerBeginReadTransaction(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3 // If no error occurs, SQLITE_OK is returned and the size of the database // in pages is stored in *pnPage. Otherwise, an error code (perhaps // SQLITE_IOERR_FSTAT) is returned and *pnPage is left unmodified. -func pagerPagecount(tls *libc.TLS, pPager uintptr, pnPage uintptr) int32 { /* sqlite3.c:56429:12: */ +func pagerPagecount(tls *libc.TLS, pPager uintptr, pnPage uintptr) int32 { /* sqlite3.c:56439:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -34236,7 +34246,7 @@ func pagerPagecount(tls *libc.TLS, pPager uintptr, pnPage uintptr) int32 { /* sq // a WAL on a none-empty database, this ensures there is no race condition // between the xAccess() below and an xDelete() being executed by some // other connection. -func pagerOpenWalIfPresent(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:56489:12: */ +func pagerOpenWalIfPresent(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:56499:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -34304,7 +34314,7 @@ func pagerOpenWalIfPresent(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:5 // is reset to the value that it held at the start of the savepoint // (or transaction). No page with a page-number greater than this value // is played back. If one is encountered it is simply skipped. -func pagerPlaybackSavepoint(tls *libc.TLS, pPager uintptr, pSavepoint uintptr) int32 { /* sqlite3.c:56556:12: */ +func pagerPlaybackSavepoint(tls *libc.TLS, pPager uintptr, pSavepoint uintptr) int32 { /* sqlite3.c:56566:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -34413,18 +34423,18 @@ func pagerPlaybackSavepoint(tls *libc.TLS, pPager uintptr, pSavepoint uintptr) i // Change the maximum number of in-memory pages that are allowed // before attempting to recycle clean and unused pages. -func Xsqlite3PagerSetCachesize(tls *libc.TLS, pPager uintptr, mxPage int32) { /* sqlite3.c:56668:21: */ +func Xsqlite3PagerSetCachesize(tls *libc.TLS, pPager uintptr, mxPage int32) { /* sqlite3.c:56678:21: */ Xsqlite3PcacheSetCachesize(tls, (*Pager)(unsafe.Pointer(pPager)).FpPCache, mxPage) } // Change the maximum number of in-memory pages that are allowed // before attempting to spill pages to journal. -func Xsqlite3PagerSetSpillsize(tls *libc.TLS, pPager uintptr, mxPage int32) int32 { /* sqlite3.c:56676:20: */ +func Xsqlite3PagerSetSpillsize(tls *libc.TLS, pPager uintptr, mxPage int32) int32 { /* sqlite3.c:56686:20: */ return Xsqlite3PcacheSetSpillsize(tls, (*Pager)(unsafe.Pointer(pPager)).FpPCache, mxPage) } // Invoke SQLITE_FCNTL_MMAP_SIZE based on the current value of szMmap. -func pagerFixMaplimit(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:56683:13: */ +func pagerFixMaplimit(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:56693:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -34440,13 +34450,13 @@ func pagerFixMaplimit(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:56683:13: */ } // Change the maximum size of any memory mapping made of the database file. -func Xsqlite3PagerSetMmapLimit(tls *libc.TLS, pPager uintptr, szMmap Sqlite3_int64) { /* sqlite3.c:56699:21: */ +func Xsqlite3PagerSetMmapLimit(tls *libc.TLS, pPager uintptr, szMmap Sqlite3_int64) { /* sqlite3.c:56709:21: */ (*Pager)(unsafe.Pointer(pPager)).FszMmap = szMmap pagerFixMaplimit(tls, pPager) } // Free as much memory as possible from the pager. -func Xsqlite3PagerShrink(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:56707:21: */ +func Xsqlite3PagerShrink(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:56717:21: */ Xsqlite3PcacheShrink(tls, (*Pager)(unsafe.Pointer(pPager)).FpPCache) } @@ -34499,7 +34509,7 @@ func Xsqlite3PagerShrink(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:56707:21: // // Numeric values associated with these states are OFF==1, NORMAL=2, // and FULL=3. -func Xsqlite3PagerSetFlags(tls *libc.TLS, pPager uintptr, pgFlags uint32) { /* sqlite3.c:56763:21: */ +func Xsqlite3PagerSetFlags(tls *libc.TLS, pPager uintptr, pgFlags uint32) { /* sqlite3.c:56773:21: */ var level uint32 = pgFlags & uint32(PAGER_SYNCHRONOUS_MASK) if (*Pager)(unsafe.Pointer(pPager)).FtempFile != 0 { (*Pager)(unsafe.Pointer(pPager)).FnoSync = U8(1) @@ -34563,7 +34573,7 @@ func Xsqlite3PagerSetFlags(tls *libc.TLS, pPager uintptr, pgFlags uint32) { /* s // SQLITE_OPEN_CREATE // SQLITE_OPEN_EXCLUSIVE // SQLITE_OPEN_DELETEONCLOSE -func pagerOpentemp(tls *libc.TLS, pPager uintptr, pFile uintptr, vfsFlags int32) int32 { /* sqlite3.c:56823:12: */ +func pagerOpentemp(tls *libc.TLS, pPager uintptr, pFile uintptr, vfsFlags int32) int32 { /* sqlite3.c:56833:12: */ var rc int32 // Return code vfsFlags = vfsFlags | (SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE | SQLITE_OPEN_EXCLUSIVE | SQLITE_OPEN_DELETEONCLOSE) @@ -34591,7 +34601,7 @@ func pagerOpentemp(tls *libc.TLS, pPager uintptr, pFile uintptr, vfsFlags int32) // If the busy-handler callback returns non-zero, the lock is // retried. If it returns zero, then the SQLITE_BUSY error is // returned to the caller of the pager API function. -func Xsqlite3PagerSetBusyHandler(tls *libc.TLS, pPager uintptr, xBusyHandler uintptr, pBusyHandlerArg uintptr) { /* sqlite3.c:56862:21: */ +func Xsqlite3PagerSetBusyHandler(tls *libc.TLS, pPager uintptr, xBusyHandler uintptr, pBusyHandlerArg uintptr) { /* sqlite3.c:56872:21: */ var ap uintptr (*Pager)(unsafe.Pointer(pPager)).FxBusyHandler = xBusyHandler (*Pager)(unsafe.Pointer(pPager)).FpBusyHandlerArg = pBusyHandlerArg @@ -34628,7 +34638,7 @@ func Xsqlite3PagerSetBusyHandler(tls *libc.TLS, pPager uintptr, xBusyHandler uin // conditions above is not true, the pager was in error state when this // function was called, or because the memory allocation attempt failed, // then *pPageSize is set to the old, retained page size before returning. -func Xsqlite3PagerSetPagesize(tls *libc.TLS, pPager uintptr, pPageSize uintptr, nReserve int32) int32 { /* sqlite3.c:56906:20: */ +func Xsqlite3PagerSetPagesize(tls *libc.TLS, pPager uintptr, pPageSize uintptr, nReserve int32) int32 { /* sqlite3.c:56916:20: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -34697,7 +34707,7 @@ func Xsqlite3PagerSetPagesize(tls *libc.TLS, pPager uintptr, pPageSize uintptr, // during rollback and will be overwritten whenever a rollback // occurs. But other modules are free to use it too, as long as // no rollbacks are happening. -func Xsqlite3PagerTempSpace(tls *libc.TLS, pPager uintptr) uintptr { /* sqlite3.c:56974:21: */ +func Xsqlite3PagerTempSpace(tls *libc.TLS, pPager uintptr) uintptr { /* sqlite3.c:56984:21: */ return (*Pager)(unsafe.Pointer(pPager)).FpTmpSpace } @@ -34706,7 +34716,7 @@ func Xsqlite3PagerTempSpace(tls *libc.TLS, pPager uintptr) uintptr { /* sqlite3. // maximum page count below the current size of the database. // // Regardless of mxPage, return the current maximum page count. -func Xsqlite3PagerMaxPageCount(tls *libc.TLS, pPager uintptr, mxPage Pgno) Pgno { /* sqlite3.c:56985:21: */ +func Xsqlite3PagerMaxPageCount(tls *libc.TLS, pPager uintptr, mxPage Pgno) Pgno { /* sqlite3.c:56995:21: */ if mxPage > Pgno(0) { (*Pager)(unsafe.Pointer(pPager)).FmxPgno = mxPage } @@ -34737,7 +34747,7 @@ func Xsqlite3PagerMaxPageCount(tls *libc.TLS, pPager uintptr, mxPage Pgno) Pgno // If any IO error apart from SQLITE_IOERR_SHORT_READ is encountered, // the error code is returned to the caller and the contents of the // output buffer undefined. -func Xsqlite3PagerReadFileheader(tls *libc.TLS, pPager uintptr, N int32, pDest uintptr) int32 { /* sqlite3.c:57035:20: */ +func Xsqlite3PagerReadFileheader(tls *libc.TLS, pPager uintptr, N int32, pDest uintptr) int32 { /* sqlite3.c:57045:20: */ var rc int32 = SQLITE_OK libc.Xmemset(tls, pDest, 0, uint32(N)) @@ -34760,7 +34770,7 @@ func Xsqlite3PagerReadFileheader(tls *libc.TLS, pPager uintptr, N int32, pDest u // // However, if the file is between 1 and bytes in size, then // this is considered a 1 page file. -func Xsqlite3PagerPagecount(tls *libc.TLS, pPager uintptr, pnPage uintptr) { /* sqlite3.c:57063:21: */ +func Xsqlite3PagerPagecount(tls *libc.TLS, pPager uintptr, pnPage uintptr) { /* sqlite3.c:57073:21: */ *(*int32)(unsafe.Pointer(pnPage)) = int32((*Pager)(unsafe.Pointer(pPager)).FdbSize) } @@ -34777,7 +34787,7 @@ func Xsqlite3PagerPagecount(tls *libc.TLS, pPager uintptr, pnPage uintptr) { /* // Return SQLITE_OK on success and an error code if we cannot obtain // the lock. If the lock is obtained successfully, set the Pager.state // variable to locktype before returning. -func pager_wait_on_lock(tls *libc.TLS, pPager uintptr, locktype int32) int32 { /* sqlite3.c:57084:12: */ +func pager_wait_on_lock(tls *libc.TLS, pPager uintptr, locktype int32) int32 { /* sqlite3.c:57094:12: */ var rc int32 // Return code // Check that this is either a no-op (because the requested lock is @@ -34822,7 +34832,7 @@ func pager_wait_on_lock(tls *libc.TLS, pPager uintptr, locktype int32) int32 { / // Once this function has been called, the transaction must either be // rolled back or committed. It is not safe to call this function and // then continue writing to the database. -func Xsqlite3PagerTruncateImage(tls *libc.TLS, pPager uintptr, nPage Pgno) { /* sqlite3.c:57155:21: */ +func Xsqlite3PagerTruncateImage(tls *libc.TLS, pPager uintptr, nPage Pgno) { /* sqlite3.c:57165:21: */ (*Pager)(unsafe.Pointer(pPager)).FdbSize = nPage @@ -34849,7 +34859,7 @@ func Xsqlite3PagerTruncateImage(tls *libc.TLS, pPager uintptr, nPage Pgno) { /* // // If everything goes as planned, SQLITE_OK is returned. Otherwise, // an SQLite error code. -func pagerSyncHotJournal(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:57186:12: */ +func pagerSyncHotJournal(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:57196:12: */ var rc int32 = SQLITE_OK if !(int32((*Pager)(unsafe.Pointer(pPager)).FnoSync) != 0) { rc = Xsqlite3OsSync(tls, (*Pager)(unsafe.Pointer(pPager)).Fjfd, SQLITE_SYNC_NORMAL) @@ -34868,7 +34878,7 @@ func pagerSyncHotJournal(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:571 // // Page references obtained by calling this function should be released // by calling pagerReleaseMapPage(). -func pagerAcquireMapPage(tls *libc.TLS, pPager uintptr, pgno Pgno, pData uintptr, ppPage uintptr) int32 { /* sqlite3.c:57208:12: */ +func pagerAcquireMapPage(tls *libc.TLS, pPager uintptr, pgno Pgno, pData uintptr, ppPage uintptr) int32 { /* sqlite3.c:57218:12: */ var p uintptr // Memory mapped page to return if (*Pager)(unsafe.Pointer(pPager)).FpMmapFreelist != 0 { @@ -34898,7 +34908,7 @@ func pagerAcquireMapPage(tls *libc.TLS, pPager uintptr, pgno Pgno, pData uintptr // Release a reference to page pPg. pPg must have been returned by an // earlier call to pagerAcquireMapPage(). -func pagerReleaseMapPage(tls *libc.TLS, pPg uintptr) { /* sqlite3.c:57252:13: */ +func pagerReleaseMapPage(tls *libc.TLS, pPg uintptr) { /* sqlite3.c:57262:13: */ var pPager uintptr = (*PgHdr)(unsafe.Pointer(pPg)).FpPager (*Pager)(unsafe.Pointer(pPager)).FnMmapOut-- (*PgHdr)(unsafe.Pointer(pPg)).FpDirty = (*Pager)(unsafe.Pointer(pPager)).FpMmapFreelist @@ -34908,7 +34918,7 @@ func pagerReleaseMapPage(tls *libc.TLS, pPg uintptr) { /* sqlite3.c:57252:13: */ } // Free all PgHdr objects stored in the Pager.pMmapFreelist list. -func pagerFreeMapHdrs(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:57265:13: */ +func pagerFreeMapHdrs(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:57275:13: */ var p uintptr var pNext uintptr for p = (*Pager)(unsafe.Pointer(pPager)).FpMmapFreelist; p != 0; p = pNext { @@ -34921,7 +34931,7 @@ func pagerFreeMapHdrs(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:57265:13: */ // under the pager. Return SQLITE_OK if the database is still where it ought // to be on disk. Return non-zero (SQLITE_READONLY_DBMOVED or some other error // code from sqlite3OsAccess()) if the database has gone missing. -func databaseIsUnmoved(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:57279:12: */ +func databaseIsUnmoved(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:57289:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -34959,7 +34969,7 @@ func databaseIsUnmoved(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:57279 // is made to roll it back. If an error occurs during the rollback // a hot journal may be left in the filesystem but no error is returned // to the caller. -func Xsqlite3PagerClose(tls *libc.TLS, pPager uintptr, db uintptr) int32 { /* sqlite3.c:57313:20: */ +func Xsqlite3PagerClose(tls *libc.TLS, pPager uintptr, db uintptr) int32 { /* sqlite3.c:57323:20: */ var pTmp uintptr = (*Pager)(unsafe.Pointer(pPager)).FpTmpSpace Xsqlite3BeginBenignMalloc(tls) @@ -35008,7 +35018,7 @@ func Xsqlite3PagerClose(tls *libc.TLS, pPager uintptr, db uintptr) int32 { /* sq } // Increment the reference count for page pPg. -func Xsqlite3PagerRef(tls *libc.TLS, pPg uintptr) { /* sqlite3.c:57382:21: */ +func Xsqlite3PagerRef(tls *libc.TLS, pPg uintptr) { /* sqlite3.c:57392:21: */ Xsqlite3PcacheRef(tls, pPg) } @@ -35045,7 +35055,7 @@ func Xsqlite3PagerRef(tls *libc.TLS, pPg uintptr) { /* sqlite3.c:57382:21: */ // If successful, this routine clears the PGHDR_NEED_SYNC flag of every // page currently held in memory before returning SQLITE_OK. If an IO // error is encountered, then the IO error code is returned to the caller. -func syncJournal(tls *libc.TLS, pPager uintptr, newHdr int32) int32 { /* sqlite3.c:57421:12: */ +func syncJournal(tls *libc.TLS, pPager uintptr, newHdr int32) int32 { /* sqlite3.c:57431:12: */ bp := tls.Alloc(20) defer tls.Free(20) @@ -35159,7 +35169,7 @@ func syncJournal(tls *libc.TLS, pPager uintptr, newHdr int32) int32 { /* sqlite3 return SQLITE_OK } -var zerobyte U8 = U8(0) /* sqlite3.c:57472:27 */ +var zerobyte U8 = U8(0) /* sqlite3.c:57482:27 */ // The argument is the first in a linked list of dirty pages connected // by the PgHdr.pDirty pointer. This function writes each one of the @@ -35191,7 +35201,7 @@ var zerobyte U8 = U8(0) /* sqlite3.c:57472:27 */ // If everything is successful, SQLITE_OK is returned. If an IO error // occurs, an IO error code is returned. Or, if the EXCLUSIVE lock cannot // be obtained, SQLITE_BUSY is returned. -func pager_write_pagelist(tls *libc.TLS, pPager uintptr, pList uintptr) int32 { /* sqlite3.c:57564:12: */ +func pager_write_pagelist(tls *libc.TLS, pPager uintptr, pList uintptr) int32 { /* sqlite3.c:57574:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -35271,7 +35281,7 @@ func pager_write_pagelist(tls *libc.TLS, pPager uintptr, pList uintptr) int32 { // SQLITE_OK is returned if everything goes according to plan. An // SQLITE_IOERR_XXX error code is returned if a call to sqlite3OsOpen() // fails. -func openSubJournal(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:57655:12: */ +func openSubJournal(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:57665:12: */ var rc int32 = SQLITE_OK if !((*Sqlite3_file)(unsafe.Pointer((*Pager)(unsafe.Pointer(pPager)).Fsjfd)).FpMethods != uintptr(0)) { var flags int32 = SQLITE_OPEN_SUBJOURNAL | SQLITE_OPEN_READWRITE | @@ -35295,7 +35305,7 @@ func openSubJournal(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:57655:12 // error code if the attempt to write to the sub-journal fails, or // SQLITE_NOMEM if a malloc fails while setting a bit in a savepoint // bitvec. -func subjournalPage(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:57681:12: */ +func subjournalPage(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:57691:12: */ var rc int32 = SQLITE_OK var pPager uintptr = (*PgHdr)(unsafe.Pointer(pPg)).FpPager if int32((*Pager)(unsafe.Pointer(pPager)).FjournalMode) != PAGER_JOURNALMODE_OFF { @@ -35326,7 +35336,7 @@ func subjournalPage(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:57681:12: * return rc } -func subjournalPageIfRequired(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:57717:12: */ +func subjournalPageIfRequired(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:57727:12: */ if subjRequiresPage(tls, pPg) != 0 { return subjournalPage(tls, pPg) } else { @@ -35352,7 +35362,7 @@ func subjournalPageIfRequired(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:5 // page clean, the IO error code is returned. If the page cannot be // made clean for some other reason, but no error occurs, then SQLITE_OK // is returned by sqlite3PcacheMakeClean() is not called. -func pagerStress(tls *libc.TLS, p uintptr, pPg uintptr) int32 { /* sqlite3.c:57744:12: */ +func pagerStress(tls *libc.TLS, p uintptr, pPg uintptr) int32 { /* sqlite3.c:57754:12: */ var pPager uintptr = p var rc int32 = SQLITE_OK @@ -35414,7 +35424,7 @@ func pagerStress(tls *libc.TLS, p uintptr, pPg uintptr) int32 { /* sqlite3.c:577 } // Flush all unreferenced dirty pages to disk. -func Xsqlite3PagerFlush(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:57821:20: */ +func Xsqlite3PagerFlush(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:57831:20: */ var rc int32 = (*Pager)(unsafe.Pointer(pPager)).FerrCode if !(int32((*Pager)(unsafe.Pointer(pPager)).FmemDb) != 0) { var pList uintptr = Xsqlite3PcacheDirtyList(tls, (*Pager)(unsafe.Pointer(pPager)).FpPCache) @@ -35461,7 +35471,7 @@ func Xsqlite3PagerFlush(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:5782 // and error code returned. This function may return SQLITE_NOMEM // (sqlite3Malloc() is used to allocate memory), SQLITE_CANTOPEN or // various SQLITE_IO_XXX errors. -func Xsqlite3PagerOpen(tls *libc.TLS, pVfs uintptr, ppPager uintptr, zFilename uintptr, nExtra int32, flags int32, vfsFlags int32, xReinit uintptr) int32 { /* sqlite3.c:57870:20: */ +func Xsqlite3PagerOpen(tls *libc.TLS, pVfs uintptr, ppPager uintptr, zFilename uintptr, nExtra int32, flags int32, vfsFlags int32, xReinit uintptr) int32 { /* sqlite3.c:57880:20: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -35587,7 +35597,7 @@ __11: // bytes in length. This means the database cannot be opened, // as it will not be possible to open the journal file or even // check for a hot-journal before reading. - rc = Xsqlite3CantopenError(tls, 57957) + rc = Xsqlite3CantopenError(tls, 57967) __12: ; if !(rc != SQLITE_OK) { @@ -35906,7 +35916,7 @@ __37: // Return the sqlite3_file for the main database given the name // of the corresonding WAL or Journal name as passed into // xOpen. -func Xsqlite3_database_file_object(tls *libc.TLS, zName uintptr) uintptr { /* sqlite3.c:58242:25: */ +func Xsqlite3_database_file_object(tls *libc.TLS, zName uintptr) uintptr { /* sqlite3.c:58252:25: */ var pPager uintptr for int32(*(*int8)(unsafe.Pointer(zName + libc.UintptrFromInt32(-1)))) != 0 || int32(*(*int8)(unsafe.Pointer(zName + libc.UintptrFromInt32(-2)))) != 0 || int32(*(*int8)(unsafe.Pointer(zName + libc.UintptrFromInt32(-3)))) != 0 || int32(*(*int8)(unsafe.Pointer(zName + libc.UintptrFromInt32(-4)))) != 0 { zName-- @@ -35944,7 +35954,7 @@ func Xsqlite3_database_file_object(tls *libc.TLS, zName uintptr) uintptr { /* sq // set to 0 and SQLITE_OK returned. If an IO error occurs while trying // to determine whether or not a hot-journal file exists, the IO error // code is returned and the value of *pExists is undefined. -func hasHotJournal(tls *libc.TLS, pPager uintptr, pExists uintptr) int32 { /* sqlite3.c:58283:12: */ +func hasHotJournal(tls *libc.TLS, pPager uintptr, pExists uintptr) int32 { /* sqlite3.c:58293:12: */ bp := tls.Alloc(17) defer tls.Free(17) @@ -36055,7 +36065,7 @@ func hasHotJournal(tls *libc.TLS, pPager uintptr, pExists uintptr) int32 { /* sq // If everything is successful, SQLITE_OK is returned. If an IO error // occurs while locking the database, checking for a hot-journal file or // rolling back a journal file, the IO error code is returned. -func Xsqlite3PagerSharedLock(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:58403:20: */ +func Xsqlite3PagerSharedLock(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:58413:20: */ bp := tls.Alloc(28) defer tls.Free(28) @@ -36181,7 +36191,7 @@ __7: if !(rc == SQLITE_OK && *(*int32)(unsafe.Pointer(bp + 8))&SQLITE_OPEN_READONLY != 0) { goto __10 } - rc = Xsqlite3CantopenError(tls, 58487) + rc = Xsqlite3CantopenError(tls, 58497) Xsqlite3OsClose(tls, (*Pager)(unsafe.Pointer(pPager)).Fjfd) __10: ; @@ -36330,7 +36340,7 @@ __24: // Except, in locking_mode=EXCLUSIVE when there is nothing to in // the rollback journal, the unlock is not performed and there is // nothing to rollback, so this routine is a no-op. -func pagerUnlockIfUnused(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:58620:13: */ +func pagerUnlockIfUnused(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:58630:13: */ if Xsqlite3PcacheRefCount(tls, (*Pager)(unsafe.Pointer(pPager)).FpPCache) == 0 { // because page1 is never memory mapped pagerUnlockAndRollback(tls, pPager) @@ -36392,7 +36402,7 @@ func pagerUnlockIfUnused(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:58620:13: // has to go to disk, and could also playback an old journal if necessary. // Since Lookup() never goes to disk, it never has to deal with locks // or journal files. -func getPageNormal(tls *libc.TLS, pPager uintptr, pgno Pgno, ppPage uintptr, flags int32) int32 { /* sqlite3.c:58684:12: */ +func getPageNormal(tls *libc.TLS, pPager uintptr, pgno Pgno, ppPage uintptr, flags int32) int32 { /* sqlite3.c:58694:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -36405,7 +36415,7 @@ func getPageNormal(tls *libc.TLS, pPager uintptr, pgno Pgno, ppPage uintptr, fla if !(pgno == Pgno(0)) { goto __1 } - return Xsqlite3CorruptError(tls, 58700) + return Xsqlite3CorruptError(tls, 58710) __1: ; *(*uintptr)(unsafe.Pointer(bp /* pBase */)) = Xsqlite3PcacheFetch(tls, (*Pager)(unsafe.Pointer(pPager)).FpPCache, pgno, 3) @@ -36451,7 +36461,7 @@ __5: if !(pgno == Pgno(I64(Xsqlite3PendingByte)/(*Pager)(unsafe.Pointer(pPager)).FpageSize+int64(1))) { goto __7 } - rc = Xsqlite3CorruptError(tls, 58732) + rc = Xsqlite3CorruptError(tls, 58742) goto pager_acquire_err __7: ; @@ -36523,7 +36533,7 @@ __14: } // The page getter for when memory-mapped I/O is enabled -func getPageMMap(tls *libc.TLS, pPager uintptr, pgno Pgno, ppPage uintptr, flags int32) int32 { /* sqlite3.c:58786:12: */ +func getPageMMap(tls *libc.TLS, pPager uintptr, pgno Pgno, ppPage uintptr, flags int32) int32 { /* sqlite3.c:58796:12: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -36543,7 +36553,7 @@ func getPageMMap(tls *libc.TLS, pPager uintptr, pgno Pgno, ppPage uintptr, flags // test in the previous statement, and avoid testing pgno==0 in the // common case where pgno is large. if pgno <= Pgno(1) && pgno == Pgno(0) { - return Xsqlite3CorruptError(tls, 58811) + return Xsqlite3CorruptError(tls, 58821) } if bMmapOk != 0 && (*Pager)(unsafe.Pointer(pPager)).FpWal != uintptr(0) { @@ -36581,7 +36591,7 @@ func getPageMMap(tls *libc.TLS, pPager uintptr, pgno Pgno, ppPage uintptr, flags } // The page getter method for when the pager is an error state -func getPageError(tls *libc.TLS, pPager uintptr, pgno Pgno, ppPage uintptr, flags int32) int32 { /* sqlite3.c:58855:12: */ +func getPageError(tls *libc.TLS, pPager uintptr, pgno Pgno, ppPage uintptr, flags int32) int32 { /* sqlite3.c:58865:12: */ _ = pgno _ = flags @@ -36590,7 +36600,7 @@ func getPageError(tls *libc.TLS, pPager uintptr, pgno Pgno, ppPage uintptr, flag } // Dispatch all page fetch requests to the appropriate getter method. -func Xsqlite3PagerGet(tls *libc.TLS, pPager uintptr, pgno Pgno, ppPage uintptr, flags int32) int32 { /* sqlite3.c:58871:20: */ +func Xsqlite3PagerGet(tls *libc.TLS, pPager uintptr, pgno Pgno, ppPage uintptr, flags int32) int32 { /* sqlite3.c:58881:20: */ // printf("PAGE %u\n", pgno); fflush(stdout); return (*struct { f func(*libc.TLS, uintptr, Pgno, uintptr, int32) int32 @@ -36606,7 +36616,7 @@ func Xsqlite3PagerGet(tls *libc.TLS, pPager uintptr, pgno Pgno, ppPage uintptr, // in the page if the page is not already in cache. This routine // returns NULL if the page is not in cache or if a disk I/O error // has ever happened. -func Xsqlite3PagerLookup(tls *libc.TLS, pPager uintptr, pgno Pgno) uintptr { /* sqlite3.c:58892:23: */ +func Xsqlite3PagerLookup(tls *libc.TLS, pPager uintptr, pgno Pgno) uintptr { /* sqlite3.c:58902:23: */ var pPage uintptr pPage = Xsqlite3PcacheFetch(tls, (*Pager)(unsafe.Pointer(pPager)).FpPCache, pgno, 0) @@ -36627,7 +36637,7 @@ func Xsqlite3PagerLookup(tls *libc.TLS, pPager uintptr, pgno Pgno) uintptr { /* // Use sqlite3PagerUnrefPageOne() to release page1. This latter routine // checks the total number of outstanding pages and if the number of // pages reaches zero it drops the database lock. -func Xsqlite3PagerUnrefNotNull(tls *libc.TLS, pPg uintptr) { /* sqlite3.c:58915:21: */ +func Xsqlite3PagerUnrefNotNull(tls *libc.TLS, pPg uintptr) { /* sqlite3.c:58925:21: */ if int32((*DbPage)(unsafe.Pointer(pPg)).Fflags)&PGHDR_MMAP != 0 { // Page1 is never memory mapped @@ -36639,13 +36649,13 @@ func Xsqlite3PagerUnrefNotNull(tls *libc.TLS, pPg uintptr) { /* sqlite3.c:58915: } -func Xsqlite3PagerUnref(tls *libc.TLS, pPg uintptr) { /* sqlite3.c:58927:21: */ +func Xsqlite3PagerUnref(tls *libc.TLS, pPg uintptr) { /* sqlite3.c:58937:21: */ if pPg != 0 { Xsqlite3PagerUnrefNotNull(tls, pPg) } } -func Xsqlite3PagerUnrefPageOne(tls *libc.TLS, pPg uintptr) { /* sqlite3.c:58930:21: */ +func Xsqlite3PagerUnrefPageOne(tls *libc.TLS, pPg uintptr) { /* sqlite3.c:58940:21: */ var pPager uintptr // Page1 is never memory mapped @@ -36674,7 +36684,7 @@ func Xsqlite3PagerUnrefPageOne(tls *libc.TLS, pPg uintptr) { /* sqlite3.c:58930: // Return SQLITE_OK if everything is successful. Otherwise, return // SQLITE_NOMEM if the attempt to allocate Pager.pInJournal fails, or // an IO error code if opening or writing the journal file fails. -func pager_open_journal(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:58962:12: */ +func pager_open_journal(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:58972:12: */ var rc int32 = SQLITE_OK // Return code var pVfs uintptr = (*Pager)(unsafe.Pointer(pPager)).FpVfs // Local cache of vfs pointer @@ -36756,7 +36766,7 @@ func pager_open_journal(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:5896 // sub-journal. If the subjInMemory argument is zero, then any required // sub-journal is implemented in-memory if pPager is an in-memory database, // or using a temporary file otherwise. -func Xsqlite3PagerBegin(tls *libc.TLS, pPager uintptr, exFlag int32, subjInMemory int32) int32 { /* sqlite3.c:59051:20: */ +func Xsqlite3PagerBegin(tls *libc.TLS, pPager uintptr, exFlag int32, subjInMemory int32) int32 { /* sqlite3.c:59061:20: */ var rc int32 = SQLITE_OK if (*Pager)(unsafe.Pointer(pPager)).FerrCode != 0 { @@ -36816,7 +36826,7 @@ func Xsqlite3PagerBegin(tls *libc.TLS, pPager uintptr, exFlag int32, subjInMemor } // Write page pPg onto the end of the rollback journal. -func pagerAddPageToRollbackJournal(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:59120:28: */ +func pagerAddPageToRollbackJournal(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:59130:28: */ var pPager uintptr = (*PgHdr)(unsafe.Pointer(pPg)).FpPager var rc int32 var cksum U32 @@ -36866,7 +36876,7 @@ func pagerAddPageToRollbackJournal(tls *libc.TLS, pPg uintptr) int32 { /* sqlite // one of the journals, the corresponding bit is set in the // Pager.pInJournal bitvec and the PagerSavepoint.pInSavepoint bitvecs // of any open savepoints as appropriate. -func pager_write(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:59177:12: */ +func pager_write(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:59187:12: */ var pPager uintptr = (*PgHdr)(unsafe.Pointer(pPg)).FpPager var rc int32 = SQLITE_OK @@ -36940,7 +36950,7 @@ func pager_write(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:59177:12: */ // Usually, the sector size is less than or equal to the page size, in which // case pages can be individually written. This routine only runs in the // exceptional case where the page size is smaller than the sector size. -func pagerWriteLargeSector(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:59269:28: */ +func pagerWriteLargeSector(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:59279:28: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -37028,7 +37038,7 @@ func pagerWriteLargeSector(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:5926 // // If an error occurs, SQLITE_NOMEM or an IO error code is returned // as appropriate. Otherwise, SQLITE_OK. -func Xsqlite3PagerWrite(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:59363:20: */ +func Xsqlite3PagerWrite(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:59373:20: */ var pPager uintptr = (*PgHdr)(unsafe.Pointer(pPg)).FpPager if int32((*PgHdr)(unsafe.Pointer(pPg)).Fflags)&PGHDR_WRITEABLE != 0 && (*Pager)(unsafe.Pointer(pPager)).FdbSize >= (*PgHdr)(unsafe.Pointer(pPg)).Fpgno { @@ -37069,7 +37079,7 @@ func Xsqlite3PagerWrite(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:59363:2 // memory pressure forces page pPg out of the cache, the data does need // to be written out to disk so that it may be read back in if the // current transaction is rolled back. -func Xsqlite3PagerDontWrite(tls *libc.TLS, pPg uintptr) { /* sqlite3.c:59412:21: */ +func Xsqlite3PagerDontWrite(tls *libc.TLS, pPg uintptr) { /* sqlite3.c:59422:21: */ var pPager uintptr = (*PgHdr)(unsafe.Pointer(pPg)).FpPager if !(int32((*Pager)(unsafe.Pointer(pPager)).FtempFile) != 0) && int32((*PgHdr)(unsafe.Pointer(pPg)).Fflags)&PGHDR_DIRTY != 0 && (*Pager)(unsafe.Pointer(pPager)).FnSavepoint == 0 { @@ -37099,7 +37109,7 @@ func Xsqlite3PagerDontWrite(tls *libc.TLS, pPg uintptr) { /* sqlite3.c:59412:21: // if isDirect is non-zero, then the database file is updated directly // by writing an updated version of page 1 using a call to the // sqlite3OsWrite() function. -func pager_incr_changecounter(tls *libc.TLS, pPager uintptr, isDirectMode int32) int32 { /* sqlite3.c:59446:12: */ +func pager_incr_changecounter(tls *libc.TLS, pPager uintptr, isDirectMode int32) int32 { /* sqlite3.c:59456:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -37169,7 +37179,7 @@ func pager_incr_changecounter(tls *libc.TLS, pPager uintptr, isDirectMode int32) // // If successful, or if called on a pager for which it is a no-op, this // function returns SQLITE_OK. Otherwise, an IO error code is returned. -func Xsqlite3PagerSync(tls *libc.TLS, pPager uintptr, zSuper uintptr) int32 { /* sqlite3.c:59529:20: */ +func Xsqlite3PagerSync(tls *libc.TLS, pPager uintptr, zSuper uintptr) int32 { /* sqlite3.c:59539:20: */ var rc int32 = SQLITE_OK var pArg uintptr = zSuper rc = Xsqlite3OsFileControl(tls, (*Pager)(unsafe.Pointer(pPager)).Ffd, SQLITE_FCNTL_SYNC, pArg) @@ -37192,7 +37202,7 @@ func Xsqlite3PagerSync(tls *libc.TLS, pPager uintptr, zSuper uintptr) int32 { /* // successful, or the connection is in WAL mode, SQLITE_OK is returned. // Otherwise, either SQLITE_BUSY or an SQLITE_IOERR_XXX error code is // returned. -func Xsqlite3PagerExclusiveLock(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:59552:20: */ +func Xsqlite3PagerExclusiveLock(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:59562:20: */ var rc int32 = (*Pager)(unsafe.Pointer(pPager)).FerrCode if rc == SQLITE_OK { @@ -37228,7 +37238,7 @@ func Xsqlite3PagerExclusiveLock(tls *libc.TLS, pPager uintptr) int32 { /* sqlite // is not synced. The caller must call sqlite3PagerSync() directly to // sync the database file before calling CommitPhaseTwo() to delete the // journal file in this case. -func Xsqlite3PagerCommitPhaseOne(tls *libc.TLS, pPager uintptr, zSuper uintptr, noSync int32) int32 { /* sqlite3.c:59594:20: */ +func Xsqlite3PagerCommitPhaseOne(tls *libc.TLS, pPager uintptr, zSuper uintptr, noSync int32) int32 { /* sqlite3.c:59604:20: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -37418,7 +37428,7 @@ __19: // // If an error occurs, an IO error code is returned and the pager // moves into the error state. Otherwise, SQLITE_OK is returned. -func Xsqlite3PagerCommitPhaseTwo(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:59824:20: */ +func Xsqlite3PagerCommitPhaseTwo(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:59834:20: */ var rc int32 = SQLITE_OK // Return code // This routine should not be called if a prior error has occurred. @@ -37475,7 +37485,7 @@ func Xsqlite3PagerCommitPhaseTwo(tls *libc.TLS, pPager uintptr) int32 { /* sqlit // current transaction are either expelled from the cache or reverted to // their pre-transaction state by re-reading data from the database or // WAL files. The WAL transaction is then closed. -func Xsqlite3PagerRollback(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:59890:20: */ +func Xsqlite3PagerRollback(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:59900:20: */ var rc int32 = SQLITE_OK // Return code // PagerRollback() is a no-op if called in READER or OPEN state. If @@ -37519,13 +37529,13 @@ func Xsqlite3PagerRollback(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:5 // Return TRUE if the database file is opened read-only. Return FALSE // if the database is (in theory) writable. -func Xsqlite3PagerIsreadonly(tls *libc.TLS, pPager uintptr) U8 { /* sqlite3.c:59940:19: */ +func Xsqlite3PagerIsreadonly(tls *libc.TLS, pPager uintptr) U8 { /* sqlite3.c:59950:19: */ return (*Pager)(unsafe.Pointer(pPager)).FreadOnly } // Return the approximate number of bytes of memory currently // used by the pager and its associated cache. -func Xsqlite3PagerMemUsed(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:59957:20: */ +func Xsqlite3PagerMemUsed(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:59967:20: */ var perPageSize int32 = int32((*Pager)(unsafe.Pointer(pPager)).FpageSize + I64((*Pager)(unsafe.Pointer(pPager)).FnExtra) + I64(int32(uint32(unsafe.Sizeof(PgHdr{}))+uint32(5)*uint32(unsafe.Sizeof(uintptr(0)))))) return int32(I64(perPageSize*Xsqlite3PcachePagecount(tls, (*Pager)(unsafe.Pointer(pPager)).FpPCache)+ @@ -37534,7 +37544,7 @@ func Xsqlite3PagerMemUsed(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:59 } // Return the number of references to the specified page. -func Xsqlite3PagerPageRefcount(tls *libc.TLS, pPage uintptr) int32 { /* sqlite3.c:59968:20: */ +func Xsqlite3PagerPageRefcount(tls *libc.TLS, pPage uintptr) int32 { /* sqlite3.c:59978:20: */ return Xsqlite3PcachePageRefcount(tls, pPage) } @@ -37547,7 +37557,7 @@ func Xsqlite3PagerPageRefcount(tls *libc.TLS, pPage uintptr) int32 { /* sqlite3. // current cache hit or miss count, according to the value of eStat. If the // reset parameter is non-zero, the cache hit or miss count is zeroed before // returning. -func Xsqlite3PagerCacheStat(tls *libc.TLS, pPager uintptr, eStat int32, reset int32, pnVal uintptr) { /* sqlite3.c:60004:21: */ +func Xsqlite3PagerCacheStat(tls *libc.TLS, pPager uintptr, eStat int32, reset int32, pnVal uintptr) { /* sqlite3.c:60014:21: */ eStat = eStat - SQLITE_DBSTATUS_CACHE_HIT *(*int32)(unsafe.Pointer(pnVal)) += *(*int32)(unsafe.Pointer(pPager + 188 + uintptr(eStat)*4)) @@ -37557,7 +37567,7 @@ func Xsqlite3PagerCacheStat(tls *libc.TLS, pPager uintptr, eStat int32, reset in } // Return true if this is an in-memory or temp-file backed pager. -func Xsqlite3PagerIsMemdb(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:60027:20: */ +func Xsqlite3PagerIsMemdb(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:60037:20: */ return libc.Bool32((*Pager)(unsafe.Pointer(pPager)).FtempFile != 0 || (*Pager)(unsafe.Pointer(pPager)).FmemVfs != 0) } @@ -37569,7 +37579,7 @@ func Xsqlite3PagerIsMemdb(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:60 // If a memory allocation fails, SQLITE_NOMEM is returned. If an error // occurs while opening the sub-journal file, then an IO error code is // returned. Otherwise, SQLITE_OK. -func pagerOpenSavepoint(tls *libc.TLS, pPager uintptr, nSavepoint int32) int32 { /* sqlite3.c:60041:28: */ +func pagerOpenSavepoint(tls *libc.TLS, pPager uintptr, nSavepoint int32) int32 { /* sqlite3.c:60051:28: */ var rc int32 = SQLITE_OK // Return code var nCurrent int32 = (*Pager)(unsafe.Pointer(pPager)).FnSavepoint // Current number of savepoints var ii int32 // Iterator variable @@ -37609,7 +37619,7 @@ func pagerOpenSavepoint(tls *libc.TLS, pPager uintptr, nSavepoint int32) int32 { return rc } -func Xsqlite3PagerOpenSavepoint(tls *libc.TLS, pPager uintptr, nSavepoint int32) int32 { /* sqlite3.c:60087:20: */ +func Xsqlite3PagerOpenSavepoint(tls *libc.TLS, pPager uintptr, nSavepoint int32) int32 { /* sqlite3.c:60097:20: */ if nSavepoint > (*Pager)(unsafe.Pointer(pPager)).FnSavepoint && (*Pager)(unsafe.Pointer(pPager)).FuseJournal != 0 { return pagerOpenSavepoint(tls, pPager, nSavepoint) @@ -37647,7 +37657,7 @@ func Xsqlite3PagerOpenSavepoint(tls *libc.TLS, pPager uintptr, nSavepoint int32) // This function may return SQLITE_NOMEM if a memory allocation fails, // or an IO error code if an IO error occurs while rolling back a // savepoint. If no errors occur, SQLITE_OK is returned. -func Xsqlite3PagerSavepoint(tls *libc.TLS, pPager uintptr, op int32, iSavepoint int32) int32 { /* sqlite3.c:60129:20: */ +func Xsqlite3PagerSavepoint(tls *libc.TLS, pPager uintptr, op int32, iSavepoint int32) int32 { /* sqlite3.c:60139:20: */ var rc int32 = (*Pager)(unsafe.Pointer(pPager)).FerrCode if rc == SQLITE_OK && iSavepoint < (*Pager)(unsafe.Pointer(pPager)).FnSavepoint { @@ -37708,30 +37718,30 @@ func Xsqlite3PagerSavepoint(tls *libc.TLS, pPager uintptr, op int32, iSavepoint // // The return value to this routine is always safe to use with // sqlite3_uri_parameter() and sqlite3_filename_database() and friends. -func Xsqlite3PagerFilename(tls *libc.TLS, pPager uintptr, nullIfMemDb int32) uintptr { /* sqlite3.c:60210:27: */ +func Xsqlite3PagerFilename(tls *libc.TLS, pPager uintptr, nullIfMemDb int32) uintptr { /* sqlite3.c:60220:27: */ if nullIfMemDb != 0 && (*Pager)(unsafe.Pointer(pPager)).FmemDb != 0 { return uintptr(unsafe.Pointer(&zFake)) + 4 } return (*Pager)(unsafe.Pointer(pPager)).FzFilename } -var zFake = [8]int8{int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0)} /* sqlite3.c:60211:21 */ +var zFake = [8]int8{int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0)} /* sqlite3.c:60221:21 */ // Return the VFS structure for the pager. -func Xsqlite3PagerVfs(tls *libc.TLS, pPager uintptr) uintptr { /* sqlite3.c:60218:28: */ +func Xsqlite3PagerVfs(tls *libc.TLS, pPager uintptr) uintptr { /* sqlite3.c:60228:28: */ return (*Pager)(unsafe.Pointer(pPager)).FpVfs } // Return the file handle for the database file associated // with the pager. This might return NULL if the file has // not yet been opened. -func Xsqlite3PagerFile(tls *libc.TLS, pPager uintptr) uintptr { /* sqlite3.c:60227:29: */ +func Xsqlite3PagerFile(tls *libc.TLS, pPager uintptr) uintptr { /* sqlite3.c:60237:29: */ return (*Pager)(unsafe.Pointer(pPager)).Ffd } // Return the file handle for the journal file (if it exists). // This will be either the rollback journal or the WAL file. -func Xsqlite3PagerJrnlFile(tls *libc.TLS, pPager uintptr) uintptr { /* sqlite3.c:60235:29: */ +func Xsqlite3PagerJrnlFile(tls *libc.TLS, pPager uintptr) uintptr { /* sqlite3.c:60245:29: */ if (*Pager)(unsafe.Pointer(pPager)).FpWal != 0 { return Xsqlite3WalFile(tls, (*Pager)(unsafe.Pointer(pPager)).FpWal) } @@ -37739,7 +37749,7 @@ func Xsqlite3PagerJrnlFile(tls *libc.TLS, pPager uintptr) uintptr { /* sqlite3.c } // Return the full pathname of the journal file. -func Xsqlite3PagerJournalname(tls *libc.TLS, pPager uintptr) uintptr { /* sqlite3.c:60246:27: */ +func Xsqlite3PagerJournalname(tls *libc.TLS, pPager uintptr) uintptr { /* sqlite3.c:60256:27: */ return (*Pager)(unsafe.Pointer(pPager)).FzJournal } @@ -37766,7 +37776,7 @@ func Xsqlite3PagerJournalname(tls *libc.TLS, pPager uintptr) uintptr { /* sqlite // // This function may return SQLITE_NOMEM or an IO error code if an error // occurs. Otherwise, it returns SQLITE_OK. -func Xsqlite3PagerMovepage(tls *libc.TLS, pPager uintptr, pPg uintptr, pgno Pgno, isCommit int32) int32 { /* sqlite3.c:60276:20: */ +func Xsqlite3PagerMovepage(tls *libc.TLS, pPager uintptr, pPg uintptr, pgno Pgno, isCommit int32) int32 { /* sqlite3.c:60286:20: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -37828,7 +37838,7 @@ func Xsqlite3PagerMovepage(tls *libc.TLS, pPager uintptr, pPg uintptr, pgno Pgno if pPgOld != 0 { if int32((*PgHdr)(unsafe.Pointer(pPgOld)).FnRef) > 1 { Xsqlite3PagerUnrefNotNull(tls, pPgOld) - return Xsqlite3CorruptError(tls, 60350) + return Xsqlite3CorruptError(tls, 60360) } *(*U16)(unsafe.Pointer(pPg + 28)) |= U16(int32((*PgHdr)(unsafe.Pointer(pPgOld)).Fflags) & PGHDR_NEED_SYNC) if (*Pager)(unsafe.Pointer(pPager)).FtempFile != 0 { @@ -37888,21 +37898,21 @@ func Xsqlite3PagerMovepage(tls *libc.TLS, pPager uintptr, pPg uintptr, pgno Pgno // with a page number other than iNew. This function changes the page's // page number to iNew and sets the value of the PgHdr.flags field to // the value passed as the third parameter. -func Xsqlite3PagerRekey(tls *libc.TLS, pPg uintptr, iNew Pgno, flags U16) { /* sqlite3.c:60414:21: */ +func Xsqlite3PagerRekey(tls *libc.TLS, pPg uintptr, iNew Pgno, flags U16) { /* sqlite3.c:60424:21: */ (*DbPage)(unsafe.Pointer(pPg)).Fflags = flags Xsqlite3PcacheMove(tls, pPg, iNew) } // Return a pointer to the data for the specified page. -func Xsqlite3PagerGetData(tls *libc.TLS, pPg uintptr) uintptr { /* sqlite3.c:60423:21: */ +func Xsqlite3PagerGetData(tls *libc.TLS, pPg uintptr) uintptr { /* sqlite3.c:60433:21: */ return (*DbPage)(unsafe.Pointer(pPg)).FpData } // Return a pointer to the Pager.nExtra bytes of "extra" space // allocated along with the specified page. -func Xsqlite3PagerGetExtra(tls *libc.TLS, pPg uintptr) uintptr { /* sqlite3.c:60432:21: */ +func Xsqlite3PagerGetExtra(tls *libc.TLS, pPg uintptr) uintptr { /* sqlite3.c:60442:21: */ return (*DbPage)(unsafe.Pointer(pPg)).FpExtra } @@ -37914,7 +37924,7 @@ func Xsqlite3PagerGetExtra(tls *libc.TLS, pPg uintptr) uintptr { /* sqlite3.c:60 // The returned value is either PAGER_LOCKINGMODE_NORMAL or // PAGER_LOCKINGMODE_EXCLUSIVE, indicating the current (possibly updated) // locking-mode. -func Xsqlite3PagerLockingMode(tls *libc.TLS, pPager uintptr, eMode int32) int32 { /* sqlite3.c:60446:20: */ +func Xsqlite3PagerLockingMode(tls *libc.TLS, pPager uintptr, eMode int32) int32 { /* sqlite3.c:60456:20: */ if eMode >= 0 && !(int32((*Pager)(unsafe.Pointer(pPager)).FtempFile) != 0) && !(Xsqlite3WalHeapMemory(tls, (*Pager)(unsafe.Pointer(pPager)).FpWal) != 0) { (*Pager)(unsafe.Pointer(pPager)).FexclusiveMode = U8(eMode) @@ -37940,7 +37950,7 @@ func Xsqlite3PagerLockingMode(tls *libc.TLS, pPager uintptr, eMode int32) int32 // * Temporary databases cannot have _WAL journalmode. // // The returned indicate the current (possibly updated) journal-mode. -func Xsqlite3PagerSetJournalMode(tls *libc.TLS, pPager uintptr, eMode int32) int32 { /* sqlite3.c:60479:20: */ +func Xsqlite3PagerSetJournalMode(tls *libc.TLS, pPager uintptr, eMode int32) int32 { /* sqlite3.c:60489:20: */ var eOld U8 = (*Pager)(unsafe.Pointer(pPager)).FjournalMode // Prior journalmode // The eMode parameter is always valid @@ -38010,14 +38020,14 @@ func Xsqlite3PagerSetJournalMode(tls *libc.TLS, pPager uintptr, eMode int32) int } // Return the current journal mode. -func Xsqlite3PagerGetJournalMode(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:60569:20: */ +func Xsqlite3PagerGetJournalMode(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:60579:20: */ return int32((*Pager)(unsafe.Pointer(pPager)).FjournalMode) } // Return TRUE if the pager is in a state where it is OK to change the // journalmode. Journalmode changes can only happen when the database // is unmodified. -func Xsqlite3PagerOkToChangeJournalMode(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:60578:20: */ +func Xsqlite3PagerOkToChangeJournalMode(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:60588:20: */ if int32((*Pager)(unsafe.Pointer(pPager)).FeState) >= PAGER_WRITER_CACHEMOD { return 0 @@ -38032,7 +38042,7 @@ func Xsqlite3PagerOkToChangeJournalMode(tls *libc.TLS, pPager uintptr) int32 { / // // Setting the size limit to -1 means no limit is enforced. // An attempt to set a limit smaller than -1 is a no-op. -func Xsqlite3PagerJournalSizeLimit(tls *libc.TLS, pPager uintptr, iLimit I64) I64 { /* sqlite3.c:60591:20: */ +func Xsqlite3PagerJournalSizeLimit(tls *libc.TLS, pPager uintptr, iLimit I64) I64 { /* sqlite3.c:60601:20: */ if iLimit >= int64(-1) { (*Pager)(unsafe.Pointer(pPager)).FjournalSizeLimit = iLimit Xsqlite3WalLimit(tls, (*Pager)(unsafe.Pointer(pPager)).FpWal, iLimit) @@ -38044,12 +38054,12 @@ func Xsqlite3PagerJournalSizeLimit(tls *libc.TLS, pPager uintptr, iLimit I64) I6 // in backup.c maintains the content of this variable. This module // uses it opaquely as an argument to sqlite3BackupRestart() and // sqlite3BackupUpdate() only. -func Xsqlite3PagerBackupPtr(tls *libc.TLS, pPager uintptr) uintptr { /* sqlite3.c:60605:31: */ +func Xsqlite3PagerBackupPtr(tls *libc.TLS, pPager uintptr) uintptr { /* sqlite3.c:60615:31: */ return pPager + 92 } // Unless this is an in-memory or temporary database, clear the pager cache. -func Xsqlite3PagerClearCache(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:60613:21: */ +func Xsqlite3PagerClearCache(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:60623:21: */ if int32((*Pager)(unsafe.Pointer(pPager)).FtempFile) == 0 { pager_reset(tls, pPager) @@ -38061,7 +38071,7 @@ func Xsqlite3PagerClearCache(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:60613 // or wal_blocking_checkpoint() API functions. // // Parameter eMode is one of SQLITE_CHECKPOINT_PASSIVE, FULL or RESTART. -func Xsqlite3PagerCheckpoint(tls *libc.TLS, pPager uintptr, db uintptr, eMode int32, pnLog uintptr, pnCkpt uintptr) int32 { /* sqlite3.c:60628:20: */ +func Xsqlite3PagerCheckpoint(tls *libc.TLS, pPager uintptr, db uintptr, eMode int32, pnLog uintptr, pnCkpt uintptr) int32 { /* sqlite3.c:60638:20: */ var rc int32 = SQLITE_OK if (*Pager)(unsafe.Pointer(pPager)).FpWal == uintptr(0) && int32((*Pager)(unsafe.Pointer(pPager)).FjournalMode) == PAGER_JOURNALMODE_WAL { // This only happens when a database file is zero bytes in size opened and @@ -38089,13 +38099,13 @@ func Xsqlite3PagerCheckpoint(tls *libc.TLS, pPager uintptr, db uintptr, eMode in return rc } -func Xsqlite3PagerWalCallback(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:60659:20: */ +func Xsqlite3PagerWalCallback(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:60669:20: */ return Xsqlite3WalCallback(tls, (*Pager)(unsafe.Pointer(pPager)).FpWal) } // Return true if the underlying VFS for the given pager supports the // primitives necessary for write-ahead logging. -func Xsqlite3PagerWalSupported(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:60667:20: */ +func Xsqlite3PagerWalSupported(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:60677:20: */ var pMethods uintptr = (*Sqlite3_file)(unsafe.Pointer((*Pager)(unsafe.Pointer(pPager)).Ffd)).FpMethods if (*Pager)(unsafe.Pointer(pPager)).FnoLock != 0 { return 0 @@ -38105,7 +38115,7 @@ func Xsqlite3PagerWalSupported(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3 // Attempt to take an exclusive lock on the database file. If a PENDING lock // is obtained instead, immediately release it. -func pagerExclusiveLock(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:60677:12: */ +func pagerExclusiveLock(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:60687:12: */ var rc int32 // Return code rc = pagerLockDb(tls, pPager, EXCLUSIVE_LOCK) @@ -38122,7 +38132,7 @@ func pagerExclusiveLock(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:6067 // exclusive-locking mode when this function is called, take an EXCLUSIVE // lock on the database file and use heap-memory to store the wal-index // in. Otherwise, use the normal shared-memory. -func pagerOpenWal(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:60697:12: */ +func pagerOpenWal(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:60707:12: */ var rc int32 = SQLITE_OK // If the pager is already in exclusive-mode, the WAL module will use @@ -38158,7 +38168,7 @@ func pagerOpenWal(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:60697:12: // If the pager is open on a temp-file (or in-memory database), or if // the WAL file is already open, set *pbOpen to 1 and return SQLITE_OK // without doing anything. -func Xsqlite3PagerOpenWal(tls *libc.TLS, pPager uintptr, pbOpen uintptr) int32 { /* sqlite3.c:60742:20: */ +func Xsqlite3PagerOpenWal(tls *libc.TLS, pPager uintptr, pbOpen uintptr) int32 { /* sqlite3.c:60752:20: */ var rc int32 = SQLITE_OK // Return code if !(int32((*Pager)(unsafe.Pointer(pPager)).FtempFile) != 0) && !(int32((*Pager)(unsafe.Pointer(pPager)).FpWal) != 0) { @@ -38188,7 +38198,7 @@ func Xsqlite3PagerOpenWal(tls *libc.TLS, pPager uintptr, pbOpen uintptr) int32 { // EXCLUSIVE lock on the database file. If this cannot be obtained, an // error (SQLITE_BUSY) is returned and the log connection is not closed. // If successful, the EXCLUSIVE lock is not released before returning. -func Xsqlite3PagerCloseWal(tls *libc.TLS, pPager uintptr, db uintptr) int32 { /* sqlite3.c:60781:20: */ +func Xsqlite3PagerCloseWal(tls *libc.TLS, pPager uintptr, db uintptr) int32 { /* sqlite3.c:60791:20: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -38228,7 +38238,7 @@ func Xsqlite3PagerCloseWal(tls *libc.TLS, pPager uintptr, db uintptr) int32 { /* // If this is a WAL database, obtain a snapshot handle for the snapshot // currently open. Otherwise, return an error. -func Xsqlite3PagerSnapshotGet(tls *libc.TLS, pPager uintptr, ppSnapshot uintptr) int32 { /* sqlite3.c:60850:20: */ +func Xsqlite3PagerSnapshotGet(tls *libc.TLS, pPager uintptr, ppSnapshot uintptr) int32 { /* sqlite3.c:60860:20: */ var rc int32 = SQLITE_ERROR if (*Pager)(unsafe.Pointer(pPager)).FpWal != 0 { rc = Xsqlite3WalSnapshotGet(tls, (*Pager)(unsafe.Pointer(pPager)).FpWal, ppSnapshot) @@ -38239,7 +38249,7 @@ func Xsqlite3PagerSnapshotGet(tls *libc.TLS, pPager uintptr, ppSnapshot uintptr) // If this is a WAL database, store a pointer to pSnapshot. Next time a // read transaction is opened, attempt to read from the snapshot it // identifies. If this is not a WAL database, return an error. -func Xsqlite3PagerSnapshotOpen(tls *libc.TLS, pPager uintptr, pSnapshot uintptr) int32 { /* sqlite3.c:60863:20: */ +func Xsqlite3PagerSnapshotOpen(tls *libc.TLS, pPager uintptr, pSnapshot uintptr) int32 { /* sqlite3.c:60873:20: */ var rc int32 = SQLITE_OK if (*Pager)(unsafe.Pointer(pPager)).FpWal != 0 { Xsqlite3WalSnapshotOpen(tls, (*Pager)(unsafe.Pointer(pPager)).FpWal, pSnapshot) @@ -38251,7 +38261,7 @@ func Xsqlite3PagerSnapshotOpen(tls *libc.TLS, pPager uintptr, pSnapshot uintptr) // If this is a WAL database, call sqlite3WalSnapshotRecover(). If this // is not a WAL database, return an error. -func Xsqlite3PagerSnapshotRecover(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:60880:20: */ +func Xsqlite3PagerSnapshotRecover(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:60890:20: */ var rc int32 if (*Pager)(unsafe.Pointer(pPager)).FpWal != 0 { rc = Xsqlite3WalSnapshotRecover(tls, (*Pager)(unsafe.Pointer(pPager)).FpWal) @@ -38271,7 +38281,7 @@ func Xsqlite3PagerSnapshotRecover(tls *libc.TLS, pPager uintptr) int32 { /* sqli // the CHECKPOINTER lock cannot be obtained, SQLITE_BUSY. If any error // occurs (any value other than SQLITE_OK is returned), the CHECKPOINTER // lock is released before returning. -func Xsqlite3PagerSnapshotCheck(tls *libc.TLS, pPager uintptr, pSnapshot uintptr) int32 { /* sqlite3.c:60902:20: */ +func Xsqlite3PagerSnapshotCheck(tls *libc.TLS, pPager uintptr, pSnapshot uintptr) int32 { /* sqlite3.c:60912:20: */ var rc int32 if (*Pager)(unsafe.Pointer(pPager)).FpWal != 0 { rc = Xsqlite3WalSnapshotCheck(tls, (*Pager)(unsafe.Pointer(pPager)).FpWal, pSnapshot) @@ -38283,7 +38293,7 @@ func Xsqlite3PagerSnapshotCheck(tls *libc.TLS, pPager uintptr, pSnapshot uintptr // Release a lock obtained by an earlier successful call to // sqlite3PagerSnapshotCheck(). -func Xsqlite3PagerSnapshotUnlock(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:60916:21: */ +func Xsqlite3PagerSnapshotUnlock(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:60926:21: */ Xsqlite3WalSnapshotUnlock(tls, (*Pager)(unsafe.Pointer(pPager)).FpWal) } @@ -38862,7 +38872,7 @@ type WalIndexHdr1 = struct { // byte. // Object declarations -type WalIndexHdr = WalIndexHdr1 /* sqlite3.c:61244:28 */ +type WalIndexHdr = WalIndexHdr1 /* sqlite3.c:61254:28 */ type WalIterator1 = struct { FiPrior U32 FnSegment int32 @@ -38873,18 +38883,18 @@ type WalIterator1 = struct { FnEntry int32 FiZero int32 } -} /* sqlite3.c:61245:9 */ +} /* sqlite3.c:61255:9 */ -type WalIterator = WalIterator1 /* sqlite3.c:61245:28 */ +type WalIterator = WalIterator1 /* sqlite3.c:61255:28 */ type WalCkptInfo1 = struct { FnBackfill U32 FaReadMark [5]U32 FaLock [8]U8 FnBackfillAttempted U32 FnotUsed0 U32 -} /* sqlite3.c:61246:9 */ +} /* sqlite3.c:61256:9 */ -type WalCkptInfo = WalCkptInfo1 /* sqlite3.c:61246:28 */ +type WalCkptInfo = WalCkptInfo1 /* sqlite3.c:61256:28 */ // Candidate values for Wal.exclusiveMode. @@ -38892,7 +38902,7 @@ type WalCkptInfo = WalCkptInfo1 /* sqlite3.c:61246:28 */ // Each page of the wal-index mapping contains a hash-table made up of // an array of HASHTABLE_NSLOT elements of the following type. -type Ht_slot = U16 /* sqlite3.c:61501:13 */ +type Ht_slot = U16 /* sqlite3.c:61511:13 */ // 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 @@ -38913,7 +38923,7 @@ type WalSegment = struct { FaPgno uintptr FnEntry int32 FiZero int32 -} /* sqlite3.c:61245:9 */ +} /* sqlite3.c:61255:9 */ // Define the parameters of the hash tables in the wal-index file. There // is a hash-table following every HASHTABLE_NPAGE page numbers in the @@ -38944,7 +38954,7 @@ type WalSegment = struct { // (3) rc==SQLITE_OK and *ppPage==NULL // only if iPage==0 // // Scenario (3) can only occur when pWal->writeLock is false and iPage==0 -func walIndexPageRealloc(tls *libc.TLS, pWal uintptr, iPage int32, ppPage uintptr) int32 { /* sqlite3.c:61572:28: */ +func walIndexPageRealloc(tls *libc.TLS, pWal uintptr, iPage int32, ppPage uintptr) int32 { /* sqlite3.c:61582:28: */ var rc int32 = SQLITE_OK // Enlarge the pWal->apWiData[] array if required @@ -38990,7 +39000,7 @@ func walIndexPageRealloc(tls *libc.TLS, pWal uintptr, iPage int32, ppPage uintpt return rc } -func walIndexPage(tls *libc.TLS, pWal uintptr, iPage int32, ppPage uintptr) int32 { /* sqlite3.c:61621:12: */ +func walIndexPage(tls *libc.TLS, pWal uintptr, iPage int32, ppPage uintptr) int32 { /* sqlite3.c:61631:12: */ if (*Wal)(unsafe.Pointer(pWal)).FnWiData <= iPage || libc.AssignPtrUintptr(ppPage, *(*uintptr)(unsafe.Pointer((*Wal)(unsafe.Pointer(pWal)).FapWiData + uintptr(iPage)*4))) == uintptr(0) { return walIndexPageRealloc(tls, pWal, iPage, ppPage) } @@ -38998,13 +39008,13 @@ func walIndexPage(tls *libc.TLS, pWal uintptr, iPage int32, ppPage uintptr) int3 } // Return a pointer to the WalCkptInfo structure in the wal-index. -func walCkptInfo(tls *libc.TLS, pWal uintptr) uintptr { /* sqlite3.c:61635:29: */ +func walCkptInfo(tls *libc.TLS, pWal uintptr) uintptr { /* sqlite3.c:61645:29: */ return *(*uintptr)(unsafe.Pointer((*Wal)(unsafe.Pointer(pWal)).FapWiData)) + 24*4 } // Return a pointer to the WalIndexHdr structure in the wal-index. -func walIndexHdr(tls *libc.TLS, pWal uintptr) uintptr { /* sqlite3.c:61643:29: */ +func walIndexHdr(tls *libc.TLS, pWal uintptr) uintptr { /* sqlite3.c:61653:29: */ return *(*uintptr)(unsafe.Pointer((*Wal)(unsafe.Pointer(pWal)).FapWiData)) } @@ -39022,7 +39032,7 @@ func walIndexHdr(tls *libc.TLS, pWal uintptr) uintptr { /* sqlite3.c:61643:29: * // The checksum is written back into aOut[] before returning. // // nByte must be a positive multiple of 8. -func walChecksumBytes(tls *libc.TLS, nativeCksum int32, a uintptr, nByte int32, aIn uintptr, aOut uintptr) { /* sqlite3.c:61669:13: */ +func walChecksumBytes(tls *libc.TLS, nativeCksum int32, a uintptr, nByte int32, aIn uintptr, aOut uintptr) { /* sqlite3.c:61679:13: */ var s1 U32 var s2 U32 var aData uintptr = a @@ -39054,7 +39064,7 @@ func walChecksumBytes(tls *libc.TLS, nativeCksum int32, a uintptr, nByte int32, // If there is the possibility of concurrent access to the SHM file // from multiple threads and/or processes, then do a memory barrier. -func walShmBarrier(tls *libc.TLS, pWal uintptr) { /* sqlite3.c:61712:13: */ +func walShmBarrier(tls *libc.TLS, pWal uintptr) { /* sqlite3.c:61722:13: */ if int32((*Wal)(unsafe.Pointer(pWal)).FexclusiveMode) != WAL_HEAPMEMORY_MODE { Xsqlite3OsShmBarrier(tls, (*Wal)(unsafe.Pointer(pWal)).FpDbFd) } @@ -39069,7 +39079,7 @@ func walShmBarrier(tls *libc.TLS, pWal uintptr) { /* sqlite3.c:61712:13: */ // Write the header information in pWal->hdr into the wal-index. // // The checksum on pWal->hdr is updated before it is written. -func walIndexWriteHdr(tls *libc.TLS, pWal uintptr) { /* sqlite3.c:61736:28: */ +func walIndexWriteHdr(tls *libc.TLS, pWal uintptr) { /* sqlite3.c:61746:28: */ var aHdr uintptr = walIndexHdr(tls, pWal) var nCksum int32 = int32(uintptr(0) + 40) @@ -39093,7 +39103,7 @@ func walIndexWriteHdr(tls *libc.TLS, pWal uintptr) { /* sqlite3.c:61736:28: */ // 12: Salt-2 (copied from the wal-header) // 16: Checksum-1. // 20: Checksum-2. -func walEncodeFrame(tls *libc.TLS, pWal uintptr, iPage U32, nTruncate U32, aData uintptr, aFrame uintptr) { /* sqlite3.c:61763:13: */ +func walEncodeFrame(tls *libc.TLS, pWal uintptr, iPage U32, nTruncate U32, aData uintptr, aFrame uintptr) { /* sqlite3.c:61773:13: */ var nativeCksum int32 // True for native byte-order checksums var aCksum uintptr = pWal + 52 + 24 @@ -39116,7 +39126,7 @@ func walEncodeFrame(tls *libc.TLS, pWal uintptr, iPage U32, nTruncate U32, aData // Check to see if the frame with header in aFrame[] and content // in aData[] is valid. If it is a valid frame, fill *piPage and // *pnTruncate and return true. Return if the frame is not valid. -func walDecodeFrame(tls *libc.TLS, pWal uintptr, piPage uintptr, pnTruncate uintptr, aData uintptr, aFrame uintptr) int32 { /* sqlite3.c:61794:12: */ +func walDecodeFrame(tls *libc.TLS, pWal uintptr, piPage uintptr, pnTruncate uintptr, aData uintptr, aFrame uintptr) int32 { /* sqlite3.c:61804:12: */ var nativeCksum int32 // True for native byte-order checksums var aCksum uintptr = pWal + 52 + 24 var pgno U32 // Page number of the frame @@ -39158,7 +39168,7 @@ func walDecodeFrame(tls *libc.TLS, pWal uintptr, piPage uintptr, pnTruncate uint // through the unlocked state first. // // In locking_mode=EXCLUSIVE, all of these routines become no-ops. -func walLockShared(tls *libc.TLS, pWal uintptr, lockIdx int32) int32 { /* sqlite3.c:61873:12: */ +func walLockShared(tls *libc.TLS, pWal uintptr, lockIdx int32) int32 { /* sqlite3.c:61883:12: */ var rc int32 if (*Wal)(unsafe.Pointer(pWal)).FexclusiveMode != 0 { return SQLITE_OK @@ -39169,7 +39179,7 @@ func walLockShared(tls *libc.TLS, pWal uintptr, lockIdx int32) int32 { /* sqlite return rc } -func walUnlockShared(tls *libc.TLS, pWal uintptr, lockIdx int32) { /* sqlite3.c:61883:13: */ +func walUnlockShared(tls *libc.TLS, pWal uintptr, lockIdx int32) { /* sqlite3.c:61893:13: */ if (*Wal)(unsafe.Pointer(pWal)).FexclusiveMode != 0 { return } @@ -39178,7 +39188,7 @@ func walUnlockShared(tls *libc.TLS, pWal uintptr, lockIdx int32) { /* sqlite3.c: } -func walLockExclusive(tls *libc.TLS, pWal uintptr, lockIdx int32, n int32) int32 { /* sqlite3.c:61889:12: */ +func walLockExclusive(tls *libc.TLS, pWal uintptr, lockIdx int32, n int32) int32 { /* sqlite3.c:61899:12: */ var rc int32 if (*Wal)(unsafe.Pointer(pWal)).FexclusiveMode != 0 { return SQLITE_OK @@ -39189,7 +39199,7 @@ func walLockExclusive(tls *libc.TLS, pWal uintptr, lockIdx int32, n int32) int32 return rc } -func walUnlockExclusive(tls *libc.TLS, pWal uintptr, lockIdx int32, n int32) { /* sqlite3.c:61899:13: */ +func walUnlockExclusive(tls *libc.TLS, pWal uintptr, lockIdx int32, n int32) { /* sqlite3.c:61909:13: */ if (*Wal)(unsafe.Pointer(pWal)).FexclusiveMode != 0 { return } @@ -39201,12 +39211,12 @@ func walUnlockExclusive(tls *libc.TLS, pWal uintptr, lockIdx int32, n int32) { / // Compute a hash on a page number. The resulting hash value must land // between 0 and (HASHTABLE_NSLOT-1). The walHashNext() function advances // the hash to the next value in the event of a collision. -func walHash(tls *libc.TLS, iPage U32) int32 { /* sqlite3.c:61912:12: */ +func walHash(tls *libc.TLS, iPage U32) int32 { /* sqlite3.c:61922:12: */ return int32(iPage * U32(HASHTABLE_HASH_1) & U32(HASHTABLE_NPAGE*2-1)) } -func walNextHash(tls *libc.TLS, iPriorHash int32) int32 { /* sqlite3.c:61917:12: */ +func walNextHash(tls *libc.TLS, iPriorHash int32) int32 { /* sqlite3.c:61927:12: */ return (iPriorHash + 1) & (HASHTABLE_NPAGE*2 - 1) } @@ -39217,12 +39227,12 @@ type WalHashLoc1 = struct { FaHash uintptr FaPgno uintptr FiZero U32 -} /* sqlite3.c:61926:9 */ +} /* sqlite3.c:61936:9 */ // An instance of the WalHashLoc object is used to describe the location // of a page hash table in the wal-index. This becomes the return value // from walHashGet(). -type WalHashLoc = WalHashLoc1 /* sqlite3.c:61926:27 */ +type WalHashLoc = WalHashLoc1 /* sqlite3.c:61936:27 */ // Return pointers to the hash table and page number array stored on // page iHash of the wal-index. The wal-index is broken into 32KB pages @@ -39236,7 +39246,7 @@ type WalHashLoc = WalHashLoc1 /* sqlite3.c:61926:27 */ // // Finally, set pLoc->aPgno so that pLoc->aPgno[0] is the page number of the // first frame indexed by the hash table, frame (pLoc->iZero). -func walHashGet(tls *libc.TLS, pWal uintptr, iHash int32, pLoc uintptr) int32 { /* sqlite3.c:61947:12: */ +func walHashGet(tls *libc.TLS, pWal uintptr, iHash int32, pLoc uintptr) int32 { /* sqlite3.c:61957:12: */ var rc int32 // Return code rc = walIndexPage(tls, pWal, iHash, pLoc+4) @@ -39259,14 +39269,14 @@ func walHashGet(tls *libc.TLS, pWal uintptr, iHash int32, pLoc uintptr) int32 { // and page-number array that contain entries corresponding to WAL frame // iFrame. The wal-index is broken up into 32KB pages. Wal-index pages // are numbered starting from 0. -func walFramePage(tls *libc.TLS, iFrame U32) int32 { /* sqlite3.c:61977:12: */ +func walFramePage(tls *libc.TLS, iFrame U32) int32 { /* sqlite3.c:61987:12: */ var iHash int32 = int32((iFrame + U32(HASHTABLE_NPAGE) - (uint32(HASHTABLE_NPAGE) - (uint32(unsafe.Sizeof(WalIndexHdr{}))*uint32(2)+uint32(unsafe.Sizeof(WalCkptInfo{})))/uint32(unsafe.Sizeof(U32(0)))) - U32(1)) / U32(HASHTABLE_NPAGE)) return iHash } // Return the page number associated with frame iFrame in this WAL. -func walFramePgno(tls *libc.TLS, pWal uintptr, iFrame U32) U32 { /* sqlite3.c:61992:12: */ +func walFramePgno(tls *libc.TLS, pWal uintptr, iFrame U32) U32 { /* sqlite3.c:62002:12: */ var iHash int32 = walFramePage(tls, iFrame) if iHash == 0 { return *(*U32)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer((*Wal)(unsafe.Pointer(pWal)).FapWiData)) + uintptr((uint32(unsafe.Sizeof(WalIndexHdr{}))*uint32(2)+uint32(unsafe.Sizeof(WalCkptInfo{})))/uint32(unsafe.Sizeof(U32(0)))+iFrame-uint32(1))*4)) @@ -39284,7 +39294,7 @@ func walFramePgno(tls *libc.TLS, pWal uintptr, iFrame U32) U32 { /* sqlite3.c:61 // updated. Any later hash tables will be automatically cleared when // pWal->hdr.mxFrame advances to the point where those hash tables are // actually needed. -func walCleanupHash(tls *libc.TLS, pWal uintptr) { /* sqlite3.c:62012:13: */ +func walCleanupHash(tls *libc.TLS, pWal uintptr) { /* sqlite3.c:62022:13: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -39327,7 +39337,7 @@ func walCleanupHash(tls *libc.TLS, pWal uintptr) { /* sqlite3.c:62012:13: */ // Set an entry in the wal-index that will map database page number // pPage into WAL frame iFrame. -func walIndexAppend(tls *libc.TLS, pWal uintptr, iFrame U32, iPage U32) int32 { /* sqlite3.c:62074:12: */ +func walIndexAppend(tls *libc.TLS, pWal uintptr, iFrame U32, iPage U32) int32 { /* sqlite3.c:62084:12: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -39368,7 +39378,7 @@ func walIndexAppend(tls *libc.TLS, pWal uintptr, iFrame U32, iPage U32) int32 { nCollide = idx for iKey = walHash(tls, iPage); *(*Ht_slot)(unsafe.Pointer((*WalHashLoc)(unsafe.Pointer(bp /* &sLoc */)).FaHash + uintptr(iKey)*2)) != 0; iKey = walNextHash(tls, iKey) { if libc.PostDecInt32(&nCollide, 1) == 0 { - return Xsqlite3CorruptError(tls, 62114) + return Xsqlite3CorruptError(tls, 62124) } } *(*U32)(unsafe.Pointer((*WalHashLoc)(unsafe.Pointer(bp /* &sLoc */)).FaPgno + uintptr(idx-1)*4)) = iPage @@ -39387,7 +39397,7 @@ func walIndexAppend(tls *libc.TLS, pWal uintptr, iFrame U32, iPage U32) int32 { // WAL_RECOVER_LOCK is also held so that other threads will know // that this thread is running recovery. If unable to establish // the necessary locks, this routine returns SQLITE_BUSY. -func walIndexRecover(tls *libc.TLS, pWal uintptr) int32 { /* sqlite3.c:62163:12: */ +func walIndexRecover(tls *libc.TLS, pWal uintptr) int32 { /* sqlite3.c:62173:12: */ bp := tls.Alloc(76) defer tls.Free(76) @@ -39502,7 +39512,7 @@ __6: if !(version != U32(WAL_MAX_VERSION)) { goto __7 } - rc = Xsqlite3CantopenError(tls, 62246) + rc = Xsqlite3CantopenError(tls, 62256) goto finished __7: ; @@ -39706,7 +39716,7 @@ recovery_error: } // Close an open wal-index. -func walIndexClose(tls *libc.TLS, pWal uintptr, isDelete int32) { /* sqlite3.c:62386:13: */ +func walIndexClose(tls *libc.TLS, pWal uintptr, isDelete int32) { /* sqlite3.c:62396:13: */ if int32((*Wal)(unsafe.Pointer(pWal)).FexclusiveMode) == WAL_HEAPMEMORY_MODE || (*Wal)(unsafe.Pointer(pWal)).FbShmUnreliable != 0 { var i int32 for i = 0; i < (*Wal)(unsafe.Pointer(pWal)).FnWiData; i++ { @@ -39732,7 +39742,7 @@ func walIndexClose(tls *libc.TLS, pWal uintptr, isDelete int32) { /* sqlite3.c:6 // If the log file is successfully opened, SQLITE_OK is returned and // *ppWal is set to point to a new WAL handle. If an error occurs, // an SQLite error code is returned and *ppWal is left unmodified. -func Xsqlite3WalOpen(tls *libc.TLS, pVfs uintptr, pDbFd uintptr, zWalName uintptr, bNoShm int32, mxWalSize I64, ppWal uintptr) int32 { /* sqlite3.c:62414:20: */ +func Xsqlite3WalOpen(tls *libc.TLS, pVfs uintptr, pDbFd uintptr, zWalName uintptr, bNoShm int32, mxWalSize I64, ppWal uintptr) int32 { /* sqlite3.c:62424:20: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -39804,7 +39814,7 @@ func Xsqlite3WalOpen(tls *libc.TLS, pVfs uintptr, pDbFd uintptr, zWalName uintpt } // Change the size to which the WAL file is trucated on each reset. -func Xsqlite3WalLimit(tls *libc.TLS, pWal uintptr, iLimit I64) { /* sqlite3.c:62517:21: */ +func Xsqlite3WalLimit(tls *libc.TLS, pWal uintptr, iLimit I64) { /* sqlite3.c:62527:21: */ if pWal != 0 { (*Wal)(unsafe.Pointer(pWal)).FmxWalSize = iLimit } @@ -39818,7 +39828,7 @@ func Xsqlite3WalLimit(tls *libc.TLS, pWal uintptr, iLimit I64) { /* sqlite3.c:62 // // Return 0 on success. If there are no pages in the WAL with a page // number larger than *piPage, then return 1. -func walIteratorNext(tls *libc.TLS, p uintptr, piPage uintptr, piFrame uintptr) int32 { /* sqlite3.c:62531:12: */ +func walIteratorNext(tls *libc.TLS, p uintptr, piPage uintptr, piFrame uintptr) int32 { /* sqlite3.c:62541:12: */ var iMin U32 // Result pgno must be greater than iMin var iRet U32 = 0xFFFFFFFF // 0xffffffff is never a valid page number var i int32 // For looping through segments @@ -39865,7 +39875,7 @@ func walIteratorNext(tls *libc.TLS, p uintptr, piPage uintptr, piFrame uintptr) // aLeft[X]!=aRight[Y] && aContent[aLeft[X]] == aContent[aRight[Y]] // // When that happens, omit the aLeft[X] and use the aRight[Y] index. -func walMerge(tls *libc.TLS, aContent uintptr, aLeft uintptr, nLeft int32, paRight uintptr, pnRight uintptr, aTmp uintptr) { /* sqlite3.c:62584:13: */ +func walMerge(tls *libc.TLS, aContent uintptr, aLeft uintptr, nLeft int32, paRight uintptr, pnRight uintptr, aTmp uintptr) { /* sqlite3.c:62594:13: */ var iLeft int32 = 0 // Current index in aLeft var iRight int32 = 0 // Current index in aRight var iOut int32 = 0 // Current index in output buffer @@ -39911,7 +39921,7 @@ func walMerge(tls *libc.TLS, aContent uintptr, aLeft uintptr, nLeft int32, paRig // // Keep the larger of the two values aList[X] and aList[Y] and discard // the smaller. -func walMergesort(tls *libc.TLS, aContent uintptr, aBuffer uintptr, aList uintptr, pnList uintptr) { /* sqlite3.c:62641:13: */ +func walMergesort(tls *libc.TLS, aContent uintptr, aBuffer uintptr, aList uintptr, pnList uintptr) { /* sqlite3.c:62651:13: */ bp := tls.Alloc(112) defer tls.Free(112) @@ -39956,10 +39966,10 @@ func walMergesort(tls *libc.TLS, aContent uintptr, aBuffer uintptr, aList uintpt type Sublist = struct { FnList int32 FaList uintptr -} /* sqlite3.c:62647:3 */ +} /* sqlite3.c:62657:3 */ // Free an iterator allocated by walIteratorInit(). -func walIteratorFree(tls *libc.TLS, p uintptr) { /* sqlite3.c:62704:13: */ +func walIteratorFree(tls *libc.TLS, p uintptr) { /* sqlite3.c:62714:13: */ Xsqlite3_free(tls, p) } @@ -39974,7 +39984,7 @@ func walIteratorFree(tls *libc.TLS, p uintptr) { /* sqlite3.c:62704:13: */ // // The calling routine should invoke walIteratorFree() to destroy the // WalIterator object when it has finished with it. -func walIteratorInit(tls *libc.TLS, pWal uintptr, nBackfill U32, pp uintptr) int32 { /* sqlite3.c:62721:12: */ +func walIteratorInit(tls *libc.TLS, pWal uintptr, nBackfill U32, pp uintptr) int32 { /* sqlite3.c:62731:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -40058,7 +40068,7 @@ func walIteratorInit(tls *libc.TLS, pWal uintptr, nBackfill U32, pp uintptr) int // n. If the attempt fails and parameter xBusy is not NULL, then it is a // 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) int32 { /* sqlite3.c:62884:12: */ +func walBusyLock(tls *libc.TLS, pWal uintptr, xBusy uintptr, pBusyArg uintptr, lockIdx int32, n int32) int32 { /* sqlite3.c:62894:12: */ var rc int32 for __ccgo := true; __ccgo; __ccgo = xBusy != 0 && rc == SQLITE_BUSY && (*struct { f func(*libc.TLS, uintptr) int32 @@ -40070,7 +40080,7 @@ func walBusyLock(tls *libc.TLS, pWal uintptr, xBusy uintptr, pBusyArg uintptr, l // The cache of the wal-index header must be valid to call this function. // Return the page-size in bytes used by the database. -func walPagesize(tls *libc.TLS, pWal uintptr) int32 { /* sqlite3.c:62908:12: */ +func walPagesize(tls *libc.TLS, pWal uintptr) int32 { /* sqlite3.c:62918:12: */ return int32((*Wal)(unsafe.Pointer(pWal)).Fhdr.FszPage)&0xfe00 + int32((*Wal)(unsafe.Pointer(pWal)).Fhdr.FszPage)&0x0001<<16 } @@ -40089,7 +40099,7 @@ func walPagesize(tls *libc.TLS, pWal uintptr) int32 { /* sqlite3.c:62908:12: */ // The value of parameter salt1 is used as the aSalt[1] value in the // new wal-index header. It should be passed a pseudo-random value (i.e. // one obtained from sqlite3_randomness()). -func walRestartHdr(tls *libc.TLS, pWal uintptr, salt1 U32) { /* sqlite3.c:62929:13: */ +func walRestartHdr(tls *libc.TLS, pWal uintptr, salt1 U32) { /* sqlite3.c:62939:13: */ bp := tls.Alloc(4) defer tls.Free(4) *(*U32)(unsafe.Pointer(bp)) = salt1 @@ -40140,7 +40150,7 @@ func walRestartHdr(tls *libc.TLS, pWal uintptr, salt1 U32) { /* sqlite3.c:62929: // The caller must be holding sufficient locks to ensure that no other // 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) int32 { /* sqlite3.c:62976:12: */ +func walCheckpoint(tls *libc.TLS, pWal uintptr, db uintptr, eMode int32, xBusy uintptr, pBusyArg uintptr, sync_flags int32, zBuf uintptr) int32 { /* sqlite3.c:62986:12: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -40271,7 +40281,7 @@ __10: // 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 = Xsqlite3CorruptError(tls, 63060) + rc = Xsqlite3CorruptError(tls, 63070) goto __15 __14: Xsqlite3OsFileControlHint(tls, (*Wal)(unsafe.Pointer(pWal)).FpDbFd, SQLITE_FCNTL_SIZE_HINT, bp+12) @@ -40432,7 +40442,7 @@ walcheckpoint_out: // If the WAL file is currently larger than nMax bytes in size, truncate // it to exactly nMax bytes. If an error occurs while doing so, ignore it. -func walLimitSize(tls *libc.TLS, pWal uintptr, nMax I64) { /* sqlite3.c:63162:13: */ +func walLimitSize(tls *libc.TLS, pWal uintptr, nMax I64) { /* sqlite3.c:63172:13: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -40451,7 +40461,7 @@ func walLimitSize(tls *libc.TLS, pWal uintptr, nMax I64) { /* sqlite3.c:63162:13 } // Close a connection to a log file. -func Xsqlite3WalClose(tls *libc.TLS, pWal uintptr, db uintptr, sync_flags int32, nBuf int32, zBuf uintptr) int32 { /* sqlite3.c:63179:20: */ +func Xsqlite3WalClose(tls *libc.TLS, pWal uintptr, db uintptr, sync_flags int32, nBuf int32, zBuf uintptr) int32 { /* sqlite3.c:63189:20: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -40523,7 +40533,7 @@ func Xsqlite3WalClose(tls *libc.TLS, pWal uintptr, db uintptr, sync_flags int32, // // If the checksum cannot be verified return non-zero. If the header // is read successfully and the checksum verified, return zero. -func walIndexTryHdr(tls *libc.TLS, pWal uintptr, pChanged uintptr) int32 { /* sqlite3.c:63260:27: */ +func walIndexTryHdr(tls *libc.TLS, pWal uintptr, pChanged uintptr) int32 { /* sqlite3.c:63270:27: */ bp := tls.Alloc(104) defer tls.Free(104) @@ -40592,7 +40602,7 @@ func walIndexTryHdr(tls *libc.TLS, pWal uintptr, pChanged uintptr) int32 { /* sq // // If the wal-index header is successfully read, return SQLITE_OK. // Otherwise an SQLite error code. -func walIndexReadHdr(tls *libc.TLS, pWal uintptr, pChanged uintptr) int32 { /* sqlite3.c:63330:12: */ +func walIndexReadHdr(tls *libc.TLS, pWal uintptr, pChanged uintptr) int32 { /* sqlite3.c:63340:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -40672,7 +40682,7 @@ func walIndexReadHdr(tls *libc.TLS, pWal uintptr, pChanged uintptr) int32 { /* s // sure the wal-index was not constructed with some future format that // this version of SQLite cannot understand. if badHdr == 0 && (*Wal)(unsafe.Pointer(pWal)).Fhdr.FiVersion != U32(WALINDEX_MAX_VERSION) { - rc = Xsqlite3CantopenError(tls, 63409) + rc = Xsqlite3CantopenError(tls, 63419) } if (*Wal)(unsafe.Pointer(pWal)).FbShmUnreliable != 0 { if rc != SQLITE_OK { @@ -40717,7 +40727,7 @@ func walIndexReadHdr(tls *libc.TLS, pWal uintptr, pChanged uintptr) int32 { /* s // beginning (including attempting to map the *-shm file). // // If an error occurs, an SQLite error code is returned. -func walBeginShmUnreliable(tls *libc.TLS, pWal uintptr, pChanged uintptr) int32 { /* sqlite3.c:63454:12: */ +func walBeginShmUnreliable(tls *libc.TLS, pWal uintptr, pChanged uintptr) int32 { /* sqlite3.c:63464:12: */ bp := tls.Alloc(60) defer tls.Free(60) @@ -40983,7 +40993,7 @@ __15: // update values of the aReadMark[] array in the header, but if it does // so it takes care to hold an exclusive lock on the corresponding // WAL_READ_LOCK() while changing values. -func walTryBeginRead(tls *libc.TLS, pWal uintptr, pChanged uintptr, useWal int32, cnt int32) int32 { /* sqlite3.c:63651:12: */ +func walTryBeginRead(tls *libc.TLS, pWal uintptr, pChanged uintptr, useWal int32, cnt int32) int32 { /* sqlite3.c:63661:12: */ var pInfo uintptr // Checkpoint information in wal-index var mxReadMark U32 // Largest aReadMark[] value var mxI int32 // Index of largest aReadMark[] value @@ -41200,7 +41210,7 @@ func walTryBeginRead(tls *libc.TLS, pWal uintptr, pChanged uintptr, useWal int32 // SQLITE_OK is returned if successful, or an SQLite error code if an // error occurs. It is not an error if nBackfillAttempted cannot be // decreased at all. -func Xsqlite3WalSnapshotRecover(tls *libc.TLS, pWal uintptr) int32 { /* sqlite3.c:63881:20: */ +func Xsqlite3WalSnapshotRecover(tls *libc.TLS, pWal uintptr) int32 { /* sqlite3.c:63891:20: */ bp := tls.Alloc(20) defer tls.Free(20) @@ -41274,7 +41284,7 @@ func Xsqlite3WalSnapshotRecover(tls *libc.TLS, pWal uintptr) int32 { /* sqlite3. // transaction, then *pChanged is set to 1 before returning. The // Pager layer will use this to know that its cache is stale and // needs to be flushed. -func Xsqlite3WalBeginReadTransaction(tls *libc.TLS, pWal uintptr, pChanged uintptr) int32 { /* sqlite3.c:63952:20: */ +func Xsqlite3WalBeginReadTransaction(tls *libc.TLS, pWal uintptr, pChanged uintptr) int32 { /* sqlite3.c:63962:20: */ var rc int32 // Return code var cnt int32 = 0 // Number of TryBeginRead attempts var bChanged int32 = 0 @@ -41362,7 +41372,7 @@ func Xsqlite3WalBeginReadTransaction(tls *libc.TLS, pWal uintptr, pChanged uintp // Finish with a read transaction. All this does is release the // read-lock. -func Xsqlite3WalEndReadTransaction(tls *libc.TLS, pWal uintptr) { /* sqlite3.c:64060:21: */ +func Xsqlite3WalEndReadTransaction(tls *libc.TLS, pWal uintptr) { /* sqlite3.c:64070:21: */ Xsqlite3WalEndWriteTransaction(tls, pWal) if int32((*Wal)(unsafe.Pointer(pWal)).FreadLock) >= 0 { walUnlockShared(tls, pWal, 3+int32((*Wal)(unsafe.Pointer(pWal)).FreadLock)) @@ -41376,7 +41386,7 @@ func Xsqlite3WalEndReadTransaction(tls *libc.TLS, pWal uintptr) { /* sqlite3.c:6 // // Return SQLITE_OK if successful, or an error code if an error occurs. If an // error does occur, the final value of *piRead is undefined. -func Xsqlite3WalFindFrame(tls *libc.TLS, pWal uintptr, pgno Pgno, piRead uintptr) int32 { /* sqlite3.c:64076:20: */ +func Xsqlite3WalFindFrame(tls *libc.TLS, pWal uintptr, pgno Pgno, piRead uintptr) int32 { /* sqlite3.c:64086:20: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -41443,7 +41453,7 @@ func Xsqlite3WalFindFrame(tls *libc.TLS, pWal uintptr, pgno Pgno, piRead uintptr iRead = iFrame } if libc.PostDecInt32(&nCollide, 1) == 0 { - return Xsqlite3CorruptError(tls, 64146) + return Xsqlite3CorruptError(tls, 64156) } iKey = walNextHash(tls, iKey) } @@ -41459,7 +41469,7 @@ func Xsqlite3WalFindFrame(tls *libc.TLS, pWal uintptr, pgno Pgno, piRead uintptr // Read the contents of frame iRead from the wal file into buffer pOut // (which is nOut bytes in size). Return SQLITE_OK if successful, or an // error code otherwise. -func Xsqlite3WalReadFrame(tls *libc.TLS, pWal uintptr, iRead U32, nOut int32, pOut uintptr) int32 { /* sqlite3.c:64180:20: */ +func Xsqlite3WalReadFrame(tls *libc.TLS, pWal uintptr, iRead U32, nOut int32, pOut uintptr) int32 { /* sqlite3.c:64190:20: */ var sz int32 var iOffset I64 sz = int32((*Wal)(unsafe.Pointer(pWal)).Fhdr.FszPage) @@ -41476,7 +41486,7 @@ func Xsqlite3WalReadFrame(tls *libc.TLS, pWal uintptr, iRead U32, nOut int32, pO } // Return the size of the database in pages (or zero, if unknown). -func Xsqlite3WalDbsize(tls *libc.TLS, pWal uintptr) Pgno { /* sqlite3.c:64200:21: */ +func Xsqlite3WalDbsize(tls *libc.TLS, pWal uintptr) Pgno { /* sqlite3.c:64210:21: */ if pWal != 0 && int32((*Wal)(unsafe.Pointer(pWal)).FreadLock) >= 0 { return (*Wal)(unsafe.Pointer(pWal)).Fhdr.FnPage } @@ -41494,7 +41504,7 @@ func Xsqlite3WalDbsize(tls *libc.TLS, pWal uintptr) Pgno { /* sqlite3.c:64200:21 // returns SQLITE_BUSY in that case and no write transaction is started. // // There can only be a single writer active at a time. -func Xsqlite3WalBeginWriteTransaction(tls *libc.TLS, pWal uintptr) int32 { /* sqlite3.c:64221:20: */ +func Xsqlite3WalBeginWriteTransaction(tls *libc.TLS, pWal uintptr) int32 { /* sqlite3.c:64231:20: */ var rc int32 // Cannot start a write transaction without first holding a read @@ -41526,7 +41536,7 @@ func Xsqlite3WalBeginWriteTransaction(tls *libc.TLS, pWal uintptr) int32 { /* sq // End a write transaction. The commit has already been done. This // routine merely releases the lock. -func Xsqlite3WalEndWriteTransaction(tls *libc.TLS, pWal uintptr) int32 { /* sqlite3.c:64269:20: */ +func Xsqlite3WalEndWriteTransaction(tls *libc.TLS, pWal uintptr) int32 { /* sqlite3.c:64279:20: */ if (*Wal)(unsafe.Pointer(pWal)).FwriteLock != 0 { walUnlockExclusive(tls, pWal, WAL_WRITE_LOCK, 1) (*Wal)(unsafe.Pointer(pWal)).FwriteLock = U8(0) @@ -41546,7 +41556,7 @@ func Xsqlite3WalEndWriteTransaction(tls *libc.TLS, pWal uintptr) int32 { /* sqli // // Otherwise, if the callback function does not return an error, this // function returns SQLITE_OK. -func Xsqlite3WalUndo(tls *libc.TLS, pWal uintptr, xUndo uintptr, pUndoCtx uintptr) int32 { /* sqlite3.c:64291:20: */ +func Xsqlite3WalUndo(tls *libc.TLS, pWal uintptr, xUndo uintptr, pUndoCtx uintptr) int32 { /* sqlite3.c:64301:20: */ var rc int32 = SQLITE_OK if (*Wal)(unsafe.Pointer(pWal)).FwriteLock != 0 { var iMax Pgno = (*Wal)(unsafe.Pointer(pWal)).Fhdr.FmxFrame @@ -41583,7 +41593,7 @@ func Xsqlite3WalUndo(tls *libc.TLS, pWal uintptr, xUndo uintptr, pUndoCtx uintpt // values. This function populates the array with values required to // "rollback" the write position of the WAL handle back to the current // point in the event of a savepoint rollback (via WalSavepointUndo()). -func Xsqlite3WalSavepoint(tls *libc.TLS, pWal uintptr, aWalData uintptr) { /* sqlite3.c:64331:21: */ +func Xsqlite3WalSavepoint(tls *libc.TLS, pWal uintptr, aWalData uintptr) { /* sqlite3.c:64341:21: */ *(*U32)(unsafe.Pointer(aWalData)) = (*Wal)(unsafe.Pointer(pWal)).Fhdr.FmxFrame *(*U32)(unsafe.Pointer(aWalData + 1*4)) = *(*U32)(unsafe.Pointer(pWal + 52 + 24)) @@ -41595,7 +41605,7 @@ func Xsqlite3WalSavepoint(tls *libc.TLS, pWal uintptr, aWalData uintptr) { /* sq // the values in the aWalData[] array. aWalData must point to an array // of WAL_SAVEPOINT_NDATA u32 values that has been previously populated // by a call to WalSavepoint(). -func Xsqlite3WalSavepointUndo(tls *libc.TLS, pWal uintptr, aWalData uintptr) int32 { /* sqlite3.c:64345:20: */ +func Xsqlite3WalSavepointUndo(tls *libc.TLS, pWal uintptr, aWalData uintptr) int32 { /* sqlite3.c:64355:20: */ var rc int32 = SQLITE_OK if *(*U32)(unsafe.Pointer(aWalData + 3*4)) != (*Wal)(unsafe.Pointer(pWal)).FnCkpt { @@ -41626,7 +41636,7 @@ func Xsqlite3WalSavepointUndo(tls *libc.TLS, pWal uintptr, aWalData uintptr) int // SQLITE_OK is returned if no error is encountered (regardless of whether // or not pWal->hdr.mxFrame is modified). An SQLite error code is returned // if an error occurs. -func walRestartLog(tls *libc.TLS, pWal uintptr) int32 { /* sqlite3.c:64382:12: */ +func walRestartLog(tls *libc.TLS, pWal uintptr) int32 { /* sqlite3.c:64392:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -41680,12 +41690,12 @@ type WalWriter1 = struct { FiSyncPoint Sqlite3_int64 FsyncFlags int32 FszPage int32 -} /* sqlite3.c:64429:9 */ +} /* sqlite3.c:64439:9 */ // Information about the current state of the WAL file and where // the next fsync should occur - passed from sqlite3WalFrames() into // walWriteToLog(). -type WalWriter = WalWriter1 /* sqlite3.c:64435:3 */ +type WalWriter = WalWriter1 /* sqlite3.c:64445:3 */ // Write iAmt bytes of content into the WAL file beginning at iOffset. // Do a sync when crossing the p->iSyncPoint boundary. @@ -41693,7 +41703,7 @@ type WalWriter = WalWriter1 /* sqlite3.c:64435:3 */ // In other words, if iSyncPoint is in between iOffset and iOffset+iAmt, // first write the part before iSyncPoint, then sync, then write the // rest. -func walWriteToLog(tls *libc.TLS, p uintptr, pContent uintptr, iAmt int32, iOffset Sqlite3_int64) int32 { /* sqlite3.c:64445:12: */ +func walWriteToLog(tls *libc.TLS, p uintptr, pContent uintptr, iAmt int32, iOffset Sqlite3_int64) int32 { /* sqlite3.c:64455:12: */ var rc int32 if iOffset < (*WalWriter)(unsafe.Pointer(p)).FiSyncPoint && iOffset+Sqlite3_int64(iAmt) >= (*WalWriter)(unsafe.Pointer(p)).FiSyncPoint { var iFirstAmt int32 = int32((*WalWriter)(unsafe.Pointer(p)).FiSyncPoint - iOffset) @@ -41715,7 +41725,7 @@ func walWriteToLog(tls *libc.TLS, p uintptr, pContent uintptr, iAmt int32, iOffs } // Write out a single frame of the WAL -func walWriteOneFrame(tls *libc.TLS, p uintptr, pPage uintptr, nTruncate int32, iOffset Sqlite3_int64) int32 { /* sqlite3.c:64470:12: */ +func walWriteOneFrame(tls *libc.TLS, p uintptr, pPage uintptr, nTruncate int32, iOffset Sqlite3_int64) int32 { /* sqlite3.c:64480:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -41740,7 +41750,7 @@ func walWriteOneFrame(tls *libc.TLS, p uintptr, pPage uintptr, nTruncate int32, // with the earliest to have been overwritten. // // SQLITE_OK is returned if successful, or an SQLite error code otherwise. -func walRewriteChecksums(tls *libc.TLS, pWal uintptr, iLast U32) int32 { /* sqlite3.c:64496:12: */ +func walRewriteChecksums(tls *libc.TLS, pWal uintptr, iLast U32) int32 { /* sqlite3.c:64506:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -41794,7 +41804,7 @@ func walRewriteChecksums(tls *libc.TLS, pWal uintptr, iLast U32) int32 { /* sqli // Write a set of frames to the log. The caller must hold the write-lock // on the log file (obtained using sqlite3WalBeginWriteTransaction()). -func Xsqlite3WalFrames(tls *libc.TLS, pWal uintptr, szPage int32, pList uintptr, nTruncate Pgno, isCommit int32, sync_flags int32) int32 { /* sqlite3.c:64545:20: */ +func Xsqlite3WalFrames(tls *libc.TLS, pWal uintptr, szPage int32, pList uintptr, nTruncate Pgno, isCommit int32, sync_flags int32) int32 { /* sqlite3.c:64555:20: */ bp := tls.Alloc(68) defer tls.Free(68) @@ -42027,7 +42037,7 @@ func Xsqlite3WalFrames(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 Xsqlite3WalCheckpoint(tls *libc.TLS, pWal uintptr, db uintptr, eMode int32, xBusy uintptr, pBusyArg uintptr, sync_flags int32, nBuf int32, zBuf uintptr, pnLog uintptr, pnCkpt uintptr) int32 { /* sqlite3.c:64783:20: */ +func Xsqlite3WalCheckpoint(tls *libc.TLS, pWal uintptr, db uintptr, eMode int32, xBusy uintptr, pBusyArg uintptr, sync_flags int32, nBuf int32, zBuf uintptr, pnLog uintptr, pnCkpt uintptr) int32 { /* sqlite3.c:64793:20: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -42092,7 +42102,7 @@ func Xsqlite3WalCheckpoint(tls *libc.TLS, pWal uintptr, db uintptr, eMode int32, if rc == SQLITE_OK { if (*Wal)(unsafe.Pointer(pWal)).Fhdr.FmxFrame != 0 && walPagesize(tls, pWal) != nBuf { - rc = Xsqlite3CorruptError(tls, 64865) + rc = Xsqlite3CorruptError(tls, 64875) } else { rc = walCheckpoint(tls, pWal, db, eMode2, xBusy2, pBusyArg, sync_flags, zBuf) } @@ -42136,7 +42146,7 @@ func Xsqlite3WalCheckpoint(tls *libc.TLS, pWal uintptr, db uintptr, eMode int32, // number of frames in the WAL at the point of the last commit since // sqlite3WalCallback() was called. If no commits have occurred since // the last call, then return 0. -func Xsqlite3WalCallback(tls *libc.TLS, pWal uintptr) int32 { /* sqlite3.c:64908:20: */ +func Xsqlite3WalCallback(tls *libc.TLS, pWal uintptr) int32 { /* sqlite3.c:64918:20: */ var ret U32 = U32(0) if pWal != 0 { ret = (*Wal)(unsafe.Pointer(pWal)).FiCallback @@ -42167,7 +42177,7 @@ func Xsqlite3WalCallback(tls *libc.TLS, pWal uintptr) int32 { /* sqlite3.c:64908 // not actually change anything. The pager uses this to see if it // should acquire the database exclusive lock prior to invoking // the op==1 case. -func Xsqlite3WalExclusiveMode(tls *libc.TLS, pWal uintptr, op int32) int32 { /* sqlite3.c:64941:20: */ +func Xsqlite3WalExclusiveMode(tls *libc.TLS, pWal uintptr, op int32) int32 { /* sqlite3.c:64951:20: */ var rc int32 // pWal->readLock is usually set, but might be -1 if there was a @@ -42201,14 +42211,14 @@ func Xsqlite3WalExclusiveMode(tls *libc.TLS, pWal uintptr, op int32) int32 { /* // Return true if the argument is non-NULL and the WAL module is using // heap-memory for the wal-index. Otherwise, if the argument is NULL or the // WAL module is using shared-memory, return false. -func Xsqlite3WalHeapMemory(tls *libc.TLS, pWal uintptr) int32 { /* sqlite3.c:64983:20: */ +func Xsqlite3WalHeapMemory(tls *libc.TLS, pWal uintptr) int32 { /* sqlite3.c:64993:20: */ return libc.Bool32(pWal != 0 && int32((*Wal)(unsafe.Pointer(pWal)).FexclusiveMode) == WAL_HEAPMEMORY_MODE) } // Create a snapshot object. The content of a snapshot is opaque to // every other subsystem, so the WAL module can put whatever it needs // in the object. -func Xsqlite3WalSnapshotGet(tls *libc.TLS, pWal uintptr, ppSnapshot uintptr) int32 { /* sqlite3.c:64992:20: */ +func Xsqlite3WalSnapshotGet(tls *libc.TLS, pWal uintptr, ppSnapshot uintptr) int32 { /* sqlite3.c:65002:20: */ var rc int32 = SQLITE_OK var pRet uintptr @@ -42227,16 +42237,16 @@ func Xsqlite3WalSnapshotGet(tls *libc.TLS, pWal uintptr, ppSnapshot uintptr) int return rc } -var aZero = [4]U32{U32(0), U32(0), U32(0), U32(0)} /* sqlite3.c:64995:20 */ +var aZero = [4]U32{U32(0), U32(0), U32(0), U32(0)} /* sqlite3.c:65005:20 */ // Try to open on pSnapshot when the next read-transaction starts -func Xsqlite3WalSnapshotOpen(tls *libc.TLS, pWal uintptr, pSnapshot uintptr) { /* sqlite3.c:65016:21: */ +func Xsqlite3WalSnapshotOpen(tls *libc.TLS, pWal uintptr, pSnapshot uintptr) { /* sqlite3.c:65026:21: */ (*Wal)(unsafe.Pointer(pWal)).FpSnapshot = pSnapshot } // Return a +ve value if snapshot p1 is newer than p2. A -ve value if // p1 is older than p2 and zero if p1 and p2 are the same snapshot. -func Xsqlite3_snapshot_cmp(tls *libc.TLS, p1 uintptr, p2 uintptr) int32 { /* sqlite3.c:65027:16: */ +func Xsqlite3_snapshot_cmp(tls *libc.TLS, p1 uintptr, p2 uintptr) int32 { /* sqlite3.c:65037:16: */ var pHdr1 uintptr = p1 var pHdr2 uintptr = p2 @@ -42266,7 +42276,7 @@ func Xsqlite3_snapshot_cmp(tls *libc.TLS, p1 uintptr, p2 uintptr) int32 { /* sql // the CHECKPOINTER lock cannot be obtained, SQLITE_BUSY. If any error // occurs (any value other than SQLITE_OK is returned), the CHECKPOINTER // lock is released before returning. -func Xsqlite3WalSnapshotCheck(tls *libc.TLS, pWal uintptr, pSnapshot uintptr) int32 { /* sqlite3.c:65051:20: */ +func Xsqlite3WalSnapshotCheck(tls *libc.TLS, pWal uintptr, pSnapshot uintptr) int32 { /* sqlite3.c:65061:20: */ var rc int32 rc = walLockShared(tls, pWal, WAL_CKPT_LOCK) if rc == SQLITE_OK { @@ -42282,13 +42292,13 @@ func Xsqlite3WalSnapshotCheck(tls *libc.TLS, pWal uintptr, pSnapshot uintptr) in // Release a lock obtained by an earlier successful call to // sqlite3WalSnapshotCheck(). -func Xsqlite3WalSnapshotUnlock(tls *libc.TLS, pWal uintptr) { /* sqlite3.c:65070:21: */ +func Xsqlite3WalSnapshotUnlock(tls *libc.TLS, pWal uintptr) { /* sqlite3.c:65080:21: */ walUnlockShared(tls, pWal, WAL_CKPT_LOCK) } // Return the sqlite3_file object for the WAL file -func Xsqlite3WalFile(tls *libc.TLS, pWal uintptr) uintptr { /* sqlite3.c:65092:29: */ +func Xsqlite3WalFile(tls *libc.TLS, pWal uintptr) uintptr { /* sqlite3.c:65102:29: */ return (*Wal)(unsafe.Pointer(pWal)).FpWalFd } @@ -42808,7 +42818,7 @@ type MemPage1 = struct { // small cells will be rare, but they are possible. // Forward declarations -type MemPage = MemPage1 /* sqlite3.c:65350:24 */ +type MemPage = MemPage1 /* sqlite3.c:65360:24 */ type BtLock1 = struct { FpBtree uintptr FiTable Pgno @@ -42817,7 +42827,7 @@ type BtLock1 = struct { FpNext uintptr } /* sqlite3.c:578:9 */ -type BtLock = BtLock1 /* sqlite3.c:65351:23 */ +type BtLock = BtLock1 /* sqlite3.c:65361:23 */ type CellInfo1 = struct { FnKey I64 FpPayload uintptr @@ -42826,7 +42836,7 @@ type CellInfo1 = struct { FnSize U16 } /* sqlite3.c:578:9 */ -type CellInfo = CellInfo1 /* sqlite3.c:65352:25 */ +type CellInfo = CellInfo1 /* sqlite3.c:65362:25 */ // Legal values for BtCursor.curFlags @@ -42936,7 +42946,7 @@ type IntegrityCk1 = struct { FerrMsg StrAccum Fheap uintptr Fdb uintptr -} /* sqlite3.c:65811:9 */ +} /* sqlite3.c:65821:9 */ // Legal values for BtCursor.curFlags @@ -43032,7 +43042,7 @@ type IntegrityCk1 = struct { // the database the corresponding bit is set. This allows integrity-check to // detect pages that are used twice and orphaned pages (both of which // indicate corruption). -type IntegrityCk = IntegrityCk1 /* sqlite3.c:65811:28 */ +type IntegrityCk = IntegrityCk1 /* sqlite3.c:65821:28 */ // Routines to read or write a two- and four-byte big-endian integer values. @@ -43046,7 +43056,7 @@ type IntegrityCk = IntegrityCk1 /* sqlite3.c:65811:28 */ // Obtain the BtShared mutex associated with B-Tree handle p. Also, // set BtShared.db to the database handle associated with p and the // p->locked boolean to true. -func lockBtreeMutex(tls *libc.TLS, p uintptr) { /* sqlite3.c:65861:13: */ +func lockBtreeMutex(tls *libc.TLS, p uintptr) { /* sqlite3.c:65871:13: */ Xsqlite3_mutex_enter(tls, (*BtShared)(unsafe.Pointer((*Btree)(unsafe.Pointer(p)).FpBt)).Fmutex) (*BtShared)(unsafe.Pointer((*Btree)(unsafe.Pointer(p)).FpBt)).Fdb = (*Btree)(unsafe.Pointer(p)).Fdb @@ -43055,7 +43065,7 @@ func lockBtreeMutex(tls *libc.TLS, p uintptr) { /* sqlite3.c:65861:13: */ // Release the BtShared mutex associated with B-Tree handle p and // clear the p->locked boolean. -func unlockBtreeMutex(tls *libc.TLS, p uintptr) { /* sqlite3.c:65875:29: */ +func unlockBtreeMutex(tls *libc.TLS, p uintptr) { /* sqlite3.c:65885:29: */ var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt Xsqlite3_mutex_leave(tls, (*BtShared)(unsafe.Pointer(pBt)).Fmutex) @@ -43076,7 +43086,7 @@ func unlockBtreeMutex(tls *libc.TLS, p uintptr) { /* sqlite3.c:65875:29: */ // p, then first unlock all of the others on p->pNext, then wait // for the lock to become available on p, then relock all of the // subsequent Btrees that desire a lock. -func Xsqlite3BtreeEnter(tls *libc.TLS, p uintptr) { /* sqlite3.c:65905:21: */ +func Xsqlite3BtreeEnter(tls *libc.TLS, p uintptr) { /* sqlite3.c:65915:21: */ // Some basic sanity checking on the Btree. The list of Btrees // connected by pNext and pPrev should be in sorted order by // Btree.pBt value. All elements of the list should belong to @@ -43104,7 +43114,7 @@ func Xsqlite3BtreeEnter(tls *libc.TLS, p uintptr) { /* sqlite3.c:65905:21: */ // into this routine, we avoid unnecessary stack pointer changes // and thus help the sqlite3BtreeLock() routine to run much faster // in the common case. -func btreeLockCarefully(tls *libc.TLS, p uintptr) { /* sqlite3.c:65939:29: */ +func btreeLockCarefully(tls *libc.TLS, p uintptr) { /* sqlite3.c:65949:29: */ var pLater uintptr // In most cases, we should be able to acquire the lock we @@ -43135,7 +43145,7 @@ func btreeLockCarefully(tls *libc.TLS, p uintptr) { /* sqlite3.c:65939:29: */ } // Exit the recursive mutex on a Btree. -func Xsqlite3BtreeLeave(tls *libc.TLS, p uintptr) { /* sqlite3.c:65977:21: */ +func Xsqlite3BtreeLeave(tls *libc.TLS, p uintptr) { /* sqlite3.c:65987:21: */ if (*Btree)(unsafe.Pointer(p)).Fsharable != 0 { @@ -43158,7 +43168,7 @@ func Xsqlite3BtreeLeave(tls *libc.TLS, p uintptr) { /* sqlite3.c:65977:21: */ // to avoid the possibility of deadlock when two threads with // two or more btrees in common both try to lock all their btrees // at the same instant. -func btreeEnterAll(tls *libc.TLS, db uintptr) { /* sqlite3.c:66020:29: */ +func btreeEnterAll(tls *libc.TLS, db uintptr) { /* sqlite3.c:66030:29: */ var i int32 var skipOk int32 = 1 var p uintptr @@ -43173,13 +43183,13 @@ func btreeEnterAll(tls *libc.TLS, db uintptr) { /* sqlite3.c:66020:29: */ (*Sqlite3)(unsafe.Pointer(db)).FnoSharedCache = U8(skipOk) } -func Xsqlite3BtreeEnterAll(tls *libc.TLS, db uintptr) { /* sqlite3.c:66034:21: */ +func Xsqlite3BtreeEnterAll(tls *libc.TLS, db uintptr) { /* sqlite3.c:66044:21: */ if int32((*Sqlite3)(unsafe.Pointer(db)).FnoSharedCache) == 0 { btreeEnterAll(tls, db) } } -func btreeLeaveAll(tls *libc.TLS, db uintptr) { /* sqlite3.c:66037:29: */ +func btreeLeaveAll(tls *libc.TLS, db uintptr) { /* sqlite3.c:66047:29: */ var i int32 var p uintptr @@ -43191,7 +43201,7 @@ func btreeLeaveAll(tls *libc.TLS, db uintptr) { /* sqlite3.c:66037:29: */ } } -func Xsqlite3BtreeLeaveAll(tls *libc.TLS, db uintptr) { /* sqlite3.c:66046:21: */ +func Xsqlite3BtreeLeaveAll(tls *libc.TLS, db uintptr) { /* sqlite3.c:66056:21: */ if int32((*Sqlite3)(unsafe.Pointer(db)).FnoSharedCache) == 0 { btreeLeaveAll(tls, db) } @@ -43202,11 +43212,11 @@ func Xsqlite3BtreeLeaveAll(tls *libc.TLS, db uintptr) { /* sqlite3.c:66046:21: * // These entry points are used by incremental I/O only. Enter() is required // any time OMIT_SHARED_CACHE is not defined, regardless of whether or not // the build is threadsafe. Leave() is only required by threadsafe builds. -func Xsqlite3BtreeEnterCursor(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:66132:21: */ +func Xsqlite3BtreeEnterCursor(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:66142:21: */ Xsqlite3BtreeEnter(tls, (*BtCursor)(unsafe.Pointer(pCur)).FpBtree) } -func Xsqlite3BtreeLeaveCursor(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:66136:21: */ +func Xsqlite3BtreeLeaveCursor(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:66146:21: */ Xsqlite3BtreeLeave(tls, (*BtCursor)(unsafe.Pointer(pCur)).FpBtree) } @@ -43229,7 +43239,7 @@ func Xsqlite3BtreeLeaveCursor(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:66136: // The header string that appears at the beginning of every // SQLite database. -var zMagicHeader = *(*[16]int8)(unsafe.Pointer(ts + 3984)) /* sqlite3.c:66167:19 */ +var zMagicHeader = *(*[16]int8)(unsafe.Pointer(ts + 3984)) /* sqlite3.c:66177:19 */ // Set this global variable to 1 to enable tracing using the TRACE // macro. @@ -43255,14 +43265,14 @@ var zMagicHeader = *(*[16]int8)(unsafe.Pointer(ts + 3984)) /* sqlite3.c:66167:19 // test builds. // // Access to this variable is protected by SQLITE_MUTEX_STATIC_MAIN. -var sqlite3SharedCacheList uintptr = uintptr(0) /* sqlite3.c:66222:17 */ +var sqlite3SharedCacheList uintptr = uintptr(0) /* sqlite3.c:66232:17 */ // Enable or disable the shared pager and schema features. // // This routine has no effect on existing database connections. // The shared cache setting effects only future calls to // sqlite3_open(), sqlite3_open16(), or sqlite3_open_v2(). -func Xsqlite3_enable_shared_cache(tls *libc.TLS, enable int32) int32 { /* sqlite3.c:66234:16: */ +func Xsqlite3_enable_shared_cache(tls *libc.TLS, enable int32) int32 { /* sqlite3.c:66244:16: */ Xsqlite3Config.FsharedCacheEnabled = enable return SQLITE_OK } @@ -43279,7 +43289,7 @@ func Xsqlite3_enable_shared_cache(tls *libc.TLS, enable int32) int32 { /* sqlite // (READ_LOCK or WRITE_LOCK) on the table with root-page iTab. Return // SQLITE_OK if the lock may be obtained (by calling // setSharedCacheTableLock()), or SQLITE_LOCKED if not. -func querySharedCacheTableLock(tls *libc.TLS, p uintptr, iTab Pgno, eLock U8) int32 { /* sqlite3.c:66433:12: */ +func querySharedCacheTableLock(tls *libc.TLS, p uintptr, iTab Pgno, eLock U8) int32 { /* sqlite3.c:66443:12: */ var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt var pIter uintptr @@ -43336,7 +43346,7 @@ func querySharedCacheTableLock(tls *libc.TLS, p uintptr, iTab Pgno, eLock U8) in // // SQLITE_OK is returned if the lock is added successfully. SQLITE_NOMEM // is returned if a malloc attempt fails. -func setSharedCacheTableLock(tls *libc.TLS, p uintptr, iTable Pgno, eLock U8) int32 { /* sqlite3.c:66505:12: */ +func setSharedCacheTableLock(tls *libc.TLS, p uintptr, iTable Pgno, eLock U8) int32 { /* sqlite3.c:66515:12: */ var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt var pLock uintptr = uintptr(0) var pIter uintptr @@ -43387,7 +43397,7 @@ func setSharedCacheTableLock(tls *libc.TLS, p uintptr, iTable Pgno, eLock U8) in // This function assumes that Btree p has an open read or write // transaction. If it does not, then the BTS_PENDING flag // may be incorrectly cleared. -func clearAllSharedCacheTableLocks(tls *libc.TLS, p uintptr) { /* sqlite3.c:66569:13: */ +func clearAllSharedCacheTableLocks(tls *libc.TLS, p uintptr) { /* sqlite3.c:66579:13: */ var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt var ppIter uintptr = pBt + 76 @@ -43422,7 +43432,7 @@ func clearAllSharedCacheTableLocks(tls *libc.TLS, p uintptr) { /* sqlite3.c:6656 } // This function changes all write-locks held by Btree p into read-locks. -func downgradeAllSharedCacheTableLocks(tls *libc.TLS, p uintptr) { /* sqlite3.c:66613:13: */ +func downgradeAllSharedCacheTableLocks(tls *libc.TLS, p uintptr) { /* sqlite3.c:66623:13: */ var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt if (*BtShared)(unsafe.Pointer(pBt)).FpWriter == p { var pLock uintptr @@ -43446,7 +43456,7 @@ func downgradeAllSharedCacheTableLocks(tls *libc.TLS, p uintptr) { /* sqlite3.c: // Invalidate the overflow page-list cache for all cursors opened // on the shared btree structure pBt. -func invalidateAllOverflowCache(tls *libc.TLS, pBt uintptr) { /* sqlite3.c:66666:13: */ +func invalidateAllOverflowCache(tls *libc.TLS, pBt uintptr) { /* sqlite3.c:66676:13: */ var p uintptr for p = (*BtShared)(unsafe.Pointer(pBt)).FpCursor; p != 0; p = (*BtCursor)(unsafe.Pointer(p)).FpNext { @@ -43465,7 +43475,7 @@ func invalidateAllOverflowCache(tls *libc.TLS, pBt uintptr) { /* sqlite3.c:66666 // Otherwise, if argument isClearTable is false, then the row with // rowid iRow is being replaced or deleted. In this case invalidate // only those incrblob cursors open on that specific row. -func invalidateIncrblobCursors(tls *libc.TLS, pBtree uintptr, pgnoRoot Pgno, iRow I64, isClearTable int32) { /* sqlite3.c:66688:13: */ +func invalidateIncrblobCursors(tls *libc.TLS, pBtree uintptr, pgnoRoot Pgno, iRow I64, isClearTable int32) { /* sqlite3.c:66698:13: */ var p uintptr (*Btree)(unsafe.Pointer(pBtree)).FhasIncrblobCur = U8(0) @@ -43512,7 +43522,7 @@ func invalidateIncrblobCursors(tls *libc.TLS, pBtree uintptr, pgnoRoot Pgno, iRo // optimization 2 above is omitted if the corresponding bit is already // set in BtShared.pHasContent. The contents of the bitvec are cleared // at the end of every transaction. -func btreeSetHasContent(tls *libc.TLS, pBt uintptr, pgno Pgno) int32 { /* sqlite3.c:66748:12: */ +func btreeSetHasContent(tls *libc.TLS, pBt uintptr, pgno Pgno) int32 { /* sqlite3.c:66758:12: */ var rc int32 = SQLITE_OK if !(int32((*BtShared)(unsafe.Pointer(pBt)).FpHasContent) != 0) { @@ -43532,20 +43542,20 @@ func btreeSetHasContent(tls *libc.TLS, pBt uintptr, pgno Pgno) int32 { /* sqlite // This function is called when a free-list leaf page is removed from the // free-list for reuse. It returns false if it is safe to retrieve the // page from the pager layer with the 'no-content' flag set. True otherwise. -func btreeGetHasContent(tls *libc.TLS, pBt uintptr, pgno Pgno) int32 { /* sqlite3.c:66770:12: */ +func btreeGetHasContent(tls *libc.TLS, pBt uintptr, pgno Pgno) int32 { /* sqlite3.c:66780:12: */ var p uintptr = (*BtShared)(unsafe.Pointer(pBt)).FpHasContent return libc.Bool32(p != 0 && (pgno > Xsqlite3BitvecSize(tls, p) || Xsqlite3BitvecTestNotNull(tls, p, pgno) != 0)) } // Clear (destroy) the BtShared.pHasContent bitvec. This should be // invoked at the conclusion of each write-transaction. -func btreeClearHasContent(tls *libc.TLS, pBt uintptr) { /* sqlite3.c:66779:13: */ +func btreeClearHasContent(tls *libc.TLS, pBt uintptr) { /* sqlite3.c:66789:13: */ Xsqlite3BitvecDestroy(tls, (*BtShared)(unsafe.Pointer(pBt)).FpHasContent) (*BtShared)(unsafe.Pointer(pBt)).FpHasContent = uintptr(0) } // Release all of the apPage[] pages for a cursor. -func btreeReleaseAllCursorPages(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:66787:13: */ +func btreeReleaseAllCursorPages(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:66797:13: */ var i int32 if int32((*BtCursor)(unsafe.Pointer(pCur)).FiPage) >= 0 { for i = 0; i < int32((*BtCursor)(unsafe.Pointer(pCur)).FiPage); i++ { @@ -43567,7 +43577,7 @@ func btreeReleaseAllCursorPages(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:6678 // NULL. If the cursor is open on a non-intkey table, then pCur->pKey is // set to point to a malloced buffer pCur->nKey bytes in size containing // the key. -func saveCursorKey(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:66811:12: */ +func saveCursorKey(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:66821:12: */ var rc int32 = SQLITE_OK if (*BtCursor)(unsafe.Pointer(pCur)).FcurIntKey != 0 { @@ -43604,7 +43614,7 @@ func saveCursorKey(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:66811:12: * // // The caller must ensure that the cursor is valid (has eState==CURSOR_VALID) // prior to calling this routine. -func saveCursorPosition(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:66853:12: */ +func saveCursorPosition(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:66863:12: */ var rc int32 if int32((*BtCursor)(unsafe.Pointer(pCur)).FcurFlags)&BTCF_Pinned != 0 { @@ -43645,7 +43655,7 @@ func saveCursorPosition(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:66853: // Implementation note: This routine merely checks to see if any cursors // need to be saved. It calls out to saveCursorsOnList() in the (unusual) // event that cursors are in need to being saved. -func saveAllCursors(tls *libc.TLS, pBt uintptr, iRoot Pgno, pExcept uintptr) int32 { /* sqlite3.c:66903:12: */ +func saveAllCursors(tls *libc.TLS, pBt uintptr, iRoot Pgno, pExcept uintptr) int32 { /* sqlite3.c:66913:12: */ var p uintptr for p = (*BtShared)(unsafe.Pointer(pBt)).FpCursor; p != 0; p = (*BtCursor)(unsafe.Pointer(p)).FpNext { @@ -43666,7 +43676,7 @@ func saveAllCursors(tls *libc.TLS, pBt uintptr, iRoot Pgno, pExcept uintptr) int // the cursors if and when a cursor is found that actually requires saving. // The common case is that no cursors need to be saved, so this routine is // broken out from its caller to avoid unnecessary stack pointer movement. -func saveCursorsOnList(tls *libc.TLS, p uintptr, iRoot Pgno, pExcept uintptr) int32 { /* sqlite3.c:66920:28: */ +func saveCursorsOnList(tls *libc.TLS, p uintptr, iRoot Pgno, pExcept uintptr) int32 { /* sqlite3.c:66930:28: */ for __ccgo := true; __ccgo; __ccgo = p != 0 { if p != pExcept && (Pgno(0) == iRoot || (*BtCursor)(unsafe.Pointer(p)).FpgnoRoot == iRoot) { if int32((*BtCursor)(unsafe.Pointer(p)).FeState) == CURSOR_VALID || int32((*BtCursor)(unsafe.Pointer(p)).FeState) == CURSOR_SKIPNEXT { @@ -43685,7 +43695,7 @@ func saveCursorsOnList(tls *libc.TLS, p uintptr, iRoot Pgno, pExcept uintptr) in } // Clear the current cursor position. -func Xsqlite3BtreeClearCursor(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:66945:21: */ +func Xsqlite3BtreeClearCursor(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:66955:21: */ Xsqlite3_free(tls, (*BtCursor)(unsafe.Pointer(pCur)).FpKey) (*BtCursor)(unsafe.Pointer(pCur)).FpKey = uintptr(0) @@ -43695,7 +43705,7 @@ func Xsqlite3BtreeClearCursor(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:66945: // In this version of BtreeMoveto, pKey is a packed index record // such as is generated by the OP_MakeRecord opcode. Unpack the // record and then call BtreeMovetoUnpacked() to do the work. -func btreeMoveto(tls *libc.TLS, pCur uintptr, pKey uintptr, nKey I64, bias int32, pRes uintptr) int32 { /* sqlite3.c:66957:12: */ +func btreeMoveto(tls *libc.TLS, pCur uintptr, pKey uintptr, nKey I64, bias int32, pRes uintptr) int32 { /* sqlite3.c:66967:12: */ var rc int32 // Status code var pIdxKey uintptr // Unpacked index key @@ -43708,7 +43718,7 @@ func btreeMoveto(tls *libc.TLS, pCur uintptr, pKey uintptr, nKey I64, bias int32 } Xsqlite3VdbeRecordUnpack(tls, pKeyInfo, int32(nKey), pKey, pIdxKey) if int32((*UnpackedRecord)(unsafe.Pointer(pIdxKey)).FnField) == 0 || int32((*UnpackedRecord)(unsafe.Pointer(pIdxKey)).FnField) > int32((*KeyInfo)(unsafe.Pointer(pKeyInfo)).FnAllField) { - rc = Xsqlite3CorruptError(tls, 66974) + rc = Xsqlite3CorruptError(tls, 66984) } else { rc = Xsqlite3BtreeIndexMoveto(tls, pCur, pIdxKey, pRes) } @@ -43725,7 +43735,7 @@ func btreeMoveto(tls *libc.TLS, pCur uintptr, pKey uintptr, nKey I64, bias int32 // saved position info stored by saveCursorPosition(), so there can be // at most one effective restoreCursorPosition() call after each // saveCursorPosition(). -func btreeRestoreCursorPosition(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:66993:12: */ +func btreeRestoreCursorPosition(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:67003:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -43765,7 +43775,7 @@ func btreeRestoreCursorPosition(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3. // // Use the separate sqlite3BtreeCursorRestore() routine to restore a cursor // back to where it ought to be if this routine returns true. -func Xsqlite3BtreeCursorHasMoved(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:67036:20: */ +func Xsqlite3BtreeCursorHasMoved(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:67046:20: */ return libc.Bool32(CURSOR_VALID != int32(*(*U8)(unsafe.Pointer(pCur)))) } @@ -43773,12 +43783,12 @@ func Xsqlite3BtreeCursorHasMoved(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3 // Return a pointer to a fake BtCursor object that will always answer // false to the sqlite3BtreeCursorHasMoved() routine above. The fake // cursor returned must not be used with any other Btree interface. -func Xsqlite3BtreeFakeValidCursor(tls *libc.TLS) uintptr { /* sqlite3.c:67049:25: */ +func Xsqlite3BtreeFakeValidCursor(tls *libc.TLS) uintptr { /* sqlite3.c:67059:25: */ return uintptr(unsafe.Pointer(&fakeCursor)) } -var fakeCursor U8 = U8(CURSOR_VALID) /* sqlite3.c:67050:13 */ +var fakeCursor U8 = U8(CURSOR_VALID) /* sqlite3.c:67060:13 */ // This routine restores a cursor back to its original position after it // has been moved by some outside activity (such as a btree rebalance or @@ -43791,7 +43801,7 @@ var fakeCursor U8 = U8(CURSOR_VALID) /* sqlite3.c:67050:13 */ // // This routine should only be called for a cursor that just returned // TRUE from sqlite3BtreeCursorHasMoved(). -func Xsqlite3BtreeCursorRestore(tls *libc.TLS, pCur uintptr, pDifferentRow uintptr) int32 { /* sqlite3.c:67068:20: */ +func Xsqlite3BtreeCursorRestore(tls *libc.TLS, pCur uintptr, pDifferentRow uintptr) int32 { /* sqlite3.c:67078:20: */ var rc int32 rc = func() int32 { @@ -43813,7 +43823,7 @@ func Xsqlite3BtreeCursorRestore(tls *libc.TLS, pCur uintptr, pDifferentRow uintp } // Provide flag hints to the cursor. -func Xsqlite3BtreeCursorHintFlags(tls *libc.TLS, pCur uintptr, x uint32) { /* sqlite3.c:67100:21: */ +func Xsqlite3BtreeCursorHintFlags(tls *libc.TLS, pCur uintptr, x uint32) { /* sqlite3.c:67110:21: */ (*BtCursor)(unsafe.Pointer(pCur)).Fhints = U8(x) } @@ -43825,7 +43835,7 @@ func Xsqlite3BtreeCursorHintFlags(tls *libc.TLS, pCur uintptr, x uint32) { /* sq // Return 0 (not a valid page) for pgno==1 since there is // no pointer map associated with page 1. The integrity_check logic // requires that ptrmapPageno(*,1)!=1. -func ptrmapPageno(tls *libc.TLS, pBt uintptr, pgno Pgno) Pgno { /* sqlite3.c:67116:13: */ +func ptrmapPageno(tls *libc.TLS, pBt uintptr, pgno Pgno) Pgno { /* sqlite3.c:67126:13: */ var nPagesPerMapPage int32 var iPtrMap Pgno var ret Pgno @@ -43850,7 +43860,7 @@ func ptrmapPageno(tls *libc.TLS, pBt uintptr, pgno Pgno) Pgno { /* sqlite3.c:671 // If *pRC is initially non-zero (non-SQLITE_OK) then this routine is // a no-op. If an error occurs, the appropriate error code is written // into *pRC. -func ptrmapPut(tls *libc.TLS, pBt uintptr, key Pgno, eType U8, parent Pgno, pRC uintptr) { /* sqlite3.c:67140:13: */ +func ptrmapPut(tls *libc.TLS, pBt uintptr, key Pgno, eType U8, parent Pgno, pRC uintptr) { /* sqlite3.c:67150:13: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -43873,7 +43883,7 @@ __1: if !(key == Pgno(0)) { goto __2 } - *(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 67155) + *(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 67165) return __2: ; @@ -43892,7 +43902,7 @@ __3: // 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)) = Xsqlite3CorruptError(tls, 67168) + *(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 67178) goto ptrmap_exit __4: ; @@ -43900,7 +43910,7 @@ __4: if !(offset < 0) { goto __5 } - *(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 67173) + *(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 67183) goto ptrmap_exit __5: ; @@ -43931,7 +43941,7 @@ ptrmap_exit: // This routine retrieves the pointer map entry for page 'key', writing // the type and parent page number to *pEType and *pPgno respectively. // An error code is returned if something goes wrong, otherwise SQLITE_OK. -func ptrmapGet(tls *libc.TLS, pBt uintptr, key Pgno, pEType uintptr, pPgno uintptr) int32 { /* sqlite3.c:67199:12: */ +func ptrmapGet(tls *libc.TLS, pBt uintptr, key Pgno, pEType uintptr, pPgno uintptr) int32 { /* sqlite3.c:67209:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -43952,7 +43962,7 @@ func ptrmapGet(tls *libc.TLS, pBt uintptr, key Pgno, pEType uintptr, pPgno uintp offset = int32(Pgno(5) * (key - Pgno(iPtrmap) - Pgno(1))) if offset < 0 { Xsqlite3PagerUnref(tls, *(*uintptr)(unsafe.Pointer(bp /* pDbPage */))) - return Xsqlite3CorruptError(tls, 67218) + return Xsqlite3CorruptError(tls, 67228) } *(*U8)(unsafe.Pointer(pEType)) = *(*U8)(unsafe.Pointer(pPtrmap + uintptr(offset))) @@ -43962,7 +43972,7 @@ func ptrmapGet(tls *libc.TLS, pBt uintptr, key Pgno, pEType uintptr, pPgno uintp Xsqlite3PagerUnref(tls, *(*uintptr)(unsafe.Pointer(bp /* pDbPage */))) if int32(*(*U8)(unsafe.Pointer(pEType))) < 1 || int32(*(*U8)(unsafe.Pointer(pEType))) > 5 { - return Xsqlite3CorruptError(tls, 67226) + return Xsqlite3CorruptError(tls, 67236) } return SQLITE_OK } @@ -43980,7 +43990,7 @@ func ptrmapGet(tls *libc.TLS, pBt uintptr, key Pgno, pEType uintptr, pPgno uintp // btreeParseCellPtrIndex() for the case when the cell does not fit entirely // on a single B-tree page. Make necessary adjustments to the CellInfo // structure. -func btreeParseCellAdjustSizeForOverflow(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintptr) { /* sqlite3.c:67258:29: */ +func btreeParseCellAdjustSizeForOverflow(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintptr) { /* sqlite3.c:67268:29: */ // If the payload will not fit completely on the local page, we have // to decide how much to store locally and how much to spill onto // overflow pages. The strategy is to minimize the amount of unused @@ -44007,7 +44017,7 @@ func btreeParseCellAdjustSizeForOverflow(tls *libc.TLS, pPage uintptr, pCell uin // Given a record with nPayload bytes of payload stored within btree // page pPage, return the number of bytes of payload stored locally. -func btreePayloadToLocal(tls *libc.TLS, pPage uintptr, nPayload I64) int32 { /* sqlite3.c:67293:12: */ +func btreePayloadToLocal(tls *libc.TLS, pPage uintptr, nPayload I64) int32 { /* sqlite3.c:67303:12: */ var maxLocal int32 // Maximum amount of payload held locally maxLocal = int32((*MemPage)(unsafe.Pointer(pPage)).FmaxLocal) if nPayload <= I64(maxLocal) { @@ -44037,7 +44047,7 @@ func btreePayloadToLocal(tls *libc.TLS, pPage uintptr, nPayload I64) int32 { /* // There is also a wrapper function btreeParseCell() that works for // all MemPage types and that references the cell by index rather than // by pointer. -func btreeParseCellPtrNoPayload(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintptr) { /* sqlite3.c:67321:13: */ +func btreeParseCellPtrNoPayload(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintptr) { /* sqlite3.c:67331:13: */ _ = pPage (*CellInfo)(unsafe.Pointer(pInfo)).FnSize = U16(4 + int32(Xsqlite3GetVarint(tls, pCell+4, pInfo))) @@ -44047,7 +44057,7 @@ func btreeParseCellPtrNoPayload(tls *libc.TLS, pPage uintptr, pCell uintptr, pIn return } -func btreeParseCellPtr(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintptr) { /* sqlite3.c:67338:13: */ +func btreeParseCellPtr(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintptr) { /* sqlite3.c:67348:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -44124,7 +44134,7 @@ func btreeParseCellPtr(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintpt } } -func btreeParseCellPtrIndex(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintptr) { /* sqlite3.c:67420:13: */ +func btreeParseCellPtrIndex(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintptr) { /* sqlite3.c:67430:13: */ var pIter uintptr // For scanning through pCell var nPayload U32 // Number of bytes of cell payload @@ -44155,7 +44165,7 @@ func btreeParseCellPtrIndex(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo u } } -func btreeParseCell(tls *libc.TLS, pPage uintptr, iCell int32, pInfo uintptr) { /* sqlite3.c:67457:13: */ +func btreeParseCell(tls *libc.TLS, pPage uintptr, iCell int32, pInfo uintptr) { /* sqlite3.c:67467:13: */ (*struct { f func(*libc.TLS, uintptr, uintptr, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*MemPage)(unsafe.Pointer(pPage)).FxParseCell})).f(tls, pPage, (*MemPage)(unsafe.Pointer(pPage)).FaData+uintptr(int32((*MemPage)(unsafe.Pointer(pPage)).FmaskPage)&int32(libc.X__builtin_bswap16(tls, *(*U16)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPage)).FaCellIdx + uintptr(2*iCell)))))), pInfo) @@ -44171,7 +44181,7 @@ func btreeParseCell(tls *libc.TLS, pPage uintptr, iCell int32, pInfo uintptr) { // // cellSizePtrNoPayload() => table internal nodes // cellSizePtr() => all index nodes & table leaf nodes -func cellSizePtr(tls *libc.TLS, pPage uintptr, pCell uintptr) U16 { /* sqlite3.c:67477:12: */ +func cellSizePtr(tls *libc.TLS, pPage uintptr, pCell uintptr) U16 { /* sqlite3.c:67487:12: */ var pIter uintptr = pCell + uintptr((*MemPage)(unsafe.Pointer(pPage)).FchildPtrSize) // For looping over bytes of pCell var pEnd uintptr // End mark for a varint var nSize U32 // Size value to return @@ -44212,7 +44222,7 @@ func cellSizePtr(tls *libc.TLS, pPage uintptr, pCell uintptr) U16 { /* sqlite3.c return U16(nSize) } -func cellSizePtrNoPayload(tls *libc.TLS, pPage uintptr, pCell uintptr) U16 { /* sqlite3.c:67525:12: */ +func cellSizePtrNoPayload(tls *libc.TLS, pPage uintptr, pCell uintptr) U16 { /* sqlite3.c:67535:12: */ var pIter uintptr = pCell + uintptr(4) // For looping over bytes of pCell var pEnd uintptr // End mark for a varint @@ -44229,7 +44239,7 @@ func cellSizePtrNoPayload(tls *libc.TLS, pPage uintptr, pCell uintptr) U16 { /* // of pPage. (pSrc and pPager are often the same.) If pCell contains a // pointer to an overflow page, insert an entry into the pointer-map for // the overflow page that will be valid after pCell has been moved to pPage. -func ptrmapPutOvflPtr(tls *libc.TLS, pPage uintptr, pSrc uintptr, pCell uintptr, pRC uintptr) { /* sqlite3.c:67563:13: */ +func ptrmapPutOvflPtr(tls *libc.TLS, pPage uintptr, pSrc uintptr, pCell uintptr, pRC uintptr) { /* sqlite3.c:67573:13: */ bp := tls.Alloc(20) defer tls.Free(20) @@ -44246,7 +44256,7 @@ func ptrmapPutOvflPtr(tls *libc.TLS, pPage uintptr, pSrc uintptr, pCell uintptr, var ovfl Pgno if Uptr((*MemPage)(unsafe.Pointer(pSrc)).FaDataEnd) >= Uptr(pCell) && Uptr((*MemPage)(unsafe.Pointer(pSrc)).FaDataEnd) < Uptr(pCell+uintptr((*CellInfo)(unsafe.Pointer(bp)).FnLocal)) { - *(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 67572) + *(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 67582) return } ovfl = Xsqlite3Get4byte(tls, pCell+uintptr(int32((*CellInfo)(unsafe.Pointer(bp)).FnSize)-4)) @@ -44264,7 +44274,7 @@ func ptrmapPutOvflPtr(tls *libc.TLS, pPage uintptr, pSrc uintptr, pCell uintptr, // b-tree page so that there are no freeblocks or fragment bytes, all // unused bytes are contained in the unallocated space region, and all // cells are packed tightly at the end of the page. -func defragmentPage(tls *libc.TLS, pPage uintptr, nMaxFrag int32) int32 { /* sqlite3.c:67594:12: */ +func defragmentPage(tls *libc.TLS, pPage uintptr, nMaxFrag int32) int32 { /* sqlite3.c:67604:12: */ var i int32 // Loop counter var pc int32 // Address of the i-th cell var hdr int32 // Offset to the page header @@ -44309,7 +44319,7 @@ func defragmentPage(tls *libc.TLS, pPage uintptr, nMaxFrag int32) int32 { /* sql if !(iFree > usableSize-4) { goto __2 } - return Xsqlite3CorruptError(tls, 67631) + return Xsqlite3CorruptError(tls, 67641) __2: ; if !(iFree != 0) { @@ -44319,7 +44329,7 @@ __2: if !(iFree2 > usableSize-4) { goto __4 } - return Xsqlite3CorruptError(tls, 67634) + return Xsqlite3CorruptError(tls, 67644) __4: ; if !(0 == iFree2 || int32(*(*uint8)(unsafe.Pointer(data + uintptr(iFree2)))) == 0 && int32(*(*uint8)(unsafe.Pointer(data + uintptr(iFree2+1)))) == 0) { @@ -44332,7 +44342,7 @@ __4: if !(top >= iFree) { goto __6 } - return Xsqlite3CorruptError(tls, 67642) + return Xsqlite3CorruptError(tls, 67652) __6: ; if !(iFree2 != 0) { @@ -44341,14 +44351,14 @@ __6: if !(iFree+sz > iFree2) { goto __9 } - return Xsqlite3CorruptError(tls, 67645) + return Xsqlite3CorruptError(tls, 67655) __9: ; sz2 = int32(*(*uint8)(unsafe.Pointer(data + uintptr(iFree2+2))))<<8 | int32(*(*uint8)(unsafe.Pointer(data + uintptr(iFree2+2) + 1))) if !(iFree2+sz2 > usableSize) { goto __10 } - return Xsqlite3CorruptError(tls, 67647) + return Xsqlite3CorruptError(tls, 67657) __10: ; libc.Xmemmove(tls, data+uintptr(iFree+sz+sz2), data+uintptr(iFree+sz), uint32(iFree2-(iFree+sz))) @@ -44358,7 +44368,7 @@ __7: if !(iFree+sz > usableSize) { goto __11 } - return Xsqlite3CorruptError(tls, 67651) + return Xsqlite3CorruptError(tls, 67661) __11: ; __8: @@ -44420,7 +44430,7 @@ __18: if !(pc < iCellStart || pc > iCellLast) { goto __21 } - return Xsqlite3CorruptError(tls, 67680) + return Xsqlite3CorruptError(tls, 67690) __21: ; @@ -44431,7 +44441,7 @@ __21: if !(cbrk < iCellStart || pc+size > usableSize) { goto __22 } - return Xsqlite3CorruptError(tls, 67686) + return Xsqlite3CorruptError(tls, 67696) __22: ; @@ -44466,7 +44476,7 @@ defragment_out: if !(int32(*(*uint8)(unsafe.Pointer(data + uintptr(hdr+7))))+cbrk-iCellFirst != (*MemPage)(unsafe.Pointer(pPage)).FnFree) { goto __25 } - return Xsqlite3CorruptError(tls, 67705) + return Xsqlite3CorruptError(tls, 67715) __25: ; @@ -44491,7 +44501,7 @@ __25: // Slots on the free list that are between 1 and 3 bytes larger than nByte // will be ignored if adding the extra space to the fragmentation count // causes the fragmentation count to exceed 60. -func pageFindSlot(tls *libc.TLS, pPg uintptr, nByte int32, pRc uintptr) uintptr { /* sqlite3.c:67730:11: */ +func pageFindSlot(tls *libc.TLS, pPg uintptr, nByte int32, pRc uintptr) uintptr { /* sqlite3.c:67740:11: */ var hdr int32 = int32((*MemPage)(unsafe.Pointer(pPg)).FhdrOffset) // Offset to page header var aData uintptr = (*MemPage)(unsafe.Pointer(pPg)).FaData // Page data var iAddr int32 = hdr + 1 // Address of ptr to pc @@ -44520,7 +44530,7 @@ func pageFindSlot(tls *libc.TLS, pPg uintptr, nByte int32, pRc uintptr) uintptr *(*U8)(unsafe.Pointer(aData + uintptr(hdr+7))) += U8(int32(U8(x))) } else if x+pc > maxPC { // This slot extends off the end of the usable part of the page - *(*int32)(unsafe.Pointer(pRc)) = Xsqlite3CorruptError(tls, 67759) + *(*int32)(unsafe.Pointer(pRc)) = Xsqlite3CorruptError(tls, 67769) return uintptr(0) } else { // The slot remains on the free-list. Reduce its size to account @@ -44535,14 +44545,14 @@ func pageFindSlot(tls *libc.TLS, pPg uintptr, nByte int32, pRc uintptr) uintptr if pc <= iAddr+size { if pc != 0 { // The next slot in the chain is not past the end of the current slot - *(*int32)(unsafe.Pointer(pRc)) = Xsqlite3CorruptError(tls, 67773) + *(*int32)(unsafe.Pointer(pRc)) = Xsqlite3CorruptError(tls, 67783) } return uintptr(0) } } if pc > maxPC+nByte-4 { // The free slot chain extends off the end of the page - *(*int32)(unsafe.Pointer(pRc)) = Xsqlite3CorruptError(tls, 67780) + *(*int32)(unsafe.Pointer(pRc)) = Xsqlite3CorruptError(tls, 67790) } return uintptr(0) } @@ -44558,7 +44568,7 @@ func pageFindSlot(tls *libc.TLS, pPg uintptr, nByte int32, pRc uintptr) uintptr // the first two bytes past the cell pointer area since presumably this // allocation is being made in order to insert a new cell, so we will // also end up needing a new cell pointer. -func allocateSpace(tls *libc.TLS, pPage uintptr, nByte int32, pIdx uintptr) int32 { /* sqlite3.c:67798:12: */ +func allocateSpace(tls *libc.TLS, pPage uintptr, nByte int32, pIdx uintptr) int32 { /* sqlite3.c:67808:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -44583,7 +44593,7 @@ func allocateSpace(tls *libc.TLS, pPage uintptr, nByte int32, pIdx uintptr) int3 if top == 0 && (*BtShared)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize == U32(65536) { top = 65536 } else { - return Xsqlite3CorruptError(tls, 67827) + return Xsqlite3CorruptError(tls, 67837) } } @@ -44598,7 +44608,7 @@ func allocateSpace(tls *libc.TLS, pPage uintptr, nByte int32, pIdx uintptr) int3 *(*int32)(unsafe.Pointer(pIdx)) = libc.AssignInt32(&g2, (int32(pSpace)-int32(data))/1) if g2 <= gap { - return Xsqlite3CorruptError(tls, 67845) + return Xsqlite3CorruptError(tls, 67855) } else { return SQLITE_OK } @@ -44649,7 +44659,7 @@ func allocateSpace(tls *libc.TLS, pPage uintptr, nByte int32, pIdx uintptr) int3 // does it detect cells or freeblocks that encrouch into the reserved bytes // at the end of the page. So do additional corruption checks inside this // routine and return SQLITE_CORRUPT if any problems are found. -func freeSpace(tls *libc.TLS, pPage uintptr, iStart U16, iSize U16) int32 { /* sqlite3.c:67894:12: */ +func freeSpace(tls *libc.TLS, pPage uintptr, iStart U16, iSize U16) int32 { /* sqlite3.c:67904:12: */ var iPtr U16 // Address of ptr to next freeblock var iFreeBlk U16 // Address of the next freeblock var hdr U8 // Page header size. 0 or 100 @@ -44673,12 +44683,12 @@ func freeSpace(tls *libc.TLS, pPage uintptr, iStart U16, iSize U16) int32 { /* s if int32(iFreeBlk) == 0 { break } // TH3: corrupt082.100 - return Xsqlite3CorruptError(tls, 67923) + return Xsqlite3CorruptError(tls, 67933) } iPtr = iFreeBlk } if U32(iFreeBlk) > (*BtShared)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize-U32(4) { // TH3: corrupt081.100 - return Xsqlite3CorruptError(tls, 67928) + return Xsqlite3CorruptError(tls, 67938) } // At this point: @@ -44689,11 +44699,11 @@ func freeSpace(tls *libc.TLS, pPage uintptr, iStart U16, iSize U16) int32 { /* s if iFreeBlk != 0 && iEnd+U32(3) >= U32(iFreeBlk) { nFrag = U8(U32(iFreeBlk) - iEnd) if iEnd > U32(iFreeBlk) { - return Xsqlite3CorruptError(tls, 67940) + return Xsqlite3CorruptError(tls, 67950) } iEnd = U32(int32(iFreeBlk) + (int32(*(*uint8)(unsafe.Pointer(data + uintptr(int32(iFreeBlk)+2))))<<8 | int32(*(*uint8)(unsafe.Pointer(data + uintptr(int32(iFreeBlk)+2) + 1))))) if iEnd > (*BtShared)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize { - return Xsqlite3CorruptError(tls, 67943) + return Xsqlite3CorruptError(tls, 67953) } iSize = U16(iEnd - U32(iStart)) iFreeBlk = U16(int32(*(*uint8)(unsafe.Pointer(data + uintptr(iFreeBlk))))<<8 | int32(*(*uint8)(unsafe.Pointer(data + uintptr(iFreeBlk) + 1)))) @@ -44706,7 +44716,7 @@ func freeSpace(tls *libc.TLS, pPage uintptr, iStart U16, iSize U16) int32 { /* s var iPtrEnd int32 = int32(iPtr) + (int32(*(*uint8)(unsafe.Pointer(data + uintptr(int32(iPtr)+2))))<<8 | int32(*(*uint8)(unsafe.Pointer(data + uintptr(int32(iPtr)+2) + 1)))) if iPtrEnd+3 >= int32(iStart) { if iPtrEnd > int32(iStart) { - return Xsqlite3CorruptError(tls, 67956) + return Xsqlite3CorruptError(tls, 67966) } nFrag = U8(int32(nFrag) + (int32(iStart) - iPtrEnd)) iSize = U16(iEnd - U32(iPtr)) @@ -44714,7 +44724,7 @@ func freeSpace(tls *libc.TLS, pPage uintptr, iStart U16, iSize U16) int32 { /* s } } if int32(nFrag) > int32(*(*uint8)(unsafe.Pointer(data + uintptr(int32(hdr)+7)))) { - return Xsqlite3CorruptError(tls, 67962) + return Xsqlite3CorruptError(tls, 67972) } *(*uint8)(unsafe.Pointer(data + uintptr(int32(hdr)+7))) -= uint8(int32(nFrag)) } @@ -44724,10 +44734,10 @@ func freeSpace(tls *libc.TLS, pPage uintptr, iStart U16, iSize U16) int32 { /* s // so just extend the cell content area rather than create another // freelist entry if int32(iStart) < int32(x) { - return Xsqlite3CorruptError(tls, 67970) + return Xsqlite3CorruptError(tls, 67980) } if int32(iPtr) != int32(hdr)+1 { - return Xsqlite3CorruptError(tls, 67971) + return Xsqlite3CorruptError(tls, 67981) } *(*uint8)(unsafe.Pointer(data + uintptr(int32(hdr)+1))) = U8(int32(iFreeBlk) >> 8) *(*uint8)(unsafe.Pointer(data + uintptr(int32(hdr)+1) + 1)) = U8(iFreeBlk) @@ -44761,7 +44771,7 @@ func freeSpace(tls *libc.TLS, pPage uintptr, iStart U16, iSize U16) int32 { /* s // PTF_ZERODATA | PTF_LEAF // PTF_LEAFDATA | PTF_INTKEY // PTF_LEAFDATA | PTF_INTKEY | PTF_LEAF -func decodeFlags(tls *libc.TLS, pPage uintptr, flagByte int32) int32 { /* sqlite3.c:68001:12: */ +func decodeFlags(tls *libc.TLS, pPage uintptr, flagByte int32) int32 { /* sqlite3.c:68011:12: */ var pBt uintptr // A copy of pPage->pBt (*MemPage)(unsafe.Pointer(pPage)).Fleaf = U8(flagByte >> 3) @@ -44812,7 +44822,7 @@ func decodeFlags(tls *libc.TLS, pPage uintptr, flagByte int32) int32 { /* sqlite } else { // EVIDENCE-OF: R-47608-56469 Any other value for the b-tree page type is // an error. - return Xsqlite3CorruptError(tls, 68044) + return Xsqlite3CorruptError(tls, 68054) } (*MemPage)(unsafe.Pointer(pPage)).Fmax1bytePayload = (*BtShared)(unsafe.Pointer(pBt)).Fmax1bytePayload return SQLITE_OK @@ -44820,7 +44830,7 @@ func decodeFlags(tls *libc.TLS, pPage uintptr, flagByte int32) int32 { /* sqlite // Compute the amount of freespace on the page. In other words, fill // in the pPage->nFree field. -func btreeComputeFreeSpace(tls *libc.TLS, pPage uintptr) int32 { /* sqlite3.c:68054:12: */ +func btreeComputeFreeSpace(tls *libc.TLS, pPage uintptr) int32 { /* sqlite3.c:68064:12: */ var pc int32 // Address of a freeblock within pPage->aData[] var hdr U8 // Offset to beginning of page header var data uintptr // Equal to pPage->aData @@ -44852,12 +44862,12 @@ func btreeComputeFreeSpace(tls *libc.TLS, pPage uintptr) int32 { /* sqlite3.c:68 if pc < top { // 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 Xsqlite3CorruptError(tls, 68095) + return Xsqlite3CorruptError(tls, 68105) } for 1 != 0 { if pc > iCellLast { // Freeblock off the end of the page - return Xsqlite3CorruptError(tls, 68100) + return Xsqlite3CorruptError(tls, 68110) } next = U32(int32(*(*U8)(unsafe.Pointer(data + uintptr(pc))))<<8 | int32(*(*U8)(unsafe.Pointer(data + uintptr(pc) + 1)))) size = U32(int32(*(*U8)(unsafe.Pointer(data + uintptr(pc+2))))<<8 | int32(*(*U8)(unsafe.Pointer(data + uintptr(pc+2) + 1)))) @@ -44869,11 +44879,11 @@ func btreeComputeFreeSpace(tls *libc.TLS, pPage uintptr) int32 { /* sqlite3.c:68 } if next > U32(0) { // Freeblock not in ascending order - return Xsqlite3CorruptError(tls, 68110) + return Xsqlite3CorruptError(tls, 68120) } if U32(pc)+size > uint32(usableSize) { // Last freeblock extends past page end - return Xsqlite3CorruptError(tls, 68114) + return Xsqlite3CorruptError(tls, 68124) } } @@ -44884,7 +44894,7 @@ func btreeComputeFreeSpace(tls *libc.TLS, pPage uintptr) int32 { /* sqlite3.c:68 // serves to verify that the offset to the start of the cell-content // area, according to the page header, lies within the page. if nFree > usableSize || nFree < iCellFirst { - return Xsqlite3CorruptError(tls, 68126) + return Xsqlite3CorruptError(tls, 68136) } (*MemPage)(unsafe.Pointer(pPage)).FnFree = int32(U16(nFree - iCellFirst)) return SQLITE_OK @@ -44892,7 +44902,7 @@ func btreeComputeFreeSpace(tls *libc.TLS, pPage uintptr) int32 { /* sqlite3.c:68 // Do additional sanity check after btreeInitPage() if // PRAGMA cell_size_check=ON -func btreeCellSizeCheck(tls *libc.TLS, pPage uintptr) int32 { /* sqlite3.c:68136:28: */ +func btreeCellSizeCheck(tls *libc.TLS, pPage uintptr) int32 { /* sqlite3.c:68146:28: */ var iCellFirst int32 // First allowable cell or freeblock offset var iCellLast int32 // Last possible cell or freeblock offset var i int32 // Index into the cell pointer array @@ -44914,14 +44924,14 @@ func btreeCellSizeCheck(tls *libc.TLS, pPage uintptr) int32 { /* sqlite3.c:68136 pc = int32(libc.X__builtin_bswap16(tls, *(*U16)(unsafe.Pointer(data + uintptr(cellOffset+i*2))))) if pc < iCellFirst || pc > iCellLast { - return Xsqlite3CorruptError(tls, 68157) + return Xsqlite3CorruptError(tls, 68167) } sz = int32((*struct { f func(*libc.TLS, uintptr, uintptr) U16 })(unsafe.Pointer(&struct{ uintptr }{(*MemPage)(unsafe.Pointer(pPage)).FxCellSize})).f(tls, pPage, data+uintptr(pc))) if pc+sz > usableSize { - return Xsqlite3CorruptError(tls, 68162) + return Xsqlite3CorruptError(tls, 68172) } } return SQLITE_OK @@ -44934,7 +44944,7 @@ func btreeCellSizeCheck(tls *libc.TLS, pPage uintptr) int32 { /* sqlite3.c:68136 // SQLITE_CORRUPT. Note that a return of SQLITE_OK does not // guarantee that the page is well-formed. It only shows that // we failed to detect any corruption. -func btreeInitPage(tls *libc.TLS, pPage uintptr) int32 { /* sqlite3.c:68177:12: */ +func btreeInitPage(tls *libc.TLS, pPage uintptr) int32 { /* sqlite3.c:68187:12: */ var data uintptr // Equal to pPage->aData var pBt uintptr // The main btree structure @@ -44943,7 +44953,7 @@ func btreeInitPage(tls *libc.TLS, pPage uintptr) int32 { /* sqlite3.c:68177:12: // EVIDENCE-OF: R-28594-02890 The one-byte flag at offset 0 indicating // the b-tree page type. if decodeFlags(tls, pPage, int32(*(*U8)(unsafe.Pointer(data)))) != 0 { - return Xsqlite3CorruptError(tls, 68194) + return Xsqlite3CorruptError(tls, 68204) } (*MemPage)(unsafe.Pointer(pPage)).FmaskPage = U16((*BtShared)(unsafe.Pointer(pBt)).FpageSize - U32(1)) @@ -44957,7 +44967,7 @@ func btreeInitPage(tls *libc.TLS, pPage uintptr) int32 { /* sqlite3.c:68177:12: (*MemPage)(unsafe.Pointer(pPage)).FnCell = U16(int32(*(*U8)(unsafe.Pointer(data + 3)))<<8 | int32(*(*U8)(unsafe.Pointer(data + 3 + 1)))) if U32((*MemPage)(unsafe.Pointer(pPage)).FnCell) > ((*BtShared)(unsafe.Pointer(pBt)).FpageSize-U32(8))/U32(6) { // To many cells for a single page. The page must be corrupt - return Xsqlite3CorruptError(tls, 68208) + return Xsqlite3CorruptError(tls, 68218) } // EVIDENCE-OF: R-24089-57979 If a page contains no cells (which is only @@ -44975,7 +44985,7 @@ func btreeInitPage(tls *libc.TLS, pPage uintptr) int32 { /* sqlite3.c:68177:12: // Set up a raw page so that it looks like a database page holding // no entries. -func zeroPage(tls *libc.TLS, pPage uintptr, flags int32) { /* sqlite3.c:68230:13: */ +func zeroPage(tls *libc.TLS, pPage uintptr, flags int32) { /* sqlite3.c:68240:13: */ var data uintptr = (*MemPage)(unsafe.Pointer(pPage)).FaData var pBt uintptr = (*MemPage)(unsafe.Pointer(pPage)).FpBt var hdr U8 = (*MemPage)(unsafe.Pointer(pPage)).FhdrOffset @@ -45010,7 +45020,7 @@ func zeroPage(tls *libc.TLS, pPage uintptr, flags int32) { /* sqlite3.c:68230:13 // Convert a DbPage obtained from the pager into a MemPage used by // the btree layer. -func btreePageFromDbPage(tls *libc.TLS, pDbPage uintptr, pgno Pgno, pBt uintptr) uintptr { /* sqlite3.c:68267:16: */ +func btreePageFromDbPage(tls *libc.TLS, pDbPage uintptr, pgno Pgno, pBt uintptr) uintptr { /* sqlite3.c:68277:16: */ var pPage uintptr = Xsqlite3PagerGetExtra(tls, pDbPage) if pgno != (*MemPage)(unsafe.Pointer(pPage)).Fpgno { (*MemPage)(unsafe.Pointer(pPage)).FaData = Xsqlite3PagerGetData(tls, pDbPage) @@ -45037,7 +45047,7 @@ func btreePageFromDbPage(tls *libc.TLS, pDbPage uintptr, pgno Pgno, pBt uintptr) // If in the future we call sqlite3PagerWrite() on this page, that // means we have started to be concerned about content and the disk // read should occur at that point. -func btreeGetPage(tls *libc.TLS, pBt uintptr, pgno Pgno, ppPage uintptr, flags int32) int32 { /* sqlite3.c:68291:12: */ +func btreeGetPage(tls *libc.TLS, pBt uintptr, pgno Pgno, ppPage uintptr, flags int32) int32 { /* sqlite3.c:68301:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -45055,7 +45065,7 @@ func btreeGetPage(tls *libc.TLS, pBt uintptr, pgno Pgno, ppPage uintptr, flags i // Retrieve a page from the pager cache. If the requested page is not // already in the pager cache return NULL. Initialize the MemPage.pBt and // MemPage.aData elements if needed. -func btreePageLookup(tls *libc.TLS, pBt uintptr, pgno Pgno) uintptr { /* sqlite3.c:68313:16: */ +func btreePageLookup(tls *libc.TLS, pBt uintptr, pgno Pgno) uintptr { /* sqlite3.c:68323:16: */ var pDbPage uintptr pDbPage = Xsqlite3PagerLookup(tls, (*BtShared)(unsafe.Pointer(pBt)).FpPager, pgno) @@ -45067,11 +45077,11 @@ func btreePageLookup(tls *libc.TLS, pBt uintptr, pgno Pgno) uintptr { /* sqlite3 // Return the size of the database file in pages. If there is any kind of // error, return ((unsigned int)-1). -func btreePagecount(tls *libc.TLS, pBt uintptr) Pgno { /* sqlite3.c:68327:13: */ +func btreePagecount(tls *libc.TLS, pBt uintptr) Pgno { /* sqlite3.c:68337:13: */ return (*BtShared)(unsafe.Pointer(pBt)).FnPage } -func Xsqlite3BtreeLastPage(tls *libc.TLS, p uintptr) Pgno { /* sqlite3.c:68330:21: */ +func Xsqlite3BtreeLastPage(tls *libc.TLS, p uintptr) Pgno { /* sqlite3.c:68340:21: */ return btreePagecount(tls, (*Btree)(unsafe.Pointer(p)).FpBt) } @@ -45087,7 +45097,7 @@ func Xsqlite3BtreeLastPage(tls *libc.TLS, p uintptr) Pgno { /* sqlite3.c:68330:2 // // If an error occurs, then *ppPage is undefined. It // may remain unchanged, or it may be set to an invalid value. -func getAndInitPage(tls *libc.TLS, pBt uintptr, pgno Pgno, ppPage uintptr, pCur uintptr, bReadOnly int32) int32 { /* sqlite3.c:68348:12: */ +func getAndInitPage(tls *libc.TLS, pBt uintptr, pgno Pgno, ppPage uintptr, pCur uintptr, bReadOnly int32) int32 { /* sqlite3.c:68358:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -45097,7 +45107,7 @@ func getAndInitPage(tls *libc.TLS, pBt uintptr, pgno Pgno, ppPage uintptr, pCur if !(pgno > btreePagecount(tls, pBt)) { goto __1 } - rc = Xsqlite3CorruptError(tls, 68363) + rc = Xsqlite3CorruptError(tls, 68373) goto getAndInitPage_error1 __1: ; @@ -45128,7 +45138,7 @@ __3: if !(pCur != 0 && (int32((*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(ppPage)))).FnCell) < 1 || int32((*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(ppPage)))).FintKey) != int32((*BtCursor)(unsafe.Pointer(pCur)).FcurIntKey))) { goto __5 } - rc = Xsqlite3CorruptError(tls, 68384) + rc = Xsqlite3CorruptError(tls, 68394) goto getAndInitPage_error2 __5: ; @@ -45152,18 +45162,18 @@ __6: // call to btreeGetPage. // // Page1 is a special case and must be released using releasePageOne(). -func releasePageNotNull(tls *libc.TLS, pPage uintptr) { /* sqlite3.c:68407:13: */ +func releasePageNotNull(tls *libc.TLS, pPage uintptr) { /* sqlite3.c:68417:13: */ Xsqlite3PagerUnrefNotNull(tls, (*MemPage)(unsafe.Pointer(pPage)).FpDbPage) } -func releasePage(tls *libc.TLS, pPage uintptr) { /* sqlite3.c:68416:13: */ +func releasePage(tls *libc.TLS, pPage uintptr) { /* sqlite3.c:68426:13: */ if pPage != 0 { releasePageNotNull(tls, pPage) } } -func releasePageOne(tls *libc.TLS, pPage uintptr) { /* sqlite3.c:68419:13: */ +func releasePageOne(tls *libc.TLS, pPage uintptr) { /* sqlite3.c:68429:13: */ Xsqlite3PagerUnrefPageOne(tls, (*MemPage)(unsafe.Pointer(pPage)).FpDbPage) } @@ -45175,13 +45185,13 @@ func releasePageOne(tls *libc.TLS, pPage uintptr) { /* sqlite3.c:68419:13: */ // * If the page is already in use for some other purpose, immediately // release it and return an SQLITE_CURRUPT error. // * Make sure the isInit flag is clear -func btreeGetUnusedPage(tls *libc.TLS, pBt uintptr, pgno Pgno, ppPage uintptr, flags int32) int32 { /* sqlite3.c:68439:12: */ +func btreeGetUnusedPage(tls *libc.TLS, pBt uintptr, pgno Pgno, ppPage uintptr, flags int32) int32 { /* sqlite3.c:68449:12: */ var rc int32 = btreeGetPage(tls, pBt, pgno, ppPage, flags) if rc == SQLITE_OK { if Xsqlite3PagerPageRefcount(tls, (*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(ppPage)))).FpDbPage) > 1 { releasePage(tls, *(*uintptr)(unsafe.Pointer(ppPage))) *(*uintptr)(unsafe.Pointer(ppPage)) = uintptr(0) - return Xsqlite3CorruptError(tls, 68450) + return Xsqlite3CorruptError(tls, 68460) } (*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(ppPage)))).FisInit = U8(0) } else { @@ -45196,7 +45206,7 @@ func btreeGetUnusedPage(tls *libc.TLS, pBt uintptr, pgno Pgno, ppPage uintptr, f // // This routine needs to reset the extra data section at the end of the // page to agree with the restored data. -func pageReinit(tls *libc.TLS, pData uintptr) { /* sqlite3.c:68468:13: */ +func pageReinit(tls *libc.TLS, pData uintptr) { /* sqlite3.c:68478:13: */ var pPage uintptr pPage = Xsqlite3PagerGetExtra(tls, pData) @@ -45216,7 +45226,7 @@ func pageReinit(tls *libc.TLS, pData uintptr) { /* sqlite3.c:68468:13: */ } // Invoke the busy handler for a btree. -func btreeInvokeBusyHandler(tls *libc.TLS, pArg uintptr) int32 { /* sqlite3.c:68490:12: */ +func btreeInvokeBusyHandler(tls *libc.TLS, pArg uintptr) int32 { /* sqlite3.c:68500:12: */ var pBt uintptr = pArg return Xsqlite3InvokeBusyHandler(tls, (*BtShared)(unsafe.Pointer(pBt)).Fdb+452) @@ -45241,7 +45251,7 @@ func btreeInvokeBusyHandler(tls *libc.TLS, pArg uintptr) int32 { /* sqlite3.c:68 // SQLITE_CONSTRAINT error. We cannot allow two or more BtShared // objects in the same database connection since doing so will lead // to problems with locking. -func Xsqlite3BtreeOpen(tls *libc.TLS, pVfs uintptr, zFilename uintptr, db uintptr, ppBtree uintptr, flags int32, vfsFlags int32) int32 { /* sqlite3.c:68518:20: */ +func Xsqlite3BtreeOpen(tls *libc.TLS, pVfs uintptr, zFilename uintptr, db uintptr, ppBtree uintptr, flags int32, vfsFlags int32) int32 { /* sqlite3.c:68528:20: */ bp := tls.Alloc(100) defer tls.Free(100) @@ -45662,7 +45672,7 @@ __49: // remove the BtShared structure from the sharing list. Return // true if the BtShared.nRef counter reaches zero and return // false if it is still positive. -func removeFromSharingList(tls *libc.TLS, pBt uintptr) int32 { /* sqlite3.c:68816:12: */ +func removeFromSharingList(tls *libc.TLS, pBt uintptr) int32 { /* sqlite3.c:68826:12: */ var pMainMtx uintptr var pList uintptr var removed int32 = 0 @@ -45694,7 +45704,7 @@ func removeFromSharingList(tls *libc.TLS, pBt uintptr) int32 { /* sqlite3.c:6881 // Make sure pBt->pTmpSpace points to an allocation of // MX_CELL_SIZE(pBt) bytes with a 4-byte prefix for a left-child // pointer. -func allocateTempSpace(tls *libc.TLS, pBt uintptr) int32 { /* sqlite3.c:68855:28: */ +func allocateTempSpace(tls *libc.TLS, pBt uintptr) int32 { /* sqlite3.c:68865:28: */ // This routine is called only by btreeCursor() when allocating the // first write cursor for the BtShared object @@ -45727,7 +45737,7 @@ func allocateTempSpace(tls *libc.TLS, pBt uintptr) int32 { /* sqlite3.c:68855:28 } // Free the pBt->pTmpSpace allocation -func freeTempSpace(tls *libc.TLS, pBt uintptr) { /* sqlite3.c:68892:13: */ +func freeTempSpace(tls *libc.TLS, pBt uintptr) { /* sqlite3.c:68902:13: */ if (*BtShared)(unsafe.Pointer(pBt)).FpTmpSpace != 0 { *(*uintptr)(unsafe.Pointer(pBt + 84)) -= uintptr(4) Xsqlite3PageFree(tls, (*BtShared)(unsafe.Pointer(pBt)).FpTmpSpace) @@ -45736,7 +45746,7 @@ func freeTempSpace(tls *libc.TLS, pBt uintptr) { /* sqlite3.c:68892:13: */ } // Close an open database and invalidate all cursors. -func Xsqlite3BtreeClose(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:68903:20: */ +func Xsqlite3BtreeClose(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:68913:20: */ var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt // Close all cursors opened via this handle. @@ -45786,7 +45796,7 @@ func Xsqlite3BtreeClose(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:68903:20: // pages in the cache exceeds this soft limit. But the size of the // cache is allowed to grow larger than this limit if it contains // dirty pages or pages still in active use. -func Xsqlite3BtreeSetCacheSize(tls *libc.TLS, p uintptr, mxPage int32) int32 { /* sqlite3.c:68969:20: */ +func Xsqlite3BtreeSetCacheSize(tls *libc.TLS, p uintptr, mxPage int32) int32 { /* sqlite3.c:68979:20: */ var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt Xsqlite3BtreeEnter(tls, p) @@ -45803,7 +45813,7 @@ func Xsqlite3BtreeSetCacheSize(tls *libc.TLS, p uintptr, mxPage int32) int32 { / // The value returned is the current spill size. If zero is passed // as an argument, no changes are made to the spill size setting, so // using mxPage of 0 is a way to query the current spill size. -func Xsqlite3BtreeSetSpillSize(tls *libc.TLS, p uintptr, mxPage int32) int32 { /* sqlite3.c:68988:20: */ +func Xsqlite3BtreeSetSpillSize(tls *libc.TLS, p uintptr, mxPage int32) int32 { /* sqlite3.c:68998:20: */ var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt var res int32 @@ -45815,7 +45825,7 @@ func Xsqlite3BtreeSetSpillSize(tls *libc.TLS, p uintptr, mxPage int32) int32 { / // Change the limit on the amount of the database file that may be // memory mapped. -func Xsqlite3BtreeSetMmapLimit(tls *libc.TLS, p uintptr, szMmap Sqlite3_int64) int32 { /* sqlite3.c:69003:20: */ +func Xsqlite3BtreeSetMmapLimit(tls *libc.TLS, p uintptr, szMmap Sqlite3_int64) int32 { /* sqlite3.c:69013:20: */ var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt Xsqlite3BtreeEnter(tls, p) @@ -45830,7 +45840,7 @@ func Xsqlite3BtreeSetMmapLimit(tls *libc.TLS, p uintptr, szMmap Sqlite3_int64) i // there is a high probability of damage) Level 2 is the default. There // is a very low but non-zero probability of damage. Level 3 reduces the // probability of damage to near zero but with a write performance reduction. -func Xsqlite3BtreeSetPagerFlags(tls *libc.TLS, p uintptr, pgFlags uint32) int32 { /* sqlite3.c:69022:20: */ +func Xsqlite3BtreeSetPagerFlags(tls *libc.TLS, p uintptr, pgFlags uint32) int32 { /* sqlite3.c:69032:20: */ var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt Xsqlite3BtreeEnter(tls, p) @@ -45857,7 +45867,7 @@ func Xsqlite3BtreeSetPagerFlags(tls *libc.TLS, p uintptr, pgFlags uint32) int32 // // If the iFix!=0 then the BTS_PAGESIZE_FIXED flag is set so that the page size // and autovacuum mode can no longer be changed. -func Xsqlite3BtreeSetPageSize(tls *libc.TLS, p uintptr, pageSize int32, nReserve int32, iFix int32) int32 { /* sqlite3.c:69055:20: */ +func Xsqlite3BtreeSetPageSize(tls *libc.TLS, p uintptr, pageSize int32, nReserve int32, iFix int32) int32 { /* sqlite3.c:69065:20: */ var rc int32 = SQLITE_OK var x int32 var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt @@ -45891,7 +45901,7 @@ func Xsqlite3BtreeSetPageSize(tls *libc.TLS, p uintptr, pageSize int32, nReserve } // Return the currently defined page size -func Xsqlite3BtreeGetPageSize(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:69087:20: */ +func Xsqlite3BtreeGetPageSize(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:69097:20: */ return int32((*BtShared)(unsafe.Pointer((*Btree)(unsafe.Pointer(p)).FpBt)).FpageSize) } @@ -45904,7 +45914,7 @@ func Xsqlite3BtreeGetPageSize(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:690 // database handle that owns *p is not. In this case if sqlite3BtreeEnter() // were to be called, it might collide with some other operation on the // database handle that owns *p, causing undefined behavior. -func Xsqlite3BtreeGetReserveNoMutex(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:69102:20: */ +func Xsqlite3BtreeGetReserveNoMutex(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:69112:20: */ var n int32 n = int32((*BtShared)(unsafe.Pointer((*Btree)(unsafe.Pointer(p)).FpBt)).FpageSize - (*BtShared)(unsafe.Pointer((*Btree)(unsafe.Pointer(p)).FpBt)).FusableSize) @@ -45918,7 +45928,7 @@ func Xsqlite3BtreeGetReserveNoMutex(tls *libc.TLS, p uintptr) int32 { /* sqlite3 // The value returned is the larger of the current reserve size and // the latest reserve size requested by SQLITE_FILECTRL_RESERVE_BYTES. // The amount of reserve can only grow - never shrink. -func Xsqlite3BtreeGetRequestedReserve(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:69118:20: */ +func Xsqlite3BtreeGetRequestedReserve(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:69128:20: */ var n1 int32 var n2 int32 Xsqlite3BtreeEnter(tls, p) @@ -45934,7 +45944,7 @@ func Xsqlite3BtreeGetRequestedReserve(tls *libc.TLS, p uintptr) int32 { /* sqlit // Set the maximum page count for a database if mxPage is positive. // No changes are made if mxPage is 0 or negative. // Regardless of the value of mxPage, return the maximum page count. -func Xsqlite3BtreeMaxPageCount(tls *libc.TLS, p uintptr, mxPage Pgno) Pgno { /* sqlite3.c:69133:21: */ +func Xsqlite3BtreeMaxPageCount(tls *libc.TLS, p uintptr, mxPage Pgno) Pgno { /* sqlite3.c:69143:21: */ var n Pgno Xsqlite3BtreeEnter(tls, p) n = Xsqlite3PagerMaxPageCount(tls, (*BtShared)(unsafe.Pointer((*Btree)(unsafe.Pointer(p)).FpBt)).FpPager, mxPage) @@ -45958,7 +45968,7 @@ func Xsqlite3BtreeMaxPageCount(tls *libc.TLS, p uintptr, mxPage Pgno) Pgno { /* // With BTS_SECURE_DELETE, operation is like BTS_OVERWRITE with the addition // that freelist leaf pages are written back into the database, increasing // the amount of disk I/O. -func Xsqlite3BtreeSecureDelete(tls *libc.TLS, p uintptr, newFlag int32) int32 { /* sqlite3.c:69159:20: */ +func Xsqlite3BtreeSecureDelete(tls *libc.TLS, p uintptr, newFlag int32) int32 { /* sqlite3.c:69169:20: */ var b int32 if p == uintptr(0) { return 0 @@ -45978,7 +45988,7 @@ func Xsqlite3BtreeSecureDelete(tls *libc.TLS, p uintptr, newFlag int32) int32 { // parameter is non-zero, then auto-vacuum mode is enabled. If zero, it // is disabled. The default value for the auto-vacuum property is // determined by the SQLITE_DEFAULT_AUTOVACUUM macro. -func Xsqlite3BtreeSetAutoVacuum(tls *libc.TLS, p uintptr, autoVacuum int32) int32 { /* sqlite3.c:69180:20: */ +func Xsqlite3BtreeSetAutoVacuum(tls *libc.TLS, p uintptr, autoVacuum int32) int32 { /* sqlite3.c:69190:20: */ var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt var rc int32 = SQLITE_OK var av U8 = U8(autoVacuum) @@ -46011,7 +46021,7 @@ func Xsqlite3BtreeSetAutoVacuum(tls *libc.TLS, p uintptr, autoVacuum int32) int3 // Return the value of the 'auto-vacuum' property. If auto-vacuum is // enabled 1 is returned. Otherwise 0. -func Xsqlite3BtreeGetAutoVacuum(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:69204:20: */ +func Xsqlite3BtreeGetAutoVacuum(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:69214:20: */ var rc int32 Xsqlite3BtreeEnter(tls, p) rc = func() int32 { @@ -46036,7 +46046,7 @@ func Xsqlite3BtreeGetAutoVacuum(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:6 // well-formed database file, then SQLITE_CORRUPT is returned. // SQLITE_BUSY is returned if the database is locked. SQLITE_NOMEM // is returned if we run out of memory. -func lockBtree(tls *libc.TLS, pBt uintptr) int32 { /* sqlite3.c:69260:12: */ +func lockBtree(tls *libc.TLS, pBt uintptr) int32 { /* sqlite3.c:69270:12: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -46205,7 +46215,7 @@ __16: if !(Xsqlite3WritableSchema(tls, (*BtShared)(unsafe.Pointer(pBt)).Fdb) == 0) { goto __18 } - rc = Xsqlite3CorruptError(tls, 69385) + rc = Xsqlite3CorruptError(tls, 69395) goto page1_init_failed goto __19 __18: @@ -46282,7 +46292,7 @@ page1_init_failed: // has the effect of releasing the read lock. // // If there is a transaction in progress, this routine is a no-op. -func unlockBtreeIfUnused(tls *libc.TLS, pBt uintptr) { /* sqlite3.c:69470:13: */ +func unlockBtreeIfUnused(tls *libc.TLS, pBt uintptr) { /* sqlite3.c:69480:13: */ if int32((*BtShared)(unsafe.Pointer(pBt)).FinTransaction) == TRANS_NONE && (*BtShared)(unsafe.Pointer(pBt)).FpPage1 != uintptr(0) { var pPage1 uintptr = (*BtShared)(unsafe.Pointer(pBt)).FpPage1 @@ -46295,7 +46305,7 @@ func unlockBtreeIfUnused(tls *libc.TLS, pBt uintptr) { /* sqlite3.c:69470:13: */ // If pBt points to an empty file then convert that empty file // into a new empty database by initializing the first page of // the database. -func newDatabase(tls *libc.TLS, pBt uintptr) int32 { /* sqlite3.c:69487:12: */ +func newDatabase(tls *libc.TLS, pBt uintptr) int32 { /* sqlite3.c:69497:12: */ var pP1 uintptr var data uintptr var rc int32 @@ -46335,7 +46345,7 @@ func newDatabase(tls *libc.TLS, pBt uintptr) int32 { /* sqlite3.c:69487:12: */ // Initialize the first page of the database file (creating a database // consisting of a single page and no schema objects). Return SQLITE_OK // if successful, or an SQLite error code otherwise. -func Xsqlite3BtreeNewDb(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:69531:20: */ +func Xsqlite3BtreeNewDb(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:69541:20: */ var rc int32 Xsqlite3BtreeEnter(tls, p) (*BtShared)(unsafe.Pointer((*Btree)(unsafe.Pointer(p)).FpBt)).FnPage = U32(0) @@ -46377,7 +46387,7 @@ func Xsqlite3BtreeNewDb(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:69531:20: // no progress. By returning SQLITE_BUSY and not invoking the busy callback // when A already has a read lock, we encourage A to give up and let B // proceed. -func Xsqlite3BtreeBeginTrans(tls *libc.TLS, p uintptr, wrflag int32, pSchemaVersion uintptr) int32 { /* sqlite3.c:69575:20: */ +func Xsqlite3BtreeBeginTrans(tls *libc.TLS, p uintptr, wrflag int32, pSchemaVersion uintptr) int32 { /* sqlite3.c:69585:20: */ var pBt uintptr var pPager uintptr var rc int32 @@ -46641,7 +46651,7 @@ __34: // Set the pointer-map entries for all children of page pPage. Also, if // pPage contains cells that point to overflow pages, set the pointer // map entries for the overflow pages as well. -func setChildPtrmaps(tls *libc.TLS, pPage uintptr) int32 { /* sqlite3.c:69755:12: */ +func setChildPtrmaps(tls *libc.TLS, pPage uintptr) int32 { /* sqlite3.c:69765:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -46693,14 +46703,14 @@ func setChildPtrmaps(tls *libc.TLS, pPage uintptr) int32 { /* sqlite3.c:69755:12 // // PTRMAP_OVERFLOW2: pPage is an overflow-page. The pointer points at the next // overflow page in the list. -func modifyPagePointer(tls *libc.TLS, pPage uintptr, iFrom Pgno, iTo Pgno, eType U8) int32 { /* sqlite3.c:69800:12: */ +func modifyPagePointer(tls *libc.TLS, pPage uintptr, iFrom Pgno, iTo Pgno, eType U8) int32 { /* sqlite3.c:69810:12: */ bp := tls.Alloc(20) defer tls.Free(20) if int32(eType) == PTRMAP_OVERFLOW2 { // The pointer is always the first 4 bytes of the page in this case. if Xsqlite3Get4byte(tls, (*MemPage)(unsafe.Pointer(pPage)).FaData) != iFrom { - return Xsqlite3CorruptError(tls, 69806) + return Xsqlite3CorruptError(tls, 69816) } Xsqlite3Put4byte(tls, (*MemPage)(unsafe.Pointer(pPage)).FaData, iTo) } else { @@ -46728,7 +46738,7 @@ func modifyPagePointer(tls *libc.TLS, pPage uintptr, iFrom Pgno, iTo Pgno, eType })(unsafe.Pointer(&struct{ uintptr }{(*MemPage)(unsafe.Pointer(pPage)).FxParseCell})).f(tls, pPage, pCell, bp /* &info */) if U32((*CellInfo)(unsafe.Pointer(bp)).FnLocal) < (*CellInfo)(unsafe.Pointer(bp)).FnPayload { if pCell+uintptr((*CellInfo)(unsafe.Pointer(bp)).FnSize) > (*MemPage)(unsafe.Pointer(pPage)).FaData+uintptr((*BtShared)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize) { - return Xsqlite3CorruptError(tls, 69825) + return Xsqlite3CorruptError(tls, 69835) } if iFrom == Xsqlite3Get4byte(tls, pCell+uintptr((*CellInfo)(unsafe.Pointer(bp)).FnSize)-uintptr(4)) { Xsqlite3Put4byte(tls, pCell+uintptr((*CellInfo)(unsafe.Pointer(bp)).FnSize)-uintptr(4), iTo) @@ -46745,7 +46755,7 @@ func modifyPagePointer(tls *libc.TLS, pPage uintptr, iFrom Pgno, iTo Pgno, eType if i == nCell { if int32(eType) != PTRMAP_BTREE || Xsqlite3Get4byte(tls, (*MemPage)(unsafe.Pointer(pPage)).FaData+uintptr(int32((*MemPage)(unsafe.Pointer(pPage)).FhdrOffset)+8)) != iFrom { - return Xsqlite3CorruptError(tls, 69843) + return Xsqlite3CorruptError(tls, 69853) } Xsqlite3Put4byte(tls, (*MemPage)(unsafe.Pointer(pPage)).FaData+uintptr(int32((*MemPage)(unsafe.Pointer(pPage)).FhdrOffset)+8), iTo) } @@ -46760,7 +46770,7 @@ func modifyPagePointer(tls *libc.TLS, pPage uintptr, iFrom Pgno, iTo Pgno, eType // the journal needs to be sync()ed before database page pDbPage->pgno // can be written to. The caller has already promised not to write to that // page. -func relocatePage(tls *libc.TLS, pBt uintptr, pDbPage uintptr, eType U8, iPtrPage Pgno, iFreePage Pgno, isCommit int32) int32 { /* sqlite3.c:69861:12: */ +func relocatePage(tls *libc.TLS, pBt uintptr, pDbPage uintptr, eType U8, iPtrPage Pgno, iFreePage Pgno, isCommit int32) int32 { /* sqlite3.c:69871:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -46771,7 +46781,7 @@ func relocatePage(tls *libc.TLS, pBt uintptr, pDbPage uintptr, eType U8, iPtrPag // var rc int32 at bp, 4 if iDbPage < Pgno(3) { - return Xsqlite3CorruptError(tls, 69878) + return Xsqlite3CorruptError(tls, 69888) } // Move page iDbPage from its current location to page number iFreePage @@ -46841,7 +46851,7 @@ func relocatePage(tls *libc.TLS, pBt uintptr, pDbPage uintptr, eType U8, iPtrPag // caller will keep calling incrVacuumStep() until it returns SQLITE_DONE // or an error. bCommit is passed true for an auto-vacuum-on-commit // operation, or false for an incremental vacuum. -func incrVacuumStep(tls *libc.TLS, pBt uintptr, nFin Pgno, iLastPg Pgno, bCommit int32) int32 { /* sqlite3.c:69955:12: */ +func incrVacuumStep(tls *libc.TLS, pBt uintptr, nFin Pgno, iLastPg Pgno, bCommit int32) int32 { /* sqlite3.c:69965:12: */ bp := tls.Alloc(28) defer tls.Free(28) @@ -46863,7 +46873,7 @@ func incrVacuumStep(tls *libc.TLS, pBt uintptr, nFin Pgno, iLastPg Pgno, bCommit return rc } if int32(*(*U8)(unsafe.Pointer(bp))) == PTRMAP_ROOTPAGE { - return Xsqlite3CorruptError(tls, 69976) + return Xsqlite3CorruptError(tls, 69986) } if int32(*(*U8)(unsafe.Pointer(bp))) == PTRMAP_FREEPAGE { @@ -46938,7 +46948,7 @@ func incrVacuumStep(tls *libc.TLS, pBt uintptr, nFin Pgno, iLastPg Pgno, bCommit // The database opened by the first argument is an auto-vacuum database // nOrig pages in size containing nFree free pages. Return the expected // size of the database in pages following an auto-vacuum operation. -func finalDbSize(tls *libc.TLS, pBt uintptr, nOrig Pgno, nFree Pgno) Pgno { /* sqlite3.c:70051:13: */ +func finalDbSize(tls *libc.TLS, pBt uintptr, nOrig Pgno, nFree Pgno) Pgno { /* sqlite3.c:70061:13: */ var nEntry int32 // Number of entries on one ptrmap page var nPtrmap Pgno // Number of PtrMap pages to be freed var nFin Pgno // Return value @@ -46962,7 +46972,7 @@ func finalDbSize(tls *libc.TLS, pBt uintptr, nOrig Pgno, nFree Pgno) Pgno { /* s // If the incremental vacuum is finished after this function has run, // SQLITE_DONE is returned. If it is not finished, but no error occurred, // SQLITE_OK is returned. Otherwise an SQLite error code. -func Xsqlite3BtreeIncrVacuum(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:70077:20: */ +func Xsqlite3BtreeIncrVacuum(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:70087:20: */ var rc int32 var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt @@ -46976,7 +46986,7 @@ func Xsqlite3BtreeIncrVacuum(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:7007 var nFin Pgno = finalDbSize(tls, pBt, nOrig, nFree) if nOrig < nFin || nFree >= nOrig { - rc = Xsqlite3CorruptError(tls, 70091) + rc = Xsqlite3CorruptError(tls, 70101) } else if nFree > Pgno(0) { rc = saveAllCursors(tls, pBt, uint32(0), uintptr(0)) if rc == SQLITE_OK { @@ -46997,7 +47007,7 @@ func Xsqlite3BtreeIncrVacuum(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:7007 // This routine is called prior to sqlite3PagerCommit when a transaction // is committed for an auto-vacuum database. -func autoVacuumCommit(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:70114:12: */ +func autoVacuumCommit(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:70124:12: */ var rc int32 = SQLITE_OK var pPager uintptr var pBt uintptr @@ -47020,7 +47030,7 @@ func autoVacuumCommit(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:70114:12: * // It is not possible to create a database for which the final page // is either a pointer-map page or the pending-byte page. If one // is encountered, this indicates corruption. - return Xsqlite3CorruptError(tls, 70142) + return Xsqlite3CorruptError(tls, 70152) } nFree = Xsqlite3Get4byte(tls, (*MemPage)(unsafe.Pointer((*BtShared)(unsafe.Pointer(pBt)).FpPage1)).FaData+36) @@ -47051,7 +47061,7 @@ func autoVacuumCommit(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:70114:12: * } nFin = finalDbSize(tls, pBt, nOrig, nVac) if nFin > nOrig { - return Xsqlite3CorruptError(tls, 70169) + return Xsqlite3CorruptError(tls, 70179) } if nFin < nOrig { rc = saveAllCursors(tls, pBt, uint32(0), uintptr(0)) @@ -47101,7 +47111,7 @@ func autoVacuumCommit(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:70114:12: * // // Once this is routine has returned, the only thing required to commit // the write-transaction for this database file is to delete the journal. -func Xsqlite3BtreeCommitPhaseOne(tls *libc.TLS, p uintptr, zSuperJrnl uintptr) int32 { /* sqlite3.c:70225:20: */ +func Xsqlite3BtreeCommitPhaseOne(tls *libc.TLS, p uintptr, zSuperJrnl uintptr) int32 { /* sqlite3.c:70235:20: */ var rc int32 = SQLITE_OK if int32((*Btree)(unsafe.Pointer(p)).FinTrans) == TRANS_WRITE { var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt @@ -47124,7 +47134,7 @@ func Xsqlite3BtreeCommitPhaseOne(tls *libc.TLS, p uintptr, zSuperJrnl uintptr) i // This function is called from both BtreeCommitPhaseTwo() and BtreeRollback() // at the conclusion of a transaction. -func btreeEndTransaction(tls *libc.TLS, p uintptr) { /* sqlite3.c:70252:13: */ +func btreeEndTransaction(tls *libc.TLS, p uintptr) { /* sqlite3.c:70262:13: */ var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt var db uintptr = (*Btree)(unsafe.Pointer(p)).Fdb @@ -47180,7 +47190,7 @@ func btreeEndTransaction(tls *libc.TLS, p uintptr) { /* sqlite3.c:70252:13: */ // // This will release the write lock on the database file. If there // are no active cursors, it also releases the read lock. -func Xsqlite3BtreeCommitPhaseTwo(tls *libc.TLS, p uintptr, bCleanup int32) int32 { /* sqlite3.c:70314:20: */ +func Xsqlite3BtreeCommitPhaseTwo(tls *libc.TLS, p uintptr, bCleanup int32) int32 { /* sqlite3.c:70324:20: */ if int32((*Btree)(unsafe.Pointer(p)).FinTrans) == TRANS_NONE { return SQLITE_OK @@ -47209,7 +47219,7 @@ func Xsqlite3BtreeCommitPhaseTwo(tls *libc.TLS, p uintptr, bCleanup int32) int32 } // Do both phases of a commit. -func Xsqlite3BtreeCommit(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:70346:20: */ +func Xsqlite3BtreeCommit(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:70356:20: */ var rc int32 Xsqlite3BtreeEnter(tls, p) rc = Xsqlite3BtreeCommitPhaseOne(tls, p, uintptr(0)) @@ -47244,7 +47254,7 @@ func Xsqlite3BtreeCommit(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:70346:20 // // SQLITE_OK is returned if successful, or if an error occurs while // saving a cursor position, an SQLite error code. -func Xsqlite3BtreeTripAllCursors(tls *libc.TLS, pBtree uintptr, errCode int32, writeOnly int32) int32 { /* sqlite3.c:70383:20: */ +func Xsqlite3BtreeTripAllCursors(tls *libc.TLS, pBtree uintptr, errCode int32, writeOnly int32) int32 { /* sqlite3.c:70393:20: */ var p uintptr var rc int32 = SQLITE_OK @@ -47273,7 +47283,7 @@ func Xsqlite3BtreeTripAllCursors(tls *libc.TLS, pBtree uintptr, errCode int32, w // Set the pBt->nPage field correctly, according to the current // state of the database. Assume pBt->pPage1 is valid. -func btreeSetNPage(tls *libc.TLS, pBt uintptr, pPage1 uintptr) { /* sqlite3.c:70415:13: */ +func btreeSetNPage(tls *libc.TLS, pBt uintptr, pPage1 uintptr) { /* sqlite3.c:70425:13: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -47295,7 +47305,7 @@ func btreeSetNPage(tls *libc.TLS, pBt uintptr, pPage1 uintptr) { /* sqlite3.c:70 // // This will release the write lock on the database file. If there // are no active cursors, it also releases the read lock. -func Xsqlite3BtreeRollback(tls *libc.TLS, p uintptr, tripCode int32, writeOnly int32) int32 { /* sqlite3.c:70434:20: */ +func Xsqlite3BtreeRollback(tls *libc.TLS, p uintptr, tripCode int32, writeOnly int32) int32 { /* sqlite3.c:70444:20: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -47361,7 +47371,7 @@ func Xsqlite3BtreeRollback(tls *libc.TLS, p uintptr, tripCode int32, writeOnly i // are no active savepoints and no other statement-transactions open, // iStatement is 1. This anonymous savepoint can be released or rolled back // using the sqlite3BtreeSavepoint() function. -func Xsqlite3BtreeBeginStmt(tls *libc.TLS, p uintptr, iStatement int32) int32 { /* sqlite3.c:70499:20: */ +func Xsqlite3BtreeBeginStmt(tls *libc.TLS, p uintptr, iStatement int32) int32 { /* sqlite3.c:70509:20: */ var rc int32 var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt Xsqlite3BtreeEnter(tls, p) @@ -47385,7 +47395,7 @@ func Xsqlite3BtreeBeginStmt(tls *libc.TLS, p uintptr, iStatement int32) int32 { // contents of the entire transaction are rolled back. This is different // from a normal transaction rollback, as no locks are released and the // transaction remains open. -func Xsqlite3BtreeSavepoint(tls *libc.TLS, p uintptr, op int32, iSavepoint int32) int32 { /* sqlite3.c:70530:20: */ +func Xsqlite3BtreeSavepoint(tls *libc.TLS, p uintptr, op int32, iSavepoint int32) int32 { /* sqlite3.c:70540:20: */ var rc int32 = SQLITE_OK if p != 0 && int32((*Btree)(unsafe.Pointer(p)).FinTrans) == TRANS_WRITE { var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt @@ -47453,7 +47463,7 @@ func Xsqlite3BtreeSavepoint(tls *libc.TLS, p uintptr, op int32, iSavepoint int32 // // It is assumed that the sqlite3BtreeCursorZero() has been called // on pCur to initialize the memory space prior to invoking this routine. -func btreeCursor(tls *libc.TLS, p uintptr, iTable Pgno, wrFlag int32, pKeyInfo uintptr, pCur uintptr) int32 { /* sqlite3.c:70601:12: */ +func btreeCursor(tls *libc.TLS, p uintptr, iTable Pgno, wrFlag int32, pKeyInfo uintptr, pCur uintptr) int32 { /* sqlite3.c:70611:12: */ var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt // Shared b-tree handle var pX uintptr // Looping over other all cursors @@ -47466,7 +47476,7 @@ func btreeCursor(tls *libc.TLS, p uintptr, iTable Pgno, wrFlag int32, pKeyInfo u if iTable <= Pgno(1) { if iTable < Pgno(1) { - return Xsqlite3CorruptError(tls, 70633) + return Xsqlite3CorruptError(tls, 70643) } else if btreePagecount(tls, pBt) == Pgno(0) { iTable = Pgno(0) @@ -47504,7 +47514,7 @@ func btreeCursor(tls *libc.TLS, p uintptr, iTable Pgno, wrFlag int32, pKeyInfo u return SQLITE_OK } -func btreeCursorWithLock(tls *libc.TLS, p uintptr, iTable Pgno, wrFlag int32, pKeyInfo uintptr, pCur uintptr) int32 { /* sqlite3.c:70668:12: */ +func btreeCursorWithLock(tls *libc.TLS, p uintptr, iTable Pgno, wrFlag int32, pKeyInfo uintptr, pCur uintptr) int32 { /* sqlite3.c:70678:12: */ var rc int32 Xsqlite3BtreeEnter(tls, p) rc = btreeCursor(tls, p, iTable, wrFlag, pKeyInfo, pCur) @@ -47512,7 +47522,7 @@ func btreeCursorWithLock(tls *libc.TLS, p uintptr, iTable Pgno, wrFlag int32, pK return rc } -func Xsqlite3BtreeCursor(tls *libc.TLS, p uintptr, iTable Pgno, wrFlag int32, pKeyInfo uintptr, pCur uintptr) int32 { /* sqlite3.c:70681:20: */ +func Xsqlite3BtreeCursor(tls *libc.TLS, p uintptr, iTable Pgno, wrFlag int32, pKeyInfo uintptr, pCur uintptr) int32 { /* sqlite3.c:70691:20: */ if (*Btree)(unsafe.Pointer(p)).Fsharable != 0 { return btreeCursorWithLock(tls, p, iTable, wrFlag, pKeyInfo, pCur) } else { @@ -47527,7 +47537,7 @@ func Xsqlite3BtreeCursor(tls *libc.TLS, p uintptr, iTable Pgno, wrFlag int32, pK // sufficient storage to hold a cursor. The BtCursor object is opaque // to users so they cannot do the sizeof() themselves - they must call // this routine. -func Xsqlite3BtreeCursorSize(tls *libc.TLS) int32 { /* sqlite3.c:70703:20: */ +func Xsqlite3BtreeCursorSize(tls *libc.TLS) int32 { /* sqlite3.c:70713:20: */ return int32((uint32(unsafe.Sizeof(BtCursor{})) + uint32(7)) & libc.Uint32FromInt32(libc.CplInt32(7))) } @@ -47537,13 +47547,13 @@ func Xsqlite3BtreeCursorSize(tls *libc.TLS) int32 { /* sqlite3.c:70703:20: */ // to zero. But it turns out that the apPage[] and aiIdx[] arrays // do not need to be zeroed and they are large, so we can save a lot // of run-time by skipping the initialization of those elements. -func Xsqlite3BtreeCursorZero(tls *libc.TLS, p uintptr) { /* sqlite3.c:70715:21: */ +func Xsqlite3BtreeCursorZero(tls *libc.TLS, p uintptr) { /* sqlite3.c:70725:21: */ libc.Xmemset(tls, p, 0, uint32(uintptr(0)+20)) } // Close a cursor. The read lock on the database file is released // when the last cursor is closed. -func Xsqlite3BtreeCloseCursor(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:70723:20: */ +func Xsqlite3BtreeCloseCursor(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:70733:20: */ var pBtree uintptr = (*BtCursor)(unsafe.Pointer(pCur)).FpBtree if pBtree != 0 { var pBt uintptr = (*BtCursor)(unsafe.Pointer(pCur)).FpBt @@ -47584,7 +47594,7 @@ func Xsqlite3BtreeCloseCursor(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c: // // BtCursor.info is a cache of the information in the current cell. // Using this cache reduces the number of calls to btreeParseCell(). -func getCellInfo(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:70784:29: */ +func getCellInfo(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:70794:29: */ if int32((*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnSize) == 0 { *(*U8)(unsafe.Pointer(pCur + 1)) |= U8(BTCF_ValidNKey) btreeParseCell(tls, (*BtCursor)(unsafe.Pointer(pCur)).FpPage, int32((*BtCursor)(unsafe.Pointer(pCur)).Fix), pCur+28) @@ -47593,7 +47603,7 @@ func getCellInfo(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:70784:29: */ } } -func Xsqlite3BtreeCursorIsValidNN(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:70803:20: */ +func Xsqlite3BtreeCursorIsValidNN(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:70813:20: */ return libc.Bool32(int32((*BtCursor)(unsafe.Pointer(pCur)).FeState) == CURSOR_VALID) } @@ -47602,26 +47612,26 @@ func Xsqlite3BtreeCursorIsValidNN(tls *libc.TLS, pCur uintptr) int32 { /* sqlite // This routine is only valid for a cursor that is pointing into a // ordinary table btree. If the cursor points to an index btree or // is invalid, the result of this routine is undefined. -func Xsqlite3BtreeIntegerKey(tls *libc.TLS, pCur uintptr) I64 { /* sqlite3.c:70814:20: */ +func Xsqlite3BtreeIntegerKey(tls *libc.TLS, pCur uintptr) I64 { /* sqlite3.c:70824:20: */ getCellInfo(tls, pCur) return (*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnKey } // Pin or unpin a cursor. -func Xsqlite3BtreeCursorPin(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:70825:21: */ +func Xsqlite3BtreeCursorPin(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:70835:21: */ *(*U8)(unsafe.Pointer(pCur + 1)) |= U8(BTCF_Pinned) } -func Xsqlite3BtreeCursorUnpin(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:70829:21: */ +func Xsqlite3BtreeCursorUnpin(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:70839:21: */ *(*U8)(unsafe.Pointer(pCur + 1)) &= libc.Uint8FromInt32(libc.CplInt32(BTCF_Pinned)) } // Return the offset into the database file for the start of the // payload to which the cursor is pointing. -func Xsqlite3BtreeOffset(tls *libc.TLS, pCur uintptr) I64 { /* sqlite3.c:70839:20: */ +func Xsqlite3BtreeOffset(tls *libc.TLS, pCur uintptr) I64 { /* sqlite3.c:70849:20: */ getCellInfo(tls, pCur) return I64((*BtShared)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pCur)).FpBt)).FpageSize)*(I64((*MemPage)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pCur)).FpPage)).Fpgno)-int64(1)) + I64((int32((*BtCursor)(unsafe.Pointer(pCur)).Finfo.FpPayload)-int32((*MemPage)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pCur)).FpPage)).FaData))/1) @@ -47634,7 +47644,7 @@ func Xsqlite3BtreeOffset(tls *libc.TLS, pCur uintptr) I64 { /* sqlite3.c:70839:2 // The caller must guarantee that the cursor is pointing to a non-NULL // valid entry. In other words, the calling procedure must guarantee // that the cursor has Cursor.eState==CURSOR_VALID. -func Xsqlite3BtreePayloadSize(tls *libc.TLS, pCur uintptr) U32 { /* sqlite3.c:70857:20: */ +func Xsqlite3BtreePayloadSize(tls *libc.TLS, pCur uintptr) U32 { /* sqlite3.c:70867:20: */ getCellInfo(tls, pCur) return (*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnPayload @@ -47651,7 +47661,7 @@ func Xsqlite3BtreePayloadSize(tls *libc.TLS, pCur uintptr) U32 { /* sqlite3.c:70 // // The current implementation merely returns the size of the underlying // database file. -func Xsqlite3BtreeMaxRecordSize(tls *libc.TLS, pCur uintptr) Sqlite3_int64 { /* sqlite3.c:70877:30: */ +func Xsqlite3BtreeMaxRecordSize(tls *libc.TLS, pCur uintptr) Sqlite3_int64 { /* sqlite3.c:70887:30: */ return Sqlite3_int64((*BtShared)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pCur)).FpBt)).FpageSize) * Sqlite3_int64((*BtShared)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pCur)).FpBt)).FnPage) } @@ -47673,7 +47683,7 @@ func Xsqlite3BtreeMaxRecordSize(tls *libc.TLS, pCur uintptr) Sqlite3_int64 { /* // on *ppPage to free the reference. In no reference was obtained (because // the pointer-map was used to obtain the value for *pPgnoNext), then // *ppPage is set to zero. -func getOverflowPage(tls *libc.TLS, pBt uintptr, ovfl Pgno, ppPage uintptr, pPgnoNext uintptr) int32 { /* sqlite3.c:70902:12: */ +func getOverflowPage(tls *libc.TLS, pBt uintptr, ovfl Pgno, ppPage uintptr, pPgnoNext uintptr) int32 { /* sqlite3.c:70912:12: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -47741,7 +47751,7 @@ func getOverflowPage(tls *libc.TLS, pBt uintptr, ovfl Pgno, ppPage uintptr, pPgn // of data are copied from the buffer pBuf to pPayload. // // SQLITE_OK is returned on success, otherwise an error code. -func copyPayload(tls *libc.TLS, pPayload uintptr, pBuf uintptr, nByte int32, eOp int32, pDbPage uintptr) int32 { /* sqlite3.c:70970:12: */ +func copyPayload(tls *libc.TLS, pPayload uintptr, pBuf uintptr, nByte int32, eOp int32, pDbPage uintptr) int32 { /* sqlite3.c:70980:12: */ if eOp != 0 { // Copy data from buffer to page (a write operation) var rc int32 = Xsqlite3PagerWrite(tls, pDbPage) @@ -47783,7 +47793,7 @@ func copyPayload(tls *libc.TLS, pPayload uintptr, pBuf uintptr, nByte int32, eOp // * An incremental vacuum, // * A commit in auto_vacuum="full" mode, // * Creating a table (may require moving an overflow page). -func accessPayload(tls *libc.TLS, pCur uintptr, offset U32, amt U32, pBuf uintptr, eOp int32) int32 { /* sqlite3.c:71020:12: */ +func accessPayload(tls *libc.TLS, pCur uintptr, offset U32, amt U32, pBuf uintptr, eOp int32) int32 { /* sqlite3.c:71030:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -47794,7 +47804,7 @@ func accessPayload(tls *libc.TLS, pCur uintptr, offset U32, amt U32, pBuf uintpt var pBt uintptr = (*BtCursor)(unsafe.Pointer(pCur)).FpBt // Btree this cursor belongs to if int32((*BtCursor)(unsafe.Pointer(pCur)).Fix) >= int32((*MemPage)(unsafe.Pointer(pPage)).FnCell) { - return Xsqlite3CorruptError(tls, 71040) + return Xsqlite3CorruptError(tls, 71050) } getCellInfo(tls, pCur) @@ -47805,7 +47815,7 @@ func accessPayload(tls *libc.TLS, pCur uintptr, offset U32, amt U32, pBuf uintpt // conditional above is really: // &aPayload[pCur->info.nLocal] > &pPage->aData[pBt->usableSize] // but is recast into its current form to avoid integer overflow problems - return Xsqlite3CorruptError(tls, 71055) + return Xsqlite3CorruptError(tls, 71065) } // Check if data must be read/written to/from the btree page itself. @@ -47862,7 +47872,7 @@ func accessPayload(tls *libc.TLS, pCur uintptr, offset U32, amt U32, pBuf uintpt for *(*Pgno)(unsafe.Pointer(bp)) != 0 { // If required, populate the overflow page-list cache. if *(*Pgno)(unsafe.Pointer(bp)) > (*BtShared)(unsafe.Pointer(pBt)).FnPage { - return Xsqlite3CorruptError(tls, 71117) + return Xsqlite3CorruptError(tls, 71127) } *(*Pgno)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pCur)).FaOverflow + uintptr(iIdx)*4)) = *(*Pgno)(unsafe.Pointer(bp /* nextPage */)) @@ -47922,7 +47932,7 @@ func accessPayload(tls *libc.TLS, pCur uintptr, offset U32, amt U32, pBuf uintpt if rc == SQLITE_OK && amt > U32(0) { // Overflow chain ends prematurely - return Xsqlite3CorruptError(tls, 71202) + return Xsqlite3CorruptError(tls, 71212) } return rc } @@ -47942,7 +47952,7 @@ func accessPayload(tls *libc.TLS, pCur uintptr, offset U32, amt U32, pBuf uintpt // Return SQLITE_OK on success or an error code if anything goes // wrong. An error is returned if "offset+amt" is larger than // the available payload. -func Xsqlite3BtreePayload(tls *libc.TLS, pCur uintptr, offset U32, amt U32, pBuf uintptr) int32 { /* sqlite3.c:71224:20: */ +func Xsqlite3BtreePayload(tls *libc.TLS, pCur uintptr, offset U32, amt U32, pBuf uintptr) int32 { /* sqlite3.c:71234:20: */ return accessPayload(tls, pCur, offset, amt, pBuf, 0) } @@ -47950,7 +47960,7 @@ func Xsqlite3BtreePayload(tls *libc.TLS, pCur uintptr, offset U32, amt U32, pBuf // This variant of sqlite3BtreePayload() works even if the cursor has not // in the CURSOR_VALID state. It is only used by the sqlite3_blob_read() // interface. -func accessPayloadChecked(tls *libc.TLS, pCur uintptr, offset U32, amt U32, pBuf uintptr) int32 { /* sqlite3.c:71237:28: */ +func accessPayloadChecked(tls *libc.TLS, pCur uintptr, offset U32, amt U32, pBuf uintptr) int32 { /* sqlite3.c:71247:28: */ var rc int32 if int32((*BtCursor)(unsafe.Pointer(pCur)).FeState) == CURSOR_INVALID { return SQLITE_ABORT @@ -47963,7 +47973,7 @@ func accessPayloadChecked(tls *libc.TLS, pCur uintptr, offset U32, amt U32, pBuf return accessPayload(tls, pCur, offset, amt, pBuf, 0) } -func Xsqlite3BtreePayloadChecked(tls *libc.TLS, pCur uintptr, offset U32, amt U32, pBuf uintptr) int32 { /* sqlite3.c:71251:20: */ +func Xsqlite3BtreePayloadChecked(tls *libc.TLS, pCur uintptr, offset U32, amt U32, pBuf uintptr) int32 { /* sqlite3.c:71261:20: */ if int32((*BtCursor)(unsafe.Pointer(pCur)).FeState) == CURSOR_VALID { return accessPayload(tls, pCur, offset, amt, pBuf, 0) @@ -47990,7 +48000,7 @@ func Xsqlite3BtreePayloadChecked(tls *libc.TLS, pCur uintptr, offset U32, amt U3 // The pointer returned by this routine looks directly into the cached // page of the database. The data might change or move the next time // any btree routine is called. -func fetchPayload(tls *libc.TLS, pCur uintptr, pAmt uintptr) uintptr { /* sqlite3.c:71280:19: */ +func fetchPayload(tls *libc.TLS, pCur uintptr, pAmt uintptr) uintptr { /* sqlite3.c:71290:19: */ var amt int32 amt = int32((*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnLocal) @@ -48021,7 +48031,7 @@ func fetchPayload(tls *libc.TLS, pCur uintptr, pAmt uintptr) uintptr { /* sqlite // // These routines is used to get quick access to key and data // in the common case where no overflow pages are used. -func Xsqlite3BtreePayloadFetch(tls *libc.TLS, pCur uintptr, pAmt uintptr) uintptr { /* sqlite3.c:71319:27: */ +func Xsqlite3BtreePayloadFetch(tls *libc.TLS, pCur uintptr, pAmt uintptr) uintptr { /* sqlite3.c:71329:27: */ return fetchPayload(tls, pCur, pAmt) } @@ -48032,11 +48042,11 @@ func Xsqlite3BtreePayloadFetch(tls *libc.TLS, pCur uintptr, pAmt uintptr) uintpt // the new child page does not match the flags field of the parent (i.e. // if an intkey page appears to be the parent of a non-intkey page, or // vice-versa). -func moveToChild(tls *libc.TLS, pCur uintptr, newPgno U32) int32 { /* sqlite3.c:71333:12: */ +func moveToChild(tls *libc.TLS, pCur uintptr, newPgno U32) int32 { /* sqlite3.c:71343:12: */ var pBt uintptr = (*BtCursor)(unsafe.Pointer(pCur)).FpBt if int32((*BtCursor)(unsafe.Pointer(pCur)).FiPage) >= BTCURSOR_MAX_DEPTH-1 { - return Xsqlite3CorruptError(tls, 71341) + return Xsqlite3CorruptError(tls, 71351) } (*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnSize = U16(0) *(*U8)(unsafe.Pointer(pCur + 1)) &= libc.Uint8FromInt32(libc.CplInt32(BTCF_ValidNKey | BTCF_ValidOvfl)) @@ -48053,7 +48063,7 @@ func moveToChild(tls *libc.TLS, pCur uintptr, newPgno U32) int32 { /* sqlite3.c: // to the page we are coming from. If we are coming from the // right-most child page then pCur->idx is set to one more than // the largest cell index. -func moveToParent(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:71382:13: */ +func moveToParent(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:71392:13: */ var pLeaf uintptr (*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnSize = U16(0) @@ -48083,7 +48093,7 @@ func moveToParent(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:71382:13: */ // indicating a table b-tree, or if the caller did specify a KeyInfo // structure the flags byte is set to 0x02 or 0x0A, indicating an index // b-tree). -func moveToRoot(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:71423:12: */ +func moveToRoot(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:71433:12: */ var pRoot uintptr var rc int32 var subpage Pgno @@ -48162,7 +48172,7 @@ __2: if !(int32((*MemPage)(unsafe.Pointer(pRoot)).FisInit) == 0 || libc.Bool32((*BtCursor)(unsafe.Pointer(pCur)).FpKeyInfo == uintptr(0)) != int32((*MemPage)(unsafe.Pointer(pRoot)).FintKey)) { goto __11 } - return Xsqlite3CorruptError(tls, 71479) + return Xsqlite3CorruptError(tls, 71489) __11: ; @@ -48183,7 +48193,7 @@ __12: if !((*MemPage)(unsafe.Pointer(pRoot)).Fpgno != Pgno(1)) { goto __16 } - return Xsqlite3CorruptError(tls, 71491) + return Xsqlite3CorruptError(tls, 71501) __16: ; subpage = Xsqlite3Get4byte(tls, (*MemPage)(unsafe.Pointer(pRoot)).FaData+uintptr(int32((*MemPage)(unsafe.Pointer(pRoot)).FhdrOffset)+8)) @@ -48205,7 +48215,7 @@ __13: // // The left-most leaf is the one with the smallest key - the first // in ascending order. -func moveToLeftmost(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:71509:12: */ +func moveToLeftmost(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:71519:12: */ var pgno Pgno var rc int32 = SQLITE_OK var pPage uintptr @@ -48226,7 +48236,7 @@ func moveToLeftmost(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:71509:12: // // The right-most entry is the one with the largest key - the last // key in ascending order. -func moveToRightmost(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:71534:12: */ +func moveToRightmost(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:71544:12: */ var pgno Pgno var rc int32 = SQLITE_OK var pPage uintptr = uintptr(0) @@ -48247,7 +48257,7 @@ func moveToRightmost(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:71534:12: // Move the cursor to the first entry in the table. Return SQLITE_OK // on success. Set *pRes to 0 if the cursor actually points to something // or set *pRes to 1 if the table is empty. -func Xsqlite3BtreeFirst(tls *libc.TLS, pCur uintptr, pRes uintptr) int32 { /* sqlite3.c:71557:20: */ +func Xsqlite3BtreeFirst(tls *libc.TLS, pCur uintptr, pRes uintptr) int32 { /* sqlite3.c:71567:20: */ var rc int32 rc = moveToRoot(tls, pCur) @@ -48266,7 +48276,7 @@ func Xsqlite3BtreeFirst(tls *libc.TLS, pCur uintptr, pRes uintptr) int32 { /* sq // Move the cursor to the last entry in the table. Return SQLITE_OK // on success. Set *pRes to 0 if the cursor actually points to something // or set *pRes to 1 if the table is empty. -func Xsqlite3BtreeLast(tls *libc.TLS, pCur uintptr, pRes uintptr) int32 { /* sqlite3.c:71579:20: */ +func Xsqlite3BtreeLast(tls *libc.TLS, pCur uintptr, pRes uintptr) int32 { /* sqlite3.c:71589:20: */ var rc int32 // If the cursor already points to the last entry, this is a no-op. @@ -48315,7 +48325,7 @@ func Xsqlite3BtreeLast(tls *libc.TLS, pCur uintptr, pRes uintptr) int32 { /* sql // // *pRes>0 The cursor is left pointing at an entry that // is larger than intKey. -func Xsqlite3BtreeTableMoveto(tls *libc.TLS, pCur uintptr, intKey I64, biasRight int32, pRes uintptr) int32 { /* sqlite3.c:71644:20: */ +func Xsqlite3BtreeTableMoveto(tls *libc.TLS, pCur uintptr, intKey I64, biasRight int32, pRes uintptr) int32 { /* sqlite3.c:71654:20: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -48430,7 +48440,7 @@ __19: if !(pCell >= (*MemPage)(unsafe.Pointer(pPage)).FaDataEnd) { goto __21 } - return Xsqlite3CorruptError(tls, 71733) + return Xsqlite3CorruptError(tls, 71743) __21: ; goto __19 @@ -48559,7 +48569,7 @@ moveto_table_finish: // // The pIdxKey->eqSeen field is set to 1 if there // exists an entry in the table that exactly matches pIdxKey. -func Xsqlite3BtreeIndexMoveto(tls *libc.TLS, pCur uintptr, pIdxKey uintptr, pRes uintptr) int32 { /* sqlite3.c:71812:20: */ +func Xsqlite3BtreeIndexMoveto(tls *libc.TLS, pCur uintptr, pIdxKey uintptr, pRes uintptr) int32 { /* sqlite3.c:71822:20: */ var rc int32 var xRecordCompare RecordCompare // The record flows over onto one or more overflow pages. In @@ -48663,7 +48673,7 @@ __11: if !(nCell < 2 || U32(nCell)/(*BtShared)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pCur)).FpBt)).FusableSize > (*BtShared)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pCur)).FpBt)).FnPage) { goto __13 } - rc = Xsqlite3CorruptError(tls, 71914) + rc = Xsqlite3CorruptError(tls, 71924) goto moveto_index_finish __13: ; @@ -48712,7 +48722,7 @@ __18: if !((*UnpackedRecord)(unsafe.Pointer(pIdxKey)).FerrCode != 0) { goto __20 } - rc = Xsqlite3CorruptError(tls, 71946) + rc = Xsqlite3CorruptError(tls, 71956) __20: ; goto moveto_index_finish @@ -48779,7 +48789,7 @@ moveto_index_finish: // TRUE will be returned after a call to sqlite3BtreeNext() moves // past the last entry in the table or sqlite3BtreePrev() moves past // the first entry. TRUE is also returned if the table is empty. -func Xsqlite3BtreeEof(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:71985:20: */ +func Xsqlite3BtreeEof(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:71995:20: */ // TODO: What if the cursor is in CURSOR_REQUIRESEEK but all table entries // have been deleted? This API will need to change to return an error code // as well as the boolean result value. @@ -48789,7 +48799,7 @@ func Xsqlite3BtreeEof(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:71985:20 // Return an estimate for the number of rows in the table that pCur is // pointing to. Return a negative number if no estimate is currently // available. -func Xsqlite3BtreeRowCountEst(tls *libc.TLS, pCur uintptr) I64 { /* sqlite3.c:71998:20: */ +func Xsqlite3BtreeRowCountEst(tls *libc.TLS, pCur uintptr) I64 { /* sqlite3.c:72008:20: */ var n I64 var i U8 @@ -48828,7 +48838,7 @@ func Xsqlite3BtreeRowCountEst(tls *libc.TLS, pCur uintptr) I64 { /* sqlite3.c:71 // skipped if the SQL index had been a unique index. The F argument // is a hint to the implement. SQLite btree implementation does not use // this hint, but COMDB2 does. -func btreeNext(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:72038:28: */ +func btreeNext(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:72048:28: */ var rc int32 var idx int32 var pPage uintptr @@ -48865,7 +48875,7 @@ func btreeNext(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:72038:28: */ // has pages in common with the table being queried. See TH3 // module cov1/btree78.test testcase 220 (2018-06-08) for an // example. - return Xsqlite3CorruptError(tls, 72069) + return Xsqlite3CorruptError(tls, 72079) } if idx >= int32((*MemPage)(unsafe.Pointer(pPage)).FnCell) { @@ -48898,7 +48908,7 @@ func btreeNext(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:72038:28: */ return int32(0) } -func Xsqlite3BtreeNext(tls *libc.TLS, pCur uintptr, flags int32) int32 { /* sqlite3.c:72098:20: */ +func Xsqlite3BtreeNext(tls *libc.TLS, pCur uintptr, flags int32) int32 { /* sqlite3.c:72108:20: */ var pPage uintptr _ = flags // Used in COMDB2 but not native SQLite @@ -48938,7 +48948,7 @@ func Xsqlite3BtreeNext(tls *libc.TLS, pCur uintptr, flags int32) int32 { /* sqli // skipped if the SQL index had been a unique index. The F argument is a // hint to the implement. The native SQLite btree implementation does not // use this hint, but COMDB2 does. -func btreePrevious(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:72138:28: */ +func btreePrevious(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:72148:28: */ var rc int32 var pPage uintptr @@ -48992,7 +49002,7 @@ func btreePrevious(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:72138:28: * return rc } -func Xsqlite3BtreePrevious(tls *libc.TLS, pCur uintptr, flags int32) int32 { /* sqlite3.c:72187:20: */ +func Xsqlite3BtreePrevious(tls *libc.TLS, pCur uintptr, flags int32) int32 { /* sqlite3.c:72197:20: */ _ = flags // Used in COMDB2 but not native SQLite *(*U8)(unsafe.Pointer(pCur + 1)) &= libc.Uint8FromInt32(libc.CplInt32(BTCF_AtLast | BTCF_ValidOvfl | BTCF_ValidNKey)) @@ -49026,7 +49036,7 @@ func Xsqlite3BtreePrevious(tls *libc.TLS, pCur uintptr, flags int32) int32 { /* // eMode is BTALLOC_LT then the page returned will be less than or equal // to nearby if any such page exists. If eMode is BTALLOC_ANY then there // are no restrictions on which page is returned. -func allocateBtreePage(tls *libc.TLS, pBt uintptr, ppPage uintptr, pPgno uintptr, nearby Pgno, eMode U8) int32 { /* sqlite3.c:72225:12: */ +func allocateBtreePage(tls *libc.TLS, pBt uintptr, ppPage uintptr, pPgno uintptr, nearby Pgno, eMode U8) int32 { /* sqlite3.c:72235:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -49093,7 +49103,7 @@ func allocateBtreePage(tls *libc.TLS, pBt uintptr, ppPage uintptr, pPgno uintptr if !(n >= mxPage) { goto __1 } - return Xsqlite3CorruptError(tls, 72249) + return Xsqlite3CorruptError(tls, 72259) __1: ; if !(n > U32(0)) { @@ -49174,7 +49184,7 @@ __15: if !(iTrunk > mxPage || libc.PostIncUint32(&nSearch, 1) > n) { goto __16 } - rc = Xsqlite3CorruptError(tls, 72305) + rc = Xsqlite3CorruptError(tls, 72315) goto __17 __16: rc = btreeGetUnusedPage(tls, pBt, iTrunk, bp+4, 0) @@ -49216,7 +49226,7 @@ __19: goto __22 } // Value of k is out of range. Database corruption - rc = Xsqlite3CorruptError(tls, 72334) + rc = Xsqlite3CorruptError(tls, 72344) goto end_allocate_page goto __23 __22: @@ -49261,7 +49271,7 @@ __27: if !(iNewTrunk > mxPage) { goto __32 } - rc = Xsqlite3CorruptError(tls, 72368) + rc = Xsqlite3CorruptError(tls, 72378) goto end_allocate_page __32: ; @@ -49375,7 +49385,7 @@ __40: if !(iPage > mxPage || iPage < Pgno(2)) { goto __51 } - rc = Xsqlite3CorruptError(tls, 72433) + rc = Xsqlite3CorruptError(tls, 72443) goto end_allocate_page __51: ; @@ -49550,7 +49560,7 @@ end_allocate_page: // // If a pointer to a MemPage object is passed as the second argument, // its reference count is not altered by this function. -func freePage2(tls *libc.TLS, pBt uintptr, pMemPage uintptr, iPage Pgno) int32 { /* sqlite3.c:72547:12: */ +func freePage2(tls *libc.TLS, pBt uintptr, pMemPage uintptr, iPage Pgno) int32 { /* sqlite3.c:72557:12: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -49571,7 +49581,7 @@ func freePage2(tls *libc.TLS, pBt uintptr, pMemPage uintptr, iPage Pgno) int32 { if !(iPage < Pgno(2) || iPage > (*BtShared)(unsafe.Pointer(pBt)).FnPage) { goto __1 } - return Xsqlite3CorruptError(tls, 72560) + return Xsqlite3CorruptError(tls, 72570) __1: ; if !(pMemPage != 0) { @@ -49641,7 +49651,7 @@ __7: if !(iTrunk > btreePagecount(tls, pBt)) { goto __10 } - *(*int32)(unsafe.Pointer(bp + 4 /* rc */)) = Xsqlite3CorruptError(tls, 72607) + *(*int32)(unsafe.Pointer(bp + 4 /* rc */)) = Xsqlite3CorruptError(tls, 72617) goto freepage_out __10: ; @@ -49658,7 +49668,7 @@ __11: if !(nLeaf > (*BtShared)(unsafe.Pointer(pBt)).FusableSize/U32(4)-U32(2)) { goto __12 } - *(*int32)(unsafe.Pointer(bp + 4 /* rc */)) = Xsqlite3CorruptError(tls, 72618) + *(*int32)(unsafe.Pointer(bp + 4 /* rc */)) = Xsqlite3CorruptError(tls, 72628) goto freepage_out __12: ; @@ -49739,14 +49749,14 @@ __18: return *(*int32)(unsafe.Pointer(bp + 4 /* rc */)) } -func freePage(tls *libc.TLS, pPage uintptr, pRC uintptr) { /* sqlite3.c:72681:13: */ +func freePage(tls *libc.TLS, pPage uintptr, pRC uintptr) { /* sqlite3.c:72691:13: */ if *(*int32)(unsafe.Pointer(pRC)) == SQLITE_OK { *(*int32)(unsafe.Pointer(pRC)) = freePage2(tls, (*MemPage)(unsafe.Pointer(pPage)).FpBt, pPage, (*MemPage)(unsafe.Pointer(pPage)).Fpgno) } } // Free the overflow pages associated with the given Cell. -func clearCellOverflow(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintptr) int32 { /* sqlite3.c:72690:28: */ +func clearCellOverflow(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintptr) int32 { /* sqlite3.c:72700:28: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -49758,7 +49768,7 @@ func clearCellOverflow(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintpt if pCell+uintptr((*CellInfo)(unsafe.Pointer(pInfo)).FnSize) > (*MemPage)(unsafe.Pointer(pPage)).FaDataEnd { // Cell extends past end of page - return Xsqlite3CorruptError(tls, 72707) + return Xsqlite3CorruptError(tls, 72717) } ovflPgno = Xsqlite3Get4byte(tls, pCell+uintptr((*CellInfo)(unsafe.Pointer(pInfo)).FnSize)-uintptr(4)) pBt = (*MemPage)(unsafe.Pointer(pPage)).FpBt @@ -49773,7 +49783,7 @@ func clearCellOverflow(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintpt // 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 Xsqlite3CorruptError(tls, 72724) + return Xsqlite3CorruptError(tls, 72734) } if nOvfl != 0 { rc = getOverflowPage(tls, pBt, ovflPgno, bp, bp+4) @@ -49793,7 +49803,7 @@ func clearCellOverflow(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintpt // enabled. If this 'overflow' page happens to be a page that the // caller is iterating through or using in some other way, this // can be problematic. - rc = Xsqlite3CorruptError(tls, 72744) + rc = Xsqlite3CorruptError(tls, 72754) } else { rc = freePage2(tls, pBt, *(*uintptr)(unsafe.Pointer(bp /* pOvfl */)), ovflPgno) } @@ -49825,7 +49835,7 @@ func clearCellOverflow(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintpt // area. pCell might point to some temporary storage. The cell will // be constructed in this temporary area then copied into pPage->aData // later. -func fillInCell(tls *libc.TLS, pPage uintptr, pCell uintptr, pX uintptr, pnSize uintptr) int32 { /* sqlite3.c:72785:12: */ +func fillInCell(tls *libc.TLS, pPage uintptr, pCell uintptr, pX uintptr, pnSize uintptr) int32 { /* sqlite3.c:72795:12: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -50007,7 +50017,7 @@ func fillInCell(tls *libc.TLS, pPage uintptr, pCell uintptr, pX uintptr, pnSize // removes the reference to the cell from pPage. // // "sz" must be the number of bytes in the cell. -func dropCell(tls *libc.TLS, pPage uintptr, idx int32, sz int32, pRC uintptr) { /* sqlite3.c:72975:13: */ +func dropCell(tls *libc.TLS, pPage uintptr, idx int32, sz int32, pRC uintptr) { /* sqlite3.c:72985:13: */ var pc U32 // Offset to cell content of cell being deleted var data uintptr // pPage->aData var ptr uintptr // Used to move bytes around within data[] @@ -50025,7 +50035,7 @@ func dropCell(tls *libc.TLS, pPage uintptr, idx int32, sz int32, pRC uintptr) { hdr = int32((*MemPage)(unsafe.Pointer(pPage)).FhdrOffset) if pc+U32(sz) > (*BtShared)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize { - *(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 73003) + *(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 73013) return } rc = freeSpace(tls, pPage, uint16(pc), uint16(sz)) @@ -50061,7 +50071,7 @@ func dropCell(tls *libc.TLS, pPage uintptr, idx int32, sz int32, pRC uintptr) { // pPage->nOverflow is incremented. // // *pRC must be SQLITE_OK when this routine is called. -func insertCell(tls *libc.TLS, pPage uintptr, i int32, pCell uintptr, sz int32, pTemp uintptr, iChild Pgno, pRC uintptr) { /* sqlite3.c:73039:13: */ +func insertCell(tls *libc.TLS, pPage uintptr, i int32, pCell uintptr, sz int32, pTemp uintptr, iChild Pgno, pRC uintptr) { /* sqlite3.c:73049:13: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -50221,7 +50231,7 @@ type CellArray1 = struct { FszCell uintptr FapEnd [6]uintptr FixNx [6]int32 -} /* sqlite3.c:73214:9 */ +} /* sqlite3.c:73224:9 */ // The following parameters determine how many adjacent pages get involved // in a balancing operation. NN is the number of neighbors on either side @@ -50298,11 +50308,11 @@ type CellArray1 = struct { // cases, ixNx[] entries with higher indexes, and the corresponding apEnd[] // entries, shift down. The end result is that each ixNx[] entry should // be larger than the previous -type CellArray = CellArray1 /* sqlite3.c:73214:26 */ +type CellArray = CellArray1 /* sqlite3.c:73224:26 */ // Make sure the cell sizes at idx, idx+1, ..., idx+N-1 have been // computed. -func populateCellCache(tls *libc.TLS, p uintptr, idx int32, N int32) { /* sqlite3.c:73228:13: */ +func populateCellCache(tls *libc.TLS, p uintptr, idx int32, N int32) { /* sqlite3.c:73238:13: */ for N > 0 { @@ -50319,7 +50329,7 @@ func populateCellCache(tls *libc.TLS, p uintptr, idx int32, N int32) { /* sqlite } // Return the size of the Nth element of the cell array -func computeCellSize(tls *libc.TLS, p uintptr, N int32) U16 { /* sqlite3.c:73246:28: */ +func computeCellSize(tls *libc.TLS, p uintptr, N int32) U16 { /* sqlite3.c:73256:28: */ *(*U16)(unsafe.Pointer((*CellArray)(unsafe.Pointer(p)).FszCell + uintptr(N)*2)) = (*struct { f func(*libc.TLS, uintptr, uintptr) U16 @@ -50327,7 +50337,7 @@ func computeCellSize(tls *libc.TLS, p uintptr, N int32) U16 { /* sqlite3.c:73246 return *(*U16)(unsafe.Pointer((*CellArray)(unsafe.Pointer(p)).FszCell + uintptr(N)*2)) } -func cachedCellSize(tls *libc.TLS, p uintptr, N int32) U16 { /* sqlite3.c:73252:12: */ +func cachedCellSize(tls *libc.TLS, p uintptr, N int32) U16 { /* sqlite3.c:73262:12: */ if *(*U16)(unsafe.Pointer((*CellArray)(unsafe.Pointer(p)).FszCell + uintptr(N)*2)) != 0 { return *(*U16)(unsafe.Pointer((*CellArray)(unsafe.Pointer(p)).FszCell + uintptr(N)*2)) @@ -50346,7 +50356,7 @@ func cachedCellSize(tls *libc.TLS, p uintptr, N int32) U16 { /* sqlite3.c:73252: // // The MemPage.nFree field is invalidated by this function. It is the // responsibility of the caller to set it correctly. -func rebuildPage(tls *libc.TLS, pCArray uintptr, iFirst int32, nCell int32, pPg uintptr) int32 { /* sqlite3.c:73271:12: */ +func rebuildPage(tls *libc.TLS, pCArray uintptr, iFirst int32, nCell int32, pPg uintptr) int32 { /* sqlite3.c:73281:12: */ var hdr int32 = int32((*MemPage)(unsafe.Pointer(pPg)).FhdrOffset) // Offset of header on pPg var aData uintptr = (*MemPage)(unsafe.Pointer(pPg)).FaData // Pointer to data for pPg var usableSize int32 = int32((*BtShared)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPg)).FpBt)).FusableSize) @@ -50377,12 +50387,12 @@ func rebuildPage(tls *libc.TLS, pCArray uintptr, iFirst int32, nCell int32, pPg if Uptr(pCell) >= Uptr(aData+uintptr(j)) && Uptr(pCell) < Uptr(pEnd) { if Uptr(pCell+uintptr(sz)) > Uptr(pEnd) { - return Xsqlite3CorruptError(tls, 73304) + return Xsqlite3CorruptError(tls, 73314) } pCell = pTmp + uintptr((int32(pCell)-int32(aData))/1) } else if Uptr(pCell+uintptr(sz)) > Uptr(pSrcEnd) && Uptr(pCell) < Uptr(pSrcEnd) { - return Xsqlite3CorruptError(tls, 73309) + return Xsqlite3CorruptError(tls, 73319) } pData -= uintptr(sz) @@ -50390,7 +50400,7 @@ func rebuildPage(tls *libc.TLS, pCArray uintptr, iFirst int32, nCell int32, pPg *(*U8)(unsafe.Pointer(pCellptr + 1)) = U8((int32(pData) - int32(aData)) / 1) pCellptr += uintptr(2) if pData < pCellptr { - return Xsqlite3CorruptError(tls, 73315) + return Xsqlite3CorruptError(tls, 73325) } libc.Xmemmove(tls, pData, pCell, uint32(sz)) @@ -50440,7 +50450,7 @@ func rebuildPage(tls *libc.TLS, pCArray uintptr, iFirst int32, nCell int32, pPg // all cells - not just those inserted by the current call). If the content // area must be extended to before this point in order to accomodate all // cells in apCell[], then the cells do not fit and non-zero is returned. -func pageInsertArray(tls *libc.TLS, pPg uintptr, pBegin uintptr, ppData uintptr, pCellptr uintptr, iFirst int32, nCell int32, pCArray uintptr) int32 { /* sqlite3.c:73361:12: */ +func pageInsertArray(tls *libc.TLS, pPg uintptr, pBegin uintptr, ppData uintptr, pCellptr uintptr, iFirst int32, nCell int32, pCArray uintptr) int32 { /* sqlite3.c:73371:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -50478,7 +50488,7 @@ func pageInsertArray(tls *libc.TLS, pPg uintptr, pBegin uintptr, ppData uintptr, if Uptr(*(*uintptr)(unsafe.Pointer((*CellArray)(unsafe.Pointer(pCArray)).FapCell + uintptr(i)*4))+uintptr(sz)) > Uptr(pEnd) && Uptr(*(*uintptr)(unsafe.Pointer((*CellArray)(unsafe.Pointer(pCArray)).FapCell + uintptr(i)*4))) < Uptr(pEnd) { - Xsqlite3CorruptError(tls, 73400) + Xsqlite3CorruptError(tls, 73410) return 1 } libc.Xmemmove(tls, pSlot, *(*uintptr)(unsafe.Pointer((*CellArray)(unsafe.Pointer(pCArray)).FapCell + uintptr(i)*4)), uint32(sz)) @@ -50505,7 +50515,7 @@ func pageInsertArray(tls *libc.TLS, pPg uintptr, pBegin uintptr, ppData uintptr, // The cell-pointers and other fields of the page are not updated. // // This function returns the total number of cells added to the free-list. -func pageFreeArray(tls *libc.TLS, pPg uintptr, iFirst int32, nCell int32, pCArray uintptr) int32 { /* sqlite3.c:73426:12: */ +func pageFreeArray(tls *libc.TLS, pPg uintptr, iFirst int32, nCell int32, pCArray uintptr) int32 { /* sqlite3.c:73436:12: */ var aData uintptr = (*MemPage)(unsafe.Pointer(pPg)).FaData var pEnd uintptr = aData + uintptr((*BtShared)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPg)).FpBt)).FusableSize) var pStart uintptr = aData + uintptr(int32((*MemPage)(unsafe.Pointer(pPg)).FhdrOffset)+8+int32((*MemPage)(unsafe.Pointer(pPg)).FchildPtrSize)) @@ -50557,7 +50567,7 @@ func pageFreeArray(tls *libc.TLS, pPg uintptr, iFirst int32, nCell int32, pCArra // // The pPg->nFree field is invalid when this function returns. It is the // responsibility of the caller to set it correctly. -func editPage(tls *libc.TLS, pPg uintptr, iOld int32, iNew int32, nNew int32, pCArray uintptr) int32 { /* sqlite3.c:73485:12: */ +func editPage(tls *libc.TLS, pPg uintptr, iOld int32, iNew int32, nNew int32, pCArray uintptr) int32 { /* sqlite3.c:73495:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -50591,7 +50601,7 @@ func editPage(tls *libc.TLS, pPg uintptr, iOld int32, iNew int32, nNew int32, pC if !(nShift > nCell) { goto __2 } - return Xsqlite3CorruptError(tls, 73511) + return Xsqlite3CorruptError(tls, 73521) __2: ; libc.Xmemmove(tls, (*MemPage)(unsafe.Pointer(pPg)).FaCellIdx, (*MemPage)(unsafe.Pointer(pPg)).FaCellIdx+uintptr(nShift*2), uint32(nCell*2)) @@ -50731,7 +50741,7 @@ editpage_fail: // byte page number followed by a variable length integer. In other // words, at most 13 bytes. Hence the pSpace buffer must be at // least 13 bytes in size. -func balance_quick(tls *libc.TLS, pParent uintptr, pPage uintptr, pSpace uintptr) int32 { /* sqlite3.c:73614:12: */ +func balance_quick(tls *libc.TLS, pParent uintptr, pPage uintptr, pSpace uintptr) int32 { /* sqlite3.c:73624:12: */ bp := tls.Alloc(84) defer tls.Free(84) @@ -50744,7 +50754,7 @@ func balance_quick(tls *libc.TLS, pParent uintptr, pPage uintptr, pSpace uintptr // Page number of pNew if int32((*MemPage)(unsafe.Pointer(pPage)).FnCell) == 0 { - return Xsqlite3CorruptError(tls, 73624) + return Xsqlite3CorruptError(tls, 73634) } // dbfuzz001.test // Allocate a new page. This page will become the right-sibling of @@ -50842,7 +50852,7 @@ func balance_quick(tls *libc.TLS, pParent uintptr, pPage uintptr, pSpace uintptr // The performance of this function is not critical. It is only used by // the balance_shallower() and balance_deeper() procedures, neither of // which are called often under normal circumstances. -func copyNodeContent(tls *libc.TLS, pFrom uintptr, pTo uintptr, pRC uintptr) { /* sqlite3.c:73769:13: */ +func copyNodeContent(tls *libc.TLS, pFrom uintptr, pTo uintptr, pRC uintptr) { /* sqlite3.c:73779:13: */ if *(*int32)(unsafe.Pointer(pRC)) == SQLITE_OK { var pBt uintptr = (*MemPage)(unsafe.Pointer(pFrom)).FpBt var aFrom uintptr = (*MemPage)(unsafe.Pointer(pFrom)).FaData @@ -50922,7 +50932,7 @@ func copyNodeContent(tls *libc.TLS, pFrom uintptr, pTo uintptr, pRC uintptr) { / // // If aOvflSpace is set to a null pointer, this function returns // SQLITE_NOMEM. -func balance_nonroot(tls *libc.TLS, pParent uintptr, iParentIdx int32, aOvflSpace uintptr, isRoot int32, bBulk int32) int32 { /* sqlite3.c:73851:12: */ +func balance_nonroot(tls *libc.TLS, pParent uintptr, iParentIdx int32, aOvflSpace uintptr, isRoot int32, bBulk int32) int32 { /* sqlite3.c:73861:12: */ bp := tls.Alloc(256) defer tls.Free(256) @@ -51224,7 +51234,7 @@ __22: if !(int32(*(*U8)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pOld)).FaData))) != int32(*(*U8)(unsafe.Pointer((*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 72)))).FaData)))) { goto __25 } - *(*int32)(unsafe.Pointer(bp + 112 /* rc */)) = Xsqlite3CorruptError(tls, 74047) + *(*int32)(unsafe.Pointer(bp + 112 /* rc */)) = Xsqlite3CorruptError(tls, 74057) goto balance_cleanup __25: ; @@ -51252,7 +51262,7 @@ __25: if !(limit < int32(*(*U16)(unsafe.Pointer(pOld + 28)))) { goto __27 } - *(*int32)(unsafe.Pointer(bp + 112 /* rc */)) = Xsqlite3CorruptError(tls, 74071) + *(*int32)(unsafe.Pointer(bp + 112 /* rc */)) = Xsqlite3CorruptError(tls, 74081) goto balance_cleanup __27: ; @@ -51431,7 +51441,7 @@ __52: if !(k > NB+2) { goto __55 } - *(*int32)(unsafe.Pointer(bp + 112 /* rc */)) = Xsqlite3CorruptError(tls, 74172) + *(*int32)(unsafe.Pointer(bp + 112 /* rc */)) = Xsqlite3CorruptError(tls, 74182) goto balance_cleanup __55: ; @@ -51505,7 +51515,7 @@ __65: }()) { goto __67 } - *(*int32)(unsafe.Pointer(bp + 112 /* rc */)) = Xsqlite3CorruptError(tls, 74205) + *(*int32)(unsafe.Pointer(bp + 112 /* rc */)) = Xsqlite3CorruptError(tls, 74215) goto balance_cleanup __67: ; @@ -51578,7 +51588,7 @@ __73: }()) { goto __75 } - *(*int32)(unsafe.Pointer(bp + 112 /* rc */)) = Xsqlite3CorruptError(tls, 74247) + *(*int32)(unsafe.Pointer(bp + 112 /* rc */)) = Xsqlite3CorruptError(tls, 74257) goto balance_cleanup __75: ; @@ -51615,7 +51625,7 @@ __76: *(*int32)(unsafe.Pointer(bp + 112)) == SQLITE_OK) { goto __81 } - *(*int32)(unsafe.Pointer(bp + 112 /* rc */)) = Xsqlite3CorruptError(tls, 74280) + *(*int32)(unsafe.Pointer(bp + 112 /* rc */)) = Xsqlite3CorruptError(tls, 74290) __81: ; if !(*(*int32)(unsafe.Pointer(bp + 112)) != 0) { @@ -51699,7 +51709,7 @@ __89: // cache with two separate objects associated with the same // page number. - *(*int32)(unsafe.Pointer(bp + 112 /* rc */)) = Xsqlite3CorruptError(tls, 74326) + *(*int32)(unsafe.Pointer(bp + 112 /* rc */)) = Xsqlite3CorruptError(tls, 74336) goto balance_cleanup __92: ; @@ -51952,7 +51962,7 @@ __125: if !(Uptr(pSrcEnd) >= Uptr(pCell1) && Uptr(pSrcEnd) < Uptr(pCell1+uintptr(sz2))) { goto __126 } - *(*int32)(unsafe.Pointer(bp + 112 /* rc */)) = Xsqlite3CorruptError(tls, 74483) + *(*int32)(unsafe.Pointer(bp + 112 /* rc */)) = Xsqlite3CorruptError(tls, 74493) goto balance_cleanup __126: ; @@ -52174,7 +52184,7 @@ __150: // page and SQLITE_OK is returned. In this case the caller is required // to call releasePage() on *ppChild exactly once. If an error occurs, // an error code is returned and *ppChild is set to 0. -func balance_deeper(tls *libc.TLS, pRoot uintptr, ppChild uintptr) int32 { /* sqlite3.c:74648:12: */ +func balance_deeper(tls *libc.TLS, pRoot uintptr, ppChild uintptr) int32 { /* sqlite3.c:74658:12: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -52225,13 +52235,13 @@ func balance_deeper(tls *libc.TLS, pRoot uintptr, ppChild uintptr) int32 { /* sq // table linked to the same b-tree. If the secondary insert causes a // rebalance, that can change content out from under the cursor on the // first SQL table, violating invariants on the first insert. -func anotherValidCursor(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:74706:12: */ +func anotherValidCursor(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:74716:12: */ var pOther uintptr for pOther = (*BtShared)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pCur)).FpBt)).FpCursor; pOther != 0; pOther = (*BtCursor)(unsafe.Pointer(pOther)).FpNext { if pOther != pCur && int32((*BtCursor)(unsafe.Pointer(pOther)).FeState) == CURSOR_VALID && (*BtCursor)(unsafe.Pointer(pOther)).FpPage == (*BtCursor)(unsafe.Pointer(pCur)).FpPage { - return Xsqlite3CorruptError(tls, 74713) + return Xsqlite3CorruptError(tls, 74723) } } return SQLITE_OK @@ -52245,7 +52255,7 @@ func anotherValidCursor(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:74706: // balance_quick() // balance_deeper() // balance_nonroot() -func balance(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:74729:12: */ +func balance(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:74739:12: */ bp := tls.Alloc(13) defer tls.Free(13) @@ -52364,7 +52374,7 @@ func balance(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:74729:12: */ // Overwrite content from pX into pDest. Only do the write if the // content is different from what is already there. -func btreeOverwriteContent(tls *libc.TLS, pPage uintptr, pDest uintptr, pX uintptr, iOffset int32, iAmt int32) int32 { /* sqlite3.c:74855:12: */ +func btreeOverwriteContent(tls *libc.TLS, pPage uintptr, pDest uintptr, pX uintptr, iOffset int32, iAmt int32) int32 { /* sqlite3.c:74865:12: */ var nData int32 = (*BtreePayload)(unsafe.Pointer(pX)).FnData - iOffset if nData <= 0 { // Overwritting with zeros @@ -52406,7 +52416,7 @@ func btreeOverwriteContent(tls *libc.TLS, pPage uintptr, pDest uintptr, pX uintp // Overwrite the cell that cursor pCur is pointing to with fresh content // contained in pX. -func btreeOverwriteCell(tls *libc.TLS, pCur uintptr, pX uintptr) int32 { /* sqlite3.c:74898:12: */ +func btreeOverwriteCell(tls *libc.TLS, pCur uintptr, pX uintptr) int32 { /* sqlite3.c:74908:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -52420,7 +52430,7 @@ func btreeOverwriteCell(tls *libc.TLS, pCur uintptr, pX uintptr) int32 { /* sqli if (*BtCursor)(unsafe.Pointer(pCur)).Finfo.FpPayload+uintptr((*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnLocal) > (*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FaDataEnd || (*BtCursor)(unsafe.Pointer(pCur)).Finfo.FpPayload < (*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FaData+uintptr((*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FcellOffset) { - return Xsqlite3CorruptError(tls, 74910) + return Xsqlite3CorruptError(tls, 74920) } // Overwrite the local portion first rc = btreeOverwriteContent(tls, *(*uintptr)(unsafe.Pointer(bp /* pPage */)), (*BtCursor)(unsafe.Pointer(pCur)).Finfo.FpPayload, pX, @@ -52444,7 +52454,7 @@ func btreeOverwriteCell(tls *libc.TLS, pCur uintptr, pX uintptr) int32 { /* sqli return rc } if Xsqlite3PagerPageRefcount(tls, (*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FpDbPage) != 1 || (*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FisInit != 0 { - rc = Xsqlite3CorruptError(tls, 74929) + rc = Xsqlite3CorruptError(tls, 74939) } else { if U32(iOffset)+ovflPageSize < U32(nTotal) { ovflPgno = Xsqlite3Get4byte(tls, (*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* pPage */)))).FaData) @@ -52491,7 +52501,7 @@ func btreeOverwriteCell(tls *libc.TLS, pCur uintptr, pX uintptr) int32 { /* sqli // if pX->nMem is non-zero, then pX->aMem contains pointers to the unpacked // key values and pX->aMem can be used instead of pX->pKey to avoid having // to decode the key. -func Xsqlite3BtreeInsert(tls *libc.TLS, pCur uintptr, pX uintptr, flags int32, seekResult int32) int32 { /* sqlite3.c:74977:20: */ +func Xsqlite3BtreeInsert(tls *libc.TLS, pCur uintptr, pX uintptr, flags int32, seekResult int32) int32 { /* sqlite3.c:74987:20: */ bp := tls.Alloc(100) defer tls.Free(100) @@ -52521,20 +52531,6 @@ func Xsqlite3BtreeInsert(tls *libc.TLS, pCur uintptr, pX uintptr, flags int32, s pBt = (*Btree)(unsafe.Pointer(p)).FpBt newCell = uintptr(0) - if !(int32((*BtCursor)(unsafe.Pointer(pCur)).FeState) == CURSOR_FAULT) { - goto __1 - } - - return (*BtCursor)(unsafe.Pointer(pCur)).FskipNext -__1: - ; - - // Assert that the caller has been consistent. If this cursor was opened - // expecting an index b-tree, then the caller should be inserting blob - // keys with no associated data. If the cursor was opened expecting an - // intkey table, the caller should be inserting integer keys with a - // blob of associated data. - // Save the positions of any other cursors open on this table. // // In some cases, the call to btreeMoveto() below is a no-op. For @@ -52546,40 +52542,59 @@ __1: // doing any work. To avoid thwarting these optimizations, it is important // not to clear the cursor here. if !(int32((*BtCursor)(unsafe.Pointer(pCur)).FcurFlags)&BTCF_Multiple != 0) { - goto __2 + goto __1 } *(*int32)(unsafe.Pointer(bp + 72 /* rc */)) = saveAllCursors(tls, pBt, (*BtCursor)(unsafe.Pointer(pCur)).FpgnoRoot, pCur) if !(*(*int32)(unsafe.Pointer(bp + 72)) != 0) { - goto __3 + goto __2 } return *(*int32)(unsafe.Pointer(bp + 72 /* rc */)) -__3: +__2: ; if !(*(*int32)(unsafe.Pointer(bp)) != 0 && int32((*BtCursor)(unsafe.Pointer(pCur)).FiPage) < 0) { - goto __4 + goto __3 } // This can only happen if the schema is corrupt such that there is more // than one table or index with the same root page as used by the cursor. // 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 Xsqlite3CorruptError(tls, 75034) -__4: + return Xsqlite3CorruptError(tls, 75026) +__3: ; -__2: +__1: ; - if !((*BtCursor)(unsafe.Pointer(pCur)).FpKeyInfo == uintptr(0)) { + if !(int32((*BtCursor)(unsafe.Pointer(pCur)).FeState) >= CURSOR_REQUIRESEEK) { + goto __4 + } + *(*int32)(unsafe.Pointer(bp + 72 /* rc */)) = moveToRoot(tls, pCur) + if !(*(*int32)(unsafe.Pointer(bp + 72)) != 0 && *(*int32)(unsafe.Pointer(bp + 72)) != SQLITE_EMPTY) { goto __5 } + return *(*int32)(unsafe.Pointer(bp + 72 /* rc */)) +__5: + ; +__4: + ; + + // Assert that the caller has been consistent. If this cursor was opened + // expecting an index b-tree, then the caller should be inserting blob + // keys with no associated data. If the cursor was opened expecting an + // intkey table, the caller should be inserting integer keys with a + // blob of associated data. + + if !((*BtCursor)(unsafe.Pointer(pCur)).FpKeyInfo == uintptr(0)) { + goto __6 + } // If this is an insert into a table b-tree, invalidate any incrblob // cursors open on the row being replaced if !((*Btree)(unsafe.Pointer(p)).FhasIncrblobCur != 0) { - goto __7 + goto __8 } invalidateIncrblobCursors(tls, p, (*BtCursor)(unsafe.Pointer(pCur)).FpgnoRoot, (*BtreePayload)(unsafe.Pointer(pX)).FnKey, 0) -__7: +__8: ; // If BTREE_SAVEPOSITION is set, the cursor must already be pointing @@ -52589,24 +52604,24 @@ __7: // that the cursor is not pointing to a row to be overwritten. // So do a complete check. if !(int32((*BtCursor)(unsafe.Pointer(pCur)).FcurFlags)&BTCF_ValidNKey != 0 && (*BtreePayload)(unsafe.Pointer(pX)).FnKey == (*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnKey) { - goto __8 + goto __9 } // The cursor is pointing to the entry that is to be // overwritten if !(int32((*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnSize) != 0 && (*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnPayload == U32((*BtreePayload)(unsafe.Pointer(pX)).FnData)+U32((*BtreePayload)(unsafe.Pointer(pX)).FnZero)) { - goto __10 + goto __11 } // New entry is the same size as the old. Do an overwrite return btreeOverwriteCell(tls, pCur, pX) -__10: +__11: ; - goto __9 -__8: + goto __10 +__9: if !(*(*int32)(unsafe.Pointer(bp)) == 0) { - goto __11 + goto __12 } // The cursor is *not* pointing to the cell to be overwritten, nor // to an adjacent cell. Move the cursor so that it is pointing either @@ -52614,17 +52629,17 @@ __8: *(*int32)(unsafe.Pointer(bp + 72 /* rc */)) = Xsqlite3BtreeTableMoveto(tls, pCur, (*BtreePayload)(unsafe.Pointer(pX)).FnKey, libc.Bool32(flags&BTREE_APPEND != 0), bp) if !(*(*int32)(unsafe.Pointer(bp + 72)) != 0) { - goto __12 + goto __13 } return *(*int32)(unsafe.Pointer(bp + 72 /* rc */)) -__12: +__13: ; -__11: +__12: ; -__9: +__10: ; - goto __6 -__5: + goto __7 +__6: // This is an index or a WITHOUT ROWID table // If BTREE_SAVEPOSITION is set, the cursor must already be pointing @@ -52636,10 +52651,10 @@ __5: // not pointing to an immediately adjacent cell, then move the cursor // so that it does. if !(*(*int32)(unsafe.Pointer(bp)) == 0 && flags&BTREE_SAVEPOSITION == 0) { - goto __13 + goto __14 } if !((*BtreePayload)(unsafe.Pointer(pX)).FnMem != 0) { - goto __14 + goto __15 } (*UnpackedRecord)(unsafe.Pointer(bp + 4 /* &r */)).FpKeyInfo = (*BtCursor)(unsafe.Pointer(pCur)).FpKeyInfo (*UnpackedRecord)(unsafe.Pointer(bp + 4 /* &r */)).FaMem = (*BtreePayload)(unsafe.Pointer(pX)).FaMem @@ -52647,147 +52662,147 @@ __5: (*UnpackedRecord)(unsafe.Pointer(bp + 4 /* &r */)).Fdefault_rc = int8(0) (*UnpackedRecord)(unsafe.Pointer(bp + 4 /* &r */)).FeqSeen = U8(0) *(*int32)(unsafe.Pointer(bp + 72 /* rc */)) = Xsqlite3BtreeIndexMoveto(tls, pCur, bp+4, bp) - goto __15 -__14: + goto __16 +__15: *(*int32)(unsafe.Pointer(bp + 72 /* rc */)) = btreeMoveto(tls, pCur, (*BtreePayload)(unsafe.Pointer(pX)).FpKey, (*BtreePayload)(unsafe.Pointer(pX)).FnKey, libc.Bool32(flags&BTREE_APPEND != 0), bp) -__15: +__16: ; if !(*(*int32)(unsafe.Pointer(bp + 72)) != 0) { - goto __16 + goto __17 } return *(*int32)(unsafe.Pointer(bp + 72 /* rc */)) -__16: +__17: ; -__13: +__14: ; // If the cursor is currently pointing to an entry to be overwritten // and the new content is the same as as the old, then use the // overwrite optimization. if !(*(*int32)(unsafe.Pointer(bp)) == 0) { - goto __17 + goto __18 } getCellInfo(tls, pCur) if !((*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnKey == (*BtreePayload)(unsafe.Pointer(pX)).FnKey) { - goto __18 + goto __19 } (*BtreePayload)(unsafe.Pointer(bp + 20 /* &x2 */)).FpData = (*BtreePayload)(unsafe.Pointer(pX)).FpKey (*BtreePayload)(unsafe.Pointer(bp + 20 /* &x2 */)).FnData = int32((*BtreePayload)(unsafe.Pointer(pX)).FnKey) (*BtreePayload)(unsafe.Pointer(bp + 20 /* &x2 */)).FnZero = 0 return btreeOverwriteCell(tls, pCur, bp+20) -__18: +__19: ; -__17: +__18: ; -__6: +__7: ; pPage = (*BtCursor)(unsafe.Pointer(pCur)).FpPage if !((*MemPage)(unsafe.Pointer(pPage)).FnFree < 0) { - goto __19 + goto __20 } if !(int32((*BtCursor)(unsafe.Pointer(pCur)).FeState) > CURSOR_INVALID) { - goto __20 + goto __21 } - *(*int32)(unsafe.Pointer(bp + 72 /* rc */)) = Xsqlite3CorruptError(tls, 75134) - goto __21 -__20: - *(*int32)(unsafe.Pointer(bp + 72 /* rc */)) = btreeComputeFreeSpace(tls, pPage) + *(*int32)(unsafe.Pointer(bp + 72 /* rc */)) = Xsqlite3CorruptError(tls, 75143) + goto __22 __21: + *(*int32)(unsafe.Pointer(bp + 72 /* rc */)) = btreeComputeFreeSpace(tls, pPage) +__22: ; if !(*(*int32)(unsafe.Pointer(bp + 72)) != 0) { - goto __22 + goto __23 } return *(*int32)(unsafe.Pointer(bp + 72 /* rc */)) -__22: +__23: ; -__19: +__20: ; newCell = (*BtShared)(unsafe.Pointer(pBt)).FpTmpSpace if !(flags&BTREE_PREFORMAT != 0) { - goto __23 + goto __24 } *(*int32)(unsafe.Pointer(bp + 72 /* rc */)) = SQLITE_OK *(*int32)(unsafe.Pointer(bp + 76 /* szNew */)) = (*BtShared)(unsafe.Pointer(pBt)).FnPreformatSize if !(*(*int32)(unsafe.Pointer(bp + 76)) < 4) { - goto __25 + goto __26 } *(*int32)(unsafe.Pointer(bp + 76 /* szNew */)) = 4 -__25: +__26: ; if !((*BtShared)(unsafe.Pointer(pBt)).FautoVacuum != 0 && *(*int32)(unsafe.Pointer(bp + 76)) > int32((*MemPage)(unsafe.Pointer(pPage)).FmaxLocal)) { - goto __26 + goto __27 } (*struct { f func(*libc.TLS, uintptr, uintptr, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*MemPage)(unsafe.Pointer(pPage)).FxParseCell})).f(tls, pPage, newCell, bp+52 /* &info */) if !((*CellInfo)(unsafe.Pointer(bp+52)).FnPayload != U32((*CellInfo)(unsafe.Pointer(bp+52)).FnLocal)) { - goto __27 + goto __28 } ovfl = Xsqlite3Get4byte(tls, newCell+uintptr(*(*int32)(unsafe.Pointer(bp + 76))-4)) ptrmapPut(tls, pBt, ovfl, uint8(PTRMAP_OVERFLOW1), (*MemPage)(unsafe.Pointer(pPage)).Fpgno, bp+72) -__27: +__28: ; -__26: +__27: ; - goto __24 -__23: - *(*int32)(unsafe.Pointer(bp + 72 /* rc */)) = fillInCell(tls, pPage, newCell, pX, bp+76) + goto __25 __24: + *(*int32)(unsafe.Pointer(bp + 72 /* rc */)) = fillInCell(tls, pPage, newCell, pX, bp+76) +__25: ; if !(*(*int32)(unsafe.Pointer(bp + 72)) != 0) { - goto __28 + goto __29 } goto end_insert -__28: +__29: ; idx = int32((*BtCursor)(unsafe.Pointer(pCur)).Fix) if !(*(*int32)(unsafe.Pointer(bp)) == 0) { - goto __29 + goto __30 } if !(idx >= int32((*MemPage)(unsafe.Pointer(pPage)).FnCell)) { - goto __31 + goto __32 } - return Xsqlite3CorruptError(tls, 75170) -__31: + return Xsqlite3CorruptError(tls, 75179) +__32: ; *(*int32)(unsafe.Pointer(bp + 72 /* rc */)) = Xsqlite3PagerWrite(tls, (*MemPage)(unsafe.Pointer(pPage)).FpDbPage) if !(*(*int32)(unsafe.Pointer(bp + 72)) != 0) { - goto __32 + goto __33 } goto end_insert -__32: +__33: ; oldCell = (*MemPage)(unsafe.Pointer(pPage)).FaData + uintptr(int32((*MemPage)(unsafe.Pointer(pPage)).FmaskPage)&int32(libc.X__builtin_bswap16(tls, *(*U16)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPage)).FaCellIdx + uintptr(2*idx)))))) if !!(int32((*MemPage)(unsafe.Pointer(pPage)).Fleaf) != 0) { - goto __33 + goto __34 } libc.Xmemcpy(tls, newCell, oldCell, uint32(4)) -__33: +__34: ; (*struct { f func(*libc.TLS, uintptr, uintptr, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*MemPage)(unsafe.Pointer(pPage)).FxParseCell})).f(tls, pPage, oldCell, bp+80 /* &info1 */) if !(U32((*CellInfo)(unsafe.Pointer(bp+80 /* &info1 */)).FnLocal) != (*CellInfo)(unsafe.Pointer(bp+80 /* &info1 */)).FnPayload) { - goto __34 + goto __35 } *(*int32)(unsafe.Pointer(bp + 72 /* rc */)) = clearCellOverflow(tls, pPage, oldCell, bp+80 /* &info1 */) - goto __35 -__34: - *(*int32)(unsafe.Pointer(bp + 72 /* rc */)) = SQLITE_OK + goto __36 __35: + *(*int32)(unsafe.Pointer(bp + 72 /* rc */)) = SQLITE_OK +__36: ; *(*U8)(unsafe.Pointer(pCur + 1)) &= libc.Uint8FromInt32(libc.CplInt32(BTCF_ValidOvfl)) if !(int32((*CellInfo)(unsafe.Pointer(bp+80)).FnSize) == *(*int32)(unsafe.Pointer(bp + 76)) && U32((*CellInfo)(unsafe.Pointer(bp+80)).FnLocal) == (*CellInfo)(unsafe.Pointer(bp+80)).FnPayload && (!(int32((*BtShared)(unsafe.Pointer(pBt)).FautoVacuum) != 0) || *(*int32)(unsafe.Pointer(bp + 76)) < int32((*MemPage)(unsafe.Pointer(pPage)).FminLocal))) { - goto __36 + goto __37 } // Overwrite the old cell with the new if they are the same size. // We could also try to do this if the old cell is smaller, then add @@ -52800,42 +52815,42 @@ __35: // necessary to add the PTRMAP_OVERFLOW1 pointer-map entry. // clearCell never fails when nLocal==nPayload if !(oldCell < (*MemPage)(unsafe.Pointer(pPage)).FaData+uintptr((*MemPage)(unsafe.Pointer(pPage)).FhdrOffset)+uintptr(10)) { - goto __37 + goto __38 } - return Xsqlite3CorruptError(tls, 75197) -__37: + return Xsqlite3CorruptError(tls, 75206) +__38: ; if !(oldCell+uintptr(*(*int32)(unsafe.Pointer(bp + 76))) > (*MemPage)(unsafe.Pointer(pPage)).FaDataEnd) { - goto __38 + goto __39 } - return Xsqlite3CorruptError(tls, 75200) -__38: + return Xsqlite3CorruptError(tls, 75209) +__39: ; libc.Xmemcpy(tls, oldCell, newCell, uint32(*(*int32)(unsafe.Pointer(bp + 76 /* szNew */)))) return SQLITE_OK -__36: +__37: ; dropCell(tls, pPage, idx, int32((*CellInfo)(unsafe.Pointer(bp+80 /* &info1 */)).FnSize), bp+72) if !(*(*int32)(unsafe.Pointer(bp + 72)) != 0) { - goto __39 + goto __40 } goto end_insert -__39: +__40: ; - goto __30 -__29: + goto __31 +__30: if !(*(*int32)(unsafe.Pointer(bp)) < 0 && int32((*MemPage)(unsafe.Pointer(pPage)).FnCell) > 0) { - goto __40 + goto __41 } idx = int32(libc.PreIncUint16(&(*BtCursor)(unsafe.Pointer(pCur)).Fix, 1)) *(*U8)(unsafe.Pointer(pCur + 1)) &= libc.Uint8FromInt32(libc.CplInt32(BTCF_ValidNKey)) - goto __41 -__40: - ; + goto __42 __41: ; -__30: +__42: + ; +__31: ; insertCell(tls, pPage, idx, newCell, *(*int32)(unsafe.Pointer(bp + 76 /* szNew */)), uintptr(0), uint32(0), bp+72) @@ -52860,7 +52875,7 @@ __30: // row without seeking the cursor. This can be a big performance boost. (*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnSize = U16(0) if !((*MemPage)(unsafe.Pointer(pPage)).FnOverflow != 0) { - goto __42 + goto __43 } *(*U8)(unsafe.Pointer(pCur + 1)) &= libc.Uint8FromInt32(libc.CplInt32(BTCF_ValidNKey)) @@ -52873,30 +52888,30 @@ __30: (*MemPage)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pCur)).FpPage)).FnOverflow = U8(0) (*BtCursor)(unsafe.Pointer(pCur)).FeState = U8(CURSOR_INVALID) if !(flags&BTREE_SAVEPOSITION != 0 && *(*int32)(unsafe.Pointer(bp + 72)) == SQLITE_OK) { - goto __43 + goto __44 } btreeReleaseAllCursorPages(tls, pCur) if !((*BtCursor)(unsafe.Pointer(pCur)).FpKeyInfo != 0) { - goto __44 + goto __45 } (*BtCursor)(unsafe.Pointer(pCur)).FpKey = Xsqlite3Malloc(tls, uint64((*BtreePayload)(unsafe.Pointer(pX)).FnKey)) if !((*BtCursor)(unsafe.Pointer(pCur)).FpKey == uintptr(0)) { - goto __45 + goto __46 } *(*int32)(unsafe.Pointer(bp + 72 /* rc */)) = SQLITE_NOMEM - goto __46 -__45: - libc.Xmemcpy(tls, (*BtCursor)(unsafe.Pointer(pCur)).FpKey, (*BtreePayload)(unsafe.Pointer(pX)).FpKey, uint32((*BtreePayload)(unsafe.Pointer(pX)).FnKey)) + goto __47 __46: + libc.Xmemcpy(tls, (*BtCursor)(unsafe.Pointer(pCur)).FpKey, (*BtreePayload)(unsafe.Pointer(pX)).FpKey, uint32((*BtreePayload)(unsafe.Pointer(pX)).FnKey)) +__47: ; -__44: +__45: ; (*BtCursor)(unsafe.Pointer(pCur)).FeState = U8(CURSOR_REQUIRESEEK) (*BtCursor)(unsafe.Pointer(pCur)).FnKey = (*BtreePayload)(unsafe.Pointer(pX)).FnKey -__43: +__44: ; -__42: +__43: ; end_insert: @@ -52916,7 +52931,7 @@ end_insert: // calling sqlite3BtreeInsert() with the BTREE_PREFORMAT flag specified. // // SQLITE_OK is returned if successful, or an SQLite error code otherwise. -func Xsqlite3BtreeTransferRow(tls *libc.TLS, pDest uintptr, pSrc uintptr, iKey I64) int32 { /* sqlite3.c:75286:20: */ +func Xsqlite3BtreeTransferRow(tls *libc.TLS, pDest uintptr, pSrc uintptr, iKey I64) int32 { /* sqlite3.c:75295:20: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -52943,7 +52958,7 @@ func Xsqlite3BtreeTransferRow(tls *libc.TLS, pDest uintptr, pSrc uintptr, iKey I nIn = U32((*BtCursor)(unsafe.Pointer(pSrc)).Finfo.FnLocal) aIn = (*BtCursor)(unsafe.Pointer(pSrc)).Finfo.FpPayload if aIn+uintptr(nIn) > (*MemPage)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pSrc)).FpPage)).FaDataEnd { - return Xsqlite3CorruptError(tls, 75300) + return Xsqlite3CorruptError(tls, 75309) } nRem = (*BtCursor)(unsafe.Pointer(pSrc)).Finfo.FnPayload if nIn == nRem && nIn < U32((*MemPage)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pDest)).FpPage)).FmaxLocal) { @@ -52966,7 +52981,7 @@ func Xsqlite3BtreeTransferRow(tls *libc.TLS, pDest uintptr, pSrc uintptr, iKey I if nRem > nIn { if aIn+uintptr(nIn)+uintptr(4) > (*MemPage)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pSrc)).FpPage)).FaDataEnd { - return Xsqlite3CorruptError(tls, 75323) + return Xsqlite3CorruptError(tls, 75332) } ovflIn = Xsqlite3Get4byte(tls, (*BtCursor)(unsafe.Pointer(pSrc)).Finfo.FpPayload+uintptr(nIn)) } @@ -53048,7 +53063,7 @@ func Xsqlite3BtreeTransferRow(tls *libc.TLS, pDest uintptr, pSrc uintptr, iKey I // operation on non-FORDELETE cursors is tagged with the AUXDELETE flag. // The BTREE_AUXDELETE bit is a hint that is not used by this implementation, // but which might be used by alternative storage engines. -func Xsqlite3BtreeDelete(tls *libc.TLS, pCur uintptr, flags U8) int32 { /* sqlite3.c:75396:20: */ +func Xsqlite3BtreeDelete(tls *libc.TLS, pCur uintptr, flags U8) int32 { /* sqlite3.c:75405:20: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -53064,11 +53079,15 @@ func Xsqlite3BtreeDelete(tls *libc.TLS, pCur uintptr, flags U8) int32 { /* sqlit // Size of the cell being deleted var bPreserve U8 // Keep cursor valid. 2 for CURSOR_SKIPNEXT - if int32((*BtCursor)(unsafe.Pointer(pCur)).FeState) == CURSOR_REQUIRESEEK { - *(*int32)(unsafe.Pointer(bp + 20 /* rc */)) = btreeRestoreCursorPosition(tls, pCur) + if int32((*BtCursor)(unsafe.Pointer(pCur)).FeState) != CURSOR_VALID { + if int32((*BtCursor)(unsafe.Pointer(pCur)).FeState) >= CURSOR_REQUIRESEEK { + *(*int32)(unsafe.Pointer(bp + 20 /* rc */)) = btreeRestoreCursorPosition(tls, pCur) - if *(*int32)(unsafe.Pointer(bp + 20)) != 0 || int32((*BtCursor)(unsafe.Pointer(pCur)).FeState) != CURSOR_VALID { - return *(*int32)(unsafe.Pointer(bp + 20 /* rc */)) + if *(*int32)(unsafe.Pointer(bp + 20)) != 0 || int32((*BtCursor)(unsafe.Pointer(pCur)).FeState) != CURSOR_VALID { + return *(*int32)(unsafe.Pointer(bp + 20 /* rc */)) + } + } else { + return Xsqlite3CorruptError(tls, 75429) } } @@ -53076,11 +53095,11 @@ func Xsqlite3BtreeDelete(tls *libc.TLS, pCur uintptr, flags U8) int32 { /* sqlit iCellIdx = int32((*BtCursor)(unsafe.Pointer(pCur)).Fix) pPage = (*BtCursor)(unsafe.Pointer(pCur)).FpPage if int32((*MemPage)(unsafe.Pointer(pPage)).FnCell) <= iCellIdx { - return Xsqlite3CorruptError(tls, 75425) + return Xsqlite3CorruptError(tls, 75438) } pCell = (*MemPage)(unsafe.Pointer(pPage)).FaData + uintptr(int32((*MemPage)(unsafe.Pointer(pPage)).FmaskPage)&int32(libc.X__builtin_bswap16(tls, *(*U16)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPage)).FaCellIdx + uintptr(2*iCellIdx)))))) if (*MemPage)(unsafe.Pointer(pPage)).FnFree < 0 && btreeComputeFreeSpace(tls, pPage) != 0 { - return Xsqlite3CorruptError(tls, 75429) + return Xsqlite3CorruptError(tls, 75442) } // If the BTREE_SAVEPOSITION bit is on, then the cursor position must @@ -53189,7 +53208,7 @@ func Xsqlite3BtreeDelete(tls *libc.TLS, pCur uintptr, flags U8) int32 { /* sqlit } pCell = (*MemPage)(unsafe.Pointer(pLeaf)).FaData + uintptr(int32((*MemPage)(unsafe.Pointer(pLeaf)).FmaskPage)&int32(libc.X__builtin_bswap16(tls, *(*U16)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pLeaf)).FaCellIdx + uintptr(2*(int32((*MemPage)(unsafe.Pointer(pLeaf)).FnCell)-1))))))) if pCell < (*MemPage)(unsafe.Pointer(pLeaf)).FaData+4 { - return Xsqlite3CorruptError(tls, 75519) + return Xsqlite3CorruptError(tls, 75532) } nCell = int32((*struct { f func(*libc.TLS, uintptr, uintptr) U16 @@ -53266,7 +53285,7 @@ func Xsqlite3BtreeDelete(tls *libc.TLS, pCur uintptr, flags U8) int32 { /* sqlit // // BTREE_INTKEY|BTREE_LEAFDATA Used for SQL tables with rowid keys // BTREE_ZERODATA Used for SQL indices -func btreeCreateTable(tls *libc.TLS, p uintptr, piTable uintptr, createTabFlags int32) int32 { /* sqlite3.c:75593:12: */ +func btreeCreateTable(tls *libc.TLS, p uintptr, piTable uintptr, createTabFlags int32) int32 { /* sqlite3.c:75606:12: */ bp := tls.Alloc(28) defer tls.Free(28) @@ -53296,7 +53315,7 @@ func btreeCreateTable(tls *libc.TLS, p uintptr, piTable uintptr, createTabFlags // created so far, so the new root-page is (meta[3]+1). Xsqlite3BtreeGetMeta(tls, p, BTREE_LARGEST_ROOT_PAGE, bp) if *(*Pgno)(unsafe.Pointer(bp)) > btreePagecount(tls, pBt) { - return Xsqlite3CorruptError(tls, 75627) + return Xsqlite3CorruptError(tls, 75640) } *(*Pgno)(unsafe.Pointer(bp /* pgnoRoot */))++ @@ -53339,7 +53358,7 @@ func btreeCreateTable(tls *libc.TLS, p uintptr, piTable uintptr, createTabFlags } *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) = ptrmapGet(tls, pBt, *(*Pgno)(unsafe.Pointer(bp /* pgnoRoot */)), bp+16, bp+20) if int32(*(*U8)(unsafe.Pointer(bp + 16))) == PTRMAP_ROOTPAGE || int32(*(*U8)(unsafe.Pointer(bp + 16))) == PTRMAP_FREEPAGE { - *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) = Xsqlite3CorruptError(tls, 75675) + *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) = Xsqlite3CorruptError(tls, 75688) } if *(*int32)(unsafe.Pointer(bp + 24)) != SQLITE_OK { releasePage(tls, *(*uintptr)(unsafe.Pointer(bp + 12 /* pRoot */))) @@ -53402,7 +53421,7 @@ func btreeCreateTable(tls *libc.TLS, p uintptr, piTable uintptr, createTabFlags return SQLITE_OK } -func Xsqlite3BtreeCreateTable(tls *libc.TLS, p uintptr, piTable uintptr, flags int32) int32 { /* sqlite3.c:75738:20: */ +func Xsqlite3BtreeCreateTable(tls *libc.TLS, p uintptr, piTable uintptr, flags int32) int32 { /* sqlite3.c:75751:20: */ var rc int32 Xsqlite3BtreeEnter(tls, p) rc = btreeCreateTable(tls, p, piTable, flags) @@ -53412,7 +53431,7 @@ func Xsqlite3BtreeCreateTable(tls *libc.TLS, p uintptr, piTable uintptr, flags i // Erase the given database page and all its children. Return // the page to the freelist. -func clearDatabasePage(tls *libc.TLS, pBt uintptr, pgno Pgno, freePageFlag int32, pnChange uintptr) int32 { /* sqlite3.c:75750:12: */ +func clearDatabasePage(tls *libc.TLS, pBt uintptr, pgno Pgno, freePageFlag int32, pnChange uintptr) int32 { /* sqlite3.c:75763:12: */ bp := tls.Alloc(28) defer tls.Free(28) @@ -53428,7 +53447,7 @@ func clearDatabasePage(tls *libc.TLS, pBt uintptr, pgno Pgno, freePageFlag int32 if !(pgno > btreePagecount(tls, pBt)) { goto __1 } - return Xsqlite3CorruptError(tls, 75765) + return Xsqlite3CorruptError(tls, 75778) __1: ; *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) = getAndInitPage(tls, pBt, pgno, bp, uintptr(0), 0) @@ -53442,7 +53461,7 @@ __2: Xsqlite3PagerPageRefcount(tls, (*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FpDbPage) != 1+libc.Bool32(pgno == Pgno(1))) { goto __3 } - *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) = Xsqlite3CorruptError(tls, 75772) + *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) = Xsqlite3CorruptError(tls, 75785) goto cleardatabasepage_out __3: ; @@ -53546,7 +53565,7 @@ cleardatabasepage_out: // // If pnChange is not NULL, then the integer value pointed to by pnChange // is incremented by the number of entries in the table. -func Xsqlite3BtreeClearTable(tls *libc.TLS, p uintptr, iTable int32, pnChange uintptr) int32 { /* sqlite3.c:75817:20: */ +func Xsqlite3BtreeClearTable(tls *libc.TLS, p uintptr, iTable int32, pnChange uintptr) int32 { /* sqlite3.c:75830:20: */ var rc int32 var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt Xsqlite3BtreeEnter(tls, p) @@ -53569,7 +53588,7 @@ func Xsqlite3BtreeClearTable(tls *libc.TLS, p uintptr, iTable int32, pnChange ui // Delete all information from the single table that pCur is open on. // // This routine only work for pCur on an ephemeral table. -func Xsqlite3BtreeClearTableOfCursor(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:75843:20: */ +func Xsqlite3BtreeClearTableOfCursor(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:75856:20: */ return Xsqlite3BtreeClearTable(tls, (*BtCursor)(unsafe.Pointer(pCur)).FpBtree, int32((*BtCursor)(unsafe.Pointer(pCur)).FpgnoRoot), uintptr(0)) } @@ -53591,7 +53610,7 @@ func Xsqlite3BtreeClearTableOfCursor(tls *libc.TLS, pCur uintptr) int32 { /* sql // the move. If no page gets moved, *piMoved is set to 0. // The last root page is recorded in meta[3] and the value of // meta[3] is updated by this procedure. -func btreeDropTable(tls *libc.TLS, p uintptr, iTable Pgno, piMoved uintptr) int32 { /* sqlite3.c:75867:12: */ +func btreeDropTable(tls *libc.TLS, p uintptr, iTable Pgno, piMoved uintptr) int32 { /* sqlite3.c:75880:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -53601,7 +53620,7 @@ func btreeDropTable(tls *libc.TLS, p uintptr, iTable Pgno, piMoved uintptr) int3 var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt if iTable > btreePagecount(tls, pBt) { - return Xsqlite3CorruptError(tls, 75876) + return Xsqlite3CorruptError(tls, 75889) } *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) = Xsqlite3BtreeClearTable(tls, p, int32(iTable), uintptr(0)) @@ -53673,7 +53692,7 @@ func btreeDropTable(tls *libc.TLS, p uintptr, iTable Pgno, piMoved uintptr) int3 return *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) } -func Xsqlite3BtreeDropTable(tls *libc.TLS, p uintptr, iTable int32, piMoved uintptr) int32 { /* sqlite3.c:75952:20: */ +func Xsqlite3BtreeDropTable(tls *libc.TLS, p uintptr, iTable int32, piMoved uintptr) int32 { /* sqlite3.c:75965:20: */ var rc int32 Xsqlite3BtreeEnter(tls, p) rc = btreeDropTable(tls, p, uint32(iTable), piMoved) @@ -53699,7 +53718,7 @@ func Xsqlite3BtreeDropTable(tls *libc.TLS, p uintptr, iTable int32, piMoved uint // database file. It is a number computed by the pager. But its access // pattern is the same as header meta values, and so it is convenient to // read it from this routine. -func Xsqlite3BtreeGetMeta(tls *libc.TLS, p uintptr, idx int32, pMeta uintptr) { /* sqlite3.c:75981:21: */ +func Xsqlite3BtreeGetMeta(tls *libc.TLS, p uintptr, idx int32, pMeta uintptr) { /* sqlite3.c:75994:21: */ var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt Xsqlite3BtreeEnter(tls, p) @@ -53718,7 +53737,7 @@ func Xsqlite3BtreeGetMeta(tls *libc.TLS, p uintptr, idx int32, pMeta uintptr) { // Write meta-information back into the database. Meta[0] is // read-only and may not be written. -func Xsqlite3BtreeUpdateMeta(tls *libc.TLS, p uintptr, idx int32, iMeta U32) int32 { /* sqlite3.c:76011:20: */ +func Xsqlite3BtreeUpdateMeta(tls *libc.TLS, p uintptr, idx int32, iMeta U32) int32 { /* sqlite3.c:76024:20: */ var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt var pP1 uintptr var rc int32 @@ -53744,7 +53763,7 @@ func Xsqlite3BtreeUpdateMeta(tls *libc.TLS, p uintptr, idx int32, iMeta U32) int // SQLITE_OK is returned if the operation is successfully executed. // Otherwise, if an error is encountered (i.e. an IO error or database // corruption) an SQLite error code is returned. -func Xsqlite3BtreeCount(tls *libc.TLS, db uintptr, pCur uintptr, pnEntry uintptr) int32 { /* sqlite3.c:76043:20: */ +func Xsqlite3BtreeCount(tls *libc.TLS, db uintptr, pCur uintptr, pnEntry uintptr) int32 { /* sqlite3.c:76056:20: */ var nEntry I64 = int64(0) // Value to return in *pnEntry var rc int32 // Return code @@ -53807,12 +53826,12 @@ func Xsqlite3BtreeCount(tls *libc.TLS, db uintptr, pCur uintptr, pnEntry uintptr // Return the pager associated with a BTree. This routine is used for // testing and debugging only. -func Xsqlite3BtreePager(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:76112:22: */ +func Xsqlite3BtreePager(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:76125:22: */ return (*BtShared)(unsafe.Pointer((*Btree)(unsafe.Pointer(p)).FpBt)).FpPager } // Append a message to the error message string. -func checkAppendMsg(tls *libc.TLS, pCheck uintptr, zFormat uintptr, va uintptr) { /* sqlite3.c:76120:13: */ +func checkAppendMsg(tls *libc.TLS, pCheck uintptr, zFormat uintptr, va uintptr) { /* sqlite3.c:76133:13: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -53839,13 +53858,13 @@ func checkAppendMsg(tls *libc.TLS, pCheck uintptr, zFormat uintptr, va uintptr) // Return non-zero if the bit in the IntegrityCk.aPgRef[] array that // corresponds to page iPg is already set. -func getPageReferenced(tls *libc.TLS, pCheck uintptr, iPg Pgno) int32 { /* sqlite3.c:76150:12: */ +func getPageReferenced(tls *libc.TLS, pCheck uintptr, iPg Pgno) int32 { /* sqlite3.c:76163:12: */ return int32(*(*U8)(unsafe.Pointer((*IntegrityCk)(unsafe.Pointer(pCheck)).FaPgRef + uintptr(iPg/Pgno(8))))) & (int32(1) << (iPg & Pgno(0x07))) } // Set the bit in the IntegrityCk.aPgRef[] array that corresponds to page iPg. -func setPageReferenced(tls *libc.TLS, pCheck uintptr, iPg Pgno) { /* sqlite3.c:76158:13: */ +func setPageReferenced(tls *libc.TLS, pCheck uintptr, iPg Pgno) { /* sqlite3.c:76171:13: */ *(*U8)(unsafe.Pointer((*IntegrityCk)(unsafe.Pointer(pCheck)).FaPgRef + uintptr(iPg/Pgno(8)))) |= U8(int32(1) << (iPg & Pgno(0x07))) } @@ -53856,7 +53875,7 @@ func setPageReferenced(tls *libc.TLS, pCheck uintptr, iPg Pgno) { /* sqlite3.c:7 // if this is the first reference to the page. // // Also check that the page number is in bounds. -func checkRef(tls *libc.TLS, pCheck uintptr, iPage Pgno) int32 { /* sqlite3.c:76172:12: */ +func checkRef(tls *libc.TLS, pCheck uintptr, iPage Pgno) int32 { /* sqlite3.c:76185:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -53878,7 +53897,7 @@ func checkRef(tls *libc.TLS, pCheck uintptr, iPage Pgno) int32 { /* sqlite3.c:76 // Check that the entry in the pointer-map for page iChild maps to // page iParent, pointer type ptrType. If not, append an error message // to pCheck. -func checkPtrmap(tls *libc.TLS, pCheck uintptr, iChild Pgno, eType U8, iParent Pgno) { /* sqlite3.c:76192:13: */ +func checkPtrmap(tls *libc.TLS, pCheck uintptr, iChild Pgno, eType U8, iParent Pgno) { /* sqlite3.c:76205:13: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -53905,7 +53924,7 @@ func checkPtrmap(tls *libc.TLS, pCheck uintptr, iChild Pgno, eType U8, iParent P // Check the integrity of the freelist or of an overflow page list. // Verify that the number of pages on the list is N. -func checkList(tls *libc.TLS, pCheck uintptr, isFreeList int32, iPage Pgno, N U32) { /* sqlite3.c:76221:13: */ +func checkList(tls *libc.TLS, pCheck uintptr, isFreeList int32, iPage Pgno, N U32) { /* sqlite3.c:76234:13: */ bp := tls.Alloc(44) defer tls.Free(44) @@ -53989,7 +54008,7 @@ func checkList(tls *libc.TLS, pCheck uintptr, isFreeList int32, iPage Pgno, N U3 // entry represents the span of a cell or freeblock on a btree page. // The upper 16 bits are the index of the first byte of a range and the // lower 16 bits are the index of the last byte of that range. -func btreeHeapInsert(tls *libc.TLS, aHeap uintptr, x U32) { /* sqlite3.c:76310:13: */ +func btreeHeapInsert(tls *libc.TLS, aHeap uintptr, x U32) { /* sqlite3.c:76323:13: */ var j U32 var i U32 = libc.PreIncUint32(&*(*U32)(unsafe.Pointer(aHeap)), 1) *(*U32)(unsafe.Pointer(aHeap + uintptr(i)*4)) = x @@ -54001,7 +54020,7 @@ func btreeHeapInsert(tls *libc.TLS, aHeap uintptr, x U32) { /* sqlite3.c:76310:1 } } -func btreeHeapPull(tls *libc.TLS, aHeap uintptr, pOut uintptr) int32 { /* sqlite3.c:76320:12: */ +func btreeHeapPull(tls *libc.TLS, aHeap uintptr, pOut uintptr) int32 { /* sqlite3.c:76333:12: */ var j U32 var i U32 var x U32 @@ -54040,7 +54059,7 @@ func btreeHeapPull(tls *libc.TLS, aHeap uintptr, pOut uintptr) int32 { /* sqlite // 3. Check the integrity of overflow pages. // 4. Recursively call checkTreePage on all children. // 5. Verify that the depth of all children is the same. -func checkTreePage(tls *libc.TLS, pCheck uintptr, iPage Pgno, piMinKey uintptr, maxKey I64) int32 { /* sqlite3.c:76354:12: */ +func checkTreePage(tls *libc.TLS, pCheck uintptr, iPage Pgno, piMinKey uintptr, maxKey I64) int32 { /* sqlite3.c:76367:12: */ bp := tls.Alloc(132) defer tls.Free(132) *(*I64)(unsafe.Pointer(bp + 100)) = maxKey @@ -54429,7 +54448,7 @@ __34: // since obviously it is not possible to know which pages are covered by // the unverified btrees. Except, if aRoot[1] is 1, then the freelist // checks are still performed. -func Xsqlite3BtreeIntegrityCheck(tls *libc.TLS, db uintptr, p uintptr, aRoot uintptr, nRoot int32, mxErr int32, pnErr uintptr) uintptr { /* sqlite3.c:76633:21: */ +func Xsqlite3BtreeIntegrityCheck(tls *libc.TLS, db uintptr, p uintptr, aRoot uintptr, nRoot int32, mxErr int32, pnErr uintptr) uintptr { /* sqlite3.c:76646:21: */ bp := tls.Alloc(212) defer tls.Free(212) @@ -54663,7 +54682,7 @@ __29: // // The pager filename is invariant as long as the pager is // open so it is safe to access without the BtShared mutex. -func Xsqlite3BtreeGetFilename(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:76788:27: */ +func Xsqlite3BtreeGetFilename(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:76801:27: */ return Xsqlite3PagerFilename(tls, (*BtShared)(unsafe.Pointer((*Btree)(unsafe.Pointer(p)).FpBt)).FpPager, 1) } @@ -54674,14 +54693,14 @@ func Xsqlite3BtreeGetFilename(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:7 // // The pager journal filename is invariant as long as the pager is // open so it is safe to access without the BtShared mutex. -func Xsqlite3BtreeGetJournalname(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:76801:27: */ +func Xsqlite3BtreeGetJournalname(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:76814:27: */ return Xsqlite3PagerJournalname(tls, (*BtShared)(unsafe.Pointer((*Btree)(unsafe.Pointer(p)).FpBt)).FpPager) } // Return one of SQLITE_TXN_NONE, SQLITE_TXN_READ, or SQLITE_TXN_WRITE // to describe the current transaction state of Btree p. -func Xsqlite3BtreeTxnState(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:76810:20: */ +func Xsqlite3BtreeTxnState(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:76823:20: */ if p != 0 { return int32((*Btree)(unsafe.Pointer(p)).FinTrans) @@ -54695,7 +54714,7 @@ func Xsqlite3BtreeTxnState(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:76810: // transaction on the shared-cache the argument Btree is connected to. // // Parameter eMode is one of SQLITE_CHECKPOINT_PASSIVE, FULL or RESTART. -func Xsqlite3BtreeCheckpoint(tls *libc.TLS, p uintptr, eMode int32, pnLog uintptr, pnCkpt uintptr) int32 { /* sqlite3.c:76824:20: */ +func Xsqlite3BtreeCheckpoint(tls *libc.TLS, p uintptr, eMode int32, pnLog uintptr, pnCkpt uintptr) int32 { /* sqlite3.c:76837:20: */ var rc int32 = SQLITE_OK if p != 0 { var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt @@ -54711,7 +54730,7 @@ func Xsqlite3BtreeCheckpoint(tls *libc.TLS, p uintptr, eMode int32, pnLog uintpt } // Return true if there is currently a backup running on Btree p. -func Xsqlite3BtreeIsInBackup(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:76843:20: */ +func Xsqlite3BtreeIsInBackup(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:76856:20: */ return libc.Bool32((*Btree)(unsafe.Pointer(p)).FnBackup != 0) } @@ -54734,7 +54753,7 @@ func Xsqlite3BtreeIsInBackup(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:7684 // xFree argument when the memory allocation was made is invoked on the // blob of allocated memory. The xFree function should not call sqlite3_free() // on the memory, the btree layer does that. -func Xsqlite3BtreeSchema(tls *libc.TLS, p uintptr, nBytes int32, xFree uintptr) uintptr { /* sqlite3.c:76869:21: */ +func Xsqlite3BtreeSchema(tls *libc.TLS, p uintptr, nBytes int32, xFree uintptr) uintptr { /* sqlite3.c:76882:21: */ var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt Xsqlite3BtreeEnter(tls, p) if !(int32((*BtShared)(unsafe.Pointer(pBt)).FpSchema) != 0) && nBytes != 0 { @@ -54748,7 +54767,7 @@ func Xsqlite3BtreeSchema(tls *libc.TLS, p uintptr, nBytes int32, xFree uintptr) // Return SQLITE_LOCKED_SHAREDCACHE if another user of the same shared // btree as the argument handle holds an exclusive lock on the // sqlite_schema table. Otherwise SQLITE_OK. -func Xsqlite3BtreeSchemaLocked(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:76885:20: */ +func Xsqlite3BtreeSchemaLocked(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:76898:20: */ var rc int32 Xsqlite3BtreeEnter(tls, p) @@ -54761,7 +54780,7 @@ func Xsqlite3BtreeSchemaLocked(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:76 // Obtain a lock on the table whose root page is iTab. The // lock is a write lock if isWritelock is true or a read lock // if it is false. -func Xsqlite3BtreeLockTable(tls *libc.TLS, p uintptr, iTab int32, isWriteLock U8) int32 { /* sqlite3.c:76902:20: */ +func Xsqlite3BtreeLockTable(tls *libc.TLS, p uintptr, iTab int32, isWriteLock U8) int32 { /* sqlite3.c:76915:20: */ var rc int32 = SQLITE_OK if (*Btree)(unsafe.Pointer(p)).Fsharable != 0 { @@ -54785,7 +54804,7 @@ func Xsqlite3BtreeLockTable(tls *libc.TLS, p uintptr, iTab int32, isWriteLock U8 // change the length of the data stored. If this function is called with // parameters that attempt to write past the end of the existing data, // no modifications are made and SQLITE_CORRUPT is returned. -func Xsqlite3BtreePutData(tls *libc.TLS, pCsr uintptr, offset U32, amt U32, z uintptr) int32 { /* sqlite3.c:76932:20: */ +func Xsqlite3BtreePutData(tls *libc.TLS, pCsr uintptr, offset U32, amt U32, z uintptr) int32 { /* sqlite3.c:76945:20: */ var rc int32 rc = func() int32 { @@ -54825,7 +54844,7 @@ func Xsqlite3BtreePutData(tls *libc.TLS, pCsr uintptr, offset U32, amt U32, z ui } // Mark this cursor as an incremental blob cursor. -func Xsqlite3BtreeIncrblobCursor(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:76980:21: */ +func Xsqlite3BtreeIncrblobCursor(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:76993:21: */ *(*U8)(unsafe.Pointer(pCur + 1)) |= U8(BTCF_Incrblob) (*Btree)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pCur)).FpBtree)).FhasIncrblobCur = U8(1) } @@ -54833,7 +54852,7 @@ func Xsqlite3BtreeIncrblobCursor(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:769 // Set both the "read version" (single byte at byte offset 18) and // "write version" (single byte at byte offset 19) fields in the database // header to iVersion. -func Xsqlite3BtreeSetVersion(tls *libc.TLS, pBtree uintptr, iVersion int32) int32 { /* sqlite3.c:76991:20: */ +func Xsqlite3BtreeSetVersion(tls *libc.TLS, pBtree uintptr, iVersion int32) int32 { /* sqlite3.c:77004:20: */ var pBt uintptr = (*Btree)(unsafe.Pointer(pBtree)).FpBt var rc int32 // Return code @@ -54865,29 +54884,29 @@ func Xsqlite3BtreeSetVersion(tls *libc.TLS, pBtree uintptr, iVersion int32) int3 // Return true if the cursor has a hint specified. This routine is // only used from within assert() statements -func Xsqlite3BtreeCursorHasHint(tls *libc.TLS, pCsr uintptr, mask uint32) int32 { /* sqlite3.c:77026:20: */ +func Xsqlite3BtreeCursorHasHint(tls *libc.TLS, pCsr uintptr, mask uint32) int32 { /* sqlite3.c:77039:20: */ return libc.Bool32(uint32((*BtCursor)(unsafe.Pointer(pCsr)).Fhints)&mask != uint32(0)) } // Return true if the given Btree is read-only. -func Xsqlite3BtreeIsReadonly(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:77033:20: */ +func Xsqlite3BtreeIsReadonly(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:77046:20: */ return libc.Bool32(int32((*BtShared)(unsafe.Pointer((*Btree)(unsafe.Pointer(p)).FpBt)).FbtsFlags)&BTS_READ_ONLY != 0) } // Return the size of the header added to each page by this module. -func Xsqlite3HeaderSizeBtree(tls *libc.TLS) int32 { /* sqlite3.c:77040:20: */ +func Xsqlite3HeaderSizeBtree(tls *libc.TLS) int32 { /* sqlite3.c:77053:20: */ return int32((uint32(unsafe.Sizeof(MemPage{})) + uint32(7)) & libc.Uint32FromInt32(libc.CplInt32(7))) } // Return true if the Btree passed as the only argument is sharable. -func Xsqlite3BtreeSharable(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:77046:20: */ +func Xsqlite3BtreeSharable(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:77059:20: */ return int32((*Btree)(unsafe.Pointer(p)).Fsharable) } // Return the number of connections to the BtShared object accessed by // the Btree handle passed as the only argument. For private caches // this is always 1. For shared caches it may be 1 or greater. -func Xsqlite3BtreeConnectionCount(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:77055:20: */ +func Xsqlite3BtreeConnectionCount(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:77068:20: */ return (*BtShared)(unsafe.Pointer((*Btree)(unsafe.Pointer(p)).FpBt)).FnRef } @@ -54927,7 +54946,7 @@ func Xsqlite3BtreeConnectionCount(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c // If the "temp" database is requested, it may need to be opened by this // function. If an error occurs while doing so, return 0 and write an // error message to pErrorDb. -func findBtree(tls *libc.TLS, pErrorDb uintptr, pDb uintptr, zDb uintptr) uintptr { /* sqlite3.c:77144:14: */ +func findBtree(tls *libc.TLS, pErrorDb uintptr, pDb uintptr, zDb uintptr) uintptr { /* sqlite3.c:77157:14: */ bp := tls.Alloc(288) defer tls.Free(288) @@ -54959,7 +54978,7 @@ func findBtree(tls *libc.TLS, pErrorDb uintptr, pDb uintptr, zDb uintptr) uintpt // Attempt to set the page size of the destination to match the page size // of the source. -func setDestPgsz(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:77174:12: */ +func setDestPgsz(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:77187:12: */ var rc int32 rc = Xsqlite3BtreeSetPageSize(tls, (*Sqlite3_backup)(unsafe.Pointer(p)).FpDest, Xsqlite3BtreeGetPageSize(tls, (*Sqlite3_backup)(unsafe.Pointer(p)).FpSrc), 0, 0) return rc @@ -54969,7 +54988,7 @@ func setDestPgsz(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:77174:12: */ // second argument. If there is not, return SQLITE_OK. Otherwise, if there // is an open read-transaction, return SQLITE_ERROR and leave an error // message in database handle db. -func checkReadTransaction(tls *libc.TLS, db uintptr, p uintptr) int32 { /* sqlite3.c:77186:12: */ +func checkReadTransaction(tls *libc.TLS, db uintptr, p uintptr) int32 { /* sqlite3.c:77199:12: */ if Xsqlite3BtreeTxnState(tls, p) != SQLITE_TXN_NONE { Xsqlite3ErrorWithMsg(tls, db, SQLITE_ERROR, ts+4805, 0) return SQLITE_ERROR @@ -54983,7 +55002,7 @@ func checkReadTransaction(tls *libc.TLS, db uintptr, p uintptr) int32 { /* sqlit // // If an error occurs, NULL is returned and an error code and error message // stored in database handle pDestDb. -func Xsqlite3_backup_init(tls *libc.TLS, pDestDb uintptr, zDestDb uintptr, pSrcDb uintptr, zSrcDb uintptr) uintptr { /* sqlite3.c:77202:27: */ +func Xsqlite3_backup_init(tls *libc.TLS, pDestDb uintptr, zDestDb uintptr, pSrcDb uintptr, zSrcDb uintptr) uintptr { /* sqlite3.c:77215:27: */ var p uintptr // Value to return // Lock the source database handle. The destination database @@ -55043,14 +55062,14 @@ func Xsqlite3_backup_init(tls *libc.TLS, pDestDb uintptr, zDestDb uintptr, pSrcD // Argument rc is an SQLite error code. Return true if this error is // considered fatal if encountered during a backup operation. All errors // are considered fatal except for SQLITE_BUSY and SQLITE_LOCKED. -func isFatalError(tls *libc.TLS, rc int32) int32 { /* sqlite3.c:77279:12: */ +func isFatalError(tls *libc.TLS, rc int32) int32 { /* sqlite3.c:77292:12: */ return libc.Bool32(rc != SQLITE_OK && rc != SQLITE_BUSY && rc != SQLITE_LOCKED) } // Parameter zSrcData points to a buffer containing the data for // page iSrcPg from the source database. Copy this data into the // destination database. -func backupOnePage(tls *libc.TLS, p uintptr, iSrcPg Pgno, zSrcData uintptr, bUpdate int32) int32 { /* sqlite3.c:77288:12: */ +func backupOnePage(tls *libc.TLS, p uintptr, iSrcPg Pgno, zSrcData uintptr, bUpdate int32) int32 { /* sqlite3.c:77301:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -55112,7 +55131,7 @@ func backupOnePage(tls *libc.TLS, p uintptr, iSrcPg Pgno, zSrcData uintptr, bUpd // // Return SQLITE_OK if everything is successful, or an SQLite error // code if an error occurs. -func backupTruncateFile(tls *libc.TLS, pFile uintptr, iSize I64) int32 { /* sqlite3.c:77357:12: */ +func backupTruncateFile(tls *libc.TLS, pFile uintptr, iSize I64) int32 { /* sqlite3.c:77370:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -55127,7 +55146,7 @@ func backupTruncateFile(tls *libc.TLS, pFile uintptr, iSize I64) int32 { /* sqli // Register this backup object with the associated source pager for // callbacks when pages are changed or the cache invalidated. -func attachBackupObject(tls *libc.TLS, p uintptr) { /* sqlite3.c:77370:13: */ +func attachBackupObject(tls *libc.TLS, p uintptr) { /* sqlite3.c:77383:13: */ var pp uintptr pp = Xsqlite3PagerBackupPtr(tls, Xsqlite3BtreePager(tls, (*Sqlite3_backup)(unsafe.Pointer(p)).FpSrc)) @@ -55137,7 +55156,7 @@ func attachBackupObject(tls *libc.TLS, p uintptr) { /* sqlite3.c:77370:13: */ } // Copy nPage pages from the source b-tree to the destination. -func Xsqlite3_backup_step(tls *libc.TLS, p uintptr, nPage int32) int32 { /* sqlite3.c:77382:16: */ +func Xsqlite3_backup_step(tls *libc.TLS, p uintptr, nPage int32) int32 { /* sqlite3.c:77395:16: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -55375,7 +55394,7 @@ func Xsqlite3_backup_step(tls *libc.TLS, p uintptr, nPage int32) int32 { /* sqli } // Release all resources associated with an sqlite3_backup* handle. -func Xsqlite3_backup_finish(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:77636:16: */ +func Xsqlite3_backup_finish(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:77649:16: */ var pp uintptr // Ptr to head of pagers backup list var pSrcDb uintptr // Source database connection var rc int32 // Value to return @@ -55433,13 +55452,13 @@ func Xsqlite3_backup_finish(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:77636 // Return the number of pages still to be backed up as of the most recent // call to sqlite3_backup_step(). -func Xsqlite3_backup_remaining(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:77690:16: */ +func Xsqlite3_backup_remaining(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:77703:16: */ return int32((*Sqlite3_backup)(unsafe.Pointer(p)).FnRemaining) } // Return the total number of pages in the source database as of the most // recent call to sqlite3_backup_step(). -func Xsqlite3_backup_pagecount(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:77704:16: */ +func Xsqlite3_backup_pagecount(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:77717:16: */ return int32((*Sqlite3_backup)(unsafe.Pointer(p)).FnPagecount) } @@ -55453,7 +55472,7 @@ func Xsqlite3_backup_pagecount(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:77 // It is assumed that the mutex associated with the BtShared object // corresponding to the source database is held when this function is // called. -func backupUpdate(tls *libc.TLS, p uintptr, iPage Pgno, aData uintptr) { /* sqlite3.c:77726:29: */ +func backupUpdate(tls *libc.TLS, p uintptr, iPage Pgno, aData uintptr) { /* sqlite3.c:77739:29: */ for __ccgo := true; __ccgo; __ccgo = libc.AssignUintptr(&p, (*Sqlite3_backup)(unsafe.Pointer(p)).FpNext) != uintptr(0) { @@ -55474,7 +55493,7 @@ func backupUpdate(tls *libc.TLS, p uintptr, iPage Pgno, aData uintptr) { /* sqli } } -func Xsqlite3BackupUpdate(tls *libc.TLS, pBackup uintptr, iPage Pgno, aData uintptr) { /* sqlite3.c:77751:21: */ +func Xsqlite3BackupUpdate(tls *libc.TLS, pBackup uintptr, iPage Pgno, aData uintptr) { /* sqlite3.c:77764:21: */ if pBackup != 0 { backupUpdate(tls, pBackup, iPage, aData) } @@ -55489,7 +55508,7 @@ func Xsqlite3BackupUpdate(tls *libc.TLS, pBackup uintptr, iPage Pgno, aData uint // It is assumed that the mutex associated with the BtShared object // corresponding to the source database is held when this function is // called. -func Xsqlite3BackupRestart(tls *libc.TLS, pBackup uintptr) { /* sqlite3.c:77766:21: */ +func Xsqlite3BackupRestart(tls *libc.TLS, pBackup uintptr) { /* sqlite3.c:77779:21: */ var p uintptr // Iterator variable for p = pBackup; p != 0; p = (*Sqlite3_backup)(unsafe.Pointer(p)).FpNext { @@ -55503,7 +55522,7 @@ func Xsqlite3BackupRestart(tls *libc.TLS, pBackup uintptr) { /* sqlite3.c:77766: // The size of file pTo may be reduced by this operation. If anything // goes wrong, the transaction on pTo is rolled back. If successful, the // transaction is committed before returning. -func Xsqlite3BtreeCopyFile(tls *libc.TLS, pTo uintptr, pFrom uintptr) int32 { /* sqlite3.c:77783:20: */ +func Xsqlite3BtreeCopyFile(tls *libc.TLS, pTo uintptr, pFrom uintptr) int32 { /* sqlite3.c:77796:20: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -55597,7 +55616,7 @@ copy_finished: // Render a Mem object which is one of MEM_Int, MEM_Real, or MEM_IntReal // into a buffer. -func vdbeMemRenderNum(tls *libc.TLS, sz int32, zBuf uintptr, p uintptr) { /* sqlite3.c:77941:13: */ +func vdbeMemRenderNum(tls *libc.TLS, sz int32, zBuf uintptr, p uintptr) { /* sqlite3.c:77954:13: */ bp := tls.Alloc(40) defer tls.Free(40) @@ -55635,7 +55654,7 @@ func vdbeMemRenderNum(tls *libc.TLS, sz int32, zBuf uintptr, p uintptr) { /* sql // SQLITE_OK is returned if the conversion is successful (or not required). // SQLITE_NOMEM may be returned if a malloc() fails during conversion // between formats. -func Xsqlite3VdbeChangeEncoding(tls *libc.TLS, pMem uintptr, desiredEnc int32) int32 { /* sqlite3.c:78034:20: */ +func Xsqlite3VdbeChangeEncoding(tls *libc.TLS, pMem uintptr, desiredEnc int32) int32 { /* sqlite3.c:78047:20: */ var rc int32 if !(int32((*Mem)(unsafe.Pointer(pMem)).Fflags)&MEM_Str != 0) || int32((*Mem)(unsafe.Pointer(pMem)).Fenc) == desiredEnc { @@ -55655,7 +55674,7 @@ func Xsqlite3VdbeChangeEncoding(tls *libc.TLS, pMem uintptr, desiredEnc int32) i // pMem->z into the new allocation. pMem must be either a string or // blob if bPreserve is true. If bPreserve is false, any prior content // in pMem->z is discarded. -func Xsqlite3VdbeMemGrow(tls *libc.TLS, pMem uintptr, n int32, bPreserve int32) int32 { /* sqlite3.c:78069:36: */ +func Xsqlite3VdbeMemGrow(tls *libc.TLS, pMem uintptr, n int32, bPreserve int32) int32 { /* sqlite3.c:78082:36: */ // If the bPreserve flag is set to true, then the memory cell must already // contain a valid string or blob value. @@ -55711,7 +55730,7 @@ func Xsqlite3VdbeMemGrow(tls *libc.TLS, pMem uintptr, n int32, bPreserve int32) // // Return SQLITE_OK on success or an error code (probably SQLITE_NOMEM) // if unable to complete the resizing. -func Xsqlite3VdbeMemClearAndResize(tls *libc.TLS, pMem uintptr, szNew int32) int32 { /* sqlite3.c:78132:20: */ +func Xsqlite3VdbeMemClearAndResize(tls *libc.TLS, pMem uintptr, szNew int32) int32 { /* sqlite3.c:78145:20: */ if (*Mem)(unsafe.Pointer(pMem)).FszMalloc < szNew { return Xsqlite3VdbeMemGrow(tls, pMem, szNew, 0) @@ -55729,7 +55748,7 @@ func Xsqlite3VdbeMemClearAndResize(tls *libc.TLS, pMem uintptr, szNew int32) int // to be a double-zero byte at an even byte boundary in order to // terminate a UTF16 string, even if the initial size of the buffer // is an odd number of bytes. -func vdbeMemAddTerminator(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c:78153:28: */ +func vdbeMemAddTerminator(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c:78166:28: */ if Xsqlite3VdbeMemGrow(tls, pMem, (*Mem)(unsafe.Pointer(pMem)).Fn+3, 1) != 0 { return SQLITE_NOMEM } @@ -55744,7 +55763,7 @@ func vdbeMemAddTerminator(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c:7815 // MEM.zMalloc, where it can be safely written. // // Return SQLITE_OK on success or SQLITE_NOMEM if malloc fails. -func Xsqlite3VdbeMemMakeWriteable(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c:78170:20: */ +func Xsqlite3VdbeMemMakeWriteable(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c:78183:20: */ if int32((*Mem)(unsafe.Pointer(pMem)).Fflags)&(MEM_Str|MEM_Blob) != 0 { if func() int32 { @@ -55769,7 +55788,7 @@ func Xsqlite3VdbeMemMakeWriteable(tls *libc.TLS, pMem uintptr) int32 { /* sqlite // If the given Mem* has a zero-filled tail, turn it into an ordinary // blob stored in dynamically allocated space. -func Xsqlite3VdbeMemExpandBlob(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c:78194:20: */ +func Xsqlite3VdbeMemExpandBlob(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c:78207:20: */ var nByte int32 // Set nByte to the number of bytes required to store the expanded blob. @@ -55791,7 +55810,7 @@ func Xsqlite3VdbeMemExpandBlob(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c } // Make sure the given Mem is \u0000 terminated. -func Xsqlite3VdbeMemNulTerminate(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c:78225:20: */ +func Xsqlite3VdbeMemNulTerminate(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c:78238:20: */ if int32((*Mem)(unsafe.Pointer(pMem)).Fflags)&(MEM_Term|MEM_Str) != MEM_Str { return SQLITE_OK // Nothing to do @@ -55813,7 +55832,7 @@ func Xsqlite3VdbeMemNulTerminate(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3 // sqlite3_value_text()), or for ensuring that values to be used as btree // keys are strings. In the former case a NULL pointer is returned the // user and the latter is an internal programming error. -func Xsqlite3VdbeMemStringify(tls *libc.TLS, pMem uintptr, enc U8, bForce U8) int32 { /* sqlite3.c:78251:20: */ +func Xsqlite3VdbeMemStringify(tls *libc.TLS, pMem uintptr, enc U8, bForce U8) int32 { /* sqlite3.c:78264:20: */ var nByte int32 = 32 if Xsqlite3VdbeMemClearAndResize(tls, pMem, nByte) != 0 { @@ -55839,7 +55858,7 @@ func Xsqlite3VdbeMemStringify(tls *libc.TLS, pMem uintptr, enc U8, bForce U8) in // // Return SQLITE_ERROR if the finalizer reports an error. SQLITE_OK // otherwise. -func Xsqlite3VdbeMemFinalize(tls *libc.TLS, pMem uintptr, pFunc uintptr) int32 { /* sqlite3.c:78286:20: */ +func Xsqlite3VdbeMemFinalize(tls *libc.TLS, pMem uintptr, pFunc uintptr) int32 { /* sqlite3.c:78299:20: */ bp := tls.Alloc(72) defer tls.Free(72) @@ -55869,7 +55888,7 @@ func Xsqlite3VdbeMemFinalize(tls *libc.TLS, pMem uintptr, pFunc uintptr) int32 { // // SQLITE_ERROR is returned if xValue() reports an error. SQLITE_OK // otherwise. -func Xsqlite3VdbeMemAggValue(tls *libc.TLS, pAccum uintptr, pOut uintptr, pFunc uintptr) int32 { /* sqlite3.c:78317:20: */ +func Xsqlite3VdbeMemAggValue(tls *libc.TLS, pAccum uintptr, pOut uintptr, pFunc uintptr) int32 { /* sqlite3.c:78330:20: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -55891,7 +55910,7 @@ func Xsqlite3VdbeMemAggValue(tls *libc.TLS, pAccum uintptr, pOut uintptr, pFunc // This is a helper routine for sqlite3VdbeMemSetNull() and // for sqlite3VdbeMemRelease(). Use those other routines as the // entry point for releasing Mem resources. -func vdbeMemClearExternAndSetNull(tls *libc.TLS, p uintptr) { /* sqlite3.c:78342:29: */ +func vdbeMemClearExternAndSetNull(tls *libc.TLS, p uintptr) { /* sqlite3.c:78355:29: */ if int32((*Mem)(unsafe.Pointer(p)).Fflags)&MEM_Agg != 0 { Xsqlite3VdbeMemFinalize(tls, p, *(*uintptr)(unsafe.Pointer(p))) @@ -55910,7 +55929,7 @@ func vdbeMemClearExternAndSetNull(tls *libc.TLS, p uintptr) { /* sqlite3.c:78342 // This is a helper routine invoked by sqlite3VdbeMemRelease() in // the unusual case where there really is memory in p that needs // to be freed. -func vdbeMemClear(tls *libc.TLS, p uintptr) { /* sqlite3.c:78365:29: */ +func vdbeMemClear(tls *libc.TLS, p uintptr) { /* sqlite3.c:78378:29: */ if int32((*Mem)(unsafe.Pointer(p)).Fflags)&(MEM_Agg|MEM_Dyn) != 0 { vdbeMemClearExternAndSetNull(tls, p) } @@ -55929,7 +55948,7 @@ func vdbeMemClear(tls *libc.TLS, p uintptr) { /* sqlite3.c:78365:29: */ // // Use sqlite3VdbeMemSetNull() to release just the Mem.xDel space // prior to inserting new content into the Mem. -func Xsqlite3VdbeMemRelease(tls *libc.TLS, p uintptr) { /* sqlite3.c:78386:21: */ +func Xsqlite3VdbeMemRelease(tls *libc.TLS, p uintptr) { /* sqlite3.c:78399:21: */ if int32((*Mem)(unsafe.Pointer(p)).Fflags)&(MEM_Agg|MEM_Dyn) != 0 || (*Mem)(unsafe.Pointer(p)).FszMalloc != 0 { vdbeMemClear(tls, p) @@ -55939,7 +55958,7 @@ func Xsqlite3VdbeMemRelease(tls *libc.TLS, p uintptr) { /* sqlite3.c:78386:21: * // Convert a 64-bit IEEE double into a 64-bit signed integer. // If the double is out of range of a 64-bit signed integer then // return the closest available 64-bit signed integer. -func doubleToInt64(tls *libc.TLS, r float64) I64 { /* sqlite3.c:78398:28: */ +func doubleToInt64(tls *libc.TLS, r float64) I64 { /* sqlite3.c:78411:28: */ if r <= float64(minInt) { return minInt @@ -55951,8 +55970,8 @@ func doubleToInt64(tls *libc.TLS, r float64) I64 { /* sqlite3.c:78398:28: */ return I64(0) } -var maxInt I64 = int64(0xffffffff) | I64(int64(0x7fffffff))<<32 /* sqlite3.c:78410:20 */ -var minInt I64 = int64(-1) - (int64(0xffffffff) | I64(int64(0x7fffffff))<<32) /* sqlite3.c:78411:20 */ +var maxInt I64 = int64(0xffffffff) | I64(int64(0x7fffffff))<<32 /* sqlite3.c:78423:20 */ +var minInt I64 = int64(-1) - (int64(0xffffffff) | I64(int64(0x7fffffff))<<32) /* sqlite3.c:78424:20 */ // Return some kind of integer value which is the best we can do // at representing the value that *pMem describes as an integer. @@ -55963,7 +55982,7 @@ var minInt I64 = int64(-1) - (int64(0xffffffff) | I64(int64(0x7fffffff))<<32) /* // an SQL-NULL value, return 0. // // If pMem represents a string value, its encoding might be changed. -func memIntValue(tls *libc.TLS, pMem uintptr) I64 { /* sqlite3.c:78434:28: */ +func memIntValue(tls *libc.TLS, pMem uintptr) I64 { /* sqlite3.c:78447:28: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -55972,7 +55991,7 @@ func memIntValue(tls *libc.TLS, pMem uintptr) I64 { /* sqlite3.c:78434:28: */ return *(*I64)(unsafe.Pointer(bp /* value */)) } -func Xsqlite3VdbeIntValue(tls *libc.TLS, pMem uintptr) I64 { /* sqlite3.c:78439:20: */ +func Xsqlite3VdbeIntValue(tls *libc.TLS, pMem uintptr) I64 { /* sqlite3.c:78452:20: */ var flags int32 flags = int32((*Mem)(unsafe.Pointer(pMem)).Fflags) @@ -55993,7 +56012,7 @@ func Xsqlite3VdbeIntValue(tls *libc.TLS, pMem uintptr) I64 { /* sqlite3.c:78439: // double. If pMem is already a double or an integer, return its // value. If it is a string or blob, try to convert it to a double. // If it is a NULL, return 0.0. -func memRealValue(tls *libc.TLS, pMem uintptr) float64 { /* sqlite3.c:78463:31: */ +func memRealValue(tls *libc.TLS, pMem uintptr) float64 { /* sqlite3.c:78476:31: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -56003,7 +56022,7 @@ func memRealValue(tls *libc.TLS, pMem uintptr) float64 { /* sqlite3.c:78463:31: return *(*float64)(unsafe.Pointer(bp /* val */)) } -func Xsqlite3VdbeRealValue(tls *libc.TLS, pMem uintptr) float64 { /* sqlite3.c:78469:23: */ +func Xsqlite3VdbeRealValue(tls *libc.TLS, pMem uintptr) float64 { /* sqlite3.c:78482:23: */ if int32((*Mem)(unsafe.Pointer(pMem)).Fflags)&MEM_Real != 0 { return *(*float64)(unsafe.Pointer(pMem)) @@ -56021,7 +56040,7 @@ func Xsqlite3VdbeRealValue(tls *libc.TLS, pMem uintptr) float64 { /* sqlite3.c:7 // Return 1 if pMem represents true, and return 0 if pMem represents false. // Return the value ifNull if pMem is NULL. -func Xsqlite3VdbeBooleanValue(tls *libc.TLS, pMem uintptr, ifNull int32) int32 { /* sqlite3.c:78490:20: */ +func Xsqlite3VdbeBooleanValue(tls *libc.TLS, pMem uintptr, ifNull int32) int32 { /* sqlite3.c:78503:20: */ if int32((*Mem)(unsafe.Pointer(pMem)).Fflags)&(MEM_Int|MEM_IntReal) != 0 { return libc.Bool32(*(*I64)(unsafe.Pointer(pMem)) != int64(0)) @@ -56034,7 +56053,7 @@ func Xsqlite3VdbeBooleanValue(tls *libc.TLS, pMem uintptr, ifNull int32) int32 { // The MEM structure is already a MEM_Real. Try to also make it a // MEM_Int if we can. -func Xsqlite3VdbeIntegerAffinity(tls *libc.TLS, pMem uintptr) { /* sqlite3.c:78501:21: */ +func Xsqlite3VdbeIntegerAffinity(tls *libc.TLS, pMem uintptr) { /* sqlite3.c:78514:21: */ var ix I64 ix = doubleToInt64(tls, *(*float64)(unsafe.Pointer(pMem))) @@ -56055,7 +56074,7 @@ func Xsqlite3VdbeIntegerAffinity(tls *libc.TLS, pMem uintptr) { /* sqlite3.c:785 } // Convert pMem to type integer. Invalidate any prior representations. -func Xsqlite3VdbeMemIntegerify(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c:78530:20: */ +func Xsqlite3VdbeMemIntegerify(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c:78543:20: */ *(*I64)(unsafe.Pointer(pMem)) = Xsqlite3VdbeIntValue(tls, pMem) (*Mem)(unsafe.Pointer(pMem)).Fflags = U16(int32((*Mem)(unsafe.Pointer(pMem)).Fflags)&libc.CplInt32(MEM_TypeMask|MEM_Zero) | MEM_Int) @@ -56064,7 +56083,7 @@ func Xsqlite3VdbeMemIntegerify(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c // Convert pMem so that it is of type MEM_Real. // Invalidate any prior representations. -func Xsqlite3VdbeMemRealify(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c:78545:20: */ +func Xsqlite3VdbeMemRealify(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c:78558:20: */ *(*float64)(unsafe.Pointer(pMem)) = Xsqlite3VdbeRealValue(tls, pMem) (*Mem)(unsafe.Pointer(pMem)).Fflags = U16(int32((*Mem)(unsafe.Pointer(pMem)).Fflags)&libc.CplInt32(MEM_TypeMask|MEM_Zero) | MEM_Real) @@ -56079,7 +56098,7 @@ func Xsqlite3VdbeMemRealify(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c:78 // For some versions of GCC on 32-bit machines, if you do the more obvious // comparison of "r1==(double)i" you sometimes get an answer of false even // though the r1 and (double)i values are bit-for-bit the same. -func Xsqlite3RealSameAsInt(tls *libc.TLS, r1 float64, i Sqlite3_int64) int32 { /* sqlite3.c:78564:20: */ +func Xsqlite3RealSameAsInt(tls *libc.TLS, r1 float64, i Sqlite3_int64) int32 { /* sqlite3.c:78577:20: */ bp := tls.Alloc(16) defer tls.Free(16) *(*float64)(unsafe.Pointer(bp)) = r1 @@ -56096,7 +56115,7 @@ func Xsqlite3RealSameAsInt(tls *libc.TLS, r1 float64, i Sqlite3_int64) int32 { / // Every effort is made to force the conversion, even if the input // is a string that does not look completely like a number. Convert // as much of the string as we can and ignore the rest. -func Xsqlite3VdbeMemNumerify(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c:78579:20: */ +func Xsqlite3VdbeMemNumerify(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c:78592:20: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -56123,7 +56142,7 @@ func Xsqlite3VdbeMemNumerify(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c:7 // is forced. In other words, the value is converted into the desired // affinity even if that results in loss of data. This routine is // used (for example) to implement the SQL "cast()" operator. -func Xsqlite3VdbeMemCast(tls *libc.TLS, pMem uintptr, aff U8, encoding U8) int32 { /* sqlite3.c:78612:20: */ +func Xsqlite3VdbeMemCast(tls *libc.TLS, pMem uintptr, aff U8, encoding U8) int32 { /* sqlite3.c:78625:20: */ if int32((*Mem)(unsafe.Pointer(pMem)).Fflags)&MEM_Null != 0 { return SQLITE_OK } @@ -56177,7 +56196,7 @@ func Xsqlite3VdbeMemCast(tls *libc.TLS, pMem uintptr, aff U8, encoding U8) int32 // Initialize bulk memory to be a consistent Mem object. // // The minimum amount of initialization feasible is performed. -func Xsqlite3VdbeMemInit(tls *libc.TLS, pMem uintptr, db uintptr, flags U16) { /* sqlite3.c:78655:21: */ +func Xsqlite3VdbeMemInit(tls *libc.TLS, pMem uintptr, db uintptr, flags U16) { /* sqlite3.c:78668:21: */ (*Mem)(unsafe.Pointer(pMem)).Fflags = flags (*Mem)(unsafe.Pointer(pMem)).Fdb = db @@ -56194,7 +56213,7 @@ func Xsqlite3VdbeMemInit(tls *libc.TLS, pMem uintptr, db uintptr, flags U16) { / // Use this routine to reset the Mem prior to insert a new value. // // Use sqlite3VdbeMemRelease() to complete erase the Mem prior to abandoning it. -func Xsqlite3VdbeMemSetNull(tls *libc.TLS, pMem uintptr) { /* sqlite3.c:78675:21: */ +func Xsqlite3VdbeMemSetNull(tls *libc.TLS, pMem uintptr) { /* sqlite3.c:78688:21: */ if int32((*Mem)(unsafe.Pointer(pMem)).Fflags)&(MEM_Agg|MEM_Dyn) != 0 { vdbeMemClearExternAndSetNull(tls, pMem) } else { @@ -56202,13 +56221,13 @@ func Xsqlite3VdbeMemSetNull(tls *libc.TLS, pMem uintptr) { /* sqlite3.c:78675:21 } } -func Xsqlite3ValueSetNull(tls *libc.TLS, p uintptr) { /* sqlite3.c:78682:21: */ +func Xsqlite3ValueSetNull(tls *libc.TLS, p uintptr) { /* sqlite3.c:78695:21: */ Xsqlite3VdbeMemSetNull(tls, p) } // Delete any previous value and set the value to be a BLOB of length // n containing all zeros. -func Xsqlite3VdbeMemSetZeroBlob(tls *libc.TLS, pMem uintptr, n int32) { /* sqlite3.c:78691:21: */ +func Xsqlite3VdbeMemSetZeroBlob(tls *libc.TLS, pMem uintptr, n int32) { /* sqlite3.c:78704:21: */ Xsqlite3VdbeMemRelease(tls, pMem) (*Mem)(unsafe.Pointer(pMem)).Fflags = U16(MEM_Blob | MEM_Zero) (*Mem)(unsafe.Pointer(pMem)).Fn = 0 @@ -56223,7 +56242,7 @@ func Xsqlite3VdbeMemSetZeroBlob(tls *libc.TLS, pMem uintptr, n int32) { /* sqlit // The pMem is known to contain content that needs to be destroyed prior // to a value change. So invoke the destructor, then set the value to // a 64-bit integer. -func vdbeReleaseAndSetInt64(tls *libc.TLS, pMem uintptr, val I64) { /* sqlite3.c:78721:29: */ +func vdbeReleaseAndSetInt64(tls *libc.TLS, pMem uintptr, val I64) { /* sqlite3.c:78734:29: */ Xsqlite3VdbeMemSetNull(tls, pMem) *(*I64)(unsafe.Pointer(pMem)) = val (*Mem)(unsafe.Pointer(pMem)).Fflags = U16(MEM_Int) @@ -56231,7 +56250,7 @@ func vdbeReleaseAndSetInt64(tls *libc.TLS, pMem uintptr, val I64) { /* sqlite3.c // Delete any previous value and set the value stored in *pMem to val, // manifest type INTEGER. -func Xsqlite3VdbeMemSetInt64(tls *libc.TLS, pMem uintptr, val I64) { /* sqlite3.c:78731:21: */ +func Xsqlite3VdbeMemSetInt64(tls *libc.TLS, pMem uintptr, val I64) { /* sqlite3.c:78744:21: */ if int32((*Mem)(unsafe.Pointer(pMem)).Fflags)&(MEM_Agg|MEM_Dyn) != 0 { vdbeReleaseAndSetInt64(tls, pMem, val) } else { @@ -56241,13 +56260,13 @@ func Xsqlite3VdbeMemSetInt64(tls *libc.TLS, pMem uintptr, val I64) { /* sqlite3. } // A no-op destructor -func Xsqlite3NoopDestructor(tls *libc.TLS, p uintptr) { /* sqlite3.c:78741:21: */ +func Xsqlite3NoopDestructor(tls *libc.TLS, p uintptr) { /* sqlite3.c:78754:21: */ _ = p } // Set the value stored in *pMem should already be a NULL. // Also store a pointer to go with it. -func Xsqlite3VdbeMemSetPointer(tls *libc.TLS, pMem uintptr, pPtr uintptr, zPType uintptr, xDestructor uintptr) { /* sqlite3.c:78747:21: */ +func Xsqlite3VdbeMemSetPointer(tls *libc.TLS, pMem uintptr, pPtr uintptr, zPType uintptr, xDestructor uintptr) { /* sqlite3.c:78760:21: */ vdbeMemClear(tls, pMem) *(*uintptr)(unsafe.Pointer(pMem)) = func() uintptr { @@ -56269,7 +56288,7 @@ func Xsqlite3VdbeMemSetPointer(tls *libc.TLS, pMem uintptr, pPtr uintptr, zPType // Delete any previous value and set the value stored in *pMem to val, // manifest type REAL. -func Xsqlite3VdbeMemSetDouble(tls *libc.TLS, pMem uintptr, val float64) { /* sqlite3.c:78767:21: */ +func Xsqlite3VdbeMemSetDouble(tls *libc.TLS, pMem uintptr, val float64) { /* sqlite3.c:78780:21: */ Xsqlite3VdbeMemSetNull(tls, pMem) if !(Xsqlite3IsNaN(tls, val) != 0) { *(*float64)(unsafe.Pointer(pMem)) = val @@ -56282,7 +56301,7 @@ func Xsqlite3VdbeMemSetDouble(tls *libc.TLS, pMem uintptr, val float64) { /* sql // // Return SQLITE_OK on success and SQLITE_NOMEM if a memory allocation // error occurs. -func Xsqlite3VdbeMemSetRowSet(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c:78794:20: */ +func Xsqlite3VdbeMemSetRowSet(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c:78807:20: */ var db uintptr = (*Mem)(unsafe.Pointer(pMem)).Fdb var p uintptr @@ -56299,7 +56318,7 @@ func Xsqlite3VdbeMemSetRowSet(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c: // Return true if the Mem object contains a TEXT or BLOB that is // too large - whose size exceeds SQLITE_MAX_LENGTH. -func Xsqlite3VdbeMemTooBig(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:78812:20: */ +func Xsqlite3VdbeMemTooBig(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:78825:20: */ if int32((*Mem)(unsafe.Pointer(p)).Fflags)&(MEM_Str|MEM_Blob) != 0 { var n int32 = (*Mem)(unsafe.Pointer(p)).Fn @@ -56315,13 +56334,13 @@ func Xsqlite3VdbeMemTooBig(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:78812: // pTo are freed. The pFrom->z field is not duplicated. If // pFrom->z is used, then pTo->z points to the same thing as pFrom->z // and flags gets srcType (either MEM_Ephem or MEM_Static). -func vdbeClrCopy(tls *libc.TLS, pTo uintptr, pFrom uintptr, eType int32) { /* sqlite3.c:78868:29: */ +func vdbeClrCopy(tls *libc.TLS, pTo uintptr, pFrom uintptr, eType int32) { /* sqlite3.c:78881:29: */ vdbeMemClearExternAndSetNull(tls, pTo) Xsqlite3VdbeMemShallowCopy(tls, pTo, pFrom, eType) } -func Xsqlite3VdbeMemShallowCopy(tls *libc.TLS, pTo uintptr, pFrom uintptr, srcType int32) { /* sqlite3.c:78873:21: */ +func Xsqlite3VdbeMemShallowCopy(tls *libc.TLS, pTo uintptr, pFrom uintptr, srcType int32) { /* sqlite3.c:78886:21: */ if int32((*Mem)(unsafe.Pointer(pTo)).Fflags)&(MEM_Agg|MEM_Dyn) != 0 { vdbeClrCopy(tls, pTo, pFrom, srcType) @@ -56337,7 +56356,7 @@ func Xsqlite3VdbeMemShallowCopy(tls *libc.TLS, pTo uintptr, pFrom uintptr, srcTy // Make a full copy of pFrom into pTo. Prior contents of pTo are // freed before the copy is made. -func Xsqlite3VdbeMemCopy(tls *libc.TLS, pTo uintptr, pFrom uintptr) int32 { /* sqlite3.c:78889:20: */ +func Xsqlite3VdbeMemCopy(tls *libc.TLS, pTo uintptr, pFrom uintptr) int32 { /* sqlite3.c:78902:20: */ var rc int32 = SQLITE_OK if int32((*Mem)(unsafe.Pointer(pTo)).Fflags)&(MEM_Agg|MEM_Dyn) != 0 { @@ -56359,7 +56378,7 @@ func Xsqlite3VdbeMemCopy(tls *libc.TLS, pTo uintptr, pFrom uintptr) int32 { /* s // freed. If pFrom contains ephemeral data, a copy is made. // // pFrom contains an SQL NULL when this routine returns. -func Xsqlite3VdbeMemMove(tls *libc.TLS, pTo uintptr, pFrom uintptr) { /* sqlite3.c:78912:21: */ +func Xsqlite3VdbeMemMove(tls *libc.TLS, pTo uintptr, pFrom uintptr) { /* sqlite3.c:78925:21: */ Xsqlite3VdbeMemRelease(tls, pTo) libc.Xmemcpy(tls, pTo, pFrom, uint32(unsafe.Sizeof(Mem{}))) @@ -56380,7 +56399,7 @@ func Xsqlite3VdbeMemMove(tls *libc.TLS, pTo uintptr, pFrom uintptr) { /* sqlite3 // stored without allocating memory, then it is. If a memory allocation // is required to store the string, then value of pMem is unchanged. In // either case, SQLITE_TOOBIG is returned. -func Xsqlite3VdbeMemSetStr(tls *libc.TLS, pMem uintptr, z uintptr, n I64, enc U8, xDel uintptr) int32 { /* sqlite3.c:78938:20: */ +func Xsqlite3VdbeMemSetStr(tls *libc.TLS, pMem uintptr, z uintptr, n I64, enc U8, xDel uintptr) int32 { /* sqlite3.c:78951:20: */ var nByte I64 = n // New value for pMem->n var iLimit int32 // Maximum allowed string or blob size var flags U16 = U16(0) // New value for pMem->flags @@ -56493,11 +56512,11 @@ func Xsqlite3VdbeMemSetStr(tls *libc.TLS, pMem uintptr, z uintptr, n I64, enc U8 // // If this routine fails for any reason (malloc returns NULL or unable // to read from the disk) then the pMem is left in an inconsistent state. -func Xsqlite3VdbeMemFromBtree(tls *libc.TLS, pCur uintptr, offset U32, amt U32, pMem uintptr) int32 { /* sqlite3.c:79047:20: */ +func Xsqlite3VdbeMemFromBtree(tls *libc.TLS, pCur uintptr, offset U32, amt U32, pMem uintptr) int32 { /* sqlite3.c:79060:20: */ var rc int32 (*Mem)(unsafe.Pointer(pMem)).Fflags = U16(MEM_Null) if Xsqlite3BtreeMaxRecordSize(tls, pCur) < Sqlite3_int64(offset+amt) { - return Xsqlite3CorruptError(tls, 79056) + return Xsqlite3CorruptError(tls, 79069) } if SQLITE_OK == libc.AssignInt32(&rc, Xsqlite3VdbeMemClearAndResize(tls, pMem, int32(amt+U32(1)))) { rc = Xsqlite3BtreePayload(tls, pCur, offset, amt, (*Mem)(unsafe.Pointer(pMem)).Fz) @@ -56512,7 +56531,7 @@ func Xsqlite3VdbeMemFromBtree(tls *libc.TLS, pCur uintptr, offset U32, amt U32, return rc } -func Xsqlite3VdbeMemFromBtreeZeroOffset(tls *libc.TLS, pCur uintptr, amt U32, pMem uintptr) int32 { /* sqlite3.c:79070:20: */ +func Xsqlite3VdbeMemFromBtreeZeroOffset(tls *libc.TLS, pCur uintptr, amt U32, pMem uintptr) int32 { /* sqlite3.c:79083:20: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -56537,7 +56556,7 @@ func Xsqlite3VdbeMemFromBtreeZeroOffset(tls *libc.TLS, pCur uintptr, amt U32, pM // The pVal argument is known to be a value other than NULL. // Convert it into a string with encoding enc and return a pointer // to a zero-terminated version of that string. -func valueToText(tls *libc.TLS, pVal uintptr, enc U8) uintptr { /* sqlite3.c:79102:35: */ +func valueToText(tls *libc.TLS, pVal uintptr, enc U8) uintptr { /* sqlite3.c:79115:35: */ if int32((*Sqlite3_value)(unsafe.Pointer(pVal)).Fflags)&(MEM_Blob|MEM_Str) != 0 { if func() int32 { @@ -56582,7 +56601,7 @@ func valueToText(tls *libc.TLS, pVal uintptr, enc U8) uintptr { /* sqlite3.c:791 // (2006-02-16:) The enc value can be or-ed with SQLITE_UTF16_ALIGNED. // If that is the case, then the result must be aligned on an even byte // boundary. -func Xsqlite3ValueText(tls *libc.TLS, pVal uintptr, enc U8) uintptr { /* sqlite3.c:79145:27: */ +func Xsqlite3ValueText(tls *libc.TLS, pVal uintptr, enc U8) uintptr { /* sqlite3.c:79158:27: */ if !(pVal != 0) { return uintptr(0) } @@ -56598,7 +56617,7 @@ func Xsqlite3ValueText(tls *libc.TLS, pVal uintptr, enc U8) uintptr { /* sqlite3 } // Create a new sqlite3_value object. -func Xsqlite3ValueNew(tls *libc.TLS, db uintptr) uintptr { /* sqlite3.c:79163:30: */ +func Xsqlite3ValueNew(tls *libc.TLS, db uintptr) uintptr { /* sqlite3.c:79176:30: */ var p uintptr = Xsqlite3DbMallocZero(tls, db, uint64(unsafe.Sizeof(Mem{}))) if p != 0 { (*Mem)(unsafe.Pointer(p)).Fflags = U16(MEM_Null) @@ -56614,7 +56633,7 @@ type ValueNewStat4Ctx = struct { FpIdx uintptr FppRec uintptr FiVal int32 -} /* sqlite3.c:79176:1 */ +} /* sqlite3.c:79189:1 */ // Allocate and return a pointer to a new sqlite3_value object. If // the second argument to this function is NULL, the object is allocated @@ -56625,7 +56644,7 @@ type ValueNewStat4Ctx = struct { // already been allocated, allocate the UnpackedRecord structure that // that function will return to its caller here. Then return a pointer to // an sqlite3_value within the UnpackedRecord.a[] array. -func valueNew(tls *libc.TLS, db uintptr, p uintptr) uintptr { /* sqlite3.c:79194:22: */ +func valueNew(tls *libc.TLS, db uintptr, p uintptr) uintptr { /* sqlite3.c:79207:22: */ if p != 0 { var pRec uintptr = *(*uintptr)(unsafe.Pointer((*ValueNewStat4Ctx)(unsafe.Pointer(p)).FppRec)) @@ -56681,7 +56700,7 @@ func valueNew(tls *libc.TLS, db uintptr, p uintptr) uintptr { /* sqlite3.c:79194 // If the conditions above are not met, this function returns SQLITE_OK // and sets (*ppVal) to NULL. Or, if an error occurs, (*ppVal) is set to // NULL and an SQLite error code returned. -func valueFromFunction(tls *libc.TLS, db uintptr, p uintptr, enc U8, aff U8, ppVal uintptr, pCtx uintptr) int32 { /* sqlite3.c:79256:12: */ +func valueFromFunction(tls *libc.TLS, db uintptr, p uintptr, enc U8, aff U8, ppVal uintptr, pCtx uintptr) int32 { /* sqlite3.c:79269:12: */ bp := tls.Alloc(40) defer tls.Free(40) @@ -56827,7 +56846,7 @@ __14: // has been allocated, it is freed before returning. Or, if pCtx is not // NULL, it is assumed that the caller will free any allocated object // in all cases. -func valueFromExpr(tls *libc.TLS, db uintptr, pExpr uintptr, enc U8, affinity U8, ppVal uintptr, pCtx uintptr) int32 { /* sqlite3.c:79352:12: */ +func valueFromExpr(tls *libc.TLS, db uintptr, pExpr uintptr, enc U8, affinity U8, ppVal uintptr, pCtx uintptr) int32 { /* sqlite3.c:79365:12: */ bp := tls.Alloc(20) defer tls.Free(20) @@ -57075,7 +57094,7 @@ __35: // a pointer written to *ppVal. The caller is responsible for deallocating // the value by passing it to sqlite3ValueFree() later on. If the expression // cannot be converted to a value, then *ppVal is set to NULL. -func Xsqlite3ValueFromExpr(tls *libc.TLS, db uintptr, pExpr uintptr, enc U8, affinity U8, ppVal uintptr) int32 { /* sqlite3.c:79507:20: */ +func Xsqlite3ValueFromExpr(tls *libc.TLS, db uintptr, pExpr uintptr, enc U8, affinity U8, ppVal uintptr) int32 { /* sqlite3.c:79520:20: */ if pExpr != 0 { return valueFromExpr(tls, db, pExpr, enc, affinity, ppVal, uintptr(0)) } @@ -57098,7 +57117,7 @@ func Xsqlite3ValueFromExpr(tls *libc.TLS, db uintptr, pExpr uintptr, enc U8, aff // // On success, *ppVal is made to point to the extracted value. The caller // is responsible for ensuring that the value is eventually freed. -func stat4ValueFromExpr(tls *libc.TLS, pParse uintptr, pExpr uintptr, affinity U8, pAlloc uintptr, ppVal uintptr) int32 { /* sqlite3.c:79536:12: */ +func stat4ValueFromExpr(tls *libc.TLS, pParse uintptr, pExpr uintptr, affinity U8, pAlloc uintptr, ppVal uintptr) int32 { /* sqlite3.c:79549:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -57166,7 +57185,7 @@ func stat4ValueFromExpr(tls *libc.TLS, pParse uintptr, pExpr uintptr, affinity U // Unless an error is encountered, SQLITE_OK is returned. It is not an // error if a value cannot be extracted from pExpr. If an error does // occur, an SQLite error code is returned. -func Xsqlite3Stat4ProbeSetValue(tls *libc.TLS, pParse uintptr, pIdx uintptr, ppRec uintptr, pExpr uintptr, nElem int32, iVal int32, pnExtract uintptr) int32 { /* sqlite3.c:79611:20: */ +func Xsqlite3Stat4ProbeSetValue(tls *libc.TLS, pParse uintptr, pIdx uintptr, ppRec uintptr, pExpr uintptr, nElem int32, iVal int32, pnExtract uintptr) int32 { /* sqlite3.c:79624:20: */ bp := tls.Alloc(20) defer tls.Free(20) @@ -57211,7 +57230,7 @@ func Xsqlite3Stat4ProbeSetValue(tls *libc.TLS, pParse uintptr, pIdx uintptr, ppR // (e.g. OOM), return SQLITE_OK and set *ppVal to NULL. Or, if an error // does occur, return an SQLite error code. The final value of *ppVal // is undefined in this case. -func Xsqlite3Stat4ValueFromExpr(tls *libc.TLS, pParse uintptr, pExpr uintptr, affinity U8, ppVal uintptr) int32 { /* sqlite3.c:79656:20: */ +func Xsqlite3Stat4ValueFromExpr(tls *libc.TLS, pParse uintptr, pExpr uintptr, affinity U8, ppVal uintptr) int32 { /* sqlite3.c:79669:20: */ return stat4ValueFromExpr(tls, pParse, pExpr, affinity, uintptr(0), ppVal) } @@ -57221,7 +57240,7 @@ func Xsqlite3Stat4ValueFromExpr(tls *libc.TLS, pParse uintptr, pExpr uintptr, af // // If *ppVal is initially NULL then the caller is responsible for // ensuring that the value written into *ppVal is eventually freed. -func Xsqlite3Stat4Column(tls *libc.TLS, db uintptr, pRec uintptr, nRec int32, iCol int32, ppVal uintptr) int32 { /* sqlite3.c:79673:20: */ +func Xsqlite3Stat4Column(tls *libc.TLS, db uintptr, pRec uintptr, nRec int32, iCol int32, ppVal uintptr) int32 { /* sqlite3.c:79686:20: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -57242,7 +57261,7 @@ func Xsqlite3Stat4Column(tls *libc.TLS, db uintptr, pRec uintptr, nRec int32, iC return Xsqlite3GetVarint32(tls, a, bp) }()) if *(*int32)(unsafe.Pointer(bp)) > nRec || iHdr >= *(*int32)(unsafe.Pointer(bp)) { - return Xsqlite3CorruptError(tls, 79691) + return Xsqlite3CorruptError(tls, 79704) } iField = *(*int32)(unsafe.Pointer(bp /* nHdr */)) for i = 0; i <= iCol; i++ { @@ -57257,14 +57276,14 @@ func Xsqlite3Stat4Column(tls *libc.TLS, db uintptr, pRec uintptr, nRec int32, iC }()) if iHdr > *(*int32)(unsafe.Pointer(bp)) { - return Xsqlite3CorruptError(tls, 79697) + return Xsqlite3CorruptError(tls, 79710) } szField = int32(Xsqlite3VdbeSerialTypeLen(tls, *(*U32)(unsafe.Pointer(bp + 4 /* t */)))) iField = iField + szField } if iField > nRec { - return Xsqlite3CorruptError(tls, 79703) + return Xsqlite3CorruptError(tls, 79716) } if pMem == uintptr(0) { pMem = libc.AssignPtrUintptr(ppVal, Xsqlite3ValueNew(tls, db)) @@ -57280,7 +57299,7 @@ func Xsqlite3Stat4Column(tls *libc.TLS, db uintptr, pRec uintptr, nRec int32, iC // Unless it is NULL, the argument must be an UnpackedRecord object returned // by an earlier call to sqlite3Stat4ProbeSetValue(). This call deletes // the object. -func Xsqlite3Stat4ProbeFree(tls *libc.TLS, pRec uintptr) { /* sqlite3.c:79718:21: */ +func Xsqlite3Stat4ProbeFree(tls *libc.TLS, pRec uintptr) { /* sqlite3.c:79731:21: */ if pRec != 0 { var i int32 var nCol int32 = int32((*KeyInfo)(unsafe.Pointer((*UnpackedRecord)(unsafe.Pointer(pRec)).FpKeyInfo)).FnAllField) @@ -57295,14 +57314,14 @@ func Xsqlite3Stat4ProbeFree(tls *libc.TLS, pRec uintptr) { /* sqlite3.c:79718:21 } // Change the string value of an sqlite3_value object -func Xsqlite3ValueSetStr(tls *libc.TLS, v uintptr, n int32, z uintptr, enc U8, xDel uintptr) { /* sqlite3.c:79736:21: */ +func Xsqlite3ValueSetStr(tls *libc.TLS, v uintptr, n int32, z uintptr, enc U8, xDel uintptr) { /* sqlite3.c:79749:21: */ if v != 0 { Xsqlite3VdbeMemSetStr(tls, v, z, int64(n), enc, xDel) } } // Free an sqlite3_value object -func Xsqlite3ValueFree(tls *libc.TLS, v uintptr) { /* sqlite3.c:79749:21: */ +func Xsqlite3ValueFree(tls *libc.TLS, v uintptr) { /* sqlite3.c:79762:21: */ if !(v != 0) { return } @@ -57313,14 +57332,14 @@ func Xsqlite3ValueFree(tls *libc.TLS, v uintptr) { /* sqlite3.c:79749:21: */ // The sqlite3ValueBytes() routine returns the number of bytes in the // sqlite3_value object assuming that it uses the encoding "enc". // The valueBytes() routine is a helper function. -func valueBytes(tls *libc.TLS, pVal uintptr, enc U8) int32 { /* sqlite3.c:79760:28: */ +func valueBytes(tls *libc.TLS, pVal uintptr, enc U8) int32 { /* sqlite3.c:79773:28: */ if valueToText(tls, pVal, enc) != uintptr(0) { return (*Sqlite3_value)(unsafe.Pointer(pVal)).Fn } return 0 } -func Xsqlite3ValueBytes(tls *libc.TLS, pVal uintptr, enc U8) int32 { /* sqlite3.c:79763:20: */ +func Xsqlite3ValueBytes(tls *libc.TLS, pVal uintptr, enc U8) int32 { /* sqlite3.c:79776:20: */ var p uintptr = pVal if int32((*Mem)(unsafe.Pointer(p)).Fflags)&MEM_Str != 0 && int32((*Sqlite3_value)(unsafe.Pointer(pVal)).Fenc) == int32(enc) { @@ -57340,7 +57359,7 @@ func Xsqlite3ValueBytes(tls *libc.TLS, pVal uintptr, enc U8) int32 { /* sqlite3. } // Create a new virtual database engine. -func Xsqlite3VdbeCreate(tls *libc.TLS, pParse uintptr) uintptr { /* sqlite3.c:79806:21: */ +func Xsqlite3VdbeCreate(tls *libc.TLS, pParse uintptr) uintptr { /* sqlite3.c:79819:21: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb var p uintptr p = Xsqlite3DbMallocRawNN(tls, db, uint64(unsafe.Sizeof(Vdbe{}))) @@ -57364,12 +57383,12 @@ func Xsqlite3VdbeCreate(tls *libc.TLS, pParse uintptr) uintptr { /* sqlite3.c:79 } // Return the Parse object that owns a Vdbe object. -func Xsqlite3VdbeParser(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:79833:22: */ +func Xsqlite3VdbeParser(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:79846:22: */ return (*Vdbe)(unsafe.Pointer(p)).FpParse } // Change the error string stored in Vdbe.zErrMsg -func Xsqlite3VdbeError(tls *libc.TLS, p uintptr, zFormat uintptr, va uintptr) { /* sqlite3.c:79840:21: */ +func Xsqlite3VdbeError(tls *libc.TLS, p uintptr, zFormat uintptr, va uintptr) { /* sqlite3.c:79853:21: */ var ap Va_list _ = ap Xsqlite3DbFree(tls, (*Vdbe)(unsafe.Pointer(p)).Fdb, (*Vdbe)(unsafe.Pointer(p)).FzErrMsg) @@ -57379,7 +57398,7 @@ func Xsqlite3VdbeError(tls *libc.TLS, p uintptr, zFormat uintptr, va uintptr) { } // Remember the SQL string for a prepared statement. -func Xsqlite3VdbeSetSql(tls *libc.TLS, p uintptr, z uintptr, n int32, prepFlags U8) { /* sqlite3.c:79851:21: */ +func Xsqlite3VdbeSetSql(tls *libc.TLS, p uintptr, z uintptr, n int32, prepFlags U8) { /* sqlite3.c:79864:21: */ if p == uintptr(0) { return } @@ -57392,7 +57411,7 @@ func Xsqlite3VdbeSetSql(tls *libc.TLS, p uintptr, z uintptr, n int32, prepFlags } // Swap all content between two VDBE structures. -func Xsqlite3VdbeSwap(tls *libc.TLS, pA uintptr, pB uintptr) { /* sqlite3.c:79901:21: */ +func Xsqlite3VdbeSwap(tls *libc.TLS, pA uintptr, pB uintptr) { /* sqlite3.c:79914:21: */ var tmp Vdbe var pTmp uintptr var zTmp uintptr @@ -57423,7 +57442,7 @@ func Xsqlite3VdbeSwap(tls *libc.TLS, pA uintptr, pB uintptr) { /* sqlite3.c:7990 // SQLITE_NOMEM. In this case Vdbe.aOp and Vdbe.nOpAlloc remain // unchanged (this is so that any opcodes already allocated can be // correctly deallocated along with the rest of the Vdbe). -func growOpArray(tls *libc.TLS, v uintptr, nOp int32) int32 { /* sqlite3.c:79938:12: */ +func growOpArray(tls *libc.TLS, v uintptr, nOp int32) int32 { /* sqlite3.c:79951:12: */ var pNew uintptr var p uintptr = (*Vdbe)(unsafe.Pointer(v)).FpParse @@ -57476,7 +57495,7 @@ func growOpArray(tls *libc.TLS, v uintptr, nOp int32) int32 { /* sqlite3.c:79938 // Use the sqlite3VdbeResolveLabel() function to fix an address and // the sqlite3VdbeChangeP4() function to change the value of the P4 // operand. -func growOp3(tls *libc.TLS, p uintptr, op int32, p1 int32, p2 int32, p3 int32) int32 { /* sqlite3.c:80009:28: */ +func growOp3(tls *libc.TLS, p uintptr, op int32, p1 int32, p2 int32, p3 int32) int32 { /* sqlite3.c:80022:28: */ if growOpArray(tls, p, 1) != 0 { return 1 @@ -57485,7 +57504,7 @@ func growOp3(tls *libc.TLS, p uintptr, op int32, p1 int32, p2 int32, p3 int32) i return Xsqlite3VdbeAddOp3(tls, p, op, p1, p2, p3) } -func Xsqlite3VdbeAddOp3(tls *libc.TLS, p uintptr, op int32, p1 int32, p2 int32, p3 int32) int32 { /* sqlite3.c:80015:20: */ +func Xsqlite3VdbeAddOp3(tls *libc.TLS, p uintptr, op int32, p1 int32, p2 int32, p3 int32) int32 { /* sqlite3.c:80028:20: */ var i int32 var pOp uintptr @@ -57508,26 +57527,26 @@ func Xsqlite3VdbeAddOp3(tls *libc.TLS, p uintptr, op int32, p1 int32, p2 int32, return i } -func Xsqlite3VdbeAddOp0(tls *libc.TLS, p uintptr, op int32) int32 { /* sqlite3.c:80054:20: */ +func Xsqlite3VdbeAddOp0(tls *libc.TLS, p uintptr, op int32) int32 { /* sqlite3.c:80067:20: */ return Xsqlite3VdbeAddOp3(tls, p, op, 0, 0, 0) } -func Xsqlite3VdbeAddOp1(tls *libc.TLS, p uintptr, op int32, p1 int32) int32 { /* sqlite3.c:80057:20: */ +func Xsqlite3VdbeAddOp1(tls *libc.TLS, p uintptr, op int32, p1 int32) int32 { /* sqlite3.c:80070:20: */ return Xsqlite3VdbeAddOp3(tls, p, op, p1, 0, 0) } -func Xsqlite3VdbeAddOp2(tls *libc.TLS, p uintptr, op int32, p1 int32, p2 int32) int32 { /* sqlite3.c:80060:20: */ +func Xsqlite3VdbeAddOp2(tls *libc.TLS, p uintptr, op int32, p1 int32, p2 int32) int32 { /* sqlite3.c:80073:20: */ return Xsqlite3VdbeAddOp3(tls, p, op, p1, p2, 0) } // Generate code for an unconditional jump to instruction iDest -func Xsqlite3VdbeGoto(tls *libc.TLS, p uintptr, iDest int32) int32 { /* sqlite3.c:80066:20: */ +func Xsqlite3VdbeGoto(tls *libc.TLS, p uintptr, iDest int32) int32 { /* sqlite3.c:80079:20: */ return Xsqlite3VdbeAddOp3(tls, p, OP_Goto, 0, iDest, 0) } // Generate code to cause the string zStr to be loaded into // register iDest -func Xsqlite3VdbeLoadString(tls *libc.TLS, p uintptr, iDest int32, zStr uintptr) int32 { /* sqlite3.c:80073:20: */ +func Xsqlite3VdbeLoadString(tls *libc.TLS, p uintptr, iDest int32, zStr uintptr) int32 { /* sqlite3.c:80086:20: */ return Xsqlite3VdbeAddOp4(tls, p, OP_String8, 0, iDest, 0, zStr, 0) } @@ -57540,7 +57559,7 @@ func Xsqlite3VdbeLoadString(tls *libc.TLS, p uintptr, iDest int32, zStr uintptr) // // If the input string does not end with "X" then an OP_ResultRow instruction // is generated for the values inserted. -func Xsqlite3VdbeMultiLoad(tls *libc.TLS, p uintptr, iDest int32, zTypes uintptr, va uintptr) { /* sqlite3.c:80088:21: */ +func Xsqlite3VdbeMultiLoad(tls *libc.TLS, p uintptr, iDest int32, zTypes uintptr, va uintptr) { /* sqlite3.c:80101:21: */ var ap Va_list _ = ap var i int32 @@ -57588,7 +57607,7 @@ skip_op_resultrow: } // Add an opcode that includes the p4 value as a pointer. -func Xsqlite3VdbeAddOp4(tls *libc.TLS, p uintptr, op int32, p1 int32, p2 int32, p3 int32, zP4 uintptr, p4type int32) int32 { /* sqlite3.c:80111:20: */ +func Xsqlite3VdbeAddOp4(tls *libc.TLS, p uintptr, op int32, p1 int32, p2 int32, p3 int32, zP4 uintptr, p4type int32) int32 { /* sqlite3.c:80124:20: */ var addr int32 = Xsqlite3VdbeAddOp3(tls, p, op, p1, p2, p3) Xsqlite3VdbeChangeP4(tls, p, addr, zP4, p4type) return addr @@ -57602,7 +57621,7 @@ func Xsqlite3VdbeAddOp4(tls *libc.TLS, p uintptr, op int32, p1 int32, p2 int32, // NC_IdxExpr means called as part of an index expression. NC_PartIdx // means in the WHERE clause of a partial index. NC_GenCol means called // while computing a generated column value. 0 is the usual case. -func Xsqlite3VdbeAddFunctionCall(tls *libc.TLS, pParse uintptr, p1 int32, p2 int32, p3 int32, nArg int32, pFunc uintptr, eCallCtx int32) int32 { /* sqlite3.c:80135:20: */ +func Xsqlite3VdbeAddFunctionCall(tls *libc.TLS, pParse uintptr, p1 int32, p2 int32, p3 int32, nArg int32, pFunc uintptr, eCallCtx int32) int32 { /* sqlite3.c:80148:20: */ var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe var nByte int32 var addr int32 @@ -57634,7 +57653,7 @@ func Xsqlite3VdbeAddFunctionCall(tls *libc.TLS, pParse uintptr, p1 int32, p2 int // Add an opcode that includes the p4 value with a P4_INT64 or // P4_REAL type. -func Xsqlite3VdbeAddOp4Dup8(tls *libc.TLS, p uintptr, op int32, p1 int32, p2 int32, p3 int32, zP4 uintptr, p4type int32) int32 { /* sqlite3.c:80172:20: */ +func Xsqlite3VdbeAddOp4Dup8(tls *libc.TLS, p uintptr, op int32, p1 int32, p2 int32, p3 int32, zP4 uintptr, p4type int32) int32 { /* sqlite3.c:80185:20: */ var p4copy uintptr = Xsqlite3DbMallocRawNN(tls, Xsqlite3VdbeDb(tls, p), uint64(8)) if p4copy != 0 { libc.Xmemcpy(tls, p4copy, zP4, uint32(8)) @@ -57644,7 +57663,7 @@ func Xsqlite3VdbeAddOp4Dup8(tls *libc.TLS, p uintptr, op int32, p1 int32, p2 int // Return the address of the current EXPLAIN QUERY PLAN baseline. // 0 means "none". -func Xsqlite3VdbeExplainParent(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:80191:20: */ +func Xsqlite3VdbeExplainParent(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:80204:20: */ var pOp uintptr if (*Parse)(unsafe.Pointer(pParse)).FaddrExplain == 0 { return 0 @@ -57660,7 +57679,7 @@ func Xsqlite3VdbeExplainParent(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3 // // If the bPush flag is true, then make this opcode the parent for // subsequent Explains until sqlite3VdbeExplainPop() is called. -func Xsqlite3VdbeExplain(tls *libc.TLS, pParse uintptr, bPush U8, zFmt uintptr, va uintptr) { /* sqlite3.c:80215:21: */ +func Xsqlite3VdbeExplain(tls *libc.TLS, pParse uintptr, bPush U8, zFmt uintptr, va uintptr) { /* sqlite3.c:80228:21: */ // Always include the OP_Explain opcodes if SQLITE_DEBUG is defined. // But omit them (for performance) during production builds if int32((*Parse)(unsafe.Pointer(pParse)).Fexplain) == 2 { @@ -57684,7 +57703,7 @@ func Xsqlite3VdbeExplain(tls *libc.TLS, pParse uintptr, bPush U8, zFmt uintptr, } // Pop the EXPLAIN QUERY PLAN stack one level. -func Xsqlite3VdbeExplainPop(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:80243:21: */ +func Xsqlite3VdbeExplainPop(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:80256:21: */ (*Parse)(unsafe.Pointer(pParse)).FaddrExplain = Xsqlite3VdbeExplainParent(tls, pParse) } @@ -57695,7 +57714,7 @@ func Xsqlite3VdbeExplainPop(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:80243: // // The zWhere string must have been obtained from sqlite3_malloc(). // This routine will take ownership of the allocated memory. -func Xsqlite3VdbeAddParseSchemaOp(tls *libc.TLS, p uintptr, iDb int32, zWhere uintptr, p5 U16) { /* sqlite3.c:80257:21: */ +func Xsqlite3VdbeAddParseSchemaOp(tls *libc.TLS, p uintptr, iDb int32, zWhere uintptr, p5 U16) { /* sqlite3.c:80270:21: */ var j int32 Xsqlite3VdbeAddOp4(tls, p, OP_ParseSchema, iDb, 0, 0, zWhere, -7) Xsqlite3VdbeChangeP5(tls, p, p5) @@ -57706,7 +57725,7 @@ func Xsqlite3VdbeAddParseSchemaOp(tls *libc.TLS, p uintptr, iDb int32, zWhere ui } // Add an opcode that includes the p4 value as an integer. -func Xsqlite3VdbeAddOp4Int(tls *libc.TLS, p uintptr, op int32, p1 int32, p2 int32, p3 int32, p4 int32) int32 { /* sqlite3.c:80268:20: */ +func Xsqlite3VdbeAddOp4Int(tls *libc.TLS, p uintptr, op int32, p1 int32, p2 int32, p3 int32, p4 int32) int32 { /* sqlite3.c:80281:20: */ var addr int32 = Xsqlite3VdbeAddOp3(tls, p, op, p1, p2, p3) if int32((*Sqlite3)(unsafe.Pointer((*Vdbe)(unsafe.Pointer(p)).Fdb)).FmallocFailed) == 0 { var pOp uintptr = (*Vdbe)(unsafe.Pointer(p)).FaOp + uintptr(addr)*20 @@ -57717,7 +57736,7 @@ func Xsqlite3VdbeAddOp4Int(tls *libc.TLS, p uintptr, op int32, p1 int32, p2 int3 } // Insert the end of a co-routine -func Xsqlite3VdbeEndCoroutine(tls *libc.TLS, v uintptr, regYield int32) { /* sqlite3.c:80287:21: */ +func Xsqlite3VdbeEndCoroutine(tls *libc.TLS, v uintptr, regYield int32) { /* sqlite3.c:80300:21: */ Xsqlite3VdbeAddOp1(tls, v, OP_EndCoroutine, regYield) // Clear the temporary register cache, thereby ensuring that each @@ -57752,14 +57771,14 @@ func Xsqlite3VdbeEndCoroutine(tls *libc.TLS, v uintptr, regYield int32) { /* sql // been issued. The negative is stored because // that gives a performance improvement over storing // the equivalent positive value. -func Xsqlite3VdbeMakeLabel(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:80325:20: */ +func Xsqlite3VdbeMakeLabel(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:80338:20: */ return libc.PreDecInt32(&(*Parse)(unsafe.Pointer(pParse)).FnLabel, 1) } // Resolve label "x" to be the address of the next instruction to // be inserted. The parameter "x" must have been obtained from // a prior call to sqlite3VdbeMakeLabel(). -func resizeResolveLabel(tls *libc.TLS, p uintptr, v uintptr, j int32) { /* sqlite3.c:80334:29: */ +func resizeResolveLabel(tls *libc.TLS, p uintptr, v uintptr, j int32) { /* sqlite3.c:80347:29: */ var nNewSize int32 = 10 - (*Parse)(unsafe.Pointer(p)).FnLabel (*Parse)(unsafe.Pointer(p)).FaLabel = Xsqlite3DbReallocOrFree(tls, (*Parse)(unsafe.Pointer(p)).Fdb, (*Parse)(unsafe.Pointer(p)).FaLabel, uint64(uint32(nNewSize)*uint32(unsafe.Sizeof(int32(0))))) @@ -57771,7 +57790,7 @@ func resizeResolveLabel(tls *libc.TLS, p uintptr, v uintptr, j int32) { /* sqlit } } -func Xsqlite3VdbeResolveLabel(tls *libc.TLS, v uintptr, x int32) { /* sqlite3.c:80349:21: */ +func Xsqlite3VdbeResolveLabel(tls *libc.TLS, v uintptr, x int32) { /* sqlite3.c:80362:21: */ var p uintptr = (*Vdbe)(unsafe.Pointer(v)).FpParse var j int32 = ^x @@ -57784,12 +57803,12 @@ func Xsqlite3VdbeResolveLabel(tls *libc.TLS, v uintptr, x int32) { /* sqlite3.c: } // Mark the VDBE as one that can only be run one time. -func Xsqlite3VdbeRunOnlyOnce(tls *libc.TLS, p uintptr) { /* sqlite3.c:80371:21: */ +func Xsqlite3VdbeRunOnlyOnce(tls *libc.TLS, p uintptr) { /* sqlite3.c:80384:21: */ libc.SetBitFieldPtr16Uint32(p+148, Bft(1), 5, 0x20) } // Mark the VDBE as one that can only be run multiple times. -func Xsqlite3VdbeReusable(tls *libc.TLS, p uintptr) { /* sqlite3.c:80378:21: */ +func Xsqlite3VdbeReusable(tls *libc.TLS, p uintptr) { /* sqlite3.c:80391:21: */ libc.SetBitFieldPtr16Uint32(p+148, Bft(0), 5, 0x20) } @@ -57812,7 +57831,7 @@ func Xsqlite3VdbeReusable(tls *libc.TLS, p uintptr) { /* sqlite3.c:80378:21: */ // This routine will only function correctly if the mkopcodeh.tcl generator // script numbers the opcodes correctly. Changes to this routine must be // coordinated with changes to mkopcodeh.tcl. -func resolveP2Values(tls *libc.TLS, p uintptr, pMaxFuncArgs uintptr) { /* sqlite3.c:80574:13: */ +func resolveP2Values(tls *libc.TLS, p uintptr, pMaxFuncArgs uintptr) { /* sqlite3.c:80587:13: */ var nMaxArgs int32 = *(*int32)(unsafe.Pointer(pMaxFuncArgs)) var pOp uintptr var pParse uintptr = (*Vdbe)(unsafe.Pointer(p)).FpParse @@ -57941,7 +57960,7 @@ func resolveP2Values(tls *libc.TLS, p uintptr, pMaxFuncArgs uintptr) { /* sqlite } // Return the address of the next instruction to be inserted. -func Xsqlite3VdbeCurrentAddr(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:80676:20: */ +func Xsqlite3VdbeCurrentAddr(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:80689:20: */ return (*Vdbe)(unsafe.Pointer(p)).FnOp } @@ -57972,7 +57991,7 @@ func Xsqlite3VdbeCurrentAddr(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:8067 // array. Also, *pnMaxArg is set to the larger of its current value and // the number of entries in the Vdbe.apArg[] array required to execute the // returned program. -func Xsqlite3VdbeTakeOpArray(tls *libc.TLS, p uintptr, pnOp uintptr, pnMaxArg uintptr) uintptr { /* sqlite3.c:80733:23: */ +func Xsqlite3VdbeTakeOpArray(tls *libc.TLS, p uintptr, pnOp uintptr, pnMaxArg uintptr) uintptr { /* sqlite3.c:80746:23: */ var aOp uintptr = (*Vdbe)(unsafe.Pointer(p)).FaOp // Check that sqlite3VdbeUsesBtree() was not called on this VM @@ -57988,7 +58007,7 @@ func Xsqlite3VdbeTakeOpArray(tls *libc.TLS, p uintptr, pnOp uintptr, pnMaxArg ui // // Non-zero P2 arguments to jump instructions are automatically adjusted // so that the jump target is relative to the first operation inserted. -func Xsqlite3VdbeAddOpList(tls *libc.TLS, p uintptr, nOp int32, aOp uintptr, iLineno int32) uintptr { /* sqlite3.c:80753:23: */ +func Xsqlite3VdbeAddOpList(tls *libc.TLS, p uintptr, nOp int32, aOp uintptr, iLineno int32) uintptr { /* sqlite3.c:80766:23: */ var i int32 var pOut uintptr var pFirst uintptr @@ -58032,23 +58051,23 @@ __3: // Change the value of the opcode, or P1, P2, P3, or P5 operands // for a specific instruction. -func Xsqlite3VdbeChangeOpcode(tls *libc.TLS, p uintptr, addr int32, iNewOpcode U8) { /* sqlite3.c:80829:21: */ +func Xsqlite3VdbeChangeOpcode(tls *libc.TLS, p uintptr, addr int32, iNewOpcode U8) { /* sqlite3.c:80842:21: */ (*VdbeOp)(unsafe.Pointer(Xsqlite3VdbeGetOp(tls, p, addr))).Fopcode = iNewOpcode } -func Xsqlite3VdbeChangeP1(tls *libc.TLS, p uintptr, addr int32, val int32) { /* sqlite3.c:80832:21: */ +func Xsqlite3VdbeChangeP1(tls *libc.TLS, p uintptr, addr int32, val int32) { /* sqlite3.c:80845:21: */ (*VdbeOp)(unsafe.Pointer(Xsqlite3VdbeGetOp(tls, p, addr))).Fp1 = val } -func Xsqlite3VdbeChangeP2(tls *libc.TLS, p uintptr, addr int32, val int32) { /* sqlite3.c:80835:21: */ +func Xsqlite3VdbeChangeP2(tls *libc.TLS, p uintptr, addr int32, val int32) { /* sqlite3.c:80848:21: */ (*VdbeOp)(unsafe.Pointer(Xsqlite3VdbeGetOp(tls, p, addr))).Fp2 = val } -func Xsqlite3VdbeChangeP3(tls *libc.TLS, p uintptr, addr int32, val int32) { /* sqlite3.c:80838:21: */ +func Xsqlite3VdbeChangeP3(tls *libc.TLS, p uintptr, addr int32, val int32) { /* sqlite3.c:80851:21: */ (*VdbeOp)(unsafe.Pointer(Xsqlite3VdbeGetOp(tls, p, addr))).Fp3 = val } -func Xsqlite3VdbeChangeP5(tls *libc.TLS, p uintptr, p5 U16) { /* sqlite3.c:80841:21: */ +func Xsqlite3VdbeChangeP5(tls *libc.TLS, p uintptr, p5 U16) { /* sqlite3.c:80854:21: */ if (*Vdbe)(unsafe.Pointer(p)).FnOp > 0 { (*Op)(unsafe.Pointer((*Vdbe)(unsafe.Pointer(p)).FaOp + uintptr((*Vdbe)(unsafe.Pointer(p)).FnOp-1)*20)).Fp5 = p5 @@ -58057,7 +58076,7 @@ func Xsqlite3VdbeChangeP5(tls *libc.TLS, p uintptr, p5 U16) { /* sqlite3.c:80841 // Change the P2 operand of instruction addr so that it points to // the address of the next instruction to be coded. -func Xsqlite3VdbeJumpHere(tls *libc.TLS, p uintptr, addr int32) { /* sqlite3.c:80850:21: */ +func Xsqlite3VdbeJumpHere(tls *libc.TLS, p uintptr, addr int32) { /* sqlite3.c:80863:21: */ Xsqlite3VdbeChangeP2(tls, p, addr, (*Vdbe)(unsafe.Pointer(p)).FnOp) } @@ -58072,7 +58091,7 @@ func Xsqlite3VdbeJumpHere(tls *libc.TLS, p uintptr, addr int32) { /* sqlite3.c:8 // // 7 Once 0 8 0 // 8 ... -func Xsqlite3VdbeJumpHereOrPopInst(tls *libc.TLS, p uintptr, addr int32) { /* sqlite3.c:80867:21: */ +func Xsqlite3VdbeJumpHereOrPopInst(tls *libc.TLS, p uintptr, addr int32) { /* sqlite3.c:80880:21: */ if addr == (*Vdbe)(unsafe.Pointer(p)).FnOp-1 { (*Vdbe)(unsafe.Pointer(p)).FnOp-- @@ -58083,26 +58102,26 @@ func Xsqlite3VdbeJumpHereOrPopInst(tls *libc.TLS, p uintptr, addr int32) { /* sq // If the input FuncDef structure is ephemeral, then free it. If // the FuncDef is not ephermal, then do nothing. -func freeEphemeralFunction(tls *libc.TLS, db uintptr, pDef uintptr) { /* sqlite3.c:80887:13: */ +func freeEphemeralFunction(tls *libc.TLS, db uintptr, pDef uintptr) { /* sqlite3.c:80900:13: */ if (*FuncDef)(unsafe.Pointer(pDef)).FfuncFlags&U32(SQLITE_FUNC_EPHEM) != U32(0) { Xsqlite3DbFreeNN(tls, db, pDef) } } // Delete a P4 value if necessary. -func freeP4Mem(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:80896:29: */ +func freeP4Mem(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:80909:29: */ if (*Mem)(unsafe.Pointer(p)).FszMalloc != 0 { Xsqlite3DbFree(tls, db, (*Mem)(unsafe.Pointer(p)).FzMalloc) } Xsqlite3DbFreeNN(tls, db, p) } -func freeP4FuncCtx(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:80900:29: */ +func freeP4FuncCtx(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:80913:29: */ freeEphemeralFunction(tls, db, (*Sqlite3_context)(unsafe.Pointer(p)).FpFunc) Xsqlite3DbFreeNN(tls, db, p) } -func freeP4(tls *libc.TLS, db uintptr, p4type int32, p4 uintptr) { /* sqlite3.c:80904:13: */ +func freeP4(tls *libc.TLS, db uintptr, p4type int32, p4 uintptr) { /* sqlite3.c:80917:13: */ switch p4type { case -16: @@ -58163,7 +58182,7 @@ func freeP4(tls *libc.TLS, db uintptr, p4type int32, p4 uintptr) { /* sqlite3.c: // Free the space allocated for aOp and any p4 values allocated for the // opcodes contained within. If aOp is not NULL it is assumed to contain // nOp entries. -func vdbeFreeOpArray(tls *libc.TLS, db uintptr, aOp uintptr, nOp int32) { /* sqlite3.c:80953:13: */ +func vdbeFreeOpArray(tls *libc.TLS, db uintptr, aOp uintptr, nOp int32) { /* sqlite3.c:80966:13: */ if aOp != 0 { var pOp uintptr for pOp = aOp + uintptr(nOp-1)*20; pOp >= aOp; pOp -= 20 { @@ -58178,18 +58197,18 @@ func vdbeFreeOpArray(tls *libc.TLS, db uintptr, aOp uintptr, nOp int32) { /* sql // Link the SubProgram object passed as the second argument into the linked // list at Vdbe.pSubProgram. This list is used to delete all sub-program // objects when the VM is no longer required. -func Xsqlite3VdbeLinkSubProgram(tls *libc.TLS, pVdbe uintptr, p uintptr) { /* sqlite3.c:80971:21: */ +func Xsqlite3VdbeLinkSubProgram(tls *libc.TLS, pVdbe uintptr, p uintptr) { /* sqlite3.c:80984:21: */ (*SubProgram)(unsafe.Pointer(p)).FpNext = (*Vdbe)(unsafe.Pointer(pVdbe)).FpProgram (*Vdbe)(unsafe.Pointer(pVdbe)).FpProgram = p } // Return true if the given Vdbe has any SubPrograms. -func Xsqlite3VdbeHasSubProgram(tls *libc.TLS, pVdbe uintptr) int32 { /* sqlite3.c:80979:20: */ +func Xsqlite3VdbeHasSubProgram(tls *libc.TLS, pVdbe uintptr) int32 { /* sqlite3.c:80992:20: */ return libc.Bool32((*Vdbe)(unsafe.Pointer(pVdbe)).FpProgram != uintptr(0)) } // Change the opcode at addr into OP_Noop -func Xsqlite3VdbeChangeToNoop(tls *libc.TLS, p uintptr, addr int32) int32 { /* sqlite3.c:80986:20: */ +func Xsqlite3VdbeChangeToNoop(tls *libc.TLS, p uintptr, addr int32) int32 { /* sqlite3.c:80999:20: */ var pOp uintptr if (*Sqlite3)(unsafe.Pointer((*Vdbe)(unsafe.Pointer(p)).Fdb)).FmallocFailed != 0 { return 0 @@ -58205,7 +58224,7 @@ func Xsqlite3VdbeChangeToNoop(tls *libc.TLS, p uintptr, addr int32) int32 { /* s // If the last opcode is "op" and it is not a jump destination, // then remove it. Return true if and only if an opcode was removed. -func Xsqlite3VdbeDeletePriorOpcode(tls *libc.TLS, p uintptr, op U8) int32 { /* sqlite3.c:81002:20: */ +func Xsqlite3VdbeDeletePriorOpcode(tls *libc.TLS, p uintptr, op U8) int32 { /* sqlite3.c:81015:20: */ if (*Vdbe)(unsafe.Pointer(p)).FnOp > 0 && int32((*Op)(unsafe.Pointer((*Vdbe)(unsafe.Pointer(p)).FaOp+uintptr((*Vdbe)(unsafe.Pointer(p)).FnOp-1)*20)).Fopcode) == int32(op) { return Xsqlite3VdbeChangeToNoop(tls, p, (*Vdbe)(unsafe.Pointer(p)).FnOp-1) } else { @@ -58229,7 +58248,7 @@ func Xsqlite3VdbeDeletePriorOpcode(tls *libc.TLS, p uintptr, op U8) int32 { /* s // the Vdbe. In these cases we can just copy the pointer. // // If addr<0 then change P4 on the most recently inserted instruction. -func vdbeChangeP4Full(tls *libc.TLS, p uintptr, pOp uintptr, zP4 uintptr, n int32) { /* sqlite3.c:81062:29: */ +func vdbeChangeP4Full(tls *libc.TLS, p uintptr, pOp uintptr, zP4 uintptr, n int32) { /* sqlite3.c:81075:29: */ if (*Op)(unsafe.Pointer(pOp)).Fp4type != 0 { freeP4(tls, (*Vdbe)(unsafe.Pointer(p)).Fdb, int32((*Op)(unsafe.Pointer(pOp)).Fp4type), *(*uintptr)(unsafe.Pointer(pOp + 16))) (*Op)(unsafe.Pointer(pOp)).Fp4type = int8(0) @@ -58246,7 +58265,7 @@ func vdbeChangeP4Full(tls *libc.TLS, p uintptr, pOp uintptr, zP4 uintptr, n int3 } } -func Xsqlite3VdbeChangeP4(tls *libc.TLS, p uintptr, addr int32, zP4 uintptr, n int32) { /* sqlite3.c:81081:21: */ +func Xsqlite3VdbeChangeP4(tls *libc.TLS, p uintptr, addr int32, zP4 uintptr, n int32) { /* sqlite3.c:81094:21: */ bp := tls.Alloc(4) defer tls.Free(4) *(*uintptr)(unsafe.Pointer(bp)) = zP4 @@ -58293,7 +58312,7 @@ func Xsqlite3VdbeChangeP4(tls *libc.TLS, p uintptr, addr int32, zP4 uintptr, n i // The P4 operand must not have been previously defined. And the new // P4 must not be P4_INT32. Use sqlite3VdbeChangeP4() in either of // those cases. -func Xsqlite3VdbeAppendP4(tls *libc.TLS, p uintptr, pP4 uintptr, n int32) { /* sqlite3.c:81124:21: */ +func Xsqlite3VdbeAppendP4(tls *libc.TLS, p uintptr, pP4 uintptr, n int32) { /* sqlite3.c:81137:21: */ var pOp uintptr if (*Sqlite3)(unsafe.Pointer((*Vdbe)(unsafe.Pointer(p)).Fdb)).FmallocFailed != 0 { @@ -58309,7 +58328,7 @@ func Xsqlite3VdbeAppendP4(tls *libc.TLS, p uintptr, pP4 uintptr, n int32) { /* s // Set the P4 on the most recently added opcode to the KeyInfo for the // index given. -func Xsqlite3VdbeSetP4KeyInfo(tls *libc.TLS, pParse uintptr, pIdx uintptr) { /* sqlite3.c:81144:21: */ +func Xsqlite3VdbeSetP4KeyInfo(tls *libc.TLS, pParse uintptr, pIdx uintptr) { /* sqlite3.c:81157:21: */ var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe var pKeyInfo uintptr @@ -58330,7 +58349,7 @@ func Xsqlite3VdbeSetP4KeyInfo(tls *libc.TLS, pParse uintptr, pIdx uintptr) { /* // this routine is a valid pointer. But because the dummy.opcode is 0, // dummy will never be written to. This is verified by code inspection and // by running with Valgrind. -func Xsqlite3VdbeGetOp(tls *libc.TLS, p uintptr, addr int32) uintptr { /* sqlite3.c:81210:23: */ // Ignore the MSVC warning about no initializer +func Xsqlite3VdbeGetOp(tls *libc.TLS, p uintptr, addr int32) uintptr { /* sqlite3.c:81223:23: */ // Ignore the MSVC warning about no initializer if addr < 0 { addr = (*Vdbe)(unsafe.Pointer(p)).FnOp - 1 @@ -58344,11 +58363,11 @@ func Xsqlite3VdbeGetOp(tls *libc.TLS, p uintptr, addr int32) uintptr { /* sqlite return uintptr(0) } -var dummy VdbeOp /* sqlite3.c:81213:17: */ +var dummy VdbeOp /* sqlite3.c:81226:17: */ // Compute a string that describes the P4 parameter for an opcode. // Use zTemp for any required temporary buffer space. -func Xsqlite3VdbeDisplayP4(tls *libc.TLS, db uintptr, pOp uintptr) uintptr { /* sqlite3.c:81414:21: */ +func Xsqlite3VdbeDisplayP4(tls *libc.TLS, db uintptr, pOp uintptr) uintptr { /* sqlite3.c:81427:21: */ bp := tls.Alloc(168) defer tls.Free(168) @@ -58511,7 +58530,7 @@ func Xsqlite3VdbeDisplayP4(tls *libc.TLS, db uintptr, pOp uintptr) uintptr { /* return Xsqlite3StrAccumFinish(tls, bp+144) } -var encnames = [4]uintptr{ts + 4959, ts + 4961, ts + 4963, ts + 4968} /* sqlite3.c:81444:25 */ +var encnames = [4]uintptr{ts + 4959, ts + 4961, ts + 4963, ts + 4968} /* sqlite3.c:81457:25 */ // Declare to the Vdbe that the BTree object at db->aDb[i] is used. // @@ -58519,7 +58538,7 @@ var encnames = [4]uintptr{ts + 4959, ts + 4961, ts + 4963, ts + 4968} /* sqlite3 // attached databases that will be use. A mask of these databases // is maintained in p->btreeMask. The p->lockMask value is the subset of // p->btreeMask of databases that will require a lock. -func Xsqlite3VdbeUsesBtree(tls *libc.TLS, p uintptr, i int32) { /* sqlite3.c:81539:21: */ +func Xsqlite3VdbeUsesBtree(tls *libc.TLS, p uintptr, i int32) { /* sqlite3.c:81552:21: */ *(*YDbMask)(unsafe.Pointer(p + 152)) |= YDbMask(YDbMask(1)) << i if i != 1 && Xsqlite3BtreeSharable(tls, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer((*Vdbe)(unsafe.Pointer(p)).Fdb)).FaDb+uintptr(i)*16)).FpBt) != 0 { @@ -58546,7 +58565,7 @@ func Xsqlite3VdbeUsesBtree(tls *libc.TLS, p uintptr, i int32) { /* sqlite3.c:815 // corresponding to btrees that use shared cache. Then the runtime of // this routine is N*N. But as N is rarely more than 1, this should not // be a problem. -func Xsqlite3VdbeEnter(tls *libc.TLS, p uintptr) { /* sqlite3.c:81570:21: */ +func Xsqlite3VdbeEnter(tls *libc.TLS, p uintptr) { /* sqlite3.c:81583:21: */ var i int32 var db uintptr var aDb uintptr @@ -58565,7 +58584,7 @@ func Xsqlite3VdbeEnter(tls *libc.TLS, p uintptr) { /* sqlite3.c:81570:21: */ } // Unlock all of the btrees previously locked by a call to sqlite3VdbeEnter(). -func vdbeLeave(tls *libc.TLS, p uintptr) { /* sqlite3.c:81591:29: */ +func vdbeLeave(tls *libc.TLS, p uintptr) { /* sqlite3.c:81604:29: */ var i int32 var db uintptr var aDb uintptr @@ -58580,7 +58599,7 @@ func vdbeLeave(tls *libc.TLS, p uintptr) { /* sqlite3.c:81591:29: */ } } -func Xsqlite3VdbeLeave(tls *libc.TLS, p uintptr) { /* sqlite3.c:81605:21: */ +func Xsqlite3VdbeLeave(tls *libc.TLS, p uintptr) { /* sqlite3.c:81618:21: */ if (*Vdbe)(unsafe.Pointer(p)).FlockMask == YDbMask(0) { return } // The common case @@ -58588,7 +58607,7 @@ func Xsqlite3VdbeLeave(tls *libc.TLS, p uintptr) { /* sqlite3.c:81605:21: */ } // Initialize an array of N Mem element. -func initMemArray(tls *libc.TLS, p uintptr, N int32, db uintptr, flags U16) { /* sqlite3.c:81647:13: */ +func initMemArray(tls *libc.TLS, p uintptr, N int32, db uintptr, flags U16) { /* sqlite3.c:81660:13: */ for libc.PostDecInt32(&N, 1) > 0 { (*Mem)(unsafe.Pointer(p)).Fdb = db (*Mem)(unsafe.Pointer(p)).Fflags = flags @@ -58598,7 +58617,7 @@ func initMemArray(tls *libc.TLS, p uintptr, N int32, db uintptr, flags U16) { /* } // Release an array of N Mem elements -func releaseMemArray(tls *libc.TLS, p uintptr, N int32) { /* sqlite3.c:81662:13: */ +func releaseMemArray(tls *libc.TLS, p uintptr, N int32) { /* sqlite3.c:81675:13: */ if p != 0 && N != 0 { var pEnd uintptr = p + uintptr(N)*40 var db uintptr = (*Mem)(unsafe.Pointer(p)).Fdb @@ -58642,7 +58661,7 @@ func releaseMemArray(tls *libc.TLS, p uintptr, N int32) { /* sqlite3.c:81662:13: // // This routine does not delete the Frame right away. It merely adds the // frame to a list of frames to be deleted when the Vdbe halts. -func Xsqlite3VdbeFrameMemDel(tls *libc.TLS, pArg uintptr) { /* sqlite3.c:81724:21: */ +func Xsqlite3VdbeFrameMemDel(tls *libc.TLS, pArg uintptr) { /* sqlite3.c:81737:21: */ var pFrame uintptr = pArg (*VdbeFrame)(unsafe.Pointer(pFrame)).FpParent = (*Vdbe)(unsafe.Pointer((*VdbeFrame)(unsafe.Pointer(pFrame)).Fv)).FpDelFrame @@ -58654,7 +58673,7 @@ func Xsqlite3VdbeFrameMemDel(tls *libc.TLS, pArg uintptr) { /* sqlite3.c:81724:2 // // Return SQLITE_ROW on success. Return SQLITE_DONE if there are no // more opcodes to be displayed. -func Xsqlite3VdbeNextOpcode(tls *libc.TLS, p uintptr, pSub uintptr, eMode int32, piPc uintptr, piAddr uintptr, paOp uintptr) int32 { /* sqlite3.c:81739:20: */ +func Xsqlite3VdbeNextOpcode(tls *libc.TLS, p uintptr, pSub uintptr, eMode int32, piPc uintptr, piAddr uintptr, paOp uintptr) int32 { /* sqlite3.c:81752:20: */ var nRow int32 // Stop when row count reaches this var nSub int32 = 0 // Number of sub-vdbes seen so far var apSub uintptr = uintptr(0) // Array of sub-vdbes @@ -58753,7 +58772,7 @@ func Xsqlite3VdbeNextOpcode(tls *libc.TLS, p uintptr, pSub uintptr, eMode int32, // Delete a VdbeFrame object and its contents. VdbeFrame objects are // allocated by the OP_Program opcode in sqlite3VdbeExec(). -func Xsqlite3VdbeFrameDelete(tls *libc.TLS, p uintptr) { /* sqlite3.c:81851:21: */ +func Xsqlite3VdbeFrameDelete(tls *libc.TLS, p uintptr) { /* sqlite3.c:81864:21: */ var i int32 var aMem uintptr = p + 88 var apCsr uintptr = aMem + uintptr((*VdbeFrame)(unsafe.Pointer(p)).FnChildMem)*40 @@ -58782,7 +58801,7 @@ func Xsqlite3VdbeFrameDelete(tls *libc.TLS, p uintptr) { /* sqlite3.c:81851:21: // // When p->explain==1, first the main program is listed, then each of // the trigger subprograms are listed one by one. -func Xsqlite3VdbeList(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:81883:20: */ +func Xsqlite3VdbeList(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:81896:20: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -58871,7 +58890,7 @@ type ReusableSpace = struct { FpSpace uintptr FnFree Sqlite3_int64 FnNeeded Sqlite3_int64 -} /* sqlite3.c:82028:1 */ +} /* sqlite3.c:82041:1 */ // Try to allocate nByte bytes of 8-byte aligned bulk memory for pBuf // from the ReusableSpace object. Return a pointer to the allocated @@ -58886,7 +58905,7 @@ type ReusableSpace = struct { // This allocator is employed to repurpose unused slots at the end of the // opcode array of prepared state for other memory needs of the prepared // statement. -func allocSpace(tls *libc.TLS, p uintptr, pBuf uintptr, nByte Sqlite3_int64) uintptr { /* sqlite3.c:82048:13: */ +func allocSpace(tls *libc.TLS, p uintptr, pBuf uintptr, nByte Sqlite3_int64) uintptr { /* sqlite3.c:82061:13: */ if pBuf == uintptr(0) { nByte = (nByte + int64(7)) & int64(libc.CplInt32(7)) @@ -58903,7 +58922,7 @@ func allocSpace(tls *libc.TLS, p uintptr, pBuf uintptr, nByte Sqlite3_int64) uin // Rewind the VDBE back to the beginning in preparation for // running it. -func Xsqlite3VdbeRewind(tls *libc.TLS, p uintptr) { /* sqlite3.c:82071:21: */ +func Xsqlite3VdbeRewind(tls *libc.TLS, p uintptr) { /* sqlite3.c:82084:21: */ // There should be at least one opcode. @@ -58936,7 +58955,7 @@ func Xsqlite3VdbeRewind(tls *libc.TLS, p uintptr) { /* sqlite3.c:82071:21: */ // // Use the sqlite3VdbeRewind() procedure to restore a virtual machine back // to its initial state after it has been run. -func Xsqlite3VdbeMakeReady(tls *libc.TLS, p uintptr, pParse uintptr) { /* sqlite3.c:82124:21: */ +func Xsqlite3VdbeMakeReady(tls *libc.TLS, p uintptr, pParse uintptr) { /* sqlite3.c:82137:21: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -59045,11 +59064,11 @@ func Xsqlite3VdbeMakeReady(tls *libc.TLS, p uintptr, pParse uintptr) { /* sqlite var azColName = [12]uintptr{ ts + 4973, ts + 4978, ts + 4985, ts + 4988, ts + 4991, ts + 4994, ts + 4997, ts + 5000, ts + 5008, ts + 5011, ts + 5018, ts + 5026, -} /* sqlite3.c:82172:23 */ +} /* sqlite3.c:82185:23 */ // Close a VDBE cursor and release all the resources that cursor // happens to hold. -func Xsqlite3VdbeFreeCursor(tls *libc.TLS, p uintptr, pCx uintptr) { /* sqlite3.c:82249:21: */ +func Xsqlite3VdbeFreeCursor(tls *libc.TLS, p uintptr, pCx uintptr) { /* sqlite3.c:82262:21: */ if pCx == uintptr(0) { return } @@ -59083,7 +59102,7 @@ func Xsqlite3VdbeFreeCursor(tls *libc.TLS, p uintptr, pCx uintptr) { /* sqlite3. } // Close all cursors in the current frame. -func closeCursorsInFrame(tls *libc.TLS, p uintptr) { /* sqlite3.c:82279:13: */ +func closeCursorsInFrame(tls *libc.TLS, p uintptr) { /* sqlite3.c:82292:13: */ if (*Vdbe)(unsafe.Pointer(p)).FapCsr != 0 { var i int32 for i = 0; i < (*Vdbe)(unsafe.Pointer(p)).FnCursor; i++ { @@ -59099,7 +59118,7 @@ func closeCursorsInFrame(tls *libc.TLS, p uintptr) { /* sqlite3.c:82279:13: */ // Copy the values stored in the VdbeFrame structure to its Vdbe. This // is used, for example, when a trigger sub-program is halted to restore // control to the main program. -func Xsqlite3VdbeFrameRestore(tls *libc.TLS, pFrame uintptr) int32 { /* sqlite3.c:82297:20: */ +func Xsqlite3VdbeFrameRestore(tls *libc.TLS, pFrame uintptr) int32 { /* sqlite3.c:82310:20: */ var v uintptr = (*VdbeFrame)(unsafe.Pointer(pFrame)).Fv closeCursorsInFrame(tls, v) (*Vdbe)(unsafe.Pointer(v)).FaOp = (*VdbeFrame)(unsafe.Pointer(pFrame)).FaOp @@ -59123,7 +59142,7 @@ func Xsqlite3VdbeFrameRestore(tls *libc.TLS, pFrame uintptr) int32 { /* sqlite3. // cell array. This is necessary as the memory cell array may contain // pointers to VdbeFrame objects, which may in turn contain pointers to // open cursors. -func closeAllCursors(tls *libc.TLS, p uintptr) { /* sqlite3.c:82326:13: */ +func closeAllCursors(tls *libc.TLS, p uintptr) { /* sqlite3.c:82339:13: */ if (*Vdbe)(unsafe.Pointer(p)).FpFrame != 0 { var pFrame uintptr for pFrame = (*Vdbe)(unsafe.Pointer(p)).FpFrame; (*VdbeFrame)(unsafe.Pointer(pFrame)).FpParent != 0; pFrame = (*VdbeFrame)(unsafe.Pointer(pFrame)).FpParent { @@ -59154,7 +59173,7 @@ func closeAllCursors(tls *libc.TLS, p uintptr) { /* sqlite3.c:82326:13: */ // statement. This is now set at compile time, rather than during // execution of the vdbe program so that sqlite3_column_count() can // be called on an SQL statement before sqlite3_step(). -func Xsqlite3VdbeSetNumCols(tls *libc.TLS, p uintptr, nResColumn int32) { /* sqlite3.c:82356:21: */ +func Xsqlite3VdbeSetNumCols(tls *libc.TLS, p uintptr, nResColumn int32) { /* sqlite3.c:82369:21: */ var n int32 var db uintptr = (*Vdbe)(unsafe.Pointer(p)).Fdb @@ -59179,7 +59198,7 @@ func Xsqlite3VdbeSetNumCols(tls *libc.TLS, p uintptr, nResColumn int32) { /* sql // The final parameter, xDel, must be one of SQLITE_DYNAMIC, SQLITE_STATIC // 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 Xsqlite3VdbeSetColName(tls *libc.TLS, p uintptr, idx int32, var1 int32, zName uintptr, xDel uintptr) int32 { /* sqlite3.c:82381:20: */ +func Xsqlite3VdbeSetColName(tls *libc.TLS, p uintptr, idx int32, var1 int32, zName uintptr, xDel uintptr) int32 { /* sqlite3.c:82394:20: */ var rc int32 var pColName uintptr @@ -59198,7 +59217,7 @@ func Xsqlite3VdbeSetColName(tls *libc.TLS, p uintptr, idx int32, var1 int32, zNa // db. If a transaction is active, commit it. If there is a // write-transaction spanning more than one database file, this routine // takes care of the super-journal trickery. -func vdbeCommit(tls *libc.TLS, db uintptr, p uintptr) int32 { /* sqlite3.c:82409:12: */ +func vdbeCommit(tls *libc.TLS, db uintptr, p uintptr) int32 { /* sqlite3.c:82422:12: */ bp := tls.Alloc(68) defer tls.Free(68) @@ -59426,7 +59445,7 @@ var aMJNeeded = [6]U8{ /* TRUNCATE */ U8(1), /* MEMORY */ U8(0), /* WAL */ U8(0), -} /* sqlite3.c:82444:23 */ +} /* sqlite3.c:82457:23 */ // This routine checks that the sqlite3.nVdbeActive count variable // matches the number of vdbe's in the list sqlite3.pVdbe that are @@ -59444,7 +59463,7 @@ var aMJNeeded = [6]U8{ // // If an IO error occurs, an SQLITE_IOERR_XXX error code is returned. // Otherwise SQLITE_OK. -func vdbeCloseStatement(tls *libc.TLS, p uintptr, eOp int32) int32 { /* sqlite3.c:82705:28: */ +func vdbeCloseStatement(tls *libc.TLS, p uintptr, eOp int32) int32 { /* sqlite3.c:82718:28: */ var db uintptr = (*Vdbe)(unsafe.Pointer(p)).Fdb var rc int32 = SQLITE_OK var i int32 @@ -59487,7 +59506,7 @@ func vdbeCloseStatement(tls *libc.TLS, p uintptr, eOp int32) int32 { /* sqlite3. return rc } -func Xsqlite3VdbeCloseStatement(tls *libc.TLS, p uintptr, eOp int32) int32 { /* sqlite3.c:82751:20: */ +func Xsqlite3VdbeCloseStatement(tls *libc.TLS, p uintptr, eOp int32) int32 { /* sqlite3.c:82764:20: */ if (*Sqlite3)(unsafe.Pointer((*Vdbe)(unsafe.Pointer(p)).Fdb)).FnStatement != 0 && (*Vdbe)(unsafe.Pointer(p)).FiStatement != 0 { return vdbeCloseStatement(tls, p, eOp) } @@ -59502,7 +59521,7 @@ func Xsqlite3VdbeCloseStatement(tls *libc.TLS, p uintptr, eOp int32) int32 { /* // If there are outstanding FK violations and this function returns // SQLITE_ERROR, set the result of the VM to SQLITE_CONSTRAINT_FOREIGNKEY // and write an error message to it. Then return SQLITE_ERROR. -func Xsqlite3VdbeCheckFk(tls *libc.TLS, p uintptr, deferred int32) int32 { /* sqlite3.c:82770:20: */ +func Xsqlite3VdbeCheckFk(tls *libc.TLS, p uintptr, deferred int32) int32 { /* sqlite3.c:82783:20: */ var db uintptr = (*Vdbe)(unsafe.Pointer(p)).Fdb if deferred != 0 && (*Sqlite3)(unsafe.Pointer(db)).FnDeferredCons+(*Sqlite3)(unsafe.Pointer(db)).FnDeferredImmCons > int64(0) || !(deferred != 0) && (*Vdbe)(unsafe.Pointer(p)).FnFkConstraint > int64(0) { @@ -59525,7 +59544,7 @@ func Xsqlite3VdbeCheckFk(tls *libc.TLS, p uintptr, deferred int32) int32 { /* sq // Return an error code. If the commit could not complete because of // lock contention, return SQLITE_BUSY. If SQLITE_BUSY is returned, it // means the close did not happen and needs to be repeated. -func Xsqlite3VdbeHalt(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:82797:20: */ +func Xsqlite3VdbeHalt(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:82810:20: */ var rc int32 // Used to store transient return codes var db uintptr = (*Vdbe)(unsafe.Pointer(p)).Fdb @@ -59729,7 +59748,7 @@ func Xsqlite3VdbeHalt(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:82797:20: * // Each VDBE holds the result of the most recent sqlite3_step() call // in p->rc. This routine sets that result back to SQLITE_OK. -func Xsqlite3VdbeResetStepResult(tls *libc.TLS, p uintptr) { /* sqlite3.c:83007:21: */ +func Xsqlite3VdbeResetStepResult(tls *libc.TLS, p uintptr) { /* sqlite3.c:83020:21: */ (*Vdbe)(unsafe.Pointer(p)).Frc = SQLITE_OK } @@ -59739,7 +59758,7 @@ func Xsqlite3VdbeResetStepResult(tls *libc.TLS, p uintptr) { /* sqlite3.c:83007: // // This function does not clear the VDBE error code or message, just // copies them to the database handle. -func Xsqlite3VdbeTransferError(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:83019:20: */ +func Xsqlite3VdbeTransferError(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:83032:20: */ var db uintptr = (*Vdbe)(unsafe.Pointer(p)).Fdb var rc int32 = (*Vdbe)(unsafe.Pointer(p)).Frc if (*Vdbe)(unsafe.Pointer(p)).FzErrMsg != 0 { @@ -59768,7 +59787,7 @@ func Xsqlite3VdbeTransferError(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:83 // To look at it another way, this routine resets the state of the // virtual machine from VDBE_MAGIC_RUN or VDBE_MAGIC_HALT back to // VDBE_MAGIC_INIT. -func Xsqlite3VdbeReset(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:83069:20: */ +func Xsqlite3VdbeReset(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:83082:20: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -59820,7 +59839,7 @@ func Xsqlite3VdbeReset(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:83069:20: // Clean up and delete a VDBE after execution. Return an integer which is // the result code. Write any error message text into *pzErrMsg. -func Xsqlite3VdbeFinalize(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:83166:20: */ +func Xsqlite3VdbeFinalize(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:83179:20: */ var rc int32 = SQLITE_OK if (*Vdbe)(unsafe.Pointer(p)).FiVdbeMagic == U32(VDBE_MAGIC_RUN) || (*Vdbe)(unsafe.Pointer(p)).FiVdbeMagic == U32(VDBE_MAGIC_HALT) { rc = Xsqlite3VdbeReset(tls, p) @@ -59844,7 +59863,7 @@ func Xsqlite3VdbeFinalize(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:83166:2 // // * the corresponding bit in argument mask is clear (where the first // function parameter corresponds to bit 0 etc.). -func Xsqlite3VdbeDeleteAuxData(tls *libc.TLS, db uintptr, pp uintptr, iOp int32, mask int32) { /* sqlite3.c:83192:21: */ +func Xsqlite3VdbeDeleteAuxData(tls *libc.TLS, db uintptr, pp uintptr, iOp int32, mask int32) { /* sqlite3.c:83205:21: */ for *(*uintptr)(unsafe.Pointer(pp)) != 0 { var pAux uintptr = *(*uintptr)(unsafe.Pointer(pp)) if iOp < 0 || @@ -59869,7 +59888,7 @@ func Xsqlite3VdbeDeleteAuxData(tls *libc.TLS, db uintptr, pp uintptr, iOp int32, // The difference between this function and sqlite3VdbeDelete() is that // VdbeDelete() also unlinks the Vdbe from the list of VMs associated with // the database connection and frees the object itself. -func Xsqlite3VdbeClearObject(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:83220:21: */ +func Xsqlite3VdbeClearObject(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:83233:21: */ var pSub uintptr var pNext uintptr @@ -59890,7 +59909,7 @@ func Xsqlite3VdbeClearObject(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3. } // Delete an entire VDBE. -func Xsqlite3VdbeDelete(tls *libc.TLS, p uintptr) { /* sqlite3.c:83261:21: */ +func Xsqlite3VdbeDelete(tls *libc.TLS, p uintptr) { /* sqlite3.c:83274:21: */ var db uintptr db = (*Vdbe)(unsafe.Pointer(p)).Fdb @@ -59913,7 +59932,7 @@ func Xsqlite3VdbeDelete(tls *libc.TLS, p uintptr) { /* sqlite3.c:83261:21: */ // The cursor "p" has a pending seek operation that has not yet been // carried out. Seek the cursor now. If an error occurs, return // the appropriate error code. -func Xsqlite3VdbeFinishMoveto(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:83287:36: */ +func Xsqlite3VdbeFinishMoveto(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:83300:36: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -59926,7 +59945,7 @@ func Xsqlite3VdbeFinishMoveto(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:832 return rc } if *(*int32)(unsafe.Pointer(bp)) != 0 { - return Xsqlite3CorruptError(tls, 83297) + return Xsqlite3CorruptError(tls, 83310) } (*VdbeCursor)(unsafe.Pointer(p)).FdeferredMoveto = U8(0) (*VdbeCursor)(unsafe.Pointer(p)).FcacheStatus = U32(CACHE_STALE) @@ -59938,7 +59957,7 @@ func Xsqlite3VdbeFinishMoveto(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:832 // rebalanced. Whatever the cause, try to restore "p" to the place it // is supposed to be pointing. If the row was deleted out from under the // cursor, set the cursor to point to a NULL row. -func handleMovedCursor(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:83313:28: */ +func handleMovedCursor(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:83326:28: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -59956,7 +59975,7 @@ func handleMovedCursor(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:83313:28: // Check to ensure that the cursor is valid. Restore the cursor // if need be. Return any I/O error from the restore operation. -func Xsqlite3VdbeCursorRestore(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:83328:20: */ +func Xsqlite3VdbeCursorRestore(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:83341:20: */ if Xsqlite3BtreeCursorHasMoved(tls, *(*uintptr)(unsafe.Pointer(p + 36))) != 0 { return handleMovedCursor(tls, p) @@ -59975,7 +59994,7 @@ func Xsqlite3VdbeCursorRestore(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:83 // // If the cursor is already pointing to the correct row and that row has // not been deleted out from under the cursor, then this routine is a no-op. -func Xsqlite3VdbeCursorMoveto(tls *libc.TLS, pp uintptr, piCol uintptr) int32 { /* sqlite3.c:83349:20: */ +func Xsqlite3VdbeCursorMoveto(tls *libc.TLS, pp uintptr, piCol uintptr) int32 { /* sqlite3.c:83362:20: */ var p uintptr = *(*uintptr)(unsafe.Pointer(pp)) if (*VdbeCursor)(unsafe.Pointer(p)).FdeferredMoveto != 0 { @@ -60050,10 +60069,10 @@ var sqlite3SmallTypeSizes = [128]U8{ /* 100 */ U8(44), U8(44), U8(45), U8(45), U8(46), U8(46), U8(47), U8(47), U8(48), U8(48), /* 110 */ U8(49), U8(49), U8(50), U8(50), U8(51), U8(51), U8(52), U8(52), U8(53), U8(53), /* 120 */ U8(54), U8(54), U8(55), U8(55), U8(56), U8(56), U8(57), U8(57), -} /* sqlite3.c:83486:17 */ +} /* sqlite3.c:83499:17 */ // Return the length of the data corresponding to the supplied serial-type. -func Xsqlite3VdbeSerialTypeLen(tls *libc.TLS, serial_type U32) U32 { /* sqlite3.c:83506:20: */ +func Xsqlite3VdbeSerialTypeLen(tls *libc.TLS, serial_type U32) U32 { /* sqlite3.c:83519:20: */ if serial_type >= U32(128) { return (serial_type - U32(12)) / U32(2) } else { @@ -60063,7 +60082,7 @@ func Xsqlite3VdbeSerialTypeLen(tls *libc.TLS, serial_type U32) U32 { /* sqlite3. return U32(0) } -func Xsqlite3VdbeOneByteSerialTypeLen(tls *libc.TLS, serial_type U8) U8 { /* sqlite3.c:83515:19: */ +func Xsqlite3VdbeOneByteSerialTypeLen(tls *libc.TLS, serial_type U8) U8 { /* sqlite3.c:83528:19: */ return sqlite3SmallTypeSizes[serial_type] } @@ -60112,7 +60131,7 @@ func Xsqlite3VdbeOneByteSerialTypeLen(tls *libc.TLS, serial_type U8) U8 { /* sql // Return the number of bytes actually written into buf[]. The number // of bytes in the zero-filled tail is included in the return value only // if those bytes were zeroed in buf[]. -func Xsqlite3VdbeSerialPut(tls *libc.TLS, buf uintptr, pMem uintptr, serial_type U32) U32 { /* sqlite3.c:83586:20: */ +func Xsqlite3VdbeSerialPut(tls *libc.TLS, buf uintptr, pMem uintptr, serial_type U32) U32 { /* sqlite3.c:83599:20: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -60163,7 +60182,7 @@ func Xsqlite3VdbeSerialPut(tls *libc.TLS, buf uintptr, pMem uintptr, serial_type // The few cases that require local variables are broken out into a separate // routine so that in most cases the overhead of moving the stack pointer // is avoided. -func serialGet(tls *libc.TLS, buf uintptr, serial_type U32, pMem uintptr) { /* sqlite3.c:83640:13: */ +func serialGet(tls *libc.TLS, buf uintptr, serial_type U32, pMem uintptr) { /* sqlite3.c:83653:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -60190,7 +60209,7 @@ func serialGet(tls *libc.TLS, buf uintptr, serial_type U32, pMem uintptr) { /* s } } -func Xsqlite3VdbeSerialGet(tls *libc.TLS, buf uintptr, serial_type U32, pMem uintptr) { /* sqlite3.c:83675:21: */ +func Xsqlite3VdbeSerialGet(tls *libc.TLS, buf uintptr, serial_type U32, pMem uintptr) { /* sqlite3.c:83688:21: */ switch serial_type { case U32(10): { // Internal use only: NULL with virtual table @@ -60293,7 +60312,7 @@ func Xsqlite3VdbeSerialGet(tls *libc.TLS, buf uintptr, serial_type U32, pMem uin return } -var aFlag = [2]U16{U16(MEM_Blob | MEM_Ephem), U16(MEM_Str | MEM_Ephem)} /* sqlite3.c:83758:24 */ +var aFlag = [2]U16{U16(MEM_Blob | MEM_Ephem), U16(MEM_Str | MEM_Ephem)} /* sqlite3.c:83771:24 */ // This routine is used to allocate sufficient space for an UnpackedRecord // structure large enough to be used with sqlite3VdbeRecordUnpack() if @@ -60307,7 +60326,7 @@ var aFlag = [2]U16{U16(MEM_Blob | MEM_Ephem), U16(MEM_Str | MEM_Ephem)} /* sqlit // before returning. // // If an OOM error occurs, NULL is returned. -func Xsqlite3VdbeAllocUnpackedRecord(tls *libc.TLS, pKeyInfo uintptr) uintptr { /* sqlite3.c:83781:31: */ +func Xsqlite3VdbeAllocUnpackedRecord(tls *libc.TLS, pKeyInfo uintptr) uintptr { /* sqlite3.c:83794:31: */ var p uintptr // Unpacked record to return var nByte int32 // Number of bytes required for *p nByte = int32((uint32(unsafe.Sizeof(UnpackedRecord{}))+uint32(7))&libc.Uint32FromInt32(libc.CplInt32(7)) + uint32(unsafe.Sizeof(Mem{}))*uint32(int32((*KeyInfo)(unsafe.Pointer(pKeyInfo)).FnKeyField)+1)) @@ -60325,7 +60344,7 @@ func Xsqlite3VdbeAllocUnpackedRecord(tls *libc.TLS, pKeyInfo uintptr) uintptr { // Given the nKey-byte encoding of a record in pKey[], populate the // UnpackedRecord structure indicated by the fourth argument with the // contents of the decoded record. -func Xsqlite3VdbeRecordUnpack(tls *libc.TLS, pKeyInfo uintptr, nKey int32, pKey uintptr, p uintptr) { /* sqlite3.c:83801:21: */ +func Xsqlite3VdbeRecordUnpack(tls *libc.TLS, pKeyInfo uintptr, nKey int32, pKey uintptr, p uintptr) { /* sqlite3.c:83814:21: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -60386,7 +60405,7 @@ func Xsqlite3VdbeRecordUnpack(tls *libc.TLS, pKeyInfo uintptr, nKey int32, pKey // using the collation sequence pColl. As usual, return a negative , zero // or positive value if *pMem1 is less than, equal to or greater than // *pMem2, respectively. Similar in spirit to "rc = (*pMem1) - (*pMem2);". -func vdbeCompareMemString(tls *libc.TLS, pMem1 uintptr, pMem2 uintptr, pColl uintptr, prcErr uintptr) int32 { /* sqlite3.c:83998:12: */ +func vdbeCompareMemString(tls *libc.TLS, pMem1 uintptr, pMem2 uintptr, pColl uintptr, prcErr uintptr) int32 { /* sqlite3.c:84011:12: */ bp := tls.Alloc(80) defer tls.Free(80) @@ -60429,7 +60448,7 @@ func vdbeCompareMemString(tls *libc.TLS, pMem1 uintptr, pMem2 uintptr, pColl uin // The input pBlob is guaranteed to be a Blob that is not marked // with MEM_Zero. Return true if it could be a zero-blob. -func isAllZero(tls *libc.TLS, z uintptr, n int32) int32 { /* sqlite3.c:84035:12: */ +func isAllZero(tls *libc.TLS, z uintptr, n int32) int32 { /* sqlite3.c:84048:12: */ var i int32 for i = 0; i < n; i++ { if *(*int8)(unsafe.Pointer(z + uintptr(i))) != 0 { @@ -60442,7 +60461,7 @@ func isAllZero(tls *libc.TLS, z uintptr, n int32) int32 { /* sqlite3.c:84035:12: // Compare two blobs. Return negative, zero, or positive if the first // is less than, equal to, or greater than the second, respectively. // If one blob is a prefix of the other, then the shorter is the lessor. -func Xsqlite3BlobCompare(tls *libc.TLS, pB1 uintptr, pB2 uintptr) int32 { /* sqlite3.c:84048:36: */ +func Xsqlite3BlobCompare(tls *libc.TLS, pB1 uintptr, pB2 uintptr) int32 { /* sqlite3.c:84061:36: */ var c int32 var n1 int32 = (*Mem)(unsafe.Pointer(pB1)).Fn var n2 int32 = (*Mem)(unsafe.Pointer(pB2)).Fn @@ -60482,7 +60501,7 @@ func Xsqlite3BlobCompare(tls *libc.TLS, pB1 uintptr, pB2 uintptr) int32 { /* sql // Do a comparison between a 64-bit signed integer and a 64-bit floating-point // number. Return negative, zero, or positive if the first (i64) is less than, // equal to, or greater than the second (double). -func Xsqlite3IntFloatCompare(tls *libc.TLS, i I64, r float64) int32 { /* sqlite3.c:84081:20: */ +func Xsqlite3IntFloatCompare(tls *libc.TLS, i I64, r float64) int32 { /* sqlite3.c:84094:20: */ if uint32(unsafe.Sizeof(float64(0))) > uint32(8) { var x float64 = float64(i) @@ -60528,7 +60547,7 @@ func Xsqlite3IntFloatCompare(tls *libc.TLS, i I64, r float64) int32 { /* sqlite3 // sequence pColl and finally blob's ordered by memcmp(). // // Two NULL values are considered equal by this function. -func Xsqlite3MemCompare(tls *libc.TLS, pMem1 uintptr, pMem2 uintptr, pColl uintptr) int32 { /* sqlite3.c:84114:20: */ +func Xsqlite3MemCompare(tls *libc.TLS, pMem1 uintptr, pMem2 uintptr, pColl uintptr) int32 { /* sqlite3.c:84127:20: */ var f1 int32 var f2 int32 var combined_flags int32 @@ -60622,7 +60641,7 @@ func Xsqlite3MemCompare(tls *libc.TLS, pMem1 uintptr, pMem2 uintptr, pColl uintp // except 7. The second points to a buffer containing an integer value // serialized according to serial_type. This function deserializes // and returns the value. -func vdbeRecordDecodeInt(tls *libc.TLS, serial_type U32, aKey uintptr) I64 { /* sqlite3.c:84213:12: */ +func vdbeRecordDecodeInt(tls *libc.TLS, serial_type U32, aKey uintptr) I64 { /* sqlite3.c:84226:12: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -60685,7 +60704,7 @@ func vdbeRecordDecodeInt(tls *libc.TLS, serial_type U32, aKey uintptr) I64 { /* // SQLITE_CORRUPT and return 0. If an OOM error is encountered, // pPKey2->errCode is set to SQLITE_NOMEM and, if it is not NULL, the // malloc-failed flag set on database handle (pPKey2->pKeyInfo->db). -func Xsqlite3VdbeRecordCompareWithSkip(tls *libc.TLS, nKey1 int32, pKey1 uintptr, pPKey2 uintptr, bSkip int32) int32 { /* sqlite3.c:84268:20: */ +func Xsqlite3VdbeRecordCompareWithSkip(tls *libc.TLS, nKey1 int32, pKey1 uintptr, pPKey2 uintptr, bSkip int32) int32 { /* sqlite3.c:84281:20: */ bp := tls.Alloc(52) defer tls.Free(52) @@ -60727,7 +60746,7 @@ func Xsqlite3VdbeRecordCompareWithSkip(tls *libc.TLS, nKey1 int32, pKey1 uintptr i = 0 } if d1 > uint32(nKey1) { - (*UnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = U8(Xsqlite3CorruptError(tls, 84299)) + (*UnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = U8(Xsqlite3CorruptError(tls, 84312)) return 0 // Corruption } @@ -60792,7 +60811,7 @@ func Xsqlite3VdbeRecordCompareWithSkip(tls *libc.TLS, nKey1 int32, pKey1 uintptr if d1+U32((*Mem)(unsafe.Pointer(bp+8)).Fn) > uint32(nKey1) || int32((*KeyInfo)(unsafe.Pointer(libc.AssignUintptr(&pKeyInfo, (*UnpackedRecord)(unsafe.Pointer(pPKey2)).FpKeyInfo))).FnAllField) <= i { - (*UnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = U8(Xsqlite3CorruptError(tls, 84376)) + (*UnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = U8(Xsqlite3CorruptError(tls, 84389)) return 0 // Corruption } else if *(*uintptr)(unsafe.Pointer(pKeyInfo + 20 + uintptr(i)*4)) != 0 { (*Mem)(unsafe.Pointer(bp + 8 /* &mem1 */)).Fenc = (*KeyInfo)(unsafe.Pointer(pKeyInfo)).Fenc @@ -60827,7 +60846,7 @@ func Xsqlite3VdbeRecordCompareWithSkip(tls *libc.TLS, nKey1 int32, pKey1 uintptr var nStr int32 = int32((*(*U32)(unsafe.Pointer(bp + 48)) - U32(12)) / U32(2)) if d1+U32(nStr) > uint32(nKey1) { - (*UnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = U8(Xsqlite3CorruptError(tls, 84406)) + (*UnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = U8(Xsqlite3CorruptError(tls, 84419)) return 0 // Corruption } else if int32((*Mem)(unsafe.Pointer(pRhs)).Fflags)&MEM_Zero != 0 { if !(isAllZero(tls, aKey1+uintptr(d1), nStr) != 0) { @@ -60888,7 +60907,7 @@ func Xsqlite3VdbeRecordCompareWithSkip(tls *libc.TLS, nKey1 int32, pKey1 uintptr return int32((*UnpackedRecord)(unsafe.Pointer(pPKey2)).Fdefault_rc) } -func Xsqlite3VdbeRecordCompare(tls *libc.TLS, nKey1 int32, pKey1 uintptr, pPKey2 uintptr) int32 { /* sqlite3.c:84465:20: */ +func Xsqlite3VdbeRecordCompare(tls *libc.TLS, nKey1 int32, pKey1 uintptr, pPKey2 uintptr) int32 { /* sqlite3.c:84478:20: */ return Xsqlite3VdbeRecordCompareWithSkip(tls, nKey1, pKey1, pPKey2, 0) } @@ -60899,7 +60918,7 @@ func Xsqlite3VdbeRecordCompare(tls *libc.TLS, nKey1 int32, pKey1 uintptr, pPKey2 // // To avoid concerns about buffer overreads, this routine is only used // on schemas where the maximum valid header size is 63 bytes or less. -func vdbeRecordCompareInt(tls *libc.TLS, nKey1 int32, pKey1 uintptr, pPKey2 uintptr) int32 { /* sqlite3.c:84482:12: */ +func vdbeRecordCompareInt(tls *libc.TLS, nKey1 int32, pKey1 uintptr, pPKey2 uintptr) int32 { /* sqlite3.c:84495:12: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -61004,7 +61023,7 @@ func vdbeRecordCompareInt(tls *libc.TLS, nKey1 int32, pKey1 uintptr, pPKey2 uint // that (a) the first field of pPKey2 is a string, that (b) the first field // uses the collation sequence BINARY and (c) that the size-of-header varint // at the start of (pKey1/nKey1) fits in a single byte. -func vdbeRecordCompareString(tls *libc.TLS, nKey1 int32, pKey1 uintptr, pPKey2 uintptr) int32 { /* sqlite3.c:84576:12: */ +func vdbeRecordCompareString(tls *libc.TLS, nKey1 int32, pKey1 uintptr, pPKey2 uintptr) int32 { /* sqlite3.c:84589:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -61028,7 +61047,7 @@ func vdbeRecordCompareString(tls *libc.TLS, nKey1 int32, pKey1 uintptr, pPKey2 u nStr = (*(*int32)(unsafe.Pointer(bp)) - 12) / 2 if szHdr+nStr > nKey1 { - (*UnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = U8(Xsqlite3CorruptError(tls, 84601)) + (*UnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = U8(Xsqlite3CorruptError(tls, 84614)) return 0 // Corruption } nCmp = func() int32 { @@ -61066,7 +61085,7 @@ func vdbeRecordCompareString(tls *libc.TLS, nKey1 int32, pKey1 uintptr, pPKey2 u // Return a pointer to an sqlite3VdbeRecordCompare() compatible function // suitable for comparing serialized records to the unpacked record passed // as the only argument. -func Xsqlite3VdbeFindCompare(tls *libc.TLS, p uintptr) RecordCompare { /* sqlite3.c:84640:30: */ +func Xsqlite3VdbeFindCompare(tls *libc.TLS, p uintptr) RecordCompare { /* sqlite3.c:84653:30: */ // varintRecordCompareInt() and varintRecordCompareString() both assume // that the size-of-header varint that occurs at the start of each record // fits in a single byte (i.e. is 127 or less). varintRecordCompareInt() @@ -61120,7 +61139,7 @@ func Xsqlite3VdbeFindCompare(tls *libc.TLS, p uintptr) RecordCompare { /* sqlite // // pCur might be pointing to text obtained from a corrupt database file. // So the content cannot be trusted. Do appropriate checks on the content. -func Xsqlite3VdbeIdxRowid(tls *libc.TLS, db uintptr, pCur uintptr, rowid uintptr) int32 { /* sqlite3.c:84691:20: */ +func Xsqlite3VdbeIdxRowid(tls *libc.TLS, db uintptr, pCur uintptr, rowid uintptr) int32 { /* sqlite3.c:84704:20: */ bp := tls.Alloc(88) defer tls.Free(88) @@ -61205,7 +61224,7 @@ __6: idx_rowid_corruption: ; Xsqlite3VdbeMemRelease(tls, bp) - return Xsqlite3CorruptError(tls, 84756) + return Xsqlite3CorruptError(tls, 84769) } // Compare the key of the index entry that cursor pC is pointing to against @@ -61217,7 +61236,7 @@ idx_rowid_corruption: // omits the rowid at the end. The rowid at the end of the index entry // is ignored as well. Hence, this routine only compares the prefixes // of the keys prior to the final rowid, not the entire key. -func Xsqlite3VdbeIdxKeyCompare(tls *libc.TLS, db uintptr, pC uintptr, pUnpacked uintptr, res uintptr) int32 { /* sqlite3.c:84770:20: */ +func Xsqlite3VdbeIdxKeyCompare(tls *libc.TLS, db uintptr, pC uintptr, pUnpacked uintptr, res uintptr) int32 { /* sqlite3.c:84783:20: */ bp := tls.Alloc(40) defer tls.Free(40) @@ -61233,7 +61252,7 @@ func Xsqlite3VdbeIdxKeyCompare(tls *libc.TLS, db uintptr, pC uintptr, pUnpacked // that btreeParseCellPtr() and sqlite3GetVarint32() are implemented if nCellKey <= int64(0) || nCellKey > int64(0x7fffffff) { *(*int32)(unsafe.Pointer(res)) = 0 - return Xsqlite3CorruptError(tls, 84789) + return Xsqlite3CorruptError(tls, 84802) } Xsqlite3VdbeMemInit(tls, bp, db, uint16(0)) rc = Xsqlite3VdbeMemFromBtreeZeroOffset(tls, pCur, U32(nCellKey), bp) @@ -61247,7 +61266,7 @@ func Xsqlite3VdbeIdxKeyCompare(tls *libc.TLS, db uintptr, pC uintptr, pUnpacked // This routine sets the value to be returned by subsequent calls to // sqlite3_changes() on the database handle 'db'. -func Xsqlite3VdbeSetChanges(tls *libc.TLS, db uintptr, nChange I64) { /* sqlite3.c:84805:21: */ +func Xsqlite3VdbeSetChanges(tls *libc.TLS, db uintptr, nChange I64) { /* sqlite3.c:84818:21: */ (*Sqlite3)(unsafe.Pointer(db)).FnChange = nChange *(*I64)(unsafe.Pointer(db + 108)) += nChange @@ -61255,7 +61274,7 @@ func Xsqlite3VdbeSetChanges(tls *libc.TLS, db uintptr, nChange I64) { /* sqlite3 // Set a flag in the vdbe to update the change counter when it is finalised // or reset. -func Xsqlite3VdbeCountChanges(tls *libc.TLS, v uintptr) { /* sqlite3.c:84815:21: */ +func Xsqlite3VdbeCountChanges(tls *libc.TLS, v uintptr) { /* sqlite3.c:84828:21: */ libc.SetBitFieldPtr16Uint32(v+148, Bft(1), 4, 0x10) } @@ -61275,7 +61294,7 @@ func Xsqlite3VdbeCountChanges(tls *libc.TLS, v uintptr) { /* sqlite3.c:84815:21: // Internally, this function just sets the Vdbe.expired flag on all // prepared statements. The flag is set to 1 for an immediate expiration // and set to 2 for an advisory expiration. -func Xsqlite3ExpirePreparedStatements(tls *libc.TLS, db uintptr, iCode int32) { /* sqlite3.c:84837:21: */ +func Xsqlite3ExpirePreparedStatements(tls *libc.TLS, db uintptr, iCode int32) { /* sqlite3.c:84850:21: */ var p uintptr for p = (*Sqlite3)(unsafe.Pointer(db)).FpVdbe; p != 0; p = (*Vdbe)(unsafe.Pointer(p)).FpNext { libc.SetBitFieldPtr16Uint32(p+148, Bft(iCode+1), 0, 0x3) @@ -61283,12 +61302,12 @@ func Xsqlite3ExpirePreparedStatements(tls *libc.TLS, db uintptr, iCode int32) { } // Return the database associated with the Vdbe. -func Xsqlite3VdbeDb(tls *libc.TLS, v uintptr) uintptr { /* sqlite3.c:84847:24: */ +func Xsqlite3VdbeDb(tls *libc.TLS, v uintptr) uintptr { /* sqlite3.c:84860:24: */ return (*Vdbe)(unsafe.Pointer(v)).Fdb } // Return the SQLITE_PREPARE flags for a Vdbe. -func Xsqlite3VdbePrepareFlags(tls *libc.TLS, v uintptr) U8 { /* sqlite3.c:84854:19: */ +func Xsqlite3VdbePrepareFlags(tls *libc.TLS, v uintptr) U8 { /* sqlite3.c:84867:19: */ return (*Vdbe)(unsafe.Pointer(v)).FprepFlags } @@ -61298,7 +61317,7 @@ func Xsqlite3VdbePrepareFlags(tls *libc.TLS, v uintptr) U8 { /* sqlite3.c:84854: // constants) to the value before returning it. // // The returned value must be freed by the caller using sqlite3ValueFree(). -func Xsqlite3VdbeGetBoundValue(tls *libc.TLS, v uintptr, iVar int32, aff U8) uintptr { /* sqlite3.c:84866:30: */ +func Xsqlite3VdbeGetBoundValue(tls *libc.TLS, v uintptr, iVar int32, aff U8) uintptr { /* sqlite3.c:84879:30: */ if v != 0 { var pMem uintptr = (*Vdbe)(unsafe.Pointer(v)).FaVar + uintptr(iVar-1)*40 @@ -61318,7 +61337,7 @@ func Xsqlite3VdbeGetBoundValue(tls *libc.TLS, v uintptr, iVar int32, aff U8) uin // Configure SQL variable iVar so that binding a new value to it signals // to sqlite3_reoptimize() that re-preparing the statement may result // in a better query plan. -func Xsqlite3VdbeSetVarmask(tls *libc.TLS, v uintptr, iVar int32) { /* sqlite3.c:84888:21: */ +func Xsqlite3VdbeSetVarmask(tls *libc.TLS, v uintptr, iVar int32) { /* sqlite3.c:84901:21: */ if iVar >= 32 { *(*U32)(unsafe.Pointer(v + 216)) |= 0x80000000 @@ -61334,7 +61353,7 @@ func Xsqlite3VdbeSetVarmask(tls *libc.TLS, v uintptr, iVar int32) { /* sqlite3.c // throw an error if it is given inputs that would make it non-deterministic. // This routine is invoked by date/time functions that use non-deterministic // features such as 'now'. -func Xsqlite3NotPureFunc(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:84907:20: */ +func Xsqlite3NotPureFunc(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:84920:20: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -61365,7 +61384,7 @@ func Xsqlite3NotPureFunc(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:84907 // Transfer error message text from an sqlite3_vtab.zErrMsg (text stored // in memory obtained from sqlite3_malloc) into a Vdbe.zErrMsg (text stored // in memory obtained from sqlite3DbMalloc). -func Xsqlite3VtabImportErrmsg(tls *libc.TLS, p uintptr, pVtab uintptr) { /* sqlite3.c:84938:21: */ +func Xsqlite3VtabImportErrmsg(tls *libc.TLS, p uintptr, pVtab uintptr) { /* sqlite3.c:84951:21: */ if (*Sqlite3_vtab)(unsafe.Pointer(pVtab)).FzErrMsg != 0 { var db uintptr = (*Vdbe)(unsafe.Pointer(p)).Fdb Xsqlite3DbFree(tls, db, (*Vdbe)(unsafe.Pointer(p)).FzErrMsg) @@ -61381,7 +61400,7 @@ func Xsqlite3VtabImportErrmsg(tls *libc.TLS, p uintptr, pVtab uintptr) { /* sqli // // This function is used to free UnpackedRecord structures allocated by // the vdbeUnpackRecord() function found in vdbeapi.c. -func vdbeFreeUnpacked(tls *libc.TLS, db uintptr, nField int32, p uintptr) { /* sqlite3.c:84959:13: */ +func vdbeFreeUnpacked(tls *libc.TLS, db uintptr, nField int32, p uintptr) { /* sqlite3.c:84972:13: */ if p != 0 { var i int32 for i = 0; i < nField; i++ { @@ -61398,7 +61417,7 @@ func vdbeFreeUnpacked(tls *libc.TLS, db uintptr, nField int32, p uintptr) { /* s // then cursor passed as the second argument should point to the row about // to be update or deleted. If the application calls sqlite3_preupdate_old(), // the required value will be read from the row the cursor points to. -func Xsqlite3VdbePreUpdateHook(tls *libc.TLS, v uintptr, pCsr uintptr, op int32, zDb uintptr, pTab uintptr, iKey1 I64, iReg int32, iBlobWrite int32) { /* sqlite3.c:84978:21: */ +func Xsqlite3VdbePreUpdateHook(tls *libc.TLS, v uintptr, pCsr uintptr, op int32, zDb uintptr, pTab uintptr, iKey1 I64, iReg int32, iBlobWrite int32) { /* sqlite3.c:84991:21: */ bp := tls.Alloc(84) defer tls.Free(84) @@ -61450,7 +61469,7 @@ func Xsqlite3VdbePreUpdateHook(tls *libc.TLS, v uintptr, pCsr uintptr, op int32, } } -var fakeSortOrder U8 = U8(0) /* sqlite3.c:84992:19 */ +var fakeSortOrder U8 = U8(0) /* sqlite3.c:85005:19 */ //************* End of vdbeaux.c ******************************************** //************* Begin file vdbeapi.c **************************************** @@ -61476,7 +61495,7 @@ var fakeSortOrder U8 = U8(0) /* sqlite3.c:84992:19 */ // that sqlite3_prepare() generates. For example, if new functions or // collating sequences are registered or if an authorizer function is // added or changed. -func Xsqlite3_expired(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:85071:16: */ +func Xsqlite3_expired(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:85084:16: */ var p uintptr = pStmt return libc.Bool32(p == uintptr(0) || Bft(int32(*(*uint16)(unsafe.Pointer(p + 148))&0x3>>0)) != 0) } @@ -61484,7 +61503,7 @@ func Xsqlite3_expired(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:85071:1 // Check on a Vdbe to make sure it has not been finalized. Log // an error and return true if it has been finalized (or is otherwise // invalid). Return false if it is ok. -func vdbeSafety(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:85082:12: */ +func vdbeSafety(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:85095:12: */ if (*Vdbe)(unsafe.Pointer(p)).Fdb == uintptr(0) { Xsqlite3_log(tls, SQLITE_MISUSE, ts+5200, 0) return 1 @@ -61494,7 +61513,7 @@ func vdbeSafety(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:85082:12: */ return int32(0) } -func vdbeSafetyNotNull(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:85090:12: */ +func vdbeSafetyNotNull(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:85103:12: */ if p == uintptr(0) { Xsqlite3_log(tls, SQLITE_MISUSE, ts+5245, 0) return 1 @@ -61506,7 +61525,7 @@ func vdbeSafetyNotNull(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:85090:12: // Invoke the profile callback. This routine is only called if we already // know that the profile callback is defined and needs to be invoked. -func invokeProfileCallback(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:85104:29: */ +func invokeProfileCallback(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:85117:29: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -61539,7 +61558,7 @@ func invokeProfileCallback(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c: // // This routine sets the error code and string returned by // sqlite3_errcode(), sqlite3_errmsg() and sqlite3_errmsg16(). -func Xsqlite3_finalize(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:85142:16: */ +func Xsqlite3_finalize(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:85155:16: */ var rc int32 if pStmt == uintptr(0) { // IMPLEMENTATION-OF: R-57228-12904 Invoking sqlite3_finalize() on a NULL @@ -61549,7 +61568,7 @@ func Xsqlite3_finalize(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:85142: var v uintptr = pStmt var db uintptr = (*Vdbe)(unsafe.Pointer(v)).Fdb if vdbeSafety(tls, v) != 0 { - return Xsqlite3MisuseError(tls, 85151) + return Xsqlite3MisuseError(tls, 85164) } Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) if (*Vdbe)(unsafe.Pointer(v)).FstartTime > int64(0) { @@ -61569,7 +61588,7 @@ func Xsqlite3_finalize(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:85142: // // This routine sets the error code and string returned by // sqlite3_errcode(), sqlite3_errmsg() and sqlite3_errmsg16(). -func Xsqlite3_reset(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:85169:16: */ +func Xsqlite3_reset(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:85182:16: */ var rc int32 if pStmt == uintptr(0) { rc = SQLITE_OK @@ -61591,7 +61610,7 @@ func Xsqlite3_reset(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:85169:16: } // Set all the parameters in the compiled SQL statement to NULL. -func Xsqlite3_clear_bindings(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:85190:16: */ +func Xsqlite3_clear_bindings(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:85203:16: */ var i int32 var rc int32 = SQLITE_OK var p uintptr = pStmt @@ -61613,7 +61632,7 @@ func Xsqlite3_clear_bindings(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c: // // The following routines extract information from a Mem or sqlite3_value // structure. -func Xsqlite3_value_blob(tls *libc.TLS, pVal uintptr) uintptr { /* sqlite3.c:85215:23: */ +func Xsqlite3_value_blob(tls *libc.TLS, pVal uintptr) uintptr { /* sqlite3.c:85228:23: */ var p uintptr = pVal if int32((*Mem)(unsafe.Pointer(p)).Fflags)&(MEM_Blob|MEM_Str) != 0 { if func() int32 { @@ -61636,27 +61655,27 @@ func Xsqlite3_value_blob(tls *libc.TLS, pVal uintptr) uintptr { /* sqlite3.c:852 return uintptr(0) } -func Xsqlite3_value_bytes(tls *libc.TLS, pVal uintptr) int32 { /* sqlite3.c:85228:16: */ +func Xsqlite3_value_bytes(tls *libc.TLS, pVal uintptr) int32 { /* sqlite3.c:85241:16: */ return Xsqlite3ValueBytes(tls, pVal, uint8(SQLITE_UTF8)) } -func Xsqlite3_value_bytes16(tls *libc.TLS, pVal uintptr) int32 { /* sqlite3.c:85231:16: */ +func Xsqlite3_value_bytes16(tls *libc.TLS, pVal uintptr) int32 { /* sqlite3.c:85244:16: */ return Xsqlite3ValueBytes(tls, pVal, uint8(SQLITE_UTF16LE)) } -func Xsqlite3_value_double(tls *libc.TLS, pVal uintptr) float64 { /* sqlite3.c:85234:19: */ +func Xsqlite3_value_double(tls *libc.TLS, pVal uintptr) float64 { /* sqlite3.c:85247:19: */ return Xsqlite3VdbeRealValue(tls, pVal) } -func Xsqlite3_value_int(tls *libc.TLS, pVal uintptr) int32 { /* sqlite3.c:85237:16: */ +func Xsqlite3_value_int(tls *libc.TLS, pVal uintptr) int32 { /* sqlite3.c:85250:16: */ return int32(Xsqlite3VdbeIntValue(tls, pVal)) } -func Xsqlite3_value_int64(tls *libc.TLS, pVal uintptr) Sqlite_int64 { /* sqlite3.c:85240:25: */ +func Xsqlite3_value_int64(tls *libc.TLS, pVal uintptr) Sqlite_int64 { /* sqlite3.c:85253:25: */ return Xsqlite3VdbeIntValue(tls, pVal) } -func Xsqlite3_value_subtype(tls *libc.TLS, pVal uintptr) uint32 { /* sqlite3.c:85243:25: */ +func Xsqlite3_value_subtype(tls *libc.TLS, pVal uintptr) uint32 { /* sqlite3.c:85256:25: */ var pMem uintptr = pVal return func() uint32 { if int32((*Mem)(unsafe.Pointer(pMem)).Fflags)&MEM_Subtype != 0 { @@ -61666,7 +61685,7 @@ func Xsqlite3_value_subtype(tls *libc.TLS, pVal uintptr) uint32 { /* sqlite3.c:8 }() } -func Xsqlite3_value_pointer(tls *libc.TLS, pVal uintptr, zPType uintptr) uintptr { /* sqlite3.c:85247:17: */ +func Xsqlite3_value_pointer(tls *libc.TLS, pVal uintptr, zPType uintptr) uintptr { /* sqlite3.c:85260:17: */ var p uintptr = pVal if int32((*Mem)(unsafe.Pointer(p)).Fflags)&(MEM_TypeMask|MEM_Term|MEM_Subtype) == MEM_Null|MEM_Term|MEM_Subtype && zPType != uintptr(0) && @@ -61679,26 +61698,26 @@ func Xsqlite3_value_pointer(tls *libc.TLS, pVal uintptr, zPType uintptr) uintptr return uintptr(0) } -func Xsqlite3_value_text(tls *libc.TLS, pVal uintptr) uintptr { /* sqlite3.c:85260:32: */ +func Xsqlite3_value_text(tls *libc.TLS, pVal uintptr) uintptr { /* sqlite3.c:85273:32: */ return Xsqlite3ValueText(tls, pVal, uint8(SQLITE_UTF8)) } -func Xsqlite3_value_text16(tls *libc.TLS, pVal uintptr) uintptr { /* sqlite3.c:85264:23: */ +func Xsqlite3_value_text16(tls *libc.TLS, pVal uintptr) uintptr { /* sqlite3.c:85277:23: */ return Xsqlite3ValueText(tls, pVal, uint8(SQLITE_UTF16LE)) } -func Xsqlite3_value_text16be(tls *libc.TLS, pVal uintptr) uintptr { /* sqlite3.c:85267:23: */ +func Xsqlite3_value_text16be(tls *libc.TLS, pVal uintptr) uintptr { /* sqlite3.c:85280:23: */ return Xsqlite3ValueText(tls, pVal, uint8(SQLITE_UTF16BE)) } -func Xsqlite3_value_text16le(tls *libc.TLS, pVal uintptr) uintptr { /* sqlite3.c:85270:23: */ +func Xsqlite3_value_text16le(tls *libc.TLS, pVal uintptr) uintptr { /* sqlite3.c:85283:23: */ return Xsqlite3ValueText(tls, pVal, uint8(SQLITE_UTF16LE)) } // EVIDENCE-OF: R-12793-43283 Every value in SQLite has one of five // fundamental datatypes: 64-bit signed integer 64-bit IEEE floating // point number string BLOB NULL -func Xsqlite3_value_type(tls *libc.TLS, pVal uintptr) int32 { /* sqlite3.c:85278:16: */ +func Xsqlite3_value_type(tls *libc.TLS, pVal uintptr) int32 { /* sqlite3.c:85291:16: */ return int32(aType[int32((*Sqlite3_value)(unsafe.Pointer(pVal)).Fflags)&MEM_AffMask]) } @@ -61767,20 +61786,20 @@ var aType = [64]U8{ U8(SQLITE_NULL), // 0x3d (not possible) U8(SQLITE_FLOAT), // 0x3e (not possible) U8(SQLITE_NULL), // 0x3f (not possible) -} /* sqlite3.c:85279:19 */ +} /* sqlite3.c:85292:19 */ // Return true if a parameter to xUpdate represents an unchanged column -func Xsqlite3_value_nochange(tls *libc.TLS, pVal uintptr) int32 { /* sqlite3.c:85364:16: */ +func Xsqlite3_value_nochange(tls *libc.TLS, pVal uintptr) int32 { /* sqlite3.c:85377:16: */ return libc.Bool32(int32((*Sqlite3_value)(unsafe.Pointer(pVal)).Fflags)&(MEM_Null|MEM_Zero) == MEM_Null|MEM_Zero) } // Return true if a parameter value originated from an sqlite3_bind() -func Xsqlite3_value_frombind(tls *libc.TLS, pVal uintptr) int32 { /* sqlite3.c:85369:16: */ +func Xsqlite3_value_frombind(tls *libc.TLS, pVal uintptr) int32 { /* sqlite3.c:85382:16: */ return libc.Bool32(int32((*Sqlite3_value)(unsafe.Pointer(pVal)).Fflags)&MEM_FromBind != 0) } // Make a copy of an sqlite3_value object -func Xsqlite3_value_dup(tls *libc.TLS, pOrig uintptr) uintptr { /* sqlite3.c:85375:26: */ +func Xsqlite3_value_dup(tls *libc.TLS, pOrig uintptr) uintptr { /* sqlite3.c:85388:26: */ var pNew uintptr if pOrig == uintptr(0) { return uintptr(0) @@ -61806,7 +61825,7 @@ func Xsqlite3_value_dup(tls *libc.TLS, pOrig uintptr) uintptr { /* sqlite3.c:853 // Destroy an sqlite3_value object previously obtained from // sqlite3_value_dup(). -func Xsqlite3_value_free(tls *libc.TLS, pOld uintptr) { /* sqlite3.c:85398:17: */ +func Xsqlite3_value_free(tls *libc.TLS, pOld uintptr) { /* sqlite3.c:85411:17: */ Xsqlite3ValueFree(tls, pOld) } @@ -61821,7 +61840,7 @@ func Xsqlite3_value_free(tls *libc.TLS, pOld uintptr) { /* sqlite3.c:85398:17: * // // The invokeValueDestructor(P,X) routine invokes destructor function X() // on value P is not going to be used and need to be destroyed. -func setResultStrOrError(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, enc U8, xDel uintptr) { /* sqlite3.c:85414:13: */ +func setResultStrOrError(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, enc U8, xDel uintptr) { /* sqlite3.c:85427:13: */ var rc int32 = Xsqlite3VdbeMemSetStr(tls, (*Sqlite3_context)(unsafe.Pointer(pCtx)).FpOut, z, int64(n), enc, xDel) if rc != 0 { if rc == SQLITE_TOOBIG { @@ -61835,7 +61854,7 @@ func setResultStrOrError(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, enc U8 } } -func invokeValueDestructor(tls *libc.TLS, p uintptr, xDel uintptr, pCtx uintptr) int32 { /* sqlite3.c:85433:12: */ +func invokeValueDestructor(tls *libc.TLS, p uintptr, xDel uintptr, pCtx uintptr) int32 { /* sqlite3.c:85446:12: */ if xDel == uintptr(0) { // noop @@ -61848,12 +61867,12 @@ func invokeValueDestructor(tls *libc.TLS, p uintptr, xDel uintptr, pCtx uintptr) return SQLITE_TOOBIG } -func Xsqlite3_result_blob(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, xDel uintptr) { /* sqlite3.c:85449:17: */ +func Xsqlite3_result_blob(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, xDel uintptr) { /* sqlite3.c:85462:17: */ setResultStrOrError(tls, pCtx, z, n, uint8(0), xDel) } -func Xsqlite3_result_blob64(tls *libc.TLS, pCtx uintptr, z uintptr, n Sqlite3_uint64, xDel uintptr) { /* sqlite3.c:85459:17: */ +func Xsqlite3_result_blob64(tls *libc.TLS, pCtx uintptr, z uintptr, n Sqlite3_uint64, xDel uintptr) { /* sqlite3.c:85472:17: */ if n > uint64(0x7fffffff) { invokeValueDestructor(tls, z, xDel, pCtx) @@ -61862,39 +61881,39 @@ func Xsqlite3_result_blob64(tls *libc.TLS, pCtx uintptr, z uintptr, n Sqlite3_ui } } -func Xsqlite3_result_double(tls *libc.TLS, pCtx uintptr, rVal float64) { /* sqlite3.c:85473:17: */ +func Xsqlite3_result_double(tls *libc.TLS, pCtx uintptr, rVal float64) { /* sqlite3.c:85486:17: */ Xsqlite3VdbeMemSetDouble(tls, (*Sqlite3_context)(unsafe.Pointer(pCtx)).FpOut, rVal) } -func Xsqlite3_result_error(tls *libc.TLS, pCtx uintptr, z uintptr, n int32) { /* sqlite3.c:85477:17: */ +func Xsqlite3_result_error(tls *libc.TLS, pCtx uintptr, z uintptr, n int32) { /* sqlite3.c:85490:17: */ (*Sqlite3_context)(unsafe.Pointer(pCtx)).FisError = SQLITE_ERROR Xsqlite3VdbeMemSetStr(tls, (*Sqlite3_context)(unsafe.Pointer(pCtx)).FpOut, z, int64(n), uint8(SQLITE_UTF8), libc.UintptrFromInt32(-1)) } -func Xsqlite3_result_error16(tls *libc.TLS, pCtx uintptr, z uintptr, n int32) { /* sqlite3.c:85483:17: */ +func Xsqlite3_result_error16(tls *libc.TLS, pCtx uintptr, z uintptr, n int32) { /* sqlite3.c:85496:17: */ (*Sqlite3_context)(unsafe.Pointer(pCtx)).FisError = SQLITE_ERROR Xsqlite3VdbeMemSetStr(tls, (*Sqlite3_context)(unsafe.Pointer(pCtx)).FpOut, z, int64(n), uint8(SQLITE_UTF16LE), libc.UintptrFromInt32(-1)) } -func Xsqlite3_result_int(tls *libc.TLS, pCtx uintptr, iVal int32) { /* sqlite3.c:85489:17: */ +func Xsqlite3_result_int(tls *libc.TLS, pCtx uintptr, iVal int32) { /* sqlite3.c:85502:17: */ Xsqlite3VdbeMemSetInt64(tls, (*Sqlite3_context)(unsafe.Pointer(pCtx)).FpOut, I64(iVal)) } -func Xsqlite3_result_int64(tls *libc.TLS, pCtx uintptr, iVal I64) { /* sqlite3.c:85493:17: */ +func Xsqlite3_result_int64(tls *libc.TLS, pCtx uintptr, iVal I64) { /* sqlite3.c:85506:17: */ Xsqlite3VdbeMemSetInt64(tls, (*Sqlite3_context)(unsafe.Pointer(pCtx)).FpOut, iVal) } -func Xsqlite3_result_null(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:85497:17: */ +func Xsqlite3_result_null(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:85510:17: */ Xsqlite3VdbeMemSetNull(tls, (*Sqlite3_context)(unsafe.Pointer(pCtx)).FpOut) } -func Xsqlite3_result_pointer(tls *libc.TLS, pCtx uintptr, pPtr uintptr, zPType uintptr, xDestructor uintptr) { /* sqlite3.c:85501:17: */ +func Xsqlite3_result_pointer(tls *libc.TLS, pCtx uintptr, pPtr uintptr, zPType uintptr, xDestructor uintptr) { /* sqlite3.c:85514:17: */ var pOut uintptr = (*Sqlite3_context)(unsafe.Pointer(pCtx)).FpOut Xsqlite3VdbeMemRelease(tls, pOut) @@ -61902,19 +61921,19 @@ func Xsqlite3_result_pointer(tls *libc.TLS, pCtx uintptr, pPtr uintptr, zPType u Xsqlite3VdbeMemSetPointer(tls, pOut, pPtr, zPType, xDestructor) } -func Xsqlite3_result_subtype(tls *libc.TLS, pCtx uintptr, eSubtype uint32) { /* sqlite3.c:85513:17: */ +func Xsqlite3_result_subtype(tls *libc.TLS, pCtx uintptr, eSubtype uint32) { /* sqlite3.c:85526:17: */ var pOut uintptr = (*Sqlite3_context)(unsafe.Pointer(pCtx)).FpOut (*Mem)(unsafe.Pointer(pOut)).FeSubtype = U8(eSubtype & uint32(0xff)) *(*U16)(unsafe.Pointer(pOut + 8)) |= U16(MEM_Subtype) } -func Xsqlite3_result_text(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, xDel uintptr) { /* sqlite3.c:85519:17: */ +func Xsqlite3_result_text(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, xDel uintptr) { /* sqlite3.c:85532:17: */ setResultStrOrError(tls, pCtx, z, n, uint8(SQLITE_UTF8), xDel) } -func Xsqlite3_result_text64(tls *libc.TLS, pCtx uintptr, z uintptr, n Sqlite3_uint64, xDel uintptr, enc uint8) { /* sqlite3.c:85528:17: */ +func Xsqlite3_result_text64(tls *libc.TLS, pCtx uintptr, z uintptr, n Sqlite3_uint64, xDel uintptr, enc uint8) { /* sqlite3.c:85541:17: */ if int32(enc) == SQLITE_UTF16 { enc = uint8(SQLITE_UTF16LE) @@ -61926,32 +61945,32 @@ func Xsqlite3_result_text64(tls *libc.TLS, pCtx uintptr, z uintptr, n Sqlite3_ui } } -func Xsqlite3_result_text16(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, xDel uintptr) { /* sqlite3.c:85545:17: */ +func Xsqlite3_result_text16(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, xDel uintptr) { /* sqlite3.c:85558:17: */ setResultStrOrError(tls, pCtx, z, n, uint8(SQLITE_UTF16LE), xDel) } -func Xsqlite3_result_text16be(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, xDel uintptr) { /* sqlite3.c:85554:17: */ +func Xsqlite3_result_text16be(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, xDel uintptr) { /* sqlite3.c:85567:17: */ setResultStrOrError(tls, pCtx, z, n, uint8(SQLITE_UTF16BE), xDel) } -func Xsqlite3_result_text16le(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, xDel uintptr) { /* sqlite3.c:85563:17: */ +func Xsqlite3_result_text16le(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, xDel uintptr) { /* sqlite3.c:85576:17: */ setResultStrOrError(tls, pCtx, z, n, uint8(SQLITE_UTF16LE), xDel) } -func Xsqlite3_result_value(tls *libc.TLS, pCtx uintptr, pValue uintptr) { /* sqlite3.c:85573:17: */ +func Xsqlite3_result_value(tls *libc.TLS, pCtx uintptr, pValue uintptr) { /* sqlite3.c:85586:17: */ Xsqlite3VdbeMemCopy(tls, (*Sqlite3_context)(unsafe.Pointer(pCtx)).FpOut, pValue) } -func Xsqlite3_result_zeroblob(tls *libc.TLS, pCtx uintptr, n int32) { /* sqlite3.c:85577:17: */ +func Xsqlite3_result_zeroblob(tls *libc.TLS, pCtx uintptr, n int32) { /* sqlite3.c:85590:17: */ Xsqlite3VdbeMemSetZeroBlob(tls, (*Sqlite3_context)(unsafe.Pointer(pCtx)).FpOut, n) } -func Xsqlite3_result_zeroblob64(tls *libc.TLS, pCtx uintptr, n U64) int32 { /* sqlite3.c:85581:16: */ +func Xsqlite3_result_zeroblob64(tls *libc.TLS, pCtx uintptr, n U64) int32 { /* sqlite3.c:85594:16: */ var pOut uintptr = (*Sqlite3_context)(unsafe.Pointer(pCtx)).FpOut if n > U64(*(*int32)(unsafe.Pointer((*Mem)(unsafe.Pointer(pOut)).Fdb + 116))) { @@ -61961,7 +61980,7 @@ func Xsqlite3_result_zeroblob64(tls *libc.TLS, pCtx uintptr, n U64) int32 { /* s return SQLITE_OK } -func Xsqlite3_result_error_code(tls *libc.TLS, pCtx uintptr, errCode int32) { /* sqlite3.c:85594:17: */ +func Xsqlite3_result_error_code(tls *libc.TLS, pCtx uintptr, errCode int32) { /* sqlite3.c:85607:17: */ (*Sqlite3_context)(unsafe.Pointer(pCtx)).FisError = func() int32 { if errCode != 0 { return errCode @@ -61975,7 +61994,7 @@ func Xsqlite3_result_error_code(tls *libc.TLS, pCtx uintptr, errCode int32) { /* } // Force an SQLITE_TOOBIG error. -func Xsqlite3_result_error_toobig(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:85606:17: */ +func Xsqlite3_result_error_toobig(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:85619:17: */ (*Sqlite3_context)(unsafe.Pointer(pCtx)).FisError = SQLITE_TOOBIG Xsqlite3VdbeMemSetStr(tls, (*Sqlite3_context)(unsafe.Pointer(pCtx)).FpOut, ts+5285, int64(-1), @@ -61983,7 +62002,7 @@ func Xsqlite3_result_error_toobig(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:85 } // An SQLITE_NOMEM error. -func Xsqlite3_result_error_nomem(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:85614:17: */ +func Xsqlite3_result_error_nomem(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:85627:17: */ Xsqlite3VdbeMemSetNull(tls, (*Sqlite3_context)(unsafe.Pointer(pCtx)).FpOut) (*Sqlite3_context)(unsafe.Pointer(pCtx)).FisError = SQLITE_NOMEM @@ -61993,7 +62012,7 @@ func Xsqlite3_result_error_nomem(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:856 // Force the INT64 value currently stored as the result to be // a MEM_IntReal value. See the SQLITE_TESTCTRL_RESULT_INTREAL // test-control. -func Xsqlite3ResultIntReal(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:85626:21: */ +func Xsqlite3ResultIntReal(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:85639:21: */ if int32((*Mem)(unsafe.Pointer((*Sqlite3_context)(unsafe.Pointer(pCtx)).FpOut)).Fflags)&MEM_Int != 0 { *(*U16)(unsafe.Pointer((*Sqlite3_context)(unsafe.Pointer(pCtx)).FpOut + 8)) &= libc.Uint16FromInt32(libc.CplInt32(MEM_Int)) @@ -62003,7 +62022,7 @@ func Xsqlite3ResultIntReal(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:85626:21: // This function is called after a transaction has been committed. It // invokes callbacks registered with sqlite3_wal_hook() as required. -func doWalCallbacks(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:85640:12: */ +func doWalCallbacks(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:85653:12: */ var rc int32 = SQLITE_OK var i int32 for i = 0; i < (*Sqlite3)(unsafe.Pointer(db)).FnDb; i++ { @@ -62030,7 +62049,7 @@ func doWalCallbacks(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:85640:12: */ // API. The only thing omitted is the automatic recompile if a // schema change has occurred. That detail is handled by the // outer sqlite3_step() wrapper procedure. -func sqlite3Step(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:85670:12: */ +func sqlite3Step(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:85683:12: */ var db uintptr var rc int32 @@ -62197,14 +62216,14 @@ end_of_step: // This is the top-level implementation of sqlite3_step(). Call // sqlite3Step() to do most of the work. If a schema error occurs, // call sqlite3Reprepare() and try again. -func Xsqlite3_step(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:85804:16: */ +func Xsqlite3_step(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:85817:16: */ var rc int32 = SQLITE_OK // Result from sqlite3Step() var v uintptr = pStmt // the prepared statement var cnt int32 = 0 // Counter to prevent infinite loop of reprepares var db uintptr // The database connection if vdbeSafetyNotNull(tls, v) != 0 { - return Xsqlite3MisuseError(tls, 85811) + return Xsqlite3MisuseError(tls, 85824) } db = (*Vdbe)(unsafe.Pointer(v)).Fdb Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) @@ -62244,7 +62263,7 @@ func Xsqlite3_step(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:85804:16: // Extract the user data from a sqlite3_context structure and return a // pointer to it. -func Xsqlite3_user_data(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:85853:17: */ +func Xsqlite3_user_data(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:85866:17: */ return (*FuncDef)(unsafe.Pointer((*Sqlite3_context)(unsafe.Pointer(p)).FpFunc)).FpUserData } @@ -62257,7 +62276,7 @@ func Xsqlite3_user_data(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:85853:1 // parameter) of the sqlite3_create_function() and // sqlite3_create_function16() routines that originally registered the // application defined function. -func Xsqlite3_context_db_handle(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:85868:20: */ +func Xsqlite3_context_db_handle(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:85881:20: */ return (*Mem)(unsafe.Pointer((*Sqlite3_context)(unsafe.Pointer(p)).FpOut)).Fdb } @@ -62274,14 +62293,14 @@ func Xsqlite3_context_db_handle(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c // Virtual table implements might use this routine to optimize their // performance by substituting a NULL result, or some other light-weight // value, as a signal to the xUpdate routine that the column is unchanged. -func Xsqlite3_vtab_nochange(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:85887:16: */ +func Xsqlite3_vtab_nochange(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:85900:16: */ return Xsqlite3_value_nochange(tls, (*Sqlite3_context)(unsafe.Pointer(p)).FpOut) } // Implementation of sqlite3_vtab_in_first() (if bNext==0) and // sqlite3_vtab_in_next() (if bNext!=0). -func valueFromValueList(tls *libc.TLS, pVal uintptr, ppOut uintptr, bNext int32) int32 { /* sqlite3.c:85896:12: */ +func valueFromValueList(tls *libc.TLS, pVal uintptr, ppOut uintptr, bNext int32) int32 { /* sqlite3.c:85909:12: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -62339,13 +62358,13 @@ func valueFromValueList(tls *libc.TLS, pVal uintptr, ppOut uintptr, bNext int32) // Set the iterator value pVal to point to the first value in the set. // Set (*ppOut) to point to this value before returning. -func Xsqlite3_vtab_in_first(tls *libc.TLS, pVal uintptr, ppOut uintptr) int32 { /* sqlite3.c:85944:16: */ +func Xsqlite3_vtab_in_first(tls *libc.TLS, pVal uintptr, ppOut uintptr) int32 { /* sqlite3.c:85957:16: */ return valueFromValueList(tls, pVal, ppOut, 0) } // Set the iterator value pVal to point to the next value in the set. // Set (*ppOut) to point to this value before returning. -func Xsqlite3_vtab_in_next(tls *libc.TLS, pVal uintptr, ppOut uintptr) int32 { /* sqlite3.c:85952:16: */ +func Xsqlite3_vtab_in_next(tls *libc.TLS, pVal uintptr, ppOut uintptr) int32 { /* sqlite3.c:85965:16: */ return valueFromValueList(tls, pVal, ppOut, 1) } @@ -62354,7 +62373,7 @@ func Xsqlite3_vtab_in_next(tls *libc.TLS, pVal uintptr, ppOut uintptr) int32 { / // statement, the exact same time is returned for each invocation regardless // of the amount of time that elapses between invocations. In other words, // the time returned is always the time of the first call. -func Xsqlite3StmtCurrentTime(tls *libc.TLS, p uintptr) Sqlite3_int64 { /* sqlite3.c:85963:30: */ +func Xsqlite3StmtCurrentTime(tls *libc.TLS, p uintptr) Sqlite3_int64 { /* sqlite3.c:85976:30: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -62377,7 +62396,7 @@ func Xsqlite3StmtCurrentTime(tls *libc.TLS, p uintptr) Sqlite3_int64 { /* sqlite // Create a new aggregate context for p and return a pointer to // its pMem->z element. -func createAggContext(tls *libc.TLS, p uintptr, nByte int32) uintptr { /* sqlite3.c:85983:29: */ +func createAggContext(tls *libc.TLS, p uintptr, nByte int32) uintptr { /* sqlite3.c:85996:29: */ var pMem uintptr = (*Sqlite3_context)(unsafe.Pointer(p)).FpMem if nByte <= 0 { @@ -62397,7 +62416,7 @@ func createAggContext(tls *libc.TLS, p uintptr, nByte int32) uintptr { /* sqlite // Allocate or return the aggregate context for a user function. A new // context is allocated on the first call. Subsequent calls return the // same context that was returned on prior calls. -func Xsqlite3_aggregate_context(tls *libc.TLS, p uintptr, nByte int32) uintptr { /* sqlite3.c:86005:17: */ +func Xsqlite3_aggregate_context(tls *libc.TLS, p uintptr, nByte int32) uintptr { /* sqlite3.c:86018:17: */ if int32((*Mem)(unsafe.Pointer((*Sqlite3_context)(unsafe.Pointer(p)).FpMem)).Fflags)&MEM_Agg == 0 { return createAggContext(tls, p, nByte) @@ -62415,7 +62434,7 @@ func Xsqlite3_aggregate_context(tls *libc.TLS, p uintptr, nByte int32) uintptr { // Undocumented behavior: If iArg is negative then access a cache of // auxiliary data pointers that is available to all functions within a // single prepared statement. The iArg values must match. -func Xsqlite3_get_auxdata(tls *libc.TLS, pCtx uintptr, iArg int32) uintptr { /* sqlite3.c:86026:17: */ +func Xsqlite3_get_auxdata(tls *libc.TLS, pCtx uintptr, iArg int32) uintptr { /* sqlite3.c:86039:17: */ var pAuxData uintptr if (*Sqlite3_context)(unsafe.Pointer(pCtx)).FpVdbe == uintptr(0) { @@ -62438,7 +62457,7 @@ func Xsqlite3_get_auxdata(tls *libc.TLS, pCtx uintptr, iArg int32) uintptr { /* // Undocumented behavior: If iArg is negative then make the data available // 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) { /* sqlite3.c:86054:17: */ +func Xsqlite3_set_auxdata(tls *libc.TLS, pCtx uintptr, iArg int32, pAux uintptr, xDelete uintptr) { /* sqlite3.c:86067:17: */ var pAuxData uintptr var pVdbe uintptr pVdbe = (*Sqlite3_context)(unsafe.Pointer(pCtx)).FpVdbe @@ -62518,13 +62537,13 @@ __11: // provide only to avoid breaking legacy code. New aggregate function // implementations should keep their own counts within their aggregate // context. -func Xsqlite3_aggregate_count(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:86107:16: */ +func Xsqlite3_aggregate_count(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:86120:16: */ return (*Mem)(unsafe.Pointer((*Sqlite3_context)(unsafe.Pointer(p)).FpMem)).Fn } // Return the number of columns in the result set for the statement pStmt. -func Xsqlite3_column_count(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:86116:16: */ +func Xsqlite3_column_count(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:86129:16: */ var pVm uintptr = pStmt if pVm != 0 { return int32((*Vdbe)(unsafe.Pointer(pVm)).FnResColumn) @@ -62534,7 +62553,7 @@ func Xsqlite3_column_count(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:86 // Return the number of values available from the current row of the // currently executing statement pStmt. -func Xsqlite3_data_count(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:86125:16: */ +func Xsqlite3_data_count(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:86138:16: */ var pVm uintptr = pStmt if pVm == uintptr(0) || (*Vdbe)(unsafe.Pointer(pVm)).FpResultSet == uintptr(0) { return 0 @@ -62543,19 +62562,19 @@ func Xsqlite3_data_count(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:8612 } // Return a pointer to static memory containing an SQL NULL value. -func columnNullValue(tls *libc.TLS) uintptr { /* sqlite3.c:86134:18: */ +func columnNullValue(tls *libc.TLS) uintptr { /* sqlite3.c:86147:18: */ return uintptr(unsafe.Pointer(&nullMem)) } var nullMem = Mem{ /* .flags = */ Fflags: U16(MEM_Null), -} /* sqlite3.c:86144:20 */ +} /* sqlite3.c:86157:20 */ // Check to see if column iCol of the given statement is valid. If // it is, return a pointer to the Mem for the value of that column. // If iCol is not valid, return a pointer to a Mem which has a value // of NULL. -func columnMem(tls *libc.TLS, pStmt uintptr, i int32) uintptr { /* sqlite3.c:86174:12: */ +func columnMem(tls *libc.TLS, pStmt uintptr, i int32) uintptr { /* sqlite3.c:86187:12: */ var pVm uintptr var pOut uintptr @@ -62590,7 +62609,7 @@ func columnMem(tls *libc.TLS, pStmt uintptr, i int32) uintptr { /* sqlite3.c:861 // sqlite3_column_bytes() // sqlite3_column_bytes16() // sqiite3_column_blob() -func columnMallocFailure(tls *libc.TLS, pStmt uintptr) { /* sqlite3.c:86209:13: */ +func columnMallocFailure(tls *libc.TLS, pStmt uintptr) { /* sqlite3.c:86222:13: */ // If malloc() failed during an encoding conversion within an // sqlite3_column_XXX API, then set the return code of the statement to // SQLITE_NOMEM. The next call to _step() (if any) will return SQLITE_ERROR @@ -62607,7 +62626,7 @@ func columnMallocFailure(tls *libc.TLS, pStmt uintptr) { /* sqlite3.c:86209:13: // // The following routines are used to access elements of the current row // in the result set. -func Xsqlite3_column_blob(tls *libc.TLS, pStmt uintptr, i int32) uintptr { /* sqlite3.c:86229:23: */ +func Xsqlite3_column_blob(tls *libc.TLS, pStmt uintptr, i int32) uintptr { /* sqlite3.c:86242:23: */ var val uintptr val = Xsqlite3_value_blob(tls, columnMem(tls, pStmt, i)) // Even though there is no encoding conversion, value_blob() might @@ -62617,43 +62636,43 @@ func Xsqlite3_column_blob(tls *libc.TLS, pStmt uintptr, i int32) uintptr { /* sq return val } -func Xsqlite3_column_bytes(tls *libc.TLS, pStmt uintptr, i int32) int32 { /* sqlite3.c:86239:16: */ +func Xsqlite3_column_bytes(tls *libc.TLS, pStmt uintptr, i int32) int32 { /* sqlite3.c:86252:16: */ var val int32 = Xsqlite3_value_bytes(tls, columnMem(tls, pStmt, i)) columnMallocFailure(tls, pStmt) return val } -func Xsqlite3_column_bytes16(tls *libc.TLS, pStmt uintptr, i int32) int32 { /* sqlite3.c:86244:16: */ +func Xsqlite3_column_bytes16(tls *libc.TLS, pStmt uintptr, i int32) int32 { /* sqlite3.c:86257:16: */ var val int32 = Xsqlite3_value_bytes16(tls, columnMem(tls, pStmt, i)) columnMallocFailure(tls, pStmt) return val } -func Xsqlite3_column_double(tls *libc.TLS, pStmt uintptr, i int32) float64 { /* sqlite3.c:86249:19: */ +func Xsqlite3_column_double(tls *libc.TLS, pStmt uintptr, i int32) float64 { /* sqlite3.c:86262:19: */ var val float64 = Xsqlite3_value_double(tls, columnMem(tls, pStmt, i)) columnMallocFailure(tls, pStmt) return val } -func Xsqlite3_column_int(tls *libc.TLS, pStmt uintptr, i int32) int32 { /* sqlite3.c:86254:16: */ +func Xsqlite3_column_int(tls *libc.TLS, pStmt uintptr, i int32) int32 { /* sqlite3.c:86267:16: */ var val int32 = Xsqlite3_value_int(tls, columnMem(tls, pStmt, i)) columnMallocFailure(tls, pStmt) return val } -func Xsqlite3_column_int64(tls *libc.TLS, pStmt uintptr, i int32) Sqlite_int64 { /* sqlite3.c:86259:25: */ +func Xsqlite3_column_int64(tls *libc.TLS, pStmt uintptr, i int32) Sqlite_int64 { /* sqlite3.c:86272:25: */ var val Sqlite_int64 = Xsqlite3_value_int64(tls, columnMem(tls, pStmt, i)) columnMallocFailure(tls, pStmt) return val } -func Xsqlite3_column_text(tls *libc.TLS, pStmt uintptr, i int32) uintptr { /* sqlite3.c:86264:32: */ +func Xsqlite3_column_text(tls *libc.TLS, pStmt uintptr, i int32) uintptr { /* sqlite3.c:86277:32: */ var val uintptr = Xsqlite3_value_text(tls, columnMem(tls, pStmt, i)) columnMallocFailure(tls, pStmt) return val } -func Xsqlite3_column_value(tls *libc.TLS, pStmt uintptr, i int32) uintptr { /* sqlite3.c:86269:26: */ +func Xsqlite3_column_value(tls *libc.TLS, pStmt uintptr, i int32) uintptr { /* sqlite3.c:86282:26: */ var pOut uintptr = columnMem(tls, pStmt, i) if int32((*Mem)(unsafe.Pointer(pOut)).Fflags)&MEM_Static != 0 { *(*U16)(unsafe.Pointer(pOut + 8)) &= libc.Uint16FromInt32(libc.CplInt32(MEM_Static)) @@ -62663,13 +62682,13 @@ func Xsqlite3_column_value(tls *libc.TLS, pStmt uintptr, i int32) uintptr { /* s return pOut } -func Xsqlite3_column_text16(tls *libc.TLS, pStmt uintptr, i int32) uintptr { /* sqlite3.c:86279:23: */ +func Xsqlite3_column_text16(tls *libc.TLS, pStmt uintptr, i int32) uintptr { /* sqlite3.c:86292:23: */ var val uintptr = Xsqlite3_value_text16(tls, columnMem(tls, pStmt, i)) columnMallocFailure(tls, pStmt) return val } -func Xsqlite3_column_type(tls *libc.TLS, pStmt uintptr, i int32) int32 { /* sqlite3.c:86285:16: */ +func Xsqlite3_column_type(tls *libc.TLS, pStmt uintptr, i int32) int32 { /* sqlite3.c:86298:16: */ var iType int32 = Xsqlite3_value_type(tls, columnMem(tls, pStmt, i)) columnMallocFailure(tls, pStmt) return iType @@ -62689,7 +62708,7 @@ func Xsqlite3_column_type(tls *libc.TLS, pStmt uintptr, i int32) int32 { /* sqli // // If the result is not a simple column reference (if it is an expression // or a constant) then useTypes 2, 3, and 4 return NULL. -func columnName(tls *libc.TLS, pStmt uintptr, N int32, useUtf16 int32, useType int32) uintptr { /* sqlite3.c:86307:19: */ +func columnName(tls *libc.TLS, pStmt uintptr, N int32, useUtf16 int32, useType int32) uintptr { /* sqlite3.c:86320:19: */ var ret uintptr var p uintptr var n int32 @@ -62721,11 +62740,11 @@ func columnName(tls *libc.TLS, pStmt uintptr, N int32, useUtf16 int32, useType i // Return the name of the Nth column of the result set returned by SQL // statement pStmt. -func Xsqlite3_column_name(tls *libc.TLS, pStmt uintptr, N int32) uintptr { /* sqlite3.c:86356:23: */ +func Xsqlite3_column_name(tls *libc.TLS, pStmt uintptr, N int32) uintptr { /* sqlite3.c:86369:23: */ return columnName(tls, pStmt, N, 0, COLNAME_NAME) } -func Xsqlite3_column_name16(tls *libc.TLS, pStmt uintptr, N int32) uintptr { /* sqlite3.c:86360:23: */ +func Xsqlite3_column_name16(tls *libc.TLS, pStmt uintptr, N int32) uintptr { /* sqlite3.c:86373:23: */ return columnName(tls, pStmt, N, 1, COLNAME_NAME) } @@ -62734,44 +62753,44 @@ func Xsqlite3_column_name16(tls *libc.TLS, pStmt uintptr, N int32) uintptr { /* // Return the column declaration type (if applicable) of the 'i'th column // of the result set of SQL statement pStmt. -func Xsqlite3_column_decltype(tls *libc.TLS, pStmt uintptr, N int32) uintptr { /* sqlite3.c:86379:23: */ +func Xsqlite3_column_decltype(tls *libc.TLS, pStmt uintptr, N int32) uintptr { /* sqlite3.c:86392:23: */ return columnName(tls, pStmt, N, 0, COLNAME_DECLTYPE) } -func Xsqlite3_column_decltype16(tls *libc.TLS, pStmt uintptr, N int32) uintptr { /* sqlite3.c:86383:23: */ +func Xsqlite3_column_decltype16(tls *libc.TLS, pStmt uintptr, N int32) uintptr { /* sqlite3.c:86396:23: */ return columnName(tls, pStmt, N, 1, COLNAME_DECLTYPE) } // Return the name of the database from which a result column derives. // NULL is returned if the result column is an expression or constant or // anything else which is not an unambiguous reference to a database column. -func Xsqlite3_column_database_name(tls *libc.TLS, pStmt uintptr, N int32) uintptr { /* sqlite3.c:86395:23: */ +func Xsqlite3_column_database_name(tls *libc.TLS, pStmt uintptr, N int32) uintptr { /* sqlite3.c:86408:23: */ return columnName(tls, pStmt, N, 0, COLNAME_DATABASE) } -func Xsqlite3_column_database_name16(tls *libc.TLS, pStmt uintptr, N int32) uintptr { /* sqlite3.c:86399:23: */ +func Xsqlite3_column_database_name16(tls *libc.TLS, pStmt uintptr, N int32) uintptr { /* sqlite3.c:86412:23: */ return columnName(tls, pStmt, N, 1, COLNAME_DATABASE) } // Return the name of the table from which a result column derives. // NULL is returned if the result column is an expression or constant or // anything else which is not an unambiguous reference to a database column. -func Xsqlite3_column_table_name(tls *libc.TLS, pStmt uintptr, N int32) uintptr { /* sqlite3.c:86409:23: */ +func Xsqlite3_column_table_name(tls *libc.TLS, pStmt uintptr, N int32) uintptr { /* sqlite3.c:86422:23: */ return columnName(tls, pStmt, N, 0, COLNAME_TABLE) } -func Xsqlite3_column_table_name16(tls *libc.TLS, pStmt uintptr, N int32) uintptr { /* sqlite3.c:86413:23: */ +func Xsqlite3_column_table_name16(tls *libc.TLS, pStmt uintptr, N int32) uintptr { /* sqlite3.c:86426:23: */ return columnName(tls, pStmt, N, 1, COLNAME_TABLE) } // Return the name of the table column from which a result column derives. // NULL is returned if the result column is an expression or constant or // anything else which is not an unambiguous reference to a database column. -func Xsqlite3_column_origin_name(tls *libc.TLS, pStmt uintptr, N int32) uintptr { /* sqlite3.c:86423:23: */ +func Xsqlite3_column_origin_name(tls *libc.TLS, pStmt uintptr, N int32) uintptr { /* sqlite3.c:86436:23: */ return columnName(tls, pStmt, N, 0, COLNAME_COLUMN) } -func Xsqlite3_column_origin_name16(tls *libc.TLS, pStmt uintptr, N int32) uintptr { /* sqlite3.c:86427:23: */ +func Xsqlite3_column_origin_name16(tls *libc.TLS, pStmt uintptr, N int32) uintptr { /* sqlite3.c:86440:23: */ return columnName(tls, pStmt, N, 1, COLNAME_COLUMN) } @@ -62788,13 +62807,13 @@ func Xsqlite3_column_origin_name16(tls *libc.TLS, pStmt uintptr, N int32) uintpt // // The error code stored in database p->db is overwritten with the return // value in any case. -func vdbeUnbind(tls *libc.TLS, p uintptr, i int32) int32 { /* sqlite3.c:86449:12: */ +func vdbeUnbind(tls *libc.TLS, p uintptr, i int32) int32 { /* sqlite3.c:86462:12: */ bp := tls.Alloc(8) defer tls.Free(8) var pVar uintptr if vdbeSafetyNotNull(tls, p) != 0 { - return Xsqlite3MisuseError(tls, 86452) + return Xsqlite3MisuseError(tls, 86465) } Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer((*Vdbe)(unsafe.Pointer(p)).Fdb)).Fmutex) if (*Vdbe)(unsafe.Pointer(p)).FiVdbeMagic != U32(VDBE_MAGIC_RUN) || (*Vdbe)(unsafe.Pointer(p)).Fpc >= 0 { @@ -62802,7 +62821,7 @@ func vdbeUnbind(tls *libc.TLS, p uintptr, i int32) int32 { /* sqlite3.c:86449:12 Xsqlite3_mutex_leave(tls, (*Sqlite3)(unsafe.Pointer((*Vdbe)(unsafe.Pointer(p)).Fdb)).Fmutex) Xsqlite3_log(tls, SQLITE_MISUSE, ts+5318, libc.VaList(bp, (*Vdbe)(unsafe.Pointer(p)).FzSql)) - return Xsqlite3MisuseError(tls, 86460) + return Xsqlite3MisuseError(tls, 86473) } if i < 1 || i > int32((*Vdbe)(unsafe.Pointer(p)).FnVar) { Xsqlite3Error(tls, (*Vdbe)(unsafe.Pointer(p)).Fdb, SQLITE_RANGE) @@ -62836,7 +62855,7 @@ func vdbeUnbind(tls *libc.TLS, p uintptr, i int32) int32 { /* sqlite3.c:86449:12 } // Bind a text or BLOB value. -func bindText(tls *libc.TLS, pStmt uintptr, i int32, zData uintptr, nData I64, xDel uintptr, encoding U8) int32 { /* sqlite3.c:86492:12: */ +func bindText(tls *libc.TLS, pStmt uintptr, i int32, zData uintptr, nData I64, xDel uintptr, encoding U8) int32 { /* sqlite3.c:86505:12: */ var p uintptr = pStmt var pVar uintptr var rc int32 @@ -62862,16 +62881,16 @@ func bindText(tls *libc.TLS, pStmt uintptr, i int32, zData uintptr, nData I64, x } // 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) int32 { /* sqlite3.c:86528:16: */ +func Xsqlite3_bind_blob(tls *libc.TLS, pStmt uintptr, i int32, zData uintptr, nData int32, xDel uintptr) int32 { /* sqlite3.c:86541:16: */ return bindText(tls, pStmt, i, zData, int64(nData), xDel, uint8(0)) } -func Xsqlite3_bind_blob64(tls *libc.TLS, pStmt uintptr, i int32, zData uintptr, nData Sqlite3_uint64, xDel uintptr) int32 { /* sqlite3.c:86540:16: */ +func Xsqlite3_bind_blob64(tls *libc.TLS, pStmt uintptr, i int32, zData uintptr, nData Sqlite3_uint64, xDel uintptr) int32 { /* sqlite3.c:86553:16: */ return bindText(tls, pStmt, i, zData, int64(nData), xDel, uint8(0)) } -func Xsqlite3_bind_double(tls *libc.TLS, pStmt uintptr, i int32, rValue float64) int32 { /* sqlite3.c:86550:16: */ +func Xsqlite3_bind_double(tls *libc.TLS, pStmt uintptr, i int32, rValue float64) int32 { /* sqlite3.c:86563:16: */ var rc int32 var p uintptr = pStmt rc = vdbeUnbind(tls, p, i) @@ -62882,11 +62901,11 @@ func Xsqlite3_bind_double(tls *libc.TLS, pStmt uintptr, i int32, rValue float64) return rc } -func Xsqlite3_bind_int(tls *libc.TLS, p uintptr, i int32, iValue int32) int32 { /* sqlite3.c:86560:16: */ +func Xsqlite3_bind_int(tls *libc.TLS, p uintptr, i int32, iValue int32) int32 { /* sqlite3.c:86573:16: */ return Xsqlite3_bind_int64(tls, p, i, I64(iValue)) } -func Xsqlite3_bind_int64(tls *libc.TLS, pStmt uintptr, i int32, iValue Sqlite_int64) int32 { /* sqlite3.c:86563:16: */ +func Xsqlite3_bind_int64(tls *libc.TLS, pStmt uintptr, i int32, iValue Sqlite_int64) int32 { /* sqlite3.c:86576:16: */ var rc int32 var p uintptr = pStmt rc = vdbeUnbind(tls, p, i) @@ -62897,7 +62916,7 @@ func Xsqlite3_bind_int64(tls *libc.TLS, pStmt uintptr, i int32, iValue Sqlite_in return rc } -func Xsqlite3_bind_null(tls *libc.TLS, pStmt uintptr, i int32) int32 { /* sqlite3.c:86573:16: */ +func Xsqlite3_bind_null(tls *libc.TLS, pStmt uintptr, i int32) int32 { /* sqlite3.c:86586:16: */ var rc int32 var p uintptr = pStmt rc = vdbeUnbind(tls, p, i) @@ -62907,7 +62926,7 @@ func Xsqlite3_bind_null(tls *libc.TLS, pStmt uintptr, i int32) int32 { /* sqlite return rc } -func Xsqlite3_bind_pointer(tls *libc.TLS, pStmt uintptr, i int32, pPtr uintptr, zPTtype uintptr, xDestructor uintptr) int32 { /* sqlite3.c:86582:16: */ +func Xsqlite3_bind_pointer(tls *libc.TLS, pStmt uintptr, i int32, pPtr uintptr, zPTtype uintptr, xDestructor uintptr) int32 { /* sqlite3.c:86595:16: */ var rc int32 var p uintptr = pStmt rc = vdbeUnbind(tls, p, i) @@ -62920,11 +62939,11 @@ func Xsqlite3_bind_pointer(tls *libc.TLS, pStmt uintptr, i int32, pPtr uintptr, return rc } -func Xsqlite3_bind_text(tls *libc.TLS, pStmt uintptr, i int32, zData uintptr, nData int32, xDel uintptr) int32 { /* sqlite3.c:86600:16: */ +func Xsqlite3_bind_text(tls *libc.TLS, pStmt uintptr, i int32, zData uintptr, nData int32, xDel uintptr) int32 { /* sqlite3.c:86613:16: */ return bindText(tls, pStmt, i, zData, int64(nData), xDel, uint8(SQLITE_UTF8)) } -func Xsqlite3_bind_text64(tls *libc.TLS, pStmt uintptr, i int32, zData uintptr, nData Sqlite3_uint64, xDel uintptr, enc uint8) int32 { /* sqlite3.c:86609:16: */ +func Xsqlite3_bind_text64(tls *libc.TLS, pStmt uintptr, i int32, zData uintptr, nData Sqlite3_uint64, xDel uintptr, enc uint8) int32 { /* sqlite3.c:86622:16: */ if int32(enc) == SQLITE_UTF16 { enc = uint8(SQLITE_UTF16LE) @@ -62932,11 +62951,11 @@ func Xsqlite3_bind_text64(tls *libc.TLS, pStmt uintptr, i int32, zData uintptr, return bindText(tls, pStmt, i, zData, int64(nData), xDel, enc) } -func Xsqlite3_bind_text16(tls *libc.TLS, pStmt uintptr, i int32, zData uintptr, nData int32, xDel uintptr) int32 { /* sqlite3.c:86622:16: */ +func Xsqlite3_bind_text16(tls *libc.TLS, pStmt uintptr, i int32, zData uintptr, nData int32, xDel uintptr) int32 { /* sqlite3.c:86635:16: */ return bindText(tls, pStmt, i, zData, int64(nData), xDel, uint8(SQLITE_UTF16LE)) } -func Xsqlite3_bind_value(tls *libc.TLS, pStmt uintptr, i int32, pValue uintptr) int32 { /* sqlite3.c:86632:16: */ +func Xsqlite3_bind_value(tls *libc.TLS, pStmt uintptr, i int32, pValue uintptr) int32 { /* sqlite3.c:86645:16: */ var rc int32 switch Xsqlite3_value_type(tls, pValue) { case SQLITE_INTEGER: @@ -62985,7 +63004,7 @@ func Xsqlite3_bind_value(tls *libc.TLS, pStmt uintptr, i int32, pValue uintptr) return rc } -func Xsqlite3_bind_zeroblob(tls *libc.TLS, pStmt uintptr, i int32, n int32) int32 { /* sqlite3.c:86666:16: */ +func Xsqlite3_bind_zeroblob(tls *libc.TLS, pStmt uintptr, i int32, n int32) int32 { /* sqlite3.c:86679:16: */ var rc int32 var p uintptr = pStmt rc = vdbeUnbind(tls, p, i) @@ -62996,7 +63015,7 @@ func Xsqlite3_bind_zeroblob(tls *libc.TLS, pStmt uintptr, i int32, n int32) int3 return rc } -func Xsqlite3_bind_zeroblob64(tls *libc.TLS, pStmt uintptr, i int32, n Sqlite3_uint64) int32 { /* sqlite3.c:86680:16: */ +func Xsqlite3_bind_zeroblob64(tls *libc.TLS, pStmt uintptr, i int32, n Sqlite3_uint64) int32 { /* sqlite3.c:86693:16: */ var rc int32 var p uintptr = pStmt Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer((*Vdbe)(unsafe.Pointer(p)).Fdb)).Fmutex) @@ -63013,7 +63032,7 @@ func Xsqlite3_bind_zeroblob64(tls *libc.TLS, pStmt uintptr, i int32, n Sqlite3_u // Return the number of wildcards that can be potentially bound to. // This routine is added to support DBD::SQLite. -func Xsqlite3_bind_parameter_count(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:86699:16: */ +func Xsqlite3_bind_parameter_count(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:86712:16: */ var p uintptr = pStmt if p != 0 { return int32((*Vdbe)(unsafe.Pointer(p)).FnVar) @@ -63025,7 +63044,7 @@ func Xsqlite3_bind_parameter_count(tls *libc.TLS, pStmt uintptr) int32 { /* sqli // is out of range or if the wildcard is unnamed. // // The result is always UTF-8. -func Xsqlite3_bind_parameter_name(tls *libc.TLS, pStmt uintptr, i int32) uintptr { /* sqlite3.c:86710:23: */ +func Xsqlite3_bind_parameter_name(tls *libc.TLS, pStmt uintptr, i int32) uintptr { /* sqlite3.c:86723:23: */ var p uintptr = pStmt if p == uintptr(0) { return uintptr(0) @@ -63036,19 +63055,19 @@ func Xsqlite3_bind_parameter_name(tls *libc.TLS, pStmt uintptr, i int32) uintptr // Given a wildcard parameter name, return the index of the variable // with that name. If there is no variable with the given name, // return 0. -func Xsqlite3VdbeParameterIndex(tls *libc.TLS, p uintptr, zName uintptr, nName int32) int32 { /* sqlite3.c:86721:20: */ +func Xsqlite3VdbeParameterIndex(tls *libc.TLS, p uintptr, zName uintptr, nName int32) int32 { /* sqlite3.c:86734:20: */ if p == uintptr(0) || zName == uintptr(0) { return 0 } return Xsqlite3VListNameToNum(tls, (*Vdbe)(unsafe.Pointer(p)).FpVList, zName, nName) } -func Xsqlite3_bind_parameter_index(tls *libc.TLS, pStmt uintptr, zName uintptr) int32 { /* sqlite3.c:86725:16: */ +func Xsqlite3_bind_parameter_index(tls *libc.TLS, pStmt uintptr, zName uintptr) int32 { /* sqlite3.c:86738:16: */ return Xsqlite3VdbeParameterIndex(tls, pStmt, zName, Xsqlite3Strlen30(tls, zName)) } // Transfer all bindings from the first statement over to the second. -func Xsqlite3TransferBindings(tls *libc.TLS, pFromStmt uintptr, pToStmt uintptr) int32 { /* sqlite3.c:86732:20: */ +func Xsqlite3TransferBindings(tls *libc.TLS, pFromStmt uintptr, pToStmt uintptr) int32 { /* sqlite3.c:86745:20: */ var pFrom uintptr = pFromStmt var pTo uintptr = pToStmt var i int32 @@ -63071,7 +63090,7 @@ func Xsqlite3TransferBindings(tls *libc.TLS, pFromStmt uintptr, pToStmt uintptr) // If the two statements contain a different number of bindings, then // an SQLITE_ERROR is returned. Nothing else can go wrong, so otherwise // SQLITE_OK is returned. -func Xsqlite3_transfer_bindings(tls *libc.TLS, pFromStmt uintptr, pToStmt uintptr) int32 { /* sqlite3.c:86759:16: */ +func Xsqlite3_transfer_bindings(tls *libc.TLS, pFromStmt uintptr, pToStmt uintptr) int32 { /* sqlite3.c:86772:16: */ var pFrom uintptr = pFromStmt var pTo uintptr = pToStmt if int32((*Vdbe)(unsafe.Pointer(pFrom)).FnVar) != int32((*Vdbe)(unsafe.Pointer(pTo)).FnVar) { @@ -63092,7 +63111,7 @@ func Xsqlite3_transfer_bindings(tls *libc.TLS, pFromStmt uintptr, pToStmt uintpt // in the argument belongs. This is the same database handle that was // the first argument to the sqlite3_prepare() that was used to create // the statement in the first place. -func Xsqlite3_db_handle(tls *libc.TLS, pStmt uintptr) uintptr { /* sqlite3.c:86783:20: */ +func Xsqlite3_db_handle(tls *libc.TLS, pStmt uintptr) uintptr { /* sqlite3.c:86796:20: */ if pStmt != 0 { return (*Vdbe)(unsafe.Pointer(pStmt)).Fdb } @@ -63101,7 +63120,7 @@ func Xsqlite3_db_handle(tls *libc.TLS, pStmt uintptr) uintptr { /* sqlite3.c:867 // Return true if the prepared statement is guaranteed to not modify the // database. -func Xsqlite3_stmt_readonly(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:86791:16: */ +func Xsqlite3_stmt_readonly(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:86804:16: */ if pStmt != 0 { return int32(*(*uint16)(unsafe.Pointer(pStmt + 148)) & 0x80 >> 7) } @@ -63110,7 +63129,7 @@ func Xsqlite3_stmt_readonly(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:8 // Return 1 if the statement is an EXPLAIN and return 2 if the // statement is an EXPLAIN QUERY PLAN -func Xsqlite3_stmt_isexplain(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:86799:16: */ +func Xsqlite3_stmt_isexplain(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:86812:16: */ if pStmt != 0 { return int32(*(*uint16)(unsafe.Pointer(pStmt + 148)) & 0xc >> 2) } @@ -63118,7 +63137,7 @@ func Xsqlite3_stmt_isexplain(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c: } // Return true if the prepared statement is in need of being reset. -func Xsqlite3_stmt_busy(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:86806:16: */ +func Xsqlite3_stmt_busy(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:86819:16: */ var v uintptr = pStmt return libc.Bool32(v != uintptr(0) && (*Vdbe)(unsafe.Pointer(v)).FiVdbeMagic == U32(VDBE_MAGIC_RUN) && (*Vdbe)(unsafe.Pointer(v)).Fpc >= 0) } @@ -63127,7 +63146,7 @@ func Xsqlite3_stmt_busy(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:86806 // with database connection pDb. If pStmt is NULL, return the first // prepared statement for the database connection. Return NULL if there // are no more. -func Xsqlite3_next_stmt(tls *libc.TLS, pDb uintptr, pStmt uintptr) uintptr { /* sqlite3.c:86817:25: */ +func Xsqlite3_next_stmt(tls *libc.TLS, pDb uintptr, pStmt uintptr) uintptr { /* sqlite3.c:86830:25: */ var pNext uintptr Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(pDb)).Fmutex) if pStmt == uintptr(0) { @@ -63140,7 +63159,7 @@ func Xsqlite3_next_stmt(tls *libc.TLS, pDb uintptr, pStmt uintptr) uintptr { /* } // Return the value of a status counter for a prepared statement -func Xsqlite3_stmt_status(tls *libc.TLS, pStmt uintptr, op int32, resetFlag int32) int32 { /* sqlite3.c:86838:16: */ +func Xsqlite3_stmt_status(tls *libc.TLS, pStmt uintptr, op int32, resetFlag int32) int32 { /* sqlite3.c:86851:16: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -63166,7 +63185,7 @@ func Xsqlite3_stmt_status(tls *libc.TLS, pStmt uintptr, op int32, resetFlag int3 } // Return the SQL associated with a prepared statement -func Xsqlite3_sql(tls *libc.TLS, pStmt uintptr) uintptr { /* sqlite3.c:86868:23: */ +func Xsqlite3_sql(tls *libc.TLS, pStmt uintptr) uintptr { /* sqlite3.c:86881:23: */ var p uintptr = pStmt if p != 0 { return (*Vdbe)(unsafe.Pointer(p)).FzSql @@ -63181,7 +63200,7 @@ func Xsqlite3_sql(tls *libc.TLS, pStmt uintptr) uintptr { /* sqlite3.c:86868:23: // // The SQLITE_TRACE_SIZE_LIMIT puts an upper bound on the size of // expanded bound parameters. -func Xsqlite3_expanded_sql(tls *libc.TLS, pStmt uintptr) uintptr { /* sqlite3.c:86882:17: */ +func Xsqlite3_expanded_sql(tls *libc.TLS, pStmt uintptr) uintptr { /* sqlite3.c:86895:17: */ var z uintptr = uintptr(0) var zSql uintptr = Xsqlite3_sql(tls, pStmt) if zSql != 0 { @@ -63196,7 +63215,7 @@ func Xsqlite3_expanded_sql(tls *libc.TLS, pStmt uintptr) uintptr { /* sqlite3.c: // Allocate and populate an UnpackedRecord structure based on the serialized // record in nKey/pKey. Return a pointer to the new UnpackedRecord structure // if successful, or a NULL pointer if an OOM error is encountered. -func vdbeUnpackRecord(tls *libc.TLS, pKeyInfo uintptr, nKey int32, pKey uintptr) uintptr { /* sqlite3.c:86920:23: */ +func vdbeUnpackRecord(tls *libc.TLS, pKeyInfo uintptr, nKey int32, pKey uintptr) uintptr { /* sqlite3.c:86933:23: */ var pRet uintptr // Return value pRet = Xsqlite3VdbeAllocUnpackedRecord(tls, pKeyInfo) @@ -63209,7 +63228,7 @@ func vdbeUnpackRecord(tls *libc.TLS, pKeyInfo uintptr, nKey int32, pKey uintptr) // This function is called from within a pre-update callback to retrieve // a field of the row currently being updated or deleted. -func Xsqlite3_preupdate_old(tls *libc.TLS, db uintptr, iIdx int32, ppValue uintptr) int32 { /* sqlite3.c:86939:16: */ +func Xsqlite3_preupdate_old(tls *libc.TLS, db uintptr, iIdx int32, ppValue uintptr) int32 { /* sqlite3.c:86952:16: */ var p uintptr var pMem uintptr var rc int32 @@ -63223,7 +63242,7 @@ func Xsqlite3_preupdate_old(tls *libc.TLS, db uintptr, iIdx int32, ppValue uintp if !(!(p != 0) || (*PreUpdate)(unsafe.Pointer(p)).Fop == SQLITE_INSERT) { goto __1 } - rc = Xsqlite3MisuseError(tls, 86947) + rc = Xsqlite3MisuseError(tls, 86960) goto preupdate_old_out __1: ; @@ -63315,7 +63334,7 @@ preupdate_old_out: // This function is called from within a pre-update callback to retrieve // the number of columns in the row being updated, deleted or inserted. -func Xsqlite3_preupdate_count(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:87003:16: */ +func Xsqlite3_preupdate_count(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:87016:16: */ var p uintptr = (*Sqlite3)(unsafe.Pointer(db)).FpPreUpdate return func() int32 { if p != 0 { @@ -63334,7 +63353,7 @@ func Xsqlite3_preupdate_count(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:87 // // For the purposes of the previous paragraph, a foreign key CASCADE, SET NULL // or SET DEFAULT action is considered a trigger. -func Xsqlite3_preupdate_depth(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:87021:16: */ +func Xsqlite3_preupdate_depth(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:87034:16: */ var p uintptr = (*Sqlite3)(unsafe.Pointer(db)).FpPreUpdate return func() int32 { if p != 0 { @@ -63346,7 +63365,7 @@ func Xsqlite3_preupdate_depth(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:87 // This function is designed to be called from within a pre-update callback // only. -func Xsqlite3_preupdate_blobwrite(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:87032:16: */ +func Xsqlite3_preupdate_blobwrite(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:87045:16: */ var p uintptr = (*Sqlite3)(unsafe.Pointer(db)).FpPreUpdate return func() int32 { if p != 0 { @@ -63358,7 +63377,7 @@ func Xsqlite3_preupdate_blobwrite(tls *libc.TLS, db uintptr) int32 { /* sqlite3. // This function is called from within a pre-update callback to retrieve // a field of the row currently being updated or inserted. -func Xsqlite3_preupdate_new(tls *libc.TLS, db uintptr, iIdx int32, ppValue uintptr) int32 { /* sqlite3.c:87043:16: */ +func Xsqlite3_preupdate_new(tls *libc.TLS, db uintptr, iIdx int32, ppValue uintptr) int32 { /* sqlite3.c:87056:16: */ var p uintptr var rc int32 var pMem uintptr @@ -63372,7 +63391,7 @@ func Xsqlite3_preupdate_new(tls *libc.TLS, db uintptr, iIdx int32, ppValue uintp if !(!(p != 0) || (*PreUpdate)(unsafe.Pointer(p)).Fop == SQLITE_DELETE) { goto __1 } - rc = Xsqlite3MisuseError(tls, 87049) + rc = Xsqlite3MisuseError(tls, 87062) goto preupdate_new_out __1: ; @@ -63513,7 +63532,7 @@ preupdate_new_out: // bytes in this text up to but excluding the first character in // a host parameter. If the text contains no host parameters, return // the total number of bytes in the text. -func findNextHostParameter(tls *libc.TLS, zSql uintptr, pnToken uintptr) int32 { /* sqlite3.c:87213:12: */ +func findNextHostParameter(tls *libc.TLS, zSql uintptr, pnToken uintptr) int32 { /* sqlite3.c:87226:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -63558,7 +63577,7 @@ func findNextHostParameter(tls *libc.TLS, zSql uintptr, pnToken uintptr) int32 { // statement for the corresponding OP_Variable opcode. Once the host // parameter index is known, locate the value in p->aVar[]. Then render // the value as a literal in place of the host parameter name. -func Xsqlite3VdbeExpandSql(tls *libc.TLS, p uintptr, zRawSql uintptr) uintptr { /* sqlite3.c:87256:21: */ +func Xsqlite3VdbeExpandSql(tls *libc.TLS, p uintptr, zRawSql uintptr) uintptr { /* sqlite3.c:87269:21: */ bp := tls.Alloc(120) defer tls.Free(120) @@ -63781,7 +63800,7 @@ func Xsqlite3VdbeExpandSql(tls *libc.TLS, p uintptr, zRawSql uintptr) uintptr { // Allocate VdbeCursor number iCur. Return a pointer to it. Return NULL // if we run out of memory. -func allocateCursor(tls *libc.TLS, p uintptr, iCur int32, nField int32, eCurType U8) uintptr { /* sqlite3.c:87619:19: */ +func allocateCursor(tls *libc.TLS, p uintptr, iCur int32, nField int32, eCurType U8) uintptr { /* sqlite3.c:87632:19: */ // Find the memory cell that will be used to store the blob of memory // required for this VdbeCursor structure. It is convenient to use a // vdbe memory cell to manage the memory allocation required for a @@ -63852,7 +63871,7 @@ func allocateCursor(tls *libc.TLS, p uintptr, iCur int32, nField int32, eCurType // floating point value of rValue. Return true and set *piValue to the // integer value if the string is in range to be an integer. Otherwise, // return false. -func alsoAnInt(tls *libc.TLS, pRec uintptr, rValue float64, piValue uintptr) int32 { /* sqlite3.c:87695:12: */ +func alsoAnInt(tls *libc.TLS, pRec uintptr, rValue float64, piValue uintptr) int32 { /* sqlite3.c:87708:12: */ var iValue I64 = I64(rValue) if Xsqlite3RealSameAsInt(tls, rValue, iValue) != 0 { *(*I64)(unsafe.Pointer(piValue)) = iValue @@ -63874,7 +63893,7 @@ func alsoAnInt(tls *libc.TLS, pRec uintptr, rValue float64, piValue uintptr) int // If bTryForInt is false, then if the input string contains a decimal // point or exponential notation, the result is only MEM_Real, even // if there is an exact integer representation of the quantity. -func applyNumericAffinity(tls *libc.TLS, pRec uintptr, bTryForInt int32) { /* sqlite3.c:87719:13: */ +func applyNumericAffinity(tls *libc.TLS, pRec uintptr, bTryForInt int32) { /* sqlite3.c:87732:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -63920,7 +63939,7 @@ func applyNumericAffinity(tls *libc.TLS, pRec uintptr, bTryForInt int32) { /* sq // SQLITE_AFF_BLOB: // SQLITE_AFF_NONE: // No-op. pRec is unchanged. -func applyAffinity(tls *libc.TLS, pRec uintptr, affinity int8, enc U8) { /* sqlite3.c:87759:13: */ +func applyAffinity(tls *libc.TLS, pRec uintptr, affinity int8, enc U8) { /* sqlite3.c:87772:13: */ if int32(affinity) >= SQLITE_AFF_NUMERIC { if int32((*Mem)(unsafe.Pointer(pRec)).Fflags)&MEM_Int == 0 { //OPTIMIZATION-IF-FALSE @@ -63952,7 +63971,7 @@ func applyAffinity(tls *libc.TLS, pRec uintptr, affinity int8, enc U8) { /* sqli // into a numeric representation. Use either INTEGER or REAL whichever // is appropriate. But only do the conversion if it is possible without // loss of information and return the revised type of the argument. -func Xsqlite3_value_numeric_type(tls *libc.TLS, pVal uintptr) int32 { /* sqlite3.c:87798:16: */ +func Xsqlite3_value_numeric_type(tls *libc.TLS, pVal uintptr) int32 { /* sqlite3.c:87811:16: */ var eType int32 = Xsqlite3_value_type(tls, pVal) if eType == SQLITE_TEXT { var pMem uintptr = pVal @@ -63964,7 +63983,7 @@ func Xsqlite3_value_numeric_type(tls *libc.TLS, pVal uintptr) int32 { /* sqlite3 // Exported version of applyAffinity(). This one works on sqlite3_value*, // not the internal Mem* type. -func Xsqlite3ValueApplyAffinity(tls *libc.TLS, pVal uintptr, affinity U8, enc U8) { /* sqlite3.c:87812:21: */ +func Xsqlite3ValueApplyAffinity(tls *libc.TLS, pVal uintptr, affinity U8, enc U8) { /* sqlite3.c:87825:21: */ applyAffinity(tls, pVal, int8(affinity), enc) } @@ -63972,7 +63991,7 @@ func Xsqlite3ValueApplyAffinity(tls *libc.TLS, pVal uintptr, affinity U8, enc U8 // interpret as a string if we want to). Compute its corresponding // numeric type, if has one. Set the pMem->u.r and pMem->u.i fields // accordingly. -func computeNumericType(tls *libc.TLS, pMem uintptr) U16 { /* sqlite3.c:87826:28: */ +func computeNumericType(tls *libc.TLS, pMem uintptr) U16 { /* sqlite3.c:87839:28: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -64008,7 +64027,7 @@ func computeNumericType(tls *libc.TLS, pMem uintptr) U16 { /* sqlite3.c:87826:28 // // Unlike applyNumericAffinity(), this routine does not modify pMem->flags. // But it does set pMem->u.r and pMem->u.i appropriately. -func numericType(tls *libc.TLS, pMem uintptr) U16 { /* sqlite3.c:87857:12: */ +func numericType(tls *libc.TLS, pMem uintptr) U16 { /* sqlite3.c:87870:12: */ if int32((*Mem)(unsafe.Pointer(pMem)).Fflags)&(MEM_Int|MEM_Real|MEM_IntReal) != 0 { return U16(int32((*Mem)(unsafe.Pointer(pMem)).Fflags) & (MEM_Int | MEM_Real | MEM_IntReal)) @@ -64022,13 +64041,13 @@ func numericType(tls *libc.TLS, pMem uintptr) U16 { /* sqlite3.c:87857:12: */ // Return the register of pOp->p2 after first preparing it to be // overwritten with an integer value. -func out2PrereleaseWithClear(tls *libc.TLS, pOut uintptr) uintptr { /* sqlite3.c:88032:28: */ +func out2PrereleaseWithClear(tls *libc.TLS, pOut uintptr) uintptr { /* sqlite3.c:88045:28: */ Xsqlite3VdbeMemSetNull(tls, pOut) (*Mem)(unsafe.Pointer(pOut)).Fflags = U16(MEM_Int) return pOut } -func out2Prerelease(tls *libc.TLS, p uintptr, pOp uintptr) uintptr { /* sqlite3.c:88037:12: */ +func out2Prerelease(tls *libc.TLS, p uintptr, pOp uintptr) uintptr { /* sqlite3.c:88050:12: */ var pOut uintptr pOut = (*Vdbe)(unsafe.Pointer(p)).FaMem + uintptr((*VdbeOp)(unsafe.Pointer(pOp)).Fp2)*40 @@ -64044,7 +64063,7 @@ func out2Prerelease(tls *libc.TLS, p uintptr, pOp uintptr) uintptr { /* sqlite3. // Compute a bloom filter hash using pOp->p4.i registers from aMem[] beginning // with pOp->p3. Return the hash. -func filterHash(tls *libc.TLS, aMem uintptr, pOp uintptr) U64 { /* sqlite3.c:88055:12: */ +func filterHash(tls *libc.TLS, aMem uintptr, pOp uintptr) U64 { /* sqlite3.c:88068:12: */ var i int32 var mx int32 var h U64 = uint64(0) @@ -64068,7 +64087,7 @@ func filterHash(tls *libc.TLS, aMem uintptr, pOp uintptr) U64 { /* sqlite3.c:880 } // Return the symbolic name for the data type of a pMem -func vdbeMemTypeName(tls *libc.TLS, pMem uintptr) uintptr { /* sqlite3.c:88077:19: */ +func vdbeMemTypeName(tls *libc.TLS, pMem uintptr) uintptr { /* sqlite3.c:88090:19: */ return azTypes[Xsqlite3_value_type(tls, pMem)-1] } @@ -64078,11 +64097,11 @@ var azTypes = [5]uintptr{ ts + 1112, ts + 1090, ts + 1535, -} /* sqlite3.c:88078:21 */ +} /* sqlite3.c:88091:21 */ // Execute as much of a VDBE program as we can. // This is the core of sqlite3_step(). -func Xsqlite3VdbeExec(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:88092:20: */ +func Xsqlite3VdbeExec(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:88105:20: */ bp := tls.Alloc(748) defer tls.Free(748) @@ -69599,7 +69618,7 @@ op_column_corrupt: goto __8 goto __400 __399: - rc = Xsqlite3CorruptError(tls, 90310) + rc = Xsqlite3CorruptError(tls, 90323) goto abort_due_to_error __400: ; @@ -72094,7 +72113,7 @@ notExistsWithKey: if !((*Op)(unsafe.Pointer(pOp)).Fp2 == 0) { goto __642 } - rc = Xsqlite3CorruptError(tls, 92457) + rc = Xsqlite3CorruptError(tls, 92470) goto __643 __642: goto jump_to_p2 @@ -73256,7 +73275,7 @@ __724: if !((*Op)(unsafe.Pointer(pOp)).Fp5 != 0 && !(Xsqlite3WritableSchema(tls, db) != 0)) { goto __727 } - rc = Xsqlite3ReportError(tls, SQLITE_CORRUPT|int32(3)<<8, 93513, ts+5827) + rc = Xsqlite3ReportError(tls, SQLITE_CORRUPT|int32(3)<<8, 93526, ts+5827) goto abort_due_to_error __727: ; @@ -73448,7 +73467,7 @@ __737: if !(nCellKey <= int64(0) || nCellKey > int64(0x7fffffff)) { goto __738 } - rc = Xsqlite3CorruptError(tls, 93717) + rc = Xsqlite3CorruptError(tls, 93730) goto abort_due_to_error __738: ; @@ -73724,7 +73743,7 @@ __759: // 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 = Xsqlite3CorruptError(tls, 93969) + rc = Xsqlite3CorruptError(tls, 93982) __760: ; Xsqlite3DbFreeNN(tls, db, zSql) @@ -75735,7 +75754,7 @@ __916: if !(rc == SQLITE_IOERR|int32(33)<<8) { goto __918 } - rc = Xsqlite3CorruptError(tls, 95906) + rc = Xsqlite3CorruptError(tls, 95919) __918: ; __917: @@ -75824,11 +75843,11 @@ abort_due_to_interrupt: } var azType = [4]uintptr{ts + 6069, ts + 6078, ts + 6085, - ts + 6091} /* sqlite3.c:88537:25 */ -var and_logic = [9]uint8{uint8(0), uint8(0), uint8(0), uint8(0), uint8(1), uint8(2), uint8(0), uint8(2), uint8(2)} /* sqlite3.c:89761:32 */ -var or_logic = [9]uint8{uint8(0), uint8(1), uint8(2), uint8(1), uint8(1), uint8(1), uint8(2), uint8(1), uint8(2)} /* sqlite3.c:89764:32 */ -var aFlag1 = [2]U16{U16(MEM_Blob), U16(MEM_Str | MEM_Term)} /* sqlite3.c:90257:24 */ -var vfsFlags int32 = SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE | SQLITE_OPEN_EXCLUSIVE | SQLITE_OPEN_DELETEONCLOSE | SQLITE_OPEN_TRANSIENT_DB /* sqlite3.c:91512:20 */ + ts + 6091} /* sqlite3.c:88550:25 */ +var and_logic = [9]uint8{uint8(0), uint8(0), uint8(0), uint8(0), uint8(1), uint8(2), uint8(0), uint8(2), uint8(2)} /* sqlite3.c:89774:32 */ +var or_logic = [9]uint8{uint8(0), uint8(1), uint8(2), uint8(1), uint8(1), uint8(1), uint8(2), uint8(1), uint8(2)} /* sqlite3.c:89777:32 */ +var aFlag1 = [2]U16{U16(MEM_Blob), U16(MEM_Str | MEM_Term)} /* sqlite3.c:90270:24 */ +var vfsFlags int32 = SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE | SQLITE_OPEN_EXCLUSIVE | SQLITE_OPEN_DELETEONCLOSE | SQLITE_OPEN_TRANSIENT_DB /* sqlite3.c:91525:20 */ //************* End of vdbe.c *********************************************** //************* Begin file vdbeblob.c *************************************** @@ -75859,7 +75878,7 @@ type Incrblob1 = struct { Fdb uintptr FzDb uintptr FpTab uintptr -} /* sqlite3.c:96011:9 */ +} /* sqlite3.c:96024:9 */ //************* End of vdbe.c *********************************************** //************* Begin file vdbeblob.c *************************************** @@ -75880,7 +75899,7 @@ type Incrblob1 = struct { // #include "vdbeInt.h" // Valid sqlite3_blob* handles point to Incrblob structures. -type Incrblob = Incrblob1 /* sqlite3.c:96011:25 */ +type Incrblob = Incrblob1 /* sqlite3.c:96024:25 */ // This function is used by both blob_open() and blob_reopen(). It seeks // the b-tree cursor associated with blob handle p to point to row iRow. @@ -75897,7 +75916,7 @@ type Incrblob = Incrblob1 /* sqlite3.c:96011:25 */ // If an error does occur, then the b-tree cursor is closed. All subsequent // calls to sqlite3_blob_read(), blob_write() or blob_reopen() will // immediately return SQLITE_ABORT. -func blobSeekToRow(tls *libc.TLS, p uintptr, iRow Sqlite3_int64, pzErr uintptr) int32 { /* sqlite3.c:96041:12: */ +func blobSeekToRow(tls *libc.TLS, p uintptr, iRow Sqlite3_int64, pzErr uintptr) int32 { /* sqlite3.c:96054:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -75973,7 +75992,7 @@ func blobSeekToRow(tls *libc.TLS, p uintptr, iRow Sqlite3_int64, pzErr uintptr) } // Open a blob handle. -func Xsqlite3_blob_open(tls *libc.TLS, db uintptr, zDb uintptr, zTable uintptr, zColumn uintptr, iRow Sqlite_int64, wrFlag int32, ppBlob uintptr) int32 { /* sqlite3.c:96109:16: */ +func Xsqlite3_blob_open(tls *libc.TLS, db uintptr, zDb uintptr, zTable uintptr, zColumn uintptr, iRow Sqlite_int64, wrFlag int32, ppBlob uintptr) int32 { /* sqlite3.c:96122:16: */ bp := tls.Alloc(324) defer tls.Free(324) @@ -76294,7 +76313,7 @@ __38: return rc } -var iLn int32 = 0 /* sqlite3.c:96252:24 */ +var iLn int32 = 0 /* sqlite3.c:96265:24 */ var openBlob = [6]VdbeOpList{ {Fopcode: U8(OP_TableLock)}, // 0: Acquire a read or write lock {Fopcode: U8(OP_OpenRead)}, // 1: Open a cursor @@ -76303,11 +76322,11 @@ var openBlob = [6]VdbeOpList{ {Fopcode: U8(OP_Column), Fp3: int8(1)}, // 3 {Fopcode: U8(OP_ResultRow), Fp1: int8(1)}, // 4 {Fopcode: U8(OP_Halt)}, // 5 -} /* sqlite3.c:96253:31 */ +} /* sqlite3.c:96266:31 */ // Close a blob handle that was previously created using // sqlite3_blob_open(). -func Xsqlite3_blob_close(tls *libc.TLS, pBlob uintptr) int32 { /* sqlite3.c:96344:16: */ +func Xsqlite3_blob_close(tls *libc.TLS, pBlob uintptr) int32 { /* sqlite3.c:96357:16: */ var p uintptr = pBlob var rc int32 var db uintptr @@ -76326,14 +76345,14 @@ func Xsqlite3_blob_close(tls *libc.TLS, pBlob uintptr) int32 { /* sqlite3.c:9634 } // Perform a read or write operation on a blob -func blobReadWrite(tls *libc.TLS, pBlob uintptr, z uintptr, n int32, iOffset int32, xCall uintptr) int32 { /* sqlite3.c:96365:12: */ +func blobReadWrite(tls *libc.TLS, pBlob uintptr, z uintptr, n int32, iOffset int32, xCall uintptr) int32 { /* sqlite3.c:96378:12: */ var rc int32 var p uintptr = pBlob var v uintptr var db uintptr if p == uintptr(0) { - return Xsqlite3MisuseError(tls, 96377) + return Xsqlite3MisuseError(tls, 96390) } db = (*Incrblob)(unsafe.Pointer(p)).Fdb Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) @@ -76392,14 +76411,14 @@ func blobReadWrite(tls *libc.TLS, pBlob uintptr, z uintptr, n int32, iOffset int } // Read data from a blob handle. -func Xsqlite3_blob_read(tls *libc.TLS, pBlob uintptr, z uintptr, n int32, iOffset int32) int32 { /* sqlite3.c:96440:16: */ +func Xsqlite3_blob_read(tls *libc.TLS, pBlob uintptr, z uintptr, n int32, iOffset int32) int32 { /* sqlite3.c:96453:16: */ return blobReadWrite(tls, pBlob, z, n, iOffset, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, U32, U32, uintptr) int32 }{Xsqlite3BtreePayloadChecked}))) } // Write data to a blob handle. -func Xsqlite3_blob_write(tls *libc.TLS, pBlob uintptr, z uintptr, n int32, iOffset int32) int32 { /* sqlite3.c:96447:16: */ +func Xsqlite3_blob_write(tls *libc.TLS, pBlob uintptr, z uintptr, n int32, iOffset int32) int32 { /* sqlite3.c:96460:16: */ return blobReadWrite(tls, pBlob, z, n, iOffset, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, U32, U32, uintptr) int32 }{Xsqlite3BtreePutData}))) @@ -76409,7 +76428,7 @@ func Xsqlite3_blob_write(tls *libc.TLS, pBlob uintptr, z uintptr, n int32, iOffs // // The Incrblob.nByte field is fixed for the lifetime of the Incrblob // so no mutex is required for access. -func Xsqlite3_blob_bytes(tls *libc.TLS, pBlob uintptr) int32 { /* sqlite3.c:96457:16: */ +func Xsqlite3_blob_bytes(tls *libc.TLS, pBlob uintptr) int32 { /* sqlite3.c:96470:16: */ var p uintptr = pBlob if p != 0 && (*Incrblob)(unsafe.Pointer(p)).FpStmt != 0 { return (*Incrblob)(unsafe.Pointer(p)).FnByte @@ -76425,7 +76444,7 @@ func Xsqlite3_blob_bytes(tls *libc.TLS, pBlob uintptr) int32 { /* sqlite3.c:9645 // database handle error code and message set. If this happens, then all // subsequent calls to sqlite3_blob_xxx() functions (except blob_close()) // immediately return SQLITE_ABORT. -func Xsqlite3_blob_reopen(tls *libc.TLS, pBlob uintptr, iRow Sqlite3_int64) int32 { /* sqlite3.c:96472:16: */ +func Xsqlite3_blob_reopen(tls *libc.TLS, pBlob uintptr, iRow Sqlite3_int64) int32 { /* sqlite3.c:96485:16: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -76434,7 +76453,7 @@ func Xsqlite3_blob_reopen(tls *libc.TLS, pBlob uintptr, iRow Sqlite3_int64) int3 var db uintptr if p == uintptr(0) { - return Xsqlite3MisuseError(tls, 96477) + return Xsqlite3MisuseError(tls, 96490) } db = (*Incrblob)(unsafe.Pointer(p)).Fdb Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) @@ -76771,7 +76790,7 @@ type MergeEngine1 = struct { // overflows. 512MiB. // Private objects used by the sorter -type MergeEngine = MergeEngine1 /* sqlite3.c:96666:28 */ // Merge PMAs together +type MergeEngine = MergeEngine1 /* sqlite3.c:96679:28 */ // Merge PMAs together type PmaReader1 = struct { FiReadOff I64 FiEof I64 @@ -76787,7 +76806,7 @@ type PmaReader1 = struct { } /* sqlite3.c:22082:9 */ // Merge PMAs together -type PmaReader = PmaReader1 /* sqlite3.c:96667:26 */ // Incrementally read one PMA +type PmaReader = PmaReader1 /* sqlite3.c:96680:26 */ // Incrementally read one PMA type PmaWriter1 = struct { FeFWErr int32 FaBuffer uintptr @@ -76796,17 +76815,17 @@ type PmaWriter1 = struct { FiBufEnd int32 FiWriteOff I64 FpFd uintptr -} /* sqlite3.c:96668:9 */ +} /* sqlite3.c:96681:9 */ // Incrementally read one PMA -type PmaWriter = PmaWriter1 /* sqlite3.c:96668:26 */ // Incrementally write one PMA +type PmaWriter = PmaWriter1 /* sqlite3.c:96681:26 */ // Incrementally write one PMA type SorterRecord1 = struct { FnVal int32 Fu struct{ FpNext uintptr } } /* sqlite3.c:22082:9 */ // Incrementally write one PMA -type SorterRecord = SorterRecord1 /* sqlite3.c:96669:29 */ // A record being sorted +type SorterRecord = SorterRecord1 /* sqlite3.c:96682:29 */ // A record being sorted type SortSubtask1 = struct { FpThread uintptr FbDone int32 @@ -76820,14 +76839,14 @@ type SortSubtask1 = struct { } /* sqlite3.c:22082:9 */ // A record being sorted -type SortSubtask = SortSubtask1 /* sqlite3.c:96670:28 */ // A sub-task in the sort process +type SortSubtask = SortSubtask1 /* sqlite3.c:96683:28 */ // A sub-task in the sort process type SorterFile1 = struct { FpFd uintptr FiEof I64 } /* sqlite3.c:22082:9 */ // A sub-task in the sort process -type SorterFile = SorterFile1 /* sqlite3.c:96671:27 */ // Temporary file object wrapper +type SorterFile = SorterFile1 /* sqlite3.c:96684:27 */ // Temporary file object wrapper type SorterList1 = struct { FpList uintptr FaMemory uintptr @@ -76835,7 +76854,7 @@ type SorterList1 = struct { } /* sqlite3.c:22082:9 */ // Temporary file object wrapper -type SorterList = SorterList1 /* sqlite3.c:96672:27 */ // In-memory list of records +type SorterList = SorterList1 /* sqlite3.c:96685:27 */ // In-memory list of records type IncrMerger1 = struct { FpTask uintptr FpMerger uintptr @@ -76847,7 +76866,7 @@ type IncrMerger1 = struct { } /* sqlite3.c:22082:9 */ // In-memory list of records -type IncrMerger = IncrMerger1 /* sqlite3.c:96673:27 */ +type IncrMerger = IncrMerger1 /* sqlite3.c:96686:27 */ // This object represents a single thread of control in a sort operation. // Exactly VdbeSorter.nTask instances of this object are allocated @@ -76878,11 +76897,11 @@ type IncrMerger = IncrMerger1 /* sqlite3.c:96673:27 */ // In both cases, the effects of the main thread seeing (bDone==0) even // after the thread has finished are not dire. So we don't worry about // memory barriers and such here. -type SorterCompare = uintptr /* sqlite3.c:96800:13 */ +type SorterCompare = uintptr /* sqlite3.c:96813:13 */ // Free all memory belonging to the PmaReader object passed as the // argument. All structure fields are set to zero before returning. -func vdbePmaReaderClear(tls *libc.TLS, pReadr uintptr) { /* sqlite3.c:96975:13: */ +func vdbePmaReaderClear(tls *libc.TLS, pReadr uintptr) { /* sqlite3.c:96988:13: */ Xsqlite3_free(tls, (*PmaReader)(unsafe.Pointer(pReadr)).FaAlloc) Xsqlite3_free(tls, (*PmaReader)(unsafe.Pointer(pReadr)).FaBuffer) if (*PmaReader)(unsafe.Pointer(pReadr)).FaMap != 0 { @@ -76899,7 +76918,7 @@ func vdbePmaReaderClear(tls *libc.TLS, pReadr uintptr) { /* sqlite3.c:96975:13: // // The buffer returned in *ppOut is only valid until the // next call to this function. -func vdbePmaReadBlob(tls *libc.TLS, p uintptr, nByte int32, ppOut uintptr) int32 { /* sqlite3.c:96992:12: */ +func vdbePmaReadBlob(tls *libc.TLS, p uintptr, nByte int32, ppOut uintptr) int32 { /* sqlite3.c:97005:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -77003,7 +77022,7 @@ func vdbePmaReadBlob(tls *libc.TLS, p uintptr, nByte int32, ppOut uintptr) int32 // Read a varint from the stream of data accessed by p. Set *pnOut to // the value read. -func vdbePmaReadVarint(tls *libc.TLS, p uintptr, pnOut uintptr) int32 { /* sqlite3.c:97086:12: */ +func vdbePmaReadVarint(tls *libc.TLS, p uintptr, pnOut uintptr) int32 { /* sqlite3.c:97099:12: */ bp := tls.Alloc(20) defer tls.Free(20) @@ -77043,7 +77062,7 @@ func vdbePmaReadVarint(tls *libc.TLS, p uintptr, pnOut uintptr) int32 { /* sqlit // // Or, if an error occurs, return an SQLite error code. The final value of // *pp is undefined in this case. -func vdbeSorterMapFile(tls *libc.TLS, pTask uintptr, pFile uintptr, pp uintptr) int32 { /* sqlite3.c:97119:12: */ +func vdbeSorterMapFile(tls *libc.TLS, pTask uintptr, pFile uintptr, pp uintptr) int32 { /* sqlite3.c:97132:12: */ var rc int32 = SQLITE_OK if (*SorterFile)(unsafe.Pointer(pFile)).FiEof <= I64((*Sqlite3)(unsafe.Pointer((*VdbeSorter)(unsafe.Pointer((*SortSubtask)(unsafe.Pointer(pTask)).FpSorter)).Fdb)).FnMaxSorterMmap) { var pFd uintptr = (*SorterFile)(unsafe.Pointer(pFile)).FpFd @@ -77058,7 +77077,7 @@ func vdbeSorterMapFile(tls *libc.TLS, pTask uintptr, pFile uintptr, pp uintptr) // Attach PmaReader pReadr to file pFile (if it is not already attached to // that file) and seek it to offset iOff within the file. Return SQLITE_OK // if successful, or an SQLite error code if an error occurs. -func vdbePmaReaderSeek(tls *libc.TLS, pTask uintptr, pReadr uintptr, pFile uintptr, iOff I64) int32 { /* sqlite3.c:97136:12: */ +func vdbePmaReaderSeek(tls *libc.TLS, pTask uintptr, pReadr uintptr, pFile uintptr, iOff I64) int32 { /* sqlite3.c:97149:12: */ var rc int32 = SQLITE_OK if Xsqlite3FaultSim(tls, 201) != 0 { @@ -77099,7 +77118,7 @@ func vdbePmaReaderSeek(tls *libc.TLS, pTask uintptr, pReadr uintptr, pFile uintp // Advance PmaReader pReadr to the next key in its PMA. Return SQLITE_OK if // no error occurs, or an SQLite error code if one does. -func vdbePmaReaderNext(tls *libc.TLS, pReadr uintptr) int32 { /* sqlite3.c:97183:12: */ +func vdbePmaReaderNext(tls *libc.TLS, pReadr uintptr) int32 { /* sqlite3.c:97196:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -77145,7 +77164,7 @@ func vdbePmaReaderNext(tls *libc.TLS, pReadr uintptr) int32 { /* sqlite3.c:97183 // // If the pnByte parameter is NULL, then it is assumed that the file // contains a single PMA, and that that PMA omits the initial length varint. -func vdbePmaReaderInit(tls *libc.TLS, pTask uintptr, pFile uintptr, iStart I64, pReadr uintptr, pnByte uintptr) int32 { /* sqlite3.c:97230:12: */ +func vdbePmaReaderInit(tls *libc.TLS, pTask uintptr, pFile uintptr, iStart I64, pReadr uintptr, pnByte uintptr) int32 { /* sqlite3.c:97243:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -77168,7 +77187,7 @@ func vdbePmaReaderInit(tls *libc.TLS, pTask uintptr, pFile uintptr, iStart I64, // A version of vdbeSorterCompare() that assumes that it has already been // determined that the first field of key1 is equal to the first field of // key2. -func vdbeSorterCompareTail(tls *libc.TLS, pTask uintptr, pbKey2Cached uintptr, pKey1 uintptr, nKey1 int32, pKey2 uintptr, nKey2 int32) int32 { /* sqlite3.c:97263:12: */ +func vdbeSorterCompareTail(tls *libc.TLS, pTask uintptr, pbKey2Cached uintptr, pKey1 uintptr, nKey1 int32, pKey2 uintptr, nKey2 int32) int32 { /* sqlite3.c:97276:12: */ var r2 uintptr = (*SortSubtask)(unsafe.Pointer(pTask)).FpUnpacked if *(*int32)(unsafe.Pointer(pbKey2Cached)) == 0 { Xsqlite3VdbeRecordUnpack(tls, (*VdbeSorter)(unsafe.Pointer((*SortSubtask)(unsafe.Pointer(pTask)).FpSorter)).FpKeyInfo, nKey2, pKey2, r2) @@ -77188,7 +77207,7 @@ func vdbeSorterCompareTail(tls *libc.TLS, pTask uintptr, pbKey2Cached uintptr, p // // If an OOM error is encountered, (pTask->pUnpacked->error_rc) is set // to SQLITE_NOMEM. -func vdbeSorterCompare(tls *libc.TLS, pTask uintptr, pbKey2Cached uintptr, pKey1 uintptr, nKey1 int32, pKey2 uintptr, nKey2 int32) int32 { /* sqlite3.c:97290:12: */ +func vdbeSorterCompare(tls *libc.TLS, pTask uintptr, pbKey2Cached uintptr, pKey1 uintptr, nKey1 int32, pKey2 uintptr, nKey2 int32) int32 { /* sqlite3.c:97303:12: */ var r2 uintptr = (*SortSubtask)(unsafe.Pointer(pTask)).FpUnpacked if !(*(*int32)(unsafe.Pointer(pbKey2Cached)) != 0) { Xsqlite3VdbeRecordUnpack(tls, (*VdbeSorter)(unsafe.Pointer((*SortSubtask)(unsafe.Pointer(pTask)).FpSorter)).FpKeyInfo, nKey2, pKey2, r2) @@ -77200,7 +77219,7 @@ func vdbeSorterCompare(tls *libc.TLS, pTask uintptr, pbKey2Cached uintptr, pKey1 // A specially optimized version of vdbeSorterCompare() that assumes that // the first field of each key is a TEXT value and that the collation // sequence to compare them with is BINARY. -func vdbeSorterCompareText(tls *libc.TLS, pTask uintptr, pbKey2Cached uintptr, pKey1 uintptr, nKey1 int32, pKey2 uintptr, nKey2 int32) int32 { /* sqlite3.c:97309:12: */ +func vdbeSorterCompareText(tls *libc.TLS, pTask uintptr, pbKey2Cached uintptr, pKey1 uintptr, nKey1 int32, pKey2 uintptr, nKey2 int32) int32 { /* sqlite3.c:97322:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -77250,7 +77269,7 @@ func vdbeSorterCompareText(tls *libc.TLS, pTask uintptr, pbKey2Cached uintptr, p // A specially optimized version of vdbeSorterCompare() that assumes that // the first field of each key is an INTEGER value. -func vdbeSorterCompareInt(tls *libc.TLS, pTask uintptr, pbKey2Cached uintptr, pKey1 uintptr, nKey1 int32, pKey2 uintptr, nKey2 int32) int32 { /* sqlite3.c:97351:12: */ +func vdbeSorterCompareInt(tls *libc.TLS, pTask uintptr, pbKey2Cached uintptr, pKey1 uintptr, nKey1 int32, pKey2 uintptr, nKey2 int32) int32 { /* sqlite3.c:97364:12: */ var p1 uintptr = pKey1 var p2 uintptr = pKey2 var s1 int32 = int32(*(*U8)(unsafe.Pointer(p1 + 1))) // Left hand serial type @@ -77310,7 +77329,7 @@ func vdbeSorterCompareInt(tls *libc.TLS, pTask uintptr, pbKey2Cached uintptr, pK return res } -var aLen = [10]U8{U8(0), U8(1), U8(2), U8(3), U8(4), U8(6), U8(8), U8(0), U8(0), U8(0)} /* sqlite3.c:97370:21 */ +var aLen = [10]U8{U8(0), U8(1), U8(2), U8(3), U8(4), U8(6), U8(8), U8(0), U8(0), U8(0)} /* sqlite3.c:97383:21 */ // Initialize the temporary index cursor just opened as a sorter cursor. // @@ -77329,7 +77348,7 @@ var aLen = [10]U8{U8(0), U8(1), U8(2), U8(3), U8(4), U8(6), U8(8), U8(0), U8(0), // mode, but not in multi-threaded mode. // // SQLITE_OK is returned if successful, or an SQLite error code otherwise. -func Xsqlite3VdbeSorterInit(tls *libc.TLS, db uintptr, nField int32, pCsr uintptr) int32 { /* sqlite3.c:97434:20: */ +func Xsqlite3VdbeSorterInit(tls *libc.TLS, db uintptr, nField int32, pCsr uintptr) int32 { /* sqlite3.c:97447:20: */ var pgsz int32 // Page size of main database var i int32 // Used to iterate through aTask[] var pSorter uintptr // The new sorter @@ -77425,7 +77444,7 @@ func Xsqlite3VdbeSorterInit(tls *libc.TLS, db uintptr, nField int32, pCsr uintpt } // Free the list of sorted records starting at pRecord. -func vdbeSorterRecordFree(tls *libc.TLS, db uintptr, pRecord uintptr) { /* sqlite3.c:97540:13: */ +func vdbeSorterRecordFree(tls *libc.TLS, db uintptr, pRecord uintptr) { /* sqlite3.c:97553:13: */ var p uintptr var pNext uintptr for p = pRecord; p != 0; p = pNext { @@ -77436,7 +77455,7 @@ func vdbeSorterRecordFree(tls *libc.TLS, db uintptr, pRecord uintptr) { /* sqlit // Free all resources owned by the object indicated by argument pTask. All // fields of *pTask are zeroed before returning. -func vdbeSortSubtaskCleanup(tls *libc.TLS, db uintptr, pTask uintptr) { /* sqlite3.c:97553:13: */ +func vdbeSortSubtaskCleanup(tls *libc.TLS, db uintptr, pTask uintptr) { /* sqlite3.c:97566:13: */ Xsqlite3DbFree(tls, db, (*SortSubtask)(unsafe.Pointer(pTask)).FpUnpacked) // pTask->list.aMemory can only be non-zero if it was handed memory // from the main thread. That only occurs SQLITE_MAX_WORKER_THREADS>0 @@ -77456,7 +77475,7 @@ func vdbeSortSubtaskCleanup(tls *libc.TLS, db uintptr, pTask uintptr) { /* sqlit } // Join thread pTask->thread. -func vdbeSorterJoinThread(tls *libc.TLS, pTask uintptr) int32 { /* sqlite3.c:97619:12: */ +func vdbeSorterJoinThread(tls *libc.TLS, pTask uintptr) int32 { /* sqlite3.c:97632:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -77475,14 +77494,14 @@ func vdbeSorterJoinThread(tls *libc.TLS, pTask uintptr) int32 { /* sqlite3.c:976 } // Launch a background thread to run xTask(pIn). -func vdbeSorterCreateThread(tls *libc.TLS, pTask uintptr, xTask uintptr, pIn uintptr) int32 { /* sqlite3.c:97640:12: */ +func vdbeSorterCreateThread(tls *libc.TLS, pTask uintptr, xTask uintptr, pIn uintptr) int32 { /* sqlite3.c:97653:12: */ return Xsqlite3ThreadCreate(tls, pTask, xTask, pIn) } // Join all outstanding threads launched by SorterWrite() to create // level-0 PMAs. -func vdbeSorterJoinAll(tls *libc.TLS, pSorter uintptr, rcin int32) int32 { /* sqlite3.c:97653:12: */ +func vdbeSorterJoinAll(tls *libc.TLS, pSorter uintptr, rcin int32) int32 { /* sqlite3.c:97666:12: */ var rc int32 = rcin var i int32 @@ -77508,7 +77527,7 @@ func vdbeSorterJoinAll(tls *libc.TLS, pSorter uintptr, rcin int32) int32 { /* sq // // nReader is automatically rounded up to the next power of two. // nReader may not exceed SORTER_MAX_MERGE_COUNT even after rounding up. -func vdbeMergeEngineNew(tls *libc.TLS, nReader int32) uintptr { /* sqlite3.c:97683:20: */ +func vdbeMergeEngineNew(tls *libc.TLS, nReader int32) uintptr { /* sqlite3.c:97696:20: */ var N int32 = 2 // Smallest power of two >= nReader var nByte int32 // Total bytes of space to allocate var pNew uintptr // Pointer to allocated object to return @@ -77533,7 +77552,7 @@ func vdbeMergeEngineNew(tls *libc.TLS, nReader int32) uintptr { /* sqlite3.c:976 } // Free the MergeEngine object passed as the only argument. -func vdbeMergeEngineFree(tls *libc.TLS, pMerger uintptr) { /* sqlite3.c:97706:13: */ +func vdbeMergeEngineFree(tls *libc.TLS, pMerger uintptr) { /* sqlite3.c:97719:13: */ var i int32 if pMerger != 0 { for i = 0; i < (*MergeEngine)(unsafe.Pointer(pMerger)).FnTree; i++ { @@ -77545,7 +77564,7 @@ func vdbeMergeEngineFree(tls *libc.TLS, pMerger uintptr) { /* sqlite3.c:97706:13 // Free all resources associated with the IncrMerger object indicated by // the first argument. -func vdbeIncrFree(tls *libc.TLS, pIncr uintptr) { /* sqlite3.c:97720:13: */ +func vdbeIncrFree(tls *libc.TLS, pIncr uintptr) { /* sqlite3.c:97733:13: */ if pIncr != 0 { if (*IncrMerger)(unsafe.Pointer(pIncr)).FbUseThread != 0 { vdbeSorterJoinThread(tls, (*IncrMerger)(unsafe.Pointer(pIncr)).FpTask) @@ -77562,7 +77581,7 @@ func vdbeIncrFree(tls *libc.TLS, pIncr uintptr) { /* sqlite3.c:97720:13: */ } // Reset a sorting cursor back to its original empty state. -func Xsqlite3VdbeSorterReset(tls *libc.TLS, db uintptr, pSorter uintptr) { /* sqlite3.c:97737:21: */ +func Xsqlite3VdbeSorterReset(tls *libc.TLS, db uintptr, pSorter uintptr) { /* sqlite3.c:97750:21: */ var i int32 vdbeSorterJoinAll(tls, pSorter, SQLITE_OK) @@ -77591,7 +77610,7 @@ func Xsqlite3VdbeSorterReset(tls *libc.TLS, db uintptr, pSorter uintptr) { /* sq } // Free any cursor components allocated by sqlite3VdbeSorterXXX routines. -func Xsqlite3VdbeSorterClose(tls *libc.TLS, db uintptr, pCsr uintptr) { /* sqlite3.c:97770:21: */ +func Xsqlite3VdbeSorterClose(tls *libc.TLS, db uintptr, pCsr uintptr) { /* sqlite3.c:97783:21: */ var pSorter uintptr pSorter = *(*uintptr)(unsafe.Pointer(pCsr + 36)) @@ -77610,7 +77629,7 @@ func Xsqlite3VdbeSorterClose(tls *libc.TLS, db uintptr, pCsr uintptr) { /* sqlit // // Whether or not the file does end up memory mapped of course depends on // the specific VFS implementation. -func vdbeSorterExtendFile(tls *libc.TLS, db uintptr, pFd uintptr, nByte I64) { /* sqlite3.c:97792:13: */ +func vdbeSorterExtendFile(tls *libc.TLS, db uintptr, pFd uintptr, nByte I64) { /* sqlite3.c:97805:13: */ bp := tls.Alloc(16) defer tls.Free(16) *(*I64)(unsafe.Pointer(bp + 4)) = nByte @@ -77630,7 +77649,7 @@ func vdbeSorterExtendFile(tls *libc.TLS, db uintptr, pFd uintptr, nByte I64) { / // Allocate space for a file-handle and open a temporary file. If successful, // set *ppFd to point to the malloc'd file-handle and return SQLITE_OK. // Otherwise, set *ppFd to 0 and return an SQLite error code. -func vdbeSorterOpenTempFile(tls *libc.TLS, db uintptr, nExtend I64, ppFd uintptr) int32 { /* sqlite3.c:97811:12: */ +func vdbeSorterOpenTempFile(tls *libc.TLS, db uintptr, nExtend I64, ppFd uintptr) int32 { /* sqlite3.c:97824:12: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -77654,7 +77673,7 @@ func vdbeSorterOpenTempFile(tls *libc.TLS, db uintptr, nExtend I64, ppFd uintptr // If it has not already been allocated, allocate the UnpackedRecord // structure at pTask->pUnpacked. Return SQLITE_OK if successful (or // if no allocation was required), or SQLITE_NOMEM otherwise. -func vdbeSortAllocUnpacked(tls *libc.TLS, pTask uintptr) int32 { /* sqlite3.c:97838:12: */ +func vdbeSortAllocUnpacked(tls *libc.TLS, pTask uintptr) int32 { /* sqlite3.c:97851:12: */ if (*SortSubtask)(unsafe.Pointer(pTask)).FpUnpacked == uintptr(0) { (*SortSubtask)(unsafe.Pointer(pTask)).FpUnpacked = Xsqlite3VdbeAllocUnpackedRecord(tls, (*VdbeSorter)(unsafe.Pointer((*SortSubtask)(unsafe.Pointer(pTask)).FpSorter)).FpKeyInfo) if (*SortSubtask)(unsafe.Pointer(pTask)).FpUnpacked == uintptr(0) { @@ -77667,7 +77686,7 @@ func vdbeSortAllocUnpacked(tls *libc.TLS, pTask uintptr) int32 { /* sqlite3.c:97 } // Merge the two sorted lists p1 and p2 into a single list. -func vdbeSorterMerge(tls *libc.TLS, pTask uintptr, p1 uintptr, p2 uintptr) uintptr { /* sqlite3.c:97852:21: */ +func vdbeSorterMerge(tls *libc.TLS, pTask uintptr, p1 uintptr, p2 uintptr) uintptr { /* sqlite3.c:97865:21: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -77706,7 +77725,7 @@ func vdbeSorterMerge(tls *libc.TLS, pTask uintptr, p1 uintptr, p2 uintptr) uintp // Return the SorterCompare function to compare values collected by the // sorter object passed as the only argument. -func vdbeSorterGetCompare(tls *libc.TLS, p uintptr) SorterCompare { /* sqlite3.c:97894:22: */ +func vdbeSorterGetCompare(tls *libc.TLS, p uintptr) SorterCompare { /* sqlite3.c:97907:22: */ if int32((*VdbeSorter)(unsafe.Pointer(p)).FtypeMask) == SORTER_TYPE_INTEGER { return *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr, int32) int32 @@ -77724,7 +77743,7 @@ func vdbeSorterGetCompare(tls *libc.TLS, p uintptr) SorterCompare { /* sqlite3.c // Sort the linked list of records headed at pTask->pList. Return // SQLITE_OK if successful, or an SQLite error code (i.e. SQLITE_NOMEM) if // an error occurs. -func vdbeSorterSort(tls *libc.TLS, pTask uintptr, pList uintptr) int32 { /* sqlite3.c:97908:12: */ +func vdbeSorterSort(tls *libc.TLS, pTask uintptr, pList uintptr) int32 { /* sqlite3.c:97921:12: */ bp := tls.Alloc(256) defer tls.Free(256) @@ -77781,7 +77800,7 @@ func vdbeSorterSort(tls *libc.TLS, pTask uintptr, pList uintptr) int32 { /* sqli } // Initialize a PMA-writer object. -func vdbePmaWriterInit(tls *libc.TLS, pFd uintptr, p uintptr, nBuf int32, iStart I64) { /* sqlite3.c:97959:13: */ +func vdbePmaWriterInit(tls *libc.TLS, pFd uintptr, p uintptr, nBuf int32, iStart I64) { /* sqlite3.c:97972:13: */ libc.Xmemset(tls, p, 0, uint32(unsafe.Sizeof(PmaWriter{}))) (*PmaWriter)(unsafe.Pointer(p)).FaBuffer = Xsqlite3Malloc(tls, uint64(nBuf)) if !(int32((*PmaWriter)(unsafe.Pointer(p)).FaBuffer) != 0) { @@ -77796,7 +77815,7 @@ func vdbePmaWriterInit(tls *libc.TLS, pFd uintptr, p uintptr, nBuf int32, iStart // Write nData bytes of data to the PMA. Return SQLITE_OK // if successful, or an SQLite error code if an error occurs. -func vdbePmaWriteBlob(tls *libc.TLS, p uintptr, pData uintptr, nData int32) { /* sqlite3.c:97981:13: */ +func vdbePmaWriteBlob(tls *libc.TLS, p uintptr, pData uintptr, nData int32) { /* sqlite3.c:97994:13: */ var nRem int32 = nData for nRem > 0 && (*PmaWriter)(unsafe.Pointer(p)).FeFWErr == 0 { var nCopy int32 = nRem @@ -77825,7 +77844,7 @@ func vdbePmaWriteBlob(tls *libc.TLS, p uintptr, pData uintptr, nData int32) { /* // // Before returning, set *piEof to the offset immediately following the // last byte written to the file. -func vdbePmaWriterFinish(tls *libc.TLS, p uintptr, piEof uintptr) int32 { /* sqlite3.c:98014:12: */ +func vdbePmaWriterFinish(tls *libc.TLS, p uintptr, piEof uintptr) int32 { /* sqlite3.c:98027:12: */ var rc int32 if (*PmaWriter)(unsafe.Pointer(p)).FeFWErr == 0 && (*PmaWriter)(unsafe.Pointer(p)).FaBuffer != 0 && (*PmaWriter)(unsafe.Pointer(p)).FiBufEnd > (*PmaWriter)(unsafe.Pointer(p)).FiBufStart { (*PmaWriter)(unsafe.Pointer(p)).FeFWErr = Xsqlite3OsWrite(tls, (*PmaWriter)(unsafe.Pointer(p)).FpFd, @@ -77841,7 +77860,7 @@ func vdbePmaWriterFinish(tls *libc.TLS, p uintptr, piEof uintptr) int32 { /* sql // Write value iVal encoded as a varint to the PMA. Return // SQLITE_OK if successful, or an SQLite error code if an error occurs. -func vdbePmaWriteVarint(tls *libc.TLS, p uintptr, iVal U64) { /* sqlite3.c:98033:13: */ +func vdbePmaWriteVarint(tls *libc.TLS, p uintptr, iVal U64) { /* sqlite3.c:98046:13: */ bp := tls.Alloc(10) defer tls.Free(10) @@ -77864,7 +77883,7 @@ func vdbePmaWriteVarint(tls *libc.TLS, p uintptr, iVal U64) { /* sqlite3.c:98033 // * One or more records packed end-to-end in order of ascending keys. // Each record consists of a varint followed by a blob of data (the // key). The varint is the number of bytes in the blob of data. -func vdbeSorterListToPMA(tls *libc.TLS, pTask uintptr, pList uintptr) int32 { /* sqlite3.c:98054:12: */ +func vdbeSorterListToPMA(tls *libc.TLS, pTask uintptr, pList uintptr) int32 { /* sqlite3.c:98067:12: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -77919,7 +77938,7 @@ func vdbeSorterListToPMA(tls *libc.TLS, pTask uintptr, pList uintptr) int32 { /* // the MergeEngine has reached the end of all its inputs. // // Return SQLITE_OK if successful or an error code if an error occurs. -func vdbeMergeEngineStep(tls *libc.TLS, pMerger uintptr, pbEof uintptr) int32 { /* sqlite3.c:98118:12: */ +func vdbeMergeEngineStep(tls *libc.TLS, pMerger uintptr, pbEof uintptr) int32 { /* sqlite3.c:98131:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -77995,7 +78014,7 @@ func vdbeMergeEngineStep(tls *libc.TLS, pMerger uintptr, pbEof uintptr) int32 { } // The main routine for background threads that write level-0 PMAs. -func vdbeSorterFlushThread(tls *libc.TLS, pCtx uintptr) uintptr { /* sqlite3.c:98189:13: */ +func vdbeSorterFlushThread(tls *libc.TLS, pCtx uintptr) uintptr { /* sqlite3.c:98202:13: */ var pTask uintptr = pCtx var rc int32 // Return code @@ -78006,7 +78025,7 @@ func vdbeSorterFlushThread(tls *libc.TLS, pCtx uintptr) uintptr { /* sqlite3.c:9 // Flush the current contents of VdbeSorter.list to a new PMA, possibly // using a background thread. -func vdbeSorterFlushPMA(tls *libc.TLS, pSorter uintptr) int32 { /* sqlite3.c:98203:12: */ +func vdbeSorterFlushPMA(tls *libc.TLS, pSorter uintptr) int32 { /* sqlite3.c:98216:12: */ var rc int32 = SQLITE_OK var i int32 var pTask uintptr = uintptr(0) // Thread context used to create new PMA @@ -78070,7 +78089,7 @@ func vdbeSorterFlushPMA(tls *libc.TLS, pSorter uintptr) int32 { /* sqlite3.c:982 } // Add a record to the sorter. -func Xsqlite3VdbeSorterWrite(tls *libc.TLS, pCsr uintptr, pVal uintptr) int32 { /* sqlite3.c:98273:20: */ +func Xsqlite3VdbeSorterWrite(tls *libc.TLS, pCsr uintptr, pVal uintptr) int32 { /* sqlite3.c:98286:20: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -78186,7 +78205,7 @@ func Xsqlite3VdbeSorterWrite(tls *libc.TLS, pCsr uintptr, pVal uintptr) int32 { // Read keys from pIncr->pMerger and populate pIncr->aFile[1]. The format // of the data stored in aFile[1] is the same as that used by regular PMAs, // except that the number-of-bytes varint is omitted from the start. -func vdbeIncrPopulate(tls *libc.TLS, pIncr uintptr) int32 { /* sqlite3.c:98385:12: */ +func vdbeIncrPopulate(tls *libc.TLS, pIncr uintptr) int32 { /* sqlite3.c:98398:12: */ bp := tls.Alloc(36) defer tls.Free(36) @@ -78232,7 +78251,7 @@ func vdbeIncrPopulate(tls *libc.TLS, pIncr uintptr) int32 { /* sqlite3.c:98385:1 // The main routine for background threads that populate aFile[1] of // multi-threaded IncrMerger objects. -func vdbeIncrPopulateThread(tls *libc.TLS, pCtx uintptr) uintptr { /* sqlite3.c:98427:13: */ +func vdbeIncrPopulateThread(tls *libc.TLS, pCtx uintptr) uintptr { /* sqlite3.c:98440:13: */ var pIncr uintptr = pCtx var pRet uintptr = uintptr(vdbeIncrPopulate(tls, pIncr)) (*SortSubtask)(unsafe.Pointer((*IncrMerger)(unsafe.Pointer(pIncr)).FpTask)).FbDone = 1 @@ -78240,7 +78259,7 @@ func vdbeIncrPopulateThread(tls *libc.TLS, pCtx uintptr) uintptr { /* sqlite3.c: } // Launch a background thread to populate aFile[1] of pIncr. -func vdbeIncrBgPopulate(tls *libc.TLS, pIncr uintptr) int32 { /* sqlite3.c:98437:12: */ +func vdbeIncrBgPopulate(tls *libc.TLS, pIncr uintptr) int32 { /* sqlite3.c:98450:12: */ var p uintptr = pIncr return vdbeSorterCreateThread(tls, (*IncrMerger)(unsafe.Pointer(pIncr)).FpTask, *(*uintptr)(unsafe.Pointer(&struct { @@ -78263,7 +78282,7 @@ func vdbeIncrBgPopulate(tls *libc.TLS, pIncr uintptr) int32 { /* sqlite3.c:98437 // to populate the new aFile[1]. // // SQLITE_OK is returned on success, or an SQLite error code otherwise. -func vdbeIncrSwap(tls *libc.TLS, pIncr uintptr) int32 { /* sqlite3.c:98461:12: */ +func vdbeIncrSwap(tls *libc.TLS, pIncr uintptr) int32 { /* sqlite3.c:98474:12: */ var rc int32 = SQLITE_OK if (*IncrMerger)(unsafe.Pointer(pIncr)).FbUseThread != 0 { @@ -78297,7 +78316,7 @@ func vdbeIncrSwap(tls *libc.TLS, pIncr uintptr) int32 { /* sqlite3.c:98461:12: * // // If an OOM condition is encountered, return NULL. In this case free the // pMerger argument before returning. -func vdbeIncrMergerNew(tls *libc.TLS, pTask uintptr, pMerger uintptr, ppOut uintptr) int32 { /* sqlite3.c:98500:12: */ +func vdbeIncrMergerNew(tls *libc.TLS, pTask uintptr, pMerger uintptr, ppOut uintptr) int32 { /* sqlite3.c:98513:12: */ var rc int32 = SQLITE_OK var pIncr uintptr = libc.AssignPtrUintptr(ppOut, func() uintptr { if Xsqlite3FaultSim(tls, 100) != 0 { @@ -78324,7 +78343,7 @@ func vdbeIncrMergerNew(tls *libc.TLS, pTask uintptr, pMerger uintptr, ppOut uint } // Set the "use-threads" flag on object pIncr. -func vdbeIncrMergerSetThreads(tls *libc.TLS, pIncr uintptr) { /* sqlite3.c:98525:13: */ +func vdbeIncrMergerSetThreads(tls *libc.TLS, pIncr uintptr) { /* sqlite3.c:98538:13: */ (*IncrMerger)(unsafe.Pointer(pIncr)).FbUseThread = 1 *(*I64)(unsafe.Pointer((*IncrMerger)(unsafe.Pointer(pIncr)).FpTask + 48 + 4)) -= I64((*IncrMerger)(unsafe.Pointer(pIncr)).FmxSz) } @@ -78332,7 +78351,7 @@ func vdbeIncrMergerSetThreads(tls *libc.TLS, pIncr uintptr) { /* sqlite3.c:98525 // Recompute pMerger->aTree[iOut] by comparing the next keys on the // two PmaReaders that feed that entry. Neither of the PmaReaders // are advanced. This routine merely does the comparison. -func vdbeMergeEngineCompare(tls *libc.TLS, pMerger uintptr, iOut int32) { /* sqlite3.c:98538:13: */ +func vdbeMergeEngineCompare(tls *libc.TLS, pMerger uintptr, iOut int32) { /* sqlite3.c:98551:13: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -78392,7 +78411,7 @@ func vdbeMergeEngineCompare(tls *libc.TLS, pMerger uintptr, iOut int32) { /* sql // to pMerger. // // SQLITE_OK is returned if successful, or an SQLite error code otherwise. -func vdbeMergeEngineInit(tls *libc.TLS, pTask uintptr, pMerger uintptr, eMode int32) int32 { /* sqlite3.c:98620:12: */ +func vdbeMergeEngineInit(tls *libc.TLS, pTask uintptr, pMerger uintptr, eMode int32) int32 { /* sqlite3.c:98633:12: */ var rc int32 = SQLITE_OK // Return code var i int32 // For looping over PmaReader objects var nTree int32 // Number of subtrees to merge @@ -78462,7 +78481,7 @@ func vdbeMergeEngineInit(tls *libc.TLS, pTask uintptr, pMerger uintptr, eMode in // the current PmaReader set to point to the first key in its range. // // SQLITE_OK is returned if successful, or an SQLite error code otherwise. -func vdbePmaReaderIncrMergeInit(tls *libc.TLS, pReadr uintptr, eMode int32) int32 { /* sqlite3.c:98696:12: */ +func vdbePmaReaderIncrMergeInit(tls *libc.TLS, pReadr uintptr, eMode int32) int32 { /* sqlite3.c:98709:12: */ var rc int32 = SQLITE_OK var pIncr uintptr = (*PmaReader)(unsafe.Pointer(pReadr)).FpIncr var pTask uintptr = (*IncrMerger)(unsafe.Pointer(pIncr)).FpTask @@ -78519,7 +78538,7 @@ func vdbePmaReaderIncrMergeInit(tls *libc.TLS, pReadr uintptr, eMode int32) int3 // The main routine for vdbePmaReaderIncrMergeInit() operations run in // background threads. -func vdbePmaReaderBgIncrInit(tls *libc.TLS, pCtx uintptr) uintptr { /* sqlite3.c:98763:13: */ +func vdbePmaReaderBgIncrInit(tls *libc.TLS, pCtx uintptr) uintptr { /* sqlite3.c:98776:13: */ var pReader uintptr = pCtx var pRet uintptr = uintptr(vdbePmaReaderIncrMergeInit(tls, pReader, INCRINIT_TASK)) (*SortSubtask)(unsafe.Pointer((*IncrMerger)(unsafe.Pointer((*PmaReader)(unsafe.Pointer(pReader)).FpIncr)).FpTask)).FbDone = 1 @@ -78535,7 +78554,7 @@ func vdbePmaReaderBgIncrInit(tls *libc.TLS, pCtx uintptr) uintptr { /* sqlite3.c // then a background thread is launched to call vdbePmaReaderIncrMergeInit(). // Or, if the IncrMerger is single threaded, the same function is called // using the current thread. -func vdbePmaReaderIncrInit(tls *libc.TLS, pReadr uintptr, eMode int32) int32 { /* sqlite3.c:98784:12: */ +func vdbePmaReaderIncrInit(tls *libc.TLS, pReadr uintptr, eMode int32) int32 { /* sqlite3.c:98797:12: */ var pIncr uintptr = (*PmaReader)(unsafe.Pointer(pReadr)).FpIncr // Incremental merger var rc int32 = SQLITE_OK // Return code if pIncr != 0 { @@ -78562,7 +78581,7 @@ func vdbePmaReaderIncrInit(tls *libc.TLS, pReadr uintptr, eMode int32) int32 { / // set to the offset immediately following the last byte of the last // PMA before returning. If an error does occur, then the final value of // *piOffset is undefined. -func vdbeMergeEngineLevel0(tls *libc.TLS, pTask uintptr, nPMA int32, piOffset uintptr, ppOut uintptr) int32 { /* sqlite3.c:98814:12: */ +func vdbeMergeEngineLevel0(tls *libc.TLS, pTask uintptr, nPMA int32, piOffset uintptr, ppOut uintptr) int32 { /* sqlite3.c:98827:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -78599,7 +78618,7 @@ func vdbeMergeEngineLevel0(tls *libc.TLS, pTask uintptr, nPMA int32, piOffset ui // nPMA<=16 -> TreeDepth() == 0 // nPMA<=256 -> TreeDepth() == 1 // nPMA<=65536 -> TreeDepth() == 2 -func vdbeSorterTreeDepth(tls *libc.TLS, nPMA int32) int32 { /* sqlite3.c:98853:12: */ +func vdbeSorterTreeDepth(tls *libc.TLS, nPMA int32) int32 { /* sqlite3.c:98866:12: */ var nDepth int32 = 0 var nDiv I64 = int64(SORTER_MAX_MERGE_COUNT) for nDiv < I64(nPMA) { @@ -78615,7 +78634,7 @@ func vdbeSorterTreeDepth(tls *libc.TLS, nPMA int32) int32 { /* sqlite3.c:98853:1 // // If successful, SQLITE_OK is returned. If an error occurs, an SQLite error // code is returned and pLeaf is freed. -func vdbeSorterAddToTree(tls *libc.TLS, pTask uintptr, nDepth int32, iSeq int32, pRoot uintptr, pLeaf uintptr) int32 { /* sqlite3.c:98871:12: */ +func vdbeSorterAddToTree(tls *libc.TLS, pTask uintptr, nDepth int32, iSeq int32, pRoot uintptr, pLeaf uintptr) int32 { /* sqlite3.c:98884:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -78666,7 +78685,7 @@ func vdbeSorterAddToTree(tls *libc.TLS, pTask uintptr, nDepth int32, iSeq int32, // MergeEngine object at the root of the tree before returning. Or, if an // error occurs, an SQLite error code is returned and the final value // of *ppOut is undefined. -func vdbeSorterMergeTreeBuild(tls *libc.TLS, pSorter uintptr, ppOut uintptr) int32 { /* sqlite3.c:98927:12: */ +func vdbeSorterMergeTreeBuild(tls *libc.TLS, pSorter uintptr, ppOut uintptr) int32 { /* sqlite3.c:98940:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -78747,7 +78766,7 @@ func vdbeSorterMergeTreeBuild(tls *libc.TLS, pSorter uintptr, ppOut uintptr) int // all records stored in the sorter. // // SQLITE_OK is returned if successful, or an SQLite error code otherwise. -func vdbeSorterSetupMerge(tls *libc.TLS, pSorter uintptr) int32 { /* sqlite3.c:99006:12: */ +func vdbeSorterSetupMerge(tls *libc.TLS, pSorter uintptr) int32 { /* sqlite3.c:99019:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -78822,7 +78841,7 @@ func vdbeSorterSetupMerge(tls *libc.TLS, pSorter uintptr) int32 { /* sqlite3.c:9 // Once the sorter has been populated by calls to sqlite3VdbeSorterWrite, // this function is called to prepare for iterating through the records // in sorted order. -func Xsqlite3VdbeSorterRewind(tls *libc.TLS, pCsr uintptr, pbEof uintptr) int32 { /* sqlite3.c:99088:20: */ +func Xsqlite3VdbeSorterRewind(tls *libc.TLS, pCsr uintptr, pbEof uintptr) int32 { /* sqlite3.c:99101:20: */ var pSorter uintptr var rc int32 = SQLITE_OK // Return code @@ -78867,7 +78886,7 @@ func Xsqlite3VdbeSorterRewind(tls *libc.TLS, pCsr uintptr, pbEof uintptr) int32 // SQLITE_OK success // SQLITE_DONE end of data // otherwise some kind of error. -func Xsqlite3VdbeSorterNext(tls *libc.TLS, db uintptr, pCsr uintptr) int32 { /* sqlite3.c:99140:20: */ +func Xsqlite3VdbeSorterNext(tls *libc.TLS, db uintptr, pCsr uintptr) int32 { /* sqlite3.c:99153:20: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -78909,7 +78928,7 @@ func Xsqlite3VdbeSorterNext(tls *libc.TLS, db uintptr, pCsr uintptr) int32 { /* // Return a pointer to a buffer owned by the sorter that contains the // current key. -func vdbeSorterRowkey(tls *libc.TLS, pSorter uintptr, pnKey uintptr) uintptr { /* sqlite3.c:99178:13: */ +func vdbeSorterRowkey(tls *libc.TLS, pSorter uintptr, pnKey uintptr) uintptr { /* sqlite3.c:99191:13: */ var pKey uintptr if (*VdbeSorter)(unsafe.Pointer(pSorter)).FbUsePMA != 0 { var pReader uintptr @@ -78928,7 +78947,7 @@ func vdbeSorterRowkey(tls *libc.TLS, pSorter uintptr, pnKey uintptr) uintptr { / } // Copy the current sorter key into the memory cell pOut. -func Xsqlite3VdbeSorterRowkey(tls *libc.TLS, pCsr uintptr, pOut uintptr) int32 { /* sqlite3.c:99205:20: */ +func Xsqlite3VdbeSorterRowkey(tls *libc.TLS, pCsr uintptr, pOut uintptr) int32 { /* sqlite3.c:99218:20: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -78963,7 +78982,7 @@ func Xsqlite3VdbeSorterRowkey(tls *libc.TLS, pCsr uintptr, pOut uintptr) int32 { // // This routine forms the core of the OP_SorterCompare opcode, which in // turn is used to verify uniqueness when constructing a UNIQUE INDEX. -func Xsqlite3VdbeSorterCompare(tls *libc.TLS, pCsr uintptr, pVal uintptr, nKeyCol int32, pRes uintptr) int32 { /* sqlite3.c:99238:20: */ +func Xsqlite3VdbeSorterCompare(tls *libc.TLS, pCsr uintptr, pVal uintptr, nKeyCol int32, pRes uintptr) int32 { /* sqlite3.c:99251:20: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -79054,7 +79073,7 @@ type MemJournal1 = struct { Fflags int32 FpVfs uintptr FzJournal uintptr -} /* sqlite3.c:99731:9 */ +} /* sqlite3.c:99744:9 */ //************* End of vdbesort.c ******************************************* //************* Begin file vdbevtab.c *************************************** @@ -79101,23 +79120,23 @@ type MemJournal1 = struct { // #include "sqliteInt.h" // Forward references to internal structures -type MemJournal = MemJournal1 /* sqlite3.c:99731:27 */ +type MemJournal = MemJournal1 /* sqlite3.c:99744:27 */ type FilePoint1 = struct { FiOffset Sqlite3_int64 FpChunk uintptr -} /* sqlite3.c:99731:9 */ +} /* sqlite3.c:99744:9 */ -type FilePoint = FilePoint1 /* sqlite3.c:99732:26 */ +type FilePoint = FilePoint1 /* sqlite3.c:99745:26 */ type FileChunk1 = struct { FpNext uintptr FzChunk [8]U8 -} /* sqlite3.c:99731:9 */ +} /* sqlite3.c:99744:9 */ -type FileChunk = FileChunk1 /* sqlite3.c:99733:26 */ +type FileChunk = FileChunk1 /* sqlite3.c:99746:26 */ // Read data from the in-memory journal file. This is the implementation // of the sqlite3_vfs.xRead method. -func memjrnlRead(tls *libc.TLS, pJfd uintptr, zBuf uintptr, iAmt int32, iOfst Sqlite_int64) int32 { /* sqlite3.c:99788:12: */ +func memjrnlRead(tls *libc.TLS, pJfd uintptr, zBuf uintptr, iAmt int32, iOfst Sqlite_int64) int32 { /* sqlite3.c:99801:12: */ var p uintptr = pJfd var zOut uintptr = zBuf var nRead int32 = iAmt @@ -79164,7 +79183,7 @@ func memjrnlRead(tls *libc.TLS, pJfd uintptr, zBuf uintptr, iAmt int32, iOfst Sq } // Free the list of FileChunk structures headed at MemJournal.pFirst. -func memjrnlFreeChunks(tls *libc.TLS, pFirst uintptr) { /* sqlite3.c:99835:13: */ +func memjrnlFreeChunks(tls *libc.TLS, pFirst uintptr) { /* sqlite3.c:99848:13: */ var pIter uintptr var pNext uintptr for pIter = pFirst; pIter != 0; pIter = pNext { @@ -79174,7 +79193,7 @@ func memjrnlFreeChunks(tls *libc.TLS, pFirst uintptr) { /* sqlite3.c:99835:13: * } // Flush the contents of memory to a real file on disk. -func memjrnlCreateFile(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:99847:12: */ +func memjrnlCreateFile(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:99860:12: */ var rc int32 var pReal uintptr = p var copy = *(*MemJournal)(unsafe.Pointer(p)) @@ -79212,7 +79231,7 @@ func memjrnlCreateFile(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:99847:12: } // Write data to the file. -func memjrnlWrite(tls *libc.TLS, pJfd uintptr, zBuf uintptr, iAmt int32, iOfst Sqlite_int64) int32 { /* sqlite3.c:99889:12: */ +func memjrnlWrite(tls *libc.TLS, pJfd uintptr, zBuf uintptr, iAmt int32, iOfst Sqlite_int64) int32 { /* sqlite3.c:99902:12: */ var p uintptr = pJfd var nWrite int32 = iAmt var zWrite uintptr = zBuf @@ -79278,7 +79297,7 @@ func memjrnlWrite(tls *libc.TLS, pJfd uintptr, zBuf uintptr, iAmt int32, iOfst S } // Truncate the in-memory file. -func memjrnlTruncate(tls *libc.TLS, pJfd uintptr, size Sqlite_int64) int32 { /* sqlite3.c:99962:12: */ +func memjrnlTruncate(tls *libc.TLS, pJfd uintptr, size Sqlite_int64) int32 { /* sqlite3.c:99975:12: */ var p uintptr = pJfd if size < (*MemJournal)(unsafe.Pointer(p)).Fendpoint.FiOffset { @@ -79306,7 +79325,7 @@ func memjrnlTruncate(tls *libc.TLS, pJfd uintptr, size Sqlite_int64) int32 { /* } // Close the file. -func memjrnlClose(tls *libc.TLS, pJfd uintptr) int32 { /* sqlite3.c:99992:12: */ +func memjrnlClose(tls *libc.TLS, pJfd uintptr) int32 { /* sqlite3.c:100005:12: */ var p uintptr = pJfd memjrnlFreeChunks(tls, (*MemJournal)(unsafe.Pointer(p)).FpFirst) return SQLITE_OK @@ -79316,14 +79335,14 @@ func memjrnlClose(tls *libc.TLS, pJfd uintptr) int32 { /* sqlite3.c:99992:12: */ // // If the real file has been created, call its xSync method. Otherwise, // syncing an in-memory journal is a no-op. -func memjrnlSync(tls *libc.TLS, pJfd uintptr, flags int32) int32 { /* sqlite3.c:100004:12: */ +func memjrnlSync(tls *libc.TLS, pJfd uintptr, flags int32) int32 { /* sqlite3.c:100017:12: */ _ = pJfd _ = flags return SQLITE_OK } // Query the size of the file in bytes. -func memjrnlFileSize(tls *libc.TLS, pJfd uintptr, pSize uintptr) int32 { /* sqlite3.c:100012:12: */ +func memjrnlFileSize(tls *libc.TLS, pJfd uintptr, pSize uintptr) int32 { /* sqlite3.c:100025:12: */ var p uintptr = pJfd *(*Sqlite_int64)(unsafe.Pointer(pSize)) = (*MemJournal)(unsafe.Pointer(p)).Fendpoint.FiOffset return SQLITE_OK @@ -79338,7 +79357,7 @@ var sMemJournalMethods = sqlite3_io_methods{ FxTruncate: 0, // xTruncate FxSync: 0, // xSync FxFileSize: 0, // xUnfetch -} /* sqlite3.c:100021:40 */ +} /* sqlite3.c:100034:40 */ // Open a journal file. // @@ -79350,7 +79369,7 @@ var sMemJournalMethods = sqlite3_io_methods{ // but may be flushed to disk later on. In this case the journal file is // flushed to disk either when it grows larger than nSpill bytes in size, // or when sqlite3JournalCreate() is called. -func Xsqlite3JournalOpen(tls *libc.TLS, pVfs uintptr, zName uintptr, pJfd uintptr, flags int32, nSpill int32) int32 { /* sqlite3.c:100055:20: */ +func Xsqlite3JournalOpen(tls *libc.TLS, pVfs uintptr, zName uintptr, pJfd uintptr, flags int32, nSpill int32) int32 { /* sqlite3.c:100068:20: */ var p uintptr = pJfd // Zero the file-handle object. If nSpill was passed zero, initialize @@ -79378,20 +79397,20 @@ func Xsqlite3JournalOpen(tls *libc.TLS, pVfs uintptr, zName uintptr, pJfd uintpt } // Open an in-memory journal file. -func Xsqlite3MemJournalOpen(tls *libc.TLS, pJfd uintptr) { /* sqlite3.c:100091:21: */ +func Xsqlite3MemJournalOpen(tls *libc.TLS, pJfd uintptr) { /* sqlite3.c:100104:21: */ Xsqlite3JournalOpen(tls, uintptr(0), uintptr(0), pJfd, 0, -1) } // The file-handle passed as the only argument is open on a journal file. // Return true if this "journal file" is currently stored in heap memory, // or false otherwise. -func Xsqlite3JournalIsInMemory(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:100130:20: */ +func Xsqlite3JournalIsInMemory(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:100143:20: */ return libc.Bool32((*Sqlite3_file)(unsafe.Pointer(p)).FpMethods == uintptr(unsafe.Pointer(&sMemJournalMethods))) } // Return the number of bytes required to store a JournalFile that uses vfs // pVfs to create the underlying on-disk files. -func Xsqlite3JournalSize(tls *libc.TLS, pVfs uintptr) int32 { /* sqlite3.c:100138:20: */ +func Xsqlite3JournalSize(tls *libc.TLS, pVfs uintptr) int32 { /* sqlite3.c:100151:20: */ return func() int32 { if (*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FszOsFile > int32(unsafe.Sizeof(MemJournal{})) { return (*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FszOsFile @@ -79420,7 +79439,7 @@ func Xsqlite3JournalSize(tls *libc.TLS, pVfs uintptr) int32 { /* sqlite3.c:10013 // Walk all expressions linked into the list of Window objects passed // as the second argument. -func walkWindowList(tls *libc.TLS, pWalker uintptr, pList uintptr, bOneOnly int32) int32 { /* sqlite3.c:100168:12: */ +func walkWindowList(tls *libc.TLS, pWalker uintptr, pList uintptr, bOneOnly int32) int32 { /* sqlite3.c:100181:12: */ var pWin uintptr for pWin = pList; pWin != 0; pWin = (*Window)(unsafe.Pointer(pWin)).FpNextWin { var rc int32 @@ -79468,7 +79487,7 @@ func walkWindowList(tls *libc.TLS, pWalker uintptr, pList uintptr, bOneOnly int3 // // The return value from this routine is WRC_Abort to abandon the tree walk // and WRC_Continue to continue. -func walkExpr(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:100207:28: */ +func walkExpr(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:100220:28: */ var rc int32 for 1 != 0 { @@ -79510,7 +79529,7 @@ func walkExpr(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3. return WRC_Continue } -func Xsqlite3WalkExpr(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:100239:20: */ +func Xsqlite3WalkExpr(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:100252:20: */ if pExpr != 0 { return walkExpr(tls, pWalker, pExpr) } @@ -79519,7 +79538,7 @@ func Xsqlite3WalkExpr(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* // Call sqlite3WalkExpr() for every expression in list p or until // an abort request is seen. -func Xsqlite3WalkExprList(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sqlite3.c:100247:20: */ +func Xsqlite3WalkExprList(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sqlite3.c:100260:20: */ var i int32 var pItem uintptr if p != 0 { @@ -79548,7 +79567,7 @@ func Xsqlite3WalkExprList(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* // This is a no-op callback for Walker->xSelectCallback2. If this // callback is set, then the Select->pWinDefn list is traversed. -func Xsqlite3WalkWinDefnDummyCallback(tls *libc.TLS, pWalker uintptr, p uintptr) { /* sqlite3.c:100262:21: */ +func Xsqlite3WalkWinDefnDummyCallback(tls *libc.TLS, pWalker uintptr, p uintptr) { /* sqlite3.c:100275:21: */ _ = pWalker _ = p // No-op @@ -79558,7 +79577,7 @@ func Xsqlite3WalkWinDefnDummyCallback(tls *libc.TLS, pWalker uintptr, p uintptr) // not invoke the SELECT callback on p, but do (of course) invoke // any expr callbacks and SELECT callbacks that come from subqueries. // Return WRC_Abort or WRC_Continue. -func Xsqlite3WalkSelectExpr(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sqlite3.c:100274:20: */ +func Xsqlite3WalkSelectExpr(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sqlite3.c:100287:20: */ if Xsqlite3WalkExprList(tls, pWalker, (*Select)(unsafe.Pointer(p)).FpEList) != 0 { return WRC_Abort } @@ -79600,7 +79619,7 @@ func Xsqlite3WalkSelectExpr(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { / // callback on p, but do invoke it on each FROM clause subquery // and on any subqueries further down in the tree. Return // WRC_Abort or WRC_Continue; -func Xsqlite3WalkSelectFrom(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sqlite3.c:100307:20: */ +func Xsqlite3WalkSelectFrom(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sqlite3.c:100320:20: */ var pSrc uintptr var i int32 var pItem uintptr @@ -79649,7 +79668,7 @@ func Xsqlite3WalkSelectFrom(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { / // // If the Walker does not have an xSelectCallback() then this routine // is a no-op returning WRC_Continue. -func Xsqlite3WalkSelect(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sqlite3.c:100345:20: */ +func Xsqlite3WalkSelect(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sqlite3.c:100358:20: */ var rc int32 if p == uintptr(0) { return WRC_Continue @@ -79680,13 +79699,13 @@ func Xsqlite3WalkSelect(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sq // Increase the walkerDepth when entering a subquery, and // descrease when leaving the subquery. -func Xsqlite3WalkerDepthIncrease(tls *libc.TLS, pWalker uintptr, pSelect uintptr) int32 { /* sqlite3.c:100368:20: */ +func Xsqlite3WalkerDepthIncrease(tls *libc.TLS, pWalker uintptr, pSelect uintptr) int32 { /* sqlite3.c:100381:20: */ _ = pSelect (*Walker)(unsafe.Pointer(pWalker)).FwalkerDepth++ return WRC_Continue } -func Xsqlite3WalkerDepthDecrease(tls *libc.TLS, pWalker uintptr, pSelect uintptr) { /* sqlite3.c:100373:21: */ +func Xsqlite3WalkerDepthDecrease(tls *libc.TLS, pWalker uintptr, pSelect uintptr) { /* sqlite3.c:100386:21: */ _ = pSelect (*Walker)(unsafe.Pointer(pWalker)).FwalkerDepth-- } @@ -79698,7 +79717,7 @@ func Xsqlite3WalkerDepthDecrease(tls *libc.TLS, pWalker uintptr, pSelect uintptr // when this routine is used for Walker.xExprCallback then // Walker.xSelectCallback is set to do something useful for every // subquery in the parser tree. -func Xsqlite3ExprWalkNoop(tls *libc.TLS, NotUsed uintptr, NotUsed2 uintptr) int32 { /* sqlite3.c:100388:20: */ +func Xsqlite3ExprWalkNoop(tls *libc.TLS, NotUsed uintptr, NotUsed2 uintptr) int32 { /* sqlite3.c:100401:20: */ _ = NotUsed _ = NotUsed2 return WRC_Continue @@ -79706,7 +79725,7 @@ func Xsqlite3ExprWalkNoop(tls *libc.TLS, NotUsed uintptr, NotUsed2 uintptr) int3 // No-op routine for the parse-tree walker for SELECT statements. // subquery in the parser tree. -func Xsqlite3SelectWalkNoop(tls *libc.TLS, NotUsed uintptr, NotUsed2 uintptr) int32 { /* sqlite3.c:100397:20: */ +func Xsqlite3SelectWalkNoop(tls *libc.TLS, NotUsed uintptr, NotUsed2 uintptr) int32 { /* sqlite3.c:100410:20: */ _ = NotUsed _ = NotUsed2 return WRC_Continue @@ -79741,14 +79760,14 @@ func Xsqlite3SelectWalkNoop(tls *libc.TLS, NotUsed uintptr, NotUsed2 uintptr) in // is a helper function - a callback for the tree walker. // // See also the sqlite3WindowExtraAggFuncDepth() routine in window.c -func incrAggDepth(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:100438:12: */ +func incrAggDepth(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:100451:12: */ if int32((*Expr)(unsafe.Pointer(pExpr)).Fop) == TK_AGG_FUNCTION { *(*U8)(unsafe.Pointer(pExpr + 2)) += U8(*(*int32)(unsafe.Pointer(pWalker + 24))) } return WRC_Continue } -func incrAggFunctionDepth(tls *libc.TLS, pExpr uintptr, N int32) { /* sqlite3.c:100442:13: */ +func incrAggFunctionDepth(tls *libc.TLS, pExpr uintptr, N int32) { /* sqlite3.c:100455:13: */ bp := tls.Alloc(28) defer tls.Free(28) @@ -79781,7 +79800,7 @@ func incrAggFunctionDepth(tls *libc.TLS, pExpr uintptr, N int32) { /* sqlite3.c: // zero but it might be more if the alias is contained within a subquery // of the original expression. The Expr.op2 field of TK_AGG_FUNCTION // structures must be increased by the nSubquery amount. -func resolveAlias(tls *libc.TLS, pParse uintptr, pEList uintptr, iCol int32, pExpr uintptr, nSubquery int32) { /* sqlite3.c:100471:13: */ +func resolveAlias(tls *libc.TLS, pParse uintptr, pEList uintptr, iCol int32, pExpr uintptr, nSubquery int32) { /* sqlite3.c:100484:13: */ var pOrig uintptr // The iCol-th column of the result set var pDup uintptr // Copy of pOrig var db uintptr // The database connection @@ -79827,7 +79846,7 @@ func resolveAlias(tls *libc.TLS, pParse uintptr, pEList uintptr, iCol int32, pEx // // Return FALSE if the USING clause is NULL or if it does not contain // zCol. -func nameInUsingClause(tls *libc.TLS, pUsing uintptr, zCol uintptr) int32 { /* sqlite3.c:100528:12: */ +func nameInUsingClause(tls *libc.TLS, pUsing uintptr, zCol uintptr) int32 { /* sqlite3.c:100541:12: */ if pUsing != 0 { var k int32 for k = 0; k < (*IdList)(unsafe.Pointer(pUsing)).FnId; k++ { @@ -79844,7 +79863,7 @@ func nameInUsingClause(tls *libc.TLS, pUsing uintptr, zCol uintptr) int32 { /* s // Check to see if the zSpan given to this routine matches the zDb, zTab, // and zCol. If any of zDb, zTab, and zCol are NULL then those fields will // match anything. -func Xsqlite3MatchEName(tls *libc.TLS, pItem uintptr, zCol uintptr, zTab uintptr, zDb uintptr) int32 { /* sqlite3.c:100545:20: */ +func Xsqlite3MatchEName(tls *libc.TLS, pItem uintptr, zCol uintptr, zTab uintptr, zDb uintptr) int32 { /* sqlite3.c:100558:20: */ var n int32 var zSpan uintptr if int32(*(*uint8)(unsafe.Pointer(pItem + 12))&0x3>>0) != ENAME_TAB { @@ -79870,7 +79889,7 @@ func Xsqlite3MatchEName(tls *libc.TLS, pItem uintptr, zCol uintptr, zTab uintptr } // Return TRUE if the double-quoted string mis-feature should be supported. -func areDoubleQuotedStringsEnabled(tls *libc.TLS, db uintptr, pTopNC uintptr) int32 { /* sqlite3.c:100574:12: */ +func areDoubleQuotedStringsEnabled(tls *libc.TLS, db uintptr, pTopNC uintptr) int32 { /* sqlite3.c:100587:12: */ if (*Sqlite3)(unsafe.Pointer(db)).Finit.Fbusy != 0 { return 1 } // Always support for legacy schemas @@ -79889,7 +79908,7 @@ func areDoubleQuotedStringsEnabled(tls *libc.TLS, db uintptr, pTopNC uintptr) in // The argument is guaranteed to be a non-NULL Expr node of type TK_COLUMN. // return the appropriate colUsed mask. -func Xsqlite3ExprColUsed(tls *libc.TLS, pExpr uintptr) Bitmask { /* sqlite3.c:100592:24: */ +func Xsqlite3ExprColUsed(tls *libc.TLS, pExpr uintptr) Bitmask { /* sqlite3.c:100605:24: */ var n int32 var pExTab uintptr @@ -79939,7 +79958,7 @@ func Xsqlite3ExprColUsed(tls *libc.TLS, pExpr uintptr) Bitmask { /* sqlite3.c:10 // // If the name cannot be resolved unambiguously, leave an error message // in pParse and return WRC_Abort. Return WRC_Prune on success. -func lookupName(tls *libc.TLS, pParse uintptr, zDb uintptr, zTab uintptr, zCol uintptr, pNC uintptr, pExpr uintptr) int32 { /* sqlite3.c:100641:12: */ +func lookupName(tls *libc.TLS, pParse uintptr, zDb uintptr, zTab uintptr, zCol uintptr, pNC uintptr, pExpr uintptr) int32 { /* sqlite3.c:100654:12: */ bp := tls.Alloc(96) defer tls.Free(96) @@ -80657,7 +80676,7 @@ __88: // Allocate and return a pointer to an expression to load the column iCol // from datasource iSrc in SrcList pSrc. -func Xsqlite3CreateColumnExpr(tls *libc.TLS, db uintptr, pSrc uintptr, iSrc int32, iCol int32) uintptr { /* sqlite3.c:101087:21: */ +func Xsqlite3CreateColumnExpr(tls *libc.TLS, db uintptr, pSrc uintptr, iSrc int32, iCol int32) uintptr { /* sqlite3.c:101100:21: */ var p uintptr = Xsqlite3ExprAlloc(tls, db, TK_COLUMN, uintptr(0), 0) if p != 0 { var pItem uintptr = pSrc + 8 + uintptr(iSrc)*72 @@ -80706,7 +80725,7 @@ func Xsqlite3CreateColumnExpr(tls *libc.TLS, db uintptr, pSrc uintptr, iSrc int3 // As an optimization, since the conditional is almost always false // (because errors are rare), the conditional is moved outside of the // function call using a macro. -func notValidImpl(tls *libc.TLS, pParse uintptr, pNC uintptr, zMsg uintptr, pExpr uintptr, pError uintptr) { /* sqlite3.c:101131:13: */ +func notValidImpl(tls *libc.TLS, pParse uintptr, pNC uintptr, zMsg uintptr, pExpr uintptr, pError uintptr) { /* sqlite3.c:101144:13: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -80728,7 +80747,7 @@ func notValidImpl(tls *libc.TLS, pParse uintptr, pNC uintptr, zMsg uintptr, pExp // Expression p should encode a floating point value between 1.0 and 0.0. // Return 1024 times this value. Or return -1 if p is not a floating point // value between 1.0 and 0.0. -func exprProbability(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:101159:12: */ +func exprProbability(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:101172:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -80754,7 +80773,7 @@ func exprProbability(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:101159:12: * // This routine also does error checking and name resolution for // function names. The operator for aggregate functions is changed // to TK_AGG_FUNCTION. -func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:101180:12: */ +func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:101193:12: */ bp := tls.Alloc(96) defer tls.Free(96) @@ -81235,7 +81254,7 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* s // return 0. // // pEList has been resolved. pE has not. -func resolveAsName(tls *libc.TLS, pParse uintptr, pEList uintptr, pE uintptr) int32 { /* sqlite3.c:101638:12: */ +func resolveAsName(tls *libc.TLS, pParse uintptr, pEList uintptr, pE uintptr) int32 { /* sqlite3.c:101651:12: */ var i int32 // Loop counter _ = pParse @@ -81270,7 +81289,7 @@ func resolveAsName(tls *libc.TLS, pParse uintptr, pEList uintptr, pE uintptr) in // the column. // // If there is no match, return 0. Return -1 if an error occurs. -func resolveOrderByTermToExprList(tls *libc.TLS, pParse uintptr, pSelect uintptr, pE uintptr) int32 { /* sqlite3.c:101680:12: */ +func resolveOrderByTermToExprList(tls *libc.TLS, pParse uintptr, pSelect uintptr, pE uintptr) int32 { /* sqlite3.c:101693:12: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -81314,7 +81333,7 @@ func resolveOrderByTermToExprList(tls *libc.TLS, pParse uintptr, pSelect uintptr } // Generate an ORDER BY or GROUP BY term out-of-range error. -func resolveOutOfRangeError(tls *libc.TLS, pParse uintptr, zType uintptr, i int32, mx int32, pError uintptr) { /* sqlite3.c:101727:13: */ +func resolveOutOfRangeError(tls *libc.TLS, pParse uintptr, zType uintptr, i int32, mx int32, pError uintptr) { /* sqlite3.c:101740:13: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -81337,7 +81356,7 @@ func resolveOutOfRangeError(tls *libc.TLS, pParse uintptr, zType uintptr, i int3 // the integer column number. // // Return the number of errors seen. -func resolveCompoundOrderBy(tls *libc.TLS, pParse uintptr, pSelect uintptr) int32 { /* sqlite3.c:101755:12: */ +func resolveCompoundOrderBy(tls *libc.TLS, pParse uintptr, pSelect uintptr) int32 { /* sqlite3.c:101768:12: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -81474,7 +81493,7 @@ func resolveCompoundOrderBy(tls *libc.TLS, pParse uintptr, pSelect uintptr) int3 // // If any errors are detected, add an error message to pParse and // return non-zero. Return zero if no errors are seen. -func Xsqlite3ResolveOrderGroupBy(tls *libc.TLS, pParse uintptr, pSelect uintptr, pOrderBy uintptr, zType uintptr) int32 { /* sqlite3.c:101868:20: */ +func Xsqlite3ResolveOrderGroupBy(tls *libc.TLS, pParse uintptr, pSelect uintptr, pOrderBy uintptr, zType uintptr) int32 { /* sqlite3.c:101881:20: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -81520,7 +81539,7 @@ __3: } // Walker callback for windowRemoveExprFromSelect(). -func resolveRemoveWindowsCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:101902:12: */ +func resolveRemoveWindowsCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:101915:12: */ _ = pWalker if (*Expr)(unsafe.Pointer(pExpr)).Fflags&U32(EP_WinFunc) != U32(0) { var pWin uintptr = *(*uintptr)(unsafe.Pointer(pExpr + 44)) @@ -81531,7 +81550,7 @@ func resolveRemoveWindowsCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 // Remove any Window objects owned by the expression pExpr from the // Select.pWin list of Select object pSelect. -func windowRemoveExprFromSelect(tls *libc.TLS, pSelect uintptr, pExpr uintptr) { /* sqlite3.c:101915:13: */ +func windowRemoveExprFromSelect(tls *libc.TLS, pSelect uintptr, pExpr uintptr) { /* sqlite3.c:101928:13: */ bp := tls.Alloc(28) defer tls.Free(28) @@ -81563,7 +81582,7 @@ func windowRemoveExprFromSelect(tls *libc.TLS, pSelect uintptr, pExpr uintptr) { // This routine returns the number of errors. If errors occur, then // an appropriate error message might be left in pParse. (OOM errors // excepted.) -func resolveOrderGroupBy(tls *libc.TLS, pNC uintptr, pSelect uintptr, pOrderBy uintptr, zType uintptr) int32 { /* sqlite3.c:101946:12: */ +func resolveOrderGroupBy(tls *libc.TLS, pNC uintptr, pSelect uintptr, pOrderBy uintptr, zType uintptr) int32 { /* sqlite3.c:101959:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -81640,7 +81659,7 @@ __3: } // Resolve names in the SELECT statement p and all of its descendants. -func resolveSelectStep(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sqlite3.c:102009:12: */ +func resolveSelectStep(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sqlite3.c:102022:12: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -81939,7 +81958,7 @@ func resolveSelectStep(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sql // // An error message is left in pParse if anything is amiss. The number // if errors is returned. -func Xsqlite3ResolveExprNames(tls *libc.TLS, pNC uintptr, pExpr uintptr) int32 { /* sqlite3.c:102297:20: */ +func Xsqlite3ResolveExprNames(tls *libc.TLS, pNC uintptr, pExpr uintptr) int32 { /* sqlite3.c:102310:20: */ bp := tls.Alloc(28) defer tls.Free(28) @@ -81980,7 +81999,7 @@ func Xsqlite3ResolveExprNames(tls *libc.TLS, pNC uintptr, pExpr uintptr) int32 { // Resolve all names for all expression in an expression list. This is // just like sqlite3ResolveExprNames() except that it works for an expression // list rather than a single expression. -func Xsqlite3ResolveExprListNames(tls *libc.TLS, pNC uintptr, pList uintptr) int32 { /* sqlite3.c:102336:20: */ +func Xsqlite3ResolveExprListNames(tls *libc.TLS, pNC uintptr, pList uintptr) int32 { /* sqlite3.c:102349:20: */ bp := tls.Alloc(28) defer tls.Free(28) @@ -82037,7 +82056,7 @@ func Xsqlite3ResolveExprListNames(tls *libc.TLS, pNC uintptr, pList uintptr) int // // All SELECT statements should have been expanded using // sqlite3SelectExpand() prior to invoking this routine. -func Xsqlite3ResolveSelectNames(tls *libc.TLS, pParse uintptr, p uintptr, pOuterNC uintptr) { /* sqlite3.c:102392:21: */ +func Xsqlite3ResolveSelectNames(tls *libc.TLS, pParse uintptr, p uintptr, pOuterNC uintptr) { /* sqlite3.c:102405:21: */ bp := tls.Alloc(28) defer tls.Free(28) @@ -82071,7 +82090,7 @@ func Xsqlite3ResolveSelectNames(tls *libc.TLS, pParse uintptr, p uintptr, pOuter // set to the column number. In case (4), TK_COLUMN nodes cause an error. // // Any errors cause an error message to be set in pParse. -func Xsqlite3ResolveSelfReference(tls *libc.TLS, pParse uintptr, pTab uintptr, type1 int32, pExpr uintptr, pList uintptr) int32 { /* sqlite3.c:102426:20: */ +func Xsqlite3ResolveSelfReference(tls *libc.TLS, pParse uintptr, pTab uintptr, type1 int32, pExpr uintptr, pList uintptr) int32 { /* sqlite3.c:102439:20: */ bp := tls.Alloc(112) defer tls.Free(112) @@ -82107,7 +82126,7 @@ func Xsqlite3ResolveSelfReference(tls *libc.TLS, pParse uintptr, pTab uintptr, t } // Return the affinity character for a single column of a table. -func Xsqlite3TableColumnAffinity(tls *libc.TLS, pTab uintptr, iCol int32) int8 { /* sqlite3.c:102486:21: */ +func Xsqlite3TableColumnAffinity(tls *libc.TLS, pTab uintptr, iCol int32) int8 { /* sqlite3.c:102499:21: */ if iCol < 0 || iCol >= int32((*Table)(unsafe.Pointer(pTab)).FnCol) { return int8(SQLITE_AFF_INTEGER) } @@ -82128,7 +82147,7 @@ func Xsqlite3TableColumnAffinity(tls *libc.TLS, pTab uintptr, iCol int32) int8 { // SELECT * FROM t1 WHERE a; // SELECT a AS b FROM t1 WHERE b; // SELECT * FROM t1 WHERE (select a from t1); -func Xsqlite3ExprAffinity(tls *libc.TLS, pExpr uintptr) int8 { /* sqlite3.c:102507:21: */ +func Xsqlite3ExprAffinity(tls *libc.TLS, pExpr uintptr) int8 { /* sqlite3.c:102520:21: */ var op int32 for (*Expr)(unsafe.Pointer(pExpr)).Fflags&U32(EP_Skip|EP_IfNullRow) != U32(0) { @@ -82171,7 +82190,7 @@ func Xsqlite3ExprAffinity(tls *libc.TLS, pExpr uintptr) int8 { /* sqlite3.c:1025 // // If a memory allocation error occurs, that fact is recorded in pParse->db // and the pExpr parameter is returned unchanged. -func Xsqlite3ExprAddCollateToken(tls *libc.TLS, pParse uintptr, pExpr uintptr, pCollName uintptr, dequote int32) uintptr { /* sqlite3.c:102560:21: */ +func Xsqlite3ExprAddCollateToken(tls *libc.TLS, pParse uintptr, pExpr uintptr, pCollName uintptr, dequote int32) uintptr { /* sqlite3.c:102573:21: */ if (*Token)(unsafe.Pointer(pCollName)).Fn > uint32(0) { var pNew uintptr = Xsqlite3ExprAlloc(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, TK_COLLATE, pCollName, dequote) if pNew != 0 { @@ -82183,7 +82202,7 @@ func Xsqlite3ExprAddCollateToken(tls *libc.TLS, pParse uintptr, pExpr uintptr, p return pExpr } -func Xsqlite3ExprAddCollateString(tls *libc.TLS, pParse uintptr, pExpr uintptr, zC uintptr) uintptr { /* sqlite3.c:102576:21: */ +func Xsqlite3ExprAddCollateString(tls *libc.TLS, pParse uintptr, pExpr uintptr, zC uintptr) uintptr { /* sqlite3.c:102589:21: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -82194,7 +82213,7 @@ func Xsqlite3ExprAddCollateString(tls *libc.TLS, pParse uintptr, pExpr uintptr, } // Skip over any TK_COLLATE operators. -func Xsqlite3ExprSkipCollate(tls *libc.TLS, pExpr uintptr) uintptr { /* sqlite3.c:102590:21: */ +func Xsqlite3ExprSkipCollate(tls *libc.TLS, pExpr uintptr) uintptr { /* sqlite3.c:102603:21: */ for pExpr != 0 && (*Expr)(unsafe.Pointer(pExpr)).Fflags&U32(EP_Skip) != U32(0) { pExpr = (*Expr)(unsafe.Pointer(pExpr)).FpLeft @@ -82205,7 +82224,7 @@ func Xsqlite3ExprSkipCollate(tls *libc.TLS, pExpr uintptr) uintptr { /* sqlite3. // Skip over any TK_COLLATE operators and/or any unlikely() // or likelihood() or likely() functions at the root of an // expression. -func Xsqlite3ExprSkipCollateAndLikely(tls *libc.TLS, pExpr uintptr) uintptr { /* sqlite3.c:102603:21: */ +func Xsqlite3ExprSkipCollateAndLikely(tls *libc.TLS, pExpr uintptr) uintptr { /* sqlite3.c:102616:21: */ for pExpr != 0 && (*Expr)(unsafe.Pointer(pExpr)).Fflags&U32(EP_Skip|EP_Unlikely) != U32(0) { if (*Expr)(unsafe.Pointer(pExpr)).Fflags&U32(EP_Unlikely) != U32(0) { @@ -82230,7 +82249,7 @@ func Xsqlite3ExprSkipCollateAndLikely(tls *libc.TLS, pExpr uintptr) uintptr { /* // or by the presence of a column with a defined collating sequence. // COLLATE operators take first precedence. Left operands take // precedence over right operands. -func Xsqlite3ExprCollSeq(tls *libc.TLS, pParse uintptr, pExpr uintptr) uintptr { /* sqlite3.c:102632:24: */ +func Xsqlite3ExprCollSeq(tls *libc.TLS, pParse uintptr, pExpr uintptr) uintptr { /* sqlite3.c:102645:24: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb var pColl uintptr = uintptr(0) var p uintptr = pExpr @@ -82302,7 +82321,7 @@ func Xsqlite3ExprCollSeq(tls *libc.TLS, pParse uintptr, pExpr uintptr) uintptr { // // The sqlite3ExprCollSeq() routine works the same except that it // returns NULL if there is no defined collation. -func Xsqlite3ExprNNCollSeq(tls *libc.TLS, pParse uintptr, pExpr uintptr) uintptr { /* sqlite3.c:102705:24: */ +func Xsqlite3ExprNNCollSeq(tls *libc.TLS, pParse uintptr, pExpr uintptr) uintptr { /* sqlite3.c:102718:24: */ var p uintptr = Xsqlite3ExprCollSeq(tls, pParse, pExpr) if p == uintptr(0) { p = (*Sqlite3)(unsafe.Pointer((*Parse)(unsafe.Pointer(pParse)).Fdb)).FpDfltColl @@ -82312,7 +82331,7 @@ func Xsqlite3ExprNNCollSeq(tls *libc.TLS, pParse uintptr, pExpr uintptr) uintptr } // Return TRUE if the two expressions have equivalent collating sequences. -func Xsqlite3ExprCollSeqMatch(tls *libc.TLS, pParse uintptr, pE1 uintptr, pE2 uintptr) int32 { /* sqlite3.c:102715:20: */ +func Xsqlite3ExprCollSeqMatch(tls *libc.TLS, pParse uintptr, pE1 uintptr, pE2 uintptr) int32 { /* sqlite3.c:102728:20: */ var pColl1 uintptr = Xsqlite3ExprNNCollSeq(tls, pParse, pE1) var pColl2 uintptr = Xsqlite3ExprNNCollSeq(tls, pParse, pE2) return libc.Bool32(Xsqlite3StrICmp(tls, (*CollSeq)(unsafe.Pointer(pColl1)).FzName, (*CollSeq)(unsafe.Pointer(pColl2)).FzName) == 0) @@ -82321,7 +82340,7 @@ func Xsqlite3ExprCollSeqMatch(tls *libc.TLS, pParse uintptr, pE1 uintptr, pE2 ui // pExpr is an operand of a comparison operator. aff2 is the // type affinity of the other operand. This routine returns the // type affinity that should be used for the comparison operator. -func Xsqlite3CompareAffinity(tls *libc.TLS, pExpr uintptr, aff2 int8) int8 { /* sqlite3.c:102726:21: */ +func Xsqlite3CompareAffinity(tls *libc.TLS, pExpr uintptr, aff2 int8) int8 { /* sqlite3.c:102739:21: */ var aff1 int8 = Xsqlite3ExprAffinity(tls, pExpr) if int32(aff1) > SQLITE_AFF_NONE && int32(aff2) > SQLITE_AFF_NONE { // Both sides of the comparison are columns. If one has numeric @@ -82346,7 +82365,7 @@ func Xsqlite3CompareAffinity(tls *libc.TLS, pExpr uintptr, aff2 int8) int8 { /* // pExpr is a comparison operator. Return the type affinity that should // be applied to both operands prior to doing the comparison. -func comparisonAffinity(tls *libc.TLS, pExpr uintptr) int8 { /* sqlite3.c:102748:13: */ +func comparisonAffinity(tls *libc.TLS, pExpr uintptr) int8 { /* sqlite3.c:102761:13: */ var aff int8 aff = Xsqlite3ExprAffinity(tls, (*Expr)(unsafe.Pointer(pExpr)).FpLeft) @@ -82364,7 +82383,7 @@ func comparisonAffinity(tls *libc.TLS, pExpr uintptr) int8 { /* sqlite3.c:102748 // idx_affinity is the affinity of an indexed column. Return true // if the index with affinity idx_affinity may be used to implement // the comparison in pExpr. -func Xsqlite3IndexAffinityOk(tls *libc.TLS, pExpr uintptr, idx_affinity int8) int32 { /* sqlite3.c:102771:20: */ +func Xsqlite3IndexAffinityOk(tls *libc.TLS, pExpr uintptr, idx_affinity int8) int32 { /* sqlite3.c:102784:20: */ var aff int8 = comparisonAffinity(tls, pExpr) if int32(aff) < SQLITE_AFF_TEXT { return 1 @@ -82377,7 +82396,7 @@ func Xsqlite3IndexAffinityOk(tls *libc.TLS, pExpr uintptr, idx_affinity int8) in // Return the P5 value that should be used for a binary comparison // opcode (OP_Eq, OP_Ge etc.) used to compare pExpr1 and pExpr2. -func binaryCompareP5(tls *libc.TLS, pExpr1 uintptr, pExpr2 uintptr, jumpIfNull int32) U8 { /* sqlite3.c:102786:11: */ +func binaryCompareP5(tls *libc.TLS, pExpr1 uintptr, pExpr2 uintptr, jumpIfNull int32) U8 { /* sqlite3.c:102799:11: */ var aff U8 = U8(Xsqlite3ExprAffinity(tls, pExpr2)) aff = U8(int32(U8(Xsqlite3CompareAffinity(tls, pExpr1, int8(aff)))) | int32(U8(jumpIfNull))) return aff @@ -82393,7 +82412,7 @@ func binaryCompareP5(tls *libc.TLS, pExpr1 uintptr, pExpr2 uintptr, jumpIfNull i // // Argument pRight (but not pLeft) may be a null pointer. In this case, // it is not considered. -func Xsqlite3BinaryCompareCollSeq(tls *libc.TLS, pParse uintptr, pLeft uintptr, pRight uintptr) uintptr { /* sqlite3.c:102808:24: */ +func Xsqlite3BinaryCompareCollSeq(tls *libc.TLS, pParse uintptr, pLeft uintptr, pRight uintptr) uintptr { /* sqlite3.c:102821:24: */ var pColl uintptr if (*Expr)(unsafe.Pointer(pLeft)).Fflags&U32(EP_Collate) != 0 { @@ -82416,7 +82435,7 @@ func Xsqlite3BinaryCompareCollSeq(tls *libc.TLS, pParse uintptr, pLeft uintptr, // However, if the OP_Commuted flag is set, then the order of the operands // is reversed in the sqlite3BinaryCompareCollSeq() call so that the // correct collating sequence is found. -func Xsqlite3ExprCompareCollSeq(tls *libc.TLS, pParse uintptr, p uintptr) uintptr { /* sqlite3.c:102836:24: */ +func Xsqlite3ExprCompareCollSeq(tls *libc.TLS, pParse uintptr, p uintptr) uintptr { /* sqlite3.c:102849:24: */ if (*Expr)(unsafe.Pointer(p)).Fflags&U32(EP_Commuted) != U32(0) { return Xsqlite3BinaryCompareCollSeq(tls, pParse, (*Expr)(unsafe.Pointer(p)).FpRight, (*Expr)(unsafe.Pointer(p)).FpLeft) } else { @@ -82426,7 +82445,7 @@ func Xsqlite3ExprCompareCollSeq(tls *libc.TLS, pParse uintptr, p uintptr) uintpt } // Generate code for a comparison operator. -func codeCompare(tls *libc.TLS, pParse uintptr, pLeft uintptr, pRight uintptr, opcode int32, in1 int32, in2 int32, dest int32, jumpIfNull int32, isCommuted int32) int32 { /* sqlite3.c:102847:12: */ +func codeCompare(tls *libc.TLS, pParse uintptr, pLeft uintptr, pRight uintptr, opcode int32, in1 int32, in2 int32, dest int32, jumpIfNull int32, isCommuted int32) int32 { /* sqlite3.c:102860:12: */ var p5 int32 var addr int32 var p4 uintptr @@ -82453,7 +82472,7 @@ func codeCompare(tls *libc.TLS, pParse uintptr, pLeft uintptr, pRight uintptr, o // parser will not generate a TK_VECTOR with fewer than two entries. // But a TK_SELECT might be either a vector or a scalar. It is only // considered a vector if it has two or more result columns. -func Xsqlite3ExprIsVector(tls *libc.TLS, pExpr uintptr) int32 { /* sqlite3.c:102883:20: */ +func Xsqlite3ExprIsVector(tls *libc.TLS, pExpr uintptr) int32 { /* sqlite3.c:102896:20: */ return libc.Bool32(Xsqlite3ExprVectorSize(tls, pExpr) > 1) } @@ -82461,7 +82480,7 @@ func Xsqlite3ExprIsVector(tls *libc.TLS, pExpr uintptr) int32 { /* sqlite3.c:102 // return the number of expressions in the vector. Or, if the expression // is a sub-select, return the number of columns in the sub-select. For // any other type of expression, return 1. -func Xsqlite3ExprVectorSize(tls *libc.TLS, pExpr uintptr) int32 { /* sqlite3.c:102893:20: */ +func Xsqlite3ExprVectorSize(tls *libc.TLS, pExpr uintptr) int32 { /* sqlite3.c:102906:20: */ var op U8 = (*Expr)(unsafe.Pointer(pExpr)).Fop if int32(op) == TK_REGISTER { op = (*Expr)(unsafe.Pointer(pExpr)).Fop2 @@ -82491,7 +82510,7 @@ func Xsqlite3ExprVectorSize(tls *libc.TLS, pExpr uintptr) int32 { /* sqlite3.c:1 // just the expression for the i-th term of the result set, and may // not be ready for evaluation because the table cursor has not yet // been positioned. -func Xsqlite3VectorFieldSubexpr(tls *libc.TLS, pVector uintptr, i int32) uintptr { /* sqlite3.c:102922:21: */ +func Xsqlite3VectorFieldSubexpr(tls *libc.TLS, pVector uintptr, i int32) uintptr { /* sqlite3.c:102935:21: */ if Xsqlite3ExprIsVector(tls, pVector) != 0 { @@ -82525,7 +82544,7 @@ func Xsqlite3VectorFieldSubexpr(tls *libc.TLS, pVector uintptr, i int32) uintptr // A trick to cause a TK_SELECT pVector to be deleted together with // the returned Expr object is to attach the pVector to the pRight field // of the returned TK_SELECT_COLUMN Expr object. -func Xsqlite3ExprForVectorField(tls *libc.TLS, pParse uintptr, pVector uintptr, iField int32, nField int32) uintptr { /* sqlite3.c:102958:21: */ +func Xsqlite3ExprForVectorField(tls *libc.TLS, pParse uintptr, pVector uintptr, iField int32, nField int32) uintptr { /* sqlite3.c:102971:21: */ var pRet uintptr if int32((*Expr)(unsafe.Pointer(pVector)).Fop) == TK_SELECT { @@ -82573,7 +82592,7 @@ func Xsqlite3ExprForVectorField(tls *libc.TLS, pParse uintptr, pVector uintptr, // of registers in which the result is stored). // // If pExpr is not a TK_SELECT expression, return 0. -func exprCodeSubselect(tls *libc.TLS, pParse uintptr, pExpr uintptr) int32 { /* sqlite3.c:103014:12: */ +func exprCodeSubselect(tls *libc.TLS, pParse uintptr, pExpr uintptr) int32 { /* sqlite3.c:103027:12: */ var reg int32 = 0 if int32((*Expr)(unsafe.Pointer(pExpr)).Fop) == TK_SELECT { reg = Xsqlite3CodeSubselect(tls, pParse, pExpr) @@ -82597,7 +82616,7 @@ func exprCodeSubselect(tls *libc.TLS, pParse uintptr, pExpr uintptr) int32 { /* // // Before returning, output parameter (*ppExpr) is set to point to the // Expr object corresponding to element iElem of the vector. -func exprVectorRegister(tls *libc.TLS, pParse uintptr, pVector uintptr, iField int32, regSelect int32, ppExpr uintptr, pRegFree uintptr) int32 { /* sqlite3.c:103042:12: */ +func exprVectorRegister(tls *libc.TLS, pParse uintptr, pVector uintptr, iField int32, regSelect int32, ppExpr uintptr, pRegFree uintptr) int32 { /* sqlite3.c:103055:12: */ var op U8 = (*Expr)(unsafe.Pointer(pVector)).Fop if int32(op) == TK_REGISTER { @@ -82626,7 +82645,7 @@ func exprVectorRegister(tls *libc.TLS, pParse uintptr, pVector uintptr, iField i // if pExpr->op==TK_IS: op==TK_EQ and p5==SQLITE_NULLEQ // if pExpr->op==TK_ISNOT: op==TK_NE and p5==SQLITE_NULLEQ // otherwise: op==pExpr->op and p5==0 -func codeVectorCompare(tls *libc.TLS, pParse uintptr, pExpr uintptr, dest int32, op U8, p5 U8) { /* sqlite3.c:103080:13: */ +func codeVectorCompare(tls *libc.TLS, pParse uintptr, pExpr uintptr, dest int32, op U8, p5 U8) { /* sqlite3.c:103093:13: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -82714,7 +82733,7 @@ func codeVectorCompare(tls *libc.TLS, pParse uintptr, pExpr uintptr, dest int32, // Check that argument nHeight is less than or equal to the maximum // expression depth allowed. If it is not, leave an error message in // pParse. -func Xsqlite3ExprCheckHeight(tls *libc.TLS, pParse uintptr, nHeight int32) int32 { /* sqlite3.c:103175:20: */ +func Xsqlite3ExprCheckHeight(tls *libc.TLS, pParse uintptr, nHeight int32) int32 { /* sqlite3.c:103188:20: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -82736,7 +82755,7 @@ func Xsqlite3ExprCheckHeight(tls *libc.TLS, pParse uintptr, nHeight int32) int32 // If this maximum height is greater than the current value pointed // to by pnHeight, the second parameter, then set *pnHeight to that // value. -func heightOfExpr(tls *libc.TLS, p uintptr, pnHeight uintptr) { /* sqlite3.c:103196:13: */ +func heightOfExpr(tls *libc.TLS, p uintptr, pnHeight uintptr) { /* sqlite3.c:103209:13: */ if p != 0 { if (*Expr)(unsafe.Pointer(p)).FnHeight > *(*int32)(unsafe.Pointer(pnHeight)) { *(*int32)(unsafe.Pointer(pnHeight)) = (*Expr)(unsafe.Pointer(p)).FnHeight @@ -82744,7 +82763,7 @@ func heightOfExpr(tls *libc.TLS, p uintptr, pnHeight uintptr) { /* sqlite3.c:103 } } -func heightOfExprList(tls *libc.TLS, p uintptr, pnHeight uintptr) { /* sqlite3.c:103203:13: */ +func heightOfExprList(tls *libc.TLS, p uintptr, pnHeight uintptr) { /* sqlite3.c:103216:13: */ if p != 0 { var i int32 for i = 0; i < (*ExprList)(unsafe.Pointer(p)).FnExpr; i++ { @@ -82753,7 +82772,7 @@ func heightOfExprList(tls *libc.TLS, p uintptr, pnHeight uintptr) { /* sqlite3.c } } -func heightOfSelect(tls *libc.TLS, pSelect uintptr, pnHeight uintptr) { /* sqlite3.c:103211:13: */ +func heightOfSelect(tls *libc.TLS, pSelect uintptr, pnHeight uintptr) { /* sqlite3.c:103224:13: */ var p uintptr for p = pSelect; p != 0; p = (*Select)(unsafe.Pointer(p)).FpPrior { heightOfExpr(tls, (*Select)(unsafe.Pointer(p)).FpWhere, pnHeight) @@ -82773,7 +82792,7 @@ func heightOfSelect(tls *libc.TLS, pSelect uintptr, pnHeight uintptr) { /* sqlit // // Also propagate EP_Propagate flags up from Expr.x.pList to Expr.flags, // if appropriate. -func exprSetHeight(tls *libc.TLS, p uintptr) { /* sqlite3.c:103233:13: */ +func exprSetHeight(tls *libc.TLS, p uintptr) { /* sqlite3.c:103246:13: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -82800,7 +82819,7 @@ func exprSetHeight(tls *libc.TLS, p uintptr) { /* sqlite3.c:103233:13: */ // // Also propagate all EP_Propagate flags from the Expr.x.pList into // Expr.flags. -func Xsqlite3ExprSetHeightAndFlags(tls *libc.TLS, pParse uintptr, p uintptr) { /* sqlite3.c:103253:21: */ +func Xsqlite3ExprSetHeightAndFlags(tls *libc.TLS, pParse uintptr, p uintptr) { /* sqlite3.c:103266:21: */ if (*Parse)(unsafe.Pointer(pParse)).FnErr != 0 { return } @@ -82810,7 +82829,7 @@ func Xsqlite3ExprSetHeightAndFlags(tls *libc.TLS, pParse uintptr, p uintptr) { / // Return the maximum height of any expression tree referenced // by the select statement passed as an argument. -func Xsqlite3SelectExprHeight(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:103263:20: */ +func Xsqlite3SelectExprHeight(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:103276:20: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -82837,7 +82856,7 @@ func Xsqlite3SelectExprHeight(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:103 // stored in u.zToken. Instead, the integer values is written // into u.iValue and the EP_IntValue flag is set. No extra storage // is allocated to hold the integer text and the dequote flag is ignored. -func Xsqlite3ExprAlloc(tls *libc.TLS, db uintptr, op int32, pToken uintptr, dequote int32) uintptr { /* sqlite3.c:103302:21: */ +func Xsqlite3ExprAlloc(tls *libc.TLS, db uintptr, op int32, pToken uintptr, dequote int32) uintptr { /* sqlite3.c:103315:21: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -82885,7 +82904,7 @@ func Xsqlite3ExprAlloc(tls *libc.TLS, db uintptr, op int32, pToken uintptr, dequ // Allocate a new expression node from a zero-terminated token that has // already been dequoted. -func Xsqlite3Expr(tls *libc.TLS, db uintptr, op int32, zToken uintptr) uintptr { /* sqlite3.c:103350:21: */ +func Xsqlite3Expr(tls *libc.TLS, db uintptr, op int32, zToken uintptr) uintptr { /* sqlite3.c:103363:21: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -82900,7 +82919,7 @@ func Xsqlite3Expr(tls *libc.TLS, db uintptr, op int32, zToken uintptr) uintptr { // // If pRoot==NULL that means that a memory allocation error has occurred. // In that case, delete the subtrees pLeft and pRight. -func Xsqlite3ExprAttachSubtrees(tls *libc.TLS, db uintptr, pRoot uintptr, pLeft uintptr, pRight uintptr) { /* sqlite3.c:103367:21: */ +func Xsqlite3ExprAttachSubtrees(tls *libc.TLS, db uintptr, pRoot uintptr, pLeft uintptr, pRight uintptr) { /* sqlite3.c:103380:21: */ if pRoot == uintptr(0) { Xsqlite3ExprDelete(tls, db, pLeft) @@ -82923,7 +82942,7 @@ func Xsqlite3ExprAttachSubtrees(tls *libc.TLS, db uintptr, pRoot uintptr, pLeft // One or both of the subtrees can be NULL. Return a pointer to the new // Expr node. Or, if an OOM error occurs, set pParse->db->mallocFailed, // free the subtrees and return NULL. -func Xsqlite3PExpr(tls *libc.TLS, pParse uintptr, op int32, pLeft uintptr, pRight uintptr) uintptr { /* sqlite3.c:103397:21: */ +func Xsqlite3PExpr(tls *libc.TLS, pParse uintptr, op int32, pLeft uintptr, pRight uintptr) uintptr { /* sqlite3.c:103410:21: */ var p uintptr p = Xsqlite3DbMallocRawNN(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, uint64(unsafe.Sizeof(Expr{}))) if p != 0 { @@ -82941,7 +82960,7 @@ func Xsqlite3PExpr(tls *libc.TLS, pParse uintptr, op int32, pLeft uintptr, pRigh // Add pSelect to the Expr.x.pSelect field. Or, if pExpr is NULL (due // do a memory allocation failure) then delete the pSelect object. -func Xsqlite3PExprAddSelect(tls *libc.TLS, pParse uintptr, pExpr uintptr, pSelect uintptr) { /* sqlite3.c:103422:21: */ +func Xsqlite3PExprAddSelect(tls *libc.TLS, pParse uintptr, pExpr uintptr, pSelect uintptr) { /* sqlite3.c:103435:21: */ if pExpr != 0 { *(*uintptr)(unsafe.Pointer(pExpr + 20)) = pSelect *(*U32)(unsafe.Pointer(pExpr + 4)) |= U32(EP_xIsSelect | EP_Subquery) @@ -82969,7 +82988,7 @@ func Xsqlite3PExprAddSelect(tls *libc.TLS, pParse uintptr, pExpr uintptr, pSelec // // This is used as part of processing IN(...) expressions with a list // of vectors on the RHS. e.g. "... IN ((1,2), (3,4), (5,6))". -func Xsqlite3ExprListToValues(tls *libc.TLS, pParse uintptr, nElem int32, pEList uintptr) uintptr { /* sqlite3.c:103452:23: */ +func Xsqlite3ExprListToValues(tls *libc.TLS, pParse uintptr, nElem int32, pEList uintptr) uintptr { /* sqlite3.c:103465:23: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -83021,7 +83040,7 @@ func Xsqlite3ExprListToValues(tls *libc.TLS, pParse uintptr, nElem int32, pEList // If one side or the other of the AND is known to be false, then instead // of returning an AND expression, just return a constant expression with // a value of false. -func Xsqlite3ExprAnd(tls *libc.TLS, pParse uintptr, pLeft uintptr, pRight uintptr) uintptr { /* sqlite3.c:103499:21: */ +func Xsqlite3ExprAnd(tls *libc.TLS, pParse uintptr, pLeft uintptr, pRight uintptr) uintptr { /* sqlite3.c:103512:21: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb if pLeft == uintptr(0) { return pRight @@ -83040,7 +83059,7 @@ func Xsqlite3ExprAnd(tls *libc.TLS, pParse uintptr, pLeft uintptr, pRight uintpt // Construct a new expression node for a function with multiple // arguments. -func Xsqlite3ExprFunction(tls *libc.TLS, pParse uintptr, pList uintptr, pToken uintptr, eDistinct int32) uintptr { /* sqlite3.c:103520:21: */ +func Xsqlite3ExprFunction(tls *libc.TLS, pParse uintptr, pList uintptr, pToken uintptr, eDistinct int32) uintptr { /* sqlite3.c:103533:21: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -83077,7 +83096,7 @@ func Xsqlite3ExprFunction(tls *libc.TLS, pParse uintptr, pList uintptr, pToken u // top-level SQL // // If the function is not usable, create an error. -func Xsqlite3ExprFunctionUsable(tls *libc.TLS, pParse uintptr, pExpr uintptr, pDef uintptr) { /* sqlite3.c:103560:21: */ +func Xsqlite3ExprFunctionUsable(tls *libc.TLS, pParse uintptr, pExpr uintptr, pDef uintptr) { /* sqlite3.c:103573:21: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -83109,7 +83128,7 @@ func Xsqlite3ExprFunctionUsable(tls *libc.TLS, pParse uintptr, pExpr uintptr, pD // as the previous instance of the same wildcard. Or if this is the first // instance of the wildcard, the next sequential variable number is // assigned. -func Xsqlite3ExprAssignVarNumber(tls *libc.TLS, pParse uintptr, pExpr uintptr, n U32) { /* sqlite3.c:103599:21: */ +func Xsqlite3ExprAssignVarNumber(tls *libc.TLS, pParse uintptr, pExpr uintptr, n U32) { /* sqlite3.c:103612:21: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -83177,7 +83196,7 @@ func Xsqlite3ExprAssignVarNumber(tls *libc.TLS, pParse uintptr, pExpr uintptr, n } // Recursively delete an expression tree. -func sqlite3ExprDeleteNN(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:103669:29: */ +func sqlite3ExprDeleteNN(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:103682:29: */ if !((*Expr)(unsafe.Pointer(p)).Fflags&U32(EP_TokenOnly|EP_Leaf) != U32(0)) { // The Expr.x union is never used at the same time as Expr.pRight @@ -83207,7 +83226,7 @@ func sqlite3ExprDeleteNN(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:10 } } -func Xsqlite3ExprDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:103710:21: */ +func Xsqlite3ExprDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:103723:21: */ if p != 0 { sqlite3ExprDeleteNN(tls, db, p) } @@ -83221,13 +83240,13 @@ func Xsqlite3ExprDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:103 // // The deferred delete is (currently) implemented by adding the // pExpr to the pParse->pConstExpr list with a register number of 0. -func Xsqlite3ExprDeferredDelete(tls *libc.TLS, pParse uintptr, pExpr uintptr) { /* sqlite3.c:103725:21: */ +func Xsqlite3ExprDeferredDelete(tls *libc.TLS, pParse uintptr, pExpr uintptr) { /* sqlite3.c:103738:21: */ (*Parse)(unsafe.Pointer(pParse)).FpConstExpr = Xsqlite3ExprListAppend(tls, pParse, (*Parse)(unsafe.Pointer(pParse)).FpConstExpr, pExpr) } // Invoke sqlite3RenameExprUnmap() and sqlite3ExprDelete() on the // expression. -func Xsqlite3ExprUnmapAndDelete(tls *libc.TLS, pParse uintptr, p uintptr) { /* sqlite3.c:103733:21: */ +func Xsqlite3ExprUnmapAndDelete(tls *libc.TLS, pParse uintptr, p uintptr) { /* sqlite3.c:103746:21: */ if p != 0 { if int32((*Parse)(unsafe.Pointer(pParse)).FeParseMode) >= PARSE_MODE_RENAME { Xsqlite3RenameExprUnmap(tls, pParse, p) @@ -83239,7 +83258,7 @@ func Xsqlite3ExprUnmapAndDelete(tls *libc.TLS, pParse uintptr, p uintptr) { /* s // Return the number of bytes allocated for the expression structure // passed as the first argument. This is always one of EXPR_FULLSIZE, // EXPR_REDUCEDSIZE or EXPR_TOKENONLYSIZE. -func exprStructSize(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:103747:12: */ +func exprStructSize(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:103760:12: */ if (*Expr)(unsafe.Pointer(p)).Fflags&U32(EP_TokenOnly) != U32(0) { return int32(uintptr(0) + 12) } @@ -83281,7 +83300,7 @@ func exprStructSize(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:103747:12: */ // to reduce a pristine expression tree from the parser. The implementation // of dupedExprStructSize() contain multiple assert() statements that attempt // to enforce this constraint. -func dupedExprStructSize(tls *libc.TLS, p uintptr, flags int32) int32 { /* sqlite3.c:103787:12: */ +func dupedExprStructSize(tls *libc.TLS, p uintptr, flags int32) int32 { /* sqlite3.c:103800:12: */ var nSize int32 // Only one flag value allowed @@ -83303,7 +83322,7 @@ func dupedExprStructSize(tls *libc.TLS, p uintptr, flags int32) int32 { /* sqlit // This function returns the space in bytes required to store the copy // of the Expr structure and a copy of the Expr.u.zToken string (if that // string is defined.) -func dupedExprNodeSize(tls *libc.TLS, p uintptr, flags int32) int32 { /* sqlite3.c:103818:12: */ +func dupedExprNodeSize(tls *libc.TLS, p uintptr, flags int32) int32 { /* sqlite3.c:103831:12: */ var nByte int32 = dupedExprStructSize(tls, p, flags) & 0xfff if !((*Expr)(unsafe.Pointer(p)).Fflags&U32(EP_IntValue) != U32(0)) && *(*uintptr)(unsafe.Pointer(p + 8)) != 0 { nByte = int32(Size_t(nByte) + (libc.Xstrlen(tls, *(*uintptr)(unsafe.Pointer(p + 8)))&Size_t(0x3fffffff) + Size_t(1))) @@ -83322,7 +83341,7 @@ func dupedExprNodeSize(tls *libc.TLS, p uintptr, flags int32) int32 { /* sqlite3 // space to duplicate all Expr nodes in the tree formed by Expr.pLeft // and Expr.pRight variables (but not for any structures pointed to or // descended from the Expr.x.pList or Expr.x.pSelect variables). -func dupedExprSize(tls *libc.TLS, p uintptr, flags int32) int32 { /* sqlite3.c:103839:12: */ +func dupedExprSize(tls *libc.TLS, p uintptr, flags int32) int32 { /* sqlite3.c:103852:12: */ var nByte int32 = 0 if p != 0 { nByte = dupedExprNodeSize(tls, p, flags) @@ -83339,7 +83358,7 @@ func dupedExprSize(tls *libc.TLS, p uintptr, flags int32) int32 { /* sqlite3.c:1 // (if applicable), and the copies of the p->pLeft and p->pRight expressions, // if any. Before returning, *pzBuffer is set to the first byte past the // portion of the buffer copied into by this function. -func exprDup(tls *libc.TLS, db uintptr, p uintptr, dupFlags int32, pzBuffer uintptr) uintptr { /* sqlite3.c:103858:13: */ +func exprDup(tls *libc.TLS, db uintptr, p uintptr, dupFlags int32, pzBuffer uintptr) uintptr { /* sqlite3.c:103871:13: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -83449,7 +83468,7 @@ func exprDup(tls *libc.TLS, db uintptr, p uintptr, dupFlags int32, pzBuffer uint // Create and return a deep copy of the object passed as the second // argument. If an OOM condition is encountered, NULL is returned // and the db->mallocFailed flag set. -func Xsqlite3WithDup(tls *libc.TLS, db uintptr, p uintptr) uintptr { /* sqlite3.c:103968:21: */ +func Xsqlite3WithDup(tls *libc.TLS, db uintptr, p uintptr) uintptr { /* sqlite3.c:103981:21: */ var pRet uintptr = uintptr(0) if p != 0 { var nByte Sqlite3_int64 = Sqlite3_int64(uint32(unsafe.Sizeof(With{})) + uint32(unsafe.Sizeof(Cte{}))*uint32((*With)(unsafe.Pointer(p)).FnCte-1)) @@ -83471,7 +83490,7 @@ func Xsqlite3WithDup(tls *libc.TLS, db uintptr, p uintptr) uintptr { /* sqlite3. // gatherSelectWindowsCallback() are used to scan all the expressions // an a newly duplicated SELECT statement and gather all of the Window // objects found there, assembling them onto the linked list at Select->pWin. -func gatherSelectWindowsCallback(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:103996:12: */ +func gatherSelectWindowsCallback(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:104009:12: */ if int32((*Expr)(unsafe.Pointer(pExpr)).Fop) == TK_FUNCTION && (*Expr)(unsafe.Pointer(pExpr)).Fflags&U32(EP_WinFunc) != U32(0) { var pSelect uintptr = *(*uintptr)(unsafe.Pointer(pWalker + 24)) var pWin uintptr = *(*uintptr)(unsafe.Pointer(pExpr + 44)) @@ -83481,14 +83500,14 @@ func gatherSelectWindowsCallback(tls *libc.TLS, pWalker uintptr, pExpr uintptr) return WRC_Continue } -func gatherSelectWindowsSelectCallback(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sqlite3.c:104007:12: */ +func gatherSelectWindowsSelectCallback(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sqlite3.c:104020:12: */ if p == *(*uintptr)(unsafe.Pointer(pWalker + 24)) { return WRC_Continue } return WRC_Prune } -func gatherSelectWindows(tls *libc.TLS, p uintptr) { /* sqlite3.c:104010:13: */ +func gatherSelectWindows(tls *libc.TLS, p uintptr) { /* sqlite3.c:104023:13: */ bp := tls.Alloc(28) defer tls.Free(28) @@ -83521,7 +83540,7 @@ func gatherSelectWindows(tls *libc.TLS, p uintptr) { /* sqlite3.c:104010:13: */ // If the EXPRDUP_REDUCE flag is set, then the structure returned is a // truncated version of the usual Expr structure that will be stored as // part of the in-memory representation of the database schema. -func Xsqlite3ExprDup(tls *libc.TLS, db uintptr, p uintptr, flags int32) uintptr { /* sqlite3.c:104039:21: */ +func Xsqlite3ExprDup(tls *libc.TLS, db uintptr, p uintptr, flags int32) uintptr { /* sqlite3.c:104052:21: */ if p != 0 { return exprDup(tls, db, p, flags, uintptr(0)) @@ -83529,7 +83548,7 @@ func Xsqlite3ExprDup(tls *libc.TLS, db uintptr, p uintptr, flags int32) uintptr return uintptr(0) } -func Xsqlite3ExprListDup(tls *libc.TLS, db uintptr, p uintptr, flags int32) uintptr { /* sqlite3.c:104043:25: */ +func Xsqlite3ExprListDup(tls *libc.TLS, db uintptr, p uintptr, flags int32) uintptr { /* sqlite3.c:104056:25: */ var pNew uintptr var pItem uintptr var pOldItem uintptr @@ -83598,7 +83617,7 @@ __3: // the build, then none of the following routines, except for // sqlite3SelectDup(), can be called. sqlite3SelectDup() is sometimes // called with a NULL argument. -func Xsqlite3SrcListDup(tls *libc.TLS, db uintptr, p uintptr, flags int32) uintptr { /* sqlite3.c:104098:24: */ +func Xsqlite3SrcListDup(tls *libc.TLS, db uintptr, p uintptr, flags int32) uintptr { /* sqlite3.c:104111:24: */ var pNew uintptr var i int32 var nByte int32 @@ -83651,7 +83670,7 @@ func Xsqlite3SrcListDup(tls *libc.TLS, db uintptr, p uintptr, flags int32) uintp return pNew } -func Xsqlite3IdListDup(tls *libc.TLS, db uintptr, p uintptr) uintptr { /* sqlite3.c:104142:23: */ +func Xsqlite3IdListDup(tls *libc.TLS, db uintptr, p uintptr) uintptr { /* sqlite3.c:104155:23: */ var pNew uintptr var i int32 @@ -83680,7 +83699,7 @@ func Xsqlite3IdListDup(tls *libc.TLS, db uintptr, p uintptr) uintptr { /* sqlite return pNew } -func Xsqlite3SelectDup(tls *libc.TLS, db uintptr, pDup uintptr, flags int32) uintptr { /* sqlite3.c:104166:23: */ +func Xsqlite3SelectDup(tls *libc.TLS, db uintptr, pDup uintptr, flags int32) uintptr { /* sqlite3.c:104179:23: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -83746,9 +83765,9 @@ func Xsqlite3SelectDup(tls *libc.TLS, db uintptr, pDup uintptr, flags int32) uin // If a memory allocation error occurs, the entire list is freed and // NULL is returned. If non-NULL is returned, then it is guaranteed // that the new entry was successfully appended. -var zeroItem = ExprList_item{} /* sqlite3.c:104237:35 */ +var zeroItem = ExprList_item{} /* sqlite3.c:104250:35 */ -func Xsqlite3ExprListAppendNew(tls *libc.TLS, db uintptr, pExpr uintptr) uintptr { /* sqlite3.c:104238:41: */ +func Xsqlite3ExprListAppendNew(tls *libc.TLS, db uintptr, pExpr uintptr) uintptr { /* sqlite3.c:104251:41: */ var pItem uintptr var pList uintptr @@ -83765,7 +83784,7 @@ func Xsqlite3ExprListAppendNew(tls *libc.TLS, db uintptr, pExpr uintptr) uintptr return pList } -func Xsqlite3ExprListAppendGrow(tls *libc.TLS, db uintptr, pList uintptr, pExpr uintptr) uintptr { /* sqlite3.c:104257:41: */ +func Xsqlite3ExprListAppendGrow(tls *libc.TLS, db uintptr, pList uintptr, pExpr uintptr) uintptr { /* sqlite3.c:104270:41: */ var pItem uintptr var pNew uintptr *(*int32)(unsafe.Pointer(pList + 4)) *= 2 @@ -83784,7 +83803,7 @@ func Xsqlite3ExprListAppendGrow(tls *libc.TLS, db uintptr, pList uintptr, pExpr return pList } -func Xsqlite3ExprListAppend(tls *libc.TLS, pParse uintptr, pList uintptr, pExpr uintptr) uintptr { /* sqlite3.c:104279:25: */ +func Xsqlite3ExprListAppend(tls *libc.TLS, pParse uintptr, pList uintptr, pExpr uintptr) uintptr { /* sqlite3.c:104292:25: */ var pItem uintptr if pList == uintptr(0) { return Xsqlite3ExprListAppendNew(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, pExpr) @@ -83807,7 +83826,7 @@ func Xsqlite3ExprListAppend(tls *libc.TLS, pParse uintptr, pList uintptr, pExpr // For each term of the vector assignment, append new entries to the // expression list pList. In the case of a subquery on the RHS, append // TK_SELECT_COLUMN expressions. -func Xsqlite3ExprListAppendVector(tls *libc.TLS, pParse uintptr, pList uintptr, pColumns uintptr, pExpr uintptr) uintptr { /* sqlite3.c:104308:25: */ +func Xsqlite3ExprListAppendVector(tls *libc.TLS, pParse uintptr, pList uintptr, pColumns uintptr, pExpr uintptr) uintptr { /* sqlite3.c:104321:25: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -83904,7 +83923,7 @@ vector_append_error: } // Set the sort order for the last element on the given ExprList. -func Xsqlite3ExprListSetSortOrder(tls *libc.TLS, p uintptr, iSortOrder int32, eNulls int32) { /* sqlite3.c:104370:21: */ +func Xsqlite3ExprListSetSortOrder(tls *libc.TLS, p uintptr, iSortOrder int32, eNulls int32) { /* sqlite3.c:104383:21: */ var pItem uintptr if p == uintptr(0) { return @@ -83931,7 +83950,7 @@ func Xsqlite3ExprListSetSortOrder(tls *libc.TLS, p uintptr, iSortOrder int32, eN // pList might be NULL following an OOM error. But pName should never be // NULL. If a memory allocation fails, the pParse->db->mallocFailed flag // is set. -func Xsqlite3ExprListSetName(tls *libc.TLS, pParse uintptr, pList uintptr, pName uintptr, dequote int32) { /* sqlite3.c:104408:21: */ +func Xsqlite3ExprListSetName(tls *libc.TLS, pParse uintptr, pList uintptr, pName uintptr, dequote int32) { /* sqlite3.c:104421:21: */ if pList != 0 { var pItem uintptr @@ -83957,7 +83976,7 @@ func Xsqlite3ExprListSetName(tls *libc.TLS, pParse uintptr, pList uintptr, pName // pList might be NULL following an OOM error. But pSpan should never be // NULL. If a memory allocation fails, the pParse->db->mallocFailed flag // is set. -func Xsqlite3ExprListSetSpan(tls *libc.TLS, pParse uintptr, pList uintptr, zStart uintptr, zEnd uintptr) { /* sqlite3.c:104443:21: */ +func Xsqlite3ExprListSetSpan(tls *libc.TLS, pParse uintptr, pList uintptr, zStart uintptr, zEnd uintptr) { /* sqlite3.c:104456:21: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb if pList != 0 { @@ -83972,7 +83991,7 @@ func Xsqlite3ExprListSetSpan(tls *libc.TLS, pParse uintptr, pList uintptr, zStar // If the expression list pEList contains more than iLimit elements, // leave an error message in pParse. -func Xsqlite3ExprListCheckLength(tls *libc.TLS, pParse uintptr, pEList uintptr, zObject uintptr) { /* sqlite3.c:104465:21: */ +func Xsqlite3ExprListCheckLength(tls *libc.TLS, pParse uintptr, pEList uintptr, zObject uintptr) { /* sqlite3.c:104478:21: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -83984,7 +84003,7 @@ func Xsqlite3ExprListCheckLength(tls *libc.TLS, pParse uintptr, pEList uintptr, } // Delete an entire expression list. -func exprListDeleteNN(tls *libc.TLS, db uintptr, pList uintptr) { /* sqlite3.c:104481:29: */ +func exprListDeleteNN(tls *libc.TLS, db uintptr, pList uintptr) { /* sqlite3.c:104494:29: */ var i int32 = (*ExprList)(unsafe.Pointer(pList)).FnExpr var pItem uintptr = pList + 8 /* &.a */ @@ -83996,7 +84015,7 @@ func exprListDeleteNN(tls *libc.TLS, db uintptr, pList uintptr) { /* sqlite3.c:1 Xsqlite3DbFreeNN(tls, db, pList) } -func Xsqlite3ExprListDelete(tls *libc.TLS, db uintptr, pList uintptr) { /* sqlite3.c:104492:21: */ +func Xsqlite3ExprListDelete(tls *libc.TLS, db uintptr, pList uintptr) { /* sqlite3.c:104505:21: */ if pList != 0 { exprListDeleteNN(tls, db, pList) } @@ -84004,7 +84023,7 @@ func Xsqlite3ExprListDelete(tls *libc.TLS, db uintptr, pList uintptr) { /* sqlit // Return the bitwise-OR of all Expr.flags fields in the given // ExprList. -func Xsqlite3ExprListFlags(tls *libc.TLS, pList uintptr) U32 { /* sqlite3.c:104500:20: */ +func Xsqlite3ExprListFlags(tls *libc.TLS, pList uintptr) U32 { /* sqlite3.c:104513:20: */ var i int32 var m U32 = U32(0) @@ -84021,7 +84040,7 @@ func Xsqlite3ExprListFlags(tls *libc.TLS, pList uintptr) U32 { /* sqlite3.c:1045 // pWalker->eCode to zero and abort. // // This callback is used by multiple expression walkers. -func Xsqlite3SelectWalkFail(tls *libc.TLS, pWalker uintptr, NotUsed uintptr) int32 { /* sqlite3.c:104519:20: */ +func Xsqlite3SelectWalkFail(tls *libc.TLS, pWalker uintptr, NotUsed uintptr) int32 { /* sqlite3.c:104532:20: */ _ = NotUsed (*Walker)(unsafe.Pointer(pWalker)).FeCode = U16(0) return WRC_Abort @@ -84033,7 +84052,7 @@ func Xsqlite3SelectWalkFail(tls *libc.TLS, pWalker uintptr, NotUsed uintptr) int // "true" EP_IsTrue // "false" EP_IsFalse // anything else 0 -func Xsqlite3IsTrueOrFalse(tls *libc.TLS, zIn uintptr) U32 { /* sqlite3.c:104533:20: */ +func Xsqlite3IsTrueOrFalse(tls *libc.TLS, zIn uintptr) U32 { /* sqlite3.c:104546:20: */ if Xsqlite3StrICmp(tls, zIn, ts+6646) == 0 { return U32(EP_IsTrue) } @@ -84046,7 +84065,7 @@ func Xsqlite3IsTrueOrFalse(tls *libc.TLS, zIn uintptr) U32 { /* sqlite3.c:104533 // If the input expression is an ID with the name "true" or "false" // then convert it into an TK_TRUEFALSE term. Return non-zero if // the conversion happened, and zero if the expression is unaltered. -func Xsqlite3ExprIdToTrueFalse(tls *libc.TLS, pExpr uintptr) int32 { /* sqlite3.c:104545:20: */ +func Xsqlite3ExprIdToTrueFalse(tls *libc.TLS, pExpr uintptr) int32 { /* sqlite3.c:104558:20: */ var v U32 if !((*Expr)(unsafe.Pointer(pExpr)).Fflags&U32(EP_Quoted|EP_IntValue) != U32(0)) && @@ -84060,7 +84079,7 @@ func Xsqlite3ExprIdToTrueFalse(tls *libc.TLS, pExpr uintptr) int32 { /* sqlite3. // The argument must be a TK_TRUEFALSE Expr node. Return 1 if it is TRUE // and 0 if it is FALSE. -func Xsqlite3ExprTruthValue(tls *libc.TLS, pExpr uintptr) int32 { /* sqlite3.c:104562:20: */ +func Xsqlite3ExprTruthValue(tls *libc.TLS, pExpr uintptr) int32 { /* sqlite3.c:104575:20: */ pExpr = Xsqlite3ExprSkipCollate(tls, pExpr) return libc.Bool32(int32(*(*int8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pExpr + 8)) + 4))) == 0) @@ -84077,7 +84096,7 @@ func Xsqlite3ExprTruthValue(tls *libc.TLS, pExpr uintptr) int32 { /* sqlite3.c:1 // (x<10) AND (y=22 OR false) => (x<10) AND (y=22) // (x<10) AND (y=22 OR true) => (x<10) // (y=22) OR true => true -func Xsqlite3ExprSimplifiedAndOr(tls *libc.TLS, pExpr uintptr) uintptr { /* sqlite3.c:104584:21: */ +func Xsqlite3ExprSimplifiedAndOr(tls *libc.TLS, pExpr uintptr) uintptr { /* sqlite3.c:104597:21: */ if int32((*Expr)(unsafe.Pointer(pExpr)).Fop) == TK_AND || int32((*Expr)(unsafe.Pointer(pExpr)).Fop) == TK_OR { var pRight uintptr = Xsqlite3ExprSimplifiedAndOr(tls, (*Expr)(unsafe.Pointer(pExpr)).FpRight) @@ -84123,7 +84142,7 @@ func Xsqlite3ExprSimplifiedAndOr(tls *libc.TLS, pExpr uintptr) uintptr { /* sqli // contain a bound parameter because they were generated by older versions // of SQLite to be parsed by newer versions of SQLite without raising a // malformed schema error. -func exprNodeIsConstant(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:104625:12: */ +func exprNodeIsConstant(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:104638:12: */ // If pWalker->eCode is 2 then any term of the expression that comes from // the ON or USING clauses of a left join disqualifies the expression @@ -84198,7 +84217,7 @@ func exprNodeIsConstant(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { / return int32(0) } -func exprIsConst(tls *libc.TLS, p uintptr, initFlag int32, iCur int32) int32 { /* sqlite3.c:104697:12: */ +func exprIsConst(tls *libc.TLS, p uintptr, initFlag int32, iCur int32) int32 { /* sqlite3.c:104710:12: */ bp := tls.Alloc(28) defer tls.Free(28) @@ -84222,7 +84241,7 @@ func exprIsConst(tls *libc.TLS, p uintptr, initFlag int32, iCur int32) int32 { / // For the purposes of this function, a double-quoted string (ex: "abc") // is considered a variable but a single-quoted string (ex: 'abc') is // a constant. -func Xsqlite3ExprIsConstant(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:104718:20: */ +func Xsqlite3ExprIsConstant(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:104731:20: */ return exprIsConst(tls, p, 1, 0) } @@ -84237,7 +84256,7 @@ func Xsqlite3ExprIsConstant(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:10471 // When this routine returns true, it indicates that the expression // can be added to the pParse->pConstExpr list and evaluated once when // the prepared statement starts up. See sqlite3ExprCodeRunJustOnce(). -func Xsqlite3ExprIsConstantNotJoin(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:104735:20: */ +func Xsqlite3ExprIsConstantNotJoin(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:104748:20: */ return exprIsConst(tls, p, 2, 0) } @@ -84245,12 +84264,12 @@ func Xsqlite3ExprIsConstantNotJoin(tls *libc.TLS, p uintptr) int32 { /* sqlite3. // for any single row of the table with cursor iCur. In other words, the // expression must not refer to any non-deterministic function nor any // table other than iCur. -func Xsqlite3ExprIsTableConstant(tls *libc.TLS, p uintptr, iCur int32) int32 { /* sqlite3.c:104745:20: */ +func Xsqlite3ExprIsTableConstant(tls *libc.TLS, p uintptr, iCur int32) int32 { /* sqlite3.c:104758:20: */ return exprIsConst(tls, p, 3, iCur) } // sqlite3WalkExpr() callback used by sqlite3ExprIsConstantOrGroupBy(). -func exprNodeIsConstantOrGroupBy(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:104753:12: */ +func exprNodeIsConstantOrGroupBy(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:104766:12: */ var pGroupBy uintptr = *(*uintptr)(unsafe.Pointer(pWalker + 24)) var i int32 @@ -84292,7 +84311,7 @@ func exprNodeIsConstantOrGroupBy(tls *libc.TLS, pWalker uintptr, pExpr uintptr) // alternative collating sequences are uncommon, and this is only an // optimization, so we take the easy way out and simply require the // GROUP BY to use the BINARY collating sequence. -func Xsqlite3ExprIsConstantOrGroupBy(tls *libc.TLS, pParse uintptr, p uintptr, pGroupBy uintptr) int32 { /* sqlite3.c:104797:20: */ +func Xsqlite3ExprIsConstantOrGroupBy(tls *libc.TLS, pParse uintptr, p uintptr, pGroupBy uintptr) int32 { /* sqlite3.c:104810:20: */ bp := tls.Alloc(28) defer tls.Free(28) @@ -84328,7 +84347,7 @@ func Xsqlite3ExprIsConstantOrGroupBy(tls *libc.TLS, pParse uintptr, p uintptr, p // For the purposes of this function, a double-quoted string (ex: "abc") // is considered a variable but a single-quoted string (ex: 'abc') is // a constant. -func Xsqlite3ExprIsConstantOrFunction(tls *libc.TLS, p uintptr, isInit U8) int32 { /* sqlite3.c:104829:20: */ +func Xsqlite3ExprIsConstantOrFunction(tls *libc.TLS, p uintptr, isInit U8) int32 { /* sqlite3.c:104842:20: */ return exprIsConst(tls, p, 4+int32(isInit), 0) } @@ -84337,7 +84356,7 @@ func Xsqlite3ExprIsConstantOrFunction(tls *libc.TLS, p uintptr, isInit U8) int32 // to fit in a 32-bit integer, return 1 and put the value of the integer // in *pValue. If the expression is not an integer or if it is too big // to fit in a signed 32-bit integer, return 0 and leave *pValue unchanged. -func Xsqlite3ExprIsInteger(tls *libc.TLS, p uintptr, pValue uintptr) int32 { /* sqlite3.c:104858:20: */ +func Xsqlite3ExprIsInteger(tls *libc.TLS, p uintptr, pValue uintptr) int32 { /* sqlite3.c:104871:20: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -84389,7 +84408,7 @@ func Xsqlite3ExprIsInteger(tls *libc.TLS, p uintptr, pValue uintptr) int32 { /* // hand, a false negative (returning FALSE when the result could be NULL) // will likely result in an incorrect answer. So when in doubt, return // TRUE. -func Xsqlite3ExprCanBeNull(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:104904:20: */ +func Xsqlite3ExprCanBeNull(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:104917:20: */ var op U8 for int32((*Expr)(unsafe.Pointer(p)).Fop) == TK_UPLUS || int32((*Expr)(unsafe.Pointer(p)).Fop) == TK_UMINUS { @@ -84428,7 +84447,7 @@ func Xsqlite3ExprCanBeNull(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:104904 // can be omitted. When in doubt return FALSE. A false negative // is harmless. A false positive, however, can result in the wrong // answer. -func Xsqlite3ExprNeedsNoAffinityChange(tls *libc.TLS, p uintptr, aff int8) int32 { /* sqlite3.c:104941:20: */ +func Xsqlite3ExprNeedsNoAffinityChange(tls *libc.TLS, p uintptr, aff int8) int32 { /* sqlite3.c:104954:20: */ var op U8 var unaryMinus int32 = 0 if int32(aff) == SQLITE_AFF_BLOB { @@ -84481,7 +84500,7 @@ func Xsqlite3ExprNeedsNoAffinityChange(tls *libc.TLS, p uintptr, aff int8) int32 } // Return TRUE if the given string is a row-id column name. -func Xsqlite3IsRowid(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:104977:20: */ +func Xsqlite3IsRowid(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:104990:20: */ if Xsqlite3StrICmp(tls, z, ts+7592) == 0 { return 1 } @@ -84499,7 +84518,7 @@ func Xsqlite3IsRowid(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:104977:20: * // a pointer to the SELECT statement. If pX is not a SELECT statement, // or if the SELECT statement needs to be manifested into a transient // table, then return NULL. -func isCandidateForInOpt(tls *libc.TLS, pX uintptr) uintptr { /* sqlite3.c:104992:15: */ +func isCandidateForInOpt(tls *libc.TLS, pX uintptr) uintptr { /* sqlite3.c:105005:15: */ var p uintptr var pSrc uintptr var pEList uintptr @@ -84557,7 +84576,7 @@ func isCandidateForInOpt(tls *libc.TLS, pX uintptr) uintptr { /* sqlite3.c:10499 // it contains any NULL entries. Cause the register at regHasNull to be set // to a non-NULL value if iCur contains no NULLs. Cause register regHasNull // to be set to NULL if iCur contains one or more NULL values. -func sqlite3SetHasNullFlag(tls *libc.TLS, v uintptr, iCur int32, regHasNull int32) { /* sqlite3.c:105037:13: */ +func sqlite3SetHasNullFlag(tls *libc.TLS, v uintptr, iCur int32, regHasNull int32) { /* sqlite3.c:105050:13: */ var addr1 int32 Xsqlite3VdbeAddOp2(tls, v, OP_Integer, 0, regHasNull) addr1 = Xsqlite3VdbeAddOp1(tls, v, OP_Rewind, iCur) @@ -84569,7 +84588,7 @@ func sqlite3SetHasNullFlag(tls *libc.TLS, v uintptr, iCur int32, regHasNull int3 // The argument is an IN operator with a list (not a subquery) on the // right-hand side. Return TRUE if that list is constant. -func sqlite3InRhsIsConstant(tls *libc.TLS, pIn uintptr) int32 { /* sqlite3.c:105054:12: */ +func sqlite3InRhsIsConstant(tls *libc.TLS, pIn uintptr) int32 { /* sqlite3.c:105067:12: */ var pLHS uintptr var res int32 @@ -84658,7 +84677,7 @@ func sqlite3InRhsIsConstant(tls *libc.TLS, pIn uintptr) int32 { /* sqlite3.c:105 // CREATE INDEX i1 ON t1(b, c, a); // // then aiMap[] is populated with {2, 0, 1}. -func Xsqlite3FindInIndex(tls *libc.TLS, pParse uintptr, pX uintptr, inFlags U32, prRhsHasNull uintptr, aiMap uintptr, piTab uintptr) int32 { /* sqlite3.c:105147:20: */ +func Xsqlite3FindInIndex(tls *libc.TLS, pParse uintptr, pX uintptr, inFlags U32, prRhsHasNull uintptr, aiMap uintptr, piTab uintptr) int32 { /* sqlite3.c:105160:20: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -84876,7 +84895,7 @@ func Xsqlite3FindInIndex(tls *libc.TLS, pParse uintptr, pX uintptr, inFlags U32, // // It is the responsibility of the caller to ensure that the returned // string is eventually freed using sqlite3DbFree(). -func exprINAffinity(tls *libc.TLS, pParse uintptr, pExpr uintptr) uintptr { /* sqlite3.c:105370:13: */ +func exprINAffinity(tls *libc.TLS, pParse uintptr, pExpr uintptr) uintptr { /* sqlite3.c:105383:13: */ var pLeft uintptr = (*Expr)(unsafe.Pointer(pExpr)).FpLeft var nVal int32 = Xsqlite3ExprVectorSize(tls, pLeft) var pSelect uintptr @@ -84908,7 +84927,7 @@ func exprINAffinity(tls *libc.TLS, pParse uintptr, pExpr uintptr) uintptr { /* s // message of the form: // // "sub-select returns N columns - expected M" -func Xsqlite3SubselectError(tls *libc.TLS, pParse uintptr, nActual int32, nExpect int32) { /* sqlite3.c:105402:21: */ +func Xsqlite3SubselectError(tls *libc.TLS, pParse uintptr, nActual int32, nExpect int32) { /* sqlite3.c:105415:21: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -84927,7 +84946,7 @@ func Xsqlite3SubselectError(tls *libc.TLS, pParse uintptr, nActual int32, nExpec // Or, if it is a regular scalar vector: // // "row value misused" -func Xsqlite3VectorErrorMsg(tls *libc.TLS, pParse uintptr, pExpr uintptr) { /* sqlite3.c:105421:21: */ +func Xsqlite3VectorErrorMsg(tls *libc.TLS, pParse uintptr, pExpr uintptr) { /* sqlite3.c:105434:21: */ if (*Expr)(unsafe.Pointer(pExpr)).Fflags&U32(EP_xIsSelect) != U32(0) { Xsqlite3SubselectError(tls, pParse, (*ExprList)(unsafe.Pointer((*Select)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pExpr + 20)))).FpEList)).FnExpr, 1) } else { @@ -84955,7 +84974,7 @@ func Xsqlite3VectorErrorMsg(tls *libc.TLS, pParse uintptr, pExpr uintptr) { /* s // if either column has NUMERIC or INTEGER affinity. If neither // 'x' nor the SELECT... statement are columns, then numeric affinity // is used. -func Xsqlite3CodeRhsOfIN(tls *libc.TLS, pParse uintptr, pExpr uintptr, iTab int32) { /* sqlite3.c:105455:21: */ +func Xsqlite3CodeRhsOfIN(tls *libc.TLS, pParse uintptr, pExpr uintptr, iTab int32) { /* sqlite3.c:105468:21: */ bp := tls.Alloc(53) defer tls.Free(53) @@ -85150,7 +85169,7 @@ func Xsqlite3CodeRhsOfIN(tls *libc.TLS, pParse uintptr, pExpr uintptr, iTab int3 // the result is stored in a contiguous array of registers and the // return value is the register of the left-most result column. // Return 0 if an error occurs. -func Xsqlite3CodeSubselect(tls *libc.TLS, pParse uintptr, pExpr uintptr) int32 { /* sqlite3.c:105650:20: */ +func Xsqlite3CodeSubselect(tls *libc.TLS, pParse uintptr, pExpr uintptr) int32 { /* sqlite3.c:105663:20: */ bp := tls.Alloc(52) defer tls.Free(52) @@ -85273,7 +85292,7 @@ func Xsqlite3CodeSubselect(tls *libc.TLS, pParse uintptr, pExpr uintptr) int32 { // sub-select on the RHS of the IN() operator has the same number of // columns as the vector on the LHS. Or, if the RHS of the IN() is not // a sub-query, that the LHS is a vector of size 1. -func Xsqlite3ExprCheckIN(tls *libc.TLS, pParse uintptr, pIn uintptr) int32 { /* sqlite3.c:105772:20: */ +func Xsqlite3ExprCheckIN(tls *libc.TLS, pParse uintptr, pIn uintptr) int32 { /* sqlite3.c:105785:20: */ var nVector int32 = Xsqlite3ExprVectorSize(tls, (*Expr)(unsafe.Pointer(pIn)).FpLeft) if (*Expr)(unsafe.Pointer(pIn)).Fflags&U32(EP_xIsSelect) != U32(0) && !(int32((*Sqlite3)(unsafe.Pointer((*Parse)(unsafe.Pointer(pParse)).Fdb)).FmallocFailed) != 0) { if nVector != (*ExprList)(unsafe.Pointer((*Select)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pIn + 20)))).FpEList)).FnExpr { @@ -85310,7 +85329,7 @@ func Xsqlite3ExprCheckIN(tls *libc.TLS, pParse uintptr, pIn uintptr) int32 { /* // // See the separate in-operator.md documentation file in the canonical // SQLite source tree for additional information. -func sqlite3ExprCodeIN(tls *libc.TLS, pParse uintptr, pExpr uintptr, destIfFalse int32, destIfNull int32) { /* sqlite3.c:105813:13: */ +func sqlite3ExprCodeIN(tls *libc.TLS, pParse uintptr, pExpr uintptr, destIfFalse int32, destIfNull int32) { /* sqlite3.c:105826:13: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -85691,7 +85710,7 @@ sqlite3ExprCodeIN_oom_error: // The z[] string will probably not be zero-terminated. But the // z[n] character is guaranteed to be something that does not look // like the continuation of the number. -func codeReal(tls *libc.TLS, v uintptr, z uintptr, negateFlag int32, iMem int32) { /* sqlite3.c:106071:13: */ +func codeReal(tls *libc.TLS, v uintptr, z uintptr, negateFlag int32, iMem int32) { /* sqlite3.c:106084:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -85711,7 +85730,7 @@ func codeReal(tls *libc.TLS, v uintptr, z uintptr, negateFlag int32, iMem int32) // text z[0..n-1] into register iMem. // // Expr.u.zToken is always UTF8 and zero-terminated. -func codeInteger(tls *libc.TLS, pParse uintptr, pExpr uintptr, negFlag int32, iMem int32) { /* sqlite3.c:106089:13: */ +func codeInteger(tls *libc.TLS, pParse uintptr, pExpr uintptr, negFlag int32, iMem int32) { /* sqlite3.c:106102:13: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -85757,7 +85776,7 @@ func codeInteger(tls *libc.TLS, pParse uintptr, pExpr uintptr, negFlag int32, iM // Generate code that will load into register regOut a value that is // appropriate for the iIdxCol-th column of index pIdx. -func Xsqlite3ExprCodeLoadIndexColumn(tls *libc.TLS, pParse uintptr, pIdx uintptr, iTabCur int32, iIdxCol int32, regOut int32) { /* sqlite3.c:106127:21: */ +func Xsqlite3ExprCodeLoadIndexColumn(tls *libc.TLS, pParse uintptr, pIdx uintptr, iTabCur int32, iIdxCol int32, regOut int32) { /* sqlite3.c:106140:21: */ var iTabCol I16 = *(*I16)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FaiColumn + uintptr(iIdxCol)*2)) if int32(iTabCol) == -2 { @@ -85772,7 +85791,7 @@ func Xsqlite3ExprCodeLoadIndexColumn(tls *libc.TLS, pParse uintptr, pIdx uintptr // Generate code that will compute the value of generated column pCol // and store the result in register regOut -func Xsqlite3ExprCodeGeneratedColumn(tls *libc.TLS, pParse uintptr, pTab uintptr, pCol uintptr, regOut int32) { /* sqlite3.c:106152:21: */ +func Xsqlite3ExprCodeGeneratedColumn(tls *libc.TLS, pParse uintptr, pTab uintptr, pCol uintptr, regOut int32) { /* sqlite3.c:106165:21: */ var iAddr int32 var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe @@ -85791,7 +85810,7 @@ func Xsqlite3ExprCodeGeneratedColumn(tls *libc.TLS, pParse uintptr, pTab uintptr } // Generate code to extract the value of the iCol-th column of a table. -func Xsqlite3ExprCodeGetColumnOfTable(tls *libc.TLS, v uintptr, pTab uintptr, iTabCur int32, iCol int32, regOut int32) { /* sqlite3.c:106178:21: */ +func Xsqlite3ExprCodeGetColumnOfTable(tls *libc.TLS, v uintptr, pTab uintptr, iTabCur int32, iCol int32, regOut int32) { /* sqlite3.c:106191:21: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -85842,7 +85861,7 @@ func Xsqlite3ExprCodeGetColumnOfTable(tls *libc.TLS, v uintptr, pTab uintptr, iT // // There must be an open cursor to pTab in iTable when this routine // is called. If iColumn<0 then code is generated that extracts the rowid. -func Xsqlite3ExprCodeGetColumn(tls *libc.TLS, pParse uintptr, pTab uintptr, iColumn int32, iTable int32, iReg int32, p5 U8) int32 { /* sqlite3.c:106236:20: */ +func Xsqlite3ExprCodeGetColumn(tls *libc.TLS, pParse uintptr, pTab uintptr, iColumn int32, iTable int32, iReg int32, p5 U8) int32 { /* sqlite3.c:106249:20: */ Xsqlite3ExprCodeGetColumnOfTable(tls, (*Parse)(unsafe.Pointer(pParse)).FpVdbe, pTab, iTable, iColumn, iReg) if p5 != 0 { @@ -85856,14 +85875,14 @@ func Xsqlite3ExprCodeGetColumn(tls *libc.TLS, pParse uintptr, pTab uintptr, iCol // Generate code to move content from registers iFrom...iFrom+nReg-1 // over to iTo..iTo+nReg-1. -func Xsqlite3ExprCodeMove(tls *libc.TLS, pParse uintptr, iFrom int32, iTo int32, nReg int32) { /* sqlite3.c:106257:21: */ +func Xsqlite3ExprCodeMove(tls *libc.TLS, pParse uintptr, iFrom int32, iTo int32, nReg int32) { /* sqlite3.c:106270:21: */ Xsqlite3VdbeAddOp3(tls, (*Parse)(unsafe.Pointer(pParse)).FpVdbe, OP_Move, iFrom, iTo, nReg) } // Convert a scalar expression node to a TK_REGISTER referencing // register iReg. The caller must ensure that iReg already contains // the correct value for the expression. -func exprToRegister(tls *libc.TLS, pExpr uintptr, iReg int32) { /* sqlite3.c:106266:13: */ +func exprToRegister(tls *libc.TLS, pExpr uintptr, iReg int32) { /* sqlite3.c:106279:13: */ var p uintptr = Xsqlite3ExprSkipCollateAndLikely(tls, pExpr) if p == uintptr(0) { return @@ -85882,7 +85901,7 @@ func exprToRegister(tls *libc.TLS, pExpr uintptr, iReg int32) { /* sqlite3.c:106 // that register number into *piFreeable. If the returned result register // is not a temporary or if the expression is a vector set *piFreeable // to 0. -func exprCodeVector(tls *libc.TLS, pParse uintptr, p uintptr, piFreeable uintptr) int32 { /* sqlite3.c:106285:12: */ +func exprCodeVector(tls *libc.TLS, pParse uintptr, p uintptr, piFreeable uintptr) int32 { /* sqlite3.c:106298:12: */ var iResult int32 var nResult int32 = Xsqlite3ExprVectorSize(tls, p) if nResult == 1 { @@ -85906,7 +85925,7 @@ func exprCodeVector(tls *libc.TLS, pParse uintptr, p uintptr, piFreeable uintptr // If the last opcode is a OP_Copy, then set the do-not-merge flag (p5) // so that a subsequent copy will not be merged into this one. -func setDoNotMergeFlagOnCopy(tls *libc.TLS, v uintptr) { /* sqlite3.c:106315:13: */ +func setDoNotMergeFlagOnCopy(tls *libc.TLS, v uintptr) { /* sqlite3.c:106328:13: */ if int32((*VdbeOp)(unsafe.Pointer(Xsqlite3VdbeGetOp(tls, v, -1))).Fopcode) == OP_Copy { Xsqlite3VdbeChangeP5(tls, v, uint16(1)) // Tag trailing OP_Copy as not mergable } @@ -85914,7 +85933,7 @@ func setDoNotMergeFlagOnCopy(tls *libc.TLS, v uintptr) { /* sqlite3.c:106315:13: // Generate code to implement special SQL functions that are implemented // in-line rather than by using the usual callbacks. -func exprCodeInlineFunction(tls *libc.TLS, pParse uintptr, pFarg uintptr, iFuncId int32, target int32) int32 { /* sqlite3.c:106325:12: */ +func exprCodeInlineFunction(tls *libc.TLS, pParse uintptr, pFarg uintptr, iFuncId int32, target int32) int32 { /* sqlite3.c:106338:12: */ bp := tls.Alloc(72) defer tls.Free(72) @@ -86039,7 +86058,7 @@ func exprCodeInlineFunction(tls *libc.TLS, pParse uintptr, pFarg uintptr, iFuncI // register if it is convenient to do so. The calling function // must check the return code and move the results to the desired // register. -func Xsqlite3ExprCodeTarget(tls *libc.TLS, pParse uintptr, pExpr uintptr, target int32) int32 { /* sqlite3.c:106441:20: */ +func Xsqlite3ExprCodeTarget(tls *libc.TLS, pParse uintptr, pExpr uintptr, target int32) int32 { /* sqlite3.c:106454:20: */ bp := tls.Alloc(152) defer tls.Free(152) @@ -87108,7 +87127,7 @@ __3: return inReg } -var zAff = *(*[8]int8)(unsafe.Pointer(ts + 8011)) /* sqlite3.c:106508:29 */ +var zAff = *(*[8]int8)(unsafe.Pointer(ts + 8011)) /* sqlite3.c:106521:29 */ // Generate code that will evaluate expression pExpr just one time // per prepared statement execution. @@ -87125,7 +87144,7 @@ var zAff = *(*[8]int8)(unsafe.Pointer(ts + 8011)) /* sqlite3.c:106508:29 */ // code to the same register, if they do not contain function calls and hence // are factored out into the initialization section at the end of the // prepared statement. -func Xsqlite3ExprCodeRunJustOnce(tls *libc.TLS, pParse uintptr, pExpr uintptr, regDest int32) int32 { /* sqlite3.c:107215:20: */ +func Xsqlite3ExprCodeRunJustOnce(tls *libc.TLS, pParse uintptr, pExpr uintptr, regDest int32) int32 { /* sqlite3.c:107228:20: */ var p uintptr p = (*Parse)(unsafe.Pointer(pParse)).FpConstExpr @@ -87194,7 +87213,7 @@ func Xsqlite3ExprCodeRunJustOnce(tls *libc.TLS, pParse uintptr, pExpr uintptr, r // If pExpr is a constant, then this routine might generate this // code to fill the register in the initialization section of the // VDBE program, in order to factor it out of the evaluation loop. -func Xsqlite3ExprCodeTemp(tls *libc.TLS, pParse uintptr, pExpr uintptr, pReg uintptr) int32 { /* sqlite3.c:107272:20: */ +func Xsqlite3ExprCodeTemp(tls *libc.TLS, pParse uintptr, pExpr uintptr, pReg uintptr) int32 { /* sqlite3.c:107285:20: */ var r2 int32 pExpr = Xsqlite3ExprSkipCollateAndLikely(tls, pExpr) if (*Parse)(unsafe.Pointer(pParse)).FokConstFactor != 0 && @@ -87219,7 +87238,7 @@ func Xsqlite3ExprCodeTemp(tls *libc.TLS, pParse uintptr, pExpr uintptr, pReg uin // Generate code that will evaluate expression pExpr and store the // results in register target. The results are guaranteed to appear // in register target. -func Xsqlite3ExprCode(tls *libc.TLS, pParse uintptr, pExpr uintptr, target int32) { /* sqlite3.c:107300:21: */ +func Xsqlite3ExprCode(tls *libc.TLS, pParse uintptr, pExpr uintptr, target int32) { /* sqlite3.c:107313:21: */ var inReg int32 if (*Parse)(unsafe.Pointer(pParse)).FpVdbe == uintptr(0) { @@ -87240,7 +87259,7 @@ func Xsqlite3ExprCode(tls *libc.TLS, pParse uintptr, pExpr uintptr, target int32 // Make a transient copy of expression pExpr and then code it using // sqlite3ExprCode(). This routine works just like sqlite3ExprCode() // except that the input expression is guaranteed to be unchanged. -func Xsqlite3ExprCodeCopy(tls *libc.TLS, pParse uintptr, pExpr uintptr, target int32) { /* sqlite3.c:107324:21: */ +func Xsqlite3ExprCodeCopy(tls *libc.TLS, pParse uintptr, pExpr uintptr, target int32) { /* sqlite3.c:107337:21: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb pExpr = Xsqlite3ExprDup(tls, db, pExpr, 0) if !(int32((*Sqlite3)(unsafe.Pointer(db)).FmallocFailed) != 0) { @@ -87253,7 +87272,7 @@ func Xsqlite3ExprCodeCopy(tls *libc.TLS, pParse uintptr, pExpr uintptr, target i // results in register target. The results are guaranteed to appear // in register target. If the expression is constant, then this routine // might choose to code the expression at initialization time. -func Xsqlite3ExprCodeFactorable(tls *libc.TLS, pParse uintptr, pExpr uintptr, target int32) { /* sqlite3.c:107337:21: */ +func Xsqlite3ExprCodeFactorable(tls *libc.TLS, pParse uintptr, pExpr uintptr, target int32) { /* sqlite3.c:107350:21: */ if (*Parse)(unsafe.Pointer(pParse)).FokConstFactor != 0 && Xsqlite3ExprIsConstantNotJoin(tls, pExpr) != 0 { Xsqlite3ExprCodeRunJustOnce(tls, pParse, pExpr, target) } else { @@ -87279,7 +87298,7 @@ func Xsqlite3ExprCodeFactorable(tls *libc.TLS, pParse uintptr, pExpr uintptr, ta // in registers at srcReg, and so the value can be copied from there. // If SQLITE_ECEL_OMITREF is also set, then the values with u.x.iOrderByCol>0 // are simply omitted rather than being copied from srcReg. -func Xsqlite3ExprCodeExprList(tls *libc.TLS, pParse uintptr, pList uintptr, target int32, srcReg int32, flags U8) int32 { /* sqlite3.c:107365:20: */ +func Xsqlite3ExprCodeExprList(tls *libc.TLS, pParse uintptr, pList uintptr, target int32, srcReg int32, flags U8) int32 { /* sqlite3.c:107378:20: */ var pItem uintptr var i int32 var j int32 @@ -87361,7 +87380,7 @@ __3: // sqlite3ExprIfFalse: Jump to dest if false // // The jumpIfNull parameter is ignored if xJumpIf is NULL. -func exprCodeBetween(tls *libc.TLS, pParse uintptr, pExpr uintptr, dest int32, xJump uintptr, jumpIfNull int32) { /* sqlite3.c:107440:13: */ +func exprCodeBetween(tls *libc.TLS, pParse uintptr, pExpr uintptr, dest int32, xJump uintptr, jumpIfNull int32) { /* sqlite3.c:107453:13: */ bp := tls.Alloc(160) defer tls.Free(160) @@ -87424,7 +87443,7 @@ func exprCodeBetween(tls *libc.TLS, pParse uintptr, pExpr uintptr, dest int32, x // operation. Special comments in vdbe.c and the mkopcodeh.awk script in // the make process cause these values to align. Assert()s in the code // below verify that the numbers are aligned correctly. -func Xsqlite3ExprIfTrue(tls *libc.TLS, pParse uintptr, pExpr uintptr, dest int32, jumpIfNull int32) { /* sqlite3.c:107512:21: */ +func Xsqlite3ExprIfTrue(tls *libc.TLS, pParse uintptr, pExpr uintptr, dest int32, jumpIfNull int32) { /* sqlite3.c:107525:21: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -87654,7 +87673,7 @@ __3: // If the expression evaluates to NULL (neither true nor false) then // jump if jumpIfNull is SQLITE_JUMPIFNULL or fall through if jumpIfNull // is 0. -func Xsqlite3ExprIfFalse(tls *libc.TLS, pParse uintptr, pExpr uintptr, dest int32, jumpIfNull int32) { /* sqlite3.c:107654:21: */ +func Xsqlite3ExprIfFalse(tls *libc.TLS, pParse uintptr, pExpr uintptr, dest int32, jumpIfNull int32) { /* sqlite3.c:107667:21: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -87902,7 +87921,7 @@ __3: // Like sqlite3ExprIfFalse() except that a copy is made of pExpr before // code generation, and that copy is deleted after code generation. This // ensures that the original pExpr is unchanged. -func Xsqlite3ExprIfFalseDup(tls *libc.TLS, pParse uintptr, pExpr uintptr, dest int32, jumpIfNull int32) { /* sqlite3.c:107826:21: */ +func Xsqlite3ExprIfFalseDup(tls *libc.TLS, pParse uintptr, pExpr uintptr, dest int32, jumpIfNull int32) { /* sqlite3.c:107839:21: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb var pCopy uintptr = Xsqlite3ExprDup(tls, db, pExpr, 0) if int32((*Sqlite3)(unsafe.Pointer(db)).FmallocFailed) == 0 { @@ -87922,7 +87941,7 @@ func Xsqlite3ExprIfFalseDup(tls *libc.TLS, pParse uintptr, pExpr uintptr, dest i // same as that currently bound to variable pVar, non-zero is returned. // Otherwise, if the values are not the same or if pExpr is not a simple // SQL value, zero is returned. -func exprCompareVariable(tls *libc.TLS, pParse uintptr, pVar uintptr, pExpr uintptr) int32 { /* sqlite3.c:107848:12: */ +func exprCompareVariable(tls *libc.TLS, pParse uintptr, pVar uintptr, pExpr uintptr) int32 { /* sqlite3.c:107861:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -87976,7 +87995,7 @@ func exprCompareVariable(tls *libc.TLS, pParse uintptr, pVar uintptr, pExpr uint // If pParse is NULL (the normal case) then any TK_VARIABLE term in // Argument pParse should normally be NULL. If it is not NULL and pA or // pB causes a return value of 2. -func Xsqlite3ExprCompare(tls *libc.TLS, pParse uintptr, pA uintptr, pB uintptr, iTab int32) int32 { /* sqlite3.c:107904:20: */ +func Xsqlite3ExprCompare(tls *libc.TLS, pParse uintptr, pA uintptr, pB uintptr, iTab int32) int32 { /* sqlite3.c:107917:20: */ var combinedFlags U32 if pA == uintptr(0) || pB == uintptr(0) { if pB == pA { @@ -88080,7 +88099,7 @@ func Xsqlite3ExprCompare(tls *libc.TLS, pParse uintptr, pA uintptr, pB uintptr, // // Two NULL pointers are considered to be the same. But a NULL pointer // always differs from a non-NULL pointer. -func Xsqlite3ExprListCompare(tls *libc.TLS, pA uintptr, pB uintptr, iTab int32) int32 { /* sqlite3.c:108000:20: */ +func Xsqlite3ExprListCompare(tls *libc.TLS, pA uintptr, pB uintptr, iTab int32) int32 { /* sqlite3.c:108013:20: */ var i int32 if pA == uintptr(0) && pB == uintptr(0) { return 0 @@ -88107,7 +88126,7 @@ func Xsqlite3ExprListCompare(tls *libc.TLS, pA uintptr, pB uintptr, iTab int32) // Like sqlite3ExprCompare() except COLLATE operators at the top-level // are ignored. -func Xsqlite3ExprCompareSkip(tls *libc.TLS, pA uintptr, pB uintptr, iTab int32) int32 { /* sqlite3.c:108019:20: */ +func Xsqlite3ExprCompareSkip(tls *libc.TLS, pA uintptr, pB uintptr, iTab int32) int32 { /* sqlite3.c:108032:20: */ return Xsqlite3ExprCompare(tls, uintptr(0), Xsqlite3ExprSkipCollateAndLikely(tls, pA), Xsqlite3ExprSkipCollateAndLikely(tls, pB), @@ -88118,7 +88137,7 @@ func Xsqlite3ExprCompareSkip(tls *libc.TLS, pA uintptr, pB uintptr, iTab int32) // // Or if seenNot is true, return non-zero if Expr p can only be // non-NULL if pNN is not NULL -func exprImpliesNotNull(tls *libc.TLS, pParse uintptr, p uintptr, pNN uintptr, iTab int32, seenNot int32) int32 { /* sqlite3.c:108032:12: */ +func exprImpliesNotNull(tls *libc.TLS, pParse uintptr, p uintptr, pNN uintptr, iTab int32, seenNot int32) int32 { /* sqlite3.c:108045:12: */ if Xsqlite3ExprCompare(tls, pParse, p, pNN, iTab) == 0 { return libc.Bool32(int32((*Expr)(unsafe.Pointer(pNN)).Fop) != TK_NULL) @@ -88244,7 +88263,7 @@ func exprImpliesNotNull(tls *libc.TLS, pParse uintptr, p uintptr, pNN uintptr, i // When in doubt, return false. Returning true might give a performance // improvement. Returning false might cause a performance reduction, but // it will always give the correct answer and is hence always safe. -func Xsqlite3ExprImpliesExpr(tls *libc.TLS, pParse uintptr, pE1 uintptr, pE2 uintptr, iTab int32) int32 { /* sqlite3.c:108129:20: */ +func Xsqlite3ExprImpliesExpr(tls *libc.TLS, pParse uintptr, pE1 uintptr, pE2 uintptr, iTab int32) int32 { /* sqlite3.c:108142:20: */ if Xsqlite3ExprCompare(tls, pParse, pE1, pE2, iTab) == 0 { return 1 } @@ -88267,7 +88286,7 @@ func Xsqlite3ExprImpliesExpr(tls *libc.TLS, pParse uintptr, pE1 uintptr, pE2 uin // This routine controls an optimization. False positives (setting // pWalker->eCode to 1 when it should not be) are deadly, but false-negatives // (never setting pWalker->eCode) is a harmless missed optimization. -func impliesNotNullRow(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:108161:12: */ +func impliesNotNullRow(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:108174:12: */ if (*Expr)(unsafe.Pointer(pExpr)).Fflags&U32(EP_FromJoin) != U32(0) { return WRC_Prune @@ -88376,7 +88395,7 @@ func impliesNotNullRow(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* // clause requires that some column of the right table of the LEFT JOIN // be non-NULL, then the LEFT JOIN can be safely converted into an // ordinary join. -func Xsqlite3ExprImpliesNonNullRow(tls *libc.TLS, p uintptr, iTab int32) int32 { /* sqlite3.c:108270:20: */ +func Xsqlite3ExprImpliesNonNullRow(tls *libc.TLS, p uintptr, iTab int32) int32 { /* sqlite3.c:108283:20: */ bp := tls.Alloc(28) defer tls.Free(28) @@ -88410,7 +88429,7 @@ func Xsqlite3ExprImpliesNonNullRow(tls *libc.TLS, p uintptr, iTab int32) int32 { // Check to see if there are references to columns in table // pWalker->u.pIdxCover->iCur can be satisfied using the index // pWalker->u.pIdxCover->pIdx. -func exprIdxCover(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:108308:12: */ +func exprIdxCover(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:108321:12: */ if int32((*Expr)(unsafe.Pointer(pExpr)).Fop) == TK_COLUMN && (*Expr)(unsafe.Pointer(pExpr)).FiTable == (*IdxCover)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pWalker + 24)))).FiCur && int32(Xsqlite3TableColumnToIndex(tls, (*IdxCover)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pWalker + 24)))).FpIdx, (*Expr)(unsafe.Pointer(pExpr)).FiColumn)) < 0 { @@ -88428,7 +88447,7 @@ func exprIdxCover(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqli // An index covering an expression means that the expression can be // evaluated using only the index and without having to lookup the // corresponding table entry. -func Xsqlite3ExprCoveredByIndex(tls *libc.TLS, pExpr uintptr, iCur int32, pIdx uintptr) int32 { /* sqlite3.c:108329:20: */ +func Xsqlite3ExprCoveredByIndex(tls *libc.TLS, pExpr uintptr, iCur int32, pIdx uintptr) int32 { /* sqlite3.c:108342:20: */ bp := tls.Alloc(36) defer tls.Free(36) @@ -88453,7 +88472,7 @@ func Xsqlite3ExprCoveredByIndex(tls *libc.TLS, pExpr uintptr, iCur int32, pIdx u // entries for that subquery to the exclude list. // // When leaving the subquery, remove those entries from the exclude list. -func selectRefEnter(tls *libc.TLS, pWalker uintptr, pSelect uintptr) int32 { /* sqlite3.c:108364:12: */ +func selectRefEnter(tls *libc.TLS, pWalker uintptr, pSelect uintptr) int32 { /* sqlite3.c:108377:12: */ var p uintptr = *(*uintptr)(unsafe.Pointer(pWalker + 24)) var pSrc uintptr = (*Select)(unsafe.Pointer(pSelect)).FpSrc var i I64 @@ -88491,7 +88510,7 @@ __3: return WRC_Continue } -func selectRefLeave(tls *libc.TLS, pWalker uintptr, pSelect uintptr) { /* sqlite3.c:108384:13: */ +func selectRefLeave(tls *libc.TLS, pWalker uintptr, pSelect uintptr) { /* sqlite3.c:108397:13: */ var p uintptr = *(*uintptr)(unsafe.Pointer(pWalker + 24)) var pSrc uintptr = (*Select)(unsafe.Pointer(pSelect)).FpSrc if (*RefSrcList)(unsafe.Pointer(p)).FnExclude != 0 { @@ -88507,7 +88526,7 @@ func selectRefLeave(tls *libc.TLS, pWalker uintptr, pSelect uintptr) { /* sqlite // // Set the 0x02 bit of pWalker->eCode if there is a reference to a // table is in neither RefSrcList.pRef nor RefSrcList.aiExclude. -func exprRefToSrcList(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:108401:12: */ +func exprRefToSrcList(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:108414:12: */ if int32((*Expr)(unsafe.Pointer(pExpr)).Fop) == TK_COLUMN || int32((*Expr)(unsafe.Pointer(pExpr)).Fop) == TK_AGG_COLUMN { var i int32 @@ -88547,7 +88566,7 @@ func exprRefToSrcList(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* // // As currently used, pExpr is always an aggregate function call. That // fact is exploited for efficiency. -func Xsqlite3ReferencesSrcList(tls *libc.TLS, pParse uintptr, pExpr uintptr, pSrcList uintptr) int32 { /* sqlite3.c:108438:20: */ +func Xsqlite3ReferencesSrcList(tls *libc.TLS, pParse uintptr, pExpr uintptr, pSrcList uintptr) int32 { /* sqlite3.c:108451:20: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -88596,7 +88615,7 @@ func Xsqlite3ReferencesSrcList(tls *libc.TLS, pParse uintptr, pExpr uintptr, pSr // This will cause the expression to be deleted automatically when the // Parse object is destroyed, but the zero register number means that it // will not generate any code in the preamble. -func agginfoPersistExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:108480:12: */ +func agginfoPersistExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:108493:12: */ if !((*Expr)(unsafe.Pointer(pExpr)).Fflags&U32(EP_TokenOnly|EP_Reduced) != U32(0)) && (*Expr)(unsafe.Pointer(pExpr)).FpAggInfo != uintptr(0) { var pAggInfo uintptr = (*Expr)(unsafe.Pointer(pExpr)).FpAggInfo @@ -88629,7 +88648,7 @@ func agginfoPersistExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { // Initialize a Walker object so that will persist AggInfo entries referenced // by the tree that is walked. -func Xsqlite3AggInfoPersistWalkerInit(tls *libc.TLS, pWalker uintptr, pParse uintptr) { /* sqlite3.c:108516:21: */ +func Xsqlite3AggInfoPersistWalkerInit(tls *libc.TLS, pWalker uintptr, pParse uintptr) { /* sqlite3.c:108529:21: */ libc.Xmemset(tls, pWalker, 0, uint32(unsafe.Sizeof(Walker{}))) (*Walker)(unsafe.Pointer(pWalker)).FpParse = pParse (*Walker)(unsafe.Pointer(pWalker)).FxExprCallback = *(*uintptr)(unsafe.Pointer(&struct { @@ -88642,7 +88661,7 @@ func Xsqlite3AggInfoPersistWalkerInit(tls *libc.TLS, pWalker uintptr, pParse uin // Add a new element to the pAggInfo->aCol[] array. Return the index of // the new element. Return a negative number if malloc fails. -func addAggInfoColumn(tls *libc.TLS, db uintptr, pInfo uintptr) int32 { /* sqlite3.c:108527:12: */ +func addAggInfoColumn(tls *libc.TLS, db uintptr, pInfo uintptr) int32 { /* sqlite3.c:108540:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -88659,7 +88678,7 @@ func addAggInfoColumn(tls *libc.TLS, db uintptr, pInfo uintptr) int32 { /* sqlit // Add a new element to the pAggInfo->aFunc[] array. Return the index of // the new element. Return a negative number if malloc fails. -func addAggInfoFunc(tls *libc.TLS, db uintptr, pInfo uintptr) int32 { /* sqlite3.c:108543:12: */ +func addAggInfoFunc(tls *libc.TLS, db uintptr, pInfo uintptr) int32 { /* sqlite3.c:108556:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -88677,7 +88696,7 @@ func addAggInfoFunc(tls *libc.TLS, db uintptr, pInfo uintptr) int32 { /* sqlite3 // This is the xExprCallback for a tree walker. It is used to // implement sqlite3ExprAnalyzeAggregates(). See sqlite3ExprAnalyzeAggregates // for additional information. -func analyzeAggregate(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:108560:12: */ +func analyzeAggregate(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:108573:12: */ var i int32 var pNC uintptr = *(*uintptr)(unsafe.Pointer(pWalker + 24)) var pParse uintptr = (*NameContext)(unsafe.Pointer(pNC)).FpParse @@ -88868,7 +88887,7 @@ func analyzeAggregate(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* // // This routine should only be called after the expression has been // analyzed by sqlite3ResolveExprNames(). -func Xsqlite3ExprAnalyzeAggregates(tls *libc.TLS, pNC uintptr, pExpr uintptr) { /* sqlite3.c:108698:21: */ +func Xsqlite3ExprAnalyzeAggregates(tls *libc.TLS, pNC uintptr, pExpr uintptr) { /* sqlite3.c:108711:21: */ bp := tls.Alloc(28) defer tls.Free(28) @@ -88894,7 +88913,7 @@ func Xsqlite3ExprAnalyzeAggregates(tls *libc.TLS, pNC uintptr, pExpr uintptr) { // expression list. Return the number of errors. // // If an error is found, the analysis is cut short. -func Xsqlite3ExprAnalyzeAggList(tls *libc.TLS, pNC uintptr, pList uintptr) { /* sqlite3.c:108716:21: */ +func Xsqlite3ExprAnalyzeAggList(tls *libc.TLS, pNC uintptr, pList uintptr) { /* sqlite3.c:108729:21: */ var pItem uintptr var i int32 if pList != 0 { @@ -88919,7 +88938,7 @@ func Xsqlite3ExprAnalyzeAggList(tls *libc.TLS, pNC uintptr, pList uintptr) { /* } // Allocate a single new register for use to hold some intermediate result. -func Xsqlite3GetTempReg(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:108729:20: */ +func Xsqlite3GetTempReg(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:108742:20: */ if int32((*Parse)(unsafe.Pointer(pParse)).FnTempReg) == 0 { return libc.PreIncInt32(&(*Parse)(unsafe.Pointer(pParse)).FnMem, 1) } @@ -88928,7 +88947,7 @@ func Xsqlite3GetTempReg(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:1087 // Deallocate a register, making available for reuse for some other // purpose. -func Xsqlite3ReleaseTempReg(tls *libc.TLS, pParse uintptr, iReg int32) { /* sqlite3.c:108740:21: */ +func Xsqlite3ReleaseTempReg(tls *libc.TLS, pParse uintptr, iReg int32) { /* sqlite3.c:108753:21: */ if iReg != 0 { if int32((*Parse)(unsafe.Pointer(pParse)).FnTempReg) < int32(uint32(unsafe.Sizeof([8]int32{}))/uint32(unsafe.Sizeof(int32(0)))) { @@ -88938,7 +88957,7 @@ func Xsqlite3ReleaseTempReg(tls *libc.TLS, pParse uintptr, iReg int32) { /* sqli } // Allocate or deallocate a block of nReg consecutive registers. -func Xsqlite3GetTempRange(tls *libc.TLS, pParse uintptr, nReg int32) int32 { /* sqlite3.c:108752:20: */ +func Xsqlite3GetTempRange(tls *libc.TLS, pParse uintptr, nReg int32) int32 { /* sqlite3.c:108765:20: */ var i int32 var n int32 if nReg == 1 { @@ -88956,7 +88975,7 @@ func Xsqlite3GetTempRange(tls *libc.TLS, pParse uintptr, nReg int32) int32 { /* return i } -func Xsqlite3ReleaseTempRange(tls *libc.TLS, pParse uintptr, iReg int32, nReg int32) { /* sqlite3.c:108766:21: */ +func Xsqlite3ReleaseTempRange(tls *libc.TLS, pParse uintptr, iReg int32, nReg int32) { /* sqlite3.c:108779:21: */ if nReg == 1 { Xsqlite3ReleaseTempReg(tls, pParse, iReg) return @@ -88974,7 +88993,7 @@ func Xsqlite3ReleaseTempRange(tls *libc.TLS, pParse uintptr, iReg int32, nReg in // that might be invoked from other parts of the code, to ensure that // the sub/co-routine does not use registers in common with the code that // invokes the sub/co-routine. -func Xsqlite3ClearTempRegCache(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:108786:21: */ +func Xsqlite3ClearTempRegCache(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:108799:21: */ (*Parse)(unsafe.Pointer(pParse)).FnTempReg = U8(0) (*Parse)(unsafe.Pointer(pParse)).FnRangeReg = 0 } @@ -89008,7 +89027,7 @@ func Xsqlite3ClearTempRegCache(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:108 // in pParse->zErr (system tables may not be altered) and returns non-zero. // // Or, if zName is not a system table, zero is returned. -func isAlterableTable(tls *libc.TLS, pParse uintptr, pTab uintptr) int32 { /* sqlite3.c:108846:12: */ +func isAlterableTable(tls *libc.TLS, pParse uintptr, pTab uintptr) int32 { /* sqlite3.c:108859:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -89027,7 +89046,7 @@ func isAlterableTable(tls *libc.TLS, pParse uintptr, pTab uintptr) int32 { /* sq // called at the end of the generation of an ALTER TABLE ... RENAME ... // statement to ensure that the operation has not rendered any schema // objects unusable. -func renameTestSchema(tls *libc.TLS, pParse uintptr, zDb uintptr, bTemp int32, zWhen uintptr, bNoDQS int32) { /* sqlite3.c:108868:13: */ +func renameTestSchema(tls *libc.TLS, pParse uintptr, zDb uintptr, bTemp int32, zWhen uintptr, bNoDQS int32) { /* sqlite3.c:108881:13: */ bp := tls.Alloc(64) defer tls.Free(64) @@ -89051,7 +89070,7 @@ func renameTestSchema(tls *libc.TLS, pParse uintptr, zDb uintptr, bTemp int32, z // database zDb with their single-quoted equivalents. If argument bTemp is // not true, similarly update all SQL statements in the sqlite_schema table // of the temp db. -func renameFixQuotes(tls *libc.TLS, pParse uintptr, zDb uintptr, bTemp int32) { /* sqlite3.c:108905:13: */ +func renameFixQuotes(tls *libc.TLS, pParse uintptr, zDb uintptr, bTemp int32) { /* sqlite3.c:108918:13: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -89067,7 +89086,7 @@ func renameFixQuotes(tls *libc.TLS, pParse uintptr, zDb uintptr, bTemp int32) { // Generate code to reload the schema for database iDb. And, if iDb!=1, for // the temp database as well. -func renameReloadSchema(tls *libc.TLS, pParse uintptr, iDb int32, p5 U16) { /* sqlite3.c:108926:13: */ +func renameReloadSchema(tls *libc.TLS, pParse uintptr, iDb int32, p5 U16) { /* sqlite3.c:108939:13: */ var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe if v != 0 { Xsqlite3ChangeCookie(tls, pParse, iDb) @@ -89080,7 +89099,7 @@ func renameReloadSchema(tls *libc.TLS, pParse uintptr, iDb int32, p5 U16) { /* s // Generate code to implement the "ALTER TABLE xxx RENAME TO yyy" // command. -func Xsqlite3AlterRenameTable(tls *libc.TLS, pParse uintptr, pSrc uintptr, pName uintptr) { /* sqlite3.c:108939:21: */ +func Xsqlite3AlterRenameTable(tls *libc.TLS, pParse uintptr, pSrc uintptr, pName uintptr) { /* sqlite3.c:108952:21: */ bp := tls.Alloc(184) defer tls.Free(184) @@ -89265,7 +89284,7 @@ exit_rename_table: // Write code that will raise an error if the table described by // zDb and zTab is not empty. -func sqlite3ErrorIfNotEmpty(tls *libc.TLS, pParse uintptr, zDb uintptr, zTab uintptr, zErr uintptr) { /* sqlite3.c:109108:13: */ +func sqlite3ErrorIfNotEmpty(tls *libc.TLS, pParse uintptr, zDb uintptr, zTab uintptr, zErr uintptr) { /* sqlite3.c:109121:13: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -89280,7 +89299,7 @@ func sqlite3ErrorIfNotEmpty(tls *libc.TLS, pParse uintptr, zDb uintptr, zTab uin // // The Table structure pParse->pNewTable was extended to include // the new column during parsing. -func Xsqlite3AlterFinishAddColumn(tls *libc.TLS, pParse uintptr, pColDef uintptr) { /* sqlite3.c:109128:21: */ +func Xsqlite3AlterFinishAddColumn(tls *libc.TLS, pParse uintptr, pColDef uintptr) { /* sqlite3.c:109141:21: */ bp := tls.Alloc(60) defer tls.Free(60) @@ -89426,7 +89445,7 @@ func Xsqlite3AlterFinishAddColumn(tls *libc.TLS, pParse uintptr, pColDef uintptr // // Routine sqlite3AlterFinishAddColumn() will be called to complete // coding the "ALTER TABLE ... ADD" statement. -func Xsqlite3AlterBeginAddColumn(tls *libc.TLS, pParse uintptr, pSrc uintptr) { /* sqlite3.c:109293:21: */ +func Xsqlite3AlterBeginAddColumn(tls *libc.TLS, pParse uintptr, pSrc uintptr) { /* sqlite3.c:109306:21: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -89543,7 +89562,7 @@ exit_begin_add_column: // it loads an error message into pParse and returns non-zero. // // Or, if pTab is not a view or virtual table, zero is returned. -func isRealTable(tls *libc.TLS, pParse uintptr, pTab uintptr, bDrop int32) int32 { /* sqlite3.c:109376:12: */ +func isRealTable(tls *libc.TLS, pParse uintptr, pTab uintptr, bDrop int32) int32 { /* sqlite3.c:109389:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -89571,7 +89590,7 @@ func isRealTable(tls *libc.TLS, pParse uintptr, pTab uintptr, bDrop int32) int32 // Handles the following parser reduction: // // cmd ::= ALTER TABLE pSrc RENAME COLUMN pOld TO pNew -func Xsqlite3AlterRenameColumn(tls *libc.TLS, pParse uintptr, pSrc uintptr, pOld uintptr, pNew uintptr) { /* sqlite3.c:109406:21: */ +func Xsqlite3AlterRenameColumn(tls *libc.TLS, pParse uintptr, pSrc uintptr, pOld uintptr, pNew uintptr) { /* sqlite3.c:109419:21: */ bp := tls.Alloc(112) defer tls.Free(112) @@ -89700,7 +89719,7 @@ exit_rename_column: // The context of an ALTER TABLE RENAME COLUMN operation that gets passed // down into the Walker. -type RenameCtx = RenameCtx1 /* sqlite3.c:109521:26 */ +type RenameCtx = RenameCtx1 /* sqlite3.c:109534:26 */ // Remember that the parser tree element pPtr was created using // the token pToken. @@ -89712,7 +89731,7 @@ type RenameCtx = RenameCtx1 /* sqlite3.c:109521:26 */ // The pPtr argument is returned so that this routine can be used // with tail recursion in tokenExpr() routine, for a small performance // improvement. -func Xsqlite3RenameTokenMap(tls *libc.TLS, pParse uintptr, pPtr uintptr, pToken uintptr) uintptr { /* sqlite3.c:109584:27: */ +func Xsqlite3RenameTokenMap(tls *libc.TLS, pParse uintptr, pPtr uintptr, pToken uintptr) uintptr { /* sqlite3.c:109597:27: */ var pNew uintptr if int32((*Parse)(unsafe.Pointer(pParse)).FeParseMode) != PARSE_MODE_UNMAP { @@ -89731,7 +89750,7 @@ func Xsqlite3RenameTokenMap(tls *libc.TLS, pParse uintptr, pPtr uintptr, pToken // It is assumed that there is already a RenameToken object associated // with parse tree element pFrom. This function remaps the associated token // to parse tree element pTo. -func Xsqlite3RenameTokenRemap(tls *libc.TLS, pParse uintptr, pTo uintptr, pFrom uintptr) { /* sqlite3.c:109610:21: */ +func Xsqlite3RenameTokenRemap(tls *libc.TLS, pParse uintptr, pTo uintptr, pFrom uintptr) { /* sqlite3.c:109623:21: */ var p uintptr for p = (*Parse)(unsafe.Pointer(pParse)).FpRename; p != 0; p = (*RenameToken)(unsafe.Pointer(p)).FpNext { @@ -89743,7 +89762,7 @@ func Xsqlite3RenameTokenRemap(tls *libc.TLS, pParse uintptr, pTo uintptr, pFrom } // Walker callback used by sqlite3RenameExprUnmap(). -func renameUnmapExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:109624:12: */ +func renameUnmapExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:109637:12: */ var pParse uintptr = (*Walker)(unsafe.Pointer(pWalker)).FpParse Xsqlite3RenameTokenRemap(tls, pParse, uintptr(0), pExpr) if (*Expr)(unsafe.Pointer(pExpr)).Fflags&U32(EP_WinFunc|EP_Subrtn) == U32(0) { @@ -89754,7 +89773,7 @@ func renameUnmapExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* // Iterate through the Select objects that are part of WITH clauses attached // to select statement pSelect. -func renameWalkWith(tls *libc.TLS, pWalker uintptr, pSelect uintptr) { /* sqlite3.c:109637:13: */ +func renameWalkWith(tls *libc.TLS, pWalker uintptr, pSelect uintptr) { /* sqlite3.c:109650:13: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -89795,7 +89814,7 @@ func renameWalkWith(tls *libc.TLS, pWalker uintptr, pSelect uintptr) { /* sqlite } // Unmap all tokens in the IdList object passed as the second argument. -func unmapColumnIdlistNames(tls *libc.TLS, pParse uintptr, pIdList uintptr) { /* sqlite3.c:109672:13: */ +func unmapColumnIdlistNames(tls *libc.TLS, pParse uintptr, pIdList uintptr) { /* sqlite3.c:109685:13: */ if pIdList != 0 { var ii int32 for ii = 0; ii < (*IdList)(unsafe.Pointer(pIdList)).FnId; ii++ { @@ -89805,7 +89824,7 @@ func unmapColumnIdlistNames(tls *libc.TLS, pParse uintptr, pIdList uintptr) { /* } // Walker callback used by sqlite3RenameExprUnmap(). -func renameUnmapSelectCb(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sqlite3.c:109687:12: */ +func renameUnmapSelectCb(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sqlite3.c:109700:12: */ var pParse uintptr = (*Walker)(unsafe.Pointer(pWalker)).FpParse var i int32 if (*Parse)(unsafe.Pointer(pParse)).FnErr != 0 { @@ -89837,7 +89856,7 @@ func renameUnmapSelectCb(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* s } // Remove all nodes that are part of expression pExpr from the rename list. -func Xsqlite3RenameExprUnmap(tls *libc.TLS, pParse uintptr, pExpr uintptr) { /* sqlite3.c:109720:21: */ +func Xsqlite3RenameExprUnmap(tls *libc.TLS, pParse uintptr, pExpr uintptr) { /* sqlite3.c:109733:21: */ bp := tls.Alloc(28) defer tls.Free(28) @@ -89859,7 +89878,7 @@ func Xsqlite3RenameExprUnmap(tls *libc.TLS, pParse uintptr, pExpr uintptr) { /* // Remove all nodes that are part of expression-list pEList from the // rename list. -func Xsqlite3RenameExprlistUnmap(tls *libc.TLS, pParse uintptr, pEList uintptr) { /* sqlite3.c:109736:21: */ +func Xsqlite3RenameExprlistUnmap(tls *libc.TLS, pParse uintptr, pEList uintptr) { /* sqlite3.c:109749:21: */ bp := tls.Alloc(28) defer tls.Free(28) @@ -89882,7 +89901,7 @@ func Xsqlite3RenameExprlistUnmap(tls *libc.TLS, pParse uintptr, pEList uintptr) } // Free the list of RenameToken objects given in the second argument -func renameTokenFree(tls *libc.TLS, db uintptr, pToken uintptr) { /* sqlite3.c:109755:13: */ +func renameTokenFree(tls *libc.TLS, db uintptr, pToken uintptr) { /* sqlite3.c:109768:13: */ var pNext uintptr var p uintptr for p = pToken; p != 0; p = pNext { @@ -89898,7 +89917,7 @@ func renameTokenFree(tls *libc.TLS, db uintptr, pToken uintptr) { /* sqlite3.c:1 // If the second argument passed to this function is not NULL and a matching // RenameToken object is found, remove it from the Parse object and add it to // the list maintained by the RenameCtx object. -func renameTokenFind(tls *libc.TLS, pParse uintptr, pCtx uintptr, pPtr uintptr) uintptr { /* sqlite3.c:109773:20: */ +func renameTokenFind(tls *libc.TLS, pParse uintptr, pCtx uintptr, pPtr uintptr) uintptr { /* sqlite3.c:109786:20: */ var pp uintptr if pPtr == uintptr(0) { return uintptr(0) @@ -89921,7 +89940,7 @@ func renameTokenFind(tls *libc.TLS, pParse uintptr, pCtx uintptr, pPtr uintptr) // This is a Walker select callback. It does nothing. It is only required // because without a dummy callback, sqlite3WalkExpr() and similar do not // descend into sub-select statements. -func renameColumnSelectCb(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sqlite3.c:109802:12: */ +func renameColumnSelectCb(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sqlite3.c:109815:12: */ if (*Select)(unsafe.Pointer(p)).FselFlags&U32(SF_View|SF_CopyCte) != 0 { return WRC_Prune @@ -89937,7 +89956,7 @@ func renameColumnSelectCb(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* // ALTER TABLE statement. If it is, then attach its associated // RenameToken object to the list of RenameToken objects being // constructed in RenameCtx object at pWalker->u.pRename. -func renameColumnExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:109821:12: */ +func renameColumnExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:109834:12: */ var p uintptr = *(*uintptr)(unsafe.Pointer(pWalker + 24)) if int32((*Expr)(unsafe.Pointer(pExpr)).Fop) == TK_TRIGGER && int32((*Expr)(unsafe.Pointer(pExpr)).FiColumn) == (*RenameCtx)(unsafe.Pointer(p)).FiCol && @@ -89959,7 +89978,7 @@ func renameColumnExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { / // the input SQL is parsed from left to right. Repeated calls to this routine // return all column name tokens in the order that they are encountered // in the SQL statement. -func renameColumnTokenNext(tls *libc.TLS, pCtx uintptr) uintptr { /* sqlite3.c:109847:20: */ +func renameColumnTokenNext(tls *libc.TLS, pCtx uintptr) uintptr { /* sqlite3.c:109860:20: */ var pBest uintptr = (*RenameCtx)(unsafe.Pointer(pCtx)).FpList var pToken uintptr var pp uintptr @@ -89981,7 +90000,7 @@ func renameColumnTokenNext(tls *libc.TLS, pCtx uintptr) uintptr { /* sqlite3.c:1 // ALTER TABLE RENAME COLUMN program. The error message emitted by the // sub-routine is currently stored in pParse->zErrMsg. This function // adds context to the error message and then stores it in pCtx. -func renameColumnParseError(tls *libc.TLS, pCtx uintptr, zWhen uintptr, pType uintptr, pObject uintptr, pParse uintptr) { /* sqlite3.c:109868:13: */ +func renameColumnParseError(tls *libc.TLS, pCtx uintptr, zWhen uintptr, pType uintptr, pObject uintptr, pParse uintptr) { /* sqlite3.c:109881:13: */ bp := tls.Alloc(40) defer tls.Free(40) @@ -90005,7 +90024,7 @@ func renameColumnParseError(tls *libc.TLS, pCtx uintptr, zWhen uintptr, pType ui // pEList->a[i].zName) that matches the string in zOld, extract the // corresponding rename-token from Parse object pParse and add it // to the RenameCtx pCtx. -func renameColumnElistNames(tls *libc.TLS, pParse uintptr, pCtx uintptr, pEList uintptr, zOld uintptr) { /* sqlite3.c:109893:13: */ +func renameColumnElistNames(tls *libc.TLS, pParse uintptr, pCtx uintptr, pEList uintptr, zOld uintptr) { /* sqlite3.c:109906:13: */ if pEList != 0 { var i int32 for i = 0; i < (*ExprList)(unsafe.Pointer(pEList)).FnExpr; i++ { @@ -90022,7 +90041,7 @@ func renameColumnElistNames(tls *libc.TLS, pParse uintptr, pCtx uintptr, pEList // For each name in the the id-list pIdList (i.e. each pIdList->a[i].zName) // that matches the string in zOld, extract the corresponding rename-token // from Parse object pParse and add it to the RenameCtx pCtx. -func renameColumnIdlistNames(tls *libc.TLS, pParse uintptr, pCtx uintptr, pIdList uintptr, zOld uintptr) { /* sqlite3.c:109918:13: */ +func renameColumnIdlistNames(tls *libc.TLS, pParse uintptr, pCtx uintptr, pIdList uintptr, zOld uintptr) { /* sqlite3.c:109931:13: */ if pIdList != 0 { var i int32 for i = 0; i < (*IdList)(unsafe.Pointer(pIdList)).FnId; i++ { @@ -90036,7 +90055,7 @@ func renameColumnIdlistNames(tls *libc.TLS, pParse uintptr, pCtx uintptr, pIdLis // Parse the SQL statement zSql using Parse object (*p). The Parse object // is initialized by this function before it is used. -func renameParseSql(tls *libc.TLS, p uintptr, zDb uintptr, db uintptr, zSql uintptr, bTemp int32) int32 { /* sqlite3.c:109940:12: */ +func renameParseSql(tls *libc.TLS, p uintptr, zDb uintptr, db uintptr, zSql uintptr, bTemp int32) int32 { /* sqlite3.c:109953:12: */ var rc int32 Xsqlite3ParseObjectInit(tls, p, db) @@ -90044,7 +90063,7 @@ func renameParseSql(tls *libc.TLS, p uintptr, zDb uintptr, db uintptr, zSql uint return SQLITE_NOMEM } if Xsqlite3_strnicmp(tls, zSql, ts+10807, 7) != 0 { - return Xsqlite3CorruptError(tls, 109954) + return Xsqlite3CorruptError(tls, 109967) } (*Sqlite3)(unsafe.Pointer(db)).Finit.FiDb = func() uint8 { if bTemp != 0 { @@ -90061,7 +90080,7 @@ func renameParseSql(tls *libc.TLS, p uintptr, zDb uintptr, db uintptr, zSql uint } if rc == SQLITE_OK && ((*Parse)(unsafe.Pointer(p)).FpNewTable == uintptr(0) && (*Parse)(unsafe.Pointer(p)).FpNewIndex == uintptr(0) && (*Parse)(unsafe.Pointer(p)).FpNewTrigger == uintptr(0)) { - rc = Xsqlite3CorruptError(tls, 109965) + rc = Xsqlite3CorruptError(tls, 109978) } (*Sqlite3)(unsafe.Pointer(db)).Finit.FiDb = U8(0) @@ -90075,7 +90094,7 @@ func renameParseSql(tls *libc.TLS, p uintptr, zDb uintptr, db uintptr, zSql uint // // Or, if an error occurs (i.e. an OOM condition), an error is left in // pCtx and an SQLite error code returned. -func renameEditSql(tls *libc.TLS, pCtx uintptr, pRename uintptr, zSql uintptr, zNew uintptr, bQuote int32) int32 { /* sqlite3.c:109993:12: */ +func renameEditSql(tls *libc.TLS, pCtx uintptr, pRename uintptr, zSql uintptr, zNew uintptr, bQuote int32) int32 { /* sqlite3.c:110006:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -90181,7 +90200,7 @@ func renameEditSql(tls *libc.TLS, pCtx uintptr, pRename uintptr, zSql uintptr, z // it was read from the schema of database zDb. Return SQLITE_OK if // successful. Otherwise, return an SQLite error code and leave an error // message in the Parse object. -func renameResolveTrigger(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:110100:12: */ +func renameResolveTrigger(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:110113:12: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -90279,7 +90298,7 @@ func renameResolveTrigger(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:11 // Invoke sqlite3WalkExpr() or sqlite3WalkSelect() on all Select or Expr // objects that are part of the trigger passed as the second argument. -func renameWalkTrigger(tls *libc.TLS, pWalker uintptr, pTrigger uintptr) { /* sqlite3.c:110196:13: */ +func renameWalkTrigger(tls *libc.TLS, pWalker uintptr, pTrigger uintptr) { /* sqlite3.c:110209:13: */ var pStep uintptr // Find tokens to edit in WHEN clause @@ -90308,7 +90327,7 @@ func renameWalkTrigger(tls *libc.TLS, pWalker uintptr, pTrigger uintptr) { /* sq // Free the contents of Parse object (*pParse). Do not free the memory // occupied by the Parse object itself. -func renameParseCleanup(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:110227:13: */ +func renameParseCleanup(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:110240:13: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb var pIdx uintptr if (*Parse)(unsafe.Pointer(pParse)).FpVdbe != 0 { @@ -90347,7 +90366,7 @@ func renameParseCleanup(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:110227:13: // It is only accessible to SQL created using sqlite3NestedParse(). It is // not reachable from ordinary SQL passed into sqlite3_prepare() unless the // SQLITE_TESTCTRL_INTERNAL_FUNCTIONS test setting is enabled. -func renameColumnFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { /* sqlite3.c:110268:13: */ +func renameColumnFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { /* sqlite3.c:110281:13: */ bp := tls.Alloc(320) defer tls.Free(320) @@ -90690,7 +90709,7 @@ __44: } // Walker expression callback used by "RENAME TABLE". -func renameTableExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:110435:12: */ +func renameTableExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:110448:12: */ var p uintptr = *(*uintptr)(unsafe.Pointer(pWalker + 24)) if int32((*Expr)(unsafe.Pointer(pExpr)).Fop) == TK_COLUMN && (*Expr)(unsafe.Pointer(pExpr)).Fflags&U32(EP_WinFunc|EP_Subrtn) == U32(0) && @@ -90701,7 +90720,7 @@ func renameTableExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* } // Walker select callback used by "RENAME TABLE". -func renameTableSelectCb(tls *libc.TLS, pWalker uintptr, pSelect uintptr) int32 { /* sqlite3.c:110449:12: */ +func renameTableSelectCb(tls *libc.TLS, pWalker uintptr, pSelect uintptr) int32 { /* sqlite3.c:110462:12: */ var i int32 var p uintptr = *(*uintptr)(unsafe.Pointer(pWalker + 24)) var pSrc uintptr = (*Select)(unsafe.Pointer(pSelect)).FpSrc @@ -90741,7 +90760,7 @@ func renameTableSelectCb(tls *libc.TLS, pWalker uintptr, pSelect uintptr) int32 // // sqlite_rename_table('main', 'CREATE TABLE t1(a REFERENCES t2)','t2','t3',0) // -> 'CREATE TABLE t1(a REFERENCES t3)' -func renameTableFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { /* sqlite3.c:110493:13: */ +func renameTableFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { /* sqlite3.c:110506:13: */ bp := tls.Alloc(352) defer tls.Free(352) @@ -90875,7 +90894,7 @@ func renameTableFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr return } -func renameQuotefixExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:110636:12: */ +func renameQuotefixExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:110649:12: */ if int32((*Expr)(unsafe.Pointer(pExpr)).Fop) == TK_STRING && (*Expr)(unsafe.Pointer(pExpr)).Fflags&U32(EP_DblQuoted) != 0 { renameTokenFind(tls, (*Walker)(unsafe.Pointer(pWalker)).FpParse, *(*uintptr)(unsafe.Pointer(pWalker + 24)), pExpr) } @@ -90908,7 +90927,7 @@ func renameQuotefixExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { // If there is a error in the input SQL, then raise an error, except // if PRAGMA writable_schema=ON, then just return the input string // unmodified following an error. -func renameQuotefixFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { /* sqlite3.c:110670:13: */ +func renameQuotefixFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { /* sqlite3.c:110683:13: */ bp := tls.Alloc(320) defer tls.Free(320) @@ -91022,7 +91041,7 @@ func renameQuotefixFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uint // B. Else if a trigger is created and the the table that the trigger is // attached to is in database zDb, then return 1. // C. Otherwise return NULL. -func renameTableTest(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { /* sqlite3.c:110783:13: */ +func renameTableTest(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { /* sqlite3.c:110796:13: */ bp := tls.Alloc(304) defer tls.Free(304) @@ -91094,7 +91113,7 @@ func renameTableTest(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr // // The value returned is a string containing the CREATE TABLE statement // with column argv[2] removed. -func dropColumnFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { /* sqlite3.c:110858:13: */ +func dropColumnFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { /* sqlite3.c:110871:13: */ bp := tls.Alloc(296) defer tls.Free(296) @@ -91134,7 +91153,7 @@ __1: goto __2 } // This can happen if the sqlite_schema table is corrupt - rc = Xsqlite3CorruptError(tls, 110886) + rc = Xsqlite3CorruptError(tls, 110899) goto drop_column_done __2: ; @@ -91180,7 +91199,7 @@ __7: // // statement. Argument pSrc contains the possibly qualified name of the // table being edited, and token pName the name of the column to drop. -func Xsqlite3AlterDropColumn(tls *libc.TLS, pParse uintptr, pSrc uintptr, pName uintptr) { /* sqlite3.c:110923:21: */ +func Xsqlite3AlterDropColumn(tls *libc.TLS, pParse uintptr, pSrc uintptr, pName uintptr) { /* sqlite3.c:110936:21: */ bp := tls.Alloc(64) defer tls.Free(64) @@ -91413,7 +91432,7 @@ exit_drop_column: } // Register built-in functions used to help implement ALTER TABLE -func Xsqlite3AlterFunctions(tls *libc.TLS) { /* sqlite3.c:111065:21: */ +func Xsqlite3AlterFunctions(tls *libc.TLS) { /* sqlite3.c:111078:21: */ Xsqlite3InsertBuiltinFuncs(tls, uintptr(unsafe.Pointer(&aAlterTableFuncs)), int32(uint32(unsafe.Sizeof(aAlterTableFuncs))/uint32(unsafe.Sizeof(FuncDef{})))) } @@ -91422,7 +91441,7 @@ var aAlterTableFuncs = [5]FuncDef{ {FnArg: int8(7), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_FUNC_INTERNAL | SQLITE_UTF8 | SQLITE_FUNC_CONSTANT), FxSFunc: 0, FzName: ts + 11081}, {FnArg: int8(7), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_FUNC_INTERNAL | SQLITE_UTF8 | SQLITE_FUNC_CONSTANT), FxSFunc: 0, FzName: ts + 11101}, {FnArg: int8(3), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_FUNC_INTERNAL | SQLITE_UTF8 | SQLITE_FUNC_CONSTANT), FxSFunc: 0, FzName: ts + 11120}, - {FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_FUNC_INTERNAL | SQLITE_UTF8 | SQLITE_FUNC_CONSTANT), FxSFunc: 0, FzName: ts + 11139}} /* sqlite3.c:111066:18 */ + {FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_FUNC_INTERNAL | SQLITE_UTF8 | SQLITE_FUNC_CONSTANT), FxSFunc: 0, FzName: ts + 11139}} /* sqlite3.c:111079:18 */ //************* End of alter.c ********************************************** //************* Begin file analyze.c **************************************** @@ -91578,7 +91597,7 @@ var aAlterTableFuncs = [5]FuncDef{ // or it may be a NULL pointer. If it is not NULL, then all entries in // the sqlite_statN tables associated with the named table are deleted. // If zWhere==0, then code is generated to delete all stat table entries. -func openStatTable(tls *libc.TLS, pParse uintptr, iDb int32, iStatCur int32, zWhere uintptr, zWhereType uintptr) { /* sqlite3.c:111244:13: */ +func openStatTable(tls *libc.TLS, pParse uintptr, iDb int32, iStatCur int32, zWhere uintptr, zWhereType uintptr) { /* sqlite3.c:111257:13: */ bp := tls.Alloc(88) defer tls.Free(88) @@ -91658,7 +91677,7 @@ var aTable = [3]struct { {FzName: ts + 11233 /* "sqlite_stat1" */, FzCols: ts + 11246 /* "tbl,idx,stat" */}, {FzName: ts + 11259 /* "sqlite_stat4" */, FzCols: ts + 11272 /* "tbl,idx,neq,nlt,..." */}, {FzName: ts + 11300 /* "sqlite_stat3" */}, -} /* sqlite3.c:111254:5 */ +} /* sqlite3.c:111267:5 */ // Recommended number of samples for sqlite_stat4 @@ -91684,14 +91703,14 @@ type StatAccum1 = struct { FnMaxEqZero int32 FiGet int32 Fa uintptr -} /* sqlite3.c:111342:9 */ +} /* sqlite3.c:111355:9 */ // Recommended number of samples for sqlite_stat4 // Three SQL functions - stat_init(), stat_push(), and stat_get() - // share an instance of the following structure to hold their state // information. -type StatAccum = StatAccum1 /* sqlite3.c:111342:26 */ +type StatAccum = StatAccum1 /* sqlite3.c:111355:26 */ type StatSample1 = struct { FanEq uintptr FanDLt uintptr @@ -91702,12 +91721,12 @@ type StatSample1 = struct { F__ccgo_pad1 [3]byte FiCol int32 FiHash U32 -} /* sqlite3.c:111342:9 */ +} /* sqlite3.c:111355:9 */ -type StatSample = StatSample1 /* sqlite3.c:111343:27 */ +type StatSample = StatSample1 /* sqlite3.c:111356:27 */ // Reclaim memory used by a StatSample -func sampleClear(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:111384:13: */ +func sampleClear(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:111397:13: */ if (*StatSample)(unsafe.Pointer(p)).FnRowid != 0 { Xsqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(p + 12))) @@ -91716,7 +91735,7 @@ func sampleClear(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:111384:13: } // Initialize the BLOB value of a ROWID -func sampleSetRowid(tls *libc.TLS, db uintptr, p uintptr, n int32, pData uintptr) { /* sqlite3.c:111396:13: */ +func sampleSetRowid(tls *libc.TLS, db uintptr, p uintptr, n int32, pData uintptr) { /* sqlite3.c:111409:13: */ if (*StatSample)(unsafe.Pointer(p)).FnRowid != 0 { Xsqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(p + 12))) @@ -91731,7 +91750,7 @@ func sampleSetRowid(tls *libc.TLS, db uintptr, p uintptr, n int32, pData uintptr } // Initialize the INTEGER value of a ROWID. -func sampleSetRowidInt64(tls *libc.TLS, db uintptr, p uintptr, iRowid I64) { /* sqlite3.c:111412:13: */ +func sampleSetRowidInt64(tls *libc.TLS, db uintptr, p uintptr, iRowid I64) { /* sqlite3.c:111425:13: */ if (*StatSample)(unsafe.Pointer(p)).FnRowid != 0 { Xsqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(p + 12))) @@ -91741,7 +91760,7 @@ func sampleSetRowidInt64(tls *libc.TLS, db uintptr, p uintptr, iRowid I64) { /* } // Copy the contents of object (*pFrom) into (*pTo). -func sampleCopy(tls *libc.TLS, p uintptr, pTo uintptr, pFrom uintptr) { /* sqlite3.c:111425:13: */ +func sampleCopy(tls *libc.TLS, p uintptr, pTo uintptr, pFrom uintptr) { /* sqlite3.c:111438:13: */ (*StatSample)(unsafe.Pointer(pTo)).FisPSample = (*StatSample)(unsafe.Pointer(pFrom)).FisPSample (*StatSample)(unsafe.Pointer(pTo)).FiCol = (*StatSample)(unsafe.Pointer(pFrom)).FiCol (*StatSample)(unsafe.Pointer(pTo)).FiHash = (*StatSample)(unsafe.Pointer(pFrom)).FiHash @@ -91756,7 +91775,7 @@ func sampleCopy(tls *libc.TLS, p uintptr, pTo uintptr, pFrom uintptr) { /* sqlit } // Reclaim all memory of a StatAccum structure. -func statAccumDestructor(tls *libc.TLS, pOld uintptr) { /* sqlite3.c:111443:13: */ +func statAccumDestructor(tls *libc.TLS, pOld uintptr) { /* sqlite3.c:111456:13: */ var p uintptr = pOld if (*StatAccum)(unsafe.Pointer(p)).FmxSample != 0 { var i int32 @@ -91791,7 +91810,7 @@ func statAccumDestructor(tls *libc.TLS, pOld uintptr) { /* sqlite3.c:111443:13: // value is a pointer to the StatAccum object. The datatype of the // return value is BLOB, but it is really just a pointer to the StatAccum // object. -func statInit(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:111478:13: */ +func statInit(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:111491:13: */ var p uintptr var nCol int32 // Number of columns in index being sampled var nKeyCol int32 // Number of key columns @@ -91886,7 +91905,7 @@ var statInitFuncdef = FuncDef{ FnArg: int8(4), // nArg FfuncFlags: U32(SQLITE_UTF8), // pNext FxSFunc: 0, // xValue, xInverse - FzName: ts + 11313} /* sqlite3.c:111564:22 */ + FzName: ts + 11313} /* sqlite3.c:111577:22 */ // pNew and pOld are both candidate non-periodic samples selected for // the same column (pNew->iCol==pOld->iCol). Ignoring this column and @@ -91897,7 +91916,7 @@ var statInitFuncdef = FuncDef{ // // This function assumes that for each argument sample, the contents of // the anEq[] array from pSample->anEq[pSample->iCol+1] onwards are valid. -func sampleIsBetterPost(tls *libc.TLS, pAccum uintptr, pNew uintptr, pOld uintptr) int32 { /* sqlite3.c:111588:12: */ +func sampleIsBetterPost(tls *libc.TLS, pAccum uintptr, pNew uintptr, pOld uintptr) int32 { /* sqlite3.c:111601:12: */ var nCol int32 = (*StatAccum)(unsafe.Pointer(pAccum)).FnCol var i int32 @@ -91919,7 +91938,7 @@ func sampleIsBetterPost(tls *libc.TLS, pAccum uintptr, pNew uintptr, pOld uintpt // // This function assumes that for each argument sample, the contents of // the anEq[] array from pSample->anEq[pSample->iCol] onwards are valid. -func sampleIsBetter(tls *libc.TLS, pAccum uintptr, pNew uintptr, pOld uintptr) int32 { /* sqlite3.c:111612:12: */ +func sampleIsBetter(tls *libc.TLS, pAccum uintptr, pNew uintptr, pOld uintptr) int32 { /* sqlite3.c:111625:12: */ var nEqNew TRowcnt = *(*TRowcnt)(unsafe.Pointer((*StatSample)(unsafe.Pointer(pNew)).FanEq + uintptr((*StatSample)(unsafe.Pointer(pNew)).FiCol)*4)) var nEqOld TRowcnt = *(*TRowcnt)(unsafe.Pointer((*StatSample)(unsafe.Pointer(pOld)).FanEq + uintptr((*StatSample)(unsafe.Pointer(pOld)).FiCol)*4)) @@ -91937,7 +91956,7 @@ func sampleIsBetter(tls *libc.TLS, pAccum uintptr, pNew uintptr, pOld uintptr) i // Copy the contents of sample *pNew into the p->a[] array. If necessary, // remove the least desirable sample from p->a[] to make room. -func sampleInsert(tls *libc.TLS, p uintptr, pNew uintptr, nEqZero int32) { /* sqlite3.c:111635:13: */ +func sampleInsert(tls *libc.TLS, p uintptr, pNew uintptr, nEqZero int32) { /* sqlite3.c:111648:13: */ var pSample uintptr var i int32 var pOld uintptr @@ -92080,7 +92099,7 @@ __11: // p->current contains a sample that reflects the previous row of the // index. The value of anEq[iChng] and subsequent anEq[] elements are // correct at this point. -func samplePushPrevious(tls *libc.TLS, p uintptr, iChng int32) { /* sqlite3.c:111727:13: */ +func samplePushPrevious(tls *libc.TLS, p uintptr, iChng int32) { /* sqlite3.c:111740:13: */ var i int32 // Check if any samples from the aBest[] array should be pushed @@ -92132,7 +92151,7 @@ func samplePushPrevious(tls *libc.TLS, p uintptr, iChng int32) { /* sqlite3.c:11 // if it wants the byte-code to do special processing. // // The R parameter is only used for STAT4 -func statPush(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:111779:13: */ +func statPush(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:111792:13: */ var i int32 // The three function arguments @@ -92204,7 +92223,7 @@ var statPushFuncdef = FuncDef{ FnArg: int8(2 + IsStat4), FfuncFlags: U32(SQLITE_UTF8), // pNext FxSFunc: 0, // xValue, xInverse - FzName: ts + 11323} /* sqlite3.c:111854:22 */ + FzName: ts + 11323} /* sqlite3.c:111867:22 */ // Implementation of the stat_get(P,J) SQL function. This routine is // used to query statistical information that has been gathered into @@ -92223,7 +92242,7 @@ var statPushFuncdef = FuncDef{ // STAT_GET_STAT1 and is hence omitted and this routine becomes // a one-parameter function, stat_get(P), that always returns the // stat1 table entry information. -func statGet(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:111891:13: */ +func statGet(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:111904:13: */ bp := tls.Alloc(72) defer tls.Free(72) @@ -92324,9 +92343,9 @@ var statGetFuncdef = FuncDef{ FnArg: int8(1 + IsStat4), FfuncFlags: U32(SQLITE_UTF8), // pNext FxSFunc: 0, // xValue, xInverse - FzName: ts + 11350} /* sqlite3.c:111988:22 */ + FzName: ts + 11350} /* sqlite3.c:112001:22 */ -func callStatGet(tls *libc.TLS, pParse uintptr, regStat int32, iParam int32, regOut int32) { /* sqlite3.c:112000:13: */ +func callStatGet(tls *libc.TLS, pParse uintptr, regStat int32, iParam int32, regOut int32) { /* sqlite3.c:112013:13: */ Xsqlite3VdbeAddOp2(tls, (*Parse)(unsafe.Pointer(pParse)).FpVdbe, OP_Integer, iParam, regStat+1) Xsqlite3VdbeAddFunctionCall(tls, pParse, 0, regStat, regOut, 1+IsStat4, @@ -92335,7 +92354,7 @@ func callStatGet(tls *libc.TLS, pParse uintptr, regStat int32, iParam int32, reg // Generate code to do an analysis of all indices associated with // a single table. -func analyzeOneTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uintptr, iStatCur int32, iMem int32, iTab int32) { /* sqlite3.c:112041:13: */ +func analyzeOneTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uintptr, iStatCur int32, iMem int32, iTab int32) { /* sqlite3.c:112054:13: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb // Database handle var pIdx uintptr // An index to being analyzed var iIdxCur int32 // Cursor open on index being analyzed @@ -92695,7 +92714,7 @@ func analyzeOneTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uintp // Generate code that will cause the most recent index analysis to // be loaded into internal hash tables where is can be used. -func loadAnalysis(tls *libc.TLS, pParse uintptr, iDb int32) { /* sqlite3.c:112403:13: */ +func loadAnalysis(tls *libc.TLS, pParse uintptr, iDb int32) { /* sqlite3.c:112416:13: */ var v uintptr = Xsqlite3GetVdbe(tls, pParse) if v != 0 { Xsqlite3VdbeAddOp1(tls, v, OP_LoadAnalysis, iDb) @@ -92703,7 +92722,7 @@ func loadAnalysis(tls *libc.TLS, pParse uintptr, iDb int32) { /* sqlite3.c:11240 } // Generate code that will do an analysis of an entire database -func analyzeDatabase(tls *libc.TLS, pParse uintptr, iDb int32) { /* sqlite3.c:112413:13: */ +func analyzeDatabase(tls *libc.TLS, pParse uintptr, iDb int32) { /* sqlite3.c:112426:13: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb var pSchema uintptr = (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*16)).FpSchema // Schema of database iDb var k uintptr @@ -92728,7 +92747,7 @@ func analyzeDatabase(tls *libc.TLS, pParse uintptr, iDb int32) { /* sqlite3.c:11 // Generate code that will do an analysis of a single table in // a database. If pOnlyIdx is not NULL then it is a single index // in pTab that should be analyzed. -func analyzeTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uintptr) { /* sqlite3.c:112440:13: */ +func analyzeTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uintptr) { /* sqlite3.c:112453:13: */ var iDb int32 var iStatCur int32 @@ -92755,7 +92774,7 @@ func analyzeTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uintptr) // Form 1 causes all indices in all attached databases to be analyzed. // Form 2 analyzes all indices the single database named. // Form 3 analyzes all indices associated with the named table. -func Xsqlite3Analyze(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 uintptr) { /* sqlite3.c:112471:21: */ +func Xsqlite3Analyze(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 uintptr) { /* sqlite3.c:112484:21: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -92818,16 +92837,16 @@ func Xsqlite3Analyze(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 uintp type analysisInfo = struct { Fdb uintptr FzDatabase uintptr -} /* sqlite3.c:112523:9 */ +} /* sqlite3.c:112536:9 */ // Used to pass information from the analyzer reader through to the // callback routine. -type AnalysisInfo = analysisInfo /* sqlite3.c:112523:29 */ +type AnalysisInfo = analysisInfo /* sqlite3.c:112536:29 */ // The first argument points to a nul-terminated string containing a // list of space separated integers. Read the first nOut of these into // the array aOut[]. -func decodeIntArray(tls *libc.TLS, zIntArray uintptr, nOut int32, aOut uintptr, aLog uintptr, pIndex uintptr) { /* sqlite3.c:112534:13: */ +func decodeIntArray(tls *libc.TLS, zIntArray uintptr, nOut int32, aOut uintptr, aLog uintptr, pIndex uintptr) { /* sqlite3.c:112547:13: */ var z uintptr = zIntArray var c int32 var i int32 @@ -92886,7 +92905,7 @@ func decodeIntArray(tls *libc.TLS, zIntArray uintptr, nOut int32, aOut uintptr, // // Entries for which argv[1]==NULL simply record the number of rows in // the table. -func analysisLoader(tls *libc.TLS, pData uintptr, argc int32, argv uintptr, NotUsed uintptr) int32 { /* sqlite3.c:112607:12: */ +func analysisLoader(tls *libc.TLS, pData uintptr, argc int32, argv uintptr, NotUsed uintptr) int32 { /* sqlite3.c:112620:12: */ bp := tls.Alloc(92) defer tls.Free(92) @@ -92948,7 +92967,7 @@ func analysisLoader(tls *libc.TLS, pData uintptr, argc int32, argv uintptr, NotU // If the Index.aSample variable is not NULL, delete the aSample[] array // and its contents. -func Xsqlite3DeleteIndexSamples(tls *libc.TLS, db uintptr, pIdx uintptr) { /* sqlite3.c:112670:21: */ +func Xsqlite3DeleteIndexSamples(tls *libc.TLS, db uintptr, pIdx uintptr) { /* sqlite3.c:112683:21: */ if (*Index)(unsafe.Pointer(pIdx)).FaSample != 0 { var j int32 for j = 0; j < (*Index)(unsafe.Pointer(pIdx)).FnSample; j++ { @@ -92965,7 +92984,7 @@ func Xsqlite3DeleteIndexSamples(tls *libc.TLS, db uintptr, pIdx uintptr) { /* sq // Populate the pIdx->aAvgEq[] array based on the samples currently // stored in pIdx->aSample[]. -func initAvgEq(tls *libc.TLS, pIdx uintptr) { /* sqlite3.c:112695:13: */ +func initAvgEq(tls *libc.TLS, pIdx uintptr) { /* sqlite3.c:112708:13: */ if pIdx != 0 { var aSample uintptr = (*Index)(unsafe.Pointer(pIdx)).FaSample var pFinal uintptr = aSample + uintptr((*Index)(unsafe.Pointer(pIdx)).FnSample-1)*20 @@ -93023,7 +93042,7 @@ func initAvgEq(tls *libc.TLS, pIdx uintptr) { /* sqlite3.c:112695:13: */ // Look up an index by name. Or, if the name of a WITHOUT ROWID table // is supplied instead, find the PRIMARY KEY index for that table. -func findIndexOrPrimaryKey(tls *libc.TLS, db uintptr, zName uintptr, zDb uintptr) uintptr { /* sqlite3.c:112754:14: */ +func findIndexOrPrimaryKey(tls *libc.TLS, db uintptr, zName uintptr, zDb uintptr) uintptr { /* sqlite3.c:112767:14: */ var pIdx uintptr = Xsqlite3FindIndex(tls, db, zName, zDb) if pIdx == uintptr(0) { var pTab uintptr = Xsqlite3FindTable(tls, db, zName, zDb) @@ -93044,7 +93063,7 @@ func findIndexOrPrimaryKey(tls *libc.TLS, db uintptr, zName uintptr, zDb uintptr // zSql2: SELECT idx,neq,nlt,ndlt,sample FROM %Q.sqlite_stat4 // // where %Q is replaced with the database name before the SQL is executed. -func loadStatTbl(tls *libc.TLS, db uintptr, zSql1 uintptr, zSql2 uintptr, zDb uintptr) int32 { /* sqlite3.c:112779:12: */ +func loadStatTbl(tls *libc.TLS, db uintptr, zSql1 uintptr, zSql2 uintptr, zDb uintptr) int32 { /* sqlite3.c:112792:12: */ bp := tls.Alloc(20) defer tls.Free(20) @@ -93180,7 +93199,7 @@ func loadStatTbl(tls *libc.TLS, db uintptr, zSql1 uintptr, zSql2 uintptr, zDb ui // Load content from the sqlite_stat4 table into // the Index.aSample[] arrays of all indices. -func loadStat4(tls *libc.TLS, db uintptr, zDb uintptr) int32 { /* sqlite3.c:112900:12: */ +func loadStat4(tls *libc.TLS, db uintptr, zDb uintptr) int32 { /* sqlite3.c:112913:12: */ var rc int32 = SQLITE_OK // Result codes from subroutines var pStat4 uintptr @@ -93212,7 +93231,7 @@ func loadStat4(tls *libc.TLS, db uintptr, zDb uintptr) int32 { /* sqlite3.c:1129 // If an OOM error occurs, this function always sets db->mallocFailed. // This means if the caller does not care about other errors, the return // code may be ignored. -func Xsqlite3AnalysisLoad(tls *libc.TLS, db uintptr, iDb int32) int32 { /* sqlite3.c:112938:20: */ +func Xsqlite3AnalysisLoad(tls *libc.TLS, db uintptr, iDb int32) int32 { /* sqlite3.c:112951:20: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -93319,7 +93338,7 @@ func Xsqlite3AnalysisLoad(tls *libc.TLS, db uintptr, iDb int32) int32 { /* sqlit // ATTACH DATABASE abc||def AS 'db2' // // will fail because neither abc or def can be resolved. -func resolveAttachExpr(tls *libc.TLS, pName uintptr, pExpr uintptr) int32 { /* sqlite3.c:113046:12: */ +func resolveAttachExpr(tls *libc.TLS, pName uintptr, pExpr uintptr) int32 { /* sqlite3.c:113059:12: */ var rc int32 = SQLITE_OK if pExpr != 0 { if int32((*Expr)(unsafe.Pointer(pExpr)).Fop) != TK_ID { @@ -93333,7 +93352,7 @@ func resolveAttachExpr(tls *libc.TLS, pName uintptr, pExpr uintptr) int32 { /* s // Return true if zName points to a name that may be used to refer to // database iDb attached to handle db. -func Xsqlite3DbIsNamed(tls *libc.TLS, db uintptr, iDb int32, zName uintptr) int32 { /* sqlite3.c:113063:20: */ +func Xsqlite3DbIsNamed(tls *libc.TLS, db uintptr, iDb int32, zName uintptr) int32 { /* sqlite3.c:113076:20: */ return libc.Bool32(Xsqlite3StrICmp(tls, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(iDb)*16)).FzDbSName, zName) == 0 || iDb == 0 && Xsqlite3StrICmp(tls, ts+6332, zName) == 0) } @@ -93351,7 +93370,7 @@ func Xsqlite3DbIsNamed(tls *libc.TLS, db uintptr, iDb int32, zName uintptr) int3 // If the db->init.reopenMemdb flags is set, then instead of attaching a // new database, close the database on db->init.iDb and reopen it as an // empty MemDB. -func attachFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { /* sqlite3.c:113085:13: */ +func attachFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { /* sqlite3.c:113098:13: */ bp := tls.Alloc(44) defer tls.Free(44) @@ -93644,7 +93663,7 @@ __34: // DETACH DATABASE x // // SELECT sqlite_detach(x) -func detachFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { /* sqlite3.c:113278:13: */ +func detachFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { /* sqlite3.c:113291:13: */ bp := tls.Alloc(152) defer tls.Free(152) @@ -93749,7 +93768,7 @@ detach_error: // This procedure generates VDBE code for a single invocation of either the // sqlite_detach() or sqlite_attach() SQL user functions. -func codeAttach(tls *libc.TLS, pParse uintptr, type1 int32, pFunc uintptr, pAuthArg uintptr, pFilename uintptr, pDbname uintptr, pKey uintptr) { /* sqlite3.c:113340:13: */ +func codeAttach(tls *libc.TLS, pParse uintptr, type1 int32, pFunc uintptr, pAuthArg uintptr, pFilename uintptr, pDbname uintptr, pKey uintptr) { /* sqlite3.c:113353:13: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -93828,7 +93847,7 @@ attach_end: // Called by the parser to compile a DETACH statement. // // DETACH pDbname -func Xsqlite3Detach(tls *libc.TLS, pParse uintptr, pDbname uintptr) { /* sqlite3.c:113412:21: */ +func Xsqlite3Detach(tls *libc.TLS, pParse uintptr, pDbname uintptr) { /* sqlite3.c:113425:21: */ codeAttach(tls, pParse, SQLITE_DETACH, uintptr(unsafe.Pointer(&detach_func)), pDbname, uintptr(0), uintptr(0), pDbname) } @@ -93836,12 +93855,12 @@ var detach_func = FuncDef{ FnArg: int8(1), // nArg FfuncFlags: U32(SQLITE_UTF8), // pNext FxSFunc: 0, // xValue, xInverse - FzName: ts + 11825} /* sqlite3.c:113413:24 */ + FzName: ts + 11825} /* sqlite3.c:113426:24 */ // Called by the parser to compile an ATTACH statement. // // ATTACH p AS pDbname KEY pKey -func Xsqlite3Attach(tls *libc.TLS, pParse uintptr, p uintptr, pDbname uintptr, pKey uintptr) { /* sqlite3.c:113432:21: */ +func Xsqlite3Attach(tls *libc.TLS, pParse uintptr, p uintptr, pDbname uintptr, pKey uintptr) { /* sqlite3.c:113445:21: */ codeAttach(tls, pParse, SQLITE_ATTACH, uintptr(unsafe.Pointer(&attach_func)), p, p, pDbname, pKey) } @@ -93849,10 +93868,10 @@ var attach_func = FuncDef{ FnArg: int8(3), // nArg FfuncFlags: U32(SQLITE_UTF8), // pNext FxSFunc: 0, // xValue, xInverse - FzName: ts + 11839} /* sqlite3.c:113433:24 */ + FzName: ts + 11839} /* sqlite3.c:113446:24 */ // Expression callback used by sqlite3FixAAAA() routines. -func fixExprCb(tls *libc.TLS, p uintptr, pExpr uintptr) int32 { /* sqlite3.c:113451:12: */ +func fixExprCb(tls *libc.TLS, p uintptr, pExpr uintptr) int32 { /* sqlite3.c:113464:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -93872,7 +93891,7 @@ func fixExprCb(tls *libc.TLS, p uintptr, pExpr uintptr) int32 { /* sqlite3.c:113 } // Select callback used by sqlite3FixAAAA() routines. -func fixSelectCb(tls *libc.TLS, p uintptr, pSelect uintptr) int32 { /* sqlite3.c:113468:12: */ +func fixSelectCb(tls *libc.TLS, p uintptr, pSelect uintptr) int32 { /* sqlite3.c:113481:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -93933,7 +93952,7 @@ __3: // Initialize a DbFixer structure. This routine must be called prior // to passing the structure to one of the sqliteFixAAAA() routines below. -func Xsqlite3FixInit(tls *libc.TLS, pFix uintptr, pParse uintptr, iDb int32, zType uintptr, pName uintptr) { /* sqlite3.c:113511:21: */ +func Xsqlite3FixInit(tls *libc.TLS, pFix uintptr, pParse uintptr, iDb int32, zType uintptr, pName uintptr) { /* sqlite3.c:113524:21: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb (*DbFixer)(unsafe.Pointer(pFix)).FpParse = pParse @@ -93969,7 +93988,7 @@ func Xsqlite3FixInit(tls *libc.TLS, pFix uintptr, pParse uintptr, iDb int32, zTy // to an object in a different database, an error message is added to // pParse->zErrMsg and these routines return non-zero. If everything // checks out, these routines return 0. -func Xsqlite3FixSrcList(tls *libc.TLS, pFix uintptr, pList uintptr) int32 { /* sqlite3.c:113549:20: */ +func Xsqlite3FixSrcList(tls *libc.TLS, pFix uintptr, pList uintptr) int32 { /* sqlite3.c:113562:20: */ bp := tls.Alloc(76) defer tls.Free(76) @@ -93984,15 +94003,15 @@ func Xsqlite3FixSrcList(tls *libc.TLS, pFix uintptr, pList uintptr) int32 { /* s return res } -func Xsqlite3FixSelect(tls *libc.TLS, pFix uintptr, pSelect uintptr) int32 { /* sqlite3.c:113563:20: */ +func Xsqlite3FixSelect(tls *libc.TLS, pFix uintptr, pSelect uintptr) int32 { /* sqlite3.c:113576:20: */ return Xsqlite3WalkSelect(tls, pFix+4, pSelect) } -func Xsqlite3FixExpr(tls *libc.TLS, pFix uintptr, pExpr uintptr) int32 { /* sqlite3.c:113569:20: */ +func Xsqlite3FixExpr(tls *libc.TLS, pFix uintptr, pExpr uintptr) int32 { /* sqlite3.c:113582:20: */ return Xsqlite3WalkExpr(tls, pFix+4, pExpr) } -func Xsqlite3FixTriggerStep(tls *libc.TLS, pFix uintptr, pStep uintptr) int32 { /* sqlite3.c:113578:20: */ +func Xsqlite3FixTriggerStep(tls *libc.TLS, pFix uintptr, pStep uintptr) int32 { /* sqlite3.c:113591:20: */ for pStep != 0 { if Xsqlite3WalkSelect(tls, pFix+4, (*TriggerStep)(unsafe.Pointer(pStep)).FpSelect) != 0 || Xsqlite3WalkExpr(tls, pFix+4, (*TriggerStep)(unsafe.Pointer(pStep)).FpWhere) != 0 || @@ -94082,7 +94101,7 @@ func Xsqlite3FixTriggerStep(tls *libc.TLS, pFix uintptr, pStep uintptr) 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) int32 { /* sqlite3.c:113682:16: */ +func Xsqlite3_set_authorizer(tls *libc.TLS, db uintptr, xAuth uintptr, pArg uintptr) int32 { /* sqlite3.c:113695:16: */ Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) (*Sqlite3)(unsafe.Pointer(db)).FxAuth = xAuth (*Sqlite3)(unsafe.Pointer(db)).FpAuthArg = pArg @@ -94095,7 +94114,7 @@ func Xsqlite3_set_authorizer(tls *libc.TLS, db uintptr, xAuth uintptr, pArg uint // Write an error message into pParse->zErrMsg that explains that the // user-supplied authorization function returned an illegal value. -func sqliteAuthBadReturnCode(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:113702:13: */ +func sqliteAuthBadReturnCode(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:113715:13: */ Xsqlite3ErrorMsg(tls, pParse, ts+11923, 0) (*Parse)(unsafe.Pointer(pParse)).Frc = SQLITE_ERROR } @@ -94107,7 +94126,7 @@ func sqliteAuthBadReturnCode(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:11370 // If SQLITE_IGNORE is returned and pExpr is not NULL, then pExpr is changed // to an SQL NULL expression. Otherwise, if pExpr is NULL, then SQLITE_IGNORE // is treated as SQLITE_DENY. In this case an error is left in pParse. -func Xsqlite3AuthReadCol(tls *libc.TLS, pParse uintptr, zTab uintptr, zCol uintptr, iDb int32) int32 { /* sqlite3.c:113716:20: */ +func Xsqlite3AuthReadCol(tls *libc.TLS, pParse uintptr, zTab uintptr, zCol uintptr, iDb int32) int32 { /* sqlite3.c:113729:20: */ bp := tls.Alloc(40) defer tls.Free(40) @@ -94141,7 +94160,7 @@ func Xsqlite3AuthReadCol(tls *libc.TLS, pParse uintptr, zTab uintptr, zCol uintp // If the auth function returns SQLITE_IGNORE, change the TK_COLUMN // instruction into a TK_NULL. If the auth function returns SQLITE_DENY, // then generate an error. -func Xsqlite3AuthRead(tls *libc.TLS, pParse uintptr, pExpr uintptr, pSchema uintptr, pTabList uintptr) { /* sqlite3.c:113752:21: */ +func Xsqlite3AuthRead(tls *libc.TLS, pParse uintptr, pExpr uintptr, pSchema uintptr, pTabList uintptr) { /* sqlite3.c:113765:21: */ var pTab uintptr = uintptr(0) // The table being read var zCol uintptr // Name of the column of the table var iSrc int32 // Index in pTabList->a[] of table being read @@ -94190,7 +94209,7 @@ func Xsqlite3AuthRead(tls *libc.TLS, pParse uintptr, pExpr uintptr, pSchema uint // either SQLITE_OK (zero) or SQLITE_IGNORE or SQLITE_DENY. If SQLITE_DENY // is returned, then the error count and error message in pParse are // modified appropriately. -func Xsqlite3AuthCheck(tls *libc.TLS, pParse uintptr, code int32, zArg1 uintptr, zArg2 uintptr, zArg3 uintptr) int32 { /* sqlite3.c:113809:20: */ +func Xsqlite3AuthCheck(tls *libc.TLS, pParse uintptr, code int32, zArg1 uintptr, zArg2 uintptr, zArg3 uintptr) int32 { /* sqlite3.c:113822:20: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb var rc int32 @@ -94224,7 +94243,7 @@ func Xsqlite3AuthCheck(tls *libc.TLS, pParse uintptr, code int32, zArg1 uintptr, // Push an authorization context. After this routine is called, the // zArg3 argument to authorization callbacks will be zContext until // popped. Or if pParse==0, this routine is a no-op. -func Xsqlite3AuthContextPush(tls *libc.TLS, pParse uintptr, pContext uintptr, zContext uintptr) { /* sqlite3.c:113858:21: */ +func Xsqlite3AuthContextPush(tls *libc.TLS, pParse uintptr, pContext uintptr, zContext uintptr) { /* sqlite3.c:113871:21: */ (*AuthContext)(unsafe.Pointer(pContext)).FpParse = pParse (*AuthContext)(unsafe.Pointer(pContext)).FzAuthContext = (*Parse)(unsafe.Pointer(pParse)).FzAuthContext @@ -94233,7 +94252,7 @@ func Xsqlite3AuthContextPush(tls *libc.TLS, pParse uintptr, pContext uintptr, zC // Pop an authorization context that was previously pushed // by sqlite3AuthContextPush -func Xsqlite3AuthContextPop(tls *libc.TLS, pContext uintptr) { /* sqlite3.c:113873:21: */ +func Xsqlite3AuthContextPop(tls *libc.TLS, pContext uintptr) { /* sqlite3.c:113886:21: */ if (*AuthContext)(unsafe.Pointer(pContext)).FpParse != 0 { (*Parse)(unsafe.Pointer((*AuthContext)(unsafe.Pointer(pContext)).FpParse)).FzAuthContext = (*AuthContext)(unsafe.Pointer(pContext)).FzAuthContext (*AuthContext)(unsafe.Pointer(pContext)).FpParse = uintptr(0) @@ -94248,7 +94267,7 @@ func Xsqlite3AuthContextPop(tls *libc.TLS, pContext uintptr) { /* sqlite3.c:1138 // This routine just records the fact that the lock is desired. The // code to make the lock occur is generated by a later call to // codeTableLocks() which occurs during sqlite3FinishCoding(). -func lockTable(tls *libc.TLS, pParse uintptr, iDb int32, iTab Pgno, isWriteLock U8, zName uintptr) { /* sqlite3.c:113932:29: */ +func lockTable(tls *libc.TLS, pParse uintptr, iDb int32, iTab Pgno, isWriteLock U8, zName uintptr) { /* sqlite3.c:113945:29: */ var pToplevel uintptr var i int32 var nBytes int32 @@ -94282,7 +94301,7 @@ func lockTable(tls *libc.TLS, pParse uintptr, iDb int32, iTab Pgno, isWriteLock } } -func Xsqlite3TableLock(tls *libc.TLS, pParse uintptr, iDb int32, iTab Pgno, isWriteLock U8, zName uintptr) { /* sqlite3.c:113968:21: */ +func Xsqlite3TableLock(tls *libc.TLS, pParse uintptr, iDb int32, iTab Pgno, isWriteLock U8, zName uintptr) { /* sqlite3.c:113981:21: */ if iDb == 1 { return } @@ -94294,7 +94313,7 @@ func Xsqlite3TableLock(tls *libc.TLS, pParse uintptr, iDb int32, iTab Pgno, isWr // Code an OP_TableLock instruction for each table locked by the // statement (configured by calls to sqlite3TableLock()). -func codeTableLocks(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:113984:13: */ +func codeTableLocks(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:113997:13: */ var i int32 var pVdbe uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe @@ -94318,7 +94337,7 @@ func codeTableLocks(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:113984:13: */ // // Note that if an error occurred, it might be the case that // no VDBE code was generated. -func Xsqlite3FinishCoding(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:114023:21: */ +func Xsqlite3FinishCoding(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:114036:21: */ var db uintptr var v uintptr @@ -94471,7 +94490,7 @@ func Xsqlite3FinishCoding(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:114023:2 // * Built-in SQL functions always take precedence over application-defined // SQL functions. In other words, it is not possible to override a // built-in function. -func Xsqlite3NestedParse(tls *libc.TLS, pParse uintptr, zFormat uintptr, va uintptr) { /* sqlite3.c:114194:21: */ +func Xsqlite3NestedParse(tls *libc.TLS, pParse uintptr, zFormat uintptr, va uintptr) { /* sqlite3.c:114207:21: */ bp := tls.Alloc(76) defer tls.Free(76) @@ -94522,7 +94541,7 @@ func Xsqlite3NestedParse(tls *libc.TLS, pParse uintptr, zFormat uintptr, va uint // auxiliary databases added using the ATTACH command. // // See also sqlite3LocateTable(). -func Xsqlite3FindTable(tls *libc.TLS, db uintptr, zName uintptr, zDatabase uintptr) uintptr { /* sqlite3.c:114249:22: */ +func Xsqlite3FindTable(tls *libc.TLS, db uintptr, zName uintptr, zDatabase uintptr) uintptr { /* sqlite3.c:114262:22: */ var p uintptr = uintptr(0) var i int32 @@ -94598,7 +94617,7 @@ func Xsqlite3FindTable(tls *libc.TLS, db uintptr, zName uintptr, zDatabase uintp // The difference between this routine and sqlite3FindTable() is that this // routine leaves an error message in pParse->zErrMsg where // sqlite3FindTable() does not. -func Xsqlite3LocateTable(tls *libc.TLS, pParse uintptr, flags U32, zName uintptr, zDbase uintptr) uintptr { /* sqlite3.c:114327:22: */ +func Xsqlite3LocateTable(tls *libc.TLS, pParse uintptr, flags U32, zName uintptr, zDbase uintptr) uintptr { /* sqlite3.c:114340:22: */ bp := tls.Alloc(40) defer tls.Free(40) @@ -94661,7 +94680,7 @@ func Xsqlite3LocateTable(tls *libc.TLS, pParse uintptr, flags U32, zName uintptr // the search to schema (p->pSchema) if it is not NULL. p->pSchema may be // non-NULL if it is part of a view or trigger program definition. See // sqlite3FixSrcList() for details. -func Xsqlite3LocateTableItem(tls *libc.TLS, pParse uintptr, flags U32, p uintptr) uintptr { /* sqlite3.c:114390:22: */ +func Xsqlite3LocateTableItem(tls *libc.TLS, pParse uintptr, flags U32, p uintptr) uintptr { /* sqlite3.c:114403:22: */ var zDb uintptr if (*SrcItem)(unsafe.Pointer(p)).FpSchema != 0 { @@ -94675,7 +94694,7 @@ func Xsqlite3LocateTableItem(tls *libc.TLS, pParse uintptr, flags U32, p uintptr // Return the preferred table name for system tables. Translate legacy // names into the new preferred names, as appropriate. -func Xsqlite3PreferredTableName(tls *libc.TLS, zName uintptr) uintptr { /* sqlite3.c:114410:27: */ +func Xsqlite3PreferredTableName(tls *libc.TLS, zName uintptr) uintptr { /* sqlite3.c:114423:27: */ if Xsqlite3_strnicmp(tls, zName, ts+8019, 7) == 0 { if Xsqlite3StrICmp(tls, zName+uintptr(7), ts+5844+7) == 0 { return ts + 12019 /* "sqlite_schema" */ @@ -94697,7 +94716,7 @@ func Xsqlite3PreferredTableName(tls *libc.TLS, zName uintptr) uintptr { /* sqlit // for duplicate index names is done.) The search order is // TEMP first, then MAIN, then any auxiliary databases added // using the ATTACH command. -func Xsqlite3FindIndex(tls *libc.TLS, db uintptr, zName uintptr, zDb uintptr) uintptr { /* sqlite3.c:114434:22: */ +func Xsqlite3FindIndex(tls *libc.TLS, db uintptr, zName uintptr, zDb uintptr) uintptr { /* sqlite3.c:114447:22: */ var p uintptr = uintptr(0) var i int32 // All mutexes are required for schema access. Make sure we hold them. @@ -94724,7 +94743,7 @@ func Xsqlite3FindIndex(tls *libc.TLS, db uintptr, zName uintptr, zDb uintptr) ui } // Reclaim the memory used by an index -func Xsqlite3FreeIndex(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:114454:21: */ +func Xsqlite3FreeIndex(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:114467:21: */ Xsqlite3DeleteIndexSamples(tls, db, p) Xsqlite3ExprDelete(tls, db, (*Index)(unsafe.Pointer(p)).FpPartIdxWhere) Xsqlite3ExprListDelete(tls, db, (*Index)(unsafe.Pointer(p)).FaColExpr) @@ -94740,7 +94759,7 @@ func Xsqlite3FreeIndex(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:1144 // unlike that index from its Table then remove the index from // the index hash table and free all memory structures associated // with the index. -func Xsqlite3UnlinkAndDeleteIndex(tls *libc.TLS, db uintptr, iDb int32, zIdxName uintptr) { /* sqlite3.c:114474:21: */ +func Xsqlite3UnlinkAndDeleteIndex(tls *libc.TLS, db uintptr, iDb int32, zIdxName uintptr) { /* sqlite3.c:114487:21: */ var pIndex uintptr var pHash uintptr @@ -94772,7 +94791,7 @@ func Xsqlite3UnlinkAndDeleteIndex(tls *libc.TLS, db uintptr, iDb int32, zIdxName // // Entry 0 (the "main" database) and entry 1 (the "temp" database) // are never candidates for being collapsed. -func Xsqlite3CollapseDatabaseArray(tls *libc.TLS, db uintptr) { /* sqlite3.c:114507:21: */ +func Xsqlite3CollapseDatabaseArray(tls *libc.TLS, db uintptr) { /* sqlite3.c:114520:21: */ var i int32 var j int32 for i = libc.AssignInt32(&j, 2); i < (*Sqlite3)(unsafe.Pointer(db)).FnDb; i++ { @@ -94798,7 +94817,7 @@ func Xsqlite3CollapseDatabaseArray(tls *libc.TLS, db uintptr) { /* sqlite3.c:114 // Reset the schema for the database at index iDb. Also reset the // TEMP schema. The reset is deferred if db->nSchemaLock is not zero. // Deferred resets may be run by calling with iDb<0. -func Xsqlite3ResetOneSchema(tls *libc.TLS, db uintptr, iDb int32) { /* sqlite3.c:114534:21: */ +func Xsqlite3ResetOneSchema(tls *libc.TLS, db uintptr, iDb int32) { /* sqlite3.c:114547:21: */ var i int32 if iDb >= 0 { @@ -94819,7 +94838,7 @@ func Xsqlite3ResetOneSchema(tls *libc.TLS, db uintptr, iDb int32) { /* sqlite3.c // Erase all schema information from all attached databases (including // "main" and "temp") for a single database connection. -func Xsqlite3ResetAllSchemasOfConnection(tls *libc.TLS, db uintptr) { /* sqlite3.c:114558:21: */ +func Xsqlite3ResetAllSchemasOfConnection(tls *libc.TLS, db uintptr) { /* sqlite3.c:114571:21: */ var i int32 Xsqlite3BtreeEnterAll(tls, db) for i = 0; i < (*Sqlite3)(unsafe.Pointer(db)).FnDb; i++ { @@ -94841,14 +94860,14 @@ func Xsqlite3ResetAllSchemasOfConnection(tls *libc.TLS, db uintptr) { /* sqlite3 } // This routine is called when a commit occurs. -func Xsqlite3CommitInternalChanges(tls *libc.TLS, db uintptr) { /* sqlite3.c:114582:21: */ +func Xsqlite3CommitInternalChanges(tls *libc.TLS, db uintptr) { /* sqlite3.c:114595:21: */ *(*U32)(unsafe.Pointer(db + 24)) &= libc.Uint32FromInt32(libc.CplInt32(DBFLAG_SchemaChange)) } // Set the expression associated with a column. This is usually // the DEFAULT value, but might also be the expression that computes // the value for a generated column. -func Xsqlite3ColumnSetExpr(tls *libc.TLS, pParse uintptr, pTab uintptr, pCol uintptr, pExpr uintptr) { /* sqlite3.c:114591:21: */ +func Xsqlite3ColumnSetExpr(tls *libc.TLS, pParse uintptr, pTab uintptr, pCol uintptr, pExpr uintptr) { /* sqlite3.c:114604:21: */ var pList uintptr pList = *(*uintptr)(unsafe.Pointer(pTab + 44 + 8 /* &.pDfltList */)) @@ -94871,7 +94890,7 @@ func Xsqlite3ColumnSetExpr(tls *libc.TLS, pParse uintptr, pTab uintptr, pCol uin // Return the expression associated with a column. The expression might be // the DEFAULT clause or the AS clause of a generated column. // Return NULL if the column has no associated expression. -func Xsqlite3ColumnExpr(tls *libc.TLS, pTab uintptr, pCol uintptr) uintptr { /* sqlite3.c:114617:21: */ +func Xsqlite3ColumnExpr(tls *libc.TLS, pTab uintptr, pCol uintptr) uintptr { /* sqlite3.c:114630:21: */ if int32((*Column)(unsafe.Pointer(pCol)).FiDflt) == 0 { return uintptr(0) } @@ -94888,7 +94907,7 @@ func Xsqlite3ColumnExpr(tls *libc.TLS, pTab uintptr, pCol uintptr) uintptr { /* } // Set the collating sequence name for a column. -func Xsqlite3ColumnSetColl(tls *libc.TLS, db uintptr, pCol uintptr, zColl uintptr) { /* sqlite3.c:114628:21: */ +func Xsqlite3ColumnSetColl(tls *libc.TLS, db uintptr, pCol uintptr, zColl uintptr) { /* sqlite3.c:114641:21: */ var nColl I64 var n I64 var zNew uintptr @@ -94907,7 +94926,7 @@ func Xsqlite3ColumnSetColl(tls *libc.TLS, db uintptr, pCol uintptr, zColl uintpt } // Return the collating squence name for a column -func Xsqlite3ColumnColl(tls *libc.TLS, pCol uintptr) uintptr { /* sqlite3.c:114653:27: */ +func Xsqlite3ColumnColl(tls *libc.TLS, pCol uintptr) uintptr { /* sqlite3.c:114666:27: */ var z uintptr if int32((*Column)(unsafe.Pointer(pCol)).FcolFlags)&COLFLAG_HASCOLL == 0 { return uintptr(0) @@ -94926,7 +94945,7 @@ func Xsqlite3ColumnColl(tls *libc.TLS, pCol uintptr) uintptr { /* sqlite3.c:1146 // Delete memory allocated for the column names of a table or view (the // Table.aCol[] array). -func Xsqlite3DeleteColumnNames(tls *libc.TLS, db uintptr, pTable uintptr) { /* sqlite3.c:114668:21: */ +func Xsqlite3DeleteColumnNames(tls *libc.TLS, db uintptr, pTable uintptr) { /* sqlite3.c:114681:21: */ var i int32 var pCol uintptr @@ -94976,7 +94995,7 @@ func Xsqlite3DeleteColumnNames(tls *libc.TLS, db uintptr, pTable uintptr) { /* s // lookaside memory, but some ephemeral Table objects do.) Or the // db parameter can be used with db->pnBytesFreed to measure the memory // used by the Table object. -func deleteTable(tls *libc.TLS, db uintptr, pTable uintptr) { /* sqlite3.c:114706:29: */ +func deleteTable(tls *libc.TLS, db uintptr, pTable uintptr) { /* sqlite3.c:114719:29: */ var pIndex uintptr var pNext uintptr @@ -95013,7 +95032,7 @@ func deleteTable(tls *libc.TLS, db uintptr, pTable uintptr) { /* sqlite3.c:11470 } -func Xsqlite3DeleteTable(tls *libc.TLS, db uintptr, pTable uintptr) { /* sqlite3.c:114763:21: */ +func Xsqlite3DeleteTable(tls *libc.TLS, db uintptr, pTable uintptr) { /* sqlite3.c:114776:21: */ // Do not delete the table until the reference count reaches zero. if !(pTable != 0) { return @@ -95026,7 +95045,7 @@ func Xsqlite3DeleteTable(tls *libc.TLS, db uintptr, pTable uintptr) { /* sqlite3 // Unlink the given table from the hash tables and the delete the // table structure with all its indices and foreign keys. -func Xsqlite3UnlinkAndDeleteTable(tls *libc.TLS, db uintptr, iDb int32, zTabName uintptr) { /* sqlite3.c:114775:21: */ +func Xsqlite3UnlinkAndDeleteTable(tls *libc.TLS, db uintptr, iDb int32, zTabName uintptr) { /* sqlite3.c:114788:21: */ var p uintptr var pDb uintptr @@ -95048,7 +95067,7 @@ func Xsqlite3UnlinkAndDeleteTable(tls *libc.TLS, db uintptr, iDb int32, zTabName // Tokens are often just pointers into the original SQL text and so // are not \000 terminated and are not persistent. The returned string // is \000 terminated and is persistent. -func Xsqlite3NameFromToken(tls *libc.TLS, db uintptr, pName uintptr) uintptr { /* sqlite3.c:114803:21: */ +func Xsqlite3NameFromToken(tls *libc.TLS, db uintptr, pName uintptr) uintptr { /* sqlite3.c:114816:21: */ var zName uintptr if pName != 0 { zName = Xsqlite3DbStrNDup(tls, db, (*Token)(unsafe.Pointer(pName)).Fz, uint64((*Token)(unsafe.Pointer(pName)).Fn)) @@ -95061,7 +95080,7 @@ func Xsqlite3NameFromToken(tls *libc.TLS, db uintptr, pName uintptr) uintptr { / // Open the sqlite_schema table stored in database number iDb for // writing. The table is opened using cursor 0. -func Xsqlite3OpenSchemaTable(tls *libc.TLS, p uintptr, iDb int32) { /* sqlite3.c:114818:21: */ +func Xsqlite3OpenSchemaTable(tls *libc.TLS, p uintptr, iDb int32) { /* sqlite3.c:114831:21: */ var v uintptr = Xsqlite3GetVdbe(tls, p) Xsqlite3TableLock(tls, p, iDb, uint32(SCHEMA_ROOT), uint8(1), ts+5844) Xsqlite3VdbeAddOp4Int(tls, v, OP_OpenWrite, 0, SCHEMA_ROOT, iDb, 5) @@ -95074,7 +95093,7 @@ func Xsqlite3OpenSchemaTable(tls *libc.TLS, p uintptr, iDb int32) { /* sqlite3.c // of a database ("main", "temp" or the name of an attached db). This // function returns the index of the named database in db->aDb[], or // -1 if the named db cannot be found. -func Xsqlite3FindDbName(tls *libc.TLS, db uintptr, zName uintptr) int32 { /* sqlite3.c:114833:20: */ +func Xsqlite3FindDbName(tls *libc.TLS, db uintptr, zName uintptr) int32 { /* sqlite3.c:114846:20: */ var i int32 = -1 // Database number if zName != 0 { var pDb uintptr @@ -95110,7 +95129,7 @@ func Xsqlite3FindDbName(tls *libc.TLS, db uintptr, zName uintptr) int32 { /* sql // "temp" or the name of an attached db). This routine returns the // index of the named database in db->aDb[], or -1 if the named db // does not exist. -func Xsqlite3FindDb(tls *libc.TLS, db uintptr, pName uintptr) int32 { /* sqlite3.c:114853:20: */ +func Xsqlite3FindDb(tls *libc.TLS, db uintptr, pName uintptr) int32 { /* sqlite3.c:114866:20: */ var i int32 // Database number var zName uintptr // Name we are searching for zName = Xsqlite3NameFromToken(tls, db, pName) @@ -95134,7 +95153,7 @@ func Xsqlite3FindDb(tls *libc.TLS, db uintptr, pName uintptr) int32 { /* sqlite3 // This routine sets the *ppUnqual pointer to point at the token (pName1 or // pName2) that stores the unqualified table name. The index of the // database "xxx" is returned. -func Xsqlite3TwoPartName(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 uintptr, pUnqual uintptr) int32 { /* sqlite3.c:114878:20: */ +func Xsqlite3TwoPartName(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 uintptr, pUnqual uintptr) int32 { /* sqlite3.c:114891:20: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -95161,7 +95180,7 @@ func Xsqlite3TwoPartName(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 u } // True if PRAGMA writable_schema is ON -func Xsqlite3WritableSchema(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:114911:20: */ +func Xsqlite3WritableSchema(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:114924:20: */ return libc.Bool32((*Sqlite3)(unsafe.Pointer(db)).Fflags&uint64(SQLITE_WriteSchema|SQLITE_Defensive) == uint64(SQLITE_WriteSchema)) } @@ -95175,7 +95194,7 @@ func Xsqlite3WritableSchema(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:1149 // When parsing the sqlite_schema table, this routine also checks to // make sure the "type", "name", and "tbl_name" columns are consistent // with the SQL. -func Xsqlite3CheckObjectName(tls *libc.TLS, pParse uintptr, zName uintptr, zType uintptr, zTblName uintptr) int32 { /* sqlite3.c:114933:20: */ +func Xsqlite3CheckObjectName(tls *libc.TLS, pParse uintptr, zName uintptr, zType uintptr, zTblName uintptr) int32 { /* sqlite3.c:114946:20: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -95206,7 +95225,7 @@ func Xsqlite3CheckObjectName(tls *libc.TLS, pParse uintptr, zName uintptr, zType } // Return the PRIMARY KEY index of a table -func Xsqlite3PrimaryKeyIndex(tls *libc.TLS, pTab uintptr) uintptr { /* sqlite3.c:114971:22: */ +func Xsqlite3PrimaryKeyIndex(tls *libc.TLS, pTab uintptr) uintptr { /* sqlite3.c:114984:22: */ var p uintptr for p = (*Table)(unsafe.Pointer(pTab)).FpIndex; p != 0 && !(int32(*(*uint16)(unsafe.Pointer(p + 56 /* &.idxType */))&0x3>>0) == SQLITE_IDXTYPE_PRIMARYKEY); p = (*Index)(unsafe.Pointer(p)).FpNext { } @@ -95217,7 +95236,7 @@ func Xsqlite3PrimaryKeyIndex(tls *libc.TLS, pTab uintptr) uintptr { /* sqlite3.c // for the column iCol in the table (as defined by the CREATE TABLE statement) // find the (first) offset of that column in index pIdx. Or return -1 // if column iCol is not used in index pIdx. -func Xsqlite3TableColumnToIndex(tls *libc.TLS, pIdx uintptr, iCol I16) I16 { /* sqlite3.c:114983:20: */ +func Xsqlite3TableColumnToIndex(tls *libc.TLS, pIdx uintptr, iCol I16) I16 { /* sqlite3.c:114996:20: */ var i int32 for i = 0; i < int32((*Index)(unsafe.Pointer(pIdx)).FnColumn); i++ { if int32(iCol) == int32(*(*I16)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FaiColumn + uintptr(i)*2))) { @@ -95237,7 +95256,7 @@ func Xsqlite3TableColumnToIndex(tls *libc.TLS, pIdx uintptr, iCol I16) I16 { /* // and only there are VIRTUAL columns to the left. // // If SQLITE_OMIT_GENERATED_COLUMNS, this routine is a no-op macro. -func Xsqlite3StorageColumnToTable(tls *libc.TLS, pTab uintptr, iCol I16) I16 { /* sqlite3.c:115003:20: */ +func Xsqlite3StorageColumnToTable(tls *libc.TLS, pTab uintptr, iCol I16) I16 { /* sqlite3.c:115016:20: */ if (*Table)(unsafe.Pointer(pTab)).FtabFlags&U32(TF_HasVirtual) != 0 { var i int32 for i = 0; i <= int32(iCol); i++ { @@ -95284,7 +95303,7 @@ func Xsqlite3StorageColumnToTable(tls *libc.TLS, pTab uintptr, iCol I16) I16 { / // this routine is a no-op macro. If the pTab does not have any virtual // columns, then this routine is no-op that always return iCol. If iCol // is negative (indicating the ROWID column) then this routine return iCol. -func Xsqlite3TableColumnToStorage(tls *libc.TLS, pTab uintptr, iCol I16) I16 { /* sqlite3.c:115051:20: */ +func Xsqlite3TableColumnToStorage(tls *libc.TLS, pTab uintptr, iCol I16) I16 { /* sqlite3.c:115064:20: */ var i int32 var n I16 @@ -95314,7 +95333,7 @@ func Xsqlite3TableColumnToStorage(tls *libc.TLS, pTab uintptr, iCol I16) I16 { / // exists, so that the prepared statement for CREATE TABLE IF NOT EXISTS // will return false for sqlite3_stmt_readonly() even if that statement // is a read-only no-op. -func sqlite3ForceNotReadOnly(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:115077:13: */ +func sqlite3ForceNotReadOnly(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:115090:13: */ var iReg int32 = libc.PreIncInt32(&(*Parse)(unsafe.Pointer(pParse)).FnMem, 1) var v uintptr = Xsqlite3GetVdbe(tls, pParse) if v != 0 { @@ -95337,7 +95356,7 @@ func sqlite3ForceNotReadOnly(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:11507 // routines will be called to add more information to this record. // At the end of the CREATE TABLE statement, the sqlite3EndTable() routine // is called to complete the construction of the new table record. -func Xsqlite3StartTable(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 uintptr, isTemp int32, isView int32, isVirtual int32, noErr int32) { /* sqlite3.c:115102:21: */ +func Xsqlite3StartTable(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 uintptr, isTemp int32, isView int32, isVirtual int32, noErr int32) { /* sqlite3.c:115115:21: */ bp := tls.Alloc(28) defer tls.Free(28) @@ -95595,8 +95614,8 @@ var aCode = [4]U8{ U8(SQLITE_CREATE_TEMP_TABLE), U8(SQLITE_CREATE_VIEW), U8(SQLITE_CREATE_TEMP_VIEW), -} /* sqlite3.c:115149:21 */ -var nullRow = [6]int8{int8(6), int8(0), int8(0), int8(0), int8(0), int8(0)} /* sqlite3.c:115228:23 */ +} /* sqlite3.c:115162:21 */ +var nullRow = [6]int8{int8(6), int8(0), int8(0), int8(0), int8(0), int8(0)} /* sqlite3.c:115241:23 */ // Set properties of a table column based on the (magical) // name of the column. @@ -95606,7 +95625,7 @@ var nullRow = [6]int8{int8(6), int8(0), int8(0), int8(0), int8(0), int8(0)} /* s // with any application-generated triggers. // Clean up the data structures associated with the RETURNING clause. -func sqlite3DeleteReturning(tls *libc.TLS, db uintptr, pRet uintptr) { /* sqlite3.c:115313:13: */ +func sqlite3DeleteReturning(tls *libc.TLS, db uintptr, pRet uintptr) { /* sqlite3.c:115326:13: */ var pHash uintptr pHash = (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+1*16)).FpSchema + 40 Xsqlite3HashInsert(tls, pHash, ts+12263, uintptr(0)) @@ -95628,7 +95647,7 @@ func sqlite3DeleteReturning(tls *libc.TLS, db uintptr, pRet uintptr) { /* sqlite // is attached to a DELETE, INSERT, or UPDATE, so construct it as a // RETURNING trigger instead. It will then be converted into the appropriate // type on the first call to sqlite3TriggersExist(). -func Xsqlite3AddReturning(tls *libc.TLS, pParse uintptr, pList uintptr) { /* sqlite3.c:115337:21: */ +func Xsqlite3AddReturning(tls *libc.TLS, pParse uintptr, pList uintptr) { /* sqlite3.c:115350:21: */ var pRet uintptr var pHash uintptr var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb @@ -95678,7 +95697,7 @@ func Xsqlite3AddReturning(tls *libc.TLS, pParse uintptr, pList uintptr) { /* sql // in a CREATE TABLE statement. sqlite3StartTable() gets called // first to get things going. Then this routine is called for each // column. -func Xsqlite3AddColumn(tls *libc.TLS, pParse uintptr, sName Token, sType Token) { /* sqlite3.c:115385:21: */ +func Xsqlite3AddColumn(tls *libc.TLS, pParse uintptr, sName Token, sType Token) { /* sqlite3.c:115398:21: */ bp := tls.Alloc(32) defer tls.Free(32) *(*Token)(unsafe.Pointer(bp + 16)) = sName @@ -95797,7 +95816,7 @@ func Xsqlite3AddColumn(tls *libc.TLS, pParse uintptr, sName Token, sType Token) // parsing a CREATE TABLE statement. A "NOT NULL" constraint has // been seen on a column. This routine sets the notNull flag on // the column currently under construction. -func Xsqlite3AddNotNull(tls *libc.TLS, pParse uintptr, onError int32) { /* sqlite3.c:115498:21: */ +func Xsqlite3AddNotNull(tls *libc.TLS, pParse uintptr, onError int32) { /* sqlite3.c:115511:21: */ var p uintptr var pCol uintptr p = (*Parse)(unsafe.Pointer(pParse)).FpNewTable @@ -95844,7 +95863,7 @@ func Xsqlite3AddNotNull(tls *libc.TLS, pParse uintptr, onError int32) { /* sqlit // // If none of the substrings in the above table are found, // SQLITE_AFF_NUMERIC is returned. -func Xsqlite3AffinityType(tls *libc.TLS, zIn uintptr, pCol uintptr) int8 { /* sqlite3.c:115545:21: */ +func Xsqlite3AffinityType(tls *libc.TLS, zIn uintptr, pCol uintptr) int8 { /* sqlite3.c:115558:21: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -95918,7 +95937,7 @@ func Xsqlite3AffinityType(tls *libc.TLS, zIn uintptr, pCol uintptr) int8 { /* sq // // This routine is called by the parser while in the middle of // parsing a CREATE TABLE statement. -func Xsqlite3AddDefaultValue(tls *libc.TLS, pParse uintptr, pExpr uintptr, zStart uintptr, zEnd uintptr) { /* sqlite3.c:115622:21: */ +func Xsqlite3AddDefaultValue(tls *libc.TLS, pParse uintptr, pExpr uintptr, zStart uintptr, zEnd uintptr) { /* sqlite3.c:115635:21: */ bp := tls.Alloc(60) defer tls.Free(60) @@ -95971,7 +95990,7 @@ func Xsqlite3AddDefaultValue(tls *libc.TLS, pParse uintptr, pExpr uintptr, zStar // if the expression is just a TK_STRING with an optional COLLATE clause. // If the expression is anything other than TK_STRING, the expression is // unchanged. -func sqlite3StringToId(tls *libc.TLS, p uintptr) { /* sqlite3.c:115681:13: */ +func sqlite3StringToId(tls *libc.TLS, p uintptr) { /* sqlite3.c:115694:13: */ if int32((*Expr)(unsafe.Pointer(p)).Fop) == TK_STRING { (*Expr)(unsafe.Pointer(p)).Fop = U8(TK_ID) } else if int32((*Expr)(unsafe.Pointer(p)).Fop) == TK_COLLATE && int32((*Expr)(unsafe.Pointer((*Expr)(unsafe.Pointer(p)).FpLeft)).Fop) == TK_STRING { @@ -95980,7 +95999,7 @@ func sqlite3StringToId(tls *libc.TLS, p uintptr) { /* sqlite3.c:115681:13: */ } // Tag the given column as being part of the PRIMARY KEY -func makeColumnPartOfPrimaryKey(tls *libc.TLS, pParse uintptr, pCol uintptr) { /* sqlite3.c:115692:13: */ +func makeColumnPartOfPrimaryKey(tls *libc.TLS, pParse uintptr, pCol uintptr) { /* sqlite3.c:115705:13: */ *(*U16)(unsafe.Pointer(pCol + 12)) |= U16(COLFLAG_PRIMKEY) if int32((*Column)(unsafe.Pointer(pCol)).FcolFlags)&COLFLAG_GENERATED != 0 { @@ -96005,7 +96024,7 @@ func makeColumnPartOfPrimaryKey(tls *libc.TLS, pParse uintptr, pCol uintptr) { / // // If the key is not an INTEGER PRIMARY KEY, then create a unique // index for the key. No index is created for INTEGER PRIMARY KEYs. -func Xsqlite3AddPrimaryKey(tls *libc.TLS, pParse uintptr, pList uintptr, onError int32, autoInc int32, sortOrder int32) { /* sqlite3.c:115722:21: */ +func Xsqlite3AddPrimaryKey(tls *libc.TLS, pParse uintptr, pList uintptr, onError int32, autoInc int32, sortOrder int32) { /* sqlite3.c:115735:21: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -96136,7 +96155,7 @@ primary_key_exit: } // Add a new CHECK constraint to the table currently under construction. -func Xsqlite3AddCheckConstraint(tls *libc.TLS, pParse uintptr, pCheckExpr uintptr, zStart uintptr, zEnd uintptr) { /* sqlite3.c:115799:21: */ +func Xsqlite3AddCheckConstraint(tls *libc.TLS, pParse uintptr, pCheckExpr uintptr, zStart uintptr, zEnd uintptr) { /* sqlite3.c:115812:21: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -96166,7 +96185,7 @@ func Xsqlite3AddCheckConstraint(tls *libc.TLS, pParse uintptr, pCheckExpr uintpt // Set the collation function of the most recently parsed table column // to the CollSeq given. -func Xsqlite3AddCollateType(tls *libc.TLS, pParse uintptr, pToken uintptr) { /* sqlite3.c:115833:21: */ +func Xsqlite3AddCollateType(tls *libc.TLS, pParse uintptr, pToken uintptr) { /* sqlite3.c:115846:21: */ var p uintptr var i int32 var zColl uintptr // Dequoted name of collation sequence @@ -96201,7 +96220,7 @@ func Xsqlite3AddCollateType(tls *libc.TLS, pParse uintptr, pToken uintptr) { /* // Change the most recently parsed column to be a GENERATED ALWAYS AS // column. -func Xsqlite3AddGenerated(tls *libc.TLS, pParse uintptr, pExpr uintptr, pType uintptr) { /* sqlite3.c:115866:21: */ +func Xsqlite3AddGenerated(tls *libc.TLS, pParse uintptr, pExpr uintptr, pType uintptr) { /* sqlite3.c:115879:21: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -96296,7 +96315,7 @@ generated_done: // // IMPLEMENTATION-OF: R-34230-56049 SQLite automatically increments // the schema-version whenever the schema changes. -func Xsqlite3ChangeCookie(tls *libc.TLS, pParse uintptr, iDb int32) { /* sqlite3.c:115934:21: */ +func Xsqlite3ChangeCookie(tls *libc.TLS, pParse uintptr, iDb int32) { /* sqlite3.c:115947:21: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe @@ -96310,7 +96329,7 @@ func Xsqlite3ChangeCookie(tls *libc.TLS, pParse uintptr, iDb int32) { /* sqlite3 // // The estimate is conservative. It might be larger that what is // really needed. -func identLength(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:115950:12: */ +func identLength(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:115963:12: */ var n int32 n = 0 __1: @@ -96345,7 +96364,7 @@ __3: // characters, does not begin with a digit and is not an SQL keyword, // then it is copied to the output buffer exactly as it is. Otherwise, // it is quoted using double-quotes. -func identPut(tls *libc.TLS, z uintptr, pIdx uintptr, zSignedIdent uintptr) { /* sqlite3.c:115971:13: */ +func identPut(tls *libc.TLS, z uintptr, pIdx uintptr, zSignedIdent uintptr) { /* sqlite3.c:115984:13: */ var zIdent uintptr = zSignedIdent var i int32 var j int32 @@ -96381,7 +96400,7 @@ func identPut(tls *libc.TLS, z uintptr, pIdx uintptr, zSignedIdent uintptr) { /* // Generate a CREATE TABLE statement appropriate for the given // table. Memory to hold the text of the statement is obtained // from sqliteMalloc() and must be freed by the calling function. -func createTableStmt(tls *libc.TLS, db uintptr, p uintptr) uintptr { /* sqlite3.c:115999:13: */ +func createTableStmt(tls *libc.TLS, db uintptr, p uintptr) uintptr { /* sqlite3.c:116012:13: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -96473,11 +96492,11 @@ var azType1 = [5]uintptr{ ts + 12738, ts + 12743, ts + 12748, -} /* sqlite3.c:116029:23 */ +} /* sqlite3.c:116042:23 */ // Resize an Index object to hold N columns total. Return SQLITE_OK // on success and SQLITE_NOMEM on an OOM error. -func resizeIndexObject(tls *libc.TLS, db uintptr, pIdx uintptr, N int32) int32 { /* sqlite3.c:116067:12: */ +func resizeIndexObject(tls *libc.TLS, db uintptr, pIdx uintptr, N int32) int32 { /* sqlite3.c:116080:12: */ var zExtra uintptr var nByte int32 if int32((*Index)(unsafe.Pointer(pIdx)).FnColumn) >= N { @@ -96506,7 +96525,7 @@ func resizeIndexObject(tls *libc.TLS, db uintptr, pIdx uintptr, N int32) int32 { } // Estimate the total row width for a table. -func estimateTableWidth(tls *libc.TLS, pTab uintptr) { /* sqlite3.c:116094:13: */ +func estimateTableWidth(tls *libc.TLS, pTab uintptr) { /* sqlite3.c:116107:13: */ var wTable uint32 = uint32(0) var pTabCol uintptr var i int32 @@ -96535,7 +96554,7 @@ __3: } // Estimate the average size of a row for an index. -func estimateIndexWidth(tls *libc.TLS, pIdx uintptr) { /* sqlite3.c:116108:13: */ +func estimateIndexWidth(tls *libc.TLS, pIdx uintptr) { /* sqlite3.c:116121:13: */ var wIndex uint32 = uint32(0) var i int32 var aCol uintptr = (*Table)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FpTable)).FaCol @@ -96555,7 +96574,7 @@ func estimateIndexWidth(tls *libc.TLS, pIdx uintptr) { /* sqlite3.c:116108:13: * // Return true if column number x is any of the first nCol entries of aiCol[]. // This is used to determine if the column number x appears in any of the // first nCol entries of an index. -func hasColumn(tls *libc.TLS, aiCol uintptr, nCol int32, x int32) int32 { /* sqlite3.c:116124:12: */ +func hasColumn(tls *libc.TLS, aiCol uintptr, nCol int32, x int32) int32 { /* sqlite3.c:116137:12: */ for libc.PostDecInt32(&nCol, 1) > 0 { if x == int32(*(*I16)(unsafe.Pointer(libc.PostIncUintptr(&aiCol, 2)))) { return 1 @@ -96575,7 +96594,7 @@ func hasColumn(tls *libc.TLS, aiCol uintptr, nCol int32, x int32) int32 { /* sql // This routine differs from hasColumn() in that both the column and the // collating sequence must match for this routine, but for hasColumn() only // the column name must match. -func isDupColumn(tls *libc.TLS, pIdx uintptr, nKey int32, pPk uintptr, iCol int32) int32 { /* sqlite3.c:116146:12: */ +func isDupColumn(tls *libc.TLS, pIdx uintptr, nKey int32, pPk uintptr, iCol int32) int32 { /* sqlite3.c:116159:12: */ var i int32 var j int32 @@ -96608,7 +96627,7 @@ func isDupColumn(tls *libc.TLS, pIdx uintptr, nKey int32, pPk uintptr, iCol int3 // // The colNotIdxed mask is AND-ed with the SrcList.a[].colUsed mask // to determine if the index is covering index. -func recomputeColumnsNotIndexed(tls *libc.TLS, pIdx uintptr) { /* sqlite3.c:116185:13: */ +func recomputeColumnsNotIndexed(tls *libc.TLS, pIdx uintptr) { /* sqlite3.c:116198:13: */ var m Bitmask = uint64(0) var j int32 var pTab uintptr = (*Index)(unsafe.Pointer(pIdx)).FpTable @@ -96647,7 +96666,7 @@ func recomputeColumnsNotIndexed(tls *libc.TLS, pIdx uintptr) { /* sqlite3.c:1161 // indices with the PRIMARY KEY columns. // // For virtual tables, only (1) is performed. -func convertToWithoutRowidTable(tls *libc.TLS, pParse uintptr, pTab uintptr) { /* sqlite3.c:116225:13: */ +func convertToWithoutRowidTable(tls *libc.TLS, pParse uintptr, pTab uintptr) { /* sqlite3.c:116238:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -96810,7 +96829,7 @@ func convertToWithoutRowidTable(tls *libc.TLS, pParse uintptr, pTab uintptr) { / // Return true if pTab is a virtual table and zName is a shadow table name // for that virtual table. -func Xsqlite3IsShadowTableOf(tls *libc.TLS, db uintptr, pTab uintptr, zName uintptr) int32 { /* sqlite3.c:116385:20: */ +func Xsqlite3IsShadowTableOf(tls *libc.TLS, db uintptr, pTab uintptr, zName uintptr) int32 { /* sqlite3.c:116398:20: */ var nName int32 // Length of zName var pMod uintptr // Module for the virtual table @@ -96843,7 +96862,7 @@ func Xsqlite3IsShadowTableOf(tls *libc.TLS, db uintptr, pTab uintptr, zName uint // exists and has an xShadowName method, then loop over all other ordinary // tables within the same schema looking for shadow tables of pTab, and mark // any shadow tables seen using the TF_Shadow flag. -func Xsqlite3MarkAllShadowTablesOf(tls *libc.TLS, db uintptr, pTab uintptr) { /* sqlite3.c:116408:21: */ +func Xsqlite3MarkAllShadowTablesOf(tls *libc.TLS, db uintptr, pTab uintptr) { /* sqlite3.c:116421:21: */ var nName int32 // Length of pTab->zName var pMod uintptr // Module for the virtual table var k uintptr // For looping through the symbol table @@ -96887,7 +96906,7 @@ func Xsqlite3MarkAllShadowTablesOf(tls *libc.TLS, db uintptr, pTab uintptr) { /* // // zName is temporarily modified while this routine is running, but is // restored to its original value prior to this routine returning. -func Xsqlite3ShadowTableName(tls *libc.TLS, db uintptr, zName uintptr) int32 { /* sqlite3.c:116444:20: */ +func Xsqlite3ShadowTableName(tls *libc.TLS, db uintptr, zName uintptr) int32 { /* sqlite3.c:116457:20: */ var zTail uintptr // Pointer to the last "_" in zName var pTab uintptr // Table that zName is a shadow of zTail = libc.Xstrrchr(tls, zName, '_') @@ -96924,7 +96943,7 @@ func Xsqlite3ShadowTableName(tls *libc.TLS, db uintptr, zName uintptr) int32 { / // was called to create a table generated from a // "CREATE TABLE ... AS SELECT ..." statement. The column names of // the new table will match the result set of the SELECT. -func Xsqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr, tabOpts U32, pSelect uintptr) { /* sqlite3.c:116505:21: */ +func Xsqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr, tabOpts U32, pSelect uintptr) { /* sqlite3.c:116518:21: */ bp := tls.Alloc(172) defer tls.Free(172) @@ -97245,7 +97264,7 @@ func Xsqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr } // The parser calls this routine in order to create a new VIEW -func Xsqlite3CreateView(tls *libc.TLS, pParse uintptr, pBegin uintptr, pName1 uintptr, pName2 uintptr, pCNames uintptr, pSelect uintptr, isTemp int32, noErr int32) { /* sqlite3.c:116847:21: */ +func Xsqlite3CreateView(tls *libc.TLS, pParse uintptr, pBegin uintptr, pName1 uintptr, pName2 uintptr, pCNames uintptr, pSelect uintptr, isTemp int32, noErr int32) { /* sqlite3.c:116860:21: */ bp := tls.Alloc(64) defer tls.Free(64) @@ -97363,7 +97382,7 @@ __10: // The Table structure pTable is really a VIEW. Fill in the names of // the columns of the view in the pTable structure. Return the number // of errors. If an error is seen leave an error message in pParse->zErrMsg. -func Xsqlite3ViewGetColumnNames(tls *libc.TLS, pParse uintptr, pTable uintptr) int32 { /* sqlite3.c:116939:20: */ +func Xsqlite3ViewGetColumnNames(tls *libc.TLS, pParse uintptr, pTable uintptr) int32 { /* sqlite3.c:116952:20: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -97478,7 +97497,7 @@ func Xsqlite3ViewGetColumnNames(tls *libc.TLS, pParse uintptr, pTable uintptr) i } // Clear the column names from every VIEW in database idx. -func sqliteViewResetAll(tls *libc.TLS, db uintptr, idx int32) { /* sqlite3.c:117067:13: */ +func sqliteViewResetAll(tls *libc.TLS, db uintptr, idx int32) { /* sqlite3.c:117080:13: */ var i uintptr if !(int32((*Schema)(unsafe.Pointer((*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(idx)*16)).FpSchema)).FschemaFlags)&DB_UnresetViews == DB_UnresetViews) { @@ -97508,7 +97527,7 @@ func sqliteViewResetAll(tls *libc.TLS, db uintptr, idx int32) { /* sqlite3.c:117 // We must continue looping until all tables and indices with // rootpage==iFrom have been converted to have a rootpage of iTo // in order to be certain that we got the right one. -func Xsqlite3RootPageMoved(tls *libc.TLS, db uintptr, iDb int32, iFrom Pgno, iTo Pgno) { /* sqlite3.c:117101:21: */ +func Xsqlite3RootPageMoved(tls *libc.TLS, db uintptr, iDb int32, iFrom Pgno, iTo Pgno) { /* sqlite3.c:117114:21: */ var pElem uintptr var pHash uintptr var pDb uintptr @@ -97534,7 +97553,7 @@ func Xsqlite3RootPageMoved(tls *libc.TLS, db uintptr, iDb int32, iFrom Pgno, iTo // Also write code to modify the sqlite_schema table and internal schema // if a root-page of another table is moved by the btree-layer whilst // erasing iTable (this can happen with an auto-vacuum database). -func destroyRootPage(tls *libc.TLS, pParse uintptr, iTable int32, iDb int32) { /* sqlite3.c:117131:13: */ +func destroyRootPage(tls *libc.TLS, pParse uintptr, iTable int32, iDb int32) { /* sqlite3.c:117144:13: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -97564,7 +97583,7 @@ func destroyRootPage(tls *libc.TLS, pParse uintptr, iTable int32, iDb int32) { / // Code to update the sqlite_schema tables and internal schema definitions // in case a root-page belonging to another table is moved by the btree layer // is also added (this can happen with an auto-vacuum database). -func destroyTable(tls *libc.TLS, pParse uintptr, pTab uintptr) { /* sqlite3.c:117161:13: */ +func destroyTable(tls *libc.TLS, pParse uintptr, pTab uintptr) { /* sqlite3.c:117174:13: */ // If the database may be auto-vacuum capable (if SQLITE_OMIT_AUTOVACUUM // is not defined), then it is important to call OP_Destroy on the // table and index root-pages in order, starting with the numerically @@ -97610,7 +97629,7 @@ func destroyTable(tls *libc.TLS, pParse uintptr, pTab uintptr) { /* sqlite3.c:11 // Remove entries from the sqlite_statN tables (for N in (1,2,3)) // after a DROP INDEX or DROP TABLE command. -func sqlite3ClearStatTables(tls *libc.TLS, pParse uintptr, iDb int32, zType uintptr, zName uintptr) { /* sqlite3.c:117210:13: */ +func sqlite3ClearStatTables(tls *libc.TLS, pParse uintptr, iDb int32, zType uintptr, zName uintptr) { /* sqlite3.c:117223:13: */ bp := tls.Alloc(64) defer tls.Free(64) @@ -97629,7 +97648,7 @@ func sqlite3ClearStatTables(tls *libc.TLS, pParse uintptr, iDb int32, zType uint } // Generate code to drop a table. -func Xsqlite3CodeDropTable(tls *libc.TLS, pParse uintptr, pTab uintptr, iDb int32, isView int32) { /* sqlite3.c:117233:21: */ +func Xsqlite3CodeDropTable(tls *libc.TLS, pParse uintptr, pTab uintptr, iDb int32, isView int32) { /* sqlite3.c:117246:21: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -97693,7 +97712,7 @@ func Xsqlite3CodeDropTable(tls *libc.TLS, pParse uintptr, pTab uintptr, iDb int3 // Return TRUE if shadow tables should be read-only in the current // context. -func Xsqlite3ReadOnlyShadowTables(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:117306:20: */ +func Xsqlite3ReadOnlyShadowTables(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:117319:20: */ if (*Sqlite3)(unsafe.Pointer(db)).Fflags&uint64(SQLITE_Defensive) != uint64(0) && (*Sqlite3)(unsafe.Pointer(db)).FpVtabCtx == uintptr(0) && (*Sqlite3)(unsafe.Pointer(db)).FnVdbeExec == 0 && @@ -97704,7 +97723,7 @@ func Xsqlite3ReadOnlyShadowTables(tls *libc.TLS, db uintptr) int32 { /* sqlite3. } // Return true if it is not allowed to drop the given table -func tableMayNotBeDropped(tls *libc.TLS, db uintptr, pTab uintptr) int32 { /* sqlite3.c:117322:12: */ +func tableMayNotBeDropped(tls *libc.TLS, db uintptr, pTab uintptr) int32 { /* sqlite3.c:117335:12: */ if Xsqlite3_strnicmp(tls, (*Table)(unsafe.Pointer(pTab)).FzName, ts+8019, 7) == 0 { if Xsqlite3_strnicmp(tls, (*Table)(unsafe.Pointer(pTab)).FzName+uintptr(7), ts+3237, 4) == 0 { return 0 @@ -97725,7 +97744,7 @@ func tableMayNotBeDropped(tls *libc.TLS, db uintptr, pTab uintptr) int32 { /* sq // This routine is called to do the work of a DROP TABLE statement. // pName is the name of the table to be dropped. -func Xsqlite3DropTable(tls *libc.TLS, pParse uintptr, pName uintptr, isView int32, noErr int32) { /* sqlite3.c:117341:21: */ +func Xsqlite3DropTable(tls *libc.TLS, pParse uintptr, pName uintptr, isView int32, noErr int32) { /* sqlite3.c:117354:21: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -97913,7 +97932,7 @@ exit_drop_table: // // The foreign key is set for IMMEDIATE processing. A subsequent call // to sqlite3DeferForeignKey() might change this to DEFERRED. -func Xsqlite3CreateForeignKey(tls *libc.TLS, pParse uintptr, pFromCol uintptr, pTo uintptr, pToCol uintptr, flags int32) { /* sqlite3.c:117461:21: */ +func Xsqlite3CreateForeignKey(tls *libc.TLS, pParse uintptr, pFromCol uintptr, pTo uintptr, pToCol uintptr, flags int32) { /* sqlite3.c:117474:21: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -98136,7 +98155,7 @@ fk_end: // parameter is 1 for INITIALLY DEFERRED and 0 for INITIALLY IMMEDIATE. // The behavior of the most recently created foreign key is adjusted // accordingly. -func Xsqlite3DeferForeignKey(tls *libc.TLS, pParse uintptr, isDeferred int32) { /* sqlite3.c:117593:21: */ +func Xsqlite3DeferForeignKey(tls *libc.TLS, pParse uintptr, isDeferred int32) { /* sqlite3.c:117606:21: */ var pTab uintptr var pFKey uintptr if libc.AssignUintptr(&pTab, (*Parse)(unsafe.Pointer(pParse)).FpNewTable) == uintptr(0) { @@ -98161,7 +98180,7 @@ func Xsqlite3DeferForeignKey(tls *libc.TLS, pParse uintptr, isDeferred int32) { // root page number of the index. If memRootPage is negative, then // the index already exists and must be cleared before being refilled and // the root page number of the index is taken from pIndex->tnum. -func sqlite3RefillIndex(tls *libc.TLS, pParse uintptr, pIndex uintptr, memRootPage int32) { /* sqlite3.c:117616:13: */ +func sqlite3RefillIndex(tls *libc.TLS, pParse uintptr, pIndex uintptr, memRootPage int32) { /* sqlite3.c:117629:13: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -98273,7 +98292,7 @@ func sqlite3RefillIndex(tls *libc.TLS, pParse uintptr, pIndex uintptr, memRootPa // Increase the allocation size to provide an extra nExtra bytes // of 8-byte aligned space after the Index object and return a // pointer to this extra space in *ppExtra. -func Xsqlite3AllocateIndexObject(tls *libc.TLS, db uintptr, nCol I16, nExtra int32, ppExtra uintptr) uintptr { /* sqlite3.c:117722:22: */ +func Xsqlite3AllocateIndexObject(tls *libc.TLS, db uintptr, nCol I16, nExtra int32, ppExtra uintptr) uintptr { /* sqlite3.c:117735:22: */ var p uintptr // Allocated index object var nByte int32 // Bytes of space for Index object + arrays @@ -98298,7 +98317,7 @@ func Xsqlite3AllocateIndexObject(tls *libc.TLS, db uintptr, nCol I16, nExtra int // If expression list pList contains an expression that was parsed with // an explicit "NULLS FIRST" or "NULLS LAST" clause, leave an error in // pParse and return non-zero. Otherwise, return zero. -func Xsqlite3HasExplicitNulls(tls *libc.TLS, pParse uintptr, pList uintptr) int32 { /* sqlite3.c:117755:20: */ +func Xsqlite3HasExplicitNulls(tls *libc.TLS, pParse uintptr, pList uintptr) int32 { /* sqlite3.c:117768:20: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -98331,7 +98350,7 @@ func Xsqlite3HasExplicitNulls(tls *libc.TLS, pParse uintptr, pList uintptr) int3 // pList is a list of columns to be indexed. pList will be NULL if this // is a primary key or unique-constraint on the most recent column added // to the table currently under construction. -func Xsqlite3CreateIndex(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 uintptr, pTblName uintptr, pList uintptr, onError int32, pStart uintptr, pPIWhere uintptr, sortOrder int32, ifNotExist int32, idxType U8) { /* sqlite3.c:117783:21: */ +func Xsqlite3CreateIndex(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 uintptr, pTblName uintptr, pList uintptr, onError int32, pStart uintptr, pPIWhere uintptr, sortOrder int32, ifNotExist int32, idxType U8) { /* sqlite3.c:117796:21: */ bp := tls.Alloc(196) defer tls.Free(196) @@ -99101,7 +99120,7 @@ __81: goto __101 } Xsqlite3ErrorMsg(tls, pParse, ts+14077, 0) - (*Parse)(unsafe.Pointer(pParse)).Frc = Xsqlite3CorruptError(tls, 118239) + (*Parse)(unsafe.Pointer(pParse)).Frc = Xsqlite3CorruptError(tls, 118252) goto exit_create_index __101: ; @@ -99287,7 +99306,7 @@ __113: // Apart from that, we have little to go on besides intuition as to // how aiRowEst[] should be initialized. The numbers generated here // are based on typical values found in actual indices. -func Xsqlite3DefaultRowEst(tls *libc.TLS, pIdx uintptr) { /* sqlite3.c:118394:21: */ +func Xsqlite3DefaultRowEst(tls *libc.TLS, pIdx uintptr) { /* sqlite3.c:118407:21: */ var a uintptr = (*Index)(unsafe.Pointer(pIdx)).FaiRowLogEst var x LogEst var nCopy int32 = func() int32 { @@ -99331,11 +99350,11 @@ func Xsqlite3DefaultRowEst(tls *libc.TLS, pIdx uintptr) { /* sqlite3.c:118394:21 } } -var aVal = [5]LogEst{int16(33), int16(32), int16(30), int16(28), int16(26)} /* sqlite3.c:118396:23 */ +var aVal = [5]LogEst{int16(33), int16(32), int16(30), int16(28), int16(26)} /* sqlite3.c:118409:23 */ // This routine will drop an existing named index. This routine // implements the DROP INDEX statement. -func Xsqlite3DropIndex(tls *libc.TLS, pParse uintptr, pName uintptr, ifExists int32) { /* sqlite3.c:118438:21: */ +func Xsqlite3DropIndex(tls *libc.TLS, pParse uintptr, pName uintptr, ifExists int32) { /* sqlite3.c:118451:21: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -99454,7 +99473,7 @@ exit_drop_index: // // Otherwise, if the realloc() fails, *pIdx is set to -1, *pnEntry remains // unchanged and a copy of pArray returned. -func Xsqlite3ArrayAllocate(tls *libc.TLS, db uintptr, pArray uintptr, szEntry int32, pnEntry uintptr, pIdx uintptr) uintptr { /* sqlite3.c:118520:21: */ +func Xsqlite3ArrayAllocate(tls *libc.TLS, db uintptr, pArray uintptr, szEntry int32, pnEntry uintptr, pIdx uintptr) uintptr { /* sqlite3.c:118533:21: */ var z uintptr var n Sqlite3_int64 = Sqlite3_int64(libc.AssignPtrInt32(pIdx, *(*int32)(unsafe.Pointer(pnEntry)))) if n&(n-int64(1)) == int64(0) { @@ -99481,7 +99500,7 @@ func Xsqlite3ArrayAllocate(tls *libc.TLS, db uintptr, pArray uintptr, szEntry in // need be. // // A new IdList is returned, or NULL if malloc() fails. -func Xsqlite3IdListAppend(tls *libc.TLS, pParse uintptr, pList uintptr, pToken uintptr) uintptr { /* sqlite3.c:118550:23: */ +func Xsqlite3IdListAppend(tls *libc.TLS, pParse uintptr, pList uintptr, pToken uintptr) uintptr { /* sqlite3.c:118563:23: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -99512,7 +99531,7 @@ func Xsqlite3IdListAppend(tls *libc.TLS, pParse uintptr, pList uintptr, pToken u } // Delete an IdList. -func Xsqlite3IdListDelete(tls *libc.TLS, db uintptr, pList uintptr) { /* sqlite3.c:118578:21: */ +func Xsqlite3IdListDelete(tls *libc.TLS, db uintptr, pList uintptr) { /* sqlite3.c:118591:21: */ var i int32 if pList == uintptr(0) { return @@ -99526,7 +99545,7 @@ func Xsqlite3IdListDelete(tls *libc.TLS, db uintptr, pList uintptr) { /* sqlite3 // Return the index in pList of the identifier named zId. Return -1 // if not found. -func Xsqlite3IdListIndex(tls *libc.TLS, pList uintptr, zName uintptr) int32 { /* sqlite3.c:118592:20: */ +func Xsqlite3IdListIndex(tls *libc.TLS, pList uintptr, zName uintptr) int32 { /* sqlite3.c:118605:20: */ var i int32 if pList == uintptr(0) { return -1 @@ -99564,7 +99583,7 @@ func Xsqlite3IdListIndex(tls *libc.TLS, pList uintptr, zName uintptr) int32 { /* // If a memory allocation fails or the SrcList becomes too large, leave // the original SrcList unchanged, return NULL, and leave an error message // in pParse. -func Xsqlite3SrcListEnlarge(tls *libc.TLS, pParse uintptr, pSrc uintptr, nExtra int32, iStart int32) uintptr { /* sqlite3.c:118633:24: */ +func Xsqlite3SrcListEnlarge(tls *libc.TLS, pParse uintptr, pSrc uintptr, nExtra int32, iStart int32) uintptr { /* sqlite3.c:118646:24: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -99646,7 +99665,7 @@ func Xsqlite3SrcListEnlarge(tls *libc.TLS, pParse uintptr, pSrc uintptr, nExtra // // Both pTable and pDatabase are assumed to be quoted. They are dequoted // before being added to the SrcList. -func Xsqlite3SrcListAppend(tls *libc.TLS, pParse uintptr, pList uintptr, pTable uintptr, pDatabase uintptr) uintptr { /* sqlite3.c:118722:24: */ +func Xsqlite3SrcListAppend(tls *libc.TLS, pParse uintptr, pList uintptr, pTable uintptr, pDatabase uintptr) uintptr { /* sqlite3.c:118735:24: */ var pItem uintptr var db uintptr // Cannot have C without B @@ -99685,7 +99704,7 @@ func Xsqlite3SrcListAppend(tls *libc.TLS, pParse uintptr, pList uintptr, pTable } // Assign VdbeCursor index numbers to all tables in a SrcList -func Xsqlite3SrcListAssignCursors(tls *libc.TLS, pParse uintptr, pList uintptr) { /* sqlite3.c:118767:21: */ +func Xsqlite3SrcListAssignCursors(tls *libc.TLS, pParse uintptr, pList uintptr) { /* sqlite3.c:118780:21: */ var i int32 var pItem uintptr @@ -99717,7 +99736,7 @@ func Xsqlite3SrcListAssignCursors(tls *libc.TLS, pParse uintptr, pList uintptr) } // Delete an entire SrcList including all its substructure. -func Xsqlite3SrcListDelete(tls *libc.TLS, db uintptr, pList uintptr) { /* sqlite3.c:118785:21: */ +func Xsqlite3SrcListDelete(tls *libc.TLS, db uintptr, pList uintptr) { /* sqlite3.c:118798:21: */ var i int32 var pItem uintptr if pList == uintptr(0) { @@ -99780,7 +99799,7 @@ __3: // // Return a new SrcList which encodes is the FROM with the new // term added. -func Xsqlite3SrcListAppendFromTerm(tls *libc.TLS, pParse uintptr, p uintptr, pTable uintptr, pDatabase uintptr, pAlias uintptr, pSubquery uintptr, pOn uintptr, pUsing uintptr) uintptr { /* sqlite3.c:118819:24: */ +func Xsqlite3SrcListAppendFromTerm(tls *libc.TLS, pParse uintptr, p uintptr, pTable uintptr, pDatabase uintptr, pAlias uintptr, pSubquery uintptr, pOn uintptr, pUsing uintptr) uintptr { /* sqlite3.c:118832:24: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -99844,7 +99863,7 @@ append_from_error: // Add an INDEXED BY or NOT INDEXED clause to the most recently added // element of the source-list passed as the second argument. -func Xsqlite3SrcListIndexedBy(tls *libc.TLS, pParse uintptr, p uintptr, pIndexedBy uintptr) { /* sqlite3.c:118870:21: */ +func Xsqlite3SrcListIndexedBy(tls *libc.TLS, pParse uintptr, p uintptr, pIndexedBy uintptr) { /* sqlite3.c:118883:21: */ if p != 0 && (*Token)(unsafe.Pointer(pIndexedBy)).Fn > uint32(0) { var pItem uintptr @@ -99866,7 +99885,7 @@ func Xsqlite3SrcListIndexedBy(tls *libc.TLS, pParse uintptr, p uintptr, pIndexed // Append the contents of SrcList p2 to SrcList p1 and return the resulting // SrcList. Or, if an error occurs, return NULL. In all cases, p1 and p2 // are deleted by this function. -func Xsqlite3SrcListAppendList(tls *libc.TLS, pParse uintptr, p1 uintptr, p2 uintptr) uintptr { /* sqlite3.c:118896:24: */ +func Xsqlite3SrcListAppendList(tls *libc.TLS, pParse uintptr, p1 uintptr, p2 uintptr) uintptr { /* sqlite3.c:118909:24: */ if p2 != 0 { var pNew uintptr = Xsqlite3SrcListEnlarge(tls, pParse, p1, (*SrcList)(unsafe.Pointer(p2)).FnSrc, 1) @@ -99883,7 +99902,7 @@ func Xsqlite3SrcListAppendList(tls *libc.TLS, pParse uintptr, p1 uintptr, p2 uin // Add the list of function arguments to the SrcList entry for a // table-valued-function. -func Xsqlite3SrcListFuncArgs(tls *libc.TLS, pParse uintptr, p uintptr, pList uintptr) { /* sqlite3.c:118915:21: */ +func Xsqlite3SrcListFuncArgs(tls *libc.TLS, pParse uintptr, p uintptr, pList uintptr) { /* sqlite3.c:118928:21: */ if p != 0 { var pItem uintptr = p + 8 + uintptr((*SrcList)(unsafe.Pointer(p)).FnSrc-1)*72 @@ -99907,7 +99926,7 @@ func Xsqlite3SrcListFuncArgs(tls *libc.TLS, pParse uintptr, p uintptr, pList uin // The operator is "natural cross join". The A and B operands are stored // in p->a[0] and p->a[1], respectively. The parser initially stores the // operator with A. This routine shifts that operator over to B. -func Xsqlite3SrcListShiftJoinType(tls *libc.TLS, p uintptr) { /* sqlite3.c:118943:21: */ +func Xsqlite3SrcListShiftJoinType(tls *libc.TLS, p uintptr) { /* sqlite3.c:118956:21: */ if p != 0 { var i int32 for i = (*SrcList)(unsafe.Pointer(p)).FnSrc - 1; i > 0; i-- { @@ -99918,7 +99937,7 @@ func Xsqlite3SrcListShiftJoinType(tls *libc.TLS, p uintptr) { /* sqlite3.c:11894 } // Generate VDBE code for a BEGIN statement. -func Xsqlite3BeginTransaction(tls *libc.TLS, pParse uintptr, type1 int32) { /* sqlite3.c:118956:21: */ +func Xsqlite3BeginTransaction(tls *libc.TLS, pParse uintptr, type1 int32) { /* sqlite3.c:118969:21: */ var db uintptr var v uintptr var i int32 @@ -99953,7 +99972,7 @@ func Xsqlite3BeginTransaction(tls *libc.TLS, pParse uintptr, type1 int32) { /* s // Generate VDBE code for a COMMIT or ROLLBACK statement. // Code for ROLLBACK is generated if eType==TK_ROLLBACK. Otherwise // code is generated for a COMMIT. -func Xsqlite3EndTransaction(tls *libc.TLS, pParse uintptr, eType int32) { /* sqlite3.c:118992:21: */ +func Xsqlite3EndTransaction(tls *libc.TLS, pParse uintptr, eType int32) { /* sqlite3.c:119005:21: */ var v uintptr var isRollback int32 @@ -99975,7 +99994,7 @@ func Xsqlite3EndTransaction(tls *libc.TLS, pParse uintptr, eType int32) { /* sql // This function is called by the parser when it parses a command to create, // release or rollback an SQL savepoint. -func Xsqlite3Savepoint(tls *libc.TLS, pParse uintptr, op int32, pName uintptr) { /* sqlite3.c:119014:21: */ +func Xsqlite3Savepoint(tls *libc.TLS, pParse uintptr, op int32, pName uintptr) { /* sqlite3.c:119027:21: */ var zName uintptr = Xsqlite3NameFromToken(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, pName) if zName != 0 { var v uintptr = Xsqlite3GetVdbe(tls, pParse) @@ -99988,11 +100007,11 @@ func Xsqlite3Savepoint(tls *libc.TLS, pParse uintptr, op int32, pName uintptr) { } } -var az = [3]uintptr{ts + 14440, ts + 14462, ts + 14446} /* sqlite3.c:119019:23 */ +var az = [3]uintptr{ts + 14440, ts + 14462, ts + 14446} /* sqlite3.c:119032:23 */ // Make sure the TEMP database is open and available for use. Return // the number of errors. Leave any error messages in the pParse structure. -func Xsqlite3OpenTempDatabase(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:119034:20: */ +func Xsqlite3OpenTempDatabase(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:119047:20: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -100018,13 +100037,13 @@ func Xsqlite3OpenTempDatabase(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3. return 0 } -var flags int32 = SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE | SQLITE_OPEN_EXCLUSIVE | SQLITE_OPEN_DELETEONCLOSE | SQLITE_OPEN_TEMP_DB /* sqlite3.c:119039:22 */ +var flags int32 = SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE | SQLITE_OPEN_EXCLUSIVE | SQLITE_OPEN_DELETEONCLOSE | SQLITE_OPEN_TEMP_DB /* sqlite3.c:119052:22 */ // Record the fact that the schema cookie will need to be verified // for database iDb. The code to actually verify the schema cookie // will occur at the end of the top-level VDBE and will be generated // later, by sqlite3FinishCoding(). -func sqlite3CodeVerifySchemaAtToplevel(tls *libc.TLS, pToplevel uintptr, iDb int32) { /* sqlite3.c:119069:13: */ +func sqlite3CodeVerifySchemaAtToplevel(tls *libc.TLS, pToplevel uintptr, iDb int32) { /* sqlite3.c:119082:13: */ if libc.Bool32((*Parse)(unsafe.Pointer(pToplevel)).FcookieMask&(YDbMask(YDbMask(1))< UTF-16 conversion if // possible. -func synthCollSeq(tls *libc.TLS, db uintptr, pColl uintptr) int32 { /* sqlite3.c:119579:12: */ +func synthCollSeq(tls *libc.TLS, db uintptr, pColl uintptr) int32 { /* sqlite3.c:119592:12: */ var pColl2 uintptr var z uintptr = (*CollSeq)(unsafe.Pointer(pColl)).FzName var i int32 @@ -100537,7 +100556,7 @@ func synthCollSeq(tls *libc.TLS, db uintptr, pColl uintptr) int32 { /* sqlite3.c return SQLITE_ERROR } -var aEnc = [3]U8{U8(SQLITE_UTF16BE), U8(SQLITE_UTF16LE), U8(SQLITE_UTF8)} /* sqlite3.c:119583:19 */ +var aEnc = [3]U8{U8(SQLITE_UTF16BE), U8(SQLITE_UTF16LE), U8(SQLITE_UTF8)} /* sqlite3.c:119596:19 */ // This routine is called on a collation sequence before it is used to // check that it is defined. An undefined collation sequence exists when @@ -100548,7 +100567,7 @@ var aEnc = [3]U8{U8(SQLITE_UTF16BE), U8(SQLITE_UTF16LE), U8(SQLITE_UTF8)} /* sql // request a definition of the collating sequence. If this doesn't work, // an equivalent collating sequence that uses a text encoding different // from the main database is substituted, if one is available. -func Xsqlite3CheckCollSeq(tls *libc.TLS, pParse uintptr, pColl uintptr) int32 { /* sqlite3.c:119606:20: */ +func Xsqlite3CheckCollSeq(tls *libc.TLS, pParse uintptr, pColl uintptr) int32 { /* sqlite3.c:119619:20: */ if pColl != 0 && (*CollSeq)(unsafe.Pointer(pColl)).FxCmp == uintptr(0) { var zName uintptr = (*CollSeq)(unsafe.Pointer(pColl)).FzName var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb @@ -100572,7 +100591,7 @@ func Xsqlite3CheckCollSeq(tls *libc.TLS, pParse uintptr, pColl uintptr) int32 { // Stored immediately after the three collation sequences is a copy of // the collation sequence name. A pointer to this string is stored in // each collation sequence structure. -func findCollSeqEntry(tls *libc.TLS, db uintptr, zName uintptr, create int32) uintptr { /* sqlite3.c:119634:16: */ +func findCollSeqEntry(tls *libc.TLS, db uintptr, zName uintptr, create int32) uintptr { /* sqlite3.c:119647:16: */ var pColl uintptr pColl = Xsqlite3HashFind(tls, db+436, zName) @@ -100617,7 +100636,7 @@ func findCollSeqEntry(tls *libc.TLS, db uintptr, zName uintptr, create int32) ui // cannot be found. // // See also: sqlite3LocateCollSeq(), sqlite3GetCollSeq() -func Xsqlite3FindCollSeq(tls *libc.TLS, db uintptr, enc U8, zName uintptr, create int32) uintptr { /* sqlite3.c:119686:24: */ +func Xsqlite3FindCollSeq(tls *libc.TLS, db uintptr, enc U8, zName uintptr, create int32) uintptr { /* sqlite3.c:119699:24: */ var pColl uintptr if zName != 0 { @@ -100633,7 +100652,7 @@ func Xsqlite3FindCollSeq(tls *libc.TLS, db uintptr, enc U8, zName uintptr, creat // Change the text encoding for a database connection. This means that // the pDfltColl must change as well. -func Xsqlite3SetTextEncoding(tls *libc.TLS, db uintptr, enc U8) { /* sqlite3.c:119708:21: */ +func Xsqlite3SetTextEncoding(tls *libc.TLS, db uintptr, enc U8) { /* sqlite3.c:119721:21: */ (*Sqlite3)(unsafe.Pointer(db)).Fenc = enc // EVIDENCE-OF: R-08308-17224 The default collating function for all @@ -100653,7 +100672,7 @@ func Xsqlite3SetTextEncoding(tls *libc.TLS, db uintptr, enc U8) { /* sqlite3.c:1 // sequence can be found. If no collation is found, leave an error message. // // See also: sqlite3LocateCollSeq(), sqlite3FindCollSeq() -func Xsqlite3GetCollSeq(tls *libc.TLS, pParse uintptr, enc U8, pColl uintptr, zName uintptr) uintptr { /* sqlite3.c:119731:24: */ +func Xsqlite3GetCollSeq(tls *libc.TLS, pParse uintptr, enc U8, pColl uintptr, zName uintptr) uintptr { /* sqlite3.c:119744:24: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -100699,7 +100718,7 @@ func Xsqlite3GetCollSeq(tls *libc.TLS, pParse uintptr, enc U8, pColl uintptr, zN // and generates an error message. // // See also: sqlite3FindCollSeq(), sqlite3GetCollSeq() -func Xsqlite3LocateCollSeq(tls *libc.TLS, pParse uintptr, zName uintptr) uintptr { /* sqlite3.c:119782:24: */ +func Xsqlite3LocateCollSeq(tls *libc.TLS, pParse uintptr, zName uintptr) uintptr { /* sqlite3.c:119795:24: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb var enc U8 = (*Sqlite3)(unsafe.Pointer(db)).Fenc var initbusy U8 = (*Sqlite3)(unsafe.Pointer(db)).Finit.Fbusy @@ -100740,7 +100759,7 @@ func Xsqlite3LocateCollSeq(tls *libc.TLS, pParse uintptr, zName uintptr) uintptr // If nArg==(-2) then any function with a non-null xSFunc is // a perfect match and any function with xSFunc NULL is // a non-match. -func matchQuality(tls *libc.TLS, p uintptr, nArg int32, enc U8) int32 { /* sqlite3.c:119825:12: */ +func matchQuality(tls *libc.TLS, p uintptr, nArg int32, enc U8) int32 { /* sqlite3.c:119838:12: */ var match int32 // Wrong number of arguments means "no match" @@ -100776,7 +100795,7 @@ func matchQuality(tls *libc.TLS, p uintptr, nArg int32, enc U8) int32 { /* sqlit // Search a FuncDefHash for a function with the given name. Return // a pointer to the matching FuncDef if found, or 0 if there is no match. -func Xsqlite3FunctionSearch(tls *libc.TLS, h int32, zFunc uintptr) uintptr { /* sqlite3.c:119861:24: */ +func Xsqlite3FunctionSearch(tls *libc.TLS, h int32, zFunc uintptr) uintptr { /* sqlite3.c:119874:24: */ var p uintptr for p = *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&Xsqlite3BuiltinFunctions)) + uintptr(h)*4)); p != 0; p = *(*uintptr)(unsafe.Pointer(p + 36)) { @@ -100788,7 +100807,7 @@ func Xsqlite3FunctionSearch(tls *libc.TLS, h int32, zFunc uintptr) uintptr { /* } // Insert a new FuncDef into a FuncDefHash hash table. -func Xsqlite3InsertBuiltinFuncs(tls *libc.TLS, aDef uintptr, nDef int32) { /* sqlite3.c:119878:21: */ +func Xsqlite3InsertBuiltinFuncs(tls *libc.TLS, aDef uintptr, nDef int32) { /* sqlite3.c:119891:21: */ var i int32 for i = 0; i < nDef; i++ { var pOther uintptr @@ -100826,7 +100845,7 @@ func Xsqlite3InsertBuiltinFuncs(tls *libc.TLS, aDef uintptr, nDef int32) { /* sq // If createFlag is false, then a function with the required name and // number of arguments may be returned even if the eTextRep flag does not // match that requested. -func Xsqlite3FindFunction(tls *libc.TLS, db uintptr, zName uintptr, nArg int32, enc U8, createFlag U8) uintptr { /* sqlite3.c:119923:24: */ +func Xsqlite3FindFunction(tls *libc.TLS, db uintptr, zName uintptr, nArg int32, enc U8, createFlag U8) uintptr { /* sqlite3.c:119936:24: */ var p uintptr // Iterator variable var pBest uintptr = uintptr(0) // Best match found so far var bestScore int32 = 0 // Score of best match @@ -100906,7 +100925,7 @@ func Xsqlite3FindFunction(tls *libc.TLS, db uintptr, zName uintptr, nArg int32, // of the schema hash tables). // // The Schema.cache_size variable is not cleared. -func Xsqlite3SchemaClear(tls *libc.TLS, p uintptr) { /* sqlite3.c:120015:21: */ +func Xsqlite3SchemaClear(tls *libc.TLS, p uintptr) { /* sqlite3.c:120028:21: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -100941,7 +100960,7 @@ func Xsqlite3SchemaClear(tls *libc.TLS, p uintptr) { /* sqlite3.c:120015:21: */ // Find and return the schema associated with a BTree. Create // a new one if necessary. -func Xsqlite3SchemaGet(tls *libc.TLS, db uintptr, pBt uintptr) uintptr { /* sqlite3.c:120047:23: */ +func Xsqlite3SchemaGet(tls *libc.TLS, db uintptr, pBt uintptr) uintptr { /* sqlite3.c:120060:23: */ var p uintptr if pBt != 0 { p = Xsqlite3BtreeSchema(tls, pBt, int32(unsafe.Sizeof(Schema{})), *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{Xsqlite3SchemaClear}))) @@ -100988,7 +101007,7 @@ func Xsqlite3SchemaGet(tls *libc.TLS, db uintptr, pBt uintptr) uintptr { /* sqli // pSrc->a[0].pTab Pointer to the Table object // pSrc->a[0].pIndex Pointer to the INDEXED BY index, if there is one // -func Xsqlite3SrcListLookup(tls *libc.TLS, pParse uintptr, pSrc uintptr) uintptr { /* sqlite3.c:120098:22: */ +func Xsqlite3SrcListLookup(tls *libc.TLS, pParse uintptr, pSrc uintptr) uintptr { /* sqlite3.c:120111:22: */ var pItem uintptr = pSrc + 8 /* &.a */ var pTab uintptr @@ -101006,7 +101025,7 @@ func Xsqlite3SrcListLookup(tls *libc.TLS, pParse uintptr, pSrc uintptr) uintptr // Generate byte-code that will report the number of rows modified // by a DELETE, INSERT, or UPDATE statement. -func Xsqlite3CodeChangeCount(tls *libc.TLS, v uintptr, regCounter int32, zColName uintptr) { /* sqlite3.c:120117:21: */ +func Xsqlite3CodeChangeCount(tls *libc.TLS, v uintptr, regCounter int32, zColName uintptr) { /* sqlite3.c:120130:21: */ Xsqlite3VdbeAddOp0(tls, v, OP_FkCheck) Xsqlite3VdbeAddOp2(tls, v, OP_ResultRow, regCounter, 1) Xsqlite3VdbeSetNumCols(tls, v, 1) @@ -101027,7 +101046,7 @@ func Xsqlite3CodeChangeCount(tls *libc.TLS, v uintptr, regCounter int32, zColNam // 3) The table is a shadow table, the database connection is in // defensive mode, and the current sqlite3_prepare() // is for a top-level SQL statement. -func tabIsReadOnly(tls *libc.TLS, pParse uintptr, pTab uintptr) int32 { /* sqlite3.c:120139:12: */ +func tabIsReadOnly(tls *libc.TLS, pParse uintptr, pTab uintptr) int32 { /* sqlite3.c:120152:12: */ var db uintptr if int32((*Table)(unsafe.Pointer(pTab)).FeTabType) == TABTYP_VTAB { return libc.Bool32((*Sqlite3_module)(unsafe.Pointer((*Module)(unsafe.Pointer((*VTable)(unsafe.Pointer(Xsqlite3GetVTable(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, pTab))).FpMod)).FpModule)).FxUpdate == uintptr(0)) @@ -101046,7 +101065,7 @@ func tabIsReadOnly(tls *libc.TLS, pParse uintptr, pTab uintptr) int32 { /* sqlit // Check to make sure the given table is writable. If it is not // writable, generate an error message and return 1. If it is // writable return 0; -func Xsqlite3IsReadOnly(tls *libc.TLS, pParse uintptr, pTab uintptr, viewOk int32) int32 { /* sqlite3.c:120158:20: */ +func Xsqlite3IsReadOnly(tls *libc.TLS, pParse uintptr, pTab uintptr, viewOk int32) int32 { /* sqlite3.c:120171:20: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -101064,7 +101083,7 @@ func Xsqlite3IsReadOnly(tls *libc.TLS, pParse uintptr, pTab uintptr, viewOk int3 // Evaluate a view and store its result in an ephemeral table. The // pWhere argument is an optional WHERE clause that restricts the // set of rows in the view that are to be added to the ephemeral table. -func Xsqlite3MaterializeView(tls *libc.TLS, pParse uintptr, pView uintptr, pWhere uintptr, pOrderBy uintptr, pLimit uintptr, iCur int32) { /* sqlite3.c:120179:21: */ +func Xsqlite3MaterializeView(tls *libc.TLS, pParse uintptr, pView uintptr, pWhere uintptr, pOrderBy uintptr, pLimit uintptr, iCur int32) { /* sqlite3.c:120192:21: */ bp := tls.Alloc(28) defer tls.Free(28) @@ -101096,7 +101115,7 @@ func Xsqlite3MaterializeView(tls *libc.TLS, pParse uintptr, pView uintptr, pWher // DELETE FROM table_wxyz WHERE a<5 AND b NOT NULL; // \________/ \________________/ // pTabList pWhere -func Xsqlite3DeleteFrom(tls *libc.TLS, pParse uintptr, pTabList uintptr, pWhere uintptr, pOrderBy uintptr, pLimit uintptr) { /* sqlite3.c:120318:21: */ +func Xsqlite3DeleteFrom(tls *libc.TLS, pParse uintptr, pTabList uintptr, pWhere uintptr, pOrderBy uintptr, pLimit uintptr) { /* sqlite3.c:120331:21: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -101702,7 +101721,7 @@ delete_from_cleanup: // starting at iIdxCur) that already points to the index entry to be deleted. // Except, this optimization is disabled if there are BEFORE triggers since // the trigger body might have moved the cursor. -func Xsqlite3GenerateRowDelete(tls *libc.TLS, pParse uintptr, pTab uintptr, pTrigger uintptr, iDataCur int32, iIdxCur int32, iPk int32, nPk I16, count U8, onconf U8, eMode U8, iIdxNoSeek int32) { /* sqlite3.c:120766:21: */ +func Xsqlite3GenerateRowDelete(tls *libc.TLS, pParse uintptr, pTab uintptr, pTrigger uintptr, iDataCur int32, iIdxCur int32, iPk int32, nPk I16, count U8, onconf U8, eMode U8, iIdxNoSeek int32) { /* sqlite3.c:120779:21: */ var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe // Vdbe var iOld int32 = 0 // First register in OLD.* array var iLabel int32 // Label resolved to end of generated code @@ -101839,7 +101858,7 @@ func Xsqlite3GenerateRowDelete(tls *libc.TLS, pParse uintptr, pTab uintptr, pTri // // 3. The "iDataCur" cursor must be already be positioned on the row // that is to be deleted. -func Xsqlite3GenerateRowIndexDelete(tls *libc.TLS, pParse uintptr, pTab uintptr, iDataCur int32, iIdxCur int32, aRegIdx uintptr, iIdxNoSeek int32) { /* sqlite3.c:120918:21: */ +func Xsqlite3GenerateRowIndexDelete(tls *libc.TLS, pParse uintptr, pTab uintptr, iDataCur int32, iIdxCur int32, aRegIdx uintptr, iIdxNoSeek int32) { /* sqlite3.c:120931:21: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -101928,7 +101947,7 @@ __3: // This optimization is helpful when doing a DELETE or an INTEGRITY_CHECK // on a table with multiple indices, and especially with the ROWID or // PRIMARY KEY columns of the index. -func Xsqlite3GenerateIndexKey(tls *libc.TLS, pParse uintptr, pIdx uintptr, iDataCur int32, regOut int32, prefixOnly int32, piPartIdxLabel uintptr, pPrior uintptr, regPrior int32) int32 { /* sqlite3.c:120983:20: */ +func Xsqlite3GenerateIndexKey(tls *libc.TLS, pParse uintptr, pIdx uintptr, iDataCur int32, regOut int32, prefixOnly int32, piPartIdxLabel uintptr, pPrior uintptr, regPrior int32) int32 { /* sqlite3.c:120996:20: */ var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe var j int32 var regBase int32 @@ -101984,7 +102003,7 @@ func Xsqlite3GenerateIndexKey(tls *libc.TLS, pParse uintptr, pIdx uintptr, iData // If a prior call to sqlite3GenerateIndexKey() generated a jump-over label // because it was a partial index, then this routine should be called to // resolve that label. -func Xsqlite3ResolvePartIdxLabel(tls *libc.TLS, pParse uintptr, iLabel int32) { /* sqlite3.c:121045:21: */ +func Xsqlite3ResolvePartIdxLabel(tls *libc.TLS, pParse uintptr, iLabel int32) { /* sqlite3.c:121058:21: */ if iLabel != 0 { Xsqlite3VdbeResolveLabel(tls, (*Parse)(unsafe.Pointer(pParse)).FpVdbe, iLabel) } @@ -102012,7 +102031,7 @@ func Xsqlite3ResolvePartIdxLabel(tls *libc.TLS, pParse uintptr, iLabel int32) { // #include "vdbeInt.h" // Return the collating function associated with a function. -func sqlite3GetFuncCollSeq(tls *libc.TLS, context uintptr) uintptr { /* sqlite3.c:121079:16: */ +func sqlite3GetFuncCollSeq(tls *libc.TLS, context uintptr) uintptr { /* sqlite3.c:121092:16: */ var pOp uintptr pOp = (*Vdbe)(unsafe.Pointer((*Sqlite3_context)(unsafe.Pointer(context)).FpVdbe)).FaOp + uintptr((*Sqlite3_context)(unsafe.Pointer(context)).FiOp-1)*20 @@ -102022,14 +102041,14 @@ func sqlite3GetFuncCollSeq(tls *libc.TLS, context uintptr) uintptr { /* sqlite3. // Indicate that the accumulator load should be skipped on this // iteration of the aggregate loop. -func sqlite3SkipAccumulatorLoad(tls *libc.TLS, context uintptr) { /* sqlite3.c:121092:13: */ +func sqlite3SkipAccumulatorLoad(tls *libc.TLS, context uintptr) { /* sqlite3.c:121105:13: */ (*Sqlite3_context)(unsafe.Pointer(context)).FisError = -1 (*Sqlite3_context)(unsafe.Pointer(context)).FskipFlag = U8(1) } // Implementation of the non-aggregate min() and max() functions -func minmaxFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121101:13: */ +func minmaxFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121114:13: */ var i int32 var mask int32 // 0 for min() or 0xffffffff for max() var iBest int32 @@ -102059,7 +102078,7 @@ func minmaxFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* s } // Return the type of the argument. -func typeofFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { /* sqlite3.c:121131:13: */ +func typeofFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { /* sqlite3.c:121144:13: */ var i int32 = Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(argv))) - 1 _ = NotUsed @@ -102070,18 +102089,18 @@ func typeofFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { / Xsqlite3_result_text(tls, context, azType2[i], -1, uintptr(0)) } -var azType2 = [5]uintptr{ts + 6142, ts + 6137, ts + 7892, ts + 7887, ts + 6132} /* sqlite3.c:121136:21 */ +var azType2 = [5]uintptr{ts + 6142, ts + 6137, ts + 7892, ts + 7887, ts + 6132} /* sqlite3.c:121149:21 */ // subtype(X) // // Return the subtype of X -func subtypeFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121156:13: */ +func subtypeFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121169:13: */ _ = argc Xsqlite3_result_int(tls, context, int32(Xsqlite3_value_subtype(tls, *(*uintptr)(unsafe.Pointer(argv))))) } // Implementation of the length() function -func lengthFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121168:13: */ +func lengthFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121181:13: */ _ = argc switch Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(argv))) { @@ -102130,7 +102149,7 @@ func lengthFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* s // // IMP: R-23979-26855 The abs(X) function returns the absolute value of // the numeric argument X. -func absFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121210:13: */ +func absFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121223:13: */ _ = argc switch Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(argv))) { @@ -102184,7 +102203,7 @@ func absFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqli // If both haystack and needle are BLOBs, then the result is one more than // the number of bytes in haystack prior to the first occurrence of needle, // or 0 if needle never occurs in haystack. -func instrFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121259:13: */ +func instrFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121272:13: */ var zHaystack uintptr var zNeedle uintptr var nHaystack int32 @@ -102299,7 +102318,7 @@ endInstrOOM: } // Implementation of the printf() (a.k.a. format()) SQL function. -func printfFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121327:13: */ +func printfFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121340:13: */ bp := tls.Alloc(44) defer tls.Free(44) @@ -102336,7 +102355,7 @@ func printfFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* s // If p1 is negative, then we begin abs(p1) from the end of x[]. // // If p2 is negative, return the p2 characters preceding p1. -func substrFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121363:13: */ +func substrFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121376:13: */ var z uintptr var z2 uintptr var len int32 @@ -102444,7 +102463,7 @@ func substrFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* s } // Implementation of the round() function -func roundFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121458:13: */ +func roundFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121471:13: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -102498,7 +102517,7 @@ func roundFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sq // the database handle that malloc() has failed and return NULL. // If nByte is larger than the maximum string or blob length, then // raise an SQLITE_TOOBIG exception and return NULL. -func contextMalloc(tls *libc.TLS, context uintptr, nByte I64) uintptr { /* sqlite3.c:121499:13: */ +func contextMalloc(tls *libc.TLS, context uintptr, nByte I64) uintptr { /* sqlite3.c:121512:13: */ var z uintptr var db uintptr = Xsqlite3_context_db_handle(tls, context) @@ -102515,7 +102534,7 @@ func contextMalloc(tls *libc.TLS, context uintptr, nByte I64) uintptr { /* sqlit } // Implementation of the upper() and lower() SQL functions. -func upperFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121520:13: */ +func upperFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121533:13: */ var z1 uintptr var z2 uintptr var i int32 @@ -102536,7 +102555,7 @@ func upperFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sq } } -func lowerFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121539:13: */ +func lowerFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121552:13: */ var z1 uintptr var z2 uintptr var i int32 @@ -102565,7 +102584,7 @@ func lowerFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sq // is. We might as well use the "version()" function as a substitute. // Implementation of random(). Return a random integer. -func randomFunc(tls *libc.TLS, context uintptr, NotUsed int32, NotUsed2 uintptr) { /* sqlite3.c:121572:13: */ +func randomFunc(tls *libc.TLS, context uintptr, NotUsed int32, NotUsed2 uintptr) { /* sqlite3.c:121585:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -102589,7 +102608,7 @@ func randomFunc(tls *libc.TLS, context uintptr, NotUsed int32, NotUsed2 uintptr) // Implementation of randomblob(N). Return a random blob // that is N bytes long. -func randomBlob(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121598:13: */ +func randomBlob(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121611:13: */ var n Sqlite3_int64 var p uintptr @@ -102607,7 +102626,7 @@ func randomBlob(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* s // Implementation of the last_insert_rowid() SQL function. The return // value is the same as the sqlite3_last_insert_rowid() API function. -func last_insert_rowid(tls *libc.TLS, context uintptr, NotUsed int32, NotUsed2 uintptr) { /* sqlite3.c:121622:13: */ +func last_insert_rowid(tls *libc.TLS, context uintptr, NotUsed int32, NotUsed2 uintptr) { /* sqlite3.c:121635:13: */ var db uintptr = Xsqlite3_context_db_handle(tls, context) _ = NotUsed _ = NotUsed2 @@ -102622,7 +102641,7 @@ func last_insert_rowid(tls *libc.TLS, context uintptr, NotUsed int32, NotUsed2 u // IMP: R-32760-32347 The changes() SQL function is a wrapper // around the sqlite3_changes64() C/C++ function and hence follows the // same rules for counting changes. -func changes(tls *libc.TLS, context uintptr, NotUsed int32, NotUsed2 uintptr) { /* sqlite3.c:121642:13: */ +func changes(tls *libc.TLS, context uintptr, NotUsed int32, NotUsed2 uintptr) { /* sqlite3.c:121655:13: */ var db uintptr = Xsqlite3_context_db_handle(tls, context) _ = NotUsed _ = NotUsed2 @@ -102631,7 +102650,7 @@ func changes(tls *libc.TLS, context uintptr, NotUsed int32, NotUsed2 uintptr) { // Implementation of the total_changes() SQL function. The return value is // the same as the sqlite3_total_changes64() API function. -func total_changes(tls *libc.TLS, context uintptr, NotUsed int32, NotUsed2 uintptr) { /* sqlite3.c:121656:13: */ +func total_changes(tls *libc.TLS, context uintptr, NotUsed int32, NotUsed2 uintptr) { /* sqlite3.c:121669:13: */ var db uintptr = Xsqlite3_context_db_handle(tls, context) _ = NotUsed _ = NotUsed2 @@ -102646,20 +102665,20 @@ type compareInfo = struct { FmatchOne U8 FmatchSet U8 FnoCase U8 -} /* sqlite3.c:121671:1 */ +} /* sqlite3.c:121684:1 */ // For LIKE and GLOB matching on EBCDIC machines, assume that every // character is exactly one byte in size. Also, provde the Utf8Read() // macro for fast reading of the next character in the common case where // the next character is ASCII. -var globInfo = compareInfo{FmatchAll: U8('*'), FmatchOne: U8('?'), FmatchSet: U8('[')} /* sqlite3.c:121691:33 */ +var globInfo = compareInfo{FmatchAll: U8('*'), FmatchOne: U8('?'), FmatchSet: U8('[')} /* sqlite3.c:121704:33 */ // The correct SQL-92 behavior is for the LIKE operator to ignore // case. Thus 'a' LIKE 'A' would be true. -var likeInfoNorm = compareInfo{FmatchAll: U8('%'), FmatchOne: U8('_'), FnoCase: U8(1)} /* sqlite3.c:121694:33 */ +var likeInfoNorm = compareInfo{FmatchAll: U8('%'), FmatchOne: U8('_'), FnoCase: U8(1)} /* sqlite3.c:121707:33 */ // If SQLITE_CASE_SENSITIVE_LIKE is defined, then the LIKE operator // is case sensitive causing 'a' LIKE 'A' to be false -var likeInfoAlt = compareInfo{FmatchAll: U8('%'), FmatchOne: U8('_')} /* sqlite3.c:121697:33 */ +var likeInfoAlt = compareInfo{FmatchAll: U8('%'), FmatchOne: U8('_')} /* sqlite3.c:121710:33 */ // Possible error returns from patternMatch() @@ -102699,7 +102718,7 @@ var likeInfoAlt = compareInfo{FmatchAll: U8('%'), FmatchOne: U8('_')} /* sqlite3 // The comments within this routine usually assume glob matching. // // This routine is usually quick, but can be N**2 in the worst case. -func patternCompare(tls *libc.TLS, zPattern uintptr, zString uintptr, pInfo uintptr, matchOther U32) int32 { /* sqlite3.c:121744:12: */ +func patternCompare(tls *libc.TLS, zPattern uintptr, zString uintptr, pInfo uintptr, matchOther U32) int32 { /* sqlite3.c:121757:12: */ bp := tls.Alloc(11) defer tls.Free(11) *(*uintptr)(unsafe.Pointer(bp)) = zPattern @@ -102885,13 +102904,13 @@ func patternCompare(tls *libc.TLS, zPattern uintptr, zString uintptr, pInfo uint // The sqlite3_strglob() interface. Return 0 on a match (like strcmp()) and // non-zero if there is no match. -func Xsqlite3_strglob(tls *libc.TLS, zGlobPattern uintptr, zString uintptr) int32 { /* sqlite3.c:121877:16: */ +func Xsqlite3_strglob(tls *libc.TLS, zGlobPattern uintptr, zString uintptr) int32 { /* sqlite3.c:121890:16: */ return patternCompare(tls, zGlobPattern, zString, uintptr(unsafe.Pointer(&globInfo)), uint32('[')) } // The sqlite3_strlike() interface. Return 0 on a match and non-zero for // a miss - like strcmp(). -func Xsqlite3_strlike(tls *libc.TLS, zPattern uintptr, zStr uintptr, esc uint32) int32 { /* sqlite3.c:121885:16: */ +func Xsqlite3_strlike(tls *libc.TLS, zPattern uintptr, zStr uintptr, esc uint32) int32 { /* sqlite3.c:121898:16: */ return patternCompare(tls, zPattern, zStr, uintptr(unsafe.Pointer(&likeInfoNorm)), esc) } @@ -102909,7 +102928,7 @@ func Xsqlite3_strlike(tls *libc.TLS, zPattern uintptr, zStr uintptr, esc uint32) // // This same function (with a different compareInfo structure) computes // the GLOB operator. -func likeFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121911:13: */ +func likeFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121924:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -102972,7 +102991,7 @@ func likeFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sql // Implementation of the NULLIF(x,y) function. The result is the first // argument if the arguments are different. The result is NULL if the // arguments are equal to each other. -func nullifFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { /* sqlite3.c:121982:13: */ +func nullifFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { /* sqlite3.c:121995:13: */ var pColl uintptr = sqlite3GetFuncCollSeq(tls, context) _ = NotUsed if Xsqlite3MemCompare(tls, *(*uintptr)(unsafe.Pointer(argv)), *(*uintptr)(unsafe.Pointer(argv + 1*4)), pColl) != 0 { @@ -102982,7 +103001,7 @@ func nullifFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { / // Implementation of the sqlite_version() function. The result is the version // of the SQLite library that is running. -func versionFunc(tls *libc.TLS, context uintptr, NotUsed int32, NotUsed2 uintptr) { /* sqlite3.c:121998:13: */ +func versionFunc(tls *libc.TLS, context uintptr, NotUsed int32, NotUsed2 uintptr) { /* sqlite3.c:122011:13: */ _ = NotUsed _ = NotUsed2 // IMP: R-48699-48617 This function is an SQL wrapper around the @@ -102993,7 +103012,7 @@ func versionFunc(tls *libc.TLS, context uintptr, NotUsed int32, NotUsed2 uintptr // Implementation of the sqlite_source_id() function. The result is a string // that identifies the particular version of the source code used to build // SQLite. -func sourceidFunc(tls *libc.TLS, context uintptr, NotUsed int32, NotUsed2 uintptr) { /* sqlite3.c:122014:13: */ +func sourceidFunc(tls *libc.TLS, context uintptr, NotUsed int32, NotUsed2 uintptr) { /* sqlite3.c:122027:13: */ _ = NotUsed _ = NotUsed2 // IMP: R-24470-31136 This function is an SQL wrapper around the @@ -103004,7 +103023,7 @@ func sourceidFunc(tls *libc.TLS, context uintptr, NotUsed int32, NotUsed2 uintpt // Implementation of the sqlite_log() function. This is a wrapper around // sqlite3_log(). The return value is NULL. The function exists purely for // its side-effects. -func errlogFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122030:13: */ +func errlogFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122043:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -103016,7 +103035,7 @@ func errlogFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* s // Implementation of the sqlite_compileoption_used() function. // The result is an integer that identifies if the compiler option // was used to build SQLite. -func compileoptionusedFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122046:13: */ +func compileoptionusedFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122059:13: */ var zOptName uintptr _ = argc @@ -103031,7 +103050,7 @@ func compileoptionusedFunc(tls *libc.TLS, context uintptr, argc int32, argv uint // Implementation of the sqlite_compileoption_get() function. // The result is a string that identifies the compiler options // used to build SQLite. -func compileoptiongetFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122070:13: */ +func compileoptiongetFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122083:13: */ var n int32 _ = argc @@ -103046,11 +103065,11 @@ func compileoptiongetFunc(tls *libc.TLS, context uintptr, argc int32, argv uintp var hexdigits = [16]int8{ int8('0'), int8('1'), int8('2'), int8('3'), int8('4'), int8('5'), int8('6'), int8('7'), int8('8'), int8('9'), int8('A'), int8('B'), int8('C'), int8('D'), int8('E'), int8('F'), -} /* sqlite3.c:122088:19 */ +} /* sqlite3.c:122101:19 */ // Append to pStr text that is the SQL literal representation of the // value contained in pValue. -func Xsqlite3QuoteValue(tls *libc.TLS, pStr uintptr, pValue uintptr) { /* sqlite3.c:122097:21: */ +func Xsqlite3QuoteValue(tls *libc.TLS, pStr uintptr, pValue uintptr) { /* sqlite3.c:122110:21: */ bp := tls.Alloc(40) defer tls.Free(40) @@ -103131,7 +103150,7 @@ func Xsqlite3QuoteValue(tls *libc.TLS, pStr uintptr, pValue uintptr) { /* sqlite // as needed. BLOBs are encoded as hexadecimal literals. Strings with // embedded NUL characters cannot be represented as string literals in SQL // and hence the returned string literal is truncated prior to the first NUL. -func quoteFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122166:13: */ +func quoteFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122179:13: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -103154,7 +103173,7 @@ func quoteFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sq // The unicode() function. Return the integer unicode code-point value // for the first character of the input string. -func unicodeFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122185:13: */ +func unicodeFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122198:13: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -103168,7 +103187,7 @@ func unicodeFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* // The char() function takes zero or more arguments, each of which is // an integer. It constructs a string where each character of the string // is the unicode character for the corresponding integer argument. -func charFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122200:13: */ +func charFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122213:13: */ var z uintptr var zOut uintptr var i int32 @@ -103206,7 +103225,7 @@ func charFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sql // The hex() function. Interpret the argument as a blob. Return // a hexadecimal rendering as text. -func hexFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122241:13: */ +func hexFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122254:13: */ var i int32 var n int32 var pBlob uintptr @@ -103244,7 +103263,7 @@ func hexFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqli } // The zeroblob(N) function returns a zero-filled blob of size N bytes. -func zeroblobFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122269:13: */ +func zeroblobFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122282:13: */ var n I64 var rc int32 @@ -103263,7 +103282,7 @@ func zeroblobFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* // them A, B, and C. The result is also a string which is derived // from A by replacing every occurrence of B with C. The match // must be exact. Collating sequences are not used. -func replaceFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122292:13: */ +func replaceFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122305:13: */ var zStr uintptr // The input string A var zPattern uintptr // The pattern string B var zRep uintptr // The replacement string C @@ -103352,7 +103371,7 @@ func replaceFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* // Implementation of the TRIM(), LTRIM(), and RTRIM() functions. // The userdata is 0x1 for left trim, 0x2 for right trim, 0x3 for both. -func trimFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122385:13: */ +func trimFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122398:13: */ var zIn uintptr // Input string var zCharSet uintptr // Set of characters to trim var nIn uint32 // Number of bytes in input @@ -103455,8 +103474,8 @@ func trimFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sql Xsqlite3_result_text(tls, context, zIn, int32(nIn), libc.UintptrFromInt32(-1)) } -var lenOne = [1]uint32{uint32(1)} /* sqlite3.c:122407:27 */ -var azOne = [1]uintptr{uintptr(ts + 10805 /* " " */)} /* sqlite3.c:122408:26 */ +var lenOne = [1]uint32{uint32(1)} /* sqlite3.c:122420:27 */ +var azOne = [1]uintptr{uintptr(ts + 10805 /* " " */)} /* sqlite3.c:122421:26 */ // IMP: R-25361-16150 This function is omitted from SQLite by default. It // is only available if the SQLITE_SOUNDEX compile-time option is used @@ -103465,7 +103484,7 @@ var azOne = [1]uintptr{uintptr(ts + 10805 /* " " */)} /* sqlite3.c:122408:26 */ // // IMP: R-59782-00072 The soundex(X) function returns a string that is the // soundex encoding of the string X. -func soundexFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122498:13: */ +func soundexFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122511:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -103516,10 +103535,10 @@ var iCode = [128]uint8{ uint8(1), uint8(2), uint8(6), uint8(2), uint8(3), uint8(0), uint8(1), uint8(0), uint8(2), uint8(0), uint8(2), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(1), uint8(2), uint8(3), uint8(0), uint8(1), uint8(2), uint8(0), uint8(0), uint8(2), uint8(2), uint8(4), uint8(5), uint8(5), uint8(0), uint8(1), uint8(2), uint8(6), uint8(2), uint8(3), uint8(0), uint8(1), uint8(0), uint8(2), uint8(0), uint8(2), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), -} /* sqlite3.c:122506:30 */ +} /* sqlite3.c:122519:30 */ // A function that loads a shared-library extension then returns NULL. -func loadExt(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122551:13: */ +func loadExt(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122564:13: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -103555,11 +103574,11 @@ type SumCtx1 = struct { Foverflow U8 Fapprox U8 F__ccgo_pad1 [2]byte -} /* sqlite3.c:122582:9 */ +} /* sqlite3.c:122595:9 */ // An instance of the following structure holds the context of a // sum() or avg() aggregate computation. -type SumCtx = SumCtx1 /* sqlite3.c:122582:23 */ +type SumCtx = SumCtx1 /* sqlite3.c:122595:23 */ // Routines used to compute the sum, average, and total. // @@ -103569,7 +103588,7 @@ type SumCtx = SumCtx1 /* sqlite3.c:122582:23 */ // SUM might return an integer if it never encounters a floating point // value. TOTAL never fails, but SUM might through an exception if // it overflows an integer. -func sumStep(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122601:13: */ +func sumStep(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122614:13: */ var p uintptr var type1 int32 @@ -103591,7 +103610,7 @@ func sumStep(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqli } } -func sumInverse(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122623:13: */ +func sumInverse(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122636:13: */ var p uintptr var type1 int32 @@ -103614,7 +103633,7 @@ func sumInverse(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* s } } -func sumFinalize(tls *libc.TLS, context uintptr) { /* sqlite3.c:122648:13: */ +func sumFinalize(tls *libc.TLS, context uintptr) { /* sqlite3.c:122661:13: */ var p uintptr p = Xsqlite3_aggregate_context(tls, context, 0) if p != 0 && (*SumCtx)(unsafe.Pointer(p)).Fcnt > int64(0) { @@ -103628,7 +103647,7 @@ func sumFinalize(tls *libc.TLS, context uintptr) { /* sqlite3.c:122648:13: */ } } -func avgFinalize(tls *libc.TLS, context uintptr) { /* sqlite3.c:122661:13: */ +func avgFinalize(tls *libc.TLS, context uintptr) { /* sqlite3.c:122674:13: */ var p uintptr p = Xsqlite3_aggregate_context(tls, context, 0) if p != 0 && (*SumCtx)(unsafe.Pointer(p)).Fcnt > int64(0) { @@ -103636,7 +103655,7 @@ func avgFinalize(tls *libc.TLS, context uintptr) { /* sqlite3.c:122661:13: */ } } -func totalFinalize(tls *libc.TLS, context uintptr) { /* sqlite3.c:122668:13: */ +func totalFinalize(tls *libc.TLS, context uintptr) { /* sqlite3.c:122681:13: */ var p uintptr p = Xsqlite3_aggregate_context(tls, context, 0) // (double)0 In case of SQLITE_OMIT_FLOATING_POINT... @@ -103650,14 +103669,14 @@ func totalFinalize(tls *libc.TLS, context uintptr) { /* sqlite3.c:122668:13: */ // The following structure keeps track of state information for the // count() aggregate function. -type CountCtx1 = struct{ Fn I64 } /* sqlite3.c:122679:9 */ +type CountCtx1 = struct{ Fn I64 } /* sqlite3.c:122692:9 */ // The following structure keeps track of state information for the // count() aggregate function. -type CountCtx = CountCtx1 /* sqlite3.c:122679:25 */ +type CountCtx = CountCtx1 /* sqlite3.c:122692:25 */ // Routines to implement the count() aggregate function. -func countStep(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122690:13: */ +func countStep(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122703:13: */ var p uintptr p = Xsqlite3_aggregate_context(tls, context, int32(unsafe.Sizeof(CountCtx{}))) if (argc == 0 || SQLITE_NULL != Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(argv)))) && p != 0 { @@ -103671,7 +103690,7 @@ func countStep(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sq } -func countFinalize(tls *libc.TLS, context uintptr) { /* sqlite3.c:122706:13: */ +func countFinalize(tls *libc.TLS, context uintptr) { /* sqlite3.c:122719:13: */ var p uintptr p = Xsqlite3_aggregate_context(tls, context, 0) Xsqlite3_result_int64(tls, context, func() int64 { @@ -103682,7 +103701,7 @@ func countFinalize(tls *libc.TLS, context uintptr) { /* sqlite3.c:122706:13: */ }()) } -func countInverse(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:122712:13: */ +func countInverse(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:122725:13: */ var p uintptr p = Xsqlite3_aggregate_context(tls, ctx, int32(unsafe.Sizeof(CountCtx{}))) // p is always non-NULL since countStep() will have been called first @@ -103692,7 +103711,7 @@ func countInverse(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sql } // Routines to implement min() and max() aggregate functions. -func minmaxStep(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { /* sqlite3.c:122730:13: */ +func minmaxStep(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { /* sqlite3.c:122743:13: */ var pArg uintptr = *(*uintptr)(unsafe.Pointer(argv)) var pBest uintptr _ = NotUsed @@ -103730,7 +103749,7 @@ func minmaxStep(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { / } } -func minMaxValueFinalize(tls *libc.TLS, context uintptr, bValue int32) { /* sqlite3.c:122768:13: */ +func minMaxValueFinalize(tls *libc.TLS, context uintptr, bValue int32) { /* sqlite3.c:122781:13: */ var pRes uintptr pRes = Xsqlite3_aggregate_context(tls, context, 0) if pRes != 0 { @@ -103743,11 +103762,11 @@ func minMaxValueFinalize(tls *libc.TLS, context uintptr, bValue int32) { /* sqli } } -func minMaxValue(tls *libc.TLS, context uintptr) { /* sqlite3.c:122779:13: */ +func minMaxValue(tls *libc.TLS, context uintptr) { /* sqlite3.c:122792:13: */ minMaxValueFinalize(tls, context, 1) } -func minMaxFinalize(tls *libc.TLS, context uintptr) { /* sqlite3.c:122785:13: */ +func minMaxFinalize(tls *libc.TLS, context uintptr) { /* sqlite3.c:122798:13: */ minMaxValueFinalize(tls, context, 0) } @@ -103763,9 +103782,9 @@ type GroupConcatCtx = struct { FnAccum int32 FnFirstSepLength int32 FpnSepLengths uintptr -} /* sqlite3.c:122810:3 */ +} /* sqlite3.c:122823:3 */ -func groupConcatStep(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122812:13: */ +func groupConcatStep(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122825:13: */ var zVal uintptr var pGCC uintptr var zSep uintptr @@ -103830,7 +103849,7 @@ func groupConcatStep(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { } } -func groupConcatInverse(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122883:13: */ +func groupConcatInverse(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122896:13: */ var pGCC uintptr _ = argc // Suppress unused parameter warning @@ -103872,7 +103891,7 @@ func groupConcatInverse(tls *libc.TLS, context uintptr, argc int32, argv uintptr } } -func groupConcatFinalize(tls *libc.TLS, context uintptr) { /* sqlite3.c:122929:13: */ +func groupConcatFinalize(tls *libc.TLS, context uintptr) { /* sqlite3.c:122942:13: */ var pGCC uintptr = Xsqlite3_aggregate_context(tls, context, 0) if pGCC != 0 { Xsqlite3ResultStrAccum(tls, context, pGCC) @@ -103880,7 +103899,7 @@ func groupConcatFinalize(tls *libc.TLS, context uintptr) { /* sqlite3.c:122929:1 } } -func groupConcatValue(tls *libc.TLS, context uintptr) { /* sqlite3.c:122940:13: */ +func groupConcatValue(tls *libc.TLS, context uintptr) { /* sqlite3.c:122953:13: */ var pGCC uintptr = Xsqlite3_aggregate_context(tls, context, 0) if pGCC != 0 { var pAccum uintptr = pGCC @@ -103898,7 +103917,7 @@ func groupConcatValue(tls *libc.TLS, context uintptr) { /* sqlite3.c:122940:13: // This routine does per-connection function registration. Most // of the built-in functions above are part of the global function set. // This routine only deals with those that are not global. -func Xsqlite3RegisterPerConnectionBuiltinFunctions(tls *libc.TLS, db uintptr) { /* sqlite3.c:122964:21: */ +func Xsqlite3RegisterPerConnectionBuiltinFunctions(tls *libc.TLS, db uintptr) { /* sqlite3.c:122977:21: */ var rc int32 = Xsqlite3_overload_function(tls, db, ts+14865, 2) if rc == SQLITE_NOMEM { @@ -103909,7 +103928,7 @@ func Xsqlite3RegisterPerConnectionBuiltinFunctions(tls *libc.TLS, db uintptr) { // Re-register the built-in LIKE functions. The caseSensitive // parameter determines whether or not the LIKE operator is case // sensitive. -func Xsqlite3RegisterLikeFunctions(tls *libc.TLS, db uintptr, caseSensitive int32) { /* sqlite3.c:122977:21: */ +func Xsqlite3RegisterLikeFunctions(tls *libc.TLS, db uintptr, caseSensitive int32) { /* sqlite3.c:122990:21: */ var pInfo uintptr var flags int32 if caseSensitive != 0 { @@ -103944,7 +103963,7 @@ func Xsqlite3RegisterLikeFunctions(tls *libc.TLS, db uintptr, caseSensitive int3 // the function (default for LIKE). If the function makes the distinction // between uppercase and lowercase (as does GLOB) then *pIsNocase is set to // false. -func Xsqlite3IsLikeFunction(tls *libc.TLS, db uintptr, pExpr uintptr, pIsNocase uintptr, aWc uintptr) int32 { /* sqlite3.c:123010:20: */ +func Xsqlite3IsLikeFunction(tls *libc.TLS, db uintptr, pExpr uintptr, pIsNocase uintptr, aWc uintptr) int32 { /* sqlite3.c:123023:20: */ var pDef uintptr var nExpr int32 @@ -104000,7 +104019,7 @@ func Xsqlite3IsLikeFunction(tls *libc.TLS, db uintptr, pExpr uintptr, pIsNocase // // The sqlite3_user_data() pointer is a pointer to the libm implementation // of the underlying C function. -func ceilingFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:123081:13: */ +func ceilingFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:123094:13: */ switch Xsqlite3_value_numeric_type(tls, *(*uintptr)(unsafe.Pointer(argv))) { case SQLITE_INTEGER: @@ -104029,11 +104048,11 @@ func ceilingFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* // On some systems, ceil() and floor() are intrinsic function. You are // unable to take a pointer to these functions. Hence, we here wrap them // in our own actual functions. -func xCeil(tls *libc.TLS, x float64) float64 { /* sqlite3.c:123108:15: */ +func xCeil(tls *libc.TLS, x float64) float64 { /* sqlite3.c:123121:15: */ return libc.Xceil(tls, x) } -func xFloor(tls *libc.TLS, x float64) float64 { /* sqlite3.c:123109:15: */ +func xFloor(tls *libc.TLS, x float64) float64 { /* sqlite3.c:123122:15: */ return libc.Xfloor(tls, x) } @@ -104043,7 +104062,7 @@ func xFloor(tls *libc.TLS, x float64) float64 { /* sqlite3.c:123109:15: */ // log(X) - log X base 10 // log10(X) - log X base 10 // log(B,X) - log X base B -func logFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:123119:13: */ +func logFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:123132:13: */ var x float64 var b float64 var ans float64 @@ -104100,18 +104119,18 @@ func logFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqli } // Functions to converts degrees to radians and radians to degrees. -func degToRad(tls *libc.TLS, x float64) float64 { /* sqlite3.c:123169:15: */ +func degToRad(tls *libc.TLS, x float64) float64 { /* sqlite3.c:123182:15: */ return x * (float64(3.14159265358979323846) / 180.0) } -func radToDeg(tls *libc.TLS, x float64) float64 { /* sqlite3.c:123170:15: */ +func radToDeg(tls *libc.TLS, x float64) float64 { /* sqlite3.c:123183:15: */ return x * (float64(180.0) / 3.14159265358979323846) } // Implementation of 1-argument SQL math functions: // // exp(X) - Compute e to the X-th power -func math1Func(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:123177:13: */ +func math1Func(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:123190:13: */ var type0 int32 var v0 float64 var ans float64 @@ -104132,7 +104151,7 @@ func math1Func(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sq // Implementation of 2-argument SQL math functions: // // power(X,Y) - Compute X to the Y-th power -func math2Func(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:123199:13: */ +func math2Func(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:123212:13: */ var type0 int32 var type1 int32 var v0 float64 @@ -104158,13 +104177,13 @@ func math2Func(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sq } // Implementation of 0-argument pi() function. -func piFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:123222:13: */ +func piFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:123235:13: */ Xsqlite3_result_double(tls, context, 3.14159265358979323846) } // Implementation of sign(X) function. -func signFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:123236:13: */ +func signFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:123249:13: */ var type0 int32 var x float64 _ = argc @@ -104192,7 +104211,7 @@ func signFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sql // a consequence of calling sqlite3_initialize()). // // After this routine runs -func Xsqlite3RegisterBuiltinFunctions(tls *libc.TLS) { /* sqlite3.c:123258:21: */ +func Xsqlite3RegisterBuiltinFunctions(tls *libc.TLS) { /* sqlite3.c:123271:21: */ Xsqlite3AlterFunctions(tls) Xsqlite3WindowFunctions(tls) Xsqlite3RegisterDateTimeFunctions(tls) @@ -104305,7 +104324,7 @@ var aBuiltinFunc = [101]FuncDef{ {FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_FUNC_CONSTANT | SQLITE_UTF8 | 0*SQLITE_FUNC_NEEDCOLL), FxSFunc: 0, FzName: ts + 15507}, {FnArg: int8(1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_FUNC_CONSTANT | SQLITE_UTF8 | 0*SQLITE_FUNC_NEEDCOLL), FxSFunc: 0, FzName: ts + 15510}, {FnArg: int8(-1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_UTF8 | SQLITE_FUNC_INLINE | SQLITE_FUNC_CONSTANT | 0), FxSFunc: 0, FzName: ts + 15350}, - {FnArg: int8(3), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_UTF8 | SQLITE_FUNC_INLINE | SQLITE_FUNC_CONSTANT | 0), FpUserData: uintptr(INLINEFUNC_iif), FxSFunc: 0, FzName: ts + 15515}} /* sqlite3.c:123269:18 */ + {FnArg: int8(3), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_UTF8 | SQLITE_FUNC_INLINE | SQLITE_FUNC_CONSTANT | 0), FpUserData: uintptr(INLINEFUNC_iif), FxSFunc: 0, FzName: ts + 15515}} /* sqlite3.c:123282:18 */ //************* End of func.c *********************************************** //************* Begin file fkey.c ******************************************* @@ -104480,7 +104499,7 @@ var aBuiltinFunc = [101]FuncDef{ // then non-zero is returned, and a "foreign key mismatch" error loaded // into pParse. If an OOM error occurs, non-zero is returned and the // pParse->db->mallocFailed flag is set. -func Xsqlite3FkLocateIndex(tls *libc.TLS, pParse uintptr, pParent uintptr, pFKey uintptr, ppIdx uintptr, paiCol uintptr) int32 { /* sqlite3.c:123622:20: */ +func Xsqlite3FkLocateIndex(tls *libc.TLS, pParse uintptr, pParent uintptr, pFKey uintptr, ppIdx uintptr, paiCol uintptr) int32 { /* sqlite3.c:123635:20: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -104626,7 +104645,7 @@ func Xsqlite3FkLocateIndex(tls *libc.TLS, pParse uintptr, pParent uintptr, pFKey // // These operations are identified in the comment at the top of this file // (fkey.c) as "I.1" and "D.1". -func fkLookupParent(tls *libc.TLS, pParse uintptr, iDb int32, pTab uintptr, pIdx uintptr, pFKey uintptr, aiCol uintptr, regData int32, nIncr int32, isIgnore int32) { /* sqlite3.c:123759:13: */ +func fkLookupParent(tls *libc.TLS, pParse uintptr, iDb int32, pTab uintptr, pIdx uintptr, pFKey uintptr, aiCol uintptr, regData int32, nIncr int32, isIgnore int32) { /* sqlite3.c:123772:13: */ var i int32 // Iterator variable var v uintptr = Xsqlite3GetVdbe(tls, pParse) // Vdbe to add code to var iCur int32 = (*Parse)(unsafe.Pointer(pParse)).FnTab - 1 // Cursor number to use @@ -104756,7 +104775,7 @@ func fkLookupParent(tls *libc.TLS, pParse uintptr, iDb int32, pTab uintptr, pIdx // regBase is the first of an array of register that contains the data // for pTab. regBase itself holds the rowid. regBase+1 holds the first // column. regBase+2 holds the second column, and so forth. -func exprTableRegister(tls *libc.TLS, pParse uintptr, pTab uintptr, regBase int32, iCol I16) uintptr { /* sqlite3.c:123912:13: */ +func exprTableRegister(tls *libc.TLS, pParse uintptr, pTab uintptr, regBase int32, iCol I16) uintptr { /* sqlite3.c:123925:13: */ var pExpr uintptr var pCol uintptr var zColl uintptr @@ -104783,7 +104802,7 @@ func exprTableRegister(tls *libc.TLS, pParse uintptr, pTab uintptr, regBase int3 // Return an Expr object that refers to column iCol of table pTab which // has cursor iCur. -func exprTableColumn(tls *libc.TLS, db uintptr, pTab uintptr, iCursor int32, iCol I16) uintptr { /* sqlite3.c:123944:13: */ +func exprTableColumn(tls *libc.TLS, db uintptr, pTab uintptr, iCursor int32, iCol I16) uintptr { /* sqlite3.c:123957:13: */ var pExpr uintptr = Xsqlite3Expr(tls, db, TK_COLUMN, uintptr(0)) if pExpr != 0 { @@ -104824,7 +104843,7 @@ func exprTableColumn(tls *libc.TLS, db uintptr, pTab uintptr, iCursor int32, iCo // // These operations are identified in the comment at the top of this file // (fkey.c) as "I.2" and "D.2". -func fkScanChildren(tls *libc.TLS, pParse uintptr, pSrc uintptr, pTab uintptr, pIdx uintptr, pFKey uintptr, aiCol uintptr, regData int32, nIncr int32) { /* sqlite3.c:123992:13: */ +func fkScanChildren(tls *libc.TLS, pParse uintptr, pSrc uintptr, pTab uintptr, pIdx uintptr, pFKey uintptr, aiCol uintptr, regData int32, nIncr int32) { /* sqlite3.c:124005:13: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -104948,7 +104967,7 @@ func fkScanChildren(tls *libc.TLS, pParse uintptr, pSrc uintptr, pTab uintptr, p // "t2". Calling this function with "t2" as the argument would return a // NULL pointer (as there are no FK constraints for which t2 is the parent // table). -func Xsqlite3FkReferences(tls *libc.TLS, pTab uintptr) uintptr { /* sqlite3.c:124121:21: */ +func Xsqlite3FkReferences(tls *libc.TLS, pTab uintptr) uintptr { /* sqlite3.c:124134:21: */ return Xsqlite3HashFind(tls, (*Table)(unsafe.Pointer(pTab)).FpSchema+56, (*Table)(unsafe.Pointer(pTab)).FzName) } @@ -104958,7 +104977,7 @@ func Xsqlite3FkReferences(tls *libc.TLS, pTab uintptr) uintptr { /* sqlite3.c:12 // // The Trigger structure or any of its sub-components may be allocated from // the lookaside buffer belonging to database handle dbMem. -func fkTriggerDelete(tls *libc.TLS, dbMem uintptr, p uintptr) { /* sqlite3.c:124133:13: */ +func fkTriggerDelete(tls *libc.TLS, dbMem uintptr, p uintptr) { /* sqlite3.c:124146:13: */ if p != 0 { var pStep uintptr = (*Trigger)(unsafe.Pointer(p)).Fstep_list Xsqlite3ExprDelete(tls, dbMem, (*TriggerStep)(unsafe.Pointer(pStep)).FpWhere) @@ -104972,7 +104991,7 @@ func fkTriggerDelete(tls *libc.TLS, dbMem uintptr, p uintptr) { /* sqlite3.c:124 // Clear the apTrigger[] cache of CASCADE triggers for all foreign keys // in a particular database. This needs to happen when the schema // changes. -func Xsqlite3FkClearTriggerCache(tls *libc.TLS, db uintptr, iDb int32) { /* sqlite3.c:124149:21: */ +func Xsqlite3FkClearTriggerCache(tls *libc.TLS, db uintptr, iDb int32) { /* sqlite3.c:124162:21: */ var k uintptr var pHash uintptr = (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(iDb)*16)).FpSchema + 8 for k = (*Hash)(unsafe.Pointer(pHash)).Ffirst; k != 0; k = (*HashElem)(unsafe.Pointer(k)).Fnext { @@ -105005,7 +105024,7 @@ func Xsqlite3FkClearTriggerCache(tls *libc.TLS, db uintptr, iDb int32) { /* sqli // then the equivalent of "DELETE FROM " is executed before dropping // the table from the database. Triggers are disabled while running this // DELETE, but foreign key actions are not. -func Xsqlite3FkDropTable(tls *libc.TLS, pParse uintptr, pName uintptr, pTab uintptr) { /* sqlite3.c:124180:21: */ +func Xsqlite3FkDropTable(tls *libc.TLS, pParse uintptr, pName uintptr, pTab uintptr) { /* sqlite3.c:124193:21: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb if (*Sqlite3)(unsafe.Pointer(db)).Fflags&uint64(SQLITE_ForeignKeys) != 0 && int32((*Table)(unsafe.Pointer(pTab)).FeTabType) == TABTYP_NORM { var iSkip int32 = 0 @@ -105068,7 +105087,7 @@ func Xsqlite3FkDropTable(tls *libc.TLS, pParse uintptr, pName uintptr, pTab uint // // This function returns true if any of the columns that are part of the // child key for FK constraint *p are modified. -func fkChildIsModified(tls *libc.TLS, pTab uintptr, p uintptr, aChange uintptr, bChngRowid int32) int32 { /* sqlite3.c:124243:12: */ +func fkChildIsModified(tls *libc.TLS, pTab uintptr, p uintptr, aChange uintptr, bChngRowid int32) int32 { /* sqlite3.c:124256:12: */ var i int32 for i = 0; i < (*FKey)(unsafe.Pointer(p)).FnCol; i++ { var iChildKey int32 = (*sColMap)(unsafe.Pointer(p + 36 + uintptr(i)*8)).FiFrom @@ -105092,7 +105111,7 @@ func fkChildIsModified(tls *libc.TLS, pTab uintptr, p uintptr, aChange uintptr, // // This function returns true if any of the columns that are part of the // parent key for FK constraint *p are modified. -func fkParentIsModified(tls *libc.TLS, pTab uintptr, p uintptr, aChange uintptr, bChngRowid int32) int32 { /* sqlite3.c:124270:12: */ +func fkParentIsModified(tls *libc.TLS, pTab uintptr, p uintptr, aChange uintptr, bChngRowid int32) int32 { /* sqlite3.c:124283:12: */ var i int32 for i = 0; i < (*FKey)(unsafe.Pointer(p)).FnCol; i++ { var zKey uintptr = (*sColMap)(unsafe.Pointer(p + 36 + uintptr(i)*8)).FzCol @@ -105116,7 +105135,7 @@ func fkParentIsModified(tls *libc.TLS, pTab uintptr, p uintptr, aChange uintptr, // Return true if the parser passed as the first argument is being // used to code a trigger that is really a "SET NULL" action belonging // to trigger pFKey. -func isSetNullAction(tls *libc.TLS, pParse uintptr, pFKey uintptr) int32 { /* sqlite3.c:124299:12: */ +func isSetNullAction(tls *libc.TLS, pParse uintptr, pFKey uintptr) int32 { /* sqlite3.c:124312:12: */ var pTop uintptr = func() uintptr { if (*Parse)(unsafe.Pointer(pParse)).FpToplevel != 0 { return (*Parse)(unsafe.Pointer(pParse)).FpToplevel @@ -105151,7 +105170,7 @@ func isSetNullAction(tls *libc.TLS, pParse uintptr, pFKey uintptr) int32 { /* sq // the original record is deleted from the table using the calling convention // described for DELETE. Then again after the original record is deleted // but before the new record is inserted using the INSERT convention. -func Xsqlite3FkCheck(tls *libc.TLS, pParse uintptr, pTab uintptr, regOld int32, regNew int32, aChange uintptr, bChngRowid int32) { /* sqlite3.c:124332:21: */ +func Xsqlite3FkCheck(tls *libc.TLS, pParse uintptr, pTab uintptr, regOld int32, regNew int32, aChange uintptr, bChngRowid int32) { /* sqlite3.c:124345:21: */ bp := tls.Alloc(20) defer tls.Free(20) @@ -105353,7 +105372,7 @@ func Xsqlite3FkCheck(tls *libc.TLS, pParse uintptr, pTab uintptr, regOld int32, // This function is called before generating code to update or delete a // row contained in table pTab. -func Xsqlite3FkOldmask(tls *libc.TLS, pParse uintptr, pTab uintptr) U32 { /* sqlite3.c:124535:20: */ +func Xsqlite3FkOldmask(tls *libc.TLS, pParse uintptr, pTab uintptr) U32 { /* sqlite3.c:124548:20: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -105412,7 +105431,7 @@ func Xsqlite3FkOldmask(tls *libc.TLS, pParse uintptr, pTab uintptr) U32 { /* sql // not "NO ACTION" (i.e. is CASCADE, SET DEFAULT or SET NULL). // // Or, assuming some other foreign key processing is required, 1. -func Xsqlite3FkRequired(tls *libc.TLS, pParse uintptr, pTab uintptr, aChange uintptr, chngRowid int32) int32 { /* sqlite3.c:124585:20: */ +func Xsqlite3FkRequired(tls *libc.TLS, pParse uintptr, pTab uintptr, aChange uintptr, chngRowid int32) int32 { /* sqlite3.c:124598:20: */ var eRet int32 = 1 // Value to return if bHaveFK is true var bHaveFK int32 = 0 // If FK processing is required if (*Sqlite3)(unsafe.Pointer((*Parse)(unsafe.Pointer(pParse)).Fdb)).Fflags&uint64(SQLITE_ForeignKeys) != 0 && int32((*Table)(unsafe.Pointer(pTab)).FeTabType) == TABTYP_NORM { @@ -105480,7 +105499,7 @@ func Xsqlite3FkRequired(tls *libc.TLS, pParse uintptr, pTab uintptr, aChange uin // The returned pointer is cached as part of the foreign key object. It // is eventually freed along with the rest of the foreign key object by // sqlite3FkDelete(). -func fkActionTrigger(tls *libc.TLS, pParse uintptr, pTab uintptr, pFKey uintptr, pChanges uintptr) uintptr { /* sqlite3.c:124653:16: */ +func fkActionTrigger(tls *libc.TLS, pParse uintptr, pTab uintptr, pFKey uintptr, pChanges uintptr) uintptr { /* sqlite3.c:124666:16: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -105682,7 +105701,7 @@ func fkActionTrigger(tls *libc.TLS, pParse uintptr, pTab uintptr, pFKey uintptr, // This function is called when deleting or updating a row to implement // any required CASCADE, SET NULL or SET DEFAULT actions. -func Xsqlite3FkActions(tls *libc.TLS, pParse uintptr, pTab uintptr, pChanges uintptr, regOld int32, aChange uintptr, bChngRowid int32) { /* sqlite3.c:124845:21: */ +func Xsqlite3FkActions(tls *libc.TLS, pParse uintptr, pTab uintptr, pChanges uintptr, regOld int32, aChange uintptr, bChngRowid int32) { /* sqlite3.c:124858:21: */ // If foreign-key support is enabled, iterate through all FKs that // refer to table pTab. If there is an action associated with the FK // for this operation (either update or delete), invoke the associated @@ -105703,7 +105722,7 @@ func Xsqlite3FkActions(tls *libc.TLS, pParse uintptr, pTab uintptr, pChanges uin // Free all memory associated with foreign key definitions attached to // table pTab. Remove the deleted foreign keys from the Schema.fkeyHash // hash table. -func Xsqlite3FkDelete(tls *libc.TLS, db uintptr, pTab uintptr) { /* sqlite3.c:124877:21: */ +func Xsqlite3FkDelete(tls *libc.TLS, db uintptr, pTab uintptr) { /* sqlite3.c:124890:21: */ var pFKey uintptr // Iterator variable var pNext uintptr // Copy of pFKey->pNextFrom @@ -105763,7 +105782,7 @@ func Xsqlite3FkDelete(tls *libc.TLS, db uintptr, pTab uintptr) { /* sqlite3.c:12 // // If pTab is a WITHOUT ROWID table, then it is the PRIMARY KEY index // for that table that is actually opened. -func Xsqlite3OpenTable(tls *libc.TLS, pParse uintptr, iCur int32, iDb int32, pTab uintptr, opcode int32) { /* sqlite3.c:124943:21: */ +func Xsqlite3OpenTable(tls *libc.TLS, pParse uintptr, iCur int32, iDb int32, pTab uintptr, opcode int32) { /* sqlite3.c:124956:21: */ var v uintptr v = (*Parse)(unsafe.Pointer(pParse)).FpVdbe @@ -105805,7 +105824,7 @@ func Xsqlite3OpenTable(tls *libc.TLS, pParse uintptr, iCur int32, iDb int32, pTa // Memory for the buffer containing the column index affinity string // is managed along with the rest of the Index structure. It will be // released when sqlite3DeleteIndex() is called. -func Xsqlite3IndexAffinityStr(tls *libc.TLS, db uintptr, pIdx uintptr) uintptr { /* sqlite3.c:124990:27: */ +func Xsqlite3IndexAffinityStr(tls *libc.TLS, db uintptr, pIdx uintptr) uintptr { /* sqlite3.c:125003:27: */ if !(int32((*Index)(unsafe.Pointer(pIdx)).FzColAff) != 0) { // The first time a column affinity string for a particular index is // required, it is allocated and populated here. It is then stored as @@ -105884,7 +105903,7 @@ func Xsqlite3IndexAffinityStr(tls *libc.TLS, db uintptr, pIdx uintptr) uintptr { // register set as the OP_MakeRecord. If iReg>0 then register iReg is // the first of a series of registers that will form the new record. // Apply the type checking to that array of registers. -func Xsqlite3TableAffinity(tls *libc.TLS, v uintptr, pTab uintptr, iReg int32) { /* sqlite3.c:125069:21: */ +func Xsqlite3TableAffinity(tls *libc.TLS, v uintptr, pTab uintptr, iReg int32) { /* sqlite3.c:125082:21: */ var i int32 var j int32 var zColAff uintptr @@ -105942,7 +105961,7 @@ func Xsqlite3TableAffinity(tls *libc.TLS, v uintptr, pTab uintptr, iReg int32) { // have been opened at any point in the VDBE program. This is used to see if // a statement of the form "INSERT INTO SELECT ..." can // run without using a temporary table for the results of the SELECT. -func readsTable(tls *libc.TLS, p uintptr, iDb int32, pTab uintptr) int32 { /* sqlite3.c:125130:12: */ +func readsTable(tls *libc.TLS, p uintptr, iDb int32, pTab uintptr) int32 { /* sqlite3.c:125143:12: */ var v uintptr = Xsqlite3GetVdbe(tls, p) var i int32 var iEnd int32 = Xsqlite3VdbeCurrentAddr(tls, v) @@ -105978,7 +105997,7 @@ func readsTable(tls *libc.TLS, p uintptr, iDb int32, pTab uintptr) int32 { /* sq // This walker callback will compute the union of colFlags flags for all // referenced columns in a CHECK constraint or generated column expression. -func exprColumnFlagUnion(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:125167:12: */ +func exprColumnFlagUnion(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:125180:12: */ if int32((*Expr)(unsafe.Pointer(pExpr)).Fop) == TK_COLUMN && int32((*Expr)(unsafe.Pointer(pExpr)).FiColumn) >= 0 { *(*U16)(unsafe.Pointer(pWalker + 20)) |= U16(int32((*Column)(unsafe.Pointer((*Table1)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pWalker + 24)))).FaCol + uintptr((*Expr)(unsafe.Pointer(pExpr)).FiColumn)*16)).FcolFlags)) @@ -105991,7 +106010,7 @@ func exprColumnFlagUnion(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { // or VIRTUAL columns have not yet been initialized. This routine goes // back and computes the values for those columns based on the previously // computed normal columns. -func Xsqlite3ComputeGeneratedColumns(tls *libc.TLS, pParse uintptr, iRegStore int32, pTab uintptr) { /* sqlite3.c:125183:21: */ +func Xsqlite3ComputeGeneratedColumns(tls *libc.TLS, pParse uintptr, iRegStore int32, pTab uintptr) { /* sqlite3.c:125196:21: */ bp := tls.Alloc(36) defer tls.Free(36) @@ -106104,7 +106123,7 @@ func Xsqlite3ComputeGeneratedColumns(tls *libc.TLS, pParse uintptr, iRegStore in // // The 2nd register is the one that is returned. That is all the // insert routine needs to know about. -func autoIncBegin(tls *libc.TLS, pParse uintptr, iDb int32, pTab uintptr) int32 { /* sqlite3.c:125307:12: */ +func autoIncBegin(tls *libc.TLS, pParse uintptr, iDb int32, pTab uintptr) int32 { /* sqlite3.c:125320:12: */ var memId int32 = 0 // Register holding maximum rowid if (*Table)(unsafe.Pointer(pTab)).FtabFlags&U32(TF_Autoincrement) != U32(0) && @@ -106158,7 +106177,7 @@ func autoIncBegin(tls *libc.TLS, pParse uintptr, iDb int32, pTab uintptr) int32 // This routine generates code that will initialize all of the // register used by the autoincrement tracker. -func Xsqlite3AutoincrementBegin(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:125358:21: */ +func Xsqlite3AutoincrementBegin(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:125371:21: */ var p uintptr // Information about an AUTOINCREMENT var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb // The database connection var pDb uintptr // Database only autoinc table @@ -106198,7 +106217,7 @@ func Xsqlite3AutoincrementBegin(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:12 } } -var iLn1 int32 = 0 /* sqlite3.c:125372:22 */ +var iLn1 int32 = 0 /* sqlite3.c:125385:22 */ var autoInc = [12]VdbeOpList{ /* 0 */ {Fopcode: U8(OP_Null)}, /* 1 */ {Fopcode: U8(OP_Rewind), Fp2: int8(10)}, @@ -106212,7 +106231,7 @@ var autoInc = [12]VdbeOpList{ /* 9 */ {Fopcode: U8(OP_Next), Fp2: int8(2)}, /* 10 */ {Fopcode: U8(OP_Integer)}, /* 11 */ {Fopcode: U8(OP_Close)}, -} /* sqlite3.c:125373:29 */ +} /* sqlite3.c:125386:29 */ // Update the maximum rowid for an autoincrement calculation. // @@ -106220,7 +106239,7 @@ var autoInc = [12]VdbeOpList{ // new rowid that is about to be inserted. If that new rowid is // larger than the maximum rowid in the memId memory cell, then the // memory cell is updated. -func autoIncStep(tls *libc.TLS, pParse uintptr, memId int32, regRowid int32) { /* sqlite3.c:125419:13: */ +func autoIncStep(tls *libc.TLS, pParse uintptr, memId int32, regRowid int32) { /* sqlite3.c:125432:13: */ if memId > 0 { Xsqlite3VdbeAddOp2(tls, (*Parse)(unsafe.Pointer(pParse)).FpVdbe, OP_MemMax, memId, regRowid) } @@ -106231,7 +106250,7 @@ func autoIncStep(tls *libc.TLS, pParse uintptr, memId int32, regRowid int32) { / // Every statement that might do an INSERT into an autoincrement // table (either directly or through triggers) needs to call this // routine just before the "exit" code. -func autoIncrementEnd(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:125432:29: */ +func autoIncrementEnd(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:125445:29: */ var p uintptr var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb @@ -106262,16 +106281,16 @@ func autoIncrementEnd(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:125432:29: * } } -var iLn2 int32 = 0 /* sqlite3.c:125439:22 */ +var iLn2 int32 = 0 /* sqlite3.c:125452:22 */ var autoIncEnd = [5]VdbeOpList{ /* 0 */ {Fopcode: U8(OP_NotNull), Fp2: int8(2)}, /* 1 */ {Fopcode: U8(OP_NewRowid)}, /* 2 */ {Fopcode: U8(OP_MakeRecord), Fp2: int8(2)}, /* 3 */ {Fopcode: U8(OP_Insert)}, /* 4 */ {Fopcode: U8(OP_Close)}, -} /* sqlite3.c:125440:29 */ +} /* sqlite3.c:125453:29 */ -func Xsqlite3AutoincrementEnd(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:125469:21: */ +func Xsqlite3AutoincrementEnd(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:125482:21: */ if (*Parse)(unsafe.Pointer(pParse)).FpAinc != 0 { autoIncrementEnd(tls, pParse) } @@ -106372,7 +106391,7 @@ func Xsqlite3AutoincrementEnd(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:1254 // transfer values form intermediate table into
// end loop // D: cleanup -func Xsqlite3Insert(tls *libc.TLS, pParse uintptr, pTabList uintptr, pSelect uintptr, pColumn uintptr, onError int32, pUpsert uintptr) { /* sqlite3.c:125588:21: */ +func Xsqlite3Insert(tls *libc.TLS, pParse uintptr, pTabList uintptr, pSelect uintptr, pColumn uintptr, onError int32, pUpsert uintptr) { /* sqlite3.c:125601:21: */ bp := tls.Alloc(148) defer tls.Free(148) @@ -107426,7 +107445,7 @@ insert_cleanup: // Set bit 0x01 of pWalker->eCode if pWalker->eCode to 0 and if this // expression node references any of the // columns that are being modifed by an UPDATE statement. -func checkConstraintExprNode(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:126347:12: */ +func checkConstraintExprNode(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:126360:12: */ if int32((*Expr)(unsafe.Pointer(pExpr)).Fop) == TK_COLUMN { if int32((*Expr)(unsafe.Pointer(pExpr)).FiColumn) >= 0 { @@ -107453,7 +107472,7 @@ func checkConstraintExprNode(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int3 // The operation of this routine is the same - return true if an only if // the expression uses one or more of columns identified by the second and // third arguments. -func Xsqlite3ExprReferencesUpdatedColumn(tls *libc.TLS, pExpr uintptr, aiChng uintptr, chngRowid int32) int32 { /* sqlite3.c:126376:20: */ +func Xsqlite3ExprReferencesUpdatedColumn(tls *libc.TLS, pExpr uintptr, aiChng uintptr, chngRowid int32) int32 { /* sqlite3.c:126389:20: */ bp := tls.Alloc(28) defer tls.Free(28) @@ -107486,7 +107505,7 @@ func Xsqlite3ExprReferencesUpdatedColumn(tls *libc.TLS, pExpr uintptr, aiChng ui type IndexListTerm1 = struct { Fp uintptr Fix int32 -} /* sqlite3.c:126409:9 */ +} /* sqlite3.c:126422:9 */ // The sqlite3GenerateConstraintChecks() routine usually wants to visit // the indexes of a table in the order provided in the Table->pIndex list. @@ -107497,7 +107516,7 @@ type IndexListTerm1 = struct { // The IndexIterator object is used to walk through all of the indexes // of a table in either Index.pNext order, or in some other order established // by an array of IndexListTerm objects. -type IndexListTerm = IndexListTerm1 /* sqlite3.c:126409:30 */ +type IndexListTerm = IndexListTerm1 /* sqlite3.c:126422:30 */ type IndexIterator1 = struct { FeType int32 Fi int32 @@ -107505,12 +107524,12 @@ type IndexIterator1 = struct { Flx struct{ FpIdx uintptr } F__ccgo_pad1 [4]byte } -} /* sqlite3.c:126410:9 */ +} /* sqlite3.c:126423:9 */ -type IndexIterator = IndexIterator1 /* sqlite3.c:126410:30 */ +type IndexIterator = IndexIterator1 /* sqlite3.c:126423:30 */ // Return the first index on the list -func indexIteratorFirst(tls *libc.TLS, pIter uintptr, pIx uintptr) uintptr { /* sqlite3.c:126434:14: */ +func indexIteratorFirst(tls *libc.TLS, pIter uintptr, pIx uintptr) uintptr { /* sqlite3.c:126447:14: */ if (*IndexIterator)(unsafe.Pointer(pIter)).FeType != 0 { *(*int32)(unsafe.Pointer(pIx)) = (*IndexListTerm)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pIter + 8 + 4 /* &.aIdx */)))).Fix @@ -107523,7 +107542,7 @@ func indexIteratorFirst(tls *libc.TLS, pIter uintptr, pIx uintptr) uintptr { /* } // Return the next index from the list. Return NULL when out of indexes -func indexIteratorNext(tls *libc.TLS, pIter uintptr, pIx uintptr) uintptr { /* sqlite3.c:126446:14: */ +func indexIteratorNext(tls *libc.TLS, pIter uintptr, pIx uintptr) uintptr { /* sqlite3.c:126459:14: */ if (*IndexIterator)(unsafe.Pointer(pIter)).FeType != 0 { var i int32 = libc.PreIncInt32(&(*IndexIterator)(unsafe.Pointer(pIter)).Fi, 1) if i >= *(*int32)(unsafe.Pointer(pIter + 8)) { @@ -107629,7 +107648,7 @@ func indexIteratorNext(tls *libc.TLS, pIter uintptr, pIx uintptr) uintptr { /* s // Or if overrideError==OE_Default, then the pParse->onError parameter // is used. Or if pParse->onError==OE_Default then the onError value // for the constraint is used. -func Xsqlite3GenerateConstraintChecks(tls *libc.TLS, pParse uintptr, pTab uintptr, aRegIdx uintptr, iDataCur int32, iIdxCur int32, regNewData int32, regOldData int32, pkChng U8, overrideError U8, ignoreDest int32, pbMayReplace uintptr, aiChng uintptr, pUpsert uintptr) { /* sqlite3.c:126553:21: */ +func Xsqlite3GenerateConstraintChecks(tls *libc.TLS, pParse uintptr, pTab uintptr, aRegIdx uintptr, iDataCur int32, iIdxCur int32, regNewData int32, regOldData int32, pkChng U8, overrideError U8, ignoreDest int32, pbMayReplace uintptr, aiChng uintptr, pUpsert uintptr) { /* sqlite3.c:126566:21: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -108487,7 +108506,7 @@ func Xsqlite3GenerateConstraintChecks(tls *libc.TLS, pParse uintptr, pTab uintpt // number is iCur, and register regData contains the new record for the // PK index. This function adds code to invoke the pre-update hook, // if one is registered. -func codeWithoutRowidPreupdate(tls *libc.TLS, pParse uintptr, pTab uintptr, iCur int32, regData int32) { /* sqlite3.c:127411:13: */ +func codeWithoutRowidPreupdate(tls *libc.TLS, pParse uintptr, pTab uintptr, iCur int32, regData int32) { /* sqlite3.c:127424:13: */ var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe var r int32 = Xsqlite3GetTempReg(tls, pParse) @@ -108504,7 +108523,7 @@ func codeWithoutRowidPreupdate(tls *libc.TLS, pParse uintptr, pTab uintptr, iCur // // The arguments to this routine should be the same as the first six // arguments to sqlite3GenerateConstraintChecks. -func Xsqlite3CompleteInsertion(tls *libc.TLS, pParse uintptr, pTab uintptr, iDataCur int32, iIdxCur int32, regNewData int32, aRegIdx uintptr, update_flags int32, appendBias int32, useSeekResult int32) { /* sqlite3.c:127439:21: */ +func Xsqlite3CompleteInsertion(tls *libc.TLS, pParse uintptr, pTab uintptr, iDataCur int32, iIdxCur int32, regNewData int32, aRegIdx uintptr, update_flags int32, appendBias int32, useSeekResult int32) { /* sqlite3.c:127452:21: */ var v uintptr // Prepared statements under construction var pIdx uintptr // An index being inserted or updated var pik_flags U8 // flag values passed to the btree insert @@ -108607,7 +108626,7 @@ __3: // // If pTab is a virtual table, then this routine is a no-op and the // *piDataCur and *piIdxCur values are left uninitialized. -func Xsqlite3OpenTableAndIndices(tls *libc.TLS, pParse uintptr, pTab uintptr, op int32, p5 U8, iBase int32, aToOpen uintptr, piDataCur uintptr, piIdxCur uintptr) int32 { /* sqlite3.c:127527:20: */ +func Xsqlite3OpenTableAndIndices(tls *libc.TLS, pParse uintptr, pTab uintptr, op int32, p5 U8, iBase int32, aToOpen uintptr, piDataCur uintptr, piIdxCur uintptr) int32 { /* sqlite3.c:127540:20: */ var i int32 var iDb int32 var iDataCur int32 @@ -108685,7 +108704,7 @@ __3: // * The same onError processing (OE_Abort, OE_Ignore, etc) // * The same collating sequence on each column // * The index has the exact same WHERE clause -func xferCompatibleIndex(tls *libc.TLS, pDest uintptr, pSrc uintptr) int32 { /* sqlite3.c:127606:12: */ +func xferCompatibleIndex(tls *libc.TLS, pDest uintptr, pSrc uintptr) int32 { /* sqlite3.c:127619:12: */ var i int32 if int32((*Index)(unsafe.Pointer(pDest)).FnKeyCol) != int32((*Index)(unsafe.Pointer(pSrc)).FnKeyCol) || int32((*Index)(unsafe.Pointer(pDest)).FnColumn) != int32((*Index)(unsafe.Pointer(pSrc)).FnColumn) { @@ -108743,7 +108762,7 @@ func xferCompatibleIndex(tls *libc.TLS, pDest uintptr, pSrc uintptr) int32 { /* // is no chance that the xfer optimization can be applied. // // This optimization is particularly useful at making VACUUM run faster. -func xferOptimization(tls *libc.TLS, pParse uintptr, pDest uintptr, pSelect uintptr, onError int32, iDbDest int32) int32 { /* sqlite3.c:127667:12: */ +func xferOptimization(tls *libc.TLS, pParse uintptr, pDest uintptr, pSelect uintptr, onError int32, iDbDest int32) int32 { /* sqlite3.c:127680:12: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb var pEList uintptr // The result set of the SELECT var pSrc uintptr // The table in the FROM clause of SELECT @@ -109123,7 +109142,7 @@ func xferOptimization(tls *libc.TLS, pParse uintptr, pDest uintptr, pSelect uint // the xCallback() function is called. pArg becomes the first // 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 Sqlite3_callback, pArg uintptr, pzErrMsg uintptr) int32 { /* sqlite3.c:128078:16: */ +func Xsqlite3_exec(tls *libc.TLS, db uintptr, zSql uintptr, xCallback Sqlite3_callback, pArg uintptr, pzErrMsg uintptr) int32 { /* sqlite3.c:128091:16: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -109144,7 +109163,7 @@ func Xsqlite3_exec(tls *libc.TLS, db uintptr, zSql uintptr, xCallback Sqlite3_ca if !!(Xsqlite3SafetyCheckOk(tls, db) != 0) { goto __1 } - return Xsqlite3MisuseError(tls, 128091) + return Xsqlite3MisuseError(tls, 128104) __1: ; if !(zSql == uintptr(0)) { @@ -109333,7 +109352,7 @@ __26: // This is the function signature used for all extension entry points. It // is also defined in the file "loadext.c". -type Sqlite3_loadext_entry = uintptr /* sqlite3.c:128572:13 */ +type Sqlite3_loadext_entry = uintptr /* sqlite3.c:128585:13 */ // The following macros redefine the API routines so that they are // redirected through the global sqlite3_api structure. @@ -109667,7 +109686,7 @@ var sqlite3Apis = Sqlite3_api_routines{ Fvtab_in: 0, Fvtab_in_first: 0, Fvtab_in_next: 0, -} /* sqlite3.c:129018:35 */ +} /* sqlite3.c:129031:35 */ // True if x is the directory separator character @@ -109681,7 +109700,7 @@ var sqlite3Apis = Sqlite3_api_routines{ // If an error occurs and pzErrMsg is not 0, then fill *pzErrMsg with // error message text. The calling function should free this memory // by calling sqlite3DbFree(db, ). -func sqlite3LoadExtension(tls *libc.TLS, db uintptr, zFile uintptr, zProc uintptr, pzErrMsg uintptr) int32 { /* sqlite3.c:129402:12: */ +func sqlite3LoadExtension(tls *libc.TLS, db uintptr, zFile uintptr, zProc uintptr, pzErrMsg uintptr) int32 { /* sqlite3.c:129415:12: */ bp := tls.Alloc(60) defer tls.Free(60) @@ -109935,9 +109954,9 @@ __28: var azEndings = [1]uintptr{ ts + 15949, -} /* sqlite3.c:129420:21 */ +} /* sqlite3.c:129433:21 */ -func Xsqlite3_load_extension(tls *libc.TLS, db uintptr, zFile uintptr, zProc uintptr, pzErrMsg uintptr) int32 { /* sqlite3.c:129553:16: */ +func Xsqlite3_load_extension(tls *libc.TLS, db uintptr, zFile uintptr, zProc uintptr, pzErrMsg uintptr) int32 { /* sqlite3.c:129566:16: */ var rc int32 Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) rc = sqlite3LoadExtension(tls, db, zFile, zProc, pzErrMsg) @@ -109948,7 +109967,7 @@ func Xsqlite3_load_extension(tls *libc.TLS, db uintptr, zFile uintptr, zProc uin // Call this routine when the database connection is closing in order // to clean up loaded extensions -func Xsqlite3CloseExtensions(tls *libc.TLS, db uintptr) { /* sqlite3.c:129571:21: */ +func Xsqlite3CloseExtensions(tls *libc.TLS, db uintptr) { /* sqlite3.c:129584:21: */ var i int32 for i = 0; i < (*Sqlite3)(unsafe.Pointer(db)).FnExtension; i++ { @@ -109959,7 +109978,7 @@ func Xsqlite3CloseExtensions(tls *libc.TLS, db uintptr) { /* sqlite3.c:129571:21 // Enable or disable extension loading. Extension loading is disabled by // default so as not to open security holes in older applications. -func Xsqlite3_enable_load_extension(tls *libc.TLS, db uintptr, onoff int32) int32 { /* sqlite3.c:129584:16: */ +func Xsqlite3_enable_load_extension(tls *libc.TLS, db uintptr, onoff int32) int32 { /* sqlite3.c:129597:16: */ Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) if onoff != 0 { *(*U64)(unsafe.Pointer(db + 28)) |= uint64(SQLITE_LoadExtension | SQLITE_LoadExtFunc) @@ -109978,15 +109997,15 @@ func Xsqlite3_enable_load_extension(tls *libc.TLS, db uintptr, onoff int32) int3 type sqlite3AutoExtList = struct { FnExt U32 FaExt uintptr -} /* sqlite3.c:129604:9 */ +} /* sqlite3.c:129617:9 */ // The following object holds the list of automatically loaded // extensions. // // This list is shared across threads. The SQLITE_MUTEX_STATIC_MAIN // mutex must be held while accessing this list. -type Sqlite3AutoExtList = sqlite3AutoExtList /* sqlite3.c:129604:35 */ -var sqlite3Autoext = sqlite3AutoExtList{} /* sqlite3.c:129608:3 */ +type Sqlite3AutoExtList = sqlite3AutoExtList /* sqlite3.c:129617:35 */ +var sqlite3Autoext = sqlite3AutoExtList{} /* sqlite3.c:129621:3 */ // The "wsdAutoext" macro will resolve to the autoextension // state vector. If writable static data is unsupported on the target, @@ -109996,7 +110015,7 @@ var sqlite3Autoext = sqlite3AutoExtList{} /* sqlite3.c:129608:3 */ // Register a statically linked extension that is automatically // loaded by every new database connection. -func Xsqlite3_auto_extension(tls *libc.TLS, xInit uintptr) int32 { /* sqlite3.c:129630:16: */ +func Xsqlite3_auto_extension(tls *libc.TLS, xInit uintptr) int32 { /* sqlite3.c:129643:16: */ var rc int32 = SQLITE_OK rc = Xsqlite3_initialize(tls) if rc != 0 { @@ -110037,7 +110056,7 @@ func Xsqlite3_auto_extension(tls *libc.TLS, xInit uintptr) int32 { /* sqlite3.c: // // 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) int32 { /* sqlite3.c:129677:16: */ +func Xsqlite3_cancel_auto_extension(tls *libc.TLS, xInit uintptr) int32 { /* sqlite3.c:129690:16: */ var mutex uintptr = Xsqlite3MutexAlloc(tls, SQLITE_MUTEX_STATIC_MAIN) var i int32 var n int32 = 0 @@ -110056,7 +110075,7 @@ func Xsqlite3_cancel_auto_extension(tls *libc.TLS, xInit uintptr) int32 { /* sql } // Reset the automatic extension loading mechanism. -func Xsqlite3_reset_auto_extension(tls *libc.TLS) { /* sqlite3.c:129702:17: */ +func Xsqlite3_reset_auto_extension(tls *libc.TLS) { /* sqlite3.c:129715:17: */ if Xsqlite3_initialize(tls) == SQLITE_OK { var mutex uintptr = Xsqlite3MutexAlloc(tls, SQLITE_MUTEX_STATIC_MAIN) @@ -110071,7 +110090,7 @@ func Xsqlite3_reset_auto_extension(tls *libc.TLS) { /* sqlite3.c:129702:17: */ // Load all automatic extensions. // // If anything goes wrong, set an error in the database connection. -func Xsqlite3AutoLoadExtensions(tls *libc.TLS, db uintptr) { /* sqlite3.c:129724:21: */ +func Xsqlite3AutoLoadExtensions(tls *libc.TLS, db uintptr) { /* sqlite3.c:129737:21: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -110208,7 +110227,7 @@ var pragCName = [57]uintptr{ ts + 16224, ts + 16235, -} /* sqlite3.c:129865:19 */ +} /* sqlite3.c:129878:19 */ // Definitions of all built-in pragmas type PragmaName1 = struct { @@ -110218,10 +110237,10 @@ type PragmaName1 = struct { FiPragCName U8 FnPragCName U8 FiArg U64 -} /* sqlite3.c:129930:9 */ +} /* sqlite3.c:129943:9 */ // Definitions of all built-in pragmas -type PragmaName = PragmaName1 /* sqlite3.c:129937:3 */ +type PragmaName = PragmaName1 /* sqlite3.c:129950:3 */ var aPragmaName = [66]PragmaName{ { /* zName: */ FzName: ts + 16243, /* ePragTyp: */ FePragTyp: U8(PragTyp_ANALYSIS_LIMIT), @@ -110458,7 +110477,7 @@ var aPragmaName = [66]PragmaName{ /* ePragTyp: */ FePragTyp: U8(PragTyp_FLAG), /* ePragFlg: */ FmPragFlg: U8(PragFlg_Result0 | PragFlg_NoColumns1), /* iArg: */ FiArg: uint64(SQLITE_WriteSchema | SQLITE_NoSchemaError)}, -} /* sqlite3.c:129938:25 */ +} /* sqlite3.c:129951:25 */ // Number of pragmas: 68 on by default, 78 total. @@ -110474,7 +110493,7 @@ var aPragmaName = [66]PragmaName{ // should be passed into sqlite3BtreeSetSafetyLevel(). The is done // to support legacy SQL code. The safety level used to be boolean // and older scripts may have used numbers 0 for OFF and 1 for ON. -func getSafetyLevel(tls *libc.TLS, z uintptr, omitFull int32, dflt U8) U8 { /* sqlite3.c:130472:11: */ +func getSafetyLevel(tls *libc.TLS, z uintptr, omitFull int32, dflt U8) U8 { /* sqlite3.c:130485:11: */ // on no off false yes true extra full var i int32 var n int32 @@ -110491,13 +110510,13 @@ func getSafetyLevel(tls *libc.TLS, z uintptr, omitFull int32, dflt U8) U8 { /* s return dflt } -var zText = *(*[25]int8)(unsafe.Pointer(ts + 17210)) /* sqlite3.c:130474:21 */ -var iOffset = [8]U8{U8(0), U8(1), U8(2), U8(4), U8(9), U8(12), U8(15), U8(20)} /* sqlite3.c:130475:19 */ -var iLength = [8]U8{U8(2), U8(2), U8(3), U8(5), U8(3), U8(4), U8(5), U8(4)} /* sqlite3.c:130476:19 */ -var iValue = [8]U8{U8(1), U8(0), U8(0), U8(0), U8(1), U8(1), U8(3), U8(2)} /* sqlite3.c:130477:19 */ +var zText = *(*[25]int8)(unsafe.Pointer(ts + 17210)) /* sqlite3.c:130487:21 */ +var iOffset = [8]U8{U8(0), U8(1), U8(2), U8(4), U8(9), U8(12), U8(15), U8(20)} /* sqlite3.c:130488:19 */ +var iLength = [8]U8{U8(2), U8(2), U8(3), U8(5), U8(3), U8(4), U8(5), U8(4)} /* sqlite3.c:130489:19 */ +var iValue = [8]U8{U8(1), U8(0), U8(0), U8(0), U8(1), U8(1), U8(3), U8(2)} /* sqlite3.c:130490:19 */ // Interpret the given string as a boolean value. -func Xsqlite3GetBoolean(tls *libc.TLS, z uintptr, dflt U8) U8 { /* sqlite3.c:130497:19: */ +func Xsqlite3GetBoolean(tls *libc.TLS, z uintptr, dflt U8) U8 { /* sqlite3.c:130510:19: */ return U8(libc.Bool32(int32(getSafetyLevel(tls, z, 1, dflt)) != 0)) } @@ -110506,7 +110525,7 @@ func Xsqlite3GetBoolean(tls *libc.TLS, z uintptr, dflt U8) U8 { /* sqlite3.c:130 // the rest of the file if PRAGMAs are omitted from the build. // Interpret the given string as a locking mode value. -func getLockingMode(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:130510:12: */ +func getLockingMode(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:130523:12: */ if z != 0 { if 0 == Xsqlite3StrICmp(tls, z, ts+17235) { return PAGER_LOCKINGMODE_EXCLUSIVE @@ -110522,7 +110541,7 @@ func getLockingMode(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:130510:12: */ // // The following strings, "none", "full" and "incremental" are // acceptable, as are their numeric equivalents: 0, 1 and 2 respectively. -func getAutoVacuum(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:130525:12: */ +func getAutoVacuum(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:130538:12: */ var i int32 if 0 == Xsqlite3StrICmp(tls, z, ts+7905) { return BTREE_AUTOVACUUM_NONE @@ -110545,7 +110564,7 @@ func getAutoVacuum(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:130525:12: */ // Interpret the given string as a temp db location. Return 1 for file // backed temporary databases, 2 for the Red-Black tree in memory database // and 0 to use the compile-time default. -func getTempStore(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:130541:12: */ +func getTempStore(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:130554:12: */ if int32(*(*int8)(unsafe.Pointer(z))) >= '0' && int32(*(*int8)(unsafe.Pointer(z))) <= '2' { return int32(*(*int8)(unsafe.Pointer(z))) - '0' } else if Xsqlite3StrICmp(tls, z, ts+16185) == 0 { @@ -110560,7 +110579,7 @@ func getTempStore(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:130541:12: */ // Invalidate temp storage, either when the temp storage is changed // from default, or when 'file' and the temp_store_directory has changed -func invalidateTempStorage(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:130559:12: */ +func invalidateTempStorage(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:130572:12: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb if (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+1*16)).FpBt != uintptr(0) { if !(int32((*Sqlite3)(unsafe.Pointer(db)).FautoCommit) != 0) || @@ -110579,7 +110598,7 @@ func invalidateTempStorage(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:1 // If the TEMP database is open, close it and mark the database schema // as needing reloading. This must be done when using the SQLITE_TEMP_STORE // or DEFAULT_TEMP_STORE pragmas. -func changeTempStorage(tls *libc.TLS, pParse uintptr, zStorageType uintptr) int32 { /* sqlite3.c:130583:12: */ +func changeTempStorage(tls *libc.TLS, pParse uintptr, zStorageType uintptr) int32 { /* sqlite3.c:130596:12: */ var ts int32 = getTempStore(tls, zStorageType) var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb if int32((*Sqlite3)(unsafe.Pointer(db)).Ftemp_store) == ts { @@ -110593,7 +110612,7 @@ func changeTempStorage(tls *libc.TLS, pParse uintptr, zStorageType uintptr) int3 } // Set result column names for a pragma. -func setPragmaResultColumnNames(tls *libc.TLS, v uintptr, pPragma uintptr) { /* sqlite3.c:130598:13: */ +func setPragmaResultColumnNames(tls *libc.TLS, v uintptr, pPragma uintptr) { /* sqlite3.c:130611:13: */ var n U8 = (*PragmaName)(unsafe.Pointer(pPragma)).FnPragCName Xsqlite3VdbeSetNumCols(tls, v, func() int32 { if int32(n) == 0 { @@ -110627,7 +110646,7 @@ func setPragmaResultColumnNames(tls *libc.TLS, v uintptr, pPragma uintptr) { /* } // Generate code to return a single integer value. -func returnSingleInt(tls *libc.TLS, v uintptr, value I64) { /* sqlite3.c:130617:13: */ +func returnSingleInt(tls *libc.TLS, v uintptr, value I64) { /* sqlite3.c:130630:13: */ bp := tls.Alloc(8) defer tls.Free(8) *(*I64)(unsafe.Pointer(bp)) = value @@ -110637,7 +110656,7 @@ func returnSingleInt(tls *libc.TLS, v uintptr, value I64) { /* sqlite3.c:130617: } // Generate code to return a single text value. -func returnSingleText(tls *libc.TLS, v uintptr, zValue uintptr) { /* sqlite3.c:130625:13: */ +func returnSingleText(tls *libc.TLS, v uintptr, zValue uintptr) { /* sqlite3.c:130638:13: */ if zValue != 0 { Xsqlite3VdbeLoadString(tls, v, 1, zValue) Xsqlite3VdbeAddOp2(tls, v, OP_ResultRow, 1, 1) @@ -110646,7 +110665,7 @@ func returnSingleText(tls *libc.TLS, v uintptr, zValue uintptr) { /* sqlite3.c:1 // Set the safety_level and pager flags for pager iDb. Or if iDb<0 // set these values for all pagers. -func setAllPagerFlags(tls *libc.TLS, db uintptr) { /* sqlite3.c:130641:13: */ +func setAllPagerFlags(tls *libc.TLS, db uintptr) { /* sqlite3.c:130654:13: */ if (*Sqlite3)(unsafe.Pointer(db)).FautoCommit != 0 { var pDb uintptr = (*Sqlite3)(unsafe.Pointer(db)).FaDb var n int32 = (*Sqlite3)(unsafe.Pointer(db)).FnDb @@ -110662,7 +110681,7 @@ func setAllPagerFlags(tls *libc.TLS, db uintptr) { /* sqlite3.c:130641:13: */ } // Return a human-readable name for a constraint resolution action. -func actionName(tls *libc.TLS, action U8) uintptr { /* sqlite3.c:130669:19: */ +func actionName(tls *libc.TLS, action U8) uintptr { /* sqlite3.c:130682:19: */ var zName uintptr switch int32(action) { case OE_SetNull: @@ -110687,7 +110706,7 @@ func actionName(tls *libc.TLS, action U8) uintptr { /* sqlite3.c:130669:19: */ // Parameter eMode must be one of the PAGER_JOURNALMODE_XXX constants // defined in pager.h. This function returns the associated lowercase // journal-mode name. -func Xsqlite3JournalModename(tls *libc.TLS, eMode int32) uintptr { /* sqlite3.c:130689:27: */ +func Xsqlite3JournalModename(tls *libc.TLS, eMode int32) uintptr { /* sqlite3.c:130702:27: */ if eMode == int32(uint32(unsafe.Sizeof(azModeName))/uint32(unsafe.Sizeof(uintptr(0)))) { return uintptr(0) @@ -110697,10 +110716,10 @@ func Xsqlite3JournalModename(tls *libc.TLS, eMode int32) uintptr { /* sqlite3.c: var azModeName = [6]uintptr{ ts + 17386, ts + 17393, ts + 17401, ts + 17405, ts + 17269, ts + 17414, -} /* sqlite3.c:130690:15 */ +} /* sqlite3.c:130703:15 */ // Locate a pragma in the aPragmaName[] array. -func pragmaLocate(tls *libc.TLS, zName uintptr) uintptr { /* sqlite3.c:130711:25: */ +func pragmaLocate(tls *libc.TLS, zName uintptr) uintptr { /* sqlite3.c:130724:25: */ var upr int32 var lwr int32 var mid int32 = 0 @@ -110727,7 +110746,7 @@ func pragmaLocate(tls *libc.TLS, zName uintptr) uintptr { /* sqlite3.c:130711:25 // Create zero or more entries in the output for the SQL functions // defined by FuncDef p. -func pragmaFunclistLine(tls *libc.TLS, v uintptr, p uintptr, isBuiltin int32, showInternFuncs int32) { /* sqlite3.c:130732:13: */ +func pragmaFunclistLine(tls *libc.TLS, v uintptr, p uintptr, isBuiltin int32, showInternFuncs int32) { /* sqlite3.c:130745:13: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -110756,15 +110775,15 @@ func pragmaFunclistLine(tls *libc.TLS, v uintptr, p uintptr, isBuiltin int32, sh } } -var mask U32 = U32(SQLITE_DETERMINISTIC | SQLITE_DIRECTONLY | SQLITE_SUBTYPE | SQLITE_INNOCUOUS | SQLITE_FUNC_INTERNAL) /* sqlite3.c:130740:22 */ -var azEnc = [4]uintptr{uintptr(0), ts + 17429, ts + 17434, ts + 17442 /* "utf16be" */} /* sqlite3.c:130747:23 */ +var mask U32 = U32(SQLITE_DETERMINISTIC | SQLITE_DIRECTONLY | SQLITE_SUBTYPE | SQLITE_INNOCUOUS | SQLITE_FUNC_INTERNAL) /* sqlite3.c:130753:22 */ +var azEnc = [4]uintptr{uintptr(0), ts + 17429, ts + 17434, ts + 17442 /* "utf16be" */} /* sqlite3.c:130760:23 */ // Helper subroutine for PRAGMA integrity_check: // // Generate code to output a single-column result row with a value of the // string held in register 3. Decrement the result count in register 1 // and halt if the maximum number of result rows have been issued. -func integrityCheckResultRow(tls *libc.TLS, v uintptr) int32 { /* sqlite3.c:130784:12: */ +func integrityCheckResultRow(tls *libc.TLS, v uintptr) int32 { /* sqlite3.c:130797:12: */ var addr int32 Xsqlite3VdbeAddOp2(tls, v, OP_ResultRow, 3, 1) addr = Xsqlite3VdbeAddOp3(tls, v, OP_IfPos, 1, Xsqlite3VdbeCurrentAddr(tls, v)+2, 1) @@ -110786,7 +110805,7 @@ func integrityCheckResultRow(tls *libc.TLS, v uintptr) int32 { /* sqlite3.c:1307 // If the left side is "database.id" then pId1 is the database name // and pId2 is the id. If the left side is just "id" then pId1 is the // id and pId2 is any empty string. -func Xsqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, pValue uintptr, minusFlag int32) { /* sqlite3.c:130808:21: */ +func Xsqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, pValue uintptr, minusFlag int32) { /* sqlite3.c:130821:21: */ bp := tls.Alloc(568) defer tls.Free(568) @@ -114169,9 +114188,9 @@ type EncName = struct { FzName uintptr Fenc U8 F__ccgo_pad1 [3]byte -} /* sqlite3.c:132383:18 */ +} /* sqlite3.c:132396:18 */ -var iLn3 int32 = 0 /* sqlite3.c:130937:22 */ +var iLn3 int32 = 0 /* sqlite3.c:130950:22 */ var getCacheSize = [9]VdbeOpList{ {Fopcode: U8(OP_Transaction)}, // 0 {Fopcode: U8(OP_ReadCookie), Fp2: int8(1), Fp3: int8(BTREE_DEFAULT_CACHE_SIZE)}, // 1 @@ -114182,16 +114201,16 @@ var getCacheSize = [9]VdbeOpList{ {Fopcode: U8(OP_Integer), Fp2: int8(1)}, // 6 {Fopcode: U8(OP_Noop)}, {Fopcode: U8(OP_ResultRow), Fp1: int8(1), Fp2: int8(1)}, -} /* sqlite3.c:130938:29 */ -var iLn4 int32 = 0 /* sqlite3.c:131206:26 */ +} /* sqlite3.c:130951:29 */ +var iLn4 int32 = 0 /* sqlite3.c:131219:26 */ var setMeta6 = [5]VdbeOpList{ {Fopcode: U8(OP_Transaction), Fp2: int8(1)}, // 0 {Fopcode: U8(OP_ReadCookie), Fp2: int8(1), Fp3: int8(BTREE_LARGEST_ROOT_PAGE)}, {Fopcode: U8(OP_If), Fp1: int8(1)}, // 2 {Fopcode: U8(OP_Halt), Fp2: int8(OE_Abort)}, // 3 {Fopcode: U8(OP_SetCookie), Fp2: int8(BTREE_INCR_VACUUM)}, // 4 -} /* sqlite3.c:131207:33 */ -var iLn5 int32 = 0 /* sqlite3.c:132333:24 */ +} /* sqlite3.c:131220:33 */ +var iLn5 int32 = 0 /* sqlite3.c:132346:24 */ var endCode = [7]VdbeOpList{ {Fopcode: U8(OP_AddImm), Fp1: int8(1)}, // 0 {Fopcode: U8(OP_IfNotZero), Fp1: int8(1), Fp2: int8(4)}, // 1 @@ -114200,7 +114219,7 @@ var endCode = [7]VdbeOpList{ {Fopcode: U8(OP_Halt)}, // 4 {Fopcode: U8(OP_String8), Fp2: int8(3)}, // 5 {Fopcode: U8(OP_Goto), Fp2: int8(3)}, // 6 -} /* sqlite3.c:132334:31 */ +} /* sqlite3.c:132347:31 */ var encnames1 = [9]EncName{ {FzName: ts + 17865, Fenc: U8(SQLITE_UTF8)}, {FzName: ts + 17870, Fenc: U8(SQLITE_UTF8)}, // Must be element [1] @@ -114211,16 +114230,16 @@ var encnames1 = [9]EncName{ {FzName: ts + 17910}, {FzName: ts + 17917}, {}, -} /* sqlite3.c:132386:7 */ +} /* sqlite3.c:132399:7 */ var setCookie = [2]VdbeOpList{ {Fopcode: U8(OP_Transaction), Fp2: int8(1)}, // 0 {Fopcode: U8(OP_SetCookie)}, // 1 -} /* sqlite3.c:132466:31 */ +} /* sqlite3.c:132479:31 */ var readCookie = [3]VdbeOpList{ {Fopcode: U8(OP_Transaction)}, // 0 {Fopcode: U8(OP_ReadCookie), Fp2: int8(1)}, // 1 {Fopcode: U8(OP_ResultRow), Fp1: int8(1), Fp2: int8(1)}, -} /* sqlite3.c:132481:31 */ +} /* sqlite3.c:132494:31 */ // **************************************************************************** // // Implementation of an eponymous virtual table that runs a pragma. @@ -114232,24 +114251,24 @@ type PragmaVtab1 = struct { FnHidden U8 FiHidden U8 F__ccgo_pad1 [2]byte -} /* sqlite3.c:132841:9 */ +} /* sqlite3.c:132854:9 */ // **************************************************************************** // // Implementation of an eponymous virtual table that runs a pragma. // -type PragmaVtab = PragmaVtab1 /* sqlite3.c:132841:27 */ +type PragmaVtab = PragmaVtab1 /* sqlite3.c:132854:27 */ type PragmaVtabCursor1 = struct { Fbase Sqlite3_vtab_cursor FpPragma uintptr FiRowid Sqlite_int64 FazArg [2]uintptr -} /* sqlite3.c:132842:9 */ +} /* sqlite3.c:132855:9 */ -type PragmaVtabCursor = PragmaVtabCursor1 /* sqlite3.c:132842:33 */ +type PragmaVtabCursor = PragmaVtabCursor1 /* sqlite3.c:132855:33 */ // Pragma virtual table module xConnect method. -func pragmaVtabConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 { /* sqlite3.c:132860:12: */ +func pragmaVtabConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 { /* sqlite3.c:132873:12: */ bp := tls.Alloc(256) defer tls.Free(256) @@ -114323,7 +114342,7 @@ __3: } // Pragma virtual table module xDisconnect method. -func pragmaVtabDisconnect(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:132922:12: */ +func pragmaVtabDisconnect(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:132935:12: */ var pTab uintptr = pVtab Xsqlite3_free(tls, pTab) return SQLITE_OK @@ -114335,7 +114354,7 @@ func pragmaVtabDisconnect(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:132 // query planner to give == constraints on as many hidden parameters as // possible, and especially on the first hidden parameter. So return a // high cost if hidden parameters are unconstrained. -func pragmaVtabBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 { /* sqlite3.c:132935:12: */ +func pragmaVtabBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 { /* sqlite3.c:132948:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -114400,7 +114419,7 @@ __3: } // Create a new cursor for the pragma virtual table -func pragmaVtabOpen(tls *libc.TLS, pVtab uintptr, ppCursor uintptr) int32 { /* sqlite3.c:132972:12: */ +func pragmaVtabOpen(tls *libc.TLS, pVtab uintptr, ppCursor uintptr) int32 { /* sqlite3.c:132985:12: */ var pCsr uintptr pCsr = Xsqlite3_malloc(tls, int32(unsafe.Sizeof(PragmaVtabCursor{}))) if pCsr == uintptr(0) { @@ -114413,7 +114432,7 @@ func pragmaVtabOpen(tls *libc.TLS, pVtab uintptr, ppCursor uintptr) int32 { /* s } // Clear all content from pragma virtual table cursor. -func pragmaVtabCursorClear(tls *libc.TLS, pCsr uintptr) { /* sqlite3.c:132983:13: */ +func pragmaVtabCursorClear(tls *libc.TLS, pCsr uintptr) { /* sqlite3.c:132996:13: */ var i int32 Xsqlite3_finalize(tls, (*PragmaVtabCursor)(unsafe.Pointer(pCsr)).FpPragma) (*PragmaVtabCursor)(unsafe.Pointer(pCsr)).FpPragma = uintptr(0) @@ -114424,7 +114443,7 @@ func pragmaVtabCursorClear(tls *libc.TLS, pCsr uintptr) { /* sqlite3.c:132983:13 } // Close a pragma virtual table cursor -func pragmaVtabClose(tls *libc.TLS, cur uintptr) int32 { /* sqlite3.c:132994:12: */ +func pragmaVtabClose(tls *libc.TLS, cur uintptr) int32 { /* sqlite3.c:133007:12: */ var pCsr uintptr = cur pragmaVtabCursorClear(tls, pCsr) Xsqlite3_free(tls, pCsr) @@ -114432,7 +114451,7 @@ func pragmaVtabClose(tls *libc.TLS, cur uintptr) int32 { /* sqlite3.c:132994:12: } // Advance the pragma virtual table cursor to the next row -func pragmaVtabNext(tls *libc.TLS, pVtabCursor uintptr) int32 { /* sqlite3.c:133002:12: */ +func pragmaVtabNext(tls *libc.TLS, pVtabCursor uintptr) int32 { /* sqlite3.c:133015:12: */ var pCsr uintptr = pVtabCursor var rc int32 = SQLITE_OK @@ -114448,7 +114467,7 @@ func pragmaVtabNext(tls *libc.TLS, pVtabCursor uintptr) int32 { /* sqlite3.c:133 } // Pragma virtual table module xFilter method. -func pragmaVtabFilter(tls *libc.TLS, pVtabCursor uintptr, idxNum int32, idxStr uintptr, argc int32, argv uintptr) int32 { /* sqlite3.c:133020:12: */ +func pragmaVtabFilter(tls *libc.TLS, pVtabCursor uintptr, idxNum int32, idxStr uintptr, argc int32, argv uintptr) int32 { /* sqlite3.c:133033:12: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -114516,14 +114535,14 @@ __3: } // Pragma virtual table module xEof method. -func pragmaVtabEof(tls *libc.TLS, pVtabCursor uintptr) int32 { /* sqlite3.c:133070:12: */ +func pragmaVtabEof(tls *libc.TLS, pVtabCursor uintptr) int32 { /* sqlite3.c:133083:12: */ var pCsr uintptr = pVtabCursor return libc.Bool32((*PragmaVtabCursor)(unsafe.Pointer(pCsr)).FpPragma == uintptr(0)) } // The xColumn method simply returns the corresponding column from // the PRAGMA. -func pragmaVtabColumn(tls *libc.TLS, pVtabCursor uintptr, ctx uintptr, i int32) int32 { /* sqlite3.c:133078:12: */ +func pragmaVtabColumn(tls *libc.TLS, pVtabCursor uintptr, ctx uintptr, i int32) int32 { /* sqlite3.c:133091:12: */ var pCsr uintptr = pVtabCursor var pTab uintptr = (*Sqlite3_vtab_cursor)(unsafe.Pointer(pVtabCursor)).FpVtab if i < int32((*PragmaVtab)(unsafe.Pointer(pTab)).FiHidden) { @@ -114535,7 +114554,7 @@ func pragmaVtabColumn(tls *libc.TLS, pVtabCursor uintptr, ctx uintptr, i int32) } // Pragma virtual table module xRowid method. -func pragmaVtabRowid(tls *libc.TLS, pVtabCursor uintptr, p uintptr) int32 { /* sqlite3.c:133096:12: */ +func pragmaVtabRowid(tls *libc.TLS, pVtabCursor uintptr, p uintptr) int32 { /* sqlite3.c:133109:12: */ var pCsr uintptr = pVtabCursor *(*Sqlite_int64)(unsafe.Pointer(p)) = (*PragmaVtabCursor)(unsafe.Pointer(pCsr)).FiRowid return SQLITE_OK @@ -114553,12 +114572,12 @@ var pragmaVtabModule = Sqlite3_module{ // xCreate - create a table FxEof: 0, // xEof FxColumn: 0, // xColumn - read data FxRowid: 0, // xShadowName -} /* sqlite3.c:133103:29 */ +} /* sqlite3.c:133116:29 */ // Check to see if zTabName is really the name of a pragma. If it is, // then register an eponymous virtual table for that pragma and return // a pointer to the Module object for the new virtual table. -func Xsqlite3PragmaVtabRegister(tls *libc.TLS, db uintptr, zName uintptr) uintptr { /* sqlite3.c:133135:23: */ +func Xsqlite3PragmaVtabRegister(tls *libc.TLS, db uintptr, zName uintptr) uintptr { /* sqlite3.c:133148:23: */ var pName uintptr pName = pragmaLocate(tls, zName+uintptr(7)) @@ -114591,7 +114610,7 @@ func Xsqlite3PragmaVtabRegister(tls *libc.TLS, db uintptr, zName uintptr) uintpt // Fill the InitData structure with an error message that indicates // that the database is corrupt. -func corruptSchema(tls *libc.TLS, pData uintptr, azObj uintptr, zExtra uintptr) { /* sqlite3.c:133172:13: */ +func corruptSchema(tls *libc.TLS, pData uintptr, azObj uintptr, zExtra uintptr) { /* sqlite3.c:133185:13: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -114607,7 +114626,7 @@ func corruptSchema(tls *libc.TLS, pData uintptr, azObj uintptr, zExtra uintptr) zExtra)) (*InitData)(unsafe.Pointer(pData)).Frc = SQLITE_ERROR } else if (*Sqlite3)(unsafe.Pointer(db)).Fflags&uint64(SQLITE_WriteSchema) != 0 { - (*InitData)(unsafe.Pointer(pData)).Frc = Xsqlite3CorruptError(tls, 133195) + (*InitData)(unsafe.Pointer(pData)).Frc = Xsqlite3CorruptError(tls, 133208) } else { var z uintptr var zObj uintptr @@ -114621,7 +114640,7 @@ func corruptSchema(tls *libc.TLS, pData uintptr, azObj uintptr, zExtra uintptr) z = Xsqlite3MPrintf(tls, db, ts+18053, libc.VaList(bp+40, z, zExtra)) } *(*uintptr)(unsafe.Pointer((*InitData)(unsafe.Pointer(pData)).FpzErrMsg)) = z - (*InitData)(unsafe.Pointer(pData)).Frc = Xsqlite3CorruptError(tls, 133202) + (*InitData)(unsafe.Pointer(pData)).Frc = Xsqlite3CorruptError(tls, 133215) } } @@ -114629,12 +114648,12 @@ var azAlterType = [3]uintptr{ ts + 18061, ts + 18068, ts + 18080, -} /* sqlite3.c:133183:23 */ +} /* sqlite3.c:133196:23 */ // Check to see if any sibling index (another index on the same table) // of pIndex has the same root page number, and if it does, return true. // This would indicate a corrupt schema. -func Xsqlite3IndexHasDuplicateRootPage(tls *libc.TLS, pIndex uintptr) int32 { /* sqlite3.c:133211:20: */ +func Xsqlite3IndexHasDuplicateRootPage(tls *libc.TLS, pIndex uintptr) int32 { /* sqlite3.c:133224:20: */ var p uintptr for p = (*Table)(unsafe.Pointer((*Index)(unsafe.Pointer(pIndex)).FpTable)).FpIndex; p != 0; p = (*Index)(unsafe.Pointer(p)).FpNext { if (*Index)(unsafe.Pointer(p)).Ftnum == (*Index)(unsafe.Pointer(pIndex)).Ftnum && p != pIndex { @@ -114656,7 +114675,7 @@ func Xsqlite3IndexHasDuplicateRootPage(tls *libc.TLS, pIndex uintptr) int32 { /* // argv[3] = root page number for table or index. 0 for trigger or view. // argv[4] = SQL text for the CREATE statement. // -func Xsqlite3InitCallback(tls *libc.TLS, pInit uintptr, argc int32, argv uintptr, NotUsed uintptr) int32 { /* sqlite3.c:133245:20: */ +func Xsqlite3InitCallback(tls *libc.TLS, pInit uintptr, argc int32, argv uintptr, NotUsed uintptr) int32 { /* sqlite3.c:133258:20: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -114758,7 +114777,7 @@ func Xsqlite3InitCallback(tls *libc.TLS, pInit uintptr, argc int32, argv uintptr // database. iDb==1 should never be used. iDb>=2 is used for // auxiliary databases. Return one of the SQLITE_ error codes to // indicate success or failure. -func Xsqlite3InitOne(tls *libc.TLS, db uintptr, iDb int32, pzErrMsg uintptr, mFlags U32) int32 { /* sqlite3.c:133348:20: */ +func Xsqlite3InitOne(tls *libc.TLS, db uintptr, iDb int32, pzErrMsg uintptr, mFlags U32) int32 { /* sqlite3.c:133361:20: */ bp := tls.Alloc(88) defer tls.Free(88) @@ -115004,7 +115023,7 @@ __20: pDb = (*Sqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*16 goto __22 __21: - if !(rc == SQLITE_OK || (*Sqlite3)(unsafe.Pointer(db)).Fflags&uint64(SQLITE_NoSchemaError) != 0) { + if !(rc == SQLITE_OK || (*Sqlite3)(unsafe.Pointer(db)).Fflags&uint64(SQLITE_NoSchemaError) != 0 && rc != SQLITE_NOMEM) { goto __23 } // Hack: If the SQLITE_NoSchemaError flag is set, then consider @@ -115059,7 +115078,7 @@ __25: // // After a database is initialized, the DB_SchemaLoaded bit is set // bit is set in the flags field of the Db structure. -func Xsqlite3Init(tls *libc.TLS, db uintptr, pzErrMsg uintptr) int32 { /* sqlite3.c:133587:20: */ +func Xsqlite3Init(tls *libc.TLS, db uintptr, pzErrMsg uintptr) int32 { /* sqlite3.c:133600:20: */ var i int32 var rc int32 var commit_internal int32 = libc.BoolInt32(!((*Sqlite3)(unsafe.Pointer(db)).FmDbFlags&U32(DBFLAG_SchemaChange) != 0)) @@ -115091,7 +115110,7 @@ func Xsqlite3Init(tls *libc.TLS, db uintptr, pzErrMsg uintptr) int32 { /* sqlite // This routine is a no-op if the database schema is already initialized. // Otherwise, the schema is loaded. An error code is returned. -func Xsqlite3ReadSchema(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:133619:20: */ +func Xsqlite3ReadSchema(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:133632:20: */ var rc int32 = SQLITE_OK var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb @@ -115110,7 +115129,7 @@ func Xsqlite3ReadSchema(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:1336 // Check schema cookies in all databases. If any cookie is out // of date set pParse->rc to SQLITE_SCHEMA. If all schema cookies // make no changes to pParse->rc. -func schemaIsValid(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:133641:13: */ +func schemaIsValid(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:133654:13: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -115163,7 +115182,7 @@ func schemaIsValid(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:133641:13: */ // // If the same database is attached more than once, the first // attached database is returned. -func Xsqlite3SchemaToIndex(tls *libc.TLS, db uintptr, pSchema uintptr) int32 { /* sqlite3.c:133691:20: */ +func Xsqlite3SchemaToIndex(tls *libc.TLS, db uintptr, pSchema uintptr) int32 { /* sqlite3.c:133704:20: */ var i int32 = -32768 // If pSchema is NULL, then return -32768. This happens when code in @@ -115190,7 +115209,7 @@ func Xsqlite3SchemaToIndex(tls *libc.TLS, db uintptr, pSchema uintptr) int32 { / } // Free all memory allocations in the pParse object -func Xsqlite3ParseObjectReset(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:133721:21: */ +func Xsqlite3ParseObjectReset(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:133734:21: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb Xsqlite3DbFree(tls, db, (*Parse)(unsafe.Pointer(pParse)).FaTableLock) @@ -115246,7 +115265,7 @@ func Xsqlite3ParseObjectReset(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:1337 // return value thereafter. Something like this: // // pObj = sqlite3ParserAddCleanup(pParse, destructor, pObj); -func Xsqlite3ParserAddCleanup(tls *libc.TLS, pParse uintptr, xCleanup uintptr, pPtr uintptr) uintptr { /* sqlite3.c:133776:21: */ +func Xsqlite3ParserAddCleanup(tls *libc.TLS, pParse uintptr, xCleanup uintptr, pPtr uintptr) uintptr { /* sqlite3.c:133789:21: */ var pCleanup uintptr = Xsqlite3DbMallocRaw(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, uint64(unsafe.Sizeof(ParseCleanup{}))) if pCleanup != 0 { (*ParseCleanup)(unsafe.Pointer(pCleanup)).FpNext = (*Parse)(unsafe.Pointer(pParse)).FpCleanup @@ -115269,7 +115288,7 @@ func Xsqlite3ParserAddCleanup(tls *libc.TLS, pParse uintptr, xCleanup uintptr, p // // Caution: Do not confuse this routine with sqlite3ParseObjectInit() which // is generated by Lemon. -func Xsqlite3ParseObjectInit(tls *libc.TLS, pParse uintptr, db uintptr) { /* sqlite3.c:133806:21: */ +func Xsqlite3ParseObjectInit(tls *libc.TLS, pParse uintptr, db uintptr) { /* sqlite3.c:133819:21: */ libc.Xmemset(tls, pParse+uintptr(uint32(uintptr(0)+4)), 0, uint32(uintptr(0)+152)-uint32(uintptr(0)+4)) libc.Xmemset(tls, pParse+uintptr(uint32(uintptr(0)+196)), 0, uint32(unsafe.Sizeof(Parse{}))-uint32(uintptr(0)+196)) @@ -115282,7 +115301,7 @@ func Xsqlite3ParseObjectInit(tls *libc.TLS, pParse uintptr, db uintptr) { /* sql } // Compile the UTF-8 encoded SQL statement zSql into a statement handle. -func sqlite3Prepare(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, prepFlags U32, pReprepare uintptr, ppStmt uintptr, pzTail uintptr) int32 { /* sqlite3.c:133819:12: */ +func sqlite3Prepare(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, prepFlags U32, pReprepare uintptr, ppStmt uintptr, pzTail uintptr) int32 { /* sqlite3.c:133832:12: */ bp := tls.Alloc(288) defer tls.Free(288) @@ -115488,13 +115507,13 @@ end_prepare: return rc } -func sqlite3LockAndPrepare(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, prepFlags U32, pOld uintptr, ppStmt uintptr, pzTail uintptr) int32 { /* sqlite3.c:133962:12: */ +func sqlite3LockAndPrepare(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, prepFlags U32, pOld uintptr, ppStmt uintptr, pzTail uintptr) int32 { /* sqlite3.c:133975:12: */ var rc int32 var cnt int32 = 0 *(*uintptr)(unsafe.Pointer(ppStmt)) = uintptr(0) if !(Xsqlite3SafetyCheckOk(tls, db) != 0) || zSql == uintptr(0) { - return Xsqlite3MisuseError(tls, 133979) + return Xsqlite3MisuseError(tls, 133992) } Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) Xsqlite3BtreeEnterAll(tls, db) @@ -115523,7 +115542,7 @@ func sqlite3LockAndPrepare(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32 // if the statement cannot be recompiled because another connection has // locked the sqlite3_schema table, return SQLITE_LOCKED. If any other error // occurs, return SQLITE_SCHEMA. -func Xsqlite3Reprepare(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:134009:20: */ +func Xsqlite3Reprepare(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:134022:20: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -115562,14 +115581,14 @@ func Xsqlite3Reprepare(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:134009:20: // sqlite3_step(). In the new version, the original SQL text is retained // and the statement is automatically recompiled if an schema change // occurs. -func Xsqlite3_prepare(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, ppStmt uintptr, pzTail uintptr) int32 { /* sqlite3.c:134048:16: */ +func Xsqlite3_prepare(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, ppStmt uintptr, pzTail uintptr) int32 { /* sqlite3.c:134061:16: */ var rc int32 rc = sqlite3LockAndPrepare(tls, db, zSql, nBytes, uint32(0), uintptr(0), ppStmt, pzTail) // VERIFY: F13021 return rc } -func Xsqlite3_prepare_v2(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, ppStmt uintptr, pzTail uintptr) int32 { /* sqlite3.c:134060:16: */ +func Xsqlite3_prepare_v2(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, ppStmt uintptr, pzTail uintptr) int32 { /* sqlite3.c:134073:16: */ var rc int32 // EVIDENCE-OF: R-37923-12173 The sqlite3_prepare_v2() interface works // exactly the same as sqlite3_prepare_v3() with a zero prepFlags @@ -115582,7 +115601,7 @@ func Xsqlite3_prepare_v2(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, return rc } -func Xsqlite3_prepare_v3(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, prepFlags uint32, ppStmt uintptr, pzTail uintptr) int32 { /* sqlite3.c:134078:16: */ +func Xsqlite3_prepare_v3(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, prepFlags uint32, ppStmt uintptr, pzTail uintptr) int32 { /* sqlite3.c:134091:16: */ var rc int32 // EVIDENCE-OF: R-56861-42673 sqlite3_prepare_v3() differs from // sqlite3_prepare_v2() only in having the extra prepFlags parameter, @@ -115599,7 +115618,7 @@ func Xsqlite3_prepare_v3(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, } // Compile the UTF-16 encoded SQL statement zSql into a statement handle. -func sqlite3Prepare16(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, prepFlags U32, ppStmt uintptr, pzTail uintptr) int32 { /* sqlite3.c:134106:12: */ +func sqlite3Prepare16(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, prepFlags U32, ppStmt uintptr, pzTail uintptr) int32 { /* sqlite3.c:134119:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -115612,7 +115631,7 @@ func sqlite3Prepare16(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, pre *(*uintptr)(unsafe.Pointer(ppStmt)) = uintptr(0) if !(Xsqlite3SafetyCheckOk(tls, db) != 0) || zSql == uintptr(0) { - return Xsqlite3MisuseError(tls, 134127) + return Xsqlite3MisuseError(tls, 134140) } if nBytes >= 0 { var sz int32 @@ -115647,21 +115666,21 @@ func sqlite3Prepare16(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, pre // sqlite3_step(). In the new version, the original SQL text is retained // and the statement is automatically recompiled if an schema change // occurs. -func Xsqlite3_prepare16(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, ppStmt uintptr, pzTail uintptr) int32 { /* sqlite3.c:134164:16: */ +func Xsqlite3_prepare16(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, ppStmt uintptr, pzTail uintptr) int32 { /* sqlite3.c:134177:16: */ var rc int32 rc = sqlite3Prepare16(tls, db, zSql, nBytes, uint32(0), ppStmt, pzTail) // VERIFY: F13021 return rc } -func Xsqlite3_prepare16_v2(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, ppStmt uintptr, pzTail uintptr) int32 { /* sqlite3.c:134176:16: */ +func Xsqlite3_prepare16_v2(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, ppStmt uintptr, pzTail uintptr) int32 { /* sqlite3.c:134189:16: */ var rc int32 rc = sqlite3Prepare16(tls, db, zSql, nBytes, uint32(SQLITE_PREPARE_SAVESQL), ppStmt, pzTail) // VERIFY: F13021 return rc } -func Xsqlite3_prepare16_v3(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, prepFlags uint32, ppStmt uintptr, pzTail uintptr) int32 { /* sqlite3.c:134188:16: */ +func Xsqlite3_prepare16_v3(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, prepFlags uint32, ppStmt uintptr, pzTail uintptr) int32 { /* sqlite3.c:134201:16: */ var rc int32 rc = sqlite3Prepare16(tls, db, zSql, nBytes, uint32(SQLITE_PREPARE_SAVESQL)|prepFlags&uint32(SQLITE_PREPARE_MASK), @@ -115695,7 +115714,7 @@ type DistinctCtx1 = struct { F__ccgo_pad1 [2]byte FtabTnct int32 FaddrTnct int32 -} /* sqlite3.c:134229:9 */ +} /* sqlite3.c:134242:9 */ //************* End of prepare.c ******************************************** //************* Begin file select.c ***************************************** @@ -115716,7 +115735,7 @@ type DistinctCtx1 = struct { // An instance of the following object is used to record information about // how to process the DISTINCT keyword, to simplify passing that information // into the selectInnerLoop() routine. -type DistinctCtx = DistinctCtx1 /* sqlite3.c:134229:28 */ +type DistinctCtx = DistinctCtx1 /* sqlite3.c:134242:28 */ // An instance of the following object is used to record information about // the ORDER BY (or GROUP BY) clause of query is being coded. @@ -115746,7 +115765,7 @@ type SortCtx1 = struct { FsortFlags U8 F__ccgo_pad1 [3]byte FpDeferredRowLoad uintptr -} /* sqlite3.c:134255:9 */ +} /* sqlite3.c:134268:9 */ // An instance of the following object is used to record information about // the ORDER BY (or GROUP BY) clause of query is being coded. @@ -115764,19 +115783,19 @@ type SortCtx1 = struct { // When the sorter-reference optimization is used, there is one entry in the // aDefer[] array for each database table that may be read as values are // extracted from the sorter. -type SortCtx = SortCtx1 /* sqlite3.c:134255:24 */ +type SortCtx = SortCtx1 /* sqlite3.c:134268:24 */ type RowLoadInfo1 = struct { FregResult int32 FecelFlags U8 F__ccgo_pad1 [3]byte -} /* sqlite3.c:134255:9 */ +} /* sqlite3.c:134268:9 */ // Delete all the content of a Select structure. Deallocate the structure // itself depending on the value of bFree // // If bFree==1, call sqlite3DbFree() on the p object. // If bFree==0, Leave the first Select object unfreed -func clearSelect(tls *libc.TLS, db uintptr, p uintptr, bFree int32) { /* sqlite3.c:134285:13: */ +func clearSelect(tls *libc.TLS, db uintptr, p uintptr, bFree int32) { /* sqlite3.c:134298:13: */ for p != 0 { var pPrior uintptr = (*Select)(unsafe.Pointer(p)).FpPrior Xsqlite3ExprListDelete(tls, db, (*Select)(unsafe.Pointer(p)).FpEList) @@ -115805,7 +115824,7 @@ func clearSelect(tls *libc.TLS, db uintptr, p uintptr, bFree int32) { /* sqlite3 } // Initialize a SelectDest structure. -func Xsqlite3SelectDestInit(tls *libc.TLS, pDest uintptr, eDest int32, iParm int32) { /* sqlite3.c:134314:21: */ +func Xsqlite3SelectDestInit(tls *libc.TLS, pDest uintptr, eDest int32, iParm int32) { /* sqlite3.c:134327:21: */ (*SelectDest)(unsafe.Pointer(pDest)).FeDest = U8(eDest) (*SelectDest)(unsafe.Pointer(pDest)).FiSDParm = iParm (*SelectDest)(unsafe.Pointer(pDest)).FiSDParm2 = 0 @@ -115816,7 +115835,7 @@ func Xsqlite3SelectDestInit(tls *libc.TLS, pDest uintptr, eDest int32, iParm int // Allocate a new Select structure and return a pointer to that // structure. -func Xsqlite3SelectNew(tls *libc.TLS, pParse uintptr, pEList uintptr, pSrc uintptr, pWhere uintptr, pGroupBy uintptr, pHaving uintptr, pOrderBy uintptr, selFlags U32, pLimit uintptr) uintptr { /* sqlite3.c:134328:23: */ +func Xsqlite3SelectNew(tls *libc.TLS, pParse uintptr, pEList uintptr, pSrc uintptr, pWhere uintptr, pGroupBy uintptr, pHaving uintptr, pOrderBy uintptr, selFlags U32, pLimit uintptr) uintptr { /* sqlite3.c:134341:23: */ bp := tls.Alloc(76) defer tls.Free(76) @@ -115866,14 +115885,14 @@ func Xsqlite3SelectNew(tls *libc.TLS, pParse uintptr, pEList uintptr, pSrc uintp } // Delete the given Select structure and all of its substructures. -func Xsqlite3SelectDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:134386:21: */ +func Xsqlite3SelectDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:134399:21: */ if p != 0 { clearSelect(tls, db, p, 1) } } // Return a pointer to the right-most SELECT statement in a compound. -func findRightmost(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:134393:15: */ +func findRightmost(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:134406:15: */ for (*Select)(unsafe.Pointer(p)).FpNext != 0 { p = (*Select)(unsafe.Pointer(p)).FpNext } @@ -115895,7 +115914,7 @@ func findRightmost(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:134393:15: * // // If an illegal or unsupported join type is seen, then still return // a join type, but put an error in the pParse structure. -func Xsqlite3JoinType(tls *libc.TLS, pParse uintptr, pA uintptr, pB uintptr, pC uintptr) int32 { /* sqlite3.c:134415:20: */ +func Xsqlite3JoinType(tls *libc.TLS, pParse uintptr, pA uintptr, pB uintptr, pC uintptr) int32 { /* sqlite3.c:134428:20: */ bp := tls.Alloc(44) defer tls.Free(44) @@ -115949,7 +115968,7 @@ func Xsqlite3JoinType(tls *libc.TLS, pParse uintptr, pA uintptr, pB uintptr, pC return jointype } -var zKeyText = *(*[34]int8)(unsafe.Pointer(ts + 18382)) /* sqlite3.c:134420:21 */ +var zKeyText = *(*[34]int8)(unsafe.Pointer(ts + 18382)) /* sqlite3.c:134433:21 */ var aKeyword = [7]struct { Fi U8 FnChar U8 @@ -115962,11 +115981,11 @@ var aKeyword = [7]struct { /* full */ {Fi: U8(19), FnChar: U8(4), Fcode: U8(JT_LEFT | JT_RIGHT | JT_OUTER)}, /* inner */ {Fi: U8(23), FnChar: U8(5), Fcode: U8(JT_INNER)}, /* cross */ {Fi: U8(28), FnChar: U8(5), Fcode: U8(JT_INNER | JT_CROSS)}, -} /* sqlite3.c:134425:5 */ +} /* sqlite3.c:134438:5 */ // Return the index of a column in a table. Return -1 if the column // is not contained in the table. -func Xsqlite3ColumnIndex(tls *libc.TLS, pTab uintptr, zCol uintptr) int32 { /* sqlite3.c:134476:20: */ +func Xsqlite3ColumnIndex(tls *libc.TLS, pTab uintptr, zCol uintptr) int32 { /* sqlite3.c:134489:20: */ var i int32 var h U8 = Xsqlite3StrIHash(tls, zCol) var pCol uintptr @@ -116000,7 +116019,7 @@ __3: // of the matching column and return TRUE. // // If not found, return FALSE. -func tableAndColumnIndex(tls *libc.TLS, pSrc uintptr, N int32, zCol uintptr, piTab uintptr, piCol uintptr, bIgnoreHidden int32) int32 { /* sqlite3.c:134495:12: */ +func tableAndColumnIndex(tls *libc.TLS, pSrc uintptr, N int32, zCol uintptr, piTab uintptr, piCol uintptr, bIgnoreHidden int32) int32 { /* sqlite3.c:134508:12: */ var i int32 // For looping over tables in pSrc var iCol int32 // Index of column matching zCol @@ -116028,7 +116047,7 @@ func tableAndColumnIndex(tls *libc.TLS, pSrc uintptr, N int32, zCol uintptr, piT // where tab1 is the iSrc'th table in SrcList pSrc and tab2 is the // (iSrc+1)'th. Column col1 is column iColLeft of tab1, and col2 is // column iColRight of tab2. -func addWhereTerm(tls *libc.TLS, pParse uintptr, pSrc uintptr, iLeft int32, iColLeft int32, iRight int32, iColRight int32, isOuterJoin int32, ppWhere uintptr) { /* sqlite3.c:134533:13: */ +func addWhereTerm(tls *libc.TLS, pParse uintptr, pSrc uintptr, iLeft int32, iColLeft int32, iRight int32, iColRight int32, isOuterJoin int32, ppWhere uintptr) { /* sqlite3.c:134546:13: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb var pE1 uintptr var pE2 uintptr @@ -116073,7 +116092,7 @@ func addWhereTerm(tls *libc.TLS, pParse uintptr, pSrc uintptr, iLeft int32, iCol // defer the handling of t1.x=5, it will be processed immediately // after the t1 loop and rows with t1.x!=5 will never appear in // the output, which is incorrect. -func Xsqlite3SetJoinExpr(tls *libc.TLS, p uintptr, iTable int32) { /* sqlite3.c:134595:21: */ +func Xsqlite3SetJoinExpr(tls *libc.TLS, p uintptr, iTable int32) { /* sqlite3.c:134608:21: */ for p != 0 { *(*U32)(unsafe.Pointer(p + 4)) |= U32(EP_FromJoin) @@ -116097,7 +116116,7 @@ func Xsqlite3SetJoinExpr(tls *libc.TLS, p uintptr, iTable int32) { /* sqlite3.c: // an ordinary term that omits the EP_FromJoin mark. // // This happens when a LEFT JOIN is simplified into an ordinary JOIN. -func unsetJoinExpr(tls *libc.TLS, p uintptr, iTable int32) { /* sqlite3.c:134621:13: */ +func unsetJoinExpr(tls *libc.TLS, p uintptr, iTable int32) { /* sqlite3.c:134634:13: */ for p != 0 { if (*Expr)(unsafe.Pointer(p)).Fflags&U32(EP_FromJoin) != U32(0) && (iTable < 0 || *(*int32)(unsafe.Pointer(p + 36)) == iTable) { @@ -116132,7 +116151,7 @@ func unsetJoinExpr(tls *libc.TLS, p uintptr, iTable int32) { /* sqlite3.c:134621 // also attached to the left entry. // // This routine returns the number of errors encountered. -func sqliteProcessJoin(tls *libc.TLS, pParse uintptr, p uintptr) int32 { /* sqlite3.c:134658:12: */ +func sqliteProcessJoin(tls *libc.TLS, pParse uintptr, p uintptr) int32 { /* sqlite3.c:134671:12: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -116246,11 +116265,11 @@ __3: // An instance of this object holds information (beyond pParse and pSelect) // needed to load the next result row that is to be added to the sorter. -type RowLoadInfo = RowLoadInfo1 /* sqlite3.c:134750:28 */ +type RowLoadInfo = RowLoadInfo1 /* sqlite3.c:134763:28 */ // This routine does the work of loading query data into an array of // registers so that it can be added to the sorter. -func innerLoopLoadRow(tls *libc.TLS, pParse uintptr, pSelect uintptr, pInfo uintptr) { /* sqlite3.c:134764:13: */ +func innerLoopLoadRow(tls *libc.TLS, pParse uintptr, pSelect uintptr, pInfo uintptr) { /* sqlite3.c:134777:13: */ Xsqlite3ExprCodeExprList(tls, pParse, (*Select)(unsafe.Pointer(pSelect)).FpEList, (*RowLoadInfo)(unsafe.Pointer(pInfo)).FregResult, 0, (*RowLoadInfo)(unsafe.Pointer(pInfo)).FecelFlags) } @@ -116259,7 +116278,7 @@ func innerLoopLoadRow(tls *libc.TLS, pParse uintptr, pSelect uintptr, pInfo uint // added into the sorter. // // Return the register in which the result is stored. -func makeSorterRecord(tls *libc.TLS, pParse uintptr, pSort uintptr, pSelect uintptr, regBase int32, nBase int32) int32 { /* sqlite3.c:134785:12: */ +func makeSorterRecord(tls *libc.TLS, pParse uintptr, pSort uintptr, pSelect uintptr, regBase int32, nBase int32) int32 { /* sqlite3.c:134798:12: */ var nOBSat int32 = (*SortCtx)(unsafe.Pointer(pSort)).FnOBSat var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe var regOut int32 = libc.PreIncInt32(&(*Parse)(unsafe.Pointer(pParse)).FnMem, 1) @@ -116272,7 +116291,7 @@ func makeSorterRecord(tls *libc.TLS, pParse uintptr, pSort uintptr, pSelect uint // Generate code that will push the record in registers regData // through regData+nData-1 onto the sorter. -func pushOntoSorter(tls *libc.TLS, pParse uintptr, pSort uintptr, pSelect uintptr, regData int32, regOrigData int32, nData int32, nPrefixReg int32) { /* sqlite3.c:134806:13: */ +func pushOntoSorter(tls *libc.TLS, pParse uintptr, pSort uintptr, pSelect uintptr, regData int32, regOrigData int32, nData int32, nPrefixReg int32) { /* sqlite3.c:134819:13: */ var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe // Stmt under construction var bSeq int32 = libc.Bool32(int32((*SortCtx)(unsafe.Pointer(pSort)).FsortFlags)&SORTFLAG_UseSorter == 0) var nExpr int32 = (*ExprList)(unsafe.Pointer((*SortCtx)(unsafe.Pointer(pSort)).FpOrderBy)).FnExpr // No. of ORDER BY terms @@ -116415,7 +116434,7 @@ func pushOntoSorter(tls *libc.TLS, pParse uintptr, pSort uintptr, pSelect uintpt } // Add code to implement the OFFSET -func codeOffset(tls *libc.TLS, v uintptr, iOffset int32, iContinue int32) { /* sqlite3.c:134948:13: */ +func codeOffset(tls *libc.TLS, v uintptr, iOffset int32, iContinue int32) { /* sqlite3.c:134961:13: */ if iOffset > 0 { Xsqlite3VdbeAddOp3(tls, v, OP_IfPos, iOffset, iContinue, 1) @@ -116463,7 +116482,7 @@ func codeOffset(tls *libc.TLS, v uintptr, iOffset int32, iContinue int32) { /* s // how many elements there are in the array of registers and (b) the // collation sequences that should be used for the comparisons if // eTnctType is WHERE_DISTINCT_ORDERED. -func codeDistinct(tls *libc.TLS, pParse uintptr, eTnctType int32, iTab int32, addrRepeat int32, pEList uintptr, regElem int32) int32 { /* sqlite3.c:135002:12: */ +func codeDistinct(tls *libc.TLS, pParse uintptr, eTnctType int32, iTab int32, addrRepeat int32, pEList uintptr, regElem int32) int32 { /* sqlite3.c:135015:12: */ var iRet int32 = 0 var nResultCol int32 = (*ExprList)(unsafe.Pointer(pEList)).FnExpr var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe @@ -116544,7 +116563,7 @@ func codeDistinct(tls *libc.TLS, pParse uintptr, eTnctType int32, iTab int32, ad // The ephemeral table is not needed. But we do need register // iVal to be initialized to NULL. So change the OP_OpenEphemeral // into an OP_Null on the iVal register. -func fixDistinctOpenEph(tls *libc.TLS, pParse uintptr, eTnctType int32, iVal int32, iOpenEphAddr int32) { /* sqlite3.c:135086:13: */ +func fixDistinctOpenEph(tls *libc.TLS, pParse uintptr, eTnctType int32, iVal int32, iOpenEphAddr int32) { /* sqlite3.c:135099:13: */ if (*Parse)(unsafe.Pointer(pParse)).FnErr == 0 && (eTnctType == WHERE_DISTINCT_UNIQUE || eTnctType == WHERE_DISTINCT_ORDERED) { var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe @@ -116572,7 +116591,7 @@ func fixDistinctOpenEph(tls *libc.TLS, pParse uintptr, eTnctType int32, iVal int // are evaluated in order to get the data for this row. If srcTab is // zero or more, then data is pulled from srcTab and p->pEList is used only // to get the number of columns and the collation sequence for each column. -func selectInnerLoop(tls *libc.TLS, pParse uintptr, p uintptr, srcTab int32, pSort uintptr, pDistinct uintptr, pDest uintptr, iContinue int32, iBreak int32) { /* sqlite3.c:135208:13: */ +func selectInnerLoop(tls *libc.TLS, pParse uintptr, p uintptr, srcTab int32, pSort uintptr, pDistinct uintptr, pDest uintptr, iContinue int32, iBreak int32) { /* sqlite3.c:135221:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -116928,7 +116947,7 @@ func selectInnerLoop(tls *libc.TLS, pParse uintptr, p uintptr, srcTab int32, pSo // Allocate a KeyInfo object sufficient for an index of N key columns and // X extra columns. -func Xsqlite3KeyInfoAlloc(tls *libc.TLS, db uintptr, N int32, X int32) uintptr { /* sqlite3.c:135602:24: */ +func Xsqlite3KeyInfoAlloc(tls *libc.TLS, db uintptr, N int32, X int32) uintptr { /* sqlite3.c:135615:24: */ var nExtra int32 = int32(uint32(N+X)*(uint32(unsafe.Sizeof(uintptr(0)))+uint32(1)) - uint32(unsafe.Sizeof(uintptr(0)))) var p uintptr = Xsqlite3DbMallocRawNN(tls, db, uint64(uint32(unsafe.Sizeof(KeyInfo{}))+uint32(nExtra))) if p != 0 { @@ -116946,7 +116965,7 @@ func Xsqlite3KeyInfoAlloc(tls *libc.TLS, db uintptr, N int32, X int32) uintptr { } // Deallocate a KeyInfo object -func Xsqlite3KeyInfoUnref(tls *libc.TLS, p uintptr) { /* sqlite3.c:135622:21: */ +func Xsqlite3KeyInfoUnref(tls *libc.TLS, p uintptr) { /* sqlite3.c:135635:21: */ if p != 0 { (*KeyInfo)(unsafe.Pointer(p)).FnRef-- @@ -116957,7 +116976,7 @@ func Xsqlite3KeyInfoUnref(tls *libc.TLS, p uintptr) { /* sqlite3.c:135622:21: */ } // Make a new pointer to a KeyInfo object -func Xsqlite3KeyInfoRef(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:135633:24: */ +func Xsqlite3KeyInfoRef(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:135646:24: */ if p != 0 { (*KeyInfo)(unsafe.Pointer(p)).FnRef++ @@ -116977,7 +116996,7 @@ func Xsqlite3KeyInfoRef(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:135633: // Space to hold the KeyInfo structure is obtained from malloc. The calling // function is responsible for seeing that this structure is eventually // freed. -func Xsqlite3KeyInfoFromExprList(tls *libc.TLS, pParse uintptr, pList uintptr, iStart int32, nExtra int32) uintptr { /* sqlite3.c:135665:24: */ +func Xsqlite3KeyInfoFromExprList(tls *libc.TLS, pParse uintptr, pList uintptr, iStart int32, nExtra int32) uintptr { /* sqlite3.c:135678:24: */ var nExpr int32 var pInfo uintptr var pItem uintptr @@ -117011,7 +117030,7 @@ func Xsqlite3KeyInfoFromExprList(tls *libc.TLS, pParse uintptr, pList uintptr, i } // Name of the connection operator, used for error messages. -func Xsqlite3SelectOpName(tls *libc.TLS, id int32) uintptr { /* sqlite3.c:135692:27: */ +func Xsqlite3SelectOpName(tls *libc.TLS, id int32) uintptr { /* sqlite3.c:135705:27: */ var z uintptr switch id { case TK_ALL: @@ -117038,7 +117057,7 @@ func Xsqlite3SelectOpName(tls *libc.TLS, id int32) uintptr { /* sqlite3.c:135692 // // where xxx is one of "DISTINCT", "ORDER BY" or "GROUP BY". Exactly which // is determined by the zUsage argument. -func explainTempTable(tls *libc.TLS, pParse uintptr, zUsage uintptr) { /* sqlite3.c:135714:13: */ +func explainTempTable(tls *libc.TLS, pParse uintptr, zUsage uintptr) { /* sqlite3.c:135727:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -117055,7 +117074,7 @@ func explainTempTable(tls *libc.TLS, pParse uintptr, zUsage uintptr) { /* sqlite // then the results were placed in a sorter. After the loop is terminated // we need to run the sorter and output the results. The following // routine generates the code needed to do that. -func generateSortTail(tls *libc.TLS, pParse uintptr, p uintptr, pSort uintptr, nColumn int32, pDest uintptr) { /* sqlite3.c:135740:13: */ +func generateSortTail(tls *libc.TLS, pParse uintptr, p uintptr, pSort uintptr, nColumn int32, pDest uintptr) { /* sqlite3.c:135753:13: */ var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe // The prepared statement var addrBreak int32 = (*SortCtx)(unsafe.Pointer(pSort)).FlabelDone // Jump here to exit loop var addrContinue int32 = Xsqlite3VdbeMakeLabel(tls, pParse) // Jump here for next cycle @@ -117234,7 +117253,7 @@ func generateSortTail(tls *libc.TLS, pParse uintptr, p uintptr, pSort uintptr, n // // This routine has either 3 or 6 parameters depending on whether or not // the SQLITE_ENABLE_COLUMN_METADATA compile-time option is used. -func columnTypeImpl(tls *libc.TLS, pNC uintptr, pExpr uintptr, pzOrigDb uintptr, pzOrigTab uintptr, pzOrigCol uintptr) uintptr { /* sqlite3.c:135968:19: */ +func columnTypeImpl(tls *libc.TLS, pNC uintptr, pExpr uintptr, pzOrigDb uintptr, pzOrigTab uintptr, pzOrigCol uintptr) uintptr { /* sqlite3.c:135981:19: */ bp := tls.Alloc(76) defer tls.Free(76) @@ -117358,7 +117377,7 @@ func columnTypeImpl(tls *libc.TLS, pNC uintptr, pExpr uintptr, pzOrigDb uintptr, // Generate code that will tell the VDBE the declaration types of columns // in the result set. -func generateColumnTypes(tls *libc.TLS, pParse uintptr, pTabList uintptr, pEList uintptr) { /* sqlite3.c:136119:13: */ +func generateColumnTypes(tls *libc.TLS, pParse uintptr, pTabList uintptr, pEList uintptr) { /* sqlite3.c:136132:13: */ bp := tls.Alloc(44) defer tls.Free(44) @@ -117415,7 +117434,7 @@ func generateColumnTypes(tls *libc.TLS, pParse uintptr, pTabList uintptr, pEList // full=ON, short=ANY: If the result refers directly to a table column, // then the result column name with the table name // prefix, ex: TABLE.COLUMN. Otherwise use zSpan. -func Xsqlite3GenerateColumnNames(tls *libc.TLS, pParse uintptr, pSelect uintptr) { /* sqlite3.c:136186:21: */ +func Xsqlite3GenerateColumnNames(tls *libc.TLS, pParse uintptr, pSelect uintptr) { /* sqlite3.c:136199:21: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -117515,7 +117534,7 @@ func Xsqlite3GenerateColumnNames(tls *libc.TLS, pParse uintptr, pSelect uintptr) // when modifying this routine to avoid breaking legacy. // // See Also: sqlite3GenerateColumnNames() -func Xsqlite3ColumnsFromExprList(tls *libc.TLS, pParse uintptr, pEList uintptr, pnCol uintptr, paCol uintptr) int32 { /* sqlite3.c:136279:20: */ +func Xsqlite3ColumnsFromExprList(tls *libc.TLS, pParse uintptr, pEList uintptr, pnCol uintptr, paCol uintptr) int32 { /* sqlite3.c:136292:20: */ bp := tls.Alloc(52) defer tls.Free(52) @@ -117647,7 +117666,7 @@ __3: // // This routine requires that all identifiers in the SELECT // statement be resolved. -func Xsqlite3SelectAddColumnTypeAndCollation(tls *libc.TLS, pParse uintptr, pTab uintptr, pSelect uintptr, aff int8) { /* sqlite3.c:136386:21: */ +func Xsqlite3SelectAddColumnTypeAndCollation(tls *libc.TLS, pParse uintptr, pTab uintptr, pSelect uintptr, aff int8) { /* sqlite3.c:136399:21: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -117716,7 +117735,7 @@ __3: // Given a SELECT statement, generate a Table structure that describes // the result set of that SELECT. -func Xsqlite3ResultSetOfSelect(tls *libc.TLS, pParse uintptr, pSelect uintptr, aff int8) uintptr { /* sqlite3.c:136441:22: */ +func Xsqlite3ResultSetOfSelect(tls *libc.TLS, pParse uintptr, pSelect uintptr, aff int8) uintptr { /* sqlite3.c:136454:22: */ var pTab uintptr var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb var savedFlags U64 @@ -117751,7 +117770,7 @@ func Xsqlite3ResultSetOfSelect(tls *libc.TLS, pParse uintptr, pSelect uintptr, a // Get a VDBE for the given parser context. Create a new one if necessary. // If an error occurs, return NULL and leave a message in pParse. -func Xsqlite3GetVdbe(tls *libc.TLS, pParse uintptr) uintptr { /* sqlite3.c:136474:21: */ +func Xsqlite3GetVdbe(tls *libc.TLS, pParse uintptr) uintptr { /* sqlite3.c:136487:21: */ if (*Parse)(unsafe.Pointer(pParse)).FpVdbe != 0 { return (*Parse)(unsafe.Pointer(pParse)).FpVdbe } @@ -117783,7 +117802,7 @@ func Xsqlite3GetVdbe(tls *libc.TLS, pParse uintptr) uintptr { /* sqlite3.c:13647 // redefined. The UNION ALL operator uses this property to force // the reuse of the same limit and offset registers across multiple // SELECT statements. -func computeLimitRegisters(tls *libc.TLS, pParse uintptr, p uintptr, iBreak int32) { /* sqlite3.c:136510:13: */ +func computeLimitRegisters(tls *libc.TLS, pParse uintptr, p uintptr, iBreak int32) { /* sqlite3.c:136523:13: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -117840,7 +117859,7 @@ func computeLimitRegisters(tls *libc.TLS, pParse uintptr, p uintptr, iBreak int3 // // The collating sequence for the compound select is taken from the // left-most term of the select that has a collating sequence. -func multiSelectCollSeq(tls *libc.TLS, pParse uintptr, p uintptr, iCol int32) uintptr { /* sqlite3.c:136567:16: */ +func multiSelectCollSeq(tls *libc.TLS, pParse uintptr, p uintptr, iCol int32) uintptr { /* sqlite3.c:136580:16: */ var pRet uintptr if (*Select)(unsafe.Pointer(p)).FpPrior != 0 { pRet = multiSelectCollSeq(tls, pParse, (*Select)(unsafe.Pointer(p)).FpPrior, iCol) @@ -117864,7 +117883,7 @@ func multiSelectCollSeq(tls *libc.TLS, pParse uintptr, p uintptr, iCol int32) ui // Space to hold the KeyInfo structure is obtained from malloc. The calling // function is responsible for ensuring that this structure is eventually // freed. -func multiSelectOrderByKeyInfo(tls *libc.TLS, pParse uintptr, p uintptr, nExtra int32) uintptr { /* sqlite3.c:136593:16: */ +func multiSelectOrderByKeyInfo(tls *libc.TLS, pParse uintptr, p uintptr, nExtra int32) uintptr { /* sqlite3.c:136606:16: */ var pOrderBy uintptr = (*Select)(unsafe.Pointer(p)).FpOrderBy var nOrderBy int32 if pOrderBy != uintptr(0) { @@ -117933,7 +117952,7 @@ func multiSelectOrderByKeyInfo(tls *libc.TLS, pParse uintptr, p uintptr, nExtra // with a positive value, then the first OFFSET outputs are discarded rather // than being sent to pDest. The LIMIT count does not begin until after OFFSET // rows have been skipped. -func generateWithRecursiveQuery(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) { /* sqlite3.c:136659:13: */ +func generateWithRecursiveQuery(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) { /* sqlite3.c:136672:13: */ bp := tls.Alloc(28) defer tls.Free(28) @@ -118174,7 +118193,7 @@ end_of_recursive_query: // clause occurs within scalar expression (ex: "SELECT (VALUES(1),(2),(3))"). // The sqlite3CodeSubselect will have added the LIMIT 1 clause in tht case. // Since the limit is exactly 1, we only need to evalutes the left-most VALUES. -func multiSelectValues(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) int32 { /* sqlite3.c:136835:12: */ +func multiSelectValues(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) int32 { /* sqlite3.c:136848:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -118214,7 +118233,7 @@ func multiSelectValues(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) // Return true if the SELECT statement which is known to be the recursive // part of a recursive CTE still has its anchor terms attached. If the // anchor terms have already been removed, then return false. -func hasAnchor(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:136872:12: */ +func hasAnchor(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:136885:12: */ for p != 0 && (*Select)(unsafe.Pointer(p)).FselFlags&U32(SF_Recursive) != U32(0) { p = (*Select)(unsafe.Pointer(p)).FpPrior } @@ -118250,7 +118269,7 @@ func hasAnchor(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:136872:12: */ // // Notice that because of the way SQLite parses compound SELECTs, the // individual selects always group from left to right. -func multiSelect(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) int32 { /* sqlite3.c:136908:12: */ +func multiSelect(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) int32 { /* sqlite3.c:136921:12: */ bp := tls.Alloc(104) defer tls.Free(104) @@ -118713,7 +118732,7 @@ __44: // Error message for when two or more terms of a compound select have different // size result sets. -func Xsqlite3SelectWrongNumTermsError(tls *libc.TLS, pParse uintptr, p uintptr) { /* sqlite3.c:137264:21: */ +func Xsqlite3SelectWrongNumTermsError(tls *libc.TLS, pParse uintptr, p uintptr) { /* sqlite3.c:137277:21: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -118744,7 +118763,7 @@ func Xsqlite3SelectWrongNumTermsError(tls *libc.TLS, pParse uintptr, p uintptr) // // If the LIMIT found in p->iLimit is reached, jump immediately to // iBreak. -func generateOutputSubroutine(tls *libc.TLS, pParse uintptr, p uintptr, pIn uintptr, pDest uintptr, regReturn int32, regPrev int32, pKeyInfo uintptr, iBreak int32) int32 { /* sqlite3.c:137294:12: */ +func generateOutputSubroutine(tls *libc.TLS, pParse uintptr, p uintptr, pIn uintptr, pDest uintptr, regReturn int32, regPrev int32, pKeyInfo uintptr, iBreak int32) int32 { /* sqlite3.c:137307:12: */ var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe var iContinue int32 var addr int32 @@ -118940,7 +118959,7 @@ func generateOutputSubroutine(tls *libc.TLS, pParse uintptr, p uintptr, pIn uint // actually called using Gosub and they do not Return. EofA and EofB loop // until all data is exhausted then jump to the "end" labe. AltB, AeqB, // and AgtB jump to either L2 or to one of EofA or EofB. -func multiSelectOrderBy(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) int32 { /* sqlite3.c:137502:12: */ +func multiSelectOrderBy(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) int32 { /* sqlite3.c:137515:12: */ bp := tls.Alloc(64) defer tls.Free(64) @@ -119289,14 +119308,14 @@ type SubstContext1 = struct { FiNewTable int32 FisLeftJoin int32 FpEList uintptr -} /* sqlite3.c:137827:9 */ +} /* sqlite3.c:137840:9 */ // An instance of the SubstContext object describes an substitution edit // to be performed on a parse tree. // // All references to columns in table iTable are to be replaced by corresponding // expressions in pEList. -type SubstContext = SubstContext1 /* sqlite3.c:137833:3 */ +type SubstContext = SubstContext1 /* sqlite3.c:137846:3 */ // Scan through the expression pExpr. Replace every reference to // a column in table number iTable with a copy of the iColumn-th @@ -119309,7 +119328,7 @@ type SubstContext = SubstContext1 /* sqlite3.c:137833:3 */ // FORM clause entry is iTable. This routine makes the necessary // changes to pExpr so that it refers directly to the source table // of the subquery rather the result set of the subquery. -func substExpr(tls *libc.TLS, pSubst uintptr, pExpr uintptr) uintptr { /* sqlite3.c:137852:13: */ +func substExpr(tls *libc.TLS, pSubst uintptr, pExpr uintptr) uintptr { /* sqlite3.c:137865:13: */ bp := tls.Alloc(52) defer tls.Free(52) @@ -119392,7 +119411,7 @@ func substExpr(tls *libc.TLS, pSubst uintptr, pExpr uintptr) uintptr { /* sqlite return pExpr } -func substExprList(tls *libc.TLS, pSubst uintptr, pList uintptr) { /* sqlite3.c:137937:13: */ +func substExprList(tls *libc.TLS, pSubst uintptr, pList uintptr) { /* sqlite3.c:137950:13: */ var i int32 if pList == uintptr(0) { return @@ -119402,7 +119421,7 @@ func substExprList(tls *libc.TLS, pSubst uintptr, pList uintptr) { /* sqlite3.c: } } -func substSelect(tls *libc.TLS, pSubst uintptr, p uintptr, doPrior int32) { /* sqlite3.c:137947:13: */ +func substSelect(tls *libc.TLS, pSubst uintptr, p uintptr, doPrior int32) { /* sqlite3.c:137960:13: */ var pSrc uintptr var pItem uintptr var i int32 @@ -119445,7 +119464,7 @@ func substSelect(tls *libc.TLS, pSubst uintptr, p uintptr, doPrior int32) { /* s // // This routine scans the entire SELECT statement and recomputes the // pSrcItem->colUsed mask. -func recomputeColumnsUsedExpr(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:137982:12: */ +func recomputeColumnsUsedExpr(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:137995:12: */ var pItem uintptr if int32((*Expr)(unsafe.Pointer(pExpr)).Fop) != TK_COLUMN { return WRC_Continue @@ -119461,7 +119480,7 @@ func recomputeColumnsUsedExpr(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int return WRC_Continue } -func recomputeColumnsUsed(tls *libc.TLS, pSelect uintptr, pSrcItem uintptr) { /* sqlite3.c:137991:13: */ +func recomputeColumnsUsed(tls *libc.TLS, pSelect uintptr, pSrcItem uintptr) { /* sqlite3.c:138004:13: */ bp := tls.Alloc(28) defer tls.Free(28) @@ -119493,7 +119512,7 @@ func recomputeColumnsUsed(tls *libc.TLS, pSelect uintptr, pSrcItem uintptr) { /* // // If pSrc contains any sub-selects, call this routine recursively // on the FROM clause of each such sub-select, with iExcept set to -1. -func srclistRenumberCursors(tls *libc.TLS, pParse uintptr, aCsrMap uintptr, pSrc uintptr, iExcept int32) { /* sqlite3.c:138020:13: */ +func srclistRenumberCursors(tls *libc.TLS, pParse uintptr, aCsrMap uintptr, pSrc uintptr, iExcept int32) { /* sqlite3.c:138033:13: */ var i int32 var pItem uintptr i = 0 @@ -119526,7 +119545,7 @@ __3: } // *piCursor is a cursor number. Change it if it needs to be mapped. -func renumberCursorDoMapping(tls *libc.TLS, pWalker uintptr, piCursor uintptr) { /* sqlite3.c:138046:13: */ +func renumberCursorDoMapping(tls *libc.TLS, pWalker uintptr, piCursor uintptr) { /* sqlite3.c:138059:13: */ var aCsrMap uintptr = *(*uintptr)(unsafe.Pointer(pWalker + 24)) var iCsr int32 = *(*int32)(unsafe.Pointer(piCursor)) if iCsr < *(*int32)(unsafe.Pointer(aCsrMap)) && *(*int32)(unsafe.Pointer(aCsrMap + uintptr(iCsr+1)*4)) > 0 { @@ -119536,7 +119555,7 @@ func renumberCursorDoMapping(tls *libc.TLS, pWalker uintptr, piCursor uintptr) { // Expression walker callback used by renumberCursors() to update // Expr objects to match newly assigned cursor numbers. -func renumberCursorsCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:138058:12: */ +func renumberCursorsCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:138071:12: */ var op int32 = int32((*Expr)(unsafe.Pointer(pExpr)).Fop) if op == TK_COLUMN || op == TK_IF_NULL_ROW { renumberCursorDoMapping(tls, pWalker, pExpr+28) @@ -119563,7 +119582,7 @@ func renumberCursorsCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* // * the array entries for all cursor numbers that do *not* appear in // FROM clauses of the select statement as described above are // initialized to zero. -func renumberCursors(tls *libc.TLS, pParse uintptr, p uintptr, iExcept int32, aCsrMap uintptr) { /* sqlite3.c:138087:13: */ +func renumberCursors(tls *libc.TLS, pParse uintptr, p uintptr, iExcept int32, aCsrMap uintptr) { /* sqlite3.c:138100:13: */ bp := tls.Alloc(28) defer tls.Free(28) @@ -119733,7 +119752,7 @@ func renumberCursors(tls *libc.TLS, pParse uintptr, p uintptr, iExcept int32, aC // // All of the expression analysis must occur on both the outer query and // the subquery before this routine runs. -func flattenSubquery(tls *libc.TLS, pParse uintptr, p uintptr, iFrom int32, isAgg int32) int32 { /* sqlite3.c:138258:12: */ +func flattenSubquery(tls *libc.TLS, pParse uintptr, p uintptr, iFrom int32, isAgg int32) int32 { /* sqlite3.c:138271:12: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -120158,7 +120177,7 @@ __3: // A structure to keep track of all of the column values that are fixed to // a known value due to WHERE clause constraints of the form COLUMN=VALUE. -type WhereConst = WhereConst1 /* sqlite3.c:138682:27 */ +type WhereConst = WhereConst1 /* sqlite3.c:138695:27 */ // Add a new entry to the pConst object. Except, do not add duplicate // pColumn entires. Also, do not add if doing so would not be appropriate. @@ -120166,7 +120185,7 @@ type WhereConst = WhereConst1 /* sqlite3.c:138682:27 */ // The caller guarantees the pColumn is a column and pValue is a constant. // This routine has to do some additional checks before completing the // insert. -func constInsert(tls *libc.TLS, pConst uintptr, pColumn uintptr, pValue uintptr, pExpr uintptr) { /* sqlite3.c:138700:13: */ +func constInsert(tls *libc.TLS, pConst uintptr, pColumn uintptr, pValue uintptr, pExpr uintptr) { /* sqlite3.c:138713:13: */ var i int32 if (*Expr)(unsafe.Pointer(pColumn)).Fflags&U32(EP_FixedCol) != U32(0) { @@ -120208,7 +120227,7 @@ func constInsert(tls *libc.TLS, pConst uintptr, pColumn uintptr, pValue uintptr, // is a constant expression and where the term must be true because it // is part of the AND-connected terms of the expression. For each term // found, add it to the pConst structure. -func findConstInWhere(tls *libc.TLS, pConst uintptr, pExpr uintptr) { /* sqlite3.c:138748:13: */ +func findConstInWhere(tls *libc.TLS, pConst uintptr, pExpr uintptr) { /* sqlite3.c:138761:13: */ var pRight uintptr var pLeft uintptr if pExpr == uintptr(0) { @@ -120243,7 +120262,7 @@ func findConstInWhere(tls *libc.TLS, pConst uintptr, pExpr uintptr) { /* sqlite3 // then overwrite it with the corresponding value. Except, do not do so // if argument bIgnoreAffBlob is non-zero and the affinity of pExpr // is SQLITE_AFF_BLOB. -func propagateConstantExprRewriteOne(tls *libc.TLS, pConst uintptr, pExpr uintptr, bIgnoreAffBlob int32) int32 { /* sqlite3.c:138779:12: */ +func propagateConstantExprRewriteOne(tls *libc.TLS, pConst uintptr, pExpr uintptr, bIgnoreAffBlob int32) int32 { /* sqlite3.c:138792:12: */ var i int32 if *(*U8)(unsafe.Pointer((*WhereConst)(unsafe.Pointer(pConst)).FpOomFault)) != 0 { return WRC_Prune @@ -120297,7 +120316,7 @@ func propagateConstantExprRewriteOne(tls *libc.TLS, pConst uintptr, pExpr uintpt // uses an affinity other than TEXT and one of its immediate // children is a column that matches one of the columns in // pWalker->u.pConst. -func propagateConstantExprRewrite(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:138828:12: */ +func propagateConstantExprRewrite(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:138841:12: */ var pConst uintptr = *(*uintptr)(unsafe.Pointer(pWalker + 24)) if (*WhereConst)(unsafe.Pointer(pConst)).FbHasAffBlob != 0 { @@ -120364,7 +120383,7 @@ func propagateConstantExprRewrite(tls *libc.TLS, pWalker uintptr, pExpr uintptr) // operators ==, <=, <, >=, >, or IS in a way that will cause the correct // type conversions to occur. See logic associated with the bHasAffBlob flag // for details. -func propagateConstants(tls *libc.TLS, pParse uintptr, p uintptr) int32 { /* sqlite3.c:138899:12: */ +func propagateConstants(tls *libc.TLS, pParse uintptr, p uintptr) int32 { /* sqlite3.c:138912:12: */ bp := tls.Alloc(52) defer tls.Free(52) @@ -120417,7 +120436,7 @@ func propagateConstants(tls *libc.TLS, pParse uintptr, p uintptr) int32 { /* sql // // * the sub-query uses only one distinct window frame, and // * that the window frame has a PARTITION BY clase. -func pushDownWindowCheck(tls *libc.TLS, pParse uintptr, pSubq uintptr, pExpr uintptr) int32 { /* sqlite3.c:138950:12: */ +func pushDownWindowCheck(tls *libc.TLS, pParse uintptr, pSubq uintptr, pExpr uintptr) int32 { /* sqlite3.c:138963:12: */ return Xsqlite3ExprIsConstantOrGroupBy(tls, pParse, pExpr, (*Window)(unsafe.Pointer((*Select)(unsafe.Pointer(pSubq)).FpWin)).FpPartition) } @@ -120488,7 +120507,7 @@ func pushDownWindowCheck(tls *libc.TLS, pParse uintptr, pSubq uintptr, pExpr uin // // Return 0 if no changes are made and non-zero if one or more WHERE clause // terms are duplicated into the subquery. -func pushDownWhereTerms(tls *libc.TLS, pParse uintptr, pSubq uintptr, pWhere uintptr, iCursor int32, isLeftJoin int32) int32 { /* sqlite3.c:139028:12: */ +func pushDownWhereTerms(tls *libc.TLS, pParse uintptr, pSubq uintptr, pWhere uintptr, iCursor int32, isLeftJoin int32) int32 { /* sqlite3.c:139041:12: */ bp := tls.Alloc(20) defer tls.Free(20) @@ -120576,7 +120595,7 @@ func pushDownWhereTerms(tls *libc.TLS, pParse uintptr, pSubq uintptr, pWhere uin // This routine must be called after aggregate functions have been // located but before their arguments have been subjected to aggregate // analysis. -func minMaxQuery(tls *libc.TLS, db uintptr, pFunc uintptr, ppMinMax uintptr) U8 { /* sqlite3.c:139132:11: */ +func minMaxQuery(tls *libc.TLS, db uintptr, pFunc uintptr, ppMinMax uintptr) U8 { /* sqlite3.c:139145:11: */ var eRet int32 = WHERE_ORDERBY_NORMAL // Return value var pEList uintptr // Arguments to agg function var zFunc uintptr // Name of aggregate function pFunc @@ -120626,7 +120645,7 @@ func minMaxQuery(tls *libc.TLS, db uintptr, pFunc uintptr, ppMinMax uintptr) U8 // this routine returns NULL when it could have returned a table pointer. // But returning the pointer when NULL should have been returned can // result in incorrect answers and/or crashes. So, when in doubt, return NULL. -func isSimpleCount(tls *libc.TLS, p uintptr, pAggInfo uintptr) uintptr { /* sqlite3.c:139187:14: */ +func isSimpleCount(tls *libc.TLS, p uintptr, pAggInfo uintptr) uintptr { /* sqlite3.c:139200:14: */ var pTab uintptr var pExpr uintptr @@ -120666,7 +120685,7 @@ func isSimpleCount(tls *libc.TLS, p uintptr, pAggInfo uintptr) uintptr { /* sqli // was such a clause and the named index cannot be found, return // SQLITE_ERROR and leave an error in pParse. Otherwise, populate // pFrom->pIndex and return SQLITE_OK. -func Xsqlite3IndexedByLookup(tls *libc.TLS, pParse uintptr, pFrom uintptr) int32 { /* sqlite3.c:139225:20: */ +func Xsqlite3IndexedByLookup(tls *libc.TLS, pParse uintptr, pFrom uintptr) int32 { /* sqlite3.c:139238:20: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -120705,7 +120724,7 @@ func Xsqlite3IndexedByLookup(tls *libc.TLS, pParse uintptr, pFrom uintptr) int32 // This transformation is only needed for EXCEPT, INTERSECT, and UNION. // The UNION ALL operator works fine with multiSelectOrderBy() even when // there are COLLATE terms in the ORDER BY. -func convertCompoundSelectToSubquery(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sqlite3.c:139267:12: */ +func convertCompoundSelectToSubquery(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sqlite3.c:139280:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -120784,7 +120803,7 @@ func convertCompoundSelectToSubquery(tls *libc.TLS, pWalker uintptr, p uintptr) // Check to see if the FROM clause term pFrom has table-valued function // arguments. If it does, leave an error message in pParse and return // non-zero, since pFrom is not allowed to be a table-valued function. -func cannotBeFunction(tls *libc.TLS, pParse uintptr, pFrom uintptr) int32 { /* sqlite3.c:139332:12: */ +func cannotBeFunction(tls *libc.TLS, pParse uintptr, pFrom uintptr) int32 { /* sqlite3.c:139345:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -120803,7 +120822,7 @@ func cannotBeFunction(tls *libc.TLS, pParse uintptr, pFrom uintptr) int32 { /* s // // If a non-NULL value is returned, set *ppContext to point to the With // object that the returned CTE belongs to. -func searchWith(tls *libc.TLS, pWith uintptr, pItem uintptr, ppContext uintptr) uintptr { /* sqlite3.c:139351:19: */ +func searchWith(tls *libc.TLS, pWith uintptr, pItem uintptr, ppContext uintptr) uintptr { /* sqlite3.c:139364:19: */ var zName uintptr = (*SrcItem)(unsafe.Pointer(pItem)).FzName var p uintptr @@ -120838,7 +120857,7 @@ func searchWith(tls *libc.TLS, pWith uintptr, pItem uintptr, ppContext uintptr) // // If bFree is true, do not continue to use the pWith pointer after // calling this routine, Instead, use only the return value. -func Xsqlite3WithPush(tls *libc.TLS, pParse uintptr, pWith uintptr, bFree U8) uintptr { /* sqlite3.c:139390:21: */ +func Xsqlite3WithPush(tls *libc.TLS, pParse uintptr, pWith uintptr, bFree U8) uintptr { /* sqlite3.c:139403:21: */ if pWith != 0 { if bFree != 0 { pWith = Xsqlite3ParserAddCleanup(tls, pParse, @@ -120871,7 +120890,7 @@ func Xsqlite3WithPush(tls *libc.TLS, pParse uintptr, pWith uintptr, bFree U8) ui // Return 0 if no match is found. // Return 1 if a match is found. // Return 2 if an error condition is detected. -func resolveFromTermToCte(tls *libc.TLS, pParse uintptr, pWalker uintptr, pFrom uintptr) int32 { /* sqlite3.c:139421:12: */ +func resolveFromTermToCte(tls *libc.TLS, pParse uintptr, pWalker uintptr, pFrom uintptr) int32 { /* sqlite3.c:139434:12: */ bp := tls.Alloc(52) defer tls.Free(52) @@ -121053,7 +121072,7 @@ func resolveFromTermToCte(tls *libc.TLS, pParse uintptr, pWalker uintptr, pFrom // This function is used as the xSelectCallback2() callback by // sqlite3SelectExpand() when walking a SELECT tree to resolve table // names and other FROM clause elements. -func Xsqlite3SelectPopWith(tls *libc.TLS, pWalker uintptr, p uintptr) { /* sqlite3.c:139605:21: */ +func Xsqlite3SelectPopWith(tls *libc.TLS, pWalker uintptr, p uintptr) { /* sqlite3.c:139618:21: */ var pParse uintptr = (*Walker)(unsafe.Pointer(pWalker)).FpParse if (*Parse)(unsafe.Pointer(pParse)).FpWith != 0 && (*Select)(unsafe.Pointer(p)).FpPrior == uintptr(0) { var pWith uintptr = (*Select)(unsafe.Pointer(findRightmost(tls, p))).FpWith @@ -121069,7 +121088,7 @@ func Xsqlite3SelectPopWith(tls *libc.TLS, pWalker uintptr, p uintptr) { /* sqlit // allocates and populates the SrcList_item.pTab object. If successful, // SQLITE_OK is returned. Otherwise, if an OOM error is encountered, // SQLITE_NOMEM. -func Xsqlite3ExpandSubquery(tls *libc.TLS, pParse uintptr, pFrom uintptr) int32 { /* sqlite3.c:139624:20: */ +func Xsqlite3ExpandSubquery(tls *libc.TLS, pParse uintptr, pFrom uintptr) int32 { /* sqlite3.c:139637:20: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -121123,7 +121142,7 @@ func Xsqlite3ExpandSubquery(tls *libc.TLS, pParse uintptr, pFrom uintptr) int32 // If found, expand each "*" to be every column in every table // and TABLE.* to be every column in TABLE. // -func selectExpander(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sqlite3.c:139676:12: */ +func selectExpander(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sqlite3.c:139689:12: */ bp := tls.Alloc(80) defer tls.Free(80) @@ -121472,7 +121491,7 @@ __3: // If anything goes wrong, an error message is written into pParse. // The calling function can detect the problem by looking at pParse->nErr // and/or pParse->db->mallocFailed. -func sqlite3SelectExpand(tls *libc.TLS, pParse uintptr, pSelect uintptr) { /* sqlite3.c:140003:13: */ +func sqlite3SelectExpand(tls *libc.TLS, pParse uintptr, pSelect uintptr) { /* sqlite3.c:140016:13: */ bp := tls.Alloc(28) defer tls.Free(28) @@ -121510,7 +121529,7 @@ func sqlite3SelectExpand(tls *libc.TLS, pParse uintptr, pSelect uintptr) { /* sq // by selectExpander() but the type and collation information was omitted // at that point because identifiers had not yet been resolved. This // routine is called after identifier resolution. -func selectAddSubqueryTypeInfo(tls *libc.TLS, pWalker uintptr, p uintptr) { /* sqlite3.c:140033:13: */ +func selectAddSubqueryTypeInfo(tls *libc.TLS, pWalker uintptr, p uintptr) { /* sqlite3.c:140046:13: */ var pParse uintptr var i int32 var pTabList uintptr @@ -121558,7 +121577,7 @@ __3: // SELECT statement. // // Use this routine after name resolution. -func sqlite3SelectAddTypeInfo(tls *libc.TLS, pParse uintptr, pSelect uintptr) { /* sqlite3.c:140068:13: */ +func sqlite3SelectAddTypeInfo(tls *libc.TLS, pParse uintptr, pSelect uintptr) { /* sqlite3.c:140081:13: */ bp := tls.Alloc(28) defer tls.Free(28) @@ -121587,7 +121606,7 @@ func sqlite3SelectAddTypeInfo(tls *libc.TLS, pParse uintptr, pSelect uintptr) { // * Identifiers in expression are matched to tables. // // This routine acts recursively on all subqueries within the SELECT. -func Xsqlite3SelectPrep(tls *libc.TLS, pParse uintptr, p uintptr, pOuterNC uintptr) { /* sqlite3.c:140092:21: */ +func Xsqlite3SelectPrep(tls *libc.TLS, pParse uintptr, p uintptr, pOuterNC uintptr) { /* sqlite3.c:140105:21: */ if (*Sqlite3)(unsafe.Pointer((*Parse)(unsafe.Pointer(pParse)).Fdb)).FmallocFailed != 0 { return @@ -121612,7 +121631,7 @@ func Xsqlite3SelectPrep(tls *libc.TLS, pParse uintptr, p uintptr, pOuterNC uintp // intermediate results while calculating an aggregate. This // routine generates code that stores NULLs in all of those memory // cells. -func resetAccumulator(tls *libc.TLS, pParse uintptr, pAggInfo uintptr) { /* sqlite3.c:140116:13: */ +func resetAccumulator(tls *libc.TLS, pParse uintptr, pAggInfo uintptr) { /* sqlite3.c:140129:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -121662,7 +121681,7 @@ __3: // Invoke the OP_AggFinalize opcode for every aggregate function // in the AggInfo structure. -func finalizeAggFunctions(tls *libc.TLS, pParse uintptr, pAggInfo uintptr) { /* sqlite3.c:140162:13: */ +func finalizeAggFunctions(tls *libc.TLS, pParse uintptr, pAggInfo uintptr) { /* sqlite3.c:140175:13: */ var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe var i int32 var pF uintptr @@ -121701,7 +121720,7 @@ __3: // in pAggInfo, then only populate the pAggInfo->nAccumulator accumulator // registers if register regAcc contains 0. The caller will take care // of setting and clearing regAcc. -func updateAccumulator(tls *libc.TLS, pParse uintptr, regAcc int32, pAggInfo uintptr, eDistinctType int32) { /* sqlite3.c:140185:13: */ +func updateAccumulator(tls *libc.TLS, pParse uintptr, regAcc int32, pAggInfo uintptr, eDistinctType int32) { /* sqlite3.c:140198:13: */ var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe var i int32 var regHit int32 = 0 @@ -121842,7 +121861,7 @@ __9: // Add a single OP_Explain instruction to the VDBE to explain a simple // count(*) query ("SELECT count(*) FROM pTab"). -func explainSimpleCount(tls *libc.TLS, pParse uintptr, pTab uintptr, pIdx uintptr) { /* sqlite3.c:140287:13: */ +func explainSimpleCount(tls *libc.TLS, pParse uintptr, pTab uintptr, pIdx uintptr) { /* sqlite3.c:140300:13: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -121874,7 +121893,7 @@ func explainSimpleCount(tls *libc.TLS, pParse uintptr, pTab uintptr, pIdx uintpt // sub-expression matches the criteria for being moved to the WHERE // clause. If so, add it to the WHERE clause and replace the sub-expression // within the HAVING expression with a constant "1". -func havingToWhereExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:140316:12: */ +func havingToWhereExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:140329:12: */ if int32((*Expr)(unsafe.Pointer(pExpr)).Fop) != TK_AND { var pS uintptr = *(*uintptr)(unsafe.Pointer(pWalker + 24)) // This routine is called before the HAVING clause of the current @@ -121920,7 +121939,7 @@ func havingToWhereExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { // A term of the HAVING expression is eligible for transfer if it consists // entirely of constants and expressions that are also GROUP BY terms that // use the "BINARY" collation sequence. -func havingToWhere(tls *libc.TLS, pParse uintptr, p uintptr) { /* sqlite3.c:140360:13: */ +func havingToWhere(tls *libc.TLS, pParse uintptr, p uintptr) { /* sqlite3.c:140373:13: */ bp := tls.Alloc(28) defer tls.Free(28) @@ -121938,7 +121957,7 @@ func havingToWhere(tls *libc.TLS, pParse uintptr, p uintptr) { /* sqlite3.c:1403 // Check to see if the pThis entry of pTabList is a self-join of a prior view. // If it is, then return the SrcList_item for the prior view. If it is not, // then return 0. -func isSelfJoinView(tls *libc.TLS, pTabList uintptr, pThis uintptr) uintptr { /* sqlite3.c:140380:16: */ +func isSelfJoinView(tls *libc.TLS, pTabList uintptr, pThis uintptr) uintptr { /* sqlite3.c:140393:16: */ var pItem uintptr if (*Select)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pThis)).FpSelect)).FselFlags&U32(SF_PushDown) != 0 { @@ -121979,7 +121998,7 @@ func isSelfJoinView(tls *libc.TLS, pTabList uintptr, pThis uintptr) uintptr { /* } // Deallocate a single AggInfo object -func agginfoFree(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:140415:13: */ +func agginfoFree(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:140428:13: */ Xsqlite3DbFree(tls, db, (*AggInfo)(unsafe.Pointer(p)).FaCol) Xsqlite3DbFree(tls, db, (*AggInfo)(unsafe.Pointer(p)).FaFunc) Xsqlite3DbFreeNN(tls, db, p) @@ -121996,7 +122015,7 @@ func agginfoFree(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:140415:13: // // This routine does NOT free the Select structure passed in. The // calling function needs to do that. -func Xsqlite3Select(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) int32 { /* sqlite3.c:140523:20: */ +func Xsqlite3Select(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) int32 { /* sqlite3.c:140536:20: */ bp := tls.Alloc(164) defer tls.Free(164) @@ -123592,7 +123611,7 @@ type TabResult1 = struct { FnColumn U32 FnData U32 Frc int32 -} /* sqlite3.c:141786:9 */ +} /* sqlite3.c:141799:9 */ //************* End of select.c ********************************************* //************* Begin file table.c ****************************************** @@ -123616,12 +123635,12 @@ type TabResult1 = struct { // This structure is used to pass data from sqlite3_get_table() through // to the callback function is uses to build the result. -type TabResult = TabResult1 /* sqlite3.c:141794:3 */ +type TabResult = TabResult1 /* sqlite3.c:141807:3 */ // This routine is called once for each row in the result table. Its job // is to fill in the TabResult structure appropriately, allocating new // memory as necessary. -func sqlite3_get_table_cb(tls *libc.TLS, pArg uintptr, nCol int32, argv uintptr, colv uintptr) int32 { /* sqlite3.c:141801:12: */ +func sqlite3_get_table_cb(tls *libc.TLS, pArg uintptr, nCol int32, argv uintptr, colv uintptr) int32 { /* sqlite3.c:141814:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -123752,7 +123771,7 @@ malloc_failed: // from malloc(). But the caller cannot free this memory directly. // Instead, the entire table should be passed to sqlite3_free_table() when // the calling procedure is finished using it. -func Xsqlite3_get_table(tls *libc.TLS, db uintptr, zSql uintptr, pazResult uintptr, pnRow uintptr, pnColumn uintptr, pzErrMsg uintptr) int32 { /* sqlite3.c:141875:16: */ +func Xsqlite3_get_table(tls *libc.TLS, db uintptr, zSql uintptr, pazResult uintptr, pnRow uintptr, pnColumn uintptr, pzErrMsg uintptr) int32 { /* sqlite3.c:141888:16: */ bp := tls.Alloc(36) defer tls.Free(36) @@ -123824,7 +123843,7 @@ func Xsqlite3_get_table(tls *libc.TLS, db uintptr, zSql uintptr, pazResult uintp } // This routine frees the space the sqlite3_get_table() malloced. -func Xsqlite3_free_table(tls *libc.TLS, azResult uintptr) { /* sqlite3.c:141944:17: */ +func Xsqlite3_free_table(tls *libc.TLS, azResult uintptr) { /* sqlite3.c:141957:17: */ if azResult != 0 { var i int32 var n int32 @@ -123855,7 +123874,7 @@ func Xsqlite3_free_table(tls *libc.TLS, azResult uintptr) { /* sqlite3.c:141944: // #include "sqliteInt.h" // Delete a linked list of TriggerStep structures. -func Xsqlite3DeleteTriggerStep(tls *libc.TLS, db uintptr, pTriggerStep uintptr) { /* sqlite3.c:141979:21: */ +func Xsqlite3DeleteTriggerStep(tls *libc.TLS, db uintptr, pTriggerStep uintptr) { /* sqlite3.c:141992:21: */ for pTriggerStep != 0 { var pTmp uintptr = pTriggerStep pTriggerStep = (*TriggerStep)(unsafe.Pointer(pTriggerStep)).FpNext @@ -123884,7 +123903,7 @@ func Xsqlite3DeleteTriggerStep(tls *libc.TLS, db uintptr, pTriggerStep uintptr) // To state it another way: This routine returns a list of all triggers // that fire off of pTab. The list will include any TEMP triggers on // pTab as well as the triggers lised in pTab->pTrigger. -func Xsqlite3TriggerList(tls *libc.TLS, pParse uintptr, pTab uintptr) uintptr { /* sqlite3.c:142010:24: */ +func Xsqlite3TriggerList(tls *libc.TLS, pParse uintptr, pTab uintptr) uintptr { /* sqlite3.c:142023:24: */ var pTmpSchema uintptr // Schema of the pTab table var pList uintptr // List of triggers to return var p uintptr // Loop variable for TEMP triggers @@ -123922,7 +123941,7 @@ func Xsqlite3TriggerList(tls *libc.TLS, pParse uintptr, pTab uintptr) uintptr { // in pParse->pNewTrigger. After the trigger actions have been parsed, the // sqlite3FinishTrigger() function is called to complete the trigger // construction process. -func Xsqlite3BeginTrigger(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 uintptr, tr_tm int32, op int32, pColumns uintptr, pTableName uintptr, pWhen uintptr, isTemp int32, noErr int32) { /* sqlite3.c:142066:21: */ +func Xsqlite3BeginTrigger(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 uintptr, tr_tm int32, op int32, pColumns uintptr, pTableName uintptr, pWhen uintptr, isTemp int32, noErr int32) { /* sqlite3.c:142079:21: */ bp := tls.Alloc(88) defer tls.Free(88) @@ -124229,7 +124248,7 @@ __31: // This routine is called after all of the trigger actions have been parsed // in order to complete the process of building the trigger. -func Xsqlite3FinishTrigger(tls *libc.TLS, pParse uintptr, pStepList uintptr, pAll uintptr) { /* sqlite3.c:142273:21: */ +func Xsqlite3FinishTrigger(tls *libc.TLS, pParse uintptr, pStepList uintptr, pAll uintptr) { /* sqlite3.c:142286:21: */ bp := tls.Alloc(100) defer tls.Free(100) @@ -124353,7 +124372,7 @@ triggerfinish_cleanup: // Duplicate a range of text from an SQL statement, then convert all // whitespace characters into ordinary space characters. -func triggerSpanDup(tls *libc.TLS, db uintptr, zStart uintptr, zEnd uintptr) uintptr { /* sqlite3.c:142361:13: */ +func triggerSpanDup(tls *libc.TLS, db uintptr, zStart uintptr, zEnd uintptr) uintptr { /* sqlite3.c:142374:13: */ var z uintptr = Xsqlite3DbSpanDup(tls, db, zStart, zEnd) var i int32 if z != 0 { @@ -124371,7 +124390,7 @@ func triggerSpanDup(tls *libc.TLS, db uintptr, zStart uintptr, zEnd uintptr) uin // // The parser calls this routine when it finds a SELECT statement in // body of a TRIGGER. -func Xsqlite3TriggerSelectStep(tls *libc.TLS, db uintptr, pSelect uintptr, zStart uintptr, zEnd uintptr) uintptr { /* sqlite3.c:142375:28: */ +func Xsqlite3TriggerSelectStep(tls *libc.TLS, db uintptr, pSelect uintptr, zStart uintptr, zEnd uintptr) uintptr { /* sqlite3.c:142388:28: */ var pTriggerStep uintptr = Xsqlite3DbMallocZero(tls, db, uint64(unsafe.Sizeof(TriggerStep{}))) if pTriggerStep == uintptr(0) { Xsqlite3SelectDelete(tls, db, pSelect) @@ -124388,7 +124407,7 @@ func Xsqlite3TriggerSelectStep(tls *libc.TLS, db uintptr, pSelect uintptr, zStar // holds both the TriggerStep object and the TriggerStep.target.z string. // // If an OOM error occurs, NULL is returned and db->mallocFailed is set. -func triggerStepAllocate(tls *libc.TLS, pParse uintptr, op U8, pName uintptr, zStart uintptr, zEnd uintptr) uintptr { /* sqlite3.c:142399:20: */ +func triggerStepAllocate(tls *libc.TLS, pParse uintptr, op U8, pName uintptr, zStart uintptr, zEnd uintptr) uintptr { /* sqlite3.c:142412:20: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb var pTriggerStep uintptr @@ -124415,7 +124434,7 @@ func triggerStepAllocate(tls *libc.TLS, pParse uintptr, op U8, pName uintptr, zS // // The parser calls this routine when it sees an INSERT inside the // body of a trigger. -func Xsqlite3TriggerInsertStep(tls *libc.TLS, pParse uintptr, pTableName uintptr, pColumn uintptr, pSelect uintptr, orconf U8, pUpsert uintptr, zStart uintptr, zEnd uintptr) uintptr { /* sqlite3.c:142432:28: */ +func Xsqlite3TriggerInsertStep(tls *libc.TLS, pParse uintptr, pTableName uintptr, pColumn uintptr, pSelect uintptr, orconf U8, pUpsert uintptr, zStart uintptr, zEnd uintptr) uintptr { /* sqlite3.c:142445:28: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb var pTriggerStep uintptr @@ -124447,7 +124466,7 @@ func Xsqlite3TriggerInsertStep(tls *libc.TLS, pParse uintptr, pTableName uintptr // Construct a trigger step that implements an UPDATE statement and return // a pointer to that trigger step. The parser calls this routine when it // sees an UPDATE statement inside the body of a CREATE TRIGGER. -func Xsqlite3TriggerUpdateStep(tls *libc.TLS, pParse uintptr, pTableName uintptr, pFrom uintptr, pEList uintptr, pWhere uintptr, orconf U8, zStart uintptr, zEnd uintptr) uintptr { /* sqlite3.c:142477:28: */ +func Xsqlite3TriggerUpdateStep(tls *libc.TLS, pParse uintptr, pTableName uintptr, pFrom uintptr, pEList uintptr, pWhere uintptr, orconf U8, zStart uintptr, zEnd uintptr) uintptr { /* sqlite3.c:142490:28: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb var pTriggerStep uintptr @@ -124476,7 +124495,7 @@ func Xsqlite3TriggerUpdateStep(tls *libc.TLS, pParse uintptr, pTableName uintptr // Construct a trigger step that implements a DELETE statement and return // a pointer to that trigger step. The parser calls this routine when it // sees a DELETE statement inside the body of a CREATE TRIGGER. -func Xsqlite3TriggerDeleteStep(tls *libc.TLS, pParse uintptr, pTableName uintptr, pWhere uintptr, zStart uintptr, zEnd uintptr) uintptr { /* sqlite3.c:142517:28: */ +func Xsqlite3TriggerDeleteStep(tls *libc.TLS, pParse uintptr, pTableName uintptr, pWhere uintptr, zStart uintptr, zEnd uintptr) uintptr { /* sqlite3.c:142530:28: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb var pTriggerStep uintptr @@ -124495,7 +124514,7 @@ func Xsqlite3TriggerDeleteStep(tls *libc.TLS, pParse uintptr, pTableName uintptr } // Recursively delete a Trigger structure -func Xsqlite3DeleteTrigger(tls *libc.TLS, db uintptr, pTrigger uintptr) { /* sqlite3.c:142544:21: */ +func Xsqlite3DeleteTrigger(tls *libc.TLS, db uintptr, pTrigger uintptr) { /* sqlite3.c:142557:21: */ if pTrigger == uintptr(0) || (*Trigger)(unsafe.Pointer(pTrigger)).FbReturning != 0 { return } @@ -124515,7 +124534,7 @@ func Xsqlite3DeleteTrigger(tls *libc.TLS, db uintptr, pTrigger uintptr) { /* sql // same job as this routine except it takes a pointer to the trigger // instead of the trigger name. // -func Xsqlite3DropTrigger(tls *libc.TLS, pParse uintptr, pName uintptr, noErr int32) { /* sqlite3.c:142562:21: */ +func Xsqlite3DropTrigger(tls *libc.TLS, pParse uintptr, pName uintptr, noErr int32) { /* sqlite3.c:142575:21: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -124599,12 +124618,12 @@ drop_trigger_cleanup: // Return a pointer to the Table structure for the table that a trigger // is set on. -func tableOfTrigger(tls *libc.TLS, pTrigger uintptr) uintptr { /* sqlite3.c:142604:14: */ +func tableOfTrigger(tls *libc.TLS, pTrigger uintptr) uintptr { /* sqlite3.c:142617:14: */ return Xsqlite3HashFind(tls, (*Trigger)(unsafe.Pointer(pTrigger)).FpTabSchema+8, (*Trigger)(unsafe.Pointer(pTrigger)).Ftable) } // Drop a trigger given a pointer to that trigger. -func Xsqlite3DropTriggerPtr(tls *libc.TLS, pParse uintptr, pTrigger uintptr) { /* sqlite3.c:142612:21: */ +func Xsqlite3DropTriggerPtr(tls *libc.TLS, pParse uintptr, pTrigger uintptr) { /* sqlite3.c:142625:21: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -124645,7 +124664,7 @@ func Xsqlite3DropTriggerPtr(tls *libc.TLS, pParse uintptr, pTrigger uintptr) { / } // Remove a trigger from the hash tables of the sqlite* pointer. -func Xsqlite3UnlinkAndDeleteTrigger(tls *libc.TLS, db uintptr, iDb int32, zName uintptr) { /* sqlite3.c:142650:21: */ +func Xsqlite3UnlinkAndDeleteTrigger(tls *libc.TLS, db uintptr, iDb int32, zName uintptr) { /* sqlite3.c:142663:21: */ var pTrigger uintptr var pHash uintptr @@ -124676,7 +124695,7 @@ func Xsqlite3UnlinkAndDeleteTrigger(tls *libc.TLS, db uintptr, iDb int32, zName // wildcard that matches anything. Likewise if pEList==NULL then // it matches anything so always return true. Return false only // if there is no match. -func checkColumnOverlap(tls *libc.TLS, pIdList uintptr, pEList uintptr) int32 { /* sqlite3.c:142684:12: */ +func checkColumnOverlap(tls *libc.TLS, pIdList uintptr, pEList uintptr) int32 { /* sqlite3.c:142697:12: */ var e int32 if pIdList == uintptr(0) || pEList == uintptr(0) { return 1 @@ -124693,7 +124712,7 @@ func checkColumnOverlap(tls *libc.TLS, pIdList uintptr, pEList uintptr) int32 { // one trigger that must be fired when an operation of type 'op' is // performed on the table, and, if that operation is an UPDATE, if at // least one of the columns in pChanges is being modified. -func Xsqlite3TriggersExist(tls *libc.TLS, pParse uintptr, pTab uintptr, op int32, pChanges uintptr, pMask uintptr) uintptr { /* sqlite3.c:142699:24: */ +func Xsqlite3TriggersExist(tls *libc.TLS, pParse uintptr, pTab uintptr, op int32, pChanges uintptr, pMask uintptr) uintptr { /* sqlite3.c:142712:24: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -124820,7 +124839,7 @@ __17: // referring to a target in another database. An exception is when the // trigger is in TEMP in which case it can refer to any other database it // wants. -func Xsqlite3TriggerStepSrc(tls *libc.TLS, pParse uintptr, pStep uintptr) uintptr { /* sqlite3.c:142773:24: */ +func Xsqlite3TriggerStepSrc(tls *libc.TLS, pParse uintptr, pStep uintptr) uintptr { /* sqlite3.c:142786:24: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb var pSrc uintptr // SrcList to be returned var zName uintptr = Xsqlite3DbStrDup(tls, db, (*TriggerStep)(unsafe.Pointer(pStep)).FzTarget) @@ -124845,7 +124864,7 @@ func Xsqlite3TriggerStepSrc(tls *libc.TLS, pParse uintptr, pStep uintptr) uintpt // Return true if the pExpr term from the RETURNING clause argument // list is of the form "*". Raise an error if the terms if of the // form "table.*". -func isAsteriskTerm(tls *libc.TLS, pParse uintptr, pTerm uintptr) int32 { /* sqlite3.c:142804:12: */ +func isAsteriskTerm(tls *libc.TLS, pParse uintptr, pTerm uintptr) int32 { /* sqlite3.c:142817:12: */ if int32((*Expr)(unsafe.Pointer(pTerm)).Fop) == TK_ASTERISK { return 1 @@ -124866,7 +124885,7 @@ func isAsteriskTerm(tls *libc.TLS, pParse uintptr, pTerm uintptr) int32 { /* sql // // This routine makes a copy of the pList, and at the same time expands // any "*" wildcards to be the complete set of columns from pTab. -func sqlite3ExpandReturning(tls *libc.TLS, pParse uintptr, pList uintptr, pTab uintptr) uintptr { /* sqlite3.c:142824:17: */ +func sqlite3ExpandReturning(tls *libc.TLS, pParse uintptr, pList uintptr, pTab uintptr) uintptr { /* sqlite3.c:142837:17: */ var pNew uintptr = uintptr(0) var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb var i int32 @@ -124907,7 +124926,7 @@ func sqlite3ExpandReturning(tls *libc.TLS, pParse uintptr, pList uintptr, pTab u // Generate code for the RETURNING trigger. Unlike other triggers // that invoke a subprogram in the bytecode, the code for RETURNING // is generated in-line. -func codeReturningTrigger(tls *libc.TLS, pParse uintptr, pTrigger uintptr, pTab uintptr, regIn int32) { /* sqlite3.c:142867:13: */ +func codeReturningTrigger(tls *libc.TLS, pParse uintptr, pTrigger uintptr, pTab uintptr, regIn int32) { /* sqlite3.c:142880:13: */ bp := tls.Alloc(188) defer tls.Free(188) @@ -124975,7 +124994,7 @@ func codeReturningTrigger(tls *libc.TLS, pParse uintptr, pTrigger uintptr, pTab // Generate VDBE code for the statements inside the body of a single // trigger. -func codeTriggerProgram(tls *libc.TLS, pParse uintptr, pStepList uintptr, orconf int32) int32 { /* sqlite3.c:142943:12: */ +func codeTriggerProgram(tls *libc.TLS, pParse uintptr, pStepList uintptr, orconf int32) int32 { /* sqlite3.c:142956:12: */ bp := tls.Alloc(36) defer tls.Free(36) @@ -125062,7 +125081,7 @@ func codeTriggerProgram(tls *libc.TLS, pParse uintptr, pStepList uintptr, orconf // Parse context structure pFrom has just been used to create a sub-vdbe // (trigger program). If an error has occurred, transfer error information // from pFrom to pTo. -func transferParseError(tls *libc.TLS, pTo uintptr, pFrom uintptr) { /* sqlite3.c:143047:13: */ +func transferParseError(tls *libc.TLS, pTo uintptr, pFrom uintptr) { /* sqlite3.c:143060:13: */ if (*Parse)(unsafe.Pointer(pTo)).FnErr == 0 { (*Parse)(unsafe.Pointer(pTo)).FzErrMsg = (*Parse)(unsafe.Pointer(pFrom)).FzErrMsg @@ -125075,7 +125094,7 @@ func transferParseError(tls *libc.TLS, pTo uintptr, pFrom uintptr) { /* sqlite3. // Create and populate a new TriggerPrg object with a sub-program // implementing trigger pTrigger with ON CONFLICT policy orconf. -func codeRowTrigger(tls *libc.TLS, pParse uintptr, pTrigger uintptr, pTab uintptr, orconf int32) uintptr { /* sqlite3.c:143063:19: */ +func codeRowTrigger(tls *libc.TLS, pParse uintptr, pTrigger uintptr, pTab uintptr, orconf int32) uintptr { /* sqlite3.c:143076:19: */ bp := tls.Alloc(312) defer tls.Free(312) @@ -125181,7 +125200,7 @@ func codeRowTrigger(tls *libc.TLS, pParse uintptr, pTrigger uintptr, pTab uintpt // trigger pTrigger with default ON CONFLICT algorithm orconf. If no such // TriggerPrg object exists, a new object is allocated and populated before // being returned. -func getRowTrigger(tls *libc.TLS, pParse uintptr, pTrigger uintptr, pTab uintptr, orconf int32) uintptr { /* sqlite3.c:143177:19: */ +func getRowTrigger(tls *libc.TLS, pParse uintptr, pTrigger uintptr, pTab uintptr, orconf int32) uintptr { /* sqlite3.c:143190:19: */ var pRoot uintptr = func() uintptr { if (*Parse)(unsafe.Pointer(pParse)).FpToplevel != 0 { return (*Parse)(unsafe.Pointer(pParse)).FpToplevel @@ -125210,7 +125229,7 @@ func getRowTrigger(tls *libc.TLS, pParse uintptr, pTrigger uintptr, pTab uintptr // table pTab. The reg, orconf and ignoreJump parameters passed to this // function are the same as those described in the header function for // sqlite3CodeRowTrigger() -func Xsqlite3CodeRowTriggerDirect(tls *libc.TLS, pParse uintptr, p uintptr, pTab uintptr, reg int32, orconf int32, ignoreJump int32) { /* sqlite3.c:143212:21: */ +func Xsqlite3CodeRowTriggerDirect(tls *libc.TLS, pParse uintptr, p uintptr, pTab uintptr, reg int32, orconf int32, ignoreJump int32) { /* sqlite3.c:143225:21: */ var v uintptr = Xsqlite3GetVdbe(tls, pParse) // Main VM var pPrg uintptr pPrg = getRowTrigger(tls, pParse, p, pTab, orconf) @@ -125270,7 +125289,7 @@ func Xsqlite3CodeRowTriggerDirect(tls *libc.TLS, pParse uintptr, p uintptr, pTab // trigger program to use (REPLACE, IGNORE etc.). Parameter ignoreJump // is the instruction that control should jump to if a trigger program // raises an IGNORE exception. -func Xsqlite3CodeRowTrigger(tls *libc.TLS, pParse uintptr, pTrigger uintptr, op int32, pChanges uintptr, tr_tm int32, pTab uintptr, reg int32, orconf int32, ignoreJump int32) { /* sqlite3.c:143284:21: */ +func Xsqlite3CodeRowTrigger(tls *libc.TLS, pParse uintptr, pTrigger uintptr, op int32, pChanges uintptr, tr_tm int32, pTab uintptr, reg int32, orconf int32, ignoreJump int32) { /* sqlite3.c:143297:21: */ var p uintptr // Used to iterate through pTrigger list for p = pTrigger; p != 0; p = (*Trigger)(unsafe.Pointer(p)).FpNext { @@ -125318,7 +125337,7 @@ func Xsqlite3CodeRowTrigger(tls *libc.TLS, pParse uintptr, pTrigger uintptr, op // included in the returned mask if the TRIGGER_BEFORE bit is set in the // tr_tm parameter. Similarly, values accessed by AFTER triggers are only // included in the returned mask if the TRIGGER_AFTER bit is set in tr_tm. -func Xsqlite3TriggerColmask(tls *libc.TLS, pParse uintptr, pTrigger uintptr, pChanges uintptr, isNew int32, tr_tm int32, pTab uintptr, orconf int32) U32 { /* sqlite3.c:143354:20: */ +func Xsqlite3TriggerColmask(tls *libc.TLS, pParse uintptr, pTrigger uintptr, pChanges uintptr, isNew int32, tr_tm int32, pTab uintptr, orconf int32) U32 { /* sqlite3.c:143367:20: */ var op int32 if pChanges != 0 { op = TK_UPDATE @@ -125375,7 +125394,7 @@ func Xsqlite3TriggerColmask(tls *libc.TLS, pParse uintptr, pTrigger uintptr, pCh // (not a virtual table) then the value might have been stored as an // integer. In that case, add an OP_RealAffinity opcode to make sure // it has been converted into REAL. -func Xsqlite3ColumnDefault(tls *libc.TLS, v uintptr, pTab uintptr, i int32, iReg int32) { /* sqlite3.c:143452:21: */ +func Xsqlite3ColumnDefault(tls *libc.TLS, v uintptr, pTab uintptr, i int32, iReg int32) { /* sqlite3.c:143465:21: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -125405,7 +125424,7 @@ func Xsqlite3ColumnDefault(tls *libc.TLS, v uintptr, pTab uintptr, i int32, iReg // aXRef[j] will be non-negative if column j of the original table is // being updated. chngRowid will be true if the rowid of the table is // being updated. -func indexColumnIsBeingUpdated(tls *libc.TLS, pIdx uintptr, iCol int32, aXRef uintptr, chngRowid int32) int32 { /* sqlite3.c:143485:12: */ +func indexColumnIsBeingUpdated(tls *libc.TLS, pIdx uintptr, iCol int32, aXRef uintptr, chngRowid int32) int32 { /* sqlite3.c:143498:12: */ var iIdxCol I16 = *(*I16)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FaiColumn + uintptr(iCol)*2)) // Cannot index rowid if int32(iIdxCol) >= 0 { @@ -125426,7 +125445,7 @@ func indexColumnIsBeingUpdated(tls *libc.TLS, pIdx uintptr, iCol int32, aXRef ui // aXRef[j] will be non-negative if column j of the original table is // being updated. chngRowid will be true if the rowid of the table is // being updated. -func indexWhereClauseMightChange(tls *libc.TLS, pIdx uintptr, aXRef uintptr, chngRowid int32) int32 { /* sqlite3.c:143515:12: */ +func indexWhereClauseMightChange(tls *libc.TLS, pIdx uintptr, aXRef uintptr, chngRowid int32) int32 { /* sqlite3.c:143528:12: */ if (*Index)(unsafe.Pointer(pIdx)).FpPartIdxWhere == uintptr(0) { return 0 } @@ -125438,7 +125457,7 @@ func indexWhereClauseMightChange(tls *libc.TLS, pIdx uintptr, aXRef uintptr, chn // Expr.iColumn set to value (iCol+1). The resolver will modify the // expression to be a TK_COLUMN reading column iCol of the first // table in the source-list (pSrc->a[0]). -func exprRowColumn(tls *libc.TLS, pParse uintptr, iCol int32) uintptr { /* sqlite3.c:143531:13: */ +func exprRowColumn(tls *libc.TLS, pParse uintptr, iCol int32) uintptr { /* sqlite3.c:143544:13: */ var pRet uintptr = Xsqlite3PExpr(tls, pParse, TK_ROW, uintptr(0), uintptr(0)) if pRet != 0 { (*Expr)(unsafe.Pointer(pRet)).FiColumn = YnVar(iCol + 1) @@ -125482,7 +125501,7 @@ func exprRowColumn(tls *libc.TLS, pParse uintptr, iCol int32) uintptr { /* sqlit // records with automatically assigned integer keys For intkey tables, the // rowid value in is used as the integer key, and the // remaining fields make up the table record. -func updateFromSelect(tls *libc.TLS, pParse uintptr, iEph int32, pPk uintptr, pChanges uintptr, pTabList uintptr, pWhere uintptr, pOrderBy uintptr, pLimit uintptr) { /* sqlite3.c:143575:13: */ +func updateFromSelect(tls *libc.TLS, pParse uintptr, iEph int32, pPk uintptr, pChanges uintptr, pTabList uintptr, pWhere uintptr, pOrderBy uintptr, pLimit uintptr) { /* sqlite3.c:143588:13: */ bp := tls.Alloc(28) defer tls.Free(28) @@ -125565,7 +125584,7 @@ func updateFromSelect(tls *libc.TLS, pParse uintptr, iEph int32, pPk uintptr, pC // onError | pChanges | pWhere // \_______________________/ // pTabList -func Xsqlite3Update(tls *libc.TLS, pParse uintptr, pTabList uintptr, pChanges uintptr, pWhere uintptr, onError int32, pOrderBy uintptr, pLimit uintptr, pUpsert uintptr) { /* sqlite3.c:143672:21: */ +func Xsqlite3Update(tls *libc.TLS, pParse uintptr, pTabList uintptr, pChanges uintptr, pWhere uintptr, onError int32, pOrderBy uintptr, pLimit uintptr, pUpsert uintptr) { /* sqlite3.c:143685:21: */ bp := tls.Alloc(72) defer tls.Free(72) @@ -126955,7 +126974,7 @@ update_cleanup: // The "onepass" strategy does not use an ephemeral table. Instead, it // stores the same values (A, B and C above) in a register array and // makes a single invocation of VUpdate. -func updateVirtualTable(tls *libc.TLS, pParse uintptr, pSrc uintptr, pTab uintptr, pChanges uintptr, pRowid uintptr, aXRef uintptr, pWhere uintptr, onError int32) { /* sqlite3.c:144564:13: */ +func updateVirtualTable(tls *libc.TLS, pParse uintptr, pSrc uintptr, pTab uintptr, pChanges uintptr, pRowid uintptr, aXRef uintptr, pWhere uintptr, onError int32) { /* sqlite3.c:144577:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -127128,7 +127147,7 @@ func updateVirtualTable(tls *libc.TLS, pParse uintptr, pSrc uintptr, pTab uintpt // #include "sqliteInt.h" // Free a list of Upsert objects -func upsertDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:144752:29: */ +func upsertDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:144765:29: */ for __ccgo := true; __ccgo; __ccgo = p != 0 { var pNext uintptr = (*Upsert)(unsafe.Pointer(p)).FpNextUpsert Xsqlite3ExprListDelete(tls, db, (*Upsert)(unsafe.Pointer(p)).FpUpsertTarget) @@ -127141,14 +127160,14 @@ func upsertDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:144752:29 } } -func Xsqlite3UpsertDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:144764:21: */ +func Xsqlite3UpsertDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:144777:21: */ if p != 0 { upsertDelete(tls, db, p) } } // Duplicate an Upsert object. -func Xsqlite3UpsertDup(tls *libc.TLS, db uintptr, p uintptr) uintptr { /* sqlite3.c:144772:23: */ +func Xsqlite3UpsertDup(tls *libc.TLS, db uintptr, p uintptr) uintptr { /* sqlite3.c:144785:23: */ if p == uintptr(0) { return uintptr(0) } @@ -127161,7 +127180,7 @@ func Xsqlite3UpsertDup(tls *libc.TLS, db uintptr, p uintptr) uintptr { /* sqlite } // Create a new Upsert object. -func Xsqlite3UpsertNew(tls *libc.TLS, db uintptr, pTarget uintptr, pTargetWhere uintptr, pSet uintptr, pWhere uintptr, pNext uintptr) uintptr { /* sqlite3.c:144786:23: */ +func Xsqlite3UpsertNew(tls *libc.TLS, db uintptr, pTarget uintptr, pTargetWhere uintptr, pSet uintptr, pWhere uintptr, pNext uintptr) uintptr { /* sqlite3.c:144799:23: */ var pNew uintptr pNew = Xsqlite3DbMallocZero(tls, db, uint64(unsafe.Sizeof(Upsert{}))) if pNew == uintptr(0) { @@ -127187,7 +127206,7 @@ func Xsqlite3UpsertNew(tls *libc.TLS, db uintptr, pTarget uintptr, pTargetWhere // // Return SQLITE_OK if everything works, or an error code is something // is wrong. -func Xsqlite3UpsertAnalyzeTarget(tls *libc.TLS, pParse uintptr, pTabList uintptr, pUpsert uintptr) int32 { /* sqlite3.c:144821:20: */ +func Xsqlite3UpsertAnalyzeTarget(tls *libc.TLS, pParse uintptr, pTabList uintptr, pUpsert uintptr) int32 { /* sqlite3.c:144834:20: */ bp := tls.Alloc(168) defer tls.Free(168) @@ -127329,7 +127348,7 @@ __3: // Return true if pUpsert is the last ON CONFLICT clause with a // conflict target, or if pUpsert is followed by another ON CONFLICT // clause that targets the INTEGER PRIMARY KEY. -func Xsqlite3UpsertNextIsIPK(tls *libc.TLS, pUpsert uintptr) int32 { /* sqlite3.c:144948:20: */ +func Xsqlite3UpsertNextIsIPK(tls *libc.TLS, pUpsert uintptr) int32 { /* sqlite3.c:144961:20: */ var pNext uintptr if pUpsert == uintptr(0) { return 0 @@ -127351,7 +127370,7 @@ func Xsqlite3UpsertNextIsIPK(tls *libc.TLS, pUpsert uintptr) int32 { /* sqlite3. // a particular index pIdx, return a pointer to the particular ON CONFLICT // clause that applies to the index. Or, if the index is not subject to // any ON CONFLICT clause, return NULL. -func Xsqlite3UpsertOfIndex(tls *libc.TLS, pUpsert uintptr, pIdx uintptr) uintptr { /* sqlite3.c:144964:23: */ +func Xsqlite3UpsertOfIndex(tls *libc.TLS, pUpsert uintptr, pIdx uintptr) uintptr { /* sqlite3.c:144977:23: */ for pUpsert != 0 && (*Upsert)(unsafe.Pointer(pUpsert)).FpUpsertTarget != uintptr(0) && (*Upsert)(unsafe.Pointer(pUpsert)).FpUpsertIdx != pIdx { @@ -127367,7 +127386,7 @@ func Xsqlite3UpsertOfIndex(tls *libc.TLS, pUpsert uintptr, pIdx uintptr) uintptr // currently points to the conflicting table row. Otherwise, if pIdx // is not NULL, then pIdx is the constraint that failed and iCur is a // cursor points to the conflicting row. -func Xsqlite3UpsertDoUpdate(tls *libc.TLS, pParse uintptr, pUpsert uintptr, pTab uintptr, pIdx uintptr, iCur int32) { /* sqlite3.c:144984:21: */ +func Xsqlite3UpsertDoUpdate(tls *libc.TLS, pParse uintptr, pUpsert uintptr, pTab uintptr, pIdx uintptr, iCur int32) { /* sqlite3.c:144997:21: */ var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb var pSrc uintptr // FROM clause for the UPDATE @@ -127447,7 +127466,7 @@ func Xsqlite3UpsertDoUpdate(tls *libc.TLS, pParse uintptr, pUpsert uintptr, pTab // // The execSqlF() routine does the same thing, except it accepts // a format string as its third argument -func execSql(tls *libc.TLS, db uintptr, pzErrMsg uintptr, zSql uintptr) int32 { /* sqlite3.c:145081:12: */ +func execSql(tls *libc.TLS, db uintptr, pzErrMsg uintptr, zSql uintptr) int32 { /* sqlite3.c:145094:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -127487,7 +127506,7 @@ func execSql(tls *libc.TLS, db uintptr, pzErrMsg uintptr, zSql uintptr) int32 { return rc } -func execSqlF(tls *libc.TLS, db uintptr, pzErrMsg uintptr, zSql uintptr, va uintptr) int32 { /* sqlite3.c:145111:12: */ +func execSqlF(tls *libc.TLS, db uintptr, pzErrMsg uintptr, zSql uintptr, va uintptr) int32 { /* sqlite3.c:145124:12: */ var z uintptr var ap Va_list _ = ap @@ -127531,7 +127550,7 @@ func execSqlF(tls *libc.TLS, db uintptr, pzErrMsg uintptr, zSql uintptr, va uint // And a power loss in between deleting the original and renaming the // transient would cause the database file to appear to be deleted // following reboot. -func Xsqlite3Vacuum(tls *libc.TLS, pParse uintptr, pNm uintptr, pInto uintptr) { /* sqlite3.c:145154:21: */ +func Xsqlite3Vacuum(tls *libc.TLS, pParse uintptr, pNm uintptr, pInto uintptr) { /* sqlite3.c:145167:21: */ bp := tls.Alloc(4) defer tls.Free(4) *(*uintptr)(unsafe.Pointer(bp)) = pNm @@ -127588,7 +127607,7 @@ build_vacuum_end: } // This routine implements the OP_Vacuum opcode of the VDBE. -func Xsqlite3RunVacuum(tls *libc.TLS, pzErrMsg uintptr, db uintptr, iDb int32, pOut uintptr) int32 { /* sqlite3.c:145192:36: */ +func Xsqlite3RunVacuum(tls *libc.TLS, pzErrMsg uintptr, db uintptr, iDb int32, pOut uintptr) int32 { /* sqlite3.c:145205:36: */ bp := tls.Alloc(52) defer tls.Free(52) @@ -127926,7 +127945,7 @@ var aCopy = [10]uint8{ uint8(BTREE_TEXT_ENCODING), uint8(0), // Preserve the text encoding uint8(BTREE_USER_VERSION), uint8(0), // Preserve the user version uint8(BTREE_APPLICATION_ID), uint8(0), // Preserve the application id -} /* sqlite3.c:145385:32 */ +} /* sqlite3.c:145398:32 */ // Construct and install a Module object for a virtual table. When this // routine is called, it is guaranteed that all appropriate locks are held @@ -127934,7 +127953,7 @@ var aCopy = [10]uint8{ // // 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 Xsqlite3VtabCreateModule(tls *libc.TLS, db uintptr, zName uintptr, pModule uintptr, pAux uintptr, xDestroy uintptr) uintptr { /* sqlite3.c:145497:23: */ +func Xsqlite3VtabCreateModule(tls *libc.TLS, db uintptr, zName uintptr, pModule uintptr, pAux uintptr, xDestroy uintptr) uintptr { /* sqlite3.c:145510:23: */ var pMod uintptr var pDel uintptr var zCopy uintptr @@ -127974,7 +127993,7 @@ func Xsqlite3VtabCreateModule(tls *libc.TLS, db uintptr, zName uintptr, pModule // The actual function that does the work of creating a new module. // 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) int32 { /* sqlite3.c:145545:12: */ +func createModule(tls *libc.TLS, db uintptr, zName uintptr, pModule uintptr, pAux uintptr, xDestroy uintptr) int32 { /* sqlite3.c:145558:12: */ var rc int32 = SQLITE_OK Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) @@ -127988,18 +128007,18 @@ func createModule(tls *libc.TLS, db uintptr, zName uintptr, pModule uintptr, pAu } // External API function used to create a new virtual-table module. -func Xsqlite3_create_module(tls *libc.TLS, db uintptr, zName uintptr, pModule uintptr, pAux uintptr) int32 { /* sqlite3.c:145566:16: */ +func Xsqlite3_create_module(tls *libc.TLS, db uintptr, zName uintptr, pModule uintptr, pAux uintptr) int32 { /* sqlite3.c:145579:16: */ return createModule(tls, db, zName, pModule, pAux, uintptr(0)) } // 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) int32 { /* sqlite3.c:145581:16: */ +func Xsqlite3_create_module_v2(tls *libc.TLS, db uintptr, zName uintptr, pModule uintptr, pAux uintptr, xDestroy uintptr) int32 { /* sqlite3.c:145594:16: */ return createModule(tls, db, zName, pModule, pAux, xDestroy) } // External API to drop all virtual-table modules, except those named // on the azNames list. -func Xsqlite3_drop_modules(tls *libc.TLS, db uintptr, azNames uintptr) int32 { /* sqlite3.c:145598:16: */ +func Xsqlite3_drop_modules(tls *libc.TLS, db uintptr, azNames uintptr) int32 { /* sqlite3.c:145611:16: */ var pThis uintptr var pNext uintptr for pThis = (*Hash)(unsafe.Pointer(db + 392)).Ffirst; pThis != 0; pThis = pNext { @@ -128020,7 +128039,7 @@ func Xsqlite3_drop_modules(tls *libc.TLS, db uintptr, azNames uintptr) int32 { / // Decrement the reference count on a Module object. Destroy the // module when the reference count reaches zero. -func Xsqlite3VtabModuleUnref(tls *libc.TLS, db uintptr, pMod uintptr) { /* sqlite3.c:145620:21: */ +func Xsqlite3VtabModuleUnref(tls *libc.TLS, db uintptr, pMod uintptr) { /* sqlite3.c:145633:21: */ (*Module)(unsafe.Pointer(pMod)).FnRefModule-- if (*Module)(unsafe.Pointer(pMod)).FnRefModule == 0 { @@ -128038,14 +128057,14 @@ func Xsqlite3VtabModuleUnref(tls *libc.TLS, db uintptr, pMod uintptr) { /* sqlit // // If a disconnect is attempted while a virtual table is locked, // the disconnect is deferred until all locks have been removed. -func Xsqlite3VtabLock(tls *libc.TLS, pVTab uintptr) { /* sqlite3.c:145640:21: */ +func Xsqlite3VtabLock(tls *libc.TLS, pVTab uintptr) { /* sqlite3.c:145653:21: */ (*VTable)(unsafe.Pointer(pVTab)).FnRef++ } // pTab is a pointer to a Table structure representing a virtual-table. // Return a pointer to the VTable object used by connection db to access // this virtual-table, if one has been created, or NULL otherwise. -func Xsqlite3GetVTable(tls *libc.TLS, db uintptr, pTab uintptr) uintptr { /* sqlite3.c:145650:23: */ +func Xsqlite3GetVTable(tls *libc.TLS, db uintptr, pTab uintptr) uintptr { /* sqlite3.c:145663:23: */ var pVtab uintptr for pVtab = *(*uintptr)(unsafe.Pointer(pTab + 44 + 8 /* &.p */)); pVtab != 0 && (*VTable)(unsafe.Pointer(pVtab)).Fdb != db; pVtab = (*VTable)(unsafe.Pointer(pVtab)).FpNext { @@ -128055,7 +128074,7 @@ func Xsqlite3GetVTable(tls *libc.TLS, db uintptr, pTab uintptr) uintptr { /* sql // Decrement the ref-count on a virtual table object. When the ref-count // reaches zero, call the xDisconnect() method to delete the object. -func Xsqlite3VtabUnlock(tls *libc.TLS, pVTab uintptr) { /* sqlite3.c:145661:21: */ +func Xsqlite3VtabUnlock(tls *libc.TLS, pVTab uintptr) { /* sqlite3.c:145674:21: */ var db uintptr = (*VTable)(unsafe.Pointer(pVTab)).Fdb (*VTable)(unsafe.Pointer(pVTab)).FnRef-- @@ -128076,7 +128095,7 @@ func Xsqlite3VtabUnlock(tls *libc.TLS, pVTab uintptr) { /* sqlite3.c:145661:21: // database connections to be disconnected at the next opportunity. // Except, if argument db is not NULL, then the entry associated with // connection db is left in the p->u.vtab.p list. -func vtabDisconnectAll(tls *libc.TLS, db uintptr, p uintptr) uintptr { /* sqlite3.c:145687:15: */ +func vtabDisconnectAll(tls *libc.TLS, db uintptr, p uintptr) uintptr { /* sqlite3.c:145700:15: */ var pRet uintptr = uintptr(0) var pVTable uintptr @@ -128113,7 +128132,7 @@ func vtabDisconnectAll(tls *libc.TLS, db uintptr, p uintptr) uintptr { /* sqlite // used when closing database connection db to free all of its VTable // objects without disturbing the rest of the Schema object (which may // be being used by other shared-cache connections). -func Xsqlite3VtabDisconnect(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:145730:21: */ +func Xsqlite3VtabDisconnect(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:145743:21: */ var ppVTab uintptr for ppVTab = p + 44 + 8; *(*uintptr)(unsafe.Pointer(ppVTab)) != 0; ppVTab = *(*uintptr)(unsafe.Pointer(ppVTab)) + 24 { @@ -128144,7 +128163,7 @@ func Xsqlite3VtabDisconnect(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c // // As a result, a sqlite3.pDisconnect cannot be accessed simultaneously // by multiple threads. It is thread-safe. -func Xsqlite3VtabUnlockList(tls *libc.TLS, db uintptr) { /* sqlite3.c:145768:21: */ +func Xsqlite3VtabUnlockList(tls *libc.TLS, db uintptr) { /* sqlite3.c:145781:21: */ var p uintptr = (*Sqlite3)(unsafe.Pointer(db)).FpDisconnect if p != 0 { @@ -128170,7 +128189,7 @@ func Xsqlite3VtabUnlockList(tls *libc.TLS, db uintptr) { /* sqlite3.c:145768:21: // structure being xDisconnected and free). Any other VTable structures // in the list are moved to the sqlite3.pDisconnect list of the associated // database connection. -func Xsqlite3VtabClear(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:145799:21: */ +func Xsqlite3VtabClear(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:145812:21: */ if !(db != 0) || (*Sqlite3)(unsafe.Pointer(db)).FpnBytesFreed == uintptr(0) { vtabDisconnectAll(tls, uintptr(0), p) @@ -128190,7 +128209,7 @@ func Xsqlite3VtabClear(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:1457 // The string is not copied - the pointer is stored. The // string will be freed automatically when the table is // deleted. -func addModuleArgument(tls *libc.TLS, pParse uintptr, pTable uintptr, zArg uintptr) { /* sqlite3.c:145817:13: */ +func addModuleArgument(tls *libc.TLS, pParse uintptr, pTable uintptr, zArg uintptr) { /* sqlite3.c:145830:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -128216,7 +128235,7 @@ func addModuleArgument(tls *libc.TLS, pParse uintptr, pTable uintptr, zArg uintp // The parser calls this routine when it first sees a CREATE VIRTUAL TABLE // statement. The module name has been parsed, but the optional list // of parameters that follow the module name are still pending. -func Xsqlite3VtabBeginParse(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 uintptr, pModuleName uintptr, ifNotExists int32) { /* sqlite3.c:145843:21: */ +func Xsqlite3VtabBeginParse(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 uintptr, pModuleName uintptr, ifNotExists int32) { /* sqlite3.c:145856:21: */ var pTable uintptr // The new virtual table var db uintptr // Database connection @@ -128251,7 +128270,7 @@ func Xsqlite3VtabBeginParse(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName // This routine takes the module argument that has been accumulating // in pParse->zArg[] and appends it to the list of arguments on the // virtual table currently under construction in pParse->pTable. -func addArgumentToVtab(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:145892:13: */ +func addArgumentToVtab(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:145905:13: */ if (*Parse)(unsafe.Pointer(pParse)).FsArg.Fz != 0 && (*Parse)(unsafe.Pointer(pParse)).FpNewTable != 0 { var z uintptr = (*Parse)(unsafe.Pointer(pParse)).FsArg.Fz var n int32 = int32((*Parse)(unsafe.Pointer(pParse)).FsArg.Fn) @@ -128262,7 +128281,7 @@ func addArgumentToVtab(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:145892:13: // The parser calls this routine after the CREATE VIRTUAL TABLE statement // has been completely parsed. -func Xsqlite3VtabFinishParse(tls *libc.TLS, pParse uintptr, pEnd uintptr) { /* sqlite3.c:145905:21: */ +func Xsqlite3VtabFinishParse(tls *libc.TLS, pParse uintptr, pEnd uintptr) { /* sqlite3.c:145918:21: */ bp := tls.Alloc(64) defer tls.Free(64) @@ -128346,7 +128365,7 @@ func Xsqlite3VtabFinishParse(tls *libc.TLS, pParse uintptr, pEnd uintptr) { /* s // The parser calls this routine when it sees the first token // of an argument to the module name in a CREATE VIRTUAL TABLE statement. -func Xsqlite3VtabArgInit(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:145988:21: */ +func Xsqlite3VtabArgInit(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:146001:21: */ addArgumentToVtab(tls, pParse) (*Parse)(unsafe.Pointer(pParse)).FsArg.Fz = uintptr(0) (*Parse)(unsafe.Pointer(pParse)).FsArg.Fn = uint32(0) @@ -128354,7 +128373,7 @@ func Xsqlite3VtabArgInit(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:145988:21 // The parser calls this routine for each token after the first token // in an argument to the module name in a CREATE VIRTUAL TABLE statement. -func Xsqlite3VtabArgExtend(tls *libc.TLS, pParse uintptr, p uintptr) { /* sqlite3.c:145998:21: */ +func Xsqlite3VtabArgExtend(tls *libc.TLS, pParse uintptr, p uintptr) { /* sqlite3.c:146011:21: */ var pArg uintptr = pParse + 252 if (*Token)(unsafe.Pointer(pArg)).Fz == uintptr(0) { (*Token)(unsafe.Pointer(pArg)).Fz = (*Token)(unsafe.Pointer(p)).Fz @@ -128368,7 +128387,7 @@ func Xsqlite3VtabArgExtend(tls *libc.TLS, pParse uintptr, p uintptr) { /* sqlite // Invoke a virtual table constructor (either xCreate or xConnect). The // 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) int32 { /* sqlite3.c:146014:12: */ +func vtabCallConstructor(tls *libc.TLS, db uintptr, pTab uintptr, pMod uintptr, xConstruct uintptr, pzErr uintptr) int32 { /* sqlite3.c:146027:12: */ bp := tls.Alloc(52) defer tls.Free(52) @@ -128504,7 +128523,7 @@ func vtabCallConstructor(tls *libc.TLS, db uintptr, pTab uintptr, pMod uintptr, // and an error left in pParse. // // This call is a no-op if table pTab is not a virtual table. -func Xsqlite3VtabCallConnect(tls *libc.TLS, pParse uintptr, pTab uintptr) int32 { /* sqlite3.c:146150:20: */ +func Xsqlite3VtabCallConnect(tls *libc.TLS, pParse uintptr, pTab uintptr) int32 { /* sqlite3.c:146163:20: */ bp := tls.Alloc(20) defer tls.Free(20) @@ -128540,7 +128559,7 @@ func Xsqlite3VtabCallConnect(tls *libc.TLS, pParse uintptr, pTab uintptr) int32 // Grow the db->aVTrans[] array so that there is room for at least one // more v-table. Return SQLITE_NOMEM if a malloc fails, or SQLITE_OK otherwise. -func growVTrans(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:146186:12: */ +func growVTrans(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:146199:12: */ var ARRAY_INCR int32 = 5 // Grow the sqlite3.aVTrans array if required @@ -128560,7 +128579,7 @@ func growVTrans(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:146186:12: */ // Add the virtual table pVTab to the array sqlite3.aVTrans[]. Space should // have already been reserved using growVTrans(). -func addToVTrans(tls *libc.TLS, db uintptr, pVTab uintptr) { /* sqlite3.c:146209:13: */ +func addToVTrans(tls *libc.TLS, db uintptr, pVTab uintptr) { /* sqlite3.c:146222:13: */ // Add pVtab to the end of sqlite3.aVTrans *(*uintptr)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaVTrans + uintptr(libc.PostIncInt32(&(*Sqlite3)(unsafe.Pointer(db)).FnVTrans, 1))*4)) = pVTab Xsqlite3VtabLock(tls, pVTab) @@ -128572,7 +128591,7 @@ func addToVTrans(tls *libc.TLS, db uintptr, pVTab uintptr) { /* sqlite3.c:146209 // If an error occurs, *pzErr is set to point to an English language // description of the error and an SQLITE_XXX error code is returned. // In this case the caller must call sqlite3DbFree(db, ) on *pzErr. -func Xsqlite3VtabCallCreate(tls *libc.TLS, db uintptr, iDb int32, zTab uintptr, pzErr uintptr) int32 { /* sqlite3.c:146223:20: */ +func Xsqlite3VtabCallCreate(tls *libc.TLS, db uintptr, iDb int32, zTab uintptr, pzErr uintptr) int32 { /* sqlite3.c:146236:20: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -128612,7 +128631,7 @@ func Xsqlite3VtabCallCreate(tls *libc.TLS, db uintptr, iDb int32, zTab uintptr, // This function is used to set the schema of a virtual table. It is only // valid to call this function from within the xCreate() or xConnect() of a // virtual table module. -func Xsqlite3_declare_vtab(tls *libc.TLS, db uintptr, zCreateTable uintptr) int32 { /* sqlite3.c:146264:16: */ +func Xsqlite3_declare_vtab(tls *libc.TLS, db uintptr, zCreateTable uintptr) int32 { /* sqlite3.c:146277:16: */ bp := tls.Alloc(280) defer tls.Free(280) @@ -128628,12 +128647,13 @@ func Xsqlite3_declare_vtab(tls *libc.TLS, db uintptr, zCreateTable uintptr) int3 if !(pCtx != 0) || (*VtabCtx)(unsafe.Pointer(pCtx)).FbDeclared != 0 { Xsqlite3Error(tls, db, SQLITE_MISUSE) Xsqlite3_mutex_leave(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) - return Xsqlite3MisuseError(tls, 146281) + return Xsqlite3MisuseError(tls, 146294) } pTab = (*VtabCtx)(unsafe.Pointer(pCtx)).FpTab Xsqlite3ParseObjectInit(tls, bp+8, db) (*Parse)(unsafe.Pointer(bp + 8 /* &sParse */)).FeParseMode = U8(PARSE_MODE_DECLARE_VTAB) + (*Parse)(unsafe.Pointer(bp + 8 /* &sParse */)).FdisableTriggers = U8(1) // We should never be able to reach this point while loading the // schema. Nevertheless, defend against that (turn off db->init.busy) // in case a bug arises. @@ -128702,7 +128722,7 @@ func Xsqlite3_declare_vtab(tls *libc.TLS, db uintptr, zCreateTable uintptr) int3 // when a DROP TABLE is mentioned. // // This call is a no-op if zTab is not a virtual table. -func Xsqlite3VtabCallDestroy(tls *libc.TLS, db uintptr, iDb int32, zTab uintptr) int32 { /* sqlite3.c:146357:20: */ +func Xsqlite3VtabCallDestroy(tls *libc.TLS, db uintptr, iDb int32, zTab uintptr) int32 { /* sqlite3.c:146371:20: */ var rc int32 = SQLITE_OK var pTab uintptr @@ -128747,7 +128767,7 @@ func Xsqlite3VtabCallDestroy(tls *libc.TLS, db uintptr, iDb int32, zTab uintptr) // the offset of the method to call in the sqlite3_module structure. // // The array is cleared after invoking the callbacks. -func callFinaliser(tls *libc.TLS, db uintptr, offset int32) { /* sqlite3.c:146401:13: */ +func callFinaliser(tls *libc.TLS, db uintptr, offset int32) { /* sqlite3.c:146415:13: */ var i int32 if (*Sqlite3)(unsafe.Pointer(db)).FaVTrans != 0 { var aVTrans uintptr = (*Sqlite3)(unsafe.Pointer(db)).FaVTrans @@ -128777,7 +128797,7 @@ func callFinaliser(tls *libc.TLS, db uintptr, offset int32) { /* sqlite3.c:14640 // SQLITE_OK if all xSync operations are successful. // // If an error message is available, leave it in p->zErrMsg. -func Xsqlite3VtabSync(tls *libc.TLS, db uintptr, p uintptr) int32 { /* sqlite3.c:146429:20: */ +func Xsqlite3VtabSync(tls *libc.TLS, db uintptr, p uintptr) int32 { /* sqlite3.c:146443:20: */ var i int32 var rc int32 = SQLITE_OK var aVTrans uintptr = (*Sqlite3)(unsafe.Pointer(db)).FaVTrans @@ -128799,14 +128819,14 @@ func Xsqlite3VtabSync(tls *libc.TLS, db uintptr, p uintptr) int32 { /* sqlite3.c // Invoke the xRollback method of all virtual tables in the // sqlite3.aVTrans array. Then clear the array itself. -func Xsqlite3VtabRollback(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:146451:20: */ +func Xsqlite3VtabRollback(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:146465:20: */ callFinaliser(tls, db, int32(uintptr(0)+68)) return SQLITE_OK } // Invoke the xCommit method of all virtual tables in the // sqlite3.aVTrans array. Then clear the array itself. -func Xsqlite3VtabCommit(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:146460:20: */ +func Xsqlite3VtabCommit(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:146474:20: */ callFinaliser(tls, db, int32(uintptr(0)+64)) return SQLITE_OK } @@ -128817,7 +128837,7 @@ func Xsqlite3VtabCommit(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:146460:2 // // If the xBegin call is successful, place the sqlite3_vtab pointer // in the sqlite3.aVTrans array. -func Xsqlite3VtabBegin(tls *libc.TLS, db uintptr, pVTab uintptr) int32 { /* sqlite3.c:146473:20: */ +func Xsqlite3VtabBegin(tls *libc.TLS, db uintptr, pVTab uintptr) int32 { /* sqlite3.c:146487:20: */ var rc int32 = SQLITE_OK var pModule uintptr @@ -128878,7 +128898,7 @@ func Xsqlite3VtabBegin(tls *libc.TLS, db uintptr, pVTab uintptr) int32 { /* sqli // processing is abandoned and the error returned to the caller of this // function immediately. If all calls to virtual table methods are successful, // SQLITE_OK is returned. -func Xsqlite3VtabSavepoint(tls *libc.TLS, db uintptr, op int32, iSavepoint int32) int32 { /* sqlite3.c:146533:20: */ +func Xsqlite3VtabSavepoint(tls *libc.TLS, db uintptr, op int32, iSavepoint int32) int32 { /* sqlite3.c:146547:20: */ var rc int32 = SQLITE_OK if (*Sqlite3)(unsafe.Pointer(db)).FaVTrans != 0 { @@ -128926,7 +128946,7 @@ func Xsqlite3VtabSavepoint(tls *libc.TLS, db uintptr, op int32, iSavepoint int32 // Return either the pDef argument (indicating no change) or a // new FuncDef structure that is marked as ephemeral using the // SQLITE_FUNC_EPHEM flag. -func Xsqlite3VtabOverloadFunction(tls *libc.TLS, db uintptr, pDef uintptr, nArg int32, pExpr uintptr) uintptr { /* sqlite3.c:146581:24: */ +func Xsqlite3VtabOverloadFunction(tls *libc.TLS, db uintptr, pDef uintptr, nArg int32, pExpr uintptr) uintptr { /* sqlite3.c:146595:24: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -128993,7 +129013,7 @@ func Xsqlite3VtabOverloadFunction(tls *libc.TLS, db uintptr, pDef uintptr, nArg // array so that an OP_VBegin will get generated for it. Add pTab to the // array if it is missing. If pTab is already in the array, this routine // is a no-op. -func Xsqlite3VtabMakeWritable(tls *libc.TLS, pParse uintptr, pTab uintptr) { /* sqlite3.c:146651:21: */ +func Xsqlite3VtabMakeWritable(tls *libc.TLS, pParse uintptr, pTab uintptr) { /* sqlite3.c:146665:21: */ var pToplevel uintptr = func() uintptr { if (*Parse)(unsafe.Pointer(pParse)).FpToplevel != 0 { return (*Parse)(unsafe.Pointer(pParse)).FpToplevel @@ -129032,7 +129052,7 @@ func Xsqlite3VtabMakeWritable(tls *libc.TLS, pParse uintptr, pTab uintptr) { /* // // Any virtual table module for which xConnect and xCreate are the same // method can have an eponymous virtual table instance. -func Xsqlite3VtabEponymousTableInit(tls *libc.TLS, pParse uintptr, pMod uintptr) int32 { /* sqlite3.c:146685:20: */ +func Xsqlite3VtabEponymousTableInit(tls *libc.TLS, pParse uintptr, pMod uintptr) int32 { /* sqlite3.c:146699:20: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -129077,7 +129097,7 @@ func Xsqlite3VtabEponymousTableInit(tls *libc.TLS, pParse uintptr, pMod uintptr) // Erase the eponymous virtual table instance associated with // virtual table module pMod, if it exists. -func Xsqlite3VtabEponymousTableClear(tls *libc.TLS, db uintptr, pMod uintptr) { /* sqlite3.c:146723:21: */ +func Xsqlite3VtabEponymousTableClear(tls *libc.TLS, db uintptr, pMod uintptr) { /* sqlite3.c:146737:21: */ var pTab uintptr = (*Module)(unsafe.Pointer(pMod)).FpEpoTab if pTab != uintptr(0) { // Mark the table as Ephemeral prior to deleting it, so that the @@ -129094,19 +129114,19 @@ func Xsqlite3VtabEponymousTableClear(tls *libc.TLS, db uintptr, pMod uintptr) { // // The results of this routine are undefined unless it is called from // within an xUpdate method. -func Xsqlite3_vtab_on_conflict(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:146742:16: */ +func Xsqlite3_vtab_on_conflict(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:146756:16: */ return int32(aMap[int32((*Sqlite3)(unsafe.Pointer(db)).FvtabOnConflict)-1]) } var aMap = [5]uint8{ uint8(SQLITE_ROLLBACK), uint8(SQLITE_ABORT), uint8(SQLITE_FAIL), uint8(SQLITE_IGNORE), uint8(SQLITE_REPLACE), -} /* sqlite3.c:146743:30 */ +} /* sqlite3.c:146757:30 */ // Call from within the xCreate() or xConnect() methods to provide // the SQLite core with additional information about the behavior // of the virtual table being implemented. -func Xsqlite3_vtab_config(tls *libc.TLS, db uintptr, op int32, va uintptr) int32 { /* sqlite3.c:146760:16: */ +func Xsqlite3_vtab_config(tls *libc.TLS, db uintptr, op int32, va uintptr) int32 { /* sqlite3.c:146774:16: */ var ap Va_list _ = ap var rc int32 = SQLITE_OK @@ -129115,7 +129135,7 @@ func Xsqlite3_vtab_config(tls *libc.TLS, db uintptr, op int32, va uintptr) int32 Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) p = (*Sqlite3)(unsafe.Pointer(db)).FpVtabCtx if !(p != 0) { - rc = Xsqlite3MisuseError(tls, 146771) + rc = Xsqlite3MisuseError(tls, 146785) } else { ap = va @@ -129143,7 +129163,7 @@ func Xsqlite3_vtab_config(tls *libc.TLS, db uintptr, op int32, va uintptr) int32 fallthrough default: { - rc = Xsqlite3MisuseError(tls, 146789) + rc = Xsqlite3MisuseError(tls, 146803) break } @@ -129247,23 +129267,23 @@ type WhereClause1 = struct { // a separate source file for easier editing. // Forward references -type WhereClause = WhereClause1 /* sqlite3.c:146849:28 */ +type WhereClause = WhereClause1 /* sqlite3.c:146863:28 */ type WhereMaskSet1 = struct { FbVarSelect int32 Fn int32 Fix [64]int32 } /* sqlite3.c:14626:9 */ -type WhereMaskSet = WhereMaskSet1 /* sqlite3.c:146850:29 */ +type WhereMaskSet = WhereMaskSet1 /* sqlite3.c:146864:29 */ type WhereOrInfo1 = struct { Fwc WhereClause Findexable Bitmask -} /* sqlite3.c:146851:9 */ +} /* sqlite3.c:146865:9 */ -type WhereOrInfo = WhereOrInfo1 /* sqlite3.c:146851:28 */ -type WhereAndInfo1 = struct{ Fwc WhereClause } /* sqlite3.c:146852:9 */ +type WhereOrInfo = WhereOrInfo1 /* sqlite3.c:146865:28 */ +type WhereAndInfo1 = struct{ Fwc WhereClause } /* sqlite3.c:146866:9 */ -type WhereAndInfo = WhereAndInfo1 /* sqlite3.c:146852:29 */ +type WhereAndInfo = WhereAndInfo1 /* sqlite3.c:146866:29 */ type WhereLevel1 = struct { FiLeftJoin int32 FiTabCur int32 @@ -129293,7 +129313,7 @@ type WhereLevel1 = struct { FnotReady Bitmask } /* sqlite3.c:14626:9 */ -type WhereLevel = WhereLevel1 /* sqlite3.c:146853:27 */ +type WhereLevel = WhereLevel1 /* sqlite3.c:146867:27 */ type WhereLoop1 = struct { Fprereq Bitmask FmaskSelf Bitmask @@ -129322,7 +129342,7 @@ type WhereLoop1 = struct { FaLTermSpace [3]uintptr } /* sqlite3.c:14626:9 */ -type WhereLoop = WhereLoop1 /* sqlite3.c:146854:26 */ +type WhereLoop = WhereLoop1 /* sqlite3.c:146868:26 */ type WherePath1 = struct { FmaskLoop Bitmask FrevLoop Bitmask @@ -129332,9 +129352,9 @@ type WherePath1 = struct { FisOrdered I8 F__ccgo_pad1 [1]byte FaLoop uintptr -} /* sqlite3.c:146855:9 */ +} /* sqlite3.c:146869:9 */ -type WherePath = WherePath1 /* sqlite3.c:146855:26 */ +type WherePath = WherePath1 /* sqlite3.c:146869:26 */ type WhereTerm1 = struct { FpExpr uintptr FpWC uintptr @@ -129355,7 +129375,7 @@ type WhereTerm1 = struct { FprereqAll Bitmask } /* sqlite3.c:14626:9 */ -type WhereTerm = WhereTerm1 /* sqlite3.c:146856:26 */ +type WhereTerm = WhereTerm1 /* sqlite3.c:146870:26 */ type WhereLoopBuilder1 = struct { FpWInfo uintptr FpWC uintptr @@ -129367,9 +129387,9 @@ type WhereLoopBuilder1 = struct { FbldFlags2 uint8 F__ccgo_pad1 [2]byte FiPlanLimit uint32 -} /* sqlite3.c:146857:9 */ +} /* sqlite3.c:146871:9 */ -type WhereLoopBuilder = WhereLoopBuilder1 /* sqlite3.c:146857:33 */ +type WhereLoopBuilder = WhereLoopBuilder1 /* sqlite3.c:146871:33 */ type WhereScan1 = struct { FpOrigWC uintptr FpWC uintptr @@ -129384,23 +129404,23 @@ type WhereScan1 = struct { FaiCur [11]int32 FaiColumn [11]I16 F__ccgo_pad2 [2]byte -} /* sqlite3.c:146858:9 */ +} /* sqlite3.c:146872:9 */ -type WhereScan = WhereScan1 /* sqlite3.c:146858:26 */ +type WhereScan = WhereScan1 /* sqlite3.c:146872:26 */ type WhereOrCost1 = struct { Fprereq Bitmask FrRun LogEst FnOut LogEst -} /* sqlite3.c:146857:9 */ +} /* sqlite3.c:146871:9 */ -type WhereOrCost = WhereOrCost1 /* sqlite3.c:146859:28 */ +type WhereOrCost = WhereOrCost1 /* sqlite3.c:146873:28 */ type WhereOrSet1 = struct { Fn U16 F__ccgo_pad1 [2]byte Fa [3]WhereOrCost -} /* sqlite3.c:146857:9 */ +} /* sqlite3.c:146871:9 */ -type WhereOrSet = WhereOrSet1 /* sqlite3.c:146860:27 */ +type WhereOrSet = WhereOrSet1 /* sqlite3.c:146874:27 */ // This object contains information needed to implement a single nested // loop in WHERE clause. @@ -129422,7 +129442,7 @@ type InLoop = struct { FnPrefix int32 FeEndLoopOp U8 F__ccgo_pad1 [3]byte -} /* sqlite3.c:146900:7 */ +} /* sqlite3.c:146914:7 */ // Allowed values for WhereLoopBuider.bldFlags @@ -129470,7 +129490,7 @@ type WhereExprMod1 = struct { // of an index rather than an expression or a virtual column. All // such transformations need to be undone at the end of WHERE clause // processing. -type WhereExprMod = WhereExprMod1 /* sqlite3.c:147262:29 */ +type WhereExprMod = WhereExprMod1 /* sqlite3.c:147276:29 */ // Bitmasks for the operators on WhereTerm objects. These are all // operators that are of interest to the query planner. An @@ -129492,7 +129512,7 @@ type WhereExprMod = WhereExprMod1 /* sqlite3.c:147262:29 */ //************* Continuing where we left off in wherecode.c ***************** // Return the name of the i-th column of the pIdx index. -func explainIndexColumnName(tls *libc.TLS, pIdx uintptr, i int32) uintptr { /* sqlite3.c:147456:19: */ +func explainIndexColumnName(tls *libc.TLS, pIdx uintptr, i int32) uintptr { /* sqlite3.c:147470:19: */ i = int32(*(*I16)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FaiColumn + uintptr(i)*2))) if i == -2 { return ts + 21374 /* "" */ @@ -129509,7 +129529,7 @@ func explainIndexColumnName(tls *libc.TLS, pIdx uintptr, i int32) uintptr { /* s // at a time. This routine adds a new term to the end of the expression. // Terms are separated by AND so add the "AND" text for second and subsequent // terms only. -func explainAppendTerm(tls *libc.TLS, pStr uintptr, pIdx uintptr, nTerm int32, iTerm int32, bAnd int32, zOp uintptr) { /* sqlite3.c:147471:13: */ +func explainAppendTerm(tls *libc.TLS, pStr uintptr, pIdx uintptr, nTerm int32, iTerm int32, bAnd int32, zOp uintptr) { /* sqlite3.c:147485:13: */ var i int32 if bAnd != 0 { @@ -129557,7 +129577,7 @@ func explainAppendTerm(tls *libc.TLS, pStr uintptr, pIdx uintptr, nTerm int32, i // string similar to: // // "a=? AND b>?" -func explainIndexRange(tls *libc.TLS, pStr uintptr, pLoop uintptr) { /* sqlite3.c:147515:13: */ +func explainIndexRange(tls *libc.TLS, pStr uintptr, pLoop uintptr) { /* sqlite3.c:147529:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -129602,7 +129622,7 @@ func explainIndexRange(tls *libc.TLS, pStr uintptr, pLoop uintptr) { /* sqlite3. // // If an OP_Explain opcode is added to the VM, its address is returned. // Otherwise, if no OP_Explain is coded, zero is returned. -func Xsqlite3WhereExplainOneScan(tls *libc.TLS, pParse uintptr, pTabList uintptr, pLevel uintptr, wctrlFlags U16) int32 { /* sqlite3.c:147549:20: */ +func Xsqlite3WhereExplainOneScan(tls *libc.TLS, pParse uintptr, pTabList uintptr, pLevel uintptr, wctrlFlags U16) int32 { /* sqlite3.c:147563:20: */ bp := tls.Alloc(188) defer tls.Free(188) @@ -129703,7 +129723,7 @@ func Xsqlite3WhereExplainOneScan(tls *libc.TLS, pParse uintptr, pTabList uintptr // // If an OP_Explain opcode is added to the VM, its address is returned. // Otherwise, if no OP_Explain is coded, zero is returned. -func Xsqlite3WhereExplainBloomFilter(tls *libc.TLS, pParse uintptr, pWInfo uintptr, pLevel uintptr) int32 { /* sqlite3.c:147661:20: */ +func Xsqlite3WhereExplainBloomFilter(tls *libc.TLS, pParse uintptr, pWInfo uintptr, pLevel uintptr) int32 { /* sqlite3.c:147675:20: */ bp := tls.Alloc(148) defer tls.Free(148) @@ -129786,7 +129806,7 @@ func Xsqlite3WhereExplainBloomFilter(tls *libc.TLS, pParse uintptr, pWInfo uintp // The TERM_LIKECOND marking indicates that the term should be coded inside // a conditional such that is only evaluated on the second pass of a // LIKE-optimization loop, when scanning BLOBs instead of strings. -func disableTerm(tls *libc.TLS, pLevel uintptr, pTerm uintptr) { /* sqlite3.c:147774:13: */ +func disableTerm(tls *libc.TLS, pLevel uintptr, pTerm uintptr) { /* sqlite3.c:147788:13: */ var nLoop int32 = 0 for int32((*WhereTerm)(unsafe.Pointer(pTerm)).FwtFlags)&TERM_CODED == 0 && @@ -129819,7 +129839,7 @@ func disableTerm(tls *libc.TLS, pLevel uintptr, pTerm uintptr) { /* sqlite3.c:14 // // This routine makes its own copy of zAff so that the caller is free // to modify zAff after this routine returns. -func codeApplyAffinity(tls *libc.TLS, pParse uintptr, base int32, n int32, zAff uintptr) { /* sqlite3.c:147812:13: */ +func codeApplyAffinity(tls *libc.TLS, pParse uintptr, base int32, n int32, zAff uintptr) { /* sqlite3.c:147826:13: */ var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe if zAff == uintptr(0) { @@ -129852,7 +129872,7 @@ func codeApplyAffinity(tls *libc.TLS, pParse uintptr, base int32, n int32, zAff // // * the comparison will be performed with no affinity, or // * the affinity change in zAff is guaranteed not to change the value. -func updateRangeAffinityStr(tls *libc.TLS, pRight uintptr, n int32, zAff uintptr) { /* sqlite3.c:147849:13: */ +func updateRangeAffinityStr(tls *libc.TLS, pRight uintptr, n int32, zAff uintptr) { /* sqlite3.c:147863:13: */ var i int32 for i = 0; i < n; i++ { var p uintptr = Xsqlite3VectorFieldSubexpr(tls, pRight, i) @@ -129890,7 +129910,7 @@ func updateRangeAffinityStr(tls *libc.TLS, pRight uintptr, n int32, zAff uintptr // The reduced pX is different from the original (obviously) and thus is // only used for indexing, to improve performance. The original unaltered // IN expression must also be run on each output row for correctness. -func removeUnindexableInClauseTerms(tls *libc.TLS, pParse uintptr, iEq int32, pLoop uintptr, pX uintptr) uintptr { /* sqlite3.c:147895:13: */ +func removeUnindexableInClauseTerms(tls *libc.TLS, pParse uintptr, iEq int32, pLoop uintptr, pX uintptr) uintptr { /* sqlite3.c:147909:13: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb var pNew uintptr pNew = Xsqlite3ExprDup(tls, db, pX, 0) @@ -129965,7 +129985,7 @@ func removeUnindexableInClauseTerms(tls *libc.TLS, pParse uintptr, iEq int32, pL // For a constraint of the form X=expr, the expression is evaluated in // straight-line code. For constraints of the form X IN (...) // this routine sets up a loop that will iterate over all values of X. -func codeEqualityTerm(tls *libc.TLS, pParse uintptr, pTerm uintptr, pLevel uintptr, iEq int32, bRev int32, iTarget int32) int32 { /* sqlite3.c:147984:12: */ +func codeEqualityTerm(tls *libc.TLS, pParse uintptr, pTerm uintptr, pLevel uintptr, iEq int32, bRev int32, iTarget int32) int32 { /* sqlite3.c:147998:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -130158,7 +130178,7 @@ func codeEqualityTerm(tls *libc.TLS, pParse uintptr, pTerm uintptr, pLevel uintp // no conversion should be attempted before using a t2.b value as part of // a key to search the index. Hence the first byte in the returned affinity // string in this example would be set to SQLITE_AFF_BLOB. -func codeAllEqualityTerms(tls *libc.TLS, pParse uintptr, pLevel uintptr, bRev int32, nExtraReg int32, pzAff uintptr) int32 { /* sqlite3.c:148180:12: */ +func codeAllEqualityTerms(tls *libc.TLS, pParse uintptr, pLevel uintptr, bRev int32, nExtraReg int32, pzAff uintptr) int32 { /* sqlite3.c:148194:12: */ var nEq U16 // The number of == or IN constraints to code var nSkip U16 // Number of left-most columns to skip var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe // The vm under construction @@ -130279,7 +130299,7 @@ func codeAllEqualityTerms(tls *libc.TLS, pParse uintptr, pLevel uintptr, bRev in // on. For each table column, if the column is the i'th column of the // index, then the corresponding array entry is set to (i+1). If the column // does not appear in the index at all, the array entry is set to 0. -func codeDeferredSeek(tls *libc.TLS, pWInfo uintptr, pIdx uintptr, iCur int32, iIdxCur int32) { /* sqlite3.c:148558:13: */ +func codeDeferredSeek(tls *libc.TLS, pWInfo uintptr, pIdx uintptr, iCur int32, iIdxCur int32) { /* sqlite3.c:148572:13: */ var pParse uintptr = (*WhereInfo)(unsafe.Pointer(pWInfo)).FpParse // Parse context var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe // Vdbe to generate code within @@ -130320,7 +130340,7 @@ func codeDeferredSeek(tls *libc.TLS, pWInfo uintptr, pIdx uintptr, iCur int32, i // If the expression is not a vector, then nReg must be passed 1. In // this case, generate code to evaluate the expression and leave the // result in register iReg. -func codeExprOrVector(tls *libc.TLS, pParse uintptr, p uintptr, iReg int32, nReg int32) { /* sqlite3.c:148602:13: */ +func codeExprOrVector(tls *libc.TLS, pParse uintptr, p uintptr, iReg int32, nReg int32) { /* sqlite3.c:148616:13: */ if p != 0 && Xsqlite3ExprIsVector(tls, p) != 0 { if (*Expr)(unsafe.Pointer(p)).Fflags&U32(EP_xIsSelect) != U32(0) { @@ -130348,10 +130368,10 @@ func codeExprOrVector(tls *libc.TLS, pParse uintptr, p uintptr, iReg int32, nReg // An instance of the IdxExprTrans object carries information about a // mapping from an expression on table columns into a column in an index // down through the Walker. -type IdxExprTrans = IdxExprTrans1 /* sqlite3.c:148642:3 */ +type IdxExprTrans = IdxExprTrans1 /* sqlite3.c:148656:3 */ // Preserve pExpr on the WhereETrans list of the WhereInfo. -func preserveExpr(tls *libc.TLS, pTrans uintptr, pExpr uintptr) { /* sqlite3.c:148647:13: */ +func preserveExpr(tls *libc.TLS, pTrans uintptr, pExpr uintptr) { /* sqlite3.c:148661:13: */ var pNew uintptr pNew = Xsqlite3DbMallocRaw(tls, (*IdxExprTrans)(unsafe.Pointer(pTrans)).Fdb, uint64(unsafe.Sizeof(WhereExprMod{}))) if pNew == uintptr(0) { @@ -130368,7 +130388,7 @@ func preserveExpr(tls *libc.TLS, pTrans uintptr, pExpr uintptr) { /* sqlite3.c:1 // // If pExpr matches, then transform it into a reference to the index column // that contains the value of pExpr. -func whereIndexExprTransNode(tls *libc.TLS, p uintptr, pExpr uintptr) int32 { /* sqlite3.c:148663:12: */ +func whereIndexExprTransNode(tls *libc.TLS, p uintptr, pExpr uintptr) int32 { /* sqlite3.c:148677:12: */ var pX uintptr = *(*uintptr)(unsafe.Pointer(p + 24)) if Xsqlite3ExprCompare(tls, uintptr(0), pExpr, (*IdxExprTrans)(unsafe.Pointer(pX)).FpIdxExpr, (*IdxExprTrans)(unsafe.Pointer(pX)).FiTabCur) == 0 { preserveExpr(tls, pX, pExpr) @@ -130388,7 +130408,7 @@ func whereIndexExprTransNode(tls *libc.TLS, p uintptr, pExpr uintptr) int32 { /* // A walker node callback that translates a column reference to a table // into a corresponding column reference of an index. -func whereIndexExprTransColumn(tls *libc.TLS, p uintptr, pExpr uintptr) int32 { /* sqlite3.c:148685:12: */ +func whereIndexExprTransColumn(tls *libc.TLS, p uintptr, pExpr uintptr) int32 { /* sqlite3.c:148699:12: */ if int32((*Expr)(unsafe.Pointer(pExpr)).Fop) == TK_COLUMN { var pX uintptr = *(*uintptr)(unsafe.Pointer(p + 24)) if (*Expr)(unsafe.Pointer(pExpr)).FiTable == (*IdxExprTrans)(unsafe.Pointer(pX)).FiTabCur && int32((*Expr)(unsafe.Pointer(pExpr)).FiColumn) == (*IdxExprTrans)(unsafe.Pointer(pX)).FiTabCol { @@ -130410,7 +130430,7 @@ func whereIndexExprTransColumn(tls *libc.TLS, p uintptr, pExpr uintptr) int32 { // 2019-10-24: Updated to also translate references to a VIRTUAL column in // the table into references to the corresponding (stored) column of the // index. -func whereIndexExprTrans(tls *libc.TLS, pIdx uintptr, iTabCur int32, iIdxCur int32, pWInfo uintptr) { /* sqlite3.c:148710:13: */ +func whereIndexExprTrans(tls *libc.TLS, pIdx uintptr, iTabCur int32, iIdxCur int32, pWInfo uintptr) { /* sqlite3.c:148724:13: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -130475,7 +130495,7 @@ func whereIndexExprTrans(tls *libc.TLS, pIdx uintptr, iTabCur int32, iIdxCur int // WHERE clause terms on the query, and if any of those terms must be // true because pTruth is true, then mark those WHERE clause terms as // coded. -func whereApplyPartialIndexConstraints(tls *libc.TLS, pTruth uintptr, iTabCur int32, pWC uintptr) { /* sqlite3.c:148774:13: */ +func whereApplyPartialIndexConstraints(tls *libc.TLS, pTruth uintptr, iTabCur int32, pWC uintptr) { /* sqlite3.c:148788:13: */ var i int32 var pTerm uintptr for int32((*Expr)(unsafe.Pointer(pTruth)).Fop) == TK_AND { @@ -130521,7 +130541,7 @@ __3: // WhereLevel.regFilter set. If an inner-loop Bloom filter is checked, // then clear the WhereLevel.regFilter value to prevent the Bloom filter // from being checked a second time when the inner loop is evaluated. -func filterPullDown(tls *libc.TLS, pParse uintptr, pWInfo uintptr, iLevel int32, addrNxt int32, notReady Bitmask) { /* sqlite3.c:148810:29: */ +func filterPullDown(tls *libc.TLS, pParse uintptr, pWInfo uintptr, iLevel int32, addrNxt int32, notReady Bitmask) { /* sqlite3.c:148824:29: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -130566,7 +130586,7 @@ func filterPullDown(tls *libc.TLS, pParse uintptr, pWInfo uintptr, iLevel int32, // Generate code for the start of the iLevel-th loop in the WHERE clause // implementation described by pWInfo. -func Xsqlite3WhereCodeOneLoopStart(tls *libc.TLS, pParse uintptr, v uintptr, pWInfo uintptr, iLevel int32, pLevel uintptr, notReady Bitmask) Bitmask { /* sqlite3.c:148858:24: */ +func Xsqlite3WhereCodeOneLoopStart(tls *libc.TLS, pParse uintptr, v uintptr, pWInfo uintptr, iLevel int32, pLevel uintptr, notReady Bitmask) Bitmask { /* sqlite3.c:148872:24: */ bp := tls.Alloc(72) defer tls.Free(72) @@ -131796,24 +131816,24 @@ var aStartOp = [8]U8{ U8(OP_SeekLT), // 5: (start_constraints && !startEq && bRev) U8(OP_SeekGE), // 6: (start_constraints && startEq && !bRev) U8(OP_SeekLE), // 7: (start_constraints && startEq && bRev) -} /* sqlite3.c:149238:21 */ +} /* sqlite3.c:149252:21 */ var aEndOp = [4]U8{ U8(OP_IdxGE), // 0: (end_constraints && !bRev && !endEq) U8(OP_IdxGT), // 1: (end_constraints && !bRev && endEq) U8(OP_IdxLE), // 2: (end_constraints && bRev && !endEq) U8(OP_IdxLT), // 3: (end_constraints && bRev && endEq) -} /* sqlite3.c:149248:21 */ -var aStep = [2]U8{U8(OP_Next), U8(OP_Prev)} /* sqlite3.c:149966:21 */ -var aStart = [2]U8{U8(OP_Rewind), U8(OP_Last)} /* sqlite3.c:149967:21 */ +} /* sqlite3.c:149262:21 */ +var aStep = [2]U8{U8(OP_Next), U8(OP_Prev)} /* sqlite3.c:149980:21 */ +var aStart = [2]U8{U8(OP_Rewind), U8(OP_Last)} /* sqlite3.c:149981:21 */ // Deallocate all memory associated with a WhereOrInfo object. -func whereOrInfoDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:150176:13: */ +func whereOrInfoDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:150190:13: */ Xsqlite3WhereClauseClear(tls, p) Xsqlite3DbFree(tls, db, p) } // Deallocate all memory associated with a WhereAndInfo object. -func whereAndInfoDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:150184:13: */ +func whereAndInfoDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:150198:13: */ Xsqlite3WhereClauseClear(tls, p) Xsqlite3DbFree(tls, db, p) } @@ -131835,7 +131855,7 @@ func whereAndInfoDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:150 // WhereTerms. All pointers to WhereTerms should be invalidated after // calling this routine. Such pointers may be reinitialized by referencing // the pWC->a[] array. -func whereClauseInsert(tls *libc.TLS, pWC uintptr, p uintptr, wtFlags U16) int32 { /* sqlite3.c:150208:12: */ +func whereClauseInsert(tls *libc.TLS, pWC uintptr, p uintptr, wtFlags U16) int32 { /* sqlite3.c:150222:12: */ var pTerm uintptr var idx int32 @@ -131877,14 +131897,14 @@ func whereClauseInsert(tls *libc.TLS, pWC uintptr, p uintptr, wtFlags U16) int32 // Return TRUE if the given operator is one of the operators that is // allowed for an indexable WHERE clause term. The allowed operators are // "=", "<", ">", "<=", ">=", "IN", "IS", and "IS NULL" -func allowedOp(tls *libc.TLS, op int32) int32 { /* sqlite3.c:150250:12: */ +func allowedOp(tls *libc.TLS, op int32) int32 { /* sqlite3.c:150264:12: */ return libc.Bool32(op == TK_IN || op >= TK_EQ && op <= TK_GE || op == TK_ISNULL || op == TK_IS) } // Commute a comparison operator. Expressions of the form "X op Y" // are converted into "Y op X". -func exprCommute(tls *libc.TLS, pParse uintptr, pExpr uintptr) U16 { /* sqlite3.c:150262:12: */ +func exprCommute(tls *libc.TLS, pParse uintptr, pExpr uintptr) U16 { /* sqlite3.c:150276:12: */ if int32((*Expr)(unsafe.Pointer((*Expr)(unsafe.Pointer(pExpr)).FpLeft)).Fop) == TK_VECTOR || int32((*Expr)(unsafe.Pointer((*Expr)(unsafe.Pointer(pExpr)).FpRight)).Fop) == TK_VECTOR || Xsqlite3BinaryCompareCollSeq(tls, pParse, (*Expr)(unsafe.Pointer(pExpr)).FpLeft, (*Expr)(unsafe.Pointer(pExpr)).FpRight) != Xsqlite3BinaryCompareCollSeq(tls, pParse, (*Expr)(unsafe.Pointer(pExpr)).FpRight, (*Expr)(unsafe.Pointer(pExpr)).FpLeft) { @@ -131904,7 +131924,7 @@ func exprCommute(tls *libc.TLS, pParse uintptr, pExpr uintptr) U16 { /* sqlite3. } // Translate from TK_xx operator to WO_xx bitmask. -func operatorMask(tls *libc.TLS, op int32) U16 { /* sqlite3.c:150285:12: */ +func operatorMask(tls *libc.TLS, op int32) U16 { /* sqlite3.c:150299:12: */ var c U16 if op == TK_IN { @@ -131931,7 +131951,7 @@ func operatorMask(tls *libc.TLS, op int32) U16 { /* sqlite3.c:150285:12: */ // that virtual tables cannot participate in the LIKE optimization.) The // collating sequence for the column on the LHS must be appropriate for // the operator. -func isLikeOrGlob(tls *libc.TLS, pParse uintptr, pExpr uintptr, ppPrefix uintptr, pisComplete uintptr, pnoCase uintptr) int32 { /* sqlite3.c:150323:12: */ +func isLikeOrGlob(tls *libc.TLS, pParse uintptr, pExpr uintptr, ppPrefix uintptr, pisComplete uintptr, pnoCase uintptr) int32 { /* sqlite3.c:150337:12: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -132103,7 +132123,7 @@ func isLikeOrGlob(tls *libc.TLS, pParse uintptr, pExpr uintptr, ppPrefix uintptr // of virtual table in forms (5) or (7) then return 2. // // If the expression matches none of the patterns above, return 0. -func isAuxiliaryVtabOperator(tls *libc.TLS, db uintptr, pExpr uintptr, peOp2 uintptr, ppLeft uintptr, ppRight uintptr) int32 { /* sqlite3.c:150502:12: */ +func isAuxiliaryVtabOperator(tls *libc.TLS, db uintptr, pExpr uintptr, peOp2 uintptr, ppLeft uintptr, ppRight uintptr) int32 { /* sqlite3.c:150516:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -132208,18 +132228,18 @@ type Op2 = struct { FzOp uintptr FeOp2 uint8 F__ccgo_pad1 [3]byte -} /* sqlite3.c:150510:18 */ +} /* sqlite3.c:150524:18 */ var aOp = [4]Op2{ {FzOp: ts + 16023, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_MATCH)}, {FzOp: ts + 15345, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_GLOB)}, {FzOp: ts + 14871, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_LIKE)}, {FzOp: ts + 21646, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_REGEXP)}, -} /* sqlite3.c:150513:7 */ +} /* sqlite3.c:150527:7 */ // If the pBase expression originated in the ON or USING clause of // a join, then transfer the appropriate markings over to derived. -func transferJoinMarkings(tls *libc.TLS, pDerived uintptr, pBase uintptr) { /* sqlite3.c:150614:13: */ +func transferJoinMarkings(tls *libc.TLS, pDerived uintptr, pBase uintptr) { /* sqlite3.c:150628:13: */ if pDerived != 0 { *(*U32)(unsafe.Pointer(pDerived + 4)) |= (*Expr)(unsafe.Pointer(pBase)).Fflags & U32(EP_FromJoin) *(*int32)(unsafe.Pointer(pDerived + 36)) = *(*int32)(unsafe.Pointer(pBase + 36)) @@ -132227,7 +132247,7 @@ func transferJoinMarkings(tls *libc.TLS, pDerived uintptr, pBase uintptr) { /* s } // Mark term iChild as being a child of term iParent -func markTermAsChild(tls *libc.TLS, pWC uintptr, iChild int32, iParent int32) { /* sqlite3.c:150624:13: */ +func markTermAsChild(tls *libc.TLS, pWC uintptr, iChild int32, iParent int32) { /* sqlite3.c:150638:13: */ (*WhereTerm)(unsafe.Pointer((*WhereClause)(unsafe.Pointer(pWC)).Fa + uintptr(iChild)*48)).FiParent = iParent (*WhereTerm)(unsafe.Pointer((*WhereClause)(unsafe.Pointer(pWC)).Fa + uintptr(iChild)*48)).FtruthProb = (*WhereTerm)(unsafe.Pointer((*WhereClause)(unsafe.Pointer(pWC)).Fa + uintptr(iParent)*48)).FtruthProb (*WhereTerm)(unsafe.Pointer((*WhereClause)(unsafe.Pointer(pWC)).Fa+uintptr(iParent)*48)).FnChild++ @@ -132236,7 +132256,7 @@ func markTermAsChild(tls *libc.TLS, pWC uintptr, iChild int32, iParent int32) { // Return the N-th AND-connected subterm of pTerm. Or if pTerm is not // a conjunction, then return just pTerm when N==0. If N is exceeds // the number of available subterms, return NULL. -func whereNthSubterm(tls *libc.TLS, pTerm uintptr, N int32) uintptr { /* sqlite3.c:150635:18: */ +func whereNthSubterm(tls *libc.TLS, pTerm uintptr, N int32) uintptr { /* sqlite3.c:150649:18: */ if int32((*WhereTerm)(unsafe.Pointer(pTerm)).FeOperator) != WO_AND { if N == 0 { return pTerm @@ -132267,7 +132287,7 @@ func whereNthSubterm(tls *libc.TLS, pTerm uintptr, N int32) uintptr { /* sqlite3 // The following is NOT generated: // // xy --> x!=y -func whereCombineDisjuncts(tls *libc.TLS, pSrc uintptr, pWC uintptr, pOne uintptr, pTwo uintptr) { /* sqlite3.c:150665:13: */ +func whereCombineDisjuncts(tls *libc.TLS, pSrc uintptr, pWC uintptr, pOne uintptr, pTwo uintptr) { /* sqlite3.c:150679:13: */ var eOp U16 = U16(int32((*WhereTerm)(unsafe.Pointer(pOne)).FeOperator) | int32((*WhereTerm)(unsafe.Pointer(pTwo)).FeOperator)) var db uintptr // Database connection (for malloc) var pNew uintptr // New virtual expression @@ -132400,7 +132420,7 @@ func whereCombineDisjuncts(tls *libc.TLS, pSrc uintptr, pWC uintptr, pOne uintpt // // If none of cases 1, 2, or 3 apply, then leave the eOperator set to // zero. This term is not useful for search. -func exprAnalyzeOrTerm(tls *libc.TLS, pSrc uintptr, pWC uintptr, idxTerm int32) { /* sqlite3.c:150792:13: */ +func exprAnalyzeOrTerm(tls *libc.TLS, pSrc uintptr, pWC uintptr, idxTerm int32) { /* sqlite3.c:150806:13: */ var pWInfo uintptr = (*WhereClause)(unsafe.Pointer(pWC)).FpWInfo // WHERE clause processing context var pParse uintptr = (*WhereInfo)(unsafe.Pointer(pWInfo)).FpParse // Parser context var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb // Database connection @@ -132719,7 +132739,7 @@ __3: // for the LHS anyplace else in the WHERE clause where the LHS column occurs. // This is an optimization. No harm comes from returning 0. But if 1 is // returned when it should not be, then incorrect answers might result. -func termIsEquivalence(tls *libc.TLS, pParse uintptr, pExpr uintptr) int32 { /* sqlite3.c:151066:12: */ +func termIsEquivalence(tls *libc.TLS, pParse uintptr, pExpr uintptr) int32 { /* sqlite3.c:151080:12: */ var aff1 int8 var aff2 int8 var pColl uintptr @@ -132748,7 +132768,7 @@ func termIsEquivalence(tls *libc.TLS, pParse uintptr, pExpr uintptr) int32 { /* // Recursively walk the expressions of a SELECT statement and generate // a bitmask indicating which tables are used in that expression // tree. -func exprSelectUsage(tls *libc.TLS, pMaskSet uintptr, pS uintptr) Bitmask { /* sqlite3.c:151089:16: */ +func exprSelectUsage(tls *libc.TLS, pMaskSet uintptr, pS uintptr) Bitmask { /* sqlite3.c:151103:16: */ var mask Bitmask = uint64(0) for pS != 0 { var pSrc uintptr = (*Select)(unsafe.Pointer(pS)).FpSrc @@ -132783,7 +132803,7 @@ func exprSelectUsage(tls *libc.TLS, pMaskSet uintptr, pS uintptr) Bitmask { /* s // If pExpr is a TK_COLUMN column reference, then this routine always returns // true even if that particular column is not indexed, because the column // might be added to an automatic index later. -func exprMightBeIndexed2(tls *libc.TLS, pFrom uintptr, mPrereq Bitmask, aiCurCol uintptr, pExpr uintptr) int32 { /* sqlite3.c:151126:28: */ +func exprMightBeIndexed2(tls *libc.TLS, pFrom uintptr, mPrereq Bitmask, aiCurCol uintptr, pExpr uintptr) int32 { /* sqlite3.c:151140:28: */ var pIdx uintptr var i int32 var iCur int32 @@ -132821,7 +132841,7 @@ __3: return 0 } -func exprMightBeIndexed(tls *libc.TLS, pFrom uintptr, mPrereq Bitmask, aiCurCol uintptr, pExpr uintptr, op int32) int32 { /* sqlite3.c:151150:12: */ +func exprMightBeIndexed(tls *libc.TLS, pFrom uintptr, mPrereq Bitmask, aiCurCol uintptr, pExpr uintptr, op int32) int32 { /* sqlite3.c:151164:12: */ // If this expression is a vector to the left or right of a // inequality constraint (>, <, >= or <=), perform the processing // on the first element of the vector. @@ -132862,7 +132882,7 @@ func exprMightBeIndexed(tls *libc.TLS, pFrom uintptr, mPrereq Bitmask, aiCurCol // needs to be freed with the WhereClause) and TERM_VIRTUAL (because it // is a commuted copy of a prior term.) The original term has nChild=1 // and the copy has idxParent set to the index of the original term. -func exprAnalyze(tls *libc.TLS, pSrc uintptr, pWC uintptr, idxTerm int32) { /* sqlite3.c:151198:13: */ +func exprAnalyze(tls *libc.TLS, pSrc uintptr, pWC uintptr, idxTerm int32) { /* sqlite3.c:151212:13: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -133230,7 +133250,7 @@ func exprAnalyze(tls *libc.TLS, pSrc uintptr, pWC uintptr, idxTerm int32) { /* s *(*Bitmask)(unsafe.Pointer(pTerm + 32)) |= extraRight } -var ops = [2]U8{U8(TK_GE), U8(TK_LE)} /* sqlite3.c:151367:21 */ +var ops = [2]U8{U8(TK_GE), U8(TK_LE)} /* sqlite3.c:151381:21 */ // ************************************************************************** // @@ -133253,7 +133273,7 @@ var ops = [2]U8{U8(TK_GE), U8(TK_LE)} /* sqlite3.c:151367:21 */ // In the previous sentence and in the diagram, "slot[]" refers to // the WhereClause.a[] array. The slot[] array grows as needed to contain // all terms of the WHERE clause. -func Xsqlite3WhereSplit(tls *libc.TLS, pWC uintptr, pExpr uintptr, op U8) { /* sqlite3.c:151663:21: */ +func Xsqlite3WhereSplit(tls *libc.TLS, pWC uintptr, pExpr uintptr, op U8) { /* sqlite3.c:151677:21: */ var pE2 uintptr = Xsqlite3ExprSkipCollateAndLikely(tls, pExpr) (*WhereClause)(unsafe.Pointer(pWC)).Fop = op @@ -133277,7 +133297,7 @@ func Xsqlite3WhereSplit(tls *libc.TLS, pWC uintptr, pExpr uintptr, op U8) { /* s // (example: "LIMIT 5 OFFSET 10") then the expression codes as a // TK_INTEGER so that it will be available to sqlite3_vtab_rhs_value(). // If not, then it codes as a TK_REGISTER expression. -func whereAddLimitExpr(tls *libc.TLS, pWC uintptr, iReg int32, pExpr uintptr, iCsr int32, eMatchOp int32) { /* sqlite3.c:151687:13: */ +func whereAddLimitExpr(tls *libc.TLS, pWC uintptr, iReg int32, pExpr uintptr, iCsr int32, eMatchOp int32) { /* sqlite3.c:151701:13: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -133329,7 +133349,7 @@ func whereAddLimitExpr(tls *libc.TLS, pWC uintptr, iReg int32, pExpr uintptr, iC // LIMIT and OFFSET terms are ignored by most of the planner code. They // exist only so that they may be passed to the xBestIndex method of the // single virtual table in the FROM clause of the SELECT. -func Xsqlite3WhereAddLimit(tls *libc.TLS, pWC uintptr, p uintptr) { /* sqlite3.c:151740:21: */ +func Xsqlite3WhereAddLimit(tls *libc.TLS, pWC uintptr, p uintptr) { /* sqlite3.c:151754:21: */ if p != 0 && (*Select)(unsafe.Pointer(p)).FpLimit != 0 && (*Select)(unsafe.Pointer(p)).FselFlags&U32(SF_Distinct|SF_Aggregate) == U32(0) && @@ -133379,7 +133399,7 @@ func Xsqlite3WhereAddLimit(tls *libc.TLS, pWC uintptr, p uintptr) { /* sqlite3.c } // Initialize a preallocated WhereClause structure. -func Xsqlite3WhereClauseInit(tls *libc.TLS, pWC uintptr, pWInfo uintptr) { /* sqlite3.c:151786:21: */ +func Xsqlite3WhereClauseInit(tls *libc.TLS, pWC uintptr, pWInfo uintptr) { /* sqlite3.c:151800:21: */ (*WhereClause)(unsafe.Pointer(pWC)).FpWInfo = pWInfo (*WhereClause)(unsafe.Pointer(pWC)).FhasOr = U8(0) (*WhereClause)(unsafe.Pointer(pWC)).FpOuter = uintptr(0) @@ -133392,7 +133412,7 @@ func Xsqlite3WhereClauseInit(tls *libc.TLS, pWC uintptr, pWInfo uintptr) { /* sq // Deallocate a WhereClause structure. The WhereClause structure // itself is not freed. This routine is the inverse of // sqlite3WhereClauseInit(). -func Xsqlite3WhereClauseClear(tls *libc.TLS, pWC uintptr) { /* sqlite3.c:151804:21: */ +func Xsqlite3WhereClauseClear(tls *libc.TLS, pWC uintptr) { /* sqlite3.c:151818:21: */ var db uintptr = (*Parse)(unsafe.Pointer((*WhereInfo)(unsafe.Pointer((*WhereClause)(unsafe.Pointer(pWC)).FpWInfo)).FpParse)).Fdb if (*WhereClause)(unsafe.Pointer(pWC)).FnTerm > 0 { @@ -133452,7 +133472,7 @@ func Xsqlite3WhereClauseClear(tls *libc.TLS, pWC uintptr) { /* sqlite3.c:151804: // computations done by this routine are broken out into a separate // "no-inline" function to avoid the stack push overhead in the // common case where it is not needed. -func sqlite3WhereExprUsageFull(tls *libc.TLS, pMaskSet uintptr, p uintptr) Bitmask { /* sqlite3.c:151872:32: */ +func sqlite3WhereExprUsageFull(tls *libc.TLS, pMaskSet uintptr, p uintptr) Bitmask { /* sqlite3.c:151886:32: */ var mask Bitmask if int32((*Expr)(unsafe.Pointer(p)).Fop) == TK_IF_NULL_ROW { mask = Xsqlite3WhereGetMask(tls, pMaskSet, (*Expr)(unsafe.Pointer(p)).FiTable) @@ -133482,7 +133502,7 @@ func sqlite3WhereExprUsageFull(tls *libc.TLS, pMaskSet uintptr, p uintptr) Bitma return mask } -func Xsqlite3WhereExprUsageNN(tls *libc.TLS, pMaskSet uintptr, p uintptr) Bitmask { /* sqlite3.c:151898:24: */ +func Xsqlite3WhereExprUsageNN(tls *libc.TLS, pMaskSet uintptr, p uintptr) Bitmask { /* sqlite3.c:151912:24: */ if int32((*Expr)(unsafe.Pointer(p)).Fop) == TK_COLUMN && !((*Expr)(unsafe.Pointer(p)).Fflags&U32(EP_FixedCol) != U32(0)) { return Xsqlite3WhereGetMask(tls, pMaskSet, (*Expr)(unsafe.Pointer(p)).FiTable) } else if (*Expr)(unsafe.Pointer(p)).Fflags&U32(EP_TokenOnly|EP_Leaf) != U32(0) { @@ -133492,14 +133512,14 @@ func Xsqlite3WhereExprUsageNN(tls *libc.TLS, pMaskSet uintptr, p uintptr) Bitmas return sqlite3WhereExprUsageFull(tls, pMaskSet, p) } -func Xsqlite3WhereExprUsage(tls *libc.TLS, pMaskSet uintptr, p uintptr) Bitmask { /* sqlite3.c:151907:24: */ +func Xsqlite3WhereExprUsage(tls *libc.TLS, pMaskSet uintptr, p uintptr) Bitmask { /* sqlite3.c:151921:24: */ if p != 0 { return Xsqlite3WhereExprUsageNN(tls, pMaskSet, p) } return uint64(0) } -func Xsqlite3WhereExprListUsage(tls *libc.TLS, pMaskSet uintptr, pList uintptr) Bitmask { /* sqlite3.c:151910:24: */ +func Xsqlite3WhereExprListUsage(tls *libc.TLS, pMaskSet uintptr, pList uintptr) Bitmask { /* sqlite3.c:151924:24: */ var i int32 var mask Bitmask = uint64(0) if pList != 0 { @@ -133516,7 +133536,7 @@ func Xsqlite3WhereExprListUsage(tls *libc.TLS, pMaskSet uintptr, pList uintptr) // end of the WHERE clause. We do not want to analyze these new // virtual terms, so start analyzing at the end and work forward // so that the added virtual terms are never processed. -func Xsqlite3WhereExprAnalyze(tls *libc.TLS, pTabList uintptr, pWC uintptr) { /* sqlite3.c:151930:21: */ +func Xsqlite3WhereExprAnalyze(tls *libc.TLS, pTabList uintptr, pWC uintptr) { /* sqlite3.c:151944:21: */ var i int32 for i = (*WhereClause)(unsafe.Pointer(pWC)).FnTerm - 1; i >= 0; i-- { exprAnalyze(tls, pTabList, pWC, i) @@ -133528,7 +133548,7 @@ func Xsqlite3WhereExprAnalyze(tls *libc.TLS, pTabList uintptr, pWC uintptr) { /* // // Each function argument translates into an equality constraint against // a HIDDEN column in the table. -func Xsqlite3WhereTabFuncArgs(tls *libc.TLS, pParse uintptr, pItem uintptr, pWC uintptr) { /* sqlite3.c:151947:21: */ +func Xsqlite3WhereTabFuncArgs(tls *libc.TLS, pParse uintptr, pItem uintptr, pWC uintptr) { /* sqlite3.c:151961:21: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -133611,7 +133631,7 @@ type HiddenIndexInfo1 = struct { FmIn U32 FmHandleIn U32 FaRhs [1]uintptr -} /* sqlite3.c:152019:9 */ +} /* sqlite3.c:152033:9 */ //************* End of whereexpr.c ****************************************** //************* Begin file where.c ****************************************** @@ -133641,16 +133661,16 @@ type HiddenIndexInfo1 = struct { // This object is not an API and can be changed from one release to the // next. As long as allocateIndexInfo() and sqlite3_vtab_collation() // agree on the structure, all will be well. -type HiddenIndexInfo = HiddenIndexInfo1 /* sqlite3.c:152019:32 */ +type HiddenIndexInfo = HiddenIndexInfo1 /* sqlite3.c:152033:32 */ // Return the estimated number of output rows from a WHERE clause -func Xsqlite3WhereOutputRowCount(tls *libc.TLS, pWInfo uintptr) LogEst { /* sqlite3.c:152037:23: */ +func Xsqlite3WhereOutputRowCount(tls *libc.TLS, pWInfo uintptr) LogEst { /* sqlite3.c:152051:23: */ return (*WhereInfo)(unsafe.Pointer(pWInfo)).FnRowOut } // Return one of the WHERE_DISTINCT_xxxxx values to indicate how this // WHERE clause returns outputs for DISTINCT processing. -func Xsqlite3WhereIsDistinct(tls *libc.TLS, pWInfo uintptr) int32 { /* sqlite3.c:152045:20: */ +func Xsqlite3WhereIsDistinct(tls *libc.TLS, pWInfo uintptr) int32 { /* sqlite3.c:152059:20: */ return int32((*WhereInfo)(unsafe.Pointer(pWInfo)).FeDistinct) } @@ -133660,7 +133680,7 @@ func Xsqlite3WhereIsDistinct(tls *libc.TLS, pWInfo uintptr) int32 { /* sqlite3.c // terms means that no sorting is needed at all. A return that // is positive but less than the number of ORDER BY terms means that // block sorting is required. -func Xsqlite3WhereIsOrdered(tls *libc.TLS, pWInfo uintptr) int32 { /* sqlite3.c:152057:20: */ +func Xsqlite3WhereIsOrdered(tls *libc.TLS, pWInfo uintptr) int32 { /* sqlite3.c:152071:20: */ return int32((*WhereInfo)(unsafe.Pointer(pWInfo)).FnOBSat) } @@ -133685,7 +133705,7 @@ func Xsqlite3WhereIsOrdered(tls *libc.TLS, pWInfo uintptr) int32 { /* sqlite3.c: // Returning the continuation the second inner loop is an optimization // that might make the code run a little faster, but should not change // the final answer. -func Xsqlite3WhereOrderByLimitOptLabel(tls *libc.TLS, pWInfo uintptr) int32 { /* sqlite3.c:152084:20: */ +func Xsqlite3WhereOrderByLimitOptLabel(tls *libc.TLS, pWInfo uintptr) int32 { /* sqlite3.c:152098:20: */ var pInner uintptr if !(int32(*(*uint8)(unsafe.Pointer(pWInfo + 52))&0x4>>2) != 0) { // The ORDER BY LIMIT optimization does not apply. Jump to the @@ -133706,7 +133726,7 @@ func Xsqlite3WhereOrderByLimitOptLabel(tls *libc.TLS, pWInfo uintptr) int32 { /* // Any extra OP_Goto that is coded here is an optimization. The // correct answer should be obtained regardless. This OP_Goto just // makes the answer appear faster. -func Xsqlite3WhereMinMaxOptEarlyOut(tls *libc.TLS, v uintptr, pWInfo uintptr) { /* sqlite3.c:152107:21: */ +func Xsqlite3WhereMinMaxOptEarlyOut(tls *libc.TLS, v uintptr, pWInfo uintptr) { /* sqlite3.c:152121:21: */ var pInner uintptr var i int32 if !(int32(*(*uint8)(unsafe.Pointer(pWInfo + 52))&0x4>>2) != 0) { @@ -133727,14 +133747,14 @@ func Xsqlite3WhereMinMaxOptEarlyOut(tls *libc.TLS, v uintptr, pWInfo uintptr) { // Return the VDBE address or label to jump to in order to continue // immediately with the next row of a WHERE clause. -func Xsqlite3WhereContinueLabel(tls *libc.TLS, pWInfo uintptr) int32 { /* sqlite3.c:152126:20: */ +func Xsqlite3WhereContinueLabel(tls *libc.TLS, pWInfo uintptr) int32 { /* sqlite3.c:152140:20: */ return (*WhereInfo)(unsafe.Pointer(pWInfo)).FiContinue } // Return the VDBE address or label to jump to in order to break // out of a WHERE loop. -func Xsqlite3WhereBreakLabel(tls *libc.TLS, pWInfo uintptr) int32 { /* sqlite3.c:152135:20: */ +func Xsqlite3WhereBreakLabel(tls *libc.TLS, pWInfo uintptr) int32 { /* sqlite3.c:152149:20: */ return (*WhereInfo)(unsafe.Pointer(pWInfo)).FiBreak } @@ -133753,19 +133773,19 @@ func Xsqlite3WhereBreakLabel(tls *libc.TLS, pWInfo uintptr) int32 { /* sqlite3.c // // aiCur[0] and aiCur[1] both get -1 if the where-clause logic is // unable to use the ONEPASS optimization. -func Xsqlite3WhereOkOnePass(tls *libc.TLS, pWInfo uintptr, aiCur uintptr) int32 { /* sqlite3.c:152156:20: */ +func Xsqlite3WhereOkOnePass(tls *libc.TLS, pWInfo uintptr, aiCur uintptr) int32 { /* sqlite3.c:152170:20: */ libc.Xmemcpy(tls, aiCur, pWInfo+24, uint32(unsafe.Sizeof(int32(0)))*uint32(2)) return int32((*WhereInfo)(unsafe.Pointer(pWInfo)).FeOnePass) } // Return TRUE if the WHERE loop uses the OP_DeferredSeek opcode to move // the data cursor to the row selected by the index cursor. -func Xsqlite3WhereUsesDeferredSeek(tls *libc.TLS, pWInfo uintptr) int32 { /* sqlite3.c:152172:20: */ +func Xsqlite3WhereUsesDeferredSeek(tls *libc.TLS, pWInfo uintptr) int32 { /* sqlite3.c:152186:20: */ return int32(*(*uint8)(unsafe.Pointer(pWInfo + 52)) & 0x1 >> 0) } // Move the content of pSrc into pDest -func whereOrMove(tls *libc.TLS, pDest uintptr, pSrc uintptr) { /* sqlite3.c:152179:13: */ +func whereOrMove(tls *libc.TLS, pDest uintptr, pSrc uintptr) { /* sqlite3.c:152193:13: */ (*WhereOrSet)(unsafe.Pointer(pDest)).Fn = (*WhereOrSet)(unsafe.Pointer(pSrc)).Fn libc.Xmemcpy(tls, pDest+4, pSrc+4, uint32((*WhereOrSet)(unsafe.Pointer(pDest)).Fn)*uint32(unsafe.Sizeof(WhereOrCost{}))) } @@ -133775,7 +133795,7 @@ func whereOrMove(tls *libc.TLS, pDest uintptr, pSrc uintptr) { /* sqlite3.c:1521 // The new entry might overwrite an existing entry, or it might be // appended, or it might be discarded. Do whatever is the right thing // so that pSet keeps the N_OR_COST best entries seen so far. -func whereOrInsert(tls *libc.TLS, pSet uintptr, prereq Bitmask, rRun LogEst, nOut LogEst) int32 { /* sqlite3.c:152191:12: */ +func whereOrInsert(tls *libc.TLS, pSet uintptr, prereq Bitmask, rRun LogEst, nOut LogEst) int32 { /* sqlite3.c:152205:12: */ var i U16 var p uintptr i = (*WhereOrSet)(unsafe.Pointer(pSet)).Fn @@ -133852,7 +133872,7 @@ __13: // Return the bitmask for the given cursor number. Return 0 if // iCursor is not in the set. -func Xsqlite3WhereGetMask(tls *libc.TLS, pMaskSet uintptr, iCursor int32) Bitmask { /* sqlite3.c:152228:24: */ +func Xsqlite3WhereGetMask(tls *libc.TLS, pMaskSet uintptr, iCursor int32) Bitmask { /* sqlite3.c:152242:24: */ var i int32 if *(*int32)(unsafe.Pointer(pMaskSet + 8)) == iCursor { @@ -133872,14 +133892,14 @@ func Xsqlite3WhereGetMask(tls *libc.TLS, pMaskSet uintptr, iCursor int32) Bitmas // tables in the FROM clause is limited by a test early in the // sqlite3WhereBegin() routine. So we know that the pMaskSet->ix[] // array will never overflow. -func createMask(tls *libc.TLS, pMaskSet uintptr, iCursor int32) { /* sqlite3.c:152252:13: */ +func createMask(tls *libc.TLS, pMaskSet uintptr, iCursor int32) { /* sqlite3.c:152266:13: */ *(*int32)(unsafe.Pointer(pMaskSet + 8 + uintptr(libc.PostIncInt32(&(*WhereMaskSet)(unsafe.Pointer(pMaskSet)).Fn, 1))*4)) = iCursor } // If the right-hand branch of the expression is a TK_COLUMN, then return // a pointer to the right-hand branch. Otherwise, return NULL. -func whereRightSubexprIsColumn(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:152261:13: */ +func whereRightSubexprIsColumn(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:152275:13: */ p = Xsqlite3ExprSkipCollateAndLikely(tls, (*Expr)(unsafe.Pointer(p)).FpRight) if p != uintptr(0) && int32((*Expr)(unsafe.Pointer(p)).Fop) == TK_COLUMN && !((*Expr)(unsafe.Pointer(p)).Fflags&U32(EP_FixedCol) != U32(0)) { return p @@ -133890,7 +133910,7 @@ func whereRightSubexprIsColumn(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c: // Advance to the next WhereTerm that matches according to the criteria // established when the pScan object was initialized by whereScanInit(). // Return NULL if there are no more matching WhereTerms. -func whereScanNext(tls *libc.TLS, pScan uintptr) uintptr { /* sqlite3.c:152274:18: */ +func whereScanNext(tls *libc.TLS, pScan uintptr) uintptr { /* sqlite3.c:152288:18: */ var iCur int32 // The cursor on the LHS of the term var iColumn I16 // The column on the LHS of the term. -1 for IPK var pX uintptr // An expression being tested @@ -133994,7 +134014,7 @@ func whereScanNext(tls *libc.TLS, pScan uintptr) uintptr { /* sqlite3.c:152274:1 // It is factored out into a separate tail-recursion subroutine so that // the normal whereScanInit() routine, which is a high-runner, does not // need to push registers onto the stack as part of its prologue. -func whereScanInitIndexExpr(tls *libc.TLS, pScan uintptr) uintptr { /* sqlite3.c:152376:34: */ +func whereScanInitIndexExpr(tls *libc.TLS, pScan uintptr) uintptr { /* sqlite3.c:152390:34: */ (*WhereScan)(unsafe.Pointer(pScan)).Fidxaff = Xsqlite3ExprAffinity(tls, (*WhereScan)(unsafe.Pointer(pScan)).FpIdxExpr) return whereScanNext(tls, pScan) } @@ -134016,7 +134036,7 @@ func whereScanInitIndexExpr(tls *libc.TLS, pScan uintptr) uintptr { /* sqlite3.c // // If X is not the INTEGER PRIMARY KEY then X must be compatible with // index pIdx. -func whereScanInit(tls *libc.TLS, pScan uintptr, pWC uintptr, iCur int32, iColumn int32, opMask U32, pIdx uintptr) uintptr { /* sqlite3.c:152400:18: */ +func whereScanInit(tls *libc.TLS, pScan uintptr, pWC uintptr, iCur int32, iColumn int32, opMask U32, pIdx uintptr) uintptr { /* sqlite3.c:152414:18: */ (*WhereScan)(unsafe.Pointer(pScan)).FpOrigWC = pWC (*WhereScan)(unsafe.Pointer(pScan)).FpWC = pWC (*WhereScan)(unsafe.Pointer(pScan)).FpIdxExpr = uintptr(0) @@ -134071,7 +134091,7 @@ func whereScanInit(tls *libc.TLS, pScan uintptr, pWC uintptr, iCur int32, iColum // the form "X Y" where Y is a column in another table if no terms of // the form "X " exist. If no terms with a constant RHS // exist, try to return a term that does not use WO_EQUIV. -func Xsqlite3WhereFindTerm(tls *libc.TLS, pWC uintptr, iCur int32, iColumn int32, notReady Bitmask, op U32, pIdx uintptr) uintptr { /* sqlite3.c:152464:26: */ +func Xsqlite3WhereFindTerm(tls *libc.TLS, pWC uintptr, iCur int32, iColumn int32, notReady Bitmask, op U32, pIdx uintptr) uintptr { /* sqlite3.c:152478:26: */ bp := tls.Alloc(96) defer tls.Free(96) @@ -134101,7 +134121,7 @@ func Xsqlite3WhereFindTerm(tls *libc.TLS, pWC uintptr, iCur int32, iColumn int32 // // If such an expression is found, its index in pList->a[] is returned. If // no expression is found, -1 is returned. -func findIndexCol(tls *libc.TLS, pParse uintptr, pList uintptr, iBase int32, pIdx uintptr, iCol int32) int32 { /* sqlite3.c:152498:12: */ +func findIndexCol(tls *libc.TLS, pParse uintptr, pList uintptr, iBase int32, pIdx uintptr, iCol int32) int32 { /* sqlite3.c:152512:12: */ var i int32 var zColl uintptr = *(*uintptr)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FazColl + uintptr(iCol)*4)) @@ -134122,7 +134142,7 @@ func findIndexCol(tls *libc.TLS, pParse uintptr, pList uintptr, iBase int32, pId } // Return TRUE if the iCol-th column of index pIdx is NOT NULL -func indexColumnNotNull(tls *libc.TLS, pIdx uintptr, iCol int32) int32 { /* sqlite3.c:152528:12: */ +func indexColumnNotNull(tls *libc.TLS, pIdx uintptr, iCol int32) int32 { /* sqlite3.c:152542:12: */ var j int32 j = int32(*(*I16)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FaiColumn + uintptr(iCol)*2))) @@ -134143,7 +134163,7 @@ func indexColumnNotNull(tls *libc.TLS, pIdx uintptr, iCol int32) int32 { /* sqli // // A DISTINCT list is redundant if any subset of the columns in the // DISTINCT list are collectively unique and individually non-null. -func isDistinctRedundant(tls *libc.TLS, pParse uintptr, pTabList uintptr, pWC uintptr, pDistinct uintptr) int32 { /* sqlite3.c:152551:12: */ +func isDistinctRedundant(tls *libc.TLS, pParse uintptr, pTabList uintptr, pWC uintptr, pDistinct uintptr) int32 { /* sqlite3.c:152565:12: */ var pTab uintptr var pIdx uintptr var i int32 @@ -134213,7 +134233,7 @@ func isDistinctRedundant(tls *libc.TLS, pParse uintptr, pTabList uintptr, pWC ui } // Estimate the logarithm of the input value to base 2. -func estLog(tls *libc.TLS, N LogEst) LogEst { /* sqlite3.c:152615:15: */ +func estLog(tls *libc.TLS, N LogEst) LogEst { /* sqlite3.c:152629:15: */ if int32(N) <= 10 { return int16(0) } @@ -134230,7 +134250,7 @@ func estLog(tls *libc.TLS, N LogEst) LogEst { /* sqlite3.c:152615:15: */ // cursor iTabCur are transformed into OP_Sequence opcode for the // iAutoidxCur cursor, in order to generate unique rowids for the // automatic index being generated. -func translateColumnToCopy(tls *libc.TLS, pParse uintptr, iStart int32, iTabCur int32, iRegister int32, iAutoidxCur int32) { /* sqlite3.c:152631:13: */ +func translateColumnToCopy(tls *libc.TLS, pParse uintptr, iStart int32, iTabCur int32, iRegister int32, iAutoidxCur int32) { /* sqlite3.c:152645:13: */ var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe var pOp uintptr = Xsqlite3VdbeGetOp(tls, v, iStart) var iEnd int32 = Xsqlite3VdbeCurrentAddr(tls, v) @@ -134273,7 +134293,7 @@ __3: // Return TRUE if the WHERE clause term pTerm is of a form where it // could be used with an index to access pSrc, assuming an appropriate // index existed. -func termCanDriveIndex(tls *libc.TLS, pTerm uintptr, pSrc uintptr, notReady Bitmask) int32 { /* sqlite3.c:152715:12: */ +func termCanDriveIndex(tls *libc.TLS, pTerm uintptr, pSrc uintptr, notReady Bitmask) int32 { /* sqlite3.c:152729:12: */ var aff int8 if (*WhereTerm)(unsafe.Pointer(pTerm)).FleftCursor != (*SrcItem)(unsafe.Pointer(pSrc)).FiCursor { return 0 @@ -134307,7 +134327,7 @@ func termCanDriveIndex(tls *libc.TLS, pTerm uintptr, pSrc uintptr, notReady Bitm // Generate code to construct the Index object for an automatic index // and to set up the WhereLevel object pLevel so that the code generator // makes use of the automatic index. -func constructAutomaticIndex(tls *libc.TLS, pParse uintptr, pWC uintptr, pSrc uintptr, notReady Bitmask, pLevel uintptr) { /* sqlite3.c:152749:29: */ +func constructAutomaticIndex(tls *libc.TLS, pParse uintptr, pWC uintptr, pSrc uintptr, notReady Bitmask, pLevel uintptr) { /* sqlite3.c:152763:29: */ bp := tls.Alloc(20) defer tls.Free(20) @@ -134665,7 +134685,7 @@ end_auto_index_create: // This routine may only be called if it has previously been determined that // the loop would benefit from a Bloom filter, and the WHERE_BLOOMFILTER bit // is set. -func sqlite3ConstructBloomFilter(tls *libc.TLS, pWInfo uintptr, iLevel int32, pLevel uintptr, notReady Bitmask) { /* sqlite3.c:152984:29: */ +func sqlite3ConstructBloomFilter(tls *libc.TLS, pWInfo uintptr, iLevel int32, pLevel uintptr, notReady Bitmask) { /* sqlite3.c:152998:29: */ var addrOnce int32 // Address of opening OP_Once var addrTop int32 // Address of OP_Rewind var addrCont int32 // Jump here to skip a row @@ -134770,7 +134790,7 @@ func sqlite3ConstructBloomFilter(tls *libc.TLS, pWInfo uintptr, iLevel int32, pL // Allocate and populate an sqlite3_index_info structure. It is the // responsibility of the caller to eventually release the structure // by passing the pointer returned by this function to freeIndexInfo(). -func allocateIndexInfo(tls *libc.TLS, pWInfo uintptr, pWC uintptr, mUnusable Bitmask, pSrc uintptr, pmNoOmit uintptr) uintptr { /* sqlite3.c:153097:27: */ +func allocateIndexInfo(tls *libc.TLS, pWInfo uintptr, pWC uintptr, mUnusable Bitmask, pSrc uintptr, pmNoOmit uintptr) uintptr { /* sqlite3.c:153111:27: */ var i int32 var j int32 var nTerm int32 @@ -134996,7 +135016,7 @@ __6: // Free an sqlite3_index_info structure allocated by allocateIndexInfo() // and possibly modified by xBestIndex methods. -func freeIndexInfo(tls *libc.TLS, db uintptr, pIdxInfo uintptr) { /* sqlite3.c:153296:13: */ +func freeIndexInfo(tls *libc.TLS, db uintptr, pIdxInfo uintptr) { /* sqlite3.c:153310:13: */ var pHidden uintptr var i int32 @@ -135023,7 +135043,7 @@ func freeIndexInfo(tls *libc.TLS, db uintptr, pIdxInfo uintptr) { /* sqlite3.c:1 // Whether or not an error is returned, it is the responsibility of the // caller to eventually free p->idxStr if p->needToFreeIdxStr indicates // that this is required. -func vtabBestIndex(tls *libc.TLS, pParse uintptr, pTab uintptr, p uintptr) int32 { /* sqlite3.c:153326:12: */ +func vtabBestIndex(tls *libc.TLS, pParse uintptr, pTab uintptr, p uintptr) int32 { /* sqlite3.c:153340:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -135061,7 +135081,7 @@ func vtabBestIndex(tls *libc.TLS, pParse uintptr, pTab uintptr, p uintptr) int32 // into the aSample[] array - it is an index into a virtual set of samples // based on the contents of aSample[] and the number of fields in record // pRec. -func whereKeyStats(tls *libc.TLS, pParse uintptr, pIdx uintptr, pRec uintptr, roundUp int32, aStat uintptr) int32 { /* sqlite3.c:153365:12: */ +func whereKeyStats(tls *libc.TLS, pParse uintptr, pIdx uintptr, pRec uintptr, roundUp int32, aStat uintptr) int32 { /* sqlite3.c:153379:12: */ var aSample uintptr = (*Index)(unsafe.Pointer(pIdx)).FaSample var iCol int32 // Index of required stats in anEq[] etc. var i int32 // Index of first sample >= pRec @@ -135200,7 +135220,7 @@ func whereKeyStats(tls *libc.TLS, pParse uintptr, pIdx uintptr, pRec uintptr, ro // then the return value is the likelihood multiplied by the number of // input rows. Otherwise, this function assumes that an "IS NOT NULL" term // has a likelihood of 0.50, and any other term a likelihood of 0.25. -func whereRangeAdjust(tls *libc.TLS, pTerm uintptr, nNew LogEst) LogEst { /* sqlite3.c:153557:15: */ +func whereRangeAdjust(tls *libc.TLS, pTerm uintptr, nNew LogEst) LogEst { /* sqlite3.c:153571:15: */ var nRet LogEst = nNew if pTerm != 0 { if int32((*WhereTerm)(unsafe.Pointer(pTerm)).FtruthProb) <= 0 { @@ -135213,7 +135233,7 @@ func whereRangeAdjust(tls *libc.TLS, pTerm uintptr, nNew LogEst) LogEst { /* sql } // Return the affinity for a single column of an index. -func Xsqlite3IndexColumnAffinity(tls *libc.TLS, db uintptr, pIdx uintptr, iCol int32) int8 { /* sqlite3.c:153574:21: */ +func Xsqlite3IndexColumnAffinity(tls *libc.TLS, db uintptr, pIdx uintptr, iCol int32) int8 { /* sqlite3.c:153588:21: */ if !(int32((*Index)(unsafe.Pointer(pIdx)).FzColAff) != 0) { if Xsqlite3IndexAffinityStr(tls, db, pIdx) == uintptr(0) { @@ -135257,7 +135277,7 @@ func Xsqlite3IndexColumnAffinity(tls *libc.TLS, db uintptr, pIdx uintptr, iCol i // // If an error occurs, an SQLite error code is returned. Otherwise, // SQLITE_OK. -func whereRangeSkipScanEst(tls *libc.TLS, pParse uintptr, pLower uintptr, pUpper uintptr, pLoop uintptr, pbDone uintptr) int32 { /* sqlite3.c:153621:12: */ +func whereRangeSkipScanEst(tls *libc.TLS, pParse uintptr, pLower uintptr, pUpper uintptr, pLoop uintptr, pbDone uintptr) int32 { /* sqlite3.c:153635:12: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -135372,7 +135392,7 @@ func whereRangeSkipScanEst(tls *libc.TLS, pParse uintptr, pLower uintptr, pUpper // used, a single range inequality reduces the search space by a factor of 4. // and a pair of constraints (x>? AND x>0)) != 0 { Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(p + 24 + 12 /* &.idxStr */))) @@ -135680,7 +135700,7 @@ func whereLoopClearUnion(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:15 } // Deallocate internal memory used by a WhereLoop object -func whereLoopClear(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:154152:13: */ +func whereLoopClear(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:154166:13: */ if (*WhereLoop)(unsafe.Pointer(p)).FaLTerm != p+64 { Xsqlite3DbFreeNN(tls, db, (*WhereLoop)(unsafe.Pointer(p)).FaLTerm) } @@ -135689,7 +135709,7 @@ func whereLoopClear(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:154152: } // Increase the memory allocation for pLoop->aLTerm[] to be at least n. -func whereLoopResize(tls *libc.TLS, db uintptr, p uintptr, n int32) int32 { /* sqlite3.c:154161:12: */ +func whereLoopResize(tls *libc.TLS, db uintptr, p uintptr, n int32) int32 { /* sqlite3.c:154175:12: */ var paNew uintptr if int32((*WhereLoop)(unsafe.Pointer(p)).FnLSlot) >= n { return SQLITE_OK @@ -135709,7 +135729,7 @@ func whereLoopResize(tls *libc.TLS, db uintptr, p uintptr, n int32) int32 { /* s } // Transfer content from the second pLoop into the first. -func whereLoopXfer(tls *libc.TLS, db uintptr, pTo uintptr, pFrom uintptr) int32 { /* sqlite3.c:154177:12: */ +func whereLoopXfer(tls *libc.TLS, db uintptr, pTo uintptr, pFrom uintptr) int32 { /* sqlite3.c:154191:12: */ whereLoopClearUnion(tls, db, pTo) if whereLoopResize(tls, db, pTo, int32((*WhereLoop)(unsafe.Pointer(pFrom)).FnLTerm)) != 0 { libc.Xmemset(tls, pTo, 0, uint32(uintptr(0)+52)) @@ -135726,13 +135746,13 @@ func whereLoopXfer(tls *libc.TLS, db uintptr, pTo uintptr, pFrom uintptr) int32 } // Delete a WhereLoop object -func whereLoopDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:154196:13: */ +func whereLoopDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:154210:13: */ whereLoopClear(tls, db, p) Xsqlite3DbFreeNN(tls, db, p) } // Free a WhereInfo structure -func whereInfoFree(tls *libc.TLS, db uintptr, pWInfo uintptr) { /* sqlite3.c:154204:13: */ +func whereInfoFree(tls *libc.TLS, db uintptr, pWInfo uintptr) { /* sqlite3.c:154218:13: */ var i int32 for i = 0; i < int32((*WhereInfo)(unsafe.Pointer(pWInfo)).FnLevel); i++ { @@ -135753,7 +135773,7 @@ func whereInfoFree(tls *libc.TLS, db uintptr, pWInfo uintptr) { /* sqlite3.c:154 } // Undo all Expr node modifications -func whereUndoExprMods(tls *libc.TLS, pWInfo uintptr) { /* sqlite3.c:154226:13: */ +func whereUndoExprMods(tls *libc.TLS, pWInfo uintptr) { /* sqlite3.c:154240:13: */ for (*WhereInfo)(unsafe.Pointer(pWInfo)).FpExprMods != 0 { var p uintptr = (*WhereInfo)(unsafe.Pointer(pWInfo)).FpExprMods (*WhereInfo)(unsafe.Pointer(pWInfo)).FpExprMods = (*WhereExprMod)(unsafe.Pointer(p)).FpNext @@ -135779,7 +135799,7 @@ func whereUndoExprMods(tls *libc.TLS, pWInfo uintptr) { /* sqlite3.c:154226:13: // deserve a lower cost even if it is a proper subset of Y. Constraint (5) // was added because a covering index probably deserves to have a lower cost // than a non-covering index even if it is a proper subset. -func whereLoopCheaperProperSubset(tls *libc.TLS, pX uintptr, pY uintptr) int32 { /* sqlite3.c:154254:12: */ +func whereLoopCheaperProperSubset(tls *libc.TLS, pX uintptr, pY uintptr) int32 { /* sqlite3.c:154268:12: */ var i int32 var j int32 if int32((*WhereLoop)(unsafe.Pointer(pX)).FnLTerm)-int32((*WhereLoop)(unsafe.Pointer(pX)).FnSkip) >= int32((*WhereLoop)(unsafe.Pointer(pY)).FnLTerm)-int32((*WhereLoop)(unsafe.Pointer(pY)).FnSkip) { @@ -135823,7 +135843,7 @@ func whereLoopCheaperProperSubset(tls *libc.TLS, pX uintptr, pY uintptr) int32 { // To say "WhereLoop X is a proper subset of Y" means that X uses fewer // WHERE clause terms than Y and that every WHERE clause term used by X is // also used by Y. -func whereLoopAdjustCost(tls *libc.TLS, p uintptr, pTemplate uintptr) { /* sqlite3.c:154292:13: */ +func whereLoopAdjustCost(tls *libc.TLS, p uintptr, pTemplate uintptr) { /* sqlite3.c:154306:13: */ if (*WhereLoop)(unsafe.Pointer(pTemplate)).FwsFlags&U32(WHERE_INDEXED) == U32(0) { return } @@ -135882,7 +135902,7 @@ func whereLoopAdjustCost(tls *libc.TLS, p uintptr, pTemplate uintptr) { /* sqlit // If pTemplate cannot replace any existing element of the list but needs // to be added to the list as a new entry, then return a pointer to the // tail of the list. -func whereLoopFindLesser(tls *libc.TLS, ppPrev uintptr, pTemplate uintptr) uintptr { /* sqlite3.c:154333:18: */ +func whereLoopFindLesser(tls *libc.TLS, ppPrev uintptr, pTemplate uintptr) uintptr { /* sqlite3.c:154347:18: */ var p uintptr p = *(*uintptr)(unsafe.Pointer(ppPrev)) __1: @@ -135971,7 +135991,7 @@ __3: // (2) They have the same iSortIdx. // (3) The template has same or fewer dependencies than the current loop // (4) The template has the same or lower cost than the current loop -func whereLoopInsert(tls *libc.TLS, pBuilder uintptr, pTemplate uintptr) int32 { /* sqlite3.c:154421:12: */ +func whereLoopInsert(tls *libc.TLS, pBuilder uintptr, pTemplate uintptr) int32 { /* sqlite3.c:154435:12: */ var ppPrev uintptr var p uintptr var pWInfo uintptr = (*WhereLoopBuilder)(unsafe.Pointer(pBuilder)).FpWInfo @@ -136078,7 +136098,7 @@ func whereLoopInsert(tls *libc.TLS, pBuilder uintptr, pTemplate uintptr) int32 { // "x" column is boolean or else -1 or 0 or 1 is a common default value // on the "x" column and so in that case only cap the output row estimate // at 1/2 instead of 1/4. -func whereLoopOutputAdjust(tls *libc.TLS, pWC uintptr, pLoop uintptr, nRow LogEst) { /* sqlite3.c:154558:13: */ +func whereLoopOutputAdjust(tls *libc.TLS, pWC uintptr, pLoop uintptr, nRow LogEst) { /* sqlite3.c:154572:13: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -136124,7 +136144,14 @@ __1: // that depend only on the table being scanned, and that will tend to // cause many rows to be omitted, then mark that table as // "self-culling". - *(*U32)(unsafe.Pointer(pLoop + 44)) |= U32(WHERE_SELFCULL) + // + // 2022-03-24: Self-culling only applies if either the extra terms + // are straight comparison operators that are non-true with NULL + // operand, or if the loop is not a LEFT JOIN. + if int32((*WhereTerm)(unsafe.Pointer(pTerm)).FeOperator)&0x3f != 0 || + int32((*SrcItem)(unsafe.Pointer((*WhereInfo)(unsafe.Pointer((*WhereClause)(unsafe.Pointer(pWC)).FpWInfo)).FpTabList+8+uintptr((*WhereLoop)(unsafe.Pointer(pLoop)).FiTab)*72)).Ffg.Fjointype)&JT_LEFT == 0 { + *(*U32)(unsafe.Pointer(pLoop + 44)) |= U32(WHERE_SELFCULL) + } } if int32((*WhereTerm)(unsafe.Pointer(pTerm)).FtruthProb) <= 0 { // If a truth probability is specified using the likelihood() hints, @@ -136181,7 +136208,7 @@ __3: // // then this function would be invoked with nEq=1. The value returned in // this case is 3. -func whereRangeVectorLen(tls *libc.TLS, pParse uintptr, iCur int32, pIdx uintptr, nEq int32, pTerm uintptr) int32 { /* sqlite3.c:154637:12: */ +func whereRangeVectorLen(tls *libc.TLS, pParse uintptr, iCur int32, pIdx uintptr, nEq int32, pTerm uintptr) int32 { /* sqlite3.c:154660:12: */ var nCmp int32 = Xsqlite3ExprVectorSize(tls, (*Expr)(unsafe.Pointer((*WhereTerm)(unsafe.Pointer(pTerm)).FpExpr)).FpLeft) var i int32 @@ -136249,7 +136276,7 @@ func whereRangeVectorLen(tls *libc.TLS, pParse uintptr, iCur int32, pIdx uintptr // // If pProbe->idxType==SQLITE_IDXTYPE_IPK, that means pIndex is // a fake index used for the INTEGER PRIMARY KEY. -func whereLoopAddBtreeIndex(tls *libc.TLS, pBuilder uintptr, pSrc uintptr, pProbe uintptr, nInMul LogEst) int32 { /* sqlite3.c:154711:12: */ +func whereLoopAddBtreeIndex(tls *libc.TLS, pBuilder uintptr, pSrc uintptr, pProbe uintptr, nInMul LogEst) int32 { /* sqlite3.c:154734:12: */ bp := tls.Alloc(100) defer tls.Free(100) @@ -136609,7 +136636,7 @@ func whereLoopAddBtreeIndex(tls *libc.TLS, pBuilder uintptr, pSrc uintptr, pProb // Return False if pBuilder does not contain an ORDER BY clause or // if there is no way for pIndex to be useful in implementing that // ORDER BY clause. -func indexMightHelpWithOrderBy(tls *libc.TLS, pBuilder uintptr, pIndex uintptr, iCursor int32) int32 { /* sqlite3.c:155111:12: */ +func indexMightHelpWithOrderBy(tls *libc.TLS, pBuilder uintptr, pIndex uintptr, iCursor int32) int32 { /* sqlite3.c:155134:12: */ var pOB uintptr var aColExpr uintptr var ii int32 @@ -136651,7 +136678,7 @@ func indexMightHelpWithOrderBy(tls *libc.TLS, pBuilder uintptr, pIndex uintptr, // Check to see if a partial index with pPartIndexWhere can be used // in the current query. Return true if it can be and false if not. -func whereUsablePartialIndex(tls *libc.TLS, iTab int32, isLeft int32, pWC uintptr, pWhere uintptr) int32 { /* sqlite3.c:155145:12: */ +func whereUsablePartialIndex(tls *libc.TLS, iTab int32, isLeft int32, pWC uintptr, pWhere uintptr) int32 { /* sqlite3.c:155168:12: */ var i int32 var pTerm uintptr var pParse uintptr = (*WhereInfo)(unsafe.Pointer((*WhereClause)(unsafe.Pointer(pWC)).FpWInfo)).FpParse @@ -136726,7 +136753,7 @@ __3: // bias the scoring in favor of using an index, since the worst-case // performance of using an index is far better than the worst-case performance // of a full table scan. -func whereLoopAddBtree(tls *libc.TLS, pBuilder uintptr, mPrereq Bitmask) int32 { /* sqlite3.c:155209:12: */ +func whereLoopAddBtree(tls *libc.TLS, pBuilder uintptr, mPrereq Bitmask) int32 { /* sqlite3.c:155232:12: */ bp := tls.Alloc(98) defer tls.Free(98) @@ -137011,7 +137038,7 @@ __3: } // Return true if pTerm is a virtual table LIMIT or OFFSET term. -func isLimitTerm(tls *libc.TLS, pTerm uintptr) int32 { /* sqlite3.c:155467:12: */ +func isLimitTerm(tls *libc.TLS, pTerm uintptr) int32 { /* sqlite3.c:155490:12: */ return libc.Bool32(int32((*WhereTerm)(unsafe.Pointer(pTerm)).FeMatchOp) >= SQLITE_INDEX_CONSTRAINT_LIMIT && int32((*WhereTerm)(unsafe.Pointer(pTerm)).FeMatchOp) <= SQLITE_INDEX_CONSTRAINT_OFFSET) @@ -137035,7 +137062,7 @@ func isLimitTerm(tls *libc.TLS, pTerm uintptr) int32 { /* sqlite3.c:155467:12: * // // Output parameter *pbIn is set to true if the plan added to pBuilder // uses one or more WO_IN terms, or false otherwise. -func whereLoopAddVirtualOne(tls *libc.TLS, pBuilder uintptr, mPrereq Bitmask, mUsable Bitmask, mExclude U16, pIdxInfo uintptr, mNoOmit U16, pbIn uintptr, pbRetryLimit uintptr) int32 { /* sqlite3.c:155493:12: */ +func whereLoopAddVirtualOne(tls *libc.TLS, pBuilder uintptr, mPrereq Bitmask, mUsable Bitmask, mExclude U16, pIdxInfo uintptr, mNoOmit U16, pbIn uintptr, pbRetryLimit uintptr) int32 { /* sqlite3.c:155516:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -137258,7 +137285,7 @@ __6: // 2. Else, if the column has an alternative collation, return that. // // 3. Otherwise, return "BINARY". -func Xsqlite3_vtab_collation(tls *libc.TLS, pIdxInfo uintptr, iCons int32) uintptr { /* sqlite3.c:155685:23: */ +func Xsqlite3_vtab_collation(tls *libc.TLS, pIdxInfo uintptr, iCons int32) uintptr { /* sqlite3.c:155708:23: */ var pHidden uintptr = pIdxInfo + 1*64 var zRet uintptr = uintptr(0) if iCons >= 0 && iCons < (*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FnConstraint { @@ -137281,7 +137308,7 @@ func Xsqlite3_vtab_collation(tls *libc.TLS, pIdxInfo uintptr, iCons int32) uintp // Return true if constraint iCons is really an IN(...) constraint, or // false otherwise. If iCons is an IN(...) constraint, set (if bHandle!=0) // or clear (if bHandle==0) the flag to handle it using an iterator. -func Xsqlite3_vtab_in(tls *libc.TLS, pIdxInfo uintptr, iCons int32, bHandle int32) int32 { /* sqlite3.c:155705:16: */ +func Xsqlite3_vtab_in(tls *libc.TLS, pIdxInfo uintptr, iCons int32, bHandle int32) int32 { /* sqlite3.c:155728:16: */ var pHidden uintptr = pIdxInfo + 1*64 var m U32 = func() uint32 { if iCons <= 31 { @@ -137304,7 +137331,7 @@ func Xsqlite3_vtab_in(tls *libc.TLS, pIdxInfo uintptr, iCons int32, bHandle int3 // // If possible, set (*ppVal) to point to an object containing the value // on the right-hand-side of constraint iCons. -func Xsqlite3_vtab_rhs_value(tls *libc.TLS, pIdxInfo uintptr, iCons int32, ppVal uintptr) int32 { /* sqlite3.c:155725:16: */ +func Xsqlite3_vtab_rhs_value(tls *libc.TLS, pIdxInfo uintptr, iCons int32, ppVal uintptr) int32 { /* sqlite3.c:155748:16: */ var pH uintptr = pIdxInfo + 1*64 var pVal uintptr = uintptr(0) var rc int32 = SQLITE_OK @@ -137330,7 +137357,7 @@ func Xsqlite3_vtab_rhs_value(tls *libc.TLS, pIdxInfo uintptr, iCons int32, ppVal } // Return true if ORDER BY clause may be handled as DISTINCT. -func Xsqlite3_vtab_distinct(tls *libc.TLS, pIdxInfo uintptr) int32 { /* sqlite3.c:155758:16: */ +func Xsqlite3_vtab_distinct(tls *libc.TLS, pIdxInfo uintptr) int32 { /* sqlite3.c:155781:16: */ var pHidden uintptr = pIdxInfo + 1*64 return (*HiddenIndexInfo)(unsafe.Pointer(pHidden)).FeDistinct @@ -137359,7 +137386,7 @@ func Xsqlite3_vtab_distinct(tls *libc.TLS, pIdxInfo uintptr) int32 { /* sqlite3. // Conversely, all tables in mUnusable must be scanned after the current // virtual table, so any terms for which the prerequisites overlap with // mUnusable should always be configured as "not-usable" for xBestIndex. -func whereLoopAddVirtual(tls *libc.TLS, pBuilder uintptr, mPrereq Bitmask, mUnusable Bitmask) int32 { /* sqlite3.c:155807:12: */ +func whereLoopAddVirtual(tls *libc.TLS, pBuilder uintptr, mPrereq Bitmask, mUnusable Bitmask) int32 { /* sqlite3.c:155830:12: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -137495,7 +137522,7 @@ func whereLoopAddVirtual(tls *libc.TLS, pBuilder uintptr, mPrereq Bitmask, mUnus // Add WhereLoop entries to handle OR terms. This works for either // btrees or virtual tables. -func whereLoopAddOr(tls *libc.TLS, pBuilder uintptr, mPrereq Bitmask, mUnusable Bitmask) int32 { /* sqlite3.c:155938:12: */ +func whereLoopAddOr(tls *libc.TLS, pBuilder uintptr, mPrereq Bitmask, mUnusable Bitmask) int32 { /* sqlite3.c:155961:12: */ bp := tls.Alloc(564) defer tls.Free(564) @@ -137620,7 +137647,7 @@ func whereLoopAddOr(tls *libc.TLS, pBuilder uintptr, mPrereq Bitmask, mUnusable } // Add all WhereLoop objects for all tables -func whereLoopAddAll(tls *libc.TLS, pBuilder uintptr) int32 { /* sqlite3.c:156064:12: */ +func whereLoopAddAll(tls *libc.TLS, pBuilder uintptr) int32 { /* sqlite3.c:156087:12: */ var pWInfo uintptr = (*WhereLoopBuilder)(unsafe.Pointer(pBuilder)).FpWInfo var mPrereq Bitmask = uint64(0) var mPrior Bitmask = uint64(0) @@ -137708,7 +137735,7 @@ __3: // as equivalent rows are grouped together. Thus for GROUP BY and DISTINCT // the pOrderBy terms can be matched in any order. With ORDER BY, the // pOrderBy terms must be matched in strict left-to-right order. -func wherePathSatisfiesOrderBy(tls *libc.TLS, pWInfo uintptr, pOrderBy uintptr, pPath uintptr, wctrlFlags U16, nLoop U16, pLast uintptr, pRevMask uintptr) I8 { /* sqlite3.c:156142:11: */ +func wherePathSatisfiesOrderBy(tls *libc.TLS, pWInfo uintptr, pOrderBy uintptr, pPath uintptr, wctrlFlags U16, nLoop U16, pLast uintptr, pRevMask uintptr) I8 { /* sqlite3.c:156165:11: */ var revSet U8 // True if rev is known var rev U8 // Composite sort order var revIdx U8 // Index sort order @@ -138076,7 +138103,7 @@ func wherePathSatisfiesOrderBy(tls *libc.TLS, pWInfo uintptr, pOrderBy uintptr, // // SELECT * FROM t1 GROUP BY x,y ORDER BY x,y; -- IsSorted()==1 // SELECT * FROM t1 GROUP BY y,x ORDER BY y,x; -- IsSorted()==0 -func Xsqlite3WhereIsSorted(tls *libc.TLS, pWInfo uintptr) int32 { /* sqlite3.c:156487:20: */ +func Xsqlite3WhereIsSorted(tls *libc.TLS, pWInfo uintptr) int32 { /* sqlite3.c:156510:20: */ return int32(*(*uint8)(unsafe.Pointer(pWInfo + 52)) & 0x8 >> 3) } @@ -138084,7 +138111,7 @@ func Xsqlite3WhereIsSorted(tls *libc.TLS, pWInfo uintptr) int32 { /* sqlite3.c:1 // Return the cost of sorting nRow rows, assuming that the keys have // nOrderby columns and that the first nSorted columns are already in // order. -func whereSortingCost(tls *libc.TLS, pWInfo uintptr, nRow LogEst, nOrderBy int32, nSorted int32) LogEst { /* sqlite3.c:156510:15: */ +func whereSortingCost(tls *libc.TLS, pWInfo uintptr, nRow LogEst, nOrderBy int32, nSorted int32) LogEst { /* sqlite3.c:156533:15: */ // TUNING: Estimated cost of a full external sort, where N is // the number of rows to sort is: // @@ -138131,7 +138158,7 @@ func whereSortingCost(tls *libc.TLS, pWInfo uintptr, nRow LogEst, nOrderBy int32 // // Return SQLITE_OK on success or SQLITE_NOMEM of a memory allocation // error occurs. -func wherePathSolver(tls *libc.TLS, pWInfo uintptr, nRowEst LogEst) int32 { /* sqlite3.c:156563:12: */ +func wherePathSolver(tls *libc.TLS, pWInfo uintptr, nRowEst LogEst) int32 { /* sqlite3.c:156586:12: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -138538,7 +138565,7 @@ __3: // Return non-zero on success, if this query can be handled by this // no-frills query planner. Return zero if this query needs the // general-purpose query planner. -func whereShortCut(tls *libc.TLS, pBuilder uintptr) int32 { /* sqlite3.c:156955:12: */ +func whereShortCut(tls *libc.TLS, pBuilder uintptr) int32 { /* sqlite3.c:156978:12: */ bp := tls.Alloc(96) defer tls.Free(96) @@ -138645,7 +138672,7 @@ func whereShortCut(tls *libc.TLS, pBuilder uintptr) int32 { /* sqlite3.c:156955: } // Helper function for exprIsDeterministic(). -func exprNodeIsDeterministic(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:157046:12: */ +func exprNodeIsDeterministic(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:157069:12: */ if int32((*Expr)(unsafe.Pointer(pExpr)).Fop) == TK_FUNCTION && libc.Bool32((*Expr)(unsafe.Pointer(pExpr)).Fflags&U32(EP_ConstFunc) != U32(0)) == 0 { (*Walker)(unsafe.Pointer(pWalker)).FeCode = U16(0) return WRC_Abort @@ -138656,7 +138683,7 @@ func exprNodeIsDeterministic(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int3 // Return true if the expression contains no non-deterministic SQL // functions. Do not consider non-deterministic SQL functions that are // part of sub-select statements. -func exprIsDeterministic(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:157059:12: */ +func exprIsDeterministic(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:157082:12: */ bp := tls.Alloc(28) defer tls.Free(28) @@ -138702,7 +138729,7 @@ func exprIsDeterministic(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:157059:1 // SELECT DISTINCT v1, v3 FROM t1 // LEFT JOIN t2 // LEFT JOIN t3 ON (t1.ipk=t3.ipk) -func whereOmitNoopJoin(tls *libc.TLS, pWInfo uintptr, notReady Bitmask) Bitmask { /* sqlite3.c:157120:32: */ +func whereOmitNoopJoin(tls *libc.TLS, pWInfo uintptr, notReady Bitmask) Bitmask { /* sqlite3.c:157143:32: */ var i int32 var tabUsed Bitmask @@ -138777,7 +138804,7 @@ func whereOmitNoopJoin(tls *libc.TLS, pWInfo uintptr, notReady Bitmask) Bitmask // appropriate, and if so sets the WHERE_BLOOMFILTER flag on the // WhereLoop. The implementation of the Bloom filter comes further // down where the code for each WhereLoop is generated. -func whereCheckIfBloomFilterIsUseful(tls *libc.TLS, pWInfo uintptr) { /* sqlite3.c:157199:29: */ +func whereCheckIfBloomFilterIsUseful(tls *libc.TLS, pWInfo uintptr) { /* sqlite3.c:157222:29: */ var i int32 var nSearch LogEst @@ -138889,7 +138916,7 @@ func whereCheckIfBloomFilterIsUseful(tls *libc.TLS, pWInfo uintptr) { /* sqlite3 // the first cursor in an array of cursors for all indices. iIdxCur should // be used to compute the appropriate cursor depending on which index is // used. -func Xsqlite3WhereBegin(tls *libc.TLS, pParse uintptr, pTabList uintptr, pWhere uintptr, pOrderBy uintptr, pResultSet uintptr, pLimit uintptr, wctrlFlags U16, iAuxArg int32) uintptr { /* sqlite3.c:157323:26: */ +func Xsqlite3WhereBegin(tls *libc.TLS, pParse uintptr, pTabList uintptr, pWhere uintptr, pOrderBy uintptr, pResultSet uintptr, pLimit uintptr, wctrlFlags U16, iAuxArg int32) uintptr { /* sqlite3.c:157346:26: */ bp := tls.Alloc(40) defer tls.Free(40) @@ -139574,7 +139601,7 @@ __78: // Generate the end of the WHERE loop. See comments on // sqlite3WhereBegin() for additional information. -func Xsqlite3WhereEnd(tls *libc.TLS, pWInfo uintptr) { /* sqlite3.c:157889:21: */ +func Xsqlite3WhereEnd(tls *libc.TLS, pWInfo uintptr) { /* sqlite3.c:157932:21: */ var pParse uintptr = (*WhereInfo)(unsafe.Pointer(pWInfo)).FpParse var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe var i int32 @@ -139787,12 +139814,12 @@ __4: int32((*VdbeOp)(unsafe.Pointer(pOp)).Fopcode) == OP_Offset { var x int32 = (*VdbeOp)(unsafe.Pointer(pOp)).Fp2 - if !((*Table)(unsafe.Pointer(pTab)).FtabFlags&U32(TF_WithoutRowid) == U32(0)) { + if int32((*VdbeOp)(unsafe.Pointer(pOp)).Fopcode) == OP_Offset { + // Do not need to translate the column number + } else if !((*Table)(unsafe.Pointer(pTab)).FtabFlags&U32(TF_WithoutRowid) == U32(0)) { var pPk uintptr = Xsqlite3PrimaryKeyIndex(tls, pTab) x = int32(*(*I16)(unsafe.Pointer((*Index)(unsafe.Pointer(pPk)).FaiColumn + uintptr(x)*2))) - } else if int32((*VdbeOp)(unsafe.Pointer(pOp)).Fopcode) == OP_Offset { - // Do not need to translate the column number } else { x = int32(Xsqlite3StorageColumnToTable(tls, pTab, int16(x))) @@ -139802,8 +139829,12 @@ __4: (*VdbeOp)(unsafe.Pointer(pOp)).Fp2 = x (*VdbeOp)(unsafe.Pointer(pOp)).Fp1 = (*WhereLevel)(unsafe.Pointer(pLevel)).FiIdxCur - } + } else { + // Unable to translate the table reference into an index + // reference. Verify that this is harmless - that the + // table being referenced really is open. + } } else if int32((*VdbeOp)(unsafe.Pointer(pOp)).Fopcode) == OP_Rowid { (*VdbeOp)(unsafe.Pointer(pOp)).Fp1 = (*WhereLevel)(unsafe.Pointer(pLevel)).FiIdxCur (*VdbeOp)(unsafe.Pointer(pOp)).Fopcode = U8(OP_IdxRowid) @@ -139974,7 +140005,7 @@ __6: // window frame has been coerced to: // // ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW -func row_numberStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158331:13: */ +func row_numberStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158388:13: */ var p uintptr = Xsqlite3_aggregate_context(tls, pCtx, int32(unsafe.Sizeof(I64(0)))) if p != 0 { *(*I64)(unsafe.Pointer(p))++ @@ -139983,7 +140014,7 @@ func row_numberStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) _ = apArg } -func row_numberValueFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158341:13: */ +func row_numberValueFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158398:13: */ var p uintptr = Xsqlite3_aggregate_context(tls, pCtx, int32(unsafe.Sizeof(I64(0)))) Xsqlite3_result_int64(tls, pCtx, func() int64 { if p != 0 { @@ -139999,13 +140030,13 @@ type CallCount = struct { FnValue I64 FnStep I64 FnTotal I64 -} /* sqlite3.c:158350:1 */ +} /* sqlite3.c:158407:1 */ // Implementation of built-in window function dense_rank(). Assumes that // the window frame has been set to: // // RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW -func dense_rankStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158362:13: */ +func dense_rankStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158419:13: */ var p uintptr p = Xsqlite3_aggregate_context(tls, pCtx, int32(unsafe.Sizeof(CallCount{}))) if p != 0 { @@ -140015,7 +140046,7 @@ func dense_rankStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) _ = apArg } -func dense_rankValueFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158373:13: */ +func dense_rankValueFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158430:13: */ var p uintptr p = Xsqlite3_aggregate_context(tls, pCtx, int32(unsafe.Sizeof(CallCount{}))) if p != 0 { @@ -140033,9 +140064,9 @@ func dense_rankValueFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158373:13: type NthValueCtx = struct { FnStep I64 FpValue uintptr -} /* sqlite3.c:158390:1 */ +} /* sqlite3.c:158447:1 */ -func nth_valueStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158394:13: */ +func nth_valueStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158451:13: */ var p uintptr var fVal float64 var iVal I64 @@ -140101,7 +140132,7 @@ error_out: pCtx, ts+21899, -1) } -func nth_valueFinalizeFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158435:13: */ +func nth_valueFinalizeFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158492:13: */ var p uintptr p = Xsqlite3_aggregate_context(tls, pCtx, 0) if p != 0 && (*NthValueCtx)(unsafe.Pointer(p)).FpValue != 0 { @@ -140111,7 +140142,7 @@ func nth_valueFinalizeFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158435:13 } } -func first_valueStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158447:13: */ +func first_valueStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158504:13: */ var p uintptr p = Xsqlite3_aggregate_context(tls, pCtx, int32(unsafe.Sizeof(NthValueCtx{}))) if p != 0 && (*NthValueCtx)(unsafe.Pointer(p)).FpValue == uintptr(0) { @@ -140124,7 +140155,7 @@ func first_valueStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) _ = apArg } -func first_valueFinalizeFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158463:13: */ +func first_valueFinalizeFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158520:13: */ var p uintptr p = Xsqlite3_aggregate_context(tls, pCtx, int32(unsafe.Sizeof(NthValueCtx{}))) if p != 0 && (*NthValueCtx)(unsafe.Pointer(p)).FpValue != 0 { @@ -140138,7 +140169,7 @@ func first_valueFinalizeFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158463: // the window frame has been set to: // // RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW -func rankStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158481:13: */ +func rankStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158538:13: */ var p uintptr p = Xsqlite3_aggregate_context(tls, pCtx, int32(unsafe.Sizeof(CallCount{}))) if p != 0 { @@ -140151,7 +140182,7 @@ func rankStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* s _ = apArg } -func rankValueFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158497:13: */ +func rankValueFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158554:13: */ var p uintptr p = Xsqlite3_aggregate_context(tls, pCtx, int32(unsafe.Sizeof(CallCount{}))) if p != 0 { @@ -140164,7 +140195,7 @@ func rankValueFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158497:13: */ // the window frame has been set to: // // GROUPS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING -func percent_rankStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158512:13: */ +func percent_rankStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158569:13: */ var p uintptr _ = nArg _ = apArg @@ -140174,7 +140205,7 @@ func percent_rankStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr } } -func percent_rankInvFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158525:13: */ +func percent_rankInvFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158582:13: */ var p uintptr _ = nArg _ = apArg @@ -140182,7 +140213,7 @@ func percent_rankInvFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) (*CallCount)(unsafe.Pointer(p)).FnStep++ } -func percent_rankValueFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158536:13: */ +func percent_rankValueFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158593:13: */ var p uintptr p = Xsqlite3_aggregate_context(tls, pCtx, int32(unsafe.Sizeof(CallCount{}))) if p != 0 { @@ -140200,7 +140231,7 @@ func percent_rankValueFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158536:13 // the window frame has been set to: // // GROUPS BETWEEN 1 FOLLOWING AND UNBOUNDED FOLLOWING -func cume_distStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158557:13: */ +func cume_distStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158614:13: */ var p uintptr _ = nArg _ = apArg @@ -140210,7 +140241,7 @@ func cume_distStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { } } -func cume_distInvFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158570:13: */ +func cume_distInvFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158627:13: */ var p uintptr _ = nArg _ = apArg @@ -140218,7 +140249,7 @@ func cume_distInvFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { (*CallCount)(unsafe.Pointer(p)).FnStep++ } -func cume_distValueFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158581:13: */ +func cume_distValueFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158638:13: */ var p uintptr p = Xsqlite3_aggregate_context(tls, pCtx, 0) if p != 0 { @@ -140232,13 +140263,13 @@ type NtileCtx = struct { FnTotal I64 FnParam I64 FiRow I64 -} /* sqlite3.c:158594:1 */ +} /* sqlite3.c:158651:1 */ // Implementation of ntile(). This assumes that the window frame has // been coerced to: // // ROWS CURRENT ROW AND UNBOUNDED FOLLOWING -func ntileStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158606:13: */ +func ntileStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158663:13: */ var p uintptr _ = nArg p = Xsqlite3_aggregate_context(tls, pCtx, int32(unsafe.Sizeof(NtileCtx{}))) @@ -140254,7 +140285,7 @@ func ntileStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* } } -func ntileInvFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158626:13: */ +func ntileInvFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158683:13: */ var p uintptr _ = nArg _ = apArg @@ -140262,7 +140293,7 @@ func ntileInvFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* s (*NtileCtx)(unsafe.Pointer(p)).FiRow++ } -func ntileValueFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158637:13: */ +func ntileValueFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158694:13: */ var p uintptr p = Xsqlite3_aggregate_context(tls, pCtx, int32(unsafe.Sizeof(NtileCtx{}))) if p != 0 && (*NtileCtx)(unsafe.Pointer(p)).FnParam > int64(0) { @@ -140287,10 +140318,10 @@ func ntileValueFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158637:13: */ type LastValueCtx = struct { FpVal uintptr FnVal int32 -} /* sqlite3.c:158664:1 */ +} /* sqlite3.c:158721:1 */ // Implementation of last_value(). -func last_valueStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158672:13: */ +func last_valueStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158729:13: */ var p uintptr _ = nArg p = Xsqlite3_aggregate_context(tls, pCtx, int32(unsafe.Sizeof(LastValueCtx{}))) @@ -140305,7 +140336,7 @@ func last_valueStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) } } -func last_valueInvFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158690:13: */ +func last_valueInvFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158747:13: */ var p uintptr _ = nArg _ = apArg @@ -140319,7 +140350,7 @@ func last_valueInvFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { } } -func last_valueValueFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158707:13: */ +func last_valueValueFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158764:13: */ var p uintptr p = Xsqlite3_aggregate_context(tls, pCtx, 0) if p != 0 && (*LastValueCtx)(unsafe.Pointer(p)).FpVal != 0 { @@ -140327,7 +140358,7 @@ func last_valueValueFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158707:13: } } -func last_valueFinalizeFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158714:13: */ +func last_valueFinalizeFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158771:13: */ var p uintptr p = Xsqlite3_aggregate_context(tls, pCtx, int32(unsafe.Sizeof(LastValueCtx{}))) if p != 0 && (*LastValueCtx)(unsafe.Pointer(p)).FpVal != 0 { @@ -140343,17 +140374,17 @@ func last_valueFinalizeFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158714:1 // comparison of the zName pointer. Example: // // if( pFuncDef->zName==row_valueName ){ ... } -var row_numberName = *(*[11]int8)(unsafe.Pointer(ts + 22000)) /* sqlite3.c:158732:19 */ -var dense_rankName = *(*[11]int8)(unsafe.Pointer(ts + 22011)) /* sqlite3.c:158733:19 */ -var rankName = *(*[5]int8)(unsafe.Pointer(ts + 22022)) /* sqlite3.c:158734:19 */ -var percent_rankName = *(*[13]int8)(unsafe.Pointer(ts + 22027)) /* sqlite3.c:158735:19 */ -var cume_distName = *(*[10]int8)(unsafe.Pointer(ts + 22040)) /* sqlite3.c:158736:19 */ -var ntileName = *(*[6]int8)(unsafe.Pointer(ts + 22050)) /* sqlite3.c:158737:19 */ -var last_valueName = *(*[11]int8)(unsafe.Pointer(ts + 22056)) /* sqlite3.c:158738:19 */ -var nth_valueName = *(*[10]int8)(unsafe.Pointer(ts + 22067)) /* sqlite3.c:158739:19 */ -var first_valueName = *(*[12]int8)(unsafe.Pointer(ts + 22077)) /* sqlite3.c:158740:19 */ -var leadName = *(*[5]int8)(unsafe.Pointer(ts + 22089)) /* sqlite3.c:158741:19 */ -var lagName = *(*[4]int8)(unsafe.Pointer(ts + 22094 /* "lag" */)) /* sqlite3.c:158742:19 */ +var row_numberName = *(*[11]int8)(unsafe.Pointer(ts + 22000)) /* sqlite3.c:158789:19 */ +var dense_rankName = *(*[11]int8)(unsafe.Pointer(ts + 22011)) /* sqlite3.c:158790:19 */ +var rankName = *(*[5]int8)(unsafe.Pointer(ts + 22022)) /* sqlite3.c:158791:19 */ +var percent_rankName = *(*[13]int8)(unsafe.Pointer(ts + 22027)) /* sqlite3.c:158792:19 */ +var cume_distName = *(*[10]int8)(unsafe.Pointer(ts + 22040)) /* sqlite3.c:158793:19 */ +var ntileName = *(*[6]int8)(unsafe.Pointer(ts + 22050)) /* sqlite3.c:158794:19 */ +var last_valueName = *(*[11]int8)(unsafe.Pointer(ts + 22056)) /* sqlite3.c:158795:19 */ +var nth_valueName = *(*[10]int8)(unsafe.Pointer(ts + 22067)) /* sqlite3.c:158796:19 */ +var first_valueName = *(*[12]int8)(unsafe.Pointer(ts + 22077)) /* sqlite3.c:158797:19 */ +var leadName = *(*[5]int8)(unsafe.Pointer(ts + 22089)) /* sqlite3.c:158798:19 */ +var lagName = *(*[4]int8)(unsafe.Pointer(ts + 22094 /* "lag" */)) /* sqlite3.c:158799:19 */ // No-op implementations of xStep() and xFinalize(). Used as place-holders // for built-in window functions that never call those interfaces. @@ -140362,7 +140393,7 @@ var lagName = *(*[4]int8)(unsafe.Pointer(ts + 22094 /* "lag" */)) /* sqlite3.c:1 // noopStepFunc() is never called, and so it is marked with NO_TEST to // let the test coverage routine know not to expect this function to be // invoked. -func noopStepFunc(tls *libc.TLS, p uintptr, n int32, a uintptr) { /* sqlite3.c:158753:13: */ //NO_TEST +func noopStepFunc(tls *libc.TLS, p uintptr, n int32, a uintptr) { /* sqlite3.c:158810:13: */ //NO_TEST _ = p //NO_TEST _ = n //NO_TEST _ = a //NO_TEST @@ -140370,7 +140401,7 @@ func noopStepFunc(tls *libc.TLS, p uintptr, n int32, a uintptr) { /* sqlite3.c:1 } //NO_TEST -func noopValueFunc(tls *libc.TLS, p uintptr) { /* sqlite3.c:158763:13: */ +func noopValueFunc(tls *libc.TLS, p uintptr) { /* sqlite3.c:158820:13: */ _ = p /*no-op*/ } @@ -140385,7 +140416,7 @@ func noopValueFunc(tls *libc.TLS, p uintptr) { /* sqlite3.c:158763:13: */ // xInverse. // Register those built-in window functions that are not also aggregates. -func Xsqlite3WindowFunctions(tls *libc.TLS) { /* sqlite3.c:158794:21: */ +func Xsqlite3WindowFunctions(tls *libc.TLS) { /* sqlite3.c:158851:21: */ Xsqlite3InsertBuiltinFuncs(tls, uintptr(unsafe.Pointer(&aWindowFuncs)), int32(uint32(unsafe.Sizeof(aWindowFuncs))/uint32(unsafe.Sizeof(FuncDef{})))) } @@ -140404,9 +140435,9 @@ var aWindowFuncs = [15]FuncDef{ {FnArg: int8(3), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_UTF8 | SQLITE_FUNC_WINDOW | 0), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: 0}, {FnArg: int8(1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_UTF8 | SQLITE_FUNC_WINDOW | 0), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: 0}, {FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_UTF8 | SQLITE_FUNC_WINDOW | 0), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: 0}, - {FnArg: int8(3), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_UTF8 | SQLITE_FUNC_WINDOW | 0), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: 0}} /* sqlite3.c:158795:18 */ + {FnArg: int8(3), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_UTF8 | SQLITE_FUNC_WINDOW | 0), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: 0}} /* sqlite3.c:158852:18 */ -func windowFind(tls *libc.TLS, pParse uintptr, pList uintptr, zName uintptr) uintptr { /* sqlite3.c:158815:15: */ +func windowFind(tls *libc.TLS, pParse uintptr, pList uintptr, zName uintptr) uintptr { /* sqlite3.c:158872:15: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -140437,7 +140468,7 @@ func windowFind(tls *libc.TLS, pParse uintptr, pList uintptr, zName uintptr) uin // * If the function is a built-in window function that requires the // window to be coerced (see "BUILT-IN WINDOW FUNCTIONS" at the top // of this file), pWin is updated here. -func Xsqlite3WindowUpdate(tls *libc.TLS, pParse uintptr, pList uintptr, pWin uintptr, pFunc uintptr) { /* sqlite3.c:158843:21: */ +func Xsqlite3WindowUpdate(tls *libc.TLS, pParse uintptr, pList uintptr, pWin uintptr, pFunc uintptr) { /* sqlite3.c:158900:21: */ bp := tls.Alloc(128) defer tls.Free(128) @@ -140504,16 +140535,16 @@ type WindowUpdate = struct { FeFrmType int32 FeStart int32 FeEnd int32 -} /* sqlite3.c:158878:7 */ +} /* sqlite3.c:158935:7 */ // Context object passed through sqlite3WalkExprList() to // selectWindowRewriteExprCb() by selectWindowRewriteEList(). -type WindowRewrite = WindowRewrite1 /* sqlite3.c:158918:30 */ +type WindowRewrite = WindowRewrite1 /* sqlite3.c:158975:30 */ // Callback function used by selectWindowRewriteEList(). If necessary, // this function appends to the output expression-list and updates // expression (*ppExpr) in place. -func selectWindowRewriteExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:158932:12: */ +func selectWindowRewriteExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:158989:12: */ var p uintptr = *(*uintptr)(unsafe.Pointer(pWalker + 24)) var pParse uintptr = (*Walker)(unsafe.Pointer(pWalker)).FpParse @@ -140612,7 +140643,7 @@ func selectWindowRewriteExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) in return WRC_Continue } -func selectWindowRewriteSelectCb(tls *libc.TLS, pWalker uintptr, pSelect uintptr) int32 { /* sqlite3.c:159014:12: */ +func selectWindowRewriteSelectCb(tls *libc.TLS, pWalker uintptr, pSelect uintptr) int32 { /* sqlite3.c:159071:12: */ var p uintptr = *(*uintptr)(unsafe.Pointer(pWalker + 24)) var pSave uintptr = (*WindowRewrite1)(unsafe.Pointer(p)).FpSubSelect if pSave == pSelect { @@ -140636,7 +140667,7 @@ func selectWindowRewriteSelectCb(tls *libc.TLS, pWalker uintptr, pSelect uintptr // with a TK_COLUMN that reads the (N-1)th element of table // pWin->iEphCsr, where N is the number of elements in (*ppSub) after // appending the new one. -func selectWindowRewriteEList(tls *libc.TLS, pParse uintptr, pWin uintptr, pSrc uintptr, pEList uintptr, pTab uintptr, ppSub uintptr) { /* sqlite3.c:159041:13: */ +func selectWindowRewriteEList(tls *libc.TLS, pParse uintptr, pWin uintptr, pSrc uintptr, pEList uintptr, pTab uintptr, ppSub uintptr) { /* sqlite3.c:159098:13: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -140668,7 +140699,7 @@ func selectWindowRewriteEList(tls *libc.TLS, pParse uintptr, pWin uintptr, pSrc // Append a copy of each expression in expression-list pAppend to // expression list pList. Return a pointer to the result list. -func exprListAppendList(tls *libc.TLS, pParse uintptr, pList uintptr, pAppend uintptr, bIntToNull int32) uintptr { /* sqlite3.c:159075:17: */ +func exprListAppendList(tls *libc.TLS, pParse uintptr, pList uintptr, pAppend uintptr, bIntToNull int32) uintptr { /* sqlite3.c:159132:17: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -140714,7 +140745,7 @@ func exprListAppendList(tls *libc.TLS, pParse uintptr, pList uintptr, pAppend ui // due to the extra subquery layer that was added. // // See also the incrAggDepth() routine in resolve.c -func sqlite3WindowExtraAggFuncDepth(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:159117:12: */ +func sqlite3WindowExtraAggFuncDepth(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:159174:12: */ if int32((*Expr)(unsafe.Pointer(pExpr)).Fop) == TK_AGG_FUNCTION && int32((*Expr)(unsafe.Pointer(pExpr)).Fop2) >= (*Walker)(unsafe.Pointer(pWalker)).FwalkerDepth { (*Expr)(unsafe.Pointer(pExpr)).Fop2++ @@ -140722,7 +140753,7 @@ func sqlite3WindowExtraAggFuncDepth(tls *libc.TLS, pWalker uintptr, pExpr uintpt return WRC_Continue } -func disallowAggregatesInOrderByCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:159126:12: */ +func disallowAggregatesInOrderByCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:159183:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -140739,7 +140770,7 @@ func disallowAggregatesInOrderByCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr // rewrites the SELECT statement so that window function xStep functions // are invoked in the correct order as described under "SELECT REWRITING" // at the top of this file. -func Xsqlite3WindowRewrite(tls *libc.TLS, pParse uintptr, p uintptr) int32 { /* sqlite3.c:159142:20: */ +func Xsqlite3WindowRewrite(tls *libc.TLS, pParse uintptr, p uintptr) int32 { /* sqlite3.c:159199:20: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -140923,7 +140954,7 @@ func Xsqlite3WindowRewrite(tls *libc.TLS, pParse uintptr, p uintptr) int32 { /* // Unlink the Window object from the Select to which it is attached, // if it is attached. -func Xsqlite3WindowUnlinkFromSelect(tls *libc.TLS, p uintptr) { /* sqlite3.c:159306:21: */ +func Xsqlite3WindowUnlinkFromSelect(tls *libc.TLS, p uintptr) { /* sqlite3.c:159363:21: */ if (*Window)(unsafe.Pointer(p)).FppThis != 0 { *(*uintptr)(unsafe.Pointer((*Window)(unsafe.Pointer(p)).FppThis)) = (*Window)(unsafe.Pointer(p)).FpNextWin if (*Window)(unsafe.Pointer(p)).FpNextWin != 0 { @@ -140934,7 +140965,7 @@ func Xsqlite3WindowUnlinkFromSelect(tls *libc.TLS, p uintptr) { /* sqlite3.c:159 } // Free the Window object passed as the second argument. -func Xsqlite3WindowDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:159317:21: */ +func Xsqlite3WindowDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:159374:21: */ if p != 0 { Xsqlite3WindowUnlinkFromSelect(tls, p) Xsqlite3ExprDelete(tls, db, (*Window)(unsafe.Pointer(p)).FpFilter) @@ -140949,7 +140980,7 @@ func Xsqlite3WindowDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:1 } // Free the linked list of Window objects starting at the second argument. -func Xsqlite3WindowListDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:159334:21: */ +func Xsqlite3WindowListDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:159391:21: */ for p != 0 { var pNext uintptr = (*Window)(unsafe.Pointer(p)).FpNextWin Xsqlite3WindowDelete(tls, db, p) @@ -140962,7 +140993,7 @@ func Xsqlite3WindowListDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3 // constant, change it to NULL. The fact that it is then a non-negative // integer will be caught later. But it is important not to leave // variable values in the expression tree. -func sqlite3WindowOffsetExpr(tls *libc.TLS, pParse uintptr, pExpr uintptr) uintptr { /* sqlite3.c:159349:13: */ +func sqlite3WindowOffsetExpr(tls *libc.TLS, pParse uintptr, pExpr uintptr) uintptr { /* sqlite3.c:159406:13: */ if 0 == Xsqlite3ExprIsConstant(tls, pExpr) { if int32((*Parse)(unsafe.Pointer(pParse)).FeParseMode) >= PARSE_MODE_RENAME { Xsqlite3RenameExprUnmap(tls, pParse, pExpr) @@ -140974,7 +141005,7 @@ func sqlite3WindowOffsetExpr(tls *libc.TLS, pParse uintptr, pExpr uintptr) uintp } // Allocate and return a new Window object describing a Window Definition. -func Xsqlite3WindowAlloc(tls *libc.TLS, pParse uintptr, eType int32, eStart int32, pStart uintptr, eEnd int32, pEnd uintptr, eExclude U8) uintptr { /* sqlite3.c:159361:23: */ +func Xsqlite3WindowAlloc(tls *libc.TLS, pParse uintptr, eType int32, eStart int32, pStart uintptr, eEnd int32, pEnd uintptr, eExclude U8) uintptr { /* sqlite3.c:159418:23: */ var pWin uintptr var bImplicitFrame int32 pWin = uintptr(0) @@ -141043,7 +141074,7 @@ windowAllocErr: // Attach PARTITION and ORDER BY clauses pPartition and pOrderBy to window // pWin. Also, if parameter pBase is not NULL, set pWin->zBase to the // equivalent nul-terminated string. -func Xsqlite3WindowAssemble(tls *libc.TLS, pParse uintptr, pWin uintptr, pPartition uintptr, pOrderBy uintptr, pBase uintptr) uintptr { /* sqlite3.c:159433:23: */ +func Xsqlite3WindowAssemble(tls *libc.TLS, pParse uintptr, pWin uintptr, pPartition uintptr, pOrderBy uintptr, pBase uintptr) uintptr { /* sqlite3.c:159490:23: */ if pWin != 0 { (*Window)(unsafe.Pointer(pWin)).FpPartition = pPartition (*Window)(unsafe.Pointer(pWin)).FpOrderBy = pOrderBy @@ -141062,7 +141093,7 @@ func Xsqlite3WindowAssemble(tls *libc.TLS, pParse uintptr, pWin uintptr, pPartit // stored in the linked list starting at pWin->pNextWin. This function // either updates *pWin according to the base specification, or else // leaves an error in pParse. -func Xsqlite3WindowChain(tls *libc.TLS, pParse uintptr, pWin uintptr, pList uintptr) { /* sqlite3.c:159460:21: */ +func Xsqlite3WindowChain(tls *libc.TLS, pParse uintptr, pWin uintptr, pList uintptr) { /* sqlite3.c:159517:21: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -141096,7 +141127,7 @@ func Xsqlite3WindowChain(tls *libc.TLS, pParse uintptr, pWin uintptr, pList uint } // Attach window object pWin to expression p. -func Xsqlite3WindowAttach(tls *libc.TLS, pParse uintptr, p uintptr, pWin uintptr) { /* sqlite3.c:159494:21: */ +func Xsqlite3WindowAttach(tls *libc.TLS, pParse uintptr, p uintptr, pWin uintptr) { /* sqlite3.c:159551:21: */ if p != 0 { *(*uintptr)(unsafe.Pointer(p + 44)) = pWin @@ -141115,7 +141146,7 @@ func Xsqlite3WindowAttach(tls *libc.TLS, pParse uintptr, p uintptr, pWin uintptr // to be processed as part of SELECT statement pSel). The window is linked // in if either (a) there are no other windows already linked to this // SELECT, or (b) the windows already linked use a compatible window frame. -func Xsqlite3WindowLink(tls *libc.TLS, pSel uintptr, pWin uintptr) { /* sqlite3.c:159517:21: */ +func Xsqlite3WindowLink(tls *libc.TLS, pSel uintptr, pWin uintptr) { /* sqlite3.c:159574:21: */ if pSel != 0 { if uintptr(0) == (*Select)(unsafe.Pointer(pSel)).FpWin || 0 == Xsqlite3WindowCompare(tls, uintptr(0), (*Select)(unsafe.Pointer(pSel)).FpWin, pWin, 0) { (*Window)(unsafe.Pointer(pWin)).FpNextWin = (*Select)(unsafe.Pointer(pSel)).FpWin @@ -141135,7 +141166,7 @@ func Xsqlite3WindowLink(tls *libc.TLS, pSel uintptr, pWin uintptr) { /* sqlite3. // Return 0 if the two window objects are identical, 1 if they are // different, or 2 if it cannot be determined if the objects are identical // or not. Identical window objects can be processed in a single scan. -func Xsqlite3WindowCompare(tls *libc.TLS, pParse uintptr, p1 uintptr, p2 uintptr, bFilter int32) int32 { /* sqlite3.c:159539:20: */ +func Xsqlite3WindowCompare(tls *libc.TLS, pParse uintptr, p1 uintptr, p2 uintptr, bFilter int32) int32 { /* sqlite3.c:159596:20: */ var res int32 if p1 == uintptr(0) || p2 == uintptr(0) { return 1 @@ -141175,7 +141206,7 @@ func Xsqlite3WindowCompare(tls *libc.TLS, pParse uintptr, p1 uintptr, p2 uintptr // This is called by code in select.c before it calls sqlite3WhereBegin() // to begin iterating through the sub-query results. It is used to allocate // and initialize registers and cursors used by sqlite3WindowCodeStep(). -func Xsqlite3WindowCodeInit(tls *libc.TLS, pParse uintptr, pSelect uintptr) { /* sqlite3.c:159573:21: */ +func Xsqlite3WindowCodeInit(tls *libc.TLS, pParse uintptr, pSelect uintptr) { /* sqlite3.c:159630:21: */ var nEphExpr int32 = (*ExprList)(unsafe.Pointer((*Select)(unsafe.Pointer((*SrcItem)(unsafe.Pointer((*Select)(unsafe.Pointer(pSelect)).FpSrc + 8)).FpSelect)).FpEList)).FnExpr var pMWin uintptr = (*Select)(unsafe.Pointer(pSelect)).FpWin var pWin uintptr @@ -141251,7 +141282,7 @@ func Xsqlite3WindowCodeInit(tls *libc.TLS, pParse uintptr, pSelect uintptr) { /* // evaluated and the result left in register reg. This function generates VM // code to check that the value is a non-negative integer and throws an // exception if it is not. -func windowCheckValue(tls *libc.TLS, pParse uintptr, reg int32, eCond int32) { /* sqlite3.c:159660:13: */ +func windowCheckValue(tls *libc.TLS, pParse uintptr, reg int32, eCond int32) { /* sqlite3.c:159717:13: */ var v uintptr = Xsqlite3GetVdbe(tls, pParse) var regZero int32 = Xsqlite3GetTempReg(tls, pParse) @@ -141285,12 +141316,12 @@ var azErr = [5]uintptr{ ts + 21899, ts + 22546, ts + 22598, -} /* sqlite3.c:159661:21 */ -var aOp1 = [5]int32{OP_Ge, OP_Ge, OP_Gt, OP_Ge, OP_Ge} /* sqlite3.c:159668:14 */ +} /* sqlite3.c:159718:21 */ +var aOp1 = [5]int32{OP_Ge, OP_Ge, OP_Gt, OP_Ge, OP_Ge} /* sqlite3.c:159725:14 */ // Return the number of arguments passed to the window-function associated // with the object passed as the only argument to this function. -func windowArgCount(tls *libc.TLS, pWin uintptr) int32 { /* sqlite3.c:159707:12: */ +func windowArgCount(tls *libc.TLS, pWin uintptr) int32 { /* sqlite3.c:159764:12: */ var pList uintptr pList = *(*uintptr)(unsafe.Pointer((*Window)(unsafe.Pointer(pWin)).FpOwner + 20)) @@ -141314,19 +141345,19 @@ type WindowCodeArg1 = struct { Fstart WindowCsrAndReg Fcurrent WindowCsrAndReg Fend WindowCsrAndReg -} /* sqlite3.c:159714:9 */ +} /* sqlite3.c:159771:9 */ -type WindowCodeArg = WindowCodeArg1 /* sqlite3.c:159714:30 */ +type WindowCodeArg = WindowCodeArg1 /* sqlite3.c:159771:30 */ type WindowCsrAndReg1 = struct { Fcsr int32 Freg int32 -} /* sqlite3.c:159714:9 */ +} /* sqlite3.c:159771:9 */ -type WindowCsrAndReg = WindowCsrAndReg1 /* sqlite3.c:159715:32 */ +type WindowCsrAndReg = WindowCsrAndReg1 /* sqlite3.c:159772:32 */ // Generate VM code to read the window frames peer values from cursor csr into // an array of registers starting at reg. -func windowReadPeerValues(tls *libc.TLS, p uintptr, csr int32, reg int32) { /* sqlite3.c:159799:13: */ +func windowReadPeerValues(tls *libc.TLS, p uintptr, csr int32, reg int32) { /* sqlite3.c:159856:13: */ var pMWin uintptr = (*WindowCodeArg)(unsafe.Pointer(p)).FpMWin var pOrderBy uintptr = (*Window)(unsafe.Pointer(pMWin)).FpOrderBy if pOrderBy != 0 { @@ -141362,7 +141393,7 @@ func windowReadPeerValues(tls *libc.TLS, p uintptr, csr int32, reg int32) { /* s // // If argument regPartSize is non-zero, then it is a register containing the // number of rows in the current partition. -func windowAggStep(tls *libc.TLS, p uintptr, pMWin uintptr, csr int32, bInverse int32, reg int32) { /* sqlite3.c:159836:13: */ +func windowAggStep(tls *libc.TLS, p uintptr, pMWin uintptr, csr int32, bInverse int32, reg int32) { /* sqlite3.c:159893:13: */ var pParse uintptr = (*WindowCodeArg)(unsafe.Pointer(p)).FpParse var v uintptr = Xsqlite3GetVdbe(tls, pParse) var pWin uintptr @@ -141469,7 +141500,7 @@ func windowAggStep(tls *libc.TLS, p uintptr, pMWin uintptr, csr int32, bInverse // (bFin==1) for each window function in the linked list starting at // pMWin. Or, for built-in window-functions that do not use the standard // API, generate the equivalent VM code. -func windowAggFinal(tls *libc.TLS, p uintptr, bFin int32) { /* sqlite3.c:159953:13: */ +func windowAggFinal(tls *libc.TLS, p uintptr, bFin int32) { /* sqlite3.c:160010:13: */ var pParse uintptr = (*WindowCodeArg)(unsafe.Pointer(p)).FpParse var pMWin uintptr = (*WindowCodeArg)(unsafe.Pointer(p)).FpMWin var v uintptr = Xsqlite3GetVdbe(tls, pParse) @@ -141505,7 +141536,7 @@ func windowAggFinal(tls *libc.TLS, p uintptr, bFin int32) { /* sqlite3.c:159953: // p->pMWin list by doing a full scan of the current window frame. Store the // results in the Window.regResult registers, ready to return the upper // layer. -func windowFullScan(tls *libc.TLS, p uintptr) { /* sqlite3.c:159992:13: */ +func windowFullScan(tls *libc.TLS, p uintptr) { /* sqlite3.c:160049:13: */ var pWin uintptr var pParse uintptr = (*WindowCodeArg)(unsafe.Pointer(p)).FpParse var pMWin uintptr = (*WindowCodeArg)(unsafe.Pointer(p)).FpMWin @@ -141612,7 +141643,7 @@ func windowFullScan(tls *libc.TLS, p uintptr) { /* sqlite3.c:159992:13: */ // first_value() // lag() // lead() -func windowReturnOneRow(tls *libc.TLS, p uintptr) { /* sqlite3.c:160098:13: */ +func windowReturnOneRow(tls *libc.TLS, p uintptr) { /* sqlite3.c:160155:13: */ var pMWin uintptr = (*WindowCodeArg)(unsafe.Pointer(p)).FpMWin var v uintptr = (*WindowCodeArg)(unsafe.Pointer(p)).FpVdbe @@ -141695,7 +141726,7 @@ func windowReturnOneRow(tls *libc.TLS, p uintptr) { /* sqlite3.c:160098:13: */ // in the linked list passed as the second argument to NULL. And perform // any equivalent initialization required by any built-in window functions // in the list. -func windowInitAccum(tls *libc.TLS, pParse uintptr, pMWin uintptr) int32 { /* sqlite3.c:160175:12: */ +func windowInitAccum(tls *libc.TLS, pParse uintptr, pMWin uintptr) int32 { /* sqlite3.c:160232:12: */ var v uintptr = Xsqlite3GetVdbe(tls, pParse) var regArg int32 var nArg int32 = 0 @@ -141730,7 +141761,7 @@ func windowInitAccum(tls *libc.TLS, pParse uintptr, pMWin uintptr) int32 { /* sq // Return true if the current frame should be cached in the ephemeral table, // even if there are no xInverse() calls required. -func windowCacheFrame(tls *libc.TLS, pMWin uintptr) int32 { /* sqlite3.c:160207:12: */ +func windowCacheFrame(tls *libc.TLS, pMWin uintptr) int32 { /* sqlite3.c:160264:12: */ var pWin uintptr if (*Window)(unsafe.Pointer(pMWin)).FregStartRowid != 0 { return 1 @@ -141755,7 +141786,7 @@ func windowCacheFrame(tls *libc.TLS, pMWin uintptr) int32 { /* sqlite3.c:160207: // If the two arrays are not equal, the contents of regNew is copied to // regOld and control falls through. Otherwise, if the contents of the arrays // are equal, an OP_Goto is executed. The address of the OP_Goto is returned. -func windowIfNewPeer(tls *libc.TLS, pParse uintptr, pOrderBy uintptr, regNew int32, regOld int32, addr int32) { /* sqlite3.c:160233:13: */ +func windowIfNewPeer(tls *libc.TLS, pParse uintptr, pOrderBy uintptr, regNew int32, regOld int32, addr int32) { /* sqlite3.c:160290:13: */ var v uintptr = Xsqlite3GetVdbe(tls, pParse) if pOrderBy != 0 { var nVal int32 = (*ExprList)(unsafe.Pointer(pOrderBy)).FnExpr @@ -141792,7 +141823,7 @@ func windowIfNewPeer(tls *libc.TLS, pParse uintptr, pOrderBy uintptr, regNew int // A special type of arithmetic is used such that if csr1.peerVal is not // a numeric type (real or integer), then the result of the addition // or subtraction is a a copy of csr1.peerVal. -func windowCodeRangeTest(tls *libc.TLS, p uintptr, op int32, csr1 int32, regVal int32, csr2 int32, lbl int32) { /* sqlite3.c:160279:13: */ +func windowCodeRangeTest(tls *libc.TLS, p uintptr, op int32, csr1 int32, regVal int32, csr2 int32, lbl int32) { /* sqlite3.c:160336:13: */ var pParse uintptr = (*WindowCodeArg)(unsafe.Pointer(p)).FpParse var v uintptr = Xsqlite3GetVdbe(tls, pParse) var pOrderBy uintptr = (*Window)(unsafe.Pointer((*WindowCodeArg)(unsafe.Pointer(p)).FpMWin)).FpOrderBy // ORDER BY clause for window @@ -141915,7 +141946,7 @@ func windowCodeRangeTest(tls *libc.TLS, p uintptr, op int32, csr1 int32, regVal // generates VM code for a single RETURN_ROW, AGGSTEP or AGGINVERSE // operation. Refer to the header comment for sqlite3WindowCodeStep() for // details. -func windowCodeOp(tls *libc.TLS, p uintptr, op int32, regCountdown int32, jumpOnEof int32) int32 { /* sqlite3.c:160412:12: */ +func windowCodeOp(tls *libc.TLS, p uintptr, op int32, regCountdown int32, jumpOnEof int32) int32 { /* sqlite3.c:160469:12: */ var csr int32 var reg int32 var pParse uintptr = (*WindowCodeArg)(unsafe.Pointer(p)).FpParse @@ -142063,7 +142094,7 @@ func windowCodeOp(tls *libc.TLS, p uintptr, op int32, regCountdown int32, jumpOn // Allocate and return a duplicate of the Window object indicated by the // third argument. Set the Window.pOwner field of the new object to // pOwner. -func Xsqlite3WindowDup(tls *libc.TLS, db uintptr, pOwner uintptr, p uintptr) uintptr { /* sqlite3.c:160561:23: */ +func Xsqlite3WindowDup(tls *libc.TLS, db uintptr, pOwner uintptr, p uintptr) uintptr { /* sqlite3.c:160618:23: */ var pNew uintptr = uintptr(0) if p != 0 { pNew = Xsqlite3DbMallocZero(tls, db, uint64(unsafe.Sizeof(Window{}))) @@ -142094,7 +142125,7 @@ func Xsqlite3WindowDup(tls *libc.TLS, db uintptr, pOwner uintptr, p uintptr) uin // Return a copy of the linked list of Window objects passed as the // second argument. -func Xsqlite3WindowListDup(tls *libc.TLS, db uintptr, p uintptr) uintptr { /* sqlite3.c:160594:23: */ +func Xsqlite3WindowListDup(tls *libc.TLS, db uintptr, p uintptr) uintptr { /* sqlite3.c:160651:23: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -142119,7 +142150,7 @@ func Xsqlite3WindowListDup(tls *libc.TLS, db uintptr, p uintptr) uintptr { /* sq // // If an OOM error occurs, this function sets the Parse.db.mallocFailed // flag and returns zero. -func windowExprGtZero(tls *libc.TLS, pParse uintptr, pExpr uintptr) int32 { /* sqlite3.c:160616:12: */ +func windowExprGtZero(tls *libc.TLS, pParse uintptr, pExpr uintptr) int32 { /* sqlite3.c:160673:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -142467,7 +142498,7 @@ func windowExprGtZero(tls *libc.TLS, pParse uintptr, pExpr uintptr) int32 { /* s // // The text above leaves out many details. Refer to the code and comments // below for a more complete picture. -func Xsqlite3WindowCodeStep(tls *libc.TLS, pParse uintptr, p uintptr, pWInfo uintptr, regGosub int32, addrGosub int32) { /* sqlite3.c:160963:21: */ +func Xsqlite3WindowCodeStep(tls *libc.TLS, pParse uintptr, p uintptr, pWInfo uintptr, regGosub int32, addrGosub int32) { /* sqlite3.c:161020:21: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -142863,16 +142894,16 @@ func Xsqlite3WindowCodeStep(tls *libc.TLS, pParse uintptr, p uintptr, pWInfo uin type TrigEvent = struct { Fa int32 Fb uintptr -} /* sqlite3.c:161363:1 */ +} /* sqlite3.c:161420:1 */ type FrameBound = struct { FeType int32 FpExpr uintptr -} /* sqlite3.c:161365:1 */ +} /* sqlite3.c:161422:1 */ // Disable lookaside memory allocation for objects that might be // shared across database connections. -func disableLookaside(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:161371:13: */ +func disableLookaside(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:161428:13: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb (*Parse)(unsafe.Pointer(pParse)).FdisableLookaside++ (*Sqlite3)(unsafe.Pointer(db)).Flookaside.FbDisable++ @@ -142882,7 +142913,7 @@ func disableLookaside(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:161371:13: * // For a compound SELECT statement, make sure p->pPrior->pNext==p for // all elements in the list. And make sure list length does not exceed // SQLITE_LIMIT_COMPOUND_SELECT. -func parserDoubleLinkSelect(tls *libc.TLS, pParse uintptr, p uintptr) { /* sqlite3.c:161404:15: */ +func parserDoubleLinkSelect(tls *libc.TLS, pParse uintptr, p uintptr) { /* sqlite3.c:161461:15: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -142921,7 +142952,7 @@ func parserDoubleLinkSelect(tls *libc.TLS, pParse uintptr, p uintptr) { /* sqlit // Attach a With object describing the WITH clause to a Select // object describing the query for which the WITH clause is a prefix. -func attachWithToSelect(tls *libc.TLS, pParse uintptr, pSelect uintptr, pWith uintptr) uintptr { /* sqlite3.c:161435:17: */ +func attachWithToSelect(tls *libc.TLS, pParse uintptr, pSelect uintptr, pWith uintptr) uintptr { /* sqlite3.c:161492:17: */ if pSelect != 0 { (*Select)(unsafe.Pointer(pSelect)).FpWith = pWith parserDoubleLinkSelect(tls, pParse, pSelect) @@ -142933,7 +142964,7 @@ func attachWithToSelect(tls *libc.TLS, pParse uintptr, pSelect uintptr, pWith ui } // Construct a new Expr object from a single token -func tokenExpr(tls *libc.TLS, pParse uintptr, op int32, t Token) uintptr { /* sqlite3.c:161447:15: */ +func tokenExpr(tls *libc.TLS, pParse uintptr, op int32, t Token) uintptr { /* sqlite3.c:161504:15: */ bp := tls.Alloc(8) defer tls.Free(8) *(*Token)(unsafe.Pointer(bp)) = t @@ -142974,7 +143005,7 @@ func tokenExpr(tls *libc.TLS, pParse uintptr, op int32, t Token) uintptr { /* sq // A routine to convert a binary TK_IS or TK_ISNOT expression into a // unary TK_ISNULL or TK_NOTNULL expression. -func binaryToUnaryIfNull(tls *libc.TLS, pParse uintptr, pY uintptr, pA uintptr, op int32) { /* sqlite3.c:161483:15: */ +func binaryToUnaryIfNull(tls *libc.TLS, pParse uintptr, pY uintptr, pA uintptr, op int32) { /* sqlite3.c:161540:15: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb if pA != 0 && pY != 0 && int32((*Expr)(unsafe.Pointer(pY)).Fop) == TK_NULL && !(int32((*Parse)(unsafe.Pointer(pParse)).FeParseMode) >= PARSE_MODE_RENAME) { (*Expr)(unsafe.Pointer(pA)).Fop = U8(op) @@ -142988,7 +143019,7 @@ func binaryToUnaryIfNull(tls *libc.TLS, pParse uintptr, pY uintptr, pA uintptr, // list of identifiers. Report an error if the ID list contains // a COLLATE clause or an ASC or DESC keyword, except ignore the // error while parsing a legacy schema. -func parserAddExprIdListTerm(tls *libc.TLS, pParse uintptr, pPrior uintptr, pIdToken uintptr, hasCollate int32, sortOrder int32) uintptr { /* sqlite3.c:161497:19: */ +func parserAddExprIdListTerm(tls *libc.TLS, pParse uintptr, pPrior uintptr, pIdToken uintptr, hasCollate int32, sortOrder int32) uintptr { /* sqlite3.c:161554:19: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -143062,7 +143093,7 @@ func parserAddExprIdListTerm(tls *libc.TLS, pParse uintptr, pPrior uintptr, pIdT type YYMINORTYPE = struct { Fyyinit int32 F__ccgo_pad1 [4]byte -} /* sqlite3.c:161789:3 */ +} /* sqlite3.c:161846:3 */ //************ End control #defines ****************************************** // Define the yytestcase() macro to be a no-op if is not already defined @@ -143331,7 +143362,7 @@ var yy_action = [2070]uint16{ /* 2040 */ uint16(29), uint16(921), uint16(390), uint16(1176), uint16(172), uint16(139), uint16(1175), uint16(1235), uint16(261), uint16(1235), /* 2050 */ uint16(1235), uint16(1235), uint16(1235), uint16(1235), uint16(1235), uint16(1235), uint16(1235), uint16(262), uint16(1235), uint16(1235), /* 2060 */ uint16(1235), uint16(1235), uint16(1235), uint16(1235), uint16(1235), uint16(1235), uint16(1235), uint16(1235), uint16(1593), uint16(1592), -} /* sqlite3.c:161883:27 */ +} /* sqlite3.c:161940:27 */ var yy_lookahead = [2255]uint16{ /* 0 */ uint16(193), uint16(223), uint16(193), uint16(225), uint16(193), uint16(193), uint16(193), uint16(274), uint16(275), uint16(276), /* 10 */ uint16(193), uint16(233), uint16(219), uint16(193), uint16(274), uint16(275), uint16(276), uint16(206), uint16(206), uint16(19), @@ -143559,7 +143590,7 @@ var yy_lookahead = [2255]uint16{ /* 2230 */ uint16(319), uint16(319), uint16(319), uint16(319), uint16(319), uint16(319), uint16(319), uint16(319), uint16(319), uint16(319), /* 2240 */ uint16(319), uint16(319), uint16(319), uint16(319), uint16(319), uint16(319), uint16(319), uint16(319), uint16(319), uint16(319), /* 2250 */ uint16(319), uint16(319), uint16(319), uint16(319), uint16(319), -} /* sqlite3.c:162092:25 */ +} /* sqlite3.c:162149:25 */ var yy_shift_ofst = [574]uint16{ /* 0 */ uint16(1648), uint16(1477), uint16(1272), uint16(322), uint16(322), uint16(262), uint16(1319), uint16(1478), uint16(1491), uint16(1662), /* 10 */ uint16(1662), uint16(1662), uint16(317), uint16(0), uint16(0), uint16(214), uint16(1093), uint16(1662), uint16(1662), uint16(1662), @@ -143619,7 +143650,7 @@ var yy_shift_ofst = [574]uint16{ /* 550 */ uint16(2005), uint16(2006), uint16(2007), uint16(2008), uint16(2009), uint16(2001), uint16(2020), uint16(2012), uint16(2013), uint16(2014), /* 560 */ uint16(2015), uint16(2017), uint16(2018), uint16(2011), uint16(1906), uint16(1907), uint16(1916), uint16(1927), uint16(1928), uint16(2019), /* 570 */ uint16(2022), uint16(2027), uint16(2042), uint16(2045), -} /* sqlite3.c:162323:33 */ +} /* sqlite3.c:162380:33 */ var yy_reduce_ofst = [409]int16{ /* 0 */ int16(-125), int16(733), int16(789), int16(241), int16(293), int16(-123), int16(-193), int16(-191), int16(-183), int16(-187), /* 10 */ int16(-180), int16(83), int16(133), int16(-207), int16(-198), int16(-267), int16(-175), int16(-6), int16(166), int16(313), @@ -143662,7 +143693,7 @@ var yy_reduce_ofst = [409]int16{ /* 380 */ int16(1641), int16(1602), int16(1676), int16(1642), int16(1646), int16(1644), int16(1650), int16(1654), int16(1683), int16(1694), /* 390 */ int16(1707), int16(1711), int16(1712), int16(1714), int16(1643), int16(1647), int16(1652), int16(1698), int16(1695), int16(1696), /* 400 */ int16(1697), int16(1699), int16(1700), int16(1689), int16(1691), int16(1701), int16(1702), int16(1704), int16(1715), -} /* sqlite3.c:162386:20 */ +} /* sqlite3.c:162443:20 */ var yy_default = [574]uint16{ /* 0 */ uint16(1637), uint16(1637), uint16(1637), uint16(1466), uint16(1233), uint16(1344), uint16(1233), uint16(1233), uint16(1233), uint16(1466), /* 10 */ uint16(1466), uint16(1466), uint16(1233), uint16(1374), uint16(1374), uint16(1519), uint16(1266), uint16(1233), uint16(1233), uint16(1233), @@ -143722,7 +143753,7 @@ var yy_default = [574]uint16{ /* 550 */ uint16(1233), uint16(1233), uint16(1233), uint16(1233), uint16(1233), uint16(1233), uint16(1233), uint16(1233), uint16(1233), uint16(1233), /* 560 */ uint16(1233), uint16(1233), uint16(1233), uint16(1610), uint16(1325), uint16(1416), uint16(1233), uint16(1415), uint16(1419), uint16(1255), /* 570 */ uint16(1233), uint16(1245), uint16(1233), uint16(1233), -} /* sqlite3.c:162429:27 */ +} /* sqlite3.c:162486:27 */ //********* End of lemon-generated parsing tables **************************** // The next table maps tokens (terminal symbols) into fallback tokens. @@ -143924,7 +143955,7 @@ var yyFallback = [185]uint16{ uint16(0), // ERROR => nothing uint16(0), // SPACE => nothing uint16(0), // ILLEGAL => nothing -} /* sqlite3.c:162506:25 */ +} /* sqlite3.c:162563:25 */ // The following structure represents a single element of the // parser's stack. Information stored includes: @@ -143945,9 +143976,9 @@ type yyStackEntry = struct { Fstateno uint16 Fmajor uint16 Fminor YYMINORTYPE -} /* sqlite3.c:162711:1 */ +} /* sqlite3.c:162768:1 */ -type YyStackEntry = yyStackEntry /* sqlite3.c:162718:29 */ +type YyStackEntry = yyStackEntry /* sqlite3.c:162775:29 */ // The state of the parser is completely contained in an instance of // the following structure @@ -143956,9 +143987,9 @@ type yyParser = struct { FpParse uintptr Fyystack [100]YyStackEntry FyystackEnd uintptr -} /* sqlite3.c:162722:1 */ +} /* sqlite3.c:162779:1 */ -type YyParser = yyParser /* sqlite3.c:162741:25 */ +type YyParser = yyParser /* sqlite3.c:162798:25 */ // #include @@ -143968,7 +143999,7 @@ type YyParser = yyParser /* sqlite3.c:162741:25 */ // grammar. // Initialize a new parser that has already been allocated. -func Xsqlite3ParserInit(tls *libc.TLS, yypRawParser uintptr, pParse uintptr) { /* sqlite3.c:163556:21: */ +func Xsqlite3ParserInit(tls *libc.TLS, yypRawParser uintptr, pParse uintptr) { /* sqlite3.c:163613:21: */ var yypParser uintptr = yypRawParser (*YyParser)(unsafe.Pointer(yypParser)).FpParse = pParse (*YyParser)(unsafe.Pointer(yypParser)).Fyytos = yypParser + 8 /* &.yystack */ @@ -143983,7 +144014,7 @@ func Xsqlite3ParserInit(tls *libc.TLS, yypRawParser uintptr, pParse uintptr) { / // a pointer to the value to be deleted. The code used to do the // deletions is derived from the %destructor and/or %token_destructor // directives of the input grammar. -func yy_destructor(tls *libc.TLS, yypParser uintptr, yymajor uint16, yypminor uintptr) { /* sqlite3.c:163614:13: */ +func yy_destructor(tls *libc.TLS, yypParser uintptr, yymajor uint16, yypminor uintptr) { /* sqlite3.c:163671:13: */ var pParse uintptr = (*YyParser)(unsafe.Pointer(yypParser)).FpParse switch int32(yymajor) { @@ -144142,7 +144173,7 @@ func yy_destructor(tls *libc.TLS, yypParser uintptr, yymajor uint16, yypminor ui // // If there is a destructor routine associated with the token which // is popped from the stack, then call it. -func yy_pop_parser_stack(tls *libc.TLS, pParser uintptr) { /* sqlite3.c:163739:13: */ +func yy_pop_parser_stack(tls *libc.TLS, pParser uintptr) { /* sqlite3.c:163796:13: */ var yytos uintptr yytos = libc.PostDecUintptr(&(*YyParser)(unsafe.Pointer(pParser)).Fyytos, 12) @@ -144150,7 +144181,7 @@ func yy_pop_parser_stack(tls *libc.TLS, pParser uintptr) { /* sqlite3.c:163739:1 } // Clear all secondary memory allocations from the parser -func Xsqlite3ParserFinalize(tls *libc.TLS, p uintptr) { /* sqlite3.c:163757:21: */ +func Xsqlite3ParserFinalize(tls *libc.TLS, p uintptr) { /* sqlite3.c:163814:21: */ var pParser uintptr = p for (*YyParser)(unsafe.Pointer(pParser)).Fyytos > pParser+8 { yy_pop_parser_stack(tls, pParser) @@ -144173,7 +144204,7 @@ func Xsqlite3ParserFinalize(tls *libc.TLS, p uintptr) { /* sqlite3.c:163757:21: // Find the appropriate action for a parser given the terminal // look-ahead token iLookAhead. -func yy_find_shift_action(tls *libc.TLS, iLookAhead uint16, stateno uint16) uint16 { /* sqlite3.c:163837:21: */ +func yy_find_shift_action(tls *libc.TLS, iLookAhead uint16, stateno uint16) uint16 { /* sqlite3.c:163894:21: */ var i int32 if int32(stateno) > YY_MAX_SHIFT { @@ -144213,7 +144244,7 @@ func yy_find_shift_action(tls *libc.TLS, iLookAhead uint16, stateno uint16) uint // Find the appropriate action for a parser given the non-terminal // look-ahead token iLookAhead. -func yy_find_reduce_action(tls *libc.TLS, stateno uint16, iLookAhead uint16) uint16 { /* sqlite3.c:163902:21: */ +func yy_find_reduce_action(tls *libc.TLS, stateno uint16, iLookAhead uint16) uint16 { /* sqlite3.c:163959:21: */ var i int32 i = int32(yy_reduce_ofst[stateno]) @@ -144224,7 +144255,7 @@ func yy_find_reduce_action(tls *libc.TLS, stateno uint16, iLookAhead uint16) uin } // The following routine is called if the stack overflows. -func yyStackOverflow(tls *libc.TLS, yypParser uintptr) { /* sqlite3.c:163931:13: */ +func yyStackOverflow(tls *libc.TLS, yypParser uintptr) { /* sqlite3.c:163988:13: */ var pParse uintptr = (*YyParser)(unsafe.Pointer(yypParser)).FpParse for (*YyParser)(unsafe.Pointer(yypParser)).Fyytos > yypParser+8 { @@ -144243,7 +144274,7 @@ func yyStackOverflow(tls *libc.TLS, yypParser uintptr) { /* sqlite3.c:163931:13: // Print tracing information for a SHIFT action // Perform a shift action. -func yy_shift(tls *libc.TLS, yypParser uintptr, yyNewState uint16, yyMajor uint16, yyMinor Token) { /* sqlite3.c:163974:13: */ +func yy_shift(tls *libc.TLS, yypParser uintptr, yyNewState uint16, yyMajor uint16, yyMinor Token) { /* sqlite3.c:164031:13: */ var yytos uintptr (*YyParser)(unsafe.Pointer(yypParser)).Fyytos += 12 if (*YyParser)(unsafe.Pointer(yypParser)).Fyytos > (*YyParser)(unsafe.Pointer(yypParser)).FyystackEnd { @@ -144666,7 +144697,7 @@ var yyRuleInfoLhs = [402]uint16{ uint16(303), // (399) anylist ::= anylist LP anylist RP uint16(303), // (400) anylist ::= anylist ANY uint16(266), // (401) with ::= -} /* sqlite3.c:164015:25 */ +} /* sqlite3.c:164072:25 */ // For rule J, yyRuleInfoNRhs[J] contains the negative of the number // of symbols on the right-hand side of that rule. @@ -145073,7 +145104,7 @@ var yyRuleInfoNRhs = [402]int8{ int8(-4), // (399) anylist ::= anylist LP anylist RP int8(-2), // (400) anylist ::= anylist ANY int8(0), // (401) with ::= -} /* sqlite3.c:164422:26 */ +} /* sqlite3.c:164479:26 */ // Forward Declaration @@ -145085,7 +145116,7 @@ var yyRuleInfoNRhs = [402]int8{ // if the lookahead token has already been consumed. As this procedure is // only called from one place, optimizing compilers will in-line it, which // means that the extra parameters have no performance impact. -func yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead int32, yyLookaheadToken Token, pParse uintptr) uint16 { /* sqlite3.c:164839:21: */ +func yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead int32, yyLookaheadToken Token, pParse uintptr) uint16 { /* sqlite3.c:164896:21: */ bp := tls.Alloc(100) defer tls.Free(100) @@ -147080,7 +147111,7 @@ func yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead in // The following code executes when the parse fails // The following code executes when a syntax error first occurs. -func yy_syntax_error(tls *libc.TLS, yypParser uintptr, yymajor int32, yyminor Token) { /* sqlite3.c:166395:13: */ +func yy_syntax_error(tls *libc.TLS, yypParser uintptr, yymajor int32, yyminor Token) { /* sqlite3.c:166452:13: */ bp := tls.Alloc(16) defer tls.Free(16) *(*Token)(unsafe.Pointer(bp + 8)) = yyminor @@ -147100,7 +147131,7 @@ func yy_syntax_error(tls *libc.TLS, yypParser uintptr, yymajor int32, yyminor To } // The following is executed when the parser accepts -func yy_accept(tls *libc.TLS, yypParser uintptr) { /* sqlite3.c:166419:13: */ +func yy_accept(tls *libc.TLS, yypParser uintptr) { /* sqlite3.c:166476:13: */ var pParse uintptr = (*YyParser)(unsafe.Pointer(yypParser)).FpParse @@ -147130,7 +147161,7 @@ func yy_accept(tls *libc.TLS, yypParser uintptr) { /* sqlite3.c:166419:13: */ // // Outputs: // None. -func Xsqlite3Parser(tls *libc.TLS, yyp uintptr, yymajor int32, yyminor Token) { /* sqlite3.c:166460:21: */ +func Xsqlite3Parser(tls *libc.TLS, yyp uintptr, yymajor int32, yyminor Token) { /* sqlite3.c:166517:21: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -147184,7 +147215,7 @@ func Xsqlite3Parser(tls *libc.TLS, yyp uintptr, yymajor int32, yyminor Token) { // Return the fallback token corresponding to canonical token iToken, or // 0 if iToken has no fallback. -func Xsqlite3ParserFallback(tls *libc.TLS, iToken int32) int32 { /* sqlite3.c:166677:20: */ +func Xsqlite3ParserFallback(tls *libc.TLS, iToken int32) int32 { /* sqlite3.c:166734:20: */ return int32(yyFallback[iToken]) } @@ -147235,7 +147266,7 @@ var aiClass = [256]uint8{ /* Dx */ uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), /* Ex */ uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(30), /* Fx */ uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), -} /* sqlite3.c:166749:28 */ +} /* sqlite3.c:166806:28 */ // The charMap() macro maps alphabetic characters (only) into their // lower-case ASCII equivalent. On ASCII machines, this is just @@ -147321,7 +147352,7 @@ var zKWText = [666]int8{ int8('W'), int8('S'), int8('U'), int8('N'), int8('B'), int8('O'), int8('U'), int8('N'), int8('D'), int8('E'), int8('D'), int8('U'), int8('N'), int8('I'), int8('O'), int8('N'), int8('U'), int8('S'), int8('I'), int8('N'), int8('G'), int8('V'), int8('A'), int8('C'), int8('U'), int8('U'), int8('M'), int8('V'), int8('I'), int8('E'), int8('W'), int8('I'), int8('N'), int8('D'), int8('O'), int8('W'), int8('B'), int8('Y'), int8('I'), int8('N'), int8('I'), int8('T'), int8('I'), int8('A'), int8('L'), int8('L'), int8('Y'), int8('P'), int8('R'), int8('I'), int8('M'), int8('A'), int8('R'), int8('Y'), -} /* sqlite3.c:166865:19 */ +} /* sqlite3.c:166922:19 */ // aKWHash[i] is the hash value for the i-th keyword var aKWHash = [127]uint8{ uint8(84), uint8(92), uint8(134), uint8(82), uint8(105), uint8(29), uint8(0), uint8(0), uint8(94), uint8(0), uint8(85), uint8(72), uint8(0), @@ -147334,7 +147365,7 @@ var aKWHash = [127]uint8{ uint8(50), uint8(124), uint8(0), uint8(100), uint8(0), uint8(18), uint8(121), uint8(144), uint8(56), uint8(130), uint8(139), uint8(88), uint8(83), uint8(37), uint8(30), uint8(126), uint8(0), uint8(0), uint8(108), uint8(51), uint8(131), uint8(128), uint8(0), uint8(34), uint8(0), uint8(0), uint8(132), uint8(0), uint8(98), uint8(38), uint8(39), uint8(0), uint8(20), uint8(45), uint8(117), uint8(93), -} /* sqlite3.c:166905:28 */ +} /* sqlite3.c:166962:28 */ // aKWNext[] forms the hash collision chain. If aKWHash[i]==0 // then the i-th keyword has no more hash collisions. Otherwise, // the next keyword with the same hash is aKWHash[i]-1. @@ -147351,7 +147382,7 @@ var aKWNext = [147]uint8{ uint8(112), uint8(21), uint8(7), uint8(67), uint8(0), uint8(79), uint8(96), uint8(118), uint8(0), uint8(0), uint8(68), uint8(0), uint8(0), uint8(99), uint8(44), uint8(0), uint8(55), uint8(0), uint8(76), uint8(0), uint8(95), uint8(32), uint8(33), uint8(57), uint8(25), uint8(0), uint8(102), uint8(0), uint8(0), uint8(87), -} /* sqlite3.c:166920:28 */ +} /* sqlite3.c:166977:28 */ // aKWLen[i] is the length (in bytes) of the i-th keyword var aKWLen = [147]uint8{ uint8(7), uint8(7), uint8(5), uint8(4), uint8(6), uint8(4), uint8(5), uint8(3), uint8(6), uint8(7), uint8(3), uint8(6), uint8(6), @@ -147366,7 +147397,7 @@ var aKWLen = [147]uint8{ uint8(4), uint8(4), uint8(6), uint8(7), uint8(5), uint8(9), uint8(4), uint8(4), uint8(5), uint8(2), uint8(5), uint8(8), uint8(6), uint8(4), uint8(9), uint8(5), uint8(8), uint8(4), uint8(3), uint8(9), uint8(5), uint8(5), uint8(6), uint8(4), uint8(6), uint8(2), uint8(2), uint8(9), uint8(3), uint8(7), -} /* sqlite3.c:166935:28 */ +} /* sqlite3.c:166992:28 */ // aKWOffset[i] is the index into zKWText[] of the start of // the text for the i-th keyword. var aKWOffset = [147]uint16{ @@ -147382,7 +147413,7 @@ var aKWOffset = [147]uint16{ uint16(520), uint16(523), uint16(527), uint16(532), uint16(539), uint16(544), uint16(553), uint16(557), uint16(560), uint16(565), uint16(567), uint16(571), uint16(579), uint16(585), uint16(588), uint16(597), uint16(602), uint16(610), uint16(610), uint16(614), uint16(623), uint16(628), uint16(633), uint16(639), uint16(642), uint16(645), uint16(648), uint16(650), uint16(655), uint16(659), -} /* sqlite3.c:166951:33 */ +} /* sqlite3.c:167008:33 */ // aKWCode[i] is the parser symbol code for the i-th keyword var aKWCode = [147]uint8{ uint8(TK_REINDEX), uint8(TK_INDEXED), uint8(TK_INDEX), uint8(TK_DESC), uint8(TK_ESCAPE), @@ -147415,7 +147446,7 @@ var aKWCode = [147]uint8{ uint8(TK_ROW), uint8(TK_UNBOUNDED), uint8(TK_UNION), uint8(TK_USING), uint8(TK_VACUUM), uint8(TK_VIEW), uint8(TK_WINDOW), uint8(TK_DO), uint8(TK_BY), uint8(TK_INITIALLY), uint8(TK_ALL), uint8(TK_PRIMARY), -} /* sqlite3.c:166966:28 */ +} /* sqlite3.c:167023:28 */ // Hash table decoded: // 0: INSERT @@ -147548,7 +147579,7 @@ var aKWCode = [147]uint8{ // Check to see if z[0..n-1] is a keyword. If it is, write the // parser symbol code for that keyword into *pType. Always // return the integer n (the length of the token). -func keywordCode(tls *libc.TLS, z uintptr, n int32, pType uintptr) int32 { /* sqlite3.c:167130:12: */ +func keywordCode(tls *libc.TLS, z uintptr, n int32, pType uintptr) int32 { /* sqlite3.c:167187:12: */ var i int32 var j int32 var zKW uintptr @@ -147726,7 +147757,7 @@ func keywordCode(tls *libc.TLS, z uintptr, n int32, pType uintptr) int32 { /* sq return n } -func Xsqlite3KeywordCode(tls *libc.TLS, z uintptr, n int32) int32 { /* sqlite3.c:167304:20: */ +func Xsqlite3KeywordCode(tls *libc.TLS, z uintptr, n int32) int32 { /* sqlite3.c:167361:20: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -147735,7 +147766,7 @@ func Xsqlite3KeywordCode(tls *libc.TLS, z uintptr, n int32) int32 { /* sqlite3.c return *(*int32)(unsafe.Pointer(bp /* id */)) } -func Xsqlite3_keyword_name(tls *libc.TLS, i int32, pzName uintptr, pnName uintptr) int32 { /* sqlite3.c:167310:16: */ +func Xsqlite3_keyword_name(tls *libc.TLS, i int32, pzName uintptr, pnName uintptr) int32 { /* sqlite3.c:167367:16: */ if i < 0 || i >= SQLITE_N_KEYWORD { return SQLITE_ERROR } @@ -147744,11 +147775,11 @@ func Xsqlite3_keyword_name(tls *libc.TLS, i int32, pzName uintptr, pnName uintpt return SQLITE_OK } -func Xsqlite3_keyword_count(tls *libc.TLS) int32 { /* sqlite3.c:167316:16: */ +func Xsqlite3_keyword_count(tls *libc.TLS) int32 { /* sqlite3.c:167373:16: */ return SQLITE_N_KEYWORD } -func Xsqlite3_keyword_check(tls *libc.TLS, zName uintptr, nName int32) int32 { /* sqlite3.c:167317:16: */ +func Xsqlite3_keyword_check(tls *libc.TLS, zName uintptr, nName int32) int32 { /* sqlite3.c:167374:16: */ return libc.Bool32(TK_ID != Xsqlite3KeywordCode(tls, zName, nName)) } @@ -147771,13 +147802,13 @@ func Xsqlite3_keyword_check(tls *libc.TLS, zName uintptr, nName int32) int32 { / // But the feature is undocumented. // Make the IdChar function accessible from ctime.c and alter.c -func Xsqlite3IsIdChar(tls *libc.TLS, c U8) int32 { /* sqlite3.c:167364:20: */ +func Xsqlite3IsIdChar(tls *libc.TLS, c U8) int32 { /* sqlite3.c:167421:20: */ return libc.Bool32(int32(Xsqlite3CtypeMap[c])&0x46 != 0) } // Return the id of the next token in string (*pz). Before returning, set // (*pz) to point to the byte following the parsed token. -func getToken(tls *libc.TLS, pz uintptr) int32 { /* sqlite3.c:167371:12: */ +func getToken(tls *libc.TLS, pz uintptr) int32 { /* sqlite3.c:167428:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -147827,7 +147858,7 @@ func getToken(tls *libc.TLS, pz uintptr) int32 { /* sqlite3.c:167371:12: */ // // * the previous token was TK_RP, and // * the next token is TK_LP. -func analyzeWindowKeyword(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:167420:12: */ +func analyzeWindowKeyword(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:167477:12: */ bp := tls.Alloc(4) defer tls.Free(4) *(*uintptr)(unsafe.Pointer(bp)) = z @@ -147844,7 +147875,7 @@ func analyzeWindowKeyword(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:167420: return TK_WINDOW } -func analyzeOverKeyword(tls *libc.TLS, z uintptr, lastToken int32) int32 { /* sqlite3.c:167428:12: */ +func analyzeOverKeyword(tls *libc.TLS, z uintptr, lastToken int32) int32 { /* sqlite3.c:167485:12: */ bp := tls.Alloc(4) defer tls.Free(4) *(*uintptr)(unsafe.Pointer(bp)) = z @@ -147858,7 +147889,7 @@ func analyzeOverKeyword(tls *libc.TLS, z uintptr, lastToken int32) int32 { /* sq return TK_ID } -func analyzeFilterKeyword(tls *libc.TLS, z uintptr, lastToken int32) int32 { /* sqlite3.c:167435:12: */ +func analyzeFilterKeyword(tls *libc.TLS, z uintptr, lastToken int32) int32 { /* sqlite3.c:167492:12: */ bp := tls.Alloc(4) defer tls.Free(4) *(*uintptr)(unsafe.Pointer(bp)) = z @@ -147871,7 +147902,7 @@ func analyzeFilterKeyword(tls *libc.TLS, z uintptr, lastToken int32) int32 { /* // Return the length (in bytes) of the token that begins at z[0]. // Store the token type in *tokenType before returning. -func Xsqlite3GetToken(tls *libc.TLS, z uintptr, tokenType uintptr) int32 { /* sqlite3.c:167447:20: */ +func Xsqlite3GetToken(tls *libc.TLS, z uintptr, tokenType uintptr) int32 { /* sqlite3.c:167504:20: */ var i int32 var c int32 switch int32(aiClass[*(*uint8)(unsafe.Pointer(z))]) { // Switch on the character-class of the first byte @@ -148233,7 +148264,7 @@ func Xsqlite3GetToken(tls *libc.TLS, z uintptr, tokenType uintptr) int32 { /* sq } // Run the parser on the given SQL string. -func Xsqlite3RunParser(tls *libc.TLS, pParse uintptr, zSql uintptr) int32 { /* sqlite3.c:167741:20: */ +func Xsqlite3RunParser(tls *libc.TLS, pParse uintptr, zSql uintptr) int32 { /* sqlite3.c:167798:20: */ bp := tls.Alloc(1256) defer tls.Free(1256) @@ -148423,7 +148454,7 @@ func Xsqlite3RunParser(tls *libc.TLS, pParse uintptr, zSql uintptr) int32 { /* s // If we compile with SQLITE_OMIT_TRIGGER, all of the computation needed // to recognize the end of a trigger can be omitted. All we have to do // is look for a semicolon that is not part of an string or comment. -func Xsqlite3_complete(tls *libc.TLS, zSql uintptr) int32 { /* sqlite3.c:168133:16: */ +func Xsqlite3_complete(tls *libc.TLS, zSql uintptr) int32 { /* sqlite3.c:168190:16: */ var state U8 = U8(0) // Current state, using numbers defined in header comment var token U8 @@ -148600,12 +148631,12 @@ var trans = [8][8]U8{ /* 5 TRIGGER: */ {U8(6), U8(5), U8(5), U8(5), U8(5), U8(5), U8(5), U8(5)}, /* 6 SEMI: */ {U8(6), U8(6), U8(5), U8(5), U8(5), U8(5), U8(5), U8(7)}, /* 7 END: */ {U8(1), U8(7), U8(5), U8(5), U8(5), U8(5), U8(5), U8(5)}, -} /* sqlite3.c:168141:19 */ +} /* sqlite3.c:168198:19 */ // This routine is the same as the sqlite3_complete() routine described // above, except that the parameter is required to be UTF-16 encoded, not // UTF-8. -func Xsqlite3_complete16(tls *libc.TLS, zSql uintptr) int32 { /* sqlite3.c:168298:16: */ +func Xsqlite3_complete16(tls *libc.TLS, zSql uintptr) int32 { /* sqlite3.c:168355:16: */ var pVal uintptr var zSql8 uintptr var rc int32 @@ -148632,7 +148663,7 @@ func Xsqlite3_complete16(tls *libc.TLS, zSql uintptr) int32 { /* sqlite3.c:16829 // This is an extension initializer that is a no-op and always // succeeds, except that it fails if the fault-simulation is set // to 500. -func sqlite3TestExtInit(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:168450:12: */ +func sqlite3TestExtInit(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:168507:12: */ _ = db return Xsqlite3FaultSim(tls, 500) } @@ -148644,11 +148675,11 @@ var sqlite3BuiltinExtensions = [4]uintptr{ 0, 0, 0, -} /* sqlite3.c:168477:12 */ +} /* sqlite3.c:168534:12 */ // IMPLEMENTATION-OF: R-53536-42575 The sqlite3_libversion() function returns // a pointer to the to the sqlite3_version[] string constant. -func Xsqlite3_libversion(tls *libc.TLS) uintptr { /* sqlite3.c:168524:23: */ +func Xsqlite3_libversion(tls *libc.TLS) uintptr { /* sqlite3.c:168581:23: */ return uintptr(unsafe.Pointer(&Xsqlite3_version)) } @@ -148661,14 +148692,14 @@ func Xsqlite3_libversion(tls *libc.TLS) uintptr { /* sqlite3.c:168524:23: */ // IMPLEMENTATION-OF: R-35210-63508 The sqlite3_libversion_number() function // returns an integer equal to SQLITE_VERSION_NUMBER. -func Xsqlite3_libversion_number(tls *libc.TLS) int32 { /* sqlite3.c:168537:16: */ +func Xsqlite3_libversion_number(tls *libc.TLS) int32 { /* sqlite3.c:168594:16: */ return SQLITE_VERSION_NUMBER } // IMPLEMENTATION-OF: R-20790-14025 The sqlite3_threadsafe() function returns // zero if and only if SQLite was compiled with mutexing code omitted due to // the SQLITE_THREADSAFE compile-time option being set to 0. -func Xsqlite3_threadsafe(tls *libc.TLS) int32 { /* sqlite3.c:168543:16: */ +func Xsqlite3_threadsafe(tls *libc.TLS) int32 { /* sqlite3.c:168600:16: */ return SQLITE_THREADSAFE } @@ -148681,14 +148712,14 @@ func Xsqlite3_threadsafe(tls *libc.TLS) int32 { /* sqlite3.c:168543:16: */ // temporary files. // // See also the "PRAGMA temp_store_directory" SQL command. -var Xsqlite3_temp_directory uintptr = uintptr(0) /* sqlite3.c:168574:17 */ +var Xsqlite3_temp_directory uintptr = uintptr(0) /* sqlite3.c:168631:17 */ // If the following global variable points to a string which is the // name of a directory, then that directory will be used to store // all database files specified with a relative pathname. // // See also the "PRAGMA data_store_directory" SQL command. -var Xsqlite3_data_directory uintptr = uintptr(0) /* sqlite3.c:168583:17 */ +var Xsqlite3_data_directory uintptr = uintptr(0) /* sqlite3.c:168640:17 */ // Initialize SQLite. // @@ -148719,7 +148750,7 @@ var Xsqlite3_data_directory uintptr = uintptr(0) /* sqlite3.c:168583:17 */ // // * Recursive calls to this routine from thread X return immediately // without blocking. -func Xsqlite3_initialize(tls *libc.TLS) int32 { /* sqlite3.c:168616:16: */ +func Xsqlite3_initialize(tls *libc.TLS) int32 { /* sqlite3.c:168673:16: */ var pMainMtx uintptr // The main static mutex var rc int32 // Result code @@ -148845,7 +148876,7 @@ func Xsqlite3_initialize(tls *libc.TLS) int32 { /* sqlite3.c:168616:16: */ // routine is not threadsafe. But it is safe to invoke this routine // on when SQLite is already shut down. If SQLite is already shut down // when this routine is invoked, then this routine is a harmless no-op. -func Xsqlite3_shutdown(tls *libc.TLS) int32 { /* sqlite3.c:168791:16: */ +func Xsqlite3_shutdown(tls *libc.TLS) int32 { /* sqlite3.c:168848:16: */ if Xsqlite3Config.FisInit != 0 { Xsqlite3_os_end(tls) @@ -148884,7 +148915,7 @@ func Xsqlite3_shutdown(tls *libc.TLS) int32 { /* sqlite3.c:168791:16: */ // database connections or memory allocations. This routine is not // threadsafe. Failure to heed these warnings can lead to unpredictable // behavior. -func Xsqlite3_config(tls *libc.TLS, op int32, va uintptr) int32 { /* sqlite3.c:168845:16: */ +func Xsqlite3_config(tls *libc.TLS, op int32, va uintptr) int32 { /* sqlite3.c:168902:16: */ var ap Va_list _ = ap var rc int32 = SQLITE_OK @@ -148892,7 +148923,7 @@ func Xsqlite3_config(tls *libc.TLS, op int32, va uintptr) int32 { /* sqlite3.c:1 // sqlite3_config() shall return SQLITE_MISUSE if it is invoked while // the SQLite library is in use. if Xsqlite3Config.FisInit != 0 { - return Xsqlite3MisuseError(tls, 168851) + return Xsqlite3MisuseError(tls, 168908) } ap = va @@ -149162,7 +149193,7 @@ func Xsqlite3_config(tls *libc.TLS, op int32, va uintptr) int32 { /* sqlite3.c:1 // space for the lookaside memory is obtained from sqlite3_malloc(). // If pStart is not NULL then it is sz*cnt bytes of memory to use for // the lookaside memory. -func setupLookaside(tls *libc.TLS, db uintptr, pBuf uintptr, sz int32, cnt int32) int32 { /* sqlite3.c:169163:12: */ +func setupLookaside(tls *libc.TLS, db uintptr, pBuf uintptr, sz int32, cnt int32) int32 { /* sqlite3.c:169220:12: */ var pStart uintptr var szAlloc Sqlite3_int64 = Sqlite3_int64(sz) * Sqlite3_int64(cnt) var nBig int32 // Number of full-size slots @@ -149260,13 +149291,13 @@ func setupLookaside(tls *libc.TLS, db uintptr, pBuf uintptr, sz int32, cnt int32 } // Return the mutex associated with a database connection. -func Xsqlite3_db_mutex(tls *libc.TLS, db uintptr) uintptr { /* sqlite3.c:169263:26: */ +func Xsqlite3_db_mutex(tls *libc.TLS, db uintptr) uintptr { /* sqlite3.c:169320:26: */ return (*Sqlite3)(unsafe.Pointer(db)).Fmutex } // Free up as much memory as we can from the given database // connection. -func Xsqlite3_db_release_memory(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:169277:16: */ +func Xsqlite3_db_release_memory(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:169334:16: */ var i int32 Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) @@ -149285,7 +149316,7 @@ func Xsqlite3_db_release_memory(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c: // Flush any dirty pages in the pager-cache for any attached database // to disk. -func Xsqlite3_db_cacheflush(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:169301:16: */ +func Xsqlite3_db_cacheflush(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:169358:16: */ var i int32 var rc int32 = SQLITE_OK var bSeenBusy int32 = 0 @@ -149314,7 +149345,7 @@ func Xsqlite3_db_cacheflush(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:1693 } // Configuration settings for an individual database connection -func Xsqlite3_db_config(tls *libc.TLS, db uintptr, op int32, va uintptr) int32 { /* sqlite3.c:169330:16: */ +func Xsqlite3_db_config(tls *libc.TLS, db uintptr, op int32, va uintptr) int32 { /* sqlite3.c:169387:16: */ var ap Va_list _ = ap var rc int32 @@ -149393,11 +149424,11 @@ var aFlagOp = [16]struct { {Fop: SQLITE_DBCONFIG_DQS_DML, Fmask: U32(SQLITE_DqsDML)}, {Fop: SQLITE_DBCONFIG_LEGACY_FILE_FORMAT, Fmask: U32(SQLITE_LegacyFileFmt)}, {Fop: SQLITE_DBCONFIG_TRUSTED_SCHEMA, Fmask: U32(SQLITE_TrustedSchema)}, -} /* sqlite3.c:169353:9 */ +} /* sqlite3.c:169410:9 */ // This is the default collating function named "BINARY" which is always // available. -func binCollFunc(tls *libc.TLS, NotUsed uintptr, nKey1 int32, pKey1 uintptr, nKey2 int32, pKey2 uintptr) int32 { /* sqlite3.c:169405:12: */ +func binCollFunc(tls *libc.TLS, NotUsed uintptr, nKey1 int32, pKey1 uintptr, nKey2 int32, pKey2 uintptr) int32 { /* sqlite3.c:169462:12: */ var rc int32 var n int32 _ = NotUsed @@ -149419,7 +149450,7 @@ func binCollFunc(tls *libc.TLS, NotUsed uintptr, nKey1 int32, pKey1 uintptr, nKe // This is the collating function named "RTRIM" which is always // available. Ignore trailing spaces. -func rtrimCollFunc(tls *libc.TLS, pUser uintptr, nKey1 int32, pKey1 uintptr, nKey2 int32, pKey2 uintptr) int32 { /* sqlite3.c:169428:12: */ +func rtrimCollFunc(tls *libc.TLS, pUser uintptr, nKey1 int32, pKey1 uintptr, nKey2 int32, pKey2 uintptr) int32 { /* sqlite3.c:169485:12: */ var pK1 uintptr = pKey1 var pK2 uintptr = pKey2 for nKey1 != 0 && int32(*(*U8)(unsafe.Pointer(pK1 + uintptr(nKey1-1)))) == ' ' { @@ -149432,7 +149463,7 @@ func rtrimCollFunc(tls *libc.TLS, pUser uintptr, nKey1 int32, pKey1 uintptr, nKe } // Return true if CollSeq is the default built-in BINARY. -func Xsqlite3IsBinary(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:169443:20: */ +func Xsqlite3IsBinary(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:169500:20: */ return libc.Bool32(p == uintptr(0) || (*CollSeq)(unsafe.Pointer(p)).FxCmp == *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32 @@ -149446,7 +149477,7 @@ func Xsqlite3IsBinary(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:169443:20: // extends only to the 26 characters used in the English language. // // At the moment there is only a UTF-8 implementation. -func nocaseCollatingFunc(tls *libc.TLS, NotUsed uintptr, nKey1 int32, pKey1 uintptr, nKey2 int32, pKey2 uintptr) int32 { /* sqlite3.c:169457:12: */ +func nocaseCollatingFunc(tls *libc.TLS, NotUsed uintptr, nKey1 int32, pKey1 uintptr, nKey2 int32, pKey2 uintptr) int32 { /* sqlite3.c:169514:12: */ var r int32 = Xsqlite3_strnicmp(tls, pKey1, pKey2, func() int32 { if nKey1 < nKey2 { @@ -149462,39 +149493,39 @@ func nocaseCollatingFunc(tls *libc.TLS, NotUsed uintptr, nKey1 int32, pKey1 uint } // Return the ROWID of the most recent insert -func Xsqlite3_last_insert_rowid(tls *libc.TLS, db uintptr) Sqlite_int64 { /* sqlite3.c:169474:25: */ +func Xsqlite3_last_insert_rowid(tls *libc.TLS, db uintptr) Sqlite_int64 { /* sqlite3.c:169531:25: */ return (*Sqlite3)(unsafe.Pointer(db)).FlastRowid } // Set the value returned by the sqlite3_last_insert_rowid() API function. -func Xsqlite3_set_last_insert_rowid(tls *libc.TLS, db uintptr, iRowid Sqlite3_int64) { /* sqlite3.c:169487:17: */ +func Xsqlite3_set_last_insert_rowid(tls *libc.TLS, db uintptr, iRowid Sqlite3_int64) { /* sqlite3.c:169544:17: */ Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) (*Sqlite3)(unsafe.Pointer(db)).FlastRowid = iRowid Xsqlite3_mutex_leave(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) } // Return the number of changes in the most recent call to sqlite3_exec(). -func Xsqlite3_changes64(tls *libc.TLS, db uintptr) Sqlite3_int64 { /* sqlite3.c:169502:26: */ +func Xsqlite3_changes64(tls *libc.TLS, db uintptr) Sqlite3_int64 { /* sqlite3.c:169559:26: */ return (*Sqlite3)(unsafe.Pointer(db)).FnChange } -func Xsqlite3_changes(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:169511:16: */ +func Xsqlite3_changes(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:169568:16: */ return int32(Xsqlite3_changes64(tls, db)) } // Return the number of changes since the database handle was opened. -func Xsqlite3_total_changes64(tls *libc.TLS, db uintptr) Sqlite3_int64 { /* sqlite3.c:169518:26: */ +func Xsqlite3_total_changes64(tls *libc.TLS, db uintptr) Sqlite3_int64 { /* sqlite3.c:169575:26: */ return (*Sqlite3)(unsafe.Pointer(db)).FnTotalChange } -func Xsqlite3_total_changes(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:169527:16: */ +func Xsqlite3_total_changes(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:169584:16: */ return int32(Xsqlite3_total_changes64(tls, db)) } // Close all open savepoints. This function only manipulates fields of the // database handle object, it does not close any savepoints that may be open // at the b-tree/pager level. -func Xsqlite3CloseSavepoints(tls *libc.TLS, db uintptr) { /* sqlite3.c:169536:21: */ +func Xsqlite3CloseSavepoints(tls *libc.TLS, db uintptr) { /* sqlite3.c:169593:21: */ for (*Sqlite3)(unsafe.Pointer(db)).FpSavepoint != 0 { var pTmp uintptr = (*Sqlite3)(unsafe.Pointer(db)).FpSavepoint (*Sqlite3)(unsafe.Pointer(db)).FpSavepoint = (*Savepoint)(unsafe.Pointer(pTmp)).FpNext @@ -149509,7 +149540,7 @@ func Xsqlite3CloseSavepoints(tls *libc.TLS, db uintptr) { /* sqlite3.c:169536:21 // if this is not the last copy of the function, do not invoke it. Multiple // copies of a single function are created when create_function() is called // with SQLITE_ANY as the encoding. -func functionDestroy(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:169553:13: */ +func functionDestroy(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:169610:13: */ var pDestructor uintptr pDestructor = *(*uintptr)(unsafe.Pointer(p + 36)) @@ -149524,7 +149555,7 @@ func functionDestroy(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:169553 // Disconnect all sqlite3_vtab objects that belong to database connection // db. This is called when db is being closed. -func disconnectAllVtab(tls *libc.TLS, db uintptr) { /* sqlite3.c:169570:13: */ +func disconnectAllVtab(tls *libc.TLS, db uintptr) { /* sqlite3.c:169627:13: */ var i int32 var p uintptr Xsqlite3BtreeEnterAll(tls, db) @@ -149551,7 +149582,7 @@ func disconnectAllVtab(tls *libc.TLS, db uintptr) { /* sqlite3.c:169570:13: */ // Return TRUE if database connection db has unfinalized prepared // statements or unfinished sqlite3_backup objects. -func connectionIsBusy(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:169601:12: */ +func connectionIsBusy(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:169658:12: */ var j int32 if (*Sqlite3)(unsafe.Pointer(db)).FpVdbe != 0 { @@ -149567,14 +149598,14 @@ func connectionIsBusy(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:169601:12: } // Close an existing SQLite database -func sqlite3Close(tls *libc.TLS, db uintptr, forceZombie int32) int32 { /* sqlite3.c:169615:12: */ +func sqlite3Close(tls *libc.TLS, db uintptr, forceZombie int32) int32 { /* sqlite3.c:169672:12: */ if !(db != 0) { // EVIDENCE-OF: R-63257-11740 Calling sqlite3_close() or // sqlite3_close_v2() with a NULL pointer argument is a harmless no-op. return SQLITE_OK } if !(Xsqlite3SafetyCheckSickOrOk(tls, db) != 0) { - return Xsqlite3MisuseError(tls, 169622) + return Xsqlite3MisuseError(tls, 169679) } Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) if int32((*Sqlite3)(unsafe.Pointer(db)).FmTrace)&SQLITE_TRACE_CLOSE != 0 { @@ -149611,7 +149642,7 @@ func sqlite3Close(tls *libc.TLS, db uintptr, forceZombie int32) int32 { /* sqlit // Return the transaction state for a single databse, or the maximum // transaction state over all attached databases if zSchema is null. -func Xsqlite3_txn_state(tls *libc.TLS, db uintptr, zSchema uintptr) int32 { /* sqlite3.c:169669:16: */ +func Xsqlite3_txn_state(tls *libc.TLS, db uintptr, zSchema uintptr) int32 { /* sqlite3.c:169726:16: */ var iDb int32 var nDb int32 var iTxn int32 = -1 @@ -149648,11 +149679,11 @@ func Xsqlite3_txn_state(tls *libc.TLS, db uintptr, zSchema uintptr) int32 { /* s // version forces the connection to become a zombie if there are // unclosed resources, and arranges for deallocation when the last // prepare statement or sqlite3_backup closes. -func Xsqlite3_close(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:169704:16: */ +func Xsqlite3_close(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:169761:16: */ return sqlite3Close(tls, db, 0) } -func Xsqlite3_close_v2(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:169705:16: */ +func Xsqlite3_close_v2(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:169762:16: */ return sqlite3Close(tls, db, 1) } @@ -149662,7 +149693,7 @@ func Xsqlite3_close_v2(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:169705:16 // has been a prior call to sqlite3_close(db) or sqlite3_close_v2(db)) and // every sqlite3_stmt has now been finalized and every sqlite3_backup has // finished, then free all resources. -func Xsqlite3LeaveMutexAndCloseZombie(tls *libc.TLS, db uintptr) { /* sqlite3.c:169716:21: */ +func Xsqlite3LeaveMutexAndCloseZombie(tls *libc.TLS, db uintptr) { /* sqlite3.c:169773:21: */ var i uintptr // Hash table iterator var j int32 @@ -149772,7 +149803,7 @@ func Xsqlite3LeaveMutexAndCloseZombie(tls *libc.TLS, db uintptr) { /* sqlite3.c: // breaker") and made to return tripCode if there are any further // attempts to use that cursor. Read cursors remain open and valid // but are "saved" in case the table pages are moved around. -func Xsqlite3RollbackAll(tls *libc.TLS, db uintptr, tripCode int32) { /* sqlite3.c:169839:21: */ +func Xsqlite3RollbackAll(tls *libc.TLS, db uintptr, tripCode int32) { /* sqlite3.c:169896:21: */ var i int32 var inTrans int32 = 0 var schemaChange int32 @@ -149822,7 +149853,7 @@ func Xsqlite3RollbackAll(tls *libc.TLS, db uintptr, tripCode int32) { /* sqlite3 // Return a static string that describes the kind of error specified in the // argument. -func Xsqlite3ErrStr(tls *libc.TLS, rc int32) uintptr { /* sqlite3.c:170000:27: */ +func Xsqlite3ErrStr(tls *libc.TLS, rc int32) uintptr { /* sqlite3.c:170057:27: */ var zErr uintptr = ts + 23269 /* "unknown error" */ switch rc { case SQLITE_ABORT | int32(2)<<8: @@ -149886,7 +149917,7 @@ var aMsg = [29]uintptr{ ts + 23765, ts + 23788, ts + 23809, -} /* sqlite3.c:170001:20 */ +} /* sqlite3.c:170058:20 */ // This routine implements a busy callback that sleeps and tries // again until a timeout value is reached. The timeout value is @@ -149895,7 +149926,7 @@ var aMsg = [29]uintptr{ // // Return non-zero to retry the lock. Return zero to stop trying // and cause SQLite to return SQLITE_BUSY. -func sqliteDefaultBusyCallback(tls *libc.TLS, ptr uintptr, count int32) int32 { /* sqlite3.c:170070:12: */ +func sqliteDefaultBusyCallback(tls *libc.TLS, ptr uintptr, count int32) int32 { /* sqlite3.c:170127:12: */ var db uintptr = ptr var tmout int32 = (*Sqlite3)(unsafe.Pointer(db)).FbusyTimeout var delay int32 @@ -149918,8 +149949,8 @@ func sqliteDefaultBusyCallback(tls *libc.TLS, ptr uintptr, count int32) int32 { return 1 } -var delays = [12]U8{U8(1), U8(2), U8(5), U8(10), U8(15), U8(20), U8(25), U8(25), U8(25), U8(50), U8(50), U8(100)} /* sqlite3.c:170077:19 */ -var totals = [12]U8{U8(0), U8(1), U8(3), U8(8), U8(18), U8(33), U8(53), U8(78), U8(103), U8(128), U8(178), U8(228)} /* sqlite3.c:170079:19 */ +var delays = [12]U8{U8(1), U8(2), U8(5), U8(10), U8(15), U8(20), U8(25), U8(25), U8(25), U8(50), U8(50), U8(100)} /* sqlite3.c:170134:19 */ +var totals = [12]U8{U8(0), U8(1), U8(3), U8(8), U8(18), U8(33), U8(53), U8(78), U8(103), U8(128), U8(178), U8(228)} /* sqlite3.c:170136:19 */ // Invoke the given busy handler. // @@ -149928,7 +149959,7 @@ var totals = [12]U8{U8(0), U8(1), U8(3), U8(8), U8(18), U8(33), U8(53), U8(78), // // If this routine returns non-zero, the lock is retried. If it // returns 0, the operation aborts with an SQLITE_BUSY error. -func Xsqlite3InvokeBusyHandler(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:170122:20: */ +func Xsqlite3InvokeBusyHandler(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:170179:20: */ var rc int32 if (*BusyHandler)(unsafe.Pointer(p)).FxBusyHandler == uintptr(0) || (*BusyHandler)(unsafe.Pointer(p)).FnBusy < 0 { return 0 @@ -149946,7 +149977,7 @@ func Xsqlite3InvokeBusyHandler(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:17 // This routine sets the busy callback for an Sqlite database to the // given callback function with the given argument. -func Xsqlite3_busy_handler(tls *libc.TLS, db uintptr, xBusy uintptr, pArg uintptr) int32 { /* sqlite3.c:170138:16: */ +func Xsqlite3_busy_handler(tls *libc.TLS, db uintptr, xBusy uintptr, pArg uintptr) int32 { /* sqlite3.c:170195:16: */ Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) (*Sqlite3)(unsafe.Pointer(db)).FbusyHandler.FxBusyHandler = xBusy (*Sqlite3)(unsafe.Pointer(db)).FbusyHandler.FpBusyArg = pArg @@ -149959,7 +149990,7 @@ func Xsqlite3_busy_handler(tls *libc.TLS, db uintptr, xBusy uintptr, pArg uintpt // This routine sets the progress callback for an Sqlite database to the // given callback function with the given argument. The progress callback will // be invoked every nOps opcodes. -func Xsqlite3_progress_handler(tls *libc.TLS, db uintptr, nOps int32, xProgress uintptr, pArg uintptr) { /* sqlite3.c:170161:17: */ +func Xsqlite3_progress_handler(tls *libc.TLS, db uintptr, nOps int32, xProgress uintptr, pArg uintptr) { /* sqlite3.c:170218:17: */ Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) if nOps > 0 { (*Sqlite3)(unsafe.Pointer(db)).FxProgress = xProgress @@ -149975,7 +150006,7 @@ func Xsqlite3_progress_handler(tls *libc.TLS, db uintptr, nOps int32, xProgress // This routine installs a default busy handler that waits for the // specified number of milliseconds before returning 0. -func Xsqlite3_busy_timeout(tls *libc.TLS, db uintptr, ms int32) int32 { /* sqlite3.c:170192:16: */ +func Xsqlite3_busy_timeout(tls *libc.TLS, db uintptr, ms int32) int32 { /* sqlite3.c:170249:16: */ if ms > 0 { Xsqlite3_busy_handler(tls, db, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32) int32 @@ -149989,7 +150020,7 @@ func Xsqlite3_busy_timeout(tls *libc.TLS, db uintptr, ms int32) int32 { /* sqlit } // Cause any pending operation to stop at its earliest opportunity. -func Xsqlite3_interrupt(tls *libc.TLS, db uintptr) { /* sqlite3.c:170209:17: */ +func Xsqlite3_interrupt(tls *libc.TLS, db uintptr) { /* sqlite3.c:170266:17: */ libc.AtomicStoreNInt32(db+304, int32(1), 0) } @@ -149997,7 +150028,7 @@ func Xsqlite3_interrupt(tls *libc.TLS, db uintptr) { /* sqlite3.c:170209:17: */ // that it is designed to be called by internal code. The difference is // that if a malloc() fails in sqlite3_create_function(), an error code // is returned and the mallocFailed flag cleared. -func Xsqlite3CreateFunc(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) int32 { /* sqlite3.c:170226:20: */ +func Xsqlite3CreateFunc(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) int32 { /* sqlite3.c:170283:20: */ var p uintptr var extraFlags int32 @@ -150007,7 +150038,7 @@ func Xsqlite3CreateFunc(tls *libc.TLS, db uintptr, zFunctionName uintptr, nArg i libc.Bool32(xValue == uintptr(0)) != libc.Bool32(xInverse == uintptr(0)) || (nArg < -1 || nArg > SQLITE_MAX_FUNCTION_ARG) || 255 < Xsqlite3Strlen30(tls, zFunctionName) { - return Xsqlite3MisuseError(tls, 170251) + return Xsqlite3MisuseError(tls, 170308) } extraFlags = enc & (SQLITE_DETERMINISTIC | SQLITE_DIRECTONLY | SQLITE_SUBTYPE | SQLITE_INNOCUOUS) @@ -150112,7 +150143,7 @@ func Xsqlite3CreateFunc(tls *libc.TLS, db uintptr, zFunctionName uintptr, nArg i // sqlite3_create_function() // 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) int32 { /* sqlite3.c:170360:12: */ +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) int32 { /* sqlite3.c:170417:12: */ var rc int32 var pArg uintptr rc = SQLITE_ERROR @@ -150154,22 +150185,22 @@ out: } // 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) int32 { /* sqlite3.c:170411:16: */ +func Xsqlite3_create_function(tls *libc.TLS, db uintptr, zFunc uintptr, nArg int32, enc int32, p uintptr, xSFunc uintptr, xStep uintptr, xFinal uintptr) int32 { /* sqlite3.c:170468:16: */ return createFunctionApi(tls, db, zFunc, nArg, enc, p, xSFunc, xStep, 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) int32 { /* sqlite3.c:170424:16: */ +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) int32 { /* sqlite3.c:170481:16: */ return createFunctionApi(tls, db, zFunc, nArg, enc, p, xSFunc, xStep, xFinal, uintptr(0), uintptr(0), 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) int32 { /* sqlite3.c:170438:16: */ +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) int32 { /* sqlite3.c:170495:16: */ return createFunctionApi(tls, db, zFunc, nArg, enc, p, uintptr(0), xStep, xFinal, xValue, xInverse, xDestroy) } -func Xsqlite3_create_function16(tls *libc.TLS, db uintptr, zFunctionName uintptr, nArg int32, eTextRep int32, p uintptr, xSFunc uintptr, xStep uintptr, xFinal uintptr) int32 { /* sqlite3.c:170455:16: */ +func Xsqlite3_create_function16(tls *libc.TLS, db uintptr, zFunctionName uintptr, nArg int32, eTextRep int32, p uintptr, xSFunc uintptr, xStep uintptr, xFinal uintptr) int32 { /* sqlite3.c:170512:16: */ var rc int32 var zFunc8 uintptr @@ -150189,7 +150220,7 @@ func Xsqlite3_create_function16(tls *libc.TLS, db uintptr, zFunctionName uintptr // SQL function that use this routine so that the functions will exist // for name resolution but are actually overloaded by the xFindFunction // method of virtual tables. -func sqlite3InvalidFunction(tls *libc.TLS, context uintptr, NotUsed int32, NotUsed2 uintptr) { /* sqlite3.c:170491:13: */ +func sqlite3InvalidFunction(tls *libc.TLS, context uintptr, NotUsed int32, NotUsed2 uintptr) { /* sqlite3.c:170548:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -150213,7 +150244,7 @@ func sqlite3InvalidFunction(tls *libc.TLS, context uintptr, NotUsed int32, NotUs // should call this routine to make sure the global function exists. // A global function must exist in order for name resolution to work // properly. -func Xsqlite3_overload_function(tls *libc.TLS, db uintptr, zName uintptr, nArg int32) int32 { /* sqlite3.c:170517:16: */ +func Xsqlite3_overload_function(tls *libc.TLS, db uintptr, zName uintptr, nArg int32) int32 { /* sqlite3.c:170574:16: */ var rc int32 var zCopy uintptr @@ -150239,7 +150270,7 @@ func Xsqlite3_overload_function(tls *libc.TLS, db uintptr, zName uintptr, nArg i // A NULL trace function means that no tracing is executes. A non-NULL // 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) uintptr { /* sqlite3.c:170550:17: */ +func Xsqlite3_trace(tls *libc.TLS, db uintptr, xTrace uintptr, pArg uintptr) uintptr { /* sqlite3.c:170607:17: */ var pOld uintptr Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) @@ -150257,7 +150288,7 @@ func Xsqlite3_trace(tls *libc.TLS, db uintptr, xTrace uintptr, pArg uintptr) uin } // Register a trace callback using the version-2 interface. -func Xsqlite3_trace_v2(tls *libc.TLS, db uintptr, mTrace uint32, xTrace uintptr, pArg uintptr) int32 { /* sqlite3.c:170571:16: */ +func Xsqlite3_trace_v2(tls *libc.TLS, db uintptr, mTrace uint32, xTrace uintptr, pArg uintptr) int32 { /* sqlite3.c:170628:16: */ Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) if mTrace == uint32(0) { xTrace = uintptr(0) @@ -150278,7 +150309,7 @@ func Xsqlite3_trace_v2(tls *libc.TLS, db uintptr, mTrace uint32, xTrace uintptr, // A NULL profile function means that no profiling is executes. A non-NULL // 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) uintptr { /* sqlite3.c:170601:17: */ +func Xsqlite3_profile(tls *libc.TLS, db uintptr, xProfile uintptr, pArg uintptr) uintptr { /* sqlite3.c:170658:17: */ var pOld uintptr Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) @@ -150296,7 +150327,7 @@ func Xsqlite3_profile(tls *libc.TLS, db uintptr, xProfile uintptr, pArg uintptr) // Register a function to be invoked when a transaction commits. // 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) uintptr { /* sqlite3.c:170631:17: */ +func Xsqlite3_commit_hook(tls *libc.TLS, db uintptr, xCallback uintptr, pArg uintptr) uintptr { /* sqlite3.c:170688:17: */ var pOld uintptr Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) @@ -150309,7 +150340,7 @@ func Xsqlite3_commit_hook(tls *libc.TLS, db uintptr, xCallback uintptr, pArg uin // 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) uintptr { /* sqlite3.c:170656:17: */ +func Xsqlite3_update_hook(tls *libc.TLS, db uintptr, xCallback uintptr, pArg uintptr) uintptr { /* sqlite3.c:170713:17: */ var pRet uintptr Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) @@ -150322,7 +150353,7 @@ func Xsqlite3_update_hook(tls *libc.TLS, db uintptr, xCallback uintptr, pArg uin // 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) uintptr { /* sqlite3.c:170681:17: */ +func Xsqlite3_rollback_hook(tls *libc.TLS, db uintptr, xCallback uintptr, pArg uintptr) uintptr { /* sqlite3.c:170738:17: */ var pRet uintptr Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) @@ -150335,7 +150366,7 @@ func Xsqlite3_rollback_hook(tls *libc.TLS, db uintptr, xCallback uintptr, pArg u // 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) uintptr { /* sqlite3.c:170707:17: */ +func Xsqlite3_preupdate_hook(tls *libc.TLS, db uintptr, xCallback uintptr, pArg uintptr) uintptr { /* sqlite3.c:170764:17: */ var pRet uintptr Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) pRet = (*Sqlite3)(unsafe.Pointer(db)).FpPreUpdateArg @@ -150347,7 +150378,7 @@ func Xsqlite3_preupdate_hook(tls *libc.TLS, db uintptr, xCallback uintptr, pArg // 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) int32 { /* sqlite3.c:170727:16: */ +func Xsqlite3_autovacuum_pages(tls *libc.TLS, db uintptr, xCallback uintptr, pArg uintptr, xDestructor uintptr) int32 { /* sqlite3.c:170784:16: */ Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) if (*Sqlite3)(unsafe.Pointer(db)).FxAutovacDestr != 0 { (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3)(unsafe.Pointer(db)).FxAutovacDestr})).f(tls, (*Sqlite3)(unsafe.Pointer(db)).FpAutovacPagesArg) @@ -150363,7 +150394,7 @@ func Xsqlite3_autovacuum_pages(tls *libc.TLS, db uintptr, xCallback uintptr, pAr // Invoke sqlite3_wal_checkpoint if the number of frames in the log file // is greater than sqlite3.pWalArg cast to an integer (the value configured by // wal_autocheckpoint()). -func Xsqlite3WalDefaultHook(tls *libc.TLS, pClientData uintptr, db uintptr, zDb uintptr, nFrame int32) int32 { /* sqlite3.c:170758:20: */ +func Xsqlite3WalDefaultHook(tls *libc.TLS, pClientData uintptr, db uintptr, zDb uintptr, nFrame int32) int32 { /* sqlite3.c:170815:20: */ if nFrame >= int32(pClientData) { Xsqlite3BeginBenignMalloc(tls) Xsqlite3_wal_checkpoint(tls, db, zDb) @@ -150381,7 +150412,7 @@ func Xsqlite3WalDefaultHook(tls *libc.TLS, pClientData uintptr, db uintptr, zDb // registered using sqlite3_wal_hook(). Likewise, registering a callback // using sqlite3_wal_hook() disables the automatic checkpoint mechanism // configured by this function. -func Xsqlite3_wal_autocheckpoint(tls *libc.TLS, db uintptr, nFrame int32) int32 { /* sqlite3.c:170784:16: */ +func Xsqlite3_wal_autocheckpoint(tls *libc.TLS, db uintptr, nFrame int32) int32 { /* sqlite3.c:170841:16: */ if nFrame > 0 { Xsqlite3_wal_hook(tls, db, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, uintptr, int32) int32 @@ -150394,7 +150425,7 @@ func Xsqlite3_wal_autocheckpoint(tls *libc.TLS, db uintptr, nFrame int32) int32 // 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) uintptr { /* sqlite3.c:170805:17: */ +func Xsqlite3_wal_hook(tls *libc.TLS, db uintptr, xCallback uintptr, pArg uintptr) uintptr { /* sqlite3.c:170862:17: */ var pRet uintptr Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) pRet = (*Sqlite3)(unsafe.Pointer(db)).FpWalArg @@ -150405,7 +150436,7 @@ func Xsqlite3_wal_hook(tls *libc.TLS, db uintptr, xCallback uintptr, pArg uintpt } // Checkpoint database zDb. -func Xsqlite3_wal_checkpoint_v2(tls *libc.TLS, db uintptr, zDb uintptr, eMode int32, pnLog uintptr, pnCkpt uintptr) int32 { /* sqlite3.c:170832:16: */ +func Xsqlite3_wal_checkpoint_v2(tls *libc.TLS, db uintptr, zDb uintptr, eMode int32, pnLog uintptr, pnCkpt uintptr) int32 { /* sqlite3.c:170889:16: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -150455,7 +150486,7 @@ func Xsqlite3_wal_checkpoint_v2(tls *libc.TLS, db uintptr, zDb uintptr, eMode in // Checkpoint database zDb. If zDb is NULL, or if the buffer zDb points // to contains a zero-length string, all attached databases are // checkpointed. -func Xsqlite3_wal_checkpoint(tls *libc.TLS, db uintptr, zDb uintptr) int32 { /* sqlite3.c:170896:16: */ +func Xsqlite3_wal_checkpoint(tls *libc.TLS, db uintptr, zDb uintptr) int32 { /* sqlite3.c:170953:16: */ // EVIDENCE-OF: R-41613-20553 The sqlite3_wal_checkpoint(D,X) is equivalent to // sqlite3_wal_checkpoint_v2(D,X,SQLITE_CHECKPOINT_PASSIVE,0,0). return Xsqlite3_wal_checkpoint_v2(tls, db, zDb, SQLITE_CHECKPOINT_PASSIVE, uintptr(0), uintptr(0)) @@ -150479,7 +150510,7 @@ func Xsqlite3_wal_checkpoint(tls *libc.TLS, db uintptr, zDb uintptr) int32 { /* // // Parameter eMode is one of SQLITE_CHECKPOINT_PASSIVE, FULL, RESTART // or TRUNCATE. -func Xsqlite3Checkpoint(tls *libc.TLS, db uintptr, iDb int32, eMode int32, pnLog uintptr, pnCkpt uintptr) int32 { /* sqlite3.c:170923:20: */ +func Xsqlite3Checkpoint(tls *libc.TLS, db uintptr, iDb int32, eMode int32, pnLog uintptr, pnCkpt uintptr) int32 { /* sqlite3.c:170980:20: */ var rc int32 = SQLITE_OK // Return code var i int32 // Used to iterate through attached dbs var bBusy int32 = 0 // True if SQLITE_BUSY has been encountered @@ -150521,19 +150552,19 @@ func Xsqlite3Checkpoint(tls *libc.TLS, db uintptr, iDb int32, eMode int32, pnLog // 2 2 memory (return 1) // 2 0 memory (return 1) // 3 any memory (return 1) -func Xsqlite3TempInMemory(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:170969:20: */ +func Xsqlite3TempInMemory(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:171026:20: */ return libc.Bool32(int32((*Sqlite3)(unsafe.Pointer(db)).Ftemp_store) == 2) } // Return UTF-8 encoded English language explanation of the most recent // error. -func Xsqlite3_errmsg(tls *libc.TLS, db uintptr) uintptr { /* sqlite3.c:170990:23: */ +func Xsqlite3_errmsg(tls *libc.TLS, db uintptr) uintptr { /* sqlite3.c:171047:23: */ var z uintptr if !(db != 0) { return Xsqlite3ErrStr(tls, SQLITE_NOMEM) } if !(Xsqlite3SafetyCheckSickOrOk(tls, db) != 0) { - return Xsqlite3ErrStr(tls, Xsqlite3MisuseError(tls, 170996)) + return Xsqlite3ErrStr(tls, Xsqlite3MisuseError(tls, 171053)) } Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) if (*Sqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 { @@ -150555,7 +150586,7 @@ func Xsqlite3_errmsg(tls *libc.TLS, db uintptr) uintptr { /* sqlite3.c:170990:23 } // Return the byte offset of the most recent error -func Xsqlite3_error_offset(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:171016:16: */ +func Xsqlite3_error_offset(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:171073:16: */ var iOffset int32 = -1 if db != 0 && Xsqlite3SafetyCheckSickOrOk(tls, db) != 0 && (*Sqlite3)(unsafe.Pointer(db)).FerrCode != 0 { Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) @@ -150567,7 +150598,7 @@ func Xsqlite3_error_offset(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:17101 // Return UTF-16 encoded English language explanation of the most recent // error. -func Xsqlite3_errmsg16(tls *libc.TLS, db uintptr) uintptr { /* sqlite3.c:171031:23: */ +func Xsqlite3_errmsg16(tls *libc.TLS, db uintptr) uintptr { /* sqlite3.c:171088:23: */ var z uintptr if !(db != 0) { return uintptr(uintptr(unsafe.Pointer(&outOfMem))) @@ -150596,18 +150627,18 @@ func Xsqlite3_errmsg16(tls *libc.TLS, db uintptr) uintptr { /* sqlite3.c:171031: var outOfMem = [14]U16{ U16('o'), U16('u'), U16('t'), U16(' '), U16('o'), U16('f'), U16(' '), U16('m'), U16('e'), U16('m'), U16('o'), U16('r'), U16('y'), U16(0), -} /* sqlite3.c:171032:20 */ +} /* sqlite3.c:171089:20 */ var misuse = [34]U16{ U16('b'), U16('a'), U16('d'), U16(' '), U16('p'), U16('a'), U16('r'), U16('a'), U16('m'), U16('e'), U16('t'), U16('e'), U16('r'), U16(' '), U16('o'), U16('r'), U16(' '), U16('o'), U16('t'), U16('h'), U16('e'), U16('r'), U16(' '), U16('A'), U16('P'), U16('I'), U16(' '), U16('m'), U16('i'), U16('s'), U16('u'), U16('s'), U16('e'), U16(0), -} /* sqlite3.c:171035:20 */ +} /* sqlite3.c:171092:20 */ // Return the most recent error code generated by an SQLite routine. If NULL is // passed to this function, we assume a malloc() failed during sqlite3_open(). -func Xsqlite3_errcode(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:171073:16: */ +func Xsqlite3_errcode(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:171130:16: */ if db != 0 && !(Xsqlite3SafetyCheckSickOrOk(tls, db) != 0) { - return Xsqlite3MisuseError(tls, 171075) + return Xsqlite3MisuseError(tls, 171132) } if !(db != 0) || (*Sqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 { return SQLITE_NOMEM @@ -150615,9 +150646,9 @@ func Xsqlite3_errcode(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:171073:16: return (*Sqlite3)(unsafe.Pointer(db)).FerrCode & (*Sqlite3)(unsafe.Pointer(db)).FerrMask } -func Xsqlite3_extended_errcode(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:171082:16: */ +func Xsqlite3_extended_errcode(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:171139:16: */ if db != 0 && !(Xsqlite3SafetyCheckSickOrOk(tls, db) != 0) { - return Xsqlite3MisuseError(tls, 171084) + return Xsqlite3MisuseError(tls, 171141) } if !(db != 0) || (*Sqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 { return SQLITE_NOMEM @@ -150625,7 +150656,7 @@ func Xsqlite3_extended_errcode(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:1 return (*Sqlite3)(unsafe.Pointer(db)).FerrCode } -func Xsqlite3_system_errno(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:171091:16: */ +func Xsqlite3_system_errno(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:171148:16: */ if db != 0 { return (*Sqlite3)(unsafe.Pointer(db)).FiSysErrno } @@ -150635,13 +150666,13 @@ func Xsqlite3_system_errno(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:17109 // Return a string that describes the kind of error specified in the // argument. For now, this simply calls the internal sqlite3ErrStr() // function. -func Xsqlite3_errstr(tls *libc.TLS, rc int32) uintptr { /* sqlite3.c:171100:23: */ +func Xsqlite3_errstr(tls *libc.TLS, rc int32) uintptr { /* sqlite3.c:171157:23: */ return Xsqlite3ErrStr(tls, rc) } // 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 U8, pCtx uintptr, xCompare uintptr, xDel uintptr) int32 { /* sqlite3.c:171108:12: */ +func createCollation(tls *libc.TLS, db uintptr, zName uintptr, enc U8, pCtx uintptr, xCompare uintptr, xDel uintptr) int32 { /* sqlite3.c:171165:12: */ var pColl uintptr var enc2 int32 @@ -150654,7 +150685,7 @@ func createCollation(tls *libc.TLS, db uintptr, zName uintptr, enc U8, pCtx uint enc2 = SQLITE_UTF16LE } if enc2 < SQLITE_UTF8 || enc2 > SQLITE_UTF16BE { - return Xsqlite3MisuseError(tls, 171132) + return Xsqlite3MisuseError(tls, 171189) } // Check if this call is removing or replacing an existing collation @@ -150717,7 +150748,7 @@ var aHardLimit = [12]int32{ SQLITE_MAX_VARIABLE_NUMBER, // IMP: R-38091-32352 SQLITE_MAX_TRIGGER_DEPTH, SQLITE_MAX_WORKER_THREADS, -} /* sqlite3.c:171185:18 */ +} /* sqlite3.c:171242:18 */ // Make sure the hard limits are set to reasonable values @@ -150729,7 +150760,7 @@ var aHardLimit = [12]int32{ // A new lower limit does not shrink existing constructs. // It merely prevents new constructs that exceed the limit // from forming. -func Xsqlite3_limit(tls *libc.TLS, db uintptr, limitId int32, newLimit int32) int32 { /* sqlite3.c:171248:16: */ +func Xsqlite3_limit(tls *libc.TLS, db uintptr, limitId int32, newLimit int32) int32 { /* sqlite3.c:171305:16: */ var oldLimit int32 // EVIDENCE-OF: R-30189-54097 For each limit category SQLITE_LIMIT_NAME @@ -150776,7 +150807,7 @@ func Xsqlite3_limit(tls *libc.TLS, db uintptr, limitId int32, newLimit int32) in // may be set to point to a buffer containing an English language error // message. It is the responsibility of the caller to eventually release // this buffer by calling sqlite3_free(). -func Xsqlite3ParseUri(tls *libc.TLS, zDefaultVfs uintptr, zUri uintptr, pFlags uintptr, ppVfs uintptr, pzFile uintptr, pzErrMsg uintptr) int32 { /* sqlite3.c:171320:20: */ +func Xsqlite3ParseUri(tls *libc.TLS, zDefaultVfs uintptr, zUri uintptr, pFlags uintptr, ppVfs uintptr, pzFile uintptr, pzErrMsg uintptr) int32 { /* sqlite3.c:171377:20: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -151113,24 +151144,24 @@ __43: type OpenMode = struct { Fz uintptr Fmode int32 -} /* sqlite3.c:171462:9 */ +} /* sqlite3.c:171519:9 */ var aCacheMode = [3]OpenMode{ {Fz: ts + 24147, Fmode: SQLITE_OPEN_SHAREDCACHE}, {Fz: ts + 24154, Fmode: SQLITE_OPEN_PRIVATECACHE}, {}, -} /* sqlite3.c:171471:34 */ +} /* sqlite3.c:171528:34 */ var aOpenMode = [5]OpenMode{ {Fz: ts + 24162, Fmode: SQLITE_OPEN_READONLY}, {Fz: ts + 24165, Fmode: SQLITE_OPEN_READWRITE}, {Fz: ts + 24168, Fmode: SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE}, {Fz: ts + 17269, Fmode: SQLITE_OPEN_MEMORY}, {}, -} /* sqlite3.c:171483:34 */ +} /* sqlite3.c:171540:34 */ // This routine does the core work of extracting URI parameters from a // database filename for the sqlite3_uri_parameter() interface. -func uriParameter(tls *libc.TLS, zFilename uintptr, zParam uintptr) uintptr { /* sqlite3.c:171557:19: */ +func uriParameter(tls *libc.TLS, zFilename uintptr, zParam uintptr) uintptr { /* sqlite3.c:171614:19: */ zFilename += uintptr(Xsqlite3Strlen30(tls, zFilename) + 1) for zFilename != uintptr(0) && *(*int8)(unsafe.Pointer(zFilename)) != 0 { var x int32 = libc.Xstrcmp(tls, zFilename, zParam) @@ -151146,7 +151177,7 @@ func uriParameter(tls *libc.TLS, zFilename uintptr, zParam uintptr) uintptr { /* // This routine does the work of opening a database on behalf of // sqlite3_open() and sqlite3_open16(). The database filename "zFilename" // is UTF-8 encoded. -func openDatabase(tls *libc.TLS, zFilename uintptr, ppDb uintptr, flags uint32, zVfs uintptr) int32 { /* sqlite3.c:171575:12: */ +func openDatabase(tls *libc.TLS, zFilename uintptr, ppDb uintptr, flags uint32, zVfs uintptr) int32 { /* sqlite3.c:171632:12: */ bp := tls.Alloc(20) defer tls.Free(20) *(*uint32)(unsafe.Pointer(bp + 8)) = flags @@ -151330,7 +151361,7 @@ __15: if !(int32(1)<<(*(*uint32)(unsafe.Pointer(bp + 8))&uint32(7))&0x46 == 0) { goto __16 } - rc = Xsqlite3MisuseError(tls, 171788) // IMP: R-18321-05872 + rc = Xsqlite3MisuseError(tls, 171845) // IMP: R-18321-05872 goto __17 __16: rc = Xsqlite3ParseUri(tls, zVfs, zFilename, bp+8, db, bp+12, bp+16) @@ -151486,17 +151517,17 @@ __32: } // Open a new database handle. -func Xsqlite3_open(tls *libc.TLS, zFilename uintptr, ppDb uintptr) int32 { /* sqlite3.c:171910:16: */ +func Xsqlite3_open(tls *libc.TLS, zFilename uintptr, ppDb uintptr) int32 { /* sqlite3.c:171967:16: */ return openDatabase(tls, zFilename, ppDb, uint32(SQLITE_OPEN_READWRITE|SQLITE_OPEN_CREATE), uintptr(0)) } -func Xsqlite3_open_v2(tls *libc.TLS, filename uintptr, ppDb uintptr, flags int32, zVfs uintptr) int32 { /* sqlite3.c:171917:16: */ +func Xsqlite3_open_v2(tls *libc.TLS, filename uintptr, ppDb uintptr, flags int32, zVfs uintptr) int32 { /* sqlite3.c:171974:16: */ return openDatabase(tls, filename, ppDb, uint32(flags), zVfs) } // Open a new database handle. -func Xsqlite3_open16(tls *libc.TLS, zFilename uintptr, ppDb uintptr) int32 { /* sqlite3.c:171930:16: */ +func Xsqlite3_open16(tls *libc.TLS, zFilename uintptr, ppDb uintptr) int32 { /* sqlite3.c:171987:16: */ var zFilename8 uintptr // zFilename encoded in UTF-8 instead of UTF-16 var pVal uintptr var rc int32 @@ -151528,12 +151559,12 @@ func Xsqlite3_open16(tls *libc.TLS, zFilename uintptr, ppDb uintptr) int32 { /* } // 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) int32 { /* sqlite3.c:171969:16: */ +func Xsqlite3_create_collation(tls *libc.TLS, db uintptr, zName uintptr, enc int32, pCtx uintptr, xCompare uintptr) int32 { /* sqlite3.c:172026:16: */ return Xsqlite3_create_collation_v2(tls, db, zName, enc, pCtx, xCompare, uintptr(0)) } // 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) int32 { /* sqlite3.c:171982:16: */ +func Xsqlite3_create_collation_v2(tls *libc.TLS, db uintptr, zName uintptr, enc int32, pCtx uintptr, xCompare uintptr, xDel uintptr) int32 { /* sqlite3.c:172039:16: */ var rc int32 Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) @@ -151545,7 +151576,7 @@ func Xsqlite3_create_collation_v2(tls *libc.TLS, db uintptr, zName uintptr, enc } // 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) int32 { /* sqlite3.c:172007:16: */ +func Xsqlite3_create_collation16(tls *libc.TLS, db uintptr, zName uintptr, enc int32, pCtx uintptr, xCompare uintptr) int32 { /* sqlite3.c:172064:16: */ var rc int32 = SQLITE_OK var zName8 uintptr @@ -151563,7 +151594,7 @@ func Xsqlite3_create_collation16(tls *libc.TLS, db uintptr, zName uintptr, enc i // 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) int32 { /* sqlite3.c:172037:16: */ +func Xsqlite3_collation_needed(tls *libc.TLS, db uintptr, pCollNeededArg uintptr, xCollNeeded uintptr) int32 { /* sqlite3.c:172094:16: */ Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) (*Sqlite3)(unsafe.Pointer(db)).FxCollNeeded = xCollNeeded (*Sqlite3)(unsafe.Pointer(db)).FxCollNeeded16 = uintptr(0) @@ -151574,7 +151605,7 @@ func Xsqlite3_collation_needed(tls *libc.TLS, db uintptr, pCollNeededArg uintptr // 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) int32 { /* sqlite3.c:172058:16: */ +func Xsqlite3_collation_needed16(tls *libc.TLS, db uintptr, pCollNeededArg uintptr, xCollNeeded16 uintptr) int32 { /* sqlite3.c:172115:16: */ Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) (*Sqlite3)(unsafe.Pointer(db)).FxCollNeeded = uintptr(0) (*Sqlite3)(unsafe.Pointer(db)).FxCollNeeded16 = xCollNeeded16 @@ -151585,7 +151616,7 @@ func Xsqlite3_collation_needed16(tls *libc.TLS, db uintptr, pCollNeededArg uintp // This function is now an anachronism. It used to be used to recover from a // malloc() failure, but SQLite now does this automatically. -func Xsqlite3_global_recover(tls *libc.TLS) int32 { /* sqlite3.c:172080:16: */ +func Xsqlite3_global_recover(tls *libc.TLS) int32 { /* sqlite3.c:172137:16: */ return SQLITE_OK } @@ -151593,7 +151624,7 @@ func Xsqlite3_global_recover(tls *libc.TLS) int32 { /* sqlite3.c:172080:16: */ // mode. Return TRUE if it is and FALSE if not. Autocommit mode is on // by default. Autocommit is disabled by a BEGIN statement and reenabled // by the next COMMIT or ROLLBACK. -func Xsqlite3_get_autocommit(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:172091:16: */ +func Xsqlite3_get_autocommit(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:172148:16: */ return int32((*Sqlite3)(unsafe.Pointer(db)).FautoCommit) } @@ -151606,7 +151637,7 @@ func Xsqlite3_get_autocommit(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:172 // // 2. Invoke sqlite3_log() to provide the source code location where // a low-level error is first detected. -func Xsqlite3ReportError(tls *libc.TLS, iErr int32, lineno int32, zType uintptr) int32 { /* sqlite3.c:172112:20: */ +func Xsqlite3ReportError(tls *libc.TLS, iErr int32, lineno int32, zType uintptr) int32 { /* sqlite3.c:172169:20: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -151615,17 +151646,17 @@ func Xsqlite3ReportError(tls *libc.TLS, iErr int32, lineno int32, zType uintptr) return iErr } -func Xsqlite3CorruptError(tls *libc.TLS, lineno int32) int32 { /* sqlite3.c:172117:20: */ +func Xsqlite3CorruptError(tls *libc.TLS, lineno int32) int32 { /* sqlite3.c:172174:20: */ return Xsqlite3ReportError(tls, SQLITE_CORRUPT, lineno, ts+24206) } -func Xsqlite3MisuseError(tls *libc.TLS, lineno int32) int32 { /* sqlite3.c:172121:20: */ +func Xsqlite3MisuseError(tls *libc.TLS, lineno int32) int32 { /* sqlite3.c:172178:20: */ return Xsqlite3ReportError(tls, SQLITE_MISUSE, lineno, ts+24226) } -func Xsqlite3CantopenError(tls *libc.TLS, lineno int32) int32 { /* sqlite3.c:172125:20: */ +func Xsqlite3CantopenError(tls *libc.TLS, lineno int32) int32 { /* sqlite3.c:172182:20: */ return Xsqlite3ReportError(tls, SQLITE_CANTOPEN, lineno, ts+24233) } @@ -151635,12 +151666,12 @@ func Xsqlite3CantopenError(tls *libc.TLS, lineno int32) int32 { /* sqlite3.c:172 // // SQLite no longer uses thread-specific data so this routine is now a // no-op. It is retained for historical compatibility. -func Xsqlite3_thread_cleanup(tls *libc.TLS) { /* sqlite3.c:172156:17: */ +func Xsqlite3_thread_cleanup(tls *libc.TLS) { /* sqlite3.c:172213:17: */ } // Return meta information about a specific column of a database table. // See comment in sqlite3.h (sqlite.h.in) for details. -func Xsqlite3_table_column_metadata(tls *libc.TLS, db uintptr, zDbName uintptr, zTableName uintptr, zColumnName uintptr, pzDataType uintptr, pzCollSeq uintptr, pNotNull uintptr, pPrimaryKey uintptr, pAutoinc uintptr) int32 { /* sqlite3.c:172164:16: */ +func Xsqlite3_table_column_metadata(tls *libc.TLS, db uintptr, zDbName uintptr, zTableName uintptr, zColumnName uintptr, pzDataType uintptr, pzCollSeq uintptr, pNotNull uintptr, pPrimaryKey uintptr, pAutoinc uintptr) int32 { /* sqlite3.c:172221:16: */ bp := tls.Alloc(28) defer tls.Free(28) @@ -151824,7 +151855,7 @@ __20: } // Sleep for a little while. Return the amount of time slept. -func Xsqlite3_sleep(tls *libc.TLS, ms int32) int32 { /* sqlite3.c:172282:16: */ +func Xsqlite3_sleep(tls *libc.TLS, ms int32) int32 { /* sqlite3.c:172339:16: */ var pVfs uintptr var rc int32 pVfs = Xsqlite3_vfs_find(tls, uintptr(0)) @@ -151839,7 +151870,7 @@ func Xsqlite3_sleep(tls *libc.TLS, ms int32) int32 { /* sqlite3.c:172282:16: */ } // Enable or disable the extended result codes. -func Xsqlite3_extended_result_codes(tls *libc.TLS, db uintptr, onoff int32) int32 { /* sqlite3.c:172298:16: */ +func Xsqlite3_extended_result_codes(tls *libc.TLS, db uintptr, onoff int32) int32 { /* sqlite3.c:172355:16: */ Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) (*Sqlite3)(unsafe.Pointer(db)).FerrMask = func() int32 { if onoff != 0 { @@ -151852,7 +151883,7 @@ func Xsqlite3_extended_result_codes(tls *libc.TLS, db uintptr, onoff int32) int3 } // Invoke the xFileControl method on a particular database. -func Xsqlite3_file_control(tls *libc.TLS, db uintptr, zDbName uintptr, op int32, pArg uintptr) int32 { /* sqlite3.c:172311:16: */ +func Xsqlite3_file_control(tls *libc.TLS, db uintptr, zDbName uintptr, op int32, pArg uintptr) int32 { /* sqlite3.c:172368:16: */ var rc int32 = SQLITE_ERROR var pBtree uintptr @@ -151897,7 +151928,7 @@ func Xsqlite3_file_control(tls *libc.TLS, db uintptr, zDbName uintptr, op int32, } // Interface to the testing logic. -func Xsqlite3_test_control(tls *libc.TLS, op int32, va uintptr) int32 { /* sqlite3.c:172361:16: */ +func Xsqlite3_test_control(tls *libc.TLS, op int32, va uintptr) int32 { /* sqlite3.c:172418:16: */ var rc int32 = 0 var ap Va_list _ = ap @@ -152356,7 +152387,7 @@ func Xsqlite3_test_control(tls *libc.TLS, op int32, va uintptr) int32 { /* sqlit // backwards for the first byte following four consecutive zero bytes. // // This only works if the filename passed in was obtained from the Pager. -func databaseName(tls *libc.TLS, zName uintptr) uintptr { /* sqlite3.c:172857:19: */ +func databaseName(tls *libc.TLS, zName uintptr) uintptr { /* sqlite3.c:172914:19: */ for int32(*(*int8)(unsafe.Pointer(zName + libc.UintptrFromInt32(-1)))) != 0 || int32(*(*int8)(unsafe.Pointer(zName + libc.UintptrFromInt32(-2)))) != 0 || int32(*(*int8)(unsafe.Pointer(zName + libc.UintptrFromInt32(-3)))) != 0 || int32(*(*int8)(unsafe.Pointer(zName + libc.UintptrFromInt32(-4)))) != 0 { zName-- } @@ -152365,7 +152396,7 @@ func databaseName(tls *libc.TLS, zName uintptr) uintptr { /* sqlite3.c:172857:19 // Append text z[] to the end of p[]. Return a pointer to the first // character after then zero terminator on the new text in p[]. -func appendText(tls *libc.TLS, p uintptr, z uintptr) uintptr { /* sqlite3.c:172868:13: */ +func appendText(tls *libc.TLS, p uintptr, z uintptr) uintptr { /* sqlite3.c:172925:13: */ var n Size_t = libc.Xstrlen(tls, z) libc.Xmemcpy(tls, p, z, n+Size_t(1)) return p + uintptr(n) + uintptr(1) @@ -152378,7 +152409,7 @@ func appendText(tls *libc.TLS, p uintptr, z uintptr) uintptr { /* sqlite3.c:1728 // // Memory layout must be compatible with that generated by the pager // and expected by sqlite3_uri_parameter() and databaseName(). -func Xsqlite3_create_filename(tls *libc.TLS, zDatabase uintptr, zJournal uintptr, zWal uintptr, nParam int32, azParam uintptr) uintptr { /* sqlite3.c:172883:17: */ +func Xsqlite3_create_filename(tls *libc.TLS, zDatabase uintptr, zJournal uintptr, zWal uintptr, nParam int32, azParam uintptr) uintptr { /* sqlite3.c:172940:17: */ var nByte Sqlite3_int64 var i int32 var pResult uintptr @@ -152409,7 +152440,7 @@ func Xsqlite3_create_filename(tls *libc.TLS, zDatabase uintptr, zJournal uintptr // Free memory obtained from sqlite3_create_filename(). It is a severe // error to call this routine with any parameter other than a pointer // previously obtained from sqlite3_create_filename() or a NULL pointer. -func Xsqlite3_free_filename(tls *libc.TLS, p uintptr) { /* sqlite3.c:172919:17: */ +func Xsqlite3_free_filename(tls *libc.TLS, p uintptr) { /* sqlite3.c:172976:17: */ if p == uintptr(0) { return } @@ -152426,7 +152457,7 @@ func Xsqlite3_free_filename(tls *libc.TLS, p uintptr) { /* sqlite3.c:172919:17: // query parameter we seek. This routine returns the value of the zParam // parameter if it exists. If the parameter does not exist, this routine // returns a NULL pointer. -func Xsqlite3_uri_parameter(tls *libc.TLS, zFilename uintptr, zParam uintptr) uintptr { /* sqlite3.c:172937:23: */ +func Xsqlite3_uri_parameter(tls *libc.TLS, zFilename uintptr, zParam uintptr) uintptr { /* sqlite3.c:172994:23: */ if zFilename == uintptr(0) || zParam == uintptr(0) { return uintptr(0) } @@ -152435,7 +152466,7 @@ func Xsqlite3_uri_parameter(tls *libc.TLS, zFilename uintptr, zParam uintptr) ui } // Return a pointer to the name of Nth query parameter of the filename. -func Xsqlite3_uri_key(tls *libc.TLS, zFilename uintptr, N int32) uintptr { /* sqlite3.c:172946:23: */ +func Xsqlite3_uri_key(tls *libc.TLS, zFilename uintptr, N int32) uintptr { /* sqlite3.c:173003:23: */ if zFilename == uintptr(0) || N < 0 { return uintptr(0) } @@ -152452,7 +152483,7 @@ func Xsqlite3_uri_key(tls *libc.TLS, zFilename uintptr, N int32) uintptr { /* sq } // Return a boolean value for a query parameter. -func Xsqlite3_uri_boolean(tls *libc.TLS, zFilename uintptr, zParam uintptr, bDflt int32) int32 { /* sqlite3.c:172960:16: */ +func Xsqlite3_uri_boolean(tls *libc.TLS, zFilename uintptr, zParam uintptr, bDflt int32) int32 { /* sqlite3.c:173017:16: */ var z uintptr = Xsqlite3_uri_parameter(tls, zFilename, zParam) bDflt = libc.Bool32(bDflt != 0) if z != 0 { @@ -152462,7 +152493,7 @@ func Xsqlite3_uri_boolean(tls *libc.TLS, zFilename uintptr, zParam uintptr, bDfl } // Return a 64-bit integer value for a query parameter. -func Xsqlite3_uri_int64(tls *libc.TLS, zFilename uintptr, zParam uintptr, bDflt Sqlite3_int64) Sqlite3_int64 { /* sqlite3.c:172969:26: */ +func Xsqlite3_uri_int64(tls *libc.TLS, zFilename uintptr, zParam uintptr, bDflt Sqlite3_int64) Sqlite3_int64 { /* sqlite3.c:173026:26: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -152483,14 +152514,14 @@ func Xsqlite3_uri_int64(tls *libc.TLS, zFilename uintptr, zParam uintptr, bDflt // passing free() a pointer that was not obtained from malloc() - it is // an error that we cannot easily detect but that will likely cause memory // corruption. -func Xsqlite3_filename_database(tls *libc.TLS, zFilename uintptr) uintptr { /* sqlite3.c:172992:23: */ +func Xsqlite3_filename_database(tls *libc.TLS, zFilename uintptr) uintptr { /* sqlite3.c:173049:23: */ if zFilename == uintptr(0) { return uintptr(0) } return databaseName(tls, zFilename) } -func Xsqlite3_filename_journal(tls *libc.TLS, zFilename uintptr) uintptr { /* sqlite3.c:172996:23: */ +func Xsqlite3_filename_journal(tls *libc.TLS, zFilename uintptr) uintptr { /* sqlite3.c:173053:23: */ if zFilename == uintptr(0) { return uintptr(0) } @@ -152503,7 +152534,7 @@ func Xsqlite3_filename_journal(tls *libc.TLS, zFilename uintptr) uintptr { /* sq return zFilename + uintptr(1) } -func Xsqlite3_filename_wal(tls *libc.TLS, zFilename uintptr) uintptr { /* sqlite3.c:173006:23: */ +func Xsqlite3_filename_wal(tls *libc.TLS, zFilename uintptr) uintptr { /* sqlite3.c:173063:23: */ zFilename = Xsqlite3_filename_journal(tls, zFilename) if zFilename != 0 { zFilename += uintptr(Xsqlite3Strlen30(tls, zFilename) + 1) @@ -152512,7 +152543,7 @@ func Xsqlite3_filename_wal(tls *libc.TLS, zFilename uintptr) uintptr { /* sqlite } // Return the Btree pointer identified by zDbName. Return NULL if not found. -func Xsqlite3DbNameToBtree(tls *libc.TLS, db uintptr, zDbName uintptr) uintptr { /* sqlite3.c:173019:22: */ +func Xsqlite3DbNameToBtree(tls *libc.TLS, db uintptr, zDbName uintptr) uintptr { /* sqlite3.c:173076:22: */ var iDb int32 if zDbName != 0 { iDb = Xsqlite3FindDbName(tls, db, zDbName) @@ -152527,7 +152558,7 @@ func Xsqlite3DbNameToBtree(tls *libc.TLS, db uintptr, zDbName uintptr) uintptr { // Return the filename of the database associated with a database // connection. -func Xsqlite3_db_filename(tls *libc.TLS, db uintptr, zDbName uintptr) uintptr { /* sqlite3.c:173028:23: */ +func Xsqlite3_db_filename(tls *libc.TLS, db uintptr, zDbName uintptr) uintptr { /* sqlite3.c:173085:23: */ var pBt uintptr pBt = Xsqlite3DbNameToBtree(tls, db, zDbName) if pBt != 0 { @@ -152538,7 +152569,7 @@ func Xsqlite3_db_filename(tls *libc.TLS, db uintptr, zDbName uintptr) uintptr { // Return 1 if database is read-only or 0 if read/write. Return -1 if // no such database exists. -func Xsqlite3_db_readonly(tls *libc.TLS, db uintptr, zDbName uintptr) int32 { /* sqlite3.c:173044:16: */ +func Xsqlite3_db_readonly(tls *libc.TLS, db uintptr, zDbName uintptr) int32 { /* sqlite3.c:173101:16: */ var pBt uintptr pBt = Xsqlite3DbNameToBtree(tls, db, zDbName) if pBt != 0 { @@ -152549,7 +152580,7 @@ func Xsqlite3_db_readonly(tls *libc.TLS, db uintptr, zDbName uintptr) int32 { /* // Obtain a snapshot handle for the snapshot of database zDb currently // being read by handle db. -func Xsqlite3_snapshot_get(tls *libc.TLS, db uintptr, zDb uintptr, ppSnapshot uintptr) int32 { /* sqlite3.c:173061:16: */ +func Xsqlite3_snapshot_get(tls *libc.TLS, db uintptr, zDb uintptr, ppSnapshot uintptr) int32 { /* sqlite3.c:173118:16: */ var rc int32 = SQLITE_ERROR Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) @@ -152572,7 +152603,7 @@ func Xsqlite3_snapshot_get(tls *libc.TLS, db uintptr, zDb uintptr, ppSnapshot ui } // Open a read-transaction on the snapshot idendified by pSnapshot. -func Xsqlite3_snapshot_open(tls *libc.TLS, db uintptr, zDb uintptr, pSnapshot uintptr) int32 { /* sqlite3.c:173097:16: */ +func Xsqlite3_snapshot_open(tls *libc.TLS, db uintptr, zDb uintptr, pSnapshot uintptr) int32 { /* sqlite3.c:173154:16: */ var rc int32 = SQLITE_ERROR Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) @@ -152615,7 +152646,7 @@ func Xsqlite3_snapshot_open(tls *libc.TLS, db uintptr, zDb uintptr, pSnapshot ui // Recover as many snapshots as possible from the wal file associated with // schema zDb of database db. -func Xsqlite3_snapshot_recover(tls *libc.TLS, db uintptr, zDb uintptr) int32 { /* sqlite3.c:173153:16: */ +func Xsqlite3_snapshot_recover(tls *libc.TLS, db uintptr, zDb uintptr) int32 { /* sqlite3.c:173210:16: */ var rc int32 = SQLITE_ERROR var iDb int32 @@ -152636,7 +152667,7 @@ func Xsqlite3_snapshot_recover(tls *libc.TLS, db uintptr, zDb uintptr) int32 { / } // Free a snapshot handle obtained from sqlite3_snapshot_get(). -func Xsqlite3_snapshot_free(tls *libc.TLS, pSnapshot uintptr) { /* sqlite3.c:173184:17: */ +func Xsqlite3_snapshot_free(tls *libc.TLS, pSnapshot uintptr) { /* sqlite3.c:173241:17: */ Xsqlite3_free(tls, pSnapshot) } @@ -152645,7 +152676,7 @@ func Xsqlite3_snapshot_free(tls *libc.TLS, pSnapshot uintptr) { /* sqlite3.c:173 // // The name can optionally begin with "SQLITE_" but the "SQLITE_" prefix // is not required for a match. -func Xsqlite3_compileoption_used(tls *libc.TLS, zOptName uintptr) int32 { /* sqlite3.c:173197:16: */ +func Xsqlite3_compileoption_used(tls *libc.TLS, zOptName uintptr) int32 { /* sqlite3.c:173254:16: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -152675,7 +152706,7 @@ func Xsqlite3_compileoption_used(tls *libc.TLS, zOptName uintptr) int32 { /* sql // Return the N-th compile-time option string. If N is out of range, // return a NULL pointer. -func Xsqlite3_compileoption_get(tls *libc.TLS, N int32) uintptr { /* sqlite3.c:173230:23: */ +func Xsqlite3_compileoption_get(tls *libc.TLS, N int32) uintptr { /* sqlite3.c:173287:23: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -152720,11 +152751,11 @@ func Xsqlite3_compileoption_get(tls *libc.TLS, N int32) uintptr { /* sqlite3.c:1 // for which either sqlite3.pBlockingConnection or sqlite3.pUnlockConnection // is not NULL. This variable may only accessed while the STATIC_MAIN // mutex is held. -var sqlite3BlockedList uintptr = uintptr(0) /* sqlite3.c:173282:16 */ +var sqlite3BlockedList uintptr = uintptr(0) /* sqlite3.c:173339:16 */ // Remove connection db from the blocked connections list. If connection // db is not currently a part of the list, this function is a no-op. -func removeFromBlockedList(tls *libc.TLS, db uintptr) { /* sqlite3.c:173325:13: */ +func removeFromBlockedList(tls *libc.TLS, db uintptr) { /* sqlite3.c:173382:13: */ var pp uintptr for pp = uintptr(unsafe.Pointer(&sqlite3BlockedList)); *(*uintptr)(unsafe.Pointer(pp)) != 0; pp = *(*uintptr)(unsafe.Pointer(pp)) + 552 { @@ -152737,7 +152768,7 @@ func removeFromBlockedList(tls *libc.TLS, db uintptr) { /* sqlite3.c:173325:13: // Add connection db to the blocked connections list. It is assumed // that it is not already a part of the list. -func addToBlockedList(tls *libc.TLS, db uintptr) { /* sqlite3.c:173340:13: */ +func addToBlockedList(tls *libc.TLS, db uintptr) { /* sqlite3.c:173397:13: */ var pp uintptr for pp = uintptr(unsafe.Pointer(&sqlite3BlockedList)); *(*uintptr)(unsafe.Pointer(pp)) != 0 && (*Sqlite3)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pp)))).FxUnlockNotify != (*Sqlite3)(unsafe.Pointer(db)).FxUnlockNotify; pp = *(*uintptr)(unsafe.Pointer(pp)) + 552 { @@ -152747,13 +152778,13 @@ func addToBlockedList(tls *libc.TLS, db uintptr) { /* sqlite3.c:173340:13: */ } // Obtain the STATIC_MAIN mutex. -func enterMutex(tls *libc.TLS) { /* sqlite3.c:173355:13: */ +func enterMutex(tls *libc.TLS) { /* sqlite3.c:173412:13: */ Xsqlite3_mutex_enter(tls, Xsqlite3MutexAlloc(tls, SQLITE_MUTEX_STATIC_MAIN)) } // Release the STATIC_MAIN mutex. -func leaveMutex(tls *libc.TLS) { /* sqlite3.c:173363:13: */ +func leaveMutex(tls *libc.TLS) { /* sqlite3.c:173420:13: */ Xsqlite3_mutex_leave(tls, Xsqlite3MutexAlloc(tls, SQLITE_MUTEX_STATIC_MAIN)) } @@ -152777,7 +152808,7 @@ func leaveMutex(tls *libc.TLS) { /* sqlite3.c:173363:13: */ // Each call to this routine overrides any prior callbacks registered // 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) int32 { /* sqlite3.c:173390:16: */ +func Xsqlite3_unlock_notify(tls *libc.TLS, db uintptr, xNotify uintptr, pArg uintptr) int32 { /* sqlite3.c:173447:16: */ bp := tls.Alloc(4) defer tls.Free(4) *(*uintptr)(unsafe.Pointer(bp)) = pArg @@ -152832,7 +152863,7 @@ func Xsqlite3_unlock_notify(tls *libc.TLS, db uintptr, xNotify uintptr, pArg uin // associated with connection db. The operation will return SQLITE_LOCKED // to the user because it requires a lock that will not be available // until connection pBlocker concludes its current transaction. -func Xsqlite3ConnectionBlocked(tls *libc.TLS, db uintptr, pBlocker uintptr) { /* sqlite3.c:173440:21: */ +func Xsqlite3ConnectionBlocked(tls *libc.TLS, db uintptr, pBlocker uintptr) { /* sqlite3.c:173497:21: */ enterMutex(tls) if (*Sqlite3)(unsafe.Pointer(db)).FpBlockingConnection == uintptr(0) && (*Sqlite3)(unsafe.Pointer(db)).FpUnlockConnection == uintptr(0) { addToBlockedList(tls, db) @@ -152858,7 +152889,7 @@ func Xsqlite3ConnectionBlocked(tls *libc.TLS, db uintptr, pBlocker uintptr) { /* // 3) If the two steps above mean that pBlockingConnection==0 and // pUnlockConnection==0, remove the entry from the blocked connections // list. -func Xsqlite3ConnectionUnlocked(tls *libc.TLS, db uintptr) { /* sqlite3.c:173468:21: */ +func Xsqlite3ConnectionUnlocked(tls *libc.TLS, db uintptr) { /* sqlite3.c:173525:21: */ bp := tls.Alloc(64) defer tls.Free(64) @@ -152962,7 +152993,7 @@ func Xsqlite3ConnectionUnlocked(tls *libc.TLS, db uintptr) { /* sqlite3.c:173468 // This is called when the database connection passed as an argument is // being closed. The connection is removed from the blocked list. -func Xsqlite3ConnectionClosed(tls *libc.TLS, db uintptr) { /* sqlite3.c:173567:21: */ +func Xsqlite3ConnectionClosed(tls *libc.TLS, db uintptr) { /* sqlite3.c:173624:21: */ Xsqlite3ConnectionUnlocked(tls, db) enterMutex(tls) removeFromBlockedList(tls, db) @@ -153567,7 +153598,7 @@ var jsonIsSpace = [256]int8{ int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), -} /* sqlite3.c:193144:19 */ +} /* sqlite3.c:193201:19 */ // Objects type JsonString1 = struct { @@ -153579,10 +153610,10 @@ type JsonString1 = struct { FbErr U8 FzSpace [100]int8 F__ccgo_pad1 [2]byte -} /* sqlite3.c:193171:9 */ +} /* sqlite3.c:193228:9 */ // Objects -type JsonString = JsonString1 /* sqlite3.c:193171:27 */ +type JsonString = JsonString1 /* sqlite3.c:193228:27 */ type JsonNode1 = struct { FeType U8 FjnFlags U8 @@ -153590,9 +153621,9 @@ type JsonNode1 = struct { F__ccgo_pad1 [1]byte Fn U32 Fu struct{ FzJContent uintptr } -} /* sqlite3.c:193172:9 */ +} /* sqlite3.c:193229:9 */ -type JsonNode = JsonNode1 /* sqlite3.c:193172:25 */ +type JsonNode = JsonNode1 /* sqlite3.c:193229:25 */ type JsonParse1 = struct { FnNode U32 FnAlloc U32 @@ -153604,9 +153635,9 @@ type JsonParse1 = struct { FiDepth U16 FnJson int32 FiHold U32 -} /* sqlite3.c:193173:9 */ +} /* sqlite3.c:193230:9 */ -type JsonParse = JsonParse1 /* sqlite3.c:193173:26 */ +type JsonParse = JsonParse1 /* sqlite3.c:193230:26 */ // JSON type values @@ -153615,7 +153646,7 @@ type JsonParse = JsonParse1 /* sqlite3.c:193173:26 */ // Names of the various JSON types: var jsonType = [8]uintptr{ ts + 6132, ts + 6646, ts + 6651, ts + 6142, ts + 6137, ts + 7892, ts + 24309, ts + 24315, -} /* sqlite3.c:193206:19 */ +} /* sqlite3.c:193263:19 */ // Maximum nesting depth of JSON for this implementation. // @@ -153629,7 +153660,7 @@ var jsonType = [8]uintptr{ // // Set the JsonString object to an empty string -func jsonZero(tls *libc.TLS, p uintptr) { /* sqlite3.c:193267:13: */ +func jsonZero(tls *libc.TLS, p uintptr) { /* sqlite3.c:193324:13: */ (*JsonString)(unsafe.Pointer(p)).FzBuf = p + 26 /* &.zSpace */ (*JsonString)(unsafe.Pointer(p)).FnAlloc = U64(unsafe.Sizeof([100]int8{})) (*JsonString)(unsafe.Pointer(p)).FnUsed = uint64(0) @@ -153637,7 +153668,7 @@ func jsonZero(tls *libc.TLS, p uintptr) { /* sqlite3.c:193267:13: */ } // Initialize the JsonString object -func jsonInit(tls *libc.TLS, p uintptr, pCtx uintptr) { /* sqlite3.c:193276:13: */ +func jsonInit(tls *libc.TLS, p uintptr, pCtx uintptr) { /* sqlite3.c:193333:13: */ (*JsonString)(unsafe.Pointer(p)).FpCtx = pCtx (*JsonString)(unsafe.Pointer(p)).FbErr = U8(0) jsonZero(tls, p) @@ -153645,7 +153676,7 @@ func jsonInit(tls *libc.TLS, p uintptr, pCtx uintptr) { /* sqlite3.c:193276:13: // Free all allocated memory and reset the JsonString object back to its // initial state. -func jsonReset(tls *libc.TLS, p uintptr) { /* sqlite3.c:193286:13: */ +func jsonReset(tls *libc.TLS, p uintptr) { /* sqlite3.c:193343:13: */ if !(int32((*JsonString)(unsafe.Pointer(p)).FbStatic) != 0) { Xsqlite3_free(tls, (*JsonString)(unsafe.Pointer(p)).FzBuf) } @@ -153653,7 +153684,7 @@ func jsonReset(tls *libc.TLS, p uintptr) { /* sqlite3.c:193286:13: */ } // Report an out-of-memory (OOM) condition -func jsonOom(tls *libc.TLS, p uintptr) { /* sqlite3.c:193294:13: */ +func jsonOom(tls *libc.TLS, p uintptr) { /* sqlite3.c:193351:13: */ (*JsonString)(unsafe.Pointer(p)).FbErr = U8(1) Xsqlite3_result_error_nomem(tls, (*JsonString)(unsafe.Pointer(p)).FpCtx) jsonReset(tls, p) @@ -153661,7 +153692,7 @@ func jsonOom(tls *libc.TLS, p uintptr) { /* sqlite3.c:193294:13: */ // Enlarge pJson->zBuf so that it can hold at least N more bytes. // Return zero on success. Return non-zero on an OOM error -func jsonGrow(tls *libc.TLS, p uintptr, N U32) int32 { /* sqlite3.c:193303:12: */ +func jsonGrow(tls *libc.TLS, p uintptr, N U32) int32 { /* sqlite3.c:193360:12: */ var nTotal U64 if U64(N) < (*JsonString)(unsafe.Pointer(p)).FnAlloc { nTotal = (*JsonString)(unsafe.Pointer(p)).FnAlloc * uint64(2) @@ -153694,7 +153725,7 @@ func jsonGrow(tls *libc.TLS, p uintptr, N U32) int32 { /* sqlite3.c:193303:12: * } // Append N bytes from zIn onto the end of the JsonString string. -func jsonAppendRaw(tls *libc.TLS, p uintptr, zIn uintptr, N U32) { /* sqlite3.c:193330:13: */ +func jsonAppendRaw(tls *libc.TLS, p uintptr, zIn uintptr, N U32) { /* sqlite3.c:193387:13: */ if N == U32(0) { return } @@ -153706,7 +153737,7 @@ func jsonAppendRaw(tls *libc.TLS, p uintptr, zIn uintptr, N U32) { /* sqlite3.c: } // Append formatted text (not to exceed N bytes) to the JsonString. -func jsonPrintf(tls *libc.TLS, N int32, p uintptr, zFormat uintptr, va uintptr) { /* sqlite3.c:193339:13: */ +func jsonPrintf(tls *libc.TLS, N int32, p uintptr, zFormat uintptr, va uintptr) { /* sqlite3.c:193396:13: */ var ap Va_list _ = ap if (*JsonString)(unsafe.Pointer(p)).FnUsed+U64(N) >= (*JsonString)(unsafe.Pointer(p)).FnAlloc && jsonGrow(tls, p, uint32(N)) != 0 { @@ -153719,7 +153750,7 @@ func jsonPrintf(tls *libc.TLS, N int32, p uintptr, zFormat uintptr, va uintptr) } // Append a single character -func jsonAppendChar(tls *libc.TLS, p uintptr, c int8) { /* sqlite3.c:193350:13: */ +func jsonAppendChar(tls *libc.TLS, p uintptr, c int8) { /* sqlite3.c:193407:13: */ if (*JsonString)(unsafe.Pointer(p)).FnUsed >= (*JsonString)(unsafe.Pointer(p)).FnAlloc && jsonGrow(tls, p, uint32(1)) != 0 { return } @@ -153728,7 +153759,7 @@ func jsonAppendChar(tls *libc.TLS, p uintptr, c int8) { /* sqlite3.c:193350:13: // Append a comma separator to the output buffer, if the previous // character is not '[' or '{'. -func jsonAppendSeparator(tls *libc.TLS, p uintptr) { /* sqlite3.c:193358:13: */ +func jsonAppendSeparator(tls *libc.TLS, p uintptr) { /* sqlite3.c:193415:13: */ var c int8 if (*JsonString)(unsafe.Pointer(p)).FnUsed == uint64(0) { return @@ -153743,7 +153774,7 @@ func jsonAppendSeparator(tls *libc.TLS, p uintptr) { /* sqlite3.c:193358:13: */ // under construction. Enclose the string in "..." and escape // any double-quotes or backslash characters contained within the // string. -func jsonAppendString(tls *libc.TLS, p uintptr, zIn uintptr, N U32) { /* sqlite3.c:193370:13: */ +func jsonAppendString(tls *libc.TLS, p uintptr, zIn uintptr, N U32) { /* sqlite3.c:193427:13: */ var i U32 var c uint8 if !(zIn == uintptr(0) || U64(N)+(*JsonString)(unsafe.Pointer(p)).FnUsed+uint64(2) >= (*JsonString)(unsafe.Pointer(p)).FnAlloc && jsonGrow(tls, p, N+U32(2)) != 0) { @@ -153814,11 +153845,11 @@ __4: var aSpecial = [32]int8{ int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8('b'), int8('t'), int8('n'), int8(0), int8('f'), int8('r'), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), -} /* sqlite3.c:193381:25 */ +} /* sqlite3.c:193438:25 */ // Append a function parameter value to the JSON string under // construction. -func jsonAppendValue(tls *libc.TLS, p uintptr, pValue uintptr) { /* sqlite3.c:193413:13: */ +func jsonAppendValue(tls *libc.TLS, p uintptr, pValue uintptr) { /* sqlite3.c:193470:13: */ switch Xsqlite3_value_type(tls, pValue) { case SQLITE_NULL: { @@ -153862,7 +153893,7 @@ func jsonAppendValue(tls *libc.TLS, p uintptr, pValue uintptr) { /* sqlite3.c:19 } // Make the JSON in p the result of the SQL function. -func jsonResult(tls *libc.TLS, p uintptr) { /* sqlite3.c:193453:13: */ +func jsonResult(tls *libc.TLS, p uintptr) { /* sqlite3.c:193510:13: */ if int32((*JsonString)(unsafe.Pointer(p)).FbErr) == 0 { Xsqlite3_result_text64(tls, (*JsonString)(unsafe.Pointer(p)).FpCtx, (*JsonString)(unsafe.Pointer(p)).FzBuf, (*JsonString)(unsafe.Pointer(p)).FnUsed, func() uintptr { @@ -153889,7 +153920,7 @@ func jsonResult(tls *libc.TLS, p uintptr) { /* sqlite3.c:193453:13: */ // Appended elements are not counted. The value returned is the number // by which the JsonNode counter should increment in order to go to the // next peer value. -func jsonNodeSize(tls *libc.TLS, pNode uintptr) U32 { /* sqlite3.c:193476:12: */ +func jsonNodeSize(tls *libc.TLS, pNode uintptr) U32 { /* sqlite3.c:193533:12: */ if int32((*JsonNode)(unsafe.Pointer(pNode)).FeType) >= JSON_ARRAY { return (*JsonNode)(unsafe.Pointer(pNode)).Fn + U32(1) } @@ -153898,7 +153929,7 @@ func jsonNodeSize(tls *libc.TLS, pNode uintptr) U32 { /* sqlite3.c:193476:12: */ // Reclaim all memory allocated by a JsonParse object. But do not // delete the JsonParse object itself. -func jsonParseReset(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:193484:13: */ +func jsonParseReset(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:193541:13: */ Xsqlite3_free(tls, (*JsonParse)(unsafe.Pointer(pParse)).FaNode) (*JsonParse)(unsafe.Pointer(pParse)).FaNode = uintptr(0) (*JsonParse)(unsafe.Pointer(pParse)).FnNode = U32(0) @@ -153908,7 +153939,7 @@ func jsonParseReset(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:193484:13: */ } // Free a JsonParse object that was obtained from sqlite3_malloc(). -func jsonParseFree(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:193496:13: */ +func jsonParseFree(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:193553:13: */ jsonParseReset(tls, pParse) Xsqlite3_free(tls, pParse) } @@ -153916,7 +153947,7 @@ func jsonParseFree(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:193496:13: */ // Convert the JsonNode pNode into a pure JSON string and // append to pOut. Subsubstructure is also included. Return // the number of JsonNode objects that are encoded. -func jsonRenderNode(tls *libc.TLS, pNode uintptr, pOut uintptr, aReplace uintptr) { /* sqlite3.c:193506:13: */ +func jsonRenderNode(tls *libc.TLS, pNode uintptr, pOut uintptr, aReplace uintptr) { /* sqlite3.c:193563:13: */ if int32((*JsonNode)(unsafe.Pointer(pNode)).FjnFlags)&(JNODE_REPLACE|JNODE_PATCH) != 0 { if int32((*JsonNode)(unsafe.Pointer(pNode)).FjnFlags)&JNODE_REPLACE != 0 && aReplace != uintptr(0) { @@ -154018,7 +154049,7 @@ func jsonRenderNode(tls *libc.TLS, pNode uintptr, pOut uintptr, aReplace uintptr } // Return a JsonNode and all its descendents as a JSON string. -func jsonReturnJson(tls *libc.TLS, pNode uintptr, pCtx uintptr, aReplace uintptr) { /* sqlite3.c:193595:13: */ +func jsonReturnJson(tls *libc.TLS, pNode uintptr, pCtx uintptr, aReplace uintptr) { /* sqlite3.c:193652:13: */ bp := tls.Alloc(128) defer tls.Free(128) @@ -154033,14 +154064,14 @@ func jsonReturnJson(tls *libc.TLS, pNode uintptr, pCtx uintptr, aReplace uintptr // Translate a single byte of Hex into an integer. // This routine only works if h really is a valid hexadecimal // character: 0..9a..fA..F -func jsonHexToInt(tls *libc.TLS, h int32) U8 { /* sqlite3.c:193612:11: */ +func jsonHexToInt(tls *libc.TLS, h int32) U8 { /* sqlite3.c:193669:11: */ h = h + 9*(1&(h>>6)) return U8(h & 0xf) } // Convert a 4-byte hex string into an integer -func jsonHexToInt4(tls *libc.TLS, z uintptr) U32 { /* sqlite3.c:193625:12: */ +func jsonHexToInt4(tls *libc.TLS, z uintptr) U32 { /* sqlite3.c:193682:12: */ var v U32 v = U32(int32(jsonHexToInt(tls, int32(*(*int8)(unsafe.Pointer(z)))))<<12 + @@ -154051,7 +154082,7 @@ func jsonHexToInt4(tls *libc.TLS, z uintptr) U32 { /* sqlite3.c:193625:12: */ } // Make the JsonNode the return value of the function. -func jsonReturn(tls *libc.TLS, pNode uintptr, pCtx uintptr, aReplace uintptr) { /* sqlite3.c:193641:13: */ +func jsonReturn(tls *libc.TLS, pNode uintptr, pCtx uintptr, aReplace uintptr) { /* sqlite3.c:193698:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -154332,7 +154363,7 @@ __1: // A macro to hint to the compiler that a function should not be // inlined. -func jsonParseAddNodeExpand(tls *libc.TLS, pParse uintptr, eType U32, n U32, zContent uintptr) int32 { /* sqlite3.c:193814:26: */ +func jsonParseAddNodeExpand(tls *libc.TLS, pParse uintptr, eType U32, n U32, zContent uintptr) int32 { /* sqlite3.c:193871:26: */ var nNew U32 var pNew uintptr @@ -154354,7 +154385,7 @@ func jsonParseAddNodeExpand(tls *libc.TLS, pParse uintptr, eType U32, n U32, zCo // Create a new JsonNode instance based on the arguments and append that // instance to the JsonParse. Return the index in pParse->aNode[] of the // new node, or -1 if a memory allocation fails. -func jsonParseAddNode(tls *libc.TLS, pParse uintptr, eType U32, n U32, zContent uintptr) int32 { /* sqlite3.c:193841:12: */ +func jsonParseAddNode(tls *libc.TLS, pParse uintptr, eType U32, n U32, zContent uintptr) int32 { /* sqlite3.c:193898:12: */ var p uintptr if (*JsonParse)(unsafe.Pointer(pParse)).FaNode == uintptr(0) || (*JsonParse)(unsafe.Pointer(pParse)).FnNode >= (*JsonParse)(unsafe.Pointer(pParse)).FnAlloc { return jsonParseAddNodeExpand(tls, pParse, eType, n, zContent) @@ -154369,7 +154400,7 @@ func jsonParseAddNode(tls *libc.TLS, pParse uintptr, eType U32, n U32, zContent } // Return true if z[] begins with 4 (or more) hexadecimal digits -func jsonIs4Hex(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:193863:12: */ +func jsonIs4Hex(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:193920:12: */ var i int32 for i = 0; i < 4; i++ { if !(int32(Xsqlite3CtypeMap[uint8(*(*int8)(unsafe.Pointer(z + uintptr(i))))])&0x08 != 0) { @@ -154385,7 +154416,7 @@ func jsonIs4Hex(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:193863:12: */ // Return negative for a syntax error. Special cases: return -2 if the // first non-whitespace character is '}' and return -3 if the first // non-whitespace character is ']'. -func jsonParseValue(tls *libc.TLS, pParse uintptr, i U32) int32 { /* sqlite3.c:193877:12: */ +func jsonParseValue(tls *libc.TLS, pParse uintptr, i U32) int32 { /* sqlite3.c:193934:12: */ var c int8 var j U32 var iThis int32 @@ -154612,7 +154643,7 @@ func jsonParseValue(tls *libc.TLS, pParse uintptr, i U32) int32 { /* sqlite3.c:1 // pParse. // // pParse is uninitialized when this routine is called. -func jsonParse(tls *libc.TLS, pParse uintptr, pCtx uintptr, zJson uintptr) int32 { /* sqlite3.c:194038:12: */ +func jsonParse(tls *libc.TLS, pParse uintptr, pCtx uintptr, zJson uintptr) int32 { /* sqlite3.c:194095:12: */ var i int32 libc.Xmemset(tls, pParse, 0, uint32(unsafe.Sizeof(JsonParse{}))) if zJson == uintptr(0) { @@ -154648,7 +154679,7 @@ func jsonParse(tls *libc.TLS, pParse uintptr, pCtx uintptr, zJson uintptr) int32 // Mark node i of pParse as being a child of iParent. Call recursively // to fill in all the descendants of node i. -func jsonParseFillInParentage(tls *libc.TLS, pParse uintptr, i U32, iParent U32) { /* sqlite3.c:194071:13: */ +func jsonParseFillInParentage(tls *libc.TLS, pParse uintptr, i U32, iParent U32) { /* sqlite3.c:194128:13: */ var pNode uintptr = (*JsonParse)(unsafe.Pointer(pParse)).FaNode + uintptr(i)*12 var j U32 *(*U32)(unsafe.Pointer((*JsonParse)(unsafe.Pointer(pParse)).FaUp + uintptr(i)*4)) = iParent @@ -154679,7 +154710,7 @@ func jsonParseFillInParentage(tls *libc.TLS, pParse uintptr, i U32, iParent U32) } // Compute the parentage of all nodes in a completed parse. -func jsonParseFindParents(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:194098:12: */ +func jsonParseFindParents(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:194155:12: */ var aUp uintptr aUp = libc.AssignPtrUintptr(pParse+16, Xsqlite3_malloc64(tls, uint64(uint32(unsafe.Sizeof(U32(0)))*(*JsonParse)(unsafe.Pointer(pParse)).FnNode))) @@ -154699,7 +154730,7 @@ func jsonParseFindParents(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:19 // is no longer valid, parse the JSON again and return the new parse, // and also register the new parse so that it will be available for // future sqlite3_get_auxdata() calls. -func jsonParseCached(tls *libc.TLS, pCtx uintptr, argv uintptr, pErrCtx uintptr) uintptr { /* sqlite3.c:194124:18: */ +func jsonParseCached(tls *libc.TLS, pCtx uintptr, argv uintptr, pErrCtx uintptr) uintptr { /* sqlite3.c:194181:18: */ var zJson uintptr = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv))) var nJson int32 = Xsqlite3_value_bytes(tls, *(*uintptr)(unsafe.Pointer(argv))) var p uintptr @@ -154756,7 +154787,7 @@ func jsonParseCached(tls *libc.TLS, pCtx uintptr, argv uintptr, pErrCtx uintptr) // Compare the OBJECT label at pNode against zKey,nKey. Return true on // a match. -func jsonLabelCompare(tls *libc.TLS, pNode uintptr, zKey uintptr, nKey U32) int32 { /* sqlite3.c:194186:12: */ +func jsonLabelCompare(tls *libc.TLS, pNode uintptr, zKey uintptr, nKey U32) int32 { /* sqlite3.c:194243:12: */ if int32((*JsonNode)(unsafe.Pointer(pNode)).FjnFlags)&JNODE_RAW != 0 { if (*JsonNode)(unsafe.Pointer(pNode)).Fn != nKey { @@ -154779,7 +154810,7 @@ func jsonLabelCompare(tls *libc.TLS, pNode uintptr, zKey uintptr, nKey U32) int3 // If pApnd!=0, then try to append new nodes to complete zPath if it is // possible to do so and if no existing node corresponds to zPath. If // new nodes are appended *pApnd is set to 1. -func jsonLookupStep(tls *libc.TLS, pParse uintptr, iRoot U32, zPath uintptr, pApnd uintptr, pzErr uintptr) uintptr { /* sqlite3.c:194209:17: */ +func jsonLookupStep(tls *libc.TLS, pParse uintptr, iRoot U32, zPath uintptr, pApnd uintptr, pzErr uintptr) uintptr { /* sqlite3.c:194266:17: */ var i U32 var j U32 var nKey U32 @@ -154954,7 +154985,7 @@ func jsonLookupStep(tls *libc.TLS, pParse uintptr, iRoot U32, zPath uintptr, pAp // Append content to pParse that will complete zPath. Return a pointer // to the inserted node, or return NULL if the append fails. -func jsonLookupAppend(tls *libc.TLS, pParse uintptr, zPath uintptr, pApnd uintptr, pzErr uintptr) uintptr { /* sqlite3.c:194361:17: */ +func jsonLookupAppend(tls *libc.TLS, pParse uintptr, zPath uintptr, pApnd uintptr, pzErr uintptr) uintptr { /* sqlite3.c:194418:17: */ *(*int32)(unsafe.Pointer(pApnd)) = 1 if int32(*(*int8)(unsafe.Pointer(zPath))) == 0 { jsonParseAddNode(tls, pParse, uint32(JSON_NULL), uint32(0), uintptr(0)) @@ -154978,7 +155009,7 @@ func jsonLookupAppend(tls *libc.TLS, pParse uintptr, zPath uintptr, pApnd uintpt // Return the text of a syntax error message on a JSON path. Space is // obtained from sqlite3_malloc(). -func jsonPathSyntaxError(tls *libc.TLS, zErr uintptr) uintptr { /* sqlite3.c:194387:13: */ +func jsonPathSyntaxError(tls *libc.TLS, zErr uintptr) uintptr { /* sqlite3.c:194444:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -154993,7 +155024,7 @@ func jsonPathSyntaxError(tls *libc.TLS, zErr uintptr) uintptr { /* sqlite3.c:194 // // If pApnd!=NULL then try to append missing nodes and set *pApnd = 1 if // nodes are appended. -func jsonLookup(tls *libc.TLS, pParse uintptr, zPath uintptr, pApnd uintptr, pCtx uintptr) uintptr { /* sqlite3.c:194401:17: */ +func jsonLookup(tls *libc.TLS, pParse uintptr, zPath uintptr, pApnd uintptr, pCtx uintptr) uintptr { /* sqlite3.c:194458:17: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -155045,7 +155076,7 @@ __5: // Report the wrong number of arguments for json_insert(), json_replace() // or json_set(). -func jsonWrongNumArgs(tls *libc.TLS, pCtx uintptr, zFuncName uintptr) { /* sqlite3.c:194438:13: */ +func jsonWrongNumArgs(tls *libc.TLS, pCtx uintptr, zFuncName uintptr) { /* sqlite3.c:194495:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -155056,7 +155087,7 @@ func jsonWrongNumArgs(tls *libc.TLS, pCtx uintptr, zFuncName uintptr) { /* sqlit } // Mark all NULL entries in the Object passed in as JNODE_REMOVE. -func jsonRemoveAllNulls(tls *libc.TLS, pNode uintptr) { /* sqlite3.c:194451:13: */ +func jsonRemoveAllNulls(tls *libc.TLS, pNode uintptr) { /* sqlite3.c:194508:13: */ var i int32 var n int32 @@ -155087,7 +155118,7 @@ func jsonRemoveAllNulls(tls *libc.TLS, pNode uintptr) { /* sqlite3.c:194451:13: // corresponding to the SQL value input. Mostly this means putting // double-quotes around strings and returning the unquoted string "null" // when given a NULL input. -func jsonQuoteFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:194540:13: */ +func jsonQuoteFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:194597:13: */ bp := tls.Alloc(128) defer tls.Free(128) @@ -155104,7 +155135,7 @@ func jsonQuoteFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sq // Implementation of the json_array(VALUE,...) function. Return a JSON // array that contains all values given in arguments. Or if any argument // is a BLOB, throw an error. -func jsonArrayFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:194559:13: */ +func jsonArrayFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:194616:13: */ bp := tls.Alloc(128) defer tls.Free(128) @@ -155127,7 +155158,7 @@ func jsonArrayFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sq // // Return the number of elements in the top-level JSON array. // Return 0 if the input is not a well-formed JSON array. -func jsonArrayLengthFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:194586:13: */ +func jsonArrayLengthFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:194643:13: */ var p uintptr // The parse var n Sqlite3_int64 = int64(0) var i U32 @@ -155177,7 +155208,7 @@ func jsonArrayLengthFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { // // Abbreviated JSON path expressions are allows if JSON_ABPATH, for // compatibility with PG. -func jsonExtractFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:194646:13: */ +func jsonExtractFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:194703:13: */ bp := tls.Alloc(128) defer tls.Free(128) @@ -155271,7 +155302,7 @@ func jsonExtractFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* } // This is the RFC 7396 MergePatch algorithm. -func jsonMergePatch(tls *libc.TLS, pParse uintptr, iTarget U32, pPatch uintptr) uintptr { /* sqlite3.c:194729:17: */ +func jsonMergePatch(tls *libc.TLS, pParse uintptr, iTarget U32, pPatch uintptr) uintptr { /* sqlite3.c:194786:17: */ var i U32 var j U32 var iRoot U32 @@ -155344,7 +155375,7 @@ func jsonMergePatch(tls *libc.TLS, pParse uintptr, iTarget U32, pPatch uintptr) // Implementation of the json_mergepatch(JSON1,JSON2) function. Return a JSON // object that is the result of running the RFC 7396 MergePatch() algorithm // on the two arguments. -func jsonPatchFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:194811:13: */ +func jsonPatchFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:194868:13: */ bp := tls.Alloc(64) defer tls.Free(64) @@ -155376,7 +155407,7 @@ func jsonPatchFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sq // Implementation of the json_object(NAME,VALUE,...) function. Return a JSON // object that contains all name/value given in arguments. Or if any name // is not a string or if any value is a BLOB, throw an error. -func jsonObjectFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:194843:13: */ +func jsonObjectFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:194900:13: */ bp := tls.Alloc(128) defer tls.Free(128) @@ -155415,7 +155446,7 @@ func jsonObjectFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* s // // Remove the named elements from JSON and return the result. malformed // JSON or PATH arguments result in an error. -func jsonRemoveFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:194885:13: */ +func jsonRemoveFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:194942:13: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -155484,7 +155515,7 @@ remove_done: // // Replace the value at PATH with VALUE. If PATH does not already exist, // this routine is a no-op. If JSON or PATH is malformed, throw an error. -func jsonReplaceFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:194918:13: */ +func jsonReplaceFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:194975:13: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -155567,7 +155598,7 @@ replace_err: // // Create PATH and initialize it to VALUE. If PATH already exists, this // routine is a no-op. If JSON or PATH is malformed, throw an error. -func jsonSetFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:194970:13: */ +func jsonSetFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:195027:13: */ bp := tls.Alloc(36) defer tls.Free(36) @@ -155665,7 +155696,7 @@ jsonSetDone: // // Return the top-level "type" of a JSON string. json_type() raises an // error if either the JSON or PATH inputs are not well-formed. -func jsonTypeFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:195023:13: */ +func jsonTypeFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:195080:13: */ var p uintptr // The parse var zPath uintptr var pNode uintptr @@ -155689,7 +155720,7 @@ func jsonTypeFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sql // // Return 1 if JSON is a well-formed JSON string according to RFC-7159. // Return 0 otherwise. -func jsonValidFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:195051:13: */ +func jsonValidFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:195108:13: */ var p uintptr // The parse _ = argc p = jsonParseCached(tls, ctx, argv, uintptr(0)) @@ -155703,7 +155734,7 @@ func jsonValidFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sq // json_group_array(VALUE) // // Return a JSON array composed of all values in the aggregate. -func jsonArrayStep(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:195071:13: */ +func jsonArrayStep(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:195128:13: */ var pStr uintptr _ = argc pStr = Xsqlite3_aggregate_context(tls, ctx, int32(unsafe.Sizeof(JsonString{}))) @@ -155719,7 +155750,7 @@ func jsonArrayStep(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sq } } -func jsonArrayCompute(tls *libc.TLS, ctx uintptr, isFinal int32) { /* sqlite3.c:195090:13: */ +func jsonArrayCompute(tls *libc.TLS, ctx uintptr, isFinal int32) { /* sqlite3.c:195147:13: */ var pStr uintptr pStr = Xsqlite3_aggregate_context(tls, ctx, 0) if pStr != 0 { @@ -155749,11 +155780,11 @@ func jsonArrayCompute(tls *libc.TLS, ctx uintptr, isFinal int32) { /* sqlite3.c: Xsqlite3_result_subtype(tls, ctx, uint32(JSON_SUBTYPE)) } -func jsonArrayValue(tls *libc.TLS, ctx uintptr) { /* sqlite3.c:195112:13: */ +func jsonArrayValue(tls *libc.TLS, ctx uintptr) { /* sqlite3.c:195169:13: */ jsonArrayCompute(tls, ctx, 0) } -func jsonArrayFinal(tls *libc.TLS, ctx uintptr) { /* sqlite3.c:195115:13: */ +func jsonArrayFinal(tls *libc.TLS, ctx uintptr) { /* sqlite3.c:195172:13: */ jsonArrayCompute(tls, ctx, 1) } @@ -155761,7 +155792,7 @@ func jsonArrayFinal(tls *libc.TLS, ctx uintptr) { /* sqlite3.c:195115:13: */ // It works by removing the first element of the group by searching forward // to the first comma (",") that is not within a string and deleting all // text through that comma. -func jsonGroupInverse(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:195126:13: */ +func jsonGroupInverse(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:195183:13: */ var i uint32 var inStr int32 = 0 var nNest int32 = 0 @@ -155803,7 +155834,7 @@ func jsonGroupInverse(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* // json_group_obj(NAME,VALUE) // // Return a JSON object composed of all names and values in the aggregate. -func jsonObjectStep(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:195174:13: */ +func jsonObjectStep(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:195231:13: */ var pStr uintptr var z uintptr var n U32 @@ -155825,7 +155856,7 @@ func jsonObjectStep(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* s } } -func jsonObjectCompute(tls *libc.TLS, ctx uintptr, isFinal int32) { /* sqlite3.c:195199:13: */ +func jsonObjectCompute(tls *libc.TLS, ctx uintptr, isFinal int32) { /* sqlite3.c:195256:13: */ var pStr uintptr pStr = Xsqlite3_aggregate_context(tls, ctx, 0) if pStr != 0 { @@ -155854,11 +155885,11 @@ func jsonObjectCompute(tls *libc.TLS, ctx uintptr, isFinal int32) { /* sqlite3.c Xsqlite3_result_subtype(tls, ctx, uint32(JSON_SUBTYPE)) } -func jsonObjectValue(tls *libc.TLS, ctx uintptr) { /* sqlite3.c:195220:13: */ +func jsonObjectValue(tls *libc.TLS, ctx uintptr) { /* sqlite3.c:195277:13: */ jsonObjectCompute(tls, ctx, 0) } -func jsonObjectFinal(tls *libc.TLS, ctx uintptr) { /* sqlite3.c:195223:13: */ +func jsonObjectFinal(tls *libc.TLS, ctx uintptr) { /* sqlite3.c:195280:13: */ jsonObjectCompute(tls, ctx, 1) } @@ -155878,16 +155909,16 @@ type JsonEachCursor1 = struct { FzJson uintptr FzRoot uintptr FsParse JsonParse -} /* sqlite3.c:195233:9 */ +} /* sqlite3.c:195290:9 */ // *************************************************************************** // // The json_each virtual table // -type JsonEachCursor = JsonEachCursor1 /* sqlite3.c:195233:31 */ +type JsonEachCursor = JsonEachCursor1 /* sqlite3.c:195290:31 */ // Constructor for the json_each virtual table -func jsonEachConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 { /* sqlite3.c:195248:12: */ +func jsonEachConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 { /* sqlite3.c:195305:12: */ var pNew uintptr var rc int32 @@ -155915,13 +155946,13 @@ func jsonEachConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv u } // destructor for json_each virtual table -func jsonEachDisconnect(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:195290:12: */ +func jsonEachDisconnect(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:195347:12: */ Xsqlite3_free(tls, pVtab) return SQLITE_OK } // constructor for a JsonEachCursor object for json_each(). -func jsonEachOpenEach(tls *libc.TLS, p uintptr, ppCursor uintptr) int32 { /* sqlite3.c:195296:12: */ +func jsonEachOpenEach(tls *libc.TLS, p uintptr, ppCursor uintptr) int32 { /* sqlite3.c:195353:12: */ var pCur uintptr _ = p @@ -155935,7 +155966,7 @@ func jsonEachOpenEach(tls *libc.TLS, p uintptr, ppCursor uintptr) int32 { /* sql } // constructor for a JsonEachCursor object for json_tree(). -func jsonEachOpenTree(tls *libc.TLS, p uintptr, ppCursor uintptr) int32 { /* sqlite3.c:195308:12: */ +func jsonEachOpenTree(tls *libc.TLS, p uintptr, ppCursor uintptr) int32 { /* sqlite3.c:195365:12: */ var rc int32 = jsonEachOpenEach(tls, p, ppCursor) if rc == SQLITE_OK { var pCur uintptr = *(*uintptr)(unsafe.Pointer(ppCursor)) @@ -155946,7 +155977,7 @@ func jsonEachOpenTree(tls *libc.TLS, p uintptr, ppCursor uintptr) int32 { /* sql // Reset a JsonEachCursor back to its original state. Free any memory // held. -func jsonEachCursorReset(tls *libc.TLS, p uintptr) { /* sqlite3.c:195319:13: */ +func jsonEachCursorReset(tls *libc.TLS, p uintptr) { /* sqlite3.c:195376:13: */ Xsqlite3_free(tls, (*JsonEachCursor)(unsafe.Pointer(p)).FzJson) Xsqlite3_free(tls, (*JsonEachCursor)(unsafe.Pointer(p)).FzRoot) jsonParseReset(tls, p+32) @@ -155959,7 +155990,7 @@ func jsonEachCursorReset(tls *libc.TLS, p uintptr) { /* sqlite3.c:195319:13: */ } // Destructor for a jsonEachCursor object -func jsonEachClose(tls *libc.TLS, cur uintptr) int32 { /* sqlite3.c:195332:12: */ +func jsonEachClose(tls *libc.TLS, cur uintptr) int32 { /* sqlite3.c:195389:12: */ var p uintptr = cur jsonEachCursorReset(tls, p) Xsqlite3_free(tls, cur) @@ -155968,13 +155999,13 @@ func jsonEachClose(tls *libc.TLS, cur uintptr) int32 { /* sqlite3.c:195332:12: * // Return TRUE if the jsonEachCursor object has been advanced off the end // of the JSON object -func jsonEachEof(tls *libc.TLS, cur uintptr) int32 { /* sqlite3.c:195341:12: */ +func jsonEachEof(tls *libc.TLS, cur uintptr) int32 { /* sqlite3.c:195398:12: */ var p uintptr = cur return libc.Bool32((*JsonEachCursor)(unsafe.Pointer(p)).Fi >= (*JsonEachCursor)(unsafe.Pointer(p)).FiEnd) } // Advance the cursor to the next element for json_tree() -func jsonEachNext(tls *libc.TLS, cur uintptr) int32 { /* sqlite3.c:195347:12: */ +func jsonEachNext(tls *libc.TLS, cur uintptr) int32 { /* sqlite3.c:195404:12: */ var p uintptr = cur if (*JsonEachCursor)(unsafe.Pointer(p)).FbRecursive != 0 { if int32((*JsonNode)(unsafe.Pointer((*JsonEachCursor)(unsafe.Pointer(p)).FsParse.FaNode+uintptr((*JsonEachCursor)(unsafe.Pointer(p)).Fi)*12)).FjnFlags)&JNODE_LABEL != 0 { @@ -156025,7 +156056,7 @@ func jsonEachNext(tls *libc.TLS, cur uintptr) int32 { /* sqlite3.c:195347:12: */ } // Append the name of the path for element i to pStr -func jsonEachComputePath(tls *libc.TLS, p uintptr, pStr uintptr, i U32) { /* sqlite3.c:195391:13: */ +func jsonEachComputePath(tls *libc.TLS, p uintptr, pStr uintptr, i U32) { /* sqlite3.c:195448:13: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -156054,7 +156085,7 @@ func jsonEachComputePath(tls *libc.TLS, p uintptr, pStr uintptr, i U32) { /* sql } // Return the value of a column -func jsonEachColumn(tls *libc.TLS, cur uintptr, ctx uintptr, i int32) int32 { /* sqlite3.c:195421:12: */ +func jsonEachColumn(tls *libc.TLS, cur uintptr, ctx uintptr, i int32) int32 { /* sqlite3.c:195478:12: */ bp := tls.Alloc(280) defer tls.Free(280) @@ -156188,7 +156219,7 @@ func jsonEachColumn(tls *libc.TLS, cur uintptr, ctx uintptr, i int32) int32 { /* } // Return the current rowid value -func jsonEachRowid(tls *libc.TLS, cur uintptr, pRowid uintptr) int32 { /* sqlite3.c:195522:12: */ +func jsonEachRowid(tls *libc.TLS, cur uintptr, pRowid uintptr) int32 { /* sqlite3.c:195579:12: */ var p uintptr = cur *(*Sqlite_int64)(unsafe.Pointer(pRowid)) = Sqlite_int64((*JsonEachCursor)(unsafe.Pointer(p)).FiRowid) return SQLITE_OK @@ -156198,7 +156229,7 @@ func jsonEachRowid(tls *libc.TLS, cur uintptr, pRowid uintptr) int32 { /* sqlite // column. Without such a constraint, the table cannot operate. idxNum is // 1 if the constraint is found, 3 if the constraint and zRoot are found, // and 0 otherwise. -func jsonEachBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 { /* sqlite3.c:195533:12: */ +func jsonEachBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 { /* sqlite3.c:195590:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -156273,7 +156304,7 @@ __3: } // Start a search on a new JSON string -func jsonEachFilter(tls *libc.TLS, cur uintptr, idxNum int32, idxStr uintptr, argc int32, argv uintptr) int32 { /* sqlite3.c:195592:12: */ +func jsonEachFilter(tls *libc.TLS, cur uintptr, idxNum int32, idxStr uintptr, argc int32, argv uintptr) int32 { /* sqlite3.c:195649:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -156378,7 +156409,7 @@ var jsonEachModule = Sqlite3_module{ // xCreate FxEof: 0, // xEof - check for end of scan FxColumn: 0, // xColumn - read data FxRowid: 0, // xShadowName -} /* sqlite3.c:195673:23 */ +} /* sqlite3.c:195730:23 */ // The methods of the json_tree virtual table. var jsonTreeModule = Sqlite3_module{ // xCreate @@ -156392,10 +156423,10 @@ var jsonTreeModule = Sqlite3_module{ // xCreate FxEof: 0, // xEof - check for end of scan FxColumn: 0, // xColumn - read data FxRowid: 0, // xShadowName -} /* sqlite3.c:195701:23 */ +} /* sqlite3.c:195758:23 */ // Register JSON functions. -func Xsqlite3RegisterJsonFunctions(tls *libc.TLS) { /* sqlite3.c:195733:21: */ +func Xsqlite3RegisterJsonFunctions(tls *libc.TLS) { /* sqlite3.c:195790:21: */ Xsqlite3InsertBuiltinFuncs(tls, uintptr(unsafe.Pointer(&aJsonFunc)), int32(uint32(unsafe.Sizeof(aJsonFunc))/uint32(unsafe.Sizeof(FuncDef{})))) } @@ -156418,10 +156449,10 @@ var aJsonFunc = [19]FuncDef{ {FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_INNOCUOUS | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24794}, {FnArg: int8(1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_INNOCUOUS | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24804}, {FnArg: int8(1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_UTF8 | 0*SQLITE_FUNC_NEEDCOLL | SQLITE_SUBTYPE | SQLITE_UTF8 | SQLITE_DETERMINISTIC | SQLITE_INNOCUOUS), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 24815}, - {FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_UTF8 | 0*SQLITE_FUNC_NEEDCOLL | SQLITE_SUBTYPE | SQLITE_UTF8 | SQLITE_DETERMINISTIC | SQLITE_INNOCUOUS), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 24832}} /* sqlite3.c:195735:18 */ + {FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_UTF8 | 0*SQLITE_FUNC_NEEDCOLL | SQLITE_SUBTYPE | SQLITE_UTF8 | SQLITE_DETERMINISTIC | SQLITE_INNOCUOUS), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 24832}} /* sqlite3.c:195792:18 */ // Register the JSON table-valued functions -func Xsqlite3JsonTableFunctions(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:195772:20: */ +func Xsqlite3JsonTableFunctions(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:195829:20: */ var rc int32 = SQLITE_OK var i uint32 for i = uint32(0); i < uint32(unsafe.Sizeof(aMod))/uint32(unsafe.Sizeof(struct { @@ -156439,7 +156470,7 @@ var aMod = [2]struct { }{ {FzName: ts + 24850 /* "json_each" */, FpModule: 0}, {FzName: ts + 24860 /* "json_tree" */, FpModule: 0}, -} /* sqlite3.c:195777:5 */ // In the SQLite core +} /* sqlite3.c:195834:5 */ // In the SQLite core // If building separately, we will need some setup that is normally // found in sqliteInt.h @@ -156484,7 +156515,7 @@ type Rtree1 = struct { FpDeleteParent uintptr FpWriteAux uintptr FaHash [97]uintptr -} /* sqlite3.c:195900:9 */ +} /* sqlite3.c:195957:9 */ // In the SQLite core @@ -156498,7 +156529,7 @@ type Rtree1 = struct { // The following macro is used to suppress compiler warnings. -type Rtree = Rtree1 /* sqlite3.c:195900:22 */ +type Rtree = Rtree1 /* sqlite3.c:195957:22 */ type RtreeCursor1 = struct { Fbase Sqlite3_vtab_cursor FatEOF U8 @@ -156516,9 +156547,9 @@ type RtreeCursor1 = struct { FsPoint RtreeSearchPoint FaNode [5]uintptr FanQueue [41]U32 -} /* sqlite3.c:195901:9 */ +} /* sqlite3.c:195958:9 */ -type RtreeCursor = RtreeCursor1 /* sqlite3.c:195901:28 */ +type RtreeCursor = RtreeCursor1 /* sqlite3.c:195958:28 */ type RtreeNode1 = struct { FpParent uintptr FiNode I64 @@ -156526,43 +156557,43 @@ type RtreeNode1 = struct { FisDirty int32 FzData uintptr FpNext uintptr -} /* sqlite3.c:195900:9 */ +} /* sqlite3.c:195957:9 */ -type RtreeNode = RtreeNode1 /* sqlite3.c:195902:26 */ +type RtreeNode = RtreeNode1 /* sqlite3.c:195959:26 */ type RtreeCell1 = struct { FiRowid I64 FaCoord [10]RtreeCoord -} /* sqlite3.c:195903:9 */ +} /* sqlite3.c:195960:9 */ -type RtreeCell = RtreeCell1 /* sqlite3.c:195903:26 */ +type RtreeCell = RtreeCell1 /* sqlite3.c:195960:26 */ type RtreeConstraint1 = struct { FiCoord int32 Fop int32 Fu struct{ FrValue RtreeDValue } FpInfo uintptr -} /* sqlite3.c:195901:9 */ +} /* sqlite3.c:195958:9 */ -type RtreeConstraint = RtreeConstraint1 /* sqlite3.c:195904:32 */ +type RtreeConstraint = RtreeConstraint1 /* sqlite3.c:195961:32 */ type RtreeMatchArg1 = struct { FiSize U32 Fcb RtreeGeomCallback FnParam int32 FapSqlParam uintptr FaParam [1]RtreeDValue -} /* sqlite3.c:195905:9 */ +} /* sqlite3.c:195962:9 */ -type RtreeMatchArg = RtreeMatchArg1 /* sqlite3.c:195905:30 */ +type RtreeMatchArg = RtreeMatchArg1 /* sqlite3.c:195962:30 */ type RtreeGeomCallback1 = struct { FxGeom uintptr FxQueryFunc uintptr FxDestructor uintptr FpContext uintptr -} /* sqlite3.c:195905:9 */ +} /* sqlite3.c:195962:9 */ -type RtreeGeomCallback = RtreeGeomCallback1 /* sqlite3.c:195906:34 */ -type RtreeCoord1 = struct{ Ff RtreeValue } /* sqlite3.c:195903:9 */ +type RtreeGeomCallback = RtreeGeomCallback1 /* sqlite3.c:195963:34 */ +type RtreeCoord1 = struct{ Ff RtreeValue } /* sqlite3.c:195960:9 */ -type RtreeCoord = RtreeCoord1 /* sqlite3.c:195907:26 */ +type RtreeCoord = RtreeCoord1 /* sqlite3.c:195964:26 */ type RtreeSearchPoint1 = struct { FrScore RtreeDValue Fid Sqlite3_int64 @@ -156570,17 +156601,17 @@ type RtreeSearchPoint1 = struct { FeWithin U8 FiCell U8 F__ccgo_pad1 [1]byte -} /* sqlite3.c:195901:9 */ +} /* sqlite3.c:195958:9 */ -type RtreeSearchPoint = RtreeSearchPoint1 /* sqlite3.c:195908:33 */ +type RtreeSearchPoint = RtreeSearchPoint1 /* sqlite3.c:195965:33 */ // Possible values for Rtree.eCoordType: // 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 RtreeDValue = float64 /* sqlite3.c:196005:18 */ // High accuracy coordinate -type RtreeValue = float32 /* sqlite3.c:196006:17 */ +type RtreeDValue = float64 /* sqlite3.c:196062:18 */ // High accuracy coordinate +type RtreeValue = float32 /* sqlite3.c:196063:17 */ // What version of GCC is being used. 0 means GCC is not being used . // Note that the GCC_VERSION macro will also be set correctly when using @@ -156606,16 +156637,16 @@ type RtreeValue = float32 /* sqlite3.c:196006:17 */ // Functions to deserialize a 16 bit integer, 32 bit real number and // 64 bit integer. The deserialized value is returned. -func readInt16(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:196290:12: */ +func readInt16(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:196347:12: */ return int32(*(*U8)(unsafe.Pointer(p)))<<8 + int32(*(*U8)(unsafe.Pointer(p + 1))) } -func readCoord(tls *libc.TLS, p uintptr, pCoord uintptr) { /* sqlite3.c:196293:13: */ +func readCoord(tls *libc.TLS, p uintptr, pCoord uintptr) { /* sqlite3.c:196350:13: */ // p is always 4-byte aligned *(*U32)(unsafe.Pointer(pCoord)) = libc.X__builtin_bswap32(tls, *(*U32)(unsafe.Pointer(p))) } -func readInt64(tls *libc.TLS, p uintptr) I64 { /* sqlite3.c:196310:12: */ +func readInt64(tls *libc.TLS, p uintptr) I64 { /* sqlite3.c:196367:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -156628,12 +156659,12 @@ func readInt64(tls *libc.TLS, p uintptr) I64 { /* sqlite3.c:196310:12: */ // Functions to serialize a 16 bit integer, 32 bit real number and // 64 bit integer. The value returned is the number of bytes written // to the argument buffer (always 2, 4 and 8 respectively). -func writeInt16(tls *libc.TLS, p uintptr, i int32) { /* sqlite3.c:196342:13: */ +func writeInt16(tls *libc.TLS, p uintptr, i int32) { /* sqlite3.c:196399:13: */ *(*U8)(unsafe.Pointer(p)) = U8(i >> 8 & 0xFF) *(*U8)(unsafe.Pointer(p + 1)) = U8(i >> 0 & 0xFF) } -func writeCoord(tls *libc.TLS, p uintptr, pCoord uintptr) int32 { /* sqlite3.c:196346:12: */ +func writeCoord(tls *libc.TLS, p uintptr, pCoord uintptr) int32 { /* sqlite3.c:196403:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -156646,7 +156677,7 @@ func writeCoord(tls *libc.TLS, p uintptr, pCoord uintptr) int32 { /* sqlite3.c:1 return 4 } -func writeInt64(tls *libc.TLS, p uintptr, i I64) int32 { /* sqlite3.c:196369:12: */ +func writeInt64(tls *libc.TLS, p uintptr, i I64) int32 { /* sqlite3.c:196426:12: */ bp := tls.Alloc(8) defer tls.Free(8) *(*I64)(unsafe.Pointer(bp)) = i @@ -156657,7 +156688,7 @@ func writeInt64(tls *libc.TLS, p uintptr, i I64) int32 { /* sqlite3.c:196369:12: } // Increment the reference count of node p. -func nodeReference(tls *libc.TLS, p uintptr) { /* sqlite3.c:196394:13: */ +func nodeReference(tls *libc.TLS, p uintptr) { /* sqlite3.c:196451:13: */ if p != 0 { (*RtreeNode)(unsafe.Pointer(p)).FnRef++ @@ -156665,20 +156696,20 @@ func nodeReference(tls *libc.TLS, p uintptr) { /* sqlite3.c:196394:13: */ } // Clear the content of node p (set all bytes to 0x00). -func nodeZero(tls *libc.TLS, pRtree uintptr, p uintptr) { /* sqlite3.c:196404:13: */ +func nodeZero(tls *libc.TLS, pRtree uintptr, p uintptr) { /* sqlite3.c:196461:13: */ libc.Xmemset(tls, (*RtreeNode)(unsafe.Pointer(p)).FzData+2, 0, uint32((*Rtree)(unsafe.Pointer(pRtree)).FiNodeSize-2)) (*RtreeNode)(unsafe.Pointer(p)).FisDirty = 1 } // Given a node number iNode, return the corresponding key to use // in the Rtree.aHash table. -func nodeHash(tls *libc.TLS, iNode I64) uint32 { /* sqlite3.c:196413:21: */ +func nodeHash(tls *libc.TLS, iNode I64) uint32 { /* sqlite3.c:196470:21: */ return uint32(iNode) % uint32(HASHSIZE) } // Search the node hash table for node iNode. If found, return a pointer // to it. Otherwise, return 0. -func nodeHashLookup(tls *libc.TLS, pRtree uintptr, iNode I64) uintptr { /* sqlite3.c:196421:18: */ +func nodeHashLookup(tls *libc.TLS, pRtree uintptr, iNode I64) uintptr { /* sqlite3.c:196478:18: */ var p uintptr for p = *(*uintptr)(unsafe.Pointer(pRtree + 112 + uintptr(nodeHash(tls, iNode))*4)); p != 0 && (*RtreeNode)(unsafe.Pointer(p)).FiNode != iNode; p = (*RtreeNode)(unsafe.Pointer(p)).FpNext { } @@ -156686,7 +156717,7 @@ func nodeHashLookup(tls *libc.TLS, pRtree uintptr, iNode I64) uintptr { /* sqlit } // Add node pNode to the node hash table. -func nodeHashInsert(tls *libc.TLS, pRtree uintptr, pNode uintptr) { /* sqlite3.c:196430:13: */ +func nodeHashInsert(tls *libc.TLS, pRtree uintptr, pNode uintptr) { /* sqlite3.c:196487:13: */ var iHash int32 iHash = int32(nodeHash(tls, (*RtreeNode)(unsafe.Pointer(pNode)).FiNode)) @@ -156695,7 +156726,7 @@ func nodeHashInsert(tls *libc.TLS, pRtree uintptr, pNode uintptr) { /* sqlite3.c } // Remove node pNode from the node hash table. -func nodeHashDelete(tls *libc.TLS, pRtree uintptr, pNode uintptr) { /* sqlite3.c:196441:13: */ +func nodeHashDelete(tls *libc.TLS, pRtree uintptr, pNode uintptr) { /* sqlite3.c:196498:13: */ var pp uintptr if (*RtreeNode)(unsafe.Pointer(pNode)).FiNode != int64(0) { pp = pRtree + 112 + uintptr(nodeHash(tls, (*RtreeNode)(unsafe.Pointer(pNode)).FiNode))*4 @@ -156710,7 +156741,7 @@ func nodeHashDelete(tls *libc.TLS, pRtree uintptr, pNode uintptr) { /* sqlite3.c // indicating that node has not yet been assigned a node number. It is // assigned a node number when nodeWrite() is called to write the // node contents out to the database. -func nodeNew(tls *libc.TLS, pRtree uintptr, pParent uintptr) uintptr { /* sqlite3.c:196457:18: */ +func nodeNew(tls *libc.TLS, pRtree uintptr, pParent uintptr) uintptr { /* sqlite3.c:196514:18: */ var pNode uintptr pNode = Xsqlite3_malloc64(tls, uint64(uint32(unsafe.Sizeof(RtreeNode{}))+uint32((*Rtree)(unsafe.Pointer(pRtree)).FiNodeSize))) if pNode != 0 { @@ -156726,7 +156757,7 @@ func nodeNew(tls *libc.TLS, pRtree uintptr, pParent uintptr) uintptr { /* sqlite } // Clear the Rtree.pNodeBlob object -func nodeBlobReset(tls *libc.TLS, pRtree uintptr) { /* sqlite3.c:196475:13: */ +func nodeBlobReset(tls *libc.TLS, pRtree uintptr) { /* sqlite3.c:196532:13: */ if (*Rtree)(unsafe.Pointer(pRtree)).FpNodeBlob != 0 && int32((*Rtree)(unsafe.Pointer(pRtree)).FinWrTrans) == 0 && (*Rtree)(unsafe.Pointer(pRtree)).FnCursor == U32(0) { var pBlob uintptr = (*Rtree)(unsafe.Pointer(pRtree)).FpNodeBlob (*Rtree)(unsafe.Pointer(pRtree)).FpNodeBlob = uintptr(0) @@ -156735,7 +156766,7 @@ func nodeBlobReset(tls *libc.TLS, pRtree uintptr) { /* sqlite3.c:196475:13: */ } // Obtain a reference to an r-tree node. -func nodeAcquire(tls *libc.TLS, pRtree uintptr, iNode I64, pParent uintptr, ppNode uintptr) int32 { /* sqlite3.c:196486:12: */ +func nodeAcquire(tls *libc.TLS, pRtree uintptr, iNode I64, pParent uintptr, ppNode uintptr) int32 { /* sqlite3.c:196543:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -156845,7 +156876,7 @@ func nodeAcquire(tls *libc.TLS, pRtree uintptr, iNode I64, pParent uintptr, ppNo } // Overwrite cell iCell of node pNode with the contents of pCell. -func nodeOverwriteCell(tls *libc.TLS, pRtree uintptr, pNode uintptr, pCell uintptr, iCell int32) { /* sqlite3.c:196599:13: */ +func nodeOverwriteCell(tls *libc.TLS, pRtree uintptr, pNode uintptr, pCell uintptr, iCell int32) { /* sqlite3.c:196656:13: */ var ii int32 var p uintptr = (*RtreeNode)(unsafe.Pointer(pNode)).FzData + uintptr(4+int32((*Rtree)(unsafe.Pointer(pRtree)).FnBytesPerCell)*iCell) p += uintptr(writeInt64(tls, p, (*RtreeCell)(unsafe.Pointer(pCell)).FiRowid)) @@ -156856,7 +156887,7 @@ func nodeOverwriteCell(tls *libc.TLS, pRtree uintptr, pNode uintptr, pCell uintp } // Remove the cell with index iCell from node pNode. -func nodeDeleteCell(tls *libc.TLS, pRtree uintptr, pNode uintptr, iCell int32) { /* sqlite3.c:196617:13: */ +func nodeDeleteCell(tls *libc.TLS, pRtree uintptr, pNode uintptr, iCell int32) { /* sqlite3.c:196674:13: */ var pDst uintptr = (*RtreeNode)(unsafe.Pointer(pNode)).FzData + uintptr(4+int32((*Rtree)(unsafe.Pointer(pRtree)).FnBytesPerCell)*iCell) var pSrc uintptr = pDst + uintptr((*Rtree)(unsafe.Pointer(pRtree)).FnBytesPerCell) var nByte int32 = (readInt16(tls, (*RtreeNode)(unsafe.Pointer(pNode)).FzData+2) - iCell - 1) * int32((*Rtree)(unsafe.Pointer(pRtree)).FnBytesPerCell) @@ -156869,7 +156900,7 @@ func nodeDeleteCell(tls *libc.TLS, pRtree uintptr, pNode uintptr, iCell int32) { // is successful, return SQLITE_OK. // // If there is not enough free space in pNode, return SQLITE_FULL. -func nodeInsertCell(tls *libc.TLS, pRtree uintptr, pNode uintptr, pCell uintptr) int32 { /* sqlite3.c:196632:12: */ +func nodeInsertCell(tls *libc.TLS, pRtree uintptr, pNode uintptr, pCell uintptr) int32 { /* sqlite3.c:196689:12: */ var nCell int32 // Current number of cells in pNode var nMaxCell int32 // Maximum number of cells for pNode @@ -156886,7 +156917,7 @@ func nodeInsertCell(tls *libc.TLS, pRtree uintptr, pNode uintptr, pCell uintptr) } // If the node is dirty, write it out to the database. -func nodeWrite(tls *libc.TLS, pRtree uintptr, pNode uintptr) int32 { /* sqlite3.c:196656:12: */ +func nodeWrite(tls *libc.TLS, pRtree uintptr, pNode uintptr) int32 { /* sqlite3.c:196713:12: */ var rc int32 = SQLITE_OK if (*RtreeNode)(unsafe.Pointer(pNode)).FisDirty != 0 { var p uintptr = (*Rtree)(unsafe.Pointer(pRtree)).FpWriteNode @@ -156910,7 +156941,7 @@ func nodeWrite(tls *libc.TLS, pRtree uintptr, pNode uintptr) int32 { /* sqlite3. // Release a reference to a node. If the node is dirty and the reference // count drops to zero, the node data is written to the database. -func nodeRelease(tls *libc.TLS, pRtree uintptr, pNode uintptr) int32 { /* sqlite3.c:196682:12: */ +func nodeRelease(tls *libc.TLS, pRtree uintptr, pNode uintptr) int32 { /* sqlite3.c:196739:12: */ var rc int32 = SQLITE_OK if pNode != 0 { @@ -156936,19 +156967,19 @@ func nodeRelease(tls *libc.TLS, pRtree uintptr, pNode uintptr) int32 { /* sqlite // Return the 64-bit integer value associated with cell iCell of // node pNode. If pNode is a leaf node, this is a rowid. If it is // an internal node, then the 64-bit integer is a child page number. -func nodeGetRowid(tls *libc.TLS, pRtree uintptr, pNode uintptr, iCell int32) I64 { /* sqlite3.c:196711:12: */ +func nodeGetRowid(tls *libc.TLS, pRtree uintptr, pNode uintptr, iCell int32) I64 { /* sqlite3.c:196768:12: */ return readInt64(tls, (*RtreeNode)(unsafe.Pointer(pNode)).FzData+uintptr(4+int32((*Rtree)(unsafe.Pointer(pRtree)).FnBytesPerCell)*iCell)) } // Return coordinate iCoord from cell iCell in node pNode. -func nodeGetCoord(tls *libc.TLS, pRtree uintptr, pNode uintptr, iCell int32, iCoord int32, pCoord uintptr) { /* sqlite3.c:196723:13: */ +func nodeGetCoord(tls *libc.TLS, pRtree uintptr, pNode uintptr, iCell int32, iCoord int32, pCoord uintptr) { /* sqlite3.c:196780:13: */ readCoord(tls, (*RtreeNode)(unsafe.Pointer(pNode)).FzData+uintptr(12+int32((*Rtree)(unsafe.Pointer(pRtree)).FnBytesPerCell)*iCell+4*iCoord), pCoord) } // Deserialize cell iCell of node pNode. Populate the structure pointed // to by pCell with the results. -func nodeGetCell(tls *libc.TLS, pRtree uintptr, pNode uintptr, iCell int32, pCell uintptr) { /* sqlite3.c:196737:13: */ +func nodeGetCell(tls *libc.TLS, pRtree uintptr, pNode uintptr, iCell int32, pCell uintptr) { /* sqlite3.c:196794:13: */ var pData uintptr var pCoord uintptr var ii int32 = 0 @@ -156964,23 +156995,23 @@ func nodeGetCell(tls *libc.TLS, pRtree uintptr, pNode uintptr, iCell int32, pCel } // Rtree virtual table module xCreate method. -func rtreeCreate(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 { /* sqlite3.c:196768:12: */ +func rtreeCreate(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 { /* sqlite3.c:196825:12: */ return rtreeInit(tls, db, pAux, argc, argv, ppVtab, pzErr, 1) } // Rtree virtual table module xConnect method. -func rtreeConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 { /* sqlite3.c:196781:12: */ +func rtreeConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 { /* sqlite3.c:196838:12: */ return rtreeInit(tls, db, pAux, argc, argv, ppVtab, pzErr, 0) } // Increment the r-tree reference count. -func rtreeReference(tls *libc.TLS, pRtree uintptr) { /* sqlite3.c:196794:13: */ +func rtreeReference(tls *libc.TLS, pRtree uintptr) { /* sqlite3.c:196851:13: */ (*Rtree)(unsafe.Pointer(pRtree)).FnBusy++ } // Decrement the r-tree reference count. When the reference count reaches // zero the structure is deleted. -func rtreeRelease(tls *libc.TLS, pRtree uintptr) { /* sqlite3.c:196802:13: */ +func rtreeRelease(tls *libc.TLS, pRtree uintptr) { /* sqlite3.c:196859:13: */ (*Rtree)(unsafe.Pointer(pRtree)).FnBusy-- if (*Rtree)(unsafe.Pointer(pRtree)).FnBusy == U32(0) { (*Rtree)(unsafe.Pointer(pRtree)).FinWrTrans = U8(0) @@ -157002,13 +157033,13 @@ func rtreeRelease(tls *libc.TLS, pRtree uintptr) { /* sqlite3.c:196802:13: */ } // Rtree virtual table module xDisconnect method. -func rtreeDisconnect(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:196826:12: */ +func rtreeDisconnect(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:196883:12: */ rtreeRelease(tls, pVtab) return SQLITE_OK } // Rtree virtual table module xDestroy method. -func rtreeDestroy(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:196834:12: */ +func rtreeDestroy(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:196891:12: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -157035,7 +157066,7 @@ func rtreeDestroy(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:196834:12: } // Rtree virtual table module xOpen method. -func rtreeOpen(tls *libc.TLS, pVTab uintptr, ppCursor uintptr) int32 { /* sqlite3.c:196862:12: */ +func rtreeOpen(tls *libc.TLS, pVTab uintptr, ppCursor uintptr) int32 { /* sqlite3.c:196919:12: */ var rc int32 = SQLITE_NOMEM var pRtree uintptr = pVTab var pCsr uintptr @@ -157053,7 +157084,7 @@ func rtreeOpen(tls *libc.TLS, pVTab uintptr, ppCursor uintptr) int32 { /* sqlite } // Reset a cursor back to its initial state. -func resetCursor(tls *libc.TLS, pCsr uintptr) { /* sqlite3.c:196883:13: */ +func resetCursor(tls *libc.TLS, pCsr uintptr) { /* sqlite3.c:196940:13: */ var pRtree uintptr = (*RtreeCursor)(unsafe.Pointer(pCsr)).Fbase.FpVtab var ii int32 var pStmt uintptr @@ -157083,7 +157114,7 @@ func resetCursor(tls *libc.TLS, pCsr uintptr) { /* sqlite3.c:196883:13: */ } // Rtree virtual table module xClose method. -func rtreeClose(tls *libc.TLS, cur uintptr) int32 { /* sqlite3.c:196911:12: */ +func rtreeClose(tls *libc.TLS, cur uintptr) int32 { /* sqlite3.c:196968:12: */ var pRtree uintptr = (*Sqlite3_vtab_cursor)(unsafe.Pointer(cur)).FpVtab var pCsr uintptr = cur @@ -157099,7 +157130,7 @@ func rtreeClose(tls *libc.TLS, cur uintptr) int32 { /* sqlite3.c:196911:12: */ // // Return non-zero if the cursor does not currently point to a valid // record (i.e if the scan has finished), or zero otherwise. -func rtreeEof(tls *libc.TLS, cur uintptr) int32 { /* sqlite3.c:196929:12: */ +func rtreeEof(tls *libc.TLS, cur uintptr) int32 { /* sqlite3.c:196986:12: */ var pCsr uintptr = cur return int32((*RtreeCursor)(unsafe.Pointer(pCsr)).FatEOF) } @@ -157116,7 +157147,7 @@ func rtreeEof(tls *libc.TLS, cur uintptr) int32 { /* sqlite3.c:196929:12: */ // Check the RTree node or entry given by pCellData and p against the MATCH // constraint pConstraint. -func rtreeCallbackConstraint(tls *libc.TLS, pConstraint uintptr, eInt int32, pCellData uintptr, pSearch uintptr, prScore uintptr, peWithin uintptr) int32 { /* sqlite3.c:196984:12: */ +func rtreeCallbackConstraint(tls *libc.TLS, pConstraint uintptr, eInt int32, pCellData uintptr, pSearch uintptr, prScore uintptr, peWithin uintptr) int32 { /* sqlite3.c:197041:12: */ bp := tls.Alloc(88) defer tls.Free(88) @@ -157228,7 +157259,7 @@ func rtreeCallbackConstraint(tls *libc.TLS, pConstraint uintptr, eInt int32, pCe // Check the internal RTree node given by pCellData against constraint p. // If this constraint cannot be satisfied by any child within the node, // set *peWithin to NOT_WITHIN. -func rtreeNonleafConstraint(tls *libc.TLS, p uintptr, eInt int32, pCellData uintptr, peWithin uintptr) { /* sqlite3.c:197060:13: */ +func rtreeNonleafConstraint(tls *libc.TLS, p uintptr, eInt int32, pCellData uintptr, peWithin uintptr) { /* sqlite3.c:197117:13: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -157326,7 +157357,7 @@ func rtreeNonleafConstraint(tls *libc.TLS, p uintptr, eInt int32, pCellData uint // // The op is given by p->op. The xN is p->iCoord-th coordinate in // pCellData. $val is given by p->u.rValue. -func rtreeLeafConstraint(tls *libc.TLS, p uintptr, eInt int32, pCellData uintptr, peWithin uintptr) { /* sqlite3.c:197117:13: */ +func rtreeLeafConstraint(tls *libc.TLS, p uintptr, eInt int32, pCellData uintptr, peWithin uintptr) { /* sqlite3.c:197174:13: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -157381,7 +157412,7 @@ func rtreeLeafConstraint(tls *libc.TLS, p uintptr, eInt int32, pCellData uintptr // One of the cells in node pNode is guaranteed to have a 64-bit // integer value equal to iRowid. Return the index of this cell. -func nodeRowidIndex(tls *libc.TLS, pRtree uintptr, pNode uintptr, iRowid I64, piIndex uintptr) int32 { /* sqlite3.c:197147:12: */ +func nodeRowidIndex(tls *libc.TLS, pRtree uintptr, pNode uintptr, iRowid I64, piIndex uintptr) int32 { /* sqlite3.c:197204:12: */ var ii int32 var nCell int32 = readInt16(tls, (*RtreeNode)(unsafe.Pointer(pNode)).FzData+2) @@ -157397,7 +157428,7 @@ func nodeRowidIndex(tls *libc.TLS, pRtree uintptr, pNode uintptr, iRowid I64, pi // Return the index of the cell containing a pointer to node pNode // in its parent. If pNode is the root node, return -1. -func nodeParentIndex(tls *libc.TLS, pRtree uintptr, pNode uintptr, piIndex uintptr) int32 { /* sqlite3.c:197170:12: */ +func nodeParentIndex(tls *libc.TLS, pRtree uintptr, pNode uintptr, piIndex uintptr) int32 { /* sqlite3.c:197227:12: */ var pParent uintptr = (*RtreeNode)(unsafe.Pointer(pNode)).FpParent if pParent != 0 { return nodeRowidIndex(tls, pRtree, pParent, (*RtreeNode)(unsafe.Pointer(pNode)).FiNode, piIndex) @@ -157416,7 +157447,7 @@ func nodeParentIndex(tls *libc.TLS, pRtree uintptr, pNode uintptr, piIndex uintp // iLevel values coming first. In this way, if rScore is the same for all // SearchPoints, then iLevel becomes the deciding factor and the result // is a depth-first search, which is the desired default behavior. -func rtreeSearchPointCompare(tls *libc.TLS, pA uintptr, pB uintptr) int32 { /* sqlite3.c:197190:12: */ +func rtreeSearchPointCompare(tls *libc.TLS, pA uintptr, pB uintptr) int32 { /* sqlite3.c:197247:12: */ if (*RtreeSearchPoint)(unsafe.Pointer(pA)).FrScore < (*RtreeSearchPoint)(unsafe.Pointer(pB)).FrScore { return -1 } @@ -157433,7 +157464,7 @@ func rtreeSearchPointCompare(tls *libc.TLS, pA uintptr, pB uintptr) int32 { /* s } // Interchange two search points in a cursor. -func rtreeSearchPointSwap(tls *libc.TLS, p uintptr, i int32, j int32) { /* sqlite3.c:197204:13: */ +func rtreeSearchPointSwap(tls *libc.TLS, p uintptr, i int32, j int32) { /* sqlite3.c:197261:13: */ var t = *(*RtreeSearchPoint)(unsafe.Pointer((*RtreeCursor)(unsafe.Pointer(p)).FaPoint + uintptr(i)*20)) *(*RtreeSearchPoint)(unsafe.Pointer((*RtreeCursor)(unsafe.Pointer(p)).FaPoint + uintptr(i)*20)) = *(*RtreeSearchPoint)(unsafe.Pointer((*RtreeCursor)(unsafe.Pointer(p)).FaPoint + uintptr(j)*20)) @@ -157453,7 +157484,7 @@ func rtreeSearchPointSwap(tls *libc.TLS, p uintptr, i int32, j int32) { /* sqlit } // Return the search point with the lowest current score. -func rtreeSearchPointFirst(tls *libc.TLS, pCur uintptr) uintptr { /* sqlite3.c:197225:25: */ +func rtreeSearchPointFirst(tls *libc.TLS, pCur uintptr) uintptr { /* sqlite3.c:197282:25: */ if (*RtreeCursor)(unsafe.Pointer(pCur)).FbPoint != 0 { return pCur + 40 } @@ -157464,7 +157495,7 @@ func rtreeSearchPointFirst(tls *libc.TLS, pCur uintptr) uintptr { /* sqlite3.c:1 } // Get the RtreeNode for the search point with the lowest score. -func rtreeNodeOfFirstSearchPoint(tls *libc.TLS, pCur uintptr, pRC uintptr) uintptr { /* sqlite3.c:197232:18: */ +func rtreeNodeOfFirstSearchPoint(tls *libc.TLS, pCur uintptr, pRC uintptr) uintptr { /* sqlite3.c:197289:18: */ var id Sqlite3_int64 var ii int32 = 1 - int32((*RtreeCursor)(unsafe.Pointer(pCur)).FbPoint) @@ -157481,7 +157512,7 @@ func rtreeNodeOfFirstSearchPoint(tls *libc.TLS, pCur uintptr, pRC uintptr) uintp } // Push a new element onto the priority queue -func rtreeEnqueue(tls *libc.TLS, pCur uintptr, rScore RtreeDValue, iLevel U8) uintptr { /* sqlite3.c:197248:25: */ +func rtreeEnqueue(tls *libc.TLS, pCur uintptr, rScore RtreeDValue, iLevel U8) uintptr { /* sqlite3.c:197305:25: */ var i int32 var j int32 var pNew uintptr @@ -157515,7 +157546,7 @@ func rtreeEnqueue(tls *libc.TLS, pCur uintptr, rScore RtreeDValue, iLevel U8) ui // Allocate a new RtreeSearchPoint and return a pointer to it. Return // NULL if malloc fails. -func rtreeSearchPointNew(tls *libc.TLS, pCur uintptr, rScore RtreeDValue, iLevel U8) uintptr { /* sqlite3.c:197283:25: */ +func rtreeSearchPointNew(tls *libc.TLS, pCur uintptr, rScore RtreeDValue, iLevel U8) uintptr { /* sqlite3.c:197340:25: */ var pNew uintptr var pFirst uintptr pFirst = rtreeSearchPointFirst(tls, pCur) @@ -157551,7 +157582,7 @@ func rtreeSearchPointNew(tls *libc.TLS, pCur uintptr, rScore RtreeDValue, iLevel } // Remove the search point with the lowest current score. -func rtreeSearchPointPop(tls *libc.TLS, p uintptr) { /* sqlite3.c:197351:13: */ +func rtreeSearchPointPop(tls *libc.TLS, p uintptr) { /* sqlite3.c:197408:13: */ var i int32 var j int32 var k int32 @@ -157599,7 +157630,7 @@ func rtreeSearchPointPop(tls *libc.TLS, p uintptr) { /* sqlite3.c:197351:13: */ // contains an entry suitable for returning as a result-set row, // or until the RtreeSearchPoint queue is empty, indicating that the // query has completed. -func rtreeStepToLeaf(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:197399:12: */ +func rtreeStepToLeaf(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:197456:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -157692,7 +157723,7 @@ func rtreeStepToLeaf(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:197399:12 } // Rtree virtual table module xNext method. -func rtreeNext(tls *libc.TLS, pVtabCursor uintptr) int32 { /* sqlite3.c:197480:12: */ +func rtreeNext(tls *libc.TLS, pVtabCursor uintptr) int32 { /* sqlite3.c:197537:12: */ var pCsr uintptr = pVtabCursor var rc int32 = SQLITE_OK @@ -157708,7 +157739,7 @@ func rtreeNext(tls *libc.TLS, pVtabCursor uintptr) int32 { /* sqlite3.c:197480:1 } // Rtree virtual table module xRowid method. -func rtreeRowid(tls *libc.TLS, pVtabCursor uintptr, pRowid uintptr) int32 { /* sqlite3.c:197498:12: */ +func rtreeRowid(tls *libc.TLS, pVtabCursor uintptr, pRowid uintptr) int32 { /* sqlite3.c:197555:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -157723,7 +157754,7 @@ func rtreeRowid(tls *libc.TLS, pVtabCursor uintptr, pRowid uintptr) int32 { /* s } // Rtree virtual table module xColumn method. -func rtreeColumn(tls *libc.TLS, cur uintptr, ctx uintptr, i int32) int32 { /* sqlite3.c:197512:12: */ +func rtreeColumn(tls *libc.TLS, cur uintptr, ctx uintptr, i int32) int32 { /* sqlite3.c:197569:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -157784,7 +157815,7 @@ func rtreeColumn(tls *libc.TLS, cur uintptr, ctx uintptr, i int32) int32 { /* sq // return SQLITE_OK. If there is no such record in the table, set // *ppLeaf to 0 and return SQLITE_OK. If an error occurs, set *ppLeaf // to zero and return an SQLite error code. -func findLeafNode(tls *libc.TLS, pRtree uintptr, iRowid I64, ppLeaf uintptr, piNode uintptr) int32 { /* sqlite3.c:197566:12: */ +func findLeafNode(tls *libc.TLS, pRtree uintptr, iRowid I64, ppLeaf uintptr, piNode uintptr) int32 { /* sqlite3.c:197623:12: */ var rc int32 *(*uintptr)(unsafe.Pointer(ppLeaf)) = uintptr(0) Xsqlite3_bind_int64(tls, (*Rtree)(unsafe.Pointer(pRtree)).FpReadRowid, 1, iRowid) @@ -157805,7 +157836,7 @@ func findLeafNode(tls *libc.TLS, pRtree uintptr, iRowid I64, ppLeaf uintptr, piN // as the second argument for a MATCH constraint. The value passed as the // first argument to this function is the right-hand operand to the MATCH // operator. -func deserializeGeometry(tls *libc.TLS, pValue uintptr, pCons uintptr) int32 { /* sqlite3.c:197592:12: */ +func deserializeGeometry(tls *libc.TLS, pValue uintptr, pCons uintptr) int32 { /* sqlite3.c:197649:12: */ var pBlob uintptr var pSrc uintptr // BLOB returned by geometry function var pInfo uintptr // Callback information @@ -157837,7 +157868,7 @@ func deserializeGeometry(tls *libc.TLS, pValue uintptr, pCons uintptr) int32 { / } // Rtree virtual table module xFilter method. -func rtreeFilter(tls *libc.TLS, pVtabCursor uintptr, idxNum int32, idxStr uintptr, argc int32, argv uintptr) int32 { /* sqlite3.c:197622:12: */ +func rtreeFilter(tls *libc.TLS, pVtabCursor uintptr, idxNum int32, idxStr uintptr, argc int32, argv uintptr) int32 { /* sqlite3.c:197679:12: */ bp := tls.Alloc(20) defer tls.Free(20) @@ -157980,7 +158011,7 @@ func rtreeFilter(tls *libc.TLS, pVtabCursor uintptr, idxNum int32, idxStr uintpt // The second of each pair of bytes identifies the coordinate column // to which the constraint applies. The leftmost coordinate column // is 'a', the second from the left 'b' etc. -func rtreeBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 { /* sqlite3.c:197775:12: */ +func rtreeBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 { /* sqlite3.c:197832:12: */ bp := tls.Alloc(49) defer tls.Free(49) @@ -158087,7 +158118,7 @@ func rtreeBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 { /* sql } // Return the N-dimensional volumn of the cell stored in *p. -func cellArea(tls *libc.TLS, pRtree uintptr, p uintptr) RtreeDValue { /* sqlite3.c:197864:20: */ +func cellArea(tls *libc.TLS, pRtree uintptr, p uintptr) RtreeDValue { /* sqlite3.c:197921:20: */ var area RtreeDValue = RtreeDValue(1) if int32((*Rtree)(unsafe.Pointer(pRtree)).FeCoordType) == RTREE_COORD_REAL32 { @@ -158130,7 +158161,7 @@ func cellArea(tls *libc.TLS, pRtree uintptr, p uintptr) RtreeDValue { /* sqlite3 // Return the margin length of cell p. The margin length is the sum // of the objects size in each dimension. -func cellMargin(tls *libc.TLS, pRtree uintptr, p uintptr) RtreeDValue { /* sqlite3.c:197894:20: */ +func cellMargin(tls *libc.TLS, pRtree uintptr, p uintptr) RtreeDValue { /* sqlite3.c:197951:20: */ var margin RtreeDValue = RtreeDValue(0) var ii int32 = int32((*Rtree)(unsafe.Pointer(pRtree)).FnDim2) - 2 for __ccgo := true; __ccgo; __ccgo = ii >= 0 { @@ -158151,7 +158182,7 @@ func cellMargin(tls *libc.TLS, pRtree uintptr, p uintptr) RtreeDValue { /* sqlit } // Store the union of cells p1 and p2 in p1. -func cellUnion(tls *libc.TLS, pRtree uintptr, p1 uintptr, p2 uintptr) { /* sqlite3.c:197907:13: */ +func cellUnion(tls *libc.TLS, pRtree uintptr, p1 uintptr, p2 uintptr) { /* sqlite3.c:197964:13: */ var ii int32 = 0 if int32((*Rtree)(unsafe.Pointer(pRtree)).FeCoordType) == RTREE_COORD_REAL32 { for __ccgo := true; __ccgo; __ccgo = ii < int32((*Rtree)(unsafe.Pointer(pRtree)).FnDim2) { @@ -158190,7 +158221,7 @@ func cellUnion(tls *libc.TLS, pRtree uintptr, p1 uintptr, p2 uintptr) { /* sqlit // Return true if the area covered by p2 is a subset of the area covered // by p1. False otherwise. -func cellContains(tls *libc.TLS, pRtree uintptr, p1 uintptr, p2 uintptr) int32 { /* sqlite3.c:197928:12: */ +func cellContains(tls *libc.TLS, pRtree uintptr, p1 uintptr, p2 uintptr) int32 { /* sqlite3.c:197985:12: */ var ii int32 var isInt int32 = libc.Bool32(int32((*Rtree)(unsafe.Pointer(pRtree)).FeCoordType) == RTREE_COORD_INT32) for ii = 0; ii < int32((*Rtree)(unsafe.Pointer(pRtree)).FnDim2); ii = ii + 2 { @@ -158205,7 +158236,7 @@ func cellContains(tls *libc.TLS, pRtree uintptr, p1 uintptr, p2 uintptr) int32 { } // Return the amount cell p would grow by if it were unioned with pCell. -func cellGrowth(tls *libc.TLS, pRtree uintptr, p uintptr, pCell uintptr) RtreeDValue { /* sqlite3.c:197946:20: */ +func cellGrowth(tls *libc.TLS, pRtree uintptr, p uintptr, pCell uintptr) RtreeDValue { /* sqlite3.c:198003:20: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -158218,7 +158249,7 @@ func cellGrowth(tls *libc.TLS, pRtree uintptr, p uintptr, pCell uintptr) RtreeDV return cellArea(tls, pRtree, bp) - area } -func cellOverlap(tls *libc.TLS, pRtree uintptr, p uintptr, aCell uintptr, nCell int32) RtreeDValue { /* sqlite3.c:197955:20: */ +func cellOverlap(tls *libc.TLS, pRtree uintptr, p uintptr, aCell uintptr, nCell int32) RtreeDValue { /* sqlite3.c:198012:20: */ var ii int32 var overlap RtreeDValue = 0.0 for ii = 0; ii < nCell; ii++ { @@ -158293,7 +158324,7 @@ func cellOverlap(tls *libc.TLS, pRtree uintptr, p uintptr, aCell uintptr, nCell // This function implements the ChooseLeaf algorithm from Gutman[84]. // ChooseSubTree in r*tree terminology. -func sChooseLeaf(tls *libc.TLS, pRtree uintptr, pCell uintptr, iHeight int32, ppLeaf uintptr) int32 { /* sqlite3.c:197987:12: */ +func sChooseLeaf(tls *libc.TLS, pRtree uintptr, pCell uintptr, iHeight int32, ppLeaf uintptr) int32 { /* sqlite3.c:198044:12: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -158349,7 +158380,7 @@ func sChooseLeaf(tls *libc.TLS, pRtree uintptr, pCell uintptr, iHeight int32, pp // A cell with the same content as pCell has just been inserted into // the node pNode. This function updates the bounding box cells in // all ancestor elements. -func sAdjustTree(tls *libc.TLS, pRtree uintptr, pNode uintptr, pCell uintptr) int32 { /* sqlite3.c:198047:12: */ +func sAdjustTree(tls *libc.TLS, pRtree uintptr, pNode uintptr, pCell uintptr) int32 { /* sqlite3.c:198104:12: */ bp := tls.Alloc(52) defer tls.Free(52) @@ -158385,7 +158416,7 @@ func sAdjustTree(tls *libc.TLS, pRtree uintptr, pNode uintptr, pCell uintptr) in } // Write mapping (iRowid->iNode) to the _rowid table. -func rowidWrite(tls *libc.TLS, pRtree uintptr, iRowid Sqlite3_int64, iNode Sqlite3_int64) int32 { /* sqlite3.c:198085:12: */ +func rowidWrite(tls *libc.TLS, pRtree uintptr, iRowid Sqlite3_int64, iNode Sqlite3_int64) int32 { /* sqlite3.c:198142:12: */ Xsqlite3_bind_int64(tls, (*Rtree)(unsafe.Pointer(pRtree)).FpWriteRowid, 1, iRowid) Xsqlite3_bind_int64(tls, (*Rtree)(unsafe.Pointer(pRtree)).FpWriteRowid, 2, iNode) Xsqlite3_step(tls, (*Rtree)(unsafe.Pointer(pRtree)).FpWriteRowid) @@ -158393,7 +158424,7 @@ func rowidWrite(tls *libc.TLS, pRtree uintptr, iRowid Sqlite3_int64, iNode Sqlit } // Write mapping (iNode->iPar) to the _parent table. -func parentWrite(tls *libc.TLS, pRtree uintptr, iNode Sqlite3_int64, iPar Sqlite3_int64) int32 { /* sqlite3.c:198095:12: */ +func parentWrite(tls *libc.TLS, pRtree uintptr, iNode Sqlite3_int64, iPar Sqlite3_int64) int32 { /* sqlite3.c:198152:12: */ Xsqlite3_bind_int64(tls, (*Rtree)(unsafe.Pointer(pRtree)).FpWriteParent, 1, iNode) Xsqlite3_bind_int64(tls, (*Rtree)(unsafe.Pointer(pRtree)).FpWriteParent, 2, iPar) Xsqlite3_step(tls, (*Rtree)(unsafe.Pointer(pRtree)).FpWriteParent) @@ -158415,7 +158446,7 @@ func parentWrite(tls *libc.TLS, pRtree uintptr, iNode Sqlite3_int64, iPar Sqlite // // The aSpare array is used as temporary working space by the // sorting algorithm. -func sSortByDistance(tls *libc.TLS, aIdx uintptr, nIdx int32, aDistance uintptr, aSpare uintptr) { /* sqlite3.c:198122:13: */ +func sSortByDistance(tls *libc.TLS, aIdx uintptr, nIdx int32, aDistance uintptr, aSpare uintptr) { /* sqlite3.c:198179:13: */ if nIdx > 1 { var iLeft int32 = 0 var iRight int32 = 0 @@ -158463,7 +158494,7 @@ func sSortByDistance(tls *libc.TLS, aIdx uintptr, nIdx int32, aDistance uintptr, // // The aSpare array is used as temporary working space by the // sorting algorithm. -func sSortByDimension(tls *libc.TLS, pRtree uintptr, aIdx uintptr, nIdx int32, iDim int32, aCell uintptr, aSpare uintptr) { /* sqlite3.c:198188:13: */ +func sSortByDimension(tls *libc.TLS, pRtree uintptr, aIdx uintptr, nIdx int32, iDim int32, aCell uintptr, aSpare uintptr) { /* sqlite3.c:198245:13: */ if nIdx > 1 { var iLeft int32 = 0 @@ -158519,7 +158550,7 @@ func sSortByDimension(tls *libc.TLS, pRtree uintptr, aIdx uintptr, nIdx int32, i } // Implementation of the R*-tree variant of SplitNode from Beckman[1990]. -func splitNodeStartree(tls *libc.TLS, pRtree uintptr, aCell uintptr, nCell int32, pLeft uintptr, pRight uintptr, pBboxLeft uintptr, pBboxRight uintptr) int32 { /* sqlite3.c:198247:12: */ +func splitNodeStartree(tls *libc.TLS, pRtree uintptr, aCell uintptr, nCell int32, pLeft uintptr, pRight uintptr, pBboxLeft uintptr, pBboxRight uintptr) int32 { /* sqlite3.c:198304:12: */ bp := tls.Alloc(96) defer tls.Free(96) @@ -158618,7 +158649,7 @@ func splitNodeStartree(tls *libc.TLS, pRtree uintptr, aCell uintptr, nCell int32 return SQLITE_OK } -func updateMapping(tls *libc.TLS, pRtree uintptr, iRowid I64, pNode uintptr, iHeight int32) int32 { /* sqlite3.c:198345:12: */ +func updateMapping(tls *libc.TLS, pRtree uintptr, iRowid I64, pNode uintptr, iHeight int32) int32 { /* sqlite3.c:198402:12: */ var xSetMapping uintptr xSetMapping = func() uintptr { if iHeight == 0 { @@ -158652,7 +158683,7 @@ func updateMapping(tls *libc.TLS, pRtree uintptr, iRowid I64, pNode uintptr, iHe })(unsafe.Pointer(&struct{ uintptr }{xSetMapping})).f(tls, pRtree, iRowid, (*RtreeNode)(unsafe.Pointer(pNode)).FiNode) } -func sSplitNode(tls *libc.TLS, pRtree uintptr, pNode uintptr, pCell uintptr, iHeight int32) int32 { /* sqlite3.c:198369:12: */ +func sSplitNode(tls *libc.TLS, pRtree uintptr, pNode uintptr, pCell uintptr, iHeight int32) int32 { /* sqlite3.c:198426:12: */ bp := tls.Alloc(100) defer tls.Free(100) @@ -158887,7 +158918,7 @@ splitnode_out: // rowid of the row to delete, which can be used to find the leaf on which // the entry resides (argument pLeaf). Once the leaf is located, this // function is called to determine its ancestry. -func fixLeafParent(tls *libc.TLS, pRtree uintptr, pLeaf uintptr) int32 { /* sqlite3.c:198517:12: */ +func fixLeafParent(tls *libc.TLS, pRtree uintptr, pLeaf uintptr) int32 { /* sqlite3.c:198574:12: */ var rc int32 = SQLITE_OK var pChild uintptr = pLeaf for rc == SQLITE_OK && (*RtreeNode)(unsafe.Pointer(pChild)).FiNode != int64(1) && (*RtreeNode)(unsafe.Pointer(pChild)).FpParent == uintptr(0) { @@ -158922,7 +158953,7 @@ func fixLeafParent(tls *libc.TLS, pRtree uintptr, pLeaf uintptr) int32 { /* sqli return rc } -func removeNode(tls *libc.TLS, pRtree uintptr, pNode uintptr, iHeight int32) int32 { /* sqlite3.c:198552:12: */ +func removeNode(tls *libc.TLS, pRtree uintptr, pNode uintptr, iHeight int32) int32 { /* sqlite3.c:198609:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -158972,7 +159003,7 @@ func removeNode(tls *libc.TLS, pRtree uintptr, pNode uintptr, iHeight int32) int return SQLITE_OK } -func fixBoundingBox(tls *libc.TLS, pRtree uintptr, pNode uintptr) int32 { /* sqlite3.c:198602:12: */ +func fixBoundingBox(tls *libc.TLS, pRtree uintptr, pNode uintptr) int32 { /* sqlite3.c:198659:12: */ bp := tls.Alloc(100) defer tls.Free(100) @@ -159003,7 +159034,7 @@ func fixBoundingBox(tls *libc.TLS, pRtree uintptr, pNode uintptr) int32 { /* sql // Delete the cell at index iCell of node pNode. After removing the // cell, adjust the r-tree data structure if required. -func deleteCell(tls *libc.TLS, pRtree uintptr, pNode uintptr, iCell int32, iHeight int32) int32 { /* sqlite3.c:198629:12: */ +func deleteCell(tls *libc.TLS, pRtree uintptr, pNode uintptr, iCell int32, iHeight int32) int32 { /* sqlite3.c:198686:12: */ var pParent uintptr var rc int32 @@ -159032,7 +159063,7 @@ func deleteCell(tls *libc.TLS, pRtree uintptr, pNode uintptr, iCell int32, iHeig return rc } -func sReinsert(tls *libc.TLS, pRtree uintptr, pNode uintptr, pCell uintptr, iHeight int32) int32 { /* sqlite3.c:198660:12: */ +func sReinsert(tls *libc.TLS, pRtree uintptr, pNode uintptr, pCell uintptr, iHeight int32) int32 { /* sqlite3.c:198717:12: */ bp := tls.Alloc(44) defer tls.Free(44) @@ -159147,7 +159178,7 @@ func sReinsert(tls *libc.TLS, pRtree uintptr, pNode uintptr, pCell uintptr, iHei // Insert cell pCell into node pNode. Node pNode is the head of a // subtree iHeight high (leaf nodes have iHeight==0). -func rtreeInsertCell(tls *libc.TLS, pRtree uintptr, pNode uintptr, pCell uintptr, iHeight int32) int32 { /* sqlite3.c:198765:12: */ +func rtreeInsertCell(tls *libc.TLS, pRtree uintptr, pNode uintptr, pCell uintptr, iHeight int32) int32 { /* sqlite3.c:198822:12: */ var rc int32 = SQLITE_OK if iHeight > 0 { var pChild uintptr = nodeHashLookup(tls, pRtree, (*RtreeCell)(unsafe.Pointer(pCell)).FiRowid) @@ -159177,7 +159208,7 @@ func rtreeInsertCell(tls *libc.TLS, pRtree uintptr, pNode uintptr, pCell uintptr return rc } -func reinsertNodeContent(tls *libc.TLS, pRtree uintptr, pNode uintptr) int32 { /* sqlite3.c:198800:12: */ +func reinsertNodeContent(tls *libc.TLS, pRtree uintptr, pNode uintptr) int32 { /* sqlite3.c:198857:12: */ bp := tls.Alloc(52) defer tls.Free(52) @@ -159208,7 +159239,7 @@ func reinsertNodeContent(tls *libc.TLS, pRtree uintptr, pNode uintptr) int32 { / } // Select a currently unused rowid for a new r-tree record. -func rtreeNewRowid(tls *libc.TLS, pRtree uintptr, piRowid uintptr) int32 { /* sqlite3.c:198829:12: */ +func rtreeNewRowid(tls *libc.TLS, pRtree uintptr, piRowid uintptr) int32 { /* sqlite3.c:198886:12: */ var rc int32 Xsqlite3_bind_null(tls, (*Rtree)(unsafe.Pointer(pRtree)).FpWriteRowid, 1) Xsqlite3_bind_null(tls, (*Rtree)(unsafe.Pointer(pRtree)).FpWriteRowid, 2) @@ -159219,7 +159250,7 @@ func rtreeNewRowid(tls *libc.TLS, pRtree uintptr, piRowid uintptr) int32 { /* sq } // Remove the entry with rowid=iDelete from the r-tree structure. -func rtreeDeleteRowid(tls *libc.TLS, pRtree uintptr, iDelete Sqlite3_int64) int32 { /* sqlite3.c:198842:12: */ +func rtreeDeleteRowid(tls *libc.TLS, pRtree uintptr, iDelete Sqlite3_int64) int32 { /* sqlite3.c:198899:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -159308,7 +159339,7 @@ func rtreeDeleteRowid(tls *libc.TLS, pRtree uintptr, iDelete Sqlite3_int64) int3 // Convert an sqlite3_value into an RtreeValue (presumably a float) // while taking care to round toward negative or positive, respectively. -func rtreeValueDown(tls *libc.TLS, v uintptr) RtreeValue { /* sqlite3.c:198939:19: */ +func rtreeValueDown(tls *libc.TLS, v uintptr) RtreeValue { /* sqlite3.c:198996:19: */ var d float64 = Xsqlite3_value_double(tls, v) var f float32 = float32(d) if float64(f) > d { @@ -159322,7 +159353,7 @@ func rtreeValueDown(tls *libc.TLS, v uintptr) RtreeValue { /* sqlite3.c:198939:1 return f } -func rtreeValueUp(tls *libc.TLS, v uintptr) RtreeValue { /* sqlite3.c:198947:19: */ +func rtreeValueUp(tls *libc.TLS, v uintptr) RtreeValue { /* sqlite3.c:199004:19: */ var d float64 = Xsqlite3_value_double(tls, v) var f float32 = float32(d) if float64(f) < d { @@ -159347,7 +159378,7 @@ func rtreeValueUp(tls *libc.TLS, v uintptr) RtreeValue { /* sqlite3.c:198947:19: // (c1<=c2) constraint on columns iCol and iCol+1 that has failed. // // If an OOM occurs, SQLITE_NOMEM is returned instead of SQLITE_CONSTRAINT. -func rtreeConstraintError(tls *libc.TLS, pRtree uintptr, iCol int32) int32 { /* sqlite3.c:198970:12: */ +func rtreeConstraintError(tls *libc.TLS, pRtree uintptr, iCol int32) int32 { /* sqlite3.c:199027:12: */ bp := tls.Alloc(60) defer tls.Free(60) @@ -159386,7 +159417,7 @@ func rtreeConstraintError(tls *libc.TLS, pRtree uintptr, iCol int32) int32 { /* } // The xUpdate method for rtree module virtual tables. -func rtreeUpdate(tls *libc.TLS, pVtab uintptr, nData int32, aData uintptr, pRowid uintptr) int32 { /* sqlite3.c:199008:12: */ +func rtreeUpdate(tls *libc.TLS, pVtab uintptr, nData int32, aData uintptr, pRowid uintptr) int32 { /* sqlite3.c:199065:12: */ bp := tls.Alloc(52) defer tls.Free(52) @@ -159615,7 +159646,7 @@ constraint: } // Called when a transaction starts. -func rtreeBeginTransaction(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:199156:12: */ +func rtreeBeginTransaction(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:199213:12: */ var pRtree uintptr = pVtab (*Rtree)(unsafe.Pointer(pRtree)).FinWrTrans++ @@ -159624,7 +159655,7 @@ func rtreeBeginTransaction(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:19 // Called when a transaction completes (either by COMMIT or ROLLBACK). // The sqlite3_blob object should be released at this point. -func rtreeEndTransaction(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:199167:12: */ +func rtreeEndTransaction(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:199224:12: */ var pRtree uintptr = pVtab (*Rtree)(unsafe.Pointer(pRtree)).FinWrTrans = U8(0) nodeBlobReset(tls, pRtree) @@ -159632,7 +159663,7 @@ func rtreeEndTransaction(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:1991 } // The xRename method for rtree module virtual tables. -func rtreeRename(tls *libc.TLS, pVtab uintptr, zNewName uintptr) int32 { /* sqlite3.c:199177:12: */ +func rtreeRename(tls *libc.TLS, pVtab uintptr, zNewName uintptr) int32 { /* sqlite3.c:199234:12: */ bp := tls.Alloc(72) defer tls.Free(72) @@ -159661,7 +159692,7 @@ func rtreeRename(tls *libc.TLS, pVtab uintptr, zNewName uintptr) int32 { /* sqli // INSERT INTO rtree... // DROP TABLE ; -- Would fail with SQLITE_LOCKED // COMMIT; -func rtreeSavepoint(tls *libc.TLS, pVtab uintptr, iSavepoint int32) int32 { /* sqlite3.c:199210:12: */ +func rtreeSavepoint(tls *libc.TLS, pVtab uintptr, iSavepoint int32) int32 { /* sqlite3.c:199267:12: */ var pRtree uintptr = pVtab var iwt U8 = (*Rtree)(unsafe.Pointer(pRtree)).FinWrTrans _ = iSavepoint @@ -159674,7 +159705,7 @@ func rtreeSavepoint(tls *libc.TLS, pVtab uintptr, iSavepoint int32) int32 { /* s // This function populates the pRtree->nRowEst variable with an estimate // of the number of rows in the virtual table. If possible, this is based // on sqlite_stat1 data. Otherwise, use RTREE_DEFAULT_ROWEST. -func rtreeQueryStat1(tls *libc.TLS, db uintptr, pRtree uintptr) int32 { /* sqlite3.c:199225:12: */ +func rtreeQueryStat1(tls *libc.TLS, db uintptr, pRtree uintptr) int32 { /* sqlite3.c:199282:12: */ bp := tls.Alloc(20) defer tls.Free(20) @@ -159718,7 +159749,7 @@ func rtreeQueryStat1(tls *libc.TLS, db uintptr, pRtree uintptr) int32 { /* sqlit // Return true if zName is the extension on one of the shadow tables used // by this module. -func rtreeShadowName(tls *libc.TLS, zName uintptr) int32 { /* sqlite3.c:199259:12: */ +func rtreeShadowName(tls *libc.TLS, zName uintptr) int32 { /* sqlite3.c:199316:12: */ var i uint32 for i = uint32(0); i < uint32(unsafe.Sizeof(azName1))/uint32(unsafe.Sizeof(uintptr(0))); i++ { if Xsqlite3_stricmp(tls, zName, azName1[i]) == 0 { @@ -159730,7 +159761,7 @@ func rtreeShadowName(tls *libc.TLS, zName uintptr) int32 { /* sqlite3.c:199259:1 var azName1 = [3]uintptr{ ts + 25269, ts + 5011, ts + 16174, -} /* sqlite3.c:199260:21 */ +} /* sqlite3.c:199317:21 */ var rtreeModule = Sqlite3_module{ FiVersion: 3, // iVersion @@ -159754,9 +159785,9 @@ var rtreeModule = Sqlite3_module{ FxRename: 0, // xRename - rename the table FxSavepoint: 0, // xRollbackTo FxShadowName: 0, // xShadowName -} /* sqlite3.c:199270:23 */ +} /* sqlite3.c:199327:23 */ -func rtreeSqlInit(tls *libc.TLS, pRtree uintptr, db uintptr, zDb uintptr, zPrefix uintptr, isCreate int32) int32 { /* sqlite3.c:199297:12: */ +func rtreeSqlInit(tls *libc.TLS, pRtree uintptr, db uintptr, zDb uintptr, zPrefix uintptr, isCreate int32) int32 { /* sqlite3.c:199354:12: */ bp := tls.Alloc(200) defer tls.Free(200) @@ -159873,14 +159904,14 @@ var azSql = [8]uintptr{ ts + 25999, ts + 26057, ts + 26112, -} /* sqlite3.c:199307:21 */ +} /* sqlite3.c:199364:21 */ // The second argument to this function contains the text of an SQL statement // that returns a single integer value. The statement is compiled and executed // using database connection db. If successful, the integer value returned // is written to *piVal and SQLITE_OK returned. Otherwise, an SQLite error // code is returned and the value of *piVal after returning is not defined. -func getIntFromStmt(tls *libc.TLS, db uintptr, zSql uintptr, piVal uintptr) int32 { /* sqlite3.c:199430:12: */ +func getIntFromStmt(tls *libc.TLS, db uintptr, zSql uintptr, piVal uintptr) int32 { /* sqlite3.c:199487:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -159911,7 +159942,7 @@ func getIntFromStmt(tls *libc.TLS, db uintptr, zSql uintptr, piVal uintptr) int3 // This ensures that each node is stored on a single database page. If the // database page-size is so large that more than RTREE_MAXCELLS entries // would fit in a single node, use a smaller node-size. -func getNodeSize(tls *libc.TLS, db uintptr, pRtree uintptr, isCreate int32, pzErr uintptr) int32 { /* sqlite3.c:199460:12: */ +func getNodeSize(tls *libc.TLS, db uintptr, pRtree uintptr, isCreate int32, pzErr uintptr) int32 { /* sqlite3.c:199517:12: */ bp := tls.Alloc(52) defer tls.Free(52) @@ -159949,7 +159980,7 @@ func getNodeSize(tls *libc.TLS, db uintptr, pRtree uintptr, isCreate int32, pzEr } // Return the length of a token -func rtreeTokenLength(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:199503:12: */ +func rtreeTokenLength(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:199560:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -159964,7 +159995,7 @@ func rtreeTokenLength(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:199503:12: // argv[1] -> database name // argv[2] -> table name // argv[...] -> column names... -func rtreeInit(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr, isCreate int32) int32 { /* sqlite3.c:199517:12: */ +func rtreeInit(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr, isCreate int32) int32 { /* sqlite3.c:199574:12: */ bp := tls.Alloc(116) defer tls.Free(116) @@ -160164,7 +160195,7 @@ __25: return rc } -var azFormat = [2]uintptr{ts + 26455, ts + 26466} /* sqlite3.c:199583:25 */ +var azFormat = [2]uintptr{ts + 26455, ts + 26466} /* sqlite3.c:199640:25 */ // Implementation of a scalar function that decodes r-tree nodes to // human readable strings. This can be used for debugging and analysis. @@ -160180,7 +160211,7 @@ var azFormat = [2]uintptr{ts + 26455, ts + 26466} /* sqlite3.c:199583:25 */ // entry for each cell in the r-tree node. Each entry is itself a // list, containing the 8-byte rowid/pageno followed by the // *2 coordinates. -func rtreenode(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:199654:13: */ +func rtreenode(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:199711:13: */ bp := tls.Alloc(592) defer tls.Free(592) @@ -160243,7 +160274,7 @@ func rtreenode(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) { /* sqlit // The depth value is 0 for all nodes other than the root node, and the root // node always has nodeno=1, so the example above is the primary use for this // routine. This routine is intended for testing and analysis only. -func rtreedepth(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:199706:13: */ +func rtreedepth(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:199763:13: */ _ = nArg if Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(apArg))) != SQLITE_BLOB || Xsqlite3_value_bytes(tls, *(*uintptr)(unsafe.Pointer(apArg))) < 2 { @@ -160273,15 +160304,15 @@ type RtreeCheck1 = struct { Frc int32 FzReport uintptr FnErr int32 -} /* sqlite3.c:199727:9 */ +} /* sqlite3.c:199784:9 */ // Context object passed between the various routines that make up the // implementation of integrity-check function rtreecheck(). -type RtreeCheck = RtreeCheck1 /* sqlite3.c:199727:27 */ +type RtreeCheck = RtreeCheck1 /* sqlite3.c:199784:27 */ // Reset SQL statement pStmt. If the sqlite3_reset() call returns an error, // and RtreeCheck.rc==SQLITE_OK, set RtreeCheck.rc to the error code. -func rtreeCheckReset(tls *libc.TLS, pCheck uintptr, pStmt uintptr) { /* sqlite3.c:199749:13: */ +func rtreeCheckReset(tls *libc.TLS, pCheck uintptr, pStmt uintptr) { /* sqlite3.c:199806:13: */ var rc int32 = Xsqlite3_reset(tls, pStmt) if (*RtreeCheck)(unsafe.Pointer(pCheck)).Frc == SQLITE_OK { (*RtreeCheck)(unsafe.Pointer(pCheck)).Frc = rc @@ -160294,7 +160325,7 @@ func rtreeCheckReset(tls *libc.TLS, pCheck uintptr, pStmt uintptr) { /* sqlite3. // // If successful, a pointer to the new SQL statement is returned. Otherwise, // NULL is returned and an error code left in RtreeCheck.rc. -func rtreeCheckPrepare(tls *libc.TLS, pCheck uintptr, zFmt uintptr, va uintptr) uintptr { /* sqlite3.c:199762:21: */ +func rtreeCheckPrepare(tls *libc.TLS, pCheck uintptr, zFmt uintptr, va uintptr) uintptr { /* sqlite3.c:199819:21: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -160322,7 +160353,7 @@ func rtreeCheckPrepare(tls *libc.TLS, pCheck uintptr, zFmt uintptr, va uintptr) // The second and subsequent arguments to this function are a printf() // style format string and arguments. This function formats the string and // appends it to the report being accumuated in pCheck. -func rtreeCheckAppendMsg(tls *libc.TLS, pCheck uintptr, zFmt uintptr, va uintptr) { /* sqlite3.c:199791:13: */ +func rtreeCheckAppendMsg(tls *libc.TLS, pCheck uintptr, zFmt uintptr, va uintptr) { /* sqlite3.c:199848:13: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -160362,7 +160393,7 @@ func rtreeCheckAppendMsg(tls *libc.TLS, pCheck uintptr, zFmt uintptr, va uintptr // Or, if an error does occur, NULL is returned and an error code left // in the RtreeCheck object. The final value of *pnNode is undefined in // this case. -func rtreeCheckGetNode(tls *libc.TLS, pCheck uintptr, iNode I64, pnNode uintptr) uintptr { /* sqlite3.c:199825:11: */ +func rtreeCheckGetNode(tls *libc.TLS, pCheck uintptr, iNode I64, pnNode uintptr) uintptr { /* sqlite3.c:199882:11: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -160406,7 +160437,7 @@ func rtreeCheckGetNode(tls *libc.TLS, pCheck uintptr, iNode I64, pnNode uintptr) // In both cases, this function checks that there exists an entry with // IPK value iKey and the second column set to iVal. // -func rtreeCheckMapping(tls *libc.TLS, pCheck uintptr, bLeaf int32, iKey I64, iVal I64) { /* sqlite3.c:199869:13: */ +func rtreeCheckMapping(tls *libc.TLS, pCheck uintptr, bLeaf int32, iKey I64, iVal I64) { /* sqlite3.c:199926:13: */ bp := tls.Alloc(88) defer tls.Free(88) @@ -160462,7 +160493,7 @@ func rtreeCheckMapping(tls *libc.TLS, pCheck uintptr, bLeaf int32, iKey I64, iVa // containing pCell. In this case it is also verified that the two // sets of coordinates are mutually consistent and an error message added // to the RtreeCheck object if they are not. -func rtreeCheckCellCoord(tls *libc.TLS, pCheck uintptr, iNode I64, iCell int32, pCell uintptr, pParent uintptr) { /* sqlite3.c:199921:13: */ +func rtreeCheckCellCoord(tls *libc.TLS, pCheck uintptr, iNode I64, iCell int32, pCell uintptr, pParent uintptr) { /* sqlite3.c:199978:13: */ bp := tls.Alloc(64) defer tls.Free(64) @@ -160520,7 +160551,7 @@ func rtreeCheckCellCoord(tls *libc.TLS, pCheck uintptr, iNode I64, iCell int32, // // If any problems are discovered, an error message is appended to the // report accumulated in the RtreeCheck object. -func rtreeCheckNode(tls *libc.TLS, pCheck uintptr, iDepth int32, aParent uintptr, iNode I64) { /* sqlite3.c:199967:13: */ +func rtreeCheckNode(tls *libc.TLS, pCheck uintptr, iDepth int32, aParent uintptr, iNode I64) { /* sqlite3.c:200024:13: */ bp := tls.Alloc(52) defer tls.Free(52) @@ -160574,7 +160605,7 @@ func rtreeCheckNode(tls *libc.TLS, pCheck uintptr, iDepth int32, aParent uintptr // %_rowid or %_parent table is exactly nExpect. If not, it adds // an error message to the report in the RtreeCheck object indicated // by the first argument. -func rtreeCheckCount(tls *libc.TLS, pCheck uintptr, zTbl uintptr, nExpect I64) { /* sqlite3.c:200030:13: */ +func rtreeCheckCount(tls *libc.TLS, pCheck uintptr, zTbl uintptr, nExpect I64) { /* sqlite3.c:200087:13: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -160597,7 +160628,7 @@ func rtreeCheckCount(tls *libc.TLS, pCheck uintptr, zTbl uintptr, nExpect I64) { // This function does the bulk of the work for the rtree integrity-check. // It is called by rtreecheck(), which is the SQL function implementation. -func rtreeCheckTable(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, pzReport uintptr) int32 { /* sqlite3.c:200054:12: */ +func rtreeCheckTable(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, pzReport uintptr) int32 { /* sqlite3.c:200111:12: */ bp := tls.Alloc(84) defer tls.Free(84) @@ -160704,7 +160735,7 @@ func rtreeCheckTable(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, pzRep // as there are non-leaf cells in the r-tree structure, and that // there is a non-leaf cell that corresponds to each entry in the // %_parent table. -func rtreecheck(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:200161:13: */ +func rtreecheck(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:200218:13: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -160767,7 +160798,7 @@ func rtreecheck(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) { /* sqli // Compiler and version // Datatype for coordinates -type GeoCoord = float32 /* sqlite3.c:200282:15 */ +type GeoCoord = float32 /* sqlite3.c:200339:15 */ // Internal representation of a polygon. // @@ -160793,7 +160824,7 @@ type GeoPoly1 = struct { FnVertex int32 Fhdr [4]uint8 Fa [8]GeoCoord -} /* sqlite3.c:200306:9 */ +} /* sqlite3.c:200363:9 */ // Internal representation of a polygon. // @@ -160815,7 +160846,7 @@ type GeoPoly1 = struct { // warnings coming from some compiler (notably, clang). In reality, the size // of each GeoPoly memory allocate is adjusted as necessary so that the // GeoPoly.a[] array at the end is the appropriate size. -type GeoPoly = GeoPoly1 /* sqlite3.c:200306:24 */ +type GeoPoly = GeoPoly1 /* sqlite3.c:200363:24 */ // The size of a memory allocation needed for a GeoPoly object sufficient // to hold N coordinate pairs. @@ -160831,7 +160862,7 @@ type GeoParse1 = struct { FnAlloc int32 FnErr int32 Fa uintptr -} /* sqlite3.c:200329:9 */ +} /* sqlite3.c:200386:9 */ // The size of a memory allocation needed for a GeoPoly object sufficient // to hold N coordinate pairs. @@ -160841,10 +160872,10 @@ type GeoParse1 = struct { // to silence (incorrect) UBSAN warnings if the array index is too large. // State of a parse of a GeoJSON input. -type GeoParse = GeoParse1 /* sqlite3.c:200329:25 */ +type GeoParse = GeoParse1 /* sqlite3.c:200386:25 */ // Do a 4-byte byte swap -func geopolySwab32(tls *libc.TLS, a uintptr) { /* sqlite3.c:200339:13: */ +func geopolySwab32(tls *libc.TLS, a uintptr) { /* sqlite3.c:200396:13: */ var t uint8 = *(*uint8)(unsafe.Pointer(a)) *(*uint8)(unsafe.Pointer(a)) = *(*uint8)(unsafe.Pointer(a + 3)) *(*uint8)(unsafe.Pointer(a + 3)) = t @@ -160854,7 +160885,7 @@ func geopolySwab32(tls *libc.TLS, a uintptr) { /* sqlite3.c:200339:13: */ } // Skip whitespace. Return the next non-whitespace character. -func geopolySkipSpace(tls *libc.TLS, p uintptr) int8 { /* sqlite3.c:200349:13: */ +func geopolySkipSpace(tls *libc.TLS, p uintptr) int8 { /* sqlite3.c:200406:13: */ for jsonIsSpace[*(*uint8)(unsafe.Pointer((*GeoParse)(unsafe.Pointer(p)).Fz))] != 0 { (*GeoParse)(unsafe.Pointer(p)).Fz++ } @@ -160863,7 +160894,7 @@ func geopolySkipSpace(tls *libc.TLS, p uintptr) int8 { /* sqlite3.c:200349:13: * // Parse out a number. Write the value into *pVal if pVal!=0. // return non-zero on success and zero if the next token is not a number. -func geopolyParseNumber(tls *libc.TLS, p uintptr, pVal uintptr) int32 { /* sqlite3.c:200357:12: */ +func geopolyParseNumber(tls *libc.TLS, p uintptr, pVal uintptr) int32 { /* sqlite3.c:200414:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -160935,7 +160966,7 @@ func geopolyParseNumber(tls *libc.TLS, p uintptr, pVal uintptr) int32 { /* sqlit // that object. // // If any error occurs, return NULL. -func geopolyParseJson(tls *libc.TLS, z uintptr, pRc uintptr) uintptr { /* sqlite3.c:200415:16: */ +func geopolyParseJson(tls *libc.TLS, z uintptr, pRc uintptr) uintptr { /* sqlite3.c:200472:16: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -161077,7 +161108,7 @@ __16: // in the binary format or JSON text. Compute a GeoPoly object and // return a pointer to that object. Or if the input is not a well-formed // polygon, put an error message in sqlite3_context and return NULL. -func geopolyFuncParam(tls *libc.TLS, pCtx uintptr, pVal uintptr, pRc uintptr) uintptr { /* sqlite3.c:200492:16: */ +func geopolyFuncParam(tls *libc.TLS, pCtx uintptr, pVal uintptr, pRc uintptr) uintptr { /* sqlite3.c:200549:16: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -161146,7 +161177,7 @@ func geopolyFuncParam(tls *libc.TLS, pCtx uintptr, pVal uintptr, pRc uintptr) ui // If the input is a well-formed Geopoly BLOB or JSON string // then return the BLOB representation of the polygon. Otherwise // return NULL. -func geopolyBlobFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:200553:13: */ +func geopolyBlobFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:200610:13: */ var p uintptr = geopolyFuncParam(tls, context, *(*uintptr)(unsafe.Pointer(argv)), uintptr(0)) if p != 0 { Xsqlite3_result_blob(tls, context, p+4, @@ -161159,7 +161190,7 @@ func geopolyBlobFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { // // Interpret X as a polygon and render it as a JSON array // of coordinates. Or, if X is not a valid polygon, return NULL. -func geopolyJsonFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:200572:13: */ +func geopolyJsonFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:200629:13: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -161182,7 +161213,7 @@ func geopolyJsonFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { // // Interpret X as a polygon and render it as a SVG . // Additional arguments are added as attributes to the . -func geopolySvgFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:200598:13: */ +func geopolySvgFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:200655:13: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -161228,7 +161259,7 @@ func geopolySvgFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { // Rotate by R around the point (0,0): // // geopoly_xform(poly, cos(R), sin(R), -sin(R), cos(R), 0, 0) -func geopolyXformFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:200645:13: */ +func geopolyXformFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:200702:13: */ var p uintptr = geopolyFuncParam(tls, context, *(*uintptr)(unsafe.Pointer(argv)), uintptr(0)) var A float64 = Xsqlite3_value_double(tls, *(*uintptr)(unsafe.Pointer(argv + 1*4))) var B float64 = Xsqlite3_value_double(tls, *(*uintptr)(unsafe.Pointer(argv + 2*4))) @@ -161261,7 +161292,7 @@ func geopolyXformFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) // This routine can also be used to detect polygons that rotate in // the wrong direction. Polygons are suppose to be counter-clockwise (CCW). // This routine returns a negative value for clockwise (CW) polygons. -func geopolyArea(tls *libc.TLS, p uintptr) float64 { /* sqlite3.c:200681:15: */ +func geopolyArea(tls *libc.TLS, p uintptr) float64 { /* sqlite3.c:200738:15: */ var rArea float64 = 0.0 var ii int32 for ii = 0; ii < (*GeoPoly)(unsafe.Pointer(p)).FnVertex-1; ii++ { @@ -161281,7 +161312,7 @@ func geopolyArea(tls *libc.TLS, p uintptr) float64 { /* sqlite3.c:200681:15: */ // enclosed by the polygon. If the polygon circulates clockwise instead // of counterclockwise (as it should) then return the negative of the // enclosed area. Otherwise return NULL. -func geopolyAreaFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:200703:13: */ +func geopolyAreaFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:200760:13: */ var p uintptr = geopolyFuncParam(tls, context, *(*uintptr)(unsafe.Pointer(argv)), uintptr(0)) if p != 0 { Xsqlite3_result_double(tls, context, geopolyArea(tls, p)) @@ -161300,7 +161331,7 @@ func geopolyAreaFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { // // Use this routine to sanitize historical inputs that that sometimes // contain polygons that wind in the wrong direction. -func geopolyCcwFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:200728:13: */ +func geopolyCcwFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:200785:13: */ var p uintptr = geopolyFuncParam(tls, context, *(*uintptr)(unsafe.Pointer(argv)), uintptr(0)) if p != 0 { if geopolyArea(tls, p) < 0.0 { @@ -161336,7 +161367,7 @@ func geopolyCcwFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { } // Fast approximation for sine(X) for X between -0.5*pi and 2*pi -func geopolySine(tls *libc.TLS, r float64) float64 { /* sqlite3.c:200756:15: */ +func geopolySine(tls *libc.TLS, r float64) float64 { /* sqlite3.c:200813:15: */ if r >= float64(1.5)*3.1415926535897932385 { r = r - float64(2.0)*3.1415926535897932385 @@ -161356,7 +161387,7 @@ func geopolySine(tls *libc.TLS, r float64) float64 { /* sqlite3.c:200756:15: */ // // Construct a simple, convex, regular polygon centered at X, Y // with circumradius R and with N sides. -func geopolyRegularFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:200777:13: */ +func geopolyRegularFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:200834:13: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -161401,7 +161432,7 @@ func geopolyRegularFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr // // If pPoly is NULL but aCoord is not NULL, then compute a new GeoPoly from // the bounding box in aCoord and return a pointer to that GeoPoly. -func geopolyBBox(tls *libc.TLS, context uintptr, pPoly uintptr, aCoord uintptr, pRc uintptr) uintptr { /* sqlite3.c:200820:16: */ +func geopolyBBox(tls *libc.TLS, context uintptr, pPoly uintptr, aCoord uintptr, pRc uintptr) uintptr { /* sqlite3.c:200877:16: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -161542,7 +161573,7 @@ __4: } // Implementation of the geopoly_bbox(X) SQL function. -func geopolyBBoxFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:200891:13: */ +func geopolyBBoxFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:200948:13: */ var p uintptr = geopolyBBox(tls, context, *(*uintptr)(unsafe.Pointer(argv)), uintptr(0), uintptr(0)) if p != 0 { Xsqlite3_result_blob(tls, context, p+4, @@ -161555,13 +161586,13 @@ func geopolyBBoxFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { type GeoBBox1 = struct { FisInit int32 Fa [4]RtreeCoord -} /* sqlite3.c:200907:9 */ +} /* sqlite3.c:200964:9 */ // State vector for the geopoly_group_bbox() aggregate function. -type GeoBBox = GeoBBox1 /* sqlite3.c:200907:24 */ +type GeoBBox = GeoBBox1 /* sqlite3.c:200964:24 */ // Implementation of the geopoly_group_bbox(X) aggregate SQL function. -func geopolyBBoxStep(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:200917:13: */ +func geopolyBBoxStep(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:200974:13: */ bp := tls.Alloc(20) defer tls.Free(20) @@ -161595,7 +161626,7 @@ func geopolyBBoxStep(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { } } -func geopolyBBoxFinal(tls *libc.TLS, context uintptr) { /* sqlite3.c:200940:13: */ +func geopolyBBoxFinal(tls *libc.TLS, context uintptr) { /* sqlite3.c:200997:13: */ var p uintptr var pBBox uintptr pBBox = Xsqlite3_aggregate_context(tls, context, 0) @@ -161622,7 +161653,7 @@ func geopolyBBoxFinal(tls *libc.TLS, context uintptr) { /* sqlite3.c:200940:13: // // The left-most coordinate min(x1,x2) is not considered to be part of // the line segment for the purposes of this analysis. -func pointBeneathLine(tls *libc.TLS, x0 float64, y0 float64, x1 float64, y1 float64, x2 float64, y2 float64) int32 { /* sqlite3.c:200970:12: */ +func pointBeneathLine(tls *libc.TLS, x0 float64, y0 float64, x1 float64, y1 float64, x2 float64, y2 float64) int32 { /* sqlite3.c:201027:12: */ var y float64 if x0 == x1 && y0 == y1 { return 2 @@ -161663,7 +161694,7 @@ func pointBeneathLine(tls *libc.TLS, x0 float64, y0 float64, x1 float64, y1 floa // Return +2 if point X,Y is within polygon P. // Return +1 if point X,Y is on the polygon boundary. // Return 0 if point X,Y is outside the polygon -func geopolyContainsPointFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:201001:13: */ +func geopolyContainsPointFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:201058:13: */ var p1 uintptr = geopolyFuncParam(tls, context, *(*uintptr)(unsafe.Pointer(argv)), uintptr(0)) var x0 float64 = Xsqlite3_value_double(tls, *(*uintptr)(unsafe.Pointer(argv + 1*4))) var y0 float64 = Xsqlite3_value_double(tls, *(*uintptr)(unsafe.Pointer(argv + 2*4))) @@ -161701,7 +161732,7 @@ func geopolyContainsPointFunc(tls *libc.TLS, context uintptr, argc int32, argv u // Return +1 if P2 is contained within P1 // Return 0 if any part of P2 is on the outside of P1 // -func geopolyWithinFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:201044:13: */ +func geopolyWithinFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:201101:13: */ var p1 uintptr = geopolyFuncParam(tls, context, *(*uintptr)(unsafe.Pointer(argv)), uintptr(0)) var p2 uintptr = geopolyFuncParam(tls, context, *(*uintptr)(unsafe.Pointer(argv + 1*4)), uintptr(0)) if p1 != 0 && p2 != 0 { @@ -161732,10 +161763,10 @@ type GeoEvent1 = struct { FeType int32 FpSeg uintptr FpNext uintptr -} /* sqlite3.c:201064:9 */ +} /* sqlite3.c:201121:9 */ // Objects used by the overlap algorihm. -type GeoEvent = GeoEvent1 /* sqlite3.c:201064:25 */ +type GeoEvent = GeoEvent1 /* sqlite3.c:201121:25 */ type GeoSegment1 = struct { FC float64 FB float64 @@ -161745,20 +161776,20 @@ type GeoSegment1 = struct { F__ccgo_pad1 [3]byte Fidx uint32 FpNext uintptr -} /* sqlite3.c:201064:9 */ +} /* sqlite3.c:201121:9 */ -type GeoSegment = GeoSegment1 /* sqlite3.c:201065:27 */ +type GeoSegment = GeoSegment1 /* sqlite3.c:201122:27 */ type GeoOverlap1 = struct { FaEvent uintptr FaSegment uintptr FnEvent int32 FnSegment int32 -} /* sqlite3.c:201066:9 */ +} /* sqlite3.c:201123:9 */ -type GeoOverlap = GeoOverlap1 /* sqlite3.c:201066:27 */ +type GeoOverlap = GeoOverlap1 /* sqlite3.c:201123:27 */ // Add a single segment and its associated events. -func geopolyAddOneSegment(tls *libc.TLS, p uintptr, x0 GeoCoord, y0 GeoCoord, x1 GeoCoord, y1 GeoCoord, side uint8, idx uint32) { /* sqlite3.c:201091:13: */ +func geopolyAddOneSegment(tls *libc.TLS, p uintptr, x0 GeoCoord, y0 GeoCoord, x1 GeoCoord, y1 GeoCoord, side uint8, idx uint32) { /* sqlite3.c:201148:13: */ var pSeg uintptr var pEvent uintptr if x0 == x1 { @@ -161792,7 +161823,7 @@ func geopolyAddOneSegment(tls *libc.TLS, p uintptr, x0 GeoCoord, y0 GeoCoord, x1 } // Insert all segments and events for polygon pPoly. -func geopolyAddSegments(tls *libc.TLS, p uintptr, pPoly uintptr, side uint8) { /* sqlite3.c:201135:13: */ +func geopolyAddSegments(tls *libc.TLS, p uintptr, pPoly uintptr, side uint8) { /* sqlite3.c:201192:13: */ var i uint32 var x uintptr for i = uint32(0); i < uint32((*GeoPoly)(unsafe.Pointer(pPoly)).FnVertex)-uint32(1); i++ { @@ -161804,7 +161835,7 @@ func geopolyAddSegments(tls *libc.TLS, p uintptr, pPoly uintptr, side uint8) { / } // Merge two lists of sorted events by X coordinate -func geopolyEventMerge(tls *libc.TLS, pLeft uintptr, pRight uintptr) uintptr { /* sqlite3.c:201153:17: */ +func geopolyEventMerge(tls *libc.TLS, pLeft uintptr, pRight uintptr) uintptr { /* sqlite3.c:201210:17: */ bp := tls.Alloc(20) defer tls.Free(20) @@ -161834,7 +161865,7 @@ func geopolyEventMerge(tls *libc.TLS, pLeft uintptr, pRight uintptr) uintptr { / } // Sort an array of nEvent event objects into a list. -func geopolySortEventsByX(tls *libc.TLS, aEvent uintptr, nEvent int32) uintptr { /* sqlite3.c:201175:17: */ +func geopolySortEventsByX(tls *libc.TLS, aEvent uintptr, nEvent int32) uintptr { /* sqlite3.c:201232:17: */ bp := tls.Alloc(200) defer tls.Free(200) @@ -161864,7 +161895,7 @@ func geopolySortEventsByX(tls *libc.TLS, aEvent uintptr, nEvent int32) uintptr { } // Merge two lists of sorted segments by Y, and then by C. -func geopolySegmentMerge(tls *libc.TLS, pLeft uintptr, pRight uintptr) uintptr { /* sqlite3.c:201200:19: */ +func geopolySegmentMerge(tls *libc.TLS, pLeft uintptr, pRight uintptr) uintptr { /* sqlite3.c:201257:19: */ bp := tls.Alloc(40) defer tls.Free(40) @@ -161899,7 +161930,7 @@ func geopolySegmentMerge(tls *libc.TLS, pLeft uintptr, pRight uintptr) uintptr { // Sort a list of GeoSegments in order of increasing Y and in the event of // a tie, increasing C (slope). -func geopolySortSegmentsByYAndC(tls *libc.TLS, pList uintptr) uintptr { /* sqlite3.c:201225:19: */ +func geopolySortSegmentsByYAndC(tls *libc.TLS, pList uintptr) uintptr { /* sqlite3.c:201282:19: */ bp := tls.Alloc(200) defer tls.Free(200) @@ -161929,7 +161960,7 @@ func geopolySortSegmentsByYAndC(tls *libc.TLS, pList uintptr) uintptr { /* sqlit } // Determine the overlap between two polygons -func geopolyOverlap(tls *libc.TLS, p1 uintptr, p2 uintptr) int32 { /* sqlite3.c:201251:12: */ +func geopolyOverlap(tls *libc.TLS, p1 uintptr, p2 uintptr) int32 { /* sqlite3.c:201308:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -162165,7 +162196,7 @@ geopolyOverlapDone: // 3 P2 is completely contained within P1 // 4 P1 and P2 are the same polygon // NULL Either P1 or P2 or both are not valid polygons -func geopolyOverlapFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:201374:13: */ +func geopolyOverlapFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:201431:13: */ var p1 uintptr = geopolyFuncParam(tls, context, *(*uintptr)(unsafe.Pointer(argv)), uintptr(0)) var p2 uintptr = geopolyFuncParam(tls, context, *(*uintptr)(unsafe.Pointer(argv + 1*4)), uintptr(0)) if p1 != 0 && p2 != 0 { @@ -162181,7 +162212,7 @@ func geopolyOverlapFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr } // Enable or disable debugging output -func geopolyDebugFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:201396:13: */ +func geopolyDebugFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:201453:13: */ } // This function is the implementation of both the xConnect and xCreate @@ -162191,7 +162222,7 @@ func geopolyDebugFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) // argv[1] -> database name // argv[2] -> table name // argv[...] -> column names... -func geopolyInit(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr, isCreate int32) int32 { /* sqlite3.c:201415:12: */ +func geopolyInit(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr, isCreate int32) int32 { /* sqlite3.c:201472:12: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -162306,12 +162337,12 @@ __11: } // GEOPOLY virtual table module xCreate method. -func geopolyCreate(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 { /* sqlite3.c:201499:12: */ +func geopolyCreate(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 { /* sqlite3.c:201556:12: */ return geopolyInit(tls, db, pAux, argc, argv, ppVtab, pzErr, 1) } // GEOPOLY virtual table module xConnect method. -func geopolyConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 { /* sqlite3.c:201512:12: */ +func geopolyConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 { /* sqlite3.c:201569:12: */ return geopolyInit(tls, db, pAux, argc, argv, ppVtab, pzErr, 0) } @@ -162325,7 +162356,7 @@ func geopolyConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv ui // 3 search for objects overlapping the same bounding box // that contains polygon argv[0] // 4 full table scan -func geopolyFilter(tls *libc.TLS, pVtabCursor uintptr, idxNum int32, idxStr uintptr, argc int32, argv uintptr) int32 { /* sqlite3.c:201535:12: */ +func geopolyFilter(tls *libc.TLS, pVtabCursor uintptr, idxNum int32, idxStr uintptr, argc int32, argv uintptr) int32 { /* sqlite3.c:201592:12: */ bp := tls.Alloc(40) defer tls.Free(40) @@ -162492,7 +162523,7 @@ geopoly_filter_end: // 3 "rtree" R-tree within query using geopoly_within() // 4 "fullscan" full-table scan. // ------------------------------------------------ -func geopolyBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 { /* sqlite3.c:201667:12: */ +func geopolyBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 { /* sqlite3.c:201724:12: */ var ii int32 var iRowidTerm int32 = -1 var iFuncTerm int32 = -1 @@ -162543,7 +162574,7 @@ func geopolyBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 { /* s } // GEOPOLY virtual table module xColumn method. -func geopolyColumn(tls *libc.TLS, cur uintptr, ctx uintptr, i int32) int32 { /* sqlite3.c:201719:12: */ +func geopolyColumn(tls *libc.TLS, cur uintptr, ctx uintptr, i int32) int32 { /* sqlite3.c:201776:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -162608,7 +162639,7 @@ func geopolyColumn(tls *libc.TLS, cur uintptr, ctx uintptr, i int32) int32 { /* // argv[1] = rowid after the change. Never NULL // argv[2] = new value for _shape // argv[3] = new value for first application-defined column.... -func geopolyUpdate(tls *libc.TLS, pVtab uintptr, nData int32, aData uintptr, pRowid uintptr) int32 { /* sqlite3.c:201774:12: */ +func geopolyUpdate(tls *libc.TLS, pVtab uintptr, nData int32, aData uintptr, pRowid uintptr) int32 { /* sqlite3.c:201831:12: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -162819,7 +162850,7 @@ 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) int32 { /* sqlite3.c:201911:12: */ +func geopolyFindFunction(tls *libc.TLS, pVtab uintptr, nArg int32, zName uintptr, pxFunc uintptr, ppArg uintptr) int32 { /* sqlite3.c:201968:12: */ if Xsqlite3_stricmp(tls, zName, ts+27444) == 0 { *(*uintptr)(unsafe.Pointer(pxFunc)) = *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) @@ -162860,9 +162891,9 @@ var geopolyModule = Sqlite3_module{ FxRename: 0, // xRename - rename the table FxSavepoint: 0, // xRollbackTo FxShadowName: 0, // xShadowName -} /* sqlite3.c:201932:23 */ +} /* sqlite3.c:201989:23 */ -func sqlite3_geopoly_init(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:201959:12: */ +func sqlite3_geopoly_init(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:202016:12: */ var rc int32 = SQLITE_OK var i int32 for i = 0; uint32(i) < uint32(unsafe.Sizeof(aFunc))/uint32(unsafe.Sizeof(struct { @@ -162916,14 +162947,14 @@ var aFunc = [12]struct { {FxFunc: 0, FnArg: int8(7), FbPure: uint8(1), FzName: ts + 27584 /* "geopoly_xform" */}, {FxFunc: 0, FnArg: int8(4), FbPure: uint8(1), FzName: ts + 27598 /* "geopoly_regular" */}, {FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 27614 /* "geopoly_ccw" */}, -} /* sqlite3.c:201966:5 */ +} /* sqlite3.c:202023:5 */ var aAgg = [1]struct { FxStep uintptr FxFinal uintptr FzName uintptr }{ {FxStep: 0, FxFinal: 0, FzName: ts + 27626 /* "geopoly_group_bb..." */}, -} /* sqlite3.c:201984:5 */ +} /* sqlite3.c:202041:5 */ //************* End of geopoly.c ******************************************** //************* Continuing where we left off in rtree.c ********************* @@ -162931,7 +162962,7 @@ var aAgg = [1]struct { // Register the r-tree module with database handle db. This creates the // virtual table module "rtree" and the debugging/analysis scalar // function "rtreenode". -func Xsqlite3RtreeInit(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:202019:20: */ +func Xsqlite3RtreeInit(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:202076:20: */ var utf8 int32 = SQLITE_UTF8 var rc int32 @@ -162968,7 +162999,7 @@ func Xsqlite3RtreeInit(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:202019:20 // or sqlite3_rtree_query_callback(). In other words, this routine is the // destructor for an RtreeGeomCallback objecct. This routine is called when // the corresponding SQL function is deleted. -func rtreeFreeCallback(tls *libc.TLS, p uintptr) { /* sqlite3.c:202058:13: */ +func rtreeFreeCallback(tls *libc.TLS, p uintptr) { /* sqlite3.c:202115:13: */ var pInfo uintptr = p if (*RtreeGeomCallback)(unsafe.Pointer(pInfo)).FxDestructor != 0 { (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*RtreeGeomCallback)(unsafe.Pointer(pInfo)).FxDestructor})).f(tls, (*RtreeGeomCallback)(unsafe.Pointer(pInfo)).FpContext) @@ -162977,7 +163008,7 @@ func rtreeFreeCallback(tls *libc.TLS, p uintptr) { /* sqlite3.c:202058:13: */ } // This routine frees the BLOB that is returned by geomCallback(). -func rtreeMatchArgFree(tls *libc.TLS, pArg uintptr) { /* sqlite3.c:202067:13: */ +func rtreeMatchArgFree(tls *libc.TLS, pArg uintptr) { /* sqlite3.c:202124:13: */ var i int32 var p uintptr = pArg for i = 0; i < (*RtreeMatchArg)(unsafe.Pointer(p)).FnParam; i++ { @@ -162998,7 +163029,7 @@ func rtreeMatchArgFree(tls *libc.TLS, pArg uintptr) { /* sqlite3.c:202067:13: */ // The R-Tree MATCH operator will read the returned BLOB, deserialize // the RtreeMatchArg object, and use the RtreeMatchArg object to figure // out which elements of the R-Tree should be returned by the query. -func geomCallback(tls *libc.TLS, ctx uintptr, nArg int32, aArg uintptr) { /* sqlite3.c:202090:13: */ +func geomCallback(tls *libc.TLS, ctx uintptr, nArg int32, aArg uintptr) { /* sqlite3.c:202147:13: */ var pGeomCtx uintptr = Xsqlite3_user_data(tls, ctx) var pBlob uintptr var nBlob Sqlite3_int64 @@ -163032,7 +163063,7 @@ func geomCallback(tls *libc.TLS, ctx uintptr, nArg int32, aArg uintptr) { /* sql } // 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) int32 { /* sqlite3.c:202128:16: */ +func Xsqlite3_rtree_geometry_callback(tls *libc.TLS, db uintptr, zGeom uintptr, xGeom uintptr, pContext uintptr) int32 { /* sqlite3.c:202185:16: */ var pGeomCtx uintptr // Context object for new user-function // Allocate and populate the context object. @@ -163052,7 +163083,7 @@ func Xsqlite3_rtree_geometry_callback(tls *libc.TLS, db uintptr, zGeom uintptr, // 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) int32 { /* sqlite3.c:202152:16: */ +func Xsqlite3_rtree_query_callback(tls *libc.TLS, db uintptr, zQueryFunc uintptr, xQueryFunc uintptr, pContext uintptr, xDestructor uintptr) int32 { /* sqlite3.c:202209:16: */ var pGeomCtx uintptr // Context object for new user-function // Allocate and populate the context object. @@ -163503,7 +163534,7 @@ type sqlite3rbu = struct { FszTempLimit I64 FnRbu int32 FpRbuFd uintptr -} /* sqlite3.c:203382:9 */ +} /* sqlite3.c:203439:9 */ //************* End of rtree.c ********************************************** //************* Begin file icu.c ******************************************** @@ -163904,7 +163935,7 @@ type sqlite3rbu = struct { // #include "sqlite3.h" ** Required for error code definitions ** -type Sqlite3rbu = sqlite3rbu /* sqlite3.c:203382:27 */ +type Sqlite3rbu = sqlite3rbu /* sqlite3.c:203439:27 */ //************* End of sqlite3rbu.h ***************************************** //************* Continuing where we left off in sqlite3rbu.c **************** @@ -163969,7 +164000,7 @@ type Sqlite3rbu = sqlite3rbu /* sqlite3.c:203382:27 */ type RbuFrame1 = struct { FiDbPage U32 FiWalFrame U32 -} /* sqlite3.c:203382:9 */ +} /* sqlite3.c:203439:9 */ //************* End of sqlite3rbu.h ***************************************** //************* Continuing where we left off in sqlite3rbu.c **************** @@ -164031,7 +164062,7 @@ type RbuFrame1 = struct { // Only valid if STAGE==1. The RBU database name of the table // currently being read. -type RbuFrame = RbuFrame1 /* sqlite3.c:203813:25 */ +type RbuFrame = RbuFrame1 /* sqlite3.c:203870:25 */ type RbuObjIter1 = struct { FpTblIter uintptr FpIdxIter uintptr @@ -164060,9 +164091,9 @@ type RbuObjIter1 = struct { FaIdxCol uintptr FzIdxSql uintptr FpRbuUpdate uintptr -} /* sqlite3.c:203382:9 */ +} /* sqlite3.c:203439:9 */ -type RbuObjIter = RbuObjIter1 /* sqlite3.c:203814:27 */ +type RbuObjIter = RbuObjIter1 /* sqlite3.c:203871:27 */ type RbuState1 = struct { FeStage int32 FzTbl uintptr @@ -164074,15 +164105,15 @@ type RbuState1 = struct { FiCookie U32 FiOalSz I64 FnPhaseOneStep I64 -} /* sqlite3.c:203815:9 */ +} /* sqlite3.c:203872:9 */ -type RbuState = RbuState1 /* sqlite3.c:203815:25 */ +type RbuState = RbuState1 /* sqlite3.c:203872:25 */ type RbuSpan1 = struct { FzSpan uintptr FnSpan int32 -} /* sqlite3.c:203382:9 */ +} /* sqlite3.c:203439:9 */ -type RbuSpan = RbuSpan1 /* sqlite3.c:203816:24 */ +type RbuSpan = RbuSpan1 /* sqlite3.c:203873:24 */ type rbu_vfs = struct { Fbase Sqlite3_vfs FpRealVfs uintptr @@ -164090,9 +164121,9 @@ type rbu_vfs = struct { FpRbu uintptr FpMain uintptr FpMainRbu uintptr -} /* sqlite3.c:203382:9 */ +} /* sqlite3.c:203439:9 */ -type Rbu_vfs = rbu_vfs /* sqlite3.c:203817:24 */ +type Rbu_vfs = rbu_vfs /* sqlite3.c:203874:24 */ type rbu_file = struct { Fbase Sqlite3_file FpReal uintptr @@ -164111,16 +164142,16 @@ type rbu_file = struct { FpWalFd uintptr FpMainNext uintptr FpMainRbuNext uintptr -} /* sqlite3.c:203382:9 */ +} /* sqlite3.c:203439:9 */ -type Rbu_file = rbu_file /* sqlite3.c:203818:25 */ +type Rbu_file = rbu_file /* sqlite3.c:203875:25 */ type RbuUpdateStmt1 = struct { FzMask uintptr FpUpdate uintptr FpNext uintptr -} /* sqlite3.c:203382:9 */ +} /* sqlite3.c:203439:9 */ -type RbuUpdateStmt = RbuUpdateStmt1 /* sqlite3.c:203819:30 */ +type RbuUpdateStmt = RbuUpdateStmt1 /* sqlite3.c:203876:30 */ // True for an RBU vacuum handle, or false otherwise. @@ -164139,7 +164170,7 @@ type RbuUpdateStmt = RbuUpdateStmt1 /* sqlite3.c:203819:30 */ // finished, leave *pz pointing to the first character past the end of // the integer. The *pLen parameter holds the length of the string // in *pz and is decremented once for each character in the integer. -func rbuDeltaGetInt(tls *libc.TLS, pz uintptr, pLen uintptr) uint32 { /* sqlite3.c:204109:21: */ +func rbuDeltaGetInt(tls *libc.TLS, pz uintptr, pLen uintptr) uint32 { /* sqlite3.c:204166:21: */ var v uint32 = uint32(0) var c int32 var z uintptr = *(*uintptr)(unsafe.Pointer(pz)) @@ -164162,7 +164193,7 @@ var zValue = [128]int8{ int8(25), int8(26), int8(27), int8(28), int8(29), int8(30), int8(31), int8(32), int8(33), int8(34), int8(35), int8(-1), int8(-1), int8(-1), int8(-1), int8(36), int8(-1), int8(37), int8(38), int8(39), int8(40), int8(41), int8(42), int8(43), int8(44), int8(45), int8(46), int8(47), int8(48), int8(49), int8(50), int8(51), int8(52), int8(53), int8(54), int8(55), int8(56), int8(57), int8(58), int8(59), int8(60), int8(61), int8(62), int8(-1), int8(-1), int8(-1), int8(63), int8(-1), -} /* sqlite3.c:204110:28 */ +} /* sqlite3.c:204167:28 */ // Apply a delta. // @@ -164182,7 +164213,7 @@ var zValue = [128]int8{ // // Refer to the delta_create() documentation above for a description // of the delta file format. -func rbuDeltaApply(tls *libc.TLS, zSrc uintptr, lenSrc int32, zDelta uintptr, lenDelta int32, zOut uintptr) int32 { /* sqlite3.c:204190:12: */ +func rbuDeltaApply(tls *libc.TLS, zSrc uintptr, lenSrc int32, zDelta uintptr, lenDelta int32, zOut uintptr) int32 { /* sqlite3.c:204247:12: */ bp := tls.Alloc(8) defer tls.Free(8) *(*uintptr)(unsafe.Pointer(bp)) = zDelta @@ -164272,7 +164303,7 @@ func rbuDeltaApply(tls *libc.TLS, zSrc uintptr, lenSrc int32, zDelta uintptr, le return -1 } -func rbuDeltaOutputSize(tls *libc.TLS, zDelta uintptr, lenDelta int32) int32 { /* sqlite3.c:204276:12: */ +func rbuDeltaOutputSize(tls *libc.TLS, zDelta uintptr, lenDelta int32) int32 { /* sqlite3.c:204333:12: */ bp := tls.Alloc(8) defer tls.Free(8) *(*uintptr)(unsafe.Pointer(bp)) = zDelta @@ -164297,7 +164328,7 @@ func rbuDeltaOutputSize(tls *libc.TLS, zDelta uintptr, lenDelta int32) int32 { / // arguments must be passed to this function. The first is the blob to // patch and the second the patch to apply. If no error occurs, this // function returns the patched blob. -func rbuFossilDeltaFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:204298:13: */ +func rbuFossilDeltaFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:204355:13: */ var aDelta uintptr var nDelta int32 var aOrig uintptr @@ -164340,7 +164371,7 @@ func rbuFossilDeltaFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr // an SQLite error code. Additionally, set output variable *pzErrmsg to // point to a buffer containing an error message. It is the responsibility // of the caller to (eventually) free this buffer using sqlite3_free(). -func prepareAndCollectError(tls *libc.TLS, db uintptr, ppStmt uintptr, pzErrmsg uintptr, zSql uintptr) int32 { /* sqlite3.c:204351:12: */ +func prepareAndCollectError(tls *libc.TLS, db uintptr, ppStmt uintptr, pzErrmsg uintptr, zSql uintptr) int32 { /* sqlite3.c:204408:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -164358,7 +164389,7 @@ func prepareAndCollectError(tls *libc.TLS, db uintptr, ppStmt uintptr, pzErrmsg // If an error has occurred, then set *pzErrmsg to point to a buffer // containing an error message. It is the responsibility of the caller // to eventually free this buffer using sqlite3_free(). -func resetAndCollectError(tls *libc.TLS, pStmt uintptr, pzErrmsg uintptr) int32 { /* sqlite3.c:204373:12: */ +func resetAndCollectError(tls *libc.TLS, pStmt uintptr, pzErrmsg uintptr) int32 { /* sqlite3.c:204430:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -164382,7 +164413,7 @@ func resetAndCollectError(tls *libc.TLS, pStmt uintptr, pzErrmsg uintptr) int32 // // If argument zSql is NULL, this function assumes that an OOM has occurred. // In this case SQLITE_NOMEM is returned and *ppStmt set to NULL. -func prepareFreeAndCollectError(tls *libc.TLS, db uintptr, ppStmt uintptr, pzErrmsg uintptr, zSql uintptr) int32 { /* sqlite3.c:204396:12: */ +func prepareFreeAndCollectError(tls *libc.TLS, db uintptr, ppStmt uintptr, pzErrmsg uintptr, zSql uintptr) int32 { /* sqlite3.c:204453:12: */ var rc int32 if zSql == uintptr(0) { @@ -164397,7 +164428,7 @@ func prepareFreeAndCollectError(tls *libc.TLS, db uintptr, ppStmt uintptr, pzErr // Free the RbuObjIter.azTblCol[] and RbuObjIter.abTblPk[] arrays allocated // by an earlier call to rbuObjIterCacheTableInfo(). -func rbuObjIterFreeCols(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:204418:13: */ +func rbuObjIterFreeCols(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:204475:13: */ var i int32 for i = 0; i < (*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol; i++ { Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*4))) @@ -164415,7 +164446,7 @@ func rbuObjIterFreeCols(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:204418:13: // Finalize all statements and free all allocations that are specific to // the current object (table/index pair). -func rbuObjIterClearStatements(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:204438:13: */ +func rbuObjIterClearStatements(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:204495:13: */ var pUp uintptr Xsqlite3_finalize(tls, (*RbuObjIter)(unsafe.Pointer(pIter)).FpSelect) @@ -164445,7 +164476,7 @@ func rbuObjIterClearStatements(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:2044 // Clean up any resources allocated as part of the iterator object passed // as the only argument. -func rbuObjIterFinalize(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:204470:13: */ +func rbuObjIterFinalize(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:204527:13: */ rbuObjIterClearStatements(tls, pIter) Xsqlite3_finalize(tls, (*RbuObjIter)(unsafe.Pointer(pIter)).FpTblIter) Xsqlite3_finalize(tls, (*RbuObjIter)(unsafe.Pointer(pIter)).FpIdxIter) @@ -164459,7 +164490,7 @@ func rbuObjIterFinalize(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:204470:13: // pointing to the next entry. Otherwise, an error code and message is // left in the RBU handle passed as the first argument. A copy of the // error code is returned. -func rbuObjIterNext(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlite3.c:204486:12: */ +func rbuObjIterNext(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlite3.c:204543:12: */ var rc int32 = (*Sqlite3rbu)(unsafe.Pointer(p)).Frc if rc == SQLITE_OK { @@ -164540,7 +164571,7 @@ func rbuObjIterNext(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlite3. // // For an rbu vacuum handle, a copy of the first argument is returned if // the second argument is either missing or 0 (not a view). -func rbuTargetNameFunc(tls *libc.TLS, pCtx uintptr, argc int32, argv uintptr) { /* sqlite3.c:204566:13: */ +func rbuTargetNameFunc(tls *libc.TLS, pCtx uintptr, argc int32, argv uintptr) { /* sqlite3.c:204623:13: */ var p uintptr = Xsqlite3_user_data(tls, pCtx) var zIn uintptr @@ -164570,7 +164601,7 @@ func rbuTargetNameFunc(tls *libc.TLS, pCtx uintptr, argc int32, argv uintptr) { // pointing to the first entry. Otherwise, an error code and message is // left in the RBU handle passed as the first argument. A copy of the // error code is returned. -func rbuObjIterFirst(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlite3.c:204602:12: */ +func rbuObjIterFirst(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlite3.c:204659:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -164605,7 +164636,7 @@ func rbuObjIterFirst(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlite3 // than SQLITE_OK), then this function returns NULL without modifying the // stored error code. In this case it still calls sqlite3_free() on any // printf() parameters associated with %z conversions. -func rbuMPrintf(tls *libc.TLS, p uintptr, zFmt uintptr, va uintptr) uintptr { /* sqlite3.c:204637:13: */ +func rbuMPrintf(tls *libc.TLS, p uintptr, zFmt uintptr, va uintptr) uintptr { /* sqlite3.c:204694:13: */ var zSql uintptr = uintptr(0) var ap Va_list _ = ap @@ -164631,7 +164662,7 @@ func rbuMPrintf(tls *libc.TLS, p uintptr, zFmt uintptr, va uintptr) uintptr { /* // If an error occurs, an error code and error message is stored in the // RBU handle. If an error has already occurred when this function is // called, it is a no-op. -func rbuMPrintfExec(tls *libc.TLS, p uintptr, db uintptr, zFmt uintptr, va uintptr) int32 { /* sqlite3.c:204662:12: */ +func rbuMPrintfExec(tls *libc.TLS, p uintptr, db uintptr, zFmt uintptr, va uintptr) int32 { /* sqlite3.c:204719:12: */ var ap Va_list _ = ap var zSql uintptr @@ -164657,7 +164688,7 @@ func rbuMPrintfExec(tls *libc.TLS, p uintptr, db uintptr, zFmt uintptr, va uintp // error has already occurred when this function is called, return NULL // immediately without attempting the allocation or modifying the stored // error code. -func rbuMalloc(tls *libc.TLS, p uintptr, nByte Sqlite3_int64) uintptr { /* sqlite3.c:204689:13: */ +func rbuMalloc(tls *libc.TLS, p uintptr, nByte Sqlite3_int64) uintptr { /* sqlite3.c:204746:13: */ var pRet uintptr = uintptr(0) if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { @@ -164674,7 +164705,7 @@ func rbuMalloc(tls *libc.TLS, p uintptr, nByte Sqlite3_int64) uintptr { /* sqlit // Allocate and zero the pIter->azTblCol[] and abTblPk[] arrays so that // there is room for at least nCol elements. If an OOM occurs, store an // error code in the RBU handle passed as the first argument. -func rbuAllocateIterArrays(tls *libc.TLS, p uintptr, pIter uintptr, nCol int32) { /* sqlite3.c:204709:13: */ +func rbuAllocateIterArrays(tls *libc.TLS, p uintptr, pIter uintptr, nCol int32) { /* sqlite3.c:204766:13: */ var nByte Sqlite3_int64 = Sqlite3_int64((uint32(2)*uint32(unsafe.Sizeof(uintptr(0))) + uint32(unsafe.Sizeof(int32(0))) + uint32(3)*uint32(unsafe.Sizeof(U8(0)))) * uint32(nCol)) var azNew uintptr @@ -164697,7 +164728,7 @@ func rbuAllocateIterArrays(tls *libc.TLS, p uintptr, pIter uintptr, nCol int32) // If an OOM condition is encountered when attempting to allocate memory, // output variable (*pRc) is set to SQLITE_NOMEM before returning. Otherwise, // if the allocation succeeds, (*pRc) is left unchanged. -func rbuStrndup(tls *libc.TLS, zStr uintptr, pRc uintptr) uintptr { /* sqlite3.c:204734:13: */ +func rbuStrndup(tls *libc.TLS, zStr uintptr, pRc uintptr) uintptr { /* sqlite3.c:204791:13: */ var zRet uintptr = uintptr(0) if *(*int32)(unsafe.Pointer(pRc)) == SQLITE_OK { @@ -164720,7 +164751,7 @@ func rbuStrndup(tls *libc.TLS, zStr uintptr, pRc uintptr) uintptr { /* sqlite3.c // If the sqlite3_finalize() call indicates that an error occurs, and the // rbu handle error code is not already set, set the error code and error // message accordingly. -func rbuFinalize(tls *libc.TLS, p uintptr, pStmt uintptr) { /* sqlite3.c:204759:13: */ +func rbuFinalize(tls *libc.TLS, p uintptr, pStmt uintptr) { /* sqlite3.c:204816:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -164770,7 +164801,7 @@ func rbuFinalize(tls *libc.TLS, p uintptr, pStmt uintptr) { /* sqlite3.c:204759: // }else{ // return RBU_PK_NONE // } -func rbuTableType(tls *libc.TLS, p uintptr, zTab uintptr, peType uintptr, piTnum uintptr, piPk uintptr) { /* sqlite3.c:204807:13: */ +func rbuTableType(tls *libc.TLS, p uintptr, zTab uintptr, peType uintptr, piTnum uintptr, piPk uintptr) { /* sqlite3.c:204864:13: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -164890,7 +164921,7 @@ __16: // This is a helper function for rbuObjIterCacheTableInfo(). It populates // the pIter->abIndexed[] array. -func rbuObjIterCacheIndexedCols(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:204893:13: */ +func rbuObjIterCacheIndexedCols(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:204950:13: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -164948,7 +164979,7 @@ func rbuObjIterCacheIndexedCols(tls *libc.TLS, p uintptr, pIter uintptr) { /* sq // Return SQLITE_OK if successful, or an SQLite error code otherwise. If // an error does occur, an error code and error message are also left in // the RBU handle. -func rbuObjIterCacheTableInfo(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlite3.c:204947:12: */ +func rbuObjIterCacheTableInfo(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlite3.c:205004:12: */ bp := tls.Alloc(64) defer tls.Free(64) @@ -165070,7 +165101,7 @@ func rbuObjIterCacheTableInfo(tls *libc.TLS, p uintptr, pIter uintptr) int32 { / // This function constructs and returns a pointer to a nul-terminated // string containing some SQL clause or list based on one or more of the // column names currently stored in the pIter->azTblCol[] array. -func rbuObjIterGetCollist(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { /* sqlite3.c:205057:13: */ +func rbuObjIterGetCollist(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { /* sqlite3.c:205114:13: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -165089,7 +165120,7 @@ func rbuObjIterGetCollist(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { /* // in order, for the current table. Before each column name, add the text // zPre. After each column name, add the zPost text. Use zSeparator as // the separator text (usually ", "). -func rbuObjIterGetPkList(tls *libc.TLS, p uintptr, pIter uintptr, zPre uintptr, zSeparator uintptr, zPost uintptr) uintptr { /* sqlite3.c:205078:13: */ +func rbuObjIterGetPkList(tls *libc.TLS, p uintptr, pIter uintptr, zPre uintptr, zSeparator uintptr, zPost uintptr) uintptr { /* sqlite3.c:205135:13: */ bp := tls.Alloc(40) defer tls.Free(40) @@ -165131,7 +165162,7 @@ func rbuObjIterGetPkList(tls *libc.TLS, p uintptr, pIter uintptr, zPre uintptr, // // Instead of "?" placeholders, the actual WHERE clauses created by // this function contain literal SQL values. -func rbuVacuumTableStart(tls *libc.TLS, p uintptr, pIter uintptr, bRowid int32, zWrite uintptr) uintptr { /* sqlite3.c:205123:13: */ +func rbuVacuumTableStart(tls *libc.TLS, p uintptr, pIter uintptr, bRowid int32, zWrite uintptr) uintptr { /* sqlite3.c:205180:13: */ bp := tls.Alloc(76) defer tls.Free(76) @@ -165190,7 +165221,7 @@ func rbuVacuumTableStart(tls *libc.TLS, p uintptr, pIter uintptr, bRowid int32, // If the expression cannot be created, NULL is returned. In this case, // the caller has to use an OFFSET clause to extract only the required // rows from the sourct table, just as it does for an RBU update operation. -func rbuVacuumIndexStart(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { /* sqlite3.c:205190:13: */ +func rbuVacuumIndexStart(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { /* sqlite3.c:205247:13: */ bp := tls.Alloc(184) defer tls.Free(184) @@ -165371,7 +165402,7 @@ index_start_out: // pzImposterCols: ... // pzImposterPk: ... // pzWhere: ... -func rbuObjIterGetIndexCols(tls *libc.TLS, p uintptr, pIter uintptr, pzImposterCols uintptr, pzImposterPk uintptr, pzWhere uintptr, pnBind uintptr) uintptr { /* sqlite3.c:205305:13: */ +func rbuObjIterGetIndexCols(tls *libc.TLS, p uintptr, pIter uintptr, pzImposterCols uintptr, pzImposterPk uintptr, pzWhere uintptr, pnBind uintptr) uintptr { /* sqlite3.c:205362:13: */ bp := tls.Alloc(204) defer tls.Free(204) @@ -165482,7 +165513,7 @@ func rbuObjIterGetIndexCols(tls *libc.TLS, p uintptr, pIter uintptr, pzImposterC // // For tables with implicit rowids - RBU_PK_EXTERNAL and RBU_PK_NONE, append // the text ", old._rowid_" to the returned value. -func rbuObjIterGetOldlist(tls *libc.TLS, p uintptr, pIter uintptr, zObj uintptr) uintptr { /* sqlite3.c:205417:13: */ +func rbuObjIterGetOldlist(tls *libc.TLS, p uintptr, pIter uintptr, zObj uintptr) uintptr { /* sqlite3.c:205474:13: */ bp := tls.Alloc(64) defer tls.Free(64) @@ -165520,7 +165551,7 @@ func rbuObjIterGetOldlist(tls *libc.TLS, p uintptr, pIter uintptr, zObj uintptr) // Return the string: // // "b = ?1 AND c = ?2" -func rbuObjIterGetWhere(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { /* sqlite3.c:205458:13: */ +func rbuObjIterGetWhere(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { /* sqlite3.c:205515:13: */ bp := tls.Alloc(80) defer tls.Free(80) @@ -165558,7 +165589,7 @@ func rbuObjIterGetWhere(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { /* sq // is something wrong with the rbu_control value in the rbu_control value // stored in the (p->nCol+1)'th column. Set the error code and error message // of the RBU handle to something reflecting this. -func rbuBadControlError(tls *libc.TLS, p uintptr) { /* sqlite3.c:205499:13: */ +func rbuBadControlError(tls *libc.TLS, p uintptr) { /* sqlite3.c:205556:13: */ (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_ERROR (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+29162, 0) } @@ -165578,7 +165609,7 @@ func rbuBadControlError(tls *libc.TLS, p uintptr) { /* sqlite3.c:205499:13: */ // argument and NULL is returned. Or, if an error has already occurred // when this function is called, NULL is returned immediately, without // attempting the allocation or modifying the stored error code. -func rbuObjIterGetSetlist(tls *libc.TLS, p uintptr, pIter uintptr, zMask uintptr) uintptr { /* sqlite3.c:205522:13: */ +func rbuObjIterGetSetlist(tls *libc.TLS, p uintptr, pIter uintptr, zMask uintptr) uintptr { /* sqlite3.c:205579:13: */ bp := tls.Alloc(112) defer tls.Free(112) @@ -165624,7 +165655,7 @@ func rbuObjIterGetSetlist(tls *libc.TLS, p uintptr, pIter uintptr, zMask uintptr // argument and NULL is returned. Or, if an error has already occurred // when this function is called, NULL is returned immediately, without // attempting the allocation or modifying the stored error code. -func rbuObjIterGetBindlist(tls *libc.TLS, p uintptr, nBind int32) uintptr { /* sqlite3.c:205576:13: */ +func rbuObjIterGetBindlist(tls *libc.TLS, p uintptr, nBind int32) uintptr { /* sqlite3.c:205633:13: */ var zRet uintptr = uintptr(0) var nByte Sqlite3_int64 = int64(2)*Sqlite3_int64(nBind) + int64(1) @@ -165654,7 +165685,7 @@ func rbuObjIterGetBindlist(tls *libc.TLS, p uintptr, nBind int32) uintptr { /* s // this function returns: // // PRIMARY KEY("b", "a" DESC) -func rbuWithoutRowidPK(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { /* sqlite3.c:205603:13: */ +func rbuWithoutRowidPK(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { /* sqlite3.c:205660:13: */ bp := tls.Alloc(64) defer tls.Free(64) @@ -165717,7 +165748,7 @@ func rbuWithoutRowidPK(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { /* sql // // CREATE TABLE rbu_imposter2(c1 TEXT, c2 REAL, id INTEGER) WITHOUT ROWID; // -func rbuCreateImposterTable2(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:205662:13: */ +func rbuCreateImposterTable2(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:205719:13: */ bp := tls.Alloc(176) defer tls.Free(176) @@ -165793,7 +165824,7 @@ func rbuCreateImposterTable2(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlit // More precisely, the "same schema" means the same columns, types, // collation sequences. For tables that do not have an external PRIMARY // KEY, it also means the same PRIMARY KEY declaration. -func rbuCreateImposterTable(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:205736:13: */ +func rbuCreateImposterTable(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:205793:13: */ bp := tls.Alloc(196) defer tls.Free(196) @@ -165857,7 +165888,7 @@ func rbuCreateImposterTable(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite // the target table, plus one (for the rbu_control column), plus one more // (for the rbu_rowid column) if the target table is an implicit IPK or // virtual table. -func rbuObjIterPrepareTmpInsert(tls *libc.TLS, p uintptr, pIter uintptr, zCollist uintptr, zRbuRowid uintptr) { /* sqlite3.c:205792:13: */ +func rbuObjIterPrepareTmpInsert(tls *libc.TLS, p uintptr, pIter uintptr, zCollist uintptr, zRbuRowid uintptr) { /* sqlite3.c:205849:13: */ bp := tls.Alloc(40) defer tls.Free(40) @@ -165872,7 +165903,7 @@ func rbuObjIterPrepareTmpInsert(tls *libc.TLS, p uintptr, pIter uintptr, zCollis } } -func rbuTmpInsertFunc(tls *libc.TLS, pCtx uintptr, nVal int32, apVal uintptr) { /* sqlite3.c:205810:13: */ +func rbuTmpInsertFunc(tls *libc.TLS, pCtx uintptr, nVal int32, apVal uintptr) { /* sqlite3.c:205867:13: */ var p uintptr = Xsqlite3_user_data(tls, pCtx) var rc int32 = SQLITE_OK var i int32 @@ -165894,7 +165925,7 @@ func rbuTmpInsertFunc(tls *libc.TLS, pCtx uintptr, nVal int32, apVal uintptr) { } } -func rbuObjIterGetIndexWhere(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { /* sqlite3.c:205840:13: */ +func rbuObjIterGetIndexWhere(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { /* sqlite3.c:205897:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -166002,7 +166033,7 @@ func rbuObjIterGetIndexWhere(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { // Ensure that the SQLite statement handles required to update the // target database object currently indicated by the iterator passed // as the second argument are available. -func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32) int32 { /* sqlite3.c:205940:12: */ +func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32) int32 { /* sqlite3.c:205997:12: */ bp := tls.Alloc(616) defer tls.Free(616) @@ -166277,7 +166308,7 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32 // // If the zMask string does not specify any columns to update, then this // is not an error. Output variable *ppStmt is set to NULL in this case. -func rbuGetUpdateStmt(tls *libc.TLS, p uintptr, pIter uintptr, zMask uintptr, ppStmt uintptr) int32 { /* sqlite3.c:206207:12: */ +func rbuGetUpdateStmt(tls *libc.TLS, p uintptr, pIter uintptr, zMask uintptr, ppStmt uintptr) int32 { /* sqlite3.c:206264:12: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -166343,7 +166374,7 @@ func rbuGetUpdateStmt(tls *libc.TLS, p uintptr, pIter uintptr, zMask uintptr, pp return (*Sqlite3rbu)(unsafe.Pointer(p)).Frc } -func rbuOpenDbhandle(tls *libc.TLS, p uintptr, zName uintptr, bUseVfs int32) uintptr { /* sqlite3.c:206275:16: */ +func rbuOpenDbhandle(tls *libc.TLS, p uintptr, zName uintptr, bUseVfs int32) uintptr { /* sqlite3.c:206332:16: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -166366,7 +166397,7 @@ func rbuOpenDbhandle(tls *libc.TLS, p uintptr, zName uintptr, bUseVfs int32) uin } // Free an RbuState object allocated by rbuLoadState(). -func rbuFreeState(tls *libc.TLS, p uintptr) { /* sqlite3.c:206296:13: */ +func rbuFreeState(tls *libc.TLS, p uintptr) { /* sqlite3.c:206353:13: */ if p != 0 { Xsqlite3_free(tls, (*RbuState)(unsafe.Pointer(p)).FzTbl) Xsqlite3_free(tls, (*RbuState)(unsafe.Pointer(p)).FzDataTbl) @@ -166382,7 +166413,7 @@ func rbuFreeState(tls *libc.TLS, p uintptr) { /* sqlite3.c:206296:13: */ // // If an error occurs, leave an error code and message in the rbu handle // and return NULL. -func rbuLoadState(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:206314:17: */ +func rbuLoadState(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:206371:17: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -166466,7 +166497,7 @@ func rbuLoadState(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:206314:17: */ // If argument dbMain is not NULL, then it is a database handle already // open on the target database. Use this handle instead of opening a new // one. -func rbuOpenDatabase(tls *libc.TLS, p uintptr, dbMain uintptr, pbRetry uintptr) { /* sqlite3.c:206395:13: */ +func rbuOpenDatabase(tls *libc.TLS, p uintptr, dbMain uintptr, pbRetry uintptr) { /* sqlite3.c:206452:13: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -166628,7 +166659,7 @@ func rbuOpenDatabase(tls *libc.TLS, p uintptr, dbMain uintptr, pbRetry uintptr) // test.db-wal => test.wal // test.db-shm => test.shm // test.db-mj7f3319fa => test.9fa -func rbuFileSuffix3(tls *libc.TLS, zBase uintptr, z uintptr) { /* sqlite3.c:206576:13: */ +func rbuFileSuffix3(tls *libc.TLS, zBase uintptr, z uintptr) { /* sqlite3.c:206633:13: */ } // Return the current wal-index header checksum for the target database @@ -166636,7 +166667,7 @@ func rbuFileSuffix3(tls *libc.TLS, zBase uintptr, z uintptr) { /* sqlite3.c:2065 // // The checksum is store in the first page of xShmMap memory as an 8-byte // blob starting at byte offset 40. -func rbuShmChecksum(tls *libc.TLS, p uintptr) I64 { /* sqlite3.c:206597:12: */ +func rbuShmChecksum(tls *libc.TLS, p uintptr) I64 { /* sqlite3.c:206654:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -166669,7 +166700,7 @@ func rbuShmChecksum(tls *libc.TLS, p uintptr) I64 { /* sqlite3.c:206597:12: */ // object, then the rbu handle is set to DONE state. This occurs if some // other client appends a transaction to the wal file in the middle of // an incremental checkpoint. -func rbuSetupCheckpoint(tls *libc.TLS, p uintptr, pState uintptr) { /* sqlite3.c:206626:13: */ +func rbuSetupCheckpoint(tls *libc.TLS, p uintptr, pState uintptr) { /* sqlite3.c:206683:13: */ // If pState is NULL, then the wal file may not have been opened and // recovered. Running a read-statement here to ensure that doing so @@ -166761,7 +166792,7 @@ func rbuSetupCheckpoint(tls *libc.TLS, p uintptr, pState uintptr) { /* sqlite3.c // Called when iAmt bytes are read from offset iOff of the wal file while // the rbu object is in capture mode. Record the frame number of the frame // being read in the aFrame[] array. -func rbuCaptureWalRead(tls *libc.TLS, pRbu uintptr, iOff I64, iAmt int32) int32 { /* sqlite3.c:206710:12: */ +func rbuCaptureWalRead(tls *libc.TLS, pRbu uintptr, iOff I64, iAmt int32) int32 { /* sqlite3.c:206767:12: */ var mReq U32 = U32(int32(1)<dbMain to one more than the schema cookie of the main // db opened by p->dbRbu. -func rbuIncrSchemaCookie(tls *libc.TLS, p uintptr) { /* sqlite3.c:207135:13: */ +func rbuIncrSchemaCookie(tls *libc.TLS, p uintptr) { /* sqlite3.c:207192:13: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -167168,7 +167199,7 @@ func rbuIncrSchemaCookie(tls *libc.TLS, p uintptr) { /* sqlite3.c:207135:13: */ // Update the contents of the rbu_state table within the rbu database. The // value stored in the RBU_STATE_STAGE column is eStage. All other values // are determined by inspecting the rbu handle passed as the first argument. -func rbuSaveState(tls *libc.TLS, p uintptr, eStage int32) { /* sqlite3.c:207166:13: */ +func rbuSaveState(tls *libc.TLS, p uintptr, eStage int32) { /* sqlite3.c:207223:13: */ bp := tls.Alloc(172) defer tls.Free(172) @@ -167223,7 +167254,7 @@ func rbuSaveState(tls *libc.TLS, p uintptr, eStage int32) { /* sqlite3.c:207166: // // In short, it copies the value of the specified PRAGMA setting from // dbRbu to dbMain. -func rbuCopyPragma(tls *libc.TLS, p uintptr, zPragma uintptr) { /* sqlite3.c:207227:13: */ +func rbuCopyPragma(tls *libc.TLS, p uintptr, zPragma uintptr) { /* sqlite3.c:207284:13: */ bp := tls.Alloc(28) defer tls.Free(28) @@ -167242,7 +167273,7 @@ func rbuCopyPragma(tls *libc.TLS, p uintptr, zPragma uintptr) { /* sqlite3.c:207 // The RBU handle passed as the only argument has just been opened and // the state database is empty. If this RBU handle was opened for an // RBU vacuum operation, create the schema in the target db. -func rbuCreateTargetSchema(tls *libc.TLS, p uintptr) { /* sqlite3.c:207247:13: */ +func rbuCreateTargetSchema(tls *libc.TLS, p uintptr) { /* sqlite3.c:207304:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -167292,7 +167323,7 @@ func rbuCreateTargetSchema(tls *libc.TLS, p uintptr) { /* sqlite3.c:207247:13: * } // Step the RBU object. -func Xsqlite3rbu_step(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:207299:16: */ +func Xsqlite3rbu_step(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:207356:16: */ bp := tls.Alloc(20) defer tls.Free(20) @@ -167435,7 +167466,7 @@ func Xsqlite3rbu_step(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:207299:16: // Compare strings z1 and z2, returning 0 if they are identical, or non-zero // otherwise. Either or both argument may be NULL. Two NULL values are // considered equal, and NULL is considered distinct from all other values. -func rbuStrCompare(tls *libc.TLS, z1 uintptr, z2 uintptr) int32 { /* sqlite3.c:207428:12: */ +func rbuStrCompare(tls *libc.TLS, z1 uintptr, z2 uintptr) int32 { /* sqlite3.c:207485:12: */ if z1 == uintptr(0) && z2 == uintptr(0) { return 0 } @@ -167453,7 +167484,7 @@ func rbuStrCompare(tls *libc.TLS, z1 uintptr, z2 uintptr) int32 { /* sqlite3.c:2 // // If an error occurs, an error code and error message are left in the // rbu handle passed as the first argument. -func rbuSetupOal(tls *libc.TLS, p uintptr, pState uintptr) { /* sqlite3.c:207444:13: */ +func rbuSetupOal(tls *libc.TLS, p uintptr, pState uintptr) { /* sqlite3.c:207501:13: */ if (*RbuState)(unsafe.Pointer(pState)).FzTbl != 0 { var pIter uintptr = p + 48 @@ -167483,7 +167514,7 @@ func rbuSetupOal(tls *libc.TLS, p uintptr, pState uintptr) { /* sqlite3.c:207444 // If there is a "*-oal" file in the file-system corresponding to the // target database in the file-system, delete it. If an error occurs, // leave an error code and error message in the rbu handle. -func rbuDeleteOalFile(tls *libc.TLS, p uintptr) { /* sqlite3.c:207477:13: */ +func rbuDeleteOalFile(tls *libc.TLS, p uintptr) { /* sqlite3.c:207534:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -167502,7 +167533,7 @@ func rbuDeleteOalFile(tls *libc.TLS, p uintptr) { /* sqlite3.c:207477:13: */ // argument. This VFS will be used unless the call to sqlite3rbu_open() // specified a URI with a vfs=? option in place of a target database // file name. -func rbuCreateVfs(tls *libc.TLS, p uintptr) { /* sqlite3.c:207493:13: */ +func rbuCreateVfs(tls *libc.TLS, p uintptr) { /* sqlite3.c:207550:13: */ bp := tls.Alloc(76) defer tls.Free(76) @@ -167523,7 +167554,7 @@ func rbuCreateVfs(tls *libc.TLS, p uintptr) { /* sqlite3.c:207493:13: */ // Destroy the private VFS created for the rbu handle passed as the only // argument by an earlier call to rbuCreateVfs(). -func rbuDeleteVfs(tls *libc.TLS, p uintptr) { /* sqlite3.c:207513:13: */ +func rbuDeleteVfs(tls *libc.TLS, p uintptr) { /* sqlite3.c:207570:13: */ if (*Sqlite3rbu)(unsafe.Pointer(p)).FzVfsName != 0 { Xsqlite3rbu_destroy_vfs(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FzVfsName) (*Sqlite3rbu)(unsafe.Pointer(p)).FzVfsName = uintptr(0) @@ -167533,7 +167564,7 @@ func rbuDeleteVfs(tls *libc.TLS, p uintptr) { /* sqlite3.c:207513:13: */ // This user-defined SQL function is invoked with a single argument - the // name of a table expected to appear in the target database. It returns // the number of auxilliary indexes on the table. -func rbuIndexCntFunc(tls *libc.TLS, pCtx uintptr, nVal int32, apVal uintptr) { /* sqlite3.c:207525:13: */ +func rbuIndexCntFunc(tls *libc.TLS, pCtx uintptr, nVal int32, apVal uintptr) { /* sqlite3.c:207582:13: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -167582,7 +167613,7 @@ func rbuIndexCntFunc(tls *libc.TLS, pCtx uintptr, nVal int32, apVal uintptr) { / // sqlite3rbu.nPhaseOneStep is initialized to the sum of (1 + nIndex) * cnt // for all rows in the rbu_count table, where nIndex is the number of // indexes on the corresponding target database table. -func rbuInitPhaseOneSteps(tls *libc.TLS, p uintptr) { /* sqlite3.c:207575:13: */ +func rbuInitPhaseOneSteps(tls *libc.TLS, p uintptr) { /* sqlite3.c:207632:13: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -167624,7 +167655,7 @@ func rbuInitPhaseOneSteps(tls *libc.TLS, p uintptr) { /* sqlite3.c:207575:13: */ } } -func openRbuHandle(tls *libc.TLS, zTarget uintptr, zRbu uintptr, zState uintptr) uintptr { /* sqlite3.c:207616:19: */ +func openRbuHandle(tls *libc.TLS, zTarget uintptr, zRbu uintptr, zState uintptr) uintptr { /* sqlite3.c:207673:19: */ bp := tls.Alloc(20) defer tls.Free(20) @@ -167797,7 +167828,7 @@ func openRbuHandle(tls *libc.TLS, zTarget uintptr, zRbu uintptr, zState uintptr) // Allocate and return an RBU handle with all fields zeroed except for the // error code, which is set to SQLITE_MISUSE. -func rbuMisuseError(tls *libc.TLS) uintptr { /* sqlite3.c:207780:19: */ +func rbuMisuseError(tls *libc.TLS) uintptr { /* sqlite3.c:207837:19: */ var pRet uintptr pRet = Xsqlite3_malloc64(tls, uint64(unsafe.Sizeof(Sqlite3rbu{}))) if pRet != 0 { @@ -167808,7 +167839,7 @@ func rbuMisuseError(tls *libc.TLS) uintptr { /* sqlite3.c:207780:19: */ } // Open and return a new RBU handle. -func Xsqlite3rbu_open(tls *libc.TLS, zTarget uintptr, zRbu uintptr, zState uintptr) uintptr { /* sqlite3.c:207793:23: */ +func Xsqlite3rbu_open(tls *libc.TLS, zTarget uintptr, zRbu uintptr, zState uintptr) uintptr { /* sqlite3.c:207850:23: */ if zTarget == uintptr(0) || zRbu == uintptr(0) { return rbuMisuseError(tls) } @@ -167816,7 +167847,7 @@ func Xsqlite3rbu_open(tls *libc.TLS, zTarget uintptr, zRbu uintptr, zState uintp } // Open a handle to begin or resume an RBU VACUUM operation. -func Xsqlite3rbu_vacuum(tls *libc.TLS, zTarget uintptr, zState uintptr) uintptr { /* sqlite3.c:207805:23: */ +func Xsqlite3rbu_vacuum(tls *libc.TLS, zTarget uintptr, zState uintptr) uintptr { /* sqlite3.c:207862:23: */ if zTarget == uintptr(0) { return rbuMisuseError(tls) } @@ -167831,7 +167862,7 @@ func Xsqlite3rbu_vacuum(tls *libc.TLS, zTarget uintptr, zState uintptr) uintptr } // Return the database handle used by pRbu. -func Xsqlite3rbu_db(tls *libc.TLS, pRbu uintptr, bRbu int32) uintptr { /* sqlite3.c:207823:20: */ +func Xsqlite3rbu_db(tls *libc.TLS, pRbu uintptr, bRbu int32) uintptr { /* sqlite3.c:207880:20: */ var db uintptr = uintptr(0) if pRbu != 0 { db = func() uintptr { @@ -167847,7 +167878,7 @@ func Xsqlite3rbu_db(tls *libc.TLS, pRbu uintptr, bRbu int32) uintptr { /* sqlite // If the error code currently stored in the RBU handle is SQLITE_CONSTRAINT, // then edit any error message string so as to remove all occurrences of // the pattern "rbu_imp_[0-9]*". -func rbuEditErrmsg(tls *libc.TLS, p uintptr) { /* sqlite3.c:207837:13: */ +func rbuEditErrmsg(tls *libc.TLS, p uintptr) { /* sqlite3.c:207894:13: */ if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_CONSTRAINT && (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg != 0 { var i uint32 var nErrmsg Size_t = libc.Xstrlen(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg) @@ -167865,7 +167896,7 @@ func rbuEditErrmsg(tls *libc.TLS, p uintptr) { /* sqlite3.c:207837:13: */ } // Close the RBU handle. -func Xsqlite3rbu_close(tls *libc.TLS, p uintptr, pzErrmsg uintptr) int32 { /* sqlite3.c:207855:16: */ +func Xsqlite3rbu_close(tls *libc.TLS, p uintptr, pzErrmsg uintptr) int32 { /* sqlite3.c:207912:16: */ var rc int32 if p != 0 { @@ -167930,13 +167961,13 @@ func Xsqlite3rbu_close(tls *libc.TLS, p uintptr, pzErrmsg uintptr) int32 { /* sq // Return the total number of key-value operations (inserts, deletes or // updates) that have been performed on the target database since the // current RBU update was started. -func Xsqlite3rbu_progress(tls *libc.TLS, pRbu uintptr) Sqlite3_int64 { /* sqlite3.c:207918:26: */ +func Xsqlite3rbu_progress(tls *libc.TLS, pRbu uintptr) Sqlite3_int64 { /* sqlite3.c:207975:26: */ return Sqlite3_int64((*Sqlite3rbu)(unsafe.Pointer(pRbu)).FnProgress) } // Return permyriadage progress indications for the two main stages of // an RBU update. -func Xsqlite3rbu_bp_progress(tls *libc.TLS, p uintptr, pnOne uintptr, pnTwo uintptr) { /* sqlite3.c:207926:17: */ +func Xsqlite3rbu_bp_progress(tls *libc.TLS, p uintptr, pnOne uintptr, pnTwo uintptr) { /* sqlite3.c:207983:17: */ var MAX_PROGRESS int32 = 10000 switch (*Sqlite3rbu)(unsafe.Pointer(p)).FeStage { case RBU_STAGE_OAL: @@ -167969,7 +168000,7 @@ func Xsqlite3rbu_bp_progress(tls *libc.TLS, p uintptr, pnOne uintptr, pnTwo uint } // Return the current state of the RBU vacuum or update operation. -func Xsqlite3rbu_state(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:207961:16: */ +func Xsqlite3rbu_state(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:208018:16: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -167987,7 +168018,7 @@ func Xsqlite3rbu_state(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:207961:16: return int32(0) } -func Xsqlite3rbu_savestate(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:207989:16: */ +func Xsqlite3rbu_savestate(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:208046:16: */ var rc int32 = (*Sqlite3rbu)(unsafe.Pointer(p)).Frc if rc == SQLITE_DONE { return SQLITE_OK @@ -168094,7 +168125,7 @@ func Xsqlite3rbu_savestate(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:207989 // relinquished). Finally, calls to xSync() on the target database // file fail with SQLITE_INTERNAL errors. -func rbuUnlockShm(tls *libc.TLS, p uintptr) { /* sqlite3.c:208082:13: */ +func rbuUnlockShm(tls *libc.TLS, p uintptr) { /* sqlite3.c:208139:13: */ if (*Rbu_file)(unsafe.Pointer(p)).FpRbu != 0 { var xShmLock uintptr = (*sqlite3_io_methods)(unsafe.Pointer((*Sqlite3_file)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer(p)).FpReal)).FpMethods)).FxShmLock @@ -168111,7 +168142,7 @@ func rbuUnlockShm(tls *libc.TLS, p uintptr) { /* sqlite3.c:208082:13: */ } // -func rbuUpdateTempSize(tls *libc.TLS, pFd uintptr, nNew Sqlite3_int64) int32 { /* sqlite3.c:208098:12: */ +func rbuUpdateTempSize(tls *libc.TLS, pFd uintptr, nNew Sqlite3_int64) int32 { /* sqlite3.c:208155:12: */ var pRbu uintptr = (*Rbu_file)(unsafe.Pointer(pFd)).FpRbu var nDiff I64 = nNew - (*Rbu_file)(unsafe.Pointer(pFd)).Fsz *(*I64)(unsafe.Pointer(pRbu + 220)) += nDiff @@ -168129,7 +168160,7 @@ func rbuUpdateTempSize(tls *libc.TLS, pFd uintptr, nNew Sqlite3_int64) int32 { / // for all file descriptors with rbu_file.pDb!=0. If the argument has // rbu_file.pDb!=0, then it is assumed to already be present on the // main list and is only added to the pDb!=0 list. -func rbuMainlistAdd(tls *libc.TLS, p uintptr) { /* sqlite3.c:208116:13: */ +func rbuMainlistAdd(tls *libc.TLS, p uintptr) { /* sqlite3.c:208173:13: */ var pRbuVfs uintptr = (*Rbu_file)(unsafe.Pointer(p)).FpRbuVfs var pIter uintptr @@ -168151,7 +168182,7 @@ func rbuMainlistAdd(tls *libc.TLS, p uintptr) { /* sqlite3.c:208116:13: */ } // Remove an item from the main-db lists. -func rbuMainlistRemove(tls *libc.TLS, p uintptr) { /* sqlite3.c:208138:13: */ +func rbuMainlistRemove(tls *libc.TLS, p uintptr) { /* sqlite3.c:208195:13: */ var pp uintptr Xsqlite3_mutex_enter(tls, (*Rbu_vfs)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer(p)).FpRbuVfs)).Fmutex) for pp = (*Rbu_file)(unsafe.Pointer(p)).FpRbuVfs + 100; *(*uintptr)(unsafe.Pointer(pp)) != 0 && *(*uintptr)(unsafe.Pointer(pp)) != p; pp = *(*uintptr)(unsafe.Pointer(pp)) + 56 { @@ -168176,7 +168207,7 @@ func rbuMainlistRemove(tls *libc.TLS, p uintptr) { /* sqlite3.c:208138:13: */ // // If parameter bRbu is true, only search for file-descriptors with // rbu_file.pDb!=0. -func rbuFindMaindb(tls *libc.TLS, pRbuVfs uintptr, zWal uintptr, bRbu int32) uintptr { /* sqlite3.c:208159:17: */ +func rbuFindMaindb(tls *libc.TLS, pRbuVfs uintptr, zWal uintptr, bRbu int32) uintptr { /* sqlite3.c:208216:17: */ var pDb uintptr Xsqlite3_mutex_enter(tls, (*Rbu_vfs)(unsafe.Pointer(pRbuVfs)).Fmutex) if bRbu != 0 { @@ -168191,7 +168222,7 @@ func rbuFindMaindb(tls *libc.TLS, pRbuVfs uintptr, zWal uintptr, bRbu int32) uin } // Close an rbu file. -func rbuVfsClose(tls *libc.TLS, pFile uintptr) int32 { /* sqlite3.c:208174:12: */ +func rbuVfsClose(tls *libc.TLS, pFile uintptr) int32 { /* sqlite3.c:208231:12: */ var p uintptr = pFile var rc int32 var i int32 @@ -168223,7 +168254,7 @@ func rbuVfsClose(tls *libc.TLS, pFile uintptr) int32 { /* sqlite3.c:208174:12: * // Read and return an unsigned 32-bit big-endian integer from the buffer // passed as the only argument. -func rbuGetU32(tls *libc.TLS, aBuf uintptr) U32 { /* sqlite3.c:208207:12: */ +func rbuGetU32(tls *libc.TLS, aBuf uintptr) U32 { /* sqlite3.c:208264:12: */ return U32(*(*U8)(unsafe.Pointer(aBuf)))<<24 + U32(*(*U8)(unsafe.Pointer(aBuf + 1)))<<16 + U32(*(*U8)(unsafe.Pointer(aBuf + 2)))<<8 + @@ -168232,20 +168263,20 @@ func rbuGetU32(tls *libc.TLS, aBuf uintptr) U32 { /* sqlite3.c:208207:12: */ // Write an unsigned 32-bit value in big-endian format to the supplied // buffer. -func rbuPutU32(tls *libc.TLS, aBuf uintptr, iVal U32) { /* sqlite3.c:208218:13: */ +func rbuPutU32(tls *libc.TLS, aBuf uintptr, iVal U32) { /* sqlite3.c:208275:13: */ *(*U8)(unsafe.Pointer(aBuf)) = U8(iVal >> 24 & U32(0xFF)) *(*U8)(unsafe.Pointer(aBuf + 1)) = U8(iVal >> 16 & U32(0xFF)) *(*U8)(unsafe.Pointer(aBuf + 2)) = U8(iVal >> 8 & U32(0xFF)) *(*U8)(unsafe.Pointer(aBuf + 3)) = U8(iVal >> 0 & U32(0xFF)) } -func rbuPutU16(tls *libc.TLS, aBuf uintptr, iVal U16) { /* sqlite3.c:208225:13: */ +func rbuPutU16(tls *libc.TLS, aBuf uintptr, iVal U16) { /* sqlite3.c:208282:13: */ *(*U8)(unsafe.Pointer(aBuf)) = U8(int32(iVal) >> 8 & 0xFF) *(*U8)(unsafe.Pointer(aBuf + 1)) = U8(int32(iVal) >> 0 & 0xFF) } // Read data from an rbuVfs-file. -func rbuVfsRead(tls *libc.TLS, pFile uintptr, zBuf uintptr, iAmt int32, iOfst Sqlite_int64) int32 { /* sqlite3.c:208233:12: */ +func rbuVfsRead(tls *libc.TLS, pFile uintptr, zBuf uintptr, iAmt int32, iOfst Sqlite_int64) int32 { /* sqlite3.c:208290:12: */ var p uintptr = pFile var pRbu uintptr = (*Rbu_file)(unsafe.Pointer(p)).FpRbu var rc int32 @@ -168309,7 +168340,7 @@ func rbuVfsRead(tls *libc.TLS, pFile uintptr, zBuf uintptr, iAmt int32, iOfst Sq } // Write data to an rbuVfs-file. -func rbuVfsWrite(tls *libc.TLS, pFile uintptr, zBuf uintptr, iAmt int32, iOfst Sqlite_int64) int32 { /* sqlite3.c:208299:12: */ +func rbuVfsWrite(tls *libc.TLS, pFile uintptr, zBuf uintptr, iAmt int32, iOfst Sqlite_int64) int32 { /* sqlite3.c:208356:12: */ var p uintptr = pFile var pRbu uintptr = (*Rbu_file)(unsafe.Pointer(p)).FpRbu var rc int32 @@ -168348,7 +168379,7 @@ func rbuVfsWrite(tls *libc.TLS, pFile uintptr, zBuf uintptr, iAmt int32, iOfst S } // Truncate an rbuVfs-file. -func rbuVfsTruncate(tls *libc.TLS, pFile uintptr, size Sqlite_int64) int32 { /* sqlite3.c:208342:12: */ +func rbuVfsTruncate(tls *libc.TLS, pFile uintptr, size Sqlite_int64) int32 { /* sqlite3.c:208399:12: */ var p uintptr = pFile if (*Rbu_file)(unsafe.Pointer(p)).FopenFlags&SQLITE_OPEN_DELETEONCLOSE != 0 && (*Rbu_file)(unsafe.Pointer(p)).FpRbu != 0 { var rc int32 = rbuUpdateTempSize(tls, p, size) @@ -168362,7 +168393,7 @@ func rbuVfsTruncate(tls *libc.TLS, pFile uintptr, size Sqlite_int64) int32 { /* } // Sync an rbuVfs-file. -func rbuVfsSync(tls *libc.TLS, pFile uintptr, flags int32) int32 { /* sqlite3.c:208354:12: */ +func rbuVfsSync(tls *libc.TLS, pFile uintptr, flags int32) int32 { /* sqlite3.c:208411:12: */ var p uintptr = pFile if (*Rbu_file)(unsafe.Pointer(p)).FpRbu != 0 && (*Sqlite3rbu)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer(p)).FpRbu)).FeStage == RBU_STAGE_CAPTURE { if (*Rbu_file)(unsafe.Pointer(p)).FopenFlags&SQLITE_OPEN_MAIN_DB != 0 { @@ -168376,7 +168407,7 @@ func rbuVfsSync(tls *libc.TLS, pFile uintptr, flags int32) int32 { /* sqlite3.c: } // Return the current file-size of an rbuVfs-file. -func rbuVfsFileSize(tls *libc.TLS, pFile uintptr, pSize uintptr) int32 { /* sqlite3.c:208368:12: */ +func rbuVfsFileSize(tls *libc.TLS, pFile uintptr, pSize uintptr) int32 { /* sqlite3.c:208425:12: */ var p uintptr = pFile var rc int32 rc = (*struct { @@ -168396,7 +168427,7 @@ func rbuVfsFileSize(tls *libc.TLS, pFile uintptr, pSize uintptr) int32 { /* sqli } // Lock an rbuVfs-file. -func rbuVfsLock(tls *libc.TLS, pFile uintptr, eLock int32) int32 { /* sqlite3.c:208389:12: */ +func rbuVfsLock(tls *libc.TLS, pFile uintptr, eLock int32) int32 { /* sqlite3.c:208446:12: */ var p uintptr = pFile var pRbu uintptr = (*Rbu_file)(unsafe.Pointer(p)).FpRbu var rc int32 = SQLITE_OK @@ -168416,7 +168447,7 @@ func rbuVfsLock(tls *libc.TLS, pFile uintptr, eLock int32) int32 { /* sqlite3.c: } // Unlock an rbuVfs-file. -func rbuVfsUnlock(tls *libc.TLS, pFile uintptr, eLock int32) int32 { /* sqlite3.c:208411:12: */ +func rbuVfsUnlock(tls *libc.TLS, pFile uintptr, eLock int32) int32 { /* sqlite3.c:208468:12: */ var p uintptr = pFile return (*struct { f func(*libc.TLS, uintptr, int32) int32 @@ -168424,7 +168455,7 @@ func rbuVfsUnlock(tls *libc.TLS, pFile uintptr, eLock int32) int32 { /* sqlite3. } // Check if another file-handle holds a RESERVED lock on an rbuVfs-file. -func rbuVfsCheckReservedLock(tls *libc.TLS, pFile uintptr, pResOut uintptr) int32 { /* sqlite3.c:208419:12: */ +func rbuVfsCheckReservedLock(tls *libc.TLS, pFile uintptr, pResOut uintptr) int32 { /* sqlite3.c:208476:12: */ var p uintptr = pFile return (*struct { f func(*libc.TLS, uintptr, uintptr) int32 @@ -168432,7 +168463,7 @@ func rbuVfsCheckReservedLock(tls *libc.TLS, pFile uintptr, pResOut uintptr) int3 } // File control method. For custom operations on an rbuVfs-file. -func rbuVfsFileControl(tls *libc.TLS, pFile uintptr, op int32, pArg uintptr) int32 { /* sqlite3.c:208427:12: */ +func rbuVfsFileControl(tls *libc.TLS, pFile uintptr, op int32, pArg uintptr) int32 { /* sqlite3.c:208484:12: */ bp := tls.Alloc(20) defer tls.Free(20) @@ -168495,7 +168526,7 @@ func rbuVfsFileControl(tls *libc.TLS, pFile uintptr, op int32, pArg uintptr) int } // Return the sector-size in bytes for an rbuVfs-file. -func rbuVfsSectorSize(tls *libc.TLS, pFile uintptr) int32 { /* sqlite3.c:208483:12: */ +func rbuVfsSectorSize(tls *libc.TLS, pFile uintptr) int32 { /* sqlite3.c:208540:12: */ var p uintptr = pFile return (*struct { f func(*libc.TLS, uintptr) int32 @@ -168503,7 +168534,7 @@ func rbuVfsSectorSize(tls *libc.TLS, pFile uintptr) int32 { /* sqlite3.c:208483: } // Return the device characteristic flags supported by an rbuVfs-file. -func rbuVfsDeviceCharacteristics(tls *libc.TLS, pFile uintptr) int32 { /* sqlite3.c:208491:12: */ +func rbuVfsDeviceCharacteristics(tls *libc.TLS, pFile uintptr) int32 { /* sqlite3.c:208548:12: */ var p uintptr = pFile return (*struct { f func(*libc.TLS, uintptr) int32 @@ -168511,7 +168542,7 @@ func rbuVfsDeviceCharacteristics(tls *libc.TLS, pFile uintptr) int32 { /* sqlite } // Take or release a shared-memory lock. -func rbuVfsShmLock(tls *libc.TLS, pFile uintptr, ofst int32, n int32, flags int32) int32 { /* sqlite3.c:208499:12: */ +func rbuVfsShmLock(tls *libc.TLS, pFile uintptr, ofst int32, n int32, flags int32) int32 { /* sqlite3.c:208556:12: */ var p uintptr = pFile var pRbu uintptr = (*Rbu_file)(unsafe.Pointer(p)).FpRbu var rc int32 = SQLITE_OK @@ -168544,7 +168575,7 @@ func rbuVfsShmLock(tls *libc.TLS, pFile uintptr, ofst int32, n int32, flags int3 } // Obtain a pointer to a mapping of a single 32KiB page of the *-shm file. -func rbuVfsShmMap(tls *libc.TLS, pFile uintptr, iRegion int32, szRegion int32, isWrite int32, pp uintptr) int32 { /* sqlite3.c:208537:12: */ +func rbuVfsShmMap(tls *libc.TLS, pFile uintptr, iRegion int32, szRegion int32, isWrite int32, pp uintptr) int32 { /* sqlite3.c:208594:12: */ var p uintptr = pFile var rc int32 = SQLITE_OK var eStage int32 = func() int32 { @@ -168601,13 +168632,13 @@ func rbuVfsShmMap(tls *libc.TLS, pFile uintptr, iRegion int32, szRegion int32, i } // Memory barrier. -func rbuVfsShmBarrier(tls *libc.TLS, pFile uintptr) { /* sqlite3.c:208595:13: */ +func rbuVfsShmBarrier(tls *libc.TLS, pFile uintptr) { /* sqlite3.c:208652:13: */ var p uintptr = pFile (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods)(unsafe.Pointer((*Sqlite3_file)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer(p)).FpReal)).FpMethods)).FxShmBarrier})).f(tls, (*Rbu_file)(unsafe.Pointer(p)).FpReal) } // The xShmUnmap method. -func rbuVfsShmUnmap(tls *libc.TLS, pFile uintptr, delFlag int32) int32 { /* sqlite3.c:208603:12: */ +func rbuVfsShmUnmap(tls *libc.TLS, pFile uintptr, delFlag int32) int32 { /* sqlite3.c:208660:12: */ var p uintptr = pFile var rc int32 = SQLITE_OK var eStage int32 = func() int32 { @@ -168630,7 +168661,7 @@ func rbuVfsShmUnmap(tls *libc.TLS, pFile uintptr, delFlag int32) int32 { /* sqli } // Open an rbu file handle. -func rbuVfsOpen(tls *libc.TLS, pVfs uintptr, zName uintptr, pFile uintptr, flags int32, pOutFlags uintptr) int32 { /* sqlite3.c:208622:12: */ +func rbuVfsOpen(tls *libc.TLS, pVfs uintptr, zName uintptr, pFile uintptr, flags int32, pOutFlags uintptr) int32 { /* sqlite3.c:208679:12: */ var pRbuVfs uintptr = pVfs var pRealVfs uintptr = (*Rbu_vfs)(unsafe.Pointer(pRbuVfs)).FpRealVfs var pFd uintptr = pFile @@ -168716,10 +168747,10 @@ var rbuvfs_io_methods = Sqlite3_io_methods{ FxShmLock: 0, // xShmLock FxShmBarrier: 0, // xShmBarrier FxShmUnmap: 0, // xFetch, xUnfetch -} /* sqlite3.c:208629:29 */ +} /* sqlite3.c:208686:29 */ // Delete the file located at zPath. -func rbuVfsDelete(tls *libc.TLS, pVfs uintptr, zPath uintptr, dirSync int32) int32 { /* sqlite3.c:208720:12: */ +func rbuVfsDelete(tls *libc.TLS, pVfs uintptr, zPath uintptr, dirSync int32) int32 { /* sqlite3.c:208777:12: */ var pRealVfs uintptr = (*Rbu_vfs)(unsafe.Pointer(pVfs)).FpRealVfs return (*struct { f func(*libc.TLS, uintptr, uintptr, int32) int32 @@ -168728,7 +168759,7 @@ func rbuVfsDelete(tls *libc.TLS, pVfs uintptr, zPath uintptr, dirSync int32) int // Test for access permissions. Return true if the requested permission // is available, or false otherwise. -func rbuVfsAccess(tls *libc.TLS, pVfs uintptr, zPath uintptr, flags int32, pResOut uintptr) int32 { /* sqlite3.c:208729:12: */ +func rbuVfsAccess(tls *libc.TLS, pVfs uintptr, zPath uintptr, flags int32, pResOut uintptr) int32 { /* sqlite3.c:208786:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -168773,7 +168804,7 @@ func rbuVfsAccess(tls *libc.TLS, pVfs uintptr, zPath uintptr, flags int32, pResO // Populate buffer zOut with the full canonical pathname corresponding // to the pathname in zPath. zOut is guaranteed to point to a buffer // of at least (DEVSYM_MAX_PATHNAME+1) bytes. -func rbuVfsFullPathname(tls *libc.TLS, pVfs uintptr, zPath uintptr, nOut int32, zOut uintptr) int32 { /* sqlite3.c:208777:12: */ +func rbuVfsFullPathname(tls *libc.TLS, pVfs uintptr, zPath uintptr, nOut int32, zOut uintptr) int32 { /* sqlite3.c:208834:12: */ var pRealVfs uintptr = (*Rbu_vfs)(unsafe.Pointer(pVfs)).FpRealVfs return (*struct { f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 @@ -168781,7 +168812,7 @@ func rbuVfsFullPathname(tls *libc.TLS, pVfs uintptr, zPath uintptr, nOut int32, } // Open the dynamic library located at zPath and return a handle. -func rbuVfsDlOpen(tls *libc.TLS, pVfs uintptr, zPath uintptr) uintptr { /* sqlite3.c:208791:13: */ +func rbuVfsDlOpen(tls *libc.TLS, pVfs uintptr, zPath uintptr) uintptr { /* sqlite3.c:208848:13: */ var pRealVfs uintptr = (*Rbu_vfs)(unsafe.Pointer(pVfs)).FpRealVfs return (*struct { f func(*libc.TLS, uintptr, uintptr) uintptr @@ -168791,7 +168822,7 @@ func rbuVfsDlOpen(tls *libc.TLS, pVfs uintptr, zPath uintptr) uintptr { /* sqlit // Populate the buffer zErrMsg (size nByte bytes) with a human readable // utf-8 string describing the most recent error encountered associated // with dynamic libraries. -func rbuVfsDlError(tls *libc.TLS, pVfs uintptr, nByte int32, zErrMsg uintptr) { /* sqlite3.c:208801:13: */ +func rbuVfsDlError(tls *libc.TLS, pVfs uintptr, nByte int32, zErrMsg uintptr) { /* sqlite3.c:208858:13: */ var pRealVfs uintptr = (*Rbu_vfs)(unsafe.Pointer(pVfs)).FpRealVfs (*struct { f func(*libc.TLS, uintptr, int32, uintptr) @@ -168799,7 +168830,7 @@ func rbuVfsDlError(tls *libc.TLS, pVfs uintptr, nByte int32, zErrMsg uintptr) { } // Return a pointer to the symbol zSymbol in the dynamic library pHandle. -func rbuVfsDlSym(tls *libc.TLS, pVfs uintptr, pArg uintptr, zSym uintptr) uintptr { /* sqlite3.c:208809:13: */ +func rbuVfsDlSym(tls *libc.TLS, pVfs uintptr, pArg uintptr, zSym uintptr) uintptr { /* sqlite3.c:208866:13: */ var pRealVfs uintptr = (*Rbu_vfs)(unsafe.Pointer(pVfs)).FpRealVfs return (*struct { f func(*libc.TLS, uintptr, uintptr, uintptr) uintptr @@ -168807,7 +168838,7 @@ func rbuVfsDlSym(tls *libc.TLS, pVfs uintptr, pArg uintptr, zSym uintptr) uintpt } // Close the dynamic library handle pHandle. -func rbuVfsDlClose(tls *libc.TLS, pVfs uintptr, pHandle uintptr) { /* sqlite3.c:208821:13: */ +func rbuVfsDlClose(tls *libc.TLS, pVfs uintptr, pHandle uintptr) { /* sqlite3.c:208878:13: */ var pRealVfs uintptr = (*Rbu_vfs)(unsafe.Pointer(pVfs)).FpRealVfs (*struct { f func(*libc.TLS, uintptr, uintptr) @@ -168816,7 +168847,7 @@ func rbuVfsDlClose(tls *libc.TLS, pVfs uintptr, pHandle uintptr) { /* sqlite3.c: // Populate the buffer pointed to by zBufOut with nByte bytes of // random data. -func rbuVfsRandomness(tls *libc.TLS, pVfs uintptr, nByte int32, zBufOut uintptr) int32 { /* sqlite3.c:208831:12: */ +func rbuVfsRandomness(tls *libc.TLS, pVfs uintptr, nByte int32, zBufOut uintptr) int32 { /* sqlite3.c:208888:12: */ var pRealVfs uintptr = (*Rbu_vfs)(unsafe.Pointer(pVfs)).FpRealVfs return (*struct { f func(*libc.TLS, uintptr, int32, uintptr) int32 @@ -168825,7 +168856,7 @@ func rbuVfsRandomness(tls *libc.TLS, pVfs uintptr, nByte int32, zBufOut uintptr) // Sleep for nMicro microseconds. Return the number of microseconds // actually slept. -func rbuVfsSleep(tls *libc.TLS, pVfs uintptr, nMicro int32) int32 { /* sqlite3.c:208840:12: */ +func rbuVfsSleep(tls *libc.TLS, pVfs uintptr, nMicro int32) int32 { /* sqlite3.c:208897:12: */ var pRealVfs uintptr = (*Rbu_vfs)(unsafe.Pointer(pVfs)).FpRealVfs return (*struct { f func(*libc.TLS, uintptr, int32) int32 @@ -168833,7 +168864,7 @@ func rbuVfsSleep(tls *libc.TLS, pVfs uintptr, nMicro int32) int32 { /* sqlite3.c } // Return the current time as a Julian Day number in *pTimeOut. -func rbuVfsCurrentTime(tls *libc.TLS, pVfs uintptr, pTimeOut uintptr) int32 { /* sqlite3.c:208848:12: */ +func rbuVfsCurrentTime(tls *libc.TLS, pVfs uintptr, pTimeOut uintptr) int32 { /* sqlite3.c:208905:12: */ var pRealVfs uintptr = (*Rbu_vfs)(unsafe.Pointer(pVfs)).FpRealVfs return (*struct { f func(*libc.TLS, uintptr, uintptr) int32 @@ -168841,13 +168872,13 @@ func rbuVfsCurrentTime(tls *libc.TLS, pVfs uintptr, pTimeOut uintptr) int32 { /* } // No-op. -func rbuVfsGetLastError(tls *libc.TLS, pVfs uintptr, a int32, b uintptr) int32 { /* sqlite3.c:208856:12: */ +func rbuVfsGetLastError(tls *libc.TLS, pVfs uintptr, a int32, b uintptr) int32 { /* sqlite3.c:208913:12: */ return 0 } // Deregister and destroy an RBU vfs created by an earlier call to // sqlite3rbu_create_vfs(). -func Xsqlite3rbu_destroy_vfs(tls *libc.TLS, zName uintptr) { /* sqlite3.c:208864:17: */ +func Xsqlite3rbu_destroy_vfs(tls *libc.TLS, zName uintptr) { /* sqlite3.c:208921:17: */ var pVfs uintptr = Xsqlite3_vfs_find(tls, zName) if pVfs != 0 && (*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FxOpen == *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32 @@ -168861,7 +168892,7 @@ func Xsqlite3rbu_destroy_vfs(tls *libc.TLS, zName uintptr) { /* sqlite3.c:208864 // Create an RBU VFS named zName that accesses the underlying file-system // via existing VFS zParent. The new object is registered as a non-default // VFS with SQLite before returning. -func Xsqlite3rbu_create_vfs(tls *libc.TLS, zName uintptr, zParent uintptr) int32 { /* sqlite3.c:208878:16: */ +func Xsqlite3rbu_create_vfs(tls *libc.TLS, zName uintptr, zParent uintptr) int32 { /* sqlite3.c:208935:16: */ var pNew uintptr = uintptr(0) // Newly allocated VFS var rc int32 = SQLITE_OK @@ -168922,17 +168953,17 @@ var vfs_template = Sqlite3_vfs{ FxSleep: 0, // xSleep FxCurrentTime: 0, // xCurrentTime FxGetLastError: 0, // Unimplemented version 3 methods -} /* sqlite3.c:208881:22 */ +} /* sqlite3.c:208938:22 */ // Configure the aggregate temp file size limit for this RBU handle. -func Xsqlite3rbu_temp_size_limit(tls *libc.TLS, pRbu uintptr, n Sqlite3_int64) Sqlite3_int64 { /* sqlite3.c:208956:26: */ +func Xsqlite3rbu_temp_size_limit(tls *libc.TLS, pRbu uintptr, n Sqlite3_int64) Sqlite3_int64 { /* sqlite3.c:209013:26: */ if n >= int64(0) { (*Sqlite3rbu)(unsafe.Pointer(pRbu)).FszTempLimit = n } return (*Sqlite3rbu)(unsafe.Pointer(pRbu)).FszTempLimit } -func Xsqlite3rbu_temp_size(tls *libc.TLS, pRbu uintptr) Sqlite3_int64 { /* sqlite3.c:208963:26: */ +func Xsqlite3rbu_temp_size(tls *libc.TLS, pRbu uintptr) Sqlite3_int64 { /* sqlite3.c:209020:26: */ return (*Sqlite3rbu)(unsafe.Pointer(pRbu)).FszTemp } @@ -169086,7 +169117,7 @@ type SessionTable1 = struct { // #include // #include -type SessionTable = SessionTable1 /* sqlite3.c:210308:29 */ +type SessionTable = SessionTable1 /* sqlite3.c:210365:29 */ type SessionChange1 = struct { Fop U8 FbIndirect U8 @@ -169097,14 +169128,14 @@ type SessionChange1 = struct { FpNext uintptr } /* sqlite3.c:10832:9 */ -type SessionChange = SessionChange1 /* sqlite3.c:210309:30 */ +type SessionChange = SessionChange1 /* sqlite3.c:210366:30 */ type SessionBuffer1 = struct { FaBuf uintptr FnBuf int32 FnAlloc int32 } /* sqlite3.c:10840:9 */ -type SessionBuffer = SessionBuffer1 /* sqlite3.c:210310:30 */ +type SessionBuffer = SessionBuffer1 /* sqlite3.c:210367:30 */ type SessionInput1 = struct { FbNoDiscard int32 FiCurrent int32 @@ -169117,11 +169148,11 @@ type SessionInput1 = struct { FbEof int32 } /* sqlite3.c:10840:9 */ -type SessionInput = SessionInput1 /* sqlite3.c:210311:29 */ +type SessionInput = SessionInput1 /* sqlite3.c:210368:29 */ // Minimum chunk size used by streaming versions of functions. -var sessions_strm_chunk_size int32 = SESSIONS_STRM_CHUNK_SIZE /* sqlite3.c:210324:12 */ +var sessions_strm_chunk_size int32 = SESSIONS_STRM_CHUNK_SIZE /* sqlite3.c:210381:12 */ type SessionHook1 = struct { FpCtx uintptr @@ -169131,11 +169162,11 @@ type SessionHook1 = struct { FxDepth uintptr } /* sqlite3.c:10832:9 */ -type SessionHook = SessionHook1 /* sqlite3.c:210326:28 */ +type SessionHook = SessionHook1 /* sqlite3.c:210383:28 */ // Write a varint with value iVal into the buffer at aBuf. Return the // number of bytes written. -func sessionVarintPut(tls *libc.TLS, aBuf uintptr, iVal int32) int32 { /* sqlite3.c:210604:12: */ +func sessionVarintPut(tls *libc.TLS, aBuf uintptr, iVal int32) int32 { /* sqlite3.c:210661:12: */ return int32(func() uint8 { if U32(iVal) < U32(0x80) { return uint8(func() int32 { *(*U8)(unsafe.Pointer(aBuf)) = uint8(iVal); return 1 }()) @@ -169145,13 +169176,13 @@ func sessionVarintPut(tls *libc.TLS, aBuf uintptr, iVal int32) int32 { /* sqlite } // Return the number of bytes required to store value iVal as a varint. -func sessionVarintLen(tls *libc.TLS, iVal int32) int32 { /* sqlite3.c:210611:12: */ +func sessionVarintLen(tls *libc.TLS, iVal int32) int32 { /* sqlite3.c:210668:12: */ return Xsqlite3VarintLen(tls, uint64(iVal)) } // Read a varint value from aBuf[] into *piVal. Return the number of // bytes read. -func sessionVarintGet(tls *libc.TLS, aBuf uintptr, piVal uintptr) int32 { /* sqlite3.c:210619:12: */ +func sessionVarintGet(tls *libc.TLS, aBuf uintptr, piVal uintptr) int32 { /* sqlite3.c:210676:12: */ return int32(func() uint8 { if int32(*(*U8)(unsafe.Pointer(aBuf))) < int32(U8(0x80)) { return uint8(func() int32 { *(*int32)(unsafe.Pointer(piVal)) = int32(U32(*(*U8)(unsafe.Pointer(aBuf)))); return 1 }()) @@ -169164,7 +169195,7 @@ func sessionVarintGet(tls *libc.TLS, aBuf uintptr, piVal uintptr) int32 { /* sql // Read a 64-bit big-endian integer value from buffer aRec[]. Return // the value read. -func sessionGetI64(tls *libc.TLS, aRec uintptr) Sqlite3_int64 { /* sqlite3.c:210630:22: */ +func sessionGetI64(tls *libc.TLS, aRec uintptr) Sqlite3_int64 { /* sqlite3.c:210687:22: */ var x U64 = U64(U32(*(*U8)(unsafe.Pointer(aRec)))<<24 | U32(int32(*(*U8)(unsafe.Pointer(aRec + 1)))<<16) | U32(int32(*(*U8)(unsafe.Pointer(aRec + 2)))<<8) | U32(*(*U8)(unsafe.Pointer(aRec + 3)))) var y U32 = U32(*(*U8)(unsafe.Pointer(aRec + uintptr(4))))<<24 | U32(int32(*(*U8)(unsafe.Pointer(aRec + uintptr(4) + 1)))<<16) | U32(int32(*(*U8)(unsafe.Pointer(aRec + uintptr(4) + 2)))<<8) | U32(*(*U8)(unsafe.Pointer(aRec + uintptr(4) + 3))) x = x<<32 + U64(y) @@ -169172,7 +169203,7 @@ func sessionGetI64(tls *libc.TLS, aRec uintptr) Sqlite3_int64 { /* sqlite3.c:210 } // Write a 64-bit big-endian integer value to the buffer aBuf[]. -func sessionPutI64(tls *libc.TLS, aBuf uintptr, i Sqlite3_int64) { /* sqlite3.c:210640:13: */ +func sessionPutI64(tls *libc.TLS, aBuf uintptr, i Sqlite3_int64) { /* sqlite3.c:210697:13: */ *(*U8)(unsafe.Pointer(aBuf)) = U8(i >> 56 & int64(0xFF)) *(*U8)(unsafe.Pointer(aBuf + 1)) = U8(i >> 48 & int64(0xFF)) *(*U8)(unsafe.Pointer(aBuf + 2)) = U8(i >> 40 & int64(0xFF)) @@ -169194,7 +169225,7 @@ func sessionPutI64(tls *libc.TLS, aBuf uintptr, i Sqlite3_int64) { /* sqlite3.c: // If no error occurs, SQLITE_OK is returned. Or, if an OOM error occurs // within a call to sqlite3_value_text() (may fail if the db is utf-16)) // SQLITE_NOMEM is returned. -func sessionSerializeValue(tls *libc.TLS, aBuf uintptr, pValue uintptr, pnWrite uintptr) int32 { /* sqlite3.c:210664:12: */ +func sessionSerializeValue(tls *libc.TLS, aBuf uintptr, pValue uintptr, pnWrite uintptr) int32 { /* sqlite3.c:210721:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -169282,7 +169313,7 @@ func sessionSerializeValue(tls *libc.TLS, aBuf uintptr, pValue uintptr, pnWrite // Allocate and return a pointer to a buffer nByte bytes in size. If // pSession is not NULL, increase the sqlite3_session.nMalloc variable // by the number of bytes allocated. -func sessionMalloc64(tls *libc.TLS, pSession uintptr, nByte I64) uintptr { /* sqlite3.c:210740:13: */ +func sessionMalloc64(tls *libc.TLS, pSession uintptr, nByte I64) uintptr { /* sqlite3.c:210797:13: */ var pRet uintptr = Xsqlite3_malloc64(tls, uint64(nByte)) if pSession != 0 { *(*I64)(unsafe.Pointer(pSession + 36)) += I64(Xsqlite3_msize(tls, pRet)) @@ -169293,7 +169324,7 @@ func sessionMalloc64(tls *libc.TLS, pSession uintptr, nByte I64) uintptr { /* sq // Free buffer pFree, which must have been allocated by an earlier // call to sessionMalloc64(). If pSession is not NULL, decrease the // sqlite3_session.nMalloc counter by the number of bytes freed. -func sessionFree(tls *libc.TLS, pSession uintptr, pFree uintptr) { /* sqlite3.c:210751:13: */ +func sessionFree(tls *libc.TLS, pSession uintptr, pFree uintptr) { /* sqlite3.c:210808:13: */ if pSession != 0 { *(*I64)(unsafe.Pointer(pSession + 36)) -= I64(Xsqlite3_msize(tls, pFree)) } @@ -169316,14 +169347,14 @@ func sessionFree(tls *libc.TLS, pSession uintptr, pFree uintptr) { /* sqlite3.c: // Append the hash of the 64-bit integer passed as the second argument to the // hash-key value passed as the first. Return the new hash-key value. -func sessionHashAppendI64(tls *libc.TLS, h uint32, i I64) uint32 { /* sqlite3.c:210777:21: */ +func sessionHashAppendI64(tls *libc.TLS, h uint32, i I64) uint32 { /* sqlite3.c:210834:21: */ h = h<<3 ^ h ^ uint32(i&int64(0xFFFFFFFF)) return h<<3 ^ h ^ uint32(i>>32&int64(0xFFFFFFFF)) } // Append the hash of the blob passed via the second and third arguments to // the hash-key value passed as the first. Return the new hash-key value. -func sessionHashAppendBlob(tls *libc.TLS, h uint32, n int32, z uintptr) uint32 { /* sqlite3.c:210786:21: */ +func sessionHashAppendBlob(tls *libc.TLS, h uint32, n int32, z uintptr) uint32 { /* sqlite3.c:210843:21: */ var i int32 for i = 0; i < n; i++ { h = h<<3 ^ h ^ uint32(*(*U8)(unsafe.Pointer(z + uintptr(i)))) @@ -169333,7 +169364,7 @@ func sessionHashAppendBlob(tls *libc.TLS, h uint32, n int32, z uintptr) uint32 { // Append the hash of the data type passed as the second argument to the // hash-key value passed as the first. Return the new hash-key value. -func sessionHashAppendType(tls *libc.TLS, h uint32, eType int32) uint32 { /* sqlite3.c:210796:21: */ +func sessionHashAppendType(tls *libc.TLS, h uint32, eType int32) uint32 { /* sqlite3.c:210853:21: */ return h<<3 ^ h ^ uint32(eType) } @@ -169346,7 +169377,7 @@ func sessionHashAppendType(tls *libc.TLS, h uint32, eType int32) uint32 { /* sql // If an error occurs, an SQLite error code is returned and the final values // of *piHash asn *pbNullPK are undefined. Otherwise, SQLITE_OK is returned // and the output variables are set as described above. -func sessionPreupdateHash(tls *libc.TLS, pSession uintptr, pTab uintptr, bNew int32, piHash uintptr, pbNullPK uintptr) int32 { /* sqlite3.c:210811:12: */ +func sessionPreupdateHash(tls *libc.TLS, pSession uintptr, pTab uintptr, bNew int32, piHash uintptr, pbNullPK uintptr) int32 { /* sqlite3.c:210868:12: */ bp := tls.Alloc(20) defer tls.Free(20) @@ -169412,7 +169443,7 @@ func sessionPreupdateHash(tls *libc.TLS, pSession uintptr, pTab uintptr, bNew in // The buffer that the argument points to contains a serialized SQL value. // Return the number of bytes of space occupied by the value (including // the type byte). -func sessionSerialLen(tls *libc.TLS, a uintptr) int32 { /* sqlite3.c:210876:12: */ +func sessionSerialLen(tls *libc.TLS, a uintptr) int32 { /* sqlite3.c:210933:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -169438,7 +169469,7 @@ func sessionSerialLen(tls *libc.TLS, a uintptr) int32 { /* sqlite3.c:210876:12: // // The bPkOnly argument is non-zero if the record at aRecord[] is from // a patchset DELETE. In this case the non-PK fields are omitted entirely. -func sessionChangeHash(tls *libc.TLS, pTab uintptr, bPkOnly int32, aRecord uintptr, nBucket int32) uint32 { /* sqlite3.c:210894:21: */ +func sessionChangeHash(tls *libc.TLS, pTab uintptr, bPkOnly int32, aRecord uintptr, nBucket int32) uint32 { /* sqlite3.c:210951:21: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -169481,7 +169512,7 @@ func sessionChangeHash(tls *libc.TLS, pTab uintptr, bPkOnly int32, aRecord uintp // This function returns true if the two records apply to the same row (i.e. // have the same values stored in the primary key columns), or false // otherwise. -func sessionChangeEqual(tls *libc.TLS, pTab uintptr, bLeftPkOnly int32, aLeft uintptr, bRightPkOnly int32, aRight uintptr) int32 { /* sqlite3.c:210943:12: */ +func sessionChangeEqual(tls *libc.TLS, pTab uintptr, bLeftPkOnly int32, aLeft uintptr, bRightPkOnly int32, aRight uintptr) int32 { /* sqlite3.c:211000:12: */ var a1 uintptr = aLeft // Cursor to iterate through aLeft var a2 uintptr = aRight // Cursor to iterate through aRight var iCol int32 // Used to iterate through table columns @@ -169520,7 +169551,7 @@ func sessionChangeEqual(tls *libc.TLS, pTab uintptr, bLeftPkOnly int32, aLeft ui // their. Otherwise, if aLeft contains a value, copy it. If neither // record contains a value for a given column, then neither does the // output record. -func sessionMergeRecord(tls *libc.TLS, paOut uintptr, nCol int32, aLeft uintptr, aRight uintptr) { /* sqlite3.c:210986:13: */ +func sessionMergeRecord(tls *libc.TLS, paOut uintptr, nCol int32, aLeft uintptr, aRight uintptr) { /* sqlite3.c:211043:13: */ var a1 uintptr = aLeft // Cursor used to iterate through aLeft var a2 uintptr = aRight // Cursor used to iterate through aRight var aOut uintptr = *(*uintptr)(unsafe.Pointer(paOut)) // Output cursor @@ -169559,7 +169590,7 @@ func sessionMergeRecord(tls *libc.TLS, paOut uintptr, nCol int32, aLeft uintptr, // if( *paTwo is valid ) return *paTwo; // return *paOne; // -func sessionMergeValue(tls *libc.TLS, paOne uintptr, paTwo uintptr, pnVal uintptr) uintptr { /* sqlite3.c:211032:11: */ +func sessionMergeValue(tls *libc.TLS, paOne uintptr, paTwo uintptr, pnVal uintptr) uintptr { /* sqlite3.c:211089:11: */ var a1 uintptr = *(*uintptr)(unsafe.Pointer(paOne)) var a2 uintptr = *(*uintptr)(unsafe.Pointer(paTwo)) var pRet uintptr = uintptr(0) @@ -169586,7 +169617,7 @@ func sessionMergeValue(tls *libc.TLS, paOne uintptr, paTwo uintptr, pnVal uintpt // This function is used by changeset_concat() to merge two UPDATE changes // on the same row. -func sessionMergeUpdate(tls *libc.TLS, paOut uintptr, pTab uintptr, bPatchset int32, aOldRecord1 uintptr, aOldRecord2 uintptr, aNewRecord1 uintptr, aNewRecord2 uintptr) int32 { /* sqlite3.c:211066:12: */ +func sessionMergeUpdate(tls *libc.TLS, paOut uintptr, pTab uintptr, bPatchset int32, aOldRecord1 uintptr, aOldRecord2 uintptr, aNewRecord1 uintptr, aNewRecord2 uintptr) int32 { /* sqlite3.c:211123:12: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -169661,7 +169692,7 @@ func sessionMergeUpdate(tls *libc.TLS, paOut uintptr, pTab uintptr, bPatchset in // as the change stored in argument pChange. If so, it returns true. Otherwise // if the pre-update-hook does not affect the same row as pChange, it returns // false. -func sessionPreupdateEqual(tls *libc.TLS, pSession uintptr, pTab uintptr, pChange uintptr, op int32) int32 { /* sqlite3.c:211143:12: */ +func sessionPreupdateEqual(tls *libc.TLS, pSession uintptr, pTab uintptr, pChange uintptr, op int32) int32 { /* sqlite3.c:211200:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -169749,7 +169780,7 @@ func sessionPreupdateEqual(tls *libc.TLS, pSession uintptr, pTab uintptr, pChang // that case the hash-table does not grow, but SQLITE_OK is returned anyway. // Growing the hash table in this case is a performance optimization only, // it is not required for correct operation. -func sessionGrowHash(tls *libc.TLS, pSession uintptr, bPatchset int32, pTab uintptr) int32 { /* sqlite3.c:211222:12: */ +func sessionGrowHash(tls *libc.TLS, pSession uintptr, bPatchset int32, pTab uintptr) int32 { /* sqlite3.c:211279:12: */ if (*SessionTable)(unsafe.Pointer(pTab)).FnChange == 0 || (*SessionTable)(unsafe.Pointer(pTab)).FnEntry >= (*SessionTable)(unsafe.Pointer(pTab)).FnChange/2 { var i int32 var apNew uintptr @@ -169813,7 +169844,7 @@ func sessionGrowHash(tls *libc.TLS, pSession uintptr, bPatchset int32, pTab uint // // All returned buffers are part of the same single allocation, which must // be freed using sqlite3_free() by the caller -func sessionTableInfo(tls *libc.TLS, pSession uintptr, db uintptr, zDb uintptr, zThis uintptr, pnCol uintptr, pzTab uintptr, pazCol uintptr, pabPK uintptr) int32 { /* sqlite3.c:211288:12: */ +func sessionTableInfo(tls *libc.TLS, pSession uintptr, db uintptr, zDb uintptr, zThis uintptr, pnCol uintptr, pzTab uintptr, pazCol uintptr, pabPK uintptr) int32 { /* sqlite3.c:211345:12: */ bp := tls.Alloc(20) defer tls.Free(20) @@ -169944,7 +169975,7 @@ func sessionTableInfo(tls *libc.TLS, pSession uintptr, db uintptr, zDb uintptr, // key, sqlite3_session.rc is left set to SQLITE_OK and non-zero returned to // indicate that updates on this table should be ignored. SessionTable.abPK // is set to NULL in this case. -func sessionInitTable(tls *libc.TLS, pSession uintptr, pTab uintptr) int32 { /* sqlite3.c:211421:12: */ +func sessionInitTable(tls *libc.TLS, pSession uintptr, pTab uintptr) int32 { /* sqlite3.c:211478:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -169980,15 +170011,15 @@ func sessionInitTable(tls *libc.TLS, pSession uintptr, pTab uintptr) int32 { /* type SessionStat1Ctx1 = struct { Fhook SessionHook FpSession uintptr -} /* sqlite3.c:211456:9 */ +} /* sqlite3.c:211513:9 */ // Versions of the four methods in object SessionHook for use with the // sqlite_stat1 table. The purpose of this is to substitute a zero-length // blob each time a NULL value is read from the "idx" column of the // sqlite_stat1 table. -type SessionStat1Ctx = SessionStat1Ctx1 /* sqlite3.c:211456:32 */ +type SessionStat1Ctx = SessionStat1Ctx1 /* sqlite3.c:211513:32 */ -func sessionStat1Old(tls *libc.TLS, pCtx uintptr, iCol int32, ppVal uintptr) int32 { /* sqlite3.c:211461:12: */ +func sessionStat1Old(tls *libc.TLS, pCtx uintptr, iCol int32, ppVal uintptr) int32 { /* sqlite3.c:211518:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -170004,7 +170035,7 @@ func sessionStat1Old(tls *libc.TLS, pCtx uintptr, iCol int32, ppVal uintptr) int return rc } -func sessionStat1New(tls *libc.TLS, pCtx uintptr, iCol int32, ppVal uintptr) int32 { /* sqlite3.c:211471:12: */ +func sessionStat1New(tls *libc.TLS, pCtx uintptr, iCol int32, ppVal uintptr) int32 { /* sqlite3.c:211528:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -170020,21 +170051,21 @@ func sessionStat1New(tls *libc.TLS, pCtx uintptr, iCol int32, ppVal uintptr) int return rc } -func sessionStat1Count(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:211481:12: */ +func sessionStat1Count(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:211538:12: */ var p uintptr = pCtx return (*struct { f func(*libc.TLS, uintptr) int32 })(unsafe.Pointer(&struct{ uintptr }{(*SessionStat1Ctx)(unsafe.Pointer(p)).Fhook.FxCount})).f(tls, (*SessionStat1Ctx)(unsafe.Pointer(p)).Fhook.FpCtx) } -func sessionStat1Depth(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:211485:12: */ +func sessionStat1Depth(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:211542:12: */ var p uintptr = pCtx return (*struct { f func(*libc.TLS, uintptr) int32 })(unsafe.Pointer(&struct{ uintptr }{(*SessionStat1Ctx)(unsafe.Pointer(p)).Fhook.FxDepth})).f(tls, (*SessionStat1Ctx)(unsafe.Pointer(p)).Fhook.FpCtx) } -func sessionUpdateMaxSize(tls *libc.TLS, op int32, pSession uintptr, pTab uintptr, pC uintptr) int32 { /* sqlite3.c:211490:12: */ +func sessionUpdateMaxSize(tls *libc.TLS, op int32, pSession uintptr, pTab uintptr, pC uintptr) int32 { /* sqlite3.c:211547:12: */ bp := tls.Alloc(36) defer tls.Free(36) @@ -170148,7 +170179,7 @@ func sessionUpdateMaxSize(tls *libc.TLS, op int32, pSession uintptr, pTab uintpt // // Unless one is already present or an error occurs, an entry is added // to the changed-rows hash table associated with table pTab. -func sessionPreupdateOneChange(tls *libc.TLS, op int32, pSession uintptr, pTab uintptr) { /* sqlite3.c:211596:13: */ +func sessionPreupdateOneChange(tls *libc.TLS, op int32, pSession uintptr, pTab uintptr) { /* sqlite3.c:211653:13: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -170444,7 +170475,7 @@ __35: __36: } -func sessionFindTable(tls *libc.TLS, pSession uintptr, zName uintptr, ppTab uintptr) int32 { /* sqlite3.c:211745:12: */ +func sessionFindTable(tls *libc.TLS, pSession uintptr, zName uintptr, ppTab uintptr) int32 { /* sqlite3.c:211802:12: */ var rc int32 = SQLITE_OK var nName int32 = Xsqlite3Strlen30(tls, zName) var pRet uintptr @@ -170479,7 +170510,7 @@ func sessionFindTable(tls *libc.TLS, pSession uintptr, zName uintptr, ppTab uint } // The 'pre-update' hook registered by this module with SQLite databases. -func xPreUpdate(tls *libc.TLS, pCtx uintptr, db uintptr, op int32, zDb uintptr, zName uintptr, iKey1 Sqlite3_int64, iKey2 Sqlite3_int64) { /* sqlite3.c:211785:13: */ +func xPreUpdate(tls *libc.TLS, pCtx uintptr, db uintptr, op int32, zDb uintptr, zName uintptr, iKey1 Sqlite3_int64, iKey2 Sqlite3_int64) { /* sqlite3.c:211842:13: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -170514,25 +170545,25 @@ func xPreUpdate(tls *libc.TLS, pCtx uintptr, db uintptr, op int32, zDb uintptr, } // The pre-update hook implementations. -func sessionPreupdateOld(tls *libc.TLS, pCtx uintptr, iVal int32, ppVal uintptr) int32 { /* sqlite3.c:211823:12: */ +func sessionPreupdateOld(tls *libc.TLS, pCtx uintptr, iVal int32, ppVal uintptr) int32 { /* sqlite3.c:211880:12: */ return Xsqlite3_preupdate_old(tls, pCtx, iVal, ppVal) } -func sessionPreupdateNew(tls *libc.TLS, pCtx uintptr, iVal int32, ppVal uintptr) int32 { /* sqlite3.c:211826:12: */ +func sessionPreupdateNew(tls *libc.TLS, pCtx uintptr, iVal int32, ppVal uintptr) int32 { /* sqlite3.c:211883:12: */ return Xsqlite3_preupdate_new(tls, pCtx, iVal, ppVal) } -func sessionPreupdateCount(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:211829:12: */ +func sessionPreupdateCount(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:211886:12: */ return Xsqlite3_preupdate_count(tls, pCtx) } -func sessionPreupdateDepth(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:211832:12: */ +func sessionPreupdateDepth(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:211889:12: */ return Xsqlite3_preupdate_depth(tls, pCtx) } // Install the pre-update hooks on the session object passed as the only // argument. -func sessionPreupdateHooks(tls *libc.TLS, pSession uintptr) { /* sqlite3.c:211840:13: */ +func sessionPreupdateHooks(tls *libc.TLS, pSession uintptr) { /* sqlite3.c:211897:13: */ (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx = (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FxOld = *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) int32 @@ -170551,24 +170582,24 @@ func sessionPreupdateHooks(tls *libc.TLS, pSession uintptr) { /* sqlite3.c:21184 type SessionDiffCtx1 = struct { FpStmt uintptr FnOldOff int32 -} /* sqlite3.c:211850:9 */ +} /* sqlite3.c:211907:9 */ -type SessionDiffCtx = SessionDiffCtx1 /* sqlite3.c:211850:31 */ +type SessionDiffCtx = SessionDiffCtx1 /* sqlite3.c:211907:31 */ // The diff hook implementations. -func sessionDiffOld(tls *libc.TLS, pCtx uintptr, iVal int32, ppVal uintptr) int32 { /* sqlite3.c:211859:12: */ +func sessionDiffOld(tls *libc.TLS, pCtx uintptr, iVal int32, ppVal uintptr) int32 { /* sqlite3.c:211916:12: */ var p uintptr = pCtx *(*uintptr)(unsafe.Pointer(ppVal)) = Xsqlite3_column_value(tls, (*SessionDiffCtx)(unsafe.Pointer(p)).FpStmt, iVal+(*SessionDiffCtx)(unsafe.Pointer(p)).FnOldOff) return SQLITE_OK } -func sessionDiffNew(tls *libc.TLS, pCtx uintptr, iVal int32, ppVal uintptr) int32 { /* sqlite3.c:211864:12: */ +func sessionDiffNew(tls *libc.TLS, pCtx uintptr, iVal int32, ppVal uintptr) int32 { /* sqlite3.c:211921:12: */ var p uintptr = pCtx *(*uintptr)(unsafe.Pointer(ppVal)) = Xsqlite3_column_value(tls, (*SessionDiffCtx)(unsafe.Pointer(p)).FpStmt, iVal) return SQLITE_OK } -func sessionDiffCount(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:211869:12: */ +func sessionDiffCount(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:211926:12: */ var p uintptr = pCtx if (*SessionDiffCtx)(unsafe.Pointer(p)).FnOldOff != 0 { return (*SessionDiffCtx)(unsafe.Pointer(p)).FnOldOff @@ -170576,13 +170607,13 @@ func sessionDiffCount(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:211869:1 return Xsqlite3_column_count(tls, (*SessionDiffCtx)(unsafe.Pointer(p)).FpStmt) } -func sessionDiffDepth(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:211873:12: */ +func sessionDiffDepth(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:211930:12: */ return 0 } // Install the diff hooks on the session object passed as the only // argument. -func sessionDiffHooks(tls *libc.TLS, pSession uintptr, pDiffCtx uintptr) { /* sqlite3.c:211881:13: */ +func sessionDiffHooks(tls *libc.TLS, pSession uintptr, pDiffCtx uintptr) { /* sqlite3.c:211938:13: */ (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx = pDiffCtx (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FxOld = *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) int32 @@ -170598,7 +170629,7 @@ func sessionDiffHooks(tls *libc.TLS, pSession uintptr, pDiffCtx uintptr) { /* sq }{sessionDiffDepth})) } -func sessionExprComparePK(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uintptr, zTab uintptr, azCol uintptr, abPK uintptr) uintptr { /* sqlite3.c:211892:13: */ +func sessionExprComparePK(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uintptr, zTab uintptr, azCol uintptr, abPK uintptr) uintptr { /* sqlite3.c:211949:13: */ bp := tls.Alloc(64) defer tls.Free(64) @@ -170620,7 +170651,7 @@ func sessionExprComparePK(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uintptr, return zRet } -func sessionExprCompareOther(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uintptr, zTab uintptr, azCol uintptr, abPK uintptr) uintptr { /* sqlite3.c:211915:13: */ +func sessionExprCompareOther(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uintptr, zTab uintptr, azCol uintptr, abPK uintptr) uintptr { /* sqlite3.c:211972:13: */ bp := tls.Alloc(64) defer tls.Free(64) @@ -170650,7 +170681,7 @@ func sessionExprCompareOther(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uintp return zRet } -func sessionSelectFindNew(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uintptr, zTbl uintptr, zExpr uintptr) uintptr { /* sqlite3.c:211946:13: */ +func sessionSelectFindNew(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uintptr, zTbl uintptr, zExpr uintptr) uintptr { /* sqlite3.c:212003:13: */ bp := tls.Alloc(40) defer tls.Free(40) @@ -170661,7 +170692,7 @@ func sessionSelectFindNew(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uintptr, return zRet } -func sessionDiffFindNew(tls *libc.TLS, op int32, pSession uintptr, pTab uintptr, zDb1 uintptr, zDb2 uintptr, zExpr uintptr) int32 { /* sqlite3.c:211962:12: */ +func sessionDiffFindNew(tls *libc.TLS, op int32, pSession uintptr, pTab uintptr, zDb1 uintptr, zDb2 uintptr, zExpr uintptr) int32 { /* sqlite3.c:212019:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -170689,7 +170720,7 @@ func sessionDiffFindNew(tls *libc.TLS, op int32, pSession uintptr, pTab uintptr, return rc } -func sessionDiffFindModified(tls *libc.TLS, pSession uintptr, pTab uintptr, zFrom uintptr, zExpr uintptr) int32 { /* sqlite3.c:211993:12: */ +func sessionDiffFindModified(tls *libc.TLS, pSession uintptr, pTab uintptr, zFrom uintptr, zExpr uintptr) int32 { /* sqlite3.c:212050:12: */ bp := tls.Alloc(52) defer tls.Free(52) @@ -170726,7 +170757,7 @@ func sessionDiffFindModified(tls *libc.TLS, pSession uintptr, pTab uintptr, zFro return rc } -func Xsqlite3session_diff(tls *libc.TLS, pSession uintptr, zFrom uintptr, zTbl uintptr, pzErrMsg uintptr) int32 { /* sqlite3.c:212033:16: */ +func Xsqlite3session_diff(tls *libc.TLS, pSession uintptr, zFrom uintptr, zTbl uintptr, pzErrMsg uintptr) int32 { /* sqlite3.c:212090:16: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -170899,7 +170930,7 @@ diff_out: // Create a session object. This session object will record changes to // database zDb attached to connection db. -func Xsqlite3session_create(tls *libc.TLS, db uintptr, zDb uintptr, ppSession uintptr) int32 { /* sqlite3.c:212128:16: */ +func Xsqlite3session_create(tls *libc.TLS, db uintptr, zDb uintptr, ppSession uintptr) int32 { /* sqlite3.c:212185:16: */ var pNew uintptr // Newly allocated session object var pOld uintptr // Session object already attached to db var nDb int32 = Xsqlite3Strlen30(tls, zDb) // Length of zDb in bytes @@ -170935,7 +170966,7 @@ func Xsqlite3session_create(tls *libc.TLS, db uintptr, zDb uintptr, ppSession ui // Free the list of table objects passed as the first argument. The contents // of the changed-rows hash tables are also deleted. -func sessionDeleteTable(tls *libc.TLS, pSession uintptr, pList uintptr) { /* sqlite3.c:212166:13: */ +func sessionDeleteTable(tls *libc.TLS, pSession uintptr, pList uintptr) { /* sqlite3.c:212223:13: */ var pNext uintptr var pTab uintptr @@ -170957,7 +170988,7 @@ func sessionDeleteTable(tls *libc.TLS, pSession uintptr, pList uintptr) { /* sql } // Delete a session object previously allocated using sqlite3session_create(). -func Xsqlite3session_delete(tls *libc.TLS, pSession uintptr) { /* sqlite3.c:212190:17: */ +func Xsqlite3session_delete(tls *libc.TLS, pSession uintptr) { /* sqlite3.c:212247:17: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -170995,7 +171026,7 @@ func Xsqlite3session_delete(tls *libc.TLS, pSession uintptr) { /* sqlite3.c:2121 } // Set a table filter on a Session Object. -func Xsqlite3session_table_filter(tls *libc.TLS, pSession uintptr, xFilter uintptr, pCtx uintptr) { /* sqlite3.c:212222:17: */ +func Xsqlite3session_table_filter(tls *libc.TLS, pSession uintptr, xFilter uintptr, pCtx uintptr) { /* sqlite3.c:212279:17: */ (*Sqlite3_session)(unsafe.Pointer(pSession)).FbAutoAttach = 1 (*Sqlite3_session)(unsafe.Pointer(pSession)).FpFilterCtx = pCtx (*Sqlite3_session)(unsafe.Pointer(pSession)).FxTableFilter = xFilter @@ -171007,7 +171038,7 @@ func Xsqlite3session_table_filter(tls *libc.TLS, pSession uintptr, xFilter uintp // Only tables that have a PRIMARY KEY defined may be attached. It does // not matter if the PRIMARY KEY is an "INTEGER PRIMARY KEY" (rowid alias) // or not. -func Xsqlite3session_attach(tls *libc.TLS, pSession uintptr, zName uintptr) int32 { /* sqlite3.c:212240:16: */ +func Xsqlite3session_attach(tls *libc.TLS, pSession uintptr, zName uintptr) int32 { /* sqlite3.c:212297:16: */ var rc int32 = SQLITE_OK Xsqlite3_mutex_enter(tls, Xsqlite3_db_mutex(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb)) @@ -171058,7 +171089,7 @@ func Xsqlite3session_attach(tls *libc.TLS, pSession uintptr, zName uintptr) int3 // // If successful, return zero. Otherwise, if an OOM condition is encountered, // set *pRc to SQLITE_NOMEM and return non-zero. -func sessionBufferGrow(tls *libc.TLS, p uintptr, nByte I64, pRc uintptr) int32 { /* sqlite3.c:212293:12: */ +func sessionBufferGrow(tls *libc.TLS, p uintptr, nByte I64, pRc uintptr) int32 { /* sqlite3.c:212350:12: */ var nReq I64 = I64((*SessionBuffer)(unsafe.Pointer(p)).FnBuf) + nByte if *(*int32)(unsafe.Pointer(pRc)) == SQLITE_OK && nReq > I64((*SessionBuffer)(unsafe.Pointer(p)).FnAlloc) { var aNew uintptr @@ -171103,7 +171134,7 @@ func sessionBufferGrow(tls *libc.TLS, p uintptr, nByte I64, pRc uintptr) int32 { // This function is a no-op if *pRc is non-zero when it is called. // Otherwise, if an error occurs, *pRc is set to an SQLite error code // before returning. -func sessionAppendValue(tls *libc.TLS, p uintptr, pVal uintptr, pRc uintptr) { /* sqlite3.c:212336:13: */ +func sessionAppendValue(tls *libc.TLS, p uintptr, pVal uintptr, pRc uintptr) { /* sqlite3.c:212393:13: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -171126,7 +171157,7 @@ func sessionAppendValue(tls *libc.TLS, p uintptr, pVal uintptr, pRc uintptr) { / // // If an OOM condition is encountered, set *pRc to SQLITE_NOMEM before // returning. -func sessionAppendByte(tls *libc.TLS, p uintptr, v U8, pRc uintptr) { /* sqlite3.c:212358:13: */ +func sessionAppendByte(tls *libc.TLS, p uintptr, v U8, pRc uintptr) { /* sqlite3.c:212415:13: */ if 0 == sessionBufferGrow(tls, p, int64(1), pRc) { *(*U8)(unsafe.Pointer((*SessionBuffer)(unsafe.Pointer(p)).FaBuf + uintptr(libc.PostIncInt32(&(*SessionBuffer)(unsafe.Pointer(p)).FnBuf, 1)))) = v } @@ -171137,7 +171168,7 @@ func sessionAppendByte(tls *libc.TLS, p uintptr, v U8, pRc uintptr) { /* sqlite3 // // If an OOM condition is encountered, set *pRc to SQLITE_NOMEM before // returning. -func sessionAppendVarint(tls *libc.TLS, p uintptr, v int32, pRc uintptr) { /* sqlite3.c:212371:13: */ +func sessionAppendVarint(tls *libc.TLS, p uintptr, v int32, pRc uintptr) { /* sqlite3.c:212428:13: */ if 0 == sessionBufferGrow(tls, p, int64(9), pRc) { *(*int32)(unsafe.Pointer(p + 4)) += sessionVarintPut(tls, (*SessionBuffer)(unsafe.Pointer(p)).FaBuf+uintptr((*SessionBuffer)(unsafe.Pointer(p)).FnBuf), v) } @@ -171148,7 +171179,7 @@ func sessionAppendVarint(tls *libc.TLS, p uintptr, v int32, pRc uintptr) { /* sq // // If an OOM condition is encountered, set *pRc to SQLITE_NOMEM before // returning. -func sessionAppendBlob(tls *libc.TLS, p uintptr, aBlob uintptr, nBlob int32, pRc uintptr) { /* sqlite3.c:212384:13: */ +func sessionAppendBlob(tls *libc.TLS, p uintptr, aBlob uintptr, nBlob int32, pRc uintptr) { /* sqlite3.c:212441:13: */ if nBlob > 0 && 0 == sessionBufferGrow(tls, p, int64(nBlob), pRc) { libc.Xmemcpy(tls, (*SessionBuffer)(unsafe.Pointer(p)).FaBuf+uintptr((*SessionBuffer)(unsafe.Pointer(p)).FnBuf), aBlob, uint32(nBlob)) *(*int32)(unsafe.Pointer(p + 4)) += nBlob @@ -171161,7 +171192,7 @@ func sessionAppendBlob(tls *libc.TLS, p uintptr, aBlob uintptr, nBlob int32, pRc // // If an OOM condition is encountered, set *pRc to SQLITE_NOMEM before // returning. -func sessionAppendStr(tls *libc.TLS, p uintptr, zStr uintptr, pRc uintptr) { /* sqlite3.c:212404:13: */ +func sessionAppendStr(tls *libc.TLS, p uintptr, zStr uintptr, pRc uintptr) { /* sqlite3.c:212461:13: */ var nStr int32 = Xsqlite3Strlen30(tls, zStr) if 0 == sessionBufferGrow(tls, p, int64(nStr), pRc) { libc.Xmemcpy(tls, (*SessionBuffer)(unsafe.Pointer(p)).FaBuf+uintptr((*SessionBuffer)(unsafe.Pointer(p)).FnBuf), zStr, uint32(nStr)) @@ -171175,7 +171206,7 @@ func sessionAppendStr(tls *libc.TLS, p uintptr, zStr uintptr, pRc uintptr) { /* // // If an OOM condition is encountered, set *pRc to SQLITE_NOMEM before // returning. -func sessionAppendInteger(tls *libc.TLS, p uintptr, iVal int32, pRc uintptr) { /* sqlite3.c:212424:13: */ +func sessionAppendInteger(tls *libc.TLS, p uintptr, iVal int32, pRc uintptr) { /* sqlite3.c:212481:13: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -171192,7 +171223,7 @@ func sessionAppendInteger(tls *libc.TLS, p uintptr, iVal int32, pRc uintptr) { / // // If an OOM condition is encountered, set *pRc to SQLITE_NOMEM before // returning. -func sessionAppendIdent(tls *libc.TLS, p uintptr, zStr uintptr, pRc uintptr) { /* sqlite3.c:212443:13: */ +func sessionAppendIdent(tls *libc.TLS, p uintptr, zStr uintptr, pRc uintptr) { /* sqlite3.c:212500:13: */ var nStr int32 = Xsqlite3Strlen30(tls, zStr)*2 + 2 + 1 if 0 == sessionBufferGrow(tls, p, int64(nStr), pRc) { var zOut uintptr = (*SessionBuffer)(unsafe.Pointer(p)).FaBuf + uintptr((*SessionBuffer)(unsafe.Pointer(p)).FnBuf) @@ -171213,7 +171244,7 @@ func sessionAppendIdent(tls *libc.TLS, p uintptr, zStr uintptr, pRc uintptr) { / // called. Otherwse, it appends the serialized version of the value stored // in column iCol of the row that SQL statement pStmt currently points // to to the buffer. -func sessionAppendCol(tls *libc.TLS, p uintptr, pStmt uintptr, iCol int32, pRc uintptr) { /* sqlite3.c:212468:13: */ +func sessionAppendCol(tls *libc.TLS, p uintptr, pStmt uintptr, iCol int32, pRc uintptr) { /* sqlite3.c:212525:13: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -171273,7 +171304,7 @@ func sessionAppendCol(tls *libc.TLS, p uintptr, pStmt uintptr, iCol int32, pRc u // Otherwise, the old.* record contains all primary key values and the // original values of any fields that have been modified. The new.* record // contains the new values of only those fields that have been modified. -func sessionAppendUpdate(tls *libc.TLS, pBuf uintptr, bPatchset int32, pStmt uintptr, p uintptr, abPK uintptr) int32 { /* sqlite3.c:212530:12: */ +func sessionAppendUpdate(tls *libc.TLS, pBuf uintptr, bPatchset int32, pStmt uintptr, p uintptr, abPK uintptr) int32 { /* sqlite3.c:212587:12: */ bp := tls.Alloc(36) defer tls.Free(36) @@ -171379,7 +171410,7 @@ func sessionAppendUpdate(tls *libc.TLS, pBuf uintptr, bPatchset int32, pStmt uin // Append a DELETE change to the buffer passed as the first argument. Use // the changeset format if argument bPatchset is zero, or the patchset // format otherwise. -func sessionAppendDelete(tls *libc.TLS, pBuf uintptr, bPatchset int32, p uintptr, nCol int32, abPK uintptr) int32 { /* sqlite3.c:212630:12: */ +func sessionAppendDelete(tls *libc.TLS, pBuf uintptr, bPatchset int32, p uintptr, nCol int32, abPK uintptr) int32 { /* sqlite3.c:212687:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -171436,7 +171467,7 @@ func sessionAppendDelete(tls *libc.TLS, pBuf uintptr, bPatchset int32, p uintptr // zTab in database zDb based on its primary key. i.e. // // SELECT * FROM zDb.zTab WHERE pk1 = ? AND pk2 = ? AND ... -func sessionSelectStmt(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, nCol int32, azCol uintptr, abPK uintptr, ppStmt uintptr) int32 { /* sqlite3.c:212685:12: */ +func sessionSelectStmt(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, nCol int32, azCol uintptr, abPK uintptr, ppStmt uintptr) int32 { /* sqlite3.c:212742:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -171487,7 +171518,7 @@ func sessionSelectStmt(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, nCo // // Return SQLITE_OK if all PK values are successfully bound, or an SQLite // error code (e.g. SQLITE_NOMEM) otherwise. -func sessionSelectBind(tls *libc.TLS, pSelect uintptr, nCol int32, abPK uintptr, pChange uintptr) int32 { /* sqlite3.c:212742:12: */ +func sessionSelectBind(tls *libc.TLS, pSelect uintptr, nCol int32, abPK uintptr, pChange uintptr) int32 { /* sqlite3.c:212799:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -171565,7 +171596,7 @@ func sessionSelectBind(tls *libc.TLS, pSelect uintptr, nCol int32, abPK uintptr, // is called. Otherwise, append a serialized table header (part of the binary // changeset format) to buffer *pBuf. If an error occurs, set *pRc to an // SQLite error code before returning. -func sessionAppendTableHdr(tls *libc.TLS, pBuf uintptr, bPatchset int32, pTab uintptr, pRc uintptr) { /* sqlite3.c:212813:13: */ +func sessionAppendTableHdr(tls *libc.TLS, pBuf uintptr, bPatchset int32, pTab uintptr, pRc uintptr) { /* sqlite3.c:212870:13: */ // Write a table header sessionAppendByte(tls, pBuf, func() uint8 { if bPatchset != 0 { @@ -171586,7 +171617,7 @@ func sessionAppendTableHdr(tls *libc.TLS, pBuf uintptr, bPatchset int32, pTab ui // stored in output variables *pnChangeset and *ppChangeset. Or, if an error // 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) int32 { /* sqlite3.c:212836:12: */ +func sessionGenerateChangeset(tls *libc.TLS, pSession uintptr, bPatchset int32, xOutput uintptr, pOut uintptr, pnChangeset uintptr, ppChangeset uintptr) int32 { /* sqlite3.c:212893:12: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -171716,7 +171747,7 @@ func sessionGenerateChangeset(tls *libc.TLS, pSession uintptr, bPatchset int32, // // It is the responsibility of the caller to eventually free the buffer // using sqlite3_free(). -func Xsqlite3session_changeset(tls *libc.TLS, pSession uintptr, pnChangeset uintptr, ppChangeset uintptr) int32 { /* sqlite3.c:212965:16: */ +func Xsqlite3session_changeset(tls *libc.TLS, pSession uintptr, pnChangeset uintptr, ppChangeset uintptr) int32 { /* sqlite3.c:213022:16: */ var rc int32 if pnChangeset == uintptr(0) || ppChangeset == uintptr(0) { @@ -171728,7 +171759,7 @@ func Xsqlite3session_changeset(tls *libc.TLS, pSession uintptr, pnChangeset uint } // Streaming version of sqlite3session_changeset(). -func Xsqlite3session_changeset_strm(tls *libc.TLS, pSession uintptr, xOutput uintptr, pOut uintptr) int32 { /* sqlite3.c:212983:16: */ +func Xsqlite3session_changeset_strm(tls *libc.TLS, pSession uintptr, xOutput uintptr, pOut uintptr) int32 { /* sqlite3.c:213040:16: */ if xOutput == uintptr(0) { return SQLITE_MISUSE } @@ -171736,7 +171767,7 @@ func Xsqlite3session_changeset_strm(tls *libc.TLS, pSession uintptr, xOutput uin } // Streaming version of sqlite3session_patchset(). -func Xsqlite3session_patchset_strm(tls *libc.TLS, pSession uintptr, xOutput uintptr, pOut uintptr) int32 { /* sqlite3.c:212995:16: */ +func Xsqlite3session_patchset_strm(tls *libc.TLS, pSession uintptr, xOutput uintptr, pOut uintptr) int32 { /* sqlite3.c:213052:16: */ if xOutput == uintptr(0) { return SQLITE_MISUSE } @@ -171748,7 +171779,7 @@ func Xsqlite3session_patchset_strm(tls *libc.TLS, pSession uintptr, xOutput uint // // It is the responsibility of the caller to eventually free the buffer // using sqlite3_free(). -func Xsqlite3session_patchset(tls *libc.TLS, pSession uintptr, pnPatchset uintptr, ppPatchset uintptr) int32 { /* sqlite3.c:213011:16: */ +func Xsqlite3session_patchset(tls *libc.TLS, pSession uintptr, pnPatchset uintptr, ppPatchset uintptr) int32 { /* sqlite3.c:213068:16: */ if pnPatchset == uintptr(0) || ppPatchset == uintptr(0) { return SQLITE_MISUSE } @@ -171756,7 +171787,7 @@ func Xsqlite3session_patchset(tls *libc.TLS, pSession uintptr, pnPatchset uintpt } // Enable or disable the session object passed as the first argument. -func Xsqlite3session_enable(tls *libc.TLS, pSession uintptr, bEnable int32) int32 { /* sqlite3.c:213023:16: */ +func Xsqlite3session_enable(tls *libc.TLS, pSession uintptr, bEnable int32) int32 { /* sqlite3.c:213080:16: */ var ret int32 Xsqlite3_mutex_enter(tls, Xsqlite3_db_mutex(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb)) if bEnable >= 0 { @@ -171768,7 +171799,7 @@ func Xsqlite3session_enable(tls *libc.TLS, pSession uintptr, bEnable int32) int3 } // Enable or disable the session object passed as the first argument. -func Xsqlite3session_indirect(tls *libc.TLS, pSession uintptr, bIndirect int32) int32 { /* sqlite3.c:213037:16: */ +func Xsqlite3session_indirect(tls *libc.TLS, pSession uintptr, bIndirect int32) int32 { /* sqlite3.c:213094:16: */ var ret int32 Xsqlite3_mutex_enter(tls, Xsqlite3_db_mutex(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb)) if bIndirect >= 0 { @@ -171781,7 +171812,7 @@ func Xsqlite3session_indirect(tls *libc.TLS, pSession uintptr, bIndirect int32) // Return true if there have been no changes to monitored tables recorded // by the session object passed as the only argument. -func Xsqlite3session_isempty(tls *libc.TLS, pSession uintptr) int32 { /* sqlite3.c:213052:16: */ +func Xsqlite3session_isempty(tls *libc.TLS, pSession uintptr) int32 { /* sqlite3.c:213109:16: */ var ret int32 = 0 var pTab uintptr @@ -171795,12 +171826,12 @@ func Xsqlite3session_isempty(tls *libc.TLS, pSession uintptr) int32 { /* sqlite3 } // Return the amount of heap memory in use. -func Xsqlite3session_memory_used(tls *libc.TLS, pSession uintptr) Sqlite3_int64 { /* sqlite3.c:213068:26: */ +func Xsqlite3session_memory_used(tls *libc.TLS, pSession uintptr) Sqlite3_int64 { /* sqlite3.c:213125:26: */ return (*Sqlite3_session)(unsafe.Pointer(pSession)).FnMalloc } // Configure the session object passed as the first argument. -func Xsqlite3session_object_config(tls *libc.TLS, pSession uintptr, op int32, pArg uintptr) int32 { /* sqlite3.c:213075:16: */ +func Xsqlite3session_object_config(tls *libc.TLS, pSession uintptr, op int32, pArg uintptr) int32 { /* sqlite3.c:213132:16: */ var rc int32 = SQLITE_OK switch op { case SQLITE_SESSION_OBJCONFIG_SIZE: @@ -171826,12 +171857,12 @@ func Xsqlite3session_object_config(tls *libc.TLS, pSession uintptr, op int32, pA } // Return the maximum size of sqlite3session_changeset() output. -func Xsqlite3session_changeset_size(tls *libc.TLS, pSession uintptr) Sqlite3_int64 { /* sqlite3.c:213101:26: */ +func Xsqlite3session_changeset_size(tls *libc.TLS, pSession uintptr) Sqlite3_int64 { /* sqlite3.c:213158:26: */ return (*Sqlite3_session)(unsafe.Pointer(pSession)).FnMaxChangesetSize } // 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) int32 { /* sqlite3.c:213108:12: */ +func sessionChangesetStart(tls *libc.TLS, pp uintptr, xInput uintptr, pIn uintptr, nChangeset int32, pChangeset uintptr, bInvert int32, bSkipEmpty int32) int32 { /* sqlite3.c:213165:12: */ var pRet uintptr // Iterator to return var nByte int32 // Number of bytes to allocate for iterator @@ -171864,28 +171895,28 @@ func sessionChangesetStart(tls *libc.TLS, pp uintptr, xInput uintptr, pIn uintpt } // Create an iterator used to iterate through the contents of a changeset. -func Xsqlite3changeset_start(tls *libc.TLS, pp uintptr, nChangeset int32, pChangeset uintptr) int32 { /* sqlite3.c:213146:16: */ +func Xsqlite3changeset_start(tls *libc.TLS, pp uintptr, nChangeset int32, pChangeset uintptr) int32 { /* sqlite3.c:213203:16: */ return sessionChangesetStart(tls, pp, uintptr(0), uintptr(0), nChangeset, pChangeset, 0, 0) } -func Xsqlite3changeset_start_v2(tls *libc.TLS, pp uintptr, nChangeset int32, pChangeset uintptr, flags int32) int32 { /* sqlite3.c:213153:16: */ +func Xsqlite3changeset_start_v2(tls *libc.TLS, pp uintptr, nChangeset int32, pChangeset uintptr, flags int32) int32 { /* sqlite3.c:213210:16: */ var bInvert int32 = libc.BoolInt32(!!(flags&SQLITE_CHANGESETSTART_INVERT != 0)) return sessionChangesetStart(tls, pp, uintptr(0), uintptr(0), nChangeset, pChangeset, bInvert, 0) } // Streaming version of sqlite3changeset_start(). -func Xsqlite3changeset_start_strm(tls *libc.TLS, pp uintptr, xInput uintptr, pIn uintptr) int32 { /* sqlite3.c:213166:16: */ +func Xsqlite3changeset_start_strm(tls *libc.TLS, pp uintptr, xInput uintptr, pIn uintptr) int32 { /* sqlite3.c:213223:16: */ return sessionChangesetStart(tls, pp, xInput, pIn, 0, uintptr(0), 0, 0) } -func Xsqlite3changeset_start_v2_strm(tls *libc.TLS, pp uintptr, xInput uintptr, pIn uintptr, flags int32) int32 { /* sqlite3.c:213173:16: */ +func Xsqlite3changeset_start_v2_strm(tls *libc.TLS, pp uintptr, xInput uintptr, pIn uintptr, flags int32) int32 { /* sqlite3.c:213230:16: */ var bInvert int32 = libc.BoolInt32(!!(flags&SQLITE_CHANGESETSTART_INVERT != 0)) return sessionChangesetStart(tls, pp, xInput, pIn, 0, uintptr(0), bInvert, 0) } // If the SessionInput object passed as the only argument is a streaming // object and the buffer is full, discard some data to free up space. -func sessionDiscardData(tls *libc.TLS, pIn uintptr) { /* sqlite3.c:213187:13: */ +func sessionDiscardData(tls *libc.TLS, pIn uintptr) { /* sqlite3.c:213244:13: */ if (*SessionInput)(unsafe.Pointer(pIn)).FxInput != 0 && (*SessionInput)(unsafe.Pointer(pIn)).FiNext >= sessions_strm_chunk_size { var nMove int32 = (*SessionInput)(unsafe.Pointer(pIn)).Fbuf.FnBuf - (*SessionInput)(unsafe.Pointer(pIn)).FiNext @@ -171903,7 +171934,7 @@ func sessionDiscardData(tls *libc.TLS, pIn uintptr) { /* sqlite3.c:213187:13: */ // data is in the buffer. // // Return an SQLite error code if an error occurs, or SQLITE_OK otherwise. -func sessionInputBuffer(tls *libc.TLS, pIn uintptr, nByte int32) int32 { /* sqlite3.c:213207:12: */ +func sessionInputBuffer(tls *libc.TLS, pIn uintptr, nByte int32) int32 { /* sqlite3.c:213264:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -171936,7 +171967,7 @@ func sessionInputBuffer(tls *libc.TLS, pIn uintptr, nByte int32) int32 { /* sqli // When this function is called, *ppRec points to the start of a record // that contains nCol values. This function advances the pointer *ppRec // until it points to the byte immediately following that record. -func sessionSkipRecord(tls *libc.TLS, ppRec uintptr, nCol int32) { /* sqlite3.c:213235:13: */ +func sessionSkipRecord(tls *libc.TLS, ppRec uintptr, nCol int32) { /* sqlite3.c:213292:13: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -171961,7 +171992,7 @@ func sessionSkipRecord(tls *libc.TLS, ppRec uintptr, nCol int32) { /* sqlite3.c: // first argument to a copy of the string or blob held in the aData[] // buffer. SQLITE_OK is returned if successful, or SQLITE_NOMEM if an OOM // error occurs. -func sessionValueSetStr(tls *libc.TLS, pVal uintptr, aData uintptr, nData int32, enc U8) int32 { /* sqlite3.c:213261:12: */ +func sessionValueSetStr(tls *libc.TLS, pVal uintptr, aData uintptr, nData int32, enc U8) int32 { /* sqlite3.c:213318:12: */ // In theory this code could just pass SQLITE_TRANSIENT as the final // argument to sqlite3ValueSetStr() and have the copy created // automatically. But doing so makes it difficult to detect any OOM @@ -171997,7 +172028,7 @@ func sessionValueSetStr(tls *libc.TLS, pVal uintptr, aData uintptr, nData int32, // // If an error occurs, an SQLite error code (e.g. SQLITE_NOMEM) is returned. // The apOut[] array may have been partially populated in this case. -func sessionReadRecord(tls *libc.TLS, pIn uintptr, nCol int32, abPK uintptr, apOut uintptr, pbEmpty uintptr) int32 { /* sqlite3.c:213302:12: */ +func sessionReadRecord(tls *libc.TLS, pIn uintptr, nCol int32, abPK uintptr, apOut uintptr, pbEmpty uintptr) int32 { /* sqlite3.c:213359:12: */ bp := tls.Alloc(20) defer tls.Free(20) @@ -172015,7 +172046,7 @@ func sessionReadRecord(tls *libc.TLS, pIn uintptr, nCol int32, abPK uintptr, apO rc = sessionInputBuffer(tls, pIn, 9) if rc == SQLITE_OK { if (*SessionInput)(unsafe.Pointer(pIn)).FiNext >= (*SessionInput)(unsafe.Pointer(pIn)).FnData { - rc = Xsqlite3CorruptError(tls, 213320) + rc = Xsqlite3CorruptError(tls, 213377) } else { eType = int32(*(*U8)(unsafe.Pointer((*SessionInput)(unsafe.Pointer(pIn)).FaData + uintptr(libc.PostIncInt32(&(*SessionInput)(unsafe.Pointer(pIn)).FiNext, 1))))) @@ -172040,7 +172071,7 @@ func sessionReadRecord(tls *libc.TLS, pIn uintptr, nCol int32, abPK uintptr, apO rc = sessionInputBuffer(tls, pIn, *(*int32)(unsafe.Pointer(bp /* nByte */))) if rc == SQLITE_OK { if *(*int32)(unsafe.Pointer(bp)) < 0 || *(*int32)(unsafe.Pointer(bp)) > (*SessionInput)(unsafe.Pointer(pIn)).FnData-(*SessionInput)(unsafe.Pointer(pIn)).FiNext { - rc = Xsqlite3CorruptError(tls, 213340) + rc = Xsqlite3CorruptError(tls, 213397) } else { var enc U8 = func() uint8 { if eType == SQLITE_TEXT { @@ -172082,7 +172113,7 @@ func sessionReadRecord(tls *libc.TLS, pIn uintptr, nCol int32, abPK uintptr, apO // buffer (i.e. that it can be accessed without any calls to xInput()). // If successful, SQLITE_OK is returned. Otherwise, an SQLite error code. // The input pointer is not moved. -func sessionChangesetBufferTblhdr(tls *libc.TLS, pIn uintptr, pnByte uintptr) int32 { /* sqlite3.c:213378:12: */ +func sessionChangesetBufferTblhdr(tls *libc.TLS, pIn uintptr, pnByte uintptr) int32 { /* sqlite3.c:213435:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -172101,7 +172132,7 @@ func sessionChangesetBufferTblhdr(tls *libc.TLS, pIn uintptr, pnByte uintptr) in // 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)) > 65536 { - rc = Xsqlite3CorruptError(tls, 213394) + rc = Xsqlite3CorruptError(tls, 213451) } else { rc = sessionInputBuffer(tls, pIn, nRead+*(*int32)(unsafe.Pointer(bp))+100) nRead = nRead + *(*int32)(unsafe.Pointer(bp)) @@ -172128,7 +172159,7 @@ func sessionChangesetBufferTblhdr(tls *libc.TLS, pIn uintptr, pnByte uintptr) in // If successful, SQLITE_OK is returned and *pnByte is set to the size of // the record in bytes. Otherwise, an SQLite error code is returned. The // final value of *pnByte is undefined in this case. -func sessionChangesetBufferRecord(tls *libc.TLS, pIn uintptr, nCol int32, pnByte uintptr) int32 { /* sqlite3.c:213421:12: */ +func sessionChangesetBufferRecord(tls *libc.TLS, pIn uintptr, nCol int32, pnByte uintptr) int32 { /* sqlite3.c:213478:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -172170,7 +172201,7 @@ func sessionChangesetBufferRecord(tls *libc.TLS, pIn uintptr, nCol int32, pnByte // If successful, SQLITE_OK is returned. Otherwise, an SQLite error code // is returned and the final values of the various fields enumerated above // are undefined. -func sessionChangesetReadTblhdr(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:213465:12: */ +func sessionChangesetReadTblhdr(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:213522:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -172190,7 +172221,7 @@ func sessionChangesetReadTblhdr(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:2 (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Ftblhdr.FnBuf = 0 sessionBufferGrow(tls, p+44, int64(nByte), bp+4) } else { - *(*int32)(unsafe.Pointer(bp + 4 /* rc */)) = Xsqlite3CorruptError(tls, 213482) + *(*int32)(unsafe.Pointer(bp + 4 /* rc */)) = Xsqlite3CorruptError(tls, 213539) } } @@ -172225,7 +172256,7 @@ func sessionChangesetReadTblhdr(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:2 // // * If the iterator is configured to skip no-op UPDATEs, // sessionChangesetNext() does that. This function does not. -func sessionChangesetNextOne(tls *libc.TLS, p uintptr, paRec uintptr, pnRec uintptr, pbNew uintptr, pbEmpty uintptr) int32 { /* sqlite3.c:213514:12: */ +func sessionChangesetNextOne(tls *libc.TLS, p uintptr, paRec uintptr, pnRec uintptr, pbNew uintptr, pbEmpty uintptr) int32 { /* sqlite3.c:213571:12: */ var i int32 var op U8 @@ -172282,13 +172313,13 @@ func sessionChangesetNextOne(tls *libc.TLS, p uintptr, paRec uintptr, pnRec uint // The first record in the changeset is not a table header. Must be a // corrupt changeset. - return libc.AssignPtrInt32(p+68, Xsqlite3CorruptError(tls, 213568)) + return libc.AssignPtrInt32(p+68, Xsqlite3CorruptError(tls, 213625)) } (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fop = int32(op) (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FbIndirect = int32(*(*U8)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FaData + uintptr(libc.PostIncInt32(&(*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FiNext, 1))))) if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fop != SQLITE_UPDATE && (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fop != SQLITE_DELETE && (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fop != SQLITE_INSERT { - return libc.AssignPtrInt32(p+68, Xsqlite3CorruptError(tls, 213574)) + return libc.AssignPtrInt32(p+68, Xsqlite3CorruptError(tls, 213631)) } if paRec != 0 { @@ -172358,7 +172389,7 @@ func sessionChangesetNextOne(tls *libc.TLS, p uintptr, paRec uintptr, pnRec uint *(*uintptr)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue + uintptr(i)*4)) = *(*uintptr)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue + uintptr(i+(*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol)*4)) if *(*uintptr)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue + uintptr(i)*4)) == uintptr(0) { - return libc.AssignPtrInt32(p+68, Xsqlite3CorruptError(tls, 213618)) + return libc.AssignPtrInt32(p+68, Xsqlite3CorruptError(tls, 213675)) } *(*uintptr)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue + uintptr(i+(*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol)*4)) = uintptr(0) } @@ -172389,7 +172420,7 @@ func sessionChangesetNextOne(tls *libc.TLS, p uintptr, paRec uintptr, pnRec uint // successfully advanced to the next change in the changeset, an SQLite // error code if an error occurs, or SQLITE_DONE if there are no further // changes in the changeset. -func sessionChangesetNext(tls *libc.TLS, p uintptr, paRec uintptr, pnRec uintptr, pbNew uintptr) int32 { /* sqlite3.c:213647:12: */ +func sessionChangesetNext(tls *libc.TLS, p uintptr, paRec uintptr, pnRec uintptr, pbNew uintptr) int32 { /* sqlite3.c:213704:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -172409,14 +172440,14 @@ func sessionChangesetNext(tls *libc.TLS, p uintptr, paRec uintptr, pnRec uintptr // // This function may not be called on iterators passed to a conflict handler // callback by changeset_apply(). -func Xsqlite3changeset_next(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:213670:16: */ +func Xsqlite3changeset_next(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:213727:16: */ return sessionChangesetNext(tls, p, uintptr(0), uintptr(0), uintptr(0)) } // The following function extracts information on the current change // from a changeset iterator. It may only be called after changeset_next() // has returned SQLITE_ROW. -func Xsqlite3changeset_op(tls *libc.TLS, pIter uintptr, pzTab uintptr, pnCol uintptr, pOp uintptr, pbIndirect uintptr) int32 { /* sqlite3.c:213679:16: */ +func Xsqlite3changeset_op(tls *libc.TLS, pIter uintptr, pzTab uintptr, pnCol uintptr, pOp uintptr, pbIndirect uintptr) int32 { /* sqlite3.c:213736:16: */ *(*int32)(unsafe.Pointer(pOp)) = (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fop *(*int32)(unsafe.Pointer(pnCol)) = (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol *(*uintptr)(unsafe.Pointer(pzTab)) = (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FzTab @@ -172430,7 +172461,7 @@ func Xsqlite3changeset_op(tls *libc.TLS, pIter uintptr, pzTab uintptr, pnCol uin // the database table affected by the change that pIter currently points // to. This function may only be called after changeset_next() returns // SQLITE_ROW. -func Xsqlite3changeset_pk(tls *libc.TLS, pIter uintptr, pabPK uintptr, pnCol uintptr) int32 { /* sqlite3.c:213699:16: */ +func Xsqlite3changeset_pk(tls *libc.TLS, pIter uintptr, pabPK uintptr, pnCol uintptr) int32 { /* sqlite3.c:213756:16: */ *(*uintptr)(unsafe.Pointer(pabPK)) = (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FabPK if pnCol != 0 { *(*int32)(unsafe.Pointer(pnCol)) = (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol @@ -172449,7 +172480,7 @@ func Xsqlite3changeset_pk(tls *libc.TLS, pIter uintptr, pabPK uintptr, pnCol uin // // If value iVal is out-of-range, SQLITE_RANGE is returned and *ppValue is // not modified. Otherwise, SQLITE_OK. -func Xsqlite3changeset_old(tls *libc.TLS, pIter uintptr, iVal int32, ppValue uintptr) int32 { /* sqlite3.c:213722:16: */ +func Xsqlite3changeset_old(tls *libc.TLS, pIter uintptr, iVal int32, ppValue uintptr) int32 { /* sqlite3.c:213779:16: */ if (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fop != SQLITE_UPDATE && (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fop != SQLITE_DELETE { return SQLITE_MISUSE } @@ -172471,7 +172502,7 @@ func Xsqlite3changeset_old(tls *libc.TLS, pIter uintptr, iVal int32, ppValue uin // // If value iVal is out-of-range, SQLITE_RANGE is returned and *ppValue is // not modified. Otherwise, SQLITE_OK. -func Xsqlite3changeset_new(tls *libc.TLS, pIter uintptr, iVal int32, ppValue uintptr) int32 { /* sqlite3.c:213750:16: */ +func Xsqlite3changeset_new(tls *libc.TLS, pIter uintptr, iVal int32, ppValue uintptr) int32 { /* sqlite3.c:213807:16: */ if (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fop != SQLITE_UPDATE && (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fop != SQLITE_INSERT { return SQLITE_MISUSE } @@ -172495,7 +172526,7 @@ func Xsqlite3changeset_new(tls *libc.TLS, pIter uintptr, iVal int32, ppValue uin // // If value iVal is out-of-range or some other error occurs, an SQLite error // code is returned. Otherwise, SQLITE_OK. -func Xsqlite3changeset_conflict(tls *libc.TLS, pIter uintptr, iVal int32, ppValue uintptr) int32 { /* sqlite3.c:213784:16: */ +func Xsqlite3changeset_conflict(tls *libc.TLS, pIter uintptr, iVal int32, ppValue uintptr) int32 { /* sqlite3.c:213841:16: */ if !(int32((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FpConflict) != 0) { return SQLITE_MISUSE } @@ -172512,7 +172543,7 @@ func Xsqlite3changeset_conflict(tls *libc.TLS, pIter uintptr, iVal int32, ppValu // violations in the destination database and returns SQLITE_OK. // // In all other cases this function returns SQLITE_MISUSE. -func Xsqlite3changeset_fk_conflicts(tls *libc.TLS, pIter uintptr, pnOut uintptr) int32 { /* sqlite3.c:213807:16: */ +func Xsqlite3changeset_fk_conflicts(tls *libc.TLS, pIter uintptr, pnOut uintptr) int32 { /* sqlite3.c:213864:16: */ if (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FpConflict != 0 || (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FapValue != 0 { return SQLITE_MISUSE } @@ -172524,7 +172555,7 @@ func Xsqlite3changeset_fk_conflicts(tls *libc.TLS, pIter uintptr, pnOut uintptr) // // This function may not be called on iterators passed to a conflict handler // callback by changeset_apply(). -func Xsqlite3changeset_finalize(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:213825:16: */ +func Xsqlite3changeset_finalize(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:213882:16: */ var rc int32 = SQLITE_OK if p != 0 { var i int32 // Used to iterate through p->apValue[] @@ -172541,7 +172572,7 @@ func Xsqlite3changeset_finalize(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:2 return rc } -func sessionChangesetInvert(tls *libc.TLS, pInput uintptr, xOutput uintptr, pOut uintptr, pnInverted uintptr, ppInverted uintptr) int32 { /* sqlite3.c:213840:12: */ +func sessionChangesetInvert(tls *libc.TLS, pInput uintptr, xOutput uintptr, pOut uintptr, pnInverted uintptr, ppInverted uintptr) int32 { /* sqlite3.c:213897:12: */ bp := tls.Alloc(40) defer tls.Free(40) @@ -172777,7 +172808,7 @@ __27: goto __6 __11: - *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) = Xsqlite3CorruptError(tls, 213967) + *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) = Xsqlite3CorruptError(tls, 214024) goto finished_invert __6: ; @@ -172828,7 +172859,7 @@ finished_invert: } // Invert a changeset object. -func Xsqlite3changeset_invert(tls *libc.TLS, nChangeset int32, pChangeset uintptr, pnInverted uintptr, ppInverted uintptr) int32 { /* sqlite3.c:213999:16: */ +func Xsqlite3changeset_invert(tls *libc.TLS, nChangeset int32, pChangeset uintptr, pnInverted uintptr, ppInverted uintptr) int32 { /* sqlite3.c:214056:16: */ bp := tls.Alloc(44) defer tls.Free(44) @@ -172843,7 +172874,7 @@ func Xsqlite3changeset_invert(tls *libc.TLS, nChangeset int32, pChangeset uintpt } // Streaming version of sqlite3changeset_invert(). -func Xsqlite3changeset_invert_strm(tls *libc.TLS, xInput uintptr, pIn uintptr, xOutput uintptr, pOut uintptr) int32 { /* sqlite3.c:214018:16: */ +func Xsqlite3changeset_invert_strm(tls *libc.TLS, xInput uintptr, pIn uintptr, xOutput uintptr, pOut uintptr) int32 { /* sqlite3.c:214075:16: */ bp := tls.Alloc(44) defer tls.Free(44) @@ -172865,9 +172896,9 @@ type SessionUpdate1 = struct { FpStmt uintptr FaMask uintptr FpNext uintptr -} /* sqlite3.c:214038:9 */ +} /* sqlite3.c:214095:9 */ -type SessionUpdate = SessionUpdate1 /* sqlite3.c:214038:30 */ +type SessionUpdate = SessionUpdate1 /* sqlite3.c:214095:30 */ type SessionApplyCtx1 = struct { Fdb uintptr @@ -172887,9 +172918,9 @@ type SessionApplyCtx1 = struct { FbRebaseStarted U8 FbRebase U8 F__ccgo_pad1 [2]byte -} /* sqlite3.c:214045:9 */ +} /* sqlite3.c:214102:9 */ -type SessionApplyCtx = SessionApplyCtx1 /* sqlite3.c:214045:32 */ +type SessionApplyCtx = SessionApplyCtx1 /* sqlite3.c:214102:32 */ // Number of prepared UPDATE statements to cache. @@ -172897,7 +172928,7 @@ type SessionApplyCtx = SessionApplyCtx1 /* sqlite3.c:214045:32 */ // being visited by the iterator. The UPDATE is of the form: // // UPDATE tbl SET col = ?, col2 = ? WHERE pk1 IS ? AND pk2 IS ? -func sessionUpdateFind(tls *libc.TLS, pIter uintptr, p uintptr, bPatchset int32, ppStmt uintptr) int32 { /* sqlite3.c:214074:12: */ +func sessionUpdateFind(tls *libc.TLS, pIter uintptr, p uintptr, bPatchset int32, ppStmt uintptr) int32 { /* sqlite3.c:214131:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -173031,7 +173062,7 @@ func sessionUpdateFind(tls *libc.TLS, pIter uintptr, p uintptr, bPatchset int32, } // Free all cached UPDATE statements. -func sessionUpdateFree(tls *libc.TLS, p uintptr) { /* sqlite3.c:214213:13: */ +func sessionUpdateFree(tls *libc.TLS, p uintptr) { /* sqlite3.c:214270:13: */ var pUp uintptr var pNext uintptr for pUp = (*SessionApplyCtx)(unsafe.Pointer(p)).FpUp; pUp != 0; pUp = pNext { @@ -173059,7 +173090,7 @@ func sessionUpdateFree(tls *libc.TLS, p uintptr) { /* sqlite3.c:214213:13: */ // // If successful, SQLITE_OK is returned and SessionApplyCtx.pDelete is left // pointing to the prepared version of the SQL statement. -func sessionDeleteRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) int32 { /* sqlite3.c:214243:12: */ +func sessionDeleteRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) int32 { /* sqlite3.c:214300:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -173121,7 +173152,7 @@ func sessionDeleteRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) int32 // // If successful, SQLITE_OK is returned and SessionApplyCtx.pSelect is left // pointing to the prepared version of the SQL statement. -func sessionSelectRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) int32 { /* sqlite3.c:214308:12: */ +func sessionSelectRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) int32 { /* sqlite3.c:214365:12: */ return sessionSelectStmt(tls, db, ts+6332, zTab, (*SessionApplyCtx)(unsafe.Pointer(p)).FnCol, (*SessionApplyCtx)(unsafe.Pointer(p)).FazCol, (*SessionApplyCtx)(unsafe.Pointer(p)).FabPK, p+12) } @@ -173133,7 +173164,7 @@ func sessionSelectRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) int32 // // If successful, SQLITE_OK is returned and SessionApplyCtx.pInsert is left // pointing to the prepared version of the SQL statement. -func sessionInsertRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) int32 { /* sqlite3.c:214326:12: */ +func sessionInsertRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) int32 { /* sqlite3.c:214383:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -173164,7 +173195,7 @@ func sessionInsertRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) int32 return *(*int32)(unsafe.Pointer(bp + 12 /* rc */)) } -func sessionPrepare(tls *libc.TLS, db uintptr, pp uintptr, zSql uintptr) int32 { /* sqlite3.c:214356:12: */ +func sessionPrepare(tls *libc.TLS, db uintptr, pp uintptr, zSql uintptr) int32 { /* sqlite3.c:214413:12: */ return Xsqlite3_prepare_v2(tls, db, zSql, -1, pp, uintptr(0)) } @@ -173172,7 +173203,7 @@ func sessionPrepare(tls *libc.TLS, db uintptr, pp uintptr, zSql uintptr) int32 { // These are similar to those created by sessionSelectRow(), // sessionInsertRow(), sessionUpdateRow() and sessionDeleteRow() for // other tables. -func sessionStat1Sql(tls *libc.TLS, db uintptr, p uintptr) int32 { /* sqlite3.c:214366:12: */ +func sessionStat1Sql(tls *libc.TLS, db uintptr, p uintptr) int32 { /* sqlite3.c:214423:12: */ var rc int32 = sessionSelectRow(tls, db, ts+11233, p) if rc == SQLITE_OK { rc = sessionPrepare(tls, db, p+8, @@ -173189,7 +173220,7 @@ func sessionStat1Sql(tls *libc.TLS, db uintptr, p uintptr) int32 { /* sqlite3.c: // A wrapper around sqlite3_bind_value() that detects an extra problem. // See comments in the body of this function for details. -func sessionBindValue(tls *libc.TLS, pStmt uintptr, i int32, pVal uintptr) int32 { /* sqlite3.c:214389:12: */ +func sessionBindValue(tls *libc.TLS, pStmt uintptr, i int32, pVal uintptr) int32 { /* sqlite3.c:214446:12: */ var eType int32 = Xsqlite3_value_type(tls, pVal) // COVERAGE: The (pVal->z==0) branch is never true using current versions // of SQLite. If a malloc fails in an sqlite3_value_xxx() function, either @@ -173216,7 +173247,7 @@ func sessionBindValue(tls *libc.TLS, pStmt uintptr, i int32, pVal uintptr) int32 // statement. // // 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) int32 { /* sqlite3.c:214422:12: */ +func sessionBindRow(tls *libc.TLS, pIter uintptr, xValue uintptr, nCol int32, abPK uintptr, pStmt uintptr) int32 { /* sqlite3.c:214479:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -173237,7 +173268,7 @@ func sessionBindRow(tls *libc.TLS, pIter uintptr, xValue uintptr, nCol int32, ab if *(*uintptr)(unsafe.Pointer(bp)) == uintptr(0) { // The value in the changeset was "undefined". This indicates a // corrupt changeset blob. - rc = Xsqlite3CorruptError(tls, 214445) + rc = Xsqlite3CorruptError(tls, 214502) } else { rc = sessionBindValue(tls, pStmt, i+1, *(*uintptr)(unsafe.Pointer(bp /* pVal */))) } @@ -173261,7 +173292,7 @@ func sessionBindRow(tls *libc.TLS, pIter uintptr, xValue uintptr, nCol int32, ab // If the iterator currently points to an INSERT record, bind values from the // new.* record to the SELECT statement. Or, if it points to a DELETE or // UPDATE, bind values from the old.* record. -func sessionSeekToRow(tls *libc.TLS, db uintptr, pIter uintptr, abPK uintptr, pSelect uintptr) int32 { /* sqlite3.c:214471:12: */ +func sessionSeekToRow(tls *libc.TLS, db uintptr, pIter uintptr, abPK uintptr, pSelect uintptr) int32 { /* sqlite3.c:214528:12: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -173305,7 +173336,7 @@ func sessionSeekToRow(tls *libc.TLS, db uintptr, pIter uintptr, abPK uintptr, pS // of apply_v2() as the "rebase" buffer. // // Return SQLITE_OK if successful, or an SQLite error code otherwise. -func sessionRebaseAdd(tls *libc.TLS, p uintptr, eType int32, pIter uintptr) int32 { /* sqlite3.c:214506:12: */ +func sessionRebaseAdd(tls *libc.TLS, p uintptr, eType int32, pIter uintptr) int32 { /* sqlite3.c:214563:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -173377,7 +173408,7 @@ func sessionRebaseAdd(tls *libc.TLS, p uintptr, eType int32, pIter uintptr) int3 // returned. Or, if the conflict handler returns an invalid value, // 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) int32 { /* sqlite3.c:214580:12: */ +func sessionConflictHandler(tls *libc.TLS, eType int32, p uintptr, pIter uintptr, xConflict uintptr, pCtx uintptr, pbReplace uintptr) int32 { /* sqlite3.c:214637:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -173477,7 +173508,7 @@ func sessionConflictHandler(tls *libc.TLS, eType int32, p uintptr, pIter uintptr // If any conflict handler returns SQLITE_CHANGESET_ABORT, this function // 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) int32 { /* sqlite3.c:214678:12: */ +func sessionApplyOneOp(tls *libc.TLS, pIter uintptr, p uintptr, xConflict uintptr, pCtx uintptr, pbReplace uintptr, pbRetry uintptr) int32 { /* sqlite3.c:214735:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -173612,7 +173643,7 @@ func sessionApplyOneOp(tls *libc.TLS, pIter uintptr, p uintptr, xConflict uintpt // function handles the case where the conflict-handler is invoked and // 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) int32 { /* sqlite3.c:214811:12: */ +func sessionApplyOneWithRetry(tls *libc.TLS, db uintptr, pIter uintptr, pApply uintptr, xConflict uintptr, pCtx uintptr) int32 { /* sqlite3.c:214868:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -173659,7 +173690,7 @@ func sessionApplyOneWithRetry(tls *libc.TLS, db uintptr, pIter uintptr, pApply u } // 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) int32 { /* sqlite3.c:214868:12: */ +func sessionRetryConstraints(tls *libc.TLS, db uintptr, bPatchset int32, zTab uintptr, pApply uintptr, xConflict uintptr, pCtx uintptr) int32 { /* sqlite3.c:214925:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -173713,7 +173744,7 @@ func sessionRetryConstraints(tls *libc.TLS, db uintptr, bPatchset int32, zTab ui // changeset to the main database attached to handle "db". The supplied // 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) int32 { /* sqlite3.c:214924:12: */ +func sessionChangesetApply(tls *libc.TLS, db uintptr, pIter uintptr, xFilter uintptr, xConflict uintptr, pCtx uintptr, ppRebase uintptr, pnRebase uintptr, flags int32) int32 { /* sqlite3.c:214981:12: */ bp := tls.Alloc(252) defer tls.Free(252) @@ -173904,7 +173935,7 @@ func sessionChangesetApply(tls *libc.TLS, db uintptr, pIter uintptr, xFilter uin // 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) int32 { /* sqlite3.c:215122:16: */ +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) int32 { /* sqlite3.c:215179:16: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -173922,7 +173953,7 @@ func Xsqlite3changeset_apply_v2(tls *libc.TLS, db uintptr, nChangeset int32, pCh // Apply the changeset passed via pChangeset/nChangeset to the main database // 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) int32 { /* sqlite3.c:215155:16: */ +func Xsqlite3changeset_apply(tls *libc.TLS, db uintptr, nChangeset int32, pChangeset uintptr, xFilter uintptr, xConflict uintptr, pCtx uintptr) int32 { /* sqlite3.c:215212:16: */ return Xsqlite3changeset_apply_v2(tls, db, nChangeset, pChangeset, xFilter, xConflict, pCtx, uintptr(0), uintptr(0), 0) } @@ -173930,7 +173961,7 @@ func Xsqlite3changeset_apply(tls *libc.TLS, db uintptr, nChangeset int32, pChang // Apply the changeset passed via xInput/pIn to the main database // 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) int32 { /* sqlite3.c:215180:16: */ +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) int32 { /* sqlite3.c:215237:16: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -173945,7 +173976,7 @@ func Xsqlite3changeset_apply_v2_strm(tls *libc.TLS, db uintptr, xInput uintptr, return rc } -func Xsqlite3changeset_apply_strm(tls *libc.TLS, db uintptr, xInput uintptr, pIn uintptr, xFilter uintptr, xConflict uintptr, pCtx uintptr) int32 { /* sqlite3.c:215207:16: */ +func Xsqlite3changeset_apply_strm(tls *libc.TLS, db uintptr, xInput uintptr, pIn uintptr, xFilter uintptr, xConflict uintptr, pCtx uintptr) int32 { /* sqlite3.c:215264:16: */ return Xsqlite3changeset_apply_v2_strm(tls, db, xInput, pIn, xFilter, xConflict, pCtx, uintptr(0), uintptr(0), 0) } @@ -173953,7 +173984,7 @@ func Xsqlite3changeset_apply_strm(tls *libc.TLS, db uintptr, xInput uintptr, pIn // This function is called to merge two changes to the same row together as // part of an sqlite3changeset_concat() operation. A new change object is // allocated and a pointer to it stored in *ppNew. -func sessionChangeMerge(tls *libc.TLS, pTab uintptr, bRebase int32, bPatchset int32, pExist uintptr, op2 int32, bIndirect int32, aRec uintptr, nRec int32, ppNew uintptr) int32 { /* sqlite3.c:215241:12: */ +func sessionChangeMerge(tls *libc.TLS, pTab uintptr, bRebase int32, bPatchset int32, pExist uintptr, op2 int32, bIndirect int32, aRec uintptr, nRec int32, ppNew uintptr) int32 { /* sqlite3.c:215298:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -174125,7 +174156,7 @@ func sessionChangeMerge(tls *libc.TLS, pTab uintptr, bRebase int32, bPatchset in // Add all changes in the changeset traversed by the iterator passed as // the first argument to the changegroup hash tables. -func sessionChangesetToHash(tls *libc.TLS, pIter uintptr, pGrp uintptr, bRebase int32) int32 { /* sqlite3.c:215423:12: */ +func sessionChangesetToHash(tls *libc.TLS, pIter uintptr, pGrp uintptr, bRebase int32) int32 { /* sqlite3.c:215480:12: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -174256,7 +174287,7 @@ func sessionChangesetToHash(tls *libc.TLS, pIter uintptr, pGrp uintptr, bRebase // If successful, SQLITE_OK is returned. Or, if an error occurs, an SQLite // 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) int32 { /* sqlite3.c:215546:12: */ +func sessionChangegroupOutput(tls *libc.TLS, pGrp uintptr, xOutput uintptr, pOut uintptr, pnOut uintptr, ppOut uintptr) int32 { /* sqlite3.c:215603:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -174310,7 +174341,7 @@ func sessionChangegroupOutput(tls *libc.TLS, pGrp uintptr, xOutput uintptr, pOut } // Allocate a new, empty, sqlite3_changegroup. -func Xsqlite3changegroup_new(tls *libc.TLS, pp uintptr) int32 { /* sqlite3.c:215597:16: */ +func Xsqlite3changegroup_new(tls *libc.TLS, pp uintptr) int32 { /* sqlite3.c:215654:16: */ var rc int32 = SQLITE_OK // Return code var p uintptr // New object p = Xsqlite3_malloc(tls, int32(unsafe.Sizeof(Sqlite3_changegroup{}))) @@ -174325,7 +174356,7 @@ func Xsqlite3changegroup_new(tls *libc.TLS, pp uintptr) int32 { /* sqlite3.c:215 // Add the changeset currently stored in buffer pData, size nData bytes, // to changeset-group p. -func Xsqlite3changegroup_add(tls *libc.TLS, pGrp uintptr, nData int32, pData uintptr) int32 { /* sqlite3.c:215614:16: */ +func Xsqlite3changegroup_add(tls *libc.TLS, pGrp uintptr, nData int32, pData uintptr) int32 { /* sqlite3.c:215671:16: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -174343,12 +174374,12 @@ func Xsqlite3changegroup_add(tls *libc.TLS, pGrp uintptr, nData int32, pData uin // Obtain a buffer containing a changeset representing the concatenation // of all changesets added to the group so far. -func Xsqlite3changegroup_output(tls *libc.TLS, pGrp uintptr, pnData uintptr, ppData uintptr) int32 { /* sqlite3.c:215630:16: */ +func Xsqlite3changegroup_output(tls *libc.TLS, pGrp uintptr, pnData uintptr, ppData uintptr) int32 { /* sqlite3.c:215687:16: */ return sessionChangegroupOutput(tls, pGrp, uintptr(0), uintptr(0), pnData, ppData) } // Streaming versions of changegroup_add(). -func Xsqlite3changegroup_add_strm(tls *libc.TLS, pGrp uintptr, xInput uintptr, pIn uintptr) int32 { /* sqlite3.c:215641:16: */ +func Xsqlite3changegroup_add_strm(tls *libc.TLS, pGrp uintptr, xInput uintptr, pIn uintptr) int32 { /* sqlite3.c:215698:16: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -174365,12 +174396,12 @@ func Xsqlite3changegroup_add_strm(tls *libc.TLS, pGrp uintptr, xInput uintptr, p } // Streaming versions of changegroup_output(). -func Xsqlite3changegroup_output_strm(tls *libc.TLS, pGrp uintptr, xOutput uintptr, pOut uintptr) int32 { /* sqlite3.c:215660:16: */ +func Xsqlite3changegroup_output_strm(tls *libc.TLS, pGrp uintptr, xOutput uintptr, pOut uintptr) int32 { /* sqlite3.c:215717:16: */ return sessionChangegroupOutput(tls, pGrp, xOutput, pOut, uintptr(0), uintptr(0)) } // Delete a changegroup object. -func Xsqlite3changegroup_delete(tls *libc.TLS, pGrp uintptr) { /* sqlite3.c:215671:17: */ +func Xsqlite3changegroup_delete(tls *libc.TLS, pGrp uintptr) { /* sqlite3.c:215728:17: */ if pGrp != 0 { sessionDeleteTable(tls, uintptr(0), (*Sqlite3_changegroup)(unsafe.Pointer(pGrp)).FpList) Xsqlite3_free(tls, pGrp) @@ -174378,7 +174409,7 @@ func Xsqlite3changegroup_delete(tls *libc.TLS, pGrp uintptr) { /* sqlite3.c:2156 } // Combine two changesets together. -func Xsqlite3changeset_concat(tls *libc.TLS, nLeft int32, pLeft uintptr, nRight int32, pRight uintptr, pnOut uintptr, ppOut uintptr) int32 { /* sqlite3.c:215681:16: */ +func Xsqlite3changeset_concat(tls *libc.TLS, nLeft int32, pLeft uintptr, nRight int32, pRight uintptr, pnOut uintptr, ppOut uintptr) int32 { /* sqlite3.c:215738:16: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -174402,7 +174433,7 @@ func Xsqlite3changeset_concat(tls *libc.TLS, nLeft int32, pLeft uintptr, nRight } // Streaming version of sqlite3changeset_concat(). -func Xsqlite3changeset_concat_strm(tls *libc.TLS, xInputA uintptr, pInA uintptr, xInputB uintptr, pInB uintptr, xOutput uintptr, pOut uintptr) int32 { /* sqlite3.c:215710:16: */ +func Xsqlite3changeset_concat_strm(tls *libc.TLS, xInputA uintptr, pInA uintptr, xInputB uintptr, pInB uintptr, xOutput uintptr, pOut uintptr) int32 { /* sqlite3.c:215767:16: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -174429,7 +174460,7 @@ func Xsqlite3changeset_concat_strm(tls *libc.TLS, xInputA uintptr, pInA uintptr, // fields in size. This function appends an nCol sessions module // record to buffer pBuf that is a copy of a1, except that for // each field that is undefined in a1[], swap in the field from a2[]. -func sessionAppendRecordMerge(tls *libc.TLS, pBuf uintptr, nCol int32, a1 uintptr, n1 int32, a2 uintptr, n2 int32, pRc uintptr) { /* sqlite3.c:215749:13: */ +func sessionAppendRecordMerge(tls *libc.TLS, pBuf uintptr, nCol int32, a1 uintptr, n1 int32, a2 uintptr, n2 int32, pRc uintptr) { /* sqlite3.c:215806:13: */ sessionBufferGrow(tls, pBuf, int64(n1+n2), pRc) if *(*int32)(unsafe.Pointer(pRc)) == SQLITE_OK { var i int32 @@ -174470,7 +174501,7 @@ func sessionAppendRecordMerge(tls *libc.TLS, pBuf uintptr, nCol int32, a1 uintpt // corresponding field in the rebase buffer is not "undefined" (0x00) // or "replaced" (0xFF), the old.* value is replaced by the value // in the rebase buffer. -func sessionAppendPartialUpdate(tls *libc.TLS, pBuf uintptr, pIter uintptr, aRec uintptr, nRec int32, aChange uintptr, nChange int32, pRc uintptr) { /* sqlite3.c:215798:13: */ +func sessionAppendPartialUpdate(tls *libc.TLS, pBuf uintptr, pIter uintptr, aRec uintptr, nRec int32, aChange uintptr, nChange int32, pRc uintptr) { /* sqlite3.c:215855:13: */ sessionBufferGrow(tls, pBuf, int64(2+nRec+nChange), pRc) if *(*int32)(unsafe.Pointer(pRc)) == SQLITE_OK { var bData int32 = 0 @@ -174532,7 +174563,7 @@ func sessionAppendPartialUpdate(tls *libc.TLS, pBuf uintptr, pIter uintptr, aRec // If an error occurs, an SQLite error code is returned. If ppOut and // 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) int32 { /* sqlite3.c:215866:12: */ +func sessionRebase(tls *libc.TLS, p uintptr, pIter uintptr, xOutput uintptr, pOut uintptr, pnOut uintptr, ppOut uintptr) int32 { /* sqlite3.c:215923:12: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -174670,7 +174701,7 @@ func sessionRebase(tls *libc.TLS, p uintptr, pIter uintptr, xOutput uintptr, pOu } // Create a new rebaser object. -func Xsqlite3rebaser_create(tls *libc.TLS, ppNew uintptr) int32 { /* sqlite3.c:215998:16: */ +func Xsqlite3rebaser_create(tls *libc.TLS, ppNew uintptr) int32 { /* sqlite3.c:216055:16: */ var rc int32 = SQLITE_OK var pNew uintptr @@ -174685,7 +174716,7 @@ func Xsqlite3rebaser_create(tls *libc.TLS, ppNew uintptr) int32 { /* sqlite3.c:2 } // Call this one or more times to configure a rebaser. -func Xsqlite3rebaser_configure(tls *libc.TLS, p uintptr, nRebase int32, pRebase uintptr) int32 { /* sqlite3.c:216015:16: */ +func Xsqlite3rebaser_configure(tls *libc.TLS, p uintptr, nRebase int32, pRebase uintptr) int32 { /* sqlite3.c:216072:16: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -174700,7 +174731,7 @@ func Xsqlite3rebaser_configure(tls *libc.TLS, p uintptr, nRebase int32, pRebase } // Rebase a changeset according to current rebaser configuration -func Xsqlite3rebaser_rebase(tls *libc.TLS, p uintptr, nIn int32, pIn uintptr, pnOut uintptr, ppOut uintptr) int32 { /* sqlite3.c:216032:16: */ +func Xsqlite3rebaser_rebase(tls *libc.TLS, p uintptr, nIn int32, pIn uintptr, pnOut uintptr, ppOut uintptr) int32 { /* sqlite3.c:216089:16: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -174716,7 +174747,7 @@ func Xsqlite3rebaser_rebase(tls *libc.TLS, p uintptr, nIn int32, pIn uintptr, pn } // 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) int32 { /* sqlite3.c:216051:16: */ +func Xsqlite3rebaser_rebase_strm(tls *libc.TLS, p uintptr, xInput uintptr, pIn uintptr, xOutput uintptr, pOut uintptr) int32 { /* sqlite3.c:216108:16: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -174732,7 +174763,7 @@ func Xsqlite3rebaser_rebase_strm(tls *libc.TLS, p uintptr, xInput uintptr, pIn u } // Destroy a rebaser object -func Xsqlite3rebaser_delete(tls *libc.TLS, p uintptr) { /* sqlite3.c:216072:17: */ +func Xsqlite3rebaser_delete(tls *libc.TLS, p uintptr) { /* sqlite3.c:216129:17: */ if p != 0 { sessionDeleteTable(tls, uintptr(0), (*Sqlite3_rebaser)(unsafe.Pointer(p)).Fgrp.FpList) Xsqlite3_free(tls, p) @@ -174740,7 +174771,7 @@ func Xsqlite3rebaser_delete(tls *libc.TLS, p uintptr) { /* sqlite3.c:216072:17: } // Global configuration -func Xsqlite3session_config(tls *libc.TLS, op int32, pArg uintptr) int32 { /* sqlite3.c:216082:16: */ +func Xsqlite3session_config(tls *libc.TLS, op int32, pArg uintptr) int32 { /* sqlite3.c:216139:16: */ var rc int32 = SQLITE_OK switch op { case SQLITE_SESSION_CONFIG_STRMSIZE: @@ -174828,7 +174859,7 @@ type Fts5Global1 = struct { FpTok uintptr FpDfltTok uintptr FpCsr uintptr -} /* sqlite3.c:216813:9 */ +} /* sqlite3.c:216870:9 */ //************* End of sqlite3session.c ************************************* //************* Begin file fts5.c ******************************************* @@ -174890,13 +174921,13 @@ type Fts5Global1 = struct { // Mark a function parameter as unused, to suppress nuisance compiler // warnings. -type Fts5Global = Fts5Global1 /* sqlite3.c:216813:27 */ +type Fts5Global = Fts5Global1 /* sqlite3.c:216870:27 */ type Fts5Colset1 = struct { FnCol int32 FaiCol [1]int32 -} /* sqlite3.c:216813:9 */ +} /* sqlite3.c:216870:9 */ -type Fts5Colset = Fts5Colset1 /* sqlite3.c:216814:27 */ +type Fts5Colset = Fts5Colset1 /* sqlite3.c:216871:27 */ // ************************************************************************* // @@ -174931,14 +174962,14 @@ type Fts5Config1 = struct { FzRank uintptr FzRankArgs uintptr FpzErrmsg uintptr -} /* sqlite3.c:216813:9 */ +} /* sqlite3.c:216870:9 */ // ************************************************************************* // // Interface to code in fts5_config.c. fts5_config.c contains contains code // to parse the arguments passed to the CREATE VIRTUAL TABLE statement. -type Fts5Config = Fts5Config1 /* sqlite3.c:216834:27 */ +type Fts5Config = Fts5Config1 /* sqlite3.c:216891:27 */ // // End of interface to code in fts5_config.c. @@ -174953,7 +174984,7 @@ type Fts5Buffer1 = struct { Fp uintptr Fn int32 FnSpace int32 -} /* sqlite3.c:216813:9 */ +} /* sqlite3.c:216870:9 */ // // End of interface to code in fts5_config.c. @@ -174964,7 +174995,7 @@ type Fts5Buffer1 = struct { // Interface to code in fts5_buffer.c. // Buffer object for the incremental building of string data. -type Fts5Buffer = Fts5Buffer1 /* sqlite3.c:216960:27 */ +type Fts5Buffer = Fts5Buffer1 /* sqlite3.c:217017:27 */ type Fts5PoslistReader1 = struct { Fa uintptr @@ -174974,19 +175005,19 @@ type Fts5PoslistReader1 = struct { FbEof U8 F__ccgo_pad1 [2]byte FiPos I64 -} /* sqlite3.c:216813:9 */ +} /* sqlite3.c:216870:9 */ -type Fts5PoslistReader = Fts5PoslistReader1 /* sqlite3.c:216996:34 */ +type Fts5PoslistReader = Fts5PoslistReader1 /* sqlite3.c:217053:34 */ -type Fts5PoslistWriter1 = struct{ FiPrev I64 } /* sqlite3.c:217015:9 */ +type Fts5PoslistWriter1 = struct{ FiPrev I64 } /* sqlite3.c:217072:9 */ -type Fts5PoslistWriter = Fts5PoslistWriter1 /* sqlite3.c:217015:34 */ +type Fts5PoslistWriter = Fts5PoslistWriter1 /* sqlite3.c:217072:34 */ // Bucket of terms object used by the integrity-check in offsets=0 mode. -type Fts5Termset1 = struct{ FapHash [512]uintptr } /* sqlite3.c:217037:9 */ +type Fts5Termset1 = struct{ FapHash [512]uintptr } /* sqlite3.c:217094:9 */ // Bucket of terms object used by the integrity-check in offsets=0 mode. -type Fts5Termset = Fts5Termset1 /* sqlite3.c:217037:28 */ +type Fts5Termset = Fts5Termset1 /* sqlite3.c:217094:28 */ // // End of interface to code in fts5_buffer.c. @@ -175016,7 +175047,7 @@ type Fts5Index1 = struct { FpDataVersion uintptr FiStructVersion I64 FpStruct uintptr -} /* sqlite3.c:216813:9 */ +} /* sqlite3.c:216870:9 */ // // End of interface to code in fts5_buffer.c. @@ -175027,16 +175058,16 @@ type Fts5Index1 = struct { // Interface to code in fts5_index.c. fts5_index.c contains contains code // to access the data stored in the %_data table. -type Fts5Index = Fts5Index1 /* sqlite3.c:217051:26 */ +type Fts5Index = Fts5Index1 /* sqlite3.c:217108:26 */ type Fts5IndexIter1 = struct { FiRowid I64 FpData uintptr FnData int32 FbEof U8 F__ccgo_pad1 [3]byte -} /* sqlite3.c:216813:9 */ +} /* sqlite3.c:216870:9 */ -type Fts5IndexIter = Fts5IndexIter1 /* sqlite3.c:217052:30 */ +type Fts5IndexIter = Fts5IndexIter1 /* sqlite3.c:217109:30 */ // // End of interface to code in fts5_varint.c. @@ -175051,7 +175082,7 @@ type Fts5Table1 = struct { Fbase Sqlite3_vtab FpConfig uintptr FpIndex uintptr -} /* sqlite3.c:217254:9 */ +} /* sqlite3.c:217311:9 */ // // End of interface to code in fts5_varint.c. @@ -175062,7 +175093,7 @@ type Fts5Table1 = struct { // Interface to code in fts5_main.c. // Virtual-table object. -type Fts5Table = Fts5Table1 /* sqlite3.c:217254:26 */ +type Fts5Table = Fts5Table1 /* sqlite3.c:217311:26 */ // // End of interface to code in fts5.c. @@ -175078,7 +175109,7 @@ type Fts5Hash1 = struct { FnSlot int32 FpScan uintptr FaSlot uintptr -} /* sqlite3.c:216813:9 */ +} /* sqlite3.c:216870:9 */ // // End of interface to code in fts5.c. @@ -175087,7 +175118,7 @@ type Fts5Hash1 = struct { // ************************************************************************* // // Interface to code in fts5_hash.c. -type Fts5Hash = Fts5Hash1 /* sqlite3.c:217280:25 */ +type Fts5Hash = Fts5Hash1 /* sqlite3.c:217337:25 */ // // End of interface to code in fts5_hash.c. @@ -175105,7 +175136,7 @@ type Fts5Storage1 = struct { FnTotalRow I64 FaTotalSize uintptr FaStmt [11]uintptr -} /* sqlite3.c:217336:9 */ +} /* sqlite3.c:217393:9 */ // // End of interface to code in fts5_hash.c. @@ -175116,7 +175147,7 @@ type Fts5Storage1 = struct { // Interface to code in fts5_storage.c. fts5_storage.c contains contains // code to access the data stored in the %_content and %_docsize tables. -type Fts5Storage = Fts5Storage1 /* sqlite3.c:217336:28 */ +type Fts5Storage = Fts5Storage1 /* sqlite3.c:217393:28 */ // // End of interface to code in fts5_storage.c. @@ -175132,7 +175163,7 @@ type Fts5Expr1 = struct { FbDesc int32 FnPhrase int32 FapExprPhrase uintptr -} /* sqlite3.c:216813:9 */ +} /* sqlite3.c:216870:9 */ // // End of interface to code in fts5_storage.c. @@ -175141,7 +175172,7 @@ type Fts5Expr1 = struct { // ************************************************************************* // // Interface to code in fts5_expr.c. -type Fts5Expr = Fts5Expr1 /* sqlite3.c:217379:25 */ +type Fts5Expr = Fts5Expr1 /* sqlite3.c:217436:25 */ type Fts5ExprNode1 = struct { FeType int32 FbEof int32 @@ -175151,9 +175182,9 @@ type Fts5ExprNode1 = struct { FpNear uintptr FnChild int32 FapChild [1]uintptr -} /* sqlite3.c:216813:9 */ +} /* sqlite3.c:216870:9 */ -type Fts5ExprNode = Fts5ExprNode1 /* sqlite3.c:217380:29 */ +type Fts5ExprNode = Fts5ExprNode1 /* sqlite3.c:217437:29 */ type Fts5Parse1 = struct { FpConfig uintptr FzErr uintptr @@ -175162,39 +175193,39 @@ type Fts5Parse1 = struct { FapPhrase uintptr FpExpr uintptr FbPhraseToAnd int32 -} /* sqlite3.c:217381:9 */ +} /* sqlite3.c:217438:9 */ -type Fts5Parse = Fts5Parse1 /* sqlite3.c:217381:26 */ +type Fts5Parse = Fts5Parse1 /* sqlite3.c:217438:26 */ type Fts5Token1 = struct { Fp uintptr Fn int32 -} /* sqlite3.c:217382:9 */ +} /* sqlite3.c:217439:9 */ -type Fts5Token = Fts5Token1 /* sqlite3.c:217382:26 */ +type Fts5Token = Fts5Token1 /* sqlite3.c:217439:26 */ type Fts5ExprPhrase1 = struct { FpNode uintptr Fposlist Fts5Buffer FnTerm int32 FaTerm [1]Fts5ExprTerm -} /* sqlite3.c:216813:9 */ +} /* sqlite3.c:216870:9 */ -type Fts5ExprPhrase = Fts5ExprPhrase1 /* sqlite3.c:217383:31 */ +type Fts5ExprPhrase = Fts5ExprPhrase1 /* sqlite3.c:217440:31 */ type Fts5ExprNearset1 = struct { FnNear int32 FpColset uintptr FnPhrase int32 FapPhrase [1]uintptr -} /* sqlite3.c:216813:9 */ +} /* sqlite3.c:216870:9 */ -type Fts5ExprNearset = Fts5ExprNearset1 /* sqlite3.c:217384:32 */ +type Fts5ExprNearset = Fts5ExprNearset1 /* sqlite3.c:217441:32 */ type Fts5PoslistPopulator1 = struct { Fwriter Fts5PoslistWriter FbOk int32 FbMiss int32 -} /* sqlite3.c:217432:9 */ +} /* sqlite3.c:217489:9 */ -type Fts5PoslistPopulator = Fts5PoslistPopulator1 /* sqlite3.c:217432:37 */ +type Fts5PoslistPopulator = Fts5PoslistPopulator1 /* sqlite3.c:217489:37 */ // // End of interface to code in fts5_unicode2.c. // @@ -175298,7 +175329,7 @@ type Fts5PoslistPopulator = Fts5PoslistPopulator1 /* sqlite3.c:217432:37 */ type Fts5YYMINORTYPE = struct { Ffts5yyinit int32 F__ccgo_pad1 [4]byte -} /* sqlite3.c:217708:3 */ +} /* sqlite3.c:217765:3 */ //************ End control #defines ****************************************** // Define the fts5yytestcase() macro to be a no-op if is not already defined @@ -175371,7 +175402,7 @@ var fts5yy_action = [105]uint8{ /* 80 */ uint8(5), uint8(3), uint8(63), uint8(5), uint8(3), uint8(62), uint8(12), uint8(2), uint8(86), uint8(13), /* 90 */ uint8(9), uint8(30), uint8(10), uint8(10), uint8(54), uint8(57), uint8(75), uint8(78), uint8(78), uint8(53), /* 100 */ uint8(57), uint8(15), uint8(82), uint8(82), uint8(71), -} /* sqlite3.c:217801:31 */ +} /* sqlite3.c:217858:31 */ var fts5yy_lookahead = [121]uint8{ /* 0 */ uint8(16), uint8(17), uint8(18), uint8(19), uint8(20), uint8(22), uint8(22), uint8(24), uint8(24), uint8(17), /* 10 */ uint8(18), uint8(19), uint8(20), uint8(7), uint8(22), uint8(9), uint8(24), uint8(17), uint8(18), uint8(19), @@ -175386,23 +175417,23 @@ var fts5yy_lookahead = [121]uint8{ /* 100 */ uint8(9), uint8(9), uint8(27), uint8(27), uint8(11), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), /* 110 */ uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), /* 120 */ uint8(27), -} /* sqlite3.c:217814:29 */ +} /* sqlite3.c:217871:29 */ var fts5yy_shift_ofst = [35]uint8{ /* 0 */ uint8(44), uint8(44), uint8(44), uint8(44), uint8(44), uint8(44), uint8(51), uint8(77), uint8(43), uint8(12), /* 10 */ uint8(14), uint8(83), uint8(82), uint8(14), uint8(23), uint8(23), uint8(31), uint8(31), uint8(71), uint8(74), /* 20 */ uint8(78), uint8(81), uint8(86), uint8(91), uint8(6), uint8(53), uint8(53), uint8(60), uint8(64), uint8(68), /* 30 */ uint8(53), uint8(87), uint8(92), uint8(53), uint8(93), -} /* sqlite3.c:217832:28 */ +} /* sqlite3.c:217889:28 */ var fts5yy_reduce_ofst = [18]int8{ /* 0 */ int8(-16), int8(-8), int8(0), int8(9), int8(17), int8(25), int8(46), int8(-17), int8(-17), int8(37), /* 10 */ int8(67), int8(4), int8(4), int8(8), int8(4), int8(20), int8(27), int8(38), -} /* sqlite3.c:217841:26 */ +} /* sqlite3.c:217898:26 */ var fts5yy_default = [35]uint8{ /* 0 */ uint8(80), uint8(80), uint8(80), uint8(80), uint8(80), uint8(80), uint8(95), uint8(80), uint8(80), uint8(105), /* 10 */ uint8(80), uint8(110), uint8(110), uint8(80), uint8(110), uint8(110), uint8(80), uint8(80), uint8(80), uint8(80), /* 20 */ uint8(80), uint8(91), uint8(80), uint8(80), uint8(80), uint8(101), uint8(100), uint8(80), uint8(80), uint8(90), /* 30 */ uint8(103), uint8(80), uint8(80), uint8(104), uint8(80), -} /* sqlite3.c:217845:31 */ +} /* sqlite3.c:217902:31 */ //********* End of lemon-generated parsing tables **************************** // The next table maps tokens (terminal symbols) into fallback tokens. @@ -175439,9 +175470,9 @@ type fts5yyStackEntry = struct { Fmajor uint8 F__ccgo_pad1 [2]byte Fminor Fts5YYMINORTYPE -} /* sqlite3.c:217888:1 */ +} /* sqlite3.c:217945:1 */ -type Fts5yyStackEntry = fts5yyStackEntry /* sqlite3.c:217895:33 */ +type Fts5yyStackEntry = fts5yyStackEntry /* sqlite3.c:217952:33 */ // The state of the parser is completely contained in an instance of // the following structure @@ -175450,9 +175481,9 @@ type fts5yyParser = struct { FpParse uintptr Ffts5yystack [100]Fts5yyStackEntry Ffts5yystackEnd uintptr -} /* sqlite3.c:217899:1 */ +} /* sqlite3.c:217956:1 */ -type Fts5yyParser = fts5yyParser /* sqlite3.c:217918:29 */ +type Fts5yyParser = fts5yyParser /* sqlite3.c:217975:29 */ // #include @@ -175462,7 +175493,7 @@ type Fts5yyParser = fts5yyParser /* sqlite3.c:217918:29 */ // grammar. // Initialize a new parser that has already been allocated. -func sqlite3Fts5ParserInit(tls *libc.TLS, fts5yypRawParser uintptr) { /* sqlite3.c:218067:13: */ +func sqlite3Fts5ParserInit(tls *libc.TLS, fts5yypRawParser uintptr) { /* sqlite3.c:218124:13: */ var fts5yypParser uintptr = fts5yypRawParser (*Fts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yytos = fts5yypParser + 8 /* &.fts5yystack */ @@ -175481,7 +175512,7 @@ func sqlite3Fts5ParserInit(tls *libc.TLS, fts5yypRawParser uintptr) { /* sqlite3 // Outputs: // A pointer to a parser. This pointer is used in subsequent calls // to sqlite3Fts5Parser and sqlite3Fts5ParserFree. -func sqlite3Fts5ParserAlloc(tls *libc.TLS, mallocProc uintptr) uintptr { /* sqlite3.c:218106:13: */ +func sqlite3Fts5ParserAlloc(tls *libc.TLS, mallocProc uintptr) uintptr { /* sqlite3.c:218163:13: */ var fts5yypParser uintptr fts5yypParser = (*struct{ f func(*libc.TLS, U64) uintptr })(unsafe.Pointer(&struct{ uintptr }{mallocProc})).f(tls, U64(unsafe.Sizeof(Fts5yyParser{}))) if fts5yypParser != 0 { @@ -175497,7 +175528,7 @@ func sqlite3Fts5ParserAlloc(tls *libc.TLS, mallocProc uintptr) uintptr { /* sqli // a pointer to the value to be deleted. The code used to do the // deletions is derived from the %destructor and/or %token_destructor // directives of the input grammar. -func fts5yy_destructor(tls *libc.TLS, fts5yypParser uintptr, fts5yymajor uint8, fts5yypminor uintptr) { /* sqlite3.c:218125:13: */ +func fts5yy_destructor(tls *libc.TLS, fts5yypParser uintptr, fts5yymajor uint8, fts5yypminor uintptr) { /* sqlite3.c:218182:13: */ var pParse uintptr = (*Fts5yyParser)(unsafe.Pointer(fts5yypParser)).FpParse _ = pParse @@ -175555,7 +175586,7 @@ func fts5yy_destructor(tls *libc.TLS, fts5yypParser uintptr, fts5yymajor uint8, // // If there is a destructor routine associated with the token which // is popped from the stack, then call it. -func fts5yy_pop_parser_stack(tls *libc.TLS, pParser uintptr) { /* sqlite3.c:218184:13: */ +func fts5yy_pop_parser_stack(tls *libc.TLS, pParser uintptr) { /* sqlite3.c:218241:13: */ var fts5yytos uintptr fts5yytos = libc.PostDecUintptr(&(*Fts5yyParser)(unsafe.Pointer(pParser)).Ffts5yytos, 12) @@ -175563,7 +175594,7 @@ func fts5yy_pop_parser_stack(tls *libc.TLS, pParser uintptr) { /* sqlite3.c:2181 } // Clear all secondary memory allocations from the parser -func sqlite3Fts5ParserFinalize(tls *libc.TLS, p uintptr) { /* sqlite3.c:218202:13: */ +func sqlite3Fts5ParserFinalize(tls *libc.TLS, p uintptr) { /* sqlite3.c:218259:13: */ var pParser uintptr = p for (*Fts5yyParser)(unsafe.Pointer(pParser)).Ffts5yytos > pParser+8 { fts5yy_pop_parser_stack(tls, pParser) @@ -175576,7 +175607,7 @@ func sqlite3Fts5ParserFinalize(tls *libc.TLS, p uintptr) { /* sqlite3.c:218202:1 // If the fts5YYPARSEFREENEVERNULL macro exists (for example because it // 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) { /* sqlite3.c:218219:13: */ +func sqlite3Fts5ParserFree(tls *libc.TLS, p uintptr, freeProc uintptr) { /* sqlite3.c:218276:13: */ if p == uintptr(0) { return } @@ -175600,7 +175631,7 @@ func sqlite3Fts5ParserFree(tls *libc.TLS, p uintptr, freeProc uintptr) { /* sqli // Find the appropriate action for a parser given the terminal // look-ahead token iLookAhead. -func fts5yy_find_shift_action(tls *libc.TLS, iLookAhead uint8, stateno uint8) uint8 { /* sqlite3.c:218282:25: */ +func fts5yy_find_shift_action(tls *libc.TLS, iLookAhead uint8, stateno uint8) uint8 { /* sqlite3.c:218339:25: */ var i int32 if int32(stateno) > Fts5YY_MAX_SHIFT { @@ -175624,7 +175655,7 @@ func fts5yy_find_shift_action(tls *libc.TLS, iLookAhead uint8, stateno uint8) ui // Find the appropriate action for a parser given the non-terminal // look-ahead token iLookAhead. -func fts5yy_find_reduce_action(tls *libc.TLS, stateno uint8, iLookAhead uint8) uint8 { /* sqlite3.c:218347:25: */ +func fts5yy_find_reduce_action(tls *libc.TLS, stateno uint8, iLookAhead uint8) uint8 { /* sqlite3.c:218404:25: */ var i int32 i = int32(fts5yy_reduce_ofst[stateno]) @@ -175635,7 +175666,7 @@ func fts5yy_find_reduce_action(tls *libc.TLS, stateno uint8, iLookAhead uint8) u } // The following routine is called if the stack overflows. -func fts5yyStackOverflow(tls *libc.TLS, fts5yypParser uintptr) { /* sqlite3.c:218376:13: */ +func fts5yyStackOverflow(tls *libc.TLS, fts5yypParser uintptr) { /* sqlite3.c:218433:13: */ var pParse uintptr = (*Fts5yyParser)(unsafe.Pointer(fts5yypParser)).FpParse for (*Fts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yytos > fts5yypParser+8 { @@ -175654,7 +175685,7 @@ func fts5yyStackOverflow(tls *libc.TLS, fts5yypParser uintptr) { /* sqlite3.c:21 // Print tracing information for a SHIFT action // Perform a shift action. -func fts5yy_shift(tls *libc.TLS, fts5yypParser uintptr, fts5yyNewState uint8, fts5yyMajor uint8, fts5yyMinor Fts5Token) { /* sqlite3.c:218419:13: */ +func fts5yy_shift(tls *libc.TLS, fts5yypParser uintptr, fts5yyNewState uint8, fts5yyMajor uint8, fts5yyMinor Fts5Token) { /* sqlite3.c:218476:13: */ var fts5yytos uintptr (*Fts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yytos += 12 if (*Fts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yytos > (*Fts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yystackEnd { @@ -175703,7 +175734,7 @@ var fts5yyRuleInfoLhs = [28]uint8{ uint8(24), // (25) phrase ::= STRING star_opt uint8(26), // (26) star_opt ::= STAR uint8(26), // (27) star_opt ::= -} /* sqlite3.c:218460:29 */ +} /* sqlite3.c:218517:29 */ // For rule J, fts5yyRuleInfoNRhs[J] contains the negative of the number // of symbols on the right-hand side of that rule. @@ -175736,7 +175767,7 @@ var fts5yyRuleInfoNRhs = [28]int8{ int8(-2), // (25) phrase ::= STRING star_opt int8(-1), // (26) star_opt ::= STAR int8(0), // (27) star_opt ::= -} /* sqlite3.c:218493:26 */ +} /* sqlite3.c:218550:26 */ // Forward Declaration @@ -175748,7 +175779,7 @@ var fts5yyRuleInfoNRhs = [28]int8{ // if the lookahead token has already been consumed. As this procedure is // only called from one place, optimizing compilers will in-line it, which // means that the extra parameters have no performance impact. -func fts5yy_reduce(tls *libc.TLS, fts5yypParser uintptr, fts5yyruleno uint32, fts5yyLookahead int32, fts5yyLookaheadToken Fts5Token) uint8 { /* sqlite3.c:218536:25: */ +func fts5yy_reduce(tls *libc.TLS, fts5yypParser uintptr, fts5yyruleno uint32, fts5yyLookahead int32, fts5yyLookaheadToken Fts5Token) uint8 { /* sqlite3.c:218593:25: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -175958,7 +175989,7 @@ func fts5yy_reduce(tls *libc.TLS, fts5yypParser uintptr, fts5yyruleno uint32, ft // The following code executes when the parse fails // The following code executes when a syntax error first occurs. -func fts5yy_syntax_error(tls *libc.TLS, fts5yypParser uintptr, fts5yymajor int32, fts5yyminor Fts5Token) { /* sqlite3.c:218754:13: */ +func fts5yy_syntax_error(tls *libc.TLS, fts5yypParser uintptr, fts5yymajor int32, fts5yyminor Fts5Token) { /* sqlite3.c:218811:13: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -175975,7 +176006,7 @@ func fts5yy_syntax_error(tls *libc.TLS, fts5yypParser uintptr, fts5yymajor int32 } // The following is executed when the parser accepts -func fts5yy_accept(tls *libc.TLS, fts5yypParser uintptr) { /* sqlite3.c:218776:13: */ +func fts5yy_accept(tls *libc.TLS, fts5yypParser uintptr) { /* sqlite3.c:218833:13: */ var pParse uintptr = (*Fts5yyParser)(unsafe.Pointer(fts5yypParser)).FpParse // Here code is inserted which will be executed whenever the @@ -176004,7 +176035,7 @@ func fts5yy_accept(tls *libc.TLS, fts5yypParser uintptr) { /* sqlite3.c:218776:1 // // Outputs: // None. -func sqlite3Fts5Parser(tls *libc.TLS, fts5yyp uintptr, fts5yymajor int32, fts5yyminor Fts5Token, pParse uintptr) { /* sqlite3.c:218817:13: */ +func sqlite3Fts5Parser(tls *libc.TLS, fts5yyp uintptr, fts5yymajor int32, fts5yyminor Fts5Token, pParse uintptr) { /* sqlite3.c:218874:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -176059,7 +176090,7 @@ func sqlite3Fts5Parser(tls *libc.TLS, fts5yyp uintptr, fts5yymajor int32, fts5yy // Return the fallback token corresponding to canonical token iToken, or // 0 if iToken has no fallback. -func sqlite3Fts5ParserFallback(tls *libc.TLS, iToken int32) int32 { /* sqlite3.c:219034:12: */ +func sqlite3Fts5ParserFallback(tls *libc.TLS, iToken int32) int32 { /* sqlite3.c:219091:12: */ _ = iToken return 0 } @@ -176121,7 +176152,7 @@ type CInstIter1 = struct { FnInst int32 FiStart int32 FiEnd int32 -} /* sqlite3.c:219080:9 */ +} /* sqlite3.c:219137:9 */ // 2014 May 31 // @@ -176172,11 +176203,11 @@ type CInstIter1 = struct { // printf("instance starts at %d, ends at %d\n", iter.iStart, iter.iEnd); // } // -type CInstIter = CInstIter1 /* sqlite3.c:219080:26 */ +type CInstIter = CInstIter1 /* sqlite3.c:219137:26 */ // Advance the iterator to the next coalesced phrase instance. Return // an SQLite error code if an error occurs, or SQLITE_OK otherwise. -func fts5CInstIterNext(tls *libc.TLS, pIter uintptr) int32 { /* sqlite3.c:219097:12: */ +func fts5CInstIterNext(tls *libc.TLS, pIter uintptr) int32 { /* sqlite3.c:219154:12: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -176219,7 +176250,7 @@ func fts5CInstIterNext(tls *libc.TLS, pIter uintptr) int32 { /* sqlite3.c:219097 // Initialize the iterator object indicated by the final parameter to // iterate through coalesced phrase instances in column iCol. -func fts5CInstIterInit(tls *libc.TLS, pApi uintptr, pFts uintptr, iCol int32, pIter uintptr) int32 { /* sqlite3.c:219128:12: */ +func fts5CInstIterInit(tls *libc.TLS, pApi uintptr, pFts uintptr, iCol int32, pIter uintptr) int32 { /* sqlite3.c:219185:12: */ var rc int32 libc.Xmemset(tls, pIter, 0, uint32(unsafe.Sizeof(CInstIter{}))) @@ -176251,12 +176282,12 @@ type HighlightContext1 = struct { FnIn int32 FiOff int32 FzOut uintptr -} /* sqlite3.c:219154:9 */ +} /* sqlite3.c:219211:9 */ // ************************************************************************ // // Start of highlight() implementation. -type HighlightContext = HighlightContext1 /* sqlite3.c:219154:33 */ +type HighlightContext = HighlightContext1 /* sqlite3.c:219211:33 */ // Append text to the HighlightContext output string - p->zOut. Argument // z points to a buffer containing n bytes of text to append. If n is @@ -176265,7 +176296,7 @@ type HighlightContext = HighlightContext1 /* sqlite3.c:219154:33 */ // If *pRc is set to any value other than SQLITE_OK when this function is // called, it is a no-op. If an error (i.e. an OOM condition) is encountered, // *pRc is set to an error code before returning. -func fts5HighlightAppend(tls *libc.TLS, pRc uintptr, p uintptr, z uintptr, n int32) { /* sqlite3.c:219177:13: */ +func fts5HighlightAppend(tls *libc.TLS, pRc uintptr, p uintptr, z uintptr, n int32) { /* sqlite3.c:219234:13: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -176281,7 +176312,7 @@ func fts5HighlightAppend(tls *libc.TLS, pRc uintptr, p uintptr, z uintptr, n int } // Tokenizer callback used by implementation of highlight() function. -func fts5HighlightCb(tls *libc.TLS, pContext uintptr, tflags int32, pToken uintptr, nToken int32, iStartOff int32, iEndOff int32) int32 { /* sqlite3.c:219192:12: */ +func fts5HighlightCb(tls *libc.TLS, pContext uintptr, tflags int32, pToken uintptr, nToken int32, iStartOff int32, iEndOff int32) int32 { /* sqlite3.c:219249:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -176336,7 +176367,7 @@ func fts5HighlightCb(tls *libc.TLS, pContext uintptr, tflags int32, pToken uintp } // Implementation of highlight() function. -func fts5HighlightFunction(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uintptr, nVal int32, apVal uintptr) { /* sqlite3.c:219246:13: */ +func fts5HighlightFunction(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uintptr, nVal int32, apVal uintptr) { /* sqlite3.c:219303:13: */ bp := tls.Alloc(68) defer tls.Free(68) @@ -176395,19 +176426,19 @@ type Fts5SFinder1 = struct { FnFirst int32 FaFirst uintptr FzDoc uintptr -} /* sqlite3.c:219295:9 */ +} /* sqlite3.c:219352:9 */ // // End of highlight() implementation. // // Context object passed to the fts5SentenceFinderCb() function. -type Fts5SFinder = Fts5SFinder1 /* sqlite3.c:219295:28 */ +type Fts5SFinder = Fts5SFinder1 /* sqlite3.c:219352:28 */ // Add an entry to the Fts5SFinder.aFirst[] array. Grow the array if // necessary. Return SQLITE_OK if successful, or SQLITE_NOMEM if an // error occurs. -func fts5SentenceFinderAdd(tls *libc.TLS, p uintptr, iAdd int32) int32 { /* sqlite3.c:219309:12: */ +func fts5SentenceFinderAdd(tls *libc.TLS, p uintptr, iAdd int32) int32 { /* sqlite3.c:219366:12: */ if (*Fts5SFinder)(unsafe.Pointer(p)).FnFirstAlloc == (*Fts5SFinder)(unsafe.Pointer(p)).FnFirst { var nNew int32 if (*Fts5SFinder)(unsafe.Pointer(p)).FnFirstAlloc != 0 { @@ -176431,7 +176462,7 @@ func fts5SentenceFinderAdd(tls *libc.TLS, p uintptr, iAdd int32) int32 { /* sqli // This function is an xTokenize() callback used by the auxiliary snippet() // function. Its job is to identify tokens that are the first in a sentence. // For each such token, an entry is added to the SFinder.aFirst[] array. -func fts5SentenceFinderCb(tls *libc.TLS, pContext uintptr, tflags int32, pToken uintptr, nToken int32, iStartOff int32, iEndOff int32) int32 { /* sqlite3.c:219328:12: */ +func fts5SentenceFinderCb(tls *libc.TLS, pContext uintptr, tflags int32, pToken uintptr, nToken int32, iStartOff int32, iEndOff int32) int32 { /* sqlite3.c:219385:12: */ var rc int32 = SQLITE_OK _ = pToken @@ -176460,7 +176491,7 @@ func fts5SentenceFinderCb(tls *libc.TLS, pContext uintptr, tflags int32, pToken return rc } -func fts5SnippetScore(tls *libc.TLS, pApi uintptr, pFts uintptr, nDocsize int32, aSeen uintptr, iCol int32, iPos int32, nToken int32, pnScore uintptr, piPos uintptr) int32 { /* sqlite3.c:219361:12: */ +func fts5SnippetScore(tls *libc.TLS, pApi uintptr, pFts uintptr, nDocsize int32, aSeen uintptr, iCol int32, iPos int32, nToken int32, pnScore uintptr, piPos uintptr) int32 { /* sqlite3.c:219418:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -176518,7 +176549,7 @@ func fts5SnippetScore(tls *libc.TLS, pApi uintptr, pFts uintptr, nDocsize int32, // Return the value in pVal interpreted as utf-8 text. Except, if pVal // contains a NULL value, return a pointer to a static string zero // bytes in length instead of a NULL pointer. -func fts5ValueToText(tls *libc.TLS, pVal uintptr) uintptr { /* sqlite3.c:219410:19: */ +func fts5ValueToText(tls *libc.TLS, pVal uintptr) uintptr { /* sqlite3.c:219467:19: */ var zRet uintptr = Xsqlite3_value_text(tls, pVal) if zRet != 0 { return zRet @@ -176527,7 +176558,7 @@ func fts5ValueToText(tls *libc.TLS, pVal uintptr) uintptr { /* sqlite3.c:219410: } // Implementation of snippet() function. -func fts5SnippetFunction(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uintptr, nVal int32, apVal uintptr) { /* sqlite3.c:219418:13: */ +func fts5SnippetFunction(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uintptr, nVal int32, apVal uintptr) { /* sqlite3.c:219475:13: */ bp := tls.Alloc(124) defer tls.Free(124) @@ -176741,17 +176772,17 @@ type Fts5Bm25Data1 = struct { Favgdl float64 FaIDF uintptr FaFreq uintptr -} /* sqlite3.c:219576:9 */ +} /* sqlite3.c:219633:9 */ //********************************************************************** // The first time the bm25() function is called for a query, an instance // of the following structure is allocated and populated. -type Fts5Bm25Data = Fts5Bm25Data1 /* sqlite3.c:219576:29 */ +type Fts5Bm25Data = Fts5Bm25Data1 /* sqlite3.c:219633:29 */ // Callback used by fts5Bm25GetData() to count the number of rows in the // table matched by each individual phrase within the query. -func fts5CountCb(tls *libc.TLS, pApi uintptr, pFts uintptr, pUserData uintptr) int32 { /* sqlite3.c:219588:12: */ +func fts5CountCb(tls *libc.TLS, pApi uintptr, pFts uintptr, pUserData uintptr) int32 { /* sqlite3.c:219645:12: */ var pn uintptr = pUserData _ = pApi _ = pFts @@ -176762,7 +176793,7 @@ func fts5CountCb(tls *libc.TLS, pApi uintptr, pFts uintptr, pUserData uintptr) i // Set *ppData to point to the Fts5Bm25Data object for the current query. // If the object has not already been allocated, allocate and populate it // now. -func fts5Bm25GetData(tls *libc.TLS, pApi uintptr, pFts uintptr, ppData uintptr) int32 { /* sqlite3.c:219604:12: */ +func fts5Bm25GetData(tls *libc.TLS, pApi uintptr, pFts uintptr, ppData uintptr) int32 { /* sqlite3.c:219661:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -176856,7 +176887,7 @@ func fts5Bm25GetData(tls *libc.TLS, pApi uintptr, pFts uintptr, ppData uintptr) } // Implementation of bm25() function. -func fts5Bm25Function(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uintptr, nVal int32, apVal uintptr) { /* sqlite3.c:219677:13: */ +func fts5Bm25Function(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uintptr, nVal int32, apVal uintptr) { /* sqlite3.c:219734:13: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -176924,7 +176955,7 @@ func fts5Bm25Function(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uintptr, n } } -func sqlite3Fts5AuxInit(tls *libc.TLS, pApi uintptr) int32 { /* sqlite3.c:219733:12: */ +func sqlite3Fts5AuxInit(tls *libc.TLS, pApi uintptr) int32 { /* sqlite3.c:219790:12: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -176960,7 +176991,7 @@ type Builtin = struct { FpUserData uintptr FxFunc Fts5_extension_function FxDestroy uintptr -} /* sqlite3.c:219734:3 */ +} /* sqlite3.c:219791:3 */ // 2014 May 31 // @@ -176975,7 +177006,7 @@ type Builtin = struct { // #include "fts5Int.h" -func sqlite3Fts5BufferSize(tls *libc.TLS, pRc uintptr, pBuf uintptr, nByte U32) int32 { /* sqlite3.c:219776:12: */ +func sqlite3Fts5BufferSize(tls *libc.TLS, pRc uintptr, pBuf uintptr, nByte U32) int32 { /* sqlite3.c:219833:12: */ if U32((*Fts5Buffer)(unsafe.Pointer(pBuf)).FnSpace) < nByte { var nNew U64 if (*Fts5Buffer)(unsafe.Pointer(pBuf)).FnSpace != 0 { @@ -177001,7 +177032,7 @@ func sqlite3Fts5BufferSize(tls *libc.TLS, pRc uintptr, pBuf uintptr, nByte U32) // Encode value iVal as an SQLite varint and append it to the buffer object // pBuf. If an OOM error occurs, set the error code in p. -func sqlite3Fts5BufferAppendVarint(tls *libc.TLS, pRc uintptr, pBuf uintptr, iVal I64) { /* sqlite3.c:219800:13: */ +func sqlite3Fts5BufferAppendVarint(tls *libc.TLS, pRc uintptr, pBuf uintptr, iVal I64) { /* sqlite3.c:219857:13: */ if func() int32 { if U32((*Fts5Buffer)(unsafe.Pointer(pBuf)).Fn)+U32(9) <= U32((*Fts5Buffer)(unsafe.Pointer(pBuf)).FnSpace) { return 0 @@ -177013,21 +177044,21 @@ func sqlite3Fts5BufferAppendVarint(tls *libc.TLS, pRc uintptr, pBuf uintptr, iVa *(*int32)(unsafe.Pointer(pBuf + 4)) += sqlite3Fts5PutVarint(tls, (*Fts5Buffer)(unsafe.Pointer(pBuf)).Fp+uintptr((*Fts5Buffer)(unsafe.Pointer(pBuf)).Fn), uint64(iVal)) } -func sqlite3Fts5Put32(tls *libc.TLS, aBuf uintptr, iVal int32) { /* sqlite3.c:219805:13: */ +func sqlite3Fts5Put32(tls *libc.TLS, aBuf uintptr, iVal int32) { /* sqlite3.c:219862:13: */ *(*U8)(unsafe.Pointer(aBuf)) = U8(iVal >> 24 & 0x00FF) *(*U8)(unsafe.Pointer(aBuf + 1)) = U8(iVal >> 16 & 0x00FF) *(*U8)(unsafe.Pointer(aBuf + 2)) = U8(iVal >> 8 & 0x00FF) *(*U8)(unsafe.Pointer(aBuf + 3)) = U8(iVal >> 0 & 0x00FF) } -func sqlite3Fts5Get32(tls *libc.TLS, aBuf uintptr) int32 { /* sqlite3.c:219812:12: */ +func sqlite3Fts5Get32(tls *libc.TLS, aBuf uintptr) int32 { /* sqlite3.c:219869:12: */ return int32(U32(*(*U8)(unsafe.Pointer(aBuf)))<<24 + U32(int32(*(*U8)(unsafe.Pointer(aBuf + 1)))<<16) + U32(int32(*(*U8)(unsafe.Pointer(aBuf + 2)))<<8) + U32(*(*U8)(unsafe.Pointer(aBuf + 3)))) } // Append buffer nData/pData to buffer pBuf. If an OOM error occurs, set // the error code in p. If an error has already occurred when this function // is called, it is a no-op. -func sqlite3Fts5BufferAppendBlob(tls *libc.TLS, pRc uintptr, pBuf uintptr, nData U32, pData uintptr) { /* sqlite3.c:219821:13: */ +func sqlite3Fts5BufferAppendBlob(tls *libc.TLS, pRc uintptr, pBuf uintptr, nData U32, pData uintptr) { /* sqlite3.c:219878:13: */ if nData != 0 { if func() int32 { if U32((*Fts5Buffer)(unsafe.Pointer(pBuf)).Fn)+nData <= U32((*Fts5Buffer)(unsafe.Pointer(pBuf)).FnSpace) { @@ -177045,7 +177076,7 @@ func sqlite3Fts5BufferAppendBlob(tls *libc.TLS, pRc uintptr, pBuf uintptr, nData // Append the nul-terminated string zStr to the buffer pBuf. This function // ensures that the byte following the buffer data is set to 0x00, even // though this byte is not included in the pBuf->n count. -func sqlite3Fts5BufferAppendString(tls *libc.TLS, pRc uintptr, pBuf uintptr, zStr uintptr) { /* sqlite3.c:219839:13: */ +func sqlite3Fts5BufferAppendString(tls *libc.TLS, pRc uintptr, pBuf uintptr, zStr uintptr) { /* sqlite3.c:219896:13: */ var nStr int32 = int32(libc.Xstrlen(tls, zStr)) sqlite3Fts5BufferAppendBlob(tls, pRc, pBuf, uint32(nStr+1), zStr) (*Fts5Buffer)(unsafe.Pointer(pBuf)).Fn-- @@ -177057,7 +177088,7 @@ func sqlite3Fts5BufferAppendString(tls *libc.TLS, pRc uintptr, pBuf uintptr, zSt // Like sqlite3Fts5BufferAppendString(), this function ensures that the byte // following the buffer data is set to 0x00, even though this byte is not // included in the pBuf->n count. -func sqlite3Fts5BufferAppendPrintf(tls *libc.TLS, pRc uintptr, pBuf uintptr, zFmt uintptr, va uintptr) { /* sqlite3.c:219857:13: */ +func sqlite3Fts5BufferAppendPrintf(tls *libc.TLS, pRc uintptr, pBuf uintptr, zFmt uintptr, va uintptr) { /* sqlite3.c:219914:13: */ if *(*int32)(unsafe.Pointer(pRc)) == SQLITE_OK { var zTmp uintptr var ap Va_list @@ -177075,7 +177106,7 @@ func sqlite3Fts5BufferAppendPrintf(tls *libc.TLS, pRc uintptr, pBuf uintptr, zFm } } -func sqlite3Fts5Mprintf(tls *libc.TLS, pRc uintptr, zFmt uintptr, va uintptr) uintptr { /* sqlite3.c:219878:13: */ +func sqlite3Fts5Mprintf(tls *libc.TLS, pRc uintptr, zFmt uintptr, va uintptr) uintptr { /* sqlite3.c:219935:13: */ var zRet uintptr = uintptr(0) if *(*int32)(unsafe.Pointer(pRc)) == SQLITE_OK { var ap Va_list @@ -177091,26 +177122,26 @@ func sqlite3Fts5Mprintf(tls *libc.TLS, pRc uintptr, zFmt uintptr, va uintptr) ui } // Free any buffer allocated by pBuf. Zero the structure before returning. -func sqlite3Fts5BufferFree(tls *libc.TLS, pBuf uintptr) { /* sqlite3.c:219896:13: */ +func sqlite3Fts5BufferFree(tls *libc.TLS, pBuf uintptr) { /* sqlite3.c:219953:13: */ Xsqlite3_free(tls, (*Fts5Buffer)(unsafe.Pointer(pBuf)).Fp) libc.Xmemset(tls, pBuf, 0, uint32(unsafe.Sizeof(Fts5Buffer{}))) } // Zero the contents of the buffer object. But do not free the associated // memory allocation. -func sqlite3Fts5BufferZero(tls *libc.TLS, pBuf uintptr) { /* sqlite3.c:219905:13: */ +func sqlite3Fts5BufferZero(tls *libc.TLS, pBuf uintptr) { /* sqlite3.c:219962:13: */ (*Fts5Buffer)(unsafe.Pointer(pBuf)).Fn = 0 } // Set the buffer to contain nData/pData. If an OOM error occurs, leave an // the error code in p. If an error has already occurred when this function // is called, it is a no-op. -func sqlite3Fts5BufferSet(tls *libc.TLS, pRc uintptr, pBuf uintptr, nData int32, pData uintptr) { /* sqlite3.c:219914:13: */ +func sqlite3Fts5BufferSet(tls *libc.TLS, pRc uintptr, pBuf uintptr, nData int32, pData uintptr) { /* sqlite3.c:219971:13: */ (*Fts5Buffer)(unsafe.Pointer(pBuf)).Fn = 0 sqlite3Fts5BufferAppendBlob(tls, pRc, pBuf, uint32(nData), pData) } -func sqlite3Fts5PoslistNext64(tls *libc.TLS, a uintptr, n int32, pi uintptr, piOff uintptr) int32 { /* sqlite3.c:219924:12: */ +func sqlite3Fts5PoslistNext64(tls *libc.TLS, a uintptr, n int32, pi uintptr, piOff uintptr) int32 { /* sqlite3.c:219981:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -177172,14 +177203,14 @@ func sqlite3Fts5PoslistNext64(tls *libc.TLS, a uintptr, n int32, pi uintptr, piO // Advance the iterator object passed as the only argument. Return true // if the iterator reaches EOF, or false otherwise. -func sqlite3Fts5PoslistReaderNext(tls *libc.TLS, pIter uintptr) int32 { /* sqlite3.c:219967:12: */ +func sqlite3Fts5PoslistReaderNext(tls *libc.TLS, pIter uintptr) int32 { /* sqlite3.c:220024:12: */ if sqlite3Fts5PoslistNext64(tls, (*Fts5PoslistReader)(unsafe.Pointer(pIter)).Fa, (*Fts5PoslistReader)(unsafe.Pointer(pIter)).Fn, pIter+8, pIter+16) != 0 { (*Fts5PoslistReader)(unsafe.Pointer(pIter)).FbEof = U8(1) } return int32((*Fts5PoslistReader)(unsafe.Pointer(pIter)).FbEof) } -func sqlite3Fts5PoslistReaderInit(tls *libc.TLS, a uintptr, n int32, pIter uintptr) int32 { /* sqlite3.c:219974:12: */ +func sqlite3Fts5PoslistReaderInit(tls *libc.TLS, a uintptr, n int32, pIter uintptr) int32 { /* sqlite3.c:220031:12: */ libc.Xmemset(tls, pIter, 0, uint32(unsafe.Sizeof(Fts5PoslistReader{}))) (*Fts5PoslistReader)(unsafe.Pointer(pIter)).Fa = a (*Fts5PoslistReader)(unsafe.Pointer(pIter)).Fn = n @@ -177191,7 +177222,7 @@ func sqlite3Fts5PoslistReaderInit(tls *libc.TLS, a uintptr, n int32, pIter uintp // pBuf, which must be already be large enough to hold the new data. // The previous position written to this list is *piPrev. *piPrev is set // to iPos before returning. -func sqlite3Fts5PoslistSafeAppend(tls *libc.TLS, pBuf uintptr, piPrev uintptr, iPos I64) { /* sqlite3.c:219991:13: */ +func sqlite3Fts5PoslistSafeAppend(tls *libc.TLS, pBuf uintptr, piPrev uintptr, iPos I64) { /* sqlite3.c:220048:13: */ if iPos >= *(*I64)(unsafe.Pointer(piPrev)) { if iPos&colmask != *(*I64)(unsafe.Pointer(piPrev))&colmask { *(*U8)(unsafe.Pointer((*Fts5Buffer)(unsafe.Pointer(pBuf)).Fp + uintptr(libc.PostIncInt32(&(*Fts5Buffer)(unsafe.Pointer(pBuf)).Fn, 1)))) = U8(1) @@ -177203,9 +177234,9 @@ func sqlite3Fts5PoslistSafeAppend(tls *libc.TLS, pBuf uintptr, piPrev uintptr, i } } -var colmask I64 = I64(int64(0x7FFFFFFF)) << 32 /* sqlite3.c:219997:22 */ +var colmask I64 = I64(int64(0x7FFFFFFF)) << 32 /* sqlite3.c:220054:22 */ -func sqlite3Fts5PoslistWriterAppend(tls *libc.TLS, pBuf uintptr, pWriter uintptr, iPos I64) int32 { /* sqlite3.c:220008:12: */ +func sqlite3Fts5PoslistWriterAppend(tls *libc.TLS, pBuf uintptr, pWriter uintptr, iPos I64) int32 { /* sqlite3.c:220065:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -177222,7 +177253,7 @@ func sqlite3Fts5PoslistWriterAppend(tls *libc.TLS, pBuf uintptr, pWriter uintptr return SQLITE_OK } -func sqlite3Fts5MallocZero(tls *libc.TLS, pRc uintptr, nByte Sqlite3_int64) uintptr { /* sqlite3.c:220019:13: */ +func sqlite3Fts5MallocZero(tls *libc.TLS, pRc uintptr, nByte Sqlite3_int64) uintptr { /* sqlite3.c:220076:13: */ var pRet uintptr = uintptr(0) if *(*int32)(unsafe.Pointer(pRc)) == SQLITE_OK { pRet = Xsqlite3_malloc64(tls, uint64(nByte)) @@ -177243,7 +177274,7 @@ func sqlite3Fts5MallocZero(tls *libc.TLS, pRc uintptr, nByte Sqlite3_int64) uint // // It is the responsibility of the caller to eventually free the returned // buffer using sqlite3_free(). If an OOM error occurs, NULL is returned. -func sqlite3Fts5Strndup(tls *libc.TLS, pRc uintptr, pIn uintptr, nIn int32) uintptr { /* sqlite3.c:220040:13: */ +func sqlite3Fts5Strndup(tls *libc.TLS, pRc uintptr, pIn uintptr, nIn int32) uintptr { /* sqlite3.c:220097:13: */ var zRet uintptr = uintptr(0) if *(*int32)(unsafe.Pointer(pRc)) == SQLITE_OK { if nIn < 0 { @@ -177268,7 +177299,7 @@ func sqlite3Fts5Strndup(tls *libc.TLS, pRc uintptr, pIn uintptr, nIn int32) uint // * The 10 integer ASCII characters. // * The underscore character "_" (0x5F). // * The unicode "subsitute" character (0x1A). -func sqlite3Fts5IsBareword(tls *libc.TLS, t int8) int32 { /* sqlite3.c:220068:12: */ +func sqlite3Fts5IsBareword(tls *libc.TLS, t int8) int32 { /* sqlite3.c:220125:12: */ bp := tls.Alloc(128) defer tls.Free(128) @@ -177293,13 +177324,13 @@ type Fts5TermsetEntry1 = struct { FnTerm int32 FiIdx int32 FpNext uintptr -} /* sqlite3.c:217037:9 */ +} /* sqlite3.c:217094:9 */ // ************************************************************************ // -type Fts5TermsetEntry = Fts5TermsetEntry1 /* sqlite3.c:220086:33 */ +type Fts5TermsetEntry = Fts5TermsetEntry1 /* sqlite3.c:220143:33 */ -func sqlite3Fts5TermsetNew(tls *libc.TLS, pp uintptr) int32 { /* sqlite3.c:220098:12: */ +func sqlite3Fts5TermsetNew(tls *libc.TLS, pp uintptr) int32 { /* sqlite3.c:220155:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -177308,7 +177339,7 @@ func sqlite3Fts5TermsetNew(tls *libc.TLS, pp uintptr) int32 { /* sqlite3.c:22009 return *(*int32)(unsafe.Pointer(bp /* rc */)) } -func sqlite3Fts5TermsetAdd(tls *libc.TLS, p uintptr, iIdx int32, pTerm uintptr, nTerm int32, pbPresent uintptr) int32 { /* sqlite3.c:220104:12: */ +func sqlite3Fts5TermsetAdd(tls *libc.TLS, p uintptr, iIdx int32, pTerm uintptr, nTerm int32, pbPresent uintptr) int32 { /* sqlite3.c:220161:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -177354,7 +177385,7 @@ func sqlite3Fts5TermsetAdd(tls *libc.TLS, p uintptr, iIdx int32, pTerm uintptr, return *(*int32)(unsafe.Pointer(bp /* rc */)) } -func sqlite3Fts5TermsetFree(tls *libc.TLS, p uintptr) { /* sqlite3.c:220153:13: */ +func sqlite3Fts5TermsetFree(tls *libc.TLS, p uintptr) { /* sqlite3.c:220210:13: */ if p != 0 { var i U32 for i = U32(0); i < U32(int32(uint32(unsafe.Sizeof([512]uintptr{}))/uint32(unsafe.Sizeof(uintptr(0))))); i++ { @@ -177386,18 +177417,18 @@ func sqlite3Fts5TermsetFree(tls *libc.TLS, p uintptr) { /* sqlite3.c:220153:13: // Maximum allowed page size -func fts5_iswhitespace(tls *libc.TLS, x int8) int32 { /* sqlite3.c:220195:12: */ +func fts5_iswhitespace(tls *libc.TLS, x int8) int32 { /* sqlite3.c:220252:12: */ return libc.Bool32(int32(x) == ' ') } -func fts5_isopenquote(tls *libc.TLS, x int8) int32 { /* sqlite3.c:220199:12: */ +func fts5_isopenquote(tls *libc.TLS, x int8) int32 { /* sqlite3.c:220256:12: */ return libc.Bool32(int32(x) == '"' || int32(x) == '\'' || int32(x) == '[' || int32(x) == '`') } // Argument pIn points to a character that is part of a nul-terminated // string. Return a pointer to the first character following *pIn in // the string that is not a white-space character. -func fts5ConfigSkipWhitespace(tls *libc.TLS, pIn uintptr) uintptr { /* sqlite3.c:220208:19: */ +func fts5ConfigSkipWhitespace(tls *libc.TLS, pIn uintptr) uintptr { /* sqlite3.c:220265:19: */ var p uintptr = pIn if p != 0 { for fts5_iswhitespace(tls, *(*int8)(unsafe.Pointer(p))) != 0 { @@ -177410,7 +177441,7 @@ func fts5ConfigSkipWhitespace(tls *libc.TLS, pIn uintptr) uintptr { /* sqlite3.c // Argument pIn points to a character that is part of a nul-terminated // string. Return a pointer to the first character following *pIn in // the string that is not a "bareword" character. -func fts5ConfigSkipBareword(tls *libc.TLS, pIn uintptr) uintptr { /* sqlite3.c:220221:19: */ +func fts5ConfigSkipBareword(tls *libc.TLS, pIn uintptr) uintptr { /* sqlite3.c:220278:19: */ var p uintptr = pIn for sqlite3Fts5IsBareword(tls, *(*int8)(unsafe.Pointer(p))) != 0 { p++ @@ -177421,11 +177452,11 @@ func fts5ConfigSkipBareword(tls *libc.TLS, pIn uintptr) uintptr { /* sqlite3.c:2 return p } -func fts5_isdigit(tls *libc.TLS, a int8) int32 { /* sqlite3.c:220228:12: */ +func fts5_isdigit(tls *libc.TLS, a int8) int32 { /* sqlite3.c:220285:12: */ return libc.Bool32(int32(a) >= '0' && int32(a) <= '9') } -func fts5ConfigSkipLiteral(tls *libc.TLS, pIn uintptr) uintptr { /* sqlite3.c:220234:19: */ +func fts5ConfigSkipLiteral(tls *libc.TLS, pIn uintptr) uintptr { /* sqlite3.c:220291:19: */ var p uintptr = pIn switch int32(*(*int8)(unsafe.Pointer(p))) { case 'n': @@ -177514,7 +177545,7 @@ func fts5ConfigSkipLiteral(tls *libc.TLS, pIn uintptr) uintptr { /* sqlite3.c:22 // the character immediately following it. Or, if the close-quote is not // found, -1 is returned. If -1 is returned, the buffer is left in an // undefined state. -func fts5Dequote(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:220310:12: */ +func fts5Dequote(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:220367:12: */ var q int8 var iIn int32 = 1 var iOut int32 = 0 @@ -177559,7 +177590,7 @@ func fts5Dequote(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:220310:12: */ // 'xyz' becomes xyz // [pqr] becomes pqr // `mno` becomes mno -func sqlite3Fts5Dequote(tls *libc.TLS, z uintptr) { /* sqlite3.c:220355:13: */ +func sqlite3Fts5Dequote(tls *libc.TLS, z uintptr) { /* sqlite3.c:220412:13: */ var quote int8 // Quote character (if any ) quote = *(*int8)(unsafe.Pointer(z)) @@ -177571,11 +177602,11 @@ func sqlite3Fts5Dequote(tls *libc.TLS, z uintptr) { /* sqlite3.c:220355:13: */ type Fts5Enum1 = struct { FzName uintptr FeVal int32 -} /* sqlite3.c:220366:1 */ +} /* sqlite3.c:220423:1 */ -type Fts5Enum = Fts5Enum1 /* sqlite3.c:220370:25 */ +type Fts5Enum = Fts5Enum1 /* sqlite3.c:220427:25 */ -func fts5ConfigSetEnum(tls *libc.TLS, aEnum uintptr, zEnum uintptr, peVal uintptr) int32 { /* sqlite3.c:220372:12: */ +func fts5ConfigSetEnum(tls *libc.TLS, aEnum uintptr, zEnum uintptr, peVal uintptr) int32 { /* sqlite3.c:220429:12: */ var nEnum int32 = int32(libc.Xstrlen(tls, zEnum)) var i int32 var iVal int32 = -1 @@ -177603,7 +177634,7 @@ func fts5ConfigSetEnum(tls *libc.TLS, aEnum uintptr, zEnum uintptr, peVal uintpt // an error occurs, an SQLite error code is returned and an error message // may be left in *pzErr. It is the responsibility of the caller to // eventually free any such error message using sqlite3_free(). -func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCmd uintptr, zArg uintptr, pzErr uintptr) int32 { /* sqlite3.c:220401:12: */ +func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCmd uintptr, zArg uintptr, pzErr uintptr) int32 { /* sqlite3.c:220458:12: */ bp := tls.Alloc(76) defer tls.Free(76) @@ -177766,7 +177797,7 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm // Allocate an instance of the default tokenizer ("simple") at // Fts5Config.pTokenizer. Return SQLITE_OK if successful, or an SQLite error // code if an error occurs. -func fts5ConfigDefaultTokenizer(tls *libc.TLS, pGlobal uintptr, pConfig uintptr) int32 { /* sqlite3.c:220565:12: */ +func fts5ConfigDefaultTokenizer(tls *libc.TLS, pGlobal uintptr, pConfig uintptr) int32 { /* sqlite3.c:220622:12: */ return sqlite3Fts5GetTokenizer(tls, pGlobal, uintptr(0), 0, pConfig, uintptr(0)) } @@ -177784,7 +177815,7 @@ func fts5ConfigDefaultTokenizer(tls *libc.TLS, pGlobal uintptr, pConfig uintptr) // a no-op (NULL is returned). Otherwise, if an OOM occurs within this // function, *pRc is set to SQLITE_NOMEM before returning. *pRc is *not* // set if a parse error (failed to find close quote) occurs. -func fts5ConfigGobbleWord(tls *libc.TLS, pRc uintptr, zIn uintptr, pzOut uintptr, pbQuoted uintptr) uintptr { /* sqlite3.c:220585:19: */ +func fts5ConfigGobbleWord(tls *libc.TLS, pRc uintptr, zIn uintptr, pzOut uintptr, pbQuoted uintptr) uintptr { /* sqlite3.c:220642:19: */ var zRet uintptr = uintptr(0) var nIn Sqlite3_int64 = Sqlite3_int64(libc.Xstrlen(tls, zIn)) @@ -177818,7 +177849,7 @@ func fts5ConfigGobbleWord(tls *libc.TLS, pRc uintptr, zIn uintptr, pzOut uintptr return zRet } -func fts5ConfigParseColumn(tls *libc.TLS, p uintptr, zCol uintptr, zArg uintptr, pzErr uintptr) int32 { /* sqlite3.c:220625:12: */ +func fts5ConfigParseColumn(tls *libc.TLS, p uintptr, zCol uintptr, zArg uintptr, pzErr uintptr) int32 { /* sqlite3.c:220682:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -177841,7 +177872,7 @@ func fts5ConfigParseColumn(tls *libc.TLS, p uintptr, zCol uintptr, zArg uintptr, } // Populate the Fts5Config.zContentExprlist string. -func fts5ConfigMakeExprlist(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:220653:12: */ +func fts5ConfigMakeExprlist(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:220710:12: */ bp := tls.Alloc(40) defer tls.Free(40) @@ -177874,7 +177905,7 @@ func fts5ConfigMakeExprlist(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:22065 // returned, *ppOut is set to NULL and an error message may be left in // *pzErr. It is the responsibility of the caller to eventually free any // such error message using sqlite3_free(). -func sqlite3Fts5ConfigParse(tls *libc.TLS, pGlobal uintptr, db uintptr, nArg int32, azArg uintptr, ppOut uintptr, pzErr uintptr) int32 { /* sqlite3.c:220686:12: */ +func sqlite3Fts5ConfigParse(tls *libc.TLS, pGlobal uintptr, db uintptr, nArg int32, azArg uintptr, ppOut uintptr, pzErr uintptr) int32 { /* sqlite3.c:220743:12: */ bp := tls.Alloc(60) defer tls.Free(60) @@ -178007,7 +178038,7 @@ func sqlite3Fts5ConfigParse(tls *libc.TLS, pGlobal uintptr, db uintptr, nArg int } // Free the configuration object passed as the only argument. -func sqlite3Fts5ConfigFree(tls *libc.TLS, pConfig uintptr) { /* sqlite3.c:220810:13: */ +func sqlite3Fts5ConfigFree(tls *libc.TLS, pConfig uintptr) { /* sqlite3.c:220867:13: */ if pConfig != 0 { var i int32 if (*Fts5Config)(unsafe.Pointer(pConfig)).FpTok != 0 { @@ -178032,7 +178063,7 @@ func sqlite3Fts5ConfigFree(tls *libc.TLS, pConfig uintptr) { /* sqlite3.c:220810 // Call sqlite3_declare_vtab() based on the contents of the configuration // object passed as the only argument. Return SQLITE_OK if successful, or // an SQLite error code if an error occurs. -func sqlite3Fts5ConfigDeclareVtab(tls *libc.TLS, pConfig uintptr) int32 { /* sqlite3.c:220837:12: */ +func sqlite3Fts5ConfigDeclareVtab(tls *libc.TLS, pConfig uintptr) int32 { /* sqlite3.c:220894:12: */ bp := tls.Alloc(52) defer tls.Free(52) @@ -178082,7 +178113,7 @@ func sqlite3Fts5ConfigDeclareVtab(tls *libc.TLS, pConfig uintptr) int32 { /* sql // still returns SQLITE_OK. Or, if the tokenization was abandoned early // 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) int32 { /* sqlite3.c:220883:12: */ +func sqlite3Fts5Tokenize(tls *libc.TLS, pConfig uintptr, flags int32, pText uintptr, nText int32, pCtx uintptr, xToken uintptr) int32 { /* sqlite3.c:220940:12: */ if pText == uintptr(0) { return SQLITE_OK } @@ -178096,7 +178127,7 @@ func sqlite3Fts5Tokenize(tls *libc.TLS, pConfig uintptr, flags int32, pText uint // a comma-separated list of SQL literals followed by a ')' character. // If it actually is this, return a pointer to the ')'. Otherwise, return // NULL to indicate a parse error. -func fts5ConfigSkipArgs(tls *libc.TLS, pIn uintptr) uintptr { /* sqlite3.c:220902:19: */ +func fts5ConfigSkipArgs(tls *libc.TLS, pIn uintptr) uintptr { /* sqlite3.c:220959:19: */ var p uintptr = pIn for 1 != 0 { @@ -178123,7 +178154,7 @@ func fts5ConfigSkipArgs(tls *libc.TLS, pIn uintptr) uintptr { /* sqlite3.c:22090 // + Open parenthesis - "(" // + Zero or more SQL literals in a comma separated list // + Close parenthesis - ")" -func sqlite3Fts5ConfigParseRank(tls *libc.TLS, zIn uintptr, pzRank uintptr, pzRankArgs uintptr) int32 { /* sqlite3.c:220929:12: */ +func sqlite3Fts5ConfigParseRank(tls *libc.TLS, zIn uintptr, pzRank uintptr, pzRankArgs uintptr) int32 { /* sqlite3.c:220986:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -178187,7 +178218,7 @@ func sqlite3Fts5ConfigParseRank(tls *libc.TLS, zIn uintptr, pzRank uintptr, pzRa return *(*int32)(unsafe.Pointer(bp /* rc */)) } -func sqlite3Fts5ConfigSetValue(tls *libc.TLS, pConfig uintptr, zKey uintptr, pVal uintptr, pbBadkey uintptr) int32 { /* sqlite3.c:220988:12: */ +func sqlite3Fts5ConfigSetValue(tls *libc.TLS, pConfig uintptr, zKey uintptr, pVal uintptr, pbBadkey uintptr) int32 { /* sqlite3.c:221045:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -178275,7 +178306,7 @@ func sqlite3Fts5ConfigSetValue(tls *libc.TLS, pConfig uintptr, zKey uintptr, pVa } // Load the contents of the %_config table into memory. -func sqlite3Fts5ConfigLoad(tls *libc.TLS, pConfig uintptr, iCookie int32) int32 { /* sqlite3.c:221082:12: */ +func sqlite3Fts5ConfigLoad(tls *libc.TLS, pConfig uintptr, iCookie int32) int32 { /* sqlite3.c:221139:12: */ bp := tls.Alloc(44) defer tls.Free(44) @@ -178352,7 +178383,7 @@ type Fts5ExprTerm1 = struct { FzTerm uintptr FpIter uintptr FpSynonym uintptr -} /* sqlite3.c:216813:9 */ +} /* sqlite3.c:216870:9 */ // 2014 May 31 // @@ -178371,9 +178402,9 @@ type Fts5ExprTerm1 = struct { // All token types in the generated fts5parse.h file are greater than 0. -type Fts5ExprTerm = Fts5ExprTerm1 /* sqlite3.c:221160:29 */ +type Fts5ExprTerm = Fts5ExprTerm1 /* sqlite3.c:221217:29 */ -func sqlite3Fts5ParseError(tls *libc.TLS, pParse uintptr, zFmt uintptr, va uintptr) { /* sqlite3.c:221267:13: */ +func sqlite3Fts5ParseError(tls *libc.TLS, pParse uintptr, zFmt uintptr, va uintptr) { /* sqlite3.c:221324:13: */ var ap Va_list _ = ap ap = va @@ -178385,12 +178416,12 @@ func sqlite3Fts5ParseError(tls *libc.TLS, pParse uintptr, zFmt uintptr, va uintp _ = ap } -func fts5ExprIsspace(tls *libc.TLS, t int8) int32 { /* sqlite3.c:221278:12: */ +func fts5ExprIsspace(tls *libc.TLS, t int8) int32 { /* sqlite3.c:221335:12: */ return libc.Bool32(int32(t) == ' ' || int32(t) == '\t' || int32(t) == '\n' || int32(t) == '\r') } // Read the first token from the nul-terminated string at *pz. -func fts5ExprGetToken(tls *libc.TLS, pParse uintptr, pz uintptr, pToken uintptr) int32 { /* sqlite3.c:221285:12: */ +func fts5ExprGetToken(tls *libc.TLS, pParse uintptr, pz uintptr, pToken uintptr) int32 { /* sqlite3.c:221342:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -178490,15 +178521,15 @@ func fts5ExprGetToken(tls *libc.TLS, pParse uintptr, pz uintptr, pToken uintptr) return tok } -func fts5ParseAlloc(tls *libc.TLS, t U64) uintptr { /* sqlite3.c:221349:13: */ +func fts5ParseAlloc(tls *libc.TLS, t U64) uintptr { /* sqlite3.c:221406:13: */ return Xsqlite3_malloc64(tls, uint64(Sqlite3_int64(t))) } -func fts5ParseFree(tls *libc.TLS, p uintptr) { /* sqlite3.c:221350:13: */ +func fts5ParseFree(tls *libc.TLS, p uintptr) { /* sqlite3.c:221407:13: */ Xsqlite3_free(tls, p) } -func sqlite3Fts5ExprNew(tls *libc.TLS, pConfig uintptr, bPhraseToAnd int32, iCol int32, zExpr uintptr, ppNew uintptr, pzErr uintptr) int32 { /* sqlite3.c:221352:12: */ +func sqlite3Fts5ExprNew(tls *libc.TLS, pConfig uintptr, bPhraseToAnd int32, iCol int32, zExpr uintptr, ppNew uintptr, pzErr uintptr) int32 { /* sqlite3.c:221409:12: */ bp := tls.Alloc(40) defer tls.Free(40) @@ -178576,7 +178607,7 @@ func sqlite3Fts5ExprNew(tls *libc.TLS, pConfig uintptr, bPhraseToAnd int32, iCol // expression that will match a superset of the rows matched by the LIKE or // GLOB. If successful, SQLITE_OK is returned. Otherwise, an SQLite error // code. -func sqlite3Fts5ExprPattern(tls *libc.TLS, pConfig uintptr, bGlob int32, iCol int32, zText uintptr, pp uintptr) int32 { /* sqlite3.c:221433:12: */ +func sqlite3Fts5ExprPattern(tls *libc.TLS, pConfig uintptr, bGlob int32, iCol int32, zText uintptr, pp uintptr) int32 { /* sqlite3.c:221490:12: */ bp := tls.Alloc(3) defer tls.Free(3) @@ -178651,7 +178682,7 @@ func sqlite3Fts5ExprPattern(tls *libc.TLS, pConfig uintptr, bGlob int32, iCol in } // Free the expression node object passed as the only argument. -func sqlite3Fts5ParseNodeFree(tls *libc.TLS, p uintptr) { /* sqlite3.c:221503:13: */ +func sqlite3Fts5ParseNodeFree(tls *libc.TLS, p uintptr) { /* sqlite3.c:221560:13: */ if p != 0 { var i int32 for i = 0; i < (*Fts5ExprNode)(unsafe.Pointer(p)).FnChild; i++ { @@ -178663,7 +178694,7 @@ func sqlite3Fts5ParseNodeFree(tls *libc.TLS, p uintptr) { /* sqlite3.c:221503:13 } // Free the expression object passed as the only argument. -func sqlite3Fts5ExprFree(tls *libc.TLS, p uintptr) { /* sqlite3.c:221517:13: */ +func sqlite3Fts5ExprFree(tls *libc.TLS, p uintptr) { /* sqlite3.c:221574:13: */ if p != 0 { sqlite3Fts5ParseNodeFree(tls, (*Fts5Expr)(unsafe.Pointer(p)).FpRoot) Xsqlite3_free(tls, (*Fts5Expr)(unsafe.Pointer(p)).FapExprPhrase) @@ -178671,7 +178702,7 @@ func sqlite3Fts5ExprFree(tls *libc.TLS, p uintptr) { /* sqlite3.c:221517:13: */ } } -func sqlite3Fts5ExprAnd(tls *libc.TLS, pp1 uintptr, p2 uintptr) int32 { /* sqlite3.c:221525:12: */ +func sqlite3Fts5ExprAnd(tls *libc.TLS, pp1 uintptr, p2 uintptr) int32 { /* sqlite3.c:221582:12: */ bp := tls.Alloc(28) defer tls.Free(28) @@ -178712,7 +178743,7 @@ func sqlite3Fts5ExprAnd(tls *libc.TLS, pp1 uintptr, p2 uintptr) int32 { /* sqlit // Argument pTerm must be a synonym iterator. Return the current rowid // that it points to. -func fts5ExprSynonymRowid(tls *libc.TLS, pTerm uintptr, bDesc int32, pbEof uintptr) I64 { /* sqlite3.c:221565:12: */ +func fts5ExprSynonymRowid(tls *libc.TLS, pTerm uintptr, bDesc int32, pbEof uintptr) I64 { /* sqlite3.c:221622:12: */ var iRet I64 = int64(0) var bRetValid int32 = 0 var p uintptr @@ -178734,7 +178765,7 @@ func fts5ExprSynonymRowid(tls *libc.TLS, pTerm uintptr, bDesc int32, pbEof uintp } // Argument pTerm must be a synonym iterator. -func fts5ExprSynonymList(tls *libc.TLS, pTerm uintptr, iRowid I64, pBuf uintptr, pa uintptr, pn uintptr) int32 { /* sqlite3.c:221590:12: */ +func fts5ExprSynonymList(tls *libc.TLS, pTerm uintptr, iRowid I64, pBuf uintptr, pa uintptr, pn uintptr) int32 { /* sqlite3.c:221647:12: */ bp := tls.Alloc(104) defer tls.Free(104) @@ -178898,7 +178929,7 @@ __22: // SQLITE_OK is returned if an error occurs, or an SQLite error code // otherwise. It is not considered an error code if the current rowid is // not a match. -func fts5ExprPhraseIsMatch(tls *libc.TLS, pNode uintptr, pPhrase uintptr, pbMatch uintptr) int32 { /* sqlite3.c:221673:12: */ +func fts5ExprPhraseIsMatch(tls *libc.TLS, pNode uintptr, pPhrase uintptr, pbMatch uintptr) int32 { /* sqlite3.c:221730:12: */ bp := tls.Alloc(124) defer tls.Free(124) @@ -179123,11 +179154,11 @@ type Fts5LookaheadReader1 = struct { Fi int32 FiPos I64 FiLookahead I64 -} /* sqlite3.c:221757:9 */ +} /* sqlite3.c:221814:9 */ -type Fts5LookaheadReader = Fts5LookaheadReader1 /* sqlite3.c:221757:36 */ +type Fts5LookaheadReader = Fts5LookaheadReader1 /* sqlite3.c:221814:36 */ -func fts5LookaheadReaderNext(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:221768:12: */ +func fts5LookaheadReaderNext(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:221825:12: */ (*Fts5LookaheadReader)(unsafe.Pointer(p)).FiPos = (*Fts5LookaheadReader)(unsafe.Pointer(p)).FiLookahead if sqlite3Fts5PoslistNext64(tls, (*Fts5LookaheadReader)(unsafe.Pointer(p)).Fa, (*Fts5LookaheadReader)(unsafe.Pointer(p)).Fn, p+8, p+20) != 0 { (*Fts5LookaheadReader)(unsafe.Pointer(p)).FiLookahead = I64(int64(1)) << 62 @@ -179135,7 +179166,7 @@ func fts5LookaheadReaderNext(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:2217 return libc.Bool32((*Fts5LookaheadReader)(unsafe.Pointer(p)).FiPos == I64(int64(1))<<62) } -func fts5LookaheadReaderInit(tls *libc.TLS, a uintptr, n int32, p uintptr) int32 { /* sqlite3.c:221776:12: */ +func fts5LookaheadReaderInit(tls *libc.TLS, a uintptr, n int32, p uintptr) int32 { /* sqlite3.c:221833:12: */ libc.Xmemset(tls, p, 0, uint32(unsafe.Sizeof(Fts5LookaheadReader{}))) (*Fts5LookaheadReader)(unsafe.Pointer(p)).Fa = a (*Fts5LookaheadReader)(unsafe.Pointer(p)).Fn = n @@ -179147,9 +179178,9 @@ type Fts5NearTrimmer1 = struct { Freader Fts5LookaheadReader Fwriter Fts5PoslistWriter FpOut uintptr -} /* sqlite3.c:221787:9 */ +} /* sqlite3.c:221844:9 */ -type Fts5NearTrimmer = Fts5NearTrimmer1 /* sqlite3.c:221787:32 */ +type Fts5NearTrimmer = Fts5NearTrimmer1 /* sqlite3.c:221844:32 */ // The near-set object passed as the first argument contains more than // one phrase. All phrases currently point to the same row. The @@ -179166,7 +179197,7 @@ type Fts5NearTrimmer = Fts5NearTrimmer1 /* sqlite3.c:221787:32 */ // If no error occurs and non-zero (a match) is returned, the position-list // of each phrase object is edited to contain only those entries that // meet the constraint before returning. -func fts5ExprNearIsMatch(tls *libc.TLS, pRc uintptr, pNear uintptr) int32 { /* sqlite3.c:221811:12: */ +func fts5ExprNearIsMatch(tls *libc.TLS, pRc uintptr, pNear uintptr) int32 { /* sqlite3.c:221868:12: */ bp := tls.Alloc(164) defer tls.Free(164) @@ -179368,7 +179399,7 @@ __29: // If the iterator reaches EOF, set *pbEof to true before returning. If // an error occurs, set *pRc to an error code. If either *pbEof or *pRc // are set, return a non-zero value. Otherwise, return zero. -func fts5ExprAdvanceto(tls *libc.TLS, pIter uintptr, bDesc int32, piLast uintptr, pRc uintptr, pbEof uintptr) int32 { /* sqlite3.c:221910:12: */ +func fts5ExprAdvanceto(tls *libc.TLS, pIter uintptr, bDesc int32, piLast uintptr, pRc uintptr, pbEof uintptr) int32 { /* sqlite3.c:221967:12: */ var iLast I64 = *(*I64)(unsafe.Pointer(piLast)) var iRowid I64 @@ -179388,7 +179419,7 @@ func fts5ExprAdvanceto(tls *libc.TLS, pIter uintptr, bDesc int32, piLast uintptr return 0 } -func fts5ExprSynonymAdvanceto(tls *libc.TLS, pTerm uintptr, bDesc int32, piLast uintptr, pRc uintptr) int32 { /* sqlite3.c:221936:12: */ +func fts5ExprSynonymAdvanceto(tls *libc.TLS, pTerm uintptr, bDesc int32, piLast uintptr, pRc uintptr) int32 { /* sqlite3.c:221993:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -179415,7 +179446,7 @@ func fts5ExprSynonymAdvanceto(tls *libc.TLS, pTerm uintptr, bDesc int32, piLast return *(*int32)(unsafe.Pointer(bp /* bEof */)) } -func fts5ExprNearTest(tls *libc.TLS, pRc uintptr, pExpr uintptr, pNode uintptr) int32 { /* sqlite3.c:221966:12: */ +func fts5ExprNearTest(tls *libc.TLS, pRc uintptr, pExpr uintptr, pNode uintptr) int32 { /* sqlite3.c:222023:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -179472,7 +179503,7 @@ func fts5ExprNearTest(tls *libc.TLS, pRc uintptr, pExpr uintptr, pNode uintptr) // If an error occurs, return an SQLite error code. Otherwise, return // SQLITE_OK. It is not considered an error if some term matches zero // documents. -func fts5ExprNearInitAll(tls *libc.TLS, pExpr uintptr, pNode uintptr) int32 { /* sqlite3.c:222025:12: */ +func fts5ExprNearInitAll(tls *libc.TLS, pExpr uintptr, pNode uintptr) int32 { /* sqlite3.c:222082:12: */ var pNear uintptr = (*Fts5ExprNode)(unsafe.Pointer(pNode)).FpNear var i int32 @@ -179538,7 +179569,7 @@ func fts5ExprNearInitAll(tls *libc.TLS, pExpr uintptr, pNode uintptr) int32 { /* // Otherwise, if this is a DESC iterator, the opposite is returned: // // (iRhs - iLhs) -func fts5RowidCmp(tls *libc.TLS, pExpr uintptr, iLhs I64, iRhs I64) int32 { /* sqlite3.c:222087:12: */ +func fts5RowidCmp(tls *libc.TLS, pExpr uintptr, iLhs I64, iRhs I64) int32 { /* sqlite3.c:222144:12: */ if (*Fts5Expr)(unsafe.Pointer(pExpr)).FbDesc == 0 { if iLhs < iRhs { @@ -179554,7 +179585,7 @@ func fts5RowidCmp(tls *libc.TLS, pExpr uintptr, iLhs I64, iRhs I64) int32 { /* s return int32(0) } -func fts5ExprSetEof(tls *libc.TLS, pNode uintptr) { /* sqlite3.c:222102:13: */ +func fts5ExprSetEof(tls *libc.TLS, pNode uintptr) { /* sqlite3.c:222159:13: */ var i int32 (*Fts5ExprNode)(unsafe.Pointer(pNode)).FbEof = 1 (*Fts5ExprNode)(unsafe.Pointer(pNode)).FbNomatch = 0 @@ -179563,7 +179594,7 @@ func fts5ExprSetEof(tls *libc.TLS, pNode uintptr) { /* sqlite3.c:222102:13: */ } } -func fts5ExprNodeZeroPoslist(tls *libc.TLS, pNode uintptr) { /* sqlite3.c:222111:13: */ +func fts5ExprNodeZeroPoslist(tls *libc.TLS, pNode uintptr) { /* sqlite3.c:222168:13: */ if (*Fts5ExprNode)(unsafe.Pointer(pNode)).FeType == FTS5_STRING || (*Fts5ExprNode)(unsafe.Pointer(pNode)).FeType == FTS5_TERM { var pNear uintptr = (*Fts5ExprNode)(unsafe.Pointer(pNode)).FpNear var i int32 @@ -179589,7 +179620,7 @@ func fts5ExprNodeZeroPoslist(tls *libc.TLS, pNode uintptr) { /* sqlite3.c:222111 // This means that if the iteration order is ASC, then numerically larger // rowids are considered larger. Or if it is the default DESC, numerically // smaller rowids are larger. -func fts5NodeCompare(tls *libc.TLS, pExpr uintptr, p1 uintptr, p2 uintptr) int32 { /* sqlite3.c:222141:12: */ +func fts5NodeCompare(tls *libc.TLS, pExpr uintptr, p1 uintptr, p2 uintptr) int32 { /* sqlite3.c:222198:12: */ if (*Fts5ExprNode)(unsafe.Pointer(p2)).FbEof != 0 { return -1 } @@ -179608,7 +179639,7 @@ func fts5NodeCompare(tls *libc.TLS, pExpr uintptr, p1 uintptr, p2 uintptr) int32 // SQLITE_OK is returned if an error occurs, or an SQLite error code // otherwise. It is not considered an error code if an iterator reaches // EOF. -func fts5ExprNodeTest_STRING(tls *libc.TLS, pExpr uintptr, pNode uintptr) int32 { /* sqlite3.c:222162:12: */ +func fts5ExprNodeTest_STRING(tls *libc.TLS, pExpr uintptr, pNode uintptr) int32 { /* sqlite3.c:222219:12: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -179676,7 +179707,7 @@ func fts5ExprNodeTest_STRING(tls *libc.TLS, pExpr uintptr, pNode uintptr) int32 // // Return SQLITE_OK if successful, or an SQLite error code if an error // occurs. -func fts5ExprNodeNext_STRING(tls *libc.TLS, pExpr uintptr, pNode uintptr, bFromValid int32, iFrom I64) int32 { /* sqlite3.c:222232:12: */ +func fts5ExprNodeNext_STRING(tls *libc.TLS, pExpr uintptr, pNode uintptr, bFromValid int32, iFrom I64) int32 { /* sqlite3.c:222289:12: */ var pTerm uintptr = *(*uintptr)(unsafe.Pointer((*Fts5ExprNode)(unsafe.Pointer(pNode)).FpNear + 12)) + 20 var rc int32 = SQLITE_OK @@ -179735,7 +179766,7 @@ func fts5ExprNodeNext_STRING(tls *libc.TLS, pExpr uintptr, pNode uintptr, bFromV return rc } -func fts5ExprNodeTest_TERM(tls *libc.TLS, pExpr uintptr, pNode uintptr) int32 { /* sqlite3.c:222297:12: */ +func fts5ExprNodeTest_TERM(tls *libc.TLS, pExpr uintptr, pNode uintptr) int32 { /* sqlite3.c:222354:12: */ // As this "NEAR" object is actually a single phrase that consists // of a single term only, grab pointers into the poslist managed by the // fts5_index.c iterator object. This is much faster than synthesizing @@ -179754,7 +179785,7 @@ func fts5ExprNodeTest_TERM(tls *libc.TLS, pExpr uintptr, pNode uintptr) int32 { } // xNext() method for a node of type FTS5_TERM. -func fts5ExprNodeNext_TERM(tls *libc.TLS, pExpr uintptr, pNode uintptr, bFromValid int32, iFrom I64) int32 { /* sqlite3.c:222325:12: */ +func fts5ExprNodeNext_TERM(tls *libc.TLS, pExpr uintptr, pNode uintptr, bFromValid int32, iFrom I64) int32 { /* sqlite3.c:222382:12: */ var rc int32 var pIter uintptr = (*Fts5ExprTerm)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer((*Fts5ExprNode)(unsafe.Pointer(pNode)).FpNear + 12)) + 20)).FpIter @@ -179772,7 +179803,7 @@ func fts5ExprNodeNext_TERM(tls *libc.TLS, pExpr uintptr, pNode uintptr, bFromVal return rc } -func fts5ExprNodeTest_OR(tls *libc.TLS, pExpr uintptr, pNode uintptr) { /* sqlite3.c:222349:13: */ +func fts5ExprNodeTest_OR(tls *libc.TLS, pExpr uintptr, pNode uintptr) { /* sqlite3.c:222406:13: */ var pNext uintptr = *(*uintptr)(unsafe.Pointer(pNode + 32)) var i int32 @@ -179788,7 +179819,7 @@ func fts5ExprNodeTest_OR(tls *libc.TLS, pExpr uintptr, pNode uintptr) { /* sqlit (*Fts5ExprNode)(unsafe.Pointer(pNode)).FbNomatch = (*Fts5ExprNode)(unsafe.Pointer(pNext)).FbNomatch } -func fts5ExprNodeNext_OR(tls *libc.TLS, pExpr uintptr, pNode uintptr, bFromValid int32, iFrom I64) int32 { /* sqlite3.c:222368:12: */ +func fts5ExprNodeNext_OR(tls *libc.TLS, pExpr uintptr, pNode uintptr, bFromValid int32, iFrom I64) int32 { /* sqlite3.c:222425:12: */ var i int32 var iLast I64 = (*Fts5ExprNode)(unsafe.Pointer(pNode)).FiRowid @@ -179814,7 +179845,7 @@ func fts5ExprNodeNext_OR(tls *libc.TLS, pExpr uintptr, pNode uintptr, bFromValid } // Argument pNode is an FTS5_AND node. -func fts5ExprNodeTest_AND(tls *libc.TLS, pExpr uintptr, pAnd uintptr) int32 { /* sqlite3.c:222400:12: */ +func fts5ExprNodeTest_AND(tls *libc.TLS, pExpr uintptr, pAnd uintptr) int32 { /* sqlite3.c:222457:12: */ var iChild int32 var iLast I64 = (*Fts5ExprNode)(unsafe.Pointer(pAnd)).FiRowid var rc int32 = SQLITE_OK @@ -179864,7 +179895,7 @@ func fts5ExprNodeTest_AND(tls *libc.TLS, pExpr uintptr, pAnd uintptr) int32 { /* return SQLITE_OK } -func fts5ExprNodeNext_AND(tls *libc.TLS, pExpr uintptr, pNode uintptr, bFromValid int32, iFrom I64) int32 { /* sqlite3.c:222452:12: */ +func fts5ExprNodeNext_AND(tls *libc.TLS, pExpr uintptr, pNode uintptr, bFromValid int32, iFrom I64) int32 { /* sqlite3.c:222509:12: */ var rc int32 = (*struct { f func(*libc.TLS, uintptr, uintptr, int32, I64) int32 })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExprNode)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pNode + 32 /* &.apChild */)))).FxNext})).f(tls, pExpr, *(*uintptr)(unsafe.Pointer(pNode + 32 /* &.apChild */)), bFromValid, iFrom) @@ -179876,7 +179907,7 @@ func fts5ExprNodeNext_AND(tls *libc.TLS, pExpr uintptr, pNode uintptr, bFromVali return rc } -func fts5ExprNodeTest_NOT(tls *libc.TLS, pExpr uintptr, pNode uintptr) int32 { /* sqlite3.c:222467:12: */ +func fts5ExprNodeTest_NOT(tls *libc.TLS, pExpr uintptr, pNode uintptr) int32 { /* sqlite3.c:222524:12: */ var rc int32 = SQLITE_OK var p1 uintptr = *(*uintptr)(unsafe.Pointer(pNode + 32)) var p2 uintptr = *(*uintptr)(unsafe.Pointer(pNode + 32 + 1*4)) @@ -179906,7 +179937,7 @@ func fts5ExprNodeTest_NOT(tls *libc.TLS, pExpr uintptr, pNode uintptr) int32 { / return rc } -func fts5ExprNodeNext_NOT(tls *libc.TLS, pExpr uintptr, pNode uintptr, bFromValid int32, iFrom I64) int32 { /* sqlite3.c:222495:12: */ +func fts5ExprNodeNext_NOT(tls *libc.TLS, pExpr uintptr, pNode uintptr, bFromValid int32, iFrom I64) int32 { /* sqlite3.c:222552:12: */ var rc int32 = (*struct { f func(*libc.TLS, uintptr, uintptr, int32, I64) int32 })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExprNode)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pNode + 32 /* &.apChild */)))).FxNext})).f(tls, pExpr, *(*uintptr)(unsafe.Pointer(pNode + 32 /* &.apChild */)), bFromValid, iFrom) @@ -179922,7 +179953,7 @@ func fts5ExprNodeNext_NOT(tls *libc.TLS, pExpr uintptr, pNode uintptr, bFromVali // If pNode currently points to a match, this function returns SQLITE_OK // without modifying it. Otherwise, pNode is advanced until it does point // to a match or EOF is reached. -func fts5ExprNodeTest(tls *libc.TLS, pExpr uintptr, pNode uintptr) int32 { /* sqlite3.c:222516:12: */ +func fts5ExprNodeTest(tls *libc.TLS, pExpr uintptr, pNode uintptr) int32 { /* sqlite3.c:222573:12: */ var rc int32 = SQLITE_OK if (*Fts5ExprNode)(unsafe.Pointer(pNode)).FbEof == 0 { switch (*Fts5ExprNode)(unsafe.Pointer(pNode)).FeType { @@ -179975,7 +180006,7 @@ func fts5ExprNodeTest(tls *libc.TLS, pExpr uintptr, pNode uintptr) int32 { /* sq // // Return an SQLite error code if an error occurs, or SQLITE_OK otherwise. // It is not an error if there are no matches. -func fts5ExprNodeFirst(tls *libc.TLS, pExpr uintptr, pNode uintptr) int32 { /* sqlite3.c:222561:12: */ +func fts5ExprNodeFirst(tls *libc.TLS, pExpr uintptr, pNode uintptr) int32 { /* sqlite3.c:222618:12: */ var rc int32 = SQLITE_OK (*Fts5ExprNode)(unsafe.Pointer(pNode)).FbEof = 0 (*Fts5ExprNode)(unsafe.Pointer(pNode)).FbNomatch = 0 @@ -180037,7 +180068,7 @@ func fts5ExprNodeFirst(tls *libc.TLS, pExpr uintptr, pNode uintptr) int32 { /* s // // Return SQLITE_OK if successful, or an SQLite error code otherwise. It // is not considered an error if the query does not match any documents. -func sqlite3Fts5ExprFirst(tls *libc.TLS, p uintptr, pIdx uintptr, iFirst I64, bDesc int32) int32 { /* sqlite3.c:222620:12: */ +func sqlite3Fts5ExprFirst(tls *libc.TLS, p uintptr, pIdx uintptr, iFirst I64, bDesc int32) int32 { /* sqlite3.c:222677:12: */ var pRoot uintptr = (*Fts5Expr)(unsafe.Pointer(p)).FpRoot var rc int32 // Return code @@ -180069,7 +180100,7 @@ func sqlite3Fts5ExprFirst(tls *libc.TLS, p uintptr, pIdx uintptr, iFirst I64, bD // // Return SQLITE_OK if successful, or an SQLite error code otherwise. It // is not considered an error if the query does not match any documents. -func sqlite3Fts5ExprNext(tls *libc.TLS, p uintptr, iLast I64) int32 { /* sqlite3.c:222651:12: */ +func sqlite3Fts5ExprNext(tls *libc.TLS, p uintptr, iLast I64) int32 { /* sqlite3.c:222708:12: */ var rc int32 var pRoot uintptr = (*Fts5Expr)(unsafe.Pointer(p)).FpRoot @@ -180085,15 +180116,15 @@ func sqlite3Fts5ExprNext(tls *libc.TLS, p uintptr, iLast I64) int32 { /* sqlite3 return rc } -func sqlite3Fts5ExprEof(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:222665:12: */ +func sqlite3Fts5ExprEof(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:222722:12: */ return (*Fts5ExprNode)(unsafe.Pointer((*Fts5Expr)(unsafe.Pointer(p)).FpRoot)).FbEof } -func sqlite3Fts5ExprRowid(tls *libc.TLS, p uintptr) I64 { /* sqlite3.c:222669:12: */ +func sqlite3Fts5ExprRowid(tls *libc.TLS, p uintptr) I64 { /* sqlite3.c:222726:12: */ return (*Fts5ExprNode)(unsafe.Pointer((*Fts5Expr)(unsafe.Pointer(p)).FpRoot)).FiRowid } -func fts5ParseStringFromToken(tls *libc.TLS, pToken uintptr, pz uintptr) int32 { /* sqlite3.c:222673:12: */ +func fts5ParseStringFromToken(tls *libc.TLS, pToken uintptr, pz uintptr) int32 { /* sqlite3.c:222730:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -180103,7 +180134,7 @@ func fts5ParseStringFromToken(tls *libc.TLS, pToken uintptr, pz uintptr) int32 { } // Free the phrase object passed as the only argument. -func fts5ExprPhraseFree(tls *libc.TLS, pPhrase uintptr) { /* sqlite3.c:222682:13: */ +func fts5ExprPhraseFree(tls *libc.TLS, pPhrase uintptr) { /* sqlite3.c:222739:13: */ if pPhrase != 0 { var i int32 for i = 0; i < (*Fts5ExprPhrase)(unsafe.Pointer(pPhrase)).FnTerm; i++ { @@ -180128,7 +180159,7 @@ func fts5ExprPhraseFree(tls *libc.TLS, pPhrase uintptr) { /* sqlite3.c:222682:13 // Set the "bFirst" flag on the first token of the phrase passed as the // only argument. -func sqlite3Fts5ParseSetCaret(tls *libc.TLS, pPhrase uintptr) { /* sqlite3.c:222707:13: */ +func sqlite3Fts5ParseSetCaret(tls *libc.TLS, pPhrase uintptr) { /* sqlite3.c:222764:13: */ if pPhrase != 0 && (*Fts5ExprPhrase)(unsafe.Pointer(pPhrase)).FnTerm != 0 { (*Fts5ExprTerm)(unsafe.Pointer(pPhrase + 20)).FbFirst = U8(1) } @@ -180140,7 +180171,7 @@ func sqlite3Fts5ParseSetCaret(tls *libc.TLS, pPhrase uintptr) { /* sqlite3.c:222 // // If an OOM error occurs, both the pNear and pPhrase objects are freed and // NULL returned. -func sqlite3Fts5ParseNearset(tls *libc.TLS, pParse uintptr, pNear uintptr, pPhrase uintptr) uintptr { /* sqlite3.c:222721:24: */ +func sqlite3Fts5ParseNearset(tls *libc.TLS, pParse uintptr, pNear uintptr, pPhrase uintptr) uintptr { /* sqlite3.c:222778:24: */ var SZALLOC int32 = 8 var pRet uintptr = uintptr(0) @@ -180199,12 +180230,12 @@ func sqlite3Fts5ParseNearset(tls *libc.TLS, pParse uintptr, pNear uintptr, pPhra type TokenCtx1 = struct { FpPhrase uintptr Frc int32 -} /* sqlite3.c:222781:9 */ +} /* sqlite3.c:222838:9 */ -type TokenCtx = TokenCtx1 /* sqlite3.c:222781:25 */ +type TokenCtx = TokenCtx1 /* sqlite3.c:222838:25 */ // Callback for tokenizing terms used by ParseTerm(). -func fts5ParseTokenize(tls *libc.TLS, pContext uintptr, tflags int32, pToken uintptr, nToken int32, iUnused1 int32, iUnused2 int32) int32 { /* sqlite3.c:222790:12: */ +func fts5ParseTokenize(tls *libc.TLS, pContext uintptr, tflags int32, pToken uintptr, nToken int32, iUnused1 int32, iUnused2 int32) int32 { /* sqlite3.c:222847:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -180273,12 +180304,12 @@ func fts5ParseTokenize(tls *libc.TLS, pContext uintptr, tflags int32, pToken uin } // Free the phrase object passed as the only argument. -func sqlite3Fts5ParsePhraseFree(tls *libc.TLS, pPhrase uintptr) { /* sqlite3.c:222855:13: */ +func sqlite3Fts5ParsePhraseFree(tls *libc.TLS, pPhrase uintptr) { /* sqlite3.c:222912:13: */ fts5ExprPhraseFree(tls, pPhrase) } // Free the phrase object passed as the second argument. -func sqlite3Fts5ParseNearsetFree(tls *libc.TLS, pNear uintptr) { /* sqlite3.c:222862:13: */ +func sqlite3Fts5ParseNearsetFree(tls *libc.TLS, pNear uintptr) { /* sqlite3.c:222919:13: */ if pNear != 0 { var i int32 for i = 0; i < (*Fts5ExprNearset)(unsafe.Pointer(pNear)).FnPhrase; i++ { @@ -180289,12 +180320,12 @@ func sqlite3Fts5ParseNearsetFree(tls *libc.TLS, pNear uintptr) { /* sqlite3.c:22 } } -func sqlite3Fts5ParseFinished(tls *libc.TLS, pParse uintptr, p uintptr) { /* sqlite3.c:222873:13: */ +func sqlite3Fts5ParseFinished(tls *libc.TLS, pParse uintptr, p uintptr) { /* sqlite3.c:222930:13: */ (*Fts5Parse)(unsafe.Pointer(pParse)).FpExpr = p } -func parseGrowPhraseArray(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:222878:12: */ +func parseGrowPhraseArray(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:222935:12: */ if (*Fts5Parse)(unsafe.Pointer(pParse)).FnPhrase%8 == 0 { var nByte Sqlite3_int64 = Sqlite3_int64(uint32(unsafe.Sizeof(uintptr(0))) * uint32((*Fts5Parse)(unsafe.Pointer(pParse)).FnPhrase+8)) var apNew uintptr @@ -180311,7 +180342,7 @@ func parseGrowPhraseArray(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:22 // This function is called by the parser to process a string token. The // string may or may not be quoted. In any case it is tokenized and a // phrase object consisting of all tokens returned. -func sqlite3Fts5ParseTerm(tls *libc.TLS, pParse uintptr, pAppend uintptr, pToken uintptr, bPrefix int32) uintptr { /* sqlite3.c:222897:23: */ +func sqlite3Fts5ParseTerm(tls *libc.TLS, pParse uintptr, pAppend uintptr, pToken uintptr, bPrefix int32) uintptr { /* sqlite3.c:222954:23: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -180369,7 +180400,7 @@ func sqlite3Fts5ParseTerm(tls *libc.TLS, pParse uintptr, pAppend uintptr, pToken // Create a new FTS5 expression by cloning phrase iPhrase of the // expression passed as the second argument. -func sqlite3Fts5ExprClonePhrase(tls *libc.TLS, pExpr uintptr, iPhrase int32, ppNew uintptr) int32 { /* sqlite3.c:222951:12: */ +func sqlite3Fts5ExprClonePhrase(tls *libc.TLS, pExpr uintptr, iPhrase int32, ppNew uintptr) int32 { /* sqlite3.c:223008:12: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -180464,7 +180495,7 @@ func sqlite3Fts5ExprClonePhrase(tls *libc.TLS, pExpr uintptr, iPhrase int32, ppN // Token pTok has appeared in a MATCH expression where the NEAR operator // is expected. If token pTok does not contain "NEAR", store an error // in the pParse object. -func sqlite3Fts5ParseNear(tls *libc.TLS, pParse uintptr, pTok uintptr) { /* sqlite3.c:223047:13: */ +func sqlite3Fts5ParseNear(tls *libc.TLS, pParse uintptr, pTok uintptr) { /* sqlite3.c:223104:13: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -180474,7 +180505,7 @@ func sqlite3Fts5ParseNear(tls *libc.TLS, pParse uintptr, pTok uintptr) { /* sqli } } -func sqlite3Fts5ParseSetDistance(tls *libc.TLS, pParse uintptr, pNear uintptr, p uintptr) { /* sqlite3.c:223055:13: */ +func sqlite3Fts5ParseSetDistance(tls *libc.TLS, pParse uintptr, pNear uintptr, p uintptr) { /* sqlite3.c:223112:13: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -180505,7 +180536,7 @@ func sqlite3Fts5ParseSetDistance(tls *libc.TLS, pParse uintptr, pNear uintptr, p // // If an OOM error occurs, store an error code in pParse and return NULL. // The old colset object (if any) is not freed in this case. -func fts5ParseColset(tls *libc.TLS, pParse uintptr, p uintptr, iCol int32) uintptr { /* sqlite3.c:223090:19: */ +func fts5ParseColset(tls *libc.TLS, pParse uintptr, p uintptr, iCol int32) uintptr { /* sqlite3.c:223147:19: */ var nCol int32 if p != 0 { nCol = (*Fts5Colset)(unsafe.Pointer(p)).FnCol @@ -180543,7 +180574,7 @@ func fts5ParseColset(tls *libc.TLS, pParse uintptr, p uintptr, iCol int32) uintp // Allocate and return an Fts5Colset object specifying the inverse of // the colset passed as the second argument. Free the colset passed // as the second argument before returning. -func sqlite3Fts5ParseColsetInvert(tls *libc.TLS, pParse uintptr, p uintptr) uintptr { /* sqlite3.c:223131:19: */ +func sqlite3Fts5ParseColsetInvert(tls *libc.TLS, pParse uintptr, p uintptr) uintptr { /* sqlite3.c:223188:19: */ var pRet uintptr var nCol int32 = (*Fts5Config)(unsafe.Pointer((*Fts5Parse)(unsafe.Pointer(pParse)).FpConfig)).FnCol @@ -180565,7 +180596,7 @@ func sqlite3Fts5ParseColsetInvert(tls *libc.TLS, pParse uintptr, p uintptr) uint return pRet } -func sqlite3Fts5ParseColset(tls *libc.TLS, pParse uintptr, pColset uintptr, p uintptr) uintptr { /* sqlite3.c:223154:19: */ +func sqlite3Fts5ParseColset(tls *libc.TLS, pParse uintptr, pColset uintptr, p uintptr) uintptr { /* sqlite3.c:223211:19: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -180604,7 +180635,7 @@ func sqlite3Fts5ParseColset(tls *libc.TLS, pParse uintptr, pColset uintptr, p ui // Otherwise, a copy of (*pOrig) is made into memory obtained from // sqlite3Fts5MallocZero() and a pointer to it returned. If the allocation // fails, (*pRc) is set to SQLITE_NOMEM and NULL is returned. -func fts5CloneColset(tls *libc.TLS, pRc uintptr, pOrig uintptr) uintptr { /* sqlite3.c:223194:19: */ +func fts5CloneColset(tls *libc.TLS, pRc uintptr, pOrig uintptr) uintptr { /* sqlite3.c:223251:19: */ var pRet uintptr if pOrig != 0 { var nByte Sqlite3_int64 = Sqlite3_int64(uint32(unsafe.Sizeof(Fts5Colset{})) + uint32((*Fts5Colset)(unsafe.Pointer(pOrig)).FnCol-1)*uint32(unsafe.Sizeof(int32(0)))) @@ -180619,7 +180650,7 @@ func fts5CloneColset(tls *libc.TLS, pRc uintptr, pOrig uintptr) uintptr { /* sql } // Remove from colset pColset any columns that are not also in colset pMerge. -func fts5MergeColset(tls *libc.TLS, pColset uintptr, pMerge uintptr) { /* sqlite3.c:223211:13: */ +func fts5MergeColset(tls *libc.TLS, pColset uintptr, pMerge uintptr) { /* sqlite3.c:223268:13: */ var iIn int32 = 0 // Next input in pColset var iMerge int32 = 0 // Next input in pMerge var iOut int32 = 0 // Next output slot in pColset @@ -180643,7 +180674,7 @@ func fts5MergeColset(tls *libc.TLS, pColset uintptr, pMerge uintptr) { /* sqlite // its decendents. If (*ppFree) is not NULL, it contains a spare copy // of pColset. This function may use the spare copy and set (*ppFree) to // zero, or it may create copies of pColset using fts5CloneColset(). -func fts5ParseSetColset(tls *libc.TLS, pParse uintptr, pNode uintptr, pColset uintptr, ppFree uintptr) { /* sqlite3.c:223237:13: */ +func fts5ParseSetColset(tls *libc.TLS, pParse uintptr, pNode uintptr, pColset uintptr, ppFree uintptr) { /* sqlite3.c:223294:13: */ if (*Fts5Parse)(unsafe.Pointer(pParse)).Frc == SQLITE_OK { if (*Fts5ExprNode)(unsafe.Pointer(pNode)).FeType == FTS5_STRING || (*Fts5ExprNode)(unsafe.Pointer(pNode)).FeType == FTS5_TERM { @@ -180671,7 +180702,7 @@ func fts5ParseSetColset(tls *libc.TLS, pParse uintptr, pNode uintptr, pColset ui } // Apply colset pColset to expression node pExpr and all of its descendents. -func sqlite3Fts5ParseSetColset(tls *libc.TLS, pParse uintptr, pExpr uintptr, pColset uintptr) { /* sqlite3.c:223275:13: */ +func sqlite3Fts5ParseSetColset(tls *libc.TLS, pParse uintptr, pExpr uintptr, pColset uintptr) { /* sqlite3.c:223332:13: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -180685,7 +180716,7 @@ func sqlite3Fts5ParseSetColset(tls *libc.TLS, pParse uintptr, pExpr uintptr, pCo Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp /* pFree */))) } -func fts5ExprAssignXNext(tls *libc.TLS, pNode uintptr) { /* sqlite3.c:223291:13: */ +func fts5ExprAssignXNext(tls *libc.TLS, pNode uintptr) { /* sqlite3.c:223348:13: */ switch (*Fts5ExprNode)(unsafe.Pointer(pNode)).FeType { case FTS5_STRING: { @@ -180736,7 +180767,7 @@ func fts5ExprAssignXNext(tls *libc.TLS, pNode uintptr) { /* sqlite3.c:223291:13: } } -func fts5ExprAddChildren(tls *libc.TLS, p uintptr, pSub uintptr) { /* sqlite3.c:223324:13: */ +func fts5ExprAddChildren(tls *libc.TLS, p uintptr, pSub uintptr) { /* sqlite3.c:223381:13: */ if (*Fts5ExprNode)(unsafe.Pointer(p)).FeType != FTS5_NOT && (*Fts5ExprNode)(unsafe.Pointer(pSub)).FeType == (*Fts5ExprNode)(unsafe.Pointer(p)).FeType { var nByte int32 = int32(uint32(unsafe.Sizeof(uintptr(0))) * uint32((*Fts5ExprNode)(unsafe.Pointer(pSub)).FnChild)) libc.Xmemcpy(tls, p+32+uintptr((*Fts5ExprNode)(unsafe.Pointer(p)).FnChild)*4, pSub+32, uint32(nByte)) @@ -180756,7 +180787,7 @@ func fts5ExprAddChildren(tls *libc.TLS, p uintptr, pSub uintptr) { /* sqlite3.c: // into an AND tree: // // abc AND def AND ghi -func fts5ParsePhraseToAnd(tls *libc.TLS, pParse uintptr, pNear uintptr) uintptr { /* sqlite3.c:223346:21: */ +func fts5ParsePhraseToAnd(tls *libc.TLS, pParse uintptr, pNear uintptr) uintptr { /* sqlite3.c:223403:21: */ var nTerm int32 = (*Fts5ExprPhrase)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pNear + 12)))).FnTerm var ii int32 var nByte int32 @@ -180799,7 +180830,7 @@ func fts5ParsePhraseToAnd(tls *libc.TLS, pParse uintptr, pNear uintptr) uintptr // Allocate and return a new expression object. If anything goes wrong (i.e. // OOM error), leave an error code in pParse and return NULL. -func sqlite3Fts5ParseNode(tls *libc.TLS, pParse uintptr, eType int32, pLeft uintptr, pRight uintptr, pNear uintptr) uintptr { /* sqlite3.c:223400:21: */ +func sqlite3Fts5ParseNode(tls *libc.TLS, pParse uintptr, eType int32, pLeft uintptr, pRight uintptr, pNear uintptr) uintptr { /* sqlite3.c:223457:21: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -180887,7 +180918,7 @@ func sqlite3Fts5ParseNode(tls *libc.TLS, pParse uintptr, eType int32, pLeft uint return pRet } -func sqlite3Fts5ParseImplicitAnd(tls *libc.TLS, pParse uintptr, pLeft uintptr, pRight uintptr) uintptr { /* sqlite3.c:223482:21: */ +func sqlite3Fts5ParseImplicitAnd(tls *libc.TLS, pParse uintptr, pLeft uintptr, pRight uintptr) uintptr { /* sqlite3.c:223539:21: */ var pRet uintptr = uintptr(0) var pPrev uintptr @@ -180933,7 +180964,7 @@ func sqlite3Fts5ParseImplicitAnd(tls *libc.TLS, pParse uintptr, pLeft uintptr, p // This is called during initialization to register the fts5_expr() scalar // UDF with the SQLite handle passed as the only argument. -func sqlite3Fts5ExprInit(tls *libc.TLS, pGlobal uintptr, db uintptr) int32 { /* sqlite3.c:223919:12: */ +func sqlite3Fts5ExprInit(tls *libc.TLS, pGlobal uintptr, db uintptr) int32 { /* sqlite3.c:223976:12: */ var rc int32 = SQLITE_OK _ = pGlobal _ = db @@ -180946,7 +180977,7 @@ func sqlite3Fts5ExprInit(tls *libc.TLS, pGlobal uintptr, db uintptr) int32 { /* } // Return the number of phrases in expression pExpr. -func sqlite3Fts5ExprPhraseCount(tls *libc.TLS, pExpr uintptr) int32 { /* sqlite3.c:223956:12: */ +func sqlite3Fts5ExprPhraseCount(tls *libc.TLS, pExpr uintptr) int32 { /* sqlite3.c:224013:12: */ return func() int32 { if pExpr != 0 { return (*Fts5Expr)(unsafe.Pointer(pExpr)).FnPhrase @@ -180956,7 +180987,7 @@ func sqlite3Fts5ExprPhraseCount(tls *libc.TLS, pExpr uintptr) int32 { /* sqlite3 } // Return the number of terms in the iPhrase'th phrase in pExpr. -func sqlite3Fts5ExprPhraseSize(tls *libc.TLS, pExpr uintptr, iPhrase int32) int32 { /* sqlite3.c:223963:12: */ +func sqlite3Fts5ExprPhraseSize(tls *libc.TLS, pExpr uintptr, iPhrase int32) int32 { /* sqlite3.c:224020:12: */ if iPhrase < 0 || iPhrase >= (*Fts5Expr)(unsafe.Pointer(pExpr)).FnPhrase { return 0 } @@ -180965,7 +180996,7 @@ func sqlite3Fts5ExprPhraseSize(tls *libc.TLS, pExpr uintptr, iPhrase int32) int3 // This function is used to access the current position list for phrase // iPhrase. -func sqlite3Fts5ExprPoslist(tls *libc.TLS, pExpr uintptr, iPhrase int32, pa uintptr) int32 { /* sqlite3.c:223972:12: */ +func sqlite3Fts5ExprPoslist(tls *libc.TLS, pExpr uintptr, iPhrase int32, pa uintptr) int32 { /* sqlite3.c:224029:12: */ var nRet int32 var pPhrase uintptr = *(*uintptr)(unsafe.Pointer((*Fts5Expr)(unsafe.Pointer(pExpr)).FapExprPhrase + uintptr(iPhrase)*4)) var pNode uintptr = (*Fts5ExprPhrase)(unsafe.Pointer(pPhrase)).FpNode @@ -180986,7 +181017,7 @@ func sqlite3Fts5ExprPoslist(tls *libc.TLS, pExpr uintptr, iPhrase int32, pa uint // At present this function is only used for detail=col and detail=none // fts5 tables. This implies that all phrases must be at most 1 token // in size, as phrase matches are not supported without detail=full. -func sqlite3Fts5ExprClearPoslists(tls *libc.TLS, pExpr uintptr, bLive int32) uintptr { /* sqlite3.c:224001:29: */ +func sqlite3Fts5ExprClearPoslists(tls *libc.TLS, pExpr uintptr, bLive int32) uintptr { /* sqlite3.c:224058:29: */ var pRet uintptr pRet = Xsqlite3_malloc64(tls, uint64(uint32(unsafe.Sizeof(Fts5PoslistPopulator{}))*uint32((*Fts5Expr)(unsafe.Pointer(pExpr)).FnPhrase))) if pRet != 0 { @@ -181010,12 +181041,12 @@ type Fts5ExprCtx1 = struct { FpExpr uintptr FaPopulator uintptr FiOff I64 -} /* sqlite3.c:224023:1 */ +} /* sqlite3.c:224080:1 */ -type Fts5ExprCtx = Fts5ExprCtx1 /* sqlite3.c:224028:28 */ +type Fts5ExprCtx = Fts5ExprCtx1 /* sqlite3.c:224085:28 */ // TODO: Make this more efficient! -func fts5ExprColsetTest(tls *libc.TLS, pColset uintptr, iCol int32) int32 { /* sqlite3.c:224033:12: */ +func fts5ExprColsetTest(tls *libc.TLS, pColset uintptr, iCol int32) int32 { /* sqlite3.c:224090:12: */ var i int32 for i = 0; i < (*Fts5Colset)(unsafe.Pointer(pColset)).FnCol; i++ { if *(*int32)(unsafe.Pointer(pColset + 4 + uintptr(i)*4)) == iCol { @@ -181025,7 +181056,7 @@ func fts5ExprColsetTest(tls *libc.TLS, pColset uintptr, iCol int32) int32 { /* s return 0 } -func fts5ExprPopulatePoslistsCb(tls *libc.TLS, pCtx uintptr, tflags int32, pToken uintptr, nToken int32, iUnused1 int32, iUnused2 int32) int32 { /* sqlite3.c:224041:12: */ +func fts5ExprPopulatePoslistsCb(tls *libc.TLS, pCtx uintptr, tflags int32, pToken uintptr, nToken int32, iUnused1 int32, iUnused2 int32) int32 { /* sqlite3.c:224098:12: */ var p uintptr = pCtx var pExpr uintptr = (*Fts5ExprCtx)(unsafe.Pointer(p)).FpExpr var i int32 @@ -181060,7 +181091,7 @@ func fts5ExprPopulatePoslistsCb(tls *libc.TLS, pCtx uintptr, tflags int32, pToke return SQLITE_OK } -func sqlite3Fts5ExprPopulatePoslists(tls *libc.TLS, pConfig uintptr, pExpr uintptr, aPopulator uintptr, iCol int32, z uintptr, n int32) int32 { /* sqlite3.c:224076:12: */ +func sqlite3Fts5ExprPopulatePoslists(tls *libc.TLS, pConfig uintptr, pExpr uintptr, aPopulator uintptr, iCol int32, z uintptr, n int32) int32 { /* sqlite3.c:224133:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -181088,7 +181119,7 @@ func sqlite3Fts5ExprPopulatePoslists(tls *libc.TLS, pConfig uintptr, pExpr uintp }{fts5ExprPopulatePoslistsCb}))) } -func fts5ExprClearPoslists(tls *libc.TLS, pNode uintptr) { /* sqlite3.c:224106:13: */ +func fts5ExprClearPoslists(tls *libc.TLS, pNode uintptr) { /* sqlite3.c:224163:13: */ if (*Fts5ExprNode)(unsafe.Pointer(pNode)).FeType == FTS5_TERM || (*Fts5ExprNode)(unsafe.Pointer(pNode)).FeType == FTS5_STRING { (*Fts5ExprPhrase)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer((*Fts5ExprNode)(unsafe.Pointer(pNode)).FpNear + 12)))).Fposlist.Fn = 0 } else { @@ -181099,7 +181130,7 @@ func fts5ExprClearPoslists(tls *libc.TLS, pNode uintptr) { /* sqlite3.c:224106:1 } } -func fts5ExprCheckPoslists(tls *libc.TLS, pNode uintptr, iRowid I64) int32 { /* sqlite3.c:224117:12: */ +func fts5ExprCheckPoslists(tls *libc.TLS, pNode uintptr, iRowid I64) int32 { /* sqlite3.c:224174:12: */ (*Fts5ExprNode)(unsafe.Pointer(pNode)).FiRowid = iRowid (*Fts5ExprNode)(unsafe.Pointer(pNode)).FbEof = 0 switch (*Fts5ExprNode)(unsafe.Pointer(pNode)).FeType { @@ -181149,12 +181180,12 @@ func fts5ExprCheckPoslists(tls *libc.TLS, pNode uintptr, iRowid I64) int32 { /* return 1 } -func sqlite3Fts5ExprCheckPoslists(tls *libc.TLS, pExpr uintptr, iRowid I64) { /* sqlite3.c:224161:13: */ +func sqlite3Fts5ExprCheckPoslists(tls *libc.TLS, pExpr uintptr, iRowid I64) { /* sqlite3.c:224218:13: */ fts5ExprCheckPoslists(tls, (*Fts5Expr)(unsafe.Pointer(pExpr)).FpRoot, iRowid) } // This function is only called for detail=columns tables. -func sqlite3Fts5ExprPhraseCollist(tls *libc.TLS, pExpr uintptr, iPhrase int32, ppCollist uintptr, pnCollist uintptr) int32 { /* sqlite3.c:224168:12: */ +func sqlite3Fts5ExprPhraseCollist(tls *libc.TLS, pExpr uintptr, iPhrase int32, ppCollist uintptr, pnCollist uintptr) int32 { /* sqlite3.c:224225:12: */ var pPhrase uintptr = *(*uintptr)(unsafe.Pointer((*Fts5Expr)(unsafe.Pointer(pExpr)).FapExprPhrase + uintptr(iPhrase)*4)) var pNode uintptr = (*Fts5ExprPhrase)(unsafe.Pointer(pPhrase)).FpNode var rc int32 = SQLITE_OK @@ -181205,7 +181236,7 @@ type Fts5HashEntry1 = struct { FiCol I16 FiPos int32 FiRowid I64 -} /* sqlite3.c:216813:9 */ +} /* sqlite3.c:216870:9 */ // 2014 August 11 // @@ -181221,14 +181252,14 @@ type Fts5HashEntry1 = struct { // #include "fts5Int.h" -type Fts5HashEntry = Fts5HashEntry1 /* sqlite3.c:224221:30 */ +type Fts5HashEntry = Fts5HashEntry1 /* sqlite3.c:224278:30 */ // Eqivalent to: // // char *fts5EntryKey(Fts5HashEntry *pEntry){ return zKey; } // Allocate a new hash table. -func sqlite3Fts5HashNew(tls *libc.TLS, pConfig uintptr, ppNew uintptr, pnByte uintptr) int32 { /* sqlite3.c:224287:12: */ +func sqlite3Fts5HashNew(tls *libc.TLS, pConfig uintptr, ppNew uintptr, pnByte uintptr) int32 { /* sqlite3.c:224344:12: */ var rc int32 = SQLITE_OK var pNew uintptr @@ -181256,7 +181287,7 @@ func sqlite3Fts5HashNew(tls *libc.TLS, pConfig uintptr, ppNew uintptr, pnByte ui } // Free a hash table object. -func sqlite3Fts5HashFree(tls *libc.TLS, pHash uintptr) { /* sqlite3.c:224317:13: */ +func sqlite3Fts5HashFree(tls *libc.TLS, pHash uintptr) { /* sqlite3.c:224374:13: */ if pHash != 0 { sqlite3Fts5HashClear(tls, pHash) Xsqlite3_free(tls, (*Fts5Hash)(unsafe.Pointer(pHash)).FaSlot) @@ -181265,7 +181296,7 @@ func sqlite3Fts5HashFree(tls *libc.TLS, pHash uintptr) { /* sqlite3.c:224317:13: } // Empty (but do not delete) a hash table. -func sqlite3Fts5HashClear(tls *libc.TLS, pHash uintptr) { /* sqlite3.c:224328:13: */ +func sqlite3Fts5HashClear(tls *libc.TLS, pHash uintptr) { /* sqlite3.c:224385:13: */ var i int32 for i = 0; i < (*Fts5Hash)(unsafe.Pointer(pHash)).FnSlot; i++ { var pNext uintptr @@ -181279,7 +181310,7 @@ func sqlite3Fts5HashClear(tls *libc.TLS, pHash uintptr) { /* sqlite3.c:224328:13 (*Fts5Hash)(unsafe.Pointer(pHash)).FnEntry = 0 } -func fts5HashKey(tls *libc.TLS, nSlot int32, p uintptr, n int32) uint32 { /* sqlite3.c:224342:21: */ +func fts5HashKey(tls *libc.TLS, nSlot int32, p uintptr, n int32) uint32 { /* sqlite3.c:224399:21: */ var i int32 var h uint32 = uint32(13) for i = n - 1; i >= 0; i-- { @@ -181288,7 +181319,7 @@ func fts5HashKey(tls *libc.TLS, nSlot int32, p uintptr, n int32) uint32 { /* sql return h % uint32(nSlot) } -func fts5HashKey2(tls *libc.TLS, nSlot int32, b U8, p uintptr, n int32) uint32 { /* sqlite3.c:224351:21: */ +func fts5HashKey2(tls *libc.TLS, nSlot int32, b U8, p uintptr, n int32) uint32 { /* sqlite3.c:224408:21: */ var i int32 var h uint32 = uint32(13) for i = n - 1; i >= 0; i-- { @@ -181299,7 +181330,7 @@ func fts5HashKey2(tls *libc.TLS, nSlot int32, b U8, p uintptr, n int32) uint32 { } // Resize the hash table by doubling the number of slots. -func fts5HashResize(tls *libc.TLS, pHash uintptr) int32 { /* sqlite3.c:224364:12: */ +func fts5HashResize(tls *libc.TLS, pHash uintptr) int32 { /* sqlite3.c:224421:12: */ var nNew int32 = (*Fts5Hash)(unsafe.Pointer(pHash)).FnSlot * 2 var i int32 var apNew uintptr @@ -181329,7 +181360,7 @@ func fts5HashResize(tls *libc.TLS, pHash uintptr) int32 { /* sqlite3.c:224364:12 return SQLITE_OK } -func fts5HashAddPoslistSize(tls *libc.TLS, pHash uintptr, p uintptr, p2 uintptr) int32 { /* sqlite3.c:224392:12: */ +func fts5HashAddPoslistSize(tls *libc.TLS, pHash uintptr, p uintptr, p2 uintptr) int32 { /* sqlite3.c:224449:12: */ var nRet int32 = 0 if (*Fts5HashEntry)(unsafe.Pointer(p)).FiSzPoslist != 0 { var pPtr uintptr @@ -181378,7 +181409,7 @@ func fts5HashAddPoslistSize(tls *libc.TLS, pHash uintptr, p uintptr, p2 uintptr) // (bByte || pToken) -> (iRowid,iCol,iPos) // // Or, if iCol is negative, then the value is a delete marker. -func sqlite3Fts5HashWrite(tls *libc.TLS, pHash uintptr, iRowid I64, iCol int32, iPos int32, bByte int8, pToken uintptr, nToken int32) int32 { /* sqlite3.c:224443:12: */ +func sqlite3Fts5HashWrite(tls *libc.TLS, pHash uintptr, iRowid I64, iCol int32, iPos int32, bByte int8, pToken uintptr, nToken int32) int32 { /* sqlite3.c:224500:12: */ var iHash uint32 var p uintptr var pPtr uintptr @@ -181537,7 +181568,7 @@ func sqlite3Fts5HashWrite(tls *libc.TLS, pHash uintptr, iRowid I64, iCol int32, // Arguments pLeft and pRight point to linked-lists of hash-entry objects, // each sorted in key order. This function merges the two lists into a // single list and returns a pointer to its first element. -func fts5HashEntryMerge(tls *libc.TLS, pLeft uintptr, pRight uintptr) uintptr { /* sqlite3.c:224596:22: */ +func fts5HashEntryMerge(tls *libc.TLS, pLeft uintptr, pRight uintptr) uintptr { /* sqlite3.c:224653:22: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -181583,7 +181614,7 @@ func fts5HashEntryMerge(tls *libc.TLS, pLeft uintptr, pRight uintptr) uintptr { // in sorted order. The hash table is cleared before returning. It is // the responsibility of the caller to free the elements of the returned // list. -func fts5HashEntrySort(tls *libc.TLS, pHash uintptr, pTerm uintptr, nTerm int32, ppSorted uintptr) int32 { /* sqlite3.c:224642:12: */ +func fts5HashEntrySort(tls *libc.TLS, pHash uintptr, pTerm uintptr, nTerm int32, ppSorted uintptr) int32 { /* sqlite3.c:224699:12: */ var nMergeSlot int32 = 32 var ap uintptr var pList uintptr @@ -181625,7 +181656,7 @@ func fts5HashEntrySort(tls *libc.TLS, pHash uintptr, pTerm uintptr, nTerm int32, } // Query the hash table for a doclist associated with term pTerm/nTerm. -func sqlite3Fts5HashQuery(tls *libc.TLS, pHash uintptr, nPre int32, pTerm uintptr, nTerm int32, ppOut uintptr, pnDoclist uintptr) int32 { /* sqlite3.c:224689:12: */ +func sqlite3Fts5HashQuery(tls *libc.TLS, pHash uintptr, nPre int32, pTerm uintptr, nTerm int32, ppOut uintptr, pnDoclist uintptr) int32 { /* sqlite3.c:224746:12: */ var iHash uint32 = fts5HashKey(tls, (*Fts5Hash)(unsafe.Pointer(pHash)).FnSlot, pTerm, nTerm) var zKey uintptr = uintptr(0) var p uintptr @@ -181659,20 +181690,20 @@ func sqlite3Fts5HashQuery(tls *libc.TLS, pHash uintptr, nPre int32, pTerm uintpt return SQLITE_OK } -func sqlite3Fts5HashScanInit(tls *libc.TLS, p uintptr, pTerm uintptr, nTerm int32) int32 { /* sqlite3.c:224727:12: */ +func sqlite3Fts5HashScanInit(tls *libc.TLS, p uintptr, pTerm uintptr, nTerm int32) int32 { /* sqlite3.c:224784:12: */ return fts5HashEntrySort(tls, p, pTerm, nTerm, p+16) } -func sqlite3Fts5HashScanNext(tls *libc.TLS, p uintptr) { /* sqlite3.c:224734:13: */ +func sqlite3Fts5HashScanNext(tls *libc.TLS, p uintptr) { /* sqlite3.c:224791:13: */ (*Fts5Hash)(unsafe.Pointer(p)).FpScan = (*Fts5HashEntry)(unsafe.Pointer((*Fts5Hash)(unsafe.Pointer(p)).FpScan)).FpScanNext } -func sqlite3Fts5HashScanEof(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:224739:12: */ +func sqlite3Fts5HashScanEof(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:224796:12: */ return libc.Bool32((*Fts5Hash)(unsafe.Pointer(p)).FpScan == uintptr(0)) } -func sqlite3Fts5HashScanEntry(tls *libc.TLS, pHash uintptr, pzTerm uintptr, ppDoclist uintptr, pnDoclist uintptr) { /* sqlite3.c:224743:13: */ +func sqlite3Fts5HashScanEntry(tls *libc.TLS, pHash uintptr, pzTerm uintptr, ppDoclist uintptr, pnDoclist uintptr) { /* sqlite3.c:224800:13: */ var p uintptr if libc.AssignUintptr(&p, (*Fts5Hash)(unsafe.Pointer(pHash)).FpScan) != 0 { var zKey uintptr = p + 1*40 @@ -181898,7 +181929,7 @@ type Fts5Data1 = struct { Fp uintptr Fnn int32 FszLeaf int32 -} /* sqlite3.c:225018:9 */ +} /* sqlite3.c:225075:9 */ // 2014 May 31 // @@ -182106,14 +182137,14 @@ type Fts5Data1 = struct { // many zero bytes. This makes it easier to decode the various record formats // without overreading if the records are corrupt. -type Fts5Data = Fts5Data1 /* sqlite3.c:225018:25 */ +type Fts5Data = Fts5Data1 /* sqlite3.c:225075:25 */ type Fts5DlidxIter1 = struct { FnLvl int32 FiSegid int32 FaLvl [1]Fts5DlidxLvl -} /* sqlite3.c:225019:9 */ +} /* sqlite3.c:225076:9 */ -type Fts5DlidxIter = Fts5DlidxIter1 /* sqlite3.c:225019:30 */ +type Fts5DlidxIter = Fts5DlidxIter1 /* sqlite3.c:225076:30 */ type Fts5DlidxLvl1 = struct { FpData uintptr FiOff int32 @@ -182121,17 +182152,17 @@ type Fts5DlidxLvl1 = struct { FiFirstOff int32 FiLeafPgno int32 FiRowid I64 -} /* sqlite3.c:225019:9 */ +} /* sqlite3.c:225076:9 */ -type Fts5DlidxLvl = Fts5DlidxLvl1 /* sqlite3.c:225020:29 */ +type Fts5DlidxLvl = Fts5DlidxLvl1 /* sqlite3.c:225077:29 */ type Fts5DlidxWriter1 = struct { Fpgno int32 FbPrevValid int32 FiPrev I64 Fbuf Fts5Buffer -} /* sqlite3.c:225021:9 */ +} /* sqlite3.c:225078:9 */ -type Fts5DlidxWriter = Fts5DlidxWriter1 /* sqlite3.c:225021:32 */ +type Fts5DlidxWriter = Fts5DlidxWriter1 /* sqlite3.c:225078:32 */ type Fts5Iter1 = struct { Fbase Fts5IndexIter FpIndex uintptr @@ -182145,18 +182176,18 @@ type Fts5Iter1 = struct { FiSwitchRowid I64 FaFirst uintptr FaSeg [1]Fts5SegIter -} /* sqlite3.c:225022:9 */ +} /* sqlite3.c:225079:9 */ -type Fts5Iter = Fts5Iter1 /* sqlite3.c:225022:25 */ +type Fts5Iter = Fts5Iter1 /* sqlite3.c:225079:25 */ type Fts5PageWriter1 = struct { Fpgno int32 FiPrevPgidx int32 Fbuf Fts5Buffer Fpgidx Fts5Buffer Fterm Fts5Buffer -} /* sqlite3.c:225023:9 */ +} /* sqlite3.c:225080:9 */ -type Fts5PageWriter = Fts5PageWriter1 /* sqlite3.c:225023:31 */ +type Fts5PageWriter = Fts5PageWriter1 /* sqlite3.c:225080:31 */ type Fts5SegIter1 = struct { FpSeg uintptr Fflags int32 @@ -182178,18 +182209,18 @@ type Fts5SegIter1 = struct { FnPos int32 FbDel U8 F__ccgo_pad1 [3]byte -} /* sqlite3.c:225022:9 */ +} /* sqlite3.c:225079:9 */ -type Fts5SegIter = Fts5SegIter1 /* sqlite3.c:225024:28 */ +type Fts5SegIter = Fts5SegIter1 /* sqlite3.c:225081:28 */ type Fts5DoclistIter1 = struct { FaEof uintptr FiRowid I64 FaPoslist uintptr FnPoslist int32 FnSize int32 -} /* sqlite3.c:225025:9 */ +} /* sqlite3.c:225082:9 */ -type Fts5DoclistIter = Fts5DoclistIter1 /* sqlite3.c:225025:32 */ +type Fts5DoclistIter = Fts5DoclistIter1 /* sqlite3.c:225082:32 */ type Fts5SegWriter1 = struct { FiSegid int32 Fwriter Fts5PageWriter @@ -182204,47 +182235,47 @@ type Fts5SegWriter1 = struct { FaDlidx uintptr Fbtterm Fts5Buffer FiBtPage int32 -} /* sqlite3.c:225026:9 */ +} /* sqlite3.c:225083:9 */ -type Fts5SegWriter = Fts5SegWriter1 /* sqlite3.c:225026:30 */ +type Fts5SegWriter = Fts5SegWriter1 /* sqlite3.c:225083:30 */ type Fts5Structure1 = struct { FnRef int32 FnWriteCounter U64 FnSegment int32 FnLevel int32 FaLevel [1]Fts5StructureLevel -} /* sqlite3.c:216813:9 */ +} /* sqlite3.c:216870:9 */ -type Fts5Structure = Fts5Structure1 /* sqlite3.c:225027:30 */ +type Fts5Structure = Fts5Structure1 /* sqlite3.c:225084:30 */ type Fts5StructureLevel1 = struct { FnMerge int32 FnSeg int32 FaSeg uintptr -} /* sqlite3.c:216813:9 */ +} /* sqlite3.c:216870:9 */ -type Fts5StructureLevel = Fts5StructureLevel1 /* sqlite3.c:225028:35 */ +type Fts5StructureLevel = Fts5StructureLevel1 /* sqlite3.c:225085:35 */ type Fts5StructureSegment1 = struct { FiSegid int32 FpgnoFirst int32 FpgnoLast int32 -} /* sqlite3.c:216813:9 */ +} /* sqlite3.c:216870:9 */ -type Fts5StructureSegment = Fts5StructureSegment1 /* sqlite3.c:225029:37 */ +type Fts5StructureSegment = Fts5StructureSegment1 /* sqlite3.c:225086:37 */ type Fts5CResult1 = struct { FiFirst U16 FbTermEq U8 F__ccgo_pad1 [1]byte -} /* sqlite3.c:225022:9 */ +} /* sqlite3.c:225079:9 */ -type Fts5CResult = Fts5CResult1 /* sqlite3.c:225139:28 */ +type Fts5CResult = Fts5CResult1 /* sqlite3.c:225196:28 */ -func fts5PutU16(tls *libc.TLS, aOut uintptr, iVal U16) { /* sqlite3.c:225318:13: */ +func fts5PutU16(tls *libc.TLS, aOut uintptr, iVal U16) { /* sqlite3.c:225375:13: */ *(*U8)(unsafe.Pointer(aOut)) = U8(int32(iVal) >> 8) *(*U8)(unsafe.Pointer(aOut + 1)) = U8(int32(iVal) & 0xFF) } -func fts5GetU16(tls *libc.TLS, aIn uintptr) U16 { /* sqlite3.c:225323:12: */ +func fts5GetU16(tls *libc.TLS, aIn uintptr) U16 { /* sqlite3.c:225380:12: */ return U16(int32(U16(*(*U8)(unsafe.Pointer(aIn))))<<8 + int32(*(*U8)(unsafe.Pointer(aIn + 1)))) } @@ -182252,7 +182283,7 @@ func fts5GetU16(tls *libc.TLS, aIn uintptr) U16 { /* sqlite3.c:225323:12: */ // // If an OOM error is encountered, return NULL and set the error code in // the Fts5Index handle passed as the first argument. -func fts5IdxMalloc(tls *libc.TLS, p uintptr, nByte Sqlite3_int64) uintptr { /* sqlite3.c:225333:13: */ +func fts5IdxMalloc(tls *libc.TLS, p uintptr, nByte Sqlite3_int64) uintptr { /* sqlite3.c:225390:13: */ return sqlite3Fts5MallocZero(tls, p+32, nByte) } @@ -182270,7 +182301,7 @@ func fts5IdxMalloc(tls *libc.TLS, p uintptr, nByte Sqlite3_int64) uintptr { /* s // +ve if pRight is smaller than pLeft. In other words: // // res = *pLeft - *pRight -func fts5BufferCompare(tls *libc.TLS, pLeft uintptr, pRight uintptr) int32 { /* sqlite3.c:225365:12: */ +func fts5BufferCompare(tls *libc.TLS, pLeft uintptr, pRight uintptr) int32 { /* sqlite3.c:225422:12: */ var nCmp int32 var res int32 nCmp = func() int32 { @@ -182294,7 +182325,7 @@ func fts5BufferCompare(tls *libc.TLS, pLeft uintptr, pRight uintptr) int32 { /* }() } -func fts5LeafFirstTermOff(tls *libc.TLS, pLeaf uintptr) int32 { /* sqlite3.c:225374:12: */ +func fts5LeafFirstTermOff(tls *libc.TLS, pLeaf uintptr) int32 { /* sqlite3.c:225431:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -182305,7 +182336,7 @@ func fts5LeafFirstTermOff(tls *libc.TLS, pLeaf uintptr) int32 { /* sqlite3.c:225 } // Close the read-only blob handle, if it is open. -func sqlite3Fts5IndexCloseReader(tls *libc.TLS, p uintptr) { /* sqlite3.c:225383:13: */ +func sqlite3Fts5IndexCloseReader(tls *libc.TLS, p uintptr) { /* sqlite3.c:225440:13: */ if (*Fts5Index)(unsafe.Pointer(p)).FpReader != 0 { var pReader uintptr = (*Fts5Index)(unsafe.Pointer(p)).FpReader (*Fts5Index)(unsafe.Pointer(p)).FpReader = uintptr(0) @@ -182317,7 +182348,7 @@ func sqlite3Fts5IndexCloseReader(tls *libc.TLS, p uintptr) { /* sqlite3.c:225383 // // If an error occurs, NULL is returned and an error left in the // Fts5Index object. -func fts5DataRead(tls *libc.TLS, p uintptr, iRowid I64) uintptr { /* sqlite3.c:225397:17: */ +func fts5DataRead(tls *libc.TLS, p uintptr, iRowid I64) uintptr { /* sqlite3.c:225454:17: */ var pRet uintptr = uintptr(0) if (*Fts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK { var rc int32 = SQLITE_OK @@ -182390,11 +182421,11 @@ func fts5DataRead(tls *libc.TLS, p uintptr, iRowid I64) uintptr { /* sqlite3.c:2 // Release a reference to data record returned by an earlier call to // fts5DataRead(). -func fts5DataRelease(tls *libc.TLS, pData uintptr) { /* sqlite3.c:225471:13: */ +func fts5DataRelease(tls *libc.TLS, pData uintptr) { /* sqlite3.c:225528:13: */ Xsqlite3_free(tls, pData) } -func fts5LeafRead(tls *libc.TLS, p uintptr, iRowid I64) uintptr { /* sqlite3.c:225475:17: */ +func fts5LeafRead(tls *libc.TLS, p uintptr, iRowid I64) uintptr { /* sqlite3.c:225532:17: */ var pRet uintptr = fts5DataRead(tls, p, iRowid) if pRet != 0 { if (*Fts5Data)(unsafe.Pointer(pRet)).Fnn < 4 || (*Fts5Data)(unsafe.Pointer(pRet)).FszLeaf > (*Fts5Data)(unsafe.Pointer(pRet)).Fnn { @@ -182406,7 +182437,7 @@ func fts5LeafRead(tls *libc.TLS, p uintptr, iRowid I64) uintptr { /* sqlite3.c:2 return pRet } -func fts5IndexPrepareStmt(tls *libc.TLS, p uintptr, ppStmt uintptr, zSql uintptr) int32 { /* sqlite3.c:225487:12: */ +func fts5IndexPrepareStmt(tls *libc.TLS, p uintptr, ppStmt uintptr, zSql uintptr) int32 { /* sqlite3.c:225544:12: */ if (*Fts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK { if zSql != 0 { (*Fts5Index)(unsafe.Pointer(p)).Frc = Xsqlite3_prepare_v3(tls, (*Fts5Config)(unsafe.Pointer((*Fts5Index)(unsafe.Pointer(p)).FpConfig)).Fdb, zSql, -1, @@ -182421,7 +182452,7 @@ func fts5IndexPrepareStmt(tls *libc.TLS, p uintptr, ppStmt uintptr, zSql uintptr } // INSERT OR REPLACE a record into the %_data table. -func fts5DataWrite(tls *libc.TLS, p uintptr, iRowid I64, pData uintptr, nData int32) { /* sqlite3.c:225509:13: */ +func fts5DataWrite(tls *libc.TLS, p uintptr, iRowid I64, pData uintptr, nData int32) { /* sqlite3.c:225566:13: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -182449,7 +182480,7 @@ func fts5DataWrite(tls *libc.TLS, p uintptr, iRowid I64, pData uintptr, nData in // Execute the following SQL: // // DELETE FROM %_data WHERE id BETWEEN $iFirst AND $iLast -func fts5DataDelete(tls *libc.TLS, p uintptr, iFirst I64, iLast I64) { /* sqlite3.c:225533:13: */ +func fts5DataDelete(tls *libc.TLS, p uintptr, iFirst I64, iLast I64) { /* sqlite3.c:225590:13: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -182474,7 +182505,7 @@ func fts5DataDelete(tls *libc.TLS, p uintptr, iFirst I64, iLast I64) { /* sqlite } // Remove all records associated with segment iSegid. -func fts5DataRemoveSegment(tls *libc.TLS, p uintptr, iSegid int32) { /* sqlite3.c:225554:13: */ +func fts5DataRemoveSegment(tls *libc.TLS, p uintptr, iSegid int32) { /* sqlite3.c:225611:13: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -182496,7 +182527,7 @@ func fts5DataRemoveSegment(tls *libc.TLS, p uintptr, iSegid int32) { /* sqlite3. // Release a reference to an Fts5Structure object returned by an earlier // call to fts5StructureRead() or fts5StructureDecode(). -func fts5StructureRelease(tls *libc.TLS, pStruct uintptr) { /* sqlite3.c:225576:13: */ +func fts5StructureRelease(tls *libc.TLS, pStruct uintptr) { /* sqlite3.c:225633:13: */ if pStruct != 0 && 0 >= libc.PreDecInt32(&(*Fts5Structure)(unsafe.Pointer(pStruct)).FnRef, 1) { var i int32 @@ -182507,22 +182538,22 @@ func fts5StructureRelease(tls *libc.TLS, pStruct uintptr) { /* sqlite3.c:225576: } } -func fts5StructureRef(tls *libc.TLS, pStruct uintptr) { /* sqlite3.c:225587:13: */ +func fts5StructureRef(tls *libc.TLS, pStruct uintptr) { /* sqlite3.c:225644:13: */ (*Fts5Structure)(unsafe.Pointer(pStruct)).FnRef++ } -func sqlite3Fts5StructureRef(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:225591:13: */ +func sqlite3Fts5StructureRef(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:225648:13: */ fts5StructureRef(tls, (*Fts5Index)(unsafe.Pointer(p)).FpStruct) return (*Fts5Index)(unsafe.Pointer(p)).FpStruct } -func sqlite3Fts5StructureRelease(tls *libc.TLS, p uintptr) { /* sqlite3.c:225595:13: */ +func sqlite3Fts5StructureRelease(tls *libc.TLS, p uintptr) { /* sqlite3.c:225652:13: */ if p != 0 { fts5StructureRelease(tls, p) } } -func sqlite3Fts5StructureTest(tls *libc.TLS, p uintptr, pStruct uintptr) int32 { /* sqlite3.c:225600:12: */ +func sqlite3Fts5StructureTest(tls *libc.TLS, p uintptr, pStruct uintptr) int32 { /* sqlite3.c:225657:12: */ if (*Fts5Index)(unsafe.Pointer(p)).FpStruct != pStruct { return SQLITE_ABORT } @@ -182533,7 +182564,7 @@ func sqlite3Fts5StructureTest(tls *libc.TLS, p uintptr, pStruct uintptr) int32 { // // This function is a no-op if (*pRc) is not SQLITE_OK when it is called. If // an error occurs, (*pRc) is set to an SQLite error code before returning. -func fts5StructureMakeWritable(tls *libc.TLS, pRc uintptr, pp uintptr) { /* sqlite3.c:225613:13: */ +func fts5StructureMakeWritable(tls *libc.TLS, pRc uintptr, pp uintptr) { /* sqlite3.c:225670:13: */ var p uintptr = *(*uintptr)(unsafe.Pointer(pp)) if *(*int32)(unsafe.Pointer(pRc)) == SQLITE_OK && (*Fts5Structure)(unsafe.Pointer(p)).FnRef > 1 { var nByte I64 = I64(uint32(unsafe.Sizeof(Fts5Structure{})) + uint32((*Fts5Structure)(unsafe.Pointer(p)).FnLevel-1)*uint32(unsafe.Sizeof(Fts5StructureLevel{}))) @@ -182575,7 +182606,7 @@ func fts5StructureMakeWritable(tls *libc.TLS, pRc uintptr, pp uintptr) { /* sqli // If an error occurs, *ppOut is set to NULL and an SQLite error code // returned. Otherwise, *ppOut is set to point to the new object and // SQLITE_OK returned. -func fts5StructureDecode(tls *libc.TLS, pData uintptr, nData int32, piCookie uintptr, ppOut uintptr) int32 { /* sqlite3.c:225655:12: */ +func fts5StructureDecode(tls *libc.TLS, pData uintptr, nData int32, piCookie uintptr, ppOut uintptr) int32 { /* sqlite3.c:225712:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -182668,7 +182699,7 @@ func fts5StructureDecode(tls *libc.TLS, pData uintptr, nData int32, piCookie uin // Add a level to the Fts5Structure.aLevel[] array of structure object // (*ppStruct). -func fts5StructureAddLevel(tls *libc.TLS, pRc uintptr, ppStruct uintptr) { /* sqlite3.c:225747:13: */ +func fts5StructureAddLevel(tls *libc.TLS, pRc uintptr, ppStruct uintptr) { /* sqlite3.c:225804:13: */ fts5StructureMakeWritable(tls, pRc, ppStruct) if *(*int32)(unsafe.Pointer(pRc)) == SQLITE_OK { var pStruct uintptr = *(*uintptr)(unsafe.Pointer(ppStruct)) @@ -182688,7 +182719,7 @@ func fts5StructureAddLevel(tls *libc.TLS, pRc uintptr, ppStruct uintptr) { /* sq // Extend level iLvl so that there is room for at least nExtra more // segments. -func fts5StructureExtendLevel(tls *libc.TLS, pRc uintptr, pStruct uintptr, iLvl int32, nExtra int32, bInsert int32) { /* sqlite3.c:225772:13: */ +func fts5StructureExtendLevel(tls *libc.TLS, pRc uintptr, pStruct uintptr, iLvl int32, nExtra int32, bInsert int32) { /* sqlite3.c:225829:13: */ if *(*int32)(unsafe.Pointer(pRc)) == SQLITE_OK { var pLvl uintptr = pStruct + 20 + uintptr(iLvl)*12 var aNew uintptr @@ -182711,7 +182742,7 @@ func fts5StructureExtendLevel(tls *libc.TLS, pRc uintptr, pStruct uintptr, iLvl } } -func fts5StructureReadUncached(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:225801:22: */ +func fts5StructureReadUncached(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:225858:22: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -182739,7 +182770,7 @@ func fts5StructureReadUncached(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c: return *(*uintptr)(unsafe.Pointer(bp + 4 /* pRet */)) } -func fts5IndexDataVersion(tls *libc.TLS, p uintptr) I64 { /* sqlite3.c:225825:12: */ +func fts5IndexDataVersion(tls *libc.TLS, p uintptr) I64 { /* sqlite3.c:225882:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -182772,7 +182803,7 @@ func fts5IndexDataVersion(tls *libc.TLS, p uintptr) I64 { /* sqlite3.c:225825:12 // If an error occurs, NULL is returned and an error code left in the // Fts5Index handle. If an error has already occurred when this function // is called, it is a no-op. -func fts5StructureRead(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:225856:22: */ +func fts5StructureRead(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:225913:22: */ if (*Fts5Index)(unsafe.Pointer(p)).FpStruct == uintptr(0) { (*Fts5Index)(unsafe.Pointer(p)).FiStructVersion = fts5IndexDataVersion(tls, p) @@ -182789,7 +182820,7 @@ func fts5StructureRead(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:225856:2 return (*Fts5Index)(unsafe.Pointer(p)).FpStruct } -func fts5StructureInvalidate(tls *libc.TLS, p uintptr) { /* sqlite3.c:225895:13: */ +func fts5StructureInvalidate(tls *libc.TLS, p uintptr) { /* sqlite3.c:225952:13: */ if (*Fts5Index)(unsafe.Pointer(p)).FpStruct != 0 { fts5StructureRelease(tls, (*Fts5Index)(unsafe.Pointer(p)).FpStruct) (*Fts5Index)(unsafe.Pointer(p)).FpStruct = uintptr(0) @@ -182803,7 +182834,7 @@ func fts5StructureInvalidate(tls *libc.TLS, p uintptr) { /* sqlite3.c:225895:13: // // If an error occurs, leave an error code in the Fts5Index object. If an // error has already occurred, this function is a no-op. -func fts5StructureWrite(tls *libc.TLS, p uintptr, pStruct uintptr) { /* sqlite3.c:225938:13: */ +func fts5StructureWrite(tls *libc.TLS, p uintptr, pStruct uintptr) { /* sqlite3.c:225995:13: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -182856,14 +182887,14 @@ func fts5StructureWrite(tls *libc.TLS, p uintptr, pStruct uintptr) { /* sqlite3. } } -func fts5SegmentSize(tls *libc.TLS, pSeg uintptr) int32 { /* sqlite3.c:225993:12: */ +func fts5SegmentSize(tls *libc.TLS, pSeg uintptr) int32 { /* sqlite3.c:226050:12: */ return 1 + (*Fts5StructureSegment)(unsafe.Pointer(pSeg)).FpgnoLast - (*Fts5StructureSegment)(unsafe.Pointer(pSeg)).FpgnoFirst } // Return a copy of index structure pStruct. Except, promote as many // segments as possible to level iPromote. If an OOM occurs, NULL is // returned. -func fts5StructurePromoteTo(tls *libc.TLS, p uintptr, iPromote int32, szPromote int32, pStruct uintptr) { /* sqlite3.c:226002:13: */ +func fts5StructurePromoteTo(tls *libc.TLS, p uintptr, iPromote int32, szPromote int32, pStruct uintptr) { /* sqlite3.c:226059:13: */ var il int32 var is int32 var pOut uintptr = pStruct + 20 + uintptr(iPromote)*12 @@ -182906,7 +182937,7 @@ func fts5StructurePromoteTo(tls *libc.TLS, p uintptr, iPromote int32, szPromote // // If one or more segments are promoted, the structure object is updated // to reflect this. -func fts5StructurePromote(tls *libc.TLS, p uintptr, iLvl int32, pStruct uintptr) { /* sqlite3.c:226045:13: */ +func fts5StructurePromote(tls *libc.TLS, p uintptr, iLvl int32, pStruct uintptr) { /* sqlite3.c:226102:13: */ if (*Fts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK { var iTst int32 var iPromote int32 = -1 @@ -182955,7 +182986,7 @@ func fts5StructurePromote(tls *libc.TLS, p uintptr, iLvl int32, pStruct uintptr) // Advance the iterator passed as the only argument. If the end of the // doclist-index page is reached, return non-zero. -func fts5DlidxLvlNext(tls *libc.TLS, pLvl uintptr) int32 { /* sqlite3.c:226096:12: */ +func fts5DlidxLvlNext(tls *libc.TLS, pLvl uintptr) int32 { /* sqlite3.c:226153:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -182991,7 +183022,7 @@ func fts5DlidxLvlNext(tls *libc.TLS, pLvl uintptr) int32 { /* sqlite3.c:226096:1 } // Advance the iterator passed as the only argument. -func fts5DlidxIterNextR(tls *libc.TLS, p uintptr, pIter uintptr, iLvl int32) int32 { /* sqlite3.c:226128:12: */ +func fts5DlidxIterNextR(tls *libc.TLS, p uintptr, pIter uintptr, iLvl int32) int32 { /* sqlite3.c:226185:12: */ var pLvl uintptr = pIter + 8 + uintptr(iLvl)*28 if fts5DlidxLvlNext(tls, pLvl) != 0 { @@ -183012,7 +183043,7 @@ func fts5DlidxIterNextR(tls *libc.TLS, p uintptr, pIter uintptr, iLvl int32) int return (*Fts5DlidxLvl)(unsafe.Pointer(pIter + 8)).FbEof } -func fts5DlidxIterNext(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlite3.c:226148:12: */ +func fts5DlidxIterNext(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlite3.c:226205:12: */ return fts5DlidxIterNextR(tls, p, pIter, 0) } @@ -183025,7 +183056,7 @@ func fts5DlidxIterNext(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlit // // When this function is called pIter->iLeafPgno is the page number the // doclist is associated with (the one featuring the term). -func fts5DlidxIterFirst(tls *libc.TLS, pIter uintptr) int32 { /* sqlite3.c:226163:12: */ +func fts5DlidxIterFirst(tls *libc.TLS, pIter uintptr) int32 { /* sqlite3.c:226220:12: */ var i int32 for i = 0; i < (*Fts5DlidxIter)(unsafe.Pointer(pIter)).FnLvl; i++ { fts5DlidxLvlNext(tls, pIter+8+uintptr(i)*28) @@ -183033,11 +183064,11 @@ func fts5DlidxIterFirst(tls *libc.TLS, pIter uintptr) int32 { /* sqlite3.c:22616 return (*Fts5DlidxLvl)(unsafe.Pointer(pIter + 8)).FbEof } -func fts5DlidxIterEof(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlite3.c:226172:12: */ +func fts5DlidxIterEof(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlite3.c:226229:12: */ return libc.Bool32((*Fts5Index)(unsafe.Pointer(p)).Frc != SQLITE_OK || (*Fts5DlidxLvl)(unsafe.Pointer(pIter+8)).FbEof != 0) } -func fts5DlidxIterLast(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:226176:13: */ +func fts5DlidxIterLast(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:226233:13: */ var i int32 // Advance each level to the last entry on the last page @@ -183058,7 +183089,7 @@ func fts5DlidxIterLast(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:2 } // Move the iterator passed as the only argument to the previous entry. -func fts5DlidxLvlPrev(tls *libc.TLS, pLvl uintptr) int32 { /* sqlite3.c:226199:12: */ +func fts5DlidxLvlPrev(tls *libc.TLS, pLvl uintptr) int32 { /* sqlite3.c:226256:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -183120,7 +183151,7 @@ func fts5DlidxLvlPrev(tls *libc.TLS, pLvl uintptr) int32 { /* sqlite3.c:226199:1 return (*Fts5DlidxLvl)(unsafe.Pointer(pLvl)).FbEof } -func fts5DlidxIterPrevR(tls *libc.TLS, p uintptr, pIter uintptr, iLvl int32) int32 { /* sqlite3.c:226248:12: */ +func fts5DlidxIterPrevR(tls *libc.TLS, p uintptr, pIter uintptr, iLvl int32) int32 { /* sqlite3.c:226305:12: */ var pLvl uintptr = pIter + 8 + uintptr(iLvl)*28 if fts5DlidxLvlPrev(tls, pLvl) != 0 { @@ -183143,12 +183174,12 @@ func fts5DlidxIterPrevR(tls *libc.TLS, p uintptr, pIter uintptr, iLvl int32) int return (*Fts5DlidxLvl)(unsafe.Pointer(pIter + 8)).FbEof } -func fts5DlidxIterPrev(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlite3.c:226271:12: */ +func fts5DlidxIterPrev(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlite3.c:226328:12: */ return fts5DlidxIterPrevR(tls, p, pIter, 0) } // Free a doclist-index iterator object allocated by fts5DlidxIterInit(). -func fts5DlidxIterFree(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:226278:13: */ +func fts5DlidxIterFree(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:226335:13: */ if pIter != 0 { var i int32 for i = 0; i < (*Fts5DlidxIter)(unsafe.Pointer(pIter)).FnLvl; i++ { @@ -183158,7 +183189,7 @@ func fts5DlidxIterFree(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:226278:13: * } } -func fts5DlidxIterInit(tls *libc.TLS, p uintptr, bRev int32, iSegid int32, iLeafPg int32) uintptr { /* sqlite3.c:226288:22: */ +func fts5DlidxIterInit(tls *libc.TLS, p uintptr, bRev int32, iSegid int32, iLeafPg int32) uintptr { /* sqlite3.c:226345:22: */ var pIter uintptr = uintptr(0) var i int32 var bDone int32 = 0 @@ -183200,16 +183231,16 @@ func fts5DlidxIterInit(tls *libc.TLS, p uintptr, bRev int32, iSegid int32, iLeaf return pIter } -func fts5DlidxIterRowid(tls *libc.TLS, pIter uintptr) I64 { /* sqlite3.c:226335:12: */ +func fts5DlidxIterRowid(tls *libc.TLS, pIter uintptr) I64 { /* sqlite3.c:226392:12: */ return (*Fts5DlidxLvl)(unsafe.Pointer(pIter + 8)).FiRowid } -func fts5DlidxIterPgno(tls *libc.TLS, pIter uintptr) int32 { /* sqlite3.c:226338:12: */ +func fts5DlidxIterPgno(tls *libc.TLS, pIter uintptr) int32 { /* sqlite3.c:226395:12: */ return (*Fts5DlidxLvl)(unsafe.Pointer(pIter + 8)).FiLeafPgno } // Load the next leaf page into the segment iterator. -func fts5SegIterNextPage(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:226345:13: */ +func fts5SegIterNextPage(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:226402:13: */ var pLeaf uintptr var pSeg uintptr = (*Fts5SegIter)(unsafe.Pointer(pIter)).FpSeg fts5DataRelease(tls, (*Fts5SegIter)(unsafe.Pointer(pIter)).FpLeaf) @@ -183239,7 +183270,7 @@ func fts5SegIterNextPage(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c // position list size field. Read the varint and return the number of bytes // read. Before returning, set *pnSz to the number of bytes in the position // list, and *pbDel to true if the delete flag is set, or false otherwise. -func fts5GetPoslistSize(tls *libc.TLS, p uintptr, pnSz uintptr, pbDel uintptr) int32 { /* sqlite3.c:226383:12: */ +func fts5GetPoslistSize(tls *libc.TLS, p uintptr, pnSz uintptr, pbDel uintptr) int32 { /* sqlite3.c:226440:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -183268,7 +183299,7 @@ func fts5GetPoslistSize(tls *libc.TLS, p uintptr, pnSz uintptr, pbDel uintptr) i // // Leave Fts5SegIter.iLeafOffset pointing to the first byte of the // position list content (if any). -func fts5SegIterLoadNPos(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:226404:13: */ +func fts5SegIterLoadNPos(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:226461:13: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -183313,7 +183344,7 @@ func fts5SegIterLoadNPos(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c } } -func fts5SegIterLoadRowid(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:226433:13: */ +func fts5SegIterLoadRowid(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:226490:13: */ var a uintptr = (*Fts5Data)(unsafe.Pointer((*Fts5SegIter)(unsafe.Pointer(pIter)).FpLeaf)).Fp // Buffer to read data from var iOff I64 = (*Fts5SegIter)(unsafe.Pointer(pIter)).FiLeafOffset @@ -183345,7 +183376,7 @@ func fts5SegIterLoadRowid(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3. // accordingly and leaves (Fts5SegIter.iLeafOffset) set to the content of // the first position list. The position list belonging to document // (Fts5SegIter.iRowid). -func fts5SegIterLoadTerm(tls *libc.TLS, p uintptr, pIter uintptr, nKeep int32) { /* sqlite3.c:226466:13: */ +func fts5SegIterLoadTerm(tls *libc.TLS, p uintptr, pIter uintptr, nKeep int32) { /* sqlite3.c:226523:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -183379,7 +183410,7 @@ func fts5SegIterLoadTerm(tls *libc.TLS, p uintptr, pIter uintptr, nKeep int32) { fts5SegIterLoadRowid(tls, p, pIter) } -func fts5SegIterSetNext(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:226499:13: */ +func fts5SegIterSetNext(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:226556:13: */ if (*Fts5SegIter)(unsafe.Pointer(pIter)).Fflags&FTS5_SEGITER_REVERSE != 0 { (*Fts5SegIter)(unsafe.Pointer(pIter)).FxNext = *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, uintptr) @@ -183401,7 +183432,7 @@ func fts5SegIterSetNext(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c: // // If an error occurs, Fts5Index.rc is set to an appropriate error code. If // an error has already occurred when this function is called, it is a no-op. -func fts5SegIterInit(tls *libc.TLS, p uintptr, pSeg uintptr, pIter uintptr) { /* sqlite3.c:226517:13: */ +func fts5SegIterInit(tls *libc.TLS, p uintptr, pSeg uintptr, pIter uintptr) { /* sqlite3.c:226574:13: */ if (*Fts5StructureSegment)(unsafe.Pointer(pSeg)).FpgnoFirst == 0 { // This happens if the segment is being used as an input to an incremental // merge and all data has already been "trimmed". See function @@ -183442,7 +183473,7 @@ func fts5SegIterInit(tls *libc.TLS, p uintptr, pSeg uintptr, pIter uintptr) { /* // aRowidOffset[] and iRowidOffset variables. At this point the iterator // is in its regular state - Fts5SegIter.iLeafOffset points to the first // byte of the position list content associated with said rowid. -func fts5SegIterReverseInitPage(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:226566:13: */ +func fts5SegIterReverseInitPage(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:226623:13: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -183501,7 +183532,7 @@ func fts5SegIterReverseInitPage(tls *libc.TLS, p uintptr, pIter uintptr) { /* sq } // -func fts5SegIterReverseNewPage(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:226619:13: */ +func fts5SegIterReverseNewPage(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:226676:13: */ fts5DataRelease(tls, (*Fts5SegIter)(unsafe.Pointer(pIter)).FpLeaf) (*Fts5SegIter)(unsafe.Pointer(pIter)).FpLeaf = uintptr(0) @@ -183551,7 +183582,7 @@ func fts5SegIterReverseNewPage(tls *libc.TLS, p uintptr, pIter uintptr) { /* sql // Return true if the iterator passed as the second argument currently // points to a delete marker. A delete marker is an entry with a 0 byte // position-list. -func fts5MultiIterIsEmpty(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlite3.c:226675:12: */ +func fts5MultiIterIsEmpty(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlite3.c:226732:12: */ var pSeg uintptr = pIter + 68 + uintptr((*Fts5CResult)(unsafe.Pointer((*Fts5Iter)(unsafe.Pointer(pIter)).FaFirst+1*4)).FiFirst)*92 return libc.Bool32((*Fts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK && (*Fts5SegIter)(unsafe.Pointer(pSeg)).FpLeaf != 0 && (*Fts5SegIter)(unsafe.Pointer(pSeg)).FnPos == 0) } @@ -183559,7 +183590,7 @@ func fts5MultiIterIsEmpty(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sq // Advance iterator pIter to the next entry. // // This version of fts5SegIterNext() is only used by reverse iterators. -func fts5SegIterNext_Reverse(tls *libc.TLS, p uintptr, pIter uintptr, pbUnused uintptr) { /* sqlite3.c:226685:13: */ +func fts5SegIterNext_Reverse(tls *libc.TLS, p uintptr, pIter uintptr, pbUnused uintptr) { /* sqlite3.c:226742:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -183588,7 +183619,7 @@ func fts5SegIterNext_Reverse(tls *libc.TLS, p uintptr, pIter uintptr, pbUnused u // // This version of fts5SegIterNext() is only used if detail=none and the // iterator is not a reverse direction iterator. -func fts5SegIterNext_None(tls *libc.TLS, p uintptr, pIter uintptr, pbNewTerm uintptr) { /* sqlite3.c:226719:13: */ +func fts5SegIterNext_None(tls *libc.TLS, p uintptr, pIter uintptr, pbNewTerm uintptr) { /* sqlite3.c:226776:13: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -183693,7 +183724,7 @@ next_none_eof: // If an error occurs, Fts5Index.rc is set to an appropriate error code. It // is not considered an error if the iterator reaches EOF. If an error has // already occurred when this function is called, it is a no-op. -func fts5SegIterNext(tls *libc.TLS, p uintptr, pIter uintptr, pbNewTerm uintptr) { /* sqlite3.c:226791:13: */ +func fts5SegIterNext(tls *libc.TLS, p uintptr, pIter uintptr, pbNewTerm uintptr) { /* sqlite3.c:226848:13: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -183818,7 +183849,7 @@ func fts5SegIterNext(tls *libc.TLS, p uintptr, pIter uintptr, pbNewTerm uintptr) // Iterator pIter currently points to the first rowid in a doclist. This // function sets the iterator up so that iterates in reverse order through // the doclist. -func fts5SegIterReverse(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:226922:13: */ +func fts5SegIterReverse(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:226979:13: */ var pDlidx uintptr = (*Fts5SegIter)(unsafe.Pointer(pIter)).FpDlidx var pLast uintptr = uintptr(0) var pgnoLast int32 = 0 @@ -183918,7 +183949,7 @@ func fts5SegIterReverse(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c: // There is a doclist-index associated with the final term on the current // page. If the current term is the last term on the page, load the // doclist-index from disk and initialize an iterator at (pIter->pDlidx). -func fts5SegIterLoadDlidx(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:227011:13: */ +func fts5SegIterLoadDlidx(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:227068:13: */ var iSeg int32 = (*Fts5StructureSegment)(unsafe.Pointer((*Fts5SegIter)(unsafe.Pointer(pIter)).FpSeg)).FiSegid var bRev int32 = (*Fts5SegIter)(unsafe.Pointer(pIter)).Fflags & FTS5_SEGITER_REVERSE var pLeaf uintptr = (*Fts5SegIter)(unsafe.Pointer(pIter)).FpLeaf // Current leaf data @@ -183946,7 +183977,7 @@ func fts5SegIterLoadDlidx(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3. // iterator is left pointing to the smallest term in the segment that // is larger than the specified term, even if this term is not on the // current page. -func fts5LeafSeek(tls *libc.TLS, p uintptr, bGe int32, pIter uintptr, pTerm uintptr, nTerm int32) { /* sqlite3.c:227045:13: */ +func fts5LeafSeek(tls *libc.TLS, p uintptr, bGe int32, pIter uintptr, pTerm uintptr, nTerm int32) { /* sqlite3.c:227102:13: */ bp := tls.Alloc(20) defer tls.Free(20) @@ -184180,7 +184211,7 @@ __31: fts5SegIterLoadNPos(tls, p, pIter) } -func fts5IdxSelectStmt(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:227171:21: */ +func fts5IdxSelectStmt(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:227228:21: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -184199,7 +184230,7 @@ func fts5IdxSelectStmt(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:227171:2 // // If an error occurs, Fts5Index.rc is set to an appropriate error code. If // an error has already occurred when this function is called, it is a no-op. -func fts5SegIterSeekInit(tls *libc.TLS, p uintptr, pTerm uintptr, nTerm int32, flags int32, pSeg uintptr, pIter uintptr) { /* sqlite3.c:227190:13: */ +func fts5SegIterSeekInit(tls *libc.TLS, p uintptr, pTerm uintptr, nTerm int32, flags int32, pSeg uintptr, pIter uintptr) { /* sqlite3.c:227247:13: */ var iPg int32 = 1 var bGe int32 = flags & FTS5INDEX_QUERY_SCAN var bDlidx int32 = 0 // True if there is a doclist-index @@ -184269,7 +184300,7 @@ func fts5SegIterSeekInit(tls *libc.TLS, p uintptr, pTerm uintptr, nTerm int32, f // // If an error occurs, Fts5Index.rc is set to an appropriate error code. If // an error has already occurred when this function is called, it is a no-op. -func fts5SegIterHashInit(tls *libc.TLS, p uintptr, pTerm uintptr, nTerm int32, flags int32, pIter uintptr) { /* sqlite3.c:227273:13: */ +func fts5SegIterHashInit(tls *libc.TLS, p uintptr, pTerm uintptr, nTerm int32, flags int32, pIter uintptr) { /* sqlite3.c:227330:13: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -184325,7 +184356,7 @@ func fts5SegIterHashInit(tls *libc.TLS, p uintptr, pTerm uintptr, nTerm int32, f } // Zero the iterator passed as the only argument. -func fts5SegIterClear(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:227332:13: */ +func fts5SegIterClear(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:227389:13: */ sqlite3Fts5BufferFree(tls, pIter+64) fts5DataRelease(tls, (*Fts5SegIter)(unsafe.Pointer(pIter)).FpLeaf) fts5DataRelease(tls, (*Fts5SegIter)(unsafe.Pointer(pIter)).FpNextLeaf) @@ -184340,7 +184371,7 @@ func fts5SegIterClear(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:227332:13: */ // in the pIter->aSeg[] array that is (a) not at EOF, and (b) pointing // to a key that is a duplicate of another, higher priority, // segment-iterator in the pSeg->aSeg[] array. -func fts5MultiIterDoCompare(tls *libc.TLS, pIter uintptr, iOut int32) int32 { /* sqlite3.c:227436:12: */ +func fts5MultiIterDoCompare(tls *libc.TLS, pIter uintptr, iOut int32) int32 { /* sqlite3.c:227493:12: */ var i1 int32 // Index of left-hand Fts5SegIter var i2 int32 // Index of right-hand Fts5SegIter var iRes int32 @@ -184392,7 +184423,7 @@ func fts5MultiIterDoCompare(tls *libc.TLS, pIter uintptr, iOut int32) int32 { /* // Move the seg-iter so that it points to the first rowid on page iLeafPgno. // It is an error if leaf iLeafPgno does not exist or contains no rowids. -func fts5SegIterGotoPage(tls *libc.TLS, p uintptr, pIter uintptr, iLeafPgno int32) { /* sqlite3.c:227490:13: */ +func fts5SegIterGotoPage(tls *libc.TLS, p uintptr, pIter uintptr, iLeafPgno int32) { /* sqlite3.c:227547:13: */ if iLeafPgno > (*Fts5StructureSegment)(unsafe.Pointer((*Fts5SegIter)(unsafe.Pointer(pIter)).FpSeg)).FpgnoLast { (*Fts5Index)(unsafe.Pointer(p)).Frc = SQLITE_CORRUPT | int32(1)<<8 @@ -184422,7 +184453,7 @@ func fts5SegIterGotoPage(tls *libc.TLS, p uintptr, pIter uintptr, iLeafPgno int3 // Advance the iterator passed as the second argument until it is at or // past rowid iFrom. Regardless of the value of iFrom, the iterator is // always advanced at least once. -func fts5SegIterNextFrom(tls *libc.TLS, p uintptr, pIter uintptr, iMatch I64) { /* sqlite3.c:227528:13: */ +func fts5SegIterNextFrom(tls *libc.TLS, p uintptr, pIter uintptr, iMatch I64) { /* sqlite3.c:227585:13: */ var bRev int32 = (*Fts5SegIter)(unsafe.Pointer(pIter)).Fflags & FTS5_SEGITER_REVERSE var pDlidx uintptr = (*Fts5SegIter)(unsafe.Pointer(pIter)).FpDlidx var iLeafPgno int32 = (*Fts5SegIter)(unsafe.Pointer(pIter)).FiLeafPgno @@ -184472,7 +184503,7 @@ func fts5SegIterNextFrom(tls *libc.TLS, p uintptr, pIter uintptr, iMatch I64) { } // Free the iterator object passed as the second argument. -func fts5MultiIterFree(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:227582:13: */ +func fts5MultiIterFree(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:227639:13: */ if pIter != 0 { var i int32 for i = 0; i < (*Fts5Iter)(unsafe.Pointer(pIter)).FnSeg; i++ { @@ -184483,7 +184514,7 @@ func fts5MultiIterFree(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:227582:13: * } } -func fts5MultiIterAdvanced(tls *libc.TLS, p uintptr, pIter uintptr, iChanged int32, iMinset int32) { /* sqlite3.c:227593:13: */ +func fts5MultiIterAdvanced(tls *libc.TLS, p uintptr, pIter uintptr, iChanged int32, iMinset int32) { /* sqlite3.c:227650:13: */ var i int32 for i = ((*Fts5Iter)(unsafe.Pointer(pIter)).FnSeg + iChanged) / 2; i >= iMinset && (*Fts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK; i = i / 2 { var iEq int32 @@ -184506,7 +184537,7 @@ func fts5MultiIterAdvanced(tls *libc.TLS, p uintptr, pIter uintptr, iChanged int // If non-zero is returned, the caller should call fts5MultiIterAdvanced() // on the iterator instead. That function does the same as this one, except // that it deals with more complicated cases as well. -func fts5MultiIterAdvanceRowid(tls *libc.TLS, pIter uintptr, iChanged int32, ppFirst uintptr) int32 { /* sqlite3.c:227621:12: */ +func fts5MultiIterAdvanceRowid(tls *libc.TLS, pIter uintptr, iChanged int32, ppFirst uintptr) int32 { /* sqlite3.c:227678:12: */ var pNew uintptr = pIter + 68 + uintptr(iChanged)*92 if (*Fts5SegIter)(unsafe.Pointer(pNew)).FiRowid == (*Fts5Iter)(unsafe.Pointer(pIter)).FiSwitchRowid || @@ -184546,7 +184577,7 @@ func fts5MultiIterAdvanceRowid(tls *libc.TLS, pIter uintptr, iChanged int32, ppF } // Set the pIter->bEof variable based on the state of the sub-iterators. -func fts5MultiIterSetEof(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:227664:13: */ +func fts5MultiIterSetEof(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:227721:13: */ var pSeg uintptr = pIter + 68 + uintptr((*Fts5CResult)(unsafe.Pointer((*Fts5Iter)(unsafe.Pointer(pIter)).FaFirst+1*4)).FiFirst)*92 (*Fts5Iter)(unsafe.Pointer(pIter)).Fbase.FbEof = U8(libc.Bool32((*Fts5SegIter)(unsafe.Pointer(pSeg)).FpLeaf == uintptr(0))) (*Fts5Iter)(unsafe.Pointer(pIter)).FiSwitchRowid = (*Fts5SegIter)(unsafe.Pointer(pSeg)).FiRowid @@ -184557,7 +184588,7 @@ func fts5MultiIterSetEof(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:227664:13: // If an error occurs, an error code is left in Fts5Index.rc. It is not // considered an error if the iterator reaches EOF, or if it is already at // EOF when this function is called. -func fts5MultiIterNext(tls *libc.TLS, p uintptr, pIter uintptr, bFrom int32, iFrom I64) { /* sqlite3.c:227677:13: */ +func fts5MultiIterNext(tls *libc.TLS, p uintptr, pIter uintptr, bFrom int32, iFrom I64) { /* sqlite3.c:227734:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -184596,7 +184627,7 @@ func fts5MultiIterNext(tls *libc.TLS, p uintptr, pIter uintptr, bFrom int32, iFr } } -func fts5MultiIterNext2(tls *libc.TLS, p uintptr, pIter uintptr, pbNewTerm uintptr) { /* sqlite3.c:227715:13: */ +func fts5MultiIterNext2(tls *libc.TLS, p uintptr, pIter uintptr, pbNewTerm uintptr) { /* sqlite3.c:227772:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -184621,12 +184652,12 @@ func fts5MultiIterNext2(tls *libc.TLS, p uintptr, pIter uintptr, pbNewTerm uintp } } -func fts5IterSetOutputs_Noop(tls *libc.TLS, pUnused1 uintptr, pUnused2 uintptr) { /* sqlite3.c:227743:13: */ +func fts5IterSetOutputs_Noop(tls *libc.TLS, pUnused1 uintptr, pUnused2 uintptr) { /* sqlite3.c:227800:13: */ _ = pUnused1 _ = pUnused2 } -func fts5MultiIterAlloc(tls *libc.TLS, p uintptr, nSeg int32) uintptr { /* sqlite3.c:227747:17: */ +func fts5MultiIterAlloc(tls *libc.TLS, p uintptr, nSeg int32) uintptr { /* sqlite3.c:227804:17: */ var pNew uintptr var nSlot int32 // Power of two >= nSeg @@ -184645,7 +184676,7 @@ func fts5MultiIterAlloc(tls *libc.TLS, p uintptr, nSeg int32) uintptr { /* sqlit return pNew } -func fts5PoslistCallback(tls *libc.TLS, pUnused uintptr, pContext uintptr, pChunk uintptr, nChunk int32) { /* sqlite3.c:227769:13: */ +func fts5PoslistCallback(tls *libc.TLS, pUnused uintptr, pContext uintptr, pChunk uintptr, nChunk int32) { /* sqlite3.c:227826:13: */ _ = pUnused if nChunk > 0 { @@ -184661,21 +184692,21 @@ type PoslistCallbackCtx1 = struct { FpBuf uintptr FpColset uintptr FeState int32 -} /* sqlite3.c:227781:9 */ +} /* sqlite3.c:227838:9 */ -type PoslistCallbackCtx = PoslistCallbackCtx1 /* sqlite3.c:227781:35 */ +type PoslistCallbackCtx = PoslistCallbackCtx1 /* sqlite3.c:227838:35 */ type PoslistOffsetsCtx1 = struct { FpBuf uintptr FpColset uintptr FiRead int32 FiWrite int32 -} /* sqlite3.c:227788:9 */ +} /* sqlite3.c:227845:9 */ -type PoslistOffsetsCtx = PoslistOffsetsCtx1 /* sqlite3.c:227788:34 */ +type PoslistOffsetsCtx = PoslistOffsetsCtx1 /* sqlite3.c:227845:34 */ // TODO: Make this more efficient! -func fts5IndexColsetTest(tls *libc.TLS, pColset uintptr, iCol int32) int32 { /* sqlite3.c:227799:12: */ +func fts5IndexColsetTest(tls *libc.TLS, pColset uintptr, iCol int32) int32 { /* sqlite3.c:227856:12: */ var i int32 for i = 0; i < (*Fts5Colset)(unsafe.Pointer(pColset)).FnCol; i++ { if *(*int32)(unsafe.Pointer(pColset + 4 + uintptr(i)*4)) == iCol { @@ -184685,7 +184716,7 @@ func fts5IndexColsetTest(tls *libc.TLS, pColset uintptr, iCol int32) int32 { /* return 0 } -func fts5PoslistOffsetsCallback(tls *libc.TLS, pUnused uintptr, pContext uintptr, pChunk uintptr, nChunk int32) { /* sqlite3.c:227807:13: */ +func fts5PoslistOffsetsCallback(tls *libc.TLS, pUnused uintptr, pContext uintptr, pChunk uintptr, nChunk int32) { /* sqlite3.c:227864:13: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -184711,7 +184742,7 @@ func fts5PoslistOffsetsCallback(tls *libc.TLS, pUnused uintptr, pContext uintptr } } -func fts5PoslistFilterCallback(tls *libc.TLS, pUnused uintptr, pContext uintptr, pChunk uintptr, nChunk int32) { /* sqlite3.c:227830:13: */ +func fts5PoslistFilterCallback(tls *libc.TLS, pUnused uintptr, pContext uintptr, pChunk uintptr, nChunk int32) { /* sqlite3.c:227887:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -184791,7 +184822,7 @@ func fts5PoslistFilterCallback(tls *libc.TLS, pUnused uintptr, pContext uintptr, } } -func fts5ChunkIterate(tls *libc.TLS, p uintptr, pSeg uintptr, pCtx uintptr, xChunk uintptr) { /* sqlite3.c:227882:13: */ +func fts5ChunkIterate(tls *libc.TLS, p uintptr, pSeg uintptr, pCtx uintptr, xChunk uintptr) { /* sqlite3.c:227939:13: */ var nRem int32 = (*Fts5SegIter)(unsafe.Pointer(pSeg)).FnPos // Number of bytes still to come var pData uintptr = uintptr(0) var pChunk uintptr = (*Fts5Data)(unsafe.Pointer((*Fts5SegIter)(unsafe.Pointer(pSeg)).FpLeaf)).Fp + uintptr((*Fts5SegIter)(unsafe.Pointer(pSeg)).FiLeafOffset) @@ -184847,7 +184878,7 @@ func fts5ChunkIterate(tls *libc.TLS, p uintptr, pSeg uintptr, pCtx uintptr, xChu // function appends the position list data for the current entry to // buffer pBuf. It does not make a copy of the position-list size // field. -func fts5SegiterPoslist(tls *libc.TLS, p uintptr, pSeg uintptr, pColset uintptr, pBuf uintptr) { /* sqlite3.c:227932:13: */ +func fts5SegiterPoslist(tls *libc.TLS, p uintptr, pSeg uintptr, pColset uintptr, pBuf uintptr) { /* sqlite3.c:227989:13: */ bp := tls.Alloc(28) defer tls.Free(28) @@ -184898,7 +184929,7 @@ func fts5SegiterPoslist(tls *libc.TLS, p uintptr, pSeg uintptr, pColset uintptr, // This function is a no-op if *pRc is other than SQLITE_OK when it is // called. If an OOM error is encountered, *pRc is set to SQLITE_NOMEM // before returning. -func fts5IndexExtractColset(tls *libc.TLS, pRc uintptr, pColset uintptr, pPos uintptr, nPos int32, pIter uintptr) { /* sqlite3.c:227977:13: */ +func fts5IndexExtractColset(tls *libc.TLS, pRc uintptr, pColset uintptr, pPos uintptr, nPos int32, pIter uintptr) { /* sqlite3.c:228034:13: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -184959,7 +184990,7 @@ func fts5IndexExtractColset(tls *libc.TLS, pRc uintptr, pColset uintptr, pPos ui } // xSetOutputs callback used by detail=none tables. -func fts5IterSetOutputs_None(tls *libc.TLS, pIter uintptr, pSeg uintptr) { /* sqlite3.c:228037:13: */ +func fts5IterSetOutputs_None(tls *libc.TLS, pIter uintptr, pSeg uintptr) { /* sqlite3.c:228094:13: */ (*Fts5Iter)(unsafe.Pointer(pIter)).Fbase.FiRowid = (*Fts5SegIter)(unsafe.Pointer(pSeg)).FiRowid (*Fts5Iter)(unsafe.Pointer(pIter)).Fbase.FnData = (*Fts5SegIter)(unsafe.Pointer(pSeg)).FnPos @@ -184967,7 +184998,7 @@ func fts5IterSetOutputs_None(tls *libc.TLS, pIter uintptr, pSeg uintptr) { /* sq // xSetOutputs callback used by detail=full and detail=col tables when no // column filters are specified. -func fts5IterSetOutputs_Nocolset(tls *libc.TLS, pIter uintptr, pSeg uintptr) { /* sqlite3.c:228047:13: */ +func fts5IterSetOutputs_Nocolset(tls *libc.TLS, pIter uintptr, pSeg uintptr) { /* sqlite3.c:228104:13: */ (*Fts5Iter)(unsafe.Pointer(pIter)).Fbase.FiRowid = (*Fts5SegIter)(unsafe.Pointer(pSeg)).FiRowid (*Fts5Iter)(unsafe.Pointer(pIter)).Fbase.FnData = (*Fts5SegIter)(unsafe.Pointer(pSeg)).FnPos @@ -184987,7 +185018,7 @@ func fts5IterSetOutputs_Nocolset(tls *libc.TLS, pIter uintptr, pSeg uintptr) { / // xSetOutputs callback used when the Fts5Colset object has nCol==0 (match // against no columns at all). -func fts5IterSetOutputs_ZeroColset(tls *libc.TLS, pIter uintptr, pSeg uintptr) { /* sqlite3.c:228072:13: */ +func fts5IterSetOutputs_ZeroColset(tls *libc.TLS, pIter uintptr, pSeg uintptr) { /* sqlite3.c:228129:13: */ _ = pSeg (*Fts5Iter)(unsafe.Pointer(pIter)).Fbase.FnData = 0 } @@ -184995,7 +185026,7 @@ func fts5IterSetOutputs_ZeroColset(tls *libc.TLS, pIter uintptr, pSeg uintptr) { // xSetOutputs callback used by detail=col when there is a column filter // and there are 100 or more columns. Also called as a fallback from // fts5IterSetOutputs_Col100 if the column-list spans more than one page. -func fts5IterSetOutputs_Col(tls *libc.TLS, pIter uintptr, pSeg uintptr) { /* sqlite3.c:228082:13: */ +func fts5IterSetOutputs_Col(tls *libc.TLS, pIter uintptr, pSeg uintptr) { /* sqlite3.c:228139:13: */ sqlite3Fts5BufferZero(tls, pIter+24) fts5SegiterPoslist(tls, (*Fts5Iter)(unsafe.Pointer(pIter)).FpIndex, pSeg, (*Fts5Iter)(unsafe.Pointer(pIter)).FpColset, pIter+24) (*Fts5Iter)(unsafe.Pointer(pIter)).Fbase.FiRowid = (*Fts5SegIter)(unsafe.Pointer(pSeg)).FiRowid @@ -185011,7 +185042,7 @@ func fts5IterSetOutputs_Col(tls *libc.TLS, pIter uintptr, pSeg uintptr) { /* sql // // The last point is to ensure all column numbers are stored as // single-byte varints. -func fts5IterSetOutputs_Col100(tls *libc.TLS, pIter uintptr, pSeg uintptr) { /* sqlite3.c:228100:13: */ +func fts5IterSetOutputs_Col100(tls *libc.TLS, pIter uintptr, pSeg uintptr) { /* sqlite3.c:228157:13: */ var a uintptr var pEnd uintptr var iPrev int32 @@ -185073,7 +185104,7 @@ __2: } // xSetOutputs callback used by detail=full when there is a column filter. -func fts5IterSetOutputs_Full(tls *libc.TLS, pIter uintptr, pSeg uintptr) { /* sqlite3.c:228140:13: */ +func fts5IterSetOutputs_Full(tls *libc.TLS, pIter uintptr, pSeg uintptr) { /* sqlite3.c:228197:13: */ var pColset uintptr = (*Fts5Iter)(unsafe.Pointer(pIter)).FpColset (*Fts5Iter)(unsafe.Pointer(pIter)).Fbase.FiRowid = (*Fts5SegIter)(unsafe.Pointer(pSeg)).FiRowid @@ -185095,7 +185126,7 @@ func fts5IterSetOutputs_Full(tls *libc.TLS, pIter uintptr, pSeg uintptr) { /* sq } } -func fts5IterSetOutputCb(tls *libc.TLS, pRc uintptr, pIter uintptr) { /* sqlite3.c:228165:13: */ +func fts5IterSetOutputCb(tls *libc.TLS, pRc uintptr, pIter uintptr) { /* sqlite3.c:228222:13: */ if *(*int32)(unsafe.Pointer(pRc)) == SQLITE_OK { var pConfig uintptr = (*Fts5Index)(unsafe.Pointer((*Fts5Iter)(unsafe.Pointer(pIter)).FpIndex)).FpConfig @@ -185140,7 +185171,7 @@ func fts5IterSetOutputCb(tls *libc.TLS, pRc uintptr, pIter uintptr) { /* sqlite3 // // The iterator initially points to the first term/rowid entry in the // iterated data. -func fts5MultiIterNew(tls *libc.TLS, p uintptr, pStruct uintptr, flags int32, pColset uintptr, pTerm uintptr, nTerm int32, iLevel int32, nSegment int32, ppOut uintptr) { /* sqlite3.c:228209:13: */ +func fts5MultiIterNew(tls *libc.TLS, p uintptr, pStruct uintptr, flags int32, pColset uintptr, pTerm uintptr, nTerm int32, iLevel int32, nSegment int32, ppOut uintptr) { /* sqlite3.c:228266:13: */ var nSeg int32 // Number of segment-iters in use var iIter int32 // var iSeg int32 // Used to iterate through segments @@ -185343,7 +185374,7 @@ fts5MultiIterNew_post_check: // Create an Fts5Iter that iterates through the doclist provided // as the second argument. -func fts5MultiIterNew2(tls *libc.TLS, p uintptr, pData uintptr, bDesc int32, ppOut uintptr) { /* sqlite3.c:228315:13: */ +func fts5MultiIterNew2(tls *libc.TLS, p uintptr, pData uintptr, bDesc int32, ppOut uintptr) { /* sqlite3.c:228372:13: */ var pNew uintptr pNew = fts5MultiIterAlloc(tls, p, 2) if pNew != 0 { @@ -185376,7 +185407,7 @@ func fts5MultiIterNew2(tls *libc.TLS, p uintptr, pData uintptr, bDesc int32, ppO // Return true if the iterator is at EOF or if an error has occurred. // False otherwise. -func fts5MultiIterEof(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlite3.c:228355:12: */ +func fts5MultiIterEof(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlite3.c:228412:12: */ return libc.Bool32((*Fts5Index)(unsafe.Pointer(p)).Frc != 0 || (*Fts5Iter)(unsafe.Pointer(pIter)).Fbase.FbEof != 0) } @@ -185384,13 +185415,13 @@ func fts5MultiIterEof(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlite // Return the rowid of the entry that the iterator currently points // to. If the iterator points to EOF when this function is called the // results are undefined. -func fts5MultiIterRowid(tls *libc.TLS, pIter uintptr) I64 { /* sqlite3.c:228368:12: */ +func fts5MultiIterRowid(tls *libc.TLS, pIter uintptr) I64 { /* sqlite3.c:228425:12: */ return (*Fts5SegIter)(unsafe.Pointer(pIter + 68 + uintptr((*Fts5CResult)(unsafe.Pointer((*Fts5Iter)(unsafe.Pointer(pIter)).FaFirst+1*4)).FiFirst)*92)).FiRowid } // Move the iterator to the next entry at or following iMatch. -func fts5MultiIterNextFrom(tls *libc.TLS, p uintptr, pIter uintptr, iMatch I64) { /* sqlite3.c:228376:13: */ +func fts5MultiIterNextFrom(tls *libc.TLS, p uintptr, pIter uintptr, iMatch I64) { /* sqlite3.c:228433:13: */ for 1 != 0 { var iRowid I64 fts5MultiIterNext(tls, p, pIter, 1, iMatch) @@ -185409,7 +185440,7 @@ func fts5MultiIterNextFrom(tls *libc.TLS, p uintptr, pIter uintptr, iMatch I64) // Return a pointer to a buffer containing the term associated with the // entry that the iterator currently points to. -func fts5MultiIterTerm(tls *libc.TLS, pIter uintptr, pn uintptr) uintptr { /* sqlite3.c:228395:17: */ +func fts5MultiIterTerm(tls *libc.TLS, pIter uintptr, pn uintptr) uintptr { /* sqlite3.c:228452:17: */ var p uintptr = pIter + 68 + uintptr((*Fts5CResult)(unsafe.Pointer((*Fts5Iter)(unsafe.Pointer(pIter)).FaFirst+1*4)).FiFirst)*92 *(*int32)(unsafe.Pointer(pn)) = (*Fts5SegIter)(unsafe.Pointer(p)).Fterm.Fn return (*Fts5SegIter)(unsafe.Pointer(p)).Fterm.Fp @@ -185422,7 +185453,7 @@ func fts5MultiIterTerm(tls *libc.TLS, pIter uintptr, pn uintptr) uintptr { /* sq // // If an error has already occurred, this function is a no-op. 0 is // returned in this case. -func fts5AllocateSegid(tls *libc.TLS, p uintptr, pStruct uintptr) int32 { /* sqlite3.c:228410:12: */ +func fts5AllocateSegid(tls *libc.TLS, p uintptr, pStruct uintptr) int32 { /* sqlite3.c:228467:12: */ bp := tls.Alloc(252) defer tls.Free(252) @@ -185464,7 +185495,7 @@ func fts5AllocateSegid(tls *libc.TLS, p uintptr, pStruct uintptr) int32 { /* sql } // Discard all data currently cached in the hash-tables. -func fts5IndexDiscardData(tls *libc.TLS, p uintptr) { /* sqlite3.c:228467:13: */ +func fts5IndexDiscardData(tls *libc.TLS, p uintptr) { /* sqlite3.c:228524:13: */ if (*Fts5Index)(unsafe.Pointer(p)).FpHash != 0 { sqlite3Fts5HashClear(tls, (*Fts5Index)(unsafe.Pointer(p)).FpHash) @@ -185477,7 +185508,7 @@ func fts5IndexDiscardData(tls *libc.TLS, p uintptr) { /* sqlite3.c:228467:13: */ // // Buffer (pNew/) is guaranteed to be greater // than buffer (pOld/nOld). -func fts5PrefixCompress(tls *libc.TLS, nOld int32, pOld uintptr, pNew uintptr) int32 { /* sqlite3.c:228482:12: */ +func fts5PrefixCompress(tls *libc.TLS, nOld int32, pOld uintptr, pNew uintptr) int32 { /* sqlite3.c:228539:12: */ var i int32 for i = 0; i < nOld; i++ { if int32(*(*U8)(unsafe.Pointer(pOld + uintptr(i)))) != int32(*(*U8)(unsafe.Pointer(pNew + uintptr(i)))) { @@ -185487,7 +185518,7 @@ func fts5PrefixCompress(tls *libc.TLS, nOld int32, pOld uintptr, pNew uintptr) i return i } -func fts5WriteDlidxClear(tls *libc.TLS, p uintptr, pWriter uintptr, bFlush int32) { /* sqlite3.c:228490:13: */ +func fts5WriteDlidxClear(tls *libc.TLS, p uintptr, pWriter uintptr, bFlush int32) { /* sqlite3.c:228547:13: */ var i int32 for i = 0; i < (*Fts5SegWriter)(unsafe.Pointer(pWriter)).FnDlidx; i++ { @@ -185508,7 +185539,7 @@ func fts5WriteDlidxClear(tls *libc.TLS, p uintptr, pWriter uintptr, bFlush int32 // Grow the pWriter->aDlidx[] array to at least nLvl elements in size. // Any new array elements are zeroed before returning. -func fts5WriteDlidxGrow(tls *libc.TLS, p uintptr, pWriter uintptr, nLvl int32) int32 { /* sqlite3.c:228516:12: */ +func fts5WriteDlidxGrow(tls *libc.TLS, p uintptr, pWriter uintptr, nLvl int32) int32 { /* sqlite3.c:228573:12: */ if (*Fts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK && nLvl >= (*Fts5SegWriter)(unsafe.Pointer(pWriter)).FnDlidx { var aDlidx uintptr = Xsqlite3_realloc64(tls, (*Fts5SegWriter)(unsafe.Pointer(pWriter)).FaDlidx, uint64(uint32(unsafe.Sizeof(Fts5DlidxWriter{}))*uint32(nLvl))) @@ -185527,7 +185558,7 @@ func fts5WriteDlidxGrow(tls *libc.TLS, p uintptr, pWriter uintptr, nLvl int32) i // If the current doclist-index accumulating in pWriter->aDlidx[] is large // enough, flush it to disk and return 1. Otherwise discard it and return // zero. -func fts5WriteFlushDlidx(tls *libc.TLS, p uintptr, pWriter uintptr) int32 { /* sqlite3.c:228542:12: */ +func fts5WriteFlushDlidx(tls *libc.TLS, p uintptr, pWriter uintptr) int32 { /* sqlite3.c:228599:12: */ var bFlag int32 = 0 // If there were FTS5_MIN_DLIDX_SIZE or more empty leaf pages written @@ -185549,7 +185580,7 @@ func fts5WriteFlushDlidx(tls *libc.TLS, p uintptr, pWriter uintptr) int32 { /* s // it. // // Fts5SegWriter.btterm currently contains the first term on page iBtPage. -func fts5WriteFlushBtree(tls *libc.TLS, p uintptr, pWriter uintptr) { /* sqlite3.c:228566:13: */ +func fts5WriteFlushBtree(tls *libc.TLS, p uintptr, pWriter uintptr) { /* sqlite3.c:228623:13: */ var bFlag int32 if (*Fts5SegWriter)(unsafe.Pointer(pWriter)).FiBtPage == 0 { @@ -185582,7 +185613,7 @@ func fts5WriteFlushBtree(tls *libc.TLS, p uintptr, pWriter uintptr) { /* sqlite3 // // If an error occurs, an error code is left in Fts5Index.rc. If an error // has already occurred when this function is called, it is a no-op. -func fts5WriteBtreeTerm(tls *libc.TLS, p uintptr, pWriter uintptr, nTerm int32, pTerm uintptr) { /* sqlite3.c:228595:13: */ +func fts5WriteBtreeTerm(tls *libc.TLS, p uintptr, pWriter uintptr, nTerm int32, pTerm uintptr) { /* sqlite3.c:228652:13: */ fts5WriteFlushBtree(tls, p, pWriter) if (*Fts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK { sqlite3Fts5BufferSet(tls, p+32, pWriter+76, nTerm, pTerm) @@ -185592,7 +185623,7 @@ func fts5WriteBtreeTerm(tls *libc.TLS, p uintptr, pWriter uintptr, nTerm int32, // This function is called when flushing a leaf page that contains no // terms at all to disk. -func fts5WriteBtreeNoTerm(tls *libc.TLS, p uintptr, pWriter uintptr) { /* sqlite3.c:228611:13: */ +func fts5WriteBtreeNoTerm(tls *libc.TLS, p uintptr, pWriter uintptr) { /* sqlite3.c:228668:13: */ // If there were no rowids on the leaf page either and the doclist-index // has already been started, append an 0x00 byte to it. if (*Fts5SegWriter)(unsafe.Pointer(pWriter)).FbFirstRowidInPage != 0 && (*Fts5DlidxWriter)(unsafe.Pointer((*Fts5SegWriter)(unsafe.Pointer(pWriter)).FaDlidx)).Fbuf.Fn > 0 { @@ -185605,7 +185636,7 @@ func fts5WriteBtreeNoTerm(tls *libc.TLS, p uintptr, pWriter uintptr) { /* sqlite (*Fts5SegWriter)(unsafe.Pointer(pWriter)).FnEmpty++ } -func fts5DlidxExtractFirstRowid(tls *libc.TLS, pBuf uintptr) I64 { /* sqlite3.c:228627:12: */ +func fts5DlidxExtractFirstRowid(tls *libc.TLS, pBuf uintptr) I64 { /* sqlite3.c:228684:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -185621,7 +185652,7 @@ func fts5DlidxExtractFirstRowid(tls *libc.TLS, pBuf uintptr) I64 { /* sqlite3.c: // Rowid iRowid has just been appended to the current leaf page. It is the // first on the page. This function appends an appropriate entry to the current // doclist-index. -func fts5WriteDlidxAppend(tls *libc.TLS, p uintptr, pWriter uintptr, iRowid I64) { /* sqlite3.c:228641:13: */ +func fts5WriteDlidxAppend(tls *libc.TLS, p uintptr, pWriter uintptr, iRowid I64) { /* sqlite3.c:228698:13: */ var i int32 var bDone int32 = 0 @@ -185681,7 +185712,7 @@ func fts5WriteDlidxAppend(tls *libc.TLS, p uintptr, pWriter uintptr, iRowid I64) } } -func fts5WriteFlushLeaf(tls *libc.TLS, p uintptr, pWriter uintptr) { /* sqlite3.c:228701:13: */ +func fts5WriteFlushLeaf(tls *libc.TLS, p uintptr, pWriter uintptr) { /* sqlite3.c:228758:13: */ var pPage uintptr = pWriter + 4 var iRowid I64 @@ -185717,14 +185748,14 @@ func fts5WriteFlushLeaf(tls *libc.TLS, p uintptr, pWriter uintptr) { /* sqlite3. (*Fts5SegWriter)(unsafe.Pointer(pWriter)).FbFirstRowidInPage = U8(1) } -var zero = [4]U8{U8(0x00), U8(0x00), U8(0x00), U8(0x00)} /* sqlite3.c:228702:19 */ +var zero = [4]U8{U8(0x00), U8(0x00), U8(0x00), U8(0x00)} /* sqlite3.c:228759:19 */ // Append term pTerm/nTerm to the segment being written by the writer passed // as the second argument. // // If an error occurs, set the Fts5Index.rc error code. If an error has // already occurred, this function is a no-op. -func fts5WriteAppendTerm(tls *libc.TLS, p uintptr, pWriter uintptr, nTerm int32, pTerm uintptr) { /* sqlite3.c:228747:13: */ +func fts5WriteAppendTerm(tls *libc.TLS, p uintptr, pWriter uintptr, nTerm int32, pTerm uintptr) { /* sqlite3.c:228804:13: */ var nPrefix int32 // Bytes of prefix compression for term var pPage uintptr = pWriter + 4 var pPgidx uintptr = pWriter + 4 + 20 @@ -185800,7 +185831,7 @@ func fts5WriteAppendTerm(tls *libc.TLS, p uintptr, pWriter uintptr, nTerm int32, } // Append a rowid and position-list size field to the writers output. -func fts5WriteAppendRowid(tls *libc.TLS, p uintptr, pWriter uintptr, iRowid I64) { /* sqlite3.c:228828:13: */ +func fts5WriteAppendRowid(tls *libc.TLS, p uintptr, pWriter uintptr, iRowid I64) { /* sqlite3.c:228885:13: */ if (*Fts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK { var pPage uintptr = pWriter + 4 @@ -185829,7 +185860,7 @@ func fts5WriteAppendRowid(tls *libc.TLS, p uintptr, pWriter uintptr, iRowid I64) } } -func fts5WriteAppendPoslistData(tls *libc.TLS, p uintptr, pWriter uintptr, aData uintptr, nData int32) { /* sqlite3.c:228861:13: */ +func fts5WriteAppendPoslistData(tls *libc.TLS, p uintptr, pWriter uintptr, aData uintptr, nData int32) { /* sqlite3.c:228918:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -185858,7 +185889,7 @@ func fts5WriteAppendPoslistData(tls *libc.TLS, p uintptr, pWriter uintptr, aData // Flush any data cached by the writer object to the database. Free any // allocations associated with the writer. -func fts5WriteFinish(tls *libc.TLS, p uintptr, pWriter uintptr, pnLeaf uintptr) { /* sqlite3.c:228895:13: */ +func fts5WriteFinish(tls *libc.TLS, p uintptr, pWriter uintptr, pnLeaf uintptr) { /* sqlite3.c:228952:13: */ var i int32 var pLeaf uintptr = pWriter + 4 if (*Fts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK { @@ -185882,7 +185913,7 @@ func fts5WriteFinish(tls *libc.TLS, p uintptr, pWriter uintptr, pnLeaf uintptr) Xsqlite3_free(tls, (*Fts5SegWriter)(unsafe.Pointer(pWriter)).FaDlidx) } -func fts5WriteInit(tls *libc.TLS, p uintptr, pWriter uintptr, iSegid int32) { /* sqlite3.c:228923:13: */ +func fts5WriteInit(tls *libc.TLS, p uintptr, pWriter uintptr, iSegid int32) { /* sqlite3.c:228980:13: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -185922,7 +185953,7 @@ func fts5WriteInit(tls *libc.TLS, p uintptr, pWriter uintptr, iSegid int32) { /* // Iterator pIter was used to iterate through the input segments of on an // incremental merge operation. This function is called if the incremental // merge step has finished but the input has not been completely exhausted. -func fts5TrimSegments(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:228970:13: */ +func fts5TrimSegments(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:229027:13: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -185991,13 +186022,13 @@ func fts5TrimSegments(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:22 sqlite3Fts5BufferFree(tls, bp) } -func fts5MergeChunkCallback(tls *libc.TLS, p uintptr, pCtx uintptr, pChunk uintptr, nChunk int32) { /* sqlite3.c:229036:13: */ +func fts5MergeChunkCallback(tls *libc.TLS, p uintptr, pCtx uintptr, pChunk uintptr, nChunk int32) { /* sqlite3.c:229093:13: */ var pWriter uintptr = pCtx fts5WriteAppendPoslistData(tls, p, pWriter, pChunk, nChunk) } // -func fts5IndexMergeLevel(tls *libc.TLS, p uintptr, ppStruct uintptr, iLvl int32, pnRem uintptr) { /* sqlite3.c:229048:13: */ +func fts5IndexMergeLevel(tls *libc.TLS, p uintptr, ppStruct uintptr, iLvl int32, pnRem uintptr) { /* sqlite3.c:229105:13: */ bp := tls.Alloc(112) defer tls.Free(112) @@ -186156,7 +186187,7 @@ func fts5IndexMergeLevel(tls *libc.TLS, p uintptr, ppStruct uintptr, iLvl int32, // Do up to nPg pages of automerge work on the index. // // Return true if any changes were actually made, or false otherwise. -func fts5IndexMerge(tls *libc.TLS, p uintptr, ppStruct uintptr, nPg int32, nMin int32) int32 { /* sqlite3.c:229198:12: */ +func fts5IndexMerge(tls *libc.TLS, p uintptr, ppStruct uintptr, nPg int32, nMin int32) int32 { /* sqlite3.c:229255:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -186206,7 +186237,7 @@ func fts5IndexMerge(tls *libc.TLS, p uintptr, ppStruct uintptr, nPg int32, nMin // // If an error occurs, set the Fts5Index.rc error code. If an error has // already occurred, this function is a no-op. -func fts5IndexAutomerge(tls *libc.TLS, p uintptr, ppStruct uintptr, nLeaf int32) { /* sqlite3.c:229257:13: */ +func fts5IndexAutomerge(tls *libc.TLS, p uintptr, ppStruct uintptr, nLeaf int32) { /* sqlite3.c:229314:13: */ if (*Fts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK && (*Fts5Config)(unsafe.Pointer((*Fts5Index)(unsafe.Pointer(p)).FpConfig)).FnAutomerge > 0 && *(*uintptr)(unsafe.Pointer(ppStruct)) != uintptr(0) { var pStruct uintptr = *(*uintptr)(unsafe.Pointer(ppStruct)) var nWrite U64 // Initial value of write-counter @@ -186223,7 +186254,7 @@ func fts5IndexAutomerge(tls *libc.TLS, p uintptr, ppStruct uintptr, nLeaf int32) } } -func fts5IndexCrisismerge(tls *libc.TLS, p uintptr, ppStruct uintptr) { /* sqlite3.c:229278:13: */ +func fts5IndexCrisismerge(tls *libc.TLS, p uintptr, ppStruct uintptr) { /* sqlite3.c:229335:13: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -186240,7 +186271,7 @@ func fts5IndexCrisismerge(tls *libc.TLS, p uintptr, ppStruct uintptr) { /* sqlit *(*uintptr)(unsafe.Pointer(ppStruct)) = *(*uintptr)(unsafe.Pointer(bp /* pStruct */)) } -func fts5IndexReturn(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:229296:12: */ +func fts5IndexReturn(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:229353:12: */ var rc int32 = (*Fts5Index)(unsafe.Pointer(p)).Frc (*Fts5Index)(unsafe.Pointer(p)).Frc = SQLITE_OK return rc @@ -186249,14 +186280,14 @@ func fts5IndexReturn(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:229296:12: * type Fts5FlushCtx1 = struct { FpIdx uintptr Fwriter Fts5SegWriter -} /* sqlite3.c:229302:9 */ +} /* sqlite3.c:229359:9 */ -type Fts5FlushCtx = Fts5FlushCtx1 /* sqlite3.c:229302:29 */ +type Fts5FlushCtx = Fts5FlushCtx1 /* sqlite3.c:229359:29 */ // Buffer aBuf[] contains a list of varints, all small enough to fit // in a 32-bit integer. Return the size of the largest prefix of this // list nMax bytes or less in size. -func fts5PoslistPrefix(tls *libc.TLS, aBuf uintptr, nMax int32) int32 { /* sqlite3.c:229313:12: */ +func fts5PoslistPrefix(tls *libc.TLS, aBuf uintptr, nMax int32) int32 { /* sqlite3.c:229370:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -186281,7 +186312,7 @@ func fts5PoslistPrefix(tls *libc.TLS, aBuf uintptr, nMax int32) int32 { /* sqlit // // If an error occurs, set the Fts5Index.rc error code. If an error has // already occurred, this function is a no-op. -func fts5FlushOneHash(tls *libc.TLS, p uintptr) { /* sqlite3.c:229334:13: */ +func fts5FlushOneHash(tls *libc.TLS, p uintptr) { /* sqlite3.c:229391:13: */ bp := tls.Alloc(128) defer tls.Free(128) @@ -186459,7 +186490,7 @@ func fts5FlushOneHash(tls *libc.TLS, p uintptr) { /* sqlite3.c:229334:13: */ } // Flush any data stored in the in-memory hash tables to the database. -func fts5IndexFlush(tls *libc.TLS, p uintptr) { /* sqlite3.c:229488:13: */ +func fts5IndexFlush(tls *libc.TLS, p uintptr) { /* sqlite3.c:229545:13: */ // Unless it is empty, flush the hash table to disk if (*Fts5Index)(unsafe.Pointer(p)).FnPendingData != 0 { @@ -186468,7 +186499,7 @@ func fts5IndexFlush(tls *libc.TLS, p uintptr) { /* sqlite3.c:229488:13: */ } } -func fts5IndexOptimizeStruct(tls *libc.TLS, p uintptr, pStruct uintptr) uintptr { /* sqlite3.c:229497:22: */ +func fts5IndexOptimizeStruct(tls *libc.TLS, p uintptr, pStruct uintptr) uintptr { /* sqlite3.c:229554:22: */ var pNew uintptr = uintptr(0) var nByte Sqlite3_int64 = Sqlite3_int64(unsafe.Sizeof(Fts5Structure{})) var nSeg int32 = (*Fts5Structure)(unsafe.Pointer(pStruct)).FnSegment @@ -186529,7 +186560,7 @@ func fts5IndexOptimizeStruct(tls *libc.TLS, p uintptr, pStruct uintptr) uintptr return pNew } -func sqlite3Fts5IndexOptimize(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:229559:12: */ +func sqlite3Fts5IndexOptimize(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:229616:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -186563,7 +186594,7 @@ func sqlite3Fts5IndexOptimize(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:229 // This is called to implement the special "VALUES('merge', $nMerge)" // INSERT command. -func sqlite3Fts5IndexMerge(tls *libc.TLS, p uintptr, nMerge int32) int32 { /* sqlite3.c:229593:12: */ +func sqlite3Fts5IndexMerge(tls *libc.TLS, p uintptr, nMerge int32) int32 { /* sqlite3.c:229650:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -186588,12 +186619,12 @@ func sqlite3Fts5IndexMerge(tls *libc.TLS, p uintptr, nMerge int32) int32 { /* sq return fts5IndexReturn(tls, p) } -func fts5AppendRowid(tls *libc.TLS, p uintptr, iDelta I64, pUnused uintptr, pBuf uintptr) { /* sqlite3.c:229615:13: */ +func fts5AppendRowid(tls *libc.TLS, p uintptr, iDelta I64, pUnused uintptr, pBuf uintptr) { /* sqlite3.c:229672:13: */ _ = pUnused sqlite3Fts5BufferAppendVarint(tls, p+32, pBuf, iDelta) } -func fts5AppendPoslist(tls *libc.TLS, p uintptr, iDelta I64, pMulti uintptr, pBuf uintptr) { /* sqlite3.c:229625:13: */ +func fts5AppendPoslist(tls *libc.TLS, p uintptr, iDelta I64, pMulti uintptr, pBuf uintptr) { /* sqlite3.c:229682:13: */ var nData int32 = (*Fts5Iter)(unsafe.Pointer(pMulti)).Fbase.FnData var nByte int32 = nData + 9 + 9 + FTS5_DATA_ZERO_PADDING @@ -186620,7 +186651,7 @@ func fts5AppendPoslist(tls *libc.TLS, p uintptr, iDelta I64, pMulti uintptr, pBu } } -func fts5DoclistIterNext(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:229643:13: */ +func fts5DoclistIterNext(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:229700:13: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -186652,7 +186683,7 @@ func fts5DoclistIterNext(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:229643:13: } } -func fts5DoclistIterInit(tls *libc.TLS, pBuf uintptr, pIter uintptr) { /* sqlite3.c:229672:13: */ +func fts5DoclistIterInit(tls *libc.TLS, pBuf uintptr, pIter uintptr) { /* sqlite3.c:229729:13: */ libc.Xmemset(tls, pIter, 0, uint32(unsafe.Sizeof(Fts5DoclistIter{}))) if (*Fts5Buffer)(unsafe.Pointer(pBuf)).Fn > 0 { (*Fts5DoclistIter)(unsafe.Pointer(pIter)).FaPoslist = (*Fts5Buffer)(unsafe.Pointer(pBuf)).Fp @@ -186662,13 +186693,13 @@ func fts5DoclistIterInit(tls *libc.TLS, pBuf uintptr, pIter uintptr) { /* sqlite } // Swap the contents of buffer *p1 with that of *p2. -func fts5BufferSwap(tls *libc.TLS, p1 uintptr, p2 uintptr) { /* sqlite3.c:229711:13: */ +func fts5BufferSwap(tls *libc.TLS, p1 uintptr, p2 uintptr) { /* sqlite3.c:229768:13: */ var tmp = *(*Fts5Buffer)(unsafe.Pointer(p1)) *(*Fts5Buffer)(unsafe.Pointer(p1)) = *(*Fts5Buffer)(unsafe.Pointer(p2)) *(*Fts5Buffer)(unsafe.Pointer(p2)) = tmp } -func fts5NextRowid(tls *libc.TLS, pBuf uintptr, piOff uintptr, piRowid uintptr) { /* sqlite3.c:229717:13: */ +func fts5NextRowid(tls *libc.TLS, pBuf uintptr, piOff uintptr, piRowid uintptr) { /* sqlite3.c:229774:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -186685,7 +186716,7 @@ func fts5NextRowid(tls *libc.TLS, pBuf uintptr, piOff uintptr, piRowid uintptr) // This is the equivalent of fts5MergePrefixLists() for detail=none mode. // In this case the buffers consist of a delta-encoded list of rowids only. -func fts5MergeRowidLists(tls *libc.TLS, p uintptr, p1 uintptr, nBuf int32, aBuf uintptr) { /* sqlite3.c:229732:13: */ +func fts5MergeRowidLists(tls *libc.TLS, p uintptr, p1 uintptr, nBuf int32, aBuf uintptr) { /* sqlite3.c:229789:13: */ bp := tls.Alloc(36) defer tls.Free(36) @@ -186740,11 +186771,11 @@ type PrefixMerger1 = struct { FiOff int32 FaPos uintptr FpNext uintptr -} /* sqlite3.c:229775:9 */ +} /* sqlite3.c:229832:9 */ -type PrefixMerger = PrefixMerger1 /* sqlite3.c:229775:29 */ +type PrefixMerger = PrefixMerger1 /* sqlite3.c:229832:29 */ -func fts5PrefixMergerInsertByRowid(tls *libc.TLS, ppHead uintptr, p uintptr) { /* sqlite3.c:229784:13: */ +func fts5PrefixMergerInsertByRowid(tls *libc.TLS, ppHead uintptr, p uintptr) { /* sqlite3.c:229841:13: */ if (*PrefixMerger)(unsafe.Pointer(p)).Fiter.FaPoslist != 0 { var pp uintptr = ppHead for *(*uintptr)(unsafe.Pointer(pp)) != 0 && (*PrefixMerger)(unsafe.Pointer(p)).Fiter.FiRowid > (*PrefixMerger)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pp)))).Fiter.FiRowid { @@ -186755,7 +186786,7 @@ func fts5PrefixMergerInsertByRowid(tls *libc.TLS, ppHead uintptr, p uintptr) { / } } -func fts5PrefixMergerInsertByPosition(tls *libc.TLS, ppHead uintptr, p uintptr) { /* sqlite3.c:229798:13: */ +func fts5PrefixMergerInsertByPosition(tls *libc.TLS, ppHead uintptr, p uintptr) { /* sqlite3.c:229855:13: */ if (*PrefixMerger)(unsafe.Pointer(p)).FiPos >= int64(0) { var pp uintptr = ppHead for *(*uintptr)(unsafe.Pointer(pp)) != 0 && (*PrefixMerger)(unsafe.Pointer(p)).FiPos > (*PrefixMerger)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pp)))).FiPos { @@ -186768,7 +186799,7 @@ func fts5PrefixMergerInsertByPosition(tls *libc.TLS, ppHead uintptr, p uintptr) // Array aBuf[] contains nBuf doclists. These are all merged in with the // doclist in buffer p1. -func fts5MergePrefixLists(tls *libc.TLS, p uintptr, p1 uintptr, nBuf int32, aBuf uintptr) { /* sqlite3.c:229817:13: */ +func fts5MergePrefixLists(tls *libc.TLS, p uintptr, p1 uintptr, nBuf int32, aBuf uintptr) { /* sqlite3.c:229874:13: */ bp := tls.Alloc(740) defer tls.Free(740) @@ -186933,7 +186964,7 @@ func fts5MergePrefixLists(tls *libc.TLS, p uintptr, p1 uintptr, nBuf int32, aBuf *(*Fts5Buffer)(unsafe.Pointer(p1)) = *(*Fts5Buffer)(unsafe.Pointer(bp + 708 /* out */)) } -func fts5SetupPrefixIter(tls *libc.TLS, p uintptr, bDesc int32, iIdx int32, pToken uintptr, nToken int32, pColset uintptr, ppIter uintptr) { /* sqlite3.c:229961:13: */ +func fts5SetupPrefixIter(tls *libc.TLS, p uintptr, bDesc int32, iIdx int32, pToken uintptr, nToken int32, pColset uintptr, ppIter uintptr) { /* sqlite3.c:230018:13: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -187080,7 +187111,7 @@ func fts5SetupPrefixIter(tls *libc.TLS, p uintptr, bDesc int32, iIdx int32, pTok // Indicate that all subsequent calls to sqlite3Fts5IndexWrite() pertain // to the document with rowid iRowid. -func sqlite3Fts5IndexBeginWrite(tls *libc.TLS, p uintptr, bDelete int32, iRowid I64) int32 { /* sqlite3.c:230098:12: */ +func sqlite3Fts5IndexBeginWrite(tls *libc.TLS, p uintptr, bDelete int32, iRowid I64) int32 { /* sqlite3.c:230155:12: */ // Allocate the hash table if it has not already been allocated if (*Fts5Index)(unsafe.Pointer(p)).FpHash == uintptr(0) { @@ -187100,7 +187131,7 @@ func sqlite3Fts5IndexBeginWrite(tls *libc.TLS, p uintptr, bDelete int32, iRowid } // Commit data to disk. -func sqlite3Fts5IndexSync(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:230122:12: */ +func sqlite3Fts5IndexSync(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:230179:12: */ fts5IndexFlush(tls, p) sqlite3Fts5IndexCloseReader(tls, p) @@ -187111,7 +187142,7 @@ func sqlite3Fts5IndexSync(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:230122: // to the database. Additionally, assume that the contents of the %_data // table may have changed on disk. So any in-memory caches of %_data // records must be invalidated. -func sqlite3Fts5IndexRollback(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:230135:12: */ +func sqlite3Fts5IndexRollback(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:230192:12: */ sqlite3Fts5IndexCloseReader(tls, p) fts5IndexDiscardData(tls, p) fts5StructureInvalidate(tls, p) @@ -187122,7 +187153,7 @@ func sqlite3Fts5IndexRollback(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:230 // The %_data table is completely empty when this function is called. This // function populates it with the initial structure objects for each index, // and the initial version of the "averages" record (a zero-byte blob). -func sqlite3Fts5IndexReinit(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:230148:12: */ +func sqlite3Fts5IndexReinit(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:230205:12: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -187141,7 +187172,7 @@ func sqlite3Fts5IndexReinit(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:23014 // // If successful, set *pp to point to the new object and return SQLITE_OK. // Otherwise, set *pp to NULL and return an SQLite error code. -func sqlite3Fts5IndexOpen(tls *libc.TLS, pConfig uintptr, bCreate int32, pp uintptr, pzErr uintptr) int32 { /* sqlite3.c:230165:12: */ +func sqlite3Fts5IndexOpen(tls *libc.TLS, pConfig uintptr, bCreate int32, pp uintptr, pzErr uintptr) int32 { /* sqlite3.c:230222:12: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -187175,7 +187206,7 @@ func sqlite3Fts5IndexOpen(tls *libc.TLS, pConfig uintptr, bCreate int32, pp uint } // Close a handle opened by an earlier call to sqlite3Fts5IndexOpen(). -func sqlite3Fts5IndexClose(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:230206:12: */ +func sqlite3Fts5IndexClose(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:230263:12: */ var rc int32 = SQLITE_OK if p != 0 { @@ -187196,7 +187227,7 @@ func sqlite3Fts5IndexClose(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:230206 // Argument p points to a buffer containing utf-8 text that is n bytes in // size. Return the number of bytes in the nChar character prefix of the // buffer, or 0 if there are less than nChar characters in total. -func sqlite3Fts5IndexCharlenToBytelen(tls *libc.TLS, p uintptr, nByte int32, nChar int32) int32 { /* sqlite3.c:230229:12: */ +func sqlite3Fts5IndexCharlenToBytelen(tls *libc.TLS, p uintptr, nByte int32, nChar int32) int32 { /* sqlite3.c:230286:12: */ var n int32 = 0 var i int32 for i = 0; i < nChar; i++ { @@ -187223,7 +187254,7 @@ func sqlite3Fts5IndexCharlenToBytelen(tls *libc.TLS, p uintptr, nByte int32, nCh // pIn is a UTF-8 encoded string, nIn bytes in size. Return the number of // unicode characters in the string. -func fts5IndexCharlen(tls *libc.TLS, pIn uintptr, nIn int32) int32 { /* sqlite3.c:230256:12: */ +func fts5IndexCharlen(tls *libc.TLS, pIn uintptr, nIn int32) int32 { /* sqlite3.c:230313:12: */ var nChar int32 = 0 var i int32 = 0 for i < nIn { @@ -187245,7 +187276,7 @@ func fts5IndexCharlen(tls *libc.TLS, pIn uintptr, nIn int32) int32 { /* sqlite3. // If the operation is a delete, it must be called (at least) once for each // unique token in the document with an iCol value less than zero. The iPos // argument is ignored for a delete. -func sqlite3Fts5IndexWrite(tls *libc.TLS, p uintptr, iCol int32, iPos int32, pToken uintptr, nToken int32) int32 { /* sqlite3.c:230278:12: */ +func sqlite3Fts5IndexWrite(tls *libc.TLS, p uintptr, iCol int32, iPos int32, pToken uintptr, nToken int32) int32 { /* sqlite3.c:230335:12: */ var i int32 // Used to iterate through indexes var rc int32 = SQLITE_OK // Return code var pConfig uintptr = (*Fts5Index)(unsafe.Pointer(p)).FpConfig @@ -187269,7 +187300,7 @@ func sqlite3Fts5IndexWrite(tls *libc.TLS, p uintptr, iCol int32, iPos int32, pTo // Open a new iterator to iterate though all rowid that match the // specified token or token prefix. -func sqlite3Fts5IndexQuery(tls *libc.TLS, p uintptr, pToken uintptr, nToken int32, flags int32, pColset uintptr, ppIter uintptr) int32 { /* sqlite3.c:230314:12: */ +func sqlite3Fts5IndexQuery(tls *libc.TLS, p uintptr, pToken uintptr, nToken int32, flags int32, pColset uintptr, ppIter uintptr) int32 { /* sqlite3.c:230371:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -187352,7 +187383,7 @@ func sqlite3Fts5IndexQuery(tls *libc.TLS, p uintptr, pToken uintptr, nToken int3 // Return true if the iterator passed as the only argument is at EOF. // Move to the next matching rowid. -func sqlite3Fts5IterNext(tls *libc.TLS, pIndexIter uintptr) int32 { /* sqlite3.c:230402:12: */ +func sqlite3Fts5IterNext(tls *libc.TLS, pIndexIter uintptr) int32 { /* sqlite3.c:230459:12: */ var pIter uintptr = pIndexIter fts5MultiIterNext(tls, (*Fts5Iter)(unsafe.Pointer(pIter)).FpIndex, pIter, 0, int64(0)) @@ -187360,7 +187391,7 @@ func sqlite3Fts5IterNext(tls *libc.TLS, pIndexIter uintptr) int32 { /* sqlite3.c } // Move to the next matching term/rowid. Used by the fts5vocab module. -func sqlite3Fts5IterNextScan(tls *libc.TLS, pIndexIter uintptr) int32 { /* sqlite3.c:230412:12: */ +func sqlite3Fts5IterNextScan(tls *libc.TLS, pIndexIter uintptr) int32 { /* sqlite3.c:230469:12: */ var pIter uintptr = pIndexIter var p uintptr = (*Fts5Iter)(unsafe.Pointer(pIter)).FpIndex @@ -187380,14 +187411,14 @@ func sqlite3Fts5IterNextScan(tls *libc.TLS, pIndexIter uintptr) int32 { /* sqlit // Move to the next matching rowid that occurs at or after iMatch. The // definition of "at or after" depends on whether this iterator iterates // in ascending or descending rowid order. -func sqlite3Fts5IterNextFrom(tls *libc.TLS, pIndexIter uintptr, iMatch I64) int32 { /* sqlite3.c:230436:12: */ +func sqlite3Fts5IterNextFrom(tls *libc.TLS, pIndexIter uintptr, iMatch I64) int32 { /* sqlite3.c:230493:12: */ var pIter uintptr = pIndexIter fts5MultiIterNextFrom(tls, (*Fts5Iter)(unsafe.Pointer(pIter)).FpIndex, pIter, iMatch) return fts5IndexReturn(tls, (*Fts5Iter)(unsafe.Pointer(pIter)).FpIndex) } // Return the current term. -func sqlite3Fts5IterTerm(tls *libc.TLS, pIndexIter uintptr, pn uintptr) uintptr { /* sqlite3.c:230445:19: */ +func sqlite3Fts5IterTerm(tls *libc.TLS, pIndexIter uintptr, pn uintptr) uintptr { /* sqlite3.c:230502:19: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -187405,7 +187436,7 @@ func sqlite3Fts5IterTerm(tls *libc.TLS, pIndexIter uintptr, pn uintptr) uintptr } // Close an iterator opened by an earlier call to sqlite3Fts5IndexQuery(). -func sqlite3Fts5IterClose(tls *libc.TLS, pIndexIter uintptr) { /* sqlite3.c:230456:13: */ +func sqlite3Fts5IterClose(tls *libc.TLS, pIndexIter uintptr) { /* sqlite3.c:230513:13: */ if pIndexIter != 0 { var pIter uintptr = pIndexIter var pIndex uintptr = (*Fts5Iter)(unsafe.Pointer(pIter)).FpIndex @@ -187418,7 +187449,7 @@ func sqlite3Fts5IterClose(tls *libc.TLS, pIndexIter uintptr) { /* sqlite3.c:2304 // // Parameter anSize must point to an array of size nCol, where nCol is // the number of user defined columns in the FTS table. -func sqlite3Fts5IndexGetAverages(tls *libc.TLS, p uintptr, pnRow uintptr, anSize uintptr) int32 { /* sqlite3.c:230471:12: */ +func sqlite3Fts5IndexGetAverages(tls *libc.TLS, p uintptr, pnRow uintptr, anSize uintptr) int32 { /* sqlite3.c:230528:12: */ var nCol int32 = (*Fts5Config)(unsafe.Pointer((*Fts5Index)(unsafe.Pointer(p)).FpConfig)).FnCol var pData uintptr @@ -187440,7 +187471,7 @@ func sqlite3Fts5IndexGetAverages(tls *libc.TLS, p uintptr, pnRow uintptr, anSize // Replace the current "averages" record with the contents of the buffer // supplied as the second argument. -func sqlite3Fts5IndexSetAverages(tls *libc.TLS, p uintptr, pData uintptr, nData int32) int32 { /* sqlite3.c:230495:12: */ +func sqlite3Fts5IndexSetAverages(tls *libc.TLS, p uintptr, pData uintptr, nData int32) int32 { /* sqlite3.c:230552:12: */ fts5DataWrite(tls, p, int64(FTS5_AVERAGES_ROWID), pData, nData) return fts5IndexReturn(tls, p) @@ -187448,7 +187479,7 @@ func sqlite3Fts5IndexSetAverages(tls *libc.TLS, p uintptr, pData uintptr, nData // Return the total number of blocks this module has read from the %_data // table since it was created. -func sqlite3Fts5IndexReads(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:230505:12: */ +func sqlite3Fts5IndexReads(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:230562:12: */ return (*Fts5Index)(unsafe.Pointer(p)).FnRead } @@ -187457,7 +187488,7 @@ func sqlite3Fts5IndexReads(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:230505 // // Return SQLITE_OK if successful, or an SQLite error code if an error // occurs. -func sqlite3Fts5IndexSetCookie(tls *libc.TLS, p uintptr, iNew int32) int32 { /* sqlite3.c:230516:12: */ +func sqlite3Fts5IndexSetCookie(tls *libc.TLS, p uintptr, iNew int32) int32 { /* sqlite3.c:230573:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -187479,7 +187510,7 @@ func sqlite3Fts5IndexSetCookie(tls *libc.TLS, p uintptr, iNew int32) int32 { /* return rc } -func sqlite3Fts5IndexLoadConfig(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:230536:12: */ +func sqlite3Fts5IndexLoadConfig(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:230593:12: */ var pStruct uintptr pStruct = fts5StructureRead(tls, p) fts5StructureRelease(tls, pStruct) @@ -187493,7 +187524,7 @@ func sqlite3Fts5IndexLoadConfig(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:2 // functionality. // Return a simple checksum value based on the arguments. -func sqlite3Fts5IndexEntryCksum(tls *libc.TLS, iRowid I64, iCol int32, iPos int32, iIdx int32, pTerm uintptr, nTerm int32) U64 { /* sqlite3.c:230553:12: */ +func sqlite3Fts5IndexEntryCksum(tls *libc.TLS, iRowid I64, iCol int32, iPos int32, iIdx int32, pTerm uintptr, nTerm int32) U64 { /* sqlite3.c:230610:12: */ var i int32 var ret U64 = U64(iRowid) ret = ret + (ret<<3 + U64(iCol)) @@ -187513,7 +187544,7 @@ func sqlite3Fts5IndexEntryCksum(tls *libc.TLS, iRowid I64, iCol int32, iPos int3 // contain zero terms. // 2) All leaves of pSeg between iNoRowid and iLast (inclusive) exist and // contain zero rowids. -func fts5IndexIntegrityCheckEmpty(tls *libc.TLS, p uintptr, pSeg uintptr, iFirst int32, iNoRowid int32, iLast int32) { /* sqlite3.c:230771:13: */ +func fts5IndexIntegrityCheckEmpty(tls *libc.TLS, p uintptr, pSeg uintptr, iFirst int32, iNoRowid int32, iLast int32) { /* sqlite3.c:230828:13: */ var i int32 // Now check that the iter.nEmpty leaves following the current leaf @@ -187532,7 +187563,7 @@ func fts5IndexIntegrityCheckEmpty(tls *libc.TLS, p uintptr, pSeg uintptr, iFirst } } -func fts5IntegrityCheckPgidx(tls *libc.TLS, p uintptr, pLeaf uintptr) { /* sqlite3.c:230792:13: */ +func fts5IntegrityCheckPgidx(tls *libc.TLS, p uintptr, pLeaf uintptr) { /* sqlite3.c:230849:13: */ bp := tls.Alloc(40) defer tls.Free(40) @@ -187591,7 +187622,7 @@ func fts5IntegrityCheckPgidx(tls *libc.TLS, p uintptr, pLeaf uintptr) { /* sqlit sqlite3Fts5BufferFree(tls, bp+28) } -func fts5IndexIntegrityCheckSegment(tls *libc.TLS, p uintptr, pSeg uintptr) { /* sqlite3.c:230842:13: */ +func fts5IndexIntegrityCheckSegment(tls *libc.TLS, p uintptr, pSeg uintptr) { /* sqlite3.c:230899:13: */ bp := tls.Alloc(40) defer tls.Free(40) @@ -187760,7 +187791,7 @@ func fts5IndexIntegrityCheckSegment(tls *libc.TLS, p uintptr, pSeg uintptr) { /* // checksum does not match. Return SQLITE_OK if all checks pass without // error, or some other SQLite error code if another error (e.g. OOM) // occurs. -func sqlite3Fts5IndexIntegrityCheck(tls *libc.TLS, p uintptr, cksum U64, bUseCksum int32) int32 { /* sqlite3.c:230987:12: */ +func sqlite3Fts5IndexIntegrityCheck(tls *libc.TLS, p uintptr, cksum U64, bUseCksum int32) int32 { /* sqlite3.c:231044:12: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -187850,13 +187881,13 @@ func sqlite3Fts5IndexIntegrityCheck(tls *libc.TLS, p uintptr, cksum U64, bUseCks // // If successful, SQLITE_OK is returned. If an error occurs, some other // SQLite error code is returned instead. -func sqlite3Fts5IndexInit(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:231550:12: */ +func sqlite3Fts5IndexInit(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:231607:12: */ return SQLITE_OK _ = db return int32(0) } -func sqlite3Fts5IndexReset(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:231576:12: */ +func sqlite3Fts5IndexReset(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:231633:12: */ if fts5IndexDataVersion(tls, p) != (*Fts5Index)(unsafe.Pointer(p)).FiStructVersion { fts5StructureInvalidate(tls, p) @@ -187889,7 +187920,7 @@ type Fts5Auxdata1 = struct { FpPtr uintptr FxDelete uintptr FpNext uintptr -} /* sqlite3.c:216813:9 */ +} /* sqlite3.c:216870:9 */ // 2014 Jun 09 // @@ -187911,7 +187942,7 @@ type Fts5Auxdata1 = struct { // assert() conditions in the fts5 code are activated - conditions that are // only true if it is guaranteed that the fts5 database is not corrupt. -type Fts5Auxdata = Fts5Auxdata1 /* sqlite3.c:231613:28 */ +type Fts5Auxdata = Fts5Auxdata1 /* sqlite3.c:231670:28 */ type Fts5Auxiliary1 = struct { FpGlobal uintptr FzFunc uintptr @@ -187919,9 +187950,9 @@ type Fts5Auxiliary1 = struct { FxFunc Fts5_extension_function FxDestroy uintptr FpNext uintptr -} /* sqlite3.c:216813:9 */ +} /* sqlite3.c:216870:9 */ -type Fts5Auxiliary = Fts5Auxiliary1 /* sqlite3.c:231614:30 */ +type Fts5Auxiliary = Fts5Auxiliary1 /* sqlite3.c:231671:30 */ type Fts5Cursor1 = struct { Fbase Sqlite3_vtab_cursor FpNext uintptr @@ -187948,35 +187979,35 @@ type Fts5Cursor1 = struct { FnInstAlloc int32 FnInstCount int32 FaInst uintptr -} /* sqlite3.c:216813:9 */ +} /* sqlite3.c:216870:9 */ -type Fts5Cursor = Fts5Cursor1 /* sqlite3.c:231615:27 */ +type Fts5Cursor = Fts5Cursor1 /* sqlite3.c:231672:27 */ type Fts5FullTable1 = struct { Fp Fts5Table FpStorage uintptr FpGlobal uintptr FpSortCsr uintptr -} /* sqlite3.c:231616:9 */ +} /* sqlite3.c:231673:9 */ -type Fts5FullTable = Fts5FullTable1 /* sqlite3.c:231616:30 */ +type Fts5FullTable = Fts5FullTable1 /* sqlite3.c:231673:30 */ type Fts5Sorter1 = struct { FpStmt uintptr FiRowid I64 FaPoslist uintptr FnIdx int32 FaIdx [1]int32 -} /* sqlite3.c:216813:9 */ +} /* sqlite3.c:216870:9 */ -type Fts5Sorter = Fts5Sorter1 /* sqlite3.c:231617:27 */ +type Fts5Sorter = Fts5Sorter1 /* sqlite3.c:231674:27 */ type Fts5TokenizerModule1 = struct { FzName uintptr FpUserData uintptr Fx Fts5_tokenizer FxDestroy uintptr FpNext uintptr -} /* sqlite3.c:216813:9 */ +} /* sqlite3.c:216870:9 */ -type Fts5TokenizerModule = Fts5TokenizerModule1 /* sqlite3.c:231618:36 */ +type Fts5TokenizerModule = Fts5TokenizerModule1 /* sqlite3.c:231675:36 */ // NOTES ON TRANSACTIONS: // @@ -188010,20 +188041,20 @@ type Fts5TokenizerModule = Fts5TokenizerModule1 /* sqlite3.c:231618:36 */ type Fts5TransactionState = struct { FeState int32 FiSavepoint int32 -} /* sqlite3.c:231651:1 */ +} /* sqlite3.c:231708:1 */ type Fts5MatchPhrase = struct { FpPoslist uintptr FnTerm int32 -} /* sqlite3.c:231708:1 */ +} /* sqlite3.c:231765:1 */ // Return true if pTab is a contentless table. -func fts5IsContentless(tls *libc.TLS, pTab uintptr) int32 { /* sqlite3.c:231892:12: */ +func fts5IsContentless(tls *libc.TLS, pTab uintptr) int32 { /* sqlite3.c:231949:12: */ return libc.Bool32((*Fts5Config)(unsafe.Pointer((*Fts5FullTable)(unsafe.Pointer(pTab)).Fp.FpConfig)).FeContent == FTS5_CONTENT_NONE) } // Delete a virtual table handle allocated by fts5InitVtab(). -func fts5FreeVtab(tls *libc.TLS, pTab uintptr) { /* sqlite3.c:231899:13: */ +func fts5FreeVtab(tls *libc.TLS, pTab uintptr) { /* sqlite3.c:231956:13: */ if pTab != 0 { sqlite3Fts5IndexClose(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).Fp.FpIndex) sqlite3Fts5StorageClose(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).FpStorage) @@ -188033,13 +188064,13 @@ func fts5FreeVtab(tls *libc.TLS, pTab uintptr) { /* sqlite3.c:231899:13: */ } // The xDisconnect() virtual table method. -func fts5DisconnectMethod(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:231911:12: */ +func fts5DisconnectMethod(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:231968:12: */ fts5FreeVtab(tls, pVtab) return SQLITE_OK } // The xDestroy() virtual table method. -func fts5DestroyMethod(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:231919:12: */ +func fts5DestroyMethod(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:231976:12: */ var pTab uintptr = pVtab var rc int32 = sqlite3Fts5DropAll(tls, (*Fts5Table)(unsafe.Pointer(pTab)).FpConfig) if rc == SQLITE_OK { @@ -188057,7 +188088,7 @@ func fts5DestroyMethod(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:231919 // argv[1] -> database name // argv[2] -> table name // argv[...] -> "column name" and other module argument fields. -func fts5InitVtab(tls *libc.TLS, bCreate int32, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVTab uintptr, pzErr uintptr) int32 { /* sqlite3.c:231939:12: */ +func fts5InitVtab(tls *libc.TLS, bCreate int32, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVTab uintptr, pzErr uintptr) int32 { /* sqlite3.c:231996:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -188115,11 +188146,11 @@ func fts5InitVtab(tls *libc.TLS, bCreate int32, db uintptr, pAux uintptr, argc i // The xConnect() and xCreate() methods for the virtual table. All the // work is done in function fts5InitVtab(). -func fts5ConnectMethod(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 { /* sqlite3.c:232005:12: */ +func fts5ConnectMethod(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 { /* sqlite3.c:232062:12: */ return fts5InitVtab(tls, 0, db, pAux, argc, argv, ppVtab, pzErr) } -func fts5CreateMethod(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 { /* sqlite3.c:232015:12: */ +func fts5CreateMethod(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 { /* sqlite3.c:232072:12: */ return fts5InitVtab(tls, 1, db, pAux, argc, argv, ppVtab, pzErr) } @@ -188128,14 +188159,14 @@ func fts5CreateMethod(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv // Set the SQLITE_INDEX_SCAN_UNIQUE flag in pIdxInfo->flags. Unless this // extension is currently being used by a version of SQLite too old to // support index-info flags. In that case this function is a no-op. -func fts5SetUniqueFlag(tls *libc.TLS, pIdxInfo uintptr) { /* sqlite3.c:232041:13: */ +func fts5SetUniqueFlag(tls *libc.TLS, pIdxInfo uintptr) { /* sqlite3.c:232098:13: */ { *(*int32)(unsafe.Pointer(pIdxInfo + 52)) |= SQLITE_INDEX_SCAN_UNIQUE } } -func fts5UsePatternMatch(tls *libc.TLS, pConfig uintptr, p uintptr) int32 { /* sqlite3.c:232052:12: */ +func fts5UsePatternMatch(tls *libc.TLS, pConfig uintptr, p uintptr) int32 { /* sqlite3.c:232109:12: */ if (*Fts5Config)(unsafe.Pointer(pConfig)).FePattern == FTS5_PATTERN_GLOB && int32((*sqlite3_index_constraint)(unsafe.Pointer(p)).Fop) == FTS5_PATTERN_GLOB { return 1 @@ -188206,7 +188237,7 @@ func fts5UsePatternMatch(tls *libc.TLS, pConfig uintptr, p uintptr) int32 { /* s // * An == rowid constraint: cost=10.0 // // Costs are not modified by the ORDER BY clause. -func fts5BestIndexMethod(tls *libc.TLS, pVTab uintptr, pInfo uintptr) int32 { /* sqlite3.c:232130:12: */ +func fts5BestIndexMethod(tls *libc.TLS, pVTab uintptr, pInfo uintptr) int32 { /* sqlite3.c:232187:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -188368,7 +188399,7 @@ func fts5BestIndexMethod(tls *libc.TLS, pVTab uintptr, pInfo uintptr) int32 { /* return SQLITE_OK } -func fts5NewTransaction(tls *libc.TLS, pTab uintptr) int32 { /* sqlite3.c:232265:12: */ +func fts5NewTransaction(tls *libc.TLS, pTab uintptr) int32 { /* sqlite3.c:232322:12: */ var pCsr uintptr for pCsr = (*Fts5Global)(unsafe.Pointer((*Fts5FullTable)(unsafe.Pointer(pTab)).FpGlobal)).FpCsr; pCsr != 0; pCsr = (*Fts5Cursor)(unsafe.Pointer(pCsr)).FpNext { if (*Fts5Cursor)(unsafe.Pointer(pCsr)).Fbase.FpVtab == pTab { @@ -188379,7 +188410,7 @@ func fts5NewTransaction(tls *libc.TLS, pTab uintptr) int32 { /* sqlite3.c:232265 } // Implementation of xOpen method. -func fts5OpenMethod(tls *libc.TLS, pVTab uintptr, ppCsr uintptr) int32 { /* sqlite3.c:232276:12: */ +func fts5OpenMethod(tls *libc.TLS, pVTab uintptr, ppCsr uintptr) int32 { /* sqlite3.c:232333:12: */ var pTab uintptr = pVTab var pConfig uintptr = (*Fts5FullTable)(unsafe.Pointer(pTab)).Fp.FpConfig var pCsr uintptr = uintptr(0) // New cursor object @@ -188405,7 +188436,7 @@ func fts5OpenMethod(tls *libc.TLS, pVTab uintptr, ppCsr uintptr) int32 { /* sqli return rc } -func fts5StmtType(tls *libc.TLS, pCsr uintptr) int32 { /* sqlite3.c:232302:12: */ +func fts5StmtType(tls *libc.TLS, pCsr uintptr) int32 { /* sqlite3.c:232359:12: */ if (*Fts5Cursor)(unsafe.Pointer(pCsr)).FePlan == FTS5_PLAN_SCAN { if (*Fts5Cursor)(unsafe.Pointer(pCsr)).FbDesc != 0 { return FTS5_STMT_SCAN_DESC @@ -188418,11 +188449,11 @@ func fts5StmtType(tls *libc.TLS, pCsr uintptr) int32 { /* sqlite3.c:232302:12: * // This function is called after the cursor passed as the only argument // is moved to point at a different row. It clears all cached data // specific to the previous row stored by the cursor object. -func fts5CsrNewrow(tls *libc.TLS, pCsr uintptr) { /* sqlite3.c:232314:13: */ +func fts5CsrNewrow(tls *libc.TLS, pCsr uintptr) { /* sqlite3.c:232371:13: */ *(*int32)(unsafe.Pointer(pCsr + 56)) |= FTS5CSR_REQUIRE_CONTENT | FTS5CSR_REQUIRE_DOCSIZE | FTS5CSR_REQUIRE_INST | FTS5CSR_REQUIRE_POSLIST } -func fts5FreeCursorComponents(tls *libc.TLS, pCsr uintptr) { /* sqlite3.c:232323:13: */ +func fts5FreeCursorComponents(tls *libc.TLS, pCsr uintptr) { /* sqlite3.c:232380:13: */ var pTab uintptr = (*Fts5Cursor)(unsafe.Pointer(pCsr)).Fbase.FpVtab var pData uintptr var pNext uintptr @@ -188465,7 +188496,7 @@ func fts5FreeCursorComponents(tls *libc.TLS, pCsr uintptr) { /* sqlite3.c:232323 // Close the cursor. For additional information see the documentation // on the xClose method of the virtual table interface. -func fts5CloseMethod(tls *libc.TLS, pCursor uintptr) int32 { /* sqlite3.c:232367:12: */ +func fts5CloseMethod(tls *libc.TLS, pCursor uintptr) int32 { /* sqlite3.c:232424:12: */ if pCursor != 0 { var pTab uintptr = (*Sqlite3_vtab_cursor)(unsafe.Pointer(pCursor)).FpVtab var pCsr uintptr = pCursor @@ -188482,7 +188513,7 @@ func fts5CloseMethod(tls *libc.TLS, pCursor uintptr) int32 { /* sqlite3.c:232367 return SQLITE_OK } -func fts5SorterNext(tls *libc.TLS, pCsr uintptr) int32 { /* sqlite3.c:232383:12: */ +func fts5SorterNext(tls *libc.TLS, pCsr uintptr) int32 { /* sqlite3.c:232440:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -188526,7 +188557,7 @@ func fts5SorterNext(tls *libc.TLS, pCsr uintptr) int32 { /* sqlite3.c:232383:12: // Set the FTS5CSR_REQUIRE_RESEEK flag on all FTS5_PLAN_MATCH cursors // open on table pTab. -func fts5TripCursors(tls *libc.TLS, pTab uintptr) { /* sqlite3.c:232426:13: */ +func fts5TripCursors(tls *libc.TLS, pTab uintptr) { /* sqlite3.c:232483:13: */ var pCsr uintptr for pCsr = (*Fts5Global)(unsafe.Pointer((*Fts5FullTable)(unsafe.Pointer(pTab)).FpGlobal)).FpCsr; pCsr != 0; pCsr = (*Fts5Cursor)(unsafe.Pointer(pCsr)).FpNext { if (*Fts5Cursor)(unsafe.Pointer(pCsr)).FePlan == FTS5_PLAN_MATCH && @@ -188546,7 +188577,7 @@ func fts5TripCursors(tls *libc.TLS, pTab uintptr) { /* sqlite3.c:232426:13: */ // // Return SQLITE_OK if successful or if no reseek was required, or an // error code if an error occurred. -func fts5CursorReseek(tls *libc.TLS, pCsr uintptr, pbSkip uintptr) int32 { /* sqlite3.c:232449:12: */ +func fts5CursorReseek(tls *libc.TLS, pCsr uintptr, pbSkip uintptr) int32 { /* sqlite3.c:232506:12: */ var rc int32 = SQLITE_OK if (*Fts5Cursor)(unsafe.Pointer(pCsr)).Fcsrflags&FTS5CSR_REQUIRE_RESEEK != 0 { @@ -188575,7 +188606,7 @@ func fts5CursorReseek(tls *libc.TLS, pCsr uintptr, pbSkip uintptr) int32 { /* sq // Return SQLITE_OK if nothing goes wrong. SQLITE_OK is returned // even if we reach end-of-file. The fts5EofMethod() will be called // subsequently to determine whether or not an EOF was hit. -func fts5NextMethod(tls *libc.TLS, pCursor uintptr) int32 { /* sqlite3.c:232481:12: */ +func fts5NextMethod(tls *libc.TLS, pCursor uintptr) int32 { /* sqlite3.c:232538:12: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -188634,7 +188665,7 @@ func fts5NextMethod(tls *libc.TLS, pCursor uintptr) int32 { /* sqlite3.c:232481: return rc } -func fts5PrepareStatement(tls *libc.TLS, ppStmt uintptr, pConfig uintptr, zFmt uintptr, va uintptr) int32 { /* sqlite3.c:232534:12: */ +func fts5PrepareStatement(tls *libc.TLS, ppStmt uintptr, pConfig uintptr, zFmt uintptr, va uintptr) int32 { /* sqlite3.c:232591:12: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -188662,7 +188693,7 @@ func fts5PrepareStatement(tls *libc.TLS, ppStmt uintptr, pConfig uintptr, zFmt u return rc } -func fts5CursorFirstSorted(tls *libc.TLS, pTab uintptr, pCsr uintptr, bDesc int32) int32 { /* sqlite3.c:232563:12: */ +func fts5CursorFirstSorted(tls *libc.TLS, pTab uintptr, pCsr uintptr, bDesc int32) int32 { /* sqlite3.c:232620:12: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -188729,7 +188760,7 @@ func fts5CursorFirstSorted(tls *libc.TLS, pTab uintptr, pCsr uintptr, bDesc int3 return rc } -func fts5CursorFirst(tls *libc.TLS, pTab uintptr, pCsr uintptr, bDesc int32) int32 { /* sqlite3.c:232615:12: */ +func fts5CursorFirst(tls *libc.TLS, pTab uintptr, pCsr uintptr, bDesc int32) int32 { /* sqlite3.c:232672:12: */ var rc int32 var pExpr uintptr = (*Fts5Cursor)(unsafe.Pointer(pCsr)).FpExpr rc = sqlite3Fts5ExprFirst(tls, pExpr, (*Fts5FullTable)(unsafe.Pointer(pTab)).Fp.FpIndex, (*Fts5Cursor)(unsafe.Pointer(pCsr)).FiFirstRowid, bDesc) @@ -188744,7 +188775,7 @@ func fts5CursorFirst(tls *libc.TLS, pTab uintptr, pCsr uintptr, bDesc int32) int // MATCH expression that begins with a '*' character. The remainder of // the text passed to the MATCH operator are used as the special query // parameters. -func fts5SpecialMatch(tls *libc.TLS, pTab uintptr, pCsr uintptr, zQuery uintptr) int32 { /* sqlite3.c:232632:12: */ +func fts5SpecialMatch(tls *libc.TLS, pTab uintptr, pCsr uintptr, zQuery uintptr) int32 { /* sqlite3.c:232689:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -188776,7 +188807,7 @@ func fts5SpecialMatch(tls *libc.TLS, pTab uintptr, pCsr uintptr, zQuery uintptr) // Search for an auxiliary function named zName that can be used with table // pTab. If one is found, return a pointer to the corresponding Fts5Auxiliary // structure. Otherwise, if no such function exists, return NULL. -func fts5FindAuxiliary(tls *libc.TLS, pTab uintptr, zName uintptr) uintptr { /* sqlite3.c:232667:22: */ +func fts5FindAuxiliary(tls *libc.TLS, pTab uintptr, zName uintptr) uintptr { /* sqlite3.c:232724:22: */ var pAux uintptr for pAux = (*Fts5Global)(unsafe.Pointer((*Fts5FullTable)(unsafe.Pointer(pTab)).FpGlobal)).FpAux; pAux != 0; pAux = (*Fts5Auxiliary)(unsafe.Pointer(pAux)).FpNext { @@ -188789,7 +188820,7 @@ func fts5FindAuxiliary(tls *libc.TLS, pTab uintptr, zName uintptr) uintptr { /* return uintptr(0) } -func fts5FindRankFunction(tls *libc.TLS, pCsr uintptr) int32 { /* sqlite3.c:232679:12: */ +func fts5FindRankFunction(tls *libc.TLS, pCsr uintptr) int32 { /* sqlite3.c:232736:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -188842,7 +188873,7 @@ func fts5FindRankFunction(tls *libc.TLS, pCsr uintptr) int32 { /* sqlite3.c:2326 return *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) } -func fts5CursorParseRank(tls *libc.TLS, pConfig uintptr, pCsr uintptr, pRank uintptr) int32 { /* sqlite3.c:232730:12: */ +func fts5CursorParseRank(tls *libc.TLS, pConfig uintptr, pCsr uintptr, pRank uintptr) int32 { /* sqlite3.c:232787:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -188879,7 +188910,7 @@ func fts5CursorParseRank(tls *libc.TLS, pConfig uintptr, pCsr uintptr, pRank uin return rc } -func fts5GetRowidLimit(tls *libc.TLS, pVal uintptr, iDefault I64) I64 { /* sqlite3.c:232767:12: */ +func fts5GetRowidLimit(tls *libc.TLS, pVal uintptr, iDefault I64) I64 { /* sqlite3.c:232824:12: */ if pVal != 0 { var eType int32 = Xsqlite3_value_numeric_type(tls, pVal) if eType == SQLITE_INTEGER { @@ -188898,7 +188929,7 @@ func fts5GetRowidLimit(tls *libc.TLS, pVal uintptr, iDefault I64) I64 { /* sqlit // 1. Full-text search using a MATCH operator. // 2. A by-rowid lookup. // 3. A full-table scan. -func fts5FilterMethod(tls *libc.TLS, pCursor uintptr, idxNum int32, idxStr uintptr, nVal int32, apVal uintptr) int32 { /* sqlite3.c:232788:12: */ +func fts5FilterMethod(tls *libc.TLS, pCursor uintptr, idxNum int32, idxStr uintptr, nVal int32, apVal uintptr) int32 { /* sqlite3.c:232845:12: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -189219,7 +189250,7 @@ filter_out: // This is the xEof method of the virtual table. SQLite calls this // routine to find out if it has reached the end of a result set. -func fts5EofMethod(tls *libc.TLS, pCursor uintptr) int32 { /* sqlite3.c:232981:12: */ +func fts5EofMethod(tls *libc.TLS, pCursor uintptr) int32 { /* sqlite3.c:233038:12: */ var pCsr uintptr = pCursor return func() int32 { if (*Fts5Cursor)(unsafe.Pointer(pCsr)).Fcsrflags&FTS5CSR_EOF != 0 { @@ -189230,7 +189261,7 @@ func fts5EofMethod(tls *libc.TLS, pCursor uintptr) int32 { /* sqlite3.c:232981:1 } // Return the rowid that the cursor currently points to. -func fts5CursorRowid(tls *libc.TLS, pCsr uintptr) I64 { /* sqlite3.c:232989:12: */ +func fts5CursorRowid(tls *libc.TLS, pCsr uintptr) I64 { /* sqlite3.c:233046:12: */ if (*Fts5Cursor)(unsafe.Pointer(pCsr)).FpSorter != 0 { return (*Fts5Sorter)(unsafe.Pointer((*Fts5Cursor)(unsafe.Pointer(pCsr)).FpSorter)).FiRowid @@ -189244,7 +189275,7 @@ func fts5CursorRowid(tls *libc.TLS, pCsr uintptr) I64 { /* sqlite3.c:232989:12: // retrieve the rowid for the current row of the result set. fts5 // exposes %_content.rowid as the rowid for the virtual table. The // rowid should be written to *pRowid. -func fts5RowidMethod(tls *libc.TLS, pCursor uintptr, pRowid uintptr) int32 { /* sqlite3.c:233007:12: */ +func fts5RowidMethod(tls *libc.TLS, pCursor uintptr, pRowid uintptr) int32 { /* sqlite3.c:233064:12: */ var pCsr uintptr = pCursor var ePlan int32 = (*Fts5Cursor)(unsafe.Pointer(pCsr)).FePlan @@ -189274,7 +189305,7 @@ func fts5RowidMethod(tls *libc.TLS, pCursor uintptr, pRowid uintptr) int32 { /* // // If argument bErrormsg is true and an error occurs, an error message may // be left in sqlite3_vtab.zErrMsg. -func fts5SeekCursor(tls *libc.TLS, pCsr uintptr, bErrormsg int32) int32 { /* sqlite3.c:233038:12: */ +func fts5SeekCursor(tls *libc.TLS, pCsr uintptr, bErrormsg int32) int32 { /* sqlite3.c:233095:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -189318,7 +189349,7 @@ func fts5SeekCursor(tls *libc.TLS, pCsr uintptr, bErrormsg int32) int32 { /* sql return rc } -func fts5SetVtabError(tls *libc.TLS, p uintptr, zFormat uintptr, va uintptr) { /* sqlite3.c:233077:13: */ +func fts5SetVtabError(tls *libc.TLS, p uintptr, zFormat uintptr, va uintptr) { /* sqlite3.c:233134:13: */ var ap Va_list _ = ap // ... printf arguments ap = va @@ -189340,7 +189371,7 @@ func fts5SetVtabError(tls *libc.TLS, p uintptr, zFormat uintptr, va uintptr) { / // The commands implemented by this function are documented in the "Special // INSERT Directives" section of the documentation. It should be updated if // more commands are added to this function. -func fts5SpecialInsert(tls *libc.TLS, pTab uintptr, zCmd uintptr, pVal uintptr) int32 { /* sqlite3.c:233100:12: */ +func fts5SpecialInsert(tls *libc.TLS, pTab uintptr, zCmd uintptr, pVal uintptr) int32 { /* sqlite3.c:233157:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -189389,7 +189420,7 @@ func fts5SpecialInsert(tls *libc.TLS, pTab uintptr, zCmd uintptr, pVal uintptr) return rc } -func fts5SpecialDelete(tls *libc.TLS, pTab uintptr, apVal uintptr) int32 { /* sqlite3.c:233156:12: */ +func fts5SpecialDelete(tls *libc.TLS, pTab uintptr, apVal uintptr) int32 { /* sqlite3.c:233213:12: */ var rc int32 = SQLITE_OK var eType1 int32 = Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(apVal + 1*4))) if eType1 == SQLITE_INTEGER { @@ -189399,7 +189430,7 @@ func fts5SpecialDelete(tls *libc.TLS, pTab uintptr, apVal uintptr) int32 { /* sq return rc } -func fts5StorageInsert(tls *libc.TLS, pRc uintptr, pTab uintptr, apVal uintptr, piRowid uintptr) { /* sqlite3.c:233169:13: */ +func fts5StorageInsert(tls *libc.TLS, pRc uintptr, pTab uintptr, apVal uintptr, piRowid uintptr) { /* sqlite3.c:233226:13: */ var rc int32 = *(*int32)(unsafe.Pointer(pRc)) if rc == SQLITE_OK { rc = sqlite3Fts5StorageContentInsert(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).FpStorage, apVal, piRowid) @@ -189422,7 +189453,7 @@ func fts5StorageInsert(tls *libc.TLS, pRc uintptr, pTab uintptr, apVal uintptr, // 2. The "new" rowid. // 3. Values for each of the nCol matchable columns. // 4. Values for the two hidden columns ( and "rank"). -func fts5UpdateMethod(tls *libc.TLS, pVtab uintptr, nArg int32, apVal uintptr, pRowid uintptr) int32 { /* sqlite3.c:233199:12: */ +func fts5UpdateMethod(tls *libc.TLS, pVtab uintptr, nArg int32, apVal uintptr, pRowid uintptr) int32 { /* sqlite3.c:233256:12: */ bp := tls.Alloc(20) defer tls.Free(20) @@ -189524,7 +189555,7 @@ func fts5UpdateMethod(tls *libc.TLS, pVtab uintptr, nArg int32, apVal uintptr, p } // Implementation of xSync() method. -func fts5SyncMethod(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:233325:12: */ +func fts5SyncMethod(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:233382:12: */ var rc int32 var pTab uintptr = pVtab @@ -189536,7 +189567,7 @@ func fts5SyncMethod(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:233325:12 } // Implementation of xBegin() method. -func fts5BeginMethod(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:233339:12: */ +func fts5BeginMethod(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:233396:12: */ fts5NewTransaction(tls, pVtab) return SQLITE_OK @@ -189545,7 +189576,7 @@ func fts5BeginMethod(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:233339:1 // Implementation of xCommit() method. This is a no-op. The contents of // the pending-terms hash-table have already been flushed into the database // by fts5SyncMethod(). -func fts5CommitMethod(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:233350:12: */ +func fts5CommitMethod(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:233407:12: */ _ = pVtab // Call below is a no-op for NDEBUG builds return SQLITE_OK @@ -189553,7 +189584,7 @@ func fts5CommitMethod(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:233350: // Implementation of xRollback(). Discard the contents of the pending-terms // hash-table. Any changes made to the database are reverted by SQLite. -func fts5RollbackMethod(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:233360:12: */ +func fts5RollbackMethod(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:233417:12: */ var rc int32 var pTab uintptr = pVtab @@ -189561,46 +189592,46 @@ func fts5RollbackMethod(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:23336 return rc } -func fts5ApiUserData(tls *libc.TLS, pCtx uintptr) uintptr { /* sqlite3.c:233370:13: */ +func fts5ApiUserData(tls *libc.TLS, pCtx uintptr) uintptr { /* sqlite3.c:233427:13: */ var pCsr uintptr = pCtx return (*Fts5Auxiliary)(unsafe.Pointer((*Fts5Cursor)(unsafe.Pointer(pCsr)).FpAux)).FpUserData } -func fts5ApiColumnCount(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:233375:12: */ +func fts5ApiColumnCount(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:233432:12: */ var pCsr uintptr = pCtx return (*Fts5Config)(unsafe.Pointer((*Fts5Table)(unsafe.Pointer((*Fts5Cursor)(unsafe.Pointer(pCsr)).Fbase.FpVtab)).FpConfig)).FnCol } -func fts5ApiColumnTotalSize(tls *libc.TLS, pCtx uintptr, iCol int32, pnToken uintptr) int32 { /* sqlite3.c:233380:12: */ +func fts5ApiColumnTotalSize(tls *libc.TLS, pCtx uintptr, iCol int32, pnToken uintptr) int32 { /* sqlite3.c:233437:12: */ var pCsr uintptr = pCtx var pTab uintptr = (*Fts5Cursor)(unsafe.Pointer(pCsr)).Fbase.FpVtab return sqlite3Fts5StorageSize(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).FpStorage, iCol, pnToken) } -func fts5ApiRowCount(tls *libc.TLS, pCtx uintptr, pnRow uintptr) int32 { /* sqlite3.c:233390:12: */ +func fts5ApiRowCount(tls *libc.TLS, pCtx uintptr, pnRow uintptr) int32 { /* sqlite3.c:233447:12: */ var pCsr uintptr = pCtx var pTab uintptr = (*Fts5Cursor)(unsafe.Pointer(pCsr)).Fbase.FpVtab return sqlite3Fts5StorageRowCount(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).FpStorage, pnRow) } -func fts5ApiTokenize(tls *libc.TLS, pCtx uintptr, pText uintptr, nText int32, pUserData uintptr, xToken uintptr) int32 { /* sqlite3.c:233396:12: */ +func fts5ApiTokenize(tls *libc.TLS, pCtx uintptr, pText uintptr, nText int32, pUserData uintptr, xToken uintptr) int32 { /* sqlite3.c:233453:12: */ var pCsr uintptr = pCtx var pTab uintptr = (*Fts5Cursor)(unsafe.Pointer(pCsr)).Fbase.FpVtab return sqlite3Fts5Tokenize(tls, (*Fts5Table)(unsafe.Pointer(pTab)).FpConfig, FTS5_TOKENIZE_AUX, pText, nText, pUserData, xToken) } -func fts5ApiPhraseCount(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:233409:12: */ +func fts5ApiPhraseCount(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:233466:12: */ var pCsr uintptr = pCtx return sqlite3Fts5ExprPhraseCount(tls, (*Fts5Cursor)(unsafe.Pointer(pCsr)).FpExpr) } -func fts5ApiPhraseSize(tls *libc.TLS, pCtx uintptr, iPhrase int32) int32 { /* sqlite3.c:233414:12: */ +func fts5ApiPhraseSize(tls *libc.TLS, pCtx uintptr, iPhrase int32) int32 { /* sqlite3.c:233471:12: */ var pCsr uintptr = pCtx return sqlite3Fts5ExprPhraseSize(tls, (*Fts5Cursor)(unsafe.Pointer(pCsr)).FpExpr, iPhrase) } -func fts5ApiColumnText(tls *libc.TLS, pCtx uintptr, iCol int32, pz uintptr, pn uintptr) int32 { /* sqlite3.c:233419:12: */ +func fts5ApiColumnText(tls *libc.TLS, pCtx uintptr, iCol int32, pz uintptr, pn uintptr) int32 { /* sqlite3.c:233476:12: */ var rc int32 = SQLITE_OK var pCsr uintptr = pCtx if fts5IsContentless(tls, (*Fts5Cursor)(unsafe.Pointer(pCsr)).Fbase.FpVtab) != 0 || @@ -189617,7 +189648,7 @@ func fts5ApiColumnText(tls *libc.TLS, pCtx uintptr, iCol int32, pz uintptr, pn u return rc } -func fts5CsrPoslist(tls *libc.TLS, pCsr uintptr, iPhrase int32, pa uintptr, pn uintptr) int32 { /* sqlite3.c:233442:12: */ +func fts5CsrPoslist(tls *libc.TLS, pCsr uintptr, iPhrase int32, pa uintptr, pn uintptr) int32 { /* sqlite3.c:233499:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -189674,7 +189705,7 @@ func fts5CsrPoslist(tls *libc.TLS, pCsr uintptr, iPhrase int32, pa uintptr, pn u // Ensure that the Fts5Cursor.nInstCount and aInst[] variables are populated // correctly for the current view. Return SQLITE_OK if successful, or an // SQLite error code otherwise. -func fts5CacheInstArray(tls *libc.TLS, pCsr uintptr) int32 { /* sqlite3.c:233494:12: */ +func fts5CacheInstArray(tls *libc.TLS, pCsr uintptr) int32 { /* sqlite3.c:233551:12: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -189758,7 +189789,7 @@ func fts5CacheInstArray(tls *libc.TLS, pCsr uintptr) int32 { /* sqlite3.c:233494 return *(*int32)(unsafe.Pointer(bp /* rc */)) } -func fts5ApiInstCount(tls *libc.TLS, pCtx uintptr, pnInst uintptr) int32 { /* sqlite3.c:233568:12: */ +func fts5ApiInstCount(tls *libc.TLS, pCtx uintptr, pnInst uintptr) int32 { /* sqlite3.c:233625:12: */ var pCsr uintptr = pCtx var rc int32 = SQLITE_OK if (*Fts5Cursor)(unsafe.Pointer(pCsr)).Fcsrflags&FTS5CSR_REQUIRE_INST == 0 || @@ -189768,7 +189799,7 @@ func fts5ApiInstCount(tls *libc.TLS, pCtx uintptr, pnInst uintptr) int32 { /* sq return rc } -func fts5ApiInst(tls *libc.TLS, pCtx uintptr, iIdx int32, piPhrase uintptr, piCol uintptr, piOff uintptr) int32 { /* sqlite3.c:233578:12: */ +func fts5ApiInst(tls *libc.TLS, pCtx uintptr, iIdx int32, piPhrase uintptr, piCol uintptr, piOff uintptr) int32 { /* sqlite3.c:233635:12: */ var pCsr uintptr = pCtx var rc int32 = SQLITE_OK if (*Fts5Cursor)(unsafe.Pointer(pCsr)).Fcsrflags&FTS5CSR_REQUIRE_INST == 0 || @@ -189784,11 +189815,11 @@ func fts5ApiInst(tls *libc.TLS, pCtx uintptr, iIdx int32, piPhrase uintptr, piCo return rc } -func fts5ApiRowid(tls *libc.TLS, pCtx uintptr) Sqlite3_int64 { /* sqlite3.c:233607:22: */ +func fts5ApiRowid(tls *libc.TLS, pCtx uintptr) Sqlite3_int64 { /* sqlite3.c:233664:22: */ return fts5CursorRowid(tls, pCtx) } -func fts5ColumnSizeCb(tls *libc.TLS, pContext uintptr, tflags int32, pUnused uintptr, nUnused int32, iUnused1 int32, iUnused2 int32) int32 { /* sqlite3.c:233611:12: */ +func fts5ColumnSizeCb(tls *libc.TLS, pContext uintptr, tflags int32, pUnused uintptr, nUnused int32, iUnused1 int32, iUnused2 int32) int32 { /* sqlite3.c:233668:12: */ var pCnt uintptr = pContext _ = pUnused _ = nUnused @@ -189800,7 +189831,7 @@ func fts5ColumnSizeCb(tls *libc.TLS, pContext uintptr, tflags int32, pUnused uin return SQLITE_OK } -func fts5ApiColumnSize(tls *libc.TLS, pCtx uintptr, iCol int32, pnToken uintptr) int32 { /* sqlite3.c:233628:12: */ +func fts5ApiColumnSize(tls *libc.TLS, pCtx uintptr, iCol int32, pnToken uintptr) int32 { /* sqlite3.c:233685:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -189858,7 +189889,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) int32 { /* sqlite3.c:233681:12: */ +func fts5ApiSetAuxdata(tls *libc.TLS, pCtx uintptr, pPtr uintptr, xDelete uintptr) int32 { /* sqlite3.c:233738:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -189896,7 +189927,7 @@ func fts5ApiSetAuxdata(tls *libc.TLS, pCtx uintptr, pPtr uintptr, xDelete uintpt return SQLITE_OK } -func fts5ApiGetAuxdata(tls *libc.TLS, pCtx uintptr, bClear int32) uintptr { /* sqlite3.c:233716:13: */ +func fts5ApiGetAuxdata(tls *libc.TLS, pCtx uintptr, bClear int32) uintptr { /* sqlite3.c:233773:13: */ var pCsr uintptr = pCtx var pData uintptr var pRet uintptr = uintptr(0) @@ -189918,7 +189949,7 @@ func fts5ApiGetAuxdata(tls *libc.TLS, pCtx uintptr, bClear int32) uintptr { /* s return pRet } -func fts5ApiPhraseNext(tls *libc.TLS, pUnused uintptr, pIter uintptr, piCol uintptr, piOff uintptr) { /* sqlite3.c:233736:13: */ +func fts5ApiPhraseNext(tls *libc.TLS, pUnused uintptr, pIter uintptr, piCol uintptr, piOff uintptr) { /* sqlite3.c:233793:13: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -189940,7 +189971,7 @@ func fts5ApiPhraseNext(tls *libc.TLS, pUnused uintptr, pIter uintptr, piCol uint } } -func fts5ApiPhraseFirst(tls *libc.TLS, pCtx uintptr, iPhrase int32, pIter uintptr, piCol uintptr, piOff uintptr) int32 { /* sqlite3.c:233758:12: */ +func fts5ApiPhraseFirst(tls *libc.TLS, pCtx uintptr, iPhrase int32, pIter uintptr, piCol uintptr, piOff uintptr) int32 { /* sqlite3.c:233815:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -189963,7 +189994,7 @@ func fts5ApiPhraseFirst(tls *libc.TLS, pCtx uintptr, iPhrase int32, pIter uintpt return rc } -func fts5ApiPhraseNextColumn(tls *libc.TLS, pCtx uintptr, pIter uintptr, piCol uintptr) { /* sqlite3.c:233777:13: */ +func fts5ApiPhraseNextColumn(tls *libc.TLS, pCtx uintptr, pIter uintptr, piCol uintptr) { /* sqlite3.c:233834:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -189996,7 +190027,7 @@ func fts5ApiPhraseNextColumn(tls *libc.TLS, pCtx uintptr, pIter uintptr, piCol u } } -func fts5ApiPhraseFirstColumn(tls *libc.TLS, pCtx uintptr, iPhrase int32, pIter uintptr, piCol uintptr) int32 { /* sqlite3.c:233807:12: */ +func fts5ApiPhraseFirstColumn(tls *libc.TLS, pCtx uintptr, iPhrase int32, pIter uintptr, piCol uintptr) int32 { /* sqlite3.c:233864:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -190077,10 +190108,10 @@ var sFts5Api = Fts5ExtensionApi{ FxPhraseNext: 0, FxPhraseFirstColumn: 0, FxPhraseNextColumn: 0, -} /* sqlite3.c:233857:31 */ +} /* sqlite3.c:233914:31 */ // Implementation of API function xQueryPhrase(). -func fts5ApiQueryPhrase(tls *libc.TLS, pCtx uintptr, iPhrase int32, pUserData uintptr, xCallback uintptr) int32 { /* sqlite3.c:233883:12: */ +func fts5ApiQueryPhrase(tls *libc.TLS, pCtx uintptr, iPhrase int32, pUserData uintptr, xCallback uintptr) int32 { /* sqlite3.c:233940:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -190116,7 +190147,7 @@ func fts5ApiQueryPhrase(tls *libc.TLS, pCtx uintptr, iPhrase int32, pUserData ui return rc } -func fts5ApiInvoke(tls *libc.TLS, pAux uintptr, pCsr uintptr, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:233920:13: */ +func fts5ApiInvoke(tls *libc.TLS, pAux uintptr, pCsr uintptr, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:233977:13: */ (*Fts5Cursor)(unsafe.Pointer(pCsr)).FpAux = pAux (*struct { @@ -190125,7 +190156,7 @@ func fts5ApiInvoke(tls *libc.TLS, pAux uintptr, pCsr uintptr, context uintptr, a (*Fts5Cursor)(unsafe.Pointer(pCsr)).FpAux = uintptr(0) } -func fts5CursorFromCsrid(tls *libc.TLS, pGlobal uintptr, iCsrId I64) uintptr { /* sqlite3.c:233933:19: */ +func fts5CursorFromCsrid(tls *libc.TLS, pGlobal uintptr, iCsrId I64) uintptr { /* sqlite3.c:233990:19: */ var pCsr uintptr for pCsr = (*Fts5Global)(unsafe.Pointer(pGlobal)).FpCsr; pCsr != 0; pCsr = (*Fts5Cursor)(unsafe.Pointer(pCsr)).FpNext { if (*Fts5Cursor)(unsafe.Pointer(pCsr)).FiCsrId == iCsrId { @@ -190135,7 +190166,7 @@ func fts5CursorFromCsrid(tls *libc.TLS, pGlobal uintptr, iCsrId I64) uintptr { / return pCsr } -func fts5ApiCallback(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:233941:13: */ +func fts5ApiCallback(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:233998:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -190158,7 +190189,7 @@ func fts5ApiCallback(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { // Given cursor id iId, return a pointer to the corresponding Fts5Table // object. Or NULL If the cursor id does not exist. -func sqlite3Fts5TableFromCsrid(tls *libc.TLS, pGlobal uintptr, iCsrId I64) uintptr { /* sqlite3.c:233970:18: */ +func sqlite3Fts5TableFromCsrid(tls *libc.TLS, pGlobal uintptr, iCsrId I64) uintptr { /* sqlite3.c:234027:18: */ var pCsr uintptr pCsr = fts5CursorFromCsrid(tls, pGlobal, iCsrId) if pCsr != 0 { @@ -190180,7 +190211,7 @@ func sqlite3Fts5TableFromCsrid(tls *libc.TLS, pGlobal uintptr, iCsrId I64) uintp // for phrase 0. The second (same disclaimer) contains the size of position // list 1. And so on. There is no size field for the final position list, // as it can be derived from the total size of the blob. -func fts5PoslistBlob(tls *libc.TLS, pCtx uintptr, pCsr uintptr) int32 { /* sqlite3.c:233997:12: */ +func fts5PoslistBlob(tls *libc.TLS, pCtx uintptr, pCsr uintptr) int32 { /* sqlite3.c:234054:12: */ bp := tls.Alloc(40) defer tls.Free(40) @@ -190244,7 +190275,7 @@ func fts5PoslistBlob(tls *libc.TLS, pCtx uintptr, pCsr uintptr) int32 { /* sqlit // This is the xColumn method, called by SQLite to request a value from // the row that the supplied cursor currently points to. -func fts5ColumnMethod(tls *libc.TLS, pCursor uintptr, pCtx uintptr, iCol int32) int32 { /* sqlite3.c:234054:12: */ +func fts5ColumnMethod(tls *libc.TLS, pCursor uintptr, pCtx uintptr, iCol int32) int32 { /* sqlite3.c:234111:12: */ var pTab uintptr = (*Sqlite3_vtab_cursor)(unsafe.Pointer(pCursor)).FpVtab var pConfig uintptr = (*Fts5FullTable)(unsafe.Pointer(pTab)).Fp.FpConfig var pCsr uintptr = pCursor @@ -190284,7 +190315,7 @@ 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) int32 { /* sqlite3.c:234107:12: */ +func fts5FindFunctionMethod(tls *libc.TLS, pVtab uintptr, nUnused int32, zName uintptr, pxFunc uintptr, ppArg uintptr) int32 { /* sqlite3.c:234164:12: */ var pTab uintptr = pVtab var pAux uintptr @@ -190303,12 +190334,12 @@ func fts5FindFunctionMethod(tls *libc.TLS, pVtab uintptr, nUnused int32, zName u } // Implementation of FTS5 xRename method. Rename an fts5 table. -func fts5RenameMethod(tls *libc.TLS, pVtab uintptr, zName uintptr) int32 { /* sqlite3.c:234132:12: */ +func fts5RenameMethod(tls *libc.TLS, pVtab uintptr, zName uintptr) int32 { /* sqlite3.c:234189:12: */ var pTab uintptr = pVtab return sqlite3Fts5StorageRename(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).FpStorage, zName) } -func sqlite3Fts5FlushToDisk(tls *libc.TLS, pTab uintptr) int32 { /* sqlite3.c:234140:12: */ +func sqlite3Fts5FlushToDisk(tls *libc.TLS, pTab uintptr) int32 { /* sqlite3.c:234197:12: */ fts5TripCursors(tls, pTab) return sqlite3Fts5StorageSync(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).FpStorage) } @@ -190316,7 +190347,7 @@ func sqlite3Fts5FlushToDisk(tls *libc.TLS, pTab uintptr) int32 { /* sqlite3.c:23 // The xSavepoint() method. // // Flush the contents of the pending-terms table to disk. -func fts5SavepointMethod(tls *libc.TLS, pVtab uintptr, iSavepoint int32) int32 { /* sqlite3.c:234150:12: */ +func fts5SavepointMethod(tls *libc.TLS, pVtab uintptr, iSavepoint int32) int32 { /* sqlite3.c:234207:12: */ _ = iSavepoint // Call below is a no-op for NDEBUG builds return sqlite3Fts5FlushToDisk(tls, pVtab) @@ -190325,7 +190356,7 @@ func fts5SavepointMethod(tls *libc.TLS, pVtab uintptr, iSavepoint int32) int32 { // The xRelease() method. // // This is a no-op. -func fts5ReleaseMethod(tls *libc.TLS, pVtab uintptr, iSavepoint int32) int32 { /* sqlite3.c:234161:12: */ +func fts5ReleaseMethod(tls *libc.TLS, pVtab uintptr, iSavepoint int32) int32 { /* sqlite3.c:234218:12: */ _ = iSavepoint // Call below is a no-op for NDEBUG builds return sqlite3Fts5FlushToDisk(tls, pVtab) @@ -190334,7 +190365,7 @@ func fts5ReleaseMethod(tls *libc.TLS, pVtab uintptr, iSavepoint int32) int32 { / // The xRollbackTo() method. // // Discard the contents of the pending terms table. -func fts5RollbackToMethod(tls *libc.TLS, pVtab uintptr, iSavepoint int32) int32 { /* sqlite3.c:234172:12: */ +func fts5RollbackToMethod(tls *libc.TLS, pVtab uintptr, iSavepoint int32) int32 { /* sqlite3.c:234229:12: */ var pTab uintptr = pVtab _ = iSavepoint // Call below is a no-op for NDEBUG builds @@ -190343,7 +190374,7 @@ func fts5RollbackToMethod(tls *libc.TLS, pVtab uintptr, iSavepoint int32) int32 } // Register a new auxiliary function with global context pGlobal. -func fts5CreateAux(tls *libc.TLS, pApi uintptr, zName uintptr, pUserData uintptr, xFunc Fts5_extension_function, xDestroy uintptr) int32 { /* sqlite3.c:234183:12: */ +func fts5CreateAux(tls *libc.TLS, pApi uintptr, zName uintptr, pUserData uintptr, xFunc Fts5_extension_function, xDestroy uintptr) int32 { /* sqlite3.c:234240:12: */ var pGlobal uintptr = pApi var rc int32 = Xsqlite3_overload_function(tls, (*Fts5Global)(unsafe.Pointer(pGlobal)).Fdb, zName, -1) if rc == SQLITE_OK { @@ -190374,7 +190405,7 @@ func fts5CreateAux(tls *libc.TLS, pApi uintptr, zName uintptr, pUserData uintptr // Register a new tokenizer. This is the implementation of the // fts5_api.xCreateTokenizer() method. -func fts5CreateTokenizer(tls *libc.TLS, pApi uintptr, zName uintptr, pUserData uintptr, pTokenizer uintptr, xDestroy uintptr) int32 { /* sqlite3.c:234222:12: */ +func fts5CreateTokenizer(tls *libc.TLS, pApi uintptr, zName uintptr, pUserData uintptr, pTokenizer uintptr, xDestroy uintptr) int32 { /* sqlite3.c:234279:12: */ var pGlobal uintptr = pApi var pNew uintptr var nName Sqlite3_int64 // Size of zName and its \0 terminator @@ -190403,7 +190434,7 @@ func fts5CreateTokenizer(tls *libc.TLS, pApi uintptr, zName uintptr, pUserData u return rc } -func fts5LocateTokenizer(tls *libc.TLS, pGlobal uintptr, zName uintptr) uintptr { /* sqlite3.c:234257:28: */ +func fts5LocateTokenizer(tls *libc.TLS, pGlobal uintptr, zName uintptr) uintptr { /* sqlite3.c:234314:28: */ var pMod uintptr = uintptr(0) if zName == uintptr(0) { @@ -190421,7 +190452,7 @@ func fts5LocateTokenizer(tls *libc.TLS, pGlobal uintptr, zName uintptr) uintptr // Find a tokenizer. This is the implementation of the // fts5_api.xFindTokenizer() method. -func fts5FindTokenizer(tls *libc.TLS, pApi uintptr, zName uintptr, ppUserData uintptr, pTokenizer uintptr) int32 { /* sqlite3.c:234278:12: */ +func fts5FindTokenizer(tls *libc.TLS, pApi uintptr, zName uintptr, ppUserData uintptr, pTokenizer uintptr) int32 { /* sqlite3.c:234335:12: */ var rc int32 = SQLITE_OK var pMod uintptr @@ -190437,7 +190468,7 @@ func fts5FindTokenizer(tls *libc.TLS, pApi uintptr, zName uintptr, ppUserData ui return rc } -func sqlite3Fts5GetTokenizer(tls *libc.TLS, pGlobal uintptr, azArg uintptr, nArg int32, pConfig uintptr, pzErr uintptr) int32 { /* sqlite3.c:234299:12: */ +func sqlite3Fts5GetTokenizer(tls *libc.TLS, pGlobal uintptr, azArg uintptr, nArg int32, pConfig uintptr, pzErr uintptr) int32 { /* sqlite3.c:234356:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -190488,7 +190519,7 @@ func sqlite3Fts5GetTokenizer(tls *libc.TLS, pGlobal uintptr, azArg uintptr, nArg return rc } -func fts5ModuleDestroy(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:234336:13: */ +func fts5ModuleDestroy(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:234393:13: */ var pTok uintptr var pNextTok uintptr var pAux uintptr @@ -190514,7 +190545,7 @@ func fts5ModuleDestroy(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:234336:13: */ Xsqlite3_free(tls, pGlobal) } -func fts5Fts5Func(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:234356:13: */ +func fts5Fts5Func(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:234413:13: */ var pGlobal uintptr = Xsqlite3_user_data(tls, pCtx) var ppApi uintptr _ = nArg @@ -190526,7 +190557,7 @@ func fts5Fts5Func(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* s } // Implementation of fts5_source_id() function. -func fts5SourceIdFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apUnused uintptr) { /* sqlite3.c:234372:13: */ +func fts5SourceIdFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apUnused uintptr) { /* sqlite3.c:234429:13: */ _ = nArg _ = apUnused @@ -190535,7 +190566,7 @@ func fts5SourceIdFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apUnused uintptr) // Return true if zName is the extension on one of the shadow tables used // by this module. -func fts5ShadowName(tls *libc.TLS, zName uintptr) int32 { /* sqlite3.c:234386:12: */ +func fts5ShadowName(tls *libc.TLS, zName uintptr) int32 { /* sqlite3.c:234443:12: */ var i uint32 for i = uint32(0); i < uint32(unsafe.Sizeof(azName2))/uint32(unsafe.Sizeof(uintptr(0))); i++ { if Xsqlite3_stricmp(tls, zName, azName2[i]) == 0 { @@ -190547,9 +190578,9 @@ func fts5ShadowName(tls *libc.TLS, zName uintptr) int32 { /* sqlite3.c:234386:12 var azName2 = [5]uintptr{ ts + 35779, ts + 33878, ts + 24878, ts + 34229, ts + 11373, -} /* sqlite3.c:234387:21 */ +} /* sqlite3.c:234444:21 */ -func fts5Init(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:234397:12: */ +func fts5Init(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:234454:12: */ var rc int32 var pGlobal uintptr = uintptr(0) @@ -190632,7 +190663,7 @@ var fts5Mod = Sqlite3_module{ /* xRelease */ FxRelease: 0, /* xRollbackTo */ FxRollbackTo: 0, /* xShadowName */ FxShadowName: 0, -} /* sqlite3.c:234398:31 */ +} /* sqlite3.c:234455:31 */ // The following functions are used to register the module with SQLite. If // this module is being built as part of the SQLite core (SQLITE_CORE is @@ -190641,7 +190672,7 @@ var fts5Mod = Sqlite3_module{ // Or, if this module is being built as a loadable extension, // sqlite3Fts5Init() is omitted and the two standard entry points // sqlite3_fts_init() and sqlite3_fts5_init() defined instead. -func Xsqlite3Fts5Init(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:234506:20: */ +func Xsqlite3Fts5Init(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:234563:20: */ return fts5Init(tls, db) } @@ -190649,7 +190680,7 @@ func Xsqlite3Fts5Init(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:234506:20: // Fts5Storage.pInsertDocsize - if they have not already been prepared. // Return SQLITE_OK if successful, or an SQLite error code if an error // occurs. -func fts5StorageGetStmt(tls *libc.TLS, p uintptr, eStmt int32, ppStmt uintptr, pzErrMsg uintptr) int32 { /* sqlite3.c:234564:12: */ +func fts5StorageGetStmt(tls *libc.TLS, p uintptr, eStmt int32, ppStmt uintptr, pzErrMsg uintptr) int32 { /* sqlite3.c:234621:12: */ bp := tls.Alloc(172) defer tls.Free(172) @@ -190750,7 +190781,7 @@ func fts5StorageGetStmt(tls *libc.TLS, p uintptr, eStmt int32, ppStmt uintptr, p return rc } -func fts5ExecPrintf(tls *libc.TLS, db uintptr, pzErr uintptr, zFormat uintptr, va uintptr) int32 { /* sqlite3.c:234667:12: */ +func fts5ExecPrintf(tls *libc.TLS, db uintptr, pzErr uintptr, zFormat uintptr, va uintptr) int32 { /* sqlite3.c:234724:12: */ var rc int32 var ap Va_list _ = ap // ... printf arguments @@ -190772,7 +190803,7 @@ func fts5ExecPrintf(tls *libc.TLS, db uintptr, pzErr uintptr, zFormat uintptr, v // Drop all shadow tables. Return SQLITE_OK if successful or an SQLite error // code otherwise. -func sqlite3Fts5DropAll(tls *libc.TLS, pConfig uintptr) int32 { /* sqlite3.c:234695:12: */ +func sqlite3Fts5DropAll(tls *libc.TLS, pConfig uintptr) int32 { /* sqlite3.c:234752:12: */ bp := tls.Alloc(80) defer tls.Free(80) @@ -190795,7 +190826,7 @@ func sqlite3Fts5DropAll(tls *libc.TLS, pConfig uintptr) int32 { /* sqlite3.c:234 return rc } -func fts5StorageRenameOne(tls *libc.TLS, pConfig uintptr, pRc uintptr, zTail uintptr, zName uintptr) { /* sqlite3.c:234719:13: */ +func fts5StorageRenameOne(tls *libc.TLS, pConfig uintptr, pRc uintptr, zTail uintptr, zName uintptr) { /* sqlite3.c:234776:13: */ bp := tls.Alloc(40) defer tls.Free(40) @@ -190806,7 +190837,7 @@ func fts5StorageRenameOne(tls *libc.TLS, pConfig uintptr, pRc uintptr, zTail uin } } -func sqlite3Fts5StorageRename(tls *libc.TLS, pStorage uintptr, zName uintptr) int32 { /* sqlite3.c:234733:12: */ +func sqlite3Fts5StorageRename(tls *libc.TLS, pStorage uintptr, zName uintptr) int32 { /* sqlite3.c:234790:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -190827,7 +190858,7 @@ func sqlite3Fts5StorageRename(tls *libc.TLS, pStorage uintptr, zName uintptr) in // Create the shadow table named zPost, with definition zDefn. Return // SQLITE_OK if successful, or an SQLite error code otherwise. -func sqlite3Fts5CreateTable(tls *libc.TLS, pConfig uintptr, zPost uintptr, zDefn uintptr, bWithout int32, pzErr uintptr) int32 { /* sqlite3.c:234753:12: */ +func sqlite3Fts5CreateTable(tls *libc.TLS, pConfig uintptr, zPost uintptr, zDefn uintptr, bWithout int32, pzErr uintptr) int32 { /* sqlite3.c:234810:12: */ bp := tls.Alloc(68) defer tls.Free(68) @@ -190857,7 +190888,7 @@ func sqlite3Fts5CreateTable(tls *libc.TLS, pConfig uintptr, zPost uintptr, zDefn // // If successful, set *pp to point to the new object and return SQLITE_OK. // Otherwise, set *pp to NULL and return an SQLite error code. -func sqlite3Fts5StorageOpen(tls *libc.TLS, pConfig uintptr, pIndex uintptr, bCreate int32, pp uintptr, pzErr uintptr) int32 { /* sqlite3.c:234788:12: */ +func sqlite3Fts5StorageOpen(tls *libc.TLS, pConfig uintptr, pIndex uintptr, bCreate int32, pp uintptr, pzErr uintptr) int32 { /* sqlite3.c:234845:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -190918,7 +190949,7 @@ func sqlite3Fts5StorageOpen(tls *libc.TLS, pConfig uintptr, pIndex uintptr, bCre } // Close a handle opened by an earlier call to sqlite3Fts5StorageOpen(). -func sqlite3Fts5StorageClose(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:234854:12: */ +func sqlite3Fts5StorageClose(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:234911:12: */ var rc int32 = SQLITE_OK if p != 0 { var i int32 @@ -190937,12 +190968,12 @@ type Fts5InsertCtx1 = struct { FpStorage uintptr FiCol int32 FszCol int32 -} /* sqlite3.c:234869:9 */ +} /* sqlite3.c:234926:9 */ -type Fts5InsertCtx = Fts5InsertCtx1 /* sqlite3.c:234869:30 */ +type Fts5InsertCtx = Fts5InsertCtx1 /* sqlite3.c:234926:30 */ // Tokenization callback used when inserting tokens into the FTS index. -func fts5StorageInsertCallback(tls *libc.TLS, pContext uintptr, tflags int32, pToken uintptr, nToken int32, iUnused1 int32, iUnused2 int32) int32 { /* sqlite3.c:234879:12: */ +func fts5StorageInsertCallback(tls *libc.TLS, pContext uintptr, tflags int32, pToken uintptr, nToken int32, iUnused1 int32, iUnused2 int32) int32 { /* sqlite3.c:234936:12: */ var pCtx uintptr = pContext var pIdx uintptr = (*Fts5Storage)(unsafe.Pointer((*Fts5InsertCtx)(unsafe.Pointer(pCtx)).FpStorage)).FpIndex _ = iUnused1 @@ -190959,7 +190990,7 @@ func fts5StorageInsertCallback(tls *libc.TLS, pContext uintptr, tflags int32, pT // If a row with rowid iDel is present in the %_content table, add the // delete-markers to the FTS index necessary to delete it. Do not actually // remove the %_content row at this time though. -func fts5StorageDeleteFromIndex(tls *libc.TLS, p uintptr, iDel I64, apVal uintptr) int32 { /* sqlite3.c:234902:12: */ +func fts5StorageDeleteFromIndex(tls *libc.TLS, p uintptr, iDel I64, apVal uintptr) int32 { /* sqlite3.c:234959:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -191028,7 +191059,7 @@ func fts5StorageDeleteFromIndex(tls *libc.TLS, p uintptr, iDel I64, apVal uintpt // // If there is no %_docsize table (as happens if the columnsize=0 option // is specified when the FTS5 table is created), this function is a no-op. -func fts5StorageInsertDocsize(tls *libc.TLS, p uintptr, iRowid I64, pBuf uintptr) int32 { /* sqlite3.c:234971:12: */ +func fts5StorageInsertDocsize(tls *libc.TLS, p uintptr, iRowid I64, pBuf uintptr) int32 { /* sqlite3.c:235028:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -191055,7 +191086,7 @@ func fts5StorageInsertDocsize(tls *libc.TLS, p uintptr, iRowid I64, pBuf uintptr // // Return SQLITE_OK if successful, or an SQLite error code if an error // occurs. -func fts5StorageLoadTotals(tls *libc.TLS, p uintptr, bCache int32) int32 { /* sqlite3.c:235001:12: */ +func fts5StorageLoadTotals(tls *libc.TLS, p uintptr, bCache int32) int32 { /* sqlite3.c:235058:12: */ var rc int32 = SQLITE_OK if (*Fts5Storage)(unsafe.Pointer(p)).FbTotalsValid == 0 { rc = sqlite3Fts5IndexGetAverages(tls, (*Fts5Storage)(unsafe.Pointer(p)).FpIndex, p+12, (*Fts5Storage)(unsafe.Pointer(p)).FaTotalSize) @@ -191069,7 +191100,7 @@ func fts5StorageLoadTotals(tls *libc.TLS, p uintptr, bCache int32) int32 { /* sq // // Return SQLITE_OK if successful, or an SQLite error code if an error // occurs. -func fts5StorageSaveTotals(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:235017:12: */ +func fts5StorageSaveTotals(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:235074:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -191093,7 +191124,7 @@ func fts5StorageSaveTotals(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:235017 } // Remove a row from the FTS table. -func sqlite3Fts5StorageDelete(tls *libc.TLS, p uintptr, iDel I64, apVal uintptr) int32 { /* sqlite3.c:235039:12: */ +func sqlite3Fts5StorageDelete(tls *libc.TLS, p uintptr, iDel I64, apVal uintptr) int32 { /* sqlite3.c:235096:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -191134,7 +191165,7 @@ func sqlite3Fts5StorageDelete(tls *libc.TLS, p uintptr, iDel I64, apVal uintptr) } // Delete all entries in the FTS5 index. -func sqlite3Fts5StorageDeleteAll(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:235080:12: */ +func sqlite3Fts5StorageDeleteAll(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:235137:12: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -191166,7 +191197,7 @@ func sqlite3Fts5StorageDeleteAll(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c: return rc } -func sqlite3Fts5StorageRebuild(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:235111:12: */ +func sqlite3Fts5StorageRebuild(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:235168:12: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -191230,15 +191261,15 @@ func sqlite3Fts5StorageRebuild(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:23 return *(*int32)(unsafe.Pointer(bp + 28 /* rc */)) } -func sqlite3Fts5StorageOptimize(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:235166:12: */ +func sqlite3Fts5StorageOptimize(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:235223:12: */ return sqlite3Fts5IndexOptimize(tls, (*Fts5Storage)(unsafe.Pointer(p)).FpIndex) } -func sqlite3Fts5StorageMerge(tls *libc.TLS, p uintptr, nMerge int32) int32 { /* sqlite3.c:235170:12: */ +func sqlite3Fts5StorageMerge(tls *libc.TLS, p uintptr, nMerge int32) int32 { /* sqlite3.c:235227:12: */ return sqlite3Fts5IndexMerge(tls, (*Fts5Storage)(unsafe.Pointer(p)).FpIndex, nMerge) } -func sqlite3Fts5StorageReset(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:235174:12: */ +func sqlite3Fts5StorageReset(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:235231:12: */ return sqlite3Fts5IndexReset(tls, (*Fts5Storage)(unsafe.Pointer(p)).FpIndex) } @@ -191249,7 +191280,7 @@ func sqlite3Fts5StorageReset(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:2351 // // If the %_docsize table does not exist, SQLITE_MISMATCH is returned. In // this case the user is required to provide a rowid explicitly. -func fts5StorageNewRowid(tls *libc.TLS, p uintptr, piRowid uintptr) int32 { /* sqlite3.c:235187:12: */ +func fts5StorageNewRowid(tls *libc.TLS, p uintptr, piRowid uintptr) int32 { /* sqlite3.c:235244:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -191271,7 +191302,7 @@ func fts5StorageNewRowid(tls *libc.TLS, p uintptr, piRowid uintptr) int32 { /* s } // Insert a new row into the FTS content table. -func sqlite3Fts5StorageContentInsert(tls *libc.TLS, p uintptr, apVal uintptr, piRowid uintptr) int32 { /* sqlite3.c:235208:12: */ +func sqlite3Fts5StorageContentInsert(tls *libc.TLS, p uintptr, apVal uintptr, piRowid uintptr) int32 { /* sqlite3.c:235265:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -191303,7 +191334,7 @@ func sqlite3Fts5StorageContentInsert(tls *libc.TLS, p uintptr, apVal uintptr, pi } // Insert new entries into the FTS index and %_docsize table. -func sqlite3Fts5StorageIndexInsert(tls *libc.TLS, p uintptr, apVal uintptr, iRowid I64) int32 { /* sqlite3.c:235243:12: */ +func sqlite3Fts5StorageIndexInsert(tls *libc.TLS, p uintptr, apVal uintptr, iRowid I64) int32 { /* sqlite3.c:235300:12: */ bp := tls.Alloc(28) defer tls.Free(28) @@ -191348,7 +191379,7 @@ func sqlite3Fts5StorageIndexInsert(tls *libc.TLS, p uintptr, apVal uintptr, iRow return *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) } -func fts5StorageCount(tls *libc.TLS, p uintptr, zSuffix uintptr, pnRow uintptr) int32 { /* sqlite3.c:235286:12: */ +func fts5StorageCount(tls *libc.TLS, p uintptr, zSuffix uintptr, pnRow uintptr) int32 { /* sqlite3.c:235343:12: */ bp := tls.Alloc(28) defer tls.Free(28) @@ -191383,13 +191414,13 @@ type Fts5IntegrityCtx1 = struct { Fcksum U64 FpTermset uintptr FpConfig uintptr -} /* sqlite3.c:235314:9 */ +} /* sqlite3.c:235371:9 */ // Context object used by sqlite3Fts5StorageIntegrity(). -type Fts5IntegrityCtx = Fts5IntegrityCtx1 /* sqlite3.c:235314:33 */ +type Fts5IntegrityCtx = Fts5IntegrityCtx1 /* sqlite3.c:235371:33 */ // Tokenization callback used by integrity check. -func fts5StorageIntegrityCallback(tls *libc.TLS, pContext uintptr, tflags int32, pToken uintptr, nToken int32, iUnused1 int32, iUnused2 int32) int32 { /* sqlite3.c:235328:12: */ +func fts5StorageIntegrityCallback(tls *libc.TLS, pContext uintptr, tflags int32, pToken uintptr, nToken int32, iUnused1 int32, iUnused2 int32) int32 { /* sqlite3.c:235385:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -191455,7 +191486,7 @@ func fts5StorageIntegrityCallback(tls *libc.TLS, pContext uintptr, tflags int32, // table. Return SQLITE_OK if they do, or SQLITE_CORRUPT if not. Return // some other SQLite error code if an error occurs while attempting to // determine this. -func sqlite3Fts5StorageIntegrity(tls *libc.TLS, p uintptr, iArg int32) int32 { /* sqlite3.c:235398:12: */ +func sqlite3Fts5StorageIntegrity(tls *libc.TLS, p uintptr, iArg int32) int32 { /* sqlite3.c:235455:12: */ bp := tls.Alloc(52) defer tls.Free(52) @@ -191580,7 +191611,7 @@ func sqlite3Fts5StorageIntegrity(tls *libc.TLS, p uintptr, iArg int32) int32 { / // Obtain an SQLite statement handle that may be used to read data from the // %_content table. -func sqlite3Fts5StorageStmt(tls *libc.TLS, p uintptr, eStmt int32, pp uintptr, pzErrMsg uintptr) int32 { /* sqlite3.c:235506:12: */ +func sqlite3Fts5StorageStmt(tls *libc.TLS, p uintptr, eStmt int32, pp uintptr, pzErrMsg uintptr) int32 { /* sqlite3.c:235563:12: */ var rc int32 rc = fts5StorageGetStmt(tls, p, eStmt, pp, pzErrMsg) @@ -191594,7 +191625,7 @@ func sqlite3Fts5StorageStmt(tls *libc.TLS, p uintptr, eStmt int32, pp uintptr, p // Release an SQLite statement handle obtained via an earlier call to // sqlite3Fts5StorageStmt(). The eStmt parameter passed to this function // must match that passed to the sqlite3Fts5StorageStmt() call. -func sqlite3Fts5StorageStmtRelease(tls *libc.TLS, p uintptr, eStmt int32, pStmt uintptr) { /* sqlite3.c:235530:13: */ +func sqlite3Fts5StorageStmtRelease(tls *libc.TLS, p uintptr, eStmt int32, pStmt uintptr) { /* sqlite3.c:235587:13: */ if *(*uintptr)(unsafe.Pointer(p + 24 + uintptr(eStmt)*4)) == uintptr(0) { Xsqlite3_reset(tls, pStmt) @@ -191604,7 +191635,7 @@ func sqlite3Fts5StorageStmtRelease(tls *libc.TLS, p uintptr, eStmt int32, pStmt } } -func fts5StorageDecodeSizeArray(tls *libc.TLS, aCol uintptr, nCol int32, aBlob uintptr, nBlob int32) int32 { /* sqlite3.c:235547:12: */ +func fts5StorageDecodeSizeArray(tls *libc.TLS, aCol uintptr, nCol int32, aBlob uintptr, nBlob int32) int32 { /* sqlite3.c:235604:12: */ var i int32 var iOff int32 = 0 for i = 0; i < nCol; i++ { @@ -191622,7 +191653,7 @@ func fts5StorageDecodeSizeArray(tls *libc.TLS, aCol uintptr, nCol int32, aBlob u // // An SQLite error code is returned if an error occurs, or SQLITE_OK // otherwise. -func sqlite3Fts5StorageDocsize(tls *libc.TLS, p uintptr, iRowid I64, aCol uintptr) int32 { /* sqlite3.c:235568:12: */ +func sqlite3Fts5StorageDocsize(tls *libc.TLS, p uintptr, iRowid I64, aCol uintptr) int32 { /* sqlite3.c:235625:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -191653,7 +191684,7 @@ func sqlite3Fts5StorageDocsize(tls *libc.TLS, p uintptr, iRowid I64, aCol uintpt return rc } -func sqlite3Fts5StorageSize(tls *libc.TLS, p uintptr, iCol int32, pnToken uintptr) int32 { /* sqlite3.c:235597:12: */ +func sqlite3Fts5StorageSize(tls *libc.TLS, p uintptr, iCol int32, pnToken uintptr) int32 { /* sqlite3.c:235654:12: */ var rc int32 = fts5StorageLoadTotals(tls, p, 0) if rc == SQLITE_OK { *(*I64)(unsafe.Pointer(pnToken)) = int64(0) @@ -191671,7 +191702,7 @@ func sqlite3Fts5StorageSize(tls *libc.TLS, p uintptr, iCol int32, pnToken uintpt return rc } -func sqlite3Fts5StorageRowCount(tls *libc.TLS, p uintptr, pnRow uintptr) int32 { /* sqlite3.c:235615:12: */ +func sqlite3Fts5StorageRowCount(tls *libc.TLS, p uintptr, pnRow uintptr) int32 { /* sqlite3.c:235672:12: */ var rc int32 = fts5StorageLoadTotals(tls, p, 0) if rc == SQLITE_OK { // nTotalRow being zero does not necessarily indicate a corrupt @@ -191688,7 +191719,7 @@ func sqlite3Fts5StorageRowCount(tls *libc.TLS, p uintptr, pnRow uintptr) int32 { } // Flush any data currently held in-memory to disk. -func sqlite3Fts5StorageSync(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:235632:12: */ +func sqlite3Fts5StorageSync(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:235689:12: */ var rc int32 = SQLITE_OK var iLastRowid I64 = Xsqlite3_last_insert_rowid(tls, (*Fts5Config)(unsafe.Pointer((*Fts5Storage)(unsafe.Pointer(p)).FpConfig)).Fdb) if (*Fts5Storage)(unsafe.Pointer(p)).FbTotalsValid != 0 { @@ -191702,12 +191733,12 @@ func sqlite3Fts5StorageSync(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:23563 return rc } -func sqlite3Fts5StorageRollback(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:235646:12: */ +func sqlite3Fts5StorageRollback(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:235703:12: */ (*Fts5Storage)(unsafe.Pointer(p)).FbTotalsValid = 0 return sqlite3Fts5IndexRollback(tls, (*Fts5Storage)(unsafe.Pointer(p)).FpIndex) } -func sqlite3Fts5StorageConfigValue(tls *libc.TLS, p uintptr, z uintptr, pVal uintptr, iVal int32) int32 { /* sqlite3.c:235651:12: */ +func sqlite3Fts5StorageConfigValue(tls *libc.TLS, p uintptr, z uintptr, pVal uintptr, iVal int32) int32 { /* sqlite3.c:235708:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -191762,13 +191793,13 @@ var aAsciiTokenChar = [128]uint8{ uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), // 0x50..0x5F uint8(0), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), // 0x60..0x6F uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), // 0x70..0x7F -} /* sqlite3.c:235704:22 */ +} /* sqlite3.c:235761:22 */ -type AsciiTokenizer1 = struct{ FaTokenChar [128]uint8 } /* sqlite3.c:235715:9 */ +type AsciiTokenizer1 = struct{ FaTokenChar [128]uint8 } /* sqlite3.c:235772:9 */ -type AsciiTokenizer = AsciiTokenizer1 /* sqlite3.c:235715:31 */ +type AsciiTokenizer = AsciiTokenizer1 /* sqlite3.c:235772:31 */ -func fts5AsciiAddExceptions(tls *libc.TLS, p uintptr, zArg uintptr, bTokenChars int32) { /* sqlite3.c:235720:13: */ +func fts5AsciiAddExceptions(tls *libc.TLS, p uintptr, zArg uintptr, bTokenChars int32) { /* sqlite3.c:235777:13: */ var i int32 for i = 0; *(*int8)(unsafe.Pointer(zArg + uintptr(i))) != 0; i++ { if int32(*(*int8)(unsafe.Pointer(zArg + uintptr(i))))&0x80 == 0 { @@ -191778,12 +191809,12 @@ func fts5AsciiAddExceptions(tls *libc.TLS, p uintptr, zArg uintptr, bTokenChars } // Delete a "ascii" tokenizer. -func fts5AsciiDelete(tls *libc.TLS, p uintptr) { /* sqlite3.c:235736:13: */ +func fts5AsciiDelete(tls *libc.TLS, p uintptr) { /* sqlite3.c:235793:13: */ Xsqlite3_free(tls, p) } // Create an "ascii" tokenizer. -func fts5AsciiCreate(tls *libc.TLS, pUnused uintptr, azArg uintptr, nArg int32, ppOut uintptr) int32 { /* sqlite3.c:235743:12: */ +func fts5AsciiCreate(tls *libc.TLS, pUnused uintptr, azArg uintptr, nArg int32, ppOut uintptr) int32 { /* sqlite3.c:235800:12: */ var rc int32 = SQLITE_OK var p uintptr = uintptr(0) _ = pUnused @@ -191818,7 +191849,7 @@ func fts5AsciiCreate(tls *libc.TLS, pUnused uintptr, azArg uintptr, nArg int32, return rc } -func asciiFold(tls *libc.TLS, aOut uintptr, aIn uintptr, nByte int32) { /* sqlite3.c:235784:13: */ +func asciiFold(tls *libc.TLS, aOut uintptr, aIn uintptr, nByte int32) { /* sqlite3.c:235841:13: */ var i int32 for i = 0; i < nByte; i++ { var c int8 = *(*int8)(unsafe.Pointer(aIn + uintptr(i))) @@ -191830,7 +191861,7 @@ func asciiFold(tls *libc.TLS, aOut uintptr, aIn uintptr, nByte int32) { /* sqlit } // Tokenize some text using the ascii tokenizer. -func fts5AsciiTokenize(tls *libc.TLS, pTokenizer uintptr, pCtx uintptr, iUnused int32, pText uintptr, nText int32, xToken uintptr) int32 { /* sqlite3.c:235796:12: */ +func fts5AsciiTokenize(tls *libc.TLS, pTokenizer uintptr, pCtx uintptr, iUnused int32, pText uintptr, nText int32, xToken uintptr) int32 { /* sqlite3.c:235853:12: */ bp := tls.Alloc(64) defer tls.Free(64) @@ -191910,7 +191941,7 @@ type Unicode61Tokenizer1 = struct { FnException int32 FaiException uintptr FaCategory [32]uint8 -} /* sqlite3.c:235911:9 */ +} /* sqlite3.c:235968:9 */ // ************************************************************************* // @@ -191920,11 +191951,11 @@ type Unicode61Tokenizer1 = struct { // from the sqlite3 source file utf.c. If this file is compiled as part // of the amalgamation, they are not required. -type Unicode61Tokenizer = Unicode61Tokenizer1 /* sqlite3.c:235911:35 */ +type Unicode61Tokenizer = Unicode61Tokenizer1 /* sqlite3.c:235968:35 */ // Values for eRemoveDiacritic (must match internals of fts5_unicode2.c) -func fts5UnicodeAddExceptions(tls *libc.TLS, p uintptr, z uintptr, bTokenChars int32) int32 { /* sqlite3.c:235928:12: */ +func fts5UnicodeAddExceptions(tls *libc.TLS, p uintptr, z uintptr, bTokenChars int32) int32 { /* sqlite3.c:235985:12: */ var rc int32 = SQLITE_OK var n int32 = int32(libc.Xstrlen(tls, z)) var aNew uintptr @@ -191979,7 +192010,7 @@ func fts5UnicodeAddExceptions(tls *libc.TLS, p uintptr, z uintptr, bTokenChars i } // Return true if the p->aiException[] array contains the value iCode. -func fts5UnicodeIsException(tls *libc.TLS, p uintptr, iCode int32) int32 { /* sqlite3.c:235978:12: */ +func fts5UnicodeIsException(tls *libc.TLS, p uintptr, iCode int32) int32 { /* sqlite3.c:236035:12: */ if (*Unicode61Tokenizer)(unsafe.Pointer(p)).FnException > 0 { var a uintptr = (*Unicode61Tokenizer)(unsafe.Pointer(p)).FaiException var iLo int32 = 0 @@ -192001,7 +192032,7 @@ func fts5UnicodeIsException(tls *libc.TLS, p uintptr, iCode int32) int32 { /* sq } // Delete a "unicode61" tokenizer. -func fts5UnicodeDelete(tls *libc.TLS, pTok uintptr) { /* sqlite3.c:236002:13: */ +func fts5UnicodeDelete(tls *libc.TLS, pTok uintptr) { /* sqlite3.c:236059:13: */ if pTok != 0 { var p uintptr = pTok Xsqlite3_free(tls, (*Unicode61Tokenizer)(unsafe.Pointer(p)).FaiException) @@ -192011,7 +192042,7 @@ func fts5UnicodeDelete(tls *libc.TLS, pTok uintptr) { /* sqlite3.c:236002:13: */ return } -func unicodeSetCategories(tls *libc.TLS, p uintptr, zCat uintptr) int32 { /* sqlite3.c:236012:12: */ +func unicodeSetCategories(tls *libc.TLS, p uintptr, zCat uintptr) int32 { /* sqlite3.c:236069:12: */ var z uintptr = zCat for *(*int8)(unsafe.Pointer(z)) != 0 { @@ -192031,7 +192062,7 @@ func unicodeSetCategories(tls *libc.TLS, p uintptr, zCat uintptr) int32 { /* sql } // Create a "unicode61" tokenizer. -func fts5UnicodeCreate(tls *libc.TLS, pUnused uintptr, azArg uintptr, nArg int32, ppOut uintptr) int32 { /* sqlite3.c:236030:12: */ +func fts5UnicodeCreate(tls *libc.TLS, pUnused uintptr, azArg uintptr, nArg int32, ppOut uintptr) int32 { /* sqlite3.c:236087:12: */ var rc int32 = SQLITE_OK // Return code var p uintptr = uintptr(0) // New tokenizer object @@ -192099,12 +192130,12 @@ func fts5UnicodeCreate(tls *libc.TLS, pUnused uintptr, azArg uintptr, nArg int32 // Return true if, for the purposes of tokenizing with the tokenizer // passed as the first argument, codepoint iCode is considered a token // character (not a separator). -func fts5UnicodeIsAlnum(tls *libc.TLS, p uintptr, iCode int32) int32 { /* sqlite3.c:236110:12: */ +func fts5UnicodeIsAlnum(tls *libc.TLS, p uintptr, iCode int32) int32 { /* sqlite3.c:236167:12: */ return int32(*(*uint8)(unsafe.Pointer(p + 148 + uintptr(sqlite3Fts5UnicodeCategory(tls, U32(iCode)))))) ^ fts5UnicodeIsException(tls, p, iCode) } -func fts5UnicodeTokenize(tls *libc.TLS, pTokenizer uintptr, pCtx uintptr, iUnused int32, pText uintptr, nText int32, xToken uintptr) int32 { /* sqlite3.c:236117:12: */ +func fts5UnicodeTokenize(tls *libc.TLS, pTokenizer uintptr, pCtx uintptr, iUnused int32, pText uintptr, nText int32, xToken uintptr) int32 { /* sqlite3.c:236174:12: */ var p uintptr var rc int32 var a uintptr @@ -192360,7 +192391,7 @@ type PorterTokenizer1 = struct { Ftokenizer Fts5_tokenizer FpTokenizer uintptr FaBuf [128]int8 -} /* sqlite3.c:236229:9 */ +} /* sqlite3.c:236286:9 */ // ************************************************************************* // @@ -192369,10 +192400,10 @@ type PorterTokenizer1 = struct { // Any tokens larger than this (in bytes) are passed through without // stemming. -type PorterTokenizer = PorterTokenizer1 /* sqlite3.c:236229:32 */ +type PorterTokenizer = PorterTokenizer1 /* sqlite3.c:236286:32 */ // Delete a "porter" tokenizer. -func fts5PorterDelete(tls *libc.TLS, pTok uintptr) { /* sqlite3.c:236239:13: */ +func fts5PorterDelete(tls *libc.TLS, pTok uintptr) { /* sqlite3.c:236296:13: */ if pTok != 0 { var p uintptr = pTok if (*PorterTokenizer)(unsafe.Pointer(p)).FpTokenizer != 0 { @@ -192383,7 +192414,7 @@ func fts5PorterDelete(tls *libc.TLS, pTok uintptr) { /* sqlite3.c:236239:13: */ } // Create a "porter" tokenizer. -func fts5PorterCreate(tls *libc.TLS, pCtx uintptr, azArg uintptr, nArg int32, ppOut uintptr) int32 { /* sqlite3.c:236252:12: */ +func fts5PorterCreate(tls *libc.TLS, pCtx uintptr, azArg uintptr, nArg int32, ppOut uintptr) int32 { /* sqlite3.c:236309:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -192436,9 +192467,9 @@ type PorterContext1 = struct { FpCtx uintptr FxToken uintptr FaBuf uintptr -} /* sqlite3.c:236288:9 */ +} /* sqlite3.c:236345:9 */ -type PorterContext = PorterContext1 /* sqlite3.c:236288:30 */ +type PorterContext = PorterContext1 /* sqlite3.c:236345:30 */ type PorterRule1 = struct { FzSuffix uintptr @@ -192446,15 +192477,15 @@ type PorterRule1 = struct { FxCond uintptr FzOutput uintptr FnOutput int32 -} /* sqlite3.c:236295:9 */ +} /* sqlite3.c:236352:9 */ -type PorterRule = PorterRule1 /* sqlite3.c:236295:27 */ +type PorterRule = PorterRule1 /* sqlite3.c:236352:27 */ -func fts5PorterIsVowel(tls *libc.TLS, c int8, bYIsVowel int32) int32 { /* sqlite3.c:236330:12: */ +func fts5PorterIsVowel(tls *libc.TLS, c int8, bYIsVowel int32) int32 { /* sqlite3.c:236387:12: */ return libc.Bool32(int32(c) == 'a' || int32(c) == 'e' || int32(c) == 'i' || int32(c) == 'o' || int32(c) == 'u' || bYIsVowel != 0 && int32(c) == 'y') } -func fts5PorterGobbleVC(tls *libc.TLS, zStem uintptr, nStem int32, bPrevCons int32) int32 { /* sqlite3.c:236336:12: */ +func fts5PorterGobbleVC(tls *libc.TLS, zStem uintptr, nStem int32, bPrevCons int32) int32 { /* sqlite3.c:236393:12: */ var i int32 var bCons int32 = bPrevCons @@ -192475,12 +192506,12 @@ func fts5PorterGobbleVC(tls *libc.TLS, zStem uintptr, nStem int32, bPrevCons int } // porter rule condition: (m > 0) -func fts5Porter_MGt0(tls *libc.TLS, zStem uintptr, nStem int32) int32 { /* sqlite3.c:236353:12: */ +func fts5Porter_MGt0(tls *libc.TLS, zStem uintptr, nStem int32) int32 { /* sqlite3.c:236410:12: */ return libc.BoolInt32(!!(fts5PorterGobbleVC(tls, zStem, nStem, 0) != 0)) } // porter rule condition: (m > 1) -func fts5Porter_MGt1(tls *libc.TLS, zStem uintptr, nStem int32) int32 { /* sqlite3.c:236358:12: */ +func fts5Porter_MGt1(tls *libc.TLS, zStem uintptr, nStem int32) int32 { /* sqlite3.c:236415:12: */ var n int32 n = fts5PorterGobbleVC(tls, zStem, nStem, 0) if n != 0 && fts5PorterGobbleVC(tls, zStem+uintptr(n), nStem-n, 1) != 0 { @@ -192490,7 +192521,7 @@ func fts5Porter_MGt1(tls *libc.TLS, zStem uintptr, nStem int32) int32 { /* sqlit } // porter rule condition: (m = 1) -func fts5Porter_MEq1(tls *libc.TLS, zStem uintptr, nStem int32) int32 { /* sqlite3.c:236368:12: */ +func fts5Porter_MEq1(tls *libc.TLS, zStem uintptr, nStem int32) int32 { /* sqlite3.c:236425:12: */ var n int32 n = fts5PorterGobbleVC(tls, zStem, nStem, 0) if n != 0 && 0 == fts5PorterGobbleVC(tls, zStem+uintptr(n), nStem-n, 1) { @@ -192500,7 +192531,7 @@ func fts5Porter_MEq1(tls *libc.TLS, zStem uintptr, nStem int32) int32 { /* sqlit } // porter rule condition: (*o) -func fts5Porter_Ostar(tls *libc.TLS, zStem uintptr, nStem int32) int32 { /* sqlite3.c:236378:12: */ +func fts5Porter_Ostar(tls *libc.TLS, zStem uintptr, nStem int32) int32 { /* sqlite3.c:236435:12: */ if int32(*(*int8)(unsafe.Pointer(zStem + uintptr(nStem-1)))) == 'w' || int32(*(*int8)(unsafe.Pointer(zStem + uintptr(nStem-1)))) == 'x' || int32(*(*int8)(unsafe.Pointer(zStem + uintptr(nStem-1)))) == 'y' { return 0 } else { @@ -192518,14 +192549,14 @@ func fts5Porter_Ostar(tls *libc.TLS, zStem uintptr, nStem int32) int32 { /* sqli } // porter rule condition: (m > 1 and (*S or *T)) -func fts5Porter_MGt1_and_S_or_T(tls *libc.TLS, zStem uintptr, nStem int32) int32 { /* sqlite3.c:236395:12: */ +func fts5Porter_MGt1_and_S_or_T(tls *libc.TLS, zStem uintptr, nStem int32) int32 { /* sqlite3.c:236452:12: */ return libc.Bool32((int32(*(*int8)(unsafe.Pointer(zStem + uintptr(nStem-1)))) == 's' || int32(*(*int8)(unsafe.Pointer(zStem + uintptr(nStem-1)))) == 't') && fts5Porter_MGt1(tls, zStem, nStem) != 0) } // porter rule condition: (*v*) -func fts5Porter_Vowel(tls *libc.TLS, zStem uintptr, nStem int32) int32 { /* sqlite3.c:236402:12: */ +func fts5Porter_Vowel(tls *libc.TLS, zStem uintptr, nStem int32) int32 { /* sqlite3.c:236459:12: */ var i int32 for i = 0; i < nStem; i++ { if fts5PorterIsVowel(tls, *(*int8)(unsafe.Pointer(zStem + uintptr(i))), libc.Bool32(i > 0)) != 0 { @@ -192540,7 +192571,7 @@ func fts5Porter_Vowel(tls *libc.TLS, zStem uintptr, nStem int32) int32 { /* sqli // // GENERATED CODE STARTS HERE (mkportersteps.tcl) -func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqlite3.c:236418:12: */ +func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqlite3.c:236475:12: */ var ret int32 = 0 var nBuf int32 = *(*int32)(unsafe.Pointer(pnBuf)) switch int32(*(*int8)(unsafe.Pointer(aBuf + uintptr(nBuf-2)))) { @@ -192673,7 +192704,7 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli return ret } -func fts5PorterStep1B2(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqlite3.c:236552:12: */ +func fts5PorterStep1B2(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqlite3.c:236609:12: */ var ret int32 = 0 var nBuf int32 = *(*int32)(unsafe.Pointer(pnBuf)) switch int32(*(*int8)(unsafe.Pointer(aBuf + uintptr(nBuf-2)))) { @@ -192706,7 +192737,7 @@ func fts5PorterStep1B2(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sq return ret } -func fts5PorterStep2(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqlite3.c:236586:12: */ +func fts5PorterStep2(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqlite3.c:236643:12: */ var ret int32 = 0 var nBuf int32 = *(*int32)(unsafe.Pointer(pnBuf)) switch int32(*(*int8)(unsafe.Pointer(aBuf + uintptr(nBuf-2)))) { @@ -192852,7 +192883,7 @@ func fts5PorterStep2(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli return ret } -func fts5PorterStep3(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqlite3.c:236733:12: */ +func fts5PorterStep3(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqlite3.c:236790:12: */ var ret int32 = 0 var nBuf int32 = *(*int32)(unsafe.Pointer(pnBuf)) switch int32(*(*int8)(unsafe.Pointer(aBuf + uintptr(nBuf-2)))) { @@ -192917,7 +192948,7 @@ func fts5PorterStep3(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli return ret } -func fts5PorterStep1B(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqlite3.c:236799:12: */ +func fts5PorterStep1B(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqlite3.c:236856:12: */ var ret int32 = 0 var nBuf int32 = *(*int32)(unsafe.Pointer(pnBuf)) switch int32(*(*int8)(unsafe.Pointer(aBuf + uintptr(nBuf-2)))) { @@ -192954,7 +192985,7 @@ func fts5PorterStep1B(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sql // // -func fts5PorterStep1A(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) { /* sqlite3.c:236836:13: */ +func fts5PorterStep1A(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) { /* sqlite3.c:236893:13: */ var nBuf int32 = *(*int32)(unsafe.Pointer(pnBuf)) if int32(*(*int8)(unsafe.Pointer(aBuf + uintptr(nBuf-1)))) == 's' { if int32(*(*int8)(unsafe.Pointer(aBuf + uintptr(nBuf-2)))) == 'e' { @@ -192970,7 +193001,7 @@ func fts5PorterStep1A(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) { /* sqlite3.c } } -func fts5PorterCb(tls *libc.TLS, pCtx uintptr, tflags int32, pToken uintptr, nToken int32, iStart int32, iEnd int32) int32 { /* sqlite3.c:236854:12: */ +func fts5PorterCb(tls *libc.TLS, pCtx uintptr, tflags int32, pToken uintptr, nToken int32, iStart int32, iEnd int32) int32 { /* sqlite3.c:236911:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -193068,7 +193099,7 @@ pass_through: } // Tokenize using the porter tokenizer. -func fts5PorterTokenize(tls *libc.TLS, pTokenizer uintptr, pCtx uintptr, flags int32, pText uintptr, nText int32, xToken uintptr) int32 { /* sqlite3.c:236923:12: */ +func fts5PorterTokenize(tls *libc.TLS, pTokenizer uintptr, pCtx uintptr, flags int32, pText uintptr, nText int32, xToken uintptr) int32 { /* sqlite3.c:236980:12: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -193089,20 +193120,20 @@ func fts5PorterTokenize(tls *libc.TLS, pTokenizer uintptr, pCtx uintptr, flags i // ************************************************************************* // // Start of trigram implementation. -type TrigramTokenizer1 = struct{ FbFold int32 } /* sqlite3.c:236943:9 */ +type TrigramTokenizer1 = struct{ FbFold int32 } /* sqlite3.c:237000:9 */ // ************************************************************************* // // Start of trigram implementation. -type TrigramTokenizer = TrigramTokenizer1 /* sqlite3.c:236943:33 */ +type TrigramTokenizer = TrigramTokenizer1 /* sqlite3.c:237000:33 */ // Free a trigram tokenizer. -func fts5TriDelete(tls *libc.TLS, p uintptr) { /* sqlite3.c:236951:13: */ +func fts5TriDelete(tls *libc.TLS, p uintptr) { /* sqlite3.c:237008:13: */ Xsqlite3_free(tls, p) } // Allocate a trigram tokenizer. -func fts5TriCreate(tls *libc.TLS, pUnused uintptr, azArg uintptr, nArg int32, ppOut uintptr) int32 { /* sqlite3.c:236958:12: */ +func fts5TriCreate(tls *libc.TLS, pUnused uintptr, azArg uintptr, nArg int32, ppOut uintptr) int32 { /* sqlite3.c:237015:12: */ var rc int32 = SQLITE_OK var pNew uintptr = Xsqlite3_malloc(tls, int32(unsafe.Sizeof(TrigramTokenizer{}))) _ = pUnused @@ -193133,7 +193164,7 @@ func fts5TriCreate(tls *libc.TLS, pUnused uintptr, azArg uintptr, nArg int32, pp } // Trigram tokenizer tokenize routine. -func fts5TriTokenize(tls *libc.TLS, pTok uintptr, pCtx uintptr, unusedFlags int32, pText uintptr, nText int32, xToken uintptr) int32 { /* sqlite3.c:236996:12: */ +func fts5TriTokenize(tls *libc.TLS, pTok uintptr, pCtx uintptr, unusedFlags int32, pText uintptr, nText int32, xToken uintptr) int32 { /* sqlite3.c:237053:12: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -193286,7 +193317,7 @@ func fts5TriTokenize(tls *libc.TLS, pTok uintptr, pCtx uintptr, unusedFlags int3 // "trigram" tokenizer, case_sensitive=1 - FTS5_PATTERN_GLOB // "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) int32 { /* sqlite3.c:237056:12: */ +func sqlite3Fts5TokenizerPattern(tls *libc.TLS, xCreate uintptr, pTok uintptr) int32 { /* sqlite3.c:237113:12: */ if xCreate == *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 }{fts5TriCreate})) { @@ -193300,7 +193331,7 @@ func sqlite3Fts5TokenizerPattern(tls *libc.TLS, xCreate uintptr, pTok uintptr) i } // Register all built-in tokenizers with FTS5. -func sqlite3Fts5TokenizerInit(tls *libc.TLS, pApi uintptr) int32 { /* sqlite3.c:237070:12: */ +func sqlite3Fts5TokenizerInit(tls *libc.TLS, pApi uintptr) int32 { /* sqlite3.c:237127:12: */ bp := tls.Alloc(64) defer tls.Free(64) @@ -193346,7 +193377,7 @@ func sqlite3Fts5TokenizerInit(tls *libc.TLS, pApi uintptr) int32 { /* sqlite3.c: type BuiltinTokenizer = struct { FzName uintptr Fx Fts5_tokenizer -} /* sqlite3.c:237071:3 */ +} /* sqlite3.c:237128:3 */ // 2012-05-25 // @@ -193369,7 +193400,7 @@ type BuiltinTokenizer = struct { // SMALL LETTER E WITH DIAERESIS" - return 65 ("LATIN SMALL LETTER // E"). The resuls of passing a codepoint that corresponds to an // uppercase letter are undefined. -func fts5_remove_diacritic(tls *libc.TLS, c int32, bComplex int32) int32 { /* sqlite3.c:237126:12: */ +func fts5_remove_diacritic(tls *libc.TLS, c int32, bComplex int32) int32 { /* sqlite3.c:237183:12: */ bp := tls.Alloc(378) defer tls.Free(378) @@ -193440,7 +193471,7 @@ func fts5_remove_diacritic(tls *libc.TLS, c int32, bComplex int32) int32 { /* sq // Return true if the argument interpreted as a unicode codepoint // is a diacritical modifier character. -func sqlite3Fts5UnicodeIsdiacritic(tls *libc.TLS, c int32) int32 { /* sqlite3.c:237193:12: */ +func sqlite3Fts5UnicodeIsdiacritic(tls *libc.TLS, c int32) int32 { /* sqlite3.c:237250:12: */ var mask0 uint32 = uint32(0x08029FDF) var mask1 uint32 = uint32(0x000361F8) if c < 768 || c > 817 { @@ -193459,7 +193490,7 @@ func sqlite3Fts5UnicodeIsdiacritic(tls *libc.TLS, c int32) int32 { /* sqlite3.c: // // The results are undefined if the value passed to this function // is less than zero. -func sqlite3Fts5UnicodeFold(tls *libc.TLS, c int32, eRemoveDiacritic int32) int32 { /* sqlite3.c:237212:12: */ +func sqlite3Fts5UnicodeFold(tls *libc.TLS, c int32, eRemoveDiacritic int32) int32 { /* sqlite3.c:237269:12: */ var ret int32 = c @@ -193520,7 +193551,7 @@ type TableEntry = struct { FiCode uint16 Fflags uint8 FnRange uint8 -} /* sqlite3.c:237230:16 */ +} /* sqlite3.c:237287:16 */ var aEntry = [163]TableEntry{ {FiCode: uint16(65), Fflags: uint8(14), FnRange: uint8(26)}, {FiCode: uint16(181), Fflags: uint8(64), FnRange: uint8(1)}, {FiCode: uint16(192), Fflags: uint8(14), FnRange: uint8(23)}, @@ -193578,7 +193609,7 @@ var aEntry = [163]TableEntry{ {FiCode: uint16(42878), Fflags: uint8(1), FnRange: uint8(10)}, {FiCode: uint16(42891), FnRange: uint8(1)}, {FiCode: uint16(42893), Fflags: uint8(74), FnRange: uint8(1)}, {FiCode: uint16(42896), Fflags: uint8(1), FnRange: uint8(4)}, {FiCode: uint16(42912), Fflags: uint8(1), FnRange: uint8(10)}, {FiCode: uint16(42922), Fflags: uint8(72), FnRange: uint8(1)}, {FiCode: uint16(65313), Fflags: uint8(14), FnRange: uint8(26)}, -} /* sqlite3.c:237234:5 */ +} /* sqlite3.c:237291:5 */ var aiOff = [77]uint16{ uint16(1), uint16(2), uint16(8), uint16(15), uint16(16), uint16(26), uint16(28), uint16(32), uint16(37), uint16(38), uint16(40), uint16(48), uint16(63), uint16(64), uint16(69), uint16(71), @@ -193590,9 +193621,9 @@ var aiOff = [77]uint16{ uint16(65408), uint16(65410), uint16(65415), uint16(65424), uint16(65436), uint16(65439), uint16(65450), uint16(65462), uint16(65472), uint16(65476), uint16(65478), uint16(65480), uint16(65482), uint16(65488), uint16(65506), uint16(65511), uint16(65514), uint16(65521), uint16(65527), uint16(65528), uint16(65529), -} /* sqlite3.c:237291:31 */ +} /* sqlite3.c:237348:31 */ -func sqlite3Fts5UnicodeCatParse(tls *libc.TLS, zCat uintptr, aArray uintptr) int32 { /* sqlite3.c:237348:12: */ +func sqlite3Fts5UnicodeCatParse(tls *libc.TLS, zCat uintptr, aArray uintptr) int32 { /* sqlite3.c:237405:12: */ *(*U8)(unsafe.Pointer(aArray)) = U8(1) switch int32(*(*int8)(unsafe.Pointer(zCat))) { case 'C': @@ -193789,7 +193820,7 @@ func sqlite3Fts5UnicodeCatParse(tls *libc.TLS, zCat uintptr, aArray uintptr) int var aFts5UnicodeBlock = [17]U16{ U16(0), U16(1471), U16(1753), U16(1760), U16(1760), U16(1760), U16(1760), U16(1760), U16(1760), U16(1760), U16(1760), U16(1760), U16(1760), U16(1760), U16(1760), U16(1763), U16(1765), -} /* sqlite3.c:237466:12 */ +} /* sqlite3.c:237523:12 */ var aFts5UnicodeMap = [1765]U16{ U16(0), U16(32), U16(33), U16(36), U16(37), U16(40), U16(41), U16(42), U16(43), U16(44), U16(45), U16(46), U16(48), U16(58), U16(60), U16(63), U16(65), U16(91), U16(92), U16(93), @@ -193968,7 +193999,7 @@ var aFts5UnicodeMap = [1765]U16{ U16(62406), U16(62432), U16(62464), U16(62528), U16(62530), U16(62713), U16(62720), U16(62784), U16(62800), U16(62971), U16(63045), U16(63104), U16(63232), U16(0), U16(42710), U16(42752), U16(46900), U16(46912), U16(47133), U16(63488), U16(1), U16(32), U16(256), U16(0), U16(65533), -} /* sqlite3.c:237470:12 */ +} /* sqlite3.c:237527:12 */ var aFts5UnicodeData = [1765]U16{ U16(1025), U16(61), U16(117), U16(55), U16(117), U16(54), U16(50), U16(53), U16(57), U16(53), U16(49), U16(85), U16(333), U16(85), U16(121), U16(85), U16(841), U16(54), U16(53), U16(50), @@ -194147,9 +194178,9 @@ var aFts5UnicodeData = [1765]U16{ U16(186), U16(570), U16(2042), U16(58), U16(5850), U16(154), U16(2010), U16(154), U16(794), U16(2266), U16(378), U16(2266), U16(3738), U16(39), U16(39), U16(39), U16(39), U16(39), U16(39), U16(17351), U16(34), U16(3074), U16(7692), U16(63), U16(63), -} /* sqlite3.c:237649:12 */ +} /* sqlite3.c:237706:12 */ -func sqlite3Fts5UnicodeCategory(tls *libc.TLS, iCode U32) int32 { /* sqlite3.c:237829:12: */ +func sqlite3Fts5UnicodeCategory(tls *libc.TLS, iCode U32) int32 { /* sqlite3.c:237886:12: */ var iRes int32 = -1 var iHi int32 var iLo int32 @@ -194189,7 +194220,7 @@ func sqlite3Fts5UnicodeCategory(tls *libc.TLS, iCode U32) int32 { /* sqlite3.c:2 return 9 } -func sqlite3Fts5UnicodeAscii(tls *libc.TLS, aArray uintptr, aAscii uintptr) { /* sqlite3.c:237860:13: */ +func sqlite3Fts5UnicodeAscii(tls *libc.TLS, aArray uintptr, aAscii uintptr) { /* sqlite3.c:237917:13: */ var i int32 = 0 var iTbl int32 = 0 for i < 128 { @@ -194221,7 +194252,7 @@ func sqlite3Fts5UnicodeAscii(tls *libc.TLS, aArray uintptr, aAscii uintptr) { /* // This is a copy of the sqlite3GetVarint32() routine from the SQLite core. // Except, this version does handle the single byte case that the core // version depends on being handled before its function is called. -func sqlite3Fts5GetVarint32(tls *libc.TLS, p uintptr, v uintptr) int32 { /* sqlite3.c:237898:12: */ +func sqlite3Fts5GetVarint32(tls *libc.TLS, p uintptr, v uintptr) int32 { /* sqlite3.c:237955:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -194296,7 +194327,7 @@ func sqlite3Fts5GetVarint32(tls *libc.TLS, p uintptr, v uintptr) int32 { /* sqli // Read a 64-bit variable-length integer from memory starting at p[0]. // Return the number of bytes read. The value is stored in *v. -func sqlite3Fts5GetVarint(tls *libc.TLS, p uintptr, v uintptr) U8 { /* sqlite3.c:237976:11: */ +func sqlite3Fts5GetVarint(tls *libc.TLS, p uintptr, v uintptr) U8 { /* sqlite3.c:238033:11: */ var a U32 var b U32 var s U32 @@ -194472,7 +194503,7 @@ func sqlite3Fts5GetVarint(tls *libc.TLS, p uintptr, v uintptr) U8 { /* sqlite3.c // for all bytes that have the 8th bit set and one byte with the 8th // bit clear. Except, if we get to the 9th byte, it stores the full // 8 bits and is the last byte. -func fts5PutVarint64(tls *libc.TLS, p uintptr, v U64) int32 { /* sqlite3.c:238170:26: */ +func fts5PutVarint64(tls *libc.TLS, p uintptr, v U64) int32 { /* sqlite3.c:238227:26: */ bp := tls.Alloc(10) defer tls.Free(10) @@ -194518,7 +194549,7 @@ __3: return n } -func sqlite3Fts5PutVarint(tls *libc.TLS, p uintptr, v U64) int32 { /* sqlite3.c:238195:12: */ +func sqlite3Fts5PutVarint(tls *libc.TLS, p uintptr, v U64) int32 { /* sqlite3.c:238252:12: */ if v <= uint64(0x7f) { *(*uint8)(unsafe.Pointer(p)) = uint8(v & uint64(0x7f)) return 1 @@ -194531,7 +194562,7 @@ func sqlite3Fts5PutVarint(tls *libc.TLS, p uintptr, v U64) int32 { /* sqlite3.c: return fts5PutVarint64(tls, p, v) } -func sqlite3Fts5GetVarintLen(tls *libc.TLS, iVal U32) int32 { /* sqlite3.c:238209:12: */ +func sqlite3Fts5GetVarintLen(tls *libc.TLS, iVal U32) int32 { /* sqlite3.c:238266:12: */ if iVal < U32(int32(1)<<14) { return 2 @@ -194591,7 +194622,7 @@ type Fts5VocabTable1 = struct { FpGlobal uintptr FeType int32 FbBusy uint32 -} /* sqlite3.c:238262:9 */ +} /* sqlite3.c:238319:9 */ // 2015 May 08 // @@ -194631,7 +194662,7 @@ type Fts5VocabTable1 = struct { // #include "fts5Int.h" -type Fts5VocabTable = Fts5VocabTable1 /* sqlite3.c:238262:31 */ +type Fts5VocabTable = Fts5VocabTable1 /* sqlite3.c:238319:31 */ type Fts5VocabCursor1 = struct { Fbase Sqlite3_vtab_cursor FpStmt uintptr @@ -194648,9 +194679,9 @@ type Fts5VocabCursor1 = struct { Fterm Fts5Buffer FiInstPos I64 FiInstOff int32 -} /* sqlite3.c:238263:9 */ +} /* sqlite3.c:238320:9 */ -type Fts5VocabCursor = Fts5VocabCursor1 /* sqlite3.c:238263:32 */ +type Fts5VocabCursor = Fts5VocabCursor1 /* sqlite3.c:238320:32 */ // Bits for the mask used as the idxNum value by xBestIndex/xFilter. @@ -194658,7 +194689,7 @@ type Fts5VocabCursor = Fts5VocabCursor1 /* sqlite3.c:238263:32 */ // FTS5_VOCAB_XXX constant. If successful, set *peType to the output // value and return SQLITE_OK. Otherwise, set *pzErr to an error message // and return SQLITE_ERROR. -func fts5VocabTableType(tls *libc.TLS, zType uintptr, pzErr uintptr, peType uintptr) int32 { /* sqlite3.c:238323:12: */ +func fts5VocabTableType(tls *libc.TLS, zType uintptr, pzErr uintptr, peType uintptr) int32 { /* sqlite3.c:238380:12: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -194683,14 +194714,14 @@ func fts5VocabTableType(tls *libc.TLS, zType uintptr, pzErr uintptr, peType uint } // The xDisconnect() virtual table method. -func fts5VocabDisconnectMethod(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:238352:12: */ +func fts5VocabDisconnectMethod(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:238409:12: */ var pTab uintptr = pVtab Xsqlite3_free(tls, pTab) return SQLITE_OK } // The xDestroy() virtual table method. -func fts5VocabDestroyMethod(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:238361:12: */ +func fts5VocabDestroyMethod(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:238418:12: */ var pTab uintptr = pVtab Xsqlite3_free(tls, pTab) return SQLITE_OK @@ -194715,7 +194746,7 @@ func fts5VocabDestroyMethod(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:2 // argv[3] -> name of fts5 tables database // argv[4] -> name of fts5 table // argv[5] -> type of fts5vocab table -func fts5VocabInitVtab(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVTab uintptr, pzErr uintptr) int32 { /* sqlite3.c:238388:12: */ +func fts5VocabInitVtab(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVTab uintptr, pzErr uintptr) int32 { /* sqlite3.c:238445:12: */ bp := tls.Alloc(20) defer tls.Free(20) @@ -194785,11 +194816,11 @@ func fts5VocabInitVtab(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv // The xConnect() and xCreate() methods for the virtual table. All the // work is done in function fts5VocabInitVtab(). -func fts5VocabConnectMethod(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 { /* sqlite3.c:238450:12: */ +func fts5VocabConnectMethod(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 { /* sqlite3.c:238507:12: */ return fts5VocabInitVtab(tls, db, pAux, argc, argv, ppVtab, pzErr) } -func fts5VocabCreateMethod(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 { /* sqlite3.c:238460:12: */ +func fts5VocabCreateMethod(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 { /* sqlite3.c:238517:12: */ return fts5VocabInitVtab(tls, db, pAux, argc, argv, ppVtab, pzErr) } @@ -194803,7 +194834,7 @@ func fts5VocabCreateMethod(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, // // are interpreted. Less-than and less-than-or-equal are treated // identically, as are greater-than and greater-than-or-equal. -func fts5VocabBestIndexMethod(tls *libc.TLS, pUnused uintptr, pInfo uintptr) int32 { /* sqlite3.c:238483:12: */ +func fts5VocabBestIndexMethod(tls *libc.TLS, pUnused uintptr, pInfo uintptr) int32 { /* sqlite3.c:238540:12: */ var i int32 var iTermEq int32 = -1 var iTermGe int32 = -1 @@ -194871,7 +194902,7 @@ func fts5VocabBestIndexMethod(tls *libc.TLS, pUnused uintptr, pInfo uintptr) int } // Implementation of xOpen method. -func fts5VocabOpenMethod(tls *libc.TLS, pVTab uintptr, ppCsr uintptr) int32 { /* sqlite3.c:238545:12: */ +func fts5VocabOpenMethod(tls *libc.TLS, pVTab uintptr, ppCsr uintptr) int32 { /* sqlite3.c:238602:12: */ bp := tls.Alloc(72) defer tls.Free(72) @@ -194938,7 +194969,7 @@ func fts5VocabOpenMethod(tls *libc.TLS, pVTab uintptr, ppCsr uintptr) int32 { /* return *(*int32)(unsafe.Pointer(bp + 64 /* rc */)) } -func fts5VocabResetCursor(tls *libc.TLS, pCsr uintptr) { /* sqlite3.c:238613:13: */ +func fts5VocabResetCursor(tls *libc.TLS, pCsr uintptr) { /* sqlite3.c:238670:13: */ (*Fts5VocabCursor)(unsafe.Pointer(pCsr)).Frowid = int64(0) sqlite3Fts5IterClose(tls, (*Fts5VocabCursor)(unsafe.Pointer(pCsr)).FpIter) sqlite3Fts5StructureRelease(tls, (*Fts5VocabCursor)(unsafe.Pointer(pCsr)).FpStruct) @@ -194952,7 +194983,7 @@ func fts5VocabResetCursor(tls *libc.TLS, pCsr uintptr) { /* sqlite3.c:238613:13: // Close the cursor. For additional information see the documentation // on the xClose method of the virtual table interface. -func fts5VocabCloseMethod(tls *libc.TLS, pCursor uintptr) int32 { /* sqlite3.c:238629:12: */ +func fts5VocabCloseMethod(tls *libc.TLS, pCursor uintptr) int32 { /* sqlite3.c:238686:12: */ var pCsr uintptr = pCursor fts5VocabResetCursor(tls, pCsr) sqlite3Fts5BufferFree(tls, pCsr+52) @@ -194961,7 +194992,7 @@ func fts5VocabCloseMethod(tls *libc.TLS, pCursor uintptr) int32 { /* sqlite3.c:2 return SQLITE_OK } -func fts5VocabInstanceNewTerm(tls *libc.TLS, pCsr uintptr) int32 { /* sqlite3.c:238638:12: */ +func fts5VocabInstanceNewTerm(tls *libc.TLS, pCsr uintptr) int32 { /* sqlite3.c:238695:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -194992,7 +195023,7 @@ func fts5VocabInstanceNewTerm(tls *libc.TLS, pCsr uintptr) int32 { /* sqlite3.c: return *(*int32)(unsafe.Pointer(bp + 4 /* rc */)) } -func fts5VocabInstanceNext(tls *libc.TLS, pCsr uintptr) int32 { /* sqlite3.c:238660:12: */ +func fts5VocabInstanceNext(tls *libc.TLS, pCsr uintptr) int32 { /* sqlite3.c:238717:12: */ var eDetail int32 = (*Fts5Config)(unsafe.Pointer((*Fts5Table)(unsafe.Pointer((*Fts5VocabCursor)(unsafe.Pointer(pCsr)).FpFts5)).FpConfig)).FeDetail var rc int32 = SQLITE_OK var pIter uintptr = (*Fts5VocabCursor)(unsafe.Pointer(pCsr)).FpIter @@ -195021,7 +195052,7 @@ func fts5VocabInstanceNext(tls *libc.TLS, pCsr uintptr) int32 { /* sqlite3.c:238 } // Advance the cursor to the next row in the table. -func fts5VocabNextMethod(tls *libc.TLS, pCursor uintptr) int32 { /* sqlite3.c:238692:12: */ +func fts5VocabNextMethod(tls *libc.TLS, pCursor uintptr) int32 { /* sqlite3.c:238749:12: */ bp := tls.Alloc(20) defer tls.Free(20) @@ -195165,7 +195196,7 @@ func fts5VocabNextMethod(tls *libc.TLS, pCursor uintptr) int32 { /* sqlite3.c:23 } // This is the xFilter implementation for the virtual table. -func fts5VocabFilterMethod(tls *libc.TLS, pCursor uintptr, idxNum int32, zUnused uintptr, nUnused int32, apVal uintptr) int32 { /* sqlite3.c:238820:12: */ +func fts5VocabFilterMethod(tls *libc.TLS, pCursor uintptr, idxNum int32, zUnused uintptr, nUnused int32, apVal uintptr) int32 { /* sqlite3.c:238877:12: */ var pTab uintptr = (*Sqlite3_vtab_cursor)(unsafe.Pointer(pCursor)).FpVtab var pCsr uintptr = pCursor var eType int32 = (*Fts5VocabTable)(unsafe.Pointer(pTab)).FeType @@ -195239,12 +195270,12 @@ func fts5VocabFilterMethod(tls *libc.TLS, pCursor uintptr, idxNum int32, zUnused // This is the xEof method of the virtual table. SQLite calls this // routine to find out if it has reached the end of a result set. -func fts5VocabEofMethod(tls *libc.TLS, pCursor uintptr) int32 { /* sqlite3.c:238894:12: */ +func fts5VocabEofMethod(tls *libc.TLS, pCursor uintptr) int32 { /* sqlite3.c:238951:12: */ var pCsr uintptr = pCursor return (*Fts5VocabCursor)(unsafe.Pointer(pCsr)).FbEof } -func fts5VocabColumnMethod(tls *libc.TLS, pCursor uintptr, pCtx uintptr, iCol int32) int32 { /* sqlite3.c:238899:12: */ +func fts5VocabColumnMethod(tls *libc.TLS, pCursor uintptr, pCtx uintptr, iCol int32) int32 { /* sqlite3.c:238956:12: */ var pCsr uintptr = pCursor var eDetail int32 = (*Fts5Config)(unsafe.Pointer((*Fts5Table)(unsafe.Pointer((*Fts5VocabCursor)(unsafe.Pointer(pCsr)).FpFts5)).FpConfig)).FeDetail var eType int32 = (*Fts5VocabTable)(unsafe.Pointer((*Sqlite3_vtab_cursor)(unsafe.Pointer(pCursor)).FpVtab)).FeType @@ -195317,13 +195348,13 @@ func fts5VocabColumnMethod(tls *libc.TLS, pCursor uintptr, pCtx uintptr, iCol in // This is the xRowid method. The SQLite core calls this routine to // retrieve the rowid for the current row of the result set. The // rowid should be written to *pRowid. -func fts5VocabRowidMethod(tls *libc.TLS, pCursor uintptr, pRowid uintptr) int32 { /* sqlite3.c:238971:12: */ +func fts5VocabRowidMethod(tls *libc.TLS, pCursor uintptr, pRowid uintptr) int32 { /* sqlite3.c:239028:12: */ var pCsr uintptr = pCursor *(*Sqlite_int64)(unsafe.Pointer(pRowid)) = (*Fts5VocabCursor)(unsafe.Pointer(pCsr)).Frowid return SQLITE_OK } -func sqlite3Fts5VocabInit(tls *libc.TLS, pGlobal uintptr, db uintptr) int32 { /* sqlite3.c:238980:12: */ +func sqlite3Fts5VocabInit(tls *libc.TLS, pGlobal uintptr, db uintptr) int32 { /* sqlite3.c:239037:12: */ var p uintptr = pGlobal return Xsqlite3_create_module_v2(tls, db, ts+37459, uintptr(unsafe.Pointer(&fts5Vocab)), p, uintptr(0)) @@ -195343,7 +195374,7 @@ var fts5Vocab = Sqlite3_module{ /* xEof */ FxEof: 0, /* xColumn */ FxColumn: 0, /* xRowid */ FxRowid: 0, -} /* sqlite3.c:238981:31 */ +} /* sqlite3.c:239038:31 */ //************* End of fts5.c *********************************************** //************* Begin file stmt.c ******************************************* @@ -195370,8 +195401,8 @@ var fts5Vocab = Sqlite3_module{ //************* End of stmt.c *********************************************** // Return the source-id for this library -func Xsqlite3_sourceid(tls *libc.TLS) uintptr { /* sqlite3.c:239321:23: */ - return ts + 37469 /* "2022-03-12 13:37..." */ +func Xsqlite3_sourceid(tls *libc.TLS) uintptr { /* sqlite3.c:239378:23: */ + return ts + 37469 /* "2022-03-26 13:51..." */ } //************************* End of sqlite3.c ***************************** @@ -195380,162 +195411,162 @@ func init() { *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&Xsqlite3aEQb)) + 0)) = uintptr(unsafe.Pointer(&Xsqlite3UpperToLower)) + 210 // sqlite3.c:21690:51: *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&Xsqlite3aGTb)) + 0)) = uintptr(unsafe.Pointer(&Xsqlite3UpperToLower)) + 216 // sqlite3.c:21691:51: *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&Xsqlite3aLTb)) + 0)) = uintptr(unsafe.Pointer(&Xsqlite3UpperToLower)) + 204 // sqlite3.c:21689:51: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aAgg)) + 0)) = geopolyBBoxStep // sqlite3.c:201985:8: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aAgg)) + 4)) = geopolyBBoxFinal // sqlite3.c:201985:25: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aAlterTableFuncs)) + 16)) = renameColumnFunc // sqlite3.c:111067:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aAlterTableFuncs)) + 56)) = renameTableFunc // sqlite3.c:111068:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aAlterTableFuncs)) + 96)) = renameTableTest // sqlite3.c:111069:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aAlterTableFuncs)) + 136)) = dropColumnFunc // sqlite3.c:111070:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aAlterTableFuncs)) + 176)) = renameQuotefixFunc // sqlite3.c:111071:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 16)) = versionFunc // sqlite3.c:123272:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 56)) = versionFunc // sqlite3.c:123273:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 96)) = versionFunc // sqlite3.c:123274:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 136)) = versionFunc // sqlite3.c:123275:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 176)) = soundexFunc // sqlite3.c:123279:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 216)) = loadExt // sqlite3.c:123282:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 256)) = loadExt // sqlite3.c:123283:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 296)) = compileoptionusedFunc // sqlite3.c:123289:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 336)) = compileoptiongetFunc // sqlite3.c:123290:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 376)) = versionFunc // sqlite3.c:123292:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 416)) = versionFunc // sqlite3.c:123293:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 456)) = versionFunc // sqlite3.c:123294:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 496)) = versionFunc // sqlite3.c:123297:12: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 536)) = trimFunc // sqlite3.c:123299:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 576)) = trimFunc // sqlite3.c:123300:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 616)) = trimFunc // sqlite3.c:123301:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 656)) = trimFunc // sqlite3.c:123302:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 696)) = trimFunc // sqlite3.c:123303:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 736)) = trimFunc // sqlite3.c:123304:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 776)) = minmaxFunc // sqlite3.c:123305:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 856)) = minmaxStep // sqlite3.c:123307:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 860)) = minMaxFinalize // sqlite3.c:123307:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 864)) = minMaxValue // sqlite3.c:123307:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 896)) = minmaxFunc // sqlite3.c:123309:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 976)) = minmaxStep // sqlite3.c:123311:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 980)) = minMaxFinalize // sqlite3.c:123311:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 984)) = minMaxValue // sqlite3.c:123311:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1016)) = typeofFunc // sqlite3.c:123313:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1056)) = subtypeFunc // sqlite3.c:123314:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1096)) = lengthFunc // sqlite3.c:123315:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1136)) = instrFunc // sqlite3.c:123316:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1176)) = printfFunc // sqlite3.c:123317:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1216)) = printfFunc // sqlite3.c:123318:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1256)) = unicodeFunc // sqlite3.c:123319:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1296)) = charFunc // sqlite3.c:123320:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1336)) = absFunc // sqlite3.c:123321:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1376)) = roundFunc // sqlite3.c:123323:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1416)) = roundFunc // sqlite3.c:123324:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1456)) = upperFunc // sqlite3.c:123326:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1496)) = lowerFunc // sqlite3.c:123327:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1536)) = hexFunc // sqlite3.c:123328:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1576)) = versionFunc // sqlite3.c:123329:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1616)) = randomFunc // sqlite3.c:123330:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1656)) = randomBlob // sqlite3.c:123331:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1696)) = nullifFunc // sqlite3.c:123332:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1736)) = versionFunc // sqlite3.c:123333:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1776)) = sourceidFunc // sqlite3.c:123334:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1816)) = errlogFunc // sqlite3.c:123335:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1856)) = quoteFunc // sqlite3.c:123336:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1896)) = last_insert_rowid // sqlite3.c:123337:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1936)) = changes // sqlite3.c:123338:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1976)) = total_changes // sqlite3.c:123339:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2016)) = replaceFunc // sqlite3.c:123340:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2056)) = zeroblobFunc // sqlite3.c:123341:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2096)) = substrFunc // sqlite3.c:123342:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2136)) = substrFunc // sqlite3.c:123343:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2176)) = substrFunc // sqlite3.c:123344:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2216)) = substrFunc // sqlite3.c:123345:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2256)) = sumStep // sqlite3.c:123346:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2260)) = sumFinalize // sqlite3.c:123346:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2264)) = sumFinalize // sqlite3.c:123346:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2268)) = sumInverse // sqlite3.c:123346:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2296)) = sumStep // sqlite3.c:123347:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2300)) = totalFinalize // sqlite3.c:123347:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2304)) = totalFinalize // sqlite3.c:123347:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2308)) = sumInverse // sqlite3.c:123347:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2336)) = sumStep // sqlite3.c:123348:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2340)) = avgFinalize // sqlite3.c:123348:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2344)) = avgFinalize // sqlite3.c:123348:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2348)) = sumInverse // sqlite3.c:123348:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2376)) = countStep // sqlite3.c:123349:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2380)) = countFinalize // sqlite3.c:123349:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2384)) = countFinalize // sqlite3.c:123349:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2388)) = countInverse // sqlite3.c:123349:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2416)) = countStep // sqlite3.c:123352:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2420)) = countFinalize // sqlite3.c:123352:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2424)) = countFinalize // sqlite3.c:123352:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2428)) = countInverse // sqlite3.c:123352:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2456)) = groupConcatStep // sqlite3.c:123354:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2460)) = groupConcatFinalize // sqlite3.c:123354:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2464)) = groupConcatValue // sqlite3.c:123354:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2468)) = groupConcatInverse // sqlite3.c:123354:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2496)) = groupConcatStep // sqlite3.c:123356:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2500)) = groupConcatFinalize // sqlite3.c:123356:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2504)) = groupConcatValue // sqlite3.c:123356:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2508)) = groupConcatInverse // sqlite3.c:123356:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2528 /* .pUserData */)) = uintptr(unsafe.Pointer(&globInfo)) // sqlite3.c:123359:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2536)) = likeFunc // sqlite3.c:123359:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2568 /* .pUserData */)) = uintptr(unsafe.Pointer(&likeInfoNorm)) // sqlite3.c:123364:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2576)) = likeFunc // sqlite3.c:123364:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2608 /* .pUserData */)) = uintptr(unsafe.Pointer(&likeInfoNorm)) // sqlite3.c:123365:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2616)) = likeFunc // sqlite3.c:123365:5: - *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2728)) = xCeil // sqlite3.c:123373:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2736)) = ceilingFunc // sqlite3.c:123373:5: - *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2768)) = xCeil // sqlite3.c:123374:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2776)) = ceilingFunc // sqlite3.c:123374:5: - *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2808)) = xFloor // sqlite3.c:123375:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2816)) = ceilingFunc // sqlite3.c:123375:5: - *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2848)) = libc.Xtrunc // sqlite3.c:123377:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2856)) = ceilingFunc // sqlite3.c:123377:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2896)) = logFunc // sqlite3.c:123379:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2936)) = logFunc // sqlite3.c:123380:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2976)) = logFunc // sqlite3.c:123381:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3016)) = logFunc // sqlite3.c:123382:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3056)) = logFunc // sqlite3.c:123383:5: - *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3088)) = libc.Xexp // sqlite3.c:123384:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3096)) = math1Func // sqlite3.c:123384:5: - *(*func(*libc.TLS, float64, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3128)) = libc.Xpow // sqlite3.c:123385:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3136)) = math2Func // sqlite3.c:123385:5: - *(*func(*libc.TLS, float64, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3168)) = libc.Xpow // sqlite3.c:123386:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3176)) = math2Func // sqlite3.c:123386:5: - *(*func(*libc.TLS, float64, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3208)) = libc.Xfmod // sqlite3.c:123387:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3216)) = math2Func // sqlite3.c:123387:5: - *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3248)) = libc.Xacos // sqlite3.c:123388:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3256)) = math1Func // sqlite3.c:123388:5: - *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3288)) = libc.Xasin // sqlite3.c:123389:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3296)) = math1Func // sqlite3.c:123389:5: - *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3328)) = libc.Xatan // sqlite3.c:123390:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3336)) = math1Func // sqlite3.c:123390:5: - *(*func(*libc.TLS, float64, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3368)) = libc.Xatan2 // sqlite3.c:123391:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3376)) = math2Func // sqlite3.c:123391:5: - *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3408)) = libc.Xcos // sqlite3.c:123392:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3416)) = math1Func // sqlite3.c:123392:5: - *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3448)) = libc.Xsin // sqlite3.c:123393:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3456)) = math1Func // sqlite3.c:123393:5: - *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3488)) = libc.Xtan // sqlite3.c:123394:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3496)) = math1Func // sqlite3.c:123394:5: - *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3528)) = libc.Xcosh // sqlite3.c:123395:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3536)) = math1Func // sqlite3.c:123395:5: - *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3568)) = libc.Xsinh // sqlite3.c:123396:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3576)) = math1Func // sqlite3.c:123396:5: - *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3608)) = libc.Xtanh // sqlite3.c:123397:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3616)) = math1Func // sqlite3.c:123397:5: - *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3648)) = libc.Xacosh // sqlite3.c:123399:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3656)) = math1Func // sqlite3.c:123399:5: - *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3688)) = libc.Xasinh // sqlite3.c:123400:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3696)) = math1Func // sqlite3.c:123400:5: - *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3728)) = libc.Xatanh // sqlite3.c:123401:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3736)) = math1Func // sqlite3.c:123401:5: - *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3768)) = libc.Xsqrt // sqlite3.c:123403:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3776)) = math1Func // sqlite3.c:123403:5: - *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3808)) = degToRad // sqlite3.c:123404:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3816)) = math1Func // sqlite3.c:123404:5: - *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3848)) = radToDeg // sqlite3.c:123405:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3856)) = math1Func // sqlite3.c:123405:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3896)) = piFunc // sqlite3.c:123406:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3936)) = signFunc // sqlite3.c:123408:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3976)) = versionFunc // sqlite3.c:123409:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4016)) = versionFunc // sqlite3.c:123410:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aAgg)) + 0)) = geopolyBBoxStep // sqlite3.c:202042:8: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aAgg)) + 4)) = geopolyBBoxFinal // sqlite3.c:202042:25: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aAlterTableFuncs)) + 16)) = renameColumnFunc // sqlite3.c:111080:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aAlterTableFuncs)) + 56)) = renameTableFunc // sqlite3.c:111081:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aAlterTableFuncs)) + 96)) = renameTableTest // sqlite3.c:111082:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aAlterTableFuncs)) + 136)) = dropColumnFunc // sqlite3.c:111083:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aAlterTableFuncs)) + 176)) = renameQuotefixFunc // sqlite3.c:111084:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 16)) = versionFunc // sqlite3.c:123285:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 56)) = versionFunc // sqlite3.c:123286:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 96)) = versionFunc // sqlite3.c:123287:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 136)) = versionFunc // sqlite3.c:123288:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 176)) = soundexFunc // sqlite3.c:123292:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 216)) = loadExt // sqlite3.c:123295:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 256)) = loadExt // sqlite3.c:123296:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 296)) = compileoptionusedFunc // sqlite3.c:123302:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 336)) = compileoptiongetFunc // sqlite3.c:123303:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 376)) = versionFunc // sqlite3.c:123305:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 416)) = versionFunc // sqlite3.c:123306:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 456)) = versionFunc // sqlite3.c:123307:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 496)) = versionFunc // sqlite3.c:123310:12: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 536)) = trimFunc // sqlite3.c:123312:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 576)) = trimFunc // sqlite3.c:123313:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 616)) = trimFunc // sqlite3.c:123314:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 656)) = trimFunc // sqlite3.c:123315:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 696)) = trimFunc // sqlite3.c:123316:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 736)) = trimFunc // sqlite3.c:123317:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 776)) = minmaxFunc // sqlite3.c:123318:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 856)) = minmaxStep // sqlite3.c:123320:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 860)) = minMaxFinalize // sqlite3.c:123320:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 864)) = minMaxValue // sqlite3.c:123320:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 896)) = minmaxFunc // sqlite3.c:123322:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 976)) = minmaxStep // sqlite3.c:123324:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 980)) = minMaxFinalize // sqlite3.c:123324:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 984)) = minMaxValue // sqlite3.c:123324:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1016)) = typeofFunc // sqlite3.c:123326:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1056)) = subtypeFunc // sqlite3.c:123327:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1096)) = lengthFunc // sqlite3.c:123328:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1136)) = instrFunc // sqlite3.c:123329:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1176)) = printfFunc // sqlite3.c:123330:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1216)) = printfFunc // sqlite3.c:123331:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1256)) = unicodeFunc // sqlite3.c:123332:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1296)) = charFunc // sqlite3.c:123333:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1336)) = absFunc // sqlite3.c:123334:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1376)) = roundFunc // sqlite3.c:123336:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1416)) = roundFunc // sqlite3.c:123337:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1456)) = upperFunc // sqlite3.c:123339:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1496)) = lowerFunc // sqlite3.c:123340:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1536)) = hexFunc // sqlite3.c:123341:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1576)) = versionFunc // sqlite3.c:123342:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1616)) = randomFunc // sqlite3.c:123343:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1656)) = randomBlob // sqlite3.c:123344:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1696)) = nullifFunc // sqlite3.c:123345:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1736)) = versionFunc // sqlite3.c:123346:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1776)) = sourceidFunc // sqlite3.c:123347:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1816)) = errlogFunc // sqlite3.c:123348:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1856)) = quoteFunc // sqlite3.c:123349:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1896)) = last_insert_rowid // sqlite3.c:123350:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1936)) = changes // sqlite3.c:123351:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1976)) = total_changes // sqlite3.c:123352:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2016)) = replaceFunc // sqlite3.c:123353:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2056)) = zeroblobFunc // sqlite3.c:123354:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2096)) = substrFunc // sqlite3.c:123355:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2136)) = substrFunc // sqlite3.c:123356:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2176)) = substrFunc // sqlite3.c:123357:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2216)) = substrFunc // sqlite3.c:123358:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2256)) = sumStep // sqlite3.c:123359:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2260)) = sumFinalize // sqlite3.c:123359:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2264)) = sumFinalize // sqlite3.c:123359:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2268)) = sumInverse // sqlite3.c:123359:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2296)) = sumStep // sqlite3.c:123360:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2300)) = totalFinalize // sqlite3.c:123360:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2304)) = totalFinalize // sqlite3.c:123360:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2308)) = sumInverse // sqlite3.c:123360:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2336)) = sumStep // sqlite3.c:123361:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2340)) = avgFinalize // sqlite3.c:123361:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2344)) = avgFinalize // sqlite3.c:123361:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2348)) = sumInverse // sqlite3.c:123361:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2376)) = countStep // sqlite3.c:123362:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2380)) = countFinalize // sqlite3.c:123362:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2384)) = countFinalize // sqlite3.c:123362:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2388)) = countInverse // sqlite3.c:123362:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2416)) = countStep // sqlite3.c:123365:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2420)) = countFinalize // sqlite3.c:123365:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2424)) = countFinalize // sqlite3.c:123365:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2428)) = countInverse // sqlite3.c:123365:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2456)) = groupConcatStep // sqlite3.c:123367:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2460)) = groupConcatFinalize // sqlite3.c:123367:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2464)) = groupConcatValue // sqlite3.c:123367:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2468)) = groupConcatInverse // sqlite3.c:123367:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2496)) = groupConcatStep // sqlite3.c:123369:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2500)) = groupConcatFinalize // sqlite3.c:123369:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2504)) = groupConcatValue // sqlite3.c:123369:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2508)) = groupConcatInverse // sqlite3.c:123369:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2528 /* .pUserData */)) = uintptr(unsafe.Pointer(&globInfo)) // sqlite3.c:123372:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2536)) = likeFunc // sqlite3.c:123372:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2568 /* .pUserData */)) = uintptr(unsafe.Pointer(&likeInfoNorm)) // sqlite3.c:123377:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2576)) = likeFunc // sqlite3.c:123377:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2608 /* .pUserData */)) = uintptr(unsafe.Pointer(&likeInfoNorm)) // sqlite3.c:123378:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2616)) = likeFunc // sqlite3.c:123378:5: + *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2728)) = xCeil // sqlite3.c:123386:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2736)) = ceilingFunc // sqlite3.c:123386:5: + *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2768)) = xCeil // sqlite3.c:123387:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2776)) = ceilingFunc // sqlite3.c:123387:5: + *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2808)) = xFloor // sqlite3.c:123388:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2816)) = ceilingFunc // sqlite3.c:123388:5: + *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2848)) = libc.Xtrunc // sqlite3.c:123390:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2856)) = ceilingFunc // sqlite3.c:123390:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2896)) = logFunc // sqlite3.c:123392:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2936)) = logFunc // sqlite3.c:123393:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2976)) = logFunc // sqlite3.c:123394:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3016)) = logFunc // sqlite3.c:123395:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3056)) = logFunc // sqlite3.c:123396:5: + *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3088)) = libc.Xexp // sqlite3.c:123397:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3096)) = math1Func // sqlite3.c:123397:5: + *(*func(*libc.TLS, float64, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3128)) = libc.Xpow // sqlite3.c:123398:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3136)) = math2Func // sqlite3.c:123398:5: + *(*func(*libc.TLS, float64, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3168)) = libc.Xpow // sqlite3.c:123399:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3176)) = math2Func // sqlite3.c:123399:5: + *(*func(*libc.TLS, float64, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3208)) = libc.Xfmod // sqlite3.c:123400:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3216)) = math2Func // sqlite3.c:123400:5: + *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3248)) = libc.Xacos // sqlite3.c:123401:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3256)) = math1Func // sqlite3.c:123401:5: + *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3288)) = libc.Xasin // sqlite3.c:123402:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3296)) = math1Func // sqlite3.c:123402:5: + *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3328)) = libc.Xatan // sqlite3.c:123403:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3336)) = math1Func // sqlite3.c:123403:5: + *(*func(*libc.TLS, float64, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3368)) = libc.Xatan2 // sqlite3.c:123404:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3376)) = math2Func // sqlite3.c:123404:5: + *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3408)) = libc.Xcos // sqlite3.c:123405:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3416)) = math1Func // sqlite3.c:123405:5: + *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3448)) = libc.Xsin // sqlite3.c:123406:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3456)) = math1Func // sqlite3.c:123406:5: + *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3488)) = libc.Xtan // sqlite3.c:123407:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3496)) = math1Func // sqlite3.c:123407:5: + *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3528)) = libc.Xcosh // sqlite3.c:123408:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3536)) = math1Func // sqlite3.c:123408:5: + *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3568)) = libc.Xsinh // sqlite3.c:123409:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3576)) = math1Func // sqlite3.c:123409:5: + *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3608)) = libc.Xtanh // sqlite3.c:123410:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3616)) = math1Func // sqlite3.c:123410:5: + *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3648)) = libc.Xacosh // sqlite3.c:123412:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3656)) = math1Func // sqlite3.c:123412:5: + *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3688)) = libc.Xasinh // sqlite3.c:123413:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3696)) = math1Func // sqlite3.c:123413:5: + *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3728)) = libc.Xatanh // sqlite3.c:123414:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3736)) = math1Func // sqlite3.c:123414:5: + *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3768)) = libc.Xsqrt // sqlite3.c:123416:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3776)) = math1Func // sqlite3.c:123416:5: + *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3808)) = degToRad // sqlite3.c:123417:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3816)) = math1Func // sqlite3.c:123417:5: + *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3848)) = radToDeg // sqlite3.c:123418:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3856)) = math1Func // sqlite3.c:123418:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3896)) = piFunc // sqlite3.c:123419:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3936)) = signFunc // sqlite3.c:123421:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3976)) = versionFunc // sqlite3.c:123422:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4016)) = versionFunc // sqlite3.c:123423:5: *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aDateTimeFuncs)) + 8 /* .pUserData */)) = uintptr(unsafe.Pointer(&Xsqlite3Config)) // sqlite3.c:24402:5: *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aDateTimeFuncs)) + 16)) = juliandayFunc // sqlite3.c:24402:5: *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aDateTimeFuncs)) + 48 /* .pUserData */)) = uintptr(unsafe.Pointer(&Xsqlite3Config)) // sqlite3.c:24403:5: @@ -195551,45 +195582,45 @@ func init() { *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aDateTimeFuncs)) + 256)) = ctimeFunc // sqlite3.c:24408:5: *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aDateTimeFuncs)) + 296)) = ctimestampFunc // sqlite3.c:24409:5: *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aDateTimeFuncs)) + 336)) = cdateFunc // sqlite3.c:24410:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 0)) = geopolyAreaFunc // sqlite3.c:201967:8: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 12)) = geopolyBlobFunc // sqlite3.c:201968:8: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 24)) = geopolyJsonFunc // sqlite3.c:201969:8: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 36)) = geopolySvgFunc // sqlite3.c:201970:8: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 48)) = geopolyWithinFunc // sqlite3.c:201971:8: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 60)) = geopolyContainsPointFunc // sqlite3.c:201972:8: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 72)) = geopolyOverlapFunc // sqlite3.c:201973:8: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 84)) = geopolyDebugFunc // sqlite3.c:201974:8: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 96)) = geopolyBBoxFunc // sqlite3.c:201975:8: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 108)) = geopolyXformFunc // sqlite3.c:201976:8: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 120)) = geopolyRegularFunc // sqlite3.c:201977:8: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 132)) = geopolyCcwFunc // sqlite3.c:201978:8: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 16)) = jsonRemoveFunc // sqlite3.c:195736:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 56)) = jsonArrayFunc // sqlite3.c:195737:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 96)) = jsonArrayLengthFunc // sqlite3.c:195738:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 136)) = jsonArrayLengthFunc // sqlite3.c:195739:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 176)) = jsonExtractFunc // sqlite3.c:195740:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 216)) = jsonExtractFunc // sqlite3.c:195741:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 256)) = jsonExtractFunc // sqlite3.c:195742:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 296)) = jsonSetFunc // sqlite3.c:195743:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 336)) = jsonObjectFunc // sqlite3.c:195744:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 376)) = jsonPatchFunc // sqlite3.c:195745:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 416)) = jsonQuoteFunc // sqlite3.c:195746:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 456)) = jsonRemoveFunc // sqlite3.c:195747:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 496)) = jsonReplaceFunc // sqlite3.c:195748:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 536)) = jsonSetFunc // sqlite3.c:195749:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 576)) = jsonTypeFunc // sqlite3.c:195750:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 616)) = jsonTypeFunc // sqlite3.c:195751:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 656)) = jsonValidFunc // sqlite3.c:195752:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 696)) = jsonArrayStep // sqlite3.c:195757:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 700)) = jsonArrayFinal // sqlite3.c:195757:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 704)) = jsonArrayValue // sqlite3.c:195757:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 708)) = jsonGroupInverse // sqlite3.c:195757:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 736)) = jsonObjectStep // sqlite3.c:195760:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 740)) = jsonObjectFinal // sqlite3.c:195760:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 744)) = jsonObjectValue // sqlite3.c:195760:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 748)) = jsonGroupInverse // sqlite3.c:195760:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aMod)) + 4 /* .pModule */)) = uintptr(unsafe.Pointer(&jsonEachModule)) // sqlite3.c:195778:31: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aMod)) + 12 /* .pModule */)) = uintptr(unsafe.Pointer(&jsonTreeModule)) // sqlite3.c:195779:31: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 0)) = geopolyAreaFunc // sqlite3.c:202024:8: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 12)) = geopolyBlobFunc // sqlite3.c:202025:8: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 24)) = geopolyJsonFunc // sqlite3.c:202026:8: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 36)) = geopolySvgFunc // sqlite3.c:202027:8: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 48)) = geopolyWithinFunc // sqlite3.c:202028:8: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 60)) = geopolyContainsPointFunc // sqlite3.c:202029:8: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 72)) = geopolyOverlapFunc // sqlite3.c:202030:8: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 84)) = geopolyDebugFunc // sqlite3.c:202031:8: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 96)) = geopolyBBoxFunc // sqlite3.c:202032:8: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 108)) = geopolyXformFunc // sqlite3.c:202033:8: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 120)) = geopolyRegularFunc // sqlite3.c:202034:8: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 132)) = geopolyCcwFunc // sqlite3.c:202035:8: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 16)) = jsonRemoveFunc // sqlite3.c:195793:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 56)) = jsonArrayFunc // sqlite3.c:195794:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 96)) = jsonArrayLengthFunc // sqlite3.c:195795:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 136)) = jsonArrayLengthFunc // sqlite3.c:195796:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 176)) = jsonExtractFunc // sqlite3.c:195797:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 216)) = jsonExtractFunc // sqlite3.c:195798:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 256)) = jsonExtractFunc // sqlite3.c:195799:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 296)) = jsonSetFunc // sqlite3.c:195800:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 336)) = jsonObjectFunc // sqlite3.c:195801:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 376)) = jsonPatchFunc // sqlite3.c:195802:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 416)) = jsonQuoteFunc // sqlite3.c:195803:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 456)) = jsonRemoveFunc // sqlite3.c:195804:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 496)) = jsonReplaceFunc // sqlite3.c:195805:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 536)) = jsonSetFunc // sqlite3.c:195806:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 576)) = jsonTypeFunc // sqlite3.c:195807:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 616)) = jsonTypeFunc // sqlite3.c:195808:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 656)) = jsonValidFunc // sqlite3.c:195809:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 696)) = jsonArrayStep // sqlite3.c:195814:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 700)) = jsonArrayFinal // sqlite3.c:195814:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 704)) = jsonArrayValue // sqlite3.c:195814:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 708)) = jsonGroupInverse // sqlite3.c:195814:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 736)) = jsonObjectStep // sqlite3.c:195817:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 740)) = jsonObjectFinal // sqlite3.c:195817:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 744)) = jsonObjectValue // sqlite3.c:195817:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 748)) = jsonGroupInverse // sqlite3.c:195817:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aMod)) + 4 /* .pModule */)) = uintptr(unsafe.Pointer(&jsonEachModule)) // sqlite3.c:195835:31: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aMod)) + 12 /* .pModule */)) = uintptr(unsafe.Pointer(&jsonTreeModule)) // sqlite3.c:195836:31: *(*Sqlite3_syscall_ptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 4 /* .pCurrent */)) = *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, int32) int32 }{posixOpen})) // sqlite3.c:35170:21: @@ -195653,150 +195684,150 @@ func init() { *(*Sqlite3_syscall_ptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 328 /* .pCurrent */)) = *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr) int32 }{libc.Xlstat})) // sqlite3.c:35313:22: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 20 /* .pAppData */)) = uintptr(unsafe.Pointer(&posixIoFinder)) // sqlite3.c:42842:5: - *(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 24)) = unixOpen // sqlite3.c:42842:5: - *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 28)) = unixDelete // sqlite3.c:42842:5: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 32)) = unixAccess // sqlite3.c:42842:5: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 36)) = unixFullPathname // sqlite3.c:42842:5: - *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 40)) = unixDlOpen // sqlite3.c:42842:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 44)) = unixDlError // sqlite3.c:42842:5: - *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 48)) = unixDlSym // sqlite3.c:42842:5: - *(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 52)) = unixDlClose // sqlite3.c:42842:5: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 56)) = unixRandomness // sqlite3.c:42842:5: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 60)) = unixSleep // sqlite3.c:42842:5: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 64)) = unixCurrentTime // sqlite3.c:42842:5: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 68)) = unixGetLastError // sqlite3.c:42842:5: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 72)) = unixCurrentTimeInt64 // sqlite3.c:42842:5: - *(*func(*libc.TLS, uintptr, uintptr, Sqlite3_syscall_ptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 76)) = unixSetSystemCall // sqlite3.c:42842:5: - *(*func(*libc.TLS, uintptr, uintptr) Sqlite3_syscall_ptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 80)) = unixGetSystemCall // sqlite3.c:42842:5: - *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 84)) = unixNextSystemCall // sqlite3.c:42842:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 108 /* .pAppData */)) = uintptr(unsafe.Pointer(&nolockIoFinder)) // sqlite3.c:42844:5: - *(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 112)) = unixOpen // sqlite3.c:42844:5: - *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 116)) = unixDelete // sqlite3.c:42844:5: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 120)) = unixAccess // sqlite3.c:42844:5: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 124)) = unixFullPathname // sqlite3.c:42844:5: - *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 128)) = unixDlOpen // sqlite3.c:42844:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 132)) = unixDlError // sqlite3.c:42844:5: - *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 136)) = unixDlSym // sqlite3.c:42844:5: - *(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 140)) = unixDlClose // sqlite3.c:42844:5: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 144)) = unixRandomness // sqlite3.c:42844:5: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 148)) = unixSleep // sqlite3.c:42844:5: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 152)) = unixCurrentTime // sqlite3.c:42844:5: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 156)) = unixGetLastError // sqlite3.c:42844:5: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 160)) = unixCurrentTimeInt64 // sqlite3.c:42844:5: - *(*func(*libc.TLS, uintptr, uintptr, Sqlite3_syscall_ptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 164)) = unixSetSystemCall // sqlite3.c:42844:5: - *(*func(*libc.TLS, uintptr, uintptr) Sqlite3_syscall_ptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 168)) = unixGetSystemCall // sqlite3.c:42844:5: - *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 172)) = unixNextSystemCall // sqlite3.c:42844:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 196 /* .pAppData */)) = uintptr(unsafe.Pointer(&dotlockIoFinder)) // sqlite3.c:42845:5: - *(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 200)) = unixOpen // sqlite3.c:42845:5: - *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 204)) = unixDelete // sqlite3.c:42845:5: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 208)) = unixAccess // sqlite3.c:42845:5: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 212)) = unixFullPathname // sqlite3.c:42845:5: - *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 216)) = unixDlOpen // sqlite3.c:42845:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 220)) = unixDlError // sqlite3.c:42845:5: - *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 224)) = unixDlSym // sqlite3.c:42845:5: - *(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 228)) = unixDlClose // sqlite3.c:42845:5: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 232)) = unixRandomness // sqlite3.c:42845:5: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 236)) = unixSleep // sqlite3.c:42845:5: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 240)) = unixCurrentTime // sqlite3.c:42845:5: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 244)) = unixGetLastError // sqlite3.c:42845:5: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 248)) = unixCurrentTimeInt64 // sqlite3.c:42845:5: - *(*func(*libc.TLS, uintptr, uintptr, Sqlite3_syscall_ptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 252)) = unixSetSystemCall // sqlite3.c:42845:5: - *(*func(*libc.TLS, uintptr, uintptr) Sqlite3_syscall_ptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 256)) = unixGetSystemCall // sqlite3.c:42845:5: - *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 260)) = unixNextSystemCall // sqlite3.c:42845:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 284 /* .pAppData */)) = uintptr(unsafe.Pointer(&posixIoFinder)) // sqlite3.c:42846:5: - *(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 288)) = unixOpen // sqlite3.c:42846:5: - *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 292)) = unixDelete // sqlite3.c:42846:5: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 296)) = unixAccess // sqlite3.c:42846:5: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 300)) = unixFullPathname // sqlite3.c:42846:5: - *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 304)) = unixDlOpen // sqlite3.c:42846:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 308)) = unixDlError // sqlite3.c:42846:5: - *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 312)) = unixDlSym // sqlite3.c:42846:5: - *(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 316)) = unixDlClose // sqlite3.c:42846:5: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 320)) = unixRandomness // sqlite3.c:42846:5: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 324)) = unixSleep // sqlite3.c:42846:5: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 328)) = unixCurrentTime // sqlite3.c:42846:5: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 332)) = unixGetLastError // sqlite3.c:42846:5: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 336)) = unixCurrentTimeInt64 // sqlite3.c:42846:5: - *(*func(*libc.TLS, uintptr, uintptr, Sqlite3_syscall_ptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 340)) = unixSetSystemCall // sqlite3.c:42846:5: - *(*func(*libc.TLS, uintptr, uintptr) Sqlite3_syscall_ptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 344)) = unixGetSystemCall // sqlite3.c:42846:5: - *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 348)) = unixNextSystemCall // sqlite3.c:42846:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 16)) = row_numberStepFunc // sqlite3.c:158796:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 20)) = row_numberValueFunc // sqlite3.c:158796:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 24)) = row_numberValueFunc // sqlite3.c:158796:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 28)) = noopStepFunc // sqlite3.c:158796:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 32 /* .zName */)) = uintptr(unsafe.Pointer(&row_numberName)) // sqlite3.c:158796:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 56)) = dense_rankStepFunc // sqlite3.c:158797:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 60)) = dense_rankValueFunc // sqlite3.c:158797:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 64)) = dense_rankValueFunc // sqlite3.c:158797:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 68)) = noopStepFunc // sqlite3.c:158797:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 72 /* .zName */)) = uintptr(unsafe.Pointer(&dense_rankName)) // sqlite3.c:158797:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 96)) = rankStepFunc // sqlite3.c:158798:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 100)) = rankValueFunc // sqlite3.c:158798:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 104)) = rankValueFunc // sqlite3.c:158798:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 108)) = noopStepFunc // sqlite3.c:158798:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 112 /* .zName */)) = uintptr(unsafe.Pointer(&rankName)) // sqlite3.c:158798:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 136)) = percent_rankStepFunc // sqlite3.c:158799:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 140)) = percent_rankValueFunc // sqlite3.c:158799:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 144)) = percent_rankValueFunc // sqlite3.c:158799:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 148)) = percent_rankInvFunc // sqlite3.c:158799:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 152 /* .zName */)) = uintptr(unsafe.Pointer(&percent_rankName)) // sqlite3.c:158799:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 176)) = cume_distStepFunc // sqlite3.c:158800:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 180)) = cume_distValueFunc // sqlite3.c:158800:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 184)) = cume_distValueFunc // sqlite3.c:158800:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 188)) = cume_distInvFunc // sqlite3.c:158800:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 192 /* .zName */)) = uintptr(unsafe.Pointer(&cume_distName)) // sqlite3.c:158800:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 216)) = ntileStepFunc // sqlite3.c:158801:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 220)) = ntileValueFunc // sqlite3.c:158801:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 224)) = ntileValueFunc // sqlite3.c:158801:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 228)) = ntileInvFunc // sqlite3.c:158801:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 232 /* .zName */)) = uintptr(unsafe.Pointer(&ntileName)) // sqlite3.c:158801:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 256)) = last_valueStepFunc // sqlite3.c:158802:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 260)) = last_valueFinalizeFunc // sqlite3.c:158802:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 264)) = last_valueValueFunc // sqlite3.c:158802:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 268)) = last_valueInvFunc // sqlite3.c:158802:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 272 /* .zName */)) = uintptr(unsafe.Pointer(&last_valueName)) // sqlite3.c:158802:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 296)) = nth_valueStepFunc // sqlite3.c:158803:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 300)) = nth_valueFinalizeFunc // sqlite3.c:158803:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 304)) = noopValueFunc // sqlite3.c:158803:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 308)) = noopStepFunc // sqlite3.c:158803:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 312 /* .zName */)) = uintptr(unsafe.Pointer(&nth_valueName)) // sqlite3.c:158803:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 336)) = first_valueStepFunc // sqlite3.c:158804:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 340)) = first_valueFinalizeFunc // sqlite3.c:158804:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 344)) = noopValueFunc // sqlite3.c:158804:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 348)) = noopStepFunc // sqlite3.c:158804:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 352 /* .zName */)) = uintptr(unsafe.Pointer(&first_valueName)) // sqlite3.c:158804:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 376)) = noopStepFunc // sqlite3.c:158805:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 380)) = noopValueFunc // sqlite3.c:158805:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 384)) = noopValueFunc // sqlite3.c:158805:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 388)) = noopStepFunc // sqlite3.c:158805:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 392 /* .zName */)) = uintptr(unsafe.Pointer(&leadName)) // sqlite3.c:158805:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 416)) = noopStepFunc // sqlite3.c:158806:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 420)) = noopValueFunc // sqlite3.c:158806:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 424)) = noopValueFunc // sqlite3.c:158806:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 428)) = noopStepFunc // sqlite3.c:158806:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 432 /* .zName */)) = uintptr(unsafe.Pointer(&leadName)) // sqlite3.c:158806:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 456)) = noopStepFunc // sqlite3.c:158807:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 460)) = noopValueFunc // sqlite3.c:158807:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 464)) = noopValueFunc // sqlite3.c:158807:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 468)) = noopStepFunc // sqlite3.c:158807:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 472 /* .zName */)) = uintptr(unsafe.Pointer(&leadName)) // sqlite3.c:158807:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 496)) = noopStepFunc // sqlite3.c:158808:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 500)) = noopValueFunc // sqlite3.c:158808:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 504)) = noopValueFunc // sqlite3.c:158808:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 508)) = noopStepFunc // sqlite3.c:158808:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 512 /* .zName */)) = uintptr(unsafe.Pointer(&lagName)) // sqlite3.c:158808:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 536)) = noopStepFunc // sqlite3.c:158809:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 540)) = noopValueFunc // sqlite3.c:158809:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 544)) = noopValueFunc // sqlite3.c:158809:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 548)) = noopStepFunc // sqlite3.c:158809:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 552 /* .zName */)) = uintptr(unsafe.Pointer(&lagName)) // sqlite3.c:158809:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 576)) = noopStepFunc // sqlite3.c:158810:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 580)) = noopValueFunc // sqlite3.c:158810:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 584)) = noopValueFunc // sqlite3.c:158810:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 588)) = noopStepFunc // sqlite3.c:158810:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 592 /* .zName */)) = uintptr(unsafe.Pointer(&lagName)) // sqlite3.c:158810:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&attach_func)) + 16)) = attachFunc // sqlite3.c:113438:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 20 /* .pAppData */)) = uintptr(unsafe.Pointer(&posixIoFinder)) // sqlite3.c:42848:5: + *(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 24)) = unixOpen // sqlite3.c:42848:5: + *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 28)) = unixDelete // sqlite3.c:42848:5: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 32)) = unixAccess // sqlite3.c:42848:5: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 36)) = unixFullPathname // sqlite3.c:42848:5: + *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 40)) = unixDlOpen // sqlite3.c:42848:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 44)) = unixDlError // sqlite3.c:42848:5: + *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 48)) = unixDlSym // sqlite3.c:42848:5: + *(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 52)) = unixDlClose // sqlite3.c:42848:5: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 56)) = unixRandomness // sqlite3.c:42848:5: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 60)) = unixSleep // sqlite3.c:42848:5: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 64)) = unixCurrentTime // sqlite3.c:42848:5: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 68)) = unixGetLastError // sqlite3.c:42848:5: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 72)) = unixCurrentTimeInt64 // sqlite3.c:42848:5: + *(*func(*libc.TLS, uintptr, uintptr, Sqlite3_syscall_ptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 76)) = unixSetSystemCall // sqlite3.c:42848:5: + *(*func(*libc.TLS, uintptr, uintptr) Sqlite3_syscall_ptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 80)) = unixGetSystemCall // sqlite3.c:42848:5: + *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 84)) = unixNextSystemCall // sqlite3.c:42848:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 108 /* .pAppData */)) = uintptr(unsafe.Pointer(&nolockIoFinder)) // sqlite3.c:42850:5: + *(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 112)) = unixOpen // sqlite3.c:42850:5: + *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 116)) = unixDelete // sqlite3.c:42850:5: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 120)) = unixAccess // sqlite3.c:42850:5: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 124)) = unixFullPathname // sqlite3.c:42850:5: + *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 128)) = unixDlOpen // sqlite3.c:42850:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 132)) = unixDlError // sqlite3.c:42850:5: + *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 136)) = unixDlSym // sqlite3.c:42850:5: + *(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 140)) = unixDlClose // sqlite3.c:42850:5: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 144)) = unixRandomness // sqlite3.c:42850:5: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 148)) = unixSleep // sqlite3.c:42850:5: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 152)) = unixCurrentTime // sqlite3.c:42850:5: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 156)) = unixGetLastError // sqlite3.c:42850:5: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 160)) = unixCurrentTimeInt64 // sqlite3.c:42850:5: + *(*func(*libc.TLS, uintptr, uintptr, Sqlite3_syscall_ptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 164)) = unixSetSystemCall // sqlite3.c:42850:5: + *(*func(*libc.TLS, uintptr, uintptr) Sqlite3_syscall_ptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 168)) = unixGetSystemCall // sqlite3.c:42850:5: + *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 172)) = unixNextSystemCall // sqlite3.c:42850:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 196 /* .pAppData */)) = uintptr(unsafe.Pointer(&dotlockIoFinder)) // sqlite3.c:42851:5: + *(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 200)) = unixOpen // sqlite3.c:42851:5: + *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 204)) = unixDelete // sqlite3.c:42851:5: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 208)) = unixAccess // sqlite3.c:42851:5: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 212)) = unixFullPathname // sqlite3.c:42851:5: + *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 216)) = unixDlOpen // sqlite3.c:42851:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 220)) = unixDlError // sqlite3.c:42851:5: + *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 224)) = unixDlSym // sqlite3.c:42851:5: + *(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 228)) = unixDlClose // sqlite3.c:42851:5: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 232)) = unixRandomness // sqlite3.c:42851:5: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 236)) = unixSleep // sqlite3.c:42851:5: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 240)) = unixCurrentTime // sqlite3.c:42851:5: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 244)) = unixGetLastError // sqlite3.c:42851:5: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 248)) = unixCurrentTimeInt64 // sqlite3.c:42851:5: + *(*func(*libc.TLS, uintptr, uintptr, Sqlite3_syscall_ptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 252)) = unixSetSystemCall // sqlite3.c:42851:5: + *(*func(*libc.TLS, uintptr, uintptr) Sqlite3_syscall_ptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 256)) = unixGetSystemCall // sqlite3.c:42851:5: + *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 260)) = unixNextSystemCall // sqlite3.c:42851:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 284 /* .pAppData */)) = uintptr(unsafe.Pointer(&posixIoFinder)) // sqlite3.c:42852:5: + *(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 288)) = unixOpen // sqlite3.c:42852:5: + *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 292)) = unixDelete // sqlite3.c:42852:5: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 296)) = unixAccess // sqlite3.c:42852:5: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 300)) = unixFullPathname // sqlite3.c:42852:5: + *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 304)) = unixDlOpen // sqlite3.c:42852:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 308)) = unixDlError // sqlite3.c:42852:5: + *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 312)) = unixDlSym // sqlite3.c:42852:5: + *(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 316)) = unixDlClose // sqlite3.c:42852:5: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 320)) = unixRandomness // sqlite3.c:42852:5: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 324)) = unixSleep // sqlite3.c:42852:5: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 328)) = unixCurrentTime // sqlite3.c:42852:5: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 332)) = unixGetLastError // sqlite3.c:42852:5: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 336)) = unixCurrentTimeInt64 // sqlite3.c:42852:5: + *(*func(*libc.TLS, uintptr, uintptr, Sqlite3_syscall_ptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 340)) = unixSetSystemCall // sqlite3.c:42852:5: + *(*func(*libc.TLS, uintptr, uintptr) Sqlite3_syscall_ptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 344)) = unixGetSystemCall // sqlite3.c:42852:5: + *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 348)) = unixNextSystemCall // sqlite3.c:42852:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 16)) = row_numberStepFunc // sqlite3.c:158853:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 20)) = row_numberValueFunc // sqlite3.c:158853:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 24)) = row_numberValueFunc // sqlite3.c:158853:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 28)) = noopStepFunc // sqlite3.c:158853:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 32 /* .zName */)) = uintptr(unsafe.Pointer(&row_numberName)) // sqlite3.c:158853:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 56)) = dense_rankStepFunc // sqlite3.c:158854:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 60)) = dense_rankValueFunc // sqlite3.c:158854:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 64)) = dense_rankValueFunc // sqlite3.c:158854:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 68)) = noopStepFunc // sqlite3.c:158854:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 72 /* .zName */)) = uintptr(unsafe.Pointer(&dense_rankName)) // sqlite3.c:158854:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 96)) = rankStepFunc // sqlite3.c:158855:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 100)) = rankValueFunc // sqlite3.c:158855:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 104)) = rankValueFunc // sqlite3.c:158855:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 108)) = noopStepFunc // sqlite3.c:158855:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 112 /* .zName */)) = uintptr(unsafe.Pointer(&rankName)) // sqlite3.c:158855:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 136)) = percent_rankStepFunc // sqlite3.c:158856:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 140)) = percent_rankValueFunc // sqlite3.c:158856:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 144)) = percent_rankValueFunc // sqlite3.c:158856:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 148)) = percent_rankInvFunc // sqlite3.c:158856:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 152 /* .zName */)) = uintptr(unsafe.Pointer(&percent_rankName)) // sqlite3.c:158856:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 176)) = cume_distStepFunc // sqlite3.c:158857:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 180)) = cume_distValueFunc // sqlite3.c:158857:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 184)) = cume_distValueFunc // sqlite3.c:158857:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 188)) = cume_distInvFunc // sqlite3.c:158857:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 192 /* .zName */)) = uintptr(unsafe.Pointer(&cume_distName)) // sqlite3.c:158857:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 216)) = ntileStepFunc // sqlite3.c:158858:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 220)) = ntileValueFunc // sqlite3.c:158858:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 224)) = ntileValueFunc // sqlite3.c:158858:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 228)) = ntileInvFunc // sqlite3.c:158858:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 232 /* .zName */)) = uintptr(unsafe.Pointer(&ntileName)) // sqlite3.c:158858:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 256)) = last_valueStepFunc // sqlite3.c:158859:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 260)) = last_valueFinalizeFunc // sqlite3.c:158859:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 264)) = last_valueValueFunc // sqlite3.c:158859:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 268)) = last_valueInvFunc // sqlite3.c:158859:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 272 /* .zName */)) = uintptr(unsafe.Pointer(&last_valueName)) // sqlite3.c:158859:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 296)) = nth_valueStepFunc // sqlite3.c:158860:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 300)) = nth_valueFinalizeFunc // sqlite3.c:158860:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 304)) = noopValueFunc // sqlite3.c:158860:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 308)) = noopStepFunc // sqlite3.c:158860:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 312 /* .zName */)) = uintptr(unsafe.Pointer(&nth_valueName)) // sqlite3.c:158860:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 336)) = first_valueStepFunc // sqlite3.c:158861:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 340)) = first_valueFinalizeFunc // sqlite3.c:158861:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 344)) = noopValueFunc // sqlite3.c:158861:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 348)) = noopStepFunc // sqlite3.c:158861:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 352 /* .zName */)) = uintptr(unsafe.Pointer(&first_valueName)) // sqlite3.c:158861:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 376)) = noopStepFunc // sqlite3.c:158862:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 380)) = noopValueFunc // sqlite3.c:158862:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 384)) = noopValueFunc // sqlite3.c:158862:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 388)) = noopStepFunc // sqlite3.c:158862:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 392 /* .zName */)) = uintptr(unsafe.Pointer(&leadName)) // sqlite3.c:158862:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 416)) = noopStepFunc // sqlite3.c:158863:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 420)) = noopValueFunc // sqlite3.c:158863:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 424)) = noopValueFunc // sqlite3.c:158863:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 428)) = noopStepFunc // sqlite3.c:158863:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 432 /* .zName */)) = uintptr(unsafe.Pointer(&leadName)) // sqlite3.c:158863:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 456)) = noopStepFunc // sqlite3.c:158864:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 460)) = noopValueFunc // sqlite3.c:158864:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 464)) = noopValueFunc // sqlite3.c:158864:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 468)) = noopStepFunc // sqlite3.c:158864:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 472 /* .zName */)) = uintptr(unsafe.Pointer(&leadName)) // sqlite3.c:158864:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 496)) = noopStepFunc // sqlite3.c:158865:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 500)) = noopValueFunc // sqlite3.c:158865:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 504)) = noopValueFunc // sqlite3.c:158865:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 508)) = noopStepFunc // sqlite3.c:158865:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 512 /* .zName */)) = uintptr(unsafe.Pointer(&lagName)) // sqlite3.c:158865:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 536)) = noopStepFunc // sqlite3.c:158866:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 540)) = noopValueFunc // sqlite3.c:158866:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 544)) = noopValueFunc // sqlite3.c:158866:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 548)) = noopStepFunc // sqlite3.c:158866:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 552 /* .zName */)) = uintptr(unsafe.Pointer(&lagName)) // sqlite3.c:158866:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 576)) = noopStepFunc // sqlite3.c:158867:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 580)) = noopValueFunc // sqlite3.c:158867:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 584)) = noopValueFunc // sqlite3.c:158867:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 588)) = noopStepFunc // sqlite3.c:158867:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 592 /* .zName */)) = uintptr(unsafe.Pointer(&lagName)) // sqlite3.c:158867:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&attach_func)) + 16)) = attachFunc // sqlite3.c:113451:5: *(*func(*libc.TLS, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods)) + 0)) = sqlite3MemMalloc // sqlite3.c:25299:6: *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods)) + 4)) = sqlite3MemFree // sqlite3.c:25300:6: *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods)) + 8)) = sqlite3MemRealloc // sqlite3.c:25301:6: @@ -195804,243 +195835,243 @@ func init() { *(*func(*libc.TLS, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods)) + 16)) = sqlite3MemRoundup // sqlite3.c:25303:6: *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods)) + 20)) = sqlite3MemInit // sqlite3.c:25304:6: *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods)) + 24)) = sqlite3MemShutdown // sqlite3.c:25305:6: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods1)) + 8)) = pcache1Init // sqlite3.c:52453:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods1)) + 12)) = pcache1Shutdown // sqlite3.c:52454:5: - *(*func(*libc.TLS, int32, int32, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods1)) + 16)) = pcache1Create // sqlite3.c:52455:5: - *(*func(*libc.TLS, uintptr, int32))(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods1)) + 20)) = pcache1Cachesize // sqlite3.c:52456:5: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods1)) + 24)) = pcache1Pagecount // sqlite3.c:52457:5: - *(*func(*libc.TLS, uintptr, uint32, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods1)) + 28)) = pcache1Fetch // sqlite3.c:52458:5: - *(*func(*libc.TLS, uintptr, uintptr, int32))(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods1)) + 32)) = pcache1Unpin // sqlite3.c:52459:5: - *(*func(*libc.TLS, uintptr, uintptr, uint32, uint32))(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods1)) + 36)) = pcache1Rekey // sqlite3.c:52460:5: - *(*func(*libc.TLS, uintptr, uint32))(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods1)) + 40)) = pcache1Truncate // sqlite3.c:52461:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods1)) + 44)) = pcache1Destroy // sqlite3.c:52462:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods1)) + 48)) = pcache1Shrink // sqlite3.c:52463:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&detach_func)) + 16)) = detachFunc // sqlite3.c:113418:5: - *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoFinder)) + 0)) = dotlockIoFinderImpl // sqlite3.c:40202:1: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 4)) = dotlockClose // sqlite3.c:40202:1: - *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 8)) = unixRead // sqlite3.c:40202:1: - *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 12)) = unixWrite // sqlite3.c:40202:1: - *(*func(*libc.TLS, uintptr, I64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 16)) = unixTruncate // sqlite3.c:40202:1: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 20)) = unixSync // sqlite3.c:40202:1: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 24)) = unixFileSize // sqlite3.c:40202:1: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 28)) = dotlockLock // sqlite3.c:40202:1: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 32)) = dotlockUnlock // sqlite3.c:40202:1: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 36)) = dotlockCheckReservedLock // sqlite3.c:40202:1: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 40)) = unixFileControl // sqlite3.c:40202:1: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 44)) = unixSectorSize // sqlite3.c:40202:1: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 48)) = unixDeviceCharacteristics // sqlite3.c:40202:1: - *(*func(*libc.TLS, uintptr, int32, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 56)) = unixShmLock // sqlite3.c:40202:1: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 60)) = unixShmBarrier // sqlite3.c:40202:1: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 64)) = unixShmUnmap // sqlite3.c:40202:1: - *(*func(*libc.TLS, uintptr, I64, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 68)) = unixFetch // sqlite3.c:40202:1: - *(*func(*libc.TLS, uintptr, I64, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 72)) = unixUnfetch // sqlite3.c:40202:1: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 4)) = fts5CreateMethod // sqlite3.c:234400:25: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 8)) = fts5ConnectMethod // sqlite3.c:234401:25: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 12)) = fts5BestIndexMethod // sqlite3.c:234402:25: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 16)) = fts5DisconnectMethod // sqlite3.c:234403:25: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 20)) = fts5DestroyMethod // sqlite3.c:234404:25: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 24)) = fts5OpenMethod // sqlite3.c:234405:25: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 28)) = fts5CloseMethod // sqlite3.c:234406:25: - *(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 32)) = fts5FilterMethod // sqlite3.c:234407:25: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 36)) = fts5NextMethod // sqlite3.c:234408:25: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 40)) = fts5EofMethod // sqlite3.c:234409:25: - *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 44)) = fts5ColumnMethod // sqlite3.c:234410:25: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 48)) = fts5RowidMethod // sqlite3.c:234411:25: - *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 52)) = fts5UpdateMethod // sqlite3.c:234412:25: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 56)) = fts5BeginMethod // sqlite3.c:234413:25: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 60)) = fts5SyncMethod // sqlite3.c:234414:25: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 64)) = fts5CommitMethod // sqlite3.c:234415:25: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 68)) = fts5RollbackMethod // sqlite3.c:234416:25: - *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 72)) = fts5FindFunctionMethod // sqlite3.c:234417:25: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 76)) = fts5RenameMethod // sqlite3.c:234418:25: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 80)) = fts5SavepointMethod // sqlite3.c:234419:25: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 84)) = fts5ReleaseMethod // sqlite3.c:234420:25: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 88)) = fts5RollbackToMethod // sqlite3.c:234421:25: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 92)) = fts5ShadowName // sqlite3.c:234422:25: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 4)) = fts5VocabCreateMethod // sqlite3.c:238983:25: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 8)) = fts5VocabConnectMethod // sqlite3.c:238984:25: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 12)) = fts5VocabBestIndexMethod // sqlite3.c:238985:25: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 16)) = fts5VocabDisconnectMethod // sqlite3.c:238986:25: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 20)) = fts5VocabDestroyMethod // sqlite3.c:238987:25: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 24)) = fts5VocabOpenMethod // sqlite3.c:238988:25: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 28)) = fts5VocabCloseMethod // sqlite3.c:238989:25: - *(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 32)) = fts5VocabFilterMethod // sqlite3.c:238990:25: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 36)) = fts5VocabNextMethod // sqlite3.c:238991:25: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 40)) = fts5VocabEofMethod // sqlite3.c:238992:25: - *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 44)) = fts5VocabColumnMethod // sqlite3.c:238993:25: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 48)) = fts5VocabRowidMethod // sqlite3.c:238994:25: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 4)) = geopolyCreate // sqlite3.c:201934:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 8)) = geopolyConnect // sqlite3.c:201935:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 12)) = geopolyBestIndex // sqlite3.c:201936:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 16)) = rtreeDisconnect // sqlite3.c:201937:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 20)) = rtreeDestroy // sqlite3.c:201938:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 24)) = rtreeOpen // sqlite3.c:201939:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 28)) = rtreeClose // sqlite3.c:201940:3: - *(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 32)) = geopolyFilter // sqlite3.c:201941:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 36)) = rtreeNext // sqlite3.c:201942:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 40)) = rtreeEof // sqlite3.c:201943:3: - *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 44)) = geopolyColumn // sqlite3.c:201944:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 48)) = rtreeRowid // sqlite3.c:201945:3: - *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 52)) = geopolyUpdate // sqlite3.c:201946:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 56)) = rtreeBeginTransaction // sqlite3.c:201947:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 60)) = rtreeEndTransaction // sqlite3.c:201948:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 64)) = rtreeEndTransaction // sqlite3.c:201949:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 68)) = rtreeEndTransaction // sqlite3.c:201950:3: - *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 72)) = geopolyFindFunction // sqlite3.c:201951:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 76)) = rtreeRename // sqlite3.c:201952:3: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 80)) = rtreeSavepoint // sqlite3.c:201953:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 92)) = rtreeShadowName // sqlite3.c:201956:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonEachModule)) + 8)) = jsonEachConnect // sqlite3.c:195676:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonEachModule)) + 12)) = jsonEachBestIndex // sqlite3.c:195677:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonEachModule)) + 16)) = jsonEachDisconnect // sqlite3.c:195678:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonEachModule)) + 24)) = jsonEachOpenEach // sqlite3.c:195680:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonEachModule)) + 28)) = jsonEachClose // sqlite3.c:195681:3: - *(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonEachModule)) + 32)) = jsonEachFilter // sqlite3.c:195682:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonEachModule)) + 36)) = jsonEachNext // sqlite3.c:195683:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonEachModule)) + 40)) = jsonEachEof // sqlite3.c:195684:3: - *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonEachModule)) + 44)) = jsonEachColumn // sqlite3.c:195685:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonEachModule)) + 48)) = jsonEachRowid // sqlite3.c:195686:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonTreeModule)) + 8)) = jsonEachConnect // sqlite3.c:195704:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonTreeModule)) + 12)) = jsonEachBestIndex // sqlite3.c:195705:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonTreeModule)) + 16)) = jsonEachDisconnect // sqlite3.c:195706:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonTreeModule)) + 24)) = jsonEachOpenTree // sqlite3.c:195708:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonTreeModule)) + 28)) = jsonEachClose // sqlite3.c:195709:3: - *(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonTreeModule)) + 32)) = jsonEachFilter // sqlite3.c:195710:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonTreeModule)) + 36)) = jsonEachNext // sqlite3.c:195711:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonTreeModule)) + 40)) = jsonEachEof // sqlite3.c:195712:3: - *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonTreeModule)) + 44)) = jsonEachColumn // sqlite3.c:195713:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonTreeModule)) + 48)) = jsonEachRowid // sqlite3.c:195714:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 4)) = memdbClose // sqlite3.c:49233:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 8)) = memdbRead // sqlite3.c:49234:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 12)) = memdbWrite // sqlite3.c:49235:3: - *(*func(*libc.TLS, uintptr, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 16)) = memdbTruncate // sqlite3.c:49236:3: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 20)) = memdbSync // sqlite3.c:49237:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 24)) = memdbFileSize // sqlite3.c:49238:3: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 28)) = memdbLock // sqlite3.c:49239:3: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 32)) = memdbLock // sqlite3.c:49240:3: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 40)) = memdbFileControl // sqlite3.c:49242:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 48)) = memdbDeviceCharacteristics // sqlite3.c:49244:3: - *(*func(*libc.TLS, uintptr, Sqlite3_int64, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 68)) = memdbFetch // sqlite3.c:49249:3: - *(*func(*libc.TLS, uintptr, Sqlite3_int64, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 72)) = memdbUnfetch // sqlite3.c:49250:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_vfs)) + 24)) = memdbOpen // sqlite3.c:49213:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_vfs)) + 32)) = memdbAccess // sqlite3.c:49215:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_vfs)) + 36)) = memdbFullPathname // sqlite3.c:49216:3: - *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_vfs)) + 40)) = memdbDlOpen // sqlite3.c:49217:3: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_vfs)) + 44)) = memdbDlError // sqlite3.c:49218:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_vfs)) + 48)) = memdbDlSym // sqlite3.c:49219:3: - *(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_vfs)) + 52)) = memdbDlClose // sqlite3.c:49220:3: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_vfs)) + 56)) = memdbRandomness // sqlite3.c:49221:3: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_vfs)) + 60)) = memdbSleep // sqlite3.c:49222:3: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_vfs)) + 68)) = memdbGetLastError // sqlite3.c:49224:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_vfs)) + 72)) = memdbCurrentTimeInt64 // sqlite3.c:49225:3: - *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoFinder)) + 0)) = nolockIoFinderImpl // sqlite3.c:40192:1: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 4)) = nolockClose // sqlite3.c:40192:1: - *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 8)) = unixRead // sqlite3.c:40192:1: - *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 12)) = unixWrite // sqlite3.c:40192:1: - *(*func(*libc.TLS, uintptr, I64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 16)) = unixTruncate // sqlite3.c:40192:1: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 20)) = unixSync // sqlite3.c:40192:1: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 24)) = unixFileSize // sqlite3.c:40192:1: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 28)) = nolockLock // sqlite3.c:40192:1: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 32)) = nolockUnlock // sqlite3.c:40192:1: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 36)) = nolockCheckReservedLock // sqlite3.c:40192:1: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 40)) = unixFileControl // sqlite3.c:40192:1: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 44)) = unixSectorSize // sqlite3.c:40192:1: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 48)) = unixDeviceCharacteristics // sqlite3.c:40192:1: - *(*func(*libc.TLS, uintptr, int32, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 56)) = unixShmLock // sqlite3.c:40192:1: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 60)) = unixShmBarrier // sqlite3.c:40192:1: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 64)) = unixShmUnmap // sqlite3.c:40192:1: - *(*func(*libc.TLS, uintptr, I64, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 68)) = unixFetch // sqlite3.c:40192:1: - *(*func(*libc.TLS, uintptr, I64, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 72)) = unixUnfetch // sqlite3.c:40192:1: - *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoFinder)) + 0)) = posixIoFinderImpl // sqlite3.c:40182:1: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 4)) = unixClose // sqlite3.c:40182:1: - *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 8)) = unixRead // sqlite3.c:40182:1: - *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 12)) = unixWrite // sqlite3.c:40182:1: - *(*func(*libc.TLS, uintptr, I64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 16)) = unixTruncate // sqlite3.c:40182:1: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 20)) = unixSync // sqlite3.c:40182:1: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 24)) = unixFileSize // sqlite3.c:40182:1: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 28)) = unixLock // sqlite3.c:40182:1: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 32)) = unixUnlock // sqlite3.c:40182:1: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 36)) = unixCheckReservedLock // sqlite3.c:40182:1: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 40)) = unixFileControl // sqlite3.c:40182:1: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 44)) = unixSectorSize // sqlite3.c:40182:1: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 48)) = unixDeviceCharacteristics // sqlite3.c:40182:1: - *(*func(*libc.TLS, uintptr, int32, int32, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 52)) = unixShmMap // sqlite3.c:40182:1: - *(*func(*libc.TLS, uintptr, int32, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 56)) = unixShmLock // sqlite3.c:40182:1: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 60)) = unixShmBarrier // sqlite3.c:40182:1: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 64)) = unixShmUnmap // sqlite3.c:40182:1: - *(*func(*libc.TLS, uintptr, I64, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 68)) = unixFetch // sqlite3.c:40182:1: - *(*func(*libc.TLS, uintptr, I64, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 72)) = unixUnfetch // sqlite3.c:40182:1: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&pragmaVtabModule)) + 8)) = pragmaVtabConnect // sqlite3.c:133106:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&pragmaVtabModule)) + 12)) = pragmaVtabBestIndex // sqlite3.c:133107:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&pragmaVtabModule)) + 16)) = pragmaVtabDisconnect // sqlite3.c:133108:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&pragmaVtabModule)) + 24)) = pragmaVtabOpen // sqlite3.c:133110:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&pragmaVtabModule)) + 28)) = pragmaVtabClose // sqlite3.c:133111:3: - *(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&pragmaVtabModule)) + 32)) = pragmaVtabFilter // sqlite3.c:133112:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&pragmaVtabModule)) + 36)) = pragmaVtabNext // sqlite3.c:133113:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&pragmaVtabModule)) + 40)) = pragmaVtabEof // sqlite3.c:133114:3: - *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&pragmaVtabModule)) + 44)) = pragmaVtabColumn // sqlite3.c:133115:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&pragmaVtabModule)) + 48)) = pragmaVtabRowid // sqlite3.c:133116:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 4)) = rbuVfsClose // sqlite3.c:208631:5: - *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 8)) = rbuVfsRead // sqlite3.c:208632:5: - *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 12)) = rbuVfsWrite // sqlite3.c:208633:5: - *(*func(*libc.TLS, uintptr, Sqlite_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 16)) = rbuVfsTruncate // sqlite3.c:208634:5: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 20)) = rbuVfsSync // sqlite3.c:208635:5: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 24)) = rbuVfsFileSize // sqlite3.c:208636:5: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 28)) = rbuVfsLock // sqlite3.c:208637:5: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 32)) = rbuVfsUnlock // sqlite3.c:208638:5: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 36)) = rbuVfsCheckReservedLock // sqlite3.c:208639:5: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 40)) = rbuVfsFileControl // sqlite3.c:208640:5: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 44)) = rbuVfsSectorSize // sqlite3.c:208641:5: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 48)) = rbuVfsDeviceCharacteristics // sqlite3.c:208642:5: - *(*func(*libc.TLS, uintptr, int32, int32, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 52)) = rbuVfsShmMap // sqlite3.c:208643:5: - *(*func(*libc.TLS, uintptr, int32, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 56)) = rbuVfsShmLock // sqlite3.c:208644:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 60)) = rbuVfsShmBarrier // sqlite3.c:208645:5: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 64)) = rbuVfsShmUnmap // sqlite3.c:208646:5: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 4)) = rtreeCreate // sqlite3.c:199272:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 8)) = rtreeConnect // sqlite3.c:199273:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 12)) = rtreeBestIndex // sqlite3.c:199274:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 16)) = rtreeDisconnect // sqlite3.c:199275:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 20)) = rtreeDestroy // sqlite3.c:199276:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 24)) = rtreeOpen // sqlite3.c:199277:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 28)) = rtreeClose // sqlite3.c:199278:3: - *(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 32)) = rtreeFilter // sqlite3.c:199279:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 36)) = rtreeNext // sqlite3.c:199280:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 40)) = rtreeEof // sqlite3.c:199281:3: - *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 44)) = rtreeColumn // sqlite3.c:199282:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 48)) = rtreeRowid // sqlite3.c:199283:3: - *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 52)) = rtreeUpdate // sqlite3.c:199284:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 56)) = rtreeBeginTransaction // sqlite3.c:199285:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 60)) = rtreeEndTransaction // sqlite3.c:199286:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 64)) = rtreeEndTransaction // sqlite3.c:199287:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 68)) = rtreeEndTransaction // sqlite3.c:199288:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 76)) = rtreeRename // sqlite3.c:199290:3: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 80)) = rtreeSavepoint // sqlite3.c:199291:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 92)) = rtreeShadowName // sqlite3.c:199294:3: - *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 4)) = fts5ApiUserData // sqlite3.c:233859:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 8)) = fts5ApiColumnCount // sqlite3.c:233860:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 12)) = fts5ApiRowCount // sqlite3.c:233861:3: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 16)) = fts5ApiColumnTotalSize // sqlite3.c:233862:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 20)) = fts5ApiTokenize // sqlite3.c:233863:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 24)) = fts5ApiPhraseCount // sqlite3.c:233864:3: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 28)) = fts5ApiPhraseSize // sqlite3.c:233865:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 32)) = fts5ApiInstCount // sqlite3.c:233866:3: - *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 36)) = fts5ApiInst // sqlite3.c:233867:3: - *(*func(*libc.TLS, uintptr) Sqlite3_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 40)) = fts5ApiRowid // sqlite3.c:233868:3: - *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 44)) = fts5ApiColumnText // sqlite3.c:233869:3: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 48)) = fts5ApiColumnSize // sqlite3.c:233870:3: - *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 52)) = fts5ApiQueryPhrase // sqlite3.c:233871:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 56)) = fts5ApiSetAuxdata // sqlite3.c:233872:3: - *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 60)) = fts5ApiGetAuxdata // sqlite3.c:233873:3: - *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 64)) = fts5ApiPhraseFirst // sqlite3.c:233874:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 68)) = fts5ApiPhraseNext // sqlite3.c:233875:3: - *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 72)) = fts5ApiPhraseFirstColumn // sqlite3.c:233876:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 76)) = fts5ApiPhraseNextColumn // sqlite3.c:233877:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sMemJournalMethods)) + 4)) = memjrnlClose // sqlite3.c:100023:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sMemJournalMethods)) + 8)) = memjrnlRead // sqlite3.c:100024:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sMemJournalMethods)) + 12)) = memjrnlWrite // sqlite3.c:100025:3: - *(*func(*libc.TLS, uintptr, Sqlite_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sMemJournalMethods)) + 16)) = memjrnlTruncate // sqlite3.c:100026:3: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sMemJournalMethods)) + 20)) = memjrnlSync // sqlite3.c:100027:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sMemJournalMethods)) + 24)) = memjrnlFileSize // sqlite3.c:100028:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods1)) + 8)) = pcache1Init // sqlite3.c:52463:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods1)) + 12)) = pcache1Shutdown // sqlite3.c:52464:5: + *(*func(*libc.TLS, int32, int32, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods1)) + 16)) = pcache1Create // sqlite3.c:52465:5: + *(*func(*libc.TLS, uintptr, int32))(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods1)) + 20)) = pcache1Cachesize // sqlite3.c:52466:5: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods1)) + 24)) = pcache1Pagecount // sqlite3.c:52467:5: + *(*func(*libc.TLS, uintptr, uint32, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods1)) + 28)) = pcache1Fetch // sqlite3.c:52468:5: + *(*func(*libc.TLS, uintptr, uintptr, int32))(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods1)) + 32)) = pcache1Unpin // sqlite3.c:52469:5: + *(*func(*libc.TLS, uintptr, uintptr, uint32, uint32))(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods1)) + 36)) = pcache1Rekey // sqlite3.c:52470:5: + *(*func(*libc.TLS, uintptr, uint32))(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods1)) + 40)) = pcache1Truncate // sqlite3.c:52471:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods1)) + 44)) = pcache1Destroy // sqlite3.c:52472:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods1)) + 48)) = pcache1Shrink // sqlite3.c:52473:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&detach_func)) + 16)) = detachFunc // sqlite3.c:113431:5: + *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoFinder)) + 0)) = dotlockIoFinderImpl // sqlite3.c:40208:1: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 4)) = dotlockClose // sqlite3.c:40208:1: + *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 8)) = unixRead // sqlite3.c:40208:1: + *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 12)) = unixWrite // sqlite3.c:40208:1: + *(*func(*libc.TLS, uintptr, I64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 16)) = unixTruncate // sqlite3.c:40208:1: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 20)) = unixSync // sqlite3.c:40208:1: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 24)) = unixFileSize // sqlite3.c:40208:1: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 28)) = dotlockLock // sqlite3.c:40208:1: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 32)) = dotlockUnlock // sqlite3.c:40208:1: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 36)) = dotlockCheckReservedLock // sqlite3.c:40208:1: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 40)) = unixFileControl // sqlite3.c:40208:1: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 44)) = unixSectorSize // sqlite3.c:40208:1: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 48)) = unixDeviceCharacteristics // sqlite3.c:40208:1: + *(*func(*libc.TLS, uintptr, int32, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 56)) = unixShmLock // sqlite3.c:40208:1: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 60)) = unixShmBarrier // sqlite3.c:40208:1: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 64)) = unixShmUnmap // sqlite3.c:40208:1: + *(*func(*libc.TLS, uintptr, I64, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 68)) = unixFetch // sqlite3.c:40208:1: + *(*func(*libc.TLS, uintptr, I64, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 72)) = unixUnfetch // sqlite3.c:40208:1: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 4)) = fts5CreateMethod // sqlite3.c:234457:25: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 8)) = fts5ConnectMethod // sqlite3.c:234458:25: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 12)) = fts5BestIndexMethod // sqlite3.c:234459:25: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 16)) = fts5DisconnectMethod // sqlite3.c:234460:25: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 20)) = fts5DestroyMethod // sqlite3.c:234461:25: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 24)) = fts5OpenMethod // sqlite3.c:234462:25: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 28)) = fts5CloseMethod // sqlite3.c:234463:25: + *(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 32)) = fts5FilterMethod // sqlite3.c:234464:25: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 36)) = fts5NextMethod // sqlite3.c:234465:25: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 40)) = fts5EofMethod // sqlite3.c:234466:25: + *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 44)) = fts5ColumnMethod // sqlite3.c:234467:25: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 48)) = fts5RowidMethod // sqlite3.c:234468:25: + *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 52)) = fts5UpdateMethod // sqlite3.c:234469:25: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 56)) = fts5BeginMethod // sqlite3.c:234470:25: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 60)) = fts5SyncMethod // sqlite3.c:234471:25: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 64)) = fts5CommitMethod // sqlite3.c:234472:25: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 68)) = fts5RollbackMethod // sqlite3.c:234473:25: + *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 72)) = fts5FindFunctionMethod // sqlite3.c:234474:25: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 76)) = fts5RenameMethod // sqlite3.c:234475:25: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 80)) = fts5SavepointMethod // sqlite3.c:234476:25: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 84)) = fts5ReleaseMethod // sqlite3.c:234477:25: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 88)) = fts5RollbackToMethod // sqlite3.c:234478:25: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 92)) = fts5ShadowName // sqlite3.c:234479:25: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 4)) = fts5VocabCreateMethod // sqlite3.c:239040:25: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 8)) = fts5VocabConnectMethod // sqlite3.c:239041:25: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 12)) = fts5VocabBestIndexMethod // sqlite3.c:239042:25: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 16)) = fts5VocabDisconnectMethod // sqlite3.c:239043:25: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 20)) = fts5VocabDestroyMethod // sqlite3.c:239044:25: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 24)) = fts5VocabOpenMethod // sqlite3.c:239045:25: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 28)) = fts5VocabCloseMethod // sqlite3.c:239046:25: + *(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 32)) = fts5VocabFilterMethod // sqlite3.c:239047:25: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 36)) = fts5VocabNextMethod // sqlite3.c:239048:25: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 40)) = fts5VocabEofMethod // sqlite3.c:239049:25: + *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 44)) = fts5VocabColumnMethod // sqlite3.c:239050:25: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 48)) = fts5VocabRowidMethod // sqlite3.c:239051:25: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 4)) = geopolyCreate // sqlite3.c:201991:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 8)) = geopolyConnect // sqlite3.c:201992:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 12)) = geopolyBestIndex // sqlite3.c:201993:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 16)) = rtreeDisconnect // sqlite3.c:201994:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 20)) = rtreeDestroy // sqlite3.c:201995:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 24)) = rtreeOpen // sqlite3.c:201996:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 28)) = rtreeClose // sqlite3.c:201997:3: + *(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 32)) = geopolyFilter // sqlite3.c:201998:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 36)) = rtreeNext // sqlite3.c:201999:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 40)) = rtreeEof // sqlite3.c:202000:3: + *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 44)) = geopolyColumn // sqlite3.c:202001:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 48)) = rtreeRowid // sqlite3.c:202002:3: + *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 52)) = geopolyUpdate // sqlite3.c:202003:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 56)) = rtreeBeginTransaction // sqlite3.c:202004:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 60)) = rtreeEndTransaction // sqlite3.c:202005:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 64)) = rtreeEndTransaction // sqlite3.c:202006:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 68)) = rtreeEndTransaction // sqlite3.c:202007:3: + *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 72)) = geopolyFindFunction // sqlite3.c:202008:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 76)) = rtreeRename // sqlite3.c:202009:3: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 80)) = rtreeSavepoint // sqlite3.c:202010:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 92)) = rtreeShadowName // sqlite3.c:202013:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonEachModule)) + 8)) = jsonEachConnect // sqlite3.c:195733:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonEachModule)) + 12)) = jsonEachBestIndex // sqlite3.c:195734:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonEachModule)) + 16)) = jsonEachDisconnect // sqlite3.c:195735:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonEachModule)) + 24)) = jsonEachOpenEach // sqlite3.c:195737:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonEachModule)) + 28)) = jsonEachClose // sqlite3.c:195738:3: + *(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonEachModule)) + 32)) = jsonEachFilter // sqlite3.c:195739:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonEachModule)) + 36)) = jsonEachNext // sqlite3.c:195740:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonEachModule)) + 40)) = jsonEachEof // sqlite3.c:195741:3: + *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonEachModule)) + 44)) = jsonEachColumn // sqlite3.c:195742:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonEachModule)) + 48)) = jsonEachRowid // sqlite3.c:195743:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonTreeModule)) + 8)) = jsonEachConnect // sqlite3.c:195761:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonTreeModule)) + 12)) = jsonEachBestIndex // sqlite3.c:195762:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonTreeModule)) + 16)) = jsonEachDisconnect // sqlite3.c:195763:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonTreeModule)) + 24)) = jsonEachOpenTree // sqlite3.c:195765:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonTreeModule)) + 28)) = jsonEachClose // sqlite3.c:195766:3: + *(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonTreeModule)) + 32)) = jsonEachFilter // sqlite3.c:195767:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonTreeModule)) + 36)) = jsonEachNext // sqlite3.c:195768:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonTreeModule)) + 40)) = jsonEachEof // sqlite3.c:195769:3: + *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonTreeModule)) + 44)) = jsonEachColumn // sqlite3.c:195770:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonTreeModule)) + 48)) = jsonEachRowid // sqlite3.c:195771:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 4)) = memdbClose // sqlite3.c:49243:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 8)) = memdbRead // sqlite3.c:49244:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 12)) = memdbWrite // sqlite3.c:49245:3: + *(*func(*libc.TLS, uintptr, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 16)) = memdbTruncate // sqlite3.c:49246:3: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 20)) = memdbSync // sqlite3.c:49247:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 24)) = memdbFileSize // sqlite3.c:49248:3: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 28)) = memdbLock // sqlite3.c:49249:3: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 32)) = memdbLock // sqlite3.c:49250:3: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 40)) = memdbFileControl // sqlite3.c:49252:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 48)) = memdbDeviceCharacteristics // sqlite3.c:49254:3: + *(*func(*libc.TLS, uintptr, Sqlite3_int64, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 68)) = memdbFetch // sqlite3.c:49259:3: + *(*func(*libc.TLS, uintptr, Sqlite3_int64, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 72)) = memdbUnfetch // sqlite3.c:49260:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_vfs)) + 24)) = memdbOpen // sqlite3.c:49223:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_vfs)) + 32)) = memdbAccess // sqlite3.c:49225:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_vfs)) + 36)) = memdbFullPathname // sqlite3.c:49226:3: + *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_vfs)) + 40)) = memdbDlOpen // sqlite3.c:49227:3: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_vfs)) + 44)) = memdbDlError // sqlite3.c:49228:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_vfs)) + 48)) = memdbDlSym // sqlite3.c:49229:3: + *(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_vfs)) + 52)) = memdbDlClose // sqlite3.c:49230:3: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_vfs)) + 56)) = memdbRandomness // sqlite3.c:49231:3: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_vfs)) + 60)) = memdbSleep // sqlite3.c:49232:3: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_vfs)) + 68)) = memdbGetLastError // sqlite3.c:49234:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_vfs)) + 72)) = memdbCurrentTimeInt64 // sqlite3.c:49235:3: + *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoFinder)) + 0)) = nolockIoFinderImpl // sqlite3.c:40198:1: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 4)) = nolockClose // sqlite3.c:40198:1: + *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 8)) = unixRead // sqlite3.c:40198:1: + *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 12)) = unixWrite // sqlite3.c:40198:1: + *(*func(*libc.TLS, uintptr, I64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 16)) = unixTruncate // sqlite3.c:40198:1: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 20)) = unixSync // sqlite3.c:40198:1: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 24)) = unixFileSize // sqlite3.c:40198:1: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 28)) = nolockLock // sqlite3.c:40198:1: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 32)) = nolockUnlock // sqlite3.c:40198:1: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 36)) = nolockCheckReservedLock // sqlite3.c:40198:1: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 40)) = unixFileControl // sqlite3.c:40198:1: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 44)) = unixSectorSize // sqlite3.c:40198:1: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 48)) = unixDeviceCharacteristics // sqlite3.c:40198:1: + *(*func(*libc.TLS, uintptr, int32, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 56)) = unixShmLock // sqlite3.c:40198:1: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 60)) = unixShmBarrier // sqlite3.c:40198:1: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 64)) = unixShmUnmap // sqlite3.c:40198:1: + *(*func(*libc.TLS, uintptr, I64, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 68)) = unixFetch // sqlite3.c:40198:1: + *(*func(*libc.TLS, uintptr, I64, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 72)) = unixUnfetch // sqlite3.c:40198:1: + *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoFinder)) + 0)) = posixIoFinderImpl // sqlite3.c:40188:1: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 4)) = unixClose // sqlite3.c:40188:1: + *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 8)) = unixRead // sqlite3.c:40188:1: + *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 12)) = unixWrite // sqlite3.c:40188:1: + *(*func(*libc.TLS, uintptr, I64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 16)) = unixTruncate // sqlite3.c:40188:1: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 20)) = unixSync // sqlite3.c:40188:1: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 24)) = unixFileSize // sqlite3.c:40188:1: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 28)) = unixLock // sqlite3.c:40188:1: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 32)) = unixUnlock // sqlite3.c:40188:1: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 36)) = unixCheckReservedLock // sqlite3.c:40188:1: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 40)) = unixFileControl // sqlite3.c:40188:1: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 44)) = unixSectorSize // sqlite3.c:40188:1: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 48)) = unixDeviceCharacteristics // sqlite3.c:40188:1: + *(*func(*libc.TLS, uintptr, int32, int32, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 52)) = unixShmMap // sqlite3.c:40188:1: + *(*func(*libc.TLS, uintptr, int32, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 56)) = unixShmLock // sqlite3.c:40188:1: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 60)) = unixShmBarrier // sqlite3.c:40188:1: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 64)) = unixShmUnmap // sqlite3.c:40188:1: + *(*func(*libc.TLS, uintptr, I64, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 68)) = unixFetch // sqlite3.c:40188:1: + *(*func(*libc.TLS, uintptr, I64, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 72)) = unixUnfetch // sqlite3.c:40188:1: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&pragmaVtabModule)) + 8)) = pragmaVtabConnect // sqlite3.c:133119:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&pragmaVtabModule)) + 12)) = pragmaVtabBestIndex // sqlite3.c:133120:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&pragmaVtabModule)) + 16)) = pragmaVtabDisconnect // sqlite3.c:133121:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&pragmaVtabModule)) + 24)) = pragmaVtabOpen // sqlite3.c:133123:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&pragmaVtabModule)) + 28)) = pragmaVtabClose // sqlite3.c:133124:3: + *(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&pragmaVtabModule)) + 32)) = pragmaVtabFilter // sqlite3.c:133125:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&pragmaVtabModule)) + 36)) = pragmaVtabNext // sqlite3.c:133126:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&pragmaVtabModule)) + 40)) = pragmaVtabEof // sqlite3.c:133127:3: + *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&pragmaVtabModule)) + 44)) = pragmaVtabColumn // sqlite3.c:133128:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&pragmaVtabModule)) + 48)) = pragmaVtabRowid // sqlite3.c:133129:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 4)) = rbuVfsClose // sqlite3.c:208688:5: + *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 8)) = rbuVfsRead // sqlite3.c:208689:5: + *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 12)) = rbuVfsWrite // sqlite3.c:208690:5: + *(*func(*libc.TLS, uintptr, Sqlite_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 16)) = rbuVfsTruncate // sqlite3.c:208691:5: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 20)) = rbuVfsSync // sqlite3.c:208692:5: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 24)) = rbuVfsFileSize // sqlite3.c:208693:5: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 28)) = rbuVfsLock // sqlite3.c:208694:5: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 32)) = rbuVfsUnlock // sqlite3.c:208695:5: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 36)) = rbuVfsCheckReservedLock // sqlite3.c:208696:5: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 40)) = rbuVfsFileControl // sqlite3.c:208697:5: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 44)) = rbuVfsSectorSize // sqlite3.c:208698:5: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 48)) = rbuVfsDeviceCharacteristics // sqlite3.c:208699:5: + *(*func(*libc.TLS, uintptr, int32, int32, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 52)) = rbuVfsShmMap // sqlite3.c:208700:5: + *(*func(*libc.TLS, uintptr, int32, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 56)) = rbuVfsShmLock // sqlite3.c:208701:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 60)) = rbuVfsShmBarrier // sqlite3.c:208702:5: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 64)) = rbuVfsShmUnmap // sqlite3.c:208703:5: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 4)) = rtreeCreate // sqlite3.c:199329:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 8)) = rtreeConnect // sqlite3.c:199330:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 12)) = rtreeBestIndex // sqlite3.c:199331:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 16)) = rtreeDisconnect // sqlite3.c:199332:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 20)) = rtreeDestroy // sqlite3.c:199333:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 24)) = rtreeOpen // sqlite3.c:199334:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 28)) = rtreeClose // sqlite3.c:199335:3: + *(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 32)) = rtreeFilter // sqlite3.c:199336:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 36)) = rtreeNext // sqlite3.c:199337:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 40)) = rtreeEof // sqlite3.c:199338:3: + *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 44)) = rtreeColumn // sqlite3.c:199339:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 48)) = rtreeRowid // sqlite3.c:199340:3: + *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 52)) = rtreeUpdate // sqlite3.c:199341:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 56)) = rtreeBeginTransaction // sqlite3.c:199342:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 60)) = rtreeEndTransaction // sqlite3.c:199343:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 64)) = rtreeEndTransaction // sqlite3.c:199344:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 68)) = rtreeEndTransaction // sqlite3.c:199345:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 76)) = rtreeRename // sqlite3.c:199347:3: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 80)) = rtreeSavepoint // sqlite3.c:199348:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 92)) = rtreeShadowName // sqlite3.c:199351:3: + *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 4)) = fts5ApiUserData // sqlite3.c:233916:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 8)) = fts5ApiColumnCount // sqlite3.c:233917:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 12)) = fts5ApiRowCount // sqlite3.c:233918:3: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 16)) = fts5ApiColumnTotalSize // sqlite3.c:233919:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 20)) = fts5ApiTokenize // sqlite3.c:233920:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 24)) = fts5ApiPhraseCount // sqlite3.c:233921:3: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 28)) = fts5ApiPhraseSize // sqlite3.c:233922:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 32)) = fts5ApiInstCount // sqlite3.c:233923:3: + *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 36)) = fts5ApiInst // sqlite3.c:233924:3: + *(*func(*libc.TLS, uintptr) Sqlite3_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 40)) = fts5ApiRowid // sqlite3.c:233925:3: + *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 44)) = fts5ApiColumnText // sqlite3.c:233926:3: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 48)) = fts5ApiColumnSize // sqlite3.c:233927:3: + *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 52)) = fts5ApiQueryPhrase // sqlite3.c:233928:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 56)) = fts5ApiSetAuxdata // sqlite3.c:233929:3: + *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 60)) = fts5ApiGetAuxdata // sqlite3.c:233930:3: + *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 64)) = fts5ApiPhraseFirst // sqlite3.c:233931:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 68)) = fts5ApiPhraseNext // sqlite3.c:233932:3: + *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 72)) = fts5ApiPhraseFirstColumn // sqlite3.c:233933:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 76)) = fts5ApiPhraseNextColumn // sqlite3.c:233934:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sMemJournalMethods)) + 4)) = memjrnlClose // sqlite3.c:100036:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sMemJournalMethods)) + 8)) = memjrnlRead // sqlite3.c:100037:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sMemJournalMethods)) + 12)) = memjrnlWrite // sqlite3.c:100038:3: + *(*func(*libc.TLS, uintptr, Sqlite_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sMemJournalMethods)) + 16)) = memjrnlTruncate // sqlite3.c:100039:3: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sMemJournalMethods)) + 20)) = memjrnlSync // sqlite3.c:100040:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sMemJournalMethods)) + 24)) = memjrnlFileSize // sqlite3.c:100041:3: *(*func(*libc.TLS) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sMutex)) + 0)) = noopMutexInit // sqlite3.c:27532:5: *(*func(*libc.TLS) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sMutex)) + 4)) = noopMutexEnd // sqlite3.c:27533:5: *(*func(*libc.TLS, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sMutex)) + 8)) = noopMutexAlloc // sqlite3.c:27534:5: @@ -196048,288 +196079,288 @@ func init() { *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sMutex)) + 16)) = noopMutexEnter // sqlite3.c:27536:5: *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sMutex)) + 20)) = noopMutexTry // sqlite3.c:27537:5: *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sMutex)) + 24)) = noopMutexLeave // sqlite3.c:27538:5: - *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 0)) = Xsqlite3_aggregate_context // sqlite3.c:129019:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 4)) = Xsqlite3_aggregate_count // sqlite3.c:129021:3: - *(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 8)) = Xsqlite3_bind_blob // sqlite3.c:129025:3: - *(*func(*libc.TLS, uintptr, int32, float64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 12)) = Xsqlite3_bind_double // sqlite3.c:129026:3: - *(*func(*libc.TLS, uintptr, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 16)) = Xsqlite3_bind_int // sqlite3.c:129027:3: - *(*func(*libc.TLS, uintptr, int32, Sqlite_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 20)) = Xsqlite3_bind_int64 // sqlite3.c:129028:3: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 24)) = Xsqlite3_bind_null // sqlite3.c:129029:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 28)) = Xsqlite3_bind_parameter_count // sqlite3.c:129030:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 32)) = Xsqlite3_bind_parameter_index // sqlite3.c:129031:3: - *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 36)) = Xsqlite3_bind_parameter_name // sqlite3.c:129032:3: - *(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 40)) = Xsqlite3_bind_text // sqlite3.c:129033:3: - *(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 44)) = Xsqlite3_bind_text16 // sqlite3.c:129034:3: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 48)) = Xsqlite3_bind_value // sqlite3.c:129035:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 52)) = Xsqlite3_busy_handler // sqlite3.c:129036:3: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 56)) = Xsqlite3_busy_timeout // sqlite3.c:129037:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 60)) = Xsqlite3_changes // sqlite3.c:129038:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 64)) = Xsqlite3_close // sqlite3.c:129039:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 68)) = Xsqlite3_collation_needed // sqlite3.c:129040:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 72)) = Xsqlite3_collation_needed16 // sqlite3.c:129041:3: - *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 76)) = Xsqlite3_column_blob // sqlite3.c:129042:3: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 80)) = Xsqlite3_column_bytes // sqlite3.c:129043:3: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 84)) = Xsqlite3_column_bytes16 // sqlite3.c:129044:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 88)) = Xsqlite3_column_count // sqlite3.c:129045:3: - *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 92)) = Xsqlite3_column_database_name // sqlite3.c:129046:3: - *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 96)) = Xsqlite3_column_database_name16 // sqlite3.c:129047:3: - *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 100)) = Xsqlite3_column_decltype // sqlite3.c:129048:3: - *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 104)) = Xsqlite3_column_decltype16 // sqlite3.c:129049:3: - *(*func(*libc.TLS, uintptr, int32) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 108)) = Xsqlite3_column_double // sqlite3.c:129050:3: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 112)) = Xsqlite3_column_int // sqlite3.c:129051:3: - *(*func(*libc.TLS, uintptr, int32) Sqlite_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 116)) = Xsqlite3_column_int64 // sqlite3.c:129052:3: - *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 120)) = Xsqlite3_column_name // sqlite3.c:129053:3: - *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 124)) = Xsqlite3_column_name16 // sqlite3.c:129054:3: - *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 128)) = Xsqlite3_column_origin_name // sqlite3.c:129055:3: - *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 132)) = Xsqlite3_column_origin_name16 // sqlite3.c:129056:3: - *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 136)) = Xsqlite3_column_table_name // sqlite3.c:129057:3: - *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 140)) = Xsqlite3_column_table_name16 // sqlite3.c:129058:3: - *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 144)) = Xsqlite3_column_text // sqlite3.c:129059:3: - *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 148)) = Xsqlite3_column_text16 // sqlite3.c:129060:3: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 152)) = Xsqlite3_column_type // sqlite3.c:129061:3: - *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 156)) = Xsqlite3_column_value // sqlite3.c:129062:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 160)) = Xsqlite3_commit_hook // sqlite3.c:129063:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 164)) = Xsqlite3_complete // sqlite3.c:129064:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 168)) = Xsqlite3_complete16 // sqlite3.c:129065:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 172)) = Xsqlite3_create_collation // sqlite3.c:129066:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 176)) = Xsqlite3_create_collation16 // sqlite3.c:129067:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, int32, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 180)) = Xsqlite3_create_function // sqlite3.c:129068:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, int32, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 184)) = Xsqlite3_create_function16 // sqlite3.c:129069:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 188)) = Xsqlite3_create_module // sqlite3.c:129070:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 192)) = Xsqlite3_data_count // sqlite3.c:129071:3: - *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 196)) = Xsqlite3_db_handle // sqlite3.c:129072:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 200)) = Xsqlite3_declare_vtab // sqlite3.c:129073:3: - *(*func(*libc.TLS, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 204)) = Xsqlite3_enable_shared_cache // sqlite3.c:129074:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 208)) = Xsqlite3_errcode // sqlite3.c:129075:3: - *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 212)) = Xsqlite3_errmsg // sqlite3.c:129076:3: - *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 216)) = Xsqlite3_errmsg16 // sqlite3.c:129077:3: - *(*func(*libc.TLS, uintptr, uintptr, Sqlite3_callback, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 220)) = Xsqlite3_exec // sqlite3.c:129078:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 224)) = Xsqlite3_expired // sqlite3.c:129080:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 228)) = Xsqlite3_finalize // sqlite3.c:129084:3: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 232)) = Xsqlite3_free // sqlite3.c:129085:3: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 236)) = Xsqlite3_free_table // sqlite3.c:129086:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 240)) = Xsqlite3_get_autocommit // sqlite3.c:129087:3: - *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 244)) = Xsqlite3_get_auxdata // sqlite3.c:129088:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 248)) = Xsqlite3_get_table // sqlite3.c:129089:3: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 256)) = Xsqlite3_interrupt // sqlite3.c:129091:3: - *(*func(*libc.TLS, uintptr) Sqlite3_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 260)) = Xsqlite3_last_insert_rowid // sqlite3.c:129092:3: - *(*func(*libc.TLS) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 264)) = Xsqlite3_libversion // sqlite3.c:129093:3: - *(*func(*libc.TLS) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 268)) = Xsqlite3_libversion_number // sqlite3.c:129094:3: - *(*func(*libc.TLS, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 272)) = Xsqlite3_malloc // sqlite3.c:129095:3: - *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 276)) = Xsqlite3_mprintf // sqlite3.c:129096:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 280)) = Xsqlite3_open // sqlite3.c:129097:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 284)) = Xsqlite3_open16 // sqlite3.c:129098:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 288)) = Xsqlite3_prepare // sqlite3.c:129099:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 292)) = Xsqlite3_prepare16 // sqlite3.c:129100:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 296)) = Xsqlite3_profile // sqlite3.c:129101:3: - *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 300)) = Xsqlite3_progress_handler // sqlite3.c:129102:3: - *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 304)) = Xsqlite3_realloc // sqlite3.c:129103:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 308)) = Xsqlite3_reset // sqlite3.c:129104:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 312)) = Xsqlite3_result_blob // sqlite3.c:129105:3: - *(*func(*libc.TLS, uintptr, float64))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 316)) = Xsqlite3_result_double // sqlite3.c:129106:3: - *(*func(*libc.TLS, uintptr, uintptr, int32))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 320)) = Xsqlite3_result_error // sqlite3.c:129107:3: - *(*func(*libc.TLS, uintptr, uintptr, int32))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 324)) = Xsqlite3_result_error16 // sqlite3.c:129108:3: - *(*func(*libc.TLS, uintptr, int32))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 328)) = Xsqlite3_result_int // sqlite3.c:129109:3: - *(*func(*libc.TLS, uintptr, I64))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 332)) = Xsqlite3_result_int64 // sqlite3.c:129110:3: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 336)) = Xsqlite3_result_null // sqlite3.c:129111:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 340)) = Xsqlite3_result_text // sqlite3.c:129112:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 344)) = Xsqlite3_result_text16 // sqlite3.c:129113:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 348)) = Xsqlite3_result_text16be // sqlite3.c:129114:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 352)) = Xsqlite3_result_text16le // sqlite3.c:129115:3: - *(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 356)) = Xsqlite3_result_value // sqlite3.c:129116:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 360)) = Xsqlite3_rollback_hook // sqlite3.c:129117:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 364)) = Xsqlite3_set_authorizer // sqlite3.c:129118:3: - *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 368)) = Xsqlite3_set_auxdata // sqlite3.c:129119:3: - *(*func(*libc.TLS, int32, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 372)) = Xsqlite3_snprintf // sqlite3.c:129120:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 376)) = Xsqlite3_step // sqlite3.c:129121:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr, uintptr, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 380)) = Xsqlite3_table_column_metadata // sqlite3.c:129122:3: - *(*func(*libc.TLS))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 384)) = Xsqlite3_thread_cleanup // sqlite3.c:129124:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 388)) = Xsqlite3_total_changes // sqlite3.c:129128:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 392)) = Xsqlite3_trace // sqlite3.c:129129:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 396)) = Xsqlite3_transfer_bindings // sqlite3.c:129131:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 400)) = Xsqlite3_update_hook // sqlite3.c:129135:3: - *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 404)) = Xsqlite3_user_data // sqlite3.c:129136:3: - *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 408)) = Xsqlite3_value_blob // sqlite3.c:129137:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 412)) = Xsqlite3_value_bytes // sqlite3.c:129138:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 416)) = Xsqlite3_value_bytes16 // sqlite3.c:129139:3: - *(*func(*libc.TLS, uintptr) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 420)) = Xsqlite3_value_double // sqlite3.c:129140:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 424)) = Xsqlite3_value_int // sqlite3.c:129141:3: - *(*func(*libc.TLS, uintptr) Sqlite_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 428)) = Xsqlite3_value_int64 // sqlite3.c:129142:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 432)) = Xsqlite3_value_numeric_type // sqlite3.c:129143:3: - *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 436)) = Xsqlite3_value_text // sqlite3.c:129144:3: - *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 440)) = Xsqlite3_value_text16 // sqlite3.c:129145:3: - *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 444)) = Xsqlite3_value_text16be // sqlite3.c:129146:3: - *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 448)) = Xsqlite3_value_text16le // sqlite3.c:129147:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 452)) = Xsqlite3_value_type // sqlite3.c:129148:3: - *(*func(*libc.TLS, uintptr, Va_list) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 456)) = Xsqlite3_vmprintf // sqlite3.c:129149:3: - *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 460)) = Xsqlite3_overload_function // sqlite3.c:129158:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 464)) = Xsqlite3_prepare_v2 // sqlite3.c:129163:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 468)) = Xsqlite3_prepare16_v2 // sqlite3.c:129164:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 472)) = Xsqlite3_clear_bindings // sqlite3.c:129165:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 476)) = Xsqlite3_create_module_v2 // sqlite3.c:129170:3: - *(*func(*libc.TLS, uintptr, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 480)) = Xsqlite3_bind_zeroblob // sqlite3.c:129175:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 484)) = Xsqlite3_blob_bytes // sqlite3.c:129176:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 488)) = Xsqlite3_blob_close // sqlite3.c:129177:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr, Sqlite_int64, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 492)) = Xsqlite3_blob_open // sqlite3.c:129178:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 496)) = Xsqlite3_blob_read // sqlite3.c:129179:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 500)) = Xsqlite3_blob_write // sqlite3.c:129180:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 504)) = Xsqlite3_create_collation_v2 // sqlite3.c:129181:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 508)) = Xsqlite3_file_control // sqlite3.c:129182:3: - *(*func(*libc.TLS, int32) Sqlite3_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 512)) = Xsqlite3_memory_highwater // sqlite3.c:129183:3: - *(*func(*libc.TLS) Sqlite3_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 516)) = Xsqlite3_memory_used // sqlite3.c:129184:3: - *(*func(*libc.TLS, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 520)) = Xsqlite3_mutex_alloc // sqlite3.c:129192:3: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 524)) = Xsqlite3_mutex_enter // sqlite3.c:129193:3: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 528)) = Xsqlite3_mutex_free // sqlite3.c:129194:3: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 532)) = Xsqlite3_mutex_leave // sqlite3.c:129195:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 536)) = Xsqlite3_mutex_try // sqlite3.c:129196:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 540)) = Xsqlite3_open_v2 // sqlite3.c:129198:3: - *(*func(*libc.TLS, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 544)) = Xsqlite3_release_memory // sqlite3.c:129199:3: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 548)) = Xsqlite3_result_error_nomem // sqlite3.c:129200:3: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 552)) = Xsqlite3_result_error_toobig // sqlite3.c:129201:3: - *(*func(*libc.TLS, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 556)) = Xsqlite3_sleep // sqlite3.c:129202:3: - *(*func(*libc.TLS, int32))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 560)) = Xsqlite3_soft_heap_limit // sqlite3.c:129203:3: - *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 564)) = Xsqlite3_vfs_find // sqlite3.c:129204:3: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 568)) = Xsqlite3_vfs_register // sqlite3.c:129205:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 572)) = Xsqlite3_vfs_unregister // sqlite3.c:129206:3: - *(*func(*libc.TLS) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 576)) = Xsqlite3_threadsafe // sqlite3.c:129211:3: - *(*func(*libc.TLS, uintptr, int32))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 580)) = Xsqlite3_result_zeroblob // sqlite3.c:129212:3: - *(*func(*libc.TLS, uintptr, int32))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 584)) = Xsqlite3_result_error_code // sqlite3.c:129213:3: - *(*func(*libc.TLS, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 588)) = Xsqlite3_test_control // sqlite3.c:129214:3: - *(*func(*libc.TLS, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 592)) = Xsqlite3_randomness // sqlite3.c:129215:3: - *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 596)) = Xsqlite3_context_db_handle // sqlite3.c:129216:3: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 600)) = Xsqlite3_extended_result_codes // sqlite3.c:129221:3: - *(*func(*libc.TLS, uintptr, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 604)) = Xsqlite3_limit // sqlite3.c:129222:3: - *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 608)) = Xsqlite3_next_stmt // sqlite3.c:129223:3: - *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 612)) = Xsqlite3_sql // sqlite3.c:129224:3: - *(*func(*libc.TLS, int32, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 616)) = Xsqlite3_status // sqlite3.c:129225:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 620)) = Xsqlite3_backup_finish // sqlite3.c:129230:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 624)) = Xsqlite3_backup_init // sqlite3.c:129231:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 628)) = Xsqlite3_backup_pagecount // sqlite3.c:129232:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 632)) = Xsqlite3_backup_remaining // sqlite3.c:129233:3: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 636)) = Xsqlite3_backup_step // sqlite3.c:129234:3: - *(*func(*libc.TLS, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 640)) = Xsqlite3_compileoption_get // sqlite3.c:129236:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 644)) = Xsqlite3_compileoption_used // sqlite3.c:129237:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, int32, uintptr, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 648)) = Xsqlite3_create_function_v2 // sqlite3.c:129242:3: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 652)) = Xsqlite3_db_config // sqlite3.c:129243:3: - *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 656)) = Xsqlite3_db_mutex // sqlite3.c:129244:3: - *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 660)) = Xsqlite3_db_status // sqlite3.c:129245:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 664)) = Xsqlite3_extended_errcode // sqlite3.c:129246:3: - *(*func(*libc.TLS, int32, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 668)) = Xsqlite3_log // sqlite3.c:129247:3: - *(*func(*libc.TLS, Sqlite3_int64) Sqlite3_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 672)) = Xsqlite3_soft_heap_limit64 // sqlite3.c:129248:3: - *(*func(*libc.TLS) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 676)) = Xsqlite3_sourceid // sqlite3.c:129249:3: - *(*func(*libc.TLS, uintptr, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 680)) = Xsqlite3_stmt_status // sqlite3.c:129250:3: - *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 684)) = Xsqlite3_strnicmp // sqlite3.c:129251:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 688)) = Xsqlite3_unlock_notify // sqlite3.c:129253:3: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 692)) = Xsqlite3_wal_autocheckpoint // sqlite3.c:129258:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 696)) = Xsqlite3_wal_checkpoint // sqlite3.c:129259:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 700)) = Xsqlite3_wal_hook // sqlite3.c:129260:3: - *(*func(*libc.TLS, uintptr, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 704)) = Xsqlite3_blob_reopen // sqlite3.c:129266:3: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 708)) = Xsqlite3_vtab_config // sqlite3.c:129267:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 712)) = Xsqlite3_vtab_on_conflict // sqlite3.c:129268:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 716)) = Xsqlite3_close_v2 // sqlite3.c:129269:3: - *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 720)) = Xsqlite3_db_filename // sqlite3.c:129270:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 724)) = Xsqlite3_db_readonly // sqlite3.c:129271:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 728)) = Xsqlite3_db_release_memory // sqlite3.c:129272:3: - *(*func(*libc.TLS, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 732)) = Xsqlite3_errstr // sqlite3.c:129273:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 736)) = Xsqlite3_stmt_busy // sqlite3.c:129274:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 740)) = Xsqlite3_stmt_readonly // sqlite3.c:129275:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 744)) = Xsqlite3_stricmp // sqlite3.c:129276:3: - *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 748)) = Xsqlite3_uri_boolean // sqlite3.c:129277:3: - *(*func(*libc.TLS, uintptr, uintptr, Sqlite3_int64) Sqlite3_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 752)) = Xsqlite3_uri_int64 // sqlite3.c:129278:3: - *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 756)) = Xsqlite3_uri_parameter // sqlite3.c:129279:3: - *(*func(*libc.TLS, int32, uintptr, uintptr, Va_list) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 760)) = Xsqlite3_vsnprintf // sqlite3.c:129280:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 764)) = Xsqlite3_wal_checkpoint_v2 // sqlite3.c:129281:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 768)) = Xsqlite3_auto_extension // sqlite3.c:129283:3: - *(*func(*libc.TLS, uintptr, int32, uintptr, Sqlite3_uint64, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 772)) = Xsqlite3_bind_blob64 // sqlite3.c:129284:3: - *(*func(*libc.TLS, uintptr, int32, uintptr, Sqlite3_uint64, uintptr, uint8) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 776)) = Xsqlite3_bind_text64 // sqlite3.c:129285:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 780)) = Xsqlite3_cancel_auto_extension // sqlite3.c:129286:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 784)) = Xsqlite3_load_extension // sqlite3.c:129287:3: - *(*func(*libc.TLS, Sqlite3_uint64) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 788)) = Xsqlite3_malloc64 // sqlite3.c:129288:3: - *(*func(*libc.TLS, uintptr) Sqlite3_uint64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 792)) = Xsqlite3_msize // sqlite3.c:129289:3: - *(*func(*libc.TLS, uintptr, Sqlite3_uint64) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 796)) = Xsqlite3_realloc64 // sqlite3.c:129290:3: - *(*func(*libc.TLS))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 800)) = Xsqlite3_reset_auto_extension // sqlite3.c:129291:3: - *(*func(*libc.TLS, uintptr, uintptr, Sqlite3_uint64, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 804)) = Xsqlite3_result_blob64 // sqlite3.c:129292:3: - *(*func(*libc.TLS, uintptr, uintptr, Sqlite3_uint64, uintptr, uint8))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 808)) = Xsqlite3_result_text64 // sqlite3.c:129293:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 812)) = Xsqlite3_strglob // sqlite3.c:129294:3: + *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 0)) = Xsqlite3_aggregate_context // sqlite3.c:129032:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 4)) = Xsqlite3_aggregate_count // sqlite3.c:129034:3: + *(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 8)) = Xsqlite3_bind_blob // sqlite3.c:129038:3: + *(*func(*libc.TLS, uintptr, int32, float64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 12)) = Xsqlite3_bind_double // sqlite3.c:129039:3: + *(*func(*libc.TLS, uintptr, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 16)) = Xsqlite3_bind_int // sqlite3.c:129040:3: + *(*func(*libc.TLS, uintptr, int32, Sqlite_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 20)) = Xsqlite3_bind_int64 // sqlite3.c:129041:3: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 24)) = Xsqlite3_bind_null // sqlite3.c:129042:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 28)) = Xsqlite3_bind_parameter_count // sqlite3.c:129043:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 32)) = Xsqlite3_bind_parameter_index // sqlite3.c:129044:3: + *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 36)) = Xsqlite3_bind_parameter_name // sqlite3.c:129045:3: + *(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 40)) = Xsqlite3_bind_text // sqlite3.c:129046:3: + *(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 44)) = Xsqlite3_bind_text16 // sqlite3.c:129047:3: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 48)) = Xsqlite3_bind_value // sqlite3.c:129048:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 52)) = Xsqlite3_busy_handler // sqlite3.c:129049:3: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 56)) = Xsqlite3_busy_timeout // sqlite3.c:129050:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 60)) = Xsqlite3_changes // sqlite3.c:129051:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 64)) = Xsqlite3_close // sqlite3.c:129052:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 68)) = Xsqlite3_collation_needed // sqlite3.c:129053:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 72)) = Xsqlite3_collation_needed16 // sqlite3.c:129054:3: + *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 76)) = Xsqlite3_column_blob // sqlite3.c:129055:3: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 80)) = Xsqlite3_column_bytes // sqlite3.c:129056:3: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 84)) = Xsqlite3_column_bytes16 // sqlite3.c:129057:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 88)) = Xsqlite3_column_count // sqlite3.c:129058:3: + *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 92)) = Xsqlite3_column_database_name // sqlite3.c:129059:3: + *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 96)) = Xsqlite3_column_database_name16 // sqlite3.c:129060:3: + *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 100)) = Xsqlite3_column_decltype // sqlite3.c:129061:3: + *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 104)) = Xsqlite3_column_decltype16 // sqlite3.c:129062:3: + *(*func(*libc.TLS, uintptr, int32) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 108)) = Xsqlite3_column_double // sqlite3.c:129063:3: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 112)) = Xsqlite3_column_int // sqlite3.c:129064:3: + *(*func(*libc.TLS, uintptr, int32) Sqlite_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 116)) = Xsqlite3_column_int64 // sqlite3.c:129065:3: + *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 120)) = Xsqlite3_column_name // sqlite3.c:129066:3: + *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 124)) = Xsqlite3_column_name16 // sqlite3.c:129067:3: + *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 128)) = Xsqlite3_column_origin_name // sqlite3.c:129068:3: + *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 132)) = Xsqlite3_column_origin_name16 // sqlite3.c:129069:3: + *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 136)) = Xsqlite3_column_table_name // sqlite3.c:129070:3: + *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 140)) = Xsqlite3_column_table_name16 // sqlite3.c:129071:3: + *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 144)) = Xsqlite3_column_text // sqlite3.c:129072:3: + *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 148)) = Xsqlite3_column_text16 // sqlite3.c:129073:3: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 152)) = Xsqlite3_column_type // sqlite3.c:129074:3: + *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 156)) = Xsqlite3_column_value // sqlite3.c:129075:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 160)) = Xsqlite3_commit_hook // sqlite3.c:129076:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 164)) = Xsqlite3_complete // sqlite3.c:129077:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 168)) = Xsqlite3_complete16 // sqlite3.c:129078:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 172)) = Xsqlite3_create_collation // sqlite3.c:129079:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 176)) = Xsqlite3_create_collation16 // sqlite3.c:129080:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, int32, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 180)) = Xsqlite3_create_function // sqlite3.c:129081:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, int32, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 184)) = Xsqlite3_create_function16 // sqlite3.c:129082:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 188)) = Xsqlite3_create_module // sqlite3.c:129083:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 192)) = Xsqlite3_data_count // sqlite3.c:129084:3: + *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 196)) = Xsqlite3_db_handle // sqlite3.c:129085:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 200)) = Xsqlite3_declare_vtab // sqlite3.c:129086:3: + *(*func(*libc.TLS, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 204)) = Xsqlite3_enable_shared_cache // sqlite3.c:129087:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 208)) = Xsqlite3_errcode // sqlite3.c:129088:3: + *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 212)) = Xsqlite3_errmsg // sqlite3.c:129089:3: + *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 216)) = Xsqlite3_errmsg16 // sqlite3.c:129090:3: + *(*func(*libc.TLS, uintptr, uintptr, Sqlite3_callback, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 220)) = Xsqlite3_exec // sqlite3.c:129091:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 224)) = Xsqlite3_expired // sqlite3.c:129093:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 228)) = Xsqlite3_finalize // sqlite3.c:129097:3: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 232)) = Xsqlite3_free // sqlite3.c:129098:3: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 236)) = Xsqlite3_free_table // sqlite3.c:129099:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 240)) = Xsqlite3_get_autocommit // sqlite3.c:129100:3: + *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 244)) = Xsqlite3_get_auxdata // sqlite3.c:129101:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 248)) = Xsqlite3_get_table // sqlite3.c:129102:3: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 256)) = Xsqlite3_interrupt // sqlite3.c:129104:3: + *(*func(*libc.TLS, uintptr) Sqlite3_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 260)) = Xsqlite3_last_insert_rowid // sqlite3.c:129105:3: + *(*func(*libc.TLS) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 264)) = Xsqlite3_libversion // sqlite3.c:129106:3: + *(*func(*libc.TLS) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 268)) = Xsqlite3_libversion_number // sqlite3.c:129107:3: + *(*func(*libc.TLS, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 272)) = Xsqlite3_malloc // sqlite3.c:129108:3: + *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 276)) = Xsqlite3_mprintf // sqlite3.c:129109:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 280)) = Xsqlite3_open // sqlite3.c:129110:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 284)) = Xsqlite3_open16 // sqlite3.c:129111:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 288)) = Xsqlite3_prepare // sqlite3.c:129112:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 292)) = Xsqlite3_prepare16 // sqlite3.c:129113:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 296)) = Xsqlite3_profile // sqlite3.c:129114:3: + *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 300)) = Xsqlite3_progress_handler // sqlite3.c:129115:3: + *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 304)) = Xsqlite3_realloc // sqlite3.c:129116:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 308)) = Xsqlite3_reset // sqlite3.c:129117:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 312)) = Xsqlite3_result_blob // sqlite3.c:129118:3: + *(*func(*libc.TLS, uintptr, float64))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 316)) = Xsqlite3_result_double // sqlite3.c:129119:3: + *(*func(*libc.TLS, uintptr, uintptr, int32))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 320)) = Xsqlite3_result_error // sqlite3.c:129120:3: + *(*func(*libc.TLS, uintptr, uintptr, int32))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 324)) = Xsqlite3_result_error16 // sqlite3.c:129121:3: + *(*func(*libc.TLS, uintptr, int32))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 328)) = Xsqlite3_result_int // sqlite3.c:129122:3: + *(*func(*libc.TLS, uintptr, I64))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 332)) = Xsqlite3_result_int64 // sqlite3.c:129123:3: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 336)) = Xsqlite3_result_null // sqlite3.c:129124:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 340)) = Xsqlite3_result_text // sqlite3.c:129125:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 344)) = Xsqlite3_result_text16 // sqlite3.c:129126:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 348)) = Xsqlite3_result_text16be // sqlite3.c:129127:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 352)) = Xsqlite3_result_text16le // sqlite3.c:129128:3: + *(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 356)) = Xsqlite3_result_value // sqlite3.c:129129:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 360)) = Xsqlite3_rollback_hook // sqlite3.c:129130:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 364)) = Xsqlite3_set_authorizer // sqlite3.c:129131:3: + *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 368)) = Xsqlite3_set_auxdata // sqlite3.c:129132:3: + *(*func(*libc.TLS, int32, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 372)) = Xsqlite3_snprintf // sqlite3.c:129133:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 376)) = Xsqlite3_step // sqlite3.c:129134:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr, uintptr, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 380)) = Xsqlite3_table_column_metadata // sqlite3.c:129135:3: + *(*func(*libc.TLS))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 384)) = Xsqlite3_thread_cleanup // sqlite3.c:129137:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 388)) = Xsqlite3_total_changes // sqlite3.c:129141:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 392)) = Xsqlite3_trace // sqlite3.c:129142:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 396)) = Xsqlite3_transfer_bindings // sqlite3.c:129144:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 400)) = Xsqlite3_update_hook // sqlite3.c:129148:3: + *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 404)) = Xsqlite3_user_data // sqlite3.c:129149:3: + *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 408)) = Xsqlite3_value_blob // sqlite3.c:129150:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 412)) = Xsqlite3_value_bytes // sqlite3.c:129151:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 416)) = Xsqlite3_value_bytes16 // sqlite3.c:129152:3: + *(*func(*libc.TLS, uintptr) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 420)) = Xsqlite3_value_double // sqlite3.c:129153:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 424)) = Xsqlite3_value_int // sqlite3.c:129154:3: + *(*func(*libc.TLS, uintptr) Sqlite_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 428)) = Xsqlite3_value_int64 // sqlite3.c:129155:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 432)) = Xsqlite3_value_numeric_type // sqlite3.c:129156:3: + *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 436)) = Xsqlite3_value_text // sqlite3.c:129157:3: + *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 440)) = Xsqlite3_value_text16 // sqlite3.c:129158:3: + *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 444)) = Xsqlite3_value_text16be // sqlite3.c:129159:3: + *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 448)) = Xsqlite3_value_text16le // sqlite3.c:129160:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 452)) = Xsqlite3_value_type // sqlite3.c:129161:3: + *(*func(*libc.TLS, uintptr, Va_list) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 456)) = Xsqlite3_vmprintf // sqlite3.c:129162:3: + *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 460)) = Xsqlite3_overload_function // sqlite3.c:129171:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 464)) = Xsqlite3_prepare_v2 // sqlite3.c:129176:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 468)) = Xsqlite3_prepare16_v2 // sqlite3.c:129177:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 472)) = Xsqlite3_clear_bindings // sqlite3.c:129178:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 476)) = Xsqlite3_create_module_v2 // sqlite3.c:129183:3: + *(*func(*libc.TLS, uintptr, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 480)) = Xsqlite3_bind_zeroblob // sqlite3.c:129188:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 484)) = Xsqlite3_blob_bytes // sqlite3.c:129189:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 488)) = Xsqlite3_blob_close // sqlite3.c:129190:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr, Sqlite_int64, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 492)) = Xsqlite3_blob_open // sqlite3.c:129191:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 496)) = Xsqlite3_blob_read // sqlite3.c:129192:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 500)) = Xsqlite3_blob_write // sqlite3.c:129193:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 504)) = Xsqlite3_create_collation_v2 // sqlite3.c:129194:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 508)) = Xsqlite3_file_control // sqlite3.c:129195:3: + *(*func(*libc.TLS, int32) Sqlite3_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 512)) = Xsqlite3_memory_highwater // sqlite3.c:129196:3: + *(*func(*libc.TLS) Sqlite3_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 516)) = Xsqlite3_memory_used // sqlite3.c:129197:3: + *(*func(*libc.TLS, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 520)) = Xsqlite3_mutex_alloc // sqlite3.c:129205:3: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 524)) = Xsqlite3_mutex_enter // sqlite3.c:129206:3: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 528)) = Xsqlite3_mutex_free // sqlite3.c:129207:3: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 532)) = Xsqlite3_mutex_leave // sqlite3.c:129208:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 536)) = Xsqlite3_mutex_try // sqlite3.c:129209:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 540)) = Xsqlite3_open_v2 // sqlite3.c:129211:3: + *(*func(*libc.TLS, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 544)) = Xsqlite3_release_memory // sqlite3.c:129212:3: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 548)) = Xsqlite3_result_error_nomem // sqlite3.c:129213:3: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 552)) = Xsqlite3_result_error_toobig // sqlite3.c:129214:3: + *(*func(*libc.TLS, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 556)) = Xsqlite3_sleep // sqlite3.c:129215:3: + *(*func(*libc.TLS, int32))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 560)) = Xsqlite3_soft_heap_limit // sqlite3.c:129216:3: + *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 564)) = Xsqlite3_vfs_find // sqlite3.c:129217:3: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 568)) = Xsqlite3_vfs_register // sqlite3.c:129218:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 572)) = Xsqlite3_vfs_unregister // sqlite3.c:129219:3: + *(*func(*libc.TLS) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 576)) = Xsqlite3_threadsafe // sqlite3.c:129224:3: + *(*func(*libc.TLS, uintptr, int32))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 580)) = Xsqlite3_result_zeroblob // sqlite3.c:129225:3: + *(*func(*libc.TLS, uintptr, int32))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 584)) = Xsqlite3_result_error_code // sqlite3.c:129226:3: + *(*func(*libc.TLS, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 588)) = Xsqlite3_test_control // sqlite3.c:129227:3: + *(*func(*libc.TLS, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 592)) = Xsqlite3_randomness // sqlite3.c:129228:3: + *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 596)) = Xsqlite3_context_db_handle // sqlite3.c:129229:3: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 600)) = Xsqlite3_extended_result_codes // sqlite3.c:129234:3: + *(*func(*libc.TLS, uintptr, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 604)) = Xsqlite3_limit // sqlite3.c:129235:3: + *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 608)) = Xsqlite3_next_stmt // sqlite3.c:129236:3: + *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 612)) = Xsqlite3_sql // sqlite3.c:129237:3: + *(*func(*libc.TLS, int32, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 616)) = Xsqlite3_status // sqlite3.c:129238:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 620)) = Xsqlite3_backup_finish // sqlite3.c:129243:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 624)) = Xsqlite3_backup_init // sqlite3.c:129244:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 628)) = Xsqlite3_backup_pagecount // sqlite3.c:129245:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 632)) = Xsqlite3_backup_remaining // sqlite3.c:129246:3: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 636)) = Xsqlite3_backup_step // sqlite3.c:129247:3: + *(*func(*libc.TLS, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 640)) = Xsqlite3_compileoption_get // sqlite3.c:129249:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 644)) = Xsqlite3_compileoption_used // sqlite3.c:129250:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, int32, uintptr, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 648)) = Xsqlite3_create_function_v2 // sqlite3.c:129255:3: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 652)) = Xsqlite3_db_config // sqlite3.c:129256:3: + *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 656)) = Xsqlite3_db_mutex // sqlite3.c:129257:3: + *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 660)) = Xsqlite3_db_status // sqlite3.c:129258:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 664)) = Xsqlite3_extended_errcode // sqlite3.c:129259:3: + *(*func(*libc.TLS, int32, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 668)) = Xsqlite3_log // sqlite3.c:129260:3: + *(*func(*libc.TLS, Sqlite3_int64) Sqlite3_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 672)) = Xsqlite3_soft_heap_limit64 // sqlite3.c:129261:3: + *(*func(*libc.TLS) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 676)) = Xsqlite3_sourceid // sqlite3.c:129262:3: + *(*func(*libc.TLS, uintptr, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 680)) = Xsqlite3_stmt_status // sqlite3.c:129263:3: + *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 684)) = Xsqlite3_strnicmp // sqlite3.c:129264:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 688)) = Xsqlite3_unlock_notify // sqlite3.c:129266:3: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 692)) = Xsqlite3_wal_autocheckpoint // sqlite3.c:129271:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 696)) = Xsqlite3_wal_checkpoint // sqlite3.c:129272:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 700)) = Xsqlite3_wal_hook // sqlite3.c:129273:3: + *(*func(*libc.TLS, uintptr, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 704)) = Xsqlite3_blob_reopen // sqlite3.c:129279:3: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 708)) = Xsqlite3_vtab_config // sqlite3.c:129280:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 712)) = Xsqlite3_vtab_on_conflict // sqlite3.c:129281:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 716)) = Xsqlite3_close_v2 // sqlite3.c:129282:3: + *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 720)) = Xsqlite3_db_filename // sqlite3.c:129283:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 724)) = Xsqlite3_db_readonly // sqlite3.c:129284:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 728)) = Xsqlite3_db_release_memory // sqlite3.c:129285:3: + *(*func(*libc.TLS, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 732)) = Xsqlite3_errstr // sqlite3.c:129286:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 736)) = Xsqlite3_stmt_busy // sqlite3.c:129287:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 740)) = Xsqlite3_stmt_readonly // sqlite3.c:129288:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 744)) = Xsqlite3_stricmp // sqlite3.c:129289:3: + *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 748)) = Xsqlite3_uri_boolean // sqlite3.c:129290:3: + *(*func(*libc.TLS, uintptr, uintptr, Sqlite3_int64) Sqlite3_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 752)) = Xsqlite3_uri_int64 // sqlite3.c:129291:3: + *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 756)) = Xsqlite3_uri_parameter // sqlite3.c:129292:3: + *(*func(*libc.TLS, int32, uintptr, uintptr, Va_list) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 760)) = Xsqlite3_vsnprintf // sqlite3.c:129293:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 764)) = Xsqlite3_wal_checkpoint_v2 // sqlite3.c:129294:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 768)) = Xsqlite3_auto_extension // sqlite3.c:129296:3: + *(*func(*libc.TLS, uintptr, int32, uintptr, Sqlite3_uint64, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 772)) = Xsqlite3_bind_blob64 // sqlite3.c:129297:3: + *(*func(*libc.TLS, uintptr, int32, uintptr, Sqlite3_uint64, uintptr, uint8) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 776)) = Xsqlite3_bind_text64 // sqlite3.c:129298:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 780)) = Xsqlite3_cancel_auto_extension // sqlite3.c:129299:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 784)) = Xsqlite3_load_extension // sqlite3.c:129300:3: + *(*func(*libc.TLS, Sqlite3_uint64) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 788)) = Xsqlite3_malloc64 // sqlite3.c:129301:3: + *(*func(*libc.TLS, uintptr) Sqlite3_uint64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 792)) = Xsqlite3_msize // sqlite3.c:129302:3: + *(*func(*libc.TLS, uintptr, Sqlite3_uint64) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 796)) = Xsqlite3_realloc64 // sqlite3.c:129303:3: + *(*func(*libc.TLS))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 800)) = Xsqlite3_reset_auto_extension // sqlite3.c:129304:3: + *(*func(*libc.TLS, uintptr, uintptr, Sqlite3_uint64, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 804)) = Xsqlite3_result_blob64 // sqlite3.c:129305:3: + *(*func(*libc.TLS, uintptr, uintptr, Sqlite3_uint64, uintptr, uint8))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 808)) = Xsqlite3_result_text64 // sqlite3.c:129306:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 812)) = Xsqlite3_strglob // sqlite3.c:129307:3: *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 816 /* .value_dup */)) = *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr) uintptr - }{Xsqlite3_value_dup})) // sqlite3.c:129296:3: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 820)) = Xsqlite3_value_free // sqlite3.c:129297:3: - *(*func(*libc.TLS, uintptr, U64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 824)) = Xsqlite3_result_zeroblob64 // sqlite3.c:129298:3: - *(*func(*libc.TLS, uintptr, int32, Sqlite3_uint64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 828)) = Xsqlite3_bind_zeroblob64 // sqlite3.c:129299:3: - *(*func(*libc.TLS, uintptr) uint32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 832)) = Xsqlite3_value_subtype // sqlite3.c:129301:3: - *(*func(*libc.TLS, uintptr, uint32))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 836)) = Xsqlite3_result_subtype // sqlite3.c:129302:3: - *(*func(*libc.TLS, int32, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 840)) = Xsqlite3_status64 // sqlite3.c:129304:3: - *(*func(*libc.TLS, uintptr, uintptr, uint32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 844)) = Xsqlite3_strlike // sqlite3.c:129305:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 848)) = Xsqlite3_db_cacheflush // sqlite3.c:129306:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 852)) = Xsqlite3_system_errno // sqlite3.c:129308:3: - *(*func(*libc.TLS, uintptr, uint32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 856)) = Xsqlite3_trace_v2 // sqlite3.c:129310:3: - *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 860)) = Xsqlite3_expanded_sql // sqlite3.c:129311:3: - *(*func(*libc.TLS, uintptr, Sqlite3_int64))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 864)) = Xsqlite3_set_last_insert_rowid // sqlite3.c:129313:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uint32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 868)) = Xsqlite3_prepare_v3 // sqlite3.c:129315:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uint32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 872)) = Xsqlite3_prepare16_v3 // sqlite3.c:129316:3: - *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 876)) = Xsqlite3_bind_pointer // sqlite3.c:129317:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 880)) = Xsqlite3_result_pointer // sqlite3.c:129318:3: - *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 884)) = Xsqlite3_value_pointer // sqlite3.c:129319:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 888)) = Xsqlite3_vtab_nochange // sqlite3.c:129321:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 892)) = Xsqlite3_value_nochange // sqlite3.c:129322:3: - *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 896)) = Xsqlite3_vtab_collation // sqlite3.c:129323:3: - *(*func(*libc.TLS) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 900)) = Xsqlite3_keyword_count // sqlite3.c:129325:3: - *(*func(*libc.TLS, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 904)) = Xsqlite3_keyword_name // sqlite3.c:129326:3: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 908)) = Xsqlite3_keyword_check // sqlite3.c:129327:3: - *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 912)) = Xsqlite3_str_new // sqlite3.c:129328:3: - *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 916)) = Xsqlite3_str_finish // sqlite3.c:129329:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 920)) = Xsqlite3_str_appendf // sqlite3.c:129330:3: - *(*func(*libc.TLS, uintptr, uintptr, Va_list))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 924)) = Xsqlite3_str_vappendf // sqlite3.c:129331:3: - *(*func(*libc.TLS, uintptr, uintptr, int32))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 928)) = Xsqlite3_str_append // sqlite3.c:129332:3: - *(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 932)) = Xsqlite3_str_appendall // sqlite3.c:129333:3: - *(*func(*libc.TLS, uintptr, int32, int8))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 936)) = Xsqlite3_str_appendchar // sqlite3.c:129334:3: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 940)) = Xsqlite3_str_reset // sqlite3.c:129335:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 944)) = Xsqlite3_str_errcode // sqlite3.c:129336:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 948)) = Xsqlite3_str_length // sqlite3.c:129337:3: - *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 952)) = Xsqlite3_str_value // sqlite3.c:129338:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, int32, uintptr, uintptr, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 956)) = Xsqlite3_create_window_function // sqlite3.c:129340:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 964)) = Xsqlite3_stmt_isexplain // sqlite3.c:129348:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 968)) = Xsqlite3_value_frombind // sqlite3.c:129349:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 972)) = Xsqlite3_drop_modules // sqlite3.c:129352:3: - *(*func(*libc.TLS, Sqlite3_int64) Sqlite3_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 976)) = Xsqlite3_hard_heap_limit64 // sqlite3.c:129357:3: - *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 980)) = Xsqlite3_uri_key // sqlite3.c:129358:3: - *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 984)) = Xsqlite3_filename_database // sqlite3.c:129359:3: - *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 988)) = Xsqlite3_filename_journal // sqlite3.c:129360:3: - *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 992)) = Xsqlite3_filename_wal // sqlite3.c:129361:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 996)) = Xsqlite3_create_filename // sqlite3.c:129363:3: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1000)) = Xsqlite3_free_filename // sqlite3.c:129364:3: - *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1004)) = Xsqlite3_database_file_object // sqlite3.c:129365:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1008)) = Xsqlite3_txn_state // sqlite3.c:129367:3: - *(*func(*libc.TLS, uintptr) Sqlite3_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1012)) = Xsqlite3_changes64 // sqlite3.c:129369:3: - *(*func(*libc.TLS, uintptr) Sqlite3_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1016)) = Xsqlite3_total_changes64 // sqlite3.c:129370:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1020)) = Xsqlite3_autovacuum_pages // sqlite3.c:129372:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1024)) = Xsqlite3_error_offset // sqlite3.c:129374:3: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1028)) = Xsqlite3_vtab_rhs_value // sqlite3.c:129375:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1032)) = Xsqlite3_vtab_distinct // sqlite3.c:129376:3: - *(*func(*libc.TLS, uintptr, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1036)) = Xsqlite3_vtab_in // sqlite3.c:129377:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1040)) = Xsqlite3_vtab_in_first // sqlite3.c:129378:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1044)) = Xsqlite3_vtab_in_next // sqlite3.c:129379:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3BuiltinExtensions)) + 0)) = Xsqlite3Fts5Init // sqlite3.c:168488:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3BuiltinExtensions)) + 4)) = Xsqlite3RtreeInit // sqlite3.c:168494:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3BuiltinExtensions)) + 8)) = sqlite3TestExtInit // sqlite3.c:168502:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3BuiltinExtensions)) + 12)) = Xsqlite3JsonTableFunctions // sqlite3.c:168504:3: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&statGetFuncdef)) + 16)) = statGet // sqlite3.c:111993:3: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&statInitFuncdef)) + 16)) = statInit // sqlite3.c:111569:3: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&statPushFuncdef)) + 16)) = statPush // sqlite3.c:111859:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 24)) = rbuVfsOpen // sqlite3.c:208888:5: - *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 28)) = rbuVfsDelete // sqlite3.c:208889:5: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 32)) = rbuVfsAccess // sqlite3.c:208890:5: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 36)) = rbuVfsFullPathname // sqlite3.c:208891:5: - *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 40)) = rbuVfsDlOpen // sqlite3.c:208894:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 44)) = rbuVfsDlError // sqlite3.c:208895:5: - *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 48)) = rbuVfsDlSym // sqlite3.c:208896:5: - *(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 52)) = rbuVfsDlClose // sqlite3.c:208897:5: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 56)) = rbuVfsRandomness // sqlite3.c:208902:5: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 60)) = rbuVfsSleep // sqlite3.c:208903:5: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 64)) = rbuVfsCurrentTime // sqlite3.c:208904:5: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 68)) = rbuVfsGetLastError // sqlite3.c:208905:5: -} - -var ts1 = "3.38.1\x00ATOMIC_INTRINSICS=1\x00COMPILER=gcc-10.2.1 20210110\x00DEFAULT_AUTOVACUUM\x00DEFAULT_CACHE_SIZE=-2000\x00DEFAULT_FILE_FORMAT=4\x00DEFAULT_JOURNAL_SIZE_LIMIT=-1\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\x00ENABLE_COLUMN_METADATA\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=127\x00MAX_LENGTH=1000000000\x00MAX_LIKE_PATTERN_LENGTH=50000\x00MAX_MMAP_SIZE=0x7fff0000\x00MAX_PAGE_COUNT=1073741823\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\x00BINARY\x00ANY\x00BLOB\x00INT\x00INTEGER\x00REAL\x00TEXT\x0020b:20e\x0020c:20e\x0020e\x0040f-21a-21d\x00now\x00local time unavailable\x00second\x00minute\x00hour\x00\x00\x00day\x00\x00\x00\x00month\x00\x00year\x00\x00\x00auto\x00julianday\x00localtime\x00unixepoch\x00utc\x00weekday \x00start of \x00month\x00year\x00day\x00%02d\x00%06.3f\x00%03d\x00%.16g\x00%lld\x00%04d\x00date\x00time\x00datetime\x00strftime\x00current_time\x00current_timestamp\x00current_date\x00failed to allocate %u bytes of memory\x00failed memory resize %u to %u bytes\x00out of memory\x000123456789ABCDEF0123456789abcdef\x00-x0\x00X0\x00%\x00NaN\x00Inf\x00\x00NULL\x00(NULL)\x00.\x00SUBQUERY %u\x00thstndrd\x00922337203685477580\x00API call with %s database connection pointer\x00unopened\x00invalid\x00Savepoint\x00AutoCommit\x00Transaction\x00SorterNext\x00Prev\x00Next\x00Checkpoint\x00JournalMode\x00Vacuum\x00VFilter\x00VUpdate\x00Goto\x00Gosub\x00InitCoroutine\x00Yield\x00MustBeInt\x00Jump\x00Once\x00If\x00Not\x00IfNot\x00IsNullOrType\x00IfNullRow\x00SeekLT\x00SeekLE\x00SeekGE\x00SeekGT\x00IfNotOpen\x00IfNoHope\x00NoConflict\x00NotFound\x00Found\x00SeekRowid\x00NotExists\x00Last\x00IfSmaller\x00SorterSort\x00Sort\x00Rewind\x00IdxLE\x00IdxGT\x00IdxLT\x00IdxGE\x00Or\x00And\x00RowSetRead\x00RowSetTest\x00Program\x00FkIfZero\x00IfPos\x00IsNull\x00NotNull\x00Ne\x00Eq\x00Gt\x00Le\x00Lt\x00Ge\x00ElseEq\x00IfNotZero\x00DecrJumpZero\x00IncrVacuum\x00VNext\x00Filter\x00Init\x00PureFunc\x00Function\x00Return\x00EndCoroutine\x00HaltIfNull\x00Halt\x00Integer\x00Int64\x00String\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\x00VInitIn\x00VColumn\x00VRename\x00Pagecount\x00MaxPgcnt\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\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\x00SQLite format 3\x00:memory:\x00@ \x00\n\x00invalid page number %d\x002nd reference to page %d\x00Failed to read ptrmap key=%d\x00Bad ptr map entry key=%d expected=(%d,%d) got=(%d,%d)\x00failed to get page %d\x00freelist leaf count too big on page %d\x00%s is %d but should be %d\x00size\x00overflow list length\x00Page %u: \x00unable to get the page. error code=%d\x00btreeInitPage() returns error code %d\x00free space corruption\x00On tree page %u cell %d: \x00On page %u at right child: \x00Offset %d out of range %d..%d\x00Extends off end of page\x00Rowid %lld out of order\x00Child page depth differs\x00Multiple uses for byte %u of page %u\x00Fragmentation of %d bytes reported as %d on page %u\x00Main freelist: \x00max rootpage (%d) disagrees with header (%d)\x00incremental_vacuum enabled with a max rootpage of zero\x00Page %d is never used\x00Pointer map page %d is referenced\x00unknown database %s\x00destination database is in use\x00source and destination must be distinct\x00%!.15g\x00-\x00%s%s\x00k(%d\x00B\x00,%s%s%s\x00N.\x00)\x00%.18s-%s\x00%s(%d)\x00%d\x00(blob)\x00vtab:%p\x00%c%u\x00]\x00program\x00?\x008\x0016LE\x0016BE\x00addr\x00opcode\x00p1\x00p2\x00p3\x00p4\x00p5\x00comment\x00id\x00parent\x00notused\x00detail\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\x00ValueList\x00bind on a busy prepared statement: [%s]\x00-- \x00'%.*q'\x00zeroblob(%d)\x00x'\x00%02x\x00'\x00%s constraint failed\x00%z: %s\x00abort at %d in [%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\x00cannot change %s wal mode from within a transaction\x00into\x00out of\x00database table is locked: %s\x00-- %s\x00statement aborts at %d: [%s] %s\x00NOT NULL\x00UNIQUE\x00CHECK\x00FOREIGN KEY\x00cannot open value of type %s\x00null\x00real\x00integer\x00no such rowid: %lld\x00cannot open virtual table: %s\x00cannot open table without rowid: %s\x00cannot open view: %s\x00no such column: \"%s\"\x00foreign key\x00indexed\x00cannot open %s column for writing\x00main\x00*\x00new\x00old\x00excluded\x00misuse of aliased aggregate %s\x00misuse of aliased window function %s\x00row value misused\x00double-quoted string literal: \"%w\"\x00no such column\x00ambiguous column name\x00%s: %s.%s.%s\x00%s: %s.%s\x00%s: %s\x00partial index WHERE clauses\x00index expressions\x00CHECK constraints\x00generated columns\x00%s prohibited in %s\x00true\x00false\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\x00a GROUP BY clause is required before HAVING\x00GROUP\x00aggregate functions are not allowed in the GROUP BY clause\x00Expression tree is too large (maximum depth %d)\x00IN(...) element has %d term%s - expected %d\x00s\x000\x00too many arguments on function %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\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\x00%sLIST SUBQUERY %d\x00CORRELATED \x00REUSE SUBQUERY %d\x00%sSCALAR SUBQUERY %d\x001\x000x\x00hex literal too big: %s%#T\x00generated column loop on \"%s\"\x00blob\x00text\x00numeric\x00none\x00misuse of aggregate: %#T()\x00unknown function: %#T()\x00RAISE() may only be used within a trigger-program\x00B\x00C\x00D\x00E\x00sqlite_\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') ELSE raise(ABORT,'NOT NULL constraint failed') END FROM pragma_quick_check(%Q,%Q) WHERE quick_check GLOB 'CHECK*' OR quick_check GLOB 'NULL*'\x00virtual tables may not be altered\x00Cannot add a column to a view\x00sqlite_altertab_%s\x00view\x00virtual table\x00cannot %s %s \"%s\"\x00drop column from\x00rename columns of\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')\x00error in %s %s%s%s: %s\x00 \x00CREATE \x00\"%w\" \x00%Q%s\x00%.*s%s\x00cannot drop %s column: \"%s\"\x00PRIMARY KEY\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\x00CREATE TABLE %Q.%s(%s)\x00DELETE FROM %Q.%s WHERE %s=%Q\x00DELETE FROM %Q.%s\x00sqlite_stat1\x00tbl,idx,stat\x00sqlite_stat4\x00tbl,idx,neq,nlt,ndlt,sample\x00sqlite_stat3\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\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\x00sqlite_temp_schema\x00sqlite_schema\x00sqlite_temp_master\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\x00sqlite_returning\x00cannot use RETURNING in a trigger\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'\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\x00unsupported use of NULLS %s\x00FIRST\x00LAST\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\x00CREATE%s INDEX %.*s\x00 UNIQUE\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\x00a JOIN clause is required before %s\x00ON\x00USING\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\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%!.20e\x00%Q\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\x00instr\x00printf\x00format\x00unicode\x00char\x00abs\x00round\x00upper\x00lower\x00hex\x00ifnull\x00random\x00randomblob\x00nullif\x00sqlite_version\x00sqlite_source_id\x00sqlite_log\x00quote\x00last_insert_rowid\x00changes\x00total_changes\x00replace\x00zeroblob\x00substr\x00substring\x00sum\x00total\x00avg\x00count\x00group_concat\x00glob\x00coalesce\x00ceil\x00ceiling\x00floor\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\x00foreign key mismatch - \"%w\" referencing \"%w\"\x00cannot INSERT into generated column \"%s\"\x00table %S has no column named %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\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]\x00so\x00automatic extension loading failed: %s\x00seq\x00from\x00to\x00on_update\x00on_delete\x00match\x00cid\x00name\x00type\x00notnull\x00dflt_value\x00pk\x00hidden\x00schema\x00ncol\x00wr\x00strict\x00seqno\x00desc\x00coll\x00key\x00builtin\x00enc\x00narg\x00flags\x00wdth\x00hght\x00flgs\x00unique\x00origin\x00partial\x00rowid\x00fkid\x00file\x00busy\x00checkpointed\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\x00onoffalseyestruextrafull\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\x00w\x00a\x00sissii\x00utf8\x00utf16le\x00utf16be\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\x00NULL value in %s.%s\x00non-%s value in %s.%s\x00CHECK constraint failed in %s\x00row \x00 missing from index \x00non-unique entry in index \x00wrong # of entries in index \x00ok\x00unsupported encoding: %s\x00restart\x00ANALYZE \"%w\".\"%w\"\x00UTF8\x00UTF-8\x00UTF-16le\x00UTF-16be\x00UTF16le\x00UTF16be\x00UTF-16\x00UTF16\x00CREATE TABLE x\x00%c\"%s\"\x00(\"%s\"\x00,arg HIDDEN\x00,schema HIDDEN\x00PRAGMA \x00%Q.\x00=%Q\x00error in %s %s after %s: %s\x00malformed database schema (%s)\x00%z - %s\x00rename\x00drop column\x00add column\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 or unsupported join type: %T %T%s%T\x00RIGHT and FULL OUTER JOINs are not currently supported\x00naturaleftouterightfullinnercross\x00a NATURAL join may not have an ON or USING clause\x00cannot have both ON and USING clauses in the same join\x00cannot join using column %s - column not present in both tables\x00UNION ALL\x00INTERSECT\x00EXCEPT\x00UNION\x00USE TEMP B-TREE FOR %s\x00column%d\x00%.*z:%u\x00cannot use window functions in recursive queries\x00recursive aggregate queries not supported\x00SETUP\x00RECURSIVE STEP\x00SCAN %d CONSTANT ROW%s\x00S\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\x00subquery_%u\x00too many references to \"%s\": max 65535\x00access to view \"%s\" prohibited\x00unsafe use of virtual table \"%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)\x00SCAN %s%s%s\x00 USING COVERING INDEX \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\x00RIGHT PART OF ORDER BY\x00ORDER 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\x00trigger %T already exists\x00cannot create trigger on system table\x00cannot create %s trigger on view: %S\x00BEFORE\x00AFTER\x00cannot create INSTEAD OF trigger on 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'\x00%s RETURNING is not available on virtual tables\x00DELETE\x00UPDATE\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\x00ATTACH %Q AS vacuum_db\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 vacuum_db.'||quote(name)||' SELECT*FROM\"%w\".'||quote(name)FROM vacuum_db.sqlite_schema WHERE type='table'AND coalesce(rootpage,1)>0\x00INSERT INTO vacuum_db.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\x00\x00 AND \x00(\x00 (\x00%s=?\x00ANY(%s)\x00>\x00<\x00%s %S\x00SEARCH\x00SCAN\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 %d:%s\x00BLOOM FILTER ON %S (\x00rowid=?\x00MULTI-INDEX OR\x00INDEX %d\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\x00second argument to nth_value must be a positive integer\x00argument of ntile must be a positive integer\x00row_number\x00dense_rank\x00rank\x00percent_rank\x00cume_dist\x00ntile\x00last_value\x00nth_value\x00first_value\x00lead\x00lag\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\x00%s clause should come after %s not before\x00LIMIT\x00too many terms in compound SELECT\x00syntax error after column name \"%.*s\"\x00parser stack overflow\x00unknown table option: %.*s\x00set list\x00near \"%T\": syntax error\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\x00unknown error\x00abort due to ROLLBACK\x00another row available\x00no more rows available\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\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\x00mode\x00no such %s mode: %s\x00%s mode not allowed: %s\x00no such vfs: %s\x00shared\x00private\x00ro\x00rw\x00rwc\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\x000123456789abcdef\x00JSON cannot hold BLOB values\x00malformed JSON\x00[0]\x00JSON path error near '%q'\x00json_%s() needs an odd number of arguments\x00$[\x00$.\x00json_object() requires an even number of arguments\x00json_object() labels must be TEXT\x00set\x00insert\x00[]\x00{}\x00CREATE TABLE x(key,value,type,atom,id,parent,fullkey,path,json HIDDEN,root HIDDEN)\x00[%d]\x00.%.*s\x00$\x00json\x00json_array\x00json_array_length\x00json_extract\x00->\x00->>\x00json_insert\x00json_object\x00json_patch\x00json_quote\x00json_remove\x00json_replace\x00json_set\x00json_type\x00json_valid\x00json_group_array\x00json_group_object\x00json_each\x00json_tree\x00%s_node\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\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\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\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\x00CREATE TABLE x(%.*s INT\x00,%.*s\x00);\x00,%.*s REAL\x00,%.*s INT\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\x00Mapping (%lld -> %lld) missing from %s table\x00%_rowid\x00%_parent\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\x00END\x00wrong number of arguments to function rtreecheck()\x00[\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\x00geopoly_area\x00geopoly_blob\x00geopoly_json\x00geopoly_svg\x00geopoly_contains_point\x00geopoly_debug\x00geopoly_bbox\x00geopoly_xform\x00geopoly_regular\x00geopoly_ccw\x00geopoly_group_bbox\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;\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\x00AND rootpage!=0 AND rootpage IS NOT NULL\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\x00table %q %s rbu_rowid column\x00may not have\x00requires\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%z%s\"%w\" %s %sCOLLATE %Q%s\x00 NOT NULL\x00%z, %z\x00CREATE TABLE \"rbu_imp_%w\"(%z)%s\x00 WITHOUT ROWID\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\x00SELECT %s, 0 AS rbu_control FROM '%q' %s %s %s ORDER BY %s%s\x00AND\x00WHERE\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_\x00INSERT INTO \"%s%w\"(%s%s) VALUES(%s)\x00, _rowid_\x00DELETE FROM \"%s%w\" WHERE %s\x00, rbu_rowid\x00CREATE TABLE IF NOT EXISTS %s.'rbu_tmp_%q' AS SELECT *%s FROM '%q' WHERE 0;\x00, 0 AS rbu_rowid\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\x00SELECT %s,%s rbu_control%s FROM '%q'%s %s %s %s\x000 AS \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\x00file:%s-vactmp?rbu_memory=1%s%s\x00&\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, %d), (%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\x00database modified during rbu %s\x00vacuum\x00update\x00BEGIN IMMEDIATE\x00PRAGMA journal_mode=off\x00-vactmp\x00DELETE FROM stat.rbu_state\x00rbu/zipvfs setup error\x00rbu(%s)/%z\x00rbu_memory\x00SELECT 0, 'tbl', '', 0, '', 1 UNION ALL SELECT 1, 'idx', '', 0, '', 2 UNION ALL SELECT 2, 'stat', '', 0, '', 0\x00PRAGMA '%q'.table_info('%q')\x00%z%s\"%w\".\"%w\".\"%w\"=\"%w\".\"%w\".\"%w\"\x00%z%s\"%w\".\"%w\".\"%w\" IS NOT \"%w\".\"%w\".\"%w\"\x00 OR \x00SELECT * FROM \"%w\".\"%w\" WHERE NOT EXISTS ( SELECT 1 FROM \"%w\".\"%w\" WHERE %s)\x00SELECT * FROM \"%w\".\"%w\", \"%w\".\"%w\" WHERE %s AND (%z)\x00table schemas do not match\x00SELECT tbl, ?2, stat FROM %Q.sqlite_stat1 WHERE tbl IS ?1 AND idx IS (CASE WHEN ?2=X'' THEN NULL ELSE ?2 END)\x00SELECT * FROM \x00 WHERE \x00 IS ?\x00SAVEPOINT changeset\x00RELEASE changeset\x00UPDATE main.\x00 SET \x00 = ?\x00idx IS CASE WHEN length(?4)=0 AND typeof(?4)='blob' THEN NULL ELSE ?4 END \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()\x00snippet\x00highlight\x00bm25\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\x00content_rowid\x00multiple content_rowid=... directives\x00columnsize\x00malformed columnsize=... directive\x00columns\x00malformed detail=... directive\x00unrecognized option: \"%.*s\"\x00reserved fts5 column name: %s\x00unindexed\x00unrecognized column option: %s\x00T.%Q\x00, T.%Q\x00, T.c%d\x00reserved fts5 table name: %s\x00parse error in \"%s\"\x00docsize\x00%Q.'%q_%s'\x00CREATE TABLE x(\x00%z%s%Q\x00%z, %Q HIDDEN, %s HIDDEN)\x00pgsz\x00hashsize\x00automerge\x00usermerge\x00crisismerge\x00SELECT k, v FROM %Q.'%q_config'\x00version\x00invalid fts5 file format (found %d, expected %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)\x00fts5: %s queries are not supported (detail!=full)\x00phrase\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=?\x00PRAGMA %Q.data_version\x00SELECT pgno FROM '%q'.'%q_idx' WHERE segid=? AND term<=? ORDER BY term DESC LIMIT 1\x00INSERT INTO '%q'.'%q_idx'(segid,term,pgno) VALUES(?,?,?)\x00%s_data\x00id INTEGER PRIMARY KEY, block BLOB\x00segid, term, pgno, PRIMARY KEY(segid, term)\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\x00SELECT rowid, rank FROM %Q.%Q ORDER BY %s(\"%w\"%s%s) %s\x00DESC\x00ASC\x00reads\x00unknown special query: %.*s\x00SELECT %s\x00no such function: %s\x00parse error in rank function: %s\x00%s: table does not support scanning\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\x00cannot %s contentless fts5 table: %s\x00DELETE from\x00no such cursor: %lld\x00no such tokenizer: %s\x00error in tokenizer constructor\x00fts5_api_ptr\x00fts5: 2022-03-12 13:37:29 38c210fdd258658321c85ec9c01a072fda3ada94540e3239d29b34dc547a8cbc\x00config\x00fts5\x00fts5_source_id\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(?,?)\x00DELETE FROM %Q.'%q_docsize' WHERE id=?\x00SELECT sz FROM %Q.'%q_docsize' WHERE id=?\x00REPLACE INTO %Q.'%q_config' VALUES(?,?)\x00SELECT %s FROM %s AS T\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\x00id INTEGER PRIMARY KEY, sz BLOB\x00k PRIMARY KEY, v\x00DELETE FROM %Q.'%q_data';DELETE FROM %Q.'%q_idx';\x00DELETE FROM %Q.'%q_docsize';\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\x00ascii\x00porter\x00trigram\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\x002022-03-12 13:37:29 38c210fdd258658321c85ec9c01a072fda3ada94540e3239d29b34dc547a8cbc\x00" + }{Xsqlite3_value_dup})) // sqlite3.c:129309:3: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 820)) = Xsqlite3_value_free // sqlite3.c:129310:3: + *(*func(*libc.TLS, uintptr, U64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 824)) = Xsqlite3_result_zeroblob64 // sqlite3.c:129311:3: + *(*func(*libc.TLS, uintptr, int32, Sqlite3_uint64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 828)) = Xsqlite3_bind_zeroblob64 // sqlite3.c:129312:3: + *(*func(*libc.TLS, uintptr) uint32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 832)) = Xsqlite3_value_subtype // sqlite3.c:129314:3: + *(*func(*libc.TLS, uintptr, uint32))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 836)) = Xsqlite3_result_subtype // sqlite3.c:129315:3: + *(*func(*libc.TLS, int32, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 840)) = Xsqlite3_status64 // sqlite3.c:129317:3: + *(*func(*libc.TLS, uintptr, uintptr, uint32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 844)) = Xsqlite3_strlike // sqlite3.c:129318:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 848)) = Xsqlite3_db_cacheflush // sqlite3.c:129319:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 852)) = Xsqlite3_system_errno // sqlite3.c:129321:3: + *(*func(*libc.TLS, uintptr, uint32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 856)) = Xsqlite3_trace_v2 // sqlite3.c:129323:3: + *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 860)) = Xsqlite3_expanded_sql // sqlite3.c:129324:3: + *(*func(*libc.TLS, uintptr, Sqlite3_int64))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 864)) = Xsqlite3_set_last_insert_rowid // sqlite3.c:129326:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uint32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 868)) = Xsqlite3_prepare_v3 // sqlite3.c:129328:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uint32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 872)) = Xsqlite3_prepare16_v3 // sqlite3.c:129329:3: + *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 876)) = Xsqlite3_bind_pointer // sqlite3.c:129330:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 880)) = Xsqlite3_result_pointer // sqlite3.c:129331:3: + *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 884)) = Xsqlite3_value_pointer // sqlite3.c:129332:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 888)) = Xsqlite3_vtab_nochange // sqlite3.c:129334:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 892)) = Xsqlite3_value_nochange // sqlite3.c:129335:3: + *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 896)) = Xsqlite3_vtab_collation // sqlite3.c:129336:3: + *(*func(*libc.TLS) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 900)) = Xsqlite3_keyword_count // sqlite3.c:129338:3: + *(*func(*libc.TLS, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 904)) = Xsqlite3_keyword_name // sqlite3.c:129339:3: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 908)) = Xsqlite3_keyword_check // sqlite3.c:129340:3: + *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 912)) = Xsqlite3_str_new // sqlite3.c:129341:3: + *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 916)) = Xsqlite3_str_finish // sqlite3.c:129342:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 920)) = Xsqlite3_str_appendf // sqlite3.c:129343:3: + *(*func(*libc.TLS, uintptr, uintptr, Va_list))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 924)) = Xsqlite3_str_vappendf // sqlite3.c:129344:3: + *(*func(*libc.TLS, uintptr, uintptr, int32))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 928)) = Xsqlite3_str_append // sqlite3.c:129345:3: + *(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 932)) = Xsqlite3_str_appendall // sqlite3.c:129346:3: + *(*func(*libc.TLS, uintptr, int32, int8))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 936)) = Xsqlite3_str_appendchar // sqlite3.c:129347:3: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 940)) = Xsqlite3_str_reset // sqlite3.c:129348:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 944)) = Xsqlite3_str_errcode // sqlite3.c:129349:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 948)) = Xsqlite3_str_length // sqlite3.c:129350:3: + *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 952)) = Xsqlite3_str_value // sqlite3.c:129351:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, int32, uintptr, uintptr, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 956)) = Xsqlite3_create_window_function // sqlite3.c:129353:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 964)) = Xsqlite3_stmt_isexplain // sqlite3.c:129361:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 968)) = Xsqlite3_value_frombind // sqlite3.c:129362:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 972)) = Xsqlite3_drop_modules // sqlite3.c:129365:3: + *(*func(*libc.TLS, Sqlite3_int64) Sqlite3_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 976)) = Xsqlite3_hard_heap_limit64 // sqlite3.c:129370:3: + *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 980)) = Xsqlite3_uri_key // sqlite3.c:129371:3: + *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 984)) = Xsqlite3_filename_database // sqlite3.c:129372:3: + *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 988)) = Xsqlite3_filename_journal // sqlite3.c:129373:3: + *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 992)) = Xsqlite3_filename_wal // sqlite3.c:129374:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 996)) = Xsqlite3_create_filename // sqlite3.c:129376:3: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1000)) = Xsqlite3_free_filename // sqlite3.c:129377:3: + *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1004)) = Xsqlite3_database_file_object // sqlite3.c:129378:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1008)) = Xsqlite3_txn_state // sqlite3.c:129380:3: + *(*func(*libc.TLS, uintptr) Sqlite3_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1012)) = Xsqlite3_changes64 // sqlite3.c:129382:3: + *(*func(*libc.TLS, uintptr) Sqlite3_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1016)) = Xsqlite3_total_changes64 // sqlite3.c:129383:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1020)) = Xsqlite3_autovacuum_pages // sqlite3.c:129385:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1024)) = Xsqlite3_error_offset // sqlite3.c:129387:3: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1028)) = Xsqlite3_vtab_rhs_value // sqlite3.c:129388:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1032)) = Xsqlite3_vtab_distinct // sqlite3.c:129389:3: + *(*func(*libc.TLS, uintptr, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1036)) = Xsqlite3_vtab_in // sqlite3.c:129390:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1040)) = Xsqlite3_vtab_in_first // sqlite3.c:129391:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1044)) = Xsqlite3_vtab_in_next // sqlite3.c:129392:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3BuiltinExtensions)) + 0)) = Xsqlite3Fts5Init // sqlite3.c:168545:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3BuiltinExtensions)) + 4)) = Xsqlite3RtreeInit // sqlite3.c:168551:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3BuiltinExtensions)) + 8)) = sqlite3TestExtInit // sqlite3.c:168559:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3BuiltinExtensions)) + 12)) = Xsqlite3JsonTableFunctions // sqlite3.c:168561:3: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&statGetFuncdef)) + 16)) = statGet // sqlite3.c:112006:3: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&statInitFuncdef)) + 16)) = statInit // sqlite3.c:111582:3: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&statPushFuncdef)) + 16)) = statPush // sqlite3.c:111872:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 24)) = rbuVfsOpen // sqlite3.c:208945:5: + *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 28)) = rbuVfsDelete // sqlite3.c:208946:5: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 32)) = rbuVfsAccess // sqlite3.c:208947:5: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 36)) = rbuVfsFullPathname // sqlite3.c:208948:5: + *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 40)) = rbuVfsDlOpen // sqlite3.c:208951:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 44)) = rbuVfsDlError // sqlite3.c:208952:5: + *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 48)) = rbuVfsDlSym // sqlite3.c:208953:5: + *(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 52)) = rbuVfsDlClose // sqlite3.c:208954:5: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 56)) = rbuVfsRandomness // sqlite3.c:208959:5: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 60)) = rbuVfsSleep // sqlite3.c:208960:5: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 64)) = rbuVfsCurrentTime // sqlite3.c:208961:5: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 68)) = rbuVfsGetLastError // sqlite3.c:208962:5: +} + +var ts1 = "3.38.2\x00ATOMIC_INTRINSICS=1\x00COMPILER=gcc-10.2.1 20210110\x00DEFAULT_AUTOVACUUM\x00DEFAULT_CACHE_SIZE=-2000\x00DEFAULT_FILE_FORMAT=4\x00DEFAULT_JOURNAL_SIZE_LIMIT=-1\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\x00ENABLE_COLUMN_METADATA\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=127\x00MAX_LENGTH=1000000000\x00MAX_LIKE_PATTERN_LENGTH=50000\x00MAX_MMAP_SIZE=0x7fff0000\x00MAX_PAGE_COUNT=1073741823\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\x00BINARY\x00ANY\x00BLOB\x00INT\x00INTEGER\x00REAL\x00TEXT\x0020b:20e\x0020c:20e\x0020e\x0040f-21a-21d\x00now\x00local time unavailable\x00second\x00minute\x00hour\x00\x00\x00day\x00\x00\x00\x00month\x00\x00year\x00\x00\x00auto\x00julianday\x00localtime\x00unixepoch\x00utc\x00weekday \x00start of \x00month\x00year\x00day\x00%02d\x00%06.3f\x00%03d\x00%.16g\x00%lld\x00%04d\x00date\x00time\x00datetime\x00strftime\x00current_time\x00current_timestamp\x00current_date\x00failed to allocate %u bytes of memory\x00failed memory resize %u to %u bytes\x00out of memory\x000123456789ABCDEF0123456789abcdef\x00-x0\x00X0\x00%\x00NaN\x00Inf\x00\x00NULL\x00(NULL)\x00.\x00SUBQUERY %u\x00thstndrd\x00922337203685477580\x00API call with %s database connection pointer\x00unopened\x00invalid\x00Savepoint\x00AutoCommit\x00Transaction\x00SorterNext\x00Prev\x00Next\x00Checkpoint\x00JournalMode\x00Vacuum\x00VFilter\x00VUpdate\x00Goto\x00Gosub\x00InitCoroutine\x00Yield\x00MustBeInt\x00Jump\x00Once\x00If\x00Not\x00IfNot\x00IsNullOrType\x00IfNullRow\x00SeekLT\x00SeekLE\x00SeekGE\x00SeekGT\x00IfNotOpen\x00IfNoHope\x00NoConflict\x00NotFound\x00Found\x00SeekRowid\x00NotExists\x00Last\x00IfSmaller\x00SorterSort\x00Sort\x00Rewind\x00IdxLE\x00IdxGT\x00IdxLT\x00IdxGE\x00Or\x00And\x00RowSetRead\x00RowSetTest\x00Program\x00FkIfZero\x00IfPos\x00IsNull\x00NotNull\x00Ne\x00Eq\x00Gt\x00Le\x00Lt\x00Ge\x00ElseEq\x00IfNotZero\x00DecrJumpZero\x00IncrVacuum\x00VNext\x00Filter\x00Init\x00PureFunc\x00Function\x00Return\x00EndCoroutine\x00HaltIfNull\x00Halt\x00Integer\x00Int64\x00String\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\x00VInitIn\x00VColumn\x00VRename\x00Pagecount\x00MaxPgcnt\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\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\x00SQLite format 3\x00:memory:\x00@ \x00\n\x00invalid page number %d\x002nd reference to page %d\x00Failed to read ptrmap key=%d\x00Bad ptr map entry key=%d expected=(%d,%d) got=(%d,%d)\x00failed to get page %d\x00freelist leaf count too big on page %d\x00%s is %d but should be %d\x00size\x00overflow list length\x00Page %u: \x00unable to get the page. error code=%d\x00btreeInitPage() returns error code %d\x00free space corruption\x00On tree page %u cell %d: \x00On page %u at right child: \x00Offset %d out of range %d..%d\x00Extends off end of page\x00Rowid %lld out of order\x00Child page depth differs\x00Multiple uses for byte %u of page %u\x00Fragmentation of %d bytes reported as %d on page %u\x00Main freelist: \x00max rootpage (%d) disagrees with header (%d)\x00incremental_vacuum enabled with a max rootpage of zero\x00Page %d is never used\x00Pointer map page %d is referenced\x00unknown database %s\x00destination database is in use\x00source and destination must be distinct\x00%!.15g\x00-\x00%s%s\x00k(%d\x00B\x00,%s%s%s\x00N.\x00)\x00%.18s-%s\x00%s(%d)\x00%d\x00(blob)\x00vtab:%p\x00%c%u\x00]\x00program\x00?\x008\x0016LE\x0016BE\x00addr\x00opcode\x00p1\x00p2\x00p3\x00p4\x00p5\x00comment\x00id\x00parent\x00notused\x00detail\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\x00ValueList\x00bind on a busy prepared statement: [%s]\x00-- \x00'%.*q'\x00zeroblob(%d)\x00x'\x00%02x\x00'\x00%s constraint failed\x00%z: %s\x00abort at %d in [%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\x00cannot change %s wal mode from within a transaction\x00into\x00out of\x00database table is locked: %s\x00-- %s\x00statement aborts at %d: [%s] %s\x00NOT NULL\x00UNIQUE\x00CHECK\x00FOREIGN KEY\x00cannot open value of type %s\x00null\x00real\x00integer\x00no such rowid: %lld\x00cannot open virtual table: %s\x00cannot open table without rowid: %s\x00cannot open view: %s\x00no such column: \"%s\"\x00foreign key\x00indexed\x00cannot open %s column for writing\x00main\x00*\x00new\x00old\x00excluded\x00misuse of aliased aggregate %s\x00misuse of aliased window function %s\x00row value misused\x00double-quoted string literal: \"%w\"\x00no such column\x00ambiguous column name\x00%s: %s.%s.%s\x00%s: %s.%s\x00%s: %s\x00partial index WHERE clauses\x00index expressions\x00CHECK constraints\x00generated columns\x00%s prohibited in %s\x00true\x00false\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\x00a GROUP BY clause is required before HAVING\x00GROUP\x00aggregate functions are not allowed in the GROUP BY clause\x00Expression tree is too large (maximum depth %d)\x00IN(...) element has %d term%s - expected %d\x00s\x000\x00too many arguments on function %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\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\x00%sLIST SUBQUERY %d\x00CORRELATED \x00REUSE SUBQUERY %d\x00%sSCALAR SUBQUERY %d\x001\x000x\x00hex literal too big: %s%#T\x00generated column loop on \"%s\"\x00blob\x00text\x00numeric\x00none\x00misuse of aggregate: %#T()\x00unknown function: %#T()\x00RAISE() may only be used within a trigger-program\x00B\x00C\x00D\x00E\x00sqlite_\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') ELSE raise(ABORT,'NOT NULL constraint failed') END FROM pragma_quick_check(%Q,%Q) WHERE quick_check GLOB 'CHECK*' OR quick_check GLOB 'NULL*'\x00virtual tables may not be altered\x00Cannot add a column to a view\x00sqlite_altertab_%s\x00view\x00virtual table\x00cannot %s %s \"%s\"\x00drop column from\x00rename columns of\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')\x00error in %s %s%s%s: %s\x00 \x00CREATE \x00\"%w\" \x00%Q%s\x00%.*s%s\x00cannot drop %s column: \"%s\"\x00PRIMARY KEY\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\x00CREATE TABLE %Q.%s(%s)\x00DELETE FROM %Q.%s WHERE %s=%Q\x00DELETE FROM %Q.%s\x00sqlite_stat1\x00tbl,idx,stat\x00sqlite_stat4\x00tbl,idx,neq,nlt,ndlt,sample\x00sqlite_stat3\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\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\x00sqlite_temp_schema\x00sqlite_schema\x00sqlite_temp_master\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\x00sqlite_returning\x00cannot use RETURNING in a trigger\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'\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\x00unsupported use of NULLS %s\x00FIRST\x00LAST\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\x00CREATE%s INDEX %.*s\x00 UNIQUE\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\x00a JOIN clause is required before %s\x00ON\x00USING\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\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%!.20e\x00%Q\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\x00instr\x00printf\x00format\x00unicode\x00char\x00abs\x00round\x00upper\x00lower\x00hex\x00ifnull\x00random\x00randomblob\x00nullif\x00sqlite_version\x00sqlite_source_id\x00sqlite_log\x00quote\x00last_insert_rowid\x00changes\x00total_changes\x00replace\x00zeroblob\x00substr\x00substring\x00sum\x00total\x00avg\x00count\x00group_concat\x00glob\x00coalesce\x00ceil\x00ceiling\x00floor\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\x00foreign key mismatch - \"%w\" referencing \"%w\"\x00cannot INSERT into generated column \"%s\"\x00table %S has no column named %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\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]\x00so\x00automatic extension loading failed: %s\x00seq\x00from\x00to\x00on_update\x00on_delete\x00match\x00cid\x00name\x00type\x00notnull\x00dflt_value\x00pk\x00hidden\x00schema\x00ncol\x00wr\x00strict\x00seqno\x00desc\x00coll\x00key\x00builtin\x00enc\x00narg\x00flags\x00wdth\x00hght\x00flgs\x00unique\x00origin\x00partial\x00rowid\x00fkid\x00file\x00busy\x00checkpointed\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\x00onoffalseyestruextrafull\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\x00w\x00a\x00sissii\x00utf8\x00utf16le\x00utf16be\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\x00NULL value in %s.%s\x00non-%s value in %s.%s\x00CHECK constraint failed in %s\x00row \x00 missing from index \x00non-unique entry in index \x00wrong # of entries in index \x00ok\x00unsupported encoding: %s\x00restart\x00ANALYZE \"%w\".\"%w\"\x00UTF8\x00UTF-8\x00UTF-16le\x00UTF-16be\x00UTF16le\x00UTF16be\x00UTF-16\x00UTF16\x00CREATE TABLE x\x00%c\"%s\"\x00(\"%s\"\x00,arg HIDDEN\x00,schema HIDDEN\x00PRAGMA \x00%Q.\x00=%Q\x00error in %s %s after %s: %s\x00malformed database schema (%s)\x00%z - %s\x00rename\x00drop column\x00add column\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 or unsupported join type: %T %T%s%T\x00RIGHT and FULL OUTER JOINs are not currently supported\x00naturaleftouterightfullinnercross\x00a NATURAL join may not have an ON or USING clause\x00cannot have both ON and USING clauses in the same join\x00cannot join using column %s - column not present in both tables\x00UNION ALL\x00INTERSECT\x00EXCEPT\x00UNION\x00USE TEMP B-TREE FOR %s\x00column%d\x00%.*z:%u\x00cannot use window functions in recursive queries\x00recursive aggregate queries not supported\x00SETUP\x00RECURSIVE STEP\x00SCAN %d CONSTANT ROW%s\x00S\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\x00subquery_%u\x00too many references to \"%s\": max 65535\x00access to view \"%s\" prohibited\x00unsafe use of virtual table \"%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)\x00SCAN %s%s%s\x00 USING COVERING INDEX \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\x00RIGHT PART OF ORDER BY\x00ORDER 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\x00trigger %T already exists\x00cannot create trigger on system table\x00cannot create %s trigger on view: %S\x00BEFORE\x00AFTER\x00cannot create INSTEAD OF trigger on 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'\x00%s RETURNING is not available on virtual tables\x00DELETE\x00UPDATE\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\x00ATTACH %Q AS vacuum_db\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 vacuum_db.'||quote(name)||' SELECT*FROM\"%w\".'||quote(name)FROM vacuum_db.sqlite_schema WHERE type='table'AND coalesce(rootpage,1)>0\x00INSERT INTO vacuum_db.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\x00\x00 AND \x00(\x00 (\x00%s=?\x00ANY(%s)\x00>\x00<\x00%s %S\x00SEARCH\x00SCAN\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 %d:%s\x00BLOOM FILTER ON %S (\x00rowid=?\x00MULTI-INDEX OR\x00INDEX %d\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\x00second argument to nth_value must be a positive integer\x00argument of ntile must be a positive integer\x00row_number\x00dense_rank\x00rank\x00percent_rank\x00cume_dist\x00ntile\x00last_value\x00nth_value\x00first_value\x00lead\x00lag\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\x00%s clause should come after %s not before\x00LIMIT\x00too many terms in compound SELECT\x00syntax error after column name \"%.*s\"\x00parser stack overflow\x00unknown table option: %.*s\x00set list\x00near \"%T\": syntax error\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\x00unknown error\x00abort due to ROLLBACK\x00another row available\x00no more rows available\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\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\x00mode\x00no such %s mode: %s\x00%s mode not allowed: %s\x00no such vfs: %s\x00shared\x00private\x00ro\x00rw\x00rwc\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\x000123456789abcdef\x00JSON cannot hold BLOB values\x00malformed JSON\x00[0]\x00JSON path error near '%q'\x00json_%s() needs an odd number of arguments\x00$[\x00$.\x00json_object() requires an even number of arguments\x00json_object() labels must be TEXT\x00set\x00insert\x00[]\x00{}\x00CREATE TABLE x(key,value,type,atom,id,parent,fullkey,path,json HIDDEN,root HIDDEN)\x00[%d]\x00.%.*s\x00$\x00json\x00json_array\x00json_array_length\x00json_extract\x00->\x00->>\x00json_insert\x00json_object\x00json_patch\x00json_quote\x00json_remove\x00json_replace\x00json_set\x00json_type\x00json_valid\x00json_group_array\x00json_group_object\x00json_each\x00json_tree\x00%s_node\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\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\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\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\x00CREATE TABLE x(%.*s INT\x00,%.*s\x00);\x00,%.*s REAL\x00,%.*s INT\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\x00Mapping (%lld -> %lld) missing from %s table\x00%_rowid\x00%_parent\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\x00END\x00wrong number of arguments to function rtreecheck()\x00[\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\x00geopoly_area\x00geopoly_blob\x00geopoly_json\x00geopoly_svg\x00geopoly_contains_point\x00geopoly_debug\x00geopoly_bbox\x00geopoly_xform\x00geopoly_regular\x00geopoly_ccw\x00geopoly_group_bbox\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;\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\x00AND rootpage!=0 AND rootpage IS NOT NULL\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\x00table %q %s rbu_rowid column\x00may not have\x00requires\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%z%s\"%w\" %s %sCOLLATE %Q%s\x00 NOT NULL\x00%z, %z\x00CREATE TABLE \"rbu_imp_%w\"(%z)%s\x00 WITHOUT ROWID\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\x00SELECT %s, 0 AS rbu_control FROM '%q' %s %s %s ORDER BY %s%s\x00AND\x00WHERE\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_\x00INSERT INTO \"%s%w\"(%s%s) VALUES(%s)\x00, _rowid_\x00DELETE FROM \"%s%w\" WHERE %s\x00, rbu_rowid\x00CREATE TABLE IF NOT EXISTS %s.'rbu_tmp_%q' AS SELECT *%s FROM '%q' WHERE 0;\x00, 0 AS rbu_rowid\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\x00SELECT %s,%s rbu_control%s FROM '%q'%s %s %s %s\x000 AS \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\x00file:%s-vactmp?rbu_memory=1%s%s\x00&\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, %d), (%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\x00database modified during rbu %s\x00vacuum\x00update\x00BEGIN IMMEDIATE\x00PRAGMA journal_mode=off\x00-vactmp\x00DELETE FROM stat.rbu_state\x00rbu/zipvfs setup error\x00rbu(%s)/%z\x00rbu_memory\x00SELECT 0, 'tbl', '', 0, '', 1 UNION ALL SELECT 1, 'idx', '', 0, '', 2 UNION ALL SELECT 2, 'stat', '', 0, '', 0\x00PRAGMA '%q'.table_info('%q')\x00%z%s\"%w\".\"%w\".\"%w\"=\"%w\".\"%w\".\"%w\"\x00%z%s\"%w\".\"%w\".\"%w\" IS NOT \"%w\".\"%w\".\"%w\"\x00 OR \x00SELECT * FROM \"%w\".\"%w\" WHERE NOT EXISTS ( SELECT 1 FROM \"%w\".\"%w\" WHERE %s)\x00SELECT * FROM \"%w\".\"%w\", \"%w\".\"%w\" WHERE %s AND (%z)\x00table schemas do not match\x00SELECT tbl, ?2, stat FROM %Q.sqlite_stat1 WHERE tbl IS ?1 AND idx IS (CASE WHEN ?2=X'' THEN NULL ELSE ?2 END)\x00SELECT * FROM \x00 WHERE \x00 IS ?\x00SAVEPOINT changeset\x00RELEASE changeset\x00UPDATE main.\x00 SET \x00 = ?\x00idx IS CASE WHEN length(?4)=0 AND typeof(?4)='blob' THEN NULL ELSE ?4 END \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()\x00snippet\x00highlight\x00bm25\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\x00content_rowid\x00multiple content_rowid=... directives\x00columnsize\x00malformed columnsize=... directive\x00columns\x00malformed detail=... directive\x00unrecognized option: \"%.*s\"\x00reserved fts5 column name: %s\x00unindexed\x00unrecognized column option: %s\x00T.%Q\x00, T.%Q\x00, T.c%d\x00reserved fts5 table name: %s\x00parse error in \"%s\"\x00docsize\x00%Q.'%q_%s'\x00CREATE TABLE x(\x00%z%s%Q\x00%z, %Q HIDDEN, %s HIDDEN)\x00pgsz\x00hashsize\x00automerge\x00usermerge\x00crisismerge\x00SELECT k, v FROM %Q.'%q_config'\x00version\x00invalid fts5 file format (found %d, expected %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)\x00fts5: %s queries are not supported (detail!=full)\x00phrase\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=?\x00PRAGMA %Q.data_version\x00SELECT pgno FROM '%q'.'%q_idx' WHERE segid=? AND term<=? ORDER BY term DESC LIMIT 1\x00INSERT INTO '%q'.'%q_idx'(segid,term,pgno) VALUES(?,?,?)\x00%s_data\x00id INTEGER PRIMARY KEY, block BLOB\x00segid, term, pgno, PRIMARY KEY(segid, term)\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\x00SELECT rowid, rank FROM %Q.%Q ORDER BY %s(\"%w\"%s%s) %s\x00DESC\x00ASC\x00reads\x00unknown special query: %.*s\x00SELECT %s\x00no such function: %s\x00parse error in rank function: %s\x00%s: table does not support scanning\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\x00cannot %s contentless fts5 table: %s\x00DELETE from\x00no such cursor: %lld\x00no such tokenizer: %s\x00error in tokenizer constructor\x00fts5_api_ptr\x00fts5: 2022-03-26 13:51:10 d33c709cc0af66bc5b6dc6216eba9f1f0b40960b9ae83694c986fbf4c1d6f08f\x00config\x00fts5\x00fts5_source_id\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(?,?)\x00DELETE FROM %Q.'%q_docsize' WHERE id=?\x00SELECT sz FROM %Q.'%q_docsize' WHERE id=?\x00REPLACE INTO %Q.'%q_config' VALUES(?,?)\x00SELECT %s FROM %s AS T\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\x00id INTEGER PRIMARY KEY, sz BLOB\x00k PRIMARY KEY, v\x00DELETE FROM %Q.'%q_data';DELETE FROM %Q.'%q_idx';\x00DELETE FROM %Q.'%q_docsize';\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\x00ascii\x00porter\x00trigram\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\x002022-03-26 13:51:10 d33c709cc0af66bc5b6dc6216eba9f1f0b40960b9ae83694c986fbf4c1d6f08f\x00" var ts = (*reflect.StringHeader)(unsafe.Pointer(&ts1)).Data diff --git a/vendor/modernc.org/sqlite/lib/sqlite_linux_amd64.go b/vendor/modernc.org/sqlite/lib/sqlite_linux_amd64.go index f718e367..286ba180 100644 --- a/vendor/modernc.org/sqlite/lib/sqlite_linux_amd64.go +++ b/vendor/modernc.org/sqlite/lib/sqlite_linux_amd64.go @@ -1,4 +1,4 @@ -// Code generated by 'ccgo -DSQLITE_PRIVATE= -export-defines "" -export-enums "" -export-externs X -export-fields F -export-typedefs "" -ignore-unsupported-alignment -pkgname sqlite3 -o lib/sqlite_linux_amd64.go -trace-translation-units testdata/sqlite-amalgamation-3380100/sqlite3.c -DNDEBUG -DHAVE_USLEEP -DLONGDOUBLE_TYPE=double -DSQLITE_CORE -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_GEOPOLY -DSQLITE_ENABLE_MATH_FUNCTIONS -DSQLITE_ENABLE_MEMORY_MANAGEMENT -DSQLITE_ENABLE_OFFSET_SQL_FUNC -DSQLITE_ENABLE_PREUPDATE_HOOK -DSQLITE_ENABLE_RBU -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_SESSION -DSQLITE_ENABLE_SNAPSHOT -DSQLITE_ENABLE_STAT4 -DSQLITE_ENABLE_UNLOCK_NOTIFY -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_MUTEX_APPDEF=1 -DSQLITE_MUTEX_NOOP -DSQLITE_SOUNDEX -DSQLITE_THREADSAFE=1 -DSQLITE_OS_UNIX=1', DO NOT EDIT. +// Code generated by 'ccgo -DSQLITE_PRIVATE= -export-defines "" -export-enums "" -export-externs X -export-fields F -export-typedefs "" -ignore-unsupported-alignment -pkgname sqlite3 -o lib/sqlite_linux_amd64.go -trace-translation-units testdata/sqlite-amalgamation-3380200/sqlite3.c -DNDEBUG -DHAVE_USLEEP -DLONGDOUBLE_TYPE=double -DSQLITE_CORE -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_GEOPOLY -DSQLITE_ENABLE_MATH_FUNCTIONS -DSQLITE_ENABLE_MEMORY_MANAGEMENT -DSQLITE_ENABLE_OFFSET_SQL_FUNC -DSQLITE_ENABLE_PREUPDATE_HOOK -DSQLITE_ENABLE_RBU -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_SESSION -DSQLITE_ENABLE_SNAPSHOT -DSQLITE_ENABLE_STAT4 -DSQLITE_ENABLE_UNLOCK_NOTIFY -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_MUTEX_APPDEF=1 -DSQLITE_MUTEX_NOOP -DSQLITE_SOUNDEX -DSQLITE_THREADSAFE=1 -DSQLITE_OS_UNIX=1', DO NOT EDIT. package sqlite3 @@ -2142,7 +2142,7 @@ const ( SQLITE_SHM_UNLOCK = 1 SQLITE_SORTER_PMASZ = 250 SQLITE_SOUNDEX = 1 - SQLITE_SOURCE_ID = "2022-03-12 13:37:29 38c210fdd258658321c85ec9c01a072fda3ada94540e3239d29b34dc547a8cbc" + SQLITE_SOURCE_ID = "2022-03-26 13:51:10 d33c709cc0af66bc5b6dc6216eba9f1f0b40960b9ae83694c986fbf4c1d6f08f" SQLITE_SO_ASC = 0 SQLITE_SO_DESC = 1 SQLITE_SO_UNDEFINED = -1 @@ -2250,8 +2250,8 @@ const ( SQLITE_UTF8 = 1 SQLITE_VDBEINT_H = 0 SQLITE_VDBE_H = 0 - SQLITE_VERSION = "3.38.1" - SQLITE_VERSION_NUMBER = 3038001 + SQLITE_VERSION = "3.38.2" + SQLITE_VERSION_NUMBER = 3038002 SQLITE_VTABRISK_High = 2 SQLITE_VTABRISK_Low = 0 SQLITE_VTABRISK_Normal = 1 @@ -3737,7 +3737,7 @@ type X__float128 = float64 /* :47:21 */ // ***************************************************************************** // // This file is an amalgamation of many separate C source files from SQLite -// version 3.38.1. By combining all the individual C code files into this +// version 3.38.2. By combining all the individual C code files into this // single large file, the entire code can be compiled as a single translation // unit. This allows many compilers to do optimizations that would not be // possible if the files were compiled separately. Performance improvements @@ -26131,12 +26131,22 @@ var pgsz int32 = 4096 /* sqlite3.c:39581:28 */ // to shared and back or from unlocked to exclusive and back. But one may // not go from shared to exclusive or from exclusive to shared. func unixShmLock(tls *libc.TLS, fd uintptr, ofst int32, n int32, flags int32) int32 { /* sqlite3.c:39687:12: */ - var pDbFd uintptr = fd // Connection holding shared memory - var p uintptr = (*UnixFile)(unsafe.Pointer(pDbFd)).FpShm // The shared memory being locked - var pShmNode uintptr = (*UnixShm)(unsafe.Pointer(p)).FpShmNode // The underlying file iNode - var rc int32 = SQLITE_OK // Result code - var mask U16 // Mask of locks to take or release - var aLock uintptr = pShmNode + 64 /* &.aLock */ + var pDbFd uintptr = fd // Connection holding shared memory + var p uintptr // The shared memory being locked + var pShmNode uintptr // The underlying file iNode + var rc int32 = SQLITE_OK // Result code + var mask U16 // Mask of locks to take or release + var aLock uintptr + + p = (*UnixFile)(unsafe.Pointer(pDbFd)).FpShm + if p == uintptr(0) { + return SQLITE_IOERR | int32(20)<<8 + } + pShmNode = (*UnixShm)(unsafe.Pointer(p)).FpShmNode + if pShmNode == uintptr(0) { + return SQLITE_IOERR | int32(20)<<8 + } + aLock = pShmNode + 64 /* &.aLock */ // Check that, if this to be a blocking lock, no locks that occur later // in the following list than the lock being obtained are already held: @@ -26237,7 +26247,7 @@ func unixShmLock(tls *libc.TLS, fd uintptr, ofst int32, n int32, flags int32) in // // All loads and stores begun before the barrier must complete before // any load or store begun after the barrier. -func unixShmBarrier(tls *libc.TLS, fd uintptr) { /* sqlite3.c:39819:13: */ +func unixShmBarrier(tls *libc.TLS, fd uintptr) { /* sqlite3.c:39825:13: */ _ = fd // compiler-defined memory barrier @@ -26250,7 +26260,7 @@ func unixShmBarrier(tls *libc.TLS, fd uintptr) { /* sqlite3.c:39819:13: */ // // If there is no shared memory associated with the connection then this // routine is a harmless no-op. -func unixShmUnmap(tls *libc.TLS, fd uintptr, deleteFlag int32) int32 { /* sqlite3.c:39838:12: */ +func unixShmUnmap(tls *libc.TLS, fd uintptr, deleteFlag int32) int32 { /* sqlite3.c:39844:12: */ var p uintptr // The connection to be closed var pShmNode uintptr // The underlying shared-memory file var pp uintptr // For looping over sibling connections @@ -26293,7 +26303,7 @@ func unixShmUnmap(tls *libc.TLS, fd uintptr, deleteFlag int32) int32 { /* sqlite } // If it is currently memory mapped, unmap file pFd. -func unixUnmapfile(tls *libc.TLS, pFd uintptr) { /* sqlite3.c:39895:13: */ +func unixUnmapfile(tls *libc.TLS, pFd uintptr) { /* sqlite3.c:39901:13: */ if (*UnixFile)(unsafe.Pointer(pFd)).FpMapRegion != 0 { (*(*func(*libc.TLS, uintptr, Size_t) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 23*24 + 8)))(tls, (*UnixFile)(unsafe.Pointer(pFd)).FpMapRegion, uint64((*UnixFile)(unsafe.Pointer(pFd)).FmmapSizeActual)) @@ -26316,7 +26326,7 @@ func unixUnmapfile(tls *libc.TLS, pFd uintptr) { /* sqlite3.c:39895:13: */ // the three variables above are zeroed. In this case SQLite should // continue accessing the database using the xRead() and xWrite() // methods. -func unixRemapfile(tls *libc.TLS, pFd uintptr, nNew I64) { /* sqlite3.c:39920:13: */ +func unixRemapfile(tls *libc.TLS, pFd uintptr, nNew I64) { /* sqlite3.c:39926:13: */ var zErr uintptr = ts + 3370 /* "mmap" */ var h int32 = (*UnixFile)(unsafe.Pointer(pFd)).Fh // File descriptor open on db file var pOrig uintptr = (*UnixFile)(unsafe.Pointer(pFd)).FpMapRegion // Pointer to current file mapping @@ -26350,7 +26360,7 @@ func unixRemapfile(tls *libc.TLS, pFd uintptr, nNew I64) { /* sqlite3.c:39920:13 if pNew == libc.UintptrFromInt32(-1) { pNew = uintptr(0) nNew = int64(0) - unixLogErrorAtLine(tls, SQLITE_OK, zErr, (*UnixFile)(unsafe.Pointer(pFd)).FzPath, 39985) + unixLogErrorAtLine(tls, SQLITE_OK, zErr, (*UnixFile)(unsafe.Pointer(pFd)).FzPath, 39991) // If the mmap() above failed, assume that all subsequent mmap() calls // will probably fail too. Fall back to using xRead/xWrite exclusively @@ -26375,7 +26385,7 @@ func unixRemapfile(tls *libc.TLS, pFd uintptr, nNew I64) { /* sqlite3.c:39920:13 // SQLITE_OK is returned if no error occurs (even if the mapping is not // recreated as a result of outstanding references) or an SQLite error // code otherwise. -func unixMapfile(tls *libc.TLS, pFd uintptr, nMap I64) int32 { /* sqlite3.c:40012:12: */ +func unixMapfile(tls *libc.TLS, pFd uintptr, nMap I64) int32 { /* sqlite3.c:40018:12: */ bp := tls.Alloc(144) defer tls.Free(144) @@ -26412,7 +26422,7 @@ func unixMapfile(tls *libc.TLS, pFd uintptr, nMap I64) int32 { /* sqlite3.c:4001 // // If this function does return a pointer, the caller must eventually // release the reference by calling unixUnfetch(). -func unixFetch(tls *libc.TLS, fd uintptr, iOff I64, nAmt int32, pp uintptr) int32 { /* sqlite3.c:40049:12: */ +func unixFetch(tls *libc.TLS, fd uintptr, iOff I64, nAmt int32, pp uintptr) int32 { /* sqlite3.c:40055:12: */ var pFd uintptr = fd // The underlying database file *(*uintptr)(unsafe.Pointer(pp)) = uintptr(0) @@ -26439,7 +26449,7 @@ func unixFetch(tls *libc.TLS, fd uintptr, iOff I64, nAmt int32, pp uintptr) int3 // Or, if the third argument is NULL, then this function is being called // to inform the VFS layer that, according to POSIX, any existing mapping // may now be invalid and should be unmapped. -func unixUnfetch(tls *libc.TLS, fd uintptr, iOff I64, p uintptr) int32 { /* sqlite3.c:40080:12: */ +func unixUnfetch(tls *libc.TLS, fd uintptr, iOff I64, p uintptr) int32 { /* sqlite3.c:40086:12: */ var pFd uintptr = fd // The underlying database file _ = iOff @@ -26500,33 +26510,33 @@ func unixUnfetch(tls *libc.TLS, fd uintptr, iOff I64, p uintptr) int32 { /* sqli // Here are all of the sqlite3_io_methods objects for each of the // locking strategies. Functions that return pointers to these methods // are also created. -var posixIoMethods = Sqlite3_io_methods{FiVersion: 3 /* iVersion */, FxClose: 0 /* xClose */, FxRead: 0 /* xRead */, FxWrite: 0 /* xWrite */, FxTruncate: 0 /* xTruncate */, FxSync: 0 /* xSync */, FxFileSize: 0 /* xFileSize */, FxLock: 0 /* xLock */, FxUnlock: 0 /* xUnlock */, FxCheckReservedLock: 0 /* xCheckReservedLock */, FxFileControl: 0 /* xFileControl */, FxSectorSize: 0 /* xSectorSize */, FxDeviceCharacteristics: 0 /* xDeviceCapabilities */, FxShmMap: 0 /* xShmMap */, FxShmLock: 0 /* xShmLock */, FxShmBarrier: 0 /* xShmBarrier */, FxShmUnmap: 0 /* xShmUnmap */, FxFetch: 0 /* xFetch */, FxUnfetch: 0 /* xUnfetch */} /* sqlite3.c:40182:1 */ +var posixIoMethods = Sqlite3_io_methods{FiVersion: 3 /* iVersion */, FxClose: 0 /* xClose */, FxRead: 0 /* xRead */, FxWrite: 0 /* xWrite */, FxTruncate: 0 /* xTruncate */, FxSync: 0 /* xSync */, FxFileSize: 0 /* xFileSize */, FxLock: 0 /* xLock */, FxUnlock: 0 /* xUnlock */, FxCheckReservedLock: 0 /* xCheckReservedLock */, FxFileControl: 0 /* xFileControl */, FxSectorSize: 0 /* xSectorSize */, FxDeviceCharacteristics: 0 /* xDeviceCapabilities */, FxShmMap: 0 /* xShmMap */, FxShmLock: 0 /* xShmLock */, FxShmBarrier: 0 /* xShmBarrier */, FxShmUnmap: 0 /* xShmUnmap */, FxFetch: 0 /* xFetch */, FxUnfetch: 0 /* xUnfetch */} /* sqlite3.c:40188:1 */ -func posixIoFinderImpl(tls *libc.TLS, z uintptr, p uintptr) uintptr { /* sqlite3.c:40182:1: */ +func posixIoFinderImpl(tls *libc.TLS, z uintptr, p uintptr) uintptr { /* sqlite3.c:40188:1: */ _ = z _ = p return uintptr(unsafe.Pointer(&posixIoMethods)) } -var posixIoFinder uintptr = 0 /* sqlite3.c:40182:1 */ -var nolockIoMethods = Sqlite3_io_methods{FiVersion: 3 /* iVersion */, FxClose: 0 /* xClose */, FxRead: 0 /* xRead */, FxWrite: 0 /* xWrite */, FxTruncate: 0 /* xTruncate */, FxSync: 0 /* xSync */, FxFileSize: 0 /* xFileSize */, FxLock: 0 /* xLock */, FxUnlock: 0 /* xUnlock */, FxCheckReservedLock: 0 /* xCheckReservedLock */, FxFileControl: 0 /* xFileControl */, FxSectorSize: 0 /* xSectorSize */, FxDeviceCharacteristics: 0 /* xShmMap */, FxShmLock: 0 /* xShmLock */, FxShmBarrier: 0 /* xShmBarrier */, FxShmUnmap: 0 /* xShmUnmap */, FxFetch: 0 /* xFetch */, FxUnfetch: 0 /* xUnfetch */} /* sqlite3.c:40192:1 */ +var posixIoFinder uintptr = 0 /* sqlite3.c:40188:1 */ +var nolockIoMethods = Sqlite3_io_methods{FiVersion: 3 /* iVersion */, FxClose: 0 /* xClose */, FxRead: 0 /* xRead */, FxWrite: 0 /* xWrite */, FxTruncate: 0 /* xTruncate */, FxSync: 0 /* xSync */, FxFileSize: 0 /* xFileSize */, FxLock: 0 /* xLock */, FxUnlock: 0 /* xUnlock */, FxCheckReservedLock: 0 /* xCheckReservedLock */, FxFileControl: 0 /* xFileControl */, FxSectorSize: 0 /* xSectorSize */, FxDeviceCharacteristics: 0 /* xShmMap */, FxShmLock: 0 /* xShmLock */, FxShmBarrier: 0 /* xShmBarrier */, FxShmUnmap: 0 /* xShmUnmap */, FxFetch: 0 /* xFetch */, FxUnfetch: 0 /* xUnfetch */} /* sqlite3.c:40198:1 */ -func nolockIoFinderImpl(tls *libc.TLS, z uintptr, p uintptr) uintptr { /* sqlite3.c:40192:1: */ +func nolockIoFinderImpl(tls *libc.TLS, z uintptr, p uintptr) uintptr { /* sqlite3.c:40198:1: */ _ = z _ = p return uintptr(unsafe.Pointer(&nolockIoMethods)) } -var nolockIoFinder uintptr = 0 /* sqlite3.c:40192:1 */ -var dotlockIoMethods = Sqlite3_io_methods{FiVersion: 1 /* iVersion */, FxClose: 0 /* xClose */, FxRead: 0 /* xRead */, FxWrite: 0 /* xWrite */, FxTruncate: 0 /* xTruncate */, FxSync: 0 /* xSync */, FxFileSize: 0 /* xFileSize */, FxLock: 0 /* xLock */, FxUnlock: 0 /* xUnlock */, FxCheckReservedLock: 0 /* xCheckReservedLock */, FxFileControl: 0 /* xFileControl */, FxSectorSize: 0 /* xSectorSize */, FxDeviceCharacteristics: 0 /* xShmMap */, FxShmLock: 0 /* xShmLock */, FxShmBarrier: 0 /* xShmBarrier */, FxShmUnmap: 0 /* xShmUnmap */, FxFetch: 0 /* xFetch */, FxUnfetch: 0 /* xUnfetch */} /* sqlite3.c:40202:1 */ +var nolockIoFinder uintptr = 0 /* sqlite3.c:40198:1 */ +var dotlockIoMethods = Sqlite3_io_methods{FiVersion: 1 /* iVersion */, FxClose: 0 /* xClose */, FxRead: 0 /* xRead */, FxWrite: 0 /* xWrite */, FxTruncate: 0 /* xTruncate */, FxSync: 0 /* xSync */, FxFileSize: 0 /* xFileSize */, FxLock: 0 /* xLock */, FxUnlock: 0 /* xUnlock */, FxCheckReservedLock: 0 /* xCheckReservedLock */, FxFileControl: 0 /* xFileControl */, FxSectorSize: 0 /* xSectorSize */, FxDeviceCharacteristics: 0 /* xShmMap */, FxShmLock: 0 /* xShmLock */, FxShmBarrier: 0 /* xShmBarrier */, FxShmUnmap: 0 /* xShmUnmap */, FxFetch: 0 /* xFetch */, FxUnfetch: 0 /* xUnfetch */} /* sqlite3.c:40208:1 */ -func dotlockIoFinderImpl(tls *libc.TLS, z uintptr, p uintptr) uintptr { /* sqlite3.c:40202:1: */ +func dotlockIoFinderImpl(tls *libc.TLS, z uintptr, p uintptr) uintptr { /* sqlite3.c:40208:1: */ _ = z _ = p return uintptr(unsafe.Pointer(&dotlockIoMethods)) } -var dotlockIoFinder uintptr = 0 /* sqlite3.c:40202:1 */ +var dotlockIoFinder uintptr = 0 /* sqlite3.c:40208:1 */ // The proxy locking method is a "super-method" in the sense that it // opens secondary file descriptors for the conch and lock files and @@ -26539,7 +26549,7 @@ var dotlockIoFinder uintptr = 0 /* sqlite3.c:40202:1 */ // nfs lockd on OSX 10.3+ doesn't clear write locks when a read lock is set // An abstract type for a pointer to an IO method finder function: -type Finder_type = uintptr /* sqlite3.c:40397:34 */ +type Finder_type = uintptr /* sqlite3.c:40403:34 */ // *************************************************************************** // @@ -26549,7 +26559,7 @@ type Finder_type = uintptr /* sqlite3.c:40397:34 */ // sqlite3_vfs object. // Initialize the contents of the unixFile structure pointed to by pId. -func fillInUnixFile(tls *libc.TLS, pVfs uintptr, h int32, pId uintptr, zFilename uintptr, ctrlFlags int32) int32 { /* sqlite3.c:40410:12: */ +func fillInUnixFile(tls *libc.TLS, pVfs uintptr, h int32, pId uintptr, zFilename uintptr, ctrlFlags int32) int32 { /* sqlite3.c:40416:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -26606,7 +26616,7 @@ func fillInUnixFile(tls *libc.TLS, pVfs uintptr, h int32, pId uintptr, zFilename // If scenario (a) caused the error then things are not so safe. The // implicit assumption here is that if fstat() fails, things are in // such bad shape that dropping a lock or two doesn't matter much. - robust_close(tls, pNew, h, 40488) + robust_close(tls, pNew, h, 40494) h = -1 } unixLeaveMutex(tls) @@ -26629,7 +26639,7 @@ func fillInUnixFile(tls *libc.TLS, pVfs uintptr, h int32, pId uintptr, zFilename storeLastErrno(tls, pNew, 0) if rc != SQLITE_OK { if h >= 0 { - robust_close(tls, pNew, h, 40573) + robust_close(tls, pNew, h, 40579) } } else { (*Sqlite3_file)(unsafe.Pointer(pId)).FpMethods = pLockingStyle @@ -26647,17 +26657,17 @@ var azTempDirs = [6]uintptr{ ts + 3680, ts + 3689, ts + 1547, -} /* sqlite3.c:40585:19 */ +} /* sqlite3.c:40591:19 */ // Initialize first two members of azTempDirs[] array. -func unixTempFileInit(tls *libc.TLS) { /* sqlite3.c:40597:13: */ +func unixTempFileInit(tls *libc.TLS) { /* sqlite3.c:40603:13: */ azTempDirs[0] = libc.Xgetenv(tls, ts+3694) azTempDirs[1] = libc.Xgetenv(tls, ts+3708) } // Return the name of a directory in which to put temporary files. // If no suitable temporary file directory can be found, return NULL. -func unixTempFileDir(tls *libc.TLS) uintptr { /* sqlite3.c:40606:19: */ +func unixTempFileDir(tls *libc.TLS) uintptr { /* sqlite3.c:40612:19: */ bp := tls.Alloc(144) defer tls.Free(144) @@ -26684,7 +26694,7 @@ func unixTempFileDir(tls *libc.TLS) uintptr { /* sqlite3.c:40606:19: */ // Create a temporary file name in zBuf. zBuf must be allocated // by the calling process and must be big enough to hold at least // pVfs->mxPathname bytes. -func unixGetTempname(tls *libc.TLS, nBuf int32, zBuf uintptr) int32 { /* sqlite3.c:40630:12: */ +func unixGetTempname(tls *libc.TLS, nBuf int32, zBuf uintptr) int32 { /* sqlite3.c:40636:12: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -26728,7 +26738,7 @@ func unixGetTempname(tls *libc.TLS, nBuf int32, zBuf uintptr) int32 { /* sqlite3 // // If a suitable file descriptor is found, then it is returned. If no // such file descriptor is located, -1 is returned. -func findReusableFd(tls *libc.TLS, zPath uintptr, flags int32) uintptr { /* sqlite3.c:40680:21: */ +func findReusableFd(tls *libc.TLS, zPath uintptr, flags int32) uintptr { /* sqlite3.c:40686:21: */ bp := tls.Alloc(144) defer tls.Free(144) @@ -26779,7 +26789,7 @@ func findReusableFd(tls *libc.TLS, zPath uintptr, flags int32) uintptr { /* sqli } // Find the mode, uid and gid of file zFile. -func getFileMode(tls *libc.TLS, zFile uintptr, pMode uintptr, pUid uintptr, pGid uintptr) int32 { /* sqlite3.c:40730:12: */ +func getFileMode(tls *libc.TLS, zFile uintptr, pMode uintptr, pUid uintptr, pGid uintptr) int32 { /* sqlite3.c:40736:12: */ bp := tls.Alloc(144) defer tls.Free(144) @@ -26815,7 +26825,7 @@ func getFileMode(tls *libc.TLS, zFile uintptr, pMode uintptr, pUid uintptr, pGid // original filename is unavailable. But 8_3_NAMES is only used for // FAT filesystems and permissions do not matter there, so just use // the default permissions. In 8_3_NAMES mode, leave *pMode set to zero. -func findCreateFileMode(tls *libc.TLS, zPath uintptr, flags int32, pMode uintptr, pUid uintptr, pGid uintptr) int32 { /* sqlite3.c:40769:12: */ +func findCreateFileMode(tls *libc.TLS, zPath uintptr, flags int32, pMode uintptr, pUid uintptr, pGid uintptr) int32 { /* sqlite3.c:40775:12: */ bp := tls.Alloc(513) defer tls.Free(513) @@ -26889,7 +26899,7 @@ func findCreateFileMode(tls *libc.TLS, zPath uintptr, flags int32, pMode uintptr // file handle closed. To achieve the same effect using this new // interface, add the DELETEONCLOSE flag to those specified above for // OpenExclusive(). -func unixOpen(tls *libc.TLS, pVfs uintptr, zPath uintptr, pFile uintptr, flags int32, pOutFlags uintptr) int32 { /* sqlite3.c:40846:12: */ +func unixOpen(tls *libc.TLS, pVfs uintptr, zPath uintptr, pFile uintptr, flags int32, pOutFlags uintptr) int32 { /* sqlite3.c:40852:12: */ bp := tls.Alloc(528) defer tls.Free(528) @@ -27087,7 +27097,7 @@ __15: if !(fd < 0) { goto __19 } - rc2 = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 41002), ts+3212, zName, 41002) + rc2 = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 41008), ts+3212, zName, 41008) if !(rc == SQLITE_OK) { goto __20 } @@ -27187,7 +27197,7 @@ __30: // Delete the file at zPath. If the dirSync argument is true, fsync() // the directory after deleting the file. -func unixDelete(tls *libc.TLS, NotUsed uintptr, zPath uintptr, dirSync int32) int32 { /* sqlite3.c:41125:12: */ +func unixDelete(tls *libc.TLS, NotUsed uintptr, zPath uintptr, dirSync int32) int32 { /* sqlite3.c:41131:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -27198,7 +27208,7 @@ func unixDelete(tls *libc.TLS, NotUsed uintptr, zPath uintptr, dirSync int32) in if *(*int32)(unsafe.Pointer(libc.X__errno_location(tls))) == ENOENT { rc = SQLITE_IOERR | int32(23)<<8 } else { - rc = unixLogErrorAtLine(tls, SQLITE_IOERR|int32(10)<<8, ts+3322, zPath, 41141) + rc = unixLogErrorAtLine(tls, SQLITE_IOERR|int32(10)<<8, ts+3322, zPath, 41147) } return rc } @@ -27208,9 +27218,9 @@ func unixDelete(tls *libc.TLS, NotUsed uintptr, zPath uintptr, dirSync int32) in rc = (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 17*24 + 8)))(tls, zPath, bp) if rc == SQLITE_OK { if full_fsync(tls, *(*int32)(unsafe.Pointer(bp)), 0, 0) != 0 { - rc = unixLogErrorAtLine(tls, SQLITE_IOERR|int32(5)<<8, ts+3739, zPath, 41151) + rc = unixLogErrorAtLine(tls, SQLITE_IOERR|int32(5)<<8, ts+3739, zPath, 41157) } - robust_close(tls, uintptr(0), *(*int32)(unsafe.Pointer(bp /* fd */)), 41153) + robust_close(tls, uintptr(0), *(*int32)(unsafe.Pointer(bp /* fd */)), 41159) } else { rc = SQLITE_OK @@ -27227,7 +27237,7 @@ func unixDelete(tls *libc.TLS, NotUsed uintptr, zPath uintptr, dirSync int32) in // SQLITE_ACCESS_READONLY: Return 1 if the file is readable. // // Otherwise return 0. -func unixAccess(tls *libc.TLS, NotUsed uintptr, zPath uintptr, flags int32, pResOut uintptr) int32 { /* sqlite3.c:41173:12: */ +func unixAccess(tls *libc.TLS, NotUsed uintptr, zPath uintptr, flags int32, pResOut uintptr) int32 { /* sqlite3.c:41179:12: */ bp := tls.Alloc(144) defer tls.Free(144) @@ -27249,7 +27259,7 @@ func unixAccess(tls *libc.TLS, NotUsed uintptr, zPath uintptr, flags int32, pRes // If the last component of the pathname in z[0]..z[j-1] is something // other than ".." then back it out and return true. If the last // component is empty or if it is ".." then return false. -func unixBackupDir(tls *libc.TLS, z uintptr, pJ uintptr) int32 { /* sqlite3.c:41202:12: */ +func unixBackupDir(tls *libc.TLS, z uintptr, pJ uintptr) int32 { /* sqlite3.c:41208:12: */ var j int32 = *(*int32)(unsafe.Pointer(pJ)) var i int32 if j <= 0 { @@ -27272,7 +27282,7 @@ func unixBackupDir(tls *libc.TLS, z uintptr, pJ uintptr) int32 { /* sqlite3.c:41 // // Remove all instances of /./ // Remove all isntances of /X/../ for any X -func mkFullPathname(tls *libc.TLS, zPath uintptr, zOut uintptr, nOut int32) int32 { /* sqlite3.c:41220:12: */ +func mkFullPathname(tls *libc.TLS, zPath uintptr, zOut uintptr, nOut int32) int32 { /* sqlite3.c:41226:12: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -27283,7 +27293,7 @@ func mkFullPathname(tls *libc.TLS, zPath uintptr, zOut uintptr, nOut int32) int3 if int32(*(*int8)(unsafe.Pointer(zPath))) != '/' { if (*(*func(*libc.TLS, uintptr, Size_t) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 3*24 + 8)))(tls, zOut, uint64(nOut-2)) == uintptr(0) { - return unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 41230), ts+3230, zPath, 41230) + return unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 41236), ts+3230, zPath, 41236) } iOff = Xsqlite3Strlen30(tls, zOut) *(*int8)(unsafe.Pointer(zOut + uintptr(libc.PostIncInt32(&iOff, 1)))) = int8('/') @@ -27292,7 +27302,7 @@ func mkFullPathname(tls *libc.TLS, zPath uintptr, zOut uintptr, nOut int32) int3 // SQLite assumes that xFullPathname() nul-terminates the output buffer // even if it returns an error. *(*int8)(unsafe.Pointer(zOut + uintptr(iOff))) = int8(0) - return Xsqlite3CantopenError(tls, 41239) + return Xsqlite3CantopenError(tls, 41245) } Xsqlite3_snprintf(tls, nOut-iOff, zOut+uintptr(iOff), ts+3614, libc.VaList(bp, zPath)) @@ -27343,7 +27353,7 @@ func mkFullPathname(tls *libc.TLS, zPath uintptr, zOut uintptr, nOut int32) int3 // zOut points to a buffer of at least sqlite3_vfs.mxPathname bytes // (in this case, MAX_PATHNAME bytes). The full-path is written to // this buffer before returning. -func unixFullPathname(tls *libc.TLS, pVfs uintptr, zPath uintptr, nOut int32, zOut uintptr) int32 { /* sqlite3.c:41289:12: */ +func unixFullPathname(tls *libc.TLS, pVfs uintptr, zPath uintptr, nOut int32, zOut uintptr) int32 { /* sqlite3.c:41295:12: */ bp := tls.Alloc(144) defer tls.Free(144) @@ -27369,7 +27379,7 @@ func unixFullPathname(tls *libc.TLS, pVfs uintptr, zPath uintptr, nOut int32, zO if (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 27*24 + 8)))(tls, zIn, bp) != 0 { if *(*int32)(unsafe.Pointer(libc.X__errno_location(tls))) != ENOENT { - rc = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 41322), ts+3410, zIn, 41322) + rc = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 41328), ts+3410, zIn, 41328) } } else { bLink = libc.Bool32((*stat)(unsafe.Pointer(bp)).Fst_mode&X__mode_t(0170000) == X__mode_t(0120000)) @@ -27383,20 +27393,20 @@ func unixFullPathname(tls *libc.TLS, pVfs uintptr, zPath uintptr, nOut int32, zO rc = SQLITE_NOMEM } } else if nLink >= SQLITE_MAX_SYMLINKS { - rc = Xsqlite3CantopenError(tls, 41334) + rc = Xsqlite3CantopenError(tls, 41340) } if rc == SQLITE_OK { nByte = int32((*(*func(*libc.TLS, uintptr, uintptr, Size_t) Ssize_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 26*24 + 8)))(tls, zIn, zDel, uint64(nOut-1))) if nByte < 0 { - rc = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 41340), ts+3401, zIn, 41340) + rc = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 41346), ts+3401, zIn, 41346) } else { if int32(*(*int8)(unsafe.Pointer(zDel))) != '/' { var n int32 for n = Xsqlite3Strlen30(tls, zIn); n > 0 && int32(*(*int8)(unsafe.Pointer(zIn + uintptr(n-1)))) != '/'; n-- { } if nByte+n+1 > nOut { - rc = Xsqlite3CantopenError(tls, 41346) + rc = Xsqlite3CantopenError(tls, 41352) } else { libc.Xmemmove(tls, zDel+uintptr(n), zDel, uint64(nByte+1)) libc.Xmemcpy(tls, zDel, zIn, uint64(n)) @@ -27468,7 +27478,7 @@ type Dl_serinfo = struct { } } /* dlfcn.h:196:3 */ -func unixDlOpen(tls *libc.TLS, NotUsed uintptr, zFilename uintptr) uintptr { /* sqlite3.c:41381:13: */ +func unixDlOpen(tls *libc.TLS, NotUsed uintptr, zFilename uintptr) uintptr { /* sqlite3.c:41387:13: */ _ = NotUsed return libc.Xdlopen(tls, zFilename, RTLD_NOW|RTLD_GLOBAL) } @@ -27478,7 +27488,7 @@ func unixDlOpen(tls *libc.TLS, NotUsed uintptr, zFilename uintptr) uintptr { /* // message is available, it is written to zBufOut. If no error message // is available, zBufOut is left unmodified and SQLite uses a default // error message. -func unixDlError(tls *libc.TLS, NotUsed uintptr, nBuf int32, zBufOut uintptr) { /* sqlite3.c:41393:13: */ +func unixDlError(tls *libc.TLS, NotUsed uintptr, nBuf int32, zBufOut uintptr) { /* sqlite3.c:41399:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -27492,7 +27502,7 @@ func unixDlError(tls *libc.TLS, NotUsed uintptr, nBuf int32, zBufOut uintptr) { unixLeaveMutex(tls) } -func unixDlSym(tls *libc.TLS, NotUsed uintptr, p uintptr, zSym uintptr) uintptr { /* sqlite3.c:41403:13: */ +func unixDlSym(tls *libc.TLS, NotUsed uintptr, p uintptr, zSym uintptr) uintptr { /* sqlite3.c:41409:13: */ // GCC with -pedantic-errors says that C90 does not allow a void* to be // cast into a pointer to a function. And yet the library dlsym() routine // returns a void* which is really a pointer to a function. So how do we @@ -27518,13 +27528,13 @@ func unixDlSym(tls *libc.TLS, NotUsed uintptr, p uintptr, zSym uintptr) uintptr })(unsafe.Pointer(&struct{ uintptr }{x})).f(tls, p, zSym) } -func unixDlClose(tls *libc.TLS, NotUsed uintptr, pHandle uintptr) { /* sqlite3.c:41426:13: */ +func unixDlClose(tls *libc.TLS, NotUsed uintptr, pHandle uintptr) { /* sqlite3.c:41432:13: */ _ = NotUsed libc.Xdlclose(tls, pHandle) } // Write nBuf bytes of random data to the supplied buffer zBuf. -func unixRandomness(tls *libc.TLS, NotUsed uintptr, nBuf int32, zBuf uintptr) int32 { /* sqlite3.c:41440:12: */ +func unixRandomness(tls *libc.TLS, NotUsed uintptr, nBuf int32, zBuf uintptr) int32 { /* sqlite3.c:41446:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -27559,7 +27569,7 @@ func unixRandomness(tls *libc.TLS, NotUsed uintptr, nBuf int32, zBuf uintptr) in for __ccgo := true; __ccgo; __ccgo = got < 0 && *(*int32)(unsafe.Pointer(libc.X__errno_location(tls))) == EINTR { got = int32((*(*func(*libc.TLS, int32, uintptr, Size_t) Ssize_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 8*24 + 8)))(tls, fd, zBuf, uint64(nBuf))) } - robust_close(tls, uintptr(0), fd, 41471) + robust_close(tls, uintptr(0), fd, 41477) } } @@ -27572,7 +27582,7 @@ func unixRandomness(tls *libc.TLS, NotUsed uintptr, nBuf int32, zBuf uintptr) in // requested from the underlying operating system, a number which // might be greater than or equal to the argument, but not less // than the argument. -func unixSleep(tls *libc.TLS, NotUsed uintptr, microseconds int32) int32 { /* sqlite3.c:41487:12: */ +func unixSleep(tls *libc.TLS, NotUsed uintptr, microseconds int32) int32 { /* sqlite3.c:41493:12: */ if microseconds >= 1000000 { libc.Xsleep(tls, uint32(microseconds/1000000)) } @@ -27595,7 +27605,7 @@ func unixSleep(tls *libc.TLS, NotUsed uintptr, microseconds int32) int32 { /* sq // // On success, return SQLITE_OK. Return SQLITE_ERROR if the time and date // cannot be found. -func unixCurrentTimeInt64(tls *libc.TLS, NotUsed uintptr, piNow uintptr) int32 { /* sqlite3.c:41528:12: */ +func unixCurrentTimeInt64(tls *libc.TLS, NotUsed uintptr, piNow uintptr) int32 { /* sqlite3.c:41534:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -27609,12 +27619,12 @@ func unixCurrentTimeInt64(tls *libc.TLS, NotUsed uintptr, piNow uintptr) int32 { return rc } -var unixEpoch Sqlite3_int64 = int64(24405875) * int64(8640000) /* sqlite3.c:41529:30 */ +var unixEpoch Sqlite3_int64 = int64(24405875) * int64(8640000) /* sqlite3.c:41535:30 */ // Find the current time (in Universal Coordinated Time). Write the // current time and date as a Julian Day number into *prNow and // return 0. Return 1 if the time and date cannot be found. -func unixCurrentTime(tls *libc.TLS, NotUsed uintptr, prNow uintptr) int32 { /* sqlite3.c:41560:12: */ +func unixCurrentTime(tls *libc.TLS, NotUsed uintptr, prNow uintptr) int32 { /* sqlite3.c:41566:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -27630,7 +27640,7 @@ func unixCurrentTime(tls *libc.TLS, NotUsed uintptr, prNow uintptr) int32 { /* s // low-level error message when operating-system problems come up // during SQLite operation. Only the integer return code is currently // used. -func unixGetLastError(tls *libc.TLS, NotUsed uintptr, NotUsed2 int32, NotUsed3 uintptr) int32 { /* sqlite3.c:41578:12: */ +func unixGetLastError(tls *libc.TLS, NotUsed uintptr, NotUsed2 int32, NotUsed3 uintptr) int32 { /* sqlite3.c:41584:12: */ _ = NotUsed _ = NotUsed2 _ = NotUsed3 @@ -27812,7 +27822,7 @@ func unixGetLastError(tls *libc.TLS, NotUsed uintptr, NotUsed2 int32, NotUsed3 u // single thread. The memory allocation and mutex subsystems have not // necessarily been initialized when this routine is called, and so they // should not be used. -func Xsqlite3_os_init(tls *libc.TLS) int32 { /* sqlite3.c:42783:16: */ +func Xsqlite3_os_init(tls *libc.TLS) int32 { /* sqlite3.c:42789:16: */ var i uint32 // Loop counter // Double-check that the aSyscall[] array has been constructed @@ -27850,14 +27860,14 @@ var aVfs = [4]Sqlite3_vfs{ {FiVersion: 3 /* iVersion */, FszOsFile: int32(unsafe.Sizeof(UnixFile{})) /* szOsFile */, FmxPathname: MAX_PATHNAME /* pNext */, FzName: ts + 3763, FpAppData: 0 /* pAppData */, FxOpen: 0 /* xOpen */, FxDelete: 0 /* xDelete */, FxAccess: 0 /* xAccess */, FxFullPathname: 0 /* xFullPathname */, FxDlOpen: 0 /* xDlOpen */, FxDlError: 0 /* xDlError */, FxDlSym: 0 /* xDlSym */, FxDlClose: 0 /* xDlClose */, FxRandomness: 0 /* xRandomness */, FxSleep: 0 /* xSleep */, FxCurrentTime: 0 /* xCurrentTime */, FxGetLastError: 0 /* xGetLastError */, FxCurrentTimeInt64: 0 /* xCurrentTimeInt64 */, FxSetSystemCall: 0 /* xSetSystemCall */, FxGetSystemCall: 0 /* xGetSystemCall */, FxNextSystemCall: 0 /* xNextSystemCall */}, {FiVersion: 3 /* iVersion */, FszOsFile: int32(unsafe.Sizeof(UnixFile{})) /* szOsFile */, FmxPathname: MAX_PATHNAME /* pNext */, FzName: ts + 3773, FpAppData: 0 /* pAppData */, FxOpen: 0 /* xOpen */, FxDelete: 0 /* xDelete */, FxAccess: 0 /* xAccess */, FxFullPathname: 0 /* xFullPathname */, FxDlOpen: 0 /* xDlOpen */, FxDlError: 0 /* xDlError */, FxDlSym: 0 /* xDlSym */, FxDlClose: 0 /* xDlClose */, FxRandomness: 0 /* xRandomness */, FxSleep: 0 /* xSleep */, FxCurrentTime: 0 /* xCurrentTime */, FxGetLastError: 0 /* xGetLastError */, FxCurrentTimeInt64: 0 /* xCurrentTimeInt64 */, FxSetSystemCall: 0 /* xSetSystemCall */, FxGetSystemCall: 0 /* xGetSystemCall */, FxNextSystemCall: 0 /* xNextSystemCall */}, {FiVersion: 3 /* iVersion */, FszOsFile: int32(unsafe.Sizeof(UnixFile{})) /* szOsFile */, FmxPathname: MAX_PATHNAME /* pNext */, FzName: ts + 3653, FpAppData: 0 /* pAppData */, FxOpen: 0 /* xOpen */, FxDelete: 0 /* xDelete */, FxAccess: 0 /* xAccess */, FxFullPathname: 0 /* xFullPathname */, FxDlOpen: 0 /* xDlOpen */, FxDlError: 0 /* xDlError */, FxDlSym: 0 /* xDlSym */, FxDlClose: 0 /* xDlClose */, FxRandomness: 0 /* xRandomness */, FxSleep: 0 /* xSleep */, FxCurrentTime: 0 /* xCurrentTime */, FxGetLastError: 0 /* xGetLastError */, FxCurrentTimeInt64: 0 /* xCurrentTimeInt64 */, FxSetSystemCall: 0 /* xSetSystemCall */, FxGetSystemCall: 0 /* xGetSystemCall */, FxNextSystemCall: 0 /* xNextSystemCall */}, -} /* sqlite3.c:42836:22 */ +} /* sqlite3.c:42842:22 */ // Shutdown the operating system interface. // // Some operating systems might need to do some cleanup in this routine, // to release dynamically allocated objects. But not on unix. // This routine is a no-op for unix. -func Xsqlite3_os_end(tls *libc.TLS) int32 { /* sqlite3.c:42905:16: */ +func Xsqlite3_os_end(tls *libc.TLS) int32 { /* sqlite3.c:42911:16: */ unixBigLock = uintptr(0) return SQLITE_OK } @@ -27899,15 +27909,15 @@ func Xsqlite3_os_end(tls *libc.TLS) int32 { /* sqlite3.c:42905:16: */ // #include "sqliteInt.h" // Forward declaration of objects used by this utility -type MemVfs = sqlite3_vfs /* sqlite3.c:49095:28 */ +type MemVfs = sqlite3_vfs /* sqlite3.c:49105:28 */ type MemFile1 = struct { Fbase Sqlite3_file FpStore uintptr FeLock int32 F__ccgo_pad1 [4]byte -} /* sqlite3.c:49096:9 */ +} /* sqlite3.c:49106:9 */ -type MemFile = MemFile1 /* sqlite3.c:49096:24 */ +type MemFile = MemFile1 /* sqlite3.c:49106:24 */ type MemStore1 = struct { Fsz Sqlite3_int64 FszAlloc Sqlite3_int64 @@ -27921,9 +27931,9 @@ type MemStore1 = struct { FnRef int32 F__ccgo_pad1 [4]byte FzFName uintptr -} /* sqlite3.c:49096:9 */ +} /* sqlite3.c:49106:9 */ -type MemStore = MemStore1 /* sqlite3.c:49097:25 */ +type MemStore = MemStore1 /* sqlite3.c:49107:25 */ // File-scope variables for holding the memdb files that are accessible // to multiple database connections in separate threads. @@ -27933,13 +27943,13 @@ type MemFS = struct { FnMemStore int32 F__ccgo_pad1 [4]byte FapMemStore uintptr -} /* sqlite3.c:49167:8 */ +} /* sqlite3.c:49177:8 */ // File-scope variables for holding the memdb files that are accessible // to multiple database connections in separate threads. // // Must hold SQLITE_MUTEX_STATIC_VFS1 to access any part of this object. -var memdb_g MemFS /* sqlite3.c:49170:3: */ +var memdb_g MemFS /* sqlite3.c:49180:3: */ var memdb_vfs = Sqlite3_vfs{ FiVersion: 2, // szOsFile (set when registered) @@ -27956,7 +27966,7 @@ var memdb_vfs = Sqlite3_vfs{ FxSleep: 0, /* memdbCurrentTime, */ // xCurrentTime FxGetLastError: 0, // xGetLastError FxCurrentTimeInt64: 0, // xNextSystemCall -} /* sqlite3.c:49206:20 */ +} /* sqlite3.c:49216:20 */ var memdb_io_methods = Sqlite3_io_methods{ FiVersion: 3, // iVersion @@ -27972,21 +27982,21 @@ var memdb_io_methods = Sqlite3_io_methods{ FxDeviceCharacteristics: 0, // xShmUnmap FxFetch: 0, // xFetch FxUnfetch: 0, // xUnfetch -} /* sqlite3.c:49231:33 */ +} /* sqlite3.c:49241:33 */ // Enter/leave the mutex on a MemStore -func memdbEnter(tls *libc.TLS, p uintptr) { /* sqlite3.c:49264:13: */ +func memdbEnter(tls *libc.TLS, p uintptr) { /* sqlite3.c:49274:13: */ Xsqlite3_mutex_enter(tls, (*MemStore)(unsafe.Pointer(p)).FpMutex) } -func memdbLeave(tls *libc.TLS, p uintptr) { /* sqlite3.c:49267:13: */ +func memdbLeave(tls *libc.TLS, p uintptr) { /* sqlite3.c:49277:13: */ Xsqlite3_mutex_leave(tls, (*MemStore)(unsafe.Pointer(p)).FpMutex) } // Close an memdb-file. // Free the underlying MemStore object when its refcount drops to zero // or less. -func memdbClose(tls *libc.TLS, pFile uintptr) int32 { /* sqlite3.c:49279:12: */ +func memdbClose(tls *libc.TLS, pFile uintptr) int32 { /* sqlite3.c:49289:12: */ var p uintptr = (*MemFile)(unsafe.Pointer(pFile)).FpStore if (*MemStore)(unsafe.Pointer(p)).FzFName != 0 { var i int32 @@ -28024,7 +28034,7 @@ func memdbClose(tls *libc.TLS, pFile uintptr) int32 { /* sqlite3.c:49279:12: */ } // Read data from an memdb-file. -func memdbRead(tls *libc.TLS, pFile uintptr, zBuf uintptr, iAmt int32, iOfst Sqlite_int64) int32 { /* sqlite3.c:49321:12: */ +func memdbRead(tls *libc.TLS, pFile uintptr, zBuf uintptr, iAmt int32, iOfst Sqlite_int64) int32 { /* sqlite3.c:49331:12: */ var p uintptr = (*MemFile)(unsafe.Pointer(pFile)).FpStore memdbEnter(tls, p) if iOfst+Sqlite_int64(iAmt) > (*MemStore)(unsafe.Pointer(p)).Fsz { @@ -28041,7 +28051,7 @@ func memdbRead(tls *libc.TLS, pFile uintptr, zBuf uintptr, iAmt int32, iOfst Sql } // Try to enlarge the memory allocation to hold at least sz bytes -func memdbEnlarge(tls *libc.TLS, p uintptr, newSz Sqlite3_int64) int32 { /* sqlite3.c:49343:12: */ +func memdbEnlarge(tls *libc.TLS, p uintptr, newSz Sqlite3_int64) int32 { /* sqlite3.c:49353:12: */ var pNew uintptr if (*MemStore)(unsafe.Pointer(p)).FmFlags&uint32(SQLITE_DESERIALIZE_RESIZEABLE) == uint32(0) || (*MemStore)(unsafe.Pointer(p)).FnMmap > 0 { return SQLITE_FULL @@ -28063,7 +28073,7 @@ func memdbEnlarge(tls *libc.TLS, p uintptr, newSz Sqlite3_int64) int32 { /* sqli } // Write data to an memdb-file. -func memdbWrite(tls *libc.TLS, pFile uintptr, z uintptr, iAmt int32, iOfst Sqlite_int64) int32 { /* sqlite3.c:49363:12: */ +func memdbWrite(tls *libc.TLS, pFile uintptr, z uintptr, iAmt int32, iOfst Sqlite_int64) int32 { /* sqlite3.c:49373:12: */ var p uintptr = (*MemFile)(unsafe.Pointer(pFile)).FpStore memdbEnter(tls, p) if (*MemStore)(unsafe.Pointer(p)).FmFlags&uint32(SQLITE_DESERIALIZE_READONLY) != 0 { @@ -28094,7 +28104,7 @@ func memdbWrite(tls *libc.TLS, pFile uintptr, z uintptr, iAmt int32, iOfst Sqlit // In rollback mode (which is always the case for memdb, as it does not // support WAL mode) the truncate() method is only used to reduce // the size of a file, never to increase the size. -func memdbTruncate(tls *libc.TLS, pFile uintptr, size Sqlite_int64) int32 { /* sqlite3.c:49400:12: */ +func memdbTruncate(tls *libc.TLS, pFile uintptr, size Sqlite_int64) int32 { /* sqlite3.c:49410:12: */ var p uintptr = (*MemFile)(unsafe.Pointer(pFile)).FpStore var rc int32 = SQLITE_OK memdbEnter(tls, p) @@ -28109,14 +28119,14 @@ func memdbTruncate(tls *libc.TLS, pFile uintptr, size Sqlite_int64) int32 { /* s } // Sync an memdb-file. -func memdbSync(tls *libc.TLS, pFile uintptr, flags int32) int32 { /* sqlite3.c:49417:12: */ +func memdbSync(tls *libc.TLS, pFile uintptr, flags int32) int32 { /* sqlite3.c:49427:12: */ _ = pFile _ = flags return SQLITE_OK } // Return the current file-size of an memdb-file. -func memdbFileSize(tls *libc.TLS, pFile uintptr, pSize uintptr) int32 { /* sqlite3.c:49426:12: */ +func memdbFileSize(tls *libc.TLS, pFile uintptr, pSize uintptr) int32 { /* sqlite3.c:49436:12: */ var p uintptr = (*MemFile)(unsafe.Pointer(pFile)).FpStore memdbEnter(tls, p) *(*Sqlite_int64)(unsafe.Pointer(pSize)) = (*MemStore)(unsafe.Pointer(p)).Fsz @@ -28125,7 +28135,7 @@ func memdbFileSize(tls *libc.TLS, pFile uintptr, pSize uintptr) int32 { /* sqlit } // Lock an memdb-file. -func memdbLock(tls *libc.TLS, pFile uintptr, eLock int32) int32 { /* sqlite3.c:49437:12: */ +func memdbLock(tls *libc.TLS, pFile uintptr, eLock int32) int32 { /* sqlite3.c:49447:12: */ var pThis uintptr = pFile var p uintptr = (*MemFile)(unsafe.Pointer(pThis)).FpStore var rc int32 = SQLITE_OK @@ -28169,7 +28179,7 @@ func memdbLock(tls *libc.TLS, pFile uintptr, eLock int32) int32 { /* sqlite3.c:4 } // File control method. For custom operations on an memdb-file. -func memdbFileControl(tls *libc.TLS, pFile uintptr, op int32, pArg uintptr) int32 { /* sqlite3.c:49491:12: */ +func memdbFileControl(tls *libc.TLS, pFile uintptr, op int32, pArg uintptr) int32 { /* sqlite3.c:49501:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -28198,13 +28208,13 @@ func memdbFileControl(tls *libc.TLS, pFile uintptr, op int32, pArg uintptr) int3 } // Return the device characteristic flags supported by an memdb-file. -func memdbDeviceCharacteristics(tls *libc.TLS, pFile uintptr) int32 { /* sqlite3.c:49528:12: */ +func memdbDeviceCharacteristics(tls *libc.TLS, pFile uintptr) int32 { /* sqlite3.c:49538:12: */ _ = pFile return SQLITE_IOCAP_ATOMIC | SQLITE_IOCAP_POWERSAFE_OVERWRITE | SQLITE_IOCAP_SAFE_APPEND | SQLITE_IOCAP_SEQUENTIAL } // Fetch a page of a memory-mapped file -func memdbFetch(tls *libc.TLS, pFile uintptr, iOfst Sqlite3_int64, iAmt int32, pp uintptr) int32 { /* sqlite3.c:49537:12: */ +func memdbFetch(tls *libc.TLS, pFile uintptr, iOfst Sqlite3_int64, iAmt int32, pp uintptr) int32 { /* sqlite3.c:49547:12: */ var p uintptr = (*MemFile)(unsafe.Pointer(pFile)).FpStore memdbEnter(tls, p) if iOfst+Sqlite3_int64(iAmt) > (*MemStore)(unsafe.Pointer(p)).Fsz || (*MemStore)(unsafe.Pointer(p)).FmFlags&uint32(SQLITE_DESERIALIZE_RESIZEABLE) != uint32(0) { @@ -28218,7 +28228,7 @@ func memdbFetch(tls *libc.TLS, pFile uintptr, iOfst Sqlite3_int64, iAmt int32, p } // Release a memory-mapped page -func memdbUnfetch(tls *libc.TLS, pFile uintptr, iOfst Sqlite3_int64, pPage uintptr) int32 { /* sqlite3.c:49556:12: */ +func memdbUnfetch(tls *libc.TLS, pFile uintptr, iOfst Sqlite3_int64, pPage uintptr) int32 { /* sqlite3.c:49566:12: */ var p uintptr = (*MemFile)(unsafe.Pointer(pFile)).FpStore _ = iOfst _ = pPage @@ -28229,7 +28239,7 @@ func memdbUnfetch(tls *libc.TLS, pFile uintptr, iOfst Sqlite3_int64, pPage uintp } // Open an mem file handle. -func memdbOpen(tls *libc.TLS, pVfs uintptr, zName uintptr, pFd uintptr, flags int32, pOutFlags uintptr) int32 { /* sqlite3.c:49569:12: */ +func memdbOpen(tls *libc.TLS, pVfs uintptr, zName uintptr, pFd uintptr, flags int32, pOutFlags uintptr) int32 { /* sqlite3.c:49579:12: */ var pFile uintptr = pFd var p uintptr = uintptr(0) var szName int32 @@ -28304,7 +28314,7 @@ func memdbOpen(tls *libc.TLS, pVfs uintptr, zName uintptr, pFd uintptr, flags in // is available, or false otherwise. // // With memdb, no files ever exist on disk. So always return false. -func memdbAccess(tls *libc.TLS, pVfs uintptr, zPath uintptr, flags int32, pResOut uintptr) int32 { /* sqlite3.c:49666:12: */ +func memdbAccess(tls *libc.TLS, pVfs uintptr, zPath uintptr, flags int32, pResOut uintptr) int32 { /* sqlite3.c:49676:12: */ _ = pVfs _ = zPath _ = flags @@ -28315,7 +28325,7 @@ func memdbAccess(tls *libc.TLS, pVfs uintptr, zPath uintptr, flags int32, pResOu // Populate buffer zOut with the full canonical pathname corresponding // to the pathname in zPath. zOut is guaranteed to point to a buffer // of at least (INST_MAX_PATHNAME+1) bytes. -func memdbFullPathname(tls *libc.TLS, pVfs uintptr, zPath uintptr, nOut int32, zOut uintptr) int32 { /* sqlite3.c:49684:12: */ +func memdbFullPathname(tls *libc.TLS, pVfs uintptr, zPath uintptr, nOut int32, zOut uintptr) int32 { /* sqlite3.c:49694:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -28325,7 +28335,7 @@ func memdbFullPathname(tls *libc.TLS, pVfs uintptr, zPath uintptr, nOut int32, z } // Open the dynamic library located at zPath and return a handle. -func memdbDlOpen(tls *libc.TLS, pVfs uintptr, zPath uintptr) uintptr { /* sqlite3.c:49698:13: */ +func memdbDlOpen(tls *libc.TLS, pVfs uintptr, zPath uintptr) uintptr { /* sqlite3.c:49708:13: */ return (*struct { f func(*libc.TLS, uintptr, uintptr) uintptr })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer((*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData)).FxDlOpen})).f(tls, (*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, zPath) @@ -28334,21 +28344,21 @@ func memdbDlOpen(tls *libc.TLS, pVfs uintptr, zPath uintptr) uintptr { /* sqlite // Populate the buffer zErrMsg (size nByte bytes) with a human readable // utf-8 string describing the most recent error encountered associated // with dynamic libraries. -func memdbDlError(tls *libc.TLS, pVfs uintptr, nByte int32, zErrMsg uintptr) { /* sqlite3.c:49707:13: */ +func memdbDlError(tls *libc.TLS, pVfs uintptr, nByte int32, zErrMsg uintptr) { /* sqlite3.c:49717:13: */ (*struct { f func(*libc.TLS, uintptr, int32, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer((*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData)).FxDlError})).f(tls, (*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, nByte, zErrMsg) } // Return a pointer to the symbol zSymbol in the dynamic library pHandle. -func memdbDlSym(tls *libc.TLS, pVfs uintptr, p uintptr, zSym uintptr) uintptr { /* sqlite3.c:49714:13: */ +func memdbDlSym(tls *libc.TLS, pVfs uintptr, p uintptr, zSym uintptr) uintptr { /* sqlite3.c:49724:13: */ return (*struct { f func(*libc.TLS, uintptr, uintptr, uintptr) uintptr })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer((*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData)).FxDlSym})).f(tls, (*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, p, zSym) } // Close the dynamic library handle pHandle. -func memdbDlClose(tls *libc.TLS, pVfs uintptr, pHandle uintptr) { /* sqlite3.c:49721:13: */ +func memdbDlClose(tls *libc.TLS, pVfs uintptr, pHandle uintptr) { /* sqlite3.c:49731:13: */ (*struct { f func(*libc.TLS, uintptr, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer((*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData)).FxDlClose})).f(tls, (*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, pHandle) @@ -28356,7 +28366,7 @@ func memdbDlClose(tls *libc.TLS, pVfs uintptr, pHandle uintptr) { /* sqlite3.c:4 // Populate the buffer pointed to by zBufOut with nByte bytes of // random data. -func memdbRandomness(tls *libc.TLS, pVfs uintptr, nByte int32, zBufOut uintptr) int32 { /* sqlite3.c:49729:12: */ +func memdbRandomness(tls *libc.TLS, pVfs uintptr, nByte int32, zBufOut uintptr) int32 { /* sqlite3.c:49739:12: */ return (*struct { f func(*libc.TLS, uintptr, int32, uintptr) int32 })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer((*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData)).FxRandomness})).f(tls, (*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, nByte, zBufOut) @@ -28364,19 +28374,19 @@ func memdbRandomness(tls *libc.TLS, pVfs uintptr, nByte int32, zBufOut uintptr) // Sleep for nMicro microseconds. Return the number of microseconds // actually slept. -func memdbSleep(tls *libc.TLS, pVfs uintptr, nMicro int32) int32 { /* sqlite3.c:49737:12: */ +func memdbSleep(tls *libc.TLS, pVfs uintptr, nMicro int32) int32 { /* sqlite3.c:49747:12: */ return (*struct { f func(*libc.TLS, uintptr, int32) int32 })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer((*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData)).FxSleep})).f(tls, (*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, nMicro) } -func memdbGetLastError(tls *libc.TLS, pVfs uintptr, a int32, b uintptr) int32 { /* sqlite3.c:49750:12: */ +func memdbGetLastError(tls *libc.TLS, pVfs uintptr, a int32, b uintptr) int32 { /* sqlite3.c:49760:12: */ return (*struct { f func(*libc.TLS, uintptr, int32, uintptr) int32 })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer((*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData)).FxGetLastError})).f(tls, (*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, a, b) } -func memdbCurrentTimeInt64(tls *libc.TLS, pVfs uintptr, p uintptr) int32 { /* sqlite3.c:49753:12: */ +func memdbCurrentTimeInt64(tls *libc.TLS, pVfs uintptr, p uintptr) int32 { /* sqlite3.c:49763:12: */ return (*struct { f func(*libc.TLS, uintptr, uintptr) int32 })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer((*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData)).FxCurrentTimeInt64})).f(tls, (*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, p) @@ -28384,7 +28394,7 @@ func memdbCurrentTimeInt64(tls *libc.TLS, pVfs uintptr, p uintptr) int32 { /* sq // Translate a database connection pointer and schema name into a // MemFile pointer. -func memdbFromDbSchema(tls *libc.TLS, db uintptr, zSchema uintptr) uintptr { /* sqlite3.c:49761:16: */ +func memdbFromDbSchema(tls *libc.TLS, db uintptr, zSchema uintptr) uintptr { /* sqlite3.c:49771:16: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -28407,7 +28417,7 @@ func memdbFromDbSchema(tls *libc.TLS, db uintptr, zSchema uintptr) uintptr { /* } // Return the serialization of a database -func Xsqlite3_serialize(tls *libc.TLS, db uintptr, zSchema uintptr, piSize uintptr, mFlags uint32) uintptr { /* sqlite3.c:49777:26: */ +func Xsqlite3_serialize(tls *libc.TLS, db uintptr, zSchema uintptr, piSize uintptr, mFlags uint32) uintptr { /* sqlite3.c:49787:26: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -28498,7 +28508,7 @@ func Xsqlite3_serialize(tls *libc.TLS, db uintptr, zSchema uintptr, piSize uintp } // Convert zSchema to a MemDB and initialize its content. -func Xsqlite3_deserialize(tls *libc.TLS, db uintptr, zSchema uintptr, pData uintptr, szDb Sqlite3_int64, szBuf Sqlite3_int64, mFlags uint32) int32 { /* sqlite3.c:49858:16: */ +func Xsqlite3_deserialize(tls *libc.TLS, db uintptr, zSchema uintptr, pData uintptr, szDb Sqlite3_int64, szBuf Sqlite3_int64, mFlags uint32) int32 { /* sqlite3.c:49868:16: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -28593,7 +28603,7 @@ __10: // This routine is called when the extension is loaded. // Register the new VFS. -func Xsqlite3MemdbInit(tls *libc.TLS) int32 { /* sqlite3.c:49934:20: */ +func Xsqlite3MemdbInit(tls *libc.TLS) int32 { /* sqlite3.c:49944:20: */ var pLower uintptr = Xsqlite3_vfs_find(tls, uintptr(0)) var sz uint32 if pLower == uintptr(0) { @@ -28615,7 +28625,7 @@ func Xsqlite3MemdbInit(tls *libc.TLS) int32 { /* sqlite3.c:49934:20: */ // Create a new bitmap object able to handle bits between 0 and iSize, // inclusive. Return a pointer to the new object. Return NULL if // malloc fails. -func Xsqlite3BitvecCreate(tls *libc.TLS, iSize U32) uintptr { /* sqlite3.c:50066:23: */ +func Xsqlite3BitvecCreate(tls *libc.TLS, iSize U32) uintptr { /* sqlite3.c:50076:23: */ var p uintptr p = Xsqlite3MallocZero(tls, uint64(unsafe.Sizeof(Bitvec{}))) @@ -28628,7 +28638,7 @@ func Xsqlite3BitvecCreate(tls *libc.TLS, iSize U32) uintptr { /* sqlite3.c:50066 // Check to see if the i-th bit is set. Return true or false. // If p is NULL (if the bitmap has not been created) or if // i is out of range, then return false. -func Xsqlite3BitvecTestNotNull(tls *libc.TLS, p uintptr, i U32) int32 { /* sqlite3.c:50081:20: */ +func Xsqlite3BitvecTestNotNull(tls *libc.TLS, p uintptr, i U32) int32 { /* sqlite3.c:50091:20: */ i-- if i >= (*Bitvec)(unsafe.Pointer(p)).FiSize { @@ -28657,7 +28667,7 @@ func Xsqlite3BitvecTestNotNull(tls *libc.TLS, p uintptr, i U32) int32 { /* sqlit return int32(0) } -func Xsqlite3BitvecTest(tls *libc.TLS, p uintptr, i U32) int32 { /* sqlite3.c:50104:20: */ +func Xsqlite3BitvecTest(tls *libc.TLS, p uintptr, i U32) int32 { /* sqlite3.c:50114:20: */ return libc.Bool32(p != uintptr(0) && Xsqlite3BitvecTestNotNull(tls, p, i) != 0) } @@ -28671,7 +28681,7 @@ func Xsqlite3BitvecTest(tls *libc.TLS, p uintptr, i U32) int32 { /* sqlite3.c:50 // The calling function must ensure that p is a valid Bitvec object // and that the value for "i" is within range of the Bitvec object. // Otherwise the behavior is undefined. -func Xsqlite3BitvecSet(tls *libc.TLS, p uintptr, i U32) int32 { /* sqlite3.c:50120:20: */ +func Xsqlite3BitvecSet(tls *libc.TLS, p uintptr, i U32) int32 { /* sqlite3.c:50130:20: */ var h U32 var bin U32 var j uint32 @@ -28808,7 +28818,7 @@ bitvec_set_end: // // pBuf must be a pointer to at least BITVEC_SZ bytes of temporary storage // that BitvecClear can use to rebuilt its hash table. -func Xsqlite3BitvecClear(tls *libc.TLS, p uintptr, i U32, pBuf uintptr) { /* sqlite3.c:50191:21: */ +func Xsqlite3BitvecClear(tls *libc.TLS, p uintptr, i U32, pBuf uintptr) { /* sqlite3.c:50201:21: */ if p == uintptr(0) { return } @@ -28847,7 +28857,7 @@ func Xsqlite3BitvecClear(tls *libc.TLS, p uintptr, i U32, pBuf uintptr) { /* sql } // Destroy a bitmap object. Reclaim all memory used. -func Xsqlite3BitvecDestroy(tls *libc.TLS, p uintptr) { /* sqlite3.c:50228:21: */ +func Xsqlite3BitvecDestroy(tls *libc.TLS, p uintptr) { /* sqlite3.c:50238:21: */ if p == uintptr(0) { return } @@ -28862,7 +28872,7 @@ func Xsqlite3BitvecDestroy(tls *libc.TLS, p uintptr) { /* sqlite3.c:50228:21: */ // Return the value of the iSize parameter specified when Bitvec *p // was created. -func Xsqlite3BitvecSize(tls *libc.TLS, p uintptr) U32 { /* sqlite3.c:50243:20: */ +func Xsqlite3BitvecSize(tls *libc.TLS, p uintptr) U32 { /* sqlite3.c:50253:20: */ return (*Bitvec)(unsafe.Pointer(p)).FiSize } @@ -28899,7 +28909,7 @@ func Xsqlite3BitvecSize(tls *libc.TLS, p uintptr) U32 { /* sqlite3.c:50243:20: * // an error is returned. If they are the same, zero is returned. // // If a memory allocation error occurs, return -1. -func Xsqlite3BitvecBuiltinTest(tls *libc.TLS, sz int32, aOp uintptr) int32 { /* sqlite3.c:50288:20: */ +func Xsqlite3BitvecBuiltinTest(tls *libc.TLS, sz int32, aOp uintptr) int32 { /* sqlite3.c:50298:20: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -29062,7 +29072,7 @@ bitvec_end: // argument determines what operation to do. The 0x01 bit means first // remove pPage from the dirty list. The 0x02 means add pPage back to // the dirty list. Doing both moves pPage to the front of the dirty list. -func pcacheManageDirtyList(tls *libc.TLS, pPage uintptr, addRemove U8) { /* sqlite3.c:50523:13: */ +func pcacheManageDirtyList(tls *libc.TLS, pPage uintptr, addRemove U8) { /* sqlite3.c:50533:13: */ var p uintptr = (*PgHdr)(unsafe.Pointer(pPage)).FpCache if int32(addRemove)&PCACHE_DIRTYLIST_REMOVE != 0 { @@ -29124,7 +29134,7 @@ func pcacheManageDirtyList(tls *libc.TLS, pPage uintptr, addRemove U8) { /* sqli // Wrapper around the pluggable caches xUnpin method. If the cache is // being used for an in-memory database, this function is a no-op. -func pcacheUnpin(tls *libc.TLS, p uintptr) { /* sqlite3.c:50593:13: */ +func pcacheUnpin(tls *libc.TLS, p uintptr) { /* sqlite3.c:50603:13: */ if (*PCache)(unsafe.Pointer((*PgHdr)(unsafe.Pointer(p)).FpCache)).FbPurgeable != 0 { (*struct { @@ -29136,7 +29146,7 @@ func pcacheUnpin(tls *libc.TLS, p uintptr) { /* sqlite3.c:50593:13: */ // Compute the number of pages of cache requested. p->szCache is the // cache size requested by the "PRAGMA cache_size" statement. -func numberOfCachePages(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:50605:12: */ +func numberOfCachePages(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:50615:12: */ if (*PCache)(unsafe.Pointer(p)).FszCache >= 0 { // IMPLEMENTATION-OF: R-42059-47211 If the argument N is positive then the // suggested cache size is set to N. @@ -29161,7 +29171,7 @@ func numberOfCachePages(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:50605:12: // // Initialize and shutdown the page cache subsystem. Neither of these // functions are threadsafe. -func Xsqlite3PcacheInitialize(tls *libc.TLS) int32 { /* sqlite3.c:50627:20: */ +func Xsqlite3PcacheInitialize(tls *libc.TLS) int32 { /* sqlite3.c:50637:20: */ if Xsqlite3Config.Fpcache2.FxInit == uintptr(0) { // IMPLEMENTATION-OF: R-26801-64137 If the xInit() method is NULL, then the // built-in default page cache is used instead of the application defined @@ -29174,7 +29184,7 @@ func Xsqlite3PcacheInitialize(tls *libc.TLS) int32 { /* sqlite3.c:50627:20: */ })(unsafe.Pointer(&struct{ uintptr }{Xsqlite3Config.Fpcache2.FxInit})).f(tls, Xsqlite3Config.Fpcache2.FpArg) } -func Xsqlite3PcacheShutdown(tls *libc.TLS) { /* sqlite3.c:50637:21: */ +func Xsqlite3PcacheShutdown(tls *libc.TLS) { /* sqlite3.c:50647:21: */ if Xsqlite3Config.Fpcache2.FxShutdown != 0 { // IMPLEMENTATION-OF: R-26000-56589 The xShutdown() method may be NULL. (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{Xsqlite3Config.Fpcache2.FxShutdown})).f(tls, Xsqlite3Config.Fpcache2.FpArg) @@ -29182,7 +29192,7 @@ func Xsqlite3PcacheShutdown(tls *libc.TLS) { /* sqlite3.c:50637:21: */ } // Return the size in bytes of a PCache object. -func Xsqlite3PcacheSize(tls *libc.TLS) int32 { /* sqlite3.c:50647:20: */ +func Xsqlite3PcacheSize(tls *libc.TLS) int32 { /* sqlite3.c:50657:20: */ return int32(unsafe.Sizeof(PCache{})) } @@ -29196,7 +29206,7 @@ func Xsqlite3PcacheSize(tls *libc.TLS) int32 { /* sqlite3.c:50647:20: */ // but remaining content will be uninitialized. Though it is opaque // to this module, the extra space really ends up being the MemPage // structure in the pager. -func Xsqlite3PcacheOpen(tls *libc.TLS, szPage int32, szExtra int32, bPurgeable int32, xStress uintptr, pStress uintptr, p uintptr) int32 { /* sqlite3.c:50661:20: */ +func Xsqlite3PcacheOpen(tls *libc.TLS, szPage int32, szExtra int32, bPurgeable int32, xStress uintptr, pStress uintptr, p uintptr) int32 { /* sqlite3.c:50671:20: */ libc.Xmemset(tls, p, 0, uint64(unsafe.Sizeof(PCache{}))) (*PCache)(unsafe.Pointer(p)).FszPage = 1 (*PCache)(unsafe.Pointer(p)).FszExtra = szExtra @@ -29213,7 +29223,7 @@ func Xsqlite3PcacheOpen(tls *libc.TLS, szPage int32, szExtra int32, bPurgeable i // Change the page size for PCache object. The caller must ensure that there // are no outstanding page references when this function is called. -func Xsqlite3PcacheSetPageSize(tls *libc.TLS, pCache uintptr, szPage int32) int32 { /* sqlite3.c:50687:20: */ +func Xsqlite3PcacheSetPageSize(tls *libc.TLS, pCache uintptr, szPage int32) int32 { /* sqlite3.c:50697:20: */ if (*PCache)(unsafe.Pointer(pCache)).FszPage != 0 { var pNew uintptr @@ -29260,7 +29270,7 @@ func Xsqlite3PcacheSetPageSize(tls *libc.TLS, pCache uintptr, szPage int32) int3 // they can both (usually) operate without having to push values to // the stack on entry and pop them back off on exit, which saves a // lot of pushing and popping. -func Xsqlite3PcacheFetch(tls *libc.TLS, pCache uintptr, pgno Pgno, createFlag int32) uintptr { /* sqlite3.c:50731:36: */ +func Xsqlite3PcacheFetch(tls *libc.TLS, pCache uintptr, pgno Pgno, createFlag int32) uintptr { /* sqlite3.c:50741:36: */ var eCreate int32 var pRes uintptr @@ -29288,7 +29298,7 @@ func Xsqlite3PcacheFetch(tls *libc.TLS, pCache uintptr, pgno Pgno, createFlag in // an OOM error. // // This routine should be invoked only after sqlite3PcacheFetch() fails. -func Xsqlite3PcacheFetchStress(tls *libc.TLS, pCache uintptr, pgno Pgno, ppPage uintptr) int32 { /* sqlite3.c:50772:20: */ +func Xsqlite3PcacheFetchStress(tls *libc.TLS, pCache uintptr, pgno Pgno, ppPage uintptr) int32 { /* sqlite3.c:50782:20: */ var pPg uintptr if int32((*PCache)(unsafe.Pointer(pCache)).FeCreate) == 2 { return 0 @@ -29339,7 +29349,7 @@ func Xsqlite3PcacheFetchStress(tls *libc.TLS, pCache uintptr, pgno Pgno, ppPage // This routine is broken out into a separate function since it // requires extra stack manipulation that can be avoided in the common // case. -func pcacheFetchFinishWithInit(tls *libc.TLS, pCache uintptr, pgno Pgno, pPage uintptr) uintptr { /* sqlite3.c:50828:30: */ +func pcacheFetchFinishWithInit(tls *libc.TLS, pCache uintptr, pgno Pgno, pPage uintptr) uintptr { /* sqlite3.c:50838:30: */ var pPgHdr uintptr pPgHdr = (*Sqlite3_pcache_page)(unsafe.Pointer(pPage)).FpExtra @@ -29359,7 +29369,7 @@ func pcacheFetchFinishWithInit(tls *libc.TLS, pCache uintptr, pgno Pgno, pPage u // sqlite3PcacheFetch() into an initialized PgHdr object. This routine // must be called after sqlite3PcacheFetch() in order to get a usable // result. -func Xsqlite3PcacheFetchFinish(tls *libc.TLS, pCache uintptr, pgno Pgno, pPage uintptr) uintptr { /* sqlite3.c:50854:22: */ +func Xsqlite3PcacheFetchFinish(tls *libc.TLS, pCache uintptr, pgno Pgno, pPage uintptr) uintptr { /* sqlite3.c:50864:22: */ var pPgHdr uintptr pPgHdr = (*Sqlite3_pcache_page)(unsafe.Pointer(pPage)).FpExtra @@ -29375,7 +29385,7 @@ func Xsqlite3PcacheFetchFinish(tls *libc.TLS, pCache uintptr, pgno Pgno, pPage u // Decrement the reference count on a page. If the page is clean and the // reference count drops to 0, then it is made eligible for recycling. -func Xsqlite3PcacheRelease(tls *libc.TLS, p uintptr) { /* sqlite3.c:50877:37: */ +func Xsqlite3PcacheRelease(tls *libc.TLS, p uintptr) { /* sqlite3.c:50887:37: */ (*PCache)(unsafe.Pointer((*PgHdr)(unsafe.Pointer(p)).FpCache)).FnRefSum-- if int32(libc.PreDecInt16(&(*PgHdr)(unsafe.Pointer(p)).FnRef, 1)) == 0 { @@ -29388,7 +29398,7 @@ func Xsqlite3PcacheRelease(tls *libc.TLS, p uintptr) { /* sqlite3.c:50877:37: */ } // Increase the reference count of a supplied page by 1. -func Xsqlite3PcacheRef(tls *libc.TLS, p uintptr) { /* sqlite3.c:50892:21: */ +func Xsqlite3PcacheRef(tls *libc.TLS, p uintptr) { /* sqlite3.c:50902:21: */ (*PgHdr)(unsafe.Pointer(p)).FnRef++ (*PCache)(unsafe.Pointer((*PgHdr)(unsafe.Pointer(p)).FpCache)).FnRefSum++ @@ -29397,7 +29407,7 @@ func Xsqlite3PcacheRef(tls *libc.TLS, p uintptr) { /* sqlite3.c:50892:21: */ // Drop a page from the cache. There must be exactly one reference to the // page. This function deletes that reference, so after it returns the // page pointed to by p is invalid. -func Xsqlite3PcacheDrop(tls *libc.TLS, p uintptr) { /* sqlite3.c:50904:21: */ +func Xsqlite3PcacheDrop(tls *libc.TLS, p uintptr) { /* sqlite3.c:50914:21: */ if int32((*PgHdr)(unsafe.Pointer(p)).Fflags)&PGHDR_DIRTY != 0 { pcacheManageDirtyList(tls, p, uint8(PCACHE_DIRTYLIST_REMOVE)) @@ -29410,7 +29420,7 @@ func Xsqlite3PcacheDrop(tls *libc.TLS, p uintptr) { /* sqlite3.c:50904:21: */ // Make sure the page is marked as dirty. If it isn't dirty already, // make it so. -func Xsqlite3PcacheMakeDirty(tls *libc.TLS, p uintptr) { /* sqlite3.c:50918:21: */ +func Xsqlite3PcacheMakeDirty(tls *libc.TLS, p uintptr) { /* sqlite3.c:50928:21: */ if int32((*PgHdr)(unsafe.Pointer(p)).Fflags)&(PGHDR_CLEAN|PGHDR_DONT_WRITE) != 0 { //OPTIMIZATION-IF-FALSE *(*U16)(unsafe.Pointer(p + 52)) &= libc.Uint16FromInt32(libc.CplInt32(PGHDR_DONT_WRITE)) @@ -29425,7 +29435,7 @@ func Xsqlite3PcacheMakeDirty(tls *libc.TLS, p uintptr) { /* sqlite3.c:50918:21: // Make sure the page is marked as clean. If it isn't clean already, // make it so. -func Xsqlite3PcacheMakeClean(tls *libc.TLS, p uintptr) { /* sqlite3.c:50938:21: */ +func Xsqlite3PcacheMakeClean(tls *libc.TLS, p uintptr) { /* sqlite3.c:50948:21: */ pcacheManageDirtyList(tls, p, uint8(PCACHE_DIRTYLIST_REMOVE)) *(*U16)(unsafe.Pointer(p + 52)) &= libc.Uint16FromInt32(libc.CplInt32(PGHDR_DIRTY | PGHDR_NEED_SYNC | PGHDR_WRITEABLE)) @@ -29437,7 +29447,7 @@ func Xsqlite3PcacheMakeClean(tls *libc.TLS, p uintptr) { /* sqlite3.c:50938:21: } // Make every page in the cache clean. -func Xsqlite3PcacheCleanAll(tls *libc.TLS, pCache uintptr) { /* sqlite3.c:50955:21: */ +func Xsqlite3PcacheCleanAll(tls *libc.TLS, pCache uintptr) { /* sqlite3.c:50965:21: */ var p uintptr for libc.AssignUintptr(&p, (*PCache)(unsafe.Pointer(pCache)).FpDirty) != uintptr(0) { @@ -29446,7 +29456,7 @@ func Xsqlite3PcacheCleanAll(tls *libc.TLS, pCache uintptr) { /* sqlite3.c:50955: } // Clear the PGHDR_NEED_SYNC and PGHDR_WRITEABLE flag from all dirty pages. -func Xsqlite3PcacheClearWritable(tls *libc.TLS, pCache uintptr) { /* sqlite3.c:50966:21: */ +func Xsqlite3PcacheClearWritable(tls *libc.TLS, pCache uintptr) { /* sqlite3.c:50976:21: */ var p uintptr for p = (*PCache)(unsafe.Pointer(pCache)).FpDirty; p != 0; p = (*PgHdr)(unsafe.Pointer(p)).FpDirtyNext { @@ -29456,7 +29466,7 @@ func Xsqlite3PcacheClearWritable(tls *libc.TLS, pCache uintptr) { /* sqlite3.c:5 } // Clear the PGHDR_NEED_SYNC flag from all dirty pages. -func Xsqlite3PcacheClearSyncFlags(tls *libc.TLS, pCache uintptr) { /* sqlite3.c:50978:21: */ +func Xsqlite3PcacheClearSyncFlags(tls *libc.TLS, pCache uintptr) { /* sqlite3.c:50988:21: */ var p uintptr for p = (*PCache)(unsafe.Pointer(pCache)).FpDirty; p != 0; p = (*PgHdr)(unsafe.Pointer(p)).FpDirtyNext { *(*U16)(unsafe.Pointer(p + 52)) &= libc.Uint16FromInt32(libc.CplInt32(PGHDR_NEED_SYNC)) @@ -29465,7 +29475,7 @@ func Xsqlite3PcacheClearSyncFlags(tls *libc.TLS, pCache uintptr) { /* sqlite3.c: } // Change the page number of page p to newPgno. -func Xsqlite3PcacheMove(tls *libc.TLS, p uintptr, newPgno Pgno) { /* sqlite3.c:50989:21: */ +func Xsqlite3PcacheMove(tls *libc.TLS, p uintptr, newPgno Pgno) { /* sqlite3.c:50999:21: */ var pCache uintptr = (*PgHdr)(unsafe.Pointer(p)).FpCache (*struct { @@ -29484,7 +29494,7 @@ func Xsqlite3PcacheMove(tls *libc.TLS, p uintptr, newPgno Pgno) { /* sqlite3.c:5 // If there is a reference to page 1 and the pgno parameter passed to this // function is 0, then the data area associated with page 1 is zeroed, but // the page object is not dropped. -func Xsqlite3PcacheTruncate(tls *libc.TLS, pCache uintptr, pgno Pgno) { /* sqlite3.c:51011:21: */ +func Xsqlite3PcacheTruncate(tls *libc.TLS, pCache uintptr, pgno Pgno) { /* sqlite3.c:51021:21: */ if (*PCache)(unsafe.Pointer(pCache)).FpCache != 0 { var p uintptr var pNext uintptr @@ -29518,19 +29528,19 @@ func Xsqlite3PcacheTruncate(tls *libc.TLS, pCache uintptr, pgno Pgno) { /* sqlit } // Close a cache. -func Xsqlite3PcacheClose(tls *libc.TLS, pCache uintptr) { /* sqlite3.c:51044:21: */ +func Xsqlite3PcacheClose(tls *libc.TLS, pCache uintptr) { /* sqlite3.c:51054:21: */ (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{Xsqlite3Config.Fpcache2.FxDestroy})).f(tls, (*PCache)(unsafe.Pointer(pCache)).FpCache) } // Discard the contents of the cache. -func Xsqlite3PcacheClear(tls *libc.TLS, pCache uintptr) { /* sqlite3.c:51053:21: */ +func Xsqlite3PcacheClear(tls *libc.TLS, pCache uintptr) { /* sqlite3.c:51063:21: */ Xsqlite3PcacheTruncate(tls, pCache, uint32(0)) } // Merge two lists of pages connected by pDirty and in pgno order. // Do not bother fixing the pDirtyPrev pointers. -func pcacheMergeDirtyList(tls *libc.TLS, pA uintptr, pB uintptr) uintptr { /* sqlite3.c:51061:14: */ +func pcacheMergeDirtyList(tls *libc.TLS, pA uintptr, pB uintptr) uintptr { /* sqlite3.c:51071:14: */ bp := tls.Alloc(72) defer tls.Free(72) @@ -29569,7 +29579,7 @@ func pcacheMergeDirtyList(tls *libc.TLS, pA uintptr, pB uintptr) uintptr { /* sq // there cannot be more than 31 buckets required by the merge sorter. // One extra bucket is added to catch overflow in case something // ever changes to make the previous sentence incorrect. -func pcacheSortDirtyList(tls *libc.TLS, pIn uintptr) uintptr { /* sqlite3.c:51098:14: */ +func pcacheSortDirtyList(tls *libc.TLS, pIn uintptr) uintptr { /* sqlite3.c:51108:14: */ bp := tls.Alloc(256) defer tls.Free(256) @@ -29612,7 +29622,7 @@ func pcacheSortDirtyList(tls *libc.TLS, pIn uintptr) uintptr { /* sqlite3.c:5109 } // Return a list of all dirty pages in the cache, sorted by page number. -func Xsqlite3PcacheDirtyList(tls *libc.TLS, pCache uintptr) uintptr { /* sqlite3.c:51133:22: */ +func Xsqlite3PcacheDirtyList(tls *libc.TLS, pCache uintptr) uintptr { /* sqlite3.c:51143:22: */ var p uintptr for p = (*PCache)(unsafe.Pointer(pCache)).FpDirty; p != 0; p = (*PgHdr)(unsafe.Pointer(p)).FpDirtyNext { (*PgHdr)(unsafe.Pointer(p)).FpDirty = (*PgHdr)(unsafe.Pointer(p)).FpDirtyNext @@ -29624,17 +29634,17 @@ func Xsqlite3PcacheDirtyList(tls *libc.TLS, pCache uintptr) uintptr { /* sqlite3 // // This is not the total number of pages referenced, but the sum of the // reference count for all pages. -func Xsqlite3PcacheRefCount(tls *libc.TLS, pCache uintptr) int32 { /* sqlite3.c:51147:20: */ +func Xsqlite3PcacheRefCount(tls *libc.TLS, pCache uintptr) int32 { /* sqlite3.c:51157:20: */ return (*PCache)(unsafe.Pointer(pCache)).FnRefSum } // Return the number of references to the page supplied as an argument. -func Xsqlite3PcachePageRefcount(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:51154:20: */ +func Xsqlite3PcachePageRefcount(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:51164:20: */ return int32((*PgHdr)(unsafe.Pointer(p)).FnRef) } // Return the total number of pages in the cache. -func Xsqlite3PcachePagecount(tls *libc.TLS, pCache uintptr) int32 { /* sqlite3.c:51161:20: */ +func Xsqlite3PcachePagecount(tls *libc.TLS, pCache uintptr) int32 { /* sqlite3.c:51171:20: */ return (*struct { f func(*libc.TLS, uintptr) int32 @@ -29642,7 +29652,7 @@ func Xsqlite3PcachePagecount(tls *libc.TLS, pCache uintptr) int32 { /* sqlite3.c } // Set the suggested cache-size value. -func Xsqlite3PcacheSetCachesize(tls *libc.TLS, pCache uintptr, mxPage int32) { /* sqlite3.c:51178:21: */ +func Xsqlite3PcacheSetCachesize(tls *libc.TLS, pCache uintptr, mxPage int32) { /* sqlite3.c:51188:21: */ (*PCache)(unsafe.Pointer(pCache)).FszCache = mxPage (*struct { @@ -29654,7 +29664,7 @@ func Xsqlite3PcacheSetCachesize(tls *libc.TLS, pCache uintptr, mxPage int32) { / // Set the suggested cache-spill value. Make no changes if if the // argument is zero. Return the effective cache-spill size, which will // be the larger of the szSpill and szCache. -func Xsqlite3PcacheSetSpillsize(tls *libc.TLS, p uintptr, mxPage int32) int32 { /* sqlite3.c:51190:20: */ +func Xsqlite3PcacheSetSpillsize(tls *libc.TLS, p uintptr, mxPage int32) int32 { /* sqlite3.c:51200:20: */ var res int32 if mxPage != 0 { @@ -29671,20 +29681,20 @@ func Xsqlite3PcacheSetSpillsize(tls *libc.TLS, p uintptr, mxPage int32) int32 { } // Free up as much memory as possible from the page cache. -func Xsqlite3PcacheShrink(tls *libc.TLS, pCache uintptr) { /* sqlite3.c:51207:21: */ +func Xsqlite3PcacheShrink(tls *libc.TLS, pCache uintptr) { /* sqlite3.c:51217:21: */ (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{Xsqlite3Config.Fpcache2.FxShrink})).f(tls, (*PCache)(unsafe.Pointer(pCache)).FpCache) } // Return the size of the header added by this middleware layer // in the page-cache hierarchy. -func Xsqlite3HeaderSizePcache(tls *libc.TLS) int32 { /* sqlite3.c:51216:20: */ +func Xsqlite3HeaderSizePcache(tls *libc.TLS) int32 { /* sqlite3.c:51226:20: */ return int32((uint64(unsafe.Sizeof(PgHdr{})) + uint64(7)) & libc.Uint64FromInt32(libc.CplInt32(7))) } // Return the number of dirty pages currently in the cache, as a percentage // of the configured cache size. -func Xsqlite3PCachePercentDirty(tls *libc.TLS, pCache uintptr) int32 { /* sqlite3.c:51222:20: */ +func Xsqlite3PCachePercentDirty(tls *libc.TLS, pCache uintptr) int32 { /* sqlite3.c:51232:20: */ var pDirty uintptr var nDirty int32 = 0 var nCache int32 = numberOfCachePages(tls, pCache) @@ -29799,7 +29809,7 @@ type PCache11 = struct { FapHash uintptr FpFree uintptr FpBulk uintptr -} /* sqlite3.c:51339:9 */ +} /* sqlite3.c:51349:9 */ //************* End of pcache.c ********************************************* //************* Begin file pcache1.c **************************************** @@ -29885,7 +29895,7 @@ type PCache11 = struct { // common workloads. // #include "sqliteInt.h" -type PCache1 = PCache11 /* sqlite3.c:51339:24 */ +type PCache1 = PCache11 /* sqlite3.c:51349:24 */ type PgHdr11 = struct { Fpage Sqlite3_pcache_page FiKey uint32 @@ -29895,12 +29905,12 @@ type PgHdr11 = struct { FpCache uintptr FpLruNext uintptr FpLruPrev uintptr -} /* sqlite3.c:51339:9 */ +} /* sqlite3.c:51349:9 */ -type PgHdr1 = PgHdr11 /* sqlite3.c:51340:23 */ -type PgFreeslot1 = struct{ FpNext uintptr } /* sqlite3.c:51341:9 */ +type PgHdr1 = PgHdr11 /* sqlite3.c:51350:23 */ +type PgFreeslot1 = struct{ FpNext uintptr } /* sqlite3.c:51351:9 */ -type PgFreeslot = PgFreeslot1 /* sqlite3.c:51341:27 */ +type PgFreeslot = PgFreeslot1 /* sqlite3.c:51351:27 */ type PGroup1 = struct { Fmutex uintptr FnMaxPage uint32 @@ -29908,9 +29918,9 @@ type PGroup1 = struct { FmxPinned uint32 FnPurgeable uint32 Flru PgHdr1 -} /* sqlite3.c:51339:9 */ +} /* sqlite3.c:51349:9 */ -type PGroup = PGroup1 /* sqlite3.c:51342:23 */ +type PGroup = PGroup1 /* sqlite3.c:51352:23 */ // Global data used by this cache. type PCacheGlobal = struct { @@ -29927,10 +29937,10 @@ type PCacheGlobal = struct { FpFree uintptr FnFreeSlot int32 FbUnderPressure int32 -} /* sqlite3.c:51459:19 */ +} /* sqlite3.c:51469:19 */ // Global data used by this cache. -var pcache1_g PCacheGlobal /* sqlite3.c:51483:3: */ +var pcache1_g PCacheGlobal /* sqlite3.c:51493:3: */ // All code in this file should access the global structure above via the // alias "pcache1". This ensures that the WSD emulation is used when @@ -29948,7 +29958,7 @@ var pcache1_g PCacheGlobal /* sqlite3.c:51483:3: */ // // This routine is called from sqlite3_initialize() and so it is guaranteed // to be serialized already. There is no need for further mutexing. -func Xsqlite3PCacheBufferSetup(tls *libc.TLS, pBuf uintptr, sz int32, n int32) { /* sqlite3.c:51518:21: */ +func Xsqlite3PCacheBufferSetup(tls *libc.TLS, pBuf uintptr, sz int32, n int32) { /* sqlite3.c:51528:21: */ if pcache1_g.FisInit != 0 { var p uintptr if pBuf == uintptr(0) { @@ -29981,7 +29991,7 @@ func Xsqlite3PCacheBufferSetup(tls *libc.TLS, pBuf uintptr, sz int32, n int32) { // Try to initialize the pCache->pFree and pCache->pBulk fields. Return // true if pCache->pFree ends up containing one or more free pages. -func pcache1InitBulk(tls *libc.TLS, pCache uintptr) int32 { /* sqlite3.c:51544:12: */ +func pcache1InitBulk(tls *libc.TLS, pCache uintptr) int32 { /* sqlite3.c:51554:12: */ var szBulk I64 var zBulk uintptr if pcache1_g.FnInitPage == 0 { @@ -30026,7 +30036,7 @@ func pcache1InitBulk(tls *libc.TLS, pCache uintptr) int32 { /* sqlite3.c:51544:1 // // Multiple threads can run this routine at the same time. Global variables // in pcache1 need to be protected via mutex. -func pcache1Alloc(tls *libc.TLS, nByte int32) uintptr { /* sqlite3.c:51587:13: */ +func pcache1Alloc(tls *libc.TLS, nByte int32) uintptr { /* sqlite3.c:51597:13: */ var p uintptr = uintptr(0) if nByte <= pcache1_g.FszSlot { @@ -30059,7 +30069,7 @@ func pcache1Alloc(tls *libc.TLS, nByte int32) uintptr { /* sqlite3.c:51587:13: * } // Free an allocated buffer obtained from pcache1Alloc(). -func pcache1Free(tls *libc.TLS, p uintptr) { /* sqlite3.c:51625:13: */ +func pcache1Free(tls *libc.TLS, p uintptr) { /* sqlite3.c:51635:13: */ if p == uintptr(0) { return } @@ -30089,7 +30099,7 @@ func pcache1Free(tls *libc.TLS, p uintptr) { /* sqlite3.c:51625:13: */ } // Return the size of a pcache allocation -func pcache1MemSize(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:51658:12: */ +func pcache1MemSize(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:51668:12: */ if p >= pcache1_g.FpStart && p < pcache1_g.FpEnd { return pcache1_g.FszSlot } else { @@ -30103,7 +30113,7 @@ func pcache1MemSize(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:51658:12: */ } // Allocate a new page object initially associated with cache pCache. -func pcache1AllocPage(tls *libc.TLS, pCache uintptr, benignMalloc int32) uintptr { /* sqlite3.c:51675:15: */ +func pcache1AllocPage(tls *libc.TLS, pCache uintptr, benignMalloc int32) uintptr { /* sqlite3.c:51685:15: */ var p uintptr = uintptr(0) var pPg uintptr @@ -30141,7 +30151,7 @@ func pcache1AllocPage(tls *libc.TLS, pCache uintptr, benignMalloc int32) uintptr } // Free a page object allocated by pcache1AllocPage(). -func pcache1FreePage(tls *libc.TLS, p uintptr) { /* sqlite3.c:51727:13: */ +func pcache1FreePage(tls *libc.TLS, p uintptr) { /* sqlite3.c:51737:13: */ var pCache uintptr pCache = (*PgHdr1)(unsafe.Pointer(p)).FpCache @@ -30158,13 +30168,13 @@ func pcache1FreePage(tls *libc.TLS, p uintptr) { /* sqlite3.c:51727:13: */ // Malloc function used by SQLite to obtain space from the buffer configured // using sqlite3_config(SQLITE_CONFIG_PAGECACHE) option. If no such buffer // exists, this function falls back to sqlite3Malloc(). -func Xsqlite3PageMalloc(tls *libc.TLS, sz int32) uintptr { /* sqlite3.c:51749:21: */ +func Xsqlite3PageMalloc(tls *libc.TLS, sz int32) uintptr { /* sqlite3.c:51759:21: */ // These allocations are never very large return pcache1Alloc(tls, sz) } // Free an allocated buffer obtained from sqlite3PageMalloc(). -func Xsqlite3PageFree(tls *libc.TLS, p uintptr) { /* sqlite3.c:51757:21: */ +func Xsqlite3PageFree(tls *libc.TLS, p uintptr) { /* sqlite3.c:51767:21: */ pcache1Free(tls, p) } @@ -30182,7 +30192,7 @@ func Xsqlite3PageFree(tls *libc.TLS, p uintptr) { /* sqlite3.c:51757:21: */ // under memory pressure, then again it is desirable to avoid // allocating a new page cache entry in order to avoid stressing // the heap even further. -func pcache1UnderMemoryPressure(tls *libc.TLS, pCache uintptr) int32 { /* sqlite3.c:51778:12: */ +func pcache1UnderMemoryPressure(tls *libc.TLS, pCache uintptr) int32 { /* sqlite3.c:51788:12: */ if pcache1_g.FnSlot != 0 && (*PCache1)(unsafe.Pointer(pCache)).FszPage+(*PCache1)(unsafe.Pointer(pCache)).FszExtra <= pcache1_g.FszSlot { return pcache1_g.FbUnderPressure } else { @@ -30198,7 +30208,7 @@ func pcache1UnderMemoryPressure(tls *libc.TLS, pCache uintptr) int32 { /* sqlite // as the first argument. // // The PCache mutex must be held when this function is called. -func pcache1ResizeHash(tls *libc.TLS, p uintptr) { /* sqlite3.c:51795:13: */ +func pcache1ResizeHash(tls *libc.TLS, p uintptr) { /* sqlite3.c:51805:13: */ var apNew uintptr var nNew uint32 var i uint32 @@ -30239,7 +30249,7 @@ func pcache1ResizeHash(tls *libc.TLS, p uintptr) { /* sqlite3.c:51795:13: */ // LRU list, then this function is a no-op. // // The PGroup mutex must be held when this function is called. -func pcache1PinPage(tls *libc.TLS, pPage uintptr) uintptr { /* sqlite3.c:51836:15: */ +func pcache1PinPage(tls *libc.TLS, pPage uintptr) uintptr { /* sqlite3.c:51846:15: */ (*PgHdr1)(unsafe.Pointer((*PgHdr1)(unsafe.Pointer(pPage)).FpLruPrev)).FpLruNext = (*PgHdr1)(unsafe.Pointer(pPage)).FpLruNext (*PgHdr1)(unsafe.Pointer((*PgHdr1)(unsafe.Pointer(pPage)).FpLruNext)).FpLruPrev = (*PgHdr1)(unsafe.Pointer(pPage)).FpLruPrev @@ -30256,7 +30266,7 @@ func pcache1PinPage(tls *libc.TLS, pPage uintptr) uintptr { /* sqlite3.c:51836:1 // Also free the page if freePage is true. // // The PGroup mutex must be held when this function is called. -func pcache1RemoveFromHash(tls *libc.TLS, pPage uintptr, freeFlag int32) { /* sqlite3.c:51861:13: */ +func pcache1RemoveFromHash(tls *libc.TLS, pPage uintptr, freeFlag int32) { /* sqlite3.c:51871:13: */ var h uint32 var pCache uintptr = (*PgHdr1)(unsafe.Pointer(pPage)).FpCache var pp uintptr @@ -30274,7 +30284,7 @@ func pcache1RemoveFromHash(tls *libc.TLS, pPage uintptr, freeFlag int32) { /* sq // If there are currently more than nMaxPage pages allocated, try // to recycle pages to reduce the number allocated to nMaxPage. -func pcache1EnforceMaxPage(tls *libc.TLS, pCache uintptr) { /* sqlite3.c:51879:13: */ +func pcache1EnforceMaxPage(tls *libc.TLS, pCache uintptr) { /* sqlite3.c:51889:13: */ var pGroup uintptr = (*PCache1)(unsafe.Pointer(pCache)).FpGroup var p uintptr @@ -30295,7 +30305,7 @@ func pcache1EnforceMaxPage(tls *libc.TLS, pCache uintptr) { /* sqlite3.c:51879:1 // criteria are unpinned before they are discarded. // // The PCache mutex must be held when this function is called. -func pcache1TruncateUnsafe(tls *libc.TLS, pCache uintptr, iLimit uint32) { /* sqlite3.c:51904:13: */ +func pcache1TruncateUnsafe(tls *libc.TLS, pCache uintptr, iLimit uint32) { /* sqlite3.c:51914:13: */ var h uint32 var iStop uint32 @@ -30343,7 +30353,7 @@ func pcache1TruncateUnsafe(tls *libc.TLS, pCache uintptr, iLimit uint32) { /* sq //******* sqlite3_pcache Methods ********************************************* // Implementation of the sqlite3_pcache.xInit method. -func pcache1Init(tls *libc.TLS, NotUsed uintptr) int32 { /* sqlite3.c:51955:12: */ +func pcache1Init(tls *libc.TLS, NotUsed uintptr) int32 { /* sqlite3.c:51965:12: */ _ = NotUsed libc.Xmemset(tls, uintptr(unsafe.Pointer(&pcache1_g)), 0, uint64(unsafe.Sizeof(pcache1_g))) @@ -30381,7 +30391,7 @@ func pcache1Init(tls *libc.TLS, NotUsed uintptr) int32 { /* sqlite3.c:51955:12: // Implementation of the sqlite3_pcache.xShutdown method. // Note that the static mutex allocated in xInit does // not need to be freed. -func pcache1Shutdown(tls *libc.TLS, NotUsed uintptr) { /* sqlite3.c:52008:13: */ +func pcache1Shutdown(tls *libc.TLS, NotUsed uintptr) { /* sqlite3.c:52018:13: */ _ = NotUsed libc.Xmemset(tls, uintptr(unsafe.Pointer(&pcache1_g)), 0, uint64(unsafe.Sizeof(pcache1_g))) @@ -30390,7 +30400,7 @@ func pcache1Shutdown(tls *libc.TLS, NotUsed uintptr) { /* sqlite3.c:52008:13: */ // Implementation of the sqlite3_pcache.xCreate method. // // Allocate a new cache. -func pcache1Create(tls *libc.TLS, szPage int32, szExtra int32, bPurgeable int32) uintptr { /* sqlite3.c:52022:23: */ +func pcache1Create(tls *libc.TLS, szPage int32, szExtra int32, bPurgeable int32) uintptr { /* sqlite3.c:52032:23: */ var pCache uintptr // The newly created page cache var pGroup uintptr // The group the new page cache will belong to var sz int32 // Bytes of memory required to allocate the new cache @@ -30440,7 +30450,7 @@ func pcache1Create(tls *libc.TLS, szPage int32, szExtra int32, bPurgeable int32) // Implementation of the sqlite3_pcache.xCachesize method. // // Configure the cache_size limit for a cache. -func pcache1Cachesize(tls *libc.TLS, p uintptr, nMax int32) { /* sqlite3.c:52072:13: */ +func pcache1Cachesize(tls *libc.TLS, p uintptr, nMax int32) { /* sqlite3.c:52082:13: */ var pCache uintptr = p var n U32 @@ -30463,7 +30473,7 @@ func pcache1Cachesize(tls *libc.TLS, p uintptr, nMax int32) { /* sqlite3.c:52072 // Implementation of the sqlite3_pcache.xShrink method. // // Free up as much memory as possible. -func pcache1Shrink(tls *libc.TLS, p uintptr) { /* sqlite3.c:52097:13: */ +func pcache1Shrink(tls *libc.TLS, p uintptr) { /* sqlite3.c:52107:13: */ var pCache uintptr = p if (*PCache1)(unsafe.Pointer(pCache)).FbPurgeable != 0 { var pGroup uintptr = (*PCache1)(unsafe.Pointer(pCache)).FpGroup @@ -30478,7 +30488,7 @@ func pcache1Shrink(tls *libc.TLS, p uintptr) { /* sqlite3.c:52097:13: */ } // Implementation of the sqlite3_pcache.xPagecount method. -func pcache1Pagecount(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:52114:12: */ +func pcache1Pagecount(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:52124:12: */ var n int32 var pCache uintptr = p Xsqlite3_mutex_enter(tls, (*PGroup)(unsafe.Pointer((*PCache1)(unsafe.Pointer(pCache)).FpGroup)).Fmutex) @@ -30493,7 +30503,7 @@ func pcache1Pagecount(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:52114:12: * // This steps are broken out into a separate procedure because they are // usually not needed, and by avoiding the stack initialization required // for these steps, the main pcache1Fetch() procedure can run faster. -func pcache1FetchStage2(tls *libc.TLS, pCache uintptr, iKey uint32, createFlag int32) uintptr { /* sqlite3.c:52132:31: */ +func pcache1FetchStage2(tls *libc.TLS, pCache uintptr, iKey uint32, createFlag int32) uintptr { /* sqlite3.c:52142:31: */ var nPinned uint32 var pGroup uintptr = (*PCache1)(unsafe.Pointer(pCache)).FpGroup var pPage uintptr = uintptr(0) @@ -30611,7 +30621,7 @@ func pcache1FetchStage2(tls *libc.TLS, pCache uintptr, iKey uint32, createFlag i // the general case. pcache1FetchNoMutex() is a faster implementation for // the common case where pGroup->mutex is NULL. The pcache1Fetch() wrapper // invokes the appropriate routine. -func pcache1FetchNoMutex(tls *libc.TLS, p uintptr, iKey uint32, createFlag int32) uintptr { /* sqlite3.c:52260:15: */ +func pcache1FetchNoMutex(tls *libc.TLS, p uintptr, iKey uint32, createFlag int32) uintptr { /* sqlite3.c:52270:15: */ var pCache uintptr = p var pPage uintptr = uintptr(0) @@ -30640,7 +30650,7 @@ func pcache1FetchNoMutex(tls *libc.TLS, p uintptr, iKey uint32, createFlag int32 return uintptr(0) } -func pcache1FetchWithMutex(tls *libc.TLS, p uintptr, iKey uint32, createFlag int32) uintptr { /* sqlite3.c:52290:15: */ +func pcache1FetchWithMutex(tls *libc.TLS, p uintptr, iKey uint32, createFlag int32) uintptr { /* sqlite3.c:52300:15: */ var pCache uintptr = p var pPage uintptr @@ -30651,7 +30661,7 @@ func pcache1FetchWithMutex(tls *libc.TLS, p uintptr, iKey uint32, createFlag int return pPage } -func pcache1Fetch(tls *libc.TLS, p uintptr, iKey uint32, createFlag int32) uintptr { /* sqlite3.c:52305:28: */ +func pcache1Fetch(tls *libc.TLS, p uintptr, iKey uint32, createFlag int32) uintptr { /* sqlite3.c:52315:28: */ var pCache uintptr = p if (*PGroup)(unsafe.Pointer((*PCache1)(unsafe.Pointer(pCache)).FpGroup)).Fmutex != 0 { @@ -30665,7 +30675,7 @@ func pcache1Fetch(tls *libc.TLS, p uintptr, iKey uint32, createFlag int32) uintp // Implementation of the sqlite3_pcache.xUnpin method. // // Mark a page as unpinned (eligible for asynchronous recycling). -func pcache1Unpin(tls *libc.TLS, p uintptr, pPg uintptr, reuseUnlikely int32) { /* sqlite3.c:52336:13: */ +func pcache1Unpin(tls *libc.TLS, p uintptr, pPg uintptr, reuseUnlikely int32) { /* sqlite3.c:52346:13: */ var pCache uintptr = p var pPage uintptr = pPg var pGroup uintptr = (*PCache1)(unsafe.Pointer(pCache)).FpGroup @@ -30690,7 +30700,7 @@ func pcache1Unpin(tls *libc.TLS, p uintptr, pPg uintptr, reuseUnlikely int32) { } // Implementation of the sqlite3_pcache.xRekey method. -func pcache1Rekey(tls *libc.TLS, p uintptr, pPg uintptr, iOld uint32, iNew uint32) { /* sqlite3.c:52371:13: */ +func pcache1Rekey(tls *libc.TLS, p uintptr, pPg uintptr, iOld uint32, iNew uint32) { /* sqlite3.c:52381:13: */ var pCache uintptr = p var pPage uintptr = pPg var pp uintptr @@ -30721,7 +30731,7 @@ func pcache1Rekey(tls *libc.TLS, p uintptr, pPg uintptr, iOld uint32, iNew uint3 // Discard all unpinned pages in the cache with a page number equal to // or greater than parameter iLimit. Any pinned pages with a page number // equal to or greater than iLimit are implicitly unpinned. -func pcache1Truncate(tls *libc.TLS, p uintptr, iLimit uint32) { /* sqlite3.c:52411:13: */ +func pcache1Truncate(tls *libc.TLS, p uintptr, iLimit uint32) { /* sqlite3.c:52421:13: */ var pCache uintptr = p Xsqlite3_mutex_enter(tls, (*PGroup)(unsafe.Pointer((*PCache1)(unsafe.Pointer(pCache)).FpGroup)).Fmutex) if iLimit <= (*PCache1)(unsafe.Pointer(pCache)).FiMaxKey { @@ -30734,7 +30744,7 @@ func pcache1Truncate(tls *libc.TLS, p uintptr, iLimit uint32) { /* sqlite3.c:524 // Implementation of the sqlite3_pcache.xDestroy method. // // Destroy a cache allocated using pcache1Create(). -func pcache1Destroy(tls *libc.TLS, p uintptr) { /* sqlite3.c:52426:13: */ +func pcache1Destroy(tls *libc.TLS, p uintptr) { /* sqlite3.c:52436:13: */ var pCache uintptr = p var pGroup uintptr = (*PCache1)(unsafe.Pointer(pCache)).FpGroup @@ -30757,7 +30767,7 @@ func pcache1Destroy(tls *libc.TLS, p uintptr) { /* sqlite3.c:52426:13: */ // This function is called during initialization (sqlite3_initialize()) to // install the default pluggable cache module, assuming the user has not // already provided an alternative. -func Xsqlite3PCacheSetDefault(tls *libc.TLS) { /* sqlite3.c:52449:21: */ +func Xsqlite3PCacheSetDefault(tls *libc.TLS) { /* sqlite3.c:52459:21: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -30777,16 +30787,16 @@ var defaultMethods1 = Sqlite3_pcache_methods2{ FxTruncate: 0, // xTruncate FxDestroy: 0, // xDestroy FxShrink: 0, // xShrink -} /* sqlite3.c:52450:40 */ +} /* sqlite3.c:52460:40 */ // Return the size of the header on each page of this PCACHE implementation. -func Xsqlite3HeaderSizePcache1(tls *libc.TLS) int32 { /* sqlite3.c:52471:20: */ +func Xsqlite3HeaderSizePcache1(tls *libc.TLS) int32 { /* sqlite3.c:52481:20: */ return int32((uint64(unsafe.Sizeof(PgHdr1{})) + uint64(7)) & libc.Uint64FromInt32(libc.CplInt32(7))) } // Return the global mutex used by this PCACHE implementation. The // sqlite3_status() routine needs access to this mutex. -func Xsqlite3Pcache1Mutex(tls *libc.TLS) uintptr { /* sqlite3.c:52477:30: */ +func Xsqlite3Pcache1Mutex(tls *libc.TLS) uintptr { /* sqlite3.c:52487:30: */ return pcache1_g.Fmutex } @@ -30797,7 +30807,7 @@ func Xsqlite3Pcache1Mutex(tls *libc.TLS) uintptr { /* sqlite3.c:52477:30: */ // nReq is the number of bytes of memory required. Once this much has // been released, the function returns. The return value is the total number // of bytes of memory released. -func Xsqlite3PcacheReleaseMemory(tls *libc.TLS, nReq int32) int32 { /* sqlite3.c:52491:20: */ +func Xsqlite3PcacheReleaseMemory(tls *libc.TLS, nReq int32) int32 { /* sqlite3.c:52501:20: */ var nFree int32 = 0 if Xsqlite3Config.FpPage == uintptr(0) { @@ -30914,7 +30924,7 @@ type RowSetChunk = struct { // Allocate a RowSet object. Return NULL if a memory allocation // error occurs. -func Xsqlite3RowSetInit(tls *libc.TLS, db uintptr) uintptr { /* sqlite3.c:52671:23: */ +func Xsqlite3RowSetInit(tls *libc.TLS, db uintptr) uintptr { /* sqlite3.c:52681:23: */ var p uintptr = Xsqlite3DbMallocRawNN(tls, db, uint64(unsafe.Sizeof(RowSet{}))) if p != 0 { var N int32 = Xsqlite3DbMallocSize(tls, db, p) @@ -30934,7 +30944,7 @@ func Xsqlite3RowSetInit(tls *libc.TLS, db uintptr) uintptr { /* sqlite3.c:52671: // Deallocate all chunks from a RowSet. This frees all memory that // the RowSet has allocated over its lifetime. This routine is // the destructor for the RowSet. -func Xsqlite3RowSetClear(tls *libc.TLS, pArg uintptr) { /* sqlite3.c:52693:21: */ +func Xsqlite3RowSetClear(tls *libc.TLS, pArg uintptr) { /* sqlite3.c:52703:21: */ var p uintptr = pArg var pChunk uintptr var pNextChunk uintptr @@ -30953,7 +30963,7 @@ func Xsqlite3RowSetClear(tls *libc.TLS, pArg uintptr) { /* sqlite3.c:52693:21: * // Deallocate all chunks from a RowSet. This frees all memory that // the RowSet has allocated over its lifetime. This routine is // the destructor for the RowSet. -func Xsqlite3RowSetDelete(tls *libc.TLS, pArg uintptr) { /* sqlite3.c:52713:21: */ +func Xsqlite3RowSetDelete(tls *libc.TLS, pArg uintptr) { /* sqlite3.c:52723:21: */ Xsqlite3RowSetClear(tls, pArg) Xsqlite3DbFree(tls, (*RowSet)(unsafe.Pointer(pArg)).Fdb, pArg) } @@ -30964,7 +30974,7 @@ func Xsqlite3RowSetDelete(tls *libc.TLS, pArg uintptr) { /* sqlite3.c:52713:21: // // In an OOM situation, the RowSet.db->mallocFailed flag is set and this // routine returns NULL. -func rowSetEntryAlloc(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:52726:27: */ +func rowSetEntryAlloc(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:52736:27: */ if int32((*RowSet)(unsafe.Pointer(p)).FnFresh) == 0 { //OPTIMIZATION-IF-FALSE // We could allocate a fresh RowSetEntry each time one is needed, but it @@ -30987,7 +30997,7 @@ func rowSetEntryAlloc(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:52726:27: // // The mallocFailed flag of the database connection is set if a // memory allocation fails. -func Xsqlite3RowSetInsert(tls *libc.TLS, p uintptr, rowid I64) { /* sqlite3.c:52751:21: */ +func Xsqlite3RowSetInsert(tls *libc.TLS, p uintptr, rowid I64) { /* sqlite3.c:52761:21: */ var pEntry uintptr // The new entry var pLast uintptr // The last prior entry @@ -31017,7 +31027,7 @@ func Xsqlite3RowSetInsert(tls *libc.TLS, p uintptr, rowid I64) { /* sqlite3.c:52 // // The input lists are connected via pRight pointers and are // assumed to each already be in sorted order. -func rowSetEntryMerge(tls *libc.TLS, pA uintptr, pB uintptr) uintptr { /* sqlite3.c:52782:27: */ +func rowSetEntryMerge(tls *libc.TLS, pA uintptr, pB uintptr) uintptr { /* sqlite3.c:52792:27: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -31052,7 +31062,7 @@ func rowSetEntryMerge(tls *libc.TLS, pA uintptr, pB uintptr) uintptr { /* sqlite // Sort all elements on the list of RowSetEntry objects into order of // increasing v. -func rowSetEntrySort(tls *libc.TLS, pIn uintptr) uintptr { /* sqlite3.c:52817:27: */ +func rowSetEntrySort(tls *libc.TLS, pIn uintptr) uintptr { /* sqlite3.c:52827:27: */ bp := tls.Alloc(320) defer tls.Free(320) @@ -31088,7 +31098,7 @@ func rowSetEntrySort(tls *libc.TLS, pIn uintptr) uintptr { /* sqlite3.c:52817:27 // The input, pIn, is a binary tree (or subtree) of RowSetEntry objects. // Convert this tree into a linked list connected by the pRight pointers // and return pointers to the first and last elements of the new list. -func rowSetTreeToList(tls *libc.TLS, pIn uintptr, ppFirst uintptr, ppLast uintptr) { /* sqlite3.c:52846:13: */ +func rowSetTreeToList(tls *libc.TLS, pIn uintptr, ppFirst uintptr, ppLast uintptr) { /* sqlite3.c:52856:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -31119,7 +31129,7 @@ func rowSetTreeToList(tls *libc.TLS, pIn uintptr, ppFirst uintptr, ppLast uintpt // and leave *ppList set to NULL. // // Return a pointer to the root of the constructed binary tree. -func rowSetNDeepTree(tls *libc.TLS, ppList uintptr, iDepth int32) uintptr { /* sqlite3.c:52881:27: */ +func rowSetNDeepTree(tls *libc.TLS, ppList uintptr, iDepth int32) uintptr { /* sqlite3.c:52891:27: */ var p uintptr // Root of the new tree var pLeft uintptr // Left subtree if *(*uintptr)(unsafe.Pointer(ppList)) == uintptr(0) { //OPTIMIZATION-IF-TRUE @@ -31150,7 +31160,7 @@ func rowSetNDeepTree(tls *libc.TLS, ppList uintptr, iDepth int32) uintptr { /* s // Convert a sorted list of elements into a binary tree. Make the tree // as deep as it needs to be in order to contain the entire list. -func rowSetListToTree(tls *libc.TLS, pList uintptr) uintptr { /* sqlite3.c:52917:27: */ +func rowSetListToTree(tls *libc.TLS, pList uintptr) uintptr { /* sqlite3.c:52927:27: */ bp := tls.Alloc(8) defer tls.Free(8) *(*uintptr)(unsafe.Pointer(bp)) = pList @@ -31183,7 +31193,7 @@ func rowSetListToTree(tls *libc.TLS, pList uintptr) uintptr { /* sqlite3.c:52917 // been used. Older versions of RowSet allowed that, but as the // capability was not used by the code generator, it was removed // for code economy. -func Xsqlite3RowSetNext(tls *libc.TLS, p uintptr, pRowid uintptr) int32 { /* sqlite3.c:52949:20: */ +func Xsqlite3RowSetNext(tls *libc.TLS, p uintptr, pRowid uintptr) int32 { /* sqlite3.c:52959:20: */ // Cannot be used with sqlite3RowSetText() @@ -31216,7 +31226,7 @@ func Xsqlite3RowSetNext(tls *libc.TLS, p uintptr, pRowid uintptr) int32 { /* sql // If this is the first test of a new batch and if there exist entries // on pRowSet->pEntry, then sort those entries into the forest at // pRowSet->pForest so that they can be tested. -func Xsqlite3RowSetTest(tls *libc.TLS, pRowSet uintptr, iBatch int32, iRowid Sqlite3_int64) int32 { /* sqlite3.c:52983:20: */ +func Xsqlite3RowSetTest(tls *libc.TLS, pRowSet uintptr, iBatch int32, iRowid Sqlite3_int64) int32 { /* sqlite3.c:52993:20: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -31401,7 +31411,7 @@ type Wal1 = struct { // Connection to a write-ahead log (WAL) file. // There is one object of this type for each pager. -type Wal = Wal1 /* sqlite3.c:53125:20 */ +type Wal = Wal1 /* sqlite3.c:53135:20 */ //************* End of wal.h ************************************************ //************* Continuing where we left off in pager.c ********************* @@ -32170,7 +32180,7 @@ type PagerSavepoint1 = struct { // immediately following the last journal record written into the main // journal before the journal-header. This is required during savepoint // rollback (see pagerPlaybackSavepoint()). -type PagerSavepoint = PagerSavepoint1 /* sqlite3.c:53636:31 */ +type PagerSavepoint = PagerSavepoint1 /* sqlite3.c:53646:31 */ // Indexes for use with Pager.aStat[]. The Pager.aStat[] array contains // the values accessed by passing SQLITE_DBSTATUS_CACHE_HIT, CACHE_MISS @@ -32203,11 +32213,11 @@ type PagerSavepoint = PagerSavepoint1 /* sqlite3.c:53636:31 */ // is different for every journal, we minimize that risk. var aJournalMagic = [8]uint8{ uint8(0xd9), uint8(0xd5), uint8(0x05), uint8(0xf9), uint8(0x20), uint8(0xa1), uint8(0x63), uint8(0xd7), -} /* sqlite3.c:53958:28 */ +} /* sqlite3.c:53968:28 */ // Set the Pager.xGet method for the appropriate routine used to fetch // content from the pager. -func setGetterMethod(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:54251:13: */ +func setGetterMethod(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:54261:13: */ if (*Pager)(unsafe.Pointer(pPager)).FerrCode != 0 { (*Pager)(unsafe.Pointer(pPager)).FxGet = *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, Pgno, uintptr, int32) int32 @@ -32230,7 +32240,7 @@ func setGetterMethod(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:54251:13: */ // * The page-number is less than or equal to PagerSavepoint.nOrig, and // * The bit corresponding to the page-number is not set in // PagerSavepoint.pInSavepoint. -func subjRequiresPage(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:54272:12: */ +func subjRequiresPage(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:54282:12: */ var pPager uintptr = (*PgHdr)(unsafe.Pointer(pPg)).FpPager var p uintptr var pgno Pgno = (*PgHdr)(unsafe.Pointer(pPg)).Fpgno @@ -32252,7 +32262,7 @@ func subjRequiresPage(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:54272:12: // error code is something goes wrong. // // All values are stored on disk as big-endian. -func read32bits(tls *libc.TLS, fd uintptr, offset I64, pRes uintptr) int32 { /* sqlite3.c:54305:12: */ +func read32bits(tls *libc.TLS, fd uintptr, offset I64, pRes uintptr) int32 { /* sqlite3.c:54315:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -32269,7 +32279,7 @@ func read32bits(tls *libc.TLS, fd uintptr, offset I64, pRes uintptr) int32 { /* // Write a 32-bit integer into the given file descriptor. Return SQLITE_OK // on success or an error code is something goes wrong. -func write32bits(tls *libc.TLS, fd uintptr, offset I64, val U32) int32 { /* sqlite3.c:54324:12: */ +func write32bits(tls *libc.TLS, fd uintptr, offset I64, val U32) int32 { /* sqlite3.c:54334:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -32286,7 +32296,7 @@ func write32bits(tls *libc.TLS, fd uintptr, offset I64, val U32) int32 { /* sqli // Except, if Pager.eLock is set to UNKNOWN_LOCK when this function is // called, do not modify it. See the comment above the #define of // UNKNOWN_LOCK for an explanation of this. -func pagerUnlockDb(tls *libc.TLS, pPager uintptr, eLock int32) int32 { /* sqlite3.c:54339:12: */ +func pagerUnlockDb(tls *libc.TLS, pPager uintptr, eLock int32) int32 { /* sqlite3.c:54349:12: */ var rc int32 = SQLITE_OK if (*Sqlite3_file)(unsafe.Pointer((*Pager)(unsafe.Pointer(pPager)).Ffd)).FpMethods != uintptr(0) { @@ -32313,7 +32323,7 @@ func pagerUnlockDb(tls *libc.TLS, pPager uintptr, eLock int32) int32 { /* sqlite // called, do not modify it unless the new locking state is EXCLUSIVE_LOCK. // See the comment above the #define of UNKNOWN_LOCK for an explanation // of this. -func pagerLockDb(tls *libc.TLS, pPager uintptr, eLock int32) int32 { /* sqlite3.c:54367:12: */ +func pagerLockDb(tls *libc.TLS, pPager uintptr, eLock int32) int32 { /* sqlite3.c:54377:12: */ var rc int32 = SQLITE_OK if int32((*Pager)(unsafe.Pointer(pPager)).FeLock) < eLock || int32((*Pager)(unsafe.Pointer(pPager)).FeLock) == EXCLUSIVE_LOCK+1 { @@ -32347,7 +32357,7 @@ func pagerLockDb(tls *libc.TLS, pPager uintptr, eLock int32) int32 { /* sqlite3. // returned in this case. // // If neither optimization can be used, 0 is returned. -func jrnlBufferSize(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:54400:12: */ +func jrnlBufferSize(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:54410:12: */ _ = pPager @@ -32381,7 +32391,7 @@ func jrnlBufferSize(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:54400:12 // // If an error occurs while reading from the journal file, an SQLite // error code is returned. -func readSuperJournal(tls *libc.TLS, pJrnl uintptr, zSuper uintptr, nSuper U32) int32 { /* sqlite3.c:54505:12: */ +func readSuperJournal(tls *libc.TLS, pJrnl uintptr, zSuper uintptr, nSuper U32) int32 { /* sqlite3.c:54515:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -32440,7 +32450,7 @@ func readSuperJournal(tls *libc.TLS, pJrnl uintptr, zSuper uintptr, nSuper U32) // 100 512 // 2000 2048 // -func journalHdrOffset(tls *libc.TLS, pPager uintptr) I64 { /* sqlite3.c:54561:12: */ +func journalHdrOffset(tls *libc.TLS, pPager uintptr) I64 { /* sqlite3.c:54571:12: */ var offset I64 = int64(0) var c I64 = (*Pager)(unsafe.Pointer(pPager)).FjournalOff if c != 0 { @@ -32469,7 +32479,7 @@ func journalHdrOffset(tls *libc.TLS, pPager uintptr) I64 { /* sqlite3.c:54561:12 // // If an IO error occurs, abandon processing and return the IO error code. // Otherwise, return SQLITE_OK. -func zeroJournalHdr(tls *libc.TLS, pPager uintptr, doTruncate int32) int32 { /* sqlite3.c:54594:12: */ +func zeroJournalHdr(tls *libc.TLS, pPager uintptr, doTruncate int32) int32 { /* sqlite3.c:54604:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -32504,7 +32514,7 @@ func zeroJournalHdr(tls *libc.TLS, pPager uintptr, doTruncate int32) int32 { /* return rc } -var zeroHdr = [28]int8{0: int8(0)} /* sqlite3.c:54605:25 */ +var zeroHdr = [28]int8{0: int8(0)} /* sqlite3.c:54615:25 */ // The journal file must be open when this routine is called. A journal // header (JOURNAL_HDR_SZ bytes) is written into the journal file at the @@ -32519,7 +32529,7 @@ var zeroHdr = [28]int8{0: int8(0)} /* sqlite3.c:54605:25 */ // - 4 bytes: Database page size. // // Followed by (JOURNAL_HDR_SZ - 28) bytes of unused space. -func writeJournalHdr(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:54644:12: */ +func writeJournalHdr(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:54654:12: */ var rc int32 = SQLITE_OK // Return code var zHeader uintptr = (*Pager)(unsafe.Pointer(pPager)).FpTmpSpace // Temporary space used to build header var nHeader U32 = U32((*Pager)(unsafe.Pointer(pPager)).FpageSize) // Size of buffer pointed to by zHeader @@ -32629,7 +32639,7 @@ func writeJournalHdr(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:54644:1 // If the journal header file appears to be corrupted, SQLITE_DONE is // returned and *pNRec and *PDbSize are undefined. If JOURNAL_HDR_SZ bytes // cannot be read from the journal file an error code is returned. -func readJournalHdr(tls *libc.TLS, pPager uintptr, isHot int32, journalSize I64, pNRec uintptr, pDbSize uintptr) int32 { /* sqlite3.c:54762:12: */ +func readJournalHdr(tls *libc.TLS, pPager uintptr, isHot int32, journalSize I64, pNRec uintptr, pDbSize uintptr) int32 { /* sqlite3.c:54772:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -32739,7 +32749,7 @@ func readJournalHdr(tls *libc.TLS, pPager uintptr, isHot int32, journalSize I64, // // If zSuper is a NULL pointer (occurs for a single database transaction), // this call is a no-op. -func writeSuperJournal(tls *libc.TLS, pPager uintptr, zSuper uintptr) int32 { /* sqlite3.c:54887:12: */ +func writeSuperJournal(tls *libc.TLS, pPager uintptr, zSuper uintptr) int32 { /* sqlite3.c:54897:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -32799,21 +32809,21 @@ func writeSuperJournal(tls *libc.TLS, pPager uintptr, zSuper uintptr) int32 { /* } // Discard the entire contents of the in-memory page-cache. -func pager_reset(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:54955:13: */ +func pager_reset(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:54965:13: */ (*Pager)(unsafe.Pointer(pPager)).FiDataVersion++ Xsqlite3BackupRestart(tls, (*Pager)(unsafe.Pointer(pPager)).FpBackup) Xsqlite3PcacheClear(tls, (*Pager)(unsafe.Pointer(pPager)).FpPCache) } // Return the pPager->iDataVersion value -func Xsqlite3PagerDataVersion(tls *libc.TLS, pPager uintptr) U32 { /* sqlite3.c:54964:20: */ +func Xsqlite3PagerDataVersion(tls *libc.TLS, pPager uintptr) U32 { /* sqlite3.c:54974:20: */ return (*Pager)(unsafe.Pointer(pPager)).FiDataVersion } // Free all structures in the Pager.aSavepoint[] array and set both // Pager.aSavepoint and Pager.nSavepoint to zero. Close the sub-journal // if it is open and the pager is not in exclusive mode. -func releaseAllSavepoints(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:54973:13: */ +func releaseAllSavepoints(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:54983:13: */ var ii int32 // Iterator for looping through Pager.aSavepoint for ii = 0; ii < (*Pager)(unsafe.Pointer(pPager)).FnSavepoint; ii++ { Xsqlite3BitvecDestroy(tls, (*PagerSavepoint)(unsafe.Pointer((*Pager)(unsafe.Pointer(pPager)).FaSavepoint+uintptr(ii)*56)).FpInSavepoint) @@ -32830,7 +32840,7 @@ func releaseAllSavepoints(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:54973:13 // Set the bit number pgno in the PagerSavepoint.pInSavepoint // bitvecs of all open savepoints. Return SQLITE_OK if successful // or SQLITE_NOMEM if a malloc failure occurs. -func addToSavepointBitvecs(tls *libc.TLS, pPager uintptr, pgno Pgno) int32 { /* sqlite3.c:54992:12: */ +func addToSavepointBitvecs(tls *libc.TLS, pPager uintptr, pgno Pgno) int32 { /* sqlite3.c:55002:12: */ var ii int32 // Loop counter var rc int32 = SQLITE_OK // Result code @@ -32859,7 +32869,7 @@ func addToSavepointBitvecs(tls *libc.TLS, pPager uintptr, pgno Pgno) int32 { /* // or not, any journal file left in the file-system will be treated // as a hot-journal and rolled back the next time a read-transaction // is opened (by this or by any other connection). -func pager_unlock(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:55024:13: */ +func pager_unlock(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:55034:13: */ Xsqlite3BitvecDestroy(tls, (*Pager)(unsafe.Pointer(pPager)).FpInJournal) (*Pager)(unsafe.Pointer(pPager)).FpInJournal = uintptr(0) @@ -32951,7 +32961,7 @@ func pager_unlock(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:55024:13: */ // the persistent error occurred, then the rollback journal may need // to be replayed to restore the contents of the database file (as if // it were a hot-journal). -func pager_error(tls *libc.TLS, pPager uintptr, rc int32) int32 { /* sqlite3.c:55121:12: */ +func pager_error(tls *libc.TLS, pPager uintptr, rc int32) int32 { /* sqlite3.c:55131:12: */ var rc2 int32 = rc & 0xff if rc2 == SQLITE_FULL || rc2 == SQLITE_IOERR { @@ -32976,7 +32986,7 @@ func pager_error(tls *libc.TLS, pPager uintptr, rc int32) int32 { /* sqlite3.c:5 // file has been created already (via a spill on pagerStress()) and // when the number of dirty pages in memory exceeds 25% of the total // cache size. -func pagerFlushOnCommit(tls *libc.TLS, pPager uintptr, bCommit int32) int32 { /* sqlite3.c:55155:12: */ +func pagerFlushOnCommit(tls *libc.TLS, pPager uintptr, bCommit int32) int32 { /* sqlite3.c:55165:12: */ if int32((*Pager)(unsafe.Pointer(pPager)).FtempFile) == 0 { return 1 } @@ -33040,7 +33050,7 @@ func pagerFlushOnCommit(tls *libc.TLS, pPager uintptr, bCommit int32) int32 { /* // unlock operation fails as well, then the first error code related // to the first error encountered (the journal finalization one) is // returned. -func pager_end_transaction(tls *libc.TLS, pPager uintptr, hasSuper int32, bCommit int32) int32 { /* sqlite3.c:55215:12: */ +func pager_end_transaction(tls *libc.TLS, pPager uintptr, hasSuper int32, bCommit int32) int32 { /* sqlite3.c:55225:12: */ var rc int32 = SQLITE_OK // Error code from journal finalization operation var rc2 int32 = SQLITE_OK // Error code from db file unlock operation @@ -33167,7 +33177,7 @@ func pager_end_transaction(tls *libc.TLS, pPager uintptr, hasSuper int32, bCommi // malloc error occurs during a rollback, then this will itself cause // the pager to enter the ERROR state. Which will be cleared by the // call to pager_unlock(), as described above. -func pagerUnlockAndRollback(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:55362:13: */ +func pagerUnlockAndRollback(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:55372:13: */ if int32((*Pager)(unsafe.Pointer(pPager)).FeState) != PAGER_ERROR && int32((*Pager)(unsafe.Pointer(pPager)).FeState) != PAGER_OPEN { if int32((*Pager)(unsafe.Pointer(pPager)).FeState) >= PAGER_WRITER_LOCKED { @@ -33199,7 +33209,7 @@ func pagerUnlockAndRollback(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:55362: // It is much less likely that the two ends of the journal record will be // correct and the middle be corrupt. Thus, this "checksum" scheme, // though fast and simple, catches the mostly likely kind of corruption. -func pager_cksum(tls *libc.TLS, pPager uintptr, aData uintptr) U32 { /* sqlite3.c:55396:12: */ +func pager_cksum(tls *libc.TLS, pPager uintptr, aData uintptr) U32 { /* sqlite3.c:55406:12: */ var cksum U32 = (*Pager)(unsafe.Pointer(pPager)).FcksumInit // Checksum value to return var i int32 = int32((*Pager)(unsafe.Pointer(pPager)).FpageSize - int64(200)) // Loop counter for i > 0 { @@ -33244,7 +33254,7 @@ func pager_cksum(tls *libc.TLS, pPager uintptr, aData uintptr) U32 { /* sqlite3. // If this is a savepoint rollback, then memory may have to be dynamically // allocated by this function. If this is the case and an allocation fails, // SQLITE_NOMEM is returned. -func pager_playback_one_page(tls *libc.TLS, pPager uintptr, pOffset uintptr, pDone uintptr, isMainJrnl int32, isSavepnt int32) int32 { /* sqlite3.c:55443:12: */ +func pager_playback_one_page(tls *libc.TLS, pPager uintptr, pOffset uintptr, pDone uintptr, isMainJrnl int32, isSavepnt int32) int32 { /* sqlite3.c:55453:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -33478,7 +33488,7 @@ func pager_playback_one_page(tls *libc.TLS, pPager uintptr, pOffset uintptr, pDo // the entire contents of the super-journal file. This could be // a couple of kilobytes or so - potentially larger than the page // size. -func pager_delsuper(tls *libc.TLS, pPager uintptr, zSuper uintptr) int32 { /* sqlite3.c:55690:12: */ +func pager_delsuper(tls *libc.TLS, pPager uintptr, zSuper uintptr) int32 { /* sqlite3.c:55700:12: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -33644,7 +33654,7 @@ __14: // // If successful, return SQLITE_OK. If an IO error occurs while modifying // the database file, return the error code to the caller. -func pager_truncate(tls *libc.TLS, pPager uintptr, nPage Pgno) int32 { /* sqlite3.c:55808:12: */ +func pager_truncate(tls *libc.TLS, pPager uintptr, nPage Pgno) int32 { /* sqlite3.c:55818:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -33679,7 +33689,7 @@ func pager_truncate(tls *libc.TLS, pPager uintptr, nPage Pgno) int32 { /* sqlite // Return a sanitized version of the sector-size of OS file pFile. The // return value is guaranteed to lie between 32 and MAX_SECTOR_SIZE. -func Xsqlite3SectorSize(tls *libc.TLS, pFile uintptr) int32 { /* sqlite3.c:55844:20: */ +func Xsqlite3SectorSize(tls *libc.TLS, pFile uintptr) int32 { /* sqlite3.c:55854:20: */ var iRet int32 = Xsqlite3OsSectorSize(tls, pFile) if iRet < 32 { iRet = 512 @@ -33711,7 +33721,7 @@ func Xsqlite3SectorSize(tls *libc.TLS, pFile uintptr) int32 { /* sqlite3.c:55844 // (that is what POWERSAFE_OVERWRITE means), so we minimize the sector // size. For backwards compatibility of the rollback journal file format, // we cannot reduce the effective sector size below 512. -func setSectorSize(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:55878:13: */ +func setSectorSize(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:55888:13: */ if (*Pager)(unsafe.Pointer(pPager)).FtempFile != 0 || Xsqlite3OsDeviceCharacteristics(tls, (*Pager)(unsafe.Pointer(pPager)).Ffd)&SQLITE_IOCAP_POWERSAFE_OVERWRITE != 0 { @@ -33779,7 +33789,7 @@ func setSectorSize(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:55878:13: */ // If the journal really is hot, reset the pager cache prior rolling // back any content. If the journal is merely persistent, no reset is // needed. -func pager_playback(tls *libc.TLS, pPager uintptr, isHot int32) int32 { /* sqlite3.c:55951:12: */ +func pager_playback(tls *libc.TLS, pPager uintptr, isHot int32) int32 { /* sqlite3.c:55961:12: */ bp := tls.Alloc(40) defer tls.Free(40) @@ -34070,7 +34080,7 @@ __28: // // If an IO error occurs, then the IO error is returned to the caller. // Otherwise, SQLITE_OK is returned. -func readDbPage(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:56171:12: */ +func readDbPage(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:56181:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -34124,7 +34134,7 @@ func readDbPage(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:56171:12: */ // This is an unconditional update. See also the pager_incr_changecounter() // routine which only updates the change-counter if the update is actually // needed, as determined by the pPager->changeCountDone state variable. -func pager_write_changecounter(tls *libc.TLS, pPg uintptr) { /* sqlite3.c:56234:13: */ +func pager_write_changecounter(tls *libc.TLS, pPg uintptr) { /* sqlite3.c:56244:13: */ var change_counter U32 if pPg == uintptr(0) { return @@ -34151,7 +34161,7 @@ func pager_write_changecounter(tls *libc.TLS, pPg uintptr) { /* sqlite3.c:56234: // references, the page content is reloaded from the database. If the // attempt to reload content from the database is required and fails, // return an SQLite error code. Otherwise, SQLITE_OK. -func pagerUndoCallback(tls *libc.TLS, pCtx uintptr, iPg Pgno) int32 { /* sqlite3.c:56262:12: */ +func pagerUndoCallback(tls *libc.TLS, pCtx uintptr, iPg Pgno) int32 { /* sqlite3.c:56272:12: */ var rc int32 = SQLITE_OK var pPager uintptr = pCtx var pPg uintptr @@ -34182,7 +34192,7 @@ func pagerUndoCallback(tls *libc.TLS, pCtx uintptr, iPg Pgno) int32 { /* sqlite3 } // This function is called to rollback a transaction on a WAL database. -func pagerRollbackWal(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:56297:12: */ +func pagerRollbackWal(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:56307:12: */ var rc int32 // Return Code var pList uintptr // List of dirty pages to revert @@ -34213,7 +34223,7 @@ func pagerRollbackWal(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:56297: // // The list of pages passed into this routine is always sorted by page number. // Hence, if page 1 appears anywhere on the list, it will be the first page. -func pagerWalFrames(tls *libc.TLS, pPager uintptr, pList uintptr, nTruncate Pgno, isCommit int32) int32 { /* sqlite3.c:56329:12: */ +func pagerWalFrames(tls *libc.TLS, pPager uintptr, pList uintptr, nTruncate Pgno, isCommit int32) int32 { /* sqlite3.c:56339:12: */ bp := tls.Alloc(8) defer tls.Free(8) *(*uintptr)(unsafe.Pointer(bp)) = pList @@ -34261,7 +34271,7 @@ func pagerWalFrames(tls *libc.TLS, pPager uintptr, pList uintptr, nTruncate Pgno // makes a snapshot of the database at the current point in time and preserves // that snapshot for use by the reader in spite of concurrently changes by // other writers or checkpointers. -func pagerBeginReadTransaction(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:56396:12: */ +func pagerBeginReadTransaction(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:56406:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -34292,7 +34302,7 @@ func pagerBeginReadTransaction(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3 // If no error occurs, SQLITE_OK is returned and the size of the database // in pages is stored in *pnPage. Otherwise, an error code (perhaps // SQLITE_IOERR_FSTAT) is returned and *pnPage is left unmodified. -func pagerPagecount(tls *libc.TLS, pPager uintptr, pnPage uintptr) int32 { /* sqlite3.c:56429:12: */ +func pagerPagecount(tls *libc.TLS, pPager uintptr, pnPage uintptr) int32 { /* sqlite3.c:56439:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -34346,7 +34356,7 @@ func pagerPagecount(tls *libc.TLS, pPager uintptr, pnPage uintptr) int32 { /* sq // a WAL on a none-empty database, this ensures there is no race condition // between the xAccess() below and an xDelete() being executed by some // other connection. -func pagerOpenWalIfPresent(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:56489:12: */ +func pagerOpenWalIfPresent(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:56499:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -34414,7 +34424,7 @@ func pagerOpenWalIfPresent(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:5 // is reset to the value that it held at the start of the savepoint // (or transaction). No page with a page-number greater than this value // is played back. If one is encountered it is simply skipped. -func pagerPlaybackSavepoint(tls *libc.TLS, pPager uintptr, pSavepoint uintptr) int32 { /* sqlite3.c:56556:12: */ +func pagerPlaybackSavepoint(tls *libc.TLS, pPager uintptr, pSavepoint uintptr) int32 { /* sqlite3.c:56566:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -34523,18 +34533,18 @@ func pagerPlaybackSavepoint(tls *libc.TLS, pPager uintptr, pSavepoint uintptr) i // Change the maximum number of in-memory pages that are allowed // before attempting to recycle clean and unused pages. -func Xsqlite3PagerSetCachesize(tls *libc.TLS, pPager uintptr, mxPage int32) { /* sqlite3.c:56668:21: */ +func Xsqlite3PagerSetCachesize(tls *libc.TLS, pPager uintptr, mxPage int32) { /* sqlite3.c:56678:21: */ Xsqlite3PcacheSetCachesize(tls, (*Pager)(unsafe.Pointer(pPager)).FpPCache, mxPage) } // Change the maximum number of in-memory pages that are allowed // before attempting to spill pages to journal. -func Xsqlite3PagerSetSpillsize(tls *libc.TLS, pPager uintptr, mxPage int32) int32 { /* sqlite3.c:56676:20: */ +func Xsqlite3PagerSetSpillsize(tls *libc.TLS, pPager uintptr, mxPage int32) int32 { /* sqlite3.c:56686:20: */ return Xsqlite3PcacheSetSpillsize(tls, (*Pager)(unsafe.Pointer(pPager)).FpPCache, mxPage) } // Invoke SQLITE_FCNTL_MMAP_SIZE based on the current value of szMmap. -func pagerFixMaplimit(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:56683:13: */ +func pagerFixMaplimit(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:56693:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -34550,13 +34560,13 @@ func pagerFixMaplimit(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:56683:13: */ } // Change the maximum size of any memory mapping made of the database file. -func Xsqlite3PagerSetMmapLimit(tls *libc.TLS, pPager uintptr, szMmap Sqlite3_int64) { /* sqlite3.c:56699:21: */ +func Xsqlite3PagerSetMmapLimit(tls *libc.TLS, pPager uintptr, szMmap Sqlite3_int64) { /* sqlite3.c:56709:21: */ (*Pager)(unsafe.Pointer(pPager)).FszMmap = szMmap pagerFixMaplimit(tls, pPager) } // Free as much memory as possible from the pager. -func Xsqlite3PagerShrink(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:56707:21: */ +func Xsqlite3PagerShrink(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:56717:21: */ Xsqlite3PcacheShrink(tls, (*Pager)(unsafe.Pointer(pPager)).FpPCache) } @@ -34609,7 +34619,7 @@ func Xsqlite3PagerShrink(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:56707:21: // // Numeric values associated with these states are OFF==1, NORMAL=2, // and FULL=3. -func Xsqlite3PagerSetFlags(tls *libc.TLS, pPager uintptr, pgFlags uint32) { /* sqlite3.c:56763:21: */ +func Xsqlite3PagerSetFlags(tls *libc.TLS, pPager uintptr, pgFlags uint32) { /* sqlite3.c:56773:21: */ var level uint32 = pgFlags & uint32(PAGER_SYNCHRONOUS_MASK) if (*Pager)(unsafe.Pointer(pPager)).FtempFile != 0 { (*Pager)(unsafe.Pointer(pPager)).FnoSync = U8(1) @@ -34673,7 +34683,7 @@ func Xsqlite3PagerSetFlags(tls *libc.TLS, pPager uintptr, pgFlags uint32) { /* s // SQLITE_OPEN_CREATE // SQLITE_OPEN_EXCLUSIVE // SQLITE_OPEN_DELETEONCLOSE -func pagerOpentemp(tls *libc.TLS, pPager uintptr, pFile uintptr, vfsFlags int32) int32 { /* sqlite3.c:56823:12: */ +func pagerOpentemp(tls *libc.TLS, pPager uintptr, pFile uintptr, vfsFlags int32) int32 { /* sqlite3.c:56833:12: */ var rc int32 // Return code vfsFlags = vfsFlags | (SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE | SQLITE_OPEN_EXCLUSIVE | SQLITE_OPEN_DELETEONCLOSE) @@ -34701,7 +34711,7 @@ func pagerOpentemp(tls *libc.TLS, pPager uintptr, pFile uintptr, vfsFlags int32) // If the busy-handler callback returns non-zero, the lock is // retried. If it returns zero, then the SQLITE_BUSY error is // returned to the caller of the pager API function. -func Xsqlite3PagerSetBusyHandler(tls *libc.TLS, pPager uintptr, xBusyHandler uintptr, pBusyHandlerArg uintptr) { /* sqlite3.c:56862:21: */ +func Xsqlite3PagerSetBusyHandler(tls *libc.TLS, pPager uintptr, xBusyHandler uintptr, pBusyHandlerArg uintptr) { /* sqlite3.c:56872:21: */ var ap uintptr (*Pager)(unsafe.Pointer(pPager)).FxBusyHandler = xBusyHandler (*Pager)(unsafe.Pointer(pPager)).FpBusyHandlerArg = pBusyHandlerArg @@ -34738,7 +34748,7 @@ func Xsqlite3PagerSetBusyHandler(tls *libc.TLS, pPager uintptr, xBusyHandler uin // conditions above is not true, the pager was in error state when this // function was called, or because the memory allocation attempt failed, // then *pPageSize is set to the old, retained page size before returning. -func Xsqlite3PagerSetPagesize(tls *libc.TLS, pPager uintptr, pPageSize uintptr, nReserve int32) int32 { /* sqlite3.c:56906:20: */ +func Xsqlite3PagerSetPagesize(tls *libc.TLS, pPager uintptr, pPageSize uintptr, nReserve int32) int32 { /* sqlite3.c:56916:20: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -34807,7 +34817,7 @@ func Xsqlite3PagerSetPagesize(tls *libc.TLS, pPager uintptr, pPageSize uintptr, // during rollback and will be overwritten whenever a rollback // occurs. But other modules are free to use it too, as long as // no rollbacks are happening. -func Xsqlite3PagerTempSpace(tls *libc.TLS, pPager uintptr) uintptr { /* sqlite3.c:56974:21: */ +func Xsqlite3PagerTempSpace(tls *libc.TLS, pPager uintptr) uintptr { /* sqlite3.c:56984:21: */ return (*Pager)(unsafe.Pointer(pPager)).FpTmpSpace } @@ -34816,7 +34826,7 @@ func Xsqlite3PagerTempSpace(tls *libc.TLS, pPager uintptr) uintptr { /* sqlite3. // maximum page count below the current size of the database. // // Regardless of mxPage, return the current maximum page count. -func Xsqlite3PagerMaxPageCount(tls *libc.TLS, pPager uintptr, mxPage Pgno) Pgno { /* sqlite3.c:56985:21: */ +func Xsqlite3PagerMaxPageCount(tls *libc.TLS, pPager uintptr, mxPage Pgno) Pgno { /* sqlite3.c:56995:21: */ if mxPage > Pgno(0) { (*Pager)(unsafe.Pointer(pPager)).FmxPgno = mxPage } @@ -34847,7 +34857,7 @@ func Xsqlite3PagerMaxPageCount(tls *libc.TLS, pPager uintptr, mxPage Pgno) Pgno // If any IO error apart from SQLITE_IOERR_SHORT_READ is encountered, // the error code is returned to the caller and the contents of the // output buffer undefined. -func Xsqlite3PagerReadFileheader(tls *libc.TLS, pPager uintptr, N int32, pDest uintptr) int32 { /* sqlite3.c:57035:20: */ +func Xsqlite3PagerReadFileheader(tls *libc.TLS, pPager uintptr, N int32, pDest uintptr) int32 { /* sqlite3.c:57045:20: */ var rc int32 = SQLITE_OK libc.Xmemset(tls, pDest, 0, uint64(N)) @@ -34870,7 +34880,7 @@ func Xsqlite3PagerReadFileheader(tls *libc.TLS, pPager uintptr, N int32, pDest u // // However, if the file is between 1 and bytes in size, then // this is considered a 1 page file. -func Xsqlite3PagerPagecount(tls *libc.TLS, pPager uintptr, pnPage uintptr) { /* sqlite3.c:57063:21: */ +func Xsqlite3PagerPagecount(tls *libc.TLS, pPager uintptr, pnPage uintptr) { /* sqlite3.c:57073:21: */ *(*int32)(unsafe.Pointer(pnPage)) = int32((*Pager)(unsafe.Pointer(pPager)).FdbSize) } @@ -34887,7 +34897,7 @@ func Xsqlite3PagerPagecount(tls *libc.TLS, pPager uintptr, pnPage uintptr) { /* // Return SQLITE_OK on success and an error code if we cannot obtain // the lock. If the lock is obtained successfully, set the Pager.state // variable to locktype before returning. -func pager_wait_on_lock(tls *libc.TLS, pPager uintptr, locktype int32) int32 { /* sqlite3.c:57084:12: */ +func pager_wait_on_lock(tls *libc.TLS, pPager uintptr, locktype int32) int32 { /* sqlite3.c:57094:12: */ var rc int32 // Return code // Check that this is either a no-op (because the requested lock is @@ -34932,7 +34942,7 @@ func pager_wait_on_lock(tls *libc.TLS, pPager uintptr, locktype int32) int32 { / // Once this function has been called, the transaction must either be // rolled back or committed. It is not safe to call this function and // then continue writing to the database. -func Xsqlite3PagerTruncateImage(tls *libc.TLS, pPager uintptr, nPage Pgno) { /* sqlite3.c:57155:21: */ +func Xsqlite3PagerTruncateImage(tls *libc.TLS, pPager uintptr, nPage Pgno) { /* sqlite3.c:57165:21: */ (*Pager)(unsafe.Pointer(pPager)).FdbSize = nPage @@ -34959,7 +34969,7 @@ func Xsqlite3PagerTruncateImage(tls *libc.TLS, pPager uintptr, nPage Pgno) { /* // // If everything goes as planned, SQLITE_OK is returned. Otherwise, // an SQLite error code. -func pagerSyncHotJournal(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:57186:12: */ +func pagerSyncHotJournal(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:57196:12: */ var rc int32 = SQLITE_OK if !(int32((*Pager)(unsafe.Pointer(pPager)).FnoSync) != 0) { rc = Xsqlite3OsSync(tls, (*Pager)(unsafe.Pointer(pPager)).Fjfd, SQLITE_SYNC_NORMAL) @@ -34978,7 +34988,7 @@ func pagerSyncHotJournal(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:571 // // Page references obtained by calling this function should be released // by calling pagerReleaseMapPage(). -func pagerAcquireMapPage(tls *libc.TLS, pPager uintptr, pgno Pgno, pData uintptr, ppPage uintptr) int32 { /* sqlite3.c:57208:12: */ +func pagerAcquireMapPage(tls *libc.TLS, pPager uintptr, pgno Pgno, pData uintptr, ppPage uintptr) int32 { /* sqlite3.c:57218:12: */ var p uintptr // Memory mapped page to return if (*Pager)(unsafe.Pointer(pPager)).FpMmapFreelist != 0 { @@ -35008,7 +35018,7 @@ func pagerAcquireMapPage(tls *libc.TLS, pPager uintptr, pgno Pgno, pData uintptr // Release a reference to page pPg. pPg must have been returned by an // earlier call to pagerAcquireMapPage(). -func pagerReleaseMapPage(tls *libc.TLS, pPg uintptr) { /* sqlite3.c:57252:13: */ +func pagerReleaseMapPage(tls *libc.TLS, pPg uintptr) { /* sqlite3.c:57262:13: */ var pPager uintptr = (*PgHdr)(unsafe.Pointer(pPg)).FpPager (*Pager)(unsafe.Pointer(pPager)).FnMmapOut-- (*PgHdr)(unsafe.Pointer(pPg)).FpDirty = (*Pager)(unsafe.Pointer(pPager)).FpMmapFreelist @@ -35018,7 +35028,7 @@ func pagerReleaseMapPage(tls *libc.TLS, pPg uintptr) { /* sqlite3.c:57252:13: */ } // Free all PgHdr objects stored in the Pager.pMmapFreelist list. -func pagerFreeMapHdrs(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:57265:13: */ +func pagerFreeMapHdrs(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:57275:13: */ var p uintptr var pNext uintptr for p = (*Pager)(unsafe.Pointer(pPager)).FpMmapFreelist; p != 0; p = pNext { @@ -35031,7 +35041,7 @@ func pagerFreeMapHdrs(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:57265:13: */ // under the pager. Return SQLITE_OK if the database is still where it ought // to be on disk. Return non-zero (SQLITE_READONLY_DBMOVED or some other error // code from sqlite3OsAccess()) if the database has gone missing. -func databaseIsUnmoved(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:57279:12: */ +func databaseIsUnmoved(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:57289:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -35069,7 +35079,7 @@ func databaseIsUnmoved(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:57279 // is made to roll it back. If an error occurs during the rollback // a hot journal may be left in the filesystem but no error is returned // to the caller. -func Xsqlite3PagerClose(tls *libc.TLS, pPager uintptr, db uintptr) int32 { /* sqlite3.c:57313:20: */ +func Xsqlite3PagerClose(tls *libc.TLS, pPager uintptr, db uintptr) int32 { /* sqlite3.c:57323:20: */ var pTmp uintptr = (*Pager)(unsafe.Pointer(pPager)).FpTmpSpace Xsqlite3BeginBenignMalloc(tls) @@ -35118,7 +35128,7 @@ func Xsqlite3PagerClose(tls *libc.TLS, pPager uintptr, db uintptr) int32 { /* sq } // Increment the reference count for page pPg. -func Xsqlite3PagerRef(tls *libc.TLS, pPg uintptr) { /* sqlite3.c:57382:21: */ +func Xsqlite3PagerRef(tls *libc.TLS, pPg uintptr) { /* sqlite3.c:57392:21: */ Xsqlite3PcacheRef(tls, pPg) } @@ -35155,7 +35165,7 @@ func Xsqlite3PagerRef(tls *libc.TLS, pPg uintptr) { /* sqlite3.c:57382:21: */ // If successful, this routine clears the PGHDR_NEED_SYNC flag of every // page currently held in memory before returning SQLITE_OK. If an IO // error is encountered, then the IO error code is returned to the caller. -func syncJournal(tls *libc.TLS, pPager uintptr, newHdr int32) int32 { /* sqlite3.c:57421:12: */ +func syncJournal(tls *libc.TLS, pPager uintptr, newHdr int32) int32 { /* sqlite3.c:57431:12: */ bp := tls.Alloc(20) defer tls.Free(20) @@ -35269,7 +35279,7 @@ func syncJournal(tls *libc.TLS, pPager uintptr, newHdr int32) int32 { /* sqlite3 return SQLITE_OK } -var zerobyte U8 = U8(0) /* sqlite3.c:57472:27 */ +var zerobyte U8 = U8(0) /* sqlite3.c:57482:27 */ // The argument is the first in a linked list of dirty pages connected // by the PgHdr.pDirty pointer. This function writes each one of the @@ -35301,7 +35311,7 @@ var zerobyte U8 = U8(0) /* sqlite3.c:57472:27 */ // If everything is successful, SQLITE_OK is returned. If an IO error // occurs, an IO error code is returned. Or, if the EXCLUSIVE lock cannot // be obtained, SQLITE_BUSY is returned. -func pager_write_pagelist(tls *libc.TLS, pPager uintptr, pList uintptr) int32 { /* sqlite3.c:57564:12: */ +func pager_write_pagelist(tls *libc.TLS, pPager uintptr, pList uintptr) int32 { /* sqlite3.c:57574:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -35381,7 +35391,7 @@ func pager_write_pagelist(tls *libc.TLS, pPager uintptr, pList uintptr) int32 { // SQLITE_OK is returned if everything goes according to plan. An // SQLITE_IOERR_XXX error code is returned if a call to sqlite3OsOpen() // fails. -func openSubJournal(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:57655:12: */ +func openSubJournal(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:57665:12: */ var rc int32 = SQLITE_OK if !((*Sqlite3_file)(unsafe.Pointer((*Pager)(unsafe.Pointer(pPager)).Fsjfd)).FpMethods != uintptr(0)) { var flags int32 = SQLITE_OPEN_SUBJOURNAL | SQLITE_OPEN_READWRITE | @@ -35405,7 +35415,7 @@ func openSubJournal(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:57655:12 // error code if the attempt to write to the sub-journal fails, or // SQLITE_NOMEM if a malloc fails while setting a bit in a savepoint // bitvec. -func subjournalPage(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:57681:12: */ +func subjournalPage(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:57691:12: */ var rc int32 = SQLITE_OK var pPager uintptr = (*PgHdr)(unsafe.Pointer(pPg)).FpPager if int32((*Pager)(unsafe.Pointer(pPager)).FjournalMode) != PAGER_JOURNALMODE_OFF { @@ -35436,7 +35446,7 @@ func subjournalPage(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:57681:12: * return rc } -func subjournalPageIfRequired(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:57717:12: */ +func subjournalPageIfRequired(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:57727:12: */ if subjRequiresPage(tls, pPg) != 0 { return subjournalPage(tls, pPg) } else { @@ -35462,7 +35472,7 @@ func subjournalPageIfRequired(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:5 // page clean, the IO error code is returned. If the page cannot be // made clean for some other reason, but no error occurs, then SQLITE_OK // is returned by sqlite3PcacheMakeClean() is not called. -func pagerStress(tls *libc.TLS, p uintptr, pPg uintptr) int32 { /* sqlite3.c:57744:12: */ +func pagerStress(tls *libc.TLS, p uintptr, pPg uintptr) int32 { /* sqlite3.c:57754:12: */ var pPager uintptr = p var rc int32 = SQLITE_OK @@ -35524,7 +35534,7 @@ func pagerStress(tls *libc.TLS, p uintptr, pPg uintptr) int32 { /* sqlite3.c:577 } // Flush all unreferenced dirty pages to disk. -func Xsqlite3PagerFlush(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:57821:20: */ +func Xsqlite3PagerFlush(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:57831:20: */ var rc int32 = (*Pager)(unsafe.Pointer(pPager)).FerrCode if !(int32((*Pager)(unsafe.Pointer(pPager)).FmemDb) != 0) { var pList uintptr = Xsqlite3PcacheDirtyList(tls, (*Pager)(unsafe.Pointer(pPager)).FpPCache) @@ -35571,7 +35581,7 @@ func Xsqlite3PagerFlush(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:5782 // and error code returned. This function may return SQLITE_NOMEM // (sqlite3Malloc() is used to allocate memory), SQLITE_CANTOPEN or // various SQLITE_IO_XXX errors. -func Xsqlite3PagerOpen(tls *libc.TLS, pVfs uintptr, ppPager uintptr, zFilename uintptr, nExtra int32, flags int32, vfsFlags int32, xReinit uintptr) int32 { /* sqlite3.c:57870:20: */ +func Xsqlite3PagerOpen(tls *libc.TLS, pVfs uintptr, ppPager uintptr, zFilename uintptr, nExtra int32, flags int32, vfsFlags int32, xReinit uintptr) int32 { /* sqlite3.c:57880:20: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -35697,7 +35707,7 @@ __11: // bytes in length. This means the database cannot be opened, // as it will not be possible to open the journal file or even // check for a hot-journal before reading. - rc = Xsqlite3CantopenError(tls, 57957) + rc = Xsqlite3CantopenError(tls, 57967) __12: ; if !(rc != SQLITE_OK) { @@ -36016,7 +36026,7 @@ __37: // Return the sqlite3_file for the main database given the name // of the corresonding WAL or Journal name as passed into // xOpen. -func Xsqlite3_database_file_object(tls *libc.TLS, zName uintptr) uintptr { /* sqlite3.c:58242:25: */ +func Xsqlite3_database_file_object(tls *libc.TLS, zName uintptr) uintptr { /* sqlite3.c:58252:25: */ var pPager uintptr for int32(*(*int8)(unsafe.Pointer(zName + libc.UintptrFromInt32(-1)))) != 0 || int32(*(*int8)(unsafe.Pointer(zName + libc.UintptrFromInt32(-2)))) != 0 || int32(*(*int8)(unsafe.Pointer(zName + libc.UintptrFromInt32(-3)))) != 0 || int32(*(*int8)(unsafe.Pointer(zName + libc.UintptrFromInt32(-4)))) != 0 { zName-- @@ -36054,7 +36064,7 @@ func Xsqlite3_database_file_object(tls *libc.TLS, zName uintptr) uintptr { /* sq // set to 0 and SQLITE_OK returned. If an IO error occurs while trying // to determine whether or not a hot-journal file exists, the IO error // code is returned and the value of *pExists is undefined. -func hasHotJournal(tls *libc.TLS, pPager uintptr, pExists uintptr) int32 { /* sqlite3.c:58283:12: */ +func hasHotJournal(tls *libc.TLS, pPager uintptr, pExists uintptr) int32 { /* sqlite3.c:58293:12: */ bp := tls.Alloc(17) defer tls.Free(17) @@ -36165,7 +36175,7 @@ func hasHotJournal(tls *libc.TLS, pPager uintptr, pExists uintptr) int32 { /* sq // If everything is successful, SQLITE_OK is returned. If an IO error // occurs while locking the database, checking for a hot-journal file or // rolling back a journal file, the IO error code is returned. -func Xsqlite3PagerSharedLock(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:58403:20: */ +func Xsqlite3PagerSharedLock(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:58413:20: */ bp := tls.Alloc(28) defer tls.Free(28) @@ -36291,7 +36301,7 @@ __7: if !(rc == SQLITE_OK && *(*int32)(unsafe.Pointer(bp + 8))&SQLITE_OPEN_READONLY != 0) { goto __10 } - rc = Xsqlite3CantopenError(tls, 58487) + rc = Xsqlite3CantopenError(tls, 58497) Xsqlite3OsClose(tls, (*Pager)(unsafe.Pointer(pPager)).Fjfd) __10: ; @@ -36440,7 +36450,7 @@ __24: // Except, in locking_mode=EXCLUSIVE when there is nothing to in // the rollback journal, the unlock is not performed and there is // nothing to rollback, so this routine is a no-op. -func pagerUnlockIfUnused(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:58620:13: */ +func pagerUnlockIfUnused(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:58630:13: */ if Xsqlite3PcacheRefCount(tls, (*Pager)(unsafe.Pointer(pPager)).FpPCache) == 0 { // because page1 is never memory mapped pagerUnlockAndRollback(tls, pPager) @@ -36502,7 +36512,7 @@ func pagerUnlockIfUnused(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:58620:13: // has to go to disk, and could also playback an old journal if necessary. // Since Lookup() never goes to disk, it never has to deal with locks // or journal files. -func getPageNormal(tls *libc.TLS, pPager uintptr, pgno Pgno, ppPage uintptr, flags int32) int32 { /* sqlite3.c:58684:12: */ +func getPageNormal(tls *libc.TLS, pPager uintptr, pgno Pgno, ppPage uintptr, flags int32) int32 { /* sqlite3.c:58694:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -36515,7 +36525,7 @@ func getPageNormal(tls *libc.TLS, pPager uintptr, pgno Pgno, ppPage uintptr, fla if !(pgno == Pgno(0)) { goto __1 } - return Xsqlite3CorruptError(tls, 58700) + return Xsqlite3CorruptError(tls, 58710) __1: ; *(*uintptr)(unsafe.Pointer(bp /* pBase */)) = Xsqlite3PcacheFetch(tls, (*Pager)(unsafe.Pointer(pPager)).FpPCache, pgno, 3) @@ -36561,7 +36571,7 @@ __5: if !(pgno == Pgno(I64(Xsqlite3PendingByte)/(*Pager)(unsafe.Pointer(pPager)).FpageSize+int64(1))) { goto __7 } - rc = Xsqlite3CorruptError(tls, 58732) + rc = Xsqlite3CorruptError(tls, 58742) goto pager_acquire_err __7: ; @@ -36633,7 +36643,7 @@ __14: } // The page getter for when memory-mapped I/O is enabled -func getPageMMap(tls *libc.TLS, pPager uintptr, pgno Pgno, ppPage uintptr, flags int32) int32 { /* sqlite3.c:58786:12: */ +func getPageMMap(tls *libc.TLS, pPager uintptr, pgno Pgno, ppPage uintptr, flags int32) int32 { /* sqlite3.c:58796:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -36653,7 +36663,7 @@ func getPageMMap(tls *libc.TLS, pPager uintptr, pgno Pgno, ppPage uintptr, flags // test in the previous statement, and avoid testing pgno==0 in the // common case where pgno is large. if pgno <= Pgno(1) && pgno == Pgno(0) { - return Xsqlite3CorruptError(tls, 58811) + return Xsqlite3CorruptError(tls, 58821) } if bMmapOk != 0 && (*Pager)(unsafe.Pointer(pPager)).FpWal != uintptr(0) { @@ -36691,7 +36701,7 @@ func getPageMMap(tls *libc.TLS, pPager uintptr, pgno Pgno, ppPage uintptr, flags } // The page getter method for when the pager is an error state -func getPageError(tls *libc.TLS, pPager uintptr, pgno Pgno, ppPage uintptr, flags int32) int32 { /* sqlite3.c:58855:12: */ +func getPageError(tls *libc.TLS, pPager uintptr, pgno Pgno, ppPage uintptr, flags int32) int32 { /* sqlite3.c:58865:12: */ _ = pgno _ = flags @@ -36700,7 +36710,7 @@ func getPageError(tls *libc.TLS, pPager uintptr, pgno Pgno, ppPage uintptr, flag } // Dispatch all page fetch requests to the appropriate getter method. -func Xsqlite3PagerGet(tls *libc.TLS, pPager uintptr, pgno Pgno, ppPage uintptr, flags int32) int32 { /* sqlite3.c:58871:20: */ +func Xsqlite3PagerGet(tls *libc.TLS, pPager uintptr, pgno Pgno, ppPage uintptr, flags int32) int32 { /* sqlite3.c:58881:20: */ // printf("PAGE %u\n", pgno); fflush(stdout); return (*struct { f func(*libc.TLS, uintptr, Pgno, uintptr, int32) int32 @@ -36716,7 +36726,7 @@ func Xsqlite3PagerGet(tls *libc.TLS, pPager uintptr, pgno Pgno, ppPage uintptr, // in the page if the page is not already in cache. This routine // returns NULL if the page is not in cache or if a disk I/O error // has ever happened. -func Xsqlite3PagerLookup(tls *libc.TLS, pPager uintptr, pgno Pgno) uintptr { /* sqlite3.c:58892:23: */ +func Xsqlite3PagerLookup(tls *libc.TLS, pPager uintptr, pgno Pgno) uintptr { /* sqlite3.c:58902:23: */ var pPage uintptr pPage = Xsqlite3PcacheFetch(tls, (*Pager)(unsafe.Pointer(pPager)).FpPCache, pgno, 0) @@ -36737,7 +36747,7 @@ func Xsqlite3PagerLookup(tls *libc.TLS, pPager uintptr, pgno Pgno) uintptr { /* // Use sqlite3PagerUnrefPageOne() to release page1. This latter routine // checks the total number of outstanding pages and if the number of // pages reaches zero it drops the database lock. -func Xsqlite3PagerUnrefNotNull(tls *libc.TLS, pPg uintptr) { /* sqlite3.c:58915:21: */ +func Xsqlite3PagerUnrefNotNull(tls *libc.TLS, pPg uintptr) { /* sqlite3.c:58925:21: */ if int32((*DbPage)(unsafe.Pointer(pPg)).Fflags)&PGHDR_MMAP != 0 { // Page1 is never memory mapped @@ -36749,13 +36759,13 @@ func Xsqlite3PagerUnrefNotNull(tls *libc.TLS, pPg uintptr) { /* sqlite3.c:58915: } -func Xsqlite3PagerUnref(tls *libc.TLS, pPg uintptr) { /* sqlite3.c:58927:21: */ +func Xsqlite3PagerUnref(tls *libc.TLS, pPg uintptr) { /* sqlite3.c:58937:21: */ if pPg != 0 { Xsqlite3PagerUnrefNotNull(tls, pPg) } } -func Xsqlite3PagerUnrefPageOne(tls *libc.TLS, pPg uintptr) { /* sqlite3.c:58930:21: */ +func Xsqlite3PagerUnrefPageOne(tls *libc.TLS, pPg uintptr) { /* sqlite3.c:58940:21: */ var pPager uintptr // Page1 is never memory mapped @@ -36784,7 +36794,7 @@ func Xsqlite3PagerUnrefPageOne(tls *libc.TLS, pPg uintptr) { /* sqlite3.c:58930: // Return SQLITE_OK if everything is successful. Otherwise, return // SQLITE_NOMEM if the attempt to allocate Pager.pInJournal fails, or // an IO error code if opening or writing the journal file fails. -func pager_open_journal(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:58962:12: */ +func pager_open_journal(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:58972:12: */ var rc int32 = SQLITE_OK // Return code var pVfs uintptr = (*Pager)(unsafe.Pointer(pPager)).FpVfs // Local cache of vfs pointer @@ -36866,7 +36876,7 @@ func pager_open_journal(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:5896 // sub-journal. If the subjInMemory argument is zero, then any required // sub-journal is implemented in-memory if pPager is an in-memory database, // or using a temporary file otherwise. -func Xsqlite3PagerBegin(tls *libc.TLS, pPager uintptr, exFlag int32, subjInMemory int32) int32 { /* sqlite3.c:59051:20: */ +func Xsqlite3PagerBegin(tls *libc.TLS, pPager uintptr, exFlag int32, subjInMemory int32) int32 { /* sqlite3.c:59061:20: */ var rc int32 = SQLITE_OK if (*Pager)(unsafe.Pointer(pPager)).FerrCode != 0 { @@ -36926,7 +36936,7 @@ func Xsqlite3PagerBegin(tls *libc.TLS, pPager uintptr, exFlag int32, subjInMemor } // Write page pPg onto the end of the rollback journal. -func pagerAddPageToRollbackJournal(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:59120:28: */ +func pagerAddPageToRollbackJournal(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:59130:28: */ var pPager uintptr = (*PgHdr)(unsafe.Pointer(pPg)).FpPager var rc int32 var cksum U32 @@ -36976,7 +36986,7 @@ func pagerAddPageToRollbackJournal(tls *libc.TLS, pPg uintptr) int32 { /* sqlite // one of the journals, the corresponding bit is set in the // Pager.pInJournal bitvec and the PagerSavepoint.pInSavepoint bitvecs // of any open savepoints as appropriate. -func pager_write(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:59177:12: */ +func pager_write(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:59187:12: */ var pPager uintptr = (*PgHdr)(unsafe.Pointer(pPg)).FpPager var rc int32 = SQLITE_OK @@ -37050,7 +37060,7 @@ func pager_write(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:59177:12: */ // Usually, the sector size is less than or equal to the page size, in which // case pages can be individually written. This routine only runs in the // exceptional case where the page size is smaller than the sector size. -func pagerWriteLargeSector(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:59269:28: */ +func pagerWriteLargeSector(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:59279:28: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -37138,7 +37148,7 @@ func pagerWriteLargeSector(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:5926 // // If an error occurs, SQLITE_NOMEM or an IO error code is returned // as appropriate. Otherwise, SQLITE_OK. -func Xsqlite3PagerWrite(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:59363:20: */ +func Xsqlite3PagerWrite(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:59373:20: */ var pPager uintptr = (*PgHdr)(unsafe.Pointer(pPg)).FpPager if int32((*PgHdr)(unsafe.Pointer(pPg)).Fflags)&PGHDR_WRITEABLE != 0 && (*Pager)(unsafe.Pointer(pPager)).FdbSize >= (*PgHdr)(unsafe.Pointer(pPg)).Fpgno { @@ -37179,7 +37189,7 @@ func Xsqlite3PagerWrite(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:59363:2 // memory pressure forces page pPg out of the cache, the data does need // to be written out to disk so that it may be read back in if the // current transaction is rolled back. -func Xsqlite3PagerDontWrite(tls *libc.TLS, pPg uintptr) { /* sqlite3.c:59412:21: */ +func Xsqlite3PagerDontWrite(tls *libc.TLS, pPg uintptr) { /* sqlite3.c:59422:21: */ var pPager uintptr = (*PgHdr)(unsafe.Pointer(pPg)).FpPager if !(int32((*Pager)(unsafe.Pointer(pPager)).FtempFile) != 0) && int32((*PgHdr)(unsafe.Pointer(pPg)).Fflags)&PGHDR_DIRTY != 0 && (*Pager)(unsafe.Pointer(pPager)).FnSavepoint == 0 { @@ -37209,7 +37219,7 @@ func Xsqlite3PagerDontWrite(tls *libc.TLS, pPg uintptr) { /* sqlite3.c:59412:21: // if isDirect is non-zero, then the database file is updated directly // by writing an updated version of page 1 using a call to the // sqlite3OsWrite() function. -func pager_incr_changecounter(tls *libc.TLS, pPager uintptr, isDirectMode int32) int32 { /* sqlite3.c:59446:12: */ +func pager_incr_changecounter(tls *libc.TLS, pPager uintptr, isDirectMode int32) int32 { /* sqlite3.c:59456:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -37279,7 +37289,7 @@ func pager_incr_changecounter(tls *libc.TLS, pPager uintptr, isDirectMode int32) // // If successful, or if called on a pager for which it is a no-op, this // function returns SQLITE_OK. Otherwise, an IO error code is returned. -func Xsqlite3PagerSync(tls *libc.TLS, pPager uintptr, zSuper uintptr) int32 { /* sqlite3.c:59529:20: */ +func Xsqlite3PagerSync(tls *libc.TLS, pPager uintptr, zSuper uintptr) int32 { /* sqlite3.c:59539:20: */ var rc int32 = SQLITE_OK var pArg uintptr = zSuper rc = Xsqlite3OsFileControl(tls, (*Pager)(unsafe.Pointer(pPager)).Ffd, SQLITE_FCNTL_SYNC, pArg) @@ -37302,7 +37312,7 @@ func Xsqlite3PagerSync(tls *libc.TLS, pPager uintptr, zSuper uintptr) int32 { /* // successful, or the connection is in WAL mode, SQLITE_OK is returned. // Otherwise, either SQLITE_BUSY or an SQLITE_IOERR_XXX error code is // returned. -func Xsqlite3PagerExclusiveLock(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:59552:20: */ +func Xsqlite3PagerExclusiveLock(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:59562:20: */ var rc int32 = (*Pager)(unsafe.Pointer(pPager)).FerrCode if rc == SQLITE_OK { @@ -37338,7 +37348,7 @@ func Xsqlite3PagerExclusiveLock(tls *libc.TLS, pPager uintptr) int32 { /* sqlite // is not synced. The caller must call sqlite3PagerSync() directly to // sync the database file before calling CommitPhaseTwo() to delete the // journal file in this case. -func Xsqlite3PagerCommitPhaseOne(tls *libc.TLS, pPager uintptr, zSuper uintptr, noSync int32) int32 { /* sqlite3.c:59594:20: */ +func Xsqlite3PagerCommitPhaseOne(tls *libc.TLS, pPager uintptr, zSuper uintptr, noSync int32) int32 { /* sqlite3.c:59604:20: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -37528,7 +37538,7 @@ __19: // // If an error occurs, an IO error code is returned and the pager // moves into the error state. Otherwise, SQLITE_OK is returned. -func Xsqlite3PagerCommitPhaseTwo(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:59824:20: */ +func Xsqlite3PagerCommitPhaseTwo(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:59834:20: */ var rc int32 = SQLITE_OK // Return code // This routine should not be called if a prior error has occurred. @@ -37585,7 +37595,7 @@ func Xsqlite3PagerCommitPhaseTwo(tls *libc.TLS, pPager uintptr) int32 { /* sqlit // current transaction are either expelled from the cache or reverted to // their pre-transaction state by re-reading data from the database or // WAL files. The WAL transaction is then closed. -func Xsqlite3PagerRollback(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:59890:20: */ +func Xsqlite3PagerRollback(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:59900:20: */ var rc int32 = SQLITE_OK // Return code // PagerRollback() is a no-op if called in READER or OPEN state. If @@ -37629,13 +37639,13 @@ func Xsqlite3PagerRollback(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:5 // Return TRUE if the database file is opened read-only. Return FALSE // if the database is (in theory) writable. -func Xsqlite3PagerIsreadonly(tls *libc.TLS, pPager uintptr) U8 { /* sqlite3.c:59940:19: */ +func Xsqlite3PagerIsreadonly(tls *libc.TLS, pPager uintptr) U8 { /* sqlite3.c:59950:19: */ return (*Pager)(unsafe.Pointer(pPager)).FreadOnly } // Return the approximate number of bytes of memory currently // used by the pager and its associated cache. -func Xsqlite3PagerMemUsed(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:59957:20: */ +func Xsqlite3PagerMemUsed(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:59967:20: */ var perPageSize int32 = int32((*Pager)(unsafe.Pointer(pPager)).FpageSize + I64((*Pager)(unsafe.Pointer(pPager)).FnExtra) + I64(int32(uint64(unsafe.Sizeof(PgHdr{}))+uint64(5)*uint64(unsafe.Sizeof(uintptr(0)))))) return int32(I64(perPageSize*Xsqlite3PcachePagecount(tls, (*Pager)(unsafe.Pointer(pPager)).FpPCache)+ @@ -37644,7 +37654,7 @@ func Xsqlite3PagerMemUsed(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:59 } // Return the number of references to the specified page. -func Xsqlite3PagerPageRefcount(tls *libc.TLS, pPage uintptr) int32 { /* sqlite3.c:59968:20: */ +func Xsqlite3PagerPageRefcount(tls *libc.TLS, pPage uintptr) int32 { /* sqlite3.c:59978:20: */ return Xsqlite3PcachePageRefcount(tls, pPage) } @@ -37657,7 +37667,7 @@ func Xsqlite3PagerPageRefcount(tls *libc.TLS, pPage uintptr) int32 { /* sqlite3. // current cache hit or miss count, according to the value of eStat. If the // reset parameter is non-zero, the cache hit or miss count is zeroed before // returning. -func Xsqlite3PagerCacheStat(tls *libc.TLS, pPager uintptr, eStat int32, reset int32, pnVal uintptr) { /* sqlite3.c:60004:21: */ +func Xsqlite3PagerCacheStat(tls *libc.TLS, pPager uintptr, eStat int32, reset int32, pnVal uintptr) { /* sqlite3.c:60014:21: */ eStat = eStat - SQLITE_DBSTATUS_CACHE_HIT *(*int32)(unsafe.Pointer(pnVal)) += *(*int32)(unsafe.Pointer(pPager + 240 + uintptr(eStat)*4)) @@ -37667,7 +37677,7 @@ func Xsqlite3PagerCacheStat(tls *libc.TLS, pPager uintptr, eStat int32, reset in } // Return true if this is an in-memory or temp-file backed pager. -func Xsqlite3PagerIsMemdb(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:60027:20: */ +func Xsqlite3PagerIsMemdb(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:60037:20: */ return libc.Bool32((*Pager)(unsafe.Pointer(pPager)).FtempFile != 0 || (*Pager)(unsafe.Pointer(pPager)).FmemVfs != 0) } @@ -37679,7 +37689,7 @@ func Xsqlite3PagerIsMemdb(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:60 // If a memory allocation fails, SQLITE_NOMEM is returned. If an error // occurs while opening the sub-journal file, then an IO error code is // returned. Otherwise, SQLITE_OK. -func pagerOpenSavepoint(tls *libc.TLS, pPager uintptr, nSavepoint int32) int32 { /* sqlite3.c:60041:28: */ +func pagerOpenSavepoint(tls *libc.TLS, pPager uintptr, nSavepoint int32) int32 { /* sqlite3.c:60051:28: */ var rc int32 = SQLITE_OK // Return code var nCurrent int32 = (*Pager)(unsafe.Pointer(pPager)).FnSavepoint // Current number of savepoints var ii int32 // Iterator variable @@ -37719,7 +37729,7 @@ func pagerOpenSavepoint(tls *libc.TLS, pPager uintptr, nSavepoint int32) int32 { return rc } -func Xsqlite3PagerOpenSavepoint(tls *libc.TLS, pPager uintptr, nSavepoint int32) int32 { /* sqlite3.c:60087:20: */ +func Xsqlite3PagerOpenSavepoint(tls *libc.TLS, pPager uintptr, nSavepoint int32) int32 { /* sqlite3.c:60097:20: */ if nSavepoint > (*Pager)(unsafe.Pointer(pPager)).FnSavepoint && (*Pager)(unsafe.Pointer(pPager)).FuseJournal != 0 { return pagerOpenSavepoint(tls, pPager, nSavepoint) @@ -37757,7 +37767,7 @@ func Xsqlite3PagerOpenSavepoint(tls *libc.TLS, pPager uintptr, nSavepoint int32) // This function may return SQLITE_NOMEM if a memory allocation fails, // or an IO error code if an IO error occurs while rolling back a // savepoint. If no errors occur, SQLITE_OK is returned. -func Xsqlite3PagerSavepoint(tls *libc.TLS, pPager uintptr, op int32, iSavepoint int32) int32 { /* sqlite3.c:60129:20: */ +func Xsqlite3PagerSavepoint(tls *libc.TLS, pPager uintptr, op int32, iSavepoint int32) int32 { /* sqlite3.c:60139:20: */ var rc int32 = (*Pager)(unsafe.Pointer(pPager)).FerrCode if rc == SQLITE_OK && iSavepoint < (*Pager)(unsafe.Pointer(pPager)).FnSavepoint { @@ -37818,30 +37828,30 @@ func Xsqlite3PagerSavepoint(tls *libc.TLS, pPager uintptr, op int32, iSavepoint // // The return value to this routine is always safe to use with // sqlite3_uri_parameter() and sqlite3_filename_database() and friends. -func Xsqlite3PagerFilename(tls *libc.TLS, pPager uintptr, nullIfMemDb int32) uintptr { /* sqlite3.c:60210:27: */ +func Xsqlite3PagerFilename(tls *libc.TLS, pPager uintptr, nullIfMemDb int32) uintptr { /* sqlite3.c:60220:27: */ if nullIfMemDb != 0 && (*Pager)(unsafe.Pointer(pPager)).FmemDb != 0 { return uintptr(unsafe.Pointer(&zFake)) + 4 } return (*Pager)(unsafe.Pointer(pPager)).FzFilename } -var zFake = [8]int8{int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0)} /* sqlite3.c:60211:21 */ +var zFake = [8]int8{int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0)} /* sqlite3.c:60221:21 */ // Return the VFS structure for the pager. -func Xsqlite3PagerVfs(tls *libc.TLS, pPager uintptr) uintptr { /* sqlite3.c:60218:28: */ +func Xsqlite3PagerVfs(tls *libc.TLS, pPager uintptr) uintptr { /* sqlite3.c:60228:28: */ return (*Pager)(unsafe.Pointer(pPager)).FpVfs } // Return the file handle for the database file associated // with the pager. This might return NULL if the file has // not yet been opened. -func Xsqlite3PagerFile(tls *libc.TLS, pPager uintptr) uintptr { /* sqlite3.c:60227:29: */ +func Xsqlite3PagerFile(tls *libc.TLS, pPager uintptr) uintptr { /* sqlite3.c:60237:29: */ return (*Pager)(unsafe.Pointer(pPager)).Ffd } // Return the file handle for the journal file (if it exists). // This will be either the rollback journal or the WAL file. -func Xsqlite3PagerJrnlFile(tls *libc.TLS, pPager uintptr) uintptr { /* sqlite3.c:60235:29: */ +func Xsqlite3PagerJrnlFile(tls *libc.TLS, pPager uintptr) uintptr { /* sqlite3.c:60245:29: */ if (*Pager)(unsafe.Pointer(pPager)).FpWal != 0 { return Xsqlite3WalFile(tls, (*Pager)(unsafe.Pointer(pPager)).FpWal) } @@ -37849,7 +37859,7 @@ func Xsqlite3PagerJrnlFile(tls *libc.TLS, pPager uintptr) uintptr { /* sqlite3.c } // Return the full pathname of the journal file. -func Xsqlite3PagerJournalname(tls *libc.TLS, pPager uintptr) uintptr { /* sqlite3.c:60246:27: */ +func Xsqlite3PagerJournalname(tls *libc.TLS, pPager uintptr) uintptr { /* sqlite3.c:60256:27: */ return (*Pager)(unsafe.Pointer(pPager)).FzJournal } @@ -37876,7 +37886,7 @@ func Xsqlite3PagerJournalname(tls *libc.TLS, pPager uintptr) uintptr { /* sqlite // // This function may return SQLITE_NOMEM or an IO error code if an error // occurs. Otherwise, it returns SQLITE_OK. -func Xsqlite3PagerMovepage(tls *libc.TLS, pPager uintptr, pPg uintptr, pgno Pgno, isCommit int32) int32 { /* sqlite3.c:60276:20: */ +func Xsqlite3PagerMovepage(tls *libc.TLS, pPager uintptr, pPg uintptr, pgno Pgno, isCommit int32) int32 { /* sqlite3.c:60286:20: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -37938,7 +37948,7 @@ func Xsqlite3PagerMovepage(tls *libc.TLS, pPager uintptr, pPg uintptr, pgno Pgno if pPgOld != 0 { if int32((*PgHdr)(unsafe.Pointer(pPgOld)).FnRef) > 1 { Xsqlite3PagerUnrefNotNull(tls, pPgOld) - return Xsqlite3CorruptError(tls, 60350) + return Xsqlite3CorruptError(tls, 60360) } *(*U16)(unsafe.Pointer(pPg + 52)) |= U16(int32((*PgHdr)(unsafe.Pointer(pPgOld)).Fflags) & PGHDR_NEED_SYNC) if (*Pager)(unsafe.Pointer(pPager)).FtempFile != 0 { @@ -37998,21 +38008,21 @@ func Xsqlite3PagerMovepage(tls *libc.TLS, pPager uintptr, pPg uintptr, pgno Pgno // with a page number other than iNew. This function changes the page's // page number to iNew and sets the value of the PgHdr.flags field to // the value passed as the third parameter. -func Xsqlite3PagerRekey(tls *libc.TLS, pPg uintptr, iNew Pgno, flags U16) { /* sqlite3.c:60414:21: */ +func Xsqlite3PagerRekey(tls *libc.TLS, pPg uintptr, iNew Pgno, flags U16) { /* sqlite3.c:60424:21: */ (*DbPage)(unsafe.Pointer(pPg)).Fflags = flags Xsqlite3PcacheMove(tls, pPg, iNew) } // Return a pointer to the data for the specified page. -func Xsqlite3PagerGetData(tls *libc.TLS, pPg uintptr) uintptr { /* sqlite3.c:60423:21: */ +func Xsqlite3PagerGetData(tls *libc.TLS, pPg uintptr) uintptr { /* sqlite3.c:60433:21: */ return (*DbPage)(unsafe.Pointer(pPg)).FpData } // Return a pointer to the Pager.nExtra bytes of "extra" space // allocated along with the specified page. -func Xsqlite3PagerGetExtra(tls *libc.TLS, pPg uintptr) uintptr { /* sqlite3.c:60432:21: */ +func Xsqlite3PagerGetExtra(tls *libc.TLS, pPg uintptr) uintptr { /* sqlite3.c:60442:21: */ return (*DbPage)(unsafe.Pointer(pPg)).FpExtra } @@ -38024,7 +38034,7 @@ func Xsqlite3PagerGetExtra(tls *libc.TLS, pPg uintptr) uintptr { /* sqlite3.c:60 // The returned value is either PAGER_LOCKINGMODE_NORMAL or // PAGER_LOCKINGMODE_EXCLUSIVE, indicating the current (possibly updated) // locking-mode. -func Xsqlite3PagerLockingMode(tls *libc.TLS, pPager uintptr, eMode int32) int32 { /* sqlite3.c:60446:20: */ +func Xsqlite3PagerLockingMode(tls *libc.TLS, pPager uintptr, eMode int32) int32 { /* sqlite3.c:60456:20: */ if eMode >= 0 && !(int32((*Pager)(unsafe.Pointer(pPager)).FtempFile) != 0) && !(Xsqlite3WalHeapMemory(tls, (*Pager)(unsafe.Pointer(pPager)).FpWal) != 0) { (*Pager)(unsafe.Pointer(pPager)).FexclusiveMode = U8(eMode) @@ -38050,7 +38060,7 @@ func Xsqlite3PagerLockingMode(tls *libc.TLS, pPager uintptr, eMode int32) int32 // * Temporary databases cannot have _WAL journalmode. // // The returned indicate the current (possibly updated) journal-mode. -func Xsqlite3PagerSetJournalMode(tls *libc.TLS, pPager uintptr, eMode int32) int32 { /* sqlite3.c:60479:20: */ +func Xsqlite3PagerSetJournalMode(tls *libc.TLS, pPager uintptr, eMode int32) int32 { /* sqlite3.c:60489:20: */ var eOld U8 = (*Pager)(unsafe.Pointer(pPager)).FjournalMode // Prior journalmode // The eMode parameter is always valid @@ -38120,14 +38130,14 @@ func Xsqlite3PagerSetJournalMode(tls *libc.TLS, pPager uintptr, eMode int32) int } // Return the current journal mode. -func Xsqlite3PagerGetJournalMode(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:60569:20: */ +func Xsqlite3PagerGetJournalMode(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:60579:20: */ return int32((*Pager)(unsafe.Pointer(pPager)).FjournalMode) } // Return TRUE if the pager is in a state where it is OK to change the // journalmode. Journalmode changes can only happen when the database // is unmodified. -func Xsqlite3PagerOkToChangeJournalMode(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:60578:20: */ +func Xsqlite3PagerOkToChangeJournalMode(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:60588:20: */ if int32((*Pager)(unsafe.Pointer(pPager)).FeState) >= PAGER_WRITER_CACHEMOD { return 0 @@ -38142,7 +38152,7 @@ func Xsqlite3PagerOkToChangeJournalMode(tls *libc.TLS, pPager uintptr) int32 { / // // Setting the size limit to -1 means no limit is enforced. // An attempt to set a limit smaller than -1 is a no-op. -func Xsqlite3PagerJournalSizeLimit(tls *libc.TLS, pPager uintptr, iLimit I64) I64 { /* sqlite3.c:60591:20: */ +func Xsqlite3PagerJournalSizeLimit(tls *libc.TLS, pPager uintptr, iLimit I64) I64 { /* sqlite3.c:60601:20: */ if iLimit >= int64(-1) { (*Pager)(unsafe.Pointer(pPager)).FjournalSizeLimit = iLimit Xsqlite3WalLimit(tls, (*Pager)(unsafe.Pointer(pPager)).FpWal, iLimit) @@ -38154,12 +38164,12 @@ func Xsqlite3PagerJournalSizeLimit(tls *libc.TLS, pPager uintptr, iLimit I64) I6 // in backup.c maintains the content of this variable. This module // uses it opaquely as an argument to sqlite3BackupRestart() and // sqlite3BackupUpdate() only. -func Xsqlite3PagerBackupPtr(tls *libc.TLS, pPager uintptr) uintptr { /* sqlite3.c:60605:31: */ +func Xsqlite3PagerBackupPtr(tls *libc.TLS, pPager uintptr) uintptr { /* sqlite3.c:60615:31: */ return pPager + 112 } // Unless this is an in-memory or temporary database, clear the pager cache. -func Xsqlite3PagerClearCache(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:60613:21: */ +func Xsqlite3PagerClearCache(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:60623:21: */ if int32((*Pager)(unsafe.Pointer(pPager)).FtempFile) == 0 { pager_reset(tls, pPager) @@ -38171,7 +38181,7 @@ func Xsqlite3PagerClearCache(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:60613 // or wal_blocking_checkpoint() API functions. // // Parameter eMode is one of SQLITE_CHECKPOINT_PASSIVE, FULL or RESTART. -func Xsqlite3PagerCheckpoint(tls *libc.TLS, pPager uintptr, db uintptr, eMode int32, pnLog uintptr, pnCkpt uintptr) int32 { /* sqlite3.c:60628:20: */ +func Xsqlite3PagerCheckpoint(tls *libc.TLS, pPager uintptr, db uintptr, eMode int32, pnLog uintptr, pnCkpt uintptr) int32 { /* sqlite3.c:60638:20: */ var rc int32 = SQLITE_OK if (*Pager)(unsafe.Pointer(pPager)).FpWal == uintptr(0) && int32((*Pager)(unsafe.Pointer(pPager)).FjournalMode) == PAGER_JOURNALMODE_WAL { // This only happens when a database file is zero bytes in size opened and @@ -38199,13 +38209,13 @@ func Xsqlite3PagerCheckpoint(tls *libc.TLS, pPager uintptr, db uintptr, eMode in return rc } -func Xsqlite3PagerWalCallback(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:60659:20: */ +func Xsqlite3PagerWalCallback(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:60669:20: */ return Xsqlite3WalCallback(tls, (*Pager)(unsafe.Pointer(pPager)).FpWal) } // Return true if the underlying VFS for the given pager supports the // primitives necessary for write-ahead logging. -func Xsqlite3PagerWalSupported(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:60667:20: */ +func Xsqlite3PagerWalSupported(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:60677:20: */ var pMethods uintptr = (*Sqlite3_file)(unsafe.Pointer((*Pager)(unsafe.Pointer(pPager)).Ffd)).FpMethods if (*Pager)(unsafe.Pointer(pPager)).FnoLock != 0 { return 0 @@ -38215,7 +38225,7 @@ func Xsqlite3PagerWalSupported(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3 // Attempt to take an exclusive lock on the database file. If a PENDING lock // is obtained instead, immediately release it. -func pagerExclusiveLock(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:60677:12: */ +func pagerExclusiveLock(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:60687:12: */ var rc int32 // Return code rc = pagerLockDb(tls, pPager, EXCLUSIVE_LOCK) @@ -38232,7 +38242,7 @@ func pagerExclusiveLock(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:6067 // exclusive-locking mode when this function is called, take an EXCLUSIVE // lock on the database file and use heap-memory to store the wal-index // in. Otherwise, use the normal shared-memory. -func pagerOpenWal(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:60697:12: */ +func pagerOpenWal(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:60707:12: */ var rc int32 = SQLITE_OK // If the pager is already in exclusive-mode, the WAL module will use @@ -38268,7 +38278,7 @@ func pagerOpenWal(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:60697:12: // If the pager is open on a temp-file (or in-memory database), or if // the WAL file is already open, set *pbOpen to 1 and return SQLITE_OK // without doing anything. -func Xsqlite3PagerOpenWal(tls *libc.TLS, pPager uintptr, pbOpen uintptr) int32 { /* sqlite3.c:60742:20: */ +func Xsqlite3PagerOpenWal(tls *libc.TLS, pPager uintptr, pbOpen uintptr) int32 { /* sqlite3.c:60752:20: */ var rc int32 = SQLITE_OK // Return code if !(int32((*Pager)(unsafe.Pointer(pPager)).FtempFile) != 0) && !(int32((*Pager)(unsafe.Pointer(pPager)).FpWal) != 0) { @@ -38298,7 +38308,7 @@ func Xsqlite3PagerOpenWal(tls *libc.TLS, pPager uintptr, pbOpen uintptr) int32 { // EXCLUSIVE lock on the database file. If this cannot be obtained, an // error (SQLITE_BUSY) is returned and the log connection is not closed. // If successful, the EXCLUSIVE lock is not released before returning. -func Xsqlite3PagerCloseWal(tls *libc.TLS, pPager uintptr, db uintptr) int32 { /* sqlite3.c:60781:20: */ +func Xsqlite3PagerCloseWal(tls *libc.TLS, pPager uintptr, db uintptr) int32 { /* sqlite3.c:60791:20: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -38338,7 +38348,7 @@ func Xsqlite3PagerCloseWal(tls *libc.TLS, pPager uintptr, db uintptr) int32 { /* // If this is a WAL database, obtain a snapshot handle for the snapshot // currently open. Otherwise, return an error. -func Xsqlite3PagerSnapshotGet(tls *libc.TLS, pPager uintptr, ppSnapshot uintptr) int32 { /* sqlite3.c:60850:20: */ +func Xsqlite3PagerSnapshotGet(tls *libc.TLS, pPager uintptr, ppSnapshot uintptr) int32 { /* sqlite3.c:60860:20: */ var rc int32 = SQLITE_ERROR if (*Pager)(unsafe.Pointer(pPager)).FpWal != 0 { rc = Xsqlite3WalSnapshotGet(tls, (*Pager)(unsafe.Pointer(pPager)).FpWal, ppSnapshot) @@ -38349,7 +38359,7 @@ func Xsqlite3PagerSnapshotGet(tls *libc.TLS, pPager uintptr, ppSnapshot uintptr) // If this is a WAL database, store a pointer to pSnapshot. Next time a // read transaction is opened, attempt to read from the snapshot it // identifies. If this is not a WAL database, return an error. -func Xsqlite3PagerSnapshotOpen(tls *libc.TLS, pPager uintptr, pSnapshot uintptr) int32 { /* sqlite3.c:60863:20: */ +func Xsqlite3PagerSnapshotOpen(tls *libc.TLS, pPager uintptr, pSnapshot uintptr) int32 { /* sqlite3.c:60873:20: */ var rc int32 = SQLITE_OK if (*Pager)(unsafe.Pointer(pPager)).FpWal != 0 { Xsqlite3WalSnapshotOpen(tls, (*Pager)(unsafe.Pointer(pPager)).FpWal, pSnapshot) @@ -38361,7 +38371,7 @@ func Xsqlite3PagerSnapshotOpen(tls *libc.TLS, pPager uintptr, pSnapshot uintptr) // If this is a WAL database, call sqlite3WalSnapshotRecover(). If this // is not a WAL database, return an error. -func Xsqlite3PagerSnapshotRecover(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:60880:20: */ +func Xsqlite3PagerSnapshotRecover(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:60890:20: */ var rc int32 if (*Pager)(unsafe.Pointer(pPager)).FpWal != 0 { rc = Xsqlite3WalSnapshotRecover(tls, (*Pager)(unsafe.Pointer(pPager)).FpWal) @@ -38381,7 +38391,7 @@ func Xsqlite3PagerSnapshotRecover(tls *libc.TLS, pPager uintptr) int32 { /* sqli // the CHECKPOINTER lock cannot be obtained, SQLITE_BUSY. If any error // occurs (any value other than SQLITE_OK is returned), the CHECKPOINTER // lock is released before returning. -func Xsqlite3PagerSnapshotCheck(tls *libc.TLS, pPager uintptr, pSnapshot uintptr) int32 { /* sqlite3.c:60902:20: */ +func Xsqlite3PagerSnapshotCheck(tls *libc.TLS, pPager uintptr, pSnapshot uintptr) int32 { /* sqlite3.c:60912:20: */ var rc int32 if (*Pager)(unsafe.Pointer(pPager)).FpWal != 0 { rc = Xsqlite3WalSnapshotCheck(tls, (*Pager)(unsafe.Pointer(pPager)).FpWal, pSnapshot) @@ -38393,7 +38403,7 @@ func Xsqlite3PagerSnapshotCheck(tls *libc.TLS, pPager uintptr, pSnapshot uintptr // Release a lock obtained by an earlier successful call to // sqlite3PagerSnapshotCheck(). -func Xsqlite3PagerSnapshotUnlock(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:60916:21: */ +func Xsqlite3PagerSnapshotUnlock(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:60926:21: */ Xsqlite3WalSnapshotUnlock(tls, (*Pager)(unsafe.Pointer(pPager)).FpWal) } @@ -38972,7 +38982,7 @@ type WalIndexHdr1 = struct { // byte. // Object declarations -type WalIndexHdr = WalIndexHdr1 /* sqlite3.c:61244:28 */ +type WalIndexHdr = WalIndexHdr1 /* sqlite3.c:61254:28 */ type WalIterator1 = struct { FiPrior U32 FnSegment int32 @@ -38984,18 +38994,18 @@ type WalIterator1 = struct { FnEntry int32 FiZero int32 } -} /* sqlite3.c:61245:9 */ +} /* sqlite3.c:61255:9 */ -type WalIterator = WalIterator1 /* sqlite3.c:61245:28 */ +type WalIterator = WalIterator1 /* sqlite3.c:61255:28 */ type WalCkptInfo1 = struct { FnBackfill U32 FaReadMark [5]U32 FaLock [8]U8 FnBackfillAttempted U32 FnotUsed0 U32 -} /* sqlite3.c:61246:9 */ +} /* sqlite3.c:61256:9 */ -type WalCkptInfo = WalCkptInfo1 /* sqlite3.c:61246:28 */ +type WalCkptInfo = WalCkptInfo1 /* sqlite3.c:61256:28 */ // Candidate values for Wal.exclusiveMode. @@ -39003,7 +39013,7 @@ type WalCkptInfo = WalCkptInfo1 /* sqlite3.c:61246:28 */ // Each page of the wal-index mapping contains a hash-table made up of // an array of HASHTABLE_NSLOT elements of the following type. -type Ht_slot = U16 /* sqlite3.c:61501:13 */ +type Ht_slot = U16 /* sqlite3.c:61511:13 */ // 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 @@ -39025,7 +39035,7 @@ type WalSegment = struct { FaPgno uintptr FnEntry int32 FiZero int32 -} /* sqlite3.c:61245:9 */ +} /* sqlite3.c:61255:9 */ // Define the parameters of the hash tables in the wal-index file. There // is a hash-table following every HASHTABLE_NPAGE page numbers in the @@ -39056,7 +39066,7 @@ type WalSegment = struct { // (3) rc==SQLITE_OK and *ppPage==NULL // only if iPage==0 // // Scenario (3) can only occur when pWal->writeLock is false and iPage==0 -func walIndexPageRealloc(tls *libc.TLS, pWal uintptr, iPage int32, ppPage uintptr) int32 { /* sqlite3.c:61572:28: */ +func walIndexPageRealloc(tls *libc.TLS, pWal uintptr, iPage int32, ppPage uintptr) int32 { /* sqlite3.c:61582:28: */ var rc int32 = SQLITE_OK // Enlarge the pWal->apWiData[] array if required @@ -39102,7 +39112,7 @@ func walIndexPageRealloc(tls *libc.TLS, pWal uintptr, iPage int32, ppPage uintpt return rc } -func walIndexPage(tls *libc.TLS, pWal uintptr, iPage int32, ppPage uintptr) int32 { /* sqlite3.c:61621:12: */ +func walIndexPage(tls *libc.TLS, pWal uintptr, iPage int32, ppPage uintptr) int32 { /* sqlite3.c:61631:12: */ if (*Wal)(unsafe.Pointer(pWal)).FnWiData <= iPage || libc.AssignPtrUintptr(ppPage, *(*uintptr)(unsafe.Pointer((*Wal)(unsafe.Pointer(pWal)).FapWiData + uintptr(iPage)*8))) == uintptr(0) { return walIndexPageRealloc(tls, pWal, iPage, ppPage) } @@ -39110,13 +39120,13 @@ func walIndexPage(tls *libc.TLS, pWal uintptr, iPage int32, ppPage uintptr) int3 } // Return a pointer to the WalCkptInfo structure in the wal-index. -func walCkptInfo(tls *libc.TLS, pWal uintptr) uintptr { /* sqlite3.c:61635:29: */ +func walCkptInfo(tls *libc.TLS, pWal uintptr) uintptr { /* sqlite3.c:61645:29: */ return *(*uintptr)(unsafe.Pointer((*Wal)(unsafe.Pointer(pWal)).FapWiData)) + 24*4 } // Return a pointer to the WalIndexHdr structure in the wal-index. -func walIndexHdr(tls *libc.TLS, pWal uintptr) uintptr { /* sqlite3.c:61643:29: */ +func walIndexHdr(tls *libc.TLS, pWal uintptr) uintptr { /* sqlite3.c:61653:29: */ return *(*uintptr)(unsafe.Pointer((*Wal)(unsafe.Pointer(pWal)).FapWiData)) } @@ -39134,7 +39144,7 @@ func walIndexHdr(tls *libc.TLS, pWal uintptr) uintptr { /* sqlite3.c:61643:29: * // The checksum is written back into aOut[] before returning. // // nByte must be a positive multiple of 8. -func walChecksumBytes(tls *libc.TLS, nativeCksum int32, a uintptr, nByte int32, aIn uintptr, aOut uintptr) { /* sqlite3.c:61669:13: */ +func walChecksumBytes(tls *libc.TLS, nativeCksum int32, a uintptr, nByte int32, aIn uintptr, aOut uintptr) { /* sqlite3.c:61679:13: */ var s1 U32 var s2 U32 var aData uintptr = a @@ -39166,7 +39176,7 @@ func walChecksumBytes(tls *libc.TLS, nativeCksum int32, a uintptr, nByte int32, // If there is the possibility of concurrent access to the SHM file // from multiple threads and/or processes, then do a memory barrier. -func walShmBarrier(tls *libc.TLS, pWal uintptr) { /* sqlite3.c:61712:13: */ +func walShmBarrier(tls *libc.TLS, pWal uintptr) { /* sqlite3.c:61722:13: */ if int32((*Wal)(unsafe.Pointer(pWal)).FexclusiveMode) != WAL_HEAPMEMORY_MODE { Xsqlite3OsShmBarrier(tls, (*Wal)(unsafe.Pointer(pWal)).FpDbFd) } @@ -39181,7 +39191,7 @@ func walShmBarrier(tls *libc.TLS, pWal uintptr) { /* sqlite3.c:61712:13: */ // Write the header information in pWal->hdr into the wal-index. // // The checksum on pWal->hdr is updated before it is written. -func walIndexWriteHdr(tls *libc.TLS, pWal uintptr) { /* sqlite3.c:61736:28: */ +func walIndexWriteHdr(tls *libc.TLS, pWal uintptr) { /* sqlite3.c:61746:28: */ var aHdr uintptr = walIndexHdr(tls, pWal) var nCksum int32 = int32(uintptr(0) + 40) @@ -39205,7 +39215,7 @@ func walIndexWriteHdr(tls *libc.TLS, pWal uintptr) { /* sqlite3.c:61736:28: */ // 12: Salt-2 (copied from the wal-header) // 16: Checksum-1. // 20: Checksum-2. -func walEncodeFrame(tls *libc.TLS, pWal uintptr, iPage U32, nTruncate U32, aData uintptr, aFrame uintptr) { /* sqlite3.c:61763:13: */ +func walEncodeFrame(tls *libc.TLS, pWal uintptr, iPage U32, nTruncate U32, aData uintptr, aFrame uintptr) { /* sqlite3.c:61773:13: */ var nativeCksum int32 // True for native byte-order checksums var aCksum uintptr = pWal + 72 + 24 @@ -39228,7 +39238,7 @@ func walEncodeFrame(tls *libc.TLS, pWal uintptr, iPage U32, nTruncate U32, aData // Check to see if the frame with header in aFrame[] and content // in aData[] is valid. If it is a valid frame, fill *piPage and // *pnTruncate and return true. Return if the frame is not valid. -func walDecodeFrame(tls *libc.TLS, pWal uintptr, piPage uintptr, pnTruncate uintptr, aData uintptr, aFrame uintptr) int32 { /* sqlite3.c:61794:12: */ +func walDecodeFrame(tls *libc.TLS, pWal uintptr, piPage uintptr, pnTruncate uintptr, aData uintptr, aFrame uintptr) int32 { /* sqlite3.c:61804:12: */ var nativeCksum int32 // True for native byte-order checksums var aCksum uintptr = pWal + 72 + 24 var pgno U32 // Page number of the frame @@ -39270,7 +39280,7 @@ func walDecodeFrame(tls *libc.TLS, pWal uintptr, piPage uintptr, pnTruncate uint // through the unlocked state first. // // In locking_mode=EXCLUSIVE, all of these routines become no-ops. -func walLockShared(tls *libc.TLS, pWal uintptr, lockIdx int32) int32 { /* sqlite3.c:61873:12: */ +func walLockShared(tls *libc.TLS, pWal uintptr, lockIdx int32) int32 { /* sqlite3.c:61883:12: */ var rc int32 if (*Wal)(unsafe.Pointer(pWal)).FexclusiveMode != 0 { return SQLITE_OK @@ -39281,7 +39291,7 @@ func walLockShared(tls *libc.TLS, pWal uintptr, lockIdx int32) int32 { /* sqlite return rc } -func walUnlockShared(tls *libc.TLS, pWal uintptr, lockIdx int32) { /* sqlite3.c:61883:13: */ +func walUnlockShared(tls *libc.TLS, pWal uintptr, lockIdx int32) { /* sqlite3.c:61893:13: */ if (*Wal)(unsafe.Pointer(pWal)).FexclusiveMode != 0 { return } @@ -39290,7 +39300,7 @@ func walUnlockShared(tls *libc.TLS, pWal uintptr, lockIdx int32) { /* sqlite3.c: } -func walLockExclusive(tls *libc.TLS, pWal uintptr, lockIdx int32, n int32) int32 { /* sqlite3.c:61889:12: */ +func walLockExclusive(tls *libc.TLS, pWal uintptr, lockIdx int32, n int32) int32 { /* sqlite3.c:61899:12: */ var rc int32 if (*Wal)(unsafe.Pointer(pWal)).FexclusiveMode != 0 { return SQLITE_OK @@ -39301,7 +39311,7 @@ func walLockExclusive(tls *libc.TLS, pWal uintptr, lockIdx int32, n int32) int32 return rc } -func walUnlockExclusive(tls *libc.TLS, pWal uintptr, lockIdx int32, n int32) { /* sqlite3.c:61899:13: */ +func walUnlockExclusive(tls *libc.TLS, pWal uintptr, lockIdx int32, n int32) { /* sqlite3.c:61909:13: */ if (*Wal)(unsafe.Pointer(pWal)).FexclusiveMode != 0 { return } @@ -39313,12 +39323,12 @@ func walUnlockExclusive(tls *libc.TLS, pWal uintptr, lockIdx int32, n int32) { / // Compute a hash on a page number. The resulting hash value must land // between 0 and (HASHTABLE_NSLOT-1). The walHashNext() function advances // the hash to the next value in the event of a collision. -func walHash(tls *libc.TLS, iPage U32) int32 { /* sqlite3.c:61912:12: */ +func walHash(tls *libc.TLS, iPage U32) int32 { /* sqlite3.c:61922:12: */ return int32(iPage * U32(HASHTABLE_HASH_1) & U32(HASHTABLE_NPAGE*2-1)) } -func walNextHash(tls *libc.TLS, iPriorHash int32) int32 { /* sqlite3.c:61917:12: */ +func walNextHash(tls *libc.TLS, iPriorHash int32) int32 { /* sqlite3.c:61927:12: */ return (iPriorHash + 1) & (HASHTABLE_NPAGE*2 - 1) } @@ -39330,12 +39340,12 @@ type WalHashLoc1 = struct { FaPgno uintptr FiZero U32 F__ccgo_pad1 [4]byte -} /* sqlite3.c:61926:9 */ +} /* sqlite3.c:61936:9 */ // An instance of the WalHashLoc object is used to describe the location // of a page hash table in the wal-index. This becomes the return value // from walHashGet(). -type WalHashLoc = WalHashLoc1 /* sqlite3.c:61926:27 */ +type WalHashLoc = WalHashLoc1 /* sqlite3.c:61936:27 */ // Return pointers to the hash table and page number array stored on // page iHash of the wal-index. The wal-index is broken into 32KB pages @@ -39349,7 +39359,7 @@ type WalHashLoc = WalHashLoc1 /* sqlite3.c:61926:27 */ // // Finally, set pLoc->aPgno so that pLoc->aPgno[0] is the page number of the // first frame indexed by the hash table, frame (pLoc->iZero). -func walHashGet(tls *libc.TLS, pWal uintptr, iHash int32, pLoc uintptr) int32 { /* sqlite3.c:61947:12: */ +func walHashGet(tls *libc.TLS, pWal uintptr, iHash int32, pLoc uintptr) int32 { /* sqlite3.c:61957:12: */ var rc int32 // Return code rc = walIndexPage(tls, pWal, iHash, pLoc+8) @@ -39372,14 +39382,14 @@ func walHashGet(tls *libc.TLS, pWal uintptr, iHash int32, pLoc uintptr) int32 { // and page-number array that contain entries corresponding to WAL frame // iFrame. The wal-index is broken up into 32KB pages. Wal-index pages // are numbered starting from 0. -func walFramePage(tls *libc.TLS, iFrame U32) int32 { /* sqlite3.c:61977:12: */ +func walFramePage(tls *libc.TLS, iFrame U32) int32 { /* sqlite3.c:61987:12: */ var iHash int32 = int32((uint64(iFrame+U32(HASHTABLE_NPAGE)) - (uint64(HASHTABLE_NPAGE) - (uint64(unsafe.Sizeof(WalIndexHdr{}))*uint64(2)+uint64(unsafe.Sizeof(WalCkptInfo{})))/uint64(unsafe.Sizeof(U32(0)))) - uint64(1)) / uint64(HASHTABLE_NPAGE)) return iHash } // Return the page number associated with frame iFrame in this WAL. -func walFramePgno(tls *libc.TLS, pWal uintptr, iFrame U32) U32 { /* sqlite3.c:61992:12: */ +func walFramePgno(tls *libc.TLS, pWal uintptr, iFrame U32) U32 { /* sqlite3.c:62002:12: */ var iHash int32 = walFramePage(tls, iFrame) if iHash == 0 { return *(*U32)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer((*Wal)(unsafe.Pointer(pWal)).FapWiData)) + uintptr((uint64(unsafe.Sizeof(WalIndexHdr{}))*uint64(2)+uint64(unsafe.Sizeof(WalCkptInfo{})))/uint64(unsafe.Sizeof(U32(0)))+uint64(iFrame)-uint64(1))*4)) @@ -39397,7 +39407,7 @@ func walFramePgno(tls *libc.TLS, pWal uintptr, iFrame U32) U32 { /* sqlite3.c:61 // updated. Any later hash tables will be automatically cleared when // pWal->hdr.mxFrame advances to the point where those hash tables are // actually needed. -func walCleanupHash(tls *libc.TLS, pWal uintptr) { /* sqlite3.c:62012:13: */ +func walCleanupHash(tls *libc.TLS, pWal uintptr) { /* sqlite3.c:62022:13: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -39440,7 +39450,7 @@ func walCleanupHash(tls *libc.TLS, pWal uintptr) { /* sqlite3.c:62012:13: */ // Set an entry in the wal-index that will map database page number // pPage into WAL frame iFrame. -func walIndexAppend(tls *libc.TLS, pWal uintptr, iFrame U32, iPage U32) int32 { /* sqlite3.c:62074:12: */ +func walIndexAppend(tls *libc.TLS, pWal uintptr, iFrame U32, iPage U32) int32 { /* sqlite3.c:62084:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -39481,7 +39491,7 @@ func walIndexAppend(tls *libc.TLS, pWal uintptr, iFrame U32, iPage U32) int32 { nCollide = idx for iKey = walHash(tls, iPage); *(*Ht_slot)(unsafe.Pointer((*WalHashLoc)(unsafe.Pointer(bp /* &sLoc */)).FaHash + uintptr(iKey)*2)) != 0; iKey = walNextHash(tls, iKey) { if libc.PostDecInt32(&nCollide, 1) == 0 { - return Xsqlite3CorruptError(tls, 62114) + return Xsqlite3CorruptError(tls, 62124) } } *(*U32)(unsafe.Pointer((*WalHashLoc)(unsafe.Pointer(bp /* &sLoc */)).FaPgno + uintptr(idx-1)*4)) = iPage @@ -39500,7 +39510,7 @@ func walIndexAppend(tls *libc.TLS, pWal uintptr, iFrame U32, iPage U32) int32 { // WAL_RECOVER_LOCK is also held so that other threads will know // that this thread is running recovery. If unable to establish // the necessary locks, this routine returns SQLITE_BUSY. -func walIndexRecover(tls *libc.TLS, pWal uintptr) int32 { /* sqlite3.c:62163:12: */ +func walIndexRecover(tls *libc.TLS, pWal uintptr) int32 { /* sqlite3.c:62173:12: */ bp := tls.Alloc(80) defer tls.Free(80) @@ -39615,7 +39625,7 @@ __6: if !(version != U32(WAL_MAX_VERSION)) { goto __7 } - rc = Xsqlite3CantopenError(tls, 62246) + rc = Xsqlite3CantopenError(tls, 62256) goto finished __7: ; @@ -39819,7 +39829,7 @@ recovery_error: } // Close an open wal-index. -func walIndexClose(tls *libc.TLS, pWal uintptr, isDelete int32) { /* sqlite3.c:62386:13: */ +func walIndexClose(tls *libc.TLS, pWal uintptr, isDelete int32) { /* sqlite3.c:62396:13: */ if int32((*Wal)(unsafe.Pointer(pWal)).FexclusiveMode) == WAL_HEAPMEMORY_MODE || (*Wal)(unsafe.Pointer(pWal)).FbShmUnreliable != 0 { var i int32 for i = 0; i < (*Wal)(unsafe.Pointer(pWal)).FnWiData; i++ { @@ -39845,7 +39855,7 @@ func walIndexClose(tls *libc.TLS, pWal uintptr, isDelete int32) { /* sqlite3.c:6 // If the log file is successfully opened, SQLITE_OK is returned and // *ppWal is set to point to a new WAL handle. If an error occurs, // an SQLite error code is returned and *ppWal is left unmodified. -func Xsqlite3WalOpen(tls *libc.TLS, pVfs uintptr, pDbFd uintptr, zWalName uintptr, bNoShm int32, mxWalSize I64, ppWal uintptr) int32 { /* sqlite3.c:62414:20: */ +func Xsqlite3WalOpen(tls *libc.TLS, pVfs uintptr, pDbFd uintptr, zWalName uintptr, bNoShm int32, mxWalSize I64, ppWal uintptr) int32 { /* sqlite3.c:62424:20: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -39917,7 +39927,7 @@ func Xsqlite3WalOpen(tls *libc.TLS, pVfs uintptr, pDbFd uintptr, zWalName uintpt } // Change the size to which the WAL file is trucated on each reset. -func Xsqlite3WalLimit(tls *libc.TLS, pWal uintptr, iLimit I64) { /* sqlite3.c:62517:21: */ +func Xsqlite3WalLimit(tls *libc.TLS, pWal uintptr, iLimit I64) { /* sqlite3.c:62527:21: */ if pWal != 0 { (*Wal)(unsafe.Pointer(pWal)).FmxWalSize = iLimit } @@ -39931,7 +39941,7 @@ func Xsqlite3WalLimit(tls *libc.TLS, pWal uintptr, iLimit I64) { /* sqlite3.c:62 // // Return 0 on success. If there are no pages in the WAL with a page // number larger than *piPage, then return 1. -func walIteratorNext(tls *libc.TLS, p uintptr, piPage uintptr, piFrame uintptr) int32 { /* sqlite3.c:62531:12: */ +func walIteratorNext(tls *libc.TLS, p uintptr, piPage uintptr, piFrame uintptr) int32 { /* sqlite3.c:62541:12: */ var iMin U32 // Result pgno must be greater than iMin var iRet U32 = 0xFFFFFFFF // 0xffffffff is never a valid page number var i int32 // For looping through segments @@ -39978,7 +39988,7 @@ func walIteratorNext(tls *libc.TLS, p uintptr, piPage uintptr, piFrame uintptr) // aLeft[X]!=aRight[Y] && aContent[aLeft[X]] == aContent[aRight[Y]] // // When that happens, omit the aLeft[X] and use the aRight[Y] index. -func walMerge(tls *libc.TLS, aContent uintptr, aLeft uintptr, nLeft int32, paRight uintptr, pnRight uintptr, aTmp uintptr) { /* sqlite3.c:62584:13: */ +func walMerge(tls *libc.TLS, aContent uintptr, aLeft uintptr, nLeft int32, paRight uintptr, pnRight uintptr, aTmp uintptr) { /* sqlite3.c:62594:13: */ var iLeft int32 = 0 // Current index in aLeft var iRight int32 = 0 // Current index in aRight var iOut int32 = 0 // Current index in output buffer @@ -40024,7 +40034,7 @@ func walMerge(tls *libc.TLS, aContent uintptr, aLeft uintptr, nLeft int32, paRig // // Keep the larger of the two values aList[X] and aList[Y] and discard // the smaller. -func walMergesort(tls *libc.TLS, aContent uintptr, aBuffer uintptr, aList uintptr, pnList uintptr) { /* sqlite3.c:62641:13: */ +func walMergesort(tls *libc.TLS, aContent uintptr, aBuffer uintptr, aList uintptr, pnList uintptr) { /* sqlite3.c:62651:13: */ bp := tls.Alloc(220) defer tls.Free(220) @@ -40070,10 +40080,10 @@ type Sublist = struct { FnList int32 F__ccgo_pad1 [4]byte FaList uintptr -} /* sqlite3.c:62647:3 */ +} /* sqlite3.c:62657:3 */ // Free an iterator allocated by walIteratorInit(). -func walIteratorFree(tls *libc.TLS, p uintptr) { /* sqlite3.c:62704:13: */ +func walIteratorFree(tls *libc.TLS, p uintptr) { /* sqlite3.c:62714:13: */ Xsqlite3_free(tls, p) } @@ -40088,7 +40098,7 @@ func walIteratorFree(tls *libc.TLS, p uintptr) { /* sqlite3.c:62704:13: */ // // The calling routine should invoke walIteratorFree() to destroy the // WalIterator object when it has finished with it. -func walIteratorInit(tls *libc.TLS, pWal uintptr, nBackfill U32, pp uintptr) int32 { /* sqlite3.c:62721:12: */ +func walIteratorInit(tls *libc.TLS, pWal uintptr, nBackfill U32, pp uintptr) int32 { /* sqlite3.c:62731:12: */ bp := tls.Alloc(28) defer tls.Free(28) @@ -40172,7 +40182,7 @@ func walIteratorInit(tls *libc.TLS, pWal uintptr, nBackfill U32, pp uintptr) int // n. If the attempt fails and parameter xBusy is not NULL, then it is a // 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) int32 { /* sqlite3.c:62884:12: */ +func walBusyLock(tls *libc.TLS, pWal uintptr, xBusy uintptr, pBusyArg uintptr, lockIdx int32, n int32) int32 { /* sqlite3.c:62894:12: */ var rc int32 for __ccgo := true; __ccgo; __ccgo = xBusy != 0 && rc == SQLITE_BUSY && (*struct { f func(*libc.TLS, uintptr) int32 @@ -40184,7 +40194,7 @@ func walBusyLock(tls *libc.TLS, pWal uintptr, xBusy uintptr, pBusyArg uintptr, l // The cache of the wal-index header must be valid to call this function. // Return the page-size in bytes used by the database. -func walPagesize(tls *libc.TLS, pWal uintptr) int32 { /* sqlite3.c:62908:12: */ +func walPagesize(tls *libc.TLS, pWal uintptr) int32 { /* sqlite3.c:62918:12: */ return int32((*Wal)(unsafe.Pointer(pWal)).Fhdr.FszPage)&0xfe00 + int32((*Wal)(unsafe.Pointer(pWal)).Fhdr.FszPage)&0x0001<<16 } @@ -40203,7 +40213,7 @@ func walPagesize(tls *libc.TLS, pWal uintptr) int32 { /* sqlite3.c:62908:12: */ // The value of parameter salt1 is used as the aSalt[1] value in the // new wal-index header. It should be passed a pseudo-random value (i.e. // one obtained from sqlite3_randomness()). -func walRestartHdr(tls *libc.TLS, pWal uintptr, salt1 U32) { /* sqlite3.c:62929:13: */ +func walRestartHdr(tls *libc.TLS, pWal uintptr, salt1 U32) { /* sqlite3.c:62939:13: */ bp := tls.Alloc(4) defer tls.Free(4) *(*U32)(unsafe.Pointer(bp)) = salt1 @@ -40254,7 +40264,7 @@ func walRestartHdr(tls *libc.TLS, pWal uintptr, salt1 U32) { /* sqlite3.c:62929: // The caller must be holding sufficient locks to ensure that no other // 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) int32 { /* sqlite3.c:62976:12: */ +func walCheckpoint(tls *libc.TLS, pWal uintptr, db uintptr, eMode int32, xBusy uintptr, pBusyArg uintptr, sync_flags int32, zBuf uintptr) int32 { /* sqlite3.c:62986:12: */ bp := tls.Alloc(36) defer tls.Free(36) @@ -40385,7 +40395,7 @@ __10: // 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 = Xsqlite3CorruptError(tls, 63060) + rc = Xsqlite3CorruptError(tls, 63070) goto __15 __14: Xsqlite3OsFileControlHint(tls, (*Wal)(unsafe.Pointer(pWal)).FpDbFd, SQLITE_FCNTL_SIZE_HINT, bp+16) @@ -40546,7 +40556,7 @@ walcheckpoint_out: // If the WAL file is currently larger than nMax bytes in size, truncate // it to exactly nMax bytes. If an error occurs while doing so, ignore it. -func walLimitSize(tls *libc.TLS, pWal uintptr, nMax I64) { /* sqlite3.c:63162:13: */ +func walLimitSize(tls *libc.TLS, pWal uintptr, nMax I64) { /* sqlite3.c:63172:13: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -40565,7 +40575,7 @@ func walLimitSize(tls *libc.TLS, pWal uintptr, nMax I64) { /* sqlite3.c:63162:13 } // Close a connection to a log file. -func Xsqlite3WalClose(tls *libc.TLS, pWal uintptr, db uintptr, sync_flags int32, nBuf int32, zBuf uintptr) int32 { /* sqlite3.c:63179:20: */ +func Xsqlite3WalClose(tls *libc.TLS, pWal uintptr, db uintptr, sync_flags int32, nBuf int32, zBuf uintptr) int32 { /* sqlite3.c:63189:20: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -40637,7 +40647,7 @@ func Xsqlite3WalClose(tls *libc.TLS, pWal uintptr, db uintptr, sync_flags int32, // // If the checksum cannot be verified return non-zero. If the header // is read successfully and the checksum verified, return zero. -func walIndexTryHdr(tls *libc.TLS, pWal uintptr, pChanged uintptr) int32 { /* sqlite3.c:63260:27: */ +func walIndexTryHdr(tls *libc.TLS, pWal uintptr, pChanged uintptr) int32 { /* sqlite3.c:63270:27: */ bp := tls.Alloc(104) defer tls.Free(104) @@ -40706,7 +40716,7 @@ func walIndexTryHdr(tls *libc.TLS, pWal uintptr, pChanged uintptr) int32 { /* sq // // If the wal-index header is successfully read, return SQLITE_OK. // Otherwise an SQLite error code. -func walIndexReadHdr(tls *libc.TLS, pWal uintptr, pChanged uintptr) int32 { /* sqlite3.c:63330:12: */ +func walIndexReadHdr(tls *libc.TLS, pWal uintptr, pChanged uintptr) int32 { /* sqlite3.c:63340:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -40786,7 +40796,7 @@ func walIndexReadHdr(tls *libc.TLS, pWal uintptr, pChanged uintptr) int32 { /* s // sure the wal-index was not constructed with some future format that // this version of SQLite cannot understand. if badHdr == 0 && (*Wal)(unsafe.Pointer(pWal)).Fhdr.FiVersion != U32(WALINDEX_MAX_VERSION) { - rc = Xsqlite3CantopenError(tls, 63409) + rc = Xsqlite3CantopenError(tls, 63419) } if (*Wal)(unsafe.Pointer(pWal)).FbShmUnreliable != 0 { if rc != SQLITE_OK { @@ -40831,7 +40841,7 @@ func walIndexReadHdr(tls *libc.TLS, pWal uintptr, pChanged uintptr) int32 { /* s // beginning (including attempting to map the *-shm file). // // If an error occurs, an SQLite error code is returned. -func walBeginShmUnreliable(tls *libc.TLS, pWal uintptr, pChanged uintptr) int32 { /* sqlite3.c:63454:12: */ +func walBeginShmUnreliable(tls *libc.TLS, pWal uintptr, pChanged uintptr) int32 { /* sqlite3.c:63464:12: */ bp := tls.Alloc(64) defer tls.Free(64) @@ -41097,7 +41107,7 @@ __15: // update values of the aReadMark[] array in the header, but if it does // so it takes care to hold an exclusive lock on the corresponding // WAL_READ_LOCK() while changing values. -func walTryBeginRead(tls *libc.TLS, pWal uintptr, pChanged uintptr, useWal int32, cnt int32) int32 { /* sqlite3.c:63651:12: */ +func walTryBeginRead(tls *libc.TLS, pWal uintptr, pChanged uintptr, useWal int32, cnt int32) int32 { /* sqlite3.c:63661:12: */ var pInfo uintptr // Checkpoint information in wal-index var mxReadMark U32 // Largest aReadMark[] value var mxI int32 // Index of largest aReadMark[] value @@ -41314,7 +41324,7 @@ func walTryBeginRead(tls *libc.TLS, pWal uintptr, pChanged uintptr, useWal int32 // SQLITE_OK is returned if successful, or an SQLite error code if an // error occurs. It is not an error if nBackfillAttempted cannot be // decreased at all. -func Xsqlite3WalSnapshotRecover(tls *libc.TLS, pWal uintptr) int32 { /* sqlite3.c:63881:20: */ +func Xsqlite3WalSnapshotRecover(tls *libc.TLS, pWal uintptr) int32 { /* sqlite3.c:63891:20: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -41388,7 +41398,7 @@ func Xsqlite3WalSnapshotRecover(tls *libc.TLS, pWal uintptr) int32 { /* sqlite3. // transaction, then *pChanged is set to 1 before returning. The // Pager layer will use this to know that its cache is stale and // needs to be flushed. -func Xsqlite3WalBeginReadTransaction(tls *libc.TLS, pWal uintptr, pChanged uintptr) int32 { /* sqlite3.c:63952:20: */ +func Xsqlite3WalBeginReadTransaction(tls *libc.TLS, pWal uintptr, pChanged uintptr) int32 { /* sqlite3.c:63962:20: */ var rc int32 // Return code var cnt int32 = 0 // Number of TryBeginRead attempts var bChanged int32 = 0 @@ -41476,7 +41486,7 @@ func Xsqlite3WalBeginReadTransaction(tls *libc.TLS, pWal uintptr, pChanged uintp // Finish with a read transaction. All this does is release the // read-lock. -func Xsqlite3WalEndReadTransaction(tls *libc.TLS, pWal uintptr) { /* sqlite3.c:64060:21: */ +func Xsqlite3WalEndReadTransaction(tls *libc.TLS, pWal uintptr) { /* sqlite3.c:64070:21: */ Xsqlite3WalEndWriteTransaction(tls, pWal) if int32((*Wal)(unsafe.Pointer(pWal)).FreadLock) >= 0 { walUnlockShared(tls, pWal, 3+int32((*Wal)(unsafe.Pointer(pWal)).FreadLock)) @@ -41490,7 +41500,7 @@ func Xsqlite3WalEndReadTransaction(tls *libc.TLS, pWal uintptr) { /* sqlite3.c:6 // // Return SQLITE_OK if successful, or an error code if an error occurs. If an // error does occur, the final value of *piRead is undefined. -func Xsqlite3WalFindFrame(tls *libc.TLS, pWal uintptr, pgno Pgno, piRead uintptr) int32 { /* sqlite3.c:64076:20: */ +func Xsqlite3WalFindFrame(tls *libc.TLS, pWal uintptr, pgno Pgno, piRead uintptr) int32 { /* sqlite3.c:64086:20: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -41557,7 +41567,7 @@ func Xsqlite3WalFindFrame(tls *libc.TLS, pWal uintptr, pgno Pgno, piRead uintptr iRead = iFrame } if libc.PostDecInt32(&nCollide, 1) == 0 { - return Xsqlite3CorruptError(tls, 64146) + return Xsqlite3CorruptError(tls, 64156) } iKey = walNextHash(tls, iKey) } @@ -41573,7 +41583,7 @@ func Xsqlite3WalFindFrame(tls *libc.TLS, pWal uintptr, pgno Pgno, piRead uintptr // Read the contents of frame iRead from the wal file into buffer pOut // (which is nOut bytes in size). Return SQLITE_OK if successful, or an // error code otherwise. -func Xsqlite3WalReadFrame(tls *libc.TLS, pWal uintptr, iRead U32, nOut int32, pOut uintptr) int32 { /* sqlite3.c:64180:20: */ +func Xsqlite3WalReadFrame(tls *libc.TLS, pWal uintptr, iRead U32, nOut int32, pOut uintptr) int32 { /* sqlite3.c:64190:20: */ var sz int32 var iOffset I64 sz = int32((*Wal)(unsafe.Pointer(pWal)).Fhdr.FszPage) @@ -41590,7 +41600,7 @@ func Xsqlite3WalReadFrame(tls *libc.TLS, pWal uintptr, iRead U32, nOut int32, pO } // Return the size of the database in pages (or zero, if unknown). -func Xsqlite3WalDbsize(tls *libc.TLS, pWal uintptr) Pgno { /* sqlite3.c:64200:21: */ +func Xsqlite3WalDbsize(tls *libc.TLS, pWal uintptr) Pgno { /* sqlite3.c:64210:21: */ if pWal != 0 && int32((*Wal)(unsafe.Pointer(pWal)).FreadLock) >= 0 { return (*Wal)(unsafe.Pointer(pWal)).Fhdr.FnPage } @@ -41608,7 +41618,7 @@ func Xsqlite3WalDbsize(tls *libc.TLS, pWal uintptr) Pgno { /* sqlite3.c:64200:21 // returns SQLITE_BUSY in that case and no write transaction is started. // // There can only be a single writer active at a time. -func Xsqlite3WalBeginWriteTransaction(tls *libc.TLS, pWal uintptr) int32 { /* sqlite3.c:64221:20: */ +func Xsqlite3WalBeginWriteTransaction(tls *libc.TLS, pWal uintptr) int32 { /* sqlite3.c:64231:20: */ var rc int32 // Cannot start a write transaction without first holding a read @@ -41640,7 +41650,7 @@ func Xsqlite3WalBeginWriteTransaction(tls *libc.TLS, pWal uintptr) int32 { /* sq // End a write transaction. The commit has already been done. This // routine merely releases the lock. -func Xsqlite3WalEndWriteTransaction(tls *libc.TLS, pWal uintptr) int32 { /* sqlite3.c:64269:20: */ +func Xsqlite3WalEndWriteTransaction(tls *libc.TLS, pWal uintptr) int32 { /* sqlite3.c:64279:20: */ if (*Wal)(unsafe.Pointer(pWal)).FwriteLock != 0 { walUnlockExclusive(tls, pWal, WAL_WRITE_LOCK, 1) (*Wal)(unsafe.Pointer(pWal)).FwriteLock = U8(0) @@ -41660,7 +41670,7 @@ func Xsqlite3WalEndWriteTransaction(tls *libc.TLS, pWal uintptr) int32 { /* sqli // // Otherwise, if the callback function does not return an error, this // function returns SQLITE_OK. -func Xsqlite3WalUndo(tls *libc.TLS, pWal uintptr, xUndo uintptr, pUndoCtx uintptr) int32 { /* sqlite3.c:64291:20: */ +func Xsqlite3WalUndo(tls *libc.TLS, pWal uintptr, xUndo uintptr, pUndoCtx uintptr) int32 { /* sqlite3.c:64301:20: */ var rc int32 = SQLITE_OK if (*Wal)(unsafe.Pointer(pWal)).FwriteLock != 0 { var iMax Pgno = (*Wal)(unsafe.Pointer(pWal)).Fhdr.FmxFrame @@ -41697,7 +41707,7 @@ func Xsqlite3WalUndo(tls *libc.TLS, pWal uintptr, xUndo uintptr, pUndoCtx uintpt // values. This function populates the array with values required to // "rollback" the write position of the WAL handle back to the current // point in the event of a savepoint rollback (via WalSavepointUndo()). -func Xsqlite3WalSavepoint(tls *libc.TLS, pWal uintptr, aWalData uintptr) { /* sqlite3.c:64331:21: */ +func Xsqlite3WalSavepoint(tls *libc.TLS, pWal uintptr, aWalData uintptr) { /* sqlite3.c:64341:21: */ *(*U32)(unsafe.Pointer(aWalData)) = (*Wal)(unsafe.Pointer(pWal)).Fhdr.FmxFrame *(*U32)(unsafe.Pointer(aWalData + 1*4)) = *(*U32)(unsafe.Pointer(pWal + 72 + 24)) @@ -41709,7 +41719,7 @@ func Xsqlite3WalSavepoint(tls *libc.TLS, pWal uintptr, aWalData uintptr) { /* sq // the values in the aWalData[] array. aWalData must point to an array // of WAL_SAVEPOINT_NDATA u32 values that has been previously populated // by a call to WalSavepoint(). -func Xsqlite3WalSavepointUndo(tls *libc.TLS, pWal uintptr, aWalData uintptr) int32 { /* sqlite3.c:64345:20: */ +func Xsqlite3WalSavepointUndo(tls *libc.TLS, pWal uintptr, aWalData uintptr) int32 { /* sqlite3.c:64355:20: */ var rc int32 = SQLITE_OK if *(*U32)(unsafe.Pointer(aWalData + 3*4)) != (*Wal)(unsafe.Pointer(pWal)).FnCkpt { @@ -41740,7 +41750,7 @@ func Xsqlite3WalSavepointUndo(tls *libc.TLS, pWal uintptr, aWalData uintptr) int // SQLITE_OK is returned if no error is encountered (regardless of whether // or not pWal->hdr.mxFrame is modified). An SQLite error code is returned // if an error occurs. -func walRestartLog(tls *libc.TLS, pWal uintptr) int32 { /* sqlite3.c:64382:12: */ +func walRestartLog(tls *libc.TLS, pWal uintptr) int32 { /* sqlite3.c:64392:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -41794,12 +41804,12 @@ type WalWriter1 = struct { FiSyncPoint Sqlite3_int64 FsyncFlags int32 FszPage int32 -} /* sqlite3.c:64429:9 */ +} /* sqlite3.c:64439:9 */ // Information about the current state of the WAL file and where // the next fsync should occur - passed from sqlite3WalFrames() into // walWriteToLog(). -type WalWriter = WalWriter1 /* sqlite3.c:64435:3 */ +type WalWriter = WalWriter1 /* sqlite3.c:64445:3 */ // Write iAmt bytes of content into the WAL file beginning at iOffset. // Do a sync when crossing the p->iSyncPoint boundary. @@ -41807,7 +41817,7 @@ type WalWriter = WalWriter1 /* sqlite3.c:64435:3 */ // In other words, if iSyncPoint is in between iOffset and iOffset+iAmt, // first write the part before iSyncPoint, then sync, then write the // rest. -func walWriteToLog(tls *libc.TLS, p uintptr, pContent uintptr, iAmt int32, iOffset Sqlite3_int64) int32 { /* sqlite3.c:64445:12: */ +func walWriteToLog(tls *libc.TLS, p uintptr, pContent uintptr, iAmt int32, iOffset Sqlite3_int64) int32 { /* sqlite3.c:64455:12: */ var rc int32 if iOffset < (*WalWriter)(unsafe.Pointer(p)).FiSyncPoint && iOffset+Sqlite3_int64(iAmt) >= (*WalWriter)(unsafe.Pointer(p)).FiSyncPoint { var iFirstAmt int32 = int32((*WalWriter)(unsafe.Pointer(p)).FiSyncPoint - iOffset) @@ -41829,7 +41839,7 @@ func walWriteToLog(tls *libc.TLS, p uintptr, pContent uintptr, iAmt int32, iOffs } // Write out a single frame of the WAL -func walWriteOneFrame(tls *libc.TLS, p uintptr, pPage uintptr, nTruncate int32, iOffset Sqlite3_int64) int32 { /* sqlite3.c:64470:12: */ +func walWriteOneFrame(tls *libc.TLS, p uintptr, pPage uintptr, nTruncate int32, iOffset Sqlite3_int64) int32 { /* sqlite3.c:64480:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -41854,7 +41864,7 @@ func walWriteOneFrame(tls *libc.TLS, p uintptr, pPage uintptr, nTruncate int32, // with the earliest to have been overwritten. // // SQLITE_OK is returned if successful, or an SQLite error code otherwise. -func walRewriteChecksums(tls *libc.TLS, pWal uintptr, iLast U32) int32 { /* sqlite3.c:64496:12: */ +func walRewriteChecksums(tls *libc.TLS, pWal uintptr, iLast U32) int32 { /* sqlite3.c:64506:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -41908,7 +41918,7 @@ func walRewriteChecksums(tls *libc.TLS, pWal uintptr, iLast U32) int32 { /* sqli // Write a set of frames to the log. The caller must hold the write-lock // on the log file (obtained using sqlite3WalBeginWriteTransaction()). -func Xsqlite3WalFrames(tls *libc.TLS, pWal uintptr, szPage int32, pList uintptr, nTruncate Pgno, isCommit int32, sync_flags int32) int32 { /* sqlite3.c:64545:20: */ +func Xsqlite3WalFrames(tls *libc.TLS, pWal uintptr, szPage int32, pList uintptr, nTruncate Pgno, isCommit int32, sync_flags int32) int32 { /* sqlite3.c:64555:20: */ bp := tls.Alloc(80) defer tls.Free(80) @@ -42141,7 +42151,7 @@ func Xsqlite3WalFrames(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 Xsqlite3WalCheckpoint(tls *libc.TLS, pWal uintptr, db uintptr, eMode int32, xBusy uintptr, pBusyArg uintptr, sync_flags int32, nBuf int32, zBuf uintptr, pnLog uintptr, pnCkpt uintptr) int32 { /* sqlite3.c:64783:20: */ +func Xsqlite3WalCheckpoint(tls *libc.TLS, pWal uintptr, db uintptr, eMode int32, xBusy uintptr, pBusyArg uintptr, sync_flags int32, nBuf int32, zBuf uintptr, pnLog uintptr, pnCkpt uintptr) int32 { /* sqlite3.c:64793:20: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -42206,7 +42216,7 @@ func Xsqlite3WalCheckpoint(tls *libc.TLS, pWal uintptr, db uintptr, eMode int32, if rc == SQLITE_OK { if (*Wal)(unsafe.Pointer(pWal)).Fhdr.FmxFrame != 0 && walPagesize(tls, pWal) != nBuf { - rc = Xsqlite3CorruptError(tls, 64865) + rc = Xsqlite3CorruptError(tls, 64875) } else { rc = walCheckpoint(tls, pWal, db, eMode2, xBusy2, pBusyArg, sync_flags, zBuf) } @@ -42250,7 +42260,7 @@ func Xsqlite3WalCheckpoint(tls *libc.TLS, pWal uintptr, db uintptr, eMode int32, // number of frames in the WAL at the point of the last commit since // sqlite3WalCallback() was called. If no commits have occurred since // the last call, then return 0. -func Xsqlite3WalCallback(tls *libc.TLS, pWal uintptr) int32 { /* sqlite3.c:64908:20: */ +func Xsqlite3WalCallback(tls *libc.TLS, pWal uintptr) int32 { /* sqlite3.c:64918:20: */ var ret U32 = U32(0) if pWal != 0 { ret = (*Wal)(unsafe.Pointer(pWal)).FiCallback @@ -42281,7 +42291,7 @@ func Xsqlite3WalCallback(tls *libc.TLS, pWal uintptr) int32 { /* sqlite3.c:64908 // not actually change anything. The pager uses this to see if it // should acquire the database exclusive lock prior to invoking // the op==1 case. -func Xsqlite3WalExclusiveMode(tls *libc.TLS, pWal uintptr, op int32) int32 { /* sqlite3.c:64941:20: */ +func Xsqlite3WalExclusiveMode(tls *libc.TLS, pWal uintptr, op int32) int32 { /* sqlite3.c:64951:20: */ var rc int32 // pWal->readLock is usually set, but might be -1 if there was a @@ -42315,14 +42325,14 @@ func Xsqlite3WalExclusiveMode(tls *libc.TLS, pWal uintptr, op int32) int32 { /* // Return true if the argument is non-NULL and the WAL module is using // heap-memory for the wal-index. Otherwise, if the argument is NULL or the // WAL module is using shared-memory, return false. -func Xsqlite3WalHeapMemory(tls *libc.TLS, pWal uintptr) int32 { /* sqlite3.c:64983:20: */ +func Xsqlite3WalHeapMemory(tls *libc.TLS, pWal uintptr) int32 { /* sqlite3.c:64993:20: */ return libc.Bool32(pWal != 0 && int32((*Wal)(unsafe.Pointer(pWal)).FexclusiveMode) == WAL_HEAPMEMORY_MODE) } // Create a snapshot object. The content of a snapshot is opaque to // every other subsystem, so the WAL module can put whatever it needs // in the object. -func Xsqlite3WalSnapshotGet(tls *libc.TLS, pWal uintptr, ppSnapshot uintptr) int32 { /* sqlite3.c:64992:20: */ +func Xsqlite3WalSnapshotGet(tls *libc.TLS, pWal uintptr, ppSnapshot uintptr) int32 { /* sqlite3.c:65002:20: */ var rc int32 = SQLITE_OK var pRet uintptr @@ -42341,16 +42351,16 @@ func Xsqlite3WalSnapshotGet(tls *libc.TLS, pWal uintptr, ppSnapshot uintptr) int return rc } -var aZero = [4]U32{U32(0), U32(0), U32(0), U32(0)} /* sqlite3.c:64995:20 */ +var aZero = [4]U32{U32(0), U32(0), U32(0), U32(0)} /* sqlite3.c:65005:20 */ // Try to open on pSnapshot when the next read-transaction starts -func Xsqlite3WalSnapshotOpen(tls *libc.TLS, pWal uintptr, pSnapshot uintptr) { /* sqlite3.c:65016:21: */ +func Xsqlite3WalSnapshotOpen(tls *libc.TLS, pWal uintptr, pSnapshot uintptr) { /* sqlite3.c:65026:21: */ (*Wal)(unsafe.Pointer(pWal)).FpSnapshot = pSnapshot } // Return a +ve value if snapshot p1 is newer than p2. A -ve value if // p1 is older than p2 and zero if p1 and p2 are the same snapshot. -func Xsqlite3_snapshot_cmp(tls *libc.TLS, p1 uintptr, p2 uintptr) int32 { /* sqlite3.c:65027:16: */ +func Xsqlite3_snapshot_cmp(tls *libc.TLS, p1 uintptr, p2 uintptr) int32 { /* sqlite3.c:65037:16: */ var pHdr1 uintptr = p1 var pHdr2 uintptr = p2 @@ -42380,7 +42390,7 @@ func Xsqlite3_snapshot_cmp(tls *libc.TLS, p1 uintptr, p2 uintptr) int32 { /* sql // the CHECKPOINTER lock cannot be obtained, SQLITE_BUSY. If any error // occurs (any value other than SQLITE_OK is returned), the CHECKPOINTER // lock is released before returning. -func Xsqlite3WalSnapshotCheck(tls *libc.TLS, pWal uintptr, pSnapshot uintptr) int32 { /* sqlite3.c:65051:20: */ +func Xsqlite3WalSnapshotCheck(tls *libc.TLS, pWal uintptr, pSnapshot uintptr) int32 { /* sqlite3.c:65061:20: */ var rc int32 rc = walLockShared(tls, pWal, WAL_CKPT_LOCK) if rc == SQLITE_OK { @@ -42396,13 +42406,13 @@ func Xsqlite3WalSnapshotCheck(tls *libc.TLS, pWal uintptr, pSnapshot uintptr) in // Release a lock obtained by an earlier successful call to // sqlite3WalSnapshotCheck(). -func Xsqlite3WalSnapshotUnlock(tls *libc.TLS, pWal uintptr) { /* sqlite3.c:65070:21: */ +func Xsqlite3WalSnapshotUnlock(tls *libc.TLS, pWal uintptr) { /* sqlite3.c:65080:21: */ walUnlockShared(tls, pWal, WAL_CKPT_LOCK) } // Return the sqlite3_file object for the WAL file -func Xsqlite3WalFile(tls *libc.TLS, pWal uintptr) uintptr { /* sqlite3.c:65092:29: */ +func Xsqlite3WalFile(tls *libc.TLS, pWal uintptr) uintptr { /* sqlite3.c:65102:29: */ return (*Wal)(unsafe.Pointer(pWal)).FpWalFd } @@ -42923,7 +42933,7 @@ type MemPage1 = struct { // small cells will be rare, but they are possible. // Forward declarations -type MemPage = MemPage1 /* sqlite3.c:65350:24 */ +type MemPage = MemPage1 /* sqlite3.c:65360:24 */ type BtLock1 = struct { FpBtree uintptr FiTable Pgno @@ -42932,7 +42942,7 @@ type BtLock1 = struct { FpNext uintptr } /* sqlite3.c:578:9 */ -type BtLock = BtLock1 /* sqlite3.c:65351:23 */ +type BtLock = BtLock1 /* sqlite3.c:65361:23 */ type CellInfo1 = struct { FnKey I64 FpPayload uintptr @@ -42941,7 +42951,7 @@ type CellInfo1 = struct { FnSize U16 } /* sqlite3.c:578:9 */ -type CellInfo = CellInfo1 /* sqlite3.c:65352:25 */ +type CellInfo = CellInfo1 /* sqlite3.c:65362:25 */ // Legal values for BtCursor.curFlags @@ -43051,7 +43061,7 @@ type IntegrityCk1 = struct { FerrMsg StrAccum Fheap uintptr Fdb uintptr -} /* sqlite3.c:65811:9 */ +} /* sqlite3.c:65821:9 */ // Legal values for BtCursor.curFlags @@ -43147,7 +43157,7 @@ type IntegrityCk1 = struct { // the database the corresponding bit is set. This allows integrity-check to // detect pages that are used twice and orphaned pages (both of which // indicate corruption). -type IntegrityCk = IntegrityCk1 /* sqlite3.c:65811:28 */ +type IntegrityCk = IntegrityCk1 /* sqlite3.c:65821:28 */ // Routines to read or write a two- and four-byte big-endian integer values. @@ -43161,7 +43171,7 @@ type IntegrityCk = IntegrityCk1 /* sqlite3.c:65811:28 */ // Obtain the BtShared mutex associated with B-Tree handle p. Also, // set BtShared.db to the database handle associated with p and the // p->locked boolean to true. -func lockBtreeMutex(tls *libc.TLS, p uintptr) { /* sqlite3.c:65861:13: */ +func lockBtreeMutex(tls *libc.TLS, p uintptr) { /* sqlite3.c:65871:13: */ Xsqlite3_mutex_enter(tls, (*BtShared)(unsafe.Pointer((*Btree)(unsafe.Pointer(p)).FpBt)).Fmutex) (*BtShared)(unsafe.Pointer((*Btree)(unsafe.Pointer(p)).FpBt)).Fdb = (*Btree)(unsafe.Pointer(p)).Fdb @@ -43170,7 +43180,7 @@ func lockBtreeMutex(tls *libc.TLS, p uintptr) { /* sqlite3.c:65861:13: */ // Release the BtShared mutex associated with B-Tree handle p and // clear the p->locked boolean. -func unlockBtreeMutex(tls *libc.TLS, p uintptr) { /* sqlite3.c:65875:29: */ +func unlockBtreeMutex(tls *libc.TLS, p uintptr) { /* sqlite3.c:65885:29: */ var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt Xsqlite3_mutex_leave(tls, (*BtShared)(unsafe.Pointer(pBt)).Fmutex) @@ -43191,7 +43201,7 @@ func unlockBtreeMutex(tls *libc.TLS, p uintptr) { /* sqlite3.c:65875:29: */ // p, then first unlock all of the others on p->pNext, then wait // for the lock to become available on p, then relock all of the // subsequent Btrees that desire a lock. -func Xsqlite3BtreeEnter(tls *libc.TLS, p uintptr) { /* sqlite3.c:65905:21: */ +func Xsqlite3BtreeEnter(tls *libc.TLS, p uintptr) { /* sqlite3.c:65915:21: */ // Some basic sanity checking on the Btree. The list of Btrees // connected by pNext and pPrev should be in sorted order by // Btree.pBt value. All elements of the list should belong to @@ -43219,7 +43229,7 @@ func Xsqlite3BtreeEnter(tls *libc.TLS, p uintptr) { /* sqlite3.c:65905:21: */ // into this routine, we avoid unnecessary stack pointer changes // and thus help the sqlite3BtreeLock() routine to run much faster // in the common case. -func btreeLockCarefully(tls *libc.TLS, p uintptr) { /* sqlite3.c:65939:29: */ +func btreeLockCarefully(tls *libc.TLS, p uintptr) { /* sqlite3.c:65949:29: */ var pLater uintptr // In most cases, we should be able to acquire the lock we @@ -43250,7 +43260,7 @@ func btreeLockCarefully(tls *libc.TLS, p uintptr) { /* sqlite3.c:65939:29: */ } // Exit the recursive mutex on a Btree. -func Xsqlite3BtreeLeave(tls *libc.TLS, p uintptr) { /* sqlite3.c:65977:21: */ +func Xsqlite3BtreeLeave(tls *libc.TLS, p uintptr) { /* sqlite3.c:65987:21: */ if (*Btree)(unsafe.Pointer(p)).Fsharable != 0 { @@ -43273,7 +43283,7 @@ func Xsqlite3BtreeLeave(tls *libc.TLS, p uintptr) { /* sqlite3.c:65977:21: */ // to avoid the possibility of deadlock when two threads with // two or more btrees in common both try to lock all their btrees // at the same instant. -func btreeEnterAll(tls *libc.TLS, db uintptr) { /* sqlite3.c:66020:29: */ +func btreeEnterAll(tls *libc.TLS, db uintptr) { /* sqlite3.c:66030:29: */ var i int32 var skipOk int32 = 1 var p uintptr @@ -43288,13 +43298,13 @@ func btreeEnterAll(tls *libc.TLS, db uintptr) { /* sqlite3.c:66020:29: */ (*Sqlite3)(unsafe.Pointer(db)).FnoSharedCache = U8(skipOk) } -func Xsqlite3BtreeEnterAll(tls *libc.TLS, db uintptr) { /* sqlite3.c:66034:21: */ +func Xsqlite3BtreeEnterAll(tls *libc.TLS, db uintptr) { /* sqlite3.c:66044:21: */ if int32((*Sqlite3)(unsafe.Pointer(db)).FnoSharedCache) == 0 { btreeEnterAll(tls, db) } } -func btreeLeaveAll(tls *libc.TLS, db uintptr) { /* sqlite3.c:66037:29: */ +func btreeLeaveAll(tls *libc.TLS, db uintptr) { /* sqlite3.c:66047:29: */ var i int32 var p uintptr @@ -43306,7 +43316,7 @@ func btreeLeaveAll(tls *libc.TLS, db uintptr) { /* sqlite3.c:66037:29: */ } } -func Xsqlite3BtreeLeaveAll(tls *libc.TLS, db uintptr) { /* sqlite3.c:66046:21: */ +func Xsqlite3BtreeLeaveAll(tls *libc.TLS, db uintptr) { /* sqlite3.c:66056:21: */ if int32((*Sqlite3)(unsafe.Pointer(db)).FnoSharedCache) == 0 { btreeLeaveAll(tls, db) } @@ -43317,11 +43327,11 @@ func Xsqlite3BtreeLeaveAll(tls *libc.TLS, db uintptr) { /* sqlite3.c:66046:21: * // These entry points are used by incremental I/O only. Enter() is required // any time OMIT_SHARED_CACHE is not defined, regardless of whether or not // the build is threadsafe. Leave() is only required by threadsafe builds. -func Xsqlite3BtreeEnterCursor(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:66132:21: */ +func Xsqlite3BtreeEnterCursor(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:66142:21: */ Xsqlite3BtreeEnter(tls, (*BtCursor)(unsafe.Pointer(pCur)).FpBtree) } -func Xsqlite3BtreeLeaveCursor(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:66136:21: */ +func Xsqlite3BtreeLeaveCursor(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:66146:21: */ Xsqlite3BtreeLeave(tls, (*BtCursor)(unsafe.Pointer(pCur)).FpBtree) } @@ -43344,7 +43354,7 @@ func Xsqlite3BtreeLeaveCursor(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:66136: // The header string that appears at the beginning of every // SQLite database. -var zMagicHeader = *(*[16]int8)(unsafe.Pointer(ts + 3984)) /* sqlite3.c:66167:19 */ +var zMagicHeader = *(*[16]int8)(unsafe.Pointer(ts + 3984)) /* sqlite3.c:66177:19 */ // Set this global variable to 1 to enable tracing using the TRACE // macro. @@ -43370,14 +43380,14 @@ var zMagicHeader = *(*[16]int8)(unsafe.Pointer(ts + 3984)) /* sqlite3.c:66167:19 // test builds. // // Access to this variable is protected by SQLITE_MUTEX_STATIC_MAIN. -var sqlite3SharedCacheList uintptr = uintptr(0) /* sqlite3.c:66222:17 */ +var sqlite3SharedCacheList uintptr = uintptr(0) /* sqlite3.c:66232:17 */ // Enable or disable the shared pager and schema features. // // This routine has no effect on existing database connections. // The shared cache setting effects only future calls to // sqlite3_open(), sqlite3_open16(), or sqlite3_open_v2(). -func Xsqlite3_enable_shared_cache(tls *libc.TLS, enable int32) int32 { /* sqlite3.c:66234:16: */ +func Xsqlite3_enable_shared_cache(tls *libc.TLS, enable int32) int32 { /* sqlite3.c:66244:16: */ Xsqlite3Config.FsharedCacheEnabled = enable return SQLITE_OK } @@ -43394,7 +43404,7 @@ func Xsqlite3_enable_shared_cache(tls *libc.TLS, enable int32) int32 { /* sqlite // (READ_LOCK or WRITE_LOCK) on the table with root-page iTab. Return // SQLITE_OK if the lock may be obtained (by calling // setSharedCacheTableLock()), or SQLITE_LOCKED if not. -func querySharedCacheTableLock(tls *libc.TLS, p uintptr, iTab Pgno, eLock U8) int32 { /* sqlite3.c:66433:12: */ +func querySharedCacheTableLock(tls *libc.TLS, p uintptr, iTab Pgno, eLock U8) int32 { /* sqlite3.c:66443:12: */ var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt var pIter uintptr @@ -43451,7 +43461,7 @@ func querySharedCacheTableLock(tls *libc.TLS, p uintptr, iTab Pgno, eLock U8) in // // SQLITE_OK is returned if the lock is added successfully. SQLITE_NOMEM // is returned if a malloc attempt fails. -func setSharedCacheTableLock(tls *libc.TLS, p uintptr, iTable Pgno, eLock U8) int32 { /* sqlite3.c:66505:12: */ +func setSharedCacheTableLock(tls *libc.TLS, p uintptr, iTable Pgno, eLock U8) int32 { /* sqlite3.c:66515:12: */ var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt var pLock uintptr = uintptr(0) var pIter uintptr @@ -43502,7 +43512,7 @@ func setSharedCacheTableLock(tls *libc.TLS, p uintptr, iTable Pgno, eLock U8) in // This function assumes that Btree p has an open read or write // transaction. If it does not, then the BTS_PENDING flag // may be incorrectly cleared. -func clearAllSharedCacheTableLocks(tls *libc.TLS, p uintptr) { /* sqlite3.c:66569:13: */ +func clearAllSharedCacheTableLocks(tls *libc.TLS, p uintptr) { /* sqlite3.c:66579:13: */ var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt var ppIter uintptr = pBt + 120 @@ -43537,7 +43547,7 @@ func clearAllSharedCacheTableLocks(tls *libc.TLS, p uintptr) { /* sqlite3.c:6656 } // This function changes all write-locks held by Btree p into read-locks. -func downgradeAllSharedCacheTableLocks(tls *libc.TLS, p uintptr) { /* sqlite3.c:66613:13: */ +func downgradeAllSharedCacheTableLocks(tls *libc.TLS, p uintptr) { /* sqlite3.c:66623:13: */ var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt if (*BtShared)(unsafe.Pointer(pBt)).FpWriter == p { var pLock uintptr @@ -43561,7 +43571,7 @@ func downgradeAllSharedCacheTableLocks(tls *libc.TLS, p uintptr) { /* sqlite3.c: // Invalidate the overflow page-list cache for all cursors opened // on the shared btree structure pBt. -func invalidateAllOverflowCache(tls *libc.TLS, pBt uintptr) { /* sqlite3.c:66666:13: */ +func invalidateAllOverflowCache(tls *libc.TLS, pBt uintptr) { /* sqlite3.c:66676:13: */ var p uintptr for p = (*BtShared)(unsafe.Pointer(pBt)).FpCursor; p != 0; p = (*BtCursor)(unsafe.Pointer(p)).FpNext { @@ -43580,7 +43590,7 @@ func invalidateAllOverflowCache(tls *libc.TLS, pBt uintptr) { /* sqlite3.c:66666 // Otherwise, if argument isClearTable is false, then the row with // rowid iRow is being replaced or deleted. In this case invalidate // only those incrblob cursors open on that specific row. -func invalidateIncrblobCursors(tls *libc.TLS, pBtree uintptr, pgnoRoot Pgno, iRow I64, isClearTable int32) { /* sqlite3.c:66688:13: */ +func invalidateIncrblobCursors(tls *libc.TLS, pBtree uintptr, pgnoRoot Pgno, iRow I64, isClearTable int32) { /* sqlite3.c:66698:13: */ var p uintptr (*Btree)(unsafe.Pointer(pBtree)).FhasIncrblobCur = U8(0) @@ -43627,7 +43637,7 @@ func invalidateIncrblobCursors(tls *libc.TLS, pBtree uintptr, pgnoRoot Pgno, iRo // optimization 2 above is omitted if the corresponding bit is already // set in BtShared.pHasContent. The contents of the bitvec are cleared // at the end of every transaction. -func btreeSetHasContent(tls *libc.TLS, pBt uintptr, pgno Pgno) int32 { /* sqlite3.c:66748:12: */ +func btreeSetHasContent(tls *libc.TLS, pBt uintptr, pgno Pgno) int32 { /* sqlite3.c:66758:12: */ var rc int32 = SQLITE_OK if !(int32((*BtShared)(unsafe.Pointer(pBt)).FpHasContent) != 0) { @@ -43647,20 +43657,20 @@ func btreeSetHasContent(tls *libc.TLS, pBt uintptr, pgno Pgno) int32 { /* sqlite // This function is called when a free-list leaf page is removed from the // free-list for reuse. It returns false if it is safe to retrieve the // page from the pager layer with the 'no-content' flag set. True otherwise. -func btreeGetHasContent(tls *libc.TLS, pBt uintptr, pgno Pgno) int32 { /* sqlite3.c:66770:12: */ +func btreeGetHasContent(tls *libc.TLS, pBt uintptr, pgno Pgno) int32 { /* sqlite3.c:66780:12: */ var p uintptr = (*BtShared)(unsafe.Pointer(pBt)).FpHasContent return libc.Bool32(p != 0 && (pgno > Xsqlite3BitvecSize(tls, p) || Xsqlite3BitvecTestNotNull(tls, p, pgno) != 0)) } // Clear (destroy) the BtShared.pHasContent bitvec. This should be // invoked at the conclusion of each write-transaction. -func btreeClearHasContent(tls *libc.TLS, pBt uintptr) { /* sqlite3.c:66779:13: */ +func btreeClearHasContent(tls *libc.TLS, pBt uintptr) { /* sqlite3.c:66789:13: */ Xsqlite3BitvecDestroy(tls, (*BtShared)(unsafe.Pointer(pBt)).FpHasContent) (*BtShared)(unsafe.Pointer(pBt)).FpHasContent = uintptr(0) } // Release all of the apPage[] pages for a cursor. -func btreeReleaseAllCursorPages(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:66787:13: */ +func btreeReleaseAllCursorPages(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:66797:13: */ var i int32 if int32((*BtCursor)(unsafe.Pointer(pCur)).FiPage) >= 0 { for i = 0; i < int32((*BtCursor)(unsafe.Pointer(pCur)).FiPage); i++ { @@ -43682,7 +43692,7 @@ func btreeReleaseAllCursorPages(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:6678 // NULL. If the cursor is open on a non-intkey table, then pCur->pKey is // set to point to a malloced buffer pCur->nKey bytes in size containing // the key. -func saveCursorKey(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:66811:12: */ +func saveCursorKey(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:66821:12: */ var rc int32 = SQLITE_OK if (*BtCursor)(unsafe.Pointer(pCur)).FcurIntKey != 0 { @@ -43719,7 +43729,7 @@ func saveCursorKey(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:66811:12: * // // The caller must ensure that the cursor is valid (has eState==CURSOR_VALID) // prior to calling this routine. -func saveCursorPosition(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:66853:12: */ +func saveCursorPosition(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:66863:12: */ var rc int32 if int32((*BtCursor)(unsafe.Pointer(pCur)).FcurFlags)&BTCF_Pinned != 0 { @@ -43760,7 +43770,7 @@ func saveCursorPosition(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:66853: // Implementation note: This routine merely checks to see if any cursors // need to be saved. It calls out to saveCursorsOnList() in the (unusual) // event that cursors are in need to being saved. -func saveAllCursors(tls *libc.TLS, pBt uintptr, iRoot Pgno, pExcept uintptr) int32 { /* sqlite3.c:66903:12: */ +func saveAllCursors(tls *libc.TLS, pBt uintptr, iRoot Pgno, pExcept uintptr) int32 { /* sqlite3.c:66913:12: */ var p uintptr for p = (*BtShared)(unsafe.Pointer(pBt)).FpCursor; p != 0; p = (*BtCursor)(unsafe.Pointer(p)).FpNext { @@ -43781,7 +43791,7 @@ func saveAllCursors(tls *libc.TLS, pBt uintptr, iRoot Pgno, pExcept uintptr) int // the cursors if and when a cursor is found that actually requires saving. // The common case is that no cursors need to be saved, so this routine is // broken out from its caller to avoid unnecessary stack pointer movement. -func saveCursorsOnList(tls *libc.TLS, p uintptr, iRoot Pgno, pExcept uintptr) int32 { /* sqlite3.c:66920:28: */ +func saveCursorsOnList(tls *libc.TLS, p uintptr, iRoot Pgno, pExcept uintptr) int32 { /* sqlite3.c:66930:28: */ for __ccgo := true; __ccgo; __ccgo = p != 0 { if p != pExcept && (Pgno(0) == iRoot || (*BtCursor)(unsafe.Pointer(p)).FpgnoRoot == iRoot) { if int32((*BtCursor)(unsafe.Pointer(p)).FeState) == CURSOR_VALID || int32((*BtCursor)(unsafe.Pointer(p)).FeState) == CURSOR_SKIPNEXT { @@ -43800,7 +43810,7 @@ func saveCursorsOnList(tls *libc.TLS, p uintptr, iRoot Pgno, pExcept uintptr) in } // Clear the current cursor position. -func Xsqlite3BtreeClearCursor(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:66945:21: */ +func Xsqlite3BtreeClearCursor(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:66955:21: */ Xsqlite3_free(tls, (*BtCursor)(unsafe.Pointer(pCur)).FpKey) (*BtCursor)(unsafe.Pointer(pCur)).FpKey = uintptr(0) @@ -43810,7 +43820,7 @@ func Xsqlite3BtreeClearCursor(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:66945: // In this version of BtreeMoveto, pKey is a packed index record // such as is generated by the OP_MakeRecord opcode. Unpack the // record and then call BtreeMovetoUnpacked() to do the work. -func btreeMoveto(tls *libc.TLS, pCur uintptr, pKey uintptr, nKey I64, bias int32, pRes uintptr) int32 { /* sqlite3.c:66957:12: */ +func btreeMoveto(tls *libc.TLS, pCur uintptr, pKey uintptr, nKey I64, bias int32, pRes uintptr) int32 { /* sqlite3.c:66967:12: */ var rc int32 // Status code var pIdxKey uintptr // Unpacked index key @@ -43823,7 +43833,7 @@ func btreeMoveto(tls *libc.TLS, pCur uintptr, pKey uintptr, nKey I64, bias int32 } Xsqlite3VdbeRecordUnpack(tls, pKeyInfo, int32(nKey), pKey, pIdxKey) if int32((*UnpackedRecord)(unsafe.Pointer(pIdxKey)).FnField) == 0 || int32((*UnpackedRecord)(unsafe.Pointer(pIdxKey)).FnField) > int32((*KeyInfo)(unsafe.Pointer(pKeyInfo)).FnAllField) { - rc = Xsqlite3CorruptError(tls, 66974) + rc = Xsqlite3CorruptError(tls, 66984) } else { rc = Xsqlite3BtreeIndexMoveto(tls, pCur, pIdxKey, pRes) } @@ -43840,7 +43850,7 @@ func btreeMoveto(tls *libc.TLS, pCur uintptr, pKey uintptr, nKey I64, bias int32 // saved position info stored by saveCursorPosition(), so there can be // at most one effective restoreCursorPosition() call after each // saveCursorPosition(). -func btreeRestoreCursorPosition(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:66993:12: */ +func btreeRestoreCursorPosition(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:67003:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -43880,7 +43890,7 @@ func btreeRestoreCursorPosition(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3. // // Use the separate sqlite3BtreeCursorRestore() routine to restore a cursor // back to where it ought to be if this routine returns true. -func Xsqlite3BtreeCursorHasMoved(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:67036:20: */ +func Xsqlite3BtreeCursorHasMoved(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:67046:20: */ return libc.Bool32(CURSOR_VALID != int32(*(*U8)(unsafe.Pointer(pCur)))) } @@ -43888,12 +43898,12 @@ func Xsqlite3BtreeCursorHasMoved(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3 // Return a pointer to a fake BtCursor object that will always answer // false to the sqlite3BtreeCursorHasMoved() routine above. The fake // cursor returned must not be used with any other Btree interface. -func Xsqlite3BtreeFakeValidCursor(tls *libc.TLS) uintptr { /* sqlite3.c:67049:25: */ +func Xsqlite3BtreeFakeValidCursor(tls *libc.TLS) uintptr { /* sqlite3.c:67059:25: */ return uintptr(unsafe.Pointer(&fakeCursor)) } -var fakeCursor U8 = U8(CURSOR_VALID) /* sqlite3.c:67050:13 */ +var fakeCursor U8 = U8(CURSOR_VALID) /* sqlite3.c:67060:13 */ // This routine restores a cursor back to its original position after it // has been moved by some outside activity (such as a btree rebalance or @@ -43906,7 +43916,7 @@ var fakeCursor U8 = U8(CURSOR_VALID) /* sqlite3.c:67050:13 */ // // This routine should only be called for a cursor that just returned // TRUE from sqlite3BtreeCursorHasMoved(). -func Xsqlite3BtreeCursorRestore(tls *libc.TLS, pCur uintptr, pDifferentRow uintptr) int32 { /* sqlite3.c:67068:20: */ +func Xsqlite3BtreeCursorRestore(tls *libc.TLS, pCur uintptr, pDifferentRow uintptr) int32 { /* sqlite3.c:67078:20: */ var rc int32 rc = func() int32 { @@ -43928,7 +43938,7 @@ func Xsqlite3BtreeCursorRestore(tls *libc.TLS, pCur uintptr, pDifferentRow uintp } // Provide flag hints to the cursor. -func Xsqlite3BtreeCursorHintFlags(tls *libc.TLS, pCur uintptr, x uint32) { /* sqlite3.c:67100:21: */ +func Xsqlite3BtreeCursorHintFlags(tls *libc.TLS, pCur uintptr, x uint32) { /* sqlite3.c:67110:21: */ (*BtCursor)(unsafe.Pointer(pCur)).Fhints = U8(x) } @@ -43940,7 +43950,7 @@ func Xsqlite3BtreeCursorHintFlags(tls *libc.TLS, pCur uintptr, x uint32) { /* sq // Return 0 (not a valid page) for pgno==1 since there is // no pointer map associated with page 1. The integrity_check logic // requires that ptrmapPageno(*,1)!=1. -func ptrmapPageno(tls *libc.TLS, pBt uintptr, pgno Pgno) Pgno { /* sqlite3.c:67116:13: */ +func ptrmapPageno(tls *libc.TLS, pBt uintptr, pgno Pgno) Pgno { /* sqlite3.c:67126:13: */ var nPagesPerMapPage int32 var iPtrMap Pgno var ret Pgno @@ -43965,7 +43975,7 @@ func ptrmapPageno(tls *libc.TLS, pBt uintptr, pgno Pgno) Pgno { /* sqlite3.c:671 // If *pRC is initially non-zero (non-SQLITE_OK) then this routine is // a no-op. If an error occurs, the appropriate error code is written // into *pRC. -func ptrmapPut(tls *libc.TLS, pBt uintptr, key Pgno, eType U8, parent Pgno, pRC uintptr) { /* sqlite3.c:67140:13: */ +func ptrmapPut(tls *libc.TLS, pBt uintptr, key Pgno, eType U8, parent Pgno, pRC uintptr) { /* sqlite3.c:67150:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -43988,7 +43998,7 @@ __1: if !(key == Pgno(0)) { goto __2 } - *(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 67155) + *(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 67165) return __2: ; @@ -44007,7 +44017,7 @@ __3: // 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)) = Xsqlite3CorruptError(tls, 67168) + *(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 67178) goto ptrmap_exit __4: ; @@ -44015,7 +44025,7 @@ __4: if !(offset < 0) { goto __5 } - *(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 67173) + *(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 67183) goto ptrmap_exit __5: ; @@ -44046,7 +44056,7 @@ ptrmap_exit: // This routine retrieves the pointer map entry for page 'key', writing // the type and parent page number to *pEType and *pPgno respectively. // An error code is returned if something goes wrong, otherwise SQLITE_OK. -func ptrmapGet(tls *libc.TLS, pBt uintptr, key Pgno, pEType uintptr, pPgno uintptr) int32 { /* sqlite3.c:67199:12: */ +func ptrmapGet(tls *libc.TLS, pBt uintptr, key Pgno, pEType uintptr, pPgno uintptr) int32 { /* sqlite3.c:67209:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -44067,7 +44077,7 @@ func ptrmapGet(tls *libc.TLS, pBt uintptr, key Pgno, pEType uintptr, pPgno uintp offset = int32(Pgno(5) * (key - Pgno(iPtrmap) - Pgno(1))) if offset < 0 { Xsqlite3PagerUnref(tls, *(*uintptr)(unsafe.Pointer(bp /* pDbPage */))) - return Xsqlite3CorruptError(tls, 67218) + return Xsqlite3CorruptError(tls, 67228) } *(*U8)(unsafe.Pointer(pEType)) = *(*U8)(unsafe.Pointer(pPtrmap + uintptr(offset))) @@ -44077,7 +44087,7 @@ func ptrmapGet(tls *libc.TLS, pBt uintptr, key Pgno, pEType uintptr, pPgno uintp Xsqlite3PagerUnref(tls, *(*uintptr)(unsafe.Pointer(bp /* pDbPage */))) if int32(*(*U8)(unsafe.Pointer(pEType))) < 1 || int32(*(*U8)(unsafe.Pointer(pEType))) > 5 { - return Xsqlite3CorruptError(tls, 67226) + return Xsqlite3CorruptError(tls, 67236) } return SQLITE_OK } @@ -44095,7 +44105,7 @@ func ptrmapGet(tls *libc.TLS, pBt uintptr, key Pgno, pEType uintptr, pPgno uintp // btreeParseCellPtrIndex() for the case when the cell does not fit entirely // on a single B-tree page. Make necessary adjustments to the CellInfo // structure. -func btreeParseCellAdjustSizeForOverflow(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintptr) { /* sqlite3.c:67258:29: */ +func btreeParseCellAdjustSizeForOverflow(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintptr) { /* sqlite3.c:67268:29: */ // If the payload will not fit completely on the local page, we have // to decide how much to store locally and how much to spill onto // overflow pages. The strategy is to minimize the amount of unused @@ -44122,7 +44132,7 @@ func btreeParseCellAdjustSizeForOverflow(tls *libc.TLS, pPage uintptr, pCell uin // Given a record with nPayload bytes of payload stored within btree // page pPage, return the number of bytes of payload stored locally. -func btreePayloadToLocal(tls *libc.TLS, pPage uintptr, nPayload I64) int32 { /* sqlite3.c:67293:12: */ +func btreePayloadToLocal(tls *libc.TLS, pPage uintptr, nPayload I64) int32 { /* sqlite3.c:67303:12: */ var maxLocal int32 // Maximum amount of payload held locally maxLocal = int32((*MemPage)(unsafe.Pointer(pPage)).FmaxLocal) if nPayload <= I64(maxLocal) { @@ -44152,7 +44162,7 @@ func btreePayloadToLocal(tls *libc.TLS, pPage uintptr, nPayload I64) int32 { /* // There is also a wrapper function btreeParseCell() that works for // all MemPage types and that references the cell by index rather than // by pointer. -func btreeParseCellPtrNoPayload(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintptr) { /* sqlite3.c:67321:13: */ +func btreeParseCellPtrNoPayload(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintptr) { /* sqlite3.c:67331:13: */ _ = pPage (*CellInfo)(unsafe.Pointer(pInfo)).FnSize = U16(4 + int32(Xsqlite3GetVarint(tls, pCell+4, pInfo))) @@ -44162,7 +44172,7 @@ func btreeParseCellPtrNoPayload(tls *libc.TLS, pPage uintptr, pCell uintptr, pIn return } -func btreeParseCellPtr(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintptr) { /* sqlite3.c:67338:13: */ +func btreeParseCellPtr(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintptr) { /* sqlite3.c:67348:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -44239,7 +44249,7 @@ func btreeParseCellPtr(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintpt } } -func btreeParseCellPtrIndex(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintptr) { /* sqlite3.c:67420:13: */ +func btreeParseCellPtrIndex(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintptr) { /* sqlite3.c:67430:13: */ var pIter uintptr // For scanning through pCell var nPayload U32 // Number of bytes of cell payload @@ -44270,7 +44280,7 @@ func btreeParseCellPtrIndex(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo u } } -func btreeParseCell(tls *libc.TLS, pPage uintptr, iCell int32, pInfo uintptr) { /* sqlite3.c:67457:13: */ +func btreeParseCell(tls *libc.TLS, pPage uintptr, iCell int32, pInfo uintptr) { /* sqlite3.c:67467:13: */ (*struct { f func(*libc.TLS, uintptr, uintptr, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*MemPage)(unsafe.Pointer(pPage)).FxParseCell})).f(tls, pPage, (*MemPage)(unsafe.Pointer(pPage)).FaData+uintptr(int32((*MemPage)(unsafe.Pointer(pPage)).FmaskPage)&int32(libc.X__builtin_bswap16(tls, *(*U16)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPage)).FaCellIdx + uintptr(2*iCell)))))), pInfo) @@ -44286,7 +44296,7 @@ func btreeParseCell(tls *libc.TLS, pPage uintptr, iCell int32, pInfo uintptr) { // // cellSizePtrNoPayload() => table internal nodes // cellSizePtr() => all index nodes & table leaf nodes -func cellSizePtr(tls *libc.TLS, pPage uintptr, pCell uintptr) U16 { /* sqlite3.c:67477:12: */ +func cellSizePtr(tls *libc.TLS, pPage uintptr, pCell uintptr) U16 { /* sqlite3.c:67487:12: */ var pIter uintptr = pCell + uintptr((*MemPage)(unsafe.Pointer(pPage)).FchildPtrSize) // For looping over bytes of pCell var pEnd uintptr // End mark for a varint var nSize U32 // Size value to return @@ -44327,7 +44337,7 @@ func cellSizePtr(tls *libc.TLS, pPage uintptr, pCell uintptr) U16 { /* sqlite3.c return U16(nSize) } -func cellSizePtrNoPayload(tls *libc.TLS, pPage uintptr, pCell uintptr) U16 { /* sqlite3.c:67525:12: */ +func cellSizePtrNoPayload(tls *libc.TLS, pPage uintptr, pCell uintptr) U16 { /* sqlite3.c:67535:12: */ var pIter uintptr = pCell + uintptr(4) // For looping over bytes of pCell var pEnd uintptr // End mark for a varint @@ -44344,7 +44354,7 @@ func cellSizePtrNoPayload(tls *libc.TLS, pPage uintptr, pCell uintptr) U16 { /* // of pPage. (pSrc and pPager are often the same.) If pCell contains a // pointer to an overflow page, insert an entry into the pointer-map for // the overflow page that will be valid after pCell has been moved to pPage. -func ptrmapPutOvflPtr(tls *libc.TLS, pPage uintptr, pSrc uintptr, pCell uintptr, pRC uintptr) { /* sqlite3.c:67563:13: */ +func ptrmapPutOvflPtr(tls *libc.TLS, pPage uintptr, pSrc uintptr, pCell uintptr, pRC uintptr) { /* sqlite3.c:67573:13: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -44361,7 +44371,7 @@ func ptrmapPutOvflPtr(tls *libc.TLS, pPage uintptr, pSrc uintptr, pCell uintptr, var ovfl Pgno if Uptr((*MemPage)(unsafe.Pointer(pSrc)).FaDataEnd) >= Uptr(pCell) && Uptr((*MemPage)(unsafe.Pointer(pSrc)).FaDataEnd) < Uptr(pCell+uintptr((*CellInfo)(unsafe.Pointer(bp)).FnLocal)) { - *(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 67572) + *(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 67582) return } ovfl = Xsqlite3Get4byte(tls, pCell+uintptr(int32((*CellInfo)(unsafe.Pointer(bp)).FnSize)-4)) @@ -44379,7 +44389,7 @@ func ptrmapPutOvflPtr(tls *libc.TLS, pPage uintptr, pSrc uintptr, pCell uintptr, // b-tree page so that there are no freeblocks or fragment bytes, all // unused bytes are contained in the unallocated space region, and all // cells are packed tightly at the end of the page. -func defragmentPage(tls *libc.TLS, pPage uintptr, nMaxFrag int32) int32 { /* sqlite3.c:67594:12: */ +func defragmentPage(tls *libc.TLS, pPage uintptr, nMaxFrag int32) int32 { /* sqlite3.c:67604:12: */ var i int32 // Loop counter var pc int32 // Address of the i-th cell var hdr int32 // Offset to the page header @@ -44424,7 +44434,7 @@ func defragmentPage(tls *libc.TLS, pPage uintptr, nMaxFrag int32) int32 { /* sql if !(iFree > usableSize-4) { goto __2 } - return Xsqlite3CorruptError(tls, 67631) + return Xsqlite3CorruptError(tls, 67641) __2: ; if !(iFree != 0) { @@ -44434,7 +44444,7 @@ __2: if !(iFree2 > usableSize-4) { goto __4 } - return Xsqlite3CorruptError(tls, 67634) + return Xsqlite3CorruptError(tls, 67644) __4: ; if !(0 == iFree2 || int32(*(*uint8)(unsafe.Pointer(data + uintptr(iFree2)))) == 0 && int32(*(*uint8)(unsafe.Pointer(data + uintptr(iFree2+1)))) == 0) { @@ -44447,7 +44457,7 @@ __4: if !(top >= iFree) { goto __6 } - return Xsqlite3CorruptError(tls, 67642) + return Xsqlite3CorruptError(tls, 67652) __6: ; if !(iFree2 != 0) { @@ -44456,14 +44466,14 @@ __6: if !(iFree+sz > iFree2) { goto __9 } - return Xsqlite3CorruptError(tls, 67645) + return Xsqlite3CorruptError(tls, 67655) __9: ; sz2 = int32(*(*uint8)(unsafe.Pointer(data + uintptr(iFree2+2))))<<8 | int32(*(*uint8)(unsafe.Pointer(data + uintptr(iFree2+2) + 1))) if !(iFree2+sz2 > usableSize) { goto __10 } - return Xsqlite3CorruptError(tls, 67647) + return Xsqlite3CorruptError(tls, 67657) __10: ; libc.Xmemmove(tls, data+uintptr(iFree+sz+sz2), data+uintptr(iFree+sz), uint64(iFree2-(iFree+sz))) @@ -44473,7 +44483,7 @@ __7: if !(iFree+sz > usableSize) { goto __11 } - return Xsqlite3CorruptError(tls, 67651) + return Xsqlite3CorruptError(tls, 67661) __11: ; __8: @@ -44535,7 +44545,7 @@ __18: if !(pc < iCellStart || pc > iCellLast) { goto __21 } - return Xsqlite3CorruptError(tls, 67680) + return Xsqlite3CorruptError(tls, 67690) __21: ; @@ -44546,7 +44556,7 @@ __21: if !(cbrk < iCellStart || pc+size > usableSize) { goto __22 } - return Xsqlite3CorruptError(tls, 67686) + return Xsqlite3CorruptError(tls, 67696) __22: ; @@ -44581,7 +44591,7 @@ defragment_out: if !(int32(*(*uint8)(unsafe.Pointer(data + uintptr(hdr+7))))+cbrk-iCellFirst != (*MemPage)(unsafe.Pointer(pPage)).FnFree) { goto __25 } - return Xsqlite3CorruptError(tls, 67705) + return Xsqlite3CorruptError(tls, 67715) __25: ; @@ -44606,7 +44616,7 @@ __25: // Slots on the free list that are between 1 and 3 bytes larger than nByte // will be ignored if adding the extra space to the fragmentation count // causes the fragmentation count to exceed 60. -func pageFindSlot(tls *libc.TLS, pPg uintptr, nByte int32, pRc uintptr) uintptr { /* sqlite3.c:67730:11: */ +func pageFindSlot(tls *libc.TLS, pPg uintptr, nByte int32, pRc uintptr) uintptr { /* sqlite3.c:67740:11: */ var hdr int32 = int32((*MemPage)(unsafe.Pointer(pPg)).FhdrOffset) // Offset to page header var aData uintptr = (*MemPage)(unsafe.Pointer(pPg)).FaData // Page data var iAddr int32 = hdr + 1 // Address of ptr to pc @@ -44635,7 +44645,7 @@ func pageFindSlot(tls *libc.TLS, pPg uintptr, nByte int32, pRc uintptr) uintptr *(*U8)(unsafe.Pointer(aData + uintptr(hdr+7))) += U8(int32(U8(x))) } else if x+pc > maxPC { // This slot extends off the end of the usable part of the page - *(*int32)(unsafe.Pointer(pRc)) = Xsqlite3CorruptError(tls, 67759) + *(*int32)(unsafe.Pointer(pRc)) = Xsqlite3CorruptError(tls, 67769) return uintptr(0) } else { // The slot remains on the free-list. Reduce its size to account @@ -44650,14 +44660,14 @@ func pageFindSlot(tls *libc.TLS, pPg uintptr, nByte int32, pRc uintptr) uintptr if pc <= iAddr+size { if pc != 0 { // The next slot in the chain is not past the end of the current slot - *(*int32)(unsafe.Pointer(pRc)) = Xsqlite3CorruptError(tls, 67773) + *(*int32)(unsafe.Pointer(pRc)) = Xsqlite3CorruptError(tls, 67783) } return uintptr(0) } } if pc > maxPC+nByte-4 { // The free slot chain extends off the end of the page - *(*int32)(unsafe.Pointer(pRc)) = Xsqlite3CorruptError(tls, 67780) + *(*int32)(unsafe.Pointer(pRc)) = Xsqlite3CorruptError(tls, 67790) } return uintptr(0) } @@ -44673,7 +44683,7 @@ func pageFindSlot(tls *libc.TLS, pPg uintptr, nByte int32, pRc uintptr) uintptr // the first two bytes past the cell pointer area since presumably this // allocation is being made in order to insert a new cell, so we will // also end up needing a new cell pointer. -func allocateSpace(tls *libc.TLS, pPage uintptr, nByte int32, pIdx uintptr) int32 { /* sqlite3.c:67798:12: */ +func allocateSpace(tls *libc.TLS, pPage uintptr, nByte int32, pIdx uintptr) int32 { /* sqlite3.c:67808:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -44698,7 +44708,7 @@ func allocateSpace(tls *libc.TLS, pPage uintptr, nByte int32, pIdx uintptr) int3 if top == 0 && (*BtShared)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize == U32(65536) { top = 65536 } else { - return Xsqlite3CorruptError(tls, 67827) + return Xsqlite3CorruptError(tls, 67837) } } @@ -44713,7 +44723,7 @@ func allocateSpace(tls *libc.TLS, pPage uintptr, nByte int32, pIdx uintptr) int3 *(*int32)(unsafe.Pointer(pIdx)) = libc.AssignInt32(&g2, int32((int64(pSpace)-int64(data))/1)) if g2 <= gap { - return Xsqlite3CorruptError(tls, 67845) + return Xsqlite3CorruptError(tls, 67855) } else { return SQLITE_OK } @@ -44764,7 +44774,7 @@ func allocateSpace(tls *libc.TLS, pPage uintptr, nByte int32, pIdx uintptr) int3 // does it detect cells or freeblocks that encrouch into the reserved bytes // at the end of the page. So do additional corruption checks inside this // routine and return SQLITE_CORRUPT if any problems are found. -func freeSpace(tls *libc.TLS, pPage uintptr, iStart U16, iSize U16) int32 { /* sqlite3.c:67894:12: */ +func freeSpace(tls *libc.TLS, pPage uintptr, iStart U16, iSize U16) int32 { /* sqlite3.c:67904:12: */ var iPtr U16 // Address of ptr to next freeblock var iFreeBlk U16 // Address of the next freeblock var hdr U8 // Page header size. 0 or 100 @@ -44788,12 +44798,12 @@ func freeSpace(tls *libc.TLS, pPage uintptr, iStart U16, iSize U16) int32 { /* s if int32(iFreeBlk) == 0 { break } // TH3: corrupt082.100 - return Xsqlite3CorruptError(tls, 67923) + return Xsqlite3CorruptError(tls, 67933) } iPtr = iFreeBlk } if U32(iFreeBlk) > (*BtShared)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize-U32(4) { // TH3: corrupt081.100 - return Xsqlite3CorruptError(tls, 67928) + return Xsqlite3CorruptError(tls, 67938) } // At this point: @@ -44804,11 +44814,11 @@ func freeSpace(tls *libc.TLS, pPage uintptr, iStart U16, iSize U16) int32 { /* s if iFreeBlk != 0 && iEnd+U32(3) >= U32(iFreeBlk) { nFrag = U8(U32(iFreeBlk) - iEnd) if iEnd > U32(iFreeBlk) { - return Xsqlite3CorruptError(tls, 67940) + return Xsqlite3CorruptError(tls, 67950) } iEnd = U32(int32(iFreeBlk) + (int32(*(*uint8)(unsafe.Pointer(data + uintptr(int32(iFreeBlk)+2))))<<8 | int32(*(*uint8)(unsafe.Pointer(data + uintptr(int32(iFreeBlk)+2) + 1))))) if iEnd > (*BtShared)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize { - return Xsqlite3CorruptError(tls, 67943) + return Xsqlite3CorruptError(tls, 67953) } iSize = U16(iEnd - U32(iStart)) iFreeBlk = U16(int32(*(*uint8)(unsafe.Pointer(data + uintptr(iFreeBlk))))<<8 | int32(*(*uint8)(unsafe.Pointer(data + uintptr(iFreeBlk) + 1)))) @@ -44821,7 +44831,7 @@ func freeSpace(tls *libc.TLS, pPage uintptr, iStart U16, iSize U16) int32 { /* s var iPtrEnd int32 = int32(iPtr) + (int32(*(*uint8)(unsafe.Pointer(data + uintptr(int32(iPtr)+2))))<<8 | int32(*(*uint8)(unsafe.Pointer(data + uintptr(int32(iPtr)+2) + 1)))) if iPtrEnd+3 >= int32(iStart) { if iPtrEnd > int32(iStart) { - return Xsqlite3CorruptError(tls, 67956) + return Xsqlite3CorruptError(tls, 67966) } nFrag = U8(int32(nFrag) + (int32(iStart) - iPtrEnd)) iSize = U16(iEnd - U32(iPtr)) @@ -44829,7 +44839,7 @@ func freeSpace(tls *libc.TLS, pPage uintptr, iStart U16, iSize U16) int32 { /* s } } if int32(nFrag) > int32(*(*uint8)(unsafe.Pointer(data + uintptr(int32(hdr)+7)))) { - return Xsqlite3CorruptError(tls, 67962) + return Xsqlite3CorruptError(tls, 67972) } *(*uint8)(unsafe.Pointer(data + uintptr(int32(hdr)+7))) -= uint8(int32(nFrag)) } @@ -44839,10 +44849,10 @@ func freeSpace(tls *libc.TLS, pPage uintptr, iStart U16, iSize U16) int32 { /* s // so just extend the cell content area rather than create another // freelist entry if int32(iStart) < int32(x) { - return Xsqlite3CorruptError(tls, 67970) + return Xsqlite3CorruptError(tls, 67980) } if int32(iPtr) != int32(hdr)+1 { - return Xsqlite3CorruptError(tls, 67971) + return Xsqlite3CorruptError(tls, 67981) } *(*uint8)(unsafe.Pointer(data + uintptr(int32(hdr)+1))) = U8(int32(iFreeBlk) >> 8) *(*uint8)(unsafe.Pointer(data + uintptr(int32(hdr)+1) + 1)) = U8(iFreeBlk) @@ -44876,7 +44886,7 @@ func freeSpace(tls *libc.TLS, pPage uintptr, iStart U16, iSize U16) int32 { /* s // PTF_ZERODATA | PTF_LEAF // PTF_LEAFDATA | PTF_INTKEY // PTF_LEAFDATA | PTF_INTKEY | PTF_LEAF -func decodeFlags(tls *libc.TLS, pPage uintptr, flagByte int32) int32 { /* sqlite3.c:68001:12: */ +func decodeFlags(tls *libc.TLS, pPage uintptr, flagByte int32) int32 { /* sqlite3.c:68011:12: */ var pBt uintptr // A copy of pPage->pBt (*MemPage)(unsafe.Pointer(pPage)).Fleaf = U8(flagByte >> 3) @@ -44927,7 +44937,7 @@ func decodeFlags(tls *libc.TLS, pPage uintptr, flagByte int32) int32 { /* sqlite } else { // EVIDENCE-OF: R-47608-56469 Any other value for the b-tree page type is // an error. - return Xsqlite3CorruptError(tls, 68044) + return Xsqlite3CorruptError(tls, 68054) } (*MemPage)(unsafe.Pointer(pPage)).Fmax1bytePayload = (*BtShared)(unsafe.Pointer(pBt)).Fmax1bytePayload return SQLITE_OK @@ -44935,7 +44945,7 @@ func decodeFlags(tls *libc.TLS, pPage uintptr, flagByte int32) int32 { /* sqlite // Compute the amount of freespace on the page. In other words, fill // in the pPage->nFree field. -func btreeComputeFreeSpace(tls *libc.TLS, pPage uintptr) int32 { /* sqlite3.c:68054:12: */ +func btreeComputeFreeSpace(tls *libc.TLS, pPage uintptr) int32 { /* sqlite3.c:68064:12: */ var pc int32 // Address of a freeblock within pPage->aData[] var hdr U8 // Offset to beginning of page header var data uintptr // Equal to pPage->aData @@ -44967,12 +44977,12 @@ func btreeComputeFreeSpace(tls *libc.TLS, pPage uintptr) int32 { /* sqlite3.c:68 if pc < top { // 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 Xsqlite3CorruptError(tls, 68095) + return Xsqlite3CorruptError(tls, 68105) } for 1 != 0 { if pc > iCellLast { // Freeblock off the end of the page - return Xsqlite3CorruptError(tls, 68100) + return Xsqlite3CorruptError(tls, 68110) } next = U32(int32(*(*U8)(unsafe.Pointer(data + uintptr(pc))))<<8 | int32(*(*U8)(unsafe.Pointer(data + uintptr(pc) + 1)))) size = U32(int32(*(*U8)(unsafe.Pointer(data + uintptr(pc+2))))<<8 | int32(*(*U8)(unsafe.Pointer(data + uintptr(pc+2) + 1)))) @@ -44984,11 +44994,11 @@ func btreeComputeFreeSpace(tls *libc.TLS, pPage uintptr) int32 { /* sqlite3.c:68 } if next > U32(0) { // Freeblock not in ascending order - return Xsqlite3CorruptError(tls, 68110) + return Xsqlite3CorruptError(tls, 68120) } if U32(pc)+size > uint32(usableSize) { // Last freeblock extends past page end - return Xsqlite3CorruptError(tls, 68114) + return Xsqlite3CorruptError(tls, 68124) } } @@ -44999,7 +45009,7 @@ func btreeComputeFreeSpace(tls *libc.TLS, pPage uintptr) int32 { /* sqlite3.c:68 // serves to verify that the offset to the start of the cell-content // area, according to the page header, lies within the page. if nFree > usableSize || nFree < iCellFirst { - return Xsqlite3CorruptError(tls, 68126) + return Xsqlite3CorruptError(tls, 68136) } (*MemPage)(unsafe.Pointer(pPage)).FnFree = int32(U16(nFree - iCellFirst)) return SQLITE_OK @@ -45007,7 +45017,7 @@ func btreeComputeFreeSpace(tls *libc.TLS, pPage uintptr) int32 { /* sqlite3.c:68 // Do additional sanity check after btreeInitPage() if // PRAGMA cell_size_check=ON -func btreeCellSizeCheck(tls *libc.TLS, pPage uintptr) int32 { /* sqlite3.c:68136:28: */ +func btreeCellSizeCheck(tls *libc.TLS, pPage uintptr) int32 { /* sqlite3.c:68146:28: */ var iCellFirst int32 // First allowable cell or freeblock offset var iCellLast int32 // Last possible cell or freeblock offset var i int32 // Index into the cell pointer array @@ -45029,14 +45039,14 @@ func btreeCellSizeCheck(tls *libc.TLS, pPage uintptr) int32 { /* sqlite3.c:68136 pc = int32(libc.X__builtin_bswap16(tls, *(*U16)(unsafe.Pointer(data + uintptr(cellOffset+i*2))))) if pc < iCellFirst || pc > iCellLast { - return Xsqlite3CorruptError(tls, 68157) + return Xsqlite3CorruptError(tls, 68167) } sz = int32((*struct { f func(*libc.TLS, uintptr, uintptr) U16 })(unsafe.Pointer(&struct{ uintptr }{(*MemPage)(unsafe.Pointer(pPage)).FxCellSize})).f(tls, pPage, data+uintptr(pc))) if pc+sz > usableSize { - return Xsqlite3CorruptError(tls, 68162) + return Xsqlite3CorruptError(tls, 68172) } } return SQLITE_OK @@ -45049,7 +45059,7 @@ func btreeCellSizeCheck(tls *libc.TLS, pPage uintptr) int32 { /* sqlite3.c:68136 // SQLITE_CORRUPT. Note that a return of SQLITE_OK does not // guarantee that the page is well-formed. It only shows that // we failed to detect any corruption. -func btreeInitPage(tls *libc.TLS, pPage uintptr) int32 { /* sqlite3.c:68177:12: */ +func btreeInitPage(tls *libc.TLS, pPage uintptr) int32 { /* sqlite3.c:68187:12: */ var data uintptr // Equal to pPage->aData var pBt uintptr // The main btree structure @@ -45058,7 +45068,7 @@ func btreeInitPage(tls *libc.TLS, pPage uintptr) int32 { /* sqlite3.c:68177:12: // EVIDENCE-OF: R-28594-02890 The one-byte flag at offset 0 indicating // the b-tree page type. if decodeFlags(tls, pPage, int32(*(*U8)(unsafe.Pointer(data)))) != 0 { - return Xsqlite3CorruptError(tls, 68194) + return Xsqlite3CorruptError(tls, 68204) } (*MemPage)(unsafe.Pointer(pPage)).FmaskPage = U16((*BtShared)(unsafe.Pointer(pBt)).FpageSize - U32(1)) @@ -45072,7 +45082,7 @@ func btreeInitPage(tls *libc.TLS, pPage uintptr) int32 { /* sqlite3.c:68177:12: (*MemPage)(unsafe.Pointer(pPage)).FnCell = U16(int32(*(*U8)(unsafe.Pointer(data + 3)))<<8 | int32(*(*U8)(unsafe.Pointer(data + 3 + 1)))) if U32((*MemPage)(unsafe.Pointer(pPage)).FnCell) > ((*BtShared)(unsafe.Pointer(pBt)).FpageSize-U32(8))/U32(6) { // To many cells for a single page. The page must be corrupt - return Xsqlite3CorruptError(tls, 68208) + return Xsqlite3CorruptError(tls, 68218) } // EVIDENCE-OF: R-24089-57979 If a page contains no cells (which is only @@ -45090,7 +45100,7 @@ func btreeInitPage(tls *libc.TLS, pPage uintptr) int32 { /* sqlite3.c:68177:12: // Set up a raw page so that it looks like a database page holding // no entries. -func zeroPage(tls *libc.TLS, pPage uintptr, flags int32) { /* sqlite3.c:68230:13: */ +func zeroPage(tls *libc.TLS, pPage uintptr, flags int32) { /* sqlite3.c:68240:13: */ var data uintptr = (*MemPage)(unsafe.Pointer(pPage)).FaData var pBt uintptr = (*MemPage)(unsafe.Pointer(pPage)).FpBt var hdr U8 = (*MemPage)(unsafe.Pointer(pPage)).FhdrOffset @@ -45125,7 +45135,7 @@ func zeroPage(tls *libc.TLS, pPage uintptr, flags int32) { /* sqlite3.c:68230:13 // Convert a DbPage obtained from the pager into a MemPage used by // the btree layer. -func btreePageFromDbPage(tls *libc.TLS, pDbPage uintptr, pgno Pgno, pBt uintptr) uintptr { /* sqlite3.c:68267:16: */ +func btreePageFromDbPage(tls *libc.TLS, pDbPage uintptr, pgno Pgno, pBt uintptr) uintptr { /* sqlite3.c:68277:16: */ var pPage uintptr = Xsqlite3PagerGetExtra(tls, pDbPage) if pgno != (*MemPage)(unsafe.Pointer(pPage)).Fpgno { (*MemPage)(unsafe.Pointer(pPage)).FaData = Xsqlite3PagerGetData(tls, pDbPage) @@ -45152,7 +45162,7 @@ func btreePageFromDbPage(tls *libc.TLS, pDbPage uintptr, pgno Pgno, pBt uintptr) // If in the future we call sqlite3PagerWrite() on this page, that // means we have started to be concerned about content and the disk // read should occur at that point. -func btreeGetPage(tls *libc.TLS, pBt uintptr, pgno Pgno, ppPage uintptr, flags int32) int32 { /* sqlite3.c:68291:12: */ +func btreeGetPage(tls *libc.TLS, pBt uintptr, pgno Pgno, ppPage uintptr, flags int32) int32 { /* sqlite3.c:68301:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -45170,7 +45180,7 @@ func btreeGetPage(tls *libc.TLS, pBt uintptr, pgno Pgno, ppPage uintptr, flags i // Retrieve a page from the pager cache. If the requested page is not // already in the pager cache return NULL. Initialize the MemPage.pBt and // MemPage.aData elements if needed. -func btreePageLookup(tls *libc.TLS, pBt uintptr, pgno Pgno) uintptr { /* sqlite3.c:68313:16: */ +func btreePageLookup(tls *libc.TLS, pBt uintptr, pgno Pgno) uintptr { /* sqlite3.c:68323:16: */ var pDbPage uintptr pDbPage = Xsqlite3PagerLookup(tls, (*BtShared)(unsafe.Pointer(pBt)).FpPager, pgno) @@ -45182,11 +45192,11 @@ func btreePageLookup(tls *libc.TLS, pBt uintptr, pgno Pgno) uintptr { /* sqlite3 // Return the size of the database file in pages. If there is any kind of // error, return ((unsigned int)-1). -func btreePagecount(tls *libc.TLS, pBt uintptr) Pgno { /* sqlite3.c:68327:13: */ +func btreePagecount(tls *libc.TLS, pBt uintptr) Pgno { /* sqlite3.c:68337:13: */ return (*BtShared)(unsafe.Pointer(pBt)).FnPage } -func Xsqlite3BtreeLastPage(tls *libc.TLS, p uintptr) Pgno { /* sqlite3.c:68330:21: */ +func Xsqlite3BtreeLastPage(tls *libc.TLS, p uintptr) Pgno { /* sqlite3.c:68340:21: */ return btreePagecount(tls, (*Btree)(unsafe.Pointer(p)).FpBt) } @@ -45202,7 +45212,7 @@ func Xsqlite3BtreeLastPage(tls *libc.TLS, p uintptr) Pgno { /* sqlite3.c:68330:2 // // If an error occurs, then *ppPage is undefined. It // may remain unchanged, or it may be set to an invalid value. -func getAndInitPage(tls *libc.TLS, pBt uintptr, pgno Pgno, ppPage uintptr, pCur uintptr, bReadOnly int32) int32 { /* sqlite3.c:68348:12: */ +func getAndInitPage(tls *libc.TLS, pBt uintptr, pgno Pgno, ppPage uintptr, pCur uintptr, bReadOnly int32) int32 { /* sqlite3.c:68358:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -45212,7 +45222,7 @@ func getAndInitPage(tls *libc.TLS, pBt uintptr, pgno Pgno, ppPage uintptr, pCur if !(pgno > btreePagecount(tls, pBt)) { goto __1 } - rc = Xsqlite3CorruptError(tls, 68363) + rc = Xsqlite3CorruptError(tls, 68373) goto getAndInitPage_error1 __1: ; @@ -45243,7 +45253,7 @@ __3: if !(pCur != 0 && (int32((*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(ppPage)))).FnCell) < 1 || int32((*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(ppPage)))).FintKey) != int32((*BtCursor)(unsafe.Pointer(pCur)).FcurIntKey))) { goto __5 } - rc = Xsqlite3CorruptError(tls, 68384) + rc = Xsqlite3CorruptError(tls, 68394) goto getAndInitPage_error2 __5: ; @@ -45267,18 +45277,18 @@ __6: // call to btreeGetPage. // // Page1 is a special case and must be released using releasePageOne(). -func releasePageNotNull(tls *libc.TLS, pPage uintptr) { /* sqlite3.c:68407:13: */ +func releasePageNotNull(tls *libc.TLS, pPage uintptr) { /* sqlite3.c:68417:13: */ Xsqlite3PagerUnrefNotNull(tls, (*MemPage)(unsafe.Pointer(pPage)).FpDbPage) } -func releasePage(tls *libc.TLS, pPage uintptr) { /* sqlite3.c:68416:13: */ +func releasePage(tls *libc.TLS, pPage uintptr) { /* sqlite3.c:68426:13: */ if pPage != 0 { releasePageNotNull(tls, pPage) } } -func releasePageOne(tls *libc.TLS, pPage uintptr) { /* sqlite3.c:68419:13: */ +func releasePageOne(tls *libc.TLS, pPage uintptr) { /* sqlite3.c:68429:13: */ Xsqlite3PagerUnrefPageOne(tls, (*MemPage)(unsafe.Pointer(pPage)).FpDbPage) } @@ -45290,13 +45300,13 @@ func releasePageOne(tls *libc.TLS, pPage uintptr) { /* sqlite3.c:68419:13: */ // * If the page is already in use for some other purpose, immediately // release it and return an SQLITE_CURRUPT error. // * Make sure the isInit flag is clear -func btreeGetUnusedPage(tls *libc.TLS, pBt uintptr, pgno Pgno, ppPage uintptr, flags int32) int32 { /* sqlite3.c:68439:12: */ +func btreeGetUnusedPage(tls *libc.TLS, pBt uintptr, pgno Pgno, ppPage uintptr, flags int32) int32 { /* sqlite3.c:68449:12: */ var rc int32 = btreeGetPage(tls, pBt, pgno, ppPage, flags) if rc == SQLITE_OK { if Xsqlite3PagerPageRefcount(tls, (*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(ppPage)))).FpDbPage) > 1 { releasePage(tls, *(*uintptr)(unsafe.Pointer(ppPage))) *(*uintptr)(unsafe.Pointer(ppPage)) = uintptr(0) - return Xsqlite3CorruptError(tls, 68450) + return Xsqlite3CorruptError(tls, 68460) } (*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(ppPage)))).FisInit = U8(0) } else { @@ -45311,7 +45321,7 @@ func btreeGetUnusedPage(tls *libc.TLS, pBt uintptr, pgno Pgno, ppPage uintptr, f // // This routine needs to reset the extra data section at the end of the // page to agree with the restored data. -func pageReinit(tls *libc.TLS, pData uintptr) { /* sqlite3.c:68468:13: */ +func pageReinit(tls *libc.TLS, pData uintptr) { /* sqlite3.c:68478:13: */ var pPage uintptr pPage = Xsqlite3PagerGetExtra(tls, pData) @@ -45331,7 +45341,7 @@ func pageReinit(tls *libc.TLS, pData uintptr) { /* sqlite3.c:68468:13: */ } // Invoke the busy handler for a btree. -func btreeInvokeBusyHandler(tls *libc.TLS, pArg uintptr) int32 { /* sqlite3.c:68490:12: */ +func btreeInvokeBusyHandler(tls *libc.TLS, pArg uintptr) int32 { /* sqlite3.c:68500:12: */ var pBt uintptr = pArg return Xsqlite3InvokeBusyHandler(tls, (*BtShared)(unsafe.Pointer(pBt)).Fdb+664) @@ -45356,7 +45366,7 @@ func btreeInvokeBusyHandler(tls *libc.TLS, pArg uintptr) int32 { /* sqlite3.c:68 // SQLITE_CONSTRAINT error. We cannot allow two or more BtShared // objects in the same database connection since doing so will lead // to problems with locking. -func Xsqlite3BtreeOpen(tls *libc.TLS, pVfs uintptr, zFilename uintptr, db uintptr, ppBtree uintptr, flags int32, vfsFlags int32) int32 { /* sqlite3.c:68518:20: */ +func Xsqlite3BtreeOpen(tls *libc.TLS, pVfs uintptr, zFilename uintptr, db uintptr, ppBtree uintptr, flags int32, vfsFlags int32) int32 { /* sqlite3.c:68528:20: */ bp := tls.Alloc(100) defer tls.Free(100) @@ -45777,7 +45787,7 @@ __49: // remove the BtShared structure from the sharing list. Return // true if the BtShared.nRef counter reaches zero and return // false if it is still positive. -func removeFromSharingList(tls *libc.TLS, pBt uintptr) int32 { /* sqlite3.c:68816:12: */ +func removeFromSharingList(tls *libc.TLS, pBt uintptr) int32 { /* sqlite3.c:68826:12: */ var pMainMtx uintptr var pList uintptr var removed int32 = 0 @@ -45809,7 +45819,7 @@ func removeFromSharingList(tls *libc.TLS, pBt uintptr) int32 { /* sqlite3.c:6881 // Make sure pBt->pTmpSpace points to an allocation of // MX_CELL_SIZE(pBt) bytes with a 4-byte prefix for a left-child // pointer. -func allocateTempSpace(tls *libc.TLS, pBt uintptr) int32 { /* sqlite3.c:68855:28: */ +func allocateTempSpace(tls *libc.TLS, pBt uintptr) int32 { /* sqlite3.c:68865:28: */ // This routine is called only by btreeCursor() when allocating the // first write cursor for the BtShared object @@ -45842,7 +45852,7 @@ func allocateTempSpace(tls *libc.TLS, pBt uintptr) int32 { /* sqlite3.c:68855:28 } // Free the pBt->pTmpSpace allocation -func freeTempSpace(tls *libc.TLS, pBt uintptr) { /* sqlite3.c:68892:13: */ +func freeTempSpace(tls *libc.TLS, pBt uintptr) { /* sqlite3.c:68902:13: */ if (*BtShared)(unsafe.Pointer(pBt)).FpTmpSpace != 0 { *(*uintptr)(unsafe.Pointer(pBt + 136)) -= uintptr(4) Xsqlite3PageFree(tls, (*BtShared)(unsafe.Pointer(pBt)).FpTmpSpace) @@ -45851,7 +45861,7 @@ func freeTempSpace(tls *libc.TLS, pBt uintptr) { /* sqlite3.c:68892:13: */ } // Close an open database and invalidate all cursors. -func Xsqlite3BtreeClose(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:68903:20: */ +func Xsqlite3BtreeClose(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:68913:20: */ var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt // Close all cursors opened via this handle. @@ -45901,7 +45911,7 @@ func Xsqlite3BtreeClose(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:68903:20: // pages in the cache exceeds this soft limit. But the size of the // cache is allowed to grow larger than this limit if it contains // dirty pages or pages still in active use. -func Xsqlite3BtreeSetCacheSize(tls *libc.TLS, p uintptr, mxPage int32) int32 { /* sqlite3.c:68969:20: */ +func Xsqlite3BtreeSetCacheSize(tls *libc.TLS, p uintptr, mxPage int32) int32 { /* sqlite3.c:68979:20: */ var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt Xsqlite3BtreeEnter(tls, p) @@ -45918,7 +45928,7 @@ func Xsqlite3BtreeSetCacheSize(tls *libc.TLS, p uintptr, mxPage int32) int32 { / // The value returned is the current spill size. If zero is passed // as an argument, no changes are made to the spill size setting, so // using mxPage of 0 is a way to query the current spill size. -func Xsqlite3BtreeSetSpillSize(tls *libc.TLS, p uintptr, mxPage int32) int32 { /* sqlite3.c:68988:20: */ +func Xsqlite3BtreeSetSpillSize(tls *libc.TLS, p uintptr, mxPage int32) int32 { /* sqlite3.c:68998:20: */ var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt var res int32 @@ -45930,7 +45940,7 @@ func Xsqlite3BtreeSetSpillSize(tls *libc.TLS, p uintptr, mxPage int32) int32 { / // Change the limit on the amount of the database file that may be // memory mapped. -func Xsqlite3BtreeSetMmapLimit(tls *libc.TLS, p uintptr, szMmap Sqlite3_int64) int32 { /* sqlite3.c:69003:20: */ +func Xsqlite3BtreeSetMmapLimit(tls *libc.TLS, p uintptr, szMmap Sqlite3_int64) int32 { /* sqlite3.c:69013:20: */ var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt Xsqlite3BtreeEnter(tls, p) @@ -45945,7 +45955,7 @@ func Xsqlite3BtreeSetMmapLimit(tls *libc.TLS, p uintptr, szMmap Sqlite3_int64) i // there is a high probability of damage) Level 2 is the default. There // is a very low but non-zero probability of damage. Level 3 reduces the // probability of damage to near zero but with a write performance reduction. -func Xsqlite3BtreeSetPagerFlags(tls *libc.TLS, p uintptr, pgFlags uint32) int32 { /* sqlite3.c:69022:20: */ +func Xsqlite3BtreeSetPagerFlags(tls *libc.TLS, p uintptr, pgFlags uint32) int32 { /* sqlite3.c:69032:20: */ var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt Xsqlite3BtreeEnter(tls, p) @@ -45972,7 +45982,7 @@ func Xsqlite3BtreeSetPagerFlags(tls *libc.TLS, p uintptr, pgFlags uint32) int32 // // If the iFix!=0 then the BTS_PAGESIZE_FIXED flag is set so that the page size // and autovacuum mode can no longer be changed. -func Xsqlite3BtreeSetPageSize(tls *libc.TLS, p uintptr, pageSize int32, nReserve int32, iFix int32) int32 { /* sqlite3.c:69055:20: */ +func Xsqlite3BtreeSetPageSize(tls *libc.TLS, p uintptr, pageSize int32, nReserve int32, iFix int32) int32 { /* sqlite3.c:69065:20: */ var rc int32 = SQLITE_OK var x int32 var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt @@ -46006,7 +46016,7 @@ func Xsqlite3BtreeSetPageSize(tls *libc.TLS, p uintptr, pageSize int32, nReserve } // Return the currently defined page size -func Xsqlite3BtreeGetPageSize(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:69087:20: */ +func Xsqlite3BtreeGetPageSize(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:69097:20: */ return int32((*BtShared)(unsafe.Pointer((*Btree)(unsafe.Pointer(p)).FpBt)).FpageSize) } @@ -46019,7 +46029,7 @@ func Xsqlite3BtreeGetPageSize(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:690 // database handle that owns *p is not. In this case if sqlite3BtreeEnter() // were to be called, it might collide with some other operation on the // database handle that owns *p, causing undefined behavior. -func Xsqlite3BtreeGetReserveNoMutex(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:69102:20: */ +func Xsqlite3BtreeGetReserveNoMutex(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:69112:20: */ var n int32 n = int32((*BtShared)(unsafe.Pointer((*Btree)(unsafe.Pointer(p)).FpBt)).FpageSize - (*BtShared)(unsafe.Pointer((*Btree)(unsafe.Pointer(p)).FpBt)).FusableSize) @@ -46033,7 +46043,7 @@ func Xsqlite3BtreeGetReserveNoMutex(tls *libc.TLS, p uintptr) int32 { /* sqlite3 // The value returned is the larger of the current reserve size and // the latest reserve size requested by SQLITE_FILECTRL_RESERVE_BYTES. // The amount of reserve can only grow - never shrink. -func Xsqlite3BtreeGetRequestedReserve(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:69118:20: */ +func Xsqlite3BtreeGetRequestedReserve(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:69128:20: */ var n1 int32 var n2 int32 Xsqlite3BtreeEnter(tls, p) @@ -46049,7 +46059,7 @@ func Xsqlite3BtreeGetRequestedReserve(tls *libc.TLS, p uintptr) int32 { /* sqlit // Set the maximum page count for a database if mxPage is positive. // No changes are made if mxPage is 0 or negative. // Regardless of the value of mxPage, return the maximum page count. -func Xsqlite3BtreeMaxPageCount(tls *libc.TLS, p uintptr, mxPage Pgno) Pgno { /* sqlite3.c:69133:21: */ +func Xsqlite3BtreeMaxPageCount(tls *libc.TLS, p uintptr, mxPage Pgno) Pgno { /* sqlite3.c:69143:21: */ var n Pgno Xsqlite3BtreeEnter(tls, p) n = Xsqlite3PagerMaxPageCount(tls, (*BtShared)(unsafe.Pointer((*Btree)(unsafe.Pointer(p)).FpBt)).FpPager, mxPage) @@ -46073,7 +46083,7 @@ func Xsqlite3BtreeMaxPageCount(tls *libc.TLS, p uintptr, mxPage Pgno) Pgno { /* // With BTS_SECURE_DELETE, operation is like BTS_OVERWRITE with the addition // that freelist leaf pages are written back into the database, increasing // the amount of disk I/O. -func Xsqlite3BtreeSecureDelete(tls *libc.TLS, p uintptr, newFlag int32) int32 { /* sqlite3.c:69159:20: */ +func Xsqlite3BtreeSecureDelete(tls *libc.TLS, p uintptr, newFlag int32) int32 { /* sqlite3.c:69169:20: */ var b int32 if p == uintptr(0) { return 0 @@ -46093,7 +46103,7 @@ func Xsqlite3BtreeSecureDelete(tls *libc.TLS, p uintptr, newFlag int32) int32 { // parameter is non-zero, then auto-vacuum mode is enabled. If zero, it // is disabled. The default value for the auto-vacuum property is // determined by the SQLITE_DEFAULT_AUTOVACUUM macro. -func Xsqlite3BtreeSetAutoVacuum(tls *libc.TLS, p uintptr, autoVacuum int32) int32 { /* sqlite3.c:69180:20: */ +func Xsqlite3BtreeSetAutoVacuum(tls *libc.TLS, p uintptr, autoVacuum int32) int32 { /* sqlite3.c:69190:20: */ var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt var rc int32 = SQLITE_OK var av U8 = U8(autoVacuum) @@ -46126,7 +46136,7 @@ func Xsqlite3BtreeSetAutoVacuum(tls *libc.TLS, p uintptr, autoVacuum int32) int3 // Return the value of the 'auto-vacuum' property. If auto-vacuum is // enabled 1 is returned. Otherwise 0. -func Xsqlite3BtreeGetAutoVacuum(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:69204:20: */ +func Xsqlite3BtreeGetAutoVacuum(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:69214:20: */ var rc int32 Xsqlite3BtreeEnter(tls, p) rc = func() int32 { @@ -46151,7 +46161,7 @@ func Xsqlite3BtreeGetAutoVacuum(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:6 // well-formed database file, then SQLITE_CORRUPT is returned. // SQLITE_BUSY is returned if the database is locked. SQLITE_NOMEM // is returned if we run out of memory. -func lockBtree(tls *libc.TLS, pBt uintptr) int32 { /* sqlite3.c:69260:12: */ +func lockBtree(tls *libc.TLS, pBt uintptr) int32 { /* sqlite3.c:69270:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -46320,7 +46330,7 @@ __16: if !(Xsqlite3WritableSchema(tls, (*BtShared)(unsafe.Pointer(pBt)).Fdb) == 0) { goto __18 } - rc = Xsqlite3CorruptError(tls, 69385) + rc = Xsqlite3CorruptError(tls, 69395) goto page1_init_failed goto __19 __18: @@ -46397,7 +46407,7 @@ page1_init_failed: // has the effect of releasing the read lock. // // If there is a transaction in progress, this routine is a no-op. -func unlockBtreeIfUnused(tls *libc.TLS, pBt uintptr) { /* sqlite3.c:69470:13: */ +func unlockBtreeIfUnused(tls *libc.TLS, pBt uintptr) { /* sqlite3.c:69480:13: */ if int32((*BtShared)(unsafe.Pointer(pBt)).FinTransaction) == TRANS_NONE && (*BtShared)(unsafe.Pointer(pBt)).FpPage1 != uintptr(0) { var pPage1 uintptr = (*BtShared)(unsafe.Pointer(pBt)).FpPage1 @@ -46410,7 +46420,7 @@ func unlockBtreeIfUnused(tls *libc.TLS, pBt uintptr) { /* sqlite3.c:69470:13: */ // If pBt points to an empty file then convert that empty file // into a new empty database by initializing the first page of // the database. -func newDatabase(tls *libc.TLS, pBt uintptr) int32 { /* sqlite3.c:69487:12: */ +func newDatabase(tls *libc.TLS, pBt uintptr) int32 { /* sqlite3.c:69497:12: */ var pP1 uintptr var data uintptr var rc int32 @@ -46450,7 +46460,7 @@ func newDatabase(tls *libc.TLS, pBt uintptr) int32 { /* sqlite3.c:69487:12: */ // Initialize the first page of the database file (creating a database // consisting of a single page and no schema objects). Return SQLITE_OK // if successful, or an SQLite error code otherwise. -func Xsqlite3BtreeNewDb(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:69531:20: */ +func Xsqlite3BtreeNewDb(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:69541:20: */ var rc int32 Xsqlite3BtreeEnter(tls, p) (*BtShared)(unsafe.Pointer((*Btree)(unsafe.Pointer(p)).FpBt)).FnPage = U32(0) @@ -46492,7 +46502,7 @@ func Xsqlite3BtreeNewDb(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:69531:20: // no progress. By returning SQLITE_BUSY and not invoking the busy callback // when A already has a read lock, we encourage A to give up and let B // proceed. -func Xsqlite3BtreeBeginTrans(tls *libc.TLS, p uintptr, wrflag int32, pSchemaVersion uintptr) int32 { /* sqlite3.c:69575:20: */ +func Xsqlite3BtreeBeginTrans(tls *libc.TLS, p uintptr, wrflag int32, pSchemaVersion uintptr) int32 { /* sqlite3.c:69585:20: */ var pBt uintptr var pPager uintptr var rc int32 @@ -46756,7 +46766,7 @@ __34: // Set the pointer-map entries for all children of page pPage. Also, if // pPage contains cells that point to overflow pages, set the pointer // map entries for the overflow pages as well. -func setChildPtrmaps(tls *libc.TLS, pPage uintptr) int32 { /* sqlite3.c:69755:12: */ +func setChildPtrmaps(tls *libc.TLS, pPage uintptr) int32 { /* sqlite3.c:69765:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -46808,14 +46818,14 @@ func setChildPtrmaps(tls *libc.TLS, pPage uintptr) int32 { /* sqlite3.c:69755:12 // // PTRMAP_OVERFLOW2: pPage is an overflow-page. The pointer points at the next // overflow page in the list. -func modifyPagePointer(tls *libc.TLS, pPage uintptr, iFrom Pgno, iTo Pgno, eType U8) int32 { /* sqlite3.c:69800:12: */ +func modifyPagePointer(tls *libc.TLS, pPage uintptr, iFrom Pgno, iTo Pgno, eType U8) int32 { /* sqlite3.c:69810:12: */ bp := tls.Alloc(24) defer tls.Free(24) if int32(eType) == PTRMAP_OVERFLOW2 { // The pointer is always the first 4 bytes of the page in this case. if Xsqlite3Get4byte(tls, (*MemPage)(unsafe.Pointer(pPage)).FaData) != iFrom { - return Xsqlite3CorruptError(tls, 69806) + return Xsqlite3CorruptError(tls, 69816) } Xsqlite3Put4byte(tls, (*MemPage)(unsafe.Pointer(pPage)).FaData, iTo) } else { @@ -46843,7 +46853,7 @@ func modifyPagePointer(tls *libc.TLS, pPage uintptr, iFrom Pgno, iTo Pgno, eType })(unsafe.Pointer(&struct{ uintptr }{(*MemPage)(unsafe.Pointer(pPage)).FxParseCell})).f(tls, pPage, pCell, bp /* &info */) if U32((*CellInfo)(unsafe.Pointer(bp)).FnLocal) < (*CellInfo)(unsafe.Pointer(bp)).FnPayload { if pCell+uintptr((*CellInfo)(unsafe.Pointer(bp)).FnSize) > (*MemPage)(unsafe.Pointer(pPage)).FaData+uintptr((*BtShared)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize) { - return Xsqlite3CorruptError(tls, 69825) + return Xsqlite3CorruptError(tls, 69835) } if iFrom == Xsqlite3Get4byte(tls, pCell+uintptr((*CellInfo)(unsafe.Pointer(bp)).FnSize)-uintptr(4)) { Xsqlite3Put4byte(tls, pCell+uintptr((*CellInfo)(unsafe.Pointer(bp)).FnSize)-uintptr(4), iTo) @@ -46860,7 +46870,7 @@ func modifyPagePointer(tls *libc.TLS, pPage uintptr, iFrom Pgno, iTo Pgno, eType if i == nCell { if int32(eType) != PTRMAP_BTREE || Xsqlite3Get4byte(tls, (*MemPage)(unsafe.Pointer(pPage)).FaData+uintptr(int32((*MemPage)(unsafe.Pointer(pPage)).FhdrOffset)+8)) != iFrom { - return Xsqlite3CorruptError(tls, 69843) + return Xsqlite3CorruptError(tls, 69853) } Xsqlite3Put4byte(tls, (*MemPage)(unsafe.Pointer(pPage)).FaData+uintptr(int32((*MemPage)(unsafe.Pointer(pPage)).FhdrOffset)+8), iTo) } @@ -46875,7 +46885,7 @@ func modifyPagePointer(tls *libc.TLS, pPage uintptr, iFrom Pgno, iTo Pgno, eType // the journal needs to be sync()ed before database page pDbPage->pgno // can be written to. The caller has already promised not to write to that // page. -func relocatePage(tls *libc.TLS, pBt uintptr, pDbPage uintptr, eType U8, iPtrPage Pgno, iFreePage Pgno, isCommit int32) int32 { /* sqlite3.c:69861:12: */ +func relocatePage(tls *libc.TLS, pBt uintptr, pDbPage uintptr, eType U8, iPtrPage Pgno, iFreePage Pgno, isCommit int32) int32 { /* sqlite3.c:69871:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -46886,7 +46896,7 @@ func relocatePage(tls *libc.TLS, pBt uintptr, pDbPage uintptr, eType U8, iPtrPag // var rc int32 at bp, 4 if iDbPage < Pgno(3) { - return Xsqlite3CorruptError(tls, 69878) + return Xsqlite3CorruptError(tls, 69888) } // Move page iDbPage from its current location to page number iFreePage @@ -46956,7 +46966,7 @@ func relocatePage(tls *libc.TLS, pBt uintptr, pDbPage uintptr, eType U8, iPtrPag // caller will keep calling incrVacuumStep() until it returns SQLITE_DONE // or an error. bCommit is passed true for an auto-vacuum-on-commit // operation, or false for an incremental vacuum. -func incrVacuumStep(tls *libc.TLS, pBt uintptr, nFin Pgno, iLastPg Pgno, bCommit int32) int32 { /* sqlite3.c:69955:12: */ +func incrVacuumStep(tls *libc.TLS, pBt uintptr, nFin Pgno, iLastPg Pgno, bCommit int32) int32 { /* sqlite3.c:69965:12: */ bp := tls.Alloc(44) defer tls.Free(44) @@ -46978,7 +46988,7 @@ func incrVacuumStep(tls *libc.TLS, pBt uintptr, nFin Pgno, iLastPg Pgno, bCommit return rc } if int32(*(*U8)(unsafe.Pointer(bp))) == PTRMAP_ROOTPAGE { - return Xsqlite3CorruptError(tls, 69976) + return Xsqlite3CorruptError(tls, 69986) } if int32(*(*U8)(unsafe.Pointer(bp))) == PTRMAP_FREEPAGE { @@ -47053,7 +47063,7 @@ func incrVacuumStep(tls *libc.TLS, pBt uintptr, nFin Pgno, iLastPg Pgno, bCommit // The database opened by the first argument is an auto-vacuum database // nOrig pages in size containing nFree free pages. Return the expected // size of the database in pages following an auto-vacuum operation. -func finalDbSize(tls *libc.TLS, pBt uintptr, nOrig Pgno, nFree Pgno) Pgno { /* sqlite3.c:70051:13: */ +func finalDbSize(tls *libc.TLS, pBt uintptr, nOrig Pgno, nFree Pgno) Pgno { /* sqlite3.c:70061:13: */ var nEntry int32 // Number of entries on one ptrmap page var nPtrmap Pgno // Number of PtrMap pages to be freed var nFin Pgno // Return value @@ -47077,7 +47087,7 @@ func finalDbSize(tls *libc.TLS, pBt uintptr, nOrig Pgno, nFree Pgno) Pgno { /* s // If the incremental vacuum is finished after this function has run, // SQLITE_DONE is returned. If it is not finished, but no error occurred, // SQLITE_OK is returned. Otherwise an SQLite error code. -func Xsqlite3BtreeIncrVacuum(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:70077:20: */ +func Xsqlite3BtreeIncrVacuum(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:70087:20: */ var rc int32 var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt @@ -47091,7 +47101,7 @@ func Xsqlite3BtreeIncrVacuum(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:7007 var nFin Pgno = finalDbSize(tls, pBt, nOrig, nFree) if nOrig < nFin || nFree >= nOrig { - rc = Xsqlite3CorruptError(tls, 70091) + rc = Xsqlite3CorruptError(tls, 70101) } else if nFree > Pgno(0) { rc = saveAllCursors(tls, pBt, uint32(0), uintptr(0)) if rc == SQLITE_OK { @@ -47112,7 +47122,7 @@ func Xsqlite3BtreeIncrVacuum(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:7007 // This routine is called prior to sqlite3PagerCommit when a transaction // is committed for an auto-vacuum database. -func autoVacuumCommit(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:70114:12: */ +func autoVacuumCommit(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:70124:12: */ var rc int32 = SQLITE_OK var pPager uintptr var pBt uintptr @@ -47135,7 +47145,7 @@ func autoVacuumCommit(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:70114:12: * // It is not possible to create a database for which the final page // is either a pointer-map page or the pending-byte page. If one // is encountered, this indicates corruption. - return Xsqlite3CorruptError(tls, 70142) + return Xsqlite3CorruptError(tls, 70152) } nFree = Xsqlite3Get4byte(tls, (*MemPage)(unsafe.Pointer((*BtShared)(unsafe.Pointer(pBt)).FpPage1)).FaData+36) @@ -47166,7 +47176,7 @@ func autoVacuumCommit(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:70114:12: * } nFin = finalDbSize(tls, pBt, nOrig, nVac) if nFin > nOrig { - return Xsqlite3CorruptError(tls, 70169) + return Xsqlite3CorruptError(tls, 70179) } if nFin < nOrig { rc = saveAllCursors(tls, pBt, uint32(0), uintptr(0)) @@ -47216,7 +47226,7 @@ func autoVacuumCommit(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:70114:12: * // // Once this is routine has returned, the only thing required to commit // the write-transaction for this database file is to delete the journal. -func Xsqlite3BtreeCommitPhaseOne(tls *libc.TLS, p uintptr, zSuperJrnl uintptr) int32 { /* sqlite3.c:70225:20: */ +func Xsqlite3BtreeCommitPhaseOne(tls *libc.TLS, p uintptr, zSuperJrnl uintptr) int32 { /* sqlite3.c:70235:20: */ var rc int32 = SQLITE_OK if int32((*Btree)(unsafe.Pointer(p)).FinTrans) == TRANS_WRITE { var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt @@ -47239,7 +47249,7 @@ func Xsqlite3BtreeCommitPhaseOne(tls *libc.TLS, p uintptr, zSuperJrnl uintptr) i // This function is called from both BtreeCommitPhaseTwo() and BtreeRollback() // at the conclusion of a transaction. -func btreeEndTransaction(tls *libc.TLS, p uintptr) { /* sqlite3.c:70252:13: */ +func btreeEndTransaction(tls *libc.TLS, p uintptr) { /* sqlite3.c:70262:13: */ var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt var db uintptr = (*Btree)(unsafe.Pointer(p)).Fdb @@ -47295,7 +47305,7 @@ func btreeEndTransaction(tls *libc.TLS, p uintptr) { /* sqlite3.c:70252:13: */ // // This will release the write lock on the database file. If there // are no active cursors, it also releases the read lock. -func Xsqlite3BtreeCommitPhaseTwo(tls *libc.TLS, p uintptr, bCleanup int32) int32 { /* sqlite3.c:70314:20: */ +func Xsqlite3BtreeCommitPhaseTwo(tls *libc.TLS, p uintptr, bCleanup int32) int32 { /* sqlite3.c:70324:20: */ if int32((*Btree)(unsafe.Pointer(p)).FinTrans) == TRANS_NONE { return SQLITE_OK @@ -47324,7 +47334,7 @@ func Xsqlite3BtreeCommitPhaseTwo(tls *libc.TLS, p uintptr, bCleanup int32) int32 } // Do both phases of a commit. -func Xsqlite3BtreeCommit(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:70346:20: */ +func Xsqlite3BtreeCommit(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:70356:20: */ var rc int32 Xsqlite3BtreeEnter(tls, p) rc = Xsqlite3BtreeCommitPhaseOne(tls, p, uintptr(0)) @@ -47359,7 +47369,7 @@ func Xsqlite3BtreeCommit(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:70346:20 // // SQLITE_OK is returned if successful, or if an error occurs while // saving a cursor position, an SQLite error code. -func Xsqlite3BtreeTripAllCursors(tls *libc.TLS, pBtree uintptr, errCode int32, writeOnly int32) int32 { /* sqlite3.c:70383:20: */ +func Xsqlite3BtreeTripAllCursors(tls *libc.TLS, pBtree uintptr, errCode int32, writeOnly int32) int32 { /* sqlite3.c:70393:20: */ var p uintptr var rc int32 = SQLITE_OK @@ -47388,7 +47398,7 @@ func Xsqlite3BtreeTripAllCursors(tls *libc.TLS, pBtree uintptr, errCode int32, w // Set the pBt->nPage field correctly, according to the current // state of the database. Assume pBt->pPage1 is valid. -func btreeSetNPage(tls *libc.TLS, pBt uintptr, pPage1 uintptr) { /* sqlite3.c:70415:13: */ +func btreeSetNPage(tls *libc.TLS, pBt uintptr, pPage1 uintptr) { /* sqlite3.c:70425:13: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -47410,7 +47420,7 @@ func btreeSetNPage(tls *libc.TLS, pBt uintptr, pPage1 uintptr) { /* sqlite3.c:70 // // This will release the write lock on the database file. If there // are no active cursors, it also releases the read lock. -func Xsqlite3BtreeRollback(tls *libc.TLS, p uintptr, tripCode int32, writeOnly int32) int32 { /* sqlite3.c:70434:20: */ +func Xsqlite3BtreeRollback(tls *libc.TLS, p uintptr, tripCode int32, writeOnly int32) int32 { /* sqlite3.c:70444:20: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -47476,7 +47486,7 @@ func Xsqlite3BtreeRollback(tls *libc.TLS, p uintptr, tripCode int32, writeOnly i // are no active savepoints and no other statement-transactions open, // iStatement is 1. This anonymous savepoint can be released or rolled back // using the sqlite3BtreeSavepoint() function. -func Xsqlite3BtreeBeginStmt(tls *libc.TLS, p uintptr, iStatement int32) int32 { /* sqlite3.c:70499:20: */ +func Xsqlite3BtreeBeginStmt(tls *libc.TLS, p uintptr, iStatement int32) int32 { /* sqlite3.c:70509:20: */ var rc int32 var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt Xsqlite3BtreeEnter(tls, p) @@ -47500,7 +47510,7 @@ func Xsqlite3BtreeBeginStmt(tls *libc.TLS, p uintptr, iStatement int32) int32 { // contents of the entire transaction are rolled back. This is different // from a normal transaction rollback, as no locks are released and the // transaction remains open. -func Xsqlite3BtreeSavepoint(tls *libc.TLS, p uintptr, op int32, iSavepoint int32) int32 { /* sqlite3.c:70530:20: */ +func Xsqlite3BtreeSavepoint(tls *libc.TLS, p uintptr, op int32, iSavepoint int32) int32 { /* sqlite3.c:70540:20: */ var rc int32 = SQLITE_OK if p != 0 && int32((*Btree)(unsafe.Pointer(p)).FinTrans) == TRANS_WRITE { var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt @@ -47568,7 +47578,7 @@ func Xsqlite3BtreeSavepoint(tls *libc.TLS, p uintptr, op int32, iSavepoint int32 // // It is assumed that the sqlite3BtreeCursorZero() has been called // on pCur to initialize the memory space prior to invoking this routine. -func btreeCursor(tls *libc.TLS, p uintptr, iTable Pgno, wrFlag int32, pKeyInfo uintptr, pCur uintptr) int32 { /* sqlite3.c:70601:12: */ +func btreeCursor(tls *libc.TLS, p uintptr, iTable Pgno, wrFlag int32, pKeyInfo uintptr, pCur uintptr) int32 { /* sqlite3.c:70611:12: */ var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt // Shared b-tree handle var pX uintptr // Looping over other all cursors @@ -47581,7 +47591,7 @@ func btreeCursor(tls *libc.TLS, p uintptr, iTable Pgno, wrFlag int32, pKeyInfo u if iTable <= Pgno(1) { if iTable < Pgno(1) { - return Xsqlite3CorruptError(tls, 70633) + return Xsqlite3CorruptError(tls, 70643) } else if btreePagecount(tls, pBt) == Pgno(0) { iTable = Pgno(0) @@ -47619,7 +47629,7 @@ func btreeCursor(tls *libc.TLS, p uintptr, iTable Pgno, wrFlag int32, pKeyInfo u return SQLITE_OK } -func btreeCursorWithLock(tls *libc.TLS, p uintptr, iTable Pgno, wrFlag int32, pKeyInfo uintptr, pCur uintptr) int32 { /* sqlite3.c:70668:12: */ +func btreeCursorWithLock(tls *libc.TLS, p uintptr, iTable Pgno, wrFlag int32, pKeyInfo uintptr, pCur uintptr) int32 { /* sqlite3.c:70678:12: */ var rc int32 Xsqlite3BtreeEnter(tls, p) rc = btreeCursor(tls, p, iTable, wrFlag, pKeyInfo, pCur) @@ -47627,7 +47637,7 @@ func btreeCursorWithLock(tls *libc.TLS, p uintptr, iTable Pgno, wrFlag int32, pK return rc } -func Xsqlite3BtreeCursor(tls *libc.TLS, p uintptr, iTable Pgno, wrFlag int32, pKeyInfo uintptr, pCur uintptr) int32 { /* sqlite3.c:70681:20: */ +func Xsqlite3BtreeCursor(tls *libc.TLS, p uintptr, iTable Pgno, wrFlag int32, pKeyInfo uintptr, pCur uintptr) int32 { /* sqlite3.c:70691:20: */ if (*Btree)(unsafe.Pointer(p)).Fsharable != 0 { return btreeCursorWithLock(tls, p, iTable, wrFlag, pKeyInfo, pCur) } else { @@ -47642,7 +47652,7 @@ func Xsqlite3BtreeCursor(tls *libc.TLS, p uintptr, iTable Pgno, wrFlag int32, pK // sufficient storage to hold a cursor. The BtCursor object is opaque // to users so they cannot do the sizeof() themselves - they must call // this routine. -func Xsqlite3BtreeCursorSize(tls *libc.TLS) int32 { /* sqlite3.c:70703:20: */ +func Xsqlite3BtreeCursorSize(tls *libc.TLS) int32 { /* sqlite3.c:70713:20: */ return int32((uint64(unsafe.Sizeof(BtCursor{})) + uint64(7)) & libc.Uint64FromInt32(libc.CplInt32(7))) } @@ -47652,13 +47662,13 @@ func Xsqlite3BtreeCursorSize(tls *libc.TLS) int32 { /* sqlite3.c:70703:20: */ // to zero. But it turns out that the apPage[] and aiIdx[] arrays // do not need to be zeroed and they are large, so we can save a lot // of run-time by skipping the initialization of those elements. -func Xsqlite3BtreeCursorZero(tls *libc.TLS, p uintptr) { /* sqlite3.c:70715:21: */ +func Xsqlite3BtreeCursorZero(tls *libc.TLS, p uintptr) { /* sqlite3.c:70725:21: */ libc.Xmemset(tls, p, 0, uint64(uintptr(0)+32)) } // Close a cursor. The read lock on the database file is released // when the last cursor is closed. -func Xsqlite3BtreeCloseCursor(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:70723:20: */ +func Xsqlite3BtreeCloseCursor(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:70733:20: */ var pBtree uintptr = (*BtCursor)(unsafe.Pointer(pCur)).FpBtree if pBtree != 0 { var pBt uintptr = (*BtCursor)(unsafe.Pointer(pCur)).FpBt @@ -47699,7 +47709,7 @@ func Xsqlite3BtreeCloseCursor(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c: // // BtCursor.info is a cache of the information in the current cell. // Using this cache reduces the number of calls to btreeParseCell(). -func getCellInfo(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:70784:29: */ +func getCellInfo(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:70794:29: */ if int32((*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnSize) == 0 { *(*U8)(unsafe.Pointer(pCur + 1)) |= U8(BTCF_ValidNKey) btreeParseCell(tls, (*BtCursor)(unsafe.Pointer(pCur)).FpPage, int32((*BtCursor)(unsafe.Pointer(pCur)).Fix), pCur+48) @@ -47708,7 +47718,7 @@ func getCellInfo(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:70784:29: */ } } -func Xsqlite3BtreeCursorIsValidNN(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:70803:20: */ +func Xsqlite3BtreeCursorIsValidNN(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:70813:20: */ return libc.Bool32(int32((*BtCursor)(unsafe.Pointer(pCur)).FeState) == CURSOR_VALID) } @@ -47717,26 +47727,26 @@ func Xsqlite3BtreeCursorIsValidNN(tls *libc.TLS, pCur uintptr) int32 { /* sqlite // This routine is only valid for a cursor that is pointing into a // ordinary table btree. If the cursor points to an index btree or // is invalid, the result of this routine is undefined. -func Xsqlite3BtreeIntegerKey(tls *libc.TLS, pCur uintptr) I64 { /* sqlite3.c:70814:20: */ +func Xsqlite3BtreeIntegerKey(tls *libc.TLS, pCur uintptr) I64 { /* sqlite3.c:70824:20: */ getCellInfo(tls, pCur) return (*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnKey } // Pin or unpin a cursor. -func Xsqlite3BtreeCursorPin(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:70825:21: */ +func Xsqlite3BtreeCursorPin(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:70835:21: */ *(*U8)(unsafe.Pointer(pCur + 1)) |= U8(BTCF_Pinned) } -func Xsqlite3BtreeCursorUnpin(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:70829:21: */ +func Xsqlite3BtreeCursorUnpin(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:70839:21: */ *(*U8)(unsafe.Pointer(pCur + 1)) &= libc.Uint8FromInt32(libc.CplInt32(BTCF_Pinned)) } // Return the offset into the database file for the start of the // payload to which the cursor is pointing. -func Xsqlite3BtreeOffset(tls *libc.TLS, pCur uintptr) I64 { /* sqlite3.c:70839:20: */ +func Xsqlite3BtreeOffset(tls *libc.TLS, pCur uintptr) I64 { /* sqlite3.c:70849:20: */ getCellInfo(tls, pCur) return I64((*BtShared)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pCur)).FpBt)).FpageSize)*(I64((*MemPage)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pCur)).FpPage)).Fpgno)-int64(1)) + I64((int64((*BtCursor)(unsafe.Pointer(pCur)).Finfo.FpPayload)-int64((*MemPage)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pCur)).FpPage)).FaData))/1) @@ -47749,7 +47759,7 @@ func Xsqlite3BtreeOffset(tls *libc.TLS, pCur uintptr) I64 { /* sqlite3.c:70839:2 // The caller must guarantee that the cursor is pointing to a non-NULL // valid entry. In other words, the calling procedure must guarantee // that the cursor has Cursor.eState==CURSOR_VALID. -func Xsqlite3BtreePayloadSize(tls *libc.TLS, pCur uintptr) U32 { /* sqlite3.c:70857:20: */ +func Xsqlite3BtreePayloadSize(tls *libc.TLS, pCur uintptr) U32 { /* sqlite3.c:70867:20: */ getCellInfo(tls, pCur) return (*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnPayload @@ -47766,7 +47776,7 @@ func Xsqlite3BtreePayloadSize(tls *libc.TLS, pCur uintptr) U32 { /* sqlite3.c:70 // // The current implementation merely returns the size of the underlying // database file. -func Xsqlite3BtreeMaxRecordSize(tls *libc.TLS, pCur uintptr) Sqlite3_int64 { /* sqlite3.c:70877:30: */ +func Xsqlite3BtreeMaxRecordSize(tls *libc.TLS, pCur uintptr) Sqlite3_int64 { /* sqlite3.c:70887:30: */ return Sqlite3_int64((*BtShared)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pCur)).FpBt)).FpageSize) * Sqlite3_int64((*BtShared)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pCur)).FpBt)).FnPage) } @@ -47788,7 +47798,7 @@ func Xsqlite3BtreeMaxRecordSize(tls *libc.TLS, pCur uintptr) Sqlite3_int64 { /* // on *ppPage to free the reference. In no reference was obtained (because // the pointer-map was used to obtain the value for *pPgnoNext), then // *ppPage is set to zero. -func getOverflowPage(tls *libc.TLS, pBt uintptr, ovfl Pgno, ppPage uintptr, pPgnoNext uintptr) int32 { /* sqlite3.c:70902:12: */ +func getOverflowPage(tls *libc.TLS, pBt uintptr, ovfl Pgno, ppPage uintptr, pPgnoNext uintptr) int32 { /* sqlite3.c:70912:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -47856,7 +47866,7 @@ func getOverflowPage(tls *libc.TLS, pBt uintptr, ovfl Pgno, ppPage uintptr, pPgn // of data are copied from the buffer pBuf to pPayload. // // SQLITE_OK is returned on success, otherwise an error code. -func copyPayload(tls *libc.TLS, pPayload uintptr, pBuf uintptr, nByte int32, eOp int32, pDbPage uintptr) int32 { /* sqlite3.c:70970:12: */ +func copyPayload(tls *libc.TLS, pPayload uintptr, pBuf uintptr, nByte int32, eOp int32, pDbPage uintptr) int32 { /* sqlite3.c:70980:12: */ if eOp != 0 { // Copy data from buffer to page (a write operation) var rc int32 = Xsqlite3PagerWrite(tls, pDbPage) @@ -47898,7 +47908,7 @@ func copyPayload(tls *libc.TLS, pPayload uintptr, pBuf uintptr, nByte int32, eOp // * An incremental vacuum, // * A commit in auto_vacuum="full" mode, // * Creating a table (may require moving an overflow page). -func accessPayload(tls *libc.TLS, pCur uintptr, offset U32, amt U32, pBuf uintptr, eOp int32) int32 { /* sqlite3.c:71020:12: */ +func accessPayload(tls *libc.TLS, pCur uintptr, offset U32, amt U32, pBuf uintptr, eOp int32) int32 { /* sqlite3.c:71030:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -47909,7 +47919,7 @@ func accessPayload(tls *libc.TLS, pCur uintptr, offset U32, amt U32, pBuf uintpt var pBt uintptr = (*BtCursor)(unsafe.Pointer(pCur)).FpBt // Btree this cursor belongs to if int32((*BtCursor)(unsafe.Pointer(pCur)).Fix) >= int32((*MemPage)(unsafe.Pointer(pPage)).FnCell) { - return Xsqlite3CorruptError(tls, 71040) + return Xsqlite3CorruptError(tls, 71050) } getCellInfo(tls, pCur) @@ -47920,7 +47930,7 @@ func accessPayload(tls *libc.TLS, pCur uintptr, offset U32, amt U32, pBuf uintpt // conditional above is really: // &aPayload[pCur->info.nLocal] > &pPage->aData[pBt->usableSize] // but is recast into its current form to avoid integer overflow problems - return Xsqlite3CorruptError(tls, 71055) + return Xsqlite3CorruptError(tls, 71065) } // Check if data must be read/written to/from the btree page itself. @@ -47977,7 +47987,7 @@ func accessPayload(tls *libc.TLS, pCur uintptr, offset U32, amt U32, pBuf uintpt for *(*Pgno)(unsafe.Pointer(bp)) != 0 { // If required, populate the overflow page-list cache. if *(*Pgno)(unsafe.Pointer(bp)) > (*BtShared)(unsafe.Pointer(pBt)).FnPage { - return Xsqlite3CorruptError(tls, 71117) + return Xsqlite3CorruptError(tls, 71127) } *(*Pgno)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pCur)).FaOverflow + uintptr(iIdx)*4)) = *(*Pgno)(unsafe.Pointer(bp /* nextPage */)) @@ -48037,7 +48047,7 @@ func accessPayload(tls *libc.TLS, pCur uintptr, offset U32, amt U32, pBuf uintpt if rc == SQLITE_OK && amt > U32(0) { // Overflow chain ends prematurely - return Xsqlite3CorruptError(tls, 71202) + return Xsqlite3CorruptError(tls, 71212) } return rc } @@ -48057,7 +48067,7 @@ func accessPayload(tls *libc.TLS, pCur uintptr, offset U32, amt U32, pBuf uintpt // Return SQLITE_OK on success or an error code if anything goes // wrong. An error is returned if "offset+amt" is larger than // the available payload. -func Xsqlite3BtreePayload(tls *libc.TLS, pCur uintptr, offset U32, amt U32, pBuf uintptr) int32 { /* sqlite3.c:71224:20: */ +func Xsqlite3BtreePayload(tls *libc.TLS, pCur uintptr, offset U32, amt U32, pBuf uintptr) int32 { /* sqlite3.c:71234:20: */ return accessPayload(tls, pCur, offset, amt, pBuf, 0) } @@ -48065,7 +48075,7 @@ func Xsqlite3BtreePayload(tls *libc.TLS, pCur uintptr, offset U32, amt U32, pBuf // This variant of sqlite3BtreePayload() works even if the cursor has not // in the CURSOR_VALID state. It is only used by the sqlite3_blob_read() // interface. -func accessPayloadChecked(tls *libc.TLS, pCur uintptr, offset U32, amt U32, pBuf uintptr) int32 { /* sqlite3.c:71237:28: */ +func accessPayloadChecked(tls *libc.TLS, pCur uintptr, offset U32, amt U32, pBuf uintptr) int32 { /* sqlite3.c:71247:28: */ var rc int32 if int32((*BtCursor)(unsafe.Pointer(pCur)).FeState) == CURSOR_INVALID { return SQLITE_ABORT @@ -48078,7 +48088,7 @@ func accessPayloadChecked(tls *libc.TLS, pCur uintptr, offset U32, amt U32, pBuf return accessPayload(tls, pCur, offset, amt, pBuf, 0) } -func Xsqlite3BtreePayloadChecked(tls *libc.TLS, pCur uintptr, offset U32, amt U32, pBuf uintptr) int32 { /* sqlite3.c:71251:20: */ +func Xsqlite3BtreePayloadChecked(tls *libc.TLS, pCur uintptr, offset U32, amt U32, pBuf uintptr) int32 { /* sqlite3.c:71261:20: */ if int32((*BtCursor)(unsafe.Pointer(pCur)).FeState) == CURSOR_VALID { return accessPayload(tls, pCur, offset, amt, pBuf, 0) @@ -48105,7 +48115,7 @@ func Xsqlite3BtreePayloadChecked(tls *libc.TLS, pCur uintptr, offset U32, amt U3 // The pointer returned by this routine looks directly into the cached // page of the database. The data might change or move the next time // any btree routine is called. -func fetchPayload(tls *libc.TLS, pCur uintptr, pAmt uintptr) uintptr { /* sqlite3.c:71280:19: */ +func fetchPayload(tls *libc.TLS, pCur uintptr, pAmt uintptr) uintptr { /* sqlite3.c:71290:19: */ var amt int32 amt = int32((*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnLocal) @@ -48136,7 +48146,7 @@ func fetchPayload(tls *libc.TLS, pCur uintptr, pAmt uintptr) uintptr { /* sqlite // // These routines is used to get quick access to key and data // in the common case where no overflow pages are used. -func Xsqlite3BtreePayloadFetch(tls *libc.TLS, pCur uintptr, pAmt uintptr) uintptr { /* sqlite3.c:71319:27: */ +func Xsqlite3BtreePayloadFetch(tls *libc.TLS, pCur uintptr, pAmt uintptr) uintptr { /* sqlite3.c:71329:27: */ return fetchPayload(tls, pCur, pAmt) } @@ -48147,11 +48157,11 @@ func Xsqlite3BtreePayloadFetch(tls *libc.TLS, pCur uintptr, pAmt uintptr) uintpt // the new child page does not match the flags field of the parent (i.e. // if an intkey page appears to be the parent of a non-intkey page, or // vice-versa). -func moveToChild(tls *libc.TLS, pCur uintptr, newPgno U32) int32 { /* sqlite3.c:71333:12: */ +func moveToChild(tls *libc.TLS, pCur uintptr, newPgno U32) int32 { /* sqlite3.c:71343:12: */ var pBt uintptr = (*BtCursor)(unsafe.Pointer(pCur)).FpBt if int32((*BtCursor)(unsafe.Pointer(pCur)).FiPage) >= BTCURSOR_MAX_DEPTH-1 { - return Xsqlite3CorruptError(tls, 71341) + return Xsqlite3CorruptError(tls, 71351) } (*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnSize = U16(0) *(*U8)(unsafe.Pointer(pCur + 1)) &= libc.Uint8FromInt32(libc.CplInt32(BTCF_ValidNKey | BTCF_ValidOvfl)) @@ -48168,7 +48178,7 @@ func moveToChild(tls *libc.TLS, pCur uintptr, newPgno U32) int32 { /* sqlite3.c: // to the page we are coming from. If we are coming from the // right-most child page then pCur->idx is set to one more than // the largest cell index. -func moveToParent(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:71382:13: */ +func moveToParent(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:71392:13: */ var pLeaf uintptr (*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnSize = U16(0) @@ -48198,7 +48208,7 @@ func moveToParent(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:71382:13: */ // indicating a table b-tree, or if the caller did specify a KeyInfo // structure the flags byte is set to 0x02 or 0x0A, indicating an index // b-tree). -func moveToRoot(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:71423:12: */ +func moveToRoot(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:71433:12: */ var pRoot uintptr var rc int32 var subpage Pgno @@ -48277,7 +48287,7 @@ __2: if !(int32((*MemPage)(unsafe.Pointer(pRoot)).FisInit) == 0 || libc.Bool32((*BtCursor)(unsafe.Pointer(pCur)).FpKeyInfo == uintptr(0)) != int32((*MemPage)(unsafe.Pointer(pRoot)).FintKey)) { goto __11 } - return Xsqlite3CorruptError(tls, 71479) + return Xsqlite3CorruptError(tls, 71489) __11: ; @@ -48298,7 +48308,7 @@ __12: if !((*MemPage)(unsafe.Pointer(pRoot)).Fpgno != Pgno(1)) { goto __16 } - return Xsqlite3CorruptError(tls, 71491) + return Xsqlite3CorruptError(tls, 71501) __16: ; subpage = Xsqlite3Get4byte(tls, (*MemPage)(unsafe.Pointer(pRoot)).FaData+uintptr(int32((*MemPage)(unsafe.Pointer(pRoot)).FhdrOffset)+8)) @@ -48320,7 +48330,7 @@ __13: // // The left-most leaf is the one with the smallest key - the first // in ascending order. -func moveToLeftmost(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:71509:12: */ +func moveToLeftmost(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:71519:12: */ var pgno Pgno var rc int32 = SQLITE_OK var pPage uintptr @@ -48341,7 +48351,7 @@ func moveToLeftmost(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:71509:12: // // The right-most entry is the one with the largest key - the last // key in ascending order. -func moveToRightmost(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:71534:12: */ +func moveToRightmost(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:71544:12: */ var pgno Pgno var rc int32 = SQLITE_OK var pPage uintptr = uintptr(0) @@ -48362,7 +48372,7 @@ func moveToRightmost(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:71534:12: // Move the cursor to the first entry in the table. Return SQLITE_OK // on success. Set *pRes to 0 if the cursor actually points to something // or set *pRes to 1 if the table is empty. -func Xsqlite3BtreeFirst(tls *libc.TLS, pCur uintptr, pRes uintptr) int32 { /* sqlite3.c:71557:20: */ +func Xsqlite3BtreeFirst(tls *libc.TLS, pCur uintptr, pRes uintptr) int32 { /* sqlite3.c:71567:20: */ var rc int32 rc = moveToRoot(tls, pCur) @@ -48381,7 +48391,7 @@ func Xsqlite3BtreeFirst(tls *libc.TLS, pCur uintptr, pRes uintptr) int32 { /* sq // Move the cursor to the last entry in the table. Return SQLITE_OK // on success. Set *pRes to 0 if the cursor actually points to something // or set *pRes to 1 if the table is empty. -func Xsqlite3BtreeLast(tls *libc.TLS, pCur uintptr, pRes uintptr) int32 { /* sqlite3.c:71579:20: */ +func Xsqlite3BtreeLast(tls *libc.TLS, pCur uintptr, pRes uintptr) int32 { /* sqlite3.c:71589:20: */ var rc int32 // If the cursor already points to the last entry, this is a no-op. @@ -48430,7 +48440,7 @@ func Xsqlite3BtreeLast(tls *libc.TLS, pCur uintptr, pRes uintptr) int32 { /* sql // // *pRes>0 The cursor is left pointing at an entry that // is larger than intKey. -func Xsqlite3BtreeTableMoveto(tls *libc.TLS, pCur uintptr, intKey I64, biasRight int32, pRes uintptr) int32 { /* sqlite3.c:71644:20: */ +func Xsqlite3BtreeTableMoveto(tls *libc.TLS, pCur uintptr, intKey I64, biasRight int32, pRes uintptr) int32 { /* sqlite3.c:71654:20: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -48545,7 +48555,7 @@ __19: if !(pCell >= (*MemPage)(unsafe.Pointer(pPage)).FaDataEnd) { goto __21 } - return Xsqlite3CorruptError(tls, 71733) + return Xsqlite3CorruptError(tls, 71743) __21: ; goto __19 @@ -48674,7 +48684,7 @@ moveto_table_finish: // // The pIdxKey->eqSeen field is set to 1 if there // exists an entry in the table that exactly matches pIdxKey. -func Xsqlite3BtreeIndexMoveto(tls *libc.TLS, pCur uintptr, pIdxKey uintptr, pRes uintptr) int32 { /* sqlite3.c:71812:20: */ +func Xsqlite3BtreeIndexMoveto(tls *libc.TLS, pCur uintptr, pIdxKey uintptr, pRes uintptr) int32 { /* sqlite3.c:71822:20: */ var rc int32 var xRecordCompare RecordCompare // The record flows over onto one or more overflow pages. In @@ -48778,7 +48788,7 @@ __11: if !(nCell < 2 || U32(nCell)/(*BtShared)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pCur)).FpBt)).FusableSize > (*BtShared)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pCur)).FpBt)).FnPage) { goto __13 } - rc = Xsqlite3CorruptError(tls, 71914) + rc = Xsqlite3CorruptError(tls, 71924) goto moveto_index_finish __13: ; @@ -48827,7 +48837,7 @@ __18: if !((*UnpackedRecord)(unsafe.Pointer(pIdxKey)).FerrCode != 0) { goto __20 } - rc = Xsqlite3CorruptError(tls, 71946) + rc = Xsqlite3CorruptError(tls, 71956) __20: ; goto moveto_index_finish @@ -48894,7 +48904,7 @@ moveto_index_finish: // TRUE will be returned after a call to sqlite3BtreeNext() moves // past the last entry in the table or sqlite3BtreePrev() moves past // the first entry. TRUE is also returned if the table is empty. -func Xsqlite3BtreeEof(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:71985:20: */ +func Xsqlite3BtreeEof(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:71995:20: */ // TODO: What if the cursor is in CURSOR_REQUIRESEEK but all table entries // have been deleted? This API will need to change to return an error code // as well as the boolean result value. @@ -48904,7 +48914,7 @@ func Xsqlite3BtreeEof(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:71985:20 // Return an estimate for the number of rows in the table that pCur is // pointing to. Return a negative number if no estimate is currently // available. -func Xsqlite3BtreeRowCountEst(tls *libc.TLS, pCur uintptr) I64 { /* sqlite3.c:71998:20: */ +func Xsqlite3BtreeRowCountEst(tls *libc.TLS, pCur uintptr) I64 { /* sqlite3.c:72008:20: */ var n I64 var i U8 @@ -48943,7 +48953,7 @@ func Xsqlite3BtreeRowCountEst(tls *libc.TLS, pCur uintptr) I64 { /* sqlite3.c:71 // skipped if the SQL index had been a unique index. The F argument // is a hint to the implement. SQLite btree implementation does not use // this hint, but COMDB2 does. -func btreeNext(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:72038:28: */ +func btreeNext(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:72048:28: */ var rc int32 var idx int32 var pPage uintptr @@ -48980,7 +48990,7 @@ func btreeNext(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:72038:28: */ // has pages in common with the table being queried. See TH3 // module cov1/btree78.test testcase 220 (2018-06-08) for an // example. - return Xsqlite3CorruptError(tls, 72069) + return Xsqlite3CorruptError(tls, 72079) } if idx >= int32((*MemPage)(unsafe.Pointer(pPage)).FnCell) { @@ -49013,7 +49023,7 @@ func btreeNext(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:72038:28: */ return int32(0) } -func Xsqlite3BtreeNext(tls *libc.TLS, pCur uintptr, flags int32) int32 { /* sqlite3.c:72098:20: */ +func Xsqlite3BtreeNext(tls *libc.TLS, pCur uintptr, flags int32) int32 { /* sqlite3.c:72108:20: */ var pPage uintptr _ = flags // Used in COMDB2 but not native SQLite @@ -49053,7 +49063,7 @@ func Xsqlite3BtreeNext(tls *libc.TLS, pCur uintptr, flags int32) int32 { /* sqli // skipped if the SQL index had been a unique index. The F argument is a // hint to the implement. The native SQLite btree implementation does not // use this hint, but COMDB2 does. -func btreePrevious(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:72138:28: */ +func btreePrevious(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:72148:28: */ var rc int32 var pPage uintptr @@ -49107,7 +49117,7 @@ func btreePrevious(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:72138:28: * return rc } -func Xsqlite3BtreePrevious(tls *libc.TLS, pCur uintptr, flags int32) int32 { /* sqlite3.c:72187:20: */ +func Xsqlite3BtreePrevious(tls *libc.TLS, pCur uintptr, flags int32) int32 { /* sqlite3.c:72197:20: */ _ = flags // Used in COMDB2 but not native SQLite *(*U8)(unsafe.Pointer(pCur + 1)) &= libc.Uint8FromInt32(libc.CplInt32(BTCF_AtLast | BTCF_ValidOvfl | BTCF_ValidNKey)) @@ -49141,7 +49151,7 @@ func Xsqlite3BtreePrevious(tls *libc.TLS, pCur uintptr, flags int32) int32 { /* // eMode is BTALLOC_LT then the page returned will be less than or equal // to nearby if any such page exists. If eMode is BTALLOC_ANY then there // are no restrictions on which page is returned. -func allocateBtreePage(tls *libc.TLS, pBt uintptr, ppPage uintptr, pPgno uintptr, nearby Pgno, eMode U8) int32 { /* sqlite3.c:72225:12: */ +func allocateBtreePage(tls *libc.TLS, pBt uintptr, ppPage uintptr, pPgno uintptr, nearby Pgno, eMode U8) int32 { /* sqlite3.c:72235:12: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -49208,7 +49218,7 @@ func allocateBtreePage(tls *libc.TLS, pBt uintptr, ppPage uintptr, pPgno uintptr if !(n >= mxPage) { goto __1 } - return Xsqlite3CorruptError(tls, 72249) + return Xsqlite3CorruptError(tls, 72259) __1: ; if !(n > U32(0)) { @@ -49289,7 +49299,7 @@ __15: if !(iTrunk > mxPage || libc.PostIncUint32(&nSearch, 1) > n) { goto __16 } - rc = Xsqlite3CorruptError(tls, 72305) + rc = Xsqlite3CorruptError(tls, 72315) goto __17 __16: rc = btreeGetUnusedPage(tls, pBt, iTrunk, bp+8, 0) @@ -49331,7 +49341,7 @@ __19: goto __22 } // Value of k is out of range. Database corruption - rc = Xsqlite3CorruptError(tls, 72334) + rc = Xsqlite3CorruptError(tls, 72344) goto end_allocate_page goto __23 __22: @@ -49376,7 +49386,7 @@ __27: if !(iNewTrunk > mxPage) { goto __32 } - rc = Xsqlite3CorruptError(tls, 72368) + rc = Xsqlite3CorruptError(tls, 72378) goto end_allocate_page __32: ; @@ -49490,7 +49500,7 @@ __40: if !(iPage > mxPage || iPage < Pgno(2)) { goto __51 } - rc = Xsqlite3CorruptError(tls, 72433) + rc = Xsqlite3CorruptError(tls, 72443) goto end_allocate_page __51: ; @@ -49665,7 +49675,7 @@ end_allocate_page: // // If a pointer to a MemPage object is passed as the second argument, // its reference count is not altered by this function. -func freePage2(tls *libc.TLS, pBt uintptr, pMemPage uintptr, iPage Pgno) int32 { /* sqlite3.c:72547:12: */ +func freePage2(tls *libc.TLS, pBt uintptr, pMemPage uintptr, iPage Pgno) int32 { /* sqlite3.c:72557:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -49686,7 +49696,7 @@ func freePage2(tls *libc.TLS, pBt uintptr, pMemPage uintptr, iPage Pgno) int32 { if !(iPage < Pgno(2) || iPage > (*BtShared)(unsafe.Pointer(pBt)).FnPage) { goto __1 } - return Xsqlite3CorruptError(tls, 72560) + return Xsqlite3CorruptError(tls, 72570) __1: ; if !(pMemPage != 0) { @@ -49756,7 +49766,7 @@ __7: if !(iTrunk > btreePagecount(tls, pBt)) { goto __10 } - *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) = Xsqlite3CorruptError(tls, 72607) + *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) = Xsqlite3CorruptError(tls, 72617) goto freepage_out __10: ; @@ -49773,7 +49783,7 @@ __11: if !(nLeaf > (*BtShared)(unsafe.Pointer(pBt)).FusableSize/U32(4)-U32(2)) { goto __12 } - *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) = Xsqlite3CorruptError(tls, 72618) + *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) = Xsqlite3CorruptError(tls, 72628) goto freepage_out __12: ; @@ -49854,14 +49864,14 @@ __18: return *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) } -func freePage(tls *libc.TLS, pPage uintptr, pRC uintptr) { /* sqlite3.c:72681:13: */ +func freePage(tls *libc.TLS, pPage uintptr, pRC uintptr) { /* sqlite3.c:72691:13: */ if *(*int32)(unsafe.Pointer(pRC)) == SQLITE_OK { *(*int32)(unsafe.Pointer(pRC)) = freePage2(tls, (*MemPage)(unsafe.Pointer(pPage)).FpBt, pPage, (*MemPage)(unsafe.Pointer(pPage)).Fpgno) } } // Free the overflow pages associated with the given Cell. -func clearCellOverflow(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintptr) int32 { /* sqlite3.c:72690:28: */ +func clearCellOverflow(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintptr) int32 { /* sqlite3.c:72700:28: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -49873,7 +49883,7 @@ func clearCellOverflow(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintpt if pCell+uintptr((*CellInfo)(unsafe.Pointer(pInfo)).FnSize) > (*MemPage)(unsafe.Pointer(pPage)).FaDataEnd { // Cell extends past end of page - return Xsqlite3CorruptError(tls, 72707) + return Xsqlite3CorruptError(tls, 72717) } ovflPgno = Xsqlite3Get4byte(tls, pCell+uintptr((*CellInfo)(unsafe.Pointer(pInfo)).FnSize)-uintptr(4)) pBt = (*MemPage)(unsafe.Pointer(pPage)).FpBt @@ -49888,7 +49898,7 @@ func clearCellOverflow(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintpt // 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 Xsqlite3CorruptError(tls, 72724) + return Xsqlite3CorruptError(tls, 72734) } if nOvfl != 0 { rc = getOverflowPage(tls, pBt, ovflPgno, bp, bp+8) @@ -49908,7 +49918,7 @@ func clearCellOverflow(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintpt // enabled. If this 'overflow' page happens to be a page that the // caller is iterating through or using in some other way, this // can be problematic. - rc = Xsqlite3CorruptError(tls, 72744) + rc = Xsqlite3CorruptError(tls, 72754) } else { rc = freePage2(tls, pBt, *(*uintptr)(unsafe.Pointer(bp /* pOvfl */)), ovflPgno) } @@ -49940,7 +49950,7 @@ func clearCellOverflow(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintpt // area. pCell might point to some temporary storage. The cell will // be constructed in this temporary area then copied into pPage->aData // later. -func fillInCell(tls *libc.TLS, pPage uintptr, pCell uintptr, pX uintptr, pnSize uintptr) int32 { /* sqlite3.c:72785:12: */ +func fillInCell(tls *libc.TLS, pPage uintptr, pCell uintptr, pX uintptr, pnSize uintptr) int32 { /* sqlite3.c:72795:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -50122,7 +50132,7 @@ func fillInCell(tls *libc.TLS, pPage uintptr, pCell uintptr, pX uintptr, pnSize // removes the reference to the cell from pPage. // // "sz" must be the number of bytes in the cell. -func dropCell(tls *libc.TLS, pPage uintptr, idx int32, sz int32, pRC uintptr) { /* sqlite3.c:72975:13: */ +func dropCell(tls *libc.TLS, pPage uintptr, idx int32, sz int32, pRC uintptr) { /* sqlite3.c:72985:13: */ var pc U32 // Offset to cell content of cell being deleted var data uintptr // pPage->aData var ptr uintptr // Used to move bytes around within data[] @@ -50140,7 +50150,7 @@ func dropCell(tls *libc.TLS, pPage uintptr, idx int32, sz int32, pRC uintptr) { hdr = int32((*MemPage)(unsafe.Pointer(pPage)).FhdrOffset) if pc+U32(sz) > (*BtShared)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize { - *(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 73003) + *(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 73013) return } rc = freeSpace(tls, pPage, uint16(pc), uint16(sz)) @@ -50176,7 +50186,7 @@ func dropCell(tls *libc.TLS, pPage uintptr, idx int32, sz int32, pRC uintptr) { // pPage->nOverflow is incremented. // // *pRC must be SQLITE_OK when this routine is called. -func insertCell(tls *libc.TLS, pPage uintptr, i int32, pCell uintptr, sz int32, pTemp uintptr, iChild Pgno, pRC uintptr) { /* sqlite3.c:73039:13: */ +func insertCell(tls *libc.TLS, pPage uintptr, i int32, pCell uintptr, sz int32, pTemp uintptr, iChild Pgno, pRC uintptr) { /* sqlite3.c:73049:13: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -50337,7 +50347,7 @@ type CellArray1 = struct { FszCell uintptr FapEnd [6]uintptr FixNx [6]int32 -} /* sqlite3.c:73214:9 */ +} /* sqlite3.c:73224:9 */ // The following parameters determine how many adjacent pages get involved // in a balancing operation. NN is the number of neighbors on either side @@ -50414,11 +50424,11 @@ type CellArray1 = struct { // cases, ixNx[] entries with higher indexes, and the corresponding apEnd[] // entries, shift down. The end result is that each ixNx[] entry should // be larger than the previous -type CellArray = CellArray1 /* sqlite3.c:73214:26 */ +type CellArray = CellArray1 /* sqlite3.c:73224:26 */ // Make sure the cell sizes at idx, idx+1, ..., idx+N-1 have been // computed. -func populateCellCache(tls *libc.TLS, p uintptr, idx int32, N int32) { /* sqlite3.c:73228:13: */ +func populateCellCache(tls *libc.TLS, p uintptr, idx int32, N int32) { /* sqlite3.c:73238:13: */ for N > 0 { @@ -50435,7 +50445,7 @@ func populateCellCache(tls *libc.TLS, p uintptr, idx int32, N int32) { /* sqlite } // Return the size of the Nth element of the cell array -func computeCellSize(tls *libc.TLS, p uintptr, N int32) U16 { /* sqlite3.c:73246:28: */ +func computeCellSize(tls *libc.TLS, p uintptr, N int32) U16 { /* sqlite3.c:73256:28: */ *(*U16)(unsafe.Pointer((*CellArray)(unsafe.Pointer(p)).FszCell + uintptr(N)*2)) = (*struct { f func(*libc.TLS, uintptr, uintptr) U16 @@ -50443,7 +50453,7 @@ func computeCellSize(tls *libc.TLS, p uintptr, N int32) U16 { /* sqlite3.c:73246 return *(*U16)(unsafe.Pointer((*CellArray)(unsafe.Pointer(p)).FszCell + uintptr(N)*2)) } -func cachedCellSize(tls *libc.TLS, p uintptr, N int32) U16 { /* sqlite3.c:73252:12: */ +func cachedCellSize(tls *libc.TLS, p uintptr, N int32) U16 { /* sqlite3.c:73262:12: */ if *(*U16)(unsafe.Pointer((*CellArray)(unsafe.Pointer(p)).FszCell + uintptr(N)*2)) != 0 { return *(*U16)(unsafe.Pointer((*CellArray)(unsafe.Pointer(p)).FszCell + uintptr(N)*2)) @@ -50462,7 +50472,7 @@ func cachedCellSize(tls *libc.TLS, p uintptr, N int32) U16 { /* sqlite3.c:73252: // // The MemPage.nFree field is invalidated by this function. It is the // responsibility of the caller to set it correctly. -func rebuildPage(tls *libc.TLS, pCArray uintptr, iFirst int32, nCell int32, pPg uintptr) int32 { /* sqlite3.c:73271:12: */ +func rebuildPage(tls *libc.TLS, pCArray uintptr, iFirst int32, nCell int32, pPg uintptr) int32 { /* sqlite3.c:73281:12: */ var hdr int32 = int32((*MemPage)(unsafe.Pointer(pPg)).FhdrOffset) // Offset of header on pPg var aData uintptr = (*MemPage)(unsafe.Pointer(pPg)).FaData // Pointer to data for pPg var usableSize int32 = int32((*BtShared)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPg)).FpBt)).FusableSize) @@ -50493,12 +50503,12 @@ func rebuildPage(tls *libc.TLS, pCArray uintptr, iFirst int32, nCell int32, pPg if Uptr(pCell) >= Uptr(aData+uintptr(j)) && Uptr(pCell) < Uptr(pEnd) { if Uptr(pCell+uintptr(sz)) > Uptr(pEnd) { - return Xsqlite3CorruptError(tls, 73304) + return Xsqlite3CorruptError(tls, 73314) } pCell = pTmp + uintptr((int64(pCell)-int64(aData))/1) } else if Uptr(pCell+uintptr(sz)) > Uptr(pSrcEnd) && Uptr(pCell) < Uptr(pSrcEnd) { - return Xsqlite3CorruptError(tls, 73309) + return Xsqlite3CorruptError(tls, 73319) } pData -= uintptr(sz) @@ -50506,7 +50516,7 @@ func rebuildPage(tls *libc.TLS, pCArray uintptr, iFirst int32, nCell int32, pPg *(*U8)(unsafe.Pointer(pCellptr + 1)) = U8((int64(pData) - int64(aData)) / 1) pCellptr += uintptr(2) if pData < pCellptr { - return Xsqlite3CorruptError(tls, 73315) + return Xsqlite3CorruptError(tls, 73325) } libc.Xmemmove(tls, pData, pCell, uint64(sz)) @@ -50556,7 +50566,7 @@ func rebuildPage(tls *libc.TLS, pCArray uintptr, iFirst int32, nCell int32, pPg // all cells - not just those inserted by the current call). If the content // area must be extended to before this point in order to accomodate all // cells in apCell[], then the cells do not fit and non-zero is returned. -func pageInsertArray(tls *libc.TLS, pPg uintptr, pBegin uintptr, ppData uintptr, pCellptr uintptr, iFirst int32, nCell int32, pCArray uintptr) int32 { /* sqlite3.c:73361:12: */ +func pageInsertArray(tls *libc.TLS, pPg uintptr, pBegin uintptr, ppData uintptr, pCellptr uintptr, iFirst int32, nCell int32, pCArray uintptr) int32 { /* sqlite3.c:73371:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -50594,7 +50604,7 @@ func pageInsertArray(tls *libc.TLS, pPg uintptr, pBegin uintptr, ppData uintptr, if Uptr(*(*uintptr)(unsafe.Pointer((*CellArray)(unsafe.Pointer(pCArray)).FapCell + uintptr(i)*8))+uintptr(sz)) > Uptr(pEnd) && Uptr(*(*uintptr)(unsafe.Pointer((*CellArray)(unsafe.Pointer(pCArray)).FapCell + uintptr(i)*8))) < Uptr(pEnd) { - Xsqlite3CorruptError(tls, 73400) + Xsqlite3CorruptError(tls, 73410) return 1 } libc.Xmemmove(tls, pSlot, *(*uintptr)(unsafe.Pointer((*CellArray)(unsafe.Pointer(pCArray)).FapCell + uintptr(i)*8)), uint64(sz)) @@ -50621,7 +50631,7 @@ func pageInsertArray(tls *libc.TLS, pPg uintptr, pBegin uintptr, ppData uintptr, // The cell-pointers and other fields of the page are not updated. // // This function returns the total number of cells added to the free-list. -func pageFreeArray(tls *libc.TLS, pPg uintptr, iFirst int32, nCell int32, pCArray uintptr) int32 { /* sqlite3.c:73426:12: */ +func pageFreeArray(tls *libc.TLS, pPg uintptr, iFirst int32, nCell int32, pCArray uintptr) int32 { /* sqlite3.c:73436:12: */ var aData uintptr = (*MemPage)(unsafe.Pointer(pPg)).FaData var pEnd uintptr = aData + uintptr((*BtShared)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPg)).FpBt)).FusableSize) var pStart uintptr = aData + uintptr(int32((*MemPage)(unsafe.Pointer(pPg)).FhdrOffset)+8+int32((*MemPage)(unsafe.Pointer(pPg)).FchildPtrSize)) @@ -50673,7 +50683,7 @@ func pageFreeArray(tls *libc.TLS, pPg uintptr, iFirst int32, nCell int32, pCArra // // The pPg->nFree field is invalid when this function returns. It is the // responsibility of the caller to set it correctly. -func editPage(tls *libc.TLS, pPg uintptr, iOld int32, iNew int32, nNew int32, pCArray uintptr) int32 { /* sqlite3.c:73485:12: */ +func editPage(tls *libc.TLS, pPg uintptr, iOld int32, iNew int32, nNew int32, pCArray uintptr) int32 { /* sqlite3.c:73495:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -50707,7 +50717,7 @@ func editPage(tls *libc.TLS, pPg uintptr, iOld int32, iNew int32, nNew int32, pC if !(nShift > nCell) { goto __2 } - return Xsqlite3CorruptError(tls, 73511) + return Xsqlite3CorruptError(tls, 73521) __2: ; libc.Xmemmove(tls, (*MemPage)(unsafe.Pointer(pPg)).FaCellIdx, (*MemPage)(unsafe.Pointer(pPg)).FaCellIdx+uintptr(nShift*2), uint64(nCell*2)) @@ -50847,7 +50857,7 @@ editpage_fail: // byte page number followed by a variable length integer. In other // words, at most 13 bytes. Hence the pSpace buffer must be at // least 13 bytes in size. -func balance_quick(tls *libc.TLS, pParent uintptr, pPage uintptr, pSpace uintptr) int32 { /* sqlite3.c:73614:12: */ +func balance_quick(tls *libc.TLS, pParent uintptr, pPage uintptr, pSpace uintptr) int32 { /* sqlite3.c:73624:12: */ bp := tls.Alloc(140) defer tls.Free(140) @@ -50860,7 +50870,7 @@ func balance_quick(tls *libc.TLS, pParent uintptr, pPage uintptr, pSpace uintptr // Page number of pNew if int32((*MemPage)(unsafe.Pointer(pPage)).FnCell) == 0 { - return Xsqlite3CorruptError(tls, 73624) + return Xsqlite3CorruptError(tls, 73634) } // dbfuzz001.test // Allocate a new page. This page will become the right-sibling of @@ -50958,7 +50968,7 @@ func balance_quick(tls *libc.TLS, pParent uintptr, pPage uintptr, pSpace uintptr // The performance of this function is not critical. It is only used by // the balance_shallower() and balance_deeper() procedures, neither of // which are called often under normal circumstances. -func copyNodeContent(tls *libc.TLS, pFrom uintptr, pTo uintptr, pRC uintptr) { /* sqlite3.c:73769:13: */ +func copyNodeContent(tls *libc.TLS, pFrom uintptr, pTo uintptr, pRC uintptr) { /* sqlite3.c:73779:13: */ if *(*int32)(unsafe.Pointer(pRC)) == SQLITE_OK { var pBt uintptr = (*MemPage)(unsafe.Pointer(pFrom)).FpBt var aFrom uintptr = (*MemPage)(unsafe.Pointer(pFrom)).FaData @@ -51038,7 +51048,7 @@ func copyNodeContent(tls *libc.TLS, pFrom uintptr, pTo uintptr, pRC uintptr) { / // // If aOvflSpace is set to a null pointer, this function returns // SQLITE_NOMEM. -func balance_nonroot(tls *libc.TLS, pParent uintptr, iParentIdx int32, aOvflSpace uintptr, isRoot int32, bBulk int32) int32 { /* sqlite3.c:73851:12: */ +func balance_nonroot(tls *libc.TLS, pParent uintptr, iParentIdx int32, aOvflSpace uintptr, isRoot int32, bBulk int32) int32 { /* sqlite3.c:73861:12: */ bp := tls.Alloc(344) defer tls.Free(344) @@ -51340,7 +51350,7 @@ __22: if !(int32(*(*U8)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pOld)).FaData))) != int32(*(*U8)(unsafe.Pointer((*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 112)))).FaData)))) { goto __25 } - *(*int32)(unsafe.Pointer(bp + 172 /* rc */)) = Xsqlite3CorruptError(tls, 74047) + *(*int32)(unsafe.Pointer(bp + 172 /* rc */)) = Xsqlite3CorruptError(tls, 74057) goto balance_cleanup __25: ; @@ -51368,7 +51378,7 @@ __25: if !(limit < int32(*(*U16)(unsafe.Pointer(pOld + 28)))) { goto __27 } - *(*int32)(unsafe.Pointer(bp + 172 /* rc */)) = Xsqlite3CorruptError(tls, 74071) + *(*int32)(unsafe.Pointer(bp + 172 /* rc */)) = Xsqlite3CorruptError(tls, 74081) goto balance_cleanup __27: ; @@ -51547,7 +51557,7 @@ __52: if !(k > NB+2) { goto __55 } - *(*int32)(unsafe.Pointer(bp + 172 /* rc */)) = Xsqlite3CorruptError(tls, 74172) + *(*int32)(unsafe.Pointer(bp + 172 /* rc */)) = Xsqlite3CorruptError(tls, 74182) goto balance_cleanup __55: ; @@ -51621,7 +51631,7 @@ __65: }()) { goto __67 } - *(*int32)(unsafe.Pointer(bp + 172 /* rc */)) = Xsqlite3CorruptError(tls, 74205) + *(*int32)(unsafe.Pointer(bp + 172 /* rc */)) = Xsqlite3CorruptError(tls, 74215) goto balance_cleanup __67: ; @@ -51694,7 +51704,7 @@ __73: }()) { goto __75 } - *(*int32)(unsafe.Pointer(bp + 172 /* rc */)) = Xsqlite3CorruptError(tls, 74247) + *(*int32)(unsafe.Pointer(bp + 172 /* rc */)) = Xsqlite3CorruptError(tls, 74257) goto balance_cleanup __75: ; @@ -51731,7 +51741,7 @@ __76: *(*int32)(unsafe.Pointer(bp + 172)) == SQLITE_OK) { goto __81 } - *(*int32)(unsafe.Pointer(bp + 172 /* rc */)) = Xsqlite3CorruptError(tls, 74280) + *(*int32)(unsafe.Pointer(bp + 172 /* rc */)) = Xsqlite3CorruptError(tls, 74290) __81: ; if !(*(*int32)(unsafe.Pointer(bp + 172)) != 0) { @@ -51815,7 +51825,7 @@ __89: // cache with two separate objects associated with the same // page number. - *(*int32)(unsafe.Pointer(bp + 172 /* rc */)) = Xsqlite3CorruptError(tls, 74326) + *(*int32)(unsafe.Pointer(bp + 172 /* rc */)) = Xsqlite3CorruptError(tls, 74336) goto balance_cleanup __92: ; @@ -52068,7 +52078,7 @@ __125: if !(Uptr(pSrcEnd) >= Uptr(pCell1) && Uptr(pSrcEnd) < Uptr(pCell1+uintptr(sz2))) { goto __126 } - *(*int32)(unsafe.Pointer(bp + 172 /* rc */)) = Xsqlite3CorruptError(tls, 74483) + *(*int32)(unsafe.Pointer(bp + 172 /* rc */)) = Xsqlite3CorruptError(tls, 74493) goto balance_cleanup __126: ; @@ -52290,7 +52300,7 @@ __150: // page and SQLITE_OK is returned. In this case the caller is required // to call releasePage() on *ppChild exactly once. If an error occurs, // an error code is returned and *ppChild is set to 0. -func balance_deeper(tls *libc.TLS, pRoot uintptr, ppChild uintptr) int32 { /* sqlite3.c:74648:12: */ +func balance_deeper(tls *libc.TLS, pRoot uintptr, ppChild uintptr) int32 { /* sqlite3.c:74658:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -52341,13 +52351,13 @@ func balance_deeper(tls *libc.TLS, pRoot uintptr, ppChild uintptr) int32 { /* sq // table linked to the same b-tree. If the secondary insert causes a // rebalance, that can change content out from under the cursor on the // first SQL table, violating invariants on the first insert. -func anotherValidCursor(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:74706:12: */ +func anotherValidCursor(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:74716:12: */ var pOther uintptr for pOther = (*BtShared)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pCur)).FpBt)).FpCursor; pOther != 0; pOther = (*BtCursor)(unsafe.Pointer(pOther)).FpNext { if pOther != pCur && int32((*BtCursor)(unsafe.Pointer(pOther)).FeState) == CURSOR_VALID && (*BtCursor)(unsafe.Pointer(pOther)).FpPage == (*BtCursor)(unsafe.Pointer(pCur)).FpPage { - return Xsqlite3CorruptError(tls, 74713) + return Xsqlite3CorruptError(tls, 74723) } } return SQLITE_OK @@ -52361,7 +52371,7 @@ func anotherValidCursor(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:74706: // balance_quick() // balance_deeper() // balance_nonroot() -func balance(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:74729:12: */ +func balance(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:74739:12: */ bp := tls.Alloc(13) defer tls.Free(13) @@ -52480,7 +52490,7 @@ func balance(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:74729:12: */ // Overwrite content from pX into pDest. Only do the write if the // content is different from what is already there. -func btreeOverwriteContent(tls *libc.TLS, pPage uintptr, pDest uintptr, pX uintptr, iOffset int32, iAmt int32) int32 { /* sqlite3.c:74855:12: */ +func btreeOverwriteContent(tls *libc.TLS, pPage uintptr, pDest uintptr, pX uintptr, iOffset int32, iAmt int32) int32 { /* sqlite3.c:74865:12: */ var nData int32 = (*BtreePayload)(unsafe.Pointer(pX)).FnData - iOffset if nData <= 0 { // Overwritting with zeros @@ -52522,7 +52532,7 @@ func btreeOverwriteContent(tls *libc.TLS, pPage uintptr, pDest uintptr, pX uintp // Overwrite the cell that cursor pCur is pointing to with fresh content // contained in pX. -func btreeOverwriteCell(tls *libc.TLS, pCur uintptr, pX uintptr) int32 { /* sqlite3.c:74898:12: */ +func btreeOverwriteCell(tls *libc.TLS, pCur uintptr, pX uintptr) int32 { /* sqlite3.c:74908:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -52536,7 +52546,7 @@ func btreeOverwriteCell(tls *libc.TLS, pCur uintptr, pX uintptr) int32 { /* sqli if (*BtCursor)(unsafe.Pointer(pCur)).Finfo.FpPayload+uintptr((*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnLocal) > (*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FaDataEnd || (*BtCursor)(unsafe.Pointer(pCur)).Finfo.FpPayload < (*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FaData+uintptr((*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FcellOffset) { - return Xsqlite3CorruptError(tls, 74910) + return Xsqlite3CorruptError(tls, 74920) } // Overwrite the local portion first rc = btreeOverwriteContent(tls, *(*uintptr)(unsafe.Pointer(bp /* pPage */)), (*BtCursor)(unsafe.Pointer(pCur)).Finfo.FpPayload, pX, @@ -52560,7 +52570,7 @@ func btreeOverwriteCell(tls *libc.TLS, pCur uintptr, pX uintptr) int32 { /* sqli return rc } if Xsqlite3PagerPageRefcount(tls, (*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FpDbPage) != 1 || (*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FisInit != 0 { - rc = Xsqlite3CorruptError(tls, 74929) + rc = Xsqlite3CorruptError(tls, 74939) } else { if U32(iOffset)+ovflPageSize < U32(nTotal) { ovflPgno = Xsqlite3Get4byte(tls, (*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* pPage */)))).FaData) @@ -52607,7 +52617,7 @@ func btreeOverwriteCell(tls *libc.TLS, pCur uintptr, pX uintptr) int32 { /* sqli // if pX->nMem is non-zero, then pX->aMem contains pointers to the unpacked // key values and pX->aMem can be used instead of pX->pKey to avoid having // to decode the key. -func Xsqlite3BtreeInsert(tls *libc.TLS, pCur uintptr, pX uintptr, flags int32, seekResult int32) int32 { /* sqlite3.c:74977:20: */ +func Xsqlite3BtreeInsert(tls *libc.TLS, pCur uintptr, pX uintptr, flags int32, seekResult int32) int32 { /* sqlite3.c:74987:20: */ bp := tls.Alloc(136) defer tls.Free(136) @@ -52637,20 +52647,6 @@ func Xsqlite3BtreeInsert(tls *libc.TLS, pCur uintptr, pX uintptr, flags int32, s pBt = (*Btree)(unsafe.Pointer(p)).FpBt newCell = uintptr(0) - if !(int32((*BtCursor)(unsafe.Pointer(pCur)).FeState) == CURSOR_FAULT) { - goto __1 - } - - return (*BtCursor)(unsafe.Pointer(pCur)).FskipNext -__1: - ; - - // Assert that the caller has been consistent. If this cursor was opened - // expecting an index b-tree, then the caller should be inserting blob - // keys with no associated data. If the cursor was opened expecting an - // intkey table, the caller should be inserting integer keys with a - // blob of associated data. - // Save the positions of any other cursors open on this table. // // In some cases, the call to btreeMoveto() below is a no-op. For @@ -52662,40 +52658,59 @@ __1: // doing any work. To avoid thwarting these optimizations, it is important // not to clear the cursor here. if !(int32((*BtCursor)(unsafe.Pointer(pCur)).FcurFlags)&BTCF_Multiple != 0) { - goto __2 + goto __1 } *(*int32)(unsafe.Pointer(bp + 104 /* rc */)) = saveAllCursors(tls, pBt, (*BtCursor)(unsafe.Pointer(pCur)).FpgnoRoot, pCur) if !(*(*int32)(unsafe.Pointer(bp + 104)) != 0) { - goto __3 + goto __2 } return *(*int32)(unsafe.Pointer(bp + 104 /* rc */)) -__3: +__2: ; if !(*(*int32)(unsafe.Pointer(bp)) != 0 && int32((*BtCursor)(unsafe.Pointer(pCur)).FiPage) < 0) { - goto __4 + goto __3 } // This can only happen if the schema is corrupt such that there is more // than one table or index with the same root page as used by the cursor. // 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 Xsqlite3CorruptError(tls, 75034) -__4: + return Xsqlite3CorruptError(tls, 75026) +__3: ; -__2: +__1: ; - if !((*BtCursor)(unsafe.Pointer(pCur)).FpKeyInfo == uintptr(0)) { + if !(int32((*BtCursor)(unsafe.Pointer(pCur)).FeState) >= CURSOR_REQUIRESEEK) { + goto __4 + } + *(*int32)(unsafe.Pointer(bp + 104 /* rc */)) = moveToRoot(tls, pCur) + if !(*(*int32)(unsafe.Pointer(bp + 104)) != 0 && *(*int32)(unsafe.Pointer(bp + 104)) != SQLITE_EMPTY) { goto __5 } + return *(*int32)(unsafe.Pointer(bp + 104 /* rc */)) +__5: + ; +__4: + ; + + // Assert that the caller has been consistent. If this cursor was opened + // expecting an index b-tree, then the caller should be inserting blob + // keys with no associated data. If the cursor was opened expecting an + // intkey table, the caller should be inserting integer keys with a + // blob of associated data. + + if !((*BtCursor)(unsafe.Pointer(pCur)).FpKeyInfo == uintptr(0)) { + goto __6 + } // If this is an insert into a table b-tree, invalidate any incrblob // cursors open on the row being replaced if !((*Btree)(unsafe.Pointer(p)).FhasIncrblobCur != 0) { - goto __7 + goto __8 } invalidateIncrblobCursors(tls, p, (*BtCursor)(unsafe.Pointer(pCur)).FpgnoRoot, (*BtreePayload)(unsafe.Pointer(pX)).FnKey, 0) -__7: +__8: ; // If BTREE_SAVEPOSITION is set, the cursor must already be pointing @@ -52705,24 +52720,24 @@ __7: // that the cursor is not pointing to a row to be overwritten. // So do a complete check. if !(int32((*BtCursor)(unsafe.Pointer(pCur)).FcurFlags)&BTCF_ValidNKey != 0 && (*BtreePayload)(unsafe.Pointer(pX)).FnKey == (*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnKey) { - goto __8 + goto __9 } // The cursor is pointing to the entry that is to be // overwritten if !(int32((*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnSize) != 0 && (*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnPayload == U32((*BtreePayload)(unsafe.Pointer(pX)).FnData)+U32((*BtreePayload)(unsafe.Pointer(pX)).FnZero)) { - goto __10 + goto __11 } // New entry is the same size as the old. Do an overwrite return btreeOverwriteCell(tls, pCur, pX) -__10: +__11: ; - goto __9 -__8: + goto __10 +__9: if !(*(*int32)(unsafe.Pointer(bp)) == 0) { - goto __11 + goto __12 } // The cursor is *not* pointing to the cell to be overwritten, nor // to an adjacent cell. Move the cursor so that it is pointing either @@ -52730,17 +52745,17 @@ __8: *(*int32)(unsafe.Pointer(bp + 104 /* rc */)) = Xsqlite3BtreeTableMoveto(tls, pCur, (*BtreePayload)(unsafe.Pointer(pX)).FnKey, libc.Bool32(flags&BTREE_APPEND != 0), bp) if !(*(*int32)(unsafe.Pointer(bp + 104)) != 0) { - goto __12 + goto __13 } return *(*int32)(unsafe.Pointer(bp + 104 /* rc */)) -__12: +__13: ; -__11: +__12: ; -__9: +__10: ; - goto __6 -__5: + goto __7 +__6: // This is an index or a WITHOUT ROWID table // If BTREE_SAVEPOSITION is set, the cursor must already be pointing @@ -52752,10 +52767,10 @@ __5: // not pointing to an immediately adjacent cell, then move the cursor // so that it does. if !(*(*int32)(unsafe.Pointer(bp)) == 0 && flags&BTREE_SAVEPOSITION == 0) { - goto __13 + goto __14 } if !((*BtreePayload)(unsafe.Pointer(pX)).FnMem != 0) { - goto __14 + goto __15 } (*UnpackedRecord)(unsafe.Pointer(bp + 8 /* &r */)).FpKeyInfo = (*BtCursor)(unsafe.Pointer(pCur)).FpKeyInfo (*UnpackedRecord)(unsafe.Pointer(bp + 8 /* &r */)).FaMem = (*BtreePayload)(unsafe.Pointer(pX)).FaMem @@ -52763,147 +52778,147 @@ __5: (*UnpackedRecord)(unsafe.Pointer(bp + 8 /* &r */)).Fdefault_rc = int8(0) (*UnpackedRecord)(unsafe.Pointer(bp + 8 /* &r */)).FeqSeen = U8(0) *(*int32)(unsafe.Pointer(bp + 104 /* rc */)) = Xsqlite3BtreeIndexMoveto(tls, pCur, bp+8, bp) - goto __15 -__14: + goto __16 +__15: *(*int32)(unsafe.Pointer(bp + 104 /* rc */)) = btreeMoveto(tls, pCur, (*BtreePayload)(unsafe.Pointer(pX)).FpKey, (*BtreePayload)(unsafe.Pointer(pX)).FnKey, libc.Bool32(flags&BTREE_APPEND != 0), bp) -__15: +__16: ; if !(*(*int32)(unsafe.Pointer(bp + 104)) != 0) { - goto __16 + goto __17 } return *(*int32)(unsafe.Pointer(bp + 104 /* rc */)) -__16: +__17: ; -__13: +__14: ; // If the cursor is currently pointing to an entry to be overwritten // and the new content is the same as as the old, then use the // overwrite optimization. if !(*(*int32)(unsafe.Pointer(bp)) == 0) { - goto __17 + goto __18 } getCellInfo(tls, pCur) if !((*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnKey == (*BtreePayload)(unsafe.Pointer(pX)).FnKey) { - goto __18 + goto __19 } (*BtreePayload)(unsafe.Pointer(bp + 32 /* &x2 */)).FpData = (*BtreePayload)(unsafe.Pointer(pX)).FpKey (*BtreePayload)(unsafe.Pointer(bp + 32 /* &x2 */)).FnData = int32((*BtreePayload)(unsafe.Pointer(pX)).FnKey) (*BtreePayload)(unsafe.Pointer(bp + 32 /* &x2 */)).FnZero = 0 return btreeOverwriteCell(tls, pCur, bp+32) -__18: +__19: ; -__17: +__18: ; -__6: +__7: ; pPage = (*BtCursor)(unsafe.Pointer(pCur)).FpPage if !((*MemPage)(unsafe.Pointer(pPage)).FnFree < 0) { - goto __19 + goto __20 } if !(int32((*BtCursor)(unsafe.Pointer(pCur)).FeState) > CURSOR_INVALID) { - goto __20 + goto __21 } - *(*int32)(unsafe.Pointer(bp + 104 /* rc */)) = Xsqlite3CorruptError(tls, 75134) - goto __21 -__20: - *(*int32)(unsafe.Pointer(bp + 104 /* rc */)) = btreeComputeFreeSpace(tls, pPage) + *(*int32)(unsafe.Pointer(bp + 104 /* rc */)) = Xsqlite3CorruptError(tls, 75143) + goto __22 __21: + *(*int32)(unsafe.Pointer(bp + 104 /* rc */)) = btreeComputeFreeSpace(tls, pPage) +__22: ; if !(*(*int32)(unsafe.Pointer(bp + 104)) != 0) { - goto __22 + goto __23 } return *(*int32)(unsafe.Pointer(bp + 104 /* rc */)) -__22: +__23: ; -__19: +__20: ; newCell = (*BtShared)(unsafe.Pointer(pBt)).FpTmpSpace if !(flags&BTREE_PREFORMAT != 0) { - goto __23 + goto __24 } *(*int32)(unsafe.Pointer(bp + 104 /* rc */)) = SQLITE_OK *(*int32)(unsafe.Pointer(bp + 108 /* szNew */)) = (*BtShared)(unsafe.Pointer(pBt)).FnPreformatSize if !(*(*int32)(unsafe.Pointer(bp + 108)) < 4) { - goto __25 + goto __26 } *(*int32)(unsafe.Pointer(bp + 108 /* szNew */)) = 4 -__25: +__26: ; if !((*BtShared)(unsafe.Pointer(pBt)).FautoVacuum != 0 && *(*int32)(unsafe.Pointer(bp + 108)) > int32((*MemPage)(unsafe.Pointer(pPage)).FmaxLocal)) { - goto __26 + goto __27 } (*struct { f func(*libc.TLS, uintptr, uintptr, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*MemPage)(unsafe.Pointer(pPage)).FxParseCell})).f(tls, pPage, newCell, bp+80 /* &info */) if !((*CellInfo)(unsafe.Pointer(bp+80)).FnPayload != U32((*CellInfo)(unsafe.Pointer(bp+80)).FnLocal)) { - goto __27 + goto __28 } ovfl = Xsqlite3Get4byte(tls, newCell+uintptr(*(*int32)(unsafe.Pointer(bp + 108))-4)) ptrmapPut(tls, pBt, ovfl, uint8(PTRMAP_OVERFLOW1), (*MemPage)(unsafe.Pointer(pPage)).Fpgno, bp+104) -__27: +__28: ; -__26: +__27: ; - goto __24 -__23: - *(*int32)(unsafe.Pointer(bp + 104 /* rc */)) = fillInCell(tls, pPage, newCell, pX, bp+108) + goto __25 __24: + *(*int32)(unsafe.Pointer(bp + 104 /* rc */)) = fillInCell(tls, pPage, newCell, pX, bp+108) +__25: ; if !(*(*int32)(unsafe.Pointer(bp + 104)) != 0) { - goto __28 + goto __29 } goto end_insert -__28: +__29: ; idx = int32((*BtCursor)(unsafe.Pointer(pCur)).Fix) if !(*(*int32)(unsafe.Pointer(bp)) == 0) { - goto __29 + goto __30 } if !(idx >= int32((*MemPage)(unsafe.Pointer(pPage)).FnCell)) { - goto __31 + goto __32 } - return Xsqlite3CorruptError(tls, 75170) -__31: + return Xsqlite3CorruptError(tls, 75179) +__32: ; *(*int32)(unsafe.Pointer(bp + 104 /* rc */)) = Xsqlite3PagerWrite(tls, (*MemPage)(unsafe.Pointer(pPage)).FpDbPage) if !(*(*int32)(unsafe.Pointer(bp + 104)) != 0) { - goto __32 + goto __33 } goto end_insert -__32: +__33: ; oldCell = (*MemPage)(unsafe.Pointer(pPage)).FaData + uintptr(int32((*MemPage)(unsafe.Pointer(pPage)).FmaskPage)&int32(libc.X__builtin_bswap16(tls, *(*U16)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPage)).FaCellIdx + uintptr(2*idx)))))) if !!(int32((*MemPage)(unsafe.Pointer(pPage)).Fleaf) != 0) { - goto __33 + goto __34 } libc.Xmemcpy(tls, newCell, oldCell, uint64(4)) -__33: +__34: ; (*struct { f func(*libc.TLS, uintptr, uintptr, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*MemPage)(unsafe.Pointer(pPage)).FxParseCell})).f(tls, pPage, oldCell, bp+112 /* &info1 */) if !(U32((*CellInfo)(unsafe.Pointer(bp+112 /* &info1 */)).FnLocal) != (*CellInfo)(unsafe.Pointer(bp+112 /* &info1 */)).FnPayload) { - goto __34 + goto __35 } *(*int32)(unsafe.Pointer(bp + 104 /* rc */)) = clearCellOverflow(tls, pPage, oldCell, bp+112 /* &info1 */) - goto __35 -__34: - *(*int32)(unsafe.Pointer(bp + 104 /* rc */)) = SQLITE_OK + goto __36 __35: + *(*int32)(unsafe.Pointer(bp + 104 /* rc */)) = SQLITE_OK +__36: ; *(*U8)(unsafe.Pointer(pCur + 1)) &= libc.Uint8FromInt32(libc.CplInt32(BTCF_ValidOvfl)) if !(int32((*CellInfo)(unsafe.Pointer(bp+112)).FnSize) == *(*int32)(unsafe.Pointer(bp + 108)) && U32((*CellInfo)(unsafe.Pointer(bp+112)).FnLocal) == (*CellInfo)(unsafe.Pointer(bp+112)).FnPayload && (!(int32((*BtShared)(unsafe.Pointer(pBt)).FautoVacuum) != 0) || *(*int32)(unsafe.Pointer(bp + 108)) < int32((*MemPage)(unsafe.Pointer(pPage)).FminLocal))) { - goto __36 + goto __37 } // Overwrite the old cell with the new if they are the same size. // We could also try to do this if the old cell is smaller, then add @@ -52916,42 +52931,42 @@ __35: // necessary to add the PTRMAP_OVERFLOW1 pointer-map entry. // clearCell never fails when nLocal==nPayload if !(oldCell < (*MemPage)(unsafe.Pointer(pPage)).FaData+uintptr((*MemPage)(unsafe.Pointer(pPage)).FhdrOffset)+uintptr(10)) { - goto __37 + goto __38 } - return Xsqlite3CorruptError(tls, 75197) -__37: + return Xsqlite3CorruptError(tls, 75206) +__38: ; if !(oldCell+uintptr(*(*int32)(unsafe.Pointer(bp + 108))) > (*MemPage)(unsafe.Pointer(pPage)).FaDataEnd) { - goto __38 + goto __39 } - return Xsqlite3CorruptError(tls, 75200) -__38: + return Xsqlite3CorruptError(tls, 75209) +__39: ; libc.Xmemcpy(tls, oldCell, newCell, uint64(*(*int32)(unsafe.Pointer(bp + 108 /* szNew */)))) return SQLITE_OK -__36: +__37: ; dropCell(tls, pPage, idx, int32((*CellInfo)(unsafe.Pointer(bp+112 /* &info1 */)).FnSize), bp+104) if !(*(*int32)(unsafe.Pointer(bp + 104)) != 0) { - goto __39 + goto __40 } goto end_insert -__39: +__40: ; - goto __30 -__29: + goto __31 +__30: if !(*(*int32)(unsafe.Pointer(bp)) < 0 && int32((*MemPage)(unsafe.Pointer(pPage)).FnCell) > 0) { - goto __40 + goto __41 } idx = int32(libc.PreIncUint16(&(*BtCursor)(unsafe.Pointer(pCur)).Fix, 1)) *(*U8)(unsafe.Pointer(pCur + 1)) &= libc.Uint8FromInt32(libc.CplInt32(BTCF_ValidNKey)) - goto __41 -__40: - ; + goto __42 __41: ; -__30: +__42: + ; +__31: ; insertCell(tls, pPage, idx, newCell, *(*int32)(unsafe.Pointer(bp + 108 /* szNew */)), uintptr(0), uint32(0), bp+104) @@ -52976,7 +52991,7 @@ __30: // row without seeking the cursor. This can be a big performance boost. (*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnSize = U16(0) if !((*MemPage)(unsafe.Pointer(pPage)).FnOverflow != 0) { - goto __42 + goto __43 } *(*U8)(unsafe.Pointer(pCur + 1)) &= libc.Uint8FromInt32(libc.CplInt32(BTCF_ValidNKey)) @@ -52989,30 +53004,30 @@ __30: (*MemPage)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pCur)).FpPage)).FnOverflow = U8(0) (*BtCursor)(unsafe.Pointer(pCur)).FeState = U8(CURSOR_INVALID) if !(flags&BTREE_SAVEPOSITION != 0 && *(*int32)(unsafe.Pointer(bp + 104)) == SQLITE_OK) { - goto __43 + goto __44 } btreeReleaseAllCursorPages(tls, pCur) if !((*BtCursor)(unsafe.Pointer(pCur)).FpKeyInfo != 0) { - goto __44 + goto __45 } (*BtCursor)(unsafe.Pointer(pCur)).FpKey = Xsqlite3Malloc(tls, uint64((*BtreePayload)(unsafe.Pointer(pX)).FnKey)) if !((*BtCursor)(unsafe.Pointer(pCur)).FpKey == uintptr(0)) { - goto __45 + goto __46 } *(*int32)(unsafe.Pointer(bp + 104 /* rc */)) = SQLITE_NOMEM - goto __46 -__45: - libc.Xmemcpy(tls, (*BtCursor)(unsafe.Pointer(pCur)).FpKey, (*BtreePayload)(unsafe.Pointer(pX)).FpKey, uint64((*BtreePayload)(unsafe.Pointer(pX)).FnKey)) + goto __47 __46: + libc.Xmemcpy(tls, (*BtCursor)(unsafe.Pointer(pCur)).FpKey, (*BtreePayload)(unsafe.Pointer(pX)).FpKey, uint64((*BtreePayload)(unsafe.Pointer(pX)).FnKey)) +__47: ; -__44: +__45: ; (*BtCursor)(unsafe.Pointer(pCur)).FeState = U8(CURSOR_REQUIRESEEK) (*BtCursor)(unsafe.Pointer(pCur)).FnKey = (*BtreePayload)(unsafe.Pointer(pX)).FnKey -__43: +__44: ; -__42: +__43: ; end_insert: @@ -53032,7 +53047,7 @@ end_insert: // calling sqlite3BtreeInsert() with the BTREE_PREFORMAT flag specified. // // SQLITE_OK is returned if successful, or an SQLite error code otherwise. -func Xsqlite3BtreeTransferRow(tls *libc.TLS, pDest uintptr, pSrc uintptr, iKey I64) int32 { /* sqlite3.c:75286:20: */ +func Xsqlite3BtreeTransferRow(tls *libc.TLS, pDest uintptr, pSrc uintptr, iKey I64) int32 { /* sqlite3.c:75295:20: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -53059,7 +53074,7 @@ func Xsqlite3BtreeTransferRow(tls *libc.TLS, pDest uintptr, pSrc uintptr, iKey I nIn = U32((*BtCursor)(unsafe.Pointer(pSrc)).Finfo.FnLocal) aIn = (*BtCursor)(unsafe.Pointer(pSrc)).Finfo.FpPayload if aIn+uintptr(nIn) > (*MemPage)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pSrc)).FpPage)).FaDataEnd { - return Xsqlite3CorruptError(tls, 75300) + return Xsqlite3CorruptError(tls, 75309) } nRem = (*BtCursor)(unsafe.Pointer(pSrc)).Finfo.FnPayload if nIn == nRem && nIn < U32((*MemPage)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pDest)).FpPage)).FmaxLocal) { @@ -53082,7 +53097,7 @@ func Xsqlite3BtreeTransferRow(tls *libc.TLS, pDest uintptr, pSrc uintptr, iKey I if nRem > nIn { if aIn+uintptr(nIn)+uintptr(4) > (*MemPage)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pSrc)).FpPage)).FaDataEnd { - return Xsqlite3CorruptError(tls, 75323) + return Xsqlite3CorruptError(tls, 75332) } ovflIn = Xsqlite3Get4byte(tls, (*BtCursor)(unsafe.Pointer(pSrc)).Finfo.FpPayload+uintptr(nIn)) } @@ -53164,7 +53179,7 @@ func Xsqlite3BtreeTransferRow(tls *libc.TLS, pDest uintptr, pSrc uintptr, iKey I // operation on non-FORDELETE cursors is tagged with the AUXDELETE flag. // The BTREE_AUXDELETE bit is a hint that is not used by this implementation, // but which might be used by alternative storage engines. -func Xsqlite3BtreeDelete(tls *libc.TLS, pCur uintptr, flags U8) int32 { /* sqlite3.c:75396:20: */ +func Xsqlite3BtreeDelete(tls *libc.TLS, pCur uintptr, flags U8) int32 { /* sqlite3.c:75405:20: */ bp := tls.Alloc(28) defer tls.Free(28) @@ -53180,11 +53195,15 @@ func Xsqlite3BtreeDelete(tls *libc.TLS, pCur uintptr, flags U8) int32 { /* sqlit // Size of the cell being deleted var bPreserve U8 // Keep cursor valid. 2 for CURSOR_SKIPNEXT - if int32((*BtCursor)(unsafe.Pointer(pCur)).FeState) == CURSOR_REQUIRESEEK { - *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) = btreeRestoreCursorPosition(tls, pCur) + if int32((*BtCursor)(unsafe.Pointer(pCur)).FeState) != CURSOR_VALID { + if int32((*BtCursor)(unsafe.Pointer(pCur)).FeState) >= CURSOR_REQUIRESEEK { + *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) = btreeRestoreCursorPosition(tls, pCur) - if *(*int32)(unsafe.Pointer(bp + 24)) != 0 || int32((*BtCursor)(unsafe.Pointer(pCur)).FeState) != CURSOR_VALID { - return *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) + if *(*int32)(unsafe.Pointer(bp + 24)) != 0 || int32((*BtCursor)(unsafe.Pointer(pCur)).FeState) != CURSOR_VALID { + return *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) + } + } else { + return Xsqlite3CorruptError(tls, 75429) } } @@ -53192,11 +53211,11 @@ func Xsqlite3BtreeDelete(tls *libc.TLS, pCur uintptr, flags U8) int32 { /* sqlit iCellIdx = int32((*BtCursor)(unsafe.Pointer(pCur)).Fix) pPage = (*BtCursor)(unsafe.Pointer(pCur)).FpPage if int32((*MemPage)(unsafe.Pointer(pPage)).FnCell) <= iCellIdx { - return Xsqlite3CorruptError(tls, 75425) + return Xsqlite3CorruptError(tls, 75438) } pCell = (*MemPage)(unsafe.Pointer(pPage)).FaData + uintptr(int32((*MemPage)(unsafe.Pointer(pPage)).FmaskPage)&int32(libc.X__builtin_bswap16(tls, *(*U16)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPage)).FaCellIdx + uintptr(2*iCellIdx)))))) if (*MemPage)(unsafe.Pointer(pPage)).FnFree < 0 && btreeComputeFreeSpace(tls, pPage) != 0 { - return Xsqlite3CorruptError(tls, 75429) + return Xsqlite3CorruptError(tls, 75442) } // If the BTREE_SAVEPOSITION bit is on, then the cursor position must @@ -53305,7 +53324,7 @@ func Xsqlite3BtreeDelete(tls *libc.TLS, pCur uintptr, flags U8) int32 { /* sqlit } pCell = (*MemPage)(unsafe.Pointer(pLeaf)).FaData + uintptr(int32((*MemPage)(unsafe.Pointer(pLeaf)).FmaskPage)&int32(libc.X__builtin_bswap16(tls, *(*U16)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pLeaf)).FaCellIdx + uintptr(2*(int32((*MemPage)(unsafe.Pointer(pLeaf)).FnCell)-1))))))) if pCell < (*MemPage)(unsafe.Pointer(pLeaf)).FaData+4 { - return Xsqlite3CorruptError(tls, 75519) + return Xsqlite3CorruptError(tls, 75532) } nCell = int32((*struct { f func(*libc.TLS, uintptr, uintptr) U16 @@ -53382,7 +53401,7 @@ func Xsqlite3BtreeDelete(tls *libc.TLS, pCur uintptr, flags U8) int32 { /* sqlit // // BTREE_INTKEY|BTREE_LEAFDATA Used for SQL tables with rowid keys // BTREE_ZERODATA Used for SQL indices -func btreeCreateTable(tls *libc.TLS, p uintptr, piTable uintptr, createTabFlags int32) int32 { /* sqlite3.c:75593:12: */ +func btreeCreateTable(tls *libc.TLS, p uintptr, piTable uintptr, createTabFlags int32) int32 { /* sqlite3.c:75606:12: */ bp := tls.Alloc(44) defer tls.Free(44) @@ -53412,7 +53431,7 @@ func btreeCreateTable(tls *libc.TLS, p uintptr, piTable uintptr, createTabFlags // created so far, so the new root-page is (meta[3]+1). Xsqlite3BtreeGetMeta(tls, p, BTREE_LARGEST_ROOT_PAGE, bp) if *(*Pgno)(unsafe.Pointer(bp)) > btreePagecount(tls, pBt) { - return Xsqlite3CorruptError(tls, 75627) + return Xsqlite3CorruptError(tls, 75640) } *(*Pgno)(unsafe.Pointer(bp /* pgnoRoot */))++ @@ -53455,7 +53474,7 @@ func btreeCreateTable(tls *libc.TLS, p uintptr, piTable uintptr, createTabFlags } *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = ptrmapGet(tls, pBt, *(*Pgno)(unsafe.Pointer(bp /* pgnoRoot */)), bp+32, bp+36) if int32(*(*U8)(unsafe.Pointer(bp + 32))) == PTRMAP_ROOTPAGE || int32(*(*U8)(unsafe.Pointer(bp + 32))) == PTRMAP_FREEPAGE { - *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = Xsqlite3CorruptError(tls, 75675) + *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = Xsqlite3CorruptError(tls, 75688) } if *(*int32)(unsafe.Pointer(bp + 40)) != SQLITE_OK { releasePage(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* pRoot */))) @@ -53518,7 +53537,7 @@ func btreeCreateTable(tls *libc.TLS, p uintptr, piTable uintptr, createTabFlags return SQLITE_OK } -func Xsqlite3BtreeCreateTable(tls *libc.TLS, p uintptr, piTable uintptr, flags int32) int32 { /* sqlite3.c:75738:20: */ +func Xsqlite3BtreeCreateTable(tls *libc.TLS, p uintptr, piTable uintptr, flags int32) int32 { /* sqlite3.c:75751:20: */ var rc int32 Xsqlite3BtreeEnter(tls, p) rc = btreeCreateTable(tls, p, piTable, flags) @@ -53528,7 +53547,7 @@ func Xsqlite3BtreeCreateTable(tls *libc.TLS, p uintptr, piTable uintptr, flags i // Erase the given database page and all its children. Return // the page to the freelist. -func clearDatabasePage(tls *libc.TLS, pBt uintptr, pgno Pgno, freePageFlag int32, pnChange uintptr) int32 { /* sqlite3.c:75750:12: */ +func clearDatabasePage(tls *libc.TLS, pBt uintptr, pgno Pgno, freePageFlag int32, pnChange uintptr) int32 { /* sqlite3.c:75763:12: */ bp := tls.Alloc(36) defer tls.Free(36) @@ -53544,7 +53563,7 @@ func clearDatabasePage(tls *libc.TLS, pBt uintptr, pgno Pgno, freePageFlag int32 if !(pgno > btreePagecount(tls, pBt)) { goto __1 } - return Xsqlite3CorruptError(tls, 75765) + return Xsqlite3CorruptError(tls, 75778) __1: ; *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) = getAndInitPage(tls, pBt, pgno, bp, uintptr(0), 0) @@ -53558,7 +53577,7 @@ __2: Xsqlite3PagerPageRefcount(tls, (*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FpDbPage) != 1+libc.Bool32(pgno == Pgno(1))) { goto __3 } - *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) = Xsqlite3CorruptError(tls, 75772) + *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) = Xsqlite3CorruptError(tls, 75785) goto cleardatabasepage_out __3: ; @@ -53662,7 +53681,7 @@ cleardatabasepage_out: // // If pnChange is not NULL, then the integer value pointed to by pnChange // is incremented by the number of entries in the table. -func Xsqlite3BtreeClearTable(tls *libc.TLS, p uintptr, iTable int32, pnChange uintptr) int32 { /* sqlite3.c:75817:20: */ +func Xsqlite3BtreeClearTable(tls *libc.TLS, p uintptr, iTable int32, pnChange uintptr) int32 { /* sqlite3.c:75830:20: */ var rc int32 var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt Xsqlite3BtreeEnter(tls, p) @@ -53685,7 +53704,7 @@ func Xsqlite3BtreeClearTable(tls *libc.TLS, p uintptr, iTable int32, pnChange ui // Delete all information from the single table that pCur is open on. // // This routine only work for pCur on an ephemeral table. -func Xsqlite3BtreeClearTableOfCursor(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:75843:20: */ +func Xsqlite3BtreeClearTableOfCursor(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:75856:20: */ return Xsqlite3BtreeClearTable(tls, (*BtCursor)(unsafe.Pointer(pCur)).FpBtree, int32((*BtCursor)(unsafe.Pointer(pCur)).FpgnoRoot), uintptr(0)) } @@ -53707,7 +53726,7 @@ func Xsqlite3BtreeClearTableOfCursor(tls *libc.TLS, pCur uintptr) int32 { /* sql // the move. If no page gets moved, *piMoved is set to 0. // The last root page is recorded in meta[3] and the value of // meta[3] is updated by this procedure. -func btreeDropTable(tls *libc.TLS, p uintptr, iTable Pgno, piMoved uintptr) int32 { /* sqlite3.c:75867:12: */ +func btreeDropTable(tls *libc.TLS, p uintptr, iTable Pgno, piMoved uintptr) int32 { /* sqlite3.c:75880:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -53717,7 +53736,7 @@ func btreeDropTable(tls *libc.TLS, p uintptr, iTable Pgno, piMoved uintptr) int3 var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt if iTable > btreePagecount(tls, pBt) { - return Xsqlite3CorruptError(tls, 75876) + return Xsqlite3CorruptError(tls, 75889) } *(*int32)(unsafe.Pointer(bp + 12 /* rc */)) = Xsqlite3BtreeClearTable(tls, p, int32(iTable), uintptr(0)) @@ -53789,7 +53808,7 @@ func btreeDropTable(tls *libc.TLS, p uintptr, iTable Pgno, piMoved uintptr) int3 return *(*int32)(unsafe.Pointer(bp + 12 /* rc */)) } -func Xsqlite3BtreeDropTable(tls *libc.TLS, p uintptr, iTable int32, piMoved uintptr) int32 { /* sqlite3.c:75952:20: */ +func Xsqlite3BtreeDropTable(tls *libc.TLS, p uintptr, iTable int32, piMoved uintptr) int32 { /* sqlite3.c:75965:20: */ var rc int32 Xsqlite3BtreeEnter(tls, p) rc = btreeDropTable(tls, p, uint32(iTable), piMoved) @@ -53815,7 +53834,7 @@ func Xsqlite3BtreeDropTable(tls *libc.TLS, p uintptr, iTable int32, piMoved uint // database file. It is a number computed by the pager. But its access // pattern is the same as header meta values, and so it is convenient to // read it from this routine. -func Xsqlite3BtreeGetMeta(tls *libc.TLS, p uintptr, idx int32, pMeta uintptr) { /* sqlite3.c:75981:21: */ +func Xsqlite3BtreeGetMeta(tls *libc.TLS, p uintptr, idx int32, pMeta uintptr) { /* sqlite3.c:75994:21: */ var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt Xsqlite3BtreeEnter(tls, p) @@ -53834,7 +53853,7 @@ func Xsqlite3BtreeGetMeta(tls *libc.TLS, p uintptr, idx int32, pMeta uintptr) { // Write meta-information back into the database. Meta[0] is // read-only and may not be written. -func Xsqlite3BtreeUpdateMeta(tls *libc.TLS, p uintptr, idx int32, iMeta U32) int32 { /* sqlite3.c:76011:20: */ +func Xsqlite3BtreeUpdateMeta(tls *libc.TLS, p uintptr, idx int32, iMeta U32) int32 { /* sqlite3.c:76024:20: */ var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt var pP1 uintptr var rc int32 @@ -53860,7 +53879,7 @@ func Xsqlite3BtreeUpdateMeta(tls *libc.TLS, p uintptr, idx int32, iMeta U32) int // SQLITE_OK is returned if the operation is successfully executed. // Otherwise, if an error is encountered (i.e. an IO error or database // corruption) an SQLite error code is returned. -func Xsqlite3BtreeCount(tls *libc.TLS, db uintptr, pCur uintptr, pnEntry uintptr) int32 { /* sqlite3.c:76043:20: */ +func Xsqlite3BtreeCount(tls *libc.TLS, db uintptr, pCur uintptr, pnEntry uintptr) int32 { /* sqlite3.c:76056:20: */ var nEntry I64 = int64(0) // Value to return in *pnEntry var rc int32 // Return code @@ -53923,12 +53942,12 @@ func Xsqlite3BtreeCount(tls *libc.TLS, db uintptr, pCur uintptr, pnEntry uintptr // Return the pager associated with a BTree. This routine is used for // testing and debugging only. -func Xsqlite3BtreePager(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:76112:22: */ +func Xsqlite3BtreePager(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:76125:22: */ return (*BtShared)(unsafe.Pointer((*Btree)(unsafe.Pointer(p)).FpBt)).FpPager } // Append a message to the error message string. -func checkAppendMsg(tls *libc.TLS, pCheck uintptr, zFormat uintptr, va uintptr) { /* sqlite3.c:76120:13: */ +func checkAppendMsg(tls *libc.TLS, pCheck uintptr, zFormat uintptr, va uintptr) { /* sqlite3.c:76133:13: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -53955,13 +53974,13 @@ func checkAppendMsg(tls *libc.TLS, pCheck uintptr, zFormat uintptr, va uintptr) // Return non-zero if the bit in the IntegrityCk.aPgRef[] array that // corresponds to page iPg is already set. -func getPageReferenced(tls *libc.TLS, pCheck uintptr, iPg Pgno) int32 { /* sqlite3.c:76150:12: */ +func getPageReferenced(tls *libc.TLS, pCheck uintptr, iPg Pgno) int32 { /* sqlite3.c:76163:12: */ return int32(*(*U8)(unsafe.Pointer((*IntegrityCk)(unsafe.Pointer(pCheck)).FaPgRef + uintptr(iPg/Pgno(8))))) & (int32(1) << (iPg & Pgno(0x07))) } // Set the bit in the IntegrityCk.aPgRef[] array that corresponds to page iPg. -func setPageReferenced(tls *libc.TLS, pCheck uintptr, iPg Pgno) { /* sqlite3.c:76158:13: */ +func setPageReferenced(tls *libc.TLS, pCheck uintptr, iPg Pgno) { /* sqlite3.c:76171:13: */ *(*U8)(unsafe.Pointer((*IntegrityCk)(unsafe.Pointer(pCheck)).FaPgRef + uintptr(iPg/Pgno(8)))) |= U8(int32(1) << (iPg & Pgno(0x07))) } @@ -53972,7 +53991,7 @@ func setPageReferenced(tls *libc.TLS, pCheck uintptr, iPg Pgno) { /* sqlite3.c:7 // if this is the first reference to the page. // // Also check that the page number is in bounds. -func checkRef(tls *libc.TLS, pCheck uintptr, iPage Pgno) int32 { /* sqlite3.c:76172:12: */ +func checkRef(tls *libc.TLS, pCheck uintptr, iPage Pgno) int32 { /* sqlite3.c:76185:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -53994,7 +54013,7 @@ func checkRef(tls *libc.TLS, pCheck uintptr, iPage Pgno) int32 { /* sqlite3.c:76 // Check that the entry in the pointer-map for page iChild maps to // page iParent, pointer type ptrType. If not, append an error message // to pCheck. -func checkPtrmap(tls *libc.TLS, pCheck uintptr, iChild Pgno, eType U8, iParent Pgno) { /* sqlite3.c:76192:13: */ +func checkPtrmap(tls *libc.TLS, pCheck uintptr, iChild Pgno, eType U8, iParent Pgno) { /* sqlite3.c:76205:13: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -54021,7 +54040,7 @@ func checkPtrmap(tls *libc.TLS, pCheck uintptr, iChild Pgno, eType U8, iParent P // Check the integrity of the freelist or of an overflow page list. // Verify that the number of pages on the list is N. -func checkList(tls *libc.TLS, pCheck uintptr, isFreeList int32, iPage Pgno, N U32) { /* sqlite3.c:76221:13: */ +func checkList(tls *libc.TLS, pCheck uintptr, isFreeList int32, iPage Pgno, N U32) { /* sqlite3.c:76234:13: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -54105,7 +54124,7 @@ func checkList(tls *libc.TLS, pCheck uintptr, isFreeList int32, iPage Pgno, N U3 // entry represents the span of a cell or freeblock on a btree page. // The upper 16 bits are the index of the first byte of a range and the // lower 16 bits are the index of the last byte of that range. -func btreeHeapInsert(tls *libc.TLS, aHeap uintptr, x U32) { /* sqlite3.c:76310:13: */ +func btreeHeapInsert(tls *libc.TLS, aHeap uintptr, x U32) { /* sqlite3.c:76323:13: */ var j U32 var i U32 = libc.PreIncUint32(&*(*U32)(unsafe.Pointer(aHeap)), 1) *(*U32)(unsafe.Pointer(aHeap + uintptr(i)*4)) = x @@ -54117,7 +54136,7 @@ func btreeHeapInsert(tls *libc.TLS, aHeap uintptr, x U32) { /* sqlite3.c:76310:1 } } -func btreeHeapPull(tls *libc.TLS, aHeap uintptr, pOut uintptr) int32 { /* sqlite3.c:76320:12: */ +func btreeHeapPull(tls *libc.TLS, aHeap uintptr, pOut uintptr) int32 { /* sqlite3.c:76333:12: */ var j U32 var i U32 var x U32 @@ -54156,7 +54175,7 @@ func btreeHeapPull(tls *libc.TLS, aHeap uintptr, pOut uintptr) int32 { /* sqlite // 3. Check the integrity of overflow pages. // 4. Recursively call checkTreePage on all children. // 5. Verify that the depth of all children is the same. -func checkTreePage(tls *libc.TLS, pCheck uintptr, iPage Pgno, piMinKey uintptr, maxKey I64) int32 { /* sqlite3.c:76354:12: */ +func checkTreePage(tls *libc.TLS, pCheck uintptr, iPage Pgno, piMinKey uintptr, maxKey I64) int32 { /* sqlite3.c:76367:12: */ bp := tls.Alloc(140) defer tls.Free(140) *(*I64)(unsafe.Pointer(bp + 104)) = maxKey @@ -54545,7 +54564,7 @@ __34: // since obviously it is not possible to know which pages are covered by // the unverified btrees. Except, if aRoot[1] is 1, then the freelist // checks are still performed. -func Xsqlite3BtreeIntegrityCheck(tls *libc.TLS, db uintptr, p uintptr, aRoot uintptr, nRoot int32, mxErr int32, pnErr uintptr) uintptr { /* sqlite3.c:76633:21: */ +func Xsqlite3BtreeIntegrityCheck(tls *libc.TLS, db uintptr, p uintptr, aRoot uintptr, nRoot int32, mxErr int32, pnErr uintptr) uintptr { /* sqlite3.c:76646:21: */ bp := tls.Alloc(248) defer tls.Free(248) @@ -54779,7 +54798,7 @@ __29: // // The pager filename is invariant as long as the pager is // open so it is safe to access without the BtShared mutex. -func Xsqlite3BtreeGetFilename(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:76788:27: */ +func Xsqlite3BtreeGetFilename(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:76801:27: */ return Xsqlite3PagerFilename(tls, (*BtShared)(unsafe.Pointer((*Btree)(unsafe.Pointer(p)).FpBt)).FpPager, 1) } @@ -54790,14 +54809,14 @@ func Xsqlite3BtreeGetFilename(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:7 // // The pager journal filename is invariant as long as the pager is // open so it is safe to access without the BtShared mutex. -func Xsqlite3BtreeGetJournalname(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:76801:27: */ +func Xsqlite3BtreeGetJournalname(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:76814:27: */ return Xsqlite3PagerJournalname(tls, (*BtShared)(unsafe.Pointer((*Btree)(unsafe.Pointer(p)).FpBt)).FpPager) } // Return one of SQLITE_TXN_NONE, SQLITE_TXN_READ, or SQLITE_TXN_WRITE // to describe the current transaction state of Btree p. -func Xsqlite3BtreeTxnState(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:76810:20: */ +func Xsqlite3BtreeTxnState(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:76823:20: */ if p != 0 { return int32((*Btree)(unsafe.Pointer(p)).FinTrans) @@ -54811,7 +54830,7 @@ func Xsqlite3BtreeTxnState(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:76810: // transaction on the shared-cache the argument Btree is connected to. // // Parameter eMode is one of SQLITE_CHECKPOINT_PASSIVE, FULL or RESTART. -func Xsqlite3BtreeCheckpoint(tls *libc.TLS, p uintptr, eMode int32, pnLog uintptr, pnCkpt uintptr) int32 { /* sqlite3.c:76824:20: */ +func Xsqlite3BtreeCheckpoint(tls *libc.TLS, p uintptr, eMode int32, pnLog uintptr, pnCkpt uintptr) int32 { /* sqlite3.c:76837:20: */ var rc int32 = SQLITE_OK if p != 0 { var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt @@ -54827,7 +54846,7 @@ func Xsqlite3BtreeCheckpoint(tls *libc.TLS, p uintptr, eMode int32, pnLog uintpt } // Return true if there is currently a backup running on Btree p. -func Xsqlite3BtreeIsInBackup(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:76843:20: */ +func Xsqlite3BtreeIsInBackup(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:76856:20: */ return libc.Bool32((*Btree)(unsafe.Pointer(p)).FnBackup != 0) } @@ -54850,7 +54869,7 @@ func Xsqlite3BtreeIsInBackup(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:7684 // xFree argument when the memory allocation was made is invoked on the // blob of allocated memory. The xFree function should not call sqlite3_free() // on the memory, the btree layer does that. -func Xsqlite3BtreeSchema(tls *libc.TLS, p uintptr, nBytes int32, xFree uintptr) uintptr { /* sqlite3.c:76869:21: */ +func Xsqlite3BtreeSchema(tls *libc.TLS, p uintptr, nBytes int32, xFree uintptr) uintptr { /* sqlite3.c:76882:21: */ var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt Xsqlite3BtreeEnter(tls, p) if !(int32((*BtShared)(unsafe.Pointer(pBt)).FpSchema) != 0) && nBytes != 0 { @@ -54864,7 +54883,7 @@ func Xsqlite3BtreeSchema(tls *libc.TLS, p uintptr, nBytes int32, xFree uintptr) // Return SQLITE_LOCKED_SHAREDCACHE if another user of the same shared // btree as the argument handle holds an exclusive lock on the // sqlite_schema table. Otherwise SQLITE_OK. -func Xsqlite3BtreeSchemaLocked(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:76885:20: */ +func Xsqlite3BtreeSchemaLocked(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:76898:20: */ var rc int32 Xsqlite3BtreeEnter(tls, p) @@ -54877,7 +54896,7 @@ func Xsqlite3BtreeSchemaLocked(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:76 // Obtain a lock on the table whose root page is iTab. The // lock is a write lock if isWritelock is true or a read lock // if it is false. -func Xsqlite3BtreeLockTable(tls *libc.TLS, p uintptr, iTab int32, isWriteLock U8) int32 { /* sqlite3.c:76902:20: */ +func Xsqlite3BtreeLockTable(tls *libc.TLS, p uintptr, iTab int32, isWriteLock U8) int32 { /* sqlite3.c:76915:20: */ var rc int32 = SQLITE_OK if (*Btree)(unsafe.Pointer(p)).Fsharable != 0 { @@ -54901,7 +54920,7 @@ func Xsqlite3BtreeLockTable(tls *libc.TLS, p uintptr, iTab int32, isWriteLock U8 // change the length of the data stored. If this function is called with // parameters that attempt to write past the end of the existing data, // no modifications are made and SQLITE_CORRUPT is returned. -func Xsqlite3BtreePutData(tls *libc.TLS, pCsr uintptr, offset U32, amt U32, z uintptr) int32 { /* sqlite3.c:76932:20: */ +func Xsqlite3BtreePutData(tls *libc.TLS, pCsr uintptr, offset U32, amt U32, z uintptr) int32 { /* sqlite3.c:76945:20: */ var rc int32 rc = func() int32 { @@ -54941,7 +54960,7 @@ func Xsqlite3BtreePutData(tls *libc.TLS, pCsr uintptr, offset U32, amt U32, z ui } // Mark this cursor as an incremental blob cursor. -func Xsqlite3BtreeIncrblobCursor(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:76980:21: */ +func Xsqlite3BtreeIncrblobCursor(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:76993:21: */ *(*U8)(unsafe.Pointer(pCur + 1)) |= U8(BTCF_Incrblob) (*Btree)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pCur)).FpBtree)).FhasIncrblobCur = U8(1) } @@ -54949,7 +54968,7 @@ func Xsqlite3BtreeIncrblobCursor(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:769 // Set both the "read version" (single byte at byte offset 18) and // "write version" (single byte at byte offset 19) fields in the database // header to iVersion. -func Xsqlite3BtreeSetVersion(tls *libc.TLS, pBtree uintptr, iVersion int32) int32 { /* sqlite3.c:76991:20: */ +func Xsqlite3BtreeSetVersion(tls *libc.TLS, pBtree uintptr, iVersion int32) int32 { /* sqlite3.c:77004:20: */ var pBt uintptr = (*Btree)(unsafe.Pointer(pBtree)).FpBt var rc int32 // Return code @@ -54981,29 +55000,29 @@ func Xsqlite3BtreeSetVersion(tls *libc.TLS, pBtree uintptr, iVersion int32) int3 // Return true if the cursor has a hint specified. This routine is // only used from within assert() statements -func Xsqlite3BtreeCursorHasHint(tls *libc.TLS, pCsr uintptr, mask uint32) int32 { /* sqlite3.c:77026:20: */ +func Xsqlite3BtreeCursorHasHint(tls *libc.TLS, pCsr uintptr, mask uint32) int32 { /* sqlite3.c:77039:20: */ return libc.Bool32(uint32((*BtCursor)(unsafe.Pointer(pCsr)).Fhints)&mask != uint32(0)) } // Return true if the given Btree is read-only. -func Xsqlite3BtreeIsReadonly(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:77033:20: */ +func Xsqlite3BtreeIsReadonly(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:77046:20: */ return libc.Bool32(int32((*BtShared)(unsafe.Pointer((*Btree)(unsafe.Pointer(p)).FpBt)).FbtsFlags)&BTS_READ_ONLY != 0) } // Return the size of the header added to each page by this module. -func Xsqlite3HeaderSizeBtree(tls *libc.TLS) int32 { /* sqlite3.c:77040:20: */ +func Xsqlite3HeaderSizeBtree(tls *libc.TLS) int32 { /* sqlite3.c:77053:20: */ return int32((uint64(unsafe.Sizeof(MemPage{})) + uint64(7)) & libc.Uint64FromInt32(libc.CplInt32(7))) } // Return true if the Btree passed as the only argument is sharable. -func Xsqlite3BtreeSharable(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:77046:20: */ +func Xsqlite3BtreeSharable(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:77059:20: */ return int32((*Btree)(unsafe.Pointer(p)).Fsharable) } // Return the number of connections to the BtShared object accessed by // the Btree handle passed as the only argument. For private caches // this is always 1. For shared caches it may be 1 or greater. -func Xsqlite3BtreeConnectionCount(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:77055:20: */ +func Xsqlite3BtreeConnectionCount(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:77068:20: */ return (*BtShared)(unsafe.Pointer((*Btree)(unsafe.Pointer(p)).FpBt)).FnRef } @@ -55043,7 +55062,7 @@ func Xsqlite3BtreeConnectionCount(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c // If the "temp" database is requested, it may need to be opened by this // function. If an error occurs while doing so, return 0 and write an // error message to pErrorDb. -func findBtree(tls *libc.TLS, pErrorDb uintptr, pDb uintptr, zDb uintptr) uintptr { /* sqlite3.c:77144:14: */ +func findBtree(tls *libc.TLS, pErrorDb uintptr, pDb uintptr, zDb uintptr) uintptr { /* sqlite3.c:77157:14: */ bp := tls.Alloc(424) defer tls.Free(424) @@ -55075,7 +55094,7 @@ func findBtree(tls *libc.TLS, pErrorDb uintptr, pDb uintptr, zDb uintptr) uintpt // Attempt to set the page size of the destination to match the page size // of the source. -func setDestPgsz(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:77174:12: */ +func setDestPgsz(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:77187:12: */ var rc int32 rc = Xsqlite3BtreeSetPageSize(tls, (*Sqlite3_backup)(unsafe.Pointer(p)).FpDest, Xsqlite3BtreeGetPageSize(tls, (*Sqlite3_backup)(unsafe.Pointer(p)).FpSrc), 0, 0) return rc @@ -55085,7 +55104,7 @@ func setDestPgsz(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:77174:12: */ // second argument. If there is not, return SQLITE_OK. Otherwise, if there // is an open read-transaction, return SQLITE_ERROR and leave an error // message in database handle db. -func checkReadTransaction(tls *libc.TLS, db uintptr, p uintptr) int32 { /* sqlite3.c:77186:12: */ +func checkReadTransaction(tls *libc.TLS, db uintptr, p uintptr) int32 { /* sqlite3.c:77199:12: */ if Xsqlite3BtreeTxnState(tls, p) != SQLITE_TXN_NONE { Xsqlite3ErrorWithMsg(tls, db, SQLITE_ERROR, ts+4805, 0) return SQLITE_ERROR @@ -55099,7 +55118,7 @@ func checkReadTransaction(tls *libc.TLS, db uintptr, p uintptr) int32 { /* sqlit // // If an error occurs, NULL is returned and an error code and error message // stored in database handle pDestDb. -func Xsqlite3_backup_init(tls *libc.TLS, pDestDb uintptr, zDestDb uintptr, pSrcDb uintptr, zSrcDb uintptr) uintptr { /* sqlite3.c:77202:27: */ +func Xsqlite3_backup_init(tls *libc.TLS, pDestDb uintptr, zDestDb uintptr, pSrcDb uintptr, zSrcDb uintptr) uintptr { /* sqlite3.c:77215:27: */ var p uintptr // Value to return // Lock the source database handle. The destination database @@ -55159,14 +55178,14 @@ func Xsqlite3_backup_init(tls *libc.TLS, pDestDb uintptr, zDestDb uintptr, pSrcD // Argument rc is an SQLite error code. Return true if this error is // considered fatal if encountered during a backup operation. All errors // are considered fatal except for SQLITE_BUSY and SQLITE_LOCKED. -func isFatalError(tls *libc.TLS, rc int32) int32 { /* sqlite3.c:77279:12: */ +func isFatalError(tls *libc.TLS, rc int32) int32 { /* sqlite3.c:77292:12: */ return libc.Bool32(rc != SQLITE_OK && rc != SQLITE_BUSY && rc != SQLITE_LOCKED) } // Parameter zSrcData points to a buffer containing the data for // page iSrcPg from the source database. Copy this data into the // destination database. -func backupOnePage(tls *libc.TLS, p uintptr, iSrcPg Pgno, zSrcData uintptr, bUpdate int32) int32 { /* sqlite3.c:77288:12: */ +func backupOnePage(tls *libc.TLS, p uintptr, iSrcPg Pgno, zSrcData uintptr, bUpdate int32) int32 { /* sqlite3.c:77301:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -55228,7 +55247,7 @@ func backupOnePage(tls *libc.TLS, p uintptr, iSrcPg Pgno, zSrcData uintptr, bUpd // // Return SQLITE_OK if everything is successful, or an SQLite error // code if an error occurs. -func backupTruncateFile(tls *libc.TLS, pFile uintptr, iSize I64) int32 { /* sqlite3.c:77357:12: */ +func backupTruncateFile(tls *libc.TLS, pFile uintptr, iSize I64) int32 { /* sqlite3.c:77370:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -55243,7 +55262,7 @@ func backupTruncateFile(tls *libc.TLS, pFile uintptr, iSize I64) int32 { /* sqli // Register this backup object with the associated source pager for // callbacks when pages are changed or the cache invalidated. -func attachBackupObject(tls *libc.TLS, p uintptr) { /* sqlite3.c:77370:13: */ +func attachBackupObject(tls *libc.TLS, p uintptr) { /* sqlite3.c:77383:13: */ var pp uintptr pp = Xsqlite3PagerBackupPtr(tls, Xsqlite3BtreePager(tls, (*Sqlite3_backup)(unsafe.Pointer(p)).FpSrc)) @@ -55253,7 +55272,7 @@ func attachBackupObject(tls *libc.TLS, p uintptr) { /* sqlite3.c:77370:13: */ } // Copy nPage pages from the source b-tree to the destination. -func Xsqlite3_backup_step(tls *libc.TLS, p uintptr, nPage int32) int32 { /* sqlite3.c:77382:16: */ +func Xsqlite3_backup_step(tls *libc.TLS, p uintptr, nPage int32) int32 { /* sqlite3.c:77395:16: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -55491,7 +55510,7 @@ func Xsqlite3_backup_step(tls *libc.TLS, p uintptr, nPage int32) int32 { /* sqli } // Release all resources associated with an sqlite3_backup* handle. -func Xsqlite3_backup_finish(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:77636:16: */ +func Xsqlite3_backup_finish(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:77649:16: */ var pp uintptr // Ptr to head of pagers backup list var pSrcDb uintptr // Source database connection var rc int32 // Value to return @@ -55549,13 +55568,13 @@ func Xsqlite3_backup_finish(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:77636 // Return the number of pages still to be backed up as of the most recent // call to sqlite3_backup_step(). -func Xsqlite3_backup_remaining(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:77690:16: */ +func Xsqlite3_backup_remaining(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:77703:16: */ return int32((*Sqlite3_backup)(unsafe.Pointer(p)).FnRemaining) } // Return the total number of pages in the source database as of the most // recent call to sqlite3_backup_step(). -func Xsqlite3_backup_pagecount(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:77704:16: */ +func Xsqlite3_backup_pagecount(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:77717:16: */ return int32((*Sqlite3_backup)(unsafe.Pointer(p)).FnPagecount) } @@ -55569,7 +55588,7 @@ func Xsqlite3_backup_pagecount(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:77 // It is assumed that the mutex associated with the BtShared object // corresponding to the source database is held when this function is // called. -func backupUpdate(tls *libc.TLS, p uintptr, iPage Pgno, aData uintptr) { /* sqlite3.c:77726:29: */ +func backupUpdate(tls *libc.TLS, p uintptr, iPage Pgno, aData uintptr) { /* sqlite3.c:77739:29: */ for __ccgo := true; __ccgo; __ccgo = libc.AssignUintptr(&p, (*Sqlite3_backup)(unsafe.Pointer(p)).FpNext) != uintptr(0) { @@ -55590,7 +55609,7 @@ func backupUpdate(tls *libc.TLS, p uintptr, iPage Pgno, aData uintptr) { /* sqli } } -func Xsqlite3BackupUpdate(tls *libc.TLS, pBackup uintptr, iPage Pgno, aData uintptr) { /* sqlite3.c:77751:21: */ +func Xsqlite3BackupUpdate(tls *libc.TLS, pBackup uintptr, iPage Pgno, aData uintptr) { /* sqlite3.c:77764:21: */ if pBackup != 0 { backupUpdate(tls, pBackup, iPage, aData) } @@ -55605,7 +55624,7 @@ func Xsqlite3BackupUpdate(tls *libc.TLS, pBackup uintptr, iPage Pgno, aData uint // It is assumed that the mutex associated with the BtShared object // corresponding to the source database is held when this function is // called. -func Xsqlite3BackupRestart(tls *libc.TLS, pBackup uintptr) { /* sqlite3.c:77766:21: */ +func Xsqlite3BackupRestart(tls *libc.TLS, pBackup uintptr) { /* sqlite3.c:77779:21: */ var p uintptr // Iterator variable for p = pBackup; p != 0; p = (*Sqlite3_backup)(unsafe.Pointer(p)).FpNext { @@ -55619,7 +55638,7 @@ func Xsqlite3BackupRestart(tls *libc.TLS, pBackup uintptr) { /* sqlite3.c:77766: // The size of file pTo may be reduced by this operation. If anything // goes wrong, the transaction on pTo is rolled back. If successful, the // transaction is committed before returning. -func Xsqlite3BtreeCopyFile(tls *libc.TLS, pTo uintptr, pFrom uintptr) int32 { /* sqlite3.c:77783:20: */ +func Xsqlite3BtreeCopyFile(tls *libc.TLS, pTo uintptr, pFrom uintptr) int32 { /* sqlite3.c:77796:20: */ bp := tls.Alloc(80) defer tls.Free(80) @@ -55713,7 +55732,7 @@ copy_finished: // Render a Mem object which is one of MEM_Int, MEM_Real, or MEM_IntReal // into a buffer. -func vdbeMemRenderNum(tls *libc.TLS, sz int32, zBuf uintptr, p uintptr) { /* sqlite3.c:77941:13: */ +func vdbeMemRenderNum(tls *libc.TLS, sz int32, zBuf uintptr, p uintptr) { /* sqlite3.c:77954:13: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -55751,7 +55770,7 @@ func vdbeMemRenderNum(tls *libc.TLS, sz int32, zBuf uintptr, p uintptr) { /* sql // SQLITE_OK is returned if the conversion is successful (or not required). // SQLITE_NOMEM may be returned if a malloc() fails during conversion // between formats. -func Xsqlite3VdbeChangeEncoding(tls *libc.TLS, pMem uintptr, desiredEnc int32) int32 { /* sqlite3.c:78034:20: */ +func Xsqlite3VdbeChangeEncoding(tls *libc.TLS, pMem uintptr, desiredEnc int32) int32 { /* sqlite3.c:78047:20: */ var rc int32 if !(int32((*Mem)(unsafe.Pointer(pMem)).Fflags)&MEM_Str != 0) || int32((*Mem)(unsafe.Pointer(pMem)).Fenc) == desiredEnc { @@ -55771,7 +55790,7 @@ func Xsqlite3VdbeChangeEncoding(tls *libc.TLS, pMem uintptr, desiredEnc int32) i // pMem->z into the new allocation. pMem must be either a string or // blob if bPreserve is true. If bPreserve is false, any prior content // in pMem->z is discarded. -func Xsqlite3VdbeMemGrow(tls *libc.TLS, pMem uintptr, n int32, bPreserve int32) int32 { /* sqlite3.c:78069:36: */ +func Xsqlite3VdbeMemGrow(tls *libc.TLS, pMem uintptr, n int32, bPreserve int32) int32 { /* sqlite3.c:78082:36: */ // If the bPreserve flag is set to true, then the memory cell must already // contain a valid string or blob value. @@ -55827,7 +55846,7 @@ func Xsqlite3VdbeMemGrow(tls *libc.TLS, pMem uintptr, n int32, bPreserve int32) // // Return SQLITE_OK on success or an error code (probably SQLITE_NOMEM) // if unable to complete the resizing. -func Xsqlite3VdbeMemClearAndResize(tls *libc.TLS, pMem uintptr, szNew int32) int32 { /* sqlite3.c:78132:20: */ +func Xsqlite3VdbeMemClearAndResize(tls *libc.TLS, pMem uintptr, szNew int32) int32 { /* sqlite3.c:78145:20: */ if (*Mem)(unsafe.Pointer(pMem)).FszMalloc < szNew { return Xsqlite3VdbeMemGrow(tls, pMem, szNew, 0) @@ -55845,7 +55864,7 @@ func Xsqlite3VdbeMemClearAndResize(tls *libc.TLS, pMem uintptr, szNew int32) int // to be a double-zero byte at an even byte boundary in order to // terminate a UTF16 string, even if the initial size of the buffer // is an odd number of bytes. -func vdbeMemAddTerminator(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c:78153:28: */ +func vdbeMemAddTerminator(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c:78166:28: */ if Xsqlite3VdbeMemGrow(tls, pMem, (*Mem)(unsafe.Pointer(pMem)).Fn+3, 1) != 0 { return SQLITE_NOMEM } @@ -55860,7 +55879,7 @@ func vdbeMemAddTerminator(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c:7815 // MEM.zMalloc, where it can be safely written. // // Return SQLITE_OK on success or SQLITE_NOMEM if malloc fails. -func Xsqlite3VdbeMemMakeWriteable(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c:78170:20: */ +func Xsqlite3VdbeMemMakeWriteable(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c:78183:20: */ if int32((*Mem)(unsafe.Pointer(pMem)).Fflags)&(MEM_Str|MEM_Blob) != 0 { if func() int32 { @@ -55885,7 +55904,7 @@ func Xsqlite3VdbeMemMakeWriteable(tls *libc.TLS, pMem uintptr) int32 { /* sqlite // If the given Mem* has a zero-filled tail, turn it into an ordinary // blob stored in dynamically allocated space. -func Xsqlite3VdbeMemExpandBlob(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c:78194:20: */ +func Xsqlite3VdbeMemExpandBlob(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c:78207:20: */ var nByte int32 // Set nByte to the number of bytes required to store the expanded blob. @@ -55907,7 +55926,7 @@ func Xsqlite3VdbeMemExpandBlob(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c } // Make sure the given Mem is \u0000 terminated. -func Xsqlite3VdbeMemNulTerminate(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c:78225:20: */ +func Xsqlite3VdbeMemNulTerminate(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c:78238:20: */ if int32((*Mem)(unsafe.Pointer(pMem)).Fflags)&(MEM_Term|MEM_Str) != MEM_Str { return SQLITE_OK // Nothing to do @@ -55929,7 +55948,7 @@ func Xsqlite3VdbeMemNulTerminate(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3 // sqlite3_value_text()), or for ensuring that values to be used as btree // keys are strings. In the former case a NULL pointer is returned the // user and the latter is an internal programming error. -func Xsqlite3VdbeMemStringify(tls *libc.TLS, pMem uintptr, enc U8, bForce U8) int32 { /* sqlite3.c:78251:20: */ +func Xsqlite3VdbeMemStringify(tls *libc.TLS, pMem uintptr, enc U8, bForce U8) int32 { /* sqlite3.c:78264:20: */ var nByte int32 = 32 if Xsqlite3VdbeMemClearAndResize(tls, pMem, nByte) != 0 { @@ -55955,7 +55974,7 @@ func Xsqlite3VdbeMemStringify(tls *libc.TLS, pMem uintptr, enc U8, bForce U8) in // // Return SQLITE_ERROR if the finalizer reports an error. SQLITE_OK // otherwise. -func Xsqlite3VdbeMemFinalize(tls *libc.TLS, pMem uintptr, pFunc uintptr) int32 { /* sqlite3.c:78286:20: */ +func Xsqlite3VdbeMemFinalize(tls *libc.TLS, pMem uintptr, pFunc uintptr) int32 { /* sqlite3.c:78299:20: */ bp := tls.Alloc(112) defer tls.Free(112) @@ -55985,7 +56004,7 @@ func Xsqlite3VdbeMemFinalize(tls *libc.TLS, pMem uintptr, pFunc uintptr) int32 { // // SQLITE_ERROR is returned if xValue() reports an error. SQLITE_OK // otherwise. -func Xsqlite3VdbeMemAggValue(tls *libc.TLS, pAccum uintptr, pOut uintptr, pFunc uintptr) int32 { /* sqlite3.c:78317:20: */ +func Xsqlite3VdbeMemAggValue(tls *libc.TLS, pAccum uintptr, pOut uintptr, pFunc uintptr) int32 { /* sqlite3.c:78330:20: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -56007,7 +56026,7 @@ func Xsqlite3VdbeMemAggValue(tls *libc.TLS, pAccum uintptr, pOut uintptr, pFunc // This is a helper routine for sqlite3VdbeMemSetNull() and // for sqlite3VdbeMemRelease(). Use those other routines as the // entry point for releasing Mem resources. -func vdbeMemClearExternAndSetNull(tls *libc.TLS, p uintptr) { /* sqlite3.c:78342:29: */ +func vdbeMemClearExternAndSetNull(tls *libc.TLS, p uintptr) { /* sqlite3.c:78355:29: */ if int32((*Mem)(unsafe.Pointer(p)).Fflags)&MEM_Agg != 0 { Xsqlite3VdbeMemFinalize(tls, p, *(*uintptr)(unsafe.Pointer(p))) @@ -56026,7 +56045,7 @@ func vdbeMemClearExternAndSetNull(tls *libc.TLS, p uintptr) { /* sqlite3.c:78342 // This is a helper routine invoked by sqlite3VdbeMemRelease() in // the unusual case where there really is memory in p that needs // to be freed. -func vdbeMemClear(tls *libc.TLS, p uintptr) { /* sqlite3.c:78365:29: */ +func vdbeMemClear(tls *libc.TLS, p uintptr) { /* sqlite3.c:78378:29: */ if int32((*Mem)(unsafe.Pointer(p)).Fflags)&(MEM_Agg|MEM_Dyn) != 0 { vdbeMemClearExternAndSetNull(tls, p) } @@ -56045,7 +56064,7 @@ func vdbeMemClear(tls *libc.TLS, p uintptr) { /* sqlite3.c:78365:29: */ // // Use sqlite3VdbeMemSetNull() to release just the Mem.xDel space // prior to inserting new content into the Mem. -func Xsqlite3VdbeMemRelease(tls *libc.TLS, p uintptr) { /* sqlite3.c:78386:21: */ +func Xsqlite3VdbeMemRelease(tls *libc.TLS, p uintptr) { /* sqlite3.c:78399:21: */ if int32((*Mem)(unsafe.Pointer(p)).Fflags)&(MEM_Agg|MEM_Dyn) != 0 || (*Mem)(unsafe.Pointer(p)).FszMalloc != 0 { vdbeMemClear(tls, p) @@ -56055,7 +56074,7 @@ func Xsqlite3VdbeMemRelease(tls *libc.TLS, p uintptr) { /* sqlite3.c:78386:21: * // Convert a 64-bit IEEE double into a 64-bit signed integer. // If the double is out of range of a 64-bit signed integer then // return the closest available 64-bit signed integer. -func doubleToInt64(tls *libc.TLS, r float64) I64 { /* sqlite3.c:78398:28: */ +func doubleToInt64(tls *libc.TLS, r float64) I64 { /* sqlite3.c:78411:28: */ if r <= float64(minInt) { return minInt @@ -56067,8 +56086,8 @@ func doubleToInt64(tls *libc.TLS, r float64) I64 { /* sqlite3.c:78398:28: */ return I64(0) } -var maxInt I64 = int64(0xffffffff) | I64(int64(0x7fffffff))<<32 /* sqlite3.c:78410:20 */ -var minInt I64 = int64(-1) - (int64(0xffffffff) | I64(int64(0x7fffffff))<<32) /* sqlite3.c:78411:20 */ +var maxInt I64 = int64(0xffffffff) | I64(int64(0x7fffffff))<<32 /* sqlite3.c:78423:20 */ +var minInt I64 = int64(-1) - (int64(0xffffffff) | I64(int64(0x7fffffff))<<32) /* sqlite3.c:78424:20 */ // Return some kind of integer value which is the best we can do // at representing the value that *pMem describes as an integer. @@ -56079,7 +56098,7 @@ var minInt I64 = int64(-1) - (int64(0xffffffff) | I64(int64(0x7fffffff))<<32) /* // an SQL-NULL value, return 0. // // If pMem represents a string value, its encoding might be changed. -func memIntValue(tls *libc.TLS, pMem uintptr) I64 { /* sqlite3.c:78434:28: */ +func memIntValue(tls *libc.TLS, pMem uintptr) I64 { /* sqlite3.c:78447:28: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -56088,7 +56107,7 @@ func memIntValue(tls *libc.TLS, pMem uintptr) I64 { /* sqlite3.c:78434:28: */ return *(*I64)(unsafe.Pointer(bp /* value */)) } -func Xsqlite3VdbeIntValue(tls *libc.TLS, pMem uintptr) I64 { /* sqlite3.c:78439:20: */ +func Xsqlite3VdbeIntValue(tls *libc.TLS, pMem uintptr) I64 { /* sqlite3.c:78452:20: */ var flags int32 flags = int32((*Mem)(unsafe.Pointer(pMem)).Fflags) @@ -56109,7 +56128,7 @@ func Xsqlite3VdbeIntValue(tls *libc.TLS, pMem uintptr) I64 { /* sqlite3.c:78439: // double. If pMem is already a double or an integer, return its // value. If it is a string or blob, try to convert it to a double. // If it is a NULL, return 0.0. -func memRealValue(tls *libc.TLS, pMem uintptr) float64 { /* sqlite3.c:78463:31: */ +func memRealValue(tls *libc.TLS, pMem uintptr) float64 { /* sqlite3.c:78476:31: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -56119,7 +56138,7 @@ func memRealValue(tls *libc.TLS, pMem uintptr) float64 { /* sqlite3.c:78463:31: return *(*float64)(unsafe.Pointer(bp /* val */)) } -func Xsqlite3VdbeRealValue(tls *libc.TLS, pMem uintptr) float64 { /* sqlite3.c:78469:23: */ +func Xsqlite3VdbeRealValue(tls *libc.TLS, pMem uintptr) float64 { /* sqlite3.c:78482:23: */ if int32((*Mem)(unsafe.Pointer(pMem)).Fflags)&MEM_Real != 0 { return *(*float64)(unsafe.Pointer(pMem)) @@ -56137,7 +56156,7 @@ func Xsqlite3VdbeRealValue(tls *libc.TLS, pMem uintptr) float64 { /* sqlite3.c:7 // Return 1 if pMem represents true, and return 0 if pMem represents false. // Return the value ifNull if pMem is NULL. -func Xsqlite3VdbeBooleanValue(tls *libc.TLS, pMem uintptr, ifNull int32) int32 { /* sqlite3.c:78490:20: */ +func Xsqlite3VdbeBooleanValue(tls *libc.TLS, pMem uintptr, ifNull int32) int32 { /* sqlite3.c:78503:20: */ if int32((*Mem)(unsafe.Pointer(pMem)).Fflags)&(MEM_Int|MEM_IntReal) != 0 { return libc.Bool32(*(*I64)(unsafe.Pointer(pMem)) != int64(0)) @@ -56150,7 +56169,7 @@ func Xsqlite3VdbeBooleanValue(tls *libc.TLS, pMem uintptr, ifNull int32) int32 { // The MEM structure is already a MEM_Real. Try to also make it a // MEM_Int if we can. -func Xsqlite3VdbeIntegerAffinity(tls *libc.TLS, pMem uintptr) { /* sqlite3.c:78501:21: */ +func Xsqlite3VdbeIntegerAffinity(tls *libc.TLS, pMem uintptr) { /* sqlite3.c:78514:21: */ var ix I64 ix = doubleToInt64(tls, *(*float64)(unsafe.Pointer(pMem))) @@ -56171,7 +56190,7 @@ func Xsqlite3VdbeIntegerAffinity(tls *libc.TLS, pMem uintptr) { /* sqlite3.c:785 } // Convert pMem to type integer. Invalidate any prior representations. -func Xsqlite3VdbeMemIntegerify(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c:78530:20: */ +func Xsqlite3VdbeMemIntegerify(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c:78543:20: */ *(*I64)(unsafe.Pointer(pMem)) = Xsqlite3VdbeIntValue(tls, pMem) (*Mem)(unsafe.Pointer(pMem)).Fflags = U16(int32((*Mem)(unsafe.Pointer(pMem)).Fflags)&libc.CplInt32(MEM_TypeMask|MEM_Zero) | MEM_Int) @@ -56180,7 +56199,7 @@ func Xsqlite3VdbeMemIntegerify(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c // Convert pMem so that it is of type MEM_Real. // Invalidate any prior representations. -func Xsqlite3VdbeMemRealify(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c:78545:20: */ +func Xsqlite3VdbeMemRealify(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c:78558:20: */ *(*float64)(unsafe.Pointer(pMem)) = Xsqlite3VdbeRealValue(tls, pMem) (*Mem)(unsafe.Pointer(pMem)).Fflags = U16(int32((*Mem)(unsafe.Pointer(pMem)).Fflags)&libc.CplInt32(MEM_TypeMask|MEM_Zero) | MEM_Real) @@ -56195,7 +56214,7 @@ func Xsqlite3VdbeMemRealify(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c:78 // For some versions of GCC on 32-bit machines, if you do the more obvious // comparison of "r1==(double)i" you sometimes get an answer of false even // though the r1 and (double)i values are bit-for-bit the same. -func Xsqlite3RealSameAsInt(tls *libc.TLS, r1 float64, i Sqlite3_int64) int32 { /* sqlite3.c:78564:20: */ +func Xsqlite3RealSameAsInt(tls *libc.TLS, r1 float64, i Sqlite3_int64) int32 { /* sqlite3.c:78577:20: */ bp := tls.Alloc(16) defer tls.Free(16) *(*float64)(unsafe.Pointer(bp)) = r1 @@ -56212,7 +56231,7 @@ func Xsqlite3RealSameAsInt(tls *libc.TLS, r1 float64, i Sqlite3_int64) int32 { / // Every effort is made to force the conversion, even if the input // is a string that does not look completely like a number. Convert // as much of the string as we can and ignore the rest. -func Xsqlite3VdbeMemNumerify(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c:78579:20: */ +func Xsqlite3VdbeMemNumerify(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c:78592:20: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -56239,7 +56258,7 @@ func Xsqlite3VdbeMemNumerify(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c:7 // is forced. In other words, the value is converted into the desired // affinity even if that results in loss of data. This routine is // used (for example) to implement the SQL "cast()" operator. -func Xsqlite3VdbeMemCast(tls *libc.TLS, pMem uintptr, aff U8, encoding U8) int32 { /* sqlite3.c:78612:20: */ +func Xsqlite3VdbeMemCast(tls *libc.TLS, pMem uintptr, aff U8, encoding U8) int32 { /* sqlite3.c:78625:20: */ if int32((*Mem)(unsafe.Pointer(pMem)).Fflags)&MEM_Null != 0 { return SQLITE_OK } @@ -56293,7 +56312,7 @@ func Xsqlite3VdbeMemCast(tls *libc.TLS, pMem uintptr, aff U8, encoding U8) int32 // Initialize bulk memory to be a consistent Mem object. // // The minimum amount of initialization feasible is performed. -func Xsqlite3VdbeMemInit(tls *libc.TLS, pMem uintptr, db uintptr, flags U16) { /* sqlite3.c:78655:21: */ +func Xsqlite3VdbeMemInit(tls *libc.TLS, pMem uintptr, db uintptr, flags U16) { /* sqlite3.c:78668:21: */ (*Mem)(unsafe.Pointer(pMem)).Fflags = flags (*Mem)(unsafe.Pointer(pMem)).Fdb = db @@ -56310,7 +56329,7 @@ func Xsqlite3VdbeMemInit(tls *libc.TLS, pMem uintptr, db uintptr, flags U16) { / // Use this routine to reset the Mem prior to insert a new value. // // Use sqlite3VdbeMemRelease() to complete erase the Mem prior to abandoning it. -func Xsqlite3VdbeMemSetNull(tls *libc.TLS, pMem uintptr) { /* sqlite3.c:78675:21: */ +func Xsqlite3VdbeMemSetNull(tls *libc.TLS, pMem uintptr) { /* sqlite3.c:78688:21: */ if int32((*Mem)(unsafe.Pointer(pMem)).Fflags)&(MEM_Agg|MEM_Dyn) != 0 { vdbeMemClearExternAndSetNull(tls, pMem) } else { @@ -56318,13 +56337,13 @@ func Xsqlite3VdbeMemSetNull(tls *libc.TLS, pMem uintptr) { /* sqlite3.c:78675:21 } } -func Xsqlite3ValueSetNull(tls *libc.TLS, p uintptr) { /* sqlite3.c:78682:21: */ +func Xsqlite3ValueSetNull(tls *libc.TLS, p uintptr) { /* sqlite3.c:78695:21: */ Xsqlite3VdbeMemSetNull(tls, p) } // Delete any previous value and set the value to be a BLOB of length // n containing all zeros. -func Xsqlite3VdbeMemSetZeroBlob(tls *libc.TLS, pMem uintptr, n int32) { /* sqlite3.c:78691:21: */ +func Xsqlite3VdbeMemSetZeroBlob(tls *libc.TLS, pMem uintptr, n int32) { /* sqlite3.c:78704:21: */ Xsqlite3VdbeMemRelease(tls, pMem) (*Mem)(unsafe.Pointer(pMem)).Fflags = U16(MEM_Blob | MEM_Zero) (*Mem)(unsafe.Pointer(pMem)).Fn = 0 @@ -56339,7 +56358,7 @@ func Xsqlite3VdbeMemSetZeroBlob(tls *libc.TLS, pMem uintptr, n int32) { /* sqlit // The pMem is known to contain content that needs to be destroyed prior // to a value change. So invoke the destructor, then set the value to // a 64-bit integer. -func vdbeReleaseAndSetInt64(tls *libc.TLS, pMem uintptr, val I64) { /* sqlite3.c:78721:29: */ +func vdbeReleaseAndSetInt64(tls *libc.TLS, pMem uintptr, val I64) { /* sqlite3.c:78734:29: */ Xsqlite3VdbeMemSetNull(tls, pMem) *(*I64)(unsafe.Pointer(pMem)) = val (*Mem)(unsafe.Pointer(pMem)).Fflags = U16(MEM_Int) @@ -56347,7 +56366,7 @@ func vdbeReleaseAndSetInt64(tls *libc.TLS, pMem uintptr, val I64) { /* sqlite3.c // Delete any previous value and set the value stored in *pMem to val, // manifest type INTEGER. -func Xsqlite3VdbeMemSetInt64(tls *libc.TLS, pMem uintptr, val I64) { /* sqlite3.c:78731:21: */ +func Xsqlite3VdbeMemSetInt64(tls *libc.TLS, pMem uintptr, val I64) { /* sqlite3.c:78744:21: */ if int32((*Mem)(unsafe.Pointer(pMem)).Fflags)&(MEM_Agg|MEM_Dyn) != 0 { vdbeReleaseAndSetInt64(tls, pMem, val) } else { @@ -56357,13 +56376,13 @@ func Xsqlite3VdbeMemSetInt64(tls *libc.TLS, pMem uintptr, val I64) { /* sqlite3. } // A no-op destructor -func Xsqlite3NoopDestructor(tls *libc.TLS, p uintptr) { /* sqlite3.c:78741:21: */ +func Xsqlite3NoopDestructor(tls *libc.TLS, p uintptr) { /* sqlite3.c:78754:21: */ _ = p } // Set the value stored in *pMem should already be a NULL. // Also store a pointer to go with it. -func Xsqlite3VdbeMemSetPointer(tls *libc.TLS, pMem uintptr, pPtr uintptr, zPType uintptr, xDestructor uintptr) { /* sqlite3.c:78747:21: */ +func Xsqlite3VdbeMemSetPointer(tls *libc.TLS, pMem uintptr, pPtr uintptr, zPType uintptr, xDestructor uintptr) { /* sqlite3.c:78760:21: */ vdbeMemClear(tls, pMem) *(*uintptr)(unsafe.Pointer(pMem)) = func() uintptr { @@ -56385,7 +56404,7 @@ func Xsqlite3VdbeMemSetPointer(tls *libc.TLS, pMem uintptr, pPtr uintptr, zPType // Delete any previous value and set the value stored in *pMem to val, // manifest type REAL. -func Xsqlite3VdbeMemSetDouble(tls *libc.TLS, pMem uintptr, val float64) { /* sqlite3.c:78767:21: */ +func Xsqlite3VdbeMemSetDouble(tls *libc.TLS, pMem uintptr, val float64) { /* sqlite3.c:78780:21: */ Xsqlite3VdbeMemSetNull(tls, pMem) if !(Xsqlite3IsNaN(tls, val) != 0) { *(*float64)(unsafe.Pointer(pMem)) = val @@ -56398,7 +56417,7 @@ func Xsqlite3VdbeMemSetDouble(tls *libc.TLS, pMem uintptr, val float64) { /* sql // // Return SQLITE_OK on success and SQLITE_NOMEM if a memory allocation // error occurs. -func Xsqlite3VdbeMemSetRowSet(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c:78794:20: */ +func Xsqlite3VdbeMemSetRowSet(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c:78807:20: */ var db uintptr = (*Mem)(unsafe.Pointer(pMem)).Fdb var p uintptr @@ -56415,7 +56434,7 @@ func Xsqlite3VdbeMemSetRowSet(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c: // Return true if the Mem object contains a TEXT or BLOB that is // too large - whose size exceeds SQLITE_MAX_LENGTH. -func Xsqlite3VdbeMemTooBig(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:78812:20: */ +func Xsqlite3VdbeMemTooBig(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:78825:20: */ if int32((*Mem)(unsafe.Pointer(p)).Fflags)&(MEM_Str|MEM_Blob) != 0 { var n int32 = (*Mem)(unsafe.Pointer(p)).Fn @@ -56431,13 +56450,13 @@ func Xsqlite3VdbeMemTooBig(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:78812: // pTo are freed. The pFrom->z field is not duplicated. If // pFrom->z is used, then pTo->z points to the same thing as pFrom->z // and flags gets srcType (either MEM_Ephem or MEM_Static). -func vdbeClrCopy(tls *libc.TLS, pTo uintptr, pFrom uintptr, eType int32) { /* sqlite3.c:78868:29: */ +func vdbeClrCopy(tls *libc.TLS, pTo uintptr, pFrom uintptr, eType int32) { /* sqlite3.c:78881:29: */ vdbeMemClearExternAndSetNull(tls, pTo) Xsqlite3VdbeMemShallowCopy(tls, pTo, pFrom, eType) } -func Xsqlite3VdbeMemShallowCopy(tls *libc.TLS, pTo uintptr, pFrom uintptr, srcType int32) { /* sqlite3.c:78873:21: */ +func Xsqlite3VdbeMemShallowCopy(tls *libc.TLS, pTo uintptr, pFrom uintptr, srcType int32) { /* sqlite3.c:78886:21: */ if int32((*Mem)(unsafe.Pointer(pTo)).Fflags)&(MEM_Agg|MEM_Dyn) != 0 { vdbeClrCopy(tls, pTo, pFrom, srcType) @@ -56453,7 +56472,7 @@ func Xsqlite3VdbeMemShallowCopy(tls *libc.TLS, pTo uintptr, pFrom uintptr, srcTy // Make a full copy of pFrom into pTo. Prior contents of pTo are // freed before the copy is made. -func Xsqlite3VdbeMemCopy(tls *libc.TLS, pTo uintptr, pFrom uintptr) int32 { /* sqlite3.c:78889:20: */ +func Xsqlite3VdbeMemCopy(tls *libc.TLS, pTo uintptr, pFrom uintptr) int32 { /* sqlite3.c:78902:20: */ var rc int32 = SQLITE_OK if int32((*Mem)(unsafe.Pointer(pTo)).Fflags)&(MEM_Agg|MEM_Dyn) != 0 { @@ -56475,7 +56494,7 @@ func Xsqlite3VdbeMemCopy(tls *libc.TLS, pTo uintptr, pFrom uintptr) int32 { /* s // freed. If pFrom contains ephemeral data, a copy is made. // // pFrom contains an SQL NULL when this routine returns. -func Xsqlite3VdbeMemMove(tls *libc.TLS, pTo uintptr, pFrom uintptr) { /* sqlite3.c:78912:21: */ +func Xsqlite3VdbeMemMove(tls *libc.TLS, pTo uintptr, pFrom uintptr) { /* sqlite3.c:78925:21: */ Xsqlite3VdbeMemRelease(tls, pTo) libc.Xmemcpy(tls, pTo, pFrom, uint64(unsafe.Sizeof(Mem{}))) @@ -56496,7 +56515,7 @@ func Xsqlite3VdbeMemMove(tls *libc.TLS, pTo uintptr, pFrom uintptr) { /* sqlite3 // stored without allocating memory, then it is. If a memory allocation // is required to store the string, then value of pMem is unchanged. In // either case, SQLITE_TOOBIG is returned. -func Xsqlite3VdbeMemSetStr(tls *libc.TLS, pMem uintptr, z uintptr, n I64, enc U8, xDel uintptr) int32 { /* sqlite3.c:78938:20: */ +func Xsqlite3VdbeMemSetStr(tls *libc.TLS, pMem uintptr, z uintptr, n I64, enc U8, xDel uintptr) int32 { /* sqlite3.c:78951:20: */ var nByte I64 = n // New value for pMem->n var iLimit int32 // Maximum allowed string or blob size var flags U16 = U16(0) // New value for pMem->flags @@ -56609,11 +56628,11 @@ func Xsqlite3VdbeMemSetStr(tls *libc.TLS, pMem uintptr, z uintptr, n I64, enc U8 // // If this routine fails for any reason (malloc returns NULL or unable // to read from the disk) then the pMem is left in an inconsistent state. -func Xsqlite3VdbeMemFromBtree(tls *libc.TLS, pCur uintptr, offset U32, amt U32, pMem uintptr) int32 { /* sqlite3.c:79047:20: */ +func Xsqlite3VdbeMemFromBtree(tls *libc.TLS, pCur uintptr, offset U32, amt U32, pMem uintptr) int32 { /* sqlite3.c:79060:20: */ var rc int32 (*Mem)(unsafe.Pointer(pMem)).Fflags = U16(MEM_Null) if Xsqlite3BtreeMaxRecordSize(tls, pCur) < Sqlite3_int64(offset+amt) { - return Xsqlite3CorruptError(tls, 79056) + return Xsqlite3CorruptError(tls, 79069) } if SQLITE_OK == libc.AssignInt32(&rc, Xsqlite3VdbeMemClearAndResize(tls, pMem, int32(amt+U32(1)))) { rc = Xsqlite3BtreePayload(tls, pCur, offset, amt, (*Mem)(unsafe.Pointer(pMem)).Fz) @@ -56628,7 +56647,7 @@ func Xsqlite3VdbeMemFromBtree(tls *libc.TLS, pCur uintptr, offset U32, amt U32, return rc } -func Xsqlite3VdbeMemFromBtreeZeroOffset(tls *libc.TLS, pCur uintptr, amt U32, pMem uintptr) int32 { /* sqlite3.c:79070:20: */ +func Xsqlite3VdbeMemFromBtreeZeroOffset(tls *libc.TLS, pCur uintptr, amt U32, pMem uintptr) int32 { /* sqlite3.c:79083:20: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -56653,7 +56672,7 @@ func Xsqlite3VdbeMemFromBtreeZeroOffset(tls *libc.TLS, pCur uintptr, amt U32, pM // The pVal argument is known to be a value other than NULL. // Convert it into a string with encoding enc and return a pointer // to a zero-terminated version of that string. -func valueToText(tls *libc.TLS, pVal uintptr, enc U8) uintptr { /* sqlite3.c:79102:35: */ +func valueToText(tls *libc.TLS, pVal uintptr, enc U8) uintptr { /* sqlite3.c:79115:35: */ if int32((*Sqlite3_value)(unsafe.Pointer(pVal)).Fflags)&(MEM_Blob|MEM_Str) != 0 { if func() int32 { @@ -56698,7 +56717,7 @@ func valueToText(tls *libc.TLS, pVal uintptr, enc U8) uintptr { /* sqlite3.c:791 // (2006-02-16:) The enc value can be or-ed with SQLITE_UTF16_ALIGNED. // If that is the case, then the result must be aligned on an even byte // boundary. -func Xsqlite3ValueText(tls *libc.TLS, pVal uintptr, enc U8) uintptr { /* sqlite3.c:79145:27: */ +func Xsqlite3ValueText(tls *libc.TLS, pVal uintptr, enc U8) uintptr { /* sqlite3.c:79158:27: */ if !(pVal != 0) { return uintptr(0) } @@ -56714,7 +56733,7 @@ func Xsqlite3ValueText(tls *libc.TLS, pVal uintptr, enc U8) uintptr { /* sqlite3 } // Create a new sqlite3_value object. -func Xsqlite3ValueNew(tls *libc.TLS, db uintptr) uintptr { /* sqlite3.c:79163:30: */ +func Xsqlite3ValueNew(tls *libc.TLS, db uintptr) uintptr { /* sqlite3.c:79176:30: */ var p uintptr = Xsqlite3DbMallocZero(tls, db, uint64(unsafe.Sizeof(Mem{}))) if p != 0 { (*Mem)(unsafe.Pointer(p)).Fflags = U16(MEM_Null) @@ -56731,7 +56750,7 @@ type ValueNewStat4Ctx = struct { FppRec uintptr FiVal int32 F__ccgo_pad1 [4]byte -} /* sqlite3.c:79176:1 */ +} /* sqlite3.c:79189:1 */ // Allocate and return a pointer to a new sqlite3_value object. If // the second argument to this function is NULL, the object is allocated @@ -56742,7 +56761,7 @@ type ValueNewStat4Ctx = struct { // already been allocated, allocate the UnpackedRecord structure that // that function will return to its caller here. Then return a pointer to // an sqlite3_value within the UnpackedRecord.a[] array. -func valueNew(tls *libc.TLS, db uintptr, p uintptr) uintptr { /* sqlite3.c:79194:22: */ +func valueNew(tls *libc.TLS, db uintptr, p uintptr) uintptr { /* sqlite3.c:79207:22: */ if p != 0 { var pRec uintptr = *(*uintptr)(unsafe.Pointer((*ValueNewStat4Ctx)(unsafe.Pointer(p)).FppRec)) @@ -56798,7 +56817,7 @@ func valueNew(tls *libc.TLS, db uintptr, p uintptr) uintptr { /* sqlite3.c:79194 // If the conditions above are not met, this function returns SQLITE_OK // and sets (*ppVal) to NULL. Or, if an error occurs, (*ppVal) is set to // NULL and an SQLite error code returned. -func valueFromFunction(tls *libc.TLS, db uintptr, p uintptr, enc U8, aff U8, ppVal uintptr, pCtx uintptr) int32 { /* sqlite3.c:79256:12: */ +func valueFromFunction(tls *libc.TLS, db uintptr, p uintptr, enc U8, aff U8, ppVal uintptr, pCtx uintptr) int32 { /* sqlite3.c:79269:12: */ bp := tls.Alloc(64) defer tls.Free(64) @@ -56944,7 +56963,7 @@ __14: // has been allocated, it is freed before returning. Or, if pCtx is not // NULL, it is assumed that the caller will free any allocated object // in all cases. -func valueFromExpr(tls *libc.TLS, db uintptr, pExpr uintptr, enc U8, affinity U8, ppVal uintptr, pCtx uintptr) int32 { /* sqlite3.c:79352:12: */ +func valueFromExpr(tls *libc.TLS, db uintptr, pExpr uintptr, enc U8, affinity U8, ppVal uintptr, pCtx uintptr) int32 { /* sqlite3.c:79365:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -57192,7 +57211,7 @@ __35: // a pointer written to *ppVal. The caller is responsible for deallocating // the value by passing it to sqlite3ValueFree() later on. If the expression // cannot be converted to a value, then *ppVal is set to NULL. -func Xsqlite3ValueFromExpr(tls *libc.TLS, db uintptr, pExpr uintptr, enc U8, affinity U8, ppVal uintptr) int32 { /* sqlite3.c:79507:20: */ +func Xsqlite3ValueFromExpr(tls *libc.TLS, db uintptr, pExpr uintptr, enc U8, affinity U8, ppVal uintptr) int32 { /* sqlite3.c:79520:20: */ if pExpr != 0 { return valueFromExpr(tls, db, pExpr, enc, affinity, ppVal, uintptr(0)) } @@ -57215,7 +57234,7 @@ func Xsqlite3ValueFromExpr(tls *libc.TLS, db uintptr, pExpr uintptr, enc U8, aff // // On success, *ppVal is made to point to the extracted value. The caller // is responsible for ensuring that the value is eventually freed. -func stat4ValueFromExpr(tls *libc.TLS, pParse uintptr, pExpr uintptr, affinity U8, pAlloc uintptr, ppVal uintptr) int32 { /* sqlite3.c:79536:12: */ +func stat4ValueFromExpr(tls *libc.TLS, pParse uintptr, pExpr uintptr, affinity U8, pAlloc uintptr, ppVal uintptr) int32 { /* sqlite3.c:79549:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -57283,7 +57302,7 @@ func stat4ValueFromExpr(tls *libc.TLS, pParse uintptr, pExpr uintptr, affinity U // Unless an error is encountered, SQLITE_OK is returned. It is not an // error if a value cannot be extracted from pExpr. If an error does // occur, an SQLite error code is returned. -func Xsqlite3Stat4ProbeSetValue(tls *libc.TLS, pParse uintptr, pIdx uintptr, ppRec uintptr, pExpr uintptr, nElem int32, iVal int32, pnExtract uintptr) int32 { /* sqlite3.c:79611:20: */ +func Xsqlite3Stat4ProbeSetValue(tls *libc.TLS, pParse uintptr, pIdx uintptr, ppRec uintptr, pExpr uintptr, nElem int32, iVal int32, pnExtract uintptr) int32 { /* sqlite3.c:79624:20: */ bp := tls.Alloc(40) defer tls.Free(40) @@ -57328,7 +57347,7 @@ func Xsqlite3Stat4ProbeSetValue(tls *libc.TLS, pParse uintptr, pIdx uintptr, ppR // (e.g. OOM), return SQLITE_OK and set *ppVal to NULL. Or, if an error // does occur, return an SQLite error code. The final value of *ppVal // is undefined in this case. -func Xsqlite3Stat4ValueFromExpr(tls *libc.TLS, pParse uintptr, pExpr uintptr, affinity U8, ppVal uintptr) int32 { /* sqlite3.c:79656:20: */ +func Xsqlite3Stat4ValueFromExpr(tls *libc.TLS, pParse uintptr, pExpr uintptr, affinity U8, ppVal uintptr) int32 { /* sqlite3.c:79669:20: */ return stat4ValueFromExpr(tls, pParse, pExpr, affinity, uintptr(0), ppVal) } @@ -57338,7 +57357,7 @@ func Xsqlite3Stat4ValueFromExpr(tls *libc.TLS, pParse uintptr, pExpr uintptr, af // // If *ppVal is initially NULL then the caller is responsible for // ensuring that the value written into *ppVal is eventually freed. -func Xsqlite3Stat4Column(tls *libc.TLS, db uintptr, pRec uintptr, nRec int32, iCol int32, ppVal uintptr) int32 { /* sqlite3.c:79673:20: */ +func Xsqlite3Stat4Column(tls *libc.TLS, db uintptr, pRec uintptr, nRec int32, iCol int32, ppVal uintptr) int32 { /* sqlite3.c:79686:20: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -57359,7 +57378,7 @@ func Xsqlite3Stat4Column(tls *libc.TLS, db uintptr, pRec uintptr, nRec int32, iC return Xsqlite3GetVarint32(tls, a, bp) }()) if *(*int32)(unsafe.Pointer(bp)) > nRec || iHdr >= *(*int32)(unsafe.Pointer(bp)) { - return Xsqlite3CorruptError(tls, 79691) + return Xsqlite3CorruptError(tls, 79704) } iField = *(*int32)(unsafe.Pointer(bp /* nHdr */)) for i = 0; i <= iCol; i++ { @@ -57374,14 +57393,14 @@ func Xsqlite3Stat4Column(tls *libc.TLS, db uintptr, pRec uintptr, nRec int32, iC }()) if iHdr > *(*int32)(unsafe.Pointer(bp)) { - return Xsqlite3CorruptError(tls, 79697) + return Xsqlite3CorruptError(tls, 79710) } szField = int32(Xsqlite3VdbeSerialTypeLen(tls, *(*U32)(unsafe.Pointer(bp + 4 /* t */)))) iField = iField + szField } if iField > nRec { - return Xsqlite3CorruptError(tls, 79703) + return Xsqlite3CorruptError(tls, 79716) } if pMem == uintptr(0) { pMem = libc.AssignPtrUintptr(ppVal, Xsqlite3ValueNew(tls, db)) @@ -57397,7 +57416,7 @@ func Xsqlite3Stat4Column(tls *libc.TLS, db uintptr, pRec uintptr, nRec int32, iC // Unless it is NULL, the argument must be an UnpackedRecord object returned // by an earlier call to sqlite3Stat4ProbeSetValue(). This call deletes // the object. -func Xsqlite3Stat4ProbeFree(tls *libc.TLS, pRec uintptr) { /* sqlite3.c:79718:21: */ +func Xsqlite3Stat4ProbeFree(tls *libc.TLS, pRec uintptr) { /* sqlite3.c:79731:21: */ if pRec != 0 { var i int32 var nCol int32 = int32((*KeyInfo)(unsafe.Pointer((*UnpackedRecord)(unsafe.Pointer(pRec)).FpKeyInfo)).FnAllField) @@ -57412,14 +57431,14 @@ func Xsqlite3Stat4ProbeFree(tls *libc.TLS, pRec uintptr) { /* sqlite3.c:79718:21 } // Change the string value of an sqlite3_value object -func Xsqlite3ValueSetStr(tls *libc.TLS, v uintptr, n int32, z uintptr, enc U8, xDel uintptr) { /* sqlite3.c:79736:21: */ +func Xsqlite3ValueSetStr(tls *libc.TLS, v uintptr, n int32, z uintptr, enc U8, xDel uintptr) { /* sqlite3.c:79749:21: */ if v != 0 { Xsqlite3VdbeMemSetStr(tls, v, z, int64(n), enc, xDel) } } // Free an sqlite3_value object -func Xsqlite3ValueFree(tls *libc.TLS, v uintptr) { /* sqlite3.c:79749:21: */ +func Xsqlite3ValueFree(tls *libc.TLS, v uintptr) { /* sqlite3.c:79762:21: */ if !(v != 0) { return } @@ -57430,14 +57449,14 @@ func Xsqlite3ValueFree(tls *libc.TLS, v uintptr) { /* sqlite3.c:79749:21: */ // The sqlite3ValueBytes() routine returns the number of bytes in the // sqlite3_value object assuming that it uses the encoding "enc". // The valueBytes() routine is a helper function. -func valueBytes(tls *libc.TLS, pVal uintptr, enc U8) int32 { /* sqlite3.c:79760:28: */ +func valueBytes(tls *libc.TLS, pVal uintptr, enc U8) int32 { /* sqlite3.c:79773:28: */ if valueToText(tls, pVal, enc) != uintptr(0) { return (*Sqlite3_value)(unsafe.Pointer(pVal)).Fn } return 0 } -func Xsqlite3ValueBytes(tls *libc.TLS, pVal uintptr, enc U8) int32 { /* sqlite3.c:79763:20: */ +func Xsqlite3ValueBytes(tls *libc.TLS, pVal uintptr, enc U8) int32 { /* sqlite3.c:79776:20: */ var p uintptr = pVal if int32((*Mem)(unsafe.Pointer(p)).Fflags)&MEM_Str != 0 && int32((*Sqlite3_value)(unsafe.Pointer(pVal)).Fenc) == int32(enc) { @@ -57457,7 +57476,7 @@ func Xsqlite3ValueBytes(tls *libc.TLS, pVal uintptr, enc U8) int32 { /* sqlite3. } // Create a new virtual database engine. -func Xsqlite3VdbeCreate(tls *libc.TLS, pParse uintptr) uintptr { /* sqlite3.c:79806:21: */ +func Xsqlite3VdbeCreate(tls *libc.TLS, pParse uintptr) uintptr { /* sqlite3.c:79819:21: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb var p uintptr p = Xsqlite3DbMallocRawNN(tls, db, uint64(unsafe.Sizeof(Vdbe{}))) @@ -57481,12 +57500,12 @@ func Xsqlite3VdbeCreate(tls *libc.TLS, pParse uintptr) uintptr { /* sqlite3.c:79 } // Return the Parse object that owns a Vdbe object. -func Xsqlite3VdbeParser(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:79833:22: */ +func Xsqlite3VdbeParser(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:79846:22: */ return (*Vdbe)(unsafe.Pointer(p)).FpParse } // Change the error string stored in Vdbe.zErrMsg -func Xsqlite3VdbeError(tls *libc.TLS, p uintptr, zFormat uintptr, va uintptr) { /* sqlite3.c:79840:21: */ +func Xsqlite3VdbeError(tls *libc.TLS, p uintptr, zFormat uintptr, va uintptr) { /* sqlite3.c:79853:21: */ var ap Va_list _ = ap Xsqlite3DbFree(tls, (*Vdbe)(unsafe.Pointer(p)).Fdb, (*Vdbe)(unsafe.Pointer(p)).FzErrMsg) @@ -57496,7 +57515,7 @@ func Xsqlite3VdbeError(tls *libc.TLS, p uintptr, zFormat uintptr, va uintptr) { } // Remember the SQL string for a prepared statement. -func Xsqlite3VdbeSetSql(tls *libc.TLS, p uintptr, z uintptr, n int32, prepFlags U8) { /* sqlite3.c:79851:21: */ +func Xsqlite3VdbeSetSql(tls *libc.TLS, p uintptr, z uintptr, n int32, prepFlags U8) { /* sqlite3.c:79864:21: */ if p == uintptr(0) { return } @@ -57509,7 +57528,7 @@ func Xsqlite3VdbeSetSql(tls *libc.TLS, p uintptr, z uintptr, n int32, prepFlags } // Swap all content between two VDBE structures. -func Xsqlite3VdbeSwap(tls *libc.TLS, pA uintptr, pB uintptr) { /* sqlite3.c:79901:21: */ +func Xsqlite3VdbeSwap(tls *libc.TLS, pA uintptr, pB uintptr) { /* sqlite3.c:79914:21: */ var tmp Vdbe var pTmp uintptr var zTmp uintptr @@ -57540,7 +57559,7 @@ func Xsqlite3VdbeSwap(tls *libc.TLS, pA uintptr, pB uintptr) { /* sqlite3.c:7990 // SQLITE_NOMEM. In this case Vdbe.aOp and Vdbe.nOpAlloc remain // unchanged (this is so that any opcodes already allocated can be // correctly deallocated along with the rest of the Vdbe). -func growOpArray(tls *libc.TLS, v uintptr, nOp int32) int32 { /* sqlite3.c:79938:12: */ +func growOpArray(tls *libc.TLS, v uintptr, nOp int32) int32 { /* sqlite3.c:79951:12: */ var pNew uintptr var p uintptr = (*Vdbe)(unsafe.Pointer(v)).FpParse @@ -57593,7 +57612,7 @@ func growOpArray(tls *libc.TLS, v uintptr, nOp int32) int32 { /* sqlite3.c:79938 // Use the sqlite3VdbeResolveLabel() function to fix an address and // the sqlite3VdbeChangeP4() function to change the value of the P4 // operand. -func growOp3(tls *libc.TLS, p uintptr, op int32, p1 int32, p2 int32, p3 int32) int32 { /* sqlite3.c:80009:28: */ +func growOp3(tls *libc.TLS, p uintptr, op int32, p1 int32, p2 int32, p3 int32) int32 { /* sqlite3.c:80022:28: */ if growOpArray(tls, p, 1) != 0 { return 1 @@ -57602,7 +57621,7 @@ func growOp3(tls *libc.TLS, p uintptr, op int32, p1 int32, p2 int32, p3 int32) i return Xsqlite3VdbeAddOp3(tls, p, op, p1, p2, p3) } -func Xsqlite3VdbeAddOp3(tls *libc.TLS, p uintptr, op int32, p1 int32, p2 int32, p3 int32) int32 { /* sqlite3.c:80015:20: */ +func Xsqlite3VdbeAddOp3(tls *libc.TLS, p uintptr, op int32, p1 int32, p2 int32, p3 int32) int32 { /* sqlite3.c:80028:20: */ var i int32 var pOp uintptr @@ -57625,26 +57644,26 @@ func Xsqlite3VdbeAddOp3(tls *libc.TLS, p uintptr, op int32, p1 int32, p2 int32, return i } -func Xsqlite3VdbeAddOp0(tls *libc.TLS, p uintptr, op int32) int32 { /* sqlite3.c:80054:20: */ +func Xsqlite3VdbeAddOp0(tls *libc.TLS, p uintptr, op int32) int32 { /* sqlite3.c:80067:20: */ return Xsqlite3VdbeAddOp3(tls, p, op, 0, 0, 0) } -func Xsqlite3VdbeAddOp1(tls *libc.TLS, p uintptr, op int32, p1 int32) int32 { /* sqlite3.c:80057:20: */ +func Xsqlite3VdbeAddOp1(tls *libc.TLS, p uintptr, op int32, p1 int32) int32 { /* sqlite3.c:80070:20: */ return Xsqlite3VdbeAddOp3(tls, p, op, p1, 0, 0) } -func Xsqlite3VdbeAddOp2(tls *libc.TLS, p uintptr, op int32, p1 int32, p2 int32) int32 { /* sqlite3.c:80060:20: */ +func Xsqlite3VdbeAddOp2(tls *libc.TLS, p uintptr, op int32, p1 int32, p2 int32) int32 { /* sqlite3.c:80073:20: */ return Xsqlite3VdbeAddOp3(tls, p, op, p1, p2, 0) } // Generate code for an unconditional jump to instruction iDest -func Xsqlite3VdbeGoto(tls *libc.TLS, p uintptr, iDest int32) int32 { /* sqlite3.c:80066:20: */ +func Xsqlite3VdbeGoto(tls *libc.TLS, p uintptr, iDest int32) int32 { /* sqlite3.c:80079:20: */ return Xsqlite3VdbeAddOp3(tls, p, OP_Goto, 0, iDest, 0) } // Generate code to cause the string zStr to be loaded into // register iDest -func Xsqlite3VdbeLoadString(tls *libc.TLS, p uintptr, iDest int32, zStr uintptr) int32 { /* sqlite3.c:80073:20: */ +func Xsqlite3VdbeLoadString(tls *libc.TLS, p uintptr, iDest int32, zStr uintptr) int32 { /* sqlite3.c:80086:20: */ return Xsqlite3VdbeAddOp4(tls, p, OP_String8, 0, iDest, 0, zStr, 0) } @@ -57657,7 +57676,7 @@ func Xsqlite3VdbeLoadString(tls *libc.TLS, p uintptr, iDest int32, zStr uintptr) // // If the input string does not end with "X" then an OP_ResultRow instruction // is generated for the values inserted. -func Xsqlite3VdbeMultiLoad(tls *libc.TLS, p uintptr, iDest int32, zTypes uintptr, va uintptr) { /* sqlite3.c:80088:21: */ +func Xsqlite3VdbeMultiLoad(tls *libc.TLS, p uintptr, iDest int32, zTypes uintptr, va uintptr) { /* sqlite3.c:80101:21: */ var ap Va_list _ = ap var i int32 @@ -57705,7 +57724,7 @@ skip_op_resultrow: } // Add an opcode that includes the p4 value as a pointer. -func Xsqlite3VdbeAddOp4(tls *libc.TLS, p uintptr, op int32, p1 int32, p2 int32, p3 int32, zP4 uintptr, p4type int32) int32 { /* sqlite3.c:80111:20: */ +func Xsqlite3VdbeAddOp4(tls *libc.TLS, p uintptr, op int32, p1 int32, p2 int32, p3 int32, zP4 uintptr, p4type int32) int32 { /* sqlite3.c:80124:20: */ var addr int32 = Xsqlite3VdbeAddOp3(tls, p, op, p1, p2, p3) Xsqlite3VdbeChangeP4(tls, p, addr, zP4, p4type) return addr @@ -57719,7 +57738,7 @@ func Xsqlite3VdbeAddOp4(tls *libc.TLS, p uintptr, op int32, p1 int32, p2 int32, // NC_IdxExpr means called as part of an index expression. NC_PartIdx // means in the WHERE clause of a partial index. NC_GenCol means called // while computing a generated column value. 0 is the usual case. -func Xsqlite3VdbeAddFunctionCall(tls *libc.TLS, pParse uintptr, p1 int32, p2 int32, p3 int32, nArg int32, pFunc uintptr, eCallCtx int32) int32 { /* sqlite3.c:80135:20: */ +func Xsqlite3VdbeAddFunctionCall(tls *libc.TLS, pParse uintptr, p1 int32, p2 int32, p3 int32, nArg int32, pFunc uintptr, eCallCtx int32) int32 { /* sqlite3.c:80148:20: */ var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe var nByte int32 var addr int32 @@ -57751,7 +57770,7 @@ func Xsqlite3VdbeAddFunctionCall(tls *libc.TLS, pParse uintptr, p1 int32, p2 int // Add an opcode that includes the p4 value with a P4_INT64 or // P4_REAL type. -func Xsqlite3VdbeAddOp4Dup8(tls *libc.TLS, p uintptr, op int32, p1 int32, p2 int32, p3 int32, zP4 uintptr, p4type int32) int32 { /* sqlite3.c:80172:20: */ +func Xsqlite3VdbeAddOp4Dup8(tls *libc.TLS, p uintptr, op int32, p1 int32, p2 int32, p3 int32, zP4 uintptr, p4type int32) int32 { /* sqlite3.c:80185:20: */ var p4copy uintptr = Xsqlite3DbMallocRawNN(tls, Xsqlite3VdbeDb(tls, p), uint64(8)) if p4copy != 0 { libc.Xmemcpy(tls, p4copy, zP4, uint64(8)) @@ -57761,7 +57780,7 @@ func Xsqlite3VdbeAddOp4Dup8(tls *libc.TLS, p uintptr, op int32, p1 int32, p2 int // Return the address of the current EXPLAIN QUERY PLAN baseline. // 0 means "none". -func Xsqlite3VdbeExplainParent(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:80191:20: */ +func Xsqlite3VdbeExplainParent(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:80204:20: */ var pOp uintptr if (*Parse)(unsafe.Pointer(pParse)).FaddrExplain == 0 { return 0 @@ -57777,7 +57796,7 @@ func Xsqlite3VdbeExplainParent(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3 // // If the bPush flag is true, then make this opcode the parent for // subsequent Explains until sqlite3VdbeExplainPop() is called. -func Xsqlite3VdbeExplain(tls *libc.TLS, pParse uintptr, bPush U8, zFmt uintptr, va uintptr) { /* sqlite3.c:80215:21: */ +func Xsqlite3VdbeExplain(tls *libc.TLS, pParse uintptr, bPush U8, zFmt uintptr, va uintptr) { /* sqlite3.c:80228:21: */ // Always include the OP_Explain opcodes if SQLITE_DEBUG is defined. // But omit them (for performance) during production builds if int32((*Parse)(unsafe.Pointer(pParse)).Fexplain) == 2 { @@ -57801,7 +57820,7 @@ func Xsqlite3VdbeExplain(tls *libc.TLS, pParse uintptr, bPush U8, zFmt uintptr, } // Pop the EXPLAIN QUERY PLAN stack one level. -func Xsqlite3VdbeExplainPop(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:80243:21: */ +func Xsqlite3VdbeExplainPop(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:80256:21: */ (*Parse)(unsafe.Pointer(pParse)).FaddrExplain = Xsqlite3VdbeExplainParent(tls, pParse) } @@ -57812,7 +57831,7 @@ func Xsqlite3VdbeExplainPop(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:80243: // // The zWhere string must have been obtained from sqlite3_malloc(). // This routine will take ownership of the allocated memory. -func Xsqlite3VdbeAddParseSchemaOp(tls *libc.TLS, p uintptr, iDb int32, zWhere uintptr, p5 U16) { /* sqlite3.c:80257:21: */ +func Xsqlite3VdbeAddParseSchemaOp(tls *libc.TLS, p uintptr, iDb int32, zWhere uintptr, p5 U16) { /* sqlite3.c:80270:21: */ var j int32 Xsqlite3VdbeAddOp4(tls, p, OP_ParseSchema, iDb, 0, 0, zWhere, -7) Xsqlite3VdbeChangeP5(tls, p, p5) @@ -57823,7 +57842,7 @@ func Xsqlite3VdbeAddParseSchemaOp(tls *libc.TLS, p uintptr, iDb int32, zWhere ui } // Add an opcode that includes the p4 value as an integer. -func Xsqlite3VdbeAddOp4Int(tls *libc.TLS, p uintptr, op int32, p1 int32, p2 int32, p3 int32, p4 int32) int32 { /* sqlite3.c:80268:20: */ +func Xsqlite3VdbeAddOp4Int(tls *libc.TLS, p uintptr, op int32, p1 int32, p2 int32, p3 int32, p4 int32) int32 { /* sqlite3.c:80281:20: */ var addr int32 = Xsqlite3VdbeAddOp3(tls, p, op, p1, p2, p3) if int32((*Sqlite3)(unsafe.Pointer((*Vdbe)(unsafe.Pointer(p)).Fdb)).FmallocFailed) == 0 { var pOp uintptr = (*Vdbe)(unsafe.Pointer(p)).FaOp + uintptr(addr)*24 @@ -57834,7 +57853,7 @@ func Xsqlite3VdbeAddOp4Int(tls *libc.TLS, p uintptr, op int32, p1 int32, p2 int3 } // Insert the end of a co-routine -func Xsqlite3VdbeEndCoroutine(tls *libc.TLS, v uintptr, regYield int32) { /* sqlite3.c:80287:21: */ +func Xsqlite3VdbeEndCoroutine(tls *libc.TLS, v uintptr, regYield int32) { /* sqlite3.c:80300:21: */ Xsqlite3VdbeAddOp1(tls, v, OP_EndCoroutine, regYield) // Clear the temporary register cache, thereby ensuring that each @@ -57869,14 +57888,14 @@ func Xsqlite3VdbeEndCoroutine(tls *libc.TLS, v uintptr, regYield int32) { /* sql // been issued. The negative is stored because // that gives a performance improvement over storing // the equivalent positive value. -func Xsqlite3VdbeMakeLabel(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:80325:20: */ +func Xsqlite3VdbeMakeLabel(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:80338:20: */ return libc.PreDecInt32(&(*Parse)(unsafe.Pointer(pParse)).FnLabel, 1) } // Resolve label "x" to be the address of the next instruction to // be inserted. The parameter "x" must have been obtained from // a prior call to sqlite3VdbeMakeLabel(). -func resizeResolveLabel(tls *libc.TLS, p uintptr, v uintptr, j int32) { /* sqlite3.c:80334:29: */ +func resizeResolveLabel(tls *libc.TLS, p uintptr, v uintptr, j int32) { /* sqlite3.c:80347:29: */ var nNewSize int32 = 10 - (*Parse)(unsafe.Pointer(p)).FnLabel (*Parse)(unsafe.Pointer(p)).FaLabel = Xsqlite3DbReallocOrFree(tls, (*Parse)(unsafe.Pointer(p)).Fdb, (*Parse)(unsafe.Pointer(p)).FaLabel, uint64(uint64(nNewSize)*uint64(unsafe.Sizeof(int32(0))))) @@ -57888,7 +57907,7 @@ func resizeResolveLabel(tls *libc.TLS, p uintptr, v uintptr, j int32) { /* sqlit } } -func Xsqlite3VdbeResolveLabel(tls *libc.TLS, v uintptr, x int32) { /* sqlite3.c:80349:21: */ +func Xsqlite3VdbeResolveLabel(tls *libc.TLS, v uintptr, x int32) { /* sqlite3.c:80362:21: */ var p uintptr = (*Vdbe)(unsafe.Pointer(v)).FpParse var j int32 = ^x @@ -57901,12 +57920,12 @@ func Xsqlite3VdbeResolveLabel(tls *libc.TLS, v uintptr, x int32) { /* sqlite3.c: } // Mark the VDBE as one that can only be run one time. -func Xsqlite3VdbeRunOnlyOnce(tls *libc.TLS, p uintptr) { /* sqlite3.c:80371:21: */ +func Xsqlite3VdbeRunOnlyOnce(tls *libc.TLS, p uintptr) { /* sqlite3.c:80384:21: */ libc.SetBitFieldPtr16Uint32(p+208, Bft(1), 5, 0x20) } // Mark the VDBE as one that can only be run multiple times. -func Xsqlite3VdbeReusable(tls *libc.TLS, p uintptr) { /* sqlite3.c:80378:21: */ +func Xsqlite3VdbeReusable(tls *libc.TLS, p uintptr) { /* sqlite3.c:80391:21: */ libc.SetBitFieldPtr16Uint32(p+208, Bft(0), 5, 0x20) } @@ -57929,7 +57948,7 @@ func Xsqlite3VdbeReusable(tls *libc.TLS, p uintptr) { /* sqlite3.c:80378:21: */ // This routine will only function correctly if the mkopcodeh.tcl generator // script numbers the opcodes correctly. Changes to this routine must be // coordinated with changes to mkopcodeh.tcl. -func resolveP2Values(tls *libc.TLS, p uintptr, pMaxFuncArgs uintptr) { /* sqlite3.c:80574:13: */ +func resolveP2Values(tls *libc.TLS, p uintptr, pMaxFuncArgs uintptr) { /* sqlite3.c:80587:13: */ var nMaxArgs int32 = *(*int32)(unsafe.Pointer(pMaxFuncArgs)) var pOp uintptr var pParse uintptr = (*Vdbe)(unsafe.Pointer(p)).FpParse @@ -58058,7 +58077,7 @@ func resolveP2Values(tls *libc.TLS, p uintptr, pMaxFuncArgs uintptr) { /* sqlite } // Return the address of the next instruction to be inserted. -func Xsqlite3VdbeCurrentAddr(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:80676:20: */ +func Xsqlite3VdbeCurrentAddr(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:80689:20: */ return (*Vdbe)(unsafe.Pointer(p)).FnOp } @@ -58089,7 +58108,7 @@ func Xsqlite3VdbeCurrentAddr(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:8067 // array. Also, *pnMaxArg is set to the larger of its current value and // the number of entries in the Vdbe.apArg[] array required to execute the // returned program. -func Xsqlite3VdbeTakeOpArray(tls *libc.TLS, p uintptr, pnOp uintptr, pnMaxArg uintptr) uintptr { /* sqlite3.c:80733:23: */ +func Xsqlite3VdbeTakeOpArray(tls *libc.TLS, p uintptr, pnOp uintptr, pnMaxArg uintptr) uintptr { /* sqlite3.c:80746:23: */ var aOp uintptr = (*Vdbe)(unsafe.Pointer(p)).FaOp // Check that sqlite3VdbeUsesBtree() was not called on this VM @@ -58105,7 +58124,7 @@ func Xsqlite3VdbeTakeOpArray(tls *libc.TLS, p uintptr, pnOp uintptr, pnMaxArg ui // // Non-zero P2 arguments to jump instructions are automatically adjusted // so that the jump target is relative to the first operation inserted. -func Xsqlite3VdbeAddOpList(tls *libc.TLS, p uintptr, nOp int32, aOp uintptr, iLineno int32) uintptr { /* sqlite3.c:80753:23: */ +func Xsqlite3VdbeAddOpList(tls *libc.TLS, p uintptr, nOp int32, aOp uintptr, iLineno int32) uintptr { /* sqlite3.c:80766:23: */ var i int32 var pOut uintptr var pFirst uintptr @@ -58149,23 +58168,23 @@ __3: // Change the value of the opcode, or P1, P2, P3, or P5 operands // for a specific instruction. -func Xsqlite3VdbeChangeOpcode(tls *libc.TLS, p uintptr, addr int32, iNewOpcode U8) { /* sqlite3.c:80829:21: */ +func Xsqlite3VdbeChangeOpcode(tls *libc.TLS, p uintptr, addr int32, iNewOpcode U8) { /* sqlite3.c:80842:21: */ (*VdbeOp)(unsafe.Pointer(Xsqlite3VdbeGetOp(tls, p, addr))).Fopcode = iNewOpcode } -func Xsqlite3VdbeChangeP1(tls *libc.TLS, p uintptr, addr int32, val int32) { /* sqlite3.c:80832:21: */ +func Xsqlite3VdbeChangeP1(tls *libc.TLS, p uintptr, addr int32, val int32) { /* sqlite3.c:80845:21: */ (*VdbeOp)(unsafe.Pointer(Xsqlite3VdbeGetOp(tls, p, addr))).Fp1 = val } -func Xsqlite3VdbeChangeP2(tls *libc.TLS, p uintptr, addr int32, val int32) { /* sqlite3.c:80835:21: */ +func Xsqlite3VdbeChangeP2(tls *libc.TLS, p uintptr, addr int32, val int32) { /* sqlite3.c:80848:21: */ (*VdbeOp)(unsafe.Pointer(Xsqlite3VdbeGetOp(tls, p, addr))).Fp2 = val } -func Xsqlite3VdbeChangeP3(tls *libc.TLS, p uintptr, addr int32, val int32) { /* sqlite3.c:80838:21: */ +func Xsqlite3VdbeChangeP3(tls *libc.TLS, p uintptr, addr int32, val int32) { /* sqlite3.c:80851:21: */ (*VdbeOp)(unsafe.Pointer(Xsqlite3VdbeGetOp(tls, p, addr))).Fp3 = val } -func Xsqlite3VdbeChangeP5(tls *libc.TLS, p uintptr, p5 U16) { /* sqlite3.c:80841:21: */ +func Xsqlite3VdbeChangeP5(tls *libc.TLS, p uintptr, p5 U16) { /* sqlite3.c:80854:21: */ if (*Vdbe)(unsafe.Pointer(p)).FnOp > 0 { (*Op)(unsafe.Pointer((*Vdbe)(unsafe.Pointer(p)).FaOp + uintptr((*Vdbe)(unsafe.Pointer(p)).FnOp-1)*24)).Fp5 = p5 @@ -58174,7 +58193,7 @@ func Xsqlite3VdbeChangeP5(tls *libc.TLS, p uintptr, p5 U16) { /* sqlite3.c:80841 // Change the P2 operand of instruction addr so that it points to // the address of the next instruction to be coded. -func Xsqlite3VdbeJumpHere(tls *libc.TLS, p uintptr, addr int32) { /* sqlite3.c:80850:21: */ +func Xsqlite3VdbeJumpHere(tls *libc.TLS, p uintptr, addr int32) { /* sqlite3.c:80863:21: */ Xsqlite3VdbeChangeP2(tls, p, addr, (*Vdbe)(unsafe.Pointer(p)).FnOp) } @@ -58189,7 +58208,7 @@ func Xsqlite3VdbeJumpHere(tls *libc.TLS, p uintptr, addr int32) { /* sqlite3.c:8 // // 7 Once 0 8 0 // 8 ... -func Xsqlite3VdbeJumpHereOrPopInst(tls *libc.TLS, p uintptr, addr int32) { /* sqlite3.c:80867:21: */ +func Xsqlite3VdbeJumpHereOrPopInst(tls *libc.TLS, p uintptr, addr int32) { /* sqlite3.c:80880:21: */ if addr == (*Vdbe)(unsafe.Pointer(p)).FnOp-1 { (*Vdbe)(unsafe.Pointer(p)).FnOp-- @@ -58200,26 +58219,26 @@ func Xsqlite3VdbeJumpHereOrPopInst(tls *libc.TLS, p uintptr, addr int32) { /* sq // If the input FuncDef structure is ephemeral, then free it. If // the FuncDef is not ephermal, then do nothing. -func freeEphemeralFunction(tls *libc.TLS, db uintptr, pDef uintptr) { /* sqlite3.c:80887:13: */ +func freeEphemeralFunction(tls *libc.TLS, db uintptr, pDef uintptr) { /* sqlite3.c:80900:13: */ if (*FuncDef)(unsafe.Pointer(pDef)).FfuncFlags&U32(SQLITE_FUNC_EPHEM) != U32(0) { Xsqlite3DbFreeNN(tls, db, pDef) } } // Delete a P4 value if necessary. -func freeP4Mem(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:80896:29: */ +func freeP4Mem(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:80909:29: */ if (*Mem)(unsafe.Pointer(p)).FszMalloc != 0 { Xsqlite3DbFree(tls, db, (*Mem)(unsafe.Pointer(p)).FzMalloc) } Xsqlite3DbFreeNN(tls, db, p) } -func freeP4FuncCtx(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:80900:29: */ +func freeP4FuncCtx(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:80913:29: */ freeEphemeralFunction(tls, db, (*Sqlite3_context)(unsafe.Pointer(p)).FpFunc) Xsqlite3DbFreeNN(tls, db, p) } -func freeP4(tls *libc.TLS, db uintptr, p4type int32, p4 uintptr) { /* sqlite3.c:80904:13: */ +func freeP4(tls *libc.TLS, db uintptr, p4type int32, p4 uintptr) { /* sqlite3.c:80917:13: */ switch p4type { case -16: @@ -58280,7 +58299,7 @@ func freeP4(tls *libc.TLS, db uintptr, p4type int32, p4 uintptr) { /* sqlite3.c: // Free the space allocated for aOp and any p4 values allocated for the // opcodes contained within. If aOp is not NULL it is assumed to contain // nOp entries. -func vdbeFreeOpArray(tls *libc.TLS, db uintptr, aOp uintptr, nOp int32) { /* sqlite3.c:80953:13: */ +func vdbeFreeOpArray(tls *libc.TLS, db uintptr, aOp uintptr, nOp int32) { /* sqlite3.c:80966:13: */ if aOp != 0 { var pOp uintptr for pOp = aOp + uintptr(nOp-1)*24; pOp >= aOp; pOp -= 24 { @@ -58295,18 +58314,18 @@ func vdbeFreeOpArray(tls *libc.TLS, db uintptr, aOp uintptr, nOp int32) { /* sql // Link the SubProgram object passed as the second argument into the linked // list at Vdbe.pSubProgram. This list is used to delete all sub-program // objects when the VM is no longer required. -func Xsqlite3VdbeLinkSubProgram(tls *libc.TLS, pVdbe uintptr, p uintptr) { /* sqlite3.c:80971:21: */ +func Xsqlite3VdbeLinkSubProgram(tls *libc.TLS, pVdbe uintptr, p uintptr) { /* sqlite3.c:80984:21: */ (*SubProgram)(unsafe.Pointer(p)).FpNext = (*Vdbe)(unsafe.Pointer(pVdbe)).FpProgram (*Vdbe)(unsafe.Pointer(pVdbe)).FpProgram = p } // Return true if the given Vdbe has any SubPrograms. -func Xsqlite3VdbeHasSubProgram(tls *libc.TLS, pVdbe uintptr) int32 { /* sqlite3.c:80979:20: */ +func Xsqlite3VdbeHasSubProgram(tls *libc.TLS, pVdbe uintptr) int32 { /* sqlite3.c:80992:20: */ return libc.Bool32((*Vdbe)(unsafe.Pointer(pVdbe)).FpProgram != uintptr(0)) } // Change the opcode at addr into OP_Noop -func Xsqlite3VdbeChangeToNoop(tls *libc.TLS, p uintptr, addr int32) int32 { /* sqlite3.c:80986:20: */ +func Xsqlite3VdbeChangeToNoop(tls *libc.TLS, p uintptr, addr int32) int32 { /* sqlite3.c:80999:20: */ var pOp uintptr if (*Sqlite3)(unsafe.Pointer((*Vdbe)(unsafe.Pointer(p)).Fdb)).FmallocFailed != 0 { return 0 @@ -58322,7 +58341,7 @@ func Xsqlite3VdbeChangeToNoop(tls *libc.TLS, p uintptr, addr int32) int32 { /* s // If the last opcode is "op" and it is not a jump destination, // then remove it. Return true if and only if an opcode was removed. -func Xsqlite3VdbeDeletePriorOpcode(tls *libc.TLS, p uintptr, op U8) int32 { /* sqlite3.c:81002:20: */ +func Xsqlite3VdbeDeletePriorOpcode(tls *libc.TLS, p uintptr, op U8) int32 { /* sqlite3.c:81015:20: */ if (*Vdbe)(unsafe.Pointer(p)).FnOp > 0 && int32((*Op)(unsafe.Pointer((*Vdbe)(unsafe.Pointer(p)).FaOp+uintptr((*Vdbe)(unsafe.Pointer(p)).FnOp-1)*24)).Fopcode) == int32(op) { return Xsqlite3VdbeChangeToNoop(tls, p, (*Vdbe)(unsafe.Pointer(p)).FnOp-1) } else { @@ -58346,7 +58365,7 @@ func Xsqlite3VdbeDeletePriorOpcode(tls *libc.TLS, p uintptr, op U8) int32 { /* s // the Vdbe. In these cases we can just copy the pointer. // // If addr<0 then change P4 on the most recently inserted instruction. -func vdbeChangeP4Full(tls *libc.TLS, p uintptr, pOp uintptr, zP4 uintptr, n int32) { /* sqlite3.c:81062:29: */ +func vdbeChangeP4Full(tls *libc.TLS, p uintptr, pOp uintptr, zP4 uintptr, n int32) { /* sqlite3.c:81075:29: */ if (*Op)(unsafe.Pointer(pOp)).Fp4type != 0 { freeP4(tls, (*Vdbe)(unsafe.Pointer(p)).Fdb, int32((*Op)(unsafe.Pointer(pOp)).Fp4type), *(*uintptr)(unsafe.Pointer(pOp + 16))) (*Op)(unsafe.Pointer(pOp)).Fp4type = int8(0) @@ -58363,7 +58382,7 @@ func vdbeChangeP4Full(tls *libc.TLS, p uintptr, pOp uintptr, zP4 uintptr, n int3 } } -func Xsqlite3VdbeChangeP4(tls *libc.TLS, p uintptr, addr int32, zP4 uintptr, n int32) { /* sqlite3.c:81081:21: */ +func Xsqlite3VdbeChangeP4(tls *libc.TLS, p uintptr, addr int32, zP4 uintptr, n int32) { /* sqlite3.c:81094:21: */ bp := tls.Alloc(8) defer tls.Free(8) *(*uintptr)(unsafe.Pointer(bp)) = zP4 @@ -58410,7 +58429,7 @@ func Xsqlite3VdbeChangeP4(tls *libc.TLS, p uintptr, addr int32, zP4 uintptr, n i // The P4 operand must not have been previously defined. And the new // P4 must not be P4_INT32. Use sqlite3VdbeChangeP4() in either of // those cases. -func Xsqlite3VdbeAppendP4(tls *libc.TLS, p uintptr, pP4 uintptr, n int32) { /* sqlite3.c:81124:21: */ +func Xsqlite3VdbeAppendP4(tls *libc.TLS, p uintptr, pP4 uintptr, n int32) { /* sqlite3.c:81137:21: */ var pOp uintptr if (*Sqlite3)(unsafe.Pointer((*Vdbe)(unsafe.Pointer(p)).Fdb)).FmallocFailed != 0 { @@ -58426,7 +58445,7 @@ func Xsqlite3VdbeAppendP4(tls *libc.TLS, p uintptr, pP4 uintptr, n int32) { /* s // Set the P4 on the most recently added opcode to the KeyInfo for the // index given. -func Xsqlite3VdbeSetP4KeyInfo(tls *libc.TLS, pParse uintptr, pIdx uintptr) { /* sqlite3.c:81144:21: */ +func Xsqlite3VdbeSetP4KeyInfo(tls *libc.TLS, pParse uintptr, pIdx uintptr) { /* sqlite3.c:81157:21: */ var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe var pKeyInfo uintptr @@ -58447,7 +58466,7 @@ func Xsqlite3VdbeSetP4KeyInfo(tls *libc.TLS, pParse uintptr, pIdx uintptr) { /* // this routine is a valid pointer. But because the dummy.opcode is 0, // dummy will never be written to. This is verified by code inspection and // by running with Valgrind. -func Xsqlite3VdbeGetOp(tls *libc.TLS, p uintptr, addr int32) uintptr { /* sqlite3.c:81210:23: */ // Ignore the MSVC warning about no initializer +func Xsqlite3VdbeGetOp(tls *libc.TLS, p uintptr, addr int32) uintptr { /* sqlite3.c:81223:23: */ // Ignore the MSVC warning about no initializer if addr < 0 { addr = (*Vdbe)(unsafe.Pointer(p)).FnOp - 1 @@ -58461,11 +58480,11 @@ func Xsqlite3VdbeGetOp(tls *libc.TLS, p uintptr, addr int32) uintptr { /* sqlite return uintptr(0) } -var dummy VdbeOp /* sqlite3.c:81213:17: */ +var dummy VdbeOp /* sqlite3.c:81226:17: */ // Compute a string that describes the P4 parameter for an opcode. // Use zTemp for any required temporary buffer space. -func Xsqlite3VdbeDisplayP4(tls *libc.TLS, db uintptr, pOp uintptr) uintptr { /* sqlite3.c:81414:21: */ +func Xsqlite3VdbeDisplayP4(tls *libc.TLS, db uintptr, pOp uintptr) uintptr { /* sqlite3.c:81427:21: */ bp := tls.Alloc(176) defer tls.Free(176) @@ -58628,7 +58647,7 @@ func Xsqlite3VdbeDisplayP4(tls *libc.TLS, db uintptr, pOp uintptr) uintptr { /* return Xsqlite3StrAccumFinish(tls, bp+144) } -var encnames = [4]uintptr{ts + 4959, ts + 4961, ts + 4963, ts + 4968} /* sqlite3.c:81444:25 */ +var encnames = [4]uintptr{ts + 4959, ts + 4961, ts + 4963, ts + 4968} /* sqlite3.c:81457:25 */ // Declare to the Vdbe that the BTree object at db->aDb[i] is used. // @@ -58636,7 +58655,7 @@ var encnames = [4]uintptr{ts + 4959, ts + 4961, ts + 4963, ts + 4968} /* sqlite3 // attached databases that will be use. A mask of these databases // is maintained in p->btreeMask. The p->lockMask value is the subset of // p->btreeMask of databases that will require a lock. -func Xsqlite3VdbeUsesBtree(tls *libc.TLS, p uintptr, i int32) { /* sqlite3.c:81539:21: */ +func Xsqlite3VdbeUsesBtree(tls *libc.TLS, p uintptr, i int32) { /* sqlite3.c:81552:21: */ *(*YDbMask)(unsafe.Pointer(p + 212)) |= YDbMask(YDbMask(1)) << i if i != 1 && Xsqlite3BtreeSharable(tls, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer((*Vdbe)(unsafe.Pointer(p)).Fdb)).FaDb+uintptr(i)*32)).FpBt) != 0 { @@ -58663,7 +58682,7 @@ func Xsqlite3VdbeUsesBtree(tls *libc.TLS, p uintptr, i int32) { /* sqlite3.c:815 // corresponding to btrees that use shared cache. Then the runtime of // this routine is N*N. But as N is rarely more than 1, this should not // be a problem. -func Xsqlite3VdbeEnter(tls *libc.TLS, p uintptr) { /* sqlite3.c:81570:21: */ +func Xsqlite3VdbeEnter(tls *libc.TLS, p uintptr) { /* sqlite3.c:81583:21: */ var i int32 var db uintptr var aDb uintptr @@ -58682,7 +58701,7 @@ func Xsqlite3VdbeEnter(tls *libc.TLS, p uintptr) { /* sqlite3.c:81570:21: */ } // Unlock all of the btrees previously locked by a call to sqlite3VdbeEnter(). -func vdbeLeave(tls *libc.TLS, p uintptr) { /* sqlite3.c:81591:29: */ +func vdbeLeave(tls *libc.TLS, p uintptr) { /* sqlite3.c:81604:29: */ var i int32 var db uintptr var aDb uintptr @@ -58697,7 +58716,7 @@ func vdbeLeave(tls *libc.TLS, p uintptr) { /* sqlite3.c:81591:29: */ } } -func Xsqlite3VdbeLeave(tls *libc.TLS, p uintptr) { /* sqlite3.c:81605:21: */ +func Xsqlite3VdbeLeave(tls *libc.TLS, p uintptr) { /* sqlite3.c:81618:21: */ if (*Vdbe)(unsafe.Pointer(p)).FlockMask == YDbMask(0) { return } // The common case @@ -58705,7 +58724,7 @@ func Xsqlite3VdbeLeave(tls *libc.TLS, p uintptr) { /* sqlite3.c:81605:21: */ } // Initialize an array of N Mem element. -func initMemArray(tls *libc.TLS, p uintptr, N int32, db uintptr, flags U16) { /* sqlite3.c:81647:13: */ +func initMemArray(tls *libc.TLS, p uintptr, N int32, db uintptr, flags U16) { /* sqlite3.c:81660:13: */ for libc.PostDecInt32(&N, 1) > 0 { (*Mem)(unsafe.Pointer(p)).Fdb = db (*Mem)(unsafe.Pointer(p)).Fflags = flags @@ -58715,7 +58734,7 @@ func initMemArray(tls *libc.TLS, p uintptr, N int32, db uintptr, flags U16) { /* } // Release an array of N Mem elements -func releaseMemArray(tls *libc.TLS, p uintptr, N int32) { /* sqlite3.c:81662:13: */ +func releaseMemArray(tls *libc.TLS, p uintptr, N int32) { /* sqlite3.c:81675:13: */ if p != 0 && N != 0 { var pEnd uintptr = p + uintptr(N)*56 var db uintptr = (*Mem)(unsafe.Pointer(p)).Fdb @@ -58759,7 +58778,7 @@ func releaseMemArray(tls *libc.TLS, p uintptr, N int32) { /* sqlite3.c:81662:13: // // This routine does not delete the Frame right away. It merely adds the // frame to a list of frames to be deleted when the Vdbe halts. -func Xsqlite3VdbeFrameMemDel(tls *libc.TLS, pArg uintptr) { /* sqlite3.c:81724:21: */ +func Xsqlite3VdbeFrameMemDel(tls *libc.TLS, pArg uintptr) { /* sqlite3.c:81737:21: */ var pFrame uintptr = pArg (*VdbeFrame)(unsafe.Pointer(pFrame)).FpParent = (*Vdbe)(unsafe.Pointer((*VdbeFrame)(unsafe.Pointer(pFrame)).Fv)).FpDelFrame @@ -58771,7 +58790,7 @@ func Xsqlite3VdbeFrameMemDel(tls *libc.TLS, pArg uintptr) { /* sqlite3.c:81724:2 // // Return SQLITE_ROW on success. Return SQLITE_DONE if there are no // more opcodes to be displayed. -func Xsqlite3VdbeNextOpcode(tls *libc.TLS, p uintptr, pSub uintptr, eMode int32, piPc uintptr, piAddr uintptr, paOp uintptr) int32 { /* sqlite3.c:81739:20: */ +func Xsqlite3VdbeNextOpcode(tls *libc.TLS, p uintptr, pSub uintptr, eMode int32, piPc uintptr, piAddr uintptr, paOp uintptr) int32 { /* sqlite3.c:81752:20: */ var nRow int32 // Stop when row count reaches this var nSub int32 = 0 // Number of sub-vdbes seen so far var apSub uintptr = uintptr(0) // Array of sub-vdbes @@ -58870,7 +58889,7 @@ func Xsqlite3VdbeNextOpcode(tls *libc.TLS, p uintptr, pSub uintptr, eMode int32, // Delete a VdbeFrame object and its contents. VdbeFrame objects are // allocated by the OP_Program opcode in sqlite3VdbeExec(). -func Xsqlite3VdbeFrameDelete(tls *libc.TLS, p uintptr) { /* sqlite3.c:81851:21: */ +func Xsqlite3VdbeFrameDelete(tls *libc.TLS, p uintptr) { /* sqlite3.c:81864:21: */ var i int32 var aMem uintptr = p + 120 var apCsr uintptr = aMem + uintptr((*VdbeFrame)(unsafe.Pointer(p)).FnChildMem)*56 @@ -58899,7 +58918,7 @@ func Xsqlite3VdbeFrameDelete(tls *libc.TLS, p uintptr) { /* sqlite3.c:81851:21: // // When p->explain==1, first the main program is listed, then each of // the trigger subprograms are listed one by one. -func Xsqlite3VdbeList(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:81883:20: */ +func Xsqlite3VdbeList(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:81896:20: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -58988,7 +59007,7 @@ type ReusableSpace = struct { FpSpace uintptr FnFree Sqlite3_int64 FnNeeded Sqlite3_int64 -} /* sqlite3.c:82028:1 */ +} /* sqlite3.c:82041:1 */ // Try to allocate nByte bytes of 8-byte aligned bulk memory for pBuf // from the ReusableSpace object. Return a pointer to the allocated @@ -59003,7 +59022,7 @@ type ReusableSpace = struct { // This allocator is employed to repurpose unused slots at the end of the // opcode array of prepared state for other memory needs of the prepared // statement. -func allocSpace(tls *libc.TLS, p uintptr, pBuf uintptr, nByte Sqlite3_int64) uintptr { /* sqlite3.c:82048:13: */ +func allocSpace(tls *libc.TLS, p uintptr, pBuf uintptr, nByte Sqlite3_int64) uintptr { /* sqlite3.c:82061:13: */ if pBuf == uintptr(0) { nByte = (nByte + int64(7)) & int64(libc.CplInt32(7)) @@ -59020,7 +59039,7 @@ func allocSpace(tls *libc.TLS, p uintptr, pBuf uintptr, nByte Sqlite3_int64) uin // Rewind the VDBE back to the beginning in preparation for // running it. -func Xsqlite3VdbeRewind(tls *libc.TLS, p uintptr) { /* sqlite3.c:82071:21: */ +func Xsqlite3VdbeRewind(tls *libc.TLS, p uintptr) { /* sqlite3.c:82084:21: */ // There should be at least one opcode. @@ -59053,7 +59072,7 @@ func Xsqlite3VdbeRewind(tls *libc.TLS, p uintptr) { /* sqlite3.c:82071:21: */ // // Use the sqlite3VdbeRewind() procedure to restore a virtual machine back // to its initial state after it has been run. -func Xsqlite3VdbeMakeReady(tls *libc.TLS, p uintptr, pParse uintptr) { /* sqlite3.c:82124:21: */ +func Xsqlite3VdbeMakeReady(tls *libc.TLS, p uintptr, pParse uintptr) { /* sqlite3.c:82137:21: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -59162,11 +59181,11 @@ func Xsqlite3VdbeMakeReady(tls *libc.TLS, p uintptr, pParse uintptr) { /* sqlite var azColName = [12]uintptr{ ts + 4973, ts + 4978, ts + 4985, ts + 4988, ts + 4991, ts + 4994, ts + 4997, ts + 5000, ts + 5008, ts + 5011, ts + 5018, ts + 5026, -} /* sqlite3.c:82172:23 */ +} /* sqlite3.c:82185:23 */ // Close a VDBE cursor and release all the resources that cursor // happens to hold. -func Xsqlite3VdbeFreeCursor(tls *libc.TLS, p uintptr, pCx uintptr) { /* sqlite3.c:82249:21: */ +func Xsqlite3VdbeFreeCursor(tls *libc.TLS, p uintptr, pCx uintptr) { /* sqlite3.c:82262:21: */ if pCx == uintptr(0) { return } @@ -59200,7 +59219,7 @@ func Xsqlite3VdbeFreeCursor(tls *libc.TLS, p uintptr, pCx uintptr) { /* sqlite3. } // Close all cursors in the current frame. -func closeCursorsInFrame(tls *libc.TLS, p uintptr) { /* sqlite3.c:82279:13: */ +func closeCursorsInFrame(tls *libc.TLS, p uintptr) { /* sqlite3.c:82292:13: */ if (*Vdbe)(unsafe.Pointer(p)).FapCsr != 0 { var i int32 for i = 0; i < (*Vdbe)(unsafe.Pointer(p)).FnCursor; i++ { @@ -59216,7 +59235,7 @@ func closeCursorsInFrame(tls *libc.TLS, p uintptr) { /* sqlite3.c:82279:13: */ // Copy the values stored in the VdbeFrame structure to its Vdbe. This // is used, for example, when a trigger sub-program is halted to restore // control to the main program. -func Xsqlite3VdbeFrameRestore(tls *libc.TLS, pFrame uintptr) int32 { /* sqlite3.c:82297:20: */ +func Xsqlite3VdbeFrameRestore(tls *libc.TLS, pFrame uintptr) int32 { /* sqlite3.c:82310:20: */ var v uintptr = (*VdbeFrame)(unsafe.Pointer(pFrame)).Fv closeCursorsInFrame(tls, v) (*Vdbe)(unsafe.Pointer(v)).FaOp = (*VdbeFrame)(unsafe.Pointer(pFrame)).FaOp @@ -59240,7 +59259,7 @@ func Xsqlite3VdbeFrameRestore(tls *libc.TLS, pFrame uintptr) int32 { /* sqlite3. // cell array. This is necessary as the memory cell array may contain // pointers to VdbeFrame objects, which may in turn contain pointers to // open cursors. -func closeAllCursors(tls *libc.TLS, p uintptr) { /* sqlite3.c:82326:13: */ +func closeAllCursors(tls *libc.TLS, p uintptr) { /* sqlite3.c:82339:13: */ if (*Vdbe)(unsafe.Pointer(p)).FpFrame != 0 { var pFrame uintptr for pFrame = (*Vdbe)(unsafe.Pointer(p)).FpFrame; (*VdbeFrame)(unsafe.Pointer(pFrame)).FpParent != 0; pFrame = (*VdbeFrame)(unsafe.Pointer(pFrame)).FpParent { @@ -59271,7 +59290,7 @@ func closeAllCursors(tls *libc.TLS, p uintptr) { /* sqlite3.c:82326:13: */ // statement. This is now set at compile time, rather than during // execution of the vdbe program so that sqlite3_column_count() can // be called on an SQL statement before sqlite3_step(). -func Xsqlite3VdbeSetNumCols(tls *libc.TLS, p uintptr, nResColumn int32) { /* sqlite3.c:82356:21: */ +func Xsqlite3VdbeSetNumCols(tls *libc.TLS, p uintptr, nResColumn int32) { /* sqlite3.c:82369:21: */ var n int32 var db uintptr = (*Vdbe)(unsafe.Pointer(p)).Fdb @@ -59296,7 +59315,7 @@ func Xsqlite3VdbeSetNumCols(tls *libc.TLS, p uintptr, nResColumn int32) { /* sql // The final parameter, xDel, must be one of SQLITE_DYNAMIC, SQLITE_STATIC // 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 Xsqlite3VdbeSetColName(tls *libc.TLS, p uintptr, idx int32, var1 int32, zName uintptr, xDel uintptr) int32 { /* sqlite3.c:82381:20: */ +func Xsqlite3VdbeSetColName(tls *libc.TLS, p uintptr, idx int32, var1 int32, zName uintptr, xDel uintptr) int32 { /* sqlite3.c:82394:20: */ var rc int32 var pColName uintptr @@ -59315,7 +59334,7 @@ func Xsqlite3VdbeSetColName(tls *libc.TLS, p uintptr, idx int32, var1 int32, zNa // db. If a transaction is active, commit it. If there is a // write-transaction spanning more than one database file, this routine // takes care of the super-journal trickery. -func vdbeCommit(tls *libc.TLS, db uintptr, p uintptr) int32 { /* sqlite3.c:82409:12: */ +func vdbeCommit(tls *libc.TLS, db uintptr, p uintptr) int32 { /* sqlite3.c:82422:12: */ bp := tls.Alloc(72) defer tls.Free(72) @@ -59543,7 +59562,7 @@ var aMJNeeded = [6]U8{ /* TRUNCATE */ U8(1), /* MEMORY */ U8(0), /* WAL */ U8(0), -} /* sqlite3.c:82444:23 */ +} /* sqlite3.c:82457:23 */ // This routine checks that the sqlite3.nVdbeActive count variable // matches the number of vdbe's in the list sqlite3.pVdbe that are @@ -59561,7 +59580,7 @@ var aMJNeeded = [6]U8{ // // If an IO error occurs, an SQLITE_IOERR_XXX error code is returned. // Otherwise SQLITE_OK. -func vdbeCloseStatement(tls *libc.TLS, p uintptr, eOp int32) int32 { /* sqlite3.c:82705:28: */ +func vdbeCloseStatement(tls *libc.TLS, p uintptr, eOp int32) int32 { /* sqlite3.c:82718:28: */ var db uintptr = (*Vdbe)(unsafe.Pointer(p)).Fdb var rc int32 = SQLITE_OK var i int32 @@ -59604,7 +59623,7 @@ func vdbeCloseStatement(tls *libc.TLS, p uintptr, eOp int32) int32 { /* sqlite3. return rc } -func Xsqlite3VdbeCloseStatement(tls *libc.TLS, p uintptr, eOp int32) int32 { /* sqlite3.c:82751:20: */ +func Xsqlite3VdbeCloseStatement(tls *libc.TLS, p uintptr, eOp int32) int32 { /* sqlite3.c:82764:20: */ if (*Sqlite3)(unsafe.Pointer((*Vdbe)(unsafe.Pointer(p)).Fdb)).FnStatement != 0 && (*Vdbe)(unsafe.Pointer(p)).FiStatement != 0 { return vdbeCloseStatement(tls, p, eOp) } @@ -59619,7 +59638,7 @@ func Xsqlite3VdbeCloseStatement(tls *libc.TLS, p uintptr, eOp int32) int32 { /* // If there are outstanding FK violations and this function returns // SQLITE_ERROR, set the result of the VM to SQLITE_CONSTRAINT_FOREIGNKEY // and write an error message to it. Then return SQLITE_ERROR. -func Xsqlite3VdbeCheckFk(tls *libc.TLS, p uintptr, deferred int32) int32 { /* sqlite3.c:82770:20: */ +func Xsqlite3VdbeCheckFk(tls *libc.TLS, p uintptr, deferred int32) int32 { /* sqlite3.c:82783:20: */ var db uintptr = (*Vdbe)(unsafe.Pointer(p)).Fdb if deferred != 0 && (*Sqlite3)(unsafe.Pointer(db)).FnDeferredCons+(*Sqlite3)(unsafe.Pointer(db)).FnDeferredImmCons > int64(0) || !(deferred != 0) && (*Vdbe)(unsafe.Pointer(p)).FnFkConstraint > int64(0) { @@ -59642,7 +59661,7 @@ func Xsqlite3VdbeCheckFk(tls *libc.TLS, p uintptr, deferred int32) int32 { /* sq // Return an error code. If the commit could not complete because of // lock contention, return SQLITE_BUSY. If SQLITE_BUSY is returned, it // means the close did not happen and needs to be repeated. -func Xsqlite3VdbeHalt(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:82797:20: */ +func Xsqlite3VdbeHalt(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:82810:20: */ var rc int32 // Used to store transient return codes var db uintptr = (*Vdbe)(unsafe.Pointer(p)).Fdb @@ -59846,7 +59865,7 @@ func Xsqlite3VdbeHalt(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:82797:20: * // Each VDBE holds the result of the most recent sqlite3_step() call // in p->rc. This routine sets that result back to SQLITE_OK. -func Xsqlite3VdbeResetStepResult(tls *libc.TLS, p uintptr) { /* sqlite3.c:83007:21: */ +func Xsqlite3VdbeResetStepResult(tls *libc.TLS, p uintptr) { /* sqlite3.c:83020:21: */ (*Vdbe)(unsafe.Pointer(p)).Frc = SQLITE_OK } @@ -59856,7 +59875,7 @@ func Xsqlite3VdbeResetStepResult(tls *libc.TLS, p uintptr) { /* sqlite3.c:83007: // // This function does not clear the VDBE error code or message, just // copies them to the database handle. -func Xsqlite3VdbeTransferError(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:83019:20: */ +func Xsqlite3VdbeTransferError(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:83032:20: */ var db uintptr = (*Vdbe)(unsafe.Pointer(p)).Fdb var rc int32 = (*Vdbe)(unsafe.Pointer(p)).Frc if (*Vdbe)(unsafe.Pointer(p)).FzErrMsg != 0 { @@ -59885,7 +59904,7 @@ func Xsqlite3VdbeTransferError(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:83 // To look at it another way, this routine resets the state of the // virtual machine from VDBE_MAGIC_RUN or VDBE_MAGIC_HALT back to // VDBE_MAGIC_INIT. -func Xsqlite3VdbeReset(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:83069:20: */ +func Xsqlite3VdbeReset(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:83082:20: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -59937,7 +59956,7 @@ func Xsqlite3VdbeReset(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:83069:20: // Clean up and delete a VDBE after execution. Return an integer which is // the result code. Write any error message text into *pzErrMsg. -func Xsqlite3VdbeFinalize(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:83166:20: */ +func Xsqlite3VdbeFinalize(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:83179:20: */ var rc int32 = SQLITE_OK if (*Vdbe)(unsafe.Pointer(p)).FiVdbeMagic == U32(VDBE_MAGIC_RUN) || (*Vdbe)(unsafe.Pointer(p)).FiVdbeMagic == U32(VDBE_MAGIC_HALT) { rc = Xsqlite3VdbeReset(tls, p) @@ -59961,7 +59980,7 @@ func Xsqlite3VdbeFinalize(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:83166:2 // // * the corresponding bit in argument mask is clear (where the first // function parameter corresponds to bit 0 etc.). -func Xsqlite3VdbeDeleteAuxData(tls *libc.TLS, db uintptr, pp uintptr, iOp int32, mask int32) { /* sqlite3.c:83192:21: */ +func Xsqlite3VdbeDeleteAuxData(tls *libc.TLS, db uintptr, pp uintptr, iOp int32, mask int32) { /* sqlite3.c:83205:21: */ for *(*uintptr)(unsafe.Pointer(pp)) != 0 { var pAux uintptr = *(*uintptr)(unsafe.Pointer(pp)) if iOp < 0 || @@ -59986,7 +60005,7 @@ func Xsqlite3VdbeDeleteAuxData(tls *libc.TLS, db uintptr, pp uintptr, iOp int32, // The difference between this function and sqlite3VdbeDelete() is that // VdbeDelete() also unlinks the Vdbe from the list of VMs associated with // the database connection and frees the object itself. -func Xsqlite3VdbeClearObject(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:83220:21: */ +func Xsqlite3VdbeClearObject(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:83233:21: */ var pSub uintptr var pNext uintptr @@ -60007,7 +60026,7 @@ func Xsqlite3VdbeClearObject(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3. } // Delete an entire VDBE. -func Xsqlite3VdbeDelete(tls *libc.TLS, p uintptr) { /* sqlite3.c:83261:21: */ +func Xsqlite3VdbeDelete(tls *libc.TLS, p uintptr) { /* sqlite3.c:83274:21: */ var db uintptr db = (*Vdbe)(unsafe.Pointer(p)).Fdb @@ -60030,7 +60049,7 @@ func Xsqlite3VdbeDelete(tls *libc.TLS, p uintptr) { /* sqlite3.c:83261:21: */ // The cursor "p" has a pending seek operation that has not yet been // carried out. Seek the cursor now. If an error occurs, return // the appropriate error code. -func Xsqlite3VdbeFinishMoveto(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:83287:36: */ +func Xsqlite3VdbeFinishMoveto(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:83300:36: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -60043,7 +60062,7 @@ func Xsqlite3VdbeFinishMoveto(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:832 return rc } if *(*int32)(unsafe.Pointer(bp)) != 0 { - return Xsqlite3CorruptError(tls, 83297) + return Xsqlite3CorruptError(tls, 83310) } (*VdbeCursor)(unsafe.Pointer(p)).FdeferredMoveto = U8(0) (*VdbeCursor)(unsafe.Pointer(p)).FcacheStatus = U32(CACHE_STALE) @@ -60055,7 +60074,7 @@ func Xsqlite3VdbeFinishMoveto(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:832 // rebalanced. Whatever the cause, try to restore "p" to the place it // is supposed to be pointing. If the row was deleted out from under the // cursor, set the cursor to point to a NULL row. -func handleMovedCursor(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:83313:28: */ +func handleMovedCursor(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:83326:28: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -60073,7 +60092,7 @@ func handleMovedCursor(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:83313:28: // Check to ensure that the cursor is valid. Restore the cursor // if need be. Return any I/O error from the restore operation. -func Xsqlite3VdbeCursorRestore(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:83328:20: */ +func Xsqlite3VdbeCursorRestore(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:83341:20: */ if Xsqlite3BtreeCursorHasMoved(tls, *(*uintptr)(unsafe.Pointer(p + 48))) != 0 { return handleMovedCursor(tls, p) @@ -60092,7 +60111,7 @@ func Xsqlite3VdbeCursorRestore(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:83 // // If the cursor is already pointing to the correct row and that row has // not been deleted out from under the cursor, then this routine is a no-op. -func Xsqlite3VdbeCursorMoveto(tls *libc.TLS, pp uintptr, piCol uintptr) int32 { /* sqlite3.c:83349:20: */ +func Xsqlite3VdbeCursorMoveto(tls *libc.TLS, pp uintptr, piCol uintptr) int32 { /* sqlite3.c:83362:20: */ var p uintptr = *(*uintptr)(unsafe.Pointer(pp)) if (*VdbeCursor)(unsafe.Pointer(p)).FdeferredMoveto != 0 { @@ -60167,10 +60186,10 @@ var sqlite3SmallTypeSizes = [128]U8{ /* 100 */ U8(44), U8(44), U8(45), U8(45), U8(46), U8(46), U8(47), U8(47), U8(48), U8(48), /* 110 */ U8(49), U8(49), U8(50), U8(50), U8(51), U8(51), U8(52), U8(52), U8(53), U8(53), /* 120 */ U8(54), U8(54), U8(55), U8(55), U8(56), U8(56), U8(57), U8(57), -} /* sqlite3.c:83486:17 */ +} /* sqlite3.c:83499:17 */ // Return the length of the data corresponding to the supplied serial-type. -func Xsqlite3VdbeSerialTypeLen(tls *libc.TLS, serial_type U32) U32 { /* sqlite3.c:83506:20: */ +func Xsqlite3VdbeSerialTypeLen(tls *libc.TLS, serial_type U32) U32 { /* sqlite3.c:83519:20: */ if serial_type >= U32(128) { return (serial_type - U32(12)) / U32(2) } else { @@ -60180,7 +60199,7 @@ func Xsqlite3VdbeSerialTypeLen(tls *libc.TLS, serial_type U32) U32 { /* sqlite3. return U32(0) } -func Xsqlite3VdbeOneByteSerialTypeLen(tls *libc.TLS, serial_type U8) U8 { /* sqlite3.c:83515:19: */ +func Xsqlite3VdbeOneByteSerialTypeLen(tls *libc.TLS, serial_type U8) U8 { /* sqlite3.c:83528:19: */ return sqlite3SmallTypeSizes[serial_type] } @@ -60229,7 +60248,7 @@ func Xsqlite3VdbeOneByteSerialTypeLen(tls *libc.TLS, serial_type U8) U8 { /* sql // Return the number of bytes actually written into buf[]. The number // of bytes in the zero-filled tail is included in the return value only // if those bytes were zeroed in buf[]. -func Xsqlite3VdbeSerialPut(tls *libc.TLS, buf uintptr, pMem uintptr, serial_type U32) U32 { /* sqlite3.c:83586:20: */ +func Xsqlite3VdbeSerialPut(tls *libc.TLS, buf uintptr, pMem uintptr, serial_type U32) U32 { /* sqlite3.c:83599:20: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -60280,7 +60299,7 @@ func Xsqlite3VdbeSerialPut(tls *libc.TLS, buf uintptr, pMem uintptr, serial_type // The few cases that require local variables are broken out into a separate // routine so that in most cases the overhead of moving the stack pointer // is avoided. -func serialGet(tls *libc.TLS, buf uintptr, serial_type U32, pMem uintptr) { /* sqlite3.c:83640:13: */ +func serialGet(tls *libc.TLS, buf uintptr, serial_type U32, pMem uintptr) { /* sqlite3.c:83653:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -60307,7 +60326,7 @@ func serialGet(tls *libc.TLS, buf uintptr, serial_type U32, pMem uintptr) { /* s } } -func Xsqlite3VdbeSerialGet(tls *libc.TLS, buf uintptr, serial_type U32, pMem uintptr) { /* sqlite3.c:83675:21: */ +func Xsqlite3VdbeSerialGet(tls *libc.TLS, buf uintptr, serial_type U32, pMem uintptr) { /* sqlite3.c:83688:21: */ switch serial_type { case U32(10): { // Internal use only: NULL with virtual table @@ -60410,7 +60429,7 @@ func Xsqlite3VdbeSerialGet(tls *libc.TLS, buf uintptr, serial_type U32, pMem uin return } -var aFlag = [2]U16{U16(MEM_Blob | MEM_Ephem), U16(MEM_Str | MEM_Ephem)} /* sqlite3.c:83758:24 */ +var aFlag = [2]U16{U16(MEM_Blob | MEM_Ephem), U16(MEM_Str | MEM_Ephem)} /* sqlite3.c:83771:24 */ // This routine is used to allocate sufficient space for an UnpackedRecord // structure large enough to be used with sqlite3VdbeRecordUnpack() if @@ -60424,7 +60443,7 @@ var aFlag = [2]U16{U16(MEM_Blob | MEM_Ephem), U16(MEM_Str | MEM_Ephem)} /* sqlit // before returning. // // If an OOM error occurs, NULL is returned. -func Xsqlite3VdbeAllocUnpackedRecord(tls *libc.TLS, pKeyInfo uintptr) uintptr { /* sqlite3.c:83781:31: */ +func Xsqlite3VdbeAllocUnpackedRecord(tls *libc.TLS, pKeyInfo uintptr) uintptr { /* sqlite3.c:83794:31: */ var p uintptr // Unpacked record to return var nByte int32 // Number of bytes required for *p nByte = int32((uint64(unsafe.Sizeof(UnpackedRecord{}))+uint64(7))&libc.Uint64FromInt32(libc.CplInt32(7)) + uint64(unsafe.Sizeof(Mem{}))*uint64(int32((*KeyInfo)(unsafe.Pointer(pKeyInfo)).FnKeyField)+1)) @@ -60442,7 +60461,7 @@ func Xsqlite3VdbeAllocUnpackedRecord(tls *libc.TLS, pKeyInfo uintptr) uintptr { // Given the nKey-byte encoding of a record in pKey[], populate the // UnpackedRecord structure indicated by the fourth argument with the // contents of the decoded record. -func Xsqlite3VdbeRecordUnpack(tls *libc.TLS, pKeyInfo uintptr, nKey int32, pKey uintptr, p uintptr) { /* sqlite3.c:83801:21: */ +func Xsqlite3VdbeRecordUnpack(tls *libc.TLS, pKeyInfo uintptr, nKey int32, pKey uintptr, p uintptr) { /* sqlite3.c:83814:21: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -60503,7 +60522,7 @@ func Xsqlite3VdbeRecordUnpack(tls *libc.TLS, pKeyInfo uintptr, nKey int32, pKey // using the collation sequence pColl. As usual, return a negative , zero // or positive value if *pMem1 is less than, equal to or greater than // *pMem2, respectively. Similar in spirit to "rc = (*pMem1) - (*pMem2);". -func vdbeCompareMemString(tls *libc.TLS, pMem1 uintptr, pMem2 uintptr, pColl uintptr, prcErr uintptr) int32 { /* sqlite3.c:83998:12: */ +func vdbeCompareMemString(tls *libc.TLS, pMem1 uintptr, pMem2 uintptr, pColl uintptr, prcErr uintptr) int32 { /* sqlite3.c:84011:12: */ bp := tls.Alloc(112) defer tls.Free(112) @@ -60546,7 +60565,7 @@ func vdbeCompareMemString(tls *libc.TLS, pMem1 uintptr, pMem2 uintptr, pColl uin // The input pBlob is guaranteed to be a Blob that is not marked // with MEM_Zero. Return true if it could be a zero-blob. -func isAllZero(tls *libc.TLS, z uintptr, n int32) int32 { /* sqlite3.c:84035:12: */ +func isAllZero(tls *libc.TLS, z uintptr, n int32) int32 { /* sqlite3.c:84048:12: */ var i int32 for i = 0; i < n; i++ { if *(*int8)(unsafe.Pointer(z + uintptr(i))) != 0 { @@ -60559,7 +60578,7 @@ func isAllZero(tls *libc.TLS, z uintptr, n int32) int32 { /* sqlite3.c:84035:12: // Compare two blobs. Return negative, zero, or positive if the first // is less than, equal to, or greater than the second, respectively. // If one blob is a prefix of the other, then the shorter is the lessor. -func Xsqlite3BlobCompare(tls *libc.TLS, pB1 uintptr, pB2 uintptr) int32 { /* sqlite3.c:84048:36: */ +func Xsqlite3BlobCompare(tls *libc.TLS, pB1 uintptr, pB2 uintptr) int32 { /* sqlite3.c:84061:36: */ var c int32 var n1 int32 = (*Mem)(unsafe.Pointer(pB1)).Fn var n2 int32 = (*Mem)(unsafe.Pointer(pB2)).Fn @@ -60599,7 +60618,7 @@ func Xsqlite3BlobCompare(tls *libc.TLS, pB1 uintptr, pB2 uintptr) int32 { /* sql // Do a comparison between a 64-bit signed integer and a 64-bit floating-point // number. Return negative, zero, or positive if the first (i64) is less than, // equal to, or greater than the second (double). -func Xsqlite3IntFloatCompare(tls *libc.TLS, i I64, r float64) int32 { /* sqlite3.c:84081:20: */ +func Xsqlite3IntFloatCompare(tls *libc.TLS, i I64, r float64) int32 { /* sqlite3.c:84094:20: */ if uint64(unsafe.Sizeof(float64(0))) > uint64(8) { var x float64 = float64(i) @@ -60645,7 +60664,7 @@ func Xsqlite3IntFloatCompare(tls *libc.TLS, i I64, r float64) int32 { /* sqlite3 // sequence pColl and finally blob's ordered by memcmp(). // // Two NULL values are considered equal by this function. -func Xsqlite3MemCompare(tls *libc.TLS, pMem1 uintptr, pMem2 uintptr, pColl uintptr) int32 { /* sqlite3.c:84114:20: */ +func Xsqlite3MemCompare(tls *libc.TLS, pMem1 uintptr, pMem2 uintptr, pColl uintptr) int32 { /* sqlite3.c:84127:20: */ var f1 int32 var f2 int32 var combined_flags int32 @@ -60739,7 +60758,7 @@ func Xsqlite3MemCompare(tls *libc.TLS, pMem1 uintptr, pMem2 uintptr, pColl uintp // except 7. The second points to a buffer containing an integer value // serialized according to serial_type. This function deserializes // and returns the value. -func vdbeRecordDecodeInt(tls *libc.TLS, serial_type U32, aKey uintptr) I64 { /* sqlite3.c:84213:12: */ +func vdbeRecordDecodeInt(tls *libc.TLS, serial_type U32, aKey uintptr) I64 { /* sqlite3.c:84226:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -60802,7 +60821,7 @@ func vdbeRecordDecodeInt(tls *libc.TLS, serial_type U32, aKey uintptr) I64 { /* // SQLITE_CORRUPT and return 0. If an OOM error is encountered, // pPKey2->errCode is set to SQLITE_NOMEM and, if it is not NULL, the // malloc-failed flag set on database handle (pPKey2->pKeyInfo->db). -func Xsqlite3VdbeRecordCompareWithSkip(tls *libc.TLS, nKey1 int32, pKey1 uintptr, pPKey2 uintptr, bSkip int32) int32 { /* sqlite3.c:84268:20: */ +func Xsqlite3VdbeRecordCompareWithSkip(tls *libc.TLS, nKey1 int32, pKey1 uintptr, pPKey2 uintptr, bSkip int32) int32 { /* sqlite3.c:84281:20: */ bp := tls.Alloc(68) defer tls.Free(68) @@ -60844,7 +60863,7 @@ func Xsqlite3VdbeRecordCompareWithSkip(tls *libc.TLS, nKey1 int32, pKey1 uintptr i = 0 } if d1 > uint32(nKey1) { - (*UnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = U8(Xsqlite3CorruptError(tls, 84299)) + (*UnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = U8(Xsqlite3CorruptError(tls, 84312)) return 0 // Corruption } @@ -60909,7 +60928,7 @@ func Xsqlite3VdbeRecordCompareWithSkip(tls *libc.TLS, nKey1 int32, pKey1 uintptr if d1+U32((*Mem)(unsafe.Pointer(bp+8)).Fn) > uint32(nKey1) || int32((*KeyInfo)(unsafe.Pointer(libc.AssignUintptr(&pKeyInfo, (*UnpackedRecord)(unsafe.Pointer(pPKey2)).FpKeyInfo))).FnAllField) <= i { - (*UnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = U8(Xsqlite3CorruptError(tls, 84376)) + (*UnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = U8(Xsqlite3CorruptError(tls, 84389)) return 0 // Corruption } else if *(*uintptr)(unsafe.Pointer(pKeyInfo + 32 + uintptr(i)*8)) != 0 { (*Mem)(unsafe.Pointer(bp + 8 /* &mem1 */)).Fenc = (*KeyInfo)(unsafe.Pointer(pKeyInfo)).Fenc @@ -60944,7 +60963,7 @@ func Xsqlite3VdbeRecordCompareWithSkip(tls *libc.TLS, nKey1 int32, pKey1 uintptr var nStr int32 = int32((*(*U32)(unsafe.Pointer(bp + 64)) - U32(12)) / U32(2)) if d1+U32(nStr) > uint32(nKey1) { - (*UnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = U8(Xsqlite3CorruptError(tls, 84406)) + (*UnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = U8(Xsqlite3CorruptError(tls, 84419)) return 0 // Corruption } else if int32((*Mem)(unsafe.Pointer(pRhs)).Fflags)&MEM_Zero != 0 { if !(isAllZero(tls, aKey1+uintptr(d1), nStr) != 0) { @@ -61005,7 +61024,7 @@ func Xsqlite3VdbeRecordCompareWithSkip(tls *libc.TLS, nKey1 int32, pKey1 uintptr return int32((*UnpackedRecord)(unsafe.Pointer(pPKey2)).Fdefault_rc) } -func Xsqlite3VdbeRecordCompare(tls *libc.TLS, nKey1 int32, pKey1 uintptr, pPKey2 uintptr) int32 { /* sqlite3.c:84465:20: */ +func Xsqlite3VdbeRecordCompare(tls *libc.TLS, nKey1 int32, pKey1 uintptr, pPKey2 uintptr) int32 { /* sqlite3.c:84478:20: */ return Xsqlite3VdbeRecordCompareWithSkip(tls, nKey1, pKey1, pPKey2, 0) } @@ -61016,7 +61035,7 @@ func Xsqlite3VdbeRecordCompare(tls *libc.TLS, nKey1 int32, pKey1 uintptr, pPKey2 // // To avoid concerns about buffer overreads, this routine is only used // on schemas where the maximum valid header size is 63 bytes or less. -func vdbeRecordCompareInt(tls *libc.TLS, nKey1 int32, pKey1 uintptr, pPKey2 uintptr) int32 { /* sqlite3.c:84482:12: */ +func vdbeRecordCompareInt(tls *libc.TLS, nKey1 int32, pKey1 uintptr, pPKey2 uintptr) int32 { /* sqlite3.c:84495:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -61121,7 +61140,7 @@ func vdbeRecordCompareInt(tls *libc.TLS, nKey1 int32, pKey1 uintptr, pPKey2 uint // that (a) the first field of pPKey2 is a string, that (b) the first field // uses the collation sequence BINARY and (c) that the size-of-header varint // at the start of (pKey1/nKey1) fits in a single byte. -func vdbeRecordCompareString(tls *libc.TLS, nKey1 int32, pKey1 uintptr, pPKey2 uintptr) int32 { /* sqlite3.c:84576:12: */ +func vdbeRecordCompareString(tls *libc.TLS, nKey1 int32, pKey1 uintptr, pPKey2 uintptr) int32 { /* sqlite3.c:84589:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -61145,7 +61164,7 @@ func vdbeRecordCompareString(tls *libc.TLS, nKey1 int32, pKey1 uintptr, pPKey2 u nStr = (*(*int32)(unsafe.Pointer(bp)) - 12) / 2 if szHdr+nStr > nKey1 { - (*UnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = U8(Xsqlite3CorruptError(tls, 84601)) + (*UnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = U8(Xsqlite3CorruptError(tls, 84614)) return 0 // Corruption } nCmp = func() int32 { @@ -61183,7 +61202,7 @@ func vdbeRecordCompareString(tls *libc.TLS, nKey1 int32, pKey1 uintptr, pPKey2 u // Return a pointer to an sqlite3VdbeRecordCompare() compatible function // suitable for comparing serialized records to the unpacked record passed // as the only argument. -func Xsqlite3VdbeFindCompare(tls *libc.TLS, p uintptr) RecordCompare { /* sqlite3.c:84640:30: */ +func Xsqlite3VdbeFindCompare(tls *libc.TLS, p uintptr) RecordCompare { /* sqlite3.c:84653:30: */ // varintRecordCompareInt() and varintRecordCompareString() both assume // that the size-of-header varint that occurs at the start of each record // fits in a single byte (i.e. is 127 or less). varintRecordCompareInt() @@ -61237,7 +61256,7 @@ func Xsqlite3VdbeFindCompare(tls *libc.TLS, p uintptr) RecordCompare { /* sqlite // // pCur might be pointing to text obtained from a corrupt database file. // So the content cannot be trusted. Do appropriate checks on the content. -func Xsqlite3VdbeIdxRowid(tls *libc.TLS, db uintptr, pCur uintptr, rowid uintptr) int32 { /* sqlite3.c:84691:20: */ +func Xsqlite3VdbeIdxRowid(tls *libc.TLS, db uintptr, pCur uintptr, rowid uintptr) int32 { /* sqlite3.c:84704:20: */ bp := tls.Alloc(120) defer tls.Free(120) @@ -61322,7 +61341,7 @@ __6: idx_rowid_corruption: ; Xsqlite3VdbeMemRelease(tls, bp) - return Xsqlite3CorruptError(tls, 84756) + return Xsqlite3CorruptError(tls, 84769) } // Compare the key of the index entry that cursor pC is pointing to against @@ -61334,7 +61353,7 @@ idx_rowid_corruption: // omits the rowid at the end. The rowid at the end of the index entry // is ignored as well. Hence, this routine only compares the prefixes // of the keys prior to the final rowid, not the entire key. -func Xsqlite3VdbeIdxKeyCompare(tls *libc.TLS, db uintptr, pC uintptr, pUnpacked uintptr, res uintptr) int32 { /* sqlite3.c:84770:20: */ +func Xsqlite3VdbeIdxKeyCompare(tls *libc.TLS, db uintptr, pC uintptr, pUnpacked uintptr, res uintptr) int32 { /* sqlite3.c:84783:20: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -61350,7 +61369,7 @@ func Xsqlite3VdbeIdxKeyCompare(tls *libc.TLS, db uintptr, pC uintptr, pUnpacked // that btreeParseCellPtr() and sqlite3GetVarint32() are implemented if nCellKey <= int64(0) || nCellKey > int64(0x7fffffff) { *(*int32)(unsafe.Pointer(res)) = 0 - return Xsqlite3CorruptError(tls, 84789) + return Xsqlite3CorruptError(tls, 84802) } Xsqlite3VdbeMemInit(tls, bp, db, uint16(0)) rc = Xsqlite3VdbeMemFromBtreeZeroOffset(tls, pCur, U32(nCellKey), bp) @@ -61364,7 +61383,7 @@ func Xsqlite3VdbeIdxKeyCompare(tls *libc.TLS, db uintptr, pC uintptr, pUnpacked // This routine sets the value to be returned by subsequent calls to // sqlite3_changes() on the database handle 'db'. -func Xsqlite3VdbeSetChanges(tls *libc.TLS, db uintptr, nChange I64) { /* sqlite3.c:84805:21: */ +func Xsqlite3VdbeSetChanges(tls *libc.TLS, db uintptr, nChange I64) { /* sqlite3.c:84818:21: */ (*Sqlite3)(unsafe.Pointer(db)).FnChange = nChange *(*I64)(unsafe.Pointer(db + 128)) += nChange @@ -61372,7 +61391,7 @@ func Xsqlite3VdbeSetChanges(tls *libc.TLS, db uintptr, nChange I64) { /* sqlite3 // Set a flag in the vdbe to update the change counter when it is finalised // or reset. -func Xsqlite3VdbeCountChanges(tls *libc.TLS, v uintptr) { /* sqlite3.c:84815:21: */ +func Xsqlite3VdbeCountChanges(tls *libc.TLS, v uintptr) { /* sqlite3.c:84828:21: */ libc.SetBitFieldPtr16Uint32(v+208, Bft(1), 4, 0x10) } @@ -61392,7 +61411,7 @@ func Xsqlite3VdbeCountChanges(tls *libc.TLS, v uintptr) { /* sqlite3.c:84815:21: // Internally, this function just sets the Vdbe.expired flag on all // prepared statements. The flag is set to 1 for an immediate expiration // and set to 2 for an advisory expiration. -func Xsqlite3ExpirePreparedStatements(tls *libc.TLS, db uintptr, iCode int32) { /* sqlite3.c:84837:21: */ +func Xsqlite3ExpirePreparedStatements(tls *libc.TLS, db uintptr, iCode int32) { /* sqlite3.c:84850:21: */ var p uintptr for p = (*Sqlite3)(unsafe.Pointer(db)).FpVdbe; p != 0; p = (*Vdbe)(unsafe.Pointer(p)).FpNext { libc.SetBitFieldPtr16Uint32(p+208, Bft(iCode+1), 0, 0x3) @@ -61400,12 +61419,12 @@ func Xsqlite3ExpirePreparedStatements(tls *libc.TLS, db uintptr, iCode int32) { } // Return the database associated with the Vdbe. -func Xsqlite3VdbeDb(tls *libc.TLS, v uintptr) uintptr { /* sqlite3.c:84847:24: */ +func Xsqlite3VdbeDb(tls *libc.TLS, v uintptr) uintptr { /* sqlite3.c:84860:24: */ return (*Vdbe)(unsafe.Pointer(v)).Fdb } // Return the SQLITE_PREPARE flags for a Vdbe. -func Xsqlite3VdbePrepareFlags(tls *libc.TLS, v uintptr) U8 { /* sqlite3.c:84854:19: */ +func Xsqlite3VdbePrepareFlags(tls *libc.TLS, v uintptr) U8 { /* sqlite3.c:84867:19: */ return (*Vdbe)(unsafe.Pointer(v)).FprepFlags } @@ -61415,7 +61434,7 @@ func Xsqlite3VdbePrepareFlags(tls *libc.TLS, v uintptr) U8 { /* sqlite3.c:84854: // constants) to the value before returning it. // // The returned value must be freed by the caller using sqlite3ValueFree(). -func Xsqlite3VdbeGetBoundValue(tls *libc.TLS, v uintptr, iVar int32, aff U8) uintptr { /* sqlite3.c:84866:30: */ +func Xsqlite3VdbeGetBoundValue(tls *libc.TLS, v uintptr, iVar int32, aff U8) uintptr { /* sqlite3.c:84879:30: */ if v != 0 { var pMem uintptr = (*Vdbe)(unsafe.Pointer(v)).FaVar + uintptr(iVar-1)*56 @@ -61435,7 +61454,7 @@ func Xsqlite3VdbeGetBoundValue(tls *libc.TLS, v uintptr, iVar int32, aff U8) uin // Configure SQL variable iVar so that binding a new value to it signals // to sqlite3_reoptimize() that re-preparing the statement may result // in a better query plan. -func Xsqlite3VdbeSetVarmask(tls *libc.TLS, v uintptr, iVar int32) { /* sqlite3.c:84888:21: */ +func Xsqlite3VdbeSetVarmask(tls *libc.TLS, v uintptr, iVar int32) { /* sqlite3.c:84901:21: */ if iVar >= 32 { *(*U32)(unsafe.Pointer(v + 292)) |= 0x80000000 @@ -61451,7 +61470,7 @@ func Xsqlite3VdbeSetVarmask(tls *libc.TLS, v uintptr, iVar int32) { /* sqlite3.c // throw an error if it is given inputs that would make it non-deterministic. // This routine is invoked by date/time functions that use non-deterministic // features such as 'now'. -func Xsqlite3NotPureFunc(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:84907:20: */ +func Xsqlite3NotPureFunc(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:84920:20: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -61482,7 +61501,7 @@ func Xsqlite3NotPureFunc(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:84907 // Transfer error message text from an sqlite3_vtab.zErrMsg (text stored // in memory obtained from sqlite3_malloc) into a Vdbe.zErrMsg (text stored // in memory obtained from sqlite3DbMalloc). -func Xsqlite3VtabImportErrmsg(tls *libc.TLS, p uintptr, pVtab uintptr) { /* sqlite3.c:84938:21: */ +func Xsqlite3VtabImportErrmsg(tls *libc.TLS, p uintptr, pVtab uintptr) { /* sqlite3.c:84951:21: */ if (*Sqlite3_vtab)(unsafe.Pointer(pVtab)).FzErrMsg != 0 { var db uintptr = (*Vdbe)(unsafe.Pointer(p)).Fdb Xsqlite3DbFree(tls, db, (*Vdbe)(unsafe.Pointer(p)).FzErrMsg) @@ -61498,7 +61517,7 @@ func Xsqlite3VtabImportErrmsg(tls *libc.TLS, p uintptr, pVtab uintptr) { /* sqli // // This function is used to free UnpackedRecord structures allocated by // the vdbeUnpackRecord() function found in vdbeapi.c. -func vdbeFreeUnpacked(tls *libc.TLS, db uintptr, nField int32, p uintptr) { /* sqlite3.c:84959:13: */ +func vdbeFreeUnpacked(tls *libc.TLS, db uintptr, nField int32, p uintptr) { /* sqlite3.c:84972:13: */ if p != 0 { var i int32 for i = 0; i < nField; i++ { @@ -61515,7 +61534,7 @@ func vdbeFreeUnpacked(tls *libc.TLS, db uintptr, nField int32, p uintptr) { /* s // then cursor passed as the second argument should point to the row about // to be update or deleted. If the application calls sqlite3_preupdate_old(), // the required value will be read from the row the cursor points to. -func Xsqlite3VdbePreUpdateHook(tls *libc.TLS, v uintptr, pCsr uintptr, op int32, zDb uintptr, pTab uintptr, iKey1 I64, iReg int32, iBlobWrite int32) { /* sqlite3.c:84978:21: */ +func Xsqlite3VdbePreUpdateHook(tls *libc.TLS, v uintptr, pCsr uintptr, op int32, zDb uintptr, pTab uintptr, iKey1 I64, iReg int32, iBlobWrite int32) { /* sqlite3.c:84991:21: */ bp := tls.Alloc(136) defer tls.Free(136) @@ -61567,7 +61586,7 @@ func Xsqlite3VdbePreUpdateHook(tls *libc.TLS, v uintptr, pCsr uintptr, op int32, } } -var fakeSortOrder U8 = U8(0) /* sqlite3.c:84992:19 */ +var fakeSortOrder U8 = U8(0) /* sqlite3.c:85005:19 */ //************* End of vdbeaux.c ******************************************** //************* Begin file vdbeapi.c **************************************** @@ -61593,7 +61612,7 @@ var fakeSortOrder U8 = U8(0) /* sqlite3.c:84992:19 */ // that sqlite3_prepare() generates. For example, if new functions or // collating sequences are registered or if an authorizer function is // added or changed. -func Xsqlite3_expired(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:85071:16: */ +func Xsqlite3_expired(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:85084:16: */ var p uintptr = pStmt return libc.Bool32(p == uintptr(0) || Bft(int32(*(*uint16)(unsafe.Pointer(p + 208))&0x3>>0)) != 0) } @@ -61601,7 +61620,7 @@ func Xsqlite3_expired(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:85071:1 // Check on a Vdbe to make sure it has not been finalized. Log // an error and return true if it has been finalized (or is otherwise // invalid). Return false if it is ok. -func vdbeSafety(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:85082:12: */ +func vdbeSafety(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:85095:12: */ if (*Vdbe)(unsafe.Pointer(p)).Fdb == uintptr(0) { Xsqlite3_log(tls, SQLITE_MISUSE, ts+5200, 0) return 1 @@ -61611,7 +61630,7 @@ func vdbeSafety(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:85082:12: */ return int32(0) } -func vdbeSafetyNotNull(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:85090:12: */ +func vdbeSafetyNotNull(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:85103:12: */ if p == uintptr(0) { Xsqlite3_log(tls, SQLITE_MISUSE, ts+5245, 0) return 1 @@ -61623,7 +61642,7 @@ func vdbeSafetyNotNull(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:85090:12: // Invoke the profile callback. This routine is only called if we already // know that the profile callback is defined and needs to be invoked. -func invokeProfileCallback(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:85104:29: */ +func invokeProfileCallback(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:85117:29: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -61656,7 +61675,7 @@ func invokeProfileCallback(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c: // // This routine sets the error code and string returned by // sqlite3_errcode(), sqlite3_errmsg() and sqlite3_errmsg16(). -func Xsqlite3_finalize(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:85142:16: */ +func Xsqlite3_finalize(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:85155:16: */ var rc int32 if pStmt == uintptr(0) { // IMPLEMENTATION-OF: R-57228-12904 Invoking sqlite3_finalize() on a NULL @@ -61666,7 +61685,7 @@ func Xsqlite3_finalize(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:85142: var v uintptr = pStmt var db uintptr = (*Vdbe)(unsafe.Pointer(v)).Fdb if vdbeSafety(tls, v) != 0 { - return Xsqlite3MisuseError(tls, 85151) + return Xsqlite3MisuseError(tls, 85164) } Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) if (*Vdbe)(unsafe.Pointer(v)).FstartTime > int64(0) { @@ -61686,7 +61705,7 @@ func Xsqlite3_finalize(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:85142: // // This routine sets the error code and string returned by // sqlite3_errcode(), sqlite3_errmsg() and sqlite3_errmsg16(). -func Xsqlite3_reset(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:85169:16: */ +func Xsqlite3_reset(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:85182:16: */ var rc int32 if pStmt == uintptr(0) { rc = SQLITE_OK @@ -61708,7 +61727,7 @@ func Xsqlite3_reset(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:85169:16: } // Set all the parameters in the compiled SQL statement to NULL. -func Xsqlite3_clear_bindings(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:85190:16: */ +func Xsqlite3_clear_bindings(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:85203:16: */ var i int32 var rc int32 = SQLITE_OK var p uintptr = pStmt @@ -61730,7 +61749,7 @@ func Xsqlite3_clear_bindings(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c: // // The following routines extract information from a Mem or sqlite3_value // structure. -func Xsqlite3_value_blob(tls *libc.TLS, pVal uintptr) uintptr { /* sqlite3.c:85215:23: */ +func Xsqlite3_value_blob(tls *libc.TLS, pVal uintptr) uintptr { /* sqlite3.c:85228:23: */ var p uintptr = pVal if int32((*Mem)(unsafe.Pointer(p)).Fflags)&(MEM_Blob|MEM_Str) != 0 { if func() int32 { @@ -61753,27 +61772,27 @@ func Xsqlite3_value_blob(tls *libc.TLS, pVal uintptr) uintptr { /* sqlite3.c:852 return uintptr(0) } -func Xsqlite3_value_bytes(tls *libc.TLS, pVal uintptr) int32 { /* sqlite3.c:85228:16: */ +func Xsqlite3_value_bytes(tls *libc.TLS, pVal uintptr) int32 { /* sqlite3.c:85241:16: */ return Xsqlite3ValueBytes(tls, pVal, uint8(SQLITE_UTF8)) } -func Xsqlite3_value_bytes16(tls *libc.TLS, pVal uintptr) int32 { /* sqlite3.c:85231:16: */ +func Xsqlite3_value_bytes16(tls *libc.TLS, pVal uintptr) int32 { /* sqlite3.c:85244:16: */ return Xsqlite3ValueBytes(tls, pVal, uint8(SQLITE_UTF16LE)) } -func Xsqlite3_value_double(tls *libc.TLS, pVal uintptr) float64 { /* sqlite3.c:85234:19: */ +func Xsqlite3_value_double(tls *libc.TLS, pVal uintptr) float64 { /* sqlite3.c:85247:19: */ return Xsqlite3VdbeRealValue(tls, pVal) } -func Xsqlite3_value_int(tls *libc.TLS, pVal uintptr) int32 { /* sqlite3.c:85237:16: */ +func Xsqlite3_value_int(tls *libc.TLS, pVal uintptr) int32 { /* sqlite3.c:85250:16: */ return int32(Xsqlite3VdbeIntValue(tls, pVal)) } -func Xsqlite3_value_int64(tls *libc.TLS, pVal uintptr) Sqlite_int64 { /* sqlite3.c:85240:25: */ +func Xsqlite3_value_int64(tls *libc.TLS, pVal uintptr) Sqlite_int64 { /* sqlite3.c:85253:25: */ return Xsqlite3VdbeIntValue(tls, pVal) } -func Xsqlite3_value_subtype(tls *libc.TLS, pVal uintptr) uint32 { /* sqlite3.c:85243:25: */ +func Xsqlite3_value_subtype(tls *libc.TLS, pVal uintptr) uint32 { /* sqlite3.c:85256:25: */ var pMem uintptr = pVal return func() uint32 { if int32((*Mem)(unsafe.Pointer(pMem)).Fflags)&MEM_Subtype != 0 { @@ -61783,7 +61802,7 @@ func Xsqlite3_value_subtype(tls *libc.TLS, pVal uintptr) uint32 { /* sqlite3.c:8 }() } -func Xsqlite3_value_pointer(tls *libc.TLS, pVal uintptr, zPType uintptr) uintptr { /* sqlite3.c:85247:17: */ +func Xsqlite3_value_pointer(tls *libc.TLS, pVal uintptr, zPType uintptr) uintptr { /* sqlite3.c:85260:17: */ var p uintptr = pVal if int32((*Mem)(unsafe.Pointer(p)).Fflags)&(MEM_TypeMask|MEM_Term|MEM_Subtype) == MEM_Null|MEM_Term|MEM_Subtype && zPType != uintptr(0) && @@ -61796,26 +61815,26 @@ func Xsqlite3_value_pointer(tls *libc.TLS, pVal uintptr, zPType uintptr) uintptr return uintptr(0) } -func Xsqlite3_value_text(tls *libc.TLS, pVal uintptr) uintptr { /* sqlite3.c:85260:32: */ +func Xsqlite3_value_text(tls *libc.TLS, pVal uintptr) uintptr { /* sqlite3.c:85273:32: */ return Xsqlite3ValueText(tls, pVal, uint8(SQLITE_UTF8)) } -func Xsqlite3_value_text16(tls *libc.TLS, pVal uintptr) uintptr { /* sqlite3.c:85264:23: */ +func Xsqlite3_value_text16(tls *libc.TLS, pVal uintptr) uintptr { /* sqlite3.c:85277:23: */ return Xsqlite3ValueText(tls, pVal, uint8(SQLITE_UTF16LE)) } -func Xsqlite3_value_text16be(tls *libc.TLS, pVal uintptr) uintptr { /* sqlite3.c:85267:23: */ +func Xsqlite3_value_text16be(tls *libc.TLS, pVal uintptr) uintptr { /* sqlite3.c:85280:23: */ return Xsqlite3ValueText(tls, pVal, uint8(SQLITE_UTF16BE)) } -func Xsqlite3_value_text16le(tls *libc.TLS, pVal uintptr) uintptr { /* sqlite3.c:85270:23: */ +func Xsqlite3_value_text16le(tls *libc.TLS, pVal uintptr) uintptr { /* sqlite3.c:85283:23: */ return Xsqlite3ValueText(tls, pVal, uint8(SQLITE_UTF16LE)) } // EVIDENCE-OF: R-12793-43283 Every value in SQLite has one of five // fundamental datatypes: 64-bit signed integer 64-bit IEEE floating // point number string BLOB NULL -func Xsqlite3_value_type(tls *libc.TLS, pVal uintptr) int32 { /* sqlite3.c:85278:16: */ +func Xsqlite3_value_type(tls *libc.TLS, pVal uintptr) int32 { /* sqlite3.c:85291:16: */ return int32(aType[int32((*Sqlite3_value)(unsafe.Pointer(pVal)).Fflags)&MEM_AffMask]) } @@ -61884,20 +61903,20 @@ var aType = [64]U8{ U8(SQLITE_NULL), // 0x3d (not possible) U8(SQLITE_FLOAT), // 0x3e (not possible) U8(SQLITE_NULL), // 0x3f (not possible) -} /* sqlite3.c:85279:19 */ +} /* sqlite3.c:85292:19 */ // Return true if a parameter to xUpdate represents an unchanged column -func Xsqlite3_value_nochange(tls *libc.TLS, pVal uintptr) int32 { /* sqlite3.c:85364:16: */ +func Xsqlite3_value_nochange(tls *libc.TLS, pVal uintptr) int32 { /* sqlite3.c:85377:16: */ return libc.Bool32(int32((*Sqlite3_value)(unsafe.Pointer(pVal)).Fflags)&(MEM_Null|MEM_Zero) == MEM_Null|MEM_Zero) } // Return true if a parameter value originated from an sqlite3_bind() -func Xsqlite3_value_frombind(tls *libc.TLS, pVal uintptr) int32 { /* sqlite3.c:85369:16: */ +func Xsqlite3_value_frombind(tls *libc.TLS, pVal uintptr) int32 { /* sqlite3.c:85382:16: */ return libc.Bool32(int32((*Sqlite3_value)(unsafe.Pointer(pVal)).Fflags)&MEM_FromBind != 0) } // Make a copy of an sqlite3_value object -func Xsqlite3_value_dup(tls *libc.TLS, pOrig uintptr) uintptr { /* sqlite3.c:85375:26: */ +func Xsqlite3_value_dup(tls *libc.TLS, pOrig uintptr) uintptr { /* sqlite3.c:85388:26: */ var pNew uintptr if pOrig == uintptr(0) { return uintptr(0) @@ -61923,7 +61942,7 @@ func Xsqlite3_value_dup(tls *libc.TLS, pOrig uintptr) uintptr { /* sqlite3.c:853 // Destroy an sqlite3_value object previously obtained from // sqlite3_value_dup(). -func Xsqlite3_value_free(tls *libc.TLS, pOld uintptr) { /* sqlite3.c:85398:17: */ +func Xsqlite3_value_free(tls *libc.TLS, pOld uintptr) { /* sqlite3.c:85411:17: */ Xsqlite3ValueFree(tls, pOld) } @@ -61938,7 +61957,7 @@ func Xsqlite3_value_free(tls *libc.TLS, pOld uintptr) { /* sqlite3.c:85398:17: * // // The invokeValueDestructor(P,X) routine invokes destructor function X() // on value P is not going to be used and need to be destroyed. -func setResultStrOrError(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, enc U8, xDel uintptr) { /* sqlite3.c:85414:13: */ +func setResultStrOrError(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, enc U8, xDel uintptr) { /* sqlite3.c:85427:13: */ var rc int32 = Xsqlite3VdbeMemSetStr(tls, (*Sqlite3_context)(unsafe.Pointer(pCtx)).FpOut, z, int64(n), enc, xDel) if rc != 0 { if rc == SQLITE_TOOBIG { @@ -61952,7 +61971,7 @@ func setResultStrOrError(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, enc U8 } } -func invokeValueDestructor(tls *libc.TLS, p uintptr, xDel uintptr, pCtx uintptr) int32 { /* sqlite3.c:85433:12: */ +func invokeValueDestructor(tls *libc.TLS, p uintptr, xDel uintptr, pCtx uintptr) int32 { /* sqlite3.c:85446:12: */ if xDel == uintptr(0) { // noop @@ -61965,12 +61984,12 @@ func invokeValueDestructor(tls *libc.TLS, p uintptr, xDel uintptr, pCtx uintptr) return SQLITE_TOOBIG } -func Xsqlite3_result_blob(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, xDel uintptr) { /* sqlite3.c:85449:17: */ +func Xsqlite3_result_blob(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, xDel uintptr) { /* sqlite3.c:85462:17: */ setResultStrOrError(tls, pCtx, z, n, uint8(0), xDel) } -func Xsqlite3_result_blob64(tls *libc.TLS, pCtx uintptr, z uintptr, n Sqlite3_uint64, xDel uintptr) { /* sqlite3.c:85459:17: */ +func Xsqlite3_result_blob64(tls *libc.TLS, pCtx uintptr, z uintptr, n Sqlite3_uint64, xDel uintptr) { /* sqlite3.c:85472:17: */ if n > uint64(0x7fffffff) { invokeValueDestructor(tls, z, xDel, pCtx) @@ -61979,39 +61998,39 @@ func Xsqlite3_result_blob64(tls *libc.TLS, pCtx uintptr, z uintptr, n Sqlite3_ui } } -func Xsqlite3_result_double(tls *libc.TLS, pCtx uintptr, rVal float64) { /* sqlite3.c:85473:17: */ +func Xsqlite3_result_double(tls *libc.TLS, pCtx uintptr, rVal float64) { /* sqlite3.c:85486:17: */ Xsqlite3VdbeMemSetDouble(tls, (*Sqlite3_context)(unsafe.Pointer(pCtx)).FpOut, rVal) } -func Xsqlite3_result_error(tls *libc.TLS, pCtx uintptr, z uintptr, n int32) { /* sqlite3.c:85477:17: */ +func Xsqlite3_result_error(tls *libc.TLS, pCtx uintptr, z uintptr, n int32) { /* sqlite3.c:85490:17: */ (*Sqlite3_context)(unsafe.Pointer(pCtx)).FisError = SQLITE_ERROR Xsqlite3VdbeMemSetStr(tls, (*Sqlite3_context)(unsafe.Pointer(pCtx)).FpOut, z, int64(n), uint8(SQLITE_UTF8), libc.UintptrFromInt32(-1)) } -func Xsqlite3_result_error16(tls *libc.TLS, pCtx uintptr, z uintptr, n int32) { /* sqlite3.c:85483:17: */ +func Xsqlite3_result_error16(tls *libc.TLS, pCtx uintptr, z uintptr, n int32) { /* sqlite3.c:85496:17: */ (*Sqlite3_context)(unsafe.Pointer(pCtx)).FisError = SQLITE_ERROR Xsqlite3VdbeMemSetStr(tls, (*Sqlite3_context)(unsafe.Pointer(pCtx)).FpOut, z, int64(n), uint8(SQLITE_UTF16LE), libc.UintptrFromInt32(-1)) } -func Xsqlite3_result_int(tls *libc.TLS, pCtx uintptr, iVal int32) { /* sqlite3.c:85489:17: */ +func Xsqlite3_result_int(tls *libc.TLS, pCtx uintptr, iVal int32) { /* sqlite3.c:85502:17: */ Xsqlite3VdbeMemSetInt64(tls, (*Sqlite3_context)(unsafe.Pointer(pCtx)).FpOut, I64(iVal)) } -func Xsqlite3_result_int64(tls *libc.TLS, pCtx uintptr, iVal I64) { /* sqlite3.c:85493:17: */ +func Xsqlite3_result_int64(tls *libc.TLS, pCtx uintptr, iVal I64) { /* sqlite3.c:85506:17: */ Xsqlite3VdbeMemSetInt64(tls, (*Sqlite3_context)(unsafe.Pointer(pCtx)).FpOut, iVal) } -func Xsqlite3_result_null(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:85497:17: */ +func Xsqlite3_result_null(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:85510:17: */ Xsqlite3VdbeMemSetNull(tls, (*Sqlite3_context)(unsafe.Pointer(pCtx)).FpOut) } -func Xsqlite3_result_pointer(tls *libc.TLS, pCtx uintptr, pPtr uintptr, zPType uintptr, xDestructor uintptr) { /* sqlite3.c:85501:17: */ +func Xsqlite3_result_pointer(tls *libc.TLS, pCtx uintptr, pPtr uintptr, zPType uintptr, xDestructor uintptr) { /* sqlite3.c:85514:17: */ var pOut uintptr = (*Sqlite3_context)(unsafe.Pointer(pCtx)).FpOut Xsqlite3VdbeMemRelease(tls, pOut) @@ -62019,19 +62038,19 @@ func Xsqlite3_result_pointer(tls *libc.TLS, pCtx uintptr, pPtr uintptr, zPType u Xsqlite3VdbeMemSetPointer(tls, pOut, pPtr, zPType, xDestructor) } -func Xsqlite3_result_subtype(tls *libc.TLS, pCtx uintptr, eSubtype uint32) { /* sqlite3.c:85513:17: */ +func Xsqlite3_result_subtype(tls *libc.TLS, pCtx uintptr, eSubtype uint32) { /* sqlite3.c:85526:17: */ var pOut uintptr = (*Sqlite3_context)(unsafe.Pointer(pCtx)).FpOut (*Mem)(unsafe.Pointer(pOut)).FeSubtype = U8(eSubtype & uint32(0xff)) *(*U16)(unsafe.Pointer(pOut + 8)) |= U16(MEM_Subtype) } -func Xsqlite3_result_text(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, xDel uintptr) { /* sqlite3.c:85519:17: */ +func Xsqlite3_result_text(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, xDel uintptr) { /* sqlite3.c:85532:17: */ setResultStrOrError(tls, pCtx, z, n, uint8(SQLITE_UTF8), xDel) } -func Xsqlite3_result_text64(tls *libc.TLS, pCtx uintptr, z uintptr, n Sqlite3_uint64, xDel uintptr, enc uint8) { /* sqlite3.c:85528:17: */ +func Xsqlite3_result_text64(tls *libc.TLS, pCtx uintptr, z uintptr, n Sqlite3_uint64, xDel uintptr, enc uint8) { /* sqlite3.c:85541:17: */ if int32(enc) == SQLITE_UTF16 { enc = uint8(SQLITE_UTF16LE) @@ -62043,32 +62062,32 @@ func Xsqlite3_result_text64(tls *libc.TLS, pCtx uintptr, z uintptr, n Sqlite3_ui } } -func Xsqlite3_result_text16(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, xDel uintptr) { /* sqlite3.c:85545:17: */ +func Xsqlite3_result_text16(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, xDel uintptr) { /* sqlite3.c:85558:17: */ setResultStrOrError(tls, pCtx, z, n, uint8(SQLITE_UTF16LE), xDel) } -func Xsqlite3_result_text16be(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, xDel uintptr) { /* sqlite3.c:85554:17: */ +func Xsqlite3_result_text16be(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, xDel uintptr) { /* sqlite3.c:85567:17: */ setResultStrOrError(tls, pCtx, z, n, uint8(SQLITE_UTF16BE), xDel) } -func Xsqlite3_result_text16le(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, xDel uintptr) { /* sqlite3.c:85563:17: */ +func Xsqlite3_result_text16le(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, xDel uintptr) { /* sqlite3.c:85576:17: */ setResultStrOrError(tls, pCtx, z, n, uint8(SQLITE_UTF16LE), xDel) } -func Xsqlite3_result_value(tls *libc.TLS, pCtx uintptr, pValue uintptr) { /* sqlite3.c:85573:17: */ +func Xsqlite3_result_value(tls *libc.TLS, pCtx uintptr, pValue uintptr) { /* sqlite3.c:85586:17: */ Xsqlite3VdbeMemCopy(tls, (*Sqlite3_context)(unsafe.Pointer(pCtx)).FpOut, pValue) } -func Xsqlite3_result_zeroblob(tls *libc.TLS, pCtx uintptr, n int32) { /* sqlite3.c:85577:17: */ +func Xsqlite3_result_zeroblob(tls *libc.TLS, pCtx uintptr, n int32) { /* sqlite3.c:85590:17: */ Xsqlite3VdbeMemSetZeroBlob(tls, (*Sqlite3_context)(unsafe.Pointer(pCtx)).FpOut, n) } -func Xsqlite3_result_zeroblob64(tls *libc.TLS, pCtx uintptr, n U64) int32 { /* sqlite3.c:85581:16: */ +func Xsqlite3_result_zeroblob64(tls *libc.TLS, pCtx uintptr, n U64) int32 { /* sqlite3.c:85594:16: */ var pOut uintptr = (*Sqlite3_context)(unsafe.Pointer(pCtx)).FpOut if n > U64(*(*int32)(unsafe.Pointer((*Mem)(unsafe.Pointer(pOut)).Fdb + 136))) { @@ -62078,7 +62097,7 @@ func Xsqlite3_result_zeroblob64(tls *libc.TLS, pCtx uintptr, n U64) int32 { /* s return SQLITE_OK } -func Xsqlite3_result_error_code(tls *libc.TLS, pCtx uintptr, errCode int32) { /* sqlite3.c:85594:17: */ +func Xsqlite3_result_error_code(tls *libc.TLS, pCtx uintptr, errCode int32) { /* sqlite3.c:85607:17: */ (*Sqlite3_context)(unsafe.Pointer(pCtx)).FisError = func() int32 { if errCode != 0 { return errCode @@ -62092,7 +62111,7 @@ func Xsqlite3_result_error_code(tls *libc.TLS, pCtx uintptr, errCode int32) { /* } // Force an SQLITE_TOOBIG error. -func Xsqlite3_result_error_toobig(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:85606:17: */ +func Xsqlite3_result_error_toobig(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:85619:17: */ (*Sqlite3_context)(unsafe.Pointer(pCtx)).FisError = SQLITE_TOOBIG Xsqlite3VdbeMemSetStr(tls, (*Sqlite3_context)(unsafe.Pointer(pCtx)).FpOut, ts+5285, int64(-1), @@ -62100,7 +62119,7 @@ func Xsqlite3_result_error_toobig(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:85 } // An SQLITE_NOMEM error. -func Xsqlite3_result_error_nomem(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:85614:17: */ +func Xsqlite3_result_error_nomem(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:85627:17: */ Xsqlite3VdbeMemSetNull(tls, (*Sqlite3_context)(unsafe.Pointer(pCtx)).FpOut) (*Sqlite3_context)(unsafe.Pointer(pCtx)).FisError = SQLITE_NOMEM @@ -62110,7 +62129,7 @@ func Xsqlite3_result_error_nomem(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:856 // Force the INT64 value currently stored as the result to be // a MEM_IntReal value. See the SQLITE_TESTCTRL_RESULT_INTREAL // test-control. -func Xsqlite3ResultIntReal(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:85626:21: */ +func Xsqlite3ResultIntReal(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:85639:21: */ if int32((*Mem)(unsafe.Pointer((*Sqlite3_context)(unsafe.Pointer(pCtx)).FpOut)).Fflags)&MEM_Int != 0 { *(*U16)(unsafe.Pointer((*Sqlite3_context)(unsafe.Pointer(pCtx)).FpOut + 8)) &= libc.Uint16FromInt32(libc.CplInt32(MEM_Int)) @@ -62120,7 +62139,7 @@ func Xsqlite3ResultIntReal(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:85626:21: // This function is called after a transaction has been committed. It // invokes callbacks registered with sqlite3_wal_hook() as required. -func doWalCallbacks(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:85640:12: */ +func doWalCallbacks(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:85653:12: */ var rc int32 = SQLITE_OK var i int32 for i = 0; i < (*Sqlite3)(unsafe.Pointer(db)).FnDb; i++ { @@ -62147,7 +62166,7 @@ func doWalCallbacks(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:85640:12: */ // API. The only thing omitted is the automatic recompile if a // schema change has occurred. That detail is handled by the // outer sqlite3_step() wrapper procedure. -func sqlite3Step(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:85670:12: */ +func sqlite3Step(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:85683:12: */ var db uintptr var rc int32 @@ -62314,14 +62333,14 @@ end_of_step: // This is the top-level implementation of sqlite3_step(). Call // sqlite3Step() to do most of the work. If a schema error occurs, // call sqlite3Reprepare() and try again. -func Xsqlite3_step(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:85804:16: */ +func Xsqlite3_step(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:85817:16: */ var rc int32 = SQLITE_OK // Result from sqlite3Step() var v uintptr = pStmt // the prepared statement var cnt int32 = 0 // Counter to prevent infinite loop of reprepares var db uintptr // The database connection if vdbeSafetyNotNull(tls, v) != 0 { - return Xsqlite3MisuseError(tls, 85811) + return Xsqlite3MisuseError(tls, 85824) } db = (*Vdbe)(unsafe.Pointer(v)).Fdb Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) @@ -62361,7 +62380,7 @@ func Xsqlite3_step(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:85804:16: // Extract the user data from a sqlite3_context structure and return a // pointer to it. -func Xsqlite3_user_data(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:85853:17: */ +func Xsqlite3_user_data(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:85866:17: */ return (*FuncDef)(unsafe.Pointer((*Sqlite3_context)(unsafe.Pointer(p)).FpFunc)).FpUserData } @@ -62374,7 +62393,7 @@ func Xsqlite3_user_data(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:85853:1 // parameter) of the sqlite3_create_function() and // sqlite3_create_function16() routines that originally registered the // application defined function. -func Xsqlite3_context_db_handle(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:85868:20: */ +func Xsqlite3_context_db_handle(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:85881:20: */ return (*Mem)(unsafe.Pointer((*Sqlite3_context)(unsafe.Pointer(p)).FpOut)).Fdb } @@ -62391,14 +62410,14 @@ func Xsqlite3_context_db_handle(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c // Virtual table implements might use this routine to optimize their // performance by substituting a NULL result, or some other light-weight // value, as a signal to the xUpdate routine that the column is unchanged. -func Xsqlite3_vtab_nochange(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:85887:16: */ +func Xsqlite3_vtab_nochange(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:85900:16: */ return Xsqlite3_value_nochange(tls, (*Sqlite3_context)(unsafe.Pointer(p)).FpOut) } // Implementation of sqlite3_vtab_in_first() (if bNext==0) and // sqlite3_vtab_in_next() (if bNext!=0). -func valueFromValueList(tls *libc.TLS, pVal uintptr, ppOut uintptr, bNext int32) int32 { /* sqlite3.c:85896:12: */ +func valueFromValueList(tls *libc.TLS, pVal uintptr, ppOut uintptr, bNext int32) int32 { /* sqlite3.c:85909:12: */ bp := tls.Alloc(68) defer tls.Free(68) @@ -62456,13 +62475,13 @@ func valueFromValueList(tls *libc.TLS, pVal uintptr, ppOut uintptr, bNext int32) // Set the iterator value pVal to point to the first value in the set. // Set (*ppOut) to point to this value before returning. -func Xsqlite3_vtab_in_first(tls *libc.TLS, pVal uintptr, ppOut uintptr) int32 { /* sqlite3.c:85944:16: */ +func Xsqlite3_vtab_in_first(tls *libc.TLS, pVal uintptr, ppOut uintptr) int32 { /* sqlite3.c:85957:16: */ return valueFromValueList(tls, pVal, ppOut, 0) } // Set the iterator value pVal to point to the next value in the set. // Set (*ppOut) to point to this value before returning. -func Xsqlite3_vtab_in_next(tls *libc.TLS, pVal uintptr, ppOut uintptr) int32 { /* sqlite3.c:85952:16: */ +func Xsqlite3_vtab_in_next(tls *libc.TLS, pVal uintptr, ppOut uintptr) int32 { /* sqlite3.c:85965:16: */ return valueFromValueList(tls, pVal, ppOut, 1) } @@ -62471,7 +62490,7 @@ func Xsqlite3_vtab_in_next(tls *libc.TLS, pVal uintptr, ppOut uintptr) int32 { / // statement, the exact same time is returned for each invocation regardless // of the amount of time that elapses between invocations. In other words, // the time returned is always the time of the first call. -func Xsqlite3StmtCurrentTime(tls *libc.TLS, p uintptr) Sqlite3_int64 { /* sqlite3.c:85963:30: */ +func Xsqlite3StmtCurrentTime(tls *libc.TLS, p uintptr) Sqlite3_int64 { /* sqlite3.c:85976:30: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -62494,7 +62513,7 @@ func Xsqlite3StmtCurrentTime(tls *libc.TLS, p uintptr) Sqlite3_int64 { /* sqlite // Create a new aggregate context for p and return a pointer to // its pMem->z element. -func createAggContext(tls *libc.TLS, p uintptr, nByte int32) uintptr { /* sqlite3.c:85983:29: */ +func createAggContext(tls *libc.TLS, p uintptr, nByte int32) uintptr { /* sqlite3.c:85996:29: */ var pMem uintptr = (*Sqlite3_context)(unsafe.Pointer(p)).FpMem if nByte <= 0 { @@ -62514,7 +62533,7 @@ func createAggContext(tls *libc.TLS, p uintptr, nByte int32) uintptr { /* sqlite // Allocate or return the aggregate context for a user function. A new // context is allocated on the first call. Subsequent calls return the // same context that was returned on prior calls. -func Xsqlite3_aggregate_context(tls *libc.TLS, p uintptr, nByte int32) uintptr { /* sqlite3.c:86005:17: */ +func Xsqlite3_aggregate_context(tls *libc.TLS, p uintptr, nByte int32) uintptr { /* sqlite3.c:86018:17: */ if int32((*Mem)(unsafe.Pointer((*Sqlite3_context)(unsafe.Pointer(p)).FpMem)).Fflags)&MEM_Agg == 0 { return createAggContext(tls, p, nByte) @@ -62532,7 +62551,7 @@ func Xsqlite3_aggregate_context(tls *libc.TLS, p uintptr, nByte int32) uintptr { // Undocumented behavior: If iArg is negative then access a cache of // auxiliary data pointers that is available to all functions within a // single prepared statement. The iArg values must match. -func Xsqlite3_get_auxdata(tls *libc.TLS, pCtx uintptr, iArg int32) uintptr { /* sqlite3.c:86026:17: */ +func Xsqlite3_get_auxdata(tls *libc.TLS, pCtx uintptr, iArg int32) uintptr { /* sqlite3.c:86039:17: */ var pAuxData uintptr if (*Sqlite3_context)(unsafe.Pointer(pCtx)).FpVdbe == uintptr(0) { @@ -62555,7 +62574,7 @@ func Xsqlite3_get_auxdata(tls *libc.TLS, pCtx uintptr, iArg int32) uintptr { /* // Undocumented behavior: If iArg is negative then make the data available // 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) { /* sqlite3.c:86054:17: */ +func Xsqlite3_set_auxdata(tls *libc.TLS, pCtx uintptr, iArg int32, pAux uintptr, xDelete uintptr) { /* sqlite3.c:86067:17: */ var pAuxData uintptr var pVdbe uintptr pVdbe = (*Sqlite3_context)(unsafe.Pointer(pCtx)).FpVdbe @@ -62635,13 +62654,13 @@ __11: // provide only to avoid breaking legacy code. New aggregate function // implementations should keep their own counts within their aggregate // context. -func Xsqlite3_aggregate_count(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:86107:16: */ +func Xsqlite3_aggregate_count(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:86120:16: */ return (*Mem)(unsafe.Pointer((*Sqlite3_context)(unsafe.Pointer(p)).FpMem)).Fn } // Return the number of columns in the result set for the statement pStmt. -func Xsqlite3_column_count(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:86116:16: */ +func Xsqlite3_column_count(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:86129:16: */ var pVm uintptr = pStmt if pVm != 0 { return int32((*Vdbe)(unsafe.Pointer(pVm)).FnResColumn) @@ -62651,7 +62670,7 @@ func Xsqlite3_column_count(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:86 // Return the number of values available from the current row of the // currently executing statement pStmt. -func Xsqlite3_data_count(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:86125:16: */ +func Xsqlite3_data_count(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:86138:16: */ var pVm uintptr = pStmt if pVm == uintptr(0) || (*Vdbe)(unsafe.Pointer(pVm)).FpResultSet == uintptr(0) { return 0 @@ -62660,19 +62679,19 @@ func Xsqlite3_data_count(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:8612 } // Return a pointer to static memory containing an SQL NULL value. -func columnNullValue(tls *libc.TLS) uintptr { /* sqlite3.c:86134:18: */ +func columnNullValue(tls *libc.TLS) uintptr { /* sqlite3.c:86147:18: */ return uintptr(unsafe.Pointer(&nullMem)) } var nullMem = Mem{ /* .flags = */ Fflags: U16(MEM_Null), -} /* sqlite3.c:86144:20 */ +} /* sqlite3.c:86157:20 */ // Check to see if column iCol of the given statement is valid. If // it is, return a pointer to the Mem for the value of that column. // If iCol is not valid, return a pointer to a Mem which has a value // of NULL. -func columnMem(tls *libc.TLS, pStmt uintptr, i int32) uintptr { /* sqlite3.c:86174:12: */ +func columnMem(tls *libc.TLS, pStmt uintptr, i int32) uintptr { /* sqlite3.c:86187:12: */ var pVm uintptr var pOut uintptr @@ -62707,7 +62726,7 @@ func columnMem(tls *libc.TLS, pStmt uintptr, i int32) uintptr { /* sqlite3.c:861 // sqlite3_column_bytes() // sqlite3_column_bytes16() // sqiite3_column_blob() -func columnMallocFailure(tls *libc.TLS, pStmt uintptr) { /* sqlite3.c:86209:13: */ +func columnMallocFailure(tls *libc.TLS, pStmt uintptr) { /* sqlite3.c:86222:13: */ // If malloc() failed during an encoding conversion within an // sqlite3_column_XXX API, then set the return code of the statement to // SQLITE_NOMEM. The next call to _step() (if any) will return SQLITE_ERROR @@ -62724,7 +62743,7 @@ func columnMallocFailure(tls *libc.TLS, pStmt uintptr) { /* sqlite3.c:86209:13: // // The following routines are used to access elements of the current row // in the result set. -func Xsqlite3_column_blob(tls *libc.TLS, pStmt uintptr, i int32) uintptr { /* sqlite3.c:86229:23: */ +func Xsqlite3_column_blob(tls *libc.TLS, pStmt uintptr, i int32) uintptr { /* sqlite3.c:86242:23: */ var val uintptr val = Xsqlite3_value_blob(tls, columnMem(tls, pStmt, i)) // Even though there is no encoding conversion, value_blob() might @@ -62734,43 +62753,43 @@ func Xsqlite3_column_blob(tls *libc.TLS, pStmt uintptr, i int32) uintptr { /* sq return val } -func Xsqlite3_column_bytes(tls *libc.TLS, pStmt uintptr, i int32) int32 { /* sqlite3.c:86239:16: */ +func Xsqlite3_column_bytes(tls *libc.TLS, pStmt uintptr, i int32) int32 { /* sqlite3.c:86252:16: */ var val int32 = Xsqlite3_value_bytes(tls, columnMem(tls, pStmt, i)) columnMallocFailure(tls, pStmt) return val } -func Xsqlite3_column_bytes16(tls *libc.TLS, pStmt uintptr, i int32) int32 { /* sqlite3.c:86244:16: */ +func Xsqlite3_column_bytes16(tls *libc.TLS, pStmt uintptr, i int32) int32 { /* sqlite3.c:86257:16: */ var val int32 = Xsqlite3_value_bytes16(tls, columnMem(tls, pStmt, i)) columnMallocFailure(tls, pStmt) return val } -func Xsqlite3_column_double(tls *libc.TLS, pStmt uintptr, i int32) float64 { /* sqlite3.c:86249:19: */ +func Xsqlite3_column_double(tls *libc.TLS, pStmt uintptr, i int32) float64 { /* sqlite3.c:86262:19: */ var val float64 = Xsqlite3_value_double(tls, columnMem(tls, pStmt, i)) columnMallocFailure(tls, pStmt) return val } -func Xsqlite3_column_int(tls *libc.TLS, pStmt uintptr, i int32) int32 { /* sqlite3.c:86254:16: */ +func Xsqlite3_column_int(tls *libc.TLS, pStmt uintptr, i int32) int32 { /* sqlite3.c:86267:16: */ var val int32 = Xsqlite3_value_int(tls, columnMem(tls, pStmt, i)) columnMallocFailure(tls, pStmt) return val } -func Xsqlite3_column_int64(tls *libc.TLS, pStmt uintptr, i int32) Sqlite_int64 { /* sqlite3.c:86259:25: */ +func Xsqlite3_column_int64(tls *libc.TLS, pStmt uintptr, i int32) Sqlite_int64 { /* sqlite3.c:86272:25: */ var val Sqlite_int64 = Xsqlite3_value_int64(tls, columnMem(tls, pStmt, i)) columnMallocFailure(tls, pStmt) return val } -func Xsqlite3_column_text(tls *libc.TLS, pStmt uintptr, i int32) uintptr { /* sqlite3.c:86264:32: */ +func Xsqlite3_column_text(tls *libc.TLS, pStmt uintptr, i int32) uintptr { /* sqlite3.c:86277:32: */ var val uintptr = Xsqlite3_value_text(tls, columnMem(tls, pStmt, i)) columnMallocFailure(tls, pStmt) return val } -func Xsqlite3_column_value(tls *libc.TLS, pStmt uintptr, i int32) uintptr { /* sqlite3.c:86269:26: */ +func Xsqlite3_column_value(tls *libc.TLS, pStmt uintptr, i int32) uintptr { /* sqlite3.c:86282:26: */ var pOut uintptr = columnMem(tls, pStmt, i) if int32((*Mem)(unsafe.Pointer(pOut)).Fflags)&MEM_Static != 0 { *(*U16)(unsafe.Pointer(pOut + 8)) &= libc.Uint16FromInt32(libc.CplInt32(MEM_Static)) @@ -62780,13 +62799,13 @@ func Xsqlite3_column_value(tls *libc.TLS, pStmt uintptr, i int32) uintptr { /* s return pOut } -func Xsqlite3_column_text16(tls *libc.TLS, pStmt uintptr, i int32) uintptr { /* sqlite3.c:86279:23: */ +func Xsqlite3_column_text16(tls *libc.TLS, pStmt uintptr, i int32) uintptr { /* sqlite3.c:86292:23: */ var val uintptr = Xsqlite3_value_text16(tls, columnMem(tls, pStmt, i)) columnMallocFailure(tls, pStmt) return val } -func Xsqlite3_column_type(tls *libc.TLS, pStmt uintptr, i int32) int32 { /* sqlite3.c:86285:16: */ +func Xsqlite3_column_type(tls *libc.TLS, pStmt uintptr, i int32) int32 { /* sqlite3.c:86298:16: */ var iType int32 = Xsqlite3_value_type(tls, columnMem(tls, pStmt, i)) columnMallocFailure(tls, pStmt) return iType @@ -62806,7 +62825,7 @@ func Xsqlite3_column_type(tls *libc.TLS, pStmt uintptr, i int32) int32 { /* sqli // // If the result is not a simple column reference (if it is an expression // or a constant) then useTypes 2, 3, and 4 return NULL. -func columnName(tls *libc.TLS, pStmt uintptr, N int32, useUtf16 int32, useType int32) uintptr { /* sqlite3.c:86307:19: */ +func columnName(tls *libc.TLS, pStmt uintptr, N int32, useUtf16 int32, useType int32) uintptr { /* sqlite3.c:86320:19: */ var ret uintptr var p uintptr var n int32 @@ -62838,11 +62857,11 @@ func columnName(tls *libc.TLS, pStmt uintptr, N int32, useUtf16 int32, useType i // Return the name of the Nth column of the result set returned by SQL // statement pStmt. -func Xsqlite3_column_name(tls *libc.TLS, pStmt uintptr, N int32) uintptr { /* sqlite3.c:86356:23: */ +func Xsqlite3_column_name(tls *libc.TLS, pStmt uintptr, N int32) uintptr { /* sqlite3.c:86369:23: */ return columnName(tls, pStmt, N, 0, COLNAME_NAME) } -func Xsqlite3_column_name16(tls *libc.TLS, pStmt uintptr, N int32) uintptr { /* sqlite3.c:86360:23: */ +func Xsqlite3_column_name16(tls *libc.TLS, pStmt uintptr, N int32) uintptr { /* sqlite3.c:86373:23: */ return columnName(tls, pStmt, N, 1, COLNAME_NAME) } @@ -62851,44 +62870,44 @@ func Xsqlite3_column_name16(tls *libc.TLS, pStmt uintptr, N int32) uintptr { /* // Return the column declaration type (if applicable) of the 'i'th column // of the result set of SQL statement pStmt. -func Xsqlite3_column_decltype(tls *libc.TLS, pStmt uintptr, N int32) uintptr { /* sqlite3.c:86379:23: */ +func Xsqlite3_column_decltype(tls *libc.TLS, pStmt uintptr, N int32) uintptr { /* sqlite3.c:86392:23: */ return columnName(tls, pStmt, N, 0, COLNAME_DECLTYPE) } -func Xsqlite3_column_decltype16(tls *libc.TLS, pStmt uintptr, N int32) uintptr { /* sqlite3.c:86383:23: */ +func Xsqlite3_column_decltype16(tls *libc.TLS, pStmt uintptr, N int32) uintptr { /* sqlite3.c:86396:23: */ return columnName(tls, pStmt, N, 1, COLNAME_DECLTYPE) } // Return the name of the database from which a result column derives. // NULL is returned if the result column is an expression or constant or // anything else which is not an unambiguous reference to a database column. -func Xsqlite3_column_database_name(tls *libc.TLS, pStmt uintptr, N int32) uintptr { /* sqlite3.c:86395:23: */ +func Xsqlite3_column_database_name(tls *libc.TLS, pStmt uintptr, N int32) uintptr { /* sqlite3.c:86408:23: */ return columnName(tls, pStmt, N, 0, COLNAME_DATABASE) } -func Xsqlite3_column_database_name16(tls *libc.TLS, pStmt uintptr, N int32) uintptr { /* sqlite3.c:86399:23: */ +func Xsqlite3_column_database_name16(tls *libc.TLS, pStmt uintptr, N int32) uintptr { /* sqlite3.c:86412:23: */ return columnName(tls, pStmt, N, 1, COLNAME_DATABASE) } // Return the name of the table from which a result column derives. // NULL is returned if the result column is an expression or constant or // anything else which is not an unambiguous reference to a database column. -func Xsqlite3_column_table_name(tls *libc.TLS, pStmt uintptr, N int32) uintptr { /* sqlite3.c:86409:23: */ +func Xsqlite3_column_table_name(tls *libc.TLS, pStmt uintptr, N int32) uintptr { /* sqlite3.c:86422:23: */ return columnName(tls, pStmt, N, 0, COLNAME_TABLE) } -func Xsqlite3_column_table_name16(tls *libc.TLS, pStmt uintptr, N int32) uintptr { /* sqlite3.c:86413:23: */ +func Xsqlite3_column_table_name16(tls *libc.TLS, pStmt uintptr, N int32) uintptr { /* sqlite3.c:86426:23: */ return columnName(tls, pStmt, N, 1, COLNAME_TABLE) } // Return the name of the table column from which a result column derives. // NULL is returned if the result column is an expression or constant or // anything else which is not an unambiguous reference to a database column. -func Xsqlite3_column_origin_name(tls *libc.TLS, pStmt uintptr, N int32) uintptr { /* sqlite3.c:86423:23: */ +func Xsqlite3_column_origin_name(tls *libc.TLS, pStmt uintptr, N int32) uintptr { /* sqlite3.c:86436:23: */ return columnName(tls, pStmt, N, 0, COLNAME_COLUMN) } -func Xsqlite3_column_origin_name16(tls *libc.TLS, pStmt uintptr, N int32) uintptr { /* sqlite3.c:86427:23: */ +func Xsqlite3_column_origin_name16(tls *libc.TLS, pStmt uintptr, N int32) uintptr { /* sqlite3.c:86440:23: */ return columnName(tls, pStmt, N, 1, COLNAME_COLUMN) } @@ -62905,13 +62924,13 @@ func Xsqlite3_column_origin_name16(tls *libc.TLS, pStmt uintptr, N int32) uintpt // // The error code stored in database p->db is overwritten with the return // value in any case. -func vdbeUnbind(tls *libc.TLS, p uintptr, i int32) int32 { /* sqlite3.c:86449:12: */ +func vdbeUnbind(tls *libc.TLS, p uintptr, i int32) int32 { /* sqlite3.c:86462:12: */ bp := tls.Alloc(8) defer tls.Free(8) var pVar uintptr if vdbeSafetyNotNull(tls, p) != 0 { - return Xsqlite3MisuseError(tls, 86452) + return Xsqlite3MisuseError(tls, 86465) } Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer((*Vdbe)(unsafe.Pointer(p)).Fdb)).Fmutex) if (*Vdbe)(unsafe.Pointer(p)).FiVdbeMagic != U32(VDBE_MAGIC_RUN) || (*Vdbe)(unsafe.Pointer(p)).Fpc >= 0 { @@ -62919,7 +62938,7 @@ func vdbeUnbind(tls *libc.TLS, p uintptr, i int32) int32 { /* sqlite3.c:86449:12 Xsqlite3_mutex_leave(tls, (*Sqlite3)(unsafe.Pointer((*Vdbe)(unsafe.Pointer(p)).Fdb)).Fmutex) Xsqlite3_log(tls, SQLITE_MISUSE, ts+5318, libc.VaList(bp, (*Vdbe)(unsafe.Pointer(p)).FzSql)) - return Xsqlite3MisuseError(tls, 86460) + return Xsqlite3MisuseError(tls, 86473) } if i < 1 || i > int32((*Vdbe)(unsafe.Pointer(p)).FnVar) { Xsqlite3Error(tls, (*Vdbe)(unsafe.Pointer(p)).Fdb, SQLITE_RANGE) @@ -62953,7 +62972,7 @@ func vdbeUnbind(tls *libc.TLS, p uintptr, i int32) int32 { /* sqlite3.c:86449:12 } // Bind a text or BLOB value. -func bindText(tls *libc.TLS, pStmt uintptr, i int32, zData uintptr, nData I64, xDel uintptr, encoding U8) int32 { /* sqlite3.c:86492:12: */ +func bindText(tls *libc.TLS, pStmt uintptr, i int32, zData uintptr, nData I64, xDel uintptr, encoding U8) int32 { /* sqlite3.c:86505:12: */ var p uintptr = pStmt var pVar uintptr var rc int32 @@ -62979,16 +62998,16 @@ func bindText(tls *libc.TLS, pStmt uintptr, i int32, zData uintptr, nData I64, x } // 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) int32 { /* sqlite3.c:86528:16: */ +func Xsqlite3_bind_blob(tls *libc.TLS, pStmt uintptr, i int32, zData uintptr, nData int32, xDel uintptr) int32 { /* sqlite3.c:86541:16: */ return bindText(tls, pStmt, i, zData, int64(nData), xDel, uint8(0)) } -func Xsqlite3_bind_blob64(tls *libc.TLS, pStmt uintptr, i int32, zData uintptr, nData Sqlite3_uint64, xDel uintptr) int32 { /* sqlite3.c:86540:16: */ +func Xsqlite3_bind_blob64(tls *libc.TLS, pStmt uintptr, i int32, zData uintptr, nData Sqlite3_uint64, xDel uintptr) int32 { /* sqlite3.c:86553:16: */ return bindText(tls, pStmt, i, zData, int64(nData), xDel, uint8(0)) } -func Xsqlite3_bind_double(tls *libc.TLS, pStmt uintptr, i int32, rValue float64) int32 { /* sqlite3.c:86550:16: */ +func Xsqlite3_bind_double(tls *libc.TLS, pStmt uintptr, i int32, rValue float64) int32 { /* sqlite3.c:86563:16: */ var rc int32 var p uintptr = pStmt rc = vdbeUnbind(tls, p, i) @@ -62999,11 +63018,11 @@ func Xsqlite3_bind_double(tls *libc.TLS, pStmt uintptr, i int32, rValue float64) return rc } -func Xsqlite3_bind_int(tls *libc.TLS, p uintptr, i int32, iValue int32) int32 { /* sqlite3.c:86560:16: */ +func Xsqlite3_bind_int(tls *libc.TLS, p uintptr, i int32, iValue int32) int32 { /* sqlite3.c:86573:16: */ return Xsqlite3_bind_int64(tls, p, i, I64(iValue)) } -func Xsqlite3_bind_int64(tls *libc.TLS, pStmt uintptr, i int32, iValue Sqlite_int64) int32 { /* sqlite3.c:86563:16: */ +func Xsqlite3_bind_int64(tls *libc.TLS, pStmt uintptr, i int32, iValue Sqlite_int64) int32 { /* sqlite3.c:86576:16: */ var rc int32 var p uintptr = pStmt rc = vdbeUnbind(tls, p, i) @@ -63014,7 +63033,7 @@ func Xsqlite3_bind_int64(tls *libc.TLS, pStmt uintptr, i int32, iValue Sqlite_in return rc } -func Xsqlite3_bind_null(tls *libc.TLS, pStmt uintptr, i int32) int32 { /* sqlite3.c:86573:16: */ +func Xsqlite3_bind_null(tls *libc.TLS, pStmt uintptr, i int32) int32 { /* sqlite3.c:86586:16: */ var rc int32 var p uintptr = pStmt rc = vdbeUnbind(tls, p, i) @@ -63024,7 +63043,7 @@ func Xsqlite3_bind_null(tls *libc.TLS, pStmt uintptr, i int32) int32 { /* sqlite return rc } -func Xsqlite3_bind_pointer(tls *libc.TLS, pStmt uintptr, i int32, pPtr uintptr, zPTtype uintptr, xDestructor uintptr) int32 { /* sqlite3.c:86582:16: */ +func Xsqlite3_bind_pointer(tls *libc.TLS, pStmt uintptr, i int32, pPtr uintptr, zPTtype uintptr, xDestructor uintptr) int32 { /* sqlite3.c:86595:16: */ var rc int32 var p uintptr = pStmt rc = vdbeUnbind(tls, p, i) @@ -63037,11 +63056,11 @@ func Xsqlite3_bind_pointer(tls *libc.TLS, pStmt uintptr, i int32, pPtr uintptr, return rc } -func Xsqlite3_bind_text(tls *libc.TLS, pStmt uintptr, i int32, zData uintptr, nData int32, xDel uintptr) int32 { /* sqlite3.c:86600:16: */ +func Xsqlite3_bind_text(tls *libc.TLS, pStmt uintptr, i int32, zData uintptr, nData int32, xDel uintptr) int32 { /* sqlite3.c:86613:16: */ return bindText(tls, pStmt, i, zData, int64(nData), xDel, uint8(SQLITE_UTF8)) } -func Xsqlite3_bind_text64(tls *libc.TLS, pStmt uintptr, i int32, zData uintptr, nData Sqlite3_uint64, xDel uintptr, enc uint8) int32 { /* sqlite3.c:86609:16: */ +func Xsqlite3_bind_text64(tls *libc.TLS, pStmt uintptr, i int32, zData uintptr, nData Sqlite3_uint64, xDel uintptr, enc uint8) int32 { /* sqlite3.c:86622:16: */ if int32(enc) == SQLITE_UTF16 { enc = uint8(SQLITE_UTF16LE) @@ -63049,11 +63068,11 @@ func Xsqlite3_bind_text64(tls *libc.TLS, pStmt uintptr, i int32, zData uintptr, return bindText(tls, pStmt, i, zData, int64(nData), xDel, enc) } -func Xsqlite3_bind_text16(tls *libc.TLS, pStmt uintptr, i int32, zData uintptr, nData int32, xDel uintptr) int32 { /* sqlite3.c:86622:16: */ +func Xsqlite3_bind_text16(tls *libc.TLS, pStmt uintptr, i int32, zData uintptr, nData int32, xDel uintptr) int32 { /* sqlite3.c:86635:16: */ return bindText(tls, pStmt, i, zData, int64(nData), xDel, uint8(SQLITE_UTF16LE)) } -func Xsqlite3_bind_value(tls *libc.TLS, pStmt uintptr, i int32, pValue uintptr) int32 { /* sqlite3.c:86632:16: */ +func Xsqlite3_bind_value(tls *libc.TLS, pStmt uintptr, i int32, pValue uintptr) int32 { /* sqlite3.c:86645:16: */ var rc int32 switch Xsqlite3_value_type(tls, pValue) { case SQLITE_INTEGER: @@ -63102,7 +63121,7 @@ func Xsqlite3_bind_value(tls *libc.TLS, pStmt uintptr, i int32, pValue uintptr) return rc } -func Xsqlite3_bind_zeroblob(tls *libc.TLS, pStmt uintptr, i int32, n int32) int32 { /* sqlite3.c:86666:16: */ +func Xsqlite3_bind_zeroblob(tls *libc.TLS, pStmt uintptr, i int32, n int32) int32 { /* sqlite3.c:86679:16: */ var rc int32 var p uintptr = pStmt rc = vdbeUnbind(tls, p, i) @@ -63113,7 +63132,7 @@ func Xsqlite3_bind_zeroblob(tls *libc.TLS, pStmt uintptr, i int32, n int32) int3 return rc } -func Xsqlite3_bind_zeroblob64(tls *libc.TLS, pStmt uintptr, i int32, n Sqlite3_uint64) int32 { /* sqlite3.c:86680:16: */ +func Xsqlite3_bind_zeroblob64(tls *libc.TLS, pStmt uintptr, i int32, n Sqlite3_uint64) int32 { /* sqlite3.c:86693:16: */ var rc int32 var p uintptr = pStmt Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer((*Vdbe)(unsafe.Pointer(p)).Fdb)).Fmutex) @@ -63130,7 +63149,7 @@ func Xsqlite3_bind_zeroblob64(tls *libc.TLS, pStmt uintptr, i int32, n Sqlite3_u // Return the number of wildcards that can be potentially bound to. // This routine is added to support DBD::SQLite. -func Xsqlite3_bind_parameter_count(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:86699:16: */ +func Xsqlite3_bind_parameter_count(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:86712:16: */ var p uintptr = pStmt if p != 0 { return int32((*Vdbe)(unsafe.Pointer(p)).FnVar) @@ -63142,7 +63161,7 @@ func Xsqlite3_bind_parameter_count(tls *libc.TLS, pStmt uintptr) int32 { /* sqli // is out of range or if the wildcard is unnamed. // // The result is always UTF-8. -func Xsqlite3_bind_parameter_name(tls *libc.TLS, pStmt uintptr, i int32) uintptr { /* sqlite3.c:86710:23: */ +func Xsqlite3_bind_parameter_name(tls *libc.TLS, pStmt uintptr, i int32) uintptr { /* sqlite3.c:86723:23: */ var p uintptr = pStmt if p == uintptr(0) { return uintptr(0) @@ -63153,19 +63172,19 @@ func Xsqlite3_bind_parameter_name(tls *libc.TLS, pStmt uintptr, i int32) uintptr // Given a wildcard parameter name, return the index of the variable // with that name. If there is no variable with the given name, // return 0. -func Xsqlite3VdbeParameterIndex(tls *libc.TLS, p uintptr, zName uintptr, nName int32) int32 { /* sqlite3.c:86721:20: */ +func Xsqlite3VdbeParameterIndex(tls *libc.TLS, p uintptr, zName uintptr, nName int32) int32 { /* sqlite3.c:86734:20: */ if p == uintptr(0) || zName == uintptr(0) { return 0 } return Xsqlite3VListNameToNum(tls, (*Vdbe)(unsafe.Pointer(p)).FpVList, zName, nName) } -func Xsqlite3_bind_parameter_index(tls *libc.TLS, pStmt uintptr, zName uintptr) int32 { /* sqlite3.c:86725:16: */ +func Xsqlite3_bind_parameter_index(tls *libc.TLS, pStmt uintptr, zName uintptr) int32 { /* sqlite3.c:86738:16: */ return Xsqlite3VdbeParameterIndex(tls, pStmt, zName, Xsqlite3Strlen30(tls, zName)) } // Transfer all bindings from the first statement over to the second. -func Xsqlite3TransferBindings(tls *libc.TLS, pFromStmt uintptr, pToStmt uintptr) int32 { /* sqlite3.c:86732:20: */ +func Xsqlite3TransferBindings(tls *libc.TLS, pFromStmt uintptr, pToStmt uintptr) int32 { /* sqlite3.c:86745:20: */ var pFrom uintptr = pFromStmt var pTo uintptr = pToStmt var i int32 @@ -63188,7 +63207,7 @@ func Xsqlite3TransferBindings(tls *libc.TLS, pFromStmt uintptr, pToStmt uintptr) // If the two statements contain a different number of bindings, then // an SQLITE_ERROR is returned. Nothing else can go wrong, so otherwise // SQLITE_OK is returned. -func Xsqlite3_transfer_bindings(tls *libc.TLS, pFromStmt uintptr, pToStmt uintptr) int32 { /* sqlite3.c:86759:16: */ +func Xsqlite3_transfer_bindings(tls *libc.TLS, pFromStmt uintptr, pToStmt uintptr) int32 { /* sqlite3.c:86772:16: */ var pFrom uintptr = pFromStmt var pTo uintptr = pToStmt if int32((*Vdbe)(unsafe.Pointer(pFrom)).FnVar) != int32((*Vdbe)(unsafe.Pointer(pTo)).FnVar) { @@ -63209,7 +63228,7 @@ func Xsqlite3_transfer_bindings(tls *libc.TLS, pFromStmt uintptr, pToStmt uintpt // in the argument belongs. This is the same database handle that was // the first argument to the sqlite3_prepare() that was used to create // the statement in the first place. -func Xsqlite3_db_handle(tls *libc.TLS, pStmt uintptr) uintptr { /* sqlite3.c:86783:20: */ +func Xsqlite3_db_handle(tls *libc.TLS, pStmt uintptr) uintptr { /* sqlite3.c:86796:20: */ if pStmt != 0 { return (*Vdbe)(unsafe.Pointer(pStmt)).Fdb } @@ -63218,7 +63237,7 @@ func Xsqlite3_db_handle(tls *libc.TLS, pStmt uintptr) uintptr { /* sqlite3.c:867 // Return true if the prepared statement is guaranteed to not modify the // database. -func Xsqlite3_stmt_readonly(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:86791:16: */ +func Xsqlite3_stmt_readonly(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:86804:16: */ if pStmt != 0 { return int32(*(*uint16)(unsafe.Pointer(pStmt + 208)) & 0x80 >> 7) } @@ -63227,7 +63246,7 @@ func Xsqlite3_stmt_readonly(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:8 // Return 1 if the statement is an EXPLAIN and return 2 if the // statement is an EXPLAIN QUERY PLAN -func Xsqlite3_stmt_isexplain(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:86799:16: */ +func Xsqlite3_stmt_isexplain(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:86812:16: */ if pStmt != 0 { return int32(*(*uint16)(unsafe.Pointer(pStmt + 208)) & 0xc >> 2) } @@ -63235,7 +63254,7 @@ func Xsqlite3_stmt_isexplain(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c: } // Return true if the prepared statement is in need of being reset. -func Xsqlite3_stmt_busy(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:86806:16: */ +func Xsqlite3_stmt_busy(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:86819:16: */ var v uintptr = pStmt return libc.Bool32(v != uintptr(0) && (*Vdbe)(unsafe.Pointer(v)).FiVdbeMagic == U32(VDBE_MAGIC_RUN) && (*Vdbe)(unsafe.Pointer(v)).Fpc >= 0) } @@ -63244,7 +63263,7 @@ func Xsqlite3_stmt_busy(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:86806 // with database connection pDb. If pStmt is NULL, return the first // prepared statement for the database connection. Return NULL if there // are no more. -func Xsqlite3_next_stmt(tls *libc.TLS, pDb uintptr, pStmt uintptr) uintptr { /* sqlite3.c:86817:25: */ +func Xsqlite3_next_stmt(tls *libc.TLS, pDb uintptr, pStmt uintptr) uintptr { /* sqlite3.c:86830:25: */ var pNext uintptr Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(pDb)).Fmutex) if pStmt == uintptr(0) { @@ -63257,7 +63276,7 @@ func Xsqlite3_next_stmt(tls *libc.TLS, pDb uintptr, pStmt uintptr) uintptr { /* } // Return the value of a status counter for a prepared statement -func Xsqlite3_stmt_status(tls *libc.TLS, pStmt uintptr, op int32, resetFlag int32) int32 { /* sqlite3.c:86838:16: */ +func Xsqlite3_stmt_status(tls *libc.TLS, pStmt uintptr, op int32, resetFlag int32) int32 { /* sqlite3.c:86851:16: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -63283,7 +63302,7 @@ func Xsqlite3_stmt_status(tls *libc.TLS, pStmt uintptr, op int32, resetFlag int3 } // Return the SQL associated with a prepared statement -func Xsqlite3_sql(tls *libc.TLS, pStmt uintptr) uintptr { /* sqlite3.c:86868:23: */ +func Xsqlite3_sql(tls *libc.TLS, pStmt uintptr) uintptr { /* sqlite3.c:86881:23: */ var p uintptr = pStmt if p != 0 { return (*Vdbe)(unsafe.Pointer(p)).FzSql @@ -63298,7 +63317,7 @@ func Xsqlite3_sql(tls *libc.TLS, pStmt uintptr) uintptr { /* sqlite3.c:86868:23: // // The SQLITE_TRACE_SIZE_LIMIT puts an upper bound on the size of // expanded bound parameters. -func Xsqlite3_expanded_sql(tls *libc.TLS, pStmt uintptr) uintptr { /* sqlite3.c:86882:17: */ +func Xsqlite3_expanded_sql(tls *libc.TLS, pStmt uintptr) uintptr { /* sqlite3.c:86895:17: */ var z uintptr = uintptr(0) var zSql uintptr = Xsqlite3_sql(tls, pStmt) if zSql != 0 { @@ -63313,7 +63332,7 @@ func Xsqlite3_expanded_sql(tls *libc.TLS, pStmt uintptr) uintptr { /* sqlite3.c: // Allocate and populate an UnpackedRecord structure based on the serialized // record in nKey/pKey. Return a pointer to the new UnpackedRecord structure // if successful, or a NULL pointer if an OOM error is encountered. -func vdbeUnpackRecord(tls *libc.TLS, pKeyInfo uintptr, nKey int32, pKey uintptr) uintptr { /* sqlite3.c:86920:23: */ +func vdbeUnpackRecord(tls *libc.TLS, pKeyInfo uintptr, nKey int32, pKey uintptr) uintptr { /* sqlite3.c:86933:23: */ var pRet uintptr // Return value pRet = Xsqlite3VdbeAllocUnpackedRecord(tls, pKeyInfo) @@ -63326,7 +63345,7 @@ func vdbeUnpackRecord(tls *libc.TLS, pKeyInfo uintptr, nKey int32, pKey uintptr) // This function is called from within a pre-update callback to retrieve // a field of the row currently being updated or deleted. -func Xsqlite3_preupdate_old(tls *libc.TLS, db uintptr, iIdx int32, ppValue uintptr) int32 { /* sqlite3.c:86939:16: */ +func Xsqlite3_preupdate_old(tls *libc.TLS, db uintptr, iIdx int32, ppValue uintptr) int32 { /* sqlite3.c:86952:16: */ var p uintptr var pMem uintptr var rc int32 @@ -63340,7 +63359,7 @@ func Xsqlite3_preupdate_old(tls *libc.TLS, db uintptr, iIdx int32, ppValue uintp if !(!(p != 0) || (*PreUpdate)(unsafe.Pointer(p)).Fop == SQLITE_INSERT) { goto __1 } - rc = Xsqlite3MisuseError(tls, 86947) + rc = Xsqlite3MisuseError(tls, 86960) goto preupdate_old_out __1: ; @@ -63432,7 +63451,7 @@ preupdate_old_out: // This function is called from within a pre-update callback to retrieve // the number of columns in the row being updated, deleted or inserted. -func Xsqlite3_preupdate_count(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:87003:16: */ +func Xsqlite3_preupdate_count(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:87016:16: */ var p uintptr = (*Sqlite3)(unsafe.Pointer(db)).FpPreUpdate return func() int32 { if p != 0 { @@ -63451,7 +63470,7 @@ func Xsqlite3_preupdate_count(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:87 // // For the purposes of the previous paragraph, a foreign key CASCADE, SET NULL // or SET DEFAULT action is considered a trigger. -func Xsqlite3_preupdate_depth(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:87021:16: */ +func Xsqlite3_preupdate_depth(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:87034:16: */ var p uintptr = (*Sqlite3)(unsafe.Pointer(db)).FpPreUpdate return func() int32 { if p != 0 { @@ -63463,7 +63482,7 @@ func Xsqlite3_preupdate_depth(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:87 // This function is designed to be called from within a pre-update callback // only. -func Xsqlite3_preupdate_blobwrite(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:87032:16: */ +func Xsqlite3_preupdate_blobwrite(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:87045:16: */ var p uintptr = (*Sqlite3)(unsafe.Pointer(db)).FpPreUpdate return func() int32 { if p != 0 { @@ -63475,7 +63494,7 @@ func Xsqlite3_preupdate_blobwrite(tls *libc.TLS, db uintptr) int32 { /* sqlite3. // This function is called from within a pre-update callback to retrieve // a field of the row currently being updated or inserted. -func Xsqlite3_preupdate_new(tls *libc.TLS, db uintptr, iIdx int32, ppValue uintptr) int32 { /* sqlite3.c:87043:16: */ +func Xsqlite3_preupdate_new(tls *libc.TLS, db uintptr, iIdx int32, ppValue uintptr) int32 { /* sqlite3.c:87056:16: */ var p uintptr var rc int32 var pMem uintptr @@ -63489,7 +63508,7 @@ func Xsqlite3_preupdate_new(tls *libc.TLS, db uintptr, iIdx int32, ppValue uintp if !(!(p != 0) || (*PreUpdate)(unsafe.Pointer(p)).Fop == SQLITE_DELETE) { goto __1 } - rc = Xsqlite3MisuseError(tls, 87049) + rc = Xsqlite3MisuseError(tls, 87062) goto preupdate_new_out __1: ; @@ -63630,7 +63649,7 @@ preupdate_new_out: // bytes in this text up to but excluding the first character in // a host parameter. If the text contains no host parameters, return // the total number of bytes in the text. -func findNextHostParameter(tls *libc.TLS, zSql uintptr, pnToken uintptr) int32 { /* sqlite3.c:87213:12: */ +func findNextHostParameter(tls *libc.TLS, zSql uintptr, pnToken uintptr) int32 { /* sqlite3.c:87226:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -63675,7 +63694,7 @@ func findNextHostParameter(tls *libc.TLS, zSql uintptr, pnToken uintptr) int32 { // statement for the corresponding OP_Variable opcode. Once the host // parameter index is known, locate the value in p->aVar[]. Then render // the value as a literal in place of the host parameter name. -func Xsqlite3VdbeExpandSql(tls *libc.TLS, p uintptr, zRawSql uintptr) uintptr { /* sqlite3.c:87256:21: */ +func Xsqlite3VdbeExpandSql(tls *libc.TLS, p uintptr, zRawSql uintptr) uintptr { /* sqlite3.c:87269:21: */ bp := tls.Alloc(144) defer tls.Free(144) @@ -63898,7 +63917,7 @@ func Xsqlite3VdbeExpandSql(tls *libc.TLS, p uintptr, zRawSql uintptr) uintptr { // Allocate VdbeCursor number iCur. Return a pointer to it. Return NULL // if we run out of memory. -func allocateCursor(tls *libc.TLS, p uintptr, iCur int32, nField int32, eCurType U8) uintptr { /* sqlite3.c:87619:19: */ +func allocateCursor(tls *libc.TLS, p uintptr, iCur int32, nField int32, eCurType U8) uintptr { /* sqlite3.c:87632:19: */ // Find the memory cell that will be used to store the blob of memory // required for this VdbeCursor structure. It is convenient to use a // vdbe memory cell to manage the memory allocation required for a @@ -63969,7 +63988,7 @@ func allocateCursor(tls *libc.TLS, p uintptr, iCur int32, nField int32, eCurType // floating point value of rValue. Return true and set *piValue to the // integer value if the string is in range to be an integer. Otherwise, // return false. -func alsoAnInt(tls *libc.TLS, pRec uintptr, rValue float64, piValue uintptr) int32 { /* sqlite3.c:87695:12: */ +func alsoAnInt(tls *libc.TLS, pRec uintptr, rValue float64, piValue uintptr) int32 { /* sqlite3.c:87708:12: */ var iValue I64 = I64(rValue) if Xsqlite3RealSameAsInt(tls, rValue, iValue) != 0 { *(*I64)(unsafe.Pointer(piValue)) = iValue @@ -63991,7 +64010,7 @@ func alsoAnInt(tls *libc.TLS, pRec uintptr, rValue float64, piValue uintptr) int // If bTryForInt is false, then if the input string contains a decimal // point or exponential notation, the result is only MEM_Real, even // if there is an exact integer representation of the quantity. -func applyNumericAffinity(tls *libc.TLS, pRec uintptr, bTryForInt int32) { /* sqlite3.c:87719:13: */ +func applyNumericAffinity(tls *libc.TLS, pRec uintptr, bTryForInt int32) { /* sqlite3.c:87732:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -64037,7 +64056,7 @@ func applyNumericAffinity(tls *libc.TLS, pRec uintptr, bTryForInt int32) { /* sq // SQLITE_AFF_BLOB: // SQLITE_AFF_NONE: // No-op. pRec is unchanged. -func applyAffinity(tls *libc.TLS, pRec uintptr, affinity int8, enc U8) { /* sqlite3.c:87759:13: */ +func applyAffinity(tls *libc.TLS, pRec uintptr, affinity int8, enc U8) { /* sqlite3.c:87772:13: */ if int32(affinity) >= SQLITE_AFF_NUMERIC { if int32((*Mem)(unsafe.Pointer(pRec)).Fflags)&MEM_Int == 0 { //OPTIMIZATION-IF-FALSE @@ -64069,7 +64088,7 @@ func applyAffinity(tls *libc.TLS, pRec uintptr, affinity int8, enc U8) { /* sqli // into a numeric representation. Use either INTEGER or REAL whichever // is appropriate. But only do the conversion if it is possible without // loss of information and return the revised type of the argument. -func Xsqlite3_value_numeric_type(tls *libc.TLS, pVal uintptr) int32 { /* sqlite3.c:87798:16: */ +func Xsqlite3_value_numeric_type(tls *libc.TLS, pVal uintptr) int32 { /* sqlite3.c:87811:16: */ var eType int32 = Xsqlite3_value_type(tls, pVal) if eType == SQLITE_TEXT { var pMem uintptr = pVal @@ -64081,7 +64100,7 @@ func Xsqlite3_value_numeric_type(tls *libc.TLS, pVal uintptr) int32 { /* sqlite3 // Exported version of applyAffinity(). This one works on sqlite3_value*, // not the internal Mem* type. -func Xsqlite3ValueApplyAffinity(tls *libc.TLS, pVal uintptr, affinity U8, enc U8) { /* sqlite3.c:87812:21: */ +func Xsqlite3ValueApplyAffinity(tls *libc.TLS, pVal uintptr, affinity U8, enc U8) { /* sqlite3.c:87825:21: */ applyAffinity(tls, pVal, int8(affinity), enc) } @@ -64089,7 +64108,7 @@ func Xsqlite3ValueApplyAffinity(tls *libc.TLS, pVal uintptr, affinity U8, enc U8 // interpret as a string if we want to). Compute its corresponding // numeric type, if has one. Set the pMem->u.r and pMem->u.i fields // accordingly. -func computeNumericType(tls *libc.TLS, pMem uintptr) U16 { /* sqlite3.c:87826:28: */ +func computeNumericType(tls *libc.TLS, pMem uintptr) U16 { /* sqlite3.c:87839:28: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -64125,7 +64144,7 @@ func computeNumericType(tls *libc.TLS, pMem uintptr) U16 { /* sqlite3.c:87826:28 // // Unlike applyNumericAffinity(), this routine does not modify pMem->flags. // But it does set pMem->u.r and pMem->u.i appropriately. -func numericType(tls *libc.TLS, pMem uintptr) U16 { /* sqlite3.c:87857:12: */ +func numericType(tls *libc.TLS, pMem uintptr) U16 { /* sqlite3.c:87870:12: */ if int32((*Mem)(unsafe.Pointer(pMem)).Fflags)&(MEM_Int|MEM_Real|MEM_IntReal) != 0 { return U16(int32((*Mem)(unsafe.Pointer(pMem)).Fflags) & (MEM_Int | MEM_Real | MEM_IntReal)) @@ -64139,13 +64158,13 @@ func numericType(tls *libc.TLS, pMem uintptr) U16 { /* sqlite3.c:87857:12: */ // Return the register of pOp->p2 after first preparing it to be // overwritten with an integer value. -func out2PrereleaseWithClear(tls *libc.TLS, pOut uintptr) uintptr { /* sqlite3.c:88032:28: */ +func out2PrereleaseWithClear(tls *libc.TLS, pOut uintptr) uintptr { /* sqlite3.c:88045:28: */ Xsqlite3VdbeMemSetNull(tls, pOut) (*Mem)(unsafe.Pointer(pOut)).Fflags = U16(MEM_Int) return pOut } -func out2Prerelease(tls *libc.TLS, p uintptr, pOp uintptr) uintptr { /* sqlite3.c:88037:12: */ +func out2Prerelease(tls *libc.TLS, p uintptr, pOp uintptr) uintptr { /* sqlite3.c:88050:12: */ var pOut uintptr pOut = (*Vdbe)(unsafe.Pointer(p)).FaMem + uintptr((*VdbeOp)(unsafe.Pointer(pOp)).Fp2)*56 @@ -64161,7 +64180,7 @@ func out2Prerelease(tls *libc.TLS, p uintptr, pOp uintptr) uintptr { /* sqlite3. // Compute a bloom filter hash using pOp->p4.i registers from aMem[] beginning // with pOp->p3. Return the hash. -func filterHash(tls *libc.TLS, aMem uintptr, pOp uintptr) U64 { /* sqlite3.c:88055:12: */ +func filterHash(tls *libc.TLS, aMem uintptr, pOp uintptr) U64 { /* sqlite3.c:88068:12: */ var i int32 var mx int32 var h U64 = uint64(0) @@ -64185,7 +64204,7 @@ func filterHash(tls *libc.TLS, aMem uintptr, pOp uintptr) U64 { /* sqlite3.c:880 } // Return the symbolic name for the data type of a pMem -func vdbeMemTypeName(tls *libc.TLS, pMem uintptr) uintptr { /* sqlite3.c:88077:19: */ +func vdbeMemTypeName(tls *libc.TLS, pMem uintptr) uintptr { /* sqlite3.c:88090:19: */ return azTypes[Xsqlite3_value_type(tls, pMem)-1] } @@ -64195,11 +64214,11 @@ var azTypes = [5]uintptr{ ts + 1112, ts + 1090, ts + 1535, -} /* sqlite3.c:88078:21 */ +} /* sqlite3.c:88091:21 */ // Execute as much of a VDBE program as we can. // This is the core of sqlite3_step(). -func Xsqlite3VdbeExec(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:88092:20: */ +func Xsqlite3VdbeExec(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:88105:20: */ bp := tls.Alloc(976) defer tls.Free(976) @@ -69716,7 +69735,7 @@ op_column_corrupt: goto __8 goto __400 __399: - rc = Xsqlite3CorruptError(tls, 90310) + rc = Xsqlite3CorruptError(tls, 90323) goto abort_due_to_error __400: ; @@ -72211,7 +72230,7 @@ notExistsWithKey: if !((*Op)(unsafe.Pointer(pOp)).Fp2 == 0) { goto __642 } - rc = Xsqlite3CorruptError(tls, 92457) + rc = Xsqlite3CorruptError(tls, 92470) goto __643 __642: goto jump_to_p2 @@ -73373,7 +73392,7 @@ __724: if !((*Op)(unsafe.Pointer(pOp)).Fp5 != 0 && !(Xsqlite3WritableSchema(tls, db) != 0)) { goto __727 } - rc = Xsqlite3ReportError(tls, SQLITE_CORRUPT|int32(3)<<8, 93513, ts+5827) + rc = Xsqlite3ReportError(tls, SQLITE_CORRUPT|int32(3)<<8, 93526, ts+5827) goto abort_due_to_error __727: ; @@ -73565,7 +73584,7 @@ __737: if !(nCellKey <= int64(0) || nCellKey > int64(0x7fffffff)) { goto __738 } - rc = Xsqlite3CorruptError(tls, 93717) + rc = Xsqlite3CorruptError(tls, 93730) goto abort_due_to_error __738: ; @@ -73841,7 +73860,7 @@ __759: // 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 = Xsqlite3CorruptError(tls, 93969) + rc = Xsqlite3CorruptError(tls, 93982) __760: ; Xsqlite3DbFreeNN(tls, db, zSql) @@ -75852,7 +75871,7 @@ __916: if !(rc == SQLITE_IOERR|int32(33)<<8) { goto __918 } - rc = Xsqlite3CorruptError(tls, 95906) + rc = Xsqlite3CorruptError(tls, 95919) __918: ; __917: @@ -75941,11 +75960,11 @@ abort_due_to_interrupt: } var azType = [4]uintptr{ts + 6069, ts + 6078, ts + 6085, - ts + 6091} /* sqlite3.c:88537:25 */ -var and_logic = [9]uint8{uint8(0), uint8(0), uint8(0), uint8(0), uint8(1), uint8(2), uint8(0), uint8(2), uint8(2)} /* sqlite3.c:89761:32 */ -var or_logic = [9]uint8{uint8(0), uint8(1), uint8(2), uint8(1), uint8(1), uint8(1), uint8(2), uint8(1), uint8(2)} /* sqlite3.c:89764:32 */ -var aFlag1 = [2]U16{U16(MEM_Blob), U16(MEM_Str | MEM_Term)} /* sqlite3.c:90257:24 */ -var vfsFlags int32 = SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE | SQLITE_OPEN_EXCLUSIVE | SQLITE_OPEN_DELETEONCLOSE | SQLITE_OPEN_TRANSIENT_DB /* sqlite3.c:91512:20 */ + ts + 6091} /* sqlite3.c:88550:25 */ +var and_logic = [9]uint8{uint8(0), uint8(0), uint8(0), uint8(0), uint8(1), uint8(2), uint8(0), uint8(2), uint8(2)} /* sqlite3.c:89774:32 */ +var or_logic = [9]uint8{uint8(0), uint8(1), uint8(2), uint8(1), uint8(1), uint8(1), uint8(2), uint8(1), uint8(2)} /* sqlite3.c:89777:32 */ +var aFlag1 = [2]U16{U16(MEM_Blob), U16(MEM_Str | MEM_Term)} /* sqlite3.c:90270:24 */ +var vfsFlags int32 = SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE | SQLITE_OPEN_EXCLUSIVE | SQLITE_OPEN_DELETEONCLOSE | SQLITE_OPEN_TRANSIENT_DB /* sqlite3.c:91525:20 */ //************* End of vdbe.c *********************************************** //************* Begin file vdbeblob.c *************************************** @@ -75976,7 +75995,7 @@ type Incrblob1 = struct { Fdb uintptr FzDb uintptr FpTab uintptr -} /* sqlite3.c:96011:9 */ +} /* sqlite3.c:96024:9 */ //************* End of vdbe.c *********************************************** //************* Begin file vdbeblob.c *************************************** @@ -75997,7 +76016,7 @@ type Incrblob1 = struct { // #include "vdbeInt.h" // Valid sqlite3_blob* handles point to Incrblob structures. -type Incrblob = Incrblob1 /* sqlite3.c:96011:25 */ +type Incrblob = Incrblob1 /* sqlite3.c:96024:25 */ // This function is used by both blob_open() and blob_reopen(). It seeks // the b-tree cursor associated with blob handle p to point to row iRow. @@ -76014,7 +76033,7 @@ type Incrblob = Incrblob1 /* sqlite3.c:96011:25 */ // If an error does occur, then the b-tree cursor is closed. All subsequent // calls to sqlite3_blob_read(), blob_write() or blob_reopen() will // immediately return SQLITE_ABORT. -func blobSeekToRow(tls *libc.TLS, p uintptr, iRow Sqlite3_int64, pzErr uintptr) int32 { /* sqlite3.c:96041:12: */ +func blobSeekToRow(tls *libc.TLS, p uintptr, iRow Sqlite3_int64, pzErr uintptr) int32 { /* sqlite3.c:96054:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -76090,7 +76109,7 @@ func blobSeekToRow(tls *libc.TLS, p uintptr, iRow Sqlite3_int64, pzErr uintptr) } // Open a blob handle. -func Xsqlite3_blob_open(tls *libc.TLS, db uintptr, zDb uintptr, zTable uintptr, zColumn uintptr, iRow Sqlite_int64, wrFlag int32, ppBlob uintptr) int32 { /* sqlite3.c:96109:16: */ +func Xsqlite3_blob_open(tls *libc.TLS, db uintptr, zDb uintptr, zTable uintptr, zColumn uintptr, iRow Sqlite_int64, wrFlag int32, ppBlob uintptr) int32 { /* sqlite3.c:96122:16: */ bp := tls.Alloc(464) defer tls.Free(464) @@ -76411,7 +76430,7 @@ __38: return rc } -var iLn int32 = 0 /* sqlite3.c:96252:24 */ +var iLn int32 = 0 /* sqlite3.c:96265:24 */ var openBlob = [6]VdbeOpList{ {Fopcode: U8(OP_TableLock)}, // 0: Acquire a read or write lock {Fopcode: U8(OP_OpenRead)}, // 1: Open a cursor @@ -76420,11 +76439,11 @@ var openBlob = [6]VdbeOpList{ {Fopcode: U8(OP_Column), Fp3: int8(1)}, // 3 {Fopcode: U8(OP_ResultRow), Fp1: int8(1)}, // 4 {Fopcode: U8(OP_Halt)}, // 5 -} /* sqlite3.c:96253:31 */ +} /* sqlite3.c:96266:31 */ // Close a blob handle that was previously created using // sqlite3_blob_open(). -func Xsqlite3_blob_close(tls *libc.TLS, pBlob uintptr) int32 { /* sqlite3.c:96344:16: */ +func Xsqlite3_blob_close(tls *libc.TLS, pBlob uintptr) int32 { /* sqlite3.c:96357:16: */ var p uintptr = pBlob var rc int32 var db uintptr @@ -76443,14 +76462,14 @@ func Xsqlite3_blob_close(tls *libc.TLS, pBlob uintptr) int32 { /* sqlite3.c:9634 } // Perform a read or write operation on a blob -func blobReadWrite(tls *libc.TLS, pBlob uintptr, z uintptr, n int32, iOffset int32, xCall uintptr) int32 { /* sqlite3.c:96365:12: */ +func blobReadWrite(tls *libc.TLS, pBlob uintptr, z uintptr, n int32, iOffset int32, xCall uintptr) int32 { /* sqlite3.c:96378:12: */ var rc int32 var p uintptr = pBlob var v uintptr var db uintptr if p == uintptr(0) { - return Xsqlite3MisuseError(tls, 96377) + return Xsqlite3MisuseError(tls, 96390) } db = (*Incrblob)(unsafe.Pointer(p)).Fdb Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) @@ -76509,14 +76528,14 @@ func blobReadWrite(tls *libc.TLS, pBlob uintptr, z uintptr, n int32, iOffset int } // Read data from a blob handle. -func Xsqlite3_blob_read(tls *libc.TLS, pBlob uintptr, z uintptr, n int32, iOffset int32) int32 { /* sqlite3.c:96440:16: */ +func Xsqlite3_blob_read(tls *libc.TLS, pBlob uintptr, z uintptr, n int32, iOffset int32) int32 { /* sqlite3.c:96453:16: */ return blobReadWrite(tls, pBlob, z, n, iOffset, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, U32, U32, uintptr) int32 }{Xsqlite3BtreePayloadChecked}))) } // Write data to a blob handle. -func Xsqlite3_blob_write(tls *libc.TLS, pBlob uintptr, z uintptr, n int32, iOffset int32) int32 { /* sqlite3.c:96447:16: */ +func Xsqlite3_blob_write(tls *libc.TLS, pBlob uintptr, z uintptr, n int32, iOffset int32) int32 { /* sqlite3.c:96460:16: */ return blobReadWrite(tls, pBlob, z, n, iOffset, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, U32, U32, uintptr) int32 }{Xsqlite3BtreePutData}))) @@ -76526,7 +76545,7 @@ func Xsqlite3_blob_write(tls *libc.TLS, pBlob uintptr, z uintptr, n int32, iOffs // // The Incrblob.nByte field is fixed for the lifetime of the Incrblob // so no mutex is required for access. -func Xsqlite3_blob_bytes(tls *libc.TLS, pBlob uintptr) int32 { /* sqlite3.c:96457:16: */ +func Xsqlite3_blob_bytes(tls *libc.TLS, pBlob uintptr) int32 { /* sqlite3.c:96470:16: */ var p uintptr = pBlob if p != 0 && (*Incrblob)(unsafe.Pointer(p)).FpStmt != 0 { return (*Incrblob)(unsafe.Pointer(p)).FnByte @@ -76542,7 +76561,7 @@ func Xsqlite3_blob_bytes(tls *libc.TLS, pBlob uintptr) int32 { /* sqlite3.c:9645 // database handle error code and message set. If this happens, then all // subsequent calls to sqlite3_blob_xxx() functions (except blob_close()) // immediately return SQLITE_ABORT. -func Xsqlite3_blob_reopen(tls *libc.TLS, pBlob uintptr, iRow Sqlite3_int64) int32 { /* sqlite3.c:96472:16: */ +func Xsqlite3_blob_reopen(tls *libc.TLS, pBlob uintptr, iRow Sqlite3_int64) int32 { /* sqlite3.c:96485:16: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -76551,7 +76570,7 @@ func Xsqlite3_blob_reopen(tls *libc.TLS, pBlob uintptr, iRow Sqlite3_int64) int3 var db uintptr if p == uintptr(0) { - return Xsqlite3MisuseError(tls, 96477) + return Xsqlite3MisuseError(tls, 96490) } db = (*Incrblob)(unsafe.Pointer(p)).Fdb Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) @@ -76889,7 +76908,7 @@ type MergeEngine1 = struct { // overflows. 512MiB. // Private objects used by the sorter -type MergeEngine = MergeEngine1 /* sqlite3.c:96666:28 */ // Merge PMAs together +type MergeEngine = MergeEngine1 /* sqlite3.c:96679:28 */ // Merge PMAs together type PmaReader1 = struct { FiReadOff I64 FiEof I64 @@ -76906,7 +76925,7 @@ type PmaReader1 = struct { } /* sqlite3.c:22082:9 */ // Merge PMAs together -type PmaReader = PmaReader1 /* sqlite3.c:96667:26 */ // Incrementally read one PMA +type PmaReader = PmaReader1 /* sqlite3.c:96680:26 */ // Incrementally read one PMA type PmaWriter1 = struct { FeFWErr int32 F__ccgo_pad1 [4]byte @@ -76917,10 +76936,10 @@ type PmaWriter1 = struct { F__ccgo_pad2 [4]byte FiWriteOff I64 FpFd uintptr -} /* sqlite3.c:96668:9 */ +} /* sqlite3.c:96681:9 */ // Incrementally read one PMA -type PmaWriter = PmaWriter1 /* sqlite3.c:96668:26 */ // Incrementally write one PMA +type PmaWriter = PmaWriter1 /* sqlite3.c:96681:26 */ // Incrementally write one PMA type SorterRecord1 = struct { FnVal int32 F__ccgo_pad1 [4]byte @@ -76928,7 +76947,7 @@ type SorterRecord1 = struct { } /* sqlite3.c:22082:9 */ // Incrementally write one PMA -type SorterRecord = SorterRecord1 /* sqlite3.c:96669:29 */ // A record being sorted +type SorterRecord = SorterRecord1 /* sqlite3.c:96682:29 */ // A record being sorted type SortSubtask1 = struct { FpThread uintptr FbDone int32 @@ -76944,14 +76963,14 @@ type SortSubtask1 = struct { } /* sqlite3.c:22082:9 */ // A record being sorted -type SortSubtask = SortSubtask1 /* sqlite3.c:96670:28 */ // A sub-task in the sort process +type SortSubtask = SortSubtask1 /* sqlite3.c:96683:28 */ // A sub-task in the sort process type SorterFile1 = struct { FpFd uintptr FiEof I64 } /* sqlite3.c:22082:9 */ // A sub-task in the sort process -type SorterFile = SorterFile1 /* sqlite3.c:96671:27 */ // Temporary file object wrapper +type SorterFile = SorterFile1 /* sqlite3.c:96684:27 */ // Temporary file object wrapper type SorterList1 = struct { FpList uintptr FaMemory uintptr @@ -76960,7 +76979,7 @@ type SorterList1 = struct { } /* sqlite3.c:22082:9 */ // Temporary file object wrapper -type SorterList = SorterList1 /* sqlite3.c:96672:27 */ // In-memory list of records +type SorterList = SorterList1 /* sqlite3.c:96685:27 */ // In-memory list of records type IncrMerger1 = struct { FpTask uintptr FpMerger uintptr @@ -76973,7 +76992,7 @@ type IncrMerger1 = struct { } /* sqlite3.c:22082:9 */ // In-memory list of records -type IncrMerger = IncrMerger1 /* sqlite3.c:96673:27 */ +type IncrMerger = IncrMerger1 /* sqlite3.c:96686:27 */ // This object represents a single thread of control in a sort operation. // Exactly VdbeSorter.nTask instances of this object are allocated @@ -77004,11 +77023,11 @@ type IncrMerger = IncrMerger1 /* sqlite3.c:96673:27 */ // In both cases, the effects of the main thread seeing (bDone==0) even // after the thread has finished are not dire. So we don't worry about // memory barriers and such here. -type SorterCompare = uintptr /* sqlite3.c:96800:13 */ +type SorterCompare = uintptr /* sqlite3.c:96813:13 */ // Free all memory belonging to the PmaReader object passed as the // argument. All structure fields are set to zero before returning. -func vdbePmaReaderClear(tls *libc.TLS, pReadr uintptr) { /* sqlite3.c:96975:13: */ +func vdbePmaReaderClear(tls *libc.TLS, pReadr uintptr) { /* sqlite3.c:96988:13: */ Xsqlite3_free(tls, (*PmaReader)(unsafe.Pointer(pReadr)).FaAlloc) Xsqlite3_free(tls, (*PmaReader)(unsafe.Pointer(pReadr)).FaBuffer) if (*PmaReader)(unsafe.Pointer(pReadr)).FaMap != 0 { @@ -77025,7 +77044,7 @@ func vdbePmaReaderClear(tls *libc.TLS, pReadr uintptr) { /* sqlite3.c:96975:13: // // The buffer returned in *ppOut is only valid until the // next call to this function. -func vdbePmaReadBlob(tls *libc.TLS, p uintptr, nByte int32, ppOut uintptr) int32 { /* sqlite3.c:96992:12: */ +func vdbePmaReadBlob(tls *libc.TLS, p uintptr, nByte int32, ppOut uintptr) int32 { /* sqlite3.c:97005:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -77129,7 +77148,7 @@ func vdbePmaReadBlob(tls *libc.TLS, p uintptr, nByte int32, ppOut uintptr) int32 // Read a varint from the stream of data accessed by p. Set *pnOut to // the value read. -func vdbePmaReadVarint(tls *libc.TLS, p uintptr, pnOut uintptr) int32 { /* sqlite3.c:97086:12: */ +func vdbePmaReadVarint(tls *libc.TLS, p uintptr, pnOut uintptr) int32 { /* sqlite3.c:97099:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -77169,7 +77188,7 @@ func vdbePmaReadVarint(tls *libc.TLS, p uintptr, pnOut uintptr) int32 { /* sqlit // // Or, if an error occurs, return an SQLite error code. The final value of // *pp is undefined in this case. -func vdbeSorterMapFile(tls *libc.TLS, pTask uintptr, pFile uintptr, pp uintptr) int32 { /* sqlite3.c:97119:12: */ +func vdbeSorterMapFile(tls *libc.TLS, pTask uintptr, pFile uintptr, pp uintptr) int32 { /* sqlite3.c:97132:12: */ var rc int32 = SQLITE_OK if (*SorterFile)(unsafe.Pointer(pFile)).FiEof <= I64((*Sqlite3)(unsafe.Pointer((*VdbeSorter)(unsafe.Pointer((*SortSubtask)(unsafe.Pointer(pTask)).FpSorter)).Fdb)).FnMaxSorterMmap) { var pFd uintptr = (*SorterFile)(unsafe.Pointer(pFile)).FpFd @@ -77184,7 +77203,7 @@ func vdbeSorterMapFile(tls *libc.TLS, pTask uintptr, pFile uintptr, pp uintptr) // Attach PmaReader pReadr to file pFile (if it is not already attached to // that file) and seek it to offset iOff within the file. Return SQLITE_OK // if successful, or an SQLite error code if an error occurs. -func vdbePmaReaderSeek(tls *libc.TLS, pTask uintptr, pReadr uintptr, pFile uintptr, iOff I64) int32 { /* sqlite3.c:97136:12: */ +func vdbePmaReaderSeek(tls *libc.TLS, pTask uintptr, pReadr uintptr, pFile uintptr, iOff I64) int32 { /* sqlite3.c:97149:12: */ var rc int32 = SQLITE_OK if Xsqlite3FaultSim(tls, 201) != 0 { @@ -77225,7 +77244,7 @@ func vdbePmaReaderSeek(tls *libc.TLS, pTask uintptr, pReadr uintptr, pFile uintp // Advance PmaReader pReadr to the next key in its PMA. Return SQLITE_OK if // no error occurs, or an SQLite error code if one does. -func vdbePmaReaderNext(tls *libc.TLS, pReadr uintptr) int32 { /* sqlite3.c:97183:12: */ +func vdbePmaReaderNext(tls *libc.TLS, pReadr uintptr) int32 { /* sqlite3.c:97196:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -77271,7 +77290,7 @@ func vdbePmaReaderNext(tls *libc.TLS, pReadr uintptr) int32 { /* sqlite3.c:97183 // // If the pnByte parameter is NULL, then it is assumed that the file // contains a single PMA, and that that PMA omits the initial length varint. -func vdbePmaReaderInit(tls *libc.TLS, pTask uintptr, pFile uintptr, iStart I64, pReadr uintptr, pnByte uintptr) int32 { /* sqlite3.c:97230:12: */ +func vdbePmaReaderInit(tls *libc.TLS, pTask uintptr, pFile uintptr, iStart I64, pReadr uintptr, pnByte uintptr) int32 { /* sqlite3.c:97243:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -77294,7 +77313,7 @@ func vdbePmaReaderInit(tls *libc.TLS, pTask uintptr, pFile uintptr, iStart I64, // A version of vdbeSorterCompare() that assumes that it has already been // determined that the first field of key1 is equal to the first field of // key2. -func vdbeSorterCompareTail(tls *libc.TLS, pTask uintptr, pbKey2Cached uintptr, pKey1 uintptr, nKey1 int32, pKey2 uintptr, nKey2 int32) int32 { /* sqlite3.c:97263:12: */ +func vdbeSorterCompareTail(tls *libc.TLS, pTask uintptr, pbKey2Cached uintptr, pKey1 uintptr, nKey1 int32, pKey2 uintptr, nKey2 int32) int32 { /* sqlite3.c:97276:12: */ var r2 uintptr = (*SortSubtask)(unsafe.Pointer(pTask)).FpUnpacked if *(*int32)(unsafe.Pointer(pbKey2Cached)) == 0 { Xsqlite3VdbeRecordUnpack(tls, (*VdbeSorter)(unsafe.Pointer((*SortSubtask)(unsafe.Pointer(pTask)).FpSorter)).FpKeyInfo, nKey2, pKey2, r2) @@ -77314,7 +77333,7 @@ func vdbeSorterCompareTail(tls *libc.TLS, pTask uintptr, pbKey2Cached uintptr, p // // If an OOM error is encountered, (pTask->pUnpacked->error_rc) is set // to SQLITE_NOMEM. -func vdbeSorterCompare(tls *libc.TLS, pTask uintptr, pbKey2Cached uintptr, pKey1 uintptr, nKey1 int32, pKey2 uintptr, nKey2 int32) int32 { /* sqlite3.c:97290:12: */ +func vdbeSorterCompare(tls *libc.TLS, pTask uintptr, pbKey2Cached uintptr, pKey1 uintptr, nKey1 int32, pKey2 uintptr, nKey2 int32) int32 { /* sqlite3.c:97303:12: */ var r2 uintptr = (*SortSubtask)(unsafe.Pointer(pTask)).FpUnpacked if !(*(*int32)(unsafe.Pointer(pbKey2Cached)) != 0) { Xsqlite3VdbeRecordUnpack(tls, (*VdbeSorter)(unsafe.Pointer((*SortSubtask)(unsafe.Pointer(pTask)).FpSorter)).FpKeyInfo, nKey2, pKey2, r2) @@ -77326,7 +77345,7 @@ func vdbeSorterCompare(tls *libc.TLS, pTask uintptr, pbKey2Cached uintptr, pKey1 // A specially optimized version of vdbeSorterCompare() that assumes that // the first field of each key is a TEXT value and that the collation // sequence to compare them with is BINARY. -func vdbeSorterCompareText(tls *libc.TLS, pTask uintptr, pbKey2Cached uintptr, pKey1 uintptr, nKey1 int32, pKey2 uintptr, nKey2 int32) int32 { /* sqlite3.c:97309:12: */ +func vdbeSorterCompareText(tls *libc.TLS, pTask uintptr, pbKey2Cached uintptr, pKey1 uintptr, nKey1 int32, pKey2 uintptr, nKey2 int32) int32 { /* sqlite3.c:97322:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -77376,7 +77395,7 @@ func vdbeSorterCompareText(tls *libc.TLS, pTask uintptr, pbKey2Cached uintptr, p // A specially optimized version of vdbeSorterCompare() that assumes that // the first field of each key is an INTEGER value. -func vdbeSorterCompareInt(tls *libc.TLS, pTask uintptr, pbKey2Cached uintptr, pKey1 uintptr, nKey1 int32, pKey2 uintptr, nKey2 int32) int32 { /* sqlite3.c:97351:12: */ +func vdbeSorterCompareInt(tls *libc.TLS, pTask uintptr, pbKey2Cached uintptr, pKey1 uintptr, nKey1 int32, pKey2 uintptr, nKey2 int32) int32 { /* sqlite3.c:97364:12: */ var p1 uintptr = pKey1 var p2 uintptr = pKey2 var s1 int32 = int32(*(*U8)(unsafe.Pointer(p1 + 1))) // Left hand serial type @@ -77436,7 +77455,7 @@ func vdbeSorterCompareInt(tls *libc.TLS, pTask uintptr, pbKey2Cached uintptr, pK return res } -var aLen = [10]U8{U8(0), U8(1), U8(2), U8(3), U8(4), U8(6), U8(8), U8(0), U8(0), U8(0)} /* sqlite3.c:97370:21 */ +var aLen = [10]U8{U8(0), U8(1), U8(2), U8(3), U8(4), U8(6), U8(8), U8(0), U8(0), U8(0)} /* sqlite3.c:97383:21 */ // Initialize the temporary index cursor just opened as a sorter cursor. // @@ -77455,7 +77474,7 @@ var aLen = [10]U8{U8(0), U8(1), U8(2), U8(3), U8(4), U8(6), U8(8), U8(0), U8(0), // mode, but not in multi-threaded mode. // // SQLITE_OK is returned if successful, or an SQLite error code otherwise. -func Xsqlite3VdbeSorterInit(tls *libc.TLS, db uintptr, nField int32, pCsr uintptr) int32 { /* sqlite3.c:97434:20: */ +func Xsqlite3VdbeSorterInit(tls *libc.TLS, db uintptr, nField int32, pCsr uintptr) int32 { /* sqlite3.c:97447:20: */ var pgsz int32 // Page size of main database var i int32 // Used to iterate through aTask[] var pSorter uintptr // The new sorter @@ -77551,7 +77570,7 @@ func Xsqlite3VdbeSorterInit(tls *libc.TLS, db uintptr, nField int32, pCsr uintpt } // Free the list of sorted records starting at pRecord. -func vdbeSorterRecordFree(tls *libc.TLS, db uintptr, pRecord uintptr) { /* sqlite3.c:97540:13: */ +func vdbeSorterRecordFree(tls *libc.TLS, db uintptr, pRecord uintptr) { /* sqlite3.c:97553:13: */ var p uintptr var pNext uintptr for p = pRecord; p != 0; p = pNext { @@ -77562,7 +77581,7 @@ func vdbeSorterRecordFree(tls *libc.TLS, db uintptr, pRecord uintptr) { /* sqlit // Free all resources owned by the object indicated by argument pTask. All // fields of *pTask are zeroed before returning. -func vdbeSortSubtaskCleanup(tls *libc.TLS, db uintptr, pTask uintptr) { /* sqlite3.c:97553:13: */ +func vdbeSortSubtaskCleanup(tls *libc.TLS, db uintptr, pTask uintptr) { /* sqlite3.c:97566:13: */ Xsqlite3DbFree(tls, db, (*SortSubtask)(unsafe.Pointer(pTask)).FpUnpacked) // pTask->list.aMemory can only be non-zero if it was handed memory // from the main thread. That only occurs SQLITE_MAX_WORKER_THREADS>0 @@ -77582,7 +77601,7 @@ func vdbeSortSubtaskCleanup(tls *libc.TLS, db uintptr, pTask uintptr) { /* sqlit } // Join thread pTask->thread. -func vdbeSorterJoinThread(tls *libc.TLS, pTask uintptr) int32 { /* sqlite3.c:97619:12: */ +func vdbeSorterJoinThread(tls *libc.TLS, pTask uintptr) int32 { /* sqlite3.c:97632:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -77601,14 +77620,14 @@ func vdbeSorterJoinThread(tls *libc.TLS, pTask uintptr) int32 { /* sqlite3.c:976 } // Launch a background thread to run xTask(pIn). -func vdbeSorterCreateThread(tls *libc.TLS, pTask uintptr, xTask uintptr, pIn uintptr) int32 { /* sqlite3.c:97640:12: */ +func vdbeSorterCreateThread(tls *libc.TLS, pTask uintptr, xTask uintptr, pIn uintptr) int32 { /* sqlite3.c:97653:12: */ return Xsqlite3ThreadCreate(tls, pTask, xTask, pIn) } // Join all outstanding threads launched by SorterWrite() to create // level-0 PMAs. -func vdbeSorterJoinAll(tls *libc.TLS, pSorter uintptr, rcin int32) int32 { /* sqlite3.c:97653:12: */ +func vdbeSorterJoinAll(tls *libc.TLS, pSorter uintptr, rcin int32) int32 { /* sqlite3.c:97666:12: */ var rc int32 = rcin var i int32 @@ -77634,7 +77653,7 @@ func vdbeSorterJoinAll(tls *libc.TLS, pSorter uintptr, rcin int32) int32 { /* sq // // nReader is automatically rounded up to the next power of two. // nReader may not exceed SORTER_MAX_MERGE_COUNT even after rounding up. -func vdbeMergeEngineNew(tls *libc.TLS, nReader int32) uintptr { /* sqlite3.c:97683:20: */ +func vdbeMergeEngineNew(tls *libc.TLS, nReader int32) uintptr { /* sqlite3.c:97696:20: */ var N int32 = 2 // Smallest power of two >= nReader var nByte int32 // Total bytes of space to allocate var pNew uintptr // Pointer to allocated object to return @@ -77659,7 +77678,7 @@ func vdbeMergeEngineNew(tls *libc.TLS, nReader int32) uintptr { /* sqlite3.c:976 } // Free the MergeEngine object passed as the only argument. -func vdbeMergeEngineFree(tls *libc.TLS, pMerger uintptr) { /* sqlite3.c:97706:13: */ +func vdbeMergeEngineFree(tls *libc.TLS, pMerger uintptr) { /* sqlite3.c:97719:13: */ var i int32 if pMerger != 0 { for i = 0; i < (*MergeEngine)(unsafe.Pointer(pMerger)).FnTree; i++ { @@ -77671,7 +77690,7 @@ func vdbeMergeEngineFree(tls *libc.TLS, pMerger uintptr) { /* sqlite3.c:97706:13 // Free all resources associated with the IncrMerger object indicated by // the first argument. -func vdbeIncrFree(tls *libc.TLS, pIncr uintptr) { /* sqlite3.c:97720:13: */ +func vdbeIncrFree(tls *libc.TLS, pIncr uintptr) { /* sqlite3.c:97733:13: */ if pIncr != 0 { if (*IncrMerger)(unsafe.Pointer(pIncr)).FbUseThread != 0 { vdbeSorterJoinThread(tls, (*IncrMerger)(unsafe.Pointer(pIncr)).FpTask) @@ -77688,7 +77707,7 @@ func vdbeIncrFree(tls *libc.TLS, pIncr uintptr) { /* sqlite3.c:97720:13: */ } // Reset a sorting cursor back to its original empty state. -func Xsqlite3VdbeSorterReset(tls *libc.TLS, db uintptr, pSorter uintptr) { /* sqlite3.c:97737:21: */ +func Xsqlite3VdbeSorterReset(tls *libc.TLS, db uintptr, pSorter uintptr) { /* sqlite3.c:97750:21: */ var i int32 vdbeSorterJoinAll(tls, pSorter, SQLITE_OK) @@ -77717,7 +77736,7 @@ func Xsqlite3VdbeSorterReset(tls *libc.TLS, db uintptr, pSorter uintptr) { /* sq } // Free any cursor components allocated by sqlite3VdbeSorterXXX routines. -func Xsqlite3VdbeSorterClose(tls *libc.TLS, db uintptr, pCsr uintptr) { /* sqlite3.c:97770:21: */ +func Xsqlite3VdbeSorterClose(tls *libc.TLS, db uintptr, pCsr uintptr) { /* sqlite3.c:97783:21: */ var pSorter uintptr pSorter = *(*uintptr)(unsafe.Pointer(pCsr + 48)) @@ -77736,7 +77755,7 @@ func Xsqlite3VdbeSorterClose(tls *libc.TLS, db uintptr, pCsr uintptr) { /* sqlit // // Whether or not the file does end up memory mapped of course depends on // the specific VFS implementation. -func vdbeSorterExtendFile(tls *libc.TLS, db uintptr, pFd uintptr, nByte I64) { /* sqlite3.c:97792:13: */ +func vdbeSorterExtendFile(tls *libc.TLS, db uintptr, pFd uintptr, nByte I64) { /* sqlite3.c:97805:13: */ bp := tls.Alloc(24) defer tls.Free(24) *(*I64)(unsafe.Pointer(bp + 8)) = nByte @@ -77756,7 +77775,7 @@ func vdbeSorterExtendFile(tls *libc.TLS, db uintptr, pFd uintptr, nByte I64) { / // Allocate space for a file-handle and open a temporary file. If successful, // set *ppFd to point to the malloc'd file-handle and return SQLITE_OK. // Otherwise, set *ppFd to 0 and return an SQLite error code. -func vdbeSorterOpenTempFile(tls *libc.TLS, db uintptr, nExtend I64, ppFd uintptr) int32 { /* sqlite3.c:97811:12: */ +func vdbeSorterOpenTempFile(tls *libc.TLS, db uintptr, nExtend I64, ppFd uintptr) int32 { /* sqlite3.c:97824:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -77780,7 +77799,7 @@ func vdbeSorterOpenTempFile(tls *libc.TLS, db uintptr, nExtend I64, ppFd uintptr // If it has not already been allocated, allocate the UnpackedRecord // structure at pTask->pUnpacked. Return SQLITE_OK if successful (or // if no allocation was required), or SQLITE_NOMEM otherwise. -func vdbeSortAllocUnpacked(tls *libc.TLS, pTask uintptr) int32 { /* sqlite3.c:97838:12: */ +func vdbeSortAllocUnpacked(tls *libc.TLS, pTask uintptr) int32 { /* sqlite3.c:97851:12: */ if (*SortSubtask)(unsafe.Pointer(pTask)).FpUnpacked == uintptr(0) { (*SortSubtask)(unsafe.Pointer(pTask)).FpUnpacked = Xsqlite3VdbeAllocUnpackedRecord(tls, (*VdbeSorter)(unsafe.Pointer((*SortSubtask)(unsafe.Pointer(pTask)).FpSorter)).FpKeyInfo) if (*SortSubtask)(unsafe.Pointer(pTask)).FpUnpacked == uintptr(0) { @@ -77793,7 +77812,7 @@ func vdbeSortAllocUnpacked(tls *libc.TLS, pTask uintptr) int32 { /* sqlite3.c:97 } // Merge the two sorted lists p1 and p2 into a single list. -func vdbeSorterMerge(tls *libc.TLS, pTask uintptr, p1 uintptr, p2 uintptr) uintptr { /* sqlite3.c:97852:21: */ +func vdbeSorterMerge(tls *libc.TLS, pTask uintptr, p1 uintptr, p2 uintptr) uintptr { /* sqlite3.c:97865:21: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -77832,7 +77851,7 @@ func vdbeSorterMerge(tls *libc.TLS, pTask uintptr, p1 uintptr, p2 uintptr) uintp // Return the SorterCompare function to compare values collected by the // sorter object passed as the only argument. -func vdbeSorterGetCompare(tls *libc.TLS, p uintptr) SorterCompare { /* sqlite3.c:97894:22: */ +func vdbeSorterGetCompare(tls *libc.TLS, p uintptr) SorterCompare { /* sqlite3.c:97907:22: */ if int32((*VdbeSorter)(unsafe.Pointer(p)).FtypeMask) == SORTER_TYPE_INTEGER { return *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr, int32) int32 @@ -77850,7 +77869,7 @@ func vdbeSorterGetCompare(tls *libc.TLS, p uintptr) SorterCompare { /* sqlite3.c // Sort the linked list of records headed at pTask->pList. Return // SQLITE_OK if successful, or an SQLite error code (i.e. SQLITE_NOMEM) if // an error occurs. -func vdbeSorterSort(tls *libc.TLS, pTask uintptr, pList uintptr) int32 { /* sqlite3.c:97908:12: */ +func vdbeSorterSort(tls *libc.TLS, pTask uintptr, pList uintptr) int32 { /* sqlite3.c:97921:12: */ bp := tls.Alloc(512) defer tls.Free(512) @@ -77907,7 +77926,7 @@ func vdbeSorterSort(tls *libc.TLS, pTask uintptr, pList uintptr) int32 { /* sqli } // Initialize a PMA-writer object. -func vdbePmaWriterInit(tls *libc.TLS, pFd uintptr, p uintptr, nBuf int32, iStart I64) { /* sqlite3.c:97959:13: */ +func vdbePmaWriterInit(tls *libc.TLS, pFd uintptr, p uintptr, nBuf int32, iStart I64) { /* sqlite3.c:97972:13: */ libc.Xmemset(tls, p, 0, uint64(unsafe.Sizeof(PmaWriter{}))) (*PmaWriter)(unsafe.Pointer(p)).FaBuffer = Xsqlite3Malloc(tls, uint64(nBuf)) if !(int32((*PmaWriter)(unsafe.Pointer(p)).FaBuffer) != 0) { @@ -77922,7 +77941,7 @@ func vdbePmaWriterInit(tls *libc.TLS, pFd uintptr, p uintptr, nBuf int32, iStart // Write nData bytes of data to the PMA. Return SQLITE_OK // if successful, or an SQLite error code if an error occurs. -func vdbePmaWriteBlob(tls *libc.TLS, p uintptr, pData uintptr, nData int32) { /* sqlite3.c:97981:13: */ +func vdbePmaWriteBlob(tls *libc.TLS, p uintptr, pData uintptr, nData int32) { /* sqlite3.c:97994:13: */ var nRem int32 = nData for nRem > 0 && (*PmaWriter)(unsafe.Pointer(p)).FeFWErr == 0 { var nCopy int32 = nRem @@ -77951,7 +77970,7 @@ func vdbePmaWriteBlob(tls *libc.TLS, p uintptr, pData uintptr, nData int32) { /* // // Before returning, set *piEof to the offset immediately following the // last byte written to the file. -func vdbePmaWriterFinish(tls *libc.TLS, p uintptr, piEof uintptr) int32 { /* sqlite3.c:98014:12: */ +func vdbePmaWriterFinish(tls *libc.TLS, p uintptr, piEof uintptr) int32 { /* sqlite3.c:98027:12: */ var rc int32 if (*PmaWriter)(unsafe.Pointer(p)).FeFWErr == 0 && (*PmaWriter)(unsafe.Pointer(p)).FaBuffer != 0 && (*PmaWriter)(unsafe.Pointer(p)).FiBufEnd > (*PmaWriter)(unsafe.Pointer(p)).FiBufStart { (*PmaWriter)(unsafe.Pointer(p)).FeFWErr = Xsqlite3OsWrite(tls, (*PmaWriter)(unsafe.Pointer(p)).FpFd, @@ -77967,7 +77986,7 @@ func vdbePmaWriterFinish(tls *libc.TLS, p uintptr, piEof uintptr) int32 { /* sql // Write value iVal encoded as a varint to the PMA. Return // SQLITE_OK if successful, or an SQLite error code if an error occurs. -func vdbePmaWriteVarint(tls *libc.TLS, p uintptr, iVal U64) { /* sqlite3.c:98033:13: */ +func vdbePmaWriteVarint(tls *libc.TLS, p uintptr, iVal U64) { /* sqlite3.c:98046:13: */ bp := tls.Alloc(10) defer tls.Free(10) @@ -77990,7 +78009,7 @@ func vdbePmaWriteVarint(tls *libc.TLS, p uintptr, iVal U64) { /* sqlite3.c:98033 // * One or more records packed end-to-end in order of ascending keys. // Each record consists of a varint followed by a blob of data (the // key). The varint is the number of bytes in the blob of data. -func vdbeSorterListToPMA(tls *libc.TLS, pTask uintptr, pList uintptr) int32 { /* sqlite3.c:98054:12: */ +func vdbeSorterListToPMA(tls *libc.TLS, pTask uintptr, pList uintptr) int32 { /* sqlite3.c:98067:12: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -78045,7 +78064,7 @@ func vdbeSorterListToPMA(tls *libc.TLS, pTask uintptr, pList uintptr) int32 { /* // the MergeEngine has reached the end of all its inputs. // // Return SQLITE_OK if successful or an error code if an error occurs. -func vdbeMergeEngineStep(tls *libc.TLS, pMerger uintptr, pbEof uintptr) int32 { /* sqlite3.c:98118:12: */ +func vdbeMergeEngineStep(tls *libc.TLS, pMerger uintptr, pbEof uintptr) int32 { /* sqlite3.c:98131:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -78121,7 +78140,7 @@ func vdbeMergeEngineStep(tls *libc.TLS, pMerger uintptr, pbEof uintptr) int32 { } // The main routine for background threads that write level-0 PMAs. -func vdbeSorterFlushThread(tls *libc.TLS, pCtx uintptr) uintptr { /* sqlite3.c:98189:13: */ +func vdbeSorterFlushThread(tls *libc.TLS, pCtx uintptr) uintptr { /* sqlite3.c:98202:13: */ var pTask uintptr = pCtx var rc int32 // Return code @@ -78132,7 +78151,7 @@ func vdbeSorterFlushThread(tls *libc.TLS, pCtx uintptr) uintptr { /* sqlite3.c:9 // Flush the current contents of VdbeSorter.list to a new PMA, possibly // using a background thread. -func vdbeSorterFlushPMA(tls *libc.TLS, pSorter uintptr) int32 { /* sqlite3.c:98203:12: */ +func vdbeSorterFlushPMA(tls *libc.TLS, pSorter uintptr) int32 { /* sqlite3.c:98216:12: */ var rc int32 = SQLITE_OK var i int32 var pTask uintptr = uintptr(0) // Thread context used to create new PMA @@ -78196,7 +78215,7 @@ func vdbeSorterFlushPMA(tls *libc.TLS, pSorter uintptr) int32 { /* sqlite3.c:982 } // Add a record to the sorter. -func Xsqlite3VdbeSorterWrite(tls *libc.TLS, pCsr uintptr, pVal uintptr) int32 { /* sqlite3.c:98273:20: */ +func Xsqlite3VdbeSorterWrite(tls *libc.TLS, pCsr uintptr, pVal uintptr) int32 { /* sqlite3.c:98286:20: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -78312,7 +78331,7 @@ func Xsqlite3VdbeSorterWrite(tls *libc.TLS, pCsr uintptr, pVal uintptr) int32 { // Read keys from pIncr->pMerger and populate pIncr->aFile[1]. The format // of the data stored in aFile[1] is the same as that used by regular PMAs, // except that the number-of-bytes varint is omitted from the start. -func vdbeIncrPopulate(tls *libc.TLS, pIncr uintptr) int32 { /* sqlite3.c:98385:12: */ +func vdbeIncrPopulate(tls *libc.TLS, pIncr uintptr) int32 { /* sqlite3.c:98398:12: */ bp := tls.Alloc(52) defer tls.Free(52) @@ -78358,7 +78377,7 @@ func vdbeIncrPopulate(tls *libc.TLS, pIncr uintptr) int32 { /* sqlite3.c:98385:1 // The main routine for background threads that populate aFile[1] of // multi-threaded IncrMerger objects. -func vdbeIncrPopulateThread(tls *libc.TLS, pCtx uintptr) uintptr { /* sqlite3.c:98427:13: */ +func vdbeIncrPopulateThread(tls *libc.TLS, pCtx uintptr) uintptr { /* sqlite3.c:98440:13: */ var pIncr uintptr = pCtx var pRet uintptr = uintptr(int64(vdbeIncrPopulate(tls, pIncr))) (*SortSubtask)(unsafe.Pointer((*IncrMerger)(unsafe.Pointer(pIncr)).FpTask)).FbDone = 1 @@ -78366,7 +78385,7 @@ func vdbeIncrPopulateThread(tls *libc.TLS, pCtx uintptr) uintptr { /* sqlite3.c: } // Launch a background thread to populate aFile[1] of pIncr. -func vdbeIncrBgPopulate(tls *libc.TLS, pIncr uintptr) int32 { /* sqlite3.c:98437:12: */ +func vdbeIncrBgPopulate(tls *libc.TLS, pIncr uintptr) int32 { /* sqlite3.c:98450:12: */ var p uintptr = pIncr return vdbeSorterCreateThread(tls, (*IncrMerger)(unsafe.Pointer(pIncr)).FpTask, *(*uintptr)(unsafe.Pointer(&struct { @@ -78389,7 +78408,7 @@ func vdbeIncrBgPopulate(tls *libc.TLS, pIncr uintptr) int32 { /* sqlite3.c:98437 // to populate the new aFile[1]. // // SQLITE_OK is returned on success, or an SQLite error code otherwise. -func vdbeIncrSwap(tls *libc.TLS, pIncr uintptr) int32 { /* sqlite3.c:98461:12: */ +func vdbeIncrSwap(tls *libc.TLS, pIncr uintptr) int32 { /* sqlite3.c:98474:12: */ var rc int32 = SQLITE_OK if (*IncrMerger)(unsafe.Pointer(pIncr)).FbUseThread != 0 { @@ -78423,7 +78442,7 @@ func vdbeIncrSwap(tls *libc.TLS, pIncr uintptr) int32 { /* sqlite3.c:98461:12: * // // If an OOM condition is encountered, return NULL. In this case free the // pMerger argument before returning. -func vdbeIncrMergerNew(tls *libc.TLS, pTask uintptr, pMerger uintptr, ppOut uintptr) int32 { /* sqlite3.c:98500:12: */ +func vdbeIncrMergerNew(tls *libc.TLS, pTask uintptr, pMerger uintptr, ppOut uintptr) int32 { /* sqlite3.c:98513:12: */ var rc int32 = SQLITE_OK var pIncr uintptr = libc.AssignPtrUintptr(ppOut, func() uintptr { if Xsqlite3FaultSim(tls, 100) != 0 { @@ -78450,7 +78469,7 @@ func vdbeIncrMergerNew(tls *libc.TLS, pTask uintptr, pMerger uintptr, ppOut uint } // Set the "use-threads" flag on object pIncr. -func vdbeIncrMergerSetThreads(tls *libc.TLS, pIncr uintptr) { /* sqlite3.c:98525:13: */ +func vdbeIncrMergerSetThreads(tls *libc.TLS, pIncr uintptr) { /* sqlite3.c:98538:13: */ (*IncrMerger)(unsafe.Pointer(pIncr)).FbUseThread = 1 *(*I64)(unsafe.Pointer((*IncrMerger)(unsafe.Pointer(pIncr)).FpTask + 88 + 8)) -= I64((*IncrMerger)(unsafe.Pointer(pIncr)).FmxSz) } @@ -78458,7 +78477,7 @@ func vdbeIncrMergerSetThreads(tls *libc.TLS, pIncr uintptr) { /* sqlite3.c:98525 // Recompute pMerger->aTree[iOut] by comparing the next keys on the // two PmaReaders that feed that entry. Neither of the PmaReaders // are advanced. This routine merely does the comparison. -func vdbeMergeEngineCompare(tls *libc.TLS, pMerger uintptr, iOut int32) { /* sqlite3.c:98538:13: */ +func vdbeMergeEngineCompare(tls *libc.TLS, pMerger uintptr, iOut int32) { /* sqlite3.c:98551:13: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -78518,7 +78537,7 @@ func vdbeMergeEngineCompare(tls *libc.TLS, pMerger uintptr, iOut int32) { /* sql // to pMerger. // // SQLITE_OK is returned if successful, or an SQLite error code otherwise. -func vdbeMergeEngineInit(tls *libc.TLS, pTask uintptr, pMerger uintptr, eMode int32) int32 { /* sqlite3.c:98620:12: */ +func vdbeMergeEngineInit(tls *libc.TLS, pTask uintptr, pMerger uintptr, eMode int32) int32 { /* sqlite3.c:98633:12: */ var rc int32 = SQLITE_OK // Return code var i int32 // For looping over PmaReader objects var nTree int32 // Number of subtrees to merge @@ -78588,7 +78607,7 @@ func vdbeMergeEngineInit(tls *libc.TLS, pTask uintptr, pMerger uintptr, eMode in // the current PmaReader set to point to the first key in its range. // // SQLITE_OK is returned if successful, or an SQLite error code otherwise. -func vdbePmaReaderIncrMergeInit(tls *libc.TLS, pReadr uintptr, eMode int32) int32 { /* sqlite3.c:98696:12: */ +func vdbePmaReaderIncrMergeInit(tls *libc.TLS, pReadr uintptr, eMode int32) int32 { /* sqlite3.c:98709:12: */ var rc int32 = SQLITE_OK var pIncr uintptr = (*PmaReader)(unsafe.Pointer(pReadr)).FpIncr var pTask uintptr = (*IncrMerger)(unsafe.Pointer(pIncr)).FpTask @@ -78645,7 +78664,7 @@ func vdbePmaReaderIncrMergeInit(tls *libc.TLS, pReadr uintptr, eMode int32) int3 // The main routine for vdbePmaReaderIncrMergeInit() operations run in // background threads. -func vdbePmaReaderBgIncrInit(tls *libc.TLS, pCtx uintptr) uintptr { /* sqlite3.c:98763:13: */ +func vdbePmaReaderBgIncrInit(tls *libc.TLS, pCtx uintptr) uintptr { /* sqlite3.c:98776:13: */ var pReader uintptr = pCtx var pRet uintptr = uintptr(int64(vdbePmaReaderIncrMergeInit(tls, pReader, INCRINIT_TASK))) (*SortSubtask)(unsafe.Pointer((*IncrMerger)(unsafe.Pointer((*PmaReader)(unsafe.Pointer(pReader)).FpIncr)).FpTask)).FbDone = 1 @@ -78661,7 +78680,7 @@ func vdbePmaReaderBgIncrInit(tls *libc.TLS, pCtx uintptr) uintptr { /* sqlite3.c // then a background thread is launched to call vdbePmaReaderIncrMergeInit(). // Or, if the IncrMerger is single threaded, the same function is called // using the current thread. -func vdbePmaReaderIncrInit(tls *libc.TLS, pReadr uintptr, eMode int32) int32 { /* sqlite3.c:98784:12: */ +func vdbePmaReaderIncrInit(tls *libc.TLS, pReadr uintptr, eMode int32) int32 { /* sqlite3.c:98797:12: */ var pIncr uintptr = (*PmaReader)(unsafe.Pointer(pReadr)).FpIncr // Incremental merger var rc int32 = SQLITE_OK // Return code if pIncr != 0 { @@ -78688,7 +78707,7 @@ func vdbePmaReaderIncrInit(tls *libc.TLS, pReadr uintptr, eMode int32) int32 { / // set to the offset immediately following the last byte of the last // PMA before returning. If an error does occur, then the final value of // *piOffset is undefined. -func vdbeMergeEngineLevel0(tls *libc.TLS, pTask uintptr, nPMA int32, piOffset uintptr, ppOut uintptr) int32 { /* sqlite3.c:98814:12: */ +func vdbeMergeEngineLevel0(tls *libc.TLS, pTask uintptr, nPMA int32, piOffset uintptr, ppOut uintptr) int32 { /* sqlite3.c:98827:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -78725,7 +78744,7 @@ func vdbeMergeEngineLevel0(tls *libc.TLS, pTask uintptr, nPMA int32, piOffset ui // nPMA<=16 -> TreeDepth() == 0 // nPMA<=256 -> TreeDepth() == 1 // nPMA<=65536 -> TreeDepth() == 2 -func vdbeSorterTreeDepth(tls *libc.TLS, nPMA int32) int32 { /* sqlite3.c:98853:12: */ +func vdbeSorterTreeDepth(tls *libc.TLS, nPMA int32) int32 { /* sqlite3.c:98866:12: */ var nDepth int32 = 0 var nDiv I64 = int64(SORTER_MAX_MERGE_COUNT) for nDiv < I64(nPMA) { @@ -78741,7 +78760,7 @@ func vdbeSorterTreeDepth(tls *libc.TLS, nPMA int32) int32 { /* sqlite3.c:98853:1 // // If successful, SQLITE_OK is returned. If an error occurs, an SQLite error // code is returned and pLeaf is freed. -func vdbeSorterAddToTree(tls *libc.TLS, pTask uintptr, nDepth int32, iSeq int32, pRoot uintptr, pLeaf uintptr) int32 { /* sqlite3.c:98871:12: */ +func vdbeSorterAddToTree(tls *libc.TLS, pTask uintptr, nDepth int32, iSeq int32, pRoot uintptr, pLeaf uintptr) int32 { /* sqlite3.c:98884:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -78792,7 +78811,7 @@ func vdbeSorterAddToTree(tls *libc.TLS, pTask uintptr, nDepth int32, iSeq int32, // MergeEngine object at the root of the tree before returning. Or, if an // error occurs, an SQLite error code is returned and the final value // of *ppOut is undefined. -func vdbeSorterMergeTreeBuild(tls *libc.TLS, pSorter uintptr, ppOut uintptr) int32 { /* sqlite3.c:98927:12: */ +func vdbeSorterMergeTreeBuild(tls *libc.TLS, pSorter uintptr, ppOut uintptr) int32 { /* sqlite3.c:98940:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -78873,7 +78892,7 @@ func vdbeSorterMergeTreeBuild(tls *libc.TLS, pSorter uintptr, ppOut uintptr) int // all records stored in the sorter. // // SQLITE_OK is returned if successful, or an SQLite error code otherwise. -func vdbeSorterSetupMerge(tls *libc.TLS, pSorter uintptr) int32 { /* sqlite3.c:99006:12: */ +func vdbeSorterSetupMerge(tls *libc.TLS, pSorter uintptr) int32 { /* sqlite3.c:99019:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -78948,7 +78967,7 @@ func vdbeSorterSetupMerge(tls *libc.TLS, pSorter uintptr) int32 { /* sqlite3.c:9 // Once the sorter has been populated by calls to sqlite3VdbeSorterWrite, // this function is called to prepare for iterating through the records // in sorted order. -func Xsqlite3VdbeSorterRewind(tls *libc.TLS, pCsr uintptr, pbEof uintptr) int32 { /* sqlite3.c:99088:20: */ +func Xsqlite3VdbeSorterRewind(tls *libc.TLS, pCsr uintptr, pbEof uintptr) int32 { /* sqlite3.c:99101:20: */ var pSorter uintptr var rc int32 = SQLITE_OK // Return code @@ -78993,7 +79012,7 @@ func Xsqlite3VdbeSorterRewind(tls *libc.TLS, pCsr uintptr, pbEof uintptr) int32 // SQLITE_OK success // SQLITE_DONE end of data // otherwise some kind of error. -func Xsqlite3VdbeSorterNext(tls *libc.TLS, db uintptr, pCsr uintptr) int32 { /* sqlite3.c:99140:20: */ +func Xsqlite3VdbeSorterNext(tls *libc.TLS, db uintptr, pCsr uintptr) int32 { /* sqlite3.c:99153:20: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -79035,7 +79054,7 @@ func Xsqlite3VdbeSorterNext(tls *libc.TLS, db uintptr, pCsr uintptr) int32 { /* // Return a pointer to a buffer owned by the sorter that contains the // current key. -func vdbeSorterRowkey(tls *libc.TLS, pSorter uintptr, pnKey uintptr) uintptr { /* sqlite3.c:99178:13: */ +func vdbeSorterRowkey(tls *libc.TLS, pSorter uintptr, pnKey uintptr) uintptr { /* sqlite3.c:99191:13: */ var pKey uintptr if (*VdbeSorter)(unsafe.Pointer(pSorter)).FbUsePMA != 0 { var pReader uintptr @@ -79054,7 +79073,7 @@ func vdbeSorterRowkey(tls *libc.TLS, pSorter uintptr, pnKey uintptr) uintptr { / } // Copy the current sorter key into the memory cell pOut. -func Xsqlite3VdbeSorterRowkey(tls *libc.TLS, pCsr uintptr, pOut uintptr) int32 { /* sqlite3.c:99205:20: */ +func Xsqlite3VdbeSorterRowkey(tls *libc.TLS, pCsr uintptr, pOut uintptr) int32 { /* sqlite3.c:99218:20: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -79089,7 +79108,7 @@ func Xsqlite3VdbeSorterRowkey(tls *libc.TLS, pCsr uintptr, pOut uintptr) int32 { // // This routine forms the core of the OP_SorterCompare opcode, which in // turn is used to verify uniqueness when constructing a UNIQUE INDEX. -func Xsqlite3VdbeSorterCompare(tls *libc.TLS, pCsr uintptr, pVal uintptr, nKeyCol int32, pRes uintptr) int32 { /* sqlite3.c:99238:20: */ +func Xsqlite3VdbeSorterCompare(tls *libc.TLS, pCsr uintptr, pVal uintptr, nKeyCol int32, pRes uintptr) int32 { /* sqlite3.c:99251:20: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -79181,7 +79200,7 @@ type MemJournal1 = struct { F__ccgo_pad1 [4]byte FpVfs uintptr FzJournal uintptr -} /* sqlite3.c:99731:9 */ +} /* sqlite3.c:99744:9 */ //************* End of vdbesort.c ******************************************* //************* Begin file vdbevtab.c *************************************** @@ -79228,23 +79247,23 @@ type MemJournal1 = struct { // #include "sqliteInt.h" // Forward references to internal structures -type MemJournal = MemJournal1 /* sqlite3.c:99731:27 */ +type MemJournal = MemJournal1 /* sqlite3.c:99744:27 */ type FilePoint1 = struct { FiOffset Sqlite3_int64 FpChunk uintptr -} /* sqlite3.c:99731:9 */ +} /* sqlite3.c:99744:9 */ -type FilePoint = FilePoint1 /* sqlite3.c:99732:26 */ +type FilePoint = FilePoint1 /* sqlite3.c:99745:26 */ type FileChunk1 = struct { FpNext uintptr FzChunk [8]U8 -} /* sqlite3.c:99731:9 */ +} /* sqlite3.c:99744:9 */ -type FileChunk = FileChunk1 /* sqlite3.c:99733:26 */ +type FileChunk = FileChunk1 /* sqlite3.c:99746:26 */ // Read data from the in-memory journal file. This is the implementation // of the sqlite3_vfs.xRead method. -func memjrnlRead(tls *libc.TLS, pJfd uintptr, zBuf uintptr, iAmt int32, iOfst Sqlite_int64) int32 { /* sqlite3.c:99788:12: */ +func memjrnlRead(tls *libc.TLS, pJfd uintptr, zBuf uintptr, iAmt int32, iOfst Sqlite_int64) int32 { /* sqlite3.c:99801:12: */ var p uintptr = pJfd var zOut uintptr = zBuf var nRead int32 = iAmt @@ -79291,7 +79310,7 @@ func memjrnlRead(tls *libc.TLS, pJfd uintptr, zBuf uintptr, iAmt int32, iOfst Sq } // Free the list of FileChunk structures headed at MemJournal.pFirst. -func memjrnlFreeChunks(tls *libc.TLS, pFirst uintptr) { /* sqlite3.c:99835:13: */ +func memjrnlFreeChunks(tls *libc.TLS, pFirst uintptr) { /* sqlite3.c:99848:13: */ var pIter uintptr var pNext uintptr for pIter = pFirst; pIter != 0; pIter = pNext { @@ -79301,7 +79320,7 @@ func memjrnlFreeChunks(tls *libc.TLS, pFirst uintptr) { /* sqlite3.c:99835:13: * } // Flush the contents of memory to a real file on disk. -func memjrnlCreateFile(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:99847:12: */ +func memjrnlCreateFile(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:99860:12: */ var rc int32 var pReal uintptr = p var copy = *(*MemJournal)(unsafe.Pointer(p)) @@ -79339,7 +79358,7 @@ func memjrnlCreateFile(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:99847:12: } // Write data to the file. -func memjrnlWrite(tls *libc.TLS, pJfd uintptr, zBuf uintptr, iAmt int32, iOfst Sqlite_int64) int32 { /* sqlite3.c:99889:12: */ +func memjrnlWrite(tls *libc.TLS, pJfd uintptr, zBuf uintptr, iAmt int32, iOfst Sqlite_int64) int32 { /* sqlite3.c:99902:12: */ var p uintptr = pJfd var nWrite int32 = iAmt var zWrite uintptr = zBuf @@ -79405,7 +79424,7 @@ func memjrnlWrite(tls *libc.TLS, pJfd uintptr, zBuf uintptr, iAmt int32, iOfst S } // Truncate the in-memory file. -func memjrnlTruncate(tls *libc.TLS, pJfd uintptr, size Sqlite_int64) int32 { /* sqlite3.c:99962:12: */ +func memjrnlTruncate(tls *libc.TLS, pJfd uintptr, size Sqlite_int64) int32 { /* sqlite3.c:99975:12: */ var p uintptr = pJfd if size < (*MemJournal)(unsafe.Pointer(p)).Fendpoint.FiOffset { @@ -79433,7 +79452,7 @@ func memjrnlTruncate(tls *libc.TLS, pJfd uintptr, size Sqlite_int64) int32 { /* } // Close the file. -func memjrnlClose(tls *libc.TLS, pJfd uintptr) int32 { /* sqlite3.c:99992:12: */ +func memjrnlClose(tls *libc.TLS, pJfd uintptr) int32 { /* sqlite3.c:100005:12: */ var p uintptr = pJfd memjrnlFreeChunks(tls, (*MemJournal)(unsafe.Pointer(p)).FpFirst) return SQLITE_OK @@ -79443,14 +79462,14 @@ func memjrnlClose(tls *libc.TLS, pJfd uintptr) int32 { /* sqlite3.c:99992:12: */ // // If the real file has been created, call its xSync method. Otherwise, // syncing an in-memory journal is a no-op. -func memjrnlSync(tls *libc.TLS, pJfd uintptr, flags int32) int32 { /* sqlite3.c:100004:12: */ +func memjrnlSync(tls *libc.TLS, pJfd uintptr, flags int32) int32 { /* sqlite3.c:100017:12: */ _ = pJfd _ = flags return SQLITE_OK } // Query the size of the file in bytes. -func memjrnlFileSize(tls *libc.TLS, pJfd uintptr, pSize uintptr) int32 { /* sqlite3.c:100012:12: */ +func memjrnlFileSize(tls *libc.TLS, pJfd uintptr, pSize uintptr) int32 { /* sqlite3.c:100025:12: */ var p uintptr = pJfd *(*Sqlite_int64)(unsafe.Pointer(pSize)) = (*MemJournal)(unsafe.Pointer(p)).Fendpoint.FiOffset return SQLITE_OK @@ -79465,7 +79484,7 @@ var sMemJournalMethods = sqlite3_io_methods{ FxTruncate: 0, // xTruncate FxSync: 0, // xSync FxFileSize: 0, // xUnfetch -} /* sqlite3.c:100021:40 */ +} /* sqlite3.c:100034:40 */ // Open a journal file. // @@ -79477,7 +79496,7 @@ var sMemJournalMethods = sqlite3_io_methods{ // but may be flushed to disk later on. In this case the journal file is // flushed to disk either when it grows larger than nSpill bytes in size, // or when sqlite3JournalCreate() is called. -func Xsqlite3JournalOpen(tls *libc.TLS, pVfs uintptr, zName uintptr, pJfd uintptr, flags int32, nSpill int32) int32 { /* sqlite3.c:100055:20: */ +func Xsqlite3JournalOpen(tls *libc.TLS, pVfs uintptr, zName uintptr, pJfd uintptr, flags int32, nSpill int32) int32 { /* sqlite3.c:100068:20: */ var p uintptr = pJfd // Zero the file-handle object. If nSpill was passed zero, initialize @@ -79505,20 +79524,20 @@ func Xsqlite3JournalOpen(tls *libc.TLS, pVfs uintptr, zName uintptr, pJfd uintpt } // Open an in-memory journal file. -func Xsqlite3MemJournalOpen(tls *libc.TLS, pJfd uintptr) { /* sqlite3.c:100091:21: */ +func Xsqlite3MemJournalOpen(tls *libc.TLS, pJfd uintptr) { /* sqlite3.c:100104:21: */ Xsqlite3JournalOpen(tls, uintptr(0), uintptr(0), pJfd, 0, -1) } // The file-handle passed as the only argument is open on a journal file. // Return true if this "journal file" is currently stored in heap memory, // or false otherwise. -func Xsqlite3JournalIsInMemory(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:100130:20: */ +func Xsqlite3JournalIsInMemory(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:100143:20: */ return libc.Bool32((*Sqlite3_file)(unsafe.Pointer(p)).FpMethods == uintptr(unsafe.Pointer(&sMemJournalMethods))) } // Return the number of bytes required to store a JournalFile that uses vfs // pVfs to create the underlying on-disk files. -func Xsqlite3JournalSize(tls *libc.TLS, pVfs uintptr) int32 { /* sqlite3.c:100138:20: */ +func Xsqlite3JournalSize(tls *libc.TLS, pVfs uintptr) int32 { /* sqlite3.c:100151:20: */ return func() int32 { if (*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FszOsFile > int32(unsafe.Sizeof(MemJournal{})) { return (*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FszOsFile @@ -79547,7 +79566,7 @@ func Xsqlite3JournalSize(tls *libc.TLS, pVfs uintptr) int32 { /* sqlite3.c:10013 // Walk all expressions linked into the list of Window objects passed // as the second argument. -func walkWindowList(tls *libc.TLS, pWalker uintptr, pList uintptr, bOneOnly int32) int32 { /* sqlite3.c:100168:12: */ +func walkWindowList(tls *libc.TLS, pWalker uintptr, pList uintptr, bOneOnly int32) int32 { /* sqlite3.c:100181:12: */ var pWin uintptr for pWin = pList; pWin != 0; pWin = (*Window)(unsafe.Pointer(pWin)).FpNextWin { var rc int32 @@ -79595,7 +79614,7 @@ func walkWindowList(tls *libc.TLS, pWalker uintptr, pList uintptr, bOneOnly int3 // // The return value from this routine is WRC_Abort to abandon the tree walk // and WRC_Continue to continue. -func walkExpr(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:100207:28: */ +func walkExpr(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:100220:28: */ var rc int32 for 1 != 0 { @@ -79637,7 +79656,7 @@ func walkExpr(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3. return WRC_Continue } -func Xsqlite3WalkExpr(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:100239:20: */ +func Xsqlite3WalkExpr(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:100252:20: */ if pExpr != 0 { return walkExpr(tls, pWalker, pExpr) } @@ -79646,7 +79665,7 @@ func Xsqlite3WalkExpr(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* // Call sqlite3WalkExpr() for every expression in list p or until // an abort request is seen. -func Xsqlite3WalkExprList(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sqlite3.c:100247:20: */ +func Xsqlite3WalkExprList(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sqlite3.c:100260:20: */ var i int32 var pItem uintptr if p != 0 { @@ -79675,7 +79694,7 @@ func Xsqlite3WalkExprList(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* // This is a no-op callback for Walker->xSelectCallback2. If this // callback is set, then the Select->pWinDefn list is traversed. -func Xsqlite3WalkWinDefnDummyCallback(tls *libc.TLS, pWalker uintptr, p uintptr) { /* sqlite3.c:100262:21: */ +func Xsqlite3WalkWinDefnDummyCallback(tls *libc.TLS, pWalker uintptr, p uintptr) { /* sqlite3.c:100275:21: */ _ = pWalker _ = p // No-op @@ -79685,7 +79704,7 @@ func Xsqlite3WalkWinDefnDummyCallback(tls *libc.TLS, pWalker uintptr, p uintptr) // not invoke the SELECT callback on p, but do (of course) invoke // any expr callbacks and SELECT callbacks that come from subqueries. // Return WRC_Abort or WRC_Continue. -func Xsqlite3WalkSelectExpr(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sqlite3.c:100274:20: */ +func Xsqlite3WalkSelectExpr(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sqlite3.c:100287:20: */ if Xsqlite3WalkExprList(tls, pWalker, (*Select)(unsafe.Pointer(p)).FpEList) != 0 { return WRC_Abort } @@ -79727,7 +79746,7 @@ func Xsqlite3WalkSelectExpr(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { / // callback on p, but do invoke it on each FROM clause subquery // and on any subqueries further down in the tree. Return // WRC_Abort or WRC_Continue; -func Xsqlite3WalkSelectFrom(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sqlite3.c:100307:20: */ +func Xsqlite3WalkSelectFrom(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sqlite3.c:100320:20: */ var pSrc uintptr var i int32 var pItem uintptr @@ -79776,7 +79795,7 @@ func Xsqlite3WalkSelectFrom(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { / // // If the Walker does not have an xSelectCallback() then this routine // is a no-op returning WRC_Continue. -func Xsqlite3WalkSelect(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sqlite3.c:100345:20: */ +func Xsqlite3WalkSelect(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sqlite3.c:100358:20: */ var rc int32 if p == uintptr(0) { return WRC_Continue @@ -79807,13 +79826,13 @@ func Xsqlite3WalkSelect(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sq // Increase the walkerDepth when entering a subquery, and // descrease when leaving the subquery. -func Xsqlite3WalkerDepthIncrease(tls *libc.TLS, pWalker uintptr, pSelect uintptr) int32 { /* sqlite3.c:100368:20: */ +func Xsqlite3WalkerDepthIncrease(tls *libc.TLS, pWalker uintptr, pSelect uintptr) int32 { /* sqlite3.c:100381:20: */ _ = pSelect (*Walker)(unsafe.Pointer(pWalker)).FwalkerDepth++ return WRC_Continue } -func Xsqlite3WalkerDepthDecrease(tls *libc.TLS, pWalker uintptr, pSelect uintptr) { /* sqlite3.c:100373:21: */ +func Xsqlite3WalkerDepthDecrease(tls *libc.TLS, pWalker uintptr, pSelect uintptr) { /* sqlite3.c:100386:21: */ _ = pSelect (*Walker)(unsafe.Pointer(pWalker)).FwalkerDepth-- } @@ -79825,7 +79844,7 @@ func Xsqlite3WalkerDepthDecrease(tls *libc.TLS, pWalker uintptr, pSelect uintptr // when this routine is used for Walker.xExprCallback then // Walker.xSelectCallback is set to do something useful for every // subquery in the parser tree. -func Xsqlite3ExprWalkNoop(tls *libc.TLS, NotUsed uintptr, NotUsed2 uintptr) int32 { /* sqlite3.c:100388:20: */ +func Xsqlite3ExprWalkNoop(tls *libc.TLS, NotUsed uintptr, NotUsed2 uintptr) int32 { /* sqlite3.c:100401:20: */ _ = NotUsed _ = NotUsed2 return WRC_Continue @@ -79833,7 +79852,7 @@ func Xsqlite3ExprWalkNoop(tls *libc.TLS, NotUsed uintptr, NotUsed2 uintptr) int3 // No-op routine for the parse-tree walker for SELECT statements. // subquery in the parser tree. -func Xsqlite3SelectWalkNoop(tls *libc.TLS, NotUsed uintptr, NotUsed2 uintptr) int32 { /* sqlite3.c:100397:20: */ +func Xsqlite3SelectWalkNoop(tls *libc.TLS, NotUsed uintptr, NotUsed2 uintptr) int32 { /* sqlite3.c:100410:20: */ _ = NotUsed _ = NotUsed2 return WRC_Continue @@ -79868,14 +79887,14 @@ func Xsqlite3SelectWalkNoop(tls *libc.TLS, NotUsed uintptr, NotUsed2 uintptr) in // is a helper function - a callback for the tree walker. // // See also the sqlite3WindowExtraAggFuncDepth() routine in window.c -func incrAggDepth(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:100438:12: */ +func incrAggDepth(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:100451:12: */ if int32((*Expr)(unsafe.Pointer(pExpr)).Fop) == TK_AGG_FUNCTION { *(*U8)(unsafe.Pointer(pExpr + 2)) += U8(*(*int32)(unsafe.Pointer(pWalker + 40))) } return WRC_Continue } -func incrAggFunctionDepth(tls *libc.TLS, pExpr uintptr, N int32) { /* sqlite3.c:100442:13: */ +func incrAggFunctionDepth(tls *libc.TLS, pExpr uintptr, N int32) { /* sqlite3.c:100455:13: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -79908,7 +79927,7 @@ func incrAggFunctionDepth(tls *libc.TLS, pExpr uintptr, N int32) { /* sqlite3.c: // zero but it might be more if the alias is contained within a subquery // of the original expression. The Expr.op2 field of TK_AGG_FUNCTION // structures must be increased by the nSubquery amount. -func resolveAlias(tls *libc.TLS, pParse uintptr, pEList uintptr, iCol int32, pExpr uintptr, nSubquery int32) { /* sqlite3.c:100471:13: */ +func resolveAlias(tls *libc.TLS, pParse uintptr, pEList uintptr, iCol int32, pExpr uintptr, nSubquery int32) { /* sqlite3.c:100484:13: */ var pOrig uintptr // The iCol-th column of the result set var pDup uintptr // Copy of pOrig var db uintptr // The database connection @@ -79954,7 +79973,7 @@ func resolveAlias(tls *libc.TLS, pParse uintptr, pEList uintptr, iCol int32, pEx // // Return FALSE if the USING clause is NULL or if it does not contain // zCol. -func nameInUsingClause(tls *libc.TLS, pUsing uintptr, zCol uintptr) int32 { /* sqlite3.c:100528:12: */ +func nameInUsingClause(tls *libc.TLS, pUsing uintptr, zCol uintptr) int32 { /* sqlite3.c:100541:12: */ if pUsing != 0 { var k int32 for k = 0; k < (*IdList)(unsafe.Pointer(pUsing)).FnId; k++ { @@ -79971,7 +79990,7 @@ func nameInUsingClause(tls *libc.TLS, pUsing uintptr, zCol uintptr) int32 { /* s // Check to see if the zSpan given to this routine matches the zDb, zTab, // and zCol. If any of zDb, zTab, and zCol are NULL then those fields will // match anything. -func Xsqlite3MatchEName(tls *libc.TLS, pItem uintptr, zCol uintptr, zTab uintptr, zDb uintptr) int32 { /* sqlite3.c:100545:20: */ +func Xsqlite3MatchEName(tls *libc.TLS, pItem uintptr, zCol uintptr, zTab uintptr, zDb uintptr) int32 { /* sqlite3.c:100558:20: */ var n int32 var zSpan uintptr if int32(*(*uint8)(unsafe.Pointer(pItem + 20))&0x3>>0) != ENAME_TAB { @@ -79997,7 +80016,7 @@ func Xsqlite3MatchEName(tls *libc.TLS, pItem uintptr, zCol uintptr, zTab uintptr } // Return TRUE if the double-quoted string mis-feature should be supported. -func areDoubleQuotedStringsEnabled(tls *libc.TLS, db uintptr, pTopNC uintptr) int32 { /* sqlite3.c:100574:12: */ +func areDoubleQuotedStringsEnabled(tls *libc.TLS, db uintptr, pTopNC uintptr) int32 { /* sqlite3.c:100587:12: */ if (*Sqlite3)(unsafe.Pointer(db)).Finit.Fbusy != 0 { return 1 } // Always support for legacy schemas @@ -80016,7 +80035,7 @@ func areDoubleQuotedStringsEnabled(tls *libc.TLS, db uintptr, pTopNC uintptr) in // The argument is guaranteed to be a non-NULL Expr node of type TK_COLUMN. // return the appropriate colUsed mask. -func Xsqlite3ExprColUsed(tls *libc.TLS, pExpr uintptr) Bitmask { /* sqlite3.c:100592:24: */ +func Xsqlite3ExprColUsed(tls *libc.TLS, pExpr uintptr) Bitmask { /* sqlite3.c:100605:24: */ var n int32 var pExTab uintptr @@ -80066,7 +80085,7 @@ func Xsqlite3ExprColUsed(tls *libc.TLS, pExpr uintptr) Bitmask { /* sqlite3.c:10 // // If the name cannot be resolved unambiguously, leave an error message // in pParse and return WRC_Abort. Return WRC_Prune on success. -func lookupName(tls *libc.TLS, pParse uintptr, zDb uintptr, zTab uintptr, zCol uintptr, pNC uintptr, pExpr uintptr) int32 { /* sqlite3.c:100641:12: */ +func lookupName(tls *libc.TLS, pParse uintptr, zDb uintptr, zTab uintptr, zCol uintptr, pNC uintptr, pExpr uintptr) int32 { /* sqlite3.c:100654:12: */ bp := tls.Alloc(96) defer tls.Free(96) @@ -80781,7 +80800,7 @@ __88: // Allocate and return a pointer to an expression to load the column iCol // from datasource iSrc in SrcList pSrc. -func Xsqlite3CreateColumnExpr(tls *libc.TLS, db uintptr, pSrc uintptr, iSrc int32, iCol int32) uintptr { /* sqlite3.c:101087:21: */ +func Xsqlite3CreateColumnExpr(tls *libc.TLS, db uintptr, pSrc uintptr, iSrc int32, iCol int32) uintptr { /* sqlite3.c:101100:21: */ var p uintptr = Xsqlite3ExprAlloc(tls, db, TK_COLUMN, uintptr(0), 0) if p != 0 { var pItem uintptr = pSrc + 8 + uintptr(iSrc)*112 @@ -80830,7 +80849,7 @@ func Xsqlite3CreateColumnExpr(tls *libc.TLS, db uintptr, pSrc uintptr, iSrc int3 // As an optimization, since the conditional is almost always false // (because errors are rare), the conditional is moved outside of the // function call using a macro. -func notValidImpl(tls *libc.TLS, pParse uintptr, pNC uintptr, zMsg uintptr, pExpr uintptr, pError uintptr) { /* sqlite3.c:101131:13: */ +func notValidImpl(tls *libc.TLS, pParse uintptr, pNC uintptr, zMsg uintptr, pExpr uintptr, pError uintptr) { /* sqlite3.c:101144:13: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -80852,7 +80871,7 @@ func notValidImpl(tls *libc.TLS, pParse uintptr, pNC uintptr, zMsg uintptr, pExp // Expression p should encode a floating point value between 1.0 and 0.0. // Return 1024 times this value. Or return -1 if p is not a floating point // value between 1.0 and 0.0. -func exprProbability(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:101159:12: */ +func exprProbability(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:101172:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -80878,7 +80897,7 @@ func exprProbability(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:101159:12: * // This routine also does error checking and name resolution for // function names. The operator for aggregate functions is changed // to TK_AGG_FUNCTION. -func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:101180:12: */ +func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:101193:12: */ bp := tls.Alloc(96) defer tls.Free(96) @@ -81359,7 +81378,7 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* s // return 0. // // pEList has been resolved. pE has not. -func resolveAsName(tls *libc.TLS, pParse uintptr, pEList uintptr, pE uintptr) int32 { /* sqlite3.c:101638:12: */ +func resolveAsName(tls *libc.TLS, pParse uintptr, pEList uintptr, pE uintptr) int32 { /* sqlite3.c:101651:12: */ var i int32 // Loop counter _ = pParse @@ -81394,7 +81413,7 @@ func resolveAsName(tls *libc.TLS, pParse uintptr, pEList uintptr, pE uintptr) in // the column. // // If there is no match, return 0. Return -1 if an error occurs. -func resolveOrderByTermToExprList(tls *libc.TLS, pParse uintptr, pSelect uintptr, pE uintptr) int32 { /* sqlite3.c:101680:12: */ +func resolveOrderByTermToExprList(tls *libc.TLS, pParse uintptr, pSelect uintptr, pE uintptr) int32 { /* sqlite3.c:101693:12: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -81438,7 +81457,7 @@ func resolveOrderByTermToExprList(tls *libc.TLS, pParse uintptr, pSelect uintptr } // Generate an ORDER BY or GROUP BY term out-of-range error. -func resolveOutOfRangeError(tls *libc.TLS, pParse uintptr, zType uintptr, i int32, mx int32, pError uintptr) { /* sqlite3.c:101727:13: */ +func resolveOutOfRangeError(tls *libc.TLS, pParse uintptr, zType uintptr, i int32, mx int32, pError uintptr) { /* sqlite3.c:101740:13: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -81461,7 +81480,7 @@ func resolveOutOfRangeError(tls *libc.TLS, pParse uintptr, zType uintptr, i int3 // the integer column number. // // Return the number of errors seen. -func resolveCompoundOrderBy(tls *libc.TLS, pParse uintptr, pSelect uintptr) int32 { /* sqlite3.c:101755:12: */ +func resolveCompoundOrderBy(tls *libc.TLS, pParse uintptr, pSelect uintptr) int32 { /* sqlite3.c:101768:12: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -81598,7 +81617,7 @@ func resolveCompoundOrderBy(tls *libc.TLS, pParse uintptr, pSelect uintptr) int3 // // If any errors are detected, add an error message to pParse and // return non-zero. Return zero if no errors are seen. -func Xsqlite3ResolveOrderGroupBy(tls *libc.TLS, pParse uintptr, pSelect uintptr, pOrderBy uintptr, zType uintptr) int32 { /* sqlite3.c:101868:20: */ +func Xsqlite3ResolveOrderGroupBy(tls *libc.TLS, pParse uintptr, pSelect uintptr, pOrderBy uintptr, zType uintptr) int32 { /* sqlite3.c:101881:20: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -81644,7 +81663,7 @@ __3: } // Walker callback for windowRemoveExprFromSelect(). -func resolveRemoveWindowsCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:101902:12: */ +func resolveRemoveWindowsCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:101915:12: */ _ = pWalker if (*Expr)(unsafe.Pointer(pExpr)).Fflags&U32(EP_WinFunc) != U32(0) { var pWin uintptr = *(*uintptr)(unsafe.Pointer(pExpr + 64)) @@ -81655,7 +81674,7 @@ func resolveRemoveWindowsCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 // Remove any Window objects owned by the expression pExpr from the // Select.pWin list of Select object pSelect. -func windowRemoveExprFromSelect(tls *libc.TLS, pSelect uintptr, pExpr uintptr) { /* sqlite3.c:101915:13: */ +func windowRemoveExprFromSelect(tls *libc.TLS, pSelect uintptr, pExpr uintptr) { /* sqlite3.c:101928:13: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -81687,7 +81706,7 @@ func windowRemoveExprFromSelect(tls *libc.TLS, pSelect uintptr, pExpr uintptr) { // This routine returns the number of errors. If errors occur, then // an appropriate error message might be left in pParse. (OOM errors // excepted.) -func resolveOrderGroupBy(tls *libc.TLS, pNC uintptr, pSelect uintptr, pOrderBy uintptr, zType uintptr) int32 { /* sqlite3.c:101946:12: */ +func resolveOrderGroupBy(tls *libc.TLS, pNC uintptr, pSelect uintptr, pOrderBy uintptr, zType uintptr) int32 { /* sqlite3.c:101959:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -81764,7 +81783,7 @@ __3: } // Resolve names in the SELECT statement p and all of its descendants. -func resolveSelectStep(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sqlite3.c:102009:12: */ +func resolveSelectStep(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sqlite3.c:102022:12: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -82063,7 +82082,7 @@ func resolveSelectStep(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sql // // An error message is left in pParse if anything is amiss. The number // if errors is returned. -func Xsqlite3ResolveExprNames(tls *libc.TLS, pNC uintptr, pExpr uintptr) int32 { /* sqlite3.c:102297:20: */ +func Xsqlite3ResolveExprNames(tls *libc.TLS, pNC uintptr, pExpr uintptr) int32 { /* sqlite3.c:102310:20: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -82104,7 +82123,7 @@ func Xsqlite3ResolveExprNames(tls *libc.TLS, pNC uintptr, pExpr uintptr) int32 { // Resolve all names for all expression in an expression list. This is // just like sqlite3ResolveExprNames() except that it works for an expression // list rather than a single expression. -func Xsqlite3ResolveExprListNames(tls *libc.TLS, pNC uintptr, pList uintptr) int32 { /* sqlite3.c:102336:20: */ +func Xsqlite3ResolveExprListNames(tls *libc.TLS, pNC uintptr, pList uintptr) int32 { /* sqlite3.c:102349:20: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -82161,7 +82180,7 @@ func Xsqlite3ResolveExprListNames(tls *libc.TLS, pNC uintptr, pList uintptr) int // // All SELECT statements should have been expanded using // sqlite3SelectExpand() prior to invoking this routine. -func Xsqlite3ResolveSelectNames(tls *libc.TLS, pParse uintptr, p uintptr, pOuterNC uintptr) { /* sqlite3.c:102392:21: */ +func Xsqlite3ResolveSelectNames(tls *libc.TLS, pParse uintptr, p uintptr, pOuterNC uintptr) { /* sqlite3.c:102405:21: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -82195,7 +82214,7 @@ func Xsqlite3ResolveSelectNames(tls *libc.TLS, pParse uintptr, p uintptr, pOuter // set to the column number. In case (4), TK_COLUMN nodes cause an error. // // Any errors cause an error message to be set in pParse. -func Xsqlite3ResolveSelfReference(tls *libc.TLS, pParse uintptr, pTab uintptr, type1 int32, pExpr uintptr, pList uintptr) int32 { /* sqlite3.c:102426:20: */ +func Xsqlite3ResolveSelfReference(tls *libc.TLS, pParse uintptr, pTab uintptr, type1 int32, pExpr uintptr, pList uintptr) int32 { /* sqlite3.c:102439:20: */ bp := tls.Alloc(176) defer tls.Free(176) @@ -82231,7 +82250,7 @@ func Xsqlite3ResolveSelfReference(tls *libc.TLS, pParse uintptr, pTab uintptr, t } // Return the affinity character for a single column of a table. -func Xsqlite3TableColumnAffinity(tls *libc.TLS, pTab uintptr, iCol int32) int8 { /* sqlite3.c:102486:21: */ +func Xsqlite3TableColumnAffinity(tls *libc.TLS, pTab uintptr, iCol int32) int8 { /* sqlite3.c:102499:21: */ if iCol < 0 || iCol >= int32((*Table)(unsafe.Pointer(pTab)).FnCol) { return int8(SQLITE_AFF_INTEGER) } @@ -82252,7 +82271,7 @@ func Xsqlite3TableColumnAffinity(tls *libc.TLS, pTab uintptr, iCol int32) int8 { // SELECT * FROM t1 WHERE a; // SELECT a AS b FROM t1 WHERE b; // SELECT * FROM t1 WHERE (select a from t1); -func Xsqlite3ExprAffinity(tls *libc.TLS, pExpr uintptr) int8 { /* sqlite3.c:102507:21: */ +func Xsqlite3ExprAffinity(tls *libc.TLS, pExpr uintptr) int8 { /* sqlite3.c:102520:21: */ var op int32 for (*Expr)(unsafe.Pointer(pExpr)).Fflags&U32(EP_Skip|EP_IfNullRow) != U32(0) { @@ -82295,7 +82314,7 @@ func Xsqlite3ExprAffinity(tls *libc.TLS, pExpr uintptr) int8 { /* sqlite3.c:1025 // // If a memory allocation error occurs, that fact is recorded in pParse->db // and the pExpr parameter is returned unchanged. -func Xsqlite3ExprAddCollateToken(tls *libc.TLS, pParse uintptr, pExpr uintptr, pCollName uintptr, dequote int32) uintptr { /* sqlite3.c:102560:21: */ +func Xsqlite3ExprAddCollateToken(tls *libc.TLS, pParse uintptr, pExpr uintptr, pCollName uintptr, dequote int32) uintptr { /* sqlite3.c:102573:21: */ if (*Token)(unsafe.Pointer(pCollName)).Fn > uint32(0) { var pNew uintptr = Xsqlite3ExprAlloc(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, TK_COLLATE, pCollName, dequote) if pNew != 0 { @@ -82307,7 +82326,7 @@ func Xsqlite3ExprAddCollateToken(tls *libc.TLS, pParse uintptr, pExpr uintptr, p return pExpr } -func Xsqlite3ExprAddCollateString(tls *libc.TLS, pParse uintptr, pExpr uintptr, zC uintptr) uintptr { /* sqlite3.c:102576:21: */ +func Xsqlite3ExprAddCollateString(tls *libc.TLS, pParse uintptr, pExpr uintptr, zC uintptr) uintptr { /* sqlite3.c:102589:21: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -82318,7 +82337,7 @@ func Xsqlite3ExprAddCollateString(tls *libc.TLS, pParse uintptr, pExpr uintptr, } // Skip over any TK_COLLATE operators. -func Xsqlite3ExprSkipCollate(tls *libc.TLS, pExpr uintptr) uintptr { /* sqlite3.c:102590:21: */ +func Xsqlite3ExprSkipCollate(tls *libc.TLS, pExpr uintptr) uintptr { /* sqlite3.c:102603:21: */ for pExpr != 0 && (*Expr)(unsafe.Pointer(pExpr)).Fflags&U32(EP_Skip) != U32(0) { pExpr = (*Expr)(unsafe.Pointer(pExpr)).FpLeft @@ -82329,7 +82348,7 @@ func Xsqlite3ExprSkipCollate(tls *libc.TLS, pExpr uintptr) uintptr { /* sqlite3. // Skip over any TK_COLLATE operators and/or any unlikely() // or likelihood() or likely() functions at the root of an // expression. -func Xsqlite3ExprSkipCollateAndLikely(tls *libc.TLS, pExpr uintptr) uintptr { /* sqlite3.c:102603:21: */ +func Xsqlite3ExprSkipCollateAndLikely(tls *libc.TLS, pExpr uintptr) uintptr { /* sqlite3.c:102616:21: */ for pExpr != 0 && (*Expr)(unsafe.Pointer(pExpr)).Fflags&U32(EP_Skip|EP_Unlikely) != U32(0) { if (*Expr)(unsafe.Pointer(pExpr)).Fflags&U32(EP_Unlikely) != U32(0) { @@ -82354,7 +82373,7 @@ func Xsqlite3ExprSkipCollateAndLikely(tls *libc.TLS, pExpr uintptr) uintptr { /* // or by the presence of a column with a defined collating sequence. // COLLATE operators take first precedence. Left operands take // precedence over right operands. -func Xsqlite3ExprCollSeq(tls *libc.TLS, pParse uintptr, pExpr uintptr) uintptr { /* sqlite3.c:102632:24: */ +func Xsqlite3ExprCollSeq(tls *libc.TLS, pParse uintptr, pExpr uintptr) uintptr { /* sqlite3.c:102645:24: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb var pColl uintptr = uintptr(0) var p uintptr = pExpr @@ -82426,7 +82445,7 @@ func Xsqlite3ExprCollSeq(tls *libc.TLS, pParse uintptr, pExpr uintptr) uintptr { // // The sqlite3ExprCollSeq() routine works the same except that it // returns NULL if there is no defined collation. -func Xsqlite3ExprNNCollSeq(tls *libc.TLS, pParse uintptr, pExpr uintptr) uintptr { /* sqlite3.c:102705:24: */ +func Xsqlite3ExprNNCollSeq(tls *libc.TLS, pParse uintptr, pExpr uintptr) uintptr { /* sqlite3.c:102718:24: */ var p uintptr = Xsqlite3ExprCollSeq(tls, pParse, pExpr) if p == uintptr(0) { p = (*Sqlite3)(unsafe.Pointer((*Parse)(unsafe.Pointer(pParse)).Fdb)).FpDfltColl @@ -82436,7 +82455,7 @@ func Xsqlite3ExprNNCollSeq(tls *libc.TLS, pParse uintptr, pExpr uintptr) uintptr } // Return TRUE if the two expressions have equivalent collating sequences. -func Xsqlite3ExprCollSeqMatch(tls *libc.TLS, pParse uintptr, pE1 uintptr, pE2 uintptr) int32 { /* sqlite3.c:102715:20: */ +func Xsqlite3ExprCollSeqMatch(tls *libc.TLS, pParse uintptr, pE1 uintptr, pE2 uintptr) int32 { /* sqlite3.c:102728:20: */ var pColl1 uintptr = Xsqlite3ExprNNCollSeq(tls, pParse, pE1) var pColl2 uintptr = Xsqlite3ExprNNCollSeq(tls, pParse, pE2) return libc.Bool32(Xsqlite3StrICmp(tls, (*CollSeq)(unsafe.Pointer(pColl1)).FzName, (*CollSeq)(unsafe.Pointer(pColl2)).FzName) == 0) @@ -82445,7 +82464,7 @@ func Xsqlite3ExprCollSeqMatch(tls *libc.TLS, pParse uintptr, pE1 uintptr, pE2 ui // pExpr is an operand of a comparison operator. aff2 is the // type affinity of the other operand. This routine returns the // type affinity that should be used for the comparison operator. -func Xsqlite3CompareAffinity(tls *libc.TLS, pExpr uintptr, aff2 int8) int8 { /* sqlite3.c:102726:21: */ +func Xsqlite3CompareAffinity(tls *libc.TLS, pExpr uintptr, aff2 int8) int8 { /* sqlite3.c:102739:21: */ var aff1 int8 = Xsqlite3ExprAffinity(tls, pExpr) if int32(aff1) > SQLITE_AFF_NONE && int32(aff2) > SQLITE_AFF_NONE { // Both sides of the comparison are columns. If one has numeric @@ -82470,7 +82489,7 @@ func Xsqlite3CompareAffinity(tls *libc.TLS, pExpr uintptr, aff2 int8) int8 { /* // pExpr is a comparison operator. Return the type affinity that should // be applied to both operands prior to doing the comparison. -func comparisonAffinity(tls *libc.TLS, pExpr uintptr) int8 { /* sqlite3.c:102748:13: */ +func comparisonAffinity(tls *libc.TLS, pExpr uintptr) int8 { /* sqlite3.c:102761:13: */ var aff int8 aff = Xsqlite3ExprAffinity(tls, (*Expr)(unsafe.Pointer(pExpr)).FpLeft) @@ -82488,7 +82507,7 @@ func comparisonAffinity(tls *libc.TLS, pExpr uintptr) int8 { /* sqlite3.c:102748 // idx_affinity is the affinity of an indexed column. Return true // if the index with affinity idx_affinity may be used to implement // the comparison in pExpr. -func Xsqlite3IndexAffinityOk(tls *libc.TLS, pExpr uintptr, idx_affinity int8) int32 { /* sqlite3.c:102771:20: */ +func Xsqlite3IndexAffinityOk(tls *libc.TLS, pExpr uintptr, idx_affinity int8) int32 { /* sqlite3.c:102784:20: */ var aff int8 = comparisonAffinity(tls, pExpr) if int32(aff) < SQLITE_AFF_TEXT { return 1 @@ -82501,7 +82520,7 @@ func Xsqlite3IndexAffinityOk(tls *libc.TLS, pExpr uintptr, idx_affinity int8) in // Return the P5 value that should be used for a binary comparison // opcode (OP_Eq, OP_Ge etc.) used to compare pExpr1 and pExpr2. -func binaryCompareP5(tls *libc.TLS, pExpr1 uintptr, pExpr2 uintptr, jumpIfNull int32) U8 { /* sqlite3.c:102786:11: */ +func binaryCompareP5(tls *libc.TLS, pExpr1 uintptr, pExpr2 uintptr, jumpIfNull int32) U8 { /* sqlite3.c:102799:11: */ var aff U8 = U8(Xsqlite3ExprAffinity(tls, pExpr2)) aff = U8(int32(U8(Xsqlite3CompareAffinity(tls, pExpr1, int8(aff)))) | int32(U8(jumpIfNull))) return aff @@ -82517,7 +82536,7 @@ func binaryCompareP5(tls *libc.TLS, pExpr1 uintptr, pExpr2 uintptr, jumpIfNull i // // Argument pRight (but not pLeft) may be a null pointer. In this case, // it is not considered. -func Xsqlite3BinaryCompareCollSeq(tls *libc.TLS, pParse uintptr, pLeft uintptr, pRight uintptr) uintptr { /* sqlite3.c:102808:24: */ +func Xsqlite3BinaryCompareCollSeq(tls *libc.TLS, pParse uintptr, pLeft uintptr, pRight uintptr) uintptr { /* sqlite3.c:102821:24: */ var pColl uintptr if (*Expr)(unsafe.Pointer(pLeft)).Fflags&U32(EP_Collate) != 0 { @@ -82540,7 +82559,7 @@ func Xsqlite3BinaryCompareCollSeq(tls *libc.TLS, pParse uintptr, pLeft uintptr, // However, if the OP_Commuted flag is set, then the order of the operands // is reversed in the sqlite3BinaryCompareCollSeq() call so that the // correct collating sequence is found. -func Xsqlite3ExprCompareCollSeq(tls *libc.TLS, pParse uintptr, p uintptr) uintptr { /* sqlite3.c:102836:24: */ +func Xsqlite3ExprCompareCollSeq(tls *libc.TLS, pParse uintptr, p uintptr) uintptr { /* sqlite3.c:102849:24: */ if (*Expr)(unsafe.Pointer(p)).Fflags&U32(EP_Commuted) != U32(0) { return Xsqlite3BinaryCompareCollSeq(tls, pParse, (*Expr)(unsafe.Pointer(p)).FpRight, (*Expr)(unsafe.Pointer(p)).FpLeft) } else { @@ -82550,7 +82569,7 @@ func Xsqlite3ExprCompareCollSeq(tls *libc.TLS, pParse uintptr, p uintptr) uintpt } // Generate code for a comparison operator. -func codeCompare(tls *libc.TLS, pParse uintptr, pLeft uintptr, pRight uintptr, opcode int32, in1 int32, in2 int32, dest int32, jumpIfNull int32, isCommuted int32) int32 { /* sqlite3.c:102847:12: */ +func codeCompare(tls *libc.TLS, pParse uintptr, pLeft uintptr, pRight uintptr, opcode int32, in1 int32, in2 int32, dest int32, jumpIfNull int32, isCommuted int32) int32 { /* sqlite3.c:102860:12: */ var p5 int32 var addr int32 var p4 uintptr @@ -82577,7 +82596,7 @@ func codeCompare(tls *libc.TLS, pParse uintptr, pLeft uintptr, pRight uintptr, o // parser will not generate a TK_VECTOR with fewer than two entries. // But a TK_SELECT might be either a vector or a scalar. It is only // considered a vector if it has two or more result columns. -func Xsqlite3ExprIsVector(tls *libc.TLS, pExpr uintptr) int32 { /* sqlite3.c:102883:20: */ +func Xsqlite3ExprIsVector(tls *libc.TLS, pExpr uintptr) int32 { /* sqlite3.c:102896:20: */ return libc.Bool32(Xsqlite3ExprVectorSize(tls, pExpr) > 1) } @@ -82585,7 +82604,7 @@ func Xsqlite3ExprIsVector(tls *libc.TLS, pExpr uintptr) int32 { /* sqlite3.c:102 // return the number of expressions in the vector. Or, if the expression // is a sub-select, return the number of columns in the sub-select. For // any other type of expression, return 1. -func Xsqlite3ExprVectorSize(tls *libc.TLS, pExpr uintptr) int32 { /* sqlite3.c:102893:20: */ +func Xsqlite3ExprVectorSize(tls *libc.TLS, pExpr uintptr) int32 { /* sqlite3.c:102906:20: */ var op U8 = (*Expr)(unsafe.Pointer(pExpr)).Fop if int32(op) == TK_REGISTER { op = (*Expr)(unsafe.Pointer(pExpr)).Fop2 @@ -82615,7 +82634,7 @@ func Xsqlite3ExprVectorSize(tls *libc.TLS, pExpr uintptr) int32 { /* sqlite3.c:1 // just the expression for the i-th term of the result set, and may // not be ready for evaluation because the table cursor has not yet // been positioned. -func Xsqlite3VectorFieldSubexpr(tls *libc.TLS, pVector uintptr, i int32) uintptr { /* sqlite3.c:102922:21: */ +func Xsqlite3VectorFieldSubexpr(tls *libc.TLS, pVector uintptr, i int32) uintptr { /* sqlite3.c:102935:21: */ if Xsqlite3ExprIsVector(tls, pVector) != 0 { @@ -82649,7 +82668,7 @@ func Xsqlite3VectorFieldSubexpr(tls *libc.TLS, pVector uintptr, i int32) uintptr // A trick to cause a TK_SELECT pVector to be deleted together with // the returned Expr object is to attach the pVector to the pRight field // of the returned TK_SELECT_COLUMN Expr object. -func Xsqlite3ExprForVectorField(tls *libc.TLS, pParse uintptr, pVector uintptr, iField int32, nField int32) uintptr { /* sqlite3.c:102958:21: */ +func Xsqlite3ExprForVectorField(tls *libc.TLS, pParse uintptr, pVector uintptr, iField int32, nField int32) uintptr { /* sqlite3.c:102971:21: */ var pRet uintptr if int32((*Expr)(unsafe.Pointer(pVector)).Fop) == TK_SELECT { @@ -82697,7 +82716,7 @@ func Xsqlite3ExprForVectorField(tls *libc.TLS, pParse uintptr, pVector uintptr, // of registers in which the result is stored). // // If pExpr is not a TK_SELECT expression, return 0. -func exprCodeSubselect(tls *libc.TLS, pParse uintptr, pExpr uintptr) int32 { /* sqlite3.c:103014:12: */ +func exprCodeSubselect(tls *libc.TLS, pParse uintptr, pExpr uintptr) int32 { /* sqlite3.c:103027:12: */ var reg int32 = 0 if int32((*Expr)(unsafe.Pointer(pExpr)).Fop) == TK_SELECT { reg = Xsqlite3CodeSubselect(tls, pParse, pExpr) @@ -82721,7 +82740,7 @@ func exprCodeSubselect(tls *libc.TLS, pParse uintptr, pExpr uintptr) int32 { /* // // Before returning, output parameter (*ppExpr) is set to point to the // Expr object corresponding to element iElem of the vector. -func exprVectorRegister(tls *libc.TLS, pParse uintptr, pVector uintptr, iField int32, regSelect int32, ppExpr uintptr, pRegFree uintptr) int32 { /* sqlite3.c:103042:12: */ +func exprVectorRegister(tls *libc.TLS, pParse uintptr, pVector uintptr, iField int32, regSelect int32, ppExpr uintptr, pRegFree uintptr) int32 { /* sqlite3.c:103055:12: */ var op U8 = (*Expr)(unsafe.Pointer(pVector)).Fop if int32(op) == TK_REGISTER { @@ -82750,7 +82769,7 @@ func exprVectorRegister(tls *libc.TLS, pParse uintptr, pVector uintptr, iField i // if pExpr->op==TK_IS: op==TK_EQ and p5==SQLITE_NULLEQ // if pExpr->op==TK_ISNOT: op==TK_NE and p5==SQLITE_NULLEQ // otherwise: op==pExpr->op and p5==0 -func codeVectorCompare(tls *libc.TLS, pParse uintptr, pExpr uintptr, dest int32, op U8, p5 U8) { /* sqlite3.c:103080:13: */ +func codeVectorCompare(tls *libc.TLS, pParse uintptr, pExpr uintptr, dest int32, op U8, p5 U8) { /* sqlite3.c:103093:13: */ bp := tls.Alloc(28) defer tls.Free(28) @@ -82838,7 +82857,7 @@ func codeVectorCompare(tls *libc.TLS, pParse uintptr, pExpr uintptr, dest int32, // Check that argument nHeight is less than or equal to the maximum // expression depth allowed. If it is not, leave an error message in // pParse. -func Xsqlite3ExprCheckHeight(tls *libc.TLS, pParse uintptr, nHeight int32) int32 { /* sqlite3.c:103175:20: */ +func Xsqlite3ExprCheckHeight(tls *libc.TLS, pParse uintptr, nHeight int32) int32 { /* sqlite3.c:103188:20: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -82860,7 +82879,7 @@ func Xsqlite3ExprCheckHeight(tls *libc.TLS, pParse uintptr, nHeight int32) int32 // If this maximum height is greater than the current value pointed // to by pnHeight, the second parameter, then set *pnHeight to that // value. -func heightOfExpr(tls *libc.TLS, p uintptr, pnHeight uintptr) { /* sqlite3.c:103196:13: */ +func heightOfExpr(tls *libc.TLS, p uintptr, pnHeight uintptr) { /* sqlite3.c:103209:13: */ if p != 0 { if (*Expr)(unsafe.Pointer(p)).FnHeight > *(*int32)(unsafe.Pointer(pnHeight)) { *(*int32)(unsafe.Pointer(pnHeight)) = (*Expr)(unsafe.Pointer(p)).FnHeight @@ -82868,7 +82887,7 @@ func heightOfExpr(tls *libc.TLS, p uintptr, pnHeight uintptr) { /* sqlite3.c:103 } } -func heightOfExprList(tls *libc.TLS, p uintptr, pnHeight uintptr) { /* sqlite3.c:103203:13: */ +func heightOfExprList(tls *libc.TLS, p uintptr, pnHeight uintptr) { /* sqlite3.c:103216:13: */ if p != 0 { var i int32 for i = 0; i < (*ExprList)(unsafe.Pointer(p)).FnExpr; i++ { @@ -82877,7 +82896,7 @@ func heightOfExprList(tls *libc.TLS, p uintptr, pnHeight uintptr) { /* sqlite3.c } } -func heightOfSelect(tls *libc.TLS, pSelect uintptr, pnHeight uintptr) { /* sqlite3.c:103211:13: */ +func heightOfSelect(tls *libc.TLS, pSelect uintptr, pnHeight uintptr) { /* sqlite3.c:103224:13: */ var p uintptr for p = pSelect; p != 0; p = (*Select)(unsafe.Pointer(p)).FpPrior { heightOfExpr(tls, (*Select)(unsafe.Pointer(p)).FpWhere, pnHeight) @@ -82897,7 +82916,7 @@ func heightOfSelect(tls *libc.TLS, pSelect uintptr, pnHeight uintptr) { /* sqlit // // Also propagate EP_Propagate flags up from Expr.x.pList to Expr.flags, // if appropriate. -func exprSetHeight(tls *libc.TLS, p uintptr) { /* sqlite3.c:103233:13: */ +func exprSetHeight(tls *libc.TLS, p uintptr) { /* sqlite3.c:103246:13: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -82924,7 +82943,7 @@ func exprSetHeight(tls *libc.TLS, p uintptr) { /* sqlite3.c:103233:13: */ // // Also propagate all EP_Propagate flags from the Expr.x.pList into // Expr.flags. -func Xsqlite3ExprSetHeightAndFlags(tls *libc.TLS, pParse uintptr, p uintptr) { /* sqlite3.c:103253:21: */ +func Xsqlite3ExprSetHeightAndFlags(tls *libc.TLS, pParse uintptr, p uintptr) { /* sqlite3.c:103266:21: */ if (*Parse)(unsafe.Pointer(pParse)).FnErr != 0 { return } @@ -82934,7 +82953,7 @@ func Xsqlite3ExprSetHeightAndFlags(tls *libc.TLS, pParse uintptr, p uintptr) { / // Return the maximum height of any expression tree referenced // by the select statement passed as an argument. -func Xsqlite3SelectExprHeight(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:103263:20: */ +func Xsqlite3SelectExprHeight(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:103276:20: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -82961,7 +82980,7 @@ func Xsqlite3SelectExprHeight(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:103 // stored in u.zToken. Instead, the integer values is written // into u.iValue and the EP_IntValue flag is set. No extra storage // is allocated to hold the integer text and the dequote flag is ignored. -func Xsqlite3ExprAlloc(tls *libc.TLS, db uintptr, op int32, pToken uintptr, dequote int32) uintptr { /* sqlite3.c:103302:21: */ +func Xsqlite3ExprAlloc(tls *libc.TLS, db uintptr, op int32, pToken uintptr, dequote int32) uintptr { /* sqlite3.c:103315:21: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -83009,7 +83028,7 @@ func Xsqlite3ExprAlloc(tls *libc.TLS, db uintptr, op int32, pToken uintptr, dequ // Allocate a new expression node from a zero-terminated token that has // already been dequoted. -func Xsqlite3Expr(tls *libc.TLS, db uintptr, op int32, zToken uintptr) uintptr { /* sqlite3.c:103350:21: */ +func Xsqlite3Expr(tls *libc.TLS, db uintptr, op int32, zToken uintptr) uintptr { /* sqlite3.c:103363:21: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -83024,7 +83043,7 @@ func Xsqlite3Expr(tls *libc.TLS, db uintptr, op int32, zToken uintptr) uintptr { // // If pRoot==NULL that means that a memory allocation error has occurred. // In that case, delete the subtrees pLeft and pRight. -func Xsqlite3ExprAttachSubtrees(tls *libc.TLS, db uintptr, pRoot uintptr, pLeft uintptr, pRight uintptr) { /* sqlite3.c:103367:21: */ +func Xsqlite3ExprAttachSubtrees(tls *libc.TLS, db uintptr, pRoot uintptr, pLeft uintptr, pRight uintptr) { /* sqlite3.c:103380:21: */ if pRoot == uintptr(0) { Xsqlite3ExprDelete(tls, db, pLeft) @@ -83047,7 +83066,7 @@ func Xsqlite3ExprAttachSubtrees(tls *libc.TLS, db uintptr, pRoot uintptr, pLeft // One or both of the subtrees can be NULL. Return a pointer to the new // Expr node. Or, if an OOM error occurs, set pParse->db->mallocFailed, // free the subtrees and return NULL. -func Xsqlite3PExpr(tls *libc.TLS, pParse uintptr, op int32, pLeft uintptr, pRight uintptr) uintptr { /* sqlite3.c:103397:21: */ +func Xsqlite3PExpr(tls *libc.TLS, pParse uintptr, op int32, pLeft uintptr, pRight uintptr) uintptr { /* sqlite3.c:103410:21: */ var p uintptr p = Xsqlite3DbMallocRawNN(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, uint64(unsafe.Sizeof(Expr{}))) if p != 0 { @@ -83065,7 +83084,7 @@ func Xsqlite3PExpr(tls *libc.TLS, pParse uintptr, op int32, pLeft uintptr, pRigh // Add pSelect to the Expr.x.pSelect field. Or, if pExpr is NULL (due // do a memory allocation failure) then delete the pSelect object. -func Xsqlite3PExprAddSelect(tls *libc.TLS, pParse uintptr, pExpr uintptr, pSelect uintptr) { /* sqlite3.c:103422:21: */ +func Xsqlite3PExprAddSelect(tls *libc.TLS, pParse uintptr, pExpr uintptr, pSelect uintptr) { /* sqlite3.c:103435:21: */ if pExpr != 0 { *(*uintptr)(unsafe.Pointer(pExpr + 32)) = pSelect *(*U32)(unsafe.Pointer(pExpr + 4)) |= U32(EP_xIsSelect | EP_Subquery) @@ -83093,7 +83112,7 @@ func Xsqlite3PExprAddSelect(tls *libc.TLS, pParse uintptr, pExpr uintptr, pSelec // // This is used as part of processing IN(...) expressions with a list // of vectors on the RHS. e.g. "... IN ((1,2), (3,4), (5,6))". -func Xsqlite3ExprListToValues(tls *libc.TLS, pParse uintptr, nElem int32, pEList uintptr) uintptr { /* sqlite3.c:103452:23: */ +func Xsqlite3ExprListToValues(tls *libc.TLS, pParse uintptr, nElem int32, pEList uintptr) uintptr { /* sqlite3.c:103465:23: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -83145,7 +83164,7 @@ func Xsqlite3ExprListToValues(tls *libc.TLS, pParse uintptr, nElem int32, pEList // If one side or the other of the AND is known to be false, then instead // of returning an AND expression, just return a constant expression with // a value of false. -func Xsqlite3ExprAnd(tls *libc.TLS, pParse uintptr, pLeft uintptr, pRight uintptr) uintptr { /* sqlite3.c:103499:21: */ +func Xsqlite3ExprAnd(tls *libc.TLS, pParse uintptr, pLeft uintptr, pRight uintptr) uintptr { /* sqlite3.c:103512:21: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb if pLeft == uintptr(0) { return pRight @@ -83164,7 +83183,7 @@ func Xsqlite3ExprAnd(tls *libc.TLS, pParse uintptr, pLeft uintptr, pRight uintpt // Construct a new expression node for a function with multiple // arguments. -func Xsqlite3ExprFunction(tls *libc.TLS, pParse uintptr, pList uintptr, pToken uintptr, eDistinct int32) uintptr { /* sqlite3.c:103520:21: */ +func Xsqlite3ExprFunction(tls *libc.TLS, pParse uintptr, pList uintptr, pToken uintptr, eDistinct int32) uintptr { /* sqlite3.c:103533:21: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -83201,7 +83220,7 @@ func Xsqlite3ExprFunction(tls *libc.TLS, pParse uintptr, pList uintptr, pToken u // top-level SQL // // If the function is not usable, create an error. -func Xsqlite3ExprFunctionUsable(tls *libc.TLS, pParse uintptr, pExpr uintptr, pDef uintptr) { /* sqlite3.c:103560:21: */ +func Xsqlite3ExprFunctionUsable(tls *libc.TLS, pParse uintptr, pExpr uintptr, pDef uintptr) { /* sqlite3.c:103573:21: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -83233,7 +83252,7 @@ func Xsqlite3ExprFunctionUsable(tls *libc.TLS, pParse uintptr, pExpr uintptr, pD // as the previous instance of the same wildcard. Or if this is the first // instance of the wildcard, the next sequential variable number is // assigned. -func Xsqlite3ExprAssignVarNumber(tls *libc.TLS, pParse uintptr, pExpr uintptr, n U32) { /* sqlite3.c:103599:21: */ +func Xsqlite3ExprAssignVarNumber(tls *libc.TLS, pParse uintptr, pExpr uintptr, n U32) { /* sqlite3.c:103612:21: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -83301,7 +83320,7 @@ func Xsqlite3ExprAssignVarNumber(tls *libc.TLS, pParse uintptr, pExpr uintptr, n } // Recursively delete an expression tree. -func sqlite3ExprDeleteNN(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:103669:29: */ +func sqlite3ExprDeleteNN(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:103682:29: */ if !((*Expr)(unsafe.Pointer(p)).Fflags&U32(EP_TokenOnly|EP_Leaf) != U32(0)) { // The Expr.x union is never used at the same time as Expr.pRight @@ -83331,7 +83350,7 @@ func sqlite3ExprDeleteNN(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:10 } } -func Xsqlite3ExprDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:103710:21: */ +func Xsqlite3ExprDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:103723:21: */ if p != 0 { sqlite3ExprDeleteNN(tls, db, p) } @@ -83345,13 +83364,13 @@ func Xsqlite3ExprDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:103 // // The deferred delete is (currently) implemented by adding the // pExpr to the pParse->pConstExpr list with a register number of 0. -func Xsqlite3ExprDeferredDelete(tls *libc.TLS, pParse uintptr, pExpr uintptr) { /* sqlite3.c:103725:21: */ +func Xsqlite3ExprDeferredDelete(tls *libc.TLS, pParse uintptr, pExpr uintptr) { /* sqlite3.c:103738:21: */ (*Parse)(unsafe.Pointer(pParse)).FpConstExpr = Xsqlite3ExprListAppend(tls, pParse, (*Parse)(unsafe.Pointer(pParse)).FpConstExpr, pExpr) } // Invoke sqlite3RenameExprUnmap() and sqlite3ExprDelete() on the // expression. -func Xsqlite3ExprUnmapAndDelete(tls *libc.TLS, pParse uintptr, p uintptr) { /* sqlite3.c:103733:21: */ +func Xsqlite3ExprUnmapAndDelete(tls *libc.TLS, pParse uintptr, p uintptr) { /* sqlite3.c:103746:21: */ if p != 0 { if int32((*Parse)(unsafe.Pointer(pParse)).FeParseMode) >= PARSE_MODE_RENAME { Xsqlite3RenameExprUnmap(tls, pParse, p) @@ -83363,7 +83382,7 @@ func Xsqlite3ExprUnmapAndDelete(tls *libc.TLS, pParse uintptr, p uintptr) { /* s // Return the number of bytes allocated for the expression structure // passed as the first argument. This is always one of EXPR_FULLSIZE, // EXPR_REDUCEDSIZE or EXPR_TOKENONLYSIZE. -func exprStructSize(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:103747:12: */ +func exprStructSize(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:103760:12: */ if (*Expr)(unsafe.Pointer(p)).Fflags&U32(EP_TokenOnly) != U32(0) { return int32(uintptr(0) + 16) } @@ -83405,7 +83424,7 @@ func exprStructSize(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:103747:12: */ // to reduce a pristine expression tree from the parser. The implementation // of dupedExprStructSize() contain multiple assert() statements that attempt // to enforce this constraint. -func dupedExprStructSize(tls *libc.TLS, p uintptr, flags int32) int32 { /* sqlite3.c:103787:12: */ +func dupedExprStructSize(tls *libc.TLS, p uintptr, flags int32) int32 { /* sqlite3.c:103800:12: */ var nSize int32 // Only one flag value allowed @@ -83427,7 +83446,7 @@ func dupedExprStructSize(tls *libc.TLS, p uintptr, flags int32) int32 { /* sqlit // This function returns the space in bytes required to store the copy // of the Expr structure and a copy of the Expr.u.zToken string (if that // string is defined.) -func dupedExprNodeSize(tls *libc.TLS, p uintptr, flags int32) int32 { /* sqlite3.c:103818:12: */ +func dupedExprNodeSize(tls *libc.TLS, p uintptr, flags int32) int32 { /* sqlite3.c:103831:12: */ var nByte int32 = dupedExprStructSize(tls, p, flags) & 0xfff if !((*Expr)(unsafe.Pointer(p)).Fflags&U32(EP_IntValue) != U32(0)) && *(*uintptr)(unsafe.Pointer(p + 8)) != 0 { nByte = int32(Size_t(nByte) + (libc.Xstrlen(tls, *(*uintptr)(unsafe.Pointer(p + 8)))&uint64(0x3fffffff) + uint64(1))) @@ -83446,7 +83465,7 @@ func dupedExprNodeSize(tls *libc.TLS, p uintptr, flags int32) int32 { /* sqlite3 // space to duplicate all Expr nodes in the tree formed by Expr.pLeft // and Expr.pRight variables (but not for any structures pointed to or // descended from the Expr.x.pList or Expr.x.pSelect variables). -func dupedExprSize(tls *libc.TLS, p uintptr, flags int32) int32 { /* sqlite3.c:103839:12: */ +func dupedExprSize(tls *libc.TLS, p uintptr, flags int32) int32 { /* sqlite3.c:103852:12: */ var nByte int32 = 0 if p != 0 { nByte = dupedExprNodeSize(tls, p, flags) @@ -83463,7 +83482,7 @@ func dupedExprSize(tls *libc.TLS, p uintptr, flags int32) int32 { /* sqlite3.c:1 // (if applicable), and the copies of the p->pLeft and p->pRight expressions, // if any. Before returning, *pzBuffer is set to the first byte past the // portion of the buffer copied into by this function. -func exprDup(tls *libc.TLS, db uintptr, p uintptr, dupFlags int32, pzBuffer uintptr) uintptr { /* sqlite3.c:103858:13: */ +func exprDup(tls *libc.TLS, db uintptr, p uintptr, dupFlags int32, pzBuffer uintptr) uintptr { /* sqlite3.c:103871:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -83573,7 +83592,7 @@ func exprDup(tls *libc.TLS, db uintptr, p uintptr, dupFlags int32, pzBuffer uint // Create and return a deep copy of the object passed as the second // argument. If an OOM condition is encountered, NULL is returned // and the db->mallocFailed flag set. -func Xsqlite3WithDup(tls *libc.TLS, db uintptr, p uintptr) uintptr { /* sqlite3.c:103968:21: */ +func Xsqlite3WithDup(tls *libc.TLS, db uintptr, p uintptr) uintptr { /* sqlite3.c:103981:21: */ var pRet uintptr = uintptr(0) if p != 0 { var nByte Sqlite3_int64 = Sqlite3_int64(uint64(unsafe.Sizeof(With{})) + uint64(unsafe.Sizeof(Cte{}))*uint64((*With)(unsafe.Pointer(p)).FnCte-1)) @@ -83595,7 +83614,7 @@ func Xsqlite3WithDup(tls *libc.TLS, db uintptr, p uintptr) uintptr { /* sqlite3. // gatherSelectWindowsCallback() are used to scan all the expressions // an a newly duplicated SELECT statement and gather all of the Window // objects found there, assembling them onto the linked list at Select->pWin. -func gatherSelectWindowsCallback(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:103996:12: */ +func gatherSelectWindowsCallback(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:104009:12: */ if int32((*Expr)(unsafe.Pointer(pExpr)).Fop) == TK_FUNCTION && (*Expr)(unsafe.Pointer(pExpr)).Fflags&U32(EP_WinFunc) != U32(0) { var pSelect uintptr = *(*uintptr)(unsafe.Pointer(pWalker + 40)) var pWin uintptr = *(*uintptr)(unsafe.Pointer(pExpr + 64)) @@ -83605,14 +83624,14 @@ func gatherSelectWindowsCallback(tls *libc.TLS, pWalker uintptr, pExpr uintptr) return WRC_Continue } -func gatherSelectWindowsSelectCallback(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sqlite3.c:104007:12: */ +func gatherSelectWindowsSelectCallback(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sqlite3.c:104020:12: */ if p == *(*uintptr)(unsafe.Pointer(pWalker + 40)) { return WRC_Continue } return WRC_Prune } -func gatherSelectWindows(tls *libc.TLS, p uintptr) { /* sqlite3.c:104010:13: */ +func gatherSelectWindows(tls *libc.TLS, p uintptr) { /* sqlite3.c:104023:13: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -83645,7 +83664,7 @@ func gatherSelectWindows(tls *libc.TLS, p uintptr) { /* sqlite3.c:104010:13: */ // If the EXPRDUP_REDUCE flag is set, then the structure returned is a // truncated version of the usual Expr structure that will be stored as // part of the in-memory representation of the database schema. -func Xsqlite3ExprDup(tls *libc.TLS, db uintptr, p uintptr, flags int32) uintptr { /* sqlite3.c:104039:21: */ +func Xsqlite3ExprDup(tls *libc.TLS, db uintptr, p uintptr, flags int32) uintptr { /* sqlite3.c:104052:21: */ if p != 0 { return exprDup(tls, db, p, flags, uintptr(0)) @@ -83653,7 +83672,7 @@ func Xsqlite3ExprDup(tls *libc.TLS, db uintptr, p uintptr, flags int32) uintptr return uintptr(0) } -func Xsqlite3ExprListDup(tls *libc.TLS, db uintptr, p uintptr, flags int32) uintptr { /* sqlite3.c:104043:25: */ +func Xsqlite3ExprListDup(tls *libc.TLS, db uintptr, p uintptr, flags int32) uintptr { /* sqlite3.c:104056:25: */ var pNew uintptr var pItem uintptr var pOldItem uintptr @@ -83722,7 +83741,7 @@ __3: // the build, then none of the following routines, except for // sqlite3SelectDup(), can be called. sqlite3SelectDup() is sometimes // called with a NULL argument. -func Xsqlite3SrcListDup(tls *libc.TLS, db uintptr, p uintptr, flags int32) uintptr { /* sqlite3.c:104098:24: */ +func Xsqlite3SrcListDup(tls *libc.TLS, db uintptr, p uintptr, flags int32) uintptr { /* sqlite3.c:104111:24: */ var pNew uintptr var i int32 var nByte int32 @@ -83775,7 +83794,7 @@ func Xsqlite3SrcListDup(tls *libc.TLS, db uintptr, p uintptr, flags int32) uintp return pNew } -func Xsqlite3IdListDup(tls *libc.TLS, db uintptr, p uintptr) uintptr { /* sqlite3.c:104142:23: */ +func Xsqlite3IdListDup(tls *libc.TLS, db uintptr, p uintptr) uintptr { /* sqlite3.c:104155:23: */ var pNew uintptr var i int32 @@ -83804,7 +83823,7 @@ func Xsqlite3IdListDup(tls *libc.TLS, db uintptr, p uintptr) uintptr { /* sqlite return pNew } -func Xsqlite3SelectDup(tls *libc.TLS, db uintptr, pDup uintptr, flags int32) uintptr { /* sqlite3.c:104166:23: */ +func Xsqlite3SelectDup(tls *libc.TLS, db uintptr, pDup uintptr, flags int32) uintptr { /* sqlite3.c:104179:23: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -83870,9 +83889,9 @@ func Xsqlite3SelectDup(tls *libc.TLS, db uintptr, pDup uintptr, flags int32) uin // If a memory allocation error occurs, the entire list is freed and // NULL is returned. If non-NULL is returned, then it is guaranteed // that the new entry was successfully appended. -var zeroItem = ExprList_item{} /* sqlite3.c:104237:35 */ +var zeroItem = ExprList_item{} /* sqlite3.c:104250:35 */ -func Xsqlite3ExprListAppendNew(tls *libc.TLS, db uintptr, pExpr uintptr) uintptr { /* sqlite3.c:104238:41: */ +func Xsqlite3ExprListAppendNew(tls *libc.TLS, db uintptr, pExpr uintptr) uintptr { /* sqlite3.c:104251:41: */ var pItem uintptr var pList uintptr @@ -83889,7 +83908,7 @@ func Xsqlite3ExprListAppendNew(tls *libc.TLS, db uintptr, pExpr uintptr) uintptr return pList } -func Xsqlite3ExprListAppendGrow(tls *libc.TLS, db uintptr, pList uintptr, pExpr uintptr) uintptr { /* sqlite3.c:104257:41: */ +func Xsqlite3ExprListAppendGrow(tls *libc.TLS, db uintptr, pList uintptr, pExpr uintptr) uintptr { /* sqlite3.c:104270:41: */ var pItem uintptr var pNew uintptr *(*int32)(unsafe.Pointer(pList + 4)) *= 2 @@ -83908,7 +83927,7 @@ func Xsqlite3ExprListAppendGrow(tls *libc.TLS, db uintptr, pList uintptr, pExpr return pList } -func Xsqlite3ExprListAppend(tls *libc.TLS, pParse uintptr, pList uintptr, pExpr uintptr) uintptr { /* sqlite3.c:104279:25: */ +func Xsqlite3ExprListAppend(tls *libc.TLS, pParse uintptr, pList uintptr, pExpr uintptr) uintptr { /* sqlite3.c:104292:25: */ var pItem uintptr if pList == uintptr(0) { return Xsqlite3ExprListAppendNew(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, pExpr) @@ -83931,7 +83950,7 @@ func Xsqlite3ExprListAppend(tls *libc.TLS, pParse uintptr, pList uintptr, pExpr // For each term of the vector assignment, append new entries to the // expression list pList. In the case of a subquery on the RHS, append // TK_SELECT_COLUMN expressions. -func Xsqlite3ExprListAppendVector(tls *libc.TLS, pParse uintptr, pList uintptr, pColumns uintptr, pExpr uintptr) uintptr { /* sqlite3.c:104308:25: */ +func Xsqlite3ExprListAppendVector(tls *libc.TLS, pParse uintptr, pList uintptr, pColumns uintptr, pExpr uintptr) uintptr { /* sqlite3.c:104321:25: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -84028,7 +84047,7 @@ vector_append_error: } // Set the sort order for the last element on the given ExprList. -func Xsqlite3ExprListSetSortOrder(tls *libc.TLS, p uintptr, iSortOrder int32, eNulls int32) { /* sqlite3.c:104370:21: */ +func Xsqlite3ExprListSetSortOrder(tls *libc.TLS, p uintptr, iSortOrder int32, eNulls int32) { /* sqlite3.c:104383:21: */ var pItem uintptr if p == uintptr(0) { return @@ -84055,7 +84074,7 @@ func Xsqlite3ExprListSetSortOrder(tls *libc.TLS, p uintptr, iSortOrder int32, eN // pList might be NULL following an OOM error. But pName should never be // NULL. If a memory allocation fails, the pParse->db->mallocFailed flag // is set. -func Xsqlite3ExprListSetName(tls *libc.TLS, pParse uintptr, pList uintptr, pName uintptr, dequote int32) { /* sqlite3.c:104408:21: */ +func Xsqlite3ExprListSetName(tls *libc.TLS, pParse uintptr, pList uintptr, pName uintptr, dequote int32) { /* sqlite3.c:104421:21: */ if pList != 0 { var pItem uintptr @@ -84081,7 +84100,7 @@ func Xsqlite3ExprListSetName(tls *libc.TLS, pParse uintptr, pList uintptr, pName // pList might be NULL following an OOM error. But pSpan should never be // NULL. If a memory allocation fails, the pParse->db->mallocFailed flag // is set. -func Xsqlite3ExprListSetSpan(tls *libc.TLS, pParse uintptr, pList uintptr, zStart uintptr, zEnd uintptr) { /* sqlite3.c:104443:21: */ +func Xsqlite3ExprListSetSpan(tls *libc.TLS, pParse uintptr, pList uintptr, zStart uintptr, zEnd uintptr) { /* sqlite3.c:104456:21: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb if pList != 0 { @@ -84096,7 +84115,7 @@ func Xsqlite3ExprListSetSpan(tls *libc.TLS, pParse uintptr, pList uintptr, zStar // If the expression list pEList contains more than iLimit elements, // leave an error message in pParse. -func Xsqlite3ExprListCheckLength(tls *libc.TLS, pParse uintptr, pEList uintptr, zObject uintptr) { /* sqlite3.c:104465:21: */ +func Xsqlite3ExprListCheckLength(tls *libc.TLS, pParse uintptr, pEList uintptr, zObject uintptr) { /* sqlite3.c:104478:21: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -84108,7 +84127,7 @@ func Xsqlite3ExprListCheckLength(tls *libc.TLS, pParse uintptr, pEList uintptr, } // Delete an entire expression list. -func exprListDeleteNN(tls *libc.TLS, db uintptr, pList uintptr) { /* sqlite3.c:104481:29: */ +func exprListDeleteNN(tls *libc.TLS, db uintptr, pList uintptr) { /* sqlite3.c:104494:29: */ var i int32 = (*ExprList)(unsafe.Pointer(pList)).FnExpr var pItem uintptr = pList + 8 /* &.a */ @@ -84120,7 +84139,7 @@ func exprListDeleteNN(tls *libc.TLS, db uintptr, pList uintptr) { /* sqlite3.c:1 Xsqlite3DbFreeNN(tls, db, pList) } -func Xsqlite3ExprListDelete(tls *libc.TLS, db uintptr, pList uintptr) { /* sqlite3.c:104492:21: */ +func Xsqlite3ExprListDelete(tls *libc.TLS, db uintptr, pList uintptr) { /* sqlite3.c:104505:21: */ if pList != 0 { exprListDeleteNN(tls, db, pList) } @@ -84128,7 +84147,7 @@ func Xsqlite3ExprListDelete(tls *libc.TLS, db uintptr, pList uintptr) { /* sqlit // Return the bitwise-OR of all Expr.flags fields in the given // ExprList. -func Xsqlite3ExprListFlags(tls *libc.TLS, pList uintptr) U32 { /* sqlite3.c:104500:20: */ +func Xsqlite3ExprListFlags(tls *libc.TLS, pList uintptr) U32 { /* sqlite3.c:104513:20: */ var i int32 var m U32 = U32(0) @@ -84145,7 +84164,7 @@ func Xsqlite3ExprListFlags(tls *libc.TLS, pList uintptr) U32 { /* sqlite3.c:1045 // pWalker->eCode to zero and abort. // // This callback is used by multiple expression walkers. -func Xsqlite3SelectWalkFail(tls *libc.TLS, pWalker uintptr, NotUsed uintptr) int32 { /* sqlite3.c:104519:20: */ +func Xsqlite3SelectWalkFail(tls *libc.TLS, pWalker uintptr, NotUsed uintptr) int32 { /* sqlite3.c:104532:20: */ _ = NotUsed (*Walker)(unsafe.Pointer(pWalker)).FeCode = U16(0) return WRC_Abort @@ -84157,7 +84176,7 @@ func Xsqlite3SelectWalkFail(tls *libc.TLS, pWalker uintptr, NotUsed uintptr) int // "true" EP_IsTrue // "false" EP_IsFalse // anything else 0 -func Xsqlite3IsTrueOrFalse(tls *libc.TLS, zIn uintptr) U32 { /* sqlite3.c:104533:20: */ +func Xsqlite3IsTrueOrFalse(tls *libc.TLS, zIn uintptr) U32 { /* sqlite3.c:104546:20: */ if Xsqlite3StrICmp(tls, zIn, ts+6646) == 0 { return U32(EP_IsTrue) } @@ -84170,7 +84189,7 @@ func Xsqlite3IsTrueOrFalse(tls *libc.TLS, zIn uintptr) U32 { /* sqlite3.c:104533 // If the input expression is an ID with the name "true" or "false" // then convert it into an TK_TRUEFALSE term. Return non-zero if // the conversion happened, and zero if the expression is unaltered. -func Xsqlite3ExprIdToTrueFalse(tls *libc.TLS, pExpr uintptr) int32 { /* sqlite3.c:104545:20: */ +func Xsqlite3ExprIdToTrueFalse(tls *libc.TLS, pExpr uintptr) int32 { /* sqlite3.c:104558:20: */ var v U32 if !((*Expr)(unsafe.Pointer(pExpr)).Fflags&U32(EP_Quoted|EP_IntValue) != U32(0)) && @@ -84184,7 +84203,7 @@ func Xsqlite3ExprIdToTrueFalse(tls *libc.TLS, pExpr uintptr) int32 { /* sqlite3. // The argument must be a TK_TRUEFALSE Expr node. Return 1 if it is TRUE // and 0 if it is FALSE. -func Xsqlite3ExprTruthValue(tls *libc.TLS, pExpr uintptr) int32 { /* sqlite3.c:104562:20: */ +func Xsqlite3ExprTruthValue(tls *libc.TLS, pExpr uintptr) int32 { /* sqlite3.c:104575:20: */ pExpr = Xsqlite3ExprSkipCollate(tls, pExpr) return libc.Bool32(int32(*(*int8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pExpr + 8)) + 4))) == 0) @@ -84201,7 +84220,7 @@ func Xsqlite3ExprTruthValue(tls *libc.TLS, pExpr uintptr) int32 { /* sqlite3.c:1 // (x<10) AND (y=22 OR false) => (x<10) AND (y=22) // (x<10) AND (y=22 OR true) => (x<10) // (y=22) OR true => true -func Xsqlite3ExprSimplifiedAndOr(tls *libc.TLS, pExpr uintptr) uintptr { /* sqlite3.c:104584:21: */ +func Xsqlite3ExprSimplifiedAndOr(tls *libc.TLS, pExpr uintptr) uintptr { /* sqlite3.c:104597:21: */ if int32((*Expr)(unsafe.Pointer(pExpr)).Fop) == TK_AND || int32((*Expr)(unsafe.Pointer(pExpr)).Fop) == TK_OR { var pRight uintptr = Xsqlite3ExprSimplifiedAndOr(tls, (*Expr)(unsafe.Pointer(pExpr)).FpRight) @@ -84247,7 +84266,7 @@ func Xsqlite3ExprSimplifiedAndOr(tls *libc.TLS, pExpr uintptr) uintptr { /* sqli // contain a bound parameter because they were generated by older versions // of SQLite to be parsed by newer versions of SQLite without raising a // malformed schema error. -func exprNodeIsConstant(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:104625:12: */ +func exprNodeIsConstant(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:104638:12: */ // If pWalker->eCode is 2 then any term of the expression that comes from // the ON or USING clauses of a left join disqualifies the expression @@ -84322,7 +84341,7 @@ func exprNodeIsConstant(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { / return int32(0) } -func exprIsConst(tls *libc.TLS, p uintptr, initFlag int32, iCur int32) int32 { /* sqlite3.c:104697:12: */ +func exprIsConst(tls *libc.TLS, p uintptr, initFlag int32, iCur int32) int32 { /* sqlite3.c:104710:12: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -84346,7 +84365,7 @@ func exprIsConst(tls *libc.TLS, p uintptr, initFlag int32, iCur int32) int32 { / // For the purposes of this function, a double-quoted string (ex: "abc") // is considered a variable but a single-quoted string (ex: 'abc') is // a constant. -func Xsqlite3ExprIsConstant(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:104718:20: */ +func Xsqlite3ExprIsConstant(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:104731:20: */ return exprIsConst(tls, p, 1, 0) } @@ -84361,7 +84380,7 @@ func Xsqlite3ExprIsConstant(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:10471 // When this routine returns true, it indicates that the expression // can be added to the pParse->pConstExpr list and evaluated once when // the prepared statement starts up. See sqlite3ExprCodeRunJustOnce(). -func Xsqlite3ExprIsConstantNotJoin(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:104735:20: */ +func Xsqlite3ExprIsConstantNotJoin(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:104748:20: */ return exprIsConst(tls, p, 2, 0) } @@ -84369,12 +84388,12 @@ func Xsqlite3ExprIsConstantNotJoin(tls *libc.TLS, p uintptr) int32 { /* sqlite3. // for any single row of the table with cursor iCur. In other words, the // expression must not refer to any non-deterministic function nor any // table other than iCur. -func Xsqlite3ExprIsTableConstant(tls *libc.TLS, p uintptr, iCur int32) int32 { /* sqlite3.c:104745:20: */ +func Xsqlite3ExprIsTableConstant(tls *libc.TLS, p uintptr, iCur int32) int32 { /* sqlite3.c:104758:20: */ return exprIsConst(tls, p, 3, iCur) } // sqlite3WalkExpr() callback used by sqlite3ExprIsConstantOrGroupBy(). -func exprNodeIsConstantOrGroupBy(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:104753:12: */ +func exprNodeIsConstantOrGroupBy(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:104766:12: */ var pGroupBy uintptr = *(*uintptr)(unsafe.Pointer(pWalker + 40)) var i int32 @@ -84416,7 +84435,7 @@ func exprNodeIsConstantOrGroupBy(tls *libc.TLS, pWalker uintptr, pExpr uintptr) // alternative collating sequences are uncommon, and this is only an // optimization, so we take the easy way out and simply require the // GROUP BY to use the BINARY collating sequence. -func Xsqlite3ExprIsConstantOrGroupBy(tls *libc.TLS, pParse uintptr, p uintptr, pGroupBy uintptr) int32 { /* sqlite3.c:104797:20: */ +func Xsqlite3ExprIsConstantOrGroupBy(tls *libc.TLS, pParse uintptr, p uintptr, pGroupBy uintptr) int32 { /* sqlite3.c:104810:20: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -84452,7 +84471,7 @@ func Xsqlite3ExprIsConstantOrGroupBy(tls *libc.TLS, pParse uintptr, p uintptr, p // For the purposes of this function, a double-quoted string (ex: "abc") // is considered a variable but a single-quoted string (ex: 'abc') is // a constant. -func Xsqlite3ExprIsConstantOrFunction(tls *libc.TLS, p uintptr, isInit U8) int32 { /* sqlite3.c:104829:20: */ +func Xsqlite3ExprIsConstantOrFunction(tls *libc.TLS, p uintptr, isInit U8) int32 { /* sqlite3.c:104842:20: */ return exprIsConst(tls, p, 4+int32(isInit), 0) } @@ -84461,7 +84480,7 @@ func Xsqlite3ExprIsConstantOrFunction(tls *libc.TLS, p uintptr, isInit U8) int32 // to fit in a 32-bit integer, return 1 and put the value of the integer // in *pValue. If the expression is not an integer or if it is too big // to fit in a signed 32-bit integer, return 0 and leave *pValue unchanged. -func Xsqlite3ExprIsInteger(tls *libc.TLS, p uintptr, pValue uintptr) int32 { /* sqlite3.c:104858:20: */ +func Xsqlite3ExprIsInteger(tls *libc.TLS, p uintptr, pValue uintptr) int32 { /* sqlite3.c:104871:20: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -84513,7 +84532,7 @@ func Xsqlite3ExprIsInteger(tls *libc.TLS, p uintptr, pValue uintptr) int32 { /* // hand, a false negative (returning FALSE when the result could be NULL) // will likely result in an incorrect answer. So when in doubt, return // TRUE. -func Xsqlite3ExprCanBeNull(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:104904:20: */ +func Xsqlite3ExprCanBeNull(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:104917:20: */ var op U8 for int32((*Expr)(unsafe.Pointer(p)).Fop) == TK_UPLUS || int32((*Expr)(unsafe.Pointer(p)).Fop) == TK_UMINUS { @@ -84552,7 +84571,7 @@ func Xsqlite3ExprCanBeNull(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:104904 // can be omitted. When in doubt return FALSE. A false negative // is harmless. A false positive, however, can result in the wrong // answer. -func Xsqlite3ExprNeedsNoAffinityChange(tls *libc.TLS, p uintptr, aff int8) int32 { /* sqlite3.c:104941:20: */ +func Xsqlite3ExprNeedsNoAffinityChange(tls *libc.TLS, p uintptr, aff int8) int32 { /* sqlite3.c:104954:20: */ var op U8 var unaryMinus int32 = 0 if int32(aff) == SQLITE_AFF_BLOB { @@ -84605,7 +84624,7 @@ func Xsqlite3ExprNeedsNoAffinityChange(tls *libc.TLS, p uintptr, aff int8) int32 } // Return TRUE if the given string is a row-id column name. -func Xsqlite3IsRowid(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:104977:20: */ +func Xsqlite3IsRowid(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:104990:20: */ if Xsqlite3StrICmp(tls, z, ts+7592) == 0 { return 1 } @@ -84623,7 +84642,7 @@ func Xsqlite3IsRowid(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:104977:20: * // a pointer to the SELECT statement. If pX is not a SELECT statement, // or if the SELECT statement needs to be manifested into a transient // table, then return NULL. -func isCandidateForInOpt(tls *libc.TLS, pX uintptr) uintptr { /* sqlite3.c:104992:15: */ +func isCandidateForInOpt(tls *libc.TLS, pX uintptr) uintptr { /* sqlite3.c:105005:15: */ var p uintptr var pSrc uintptr var pEList uintptr @@ -84681,7 +84700,7 @@ func isCandidateForInOpt(tls *libc.TLS, pX uintptr) uintptr { /* sqlite3.c:10499 // it contains any NULL entries. Cause the register at regHasNull to be set // to a non-NULL value if iCur contains no NULLs. Cause register regHasNull // to be set to NULL if iCur contains one or more NULL values. -func sqlite3SetHasNullFlag(tls *libc.TLS, v uintptr, iCur int32, regHasNull int32) { /* sqlite3.c:105037:13: */ +func sqlite3SetHasNullFlag(tls *libc.TLS, v uintptr, iCur int32, regHasNull int32) { /* sqlite3.c:105050:13: */ var addr1 int32 Xsqlite3VdbeAddOp2(tls, v, OP_Integer, 0, regHasNull) addr1 = Xsqlite3VdbeAddOp1(tls, v, OP_Rewind, iCur) @@ -84693,7 +84712,7 @@ func sqlite3SetHasNullFlag(tls *libc.TLS, v uintptr, iCur int32, regHasNull int3 // The argument is an IN operator with a list (not a subquery) on the // right-hand side. Return TRUE if that list is constant. -func sqlite3InRhsIsConstant(tls *libc.TLS, pIn uintptr) int32 { /* sqlite3.c:105054:12: */ +func sqlite3InRhsIsConstant(tls *libc.TLS, pIn uintptr) int32 { /* sqlite3.c:105067:12: */ var pLHS uintptr var res int32 @@ -84782,7 +84801,7 @@ func sqlite3InRhsIsConstant(tls *libc.TLS, pIn uintptr) int32 { /* sqlite3.c:105 // CREATE INDEX i1 ON t1(b, c, a); // // then aiMap[] is populated with {2, 0, 1}. -func Xsqlite3FindInIndex(tls *libc.TLS, pParse uintptr, pX uintptr, inFlags U32, prRhsHasNull uintptr, aiMap uintptr, piTab uintptr) int32 { /* sqlite3.c:105147:20: */ +func Xsqlite3FindInIndex(tls *libc.TLS, pParse uintptr, pX uintptr, inFlags U32, prRhsHasNull uintptr, aiMap uintptr, piTab uintptr) int32 { /* sqlite3.c:105160:20: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -85000,7 +85019,7 @@ func Xsqlite3FindInIndex(tls *libc.TLS, pParse uintptr, pX uintptr, inFlags U32, // // It is the responsibility of the caller to ensure that the returned // string is eventually freed using sqlite3DbFree(). -func exprINAffinity(tls *libc.TLS, pParse uintptr, pExpr uintptr) uintptr { /* sqlite3.c:105370:13: */ +func exprINAffinity(tls *libc.TLS, pParse uintptr, pExpr uintptr) uintptr { /* sqlite3.c:105383:13: */ var pLeft uintptr = (*Expr)(unsafe.Pointer(pExpr)).FpLeft var nVal int32 = Xsqlite3ExprVectorSize(tls, pLeft) var pSelect uintptr @@ -85032,7 +85051,7 @@ func exprINAffinity(tls *libc.TLS, pParse uintptr, pExpr uintptr) uintptr { /* s // message of the form: // // "sub-select returns N columns - expected M" -func Xsqlite3SubselectError(tls *libc.TLS, pParse uintptr, nActual int32, nExpect int32) { /* sqlite3.c:105402:21: */ +func Xsqlite3SubselectError(tls *libc.TLS, pParse uintptr, nActual int32, nExpect int32) { /* sqlite3.c:105415:21: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -85051,7 +85070,7 @@ func Xsqlite3SubselectError(tls *libc.TLS, pParse uintptr, nActual int32, nExpec // Or, if it is a regular scalar vector: // // "row value misused" -func Xsqlite3VectorErrorMsg(tls *libc.TLS, pParse uintptr, pExpr uintptr) { /* sqlite3.c:105421:21: */ +func Xsqlite3VectorErrorMsg(tls *libc.TLS, pParse uintptr, pExpr uintptr) { /* sqlite3.c:105434:21: */ if (*Expr)(unsafe.Pointer(pExpr)).Fflags&U32(EP_xIsSelect) != U32(0) { Xsqlite3SubselectError(tls, pParse, (*ExprList)(unsafe.Pointer((*Select)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pExpr + 32)))).FpEList)).FnExpr, 1) } else { @@ -85079,7 +85098,7 @@ func Xsqlite3VectorErrorMsg(tls *libc.TLS, pParse uintptr, pExpr uintptr) { /* s // if either column has NUMERIC or INTEGER affinity. If neither // 'x' nor the SELECT... statement are columns, then numeric affinity // is used. -func Xsqlite3CodeRhsOfIN(tls *libc.TLS, pParse uintptr, pExpr uintptr, iTab int32) { /* sqlite3.c:105455:21: */ +func Xsqlite3CodeRhsOfIN(tls *libc.TLS, pParse uintptr, pExpr uintptr, iTab int32) { /* sqlite3.c:105468:21: */ bp := tls.Alloc(65) defer tls.Free(65) @@ -85274,7 +85293,7 @@ func Xsqlite3CodeRhsOfIN(tls *libc.TLS, pParse uintptr, pExpr uintptr, iTab int3 // the result is stored in a contiguous array of registers and the // return value is the register of the left-most result column. // Return 0 if an error occurs. -func Xsqlite3CodeSubselect(tls *libc.TLS, pParse uintptr, pExpr uintptr) int32 { /* sqlite3.c:105650:20: */ +func Xsqlite3CodeSubselect(tls *libc.TLS, pParse uintptr, pExpr uintptr) int32 { /* sqlite3.c:105663:20: */ bp := tls.Alloc(64) defer tls.Free(64) @@ -85397,7 +85416,7 @@ func Xsqlite3CodeSubselect(tls *libc.TLS, pParse uintptr, pExpr uintptr) int32 { // sub-select on the RHS of the IN() operator has the same number of // columns as the vector on the LHS. Or, if the RHS of the IN() is not // a sub-query, that the LHS is a vector of size 1. -func Xsqlite3ExprCheckIN(tls *libc.TLS, pParse uintptr, pIn uintptr) int32 { /* sqlite3.c:105772:20: */ +func Xsqlite3ExprCheckIN(tls *libc.TLS, pParse uintptr, pIn uintptr) int32 { /* sqlite3.c:105785:20: */ var nVector int32 = Xsqlite3ExprVectorSize(tls, (*Expr)(unsafe.Pointer(pIn)).FpLeft) if (*Expr)(unsafe.Pointer(pIn)).Fflags&U32(EP_xIsSelect) != U32(0) && !(int32((*Sqlite3)(unsafe.Pointer((*Parse)(unsafe.Pointer(pParse)).Fdb)).FmallocFailed) != 0) { if nVector != (*ExprList)(unsafe.Pointer((*Select)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pIn + 32)))).FpEList)).FnExpr { @@ -85434,7 +85453,7 @@ func Xsqlite3ExprCheckIN(tls *libc.TLS, pParse uintptr, pIn uintptr) int32 { /* // // See the separate in-operator.md documentation file in the canonical // SQLite source tree for additional information. -func sqlite3ExprCodeIN(tls *libc.TLS, pParse uintptr, pExpr uintptr, destIfFalse int32, destIfNull int32) { /* sqlite3.c:105813:13: */ +func sqlite3ExprCodeIN(tls *libc.TLS, pParse uintptr, pExpr uintptr, destIfFalse int32, destIfNull int32) { /* sqlite3.c:105826:13: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -85815,7 +85834,7 @@ sqlite3ExprCodeIN_oom_error: // The z[] string will probably not be zero-terminated. But the // z[n] character is guaranteed to be something that does not look // like the continuation of the number. -func codeReal(tls *libc.TLS, v uintptr, z uintptr, negateFlag int32, iMem int32) { /* sqlite3.c:106071:13: */ +func codeReal(tls *libc.TLS, v uintptr, z uintptr, negateFlag int32, iMem int32) { /* sqlite3.c:106084:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -85835,7 +85854,7 @@ func codeReal(tls *libc.TLS, v uintptr, z uintptr, negateFlag int32, iMem int32) // text z[0..n-1] into register iMem. // // Expr.u.zToken is always UTF8 and zero-terminated. -func codeInteger(tls *libc.TLS, pParse uintptr, pExpr uintptr, negFlag int32, iMem int32) { /* sqlite3.c:106089:13: */ +func codeInteger(tls *libc.TLS, pParse uintptr, pExpr uintptr, negFlag int32, iMem int32) { /* sqlite3.c:106102:13: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -85881,7 +85900,7 @@ func codeInteger(tls *libc.TLS, pParse uintptr, pExpr uintptr, negFlag int32, iM // Generate code that will load into register regOut a value that is // appropriate for the iIdxCol-th column of index pIdx. -func Xsqlite3ExprCodeLoadIndexColumn(tls *libc.TLS, pParse uintptr, pIdx uintptr, iTabCur int32, iIdxCol int32, regOut int32) { /* sqlite3.c:106127:21: */ +func Xsqlite3ExprCodeLoadIndexColumn(tls *libc.TLS, pParse uintptr, pIdx uintptr, iTabCur int32, iIdxCol int32, regOut int32) { /* sqlite3.c:106140:21: */ var iTabCol I16 = *(*I16)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FaiColumn + uintptr(iIdxCol)*2)) if int32(iTabCol) == -2 { @@ -85896,7 +85915,7 @@ func Xsqlite3ExprCodeLoadIndexColumn(tls *libc.TLS, pParse uintptr, pIdx uintptr // Generate code that will compute the value of generated column pCol // and store the result in register regOut -func Xsqlite3ExprCodeGeneratedColumn(tls *libc.TLS, pParse uintptr, pTab uintptr, pCol uintptr, regOut int32) { /* sqlite3.c:106152:21: */ +func Xsqlite3ExprCodeGeneratedColumn(tls *libc.TLS, pParse uintptr, pTab uintptr, pCol uintptr, regOut int32) { /* sqlite3.c:106165:21: */ var iAddr int32 var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe @@ -85915,7 +85934,7 @@ func Xsqlite3ExprCodeGeneratedColumn(tls *libc.TLS, pParse uintptr, pTab uintptr } // Generate code to extract the value of the iCol-th column of a table. -func Xsqlite3ExprCodeGetColumnOfTable(tls *libc.TLS, v uintptr, pTab uintptr, iTabCur int32, iCol int32, regOut int32) { /* sqlite3.c:106178:21: */ +func Xsqlite3ExprCodeGetColumnOfTable(tls *libc.TLS, v uintptr, pTab uintptr, iTabCur int32, iCol int32, regOut int32) { /* sqlite3.c:106191:21: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -85966,7 +85985,7 @@ func Xsqlite3ExprCodeGetColumnOfTable(tls *libc.TLS, v uintptr, pTab uintptr, iT // // There must be an open cursor to pTab in iTable when this routine // is called. If iColumn<0 then code is generated that extracts the rowid. -func Xsqlite3ExprCodeGetColumn(tls *libc.TLS, pParse uintptr, pTab uintptr, iColumn int32, iTable int32, iReg int32, p5 U8) int32 { /* sqlite3.c:106236:20: */ +func Xsqlite3ExprCodeGetColumn(tls *libc.TLS, pParse uintptr, pTab uintptr, iColumn int32, iTable int32, iReg int32, p5 U8) int32 { /* sqlite3.c:106249:20: */ Xsqlite3ExprCodeGetColumnOfTable(tls, (*Parse)(unsafe.Pointer(pParse)).FpVdbe, pTab, iTable, iColumn, iReg) if p5 != 0 { @@ -85980,14 +85999,14 @@ func Xsqlite3ExprCodeGetColumn(tls *libc.TLS, pParse uintptr, pTab uintptr, iCol // Generate code to move content from registers iFrom...iFrom+nReg-1 // over to iTo..iTo+nReg-1. -func Xsqlite3ExprCodeMove(tls *libc.TLS, pParse uintptr, iFrom int32, iTo int32, nReg int32) { /* sqlite3.c:106257:21: */ +func Xsqlite3ExprCodeMove(tls *libc.TLS, pParse uintptr, iFrom int32, iTo int32, nReg int32) { /* sqlite3.c:106270:21: */ Xsqlite3VdbeAddOp3(tls, (*Parse)(unsafe.Pointer(pParse)).FpVdbe, OP_Move, iFrom, iTo, nReg) } // Convert a scalar expression node to a TK_REGISTER referencing // register iReg. The caller must ensure that iReg already contains // the correct value for the expression. -func exprToRegister(tls *libc.TLS, pExpr uintptr, iReg int32) { /* sqlite3.c:106266:13: */ +func exprToRegister(tls *libc.TLS, pExpr uintptr, iReg int32) { /* sqlite3.c:106279:13: */ var p uintptr = Xsqlite3ExprSkipCollateAndLikely(tls, pExpr) if p == uintptr(0) { return @@ -86006,7 +86025,7 @@ func exprToRegister(tls *libc.TLS, pExpr uintptr, iReg int32) { /* sqlite3.c:106 // that register number into *piFreeable. If the returned result register // is not a temporary or if the expression is a vector set *piFreeable // to 0. -func exprCodeVector(tls *libc.TLS, pParse uintptr, p uintptr, piFreeable uintptr) int32 { /* sqlite3.c:106285:12: */ +func exprCodeVector(tls *libc.TLS, pParse uintptr, p uintptr, piFreeable uintptr) int32 { /* sqlite3.c:106298:12: */ var iResult int32 var nResult int32 = Xsqlite3ExprVectorSize(tls, p) if nResult == 1 { @@ -86030,7 +86049,7 @@ func exprCodeVector(tls *libc.TLS, pParse uintptr, p uintptr, piFreeable uintptr // If the last opcode is a OP_Copy, then set the do-not-merge flag (p5) // so that a subsequent copy will not be merged into this one. -func setDoNotMergeFlagOnCopy(tls *libc.TLS, v uintptr) { /* sqlite3.c:106315:13: */ +func setDoNotMergeFlagOnCopy(tls *libc.TLS, v uintptr) { /* sqlite3.c:106328:13: */ if int32((*VdbeOp)(unsafe.Pointer(Xsqlite3VdbeGetOp(tls, v, -1))).Fopcode) == OP_Copy { Xsqlite3VdbeChangeP5(tls, v, uint16(1)) // Tag trailing OP_Copy as not mergable } @@ -86038,7 +86057,7 @@ func setDoNotMergeFlagOnCopy(tls *libc.TLS, v uintptr) { /* sqlite3.c:106315:13: // Generate code to implement special SQL functions that are implemented // in-line rather than by using the usual callbacks. -func exprCodeInlineFunction(tls *libc.TLS, pParse uintptr, pFarg uintptr, iFuncId int32, target int32) int32 { /* sqlite3.c:106325:12: */ +func exprCodeInlineFunction(tls *libc.TLS, pParse uintptr, pFarg uintptr, iFuncId int32, target int32) int32 { /* sqlite3.c:106338:12: */ bp := tls.Alloc(112) defer tls.Free(112) @@ -86163,7 +86182,7 @@ func exprCodeInlineFunction(tls *libc.TLS, pParse uintptr, pFarg uintptr, iFuncI // register if it is convenient to do so. The calling function // must check the return code and move the results to the desired // register. -func Xsqlite3ExprCodeTarget(tls *libc.TLS, pParse uintptr, pExpr uintptr, target int32) int32 { /* sqlite3.c:106441:20: */ +func Xsqlite3ExprCodeTarget(tls *libc.TLS, pParse uintptr, pExpr uintptr, target int32) int32 { /* sqlite3.c:106454:20: */ bp := tls.Alloc(192) defer tls.Free(192) @@ -87232,7 +87251,7 @@ __3: return inReg } -var zAff = *(*[8]int8)(unsafe.Pointer(ts + 8011)) /* sqlite3.c:106508:29 */ +var zAff = *(*[8]int8)(unsafe.Pointer(ts + 8011)) /* sqlite3.c:106521:29 */ // Generate code that will evaluate expression pExpr just one time // per prepared statement execution. @@ -87249,7 +87268,7 @@ var zAff = *(*[8]int8)(unsafe.Pointer(ts + 8011)) /* sqlite3.c:106508:29 */ // code to the same register, if they do not contain function calls and hence // are factored out into the initialization section at the end of the // prepared statement. -func Xsqlite3ExprCodeRunJustOnce(tls *libc.TLS, pParse uintptr, pExpr uintptr, regDest int32) int32 { /* sqlite3.c:107215:20: */ +func Xsqlite3ExprCodeRunJustOnce(tls *libc.TLS, pParse uintptr, pExpr uintptr, regDest int32) int32 { /* sqlite3.c:107228:20: */ var p uintptr p = (*Parse)(unsafe.Pointer(pParse)).FpConstExpr @@ -87318,7 +87337,7 @@ func Xsqlite3ExprCodeRunJustOnce(tls *libc.TLS, pParse uintptr, pExpr uintptr, r // If pExpr is a constant, then this routine might generate this // code to fill the register in the initialization section of the // VDBE program, in order to factor it out of the evaluation loop. -func Xsqlite3ExprCodeTemp(tls *libc.TLS, pParse uintptr, pExpr uintptr, pReg uintptr) int32 { /* sqlite3.c:107272:20: */ +func Xsqlite3ExprCodeTemp(tls *libc.TLS, pParse uintptr, pExpr uintptr, pReg uintptr) int32 { /* sqlite3.c:107285:20: */ var r2 int32 pExpr = Xsqlite3ExprSkipCollateAndLikely(tls, pExpr) if (*Parse)(unsafe.Pointer(pParse)).FokConstFactor != 0 && @@ -87343,7 +87362,7 @@ func Xsqlite3ExprCodeTemp(tls *libc.TLS, pParse uintptr, pExpr uintptr, pReg uin // Generate code that will evaluate expression pExpr and store the // results in register target. The results are guaranteed to appear // in register target. -func Xsqlite3ExprCode(tls *libc.TLS, pParse uintptr, pExpr uintptr, target int32) { /* sqlite3.c:107300:21: */ +func Xsqlite3ExprCode(tls *libc.TLS, pParse uintptr, pExpr uintptr, target int32) { /* sqlite3.c:107313:21: */ var inReg int32 if (*Parse)(unsafe.Pointer(pParse)).FpVdbe == uintptr(0) { @@ -87364,7 +87383,7 @@ func Xsqlite3ExprCode(tls *libc.TLS, pParse uintptr, pExpr uintptr, target int32 // Make a transient copy of expression pExpr and then code it using // sqlite3ExprCode(). This routine works just like sqlite3ExprCode() // except that the input expression is guaranteed to be unchanged. -func Xsqlite3ExprCodeCopy(tls *libc.TLS, pParse uintptr, pExpr uintptr, target int32) { /* sqlite3.c:107324:21: */ +func Xsqlite3ExprCodeCopy(tls *libc.TLS, pParse uintptr, pExpr uintptr, target int32) { /* sqlite3.c:107337:21: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb pExpr = Xsqlite3ExprDup(tls, db, pExpr, 0) if !(int32((*Sqlite3)(unsafe.Pointer(db)).FmallocFailed) != 0) { @@ -87377,7 +87396,7 @@ func Xsqlite3ExprCodeCopy(tls *libc.TLS, pParse uintptr, pExpr uintptr, target i // results in register target. The results are guaranteed to appear // in register target. If the expression is constant, then this routine // might choose to code the expression at initialization time. -func Xsqlite3ExprCodeFactorable(tls *libc.TLS, pParse uintptr, pExpr uintptr, target int32) { /* sqlite3.c:107337:21: */ +func Xsqlite3ExprCodeFactorable(tls *libc.TLS, pParse uintptr, pExpr uintptr, target int32) { /* sqlite3.c:107350:21: */ if (*Parse)(unsafe.Pointer(pParse)).FokConstFactor != 0 && Xsqlite3ExprIsConstantNotJoin(tls, pExpr) != 0 { Xsqlite3ExprCodeRunJustOnce(tls, pParse, pExpr, target) } else { @@ -87403,7 +87422,7 @@ func Xsqlite3ExprCodeFactorable(tls *libc.TLS, pParse uintptr, pExpr uintptr, ta // in registers at srcReg, and so the value can be copied from there. // If SQLITE_ECEL_OMITREF is also set, then the values with u.x.iOrderByCol>0 // are simply omitted rather than being copied from srcReg. -func Xsqlite3ExprCodeExprList(tls *libc.TLS, pParse uintptr, pList uintptr, target int32, srcReg int32, flags U8) int32 { /* sqlite3.c:107365:20: */ +func Xsqlite3ExprCodeExprList(tls *libc.TLS, pParse uintptr, pList uintptr, target int32, srcReg int32, flags U8) int32 { /* sqlite3.c:107378:20: */ var pItem uintptr var i int32 var j int32 @@ -87485,7 +87504,7 @@ __3: // sqlite3ExprIfFalse: Jump to dest if false // // The jumpIfNull parameter is ignored if xJumpIf is NULL. -func exprCodeBetween(tls *libc.TLS, pParse uintptr, pExpr uintptr, dest int32, xJump uintptr, jumpIfNull int32) { /* sqlite3.c:107440:13: */ +func exprCodeBetween(tls *libc.TLS, pParse uintptr, pExpr uintptr, dest int32, xJump uintptr, jumpIfNull int32) { /* sqlite3.c:107453:13: */ bp := tls.Alloc(220) defer tls.Free(220) @@ -87548,7 +87567,7 @@ func exprCodeBetween(tls *libc.TLS, pParse uintptr, pExpr uintptr, dest int32, x // operation. Special comments in vdbe.c and the mkopcodeh.awk script in // the make process cause these values to align. Assert()s in the code // below verify that the numbers are aligned correctly. -func Xsqlite3ExprIfTrue(tls *libc.TLS, pParse uintptr, pExpr uintptr, dest int32, jumpIfNull int32) { /* sqlite3.c:107512:21: */ +func Xsqlite3ExprIfTrue(tls *libc.TLS, pParse uintptr, pExpr uintptr, dest int32, jumpIfNull int32) { /* sqlite3.c:107525:21: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -87778,7 +87797,7 @@ __3: // If the expression evaluates to NULL (neither true nor false) then // jump if jumpIfNull is SQLITE_JUMPIFNULL or fall through if jumpIfNull // is 0. -func Xsqlite3ExprIfFalse(tls *libc.TLS, pParse uintptr, pExpr uintptr, dest int32, jumpIfNull int32) { /* sqlite3.c:107654:21: */ +func Xsqlite3ExprIfFalse(tls *libc.TLS, pParse uintptr, pExpr uintptr, dest int32, jumpIfNull int32) { /* sqlite3.c:107667:21: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -88026,7 +88045,7 @@ __3: // Like sqlite3ExprIfFalse() except that a copy is made of pExpr before // code generation, and that copy is deleted after code generation. This // ensures that the original pExpr is unchanged. -func Xsqlite3ExprIfFalseDup(tls *libc.TLS, pParse uintptr, pExpr uintptr, dest int32, jumpIfNull int32) { /* sqlite3.c:107826:21: */ +func Xsqlite3ExprIfFalseDup(tls *libc.TLS, pParse uintptr, pExpr uintptr, dest int32, jumpIfNull int32) { /* sqlite3.c:107839:21: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb var pCopy uintptr = Xsqlite3ExprDup(tls, db, pExpr, 0) if int32((*Sqlite3)(unsafe.Pointer(db)).FmallocFailed) == 0 { @@ -88046,7 +88065,7 @@ func Xsqlite3ExprIfFalseDup(tls *libc.TLS, pParse uintptr, pExpr uintptr, dest i // same as that currently bound to variable pVar, non-zero is returned. // Otherwise, if the values are not the same or if pExpr is not a simple // SQL value, zero is returned. -func exprCompareVariable(tls *libc.TLS, pParse uintptr, pVar uintptr, pExpr uintptr) int32 { /* sqlite3.c:107848:12: */ +func exprCompareVariable(tls *libc.TLS, pParse uintptr, pVar uintptr, pExpr uintptr) int32 { /* sqlite3.c:107861:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -88100,7 +88119,7 @@ func exprCompareVariable(tls *libc.TLS, pParse uintptr, pVar uintptr, pExpr uint // If pParse is NULL (the normal case) then any TK_VARIABLE term in // Argument pParse should normally be NULL. If it is not NULL and pA or // pB causes a return value of 2. -func Xsqlite3ExprCompare(tls *libc.TLS, pParse uintptr, pA uintptr, pB uintptr, iTab int32) int32 { /* sqlite3.c:107904:20: */ +func Xsqlite3ExprCompare(tls *libc.TLS, pParse uintptr, pA uintptr, pB uintptr, iTab int32) int32 { /* sqlite3.c:107917:20: */ var combinedFlags U32 if pA == uintptr(0) || pB == uintptr(0) { if pB == pA { @@ -88204,7 +88223,7 @@ func Xsqlite3ExprCompare(tls *libc.TLS, pParse uintptr, pA uintptr, pB uintptr, // // Two NULL pointers are considered to be the same. But a NULL pointer // always differs from a non-NULL pointer. -func Xsqlite3ExprListCompare(tls *libc.TLS, pA uintptr, pB uintptr, iTab int32) int32 { /* sqlite3.c:108000:20: */ +func Xsqlite3ExprListCompare(tls *libc.TLS, pA uintptr, pB uintptr, iTab int32) int32 { /* sqlite3.c:108013:20: */ var i int32 if pA == uintptr(0) && pB == uintptr(0) { return 0 @@ -88231,7 +88250,7 @@ func Xsqlite3ExprListCompare(tls *libc.TLS, pA uintptr, pB uintptr, iTab int32) // Like sqlite3ExprCompare() except COLLATE operators at the top-level // are ignored. -func Xsqlite3ExprCompareSkip(tls *libc.TLS, pA uintptr, pB uintptr, iTab int32) int32 { /* sqlite3.c:108019:20: */ +func Xsqlite3ExprCompareSkip(tls *libc.TLS, pA uintptr, pB uintptr, iTab int32) int32 { /* sqlite3.c:108032:20: */ return Xsqlite3ExprCompare(tls, uintptr(0), Xsqlite3ExprSkipCollateAndLikely(tls, pA), Xsqlite3ExprSkipCollateAndLikely(tls, pB), @@ -88242,7 +88261,7 @@ func Xsqlite3ExprCompareSkip(tls *libc.TLS, pA uintptr, pB uintptr, iTab int32) // // Or if seenNot is true, return non-zero if Expr p can only be // non-NULL if pNN is not NULL -func exprImpliesNotNull(tls *libc.TLS, pParse uintptr, p uintptr, pNN uintptr, iTab int32, seenNot int32) int32 { /* sqlite3.c:108032:12: */ +func exprImpliesNotNull(tls *libc.TLS, pParse uintptr, p uintptr, pNN uintptr, iTab int32, seenNot int32) int32 { /* sqlite3.c:108045:12: */ if Xsqlite3ExprCompare(tls, pParse, p, pNN, iTab) == 0 { return libc.Bool32(int32((*Expr)(unsafe.Pointer(pNN)).Fop) != TK_NULL) @@ -88368,7 +88387,7 @@ func exprImpliesNotNull(tls *libc.TLS, pParse uintptr, p uintptr, pNN uintptr, i // When in doubt, return false. Returning true might give a performance // improvement. Returning false might cause a performance reduction, but // it will always give the correct answer and is hence always safe. -func Xsqlite3ExprImpliesExpr(tls *libc.TLS, pParse uintptr, pE1 uintptr, pE2 uintptr, iTab int32) int32 { /* sqlite3.c:108129:20: */ +func Xsqlite3ExprImpliesExpr(tls *libc.TLS, pParse uintptr, pE1 uintptr, pE2 uintptr, iTab int32) int32 { /* sqlite3.c:108142:20: */ if Xsqlite3ExprCompare(tls, pParse, pE1, pE2, iTab) == 0 { return 1 } @@ -88391,7 +88410,7 @@ func Xsqlite3ExprImpliesExpr(tls *libc.TLS, pParse uintptr, pE1 uintptr, pE2 uin // This routine controls an optimization. False positives (setting // pWalker->eCode to 1 when it should not be) are deadly, but false-negatives // (never setting pWalker->eCode) is a harmless missed optimization. -func impliesNotNullRow(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:108161:12: */ +func impliesNotNullRow(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:108174:12: */ if (*Expr)(unsafe.Pointer(pExpr)).Fflags&U32(EP_FromJoin) != U32(0) { return WRC_Prune @@ -88500,7 +88519,7 @@ func impliesNotNullRow(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* // clause requires that some column of the right table of the LEFT JOIN // be non-NULL, then the LEFT JOIN can be safely converted into an // ordinary join. -func Xsqlite3ExprImpliesNonNullRow(tls *libc.TLS, p uintptr, iTab int32) int32 { /* sqlite3.c:108270:20: */ +func Xsqlite3ExprImpliesNonNullRow(tls *libc.TLS, p uintptr, iTab int32) int32 { /* sqlite3.c:108283:20: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -88534,7 +88553,7 @@ func Xsqlite3ExprImpliesNonNullRow(tls *libc.TLS, p uintptr, iTab int32) int32 { // Check to see if there are references to columns in table // pWalker->u.pIdxCover->iCur can be satisfied using the index // pWalker->u.pIdxCover->pIdx. -func exprIdxCover(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:108308:12: */ +func exprIdxCover(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:108321:12: */ if int32((*Expr)(unsafe.Pointer(pExpr)).Fop) == TK_COLUMN && (*Expr)(unsafe.Pointer(pExpr)).FiTable == (*IdxCover)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pWalker + 40)))).FiCur && int32(Xsqlite3TableColumnToIndex(tls, (*IdxCover)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pWalker + 40)))).FpIdx, (*Expr)(unsafe.Pointer(pExpr)).FiColumn)) < 0 { @@ -88552,7 +88571,7 @@ func exprIdxCover(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqli // An index covering an expression means that the expression can be // evaluated using only the index and without having to lookup the // corresponding table entry. -func Xsqlite3ExprCoveredByIndex(tls *libc.TLS, pExpr uintptr, iCur int32, pIdx uintptr) int32 { /* sqlite3.c:108329:20: */ +func Xsqlite3ExprCoveredByIndex(tls *libc.TLS, pExpr uintptr, iCur int32, pIdx uintptr) int32 { /* sqlite3.c:108342:20: */ bp := tls.Alloc(64) defer tls.Free(64) @@ -88577,7 +88596,7 @@ func Xsqlite3ExprCoveredByIndex(tls *libc.TLS, pExpr uintptr, iCur int32, pIdx u // entries for that subquery to the exclude list. // // When leaving the subquery, remove those entries from the exclude list. -func selectRefEnter(tls *libc.TLS, pWalker uintptr, pSelect uintptr) int32 { /* sqlite3.c:108364:12: */ +func selectRefEnter(tls *libc.TLS, pWalker uintptr, pSelect uintptr) int32 { /* sqlite3.c:108377:12: */ var p uintptr = *(*uintptr)(unsafe.Pointer(pWalker + 40)) var pSrc uintptr = (*Select)(unsafe.Pointer(pSelect)).FpSrc var i I64 @@ -88615,7 +88634,7 @@ __3: return WRC_Continue } -func selectRefLeave(tls *libc.TLS, pWalker uintptr, pSelect uintptr) { /* sqlite3.c:108384:13: */ +func selectRefLeave(tls *libc.TLS, pWalker uintptr, pSelect uintptr) { /* sqlite3.c:108397:13: */ var p uintptr = *(*uintptr)(unsafe.Pointer(pWalker + 40)) var pSrc uintptr = (*Select)(unsafe.Pointer(pSelect)).FpSrc if (*RefSrcList)(unsafe.Pointer(p)).FnExclude != 0 { @@ -88631,7 +88650,7 @@ func selectRefLeave(tls *libc.TLS, pWalker uintptr, pSelect uintptr) { /* sqlite // // Set the 0x02 bit of pWalker->eCode if there is a reference to a // table is in neither RefSrcList.pRef nor RefSrcList.aiExclude. -func exprRefToSrcList(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:108401:12: */ +func exprRefToSrcList(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:108414:12: */ if int32((*Expr)(unsafe.Pointer(pExpr)).Fop) == TK_COLUMN || int32((*Expr)(unsafe.Pointer(pExpr)).Fop) == TK_AGG_COLUMN { var i int32 @@ -88671,7 +88690,7 @@ func exprRefToSrcList(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* // // As currently used, pExpr is always an aggregate function call. That // fact is exploited for efficiency. -func Xsqlite3ReferencesSrcList(tls *libc.TLS, pParse uintptr, pExpr uintptr, pSrcList uintptr) int32 { /* sqlite3.c:108438:20: */ +func Xsqlite3ReferencesSrcList(tls *libc.TLS, pParse uintptr, pExpr uintptr, pSrcList uintptr) int32 { /* sqlite3.c:108451:20: */ bp := tls.Alloc(80) defer tls.Free(80) @@ -88720,7 +88739,7 @@ func Xsqlite3ReferencesSrcList(tls *libc.TLS, pParse uintptr, pExpr uintptr, pSr // This will cause the expression to be deleted automatically when the // Parse object is destroyed, but the zero register number means that it // will not generate any code in the preamble. -func agginfoPersistExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:108480:12: */ +func agginfoPersistExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:108493:12: */ if !((*Expr)(unsafe.Pointer(pExpr)).Fflags&U32(EP_TokenOnly|EP_Reduced) != U32(0)) && (*Expr)(unsafe.Pointer(pExpr)).FpAggInfo != uintptr(0) { var pAggInfo uintptr = (*Expr)(unsafe.Pointer(pExpr)).FpAggInfo @@ -88753,7 +88772,7 @@ func agginfoPersistExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { // Initialize a Walker object so that will persist AggInfo entries referenced // by the tree that is walked. -func Xsqlite3AggInfoPersistWalkerInit(tls *libc.TLS, pWalker uintptr, pParse uintptr) { /* sqlite3.c:108516:21: */ +func Xsqlite3AggInfoPersistWalkerInit(tls *libc.TLS, pWalker uintptr, pParse uintptr) { /* sqlite3.c:108529:21: */ libc.Xmemset(tls, pWalker, 0, uint64(unsafe.Sizeof(Walker{}))) (*Walker)(unsafe.Pointer(pWalker)).FpParse = pParse (*Walker)(unsafe.Pointer(pWalker)).FxExprCallback = *(*uintptr)(unsafe.Pointer(&struct { @@ -88766,7 +88785,7 @@ func Xsqlite3AggInfoPersistWalkerInit(tls *libc.TLS, pWalker uintptr, pParse uin // Add a new element to the pAggInfo->aCol[] array. Return the index of // the new element. Return a negative number if malloc fails. -func addAggInfoColumn(tls *libc.TLS, db uintptr, pInfo uintptr) int32 { /* sqlite3.c:108527:12: */ +func addAggInfoColumn(tls *libc.TLS, db uintptr, pInfo uintptr) int32 { /* sqlite3.c:108540:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -88783,7 +88802,7 @@ func addAggInfoColumn(tls *libc.TLS, db uintptr, pInfo uintptr) int32 { /* sqlit // Add a new element to the pAggInfo->aFunc[] array. Return the index of // the new element. Return a negative number if malloc fails. -func addAggInfoFunc(tls *libc.TLS, db uintptr, pInfo uintptr) int32 { /* sqlite3.c:108543:12: */ +func addAggInfoFunc(tls *libc.TLS, db uintptr, pInfo uintptr) int32 { /* sqlite3.c:108556:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -88801,7 +88820,7 @@ func addAggInfoFunc(tls *libc.TLS, db uintptr, pInfo uintptr) int32 { /* sqlite3 // This is the xExprCallback for a tree walker. It is used to // implement sqlite3ExprAnalyzeAggregates(). See sqlite3ExprAnalyzeAggregates // for additional information. -func analyzeAggregate(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:108560:12: */ +func analyzeAggregate(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:108573:12: */ var i int32 var pNC uintptr = *(*uintptr)(unsafe.Pointer(pWalker + 40)) var pParse uintptr = (*NameContext)(unsafe.Pointer(pNC)).FpParse @@ -88992,7 +89011,7 @@ func analyzeAggregate(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* // // This routine should only be called after the expression has been // analyzed by sqlite3ResolveExprNames(). -func Xsqlite3ExprAnalyzeAggregates(tls *libc.TLS, pNC uintptr, pExpr uintptr) { /* sqlite3.c:108698:21: */ +func Xsqlite3ExprAnalyzeAggregates(tls *libc.TLS, pNC uintptr, pExpr uintptr) { /* sqlite3.c:108711:21: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -89018,7 +89037,7 @@ func Xsqlite3ExprAnalyzeAggregates(tls *libc.TLS, pNC uintptr, pExpr uintptr) { // expression list. Return the number of errors. // // If an error is found, the analysis is cut short. -func Xsqlite3ExprAnalyzeAggList(tls *libc.TLS, pNC uintptr, pList uintptr) { /* sqlite3.c:108716:21: */ +func Xsqlite3ExprAnalyzeAggList(tls *libc.TLS, pNC uintptr, pList uintptr) { /* sqlite3.c:108729:21: */ var pItem uintptr var i int32 if pList != 0 { @@ -89043,7 +89062,7 @@ func Xsqlite3ExprAnalyzeAggList(tls *libc.TLS, pNC uintptr, pList uintptr) { /* } // Allocate a single new register for use to hold some intermediate result. -func Xsqlite3GetTempReg(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:108729:20: */ +func Xsqlite3GetTempReg(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:108742:20: */ if int32((*Parse)(unsafe.Pointer(pParse)).FnTempReg) == 0 { return libc.PreIncInt32(&(*Parse)(unsafe.Pointer(pParse)).FnMem, 1) } @@ -89052,7 +89071,7 @@ func Xsqlite3GetTempReg(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:1087 // Deallocate a register, making available for reuse for some other // purpose. -func Xsqlite3ReleaseTempReg(tls *libc.TLS, pParse uintptr, iReg int32) { /* sqlite3.c:108740:21: */ +func Xsqlite3ReleaseTempReg(tls *libc.TLS, pParse uintptr, iReg int32) { /* sqlite3.c:108753:21: */ if iReg != 0 { if int32((*Parse)(unsafe.Pointer(pParse)).FnTempReg) < int32(uint64(unsafe.Sizeof([8]int32{}))/uint64(unsafe.Sizeof(int32(0)))) { @@ -89062,7 +89081,7 @@ func Xsqlite3ReleaseTempReg(tls *libc.TLS, pParse uintptr, iReg int32) { /* sqli } // Allocate or deallocate a block of nReg consecutive registers. -func Xsqlite3GetTempRange(tls *libc.TLS, pParse uintptr, nReg int32) int32 { /* sqlite3.c:108752:20: */ +func Xsqlite3GetTempRange(tls *libc.TLS, pParse uintptr, nReg int32) int32 { /* sqlite3.c:108765:20: */ var i int32 var n int32 if nReg == 1 { @@ -89080,7 +89099,7 @@ func Xsqlite3GetTempRange(tls *libc.TLS, pParse uintptr, nReg int32) int32 { /* return i } -func Xsqlite3ReleaseTempRange(tls *libc.TLS, pParse uintptr, iReg int32, nReg int32) { /* sqlite3.c:108766:21: */ +func Xsqlite3ReleaseTempRange(tls *libc.TLS, pParse uintptr, iReg int32, nReg int32) { /* sqlite3.c:108779:21: */ if nReg == 1 { Xsqlite3ReleaseTempReg(tls, pParse, iReg) return @@ -89098,7 +89117,7 @@ func Xsqlite3ReleaseTempRange(tls *libc.TLS, pParse uintptr, iReg int32, nReg in // that might be invoked from other parts of the code, to ensure that // the sub/co-routine does not use registers in common with the code that // invokes the sub/co-routine. -func Xsqlite3ClearTempRegCache(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:108786:21: */ +func Xsqlite3ClearTempRegCache(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:108799:21: */ (*Parse)(unsafe.Pointer(pParse)).FnTempReg = U8(0) (*Parse)(unsafe.Pointer(pParse)).FnRangeReg = 0 } @@ -89132,7 +89151,7 @@ func Xsqlite3ClearTempRegCache(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:108 // in pParse->zErr (system tables may not be altered) and returns non-zero. // // Or, if zName is not a system table, zero is returned. -func isAlterableTable(tls *libc.TLS, pParse uintptr, pTab uintptr) int32 { /* sqlite3.c:108846:12: */ +func isAlterableTable(tls *libc.TLS, pParse uintptr, pTab uintptr) int32 { /* sqlite3.c:108859:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -89151,7 +89170,7 @@ func isAlterableTable(tls *libc.TLS, pParse uintptr, pTab uintptr) int32 { /* sq // called at the end of the generation of an ALTER TABLE ... RENAME ... // statement to ensure that the operation has not rendered any schema // objects unusable. -func renameTestSchema(tls *libc.TLS, pParse uintptr, zDb uintptr, bTemp int32, zWhen uintptr, bNoDQS int32) { /* sqlite3.c:108868:13: */ +func renameTestSchema(tls *libc.TLS, pParse uintptr, zDb uintptr, bTemp int32, zWhen uintptr, bNoDQS int32) { /* sqlite3.c:108881:13: */ bp := tls.Alloc(64) defer tls.Free(64) @@ -89175,7 +89194,7 @@ func renameTestSchema(tls *libc.TLS, pParse uintptr, zDb uintptr, bTemp int32, z // database zDb with their single-quoted equivalents. If argument bTemp is // not true, similarly update all SQL statements in the sqlite_schema table // of the temp db. -func renameFixQuotes(tls *libc.TLS, pParse uintptr, zDb uintptr, bTemp int32) { /* sqlite3.c:108905:13: */ +func renameFixQuotes(tls *libc.TLS, pParse uintptr, zDb uintptr, bTemp int32) { /* sqlite3.c:108918:13: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -89191,7 +89210,7 @@ func renameFixQuotes(tls *libc.TLS, pParse uintptr, zDb uintptr, bTemp int32) { // Generate code to reload the schema for database iDb. And, if iDb!=1, for // the temp database as well. -func renameReloadSchema(tls *libc.TLS, pParse uintptr, iDb int32, p5 U16) { /* sqlite3.c:108926:13: */ +func renameReloadSchema(tls *libc.TLS, pParse uintptr, iDb int32, p5 U16) { /* sqlite3.c:108939:13: */ var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe if v != 0 { Xsqlite3ChangeCookie(tls, pParse, iDb) @@ -89204,7 +89223,7 @@ func renameReloadSchema(tls *libc.TLS, pParse uintptr, iDb int32, p5 U16) { /* s // Generate code to implement the "ALTER TABLE xxx RENAME TO yyy" // command. -func Xsqlite3AlterRenameTable(tls *libc.TLS, pParse uintptr, pSrc uintptr, pName uintptr) { /* sqlite3.c:108939:21: */ +func Xsqlite3AlterRenameTable(tls *libc.TLS, pParse uintptr, pSrc uintptr, pName uintptr) { /* sqlite3.c:108952:21: */ bp := tls.Alloc(184) defer tls.Free(184) @@ -89389,7 +89408,7 @@ exit_rename_table: // Write code that will raise an error if the table described by // zDb and zTab is not empty. -func sqlite3ErrorIfNotEmpty(tls *libc.TLS, pParse uintptr, zDb uintptr, zTab uintptr, zErr uintptr) { /* sqlite3.c:109108:13: */ +func sqlite3ErrorIfNotEmpty(tls *libc.TLS, pParse uintptr, zDb uintptr, zTab uintptr, zErr uintptr) { /* sqlite3.c:109121:13: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -89404,7 +89423,7 @@ func sqlite3ErrorIfNotEmpty(tls *libc.TLS, pParse uintptr, zDb uintptr, zTab uin // // The Table structure pParse->pNewTable was extended to include // the new column during parsing. -func Xsqlite3AlterFinishAddColumn(tls *libc.TLS, pParse uintptr, pColDef uintptr) { /* sqlite3.c:109128:21: */ +func Xsqlite3AlterFinishAddColumn(tls *libc.TLS, pParse uintptr, pColDef uintptr) { /* sqlite3.c:109141:21: */ bp := tls.Alloc(64) defer tls.Free(64) @@ -89550,7 +89569,7 @@ func Xsqlite3AlterFinishAddColumn(tls *libc.TLS, pParse uintptr, pColDef uintptr // // Routine sqlite3AlterFinishAddColumn() will be called to complete // coding the "ALTER TABLE ... ADD" statement. -func Xsqlite3AlterBeginAddColumn(tls *libc.TLS, pParse uintptr, pSrc uintptr) { /* sqlite3.c:109293:21: */ +func Xsqlite3AlterBeginAddColumn(tls *libc.TLS, pParse uintptr, pSrc uintptr) { /* sqlite3.c:109306:21: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -89667,7 +89686,7 @@ exit_begin_add_column: // it loads an error message into pParse and returns non-zero. // // Or, if pTab is not a view or virtual table, zero is returned. -func isRealTable(tls *libc.TLS, pParse uintptr, pTab uintptr, bDrop int32) int32 { /* sqlite3.c:109376:12: */ +func isRealTable(tls *libc.TLS, pParse uintptr, pTab uintptr, bDrop int32) int32 { /* sqlite3.c:109389:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -89695,7 +89714,7 @@ func isRealTable(tls *libc.TLS, pParse uintptr, pTab uintptr, bDrop int32) int32 // Handles the following parser reduction: // // cmd ::= ALTER TABLE pSrc RENAME COLUMN pOld TO pNew -func Xsqlite3AlterRenameColumn(tls *libc.TLS, pParse uintptr, pSrc uintptr, pOld uintptr, pNew uintptr) { /* sqlite3.c:109406:21: */ +func Xsqlite3AlterRenameColumn(tls *libc.TLS, pParse uintptr, pSrc uintptr, pOld uintptr, pNew uintptr) { /* sqlite3.c:109419:21: */ bp := tls.Alloc(112) defer tls.Free(112) @@ -89824,7 +89843,7 @@ exit_rename_column: // The context of an ALTER TABLE RENAME COLUMN operation that gets passed // down into the Walker. -type RenameCtx = RenameCtx1 /* sqlite3.c:109521:26 */ +type RenameCtx = RenameCtx1 /* sqlite3.c:109534:26 */ // Remember that the parser tree element pPtr was created using // the token pToken. @@ -89836,7 +89855,7 @@ type RenameCtx = RenameCtx1 /* sqlite3.c:109521:26 */ // The pPtr argument is returned so that this routine can be used // with tail recursion in tokenExpr() routine, for a small performance // improvement. -func Xsqlite3RenameTokenMap(tls *libc.TLS, pParse uintptr, pPtr uintptr, pToken uintptr) uintptr { /* sqlite3.c:109584:27: */ +func Xsqlite3RenameTokenMap(tls *libc.TLS, pParse uintptr, pPtr uintptr, pToken uintptr) uintptr { /* sqlite3.c:109597:27: */ var pNew uintptr if int32((*Parse)(unsafe.Pointer(pParse)).FeParseMode) != PARSE_MODE_UNMAP { @@ -89855,7 +89874,7 @@ func Xsqlite3RenameTokenMap(tls *libc.TLS, pParse uintptr, pPtr uintptr, pToken // It is assumed that there is already a RenameToken object associated // with parse tree element pFrom. This function remaps the associated token // to parse tree element pTo. -func Xsqlite3RenameTokenRemap(tls *libc.TLS, pParse uintptr, pTo uintptr, pFrom uintptr) { /* sqlite3.c:109610:21: */ +func Xsqlite3RenameTokenRemap(tls *libc.TLS, pParse uintptr, pTo uintptr, pFrom uintptr) { /* sqlite3.c:109623:21: */ var p uintptr for p = (*Parse)(unsafe.Pointer(pParse)).FpRename; p != 0; p = (*RenameToken)(unsafe.Pointer(p)).FpNext { @@ -89867,7 +89886,7 @@ func Xsqlite3RenameTokenRemap(tls *libc.TLS, pParse uintptr, pTo uintptr, pFrom } // Walker callback used by sqlite3RenameExprUnmap(). -func renameUnmapExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:109624:12: */ +func renameUnmapExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:109637:12: */ var pParse uintptr = (*Walker)(unsafe.Pointer(pWalker)).FpParse Xsqlite3RenameTokenRemap(tls, pParse, uintptr(0), pExpr) if (*Expr)(unsafe.Pointer(pExpr)).Fflags&U32(EP_WinFunc|EP_Subrtn) == U32(0) { @@ -89878,7 +89897,7 @@ func renameUnmapExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* // Iterate through the Select objects that are part of WITH clauses attached // to select statement pSelect. -func renameWalkWith(tls *libc.TLS, pWalker uintptr, pSelect uintptr) { /* sqlite3.c:109637:13: */ +func renameWalkWith(tls *libc.TLS, pWalker uintptr, pSelect uintptr) { /* sqlite3.c:109650:13: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -89919,7 +89938,7 @@ func renameWalkWith(tls *libc.TLS, pWalker uintptr, pSelect uintptr) { /* sqlite } // Unmap all tokens in the IdList object passed as the second argument. -func unmapColumnIdlistNames(tls *libc.TLS, pParse uintptr, pIdList uintptr) { /* sqlite3.c:109672:13: */ +func unmapColumnIdlistNames(tls *libc.TLS, pParse uintptr, pIdList uintptr) { /* sqlite3.c:109685:13: */ if pIdList != 0 { var ii int32 for ii = 0; ii < (*IdList)(unsafe.Pointer(pIdList)).FnId; ii++ { @@ -89929,7 +89948,7 @@ func unmapColumnIdlistNames(tls *libc.TLS, pParse uintptr, pIdList uintptr) { /* } // Walker callback used by sqlite3RenameExprUnmap(). -func renameUnmapSelectCb(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sqlite3.c:109687:12: */ +func renameUnmapSelectCb(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sqlite3.c:109700:12: */ var pParse uintptr = (*Walker)(unsafe.Pointer(pWalker)).FpParse var i int32 if (*Parse)(unsafe.Pointer(pParse)).FnErr != 0 { @@ -89961,7 +89980,7 @@ func renameUnmapSelectCb(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* s } // Remove all nodes that are part of expression pExpr from the rename list. -func Xsqlite3RenameExprUnmap(tls *libc.TLS, pParse uintptr, pExpr uintptr) { /* sqlite3.c:109720:21: */ +func Xsqlite3RenameExprUnmap(tls *libc.TLS, pParse uintptr, pExpr uintptr) { /* sqlite3.c:109733:21: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -89983,7 +90002,7 @@ func Xsqlite3RenameExprUnmap(tls *libc.TLS, pParse uintptr, pExpr uintptr) { /* // Remove all nodes that are part of expression-list pEList from the // rename list. -func Xsqlite3RenameExprlistUnmap(tls *libc.TLS, pParse uintptr, pEList uintptr) { /* sqlite3.c:109736:21: */ +func Xsqlite3RenameExprlistUnmap(tls *libc.TLS, pParse uintptr, pEList uintptr) { /* sqlite3.c:109749:21: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -90006,7 +90025,7 @@ func Xsqlite3RenameExprlistUnmap(tls *libc.TLS, pParse uintptr, pEList uintptr) } // Free the list of RenameToken objects given in the second argument -func renameTokenFree(tls *libc.TLS, db uintptr, pToken uintptr) { /* sqlite3.c:109755:13: */ +func renameTokenFree(tls *libc.TLS, db uintptr, pToken uintptr) { /* sqlite3.c:109768:13: */ var pNext uintptr var p uintptr for p = pToken; p != 0; p = pNext { @@ -90022,7 +90041,7 @@ func renameTokenFree(tls *libc.TLS, db uintptr, pToken uintptr) { /* sqlite3.c:1 // If the second argument passed to this function is not NULL and a matching // RenameToken object is found, remove it from the Parse object and add it to // the list maintained by the RenameCtx object. -func renameTokenFind(tls *libc.TLS, pParse uintptr, pCtx uintptr, pPtr uintptr) uintptr { /* sqlite3.c:109773:20: */ +func renameTokenFind(tls *libc.TLS, pParse uintptr, pCtx uintptr, pPtr uintptr) uintptr { /* sqlite3.c:109786:20: */ var pp uintptr if pPtr == uintptr(0) { return uintptr(0) @@ -90045,7 +90064,7 @@ func renameTokenFind(tls *libc.TLS, pParse uintptr, pCtx uintptr, pPtr uintptr) // This is a Walker select callback. It does nothing. It is only required // because without a dummy callback, sqlite3WalkExpr() and similar do not // descend into sub-select statements. -func renameColumnSelectCb(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sqlite3.c:109802:12: */ +func renameColumnSelectCb(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sqlite3.c:109815:12: */ if (*Select)(unsafe.Pointer(p)).FselFlags&U32(SF_View|SF_CopyCte) != 0 { return WRC_Prune @@ -90061,7 +90080,7 @@ func renameColumnSelectCb(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* // ALTER TABLE statement. If it is, then attach its associated // RenameToken object to the list of RenameToken objects being // constructed in RenameCtx object at pWalker->u.pRename. -func renameColumnExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:109821:12: */ +func renameColumnExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:109834:12: */ var p uintptr = *(*uintptr)(unsafe.Pointer(pWalker + 40)) if int32((*Expr)(unsafe.Pointer(pExpr)).Fop) == TK_TRIGGER && int32((*Expr)(unsafe.Pointer(pExpr)).FiColumn) == (*RenameCtx)(unsafe.Pointer(p)).FiCol && @@ -90083,7 +90102,7 @@ func renameColumnExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { / // the input SQL is parsed from left to right. Repeated calls to this routine // return all column name tokens in the order that they are encountered // in the SQL statement. -func renameColumnTokenNext(tls *libc.TLS, pCtx uintptr) uintptr { /* sqlite3.c:109847:20: */ +func renameColumnTokenNext(tls *libc.TLS, pCtx uintptr) uintptr { /* sqlite3.c:109860:20: */ var pBest uintptr = (*RenameCtx)(unsafe.Pointer(pCtx)).FpList var pToken uintptr var pp uintptr @@ -90105,7 +90124,7 @@ func renameColumnTokenNext(tls *libc.TLS, pCtx uintptr) uintptr { /* sqlite3.c:1 // ALTER TABLE RENAME COLUMN program. The error message emitted by the // sub-routine is currently stored in pParse->zErrMsg. This function // adds context to the error message and then stores it in pCtx. -func renameColumnParseError(tls *libc.TLS, pCtx uintptr, zWhen uintptr, pType uintptr, pObject uintptr, pParse uintptr) { /* sqlite3.c:109868:13: */ +func renameColumnParseError(tls *libc.TLS, pCtx uintptr, zWhen uintptr, pType uintptr, pObject uintptr, pParse uintptr) { /* sqlite3.c:109881:13: */ bp := tls.Alloc(40) defer tls.Free(40) @@ -90129,7 +90148,7 @@ func renameColumnParseError(tls *libc.TLS, pCtx uintptr, zWhen uintptr, pType ui // pEList->a[i].zName) that matches the string in zOld, extract the // corresponding rename-token from Parse object pParse and add it // to the RenameCtx pCtx. -func renameColumnElistNames(tls *libc.TLS, pParse uintptr, pCtx uintptr, pEList uintptr, zOld uintptr) { /* sqlite3.c:109893:13: */ +func renameColumnElistNames(tls *libc.TLS, pParse uintptr, pCtx uintptr, pEList uintptr, zOld uintptr) { /* sqlite3.c:109906:13: */ if pEList != 0 { var i int32 for i = 0; i < (*ExprList)(unsafe.Pointer(pEList)).FnExpr; i++ { @@ -90146,7 +90165,7 @@ func renameColumnElistNames(tls *libc.TLS, pParse uintptr, pCtx uintptr, pEList // For each name in the the id-list pIdList (i.e. each pIdList->a[i].zName) // that matches the string in zOld, extract the corresponding rename-token // from Parse object pParse and add it to the RenameCtx pCtx. -func renameColumnIdlistNames(tls *libc.TLS, pParse uintptr, pCtx uintptr, pIdList uintptr, zOld uintptr) { /* sqlite3.c:109918:13: */ +func renameColumnIdlistNames(tls *libc.TLS, pParse uintptr, pCtx uintptr, pIdList uintptr, zOld uintptr) { /* sqlite3.c:109931:13: */ if pIdList != 0 { var i int32 for i = 0; i < (*IdList)(unsafe.Pointer(pIdList)).FnId; i++ { @@ -90160,7 +90179,7 @@ func renameColumnIdlistNames(tls *libc.TLS, pParse uintptr, pCtx uintptr, pIdLis // Parse the SQL statement zSql using Parse object (*p). The Parse object // is initialized by this function before it is used. -func renameParseSql(tls *libc.TLS, p uintptr, zDb uintptr, db uintptr, zSql uintptr, bTemp int32) int32 { /* sqlite3.c:109940:12: */ +func renameParseSql(tls *libc.TLS, p uintptr, zDb uintptr, db uintptr, zSql uintptr, bTemp int32) int32 { /* sqlite3.c:109953:12: */ var rc int32 Xsqlite3ParseObjectInit(tls, p, db) @@ -90168,7 +90187,7 @@ func renameParseSql(tls *libc.TLS, p uintptr, zDb uintptr, db uintptr, zSql uint return SQLITE_NOMEM } if Xsqlite3_strnicmp(tls, zSql, ts+10807, 7) != 0 { - return Xsqlite3CorruptError(tls, 109954) + return Xsqlite3CorruptError(tls, 109967) } (*Sqlite3)(unsafe.Pointer(db)).Finit.FiDb = func() uint8 { if bTemp != 0 { @@ -90185,7 +90204,7 @@ func renameParseSql(tls *libc.TLS, p uintptr, zDb uintptr, db uintptr, zSql uint } if rc == SQLITE_OK && ((*Parse)(unsafe.Pointer(p)).FpNewTable == uintptr(0) && (*Parse)(unsafe.Pointer(p)).FpNewIndex == uintptr(0) && (*Parse)(unsafe.Pointer(p)).FpNewTrigger == uintptr(0)) { - rc = Xsqlite3CorruptError(tls, 109965) + rc = Xsqlite3CorruptError(tls, 109978) } (*Sqlite3)(unsafe.Pointer(db)).Finit.FiDb = U8(0) @@ -90199,7 +90218,7 @@ func renameParseSql(tls *libc.TLS, p uintptr, zDb uintptr, db uintptr, zSql uint // // Or, if an error occurs (i.e. an OOM condition), an error is left in // pCtx and an SQLite error code returned. -func renameEditSql(tls *libc.TLS, pCtx uintptr, pRename uintptr, zSql uintptr, zNew uintptr, bQuote int32) int32 { /* sqlite3.c:109993:12: */ +func renameEditSql(tls *libc.TLS, pCtx uintptr, pRename uintptr, zSql uintptr, zNew uintptr, bQuote int32) int32 { /* sqlite3.c:110006:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -90305,7 +90324,7 @@ func renameEditSql(tls *libc.TLS, pCtx uintptr, pRename uintptr, zSql uintptr, z // it was read from the schema of database zDb. Return SQLITE_OK if // successful. Otherwise, return an SQLite error code and leave an error // message in the Parse object. -func renameResolveTrigger(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:110100:12: */ +func renameResolveTrigger(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:110113:12: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -90403,7 +90422,7 @@ func renameResolveTrigger(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:11 // Invoke sqlite3WalkExpr() or sqlite3WalkSelect() on all Select or Expr // objects that are part of the trigger passed as the second argument. -func renameWalkTrigger(tls *libc.TLS, pWalker uintptr, pTrigger uintptr) { /* sqlite3.c:110196:13: */ +func renameWalkTrigger(tls *libc.TLS, pWalker uintptr, pTrigger uintptr) { /* sqlite3.c:110209:13: */ var pStep uintptr // Find tokens to edit in WHEN clause @@ -90432,7 +90451,7 @@ func renameWalkTrigger(tls *libc.TLS, pWalker uintptr, pTrigger uintptr) { /* sq // Free the contents of Parse object (*pParse). Do not free the memory // occupied by the Parse object itself. -func renameParseCleanup(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:110227:13: */ +func renameParseCleanup(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:110240:13: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb var pIdx uintptr if (*Parse)(unsafe.Pointer(pParse)).FpVdbe != 0 { @@ -90471,7 +90490,7 @@ func renameParseCleanup(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:110227:13: // It is only accessible to SQL created using sqlite3NestedParse(). It is // not reachable from ordinary SQL passed into sqlite3_prepare() unless the // SQLITE_TESTCTRL_INTERNAL_FUNCTIONS test setting is enabled. -func renameColumnFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { /* sqlite3.c:110268:13: */ +func renameColumnFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { /* sqlite3.c:110281:13: */ bp := tls.Alloc(488) defer tls.Free(488) @@ -90814,7 +90833,7 @@ __44: } // Walker expression callback used by "RENAME TABLE". -func renameTableExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:110435:12: */ +func renameTableExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:110448:12: */ var p uintptr = *(*uintptr)(unsafe.Pointer(pWalker + 40)) if int32((*Expr)(unsafe.Pointer(pExpr)).Fop) == TK_COLUMN && (*Expr)(unsafe.Pointer(pExpr)).Fflags&U32(EP_WinFunc|EP_Subrtn) == U32(0) && @@ -90825,7 +90844,7 @@ func renameTableExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* } // Walker select callback used by "RENAME TABLE". -func renameTableSelectCb(tls *libc.TLS, pWalker uintptr, pSelect uintptr) int32 { /* sqlite3.c:110449:12: */ +func renameTableSelectCb(tls *libc.TLS, pWalker uintptr, pSelect uintptr) int32 { /* sqlite3.c:110462:12: */ var i int32 var p uintptr = *(*uintptr)(unsafe.Pointer(pWalker + 40)) var pSrc uintptr = (*Select)(unsafe.Pointer(pSelect)).FpSrc @@ -90865,7 +90884,7 @@ func renameTableSelectCb(tls *libc.TLS, pWalker uintptr, pSelect uintptr) int32 // // sqlite_rename_table('main', 'CREATE TABLE t1(a REFERENCES t2)','t2','t3',0) // -> 'CREATE TABLE t1(a REFERENCES t3)' -func renameTableFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { /* sqlite3.c:110493:13: */ +func renameTableFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { /* sqlite3.c:110506:13: */ bp := tls.Alloc(544) defer tls.Free(544) @@ -90999,7 +91018,7 @@ func renameTableFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr return } -func renameQuotefixExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:110636:12: */ +func renameQuotefixExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:110649:12: */ if int32((*Expr)(unsafe.Pointer(pExpr)).Fop) == TK_STRING && (*Expr)(unsafe.Pointer(pExpr)).Fflags&U32(EP_DblQuoted) != 0 { renameTokenFind(tls, (*Walker)(unsafe.Pointer(pWalker)).FpParse, *(*uintptr)(unsafe.Pointer(pWalker + 40)), pExpr) } @@ -91032,7 +91051,7 @@ func renameQuotefixExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { // If there is a error in the input SQL, then raise an error, except // if PRAGMA writable_schema=ON, then just return the input string // unmodified following an error. -func renameQuotefixFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { /* sqlite3.c:110670:13: */ +func renameQuotefixFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { /* sqlite3.c:110683:13: */ bp := tls.Alloc(488) defer tls.Free(488) @@ -91146,7 +91165,7 @@ func renameQuotefixFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uint // B. Else if a trigger is created and the the table that the trigger is // attached to is in database zDb, then return 1. // C. Otherwise return NULL. -func renameTableTest(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { /* sqlite3.c:110783:13: */ +func renameTableTest(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { /* sqlite3.c:110796:13: */ bp := tls.Alloc(464) defer tls.Free(464) @@ -91218,7 +91237,7 @@ func renameTableTest(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr // // The value returned is a string containing the CREATE TABLE statement // with column argv[2] removed. -func dropColumnFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { /* sqlite3.c:110858:13: */ +func dropColumnFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { /* sqlite3.c:110871:13: */ bp := tls.Alloc(432) defer tls.Free(432) @@ -91258,7 +91277,7 @@ __1: goto __2 } // This can happen if the sqlite_schema table is corrupt - rc = Xsqlite3CorruptError(tls, 110886) + rc = Xsqlite3CorruptError(tls, 110899) goto drop_column_done __2: ; @@ -91304,7 +91323,7 @@ __7: // // statement. Argument pSrc contains the possibly qualified name of the // table being edited, and token pName the name of the column to drop. -func Xsqlite3AlterDropColumn(tls *libc.TLS, pParse uintptr, pSrc uintptr, pName uintptr) { /* sqlite3.c:110923:21: */ +func Xsqlite3AlterDropColumn(tls *libc.TLS, pParse uintptr, pSrc uintptr, pName uintptr) { /* sqlite3.c:110936:21: */ bp := tls.Alloc(64) defer tls.Free(64) @@ -91537,7 +91556,7 @@ exit_drop_column: } // Register built-in functions used to help implement ALTER TABLE -func Xsqlite3AlterFunctions(tls *libc.TLS) { /* sqlite3.c:111065:21: */ +func Xsqlite3AlterFunctions(tls *libc.TLS) { /* sqlite3.c:111078:21: */ Xsqlite3InsertBuiltinFuncs(tls, uintptr(unsafe.Pointer(&aAlterTableFuncs)), int32(uint64(unsafe.Sizeof(aAlterTableFuncs))/uint64(unsafe.Sizeof(FuncDef{})))) } @@ -91546,7 +91565,7 @@ var aAlterTableFuncs = [5]FuncDef{ {FnArg: int8(7), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_FUNC_INTERNAL | SQLITE_UTF8 | SQLITE_FUNC_CONSTANT), FxSFunc: 0, FzName: ts + 11081}, {FnArg: int8(7), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_FUNC_INTERNAL | SQLITE_UTF8 | SQLITE_FUNC_CONSTANT), FxSFunc: 0, FzName: ts + 11101}, {FnArg: int8(3), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_FUNC_INTERNAL | SQLITE_UTF8 | SQLITE_FUNC_CONSTANT), FxSFunc: 0, FzName: ts + 11120}, - {FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_FUNC_INTERNAL | SQLITE_UTF8 | SQLITE_FUNC_CONSTANT), FxSFunc: 0, FzName: ts + 11139}} /* sqlite3.c:111066:18 */ + {FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_FUNC_INTERNAL | SQLITE_UTF8 | SQLITE_FUNC_CONSTANT), FxSFunc: 0, FzName: ts + 11139}} /* sqlite3.c:111079:18 */ //************* End of alter.c ********************************************** //************* Begin file analyze.c **************************************** @@ -91702,7 +91721,7 @@ var aAlterTableFuncs = [5]FuncDef{ // or it may be a NULL pointer. If it is not NULL, then all entries in // the sqlite_statN tables associated with the named table are deleted. // If zWhere==0, then code is generated to delete all stat table entries. -func openStatTable(tls *libc.TLS, pParse uintptr, iDb int32, iStatCur int32, zWhere uintptr, zWhereType uintptr) { /* sqlite3.c:111244:13: */ +func openStatTable(tls *libc.TLS, pParse uintptr, iDb int32, iStatCur int32, zWhere uintptr, zWhereType uintptr) { /* sqlite3.c:111257:13: */ bp := tls.Alloc(88) defer tls.Free(88) @@ -91782,7 +91801,7 @@ var aTable = [3]struct { {FzName: ts + 11233 /* "sqlite_stat1" */, FzCols: ts + 11246 /* "tbl,idx,stat" */}, {FzName: ts + 11259 /* "sqlite_stat4" */, FzCols: ts + 11272 /* "tbl,idx,neq,nlt,..." */}, {FzName: ts + 11300 /* "sqlite_stat3" */}, -} /* sqlite3.c:111254:5 */ +} /* sqlite3.c:111267:5 */ // Recommended number of samples for sqlite_stat4 @@ -91809,14 +91828,14 @@ type StatAccum1 = struct { FnMaxEqZero int32 FiGet int32 Fa uintptr -} /* sqlite3.c:111342:9 */ +} /* sqlite3.c:111355:9 */ // Recommended number of samples for sqlite_stat4 // Three SQL functions - stat_init(), stat_push(), and stat_get() - // share an instance of the following structure to hold their state // information. -type StatAccum = StatAccum1 /* sqlite3.c:111342:26 */ +type StatAccum = StatAccum1 /* sqlite3.c:111355:26 */ type StatSample1 = struct { FanEq uintptr FanDLt uintptr @@ -91827,12 +91846,12 @@ type StatSample1 = struct { F__ccgo_pad1 [3]byte FiCol int32 FiHash U32 -} /* sqlite3.c:111342:9 */ +} /* sqlite3.c:111355:9 */ -type StatSample = StatSample1 /* sqlite3.c:111343:27 */ +type StatSample = StatSample1 /* sqlite3.c:111356:27 */ // Reclaim memory used by a StatSample -func sampleClear(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:111384:13: */ +func sampleClear(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:111397:13: */ if (*StatSample)(unsafe.Pointer(p)).FnRowid != 0 { Xsqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(p + 24))) @@ -91841,7 +91860,7 @@ func sampleClear(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:111384:13: } // Initialize the BLOB value of a ROWID -func sampleSetRowid(tls *libc.TLS, db uintptr, p uintptr, n int32, pData uintptr) { /* sqlite3.c:111396:13: */ +func sampleSetRowid(tls *libc.TLS, db uintptr, p uintptr, n int32, pData uintptr) { /* sqlite3.c:111409:13: */ if (*StatSample)(unsafe.Pointer(p)).FnRowid != 0 { Xsqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(p + 24))) @@ -91856,7 +91875,7 @@ func sampleSetRowid(tls *libc.TLS, db uintptr, p uintptr, n int32, pData uintptr } // Initialize the INTEGER value of a ROWID. -func sampleSetRowidInt64(tls *libc.TLS, db uintptr, p uintptr, iRowid I64) { /* sqlite3.c:111412:13: */ +func sampleSetRowidInt64(tls *libc.TLS, db uintptr, p uintptr, iRowid I64) { /* sqlite3.c:111425:13: */ if (*StatSample)(unsafe.Pointer(p)).FnRowid != 0 { Xsqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(p + 24))) @@ -91866,7 +91885,7 @@ func sampleSetRowidInt64(tls *libc.TLS, db uintptr, p uintptr, iRowid I64) { /* } // Copy the contents of object (*pFrom) into (*pTo). -func sampleCopy(tls *libc.TLS, p uintptr, pTo uintptr, pFrom uintptr) { /* sqlite3.c:111425:13: */ +func sampleCopy(tls *libc.TLS, p uintptr, pTo uintptr, pFrom uintptr) { /* sqlite3.c:111438:13: */ (*StatSample)(unsafe.Pointer(pTo)).FisPSample = (*StatSample)(unsafe.Pointer(pFrom)).FisPSample (*StatSample)(unsafe.Pointer(pTo)).FiCol = (*StatSample)(unsafe.Pointer(pFrom)).FiCol (*StatSample)(unsafe.Pointer(pTo)).FiHash = (*StatSample)(unsafe.Pointer(pFrom)).FiHash @@ -91881,7 +91900,7 @@ func sampleCopy(tls *libc.TLS, p uintptr, pTo uintptr, pFrom uintptr) { /* sqlit } // Reclaim all memory of a StatAccum structure. -func statAccumDestructor(tls *libc.TLS, pOld uintptr) { /* sqlite3.c:111443:13: */ +func statAccumDestructor(tls *libc.TLS, pOld uintptr) { /* sqlite3.c:111456:13: */ var p uintptr = pOld if (*StatAccum)(unsafe.Pointer(p)).FmxSample != 0 { var i int32 @@ -91916,7 +91935,7 @@ func statAccumDestructor(tls *libc.TLS, pOld uintptr) { /* sqlite3.c:111443:13: // value is a pointer to the StatAccum object. The datatype of the // return value is BLOB, but it is really just a pointer to the StatAccum // object. -func statInit(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:111478:13: */ +func statInit(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:111491:13: */ var p uintptr var nCol int32 // Number of columns in index being sampled var nKeyCol int32 // Number of key columns @@ -92011,7 +92030,7 @@ var statInitFuncdef = FuncDef{ FnArg: int8(4), // nArg FfuncFlags: U32(SQLITE_UTF8), // pNext FxSFunc: 0, // xValue, xInverse - FzName: ts + 11313} /* sqlite3.c:111564:22 */ + FzName: ts + 11313} /* sqlite3.c:111577:22 */ // pNew and pOld are both candidate non-periodic samples selected for // the same column (pNew->iCol==pOld->iCol). Ignoring this column and @@ -92022,7 +92041,7 @@ var statInitFuncdef = FuncDef{ // // This function assumes that for each argument sample, the contents of // the anEq[] array from pSample->anEq[pSample->iCol+1] onwards are valid. -func sampleIsBetterPost(tls *libc.TLS, pAccum uintptr, pNew uintptr, pOld uintptr) int32 { /* sqlite3.c:111588:12: */ +func sampleIsBetterPost(tls *libc.TLS, pAccum uintptr, pNew uintptr, pOld uintptr) int32 { /* sqlite3.c:111601:12: */ var nCol int32 = (*StatAccum)(unsafe.Pointer(pAccum)).FnCol var i int32 @@ -92044,7 +92063,7 @@ func sampleIsBetterPost(tls *libc.TLS, pAccum uintptr, pNew uintptr, pOld uintpt // // This function assumes that for each argument sample, the contents of // the anEq[] array from pSample->anEq[pSample->iCol] onwards are valid. -func sampleIsBetter(tls *libc.TLS, pAccum uintptr, pNew uintptr, pOld uintptr) int32 { /* sqlite3.c:111612:12: */ +func sampleIsBetter(tls *libc.TLS, pAccum uintptr, pNew uintptr, pOld uintptr) int32 { /* sqlite3.c:111625:12: */ var nEqNew TRowcnt = *(*TRowcnt)(unsafe.Pointer((*StatSample)(unsafe.Pointer(pNew)).FanEq + uintptr((*StatSample)(unsafe.Pointer(pNew)).FiCol)*4)) var nEqOld TRowcnt = *(*TRowcnt)(unsafe.Pointer((*StatSample)(unsafe.Pointer(pOld)).FanEq + uintptr((*StatSample)(unsafe.Pointer(pOld)).FiCol)*4)) @@ -92062,7 +92081,7 @@ func sampleIsBetter(tls *libc.TLS, pAccum uintptr, pNew uintptr, pOld uintptr) i // Copy the contents of sample *pNew into the p->a[] array. If necessary, // remove the least desirable sample from p->a[] to make room. -func sampleInsert(tls *libc.TLS, p uintptr, pNew uintptr, nEqZero int32) { /* sqlite3.c:111635:13: */ +func sampleInsert(tls *libc.TLS, p uintptr, pNew uintptr, nEqZero int32) { /* sqlite3.c:111648:13: */ var pSample uintptr var i int32 var pOld uintptr @@ -92205,7 +92224,7 @@ __11: // p->current contains a sample that reflects the previous row of the // index. The value of anEq[iChng] and subsequent anEq[] elements are // correct at this point. -func samplePushPrevious(tls *libc.TLS, p uintptr, iChng int32) { /* sqlite3.c:111727:13: */ +func samplePushPrevious(tls *libc.TLS, p uintptr, iChng int32) { /* sqlite3.c:111740:13: */ var i int32 // Check if any samples from the aBest[] array should be pushed @@ -92257,7 +92276,7 @@ func samplePushPrevious(tls *libc.TLS, p uintptr, iChng int32) { /* sqlite3.c:11 // if it wants the byte-code to do special processing. // // The R parameter is only used for STAT4 -func statPush(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:111779:13: */ +func statPush(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:111792:13: */ var i int32 // The three function arguments @@ -92329,7 +92348,7 @@ var statPushFuncdef = FuncDef{ FnArg: int8(2 + IsStat4), FfuncFlags: U32(SQLITE_UTF8), // pNext FxSFunc: 0, // xValue, xInverse - FzName: ts + 11323} /* sqlite3.c:111854:22 */ + FzName: ts + 11323} /* sqlite3.c:111867:22 */ // Implementation of the stat_get(P,J) SQL function. This routine is // used to query statistical information that has been gathered into @@ -92348,7 +92367,7 @@ var statPushFuncdef = FuncDef{ // STAT_GET_STAT1 and is hence omitted and this routine becomes // a one-parameter function, stat_get(P), that always returns the // stat1 table entry information. -func statGet(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:111891:13: */ +func statGet(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:111904:13: */ bp := tls.Alloc(88) defer tls.Free(88) @@ -92449,9 +92468,9 @@ var statGetFuncdef = FuncDef{ FnArg: int8(1 + IsStat4), FfuncFlags: U32(SQLITE_UTF8), // pNext FxSFunc: 0, // xValue, xInverse - FzName: ts + 11350} /* sqlite3.c:111988:22 */ + FzName: ts + 11350} /* sqlite3.c:112001:22 */ -func callStatGet(tls *libc.TLS, pParse uintptr, regStat int32, iParam int32, regOut int32) { /* sqlite3.c:112000:13: */ +func callStatGet(tls *libc.TLS, pParse uintptr, regStat int32, iParam int32, regOut int32) { /* sqlite3.c:112013:13: */ Xsqlite3VdbeAddOp2(tls, (*Parse)(unsafe.Pointer(pParse)).FpVdbe, OP_Integer, iParam, regStat+1) Xsqlite3VdbeAddFunctionCall(tls, pParse, 0, regStat, regOut, 1+IsStat4, @@ -92460,7 +92479,7 @@ func callStatGet(tls *libc.TLS, pParse uintptr, regStat int32, iParam int32, reg // Generate code to do an analysis of all indices associated with // a single table. -func analyzeOneTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uintptr, iStatCur int32, iMem int32, iTab int32) { /* sqlite3.c:112041:13: */ +func analyzeOneTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uintptr, iStatCur int32, iMem int32, iTab int32) { /* sqlite3.c:112054:13: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb // Database handle var pIdx uintptr // An index to being analyzed var iIdxCur int32 // Cursor open on index being analyzed @@ -92820,7 +92839,7 @@ func analyzeOneTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uintp // Generate code that will cause the most recent index analysis to // be loaded into internal hash tables where is can be used. -func loadAnalysis(tls *libc.TLS, pParse uintptr, iDb int32) { /* sqlite3.c:112403:13: */ +func loadAnalysis(tls *libc.TLS, pParse uintptr, iDb int32) { /* sqlite3.c:112416:13: */ var v uintptr = Xsqlite3GetVdbe(tls, pParse) if v != 0 { Xsqlite3VdbeAddOp1(tls, v, OP_LoadAnalysis, iDb) @@ -92828,7 +92847,7 @@ func loadAnalysis(tls *libc.TLS, pParse uintptr, iDb int32) { /* sqlite3.c:11240 } // Generate code that will do an analysis of an entire database -func analyzeDatabase(tls *libc.TLS, pParse uintptr, iDb int32) { /* sqlite3.c:112413:13: */ +func analyzeDatabase(tls *libc.TLS, pParse uintptr, iDb int32) { /* sqlite3.c:112426:13: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb var pSchema uintptr = (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32)).FpSchema // Schema of database iDb var k uintptr @@ -92853,7 +92872,7 @@ func analyzeDatabase(tls *libc.TLS, pParse uintptr, iDb int32) { /* sqlite3.c:11 // Generate code that will do an analysis of a single table in // a database. If pOnlyIdx is not NULL then it is a single index // in pTab that should be analyzed. -func analyzeTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uintptr) { /* sqlite3.c:112440:13: */ +func analyzeTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uintptr) { /* sqlite3.c:112453:13: */ var iDb int32 var iStatCur int32 @@ -92880,7 +92899,7 @@ func analyzeTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uintptr) // Form 1 causes all indices in all attached databases to be analyzed. // Form 2 analyzes all indices the single database named. // Form 3 analyzes all indices associated with the named table. -func Xsqlite3Analyze(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 uintptr) { /* sqlite3.c:112471:21: */ +func Xsqlite3Analyze(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 uintptr) { /* sqlite3.c:112484:21: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -92943,16 +92962,16 @@ func Xsqlite3Analyze(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 uintp type analysisInfo = struct { Fdb uintptr FzDatabase uintptr -} /* sqlite3.c:112523:9 */ +} /* sqlite3.c:112536:9 */ // Used to pass information from the analyzer reader through to the // callback routine. -type AnalysisInfo = analysisInfo /* sqlite3.c:112523:29 */ +type AnalysisInfo = analysisInfo /* sqlite3.c:112536:29 */ // The first argument points to a nul-terminated string containing a // list of space separated integers. Read the first nOut of these into // the array aOut[]. -func decodeIntArray(tls *libc.TLS, zIntArray uintptr, nOut int32, aOut uintptr, aLog uintptr, pIndex uintptr) { /* sqlite3.c:112534:13: */ +func decodeIntArray(tls *libc.TLS, zIntArray uintptr, nOut int32, aOut uintptr, aLog uintptr, pIndex uintptr) { /* sqlite3.c:112547:13: */ var z uintptr = zIntArray var c int32 var i int32 @@ -93011,7 +93030,7 @@ func decodeIntArray(tls *libc.TLS, zIntArray uintptr, nOut int32, aOut uintptr, // // Entries for which argv[1]==NULL simply record the number of rows in // the table. -func analysisLoader(tls *libc.TLS, pData uintptr, argc int32, argv uintptr, NotUsed uintptr) int32 { /* sqlite3.c:112607:12: */ +func analysisLoader(tls *libc.TLS, pData uintptr, argc int32, argv uintptr, NotUsed uintptr) int32 { /* sqlite3.c:112620:12: */ bp := tls.Alloc(152) defer tls.Free(152) @@ -93073,7 +93092,7 @@ func analysisLoader(tls *libc.TLS, pData uintptr, argc int32, argv uintptr, NotU // If the Index.aSample variable is not NULL, delete the aSample[] array // and its contents. -func Xsqlite3DeleteIndexSamples(tls *libc.TLS, db uintptr, pIdx uintptr) { /* sqlite3.c:112670:21: */ +func Xsqlite3DeleteIndexSamples(tls *libc.TLS, db uintptr, pIdx uintptr) { /* sqlite3.c:112683:21: */ if (*Index)(unsafe.Pointer(pIdx)).FaSample != 0 { var j int32 for j = 0; j < (*Index)(unsafe.Pointer(pIdx)).FnSample; j++ { @@ -93090,7 +93109,7 @@ func Xsqlite3DeleteIndexSamples(tls *libc.TLS, db uintptr, pIdx uintptr) { /* sq // Populate the pIdx->aAvgEq[] array based on the samples currently // stored in pIdx->aSample[]. -func initAvgEq(tls *libc.TLS, pIdx uintptr) { /* sqlite3.c:112695:13: */ +func initAvgEq(tls *libc.TLS, pIdx uintptr) { /* sqlite3.c:112708:13: */ if pIdx != 0 { var aSample uintptr = (*Index)(unsafe.Pointer(pIdx)).FaSample var pFinal uintptr = aSample + uintptr((*Index)(unsafe.Pointer(pIdx)).FnSample-1)*40 @@ -93148,7 +93167,7 @@ func initAvgEq(tls *libc.TLS, pIdx uintptr) { /* sqlite3.c:112695:13: */ // Look up an index by name. Or, if the name of a WITHOUT ROWID table // is supplied instead, find the PRIMARY KEY index for that table. -func findIndexOrPrimaryKey(tls *libc.TLS, db uintptr, zName uintptr, zDb uintptr) uintptr { /* sqlite3.c:112754:14: */ +func findIndexOrPrimaryKey(tls *libc.TLS, db uintptr, zName uintptr, zDb uintptr) uintptr { /* sqlite3.c:112767:14: */ var pIdx uintptr = Xsqlite3FindIndex(tls, db, zName, zDb) if pIdx == uintptr(0) { var pTab uintptr = Xsqlite3FindTable(tls, db, zName, zDb) @@ -93169,7 +93188,7 @@ func findIndexOrPrimaryKey(tls *libc.TLS, db uintptr, zName uintptr, zDb uintptr // zSql2: SELECT idx,neq,nlt,ndlt,sample FROM %Q.sqlite_stat4 // // where %Q is replaced with the database name before the SQL is executed. -func loadStatTbl(tls *libc.TLS, db uintptr, zSql1 uintptr, zSql2 uintptr, zDb uintptr) int32 { /* sqlite3.c:112779:12: */ +func loadStatTbl(tls *libc.TLS, db uintptr, zSql1 uintptr, zSql2 uintptr, zDb uintptr) int32 { /* sqlite3.c:112792:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -93305,7 +93324,7 @@ func loadStatTbl(tls *libc.TLS, db uintptr, zSql1 uintptr, zSql2 uintptr, zDb ui // Load content from the sqlite_stat4 table into // the Index.aSample[] arrays of all indices. -func loadStat4(tls *libc.TLS, db uintptr, zDb uintptr) int32 { /* sqlite3.c:112900:12: */ +func loadStat4(tls *libc.TLS, db uintptr, zDb uintptr) int32 { /* sqlite3.c:112913:12: */ var rc int32 = SQLITE_OK // Result codes from subroutines var pStat4 uintptr @@ -93337,7 +93356,7 @@ func loadStat4(tls *libc.TLS, db uintptr, zDb uintptr) int32 { /* sqlite3.c:1129 // If an OOM error occurs, this function always sets db->mallocFailed. // This means if the caller does not care about other errors, the return // code may be ignored. -func Xsqlite3AnalysisLoad(tls *libc.TLS, db uintptr, iDb int32) int32 { /* sqlite3.c:112938:20: */ +func Xsqlite3AnalysisLoad(tls *libc.TLS, db uintptr, iDb int32) int32 { /* sqlite3.c:112951:20: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -93444,7 +93463,7 @@ func Xsqlite3AnalysisLoad(tls *libc.TLS, db uintptr, iDb int32) int32 { /* sqlit // ATTACH DATABASE abc||def AS 'db2' // // will fail because neither abc or def can be resolved. -func resolveAttachExpr(tls *libc.TLS, pName uintptr, pExpr uintptr) int32 { /* sqlite3.c:113046:12: */ +func resolveAttachExpr(tls *libc.TLS, pName uintptr, pExpr uintptr) int32 { /* sqlite3.c:113059:12: */ var rc int32 = SQLITE_OK if pExpr != 0 { if int32((*Expr)(unsafe.Pointer(pExpr)).Fop) != TK_ID { @@ -93458,7 +93477,7 @@ func resolveAttachExpr(tls *libc.TLS, pName uintptr, pExpr uintptr) int32 { /* s // Return true if zName points to a name that may be used to refer to // database iDb attached to handle db. -func Xsqlite3DbIsNamed(tls *libc.TLS, db uintptr, iDb int32, zName uintptr) int32 { /* sqlite3.c:113063:20: */ +func Xsqlite3DbIsNamed(tls *libc.TLS, db uintptr, iDb int32, zName uintptr) int32 { /* sqlite3.c:113076:20: */ return libc.Bool32(Xsqlite3StrICmp(tls, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(iDb)*32)).FzDbSName, zName) == 0 || iDb == 0 && Xsqlite3StrICmp(tls, ts+6332, zName) == 0) } @@ -93476,7 +93495,7 @@ func Xsqlite3DbIsNamed(tls *libc.TLS, db uintptr, iDb int32, zName uintptr) int3 // If the db->init.reopenMemdb flags is set, then instead of attaching a // new database, close the database on db->init.iDb and reopen it as an // empty MemDB. -func attachFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { /* sqlite3.c:113085:13: */ +func attachFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { /* sqlite3.c:113098:13: */ bp := tls.Alloc(64) defer tls.Free(64) @@ -93769,7 +93788,7 @@ __34: // DETACH DATABASE x // // SELECT sqlite_detach(x) -func detachFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { /* sqlite3.c:113278:13: */ +func detachFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { /* sqlite3.c:113291:13: */ bp := tls.Alloc(152) defer tls.Free(152) @@ -93874,7 +93893,7 @@ detach_error: // This procedure generates VDBE code for a single invocation of either the // sqlite_detach() or sqlite_attach() SQL user functions. -func codeAttach(tls *libc.TLS, pParse uintptr, type1 int32, pFunc uintptr, pAuthArg uintptr, pFilename uintptr, pDbname uintptr, pKey uintptr) { /* sqlite3.c:113340:13: */ +func codeAttach(tls *libc.TLS, pParse uintptr, type1 int32, pFunc uintptr, pAuthArg uintptr, pFilename uintptr, pDbname uintptr, pKey uintptr) { /* sqlite3.c:113353:13: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -93953,7 +93972,7 @@ attach_end: // Called by the parser to compile a DETACH statement. // // DETACH pDbname -func Xsqlite3Detach(tls *libc.TLS, pParse uintptr, pDbname uintptr) { /* sqlite3.c:113412:21: */ +func Xsqlite3Detach(tls *libc.TLS, pParse uintptr, pDbname uintptr) { /* sqlite3.c:113425:21: */ codeAttach(tls, pParse, SQLITE_DETACH, uintptr(unsafe.Pointer(&detach_func)), pDbname, uintptr(0), uintptr(0), pDbname) } @@ -93961,12 +93980,12 @@ var detach_func = FuncDef{ FnArg: int8(1), // nArg FfuncFlags: U32(SQLITE_UTF8), // pNext FxSFunc: 0, // xValue, xInverse - FzName: ts + 11825} /* sqlite3.c:113413:24 */ + FzName: ts + 11825} /* sqlite3.c:113426:24 */ // Called by the parser to compile an ATTACH statement. // // ATTACH p AS pDbname KEY pKey -func Xsqlite3Attach(tls *libc.TLS, pParse uintptr, p uintptr, pDbname uintptr, pKey uintptr) { /* sqlite3.c:113432:21: */ +func Xsqlite3Attach(tls *libc.TLS, pParse uintptr, p uintptr, pDbname uintptr, pKey uintptr) { /* sqlite3.c:113445:21: */ codeAttach(tls, pParse, SQLITE_ATTACH, uintptr(unsafe.Pointer(&attach_func)), p, p, pDbname, pKey) } @@ -93974,10 +93993,10 @@ var attach_func = FuncDef{ FnArg: int8(3), // nArg FfuncFlags: U32(SQLITE_UTF8), // pNext FxSFunc: 0, // xValue, xInverse - FzName: ts + 11839} /* sqlite3.c:113433:24 */ + FzName: ts + 11839} /* sqlite3.c:113446:24 */ // Expression callback used by sqlite3FixAAAA() routines. -func fixExprCb(tls *libc.TLS, p uintptr, pExpr uintptr) int32 { /* sqlite3.c:113451:12: */ +func fixExprCb(tls *libc.TLS, p uintptr, pExpr uintptr) int32 { /* sqlite3.c:113464:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -93997,7 +94016,7 @@ func fixExprCb(tls *libc.TLS, p uintptr, pExpr uintptr) int32 { /* sqlite3.c:113 } // Select callback used by sqlite3FixAAAA() routines. -func fixSelectCb(tls *libc.TLS, p uintptr, pSelect uintptr) int32 { /* sqlite3.c:113468:12: */ +func fixSelectCb(tls *libc.TLS, p uintptr, pSelect uintptr) int32 { /* sqlite3.c:113481:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -94058,7 +94077,7 @@ __3: // Initialize a DbFixer structure. This routine must be called prior // to passing the structure to one of the sqliteFixAAAA() routines below. -func Xsqlite3FixInit(tls *libc.TLS, pFix uintptr, pParse uintptr, iDb int32, zType uintptr, pName uintptr) { /* sqlite3.c:113511:21: */ +func Xsqlite3FixInit(tls *libc.TLS, pFix uintptr, pParse uintptr, iDb int32, zType uintptr, pName uintptr) { /* sqlite3.c:113524:21: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb (*DbFixer)(unsafe.Pointer(pFix)).FpParse = pParse @@ -94094,7 +94113,7 @@ func Xsqlite3FixInit(tls *libc.TLS, pFix uintptr, pParse uintptr, iDb int32, zTy // to an object in a different database, an error message is added to // pParse->zErrMsg and these routines return non-zero. If everything // checks out, these routines return 0. -func Xsqlite3FixSrcList(tls *libc.TLS, pFix uintptr, pList uintptr) int32 { /* sqlite3.c:113549:20: */ +func Xsqlite3FixSrcList(tls *libc.TLS, pFix uintptr, pList uintptr) int32 { /* sqlite3.c:113562:20: */ bp := tls.Alloc(128) defer tls.Free(128) @@ -94109,15 +94128,15 @@ func Xsqlite3FixSrcList(tls *libc.TLS, pFix uintptr, pList uintptr) int32 { /* s return res } -func Xsqlite3FixSelect(tls *libc.TLS, pFix uintptr, pSelect uintptr) int32 { /* sqlite3.c:113563:20: */ +func Xsqlite3FixSelect(tls *libc.TLS, pFix uintptr, pSelect uintptr) int32 { /* sqlite3.c:113576:20: */ return Xsqlite3WalkSelect(tls, pFix+8, pSelect) } -func Xsqlite3FixExpr(tls *libc.TLS, pFix uintptr, pExpr uintptr) int32 { /* sqlite3.c:113569:20: */ +func Xsqlite3FixExpr(tls *libc.TLS, pFix uintptr, pExpr uintptr) int32 { /* sqlite3.c:113582:20: */ return Xsqlite3WalkExpr(tls, pFix+8, pExpr) } -func Xsqlite3FixTriggerStep(tls *libc.TLS, pFix uintptr, pStep uintptr) int32 { /* sqlite3.c:113578:20: */ +func Xsqlite3FixTriggerStep(tls *libc.TLS, pFix uintptr, pStep uintptr) int32 { /* sqlite3.c:113591:20: */ for pStep != 0 { if Xsqlite3WalkSelect(tls, pFix+8, (*TriggerStep)(unsafe.Pointer(pStep)).FpSelect) != 0 || Xsqlite3WalkExpr(tls, pFix+8, (*TriggerStep)(unsafe.Pointer(pStep)).FpWhere) != 0 || @@ -94207,7 +94226,7 @@ func Xsqlite3FixTriggerStep(tls *libc.TLS, pFix uintptr, pStep uintptr) 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) int32 { /* sqlite3.c:113682:16: */ +func Xsqlite3_set_authorizer(tls *libc.TLS, db uintptr, xAuth uintptr, pArg uintptr) int32 { /* sqlite3.c:113695:16: */ Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) (*Sqlite3)(unsafe.Pointer(db)).FxAuth = xAuth (*Sqlite3)(unsafe.Pointer(db)).FpAuthArg = pArg @@ -94220,7 +94239,7 @@ func Xsqlite3_set_authorizer(tls *libc.TLS, db uintptr, xAuth uintptr, pArg uint // Write an error message into pParse->zErrMsg that explains that the // user-supplied authorization function returned an illegal value. -func sqliteAuthBadReturnCode(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:113702:13: */ +func sqliteAuthBadReturnCode(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:113715:13: */ Xsqlite3ErrorMsg(tls, pParse, ts+11923, 0) (*Parse)(unsafe.Pointer(pParse)).Frc = SQLITE_ERROR } @@ -94232,7 +94251,7 @@ func sqliteAuthBadReturnCode(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:11370 // If SQLITE_IGNORE is returned and pExpr is not NULL, then pExpr is changed // to an SQL NULL expression. Otherwise, if pExpr is NULL, then SQLITE_IGNORE // is treated as SQLITE_DENY. In this case an error is left in pParse. -func Xsqlite3AuthReadCol(tls *libc.TLS, pParse uintptr, zTab uintptr, zCol uintptr, iDb int32) int32 { /* sqlite3.c:113716:20: */ +func Xsqlite3AuthReadCol(tls *libc.TLS, pParse uintptr, zTab uintptr, zCol uintptr, iDb int32) int32 { /* sqlite3.c:113729:20: */ bp := tls.Alloc(40) defer tls.Free(40) @@ -94266,7 +94285,7 @@ func Xsqlite3AuthReadCol(tls *libc.TLS, pParse uintptr, zTab uintptr, zCol uintp // If the auth function returns SQLITE_IGNORE, change the TK_COLUMN // instruction into a TK_NULL. If the auth function returns SQLITE_DENY, // then generate an error. -func Xsqlite3AuthRead(tls *libc.TLS, pParse uintptr, pExpr uintptr, pSchema uintptr, pTabList uintptr) { /* sqlite3.c:113752:21: */ +func Xsqlite3AuthRead(tls *libc.TLS, pParse uintptr, pExpr uintptr, pSchema uintptr, pTabList uintptr) { /* sqlite3.c:113765:21: */ var pTab uintptr = uintptr(0) // The table being read var zCol uintptr // Name of the column of the table var iSrc int32 // Index in pTabList->a[] of table being read @@ -94315,7 +94334,7 @@ func Xsqlite3AuthRead(tls *libc.TLS, pParse uintptr, pExpr uintptr, pSchema uint // either SQLITE_OK (zero) or SQLITE_IGNORE or SQLITE_DENY. If SQLITE_DENY // is returned, then the error count and error message in pParse are // modified appropriately. -func Xsqlite3AuthCheck(tls *libc.TLS, pParse uintptr, code int32, zArg1 uintptr, zArg2 uintptr, zArg3 uintptr) int32 { /* sqlite3.c:113809:20: */ +func Xsqlite3AuthCheck(tls *libc.TLS, pParse uintptr, code int32, zArg1 uintptr, zArg2 uintptr, zArg3 uintptr) int32 { /* sqlite3.c:113822:20: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb var rc int32 @@ -94349,7 +94368,7 @@ func Xsqlite3AuthCheck(tls *libc.TLS, pParse uintptr, code int32, zArg1 uintptr, // Push an authorization context. After this routine is called, the // zArg3 argument to authorization callbacks will be zContext until // popped. Or if pParse==0, this routine is a no-op. -func Xsqlite3AuthContextPush(tls *libc.TLS, pParse uintptr, pContext uintptr, zContext uintptr) { /* sqlite3.c:113858:21: */ +func Xsqlite3AuthContextPush(tls *libc.TLS, pParse uintptr, pContext uintptr, zContext uintptr) { /* sqlite3.c:113871:21: */ (*AuthContext)(unsafe.Pointer(pContext)).FpParse = pParse (*AuthContext)(unsafe.Pointer(pContext)).FzAuthContext = (*Parse)(unsafe.Pointer(pParse)).FzAuthContext @@ -94358,7 +94377,7 @@ func Xsqlite3AuthContextPush(tls *libc.TLS, pParse uintptr, pContext uintptr, zC // Pop an authorization context that was previously pushed // by sqlite3AuthContextPush -func Xsqlite3AuthContextPop(tls *libc.TLS, pContext uintptr) { /* sqlite3.c:113873:21: */ +func Xsqlite3AuthContextPop(tls *libc.TLS, pContext uintptr) { /* sqlite3.c:113886:21: */ if (*AuthContext)(unsafe.Pointer(pContext)).FpParse != 0 { (*Parse)(unsafe.Pointer((*AuthContext)(unsafe.Pointer(pContext)).FpParse)).FzAuthContext = (*AuthContext)(unsafe.Pointer(pContext)).FzAuthContext (*AuthContext)(unsafe.Pointer(pContext)).FpParse = uintptr(0) @@ -94373,7 +94392,7 @@ func Xsqlite3AuthContextPop(tls *libc.TLS, pContext uintptr) { /* sqlite3.c:1138 // This routine just records the fact that the lock is desired. The // code to make the lock occur is generated by a later call to // codeTableLocks() which occurs during sqlite3FinishCoding(). -func lockTable(tls *libc.TLS, pParse uintptr, iDb int32, iTab Pgno, isWriteLock U8, zName uintptr) { /* sqlite3.c:113932:29: */ +func lockTable(tls *libc.TLS, pParse uintptr, iDb int32, iTab Pgno, isWriteLock U8, zName uintptr) { /* sqlite3.c:113945:29: */ var pToplevel uintptr var i int32 var nBytes int32 @@ -94407,7 +94426,7 @@ func lockTable(tls *libc.TLS, pParse uintptr, iDb int32, iTab Pgno, isWriteLock } } -func Xsqlite3TableLock(tls *libc.TLS, pParse uintptr, iDb int32, iTab Pgno, isWriteLock U8, zName uintptr) { /* sqlite3.c:113968:21: */ +func Xsqlite3TableLock(tls *libc.TLS, pParse uintptr, iDb int32, iTab Pgno, isWriteLock U8, zName uintptr) { /* sqlite3.c:113981:21: */ if iDb == 1 { return } @@ -94419,7 +94438,7 @@ func Xsqlite3TableLock(tls *libc.TLS, pParse uintptr, iDb int32, iTab Pgno, isWr // Code an OP_TableLock instruction for each table locked by the // statement (configured by calls to sqlite3TableLock()). -func codeTableLocks(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:113984:13: */ +func codeTableLocks(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:113997:13: */ var i int32 var pVdbe uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe @@ -94443,7 +94462,7 @@ func codeTableLocks(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:113984:13: */ // // Note that if an error occurred, it might be the case that // no VDBE code was generated. -func Xsqlite3FinishCoding(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:114023:21: */ +func Xsqlite3FinishCoding(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:114036:21: */ var db uintptr var v uintptr @@ -94596,7 +94615,7 @@ func Xsqlite3FinishCoding(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:114023:2 // * Built-in SQL functions always take precedence over application-defined // SQL functions. In other words, it is not possible to override a // built-in function. -func Xsqlite3NestedParse(tls *libc.TLS, pParse uintptr, zFormat uintptr, va uintptr) { /* sqlite3.c:114194:21: */ +func Xsqlite3NestedParse(tls *libc.TLS, pParse uintptr, zFormat uintptr, va uintptr) { /* sqlite3.c:114207:21: */ bp := tls.Alloc(136) defer tls.Free(136) @@ -94647,7 +94666,7 @@ func Xsqlite3NestedParse(tls *libc.TLS, pParse uintptr, zFormat uintptr, va uint // auxiliary databases added using the ATTACH command. // // See also sqlite3LocateTable(). -func Xsqlite3FindTable(tls *libc.TLS, db uintptr, zName uintptr, zDatabase uintptr) uintptr { /* sqlite3.c:114249:22: */ +func Xsqlite3FindTable(tls *libc.TLS, db uintptr, zName uintptr, zDatabase uintptr) uintptr { /* sqlite3.c:114262:22: */ var p uintptr = uintptr(0) var i int32 @@ -94723,7 +94742,7 @@ func Xsqlite3FindTable(tls *libc.TLS, db uintptr, zName uintptr, zDatabase uintp // The difference between this routine and sqlite3FindTable() is that this // routine leaves an error message in pParse->zErrMsg where // sqlite3FindTable() does not. -func Xsqlite3LocateTable(tls *libc.TLS, pParse uintptr, flags U32, zName uintptr, zDbase uintptr) uintptr { /* sqlite3.c:114327:22: */ +func Xsqlite3LocateTable(tls *libc.TLS, pParse uintptr, flags U32, zName uintptr, zDbase uintptr) uintptr { /* sqlite3.c:114340:22: */ bp := tls.Alloc(40) defer tls.Free(40) @@ -94786,7 +94805,7 @@ func Xsqlite3LocateTable(tls *libc.TLS, pParse uintptr, flags U32, zName uintptr // the search to schema (p->pSchema) if it is not NULL. p->pSchema may be // non-NULL if it is part of a view or trigger program definition. See // sqlite3FixSrcList() for details. -func Xsqlite3LocateTableItem(tls *libc.TLS, pParse uintptr, flags U32, p uintptr) uintptr { /* sqlite3.c:114390:22: */ +func Xsqlite3LocateTableItem(tls *libc.TLS, pParse uintptr, flags U32, p uintptr) uintptr { /* sqlite3.c:114403:22: */ var zDb uintptr if (*SrcItem)(unsafe.Pointer(p)).FpSchema != 0 { @@ -94800,7 +94819,7 @@ func Xsqlite3LocateTableItem(tls *libc.TLS, pParse uintptr, flags U32, p uintptr // Return the preferred table name for system tables. Translate legacy // names into the new preferred names, as appropriate. -func Xsqlite3PreferredTableName(tls *libc.TLS, zName uintptr) uintptr { /* sqlite3.c:114410:27: */ +func Xsqlite3PreferredTableName(tls *libc.TLS, zName uintptr) uintptr { /* sqlite3.c:114423:27: */ if Xsqlite3_strnicmp(tls, zName, ts+8019, 7) == 0 { if Xsqlite3StrICmp(tls, zName+uintptr(7), ts+5844+7) == 0 { return ts + 12019 /* "sqlite_schema" */ @@ -94822,7 +94841,7 @@ func Xsqlite3PreferredTableName(tls *libc.TLS, zName uintptr) uintptr { /* sqlit // for duplicate index names is done.) The search order is // TEMP first, then MAIN, then any auxiliary databases added // using the ATTACH command. -func Xsqlite3FindIndex(tls *libc.TLS, db uintptr, zName uintptr, zDb uintptr) uintptr { /* sqlite3.c:114434:22: */ +func Xsqlite3FindIndex(tls *libc.TLS, db uintptr, zName uintptr, zDb uintptr) uintptr { /* sqlite3.c:114447:22: */ var p uintptr = uintptr(0) var i int32 // All mutexes are required for schema access. Make sure we hold them. @@ -94849,7 +94868,7 @@ func Xsqlite3FindIndex(tls *libc.TLS, db uintptr, zName uintptr, zDb uintptr) ui } // Reclaim the memory used by an index -func Xsqlite3FreeIndex(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:114454:21: */ +func Xsqlite3FreeIndex(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:114467:21: */ Xsqlite3DeleteIndexSamples(tls, db, p) Xsqlite3ExprDelete(tls, db, (*Index)(unsafe.Pointer(p)).FpPartIdxWhere) Xsqlite3ExprListDelete(tls, db, (*Index)(unsafe.Pointer(p)).FaColExpr) @@ -94865,7 +94884,7 @@ func Xsqlite3FreeIndex(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:1144 // unlike that index from its Table then remove the index from // the index hash table and free all memory structures associated // with the index. -func Xsqlite3UnlinkAndDeleteIndex(tls *libc.TLS, db uintptr, iDb int32, zIdxName uintptr) { /* sqlite3.c:114474:21: */ +func Xsqlite3UnlinkAndDeleteIndex(tls *libc.TLS, db uintptr, iDb int32, zIdxName uintptr) { /* sqlite3.c:114487:21: */ var pIndex uintptr var pHash uintptr @@ -94897,7 +94916,7 @@ func Xsqlite3UnlinkAndDeleteIndex(tls *libc.TLS, db uintptr, iDb int32, zIdxName // // Entry 0 (the "main" database) and entry 1 (the "temp" database) // are never candidates for being collapsed. -func Xsqlite3CollapseDatabaseArray(tls *libc.TLS, db uintptr) { /* sqlite3.c:114507:21: */ +func Xsqlite3CollapseDatabaseArray(tls *libc.TLS, db uintptr) { /* sqlite3.c:114520:21: */ var i int32 var j int32 for i = libc.AssignInt32(&j, 2); i < (*Sqlite3)(unsafe.Pointer(db)).FnDb; i++ { @@ -94923,7 +94942,7 @@ func Xsqlite3CollapseDatabaseArray(tls *libc.TLS, db uintptr) { /* sqlite3.c:114 // Reset the schema for the database at index iDb. Also reset the // TEMP schema. The reset is deferred if db->nSchemaLock is not zero. // Deferred resets may be run by calling with iDb<0. -func Xsqlite3ResetOneSchema(tls *libc.TLS, db uintptr, iDb int32) { /* sqlite3.c:114534:21: */ +func Xsqlite3ResetOneSchema(tls *libc.TLS, db uintptr, iDb int32) { /* sqlite3.c:114547:21: */ var i int32 if iDb >= 0 { @@ -94944,7 +94963,7 @@ func Xsqlite3ResetOneSchema(tls *libc.TLS, db uintptr, iDb int32) { /* sqlite3.c // Erase all schema information from all attached databases (including // "main" and "temp") for a single database connection. -func Xsqlite3ResetAllSchemasOfConnection(tls *libc.TLS, db uintptr) { /* sqlite3.c:114558:21: */ +func Xsqlite3ResetAllSchemasOfConnection(tls *libc.TLS, db uintptr) { /* sqlite3.c:114571:21: */ var i int32 Xsqlite3BtreeEnterAll(tls, db) for i = 0; i < (*Sqlite3)(unsafe.Pointer(db)).FnDb; i++ { @@ -94966,14 +94985,14 @@ func Xsqlite3ResetAllSchemasOfConnection(tls *libc.TLS, db uintptr) { /* sqlite3 } // This routine is called when a commit occurs. -func Xsqlite3CommitInternalChanges(tls *libc.TLS, db uintptr) { /* sqlite3.c:114582:21: */ +func Xsqlite3CommitInternalChanges(tls *libc.TLS, db uintptr) { /* sqlite3.c:114595:21: */ *(*U32)(unsafe.Pointer(db + 44)) &= libc.Uint32FromInt32(libc.CplInt32(DBFLAG_SchemaChange)) } // Set the expression associated with a column. This is usually // the DEFAULT value, but might also be the expression that computes // the value for a generated column. -func Xsqlite3ColumnSetExpr(tls *libc.TLS, pParse uintptr, pTab uintptr, pCol uintptr, pExpr uintptr) { /* sqlite3.c:114591:21: */ +func Xsqlite3ColumnSetExpr(tls *libc.TLS, pParse uintptr, pTab uintptr, pCol uintptr, pExpr uintptr) { /* sqlite3.c:114604:21: */ var pList uintptr pList = *(*uintptr)(unsafe.Pointer(pTab + 64 + 16 /* &.pDfltList */)) @@ -94996,7 +95015,7 @@ func Xsqlite3ColumnSetExpr(tls *libc.TLS, pParse uintptr, pTab uintptr, pCol uin // Return the expression associated with a column. The expression might be // the DEFAULT clause or the AS clause of a generated column. // Return NULL if the column has no associated expression. -func Xsqlite3ColumnExpr(tls *libc.TLS, pTab uintptr, pCol uintptr) uintptr { /* sqlite3.c:114617:21: */ +func Xsqlite3ColumnExpr(tls *libc.TLS, pTab uintptr, pCol uintptr) uintptr { /* sqlite3.c:114630:21: */ if int32((*Column)(unsafe.Pointer(pCol)).FiDflt) == 0 { return uintptr(0) } @@ -95013,7 +95032,7 @@ func Xsqlite3ColumnExpr(tls *libc.TLS, pTab uintptr, pCol uintptr) uintptr { /* } // Set the collating sequence name for a column. -func Xsqlite3ColumnSetColl(tls *libc.TLS, db uintptr, pCol uintptr, zColl uintptr) { /* sqlite3.c:114628:21: */ +func Xsqlite3ColumnSetColl(tls *libc.TLS, db uintptr, pCol uintptr, zColl uintptr) { /* sqlite3.c:114641:21: */ var nColl I64 var n I64 var zNew uintptr @@ -95032,7 +95051,7 @@ func Xsqlite3ColumnSetColl(tls *libc.TLS, db uintptr, pCol uintptr, zColl uintpt } // Return the collating squence name for a column -func Xsqlite3ColumnColl(tls *libc.TLS, pCol uintptr) uintptr { /* sqlite3.c:114653:27: */ +func Xsqlite3ColumnColl(tls *libc.TLS, pCol uintptr) uintptr { /* sqlite3.c:114666:27: */ var z uintptr if int32((*Column)(unsafe.Pointer(pCol)).FcolFlags)&COLFLAG_HASCOLL == 0 { return uintptr(0) @@ -95051,7 +95070,7 @@ func Xsqlite3ColumnColl(tls *libc.TLS, pCol uintptr) uintptr { /* sqlite3.c:1146 // Delete memory allocated for the column names of a table or view (the // Table.aCol[] array). -func Xsqlite3DeleteColumnNames(tls *libc.TLS, db uintptr, pTable uintptr) { /* sqlite3.c:114668:21: */ +func Xsqlite3DeleteColumnNames(tls *libc.TLS, db uintptr, pTable uintptr) { /* sqlite3.c:114681:21: */ var i int32 var pCol uintptr @@ -95101,7 +95120,7 @@ func Xsqlite3DeleteColumnNames(tls *libc.TLS, db uintptr, pTable uintptr) { /* s // lookaside memory, but some ephemeral Table objects do.) Or the // db parameter can be used with db->pnBytesFreed to measure the memory // used by the Table object. -func deleteTable(tls *libc.TLS, db uintptr, pTable uintptr) { /* sqlite3.c:114706:29: */ +func deleteTable(tls *libc.TLS, db uintptr, pTable uintptr) { /* sqlite3.c:114719:29: */ var pIndex uintptr var pNext uintptr @@ -95138,7 +95157,7 @@ func deleteTable(tls *libc.TLS, db uintptr, pTable uintptr) { /* sqlite3.c:11470 } -func Xsqlite3DeleteTable(tls *libc.TLS, db uintptr, pTable uintptr) { /* sqlite3.c:114763:21: */ +func Xsqlite3DeleteTable(tls *libc.TLS, db uintptr, pTable uintptr) { /* sqlite3.c:114776:21: */ // Do not delete the table until the reference count reaches zero. if !(pTable != 0) { return @@ -95151,7 +95170,7 @@ func Xsqlite3DeleteTable(tls *libc.TLS, db uintptr, pTable uintptr) { /* sqlite3 // Unlink the given table from the hash tables and the delete the // table structure with all its indices and foreign keys. -func Xsqlite3UnlinkAndDeleteTable(tls *libc.TLS, db uintptr, iDb int32, zTabName uintptr) { /* sqlite3.c:114775:21: */ +func Xsqlite3UnlinkAndDeleteTable(tls *libc.TLS, db uintptr, iDb int32, zTabName uintptr) { /* sqlite3.c:114788:21: */ var p uintptr var pDb uintptr @@ -95173,7 +95192,7 @@ func Xsqlite3UnlinkAndDeleteTable(tls *libc.TLS, db uintptr, iDb int32, zTabName // Tokens are often just pointers into the original SQL text and so // are not \000 terminated and are not persistent. The returned string // is \000 terminated and is persistent. -func Xsqlite3NameFromToken(tls *libc.TLS, db uintptr, pName uintptr) uintptr { /* sqlite3.c:114803:21: */ +func Xsqlite3NameFromToken(tls *libc.TLS, db uintptr, pName uintptr) uintptr { /* sqlite3.c:114816:21: */ var zName uintptr if pName != 0 { zName = Xsqlite3DbStrNDup(tls, db, (*Token)(unsafe.Pointer(pName)).Fz, uint64((*Token)(unsafe.Pointer(pName)).Fn)) @@ -95186,7 +95205,7 @@ func Xsqlite3NameFromToken(tls *libc.TLS, db uintptr, pName uintptr) uintptr { / // Open the sqlite_schema table stored in database number iDb for // writing. The table is opened using cursor 0. -func Xsqlite3OpenSchemaTable(tls *libc.TLS, p uintptr, iDb int32) { /* sqlite3.c:114818:21: */ +func Xsqlite3OpenSchemaTable(tls *libc.TLS, p uintptr, iDb int32) { /* sqlite3.c:114831:21: */ var v uintptr = Xsqlite3GetVdbe(tls, p) Xsqlite3TableLock(tls, p, iDb, uint32(SCHEMA_ROOT), uint8(1), ts+5844) Xsqlite3VdbeAddOp4Int(tls, v, OP_OpenWrite, 0, SCHEMA_ROOT, iDb, 5) @@ -95199,7 +95218,7 @@ func Xsqlite3OpenSchemaTable(tls *libc.TLS, p uintptr, iDb int32) { /* sqlite3.c // of a database ("main", "temp" or the name of an attached db). This // function returns the index of the named database in db->aDb[], or // -1 if the named db cannot be found. -func Xsqlite3FindDbName(tls *libc.TLS, db uintptr, zName uintptr) int32 { /* sqlite3.c:114833:20: */ +func Xsqlite3FindDbName(tls *libc.TLS, db uintptr, zName uintptr) int32 { /* sqlite3.c:114846:20: */ var i int32 = -1 // Database number if zName != 0 { var pDb uintptr @@ -95235,7 +95254,7 @@ func Xsqlite3FindDbName(tls *libc.TLS, db uintptr, zName uintptr) int32 { /* sql // "temp" or the name of an attached db). This routine returns the // index of the named database in db->aDb[], or -1 if the named db // does not exist. -func Xsqlite3FindDb(tls *libc.TLS, db uintptr, pName uintptr) int32 { /* sqlite3.c:114853:20: */ +func Xsqlite3FindDb(tls *libc.TLS, db uintptr, pName uintptr) int32 { /* sqlite3.c:114866:20: */ var i int32 // Database number var zName uintptr // Name we are searching for zName = Xsqlite3NameFromToken(tls, db, pName) @@ -95259,7 +95278,7 @@ func Xsqlite3FindDb(tls *libc.TLS, db uintptr, pName uintptr) int32 { /* sqlite3 // This routine sets the *ppUnqual pointer to point at the token (pName1 or // pName2) that stores the unqualified table name. The index of the // database "xxx" is returned. -func Xsqlite3TwoPartName(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 uintptr, pUnqual uintptr) int32 { /* sqlite3.c:114878:20: */ +func Xsqlite3TwoPartName(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 uintptr, pUnqual uintptr) int32 { /* sqlite3.c:114891:20: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -95286,7 +95305,7 @@ func Xsqlite3TwoPartName(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 u } // True if PRAGMA writable_schema is ON -func Xsqlite3WritableSchema(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:114911:20: */ +func Xsqlite3WritableSchema(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:114924:20: */ return libc.Bool32((*Sqlite3)(unsafe.Pointer(db)).Fflags&uint64(SQLITE_WriteSchema|SQLITE_Defensive) == uint64(SQLITE_WriteSchema)) } @@ -95300,7 +95319,7 @@ func Xsqlite3WritableSchema(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:1149 // When parsing the sqlite_schema table, this routine also checks to // make sure the "type", "name", and "tbl_name" columns are consistent // with the SQL. -func Xsqlite3CheckObjectName(tls *libc.TLS, pParse uintptr, zName uintptr, zType uintptr, zTblName uintptr) int32 { /* sqlite3.c:114933:20: */ +func Xsqlite3CheckObjectName(tls *libc.TLS, pParse uintptr, zName uintptr, zType uintptr, zTblName uintptr) int32 { /* sqlite3.c:114946:20: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -95331,7 +95350,7 @@ func Xsqlite3CheckObjectName(tls *libc.TLS, pParse uintptr, zName uintptr, zType } // Return the PRIMARY KEY index of a table -func Xsqlite3PrimaryKeyIndex(tls *libc.TLS, pTab uintptr) uintptr { /* sqlite3.c:114971:22: */ +func Xsqlite3PrimaryKeyIndex(tls *libc.TLS, pTab uintptr) uintptr { /* sqlite3.c:114984:22: */ var p uintptr for p = (*Table)(unsafe.Pointer(pTab)).FpIndex; p != 0 && !(int32(*(*uint16)(unsafe.Pointer(p + 100 /* &.idxType */))&0x3>>0) == SQLITE_IDXTYPE_PRIMARYKEY); p = (*Index)(unsafe.Pointer(p)).FpNext { } @@ -95342,7 +95361,7 @@ func Xsqlite3PrimaryKeyIndex(tls *libc.TLS, pTab uintptr) uintptr { /* sqlite3.c // for the column iCol in the table (as defined by the CREATE TABLE statement) // find the (first) offset of that column in index pIdx. Or return -1 // if column iCol is not used in index pIdx. -func Xsqlite3TableColumnToIndex(tls *libc.TLS, pIdx uintptr, iCol I16) I16 { /* sqlite3.c:114983:20: */ +func Xsqlite3TableColumnToIndex(tls *libc.TLS, pIdx uintptr, iCol I16) I16 { /* sqlite3.c:114996:20: */ var i int32 for i = 0; i < int32((*Index)(unsafe.Pointer(pIdx)).FnColumn); i++ { if int32(iCol) == int32(*(*I16)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FaiColumn + uintptr(i)*2))) { @@ -95362,7 +95381,7 @@ func Xsqlite3TableColumnToIndex(tls *libc.TLS, pIdx uintptr, iCol I16) I16 { /* // and only there are VIRTUAL columns to the left. // // If SQLITE_OMIT_GENERATED_COLUMNS, this routine is a no-op macro. -func Xsqlite3StorageColumnToTable(tls *libc.TLS, pTab uintptr, iCol I16) I16 { /* sqlite3.c:115003:20: */ +func Xsqlite3StorageColumnToTable(tls *libc.TLS, pTab uintptr, iCol I16) I16 { /* sqlite3.c:115016:20: */ if (*Table)(unsafe.Pointer(pTab)).FtabFlags&U32(TF_HasVirtual) != 0 { var i int32 for i = 0; i <= int32(iCol); i++ { @@ -95409,7 +95428,7 @@ func Xsqlite3StorageColumnToTable(tls *libc.TLS, pTab uintptr, iCol I16) I16 { / // this routine is a no-op macro. If the pTab does not have any virtual // columns, then this routine is no-op that always return iCol. If iCol // is negative (indicating the ROWID column) then this routine return iCol. -func Xsqlite3TableColumnToStorage(tls *libc.TLS, pTab uintptr, iCol I16) I16 { /* sqlite3.c:115051:20: */ +func Xsqlite3TableColumnToStorage(tls *libc.TLS, pTab uintptr, iCol I16) I16 { /* sqlite3.c:115064:20: */ var i int32 var n I16 @@ -95439,7 +95458,7 @@ func Xsqlite3TableColumnToStorage(tls *libc.TLS, pTab uintptr, iCol I16) I16 { / // exists, so that the prepared statement for CREATE TABLE IF NOT EXISTS // will return false for sqlite3_stmt_readonly() even if that statement // is a read-only no-op. -func sqlite3ForceNotReadOnly(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:115077:13: */ +func sqlite3ForceNotReadOnly(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:115090:13: */ var iReg int32 = libc.PreIncInt32(&(*Parse)(unsafe.Pointer(pParse)).FnMem, 1) var v uintptr = Xsqlite3GetVdbe(tls, pParse) if v != 0 { @@ -95462,7 +95481,7 @@ func sqlite3ForceNotReadOnly(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:11507 // routines will be called to add more information to this record. // At the end of the CREATE TABLE statement, the sqlite3EndTable() routine // is called to complete the construction of the new table record. -func Xsqlite3StartTable(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 uintptr, isTemp int32, isView int32, isVirtual int32, noErr int32) { /* sqlite3.c:115102:21: */ +func Xsqlite3StartTable(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 uintptr, isTemp int32, isView int32, isVirtual int32, noErr int32) { /* sqlite3.c:115115:21: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -95720,8 +95739,8 @@ var aCode = [4]U8{ U8(SQLITE_CREATE_TEMP_TABLE), U8(SQLITE_CREATE_VIEW), U8(SQLITE_CREATE_TEMP_VIEW), -} /* sqlite3.c:115149:21 */ -var nullRow = [6]int8{int8(6), int8(0), int8(0), int8(0), int8(0), int8(0)} /* sqlite3.c:115228:23 */ +} /* sqlite3.c:115162:21 */ +var nullRow = [6]int8{int8(6), int8(0), int8(0), int8(0), int8(0), int8(0)} /* sqlite3.c:115241:23 */ // Set properties of a table column based on the (magical) // name of the column. @@ -95731,7 +95750,7 @@ var nullRow = [6]int8{int8(6), int8(0), int8(0), int8(0), int8(0), int8(0)} /* s // with any application-generated triggers. // Clean up the data structures associated with the RETURNING clause. -func sqlite3DeleteReturning(tls *libc.TLS, db uintptr, pRet uintptr) { /* sqlite3.c:115313:13: */ +func sqlite3DeleteReturning(tls *libc.TLS, db uintptr, pRet uintptr) { /* sqlite3.c:115326:13: */ var pHash uintptr pHash = (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+1*32)).FpSchema + 56 Xsqlite3HashInsert(tls, pHash, ts+12263, uintptr(0)) @@ -95753,7 +95772,7 @@ func sqlite3DeleteReturning(tls *libc.TLS, db uintptr, pRet uintptr) { /* sqlite // is attached to a DELETE, INSERT, or UPDATE, so construct it as a // RETURNING trigger instead. It will then be converted into the appropriate // type on the first call to sqlite3TriggersExist(). -func Xsqlite3AddReturning(tls *libc.TLS, pParse uintptr, pList uintptr) { /* sqlite3.c:115337:21: */ +func Xsqlite3AddReturning(tls *libc.TLS, pParse uintptr, pList uintptr) { /* sqlite3.c:115350:21: */ var pRet uintptr var pHash uintptr var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb @@ -95803,7 +95822,7 @@ func Xsqlite3AddReturning(tls *libc.TLS, pParse uintptr, pList uintptr) { /* sql // in a CREATE TABLE statement. sqlite3StartTable() gets called // first to get things going. Then this routine is called for each // column. -func Xsqlite3AddColumn(tls *libc.TLS, pParse uintptr, sName Token, sType Token) { /* sqlite3.c:115385:21: */ +func Xsqlite3AddColumn(tls *libc.TLS, pParse uintptr, sName Token, sType Token) { /* sqlite3.c:115398:21: */ bp := tls.Alloc(48) defer tls.Free(48) *(*Token)(unsafe.Pointer(bp + 16)) = sName @@ -95922,7 +95941,7 @@ func Xsqlite3AddColumn(tls *libc.TLS, pParse uintptr, sName Token, sType Token) // parsing a CREATE TABLE statement. A "NOT NULL" constraint has // been seen on a column. This routine sets the notNull flag on // the column currently under construction. -func Xsqlite3AddNotNull(tls *libc.TLS, pParse uintptr, onError int32) { /* sqlite3.c:115498:21: */ +func Xsqlite3AddNotNull(tls *libc.TLS, pParse uintptr, onError int32) { /* sqlite3.c:115511:21: */ var p uintptr var pCol uintptr p = (*Parse)(unsafe.Pointer(pParse)).FpNewTable @@ -95969,7 +95988,7 @@ func Xsqlite3AddNotNull(tls *libc.TLS, pParse uintptr, onError int32) { /* sqlit // // If none of the substrings in the above table are found, // SQLITE_AFF_NUMERIC is returned. -func Xsqlite3AffinityType(tls *libc.TLS, zIn uintptr, pCol uintptr) int8 { /* sqlite3.c:115545:21: */ +func Xsqlite3AffinityType(tls *libc.TLS, zIn uintptr, pCol uintptr) int8 { /* sqlite3.c:115558:21: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -96043,7 +96062,7 @@ func Xsqlite3AffinityType(tls *libc.TLS, zIn uintptr, pCol uintptr) int8 { /* sq // // This routine is called by the parser while in the middle of // parsing a CREATE TABLE statement. -func Xsqlite3AddDefaultValue(tls *libc.TLS, pParse uintptr, pExpr uintptr, zStart uintptr, zEnd uintptr) { /* sqlite3.c:115622:21: */ +func Xsqlite3AddDefaultValue(tls *libc.TLS, pParse uintptr, pExpr uintptr, zStart uintptr, zEnd uintptr) { /* sqlite3.c:115635:21: */ bp := tls.Alloc(80) defer tls.Free(80) @@ -96096,7 +96115,7 @@ func Xsqlite3AddDefaultValue(tls *libc.TLS, pParse uintptr, pExpr uintptr, zStar // if the expression is just a TK_STRING with an optional COLLATE clause. // If the expression is anything other than TK_STRING, the expression is // unchanged. -func sqlite3StringToId(tls *libc.TLS, p uintptr) { /* sqlite3.c:115681:13: */ +func sqlite3StringToId(tls *libc.TLS, p uintptr) { /* sqlite3.c:115694:13: */ if int32((*Expr)(unsafe.Pointer(p)).Fop) == TK_STRING { (*Expr)(unsafe.Pointer(p)).Fop = U8(TK_ID) } else if int32((*Expr)(unsafe.Pointer(p)).Fop) == TK_COLLATE && int32((*Expr)(unsafe.Pointer((*Expr)(unsafe.Pointer(p)).FpLeft)).Fop) == TK_STRING { @@ -96105,7 +96124,7 @@ func sqlite3StringToId(tls *libc.TLS, p uintptr) { /* sqlite3.c:115681:13: */ } // Tag the given column as being part of the PRIMARY KEY -func makeColumnPartOfPrimaryKey(tls *libc.TLS, pParse uintptr, pCol uintptr) { /* sqlite3.c:115692:13: */ +func makeColumnPartOfPrimaryKey(tls *libc.TLS, pParse uintptr, pCol uintptr) { /* sqlite3.c:115705:13: */ *(*U16)(unsafe.Pointer(pCol + 16)) |= U16(COLFLAG_PRIMKEY) if int32((*Column)(unsafe.Pointer(pCol)).FcolFlags)&COLFLAG_GENERATED != 0 { @@ -96130,7 +96149,7 @@ func makeColumnPartOfPrimaryKey(tls *libc.TLS, pParse uintptr, pCol uintptr) { / // // If the key is not an INTEGER PRIMARY KEY, then create a unique // index for the key. No index is created for INTEGER PRIMARY KEYs. -func Xsqlite3AddPrimaryKey(tls *libc.TLS, pParse uintptr, pList uintptr, onError int32, autoInc int32, sortOrder int32) { /* sqlite3.c:115722:21: */ +func Xsqlite3AddPrimaryKey(tls *libc.TLS, pParse uintptr, pList uintptr, onError int32, autoInc int32, sortOrder int32) { /* sqlite3.c:115735:21: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -96261,7 +96280,7 @@ primary_key_exit: } // Add a new CHECK constraint to the table currently under construction. -func Xsqlite3AddCheckConstraint(tls *libc.TLS, pParse uintptr, pCheckExpr uintptr, zStart uintptr, zEnd uintptr) { /* sqlite3.c:115799:21: */ +func Xsqlite3AddCheckConstraint(tls *libc.TLS, pParse uintptr, pCheckExpr uintptr, zStart uintptr, zEnd uintptr) { /* sqlite3.c:115812:21: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -96291,7 +96310,7 @@ func Xsqlite3AddCheckConstraint(tls *libc.TLS, pParse uintptr, pCheckExpr uintpt // Set the collation function of the most recently parsed table column // to the CollSeq given. -func Xsqlite3AddCollateType(tls *libc.TLS, pParse uintptr, pToken uintptr) { /* sqlite3.c:115833:21: */ +func Xsqlite3AddCollateType(tls *libc.TLS, pParse uintptr, pToken uintptr) { /* sqlite3.c:115846:21: */ var p uintptr var i int32 var zColl uintptr // Dequoted name of collation sequence @@ -96326,7 +96345,7 @@ func Xsqlite3AddCollateType(tls *libc.TLS, pParse uintptr, pToken uintptr) { /* // Change the most recently parsed column to be a GENERATED ALWAYS AS // column. -func Xsqlite3AddGenerated(tls *libc.TLS, pParse uintptr, pExpr uintptr, pType uintptr) { /* sqlite3.c:115866:21: */ +func Xsqlite3AddGenerated(tls *libc.TLS, pParse uintptr, pExpr uintptr, pType uintptr) { /* sqlite3.c:115879:21: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -96421,7 +96440,7 @@ generated_done: // // IMPLEMENTATION-OF: R-34230-56049 SQLite automatically increments // the schema-version whenever the schema changes. -func Xsqlite3ChangeCookie(tls *libc.TLS, pParse uintptr, iDb int32) { /* sqlite3.c:115934:21: */ +func Xsqlite3ChangeCookie(tls *libc.TLS, pParse uintptr, iDb int32) { /* sqlite3.c:115947:21: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe @@ -96435,7 +96454,7 @@ func Xsqlite3ChangeCookie(tls *libc.TLS, pParse uintptr, iDb int32) { /* sqlite3 // // The estimate is conservative. It might be larger that what is // really needed. -func identLength(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:115950:12: */ +func identLength(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:115963:12: */ var n int32 n = 0 __1: @@ -96470,7 +96489,7 @@ __3: // characters, does not begin with a digit and is not an SQL keyword, // then it is copied to the output buffer exactly as it is. Otherwise, // it is quoted using double-quotes. -func identPut(tls *libc.TLS, z uintptr, pIdx uintptr, zSignedIdent uintptr) { /* sqlite3.c:115971:13: */ +func identPut(tls *libc.TLS, z uintptr, pIdx uintptr, zSignedIdent uintptr) { /* sqlite3.c:115984:13: */ var zIdent uintptr = zSignedIdent var i int32 var j int32 @@ -96506,7 +96525,7 @@ func identPut(tls *libc.TLS, z uintptr, pIdx uintptr, zSignedIdent uintptr) { /* // Generate a CREATE TABLE statement appropriate for the given // table. Memory to hold the text of the statement is obtained // from sqliteMalloc() and must be freed by the calling function. -func createTableStmt(tls *libc.TLS, db uintptr, p uintptr) uintptr { /* sqlite3.c:115999:13: */ +func createTableStmt(tls *libc.TLS, db uintptr, p uintptr) uintptr { /* sqlite3.c:116012:13: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -96598,11 +96617,11 @@ var azType1 = [5]uintptr{ ts + 12738, ts + 12743, ts + 12748, -} /* sqlite3.c:116029:23 */ +} /* sqlite3.c:116042:23 */ // Resize an Index object to hold N columns total. Return SQLITE_OK // on success and SQLITE_NOMEM on an OOM error. -func resizeIndexObject(tls *libc.TLS, db uintptr, pIdx uintptr, N int32) int32 { /* sqlite3.c:116067:12: */ +func resizeIndexObject(tls *libc.TLS, db uintptr, pIdx uintptr, N int32) int32 { /* sqlite3.c:116080:12: */ var zExtra uintptr var nByte int32 if int32((*Index)(unsafe.Pointer(pIdx)).FnColumn) >= N { @@ -96631,7 +96650,7 @@ func resizeIndexObject(tls *libc.TLS, db uintptr, pIdx uintptr, N int32) int32 { } // Estimate the total row width for a table. -func estimateTableWidth(tls *libc.TLS, pTab uintptr) { /* sqlite3.c:116094:13: */ +func estimateTableWidth(tls *libc.TLS, pTab uintptr) { /* sqlite3.c:116107:13: */ var wTable uint32 = uint32(0) var pTabCol uintptr var i int32 @@ -96660,7 +96679,7 @@ __3: } // Estimate the average size of a row for an index. -func estimateIndexWidth(tls *libc.TLS, pIdx uintptr) { /* sqlite3.c:116108:13: */ +func estimateIndexWidth(tls *libc.TLS, pIdx uintptr) { /* sqlite3.c:116121:13: */ var wIndex uint32 = uint32(0) var i int32 var aCol uintptr = (*Table)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FpTable)).FaCol @@ -96680,7 +96699,7 @@ func estimateIndexWidth(tls *libc.TLS, pIdx uintptr) { /* sqlite3.c:116108:13: * // Return true if column number x is any of the first nCol entries of aiCol[]. // This is used to determine if the column number x appears in any of the // first nCol entries of an index. -func hasColumn(tls *libc.TLS, aiCol uintptr, nCol int32, x int32) int32 { /* sqlite3.c:116124:12: */ +func hasColumn(tls *libc.TLS, aiCol uintptr, nCol int32, x int32) int32 { /* sqlite3.c:116137:12: */ for libc.PostDecInt32(&nCol, 1) > 0 { if x == int32(*(*I16)(unsafe.Pointer(libc.PostIncUintptr(&aiCol, 2)))) { return 1 @@ -96700,7 +96719,7 @@ func hasColumn(tls *libc.TLS, aiCol uintptr, nCol int32, x int32) int32 { /* sql // This routine differs from hasColumn() in that both the column and the // collating sequence must match for this routine, but for hasColumn() only // the column name must match. -func isDupColumn(tls *libc.TLS, pIdx uintptr, nKey int32, pPk uintptr, iCol int32) int32 { /* sqlite3.c:116146:12: */ +func isDupColumn(tls *libc.TLS, pIdx uintptr, nKey int32, pPk uintptr, iCol int32) int32 { /* sqlite3.c:116159:12: */ var i int32 var j int32 @@ -96733,7 +96752,7 @@ func isDupColumn(tls *libc.TLS, pIdx uintptr, nKey int32, pPk uintptr, iCol int3 // // The colNotIdxed mask is AND-ed with the SrcList.a[].colUsed mask // to determine if the index is covering index. -func recomputeColumnsNotIndexed(tls *libc.TLS, pIdx uintptr) { /* sqlite3.c:116185:13: */ +func recomputeColumnsNotIndexed(tls *libc.TLS, pIdx uintptr) { /* sqlite3.c:116198:13: */ var m Bitmask = uint64(0) var j int32 var pTab uintptr = (*Index)(unsafe.Pointer(pIdx)).FpTable @@ -96772,7 +96791,7 @@ func recomputeColumnsNotIndexed(tls *libc.TLS, pIdx uintptr) { /* sqlite3.c:1161 // indices with the PRIMARY KEY columns. // // For virtual tables, only (1) is performed. -func convertToWithoutRowidTable(tls *libc.TLS, pParse uintptr, pTab uintptr) { /* sqlite3.c:116225:13: */ +func convertToWithoutRowidTable(tls *libc.TLS, pParse uintptr, pTab uintptr) { /* sqlite3.c:116238:13: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -96935,7 +96954,7 @@ func convertToWithoutRowidTable(tls *libc.TLS, pParse uintptr, pTab uintptr) { / // Return true if pTab is a virtual table and zName is a shadow table name // for that virtual table. -func Xsqlite3IsShadowTableOf(tls *libc.TLS, db uintptr, pTab uintptr, zName uintptr) int32 { /* sqlite3.c:116385:20: */ +func Xsqlite3IsShadowTableOf(tls *libc.TLS, db uintptr, pTab uintptr, zName uintptr) int32 { /* sqlite3.c:116398:20: */ var nName int32 // Length of zName var pMod uintptr // Module for the virtual table @@ -96968,7 +96987,7 @@ func Xsqlite3IsShadowTableOf(tls *libc.TLS, db uintptr, pTab uintptr, zName uint // exists and has an xShadowName method, then loop over all other ordinary // tables within the same schema looking for shadow tables of pTab, and mark // any shadow tables seen using the TF_Shadow flag. -func Xsqlite3MarkAllShadowTablesOf(tls *libc.TLS, db uintptr, pTab uintptr) { /* sqlite3.c:116408:21: */ +func Xsqlite3MarkAllShadowTablesOf(tls *libc.TLS, db uintptr, pTab uintptr) { /* sqlite3.c:116421:21: */ var nName int32 // Length of pTab->zName var pMod uintptr // Module for the virtual table var k uintptr // For looping through the symbol table @@ -97012,7 +97031,7 @@ func Xsqlite3MarkAllShadowTablesOf(tls *libc.TLS, db uintptr, pTab uintptr) { /* // // zName is temporarily modified while this routine is running, but is // restored to its original value prior to this routine returning. -func Xsqlite3ShadowTableName(tls *libc.TLS, db uintptr, zName uintptr) int32 { /* sqlite3.c:116444:20: */ +func Xsqlite3ShadowTableName(tls *libc.TLS, db uintptr, zName uintptr) int32 { /* sqlite3.c:116457:20: */ var zTail uintptr // Pointer to the last "_" in zName var pTab uintptr // Table that zName is a shadow of zTail = libc.Xstrrchr(tls, zName, '_') @@ -97049,7 +97068,7 @@ func Xsqlite3ShadowTableName(tls *libc.TLS, db uintptr, zName uintptr) int32 { / // was called to create a table generated from a // "CREATE TABLE ... AS SELECT ..." statement. The column names of // the new table will match the result set of the SELECT. -func Xsqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr, tabOpts U32, pSelect uintptr) { /* sqlite3.c:116505:21: */ +func Xsqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr, tabOpts U32, pSelect uintptr) { /* sqlite3.c:116518:21: */ bp := tls.Alloc(184) defer tls.Free(184) @@ -97370,7 +97389,7 @@ func Xsqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr } // The parser calls this routine in order to create a new VIEW -func Xsqlite3CreateView(tls *libc.TLS, pParse uintptr, pBegin uintptr, pName1 uintptr, pName2 uintptr, pCNames uintptr, pSelect uintptr, isTemp int32, noErr int32) { /* sqlite3.c:116847:21: */ +func Xsqlite3CreateView(tls *libc.TLS, pParse uintptr, pBegin uintptr, pName1 uintptr, pName2 uintptr, pCNames uintptr, pSelect uintptr, isTemp int32, noErr int32) { /* sqlite3.c:116860:21: */ bp := tls.Alloc(120) defer tls.Free(120) @@ -97488,7 +97507,7 @@ __10: // The Table structure pTable is really a VIEW. Fill in the names of // the columns of the view in the pTable structure. Return the number // of errors. If an error is seen leave an error message in pParse->zErrMsg. -func Xsqlite3ViewGetColumnNames(tls *libc.TLS, pParse uintptr, pTable uintptr) int32 { /* sqlite3.c:116939:20: */ +func Xsqlite3ViewGetColumnNames(tls *libc.TLS, pParse uintptr, pTable uintptr) int32 { /* sqlite3.c:116952:20: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -97603,7 +97622,7 @@ func Xsqlite3ViewGetColumnNames(tls *libc.TLS, pParse uintptr, pTable uintptr) i } // Clear the column names from every VIEW in database idx. -func sqliteViewResetAll(tls *libc.TLS, db uintptr, idx int32) { /* sqlite3.c:117067:13: */ +func sqliteViewResetAll(tls *libc.TLS, db uintptr, idx int32) { /* sqlite3.c:117080:13: */ var i uintptr if !(int32((*Schema)(unsafe.Pointer((*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(idx)*32)).FpSchema)).FschemaFlags)&DB_UnresetViews == DB_UnresetViews) { @@ -97633,7 +97652,7 @@ func sqliteViewResetAll(tls *libc.TLS, db uintptr, idx int32) { /* sqlite3.c:117 // We must continue looping until all tables and indices with // rootpage==iFrom have been converted to have a rootpage of iTo // in order to be certain that we got the right one. -func Xsqlite3RootPageMoved(tls *libc.TLS, db uintptr, iDb int32, iFrom Pgno, iTo Pgno) { /* sqlite3.c:117101:21: */ +func Xsqlite3RootPageMoved(tls *libc.TLS, db uintptr, iDb int32, iFrom Pgno, iTo Pgno) { /* sqlite3.c:117114:21: */ var pElem uintptr var pHash uintptr var pDb uintptr @@ -97659,7 +97678,7 @@ func Xsqlite3RootPageMoved(tls *libc.TLS, db uintptr, iDb int32, iFrom Pgno, iTo // Also write code to modify the sqlite_schema table and internal schema // if a root-page of another table is moved by the btree-layer whilst // erasing iTable (this can happen with an auto-vacuum database). -func destroyRootPage(tls *libc.TLS, pParse uintptr, iTable int32, iDb int32) { /* sqlite3.c:117131:13: */ +func destroyRootPage(tls *libc.TLS, pParse uintptr, iTable int32, iDb int32) { /* sqlite3.c:117144:13: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -97689,7 +97708,7 @@ func destroyRootPage(tls *libc.TLS, pParse uintptr, iTable int32, iDb int32) { / // Code to update the sqlite_schema tables and internal schema definitions // in case a root-page belonging to another table is moved by the btree layer // is also added (this can happen with an auto-vacuum database). -func destroyTable(tls *libc.TLS, pParse uintptr, pTab uintptr) { /* sqlite3.c:117161:13: */ +func destroyTable(tls *libc.TLS, pParse uintptr, pTab uintptr) { /* sqlite3.c:117174:13: */ // If the database may be auto-vacuum capable (if SQLITE_OMIT_AUTOVACUUM // is not defined), then it is important to call OP_Destroy on the // table and index root-pages in order, starting with the numerically @@ -97735,7 +97754,7 @@ func destroyTable(tls *libc.TLS, pParse uintptr, pTab uintptr) { /* sqlite3.c:11 // Remove entries from the sqlite_statN tables (for N in (1,2,3)) // after a DROP INDEX or DROP TABLE command. -func sqlite3ClearStatTables(tls *libc.TLS, pParse uintptr, iDb int32, zType uintptr, zName uintptr) { /* sqlite3.c:117210:13: */ +func sqlite3ClearStatTables(tls *libc.TLS, pParse uintptr, iDb int32, zType uintptr, zName uintptr) { /* sqlite3.c:117223:13: */ bp := tls.Alloc(64) defer tls.Free(64) @@ -97754,7 +97773,7 @@ func sqlite3ClearStatTables(tls *libc.TLS, pParse uintptr, iDb int32, zType uint } // Generate code to drop a table. -func Xsqlite3CodeDropTable(tls *libc.TLS, pParse uintptr, pTab uintptr, iDb int32, isView int32) { /* sqlite3.c:117233:21: */ +func Xsqlite3CodeDropTable(tls *libc.TLS, pParse uintptr, pTab uintptr, iDb int32, isView int32) { /* sqlite3.c:117246:21: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -97818,7 +97837,7 @@ func Xsqlite3CodeDropTable(tls *libc.TLS, pParse uintptr, pTab uintptr, iDb int3 // Return TRUE if shadow tables should be read-only in the current // context. -func Xsqlite3ReadOnlyShadowTables(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:117306:20: */ +func Xsqlite3ReadOnlyShadowTables(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:117319:20: */ if (*Sqlite3)(unsafe.Pointer(db)).Fflags&uint64(SQLITE_Defensive) != uint64(0) && (*Sqlite3)(unsafe.Pointer(db)).FpVtabCtx == uintptr(0) && (*Sqlite3)(unsafe.Pointer(db)).FnVdbeExec == 0 && @@ -97829,7 +97848,7 @@ func Xsqlite3ReadOnlyShadowTables(tls *libc.TLS, db uintptr) int32 { /* sqlite3. } // Return true if it is not allowed to drop the given table -func tableMayNotBeDropped(tls *libc.TLS, db uintptr, pTab uintptr) int32 { /* sqlite3.c:117322:12: */ +func tableMayNotBeDropped(tls *libc.TLS, db uintptr, pTab uintptr) int32 { /* sqlite3.c:117335:12: */ if Xsqlite3_strnicmp(tls, (*Table)(unsafe.Pointer(pTab)).FzName, ts+8019, 7) == 0 { if Xsqlite3_strnicmp(tls, (*Table)(unsafe.Pointer(pTab)).FzName+uintptr(7), ts+3237, 4) == 0 { return 0 @@ -97850,7 +97869,7 @@ func tableMayNotBeDropped(tls *libc.TLS, db uintptr, pTab uintptr) int32 { /* sq // This routine is called to do the work of a DROP TABLE statement. // pName is the name of the table to be dropped. -func Xsqlite3DropTable(tls *libc.TLS, pParse uintptr, pName uintptr, isView int32, noErr int32) { /* sqlite3.c:117341:21: */ +func Xsqlite3DropTable(tls *libc.TLS, pParse uintptr, pName uintptr, isView int32, noErr int32) { /* sqlite3.c:117354:21: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -98038,7 +98057,7 @@ exit_drop_table: // // The foreign key is set for IMMEDIATE processing. A subsequent call // to sqlite3DeferForeignKey() might change this to DEFERRED. -func Xsqlite3CreateForeignKey(tls *libc.TLS, pParse uintptr, pFromCol uintptr, pTo uintptr, pToCol uintptr, flags int32) { /* sqlite3.c:117461:21: */ +func Xsqlite3CreateForeignKey(tls *libc.TLS, pParse uintptr, pFromCol uintptr, pTo uintptr, pToCol uintptr, flags int32) { /* sqlite3.c:117474:21: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -98261,7 +98280,7 @@ fk_end: // parameter is 1 for INITIALLY DEFERRED and 0 for INITIALLY IMMEDIATE. // The behavior of the most recently created foreign key is adjusted // accordingly. -func Xsqlite3DeferForeignKey(tls *libc.TLS, pParse uintptr, isDeferred int32) { /* sqlite3.c:117593:21: */ +func Xsqlite3DeferForeignKey(tls *libc.TLS, pParse uintptr, isDeferred int32) { /* sqlite3.c:117606:21: */ var pTab uintptr var pFKey uintptr if libc.AssignUintptr(&pTab, (*Parse)(unsafe.Pointer(pParse)).FpNewTable) == uintptr(0) { @@ -98286,7 +98305,7 @@ func Xsqlite3DeferForeignKey(tls *libc.TLS, pParse uintptr, isDeferred int32) { // root page number of the index. If memRootPage is negative, then // the index already exists and must be cleared before being refilled and // the root page number of the index is taken from pIndex->tnum. -func sqlite3RefillIndex(tls *libc.TLS, pParse uintptr, pIndex uintptr, memRootPage int32) { /* sqlite3.c:117616:13: */ +func sqlite3RefillIndex(tls *libc.TLS, pParse uintptr, pIndex uintptr, memRootPage int32) { /* sqlite3.c:117629:13: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -98398,7 +98417,7 @@ func sqlite3RefillIndex(tls *libc.TLS, pParse uintptr, pIndex uintptr, memRootPa // Increase the allocation size to provide an extra nExtra bytes // of 8-byte aligned space after the Index object and return a // pointer to this extra space in *ppExtra. -func Xsqlite3AllocateIndexObject(tls *libc.TLS, db uintptr, nCol I16, nExtra int32, ppExtra uintptr) uintptr { /* sqlite3.c:117722:22: */ +func Xsqlite3AllocateIndexObject(tls *libc.TLS, db uintptr, nCol I16, nExtra int32, ppExtra uintptr) uintptr { /* sqlite3.c:117735:22: */ var p uintptr // Allocated index object var nByte int32 // Bytes of space for Index object + arrays @@ -98423,7 +98442,7 @@ func Xsqlite3AllocateIndexObject(tls *libc.TLS, db uintptr, nCol I16, nExtra int // If expression list pList contains an expression that was parsed with // an explicit "NULLS FIRST" or "NULLS LAST" clause, leave an error in // pParse and return non-zero. Otherwise, return zero. -func Xsqlite3HasExplicitNulls(tls *libc.TLS, pParse uintptr, pList uintptr) int32 { /* sqlite3.c:117755:20: */ +func Xsqlite3HasExplicitNulls(tls *libc.TLS, pParse uintptr, pList uintptr) int32 { /* sqlite3.c:117768:20: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -98456,7 +98475,7 @@ func Xsqlite3HasExplicitNulls(tls *libc.TLS, pParse uintptr, pList uintptr) int3 // pList is a list of columns to be indexed. pList will be NULL if this // is a primary key or unique-constraint on the most recent column added // to the table currently under construction. -func Xsqlite3CreateIndex(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 uintptr, pTblName uintptr, pList uintptr, onError int32, pStart uintptr, pPIWhere uintptr, sortOrder int32, ifNotExist int32, idxType U8) { /* sqlite3.c:117783:21: */ +func Xsqlite3CreateIndex(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 uintptr, pTblName uintptr, pList uintptr, onError int32, pStart uintptr, pPIWhere uintptr, sortOrder int32, ifNotExist int32, idxType U8) { /* sqlite3.c:117796:21: */ bp := tls.Alloc(256) defer tls.Free(256) @@ -99226,7 +99245,7 @@ __81: goto __101 } Xsqlite3ErrorMsg(tls, pParse, ts+14077, 0) - (*Parse)(unsafe.Pointer(pParse)).Frc = Xsqlite3CorruptError(tls, 118239) + (*Parse)(unsafe.Pointer(pParse)).Frc = Xsqlite3CorruptError(tls, 118252) goto exit_create_index __101: ; @@ -99412,7 +99431,7 @@ __113: // Apart from that, we have little to go on besides intuition as to // how aiRowEst[] should be initialized. The numbers generated here // are based on typical values found in actual indices. -func Xsqlite3DefaultRowEst(tls *libc.TLS, pIdx uintptr) { /* sqlite3.c:118394:21: */ +func Xsqlite3DefaultRowEst(tls *libc.TLS, pIdx uintptr) { /* sqlite3.c:118407:21: */ var a uintptr = (*Index)(unsafe.Pointer(pIdx)).FaiRowLogEst var x LogEst var nCopy int32 = func() int32 { @@ -99456,11 +99475,11 @@ func Xsqlite3DefaultRowEst(tls *libc.TLS, pIdx uintptr) { /* sqlite3.c:118394:21 } } -var aVal = [5]LogEst{int16(33), int16(32), int16(30), int16(28), int16(26)} /* sqlite3.c:118396:23 */ +var aVal = [5]LogEst{int16(33), int16(32), int16(30), int16(28), int16(26)} /* sqlite3.c:118409:23 */ // This routine will drop an existing named index. This routine // implements the DROP INDEX statement. -func Xsqlite3DropIndex(tls *libc.TLS, pParse uintptr, pName uintptr, ifExists int32) { /* sqlite3.c:118438:21: */ +func Xsqlite3DropIndex(tls *libc.TLS, pParse uintptr, pName uintptr, ifExists int32) { /* sqlite3.c:118451:21: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -99579,7 +99598,7 @@ exit_drop_index: // // Otherwise, if the realloc() fails, *pIdx is set to -1, *pnEntry remains // unchanged and a copy of pArray returned. -func Xsqlite3ArrayAllocate(tls *libc.TLS, db uintptr, pArray uintptr, szEntry int32, pnEntry uintptr, pIdx uintptr) uintptr { /* sqlite3.c:118520:21: */ +func Xsqlite3ArrayAllocate(tls *libc.TLS, db uintptr, pArray uintptr, szEntry int32, pnEntry uintptr, pIdx uintptr) uintptr { /* sqlite3.c:118533:21: */ var z uintptr var n Sqlite3_int64 = Sqlite3_int64(libc.AssignPtrInt32(pIdx, *(*int32)(unsafe.Pointer(pnEntry)))) if n&(n-int64(1)) == int64(0) { @@ -99606,7 +99625,7 @@ func Xsqlite3ArrayAllocate(tls *libc.TLS, db uintptr, pArray uintptr, szEntry in // need be. // // A new IdList is returned, or NULL if malloc() fails. -func Xsqlite3IdListAppend(tls *libc.TLS, pParse uintptr, pList uintptr, pToken uintptr) uintptr { /* sqlite3.c:118550:23: */ +func Xsqlite3IdListAppend(tls *libc.TLS, pParse uintptr, pList uintptr, pToken uintptr) uintptr { /* sqlite3.c:118563:23: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -99637,7 +99656,7 @@ func Xsqlite3IdListAppend(tls *libc.TLS, pParse uintptr, pList uintptr, pToken u } // Delete an IdList. -func Xsqlite3IdListDelete(tls *libc.TLS, db uintptr, pList uintptr) { /* sqlite3.c:118578:21: */ +func Xsqlite3IdListDelete(tls *libc.TLS, db uintptr, pList uintptr) { /* sqlite3.c:118591:21: */ var i int32 if pList == uintptr(0) { return @@ -99651,7 +99670,7 @@ func Xsqlite3IdListDelete(tls *libc.TLS, db uintptr, pList uintptr) { /* sqlite3 // Return the index in pList of the identifier named zId. Return -1 // if not found. -func Xsqlite3IdListIndex(tls *libc.TLS, pList uintptr, zName uintptr) int32 { /* sqlite3.c:118592:20: */ +func Xsqlite3IdListIndex(tls *libc.TLS, pList uintptr, zName uintptr) int32 { /* sqlite3.c:118605:20: */ var i int32 if pList == uintptr(0) { return -1 @@ -99689,7 +99708,7 @@ func Xsqlite3IdListIndex(tls *libc.TLS, pList uintptr, zName uintptr) int32 { /* // If a memory allocation fails or the SrcList becomes too large, leave // the original SrcList unchanged, return NULL, and leave an error message // in pParse. -func Xsqlite3SrcListEnlarge(tls *libc.TLS, pParse uintptr, pSrc uintptr, nExtra int32, iStart int32) uintptr { /* sqlite3.c:118633:24: */ +func Xsqlite3SrcListEnlarge(tls *libc.TLS, pParse uintptr, pSrc uintptr, nExtra int32, iStart int32) uintptr { /* sqlite3.c:118646:24: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -99771,7 +99790,7 @@ func Xsqlite3SrcListEnlarge(tls *libc.TLS, pParse uintptr, pSrc uintptr, nExtra // // Both pTable and pDatabase are assumed to be quoted. They are dequoted // before being added to the SrcList. -func Xsqlite3SrcListAppend(tls *libc.TLS, pParse uintptr, pList uintptr, pTable uintptr, pDatabase uintptr) uintptr { /* sqlite3.c:118722:24: */ +func Xsqlite3SrcListAppend(tls *libc.TLS, pParse uintptr, pList uintptr, pTable uintptr, pDatabase uintptr) uintptr { /* sqlite3.c:118735:24: */ var pItem uintptr var db uintptr // Cannot have C without B @@ -99810,7 +99829,7 @@ func Xsqlite3SrcListAppend(tls *libc.TLS, pParse uintptr, pList uintptr, pTable } // Assign VdbeCursor index numbers to all tables in a SrcList -func Xsqlite3SrcListAssignCursors(tls *libc.TLS, pParse uintptr, pList uintptr) { /* sqlite3.c:118767:21: */ +func Xsqlite3SrcListAssignCursors(tls *libc.TLS, pParse uintptr, pList uintptr) { /* sqlite3.c:118780:21: */ var i int32 var pItem uintptr @@ -99842,7 +99861,7 @@ func Xsqlite3SrcListAssignCursors(tls *libc.TLS, pParse uintptr, pList uintptr) } // Delete an entire SrcList including all its substructure. -func Xsqlite3SrcListDelete(tls *libc.TLS, db uintptr, pList uintptr) { /* sqlite3.c:118785:21: */ +func Xsqlite3SrcListDelete(tls *libc.TLS, db uintptr, pList uintptr) { /* sqlite3.c:118798:21: */ var i int32 var pItem uintptr if pList == uintptr(0) { @@ -99905,7 +99924,7 @@ __3: // // Return a new SrcList which encodes is the FROM with the new // term added. -func Xsqlite3SrcListAppendFromTerm(tls *libc.TLS, pParse uintptr, p uintptr, pTable uintptr, pDatabase uintptr, pAlias uintptr, pSubquery uintptr, pOn uintptr, pUsing uintptr) uintptr { /* sqlite3.c:118819:24: */ +func Xsqlite3SrcListAppendFromTerm(tls *libc.TLS, pParse uintptr, p uintptr, pTable uintptr, pDatabase uintptr, pAlias uintptr, pSubquery uintptr, pOn uintptr, pUsing uintptr) uintptr { /* sqlite3.c:118832:24: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -99969,7 +99988,7 @@ append_from_error: // Add an INDEXED BY or NOT INDEXED clause to the most recently added // element of the source-list passed as the second argument. -func Xsqlite3SrcListIndexedBy(tls *libc.TLS, pParse uintptr, p uintptr, pIndexedBy uintptr) { /* sqlite3.c:118870:21: */ +func Xsqlite3SrcListIndexedBy(tls *libc.TLS, pParse uintptr, p uintptr, pIndexedBy uintptr) { /* sqlite3.c:118883:21: */ if p != 0 && (*Token)(unsafe.Pointer(pIndexedBy)).Fn > uint32(0) { var pItem uintptr @@ -99991,7 +100010,7 @@ func Xsqlite3SrcListIndexedBy(tls *libc.TLS, pParse uintptr, p uintptr, pIndexed // Append the contents of SrcList p2 to SrcList p1 and return the resulting // SrcList. Or, if an error occurs, return NULL. In all cases, p1 and p2 // are deleted by this function. -func Xsqlite3SrcListAppendList(tls *libc.TLS, pParse uintptr, p1 uintptr, p2 uintptr) uintptr { /* sqlite3.c:118896:24: */ +func Xsqlite3SrcListAppendList(tls *libc.TLS, pParse uintptr, p1 uintptr, p2 uintptr) uintptr { /* sqlite3.c:118909:24: */ if p2 != 0 { var pNew uintptr = Xsqlite3SrcListEnlarge(tls, pParse, p1, (*SrcList)(unsafe.Pointer(p2)).FnSrc, 1) @@ -100008,7 +100027,7 @@ func Xsqlite3SrcListAppendList(tls *libc.TLS, pParse uintptr, p1 uintptr, p2 uin // Add the list of function arguments to the SrcList entry for a // table-valued-function. -func Xsqlite3SrcListFuncArgs(tls *libc.TLS, pParse uintptr, p uintptr, pList uintptr) { /* sqlite3.c:118915:21: */ +func Xsqlite3SrcListFuncArgs(tls *libc.TLS, pParse uintptr, p uintptr, pList uintptr) { /* sqlite3.c:118928:21: */ if p != 0 { var pItem uintptr = p + 8 + uintptr((*SrcList)(unsafe.Pointer(p)).FnSrc-1)*112 @@ -100032,7 +100051,7 @@ func Xsqlite3SrcListFuncArgs(tls *libc.TLS, pParse uintptr, p uintptr, pList uin // The operator is "natural cross join". The A and B operands are stored // in p->a[0] and p->a[1], respectively. The parser initially stores the // operator with A. This routine shifts that operator over to B. -func Xsqlite3SrcListShiftJoinType(tls *libc.TLS, p uintptr) { /* sqlite3.c:118943:21: */ +func Xsqlite3SrcListShiftJoinType(tls *libc.TLS, p uintptr) { /* sqlite3.c:118956:21: */ if p != 0 { var i int32 for i = (*SrcList)(unsafe.Pointer(p)).FnSrc - 1; i > 0; i-- { @@ -100043,7 +100062,7 @@ func Xsqlite3SrcListShiftJoinType(tls *libc.TLS, p uintptr) { /* sqlite3.c:11894 } // Generate VDBE code for a BEGIN statement. -func Xsqlite3BeginTransaction(tls *libc.TLS, pParse uintptr, type1 int32) { /* sqlite3.c:118956:21: */ +func Xsqlite3BeginTransaction(tls *libc.TLS, pParse uintptr, type1 int32) { /* sqlite3.c:118969:21: */ var db uintptr var v uintptr var i int32 @@ -100078,7 +100097,7 @@ func Xsqlite3BeginTransaction(tls *libc.TLS, pParse uintptr, type1 int32) { /* s // Generate VDBE code for a COMMIT or ROLLBACK statement. // Code for ROLLBACK is generated if eType==TK_ROLLBACK. Otherwise // code is generated for a COMMIT. -func Xsqlite3EndTransaction(tls *libc.TLS, pParse uintptr, eType int32) { /* sqlite3.c:118992:21: */ +func Xsqlite3EndTransaction(tls *libc.TLS, pParse uintptr, eType int32) { /* sqlite3.c:119005:21: */ var v uintptr var isRollback int32 @@ -100100,7 +100119,7 @@ func Xsqlite3EndTransaction(tls *libc.TLS, pParse uintptr, eType int32) { /* sql // This function is called by the parser when it parses a command to create, // release or rollback an SQL savepoint. -func Xsqlite3Savepoint(tls *libc.TLS, pParse uintptr, op int32, pName uintptr) { /* sqlite3.c:119014:21: */ +func Xsqlite3Savepoint(tls *libc.TLS, pParse uintptr, op int32, pName uintptr) { /* sqlite3.c:119027:21: */ var zName uintptr = Xsqlite3NameFromToken(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, pName) if zName != 0 { var v uintptr = Xsqlite3GetVdbe(tls, pParse) @@ -100113,11 +100132,11 @@ func Xsqlite3Savepoint(tls *libc.TLS, pParse uintptr, op int32, pName uintptr) { } } -var az = [3]uintptr{ts + 14440, ts + 14462, ts + 14446} /* sqlite3.c:119019:23 */ +var az = [3]uintptr{ts + 14440, ts + 14462, ts + 14446} /* sqlite3.c:119032:23 */ // Make sure the TEMP database is open and available for use. Return // the number of errors. Leave any error messages in the pParse structure. -func Xsqlite3OpenTempDatabase(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:119034:20: */ +func Xsqlite3OpenTempDatabase(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:119047:20: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -100143,13 +100162,13 @@ func Xsqlite3OpenTempDatabase(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3. return 0 } -var flags int32 = SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE | SQLITE_OPEN_EXCLUSIVE | SQLITE_OPEN_DELETEONCLOSE | SQLITE_OPEN_TEMP_DB /* sqlite3.c:119039:22 */ +var flags int32 = SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE | SQLITE_OPEN_EXCLUSIVE | SQLITE_OPEN_DELETEONCLOSE | SQLITE_OPEN_TEMP_DB /* sqlite3.c:119052:22 */ // Record the fact that the schema cookie will need to be verified // for database iDb. The code to actually verify the schema cookie // will occur at the end of the top-level VDBE and will be generated // later, by sqlite3FinishCoding(). -func sqlite3CodeVerifySchemaAtToplevel(tls *libc.TLS, pToplevel uintptr, iDb int32) { /* sqlite3.c:119069:13: */ +func sqlite3CodeVerifySchemaAtToplevel(tls *libc.TLS, pToplevel uintptr, iDb int32) { /* sqlite3.c:119082:13: */ if libc.Bool32((*Parse)(unsafe.Pointer(pToplevel)).FcookieMask&(YDbMask(YDbMask(1))< UTF-16 conversion if // possible. -func synthCollSeq(tls *libc.TLS, db uintptr, pColl uintptr) int32 { /* sqlite3.c:119579:12: */ +func synthCollSeq(tls *libc.TLS, db uintptr, pColl uintptr) int32 { /* sqlite3.c:119592:12: */ var pColl2 uintptr var z uintptr = (*CollSeq)(unsafe.Pointer(pColl)).FzName var i int32 @@ -100662,7 +100681,7 @@ func synthCollSeq(tls *libc.TLS, db uintptr, pColl uintptr) int32 { /* sqlite3.c return SQLITE_ERROR } -var aEnc = [3]U8{U8(SQLITE_UTF16BE), U8(SQLITE_UTF16LE), U8(SQLITE_UTF8)} /* sqlite3.c:119583:19 */ +var aEnc = [3]U8{U8(SQLITE_UTF16BE), U8(SQLITE_UTF16LE), U8(SQLITE_UTF8)} /* sqlite3.c:119596:19 */ // This routine is called on a collation sequence before it is used to // check that it is defined. An undefined collation sequence exists when @@ -100673,7 +100692,7 @@ var aEnc = [3]U8{U8(SQLITE_UTF16BE), U8(SQLITE_UTF16LE), U8(SQLITE_UTF8)} /* sql // request a definition of the collating sequence. If this doesn't work, // an equivalent collating sequence that uses a text encoding different // from the main database is substituted, if one is available. -func Xsqlite3CheckCollSeq(tls *libc.TLS, pParse uintptr, pColl uintptr) int32 { /* sqlite3.c:119606:20: */ +func Xsqlite3CheckCollSeq(tls *libc.TLS, pParse uintptr, pColl uintptr) int32 { /* sqlite3.c:119619:20: */ if pColl != 0 && (*CollSeq)(unsafe.Pointer(pColl)).FxCmp == uintptr(0) { var zName uintptr = (*CollSeq)(unsafe.Pointer(pColl)).FzName var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb @@ -100697,7 +100716,7 @@ func Xsqlite3CheckCollSeq(tls *libc.TLS, pParse uintptr, pColl uintptr) int32 { // Stored immediately after the three collation sequences is a copy of // the collation sequence name. A pointer to this string is stored in // each collation sequence structure. -func findCollSeqEntry(tls *libc.TLS, db uintptr, zName uintptr, create int32) uintptr { /* sqlite3.c:119634:16: */ +func findCollSeqEntry(tls *libc.TLS, db uintptr, zName uintptr, create int32) uintptr { /* sqlite3.c:119647:16: */ var pColl uintptr pColl = Xsqlite3HashFind(tls, db+640, zName) @@ -100742,7 +100761,7 @@ func findCollSeqEntry(tls *libc.TLS, db uintptr, zName uintptr, create int32) ui // cannot be found. // // See also: sqlite3LocateCollSeq(), sqlite3GetCollSeq() -func Xsqlite3FindCollSeq(tls *libc.TLS, db uintptr, enc U8, zName uintptr, create int32) uintptr { /* sqlite3.c:119686:24: */ +func Xsqlite3FindCollSeq(tls *libc.TLS, db uintptr, enc U8, zName uintptr, create int32) uintptr { /* sqlite3.c:119699:24: */ var pColl uintptr if zName != 0 { @@ -100758,7 +100777,7 @@ func Xsqlite3FindCollSeq(tls *libc.TLS, db uintptr, enc U8, zName uintptr, creat // Change the text encoding for a database connection. This means that // the pDfltColl must change as well. -func Xsqlite3SetTextEncoding(tls *libc.TLS, db uintptr, enc U8) { /* sqlite3.c:119708:21: */ +func Xsqlite3SetTextEncoding(tls *libc.TLS, db uintptr, enc U8) { /* sqlite3.c:119721:21: */ (*Sqlite3)(unsafe.Pointer(db)).Fenc = enc // EVIDENCE-OF: R-08308-17224 The default collating function for all @@ -100778,7 +100797,7 @@ func Xsqlite3SetTextEncoding(tls *libc.TLS, db uintptr, enc U8) { /* sqlite3.c:1 // sequence can be found. If no collation is found, leave an error message. // // See also: sqlite3LocateCollSeq(), sqlite3FindCollSeq() -func Xsqlite3GetCollSeq(tls *libc.TLS, pParse uintptr, enc U8, pColl uintptr, zName uintptr) uintptr { /* sqlite3.c:119731:24: */ +func Xsqlite3GetCollSeq(tls *libc.TLS, pParse uintptr, enc U8, pColl uintptr, zName uintptr) uintptr { /* sqlite3.c:119744:24: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -100824,7 +100843,7 @@ func Xsqlite3GetCollSeq(tls *libc.TLS, pParse uintptr, enc U8, pColl uintptr, zN // and generates an error message. // // See also: sqlite3FindCollSeq(), sqlite3GetCollSeq() -func Xsqlite3LocateCollSeq(tls *libc.TLS, pParse uintptr, zName uintptr) uintptr { /* sqlite3.c:119782:24: */ +func Xsqlite3LocateCollSeq(tls *libc.TLS, pParse uintptr, zName uintptr) uintptr { /* sqlite3.c:119795:24: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb var enc U8 = (*Sqlite3)(unsafe.Pointer(db)).Fenc var initbusy U8 = (*Sqlite3)(unsafe.Pointer(db)).Finit.Fbusy @@ -100865,7 +100884,7 @@ func Xsqlite3LocateCollSeq(tls *libc.TLS, pParse uintptr, zName uintptr) uintptr // If nArg==(-2) then any function with a non-null xSFunc is // a perfect match and any function with xSFunc NULL is // a non-match. -func matchQuality(tls *libc.TLS, p uintptr, nArg int32, enc U8) int32 { /* sqlite3.c:119825:12: */ +func matchQuality(tls *libc.TLS, p uintptr, nArg int32, enc U8) int32 { /* sqlite3.c:119838:12: */ var match int32 // Wrong number of arguments means "no match" @@ -100901,7 +100920,7 @@ func matchQuality(tls *libc.TLS, p uintptr, nArg int32, enc U8) int32 { /* sqlit // Search a FuncDefHash for a function with the given name. Return // a pointer to the matching FuncDef if found, or 0 if there is no match. -func Xsqlite3FunctionSearch(tls *libc.TLS, h int32, zFunc uintptr) uintptr { /* sqlite3.c:119861:24: */ +func Xsqlite3FunctionSearch(tls *libc.TLS, h int32, zFunc uintptr) uintptr { /* sqlite3.c:119874:24: */ var p uintptr for p = *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&Xsqlite3BuiltinFunctions)) + uintptr(h)*8)); p != 0; p = *(*uintptr)(unsafe.Pointer(p + 64)) { @@ -100913,7 +100932,7 @@ func Xsqlite3FunctionSearch(tls *libc.TLS, h int32, zFunc uintptr) uintptr { /* } // Insert a new FuncDef into a FuncDefHash hash table. -func Xsqlite3InsertBuiltinFuncs(tls *libc.TLS, aDef uintptr, nDef int32) { /* sqlite3.c:119878:21: */ +func Xsqlite3InsertBuiltinFuncs(tls *libc.TLS, aDef uintptr, nDef int32) { /* sqlite3.c:119891:21: */ var i int32 for i = 0; i < nDef; i++ { var pOther uintptr @@ -100951,7 +100970,7 @@ func Xsqlite3InsertBuiltinFuncs(tls *libc.TLS, aDef uintptr, nDef int32) { /* sq // If createFlag is false, then a function with the required name and // number of arguments may be returned even if the eTextRep flag does not // match that requested. -func Xsqlite3FindFunction(tls *libc.TLS, db uintptr, zName uintptr, nArg int32, enc U8, createFlag U8) uintptr { /* sqlite3.c:119923:24: */ +func Xsqlite3FindFunction(tls *libc.TLS, db uintptr, zName uintptr, nArg int32, enc U8, createFlag U8) uintptr { /* sqlite3.c:119936:24: */ var p uintptr // Iterator variable var pBest uintptr = uintptr(0) // Best match found so far var bestScore int32 = 0 // Score of best match @@ -101031,7 +101050,7 @@ func Xsqlite3FindFunction(tls *libc.TLS, db uintptr, zName uintptr, nArg int32, // of the schema hash tables). // // The Schema.cache_size variable is not cleared. -func Xsqlite3SchemaClear(tls *libc.TLS, p uintptr) { /* sqlite3.c:120015:21: */ +func Xsqlite3SchemaClear(tls *libc.TLS, p uintptr) { /* sqlite3.c:120028:21: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -101066,7 +101085,7 @@ func Xsqlite3SchemaClear(tls *libc.TLS, p uintptr) { /* sqlite3.c:120015:21: */ // Find and return the schema associated with a BTree. Create // a new one if necessary. -func Xsqlite3SchemaGet(tls *libc.TLS, db uintptr, pBt uintptr) uintptr { /* sqlite3.c:120047:23: */ +func Xsqlite3SchemaGet(tls *libc.TLS, db uintptr, pBt uintptr) uintptr { /* sqlite3.c:120060:23: */ var p uintptr if pBt != 0 { p = Xsqlite3BtreeSchema(tls, pBt, int32(unsafe.Sizeof(Schema{})), *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{Xsqlite3SchemaClear}))) @@ -101113,7 +101132,7 @@ func Xsqlite3SchemaGet(tls *libc.TLS, db uintptr, pBt uintptr) uintptr { /* sqli // pSrc->a[0].pTab Pointer to the Table object // pSrc->a[0].pIndex Pointer to the INDEXED BY index, if there is one // -func Xsqlite3SrcListLookup(tls *libc.TLS, pParse uintptr, pSrc uintptr) uintptr { /* sqlite3.c:120098:22: */ +func Xsqlite3SrcListLookup(tls *libc.TLS, pParse uintptr, pSrc uintptr) uintptr { /* sqlite3.c:120111:22: */ var pItem uintptr = pSrc + 8 /* &.a */ var pTab uintptr @@ -101131,7 +101150,7 @@ func Xsqlite3SrcListLookup(tls *libc.TLS, pParse uintptr, pSrc uintptr) uintptr // Generate byte-code that will report the number of rows modified // by a DELETE, INSERT, or UPDATE statement. -func Xsqlite3CodeChangeCount(tls *libc.TLS, v uintptr, regCounter int32, zColName uintptr) { /* sqlite3.c:120117:21: */ +func Xsqlite3CodeChangeCount(tls *libc.TLS, v uintptr, regCounter int32, zColName uintptr) { /* sqlite3.c:120130:21: */ Xsqlite3VdbeAddOp0(tls, v, OP_FkCheck) Xsqlite3VdbeAddOp2(tls, v, OP_ResultRow, regCounter, 1) Xsqlite3VdbeSetNumCols(tls, v, 1) @@ -101152,7 +101171,7 @@ func Xsqlite3CodeChangeCount(tls *libc.TLS, v uintptr, regCounter int32, zColNam // 3) The table is a shadow table, the database connection is in // defensive mode, and the current sqlite3_prepare() // is for a top-level SQL statement. -func tabIsReadOnly(tls *libc.TLS, pParse uintptr, pTab uintptr) int32 { /* sqlite3.c:120139:12: */ +func tabIsReadOnly(tls *libc.TLS, pParse uintptr, pTab uintptr) int32 { /* sqlite3.c:120152:12: */ var db uintptr if int32((*Table)(unsafe.Pointer(pTab)).FeTabType) == TABTYP_VTAB { return libc.Bool32((*Sqlite3_module)(unsafe.Pointer((*Module)(unsafe.Pointer((*VTable)(unsafe.Pointer(Xsqlite3GetVTable(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, pTab))).FpMod)).FpModule)).FxUpdate == uintptr(0)) @@ -101171,7 +101190,7 @@ func tabIsReadOnly(tls *libc.TLS, pParse uintptr, pTab uintptr) int32 { /* sqlit // Check to make sure the given table is writable. If it is not // writable, generate an error message and return 1. If it is // writable return 0; -func Xsqlite3IsReadOnly(tls *libc.TLS, pParse uintptr, pTab uintptr, viewOk int32) int32 { /* sqlite3.c:120158:20: */ +func Xsqlite3IsReadOnly(tls *libc.TLS, pParse uintptr, pTab uintptr, viewOk int32) int32 { /* sqlite3.c:120171:20: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -101189,7 +101208,7 @@ func Xsqlite3IsReadOnly(tls *libc.TLS, pParse uintptr, pTab uintptr, viewOk int3 // Evaluate a view and store its result in an ephemeral table. The // pWhere argument is an optional WHERE clause that restricts the // set of rows in the view that are to be added to the ephemeral table. -func Xsqlite3MaterializeView(tls *libc.TLS, pParse uintptr, pView uintptr, pWhere uintptr, pOrderBy uintptr, pLimit uintptr, iCur int32) { /* sqlite3.c:120179:21: */ +func Xsqlite3MaterializeView(tls *libc.TLS, pParse uintptr, pView uintptr, pWhere uintptr, pOrderBy uintptr, pLimit uintptr, iCur int32) { /* sqlite3.c:120192:21: */ bp := tls.Alloc(40) defer tls.Free(40) @@ -101221,7 +101240,7 @@ func Xsqlite3MaterializeView(tls *libc.TLS, pParse uintptr, pView uintptr, pWher // DELETE FROM table_wxyz WHERE a<5 AND b NOT NULL; // \________/ \________________/ // pTabList pWhere -func Xsqlite3DeleteFrom(tls *libc.TLS, pParse uintptr, pTabList uintptr, pWhere uintptr, pOrderBy uintptr, pLimit uintptr) { /* sqlite3.c:120318:21: */ +func Xsqlite3DeleteFrom(tls *libc.TLS, pParse uintptr, pTabList uintptr, pWhere uintptr, pOrderBy uintptr, pLimit uintptr) { /* sqlite3.c:120331:21: */ bp := tls.Alloc(88) defer tls.Free(88) @@ -101827,7 +101846,7 @@ delete_from_cleanup: // starting at iIdxCur) that already points to the index entry to be deleted. // Except, this optimization is disabled if there are BEFORE triggers since // the trigger body might have moved the cursor. -func Xsqlite3GenerateRowDelete(tls *libc.TLS, pParse uintptr, pTab uintptr, pTrigger uintptr, iDataCur int32, iIdxCur int32, iPk int32, nPk I16, count U8, onconf U8, eMode U8, iIdxNoSeek int32) { /* sqlite3.c:120766:21: */ +func Xsqlite3GenerateRowDelete(tls *libc.TLS, pParse uintptr, pTab uintptr, pTrigger uintptr, iDataCur int32, iIdxCur int32, iPk int32, nPk I16, count U8, onconf U8, eMode U8, iIdxNoSeek int32) { /* sqlite3.c:120779:21: */ var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe // Vdbe var iOld int32 = 0 // First register in OLD.* array var iLabel int32 // Label resolved to end of generated code @@ -101964,7 +101983,7 @@ func Xsqlite3GenerateRowDelete(tls *libc.TLS, pParse uintptr, pTab uintptr, pTri // // 3. The "iDataCur" cursor must be already be positioned on the row // that is to be deleted. -func Xsqlite3GenerateRowIndexDelete(tls *libc.TLS, pParse uintptr, pTab uintptr, iDataCur int32, iIdxCur int32, aRegIdx uintptr, iIdxNoSeek int32) { /* sqlite3.c:120918:21: */ +func Xsqlite3GenerateRowIndexDelete(tls *libc.TLS, pParse uintptr, pTab uintptr, iDataCur int32, iIdxCur int32, aRegIdx uintptr, iIdxNoSeek int32) { /* sqlite3.c:120931:21: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -102053,7 +102072,7 @@ __3: // This optimization is helpful when doing a DELETE or an INTEGRITY_CHECK // on a table with multiple indices, and especially with the ROWID or // PRIMARY KEY columns of the index. -func Xsqlite3GenerateIndexKey(tls *libc.TLS, pParse uintptr, pIdx uintptr, iDataCur int32, regOut int32, prefixOnly int32, piPartIdxLabel uintptr, pPrior uintptr, regPrior int32) int32 { /* sqlite3.c:120983:20: */ +func Xsqlite3GenerateIndexKey(tls *libc.TLS, pParse uintptr, pIdx uintptr, iDataCur int32, regOut int32, prefixOnly int32, piPartIdxLabel uintptr, pPrior uintptr, regPrior int32) int32 { /* sqlite3.c:120996:20: */ var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe var j int32 var regBase int32 @@ -102109,7 +102128,7 @@ func Xsqlite3GenerateIndexKey(tls *libc.TLS, pParse uintptr, pIdx uintptr, iData // If a prior call to sqlite3GenerateIndexKey() generated a jump-over label // because it was a partial index, then this routine should be called to // resolve that label. -func Xsqlite3ResolvePartIdxLabel(tls *libc.TLS, pParse uintptr, iLabel int32) { /* sqlite3.c:121045:21: */ +func Xsqlite3ResolvePartIdxLabel(tls *libc.TLS, pParse uintptr, iLabel int32) { /* sqlite3.c:121058:21: */ if iLabel != 0 { Xsqlite3VdbeResolveLabel(tls, (*Parse)(unsafe.Pointer(pParse)).FpVdbe, iLabel) } @@ -102137,7 +102156,7 @@ func Xsqlite3ResolvePartIdxLabel(tls *libc.TLS, pParse uintptr, iLabel int32) { // #include "vdbeInt.h" // Return the collating function associated with a function. -func sqlite3GetFuncCollSeq(tls *libc.TLS, context uintptr) uintptr { /* sqlite3.c:121079:16: */ +func sqlite3GetFuncCollSeq(tls *libc.TLS, context uintptr) uintptr { /* sqlite3.c:121092:16: */ var pOp uintptr pOp = (*Vdbe)(unsafe.Pointer((*Sqlite3_context)(unsafe.Pointer(context)).FpVdbe)).FaOp + uintptr((*Sqlite3_context)(unsafe.Pointer(context)).FiOp-1)*24 @@ -102147,14 +102166,14 @@ func sqlite3GetFuncCollSeq(tls *libc.TLS, context uintptr) uintptr { /* sqlite3. // Indicate that the accumulator load should be skipped on this // iteration of the aggregate loop. -func sqlite3SkipAccumulatorLoad(tls *libc.TLS, context uintptr) { /* sqlite3.c:121092:13: */ +func sqlite3SkipAccumulatorLoad(tls *libc.TLS, context uintptr) { /* sqlite3.c:121105:13: */ (*Sqlite3_context)(unsafe.Pointer(context)).FisError = -1 (*Sqlite3_context)(unsafe.Pointer(context)).FskipFlag = U8(1) } // Implementation of the non-aggregate min() and max() functions -func minmaxFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121101:13: */ +func minmaxFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121114:13: */ var i int32 var mask int32 // 0 for min() or 0xffffffff for max() var iBest int32 @@ -102184,7 +102203,7 @@ func minmaxFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* s } // Return the type of the argument. -func typeofFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { /* sqlite3.c:121131:13: */ +func typeofFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { /* sqlite3.c:121144:13: */ var i int32 = Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(argv))) - 1 _ = NotUsed @@ -102195,18 +102214,18 @@ func typeofFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { / Xsqlite3_result_text(tls, context, azType2[i], -1, uintptr(0)) } -var azType2 = [5]uintptr{ts + 6142, ts + 6137, ts + 7892, ts + 7887, ts + 6132} /* sqlite3.c:121136:21 */ +var azType2 = [5]uintptr{ts + 6142, ts + 6137, ts + 7892, ts + 7887, ts + 6132} /* sqlite3.c:121149:21 */ // subtype(X) // // Return the subtype of X -func subtypeFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121156:13: */ +func subtypeFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121169:13: */ _ = argc Xsqlite3_result_int(tls, context, int32(Xsqlite3_value_subtype(tls, *(*uintptr)(unsafe.Pointer(argv))))) } // Implementation of the length() function -func lengthFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121168:13: */ +func lengthFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121181:13: */ _ = argc switch Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(argv))) { @@ -102255,7 +102274,7 @@ func lengthFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* s // // IMP: R-23979-26855 The abs(X) function returns the absolute value of // the numeric argument X. -func absFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121210:13: */ +func absFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121223:13: */ _ = argc switch Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(argv))) { @@ -102309,7 +102328,7 @@ func absFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqli // If both haystack and needle are BLOBs, then the result is one more than // the number of bytes in haystack prior to the first occurrence of needle, // or 0 if needle never occurs in haystack. -func instrFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121259:13: */ +func instrFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121272:13: */ var zHaystack uintptr var zNeedle uintptr var nHaystack int32 @@ -102424,7 +102443,7 @@ endInstrOOM: } // Implementation of the printf() (a.k.a. format()) SQL function. -func printfFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121327:13: */ +func printfFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121340:13: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -102461,7 +102480,7 @@ func printfFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* s // If p1 is negative, then we begin abs(p1) from the end of x[]. // // If p2 is negative, return the p2 characters preceding p1. -func substrFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121363:13: */ +func substrFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121376:13: */ var z uintptr var z2 uintptr var len int32 @@ -102569,7 +102588,7 @@ func substrFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* s } // Implementation of the round() function -func roundFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121458:13: */ +func roundFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121471:13: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -102623,7 +102642,7 @@ func roundFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sq // the database handle that malloc() has failed and return NULL. // If nByte is larger than the maximum string or blob length, then // raise an SQLITE_TOOBIG exception and return NULL. -func contextMalloc(tls *libc.TLS, context uintptr, nByte I64) uintptr { /* sqlite3.c:121499:13: */ +func contextMalloc(tls *libc.TLS, context uintptr, nByte I64) uintptr { /* sqlite3.c:121512:13: */ var z uintptr var db uintptr = Xsqlite3_context_db_handle(tls, context) @@ -102640,7 +102659,7 @@ func contextMalloc(tls *libc.TLS, context uintptr, nByte I64) uintptr { /* sqlit } // Implementation of the upper() and lower() SQL functions. -func upperFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121520:13: */ +func upperFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121533:13: */ var z1 uintptr var z2 uintptr var i int32 @@ -102661,7 +102680,7 @@ func upperFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sq } } -func lowerFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121539:13: */ +func lowerFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121552:13: */ var z1 uintptr var z2 uintptr var i int32 @@ -102690,7 +102709,7 @@ func lowerFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sq // is. We might as well use the "version()" function as a substitute. // Implementation of random(). Return a random integer. -func randomFunc(tls *libc.TLS, context uintptr, NotUsed int32, NotUsed2 uintptr) { /* sqlite3.c:121572:13: */ +func randomFunc(tls *libc.TLS, context uintptr, NotUsed int32, NotUsed2 uintptr) { /* sqlite3.c:121585:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -102714,7 +102733,7 @@ func randomFunc(tls *libc.TLS, context uintptr, NotUsed int32, NotUsed2 uintptr) // Implementation of randomblob(N). Return a random blob // that is N bytes long. -func randomBlob(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121598:13: */ +func randomBlob(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121611:13: */ var n Sqlite3_int64 var p uintptr @@ -102732,7 +102751,7 @@ func randomBlob(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* s // Implementation of the last_insert_rowid() SQL function. The return // value is the same as the sqlite3_last_insert_rowid() API function. -func last_insert_rowid(tls *libc.TLS, context uintptr, NotUsed int32, NotUsed2 uintptr) { /* sqlite3.c:121622:13: */ +func last_insert_rowid(tls *libc.TLS, context uintptr, NotUsed int32, NotUsed2 uintptr) { /* sqlite3.c:121635:13: */ var db uintptr = Xsqlite3_context_db_handle(tls, context) _ = NotUsed _ = NotUsed2 @@ -102747,7 +102766,7 @@ func last_insert_rowid(tls *libc.TLS, context uintptr, NotUsed int32, NotUsed2 u // IMP: R-32760-32347 The changes() SQL function is a wrapper // around the sqlite3_changes64() C/C++ function and hence follows the // same rules for counting changes. -func changes(tls *libc.TLS, context uintptr, NotUsed int32, NotUsed2 uintptr) { /* sqlite3.c:121642:13: */ +func changes(tls *libc.TLS, context uintptr, NotUsed int32, NotUsed2 uintptr) { /* sqlite3.c:121655:13: */ var db uintptr = Xsqlite3_context_db_handle(tls, context) _ = NotUsed _ = NotUsed2 @@ -102756,7 +102775,7 @@ func changes(tls *libc.TLS, context uintptr, NotUsed int32, NotUsed2 uintptr) { // Implementation of the total_changes() SQL function. The return value is // the same as the sqlite3_total_changes64() API function. -func total_changes(tls *libc.TLS, context uintptr, NotUsed int32, NotUsed2 uintptr) { /* sqlite3.c:121656:13: */ +func total_changes(tls *libc.TLS, context uintptr, NotUsed int32, NotUsed2 uintptr) { /* sqlite3.c:121669:13: */ var db uintptr = Xsqlite3_context_db_handle(tls, context) _ = NotUsed _ = NotUsed2 @@ -102771,20 +102790,20 @@ type compareInfo = struct { FmatchOne U8 FmatchSet U8 FnoCase U8 -} /* sqlite3.c:121671:1 */ +} /* sqlite3.c:121684:1 */ // For LIKE and GLOB matching on EBCDIC machines, assume that every // character is exactly one byte in size. Also, provde the Utf8Read() // macro for fast reading of the next character in the common case where // the next character is ASCII. -var globInfo = compareInfo{FmatchAll: U8('*'), FmatchOne: U8('?'), FmatchSet: U8('[')} /* sqlite3.c:121691:33 */ +var globInfo = compareInfo{FmatchAll: U8('*'), FmatchOne: U8('?'), FmatchSet: U8('[')} /* sqlite3.c:121704:33 */ // The correct SQL-92 behavior is for the LIKE operator to ignore // case. Thus 'a' LIKE 'A' would be true. -var likeInfoNorm = compareInfo{FmatchAll: U8('%'), FmatchOne: U8('_'), FnoCase: U8(1)} /* sqlite3.c:121694:33 */ +var likeInfoNorm = compareInfo{FmatchAll: U8('%'), FmatchOne: U8('_'), FnoCase: U8(1)} /* sqlite3.c:121707:33 */ // If SQLITE_CASE_SENSITIVE_LIKE is defined, then the LIKE operator // is case sensitive causing 'a' LIKE 'A' to be false -var likeInfoAlt = compareInfo{FmatchAll: U8('%'), FmatchOne: U8('_')} /* sqlite3.c:121697:33 */ +var likeInfoAlt = compareInfo{FmatchAll: U8('%'), FmatchOne: U8('_')} /* sqlite3.c:121710:33 */ // Possible error returns from patternMatch() @@ -102824,7 +102843,7 @@ var likeInfoAlt = compareInfo{FmatchAll: U8('%'), FmatchOne: U8('_')} /* sqlite3 // The comments within this routine usually assume glob matching. // // This routine is usually quick, but can be N**2 in the worst case. -func patternCompare(tls *libc.TLS, zPattern uintptr, zString uintptr, pInfo uintptr, matchOther U32) int32 { /* sqlite3.c:121744:12: */ +func patternCompare(tls *libc.TLS, zPattern uintptr, zString uintptr, pInfo uintptr, matchOther U32) int32 { /* sqlite3.c:121757:12: */ bp := tls.Alloc(19) defer tls.Free(19) *(*uintptr)(unsafe.Pointer(bp)) = zPattern @@ -103010,13 +103029,13 @@ func patternCompare(tls *libc.TLS, zPattern uintptr, zString uintptr, pInfo uint // The sqlite3_strglob() interface. Return 0 on a match (like strcmp()) and // non-zero if there is no match. -func Xsqlite3_strglob(tls *libc.TLS, zGlobPattern uintptr, zString uintptr) int32 { /* sqlite3.c:121877:16: */ +func Xsqlite3_strglob(tls *libc.TLS, zGlobPattern uintptr, zString uintptr) int32 { /* sqlite3.c:121890:16: */ return patternCompare(tls, zGlobPattern, zString, uintptr(unsafe.Pointer(&globInfo)), uint32('[')) } // The sqlite3_strlike() interface. Return 0 on a match and non-zero for // a miss - like strcmp(). -func Xsqlite3_strlike(tls *libc.TLS, zPattern uintptr, zStr uintptr, esc uint32) int32 { /* sqlite3.c:121885:16: */ +func Xsqlite3_strlike(tls *libc.TLS, zPattern uintptr, zStr uintptr, esc uint32) int32 { /* sqlite3.c:121898:16: */ return patternCompare(tls, zPattern, zStr, uintptr(unsafe.Pointer(&likeInfoNorm)), esc) } @@ -103034,7 +103053,7 @@ func Xsqlite3_strlike(tls *libc.TLS, zPattern uintptr, zStr uintptr, esc uint32) // // This same function (with a different compareInfo structure) computes // the GLOB operator. -func likeFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121911:13: */ +func likeFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121924:13: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -103097,7 +103116,7 @@ func likeFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sql // Implementation of the NULLIF(x,y) function. The result is the first // argument if the arguments are different. The result is NULL if the // arguments are equal to each other. -func nullifFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { /* sqlite3.c:121982:13: */ +func nullifFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { /* sqlite3.c:121995:13: */ var pColl uintptr = sqlite3GetFuncCollSeq(tls, context) _ = NotUsed if Xsqlite3MemCompare(tls, *(*uintptr)(unsafe.Pointer(argv)), *(*uintptr)(unsafe.Pointer(argv + 1*8)), pColl) != 0 { @@ -103107,7 +103126,7 @@ func nullifFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { / // Implementation of the sqlite_version() function. The result is the version // of the SQLite library that is running. -func versionFunc(tls *libc.TLS, context uintptr, NotUsed int32, NotUsed2 uintptr) { /* sqlite3.c:121998:13: */ +func versionFunc(tls *libc.TLS, context uintptr, NotUsed int32, NotUsed2 uintptr) { /* sqlite3.c:122011:13: */ _ = NotUsed _ = NotUsed2 // IMP: R-48699-48617 This function is an SQL wrapper around the @@ -103118,7 +103137,7 @@ func versionFunc(tls *libc.TLS, context uintptr, NotUsed int32, NotUsed2 uintptr // Implementation of the sqlite_source_id() function. The result is a string // that identifies the particular version of the source code used to build // SQLite. -func sourceidFunc(tls *libc.TLS, context uintptr, NotUsed int32, NotUsed2 uintptr) { /* sqlite3.c:122014:13: */ +func sourceidFunc(tls *libc.TLS, context uintptr, NotUsed int32, NotUsed2 uintptr) { /* sqlite3.c:122027:13: */ _ = NotUsed _ = NotUsed2 // IMP: R-24470-31136 This function is an SQL wrapper around the @@ -103129,7 +103148,7 @@ func sourceidFunc(tls *libc.TLS, context uintptr, NotUsed int32, NotUsed2 uintpt // Implementation of the sqlite_log() function. This is a wrapper around // sqlite3_log(). The return value is NULL. The function exists purely for // its side-effects. -func errlogFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122030:13: */ +func errlogFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122043:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -103141,7 +103160,7 @@ func errlogFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* s // Implementation of the sqlite_compileoption_used() function. // The result is an integer that identifies if the compiler option // was used to build SQLite. -func compileoptionusedFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122046:13: */ +func compileoptionusedFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122059:13: */ var zOptName uintptr _ = argc @@ -103156,7 +103175,7 @@ func compileoptionusedFunc(tls *libc.TLS, context uintptr, argc int32, argv uint // Implementation of the sqlite_compileoption_get() function. // The result is a string that identifies the compiler options // used to build SQLite. -func compileoptiongetFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122070:13: */ +func compileoptiongetFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122083:13: */ var n int32 _ = argc @@ -103171,11 +103190,11 @@ func compileoptiongetFunc(tls *libc.TLS, context uintptr, argc int32, argv uintp var hexdigits = [16]int8{ int8('0'), int8('1'), int8('2'), int8('3'), int8('4'), int8('5'), int8('6'), int8('7'), int8('8'), int8('9'), int8('A'), int8('B'), int8('C'), int8('D'), int8('E'), int8('F'), -} /* sqlite3.c:122088:19 */ +} /* sqlite3.c:122101:19 */ // Append to pStr text that is the SQL literal representation of the // value contained in pValue. -func Xsqlite3QuoteValue(tls *libc.TLS, pStr uintptr, pValue uintptr) { /* sqlite3.c:122097:21: */ +func Xsqlite3QuoteValue(tls *libc.TLS, pStr uintptr, pValue uintptr) { /* sqlite3.c:122110:21: */ bp := tls.Alloc(40) defer tls.Free(40) @@ -103256,7 +103275,7 @@ func Xsqlite3QuoteValue(tls *libc.TLS, pStr uintptr, pValue uintptr) { /* sqlite // as needed. BLOBs are encoded as hexadecimal literals. Strings with // embedded NUL characters cannot be represented as string literals in SQL // and hence the returned string literal is truncated prior to the first NUL. -func quoteFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122166:13: */ +func quoteFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122179:13: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -103279,7 +103298,7 @@ func quoteFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sq // The unicode() function. Return the integer unicode code-point value // for the first character of the input string. -func unicodeFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122185:13: */ +func unicodeFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122198:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -103293,7 +103312,7 @@ func unicodeFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* // The char() function takes zero or more arguments, each of which is // an integer. It constructs a string where each character of the string // is the unicode character for the corresponding integer argument. -func charFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122200:13: */ +func charFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122213:13: */ var z uintptr var zOut uintptr var i int32 @@ -103331,7 +103350,7 @@ func charFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sql // The hex() function. Interpret the argument as a blob. Return // a hexadecimal rendering as text. -func hexFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122241:13: */ +func hexFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122254:13: */ var i int32 var n int32 var pBlob uintptr @@ -103369,7 +103388,7 @@ func hexFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqli } // The zeroblob(N) function returns a zero-filled blob of size N bytes. -func zeroblobFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122269:13: */ +func zeroblobFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122282:13: */ var n I64 var rc int32 @@ -103388,7 +103407,7 @@ func zeroblobFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* // them A, B, and C. The result is also a string which is derived // from A by replacing every occurrence of B with C. The match // must be exact. Collating sequences are not used. -func replaceFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122292:13: */ +func replaceFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122305:13: */ var zStr uintptr // The input string A var zPattern uintptr // The pattern string B var zRep uintptr // The replacement string C @@ -103477,7 +103496,7 @@ func replaceFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* // Implementation of the TRIM(), LTRIM(), and RTRIM() functions. // The userdata is 0x1 for left trim, 0x2 for right trim, 0x3 for both. -func trimFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122385:13: */ +func trimFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122398:13: */ var zIn uintptr // Input string var zCharSet uintptr // Set of characters to trim var nIn uint32 // Number of bytes in input @@ -103580,8 +103599,8 @@ func trimFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sql Xsqlite3_result_text(tls, context, zIn, int32(nIn), libc.UintptrFromInt32(-1)) } -var lenOne = [1]uint32{uint32(1)} /* sqlite3.c:122407:27 */ -var azOne = [1]uintptr{uintptr(ts + 10805 /* " " */)} /* sqlite3.c:122408:26 */ +var lenOne = [1]uint32{uint32(1)} /* sqlite3.c:122420:27 */ +var azOne = [1]uintptr{uintptr(ts + 10805 /* " " */)} /* sqlite3.c:122421:26 */ // IMP: R-25361-16150 This function is omitted from SQLite by default. It // is only available if the SQLITE_SOUNDEX compile-time option is used @@ -103590,7 +103609,7 @@ var azOne = [1]uintptr{uintptr(ts + 10805 /* " " */)} /* sqlite3.c:122408:26 */ // // IMP: R-59782-00072 The soundex(X) function returns a string that is the // soundex encoding of the string X. -func soundexFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122498:13: */ +func soundexFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122511:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -103641,10 +103660,10 @@ var iCode = [128]uint8{ uint8(1), uint8(2), uint8(6), uint8(2), uint8(3), uint8(0), uint8(1), uint8(0), uint8(2), uint8(0), uint8(2), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(1), uint8(2), uint8(3), uint8(0), uint8(1), uint8(2), uint8(0), uint8(0), uint8(2), uint8(2), uint8(4), uint8(5), uint8(5), uint8(0), uint8(1), uint8(2), uint8(6), uint8(2), uint8(3), uint8(0), uint8(1), uint8(0), uint8(2), uint8(0), uint8(2), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), -} /* sqlite3.c:122506:30 */ +} /* sqlite3.c:122519:30 */ // A function that loads a shared-library extension then returns NULL. -func loadExt(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122551:13: */ +func loadExt(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122564:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -103680,11 +103699,11 @@ type SumCtx1 = struct { Foverflow U8 Fapprox U8 F__ccgo_pad1 [6]byte -} /* sqlite3.c:122582:9 */ +} /* sqlite3.c:122595:9 */ // An instance of the following structure holds the context of a // sum() or avg() aggregate computation. -type SumCtx = SumCtx1 /* sqlite3.c:122582:23 */ +type SumCtx = SumCtx1 /* sqlite3.c:122595:23 */ // Routines used to compute the sum, average, and total. // @@ -103694,7 +103713,7 @@ type SumCtx = SumCtx1 /* sqlite3.c:122582:23 */ // SUM might return an integer if it never encounters a floating point // value. TOTAL never fails, but SUM might through an exception if // it overflows an integer. -func sumStep(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122601:13: */ +func sumStep(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122614:13: */ var p uintptr var type1 int32 @@ -103716,7 +103735,7 @@ func sumStep(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqli } } -func sumInverse(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122623:13: */ +func sumInverse(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122636:13: */ var p uintptr var type1 int32 @@ -103739,7 +103758,7 @@ func sumInverse(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* s } } -func sumFinalize(tls *libc.TLS, context uintptr) { /* sqlite3.c:122648:13: */ +func sumFinalize(tls *libc.TLS, context uintptr) { /* sqlite3.c:122661:13: */ var p uintptr p = Xsqlite3_aggregate_context(tls, context, 0) if p != 0 && (*SumCtx)(unsafe.Pointer(p)).Fcnt > int64(0) { @@ -103753,7 +103772,7 @@ func sumFinalize(tls *libc.TLS, context uintptr) { /* sqlite3.c:122648:13: */ } } -func avgFinalize(tls *libc.TLS, context uintptr) { /* sqlite3.c:122661:13: */ +func avgFinalize(tls *libc.TLS, context uintptr) { /* sqlite3.c:122674:13: */ var p uintptr p = Xsqlite3_aggregate_context(tls, context, 0) if p != 0 && (*SumCtx)(unsafe.Pointer(p)).Fcnt > int64(0) { @@ -103761,7 +103780,7 @@ func avgFinalize(tls *libc.TLS, context uintptr) { /* sqlite3.c:122661:13: */ } } -func totalFinalize(tls *libc.TLS, context uintptr) { /* sqlite3.c:122668:13: */ +func totalFinalize(tls *libc.TLS, context uintptr) { /* sqlite3.c:122681:13: */ var p uintptr p = Xsqlite3_aggregate_context(tls, context, 0) // (double)0 In case of SQLITE_OMIT_FLOATING_POINT... @@ -103775,14 +103794,14 @@ func totalFinalize(tls *libc.TLS, context uintptr) { /* sqlite3.c:122668:13: */ // The following structure keeps track of state information for the // count() aggregate function. -type CountCtx1 = struct{ Fn I64 } /* sqlite3.c:122679:9 */ +type CountCtx1 = struct{ Fn I64 } /* sqlite3.c:122692:9 */ // The following structure keeps track of state information for the // count() aggregate function. -type CountCtx = CountCtx1 /* sqlite3.c:122679:25 */ +type CountCtx = CountCtx1 /* sqlite3.c:122692:25 */ // Routines to implement the count() aggregate function. -func countStep(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122690:13: */ +func countStep(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122703:13: */ var p uintptr p = Xsqlite3_aggregate_context(tls, context, int32(unsafe.Sizeof(CountCtx{}))) if (argc == 0 || SQLITE_NULL != Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(argv)))) && p != 0 { @@ -103796,7 +103815,7 @@ func countStep(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sq } -func countFinalize(tls *libc.TLS, context uintptr) { /* sqlite3.c:122706:13: */ +func countFinalize(tls *libc.TLS, context uintptr) { /* sqlite3.c:122719:13: */ var p uintptr p = Xsqlite3_aggregate_context(tls, context, 0) Xsqlite3_result_int64(tls, context, func() int64 { @@ -103807,7 +103826,7 @@ func countFinalize(tls *libc.TLS, context uintptr) { /* sqlite3.c:122706:13: */ }()) } -func countInverse(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:122712:13: */ +func countInverse(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:122725:13: */ var p uintptr p = Xsqlite3_aggregate_context(tls, ctx, int32(unsafe.Sizeof(CountCtx{}))) // p is always non-NULL since countStep() will have been called first @@ -103817,7 +103836,7 @@ func countInverse(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sql } // Routines to implement min() and max() aggregate functions. -func minmaxStep(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { /* sqlite3.c:122730:13: */ +func minmaxStep(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { /* sqlite3.c:122743:13: */ var pArg uintptr = *(*uintptr)(unsafe.Pointer(argv)) var pBest uintptr _ = NotUsed @@ -103855,7 +103874,7 @@ func minmaxStep(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { / } } -func minMaxValueFinalize(tls *libc.TLS, context uintptr, bValue int32) { /* sqlite3.c:122768:13: */ +func minMaxValueFinalize(tls *libc.TLS, context uintptr, bValue int32) { /* sqlite3.c:122781:13: */ var pRes uintptr pRes = Xsqlite3_aggregate_context(tls, context, 0) if pRes != 0 { @@ -103868,11 +103887,11 @@ func minMaxValueFinalize(tls *libc.TLS, context uintptr, bValue int32) { /* sqli } } -func minMaxValue(tls *libc.TLS, context uintptr) { /* sqlite3.c:122779:13: */ +func minMaxValue(tls *libc.TLS, context uintptr) { /* sqlite3.c:122792:13: */ minMaxValueFinalize(tls, context, 1) } -func minMaxFinalize(tls *libc.TLS, context uintptr) { /* sqlite3.c:122785:13: */ +func minMaxFinalize(tls *libc.TLS, context uintptr) { /* sqlite3.c:122798:13: */ minMaxValueFinalize(tls, context, 0) } @@ -103888,9 +103907,9 @@ type GroupConcatCtx = struct { FnAccum int32 FnFirstSepLength int32 FpnSepLengths uintptr -} /* sqlite3.c:122810:3 */ +} /* sqlite3.c:122823:3 */ -func groupConcatStep(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122812:13: */ +func groupConcatStep(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122825:13: */ var zVal uintptr var pGCC uintptr var zSep uintptr @@ -103955,7 +103974,7 @@ func groupConcatStep(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { } } -func groupConcatInverse(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122883:13: */ +func groupConcatInverse(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122896:13: */ var pGCC uintptr _ = argc // Suppress unused parameter warning @@ -103997,7 +104016,7 @@ func groupConcatInverse(tls *libc.TLS, context uintptr, argc int32, argv uintptr } } -func groupConcatFinalize(tls *libc.TLS, context uintptr) { /* sqlite3.c:122929:13: */ +func groupConcatFinalize(tls *libc.TLS, context uintptr) { /* sqlite3.c:122942:13: */ var pGCC uintptr = Xsqlite3_aggregate_context(tls, context, 0) if pGCC != 0 { Xsqlite3ResultStrAccum(tls, context, pGCC) @@ -104005,7 +104024,7 @@ func groupConcatFinalize(tls *libc.TLS, context uintptr) { /* sqlite3.c:122929:1 } } -func groupConcatValue(tls *libc.TLS, context uintptr) { /* sqlite3.c:122940:13: */ +func groupConcatValue(tls *libc.TLS, context uintptr) { /* sqlite3.c:122953:13: */ var pGCC uintptr = Xsqlite3_aggregate_context(tls, context, 0) if pGCC != 0 { var pAccum uintptr = pGCC @@ -104023,7 +104042,7 @@ func groupConcatValue(tls *libc.TLS, context uintptr) { /* sqlite3.c:122940:13: // This routine does per-connection function registration. Most // of the built-in functions above are part of the global function set. // This routine only deals with those that are not global. -func Xsqlite3RegisterPerConnectionBuiltinFunctions(tls *libc.TLS, db uintptr) { /* sqlite3.c:122964:21: */ +func Xsqlite3RegisterPerConnectionBuiltinFunctions(tls *libc.TLS, db uintptr) { /* sqlite3.c:122977:21: */ var rc int32 = Xsqlite3_overload_function(tls, db, ts+14865, 2) if rc == SQLITE_NOMEM { @@ -104034,7 +104053,7 @@ func Xsqlite3RegisterPerConnectionBuiltinFunctions(tls *libc.TLS, db uintptr) { // Re-register the built-in LIKE functions. The caseSensitive // parameter determines whether or not the LIKE operator is case // sensitive. -func Xsqlite3RegisterLikeFunctions(tls *libc.TLS, db uintptr, caseSensitive int32) { /* sqlite3.c:122977:21: */ +func Xsqlite3RegisterLikeFunctions(tls *libc.TLS, db uintptr, caseSensitive int32) { /* sqlite3.c:122990:21: */ var pInfo uintptr var flags int32 if caseSensitive != 0 { @@ -104069,7 +104088,7 @@ func Xsqlite3RegisterLikeFunctions(tls *libc.TLS, db uintptr, caseSensitive int3 // the function (default for LIKE). If the function makes the distinction // between uppercase and lowercase (as does GLOB) then *pIsNocase is set to // false. -func Xsqlite3IsLikeFunction(tls *libc.TLS, db uintptr, pExpr uintptr, pIsNocase uintptr, aWc uintptr) int32 { /* sqlite3.c:123010:20: */ +func Xsqlite3IsLikeFunction(tls *libc.TLS, db uintptr, pExpr uintptr, pIsNocase uintptr, aWc uintptr) int32 { /* sqlite3.c:123023:20: */ var pDef uintptr var nExpr int32 @@ -104125,7 +104144,7 @@ func Xsqlite3IsLikeFunction(tls *libc.TLS, db uintptr, pExpr uintptr, pIsNocase // // The sqlite3_user_data() pointer is a pointer to the libm implementation // of the underlying C function. -func ceilingFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:123081:13: */ +func ceilingFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:123094:13: */ switch Xsqlite3_value_numeric_type(tls, *(*uintptr)(unsafe.Pointer(argv))) { case SQLITE_INTEGER: @@ -104154,11 +104173,11 @@ func ceilingFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* // On some systems, ceil() and floor() are intrinsic function. You are // unable to take a pointer to these functions. Hence, we here wrap them // in our own actual functions. -func xCeil(tls *libc.TLS, x float64) float64 { /* sqlite3.c:123108:15: */ +func xCeil(tls *libc.TLS, x float64) float64 { /* sqlite3.c:123121:15: */ return libc.Xceil(tls, x) } -func xFloor(tls *libc.TLS, x float64) float64 { /* sqlite3.c:123109:15: */ +func xFloor(tls *libc.TLS, x float64) float64 { /* sqlite3.c:123122:15: */ return libc.Xfloor(tls, x) } @@ -104168,7 +104187,7 @@ func xFloor(tls *libc.TLS, x float64) float64 { /* sqlite3.c:123109:15: */ // log(X) - log X base 10 // log10(X) - log X base 10 // log(B,X) - log X base B -func logFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:123119:13: */ +func logFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:123132:13: */ var x float64 var b float64 var ans float64 @@ -104225,18 +104244,18 @@ func logFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqli } // Functions to converts degrees to radians and radians to degrees. -func degToRad(tls *libc.TLS, x float64) float64 { /* sqlite3.c:123169:15: */ +func degToRad(tls *libc.TLS, x float64) float64 { /* sqlite3.c:123182:15: */ return x * (float64(3.14159265358979323846) / 180.0) } -func radToDeg(tls *libc.TLS, x float64) float64 { /* sqlite3.c:123170:15: */ +func radToDeg(tls *libc.TLS, x float64) float64 { /* sqlite3.c:123183:15: */ return x * (float64(180.0) / 3.14159265358979323846) } // Implementation of 1-argument SQL math functions: // // exp(X) - Compute e to the X-th power -func math1Func(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:123177:13: */ +func math1Func(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:123190:13: */ var type0 int32 var v0 float64 var ans float64 @@ -104257,7 +104276,7 @@ func math1Func(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sq // Implementation of 2-argument SQL math functions: // // power(X,Y) - Compute X to the Y-th power -func math2Func(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:123199:13: */ +func math2Func(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:123212:13: */ var type0 int32 var type1 int32 var v0 float64 @@ -104283,13 +104302,13 @@ func math2Func(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sq } // Implementation of 0-argument pi() function. -func piFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:123222:13: */ +func piFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:123235:13: */ Xsqlite3_result_double(tls, context, 3.14159265358979323846) } // Implementation of sign(X) function. -func signFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:123236:13: */ +func signFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:123249:13: */ var type0 int32 var x float64 _ = argc @@ -104317,7 +104336,7 @@ func signFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sql // a consequence of calling sqlite3_initialize()). // // After this routine runs -func Xsqlite3RegisterBuiltinFunctions(tls *libc.TLS) { /* sqlite3.c:123258:21: */ +func Xsqlite3RegisterBuiltinFunctions(tls *libc.TLS) { /* sqlite3.c:123271:21: */ Xsqlite3AlterFunctions(tls) Xsqlite3WindowFunctions(tls) Xsqlite3RegisterDateTimeFunctions(tls) @@ -104430,7 +104449,7 @@ var aBuiltinFunc = [101]FuncDef{ {FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_FUNC_CONSTANT | SQLITE_UTF8 | 0*SQLITE_FUNC_NEEDCOLL), FxSFunc: 0, FzName: ts + 15507}, {FnArg: int8(1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_FUNC_CONSTANT | SQLITE_UTF8 | 0*SQLITE_FUNC_NEEDCOLL), FxSFunc: 0, FzName: ts + 15510}, {FnArg: int8(-1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_UTF8 | SQLITE_FUNC_INLINE | SQLITE_FUNC_CONSTANT | 0), FxSFunc: 0, FzName: ts + 15350}, - {FnArg: int8(3), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_UTF8 | SQLITE_FUNC_INLINE | SQLITE_FUNC_CONSTANT | 0), FpUserData: uintptr(int64(INLINEFUNC_iif)), FxSFunc: 0, FzName: ts + 15515}} /* sqlite3.c:123269:18 */ + {FnArg: int8(3), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_UTF8 | SQLITE_FUNC_INLINE | SQLITE_FUNC_CONSTANT | 0), FpUserData: uintptr(int64(INLINEFUNC_iif)), FxSFunc: 0, FzName: ts + 15515}} /* sqlite3.c:123282:18 */ //************* End of func.c *********************************************** //************* Begin file fkey.c ******************************************* @@ -104605,7 +104624,7 @@ var aBuiltinFunc = [101]FuncDef{ // then non-zero is returned, and a "foreign key mismatch" error loaded // into pParse. If an OOM error occurs, non-zero is returned and the // pParse->db->mallocFailed flag is set. -func Xsqlite3FkLocateIndex(tls *libc.TLS, pParse uintptr, pParent uintptr, pFKey uintptr, ppIdx uintptr, paiCol uintptr) int32 { /* sqlite3.c:123622:20: */ +func Xsqlite3FkLocateIndex(tls *libc.TLS, pParse uintptr, pParent uintptr, pFKey uintptr, ppIdx uintptr, paiCol uintptr) int32 { /* sqlite3.c:123635:20: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -104751,7 +104770,7 @@ func Xsqlite3FkLocateIndex(tls *libc.TLS, pParse uintptr, pParent uintptr, pFKey // // These operations are identified in the comment at the top of this file // (fkey.c) as "I.1" and "D.1". -func fkLookupParent(tls *libc.TLS, pParse uintptr, iDb int32, pTab uintptr, pIdx uintptr, pFKey uintptr, aiCol uintptr, regData int32, nIncr int32, isIgnore int32) { /* sqlite3.c:123759:13: */ +func fkLookupParent(tls *libc.TLS, pParse uintptr, iDb int32, pTab uintptr, pIdx uintptr, pFKey uintptr, aiCol uintptr, regData int32, nIncr int32, isIgnore int32) { /* sqlite3.c:123772:13: */ var i int32 // Iterator variable var v uintptr = Xsqlite3GetVdbe(tls, pParse) // Vdbe to add code to var iCur int32 = (*Parse)(unsafe.Pointer(pParse)).FnTab - 1 // Cursor number to use @@ -104881,7 +104900,7 @@ func fkLookupParent(tls *libc.TLS, pParse uintptr, iDb int32, pTab uintptr, pIdx // regBase is the first of an array of register that contains the data // for pTab. regBase itself holds the rowid. regBase+1 holds the first // column. regBase+2 holds the second column, and so forth. -func exprTableRegister(tls *libc.TLS, pParse uintptr, pTab uintptr, regBase int32, iCol I16) uintptr { /* sqlite3.c:123912:13: */ +func exprTableRegister(tls *libc.TLS, pParse uintptr, pTab uintptr, regBase int32, iCol I16) uintptr { /* sqlite3.c:123925:13: */ var pExpr uintptr var pCol uintptr var zColl uintptr @@ -104908,7 +104927,7 @@ func exprTableRegister(tls *libc.TLS, pParse uintptr, pTab uintptr, regBase int3 // Return an Expr object that refers to column iCol of table pTab which // has cursor iCur. -func exprTableColumn(tls *libc.TLS, db uintptr, pTab uintptr, iCursor int32, iCol I16) uintptr { /* sqlite3.c:123944:13: */ +func exprTableColumn(tls *libc.TLS, db uintptr, pTab uintptr, iCursor int32, iCol I16) uintptr { /* sqlite3.c:123957:13: */ var pExpr uintptr = Xsqlite3Expr(tls, db, TK_COLUMN, uintptr(0)) if pExpr != 0 { @@ -104949,7 +104968,7 @@ func exprTableColumn(tls *libc.TLS, db uintptr, pTab uintptr, iCursor int32, iCo // // These operations are identified in the comment at the top of this file // (fkey.c) as "I.2" and "D.2". -func fkScanChildren(tls *libc.TLS, pParse uintptr, pSrc uintptr, pTab uintptr, pIdx uintptr, pFKey uintptr, aiCol uintptr, regData int32, nIncr int32) { /* sqlite3.c:123992:13: */ +func fkScanChildren(tls *libc.TLS, pParse uintptr, pSrc uintptr, pTab uintptr, pIdx uintptr, pFKey uintptr, aiCol uintptr, regData int32, nIncr int32) { /* sqlite3.c:124005:13: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -105073,7 +105092,7 @@ func fkScanChildren(tls *libc.TLS, pParse uintptr, pSrc uintptr, pTab uintptr, p // "t2". Calling this function with "t2" as the argument would return a // NULL pointer (as there are no FK constraints for which t2 is the parent // table). -func Xsqlite3FkReferences(tls *libc.TLS, pTab uintptr) uintptr { /* sqlite3.c:124121:21: */ +func Xsqlite3FkReferences(tls *libc.TLS, pTab uintptr) uintptr { /* sqlite3.c:124134:21: */ return Xsqlite3HashFind(tls, (*Table)(unsafe.Pointer(pTab)).FpSchema+80, (*Table)(unsafe.Pointer(pTab)).FzName) } @@ -105083,7 +105102,7 @@ func Xsqlite3FkReferences(tls *libc.TLS, pTab uintptr) uintptr { /* sqlite3.c:12 // // The Trigger structure or any of its sub-components may be allocated from // the lookaside buffer belonging to database handle dbMem. -func fkTriggerDelete(tls *libc.TLS, dbMem uintptr, p uintptr) { /* sqlite3.c:124133:13: */ +func fkTriggerDelete(tls *libc.TLS, dbMem uintptr, p uintptr) { /* sqlite3.c:124146:13: */ if p != 0 { var pStep uintptr = (*Trigger)(unsafe.Pointer(p)).Fstep_list Xsqlite3ExprDelete(tls, dbMem, (*TriggerStep)(unsafe.Pointer(pStep)).FpWhere) @@ -105097,7 +105116,7 @@ func fkTriggerDelete(tls *libc.TLS, dbMem uintptr, p uintptr) { /* sqlite3.c:124 // Clear the apTrigger[] cache of CASCADE triggers for all foreign keys // in a particular database. This needs to happen when the schema // changes. -func Xsqlite3FkClearTriggerCache(tls *libc.TLS, db uintptr, iDb int32) { /* sqlite3.c:124149:21: */ +func Xsqlite3FkClearTriggerCache(tls *libc.TLS, db uintptr, iDb int32) { /* sqlite3.c:124162:21: */ var k uintptr var pHash uintptr = (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(iDb)*32)).FpSchema + 8 for k = (*Hash)(unsafe.Pointer(pHash)).Ffirst; k != 0; k = (*HashElem)(unsafe.Pointer(k)).Fnext { @@ -105130,7 +105149,7 @@ func Xsqlite3FkClearTriggerCache(tls *libc.TLS, db uintptr, iDb int32) { /* sqli // then the equivalent of "DELETE FROM " is executed before dropping // the table from the database. Triggers are disabled while running this // DELETE, but foreign key actions are not. -func Xsqlite3FkDropTable(tls *libc.TLS, pParse uintptr, pName uintptr, pTab uintptr) { /* sqlite3.c:124180:21: */ +func Xsqlite3FkDropTable(tls *libc.TLS, pParse uintptr, pName uintptr, pTab uintptr) { /* sqlite3.c:124193:21: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb if (*Sqlite3)(unsafe.Pointer(db)).Fflags&uint64(SQLITE_ForeignKeys) != 0 && int32((*Table)(unsafe.Pointer(pTab)).FeTabType) == TABTYP_NORM { var iSkip int32 = 0 @@ -105193,7 +105212,7 @@ func Xsqlite3FkDropTable(tls *libc.TLS, pParse uintptr, pName uintptr, pTab uint // // This function returns true if any of the columns that are part of the // child key for FK constraint *p are modified. -func fkChildIsModified(tls *libc.TLS, pTab uintptr, p uintptr, aChange uintptr, bChngRowid int32) int32 { /* sqlite3.c:124243:12: */ +func fkChildIsModified(tls *libc.TLS, pTab uintptr, p uintptr, aChange uintptr, bChngRowid int32) int32 { /* sqlite3.c:124256:12: */ var i int32 for i = 0; i < (*FKey)(unsafe.Pointer(p)).FnCol; i++ { var iChildKey int32 = (*sColMap)(unsafe.Pointer(p + 64 + uintptr(i)*16)).FiFrom @@ -105217,7 +105236,7 @@ func fkChildIsModified(tls *libc.TLS, pTab uintptr, p uintptr, aChange uintptr, // // This function returns true if any of the columns that are part of the // parent key for FK constraint *p are modified. -func fkParentIsModified(tls *libc.TLS, pTab uintptr, p uintptr, aChange uintptr, bChngRowid int32) int32 { /* sqlite3.c:124270:12: */ +func fkParentIsModified(tls *libc.TLS, pTab uintptr, p uintptr, aChange uintptr, bChngRowid int32) int32 { /* sqlite3.c:124283:12: */ var i int32 for i = 0; i < (*FKey)(unsafe.Pointer(p)).FnCol; i++ { var zKey uintptr = (*sColMap)(unsafe.Pointer(p + 64 + uintptr(i)*16)).FzCol @@ -105241,7 +105260,7 @@ func fkParentIsModified(tls *libc.TLS, pTab uintptr, p uintptr, aChange uintptr, // Return true if the parser passed as the first argument is being // used to code a trigger that is really a "SET NULL" action belonging // to trigger pFKey. -func isSetNullAction(tls *libc.TLS, pParse uintptr, pFKey uintptr) int32 { /* sqlite3.c:124299:12: */ +func isSetNullAction(tls *libc.TLS, pParse uintptr, pFKey uintptr) int32 { /* sqlite3.c:124312:12: */ var pTop uintptr = func() uintptr { if (*Parse)(unsafe.Pointer(pParse)).FpToplevel != 0 { return (*Parse)(unsafe.Pointer(pParse)).FpToplevel @@ -105276,7 +105295,7 @@ func isSetNullAction(tls *libc.TLS, pParse uintptr, pFKey uintptr) int32 { /* sq // the original record is deleted from the table using the calling convention // described for DELETE. Then again after the original record is deleted // but before the new record is inserted using the INSERT convention. -func Xsqlite3FkCheck(tls *libc.TLS, pParse uintptr, pTab uintptr, regOld int32, regNew int32, aChange uintptr, bChngRowid int32) { /* sqlite3.c:124332:21: */ +func Xsqlite3FkCheck(tls *libc.TLS, pParse uintptr, pTab uintptr, regOld int32, regNew int32, aChange uintptr, bChngRowid int32) { /* sqlite3.c:124345:21: */ bp := tls.Alloc(40) defer tls.Free(40) @@ -105478,7 +105497,7 @@ func Xsqlite3FkCheck(tls *libc.TLS, pParse uintptr, pTab uintptr, regOld int32, // This function is called before generating code to update or delete a // row contained in table pTab. -func Xsqlite3FkOldmask(tls *libc.TLS, pParse uintptr, pTab uintptr) U32 { /* sqlite3.c:124535:20: */ +func Xsqlite3FkOldmask(tls *libc.TLS, pParse uintptr, pTab uintptr) U32 { /* sqlite3.c:124548:20: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -105537,7 +105556,7 @@ func Xsqlite3FkOldmask(tls *libc.TLS, pParse uintptr, pTab uintptr) U32 { /* sql // not "NO ACTION" (i.e. is CASCADE, SET DEFAULT or SET NULL). // // Or, assuming some other foreign key processing is required, 1. -func Xsqlite3FkRequired(tls *libc.TLS, pParse uintptr, pTab uintptr, aChange uintptr, chngRowid int32) int32 { /* sqlite3.c:124585:20: */ +func Xsqlite3FkRequired(tls *libc.TLS, pParse uintptr, pTab uintptr, aChange uintptr, chngRowid int32) int32 { /* sqlite3.c:124598:20: */ var eRet int32 = 1 // Value to return if bHaveFK is true var bHaveFK int32 = 0 // If FK processing is required if (*Sqlite3)(unsafe.Pointer((*Parse)(unsafe.Pointer(pParse)).Fdb)).Fflags&uint64(SQLITE_ForeignKeys) != 0 && int32((*Table)(unsafe.Pointer(pTab)).FeTabType) == TABTYP_NORM { @@ -105605,7 +105624,7 @@ func Xsqlite3FkRequired(tls *libc.TLS, pParse uintptr, pTab uintptr, aChange uin // The returned pointer is cached as part of the foreign key object. It // is eventually freed along with the rest of the foreign key object by // sqlite3FkDelete(). -func fkActionTrigger(tls *libc.TLS, pParse uintptr, pTab uintptr, pFKey uintptr, pChanges uintptr) uintptr { /* sqlite3.c:124653:16: */ +func fkActionTrigger(tls *libc.TLS, pParse uintptr, pTab uintptr, pFKey uintptr, pChanges uintptr) uintptr { /* sqlite3.c:124666:16: */ bp := tls.Alloc(96) defer tls.Free(96) @@ -105807,7 +105826,7 @@ func fkActionTrigger(tls *libc.TLS, pParse uintptr, pTab uintptr, pFKey uintptr, // This function is called when deleting or updating a row to implement // any required CASCADE, SET NULL or SET DEFAULT actions. -func Xsqlite3FkActions(tls *libc.TLS, pParse uintptr, pTab uintptr, pChanges uintptr, regOld int32, aChange uintptr, bChngRowid int32) { /* sqlite3.c:124845:21: */ +func Xsqlite3FkActions(tls *libc.TLS, pParse uintptr, pTab uintptr, pChanges uintptr, regOld int32, aChange uintptr, bChngRowid int32) { /* sqlite3.c:124858:21: */ // If foreign-key support is enabled, iterate through all FKs that // refer to table pTab. If there is an action associated with the FK // for this operation (either update or delete), invoke the associated @@ -105828,7 +105847,7 @@ func Xsqlite3FkActions(tls *libc.TLS, pParse uintptr, pTab uintptr, pChanges uin // Free all memory associated with foreign key definitions attached to // table pTab. Remove the deleted foreign keys from the Schema.fkeyHash // hash table. -func Xsqlite3FkDelete(tls *libc.TLS, db uintptr, pTab uintptr) { /* sqlite3.c:124877:21: */ +func Xsqlite3FkDelete(tls *libc.TLS, db uintptr, pTab uintptr) { /* sqlite3.c:124890:21: */ var pFKey uintptr // Iterator variable var pNext uintptr // Copy of pFKey->pNextFrom @@ -105888,7 +105907,7 @@ func Xsqlite3FkDelete(tls *libc.TLS, db uintptr, pTab uintptr) { /* sqlite3.c:12 // // If pTab is a WITHOUT ROWID table, then it is the PRIMARY KEY index // for that table that is actually opened. -func Xsqlite3OpenTable(tls *libc.TLS, pParse uintptr, iCur int32, iDb int32, pTab uintptr, opcode int32) { /* sqlite3.c:124943:21: */ +func Xsqlite3OpenTable(tls *libc.TLS, pParse uintptr, iCur int32, iDb int32, pTab uintptr, opcode int32) { /* sqlite3.c:124956:21: */ var v uintptr v = (*Parse)(unsafe.Pointer(pParse)).FpVdbe @@ -105930,7 +105949,7 @@ func Xsqlite3OpenTable(tls *libc.TLS, pParse uintptr, iCur int32, iDb int32, pTa // Memory for the buffer containing the column index affinity string // is managed along with the rest of the Index structure. It will be // released when sqlite3DeleteIndex() is called. -func Xsqlite3IndexAffinityStr(tls *libc.TLS, db uintptr, pIdx uintptr) uintptr { /* sqlite3.c:124990:27: */ +func Xsqlite3IndexAffinityStr(tls *libc.TLS, db uintptr, pIdx uintptr) uintptr { /* sqlite3.c:125003:27: */ if !(int32((*Index)(unsafe.Pointer(pIdx)).FzColAff) != 0) { // The first time a column affinity string for a particular index is // required, it is allocated and populated here. It is then stored as @@ -106009,7 +106028,7 @@ func Xsqlite3IndexAffinityStr(tls *libc.TLS, db uintptr, pIdx uintptr) uintptr { // register set as the OP_MakeRecord. If iReg>0 then register iReg is // the first of a series of registers that will form the new record. // Apply the type checking to that array of registers. -func Xsqlite3TableAffinity(tls *libc.TLS, v uintptr, pTab uintptr, iReg int32) { /* sqlite3.c:125069:21: */ +func Xsqlite3TableAffinity(tls *libc.TLS, v uintptr, pTab uintptr, iReg int32) { /* sqlite3.c:125082:21: */ var i int32 var j int32 var zColAff uintptr @@ -106067,7 +106086,7 @@ func Xsqlite3TableAffinity(tls *libc.TLS, v uintptr, pTab uintptr, iReg int32) { // have been opened at any point in the VDBE program. This is used to see if // a statement of the form "INSERT INTO SELECT ..." can // run without using a temporary table for the results of the SELECT. -func readsTable(tls *libc.TLS, p uintptr, iDb int32, pTab uintptr) int32 { /* sqlite3.c:125130:12: */ +func readsTable(tls *libc.TLS, p uintptr, iDb int32, pTab uintptr) int32 { /* sqlite3.c:125143:12: */ var v uintptr = Xsqlite3GetVdbe(tls, p) var i int32 var iEnd int32 = Xsqlite3VdbeCurrentAddr(tls, v) @@ -106103,7 +106122,7 @@ func readsTable(tls *libc.TLS, p uintptr, iDb int32, pTab uintptr) int32 { /* sq // This walker callback will compute the union of colFlags flags for all // referenced columns in a CHECK constraint or generated column expression. -func exprColumnFlagUnion(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:125167:12: */ +func exprColumnFlagUnion(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:125180:12: */ if int32((*Expr)(unsafe.Pointer(pExpr)).Fop) == TK_COLUMN && int32((*Expr)(unsafe.Pointer(pExpr)).FiColumn) >= 0 { *(*U16)(unsafe.Pointer(pWalker + 36)) |= U16(int32((*Column)(unsafe.Pointer((*Table1)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pWalker + 40)))).FaCol + uintptr((*Expr)(unsafe.Pointer(pExpr)).FiColumn)*24)).FcolFlags)) @@ -106116,7 +106135,7 @@ func exprColumnFlagUnion(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { // or VIRTUAL columns have not yet been initialized. This routine goes // back and computes the values for those columns based on the previously // computed normal columns. -func Xsqlite3ComputeGeneratedColumns(tls *libc.TLS, pParse uintptr, iRegStore int32, pTab uintptr) { /* sqlite3.c:125183:21: */ +func Xsqlite3ComputeGeneratedColumns(tls *libc.TLS, pParse uintptr, iRegStore int32, pTab uintptr) { /* sqlite3.c:125196:21: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -106229,7 +106248,7 @@ func Xsqlite3ComputeGeneratedColumns(tls *libc.TLS, pParse uintptr, iRegStore in // // The 2nd register is the one that is returned. That is all the // insert routine needs to know about. -func autoIncBegin(tls *libc.TLS, pParse uintptr, iDb int32, pTab uintptr) int32 { /* sqlite3.c:125307:12: */ +func autoIncBegin(tls *libc.TLS, pParse uintptr, iDb int32, pTab uintptr) int32 { /* sqlite3.c:125320:12: */ var memId int32 = 0 // Register holding maximum rowid if (*Table)(unsafe.Pointer(pTab)).FtabFlags&U32(TF_Autoincrement) != U32(0) && @@ -106283,7 +106302,7 @@ func autoIncBegin(tls *libc.TLS, pParse uintptr, iDb int32, pTab uintptr) int32 // This routine generates code that will initialize all of the // register used by the autoincrement tracker. -func Xsqlite3AutoincrementBegin(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:125358:21: */ +func Xsqlite3AutoincrementBegin(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:125371:21: */ var p uintptr // Information about an AUTOINCREMENT var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb // The database connection var pDb uintptr // Database only autoinc table @@ -106323,7 +106342,7 @@ func Xsqlite3AutoincrementBegin(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:12 } } -var iLn1 int32 = 0 /* sqlite3.c:125372:22 */ +var iLn1 int32 = 0 /* sqlite3.c:125385:22 */ var autoInc = [12]VdbeOpList{ /* 0 */ {Fopcode: U8(OP_Null)}, /* 1 */ {Fopcode: U8(OP_Rewind), Fp2: int8(10)}, @@ -106337,7 +106356,7 @@ var autoInc = [12]VdbeOpList{ /* 9 */ {Fopcode: U8(OP_Next), Fp2: int8(2)}, /* 10 */ {Fopcode: U8(OP_Integer)}, /* 11 */ {Fopcode: U8(OP_Close)}, -} /* sqlite3.c:125373:29 */ +} /* sqlite3.c:125386:29 */ // Update the maximum rowid for an autoincrement calculation. // @@ -106345,7 +106364,7 @@ var autoInc = [12]VdbeOpList{ // new rowid that is about to be inserted. If that new rowid is // larger than the maximum rowid in the memId memory cell, then the // memory cell is updated. -func autoIncStep(tls *libc.TLS, pParse uintptr, memId int32, regRowid int32) { /* sqlite3.c:125419:13: */ +func autoIncStep(tls *libc.TLS, pParse uintptr, memId int32, regRowid int32) { /* sqlite3.c:125432:13: */ if memId > 0 { Xsqlite3VdbeAddOp2(tls, (*Parse)(unsafe.Pointer(pParse)).FpVdbe, OP_MemMax, memId, regRowid) } @@ -106356,7 +106375,7 @@ func autoIncStep(tls *libc.TLS, pParse uintptr, memId int32, regRowid int32) { / // Every statement that might do an INSERT into an autoincrement // table (either directly or through triggers) needs to call this // routine just before the "exit" code. -func autoIncrementEnd(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:125432:29: */ +func autoIncrementEnd(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:125445:29: */ var p uintptr var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb @@ -106387,16 +106406,16 @@ func autoIncrementEnd(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:125432:29: * } } -var iLn2 int32 = 0 /* sqlite3.c:125439:22 */ +var iLn2 int32 = 0 /* sqlite3.c:125452:22 */ var autoIncEnd = [5]VdbeOpList{ /* 0 */ {Fopcode: U8(OP_NotNull), Fp2: int8(2)}, /* 1 */ {Fopcode: U8(OP_NewRowid)}, /* 2 */ {Fopcode: U8(OP_MakeRecord), Fp2: int8(2)}, /* 3 */ {Fopcode: U8(OP_Insert)}, /* 4 */ {Fopcode: U8(OP_Close)}, -} /* sqlite3.c:125440:29 */ +} /* sqlite3.c:125453:29 */ -func Xsqlite3AutoincrementEnd(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:125469:21: */ +func Xsqlite3AutoincrementEnd(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:125482:21: */ if (*Parse)(unsafe.Pointer(pParse)).FpAinc != 0 { autoIncrementEnd(tls, pParse) } @@ -106497,7 +106516,7 @@ func Xsqlite3AutoincrementEnd(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:1254 // transfer values form intermediate table into
// end loop // D: cleanup -func Xsqlite3Insert(tls *libc.TLS, pParse uintptr, pTabList uintptr, pSelect uintptr, pColumn uintptr, onError int32, pUpsert uintptr) { /* sqlite3.c:125588:21: */ +func Xsqlite3Insert(tls *libc.TLS, pParse uintptr, pTabList uintptr, pSelect uintptr, pColumn uintptr, onError int32, pUpsert uintptr) { /* sqlite3.c:125601:21: */ bp := tls.Alloc(188) defer tls.Free(188) @@ -107551,7 +107570,7 @@ insert_cleanup: // Set bit 0x01 of pWalker->eCode if pWalker->eCode to 0 and if this // expression node references any of the // columns that are being modifed by an UPDATE statement. -func checkConstraintExprNode(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:126347:12: */ +func checkConstraintExprNode(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:126360:12: */ if int32((*Expr)(unsafe.Pointer(pExpr)).Fop) == TK_COLUMN { if int32((*Expr)(unsafe.Pointer(pExpr)).FiColumn) >= 0 { @@ -107578,7 +107597,7 @@ func checkConstraintExprNode(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int3 // The operation of this routine is the same - return true if an only if // the expression uses one or more of columns identified by the second and // third arguments. -func Xsqlite3ExprReferencesUpdatedColumn(tls *libc.TLS, pExpr uintptr, aiChng uintptr, chngRowid int32) int32 { /* sqlite3.c:126376:20: */ +func Xsqlite3ExprReferencesUpdatedColumn(tls *libc.TLS, pExpr uintptr, aiChng uintptr, chngRowid int32) int32 { /* sqlite3.c:126389:20: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -107612,7 +107631,7 @@ type IndexListTerm1 = struct { Fp uintptr Fix int32 F__ccgo_pad1 [4]byte -} /* sqlite3.c:126409:9 */ +} /* sqlite3.c:126422:9 */ // The sqlite3GenerateConstraintChecks() routine usually wants to visit // the indexes of a table in the order provided in the Table->pIndex list. @@ -107623,7 +107642,7 @@ type IndexListTerm1 = struct { // The IndexIterator object is used to walk through all of the indexes // of a table in either Index.pNext order, or in some other order established // by an array of IndexListTerm objects. -type IndexListTerm = IndexListTerm1 /* sqlite3.c:126409:30 */ +type IndexListTerm = IndexListTerm1 /* sqlite3.c:126422:30 */ type IndexIterator1 = struct { FeType int32 Fi int32 @@ -107631,12 +107650,12 @@ type IndexIterator1 = struct { Flx struct{ FpIdx uintptr } F__ccgo_pad1 [8]byte } -} /* sqlite3.c:126410:9 */ +} /* sqlite3.c:126423:9 */ -type IndexIterator = IndexIterator1 /* sqlite3.c:126410:30 */ +type IndexIterator = IndexIterator1 /* sqlite3.c:126423:30 */ // Return the first index on the list -func indexIteratorFirst(tls *libc.TLS, pIter uintptr, pIx uintptr) uintptr { /* sqlite3.c:126434:14: */ +func indexIteratorFirst(tls *libc.TLS, pIter uintptr, pIx uintptr) uintptr { /* sqlite3.c:126447:14: */ if (*IndexIterator)(unsafe.Pointer(pIter)).FeType != 0 { *(*int32)(unsafe.Pointer(pIx)) = (*IndexListTerm)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pIter + 8 + 8 /* &.aIdx */)))).Fix @@ -107649,7 +107668,7 @@ func indexIteratorFirst(tls *libc.TLS, pIter uintptr, pIx uintptr) uintptr { /* } // Return the next index from the list. Return NULL when out of indexes -func indexIteratorNext(tls *libc.TLS, pIter uintptr, pIx uintptr) uintptr { /* sqlite3.c:126446:14: */ +func indexIteratorNext(tls *libc.TLS, pIter uintptr, pIx uintptr) uintptr { /* sqlite3.c:126459:14: */ if (*IndexIterator)(unsafe.Pointer(pIter)).FeType != 0 { var i int32 = libc.PreIncInt32(&(*IndexIterator)(unsafe.Pointer(pIter)).Fi, 1) if i >= *(*int32)(unsafe.Pointer(pIter + 8)) { @@ -107755,7 +107774,7 @@ func indexIteratorNext(tls *libc.TLS, pIter uintptr, pIx uintptr) uintptr { /* s // Or if overrideError==OE_Default, then the pParse->onError parameter // is used. Or if pParse->onError==OE_Default then the onError value // for the constraint is used. -func Xsqlite3GenerateConstraintChecks(tls *libc.TLS, pParse uintptr, pTab uintptr, aRegIdx uintptr, iDataCur int32, iIdxCur int32, regNewData int32, regOldData int32, pkChng U8, overrideError U8, ignoreDest int32, pbMayReplace uintptr, aiChng uintptr, pUpsert uintptr) { /* sqlite3.c:126553:21: */ +func Xsqlite3GenerateConstraintChecks(tls *libc.TLS, pParse uintptr, pTab uintptr, aRegIdx uintptr, iDataCur int32, iIdxCur int32, regNewData int32, regOldData int32, pkChng U8, overrideError U8, ignoreDest int32, pbMayReplace uintptr, aiChng uintptr, pUpsert uintptr) { /* sqlite3.c:126566:21: */ bp := tls.Alloc(72) defer tls.Free(72) @@ -108613,7 +108632,7 @@ func Xsqlite3GenerateConstraintChecks(tls *libc.TLS, pParse uintptr, pTab uintpt // number is iCur, and register regData contains the new record for the // PK index. This function adds code to invoke the pre-update hook, // if one is registered. -func codeWithoutRowidPreupdate(tls *libc.TLS, pParse uintptr, pTab uintptr, iCur int32, regData int32) { /* sqlite3.c:127411:13: */ +func codeWithoutRowidPreupdate(tls *libc.TLS, pParse uintptr, pTab uintptr, iCur int32, regData int32) { /* sqlite3.c:127424:13: */ var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe var r int32 = Xsqlite3GetTempReg(tls, pParse) @@ -108630,7 +108649,7 @@ func codeWithoutRowidPreupdate(tls *libc.TLS, pParse uintptr, pTab uintptr, iCur // // The arguments to this routine should be the same as the first six // arguments to sqlite3GenerateConstraintChecks. -func Xsqlite3CompleteInsertion(tls *libc.TLS, pParse uintptr, pTab uintptr, iDataCur int32, iIdxCur int32, regNewData int32, aRegIdx uintptr, update_flags int32, appendBias int32, useSeekResult int32) { /* sqlite3.c:127439:21: */ +func Xsqlite3CompleteInsertion(tls *libc.TLS, pParse uintptr, pTab uintptr, iDataCur int32, iIdxCur int32, regNewData int32, aRegIdx uintptr, update_flags int32, appendBias int32, useSeekResult int32) { /* sqlite3.c:127452:21: */ var v uintptr // Prepared statements under construction var pIdx uintptr // An index being inserted or updated var pik_flags U8 // flag values passed to the btree insert @@ -108733,7 +108752,7 @@ __3: // // If pTab is a virtual table, then this routine is a no-op and the // *piDataCur and *piIdxCur values are left uninitialized. -func Xsqlite3OpenTableAndIndices(tls *libc.TLS, pParse uintptr, pTab uintptr, op int32, p5 U8, iBase int32, aToOpen uintptr, piDataCur uintptr, piIdxCur uintptr) int32 { /* sqlite3.c:127527:20: */ +func Xsqlite3OpenTableAndIndices(tls *libc.TLS, pParse uintptr, pTab uintptr, op int32, p5 U8, iBase int32, aToOpen uintptr, piDataCur uintptr, piIdxCur uintptr) int32 { /* sqlite3.c:127540:20: */ var i int32 var iDb int32 var iDataCur int32 @@ -108811,7 +108830,7 @@ __3: // * The same onError processing (OE_Abort, OE_Ignore, etc) // * The same collating sequence on each column // * The index has the exact same WHERE clause -func xferCompatibleIndex(tls *libc.TLS, pDest uintptr, pSrc uintptr) int32 { /* sqlite3.c:127606:12: */ +func xferCompatibleIndex(tls *libc.TLS, pDest uintptr, pSrc uintptr) int32 { /* sqlite3.c:127619:12: */ var i int32 if int32((*Index)(unsafe.Pointer(pDest)).FnKeyCol) != int32((*Index)(unsafe.Pointer(pSrc)).FnKeyCol) || int32((*Index)(unsafe.Pointer(pDest)).FnColumn) != int32((*Index)(unsafe.Pointer(pSrc)).FnColumn) { @@ -108869,7 +108888,7 @@ func xferCompatibleIndex(tls *libc.TLS, pDest uintptr, pSrc uintptr) int32 { /* // is no chance that the xfer optimization can be applied. // // This optimization is particularly useful at making VACUUM run faster. -func xferOptimization(tls *libc.TLS, pParse uintptr, pDest uintptr, pSelect uintptr, onError int32, iDbDest int32) int32 { /* sqlite3.c:127667:12: */ +func xferOptimization(tls *libc.TLS, pParse uintptr, pDest uintptr, pSelect uintptr, onError int32, iDbDest int32) int32 { /* sqlite3.c:127680:12: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb var pEList uintptr // The result set of the SELECT var pSrc uintptr // The table in the FROM clause of SELECT @@ -109249,7 +109268,7 @@ func xferOptimization(tls *libc.TLS, pParse uintptr, pDest uintptr, pSelect uint // the xCallback() function is called. pArg becomes the first // 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 Sqlite3_callback, pArg uintptr, pzErrMsg uintptr) int32 { /* sqlite3.c:128078:16: */ +func Xsqlite3_exec(tls *libc.TLS, db uintptr, zSql uintptr, xCallback Sqlite3_callback, pArg uintptr, pzErrMsg uintptr) int32 { /* sqlite3.c:128091:16: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -109270,7 +109289,7 @@ func Xsqlite3_exec(tls *libc.TLS, db uintptr, zSql uintptr, xCallback Sqlite3_ca if !!(Xsqlite3SafetyCheckOk(tls, db) != 0) { goto __1 } - return Xsqlite3MisuseError(tls, 128091) + return Xsqlite3MisuseError(tls, 128104) __1: ; if !(zSql == uintptr(0)) { @@ -109459,7 +109478,7 @@ __26: // This is the function signature used for all extension entry points. It // is also defined in the file "loadext.c". -type Sqlite3_loadext_entry = uintptr /* sqlite3.c:128572:13 */ +type Sqlite3_loadext_entry = uintptr /* sqlite3.c:128585:13 */ // The following macros redefine the API routines so that they are // redirected through the global sqlite3_api structure. @@ -109793,7 +109812,7 @@ var sqlite3Apis = Sqlite3_api_routines{ Fvtab_in: 0, Fvtab_in_first: 0, Fvtab_in_next: 0, -} /* sqlite3.c:129018:35 */ +} /* sqlite3.c:129031:35 */ // True if x is the directory separator character @@ -109807,7 +109826,7 @@ var sqlite3Apis = Sqlite3_api_routines{ // If an error occurs and pzErrMsg is not 0, then fill *pzErrMsg with // error message text. The calling function should free this memory // by calling sqlite3DbFree(db, ). -func sqlite3LoadExtension(tls *libc.TLS, db uintptr, zFile uintptr, zProc uintptr, pzErrMsg uintptr) int32 { /* sqlite3.c:129402:12: */ +func sqlite3LoadExtension(tls *libc.TLS, db uintptr, zFile uintptr, zProc uintptr, pzErrMsg uintptr) int32 { /* sqlite3.c:129415:12: */ bp := tls.Alloc(64) defer tls.Free(64) @@ -110061,9 +110080,9 @@ __28: var azEndings = [1]uintptr{ ts + 15949, -} /* sqlite3.c:129420:21 */ +} /* sqlite3.c:129433:21 */ -func Xsqlite3_load_extension(tls *libc.TLS, db uintptr, zFile uintptr, zProc uintptr, pzErrMsg uintptr) int32 { /* sqlite3.c:129553:16: */ +func Xsqlite3_load_extension(tls *libc.TLS, db uintptr, zFile uintptr, zProc uintptr, pzErrMsg uintptr) int32 { /* sqlite3.c:129566:16: */ var rc int32 Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) rc = sqlite3LoadExtension(tls, db, zFile, zProc, pzErrMsg) @@ -110074,7 +110093,7 @@ func Xsqlite3_load_extension(tls *libc.TLS, db uintptr, zFile uintptr, zProc uin // Call this routine when the database connection is closing in order // to clean up loaded extensions -func Xsqlite3CloseExtensions(tls *libc.TLS, db uintptr) { /* sqlite3.c:129571:21: */ +func Xsqlite3CloseExtensions(tls *libc.TLS, db uintptr) { /* sqlite3.c:129584:21: */ var i int32 for i = 0; i < (*Sqlite3)(unsafe.Pointer(db)).FnExtension; i++ { @@ -110085,7 +110104,7 @@ func Xsqlite3CloseExtensions(tls *libc.TLS, db uintptr) { /* sqlite3.c:129571:21 // Enable or disable extension loading. Extension loading is disabled by // default so as not to open security holes in older applications. -func Xsqlite3_enable_load_extension(tls *libc.TLS, db uintptr, onoff int32) int32 { /* sqlite3.c:129584:16: */ +func Xsqlite3_enable_load_extension(tls *libc.TLS, db uintptr, onoff int32) int32 { /* sqlite3.c:129597:16: */ Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) if onoff != 0 { *(*U64)(unsafe.Pointer(db + 48)) |= uint64(SQLITE_LoadExtension | SQLITE_LoadExtFunc) @@ -110105,15 +110124,15 @@ type sqlite3AutoExtList = struct { FnExt U32 F__ccgo_pad1 [4]byte FaExt uintptr -} /* sqlite3.c:129604:9 */ +} /* sqlite3.c:129617:9 */ // The following object holds the list of automatically loaded // extensions. // // This list is shared across threads. The SQLITE_MUTEX_STATIC_MAIN // mutex must be held while accessing this list. -type Sqlite3AutoExtList = sqlite3AutoExtList /* sqlite3.c:129604:35 */ -var sqlite3Autoext = sqlite3AutoExtList{} /* sqlite3.c:129608:3 */ +type Sqlite3AutoExtList = sqlite3AutoExtList /* sqlite3.c:129617:35 */ +var sqlite3Autoext = sqlite3AutoExtList{} /* sqlite3.c:129621:3 */ // The "wsdAutoext" macro will resolve to the autoextension // state vector. If writable static data is unsupported on the target, @@ -110123,7 +110142,7 @@ var sqlite3Autoext = sqlite3AutoExtList{} /* sqlite3.c:129608:3 */ // Register a statically linked extension that is automatically // loaded by every new database connection. -func Xsqlite3_auto_extension(tls *libc.TLS, xInit uintptr) int32 { /* sqlite3.c:129630:16: */ +func Xsqlite3_auto_extension(tls *libc.TLS, xInit uintptr) int32 { /* sqlite3.c:129643:16: */ var rc int32 = SQLITE_OK rc = Xsqlite3_initialize(tls) if rc != 0 { @@ -110164,7 +110183,7 @@ func Xsqlite3_auto_extension(tls *libc.TLS, xInit uintptr) int32 { /* sqlite3.c: // // 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) int32 { /* sqlite3.c:129677:16: */ +func Xsqlite3_cancel_auto_extension(tls *libc.TLS, xInit uintptr) int32 { /* sqlite3.c:129690:16: */ var mutex uintptr = Xsqlite3MutexAlloc(tls, SQLITE_MUTEX_STATIC_MAIN) var i int32 var n int32 = 0 @@ -110183,7 +110202,7 @@ func Xsqlite3_cancel_auto_extension(tls *libc.TLS, xInit uintptr) int32 { /* sql } // Reset the automatic extension loading mechanism. -func Xsqlite3_reset_auto_extension(tls *libc.TLS) { /* sqlite3.c:129702:17: */ +func Xsqlite3_reset_auto_extension(tls *libc.TLS) { /* sqlite3.c:129715:17: */ if Xsqlite3_initialize(tls) == SQLITE_OK { var mutex uintptr = Xsqlite3MutexAlloc(tls, SQLITE_MUTEX_STATIC_MAIN) @@ -110198,7 +110217,7 @@ func Xsqlite3_reset_auto_extension(tls *libc.TLS) { /* sqlite3.c:129702:17: */ // Load all automatic extensions. // // If anything goes wrong, set an error in the database connection. -func Xsqlite3AutoLoadExtensions(tls *libc.TLS, db uintptr) { /* sqlite3.c:129724:21: */ +func Xsqlite3AutoLoadExtensions(tls *libc.TLS, db uintptr) { /* sqlite3.c:129737:21: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -110335,7 +110354,7 @@ var pragCName = [57]uintptr{ ts + 16224, ts + 16235, -} /* sqlite3.c:129865:19 */ +} /* sqlite3.c:129878:19 */ // Definitions of all built-in pragmas type PragmaName1 = struct { @@ -110346,10 +110365,10 @@ type PragmaName1 = struct { FnPragCName U8 F__ccgo_pad1 [4]byte FiArg U64 -} /* sqlite3.c:129930:9 */ +} /* sqlite3.c:129943:9 */ // Definitions of all built-in pragmas -type PragmaName = PragmaName1 /* sqlite3.c:129937:3 */ +type PragmaName = PragmaName1 /* sqlite3.c:129950:3 */ var aPragmaName = [66]PragmaName{ { /* zName: */ FzName: ts + 16243, /* ePragTyp: */ FePragTyp: U8(PragTyp_ANALYSIS_LIMIT), @@ -110586,7 +110605,7 @@ var aPragmaName = [66]PragmaName{ /* ePragTyp: */ FePragTyp: U8(PragTyp_FLAG), /* ePragFlg: */ FmPragFlg: U8(PragFlg_Result0 | PragFlg_NoColumns1), /* iArg: */ FiArg: uint64(SQLITE_WriteSchema | SQLITE_NoSchemaError)}, -} /* sqlite3.c:129938:25 */ +} /* sqlite3.c:129951:25 */ // Number of pragmas: 68 on by default, 78 total. @@ -110602,7 +110621,7 @@ var aPragmaName = [66]PragmaName{ // should be passed into sqlite3BtreeSetSafetyLevel(). The is done // to support legacy SQL code. The safety level used to be boolean // and older scripts may have used numbers 0 for OFF and 1 for ON. -func getSafetyLevel(tls *libc.TLS, z uintptr, omitFull int32, dflt U8) U8 { /* sqlite3.c:130472:11: */ +func getSafetyLevel(tls *libc.TLS, z uintptr, omitFull int32, dflt U8) U8 { /* sqlite3.c:130485:11: */ // on no off false yes true extra full var i int32 var n int32 @@ -110619,13 +110638,13 @@ func getSafetyLevel(tls *libc.TLS, z uintptr, omitFull int32, dflt U8) U8 { /* s return dflt } -var zText = *(*[25]int8)(unsafe.Pointer(ts + 17210)) /* sqlite3.c:130474:21 */ -var iOffset = [8]U8{U8(0), U8(1), U8(2), U8(4), U8(9), U8(12), U8(15), U8(20)} /* sqlite3.c:130475:19 */ -var iLength = [8]U8{U8(2), U8(2), U8(3), U8(5), U8(3), U8(4), U8(5), U8(4)} /* sqlite3.c:130476:19 */ -var iValue = [8]U8{U8(1), U8(0), U8(0), U8(0), U8(1), U8(1), U8(3), U8(2)} /* sqlite3.c:130477:19 */ +var zText = *(*[25]int8)(unsafe.Pointer(ts + 17210)) /* sqlite3.c:130487:21 */ +var iOffset = [8]U8{U8(0), U8(1), U8(2), U8(4), U8(9), U8(12), U8(15), U8(20)} /* sqlite3.c:130488:19 */ +var iLength = [8]U8{U8(2), U8(2), U8(3), U8(5), U8(3), U8(4), U8(5), U8(4)} /* sqlite3.c:130489:19 */ +var iValue = [8]U8{U8(1), U8(0), U8(0), U8(0), U8(1), U8(1), U8(3), U8(2)} /* sqlite3.c:130490:19 */ // Interpret the given string as a boolean value. -func Xsqlite3GetBoolean(tls *libc.TLS, z uintptr, dflt U8) U8 { /* sqlite3.c:130497:19: */ +func Xsqlite3GetBoolean(tls *libc.TLS, z uintptr, dflt U8) U8 { /* sqlite3.c:130510:19: */ return U8(libc.Bool32(int32(getSafetyLevel(tls, z, 1, dflt)) != 0)) } @@ -110634,7 +110653,7 @@ func Xsqlite3GetBoolean(tls *libc.TLS, z uintptr, dflt U8) U8 { /* sqlite3.c:130 // the rest of the file if PRAGMAs are omitted from the build. // Interpret the given string as a locking mode value. -func getLockingMode(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:130510:12: */ +func getLockingMode(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:130523:12: */ if z != 0 { if 0 == Xsqlite3StrICmp(tls, z, ts+17235) { return PAGER_LOCKINGMODE_EXCLUSIVE @@ -110650,7 +110669,7 @@ func getLockingMode(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:130510:12: */ // // The following strings, "none", "full" and "incremental" are // acceptable, as are their numeric equivalents: 0, 1 and 2 respectively. -func getAutoVacuum(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:130525:12: */ +func getAutoVacuum(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:130538:12: */ var i int32 if 0 == Xsqlite3StrICmp(tls, z, ts+7905) { return BTREE_AUTOVACUUM_NONE @@ -110673,7 +110692,7 @@ func getAutoVacuum(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:130525:12: */ // Interpret the given string as a temp db location. Return 1 for file // backed temporary databases, 2 for the Red-Black tree in memory database // and 0 to use the compile-time default. -func getTempStore(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:130541:12: */ +func getTempStore(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:130554:12: */ if int32(*(*int8)(unsafe.Pointer(z))) >= '0' && int32(*(*int8)(unsafe.Pointer(z))) <= '2' { return int32(*(*int8)(unsafe.Pointer(z))) - '0' } else if Xsqlite3StrICmp(tls, z, ts+16185) == 0 { @@ -110688,7 +110707,7 @@ func getTempStore(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:130541:12: */ // Invalidate temp storage, either when the temp storage is changed // from default, or when 'file' and the temp_store_directory has changed -func invalidateTempStorage(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:130559:12: */ +func invalidateTempStorage(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:130572:12: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb if (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+1*32)).FpBt != uintptr(0) { if !(int32((*Sqlite3)(unsafe.Pointer(db)).FautoCommit) != 0) || @@ -110707,7 +110726,7 @@ func invalidateTempStorage(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:1 // If the TEMP database is open, close it and mark the database schema // as needing reloading. This must be done when using the SQLITE_TEMP_STORE // or DEFAULT_TEMP_STORE pragmas. -func changeTempStorage(tls *libc.TLS, pParse uintptr, zStorageType uintptr) int32 { /* sqlite3.c:130583:12: */ +func changeTempStorage(tls *libc.TLS, pParse uintptr, zStorageType uintptr) int32 { /* sqlite3.c:130596:12: */ var ts int32 = getTempStore(tls, zStorageType) var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb if int32((*Sqlite3)(unsafe.Pointer(db)).Ftemp_store) == ts { @@ -110721,7 +110740,7 @@ func changeTempStorage(tls *libc.TLS, pParse uintptr, zStorageType uintptr) int3 } // Set result column names for a pragma. -func setPragmaResultColumnNames(tls *libc.TLS, v uintptr, pPragma uintptr) { /* sqlite3.c:130598:13: */ +func setPragmaResultColumnNames(tls *libc.TLS, v uintptr, pPragma uintptr) { /* sqlite3.c:130611:13: */ var n U8 = (*PragmaName)(unsafe.Pointer(pPragma)).FnPragCName Xsqlite3VdbeSetNumCols(tls, v, func() int32 { if int32(n) == 0 { @@ -110755,7 +110774,7 @@ func setPragmaResultColumnNames(tls *libc.TLS, v uintptr, pPragma uintptr) { /* } // Generate code to return a single integer value. -func returnSingleInt(tls *libc.TLS, v uintptr, value I64) { /* sqlite3.c:130617:13: */ +func returnSingleInt(tls *libc.TLS, v uintptr, value I64) { /* sqlite3.c:130630:13: */ bp := tls.Alloc(8) defer tls.Free(8) *(*I64)(unsafe.Pointer(bp)) = value @@ -110765,7 +110784,7 @@ func returnSingleInt(tls *libc.TLS, v uintptr, value I64) { /* sqlite3.c:130617: } // Generate code to return a single text value. -func returnSingleText(tls *libc.TLS, v uintptr, zValue uintptr) { /* sqlite3.c:130625:13: */ +func returnSingleText(tls *libc.TLS, v uintptr, zValue uintptr) { /* sqlite3.c:130638:13: */ if zValue != 0 { Xsqlite3VdbeLoadString(tls, v, 1, zValue) Xsqlite3VdbeAddOp2(tls, v, OP_ResultRow, 1, 1) @@ -110774,7 +110793,7 @@ func returnSingleText(tls *libc.TLS, v uintptr, zValue uintptr) { /* sqlite3.c:1 // Set the safety_level and pager flags for pager iDb. Or if iDb<0 // set these values for all pagers. -func setAllPagerFlags(tls *libc.TLS, db uintptr) { /* sqlite3.c:130641:13: */ +func setAllPagerFlags(tls *libc.TLS, db uintptr) { /* sqlite3.c:130654:13: */ if (*Sqlite3)(unsafe.Pointer(db)).FautoCommit != 0 { var pDb uintptr = (*Sqlite3)(unsafe.Pointer(db)).FaDb var n int32 = (*Sqlite3)(unsafe.Pointer(db)).FnDb @@ -110790,7 +110809,7 @@ func setAllPagerFlags(tls *libc.TLS, db uintptr) { /* sqlite3.c:130641:13: */ } // Return a human-readable name for a constraint resolution action. -func actionName(tls *libc.TLS, action U8) uintptr { /* sqlite3.c:130669:19: */ +func actionName(tls *libc.TLS, action U8) uintptr { /* sqlite3.c:130682:19: */ var zName uintptr switch int32(action) { case OE_SetNull: @@ -110815,7 +110834,7 @@ func actionName(tls *libc.TLS, action U8) uintptr { /* sqlite3.c:130669:19: */ // Parameter eMode must be one of the PAGER_JOURNALMODE_XXX constants // defined in pager.h. This function returns the associated lowercase // journal-mode name. -func Xsqlite3JournalModename(tls *libc.TLS, eMode int32) uintptr { /* sqlite3.c:130689:27: */ +func Xsqlite3JournalModename(tls *libc.TLS, eMode int32) uintptr { /* sqlite3.c:130702:27: */ if eMode == int32(uint64(unsafe.Sizeof(azModeName))/uint64(unsafe.Sizeof(uintptr(0)))) { return uintptr(0) @@ -110825,10 +110844,10 @@ func Xsqlite3JournalModename(tls *libc.TLS, eMode int32) uintptr { /* sqlite3.c: var azModeName = [6]uintptr{ ts + 17386, ts + 17393, ts + 17401, ts + 17405, ts + 17269, ts + 17414, -} /* sqlite3.c:130690:15 */ +} /* sqlite3.c:130703:15 */ // Locate a pragma in the aPragmaName[] array. -func pragmaLocate(tls *libc.TLS, zName uintptr) uintptr { /* sqlite3.c:130711:25: */ +func pragmaLocate(tls *libc.TLS, zName uintptr) uintptr { /* sqlite3.c:130724:25: */ var upr int32 var lwr int32 var mid int32 = 0 @@ -110855,7 +110874,7 @@ func pragmaLocate(tls *libc.TLS, zName uintptr) uintptr { /* sqlite3.c:130711:25 // Create zero or more entries in the output for the SQL functions // defined by FuncDef p. -func pragmaFunclistLine(tls *libc.TLS, v uintptr, p uintptr, isBuiltin int32, showInternFuncs int32) { /* sqlite3.c:130732:13: */ +func pragmaFunclistLine(tls *libc.TLS, v uintptr, p uintptr, isBuiltin int32, showInternFuncs int32) { /* sqlite3.c:130745:13: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -110884,15 +110903,15 @@ func pragmaFunclistLine(tls *libc.TLS, v uintptr, p uintptr, isBuiltin int32, sh } } -var mask U32 = U32(SQLITE_DETERMINISTIC | SQLITE_DIRECTONLY | SQLITE_SUBTYPE | SQLITE_INNOCUOUS | SQLITE_FUNC_INTERNAL) /* sqlite3.c:130740:22 */ -var azEnc = [4]uintptr{uintptr(0), ts + 17429, ts + 17434, ts + 17442 /* "utf16be" */} /* sqlite3.c:130747:23 */ +var mask U32 = U32(SQLITE_DETERMINISTIC | SQLITE_DIRECTONLY | SQLITE_SUBTYPE | SQLITE_INNOCUOUS | SQLITE_FUNC_INTERNAL) /* sqlite3.c:130753:22 */ +var azEnc = [4]uintptr{uintptr(0), ts + 17429, ts + 17434, ts + 17442 /* "utf16be" */} /* sqlite3.c:130760:23 */ // Helper subroutine for PRAGMA integrity_check: // // Generate code to output a single-column result row with a value of the // string held in register 3. Decrement the result count in register 1 // and halt if the maximum number of result rows have been issued. -func integrityCheckResultRow(tls *libc.TLS, v uintptr) int32 { /* sqlite3.c:130784:12: */ +func integrityCheckResultRow(tls *libc.TLS, v uintptr) int32 { /* sqlite3.c:130797:12: */ var addr int32 Xsqlite3VdbeAddOp2(tls, v, OP_ResultRow, 3, 1) addr = Xsqlite3VdbeAddOp3(tls, v, OP_IfPos, 1, Xsqlite3VdbeCurrentAddr(tls, v)+2, 1) @@ -110914,7 +110933,7 @@ func integrityCheckResultRow(tls *libc.TLS, v uintptr) int32 { /* sqlite3.c:1307 // If the left side is "database.id" then pId1 is the database name // and pId2 is the id. If the left side is just "id" then pId1 is the // id and pId2 is any empty string. -func Xsqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, pValue uintptr, minusFlag int32) { /* sqlite3.c:130808:21: */ +func Xsqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, pValue uintptr, minusFlag int32) { /* sqlite3.c:130821:21: */ bp := tls.Alloc(616) defer tls.Free(616) @@ -114297,9 +114316,9 @@ type EncName = struct { FzName uintptr Fenc U8 F__ccgo_pad1 [7]byte -} /* sqlite3.c:132383:18 */ +} /* sqlite3.c:132396:18 */ -var iLn3 int32 = 0 /* sqlite3.c:130937:22 */ +var iLn3 int32 = 0 /* sqlite3.c:130950:22 */ var getCacheSize = [9]VdbeOpList{ {Fopcode: U8(OP_Transaction)}, // 0 {Fopcode: U8(OP_ReadCookie), Fp2: int8(1), Fp3: int8(BTREE_DEFAULT_CACHE_SIZE)}, // 1 @@ -114310,16 +114329,16 @@ var getCacheSize = [9]VdbeOpList{ {Fopcode: U8(OP_Integer), Fp2: int8(1)}, // 6 {Fopcode: U8(OP_Noop)}, {Fopcode: U8(OP_ResultRow), Fp1: int8(1), Fp2: int8(1)}, -} /* sqlite3.c:130938:29 */ -var iLn4 int32 = 0 /* sqlite3.c:131206:26 */ +} /* sqlite3.c:130951:29 */ +var iLn4 int32 = 0 /* sqlite3.c:131219:26 */ var setMeta6 = [5]VdbeOpList{ {Fopcode: U8(OP_Transaction), Fp2: int8(1)}, // 0 {Fopcode: U8(OP_ReadCookie), Fp2: int8(1), Fp3: int8(BTREE_LARGEST_ROOT_PAGE)}, {Fopcode: U8(OP_If), Fp1: int8(1)}, // 2 {Fopcode: U8(OP_Halt), Fp2: int8(OE_Abort)}, // 3 {Fopcode: U8(OP_SetCookie), Fp2: int8(BTREE_INCR_VACUUM)}, // 4 -} /* sqlite3.c:131207:33 */ -var iLn5 int32 = 0 /* sqlite3.c:132333:24 */ +} /* sqlite3.c:131220:33 */ +var iLn5 int32 = 0 /* sqlite3.c:132346:24 */ var endCode = [7]VdbeOpList{ {Fopcode: U8(OP_AddImm), Fp1: int8(1)}, // 0 {Fopcode: U8(OP_IfNotZero), Fp1: int8(1), Fp2: int8(4)}, // 1 @@ -114328,7 +114347,7 @@ var endCode = [7]VdbeOpList{ {Fopcode: U8(OP_Halt)}, // 4 {Fopcode: U8(OP_String8), Fp2: int8(3)}, // 5 {Fopcode: U8(OP_Goto), Fp2: int8(3)}, // 6 -} /* sqlite3.c:132334:31 */ +} /* sqlite3.c:132347:31 */ var encnames1 = [9]EncName{ {FzName: ts + 17865, Fenc: U8(SQLITE_UTF8)}, {FzName: ts + 17870, Fenc: U8(SQLITE_UTF8)}, // Must be element [1] @@ -114339,16 +114358,16 @@ var encnames1 = [9]EncName{ {FzName: ts + 17910}, {FzName: ts + 17917}, {}, -} /* sqlite3.c:132386:7 */ +} /* sqlite3.c:132399:7 */ var setCookie = [2]VdbeOpList{ {Fopcode: U8(OP_Transaction), Fp2: int8(1)}, // 0 {Fopcode: U8(OP_SetCookie)}, // 1 -} /* sqlite3.c:132466:31 */ +} /* sqlite3.c:132479:31 */ var readCookie = [3]VdbeOpList{ {Fopcode: U8(OP_Transaction)}, // 0 {Fopcode: U8(OP_ReadCookie), Fp2: int8(1)}, // 1 {Fopcode: U8(OP_ResultRow), Fp1: int8(1), Fp2: int8(1)}, -} /* sqlite3.c:132481:31 */ +} /* sqlite3.c:132494:31 */ // **************************************************************************** // // Implementation of an eponymous virtual table that runs a pragma. @@ -114360,24 +114379,24 @@ type PragmaVtab1 = struct { FnHidden U8 FiHidden U8 F__ccgo_pad1 [6]byte -} /* sqlite3.c:132841:9 */ +} /* sqlite3.c:132854:9 */ // **************************************************************************** // // Implementation of an eponymous virtual table that runs a pragma. // -type PragmaVtab = PragmaVtab1 /* sqlite3.c:132841:27 */ +type PragmaVtab = PragmaVtab1 /* sqlite3.c:132854:27 */ type PragmaVtabCursor1 = struct { Fbase Sqlite3_vtab_cursor FpPragma uintptr FiRowid Sqlite_int64 FazArg [2]uintptr -} /* sqlite3.c:132842:9 */ +} /* sqlite3.c:132855:9 */ -type PragmaVtabCursor = PragmaVtabCursor1 /* sqlite3.c:132842:33 */ +type PragmaVtabCursor = PragmaVtabCursor1 /* sqlite3.c:132855:33 */ // Pragma virtual table module xConnect method. -func pragmaVtabConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 { /* sqlite3.c:132860:12: */ +func pragmaVtabConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 { /* sqlite3.c:132873:12: */ bp := tls.Alloc(264) defer tls.Free(264) @@ -114451,7 +114470,7 @@ __3: } // Pragma virtual table module xDisconnect method. -func pragmaVtabDisconnect(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:132922:12: */ +func pragmaVtabDisconnect(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:132935:12: */ var pTab uintptr = pVtab Xsqlite3_free(tls, pTab) return SQLITE_OK @@ -114463,7 +114482,7 @@ func pragmaVtabDisconnect(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:132 // query planner to give == constraints on as many hidden parameters as // possible, and especially on the first hidden parameter. So return a // high cost if hidden parameters are unconstrained. -func pragmaVtabBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 { /* sqlite3.c:132935:12: */ +func pragmaVtabBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 { /* sqlite3.c:132948:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -114528,7 +114547,7 @@ __3: } // Create a new cursor for the pragma virtual table -func pragmaVtabOpen(tls *libc.TLS, pVtab uintptr, ppCursor uintptr) int32 { /* sqlite3.c:132972:12: */ +func pragmaVtabOpen(tls *libc.TLS, pVtab uintptr, ppCursor uintptr) int32 { /* sqlite3.c:132985:12: */ var pCsr uintptr pCsr = Xsqlite3_malloc(tls, int32(unsafe.Sizeof(PragmaVtabCursor{}))) if pCsr == uintptr(0) { @@ -114541,7 +114560,7 @@ func pragmaVtabOpen(tls *libc.TLS, pVtab uintptr, ppCursor uintptr) int32 { /* s } // Clear all content from pragma virtual table cursor. -func pragmaVtabCursorClear(tls *libc.TLS, pCsr uintptr) { /* sqlite3.c:132983:13: */ +func pragmaVtabCursorClear(tls *libc.TLS, pCsr uintptr) { /* sqlite3.c:132996:13: */ var i int32 Xsqlite3_finalize(tls, (*PragmaVtabCursor)(unsafe.Pointer(pCsr)).FpPragma) (*PragmaVtabCursor)(unsafe.Pointer(pCsr)).FpPragma = uintptr(0) @@ -114552,7 +114571,7 @@ func pragmaVtabCursorClear(tls *libc.TLS, pCsr uintptr) { /* sqlite3.c:132983:13 } // Close a pragma virtual table cursor -func pragmaVtabClose(tls *libc.TLS, cur uintptr) int32 { /* sqlite3.c:132994:12: */ +func pragmaVtabClose(tls *libc.TLS, cur uintptr) int32 { /* sqlite3.c:133007:12: */ var pCsr uintptr = cur pragmaVtabCursorClear(tls, pCsr) Xsqlite3_free(tls, pCsr) @@ -114560,7 +114579,7 @@ func pragmaVtabClose(tls *libc.TLS, cur uintptr) int32 { /* sqlite3.c:132994:12: } // Advance the pragma virtual table cursor to the next row -func pragmaVtabNext(tls *libc.TLS, pVtabCursor uintptr) int32 { /* sqlite3.c:133002:12: */ +func pragmaVtabNext(tls *libc.TLS, pVtabCursor uintptr) int32 { /* sqlite3.c:133015:12: */ var pCsr uintptr = pVtabCursor var rc int32 = SQLITE_OK @@ -114576,7 +114595,7 @@ func pragmaVtabNext(tls *libc.TLS, pVtabCursor uintptr) int32 { /* sqlite3.c:133 } // Pragma virtual table module xFilter method. -func pragmaVtabFilter(tls *libc.TLS, pVtabCursor uintptr, idxNum int32, idxStr uintptr, argc int32, argv uintptr) int32 { /* sqlite3.c:133020:12: */ +func pragmaVtabFilter(tls *libc.TLS, pVtabCursor uintptr, idxNum int32, idxStr uintptr, argc int32, argv uintptr) int32 { /* sqlite3.c:133033:12: */ bp := tls.Alloc(64) defer tls.Free(64) @@ -114644,14 +114663,14 @@ __3: } // Pragma virtual table module xEof method. -func pragmaVtabEof(tls *libc.TLS, pVtabCursor uintptr) int32 { /* sqlite3.c:133070:12: */ +func pragmaVtabEof(tls *libc.TLS, pVtabCursor uintptr) int32 { /* sqlite3.c:133083:12: */ var pCsr uintptr = pVtabCursor return libc.Bool32((*PragmaVtabCursor)(unsafe.Pointer(pCsr)).FpPragma == uintptr(0)) } // The xColumn method simply returns the corresponding column from // the PRAGMA. -func pragmaVtabColumn(tls *libc.TLS, pVtabCursor uintptr, ctx uintptr, i int32) int32 { /* sqlite3.c:133078:12: */ +func pragmaVtabColumn(tls *libc.TLS, pVtabCursor uintptr, ctx uintptr, i int32) int32 { /* sqlite3.c:133091:12: */ var pCsr uintptr = pVtabCursor var pTab uintptr = (*Sqlite3_vtab_cursor)(unsafe.Pointer(pVtabCursor)).FpVtab if i < int32((*PragmaVtab)(unsafe.Pointer(pTab)).FiHidden) { @@ -114663,7 +114682,7 @@ func pragmaVtabColumn(tls *libc.TLS, pVtabCursor uintptr, ctx uintptr, i int32) } // Pragma virtual table module xRowid method. -func pragmaVtabRowid(tls *libc.TLS, pVtabCursor uintptr, p uintptr) int32 { /* sqlite3.c:133096:12: */ +func pragmaVtabRowid(tls *libc.TLS, pVtabCursor uintptr, p uintptr) int32 { /* sqlite3.c:133109:12: */ var pCsr uintptr = pVtabCursor *(*Sqlite_int64)(unsafe.Pointer(p)) = (*PragmaVtabCursor)(unsafe.Pointer(pCsr)).FiRowid return SQLITE_OK @@ -114681,12 +114700,12 @@ var pragmaVtabModule = Sqlite3_module{ // xCreate - create a table FxEof: 0, // xEof FxColumn: 0, // xColumn - read data FxRowid: 0, // xShadowName -} /* sqlite3.c:133103:29 */ +} /* sqlite3.c:133116:29 */ // Check to see if zTabName is really the name of a pragma. If it is, // then register an eponymous virtual table for that pragma and return // a pointer to the Module object for the new virtual table. -func Xsqlite3PragmaVtabRegister(tls *libc.TLS, db uintptr, zName uintptr) uintptr { /* sqlite3.c:133135:23: */ +func Xsqlite3PragmaVtabRegister(tls *libc.TLS, db uintptr, zName uintptr) uintptr { /* sqlite3.c:133148:23: */ var pName uintptr pName = pragmaLocate(tls, zName+uintptr(7)) @@ -114719,7 +114738,7 @@ func Xsqlite3PragmaVtabRegister(tls *libc.TLS, db uintptr, zName uintptr) uintpt // Fill the InitData structure with an error message that indicates // that the database is corrupt. -func corruptSchema(tls *libc.TLS, pData uintptr, azObj uintptr, zExtra uintptr) { /* sqlite3.c:133172:13: */ +func corruptSchema(tls *libc.TLS, pData uintptr, azObj uintptr, zExtra uintptr) { /* sqlite3.c:133185:13: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -114735,7 +114754,7 @@ func corruptSchema(tls *libc.TLS, pData uintptr, azObj uintptr, zExtra uintptr) zExtra)) (*InitData)(unsafe.Pointer(pData)).Frc = SQLITE_ERROR } else if (*Sqlite3)(unsafe.Pointer(db)).Fflags&uint64(SQLITE_WriteSchema) != 0 { - (*InitData)(unsafe.Pointer(pData)).Frc = Xsqlite3CorruptError(tls, 133195) + (*InitData)(unsafe.Pointer(pData)).Frc = Xsqlite3CorruptError(tls, 133208) } else { var z uintptr var zObj uintptr @@ -114749,7 +114768,7 @@ func corruptSchema(tls *libc.TLS, pData uintptr, azObj uintptr, zExtra uintptr) z = Xsqlite3MPrintf(tls, db, ts+18053, libc.VaList(bp+40, z, zExtra)) } *(*uintptr)(unsafe.Pointer((*InitData)(unsafe.Pointer(pData)).FpzErrMsg)) = z - (*InitData)(unsafe.Pointer(pData)).Frc = Xsqlite3CorruptError(tls, 133202) + (*InitData)(unsafe.Pointer(pData)).Frc = Xsqlite3CorruptError(tls, 133215) } } @@ -114757,12 +114776,12 @@ var azAlterType = [3]uintptr{ ts + 18061, ts + 18068, ts + 18080, -} /* sqlite3.c:133183:23 */ +} /* sqlite3.c:133196:23 */ // Check to see if any sibling index (another index on the same table) // of pIndex has the same root page number, and if it does, return true. // This would indicate a corrupt schema. -func Xsqlite3IndexHasDuplicateRootPage(tls *libc.TLS, pIndex uintptr) int32 { /* sqlite3.c:133211:20: */ +func Xsqlite3IndexHasDuplicateRootPage(tls *libc.TLS, pIndex uintptr) int32 { /* sqlite3.c:133224:20: */ var p uintptr for p = (*Table)(unsafe.Pointer((*Index)(unsafe.Pointer(pIndex)).FpTable)).FpIndex; p != 0; p = (*Index)(unsafe.Pointer(p)).FpNext { if (*Index)(unsafe.Pointer(p)).Ftnum == (*Index)(unsafe.Pointer(pIndex)).Ftnum && p != pIndex { @@ -114784,7 +114803,7 @@ func Xsqlite3IndexHasDuplicateRootPage(tls *libc.TLS, pIndex uintptr) int32 { /* // argv[3] = root page number for table or index. 0 for trigger or view. // argv[4] = SQL text for the CREATE statement. // -func Xsqlite3InitCallback(tls *libc.TLS, pInit uintptr, argc int32, argv uintptr, NotUsed uintptr) int32 { /* sqlite3.c:133245:20: */ +func Xsqlite3InitCallback(tls *libc.TLS, pInit uintptr, argc int32, argv uintptr, NotUsed uintptr) int32 { /* sqlite3.c:133258:20: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -114886,7 +114905,7 @@ func Xsqlite3InitCallback(tls *libc.TLS, pInit uintptr, argc int32, argv uintptr // database. iDb==1 should never be used. iDb>=2 is used for // auxiliary databases. Return one of the SQLITE_ error codes to // indicate success or failure. -func Xsqlite3InitOne(tls *libc.TLS, db uintptr, iDb int32, pzErrMsg uintptr, mFlags U32) int32 { /* sqlite3.c:133348:20: */ +func Xsqlite3InitOne(tls *libc.TLS, db uintptr, iDb int32, pzErrMsg uintptr, mFlags U32) int32 { /* sqlite3.c:133361:20: */ bp := tls.Alloc(124) defer tls.Free(124) @@ -115132,7 +115151,7 @@ __20: pDb = (*Sqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32 goto __22 __21: - if !(rc == SQLITE_OK || (*Sqlite3)(unsafe.Pointer(db)).Fflags&uint64(SQLITE_NoSchemaError) != 0) { + if !(rc == SQLITE_OK || (*Sqlite3)(unsafe.Pointer(db)).Fflags&uint64(SQLITE_NoSchemaError) != 0 && rc != SQLITE_NOMEM) { goto __23 } // Hack: If the SQLITE_NoSchemaError flag is set, then consider @@ -115187,7 +115206,7 @@ __25: // // After a database is initialized, the DB_SchemaLoaded bit is set // bit is set in the flags field of the Db structure. -func Xsqlite3Init(tls *libc.TLS, db uintptr, pzErrMsg uintptr) int32 { /* sqlite3.c:133587:20: */ +func Xsqlite3Init(tls *libc.TLS, db uintptr, pzErrMsg uintptr) int32 { /* sqlite3.c:133600:20: */ var i int32 var rc int32 var commit_internal int32 = libc.BoolInt32(!((*Sqlite3)(unsafe.Pointer(db)).FmDbFlags&U32(DBFLAG_SchemaChange) != 0)) @@ -115219,7 +115238,7 @@ func Xsqlite3Init(tls *libc.TLS, db uintptr, pzErrMsg uintptr) int32 { /* sqlite // This routine is a no-op if the database schema is already initialized. // Otherwise, the schema is loaded. An error code is returned. -func Xsqlite3ReadSchema(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:133619:20: */ +func Xsqlite3ReadSchema(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:133632:20: */ var rc int32 = SQLITE_OK var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb @@ -115238,7 +115257,7 @@ func Xsqlite3ReadSchema(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:1336 // Check schema cookies in all databases. If any cookie is out // of date set pParse->rc to SQLITE_SCHEMA. If all schema cookies // make no changes to pParse->rc. -func schemaIsValid(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:133641:13: */ +func schemaIsValid(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:133654:13: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -115291,7 +115310,7 @@ func schemaIsValid(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:133641:13: */ // // If the same database is attached more than once, the first // attached database is returned. -func Xsqlite3SchemaToIndex(tls *libc.TLS, db uintptr, pSchema uintptr) int32 { /* sqlite3.c:133691:20: */ +func Xsqlite3SchemaToIndex(tls *libc.TLS, db uintptr, pSchema uintptr) int32 { /* sqlite3.c:133704:20: */ var i int32 = -32768 // If pSchema is NULL, then return -32768. This happens when code in @@ -115318,7 +115337,7 @@ func Xsqlite3SchemaToIndex(tls *libc.TLS, db uintptr, pSchema uintptr) int32 { / } // Free all memory allocations in the pParse object -func Xsqlite3ParseObjectReset(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:133721:21: */ +func Xsqlite3ParseObjectReset(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:133734:21: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb Xsqlite3DbFree(tls, db, (*Parse)(unsafe.Pointer(pParse)).FaTableLock) @@ -115374,7 +115393,7 @@ func Xsqlite3ParseObjectReset(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:1337 // return value thereafter. Something like this: // // pObj = sqlite3ParserAddCleanup(pParse, destructor, pObj); -func Xsqlite3ParserAddCleanup(tls *libc.TLS, pParse uintptr, xCleanup uintptr, pPtr uintptr) uintptr { /* sqlite3.c:133776:21: */ +func Xsqlite3ParserAddCleanup(tls *libc.TLS, pParse uintptr, xCleanup uintptr, pPtr uintptr) uintptr { /* sqlite3.c:133789:21: */ var pCleanup uintptr = Xsqlite3DbMallocRaw(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, uint64(unsafe.Sizeof(ParseCleanup{}))) if pCleanup != 0 { (*ParseCleanup)(unsafe.Pointer(pCleanup)).FpNext = (*Parse)(unsafe.Pointer(pParse)).FpCleanup @@ -115397,7 +115416,7 @@ func Xsqlite3ParserAddCleanup(tls *libc.TLS, pParse uintptr, xCleanup uintptr, p // // Caution: Do not confuse this routine with sqlite3ParseObjectInit() which // is generated by Lemon. -func Xsqlite3ParseObjectInit(tls *libc.TLS, pParse uintptr, db uintptr) { /* sqlite3.c:133806:21: */ +func Xsqlite3ParseObjectInit(tls *libc.TLS, pParse uintptr, db uintptr) { /* sqlite3.c:133819:21: */ libc.Xmemset(tls, pParse+uintptr(uint64(uintptr(0)+8)), 0, uint64(uintptr(0)+216)-uint64(uintptr(0)+8)) libc.Xmemset(tls, pParse+uintptr(uint64(uintptr(0)+272)), 0, uint64(unsafe.Sizeof(Parse{}))-uint64(uintptr(0)+272)) @@ -115410,7 +115429,7 @@ func Xsqlite3ParseObjectInit(tls *libc.TLS, pParse uintptr, db uintptr) { /* sql } // Compile the UTF-8 encoded SQL statement zSql into a statement handle. -func sqlite3Prepare(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, prepFlags U32, pReprepare uintptr, ppStmt uintptr, pzTail uintptr) int32 { /* sqlite3.c:133819:12: */ +func sqlite3Prepare(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, prepFlags U32, pReprepare uintptr, ppStmt uintptr, pzTail uintptr) int32 { /* sqlite3.c:133832:12: */ bp := tls.Alloc(424) defer tls.Free(424) @@ -115616,13 +115635,13 @@ end_prepare: return rc } -func sqlite3LockAndPrepare(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, prepFlags U32, pOld uintptr, ppStmt uintptr, pzTail uintptr) int32 { /* sqlite3.c:133962:12: */ +func sqlite3LockAndPrepare(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, prepFlags U32, pOld uintptr, ppStmt uintptr, pzTail uintptr) int32 { /* sqlite3.c:133975:12: */ var rc int32 var cnt int32 = 0 *(*uintptr)(unsafe.Pointer(ppStmt)) = uintptr(0) if !(Xsqlite3SafetyCheckOk(tls, db) != 0) || zSql == uintptr(0) { - return Xsqlite3MisuseError(tls, 133979) + return Xsqlite3MisuseError(tls, 133992) } Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) Xsqlite3BtreeEnterAll(tls, db) @@ -115651,7 +115670,7 @@ func sqlite3LockAndPrepare(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32 // if the statement cannot be recompiled because another connection has // locked the sqlite3_schema table, return SQLITE_LOCKED. If any other error // occurs, return SQLITE_SCHEMA. -func Xsqlite3Reprepare(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:134009:20: */ +func Xsqlite3Reprepare(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:134022:20: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -115690,14 +115709,14 @@ func Xsqlite3Reprepare(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:134009:20: // sqlite3_step(). In the new version, the original SQL text is retained // and the statement is automatically recompiled if an schema change // occurs. -func Xsqlite3_prepare(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, ppStmt uintptr, pzTail uintptr) int32 { /* sqlite3.c:134048:16: */ +func Xsqlite3_prepare(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, ppStmt uintptr, pzTail uintptr) int32 { /* sqlite3.c:134061:16: */ var rc int32 rc = sqlite3LockAndPrepare(tls, db, zSql, nBytes, uint32(0), uintptr(0), ppStmt, pzTail) // VERIFY: F13021 return rc } -func Xsqlite3_prepare_v2(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, ppStmt uintptr, pzTail uintptr) int32 { /* sqlite3.c:134060:16: */ +func Xsqlite3_prepare_v2(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, ppStmt uintptr, pzTail uintptr) int32 { /* sqlite3.c:134073:16: */ var rc int32 // EVIDENCE-OF: R-37923-12173 The sqlite3_prepare_v2() interface works // exactly the same as sqlite3_prepare_v3() with a zero prepFlags @@ -115710,7 +115729,7 @@ func Xsqlite3_prepare_v2(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, return rc } -func Xsqlite3_prepare_v3(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, prepFlags uint32, ppStmt uintptr, pzTail uintptr) int32 { /* sqlite3.c:134078:16: */ +func Xsqlite3_prepare_v3(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, prepFlags uint32, ppStmt uintptr, pzTail uintptr) int32 { /* sqlite3.c:134091:16: */ var rc int32 // EVIDENCE-OF: R-56861-42673 sqlite3_prepare_v3() differs from // sqlite3_prepare_v2() only in having the extra prepFlags parameter, @@ -115727,7 +115746,7 @@ func Xsqlite3_prepare_v3(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, } // Compile the UTF-16 encoded SQL statement zSql into a statement handle. -func sqlite3Prepare16(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, prepFlags U32, ppStmt uintptr, pzTail uintptr) int32 { /* sqlite3.c:134106:12: */ +func sqlite3Prepare16(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, prepFlags U32, ppStmt uintptr, pzTail uintptr) int32 { /* sqlite3.c:134119:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -115740,7 +115759,7 @@ func sqlite3Prepare16(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, pre *(*uintptr)(unsafe.Pointer(ppStmt)) = uintptr(0) if !(Xsqlite3SafetyCheckOk(tls, db) != 0) || zSql == uintptr(0) { - return Xsqlite3MisuseError(tls, 134127) + return Xsqlite3MisuseError(tls, 134140) } if nBytes >= 0 { var sz int32 @@ -115775,21 +115794,21 @@ func sqlite3Prepare16(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, pre // sqlite3_step(). In the new version, the original SQL text is retained // and the statement is automatically recompiled if an schema change // occurs. -func Xsqlite3_prepare16(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, ppStmt uintptr, pzTail uintptr) int32 { /* sqlite3.c:134164:16: */ +func Xsqlite3_prepare16(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, ppStmt uintptr, pzTail uintptr) int32 { /* sqlite3.c:134177:16: */ var rc int32 rc = sqlite3Prepare16(tls, db, zSql, nBytes, uint32(0), ppStmt, pzTail) // VERIFY: F13021 return rc } -func Xsqlite3_prepare16_v2(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, ppStmt uintptr, pzTail uintptr) int32 { /* sqlite3.c:134176:16: */ +func Xsqlite3_prepare16_v2(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, ppStmt uintptr, pzTail uintptr) int32 { /* sqlite3.c:134189:16: */ var rc int32 rc = sqlite3Prepare16(tls, db, zSql, nBytes, uint32(SQLITE_PREPARE_SAVESQL), ppStmt, pzTail) // VERIFY: F13021 return rc } -func Xsqlite3_prepare16_v3(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, prepFlags uint32, ppStmt uintptr, pzTail uintptr) int32 { /* sqlite3.c:134188:16: */ +func Xsqlite3_prepare16_v3(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, prepFlags uint32, ppStmt uintptr, pzTail uintptr) int32 { /* sqlite3.c:134201:16: */ var rc int32 rc = sqlite3Prepare16(tls, db, zSql, nBytes, uint32(SQLITE_PREPARE_SAVESQL)|prepFlags&uint32(SQLITE_PREPARE_MASK), @@ -115823,7 +115842,7 @@ type DistinctCtx1 = struct { F__ccgo_pad1 [2]byte FtabTnct int32 FaddrTnct int32 -} /* sqlite3.c:134229:9 */ +} /* sqlite3.c:134242:9 */ //************* End of prepare.c ******************************************** //************* Begin file select.c ***************************************** @@ -115844,7 +115863,7 @@ type DistinctCtx1 = struct { // An instance of the following object is used to record information about // how to process the DISTINCT keyword, to simplify passing that information // into the selectInnerLoop() routine. -type DistinctCtx = DistinctCtx1 /* sqlite3.c:134229:28 */ +type DistinctCtx = DistinctCtx1 /* sqlite3.c:134242:28 */ // An instance of the following object is used to record information about // the ORDER BY (or GROUP BY) clause of query is being coded. @@ -115874,7 +115893,7 @@ type SortCtx1 = struct { FsortFlags U8 F__ccgo_pad1 [3]byte FpDeferredRowLoad uintptr -} /* sqlite3.c:134255:9 */ +} /* sqlite3.c:134268:9 */ // An instance of the following object is used to record information about // the ORDER BY (or GROUP BY) clause of query is being coded. @@ -115892,19 +115911,19 @@ type SortCtx1 = struct { // When the sorter-reference optimization is used, there is one entry in the // aDefer[] array for each database table that may be read as values are // extracted from the sorter. -type SortCtx = SortCtx1 /* sqlite3.c:134255:24 */ +type SortCtx = SortCtx1 /* sqlite3.c:134268:24 */ type RowLoadInfo1 = struct { FregResult int32 FecelFlags U8 F__ccgo_pad1 [3]byte -} /* sqlite3.c:134255:9 */ +} /* sqlite3.c:134268:9 */ // Delete all the content of a Select structure. Deallocate the structure // itself depending on the value of bFree // // If bFree==1, call sqlite3DbFree() on the p object. // If bFree==0, Leave the first Select object unfreed -func clearSelect(tls *libc.TLS, db uintptr, p uintptr, bFree int32) { /* sqlite3.c:134285:13: */ +func clearSelect(tls *libc.TLS, db uintptr, p uintptr, bFree int32) { /* sqlite3.c:134298:13: */ for p != 0 { var pPrior uintptr = (*Select)(unsafe.Pointer(p)).FpPrior Xsqlite3ExprListDelete(tls, db, (*Select)(unsafe.Pointer(p)).FpEList) @@ -115933,7 +115952,7 @@ func clearSelect(tls *libc.TLS, db uintptr, p uintptr, bFree int32) { /* sqlite3 } // Initialize a SelectDest structure. -func Xsqlite3SelectDestInit(tls *libc.TLS, pDest uintptr, eDest int32, iParm int32) { /* sqlite3.c:134314:21: */ +func Xsqlite3SelectDestInit(tls *libc.TLS, pDest uintptr, eDest int32, iParm int32) { /* sqlite3.c:134327:21: */ (*SelectDest)(unsafe.Pointer(pDest)).FeDest = U8(eDest) (*SelectDest)(unsafe.Pointer(pDest)).FiSDParm = iParm (*SelectDest)(unsafe.Pointer(pDest)).FiSDParm2 = 0 @@ -115944,7 +115963,7 @@ func Xsqlite3SelectDestInit(tls *libc.TLS, pDest uintptr, eDest int32, iParm int // Allocate a new Select structure and return a pointer to that // structure. -func Xsqlite3SelectNew(tls *libc.TLS, pParse uintptr, pEList uintptr, pSrc uintptr, pWhere uintptr, pGroupBy uintptr, pHaving uintptr, pOrderBy uintptr, selFlags U32, pLimit uintptr) uintptr { /* sqlite3.c:134328:23: */ +func Xsqlite3SelectNew(tls *libc.TLS, pParse uintptr, pEList uintptr, pSrc uintptr, pWhere uintptr, pGroupBy uintptr, pHaving uintptr, pOrderBy uintptr, selFlags U32, pLimit uintptr) uintptr { /* sqlite3.c:134341:23: */ bp := tls.Alloc(128) defer tls.Free(128) @@ -115994,14 +116013,14 @@ func Xsqlite3SelectNew(tls *libc.TLS, pParse uintptr, pEList uintptr, pSrc uintp } // Delete the given Select structure and all of its substructures. -func Xsqlite3SelectDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:134386:21: */ +func Xsqlite3SelectDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:134399:21: */ if p != 0 { clearSelect(tls, db, p, 1) } } // Return a pointer to the right-most SELECT statement in a compound. -func findRightmost(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:134393:15: */ +func findRightmost(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:134406:15: */ for (*Select)(unsafe.Pointer(p)).FpNext != 0 { p = (*Select)(unsafe.Pointer(p)).FpNext } @@ -116023,7 +116042,7 @@ func findRightmost(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:134393:15: * // // If an illegal or unsupported join type is seen, then still return // a join type, but put an error in the pParse structure. -func Xsqlite3JoinType(tls *libc.TLS, pParse uintptr, pA uintptr, pB uintptr, pC uintptr) int32 { /* sqlite3.c:134415:20: */ +func Xsqlite3JoinType(tls *libc.TLS, pParse uintptr, pA uintptr, pB uintptr, pC uintptr) int32 { /* sqlite3.c:134428:20: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -116077,7 +116096,7 @@ func Xsqlite3JoinType(tls *libc.TLS, pParse uintptr, pA uintptr, pB uintptr, pC return jointype } -var zKeyText = *(*[34]int8)(unsafe.Pointer(ts + 18382)) /* sqlite3.c:134420:21 */ +var zKeyText = *(*[34]int8)(unsafe.Pointer(ts + 18382)) /* sqlite3.c:134433:21 */ var aKeyword = [7]struct { Fi U8 FnChar U8 @@ -116090,11 +116109,11 @@ var aKeyword = [7]struct { /* full */ {Fi: U8(19), FnChar: U8(4), Fcode: U8(JT_LEFT | JT_RIGHT | JT_OUTER)}, /* inner */ {Fi: U8(23), FnChar: U8(5), Fcode: U8(JT_INNER)}, /* cross */ {Fi: U8(28), FnChar: U8(5), Fcode: U8(JT_INNER | JT_CROSS)}, -} /* sqlite3.c:134425:5 */ +} /* sqlite3.c:134438:5 */ // Return the index of a column in a table. Return -1 if the column // is not contained in the table. -func Xsqlite3ColumnIndex(tls *libc.TLS, pTab uintptr, zCol uintptr) int32 { /* sqlite3.c:134476:20: */ +func Xsqlite3ColumnIndex(tls *libc.TLS, pTab uintptr, zCol uintptr) int32 { /* sqlite3.c:134489:20: */ var i int32 var h U8 = Xsqlite3StrIHash(tls, zCol) var pCol uintptr @@ -116128,7 +116147,7 @@ __3: // of the matching column and return TRUE. // // If not found, return FALSE. -func tableAndColumnIndex(tls *libc.TLS, pSrc uintptr, N int32, zCol uintptr, piTab uintptr, piCol uintptr, bIgnoreHidden int32) int32 { /* sqlite3.c:134495:12: */ +func tableAndColumnIndex(tls *libc.TLS, pSrc uintptr, N int32, zCol uintptr, piTab uintptr, piCol uintptr, bIgnoreHidden int32) int32 { /* sqlite3.c:134508:12: */ var i int32 // For looping over tables in pSrc var iCol int32 // Index of column matching zCol @@ -116156,7 +116175,7 @@ func tableAndColumnIndex(tls *libc.TLS, pSrc uintptr, N int32, zCol uintptr, piT // where tab1 is the iSrc'th table in SrcList pSrc and tab2 is the // (iSrc+1)'th. Column col1 is column iColLeft of tab1, and col2 is // column iColRight of tab2. -func addWhereTerm(tls *libc.TLS, pParse uintptr, pSrc uintptr, iLeft int32, iColLeft int32, iRight int32, iColRight int32, isOuterJoin int32, ppWhere uintptr) { /* sqlite3.c:134533:13: */ +func addWhereTerm(tls *libc.TLS, pParse uintptr, pSrc uintptr, iLeft int32, iColLeft int32, iRight int32, iColRight int32, isOuterJoin int32, ppWhere uintptr) { /* sqlite3.c:134546:13: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb var pE1 uintptr var pE2 uintptr @@ -116201,7 +116220,7 @@ func addWhereTerm(tls *libc.TLS, pParse uintptr, pSrc uintptr, iLeft int32, iCol // defer the handling of t1.x=5, it will be processed immediately // after the t1 loop and rows with t1.x!=5 will never appear in // the output, which is incorrect. -func Xsqlite3SetJoinExpr(tls *libc.TLS, p uintptr, iTable int32) { /* sqlite3.c:134595:21: */ +func Xsqlite3SetJoinExpr(tls *libc.TLS, p uintptr, iTable int32) { /* sqlite3.c:134608:21: */ for p != 0 { *(*U32)(unsafe.Pointer(p + 4)) |= U32(EP_FromJoin) @@ -116225,7 +116244,7 @@ func Xsqlite3SetJoinExpr(tls *libc.TLS, p uintptr, iTable int32) { /* sqlite3.c: // an ordinary term that omits the EP_FromJoin mark. // // This happens when a LEFT JOIN is simplified into an ordinary JOIN. -func unsetJoinExpr(tls *libc.TLS, p uintptr, iTable int32) { /* sqlite3.c:134621:13: */ +func unsetJoinExpr(tls *libc.TLS, p uintptr, iTable int32) { /* sqlite3.c:134634:13: */ for p != 0 { if (*Expr)(unsafe.Pointer(p)).Fflags&U32(EP_FromJoin) != U32(0) && (iTable < 0 || *(*int32)(unsafe.Pointer(p + 52)) == iTable) { @@ -116260,7 +116279,7 @@ func unsetJoinExpr(tls *libc.TLS, p uintptr, iTable int32) { /* sqlite3.c:134621 // also attached to the left entry. // // This routine returns the number of errors encountered. -func sqliteProcessJoin(tls *libc.TLS, pParse uintptr, p uintptr) int32 { /* sqlite3.c:134658:12: */ +func sqliteProcessJoin(tls *libc.TLS, pParse uintptr, p uintptr) int32 { /* sqlite3.c:134671:12: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -116374,11 +116393,11 @@ __3: // An instance of this object holds information (beyond pParse and pSelect) // needed to load the next result row that is to be added to the sorter. -type RowLoadInfo = RowLoadInfo1 /* sqlite3.c:134750:28 */ +type RowLoadInfo = RowLoadInfo1 /* sqlite3.c:134763:28 */ // This routine does the work of loading query data into an array of // registers so that it can be added to the sorter. -func innerLoopLoadRow(tls *libc.TLS, pParse uintptr, pSelect uintptr, pInfo uintptr) { /* sqlite3.c:134764:13: */ +func innerLoopLoadRow(tls *libc.TLS, pParse uintptr, pSelect uintptr, pInfo uintptr) { /* sqlite3.c:134777:13: */ Xsqlite3ExprCodeExprList(tls, pParse, (*Select)(unsafe.Pointer(pSelect)).FpEList, (*RowLoadInfo)(unsafe.Pointer(pInfo)).FregResult, 0, (*RowLoadInfo)(unsafe.Pointer(pInfo)).FecelFlags) } @@ -116387,7 +116406,7 @@ func innerLoopLoadRow(tls *libc.TLS, pParse uintptr, pSelect uintptr, pInfo uint // added into the sorter. // // Return the register in which the result is stored. -func makeSorterRecord(tls *libc.TLS, pParse uintptr, pSort uintptr, pSelect uintptr, regBase int32, nBase int32) int32 { /* sqlite3.c:134785:12: */ +func makeSorterRecord(tls *libc.TLS, pParse uintptr, pSort uintptr, pSelect uintptr, regBase int32, nBase int32) int32 { /* sqlite3.c:134798:12: */ var nOBSat int32 = (*SortCtx)(unsafe.Pointer(pSort)).FnOBSat var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe var regOut int32 = libc.PreIncInt32(&(*Parse)(unsafe.Pointer(pParse)).FnMem, 1) @@ -116400,7 +116419,7 @@ func makeSorterRecord(tls *libc.TLS, pParse uintptr, pSort uintptr, pSelect uint // Generate code that will push the record in registers regData // through regData+nData-1 onto the sorter. -func pushOntoSorter(tls *libc.TLS, pParse uintptr, pSort uintptr, pSelect uintptr, regData int32, regOrigData int32, nData int32, nPrefixReg int32) { /* sqlite3.c:134806:13: */ +func pushOntoSorter(tls *libc.TLS, pParse uintptr, pSort uintptr, pSelect uintptr, regData int32, regOrigData int32, nData int32, nPrefixReg int32) { /* sqlite3.c:134819:13: */ var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe // Stmt under construction var bSeq int32 = libc.Bool32(int32((*SortCtx)(unsafe.Pointer(pSort)).FsortFlags)&SORTFLAG_UseSorter == 0) var nExpr int32 = (*ExprList)(unsafe.Pointer((*SortCtx)(unsafe.Pointer(pSort)).FpOrderBy)).FnExpr // No. of ORDER BY terms @@ -116543,7 +116562,7 @@ func pushOntoSorter(tls *libc.TLS, pParse uintptr, pSort uintptr, pSelect uintpt } // Add code to implement the OFFSET -func codeOffset(tls *libc.TLS, v uintptr, iOffset int32, iContinue int32) { /* sqlite3.c:134948:13: */ +func codeOffset(tls *libc.TLS, v uintptr, iOffset int32, iContinue int32) { /* sqlite3.c:134961:13: */ if iOffset > 0 { Xsqlite3VdbeAddOp3(tls, v, OP_IfPos, iOffset, iContinue, 1) @@ -116591,7 +116610,7 @@ func codeOffset(tls *libc.TLS, v uintptr, iOffset int32, iContinue int32) { /* s // how many elements there are in the array of registers and (b) the // collation sequences that should be used for the comparisons if // eTnctType is WHERE_DISTINCT_ORDERED. -func codeDistinct(tls *libc.TLS, pParse uintptr, eTnctType int32, iTab int32, addrRepeat int32, pEList uintptr, regElem int32) int32 { /* sqlite3.c:135002:12: */ +func codeDistinct(tls *libc.TLS, pParse uintptr, eTnctType int32, iTab int32, addrRepeat int32, pEList uintptr, regElem int32) int32 { /* sqlite3.c:135015:12: */ var iRet int32 = 0 var nResultCol int32 = (*ExprList)(unsafe.Pointer(pEList)).FnExpr var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe @@ -116672,7 +116691,7 @@ func codeDistinct(tls *libc.TLS, pParse uintptr, eTnctType int32, iTab int32, ad // The ephemeral table is not needed. But we do need register // iVal to be initialized to NULL. So change the OP_OpenEphemeral // into an OP_Null on the iVal register. -func fixDistinctOpenEph(tls *libc.TLS, pParse uintptr, eTnctType int32, iVal int32, iOpenEphAddr int32) { /* sqlite3.c:135086:13: */ +func fixDistinctOpenEph(tls *libc.TLS, pParse uintptr, eTnctType int32, iVal int32, iOpenEphAddr int32) { /* sqlite3.c:135099:13: */ if (*Parse)(unsafe.Pointer(pParse)).FnErr == 0 && (eTnctType == WHERE_DISTINCT_UNIQUE || eTnctType == WHERE_DISTINCT_ORDERED) { var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe @@ -116700,7 +116719,7 @@ func fixDistinctOpenEph(tls *libc.TLS, pParse uintptr, eTnctType int32, iVal int // are evaluated in order to get the data for this row. If srcTab is // zero or more, then data is pulled from srcTab and p->pEList is used only // to get the number of columns and the collation sequence for each column. -func selectInnerLoop(tls *libc.TLS, pParse uintptr, p uintptr, srcTab int32, pSort uintptr, pDistinct uintptr, pDest uintptr, iContinue int32, iBreak int32) { /* sqlite3.c:135208:13: */ +func selectInnerLoop(tls *libc.TLS, pParse uintptr, p uintptr, srcTab int32, pSort uintptr, pDistinct uintptr, pDest uintptr, iContinue int32, iBreak int32) { /* sqlite3.c:135221:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -117056,7 +117075,7 @@ func selectInnerLoop(tls *libc.TLS, pParse uintptr, p uintptr, srcTab int32, pSo // Allocate a KeyInfo object sufficient for an index of N key columns and // X extra columns. -func Xsqlite3KeyInfoAlloc(tls *libc.TLS, db uintptr, N int32, X int32) uintptr { /* sqlite3.c:135602:24: */ +func Xsqlite3KeyInfoAlloc(tls *libc.TLS, db uintptr, N int32, X int32) uintptr { /* sqlite3.c:135615:24: */ var nExtra int32 = int32(uint64(N+X)*(uint64(unsafe.Sizeof(uintptr(0)))+uint64(1)) - uint64(unsafe.Sizeof(uintptr(0)))) var p uintptr = Xsqlite3DbMallocRawNN(tls, db, uint64(uint64(unsafe.Sizeof(KeyInfo{}))+uint64(nExtra))) if p != 0 { @@ -117074,7 +117093,7 @@ func Xsqlite3KeyInfoAlloc(tls *libc.TLS, db uintptr, N int32, X int32) uintptr { } // Deallocate a KeyInfo object -func Xsqlite3KeyInfoUnref(tls *libc.TLS, p uintptr) { /* sqlite3.c:135622:21: */ +func Xsqlite3KeyInfoUnref(tls *libc.TLS, p uintptr) { /* sqlite3.c:135635:21: */ if p != 0 { (*KeyInfo)(unsafe.Pointer(p)).FnRef-- @@ -117085,7 +117104,7 @@ func Xsqlite3KeyInfoUnref(tls *libc.TLS, p uintptr) { /* sqlite3.c:135622:21: */ } // Make a new pointer to a KeyInfo object -func Xsqlite3KeyInfoRef(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:135633:24: */ +func Xsqlite3KeyInfoRef(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:135646:24: */ if p != 0 { (*KeyInfo)(unsafe.Pointer(p)).FnRef++ @@ -117105,7 +117124,7 @@ func Xsqlite3KeyInfoRef(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:135633: // Space to hold the KeyInfo structure is obtained from malloc. The calling // function is responsible for seeing that this structure is eventually // freed. -func Xsqlite3KeyInfoFromExprList(tls *libc.TLS, pParse uintptr, pList uintptr, iStart int32, nExtra int32) uintptr { /* sqlite3.c:135665:24: */ +func Xsqlite3KeyInfoFromExprList(tls *libc.TLS, pParse uintptr, pList uintptr, iStart int32, nExtra int32) uintptr { /* sqlite3.c:135678:24: */ var nExpr int32 var pInfo uintptr var pItem uintptr @@ -117139,7 +117158,7 @@ func Xsqlite3KeyInfoFromExprList(tls *libc.TLS, pParse uintptr, pList uintptr, i } // Name of the connection operator, used for error messages. -func Xsqlite3SelectOpName(tls *libc.TLS, id int32) uintptr { /* sqlite3.c:135692:27: */ +func Xsqlite3SelectOpName(tls *libc.TLS, id int32) uintptr { /* sqlite3.c:135705:27: */ var z uintptr switch id { case TK_ALL: @@ -117166,7 +117185,7 @@ func Xsqlite3SelectOpName(tls *libc.TLS, id int32) uintptr { /* sqlite3.c:135692 // // where xxx is one of "DISTINCT", "ORDER BY" or "GROUP BY". Exactly which // is determined by the zUsage argument. -func explainTempTable(tls *libc.TLS, pParse uintptr, zUsage uintptr) { /* sqlite3.c:135714:13: */ +func explainTempTable(tls *libc.TLS, pParse uintptr, zUsage uintptr) { /* sqlite3.c:135727:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -117183,7 +117202,7 @@ func explainTempTable(tls *libc.TLS, pParse uintptr, zUsage uintptr) { /* sqlite // then the results were placed in a sorter. After the loop is terminated // we need to run the sorter and output the results. The following // routine generates the code needed to do that. -func generateSortTail(tls *libc.TLS, pParse uintptr, p uintptr, pSort uintptr, nColumn int32, pDest uintptr) { /* sqlite3.c:135740:13: */ +func generateSortTail(tls *libc.TLS, pParse uintptr, p uintptr, pSort uintptr, nColumn int32, pDest uintptr) { /* sqlite3.c:135753:13: */ var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe // The prepared statement var addrBreak int32 = (*SortCtx)(unsafe.Pointer(pSort)).FlabelDone // Jump here to exit loop var addrContinue int32 = Xsqlite3VdbeMakeLabel(tls, pParse) // Jump here for next cycle @@ -117362,7 +117381,7 @@ func generateSortTail(tls *libc.TLS, pParse uintptr, p uintptr, pSort uintptr, n // // This routine has either 3 or 6 parameters depending on whether or not // the SQLITE_ENABLE_COLUMN_METADATA compile-time option is used. -func columnTypeImpl(tls *libc.TLS, pNC uintptr, pExpr uintptr, pzOrigDb uintptr, pzOrigTab uintptr, pzOrigCol uintptr) uintptr { /* sqlite3.c:135968:19: */ +func columnTypeImpl(tls *libc.TLS, pNC uintptr, pExpr uintptr, pzOrigDb uintptr, pzOrigTab uintptr, pzOrigCol uintptr) uintptr { /* sqlite3.c:135981:19: */ bp := tls.Alloc(136) defer tls.Free(136) @@ -117486,7 +117505,7 @@ func columnTypeImpl(tls *libc.TLS, pNC uintptr, pExpr uintptr, pzOrigDb uintptr, // Generate code that will tell the VDBE the declaration types of columns // in the result set. -func generateColumnTypes(tls *libc.TLS, pParse uintptr, pTabList uintptr, pEList uintptr) { /* sqlite3.c:136119:13: */ +func generateColumnTypes(tls *libc.TLS, pParse uintptr, pTabList uintptr, pEList uintptr) { /* sqlite3.c:136132:13: */ bp := tls.Alloc(80) defer tls.Free(80) @@ -117543,7 +117562,7 @@ func generateColumnTypes(tls *libc.TLS, pParse uintptr, pTabList uintptr, pEList // full=ON, short=ANY: If the result refers directly to a table column, // then the result column name with the table name // prefix, ex: TABLE.COLUMN. Otherwise use zSpan. -func Xsqlite3GenerateColumnNames(tls *libc.TLS, pParse uintptr, pSelect uintptr) { /* sqlite3.c:136186:21: */ +func Xsqlite3GenerateColumnNames(tls *libc.TLS, pParse uintptr, pSelect uintptr) { /* sqlite3.c:136199:21: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -117643,7 +117662,7 @@ func Xsqlite3GenerateColumnNames(tls *libc.TLS, pParse uintptr, pSelect uintptr) // when modifying this routine to avoid breaking legacy. // // See Also: sqlite3GenerateColumnNames() -func Xsqlite3ColumnsFromExprList(tls *libc.TLS, pParse uintptr, pEList uintptr, pnCol uintptr, paCol uintptr) int32 { /* sqlite3.c:136279:20: */ +func Xsqlite3ColumnsFromExprList(tls *libc.TLS, pParse uintptr, pEList uintptr, pnCol uintptr, paCol uintptr) int32 { /* sqlite3.c:136292:20: */ bp := tls.Alloc(60) defer tls.Free(60) @@ -117775,7 +117794,7 @@ __3: // // This routine requires that all identifiers in the SELECT // statement be resolved. -func Xsqlite3SelectAddColumnTypeAndCollation(tls *libc.TLS, pParse uintptr, pTab uintptr, pSelect uintptr, aff int8) { /* sqlite3.c:136386:21: */ +func Xsqlite3SelectAddColumnTypeAndCollation(tls *libc.TLS, pParse uintptr, pTab uintptr, pSelect uintptr, aff int8) { /* sqlite3.c:136399:21: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -117844,7 +117863,7 @@ __3: // Given a SELECT statement, generate a Table structure that describes // the result set of that SELECT. -func Xsqlite3ResultSetOfSelect(tls *libc.TLS, pParse uintptr, pSelect uintptr, aff int8) uintptr { /* sqlite3.c:136441:22: */ +func Xsqlite3ResultSetOfSelect(tls *libc.TLS, pParse uintptr, pSelect uintptr, aff int8) uintptr { /* sqlite3.c:136454:22: */ var pTab uintptr var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb var savedFlags U64 @@ -117879,7 +117898,7 @@ func Xsqlite3ResultSetOfSelect(tls *libc.TLS, pParse uintptr, pSelect uintptr, a // Get a VDBE for the given parser context. Create a new one if necessary. // If an error occurs, return NULL and leave a message in pParse. -func Xsqlite3GetVdbe(tls *libc.TLS, pParse uintptr) uintptr { /* sqlite3.c:136474:21: */ +func Xsqlite3GetVdbe(tls *libc.TLS, pParse uintptr) uintptr { /* sqlite3.c:136487:21: */ if (*Parse)(unsafe.Pointer(pParse)).FpVdbe != 0 { return (*Parse)(unsafe.Pointer(pParse)).FpVdbe } @@ -117911,7 +117930,7 @@ func Xsqlite3GetVdbe(tls *libc.TLS, pParse uintptr) uintptr { /* sqlite3.c:13647 // redefined. The UNION ALL operator uses this property to force // the reuse of the same limit and offset registers across multiple // SELECT statements. -func computeLimitRegisters(tls *libc.TLS, pParse uintptr, p uintptr, iBreak int32) { /* sqlite3.c:136510:13: */ +func computeLimitRegisters(tls *libc.TLS, pParse uintptr, p uintptr, iBreak int32) { /* sqlite3.c:136523:13: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -117968,7 +117987,7 @@ func computeLimitRegisters(tls *libc.TLS, pParse uintptr, p uintptr, iBreak int3 // // The collating sequence for the compound select is taken from the // left-most term of the select that has a collating sequence. -func multiSelectCollSeq(tls *libc.TLS, pParse uintptr, p uintptr, iCol int32) uintptr { /* sqlite3.c:136567:16: */ +func multiSelectCollSeq(tls *libc.TLS, pParse uintptr, p uintptr, iCol int32) uintptr { /* sqlite3.c:136580:16: */ var pRet uintptr if (*Select)(unsafe.Pointer(p)).FpPrior != 0 { pRet = multiSelectCollSeq(tls, pParse, (*Select)(unsafe.Pointer(p)).FpPrior, iCol) @@ -117992,7 +118011,7 @@ func multiSelectCollSeq(tls *libc.TLS, pParse uintptr, p uintptr, iCol int32) ui // Space to hold the KeyInfo structure is obtained from malloc. The calling // function is responsible for ensuring that this structure is eventually // freed. -func multiSelectOrderByKeyInfo(tls *libc.TLS, pParse uintptr, p uintptr, nExtra int32) uintptr { /* sqlite3.c:136593:16: */ +func multiSelectOrderByKeyInfo(tls *libc.TLS, pParse uintptr, p uintptr, nExtra int32) uintptr { /* sqlite3.c:136606:16: */ var pOrderBy uintptr = (*Select)(unsafe.Pointer(p)).FpOrderBy var nOrderBy int32 if pOrderBy != uintptr(0) { @@ -118061,7 +118080,7 @@ func multiSelectOrderByKeyInfo(tls *libc.TLS, pParse uintptr, p uintptr, nExtra // with a positive value, then the first OFFSET outputs are discarded rather // than being sent to pDest. The LIMIT count does not begin until after OFFSET // rows have been skipped. -func generateWithRecursiveQuery(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) { /* sqlite3.c:136659:13: */ +func generateWithRecursiveQuery(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) { /* sqlite3.c:136672:13: */ bp := tls.Alloc(40) defer tls.Free(40) @@ -118302,7 +118321,7 @@ end_of_recursive_query: // clause occurs within scalar expression (ex: "SELECT (VALUES(1),(2),(3))"). // The sqlite3CodeSubselect will have added the LIMIT 1 clause in tht case. // Since the limit is exactly 1, we only need to evalutes the left-most VALUES. -func multiSelectValues(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) int32 { /* sqlite3.c:136835:12: */ +func multiSelectValues(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) int32 { /* sqlite3.c:136848:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -118342,7 +118361,7 @@ func multiSelectValues(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) // Return true if the SELECT statement which is known to be the recursive // part of a recursive CTE still has its anchor terms attached. If the // anchor terms have already been removed, then return false. -func hasAnchor(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:136872:12: */ +func hasAnchor(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:136885:12: */ for p != 0 && (*Select)(unsafe.Pointer(p)).FselFlags&U32(SF_Recursive) != U32(0) { p = (*Select)(unsafe.Pointer(p)).FpPrior } @@ -118378,7 +118397,7 @@ func hasAnchor(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:136872:12: */ // // Notice that because of the way SQLite parses compound SELECTs, the // individual selects always group from left to right. -func multiSelect(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) int32 { /* sqlite3.c:136908:12: */ +func multiSelect(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) int32 { /* sqlite3.c:136921:12: */ bp := tls.Alloc(144) defer tls.Free(144) @@ -118841,7 +118860,7 @@ __44: // Error message for when two or more terms of a compound select have different // size result sets. -func Xsqlite3SelectWrongNumTermsError(tls *libc.TLS, pParse uintptr, p uintptr) { /* sqlite3.c:137264:21: */ +func Xsqlite3SelectWrongNumTermsError(tls *libc.TLS, pParse uintptr, p uintptr) { /* sqlite3.c:137277:21: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -118872,7 +118891,7 @@ func Xsqlite3SelectWrongNumTermsError(tls *libc.TLS, pParse uintptr, p uintptr) // // If the LIMIT found in p->iLimit is reached, jump immediately to // iBreak. -func generateOutputSubroutine(tls *libc.TLS, pParse uintptr, p uintptr, pIn uintptr, pDest uintptr, regReturn int32, regPrev int32, pKeyInfo uintptr, iBreak int32) int32 { /* sqlite3.c:137294:12: */ +func generateOutputSubroutine(tls *libc.TLS, pParse uintptr, p uintptr, pIn uintptr, pDest uintptr, regReturn int32, regPrev int32, pKeyInfo uintptr, iBreak int32) int32 { /* sqlite3.c:137307:12: */ var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe var iContinue int32 var addr int32 @@ -119068,7 +119087,7 @@ func generateOutputSubroutine(tls *libc.TLS, pParse uintptr, p uintptr, pIn uint // actually called using Gosub and they do not Return. EofA and EofB loop // until all data is exhausted then jump to the "end" labe. AltB, AeqB, // and AgtB jump to either L2 or to one of EofA or EofB. -func multiSelectOrderBy(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) int32 { /* sqlite3.c:137502:12: */ +func multiSelectOrderBy(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) int32 { /* sqlite3.c:137515:12: */ bp := tls.Alloc(88) defer tls.Free(88) @@ -119418,14 +119437,14 @@ type SubstContext1 = struct { FisLeftJoin int32 F__ccgo_pad1 [4]byte FpEList uintptr -} /* sqlite3.c:137827:9 */ +} /* sqlite3.c:137840:9 */ // An instance of the SubstContext object describes an substitution edit // to be performed on a parse tree. // // All references to columns in table iTable are to be replaced by corresponding // expressions in pEList. -type SubstContext = SubstContext1 /* sqlite3.c:137833:3 */ +type SubstContext = SubstContext1 /* sqlite3.c:137846:3 */ // Scan through the expression pExpr. Replace every reference to // a column in table number iTable with a copy of the iColumn-th @@ -119438,7 +119457,7 @@ type SubstContext = SubstContext1 /* sqlite3.c:137833:3 */ // FORM clause entry is iTable. This routine makes the necessary // changes to pExpr so that it refers directly to the source table // of the subquery rather the result set of the subquery. -func substExpr(tls *libc.TLS, pSubst uintptr, pExpr uintptr) uintptr { /* sqlite3.c:137852:13: */ +func substExpr(tls *libc.TLS, pSubst uintptr, pExpr uintptr) uintptr { /* sqlite3.c:137865:13: */ bp := tls.Alloc(72) defer tls.Free(72) @@ -119521,7 +119540,7 @@ func substExpr(tls *libc.TLS, pSubst uintptr, pExpr uintptr) uintptr { /* sqlite return pExpr } -func substExprList(tls *libc.TLS, pSubst uintptr, pList uintptr) { /* sqlite3.c:137937:13: */ +func substExprList(tls *libc.TLS, pSubst uintptr, pList uintptr) { /* sqlite3.c:137950:13: */ var i int32 if pList == uintptr(0) { return @@ -119531,7 +119550,7 @@ func substExprList(tls *libc.TLS, pSubst uintptr, pList uintptr) { /* sqlite3.c: } } -func substSelect(tls *libc.TLS, pSubst uintptr, p uintptr, doPrior int32) { /* sqlite3.c:137947:13: */ +func substSelect(tls *libc.TLS, pSubst uintptr, p uintptr, doPrior int32) { /* sqlite3.c:137960:13: */ var pSrc uintptr var pItem uintptr var i int32 @@ -119574,7 +119593,7 @@ func substSelect(tls *libc.TLS, pSubst uintptr, p uintptr, doPrior int32) { /* s // // This routine scans the entire SELECT statement and recomputes the // pSrcItem->colUsed mask. -func recomputeColumnsUsedExpr(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:137982:12: */ +func recomputeColumnsUsedExpr(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:137995:12: */ var pItem uintptr if int32((*Expr)(unsafe.Pointer(pExpr)).Fop) != TK_COLUMN { return WRC_Continue @@ -119590,7 +119609,7 @@ func recomputeColumnsUsedExpr(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int return WRC_Continue } -func recomputeColumnsUsed(tls *libc.TLS, pSelect uintptr, pSrcItem uintptr) { /* sqlite3.c:137991:13: */ +func recomputeColumnsUsed(tls *libc.TLS, pSelect uintptr, pSrcItem uintptr) { /* sqlite3.c:138004:13: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -119622,7 +119641,7 @@ func recomputeColumnsUsed(tls *libc.TLS, pSelect uintptr, pSrcItem uintptr) { /* // // If pSrc contains any sub-selects, call this routine recursively // on the FROM clause of each such sub-select, with iExcept set to -1. -func srclistRenumberCursors(tls *libc.TLS, pParse uintptr, aCsrMap uintptr, pSrc uintptr, iExcept int32) { /* sqlite3.c:138020:13: */ +func srclistRenumberCursors(tls *libc.TLS, pParse uintptr, aCsrMap uintptr, pSrc uintptr, iExcept int32) { /* sqlite3.c:138033:13: */ var i int32 var pItem uintptr i = 0 @@ -119655,7 +119674,7 @@ __3: } // *piCursor is a cursor number. Change it if it needs to be mapped. -func renumberCursorDoMapping(tls *libc.TLS, pWalker uintptr, piCursor uintptr) { /* sqlite3.c:138046:13: */ +func renumberCursorDoMapping(tls *libc.TLS, pWalker uintptr, piCursor uintptr) { /* sqlite3.c:138059:13: */ var aCsrMap uintptr = *(*uintptr)(unsafe.Pointer(pWalker + 40)) var iCsr int32 = *(*int32)(unsafe.Pointer(piCursor)) if iCsr < *(*int32)(unsafe.Pointer(aCsrMap)) && *(*int32)(unsafe.Pointer(aCsrMap + uintptr(iCsr+1)*4)) > 0 { @@ -119665,7 +119684,7 @@ func renumberCursorDoMapping(tls *libc.TLS, pWalker uintptr, piCursor uintptr) { // Expression walker callback used by renumberCursors() to update // Expr objects to match newly assigned cursor numbers. -func renumberCursorsCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:138058:12: */ +func renumberCursorsCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:138071:12: */ var op int32 = int32((*Expr)(unsafe.Pointer(pExpr)).Fop) if op == TK_COLUMN || op == TK_IF_NULL_ROW { renumberCursorDoMapping(tls, pWalker, pExpr+44) @@ -119692,7 +119711,7 @@ func renumberCursorsCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* // * the array entries for all cursor numbers that do *not* appear in // FROM clauses of the select statement as described above are // initialized to zero. -func renumberCursors(tls *libc.TLS, pParse uintptr, p uintptr, iExcept int32, aCsrMap uintptr) { /* sqlite3.c:138087:13: */ +func renumberCursors(tls *libc.TLS, pParse uintptr, p uintptr, iExcept int32, aCsrMap uintptr) { /* sqlite3.c:138100:13: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -119862,7 +119881,7 @@ func renumberCursors(tls *libc.TLS, pParse uintptr, p uintptr, iExcept int32, aC // // All of the expression analysis must occur on both the outer query and // the subquery before this routine runs. -func flattenSubquery(tls *libc.TLS, pParse uintptr, p uintptr, iFrom int32, isAgg int32) int32 { /* sqlite3.c:138258:12: */ +func flattenSubquery(tls *libc.TLS, pParse uintptr, p uintptr, iFrom int32, isAgg int32) int32 { /* sqlite3.c:138271:12: */ bp := tls.Alloc(80) defer tls.Free(80) @@ -120287,7 +120306,7 @@ __3: // A structure to keep track of all of the column values that are fixed to // a known value due to WHERE clause constraints of the form COLUMN=VALUE. -type WhereConst = WhereConst1 /* sqlite3.c:138682:27 */ +type WhereConst = WhereConst1 /* sqlite3.c:138695:27 */ // Add a new entry to the pConst object. Except, do not add duplicate // pColumn entires. Also, do not add if doing so would not be appropriate. @@ -120295,7 +120314,7 @@ type WhereConst = WhereConst1 /* sqlite3.c:138682:27 */ // The caller guarantees the pColumn is a column and pValue is a constant. // This routine has to do some additional checks before completing the // insert. -func constInsert(tls *libc.TLS, pConst uintptr, pColumn uintptr, pValue uintptr, pExpr uintptr) { /* sqlite3.c:138700:13: */ +func constInsert(tls *libc.TLS, pConst uintptr, pColumn uintptr, pValue uintptr, pExpr uintptr) { /* sqlite3.c:138713:13: */ var i int32 if (*Expr)(unsafe.Pointer(pColumn)).Fflags&U32(EP_FixedCol) != U32(0) { @@ -120337,7 +120356,7 @@ func constInsert(tls *libc.TLS, pConst uintptr, pColumn uintptr, pValue uintptr, // is a constant expression and where the term must be true because it // is part of the AND-connected terms of the expression. For each term // found, add it to the pConst structure. -func findConstInWhere(tls *libc.TLS, pConst uintptr, pExpr uintptr) { /* sqlite3.c:138748:13: */ +func findConstInWhere(tls *libc.TLS, pConst uintptr, pExpr uintptr) { /* sqlite3.c:138761:13: */ var pRight uintptr var pLeft uintptr if pExpr == uintptr(0) { @@ -120372,7 +120391,7 @@ func findConstInWhere(tls *libc.TLS, pConst uintptr, pExpr uintptr) { /* sqlite3 // then overwrite it with the corresponding value. Except, do not do so // if argument bIgnoreAffBlob is non-zero and the affinity of pExpr // is SQLITE_AFF_BLOB. -func propagateConstantExprRewriteOne(tls *libc.TLS, pConst uintptr, pExpr uintptr, bIgnoreAffBlob int32) int32 { /* sqlite3.c:138779:12: */ +func propagateConstantExprRewriteOne(tls *libc.TLS, pConst uintptr, pExpr uintptr, bIgnoreAffBlob int32) int32 { /* sqlite3.c:138792:12: */ var i int32 if *(*U8)(unsafe.Pointer((*WhereConst)(unsafe.Pointer(pConst)).FpOomFault)) != 0 { return WRC_Prune @@ -120426,7 +120445,7 @@ func propagateConstantExprRewriteOne(tls *libc.TLS, pConst uintptr, pExpr uintpt // uses an affinity other than TEXT and one of its immediate // children is a column that matches one of the columns in // pWalker->u.pConst. -func propagateConstantExprRewrite(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:138828:12: */ +func propagateConstantExprRewrite(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:138841:12: */ var pConst uintptr = *(*uintptr)(unsafe.Pointer(pWalker + 40)) if (*WhereConst)(unsafe.Pointer(pConst)).FbHasAffBlob != 0 { @@ -120493,7 +120512,7 @@ func propagateConstantExprRewrite(tls *libc.TLS, pWalker uintptr, pExpr uintptr) // operators ==, <=, <, >=, >, or IS in a way that will cause the correct // type conversions to occur. See logic associated with the bHasAffBlob flag // for details. -func propagateConstants(tls *libc.TLS, pParse uintptr, p uintptr) int32 { /* sqlite3.c:138899:12: */ +func propagateConstants(tls *libc.TLS, pParse uintptr, p uintptr) int32 { /* sqlite3.c:138912:12: */ bp := tls.Alloc(88) defer tls.Free(88) @@ -120546,7 +120565,7 @@ func propagateConstants(tls *libc.TLS, pParse uintptr, p uintptr) int32 { /* sql // // * the sub-query uses only one distinct window frame, and // * that the window frame has a PARTITION BY clase. -func pushDownWindowCheck(tls *libc.TLS, pParse uintptr, pSubq uintptr, pExpr uintptr) int32 { /* sqlite3.c:138950:12: */ +func pushDownWindowCheck(tls *libc.TLS, pParse uintptr, pSubq uintptr, pExpr uintptr) int32 { /* sqlite3.c:138963:12: */ return Xsqlite3ExprIsConstantOrGroupBy(tls, pParse, pExpr, (*Window)(unsafe.Pointer((*Select)(unsafe.Pointer(pSubq)).FpWin)).FpPartition) } @@ -120617,7 +120636,7 @@ func pushDownWindowCheck(tls *libc.TLS, pParse uintptr, pSubq uintptr, pExpr uin // // Return 0 if no changes are made and non-zero if one or more WHERE clause // terms are duplicated into the subquery. -func pushDownWhereTerms(tls *libc.TLS, pParse uintptr, pSubq uintptr, pWhere uintptr, iCursor int32, isLeftJoin int32) int32 { /* sqlite3.c:139028:12: */ +func pushDownWhereTerms(tls *libc.TLS, pParse uintptr, pSubq uintptr, pWhere uintptr, iCursor int32, isLeftJoin int32) int32 { /* sqlite3.c:139041:12: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -120705,7 +120724,7 @@ func pushDownWhereTerms(tls *libc.TLS, pParse uintptr, pSubq uintptr, pWhere uin // This routine must be called after aggregate functions have been // located but before their arguments have been subjected to aggregate // analysis. -func minMaxQuery(tls *libc.TLS, db uintptr, pFunc uintptr, ppMinMax uintptr) U8 { /* sqlite3.c:139132:11: */ +func minMaxQuery(tls *libc.TLS, db uintptr, pFunc uintptr, ppMinMax uintptr) U8 { /* sqlite3.c:139145:11: */ var eRet int32 = WHERE_ORDERBY_NORMAL // Return value var pEList uintptr // Arguments to agg function var zFunc uintptr // Name of aggregate function pFunc @@ -120755,7 +120774,7 @@ func minMaxQuery(tls *libc.TLS, db uintptr, pFunc uintptr, ppMinMax uintptr) U8 // this routine returns NULL when it could have returned a table pointer. // But returning the pointer when NULL should have been returned can // result in incorrect answers and/or crashes. So, when in doubt, return NULL. -func isSimpleCount(tls *libc.TLS, p uintptr, pAggInfo uintptr) uintptr { /* sqlite3.c:139187:14: */ +func isSimpleCount(tls *libc.TLS, p uintptr, pAggInfo uintptr) uintptr { /* sqlite3.c:139200:14: */ var pTab uintptr var pExpr uintptr @@ -120795,7 +120814,7 @@ func isSimpleCount(tls *libc.TLS, p uintptr, pAggInfo uintptr) uintptr { /* sqli // was such a clause and the named index cannot be found, return // SQLITE_ERROR and leave an error in pParse. Otherwise, populate // pFrom->pIndex and return SQLITE_OK. -func Xsqlite3IndexedByLookup(tls *libc.TLS, pParse uintptr, pFrom uintptr) int32 { /* sqlite3.c:139225:20: */ +func Xsqlite3IndexedByLookup(tls *libc.TLS, pParse uintptr, pFrom uintptr) int32 { /* sqlite3.c:139238:20: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -120834,7 +120853,7 @@ func Xsqlite3IndexedByLookup(tls *libc.TLS, pParse uintptr, pFrom uintptr) int32 // This transformation is only needed for EXCEPT, INTERSECT, and UNION. // The UNION ALL operator works fine with multiSelectOrderBy() even when // there are COLLATE terms in the ORDER BY. -func convertCompoundSelectToSubquery(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sqlite3.c:139267:12: */ +func convertCompoundSelectToSubquery(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sqlite3.c:139280:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -120913,7 +120932,7 @@ func convertCompoundSelectToSubquery(tls *libc.TLS, pWalker uintptr, p uintptr) // Check to see if the FROM clause term pFrom has table-valued function // arguments. If it does, leave an error message in pParse and return // non-zero, since pFrom is not allowed to be a table-valued function. -func cannotBeFunction(tls *libc.TLS, pParse uintptr, pFrom uintptr) int32 { /* sqlite3.c:139332:12: */ +func cannotBeFunction(tls *libc.TLS, pParse uintptr, pFrom uintptr) int32 { /* sqlite3.c:139345:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -120932,7 +120951,7 @@ func cannotBeFunction(tls *libc.TLS, pParse uintptr, pFrom uintptr) int32 { /* s // // If a non-NULL value is returned, set *ppContext to point to the With // object that the returned CTE belongs to. -func searchWith(tls *libc.TLS, pWith uintptr, pItem uintptr, ppContext uintptr) uintptr { /* sqlite3.c:139351:19: */ +func searchWith(tls *libc.TLS, pWith uintptr, pItem uintptr, ppContext uintptr) uintptr { /* sqlite3.c:139364:19: */ var zName uintptr = (*SrcItem)(unsafe.Pointer(pItem)).FzName var p uintptr @@ -120967,7 +120986,7 @@ func searchWith(tls *libc.TLS, pWith uintptr, pItem uintptr, ppContext uintptr) // // If bFree is true, do not continue to use the pWith pointer after // calling this routine, Instead, use only the return value. -func Xsqlite3WithPush(tls *libc.TLS, pParse uintptr, pWith uintptr, bFree U8) uintptr { /* sqlite3.c:139390:21: */ +func Xsqlite3WithPush(tls *libc.TLS, pParse uintptr, pWith uintptr, bFree U8) uintptr { /* sqlite3.c:139403:21: */ if pWith != 0 { if bFree != 0 { pWith = Xsqlite3ParserAddCleanup(tls, pParse, @@ -121000,7 +121019,7 @@ func Xsqlite3WithPush(tls *libc.TLS, pParse uintptr, pWith uintptr, bFree U8) ui // Return 0 if no match is found. // Return 1 if a match is found. // Return 2 if an error condition is detected. -func resolveFromTermToCte(tls *libc.TLS, pParse uintptr, pWalker uintptr, pFrom uintptr) int32 { /* sqlite3.c:139421:12: */ +func resolveFromTermToCte(tls *libc.TLS, pParse uintptr, pWalker uintptr, pFrom uintptr) int32 { /* sqlite3.c:139434:12: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -121182,7 +121201,7 @@ func resolveFromTermToCte(tls *libc.TLS, pParse uintptr, pWalker uintptr, pFrom // This function is used as the xSelectCallback2() callback by // sqlite3SelectExpand() when walking a SELECT tree to resolve table // names and other FROM clause elements. -func Xsqlite3SelectPopWith(tls *libc.TLS, pWalker uintptr, p uintptr) { /* sqlite3.c:139605:21: */ +func Xsqlite3SelectPopWith(tls *libc.TLS, pWalker uintptr, p uintptr) { /* sqlite3.c:139618:21: */ var pParse uintptr = (*Walker)(unsafe.Pointer(pWalker)).FpParse if (*Parse)(unsafe.Pointer(pParse)).FpWith != 0 && (*Select)(unsafe.Pointer(p)).FpPrior == uintptr(0) { var pWith uintptr = (*Select)(unsafe.Pointer(findRightmost(tls, p))).FpWith @@ -121198,7 +121217,7 @@ func Xsqlite3SelectPopWith(tls *libc.TLS, pWalker uintptr, p uintptr) { /* sqlit // allocates and populates the SrcList_item.pTab object. If successful, // SQLITE_OK is returned. Otherwise, if an OOM error is encountered, // SQLITE_NOMEM. -func Xsqlite3ExpandSubquery(tls *libc.TLS, pParse uintptr, pFrom uintptr) int32 { /* sqlite3.c:139624:20: */ +func Xsqlite3ExpandSubquery(tls *libc.TLS, pParse uintptr, pFrom uintptr) int32 { /* sqlite3.c:139637:20: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -121252,7 +121271,7 @@ func Xsqlite3ExpandSubquery(tls *libc.TLS, pParse uintptr, pFrom uintptr) int32 // If found, expand each "*" to be every column in every table // and TABLE.* to be every column in TABLE. // -func selectExpander(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sqlite3.c:139676:12: */ +func selectExpander(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sqlite3.c:139689:12: */ bp := tls.Alloc(88) defer tls.Free(88) @@ -121601,7 +121620,7 @@ __3: // If anything goes wrong, an error message is written into pParse. // The calling function can detect the problem by looking at pParse->nErr // and/or pParse->db->mallocFailed. -func sqlite3SelectExpand(tls *libc.TLS, pParse uintptr, pSelect uintptr) { /* sqlite3.c:140003:13: */ +func sqlite3SelectExpand(tls *libc.TLS, pParse uintptr, pSelect uintptr) { /* sqlite3.c:140016:13: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -121639,7 +121658,7 @@ func sqlite3SelectExpand(tls *libc.TLS, pParse uintptr, pSelect uintptr) { /* sq // by selectExpander() but the type and collation information was omitted // at that point because identifiers had not yet been resolved. This // routine is called after identifier resolution. -func selectAddSubqueryTypeInfo(tls *libc.TLS, pWalker uintptr, p uintptr) { /* sqlite3.c:140033:13: */ +func selectAddSubqueryTypeInfo(tls *libc.TLS, pWalker uintptr, p uintptr) { /* sqlite3.c:140046:13: */ var pParse uintptr var i int32 var pTabList uintptr @@ -121687,7 +121706,7 @@ __3: // SELECT statement. // // Use this routine after name resolution. -func sqlite3SelectAddTypeInfo(tls *libc.TLS, pParse uintptr, pSelect uintptr) { /* sqlite3.c:140068:13: */ +func sqlite3SelectAddTypeInfo(tls *libc.TLS, pParse uintptr, pSelect uintptr) { /* sqlite3.c:140081:13: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -121716,7 +121735,7 @@ func sqlite3SelectAddTypeInfo(tls *libc.TLS, pParse uintptr, pSelect uintptr) { // * Identifiers in expression are matched to tables. // // This routine acts recursively on all subqueries within the SELECT. -func Xsqlite3SelectPrep(tls *libc.TLS, pParse uintptr, p uintptr, pOuterNC uintptr) { /* sqlite3.c:140092:21: */ +func Xsqlite3SelectPrep(tls *libc.TLS, pParse uintptr, p uintptr, pOuterNC uintptr) { /* sqlite3.c:140105:21: */ if (*Sqlite3)(unsafe.Pointer((*Parse)(unsafe.Pointer(pParse)).Fdb)).FmallocFailed != 0 { return @@ -121741,7 +121760,7 @@ func Xsqlite3SelectPrep(tls *libc.TLS, pParse uintptr, p uintptr, pOuterNC uintp // intermediate results while calculating an aggregate. This // routine generates code that stores NULLs in all of those memory // cells. -func resetAccumulator(tls *libc.TLS, pParse uintptr, pAggInfo uintptr) { /* sqlite3.c:140116:13: */ +func resetAccumulator(tls *libc.TLS, pParse uintptr, pAggInfo uintptr) { /* sqlite3.c:140129:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -121791,7 +121810,7 @@ __3: // Invoke the OP_AggFinalize opcode for every aggregate function // in the AggInfo structure. -func finalizeAggFunctions(tls *libc.TLS, pParse uintptr, pAggInfo uintptr) { /* sqlite3.c:140162:13: */ +func finalizeAggFunctions(tls *libc.TLS, pParse uintptr, pAggInfo uintptr) { /* sqlite3.c:140175:13: */ var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe var i int32 var pF uintptr @@ -121830,7 +121849,7 @@ __3: // in pAggInfo, then only populate the pAggInfo->nAccumulator accumulator // registers if register regAcc contains 0. The caller will take care // of setting and clearing regAcc. -func updateAccumulator(tls *libc.TLS, pParse uintptr, regAcc int32, pAggInfo uintptr, eDistinctType int32) { /* sqlite3.c:140185:13: */ +func updateAccumulator(tls *libc.TLS, pParse uintptr, regAcc int32, pAggInfo uintptr, eDistinctType int32) { /* sqlite3.c:140198:13: */ var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe var i int32 var regHit int32 = 0 @@ -121971,7 +121990,7 @@ __9: // Add a single OP_Explain instruction to the VDBE to explain a simple // count(*) query ("SELECT count(*) FROM pTab"). -func explainSimpleCount(tls *libc.TLS, pParse uintptr, pTab uintptr, pIdx uintptr) { /* sqlite3.c:140287:13: */ +func explainSimpleCount(tls *libc.TLS, pParse uintptr, pTab uintptr, pIdx uintptr) { /* sqlite3.c:140300:13: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -122003,7 +122022,7 @@ func explainSimpleCount(tls *libc.TLS, pParse uintptr, pTab uintptr, pIdx uintpt // sub-expression matches the criteria for being moved to the WHERE // clause. If so, add it to the WHERE clause and replace the sub-expression // within the HAVING expression with a constant "1". -func havingToWhereExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:140316:12: */ +func havingToWhereExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:140329:12: */ if int32((*Expr)(unsafe.Pointer(pExpr)).Fop) != TK_AND { var pS uintptr = *(*uintptr)(unsafe.Pointer(pWalker + 40)) // This routine is called before the HAVING clause of the current @@ -122049,7 +122068,7 @@ func havingToWhereExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { // A term of the HAVING expression is eligible for transfer if it consists // entirely of constants and expressions that are also GROUP BY terms that // use the "BINARY" collation sequence. -func havingToWhere(tls *libc.TLS, pParse uintptr, p uintptr) { /* sqlite3.c:140360:13: */ +func havingToWhere(tls *libc.TLS, pParse uintptr, p uintptr) { /* sqlite3.c:140373:13: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -122067,7 +122086,7 @@ func havingToWhere(tls *libc.TLS, pParse uintptr, p uintptr) { /* sqlite3.c:1403 // Check to see if the pThis entry of pTabList is a self-join of a prior view. // If it is, then return the SrcList_item for the prior view. If it is not, // then return 0. -func isSelfJoinView(tls *libc.TLS, pTabList uintptr, pThis uintptr) uintptr { /* sqlite3.c:140380:16: */ +func isSelfJoinView(tls *libc.TLS, pTabList uintptr, pThis uintptr) uintptr { /* sqlite3.c:140393:16: */ var pItem uintptr if (*Select)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pThis)).FpSelect)).FselFlags&U32(SF_PushDown) != 0 { @@ -122108,7 +122127,7 @@ func isSelfJoinView(tls *libc.TLS, pTabList uintptr, pThis uintptr) uintptr { /* } // Deallocate a single AggInfo object -func agginfoFree(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:140415:13: */ +func agginfoFree(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:140428:13: */ Xsqlite3DbFree(tls, db, (*AggInfo)(unsafe.Pointer(p)).FaCol) Xsqlite3DbFree(tls, db, (*AggInfo)(unsafe.Pointer(p)).FaFunc) Xsqlite3DbFreeNN(tls, db, p) @@ -122125,7 +122144,7 @@ func agginfoFree(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:140415:13: // // This routine does NOT free the Select structure passed in. The // calling function needs to do that. -func Xsqlite3Select(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) int32 { /* sqlite3.c:140523:20: */ +func Xsqlite3Select(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) int32 { /* sqlite3.c:140536:20: */ bp := tls.Alloc(216) defer tls.Free(216) @@ -123722,7 +123741,7 @@ type TabResult1 = struct { FnData U32 Frc int32 F__ccgo_pad1 [4]byte -} /* sqlite3.c:141786:9 */ +} /* sqlite3.c:141799:9 */ //************* End of select.c ********************************************* //************* Begin file table.c ****************************************** @@ -123746,12 +123765,12 @@ type TabResult1 = struct { // This structure is used to pass data from sqlite3_get_table() through // to the callback function is uses to build the result. -type TabResult = TabResult1 /* sqlite3.c:141794:3 */ +type TabResult = TabResult1 /* sqlite3.c:141807:3 */ // This routine is called once for each row in the result table. Its job // is to fill in the TabResult structure appropriately, allocating new // memory as necessary. -func sqlite3_get_table_cb(tls *libc.TLS, pArg uintptr, nCol int32, argv uintptr, colv uintptr) int32 { /* sqlite3.c:141801:12: */ +func sqlite3_get_table_cb(tls *libc.TLS, pArg uintptr, nCol int32, argv uintptr, colv uintptr) int32 { /* sqlite3.c:141814:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -123882,7 +123901,7 @@ malloc_failed: // from malloc(). But the caller cannot free this memory directly. // Instead, the entire table should be passed to sqlite3_free_table() when // the calling procedure is finished using it. -func Xsqlite3_get_table(tls *libc.TLS, db uintptr, zSql uintptr, pazResult uintptr, pnRow uintptr, pnColumn uintptr, pzErrMsg uintptr) int32 { /* sqlite3.c:141875:16: */ +func Xsqlite3_get_table(tls *libc.TLS, db uintptr, zSql uintptr, pazResult uintptr, pnRow uintptr, pnColumn uintptr, pzErrMsg uintptr) int32 { /* sqlite3.c:141888:16: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -123954,7 +123973,7 @@ func Xsqlite3_get_table(tls *libc.TLS, db uintptr, zSql uintptr, pazResult uintp } // This routine frees the space the sqlite3_get_table() malloced. -func Xsqlite3_free_table(tls *libc.TLS, azResult uintptr) { /* sqlite3.c:141944:17: */ +func Xsqlite3_free_table(tls *libc.TLS, azResult uintptr) { /* sqlite3.c:141957:17: */ if azResult != 0 { var i int32 var n int32 @@ -123985,7 +124004,7 @@ func Xsqlite3_free_table(tls *libc.TLS, azResult uintptr) { /* sqlite3.c:141944: // #include "sqliteInt.h" // Delete a linked list of TriggerStep structures. -func Xsqlite3DeleteTriggerStep(tls *libc.TLS, db uintptr, pTriggerStep uintptr) { /* sqlite3.c:141979:21: */ +func Xsqlite3DeleteTriggerStep(tls *libc.TLS, db uintptr, pTriggerStep uintptr) { /* sqlite3.c:141992:21: */ for pTriggerStep != 0 { var pTmp uintptr = pTriggerStep pTriggerStep = (*TriggerStep)(unsafe.Pointer(pTriggerStep)).FpNext @@ -124014,7 +124033,7 @@ func Xsqlite3DeleteTriggerStep(tls *libc.TLS, db uintptr, pTriggerStep uintptr) // To state it another way: This routine returns a list of all triggers // that fire off of pTab. The list will include any TEMP triggers on // pTab as well as the triggers lised in pTab->pTrigger. -func Xsqlite3TriggerList(tls *libc.TLS, pParse uintptr, pTab uintptr) uintptr { /* sqlite3.c:142010:24: */ +func Xsqlite3TriggerList(tls *libc.TLS, pParse uintptr, pTab uintptr) uintptr { /* sqlite3.c:142023:24: */ var pTmpSchema uintptr // Schema of the pTab table var pList uintptr // List of triggers to return var p uintptr // Loop variable for TEMP triggers @@ -124052,7 +124071,7 @@ func Xsqlite3TriggerList(tls *libc.TLS, pParse uintptr, pTab uintptr) uintptr { // in pParse->pNewTrigger. After the trigger actions have been parsed, the // sqlite3FinishTrigger() function is called to complete the trigger // construction process. -func Xsqlite3BeginTrigger(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 uintptr, tr_tm int32, op int32, pColumns uintptr, pTableName uintptr, pWhen uintptr, isTemp int32, noErr int32) { /* sqlite3.c:142066:21: */ +func Xsqlite3BeginTrigger(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 uintptr, tr_tm int32, op int32, pColumns uintptr, pTableName uintptr, pWhen uintptr, isTemp int32, noErr int32) { /* sqlite3.c:142079:21: */ bp := tls.Alloc(136) defer tls.Free(136) @@ -124359,7 +124378,7 @@ __31: // This routine is called after all of the trigger actions have been parsed // in order to complete the process of building the trigger. -func Xsqlite3FinishTrigger(tls *libc.TLS, pParse uintptr, pStepList uintptr, pAll uintptr) { /* sqlite3.c:142273:21: */ +func Xsqlite3FinishTrigger(tls *libc.TLS, pParse uintptr, pStepList uintptr, pAll uintptr) { /* sqlite3.c:142286:21: */ bp := tls.Alloc(152) defer tls.Free(152) @@ -124483,7 +124502,7 @@ triggerfinish_cleanup: // Duplicate a range of text from an SQL statement, then convert all // whitespace characters into ordinary space characters. -func triggerSpanDup(tls *libc.TLS, db uintptr, zStart uintptr, zEnd uintptr) uintptr { /* sqlite3.c:142361:13: */ +func triggerSpanDup(tls *libc.TLS, db uintptr, zStart uintptr, zEnd uintptr) uintptr { /* sqlite3.c:142374:13: */ var z uintptr = Xsqlite3DbSpanDup(tls, db, zStart, zEnd) var i int32 if z != 0 { @@ -124501,7 +124520,7 @@ func triggerSpanDup(tls *libc.TLS, db uintptr, zStart uintptr, zEnd uintptr) uin // // The parser calls this routine when it finds a SELECT statement in // body of a TRIGGER. -func Xsqlite3TriggerSelectStep(tls *libc.TLS, db uintptr, pSelect uintptr, zStart uintptr, zEnd uintptr) uintptr { /* sqlite3.c:142375:28: */ +func Xsqlite3TriggerSelectStep(tls *libc.TLS, db uintptr, pSelect uintptr, zStart uintptr, zEnd uintptr) uintptr { /* sqlite3.c:142388:28: */ var pTriggerStep uintptr = Xsqlite3DbMallocZero(tls, db, uint64(unsafe.Sizeof(TriggerStep{}))) if pTriggerStep == uintptr(0) { Xsqlite3SelectDelete(tls, db, pSelect) @@ -124518,7 +124537,7 @@ func Xsqlite3TriggerSelectStep(tls *libc.TLS, db uintptr, pSelect uintptr, zStar // holds both the TriggerStep object and the TriggerStep.target.z string. // // If an OOM error occurs, NULL is returned and db->mallocFailed is set. -func triggerStepAllocate(tls *libc.TLS, pParse uintptr, op U8, pName uintptr, zStart uintptr, zEnd uintptr) uintptr { /* sqlite3.c:142399:20: */ +func triggerStepAllocate(tls *libc.TLS, pParse uintptr, op U8, pName uintptr, zStart uintptr, zEnd uintptr) uintptr { /* sqlite3.c:142412:20: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb var pTriggerStep uintptr @@ -124545,7 +124564,7 @@ func triggerStepAllocate(tls *libc.TLS, pParse uintptr, op U8, pName uintptr, zS // // The parser calls this routine when it sees an INSERT inside the // body of a trigger. -func Xsqlite3TriggerInsertStep(tls *libc.TLS, pParse uintptr, pTableName uintptr, pColumn uintptr, pSelect uintptr, orconf U8, pUpsert uintptr, zStart uintptr, zEnd uintptr) uintptr { /* sqlite3.c:142432:28: */ +func Xsqlite3TriggerInsertStep(tls *libc.TLS, pParse uintptr, pTableName uintptr, pColumn uintptr, pSelect uintptr, orconf U8, pUpsert uintptr, zStart uintptr, zEnd uintptr) uintptr { /* sqlite3.c:142445:28: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb var pTriggerStep uintptr @@ -124577,7 +124596,7 @@ func Xsqlite3TriggerInsertStep(tls *libc.TLS, pParse uintptr, pTableName uintptr // Construct a trigger step that implements an UPDATE statement and return // a pointer to that trigger step. The parser calls this routine when it // sees an UPDATE statement inside the body of a CREATE TRIGGER. -func Xsqlite3TriggerUpdateStep(tls *libc.TLS, pParse uintptr, pTableName uintptr, pFrom uintptr, pEList uintptr, pWhere uintptr, orconf U8, zStart uintptr, zEnd uintptr) uintptr { /* sqlite3.c:142477:28: */ +func Xsqlite3TriggerUpdateStep(tls *libc.TLS, pParse uintptr, pTableName uintptr, pFrom uintptr, pEList uintptr, pWhere uintptr, orconf U8, zStart uintptr, zEnd uintptr) uintptr { /* sqlite3.c:142490:28: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb var pTriggerStep uintptr @@ -124606,7 +124625,7 @@ func Xsqlite3TriggerUpdateStep(tls *libc.TLS, pParse uintptr, pTableName uintptr // Construct a trigger step that implements a DELETE statement and return // a pointer to that trigger step. The parser calls this routine when it // sees a DELETE statement inside the body of a CREATE TRIGGER. -func Xsqlite3TriggerDeleteStep(tls *libc.TLS, pParse uintptr, pTableName uintptr, pWhere uintptr, zStart uintptr, zEnd uintptr) uintptr { /* sqlite3.c:142517:28: */ +func Xsqlite3TriggerDeleteStep(tls *libc.TLS, pParse uintptr, pTableName uintptr, pWhere uintptr, zStart uintptr, zEnd uintptr) uintptr { /* sqlite3.c:142530:28: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb var pTriggerStep uintptr @@ -124625,7 +124644,7 @@ func Xsqlite3TriggerDeleteStep(tls *libc.TLS, pParse uintptr, pTableName uintptr } // Recursively delete a Trigger structure -func Xsqlite3DeleteTrigger(tls *libc.TLS, db uintptr, pTrigger uintptr) { /* sqlite3.c:142544:21: */ +func Xsqlite3DeleteTrigger(tls *libc.TLS, db uintptr, pTrigger uintptr) { /* sqlite3.c:142557:21: */ if pTrigger == uintptr(0) || (*Trigger)(unsafe.Pointer(pTrigger)).FbReturning != 0 { return } @@ -124645,7 +124664,7 @@ func Xsqlite3DeleteTrigger(tls *libc.TLS, db uintptr, pTrigger uintptr) { /* sql // same job as this routine except it takes a pointer to the trigger // instead of the trigger name. // -func Xsqlite3DropTrigger(tls *libc.TLS, pParse uintptr, pName uintptr, noErr int32) { /* sqlite3.c:142562:21: */ +func Xsqlite3DropTrigger(tls *libc.TLS, pParse uintptr, pName uintptr, noErr int32) { /* sqlite3.c:142575:21: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -124729,12 +124748,12 @@ drop_trigger_cleanup: // Return a pointer to the Table structure for the table that a trigger // is set on. -func tableOfTrigger(tls *libc.TLS, pTrigger uintptr) uintptr { /* sqlite3.c:142604:14: */ +func tableOfTrigger(tls *libc.TLS, pTrigger uintptr) uintptr { /* sqlite3.c:142617:14: */ return Xsqlite3HashFind(tls, (*Trigger)(unsafe.Pointer(pTrigger)).FpTabSchema+8, (*Trigger)(unsafe.Pointer(pTrigger)).Ftable) } // Drop a trigger given a pointer to that trigger. -func Xsqlite3DropTriggerPtr(tls *libc.TLS, pParse uintptr, pTrigger uintptr) { /* sqlite3.c:142612:21: */ +func Xsqlite3DropTriggerPtr(tls *libc.TLS, pParse uintptr, pTrigger uintptr) { /* sqlite3.c:142625:21: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -124775,7 +124794,7 @@ func Xsqlite3DropTriggerPtr(tls *libc.TLS, pParse uintptr, pTrigger uintptr) { / } // Remove a trigger from the hash tables of the sqlite* pointer. -func Xsqlite3UnlinkAndDeleteTrigger(tls *libc.TLS, db uintptr, iDb int32, zName uintptr) { /* sqlite3.c:142650:21: */ +func Xsqlite3UnlinkAndDeleteTrigger(tls *libc.TLS, db uintptr, iDb int32, zName uintptr) { /* sqlite3.c:142663:21: */ var pTrigger uintptr var pHash uintptr @@ -124806,7 +124825,7 @@ func Xsqlite3UnlinkAndDeleteTrigger(tls *libc.TLS, db uintptr, iDb int32, zName // wildcard that matches anything. Likewise if pEList==NULL then // it matches anything so always return true. Return false only // if there is no match. -func checkColumnOverlap(tls *libc.TLS, pIdList uintptr, pEList uintptr) int32 { /* sqlite3.c:142684:12: */ +func checkColumnOverlap(tls *libc.TLS, pIdList uintptr, pEList uintptr) int32 { /* sqlite3.c:142697:12: */ var e int32 if pIdList == uintptr(0) || pEList == uintptr(0) { return 1 @@ -124823,7 +124842,7 @@ func checkColumnOverlap(tls *libc.TLS, pIdList uintptr, pEList uintptr) int32 { // one trigger that must be fired when an operation of type 'op' is // performed on the table, and, if that operation is an UPDATE, if at // least one of the columns in pChanges is being modified. -func Xsqlite3TriggersExist(tls *libc.TLS, pParse uintptr, pTab uintptr, op int32, pChanges uintptr, pMask uintptr) uintptr { /* sqlite3.c:142699:24: */ +func Xsqlite3TriggersExist(tls *libc.TLS, pParse uintptr, pTab uintptr, op int32, pChanges uintptr, pMask uintptr) uintptr { /* sqlite3.c:142712:24: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -124950,7 +124969,7 @@ __17: // referring to a target in another database. An exception is when the // trigger is in TEMP in which case it can refer to any other database it // wants. -func Xsqlite3TriggerStepSrc(tls *libc.TLS, pParse uintptr, pStep uintptr) uintptr { /* sqlite3.c:142773:24: */ +func Xsqlite3TriggerStepSrc(tls *libc.TLS, pParse uintptr, pStep uintptr) uintptr { /* sqlite3.c:142786:24: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb var pSrc uintptr // SrcList to be returned var zName uintptr = Xsqlite3DbStrDup(tls, db, (*TriggerStep)(unsafe.Pointer(pStep)).FzTarget) @@ -124975,7 +124994,7 @@ func Xsqlite3TriggerStepSrc(tls *libc.TLS, pParse uintptr, pStep uintptr) uintpt // Return true if the pExpr term from the RETURNING clause argument // list is of the form "*". Raise an error if the terms if of the // form "table.*". -func isAsteriskTerm(tls *libc.TLS, pParse uintptr, pTerm uintptr) int32 { /* sqlite3.c:142804:12: */ +func isAsteriskTerm(tls *libc.TLS, pParse uintptr, pTerm uintptr) int32 { /* sqlite3.c:142817:12: */ if int32((*Expr)(unsafe.Pointer(pTerm)).Fop) == TK_ASTERISK { return 1 @@ -124996,7 +125015,7 @@ func isAsteriskTerm(tls *libc.TLS, pParse uintptr, pTerm uintptr) int32 { /* sql // // This routine makes a copy of the pList, and at the same time expands // any "*" wildcards to be the complete set of columns from pTab. -func sqlite3ExpandReturning(tls *libc.TLS, pParse uintptr, pList uintptr, pTab uintptr) uintptr { /* sqlite3.c:142824:17: */ +func sqlite3ExpandReturning(tls *libc.TLS, pParse uintptr, pList uintptr, pTab uintptr) uintptr { /* sqlite3.c:142837:17: */ var pNew uintptr = uintptr(0) var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb var i int32 @@ -125037,7 +125056,7 @@ func sqlite3ExpandReturning(tls *libc.TLS, pParse uintptr, pList uintptr, pTab u // Generate code for the RETURNING trigger. Unlike other triggers // that invoke a subprogram in the bytecode, the code for RETURNING // is generated in-line. -func codeReturningTrigger(tls *libc.TLS, pParse uintptr, pTrigger uintptr, pTab uintptr, regIn int32) { /* sqlite3.c:142867:13: */ +func codeReturningTrigger(tls *libc.TLS, pParse uintptr, pTrigger uintptr, pTab uintptr, regIn int32) { /* sqlite3.c:142880:13: */ bp := tls.Alloc(304) defer tls.Free(304) @@ -125105,7 +125124,7 @@ func codeReturningTrigger(tls *libc.TLS, pParse uintptr, pTrigger uintptr, pTab // Generate VDBE code for the statements inside the body of a single // trigger. -func codeTriggerProgram(tls *libc.TLS, pParse uintptr, pStepList uintptr, orconf int32) int32 { /* sqlite3.c:142943:12: */ +func codeTriggerProgram(tls *libc.TLS, pParse uintptr, pStepList uintptr, orconf int32) int32 { /* sqlite3.c:142956:12: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -125192,7 +125211,7 @@ func codeTriggerProgram(tls *libc.TLS, pParse uintptr, pStepList uintptr, orconf // Parse context structure pFrom has just been used to create a sub-vdbe // (trigger program). If an error has occurred, transfer error information // from pFrom to pTo. -func transferParseError(tls *libc.TLS, pTo uintptr, pFrom uintptr) { /* sqlite3.c:143047:13: */ +func transferParseError(tls *libc.TLS, pTo uintptr, pFrom uintptr) { /* sqlite3.c:143060:13: */ if (*Parse)(unsafe.Pointer(pTo)).FnErr == 0 { (*Parse)(unsafe.Pointer(pTo)).FzErrMsg = (*Parse)(unsafe.Pointer(pFrom)).FzErrMsg @@ -125205,7 +125224,7 @@ func transferParseError(tls *libc.TLS, pTo uintptr, pFrom uintptr) { /* sqlite3. // Create and populate a new TriggerPrg object with a sub-program // implementing trigger pTrigger with ON CONFLICT policy orconf. -func codeRowTrigger(tls *libc.TLS, pParse uintptr, pTrigger uintptr, pTab uintptr, orconf int32) uintptr { /* sqlite3.c:143063:19: */ +func codeRowTrigger(tls *libc.TLS, pParse uintptr, pTrigger uintptr, pTab uintptr, orconf int32) uintptr { /* sqlite3.c:143076:19: */ bp := tls.Alloc(472) defer tls.Free(472) @@ -125311,7 +125330,7 @@ func codeRowTrigger(tls *libc.TLS, pParse uintptr, pTrigger uintptr, pTab uintpt // trigger pTrigger with default ON CONFLICT algorithm orconf. If no such // TriggerPrg object exists, a new object is allocated and populated before // being returned. -func getRowTrigger(tls *libc.TLS, pParse uintptr, pTrigger uintptr, pTab uintptr, orconf int32) uintptr { /* sqlite3.c:143177:19: */ +func getRowTrigger(tls *libc.TLS, pParse uintptr, pTrigger uintptr, pTab uintptr, orconf int32) uintptr { /* sqlite3.c:143190:19: */ var pRoot uintptr = func() uintptr { if (*Parse)(unsafe.Pointer(pParse)).FpToplevel != 0 { return (*Parse)(unsafe.Pointer(pParse)).FpToplevel @@ -125340,7 +125359,7 @@ func getRowTrigger(tls *libc.TLS, pParse uintptr, pTrigger uintptr, pTab uintptr // table pTab. The reg, orconf and ignoreJump parameters passed to this // function are the same as those described in the header function for // sqlite3CodeRowTrigger() -func Xsqlite3CodeRowTriggerDirect(tls *libc.TLS, pParse uintptr, p uintptr, pTab uintptr, reg int32, orconf int32, ignoreJump int32) { /* sqlite3.c:143212:21: */ +func Xsqlite3CodeRowTriggerDirect(tls *libc.TLS, pParse uintptr, p uintptr, pTab uintptr, reg int32, orconf int32, ignoreJump int32) { /* sqlite3.c:143225:21: */ var v uintptr = Xsqlite3GetVdbe(tls, pParse) // Main VM var pPrg uintptr pPrg = getRowTrigger(tls, pParse, p, pTab, orconf) @@ -125400,7 +125419,7 @@ func Xsqlite3CodeRowTriggerDirect(tls *libc.TLS, pParse uintptr, p uintptr, pTab // trigger program to use (REPLACE, IGNORE etc.). Parameter ignoreJump // is the instruction that control should jump to if a trigger program // raises an IGNORE exception. -func Xsqlite3CodeRowTrigger(tls *libc.TLS, pParse uintptr, pTrigger uintptr, op int32, pChanges uintptr, tr_tm int32, pTab uintptr, reg int32, orconf int32, ignoreJump int32) { /* sqlite3.c:143284:21: */ +func Xsqlite3CodeRowTrigger(tls *libc.TLS, pParse uintptr, pTrigger uintptr, op int32, pChanges uintptr, tr_tm int32, pTab uintptr, reg int32, orconf int32, ignoreJump int32) { /* sqlite3.c:143297:21: */ var p uintptr // Used to iterate through pTrigger list for p = pTrigger; p != 0; p = (*Trigger)(unsafe.Pointer(p)).FpNext { @@ -125448,7 +125467,7 @@ func Xsqlite3CodeRowTrigger(tls *libc.TLS, pParse uintptr, pTrigger uintptr, op // included in the returned mask if the TRIGGER_BEFORE bit is set in the // tr_tm parameter. Similarly, values accessed by AFTER triggers are only // included in the returned mask if the TRIGGER_AFTER bit is set in tr_tm. -func Xsqlite3TriggerColmask(tls *libc.TLS, pParse uintptr, pTrigger uintptr, pChanges uintptr, isNew int32, tr_tm int32, pTab uintptr, orconf int32) U32 { /* sqlite3.c:143354:20: */ +func Xsqlite3TriggerColmask(tls *libc.TLS, pParse uintptr, pTrigger uintptr, pChanges uintptr, isNew int32, tr_tm int32, pTab uintptr, orconf int32) U32 { /* sqlite3.c:143367:20: */ var op int32 if pChanges != 0 { op = TK_UPDATE @@ -125505,7 +125524,7 @@ func Xsqlite3TriggerColmask(tls *libc.TLS, pParse uintptr, pTrigger uintptr, pCh // (not a virtual table) then the value might have been stored as an // integer. In that case, add an OP_RealAffinity opcode to make sure // it has been converted into REAL. -func Xsqlite3ColumnDefault(tls *libc.TLS, v uintptr, pTab uintptr, i int32, iReg int32) { /* sqlite3.c:143452:21: */ +func Xsqlite3ColumnDefault(tls *libc.TLS, v uintptr, pTab uintptr, i int32, iReg int32) { /* sqlite3.c:143465:21: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -125535,7 +125554,7 @@ func Xsqlite3ColumnDefault(tls *libc.TLS, v uintptr, pTab uintptr, i int32, iReg // aXRef[j] will be non-negative if column j of the original table is // being updated. chngRowid will be true if the rowid of the table is // being updated. -func indexColumnIsBeingUpdated(tls *libc.TLS, pIdx uintptr, iCol int32, aXRef uintptr, chngRowid int32) int32 { /* sqlite3.c:143485:12: */ +func indexColumnIsBeingUpdated(tls *libc.TLS, pIdx uintptr, iCol int32, aXRef uintptr, chngRowid int32) int32 { /* sqlite3.c:143498:12: */ var iIdxCol I16 = *(*I16)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FaiColumn + uintptr(iCol)*2)) // Cannot index rowid if int32(iIdxCol) >= 0 { @@ -125556,7 +125575,7 @@ func indexColumnIsBeingUpdated(tls *libc.TLS, pIdx uintptr, iCol int32, aXRef ui // aXRef[j] will be non-negative if column j of the original table is // being updated. chngRowid will be true if the rowid of the table is // being updated. -func indexWhereClauseMightChange(tls *libc.TLS, pIdx uintptr, aXRef uintptr, chngRowid int32) int32 { /* sqlite3.c:143515:12: */ +func indexWhereClauseMightChange(tls *libc.TLS, pIdx uintptr, aXRef uintptr, chngRowid int32) int32 { /* sqlite3.c:143528:12: */ if (*Index)(unsafe.Pointer(pIdx)).FpPartIdxWhere == uintptr(0) { return 0 } @@ -125568,7 +125587,7 @@ func indexWhereClauseMightChange(tls *libc.TLS, pIdx uintptr, aXRef uintptr, chn // Expr.iColumn set to value (iCol+1). The resolver will modify the // expression to be a TK_COLUMN reading column iCol of the first // table in the source-list (pSrc->a[0]). -func exprRowColumn(tls *libc.TLS, pParse uintptr, iCol int32) uintptr { /* sqlite3.c:143531:13: */ +func exprRowColumn(tls *libc.TLS, pParse uintptr, iCol int32) uintptr { /* sqlite3.c:143544:13: */ var pRet uintptr = Xsqlite3PExpr(tls, pParse, TK_ROW, uintptr(0), uintptr(0)) if pRet != 0 { (*Expr)(unsafe.Pointer(pRet)).FiColumn = YnVar(iCol + 1) @@ -125612,7 +125631,7 @@ func exprRowColumn(tls *libc.TLS, pParse uintptr, iCol int32) uintptr { /* sqlit // records with automatically assigned integer keys For intkey tables, the // rowid value in is used as the integer key, and the // remaining fields make up the table record. -func updateFromSelect(tls *libc.TLS, pParse uintptr, iEph int32, pPk uintptr, pChanges uintptr, pTabList uintptr, pWhere uintptr, pOrderBy uintptr, pLimit uintptr) { /* sqlite3.c:143575:13: */ +func updateFromSelect(tls *libc.TLS, pParse uintptr, iEph int32, pPk uintptr, pChanges uintptr, pTabList uintptr, pWhere uintptr, pOrderBy uintptr, pLimit uintptr) { /* sqlite3.c:143588:13: */ bp := tls.Alloc(40) defer tls.Free(40) @@ -125695,7 +125714,7 @@ func updateFromSelect(tls *libc.TLS, pParse uintptr, iEph int32, pPk uintptr, pC // onError | pChanges | pWhere // \_______________________/ // pTabList -func Xsqlite3Update(tls *libc.TLS, pParse uintptr, pTabList uintptr, pChanges uintptr, pWhere uintptr, onError int32, pOrderBy uintptr, pLimit uintptr, pUpsert uintptr) { /* sqlite3.c:143672:21: */ +func Xsqlite3Update(tls *libc.TLS, pParse uintptr, pTabList uintptr, pChanges uintptr, pWhere uintptr, onError int32, pOrderBy uintptr, pLimit uintptr, pUpsert uintptr) { /* sqlite3.c:143685:21: */ bp := tls.Alloc(108) defer tls.Free(108) @@ -127085,7 +127104,7 @@ update_cleanup: // The "onepass" strategy does not use an ephemeral table. Instead, it // stores the same values (A, B and C above) in a register array and // makes a single invocation of VUpdate. -func updateVirtualTable(tls *libc.TLS, pParse uintptr, pSrc uintptr, pTab uintptr, pChanges uintptr, pRowid uintptr, aXRef uintptr, pWhere uintptr, onError int32) { /* sqlite3.c:144564:13: */ +func updateVirtualTable(tls *libc.TLS, pParse uintptr, pSrc uintptr, pTab uintptr, pChanges uintptr, pRowid uintptr, aXRef uintptr, pWhere uintptr, onError int32) { /* sqlite3.c:144577:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -127258,7 +127277,7 @@ func updateVirtualTable(tls *libc.TLS, pParse uintptr, pSrc uintptr, pTab uintpt // #include "sqliteInt.h" // Free a list of Upsert objects -func upsertDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:144752:29: */ +func upsertDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:144765:29: */ for __ccgo := true; __ccgo; __ccgo = p != 0 { var pNext uintptr = (*Upsert)(unsafe.Pointer(p)).FpNextUpsert Xsqlite3ExprListDelete(tls, db, (*Upsert)(unsafe.Pointer(p)).FpUpsertTarget) @@ -127271,14 +127290,14 @@ func upsertDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:144752:29 } } -func Xsqlite3UpsertDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:144764:21: */ +func Xsqlite3UpsertDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:144777:21: */ if p != 0 { upsertDelete(tls, db, p) } } // Duplicate an Upsert object. -func Xsqlite3UpsertDup(tls *libc.TLS, db uintptr, p uintptr) uintptr { /* sqlite3.c:144772:23: */ +func Xsqlite3UpsertDup(tls *libc.TLS, db uintptr, p uintptr) uintptr { /* sqlite3.c:144785:23: */ if p == uintptr(0) { return uintptr(0) } @@ -127291,7 +127310,7 @@ func Xsqlite3UpsertDup(tls *libc.TLS, db uintptr, p uintptr) uintptr { /* sqlite } // Create a new Upsert object. -func Xsqlite3UpsertNew(tls *libc.TLS, db uintptr, pTarget uintptr, pTargetWhere uintptr, pSet uintptr, pWhere uintptr, pNext uintptr) uintptr { /* sqlite3.c:144786:23: */ +func Xsqlite3UpsertNew(tls *libc.TLS, db uintptr, pTarget uintptr, pTargetWhere uintptr, pSet uintptr, pWhere uintptr, pNext uintptr) uintptr { /* sqlite3.c:144799:23: */ var pNew uintptr pNew = Xsqlite3DbMallocZero(tls, db, uint64(unsafe.Sizeof(Upsert{}))) if pNew == uintptr(0) { @@ -127317,7 +127336,7 @@ func Xsqlite3UpsertNew(tls *libc.TLS, db uintptr, pTarget uintptr, pTargetWhere // // Return SQLITE_OK if everything works, or an error code is something // is wrong. -func Xsqlite3UpsertAnalyzeTarget(tls *libc.TLS, pParse uintptr, pTabList uintptr, pUpsert uintptr) int32 { /* sqlite3.c:144821:20: */ +func Xsqlite3UpsertAnalyzeTarget(tls *libc.TLS, pParse uintptr, pTabList uintptr, pUpsert uintptr) int32 { /* sqlite3.c:144834:20: */ bp := tls.Alloc(232) defer tls.Free(232) @@ -127459,7 +127478,7 @@ __3: // Return true if pUpsert is the last ON CONFLICT clause with a // conflict target, or if pUpsert is followed by another ON CONFLICT // clause that targets the INTEGER PRIMARY KEY. -func Xsqlite3UpsertNextIsIPK(tls *libc.TLS, pUpsert uintptr) int32 { /* sqlite3.c:144948:20: */ +func Xsqlite3UpsertNextIsIPK(tls *libc.TLS, pUpsert uintptr) int32 { /* sqlite3.c:144961:20: */ var pNext uintptr if pUpsert == uintptr(0) { return 0 @@ -127481,7 +127500,7 @@ func Xsqlite3UpsertNextIsIPK(tls *libc.TLS, pUpsert uintptr) int32 { /* sqlite3. // a particular index pIdx, return a pointer to the particular ON CONFLICT // clause that applies to the index. Or, if the index is not subject to // any ON CONFLICT clause, return NULL. -func Xsqlite3UpsertOfIndex(tls *libc.TLS, pUpsert uintptr, pIdx uintptr) uintptr { /* sqlite3.c:144964:23: */ +func Xsqlite3UpsertOfIndex(tls *libc.TLS, pUpsert uintptr, pIdx uintptr) uintptr { /* sqlite3.c:144977:23: */ for pUpsert != 0 && (*Upsert)(unsafe.Pointer(pUpsert)).FpUpsertTarget != uintptr(0) && (*Upsert)(unsafe.Pointer(pUpsert)).FpUpsertIdx != pIdx { @@ -127497,7 +127516,7 @@ func Xsqlite3UpsertOfIndex(tls *libc.TLS, pUpsert uintptr, pIdx uintptr) uintptr // currently points to the conflicting table row. Otherwise, if pIdx // is not NULL, then pIdx is the constraint that failed and iCur is a // cursor points to the conflicting row. -func Xsqlite3UpsertDoUpdate(tls *libc.TLS, pParse uintptr, pUpsert uintptr, pTab uintptr, pIdx uintptr, iCur int32) { /* sqlite3.c:144984:21: */ +func Xsqlite3UpsertDoUpdate(tls *libc.TLS, pParse uintptr, pUpsert uintptr, pTab uintptr, pIdx uintptr, iCur int32) { /* sqlite3.c:144997:21: */ var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb var pSrc uintptr // FROM clause for the UPDATE @@ -127577,7 +127596,7 @@ func Xsqlite3UpsertDoUpdate(tls *libc.TLS, pParse uintptr, pUpsert uintptr, pTab // // The execSqlF() routine does the same thing, except it accepts // a format string as its third argument -func execSql(tls *libc.TLS, db uintptr, pzErrMsg uintptr, zSql uintptr) int32 { /* sqlite3.c:145081:12: */ +func execSql(tls *libc.TLS, db uintptr, pzErrMsg uintptr, zSql uintptr) int32 { /* sqlite3.c:145094:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -127617,7 +127636,7 @@ func execSql(tls *libc.TLS, db uintptr, pzErrMsg uintptr, zSql uintptr) int32 { return rc } -func execSqlF(tls *libc.TLS, db uintptr, pzErrMsg uintptr, zSql uintptr, va uintptr) int32 { /* sqlite3.c:145111:12: */ +func execSqlF(tls *libc.TLS, db uintptr, pzErrMsg uintptr, zSql uintptr, va uintptr) int32 { /* sqlite3.c:145124:12: */ var z uintptr var ap Va_list _ = ap @@ -127661,7 +127680,7 @@ func execSqlF(tls *libc.TLS, db uintptr, pzErrMsg uintptr, zSql uintptr, va uint // And a power loss in between deleting the original and renaming the // transient would cause the database file to appear to be deleted // following reboot. -func Xsqlite3Vacuum(tls *libc.TLS, pParse uintptr, pNm uintptr, pInto uintptr) { /* sqlite3.c:145154:21: */ +func Xsqlite3Vacuum(tls *libc.TLS, pParse uintptr, pNm uintptr, pInto uintptr) { /* sqlite3.c:145167:21: */ bp := tls.Alloc(8) defer tls.Free(8) *(*uintptr)(unsafe.Pointer(bp)) = pNm @@ -127718,7 +127737,7 @@ build_vacuum_end: } // This routine implements the OP_Vacuum opcode of the VDBE. -func Xsqlite3RunVacuum(tls *libc.TLS, pzErrMsg uintptr, db uintptr, iDb int32, pOut uintptr) int32 { /* sqlite3.c:145192:36: */ +func Xsqlite3RunVacuum(tls *libc.TLS, pzErrMsg uintptr, db uintptr, iDb int32, pOut uintptr) int32 { /* sqlite3.c:145205:36: */ bp := tls.Alloc(52) defer tls.Free(52) @@ -128056,7 +128075,7 @@ var aCopy = [10]uint8{ uint8(BTREE_TEXT_ENCODING), uint8(0), // Preserve the text encoding uint8(BTREE_USER_VERSION), uint8(0), // Preserve the user version uint8(BTREE_APPLICATION_ID), uint8(0), // Preserve the application id -} /* sqlite3.c:145385:32 */ +} /* sqlite3.c:145398:32 */ // Construct and install a Module object for a virtual table. When this // routine is called, it is guaranteed that all appropriate locks are held @@ -128064,7 +128083,7 @@ var aCopy = [10]uint8{ // // 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 Xsqlite3VtabCreateModule(tls *libc.TLS, db uintptr, zName uintptr, pModule uintptr, pAux uintptr, xDestroy uintptr) uintptr { /* sqlite3.c:145497:23: */ +func Xsqlite3VtabCreateModule(tls *libc.TLS, db uintptr, zName uintptr, pModule uintptr, pAux uintptr, xDestroy uintptr) uintptr { /* sqlite3.c:145510:23: */ var pMod uintptr var pDel uintptr var zCopy uintptr @@ -128104,7 +128123,7 @@ func Xsqlite3VtabCreateModule(tls *libc.TLS, db uintptr, zName uintptr, pModule // The actual function that does the work of creating a new module. // 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) int32 { /* sqlite3.c:145545:12: */ +func createModule(tls *libc.TLS, db uintptr, zName uintptr, pModule uintptr, pAux uintptr, xDestroy uintptr) int32 { /* sqlite3.c:145558:12: */ var rc int32 = SQLITE_OK Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) @@ -128118,18 +128137,18 @@ func createModule(tls *libc.TLS, db uintptr, zName uintptr, pModule uintptr, pAu } // External API function used to create a new virtual-table module. -func Xsqlite3_create_module(tls *libc.TLS, db uintptr, zName uintptr, pModule uintptr, pAux uintptr) int32 { /* sqlite3.c:145566:16: */ +func Xsqlite3_create_module(tls *libc.TLS, db uintptr, zName uintptr, pModule uintptr, pAux uintptr) int32 { /* sqlite3.c:145579:16: */ return createModule(tls, db, zName, pModule, pAux, uintptr(0)) } // 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) int32 { /* sqlite3.c:145581:16: */ +func Xsqlite3_create_module_v2(tls *libc.TLS, db uintptr, zName uintptr, pModule uintptr, pAux uintptr, xDestroy uintptr) int32 { /* sqlite3.c:145594:16: */ return createModule(tls, db, zName, pModule, pAux, xDestroy) } // External API to drop all virtual-table modules, except those named // on the azNames list. -func Xsqlite3_drop_modules(tls *libc.TLS, db uintptr, azNames uintptr) int32 { /* sqlite3.c:145598:16: */ +func Xsqlite3_drop_modules(tls *libc.TLS, db uintptr, azNames uintptr) int32 { /* sqlite3.c:145611:16: */ var pThis uintptr var pNext uintptr for pThis = (*Hash)(unsafe.Pointer(db + 568)).Ffirst; pThis != 0; pThis = pNext { @@ -128150,7 +128169,7 @@ func Xsqlite3_drop_modules(tls *libc.TLS, db uintptr, azNames uintptr) int32 { / // Decrement the reference count on a Module object. Destroy the // module when the reference count reaches zero. -func Xsqlite3VtabModuleUnref(tls *libc.TLS, db uintptr, pMod uintptr) { /* sqlite3.c:145620:21: */ +func Xsqlite3VtabModuleUnref(tls *libc.TLS, db uintptr, pMod uintptr) { /* sqlite3.c:145633:21: */ (*Module)(unsafe.Pointer(pMod)).FnRefModule-- if (*Module)(unsafe.Pointer(pMod)).FnRefModule == 0 { @@ -128168,14 +128187,14 @@ func Xsqlite3VtabModuleUnref(tls *libc.TLS, db uintptr, pMod uintptr) { /* sqlit // // If a disconnect is attempted while a virtual table is locked, // the disconnect is deferred until all locks have been removed. -func Xsqlite3VtabLock(tls *libc.TLS, pVTab uintptr) { /* sqlite3.c:145640:21: */ +func Xsqlite3VtabLock(tls *libc.TLS, pVTab uintptr) { /* sqlite3.c:145653:21: */ (*VTable)(unsafe.Pointer(pVTab)).FnRef++ } // pTab is a pointer to a Table structure representing a virtual-table. // Return a pointer to the VTable object used by connection db to access // this virtual-table, if one has been created, or NULL otherwise. -func Xsqlite3GetVTable(tls *libc.TLS, db uintptr, pTab uintptr) uintptr { /* sqlite3.c:145650:23: */ +func Xsqlite3GetVTable(tls *libc.TLS, db uintptr, pTab uintptr) uintptr { /* sqlite3.c:145663:23: */ var pVtab uintptr for pVtab = *(*uintptr)(unsafe.Pointer(pTab + 64 + 16 /* &.p */)); pVtab != 0 && (*VTable)(unsafe.Pointer(pVtab)).Fdb != db; pVtab = (*VTable)(unsafe.Pointer(pVtab)).FpNext { @@ -128185,7 +128204,7 @@ func Xsqlite3GetVTable(tls *libc.TLS, db uintptr, pTab uintptr) uintptr { /* sql // Decrement the ref-count on a virtual table object. When the ref-count // reaches zero, call the xDisconnect() method to delete the object. -func Xsqlite3VtabUnlock(tls *libc.TLS, pVTab uintptr) { /* sqlite3.c:145661:21: */ +func Xsqlite3VtabUnlock(tls *libc.TLS, pVTab uintptr) { /* sqlite3.c:145674:21: */ var db uintptr = (*VTable)(unsafe.Pointer(pVTab)).Fdb (*VTable)(unsafe.Pointer(pVTab)).FnRef-- @@ -128206,7 +128225,7 @@ func Xsqlite3VtabUnlock(tls *libc.TLS, pVTab uintptr) { /* sqlite3.c:145661:21: // database connections to be disconnected at the next opportunity. // Except, if argument db is not NULL, then the entry associated with // connection db is left in the p->u.vtab.p list. -func vtabDisconnectAll(tls *libc.TLS, db uintptr, p uintptr) uintptr { /* sqlite3.c:145687:15: */ +func vtabDisconnectAll(tls *libc.TLS, db uintptr, p uintptr) uintptr { /* sqlite3.c:145700:15: */ var pRet uintptr = uintptr(0) var pVTable uintptr @@ -128243,7 +128262,7 @@ func vtabDisconnectAll(tls *libc.TLS, db uintptr, p uintptr) uintptr { /* sqlite // used when closing database connection db to free all of its VTable // objects without disturbing the rest of the Schema object (which may // be being used by other shared-cache connections). -func Xsqlite3VtabDisconnect(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:145730:21: */ +func Xsqlite3VtabDisconnect(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:145743:21: */ var ppVTab uintptr for ppVTab = p + 64 + 16; *(*uintptr)(unsafe.Pointer(ppVTab)) != 0; ppVTab = *(*uintptr)(unsafe.Pointer(ppVTab)) + 40 { @@ -128274,7 +128293,7 @@ func Xsqlite3VtabDisconnect(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c // // As a result, a sqlite3.pDisconnect cannot be accessed simultaneously // by multiple threads. It is thread-safe. -func Xsqlite3VtabUnlockList(tls *libc.TLS, db uintptr) { /* sqlite3.c:145768:21: */ +func Xsqlite3VtabUnlockList(tls *libc.TLS, db uintptr) { /* sqlite3.c:145781:21: */ var p uintptr = (*Sqlite3)(unsafe.Pointer(db)).FpDisconnect if p != 0 { @@ -128300,7 +128319,7 @@ func Xsqlite3VtabUnlockList(tls *libc.TLS, db uintptr) { /* sqlite3.c:145768:21: // structure being xDisconnected and free). Any other VTable structures // in the list are moved to the sqlite3.pDisconnect list of the associated // database connection. -func Xsqlite3VtabClear(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:145799:21: */ +func Xsqlite3VtabClear(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:145812:21: */ if !(db != 0) || (*Sqlite3)(unsafe.Pointer(db)).FpnBytesFreed == uintptr(0) { vtabDisconnectAll(tls, uintptr(0), p) @@ -128320,7 +128339,7 @@ func Xsqlite3VtabClear(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:1457 // The string is not copied - the pointer is stored. The // string will be freed automatically when the table is // deleted. -func addModuleArgument(tls *libc.TLS, pParse uintptr, pTable uintptr, zArg uintptr) { /* sqlite3.c:145817:13: */ +func addModuleArgument(tls *libc.TLS, pParse uintptr, pTable uintptr, zArg uintptr) { /* sqlite3.c:145830:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -128346,7 +128365,7 @@ func addModuleArgument(tls *libc.TLS, pParse uintptr, pTable uintptr, zArg uintp // The parser calls this routine when it first sees a CREATE VIRTUAL TABLE // statement. The module name has been parsed, but the optional list // of parameters that follow the module name are still pending. -func Xsqlite3VtabBeginParse(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 uintptr, pModuleName uintptr, ifNotExists int32) { /* sqlite3.c:145843:21: */ +func Xsqlite3VtabBeginParse(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 uintptr, pModuleName uintptr, ifNotExists int32) { /* sqlite3.c:145856:21: */ var pTable uintptr // The new virtual table var db uintptr // Database connection @@ -128381,7 +128400,7 @@ func Xsqlite3VtabBeginParse(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName // This routine takes the module argument that has been accumulating // in pParse->zArg[] and appends it to the list of arguments on the // virtual table currently under construction in pParse->pTable. -func addArgumentToVtab(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:145892:13: */ +func addArgumentToVtab(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:145905:13: */ if (*Parse)(unsafe.Pointer(pParse)).FsArg.Fz != 0 && (*Parse)(unsafe.Pointer(pParse)).FpNewTable != 0 { var z uintptr = (*Parse)(unsafe.Pointer(pParse)).FsArg.Fz var n int32 = int32((*Parse)(unsafe.Pointer(pParse)).FsArg.Fn) @@ -128392,7 +128411,7 @@ func addArgumentToVtab(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:145892:13: // The parser calls this routine after the CREATE VIRTUAL TABLE statement // has been completely parsed. -func Xsqlite3VtabFinishParse(tls *libc.TLS, pParse uintptr, pEnd uintptr) { /* sqlite3.c:145905:21: */ +func Xsqlite3VtabFinishParse(tls *libc.TLS, pParse uintptr, pEnd uintptr) { /* sqlite3.c:145918:21: */ bp := tls.Alloc(64) defer tls.Free(64) @@ -128476,7 +128495,7 @@ func Xsqlite3VtabFinishParse(tls *libc.TLS, pParse uintptr, pEnd uintptr) { /* s // The parser calls this routine when it sees the first token // of an argument to the module name in a CREATE VIRTUAL TABLE statement. -func Xsqlite3VtabArgInit(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:145988:21: */ +func Xsqlite3VtabArgInit(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:146001:21: */ addArgumentToVtab(tls, pParse) (*Parse)(unsafe.Pointer(pParse)).FsArg.Fz = uintptr(0) (*Parse)(unsafe.Pointer(pParse)).FsArg.Fn = uint32(0) @@ -128484,7 +128503,7 @@ func Xsqlite3VtabArgInit(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:145988:21 // The parser calls this routine for each token after the first token // in an argument to the module name in a CREATE VIRTUAL TABLE statement. -func Xsqlite3VtabArgExtend(tls *libc.TLS, pParse uintptr, p uintptr) { /* sqlite3.c:145998:21: */ +func Xsqlite3VtabArgExtend(tls *libc.TLS, pParse uintptr, p uintptr) { /* sqlite3.c:146011:21: */ var pArg uintptr = pParse + 368 if (*Token)(unsafe.Pointer(pArg)).Fz == uintptr(0) { (*Token)(unsafe.Pointer(pArg)).Fz = (*Token)(unsafe.Pointer(p)).Fz @@ -128498,7 +128517,7 @@ func Xsqlite3VtabArgExtend(tls *libc.TLS, pParse uintptr, p uintptr) { /* sqlite // Invoke a virtual table constructor (either xCreate or xConnect). The // 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) int32 { /* sqlite3.c:146014:12: */ +func vtabCallConstructor(tls *libc.TLS, db uintptr, pTab uintptr, pMod uintptr, xConstruct uintptr, pzErr uintptr) int32 { /* sqlite3.c:146027:12: */ bp := tls.Alloc(72) defer tls.Free(72) @@ -128634,7 +128653,7 @@ func vtabCallConstructor(tls *libc.TLS, db uintptr, pTab uintptr, pMod uintptr, // and an error left in pParse. // // This call is a no-op if table pTab is not a virtual table. -func Xsqlite3VtabCallConnect(tls *libc.TLS, pParse uintptr, pTab uintptr) int32 { /* sqlite3.c:146150:20: */ +func Xsqlite3VtabCallConnect(tls *libc.TLS, pParse uintptr, pTab uintptr) int32 { /* sqlite3.c:146163:20: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -128670,7 +128689,7 @@ func Xsqlite3VtabCallConnect(tls *libc.TLS, pParse uintptr, pTab uintptr) int32 // Grow the db->aVTrans[] array so that there is room for at least one // more v-table. Return SQLITE_NOMEM if a malloc fails, or SQLITE_OK otherwise. -func growVTrans(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:146186:12: */ +func growVTrans(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:146199:12: */ var ARRAY_INCR int32 = 5 // Grow the sqlite3.aVTrans array if required @@ -128690,7 +128709,7 @@ func growVTrans(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:146186:12: */ // Add the virtual table pVTab to the array sqlite3.aVTrans[]. Space should // have already been reserved using growVTrans(). -func addToVTrans(tls *libc.TLS, db uintptr, pVTab uintptr) { /* sqlite3.c:146209:13: */ +func addToVTrans(tls *libc.TLS, db uintptr, pVTab uintptr) { /* sqlite3.c:146222:13: */ // Add pVtab to the end of sqlite3.aVTrans *(*uintptr)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaVTrans + uintptr(libc.PostIncInt32(&(*Sqlite3)(unsafe.Pointer(db)).FnVTrans, 1))*8)) = pVTab Xsqlite3VtabLock(tls, pVTab) @@ -128702,7 +128721,7 @@ func addToVTrans(tls *libc.TLS, db uintptr, pVTab uintptr) { /* sqlite3.c:146209 // If an error occurs, *pzErr is set to point to an English language // description of the error and an SQLITE_XXX error code is returned. // In this case the caller must call sqlite3DbFree(db, ) on *pzErr. -func Xsqlite3VtabCallCreate(tls *libc.TLS, db uintptr, iDb int32, zTab uintptr, pzErr uintptr) int32 { /* sqlite3.c:146223:20: */ +func Xsqlite3VtabCallCreate(tls *libc.TLS, db uintptr, iDb int32, zTab uintptr, pzErr uintptr) int32 { /* sqlite3.c:146236:20: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -128742,7 +128761,7 @@ func Xsqlite3VtabCallCreate(tls *libc.TLS, db uintptr, iDb int32, zTab uintptr, // This function is used to set the schema of a virtual table. It is only // valid to call this function from within the xCreate() or xConnect() of a // virtual table module. -func Xsqlite3_declare_vtab(tls *libc.TLS, db uintptr, zCreateTable uintptr) int32 { /* sqlite3.c:146264:16: */ +func Xsqlite3_declare_vtab(tls *libc.TLS, db uintptr, zCreateTable uintptr) int32 { /* sqlite3.c:146277:16: */ bp := tls.Alloc(416) defer tls.Free(416) @@ -128758,12 +128777,13 @@ func Xsqlite3_declare_vtab(tls *libc.TLS, db uintptr, zCreateTable uintptr) int3 if !(pCtx != 0) || (*VtabCtx)(unsafe.Pointer(pCtx)).FbDeclared != 0 { Xsqlite3Error(tls, db, SQLITE_MISUSE) Xsqlite3_mutex_leave(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) - return Xsqlite3MisuseError(tls, 146281) + return Xsqlite3MisuseError(tls, 146294) } pTab = (*VtabCtx)(unsafe.Pointer(pCtx)).FpTab Xsqlite3ParseObjectInit(tls, bp+8, db) (*Parse)(unsafe.Pointer(bp + 8 /* &sParse */)).FeParseMode = U8(PARSE_MODE_DECLARE_VTAB) + (*Parse)(unsafe.Pointer(bp + 8 /* &sParse */)).FdisableTriggers = U8(1) // We should never be able to reach this point while loading the // schema. Nevertheless, defend against that (turn off db->init.busy) // in case a bug arises. @@ -128832,7 +128852,7 @@ func Xsqlite3_declare_vtab(tls *libc.TLS, db uintptr, zCreateTable uintptr) int3 // when a DROP TABLE is mentioned. // // This call is a no-op if zTab is not a virtual table. -func Xsqlite3VtabCallDestroy(tls *libc.TLS, db uintptr, iDb int32, zTab uintptr) int32 { /* sqlite3.c:146357:20: */ +func Xsqlite3VtabCallDestroy(tls *libc.TLS, db uintptr, iDb int32, zTab uintptr) int32 { /* sqlite3.c:146371:20: */ var rc int32 = SQLITE_OK var pTab uintptr @@ -128877,7 +128897,7 @@ func Xsqlite3VtabCallDestroy(tls *libc.TLS, db uintptr, iDb int32, zTab uintptr) // the offset of the method to call in the sqlite3_module structure. // // The array is cleared after invoking the callbacks. -func callFinaliser(tls *libc.TLS, db uintptr, offset int32) { /* sqlite3.c:146401:13: */ +func callFinaliser(tls *libc.TLS, db uintptr, offset int32) { /* sqlite3.c:146415:13: */ var i int32 if (*Sqlite3)(unsafe.Pointer(db)).FaVTrans != 0 { var aVTrans uintptr = (*Sqlite3)(unsafe.Pointer(db)).FaVTrans @@ -128907,7 +128927,7 @@ func callFinaliser(tls *libc.TLS, db uintptr, offset int32) { /* sqlite3.c:14640 // SQLITE_OK if all xSync operations are successful. // // If an error message is available, leave it in p->zErrMsg. -func Xsqlite3VtabSync(tls *libc.TLS, db uintptr, p uintptr) int32 { /* sqlite3.c:146429:20: */ +func Xsqlite3VtabSync(tls *libc.TLS, db uintptr, p uintptr) int32 { /* sqlite3.c:146443:20: */ var i int32 var rc int32 = SQLITE_OK var aVTrans uintptr = (*Sqlite3)(unsafe.Pointer(db)).FaVTrans @@ -128929,14 +128949,14 @@ func Xsqlite3VtabSync(tls *libc.TLS, db uintptr, p uintptr) int32 { /* sqlite3.c // Invoke the xRollback method of all virtual tables in the // sqlite3.aVTrans array. Then clear the array itself. -func Xsqlite3VtabRollback(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:146451:20: */ +func Xsqlite3VtabRollback(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:146465:20: */ callFinaliser(tls, db, int32(uintptr(0)+136)) return SQLITE_OK } // Invoke the xCommit method of all virtual tables in the // sqlite3.aVTrans array. Then clear the array itself. -func Xsqlite3VtabCommit(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:146460:20: */ +func Xsqlite3VtabCommit(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:146474:20: */ callFinaliser(tls, db, int32(uintptr(0)+128)) return SQLITE_OK } @@ -128947,7 +128967,7 @@ func Xsqlite3VtabCommit(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:146460:2 // // If the xBegin call is successful, place the sqlite3_vtab pointer // in the sqlite3.aVTrans array. -func Xsqlite3VtabBegin(tls *libc.TLS, db uintptr, pVTab uintptr) int32 { /* sqlite3.c:146473:20: */ +func Xsqlite3VtabBegin(tls *libc.TLS, db uintptr, pVTab uintptr) int32 { /* sqlite3.c:146487:20: */ var rc int32 = SQLITE_OK var pModule uintptr @@ -129008,7 +129028,7 @@ func Xsqlite3VtabBegin(tls *libc.TLS, db uintptr, pVTab uintptr) int32 { /* sqli // processing is abandoned and the error returned to the caller of this // function immediately. If all calls to virtual table methods are successful, // SQLITE_OK is returned. -func Xsqlite3VtabSavepoint(tls *libc.TLS, db uintptr, op int32, iSavepoint int32) int32 { /* sqlite3.c:146533:20: */ +func Xsqlite3VtabSavepoint(tls *libc.TLS, db uintptr, op int32, iSavepoint int32) int32 { /* sqlite3.c:146547:20: */ var rc int32 = SQLITE_OK if (*Sqlite3)(unsafe.Pointer(db)).FaVTrans != 0 { @@ -129056,7 +129076,7 @@ func Xsqlite3VtabSavepoint(tls *libc.TLS, db uintptr, op int32, iSavepoint int32 // Return either the pDef argument (indicating no change) or a // new FuncDef structure that is marked as ephemeral using the // SQLITE_FUNC_EPHEM flag. -func Xsqlite3VtabOverloadFunction(tls *libc.TLS, db uintptr, pDef uintptr, nArg int32, pExpr uintptr) uintptr { /* sqlite3.c:146581:24: */ +func Xsqlite3VtabOverloadFunction(tls *libc.TLS, db uintptr, pDef uintptr, nArg int32, pExpr uintptr) uintptr { /* sqlite3.c:146595:24: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -129123,7 +129143,7 @@ func Xsqlite3VtabOverloadFunction(tls *libc.TLS, db uintptr, pDef uintptr, nArg // array so that an OP_VBegin will get generated for it. Add pTab to the // array if it is missing. If pTab is already in the array, this routine // is a no-op. -func Xsqlite3VtabMakeWritable(tls *libc.TLS, pParse uintptr, pTab uintptr) { /* sqlite3.c:146651:21: */ +func Xsqlite3VtabMakeWritable(tls *libc.TLS, pParse uintptr, pTab uintptr) { /* sqlite3.c:146665:21: */ var pToplevel uintptr = func() uintptr { if (*Parse)(unsafe.Pointer(pParse)).FpToplevel != 0 { return (*Parse)(unsafe.Pointer(pParse)).FpToplevel @@ -129162,7 +129182,7 @@ func Xsqlite3VtabMakeWritable(tls *libc.TLS, pParse uintptr, pTab uintptr) { /* // // Any virtual table module for which xConnect and xCreate are the same // method can have an eponymous virtual table instance. -func Xsqlite3VtabEponymousTableInit(tls *libc.TLS, pParse uintptr, pMod uintptr) int32 { /* sqlite3.c:146685:20: */ +func Xsqlite3VtabEponymousTableInit(tls *libc.TLS, pParse uintptr, pMod uintptr) int32 { /* sqlite3.c:146699:20: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -129207,7 +129227,7 @@ func Xsqlite3VtabEponymousTableInit(tls *libc.TLS, pParse uintptr, pMod uintptr) // Erase the eponymous virtual table instance associated with // virtual table module pMod, if it exists. -func Xsqlite3VtabEponymousTableClear(tls *libc.TLS, db uintptr, pMod uintptr) { /* sqlite3.c:146723:21: */ +func Xsqlite3VtabEponymousTableClear(tls *libc.TLS, db uintptr, pMod uintptr) { /* sqlite3.c:146737:21: */ var pTab uintptr = (*Module)(unsafe.Pointer(pMod)).FpEpoTab if pTab != uintptr(0) { // Mark the table as Ephemeral prior to deleting it, so that the @@ -129224,19 +129244,19 @@ func Xsqlite3VtabEponymousTableClear(tls *libc.TLS, db uintptr, pMod uintptr) { // // The results of this routine are undefined unless it is called from // within an xUpdate method. -func Xsqlite3_vtab_on_conflict(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:146742:16: */ +func Xsqlite3_vtab_on_conflict(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:146756:16: */ return int32(aMap[int32((*Sqlite3)(unsafe.Pointer(db)).FvtabOnConflict)-1]) } var aMap = [5]uint8{ uint8(SQLITE_ROLLBACK), uint8(SQLITE_ABORT), uint8(SQLITE_FAIL), uint8(SQLITE_IGNORE), uint8(SQLITE_REPLACE), -} /* sqlite3.c:146743:30 */ +} /* sqlite3.c:146757:30 */ // Call from within the xCreate() or xConnect() methods to provide // the SQLite core with additional information about the behavior // of the virtual table being implemented. -func Xsqlite3_vtab_config(tls *libc.TLS, db uintptr, op int32, va uintptr) int32 { /* sqlite3.c:146760:16: */ +func Xsqlite3_vtab_config(tls *libc.TLS, db uintptr, op int32, va uintptr) int32 { /* sqlite3.c:146774:16: */ var ap Va_list _ = ap var rc int32 = SQLITE_OK @@ -129245,7 +129265,7 @@ func Xsqlite3_vtab_config(tls *libc.TLS, db uintptr, op int32, va uintptr) int32 Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) p = (*Sqlite3)(unsafe.Pointer(db)).FpVtabCtx if !(p != 0) { - rc = Xsqlite3MisuseError(tls, 146771) + rc = Xsqlite3MisuseError(tls, 146785) } else { ap = va @@ -129273,7 +129293,7 @@ func Xsqlite3_vtab_config(tls *libc.TLS, db uintptr, op int32, va uintptr) int32 fallthrough default: { - rc = Xsqlite3MisuseError(tls, 146789) + rc = Xsqlite3MisuseError(tls, 146803) break } @@ -129377,23 +129397,23 @@ type WhereClause1 = struct { // a separate source file for easier editing. // Forward references -type WhereClause = WhereClause1 /* sqlite3.c:146849:28 */ +type WhereClause = WhereClause1 /* sqlite3.c:146863:28 */ type WhereMaskSet1 = struct { FbVarSelect int32 Fn int32 Fix [64]int32 } /* sqlite3.c:14626:9 */ -type WhereMaskSet = WhereMaskSet1 /* sqlite3.c:146850:29 */ +type WhereMaskSet = WhereMaskSet1 /* sqlite3.c:146864:29 */ type WhereOrInfo1 = struct { Fwc WhereClause Findexable Bitmask -} /* sqlite3.c:146851:9 */ +} /* sqlite3.c:146865:9 */ -type WhereOrInfo = WhereOrInfo1 /* sqlite3.c:146851:28 */ -type WhereAndInfo1 = struct{ Fwc WhereClause } /* sqlite3.c:146852:9 */ +type WhereOrInfo = WhereOrInfo1 /* sqlite3.c:146865:28 */ +type WhereAndInfo1 = struct{ Fwc WhereClause } /* sqlite3.c:146866:9 */ -type WhereAndInfo = WhereAndInfo1 /* sqlite3.c:146852:29 */ +type WhereAndInfo = WhereAndInfo1 /* sqlite3.c:146866:29 */ type WhereLevel1 = struct { FiLeftJoin int32 FiTabCur int32 @@ -129425,7 +129445,7 @@ type WhereLevel1 = struct { FnotReady Bitmask } /* sqlite3.c:14626:9 */ -type WhereLevel = WhereLevel1 /* sqlite3.c:146853:27 */ +type WhereLevel = WhereLevel1 /* sqlite3.c:146867:27 */ type WhereLoop1 = struct { Fprereq Bitmask FmaskSelf Bitmask @@ -129454,7 +129474,7 @@ type WhereLoop1 = struct { FaLTermSpace [3]uintptr } /* sqlite3.c:14626:9 */ -type WhereLoop = WhereLoop1 /* sqlite3.c:146854:26 */ +type WhereLoop = WhereLoop1 /* sqlite3.c:146868:26 */ type WherePath1 = struct { FmaskLoop Bitmask FrevLoop Bitmask @@ -129464,9 +129484,9 @@ type WherePath1 = struct { FisOrdered I8 F__ccgo_pad1 [1]byte FaLoop uintptr -} /* sqlite3.c:146855:9 */ +} /* sqlite3.c:146869:9 */ -type WherePath = WherePath1 /* sqlite3.c:146855:26 */ +type WherePath = WherePath1 /* sqlite3.c:146869:26 */ type WhereTerm1 = struct { FpExpr uintptr FpWC uintptr @@ -129488,7 +129508,7 @@ type WhereTerm1 = struct { FprereqAll Bitmask } /* sqlite3.c:14626:9 */ -type WhereTerm = WhereTerm1 /* sqlite3.c:146856:26 */ +type WhereTerm = WhereTerm1 /* sqlite3.c:146870:26 */ type WhereLoopBuilder1 = struct { FpWInfo uintptr FpWC uintptr @@ -129501,9 +129521,9 @@ type WhereLoopBuilder1 = struct { F__ccgo_pad1 [2]byte FiPlanLimit uint32 F__ccgo_pad2 [4]byte -} /* sqlite3.c:146857:9 */ +} /* sqlite3.c:146871:9 */ -type WhereLoopBuilder = WhereLoopBuilder1 /* sqlite3.c:146857:33 */ +type WhereLoopBuilder = WhereLoopBuilder1 /* sqlite3.c:146871:33 */ type WhereScan1 = struct { FpOrigWC uintptr FpWC uintptr @@ -129518,24 +129538,24 @@ type WhereScan1 = struct { FaiCur [11]int32 FaiColumn [11]I16 F__ccgo_pad2 [2]byte -} /* sqlite3.c:146858:9 */ +} /* sqlite3.c:146872:9 */ -type WhereScan = WhereScan1 /* sqlite3.c:146858:26 */ +type WhereScan = WhereScan1 /* sqlite3.c:146872:26 */ type WhereOrCost1 = struct { Fprereq Bitmask FrRun LogEst FnOut LogEst F__ccgo_pad1 [4]byte -} /* sqlite3.c:146857:9 */ +} /* sqlite3.c:146871:9 */ -type WhereOrCost = WhereOrCost1 /* sqlite3.c:146859:28 */ +type WhereOrCost = WhereOrCost1 /* sqlite3.c:146873:28 */ type WhereOrSet1 = struct { Fn U16 F__ccgo_pad1 [6]byte Fa [3]WhereOrCost -} /* sqlite3.c:146857:9 */ +} /* sqlite3.c:146871:9 */ -type WhereOrSet = WhereOrSet1 /* sqlite3.c:146860:27 */ +type WhereOrSet = WhereOrSet1 /* sqlite3.c:146874:27 */ // This object contains information needed to implement a single nested // loop in WHERE clause. @@ -129557,7 +129577,7 @@ type InLoop = struct { FnPrefix int32 FeEndLoopOp U8 F__ccgo_pad1 [3]byte -} /* sqlite3.c:146900:7 */ +} /* sqlite3.c:146914:7 */ // Allowed values for WhereLoopBuider.bldFlags @@ -129605,7 +129625,7 @@ type WhereExprMod1 = struct { // of an index rather than an expression or a virtual column. All // such transformations need to be undone at the end of WHERE clause // processing. -type WhereExprMod = WhereExprMod1 /* sqlite3.c:147262:29 */ +type WhereExprMod = WhereExprMod1 /* sqlite3.c:147276:29 */ // Bitmasks for the operators on WhereTerm objects. These are all // operators that are of interest to the query planner. An @@ -129627,7 +129647,7 @@ type WhereExprMod = WhereExprMod1 /* sqlite3.c:147262:29 */ //************* Continuing where we left off in wherecode.c ***************** // Return the name of the i-th column of the pIdx index. -func explainIndexColumnName(tls *libc.TLS, pIdx uintptr, i int32) uintptr { /* sqlite3.c:147456:19: */ +func explainIndexColumnName(tls *libc.TLS, pIdx uintptr, i int32) uintptr { /* sqlite3.c:147470:19: */ i = int32(*(*I16)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FaiColumn + uintptr(i)*2))) if i == -2 { return ts + 21374 /* "" */ @@ -129644,7 +129664,7 @@ func explainIndexColumnName(tls *libc.TLS, pIdx uintptr, i int32) uintptr { /* s // at a time. This routine adds a new term to the end of the expression. // Terms are separated by AND so add the "AND" text for second and subsequent // terms only. -func explainAppendTerm(tls *libc.TLS, pStr uintptr, pIdx uintptr, nTerm int32, iTerm int32, bAnd int32, zOp uintptr) { /* sqlite3.c:147471:13: */ +func explainAppendTerm(tls *libc.TLS, pStr uintptr, pIdx uintptr, nTerm int32, iTerm int32, bAnd int32, zOp uintptr) { /* sqlite3.c:147485:13: */ var i int32 if bAnd != 0 { @@ -129692,7 +129712,7 @@ func explainAppendTerm(tls *libc.TLS, pStr uintptr, pIdx uintptr, nTerm int32, i // string similar to: // // "a=? AND b>?" -func explainIndexRange(tls *libc.TLS, pStr uintptr, pLoop uintptr) { /* sqlite3.c:147515:13: */ +func explainIndexRange(tls *libc.TLS, pStr uintptr, pLoop uintptr) { /* sqlite3.c:147529:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -129737,7 +129757,7 @@ func explainIndexRange(tls *libc.TLS, pStr uintptr, pLoop uintptr) { /* sqlite3. // // If an OP_Explain opcode is added to the VM, its address is returned. // Otherwise, if no OP_Explain is coded, zero is returned. -func Xsqlite3WhereExplainOneScan(tls *libc.TLS, pParse uintptr, pTabList uintptr, pLevel uintptr, wctrlFlags U16) int32 { /* sqlite3.c:147549:20: */ +func Xsqlite3WhereExplainOneScan(tls *libc.TLS, pParse uintptr, pTabList uintptr, pLevel uintptr, wctrlFlags U16) int32 { /* sqlite3.c:147563:20: */ bp := tls.Alloc(196) defer tls.Free(196) @@ -129838,7 +129858,7 @@ func Xsqlite3WhereExplainOneScan(tls *libc.TLS, pParse uintptr, pTabList uintptr // // If an OP_Explain opcode is added to the VM, its address is returned. // Otherwise, if no OP_Explain is coded, zero is returned. -func Xsqlite3WhereExplainBloomFilter(tls *libc.TLS, pParse uintptr, pWInfo uintptr, pLevel uintptr) int32 { /* sqlite3.c:147661:20: */ +func Xsqlite3WhereExplainBloomFilter(tls *libc.TLS, pParse uintptr, pWInfo uintptr, pLevel uintptr) int32 { /* sqlite3.c:147675:20: */ bp := tls.Alloc(156) defer tls.Free(156) @@ -129921,7 +129941,7 @@ func Xsqlite3WhereExplainBloomFilter(tls *libc.TLS, pParse uintptr, pWInfo uintp // The TERM_LIKECOND marking indicates that the term should be coded inside // a conditional such that is only evaluated on the second pass of a // LIKE-optimization loop, when scanning BLOBs instead of strings. -func disableTerm(tls *libc.TLS, pLevel uintptr, pTerm uintptr) { /* sqlite3.c:147774:13: */ +func disableTerm(tls *libc.TLS, pLevel uintptr, pTerm uintptr) { /* sqlite3.c:147788:13: */ var nLoop int32 = 0 for int32((*WhereTerm)(unsafe.Pointer(pTerm)).FwtFlags)&TERM_CODED == 0 && @@ -129954,7 +129974,7 @@ func disableTerm(tls *libc.TLS, pLevel uintptr, pTerm uintptr) { /* sqlite3.c:14 // // This routine makes its own copy of zAff so that the caller is free // to modify zAff after this routine returns. -func codeApplyAffinity(tls *libc.TLS, pParse uintptr, base int32, n int32, zAff uintptr) { /* sqlite3.c:147812:13: */ +func codeApplyAffinity(tls *libc.TLS, pParse uintptr, base int32, n int32, zAff uintptr) { /* sqlite3.c:147826:13: */ var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe if zAff == uintptr(0) { @@ -129987,7 +130007,7 @@ func codeApplyAffinity(tls *libc.TLS, pParse uintptr, base int32, n int32, zAff // // * the comparison will be performed with no affinity, or // * the affinity change in zAff is guaranteed not to change the value. -func updateRangeAffinityStr(tls *libc.TLS, pRight uintptr, n int32, zAff uintptr) { /* sqlite3.c:147849:13: */ +func updateRangeAffinityStr(tls *libc.TLS, pRight uintptr, n int32, zAff uintptr) { /* sqlite3.c:147863:13: */ var i int32 for i = 0; i < n; i++ { var p uintptr = Xsqlite3VectorFieldSubexpr(tls, pRight, i) @@ -130025,7 +130045,7 @@ func updateRangeAffinityStr(tls *libc.TLS, pRight uintptr, n int32, zAff uintptr // The reduced pX is different from the original (obviously) and thus is // only used for indexing, to improve performance. The original unaltered // IN expression must also be run on each output row for correctness. -func removeUnindexableInClauseTerms(tls *libc.TLS, pParse uintptr, iEq int32, pLoop uintptr, pX uintptr) uintptr { /* sqlite3.c:147895:13: */ +func removeUnindexableInClauseTerms(tls *libc.TLS, pParse uintptr, iEq int32, pLoop uintptr, pX uintptr) uintptr { /* sqlite3.c:147909:13: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb var pNew uintptr pNew = Xsqlite3ExprDup(tls, db, pX, 0) @@ -130100,7 +130120,7 @@ func removeUnindexableInClauseTerms(tls *libc.TLS, pParse uintptr, iEq int32, pL // For a constraint of the form X=expr, the expression is evaluated in // straight-line code. For constraints of the form X IN (...) // this routine sets up a loop that will iterate over all values of X. -func codeEqualityTerm(tls *libc.TLS, pParse uintptr, pTerm uintptr, pLevel uintptr, iEq int32, bRev int32, iTarget int32) int32 { /* sqlite3.c:147984:12: */ +func codeEqualityTerm(tls *libc.TLS, pParse uintptr, pTerm uintptr, pLevel uintptr, iEq int32, bRev int32, iTarget int32) int32 { /* sqlite3.c:147998:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -130293,7 +130313,7 @@ func codeEqualityTerm(tls *libc.TLS, pParse uintptr, pTerm uintptr, pLevel uintp // no conversion should be attempted before using a t2.b value as part of // a key to search the index. Hence the first byte in the returned affinity // string in this example would be set to SQLITE_AFF_BLOB. -func codeAllEqualityTerms(tls *libc.TLS, pParse uintptr, pLevel uintptr, bRev int32, nExtraReg int32, pzAff uintptr) int32 { /* sqlite3.c:148180:12: */ +func codeAllEqualityTerms(tls *libc.TLS, pParse uintptr, pLevel uintptr, bRev int32, nExtraReg int32, pzAff uintptr) int32 { /* sqlite3.c:148194:12: */ var nEq U16 // The number of == or IN constraints to code var nSkip U16 // Number of left-most columns to skip var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe // The vm under construction @@ -130414,7 +130434,7 @@ func codeAllEqualityTerms(tls *libc.TLS, pParse uintptr, pLevel uintptr, bRev in // on. For each table column, if the column is the i'th column of the // index, then the corresponding array entry is set to (i+1). If the column // does not appear in the index at all, the array entry is set to 0. -func codeDeferredSeek(tls *libc.TLS, pWInfo uintptr, pIdx uintptr, iCur int32, iIdxCur int32) { /* sqlite3.c:148558:13: */ +func codeDeferredSeek(tls *libc.TLS, pWInfo uintptr, pIdx uintptr, iCur int32, iIdxCur int32) { /* sqlite3.c:148572:13: */ var pParse uintptr = (*WhereInfo)(unsafe.Pointer(pWInfo)).FpParse // Parse context var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe // Vdbe to generate code within @@ -130455,7 +130475,7 @@ func codeDeferredSeek(tls *libc.TLS, pWInfo uintptr, pIdx uintptr, iCur int32, i // If the expression is not a vector, then nReg must be passed 1. In // this case, generate code to evaluate the expression and leave the // result in register iReg. -func codeExprOrVector(tls *libc.TLS, pParse uintptr, p uintptr, iReg int32, nReg int32) { /* sqlite3.c:148602:13: */ +func codeExprOrVector(tls *libc.TLS, pParse uintptr, p uintptr, iReg int32, nReg int32) { /* sqlite3.c:148616:13: */ if p != 0 && Xsqlite3ExprIsVector(tls, p) != 0 { if (*Expr)(unsafe.Pointer(p)).Fflags&U32(EP_xIsSelect) != U32(0) { @@ -130483,10 +130503,10 @@ func codeExprOrVector(tls *libc.TLS, pParse uintptr, p uintptr, iReg int32, nReg // An instance of the IdxExprTrans object carries information about a // mapping from an expression on table columns into a column in an index // down through the Walker. -type IdxExprTrans = IdxExprTrans1 /* sqlite3.c:148642:3 */ +type IdxExprTrans = IdxExprTrans1 /* sqlite3.c:148656:3 */ // Preserve pExpr on the WhereETrans list of the WhereInfo. -func preserveExpr(tls *libc.TLS, pTrans uintptr, pExpr uintptr) { /* sqlite3.c:148647:13: */ +func preserveExpr(tls *libc.TLS, pTrans uintptr, pExpr uintptr) { /* sqlite3.c:148661:13: */ var pNew uintptr pNew = Xsqlite3DbMallocRaw(tls, (*IdxExprTrans)(unsafe.Pointer(pTrans)).Fdb, uint64(unsafe.Sizeof(WhereExprMod{}))) if pNew == uintptr(0) { @@ -130503,7 +130523,7 @@ func preserveExpr(tls *libc.TLS, pTrans uintptr, pExpr uintptr) { /* sqlite3.c:1 // // If pExpr matches, then transform it into a reference to the index column // that contains the value of pExpr. -func whereIndexExprTransNode(tls *libc.TLS, p uintptr, pExpr uintptr) int32 { /* sqlite3.c:148663:12: */ +func whereIndexExprTransNode(tls *libc.TLS, p uintptr, pExpr uintptr) int32 { /* sqlite3.c:148677:12: */ var pX uintptr = *(*uintptr)(unsafe.Pointer(p + 40)) if Xsqlite3ExprCompare(tls, uintptr(0), pExpr, (*IdxExprTrans)(unsafe.Pointer(pX)).FpIdxExpr, (*IdxExprTrans)(unsafe.Pointer(pX)).FiTabCur) == 0 { preserveExpr(tls, pX, pExpr) @@ -130523,7 +130543,7 @@ func whereIndexExprTransNode(tls *libc.TLS, p uintptr, pExpr uintptr) int32 { /* // A walker node callback that translates a column reference to a table // into a corresponding column reference of an index. -func whereIndexExprTransColumn(tls *libc.TLS, p uintptr, pExpr uintptr) int32 { /* sqlite3.c:148685:12: */ +func whereIndexExprTransColumn(tls *libc.TLS, p uintptr, pExpr uintptr) int32 { /* sqlite3.c:148699:12: */ if int32((*Expr)(unsafe.Pointer(pExpr)).Fop) == TK_COLUMN { var pX uintptr = *(*uintptr)(unsafe.Pointer(p + 40)) if (*Expr)(unsafe.Pointer(pExpr)).FiTable == (*IdxExprTrans)(unsafe.Pointer(pX)).FiTabCur && int32((*Expr)(unsafe.Pointer(pExpr)).FiColumn) == (*IdxExprTrans)(unsafe.Pointer(pX)).FiTabCol { @@ -130545,7 +130565,7 @@ func whereIndexExprTransColumn(tls *libc.TLS, p uintptr, pExpr uintptr) int32 { // 2019-10-24: Updated to also translate references to a VIRTUAL column in // the table into references to the corresponding (stored) column of the // index. -func whereIndexExprTrans(tls *libc.TLS, pIdx uintptr, iTabCur int32, iIdxCur int32, pWInfo uintptr) { /* sqlite3.c:148710:13: */ +func whereIndexExprTrans(tls *libc.TLS, pIdx uintptr, iTabCur int32, iIdxCur int32, pWInfo uintptr) { /* sqlite3.c:148724:13: */ bp := tls.Alloc(88) defer tls.Free(88) @@ -130610,7 +130630,7 @@ func whereIndexExprTrans(tls *libc.TLS, pIdx uintptr, iTabCur int32, iIdxCur int // WHERE clause terms on the query, and if any of those terms must be // true because pTruth is true, then mark those WHERE clause terms as // coded. -func whereApplyPartialIndexConstraints(tls *libc.TLS, pTruth uintptr, iTabCur int32, pWC uintptr) { /* sqlite3.c:148774:13: */ +func whereApplyPartialIndexConstraints(tls *libc.TLS, pTruth uintptr, iTabCur int32, pWC uintptr) { /* sqlite3.c:148788:13: */ var i int32 var pTerm uintptr for int32((*Expr)(unsafe.Pointer(pTruth)).Fop) == TK_AND { @@ -130656,7 +130676,7 @@ __3: // WhereLevel.regFilter set. If an inner-loop Bloom filter is checked, // then clear the WhereLevel.regFilter value to prevent the Bloom filter // from being checked a second time when the inner loop is evaluated. -func filterPullDown(tls *libc.TLS, pParse uintptr, pWInfo uintptr, iLevel int32, addrNxt int32, notReady Bitmask) { /* sqlite3.c:148810:29: */ +func filterPullDown(tls *libc.TLS, pParse uintptr, pWInfo uintptr, iLevel int32, addrNxt int32, notReady Bitmask) { /* sqlite3.c:148824:29: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -130701,7 +130721,7 @@ func filterPullDown(tls *libc.TLS, pParse uintptr, pWInfo uintptr, iLevel int32, // Generate code for the start of the iLevel-th loop in the WHERE clause // implementation described by pWInfo. -func Xsqlite3WhereCodeOneLoopStart(tls *libc.TLS, pParse uintptr, v uintptr, pWInfo uintptr, iLevel int32, pLevel uintptr, notReady Bitmask) Bitmask { /* sqlite3.c:148858:24: */ +func Xsqlite3WhereCodeOneLoopStart(tls *libc.TLS, pParse uintptr, v uintptr, pWInfo uintptr, iLevel int32, pLevel uintptr, notReady Bitmask) Bitmask { /* sqlite3.c:148872:24: */ bp := tls.Alloc(96) defer tls.Free(96) @@ -131931,24 +131951,24 @@ var aStartOp = [8]U8{ U8(OP_SeekLT), // 5: (start_constraints && !startEq && bRev) U8(OP_SeekGE), // 6: (start_constraints && startEq && !bRev) U8(OP_SeekLE), // 7: (start_constraints && startEq && bRev) -} /* sqlite3.c:149238:21 */ +} /* sqlite3.c:149252:21 */ var aEndOp = [4]U8{ U8(OP_IdxGE), // 0: (end_constraints && !bRev && !endEq) U8(OP_IdxGT), // 1: (end_constraints && !bRev && endEq) U8(OP_IdxLE), // 2: (end_constraints && bRev && !endEq) U8(OP_IdxLT), // 3: (end_constraints && bRev && endEq) -} /* sqlite3.c:149248:21 */ -var aStep = [2]U8{U8(OP_Next), U8(OP_Prev)} /* sqlite3.c:149966:21 */ -var aStart = [2]U8{U8(OP_Rewind), U8(OP_Last)} /* sqlite3.c:149967:21 */ +} /* sqlite3.c:149262:21 */ +var aStep = [2]U8{U8(OP_Next), U8(OP_Prev)} /* sqlite3.c:149980:21 */ +var aStart = [2]U8{U8(OP_Rewind), U8(OP_Last)} /* sqlite3.c:149981:21 */ // Deallocate all memory associated with a WhereOrInfo object. -func whereOrInfoDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:150176:13: */ +func whereOrInfoDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:150190:13: */ Xsqlite3WhereClauseClear(tls, p) Xsqlite3DbFree(tls, db, p) } // Deallocate all memory associated with a WhereAndInfo object. -func whereAndInfoDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:150184:13: */ +func whereAndInfoDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:150198:13: */ Xsqlite3WhereClauseClear(tls, p) Xsqlite3DbFree(tls, db, p) } @@ -131970,7 +131990,7 @@ func whereAndInfoDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:150 // WhereTerms. All pointers to WhereTerms should be invalidated after // calling this routine. Such pointers may be reinitialized by referencing // the pWC->a[] array. -func whereClauseInsert(tls *libc.TLS, pWC uintptr, p uintptr, wtFlags U16) int32 { /* sqlite3.c:150208:12: */ +func whereClauseInsert(tls *libc.TLS, pWC uintptr, p uintptr, wtFlags U16) int32 { /* sqlite3.c:150222:12: */ var pTerm uintptr var idx int32 @@ -132012,14 +132032,14 @@ func whereClauseInsert(tls *libc.TLS, pWC uintptr, p uintptr, wtFlags U16) int32 // Return TRUE if the given operator is one of the operators that is // allowed for an indexable WHERE clause term. The allowed operators are // "=", "<", ">", "<=", ">=", "IN", "IS", and "IS NULL" -func allowedOp(tls *libc.TLS, op int32) int32 { /* sqlite3.c:150250:12: */ +func allowedOp(tls *libc.TLS, op int32) int32 { /* sqlite3.c:150264:12: */ return libc.Bool32(op == TK_IN || op >= TK_EQ && op <= TK_GE || op == TK_ISNULL || op == TK_IS) } // Commute a comparison operator. Expressions of the form "X op Y" // are converted into "Y op X". -func exprCommute(tls *libc.TLS, pParse uintptr, pExpr uintptr) U16 { /* sqlite3.c:150262:12: */ +func exprCommute(tls *libc.TLS, pParse uintptr, pExpr uintptr) U16 { /* sqlite3.c:150276:12: */ if int32((*Expr)(unsafe.Pointer((*Expr)(unsafe.Pointer(pExpr)).FpLeft)).Fop) == TK_VECTOR || int32((*Expr)(unsafe.Pointer((*Expr)(unsafe.Pointer(pExpr)).FpRight)).Fop) == TK_VECTOR || Xsqlite3BinaryCompareCollSeq(tls, pParse, (*Expr)(unsafe.Pointer(pExpr)).FpLeft, (*Expr)(unsafe.Pointer(pExpr)).FpRight) != Xsqlite3BinaryCompareCollSeq(tls, pParse, (*Expr)(unsafe.Pointer(pExpr)).FpRight, (*Expr)(unsafe.Pointer(pExpr)).FpLeft) { @@ -132039,7 +132059,7 @@ func exprCommute(tls *libc.TLS, pParse uintptr, pExpr uintptr) U16 { /* sqlite3. } // Translate from TK_xx operator to WO_xx bitmask. -func operatorMask(tls *libc.TLS, op int32) U16 { /* sqlite3.c:150285:12: */ +func operatorMask(tls *libc.TLS, op int32) U16 { /* sqlite3.c:150299:12: */ var c U16 if op == TK_IN { @@ -132066,7 +132086,7 @@ func operatorMask(tls *libc.TLS, op int32) U16 { /* sqlite3.c:150285:12: */ // that virtual tables cannot participate in the LIKE optimization.) The // collating sequence for the column on the LHS must be appropriate for // the operator. -func isLikeOrGlob(tls *libc.TLS, pParse uintptr, pExpr uintptr, ppPrefix uintptr, pisComplete uintptr, pnoCase uintptr) int32 { /* sqlite3.c:150323:12: */ +func isLikeOrGlob(tls *libc.TLS, pParse uintptr, pExpr uintptr, ppPrefix uintptr, pisComplete uintptr, pnoCase uintptr) int32 { /* sqlite3.c:150337:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -132238,7 +132258,7 @@ func isLikeOrGlob(tls *libc.TLS, pParse uintptr, pExpr uintptr, ppPrefix uintptr // of virtual table in forms (5) or (7) then return 2. // // If the expression matches none of the patterns above, return 0. -func isAuxiliaryVtabOperator(tls *libc.TLS, db uintptr, pExpr uintptr, peOp2 uintptr, ppLeft uintptr, ppRight uintptr) int32 { /* sqlite3.c:150502:12: */ +func isAuxiliaryVtabOperator(tls *libc.TLS, db uintptr, pExpr uintptr, peOp2 uintptr, ppLeft uintptr, ppRight uintptr) int32 { /* sqlite3.c:150516:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -132343,18 +132363,18 @@ type Op2 = struct { FzOp uintptr FeOp2 uint8 F__ccgo_pad1 [7]byte -} /* sqlite3.c:150510:18 */ +} /* sqlite3.c:150524:18 */ var aOp = [4]Op2{ {FzOp: ts + 16023, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_MATCH)}, {FzOp: ts + 15345, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_GLOB)}, {FzOp: ts + 14871, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_LIKE)}, {FzOp: ts + 21646, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_REGEXP)}, -} /* sqlite3.c:150513:7 */ +} /* sqlite3.c:150527:7 */ // If the pBase expression originated in the ON or USING clause of // a join, then transfer the appropriate markings over to derived. -func transferJoinMarkings(tls *libc.TLS, pDerived uintptr, pBase uintptr) { /* sqlite3.c:150614:13: */ +func transferJoinMarkings(tls *libc.TLS, pDerived uintptr, pBase uintptr) { /* sqlite3.c:150628:13: */ if pDerived != 0 { *(*U32)(unsafe.Pointer(pDerived + 4)) |= (*Expr)(unsafe.Pointer(pBase)).Fflags & U32(EP_FromJoin) *(*int32)(unsafe.Pointer(pDerived + 52)) = *(*int32)(unsafe.Pointer(pBase + 52)) @@ -132362,7 +132382,7 @@ func transferJoinMarkings(tls *libc.TLS, pDerived uintptr, pBase uintptr) { /* s } // Mark term iChild as being a child of term iParent -func markTermAsChild(tls *libc.TLS, pWC uintptr, iChild int32, iParent int32) { /* sqlite3.c:150624:13: */ +func markTermAsChild(tls *libc.TLS, pWC uintptr, iChild int32, iParent int32) { /* sqlite3.c:150638:13: */ (*WhereTerm)(unsafe.Pointer((*WhereClause)(unsafe.Pointer(pWC)).Fa + uintptr(iChild)*56)).FiParent = iParent (*WhereTerm)(unsafe.Pointer((*WhereClause)(unsafe.Pointer(pWC)).Fa + uintptr(iChild)*56)).FtruthProb = (*WhereTerm)(unsafe.Pointer((*WhereClause)(unsafe.Pointer(pWC)).Fa + uintptr(iParent)*56)).FtruthProb (*WhereTerm)(unsafe.Pointer((*WhereClause)(unsafe.Pointer(pWC)).Fa+uintptr(iParent)*56)).FnChild++ @@ -132371,7 +132391,7 @@ func markTermAsChild(tls *libc.TLS, pWC uintptr, iChild int32, iParent int32) { // Return the N-th AND-connected subterm of pTerm. Or if pTerm is not // a conjunction, then return just pTerm when N==0. If N is exceeds // the number of available subterms, return NULL. -func whereNthSubterm(tls *libc.TLS, pTerm uintptr, N int32) uintptr { /* sqlite3.c:150635:18: */ +func whereNthSubterm(tls *libc.TLS, pTerm uintptr, N int32) uintptr { /* sqlite3.c:150649:18: */ if int32((*WhereTerm)(unsafe.Pointer(pTerm)).FeOperator) != WO_AND { if N == 0 { return pTerm @@ -132402,7 +132422,7 @@ func whereNthSubterm(tls *libc.TLS, pTerm uintptr, N int32) uintptr { /* sqlite3 // The following is NOT generated: // // xy --> x!=y -func whereCombineDisjuncts(tls *libc.TLS, pSrc uintptr, pWC uintptr, pOne uintptr, pTwo uintptr) { /* sqlite3.c:150665:13: */ +func whereCombineDisjuncts(tls *libc.TLS, pSrc uintptr, pWC uintptr, pOne uintptr, pTwo uintptr) { /* sqlite3.c:150679:13: */ var eOp U16 = U16(int32((*WhereTerm)(unsafe.Pointer(pOne)).FeOperator) | int32((*WhereTerm)(unsafe.Pointer(pTwo)).FeOperator)) var db uintptr // Database connection (for malloc) var pNew uintptr // New virtual expression @@ -132535,7 +132555,7 @@ func whereCombineDisjuncts(tls *libc.TLS, pSrc uintptr, pWC uintptr, pOne uintpt // // If none of cases 1, 2, or 3 apply, then leave the eOperator set to // zero. This term is not useful for search. -func exprAnalyzeOrTerm(tls *libc.TLS, pSrc uintptr, pWC uintptr, idxTerm int32) { /* sqlite3.c:150792:13: */ +func exprAnalyzeOrTerm(tls *libc.TLS, pSrc uintptr, pWC uintptr, idxTerm int32) { /* sqlite3.c:150806:13: */ var pWInfo uintptr = (*WhereClause)(unsafe.Pointer(pWC)).FpWInfo // WHERE clause processing context var pParse uintptr = (*WhereInfo)(unsafe.Pointer(pWInfo)).FpParse // Parser context var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb // Database connection @@ -132854,7 +132874,7 @@ __3: // for the LHS anyplace else in the WHERE clause where the LHS column occurs. // This is an optimization. No harm comes from returning 0. But if 1 is // returned when it should not be, then incorrect answers might result. -func termIsEquivalence(tls *libc.TLS, pParse uintptr, pExpr uintptr) int32 { /* sqlite3.c:151066:12: */ +func termIsEquivalence(tls *libc.TLS, pParse uintptr, pExpr uintptr) int32 { /* sqlite3.c:151080:12: */ var aff1 int8 var aff2 int8 var pColl uintptr @@ -132883,7 +132903,7 @@ func termIsEquivalence(tls *libc.TLS, pParse uintptr, pExpr uintptr) int32 { /* // Recursively walk the expressions of a SELECT statement and generate // a bitmask indicating which tables are used in that expression // tree. -func exprSelectUsage(tls *libc.TLS, pMaskSet uintptr, pS uintptr) Bitmask { /* sqlite3.c:151089:16: */ +func exprSelectUsage(tls *libc.TLS, pMaskSet uintptr, pS uintptr) Bitmask { /* sqlite3.c:151103:16: */ var mask Bitmask = uint64(0) for pS != 0 { var pSrc uintptr = (*Select)(unsafe.Pointer(pS)).FpSrc @@ -132918,7 +132938,7 @@ func exprSelectUsage(tls *libc.TLS, pMaskSet uintptr, pS uintptr) Bitmask { /* s // If pExpr is a TK_COLUMN column reference, then this routine always returns // true even if that particular column is not indexed, because the column // might be added to an automatic index later. -func exprMightBeIndexed2(tls *libc.TLS, pFrom uintptr, mPrereq Bitmask, aiCurCol uintptr, pExpr uintptr) int32 { /* sqlite3.c:151126:28: */ +func exprMightBeIndexed2(tls *libc.TLS, pFrom uintptr, mPrereq Bitmask, aiCurCol uintptr, pExpr uintptr) int32 { /* sqlite3.c:151140:28: */ var pIdx uintptr var i int32 var iCur int32 @@ -132956,7 +132976,7 @@ __3: return 0 } -func exprMightBeIndexed(tls *libc.TLS, pFrom uintptr, mPrereq Bitmask, aiCurCol uintptr, pExpr uintptr, op int32) int32 { /* sqlite3.c:151150:12: */ +func exprMightBeIndexed(tls *libc.TLS, pFrom uintptr, mPrereq Bitmask, aiCurCol uintptr, pExpr uintptr, op int32) int32 { /* sqlite3.c:151164:12: */ // If this expression is a vector to the left or right of a // inequality constraint (>, <, >= or <=), perform the processing // on the first element of the vector. @@ -132997,7 +133017,7 @@ func exprMightBeIndexed(tls *libc.TLS, pFrom uintptr, mPrereq Bitmask, aiCurCol // needs to be freed with the WhereClause) and TERM_VIRTUAL (because it // is a commuted copy of a prior term.) The original term has nChild=1 // and the copy has idxParent set to the index of the original term. -func exprAnalyze(tls *libc.TLS, pSrc uintptr, pWC uintptr, idxTerm int32) { /* sqlite3.c:151198:13: */ +func exprAnalyze(tls *libc.TLS, pSrc uintptr, pWC uintptr, idxTerm int32) { /* sqlite3.c:151212:13: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -133365,7 +133385,7 @@ func exprAnalyze(tls *libc.TLS, pSrc uintptr, pWC uintptr, idxTerm int32) { /* s *(*Bitmask)(unsafe.Pointer(pTerm + 40)) |= extraRight } -var ops = [2]U8{U8(TK_GE), U8(TK_LE)} /* sqlite3.c:151367:21 */ +var ops = [2]U8{U8(TK_GE), U8(TK_LE)} /* sqlite3.c:151381:21 */ // ************************************************************************** // @@ -133388,7 +133408,7 @@ var ops = [2]U8{U8(TK_GE), U8(TK_LE)} /* sqlite3.c:151367:21 */ // In the previous sentence and in the diagram, "slot[]" refers to // the WhereClause.a[] array. The slot[] array grows as needed to contain // all terms of the WHERE clause. -func Xsqlite3WhereSplit(tls *libc.TLS, pWC uintptr, pExpr uintptr, op U8) { /* sqlite3.c:151663:21: */ +func Xsqlite3WhereSplit(tls *libc.TLS, pWC uintptr, pExpr uintptr, op U8) { /* sqlite3.c:151677:21: */ var pE2 uintptr = Xsqlite3ExprSkipCollateAndLikely(tls, pExpr) (*WhereClause)(unsafe.Pointer(pWC)).Fop = op @@ -133412,7 +133432,7 @@ func Xsqlite3WhereSplit(tls *libc.TLS, pWC uintptr, pExpr uintptr, op U8) { /* s // (example: "LIMIT 5 OFFSET 10") then the expression codes as a // TK_INTEGER so that it will be available to sqlite3_vtab_rhs_value(). // If not, then it codes as a TK_REGISTER expression. -func whereAddLimitExpr(tls *libc.TLS, pWC uintptr, iReg int32, pExpr uintptr, iCsr int32, eMatchOp int32) { /* sqlite3.c:151687:13: */ +func whereAddLimitExpr(tls *libc.TLS, pWC uintptr, iReg int32, pExpr uintptr, iCsr int32, eMatchOp int32) { /* sqlite3.c:151701:13: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -133464,7 +133484,7 @@ func whereAddLimitExpr(tls *libc.TLS, pWC uintptr, iReg int32, pExpr uintptr, iC // LIMIT and OFFSET terms are ignored by most of the planner code. They // exist only so that they may be passed to the xBestIndex method of the // single virtual table in the FROM clause of the SELECT. -func Xsqlite3WhereAddLimit(tls *libc.TLS, pWC uintptr, p uintptr) { /* sqlite3.c:151740:21: */ +func Xsqlite3WhereAddLimit(tls *libc.TLS, pWC uintptr, p uintptr) { /* sqlite3.c:151754:21: */ if p != 0 && (*Select)(unsafe.Pointer(p)).FpLimit != 0 && (*Select)(unsafe.Pointer(p)).FselFlags&U32(SF_Distinct|SF_Aggregate) == U32(0) && @@ -133514,7 +133534,7 @@ func Xsqlite3WhereAddLimit(tls *libc.TLS, pWC uintptr, p uintptr) { /* sqlite3.c } // Initialize a preallocated WhereClause structure. -func Xsqlite3WhereClauseInit(tls *libc.TLS, pWC uintptr, pWInfo uintptr) { /* sqlite3.c:151786:21: */ +func Xsqlite3WhereClauseInit(tls *libc.TLS, pWC uintptr, pWInfo uintptr) { /* sqlite3.c:151800:21: */ (*WhereClause)(unsafe.Pointer(pWC)).FpWInfo = pWInfo (*WhereClause)(unsafe.Pointer(pWC)).FhasOr = U8(0) (*WhereClause)(unsafe.Pointer(pWC)).FpOuter = uintptr(0) @@ -133527,7 +133547,7 @@ func Xsqlite3WhereClauseInit(tls *libc.TLS, pWC uintptr, pWInfo uintptr) { /* sq // Deallocate a WhereClause structure. The WhereClause structure // itself is not freed. This routine is the inverse of // sqlite3WhereClauseInit(). -func Xsqlite3WhereClauseClear(tls *libc.TLS, pWC uintptr) { /* sqlite3.c:151804:21: */ +func Xsqlite3WhereClauseClear(tls *libc.TLS, pWC uintptr) { /* sqlite3.c:151818:21: */ var db uintptr = (*Parse)(unsafe.Pointer((*WhereInfo)(unsafe.Pointer((*WhereClause)(unsafe.Pointer(pWC)).FpWInfo)).FpParse)).Fdb if (*WhereClause)(unsafe.Pointer(pWC)).FnTerm > 0 { @@ -133587,7 +133607,7 @@ func Xsqlite3WhereClauseClear(tls *libc.TLS, pWC uintptr) { /* sqlite3.c:151804: // computations done by this routine are broken out into a separate // "no-inline" function to avoid the stack push overhead in the // common case where it is not needed. -func sqlite3WhereExprUsageFull(tls *libc.TLS, pMaskSet uintptr, p uintptr) Bitmask { /* sqlite3.c:151872:32: */ +func sqlite3WhereExprUsageFull(tls *libc.TLS, pMaskSet uintptr, p uintptr) Bitmask { /* sqlite3.c:151886:32: */ var mask Bitmask if int32((*Expr)(unsafe.Pointer(p)).Fop) == TK_IF_NULL_ROW { mask = Xsqlite3WhereGetMask(tls, pMaskSet, (*Expr)(unsafe.Pointer(p)).FiTable) @@ -133617,7 +133637,7 @@ func sqlite3WhereExprUsageFull(tls *libc.TLS, pMaskSet uintptr, p uintptr) Bitma return mask } -func Xsqlite3WhereExprUsageNN(tls *libc.TLS, pMaskSet uintptr, p uintptr) Bitmask { /* sqlite3.c:151898:24: */ +func Xsqlite3WhereExprUsageNN(tls *libc.TLS, pMaskSet uintptr, p uintptr) Bitmask { /* sqlite3.c:151912:24: */ if int32((*Expr)(unsafe.Pointer(p)).Fop) == TK_COLUMN && !((*Expr)(unsafe.Pointer(p)).Fflags&U32(EP_FixedCol) != U32(0)) { return Xsqlite3WhereGetMask(tls, pMaskSet, (*Expr)(unsafe.Pointer(p)).FiTable) } else if (*Expr)(unsafe.Pointer(p)).Fflags&U32(EP_TokenOnly|EP_Leaf) != U32(0) { @@ -133627,14 +133647,14 @@ func Xsqlite3WhereExprUsageNN(tls *libc.TLS, pMaskSet uintptr, p uintptr) Bitmas return sqlite3WhereExprUsageFull(tls, pMaskSet, p) } -func Xsqlite3WhereExprUsage(tls *libc.TLS, pMaskSet uintptr, p uintptr) Bitmask { /* sqlite3.c:151907:24: */ +func Xsqlite3WhereExprUsage(tls *libc.TLS, pMaskSet uintptr, p uintptr) Bitmask { /* sqlite3.c:151921:24: */ if p != 0 { return Xsqlite3WhereExprUsageNN(tls, pMaskSet, p) } return uint64(0) } -func Xsqlite3WhereExprListUsage(tls *libc.TLS, pMaskSet uintptr, pList uintptr) Bitmask { /* sqlite3.c:151910:24: */ +func Xsqlite3WhereExprListUsage(tls *libc.TLS, pMaskSet uintptr, pList uintptr) Bitmask { /* sqlite3.c:151924:24: */ var i int32 var mask Bitmask = uint64(0) if pList != 0 { @@ -133651,7 +133671,7 @@ func Xsqlite3WhereExprListUsage(tls *libc.TLS, pMaskSet uintptr, pList uintptr) // end of the WHERE clause. We do not want to analyze these new // virtual terms, so start analyzing at the end and work forward // so that the added virtual terms are never processed. -func Xsqlite3WhereExprAnalyze(tls *libc.TLS, pTabList uintptr, pWC uintptr) { /* sqlite3.c:151930:21: */ +func Xsqlite3WhereExprAnalyze(tls *libc.TLS, pTabList uintptr, pWC uintptr) { /* sqlite3.c:151944:21: */ var i int32 for i = (*WhereClause)(unsafe.Pointer(pWC)).FnTerm - 1; i >= 0; i-- { exprAnalyze(tls, pTabList, pWC, i) @@ -133663,7 +133683,7 @@ func Xsqlite3WhereExprAnalyze(tls *libc.TLS, pTabList uintptr, pWC uintptr) { /* // // Each function argument translates into an equality constraint against // a HIDDEN column in the table. -func Xsqlite3WhereTabFuncArgs(tls *libc.TLS, pParse uintptr, pItem uintptr, pWC uintptr) { /* sqlite3.c:151947:21: */ +func Xsqlite3WhereTabFuncArgs(tls *libc.TLS, pParse uintptr, pItem uintptr, pWC uintptr) { /* sqlite3.c:151961:21: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -133747,7 +133767,7 @@ type HiddenIndexInfo1 = struct { FmHandleIn U32 F__ccgo_pad1 [4]byte FaRhs [1]uintptr -} /* sqlite3.c:152019:9 */ +} /* sqlite3.c:152033:9 */ //************* End of whereexpr.c ****************************************** //************* Begin file where.c ****************************************** @@ -133777,16 +133797,16 @@ type HiddenIndexInfo1 = struct { // This object is not an API and can be changed from one release to the // next. As long as allocateIndexInfo() and sqlite3_vtab_collation() // agree on the structure, all will be well. -type HiddenIndexInfo = HiddenIndexInfo1 /* sqlite3.c:152019:32 */ +type HiddenIndexInfo = HiddenIndexInfo1 /* sqlite3.c:152033:32 */ // Return the estimated number of output rows from a WHERE clause -func Xsqlite3WhereOutputRowCount(tls *libc.TLS, pWInfo uintptr) LogEst { /* sqlite3.c:152037:23: */ +func Xsqlite3WhereOutputRowCount(tls *libc.TLS, pWInfo uintptr) LogEst { /* sqlite3.c:152051:23: */ return (*WhereInfo)(unsafe.Pointer(pWInfo)).FnRowOut } // Return one of the WHERE_DISTINCT_xxxxx values to indicate how this // WHERE clause returns outputs for DISTINCT processing. -func Xsqlite3WhereIsDistinct(tls *libc.TLS, pWInfo uintptr) int32 { /* sqlite3.c:152045:20: */ +func Xsqlite3WhereIsDistinct(tls *libc.TLS, pWInfo uintptr) int32 { /* sqlite3.c:152059:20: */ return int32((*WhereInfo)(unsafe.Pointer(pWInfo)).FeDistinct) } @@ -133796,7 +133816,7 @@ func Xsqlite3WhereIsDistinct(tls *libc.TLS, pWInfo uintptr) int32 { /* sqlite3.c // terms means that no sorting is needed at all. A return that // is positive but less than the number of ORDER BY terms means that // block sorting is required. -func Xsqlite3WhereIsOrdered(tls *libc.TLS, pWInfo uintptr) int32 { /* sqlite3.c:152057:20: */ +func Xsqlite3WhereIsOrdered(tls *libc.TLS, pWInfo uintptr) int32 { /* sqlite3.c:152071:20: */ return int32((*WhereInfo)(unsafe.Pointer(pWInfo)).FnOBSat) } @@ -133821,7 +133841,7 @@ func Xsqlite3WhereIsOrdered(tls *libc.TLS, pWInfo uintptr) int32 { /* sqlite3.c: // Returning the continuation the second inner loop is an optimization // that might make the code run a little faster, but should not change // the final answer. -func Xsqlite3WhereOrderByLimitOptLabel(tls *libc.TLS, pWInfo uintptr) int32 { /* sqlite3.c:152084:20: */ +func Xsqlite3WhereOrderByLimitOptLabel(tls *libc.TLS, pWInfo uintptr) int32 { /* sqlite3.c:152098:20: */ var pInner uintptr if !(int32(*(*uint8)(unsafe.Pointer(pWInfo + 76))&0x4>>2) != 0) { // The ORDER BY LIMIT optimization does not apply. Jump to the @@ -133842,7 +133862,7 @@ func Xsqlite3WhereOrderByLimitOptLabel(tls *libc.TLS, pWInfo uintptr) int32 { /* // Any extra OP_Goto that is coded here is an optimization. The // correct answer should be obtained regardless. This OP_Goto just // makes the answer appear faster. -func Xsqlite3WhereMinMaxOptEarlyOut(tls *libc.TLS, v uintptr, pWInfo uintptr) { /* sqlite3.c:152107:21: */ +func Xsqlite3WhereMinMaxOptEarlyOut(tls *libc.TLS, v uintptr, pWInfo uintptr) { /* sqlite3.c:152121:21: */ var pInner uintptr var i int32 if !(int32(*(*uint8)(unsafe.Pointer(pWInfo + 76))&0x4>>2) != 0) { @@ -133863,14 +133883,14 @@ func Xsqlite3WhereMinMaxOptEarlyOut(tls *libc.TLS, v uintptr, pWInfo uintptr) { // Return the VDBE address or label to jump to in order to continue // immediately with the next row of a WHERE clause. -func Xsqlite3WhereContinueLabel(tls *libc.TLS, pWInfo uintptr) int32 { /* sqlite3.c:152126:20: */ +func Xsqlite3WhereContinueLabel(tls *libc.TLS, pWInfo uintptr) int32 { /* sqlite3.c:152140:20: */ return (*WhereInfo)(unsafe.Pointer(pWInfo)).FiContinue } // Return the VDBE address or label to jump to in order to break // out of a WHERE loop. -func Xsqlite3WhereBreakLabel(tls *libc.TLS, pWInfo uintptr) int32 { /* sqlite3.c:152135:20: */ +func Xsqlite3WhereBreakLabel(tls *libc.TLS, pWInfo uintptr) int32 { /* sqlite3.c:152149:20: */ return (*WhereInfo)(unsafe.Pointer(pWInfo)).FiBreak } @@ -133889,19 +133909,19 @@ func Xsqlite3WhereBreakLabel(tls *libc.TLS, pWInfo uintptr) int32 { /* sqlite3.c // // aiCur[0] and aiCur[1] both get -1 if the where-clause logic is // unable to use the ONEPASS optimization. -func Xsqlite3WhereOkOnePass(tls *libc.TLS, pWInfo uintptr, aiCur uintptr) int32 { /* sqlite3.c:152156:20: */ +func Xsqlite3WhereOkOnePass(tls *libc.TLS, pWInfo uintptr, aiCur uintptr) int32 { /* sqlite3.c:152170:20: */ libc.Xmemcpy(tls, aiCur, pWInfo+48, uint64(unsafe.Sizeof(int32(0)))*uint64(2)) return int32((*WhereInfo)(unsafe.Pointer(pWInfo)).FeOnePass) } // Return TRUE if the WHERE loop uses the OP_DeferredSeek opcode to move // the data cursor to the row selected by the index cursor. -func Xsqlite3WhereUsesDeferredSeek(tls *libc.TLS, pWInfo uintptr) int32 { /* sqlite3.c:152172:20: */ +func Xsqlite3WhereUsesDeferredSeek(tls *libc.TLS, pWInfo uintptr) int32 { /* sqlite3.c:152186:20: */ return int32(*(*uint8)(unsafe.Pointer(pWInfo + 76)) & 0x1 >> 0) } // Move the content of pSrc into pDest -func whereOrMove(tls *libc.TLS, pDest uintptr, pSrc uintptr) { /* sqlite3.c:152179:13: */ +func whereOrMove(tls *libc.TLS, pDest uintptr, pSrc uintptr) { /* sqlite3.c:152193:13: */ (*WhereOrSet)(unsafe.Pointer(pDest)).Fn = (*WhereOrSet)(unsafe.Pointer(pSrc)).Fn libc.Xmemcpy(tls, pDest+8, pSrc+8, uint64((*WhereOrSet)(unsafe.Pointer(pDest)).Fn)*uint64(unsafe.Sizeof(WhereOrCost{}))) } @@ -133911,7 +133931,7 @@ func whereOrMove(tls *libc.TLS, pDest uintptr, pSrc uintptr) { /* sqlite3.c:1521 // The new entry might overwrite an existing entry, or it might be // appended, or it might be discarded. Do whatever is the right thing // so that pSet keeps the N_OR_COST best entries seen so far. -func whereOrInsert(tls *libc.TLS, pSet uintptr, prereq Bitmask, rRun LogEst, nOut LogEst) int32 { /* sqlite3.c:152191:12: */ +func whereOrInsert(tls *libc.TLS, pSet uintptr, prereq Bitmask, rRun LogEst, nOut LogEst) int32 { /* sqlite3.c:152205:12: */ var i U16 var p uintptr i = (*WhereOrSet)(unsafe.Pointer(pSet)).Fn @@ -133988,7 +134008,7 @@ __13: // Return the bitmask for the given cursor number. Return 0 if // iCursor is not in the set. -func Xsqlite3WhereGetMask(tls *libc.TLS, pMaskSet uintptr, iCursor int32) Bitmask { /* sqlite3.c:152228:24: */ +func Xsqlite3WhereGetMask(tls *libc.TLS, pMaskSet uintptr, iCursor int32) Bitmask { /* sqlite3.c:152242:24: */ var i int32 if *(*int32)(unsafe.Pointer(pMaskSet + 8)) == iCursor { @@ -134008,14 +134028,14 @@ func Xsqlite3WhereGetMask(tls *libc.TLS, pMaskSet uintptr, iCursor int32) Bitmas // tables in the FROM clause is limited by a test early in the // sqlite3WhereBegin() routine. So we know that the pMaskSet->ix[] // array will never overflow. -func createMask(tls *libc.TLS, pMaskSet uintptr, iCursor int32) { /* sqlite3.c:152252:13: */ +func createMask(tls *libc.TLS, pMaskSet uintptr, iCursor int32) { /* sqlite3.c:152266:13: */ *(*int32)(unsafe.Pointer(pMaskSet + 8 + uintptr(libc.PostIncInt32(&(*WhereMaskSet)(unsafe.Pointer(pMaskSet)).Fn, 1))*4)) = iCursor } // If the right-hand branch of the expression is a TK_COLUMN, then return // a pointer to the right-hand branch. Otherwise, return NULL. -func whereRightSubexprIsColumn(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:152261:13: */ +func whereRightSubexprIsColumn(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:152275:13: */ p = Xsqlite3ExprSkipCollateAndLikely(tls, (*Expr)(unsafe.Pointer(p)).FpRight) if p != uintptr(0) && int32((*Expr)(unsafe.Pointer(p)).Fop) == TK_COLUMN && !((*Expr)(unsafe.Pointer(p)).Fflags&U32(EP_FixedCol) != U32(0)) { return p @@ -134026,7 +134046,7 @@ func whereRightSubexprIsColumn(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c: // Advance to the next WhereTerm that matches according to the criteria // established when the pScan object was initialized by whereScanInit(). // Return NULL if there are no more matching WhereTerms. -func whereScanNext(tls *libc.TLS, pScan uintptr) uintptr { /* sqlite3.c:152274:18: */ +func whereScanNext(tls *libc.TLS, pScan uintptr) uintptr { /* sqlite3.c:152288:18: */ var iCur int32 // The cursor on the LHS of the term var iColumn I16 // The column on the LHS of the term. -1 for IPK var pX uintptr // An expression being tested @@ -134130,7 +134150,7 @@ func whereScanNext(tls *libc.TLS, pScan uintptr) uintptr { /* sqlite3.c:152274:1 // It is factored out into a separate tail-recursion subroutine so that // the normal whereScanInit() routine, which is a high-runner, does not // need to push registers onto the stack as part of its prologue. -func whereScanInitIndexExpr(tls *libc.TLS, pScan uintptr) uintptr { /* sqlite3.c:152376:34: */ +func whereScanInitIndexExpr(tls *libc.TLS, pScan uintptr) uintptr { /* sqlite3.c:152390:34: */ (*WhereScan)(unsafe.Pointer(pScan)).Fidxaff = Xsqlite3ExprAffinity(tls, (*WhereScan)(unsafe.Pointer(pScan)).FpIdxExpr) return whereScanNext(tls, pScan) } @@ -134152,7 +134172,7 @@ func whereScanInitIndexExpr(tls *libc.TLS, pScan uintptr) uintptr { /* sqlite3.c // // If X is not the INTEGER PRIMARY KEY then X must be compatible with // index pIdx. -func whereScanInit(tls *libc.TLS, pScan uintptr, pWC uintptr, iCur int32, iColumn int32, opMask U32, pIdx uintptr) uintptr { /* sqlite3.c:152400:18: */ +func whereScanInit(tls *libc.TLS, pScan uintptr, pWC uintptr, iCur int32, iColumn int32, opMask U32, pIdx uintptr) uintptr { /* sqlite3.c:152414:18: */ (*WhereScan)(unsafe.Pointer(pScan)).FpOrigWC = pWC (*WhereScan)(unsafe.Pointer(pScan)).FpWC = pWC (*WhereScan)(unsafe.Pointer(pScan)).FpIdxExpr = uintptr(0) @@ -134207,7 +134227,7 @@ func whereScanInit(tls *libc.TLS, pScan uintptr, pWC uintptr, iCur int32, iColum // the form "X Y" where Y is a column in another table if no terms of // the form "X " exist. If no terms with a constant RHS // exist, try to return a term that does not use WO_EQUIV. -func Xsqlite3WhereFindTerm(tls *libc.TLS, pWC uintptr, iCur int32, iColumn int32, notReady Bitmask, op U32, pIdx uintptr) uintptr { /* sqlite3.c:152464:26: */ +func Xsqlite3WhereFindTerm(tls *libc.TLS, pWC uintptr, iCur int32, iColumn int32, notReady Bitmask, op U32, pIdx uintptr) uintptr { /* sqlite3.c:152478:26: */ bp := tls.Alloc(112) defer tls.Free(112) @@ -134237,7 +134257,7 @@ func Xsqlite3WhereFindTerm(tls *libc.TLS, pWC uintptr, iCur int32, iColumn int32 // // If such an expression is found, its index in pList->a[] is returned. If // no expression is found, -1 is returned. -func findIndexCol(tls *libc.TLS, pParse uintptr, pList uintptr, iBase int32, pIdx uintptr, iCol int32) int32 { /* sqlite3.c:152498:12: */ +func findIndexCol(tls *libc.TLS, pParse uintptr, pList uintptr, iBase int32, pIdx uintptr, iCol int32) int32 { /* sqlite3.c:152512:12: */ var i int32 var zColl uintptr = *(*uintptr)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FazColl + uintptr(iCol)*8)) @@ -134258,7 +134278,7 @@ func findIndexCol(tls *libc.TLS, pParse uintptr, pList uintptr, iBase int32, pId } // Return TRUE if the iCol-th column of index pIdx is NOT NULL -func indexColumnNotNull(tls *libc.TLS, pIdx uintptr, iCol int32) int32 { /* sqlite3.c:152528:12: */ +func indexColumnNotNull(tls *libc.TLS, pIdx uintptr, iCol int32) int32 { /* sqlite3.c:152542:12: */ var j int32 j = int32(*(*I16)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FaiColumn + uintptr(iCol)*2))) @@ -134279,7 +134299,7 @@ func indexColumnNotNull(tls *libc.TLS, pIdx uintptr, iCol int32) int32 { /* sqli // // A DISTINCT list is redundant if any subset of the columns in the // DISTINCT list are collectively unique and individually non-null. -func isDistinctRedundant(tls *libc.TLS, pParse uintptr, pTabList uintptr, pWC uintptr, pDistinct uintptr) int32 { /* sqlite3.c:152551:12: */ +func isDistinctRedundant(tls *libc.TLS, pParse uintptr, pTabList uintptr, pWC uintptr, pDistinct uintptr) int32 { /* sqlite3.c:152565:12: */ var pTab uintptr var pIdx uintptr var i int32 @@ -134349,7 +134369,7 @@ func isDistinctRedundant(tls *libc.TLS, pParse uintptr, pTabList uintptr, pWC ui } // Estimate the logarithm of the input value to base 2. -func estLog(tls *libc.TLS, N LogEst) LogEst { /* sqlite3.c:152615:15: */ +func estLog(tls *libc.TLS, N LogEst) LogEst { /* sqlite3.c:152629:15: */ if int32(N) <= 10 { return int16(0) } @@ -134366,7 +134386,7 @@ func estLog(tls *libc.TLS, N LogEst) LogEst { /* sqlite3.c:152615:15: */ // cursor iTabCur are transformed into OP_Sequence opcode for the // iAutoidxCur cursor, in order to generate unique rowids for the // automatic index being generated. -func translateColumnToCopy(tls *libc.TLS, pParse uintptr, iStart int32, iTabCur int32, iRegister int32, iAutoidxCur int32) { /* sqlite3.c:152631:13: */ +func translateColumnToCopy(tls *libc.TLS, pParse uintptr, iStart int32, iTabCur int32, iRegister int32, iAutoidxCur int32) { /* sqlite3.c:152645:13: */ var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe var pOp uintptr = Xsqlite3VdbeGetOp(tls, v, iStart) var iEnd int32 = Xsqlite3VdbeCurrentAddr(tls, v) @@ -134409,7 +134429,7 @@ __3: // Return TRUE if the WHERE clause term pTerm is of a form where it // could be used with an index to access pSrc, assuming an appropriate // index existed. -func termCanDriveIndex(tls *libc.TLS, pTerm uintptr, pSrc uintptr, notReady Bitmask) int32 { /* sqlite3.c:152715:12: */ +func termCanDriveIndex(tls *libc.TLS, pTerm uintptr, pSrc uintptr, notReady Bitmask) int32 { /* sqlite3.c:152729:12: */ var aff int8 if (*WhereTerm)(unsafe.Pointer(pTerm)).FleftCursor != (*SrcItem)(unsafe.Pointer(pSrc)).FiCursor { return 0 @@ -134443,7 +134463,7 @@ func termCanDriveIndex(tls *libc.TLS, pTerm uintptr, pSrc uintptr, notReady Bitm // Generate code to construct the Index object for an automatic index // and to set up the WhereLevel object pLevel so that the code generator // makes use of the automatic index. -func constructAutomaticIndex(tls *libc.TLS, pParse uintptr, pWC uintptr, pSrc uintptr, notReady Bitmask, pLevel uintptr) { /* sqlite3.c:152749:29: */ +func constructAutomaticIndex(tls *libc.TLS, pParse uintptr, pWC uintptr, pSrc uintptr, notReady Bitmask, pLevel uintptr) { /* sqlite3.c:152763:29: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -134801,7 +134821,7 @@ end_auto_index_create: // This routine may only be called if it has previously been determined that // the loop would benefit from a Bloom filter, and the WHERE_BLOOMFILTER bit // is set. -func sqlite3ConstructBloomFilter(tls *libc.TLS, pWInfo uintptr, iLevel int32, pLevel uintptr, notReady Bitmask) { /* sqlite3.c:152984:29: */ +func sqlite3ConstructBloomFilter(tls *libc.TLS, pWInfo uintptr, iLevel int32, pLevel uintptr, notReady Bitmask) { /* sqlite3.c:152998:29: */ var addrOnce int32 // Address of opening OP_Once var addrTop int32 // Address of OP_Rewind var addrCont int32 // Jump here to skip a row @@ -134906,7 +134926,7 @@ func sqlite3ConstructBloomFilter(tls *libc.TLS, pWInfo uintptr, iLevel int32, pL // Allocate and populate an sqlite3_index_info structure. It is the // responsibility of the caller to eventually release the structure // by passing the pointer returned by this function to freeIndexInfo(). -func allocateIndexInfo(tls *libc.TLS, pWInfo uintptr, pWC uintptr, mUnusable Bitmask, pSrc uintptr, pmNoOmit uintptr) uintptr { /* sqlite3.c:153097:27: */ +func allocateIndexInfo(tls *libc.TLS, pWInfo uintptr, pWC uintptr, mUnusable Bitmask, pSrc uintptr, pmNoOmit uintptr) uintptr { /* sqlite3.c:153111:27: */ var i int32 var j int32 var nTerm int32 @@ -135132,7 +135152,7 @@ __6: // Free an sqlite3_index_info structure allocated by allocateIndexInfo() // and possibly modified by xBestIndex methods. -func freeIndexInfo(tls *libc.TLS, db uintptr, pIdxInfo uintptr) { /* sqlite3.c:153296:13: */ +func freeIndexInfo(tls *libc.TLS, db uintptr, pIdxInfo uintptr) { /* sqlite3.c:153310:13: */ var pHidden uintptr var i int32 @@ -135159,7 +135179,7 @@ func freeIndexInfo(tls *libc.TLS, db uintptr, pIdxInfo uintptr) { /* sqlite3.c:1 // Whether or not an error is returned, it is the responsibility of the // caller to eventually free p->idxStr if p->needToFreeIdxStr indicates // that this is required. -func vtabBestIndex(tls *libc.TLS, pParse uintptr, pTab uintptr, p uintptr) int32 { /* sqlite3.c:153326:12: */ +func vtabBestIndex(tls *libc.TLS, pParse uintptr, pTab uintptr, p uintptr) int32 { /* sqlite3.c:153340:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -135197,7 +135217,7 @@ func vtabBestIndex(tls *libc.TLS, pParse uintptr, pTab uintptr, p uintptr) int32 // into the aSample[] array - it is an index into a virtual set of samples // based on the contents of aSample[] and the number of fields in record // pRec. -func whereKeyStats(tls *libc.TLS, pParse uintptr, pIdx uintptr, pRec uintptr, roundUp int32, aStat uintptr) int32 { /* sqlite3.c:153365:12: */ +func whereKeyStats(tls *libc.TLS, pParse uintptr, pIdx uintptr, pRec uintptr, roundUp int32, aStat uintptr) int32 { /* sqlite3.c:153379:12: */ var aSample uintptr = (*Index)(unsafe.Pointer(pIdx)).FaSample var iCol int32 // Index of required stats in anEq[] etc. var i int32 // Index of first sample >= pRec @@ -135336,7 +135356,7 @@ func whereKeyStats(tls *libc.TLS, pParse uintptr, pIdx uintptr, pRec uintptr, ro // then the return value is the likelihood multiplied by the number of // input rows. Otherwise, this function assumes that an "IS NOT NULL" term // has a likelihood of 0.50, and any other term a likelihood of 0.25. -func whereRangeAdjust(tls *libc.TLS, pTerm uintptr, nNew LogEst) LogEst { /* sqlite3.c:153557:15: */ +func whereRangeAdjust(tls *libc.TLS, pTerm uintptr, nNew LogEst) LogEst { /* sqlite3.c:153571:15: */ var nRet LogEst = nNew if pTerm != 0 { if int32((*WhereTerm)(unsafe.Pointer(pTerm)).FtruthProb) <= 0 { @@ -135349,7 +135369,7 @@ func whereRangeAdjust(tls *libc.TLS, pTerm uintptr, nNew LogEst) LogEst { /* sql } // Return the affinity for a single column of an index. -func Xsqlite3IndexColumnAffinity(tls *libc.TLS, db uintptr, pIdx uintptr, iCol int32) int8 { /* sqlite3.c:153574:21: */ +func Xsqlite3IndexColumnAffinity(tls *libc.TLS, db uintptr, pIdx uintptr, iCol int32) int8 { /* sqlite3.c:153588:21: */ if !(int32((*Index)(unsafe.Pointer(pIdx)).FzColAff) != 0) { if Xsqlite3IndexAffinityStr(tls, db, pIdx) == uintptr(0) { @@ -135393,7 +135413,7 @@ func Xsqlite3IndexColumnAffinity(tls *libc.TLS, db uintptr, pIdx uintptr, iCol i // // If an error occurs, an SQLite error code is returned. Otherwise, // SQLITE_OK. -func whereRangeSkipScanEst(tls *libc.TLS, pParse uintptr, pLower uintptr, pUpper uintptr, pLoop uintptr, pbDone uintptr) int32 { /* sqlite3.c:153621:12: */ +func whereRangeSkipScanEst(tls *libc.TLS, pParse uintptr, pLower uintptr, pUpper uintptr, pLoop uintptr, pbDone uintptr) int32 { /* sqlite3.c:153635:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -135508,7 +135528,7 @@ func whereRangeSkipScanEst(tls *libc.TLS, pParse uintptr, pLower uintptr, pUpper // used, a single range inequality reduces the search space by a factor of 4. // and a pair of constraints (x>? AND x>0)) != 0 { Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(p + 24 + 16 /* &.idxStr */))) @@ -135816,7 +135836,7 @@ func whereLoopClearUnion(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:15 } // Deallocate internal memory used by a WhereLoop object -func whereLoopClear(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:154152:13: */ +func whereLoopClear(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:154166:13: */ if (*WhereLoop)(unsafe.Pointer(p)).FaLTerm != p+88 { Xsqlite3DbFreeNN(tls, db, (*WhereLoop)(unsafe.Pointer(p)).FaLTerm) } @@ -135825,7 +135845,7 @@ func whereLoopClear(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:154152: } // Increase the memory allocation for pLoop->aLTerm[] to be at least n. -func whereLoopResize(tls *libc.TLS, db uintptr, p uintptr, n int32) int32 { /* sqlite3.c:154161:12: */ +func whereLoopResize(tls *libc.TLS, db uintptr, p uintptr, n int32) int32 { /* sqlite3.c:154175:12: */ var paNew uintptr if int32((*WhereLoop)(unsafe.Pointer(p)).FnLSlot) >= n { return SQLITE_OK @@ -135845,7 +135865,7 @@ func whereLoopResize(tls *libc.TLS, db uintptr, p uintptr, n int32) int32 { /* s } // Transfer content from the second pLoop into the first. -func whereLoopXfer(tls *libc.TLS, db uintptr, pTo uintptr, pFrom uintptr) int32 { /* sqlite3.c:154177:12: */ +func whereLoopXfer(tls *libc.TLS, db uintptr, pTo uintptr, pFrom uintptr) int32 { /* sqlite3.c:154191:12: */ whereLoopClearUnion(tls, db, pTo) if whereLoopResize(tls, db, pTo, int32((*WhereLoop)(unsafe.Pointer(pFrom)).FnLTerm)) != 0 { libc.Xmemset(tls, pTo, 0, uint64(uintptr(0)+64)) @@ -135862,13 +135882,13 @@ func whereLoopXfer(tls *libc.TLS, db uintptr, pTo uintptr, pFrom uintptr) int32 } // Delete a WhereLoop object -func whereLoopDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:154196:13: */ +func whereLoopDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:154210:13: */ whereLoopClear(tls, db, p) Xsqlite3DbFreeNN(tls, db, p) } // Free a WhereInfo structure -func whereInfoFree(tls *libc.TLS, db uintptr, pWInfo uintptr) { /* sqlite3.c:154204:13: */ +func whereInfoFree(tls *libc.TLS, db uintptr, pWInfo uintptr) { /* sqlite3.c:154218:13: */ var i int32 for i = 0; i < int32((*WhereInfo)(unsafe.Pointer(pWInfo)).FnLevel); i++ { @@ -135889,7 +135909,7 @@ func whereInfoFree(tls *libc.TLS, db uintptr, pWInfo uintptr) { /* sqlite3.c:154 } // Undo all Expr node modifications -func whereUndoExprMods(tls *libc.TLS, pWInfo uintptr) { /* sqlite3.c:154226:13: */ +func whereUndoExprMods(tls *libc.TLS, pWInfo uintptr) { /* sqlite3.c:154240:13: */ for (*WhereInfo)(unsafe.Pointer(pWInfo)).FpExprMods != 0 { var p uintptr = (*WhereInfo)(unsafe.Pointer(pWInfo)).FpExprMods (*WhereInfo)(unsafe.Pointer(pWInfo)).FpExprMods = (*WhereExprMod)(unsafe.Pointer(p)).FpNext @@ -135915,7 +135935,7 @@ func whereUndoExprMods(tls *libc.TLS, pWInfo uintptr) { /* sqlite3.c:154226:13: // deserve a lower cost even if it is a proper subset of Y. Constraint (5) // was added because a covering index probably deserves to have a lower cost // than a non-covering index even if it is a proper subset. -func whereLoopCheaperProperSubset(tls *libc.TLS, pX uintptr, pY uintptr) int32 { /* sqlite3.c:154254:12: */ +func whereLoopCheaperProperSubset(tls *libc.TLS, pX uintptr, pY uintptr) int32 { /* sqlite3.c:154268:12: */ var i int32 var j int32 if int32((*WhereLoop)(unsafe.Pointer(pX)).FnLTerm)-int32((*WhereLoop)(unsafe.Pointer(pX)).FnSkip) >= int32((*WhereLoop)(unsafe.Pointer(pY)).FnLTerm)-int32((*WhereLoop)(unsafe.Pointer(pY)).FnSkip) { @@ -135959,7 +135979,7 @@ func whereLoopCheaperProperSubset(tls *libc.TLS, pX uintptr, pY uintptr) int32 { // To say "WhereLoop X is a proper subset of Y" means that X uses fewer // WHERE clause terms than Y and that every WHERE clause term used by X is // also used by Y. -func whereLoopAdjustCost(tls *libc.TLS, p uintptr, pTemplate uintptr) { /* sqlite3.c:154292:13: */ +func whereLoopAdjustCost(tls *libc.TLS, p uintptr, pTemplate uintptr) { /* sqlite3.c:154306:13: */ if (*WhereLoop)(unsafe.Pointer(pTemplate)).FwsFlags&U32(WHERE_INDEXED) == U32(0) { return } @@ -136018,7 +136038,7 @@ func whereLoopAdjustCost(tls *libc.TLS, p uintptr, pTemplate uintptr) { /* sqlit // If pTemplate cannot replace any existing element of the list but needs // to be added to the list as a new entry, then return a pointer to the // tail of the list. -func whereLoopFindLesser(tls *libc.TLS, ppPrev uintptr, pTemplate uintptr) uintptr { /* sqlite3.c:154333:18: */ +func whereLoopFindLesser(tls *libc.TLS, ppPrev uintptr, pTemplate uintptr) uintptr { /* sqlite3.c:154347:18: */ var p uintptr p = *(*uintptr)(unsafe.Pointer(ppPrev)) __1: @@ -136107,7 +136127,7 @@ __3: // (2) They have the same iSortIdx. // (3) The template has same or fewer dependencies than the current loop // (4) The template has the same or lower cost than the current loop -func whereLoopInsert(tls *libc.TLS, pBuilder uintptr, pTemplate uintptr) int32 { /* sqlite3.c:154421:12: */ +func whereLoopInsert(tls *libc.TLS, pBuilder uintptr, pTemplate uintptr) int32 { /* sqlite3.c:154435:12: */ var ppPrev uintptr var p uintptr var pWInfo uintptr = (*WhereLoopBuilder)(unsafe.Pointer(pBuilder)).FpWInfo @@ -136214,7 +136234,7 @@ func whereLoopInsert(tls *libc.TLS, pBuilder uintptr, pTemplate uintptr) int32 { // "x" column is boolean or else -1 or 0 or 1 is a common default value // on the "x" column and so in that case only cap the output row estimate // at 1/2 instead of 1/4. -func whereLoopOutputAdjust(tls *libc.TLS, pWC uintptr, pLoop uintptr, nRow LogEst) { /* sqlite3.c:154558:13: */ +func whereLoopOutputAdjust(tls *libc.TLS, pWC uintptr, pLoop uintptr, nRow LogEst) { /* sqlite3.c:154572:13: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -136260,7 +136280,14 @@ __1: // that depend only on the table being scanned, and that will tend to // cause many rows to be omitted, then mark that table as // "self-culling". - *(*U32)(unsafe.Pointer(pLoop + 56)) |= U32(WHERE_SELFCULL) + // + // 2022-03-24: Self-culling only applies if either the extra terms + // are straight comparison operators that are non-true with NULL + // operand, or if the loop is not a LEFT JOIN. + if int32((*WhereTerm)(unsafe.Pointer(pTerm)).FeOperator)&0x3f != 0 || + int32((*SrcItem)(unsafe.Pointer((*WhereInfo)(unsafe.Pointer((*WhereClause)(unsafe.Pointer(pWC)).FpWInfo)).FpTabList+8+uintptr((*WhereLoop)(unsafe.Pointer(pLoop)).FiTab)*112)).Ffg.Fjointype)&JT_LEFT == 0 { + *(*U32)(unsafe.Pointer(pLoop + 56)) |= U32(WHERE_SELFCULL) + } } if int32((*WhereTerm)(unsafe.Pointer(pTerm)).FtruthProb) <= 0 { // If a truth probability is specified using the likelihood() hints, @@ -136317,7 +136344,7 @@ __3: // // then this function would be invoked with nEq=1. The value returned in // this case is 3. -func whereRangeVectorLen(tls *libc.TLS, pParse uintptr, iCur int32, pIdx uintptr, nEq int32, pTerm uintptr) int32 { /* sqlite3.c:154637:12: */ +func whereRangeVectorLen(tls *libc.TLS, pParse uintptr, iCur int32, pIdx uintptr, nEq int32, pTerm uintptr) int32 { /* sqlite3.c:154660:12: */ var nCmp int32 = Xsqlite3ExprVectorSize(tls, (*Expr)(unsafe.Pointer((*WhereTerm)(unsafe.Pointer(pTerm)).FpExpr)).FpLeft) var i int32 @@ -136385,7 +136412,7 @@ func whereRangeVectorLen(tls *libc.TLS, pParse uintptr, iCur int32, pIdx uintptr // // If pProbe->idxType==SQLITE_IDXTYPE_IPK, that means pIndex is // a fake index used for the INTEGER PRIMARY KEY. -func whereLoopAddBtreeIndex(tls *libc.TLS, pBuilder uintptr, pSrc uintptr, pProbe uintptr, nInMul LogEst) int32 { /* sqlite3.c:154711:12: */ +func whereLoopAddBtreeIndex(tls *libc.TLS, pBuilder uintptr, pSrc uintptr, pProbe uintptr, nInMul LogEst) int32 { /* sqlite3.c:154734:12: */ bp := tls.Alloc(116) defer tls.Free(116) @@ -136745,7 +136772,7 @@ func whereLoopAddBtreeIndex(tls *libc.TLS, pBuilder uintptr, pSrc uintptr, pProb // Return False if pBuilder does not contain an ORDER BY clause or // if there is no way for pIndex to be useful in implementing that // ORDER BY clause. -func indexMightHelpWithOrderBy(tls *libc.TLS, pBuilder uintptr, pIndex uintptr, iCursor int32) int32 { /* sqlite3.c:155111:12: */ +func indexMightHelpWithOrderBy(tls *libc.TLS, pBuilder uintptr, pIndex uintptr, iCursor int32) int32 { /* sqlite3.c:155134:12: */ var pOB uintptr var aColExpr uintptr var ii int32 @@ -136787,7 +136814,7 @@ func indexMightHelpWithOrderBy(tls *libc.TLS, pBuilder uintptr, pIndex uintptr, // Check to see if a partial index with pPartIndexWhere can be used // in the current query. Return true if it can be and false if not. -func whereUsablePartialIndex(tls *libc.TLS, iTab int32, isLeft int32, pWC uintptr, pWhere uintptr) int32 { /* sqlite3.c:155145:12: */ +func whereUsablePartialIndex(tls *libc.TLS, iTab int32, isLeft int32, pWC uintptr, pWhere uintptr) int32 { /* sqlite3.c:155168:12: */ var i int32 var pTerm uintptr var pParse uintptr = (*WhereInfo)(unsafe.Pointer((*WhereClause)(unsafe.Pointer(pWC)).FpWInfo)).FpParse @@ -136862,7 +136889,7 @@ __3: // bias the scoring in favor of using an index, since the worst-case // performance of using an index is far better than the worst-case performance // of a full table scan. -func whereLoopAddBtree(tls *libc.TLS, pBuilder uintptr, mPrereq Bitmask) int32 { /* sqlite3.c:155209:12: */ +func whereLoopAddBtree(tls *libc.TLS, pBuilder uintptr, mPrereq Bitmask) int32 { /* sqlite3.c:155232:12: */ bp := tls.Alloc(158) defer tls.Free(158) @@ -137147,7 +137174,7 @@ __3: } // Return true if pTerm is a virtual table LIMIT or OFFSET term. -func isLimitTerm(tls *libc.TLS, pTerm uintptr) int32 { /* sqlite3.c:155467:12: */ +func isLimitTerm(tls *libc.TLS, pTerm uintptr) int32 { /* sqlite3.c:155490:12: */ return libc.Bool32(int32((*WhereTerm)(unsafe.Pointer(pTerm)).FeMatchOp) >= SQLITE_INDEX_CONSTRAINT_LIMIT && int32((*WhereTerm)(unsafe.Pointer(pTerm)).FeMatchOp) <= SQLITE_INDEX_CONSTRAINT_OFFSET) @@ -137171,7 +137198,7 @@ func isLimitTerm(tls *libc.TLS, pTerm uintptr) int32 { /* sqlite3.c:155467:12: * // // Output parameter *pbIn is set to true if the plan added to pBuilder // uses one or more WO_IN terms, or false otherwise. -func whereLoopAddVirtualOne(tls *libc.TLS, pBuilder uintptr, mPrereq Bitmask, mUsable Bitmask, mExclude U16, pIdxInfo uintptr, mNoOmit U16, pbIn uintptr, pbRetryLimit uintptr) int32 { /* sqlite3.c:155493:12: */ +func whereLoopAddVirtualOne(tls *libc.TLS, pBuilder uintptr, mPrereq Bitmask, mUsable Bitmask, mExclude U16, pIdxInfo uintptr, mNoOmit U16, pbIn uintptr, pbRetryLimit uintptr) int32 { /* sqlite3.c:155516:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -137395,7 +137422,7 @@ __6: // 2. Else, if the column has an alternative collation, return that. // // 3. Otherwise, return "BINARY". -func Xsqlite3_vtab_collation(tls *libc.TLS, pIdxInfo uintptr, iCons int32) uintptr { /* sqlite3.c:155685:23: */ +func Xsqlite3_vtab_collation(tls *libc.TLS, pIdxInfo uintptr, iCons int32) uintptr { /* sqlite3.c:155708:23: */ var pHidden uintptr = pIdxInfo + 1*96 var zRet uintptr = uintptr(0) if iCons >= 0 && iCons < (*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FnConstraint { @@ -137418,7 +137445,7 @@ func Xsqlite3_vtab_collation(tls *libc.TLS, pIdxInfo uintptr, iCons int32) uintp // Return true if constraint iCons is really an IN(...) constraint, or // false otherwise. If iCons is an IN(...) constraint, set (if bHandle!=0) // or clear (if bHandle==0) the flag to handle it using an iterator. -func Xsqlite3_vtab_in(tls *libc.TLS, pIdxInfo uintptr, iCons int32, bHandle int32) int32 { /* sqlite3.c:155705:16: */ +func Xsqlite3_vtab_in(tls *libc.TLS, pIdxInfo uintptr, iCons int32, bHandle int32) int32 { /* sqlite3.c:155728:16: */ var pHidden uintptr = pIdxInfo + 1*96 var m U32 = func() uint32 { if iCons <= 31 { @@ -137441,7 +137468,7 @@ func Xsqlite3_vtab_in(tls *libc.TLS, pIdxInfo uintptr, iCons int32, bHandle int3 // // If possible, set (*ppVal) to point to an object containing the value // on the right-hand-side of constraint iCons. -func Xsqlite3_vtab_rhs_value(tls *libc.TLS, pIdxInfo uintptr, iCons int32, ppVal uintptr) int32 { /* sqlite3.c:155725:16: */ +func Xsqlite3_vtab_rhs_value(tls *libc.TLS, pIdxInfo uintptr, iCons int32, ppVal uintptr) int32 { /* sqlite3.c:155748:16: */ var pH uintptr = pIdxInfo + 1*96 var pVal uintptr = uintptr(0) var rc int32 = SQLITE_OK @@ -137467,7 +137494,7 @@ func Xsqlite3_vtab_rhs_value(tls *libc.TLS, pIdxInfo uintptr, iCons int32, ppVal } // Return true if ORDER BY clause may be handled as DISTINCT. -func Xsqlite3_vtab_distinct(tls *libc.TLS, pIdxInfo uintptr) int32 { /* sqlite3.c:155758:16: */ +func Xsqlite3_vtab_distinct(tls *libc.TLS, pIdxInfo uintptr) int32 { /* sqlite3.c:155781:16: */ var pHidden uintptr = pIdxInfo + 1*96 return (*HiddenIndexInfo)(unsafe.Pointer(pHidden)).FeDistinct @@ -137496,7 +137523,7 @@ func Xsqlite3_vtab_distinct(tls *libc.TLS, pIdxInfo uintptr) int32 { /* sqlite3. // Conversely, all tables in mUnusable must be scanned after the current // virtual table, so any terms for which the prerequisites overlap with // mUnusable should always be configured as "not-usable" for xBestIndex. -func whereLoopAddVirtual(tls *libc.TLS, pBuilder uintptr, mPrereq Bitmask, mUnusable Bitmask) int32 { /* sqlite3.c:155807:12: */ +func whereLoopAddVirtual(tls *libc.TLS, pBuilder uintptr, mPrereq Bitmask, mUnusable Bitmask) int32 { /* sqlite3.c:155830:12: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -137632,7 +137659,7 @@ func whereLoopAddVirtual(tls *libc.TLS, pBuilder uintptr, mPrereq Bitmask, mUnus // Add WhereLoop entries to handle OR terms. This works for either // btrees or virtual tables. -func whereLoopAddOr(tls *libc.TLS, pBuilder uintptr, mPrereq Bitmask, mUnusable Bitmask) int32 { /* sqlite3.c:155938:12: */ +func whereLoopAddOr(tls *libc.TLS, pBuilder uintptr, mPrereq Bitmask, mUnusable Bitmask) int32 { /* sqlite3.c:155961:12: */ bp := tls.Alloc(712) defer tls.Free(712) @@ -137757,7 +137784,7 @@ func whereLoopAddOr(tls *libc.TLS, pBuilder uintptr, mPrereq Bitmask, mUnusable } // Add all WhereLoop objects for all tables -func whereLoopAddAll(tls *libc.TLS, pBuilder uintptr) int32 { /* sqlite3.c:156064:12: */ +func whereLoopAddAll(tls *libc.TLS, pBuilder uintptr) int32 { /* sqlite3.c:156087:12: */ var pWInfo uintptr = (*WhereLoopBuilder)(unsafe.Pointer(pBuilder)).FpWInfo var mPrereq Bitmask = uint64(0) var mPrior Bitmask = uint64(0) @@ -137845,7 +137872,7 @@ __3: // as equivalent rows are grouped together. Thus for GROUP BY and DISTINCT // the pOrderBy terms can be matched in any order. With ORDER BY, the // pOrderBy terms must be matched in strict left-to-right order. -func wherePathSatisfiesOrderBy(tls *libc.TLS, pWInfo uintptr, pOrderBy uintptr, pPath uintptr, wctrlFlags U16, nLoop U16, pLast uintptr, pRevMask uintptr) I8 { /* sqlite3.c:156142:11: */ +func wherePathSatisfiesOrderBy(tls *libc.TLS, pWInfo uintptr, pOrderBy uintptr, pPath uintptr, wctrlFlags U16, nLoop U16, pLast uintptr, pRevMask uintptr) I8 { /* sqlite3.c:156165:11: */ var revSet U8 // True if rev is known var rev U8 // Composite sort order var revIdx U8 // Index sort order @@ -138213,7 +138240,7 @@ func wherePathSatisfiesOrderBy(tls *libc.TLS, pWInfo uintptr, pOrderBy uintptr, // // SELECT * FROM t1 GROUP BY x,y ORDER BY x,y; -- IsSorted()==1 // SELECT * FROM t1 GROUP BY y,x ORDER BY y,x; -- IsSorted()==0 -func Xsqlite3WhereIsSorted(tls *libc.TLS, pWInfo uintptr) int32 { /* sqlite3.c:156487:20: */ +func Xsqlite3WhereIsSorted(tls *libc.TLS, pWInfo uintptr) int32 { /* sqlite3.c:156510:20: */ return int32(*(*uint8)(unsafe.Pointer(pWInfo + 76)) & 0x8 >> 3) } @@ -138221,7 +138248,7 @@ func Xsqlite3WhereIsSorted(tls *libc.TLS, pWInfo uintptr) int32 { /* sqlite3.c:1 // Return the cost of sorting nRow rows, assuming that the keys have // nOrderby columns and that the first nSorted columns are already in // order. -func whereSortingCost(tls *libc.TLS, pWInfo uintptr, nRow LogEst, nOrderBy int32, nSorted int32) LogEst { /* sqlite3.c:156510:15: */ +func whereSortingCost(tls *libc.TLS, pWInfo uintptr, nRow LogEst, nOrderBy int32, nSorted int32) LogEst { /* sqlite3.c:156533:15: */ // TUNING: Estimated cost of a full external sort, where N is // the number of rows to sort is: // @@ -138268,7 +138295,7 @@ func whereSortingCost(tls *libc.TLS, pWInfo uintptr, nRow LogEst, nOrderBy int32 // // Return SQLITE_OK on success or SQLITE_NOMEM of a memory allocation // error occurs. -func wherePathSolver(tls *libc.TLS, pWInfo uintptr, nRowEst LogEst) int32 { /* sqlite3.c:156563:12: */ +func wherePathSolver(tls *libc.TLS, pWInfo uintptr, nRowEst LogEst) int32 { /* sqlite3.c:156586:12: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -138675,7 +138702,7 @@ __3: // Return non-zero on success, if this query can be handled by this // no-frills query planner. Return zero if this query needs the // general-purpose query planner. -func whereShortCut(tls *libc.TLS, pBuilder uintptr) int32 { /* sqlite3.c:156955:12: */ +func whereShortCut(tls *libc.TLS, pBuilder uintptr) int32 { /* sqlite3.c:156978:12: */ bp := tls.Alloc(112) defer tls.Free(112) @@ -138782,7 +138809,7 @@ func whereShortCut(tls *libc.TLS, pBuilder uintptr) int32 { /* sqlite3.c:156955: } // Helper function for exprIsDeterministic(). -func exprNodeIsDeterministic(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:157046:12: */ +func exprNodeIsDeterministic(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:157069:12: */ if int32((*Expr)(unsafe.Pointer(pExpr)).Fop) == TK_FUNCTION && libc.Bool32((*Expr)(unsafe.Pointer(pExpr)).Fflags&U32(EP_ConstFunc) != U32(0)) == 0 { (*Walker)(unsafe.Pointer(pWalker)).FeCode = U16(0) return WRC_Abort @@ -138793,7 +138820,7 @@ func exprNodeIsDeterministic(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int3 // Return true if the expression contains no non-deterministic SQL // functions. Do not consider non-deterministic SQL functions that are // part of sub-select statements. -func exprIsDeterministic(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:157059:12: */ +func exprIsDeterministic(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:157082:12: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -138839,7 +138866,7 @@ func exprIsDeterministic(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:157059:1 // SELECT DISTINCT v1, v3 FROM t1 // LEFT JOIN t2 // LEFT JOIN t3 ON (t1.ipk=t3.ipk) -func whereOmitNoopJoin(tls *libc.TLS, pWInfo uintptr, notReady Bitmask) Bitmask { /* sqlite3.c:157120:32: */ +func whereOmitNoopJoin(tls *libc.TLS, pWInfo uintptr, notReady Bitmask) Bitmask { /* sqlite3.c:157143:32: */ var i int32 var tabUsed Bitmask @@ -138914,7 +138941,7 @@ func whereOmitNoopJoin(tls *libc.TLS, pWInfo uintptr, notReady Bitmask) Bitmask // appropriate, and if so sets the WHERE_BLOOMFILTER flag on the // WhereLoop. The implementation of the Bloom filter comes further // down where the code for each WhereLoop is generated. -func whereCheckIfBloomFilterIsUseful(tls *libc.TLS, pWInfo uintptr) { /* sqlite3.c:157199:29: */ +func whereCheckIfBloomFilterIsUseful(tls *libc.TLS, pWInfo uintptr) { /* sqlite3.c:157222:29: */ var i int32 var nSearch LogEst @@ -139026,7 +139053,7 @@ func whereCheckIfBloomFilterIsUseful(tls *libc.TLS, pWInfo uintptr) { /* sqlite3 // the first cursor in an array of cursors for all indices. iIdxCur should // be used to compute the appropriate cursor depending on which index is // used. -func Xsqlite3WhereBegin(tls *libc.TLS, pParse uintptr, pTabList uintptr, pWhere uintptr, pOrderBy uintptr, pResultSet uintptr, pLimit uintptr, wctrlFlags U16, iAuxArg int32) uintptr { /* sqlite3.c:157323:26: */ +func Xsqlite3WhereBegin(tls *libc.TLS, pParse uintptr, pTabList uintptr, pWhere uintptr, pOrderBy uintptr, pResultSet uintptr, pLimit uintptr, wctrlFlags U16, iAuxArg int32) uintptr { /* sqlite3.c:157346:26: */ bp := tls.Alloc(64) defer tls.Free(64) @@ -139711,7 +139738,7 @@ __78: // Generate the end of the WHERE loop. See comments on // sqlite3WhereBegin() for additional information. -func Xsqlite3WhereEnd(tls *libc.TLS, pWInfo uintptr) { /* sqlite3.c:157889:21: */ +func Xsqlite3WhereEnd(tls *libc.TLS, pWInfo uintptr) { /* sqlite3.c:157932:21: */ var pParse uintptr = (*WhereInfo)(unsafe.Pointer(pWInfo)).FpParse var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe var i int32 @@ -139924,12 +139951,12 @@ __4: int32((*VdbeOp)(unsafe.Pointer(pOp)).Fopcode) == OP_Offset { var x int32 = (*VdbeOp)(unsafe.Pointer(pOp)).Fp2 - if !((*Table)(unsafe.Pointer(pTab)).FtabFlags&U32(TF_WithoutRowid) == U32(0)) { + if int32((*VdbeOp)(unsafe.Pointer(pOp)).Fopcode) == OP_Offset { + // Do not need to translate the column number + } else if !((*Table)(unsafe.Pointer(pTab)).FtabFlags&U32(TF_WithoutRowid) == U32(0)) { var pPk uintptr = Xsqlite3PrimaryKeyIndex(tls, pTab) x = int32(*(*I16)(unsafe.Pointer((*Index)(unsafe.Pointer(pPk)).FaiColumn + uintptr(x)*2))) - } else if int32((*VdbeOp)(unsafe.Pointer(pOp)).Fopcode) == OP_Offset { - // Do not need to translate the column number } else { x = int32(Xsqlite3StorageColumnToTable(tls, pTab, int16(x))) @@ -139939,8 +139966,12 @@ __4: (*VdbeOp)(unsafe.Pointer(pOp)).Fp2 = x (*VdbeOp)(unsafe.Pointer(pOp)).Fp1 = (*WhereLevel)(unsafe.Pointer(pLevel)).FiIdxCur - } + } else { + // Unable to translate the table reference into an index + // reference. Verify that this is harmless - that the + // table being referenced really is open. + } } else if int32((*VdbeOp)(unsafe.Pointer(pOp)).Fopcode) == OP_Rowid { (*VdbeOp)(unsafe.Pointer(pOp)).Fp1 = (*WhereLevel)(unsafe.Pointer(pLevel)).FiIdxCur (*VdbeOp)(unsafe.Pointer(pOp)).Fopcode = U8(OP_IdxRowid) @@ -140111,7 +140142,7 @@ __6: // window frame has been coerced to: // // ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW -func row_numberStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158331:13: */ +func row_numberStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158388:13: */ var p uintptr = Xsqlite3_aggregate_context(tls, pCtx, int32(unsafe.Sizeof(I64(0)))) if p != 0 { *(*I64)(unsafe.Pointer(p))++ @@ -140120,7 +140151,7 @@ func row_numberStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) _ = apArg } -func row_numberValueFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158341:13: */ +func row_numberValueFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158398:13: */ var p uintptr = Xsqlite3_aggregate_context(tls, pCtx, int32(unsafe.Sizeof(I64(0)))) Xsqlite3_result_int64(tls, pCtx, func() int64 { if p != 0 { @@ -140136,13 +140167,13 @@ type CallCount = struct { FnValue I64 FnStep I64 FnTotal I64 -} /* sqlite3.c:158350:1 */ +} /* sqlite3.c:158407:1 */ // Implementation of built-in window function dense_rank(). Assumes that // the window frame has been set to: // // RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW -func dense_rankStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158362:13: */ +func dense_rankStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158419:13: */ var p uintptr p = Xsqlite3_aggregate_context(tls, pCtx, int32(unsafe.Sizeof(CallCount{}))) if p != 0 { @@ -140152,7 +140183,7 @@ func dense_rankStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) _ = apArg } -func dense_rankValueFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158373:13: */ +func dense_rankValueFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158430:13: */ var p uintptr p = Xsqlite3_aggregate_context(tls, pCtx, int32(unsafe.Sizeof(CallCount{}))) if p != 0 { @@ -140170,9 +140201,9 @@ func dense_rankValueFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158373:13: type NthValueCtx = struct { FnStep I64 FpValue uintptr -} /* sqlite3.c:158390:1 */ +} /* sqlite3.c:158447:1 */ -func nth_valueStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158394:13: */ +func nth_valueStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158451:13: */ var p uintptr var fVal float64 var iVal I64 @@ -140238,7 +140269,7 @@ error_out: pCtx, ts+21899, -1) } -func nth_valueFinalizeFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158435:13: */ +func nth_valueFinalizeFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158492:13: */ var p uintptr p = Xsqlite3_aggregate_context(tls, pCtx, 0) if p != 0 && (*NthValueCtx)(unsafe.Pointer(p)).FpValue != 0 { @@ -140248,7 +140279,7 @@ func nth_valueFinalizeFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158435:13 } } -func first_valueStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158447:13: */ +func first_valueStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158504:13: */ var p uintptr p = Xsqlite3_aggregate_context(tls, pCtx, int32(unsafe.Sizeof(NthValueCtx{}))) if p != 0 && (*NthValueCtx)(unsafe.Pointer(p)).FpValue == uintptr(0) { @@ -140261,7 +140292,7 @@ func first_valueStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) _ = apArg } -func first_valueFinalizeFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158463:13: */ +func first_valueFinalizeFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158520:13: */ var p uintptr p = Xsqlite3_aggregate_context(tls, pCtx, int32(unsafe.Sizeof(NthValueCtx{}))) if p != 0 && (*NthValueCtx)(unsafe.Pointer(p)).FpValue != 0 { @@ -140275,7 +140306,7 @@ func first_valueFinalizeFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158463: // the window frame has been set to: // // RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW -func rankStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158481:13: */ +func rankStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158538:13: */ var p uintptr p = Xsqlite3_aggregate_context(tls, pCtx, int32(unsafe.Sizeof(CallCount{}))) if p != 0 { @@ -140288,7 +140319,7 @@ func rankStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* s _ = apArg } -func rankValueFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158497:13: */ +func rankValueFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158554:13: */ var p uintptr p = Xsqlite3_aggregate_context(tls, pCtx, int32(unsafe.Sizeof(CallCount{}))) if p != 0 { @@ -140301,7 +140332,7 @@ func rankValueFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158497:13: */ // the window frame has been set to: // // GROUPS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING -func percent_rankStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158512:13: */ +func percent_rankStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158569:13: */ var p uintptr _ = nArg _ = apArg @@ -140311,7 +140342,7 @@ func percent_rankStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr } } -func percent_rankInvFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158525:13: */ +func percent_rankInvFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158582:13: */ var p uintptr _ = nArg _ = apArg @@ -140319,7 +140350,7 @@ func percent_rankInvFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) (*CallCount)(unsafe.Pointer(p)).FnStep++ } -func percent_rankValueFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158536:13: */ +func percent_rankValueFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158593:13: */ var p uintptr p = Xsqlite3_aggregate_context(tls, pCtx, int32(unsafe.Sizeof(CallCount{}))) if p != 0 { @@ -140337,7 +140368,7 @@ func percent_rankValueFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158536:13 // the window frame has been set to: // // GROUPS BETWEEN 1 FOLLOWING AND UNBOUNDED FOLLOWING -func cume_distStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158557:13: */ +func cume_distStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158614:13: */ var p uintptr _ = nArg _ = apArg @@ -140347,7 +140378,7 @@ func cume_distStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { } } -func cume_distInvFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158570:13: */ +func cume_distInvFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158627:13: */ var p uintptr _ = nArg _ = apArg @@ -140355,7 +140386,7 @@ func cume_distInvFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { (*CallCount)(unsafe.Pointer(p)).FnStep++ } -func cume_distValueFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158581:13: */ +func cume_distValueFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158638:13: */ var p uintptr p = Xsqlite3_aggregate_context(tls, pCtx, 0) if p != 0 { @@ -140369,13 +140400,13 @@ type NtileCtx = struct { FnTotal I64 FnParam I64 FiRow I64 -} /* sqlite3.c:158594:1 */ +} /* sqlite3.c:158651:1 */ // Implementation of ntile(). This assumes that the window frame has // been coerced to: // // ROWS CURRENT ROW AND UNBOUNDED FOLLOWING -func ntileStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158606:13: */ +func ntileStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158663:13: */ var p uintptr _ = nArg p = Xsqlite3_aggregate_context(tls, pCtx, int32(unsafe.Sizeof(NtileCtx{}))) @@ -140391,7 +140422,7 @@ func ntileStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* } } -func ntileInvFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158626:13: */ +func ntileInvFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158683:13: */ var p uintptr _ = nArg _ = apArg @@ -140399,7 +140430,7 @@ func ntileInvFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* s (*NtileCtx)(unsafe.Pointer(p)).FiRow++ } -func ntileValueFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158637:13: */ +func ntileValueFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158694:13: */ var p uintptr p = Xsqlite3_aggregate_context(tls, pCtx, int32(unsafe.Sizeof(NtileCtx{}))) if p != 0 && (*NtileCtx)(unsafe.Pointer(p)).FnParam > int64(0) { @@ -140425,10 +140456,10 @@ type LastValueCtx = struct { FpVal uintptr FnVal int32 F__ccgo_pad1 [4]byte -} /* sqlite3.c:158664:1 */ +} /* sqlite3.c:158721:1 */ // Implementation of last_value(). -func last_valueStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158672:13: */ +func last_valueStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158729:13: */ var p uintptr _ = nArg p = Xsqlite3_aggregate_context(tls, pCtx, int32(unsafe.Sizeof(LastValueCtx{}))) @@ -140443,7 +140474,7 @@ func last_valueStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) } } -func last_valueInvFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158690:13: */ +func last_valueInvFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158747:13: */ var p uintptr _ = nArg _ = apArg @@ -140457,7 +140488,7 @@ func last_valueInvFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { } } -func last_valueValueFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158707:13: */ +func last_valueValueFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158764:13: */ var p uintptr p = Xsqlite3_aggregate_context(tls, pCtx, 0) if p != 0 && (*LastValueCtx)(unsafe.Pointer(p)).FpVal != 0 { @@ -140465,7 +140496,7 @@ func last_valueValueFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158707:13: } } -func last_valueFinalizeFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158714:13: */ +func last_valueFinalizeFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158771:13: */ var p uintptr p = Xsqlite3_aggregate_context(tls, pCtx, int32(unsafe.Sizeof(LastValueCtx{}))) if p != 0 && (*LastValueCtx)(unsafe.Pointer(p)).FpVal != 0 { @@ -140481,17 +140512,17 @@ func last_valueFinalizeFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158714:1 // comparison of the zName pointer. Example: // // if( pFuncDef->zName==row_valueName ){ ... } -var row_numberName = *(*[11]int8)(unsafe.Pointer(ts + 22000)) /* sqlite3.c:158732:19 */ -var dense_rankName = *(*[11]int8)(unsafe.Pointer(ts + 22011)) /* sqlite3.c:158733:19 */ -var rankName = *(*[5]int8)(unsafe.Pointer(ts + 22022)) /* sqlite3.c:158734:19 */ -var percent_rankName = *(*[13]int8)(unsafe.Pointer(ts + 22027)) /* sqlite3.c:158735:19 */ -var cume_distName = *(*[10]int8)(unsafe.Pointer(ts + 22040)) /* sqlite3.c:158736:19 */ -var ntileName = *(*[6]int8)(unsafe.Pointer(ts + 22050)) /* sqlite3.c:158737:19 */ -var last_valueName = *(*[11]int8)(unsafe.Pointer(ts + 22056)) /* sqlite3.c:158738:19 */ -var nth_valueName = *(*[10]int8)(unsafe.Pointer(ts + 22067)) /* sqlite3.c:158739:19 */ -var first_valueName = *(*[12]int8)(unsafe.Pointer(ts + 22077)) /* sqlite3.c:158740:19 */ -var leadName = *(*[5]int8)(unsafe.Pointer(ts + 22089)) /* sqlite3.c:158741:19 */ -var lagName = *(*[4]int8)(unsafe.Pointer(ts + 22094 /* "lag" */)) /* sqlite3.c:158742:19 */ +var row_numberName = *(*[11]int8)(unsafe.Pointer(ts + 22000)) /* sqlite3.c:158789:19 */ +var dense_rankName = *(*[11]int8)(unsafe.Pointer(ts + 22011)) /* sqlite3.c:158790:19 */ +var rankName = *(*[5]int8)(unsafe.Pointer(ts + 22022)) /* sqlite3.c:158791:19 */ +var percent_rankName = *(*[13]int8)(unsafe.Pointer(ts + 22027)) /* sqlite3.c:158792:19 */ +var cume_distName = *(*[10]int8)(unsafe.Pointer(ts + 22040)) /* sqlite3.c:158793:19 */ +var ntileName = *(*[6]int8)(unsafe.Pointer(ts + 22050)) /* sqlite3.c:158794:19 */ +var last_valueName = *(*[11]int8)(unsafe.Pointer(ts + 22056)) /* sqlite3.c:158795:19 */ +var nth_valueName = *(*[10]int8)(unsafe.Pointer(ts + 22067)) /* sqlite3.c:158796:19 */ +var first_valueName = *(*[12]int8)(unsafe.Pointer(ts + 22077)) /* sqlite3.c:158797:19 */ +var leadName = *(*[5]int8)(unsafe.Pointer(ts + 22089)) /* sqlite3.c:158798:19 */ +var lagName = *(*[4]int8)(unsafe.Pointer(ts + 22094 /* "lag" */)) /* sqlite3.c:158799:19 */ // No-op implementations of xStep() and xFinalize(). Used as place-holders // for built-in window functions that never call those interfaces. @@ -140500,7 +140531,7 @@ var lagName = *(*[4]int8)(unsafe.Pointer(ts + 22094 /* "lag" */)) /* sqlite3.c:1 // noopStepFunc() is never called, and so it is marked with NO_TEST to // let the test coverage routine know not to expect this function to be // invoked. -func noopStepFunc(tls *libc.TLS, p uintptr, n int32, a uintptr) { /* sqlite3.c:158753:13: */ //NO_TEST +func noopStepFunc(tls *libc.TLS, p uintptr, n int32, a uintptr) { /* sqlite3.c:158810:13: */ //NO_TEST _ = p //NO_TEST _ = n //NO_TEST _ = a //NO_TEST @@ -140508,7 +140539,7 @@ func noopStepFunc(tls *libc.TLS, p uintptr, n int32, a uintptr) { /* sqlite3.c:1 } //NO_TEST -func noopValueFunc(tls *libc.TLS, p uintptr) { /* sqlite3.c:158763:13: */ +func noopValueFunc(tls *libc.TLS, p uintptr) { /* sqlite3.c:158820:13: */ _ = p /*no-op*/ } @@ -140523,7 +140554,7 @@ func noopValueFunc(tls *libc.TLS, p uintptr) { /* sqlite3.c:158763:13: */ // xInverse. // Register those built-in window functions that are not also aggregates. -func Xsqlite3WindowFunctions(tls *libc.TLS) { /* sqlite3.c:158794:21: */ +func Xsqlite3WindowFunctions(tls *libc.TLS) { /* sqlite3.c:158851:21: */ Xsqlite3InsertBuiltinFuncs(tls, uintptr(unsafe.Pointer(&aWindowFuncs)), int32(uint64(unsafe.Sizeof(aWindowFuncs))/uint64(unsafe.Sizeof(FuncDef{})))) } @@ -140542,9 +140573,9 @@ var aWindowFuncs = [15]FuncDef{ {FnArg: int8(3), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_UTF8 | SQLITE_FUNC_WINDOW | 0), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: 0}, {FnArg: int8(1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_UTF8 | SQLITE_FUNC_WINDOW | 0), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: 0}, {FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_UTF8 | SQLITE_FUNC_WINDOW | 0), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: 0}, - {FnArg: int8(3), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_UTF8 | SQLITE_FUNC_WINDOW | 0), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: 0}} /* sqlite3.c:158795:18 */ + {FnArg: int8(3), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_UTF8 | SQLITE_FUNC_WINDOW | 0), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: 0}} /* sqlite3.c:158852:18 */ -func windowFind(tls *libc.TLS, pParse uintptr, pList uintptr, zName uintptr) uintptr { /* sqlite3.c:158815:15: */ +func windowFind(tls *libc.TLS, pParse uintptr, pList uintptr, zName uintptr) uintptr { /* sqlite3.c:158872:15: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -140575,7 +140606,7 @@ func windowFind(tls *libc.TLS, pParse uintptr, pList uintptr, zName uintptr) uin // * If the function is a built-in window function that requires the // window to be coerced (see "BUILT-IN WINDOW FUNCTIONS" at the top // of this file), pWin is updated here. -func Xsqlite3WindowUpdate(tls *libc.TLS, pParse uintptr, pList uintptr, pWin uintptr, pFunc uintptr) { /* sqlite3.c:158843:21: */ +func Xsqlite3WindowUpdate(tls *libc.TLS, pParse uintptr, pList uintptr, pWin uintptr, pFunc uintptr) { /* sqlite3.c:158900:21: */ bp := tls.Alloc(192) defer tls.Free(192) @@ -140643,16 +140674,16 @@ type WindowUpdate = struct { FeStart int32 FeEnd int32 F__ccgo_pad1 [4]byte -} /* sqlite3.c:158878:7 */ +} /* sqlite3.c:158935:7 */ // Context object passed through sqlite3WalkExprList() to // selectWindowRewriteExprCb() by selectWindowRewriteEList(). -type WindowRewrite = WindowRewrite1 /* sqlite3.c:158918:30 */ +type WindowRewrite = WindowRewrite1 /* sqlite3.c:158975:30 */ // Callback function used by selectWindowRewriteEList(). If necessary, // this function appends to the output expression-list and updates // expression (*ppExpr) in place. -func selectWindowRewriteExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:158932:12: */ +func selectWindowRewriteExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:158989:12: */ var p uintptr = *(*uintptr)(unsafe.Pointer(pWalker + 40)) var pParse uintptr = (*Walker)(unsafe.Pointer(pWalker)).FpParse @@ -140751,7 +140782,7 @@ func selectWindowRewriteExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) in return WRC_Continue } -func selectWindowRewriteSelectCb(tls *libc.TLS, pWalker uintptr, pSelect uintptr) int32 { /* sqlite3.c:159014:12: */ +func selectWindowRewriteSelectCb(tls *libc.TLS, pWalker uintptr, pSelect uintptr) int32 { /* sqlite3.c:159071:12: */ var p uintptr = *(*uintptr)(unsafe.Pointer(pWalker + 40)) var pSave uintptr = (*WindowRewrite1)(unsafe.Pointer(p)).FpSubSelect if pSave == pSelect { @@ -140775,7 +140806,7 @@ func selectWindowRewriteSelectCb(tls *libc.TLS, pWalker uintptr, pSelect uintptr // with a TK_COLUMN that reads the (N-1)th element of table // pWin->iEphCsr, where N is the number of elements in (*ppSub) after // appending the new one. -func selectWindowRewriteEList(tls *libc.TLS, pParse uintptr, pWin uintptr, pSrc uintptr, pEList uintptr, pTab uintptr, ppSub uintptr) { /* sqlite3.c:159041:13: */ +func selectWindowRewriteEList(tls *libc.TLS, pParse uintptr, pWin uintptr, pSrc uintptr, pEList uintptr, pTab uintptr, ppSub uintptr) { /* sqlite3.c:159098:13: */ bp := tls.Alloc(88) defer tls.Free(88) @@ -140807,7 +140838,7 @@ func selectWindowRewriteEList(tls *libc.TLS, pParse uintptr, pWin uintptr, pSrc // Append a copy of each expression in expression-list pAppend to // expression list pList. Return a pointer to the result list. -func exprListAppendList(tls *libc.TLS, pParse uintptr, pList uintptr, pAppend uintptr, bIntToNull int32) uintptr { /* sqlite3.c:159075:17: */ +func exprListAppendList(tls *libc.TLS, pParse uintptr, pList uintptr, pAppend uintptr, bIntToNull int32) uintptr { /* sqlite3.c:159132:17: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -140853,7 +140884,7 @@ func exprListAppendList(tls *libc.TLS, pParse uintptr, pList uintptr, pAppend ui // due to the extra subquery layer that was added. // // See also the incrAggDepth() routine in resolve.c -func sqlite3WindowExtraAggFuncDepth(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:159117:12: */ +func sqlite3WindowExtraAggFuncDepth(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:159174:12: */ if int32((*Expr)(unsafe.Pointer(pExpr)).Fop) == TK_AGG_FUNCTION && int32((*Expr)(unsafe.Pointer(pExpr)).Fop2) >= (*Walker)(unsafe.Pointer(pWalker)).FwalkerDepth { (*Expr)(unsafe.Pointer(pExpr)).Fop2++ @@ -140861,7 +140892,7 @@ func sqlite3WindowExtraAggFuncDepth(tls *libc.TLS, pWalker uintptr, pExpr uintpt return WRC_Continue } -func disallowAggregatesInOrderByCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:159126:12: */ +func disallowAggregatesInOrderByCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:159183:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -140878,7 +140909,7 @@ func disallowAggregatesInOrderByCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr // rewrites the SELECT statement so that window function xStep functions // are invoked in the correct order as described under "SELECT REWRITING" // at the top of this file. -func Xsqlite3WindowRewrite(tls *libc.TLS, pParse uintptr, p uintptr) int32 { /* sqlite3.c:159142:20: */ +func Xsqlite3WindowRewrite(tls *libc.TLS, pParse uintptr, p uintptr) int32 { /* sqlite3.c:159199:20: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -141062,7 +141093,7 @@ func Xsqlite3WindowRewrite(tls *libc.TLS, pParse uintptr, p uintptr) int32 { /* // Unlink the Window object from the Select to which it is attached, // if it is attached. -func Xsqlite3WindowUnlinkFromSelect(tls *libc.TLS, p uintptr) { /* sqlite3.c:159306:21: */ +func Xsqlite3WindowUnlinkFromSelect(tls *libc.TLS, p uintptr) { /* sqlite3.c:159363:21: */ if (*Window)(unsafe.Pointer(p)).FppThis != 0 { *(*uintptr)(unsafe.Pointer((*Window)(unsafe.Pointer(p)).FppThis)) = (*Window)(unsafe.Pointer(p)).FpNextWin if (*Window)(unsafe.Pointer(p)).FpNextWin != 0 { @@ -141073,7 +141104,7 @@ func Xsqlite3WindowUnlinkFromSelect(tls *libc.TLS, p uintptr) { /* sqlite3.c:159 } // Free the Window object passed as the second argument. -func Xsqlite3WindowDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:159317:21: */ +func Xsqlite3WindowDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:159374:21: */ if p != 0 { Xsqlite3WindowUnlinkFromSelect(tls, p) Xsqlite3ExprDelete(tls, db, (*Window)(unsafe.Pointer(p)).FpFilter) @@ -141088,7 +141119,7 @@ func Xsqlite3WindowDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:1 } // Free the linked list of Window objects starting at the second argument. -func Xsqlite3WindowListDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:159334:21: */ +func Xsqlite3WindowListDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:159391:21: */ for p != 0 { var pNext uintptr = (*Window)(unsafe.Pointer(p)).FpNextWin Xsqlite3WindowDelete(tls, db, p) @@ -141101,7 +141132,7 @@ func Xsqlite3WindowListDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3 // constant, change it to NULL. The fact that it is then a non-negative // integer will be caught later. But it is important not to leave // variable values in the expression tree. -func sqlite3WindowOffsetExpr(tls *libc.TLS, pParse uintptr, pExpr uintptr) uintptr { /* sqlite3.c:159349:13: */ +func sqlite3WindowOffsetExpr(tls *libc.TLS, pParse uintptr, pExpr uintptr) uintptr { /* sqlite3.c:159406:13: */ if 0 == Xsqlite3ExprIsConstant(tls, pExpr) { if int32((*Parse)(unsafe.Pointer(pParse)).FeParseMode) >= PARSE_MODE_RENAME { Xsqlite3RenameExprUnmap(tls, pParse, pExpr) @@ -141113,7 +141144,7 @@ func sqlite3WindowOffsetExpr(tls *libc.TLS, pParse uintptr, pExpr uintptr) uintp } // Allocate and return a new Window object describing a Window Definition. -func Xsqlite3WindowAlloc(tls *libc.TLS, pParse uintptr, eType int32, eStart int32, pStart uintptr, eEnd int32, pEnd uintptr, eExclude U8) uintptr { /* sqlite3.c:159361:23: */ +func Xsqlite3WindowAlloc(tls *libc.TLS, pParse uintptr, eType int32, eStart int32, pStart uintptr, eEnd int32, pEnd uintptr, eExclude U8) uintptr { /* sqlite3.c:159418:23: */ var pWin uintptr var bImplicitFrame int32 pWin = uintptr(0) @@ -141182,7 +141213,7 @@ windowAllocErr: // Attach PARTITION and ORDER BY clauses pPartition and pOrderBy to window // pWin. Also, if parameter pBase is not NULL, set pWin->zBase to the // equivalent nul-terminated string. -func Xsqlite3WindowAssemble(tls *libc.TLS, pParse uintptr, pWin uintptr, pPartition uintptr, pOrderBy uintptr, pBase uintptr) uintptr { /* sqlite3.c:159433:23: */ +func Xsqlite3WindowAssemble(tls *libc.TLS, pParse uintptr, pWin uintptr, pPartition uintptr, pOrderBy uintptr, pBase uintptr) uintptr { /* sqlite3.c:159490:23: */ if pWin != 0 { (*Window)(unsafe.Pointer(pWin)).FpPartition = pPartition (*Window)(unsafe.Pointer(pWin)).FpOrderBy = pOrderBy @@ -141201,7 +141232,7 @@ func Xsqlite3WindowAssemble(tls *libc.TLS, pParse uintptr, pWin uintptr, pPartit // stored in the linked list starting at pWin->pNextWin. This function // either updates *pWin according to the base specification, or else // leaves an error in pParse. -func Xsqlite3WindowChain(tls *libc.TLS, pParse uintptr, pWin uintptr, pList uintptr) { /* sqlite3.c:159460:21: */ +func Xsqlite3WindowChain(tls *libc.TLS, pParse uintptr, pWin uintptr, pList uintptr) { /* sqlite3.c:159517:21: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -141235,7 +141266,7 @@ func Xsqlite3WindowChain(tls *libc.TLS, pParse uintptr, pWin uintptr, pList uint } // Attach window object pWin to expression p. -func Xsqlite3WindowAttach(tls *libc.TLS, pParse uintptr, p uintptr, pWin uintptr) { /* sqlite3.c:159494:21: */ +func Xsqlite3WindowAttach(tls *libc.TLS, pParse uintptr, p uintptr, pWin uintptr) { /* sqlite3.c:159551:21: */ if p != 0 { *(*uintptr)(unsafe.Pointer(p + 64)) = pWin @@ -141254,7 +141285,7 @@ func Xsqlite3WindowAttach(tls *libc.TLS, pParse uintptr, p uintptr, pWin uintptr // to be processed as part of SELECT statement pSel). The window is linked // in if either (a) there are no other windows already linked to this // SELECT, or (b) the windows already linked use a compatible window frame. -func Xsqlite3WindowLink(tls *libc.TLS, pSel uintptr, pWin uintptr) { /* sqlite3.c:159517:21: */ +func Xsqlite3WindowLink(tls *libc.TLS, pSel uintptr, pWin uintptr) { /* sqlite3.c:159574:21: */ if pSel != 0 { if uintptr(0) == (*Select)(unsafe.Pointer(pSel)).FpWin || 0 == Xsqlite3WindowCompare(tls, uintptr(0), (*Select)(unsafe.Pointer(pSel)).FpWin, pWin, 0) { (*Window)(unsafe.Pointer(pWin)).FpNextWin = (*Select)(unsafe.Pointer(pSel)).FpWin @@ -141274,7 +141305,7 @@ func Xsqlite3WindowLink(tls *libc.TLS, pSel uintptr, pWin uintptr) { /* sqlite3. // Return 0 if the two window objects are identical, 1 if they are // different, or 2 if it cannot be determined if the objects are identical // or not. Identical window objects can be processed in a single scan. -func Xsqlite3WindowCompare(tls *libc.TLS, pParse uintptr, p1 uintptr, p2 uintptr, bFilter int32) int32 { /* sqlite3.c:159539:20: */ +func Xsqlite3WindowCompare(tls *libc.TLS, pParse uintptr, p1 uintptr, p2 uintptr, bFilter int32) int32 { /* sqlite3.c:159596:20: */ var res int32 if p1 == uintptr(0) || p2 == uintptr(0) { return 1 @@ -141314,7 +141345,7 @@ func Xsqlite3WindowCompare(tls *libc.TLS, pParse uintptr, p1 uintptr, p2 uintptr // This is called by code in select.c before it calls sqlite3WhereBegin() // to begin iterating through the sub-query results. It is used to allocate // and initialize registers and cursors used by sqlite3WindowCodeStep(). -func Xsqlite3WindowCodeInit(tls *libc.TLS, pParse uintptr, pSelect uintptr) { /* sqlite3.c:159573:21: */ +func Xsqlite3WindowCodeInit(tls *libc.TLS, pParse uintptr, pSelect uintptr) { /* sqlite3.c:159630:21: */ var nEphExpr int32 = (*ExprList)(unsafe.Pointer((*Select)(unsafe.Pointer((*SrcItem)(unsafe.Pointer((*Select)(unsafe.Pointer(pSelect)).FpSrc + 8)).FpSelect)).FpEList)).FnExpr var pMWin uintptr = (*Select)(unsafe.Pointer(pSelect)).FpWin var pWin uintptr @@ -141390,7 +141421,7 @@ func Xsqlite3WindowCodeInit(tls *libc.TLS, pParse uintptr, pSelect uintptr) { /* // evaluated and the result left in register reg. This function generates VM // code to check that the value is a non-negative integer and throws an // exception if it is not. -func windowCheckValue(tls *libc.TLS, pParse uintptr, reg int32, eCond int32) { /* sqlite3.c:159660:13: */ +func windowCheckValue(tls *libc.TLS, pParse uintptr, reg int32, eCond int32) { /* sqlite3.c:159717:13: */ var v uintptr = Xsqlite3GetVdbe(tls, pParse) var regZero int32 = Xsqlite3GetTempReg(tls, pParse) @@ -141424,12 +141455,12 @@ var azErr = [5]uintptr{ ts + 21899, ts + 22546, ts + 22598, -} /* sqlite3.c:159661:21 */ -var aOp1 = [5]int32{OP_Ge, OP_Ge, OP_Gt, OP_Ge, OP_Ge} /* sqlite3.c:159668:14 */ +} /* sqlite3.c:159718:21 */ +var aOp1 = [5]int32{OP_Ge, OP_Ge, OP_Gt, OP_Ge, OP_Ge} /* sqlite3.c:159725:14 */ // Return the number of arguments passed to the window-function associated // with the object passed as the only argument to this function. -func windowArgCount(tls *libc.TLS, pWin uintptr) int32 { /* sqlite3.c:159707:12: */ +func windowArgCount(tls *libc.TLS, pWin uintptr) int32 { /* sqlite3.c:159764:12: */ var pList uintptr pList = *(*uintptr)(unsafe.Pointer((*Window)(unsafe.Pointer(pWin)).FpOwner + 32)) @@ -141454,19 +141485,19 @@ type WindowCodeArg1 = struct { Fcurrent WindowCsrAndReg Fend WindowCsrAndReg F__ccgo_pad1 [4]byte -} /* sqlite3.c:159714:9 */ +} /* sqlite3.c:159771:9 */ -type WindowCodeArg = WindowCodeArg1 /* sqlite3.c:159714:30 */ +type WindowCodeArg = WindowCodeArg1 /* sqlite3.c:159771:30 */ type WindowCsrAndReg1 = struct { Fcsr int32 Freg int32 -} /* sqlite3.c:159714:9 */ +} /* sqlite3.c:159771:9 */ -type WindowCsrAndReg = WindowCsrAndReg1 /* sqlite3.c:159715:32 */ +type WindowCsrAndReg = WindowCsrAndReg1 /* sqlite3.c:159772:32 */ // Generate VM code to read the window frames peer values from cursor csr into // an array of registers starting at reg. -func windowReadPeerValues(tls *libc.TLS, p uintptr, csr int32, reg int32) { /* sqlite3.c:159799:13: */ +func windowReadPeerValues(tls *libc.TLS, p uintptr, csr int32, reg int32) { /* sqlite3.c:159856:13: */ var pMWin uintptr = (*WindowCodeArg)(unsafe.Pointer(p)).FpMWin var pOrderBy uintptr = (*Window)(unsafe.Pointer(pMWin)).FpOrderBy if pOrderBy != 0 { @@ -141502,7 +141533,7 @@ func windowReadPeerValues(tls *libc.TLS, p uintptr, csr int32, reg int32) { /* s // // If argument regPartSize is non-zero, then it is a register containing the // number of rows in the current partition. -func windowAggStep(tls *libc.TLS, p uintptr, pMWin uintptr, csr int32, bInverse int32, reg int32) { /* sqlite3.c:159836:13: */ +func windowAggStep(tls *libc.TLS, p uintptr, pMWin uintptr, csr int32, bInverse int32, reg int32) { /* sqlite3.c:159893:13: */ var pParse uintptr = (*WindowCodeArg)(unsafe.Pointer(p)).FpParse var v uintptr = Xsqlite3GetVdbe(tls, pParse) var pWin uintptr @@ -141609,7 +141640,7 @@ func windowAggStep(tls *libc.TLS, p uintptr, pMWin uintptr, csr int32, bInverse // (bFin==1) for each window function in the linked list starting at // pMWin. Or, for built-in window-functions that do not use the standard // API, generate the equivalent VM code. -func windowAggFinal(tls *libc.TLS, p uintptr, bFin int32) { /* sqlite3.c:159953:13: */ +func windowAggFinal(tls *libc.TLS, p uintptr, bFin int32) { /* sqlite3.c:160010:13: */ var pParse uintptr = (*WindowCodeArg)(unsafe.Pointer(p)).FpParse var pMWin uintptr = (*WindowCodeArg)(unsafe.Pointer(p)).FpMWin var v uintptr = Xsqlite3GetVdbe(tls, pParse) @@ -141645,7 +141676,7 @@ func windowAggFinal(tls *libc.TLS, p uintptr, bFin int32) { /* sqlite3.c:159953: // p->pMWin list by doing a full scan of the current window frame. Store the // results in the Window.regResult registers, ready to return the upper // layer. -func windowFullScan(tls *libc.TLS, p uintptr) { /* sqlite3.c:159992:13: */ +func windowFullScan(tls *libc.TLS, p uintptr) { /* sqlite3.c:160049:13: */ var pWin uintptr var pParse uintptr = (*WindowCodeArg)(unsafe.Pointer(p)).FpParse var pMWin uintptr = (*WindowCodeArg)(unsafe.Pointer(p)).FpMWin @@ -141752,7 +141783,7 @@ func windowFullScan(tls *libc.TLS, p uintptr) { /* sqlite3.c:159992:13: */ // first_value() // lag() // lead() -func windowReturnOneRow(tls *libc.TLS, p uintptr) { /* sqlite3.c:160098:13: */ +func windowReturnOneRow(tls *libc.TLS, p uintptr) { /* sqlite3.c:160155:13: */ var pMWin uintptr = (*WindowCodeArg)(unsafe.Pointer(p)).FpMWin var v uintptr = (*WindowCodeArg)(unsafe.Pointer(p)).FpVdbe @@ -141835,7 +141866,7 @@ func windowReturnOneRow(tls *libc.TLS, p uintptr) { /* sqlite3.c:160098:13: */ // in the linked list passed as the second argument to NULL. And perform // any equivalent initialization required by any built-in window functions // in the list. -func windowInitAccum(tls *libc.TLS, pParse uintptr, pMWin uintptr) int32 { /* sqlite3.c:160175:12: */ +func windowInitAccum(tls *libc.TLS, pParse uintptr, pMWin uintptr) int32 { /* sqlite3.c:160232:12: */ var v uintptr = Xsqlite3GetVdbe(tls, pParse) var regArg int32 var nArg int32 = 0 @@ -141870,7 +141901,7 @@ func windowInitAccum(tls *libc.TLS, pParse uintptr, pMWin uintptr) int32 { /* sq // Return true if the current frame should be cached in the ephemeral table, // even if there are no xInverse() calls required. -func windowCacheFrame(tls *libc.TLS, pMWin uintptr) int32 { /* sqlite3.c:160207:12: */ +func windowCacheFrame(tls *libc.TLS, pMWin uintptr) int32 { /* sqlite3.c:160264:12: */ var pWin uintptr if (*Window)(unsafe.Pointer(pMWin)).FregStartRowid != 0 { return 1 @@ -141895,7 +141926,7 @@ func windowCacheFrame(tls *libc.TLS, pMWin uintptr) int32 { /* sqlite3.c:160207: // If the two arrays are not equal, the contents of regNew is copied to // regOld and control falls through. Otherwise, if the contents of the arrays // are equal, an OP_Goto is executed. The address of the OP_Goto is returned. -func windowIfNewPeer(tls *libc.TLS, pParse uintptr, pOrderBy uintptr, regNew int32, regOld int32, addr int32) { /* sqlite3.c:160233:13: */ +func windowIfNewPeer(tls *libc.TLS, pParse uintptr, pOrderBy uintptr, regNew int32, regOld int32, addr int32) { /* sqlite3.c:160290:13: */ var v uintptr = Xsqlite3GetVdbe(tls, pParse) if pOrderBy != 0 { var nVal int32 = (*ExprList)(unsafe.Pointer(pOrderBy)).FnExpr @@ -141932,7 +141963,7 @@ func windowIfNewPeer(tls *libc.TLS, pParse uintptr, pOrderBy uintptr, regNew int // A special type of arithmetic is used such that if csr1.peerVal is not // a numeric type (real or integer), then the result of the addition // or subtraction is a a copy of csr1.peerVal. -func windowCodeRangeTest(tls *libc.TLS, p uintptr, op int32, csr1 int32, regVal int32, csr2 int32, lbl int32) { /* sqlite3.c:160279:13: */ +func windowCodeRangeTest(tls *libc.TLS, p uintptr, op int32, csr1 int32, regVal int32, csr2 int32, lbl int32) { /* sqlite3.c:160336:13: */ var pParse uintptr = (*WindowCodeArg)(unsafe.Pointer(p)).FpParse var v uintptr = Xsqlite3GetVdbe(tls, pParse) var pOrderBy uintptr = (*Window)(unsafe.Pointer((*WindowCodeArg)(unsafe.Pointer(p)).FpMWin)).FpOrderBy // ORDER BY clause for window @@ -142055,7 +142086,7 @@ func windowCodeRangeTest(tls *libc.TLS, p uintptr, op int32, csr1 int32, regVal // generates VM code for a single RETURN_ROW, AGGSTEP or AGGINVERSE // operation. Refer to the header comment for sqlite3WindowCodeStep() for // details. -func windowCodeOp(tls *libc.TLS, p uintptr, op int32, regCountdown int32, jumpOnEof int32) int32 { /* sqlite3.c:160412:12: */ +func windowCodeOp(tls *libc.TLS, p uintptr, op int32, regCountdown int32, jumpOnEof int32) int32 { /* sqlite3.c:160469:12: */ var csr int32 var reg int32 var pParse uintptr = (*WindowCodeArg)(unsafe.Pointer(p)).FpParse @@ -142203,7 +142234,7 @@ func windowCodeOp(tls *libc.TLS, p uintptr, op int32, regCountdown int32, jumpOn // Allocate and return a duplicate of the Window object indicated by the // third argument. Set the Window.pOwner field of the new object to // pOwner. -func Xsqlite3WindowDup(tls *libc.TLS, db uintptr, pOwner uintptr, p uintptr) uintptr { /* sqlite3.c:160561:23: */ +func Xsqlite3WindowDup(tls *libc.TLS, db uintptr, pOwner uintptr, p uintptr) uintptr { /* sqlite3.c:160618:23: */ var pNew uintptr = uintptr(0) if p != 0 { pNew = Xsqlite3DbMallocZero(tls, db, uint64(unsafe.Sizeof(Window{}))) @@ -142234,7 +142265,7 @@ func Xsqlite3WindowDup(tls *libc.TLS, db uintptr, pOwner uintptr, p uintptr) uin // Return a copy of the linked list of Window objects passed as the // second argument. -func Xsqlite3WindowListDup(tls *libc.TLS, db uintptr, p uintptr) uintptr { /* sqlite3.c:160594:23: */ +func Xsqlite3WindowListDup(tls *libc.TLS, db uintptr, p uintptr) uintptr { /* sqlite3.c:160651:23: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -142259,7 +142290,7 @@ func Xsqlite3WindowListDup(tls *libc.TLS, db uintptr, p uintptr) uintptr { /* sq // // If an OOM error occurs, this function sets the Parse.db.mallocFailed // flag and returns zero. -func windowExprGtZero(tls *libc.TLS, pParse uintptr, pExpr uintptr) int32 { /* sqlite3.c:160616:12: */ +func windowExprGtZero(tls *libc.TLS, pParse uintptr, pExpr uintptr) int32 { /* sqlite3.c:160673:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -142607,7 +142638,7 @@ func windowExprGtZero(tls *libc.TLS, pParse uintptr, pExpr uintptr) int32 { /* s // // The text above leaves out many details. Refer to the code and comments // below for a more complete picture. -func Xsqlite3WindowCodeStep(tls *libc.TLS, pParse uintptr, p uintptr, pWInfo uintptr, regGosub int32, addrGosub int32) { /* sqlite3.c:160963:21: */ +func Xsqlite3WindowCodeStep(tls *libc.TLS, pParse uintptr, p uintptr, pWInfo uintptr, regGosub int32, addrGosub int32) { /* sqlite3.c:161020:21: */ bp := tls.Alloc(72) defer tls.Free(72) @@ -143004,17 +143035,17 @@ type TrigEvent = struct { Fa int32 F__ccgo_pad1 [4]byte Fb uintptr -} /* sqlite3.c:161363:1 */ +} /* sqlite3.c:161420:1 */ type FrameBound = struct { FeType int32 F__ccgo_pad1 [4]byte FpExpr uintptr -} /* sqlite3.c:161365:1 */ +} /* sqlite3.c:161422:1 */ // Disable lookaside memory allocation for objects that might be // shared across database connections. -func disableLookaside(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:161371:13: */ +func disableLookaside(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:161428:13: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb (*Parse)(unsafe.Pointer(pParse)).FdisableLookaside++ (*Sqlite3)(unsafe.Pointer(db)).Flookaside.FbDisable++ @@ -143024,7 +143055,7 @@ func disableLookaside(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:161371:13: * // For a compound SELECT statement, make sure p->pPrior->pNext==p for // all elements in the list. And make sure list length does not exceed // SQLITE_LIMIT_COMPOUND_SELECT. -func parserDoubleLinkSelect(tls *libc.TLS, pParse uintptr, p uintptr) { /* sqlite3.c:161404:15: */ +func parserDoubleLinkSelect(tls *libc.TLS, pParse uintptr, p uintptr) { /* sqlite3.c:161461:15: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -143063,7 +143094,7 @@ func parserDoubleLinkSelect(tls *libc.TLS, pParse uintptr, p uintptr) { /* sqlit // Attach a With object describing the WITH clause to a Select // object describing the query for which the WITH clause is a prefix. -func attachWithToSelect(tls *libc.TLS, pParse uintptr, pSelect uintptr, pWith uintptr) uintptr { /* sqlite3.c:161435:17: */ +func attachWithToSelect(tls *libc.TLS, pParse uintptr, pSelect uintptr, pWith uintptr) uintptr { /* sqlite3.c:161492:17: */ if pSelect != 0 { (*Select)(unsafe.Pointer(pSelect)).FpWith = pWith parserDoubleLinkSelect(tls, pParse, pSelect) @@ -143075,7 +143106,7 @@ func attachWithToSelect(tls *libc.TLS, pParse uintptr, pSelect uintptr, pWith ui } // Construct a new Expr object from a single token -func tokenExpr(tls *libc.TLS, pParse uintptr, op int32, t Token) uintptr { /* sqlite3.c:161447:15: */ +func tokenExpr(tls *libc.TLS, pParse uintptr, op int32, t Token) uintptr { /* sqlite3.c:161504:15: */ bp := tls.Alloc(16) defer tls.Free(16) *(*Token)(unsafe.Pointer(bp)) = t @@ -143113,7 +143144,7 @@ func tokenExpr(tls *libc.TLS, pParse uintptr, op int32, t Token) uintptr { /* sq // A routine to convert a binary TK_IS or TK_ISNOT expression into a // unary TK_ISNULL or TK_NOTNULL expression. -func binaryToUnaryIfNull(tls *libc.TLS, pParse uintptr, pY uintptr, pA uintptr, op int32) { /* sqlite3.c:161483:15: */ +func binaryToUnaryIfNull(tls *libc.TLS, pParse uintptr, pY uintptr, pA uintptr, op int32) { /* sqlite3.c:161540:15: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb if pA != 0 && pY != 0 && int32((*Expr)(unsafe.Pointer(pY)).Fop) == TK_NULL && !(int32((*Parse)(unsafe.Pointer(pParse)).FeParseMode) >= PARSE_MODE_RENAME) { (*Expr)(unsafe.Pointer(pA)).Fop = U8(op) @@ -143127,7 +143158,7 @@ func binaryToUnaryIfNull(tls *libc.TLS, pParse uintptr, pY uintptr, pA uintptr, // list of identifiers. Report an error if the ID list contains // a COLLATE clause or an ASC or DESC keyword, except ignore the // error while parsing a legacy schema. -func parserAddExprIdListTerm(tls *libc.TLS, pParse uintptr, pPrior uintptr, pIdToken uintptr, hasCollate int32, sortOrder int32) uintptr { /* sqlite3.c:161497:19: */ +func parserAddExprIdListTerm(tls *libc.TLS, pParse uintptr, pPrior uintptr, pIdToken uintptr, hasCollate int32, sortOrder int32) uintptr { /* sqlite3.c:161554:19: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -143202,7 +143233,7 @@ type YYMINORTYPE = struct { F__ccgo_pad1 [0]uint64 Fyyinit int32 F__ccgo_pad2 [12]byte -} /* sqlite3.c:161789:3 */ +} /* sqlite3.c:161846:3 */ //************ End control #defines ****************************************** // Define the yytestcase() macro to be a no-op if is not already defined @@ -143471,7 +143502,7 @@ var yy_action = [2070]uint16{ /* 2040 */ uint16(29), uint16(921), uint16(390), uint16(1176), uint16(172), uint16(139), uint16(1175), uint16(1235), uint16(261), uint16(1235), /* 2050 */ uint16(1235), uint16(1235), uint16(1235), uint16(1235), uint16(1235), uint16(1235), uint16(1235), uint16(262), uint16(1235), uint16(1235), /* 2060 */ uint16(1235), uint16(1235), uint16(1235), uint16(1235), uint16(1235), uint16(1235), uint16(1235), uint16(1235), uint16(1593), uint16(1592), -} /* sqlite3.c:161883:27 */ +} /* sqlite3.c:161940:27 */ var yy_lookahead = [2255]uint16{ /* 0 */ uint16(193), uint16(223), uint16(193), uint16(225), uint16(193), uint16(193), uint16(193), uint16(274), uint16(275), uint16(276), /* 10 */ uint16(193), uint16(233), uint16(219), uint16(193), uint16(274), uint16(275), uint16(276), uint16(206), uint16(206), uint16(19), @@ -143699,7 +143730,7 @@ var yy_lookahead = [2255]uint16{ /* 2230 */ uint16(319), uint16(319), uint16(319), uint16(319), uint16(319), uint16(319), uint16(319), uint16(319), uint16(319), uint16(319), /* 2240 */ uint16(319), uint16(319), uint16(319), uint16(319), uint16(319), uint16(319), uint16(319), uint16(319), uint16(319), uint16(319), /* 2250 */ uint16(319), uint16(319), uint16(319), uint16(319), uint16(319), -} /* sqlite3.c:162092:25 */ +} /* sqlite3.c:162149:25 */ var yy_shift_ofst = [574]uint16{ /* 0 */ uint16(1648), uint16(1477), uint16(1272), uint16(322), uint16(322), uint16(262), uint16(1319), uint16(1478), uint16(1491), uint16(1662), /* 10 */ uint16(1662), uint16(1662), uint16(317), uint16(0), uint16(0), uint16(214), uint16(1093), uint16(1662), uint16(1662), uint16(1662), @@ -143759,7 +143790,7 @@ var yy_shift_ofst = [574]uint16{ /* 550 */ uint16(2005), uint16(2006), uint16(2007), uint16(2008), uint16(2009), uint16(2001), uint16(2020), uint16(2012), uint16(2013), uint16(2014), /* 560 */ uint16(2015), uint16(2017), uint16(2018), uint16(2011), uint16(1906), uint16(1907), uint16(1916), uint16(1927), uint16(1928), uint16(2019), /* 570 */ uint16(2022), uint16(2027), uint16(2042), uint16(2045), -} /* sqlite3.c:162323:33 */ +} /* sqlite3.c:162380:33 */ var yy_reduce_ofst = [409]int16{ /* 0 */ int16(-125), int16(733), int16(789), int16(241), int16(293), int16(-123), int16(-193), int16(-191), int16(-183), int16(-187), /* 10 */ int16(-180), int16(83), int16(133), int16(-207), int16(-198), int16(-267), int16(-175), int16(-6), int16(166), int16(313), @@ -143802,7 +143833,7 @@ var yy_reduce_ofst = [409]int16{ /* 380 */ int16(1641), int16(1602), int16(1676), int16(1642), int16(1646), int16(1644), int16(1650), int16(1654), int16(1683), int16(1694), /* 390 */ int16(1707), int16(1711), int16(1712), int16(1714), int16(1643), int16(1647), int16(1652), int16(1698), int16(1695), int16(1696), /* 400 */ int16(1697), int16(1699), int16(1700), int16(1689), int16(1691), int16(1701), int16(1702), int16(1704), int16(1715), -} /* sqlite3.c:162386:20 */ +} /* sqlite3.c:162443:20 */ var yy_default = [574]uint16{ /* 0 */ uint16(1637), uint16(1637), uint16(1637), uint16(1466), uint16(1233), uint16(1344), uint16(1233), uint16(1233), uint16(1233), uint16(1466), /* 10 */ uint16(1466), uint16(1466), uint16(1233), uint16(1374), uint16(1374), uint16(1519), uint16(1266), uint16(1233), uint16(1233), uint16(1233), @@ -143862,7 +143893,7 @@ var yy_default = [574]uint16{ /* 550 */ uint16(1233), uint16(1233), uint16(1233), uint16(1233), uint16(1233), uint16(1233), uint16(1233), uint16(1233), uint16(1233), uint16(1233), /* 560 */ uint16(1233), uint16(1233), uint16(1233), uint16(1610), uint16(1325), uint16(1416), uint16(1233), uint16(1415), uint16(1419), uint16(1255), /* 570 */ uint16(1233), uint16(1245), uint16(1233), uint16(1233), -} /* sqlite3.c:162429:27 */ +} /* sqlite3.c:162486:27 */ //********* End of lemon-generated parsing tables **************************** // The next table maps tokens (terminal symbols) into fallback tokens. @@ -144064,7 +144095,7 @@ var yyFallback = [185]uint16{ uint16(0), // ERROR => nothing uint16(0), // SPACE => nothing uint16(0), // ILLEGAL => nothing -} /* sqlite3.c:162506:25 */ +} /* sqlite3.c:162563:25 */ // The following structure represents a single element of the // parser's stack. Information stored includes: @@ -144086,9 +144117,9 @@ type yyStackEntry = struct { Fmajor uint16 F__ccgo_pad1 [4]byte Fminor YYMINORTYPE -} /* sqlite3.c:162711:1 */ +} /* sqlite3.c:162768:1 */ -type YyStackEntry = yyStackEntry /* sqlite3.c:162718:29 */ +type YyStackEntry = yyStackEntry /* sqlite3.c:162775:29 */ // The state of the parser is completely contained in an instance of // the following structure @@ -144097,9 +144128,9 @@ type yyParser = struct { FpParse uintptr Fyystack [100]YyStackEntry FyystackEnd uintptr -} /* sqlite3.c:162722:1 */ +} /* sqlite3.c:162779:1 */ -type YyParser = yyParser /* sqlite3.c:162741:25 */ +type YyParser = yyParser /* sqlite3.c:162798:25 */ // #include @@ -144109,7 +144140,7 @@ type YyParser = yyParser /* sqlite3.c:162741:25 */ // grammar. // Initialize a new parser that has already been allocated. -func Xsqlite3ParserInit(tls *libc.TLS, yypRawParser uintptr, pParse uintptr) { /* sqlite3.c:163556:21: */ +func Xsqlite3ParserInit(tls *libc.TLS, yypRawParser uintptr, pParse uintptr) { /* sqlite3.c:163613:21: */ var yypParser uintptr = yypRawParser (*YyParser)(unsafe.Pointer(yypParser)).FpParse = pParse (*YyParser)(unsafe.Pointer(yypParser)).Fyytos = yypParser + 16 /* &.yystack */ @@ -144124,7 +144155,7 @@ func Xsqlite3ParserInit(tls *libc.TLS, yypRawParser uintptr, pParse uintptr) { / // a pointer to the value to be deleted. The code used to do the // deletions is derived from the %destructor and/or %token_destructor // directives of the input grammar. -func yy_destructor(tls *libc.TLS, yypParser uintptr, yymajor uint16, yypminor uintptr) { /* sqlite3.c:163614:13: */ +func yy_destructor(tls *libc.TLS, yypParser uintptr, yymajor uint16, yypminor uintptr) { /* sqlite3.c:163671:13: */ var pParse uintptr = (*YyParser)(unsafe.Pointer(yypParser)).FpParse switch int32(yymajor) { @@ -144283,7 +144314,7 @@ func yy_destructor(tls *libc.TLS, yypParser uintptr, yymajor uint16, yypminor ui // // If there is a destructor routine associated with the token which // is popped from the stack, then call it. -func yy_pop_parser_stack(tls *libc.TLS, pParser uintptr) { /* sqlite3.c:163739:13: */ +func yy_pop_parser_stack(tls *libc.TLS, pParser uintptr) { /* sqlite3.c:163796:13: */ var yytos uintptr yytos = libc.PostDecUintptr(&(*YyParser)(unsafe.Pointer(pParser)).Fyytos, 24) @@ -144291,7 +144322,7 @@ func yy_pop_parser_stack(tls *libc.TLS, pParser uintptr) { /* sqlite3.c:163739:1 } // Clear all secondary memory allocations from the parser -func Xsqlite3ParserFinalize(tls *libc.TLS, p uintptr) { /* sqlite3.c:163757:21: */ +func Xsqlite3ParserFinalize(tls *libc.TLS, p uintptr) { /* sqlite3.c:163814:21: */ var pParser uintptr = p for (*YyParser)(unsafe.Pointer(pParser)).Fyytos > pParser+16 { yy_pop_parser_stack(tls, pParser) @@ -144314,7 +144345,7 @@ func Xsqlite3ParserFinalize(tls *libc.TLS, p uintptr) { /* sqlite3.c:163757:21: // Find the appropriate action for a parser given the terminal // look-ahead token iLookAhead. -func yy_find_shift_action(tls *libc.TLS, iLookAhead uint16, stateno uint16) uint16 { /* sqlite3.c:163837:21: */ +func yy_find_shift_action(tls *libc.TLS, iLookAhead uint16, stateno uint16) uint16 { /* sqlite3.c:163894:21: */ var i int32 if int32(stateno) > YY_MAX_SHIFT { @@ -144354,7 +144385,7 @@ func yy_find_shift_action(tls *libc.TLS, iLookAhead uint16, stateno uint16) uint // Find the appropriate action for a parser given the non-terminal // look-ahead token iLookAhead. -func yy_find_reduce_action(tls *libc.TLS, stateno uint16, iLookAhead uint16) uint16 { /* sqlite3.c:163902:21: */ +func yy_find_reduce_action(tls *libc.TLS, stateno uint16, iLookAhead uint16) uint16 { /* sqlite3.c:163959:21: */ var i int32 i = int32(yy_reduce_ofst[stateno]) @@ -144365,7 +144396,7 @@ func yy_find_reduce_action(tls *libc.TLS, stateno uint16, iLookAhead uint16) uin } // The following routine is called if the stack overflows. -func yyStackOverflow(tls *libc.TLS, yypParser uintptr) { /* sqlite3.c:163931:13: */ +func yyStackOverflow(tls *libc.TLS, yypParser uintptr) { /* sqlite3.c:163988:13: */ var pParse uintptr = (*YyParser)(unsafe.Pointer(yypParser)).FpParse for (*YyParser)(unsafe.Pointer(yypParser)).Fyytos > yypParser+16 { @@ -144384,7 +144415,7 @@ func yyStackOverflow(tls *libc.TLS, yypParser uintptr) { /* sqlite3.c:163931:13: // Print tracing information for a SHIFT action // Perform a shift action. -func yy_shift(tls *libc.TLS, yypParser uintptr, yyNewState uint16, yyMajor uint16, yyMinor Token) { /* sqlite3.c:163974:13: */ +func yy_shift(tls *libc.TLS, yypParser uintptr, yyNewState uint16, yyMajor uint16, yyMinor Token) { /* sqlite3.c:164031:13: */ var yytos uintptr (*YyParser)(unsafe.Pointer(yypParser)).Fyytos += 24 if (*YyParser)(unsafe.Pointer(yypParser)).Fyytos > (*YyParser)(unsafe.Pointer(yypParser)).FyystackEnd { @@ -144807,7 +144838,7 @@ var yyRuleInfoLhs = [402]uint16{ uint16(303), // (399) anylist ::= anylist LP anylist RP uint16(303), // (400) anylist ::= anylist ANY uint16(266), // (401) with ::= -} /* sqlite3.c:164015:25 */ +} /* sqlite3.c:164072:25 */ // For rule J, yyRuleInfoNRhs[J] contains the negative of the number // of symbols on the right-hand side of that rule. @@ -145214,7 +145245,7 @@ var yyRuleInfoNRhs = [402]int8{ int8(-4), // (399) anylist ::= anylist LP anylist RP int8(-2), // (400) anylist ::= anylist ANY int8(0), // (401) with ::= -} /* sqlite3.c:164422:26 */ +} /* sqlite3.c:164479:26 */ // Forward Declaration @@ -145226,7 +145257,7 @@ var yyRuleInfoNRhs = [402]int8{ // if the lookahead token has already been consumed. As this procedure is // only called from one place, optimizing compilers will in-line it, which // means that the extra parameters have no performance impact. -func yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead int32, yyLookaheadToken Token, pParse uintptr) uint16 { /* sqlite3.c:164839:21: */ +func yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead int32, yyLookaheadToken Token, pParse uintptr) uint16 { /* sqlite3.c:164896:21: */ bp := tls.Alloc(144) defer tls.Free(144) @@ -147221,7 +147252,7 @@ func yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead in // The following code executes when the parse fails // The following code executes when a syntax error first occurs. -func yy_syntax_error(tls *libc.TLS, yypParser uintptr, yymajor int32, yyminor Token) { /* sqlite3.c:166395:13: */ +func yy_syntax_error(tls *libc.TLS, yypParser uintptr, yymajor int32, yyminor Token) { /* sqlite3.c:166452:13: */ bp := tls.Alloc(24) defer tls.Free(24) *(*Token)(unsafe.Pointer(bp + 8)) = yyminor @@ -147241,7 +147272,7 @@ func yy_syntax_error(tls *libc.TLS, yypParser uintptr, yymajor int32, yyminor To } // The following is executed when the parser accepts -func yy_accept(tls *libc.TLS, yypParser uintptr) { /* sqlite3.c:166419:13: */ +func yy_accept(tls *libc.TLS, yypParser uintptr) { /* sqlite3.c:166476:13: */ var pParse uintptr = (*YyParser)(unsafe.Pointer(yypParser)).FpParse @@ -147271,7 +147302,7 @@ func yy_accept(tls *libc.TLS, yypParser uintptr) { /* sqlite3.c:166419:13: */ // // Outputs: // None. -func Xsqlite3Parser(tls *libc.TLS, yyp uintptr, yymajor int32, yyminor Token) { /* sqlite3.c:166460:21: */ +func Xsqlite3Parser(tls *libc.TLS, yyp uintptr, yymajor int32, yyminor Token) { /* sqlite3.c:166517:21: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -147325,7 +147356,7 @@ func Xsqlite3Parser(tls *libc.TLS, yyp uintptr, yymajor int32, yyminor Token) { // Return the fallback token corresponding to canonical token iToken, or // 0 if iToken has no fallback. -func Xsqlite3ParserFallback(tls *libc.TLS, iToken int32) int32 { /* sqlite3.c:166677:20: */ +func Xsqlite3ParserFallback(tls *libc.TLS, iToken int32) int32 { /* sqlite3.c:166734:20: */ return int32(yyFallback[iToken]) } @@ -147376,7 +147407,7 @@ var aiClass = [256]uint8{ /* Dx */ uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), /* Ex */ uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(30), /* Fx */ uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), -} /* sqlite3.c:166749:28 */ +} /* sqlite3.c:166806:28 */ // The charMap() macro maps alphabetic characters (only) into their // lower-case ASCII equivalent. On ASCII machines, this is just @@ -147462,7 +147493,7 @@ var zKWText = [666]int8{ int8('W'), int8('S'), int8('U'), int8('N'), int8('B'), int8('O'), int8('U'), int8('N'), int8('D'), int8('E'), int8('D'), int8('U'), int8('N'), int8('I'), int8('O'), int8('N'), int8('U'), int8('S'), int8('I'), int8('N'), int8('G'), int8('V'), int8('A'), int8('C'), int8('U'), int8('U'), int8('M'), int8('V'), int8('I'), int8('E'), int8('W'), int8('I'), int8('N'), int8('D'), int8('O'), int8('W'), int8('B'), int8('Y'), int8('I'), int8('N'), int8('I'), int8('T'), int8('I'), int8('A'), int8('L'), int8('L'), int8('Y'), int8('P'), int8('R'), int8('I'), int8('M'), int8('A'), int8('R'), int8('Y'), -} /* sqlite3.c:166865:19 */ +} /* sqlite3.c:166922:19 */ // aKWHash[i] is the hash value for the i-th keyword var aKWHash = [127]uint8{ uint8(84), uint8(92), uint8(134), uint8(82), uint8(105), uint8(29), uint8(0), uint8(0), uint8(94), uint8(0), uint8(85), uint8(72), uint8(0), @@ -147475,7 +147506,7 @@ var aKWHash = [127]uint8{ uint8(50), uint8(124), uint8(0), uint8(100), uint8(0), uint8(18), uint8(121), uint8(144), uint8(56), uint8(130), uint8(139), uint8(88), uint8(83), uint8(37), uint8(30), uint8(126), uint8(0), uint8(0), uint8(108), uint8(51), uint8(131), uint8(128), uint8(0), uint8(34), uint8(0), uint8(0), uint8(132), uint8(0), uint8(98), uint8(38), uint8(39), uint8(0), uint8(20), uint8(45), uint8(117), uint8(93), -} /* sqlite3.c:166905:28 */ +} /* sqlite3.c:166962:28 */ // aKWNext[] forms the hash collision chain. If aKWHash[i]==0 // then the i-th keyword has no more hash collisions. Otherwise, // the next keyword with the same hash is aKWHash[i]-1. @@ -147492,7 +147523,7 @@ var aKWNext = [147]uint8{ uint8(112), uint8(21), uint8(7), uint8(67), uint8(0), uint8(79), uint8(96), uint8(118), uint8(0), uint8(0), uint8(68), uint8(0), uint8(0), uint8(99), uint8(44), uint8(0), uint8(55), uint8(0), uint8(76), uint8(0), uint8(95), uint8(32), uint8(33), uint8(57), uint8(25), uint8(0), uint8(102), uint8(0), uint8(0), uint8(87), -} /* sqlite3.c:166920:28 */ +} /* sqlite3.c:166977:28 */ // aKWLen[i] is the length (in bytes) of the i-th keyword var aKWLen = [147]uint8{ uint8(7), uint8(7), uint8(5), uint8(4), uint8(6), uint8(4), uint8(5), uint8(3), uint8(6), uint8(7), uint8(3), uint8(6), uint8(6), @@ -147507,7 +147538,7 @@ var aKWLen = [147]uint8{ uint8(4), uint8(4), uint8(6), uint8(7), uint8(5), uint8(9), uint8(4), uint8(4), uint8(5), uint8(2), uint8(5), uint8(8), uint8(6), uint8(4), uint8(9), uint8(5), uint8(8), uint8(4), uint8(3), uint8(9), uint8(5), uint8(5), uint8(6), uint8(4), uint8(6), uint8(2), uint8(2), uint8(9), uint8(3), uint8(7), -} /* sqlite3.c:166935:28 */ +} /* sqlite3.c:166992:28 */ // aKWOffset[i] is the index into zKWText[] of the start of // the text for the i-th keyword. var aKWOffset = [147]uint16{ @@ -147523,7 +147554,7 @@ var aKWOffset = [147]uint16{ uint16(520), uint16(523), uint16(527), uint16(532), uint16(539), uint16(544), uint16(553), uint16(557), uint16(560), uint16(565), uint16(567), uint16(571), uint16(579), uint16(585), uint16(588), uint16(597), uint16(602), uint16(610), uint16(610), uint16(614), uint16(623), uint16(628), uint16(633), uint16(639), uint16(642), uint16(645), uint16(648), uint16(650), uint16(655), uint16(659), -} /* sqlite3.c:166951:33 */ +} /* sqlite3.c:167008:33 */ // aKWCode[i] is the parser symbol code for the i-th keyword var aKWCode = [147]uint8{ uint8(TK_REINDEX), uint8(TK_INDEXED), uint8(TK_INDEX), uint8(TK_DESC), uint8(TK_ESCAPE), @@ -147556,7 +147587,7 @@ var aKWCode = [147]uint8{ uint8(TK_ROW), uint8(TK_UNBOUNDED), uint8(TK_UNION), uint8(TK_USING), uint8(TK_VACUUM), uint8(TK_VIEW), uint8(TK_WINDOW), uint8(TK_DO), uint8(TK_BY), uint8(TK_INITIALLY), uint8(TK_ALL), uint8(TK_PRIMARY), -} /* sqlite3.c:166966:28 */ +} /* sqlite3.c:167023:28 */ // Hash table decoded: // 0: INSERT @@ -147689,7 +147720,7 @@ var aKWCode = [147]uint8{ // Check to see if z[0..n-1] is a keyword. If it is, write the // parser symbol code for that keyword into *pType. Always // return the integer n (the length of the token). -func keywordCode(tls *libc.TLS, z uintptr, n int32, pType uintptr) int32 { /* sqlite3.c:167130:12: */ +func keywordCode(tls *libc.TLS, z uintptr, n int32, pType uintptr) int32 { /* sqlite3.c:167187:12: */ var i int32 var j int32 var zKW uintptr @@ -147867,7 +147898,7 @@ func keywordCode(tls *libc.TLS, z uintptr, n int32, pType uintptr) int32 { /* sq return n } -func Xsqlite3KeywordCode(tls *libc.TLS, z uintptr, n int32) int32 { /* sqlite3.c:167304:20: */ +func Xsqlite3KeywordCode(tls *libc.TLS, z uintptr, n int32) int32 { /* sqlite3.c:167361:20: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -147876,7 +147907,7 @@ func Xsqlite3KeywordCode(tls *libc.TLS, z uintptr, n int32) int32 { /* sqlite3.c return *(*int32)(unsafe.Pointer(bp /* id */)) } -func Xsqlite3_keyword_name(tls *libc.TLS, i int32, pzName uintptr, pnName uintptr) int32 { /* sqlite3.c:167310:16: */ +func Xsqlite3_keyword_name(tls *libc.TLS, i int32, pzName uintptr, pnName uintptr) int32 { /* sqlite3.c:167367:16: */ if i < 0 || i >= SQLITE_N_KEYWORD { return SQLITE_ERROR } @@ -147885,11 +147916,11 @@ func Xsqlite3_keyword_name(tls *libc.TLS, i int32, pzName uintptr, pnName uintpt return SQLITE_OK } -func Xsqlite3_keyword_count(tls *libc.TLS) int32 { /* sqlite3.c:167316:16: */ +func Xsqlite3_keyword_count(tls *libc.TLS) int32 { /* sqlite3.c:167373:16: */ return SQLITE_N_KEYWORD } -func Xsqlite3_keyword_check(tls *libc.TLS, zName uintptr, nName int32) int32 { /* sqlite3.c:167317:16: */ +func Xsqlite3_keyword_check(tls *libc.TLS, zName uintptr, nName int32) int32 { /* sqlite3.c:167374:16: */ return libc.Bool32(TK_ID != Xsqlite3KeywordCode(tls, zName, nName)) } @@ -147912,13 +147943,13 @@ func Xsqlite3_keyword_check(tls *libc.TLS, zName uintptr, nName int32) int32 { / // But the feature is undocumented. // Make the IdChar function accessible from ctime.c and alter.c -func Xsqlite3IsIdChar(tls *libc.TLS, c U8) int32 { /* sqlite3.c:167364:20: */ +func Xsqlite3IsIdChar(tls *libc.TLS, c U8) int32 { /* sqlite3.c:167421:20: */ return libc.Bool32(int32(Xsqlite3CtypeMap[c])&0x46 != 0) } // Return the id of the next token in string (*pz). Before returning, set // (*pz) to point to the byte following the parsed token. -func getToken(tls *libc.TLS, pz uintptr) int32 { /* sqlite3.c:167371:12: */ +func getToken(tls *libc.TLS, pz uintptr) int32 { /* sqlite3.c:167428:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -147968,7 +147999,7 @@ func getToken(tls *libc.TLS, pz uintptr) int32 { /* sqlite3.c:167371:12: */ // // * the previous token was TK_RP, and // * the next token is TK_LP. -func analyzeWindowKeyword(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:167420:12: */ +func analyzeWindowKeyword(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:167477:12: */ bp := tls.Alloc(8) defer tls.Free(8) *(*uintptr)(unsafe.Pointer(bp)) = z @@ -147985,7 +148016,7 @@ func analyzeWindowKeyword(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:167420: return TK_WINDOW } -func analyzeOverKeyword(tls *libc.TLS, z uintptr, lastToken int32) int32 { /* sqlite3.c:167428:12: */ +func analyzeOverKeyword(tls *libc.TLS, z uintptr, lastToken int32) int32 { /* sqlite3.c:167485:12: */ bp := tls.Alloc(8) defer tls.Free(8) *(*uintptr)(unsafe.Pointer(bp)) = z @@ -147999,7 +148030,7 @@ func analyzeOverKeyword(tls *libc.TLS, z uintptr, lastToken int32) int32 { /* sq return TK_ID } -func analyzeFilterKeyword(tls *libc.TLS, z uintptr, lastToken int32) int32 { /* sqlite3.c:167435:12: */ +func analyzeFilterKeyword(tls *libc.TLS, z uintptr, lastToken int32) int32 { /* sqlite3.c:167492:12: */ bp := tls.Alloc(8) defer tls.Free(8) *(*uintptr)(unsafe.Pointer(bp)) = z @@ -148012,7 +148043,7 @@ func analyzeFilterKeyword(tls *libc.TLS, z uintptr, lastToken int32) int32 { /* // Return the length (in bytes) of the token that begins at z[0]. // Store the token type in *tokenType before returning. -func Xsqlite3GetToken(tls *libc.TLS, z uintptr, tokenType uintptr) int32 { /* sqlite3.c:167447:20: */ +func Xsqlite3GetToken(tls *libc.TLS, z uintptr, tokenType uintptr) int32 { /* sqlite3.c:167504:20: */ var i int32 var c int32 switch int32(aiClass[*(*uint8)(unsafe.Pointer(z))]) { // Switch on the character-class of the first byte @@ -148374,7 +148405,7 @@ func Xsqlite3GetToken(tls *libc.TLS, z uintptr, tokenType uintptr) int32 { /* sq } // Run the parser on the given SQL string. -func Xsqlite3RunParser(tls *libc.TLS, pParse uintptr, zSql uintptr) int32 { /* sqlite3.c:167741:20: */ +func Xsqlite3RunParser(tls *libc.TLS, pParse uintptr, zSql uintptr) int32 { /* sqlite3.c:167798:20: */ bp := tls.Alloc(2480) defer tls.Free(2480) @@ -148564,7 +148595,7 @@ func Xsqlite3RunParser(tls *libc.TLS, pParse uintptr, zSql uintptr) int32 { /* s // If we compile with SQLITE_OMIT_TRIGGER, all of the computation needed // to recognize the end of a trigger can be omitted. All we have to do // is look for a semicolon that is not part of an string or comment. -func Xsqlite3_complete(tls *libc.TLS, zSql uintptr) int32 { /* sqlite3.c:168133:16: */ +func Xsqlite3_complete(tls *libc.TLS, zSql uintptr) int32 { /* sqlite3.c:168190:16: */ var state U8 = U8(0) // Current state, using numbers defined in header comment var token U8 @@ -148741,12 +148772,12 @@ var trans = [8][8]U8{ /* 5 TRIGGER: */ {U8(6), U8(5), U8(5), U8(5), U8(5), U8(5), U8(5), U8(5)}, /* 6 SEMI: */ {U8(6), U8(6), U8(5), U8(5), U8(5), U8(5), U8(5), U8(7)}, /* 7 END: */ {U8(1), U8(7), U8(5), U8(5), U8(5), U8(5), U8(5), U8(5)}, -} /* sqlite3.c:168141:19 */ +} /* sqlite3.c:168198:19 */ // This routine is the same as the sqlite3_complete() routine described // above, except that the parameter is required to be UTF-16 encoded, not // UTF-8. -func Xsqlite3_complete16(tls *libc.TLS, zSql uintptr) int32 { /* sqlite3.c:168298:16: */ +func Xsqlite3_complete16(tls *libc.TLS, zSql uintptr) int32 { /* sqlite3.c:168355:16: */ var pVal uintptr var zSql8 uintptr var rc int32 @@ -148773,7 +148804,7 @@ func Xsqlite3_complete16(tls *libc.TLS, zSql uintptr) int32 { /* sqlite3.c:16829 // This is an extension initializer that is a no-op and always // succeeds, except that it fails if the fault-simulation is set // to 500. -func sqlite3TestExtInit(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:168450:12: */ +func sqlite3TestExtInit(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:168507:12: */ _ = db return Xsqlite3FaultSim(tls, 500) } @@ -148785,11 +148816,11 @@ var sqlite3BuiltinExtensions = [4]uintptr{ 0, 0, 0, -} /* sqlite3.c:168477:12 */ +} /* sqlite3.c:168534:12 */ // IMPLEMENTATION-OF: R-53536-42575 The sqlite3_libversion() function returns // a pointer to the to the sqlite3_version[] string constant. -func Xsqlite3_libversion(tls *libc.TLS) uintptr { /* sqlite3.c:168524:23: */ +func Xsqlite3_libversion(tls *libc.TLS) uintptr { /* sqlite3.c:168581:23: */ return uintptr(unsafe.Pointer(&Xsqlite3_version)) } @@ -148802,14 +148833,14 @@ func Xsqlite3_libversion(tls *libc.TLS) uintptr { /* sqlite3.c:168524:23: */ // IMPLEMENTATION-OF: R-35210-63508 The sqlite3_libversion_number() function // returns an integer equal to SQLITE_VERSION_NUMBER. -func Xsqlite3_libversion_number(tls *libc.TLS) int32 { /* sqlite3.c:168537:16: */ +func Xsqlite3_libversion_number(tls *libc.TLS) int32 { /* sqlite3.c:168594:16: */ return SQLITE_VERSION_NUMBER } // IMPLEMENTATION-OF: R-20790-14025 The sqlite3_threadsafe() function returns // zero if and only if SQLite was compiled with mutexing code omitted due to // the SQLITE_THREADSAFE compile-time option being set to 0. -func Xsqlite3_threadsafe(tls *libc.TLS) int32 { /* sqlite3.c:168543:16: */ +func Xsqlite3_threadsafe(tls *libc.TLS) int32 { /* sqlite3.c:168600:16: */ return SQLITE_THREADSAFE } @@ -148822,14 +148853,14 @@ func Xsqlite3_threadsafe(tls *libc.TLS) int32 { /* sqlite3.c:168543:16: */ // temporary files. // // See also the "PRAGMA temp_store_directory" SQL command. -var Xsqlite3_temp_directory uintptr = uintptr(0) /* sqlite3.c:168574:17 */ +var Xsqlite3_temp_directory uintptr = uintptr(0) /* sqlite3.c:168631:17 */ // If the following global variable points to a string which is the // name of a directory, then that directory will be used to store // all database files specified with a relative pathname. // // See also the "PRAGMA data_store_directory" SQL command. -var Xsqlite3_data_directory uintptr = uintptr(0) /* sqlite3.c:168583:17 */ +var Xsqlite3_data_directory uintptr = uintptr(0) /* sqlite3.c:168640:17 */ // Initialize SQLite. // @@ -148860,7 +148891,7 @@ var Xsqlite3_data_directory uintptr = uintptr(0) /* sqlite3.c:168583:17 */ // // * Recursive calls to this routine from thread X return immediately // without blocking. -func Xsqlite3_initialize(tls *libc.TLS) int32 { /* sqlite3.c:168616:16: */ +func Xsqlite3_initialize(tls *libc.TLS) int32 { /* sqlite3.c:168673:16: */ var pMainMtx uintptr // The main static mutex var rc int32 // Result code @@ -148986,7 +149017,7 @@ func Xsqlite3_initialize(tls *libc.TLS) int32 { /* sqlite3.c:168616:16: */ // routine is not threadsafe. But it is safe to invoke this routine // on when SQLite is already shut down. If SQLite is already shut down // when this routine is invoked, then this routine is a harmless no-op. -func Xsqlite3_shutdown(tls *libc.TLS) int32 { /* sqlite3.c:168791:16: */ +func Xsqlite3_shutdown(tls *libc.TLS) int32 { /* sqlite3.c:168848:16: */ if Xsqlite3Config.FisInit != 0 { Xsqlite3_os_end(tls) @@ -149025,7 +149056,7 @@ func Xsqlite3_shutdown(tls *libc.TLS) int32 { /* sqlite3.c:168791:16: */ // database connections or memory allocations. This routine is not // threadsafe. Failure to heed these warnings can lead to unpredictable // behavior. -func Xsqlite3_config(tls *libc.TLS, op int32, va uintptr) int32 { /* sqlite3.c:168845:16: */ +func Xsqlite3_config(tls *libc.TLS, op int32, va uintptr) int32 { /* sqlite3.c:168902:16: */ var ap Va_list _ = ap var rc int32 = SQLITE_OK @@ -149033,7 +149064,7 @@ func Xsqlite3_config(tls *libc.TLS, op int32, va uintptr) int32 { /* sqlite3.c:1 // sqlite3_config() shall return SQLITE_MISUSE if it is invoked while // the SQLite library is in use. if Xsqlite3Config.FisInit != 0 { - return Xsqlite3MisuseError(tls, 168851) + return Xsqlite3MisuseError(tls, 168908) } ap = va @@ -149303,7 +149334,7 @@ func Xsqlite3_config(tls *libc.TLS, op int32, va uintptr) int32 { /* sqlite3.c:1 // space for the lookaside memory is obtained from sqlite3_malloc(). // If pStart is not NULL then it is sz*cnt bytes of memory to use for // the lookaside memory. -func setupLookaside(tls *libc.TLS, db uintptr, pBuf uintptr, sz int32, cnt int32) int32 { /* sqlite3.c:169163:12: */ +func setupLookaside(tls *libc.TLS, db uintptr, pBuf uintptr, sz int32, cnt int32) int32 { /* sqlite3.c:169220:12: */ var pStart uintptr var szAlloc Sqlite3_int64 = Sqlite3_int64(sz) * Sqlite3_int64(cnt) var nBig int32 // Number of full-size slots @@ -149401,13 +149432,13 @@ func setupLookaside(tls *libc.TLS, db uintptr, pBuf uintptr, sz int32, cnt int32 } // Return the mutex associated with a database connection. -func Xsqlite3_db_mutex(tls *libc.TLS, db uintptr) uintptr { /* sqlite3.c:169263:26: */ +func Xsqlite3_db_mutex(tls *libc.TLS, db uintptr) uintptr { /* sqlite3.c:169320:26: */ return (*Sqlite3)(unsafe.Pointer(db)).Fmutex } // Free up as much memory as we can from the given database // connection. -func Xsqlite3_db_release_memory(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:169277:16: */ +func Xsqlite3_db_release_memory(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:169334:16: */ var i int32 Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) @@ -149426,7 +149457,7 @@ func Xsqlite3_db_release_memory(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c: // Flush any dirty pages in the pager-cache for any attached database // to disk. -func Xsqlite3_db_cacheflush(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:169301:16: */ +func Xsqlite3_db_cacheflush(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:169358:16: */ var i int32 var rc int32 = SQLITE_OK var bSeenBusy int32 = 0 @@ -149455,7 +149486,7 @@ func Xsqlite3_db_cacheflush(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:1693 } // Configuration settings for an individual database connection -func Xsqlite3_db_config(tls *libc.TLS, db uintptr, op int32, va uintptr) int32 { /* sqlite3.c:169330:16: */ +func Xsqlite3_db_config(tls *libc.TLS, db uintptr, op int32, va uintptr) int32 { /* sqlite3.c:169387:16: */ var ap Va_list _ = ap var rc int32 @@ -149534,11 +149565,11 @@ var aFlagOp = [16]struct { {Fop: SQLITE_DBCONFIG_DQS_DML, Fmask: U32(SQLITE_DqsDML)}, {Fop: SQLITE_DBCONFIG_LEGACY_FILE_FORMAT, Fmask: U32(SQLITE_LegacyFileFmt)}, {Fop: SQLITE_DBCONFIG_TRUSTED_SCHEMA, Fmask: U32(SQLITE_TrustedSchema)}, -} /* sqlite3.c:169353:9 */ +} /* sqlite3.c:169410:9 */ // This is the default collating function named "BINARY" which is always // available. -func binCollFunc(tls *libc.TLS, NotUsed uintptr, nKey1 int32, pKey1 uintptr, nKey2 int32, pKey2 uintptr) int32 { /* sqlite3.c:169405:12: */ +func binCollFunc(tls *libc.TLS, NotUsed uintptr, nKey1 int32, pKey1 uintptr, nKey2 int32, pKey2 uintptr) int32 { /* sqlite3.c:169462:12: */ var rc int32 var n int32 _ = NotUsed @@ -149560,7 +149591,7 @@ func binCollFunc(tls *libc.TLS, NotUsed uintptr, nKey1 int32, pKey1 uintptr, nKe // This is the collating function named "RTRIM" which is always // available. Ignore trailing spaces. -func rtrimCollFunc(tls *libc.TLS, pUser uintptr, nKey1 int32, pKey1 uintptr, nKey2 int32, pKey2 uintptr) int32 { /* sqlite3.c:169428:12: */ +func rtrimCollFunc(tls *libc.TLS, pUser uintptr, nKey1 int32, pKey1 uintptr, nKey2 int32, pKey2 uintptr) int32 { /* sqlite3.c:169485:12: */ var pK1 uintptr = pKey1 var pK2 uintptr = pKey2 for nKey1 != 0 && int32(*(*U8)(unsafe.Pointer(pK1 + uintptr(nKey1-1)))) == ' ' { @@ -149573,7 +149604,7 @@ func rtrimCollFunc(tls *libc.TLS, pUser uintptr, nKey1 int32, pKey1 uintptr, nKe } // Return true if CollSeq is the default built-in BINARY. -func Xsqlite3IsBinary(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:169443:20: */ +func Xsqlite3IsBinary(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:169500:20: */ return libc.Bool32(p == uintptr(0) || (*CollSeq)(unsafe.Pointer(p)).FxCmp == *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32 @@ -149587,7 +149618,7 @@ func Xsqlite3IsBinary(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:169443:20: // extends only to the 26 characters used in the English language. // // At the moment there is only a UTF-8 implementation. -func nocaseCollatingFunc(tls *libc.TLS, NotUsed uintptr, nKey1 int32, pKey1 uintptr, nKey2 int32, pKey2 uintptr) int32 { /* sqlite3.c:169457:12: */ +func nocaseCollatingFunc(tls *libc.TLS, NotUsed uintptr, nKey1 int32, pKey1 uintptr, nKey2 int32, pKey2 uintptr) int32 { /* sqlite3.c:169514:12: */ var r int32 = Xsqlite3_strnicmp(tls, pKey1, pKey2, func() int32 { if nKey1 < nKey2 { @@ -149603,39 +149634,39 @@ func nocaseCollatingFunc(tls *libc.TLS, NotUsed uintptr, nKey1 int32, pKey1 uint } // Return the ROWID of the most recent insert -func Xsqlite3_last_insert_rowid(tls *libc.TLS, db uintptr) Sqlite_int64 { /* sqlite3.c:169474:25: */ +func Xsqlite3_last_insert_rowid(tls *libc.TLS, db uintptr) Sqlite_int64 { /* sqlite3.c:169531:25: */ return (*Sqlite3)(unsafe.Pointer(db)).FlastRowid } // Set the value returned by the sqlite3_last_insert_rowid() API function. -func Xsqlite3_set_last_insert_rowid(tls *libc.TLS, db uintptr, iRowid Sqlite3_int64) { /* sqlite3.c:169487:17: */ +func Xsqlite3_set_last_insert_rowid(tls *libc.TLS, db uintptr, iRowid Sqlite3_int64) { /* sqlite3.c:169544:17: */ Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) (*Sqlite3)(unsafe.Pointer(db)).FlastRowid = iRowid Xsqlite3_mutex_leave(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) } // Return the number of changes in the most recent call to sqlite3_exec(). -func Xsqlite3_changes64(tls *libc.TLS, db uintptr) Sqlite3_int64 { /* sqlite3.c:169502:26: */ +func Xsqlite3_changes64(tls *libc.TLS, db uintptr) Sqlite3_int64 { /* sqlite3.c:169559:26: */ return (*Sqlite3)(unsafe.Pointer(db)).FnChange } -func Xsqlite3_changes(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:169511:16: */ +func Xsqlite3_changes(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:169568:16: */ return int32(Xsqlite3_changes64(tls, db)) } // Return the number of changes since the database handle was opened. -func Xsqlite3_total_changes64(tls *libc.TLS, db uintptr) Sqlite3_int64 { /* sqlite3.c:169518:26: */ +func Xsqlite3_total_changes64(tls *libc.TLS, db uintptr) Sqlite3_int64 { /* sqlite3.c:169575:26: */ return (*Sqlite3)(unsafe.Pointer(db)).FnTotalChange } -func Xsqlite3_total_changes(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:169527:16: */ +func Xsqlite3_total_changes(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:169584:16: */ return int32(Xsqlite3_total_changes64(tls, db)) } // Close all open savepoints. This function only manipulates fields of the // database handle object, it does not close any savepoints that may be open // at the b-tree/pager level. -func Xsqlite3CloseSavepoints(tls *libc.TLS, db uintptr) { /* sqlite3.c:169536:21: */ +func Xsqlite3CloseSavepoints(tls *libc.TLS, db uintptr) { /* sqlite3.c:169593:21: */ for (*Sqlite3)(unsafe.Pointer(db)).FpSavepoint != 0 { var pTmp uintptr = (*Sqlite3)(unsafe.Pointer(db)).FpSavepoint (*Sqlite3)(unsafe.Pointer(db)).FpSavepoint = (*Savepoint)(unsafe.Pointer(pTmp)).FpNext @@ -149650,7 +149681,7 @@ func Xsqlite3CloseSavepoints(tls *libc.TLS, db uintptr) { /* sqlite3.c:169536:21 // if this is not the last copy of the function, do not invoke it. Multiple // copies of a single function are created when create_function() is called // with SQLITE_ANY as the encoding. -func functionDestroy(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:169553:13: */ +func functionDestroy(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:169610:13: */ var pDestructor uintptr pDestructor = *(*uintptr)(unsafe.Pointer(p + 64)) @@ -149665,7 +149696,7 @@ func functionDestroy(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:169553 // Disconnect all sqlite3_vtab objects that belong to database connection // db. This is called when db is being closed. -func disconnectAllVtab(tls *libc.TLS, db uintptr) { /* sqlite3.c:169570:13: */ +func disconnectAllVtab(tls *libc.TLS, db uintptr) { /* sqlite3.c:169627:13: */ var i int32 var p uintptr Xsqlite3BtreeEnterAll(tls, db) @@ -149692,7 +149723,7 @@ func disconnectAllVtab(tls *libc.TLS, db uintptr) { /* sqlite3.c:169570:13: */ // Return TRUE if database connection db has unfinalized prepared // statements or unfinished sqlite3_backup objects. -func connectionIsBusy(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:169601:12: */ +func connectionIsBusy(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:169658:12: */ var j int32 if (*Sqlite3)(unsafe.Pointer(db)).FpVdbe != 0 { @@ -149708,14 +149739,14 @@ func connectionIsBusy(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:169601:12: } // Close an existing SQLite database -func sqlite3Close(tls *libc.TLS, db uintptr, forceZombie int32) int32 { /* sqlite3.c:169615:12: */ +func sqlite3Close(tls *libc.TLS, db uintptr, forceZombie int32) int32 { /* sqlite3.c:169672:12: */ if !(db != 0) { // EVIDENCE-OF: R-63257-11740 Calling sqlite3_close() or // sqlite3_close_v2() with a NULL pointer argument is a harmless no-op. return SQLITE_OK } if !(Xsqlite3SafetyCheckSickOrOk(tls, db) != 0) { - return Xsqlite3MisuseError(tls, 169622) + return Xsqlite3MisuseError(tls, 169679) } Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) if int32((*Sqlite3)(unsafe.Pointer(db)).FmTrace)&SQLITE_TRACE_CLOSE != 0 { @@ -149752,7 +149783,7 @@ func sqlite3Close(tls *libc.TLS, db uintptr, forceZombie int32) int32 { /* sqlit // Return the transaction state for a single databse, or the maximum // transaction state over all attached databases if zSchema is null. -func Xsqlite3_txn_state(tls *libc.TLS, db uintptr, zSchema uintptr) int32 { /* sqlite3.c:169669:16: */ +func Xsqlite3_txn_state(tls *libc.TLS, db uintptr, zSchema uintptr) int32 { /* sqlite3.c:169726:16: */ var iDb int32 var nDb int32 var iTxn int32 = -1 @@ -149789,11 +149820,11 @@ func Xsqlite3_txn_state(tls *libc.TLS, db uintptr, zSchema uintptr) int32 { /* s // version forces the connection to become a zombie if there are // unclosed resources, and arranges for deallocation when the last // prepare statement or sqlite3_backup closes. -func Xsqlite3_close(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:169704:16: */ +func Xsqlite3_close(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:169761:16: */ return sqlite3Close(tls, db, 0) } -func Xsqlite3_close_v2(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:169705:16: */ +func Xsqlite3_close_v2(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:169762:16: */ return sqlite3Close(tls, db, 1) } @@ -149803,7 +149834,7 @@ func Xsqlite3_close_v2(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:169705:16 // has been a prior call to sqlite3_close(db) or sqlite3_close_v2(db)) and // every sqlite3_stmt has now been finalized and every sqlite3_backup has // finished, then free all resources. -func Xsqlite3LeaveMutexAndCloseZombie(tls *libc.TLS, db uintptr) { /* sqlite3.c:169716:21: */ +func Xsqlite3LeaveMutexAndCloseZombie(tls *libc.TLS, db uintptr) { /* sqlite3.c:169773:21: */ var i uintptr // Hash table iterator var j int32 @@ -149913,7 +149944,7 @@ func Xsqlite3LeaveMutexAndCloseZombie(tls *libc.TLS, db uintptr) { /* sqlite3.c: // breaker") and made to return tripCode if there are any further // attempts to use that cursor. Read cursors remain open and valid // but are "saved" in case the table pages are moved around. -func Xsqlite3RollbackAll(tls *libc.TLS, db uintptr, tripCode int32) { /* sqlite3.c:169839:21: */ +func Xsqlite3RollbackAll(tls *libc.TLS, db uintptr, tripCode int32) { /* sqlite3.c:169896:21: */ var i int32 var inTrans int32 = 0 var schemaChange int32 @@ -149963,7 +149994,7 @@ func Xsqlite3RollbackAll(tls *libc.TLS, db uintptr, tripCode int32) { /* sqlite3 // Return a static string that describes the kind of error specified in the // argument. -func Xsqlite3ErrStr(tls *libc.TLS, rc int32) uintptr { /* sqlite3.c:170000:27: */ +func Xsqlite3ErrStr(tls *libc.TLS, rc int32) uintptr { /* sqlite3.c:170057:27: */ var zErr uintptr = ts + 23269 /* "unknown error" */ switch rc { case SQLITE_ABORT | int32(2)<<8: @@ -150027,7 +150058,7 @@ var aMsg = [29]uintptr{ ts + 23765, ts + 23788, ts + 23809, -} /* sqlite3.c:170001:20 */ +} /* sqlite3.c:170058:20 */ // This routine implements a busy callback that sleeps and tries // again until a timeout value is reached. The timeout value is @@ -150036,7 +150067,7 @@ var aMsg = [29]uintptr{ // // Return non-zero to retry the lock. Return zero to stop trying // and cause SQLite to return SQLITE_BUSY. -func sqliteDefaultBusyCallback(tls *libc.TLS, ptr uintptr, count int32) int32 { /* sqlite3.c:170070:12: */ +func sqliteDefaultBusyCallback(tls *libc.TLS, ptr uintptr, count int32) int32 { /* sqlite3.c:170127:12: */ var db uintptr = ptr var tmout int32 = (*Sqlite3)(unsafe.Pointer(db)).FbusyTimeout var delay int32 @@ -150059,8 +150090,8 @@ func sqliteDefaultBusyCallback(tls *libc.TLS, ptr uintptr, count int32) int32 { return 1 } -var delays = [12]U8{U8(1), U8(2), U8(5), U8(10), U8(15), U8(20), U8(25), U8(25), U8(25), U8(50), U8(50), U8(100)} /* sqlite3.c:170077:19 */ -var totals = [12]U8{U8(0), U8(1), U8(3), U8(8), U8(18), U8(33), U8(53), U8(78), U8(103), U8(128), U8(178), U8(228)} /* sqlite3.c:170079:19 */ +var delays = [12]U8{U8(1), U8(2), U8(5), U8(10), U8(15), U8(20), U8(25), U8(25), U8(25), U8(50), U8(50), U8(100)} /* sqlite3.c:170134:19 */ +var totals = [12]U8{U8(0), U8(1), U8(3), U8(8), U8(18), U8(33), U8(53), U8(78), U8(103), U8(128), U8(178), U8(228)} /* sqlite3.c:170136:19 */ // Invoke the given busy handler. // @@ -150069,7 +150100,7 @@ var totals = [12]U8{U8(0), U8(1), U8(3), U8(8), U8(18), U8(33), U8(53), U8(78), // // If this routine returns non-zero, the lock is retried. If it // returns 0, the operation aborts with an SQLITE_BUSY error. -func Xsqlite3InvokeBusyHandler(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:170122:20: */ +func Xsqlite3InvokeBusyHandler(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:170179:20: */ var rc int32 if (*BusyHandler)(unsafe.Pointer(p)).FxBusyHandler == uintptr(0) || (*BusyHandler)(unsafe.Pointer(p)).FnBusy < 0 { return 0 @@ -150087,7 +150118,7 @@ func Xsqlite3InvokeBusyHandler(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:17 // This routine sets the busy callback for an Sqlite database to the // given callback function with the given argument. -func Xsqlite3_busy_handler(tls *libc.TLS, db uintptr, xBusy uintptr, pArg uintptr) int32 { /* sqlite3.c:170138:16: */ +func Xsqlite3_busy_handler(tls *libc.TLS, db uintptr, xBusy uintptr, pArg uintptr) int32 { /* sqlite3.c:170195:16: */ Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) (*Sqlite3)(unsafe.Pointer(db)).FbusyHandler.FxBusyHandler = xBusy (*Sqlite3)(unsafe.Pointer(db)).FbusyHandler.FpBusyArg = pArg @@ -150100,7 +150131,7 @@ func Xsqlite3_busy_handler(tls *libc.TLS, db uintptr, xBusy uintptr, pArg uintpt // This routine sets the progress callback for an Sqlite database to the // given callback function with the given argument. The progress callback will // be invoked every nOps opcodes. -func Xsqlite3_progress_handler(tls *libc.TLS, db uintptr, nOps int32, xProgress uintptr, pArg uintptr) { /* sqlite3.c:170161:17: */ +func Xsqlite3_progress_handler(tls *libc.TLS, db uintptr, nOps int32, xProgress uintptr, pArg uintptr) { /* sqlite3.c:170218:17: */ Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) if nOps > 0 { (*Sqlite3)(unsafe.Pointer(db)).FxProgress = xProgress @@ -150116,7 +150147,7 @@ func Xsqlite3_progress_handler(tls *libc.TLS, db uintptr, nOps int32, xProgress // This routine installs a default busy handler that waits for the // specified number of milliseconds before returning 0. -func Xsqlite3_busy_timeout(tls *libc.TLS, db uintptr, ms int32) int32 { /* sqlite3.c:170192:16: */ +func Xsqlite3_busy_timeout(tls *libc.TLS, db uintptr, ms int32) int32 { /* sqlite3.c:170249:16: */ if ms > 0 { Xsqlite3_busy_handler(tls, db, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32) int32 @@ -150130,7 +150161,7 @@ func Xsqlite3_busy_timeout(tls *libc.TLS, db uintptr, ms int32) int32 { /* sqlit } // Cause any pending operation to stop at its earliest opportunity. -func Xsqlite3_interrupt(tls *libc.TLS, db uintptr) { /* sqlite3.c:170209:17: */ +func Xsqlite3_interrupt(tls *libc.TLS, db uintptr) { /* sqlite3.c:170266:17: */ libc.AtomicStoreNInt32(db+432, int32(1), 0) } @@ -150138,7 +150169,7 @@ func Xsqlite3_interrupt(tls *libc.TLS, db uintptr) { /* sqlite3.c:170209:17: */ // that it is designed to be called by internal code. The difference is // that if a malloc() fails in sqlite3_create_function(), an error code // is returned and the mallocFailed flag cleared. -func Xsqlite3CreateFunc(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) int32 { /* sqlite3.c:170226:20: */ +func Xsqlite3CreateFunc(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) int32 { /* sqlite3.c:170283:20: */ var p uintptr var extraFlags int32 @@ -150148,7 +150179,7 @@ func Xsqlite3CreateFunc(tls *libc.TLS, db uintptr, zFunctionName uintptr, nArg i libc.Bool32(xValue == uintptr(0)) != libc.Bool32(xInverse == uintptr(0)) || (nArg < -1 || nArg > SQLITE_MAX_FUNCTION_ARG) || 255 < Xsqlite3Strlen30(tls, zFunctionName) { - return Xsqlite3MisuseError(tls, 170251) + return Xsqlite3MisuseError(tls, 170308) } extraFlags = enc & (SQLITE_DETERMINISTIC | SQLITE_DIRECTONLY | SQLITE_SUBTYPE | SQLITE_INNOCUOUS) @@ -150253,7 +150284,7 @@ func Xsqlite3CreateFunc(tls *libc.TLS, db uintptr, zFunctionName uintptr, nArg i // sqlite3_create_function() // 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) int32 { /* sqlite3.c:170360:12: */ +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) int32 { /* sqlite3.c:170417:12: */ var rc int32 var pArg uintptr rc = SQLITE_ERROR @@ -150295,22 +150326,22 @@ out: } // 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) int32 { /* sqlite3.c:170411:16: */ +func Xsqlite3_create_function(tls *libc.TLS, db uintptr, zFunc uintptr, nArg int32, enc int32, p uintptr, xSFunc uintptr, xStep uintptr, xFinal uintptr) int32 { /* sqlite3.c:170468:16: */ return createFunctionApi(tls, db, zFunc, nArg, enc, p, xSFunc, xStep, 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) int32 { /* sqlite3.c:170424:16: */ +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) int32 { /* sqlite3.c:170481:16: */ return createFunctionApi(tls, db, zFunc, nArg, enc, p, xSFunc, xStep, xFinal, uintptr(0), uintptr(0), 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) int32 { /* sqlite3.c:170438:16: */ +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) int32 { /* sqlite3.c:170495:16: */ return createFunctionApi(tls, db, zFunc, nArg, enc, p, uintptr(0), xStep, xFinal, xValue, xInverse, xDestroy) } -func Xsqlite3_create_function16(tls *libc.TLS, db uintptr, zFunctionName uintptr, nArg int32, eTextRep int32, p uintptr, xSFunc uintptr, xStep uintptr, xFinal uintptr) int32 { /* sqlite3.c:170455:16: */ +func Xsqlite3_create_function16(tls *libc.TLS, db uintptr, zFunctionName uintptr, nArg int32, eTextRep int32, p uintptr, xSFunc uintptr, xStep uintptr, xFinal uintptr) int32 { /* sqlite3.c:170512:16: */ var rc int32 var zFunc8 uintptr @@ -150330,7 +150361,7 @@ func Xsqlite3_create_function16(tls *libc.TLS, db uintptr, zFunctionName uintptr // SQL function that use this routine so that the functions will exist // for name resolution but are actually overloaded by the xFindFunction // method of virtual tables. -func sqlite3InvalidFunction(tls *libc.TLS, context uintptr, NotUsed int32, NotUsed2 uintptr) { /* sqlite3.c:170491:13: */ +func sqlite3InvalidFunction(tls *libc.TLS, context uintptr, NotUsed int32, NotUsed2 uintptr) { /* sqlite3.c:170548:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -150354,7 +150385,7 @@ func sqlite3InvalidFunction(tls *libc.TLS, context uintptr, NotUsed int32, NotUs // should call this routine to make sure the global function exists. // A global function must exist in order for name resolution to work // properly. -func Xsqlite3_overload_function(tls *libc.TLS, db uintptr, zName uintptr, nArg int32) int32 { /* sqlite3.c:170517:16: */ +func Xsqlite3_overload_function(tls *libc.TLS, db uintptr, zName uintptr, nArg int32) int32 { /* sqlite3.c:170574:16: */ var rc int32 var zCopy uintptr @@ -150380,7 +150411,7 @@ func Xsqlite3_overload_function(tls *libc.TLS, db uintptr, zName uintptr, nArg i // A NULL trace function means that no tracing is executes. A non-NULL // 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) uintptr { /* sqlite3.c:170550:17: */ +func Xsqlite3_trace(tls *libc.TLS, db uintptr, xTrace uintptr, pArg uintptr) uintptr { /* sqlite3.c:170607:17: */ var pOld uintptr Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) @@ -150398,7 +150429,7 @@ func Xsqlite3_trace(tls *libc.TLS, db uintptr, xTrace uintptr, pArg uintptr) uin } // Register a trace callback using the version-2 interface. -func Xsqlite3_trace_v2(tls *libc.TLS, db uintptr, mTrace uint32, xTrace uintptr, pArg uintptr) int32 { /* sqlite3.c:170571:16: */ +func Xsqlite3_trace_v2(tls *libc.TLS, db uintptr, mTrace uint32, xTrace uintptr, pArg uintptr) int32 { /* sqlite3.c:170628:16: */ Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) if mTrace == uint32(0) { xTrace = uintptr(0) @@ -150419,7 +150450,7 @@ func Xsqlite3_trace_v2(tls *libc.TLS, db uintptr, mTrace uint32, xTrace uintptr, // A NULL profile function means that no profiling is executes. A non-NULL // 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) uintptr { /* sqlite3.c:170601:17: */ +func Xsqlite3_profile(tls *libc.TLS, db uintptr, xProfile uintptr, pArg uintptr) uintptr { /* sqlite3.c:170658:17: */ var pOld uintptr Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) @@ -150437,7 +150468,7 @@ func Xsqlite3_profile(tls *libc.TLS, db uintptr, xProfile uintptr, pArg uintptr) // Register a function to be invoked when a transaction commits. // 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) uintptr { /* sqlite3.c:170631:17: */ +func Xsqlite3_commit_hook(tls *libc.TLS, db uintptr, xCallback uintptr, pArg uintptr) uintptr { /* sqlite3.c:170688:17: */ var pOld uintptr Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) @@ -150450,7 +150481,7 @@ func Xsqlite3_commit_hook(tls *libc.TLS, db uintptr, xCallback uintptr, pArg uin // 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) uintptr { /* sqlite3.c:170656:17: */ +func Xsqlite3_update_hook(tls *libc.TLS, db uintptr, xCallback uintptr, pArg uintptr) uintptr { /* sqlite3.c:170713:17: */ var pRet uintptr Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) @@ -150463,7 +150494,7 @@ func Xsqlite3_update_hook(tls *libc.TLS, db uintptr, xCallback uintptr, pArg uin // 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) uintptr { /* sqlite3.c:170681:17: */ +func Xsqlite3_rollback_hook(tls *libc.TLS, db uintptr, xCallback uintptr, pArg uintptr) uintptr { /* sqlite3.c:170738:17: */ var pRet uintptr Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) @@ -150476,7 +150507,7 @@ func Xsqlite3_rollback_hook(tls *libc.TLS, db uintptr, xCallback uintptr, pArg u // 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) uintptr { /* sqlite3.c:170707:17: */ +func Xsqlite3_preupdate_hook(tls *libc.TLS, db uintptr, xCallback uintptr, pArg uintptr) uintptr { /* sqlite3.c:170764:17: */ var pRet uintptr Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) pRet = (*Sqlite3)(unsafe.Pointer(db)).FpPreUpdateArg @@ -150488,7 +150519,7 @@ func Xsqlite3_preupdate_hook(tls *libc.TLS, db uintptr, xCallback uintptr, pArg // 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) int32 { /* sqlite3.c:170727:16: */ +func Xsqlite3_autovacuum_pages(tls *libc.TLS, db uintptr, xCallback uintptr, pArg uintptr, xDestructor uintptr) int32 { /* sqlite3.c:170784:16: */ Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) if (*Sqlite3)(unsafe.Pointer(db)).FxAutovacDestr != 0 { (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3)(unsafe.Pointer(db)).FxAutovacDestr})).f(tls, (*Sqlite3)(unsafe.Pointer(db)).FpAutovacPagesArg) @@ -150504,7 +150535,7 @@ func Xsqlite3_autovacuum_pages(tls *libc.TLS, db uintptr, xCallback uintptr, pAr // Invoke sqlite3_wal_checkpoint if the number of frames in the log file // is greater than sqlite3.pWalArg cast to an integer (the value configured by // wal_autocheckpoint()). -func Xsqlite3WalDefaultHook(tls *libc.TLS, pClientData uintptr, db uintptr, zDb uintptr, nFrame int32) int32 { /* sqlite3.c:170758:20: */ +func Xsqlite3WalDefaultHook(tls *libc.TLS, pClientData uintptr, db uintptr, zDb uintptr, nFrame int32) int32 { /* sqlite3.c:170815:20: */ if nFrame >= int32(pClientData) { Xsqlite3BeginBenignMalloc(tls) Xsqlite3_wal_checkpoint(tls, db, zDb) @@ -150522,7 +150553,7 @@ func Xsqlite3WalDefaultHook(tls *libc.TLS, pClientData uintptr, db uintptr, zDb // registered using sqlite3_wal_hook(). Likewise, registering a callback // using sqlite3_wal_hook() disables the automatic checkpoint mechanism // configured by this function. -func Xsqlite3_wal_autocheckpoint(tls *libc.TLS, db uintptr, nFrame int32) int32 { /* sqlite3.c:170784:16: */ +func Xsqlite3_wal_autocheckpoint(tls *libc.TLS, db uintptr, nFrame int32) int32 { /* sqlite3.c:170841:16: */ if nFrame > 0 { Xsqlite3_wal_hook(tls, db, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, uintptr, int32) int32 @@ -150535,7 +150566,7 @@ func Xsqlite3_wal_autocheckpoint(tls *libc.TLS, db uintptr, nFrame int32) int32 // 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) uintptr { /* sqlite3.c:170805:17: */ +func Xsqlite3_wal_hook(tls *libc.TLS, db uintptr, xCallback uintptr, pArg uintptr) uintptr { /* sqlite3.c:170862:17: */ var pRet uintptr Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) pRet = (*Sqlite3)(unsafe.Pointer(db)).FpWalArg @@ -150546,7 +150577,7 @@ func Xsqlite3_wal_hook(tls *libc.TLS, db uintptr, xCallback uintptr, pArg uintpt } // Checkpoint database zDb. -func Xsqlite3_wal_checkpoint_v2(tls *libc.TLS, db uintptr, zDb uintptr, eMode int32, pnLog uintptr, pnCkpt uintptr) int32 { /* sqlite3.c:170832:16: */ +func Xsqlite3_wal_checkpoint_v2(tls *libc.TLS, db uintptr, zDb uintptr, eMode int32, pnLog uintptr, pnCkpt uintptr) int32 { /* sqlite3.c:170889:16: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -150596,7 +150627,7 @@ func Xsqlite3_wal_checkpoint_v2(tls *libc.TLS, db uintptr, zDb uintptr, eMode in // Checkpoint database zDb. If zDb is NULL, or if the buffer zDb points // to contains a zero-length string, all attached databases are // checkpointed. -func Xsqlite3_wal_checkpoint(tls *libc.TLS, db uintptr, zDb uintptr) int32 { /* sqlite3.c:170896:16: */ +func Xsqlite3_wal_checkpoint(tls *libc.TLS, db uintptr, zDb uintptr) int32 { /* sqlite3.c:170953:16: */ // EVIDENCE-OF: R-41613-20553 The sqlite3_wal_checkpoint(D,X) is equivalent to // sqlite3_wal_checkpoint_v2(D,X,SQLITE_CHECKPOINT_PASSIVE,0,0). return Xsqlite3_wal_checkpoint_v2(tls, db, zDb, SQLITE_CHECKPOINT_PASSIVE, uintptr(0), uintptr(0)) @@ -150620,7 +150651,7 @@ func Xsqlite3_wal_checkpoint(tls *libc.TLS, db uintptr, zDb uintptr) int32 { /* // // Parameter eMode is one of SQLITE_CHECKPOINT_PASSIVE, FULL, RESTART // or TRUNCATE. -func Xsqlite3Checkpoint(tls *libc.TLS, db uintptr, iDb int32, eMode int32, pnLog uintptr, pnCkpt uintptr) int32 { /* sqlite3.c:170923:20: */ +func Xsqlite3Checkpoint(tls *libc.TLS, db uintptr, iDb int32, eMode int32, pnLog uintptr, pnCkpt uintptr) int32 { /* sqlite3.c:170980:20: */ var rc int32 = SQLITE_OK // Return code var i int32 // Used to iterate through attached dbs var bBusy int32 = 0 // True if SQLITE_BUSY has been encountered @@ -150662,19 +150693,19 @@ func Xsqlite3Checkpoint(tls *libc.TLS, db uintptr, iDb int32, eMode int32, pnLog // 2 2 memory (return 1) // 2 0 memory (return 1) // 3 any memory (return 1) -func Xsqlite3TempInMemory(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:170969:20: */ +func Xsqlite3TempInMemory(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:171026:20: */ return libc.Bool32(int32((*Sqlite3)(unsafe.Pointer(db)).Ftemp_store) == 2) } // Return UTF-8 encoded English language explanation of the most recent // error. -func Xsqlite3_errmsg(tls *libc.TLS, db uintptr) uintptr { /* sqlite3.c:170990:23: */ +func Xsqlite3_errmsg(tls *libc.TLS, db uintptr) uintptr { /* sqlite3.c:171047:23: */ var z uintptr if !(db != 0) { return Xsqlite3ErrStr(tls, SQLITE_NOMEM) } if !(Xsqlite3SafetyCheckSickOrOk(tls, db) != 0) { - return Xsqlite3ErrStr(tls, Xsqlite3MisuseError(tls, 170996)) + return Xsqlite3ErrStr(tls, Xsqlite3MisuseError(tls, 171053)) } Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) if (*Sqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 { @@ -150696,7 +150727,7 @@ func Xsqlite3_errmsg(tls *libc.TLS, db uintptr) uintptr { /* sqlite3.c:170990:23 } // Return the byte offset of the most recent error -func Xsqlite3_error_offset(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:171016:16: */ +func Xsqlite3_error_offset(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:171073:16: */ var iOffset int32 = -1 if db != 0 && Xsqlite3SafetyCheckSickOrOk(tls, db) != 0 && (*Sqlite3)(unsafe.Pointer(db)).FerrCode != 0 { Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) @@ -150708,7 +150739,7 @@ func Xsqlite3_error_offset(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:17101 // Return UTF-16 encoded English language explanation of the most recent // error. -func Xsqlite3_errmsg16(tls *libc.TLS, db uintptr) uintptr { /* sqlite3.c:171031:23: */ +func Xsqlite3_errmsg16(tls *libc.TLS, db uintptr) uintptr { /* sqlite3.c:171088:23: */ var z uintptr if !(db != 0) { return uintptr(uintptr(unsafe.Pointer(&outOfMem))) @@ -150737,18 +150768,18 @@ func Xsqlite3_errmsg16(tls *libc.TLS, db uintptr) uintptr { /* sqlite3.c:171031: var outOfMem = [14]U16{ U16('o'), U16('u'), U16('t'), U16(' '), U16('o'), U16('f'), U16(' '), U16('m'), U16('e'), U16('m'), U16('o'), U16('r'), U16('y'), U16(0), -} /* sqlite3.c:171032:20 */ +} /* sqlite3.c:171089:20 */ var misuse = [34]U16{ U16('b'), U16('a'), U16('d'), U16(' '), U16('p'), U16('a'), U16('r'), U16('a'), U16('m'), U16('e'), U16('t'), U16('e'), U16('r'), U16(' '), U16('o'), U16('r'), U16(' '), U16('o'), U16('t'), U16('h'), U16('e'), U16('r'), U16(' '), U16('A'), U16('P'), U16('I'), U16(' '), U16('m'), U16('i'), U16('s'), U16('u'), U16('s'), U16('e'), U16(0), -} /* sqlite3.c:171035:20 */ +} /* sqlite3.c:171092:20 */ // Return the most recent error code generated by an SQLite routine. If NULL is // passed to this function, we assume a malloc() failed during sqlite3_open(). -func Xsqlite3_errcode(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:171073:16: */ +func Xsqlite3_errcode(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:171130:16: */ if db != 0 && !(Xsqlite3SafetyCheckSickOrOk(tls, db) != 0) { - return Xsqlite3MisuseError(tls, 171075) + return Xsqlite3MisuseError(tls, 171132) } if !(db != 0) || (*Sqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 { return SQLITE_NOMEM @@ -150756,9 +150787,9 @@ func Xsqlite3_errcode(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:171073:16: return (*Sqlite3)(unsafe.Pointer(db)).FerrCode & (*Sqlite3)(unsafe.Pointer(db)).FerrMask } -func Xsqlite3_extended_errcode(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:171082:16: */ +func Xsqlite3_extended_errcode(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:171139:16: */ if db != 0 && !(Xsqlite3SafetyCheckSickOrOk(tls, db) != 0) { - return Xsqlite3MisuseError(tls, 171084) + return Xsqlite3MisuseError(tls, 171141) } if !(db != 0) || (*Sqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 { return SQLITE_NOMEM @@ -150766,7 +150797,7 @@ func Xsqlite3_extended_errcode(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:1 return (*Sqlite3)(unsafe.Pointer(db)).FerrCode } -func Xsqlite3_system_errno(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:171091:16: */ +func Xsqlite3_system_errno(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:171148:16: */ if db != 0 { return (*Sqlite3)(unsafe.Pointer(db)).FiSysErrno } @@ -150776,13 +150807,13 @@ func Xsqlite3_system_errno(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:17109 // Return a string that describes the kind of error specified in the // argument. For now, this simply calls the internal sqlite3ErrStr() // function. -func Xsqlite3_errstr(tls *libc.TLS, rc int32) uintptr { /* sqlite3.c:171100:23: */ +func Xsqlite3_errstr(tls *libc.TLS, rc int32) uintptr { /* sqlite3.c:171157:23: */ return Xsqlite3ErrStr(tls, rc) } // 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 U8, pCtx uintptr, xCompare uintptr, xDel uintptr) int32 { /* sqlite3.c:171108:12: */ +func createCollation(tls *libc.TLS, db uintptr, zName uintptr, enc U8, pCtx uintptr, xCompare uintptr, xDel uintptr) int32 { /* sqlite3.c:171165:12: */ var pColl uintptr var enc2 int32 @@ -150795,7 +150826,7 @@ func createCollation(tls *libc.TLS, db uintptr, zName uintptr, enc U8, pCtx uint enc2 = SQLITE_UTF16LE } if enc2 < SQLITE_UTF8 || enc2 > SQLITE_UTF16BE { - return Xsqlite3MisuseError(tls, 171132) + return Xsqlite3MisuseError(tls, 171189) } // Check if this call is removing or replacing an existing collation @@ -150858,7 +150889,7 @@ var aHardLimit = [12]int32{ SQLITE_MAX_VARIABLE_NUMBER, // IMP: R-38091-32352 SQLITE_MAX_TRIGGER_DEPTH, SQLITE_MAX_WORKER_THREADS, -} /* sqlite3.c:171185:18 */ +} /* sqlite3.c:171242:18 */ // Make sure the hard limits are set to reasonable values @@ -150870,7 +150901,7 @@ var aHardLimit = [12]int32{ // A new lower limit does not shrink existing constructs. // It merely prevents new constructs that exceed the limit // from forming. -func Xsqlite3_limit(tls *libc.TLS, db uintptr, limitId int32, newLimit int32) int32 { /* sqlite3.c:171248:16: */ +func Xsqlite3_limit(tls *libc.TLS, db uintptr, limitId int32, newLimit int32) int32 { /* sqlite3.c:171305:16: */ var oldLimit int32 // EVIDENCE-OF: R-30189-54097 For each limit category SQLITE_LIMIT_NAME @@ -150917,7 +150948,7 @@ func Xsqlite3_limit(tls *libc.TLS, db uintptr, limitId int32, newLimit int32) in // may be set to point to a buffer containing an English language error // message. It is the responsibility of the caller to eventually release // this buffer by calling sqlite3_free(). -func Xsqlite3ParseUri(tls *libc.TLS, zDefaultVfs uintptr, zUri uintptr, pFlags uintptr, ppVfs uintptr, pzFile uintptr, pzErrMsg uintptr) int32 { /* sqlite3.c:171320:20: */ +func Xsqlite3ParseUri(tls *libc.TLS, zDefaultVfs uintptr, zUri uintptr, pFlags uintptr, ppVfs uintptr, pzFile uintptr, pzErrMsg uintptr) int32 { /* sqlite3.c:171377:20: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -151255,24 +151286,24 @@ type OpenMode = struct { Fz uintptr Fmode int32 F__ccgo_pad1 [4]byte -} /* sqlite3.c:171462:9 */ +} /* sqlite3.c:171519:9 */ var aCacheMode = [3]OpenMode{ {Fz: ts + 24147, Fmode: SQLITE_OPEN_SHAREDCACHE}, {Fz: ts + 24154, Fmode: SQLITE_OPEN_PRIVATECACHE}, {}, -} /* sqlite3.c:171471:34 */ +} /* sqlite3.c:171528:34 */ var aOpenMode = [5]OpenMode{ {Fz: ts + 24162, Fmode: SQLITE_OPEN_READONLY}, {Fz: ts + 24165, Fmode: SQLITE_OPEN_READWRITE}, {Fz: ts + 24168, Fmode: SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE}, {Fz: ts + 17269, Fmode: SQLITE_OPEN_MEMORY}, {}, -} /* sqlite3.c:171483:34 */ +} /* sqlite3.c:171540:34 */ // This routine does the core work of extracting URI parameters from a // database filename for the sqlite3_uri_parameter() interface. -func uriParameter(tls *libc.TLS, zFilename uintptr, zParam uintptr) uintptr { /* sqlite3.c:171557:19: */ +func uriParameter(tls *libc.TLS, zFilename uintptr, zParam uintptr) uintptr { /* sqlite3.c:171614:19: */ zFilename += uintptr(Xsqlite3Strlen30(tls, zFilename) + 1) for zFilename != uintptr(0) && *(*int8)(unsafe.Pointer(zFilename)) != 0 { var x int32 = libc.Xstrcmp(tls, zFilename, zParam) @@ -151288,7 +151319,7 @@ func uriParameter(tls *libc.TLS, zFilename uintptr, zParam uintptr) uintptr { /* // This routine does the work of opening a database on behalf of // sqlite3_open() and sqlite3_open16(). The database filename "zFilename" // is UTF-8 encoded. -func openDatabase(tls *libc.TLS, zFilename uintptr, ppDb uintptr, flags uint32, zVfs uintptr) int32 { /* sqlite3.c:171575:12: */ +func openDatabase(tls *libc.TLS, zFilename uintptr, ppDb uintptr, flags uint32, zVfs uintptr) int32 { /* sqlite3.c:171632:12: */ bp := tls.Alloc(32) defer tls.Free(32) *(*uint32)(unsafe.Pointer(bp + 8)) = flags @@ -151472,7 +151503,7 @@ __15: if !(int32(1)<<(*(*uint32)(unsafe.Pointer(bp + 8))&uint32(7))&0x46 == 0) { goto __16 } - rc = Xsqlite3MisuseError(tls, 171788) // IMP: R-18321-05872 + rc = Xsqlite3MisuseError(tls, 171845) // IMP: R-18321-05872 goto __17 __16: rc = Xsqlite3ParseUri(tls, zVfs, zFilename, bp+8, db, bp+16, bp+24) @@ -151628,17 +151659,17 @@ __32: } // Open a new database handle. -func Xsqlite3_open(tls *libc.TLS, zFilename uintptr, ppDb uintptr) int32 { /* sqlite3.c:171910:16: */ +func Xsqlite3_open(tls *libc.TLS, zFilename uintptr, ppDb uintptr) int32 { /* sqlite3.c:171967:16: */ return openDatabase(tls, zFilename, ppDb, uint32(SQLITE_OPEN_READWRITE|SQLITE_OPEN_CREATE), uintptr(0)) } -func Xsqlite3_open_v2(tls *libc.TLS, filename uintptr, ppDb uintptr, flags int32, zVfs uintptr) int32 { /* sqlite3.c:171917:16: */ +func Xsqlite3_open_v2(tls *libc.TLS, filename uintptr, ppDb uintptr, flags int32, zVfs uintptr) int32 { /* sqlite3.c:171974:16: */ return openDatabase(tls, filename, ppDb, uint32(flags), zVfs) } // Open a new database handle. -func Xsqlite3_open16(tls *libc.TLS, zFilename uintptr, ppDb uintptr) int32 { /* sqlite3.c:171930:16: */ +func Xsqlite3_open16(tls *libc.TLS, zFilename uintptr, ppDb uintptr) int32 { /* sqlite3.c:171987:16: */ var zFilename8 uintptr // zFilename encoded in UTF-8 instead of UTF-16 var pVal uintptr var rc int32 @@ -151670,12 +151701,12 @@ func Xsqlite3_open16(tls *libc.TLS, zFilename uintptr, ppDb uintptr) int32 { /* } // 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) int32 { /* sqlite3.c:171969:16: */ +func Xsqlite3_create_collation(tls *libc.TLS, db uintptr, zName uintptr, enc int32, pCtx uintptr, xCompare uintptr) int32 { /* sqlite3.c:172026:16: */ return Xsqlite3_create_collation_v2(tls, db, zName, enc, pCtx, xCompare, uintptr(0)) } // 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) int32 { /* sqlite3.c:171982:16: */ +func Xsqlite3_create_collation_v2(tls *libc.TLS, db uintptr, zName uintptr, enc int32, pCtx uintptr, xCompare uintptr, xDel uintptr) int32 { /* sqlite3.c:172039:16: */ var rc int32 Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) @@ -151687,7 +151718,7 @@ func Xsqlite3_create_collation_v2(tls *libc.TLS, db uintptr, zName uintptr, enc } // 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) int32 { /* sqlite3.c:172007:16: */ +func Xsqlite3_create_collation16(tls *libc.TLS, db uintptr, zName uintptr, enc int32, pCtx uintptr, xCompare uintptr) int32 { /* sqlite3.c:172064:16: */ var rc int32 = SQLITE_OK var zName8 uintptr @@ -151705,7 +151736,7 @@ func Xsqlite3_create_collation16(tls *libc.TLS, db uintptr, zName uintptr, enc i // 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) int32 { /* sqlite3.c:172037:16: */ +func Xsqlite3_collation_needed(tls *libc.TLS, db uintptr, pCollNeededArg uintptr, xCollNeeded uintptr) int32 { /* sqlite3.c:172094:16: */ Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) (*Sqlite3)(unsafe.Pointer(db)).FxCollNeeded = xCollNeeded (*Sqlite3)(unsafe.Pointer(db)).FxCollNeeded16 = uintptr(0) @@ -151716,7 +151747,7 @@ func Xsqlite3_collation_needed(tls *libc.TLS, db uintptr, pCollNeededArg uintptr // 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) int32 { /* sqlite3.c:172058:16: */ +func Xsqlite3_collation_needed16(tls *libc.TLS, db uintptr, pCollNeededArg uintptr, xCollNeeded16 uintptr) int32 { /* sqlite3.c:172115:16: */ Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) (*Sqlite3)(unsafe.Pointer(db)).FxCollNeeded = uintptr(0) (*Sqlite3)(unsafe.Pointer(db)).FxCollNeeded16 = xCollNeeded16 @@ -151727,7 +151758,7 @@ func Xsqlite3_collation_needed16(tls *libc.TLS, db uintptr, pCollNeededArg uintp // This function is now an anachronism. It used to be used to recover from a // malloc() failure, but SQLite now does this automatically. -func Xsqlite3_global_recover(tls *libc.TLS) int32 { /* sqlite3.c:172080:16: */ +func Xsqlite3_global_recover(tls *libc.TLS) int32 { /* sqlite3.c:172137:16: */ return SQLITE_OK } @@ -151735,7 +151766,7 @@ func Xsqlite3_global_recover(tls *libc.TLS) int32 { /* sqlite3.c:172080:16: */ // mode. Return TRUE if it is and FALSE if not. Autocommit mode is on // by default. Autocommit is disabled by a BEGIN statement and reenabled // by the next COMMIT or ROLLBACK. -func Xsqlite3_get_autocommit(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:172091:16: */ +func Xsqlite3_get_autocommit(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:172148:16: */ return int32((*Sqlite3)(unsafe.Pointer(db)).FautoCommit) } @@ -151748,7 +151779,7 @@ func Xsqlite3_get_autocommit(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:172 // // 2. Invoke sqlite3_log() to provide the source code location where // a low-level error is first detected. -func Xsqlite3ReportError(tls *libc.TLS, iErr int32, lineno int32, zType uintptr) int32 { /* sqlite3.c:172112:20: */ +func Xsqlite3ReportError(tls *libc.TLS, iErr int32, lineno int32, zType uintptr) int32 { /* sqlite3.c:172169:20: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -151757,17 +151788,17 @@ func Xsqlite3ReportError(tls *libc.TLS, iErr int32, lineno int32, zType uintptr) return iErr } -func Xsqlite3CorruptError(tls *libc.TLS, lineno int32) int32 { /* sqlite3.c:172117:20: */ +func Xsqlite3CorruptError(tls *libc.TLS, lineno int32) int32 { /* sqlite3.c:172174:20: */ return Xsqlite3ReportError(tls, SQLITE_CORRUPT, lineno, ts+24206) } -func Xsqlite3MisuseError(tls *libc.TLS, lineno int32) int32 { /* sqlite3.c:172121:20: */ +func Xsqlite3MisuseError(tls *libc.TLS, lineno int32) int32 { /* sqlite3.c:172178:20: */ return Xsqlite3ReportError(tls, SQLITE_MISUSE, lineno, ts+24226) } -func Xsqlite3CantopenError(tls *libc.TLS, lineno int32) int32 { /* sqlite3.c:172125:20: */ +func Xsqlite3CantopenError(tls *libc.TLS, lineno int32) int32 { /* sqlite3.c:172182:20: */ return Xsqlite3ReportError(tls, SQLITE_CANTOPEN, lineno, ts+24233) } @@ -151777,12 +151808,12 @@ func Xsqlite3CantopenError(tls *libc.TLS, lineno int32) int32 { /* sqlite3.c:172 // // SQLite no longer uses thread-specific data so this routine is now a // no-op. It is retained for historical compatibility. -func Xsqlite3_thread_cleanup(tls *libc.TLS) { /* sqlite3.c:172156:17: */ +func Xsqlite3_thread_cleanup(tls *libc.TLS) { /* sqlite3.c:172213:17: */ } // Return meta information about a specific column of a database table. // See comment in sqlite3.h (sqlite.h.in) for details. -func Xsqlite3_table_column_metadata(tls *libc.TLS, db uintptr, zDbName uintptr, zTableName uintptr, zColumnName uintptr, pzDataType uintptr, pzCollSeq uintptr, pNotNull uintptr, pPrimaryKey uintptr, pAutoinc uintptr) int32 { /* sqlite3.c:172164:16: */ +func Xsqlite3_table_column_metadata(tls *libc.TLS, db uintptr, zDbName uintptr, zTableName uintptr, zColumnName uintptr, pzDataType uintptr, pzCollSeq uintptr, pNotNull uintptr, pPrimaryKey uintptr, pAutoinc uintptr) int32 { /* sqlite3.c:172221:16: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -151966,7 +151997,7 @@ __20: } // Sleep for a little while. Return the amount of time slept. -func Xsqlite3_sleep(tls *libc.TLS, ms int32) int32 { /* sqlite3.c:172282:16: */ +func Xsqlite3_sleep(tls *libc.TLS, ms int32) int32 { /* sqlite3.c:172339:16: */ var pVfs uintptr var rc int32 pVfs = Xsqlite3_vfs_find(tls, uintptr(0)) @@ -151981,7 +152012,7 @@ func Xsqlite3_sleep(tls *libc.TLS, ms int32) int32 { /* sqlite3.c:172282:16: */ } // Enable or disable the extended result codes. -func Xsqlite3_extended_result_codes(tls *libc.TLS, db uintptr, onoff int32) int32 { /* sqlite3.c:172298:16: */ +func Xsqlite3_extended_result_codes(tls *libc.TLS, db uintptr, onoff int32) int32 { /* sqlite3.c:172355:16: */ Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) (*Sqlite3)(unsafe.Pointer(db)).FerrMask = func() int32 { if onoff != 0 { @@ -151994,7 +152025,7 @@ func Xsqlite3_extended_result_codes(tls *libc.TLS, db uintptr, onoff int32) int3 } // Invoke the xFileControl method on a particular database. -func Xsqlite3_file_control(tls *libc.TLS, db uintptr, zDbName uintptr, op int32, pArg uintptr) int32 { /* sqlite3.c:172311:16: */ +func Xsqlite3_file_control(tls *libc.TLS, db uintptr, zDbName uintptr, op int32, pArg uintptr) int32 { /* sqlite3.c:172368:16: */ var rc int32 = SQLITE_ERROR var pBtree uintptr @@ -152039,7 +152070,7 @@ func Xsqlite3_file_control(tls *libc.TLS, db uintptr, zDbName uintptr, op int32, } // Interface to the testing logic. -func Xsqlite3_test_control(tls *libc.TLS, op int32, va uintptr) int32 { /* sqlite3.c:172361:16: */ +func Xsqlite3_test_control(tls *libc.TLS, op int32, va uintptr) int32 { /* sqlite3.c:172418:16: */ var rc int32 = 0 var ap Va_list _ = ap @@ -152498,7 +152529,7 @@ func Xsqlite3_test_control(tls *libc.TLS, op int32, va uintptr) int32 { /* sqlit // backwards for the first byte following four consecutive zero bytes. // // This only works if the filename passed in was obtained from the Pager. -func databaseName(tls *libc.TLS, zName uintptr) uintptr { /* sqlite3.c:172857:19: */ +func databaseName(tls *libc.TLS, zName uintptr) uintptr { /* sqlite3.c:172914:19: */ for int32(*(*int8)(unsafe.Pointer(zName + libc.UintptrFromInt32(-1)))) != 0 || int32(*(*int8)(unsafe.Pointer(zName + libc.UintptrFromInt32(-2)))) != 0 || int32(*(*int8)(unsafe.Pointer(zName + libc.UintptrFromInt32(-3)))) != 0 || int32(*(*int8)(unsafe.Pointer(zName + libc.UintptrFromInt32(-4)))) != 0 { zName-- } @@ -152507,7 +152538,7 @@ func databaseName(tls *libc.TLS, zName uintptr) uintptr { /* sqlite3.c:172857:19 // Append text z[] to the end of p[]. Return a pointer to the first // character after then zero terminator on the new text in p[]. -func appendText(tls *libc.TLS, p uintptr, z uintptr) uintptr { /* sqlite3.c:172868:13: */ +func appendText(tls *libc.TLS, p uintptr, z uintptr) uintptr { /* sqlite3.c:172925:13: */ var n Size_t = libc.Xstrlen(tls, z) libc.Xmemcpy(tls, p, z, n+uint64(1)) return p + uintptr(n) + uintptr(1) @@ -152520,7 +152551,7 @@ func appendText(tls *libc.TLS, p uintptr, z uintptr) uintptr { /* sqlite3.c:1728 // // Memory layout must be compatible with that generated by the pager // and expected by sqlite3_uri_parameter() and databaseName(). -func Xsqlite3_create_filename(tls *libc.TLS, zDatabase uintptr, zJournal uintptr, zWal uintptr, nParam int32, azParam uintptr) uintptr { /* sqlite3.c:172883:17: */ +func Xsqlite3_create_filename(tls *libc.TLS, zDatabase uintptr, zJournal uintptr, zWal uintptr, nParam int32, azParam uintptr) uintptr { /* sqlite3.c:172940:17: */ var nByte Sqlite3_int64 var i int32 var pResult uintptr @@ -152551,7 +152582,7 @@ func Xsqlite3_create_filename(tls *libc.TLS, zDatabase uintptr, zJournal uintptr // Free memory obtained from sqlite3_create_filename(). It is a severe // error to call this routine with any parameter other than a pointer // previously obtained from sqlite3_create_filename() or a NULL pointer. -func Xsqlite3_free_filename(tls *libc.TLS, p uintptr) { /* sqlite3.c:172919:17: */ +func Xsqlite3_free_filename(tls *libc.TLS, p uintptr) { /* sqlite3.c:172976:17: */ if p == uintptr(0) { return } @@ -152568,7 +152599,7 @@ func Xsqlite3_free_filename(tls *libc.TLS, p uintptr) { /* sqlite3.c:172919:17: // query parameter we seek. This routine returns the value of the zParam // parameter if it exists. If the parameter does not exist, this routine // returns a NULL pointer. -func Xsqlite3_uri_parameter(tls *libc.TLS, zFilename uintptr, zParam uintptr) uintptr { /* sqlite3.c:172937:23: */ +func Xsqlite3_uri_parameter(tls *libc.TLS, zFilename uintptr, zParam uintptr) uintptr { /* sqlite3.c:172994:23: */ if zFilename == uintptr(0) || zParam == uintptr(0) { return uintptr(0) } @@ -152577,7 +152608,7 @@ func Xsqlite3_uri_parameter(tls *libc.TLS, zFilename uintptr, zParam uintptr) ui } // Return a pointer to the name of Nth query parameter of the filename. -func Xsqlite3_uri_key(tls *libc.TLS, zFilename uintptr, N int32) uintptr { /* sqlite3.c:172946:23: */ +func Xsqlite3_uri_key(tls *libc.TLS, zFilename uintptr, N int32) uintptr { /* sqlite3.c:173003:23: */ if zFilename == uintptr(0) || N < 0 { return uintptr(0) } @@ -152594,7 +152625,7 @@ func Xsqlite3_uri_key(tls *libc.TLS, zFilename uintptr, N int32) uintptr { /* sq } // Return a boolean value for a query parameter. -func Xsqlite3_uri_boolean(tls *libc.TLS, zFilename uintptr, zParam uintptr, bDflt int32) int32 { /* sqlite3.c:172960:16: */ +func Xsqlite3_uri_boolean(tls *libc.TLS, zFilename uintptr, zParam uintptr, bDflt int32) int32 { /* sqlite3.c:173017:16: */ var z uintptr = Xsqlite3_uri_parameter(tls, zFilename, zParam) bDflt = libc.Bool32(bDflt != 0) if z != 0 { @@ -152604,7 +152635,7 @@ func Xsqlite3_uri_boolean(tls *libc.TLS, zFilename uintptr, zParam uintptr, bDfl } // Return a 64-bit integer value for a query parameter. -func Xsqlite3_uri_int64(tls *libc.TLS, zFilename uintptr, zParam uintptr, bDflt Sqlite3_int64) Sqlite3_int64 { /* sqlite3.c:172969:26: */ +func Xsqlite3_uri_int64(tls *libc.TLS, zFilename uintptr, zParam uintptr, bDflt Sqlite3_int64) Sqlite3_int64 { /* sqlite3.c:173026:26: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -152625,14 +152656,14 @@ func Xsqlite3_uri_int64(tls *libc.TLS, zFilename uintptr, zParam uintptr, bDflt // passing free() a pointer that was not obtained from malloc() - it is // an error that we cannot easily detect but that will likely cause memory // corruption. -func Xsqlite3_filename_database(tls *libc.TLS, zFilename uintptr) uintptr { /* sqlite3.c:172992:23: */ +func Xsqlite3_filename_database(tls *libc.TLS, zFilename uintptr) uintptr { /* sqlite3.c:173049:23: */ if zFilename == uintptr(0) { return uintptr(0) } return databaseName(tls, zFilename) } -func Xsqlite3_filename_journal(tls *libc.TLS, zFilename uintptr) uintptr { /* sqlite3.c:172996:23: */ +func Xsqlite3_filename_journal(tls *libc.TLS, zFilename uintptr) uintptr { /* sqlite3.c:173053:23: */ if zFilename == uintptr(0) { return uintptr(0) } @@ -152645,7 +152676,7 @@ func Xsqlite3_filename_journal(tls *libc.TLS, zFilename uintptr) uintptr { /* sq return zFilename + uintptr(1) } -func Xsqlite3_filename_wal(tls *libc.TLS, zFilename uintptr) uintptr { /* sqlite3.c:173006:23: */ +func Xsqlite3_filename_wal(tls *libc.TLS, zFilename uintptr) uintptr { /* sqlite3.c:173063:23: */ zFilename = Xsqlite3_filename_journal(tls, zFilename) if zFilename != 0 { zFilename += uintptr(Xsqlite3Strlen30(tls, zFilename) + 1) @@ -152654,7 +152685,7 @@ func Xsqlite3_filename_wal(tls *libc.TLS, zFilename uintptr) uintptr { /* sqlite } // Return the Btree pointer identified by zDbName. Return NULL if not found. -func Xsqlite3DbNameToBtree(tls *libc.TLS, db uintptr, zDbName uintptr) uintptr { /* sqlite3.c:173019:22: */ +func Xsqlite3DbNameToBtree(tls *libc.TLS, db uintptr, zDbName uintptr) uintptr { /* sqlite3.c:173076:22: */ var iDb int32 if zDbName != 0 { iDb = Xsqlite3FindDbName(tls, db, zDbName) @@ -152669,7 +152700,7 @@ func Xsqlite3DbNameToBtree(tls *libc.TLS, db uintptr, zDbName uintptr) uintptr { // Return the filename of the database associated with a database // connection. -func Xsqlite3_db_filename(tls *libc.TLS, db uintptr, zDbName uintptr) uintptr { /* sqlite3.c:173028:23: */ +func Xsqlite3_db_filename(tls *libc.TLS, db uintptr, zDbName uintptr) uintptr { /* sqlite3.c:173085:23: */ var pBt uintptr pBt = Xsqlite3DbNameToBtree(tls, db, zDbName) if pBt != 0 { @@ -152680,7 +152711,7 @@ func Xsqlite3_db_filename(tls *libc.TLS, db uintptr, zDbName uintptr) uintptr { // Return 1 if database is read-only or 0 if read/write. Return -1 if // no such database exists. -func Xsqlite3_db_readonly(tls *libc.TLS, db uintptr, zDbName uintptr) int32 { /* sqlite3.c:173044:16: */ +func Xsqlite3_db_readonly(tls *libc.TLS, db uintptr, zDbName uintptr) int32 { /* sqlite3.c:173101:16: */ var pBt uintptr pBt = Xsqlite3DbNameToBtree(tls, db, zDbName) if pBt != 0 { @@ -152691,7 +152722,7 @@ func Xsqlite3_db_readonly(tls *libc.TLS, db uintptr, zDbName uintptr) int32 { /* // Obtain a snapshot handle for the snapshot of database zDb currently // being read by handle db. -func Xsqlite3_snapshot_get(tls *libc.TLS, db uintptr, zDb uintptr, ppSnapshot uintptr) int32 { /* sqlite3.c:173061:16: */ +func Xsqlite3_snapshot_get(tls *libc.TLS, db uintptr, zDb uintptr, ppSnapshot uintptr) int32 { /* sqlite3.c:173118:16: */ var rc int32 = SQLITE_ERROR Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) @@ -152714,7 +152745,7 @@ func Xsqlite3_snapshot_get(tls *libc.TLS, db uintptr, zDb uintptr, ppSnapshot ui } // Open a read-transaction on the snapshot idendified by pSnapshot. -func Xsqlite3_snapshot_open(tls *libc.TLS, db uintptr, zDb uintptr, pSnapshot uintptr) int32 { /* sqlite3.c:173097:16: */ +func Xsqlite3_snapshot_open(tls *libc.TLS, db uintptr, zDb uintptr, pSnapshot uintptr) int32 { /* sqlite3.c:173154:16: */ var rc int32 = SQLITE_ERROR Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) @@ -152757,7 +152788,7 @@ func Xsqlite3_snapshot_open(tls *libc.TLS, db uintptr, zDb uintptr, pSnapshot ui // Recover as many snapshots as possible from the wal file associated with // schema zDb of database db. -func Xsqlite3_snapshot_recover(tls *libc.TLS, db uintptr, zDb uintptr) int32 { /* sqlite3.c:173153:16: */ +func Xsqlite3_snapshot_recover(tls *libc.TLS, db uintptr, zDb uintptr) int32 { /* sqlite3.c:173210:16: */ var rc int32 = SQLITE_ERROR var iDb int32 @@ -152778,7 +152809,7 @@ func Xsqlite3_snapshot_recover(tls *libc.TLS, db uintptr, zDb uintptr) int32 { / } // Free a snapshot handle obtained from sqlite3_snapshot_get(). -func Xsqlite3_snapshot_free(tls *libc.TLS, pSnapshot uintptr) { /* sqlite3.c:173184:17: */ +func Xsqlite3_snapshot_free(tls *libc.TLS, pSnapshot uintptr) { /* sqlite3.c:173241:17: */ Xsqlite3_free(tls, pSnapshot) } @@ -152787,7 +152818,7 @@ func Xsqlite3_snapshot_free(tls *libc.TLS, pSnapshot uintptr) { /* sqlite3.c:173 // // The name can optionally begin with "SQLITE_" but the "SQLITE_" prefix // is not required for a match. -func Xsqlite3_compileoption_used(tls *libc.TLS, zOptName uintptr) int32 { /* sqlite3.c:173197:16: */ +func Xsqlite3_compileoption_used(tls *libc.TLS, zOptName uintptr) int32 { /* sqlite3.c:173254:16: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -152817,7 +152848,7 @@ func Xsqlite3_compileoption_used(tls *libc.TLS, zOptName uintptr) int32 { /* sql // Return the N-th compile-time option string. If N is out of range, // return a NULL pointer. -func Xsqlite3_compileoption_get(tls *libc.TLS, N int32) uintptr { /* sqlite3.c:173230:23: */ +func Xsqlite3_compileoption_get(tls *libc.TLS, N int32) uintptr { /* sqlite3.c:173287:23: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -152862,11 +152893,11 @@ func Xsqlite3_compileoption_get(tls *libc.TLS, N int32) uintptr { /* sqlite3.c:1 // for which either sqlite3.pBlockingConnection or sqlite3.pUnlockConnection // is not NULL. This variable may only accessed while the STATIC_MAIN // mutex is held. -var sqlite3BlockedList uintptr = uintptr(0) /* sqlite3.c:173282:16 */ +var sqlite3BlockedList uintptr = uintptr(0) /* sqlite3.c:173339:16 */ // Remove connection db from the blocked connections list. If connection // db is not currently a part of the list, this function is a no-op. -func removeFromBlockedList(tls *libc.TLS, db uintptr) { /* sqlite3.c:173325:13: */ +func removeFromBlockedList(tls *libc.TLS, db uintptr) { /* sqlite3.c:173382:13: */ var pp uintptr for pp = uintptr(unsafe.Pointer(&sqlite3BlockedList)); *(*uintptr)(unsafe.Pointer(pp)) != 0; pp = *(*uintptr)(unsafe.Pointer(pp)) + 832 { @@ -152879,7 +152910,7 @@ func removeFromBlockedList(tls *libc.TLS, db uintptr) { /* sqlite3.c:173325:13: // Add connection db to the blocked connections list. It is assumed // that it is not already a part of the list. -func addToBlockedList(tls *libc.TLS, db uintptr) { /* sqlite3.c:173340:13: */ +func addToBlockedList(tls *libc.TLS, db uintptr) { /* sqlite3.c:173397:13: */ var pp uintptr for pp = uintptr(unsafe.Pointer(&sqlite3BlockedList)); *(*uintptr)(unsafe.Pointer(pp)) != 0 && (*Sqlite3)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pp)))).FxUnlockNotify != (*Sqlite3)(unsafe.Pointer(db)).FxUnlockNotify; pp = *(*uintptr)(unsafe.Pointer(pp)) + 832 { @@ -152889,13 +152920,13 @@ func addToBlockedList(tls *libc.TLS, db uintptr) { /* sqlite3.c:173340:13: */ } // Obtain the STATIC_MAIN mutex. -func enterMutex(tls *libc.TLS) { /* sqlite3.c:173355:13: */ +func enterMutex(tls *libc.TLS) { /* sqlite3.c:173412:13: */ Xsqlite3_mutex_enter(tls, Xsqlite3MutexAlloc(tls, SQLITE_MUTEX_STATIC_MAIN)) } // Release the STATIC_MAIN mutex. -func leaveMutex(tls *libc.TLS) { /* sqlite3.c:173363:13: */ +func leaveMutex(tls *libc.TLS) { /* sqlite3.c:173420:13: */ Xsqlite3_mutex_leave(tls, Xsqlite3MutexAlloc(tls, SQLITE_MUTEX_STATIC_MAIN)) } @@ -152919,7 +152950,7 @@ func leaveMutex(tls *libc.TLS) { /* sqlite3.c:173363:13: */ // Each call to this routine overrides any prior callbacks registered // 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) int32 { /* sqlite3.c:173390:16: */ +func Xsqlite3_unlock_notify(tls *libc.TLS, db uintptr, xNotify uintptr, pArg uintptr) int32 { /* sqlite3.c:173447:16: */ bp := tls.Alloc(8) defer tls.Free(8) *(*uintptr)(unsafe.Pointer(bp)) = pArg @@ -152974,7 +153005,7 @@ func Xsqlite3_unlock_notify(tls *libc.TLS, db uintptr, xNotify uintptr, pArg uin // associated with connection db. The operation will return SQLITE_LOCKED // to the user because it requires a lock that will not be available // until connection pBlocker concludes its current transaction. -func Xsqlite3ConnectionBlocked(tls *libc.TLS, db uintptr, pBlocker uintptr) { /* sqlite3.c:173440:21: */ +func Xsqlite3ConnectionBlocked(tls *libc.TLS, db uintptr, pBlocker uintptr) { /* sqlite3.c:173497:21: */ enterMutex(tls) if (*Sqlite3)(unsafe.Pointer(db)).FpBlockingConnection == uintptr(0) && (*Sqlite3)(unsafe.Pointer(db)).FpUnlockConnection == uintptr(0) { addToBlockedList(tls, db) @@ -153000,7 +153031,7 @@ func Xsqlite3ConnectionBlocked(tls *libc.TLS, db uintptr, pBlocker uintptr) { /* // 3) If the two steps above mean that pBlockingConnection==0 and // pUnlockConnection==0, remove the entry from the blocked connections // list. -func Xsqlite3ConnectionUnlocked(tls *libc.TLS, db uintptr) { /* sqlite3.c:173468:21: */ +func Xsqlite3ConnectionUnlocked(tls *libc.TLS, db uintptr) { /* sqlite3.c:173525:21: */ bp := tls.Alloc(128) defer tls.Free(128) @@ -153104,7 +153135,7 @@ func Xsqlite3ConnectionUnlocked(tls *libc.TLS, db uintptr) { /* sqlite3.c:173468 // This is called when the database connection passed as an argument is // being closed. The connection is removed from the blocked list. -func Xsqlite3ConnectionClosed(tls *libc.TLS, db uintptr) { /* sqlite3.c:173567:21: */ +func Xsqlite3ConnectionClosed(tls *libc.TLS, db uintptr) { /* sqlite3.c:173624:21: */ Xsqlite3ConnectionUnlocked(tls, db) enterMutex(tls) removeFromBlockedList(tls, db) @@ -153709,7 +153740,7 @@ var jsonIsSpace = [256]int8{ int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), -} /* sqlite3.c:193144:19 */ +} /* sqlite3.c:193201:19 */ // Objects type JsonString1 = struct { @@ -153721,10 +153752,10 @@ type JsonString1 = struct { FbErr U8 FzSpace [100]int8 F__ccgo_pad1 [2]byte -} /* sqlite3.c:193171:9 */ +} /* sqlite3.c:193228:9 */ // Objects -type JsonString = JsonString1 /* sqlite3.c:193171:27 */ +type JsonString = JsonString1 /* sqlite3.c:193228:27 */ type JsonNode1 = struct { FeType U8 FjnFlags U8 @@ -153732,9 +153763,9 @@ type JsonNode1 = struct { F__ccgo_pad1 [1]byte Fn U32 Fu struct{ FzJContent uintptr } -} /* sqlite3.c:193172:9 */ +} /* sqlite3.c:193229:9 */ -type JsonNode = JsonNode1 /* sqlite3.c:193172:25 */ +type JsonNode = JsonNode1 /* sqlite3.c:193229:25 */ type JsonParse1 = struct { FnNode U32 FnAlloc U32 @@ -153747,9 +153778,9 @@ type JsonParse1 = struct { FnJson int32 FiHold U32 F__ccgo_pad1 [4]byte -} /* sqlite3.c:193173:9 */ +} /* sqlite3.c:193230:9 */ -type JsonParse = JsonParse1 /* sqlite3.c:193173:26 */ +type JsonParse = JsonParse1 /* sqlite3.c:193230:26 */ // JSON type values @@ -153758,7 +153789,7 @@ type JsonParse = JsonParse1 /* sqlite3.c:193173:26 */ // Names of the various JSON types: var jsonType = [8]uintptr{ ts + 6132, ts + 6646, ts + 6651, ts + 6142, ts + 6137, ts + 7892, ts + 24309, ts + 24315, -} /* sqlite3.c:193206:19 */ +} /* sqlite3.c:193263:19 */ // Maximum nesting depth of JSON for this implementation. // @@ -153772,7 +153803,7 @@ var jsonType = [8]uintptr{ // // Set the JsonString object to an empty string -func jsonZero(tls *libc.TLS, p uintptr) { /* sqlite3.c:193267:13: */ +func jsonZero(tls *libc.TLS, p uintptr) { /* sqlite3.c:193324:13: */ (*JsonString)(unsafe.Pointer(p)).FzBuf = p + 34 /* &.zSpace */ (*JsonString)(unsafe.Pointer(p)).FnAlloc = U64(unsafe.Sizeof([100]int8{})) (*JsonString)(unsafe.Pointer(p)).FnUsed = uint64(0) @@ -153780,7 +153811,7 @@ func jsonZero(tls *libc.TLS, p uintptr) { /* sqlite3.c:193267:13: */ } // Initialize the JsonString object -func jsonInit(tls *libc.TLS, p uintptr, pCtx uintptr) { /* sqlite3.c:193276:13: */ +func jsonInit(tls *libc.TLS, p uintptr, pCtx uintptr) { /* sqlite3.c:193333:13: */ (*JsonString)(unsafe.Pointer(p)).FpCtx = pCtx (*JsonString)(unsafe.Pointer(p)).FbErr = U8(0) jsonZero(tls, p) @@ -153788,7 +153819,7 @@ func jsonInit(tls *libc.TLS, p uintptr, pCtx uintptr) { /* sqlite3.c:193276:13: // Free all allocated memory and reset the JsonString object back to its // initial state. -func jsonReset(tls *libc.TLS, p uintptr) { /* sqlite3.c:193286:13: */ +func jsonReset(tls *libc.TLS, p uintptr) { /* sqlite3.c:193343:13: */ if !(int32((*JsonString)(unsafe.Pointer(p)).FbStatic) != 0) { Xsqlite3_free(tls, (*JsonString)(unsafe.Pointer(p)).FzBuf) } @@ -153796,7 +153827,7 @@ func jsonReset(tls *libc.TLS, p uintptr) { /* sqlite3.c:193286:13: */ } // Report an out-of-memory (OOM) condition -func jsonOom(tls *libc.TLS, p uintptr) { /* sqlite3.c:193294:13: */ +func jsonOom(tls *libc.TLS, p uintptr) { /* sqlite3.c:193351:13: */ (*JsonString)(unsafe.Pointer(p)).FbErr = U8(1) Xsqlite3_result_error_nomem(tls, (*JsonString)(unsafe.Pointer(p)).FpCtx) jsonReset(tls, p) @@ -153804,7 +153835,7 @@ func jsonOom(tls *libc.TLS, p uintptr) { /* sqlite3.c:193294:13: */ // Enlarge pJson->zBuf so that it can hold at least N more bytes. // Return zero on success. Return non-zero on an OOM error -func jsonGrow(tls *libc.TLS, p uintptr, N U32) int32 { /* sqlite3.c:193303:12: */ +func jsonGrow(tls *libc.TLS, p uintptr, N U32) int32 { /* sqlite3.c:193360:12: */ var nTotal U64 if U64(N) < (*JsonString)(unsafe.Pointer(p)).FnAlloc { nTotal = (*JsonString)(unsafe.Pointer(p)).FnAlloc * uint64(2) @@ -153837,7 +153868,7 @@ func jsonGrow(tls *libc.TLS, p uintptr, N U32) int32 { /* sqlite3.c:193303:12: * } // Append N bytes from zIn onto the end of the JsonString string. -func jsonAppendRaw(tls *libc.TLS, p uintptr, zIn uintptr, N U32) { /* sqlite3.c:193330:13: */ +func jsonAppendRaw(tls *libc.TLS, p uintptr, zIn uintptr, N U32) { /* sqlite3.c:193387:13: */ if N == U32(0) { return } @@ -153849,7 +153880,7 @@ func jsonAppendRaw(tls *libc.TLS, p uintptr, zIn uintptr, N U32) { /* sqlite3.c: } // Append formatted text (not to exceed N bytes) to the JsonString. -func jsonPrintf(tls *libc.TLS, N int32, p uintptr, zFormat uintptr, va uintptr) { /* sqlite3.c:193339:13: */ +func jsonPrintf(tls *libc.TLS, N int32, p uintptr, zFormat uintptr, va uintptr) { /* sqlite3.c:193396:13: */ var ap Va_list _ = ap if (*JsonString)(unsafe.Pointer(p)).FnUsed+U64(N) >= (*JsonString)(unsafe.Pointer(p)).FnAlloc && jsonGrow(tls, p, uint32(N)) != 0 { @@ -153862,7 +153893,7 @@ func jsonPrintf(tls *libc.TLS, N int32, p uintptr, zFormat uintptr, va uintptr) } // Append a single character -func jsonAppendChar(tls *libc.TLS, p uintptr, c int8) { /* sqlite3.c:193350:13: */ +func jsonAppendChar(tls *libc.TLS, p uintptr, c int8) { /* sqlite3.c:193407:13: */ if (*JsonString)(unsafe.Pointer(p)).FnUsed >= (*JsonString)(unsafe.Pointer(p)).FnAlloc && jsonGrow(tls, p, uint32(1)) != 0 { return } @@ -153871,7 +153902,7 @@ func jsonAppendChar(tls *libc.TLS, p uintptr, c int8) { /* sqlite3.c:193350:13: // Append a comma separator to the output buffer, if the previous // character is not '[' or '{'. -func jsonAppendSeparator(tls *libc.TLS, p uintptr) { /* sqlite3.c:193358:13: */ +func jsonAppendSeparator(tls *libc.TLS, p uintptr) { /* sqlite3.c:193415:13: */ var c int8 if (*JsonString)(unsafe.Pointer(p)).FnUsed == uint64(0) { return @@ -153886,7 +153917,7 @@ func jsonAppendSeparator(tls *libc.TLS, p uintptr) { /* sqlite3.c:193358:13: */ // under construction. Enclose the string in "..." and escape // any double-quotes or backslash characters contained within the // string. -func jsonAppendString(tls *libc.TLS, p uintptr, zIn uintptr, N U32) { /* sqlite3.c:193370:13: */ +func jsonAppendString(tls *libc.TLS, p uintptr, zIn uintptr, N U32) { /* sqlite3.c:193427:13: */ var i U32 var c uint8 if !(zIn == uintptr(0) || U64(N)+(*JsonString)(unsafe.Pointer(p)).FnUsed+uint64(2) >= (*JsonString)(unsafe.Pointer(p)).FnAlloc && jsonGrow(tls, p, N+U32(2)) != 0) { @@ -153957,11 +153988,11 @@ __4: var aSpecial = [32]int8{ int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8('b'), int8('t'), int8('n'), int8(0), int8('f'), int8('r'), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), -} /* sqlite3.c:193381:25 */ +} /* sqlite3.c:193438:25 */ // Append a function parameter value to the JSON string under // construction. -func jsonAppendValue(tls *libc.TLS, p uintptr, pValue uintptr) { /* sqlite3.c:193413:13: */ +func jsonAppendValue(tls *libc.TLS, p uintptr, pValue uintptr) { /* sqlite3.c:193470:13: */ switch Xsqlite3_value_type(tls, pValue) { case SQLITE_NULL: { @@ -154005,7 +154036,7 @@ func jsonAppendValue(tls *libc.TLS, p uintptr, pValue uintptr) { /* sqlite3.c:19 } // Make the JSON in p the result of the SQL function. -func jsonResult(tls *libc.TLS, p uintptr) { /* sqlite3.c:193453:13: */ +func jsonResult(tls *libc.TLS, p uintptr) { /* sqlite3.c:193510:13: */ if int32((*JsonString)(unsafe.Pointer(p)).FbErr) == 0 { Xsqlite3_result_text64(tls, (*JsonString)(unsafe.Pointer(p)).FpCtx, (*JsonString)(unsafe.Pointer(p)).FzBuf, (*JsonString)(unsafe.Pointer(p)).FnUsed, func() uintptr { @@ -154032,7 +154063,7 @@ func jsonResult(tls *libc.TLS, p uintptr) { /* sqlite3.c:193453:13: */ // Appended elements are not counted. The value returned is the number // by which the JsonNode counter should increment in order to go to the // next peer value. -func jsonNodeSize(tls *libc.TLS, pNode uintptr) U32 { /* sqlite3.c:193476:12: */ +func jsonNodeSize(tls *libc.TLS, pNode uintptr) U32 { /* sqlite3.c:193533:12: */ if int32((*JsonNode)(unsafe.Pointer(pNode)).FeType) >= JSON_ARRAY { return (*JsonNode)(unsafe.Pointer(pNode)).Fn + U32(1) } @@ -154041,7 +154072,7 @@ func jsonNodeSize(tls *libc.TLS, pNode uintptr) U32 { /* sqlite3.c:193476:12: */ // Reclaim all memory allocated by a JsonParse object. But do not // delete the JsonParse object itself. -func jsonParseReset(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:193484:13: */ +func jsonParseReset(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:193541:13: */ Xsqlite3_free(tls, (*JsonParse)(unsafe.Pointer(pParse)).FaNode) (*JsonParse)(unsafe.Pointer(pParse)).FaNode = uintptr(0) (*JsonParse)(unsafe.Pointer(pParse)).FnNode = U32(0) @@ -154051,7 +154082,7 @@ func jsonParseReset(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:193484:13: */ } // Free a JsonParse object that was obtained from sqlite3_malloc(). -func jsonParseFree(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:193496:13: */ +func jsonParseFree(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:193553:13: */ jsonParseReset(tls, pParse) Xsqlite3_free(tls, pParse) } @@ -154059,7 +154090,7 @@ func jsonParseFree(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:193496:13: */ // Convert the JsonNode pNode into a pure JSON string and // append to pOut. Subsubstructure is also included. Return // the number of JsonNode objects that are encoded. -func jsonRenderNode(tls *libc.TLS, pNode uintptr, pOut uintptr, aReplace uintptr) { /* sqlite3.c:193506:13: */ +func jsonRenderNode(tls *libc.TLS, pNode uintptr, pOut uintptr, aReplace uintptr) { /* sqlite3.c:193563:13: */ if int32((*JsonNode)(unsafe.Pointer(pNode)).FjnFlags)&(JNODE_REPLACE|JNODE_PATCH) != 0 { if int32((*JsonNode)(unsafe.Pointer(pNode)).FjnFlags)&JNODE_REPLACE != 0 && aReplace != uintptr(0) { @@ -154161,7 +154192,7 @@ func jsonRenderNode(tls *libc.TLS, pNode uintptr, pOut uintptr, aReplace uintptr } // Return a JsonNode and all its descendents as a JSON string. -func jsonReturnJson(tls *libc.TLS, pNode uintptr, pCtx uintptr, aReplace uintptr) { /* sqlite3.c:193595:13: */ +func jsonReturnJson(tls *libc.TLS, pNode uintptr, pCtx uintptr, aReplace uintptr) { /* sqlite3.c:193652:13: */ bp := tls.Alloc(136) defer tls.Free(136) @@ -154176,14 +154207,14 @@ func jsonReturnJson(tls *libc.TLS, pNode uintptr, pCtx uintptr, aReplace uintptr // Translate a single byte of Hex into an integer. // This routine only works if h really is a valid hexadecimal // character: 0..9a..fA..F -func jsonHexToInt(tls *libc.TLS, h int32) U8 { /* sqlite3.c:193612:11: */ +func jsonHexToInt(tls *libc.TLS, h int32) U8 { /* sqlite3.c:193669:11: */ h = h + 9*(1&(h>>6)) return U8(h & 0xf) } // Convert a 4-byte hex string into an integer -func jsonHexToInt4(tls *libc.TLS, z uintptr) U32 { /* sqlite3.c:193625:12: */ +func jsonHexToInt4(tls *libc.TLS, z uintptr) U32 { /* sqlite3.c:193682:12: */ var v U32 v = U32(int32(jsonHexToInt(tls, int32(*(*int8)(unsafe.Pointer(z)))))<<12 + @@ -154194,7 +154225,7 @@ func jsonHexToInt4(tls *libc.TLS, z uintptr) U32 { /* sqlite3.c:193625:12: */ } // Make the JsonNode the return value of the function. -func jsonReturn(tls *libc.TLS, pNode uintptr, pCtx uintptr, aReplace uintptr) { /* sqlite3.c:193641:13: */ +func jsonReturn(tls *libc.TLS, pNode uintptr, pCtx uintptr, aReplace uintptr) { /* sqlite3.c:193698:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -154475,7 +154506,7 @@ __1: // A macro to hint to the compiler that a function should not be // inlined. -func jsonParseAddNodeExpand(tls *libc.TLS, pParse uintptr, eType U32, n U32, zContent uintptr) int32 { /* sqlite3.c:193814:26: */ +func jsonParseAddNodeExpand(tls *libc.TLS, pParse uintptr, eType U32, n U32, zContent uintptr) int32 { /* sqlite3.c:193871:26: */ var nNew U32 var pNew uintptr @@ -154497,7 +154528,7 @@ func jsonParseAddNodeExpand(tls *libc.TLS, pParse uintptr, eType U32, n U32, zCo // Create a new JsonNode instance based on the arguments and append that // instance to the JsonParse. Return the index in pParse->aNode[] of the // new node, or -1 if a memory allocation fails. -func jsonParseAddNode(tls *libc.TLS, pParse uintptr, eType U32, n U32, zContent uintptr) int32 { /* sqlite3.c:193841:12: */ +func jsonParseAddNode(tls *libc.TLS, pParse uintptr, eType U32, n U32, zContent uintptr) int32 { /* sqlite3.c:193898:12: */ var p uintptr if (*JsonParse)(unsafe.Pointer(pParse)).FaNode == uintptr(0) || (*JsonParse)(unsafe.Pointer(pParse)).FnNode >= (*JsonParse)(unsafe.Pointer(pParse)).FnAlloc { return jsonParseAddNodeExpand(tls, pParse, eType, n, zContent) @@ -154512,7 +154543,7 @@ func jsonParseAddNode(tls *libc.TLS, pParse uintptr, eType U32, n U32, zContent } // Return true if z[] begins with 4 (or more) hexadecimal digits -func jsonIs4Hex(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:193863:12: */ +func jsonIs4Hex(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:193920:12: */ var i int32 for i = 0; i < 4; i++ { if !(int32(Xsqlite3CtypeMap[uint8(*(*int8)(unsafe.Pointer(z + uintptr(i))))])&0x08 != 0) { @@ -154528,7 +154559,7 @@ func jsonIs4Hex(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:193863:12: */ // Return negative for a syntax error. Special cases: return -2 if the // first non-whitespace character is '}' and return -3 if the first // non-whitespace character is ']'. -func jsonParseValue(tls *libc.TLS, pParse uintptr, i U32) int32 { /* sqlite3.c:193877:12: */ +func jsonParseValue(tls *libc.TLS, pParse uintptr, i U32) int32 { /* sqlite3.c:193934:12: */ var c int8 var j U32 var iThis int32 @@ -154755,7 +154786,7 @@ func jsonParseValue(tls *libc.TLS, pParse uintptr, i U32) int32 { /* sqlite3.c:1 // pParse. // // pParse is uninitialized when this routine is called. -func jsonParse(tls *libc.TLS, pParse uintptr, pCtx uintptr, zJson uintptr) int32 { /* sqlite3.c:194038:12: */ +func jsonParse(tls *libc.TLS, pParse uintptr, pCtx uintptr, zJson uintptr) int32 { /* sqlite3.c:194095:12: */ var i int32 libc.Xmemset(tls, pParse, 0, uint64(unsafe.Sizeof(JsonParse{}))) if zJson == uintptr(0) { @@ -154791,7 +154822,7 @@ func jsonParse(tls *libc.TLS, pParse uintptr, pCtx uintptr, zJson uintptr) int32 // Mark node i of pParse as being a child of iParent. Call recursively // to fill in all the descendants of node i. -func jsonParseFillInParentage(tls *libc.TLS, pParse uintptr, i U32, iParent U32) { /* sqlite3.c:194071:13: */ +func jsonParseFillInParentage(tls *libc.TLS, pParse uintptr, i U32, iParent U32) { /* sqlite3.c:194128:13: */ var pNode uintptr = (*JsonParse)(unsafe.Pointer(pParse)).FaNode + uintptr(i)*16 var j U32 *(*U32)(unsafe.Pointer((*JsonParse)(unsafe.Pointer(pParse)).FaUp + uintptr(i)*4)) = iParent @@ -154822,7 +154853,7 @@ func jsonParseFillInParentage(tls *libc.TLS, pParse uintptr, i U32, iParent U32) } // Compute the parentage of all nodes in a completed parse. -func jsonParseFindParents(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:194098:12: */ +func jsonParseFindParents(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:194155:12: */ var aUp uintptr aUp = libc.AssignPtrUintptr(pParse+24, Xsqlite3_malloc64(tls, uint64(uint64(unsafe.Sizeof(U32(0)))*uint64((*JsonParse)(unsafe.Pointer(pParse)).FnNode)))) @@ -154842,7 +154873,7 @@ func jsonParseFindParents(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:19 // is no longer valid, parse the JSON again and return the new parse, // and also register the new parse so that it will be available for // future sqlite3_get_auxdata() calls. -func jsonParseCached(tls *libc.TLS, pCtx uintptr, argv uintptr, pErrCtx uintptr) uintptr { /* sqlite3.c:194124:18: */ +func jsonParseCached(tls *libc.TLS, pCtx uintptr, argv uintptr, pErrCtx uintptr) uintptr { /* sqlite3.c:194181:18: */ var zJson uintptr = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv))) var nJson int32 = Xsqlite3_value_bytes(tls, *(*uintptr)(unsafe.Pointer(argv))) var p uintptr @@ -154899,7 +154930,7 @@ func jsonParseCached(tls *libc.TLS, pCtx uintptr, argv uintptr, pErrCtx uintptr) // Compare the OBJECT label at pNode against zKey,nKey. Return true on // a match. -func jsonLabelCompare(tls *libc.TLS, pNode uintptr, zKey uintptr, nKey U32) int32 { /* sqlite3.c:194186:12: */ +func jsonLabelCompare(tls *libc.TLS, pNode uintptr, zKey uintptr, nKey U32) int32 { /* sqlite3.c:194243:12: */ if int32((*JsonNode)(unsafe.Pointer(pNode)).FjnFlags)&JNODE_RAW != 0 { if (*JsonNode)(unsafe.Pointer(pNode)).Fn != nKey { @@ -154922,7 +154953,7 @@ func jsonLabelCompare(tls *libc.TLS, pNode uintptr, zKey uintptr, nKey U32) int3 // If pApnd!=0, then try to append new nodes to complete zPath if it is // possible to do so and if no existing node corresponds to zPath. If // new nodes are appended *pApnd is set to 1. -func jsonLookupStep(tls *libc.TLS, pParse uintptr, iRoot U32, zPath uintptr, pApnd uintptr, pzErr uintptr) uintptr { /* sqlite3.c:194209:17: */ +func jsonLookupStep(tls *libc.TLS, pParse uintptr, iRoot U32, zPath uintptr, pApnd uintptr, pzErr uintptr) uintptr { /* sqlite3.c:194266:17: */ var i U32 var j U32 var nKey U32 @@ -155097,7 +155128,7 @@ func jsonLookupStep(tls *libc.TLS, pParse uintptr, iRoot U32, zPath uintptr, pAp // Append content to pParse that will complete zPath. Return a pointer // to the inserted node, or return NULL if the append fails. -func jsonLookupAppend(tls *libc.TLS, pParse uintptr, zPath uintptr, pApnd uintptr, pzErr uintptr) uintptr { /* sqlite3.c:194361:17: */ +func jsonLookupAppend(tls *libc.TLS, pParse uintptr, zPath uintptr, pApnd uintptr, pzErr uintptr) uintptr { /* sqlite3.c:194418:17: */ *(*int32)(unsafe.Pointer(pApnd)) = 1 if int32(*(*int8)(unsafe.Pointer(zPath))) == 0 { jsonParseAddNode(tls, pParse, uint32(JSON_NULL), uint32(0), uintptr(0)) @@ -155121,7 +155152,7 @@ func jsonLookupAppend(tls *libc.TLS, pParse uintptr, zPath uintptr, pApnd uintpt // Return the text of a syntax error message on a JSON path. Space is // obtained from sqlite3_malloc(). -func jsonPathSyntaxError(tls *libc.TLS, zErr uintptr) uintptr { /* sqlite3.c:194387:13: */ +func jsonPathSyntaxError(tls *libc.TLS, zErr uintptr) uintptr { /* sqlite3.c:194444:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -155136,7 +155167,7 @@ func jsonPathSyntaxError(tls *libc.TLS, zErr uintptr) uintptr { /* sqlite3.c:194 // // If pApnd!=NULL then try to append missing nodes and set *pApnd = 1 if // nodes are appended. -func jsonLookup(tls *libc.TLS, pParse uintptr, zPath uintptr, pApnd uintptr, pCtx uintptr) uintptr { /* sqlite3.c:194401:17: */ +func jsonLookup(tls *libc.TLS, pParse uintptr, zPath uintptr, pApnd uintptr, pCtx uintptr) uintptr { /* sqlite3.c:194458:17: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -155188,7 +155219,7 @@ __5: // Report the wrong number of arguments for json_insert(), json_replace() // or json_set(). -func jsonWrongNumArgs(tls *libc.TLS, pCtx uintptr, zFuncName uintptr) { /* sqlite3.c:194438:13: */ +func jsonWrongNumArgs(tls *libc.TLS, pCtx uintptr, zFuncName uintptr) { /* sqlite3.c:194495:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -155199,7 +155230,7 @@ func jsonWrongNumArgs(tls *libc.TLS, pCtx uintptr, zFuncName uintptr) { /* sqlit } // Mark all NULL entries in the Object passed in as JNODE_REMOVE. -func jsonRemoveAllNulls(tls *libc.TLS, pNode uintptr) { /* sqlite3.c:194451:13: */ +func jsonRemoveAllNulls(tls *libc.TLS, pNode uintptr) { /* sqlite3.c:194508:13: */ var i int32 var n int32 @@ -155230,7 +155261,7 @@ func jsonRemoveAllNulls(tls *libc.TLS, pNode uintptr) { /* sqlite3.c:194451:13: // corresponding to the SQL value input. Mostly this means putting // double-quotes around strings and returning the unquoted string "null" // when given a NULL input. -func jsonQuoteFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:194540:13: */ +func jsonQuoteFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:194597:13: */ bp := tls.Alloc(136) defer tls.Free(136) @@ -155247,7 +155278,7 @@ func jsonQuoteFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sq // Implementation of the json_array(VALUE,...) function. Return a JSON // array that contains all values given in arguments. Or if any argument // is a BLOB, throw an error. -func jsonArrayFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:194559:13: */ +func jsonArrayFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:194616:13: */ bp := tls.Alloc(136) defer tls.Free(136) @@ -155270,7 +155301,7 @@ func jsonArrayFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sq // // Return the number of elements in the top-level JSON array. // Return 0 if the input is not a well-formed JSON array. -func jsonArrayLengthFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:194586:13: */ +func jsonArrayLengthFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:194643:13: */ var p uintptr // The parse var n Sqlite3_int64 = int64(0) var i U32 @@ -155320,7 +155351,7 @@ func jsonArrayLengthFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { // // Abbreviated JSON path expressions are allows if JSON_ABPATH, for // compatibility with PG. -func jsonExtractFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:194646:13: */ +func jsonExtractFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:194703:13: */ bp := tls.Alloc(136) defer tls.Free(136) @@ -155414,7 +155445,7 @@ func jsonExtractFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* } // This is the RFC 7396 MergePatch algorithm. -func jsonMergePatch(tls *libc.TLS, pParse uintptr, iTarget U32, pPatch uintptr) uintptr { /* sqlite3.c:194729:17: */ +func jsonMergePatch(tls *libc.TLS, pParse uintptr, iTarget U32, pPatch uintptr) uintptr { /* sqlite3.c:194786:17: */ var i U32 var j U32 var iRoot U32 @@ -155487,7 +155518,7 @@ func jsonMergePatch(tls *libc.TLS, pParse uintptr, iTarget U32, pPatch uintptr) // Implementation of the json_mergepatch(JSON1,JSON2) function. Return a JSON // object that is the result of running the RFC 7396 MergePatch() algorithm // on the two arguments. -func jsonPatchFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:194811:13: */ +func jsonPatchFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:194868:13: */ bp := tls.Alloc(96) defer tls.Free(96) @@ -155519,7 +155550,7 @@ func jsonPatchFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sq // Implementation of the json_object(NAME,VALUE,...) function. Return a JSON // object that contains all name/value given in arguments. Or if any name // is not a string or if any value is a BLOB, throw an error. -func jsonObjectFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:194843:13: */ +func jsonObjectFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:194900:13: */ bp := tls.Alloc(136) defer tls.Free(136) @@ -155558,7 +155589,7 @@ func jsonObjectFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* s // // Remove the named elements from JSON and return the result. malformed // JSON or PATH arguments result in an error. -func jsonRemoveFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:194885:13: */ +func jsonRemoveFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:194942:13: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -155627,7 +155658,7 @@ remove_done: // // Replace the value at PATH with VALUE. If PATH does not already exist, // this routine is a no-op. If JSON or PATH is malformed, throw an error. -func jsonReplaceFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:194918:13: */ +func jsonReplaceFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:194975:13: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -155710,7 +155741,7 @@ replace_err: // // Create PATH and initialize it to VALUE. If PATH already exists, this // routine is a no-op. If JSON or PATH is malformed, throw an error. -func jsonSetFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:194970:13: */ +func jsonSetFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:195027:13: */ bp := tls.Alloc(52) defer tls.Free(52) @@ -155808,7 +155839,7 @@ jsonSetDone: // // Return the top-level "type" of a JSON string. json_type() raises an // error if either the JSON or PATH inputs are not well-formed. -func jsonTypeFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:195023:13: */ +func jsonTypeFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:195080:13: */ var p uintptr // The parse var zPath uintptr var pNode uintptr @@ -155832,7 +155863,7 @@ func jsonTypeFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sql // // Return 1 if JSON is a well-formed JSON string according to RFC-7159. // Return 0 otherwise. -func jsonValidFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:195051:13: */ +func jsonValidFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:195108:13: */ var p uintptr // The parse _ = argc p = jsonParseCached(tls, ctx, argv, uintptr(0)) @@ -155846,7 +155877,7 @@ func jsonValidFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sq // json_group_array(VALUE) // // Return a JSON array composed of all values in the aggregate. -func jsonArrayStep(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:195071:13: */ +func jsonArrayStep(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:195128:13: */ var pStr uintptr _ = argc pStr = Xsqlite3_aggregate_context(tls, ctx, int32(unsafe.Sizeof(JsonString{}))) @@ -155862,7 +155893,7 @@ func jsonArrayStep(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sq } } -func jsonArrayCompute(tls *libc.TLS, ctx uintptr, isFinal int32) { /* sqlite3.c:195090:13: */ +func jsonArrayCompute(tls *libc.TLS, ctx uintptr, isFinal int32) { /* sqlite3.c:195147:13: */ var pStr uintptr pStr = Xsqlite3_aggregate_context(tls, ctx, 0) if pStr != 0 { @@ -155892,11 +155923,11 @@ func jsonArrayCompute(tls *libc.TLS, ctx uintptr, isFinal int32) { /* sqlite3.c: Xsqlite3_result_subtype(tls, ctx, uint32(JSON_SUBTYPE)) } -func jsonArrayValue(tls *libc.TLS, ctx uintptr) { /* sqlite3.c:195112:13: */ +func jsonArrayValue(tls *libc.TLS, ctx uintptr) { /* sqlite3.c:195169:13: */ jsonArrayCompute(tls, ctx, 0) } -func jsonArrayFinal(tls *libc.TLS, ctx uintptr) { /* sqlite3.c:195115:13: */ +func jsonArrayFinal(tls *libc.TLS, ctx uintptr) { /* sqlite3.c:195172:13: */ jsonArrayCompute(tls, ctx, 1) } @@ -155904,7 +155935,7 @@ func jsonArrayFinal(tls *libc.TLS, ctx uintptr) { /* sqlite3.c:195115:13: */ // It works by removing the first element of the group by searching forward // to the first comma (",") that is not within a string and deleting all // text through that comma. -func jsonGroupInverse(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:195126:13: */ +func jsonGroupInverse(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:195183:13: */ var i uint32 var inStr int32 = 0 var nNest int32 = 0 @@ -155946,7 +155977,7 @@ func jsonGroupInverse(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* // json_group_obj(NAME,VALUE) // // Return a JSON object composed of all names and values in the aggregate. -func jsonObjectStep(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:195174:13: */ +func jsonObjectStep(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:195231:13: */ var pStr uintptr var z uintptr var n U32 @@ -155968,7 +155999,7 @@ func jsonObjectStep(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* s } } -func jsonObjectCompute(tls *libc.TLS, ctx uintptr, isFinal int32) { /* sqlite3.c:195199:13: */ +func jsonObjectCompute(tls *libc.TLS, ctx uintptr, isFinal int32) { /* sqlite3.c:195256:13: */ var pStr uintptr pStr = Xsqlite3_aggregate_context(tls, ctx, 0) if pStr != 0 { @@ -155997,11 +156028,11 @@ func jsonObjectCompute(tls *libc.TLS, ctx uintptr, isFinal int32) { /* sqlite3.c Xsqlite3_result_subtype(tls, ctx, uint32(JSON_SUBTYPE)) } -func jsonObjectValue(tls *libc.TLS, ctx uintptr) { /* sqlite3.c:195220:13: */ +func jsonObjectValue(tls *libc.TLS, ctx uintptr) { /* sqlite3.c:195277:13: */ jsonObjectCompute(tls, ctx, 0) } -func jsonObjectFinal(tls *libc.TLS, ctx uintptr) { /* sqlite3.c:195223:13: */ +func jsonObjectFinal(tls *libc.TLS, ctx uintptr) { /* sqlite3.c:195280:13: */ jsonObjectCompute(tls, ctx, 1) } @@ -156021,16 +156052,16 @@ type JsonEachCursor1 = struct { FzJson uintptr FzRoot uintptr FsParse JsonParse -} /* sqlite3.c:195233:9 */ +} /* sqlite3.c:195290:9 */ // *************************************************************************** // // The json_each virtual table // -type JsonEachCursor = JsonEachCursor1 /* sqlite3.c:195233:31 */ +type JsonEachCursor = JsonEachCursor1 /* sqlite3.c:195290:31 */ // Constructor for the json_each virtual table -func jsonEachConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 { /* sqlite3.c:195248:12: */ +func jsonEachConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 { /* sqlite3.c:195305:12: */ var pNew uintptr var rc int32 @@ -156058,13 +156089,13 @@ func jsonEachConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv u } // destructor for json_each virtual table -func jsonEachDisconnect(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:195290:12: */ +func jsonEachDisconnect(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:195347:12: */ Xsqlite3_free(tls, pVtab) return SQLITE_OK } // constructor for a JsonEachCursor object for json_each(). -func jsonEachOpenEach(tls *libc.TLS, p uintptr, ppCursor uintptr) int32 { /* sqlite3.c:195296:12: */ +func jsonEachOpenEach(tls *libc.TLS, p uintptr, ppCursor uintptr) int32 { /* sqlite3.c:195353:12: */ var pCur uintptr _ = p @@ -156078,7 +156109,7 @@ func jsonEachOpenEach(tls *libc.TLS, p uintptr, ppCursor uintptr) int32 { /* sql } // constructor for a JsonEachCursor object for json_tree(). -func jsonEachOpenTree(tls *libc.TLS, p uintptr, ppCursor uintptr) int32 { /* sqlite3.c:195308:12: */ +func jsonEachOpenTree(tls *libc.TLS, p uintptr, ppCursor uintptr) int32 { /* sqlite3.c:195365:12: */ var rc int32 = jsonEachOpenEach(tls, p, ppCursor) if rc == SQLITE_OK { var pCur uintptr = *(*uintptr)(unsafe.Pointer(ppCursor)) @@ -156089,7 +156120,7 @@ func jsonEachOpenTree(tls *libc.TLS, p uintptr, ppCursor uintptr) int32 { /* sql // Reset a JsonEachCursor back to its original state. Free any memory // held. -func jsonEachCursorReset(tls *libc.TLS, p uintptr) { /* sqlite3.c:195319:13: */ +func jsonEachCursorReset(tls *libc.TLS, p uintptr) { /* sqlite3.c:195376:13: */ Xsqlite3_free(tls, (*JsonEachCursor)(unsafe.Pointer(p)).FzJson) Xsqlite3_free(tls, (*JsonEachCursor)(unsafe.Pointer(p)).FzRoot) jsonParseReset(tls, p+48) @@ -156102,7 +156133,7 @@ func jsonEachCursorReset(tls *libc.TLS, p uintptr) { /* sqlite3.c:195319:13: */ } // Destructor for a jsonEachCursor object -func jsonEachClose(tls *libc.TLS, cur uintptr) int32 { /* sqlite3.c:195332:12: */ +func jsonEachClose(tls *libc.TLS, cur uintptr) int32 { /* sqlite3.c:195389:12: */ var p uintptr = cur jsonEachCursorReset(tls, p) Xsqlite3_free(tls, cur) @@ -156111,13 +156142,13 @@ func jsonEachClose(tls *libc.TLS, cur uintptr) int32 { /* sqlite3.c:195332:12: * // Return TRUE if the jsonEachCursor object has been advanced off the end // of the JSON object -func jsonEachEof(tls *libc.TLS, cur uintptr) int32 { /* sqlite3.c:195341:12: */ +func jsonEachEof(tls *libc.TLS, cur uintptr) int32 { /* sqlite3.c:195398:12: */ var p uintptr = cur return libc.Bool32((*JsonEachCursor)(unsafe.Pointer(p)).Fi >= (*JsonEachCursor)(unsafe.Pointer(p)).FiEnd) } // Advance the cursor to the next element for json_tree() -func jsonEachNext(tls *libc.TLS, cur uintptr) int32 { /* sqlite3.c:195347:12: */ +func jsonEachNext(tls *libc.TLS, cur uintptr) int32 { /* sqlite3.c:195404:12: */ var p uintptr = cur if (*JsonEachCursor)(unsafe.Pointer(p)).FbRecursive != 0 { if int32((*JsonNode)(unsafe.Pointer((*JsonEachCursor)(unsafe.Pointer(p)).FsParse.FaNode+uintptr((*JsonEachCursor)(unsafe.Pointer(p)).Fi)*16)).FjnFlags)&JNODE_LABEL != 0 { @@ -156168,7 +156199,7 @@ func jsonEachNext(tls *libc.TLS, cur uintptr) int32 { /* sqlite3.c:195347:12: */ } // Append the name of the path for element i to pStr -func jsonEachComputePath(tls *libc.TLS, p uintptr, pStr uintptr, i U32) { /* sqlite3.c:195391:13: */ +func jsonEachComputePath(tls *libc.TLS, p uintptr, pStr uintptr, i U32) { /* sqlite3.c:195448:13: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -156197,7 +156228,7 @@ func jsonEachComputePath(tls *libc.TLS, p uintptr, pStr uintptr, i U32) { /* sql } // Return the value of a column -func jsonEachColumn(tls *libc.TLS, cur uintptr, ctx uintptr, i int32) int32 { /* sqlite3.c:195421:12: */ +func jsonEachColumn(tls *libc.TLS, cur uintptr, ctx uintptr, i int32) int32 { /* sqlite3.c:195478:12: */ bp := tls.Alloc(296) defer tls.Free(296) @@ -156331,7 +156362,7 @@ func jsonEachColumn(tls *libc.TLS, cur uintptr, ctx uintptr, i int32) int32 { /* } // Return the current rowid value -func jsonEachRowid(tls *libc.TLS, cur uintptr, pRowid uintptr) int32 { /* sqlite3.c:195522:12: */ +func jsonEachRowid(tls *libc.TLS, cur uintptr, pRowid uintptr) int32 { /* sqlite3.c:195579:12: */ var p uintptr = cur *(*Sqlite_int64)(unsafe.Pointer(pRowid)) = Sqlite_int64((*JsonEachCursor)(unsafe.Pointer(p)).FiRowid) return SQLITE_OK @@ -156341,7 +156372,7 @@ func jsonEachRowid(tls *libc.TLS, cur uintptr, pRowid uintptr) int32 { /* sqlite // column. Without such a constraint, the table cannot operate. idxNum is // 1 if the constraint is found, 3 if the constraint and zRoot are found, // and 0 otherwise. -func jsonEachBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 { /* sqlite3.c:195533:12: */ +func jsonEachBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 { /* sqlite3.c:195590:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -156416,7 +156447,7 @@ __3: } // Start a search on a new JSON string -func jsonEachFilter(tls *libc.TLS, cur uintptr, idxNum int32, idxStr uintptr, argc int32, argv uintptr) int32 { /* sqlite3.c:195592:12: */ +func jsonEachFilter(tls *libc.TLS, cur uintptr, idxNum int32, idxStr uintptr, argc int32, argv uintptr) int32 { /* sqlite3.c:195649:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -156521,7 +156552,7 @@ var jsonEachModule = Sqlite3_module{ // xCreate FxEof: 0, // xEof - check for end of scan FxColumn: 0, // xColumn - read data FxRowid: 0, // xShadowName -} /* sqlite3.c:195673:23 */ +} /* sqlite3.c:195730:23 */ // The methods of the json_tree virtual table. var jsonTreeModule = Sqlite3_module{ // xCreate @@ -156535,10 +156566,10 @@ var jsonTreeModule = Sqlite3_module{ // xCreate FxEof: 0, // xEof - check for end of scan FxColumn: 0, // xColumn - read data FxRowid: 0, // xShadowName -} /* sqlite3.c:195701:23 */ +} /* sqlite3.c:195758:23 */ // Register JSON functions. -func Xsqlite3RegisterJsonFunctions(tls *libc.TLS) { /* sqlite3.c:195733:21: */ +func Xsqlite3RegisterJsonFunctions(tls *libc.TLS) { /* sqlite3.c:195790:21: */ Xsqlite3InsertBuiltinFuncs(tls, uintptr(unsafe.Pointer(&aJsonFunc)), int32(uint64(unsafe.Sizeof(aJsonFunc))/uint64(unsafe.Sizeof(FuncDef{})))) } @@ -156561,10 +156592,10 @@ var aJsonFunc = [19]FuncDef{ {FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_INNOCUOUS | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24794}, {FnArg: int8(1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_INNOCUOUS | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24804}, {FnArg: int8(1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_UTF8 | 0*SQLITE_FUNC_NEEDCOLL | SQLITE_SUBTYPE | SQLITE_UTF8 | SQLITE_DETERMINISTIC | SQLITE_INNOCUOUS), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 24815}, - {FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_UTF8 | 0*SQLITE_FUNC_NEEDCOLL | SQLITE_SUBTYPE | SQLITE_UTF8 | SQLITE_DETERMINISTIC | SQLITE_INNOCUOUS), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 24832}} /* sqlite3.c:195735:18 */ + {FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_UTF8 | 0*SQLITE_FUNC_NEEDCOLL | SQLITE_SUBTYPE | SQLITE_UTF8 | SQLITE_DETERMINISTIC | SQLITE_INNOCUOUS), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 24832}} /* sqlite3.c:195792:18 */ // Register the JSON table-valued functions -func Xsqlite3JsonTableFunctions(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:195772:20: */ +func Xsqlite3JsonTableFunctions(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:195829:20: */ var rc int32 = SQLITE_OK var i uint32 for i = uint32(0); uint64(i) < uint64(unsafe.Sizeof(aMod))/uint64(unsafe.Sizeof(struct { @@ -156582,7 +156613,7 @@ var aMod = [2]struct { }{ {FzName: ts + 24850 /* "json_each" */, FpModule: 0}, {FzName: ts + 24860 /* "json_tree" */, FpModule: 0}, -} /* sqlite3.c:195777:5 */ // In the SQLite core +} /* sqlite3.c:195834:5 */ // In the SQLite core // If building separately, we will need some setup that is normally // found in sqliteInt.h @@ -156629,7 +156660,7 @@ type Rtree1 = struct { FpDeleteParent uintptr FpWriteAux uintptr FaHash [97]uintptr -} /* sqlite3.c:195900:9 */ +} /* sqlite3.c:195957:9 */ // In the SQLite core @@ -156643,7 +156674,7 @@ type Rtree1 = struct { // The following macro is used to suppress compiler warnings. -type Rtree = Rtree1 /* sqlite3.c:195900:22 */ +type Rtree = Rtree1 /* sqlite3.c:195957:22 */ type RtreeCursor1 = struct { Fbase Sqlite3_vtab_cursor FatEOF U8 @@ -156664,9 +156695,9 @@ type RtreeCursor1 = struct { FaNode [5]uintptr FanQueue [41]U32 F__ccgo_pad4 [4]byte -} /* sqlite3.c:195901:9 */ +} /* sqlite3.c:195958:9 */ -type RtreeCursor = RtreeCursor1 /* sqlite3.c:195901:28 */ +type RtreeCursor = RtreeCursor1 /* sqlite3.c:195958:28 */ type RtreeNode1 = struct { FpParent uintptr FiNode I64 @@ -156674,23 +156705,23 @@ type RtreeNode1 = struct { FisDirty int32 FzData uintptr FpNext uintptr -} /* sqlite3.c:195900:9 */ +} /* sqlite3.c:195957:9 */ -type RtreeNode = RtreeNode1 /* sqlite3.c:195902:26 */ +type RtreeNode = RtreeNode1 /* sqlite3.c:195959:26 */ type RtreeCell1 = struct { FiRowid I64 FaCoord [10]RtreeCoord -} /* sqlite3.c:195903:9 */ +} /* sqlite3.c:195960:9 */ -type RtreeCell = RtreeCell1 /* sqlite3.c:195903:26 */ +type RtreeCell = RtreeCell1 /* sqlite3.c:195960:26 */ type RtreeConstraint1 = struct { FiCoord int32 Fop int32 Fu struct{ FrValue RtreeDValue } FpInfo uintptr -} /* sqlite3.c:195901:9 */ +} /* sqlite3.c:195958:9 */ -type RtreeConstraint = RtreeConstraint1 /* sqlite3.c:195904:32 */ +type RtreeConstraint = RtreeConstraint1 /* sqlite3.c:195961:32 */ type RtreeMatchArg1 = struct { FiSize U32 F__ccgo_pad1 [4]byte @@ -156699,20 +156730,20 @@ type RtreeMatchArg1 = struct { F__ccgo_pad2 [4]byte FapSqlParam uintptr FaParam [1]RtreeDValue -} /* sqlite3.c:195905:9 */ +} /* sqlite3.c:195962:9 */ -type RtreeMatchArg = RtreeMatchArg1 /* sqlite3.c:195905:30 */ +type RtreeMatchArg = RtreeMatchArg1 /* sqlite3.c:195962:30 */ type RtreeGeomCallback1 = struct { FxGeom uintptr FxQueryFunc uintptr FxDestructor uintptr FpContext uintptr -} /* sqlite3.c:195905:9 */ +} /* sqlite3.c:195962:9 */ -type RtreeGeomCallback = RtreeGeomCallback1 /* sqlite3.c:195906:34 */ -type RtreeCoord1 = struct{ Ff RtreeValue } /* sqlite3.c:195903:9 */ +type RtreeGeomCallback = RtreeGeomCallback1 /* sqlite3.c:195963:34 */ +type RtreeCoord1 = struct{ Ff RtreeValue } /* sqlite3.c:195960:9 */ -type RtreeCoord = RtreeCoord1 /* sqlite3.c:195907:26 */ +type RtreeCoord = RtreeCoord1 /* sqlite3.c:195964:26 */ type RtreeSearchPoint1 = struct { FrScore RtreeDValue Fid Sqlite3_int64 @@ -156720,17 +156751,17 @@ type RtreeSearchPoint1 = struct { FeWithin U8 FiCell U8 F__ccgo_pad1 [5]byte -} /* sqlite3.c:195901:9 */ +} /* sqlite3.c:195958:9 */ -type RtreeSearchPoint = RtreeSearchPoint1 /* sqlite3.c:195908:33 */ +type RtreeSearchPoint = RtreeSearchPoint1 /* sqlite3.c:195965:33 */ // Possible values for Rtree.eCoordType: // 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 RtreeDValue = float64 /* sqlite3.c:196005:18 */ // High accuracy coordinate -type RtreeValue = float32 /* sqlite3.c:196006:17 */ +type RtreeDValue = float64 /* sqlite3.c:196062:18 */ // High accuracy coordinate +type RtreeValue = float32 /* sqlite3.c:196063:17 */ // What version of GCC is being used. 0 means GCC is not being used . // Note that the GCC_VERSION macro will also be set correctly when using @@ -156756,16 +156787,16 @@ type RtreeValue = float32 /* sqlite3.c:196006:17 */ // Functions to deserialize a 16 bit integer, 32 bit real number and // 64 bit integer. The deserialized value is returned. -func readInt16(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:196290:12: */ +func readInt16(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:196347:12: */ return int32(*(*U8)(unsafe.Pointer(p)))<<8 + int32(*(*U8)(unsafe.Pointer(p + 1))) } -func readCoord(tls *libc.TLS, p uintptr, pCoord uintptr) { /* sqlite3.c:196293:13: */ +func readCoord(tls *libc.TLS, p uintptr, pCoord uintptr) { /* sqlite3.c:196350:13: */ // p is always 4-byte aligned *(*U32)(unsafe.Pointer(pCoord)) = libc.X__builtin_bswap32(tls, *(*U32)(unsafe.Pointer(p))) } -func readInt64(tls *libc.TLS, p uintptr) I64 { /* sqlite3.c:196310:12: */ +func readInt64(tls *libc.TLS, p uintptr) I64 { /* sqlite3.c:196367:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -156778,12 +156809,12 @@ func readInt64(tls *libc.TLS, p uintptr) I64 { /* sqlite3.c:196310:12: */ // Functions to serialize a 16 bit integer, 32 bit real number and // 64 bit integer. The value returned is the number of bytes written // to the argument buffer (always 2, 4 and 8 respectively). -func writeInt16(tls *libc.TLS, p uintptr, i int32) { /* sqlite3.c:196342:13: */ +func writeInt16(tls *libc.TLS, p uintptr, i int32) { /* sqlite3.c:196399:13: */ *(*U8)(unsafe.Pointer(p)) = U8(i >> 8 & 0xFF) *(*U8)(unsafe.Pointer(p + 1)) = U8(i >> 0 & 0xFF) } -func writeCoord(tls *libc.TLS, p uintptr, pCoord uintptr) int32 { /* sqlite3.c:196346:12: */ +func writeCoord(tls *libc.TLS, p uintptr, pCoord uintptr) int32 { /* sqlite3.c:196403:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -156796,7 +156827,7 @@ func writeCoord(tls *libc.TLS, p uintptr, pCoord uintptr) int32 { /* sqlite3.c:1 return 4 } -func writeInt64(tls *libc.TLS, p uintptr, i I64) int32 { /* sqlite3.c:196369:12: */ +func writeInt64(tls *libc.TLS, p uintptr, i I64) int32 { /* sqlite3.c:196426:12: */ bp := tls.Alloc(8) defer tls.Free(8) *(*I64)(unsafe.Pointer(bp)) = i @@ -156807,7 +156838,7 @@ func writeInt64(tls *libc.TLS, p uintptr, i I64) int32 { /* sqlite3.c:196369:12: } // Increment the reference count of node p. -func nodeReference(tls *libc.TLS, p uintptr) { /* sqlite3.c:196394:13: */ +func nodeReference(tls *libc.TLS, p uintptr) { /* sqlite3.c:196451:13: */ if p != 0 { (*RtreeNode)(unsafe.Pointer(p)).FnRef++ @@ -156815,20 +156846,20 @@ func nodeReference(tls *libc.TLS, p uintptr) { /* sqlite3.c:196394:13: */ } // Clear the content of node p (set all bytes to 0x00). -func nodeZero(tls *libc.TLS, pRtree uintptr, p uintptr) { /* sqlite3.c:196404:13: */ +func nodeZero(tls *libc.TLS, pRtree uintptr, p uintptr) { /* sqlite3.c:196461:13: */ libc.Xmemset(tls, (*RtreeNode)(unsafe.Pointer(p)).FzData+2, 0, uint64((*Rtree)(unsafe.Pointer(pRtree)).FiNodeSize-2)) (*RtreeNode)(unsafe.Pointer(p)).FisDirty = 1 } // Given a node number iNode, return the corresponding key to use // in the Rtree.aHash table. -func nodeHash(tls *libc.TLS, iNode I64) uint32 { /* sqlite3.c:196413:21: */ +func nodeHash(tls *libc.TLS, iNode I64) uint32 { /* sqlite3.c:196470:21: */ return uint32(iNode) % uint32(HASHSIZE) } // Search the node hash table for node iNode. If found, return a pointer // to it. Otherwise, return 0. -func nodeHashLookup(tls *libc.TLS, pRtree uintptr, iNode I64) uintptr { /* sqlite3.c:196421:18: */ +func nodeHashLookup(tls *libc.TLS, pRtree uintptr, iNode I64) uintptr { /* sqlite3.c:196478:18: */ var p uintptr for p = *(*uintptr)(unsafe.Pointer(pRtree + 192 + uintptr(nodeHash(tls, iNode))*8)); p != 0 && (*RtreeNode)(unsafe.Pointer(p)).FiNode != iNode; p = (*RtreeNode)(unsafe.Pointer(p)).FpNext { } @@ -156836,7 +156867,7 @@ func nodeHashLookup(tls *libc.TLS, pRtree uintptr, iNode I64) uintptr { /* sqlit } // Add node pNode to the node hash table. -func nodeHashInsert(tls *libc.TLS, pRtree uintptr, pNode uintptr) { /* sqlite3.c:196430:13: */ +func nodeHashInsert(tls *libc.TLS, pRtree uintptr, pNode uintptr) { /* sqlite3.c:196487:13: */ var iHash int32 iHash = int32(nodeHash(tls, (*RtreeNode)(unsafe.Pointer(pNode)).FiNode)) @@ -156845,7 +156876,7 @@ func nodeHashInsert(tls *libc.TLS, pRtree uintptr, pNode uintptr) { /* sqlite3.c } // Remove node pNode from the node hash table. -func nodeHashDelete(tls *libc.TLS, pRtree uintptr, pNode uintptr) { /* sqlite3.c:196441:13: */ +func nodeHashDelete(tls *libc.TLS, pRtree uintptr, pNode uintptr) { /* sqlite3.c:196498:13: */ var pp uintptr if (*RtreeNode)(unsafe.Pointer(pNode)).FiNode != int64(0) { pp = pRtree + 192 + uintptr(nodeHash(tls, (*RtreeNode)(unsafe.Pointer(pNode)).FiNode))*8 @@ -156860,7 +156891,7 @@ func nodeHashDelete(tls *libc.TLS, pRtree uintptr, pNode uintptr) { /* sqlite3.c // indicating that node has not yet been assigned a node number. It is // assigned a node number when nodeWrite() is called to write the // node contents out to the database. -func nodeNew(tls *libc.TLS, pRtree uintptr, pParent uintptr) uintptr { /* sqlite3.c:196457:18: */ +func nodeNew(tls *libc.TLS, pRtree uintptr, pParent uintptr) uintptr { /* sqlite3.c:196514:18: */ var pNode uintptr pNode = Xsqlite3_malloc64(tls, uint64(uint64(unsafe.Sizeof(RtreeNode{}))+uint64((*Rtree)(unsafe.Pointer(pRtree)).FiNodeSize))) if pNode != 0 { @@ -156876,7 +156907,7 @@ func nodeNew(tls *libc.TLS, pRtree uintptr, pParent uintptr) uintptr { /* sqlite } // Clear the Rtree.pNodeBlob object -func nodeBlobReset(tls *libc.TLS, pRtree uintptr) { /* sqlite3.c:196475:13: */ +func nodeBlobReset(tls *libc.TLS, pRtree uintptr) { /* sqlite3.c:196532:13: */ if (*Rtree)(unsafe.Pointer(pRtree)).FpNodeBlob != 0 && int32((*Rtree)(unsafe.Pointer(pRtree)).FinWrTrans) == 0 && (*Rtree)(unsafe.Pointer(pRtree)).FnCursor == U32(0) { var pBlob uintptr = (*Rtree)(unsafe.Pointer(pRtree)).FpNodeBlob (*Rtree)(unsafe.Pointer(pRtree)).FpNodeBlob = uintptr(0) @@ -156885,7 +156916,7 @@ func nodeBlobReset(tls *libc.TLS, pRtree uintptr) { /* sqlite3.c:196475:13: */ } // Obtain a reference to an r-tree node. -func nodeAcquire(tls *libc.TLS, pRtree uintptr, iNode I64, pParent uintptr, ppNode uintptr) int32 { /* sqlite3.c:196486:12: */ +func nodeAcquire(tls *libc.TLS, pRtree uintptr, iNode I64, pParent uintptr, ppNode uintptr) int32 { /* sqlite3.c:196543:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -156995,7 +157026,7 @@ func nodeAcquire(tls *libc.TLS, pRtree uintptr, iNode I64, pParent uintptr, ppNo } // Overwrite cell iCell of node pNode with the contents of pCell. -func nodeOverwriteCell(tls *libc.TLS, pRtree uintptr, pNode uintptr, pCell uintptr, iCell int32) { /* sqlite3.c:196599:13: */ +func nodeOverwriteCell(tls *libc.TLS, pRtree uintptr, pNode uintptr, pCell uintptr, iCell int32) { /* sqlite3.c:196656:13: */ var ii int32 var p uintptr = (*RtreeNode)(unsafe.Pointer(pNode)).FzData + uintptr(4+int32((*Rtree)(unsafe.Pointer(pRtree)).FnBytesPerCell)*iCell) p += uintptr(writeInt64(tls, p, (*RtreeCell)(unsafe.Pointer(pCell)).FiRowid)) @@ -157006,7 +157037,7 @@ func nodeOverwriteCell(tls *libc.TLS, pRtree uintptr, pNode uintptr, pCell uintp } // Remove the cell with index iCell from node pNode. -func nodeDeleteCell(tls *libc.TLS, pRtree uintptr, pNode uintptr, iCell int32) { /* sqlite3.c:196617:13: */ +func nodeDeleteCell(tls *libc.TLS, pRtree uintptr, pNode uintptr, iCell int32) { /* sqlite3.c:196674:13: */ var pDst uintptr = (*RtreeNode)(unsafe.Pointer(pNode)).FzData + uintptr(4+int32((*Rtree)(unsafe.Pointer(pRtree)).FnBytesPerCell)*iCell) var pSrc uintptr = pDst + uintptr((*Rtree)(unsafe.Pointer(pRtree)).FnBytesPerCell) var nByte int32 = (readInt16(tls, (*RtreeNode)(unsafe.Pointer(pNode)).FzData+2) - iCell - 1) * int32((*Rtree)(unsafe.Pointer(pRtree)).FnBytesPerCell) @@ -157019,7 +157050,7 @@ func nodeDeleteCell(tls *libc.TLS, pRtree uintptr, pNode uintptr, iCell int32) { // is successful, return SQLITE_OK. // // If there is not enough free space in pNode, return SQLITE_FULL. -func nodeInsertCell(tls *libc.TLS, pRtree uintptr, pNode uintptr, pCell uintptr) int32 { /* sqlite3.c:196632:12: */ +func nodeInsertCell(tls *libc.TLS, pRtree uintptr, pNode uintptr, pCell uintptr) int32 { /* sqlite3.c:196689:12: */ var nCell int32 // Current number of cells in pNode var nMaxCell int32 // Maximum number of cells for pNode @@ -157036,7 +157067,7 @@ func nodeInsertCell(tls *libc.TLS, pRtree uintptr, pNode uintptr, pCell uintptr) } // If the node is dirty, write it out to the database. -func nodeWrite(tls *libc.TLS, pRtree uintptr, pNode uintptr) int32 { /* sqlite3.c:196656:12: */ +func nodeWrite(tls *libc.TLS, pRtree uintptr, pNode uintptr) int32 { /* sqlite3.c:196713:12: */ var rc int32 = SQLITE_OK if (*RtreeNode)(unsafe.Pointer(pNode)).FisDirty != 0 { var p uintptr = (*Rtree)(unsafe.Pointer(pRtree)).FpWriteNode @@ -157060,7 +157091,7 @@ func nodeWrite(tls *libc.TLS, pRtree uintptr, pNode uintptr) int32 { /* sqlite3. // Release a reference to a node. If the node is dirty and the reference // count drops to zero, the node data is written to the database. -func nodeRelease(tls *libc.TLS, pRtree uintptr, pNode uintptr) int32 { /* sqlite3.c:196682:12: */ +func nodeRelease(tls *libc.TLS, pRtree uintptr, pNode uintptr) int32 { /* sqlite3.c:196739:12: */ var rc int32 = SQLITE_OK if pNode != 0 { @@ -157086,19 +157117,19 @@ func nodeRelease(tls *libc.TLS, pRtree uintptr, pNode uintptr) int32 { /* sqlite // Return the 64-bit integer value associated with cell iCell of // node pNode. If pNode is a leaf node, this is a rowid. If it is // an internal node, then the 64-bit integer is a child page number. -func nodeGetRowid(tls *libc.TLS, pRtree uintptr, pNode uintptr, iCell int32) I64 { /* sqlite3.c:196711:12: */ +func nodeGetRowid(tls *libc.TLS, pRtree uintptr, pNode uintptr, iCell int32) I64 { /* sqlite3.c:196768:12: */ return readInt64(tls, (*RtreeNode)(unsafe.Pointer(pNode)).FzData+uintptr(4+int32((*Rtree)(unsafe.Pointer(pRtree)).FnBytesPerCell)*iCell)) } // Return coordinate iCoord from cell iCell in node pNode. -func nodeGetCoord(tls *libc.TLS, pRtree uintptr, pNode uintptr, iCell int32, iCoord int32, pCoord uintptr) { /* sqlite3.c:196723:13: */ +func nodeGetCoord(tls *libc.TLS, pRtree uintptr, pNode uintptr, iCell int32, iCoord int32, pCoord uintptr) { /* sqlite3.c:196780:13: */ readCoord(tls, (*RtreeNode)(unsafe.Pointer(pNode)).FzData+uintptr(12+int32((*Rtree)(unsafe.Pointer(pRtree)).FnBytesPerCell)*iCell+4*iCoord), pCoord) } // Deserialize cell iCell of node pNode. Populate the structure pointed // to by pCell with the results. -func nodeGetCell(tls *libc.TLS, pRtree uintptr, pNode uintptr, iCell int32, pCell uintptr) { /* sqlite3.c:196737:13: */ +func nodeGetCell(tls *libc.TLS, pRtree uintptr, pNode uintptr, iCell int32, pCell uintptr) { /* sqlite3.c:196794:13: */ var pData uintptr var pCoord uintptr var ii int32 = 0 @@ -157114,23 +157145,23 @@ func nodeGetCell(tls *libc.TLS, pRtree uintptr, pNode uintptr, iCell int32, pCel } // Rtree virtual table module xCreate method. -func rtreeCreate(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 { /* sqlite3.c:196768:12: */ +func rtreeCreate(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 { /* sqlite3.c:196825:12: */ return rtreeInit(tls, db, pAux, argc, argv, ppVtab, pzErr, 1) } // Rtree virtual table module xConnect method. -func rtreeConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 { /* sqlite3.c:196781:12: */ +func rtreeConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 { /* sqlite3.c:196838:12: */ return rtreeInit(tls, db, pAux, argc, argv, ppVtab, pzErr, 0) } // Increment the r-tree reference count. -func rtreeReference(tls *libc.TLS, pRtree uintptr) { /* sqlite3.c:196794:13: */ +func rtreeReference(tls *libc.TLS, pRtree uintptr) { /* sqlite3.c:196851:13: */ (*Rtree)(unsafe.Pointer(pRtree)).FnBusy++ } // Decrement the r-tree reference count. When the reference count reaches // zero the structure is deleted. -func rtreeRelease(tls *libc.TLS, pRtree uintptr) { /* sqlite3.c:196802:13: */ +func rtreeRelease(tls *libc.TLS, pRtree uintptr) { /* sqlite3.c:196859:13: */ (*Rtree)(unsafe.Pointer(pRtree)).FnBusy-- if (*Rtree)(unsafe.Pointer(pRtree)).FnBusy == U32(0) { (*Rtree)(unsafe.Pointer(pRtree)).FinWrTrans = U8(0) @@ -157152,13 +157183,13 @@ func rtreeRelease(tls *libc.TLS, pRtree uintptr) { /* sqlite3.c:196802:13: */ } // Rtree virtual table module xDisconnect method. -func rtreeDisconnect(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:196826:12: */ +func rtreeDisconnect(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:196883:12: */ rtreeRelease(tls, pVtab) return SQLITE_OK } // Rtree virtual table module xDestroy method. -func rtreeDestroy(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:196834:12: */ +func rtreeDestroy(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:196891:12: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -157185,7 +157216,7 @@ func rtreeDestroy(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:196834:12: } // Rtree virtual table module xOpen method. -func rtreeOpen(tls *libc.TLS, pVTab uintptr, ppCursor uintptr) int32 { /* sqlite3.c:196862:12: */ +func rtreeOpen(tls *libc.TLS, pVTab uintptr, ppCursor uintptr) int32 { /* sqlite3.c:196919:12: */ var rc int32 = SQLITE_NOMEM var pRtree uintptr = pVTab var pCsr uintptr @@ -157203,7 +157234,7 @@ func rtreeOpen(tls *libc.TLS, pVTab uintptr, ppCursor uintptr) int32 { /* sqlite } // Reset a cursor back to its initial state. -func resetCursor(tls *libc.TLS, pCsr uintptr) { /* sqlite3.c:196883:13: */ +func resetCursor(tls *libc.TLS, pCsr uintptr) { /* sqlite3.c:196940:13: */ var pRtree uintptr = (*RtreeCursor)(unsafe.Pointer(pCsr)).Fbase.FpVtab var ii int32 var pStmt uintptr @@ -157233,7 +157264,7 @@ func resetCursor(tls *libc.TLS, pCsr uintptr) { /* sqlite3.c:196883:13: */ } // Rtree virtual table module xClose method. -func rtreeClose(tls *libc.TLS, cur uintptr) int32 { /* sqlite3.c:196911:12: */ +func rtreeClose(tls *libc.TLS, cur uintptr) int32 { /* sqlite3.c:196968:12: */ var pRtree uintptr = (*Sqlite3_vtab_cursor)(unsafe.Pointer(cur)).FpVtab var pCsr uintptr = cur @@ -157249,7 +157280,7 @@ func rtreeClose(tls *libc.TLS, cur uintptr) int32 { /* sqlite3.c:196911:12: */ // // Return non-zero if the cursor does not currently point to a valid // record (i.e if the scan has finished), or zero otherwise. -func rtreeEof(tls *libc.TLS, cur uintptr) int32 { /* sqlite3.c:196929:12: */ +func rtreeEof(tls *libc.TLS, cur uintptr) int32 { /* sqlite3.c:196986:12: */ var pCsr uintptr = cur return int32((*RtreeCursor)(unsafe.Pointer(pCsr)).FatEOF) } @@ -157266,7 +157297,7 @@ func rtreeEof(tls *libc.TLS, cur uintptr) int32 { /* sqlite3.c:196929:12: */ // Check the RTree node or entry given by pCellData and p against the MATCH // constraint pConstraint. -func rtreeCallbackConstraint(tls *libc.TLS, pConstraint uintptr, eInt int32, pCellData uintptr, pSearch uintptr, prScore uintptr, peWithin uintptr) int32 { /* sqlite3.c:196984:12: */ +func rtreeCallbackConstraint(tls *libc.TLS, pConstraint uintptr, eInt int32, pCellData uintptr, pSearch uintptr, prScore uintptr, peWithin uintptr) int32 { /* sqlite3.c:197041:12: */ bp := tls.Alloc(92) defer tls.Free(92) @@ -157378,7 +157409,7 @@ func rtreeCallbackConstraint(tls *libc.TLS, pConstraint uintptr, eInt int32, pCe // Check the internal RTree node given by pCellData against constraint p. // If this constraint cannot be satisfied by any child within the node, // set *peWithin to NOT_WITHIN. -func rtreeNonleafConstraint(tls *libc.TLS, p uintptr, eInt int32, pCellData uintptr, peWithin uintptr) { /* sqlite3.c:197060:13: */ +func rtreeNonleafConstraint(tls *libc.TLS, p uintptr, eInt int32, pCellData uintptr, peWithin uintptr) { /* sqlite3.c:197117:13: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -157476,7 +157507,7 @@ func rtreeNonleafConstraint(tls *libc.TLS, p uintptr, eInt int32, pCellData uint // // The op is given by p->op. The xN is p->iCoord-th coordinate in // pCellData. $val is given by p->u.rValue. -func rtreeLeafConstraint(tls *libc.TLS, p uintptr, eInt int32, pCellData uintptr, peWithin uintptr) { /* sqlite3.c:197117:13: */ +func rtreeLeafConstraint(tls *libc.TLS, p uintptr, eInt int32, pCellData uintptr, peWithin uintptr) { /* sqlite3.c:197174:13: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -157531,7 +157562,7 @@ func rtreeLeafConstraint(tls *libc.TLS, p uintptr, eInt int32, pCellData uintptr // One of the cells in node pNode is guaranteed to have a 64-bit // integer value equal to iRowid. Return the index of this cell. -func nodeRowidIndex(tls *libc.TLS, pRtree uintptr, pNode uintptr, iRowid I64, piIndex uintptr) int32 { /* sqlite3.c:197147:12: */ +func nodeRowidIndex(tls *libc.TLS, pRtree uintptr, pNode uintptr, iRowid I64, piIndex uintptr) int32 { /* sqlite3.c:197204:12: */ var ii int32 var nCell int32 = readInt16(tls, (*RtreeNode)(unsafe.Pointer(pNode)).FzData+2) @@ -157547,7 +157578,7 @@ func nodeRowidIndex(tls *libc.TLS, pRtree uintptr, pNode uintptr, iRowid I64, pi // Return the index of the cell containing a pointer to node pNode // in its parent. If pNode is the root node, return -1. -func nodeParentIndex(tls *libc.TLS, pRtree uintptr, pNode uintptr, piIndex uintptr) int32 { /* sqlite3.c:197170:12: */ +func nodeParentIndex(tls *libc.TLS, pRtree uintptr, pNode uintptr, piIndex uintptr) int32 { /* sqlite3.c:197227:12: */ var pParent uintptr = (*RtreeNode)(unsafe.Pointer(pNode)).FpParent if pParent != 0 { return nodeRowidIndex(tls, pRtree, pParent, (*RtreeNode)(unsafe.Pointer(pNode)).FiNode, piIndex) @@ -157566,7 +157597,7 @@ func nodeParentIndex(tls *libc.TLS, pRtree uintptr, pNode uintptr, piIndex uintp // iLevel values coming first. In this way, if rScore is the same for all // SearchPoints, then iLevel becomes the deciding factor and the result // is a depth-first search, which is the desired default behavior. -func rtreeSearchPointCompare(tls *libc.TLS, pA uintptr, pB uintptr) int32 { /* sqlite3.c:197190:12: */ +func rtreeSearchPointCompare(tls *libc.TLS, pA uintptr, pB uintptr) int32 { /* sqlite3.c:197247:12: */ if (*RtreeSearchPoint)(unsafe.Pointer(pA)).FrScore < (*RtreeSearchPoint)(unsafe.Pointer(pB)).FrScore { return -1 } @@ -157583,7 +157614,7 @@ func rtreeSearchPointCompare(tls *libc.TLS, pA uintptr, pB uintptr) int32 { /* s } // Interchange two search points in a cursor. -func rtreeSearchPointSwap(tls *libc.TLS, p uintptr, i int32, j int32) { /* sqlite3.c:197204:13: */ +func rtreeSearchPointSwap(tls *libc.TLS, p uintptr, i int32, j int32) { /* sqlite3.c:197261:13: */ var t = *(*RtreeSearchPoint)(unsafe.Pointer((*RtreeCursor)(unsafe.Pointer(p)).FaPoint + uintptr(i)*24)) *(*RtreeSearchPoint)(unsafe.Pointer((*RtreeCursor)(unsafe.Pointer(p)).FaPoint + uintptr(i)*24)) = *(*RtreeSearchPoint)(unsafe.Pointer((*RtreeCursor)(unsafe.Pointer(p)).FaPoint + uintptr(j)*24)) @@ -157603,7 +157634,7 @@ func rtreeSearchPointSwap(tls *libc.TLS, p uintptr, i int32, j int32) { /* sqlit } // Return the search point with the lowest current score. -func rtreeSearchPointFirst(tls *libc.TLS, pCur uintptr) uintptr { /* sqlite3.c:197225:25: */ +func rtreeSearchPointFirst(tls *libc.TLS, pCur uintptr) uintptr { /* sqlite3.c:197282:25: */ if (*RtreeCursor)(unsafe.Pointer(pCur)).FbPoint != 0 { return pCur + 64 } @@ -157614,7 +157645,7 @@ func rtreeSearchPointFirst(tls *libc.TLS, pCur uintptr) uintptr { /* sqlite3.c:1 } // Get the RtreeNode for the search point with the lowest score. -func rtreeNodeOfFirstSearchPoint(tls *libc.TLS, pCur uintptr, pRC uintptr) uintptr { /* sqlite3.c:197232:18: */ +func rtreeNodeOfFirstSearchPoint(tls *libc.TLS, pCur uintptr, pRC uintptr) uintptr { /* sqlite3.c:197289:18: */ var id Sqlite3_int64 var ii int32 = 1 - int32((*RtreeCursor)(unsafe.Pointer(pCur)).FbPoint) @@ -157631,7 +157662,7 @@ func rtreeNodeOfFirstSearchPoint(tls *libc.TLS, pCur uintptr, pRC uintptr) uintp } // Push a new element onto the priority queue -func rtreeEnqueue(tls *libc.TLS, pCur uintptr, rScore RtreeDValue, iLevel U8) uintptr { /* sqlite3.c:197248:25: */ +func rtreeEnqueue(tls *libc.TLS, pCur uintptr, rScore RtreeDValue, iLevel U8) uintptr { /* sqlite3.c:197305:25: */ var i int32 var j int32 var pNew uintptr @@ -157665,7 +157696,7 @@ func rtreeEnqueue(tls *libc.TLS, pCur uintptr, rScore RtreeDValue, iLevel U8) ui // Allocate a new RtreeSearchPoint and return a pointer to it. Return // NULL if malloc fails. -func rtreeSearchPointNew(tls *libc.TLS, pCur uintptr, rScore RtreeDValue, iLevel U8) uintptr { /* sqlite3.c:197283:25: */ +func rtreeSearchPointNew(tls *libc.TLS, pCur uintptr, rScore RtreeDValue, iLevel U8) uintptr { /* sqlite3.c:197340:25: */ var pNew uintptr var pFirst uintptr pFirst = rtreeSearchPointFirst(tls, pCur) @@ -157701,7 +157732,7 @@ func rtreeSearchPointNew(tls *libc.TLS, pCur uintptr, rScore RtreeDValue, iLevel } // Remove the search point with the lowest current score. -func rtreeSearchPointPop(tls *libc.TLS, p uintptr) { /* sqlite3.c:197351:13: */ +func rtreeSearchPointPop(tls *libc.TLS, p uintptr) { /* sqlite3.c:197408:13: */ var i int32 var j int32 var k int32 @@ -157749,7 +157780,7 @@ func rtreeSearchPointPop(tls *libc.TLS, p uintptr) { /* sqlite3.c:197351:13: */ // contains an entry suitable for returning as a result-set row, // or until the RtreeSearchPoint queue is empty, indicating that the // query has completed. -func rtreeStepToLeaf(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:197399:12: */ +func rtreeStepToLeaf(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:197456:12: */ bp := tls.Alloc(20) defer tls.Free(20) @@ -157842,7 +157873,7 @@ func rtreeStepToLeaf(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:197399:12 } // Rtree virtual table module xNext method. -func rtreeNext(tls *libc.TLS, pVtabCursor uintptr) int32 { /* sqlite3.c:197480:12: */ +func rtreeNext(tls *libc.TLS, pVtabCursor uintptr) int32 { /* sqlite3.c:197537:12: */ var pCsr uintptr = pVtabCursor var rc int32 = SQLITE_OK @@ -157858,7 +157889,7 @@ func rtreeNext(tls *libc.TLS, pVtabCursor uintptr) int32 { /* sqlite3.c:197480:1 } // Rtree virtual table module xRowid method. -func rtreeRowid(tls *libc.TLS, pVtabCursor uintptr, pRowid uintptr) int32 { /* sqlite3.c:197498:12: */ +func rtreeRowid(tls *libc.TLS, pVtabCursor uintptr, pRowid uintptr) int32 { /* sqlite3.c:197555:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -157873,7 +157904,7 @@ func rtreeRowid(tls *libc.TLS, pVtabCursor uintptr, pRowid uintptr) int32 { /* s } // Rtree virtual table module xColumn method. -func rtreeColumn(tls *libc.TLS, cur uintptr, ctx uintptr, i int32) int32 { /* sqlite3.c:197512:12: */ +func rtreeColumn(tls *libc.TLS, cur uintptr, ctx uintptr, i int32) int32 { /* sqlite3.c:197569:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -157934,7 +157965,7 @@ func rtreeColumn(tls *libc.TLS, cur uintptr, ctx uintptr, i int32) int32 { /* sq // return SQLITE_OK. If there is no such record in the table, set // *ppLeaf to 0 and return SQLITE_OK. If an error occurs, set *ppLeaf // to zero and return an SQLite error code. -func findLeafNode(tls *libc.TLS, pRtree uintptr, iRowid I64, ppLeaf uintptr, piNode uintptr) int32 { /* sqlite3.c:197566:12: */ +func findLeafNode(tls *libc.TLS, pRtree uintptr, iRowid I64, ppLeaf uintptr, piNode uintptr) int32 { /* sqlite3.c:197623:12: */ var rc int32 *(*uintptr)(unsafe.Pointer(ppLeaf)) = uintptr(0) Xsqlite3_bind_int64(tls, (*Rtree)(unsafe.Pointer(pRtree)).FpReadRowid, 1, iRowid) @@ -157955,7 +157986,7 @@ func findLeafNode(tls *libc.TLS, pRtree uintptr, iRowid I64, ppLeaf uintptr, piN // as the second argument for a MATCH constraint. The value passed as the // first argument to this function is the right-hand operand to the MATCH // operator. -func deserializeGeometry(tls *libc.TLS, pValue uintptr, pCons uintptr) int32 { /* sqlite3.c:197592:12: */ +func deserializeGeometry(tls *libc.TLS, pValue uintptr, pCons uintptr) int32 { /* sqlite3.c:197649:12: */ var pBlob uintptr var pSrc uintptr // BLOB returned by geometry function var pInfo uintptr // Callback information @@ -157987,7 +158018,7 @@ func deserializeGeometry(tls *libc.TLS, pValue uintptr, pCons uintptr) int32 { / } // Rtree virtual table module xFilter method. -func rtreeFilter(tls *libc.TLS, pVtabCursor uintptr, idxNum int32, idxStr uintptr, argc int32, argv uintptr) int32 { /* sqlite3.c:197622:12: */ +func rtreeFilter(tls *libc.TLS, pVtabCursor uintptr, idxNum int32, idxStr uintptr, argc int32, argv uintptr) int32 { /* sqlite3.c:197679:12: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -158130,7 +158161,7 @@ func rtreeFilter(tls *libc.TLS, pVtabCursor uintptr, idxNum int32, idxStr uintpt // The second of each pair of bytes identifies the coordinate column // to which the constraint applies. The leftmost coordinate column // is 'a', the second from the left 'b' etc. -func rtreeBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 { /* sqlite3.c:197775:12: */ +func rtreeBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 { /* sqlite3.c:197832:12: */ bp := tls.Alloc(49) defer tls.Free(49) @@ -158237,7 +158268,7 @@ func rtreeBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 { /* sql } // Return the N-dimensional volumn of the cell stored in *p. -func cellArea(tls *libc.TLS, pRtree uintptr, p uintptr) RtreeDValue { /* sqlite3.c:197864:20: */ +func cellArea(tls *libc.TLS, pRtree uintptr, p uintptr) RtreeDValue { /* sqlite3.c:197921:20: */ var area RtreeDValue = RtreeDValue(1) if int32((*Rtree)(unsafe.Pointer(pRtree)).FeCoordType) == RTREE_COORD_REAL32 { @@ -158280,7 +158311,7 @@ func cellArea(tls *libc.TLS, pRtree uintptr, p uintptr) RtreeDValue { /* sqlite3 // Return the margin length of cell p. The margin length is the sum // of the objects size in each dimension. -func cellMargin(tls *libc.TLS, pRtree uintptr, p uintptr) RtreeDValue { /* sqlite3.c:197894:20: */ +func cellMargin(tls *libc.TLS, pRtree uintptr, p uintptr) RtreeDValue { /* sqlite3.c:197951:20: */ var margin RtreeDValue = RtreeDValue(0) var ii int32 = int32((*Rtree)(unsafe.Pointer(pRtree)).FnDim2) - 2 for __ccgo := true; __ccgo; __ccgo = ii >= 0 { @@ -158301,7 +158332,7 @@ func cellMargin(tls *libc.TLS, pRtree uintptr, p uintptr) RtreeDValue { /* sqlit } // Store the union of cells p1 and p2 in p1. -func cellUnion(tls *libc.TLS, pRtree uintptr, p1 uintptr, p2 uintptr) { /* sqlite3.c:197907:13: */ +func cellUnion(tls *libc.TLS, pRtree uintptr, p1 uintptr, p2 uintptr) { /* sqlite3.c:197964:13: */ var ii int32 = 0 if int32((*Rtree)(unsafe.Pointer(pRtree)).FeCoordType) == RTREE_COORD_REAL32 { for __ccgo := true; __ccgo; __ccgo = ii < int32((*Rtree)(unsafe.Pointer(pRtree)).FnDim2) { @@ -158340,7 +158371,7 @@ func cellUnion(tls *libc.TLS, pRtree uintptr, p1 uintptr, p2 uintptr) { /* sqlit // Return true if the area covered by p2 is a subset of the area covered // by p1. False otherwise. -func cellContains(tls *libc.TLS, pRtree uintptr, p1 uintptr, p2 uintptr) int32 { /* sqlite3.c:197928:12: */ +func cellContains(tls *libc.TLS, pRtree uintptr, p1 uintptr, p2 uintptr) int32 { /* sqlite3.c:197985:12: */ var ii int32 var isInt int32 = libc.Bool32(int32((*Rtree)(unsafe.Pointer(pRtree)).FeCoordType) == RTREE_COORD_INT32) for ii = 0; ii < int32((*Rtree)(unsafe.Pointer(pRtree)).FnDim2); ii = ii + 2 { @@ -158355,7 +158386,7 @@ func cellContains(tls *libc.TLS, pRtree uintptr, p1 uintptr, p2 uintptr) int32 { } // Return the amount cell p would grow by if it were unioned with pCell. -func cellGrowth(tls *libc.TLS, pRtree uintptr, p uintptr, pCell uintptr) RtreeDValue { /* sqlite3.c:197946:20: */ +func cellGrowth(tls *libc.TLS, pRtree uintptr, p uintptr, pCell uintptr) RtreeDValue { /* sqlite3.c:198003:20: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -158368,7 +158399,7 @@ func cellGrowth(tls *libc.TLS, pRtree uintptr, p uintptr, pCell uintptr) RtreeDV return cellArea(tls, pRtree, bp) - area } -func cellOverlap(tls *libc.TLS, pRtree uintptr, p uintptr, aCell uintptr, nCell int32) RtreeDValue { /* sqlite3.c:197955:20: */ +func cellOverlap(tls *libc.TLS, pRtree uintptr, p uintptr, aCell uintptr, nCell int32) RtreeDValue { /* sqlite3.c:198012:20: */ var ii int32 var overlap RtreeDValue = 0.0 for ii = 0; ii < nCell; ii++ { @@ -158443,7 +158474,7 @@ func cellOverlap(tls *libc.TLS, pRtree uintptr, p uintptr, aCell uintptr, nCell // This function implements the ChooseLeaf algorithm from Gutman[84]. // ChooseSubTree in r*tree terminology. -func sChooseLeaf(tls *libc.TLS, pRtree uintptr, pCell uintptr, iHeight int32, ppLeaf uintptr) int32 { /* sqlite3.c:197987:12: */ +func sChooseLeaf(tls *libc.TLS, pRtree uintptr, pCell uintptr, iHeight int32, ppLeaf uintptr) int32 { /* sqlite3.c:198044:12: */ bp := tls.Alloc(64) defer tls.Free(64) @@ -158499,7 +158530,7 @@ func sChooseLeaf(tls *libc.TLS, pRtree uintptr, pCell uintptr, iHeight int32, pp // A cell with the same content as pCell has just been inserted into // the node pNode. This function updates the bounding box cells in // all ancestor elements. -func sAdjustTree(tls *libc.TLS, pRtree uintptr, pNode uintptr, pCell uintptr) int32 { /* sqlite3.c:198047:12: */ +func sAdjustTree(tls *libc.TLS, pRtree uintptr, pNode uintptr, pCell uintptr) int32 { /* sqlite3.c:198104:12: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -158535,7 +158566,7 @@ func sAdjustTree(tls *libc.TLS, pRtree uintptr, pNode uintptr, pCell uintptr) in } // Write mapping (iRowid->iNode) to the _rowid table. -func rowidWrite(tls *libc.TLS, pRtree uintptr, iRowid Sqlite3_int64, iNode Sqlite3_int64) int32 { /* sqlite3.c:198085:12: */ +func rowidWrite(tls *libc.TLS, pRtree uintptr, iRowid Sqlite3_int64, iNode Sqlite3_int64) int32 { /* sqlite3.c:198142:12: */ Xsqlite3_bind_int64(tls, (*Rtree)(unsafe.Pointer(pRtree)).FpWriteRowid, 1, iRowid) Xsqlite3_bind_int64(tls, (*Rtree)(unsafe.Pointer(pRtree)).FpWriteRowid, 2, iNode) Xsqlite3_step(tls, (*Rtree)(unsafe.Pointer(pRtree)).FpWriteRowid) @@ -158543,7 +158574,7 @@ func rowidWrite(tls *libc.TLS, pRtree uintptr, iRowid Sqlite3_int64, iNode Sqlit } // Write mapping (iNode->iPar) to the _parent table. -func parentWrite(tls *libc.TLS, pRtree uintptr, iNode Sqlite3_int64, iPar Sqlite3_int64) int32 { /* sqlite3.c:198095:12: */ +func parentWrite(tls *libc.TLS, pRtree uintptr, iNode Sqlite3_int64, iPar Sqlite3_int64) int32 { /* sqlite3.c:198152:12: */ Xsqlite3_bind_int64(tls, (*Rtree)(unsafe.Pointer(pRtree)).FpWriteParent, 1, iNode) Xsqlite3_bind_int64(tls, (*Rtree)(unsafe.Pointer(pRtree)).FpWriteParent, 2, iPar) Xsqlite3_step(tls, (*Rtree)(unsafe.Pointer(pRtree)).FpWriteParent) @@ -158565,7 +158596,7 @@ func parentWrite(tls *libc.TLS, pRtree uintptr, iNode Sqlite3_int64, iPar Sqlite // // The aSpare array is used as temporary working space by the // sorting algorithm. -func sSortByDistance(tls *libc.TLS, aIdx uintptr, nIdx int32, aDistance uintptr, aSpare uintptr) { /* sqlite3.c:198122:13: */ +func sSortByDistance(tls *libc.TLS, aIdx uintptr, nIdx int32, aDistance uintptr, aSpare uintptr) { /* sqlite3.c:198179:13: */ if nIdx > 1 { var iLeft int32 = 0 var iRight int32 = 0 @@ -158613,7 +158644,7 @@ func sSortByDistance(tls *libc.TLS, aIdx uintptr, nIdx int32, aDistance uintptr, // // The aSpare array is used as temporary working space by the // sorting algorithm. -func sSortByDimension(tls *libc.TLS, pRtree uintptr, aIdx uintptr, nIdx int32, iDim int32, aCell uintptr, aSpare uintptr) { /* sqlite3.c:198188:13: */ +func sSortByDimension(tls *libc.TLS, pRtree uintptr, aIdx uintptr, nIdx int32, iDim int32, aCell uintptr, aSpare uintptr) { /* sqlite3.c:198245:13: */ if nIdx > 1 { var iLeft int32 = 0 @@ -158669,7 +158700,7 @@ func sSortByDimension(tls *libc.TLS, pRtree uintptr, aIdx uintptr, nIdx int32, i } // Implementation of the R*-tree variant of SplitNode from Beckman[1990]. -func splitNodeStartree(tls *libc.TLS, pRtree uintptr, aCell uintptr, nCell int32, pLeft uintptr, pRight uintptr, pBboxLeft uintptr, pBboxRight uintptr) int32 { /* sqlite3.c:198247:12: */ +func splitNodeStartree(tls *libc.TLS, pRtree uintptr, aCell uintptr, nCell int32, pLeft uintptr, pRight uintptr, pBboxLeft uintptr, pBboxRight uintptr) int32 { /* sqlite3.c:198304:12: */ bp := tls.Alloc(96) defer tls.Free(96) @@ -158768,7 +158799,7 @@ func splitNodeStartree(tls *libc.TLS, pRtree uintptr, aCell uintptr, nCell int32 return SQLITE_OK } -func updateMapping(tls *libc.TLS, pRtree uintptr, iRowid I64, pNode uintptr, iHeight int32) int32 { /* sqlite3.c:198345:12: */ +func updateMapping(tls *libc.TLS, pRtree uintptr, iRowid I64, pNode uintptr, iHeight int32) int32 { /* sqlite3.c:198402:12: */ var xSetMapping uintptr xSetMapping = func() uintptr { if iHeight == 0 { @@ -158802,7 +158833,7 @@ func updateMapping(tls *libc.TLS, pRtree uintptr, iRowid I64, pNode uintptr, iHe })(unsafe.Pointer(&struct{ uintptr }{xSetMapping})).f(tls, pRtree, iRowid, (*RtreeNode)(unsafe.Pointer(pNode)).FiNode) } -func sSplitNode(tls *libc.TLS, pRtree uintptr, pNode uintptr, pCell uintptr, iHeight int32) int32 { /* sqlite3.c:198369:12: */ +func sSplitNode(tls *libc.TLS, pRtree uintptr, pNode uintptr, pCell uintptr, iHeight int32) int32 { /* sqlite3.c:198426:12: */ bp := tls.Alloc(100) defer tls.Free(100) @@ -159037,7 +159068,7 @@ splitnode_out: // rowid of the row to delete, which can be used to find the leaf on which // the entry resides (argument pLeaf). Once the leaf is located, this // function is called to determine its ancestry. -func fixLeafParent(tls *libc.TLS, pRtree uintptr, pLeaf uintptr) int32 { /* sqlite3.c:198517:12: */ +func fixLeafParent(tls *libc.TLS, pRtree uintptr, pLeaf uintptr) int32 { /* sqlite3.c:198574:12: */ var rc int32 = SQLITE_OK var pChild uintptr = pLeaf for rc == SQLITE_OK && (*RtreeNode)(unsafe.Pointer(pChild)).FiNode != int64(1) && (*RtreeNode)(unsafe.Pointer(pChild)).FpParent == uintptr(0) { @@ -159072,7 +159103,7 @@ func fixLeafParent(tls *libc.TLS, pRtree uintptr, pLeaf uintptr) int32 { /* sqli return rc } -func removeNode(tls *libc.TLS, pRtree uintptr, pNode uintptr, iHeight int32) int32 { /* sqlite3.c:198552:12: */ +func removeNode(tls *libc.TLS, pRtree uintptr, pNode uintptr, iHeight int32) int32 { /* sqlite3.c:198609:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -159122,7 +159153,7 @@ func removeNode(tls *libc.TLS, pRtree uintptr, pNode uintptr, iHeight int32) int return SQLITE_OK } -func fixBoundingBox(tls *libc.TLS, pRtree uintptr, pNode uintptr) int32 { /* sqlite3.c:198602:12: */ +func fixBoundingBox(tls *libc.TLS, pRtree uintptr, pNode uintptr) int32 { /* sqlite3.c:198659:12: */ bp := tls.Alloc(100) defer tls.Free(100) @@ -159153,7 +159184,7 @@ func fixBoundingBox(tls *libc.TLS, pRtree uintptr, pNode uintptr) int32 { /* sql // Delete the cell at index iCell of node pNode. After removing the // cell, adjust the r-tree data structure if required. -func deleteCell(tls *libc.TLS, pRtree uintptr, pNode uintptr, iCell int32, iHeight int32) int32 { /* sqlite3.c:198629:12: */ +func deleteCell(tls *libc.TLS, pRtree uintptr, pNode uintptr, iCell int32, iHeight int32) int32 { /* sqlite3.c:198686:12: */ var pParent uintptr var rc int32 @@ -159182,7 +159213,7 @@ func deleteCell(tls *libc.TLS, pRtree uintptr, pNode uintptr, iCell int32, iHeig return rc } -func sReinsert(tls *libc.TLS, pRtree uintptr, pNode uintptr, pCell uintptr, iHeight int32) int32 { /* sqlite3.c:198660:12: */ +func sReinsert(tls *libc.TLS, pRtree uintptr, pNode uintptr, pCell uintptr, iHeight int32) int32 { /* sqlite3.c:198717:12: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -159297,7 +159328,7 @@ func sReinsert(tls *libc.TLS, pRtree uintptr, pNode uintptr, pCell uintptr, iHei // Insert cell pCell into node pNode. Node pNode is the head of a // subtree iHeight high (leaf nodes have iHeight==0). -func rtreeInsertCell(tls *libc.TLS, pRtree uintptr, pNode uintptr, pCell uintptr, iHeight int32) int32 { /* sqlite3.c:198765:12: */ +func rtreeInsertCell(tls *libc.TLS, pRtree uintptr, pNode uintptr, pCell uintptr, iHeight int32) int32 { /* sqlite3.c:198822:12: */ var rc int32 = SQLITE_OK if iHeight > 0 { var pChild uintptr = nodeHashLookup(tls, pRtree, (*RtreeCell)(unsafe.Pointer(pCell)).FiRowid) @@ -159327,7 +159358,7 @@ func rtreeInsertCell(tls *libc.TLS, pRtree uintptr, pNode uintptr, pCell uintptr return rc } -func reinsertNodeContent(tls *libc.TLS, pRtree uintptr, pNode uintptr) int32 { /* sqlite3.c:198800:12: */ +func reinsertNodeContent(tls *libc.TLS, pRtree uintptr, pNode uintptr) int32 { /* sqlite3.c:198857:12: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -159358,7 +159389,7 @@ func reinsertNodeContent(tls *libc.TLS, pRtree uintptr, pNode uintptr) int32 { / } // Select a currently unused rowid for a new r-tree record. -func rtreeNewRowid(tls *libc.TLS, pRtree uintptr, piRowid uintptr) int32 { /* sqlite3.c:198829:12: */ +func rtreeNewRowid(tls *libc.TLS, pRtree uintptr, piRowid uintptr) int32 { /* sqlite3.c:198886:12: */ var rc int32 Xsqlite3_bind_null(tls, (*Rtree)(unsafe.Pointer(pRtree)).FpWriteRowid, 1) Xsqlite3_bind_null(tls, (*Rtree)(unsafe.Pointer(pRtree)).FpWriteRowid, 2) @@ -159369,7 +159400,7 @@ func rtreeNewRowid(tls *libc.TLS, pRtree uintptr, piRowid uintptr) int32 { /* sq } // Remove the entry with rowid=iDelete from the r-tree structure. -func rtreeDeleteRowid(tls *libc.TLS, pRtree uintptr, iDelete Sqlite3_int64) int32 { /* sqlite3.c:198842:12: */ +func rtreeDeleteRowid(tls *libc.TLS, pRtree uintptr, iDelete Sqlite3_int64) int32 { /* sqlite3.c:198899:12: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -159458,7 +159489,7 @@ func rtreeDeleteRowid(tls *libc.TLS, pRtree uintptr, iDelete Sqlite3_int64) int3 // Convert an sqlite3_value into an RtreeValue (presumably a float) // while taking care to round toward negative or positive, respectively. -func rtreeValueDown(tls *libc.TLS, v uintptr) RtreeValue { /* sqlite3.c:198939:19: */ +func rtreeValueDown(tls *libc.TLS, v uintptr) RtreeValue { /* sqlite3.c:198996:19: */ var d float64 = Xsqlite3_value_double(tls, v) var f float32 = float32(d) if float64(f) > d { @@ -159472,7 +159503,7 @@ func rtreeValueDown(tls *libc.TLS, v uintptr) RtreeValue { /* sqlite3.c:198939:1 return f } -func rtreeValueUp(tls *libc.TLS, v uintptr) RtreeValue { /* sqlite3.c:198947:19: */ +func rtreeValueUp(tls *libc.TLS, v uintptr) RtreeValue { /* sqlite3.c:199004:19: */ var d float64 = Xsqlite3_value_double(tls, v) var f float32 = float32(d) if float64(f) < d { @@ -159497,7 +159528,7 @@ func rtreeValueUp(tls *libc.TLS, v uintptr) RtreeValue { /* sqlite3.c:198947:19: // (c1<=c2) constraint on columns iCol and iCol+1 that has failed. // // If an OOM occurs, SQLITE_NOMEM is returned instead of SQLITE_CONSTRAINT. -func rtreeConstraintError(tls *libc.TLS, pRtree uintptr, iCol int32) int32 { /* sqlite3.c:198970:12: */ +func rtreeConstraintError(tls *libc.TLS, pRtree uintptr, iCol int32) int32 { /* sqlite3.c:199027:12: */ bp := tls.Alloc(64) defer tls.Free(64) @@ -159536,7 +159567,7 @@ func rtreeConstraintError(tls *libc.TLS, pRtree uintptr, iCol int32) int32 { /* } // The xUpdate method for rtree module virtual tables. -func rtreeUpdate(tls *libc.TLS, pVtab uintptr, nData int32, aData uintptr, pRowid uintptr) int32 { /* sqlite3.c:199008:12: */ +func rtreeUpdate(tls *libc.TLS, pVtab uintptr, nData int32, aData uintptr, pRowid uintptr) int32 { /* sqlite3.c:199065:12: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -159765,7 +159796,7 @@ constraint: } // Called when a transaction starts. -func rtreeBeginTransaction(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:199156:12: */ +func rtreeBeginTransaction(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:199213:12: */ var pRtree uintptr = pVtab (*Rtree)(unsafe.Pointer(pRtree)).FinWrTrans++ @@ -159774,7 +159805,7 @@ func rtreeBeginTransaction(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:19 // Called when a transaction completes (either by COMMIT or ROLLBACK). // The sqlite3_blob object should be released at this point. -func rtreeEndTransaction(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:199167:12: */ +func rtreeEndTransaction(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:199224:12: */ var pRtree uintptr = pVtab (*Rtree)(unsafe.Pointer(pRtree)).FinWrTrans = U8(0) nodeBlobReset(tls, pRtree) @@ -159782,7 +159813,7 @@ func rtreeEndTransaction(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:1991 } // The xRename method for rtree module virtual tables. -func rtreeRename(tls *libc.TLS, pVtab uintptr, zNewName uintptr) int32 { /* sqlite3.c:199177:12: */ +func rtreeRename(tls *libc.TLS, pVtab uintptr, zNewName uintptr) int32 { /* sqlite3.c:199234:12: */ bp := tls.Alloc(72) defer tls.Free(72) @@ -159811,7 +159842,7 @@ func rtreeRename(tls *libc.TLS, pVtab uintptr, zNewName uintptr) int32 { /* sqli // INSERT INTO rtree... // DROP TABLE ; -- Would fail with SQLITE_LOCKED // COMMIT; -func rtreeSavepoint(tls *libc.TLS, pVtab uintptr, iSavepoint int32) int32 { /* sqlite3.c:199210:12: */ +func rtreeSavepoint(tls *libc.TLS, pVtab uintptr, iSavepoint int32) int32 { /* sqlite3.c:199267:12: */ var pRtree uintptr = pVtab var iwt U8 = (*Rtree)(unsafe.Pointer(pRtree)).FinWrTrans _ = iSavepoint @@ -159824,7 +159855,7 @@ func rtreeSavepoint(tls *libc.TLS, pVtab uintptr, iSavepoint int32) int32 { /* s // This function populates the pRtree->nRowEst variable with an estimate // of the number of rows in the virtual table. If possible, this is based // on sqlite_stat1 data. Otherwise, use RTREE_DEFAULT_ROWEST. -func rtreeQueryStat1(tls *libc.TLS, db uintptr, pRtree uintptr) int32 { /* sqlite3.c:199225:12: */ +func rtreeQueryStat1(tls *libc.TLS, db uintptr, pRtree uintptr) int32 { /* sqlite3.c:199282:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -159868,7 +159899,7 @@ func rtreeQueryStat1(tls *libc.TLS, db uintptr, pRtree uintptr) int32 { /* sqlit // Return true if zName is the extension on one of the shadow tables used // by this module. -func rtreeShadowName(tls *libc.TLS, zName uintptr) int32 { /* sqlite3.c:199259:12: */ +func rtreeShadowName(tls *libc.TLS, zName uintptr) int32 { /* sqlite3.c:199316:12: */ var i uint32 for i = uint32(0); uint64(i) < uint64(unsafe.Sizeof(azName1))/uint64(unsafe.Sizeof(uintptr(0))); i++ { if Xsqlite3_stricmp(tls, zName, azName1[i]) == 0 { @@ -159880,7 +159911,7 @@ func rtreeShadowName(tls *libc.TLS, zName uintptr) int32 { /* sqlite3.c:199259:1 var azName1 = [3]uintptr{ ts + 25269, ts + 5011, ts + 16174, -} /* sqlite3.c:199260:21 */ +} /* sqlite3.c:199317:21 */ var rtreeModule = Sqlite3_module{ FiVersion: 3, // iVersion @@ -159904,9 +159935,9 @@ var rtreeModule = Sqlite3_module{ FxRename: 0, // xRename - rename the table FxSavepoint: 0, // xRollbackTo FxShadowName: 0, // xShadowName -} /* sqlite3.c:199270:23 */ +} /* sqlite3.c:199327:23 */ -func rtreeSqlInit(tls *libc.TLS, pRtree uintptr, db uintptr, zDb uintptr, zPrefix uintptr, isCreate int32) int32 { /* sqlite3.c:199297:12: */ +func rtreeSqlInit(tls *libc.TLS, pRtree uintptr, db uintptr, zDb uintptr, zPrefix uintptr, isCreate int32) int32 { /* sqlite3.c:199354:12: */ bp := tls.Alloc(232) defer tls.Free(232) @@ -160023,14 +160054,14 @@ var azSql = [8]uintptr{ ts + 25999, ts + 26057, ts + 26112, -} /* sqlite3.c:199307:21 */ +} /* sqlite3.c:199364:21 */ // The second argument to this function contains the text of an SQL statement // that returns a single integer value. The statement is compiled and executed // using database connection db. If successful, the integer value returned // is written to *piVal and SQLITE_OK returned. Otherwise, an SQLite error // code is returned and the value of *piVal after returning is not defined. -func getIntFromStmt(tls *libc.TLS, db uintptr, zSql uintptr, piVal uintptr) int32 { /* sqlite3.c:199430:12: */ +func getIntFromStmt(tls *libc.TLS, db uintptr, zSql uintptr, piVal uintptr) int32 { /* sqlite3.c:199487:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -160061,7 +160092,7 @@ func getIntFromStmt(tls *libc.TLS, db uintptr, zSql uintptr, piVal uintptr) int3 // This ensures that each node is stored on a single database page. If the // database page-size is so large that more than RTREE_MAXCELLS entries // would fit in a single node, use a smaller node-size. -func getNodeSize(tls *libc.TLS, db uintptr, pRtree uintptr, isCreate int32, pzErr uintptr) int32 { /* sqlite3.c:199460:12: */ +func getNodeSize(tls *libc.TLS, db uintptr, pRtree uintptr, isCreate int32, pzErr uintptr) int32 { /* sqlite3.c:199517:12: */ bp := tls.Alloc(52) defer tls.Free(52) @@ -160099,7 +160130,7 @@ func getNodeSize(tls *libc.TLS, db uintptr, pRtree uintptr, isCreate int32, pzEr } // Return the length of a token -func rtreeTokenLength(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:199503:12: */ +func rtreeTokenLength(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:199560:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -160114,7 +160145,7 @@ func rtreeTokenLength(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:199503:12: // argv[1] -> database name // argv[2] -> table name // argv[...] -> column names... -func rtreeInit(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr, isCreate int32) int32 { /* sqlite3.c:199517:12: */ +func rtreeInit(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr, isCreate int32) int32 { /* sqlite3.c:199574:12: */ bp := tls.Alloc(136) defer tls.Free(136) @@ -160314,7 +160345,7 @@ __25: return rc } -var azFormat = [2]uintptr{ts + 26455, ts + 26466} /* sqlite3.c:199583:25 */ +var azFormat = [2]uintptr{ts + 26455, ts + 26466} /* sqlite3.c:199640:25 */ // Implementation of a scalar function that decodes r-tree nodes to // human readable strings. This can be used for debugging and analysis. @@ -160330,7 +160361,7 @@ var azFormat = [2]uintptr{ts + 26455, ts + 26466} /* sqlite3.c:199583:25 */ // entry for each cell in the r-tree node. Each entry is itself a // list, containing the 8-byte rowid/pageno followed by the // *2 coordinates. -func rtreenode(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:199654:13: */ +func rtreenode(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:199711:13: */ bp := tls.Alloc(1072) defer tls.Free(1072) @@ -160393,7 +160424,7 @@ func rtreenode(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) { /* sqlit // The depth value is 0 for all nodes other than the root node, and the root // node always has nodeno=1, so the example above is the primary use for this // routine. This routine is intended for testing and analysis only. -func rtreedepth(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:199706:13: */ +func rtreedepth(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:199763:13: */ _ = nArg if Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(apArg))) != SQLITE_BLOB || Xsqlite3_value_bytes(tls, *(*uintptr)(unsafe.Pointer(apArg))) < 2 { @@ -160425,15 +160456,15 @@ type RtreeCheck1 = struct { FzReport uintptr FnErr int32 F__ccgo_pad2 [4]byte -} /* sqlite3.c:199727:9 */ +} /* sqlite3.c:199784:9 */ // Context object passed between the various routines that make up the // implementation of integrity-check function rtreecheck(). -type RtreeCheck = RtreeCheck1 /* sqlite3.c:199727:27 */ +type RtreeCheck = RtreeCheck1 /* sqlite3.c:199784:27 */ // Reset SQL statement pStmt. If the sqlite3_reset() call returns an error, // and RtreeCheck.rc==SQLITE_OK, set RtreeCheck.rc to the error code. -func rtreeCheckReset(tls *libc.TLS, pCheck uintptr, pStmt uintptr) { /* sqlite3.c:199749:13: */ +func rtreeCheckReset(tls *libc.TLS, pCheck uintptr, pStmt uintptr) { /* sqlite3.c:199806:13: */ var rc int32 = Xsqlite3_reset(tls, pStmt) if (*RtreeCheck)(unsafe.Pointer(pCheck)).Frc == SQLITE_OK { (*RtreeCheck)(unsafe.Pointer(pCheck)).Frc = rc @@ -160446,7 +160477,7 @@ func rtreeCheckReset(tls *libc.TLS, pCheck uintptr, pStmt uintptr) { /* sqlite3. // // If successful, a pointer to the new SQL statement is returned. Otherwise, // NULL is returned and an error code left in RtreeCheck.rc. -func rtreeCheckPrepare(tls *libc.TLS, pCheck uintptr, zFmt uintptr, va uintptr) uintptr { /* sqlite3.c:199762:21: */ +func rtreeCheckPrepare(tls *libc.TLS, pCheck uintptr, zFmt uintptr, va uintptr) uintptr { /* sqlite3.c:199819:21: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -160474,7 +160505,7 @@ func rtreeCheckPrepare(tls *libc.TLS, pCheck uintptr, zFmt uintptr, va uintptr) // The second and subsequent arguments to this function are a printf() // style format string and arguments. This function formats the string and // appends it to the report being accumuated in pCheck. -func rtreeCheckAppendMsg(tls *libc.TLS, pCheck uintptr, zFmt uintptr, va uintptr) { /* sqlite3.c:199791:13: */ +func rtreeCheckAppendMsg(tls *libc.TLS, pCheck uintptr, zFmt uintptr, va uintptr) { /* sqlite3.c:199848:13: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -160514,7 +160545,7 @@ func rtreeCheckAppendMsg(tls *libc.TLS, pCheck uintptr, zFmt uintptr, va uintptr // Or, if an error does occur, NULL is returned and an error code left // in the RtreeCheck object. The final value of *pnNode is undefined in // this case. -func rtreeCheckGetNode(tls *libc.TLS, pCheck uintptr, iNode I64, pnNode uintptr) uintptr { /* sqlite3.c:199825:11: */ +func rtreeCheckGetNode(tls *libc.TLS, pCheck uintptr, iNode I64, pnNode uintptr) uintptr { /* sqlite3.c:199882:11: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -160558,7 +160589,7 @@ func rtreeCheckGetNode(tls *libc.TLS, pCheck uintptr, iNode I64, pnNode uintptr) // In both cases, this function checks that there exists an entry with // IPK value iKey and the second column set to iVal. // -func rtreeCheckMapping(tls *libc.TLS, pCheck uintptr, bLeaf int32, iKey I64, iVal I64) { /* sqlite3.c:199869:13: */ +func rtreeCheckMapping(tls *libc.TLS, pCheck uintptr, bLeaf int32, iKey I64, iVal I64) { /* sqlite3.c:199926:13: */ bp := tls.Alloc(96) defer tls.Free(96) @@ -160614,7 +160645,7 @@ func rtreeCheckMapping(tls *libc.TLS, pCheck uintptr, bLeaf int32, iKey I64, iVa // containing pCell. In this case it is also verified that the two // sets of coordinates are mutually consistent and an error message added // to the RtreeCheck object if they are not. -func rtreeCheckCellCoord(tls *libc.TLS, pCheck uintptr, iNode I64, iCell int32, pCell uintptr, pParent uintptr) { /* sqlite3.c:199921:13: */ +func rtreeCheckCellCoord(tls *libc.TLS, pCheck uintptr, iNode I64, iCell int32, pCell uintptr, pParent uintptr) { /* sqlite3.c:199978:13: */ bp := tls.Alloc(64) defer tls.Free(64) @@ -160672,7 +160703,7 @@ func rtreeCheckCellCoord(tls *libc.TLS, pCheck uintptr, iNode I64, iCell int32, // // If any problems are discovered, an error message is appended to the // report accumulated in the RtreeCheck object. -func rtreeCheckNode(tls *libc.TLS, pCheck uintptr, iDepth int32, aParent uintptr, iNode I64) { /* sqlite3.c:199967:13: */ +func rtreeCheckNode(tls *libc.TLS, pCheck uintptr, iDepth int32, aParent uintptr, iNode I64) { /* sqlite3.c:200024:13: */ bp := tls.Alloc(52) defer tls.Free(52) @@ -160726,7 +160757,7 @@ func rtreeCheckNode(tls *libc.TLS, pCheck uintptr, iDepth int32, aParent uintptr // %_rowid or %_parent table is exactly nExpect. If not, it adds // an error message to the report in the RtreeCheck object indicated // by the first argument. -func rtreeCheckCount(tls *libc.TLS, pCheck uintptr, zTbl uintptr, nExpect I64) { /* sqlite3.c:200030:13: */ +func rtreeCheckCount(tls *libc.TLS, pCheck uintptr, zTbl uintptr, nExpect I64) { /* sqlite3.c:200087:13: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -160749,7 +160780,7 @@ func rtreeCheckCount(tls *libc.TLS, pCheck uintptr, zTbl uintptr, nExpect I64) { // This function does the bulk of the work for the rtree integrity-check. // It is called by rtreecheck(), which is the SQL function implementation. -func rtreeCheckTable(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, pzReport uintptr) int32 { /* sqlite3.c:200054:12: */ +func rtreeCheckTable(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, pzReport uintptr) int32 { /* sqlite3.c:200111:12: */ bp := tls.Alloc(120) defer tls.Free(120) @@ -160856,7 +160887,7 @@ func rtreeCheckTable(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, pzRep // as there are non-leaf cells in the r-tree structure, and that // there is a non-leaf cell that corresponds to each entry in the // %_parent table. -func rtreecheck(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:200161:13: */ +func rtreecheck(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:200218:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -160919,7 +160950,7 @@ func rtreecheck(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) { /* sqli // Compiler and version // Datatype for coordinates -type GeoCoord = float32 /* sqlite3.c:200282:15 */ +type GeoCoord = float32 /* sqlite3.c:200339:15 */ // Internal representation of a polygon. // @@ -160945,7 +160976,7 @@ type GeoPoly1 = struct { FnVertex int32 Fhdr [4]uint8 Fa [8]GeoCoord -} /* sqlite3.c:200306:9 */ +} /* sqlite3.c:200363:9 */ // Internal representation of a polygon. // @@ -160967,7 +160998,7 @@ type GeoPoly1 = struct { // warnings coming from some compiler (notably, clang). In reality, the size // of each GeoPoly memory allocate is adjusted as necessary so that the // GeoPoly.a[] array at the end is the appropriate size. -type GeoPoly = GeoPoly1 /* sqlite3.c:200306:24 */ +type GeoPoly = GeoPoly1 /* sqlite3.c:200363:24 */ // The size of a memory allocation needed for a GeoPoly object sufficient // to hold N coordinate pairs. @@ -160984,7 +161015,7 @@ type GeoParse1 = struct { FnErr int32 F__ccgo_pad1 [4]byte Fa uintptr -} /* sqlite3.c:200329:9 */ +} /* sqlite3.c:200386:9 */ // The size of a memory allocation needed for a GeoPoly object sufficient // to hold N coordinate pairs. @@ -160994,10 +161025,10 @@ type GeoParse1 = struct { // to silence (incorrect) UBSAN warnings if the array index is too large. // State of a parse of a GeoJSON input. -type GeoParse = GeoParse1 /* sqlite3.c:200329:25 */ +type GeoParse = GeoParse1 /* sqlite3.c:200386:25 */ // Do a 4-byte byte swap -func geopolySwab32(tls *libc.TLS, a uintptr) { /* sqlite3.c:200339:13: */ +func geopolySwab32(tls *libc.TLS, a uintptr) { /* sqlite3.c:200396:13: */ var t uint8 = *(*uint8)(unsafe.Pointer(a)) *(*uint8)(unsafe.Pointer(a)) = *(*uint8)(unsafe.Pointer(a + 3)) *(*uint8)(unsafe.Pointer(a + 3)) = t @@ -161007,7 +161038,7 @@ func geopolySwab32(tls *libc.TLS, a uintptr) { /* sqlite3.c:200339:13: */ } // Skip whitespace. Return the next non-whitespace character. -func geopolySkipSpace(tls *libc.TLS, p uintptr) int8 { /* sqlite3.c:200349:13: */ +func geopolySkipSpace(tls *libc.TLS, p uintptr) int8 { /* sqlite3.c:200406:13: */ for jsonIsSpace[*(*uint8)(unsafe.Pointer((*GeoParse)(unsafe.Pointer(p)).Fz))] != 0 { (*GeoParse)(unsafe.Pointer(p)).Fz++ } @@ -161016,7 +161047,7 @@ func geopolySkipSpace(tls *libc.TLS, p uintptr) int8 { /* sqlite3.c:200349:13: * // Parse out a number. Write the value into *pVal if pVal!=0. // return non-zero on success and zero if the next token is not a number. -func geopolyParseNumber(tls *libc.TLS, p uintptr, pVal uintptr) int32 { /* sqlite3.c:200357:12: */ +func geopolyParseNumber(tls *libc.TLS, p uintptr, pVal uintptr) int32 { /* sqlite3.c:200414:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -161088,7 +161119,7 @@ func geopolyParseNumber(tls *libc.TLS, p uintptr, pVal uintptr) int32 { /* sqlit // that object. // // If any error occurs, return NULL. -func geopolyParseJson(tls *libc.TLS, z uintptr, pRc uintptr) uintptr { /* sqlite3.c:200415:16: */ +func geopolyParseJson(tls *libc.TLS, z uintptr, pRc uintptr) uintptr { /* sqlite3.c:200472:16: */ bp := tls.Alloc(36) defer tls.Free(36) @@ -161230,7 +161261,7 @@ __16: // in the binary format or JSON text. Compute a GeoPoly object and // return a pointer to that object. Or if the input is not a well-formed // polygon, put an error message in sqlite3_context and return NULL. -func geopolyFuncParam(tls *libc.TLS, pCtx uintptr, pVal uintptr, pRc uintptr) uintptr { /* sqlite3.c:200492:16: */ +func geopolyFuncParam(tls *libc.TLS, pCtx uintptr, pVal uintptr, pRc uintptr) uintptr { /* sqlite3.c:200549:16: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -161299,7 +161330,7 @@ func geopolyFuncParam(tls *libc.TLS, pCtx uintptr, pVal uintptr, pRc uintptr) ui // If the input is a well-formed Geopoly BLOB or JSON string // then return the BLOB representation of the polygon. Otherwise // return NULL. -func geopolyBlobFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:200553:13: */ +func geopolyBlobFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:200610:13: */ var p uintptr = geopolyFuncParam(tls, context, *(*uintptr)(unsafe.Pointer(argv)), uintptr(0)) if p != 0 { Xsqlite3_result_blob(tls, context, p+4, @@ -161312,7 +161343,7 @@ func geopolyBlobFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { // // Interpret X as a polygon and render it as a JSON array // of coordinates. Or, if X is not a valid polygon, return NULL. -func geopolyJsonFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:200572:13: */ +func geopolyJsonFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:200629:13: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -161335,7 +161366,7 @@ func geopolyJsonFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { // // Interpret X as a polygon and render it as a SVG . // Additional arguments are added as attributes to the . -func geopolySvgFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:200598:13: */ +func geopolySvgFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:200655:13: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -161381,7 +161412,7 @@ func geopolySvgFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { // Rotate by R around the point (0,0): // // geopoly_xform(poly, cos(R), sin(R), -sin(R), cos(R), 0, 0) -func geopolyXformFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:200645:13: */ +func geopolyXformFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:200702:13: */ var p uintptr = geopolyFuncParam(tls, context, *(*uintptr)(unsafe.Pointer(argv)), uintptr(0)) var A float64 = Xsqlite3_value_double(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))) var B float64 = Xsqlite3_value_double(tls, *(*uintptr)(unsafe.Pointer(argv + 2*8))) @@ -161414,7 +161445,7 @@ func geopolyXformFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) // This routine can also be used to detect polygons that rotate in // the wrong direction. Polygons are suppose to be counter-clockwise (CCW). // This routine returns a negative value for clockwise (CW) polygons. -func geopolyArea(tls *libc.TLS, p uintptr) float64 { /* sqlite3.c:200681:15: */ +func geopolyArea(tls *libc.TLS, p uintptr) float64 { /* sqlite3.c:200738:15: */ var rArea float64 = 0.0 var ii int32 for ii = 0; ii < (*GeoPoly)(unsafe.Pointer(p)).FnVertex-1; ii++ { @@ -161434,7 +161465,7 @@ func geopolyArea(tls *libc.TLS, p uintptr) float64 { /* sqlite3.c:200681:15: */ // enclosed by the polygon. If the polygon circulates clockwise instead // of counterclockwise (as it should) then return the negative of the // enclosed area. Otherwise return NULL. -func geopolyAreaFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:200703:13: */ +func geopolyAreaFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:200760:13: */ var p uintptr = geopolyFuncParam(tls, context, *(*uintptr)(unsafe.Pointer(argv)), uintptr(0)) if p != 0 { Xsqlite3_result_double(tls, context, geopolyArea(tls, p)) @@ -161453,7 +161484,7 @@ func geopolyAreaFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { // // Use this routine to sanitize historical inputs that that sometimes // contain polygons that wind in the wrong direction. -func geopolyCcwFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:200728:13: */ +func geopolyCcwFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:200785:13: */ var p uintptr = geopolyFuncParam(tls, context, *(*uintptr)(unsafe.Pointer(argv)), uintptr(0)) if p != 0 { if geopolyArea(tls, p) < 0.0 { @@ -161489,7 +161520,7 @@ func geopolyCcwFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { } // Fast approximation for sine(X) for X between -0.5*pi and 2*pi -func geopolySine(tls *libc.TLS, r float64) float64 { /* sqlite3.c:200756:15: */ +func geopolySine(tls *libc.TLS, r float64) float64 { /* sqlite3.c:200813:15: */ if r >= float64(1.5)*3.1415926535897932385 { r = r - float64(2.0)*3.1415926535897932385 @@ -161509,7 +161540,7 @@ func geopolySine(tls *libc.TLS, r float64) float64 { /* sqlite3.c:200756:15: */ // // Construct a simple, convex, regular polygon centered at X, Y // with circumradius R and with N sides. -func geopolyRegularFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:200777:13: */ +func geopolyRegularFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:200834:13: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -161554,7 +161585,7 @@ func geopolyRegularFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr // // If pPoly is NULL but aCoord is not NULL, then compute a new GeoPoly from // the bounding box in aCoord and return a pointer to that GeoPoly. -func geopolyBBox(tls *libc.TLS, context uintptr, pPoly uintptr, aCoord uintptr, pRc uintptr) uintptr { /* sqlite3.c:200820:16: */ +func geopolyBBox(tls *libc.TLS, context uintptr, pPoly uintptr, aCoord uintptr, pRc uintptr) uintptr { /* sqlite3.c:200877:16: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -161695,7 +161726,7 @@ __4: } // Implementation of the geopoly_bbox(X) SQL function. -func geopolyBBoxFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:200891:13: */ +func geopolyBBoxFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:200948:13: */ var p uintptr = geopolyBBox(tls, context, *(*uintptr)(unsafe.Pointer(argv)), uintptr(0), uintptr(0)) if p != 0 { Xsqlite3_result_blob(tls, context, p+4, @@ -161708,13 +161739,13 @@ func geopolyBBoxFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { type GeoBBox1 = struct { FisInit int32 Fa [4]RtreeCoord -} /* sqlite3.c:200907:9 */ +} /* sqlite3.c:200964:9 */ // State vector for the geopoly_group_bbox() aggregate function. -type GeoBBox = GeoBBox1 /* sqlite3.c:200907:24 */ +type GeoBBox = GeoBBox1 /* sqlite3.c:200964:24 */ // Implementation of the geopoly_group_bbox(X) aggregate SQL function. -func geopolyBBoxStep(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:200917:13: */ +func geopolyBBoxStep(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:200974:13: */ bp := tls.Alloc(20) defer tls.Free(20) @@ -161748,7 +161779,7 @@ func geopolyBBoxStep(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { } } -func geopolyBBoxFinal(tls *libc.TLS, context uintptr) { /* sqlite3.c:200940:13: */ +func geopolyBBoxFinal(tls *libc.TLS, context uintptr) { /* sqlite3.c:200997:13: */ var p uintptr var pBBox uintptr pBBox = Xsqlite3_aggregate_context(tls, context, 0) @@ -161775,7 +161806,7 @@ func geopolyBBoxFinal(tls *libc.TLS, context uintptr) { /* sqlite3.c:200940:13: // // The left-most coordinate min(x1,x2) is not considered to be part of // the line segment for the purposes of this analysis. -func pointBeneathLine(tls *libc.TLS, x0 float64, y0 float64, x1 float64, y1 float64, x2 float64, y2 float64) int32 { /* sqlite3.c:200970:12: */ +func pointBeneathLine(tls *libc.TLS, x0 float64, y0 float64, x1 float64, y1 float64, x2 float64, y2 float64) int32 { /* sqlite3.c:201027:12: */ var y float64 if x0 == x1 && y0 == y1 { return 2 @@ -161816,7 +161847,7 @@ func pointBeneathLine(tls *libc.TLS, x0 float64, y0 float64, x1 float64, y1 floa // Return +2 if point X,Y is within polygon P. // Return +1 if point X,Y is on the polygon boundary. // Return 0 if point X,Y is outside the polygon -func geopolyContainsPointFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:201001:13: */ +func geopolyContainsPointFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:201058:13: */ var p1 uintptr = geopolyFuncParam(tls, context, *(*uintptr)(unsafe.Pointer(argv)), uintptr(0)) var x0 float64 = Xsqlite3_value_double(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))) var y0 float64 = Xsqlite3_value_double(tls, *(*uintptr)(unsafe.Pointer(argv + 2*8))) @@ -161854,7 +161885,7 @@ func geopolyContainsPointFunc(tls *libc.TLS, context uintptr, argc int32, argv u // Return +1 if P2 is contained within P1 // Return 0 if any part of P2 is on the outside of P1 // -func geopolyWithinFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:201044:13: */ +func geopolyWithinFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:201101:13: */ var p1 uintptr = geopolyFuncParam(tls, context, *(*uintptr)(unsafe.Pointer(argv)), uintptr(0)) var p2 uintptr = geopolyFuncParam(tls, context, *(*uintptr)(unsafe.Pointer(argv + 1*8)), uintptr(0)) if p1 != 0 && p2 != 0 { @@ -161886,10 +161917,10 @@ type GeoEvent1 = struct { F__ccgo_pad1 [4]byte FpSeg uintptr FpNext uintptr -} /* sqlite3.c:201064:9 */ +} /* sqlite3.c:201121:9 */ // Objects used by the overlap algorihm. -type GeoEvent = GeoEvent1 /* sqlite3.c:201064:25 */ +type GeoEvent = GeoEvent1 /* sqlite3.c:201121:25 */ type GeoSegment1 = struct { FC float64 FB float64 @@ -161900,20 +161931,20 @@ type GeoSegment1 = struct { Fidx uint32 F__ccgo_pad2 [4]byte FpNext uintptr -} /* sqlite3.c:201064:9 */ +} /* sqlite3.c:201121:9 */ -type GeoSegment = GeoSegment1 /* sqlite3.c:201065:27 */ +type GeoSegment = GeoSegment1 /* sqlite3.c:201122:27 */ type GeoOverlap1 = struct { FaEvent uintptr FaSegment uintptr FnEvent int32 FnSegment int32 -} /* sqlite3.c:201066:9 */ +} /* sqlite3.c:201123:9 */ -type GeoOverlap = GeoOverlap1 /* sqlite3.c:201066:27 */ +type GeoOverlap = GeoOverlap1 /* sqlite3.c:201123:27 */ // Add a single segment and its associated events. -func geopolyAddOneSegment(tls *libc.TLS, p uintptr, x0 GeoCoord, y0 GeoCoord, x1 GeoCoord, y1 GeoCoord, side uint8, idx uint32) { /* sqlite3.c:201091:13: */ +func geopolyAddOneSegment(tls *libc.TLS, p uintptr, x0 GeoCoord, y0 GeoCoord, x1 GeoCoord, y1 GeoCoord, side uint8, idx uint32) { /* sqlite3.c:201148:13: */ var pSeg uintptr var pEvent uintptr if x0 == x1 { @@ -161947,7 +161978,7 @@ func geopolyAddOneSegment(tls *libc.TLS, p uintptr, x0 GeoCoord, y0 GeoCoord, x1 } // Insert all segments and events for polygon pPoly. -func geopolyAddSegments(tls *libc.TLS, p uintptr, pPoly uintptr, side uint8) { /* sqlite3.c:201135:13: */ +func geopolyAddSegments(tls *libc.TLS, p uintptr, pPoly uintptr, side uint8) { /* sqlite3.c:201192:13: */ var i uint32 var x uintptr for i = uint32(0); i < uint32((*GeoPoly)(unsafe.Pointer(pPoly)).FnVertex)-uint32(1); i++ { @@ -161959,7 +161990,7 @@ func geopolyAddSegments(tls *libc.TLS, p uintptr, pPoly uintptr, side uint8) { / } // Merge two lists of sorted events by X coordinate -func geopolyEventMerge(tls *libc.TLS, pLeft uintptr, pRight uintptr) uintptr { /* sqlite3.c:201153:17: */ +func geopolyEventMerge(tls *libc.TLS, pLeft uintptr, pRight uintptr) uintptr { /* sqlite3.c:201210:17: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -161989,7 +162020,7 @@ func geopolyEventMerge(tls *libc.TLS, pLeft uintptr, pRight uintptr) uintptr { / } // Sort an array of nEvent event objects into a list. -func geopolySortEventsByX(tls *libc.TLS, aEvent uintptr, nEvent int32) uintptr { /* sqlite3.c:201175:17: */ +func geopolySortEventsByX(tls *libc.TLS, aEvent uintptr, nEvent int32) uintptr { /* sqlite3.c:201232:17: */ bp := tls.Alloc(400) defer tls.Free(400) @@ -162019,7 +162050,7 @@ func geopolySortEventsByX(tls *libc.TLS, aEvent uintptr, nEvent int32) uintptr { } // Merge two lists of sorted segments by Y, and then by C. -func geopolySegmentMerge(tls *libc.TLS, pLeft uintptr, pRight uintptr) uintptr { /* sqlite3.c:201200:19: */ +func geopolySegmentMerge(tls *libc.TLS, pLeft uintptr, pRight uintptr) uintptr { /* sqlite3.c:201257:19: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -162054,7 +162085,7 @@ func geopolySegmentMerge(tls *libc.TLS, pLeft uintptr, pRight uintptr) uintptr { // Sort a list of GeoSegments in order of increasing Y and in the event of // a tie, increasing C (slope). -func geopolySortSegmentsByYAndC(tls *libc.TLS, pList uintptr) uintptr { /* sqlite3.c:201225:19: */ +func geopolySortSegmentsByYAndC(tls *libc.TLS, pList uintptr) uintptr { /* sqlite3.c:201282:19: */ bp := tls.Alloc(400) defer tls.Free(400) @@ -162084,7 +162115,7 @@ func geopolySortSegmentsByYAndC(tls *libc.TLS, pList uintptr) uintptr { /* sqlit } // Determine the overlap between two polygons -func geopolyOverlap(tls *libc.TLS, p1 uintptr, p2 uintptr) int32 { /* sqlite3.c:201251:12: */ +func geopolyOverlap(tls *libc.TLS, p1 uintptr, p2 uintptr) int32 { /* sqlite3.c:201308:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -162320,7 +162351,7 @@ geopolyOverlapDone: // 3 P2 is completely contained within P1 // 4 P1 and P2 are the same polygon // NULL Either P1 or P2 or both are not valid polygons -func geopolyOverlapFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:201374:13: */ +func geopolyOverlapFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:201431:13: */ var p1 uintptr = geopolyFuncParam(tls, context, *(*uintptr)(unsafe.Pointer(argv)), uintptr(0)) var p2 uintptr = geopolyFuncParam(tls, context, *(*uintptr)(unsafe.Pointer(argv + 1*8)), uintptr(0)) if p1 != 0 && p2 != 0 { @@ -162336,7 +162367,7 @@ func geopolyOverlapFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr } // Enable or disable debugging output -func geopolyDebugFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:201396:13: */ +func geopolyDebugFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:201453:13: */ } // This function is the implementation of both the xConnect and xCreate @@ -162346,7 +162377,7 @@ func geopolyDebugFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) // argv[1] -> database name // argv[2] -> table name // argv[...] -> column names... -func geopolyInit(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr, isCreate int32) int32 { /* sqlite3.c:201415:12: */ +func geopolyInit(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr, isCreate int32) int32 { /* sqlite3.c:201472:12: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -162461,12 +162492,12 @@ __11: } // GEOPOLY virtual table module xCreate method. -func geopolyCreate(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 { /* sqlite3.c:201499:12: */ +func geopolyCreate(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 { /* sqlite3.c:201556:12: */ return geopolyInit(tls, db, pAux, argc, argv, ppVtab, pzErr, 1) } // GEOPOLY virtual table module xConnect method. -func geopolyConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 { /* sqlite3.c:201512:12: */ +func geopolyConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 { /* sqlite3.c:201569:12: */ return geopolyInit(tls, db, pAux, argc, argv, ppVtab, pzErr, 0) } @@ -162480,7 +162511,7 @@ func geopolyConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv ui // 3 search for objects overlapping the same bounding box // that contains polygon argv[0] // 4 full table scan -func geopolyFilter(tls *libc.TLS, pVtabCursor uintptr, idxNum int32, idxStr uintptr, argc int32, argv uintptr) int32 { /* sqlite3.c:201535:12: */ +func geopolyFilter(tls *libc.TLS, pVtabCursor uintptr, idxNum int32, idxStr uintptr, argc int32, argv uintptr) int32 { /* sqlite3.c:201592:12: */ bp := tls.Alloc(52) defer tls.Free(52) @@ -162647,7 +162678,7 @@ geopoly_filter_end: // 3 "rtree" R-tree within query using geopoly_within() // 4 "fullscan" full-table scan. // ------------------------------------------------ -func geopolyBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 { /* sqlite3.c:201667:12: */ +func geopolyBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 { /* sqlite3.c:201724:12: */ var ii int32 var iRowidTerm int32 = -1 var iFuncTerm int32 = -1 @@ -162698,7 +162729,7 @@ func geopolyBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 { /* s } // GEOPOLY virtual table module xColumn method. -func geopolyColumn(tls *libc.TLS, cur uintptr, ctx uintptr, i int32) int32 { /* sqlite3.c:201719:12: */ +func geopolyColumn(tls *libc.TLS, cur uintptr, ctx uintptr, i int32) int32 { /* sqlite3.c:201776:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -162763,7 +162794,7 @@ func geopolyColumn(tls *libc.TLS, cur uintptr, ctx uintptr, i int32) int32 { /* // argv[1] = rowid after the change. Never NULL // argv[2] = new value for _shape // argv[3] = new value for first application-defined column.... -func geopolyUpdate(tls *libc.TLS, pVtab uintptr, nData int32, aData uintptr, pRowid uintptr) int32 { /* sqlite3.c:201774:12: */ +func geopolyUpdate(tls *libc.TLS, pVtab uintptr, nData int32, aData uintptr, pRowid uintptr) int32 { /* sqlite3.c:201831:12: */ bp := tls.Alloc(64) defer tls.Free(64) @@ -162974,7 +163005,7 @@ 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) int32 { /* sqlite3.c:201911:12: */ +func geopolyFindFunction(tls *libc.TLS, pVtab uintptr, nArg int32, zName uintptr, pxFunc uintptr, ppArg uintptr) int32 { /* sqlite3.c:201968:12: */ if Xsqlite3_stricmp(tls, zName, ts+27444) == 0 { *(*uintptr)(unsafe.Pointer(pxFunc)) = *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) @@ -163015,9 +163046,9 @@ var geopolyModule = Sqlite3_module{ FxRename: 0, // xRename - rename the table FxSavepoint: 0, // xRollbackTo FxShadowName: 0, // xShadowName -} /* sqlite3.c:201932:23 */ +} /* sqlite3.c:201989:23 */ -func sqlite3_geopoly_init(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:201959:12: */ +func sqlite3_geopoly_init(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:202016:12: */ var rc int32 = SQLITE_OK var i int32 for i = 0; uint64(i) < uint64(unsafe.Sizeof(aFunc))/uint64(unsafe.Sizeof(struct { @@ -163071,14 +163102,14 @@ var aFunc = [12]struct { {FxFunc: 0, FnArg: int8(7), FbPure: uint8(1), FzName: ts + 27584 /* "geopoly_xform" */}, {FxFunc: 0, FnArg: int8(4), FbPure: uint8(1), FzName: ts + 27598 /* "geopoly_regular" */}, {FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 27614 /* "geopoly_ccw" */}, -} /* sqlite3.c:201966:5 */ +} /* sqlite3.c:202023:5 */ var aAgg = [1]struct { FxStep uintptr FxFinal uintptr FzName uintptr }{ {FxStep: 0, FxFinal: 0, FzName: ts + 27626 /* "geopoly_group_bb..." */}, -} /* sqlite3.c:201984:5 */ +} /* sqlite3.c:202041:5 */ //************* End of geopoly.c ******************************************** //************* Continuing where we left off in rtree.c ********************* @@ -163086,7 +163117,7 @@ var aAgg = [1]struct { // Register the r-tree module with database handle db. This creates the // virtual table module "rtree" and the debugging/analysis scalar // function "rtreenode". -func Xsqlite3RtreeInit(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:202019:20: */ +func Xsqlite3RtreeInit(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:202076:20: */ var utf8 int32 = SQLITE_UTF8 var rc int32 @@ -163123,7 +163154,7 @@ func Xsqlite3RtreeInit(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:202019:20 // or sqlite3_rtree_query_callback(). In other words, this routine is the // destructor for an RtreeGeomCallback objecct. This routine is called when // the corresponding SQL function is deleted. -func rtreeFreeCallback(tls *libc.TLS, p uintptr) { /* sqlite3.c:202058:13: */ +func rtreeFreeCallback(tls *libc.TLS, p uintptr) { /* sqlite3.c:202115:13: */ var pInfo uintptr = p if (*RtreeGeomCallback)(unsafe.Pointer(pInfo)).FxDestructor != 0 { (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*RtreeGeomCallback)(unsafe.Pointer(pInfo)).FxDestructor})).f(tls, (*RtreeGeomCallback)(unsafe.Pointer(pInfo)).FpContext) @@ -163132,7 +163163,7 @@ func rtreeFreeCallback(tls *libc.TLS, p uintptr) { /* sqlite3.c:202058:13: */ } // This routine frees the BLOB that is returned by geomCallback(). -func rtreeMatchArgFree(tls *libc.TLS, pArg uintptr) { /* sqlite3.c:202067:13: */ +func rtreeMatchArgFree(tls *libc.TLS, pArg uintptr) { /* sqlite3.c:202124:13: */ var i int32 var p uintptr = pArg for i = 0; i < (*RtreeMatchArg)(unsafe.Pointer(p)).FnParam; i++ { @@ -163153,7 +163184,7 @@ func rtreeMatchArgFree(tls *libc.TLS, pArg uintptr) { /* sqlite3.c:202067:13: */ // The R-Tree MATCH operator will read the returned BLOB, deserialize // the RtreeMatchArg object, and use the RtreeMatchArg object to figure // out which elements of the R-Tree should be returned by the query. -func geomCallback(tls *libc.TLS, ctx uintptr, nArg int32, aArg uintptr) { /* sqlite3.c:202090:13: */ +func geomCallback(tls *libc.TLS, ctx uintptr, nArg int32, aArg uintptr) { /* sqlite3.c:202147:13: */ var pGeomCtx uintptr = Xsqlite3_user_data(tls, ctx) var pBlob uintptr var nBlob Sqlite3_int64 @@ -163187,7 +163218,7 @@ func geomCallback(tls *libc.TLS, ctx uintptr, nArg int32, aArg uintptr) { /* sql } // 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) int32 { /* sqlite3.c:202128:16: */ +func Xsqlite3_rtree_geometry_callback(tls *libc.TLS, db uintptr, zGeom uintptr, xGeom uintptr, pContext uintptr) int32 { /* sqlite3.c:202185:16: */ var pGeomCtx uintptr // Context object for new user-function // Allocate and populate the context object. @@ -163207,7 +163238,7 @@ func Xsqlite3_rtree_geometry_callback(tls *libc.TLS, db uintptr, zGeom uintptr, // 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) int32 { /* sqlite3.c:202152:16: */ +func Xsqlite3_rtree_query_callback(tls *libc.TLS, db uintptr, zQueryFunc uintptr, xQueryFunc uintptr, pContext uintptr, xDestructor uintptr) int32 { /* sqlite3.c:202209:16: */ var pGeomCtx uintptr // Context object for new user-function // Allocate and populate the context object. @@ -163663,7 +163694,7 @@ type sqlite3rbu = struct { FnRbu int32 F__ccgo_pad6 [4]byte FpRbuFd uintptr -} /* sqlite3.c:203382:9 */ +} /* sqlite3.c:203439:9 */ //************* End of rtree.c ********************************************** //************* Begin file icu.c ******************************************** @@ -164064,7 +164095,7 @@ type sqlite3rbu = struct { // #include "sqlite3.h" ** Required for error code definitions ** -type Sqlite3rbu = sqlite3rbu /* sqlite3.c:203382:27 */ +type Sqlite3rbu = sqlite3rbu /* sqlite3.c:203439:27 */ //************* End of sqlite3rbu.h ***************************************** //************* Continuing where we left off in sqlite3rbu.c **************** @@ -164129,7 +164160,7 @@ type Sqlite3rbu = sqlite3rbu /* sqlite3.c:203382:27 */ type RbuFrame1 = struct { FiDbPage U32 FiWalFrame U32 -} /* sqlite3.c:203382:9 */ +} /* sqlite3.c:203439:9 */ //************* End of sqlite3rbu.h ***************************************** //************* Continuing where we left off in sqlite3rbu.c **************** @@ -164191,7 +164222,7 @@ type RbuFrame1 = struct { // Only valid if STAGE==1. The RBU database name of the table // currently being read. -type RbuFrame = RbuFrame1 /* sqlite3.c:203813:25 */ +type RbuFrame = RbuFrame1 /* sqlite3.c:203870:25 */ type RbuObjIter1 = struct { FpTblIter uintptr FpIdxIter uintptr @@ -164223,9 +164254,9 @@ type RbuObjIter1 = struct { FaIdxCol uintptr FzIdxSql uintptr FpRbuUpdate uintptr -} /* sqlite3.c:203382:9 */ +} /* sqlite3.c:203439:9 */ -type RbuObjIter = RbuObjIter1 /* sqlite3.c:203814:27 */ +type RbuObjIter = RbuObjIter1 /* sqlite3.c:203871:27 */ type RbuState1 = struct { FeStage int32 F__ccgo_pad1 [4]byte @@ -164240,16 +164271,16 @@ type RbuState1 = struct { F__ccgo_pad3 [4]byte FiOalSz I64 FnPhaseOneStep I64 -} /* sqlite3.c:203815:9 */ +} /* sqlite3.c:203872:9 */ -type RbuState = RbuState1 /* sqlite3.c:203815:25 */ +type RbuState = RbuState1 /* sqlite3.c:203872:25 */ type RbuSpan1 = struct { FzSpan uintptr FnSpan int32 F__ccgo_pad1 [4]byte -} /* sqlite3.c:203382:9 */ +} /* sqlite3.c:203439:9 */ -type RbuSpan = RbuSpan1 /* sqlite3.c:203816:24 */ +type RbuSpan = RbuSpan1 /* sqlite3.c:203873:24 */ type rbu_vfs = struct { Fbase Sqlite3_vfs FpRealVfs uintptr @@ -164257,9 +164288,9 @@ type rbu_vfs = struct { FpRbu uintptr FpMain uintptr FpMainRbu uintptr -} /* sqlite3.c:203382:9 */ +} /* sqlite3.c:203439:9 */ -type Rbu_vfs = rbu_vfs /* sqlite3.c:203817:24 */ +type Rbu_vfs = rbu_vfs /* sqlite3.c:203874:24 */ type rbu_file = struct { Fbase Sqlite3_file FpReal uintptr @@ -164278,16 +164309,16 @@ type rbu_file = struct { FpWalFd uintptr FpMainNext uintptr FpMainRbuNext uintptr -} /* sqlite3.c:203382:9 */ +} /* sqlite3.c:203439:9 */ -type Rbu_file = rbu_file /* sqlite3.c:203818:25 */ +type Rbu_file = rbu_file /* sqlite3.c:203875:25 */ type RbuUpdateStmt1 = struct { FzMask uintptr FpUpdate uintptr FpNext uintptr -} /* sqlite3.c:203382:9 */ +} /* sqlite3.c:203439:9 */ -type RbuUpdateStmt = RbuUpdateStmt1 /* sqlite3.c:203819:30 */ +type RbuUpdateStmt = RbuUpdateStmt1 /* sqlite3.c:203876:30 */ // True for an RBU vacuum handle, or false otherwise. @@ -164306,7 +164337,7 @@ type RbuUpdateStmt = RbuUpdateStmt1 /* sqlite3.c:203819:30 */ // finished, leave *pz pointing to the first character past the end of // the integer. The *pLen parameter holds the length of the string // in *pz and is decremented once for each character in the integer. -func rbuDeltaGetInt(tls *libc.TLS, pz uintptr, pLen uintptr) uint32 { /* sqlite3.c:204109:21: */ +func rbuDeltaGetInt(tls *libc.TLS, pz uintptr, pLen uintptr) uint32 { /* sqlite3.c:204166:21: */ var v uint32 = uint32(0) var c int32 var z uintptr = *(*uintptr)(unsafe.Pointer(pz)) @@ -164329,7 +164360,7 @@ var zValue = [128]int8{ int8(25), int8(26), int8(27), int8(28), int8(29), int8(30), int8(31), int8(32), int8(33), int8(34), int8(35), int8(-1), int8(-1), int8(-1), int8(-1), int8(36), int8(-1), int8(37), int8(38), int8(39), int8(40), int8(41), int8(42), int8(43), int8(44), int8(45), int8(46), int8(47), int8(48), int8(49), int8(50), int8(51), int8(52), int8(53), int8(54), int8(55), int8(56), int8(57), int8(58), int8(59), int8(60), int8(61), int8(62), int8(-1), int8(-1), int8(-1), int8(63), int8(-1), -} /* sqlite3.c:204110:28 */ +} /* sqlite3.c:204167:28 */ // Apply a delta. // @@ -164349,7 +164380,7 @@ var zValue = [128]int8{ // // Refer to the delta_create() documentation above for a description // of the delta file format. -func rbuDeltaApply(tls *libc.TLS, zSrc uintptr, lenSrc int32, zDelta uintptr, lenDelta int32, zOut uintptr) int32 { /* sqlite3.c:204190:12: */ +func rbuDeltaApply(tls *libc.TLS, zSrc uintptr, lenSrc int32, zDelta uintptr, lenDelta int32, zOut uintptr) int32 { /* sqlite3.c:204247:12: */ bp := tls.Alloc(12) defer tls.Free(12) *(*uintptr)(unsafe.Pointer(bp)) = zDelta @@ -164439,7 +164470,7 @@ func rbuDeltaApply(tls *libc.TLS, zSrc uintptr, lenSrc int32, zDelta uintptr, le return -1 } -func rbuDeltaOutputSize(tls *libc.TLS, zDelta uintptr, lenDelta int32) int32 { /* sqlite3.c:204276:12: */ +func rbuDeltaOutputSize(tls *libc.TLS, zDelta uintptr, lenDelta int32) int32 { /* sqlite3.c:204333:12: */ bp := tls.Alloc(12) defer tls.Free(12) *(*uintptr)(unsafe.Pointer(bp)) = zDelta @@ -164464,7 +164495,7 @@ func rbuDeltaOutputSize(tls *libc.TLS, zDelta uintptr, lenDelta int32) int32 { / // arguments must be passed to this function. The first is the blob to // patch and the second the patch to apply. If no error occurs, this // function returns the patched blob. -func rbuFossilDeltaFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:204298:13: */ +func rbuFossilDeltaFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:204355:13: */ var aDelta uintptr var nDelta int32 var aOrig uintptr @@ -164507,7 +164538,7 @@ func rbuFossilDeltaFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr // an SQLite error code. Additionally, set output variable *pzErrmsg to // point to a buffer containing an error message. It is the responsibility // of the caller to (eventually) free this buffer using sqlite3_free(). -func prepareAndCollectError(tls *libc.TLS, db uintptr, ppStmt uintptr, pzErrmsg uintptr, zSql uintptr) int32 { /* sqlite3.c:204351:12: */ +func prepareAndCollectError(tls *libc.TLS, db uintptr, ppStmt uintptr, pzErrmsg uintptr, zSql uintptr) int32 { /* sqlite3.c:204408:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -164525,7 +164556,7 @@ func prepareAndCollectError(tls *libc.TLS, db uintptr, ppStmt uintptr, pzErrmsg // If an error has occurred, then set *pzErrmsg to point to a buffer // containing an error message. It is the responsibility of the caller // to eventually free this buffer using sqlite3_free(). -func resetAndCollectError(tls *libc.TLS, pStmt uintptr, pzErrmsg uintptr) int32 { /* sqlite3.c:204373:12: */ +func resetAndCollectError(tls *libc.TLS, pStmt uintptr, pzErrmsg uintptr) int32 { /* sqlite3.c:204430:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -164549,7 +164580,7 @@ func resetAndCollectError(tls *libc.TLS, pStmt uintptr, pzErrmsg uintptr) int32 // // If argument zSql is NULL, this function assumes that an OOM has occurred. // In this case SQLITE_NOMEM is returned and *ppStmt set to NULL. -func prepareFreeAndCollectError(tls *libc.TLS, db uintptr, ppStmt uintptr, pzErrmsg uintptr, zSql uintptr) int32 { /* sqlite3.c:204396:12: */ +func prepareFreeAndCollectError(tls *libc.TLS, db uintptr, ppStmt uintptr, pzErrmsg uintptr, zSql uintptr) int32 { /* sqlite3.c:204453:12: */ var rc int32 if zSql == uintptr(0) { @@ -164564,7 +164595,7 @@ func prepareFreeAndCollectError(tls *libc.TLS, db uintptr, ppStmt uintptr, pzErr // Free the RbuObjIter.azTblCol[] and RbuObjIter.abTblPk[] arrays allocated // by an earlier call to rbuObjIterCacheTableInfo(). -func rbuObjIterFreeCols(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:204418:13: */ +func rbuObjIterFreeCols(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:204475:13: */ var i int32 for i = 0; i < (*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol; i++ { Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8))) @@ -164582,7 +164613,7 @@ func rbuObjIterFreeCols(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:204418:13: // Finalize all statements and free all allocations that are specific to // the current object (table/index pair). -func rbuObjIterClearStatements(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:204438:13: */ +func rbuObjIterClearStatements(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:204495:13: */ var pUp uintptr Xsqlite3_finalize(tls, (*RbuObjIter)(unsafe.Pointer(pIter)).FpSelect) @@ -164612,7 +164643,7 @@ func rbuObjIterClearStatements(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:2044 // Clean up any resources allocated as part of the iterator object passed // as the only argument. -func rbuObjIterFinalize(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:204470:13: */ +func rbuObjIterFinalize(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:204527:13: */ rbuObjIterClearStatements(tls, pIter) Xsqlite3_finalize(tls, (*RbuObjIter)(unsafe.Pointer(pIter)).FpTblIter) Xsqlite3_finalize(tls, (*RbuObjIter)(unsafe.Pointer(pIter)).FpIdxIter) @@ -164626,7 +164657,7 @@ func rbuObjIterFinalize(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:204470:13: // pointing to the next entry. Otherwise, an error code and message is // left in the RBU handle passed as the first argument. A copy of the // error code is returned. -func rbuObjIterNext(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlite3.c:204486:12: */ +func rbuObjIterNext(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlite3.c:204543:12: */ var rc int32 = (*Sqlite3rbu)(unsafe.Pointer(p)).Frc if rc == SQLITE_OK { @@ -164707,7 +164738,7 @@ func rbuObjIterNext(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlite3. // // For an rbu vacuum handle, a copy of the first argument is returned if // the second argument is either missing or 0 (not a view). -func rbuTargetNameFunc(tls *libc.TLS, pCtx uintptr, argc int32, argv uintptr) { /* sqlite3.c:204566:13: */ +func rbuTargetNameFunc(tls *libc.TLS, pCtx uintptr, argc int32, argv uintptr) { /* sqlite3.c:204623:13: */ var p uintptr = Xsqlite3_user_data(tls, pCtx) var zIn uintptr @@ -164737,7 +164768,7 @@ func rbuTargetNameFunc(tls *libc.TLS, pCtx uintptr, argc int32, argv uintptr) { // pointing to the first entry. Otherwise, an error code and message is // left in the RBU handle passed as the first argument. A copy of the // error code is returned. -func rbuObjIterFirst(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlite3.c:204602:12: */ +func rbuObjIterFirst(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlite3.c:204659:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -164772,7 +164803,7 @@ func rbuObjIterFirst(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlite3 // than SQLITE_OK), then this function returns NULL without modifying the // stored error code. In this case it still calls sqlite3_free() on any // printf() parameters associated with %z conversions. -func rbuMPrintf(tls *libc.TLS, p uintptr, zFmt uintptr, va uintptr) uintptr { /* sqlite3.c:204637:13: */ +func rbuMPrintf(tls *libc.TLS, p uintptr, zFmt uintptr, va uintptr) uintptr { /* sqlite3.c:204694:13: */ var zSql uintptr = uintptr(0) var ap Va_list _ = ap @@ -164798,7 +164829,7 @@ func rbuMPrintf(tls *libc.TLS, p uintptr, zFmt uintptr, va uintptr) uintptr { /* // If an error occurs, an error code and error message is stored in the // RBU handle. If an error has already occurred when this function is // called, it is a no-op. -func rbuMPrintfExec(tls *libc.TLS, p uintptr, db uintptr, zFmt uintptr, va uintptr) int32 { /* sqlite3.c:204662:12: */ +func rbuMPrintfExec(tls *libc.TLS, p uintptr, db uintptr, zFmt uintptr, va uintptr) int32 { /* sqlite3.c:204719:12: */ var ap Va_list _ = ap var zSql uintptr @@ -164824,7 +164855,7 @@ func rbuMPrintfExec(tls *libc.TLS, p uintptr, db uintptr, zFmt uintptr, va uintp // error has already occurred when this function is called, return NULL // immediately without attempting the allocation or modifying the stored // error code. -func rbuMalloc(tls *libc.TLS, p uintptr, nByte Sqlite3_int64) uintptr { /* sqlite3.c:204689:13: */ +func rbuMalloc(tls *libc.TLS, p uintptr, nByte Sqlite3_int64) uintptr { /* sqlite3.c:204746:13: */ var pRet uintptr = uintptr(0) if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { @@ -164841,7 +164872,7 @@ func rbuMalloc(tls *libc.TLS, p uintptr, nByte Sqlite3_int64) uintptr { /* sqlit // Allocate and zero the pIter->azTblCol[] and abTblPk[] arrays so that // there is room for at least nCol elements. If an OOM occurs, store an // error code in the RBU handle passed as the first argument. -func rbuAllocateIterArrays(tls *libc.TLS, p uintptr, pIter uintptr, nCol int32) { /* sqlite3.c:204709:13: */ +func rbuAllocateIterArrays(tls *libc.TLS, p uintptr, pIter uintptr, nCol int32) { /* sqlite3.c:204766:13: */ var nByte Sqlite3_int64 = Sqlite3_int64((uint64(2)*uint64(unsafe.Sizeof(uintptr(0))) + uint64(unsafe.Sizeof(int32(0))) + uint64(3)*uint64(unsafe.Sizeof(U8(0)))) * uint64(nCol)) var azNew uintptr @@ -164864,7 +164895,7 @@ func rbuAllocateIterArrays(tls *libc.TLS, p uintptr, pIter uintptr, nCol int32) // If an OOM condition is encountered when attempting to allocate memory, // output variable (*pRc) is set to SQLITE_NOMEM before returning. Otherwise, // if the allocation succeeds, (*pRc) is left unchanged. -func rbuStrndup(tls *libc.TLS, zStr uintptr, pRc uintptr) uintptr { /* sqlite3.c:204734:13: */ +func rbuStrndup(tls *libc.TLS, zStr uintptr, pRc uintptr) uintptr { /* sqlite3.c:204791:13: */ var zRet uintptr = uintptr(0) if *(*int32)(unsafe.Pointer(pRc)) == SQLITE_OK { @@ -164887,7 +164918,7 @@ func rbuStrndup(tls *libc.TLS, zStr uintptr, pRc uintptr) uintptr { /* sqlite3.c // If the sqlite3_finalize() call indicates that an error occurs, and the // rbu handle error code is not already set, set the error code and error // message accordingly. -func rbuFinalize(tls *libc.TLS, p uintptr, pStmt uintptr) { /* sqlite3.c:204759:13: */ +func rbuFinalize(tls *libc.TLS, p uintptr, pStmt uintptr) { /* sqlite3.c:204816:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -164937,7 +164968,7 @@ func rbuFinalize(tls *libc.TLS, p uintptr, pStmt uintptr) { /* sqlite3.c:204759: // }else{ // return RBU_PK_NONE // } -func rbuTableType(tls *libc.TLS, p uintptr, zTab uintptr, peType uintptr, piTnum uintptr, piPk uintptr) { /* sqlite3.c:204807:13: */ +func rbuTableType(tls *libc.TLS, p uintptr, zTab uintptr, peType uintptr, piTnum uintptr, piPk uintptr) { /* sqlite3.c:204864:13: */ bp := tls.Alloc(64) defer tls.Free(64) @@ -165057,7 +165088,7 @@ __16: // This is a helper function for rbuObjIterCacheTableInfo(). It populates // the pIter->abIndexed[] array. -func rbuObjIterCacheIndexedCols(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:204893:13: */ +func rbuObjIterCacheIndexedCols(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:204950:13: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -165115,7 +165146,7 @@ func rbuObjIterCacheIndexedCols(tls *libc.TLS, p uintptr, pIter uintptr) { /* sq // Return SQLITE_OK if successful, or an SQLite error code otherwise. If // an error does occur, an error code and error message are also left in // the RBU handle. -func rbuObjIterCacheTableInfo(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlite3.c:204947:12: */ +func rbuObjIterCacheTableInfo(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlite3.c:205004:12: */ bp := tls.Alloc(72) defer tls.Free(72) @@ -165237,7 +165268,7 @@ func rbuObjIterCacheTableInfo(tls *libc.TLS, p uintptr, pIter uintptr) int32 { / // This function constructs and returns a pointer to a nul-terminated // string containing some SQL clause or list based on one or more of the // column names currently stored in the pIter->azTblCol[] array. -func rbuObjIterGetCollist(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { /* sqlite3.c:205057:13: */ +func rbuObjIterGetCollist(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { /* sqlite3.c:205114:13: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -165256,7 +165287,7 @@ func rbuObjIterGetCollist(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { /* // in order, for the current table. Before each column name, add the text // zPre. After each column name, add the zPost text. Use zSeparator as // the separator text (usually ", "). -func rbuObjIterGetPkList(tls *libc.TLS, p uintptr, pIter uintptr, zPre uintptr, zSeparator uintptr, zPost uintptr) uintptr { /* sqlite3.c:205078:13: */ +func rbuObjIterGetPkList(tls *libc.TLS, p uintptr, pIter uintptr, zPre uintptr, zSeparator uintptr, zPost uintptr) uintptr { /* sqlite3.c:205135:13: */ bp := tls.Alloc(40) defer tls.Free(40) @@ -165298,7 +165329,7 @@ func rbuObjIterGetPkList(tls *libc.TLS, p uintptr, pIter uintptr, zPre uintptr, // // Instead of "?" placeholders, the actual WHERE clauses created by // this function contain literal SQL values. -func rbuVacuumTableStart(tls *libc.TLS, p uintptr, pIter uintptr, bRowid int32, zWrite uintptr) uintptr { /* sqlite3.c:205123:13: */ +func rbuVacuumTableStart(tls *libc.TLS, p uintptr, pIter uintptr, bRowid int32, zWrite uintptr) uintptr { /* sqlite3.c:205180:13: */ bp := tls.Alloc(80) defer tls.Free(80) @@ -165357,7 +165388,7 @@ func rbuVacuumTableStart(tls *libc.TLS, p uintptr, pIter uintptr, bRowid int32, // If the expression cannot be created, NULL is returned. In this case, // the caller has to use an OFFSET clause to extract only the required // rows from the sourct table, just as it does for an RBU update operation. -func rbuVacuumIndexStart(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { /* sqlite3.c:205190:13: */ +func rbuVacuumIndexStart(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { /* sqlite3.c:205247:13: */ bp := tls.Alloc(192) defer tls.Free(192) @@ -165538,7 +165569,7 @@ index_start_out: // pzImposterCols: ... // pzImposterPk: ... // pzWhere: ... -func rbuObjIterGetIndexCols(tls *libc.TLS, p uintptr, pIter uintptr, pzImposterCols uintptr, pzImposterPk uintptr, pzWhere uintptr, pnBind uintptr) uintptr { /* sqlite3.c:205305:13: */ +func rbuObjIterGetIndexCols(tls *libc.TLS, p uintptr, pIter uintptr, pzImposterCols uintptr, pzImposterPk uintptr, pzWhere uintptr, pnBind uintptr) uintptr { /* sqlite3.c:205362:13: */ bp := tls.Alloc(208) defer tls.Free(208) @@ -165649,7 +165680,7 @@ func rbuObjIterGetIndexCols(tls *libc.TLS, p uintptr, pIter uintptr, pzImposterC // // For tables with implicit rowids - RBU_PK_EXTERNAL and RBU_PK_NONE, append // the text ", old._rowid_" to the returned value. -func rbuObjIterGetOldlist(tls *libc.TLS, p uintptr, pIter uintptr, zObj uintptr) uintptr { /* sqlite3.c:205417:13: */ +func rbuObjIterGetOldlist(tls *libc.TLS, p uintptr, pIter uintptr, zObj uintptr) uintptr { /* sqlite3.c:205474:13: */ bp := tls.Alloc(64) defer tls.Free(64) @@ -165687,7 +165718,7 @@ func rbuObjIterGetOldlist(tls *libc.TLS, p uintptr, pIter uintptr, zObj uintptr) // Return the string: // // "b = ?1 AND c = ?2" -func rbuObjIterGetWhere(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { /* sqlite3.c:205458:13: */ +func rbuObjIterGetWhere(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { /* sqlite3.c:205515:13: */ bp := tls.Alloc(80) defer tls.Free(80) @@ -165725,7 +165756,7 @@ func rbuObjIterGetWhere(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { /* sq // is something wrong with the rbu_control value in the rbu_control value // stored in the (p->nCol+1)'th column. Set the error code and error message // of the RBU handle to something reflecting this. -func rbuBadControlError(tls *libc.TLS, p uintptr) { /* sqlite3.c:205499:13: */ +func rbuBadControlError(tls *libc.TLS, p uintptr) { /* sqlite3.c:205556:13: */ (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_ERROR (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+29162, 0) } @@ -165745,7 +165776,7 @@ func rbuBadControlError(tls *libc.TLS, p uintptr) { /* sqlite3.c:205499:13: */ // argument and NULL is returned. Or, if an error has already occurred // when this function is called, NULL is returned immediately, without // attempting the allocation or modifying the stored error code. -func rbuObjIterGetSetlist(tls *libc.TLS, p uintptr, pIter uintptr, zMask uintptr) uintptr { /* sqlite3.c:205522:13: */ +func rbuObjIterGetSetlist(tls *libc.TLS, p uintptr, pIter uintptr, zMask uintptr) uintptr { /* sqlite3.c:205579:13: */ bp := tls.Alloc(112) defer tls.Free(112) @@ -165791,7 +165822,7 @@ func rbuObjIterGetSetlist(tls *libc.TLS, p uintptr, pIter uintptr, zMask uintptr // argument and NULL is returned. Or, if an error has already occurred // when this function is called, NULL is returned immediately, without // attempting the allocation or modifying the stored error code. -func rbuObjIterGetBindlist(tls *libc.TLS, p uintptr, nBind int32) uintptr { /* sqlite3.c:205576:13: */ +func rbuObjIterGetBindlist(tls *libc.TLS, p uintptr, nBind int32) uintptr { /* sqlite3.c:205633:13: */ var zRet uintptr = uintptr(0) var nByte Sqlite3_int64 = int64(2)*Sqlite3_int64(nBind) + int64(1) @@ -165821,7 +165852,7 @@ func rbuObjIterGetBindlist(tls *libc.TLS, p uintptr, nBind int32) uintptr { /* s // this function returns: // // PRIMARY KEY("b", "a" DESC) -func rbuWithoutRowidPK(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { /* sqlite3.c:205603:13: */ +func rbuWithoutRowidPK(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { /* sqlite3.c:205660:13: */ bp := tls.Alloc(72) defer tls.Free(72) @@ -165884,7 +165915,7 @@ func rbuWithoutRowidPK(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { /* sql // // CREATE TABLE rbu_imposter2(c1 TEXT, c2 REAL, id INTEGER) WITHOUT ROWID; // -func rbuCreateImposterTable2(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:205662:13: */ +func rbuCreateImposterTable2(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:205719:13: */ bp := tls.Alloc(184) defer tls.Free(184) @@ -165960,7 +165991,7 @@ func rbuCreateImposterTable2(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlit // More precisely, the "same schema" means the same columns, types, // collation sequences. For tables that do not have an external PRIMARY // KEY, it also means the same PRIMARY KEY declaration. -func rbuCreateImposterTable(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:205736:13: */ +func rbuCreateImposterTable(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:205793:13: */ bp := tls.Alloc(200) defer tls.Free(200) @@ -166024,7 +166055,7 @@ func rbuCreateImposterTable(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite // the target table, plus one (for the rbu_control column), plus one more // (for the rbu_rowid column) if the target table is an implicit IPK or // virtual table. -func rbuObjIterPrepareTmpInsert(tls *libc.TLS, p uintptr, pIter uintptr, zCollist uintptr, zRbuRowid uintptr) { /* sqlite3.c:205792:13: */ +func rbuObjIterPrepareTmpInsert(tls *libc.TLS, p uintptr, pIter uintptr, zCollist uintptr, zRbuRowid uintptr) { /* sqlite3.c:205849:13: */ bp := tls.Alloc(40) defer tls.Free(40) @@ -166039,7 +166070,7 @@ func rbuObjIterPrepareTmpInsert(tls *libc.TLS, p uintptr, pIter uintptr, zCollis } } -func rbuTmpInsertFunc(tls *libc.TLS, pCtx uintptr, nVal int32, apVal uintptr) { /* sqlite3.c:205810:13: */ +func rbuTmpInsertFunc(tls *libc.TLS, pCtx uintptr, nVal int32, apVal uintptr) { /* sqlite3.c:205867:13: */ var p uintptr = Xsqlite3_user_data(tls, pCtx) var rc int32 = SQLITE_OK var i int32 @@ -166061,7 +166092,7 @@ func rbuTmpInsertFunc(tls *libc.TLS, pCtx uintptr, nVal int32, apVal uintptr) { } } -func rbuObjIterGetIndexWhere(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { /* sqlite3.c:205840:13: */ +func rbuObjIterGetIndexWhere(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { /* sqlite3.c:205897:13: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -166169,7 +166200,7 @@ func rbuObjIterGetIndexWhere(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { // Ensure that the SQLite statement handles required to update the // target database object currently indicated by the iterator passed // as the second argument are available. -func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32) int32 { /* sqlite3.c:205940:12: */ +func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32) int32 { /* sqlite3.c:205997:12: */ bp := tls.Alloc(628) defer tls.Free(628) @@ -166444,7 +166475,7 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32 // // If the zMask string does not specify any columns to update, then this // is not an error. Output variable *ppStmt is set to NULL in this case. -func rbuGetUpdateStmt(tls *libc.TLS, p uintptr, pIter uintptr, zMask uintptr, ppStmt uintptr) int32 { /* sqlite3.c:206207:12: */ +func rbuGetUpdateStmt(tls *libc.TLS, p uintptr, pIter uintptr, zMask uintptr, ppStmt uintptr) int32 { /* sqlite3.c:206264:12: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -166510,7 +166541,7 @@ func rbuGetUpdateStmt(tls *libc.TLS, p uintptr, pIter uintptr, zMask uintptr, pp return (*Sqlite3rbu)(unsafe.Pointer(p)).Frc } -func rbuOpenDbhandle(tls *libc.TLS, p uintptr, zName uintptr, bUseVfs int32) uintptr { /* sqlite3.c:206275:16: */ +func rbuOpenDbhandle(tls *libc.TLS, p uintptr, zName uintptr, bUseVfs int32) uintptr { /* sqlite3.c:206332:16: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -166533,7 +166564,7 @@ func rbuOpenDbhandle(tls *libc.TLS, p uintptr, zName uintptr, bUseVfs int32) uin } // Free an RbuState object allocated by rbuLoadState(). -func rbuFreeState(tls *libc.TLS, p uintptr) { /* sqlite3.c:206296:13: */ +func rbuFreeState(tls *libc.TLS, p uintptr) { /* sqlite3.c:206353:13: */ if p != 0 { Xsqlite3_free(tls, (*RbuState)(unsafe.Pointer(p)).FzTbl) Xsqlite3_free(tls, (*RbuState)(unsafe.Pointer(p)).FzDataTbl) @@ -166549,7 +166580,7 @@ func rbuFreeState(tls *libc.TLS, p uintptr) { /* sqlite3.c:206296:13: */ // // If an error occurs, leave an error code and message in the rbu handle // and return NULL. -func rbuLoadState(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:206314:17: */ +func rbuLoadState(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:206371:17: */ bp := tls.Alloc(20) defer tls.Free(20) @@ -166633,7 +166664,7 @@ func rbuLoadState(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:206314:17: */ // If argument dbMain is not NULL, then it is a database handle already // open on the target database. Use this handle instead of opening a new // one. -func rbuOpenDatabase(tls *libc.TLS, p uintptr, dbMain uintptr, pbRetry uintptr) { /* sqlite3.c:206395:13: */ +func rbuOpenDatabase(tls *libc.TLS, p uintptr, dbMain uintptr, pbRetry uintptr) { /* sqlite3.c:206452:13: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -166795,7 +166826,7 @@ func rbuOpenDatabase(tls *libc.TLS, p uintptr, dbMain uintptr, pbRetry uintptr) // test.db-wal => test.wal // test.db-shm => test.shm // test.db-mj7f3319fa => test.9fa -func rbuFileSuffix3(tls *libc.TLS, zBase uintptr, z uintptr) { /* sqlite3.c:206576:13: */ +func rbuFileSuffix3(tls *libc.TLS, zBase uintptr, z uintptr) { /* sqlite3.c:206633:13: */ } // Return the current wal-index header checksum for the target database @@ -166803,7 +166834,7 @@ func rbuFileSuffix3(tls *libc.TLS, zBase uintptr, z uintptr) { /* sqlite3.c:2065 // // The checksum is store in the first page of xShmMap memory as an 8-byte // blob starting at byte offset 40. -func rbuShmChecksum(tls *libc.TLS, p uintptr) I64 { /* sqlite3.c:206597:12: */ +func rbuShmChecksum(tls *libc.TLS, p uintptr) I64 { /* sqlite3.c:206654:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -166836,7 +166867,7 @@ func rbuShmChecksum(tls *libc.TLS, p uintptr) I64 { /* sqlite3.c:206597:12: */ // object, then the rbu handle is set to DONE state. This occurs if some // other client appends a transaction to the wal file in the middle of // an incremental checkpoint. -func rbuSetupCheckpoint(tls *libc.TLS, p uintptr, pState uintptr) { /* sqlite3.c:206626:13: */ +func rbuSetupCheckpoint(tls *libc.TLS, p uintptr, pState uintptr) { /* sqlite3.c:206683:13: */ // If pState is NULL, then the wal file may not have been opened and // recovered. Running a read-statement here to ensure that doing so @@ -166928,7 +166959,7 @@ func rbuSetupCheckpoint(tls *libc.TLS, p uintptr, pState uintptr) { /* sqlite3.c // Called when iAmt bytes are read from offset iOff of the wal file while // the rbu object is in capture mode. Record the frame number of the frame // being read in the aFrame[] array. -func rbuCaptureWalRead(tls *libc.TLS, pRbu uintptr, iOff I64, iAmt int32) int32 { /* sqlite3.c:206710:12: */ +func rbuCaptureWalRead(tls *libc.TLS, pRbu uintptr, iOff I64, iAmt int32) int32 { /* sqlite3.c:206767:12: */ var mReq U32 = U32(int32(1)<dbMain to one more than the schema cookie of the main // db opened by p->dbRbu. -func rbuIncrSchemaCookie(tls *libc.TLS, p uintptr) { /* sqlite3.c:207135:13: */ +func rbuIncrSchemaCookie(tls *libc.TLS, p uintptr) { /* sqlite3.c:207192:13: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -167335,7 +167366,7 @@ func rbuIncrSchemaCookie(tls *libc.TLS, p uintptr) { /* sqlite3.c:207135:13: */ // Update the contents of the rbu_state table within the rbu database. The // value stored in the RBU_STATE_STAGE column is eStage. All other values // are determined by inspecting the rbu handle passed as the first argument. -func rbuSaveState(tls *libc.TLS, p uintptr, eStage int32) { /* sqlite3.c:207166:13: */ +func rbuSaveState(tls *libc.TLS, p uintptr, eStage int32) { /* sqlite3.c:207223:13: */ bp := tls.Alloc(176) defer tls.Free(176) @@ -167390,7 +167421,7 @@ func rbuSaveState(tls *libc.TLS, p uintptr, eStage int32) { /* sqlite3.c:207166: // // In short, it copies the value of the specified PRAGMA setting from // dbRbu to dbMain. -func rbuCopyPragma(tls *libc.TLS, p uintptr, zPragma uintptr) { /* sqlite3.c:207227:13: */ +func rbuCopyPragma(tls *libc.TLS, p uintptr, zPragma uintptr) { /* sqlite3.c:207284:13: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -167409,7 +167440,7 @@ func rbuCopyPragma(tls *libc.TLS, p uintptr, zPragma uintptr) { /* sqlite3.c:207 // The RBU handle passed as the only argument has just been opened and // the state database is empty. If this RBU handle was opened for an // RBU vacuum operation, create the schema in the target db. -func rbuCreateTargetSchema(tls *libc.TLS, p uintptr) { /* sqlite3.c:207247:13: */ +func rbuCreateTargetSchema(tls *libc.TLS, p uintptr) { /* sqlite3.c:207304:13: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -167459,7 +167490,7 @@ func rbuCreateTargetSchema(tls *libc.TLS, p uintptr) { /* sqlite3.c:207247:13: * } // Step the RBU object. -func Xsqlite3rbu_step(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:207299:16: */ +func Xsqlite3rbu_step(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:207356:16: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -167602,7 +167633,7 @@ func Xsqlite3rbu_step(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:207299:16: // Compare strings z1 and z2, returning 0 if they are identical, or non-zero // otherwise. Either or both argument may be NULL. Two NULL values are // considered equal, and NULL is considered distinct from all other values. -func rbuStrCompare(tls *libc.TLS, z1 uintptr, z2 uintptr) int32 { /* sqlite3.c:207428:12: */ +func rbuStrCompare(tls *libc.TLS, z1 uintptr, z2 uintptr) int32 { /* sqlite3.c:207485:12: */ if z1 == uintptr(0) && z2 == uintptr(0) { return 0 } @@ -167620,7 +167651,7 @@ func rbuStrCompare(tls *libc.TLS, z1 uintptr, z2 uintptr) int32 { /* sqlite3.c:2 // // If an error occurs, an error code and error message are left in the // rbu handle passed as the first argument. -func rbuSetupOal(tls *libc.TLS, p uintptr, pState uintptr) { /* sqlite3.c:207444:13: */ +func rbuSetupOal(tls *libc.TLS, p uintptr, pState uintptr) { /* sqlite3.c:207501:13: */ if (*RbuState)(unsafe.Pointer(pState)).FzTbl != 0 { var pIter uintptr = p + 80 @@ -167650,7 +167681,7 @@ func rbuSetupOal(tls *libc.TLS, p uintptr, pState uintptr) { /* sqlite3.c:207444 // If there is a "*-oal" file in the file-system corresponding to the // target database in the file-system, delete it. If an error occurs, // leave an error code and error message in the rbu handle. -func rbuDeleteOalFile(tls *libc.TLS, p uintptr) { /* sqlite3.c:207477:13: */ +func rbuDeleteOalFile(tls *libc.TLS, p uintptr) { /* sqlite3.c:207534:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -167669,7 +167700,7 @@ func rbuDeleteOalFile(tls *libc.TLS, p uintptr) { /* sqlite3.c:207477:13: */ // argument. This VFS will be used unless the call to sqlite3rbu_open() // specified a URI with a vfs=? option in place of a target database // file name. -func rbuCreateVfs(tls *libc.TLS, p uintptr) { /* sqlite3.c:207493:13: */ +func rbuCreateVfs(tls *libc.TLS, p uintptr) { /* sqlite3.c:207550:13: */ bp := tls.Alloc(76) defer tls.Free(76) @@ -167690,7 +167721,7 @@ func rbuCreateVfs(tls *libc.TLS, p uintptr) { /* sqlite3.c:207493:13: */ // Destroy the private VFS created for the rbu handle passed as the only // argument by an earlier call to rbuCreateVfs(). -func rbuDeleteVfs(tls *libc.TLS, p uintptr) { /* sqlite3.c:207513:13: */ +func rbuDeleteVfs(tls *libc.TLS, p uintptr) { /* sqlite3.c:207570:13: */ if (*Sqlite3rbu)(unsafe.Pointer(p)).FzVfsName != 0 { Xsqlite3rbu_destroy_vfs(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FzVfsName) (*Sqlite3rbu)(unsafe.Pointer(p)).FzVfsName = uintptr(0) @@ -167700,7 +167731,7 @@ func rbuDeleteVfs(tls *libc.TLS, p uintptr) { /* sqlite3.c:207513:13: */ // This user-defined SQL function is invoked with a single argument - the // name of a table expected to appear in the target database. It returns // the number of auxilliary indexes on the table. -func rbuIndexCntFunc(tls *libc.TLS, pCtx uintptr, nVal int32, apVal uintptr) { /* sqlite3.c:207525:13: */ +func rbuIndexCntFunc(tls *libc.TLS, pCtx uintptr, nVal int32, apVal uintptr) { /* sqlite3.c:207582:13: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -167749,7 +167780,7 @@ func rbuIndexCntFunc(tls *libc.TLS, pCtx uintptr, nVal int32, apVal uintptr) { / // sqlite3rbu.nPhaseOneStep is initialized to the sum of (1 + nIndex) * cnt // for all rows in the rbu_count table, where nIndex is the number of // indexes on the corresponding target database table. -func rbuInitPhaseOneSteps(tls *libc.TLS, p uintptr) { /* sqlite3.c:207575:13: */ +func rbuInitPhaseOneSteps(tls *libc.TLS, p uintptr) { /* sqlite3.c:207632:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -167791,7 +167822,7 @@ func rbuInitPhaseOneSteps(tls *libc.TLS, p uintptr) { /* sqlite3.c:207575:13: */ } } -func openRbuHandle(tls *libc.TLS, zTarget uintptr, zRbu uintptr, zState uintptr) uintptr { /* sqlite3.c:207616:19: */ +func openRbuHandle(tls *libc.TLS, zTarget uintptr, zRbu uintptr, zState uintptr) uintptr { /* sqlite3.c:207673:19: */ bp := tls.Alloc(20) defer tls.Free(20) @@ -167964,7 +167995,7 @@ func openRbuHandle(tls *libc.TLS, zTarget uintptr, zRbu uintptr, zState uintptr) // Allocate and return an RBU handle with all fields zeroed except for the // error code, which is set to SQLITE_MISUSE. -func rbuMisuseError(tls *libc.TLS) uintptr { /* sqlite3.c:207780:19: */ +func rbuMisuseError(tls *libc.TLS) uintptr { /* sqlite3.c:207837:19: */ var pRet uintptr pRet = Xsqlite3_malloc64(tls, uint64(unsafe.Sizeof(Sqlite3rbu{}))) if pRet != 0 { @@ -167975,7 +168006,7 @@ func rbuMisuseError(tls *libc.TLS) uintptr { /* sqlite3.c:207780:19: */ } // Open and return a new RBU handle. -func Xsqlite3rbu_open(tls *libc.TLS, zTarget uintptr, zRbu uintptr, zState uintptr) uintptr { /* sqlite3.c:207793:23: */ +func Xsqlite3rbu_open(tls *libc.TLS, zTarget uintptr, zRbu uintptr, zState uintptr) uintptr { /* sqlite3.c:207850:23: */ if zTarget == uintptr(0) || zRbu == uintptr(0) { return rbuMisuseError(tls) } @@ -167983,7 +168014,7 @@ func Xsqlite3rbu_open(tls *libc.TLS, zTarget uintptr, zRbu uintptr, zState uintp } // Open a handle to begin or resume an RBU VACUUM operation. -func Xsqlite3rbu_vacuum(tls *libc.TLS, zTarget uintptr, zState uintptr) uintptr { /* sqlite3.c:207805:23: */ +func Xsqlite3rbu_vacuum(tls *libc.TLS, zTarget uintptr, zState uintptr) uintptr { /* sqlite3.c:207862:23: */ if zTarget == uintptr(0) { return rbuMisuseError(tls) } @@ -167998,7 +168029,7 @@ func Xsqlite3rbu_vacuum(tls *libc.TLS, zTarget uintptr, zState uintptr) uintptr } // Return the database handle used by pRbu. -func Xsqlite3rbu_db(tls *libc.TLS, pRbu uintptr, bRbu int32) uintptr { /* sqlite3.c:207823:20: */ +func Xsqlite3rbu_db(tls *libc.TLS, pRbu uintptr, bRbu int32) uintptr { /* sqlite3.c:207880:20: */ var db uintptr = uintptr(0) if pRbu != 0 { db = func() uintptr { @@ -168014,7 +168045,7 @@ func Xsqlite3rbu_db(tls *libc.TLS, pRbu uintptr, bRbu int32) uintptr { /* sqlite // If the error code currently stored in the RBU handle is SQLITE_CONSTRAINT, // then edit any error message string so as to remove all occurrences of // the pattern "rbu_imp_[0-9]*". -func rbuEditErrmsg(tls *libc.TLS, p uintptr) { /* sqlite3.c:207837:13: */ +func rbuEditErrmsg(tls *libc.TLS, p uintptr) { /* sqlite3.c:207894:13: */ if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_CONSTRAINT && (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg != 0 { var i uint32 var nErrmsg Size_t = libc.Xstrlen(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg) @@ -168032,7 +168063,7 @@ func rbuEditErrmsg(tls *libc.TLS, p uintptr) { /* sqlite3.c:207837:13: */ } // Close the RBU handle. -func Xsqlite3rbu_close(tls *libc.TLS, p uintptr, pzErrmsg uintptr) int32 { /* sqlite3.c:207855:16: */ +func Xsqlite3rbu_close(tls *libc.TLS, p uintptr, pzErrmsg uintptr) int32 { /* sqlite3.c:207912:16: */ var rc int32 if p != 0 { @@ -168097,13 +168128,13 @@ func Xsqlite3rbu_close(tls *libc.TLS, p uintptr, pzErrmsg uintptr) int32 { /* sq // Return the total number of key-value operations (inserts, deletes or // updates) that have been performed on the target database since the // current RBU update was started. -func Xsqlite3rbu_progress(tls *libc.TLS, pRbu uintptr) Sqlite3_int64 { /* sqlite3.c:207918:26: */ +func Xsqlite3rbu_progress(tls *libc.TLS, pRbu uintptr) Sqlite3_int64 { /* sqlite3.c:207975:26: */ return Sqlite3_int64((*Sqlite3rbu)(unsafe.Pointer(pRbu)).FnProgress) } // Return permyriadage progress indications for the two main stages of // an RBU update. -func Xsqlite3rbu_bp_progress(tls *libc.TLS, p uintptr, pnOne uintptr, pnTwo uintptr) { /* sqlite3.c:207926:17: */ +func Xsqlite3rbu_bp_progress(tls *libc.TLS, p uintptr, pnOne uintptr, pnTwo uintptr) { /* sqlite3.c:207983:17: */ var MAX_PROGRESS int32 = 10000 switch (*Sqlite3rbu)(unsafe.Pointer(p)).FeStage { case RBU_STAGE_OAL: @@ -168136,7 +168167,7 @@ func Xsqlite3rbu_bp_progress(tls *libc.TLS, p uintptr, pnOne uintptr, pnTwo uint } // Return the current state of the RBU vacuum or update operation. -func Xsqlite3rbu_state(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:207961:16: */ +func Xsqlite3rbu_state(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:208018:16: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -168154,7 +168185,7 @@ func Xsqlite3rbu_state(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:207961:16: return int32(0) } -func Xsqlite3rbu_savestate(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:207989:16: */ +func Xsqlite3rbu_savestate(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:208046:16: */ var rc int32 = (*Sqlite3rbu)(unsafe.Pointer(p)).Frc if rc == SQLITE_DONE { return SQLITE_OK @@ -168261,7 +168292,7 @@ func Xsqlite3rbu_savestate(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:207989 // relinquished). Finally, calls to xSync() on the target database // file fail with SQLITE_INTERNAL errors. -func rbuUnlockShm(tls *libc.TLS, p uintptr) { /* sqlite3.c:208082:13: */ +func rbuUnlockShm(tls *libc.TLS, p uintptr) { /* sqlite3.c:208139:13: */ if (*Rbu_file)(unsafe.Pointer(p)).FpRbu != 0 { var xShmLock uintptr = (*sqlite3_io_methods)(unsafe.Pointer((*Sqlite3_file)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer(p)).FpReal)).FpMethods)).FxShmLock @@ -168278,7 +168309,7 @@ func rbuUnlockShm(tls *libc.TLS, p uintptr) { /* sqlite3.c:208082:13: */ } // -func rbuUpdateTempSize(tls *libc.TLS, pFd uintptr, nNew Sqlite3_int64) int32 { /* sqlite3.c:208098:12: */ +func rbuUpdateTempSize(tls *libc.TLS, pFd uintptr, nNew Sqlite3_int64) int32 { /* sqlite3.c:208155:12: */ var pRbu uintptr = (*Rbu_file)(unsafe.Pointer(pFd)).FpRbu var nDiff I64 = nNew - (*Rbu_file)(unsafe.Pointer(pFd)).Fsz *(*I64)(unsafe.Pointer(pRbu + 360)) += nDiff @@ -168296,7 +168327,7 @@ func rbuUpdateTempSize(tls *libc.TLS, pFd uintptr, nNew Sqlite3_int64) int32 { / // for all file descriptors with rbu_file.pDb!=0. If the argument has // rbu_file.pDb!=0, then it is assumed to already be present on the // main list and is only added to the pDb!=0 list. -func rbuMainlistAdd(tls *libc.TLS, p uintptr) { /* sqlite3.c:208116:13: */ +func rbuMainlistAdd(tls *libc.TLS, p uintptr) { /* sqlite3.c:208173:13: */ var pRbuVfs uintptr = (*Rbu_file)(unsafe.Pointer(p)).FpRbuVfs var pIter uintptr @@ -168318,7 +168349,7 @@ func rbuMainlistAdd(tls *libc.TLS, p uintptr) { /* sqlite3.c:208116:13: */ } // Remove an item from the main-db lists. -func rbuMainlistRemove(tls *libc.TLS, p uintptr) { /* sqlite3.c:208138:13: */ +func rbuMainlistRemove(tls *libc.TLS, p uintptr) { /* sqlite3.c:208195:13: */ var pp uintptr Xsqlite3_mutex_enter(tls, (*Rbu_vfs)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer(p)).FpRbuVfs)).Fmutex) for pp = (*Rbu_file)(unsafe.Pointer(p)).FpRbuVfs + 192; *(*uintptr)(unsafe.Pointer(pp)) != 0 && *(*uintptr)(unsafe.Pointer(pp)) != p; pp = *(*uintptr)(unsafe.Pointer(pp)) + 88 { @@ -168343,7 +168374,7 @@ func rbuMainlistRemove(tls *libc.TLS, p uintptr) { /* sqlite3.c:208138:13: */ // // If parameter bRbu is true, only search for file-descriptors with // rbu_file.pDb!=0. -func rbuFindMaindb(tls *libc.TLS, pRbuVfs uintptr, zWal uintptr, bRbu int32) uintptr { /* sqlite3.c:208159:17: */ +func rbuFindMaindb(tls *libc.TLS, pRbuVfs uintptr, zWal uintptr, bRbu int32) uintptr { /* sqlite3.c:208216:17: */ var pDb uintptr Xsqlite3_mutex_enter(tls, (*Rbu_vfs)(unsafe.Pointer(pRbuVfs)).Fmutex) if bRbu != 0 { @@ -168358,7 +168389,7 @@ func rbuFindMaindb(tls *libc.TLS, pRbuVfs uintptr, zWal uintptr, bRbu int32) uin } // Close an rbu file. -func rbuVfsClose(tls *libc.TLS, pFile uintptr) int32 { /* sqlite3.c:208174:12: */ +func rbuVfsClose(tls *libc.TLS, pFile uintptr) int32 { /* sqlite3.c:208231:12: */ var p uintptr = pFile var rc int32 var i int32 @@ -168390,7 +168421,7 @@ func rbuVfsClose(tls *libc.TLS, pFile uintptr) int32 { /* sqlite3.c:208174:12: * // Read and return an unsigned 32-bit big-endian integer from the buffer // passed as the only argument. -func rbuGetU32(tls *libc.TLS, aBuf uintptr) U32 { /* sqlite3.c:208207:12: */ +func rbuGetU32(tls *libc.TLS, aBuf uintptr) U32 { /* sqlite3.c:208264:12: */ return U32(*(*U8)(unsafe.Pointer(aBuf)))<<24 + U32(*(*U8)(unsafe.Pointer(aBuf + 1)))<<16 + U32(*(*U8)(unsafe.Pointer(aBuf + 2)))<<8 + @@ -168399,20 +168430,20 @@ func rbuGetU32(tls *libc.TLS, aBuf uintptr) U32 { /* sqlite3.c:208207:12: */ // Write an unsigned 32-bit value in big-endian format to the supplied // buffer. -func rbuPutU32(tls *libc.TLS, aBuf uintptr, iVal U32) { /* sqlite3.c:208218:13: */ +func rbuPutU32(tls *libc.TLS, aBuf uintptr, iVal U32) { /* sqlite3.c:208275:13: */ *(*U8)(unsafe.Pointer(aBuf)) = U8(iVal >> 24 & U32(0xFF)) *(*U8)(unsafe.Pointer(aBuf + 1)) = U8(iVal >> 16 & U32(0xFF)) *(*U8)(unsafe.Pointer(aBuf + 2)) = U8(iVal >> 8 & U32(0xFF)) *(*U8)(unsafe.Pointer(aBuf + 3)) = U8(iVal >> 0 & U32(0xFF)) } -func rbuPutU16(tls *libc.TLS, aBuf uintptr, iVal U16) { /* sqlite3.c:208225:13: */ +func rbuPutU16(tls *libc.TLS, aBuf uintptr, iVal U16) { /* sqlite3.c:208282:13: */ *(*U8)(unsafe.Pointer(aBuf)) = U8(int32(iVal) >> 8 & 0xFF) *(*U8)(unsafe.Pointer(aBuf + 1)) = U8(int32(iVal) >> 0 & 0xFF) } // Read data from an rbuVfs-file. -func rbuVfsRead(tls *libc.TLS, pFile uintptr, zBuf uintptr, iAmt int32, iOfst Sqlite_int64) int32 { /* sqlite3.c:208233:12: */ +func rbuVfsRead(tls *libc.TLS, pFile uintptr, zBuf uintptr, iAmt int32, iOfst Sqlite_int64) int32 { /* sqlite3.c:208290:12: */ var p uintptr = pFile var pRbu uintptr = (*Rbu_file)(unsafe.Pointer(p)).FpRbu var rc int32 @@ -168476,7 +168507,7 @@ func rbuVfsRead(tls *libc.TLS, pFile uintptr, zBuf uintptr, iAmt int32, iOfst Sq } // Write data to an rbuVfs-file. -func rbuVfsWrite(tls *libc.TLS, pFile uintptr, zBuf uintptr, iAmt int32, iOfst Sqlite_int64) int32 { /* sqlite3.c:208299:12: */ +func rbuVfsWrite(tls *libc.TLS, pFile uintptr, zBuf uintptr, iAmt int32, iOfst Sqlite_int64) int32 { /* sqlite3.c:208356:12: */ var p uintptr = pFile var pRbu uintptr = (*Rbu_file)(unsafe.Pointer(p)).FpRbu var rc int32 @@ -168515,7 +168546,7 @@ func rbuVfsWrite(tls *libc.TLS, pFile uintptr, zBuf uintptr, iAmt int32, iOfst S } // Truncate an rbuVfs-file. -func rbuVfsTruncate(tls *libc.TLS, pFile uintptr, size Sqlite_int64) int32 { /* sqlite3.c:208342:12: */ +func rbuVfsTruncate(tls *libc.TLS, pFile uintptr, size Sqlite_int64) int32 { /* sqlite3.c:208399:12: */ var p uintptr = pFile if (*Rbu_file)(unsafe.Pointer(p)).FopenFlags&SQLITE_OPEN_DELETEONCLOSE != 0 && (*Rbu_file)(unsafe.Pointer(p)).FpRbu != 0 { var rc int32 = rbuUpdateTempSize(tls, p, size) @@ -168529,7 +168560,7 @@ func rbuVfsTruncate(tls *libc.TLS, pFile uintptr, size Sqlite_int64) int32 { /* } // Sync an rbuVfs-file. -func rbuVfsSync(tls *libc.TLS, pFile uintptr, flags int32) int32 { /* sqlite3.c:208354:12: */ +func rbuVfsSync(tls *libc.TLS, pFile uintptr, flags int32) int32 { /* sqlite3.c:208411:12: */ var p uintptr = pFile if (*Rbu_file)(unsafe.Pointer(p)).FpRbu != 0 && (*Sqlite3rbu)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer(p)).FpRbu)).FeStage == RBU_STAGE_CAPTURE { if (*Rbu_file)(unsafe.Pointer(p)).FopenFlags&SQLITE_OPEN_MAIN_DB != 0 { @@ -168543,7 +168574,7 @@ func rbuVfsSync(tls *libc.TLS, pFile uintptr, flags int32) int32 { /* sqlite3.c: } // Return the current file-size of an rbuVfs-file. -func rbuVfsFileSize(tls *libc.TLS, pFile uintptr, pSize uintptr) int32 { /* sqlite3.c:208368:12: */ +func rbuVfsFileSize(tls *libc.TLS, pFile uintptr, pSize uintptr) int32 { /* sqlite3.c:208425:12: */ var p uintptr = pFile var rc int32 rc = (*struct { @@ -168563,7 +168594,7 @@ func rbuVfsFileSize(tls *libc.TLS, pFile uintptr, pSize uintptr) int32 { /* sqli } // Lock an rbuVfs-file. -func rbuVfsLock(tls *libc.TLS, pFile uintptr, eLock int32) int32 { /* sqlite3.c:208389:12: */ +func rbuVfsLock(tls *libc.TLS, pFile uintptr, eLock int32) int32 { /* sqlite3.c:208446:12: */ var p uintptr = pFile var pRbu uintptr = (*Rbu_file)(unsafe.Pointer(p)).FpRbu var rc int32 = SQLITE_OK @@ -168583,7 +168614,7 @@ func rbuVfsLock(tls *libc.TLS, pFile uintptr, eLock int32) int32 { /* sqlite3.c: } // Unlock an rbuVfs-file. -func rbuVfsUnlock(tls *libc.TLS, pFile uintptr, eLock int32) int32 { /* sqlite3.c:208411:12: */ +func rbuVfsUnlock(tls *libc.TLS, pFile uintptr, eLock int32) int32 { /* sqlite3.c:208468:12: */ var p uintptr = pFile return (*struct { f func(*libc.TLS, uintptr, int32) int32 @@ -168591,7 +168622,7 @@ func rbuVfsUnlock(tls *libc.TLS, pFile uintptr, eLock int32) int32 { /* sqlite3. } // Check if another file-handle holds a RESERVED lock on an rbuVfs-file. -func rbuVfsCheckReservedLock(tls *libc.TLS, pFile uintptr, pResOut uintptr) int32 { /* sqlite3.c:208419:12: */ +func rbuVfsCheckReservedLock(tls *libc.TLS, pFile uintptr, pResOut uintptr) int32 { /* sqlite3.c:208476:12: */ var p uintptr = pFile return (*struct { f func(*libc.TLS, uintptr, uintptr) int32 @@ -168599,7 +168630,7 @@ func rbuVfsCheckReservedLock(tls *libc.TLS, pFile uintptr, pResOut uintptr) int3 } // File control method. For custom operations on an rbuVfs-file. -func rbuVfsFileControl(tls *libc.TLS, pFile uintptr, op int32, pArg uintptr) int32 { /* sqlite3.c:208427:12: */ +func rbuVfsFileControl(tls *libc.TLS, pFile uintptr, op int32, pArg uintptr) int32 { /* sqlite3.c:208484:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -168662,7 +168693,7 @@ func rbuVfsFileControl(tls *libc.TLS, pFile uintptr, op int32, pArg uintptr) int } // Return the sector-size in bytes for an rbuVfs-file. -func rbuVfsSectorSize(tls *libc.TLS, pFile uintptr) int32 { /* sqlite3.c:208483:12: */ +func rbuVfsSectorSize(tls *libc.TLS, pFile uintptr) int32 { /* sqlite3.c:208540:12: */ var p uintptr = pFile return (*struct { f func(*libc.TLS, uintptr) int32 @@ -168670,7 +168701,7 @@ func rbuVfsSectorSize(tls *libc.TLS, pFile uintptr) int32 { /* sqlite3.c:208483: } // Return the device characteristic flags supported by an rbuVfs-file. -func rbuVfsDeviceCharacteristics(tls *libc.TLS, pFile uintptr) int32 { /* sqlite3.c:208491:12: */ +func rbuVfsDeviceCharacteristics(tls *libc.TLS, pFile uintptr) int32 { /* sqlite3.c:208548:12: */ var p uintptr = pFile return (*struct { f func(*libc.TLS, uintptr) int32 @@ -168678,7 +168709,7 @@ func rbuVfsDeviceCharacteristics(tls *libc.TLS, pFile uintptr) int32 { /* sqlite } // Take or release a shared-memory lock. -func rbuVfsShmLock(tls *libc.TLS, pFile uintptr, ofst int32, n int32, flags int32) int32 { /* sqlite3.c:208499:12: */ +func rbuVfsShmLock(tls *libc.TLS, pFile uintptr, ofst int32, n int32, flags int32) int32 { /* sqlite3.c:208556:12: */ var p uintptr = pFile var pRbu uintptr = (*Rbu_file)(unsafe.Pointer(p)).FpRbu var rc int32 = SQLITE_OK @@ -168711,7 +168742,7 @@ func rbuVfsShmLock(tls *libc.TLS, pFile uintptr, ofst int32, n int32, flags int3 } // Obtain a pointer to a mapping of a single 32KiB page of the *-shm file. -func rbuVfsShmMap(tls *libc.TLS, pFile uintptr, iRegion int32, szRegion int32, isWrite int32, pp uintptr) int32 { /* sqlite3.c:208537:12: */ +func rbuVfsShmMap(tls *libc.TLS, pFile uintptr, iRegion int32, szRegion int32, isWrite int32, pp uintptr) int32 { /* sqlite3.c:208594:12: */ var p uintptr = pFile var rc int32 = SQLITE_OK var eStage int32 = func() int32 { @@ -168768,13 +168799,13 @@ func rbuVfsShmMap(tls *libc.TLS, pFile uintptr, iRegion int32, szRegion int32, i } // Memory barrier. -func rbuVfsShmBarrier(tls *libc.TLS, pFile uintptr) { /* sqlite3.c:208595:13: */ +func rbuVfsShmBarrier(tls *libc.TLS, pFile uintptr) { /* sqlite3.c:208652:13: */ var p uintptr = pFile (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods)(unsafe.Pointer((*Sqlite3_file)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer(p)).FpReal)).FpMethods)).FxShmBarrier})).f(tls, (*Rbu_file)(unsafe.Pointer(p)).FpReal) } // The xShmUnmap method. -func rbuVfsShmUnmap(tls *libc.TLS, pFile uintptr, delFlag int32) int32 { /* sqlite3.c:208603:12: */ +func rbuVfsShmUnmap(tls *libc.TLS, pFile uintptr, delFlag int32) int32 { /* sqlite3.c:208660:12: */ var p uintptr = pFile var rc int32 = SQLITE_OK var eStage int32 = func() int32 { @@ -168797,7 +168828,7 @@ func rbuVfsShmUnmap(tls *libc.TLS, pFile uintptr, delFlag int32) int32 { /* sqli } // Open an rbu file handle. -func rbuVfsOpen(tls *libc.TLS, pVfs uintptr, zName uintptr, pFile uintptr, flags int32, pOutFlags uintptr) int32 { /* sqlite3.c:208622:12: */ +func rbuVfsOpen(tls *libc.TLS, pVfs uintptr, zName uintptr, pFile uintptr, flags int32, pOutFlags uintptr) int32 { /* sqlite3.c:208679:12: */ var pRbuVfs uintptr = pVfs var pRealVfs uintptr = (*Rbu_vfs)(unsafe.Pointer(pRbuVfs)).FpRealVfs var pFd uintptr = pFile @@ -168883,10 +168914,10 @@ var rbuvfs_io_methods = Sqlite3_io_methods{ FxShmLock: 0, // xShmLock FxShmBarrier: 0, // xShmBarrier FxShmUnmap: 0, // xFetch, xUnfetch -} /* sqlite3.c:208629:29 */ +} /* sqlite3.c:208686:29 */ // Delete the file located at zPath. -func rbuVfsDelete(tls *libc.TLS, pVfs uintptr, zPath uintptr, dirSync int32) int32 { /* sqlite3.c:208720:12: */ +func rbuVfsDelete(tls *libc.TLS, pVfs uintptr, zPath uintptr, dirSync int32) int32 { /* sqlite3.c:208777:12: */ var pRealVfs uintptr = (*Rbu_vfs)(unsafe.Pointer(pVfs)).FpRealVfs return (*struct { f func(*libc.TLS, uintptr, uintptr, int32) int32 @@ -168895,7 +168926,7 @@ func rbuVfsDelete(tls *libc.TLS, pVfs uintptr, zPath uintptr, dirSync int32) int // Test for access permissions. Return true if the requested permission // is available, or false otherwise. -func rbuVfsAccess(tls *libc.TLS, pVfs uintptr, zPath uintptr, flags int32, pResOut uintptr) int32 { /* sqlite3.c:208729:12: */ +func rbuVfsAccess(tls *libc.TLS, pVfs uintptr, zPath uintptr, flags int32, pResOut uintptr) int32 { /* sqlite3.c:208786:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -168940,7 +168971,7 @@ func rbuVfsAccess(tls *libc.TLS, pVfs uintptr, zPath uintptr, flags int32, pResO // Populate buffer zOut with the full canonical pathname corresponding // to the pathname in zPath. zOut is guaranteed to point to a buffer // of at least (DEVSYM_MAX_PATHNAME+1) bytes. -func rbuVfsFullPathname(tls *libc.TLS, pVfs uintptr, zPath uintptr, nOut int32, zOut uintptr) int32 { /* sqlite3.c:208777:12: */ +func rbuVfsFullPathname(tls *libc.TLS, pVfs uintptr, zPath uintptr, nOut int32, zOut uintptr) int32 { /* sqlite3.c:208834:12: */ var pRealVfs uintptr = (*Rbu_vfs)(unsafe.Pointer(pVfs)).FpRealVfs return (*struct { f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 @@ -168948,7 +168979,7 @@ func rbuVfsFullPathname(tls *libc.TLS, pVfs uintptr, zPath uintptr, nOut int32, } // Open the dynamic library located at zPath and return a handle. -func rbuVfsDlOpen(tls *libc.TLS, pVfs uintptr, zPath uintptr) uintptr { /* sqlite3.c:208791:13: */ +func rbuVfsDlOpen(tls *libc.TLS, pVfs uintptr, zPath uintptr) uintptr { /* sqlite3.c:208848:13: */ var pRealVfs uintptr = (*Rbu_vfs)(unsafe.Pointer(pVfs)).FpRealVfs return (*struct { f func(*libc.TLS, uintptr, uintptr) uintptr @@ -168958,7 +168989,7 @@ func rbuVfsDlOpen(tls *libc.TLS, pVfs uintptr, zPath uintptr) uintptr { /* sqlit // Populate the buffer zErrMsg (size nByte bytes) with a human readable // utf-8 string describing the most recent error encountered associated // with dynamic libraries. -func rbuVfsDlError(tls *libc.TLS, pVfs uintptr, nByte int32, zErrMsg uintptr) { /* sqlite3.c:208801:13: */ +func rbuVfsDlError(tls *libc.TLS, pVfs uintptr, nByte int32, zErrMsg uintptr) { /* sqlite3.c:208858:13: */ var pRealVfs uintptr = (*Rbu_vfs)(unsafe.Pointer(pVfs)).FpRealVfs (*struct { f func(*libc.TLS, uintptr, int32, uintptr) @@ -168966,7 +168997,7 @@ func rbuVfsDlError(tls *libc.TLS, pVfs uintptr, nByte int32, zErrMsg uintptr) { } // Return a pointer to the symbol zSymbol in the dynamic library pHandle. -func rbuVfsDlSym(tls *libc.TLS, pVfs uintptr, pArg uintptr, zSym uintptr) uintptr { /* sqlite3.c:208809:13: */ +func rbuVfsDlSym(tls *libc.TLS, pVfs uintptr, pArg uintptr, zSym uintptr) uintptr { /* sqlite3.c:208866:13: */ var pRealVfs uintptr = (*Rbu_vfs)(unsafe.Pointer(pVfs)).FpRealVfs return (*struct { f func(*libc.TLS, uintptr, uintptr, uintptr) uintptr @@ -168974,7 +169005,7 @@ func rbuVfsDlSym(tls *libc.TLS, pVfs uintptr, pArg uintptr, zSym uintptr) uintpt } // Close the dynamic library handle pHandle. -func rbuVfsDlClose(tls *libc.TLS, pVfs uintptr, pHandle uintptr) { /* sqlite3.c:208821:13: */ +func rbuVfsDlClose(tls *libc.TLS, pVfs uintptr, pHandle uintptr) { /* sqlite3.c:208878:13: */ var pRealVfs uintptr = (*Rbu_vfs)(unsafe.Pointer(pVfs)).FpRealVfs (*struct { f func(*libc.TLS, uintptr, uintptr) @@ -168983,7 +169014,7 @@ func rbuVfsDlClose(tls *libc.TLS, pVfs uintptr, pHandle uintptr) { /* sqlite3.c: // Populate the buffer pointed to by zBufOut with nByte bytes of // random data. -func rbuVfsRandomness(tls *libc.TLS, pVfs uintptr, nByte int32, zBufOut uintptr) int32 { /* sqlite3.c:208831:12: */ +func rbuVfsRandomness(tls *libc.TLS, pVfs uintptr, nByte int32, zBufOut uintptr) int32 { /* sqlite3.c:208888:12: */ var pRealVfs uintptr = (*Rbu_vfs)(unsafe.Pointer(pVfs)).FpRealVfs return (*struct { f func(*libc.TLS, uintptr, int32, uintptr) int32 @@ -168992,7 +169023,7 @@ func rbuVfsRandomness(tls *libc.TLS, pVfs uintptr, nByte int32, zBufOut uintptr) // Sleep for nMicro microseconds. Return the number of microseconds // actually slept. -func rbuVfsSleep(tls *libc.TLS, pVfs uintptr, nMicro int32) int32 { /* sqlite3.c:208840:12: */ +func rbuVfsSleep(tls *libc.TLS, pVfs uintptr, nMicro int32) int32 { /* sqlite3.c:208897:12: */ var pRealVfs uintptr = (*Rbu_vfs)(unsafe.Pointer(pVfs)).FpRealVfs return (*struct { f func(*libc.TLS, uintptr, int32) int32 @@ -169000,7 +169031,7 @@ func rbuVfsSleep(tls *libc.TLS, pVfs uintptr, nMicro int32) int32 { /* sqlite3.c } // Return the current time as a Julian Day number in *pTimeOut. -func rbuVfsCurrentTime(tls *libc.TLS, pVfs uintptr, pTimeOut uintptr) int32 { /* sqlite3.c:208848:12: */ +func rbuVfsCurrentTime(tls *libc.TLS, pVfs uintptr, pTimeOut uintptr) int32 { /* sqlite3.c:208905:12: */ var pRealVfs uintptr = (*Rbu_vfs)(unsafe.Pointer(pVfs)).FpRealVfs return (*struct { f func(*libc.TLS, uintptr, uintptr) int32 @@ -169008,13 +169039,13 @@ func rbuVfsCurrentTime(tls *libc.TLS, pVfs uintptr, pTimeOut uintptr) int32 { /* } // No-op. -func rbuVfsGetLastError(tls *libc.TLS, pVfs uintptr, a int32, b uintptr) int32 { /* sqlite3.c:208856:12: */ +func rbuVfsGetLastError(tls *libc.TLS, pVfs uintptr, a int32, b uintptr) int32 { /* sqlite3.c:208913:12: */ return 0 } // Deregister and destroy an RBU vfs created by an earlier call to // sqlite3rbu_create_vfs(). -func Xsqlite3rbu_destroy_vfs(tls *libc.TLS, zName uintptr) { /* sqlite3.c:208864:17: */ +func Xsqlite3rbu_destroy_vfs(tls *libc.TLS, zName uintptr) { /* sqlite3.c:208921:17: */ var pVfs uintptr = Xsqlite3_vfs_find(tls, zName) if pVfs != 0 && (*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FxOpen == *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32 @@ -169028,7 +169059,7 @@ func Xsqlite3rbu_destroy_vfs(tls *libc.TLS, zName uintptr) { /* sqlite3.c:208864 // Create an RBU VFS named zName that accesses the underlying file-system // via existing VFS zParent. The new object is registered as a non-default // VFS with SQLite before returning. -func Xsqlite3rbu_create_vfs(tls *libc.TLS, zName uintptr, zParent uintptr) int32 { /* sqlite3.c:208878:16: */ +func Xsqlite3rbu_create_vfs(tls *libc.TLS, zName uintptr, zParent uintptr) int32 { /* sqlite3.c:208935:16: */ var pNew uintptr = uintptr(0) // Newly allocated VFS var rc int32 = SQLITE_OK @@ -169089,17 +169120,17 @@ var vfs_template = Sqlite3_vfs{ FxSleep: 0, // xSleep FxCurrentTime: 0, // xCurrentTime FxGetLastError: 0, // Unimplemented version 3 methods -} /* sqlite3.c:208881:22 */ +} /* sqlite3.c:208938:22 */ // Configure the aggregate temp file size limit for this RBU handle. -func Xsqlite3rbu_temp_size_limit(tls *libc.TLS, pRbu uintptr, n Sqlite3_int64) Sqlite3_int64 { /* sqlite3.c:208956:26: */ +func Xsqlite3rbu_temp_size_limit(tls *libc.TLS, pRbu uintptr, n Sqlite3_int64) Sqlite3_int64 { /* sqlite3.c:209013:26: */ if n >= int64(0) { (*Sqlite3rbu)(unsafe.Pointer(pRbu)).FszTempLimit = n } return (*Sqlite3rbu)(unsafe.Pointer(pRbu)).FszTempLimit } -func Xsqlite3rbu_temp_size(tls *libc.TLS, pRbu uintptr) Sqlite3_int64 { /* sqlite3.c:208963:26: */ +func Xsqlite3rbu_temp_size(tls *libc.TLS, pRbu uintptr) Sqlite3_int64 { /* sqlite3.c:209020:26: */ return (*Sqlite3rbu)(unsafe.Pointer(pRbu)).FszTemp } @@ -169253,7 +169284,7 @@ type SessionTable1 = struct { // #include // #include -type SessionTable = SessionTable1 /* sqlite3.c:210308:29 */ +type SessionTable = SessionTable1 /* sqlite3.c:210365:29 */ type SessionChange1 = struct { Fop U8 FbIndirect U8 @@ -169265,14 +169296,14 @@ type SessionChange1 = struct { FpNext uintptr } /* sqlite3.c:10832:9 */ -type SessionChange = SessionChange1 /* sqlite3.c:210309:30 */ +type SessionChange = SessionChange1 /* sqlite3.c:210366:30 */ type SessionBuffer1 = struct { FaBuf uintptr FnBuf int32 FnAlloc int32 } /* sqlite3.c:10840:9 */ -type SessionBuffer = SessionBuffer1 /* sqlite3.c:210310:30 */ +type SessionBuffer = SessionBuffer1 /* sqlite3.c:210367:30 */ type SessionInput1 = struct { FbNoDiscard int32 FiCurrent int32 @@ -169288,11 +169319,11 @@ type SessionInput1 = struct { F__ccgo_pad3 [4]byte } /* sqlite3.c:10840:9 */ -type SessionInput = SessionInput1 /* sqlite3.c:210311:29 */ +type SessionInput = SessionInput1 /* sqlite3.c:210368:29 */ // Minimum chunk size used by streaming versions of functions. -var sessions_strm_chunk_size int32 = SESSIONS_STRM_CHUNK_SIZE /* sqlite3.c:210324:12 */ +var sessions_strm_chunk_size int32 = SESSIONS_STRM_CHUNK_SIZE /* sqlite3.c:210381:12 */ type SessionHook1 = struct { FpCtx uintptr @@ -169302,11 +169333,11 @@ type SessionHook1 = struct { FxDepth uintptr } /* sqlite3.c:10832:9 */ -type SessionHook = SessionHook1 /* sqlite3.c:210326:28 */ +type SessionHook = SessionHook1 /* sqlite3.c:210383:28 */ // Write a varint with value iVal into the buffer at aBuf. Return the // number of bytes written. -func sessionVarintPut(tls *libc.TLS, aBuf uintptr, iVal int32) int32 { /* sqlite3.c:210604:12: */ +func sessionVarintPut(tls *libc.TLS, aBuf uintptr, iVal int32) int32 { /* sqlite3.c:210661:12: */ return int32(func() uint8 { if U32(iVal) < U32(0x80) { return uint8(func() int32 { *(*U8)(unsafe.Pointer(aBuf)) = uint8(iVal); return 1 }()) @@ -169316,13 +169347,13 @@ func sessionVarintPut(tls *libc.TLS, aBuf uintptr, iVal int32) int32 { /* sqlite } // Return the number of bytes required to store value iVal as a varint. -func sessionVarintLen(tls *libc.TLS, iVal int32) int32 { /* sqlite3.c:210611:12: */ +func sessionVarintLen(tls *libc.TLS, iVal int32) int32 { /* sqlite3.c:210668:12: */ return Xsqlite3VarintLen(tls, uint64(iVal)) } // Read a varint value from aBuf[] into *piVal. Return the number of // bytes read. -func sessionVarintGet(tls *libc.TLS, aBuf uintptr, piVal uintptr) int32 { /* sqlite3.c:210619:12: */ +func sessionVarintGet(tls *libc.TLS, aBuf uintptr, piVal uintptr) int32 { /* sqlite3.c:210676:12: */ return int32(func() uint8 { if int32(*(*U8)(unsafe.Pointer(aBuf))) < int32(U8(0x80)) { return uint8(func() int32 { *(*int32)(unsafe.Pointer(piVal)) = int32(U32(*(*U8)(unsafe.Pointer(aBuf)))); return 1 }()) @@ -169335,7 +169366,7 @@ func sessionVarintGet(tls *libc.TLS, aBuf uintptr, piVal uintptr) int32 { /* sql // Read a 64-bit big-endian integer value from buffer aRec[]. Return // the value read. -func sessionGetI64(tls *libc.TLS, aRec uintptr) Sqlite3_int64 { /* sqlite3.c:210630:22: */ +func sessionGetI64(tls *libc.TLS, aRec uintptr) Sqlite3_int64 { /* sqlite3.c:210687:22: */ var x U64 = U64(U32(*(*U8)(unsafe.Pointer(aRec)))<<24 | U32(int32(*(*U8)(unsafe.Pointer(aRec + 1)))<<16) | U32(int32(*(*U8)(unsafe.Pointer(aRec + 2)))<<8) | U32(*(*U8)(unsafe.Pointer(aRec + 3)))) var y U32 = U32(*(*U8)(unsafe.Pointer(aRec + uintptr(4))))<<24 | U32(int32(*(*U8)(unsafe.Pointer(aRec + uintptr(4) + 1)))<<16) | U32(int32(*(*U8)(unsafe.Pointer(aRec + uintptr(4) + 2)))<<8) | U32(*(*U8)(unsafe.Pointer(aRec + uintptr(4) + 3))) x = x<<32 + U64(y) @@ -169343,7 +169374,7 @@ func sessionGetI64(tls *libc.TLS, aRec uintptr) Sqlite3_int64 { /* sqlite3.c:210 } // Write a 64-bit big-endian integer value to the buffer aBuf[]. -func sessionPutI64(tls *libc.TLS, aBuf uintptr, i Sqlite3_int64) { /* sqlite3.c:210640:13: */ +func sessionPutI64(tls *libc.TLS, aBuf uintptr, i Sqlite3_int64) { /* sqlite3.c:210697:13: */ *(*U8)(unsafe.Pointer(aBuf)) = U8(i >> 56 & int64(0xFF)) *(*U8)(unsafe.Pointer(aBuf + 1)) = U8(i >> 48 & int64(0xFF)) *(*U8)(unsafe.Pointer(aBuf + 2)) = U8(i >> 40 & int64(0xFF)) @@ -169365,7 +169396,7 @@ func sessionPutI64(tls *libc.TLS, aBuf uintptr, i Sqlite3_int64) { /* sqlite3.c: // If no error occurs, SQLITE_OK is returned. Or, if an OOM error occurs // within a call to sqlite3_value_text() (may fail if the db is utf-16)) // SQLITE_NOMEM is returned. -func sessionSerializeValue(tls *libc.TLS, aBuf uintptr, pValue uintptr, pnWrite uintptr) int32 { /* sqlite3.c:210664:12: */ +func sessionSerializeValue(tls *libc.TLS, aBuf uintptr, pValue uintptr, pnWrite uintptr) int32 { /* sqlite3.c:210721:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -169453,7 +169484,7 @@ func sessionSerializeValue(tls *libc.TLS, aBuf uintptr, pValue uintptr, pnWrite // Allocate and return a pointer to a buffer nByte bytes in size. If // pSession is not NULL, increase the sqlite3_session.nMalloc variable // by the number of bytes allocated. -func sessionMalloc64(tls *libc.TLS, pSession uintptr, nByte I64) uintptr { /* sqlite3.c:210740:13: */ +func sessionMalloc64(tls *libc.TLS, pSession uintptr, nByte I64) uintptr { /* sqlite3.c:210797:13: */ var pRet uintptr = Xsqlite3_malloc64(tls, uint64(nByte)) if pSession != 0 { *(*I64)(unsafe.Pointer(pSession + 56)) += I64(Xsqlite3_msize(tls, pRet)) @@ -169464,7 +169495,7 @@ func sessionMalloc64(tls *libc.TLS, pSession uintptr, nByte I64) uintptr { /* sq // Free buffer pFree, which must have been allocated by an earlier // call to sessionMalloc64(). If pSession is not NULL, decrease the // sqlite3_session.nMalloc counter by the number of bytes freed. -func sessionFree(tls *libc.TLS, pSession uintptr, pFree uintptr) { /* sqlite3.c:210751:13: */ +func sessionFree(tls *libc.TLS, pSession uintptr, pFree uintptr) { /* sqlite3.c:210808:13: */ if pSession != 0 { *(*I64)(unsafe.Pointer(pSession + 56)) -= I64(Xsqlite3_msize(tls, pFree)) } @@ -169487,14 +169518,14 @@ func sessionFree(tls *libc.TLS, pSession uintptr, pFree uintptr) { /* sqlite3.c: // Append the hash of the 64-bit integer passed as the second argument to the // hash-key value passed as the first. Return the new hash-key value. -func sessionHashAppendI64(tls *libc.TLS, h uint32, i I64) uint32 { /* sqlite3.c:210777:21: */ +func sessionHashAppendI64(tls *libc.TLS, h uint32, i I64) uint32 { /* sqlite3.c:210834:21: */ h = h<<3 ^ h ^ uint32(i&int64(0xFFFFFFFF)) return h<<3 ^ h ^ uint32(i>>32&int64(0xFFFFFFFF)) } // Append the hash of the blob passed via the second and third arguments to // the hash-key value passed as the first. Return the new hash-key value. -func sessionHashAppendBlob(tls *libc.TLS, h uint32, n int32, z uintptr) uint32 { /* sqlite3.c:210786:21: */ +func sessionHashAppendBlob(tls *libc.TLS, h uint32, n int32, z uintptr) uint32 { /* sqlite3.c:210843:21: */ var i int32 for i = 0; i < n; i++ { h = h<<3 ^ h ^ uint32(*(*U8)(unsafe.Pointer(z + uintptr(i)))) @@ -169504,7 +169535,7 @@ func sessionHashAppendBlob(tls *libc.TLS, h uint32, n int32, z uintptr) uint32 { // Append the hash of the data type passed as the second argument to the // hash-key value passed as the first. Return the new hash-key value. -func sessionHashAppendType(tls *libc.TLS, h uint32, eType int32) uint32 { /* sqlite3.c:210796:21: */ +func sessionHashAppendType(tls *libc.TLS, h uint32, eType int32) uint32 { /* sqlite3.c:210853:21: */ return h<<3 ^ h ^ uint32(eType) } @@ -169517,7 +169548,7 @@ func sessionHashAppendType(tls *libc.TLS, h uint32, eType int32) uint32 { /* sql // If an error occurs, an SQLite error code is returned and the final values // of *piHash asn *pbNullPK are undefined. Otherwise, SQLITE_OK is returned // and the output variables are set as described above. -func sessionPreupdateHash(tls *libc.TLS, pSession uintptr, pTab uintptr, bNew int32, piHash uintptr, pbNullPK uintptr) int32 { /* sqlite3.c:210811:12: */ +func sessionPreupdateHash(tls *libc.TLS, pSession uintptr, pTab uintptr, bNew int32, piHash uintptr, pbNullPK uintptr) int32 { /* sqlite3.c:210868:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -169583,7 +169614,7 @@ func sessionPreupdateHash(tls *libc.TLS, pSession uintptr, pTab uintptr, bNew in // The buffer that the argument points to contains a serialized SQL value. // Return the number of bytes of space occupied by the value (including // the type byte). -func sessionSerialLen(tls *libc.TLS, a uintptr) int32 { /* sqlite3.c:210876:12: */ +func sessionSerialLen(tls *libc.TLS, a uintptr) int32 { /* sqlite3.c:210933:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -169609,7 +169640,7 @@ func sessionSerialLen(tls *libc.TLS, a uintptr) int32 { /* sqlite3.c:210876:12: // // The bPkOnly argument is non-zero if the record at aRecord[] is from // a patchset DELETE. In this case the non-PK fields are omitted entirely. -func sessionChangeHash(tls *libc.TLS, pTab uintptr, bPkOnly int32, aRecord uintptr, nBucket int32) uint32 { /* sqlite3.c:210894:21: */ +func sessionChangeHash(tls *libc.TLS, pTab uintptr, bPkOnly int32, aRecord uintptr, nBucket int32) uint32 { /* sqlite3.c:210951:21: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -169652,7 +169683,7 @@ func sessionChangeHash(tls *libc.TLS, pTab uintptr, bPkOnly int32, aRecord uintp // This function returns true if the two records apply to the same row (i.e. // have the same values stored in the primary key columns), or false // otherwise. -func sessionChangeEqual(tls *libc.TLS, pTab uintptr, bLeftPkOnly int32, aLeft uintptr, bRightPkOnly int32, aRight uintptr) int32 { /* sqlite3.c:210943:12: */ +func sessionChangeEqual(tls *libc.TLS, pTab uintptr, bLeftPkOnly int32, aLeft uintptr, bRightPkOnly int32, aRight uintptr) int32 { /* sqlite3.c:211000:12: */ var a1 uintptr = aLeft // Cursor to iterate through aLeft var a2 uintptr = aRight // Cursor to iterate through aRight var iCol int32 // Used to iterate through table columns @@ -169691,7 +169722,7 @@ func sessionChangeEqual(tls *libc.TLS, pTab uintptr, bLeftPkOnly int32, aLeft ui // their. Otherwise, if aLeft contains a value, copy it. If neither // record contains a value for a given column, then neither does the // output record. -func sessionMergeRecord(tls *libc.TLS, paOut uintptr, nCol int32, aLeft uintptr, aRight uintptr) { /* sqlite3.c:210986:13: */ +func sessionMergeRecord(tls *libc.TLS, paOut uintptr, nCol int32, aLeft uintptr, aRight uintptr) { /* sqlite3.c:211043:13: */ var a1 uintptr = aLeft // Cursor used to iterate through aLeft var a2 uintptr = aRight // Cursor used to iterate through aRight var aOut uintptr = *(*uintptr)(unsafe.Pointer(paOut)) // Output cursor @@ -169730,7 +169761,7 @@ func sessionMergeRecord(tls *libc.TLS, paOut uintptr, nCol int32, aLeft uintptr, // if( *paTwo is valid ) return *paTwo; // return *paOne; // -func sessionMergeValue(tls *libc.TLS, paOne uintptr, paTwo uintptr, pnVal uintptr) uintptr { /* sqlite3.c:211032:11: */ +func sessionMergeValue(tls *libc.TLS, paOne uintptr, paTwo uintptr, pnVal uintptr) uintptr { /* sqlite3.c:211089:11: */ var a1 uintptr = *(*uintptr)(unsafe.Pointer(paOne)) var a2 uintptr = *(*uintptr)(unsafe.Pointer(paTwo)) var pRet uintptr = uintptr(0) @@ -169757,7 +169788,7 @@ func sessionMergeValue(tls *libc.TLS, paOne uintptr, paTwo uintptr, pnVal uintpt // This function is used by changeset_concat() to merge two UPDATE changes // on the same row. -func sessionMergeUpdate(tls *libc.TLS, paOut uintptr, pTab uintptr, bPatchset int32, aOldRecord1 uintptr, aOldRecord2 uintptr, aNewRecord1 uintptr, aNewRecord2 uintptr) int32 { /* sqlite3.c:211066:12: */ +func sessionMergeUpdate(tls *libc.TLS, paOut uintptr, pTab uintptr, bPatchset int32, aOldRecord1 uintptr, aOldRecord2 uintptr, aNewRecord1 uintptr, aNewRecord2 uintptr) int32 { /* sqlite3.c:211123:12: */ bp := tls.Alloc(52) defer tls.Free(52) @@ -169832,7 +169863,7 @@ func sessionMergeUpdate(tls *libc.TLS, paOut uintptr, pTab uintptr, bPatchset in // as the change stored in argument pChange. If so, it returns true. Otherwise // if the pre-update-hook does not affect the same row as pChange, it returns // false. -func sessionPreupdateEqual(tls *libc.TLS, pSession uintptr, pTab uintptr, pChange uintptr, op int32) int32 { /* sqlite3.c:211143:12: */ +func sessionPreupdateEqual(tls *libc.TLS, pSession uintptr, pTab uintptr, pChange uintptr, op int32) int32 { /* sqlite3.c:211200:12: */ bp := tls.Alloc(28) defer tls.Free(28) @@ -169920,7 +169951,7 @@ func sessionPreupdateEqual(tls *libc.TLS, pSession uintptr, pTab uintptr, pChang // that case the hash-table does not grow, but SQLITE_OK is returned anyway. // Growing the hash table in this case is a performance optimization only, // it is not required for correct operation. -func sessionGrowHash(tls *libc.TLS, pSession uintptr, bPatchset int32, pTab uintptr) int32 { /* sqlite3.c:211222:12: */ +func sessionGrowHash(tls *libc.TLS, pSession uintptr, bPatchset int32, pTab uintptr) int32 { /* sqlite3.c:211279:12: */ if (*SessionTable)(unsafe.Pointer(pTab)).FnChange == 0 || (*SessionTable)(unsafe.Pointer(pTab)).FnEntry >= (*SessionTable)(unsafe.Pointer(pTab)).FnChange/2 { var i int32 var apNew uintptr @@ -169984,7 +170015,7 @@ func sessionGrowHash(tls *libc.TLS, pSession uintptr, bPatchset int32, pTab uint // // All returned buffers are part of the same single allocation, which must // be freed using sqlite3_free() by the caller -func sessionTableInfo(tls *libc.TLS, pSession uintptr, db uintptr, zDb uintptr, zThis uintptr, pnCol uintptr, pzTab uintptr, pazCol uintptr, pabPK uintptr) int32 { /* sqlite3.c:211288:12: */ +func sessionTableInfo(tls *libc.TLS, pSession uintptr, db uintptr, zDb uintptr, zThis uintptr, pnCol uintptr, pzTab uintptr, pazCol uintptr, pabPK uintptr) int32 { /* sqlite3.c:211345:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -170115,7 +170146,7 @@ func sessionTableInfo(tls *libc.TLS, pSession uintptr, db uintptr, zDb uintptr, // key, sqlite3_session.rc is left set to SQLITE_OK and non-zero returned to // indicate that updates on this table should be ignored. SessionTable.abPK // is set to NULL in this case. -func sessionInitTable(tls *libc.TLS, pSession uintptr, pTab uintptr) int32 { /* sqlite3.c:211421:12: */ +func sessionInitTable(tls *libc.TLS, pSession uintptr, pTab uintptr) int32 { /* sqlite3.c:211478:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -170151,15 +170182,15 @@ func sessionInitTable(tls *libc.TLS, pSession uintptr, pTab uintptr) int32 { /* type SessionStat1Ctx1 = struct { Fhook SessionHook FpSession uintptr -} /* sqlite3.c:211456:9 */ +} /* sqlite3.c:211513:9 */ // Versions of the four methods in object SessionHook for use with the // sqlite_stat1 table. The purpose of this is to substitute a zero-length // blob each time a NULL value is read from the "idx" column of the // sqlite_stat1 table. -type SessionStat1Ctx = SessionStat1Ctx1 /* sqlite3.c:211456:32 */ +type SessionStat1Ctx = SessionStat1Ctx1 /* sqlite3.c:211513:32 */ -func sessionStat1Old(tls *libc.TLS, pCtx uintptr, iCol int32, ppVal uintptr) int32 { /* sqlite3.c:211461:12: */ +func sessionStat1Old(tls *libc.TLS, pCtx uintptr, iCol int32, ppVal uintptr) int32 { /* sqlite3.c:211518:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -170175,7 +170206,7 @@ func sessionStat1Old(tls *libc.TLS, pCtx uintptr, iCol int32, ppVal uintptr) int return rc } -func sessionStat1New(tls *libc.TLS, pCtx uintptr, iCol int32, ppVal uintptr) int32 { /* sqlite3.c:211471:12: */ +func sessionStat1New(tls *libc.TLS, pCtx uintptr, iCol int32, ppVal uintptr) int32 { /* sqlite3.c:211528:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -170191,21 +170222,21 @@ func sessionStat1New(tls *libc.TLS, pCtx uintptr, iCol int32, ppVal uintptr) int return rc } -func sessionStat1Count(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:211481:12: */ +func sessionStat1Count(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:211538:12: */ var p uintptr = pCtx return (*struct { f func(*libc.TLS, uintptr) int32 })(unsafe.Pointer(&struct{ uintptr }{(*SessionStat1Ctx)(unsafe.Pointer(p)).Fhook.FxCount})).f(tls, (*SessionStat1Ctx)(unsafe.Pointer(p)).Fhook.FpCtx) } -func sessionStat1Depth(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:211485:12: */ +func sessionStat1Depth(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:211542:12: */ var p uintptr = pCtx return (*struct { f func(*libc.TLS, uintptr) int32 })(unsafe.Pointer(&struct{ uintptr }{(*SessionStat1Ctx)(unsafe.Pointer(p)).Fhook.FxDepth})).f(tls, (*SessionStat1Ctx)(unsafe.Pointer(p)).Fhook.FpCtx) } -func sessionUpdateMaxSize(tls *libc.TLS, op int32, pSession uintptr, pTab uintptr, pC uintptr) int32 { /* sqlite3.c:211490:12: */ +func sessionUpdateMaxSize(tls *libc.TLS, op int32, pSession uintptr, pTab uintptr, pC uintptr) int32 { /* sqlite3.c:211547:12: */ bp := tls.Alloc(44) defer tls.Free(44) @@ -170319,7 +170350,7 @@ func sessionUpdateMaxSize(tls *libc.TLS, op int32, pSession uintptr, pTab uintpt // // Unless one is already present or an error occurs, an entry is added // to the changed-rows hash table associated with table pTab. -func sessionPreupdateOneChange(tls *libc.TLS, op int32, pSession uintptr, pTab uintptr) { /* sqlite3.c:211596:13: */ +func sessionPreupdateOneChange(tls *libc.TLS, op int32, pSession uintptr, pTab uintptr) { /* sqlite3.c:211653:13: */ bp := tls.Alloc(80) defer tls.Free(80) @@ -170615,7 +170646,7 @@ __35: __36: } -func sessionFindTable(tls *libc.TLS, pSession uintptr, zName uintptr, ppTab uintptr) int32 { /* sqlite3.c:211745:12: */ +func sessionFindTable(tls *libc.TLS, pSession uintptr, zName uintptr, ppTab uintptr) int32 { /* sqlite3.c:211802:12: */ var rc int32 = SQLITE_OK var nName int32 = Xsqlite3Strlen30(tls, zName) var pRet uintptr @@ -170650,7 +170681,7 @@ func sessionFindTable(tls *libc.TLS, pSession uintptr, zName uintptr, ppTab uint } // The 'pre-update' hook registered by this module with SQLite databases. -func xPreUpdate(tls *libc.TLS, pCtx uintptr, db uintptr, op int32, zDb uintptr, zName uintptr, iKey1 Sqlite3_int64, iKey2 Sqlite3_int64) { /* sqlite3.c:211785:13: */ +func xPreUpdate(tls *libc.TLS, pCtx uintptr, db uintptr, op int32, zDb uintptr, zName uintptr, iKey1 Sqlite3_int64, iKey2 Sqlite3_int64) { /* sqlite3.c:211842:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -170685,25 +170716,25 @@ func xPreUpdate(tls *libc.TLS, pCtx uintptr, db uintptr, op int32, zDb uintptr, } // The pre-update hook implementations. -func sessionPreupdateOld(tls *libc.TLS, pCtx uintptr, iVal int32, ppVal uintptr) int32 { /* sqlite3.c:211823:12: */ +func sessionPreupdateOld(tls *libc.TLS, pCtx uintptr, iVal int32, ppVal uintptr) int32 { /* sqlite3.c:211880:12: */ return Xsqlite3_preupdate_old(tls, pCtx, iVal, ppVal) } -func sessionPreupdateNew(tls *libc.TLS, pCtx uintptr, iVal int32, ppVal uintptr) int32 { /* sqlite3.c:211826:12: */ +func sessionPreupdateNew(tls *libc.TLS, pCtx uintptr, iVal int32, ppVal uintptr) int32 { /* sqlite3.c:211883:12: */ return Xsqlite3_preupdate_new(tls, pCtx, iVal, ppVal) } -func sessionPreupdateCount(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:211829:12: */ +func sessionPreupdateCount(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:211886:12: */ return Xsqlite3_preupdate_count(tls, pCtx) } -func sessionPreupdateDepth(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:211832:12: */ +func sessionPreupdateDepth(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:211889:12: */ return Xsqlite3_preupdate_depth(tls, pCtx) } // Install the pre-update hooks on the session object passed as the only // argument. -func sessionPreupdateHooks(tls *libc.TLS, pSession uintptr) { /* sqlite3.c:211840:13: */ +func sessionPreupdateHooks(tls *libc.TLS, pSession uintptr) { /* sqlite3.c:211897:13: */ (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx = (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FxOld = *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) int32 @@ -170723,24 +170754,24 @@ type SessionDiffCtx1 = struct { FpStmt uintptr FnOldOff int32 F__ccgo_pad1 [4]byte -} /* sqlite3.c:211850:9 */ +} /* sqlite3.c:211907:9 */ -type SessionDiffCtx = SessionDiffCtx1 /* sqlite3.c:211850:31 */ +type SessionDiffCtx = SessionDiffCtx1 /* sqlite3.c:211907:31 */ // The diff hook implementations. -func sessionDiffOld(tls *libc.TLS, pCtx uintptr, iVal int32, ppVal uintptr) int32 { /* sqlite3.c:211859:12: */ +func sessionDiffOld(tls *libc.TLS, pCtx uintptr, iVal int32, ppVal uintptr) int32 { /* sqlite3.c:211916:12: */ var p uintptr = pCtx *(*uintptr)(unsafe.Pointer(ppVal)) = Xsqlite3_column_value(tls, (*SessionDiffCtx)(unsafe.Pointer(p)).FpStmt, iVal+(*SessionDiffCtx)(unsafe.Pointer(p)).FnOldOff) return SQLITE_OK } -func sessionDiffNew(tls *libc.TLS, pCtx uintptr, iVal int32, ppVal uintptr) int32 { /* sqlite3.c:211864:12: */ +func sessionDiffNew(tls *libc.TLS, pCtx uintptr, iVal int32, ppVal uintptr) int32 { /* sqlite3.c:211921:12: */ var p uintptr = pCtx *(*uintptr)(unsafe.Pointer(ppVal)) = Xsqlite3_column_value(tls, (*SessionDiffCtx)(unsafe.Pointer(p)).FpStmt, iVal) return SQLITE_OK } -func sessionDiffCount(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:211869:12: */ +func sessionDiffCount(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:211926:12: */ var p uintptr = pCtx if (*SessionDiffCtx)(unsafe.Pointer(p)).FnOldOff != 0 { return (*SessionDiffCtx)(unsafe.Pointer(p)).FnOldOff @@ -170748,13 +170779,13 @@ func sessionDiffCount(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:211869:1 return Xsqlite3_column_count(tls, (*SessionDiffCtx)(unsafe.Pointer(p)).FpStmt) } -func sessionDiffDepth(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:211873:12: */ +func sessionDiffDepth(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:211930:12: */ return 0 } // Install the diff hooks on the session object passed as the only // argument. -func sessionDiffHooks(tls *libc.TLS, pSession uintptr, pDiffCtx uintptr) { /* sqlite3.c:211881:13: */ +func sessionDiffHooks(tls *libc.TLS, pSession uintptr, pDiffCtx uintptr) { /* sqlite3.c:211938:13: */ (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx = pDiffCtx (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FxOld = *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) int32 @@ -170770,7 +170801,7 @@ func sessionDiffHooks(tls *libc.TLS, pSession uintptr, pDiffCtx uintptr) { /* sq }{sessionDiffDepth})) } -func sessionExprComparePK(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uintptr, zTab uintptr, azCol uintptr, abPK uintptr) uintptr { /* sqlite3.c:211892:13: */ +func sessionExprComparePK(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uintptr, zTab uintptr, azCol uintptr, abPK uintptr) uintptr { /* sqlite3.c:211949:13: */ bp := tls.Alloc(64) defer tls.Free(64) @@ -170792,7 +170823,7 @@ func sessionExprComparePK(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uintptr, return zRet } -func sessionExprCompareOther(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uintptr, zTab uintptr, azCol uintptr, abPK uintptr) uintptr { /* sqlite3.c:211915:13: */ +func sessionExprCompareOther(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uintptr, zTab uintptr, azCol uintptr, abPK uintptr) uintptr { /* sqlite3.c:211972:13: */ bp := tls.Alloc(64) defer tls.Free(64) @@ -170822,7 +170853,7 @@ func sessionExprCompareOther(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uintp return zRet } -func sessionSelectFindNew(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uintptr, zTbl uintptr, zExpr uintptr) uintptr { /* sqlite3.c:211946:13: */ +func sessionSelectFindNew(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uintptr, zTbl uintptr, zExpr uintptr) uintptr { /* sqlite3.c:212003:13: */ bp := tls.Alloc(40) defer tls.Free(40) @@ -170833,7 +170864,7 @@ func sessionSelectFindNew(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uintptr, return zRet } -func sessionDiffFindNew(tls *libc.TLS, op int32, pSession uintptr, pTab uintptr, zDb1 uintptr, zDb2 uintptr, zExpr uintptr) int32 { /* sqlite3.c:211962:12: */ +func sessionDiffFindNew(tls *libc.TLS, op int32, pSession uintptr, pTab uintptr, zDb1 uintptr, zDb2 uintptr, zExpr uintptr) int32 { /* sqlite3.c:212019:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -170861,7 +170892,7 @@ func sessionDiffFindNew(tls *libc.TLS, op int32, pSession uintptr, pTab uintptr, return rc } -func sessionDiffFindModified(tls *libc.TLS, pSession uintptr, pTab uintptr, zFrom uintptr, zExpr uintptr) int32 { /* sqlite3.c:211993:12: */ +func sessionDiffFindModified(tls *libc.TLS, pSession uintptr, pTab uintptr, zFrom uintptr, zExpr uintptr) int32 { /* sqlite3.c:212050:12: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -170898,7 +170929,7 @@ func sessionDiffFindModified(tls *libc.TLS, pSession uintptr, pTab uintptr, zFro return rc } -func Xsqlite3session_diff(tls *libc.TLS, pSession uintptr, zFrom uintptr, zTbl uintptr, pzErrMsg uintptr) int32 { /* sqlite3.c:212033:16: */ +func Xsqlite3session_diff(tls *libc.TLS, pSession uintptr, zFrom uintptr, zTbl uintptr, pzErrMsg uintptr) int32 { /* sqlite3.c:212090:16: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -171071,7 +171102,7 @@ diff_out: // Create a session object. This session object will record changes to // database zDb attached to connection db. -func Xsqlite3session_create(tls *libc.TLS, db uintptr, zDb uintptr, ppSession uintptr) int32 { /* sqlite3.c:212128:16: */ +func Xsqlite3session_create(tls *libc.TLS, db uintptr, zDb uintptr, ppSession uintptr) int32 { /* sqlite3.c:212185:16: */ var pNew uintptr // Newly allocated session object var pOld uintptr // Session object already attached to db var nDb int32 = Xsqlite3Strlen30(tls, zDb) // Length of zDb in bytes @@ -171107,7 +171138,7 @@ func Xsqlite3session_create(tls *libc.TLS, db uintptr, zDb uintptr, ppSession ui // Free the list of table objects passed as the first argument. The contents // of the changed-rows hash tables are also deleted. -func sessionDeleteTable(tls *libc.TLS, pSession uintptr, pList uintptr) { /* sqlite3.c:212166:13: */ +func sessionDeleteTable(tls *libc.TLS, pSession uintptr, pList uintptr) { /* sqlite3.c:212223:13: */ var pNext uintptr var pTab uintptr @@ -171129,7 +171160,7 @@ func sessionDeleteTable(tls *libc.TLS, pSession uintptr, pList uintptr) { /* sql } // Delete a session object previously allocated using sqlite3session_create(). -func Xsqlite3session_delete(tls *libc.TLS, pSession uintptr) { /* sqlite3.c:212190:17: */ +func Xsqlite3session_delete(tls *libc.TLS, pSession uintptr) { /* sqlite3.c:212247:17: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -171167,7 +171198,7 @@ func Xsqlite3session_delete(tls *libc.TLS, pSession uintptr) { /* sqlite3.c:2121 } // Set a table filter on a Session Object. -func Xsqlite3session_table_filter(tls *libc.TLS, pSession uintptr, xFilter uintptr, pCtx uintptr) { /* sqlite3.c:212222:17: */ +func Xsqlite3session_table_filter(tls *libc.TLS, pSession uintptr, xFilter uintptr, pCtx uintptr) { /* sqlite3.c:212279:17: */ (*Sqlite3_session)(unsafe.Pointer(pSession)).FbAutoAttach = 1 (*Sqlite3_session)(unsafe.Pointer(pSession)).FpFilterCtx = pCtx (*Sqlite3_session)(unsafe.Pointer(pSession)).FxTableFilter = xFilter @@ -171179,7 +171210,7 @@ func Xsqlite3session_table_filter(tls *libc.TLS, pSession uintptr, xFilter uintp // Only tables that have a PRIMARY KEY defined may be attached. It does // not matter if the PRIMARY KEY is an "INTEGER PRIMARY KEY" (rowid alias) // or not. -func Xsqlite3session_attach(tls *libc.TLS, pSession uintptr, zName uintptr) int32 { /* sqlite3.c:212240:16: */ +func Xsqlite3session_attach(tls *libc.TLS, pSession uintptr, zName uintptr) int32 { /* sqlite3.c:212297:16: */ var rc int32 = SQLITE_OK Xsqlite3_mutex_enter(tls, Xsqlite3_db_mutex(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb)) @@ -171230,7 +171261,7 @@ func Xsqlite3session_attach(tls *libc.TLS, pSession uintptr, zName uintptr) int3 // // If successful, return zero. Otherwise, if an OOM condition is encountered, // set *pRc to SQLITE_NOMEM and return non-zero. -func sessionBufferGrow(tls *libc.TLS, p uintptr, nByte I64, pRc uintptr) int32 { /* sqlite3.c:212293:12: */ +func sessionBufferGrow(tls *libc.TLS, p uintptr, nByte I64, pRc uintptr) int32 { /* sqlite3.c:212350:12: */ var nReq I64 = I64((*SessionBuffer)(unsafe.Pointer(p)).FnBuf) + nByte if *(*int32)(unsafe.Pointer(pRc)) == SQLITE_OK && nReq > I64((*SessionBuffer)(unsafe.Pointer(p)).FnAlloc) { var aNew uintptr @@ -171275,7 +171306,7 @@ func sessionBufferGrow(tls *libc.TLS, p uintptr, nByte I64, pRc uintptr) int32 { // This function is a no-op if *pRc is non-zero when it is called. // Otherwise, if an error occurs, *pRc is set to an SQLite error code // before returning. -func sessionAppendValue(tls *libc.TLS, p uintptr, pVal uintptr, pRc uintptr) { /* sqlite3.c:212336:13: */ +func sessionAppendValue(tls *libc.TLS, p uintptr, pVal uintptr, pRc uintptr) { /* sqlite3.c:212393:13: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -171298,7 +171329,7 @@ func sessionAppendValue(tls *libc.TLS, p uintptr, pVal uintptr, pRc uintptr) { / // // If an OOM condition is encountered, set *pRc to SQLITE_NOMEM before // returning. -func sessionAppendByte(tls *libc.TLS, p uintptr, v U8, pRc uintptr) { /* sqlite3.c:212358:13: */ +func sessionAppendByte(tls *libc.TLS, p uintptr, v U8, pRc uintptr) { /* sqlite3.c:212415:13: */ if 0 == sessionBufferGrow(tls, p, int64(1), pRc) { *(*U8)(unsafe.Pointer((*SessionBuffer)(unsafe.Pointer(p)).FaBuf + uintptr(libc.PostIncInt32(&(*SessionBuffer)(unsafe.Pointer(p)).FnBuf, 1)))) = v } @@ -171309,7 +171340,7 @@ func sessionAppendByte(tls *libc.TLS, p uintptr, v U8, pRc uintptr) { /* sqlite3 // // If an OOM condition is encountered, set *pRc to SQLITE_NOMEM before // returning. -func sessionAppendVarint(tls *libc.TLS, p uintptr, v int32, pRc uintptr) { /* sqlite3.c:212371:13: */ +func sessionAppendVarint(tls *libc.TLS, p uintptr, v int32, pRc uintptr) { /* sqlite3.c:212428:13: */ if 0 == sessionBufferGrow(tls, p, int64(9), pRc) { *(*int32)(unsafe.Pointer(p + 8)) += sessionVarintPut(tls, (*SessionBuffer)(unsafe.Pointer(p)).FaBuf+uintptr((*SessionBuffer)(unsafe.Pointer(p)).FnBuf), v) } @@ -171320,7 +171351,7 @@ func sessionAppendVarint(tls *libc.TLS, p uintptr, v int32, pRc uintptr) { /* sq // // If an OOM condition is encountered, set *pRc to SQLITE_NOMEM before // returning. -func sessionAppendBlob(tls *libc.TLS, p uintptr, aBlob uintptr, nBlob int32, pRc uintptr) { /* sqlite3.c:212384:13: */ +func sessionAppendBlob(tls *libc.TLS, p uintptr, aBlob uintptr, nBlob int32, pRc uintptr) { /* sqlite3.c:212441:13: */ if nBlob > 0 && 0 == sessionBufferGrow(tls, p, int64(nBlob), pRc) { libc.Xmemcpy(tls, (*SessionBuffer)(unsafe.Pointer(p)).FaBuf+uintptr((*SessionBuffer)(unsafe.Pointer(p)).FnBuf), aBlob, uint64(nBlob)) *(*int32)(unsafe.Pointer(p + 8)) += nBlob @@ -171333,7 +171364,7 @@ func sessionAppendBlob(tls *libc.TLS, p uintptr, aBlob uintptr, nBlob int32, pRc // // If an OOM condition is encountered, set *pRc to SQLITE_NOMEM before // returning. -func sessionAppendStr(tls *libc.TLS, p uintptr, zStr uintptr, pRc uintptr) { /* sqlite3.c:212404:13: */ +func sessionAppendStr(tls *libc.TLS, p uintptr, zStr uintptr, pRc uintptr) { /* sqlite3.c:212461:13: */ var nStr int32 = Xsqlite3Strlen30(tls, zStr) if 0 == sessionBufferGrow(tls, p, int64(nStr), pRc) { libc.Xmemcpy(tls, (*SessionBuffer)(unsafe.Pointer(p)).FaBuf+uintptr((*SessionBuffer)(unsafe.Pointer(p)).FnBuf), zStr, uint64(nStr)) @@ -171347,7 +171378,7 @@ func sessionAppendStr(tls *libc.TLS, p uintptr, zStr uintptr, pRc uintptr) { /* // // If an OOM condition is encountered, set *pRc to SQLITE_NOMEM before // returning. -func sessionAppendInteger(tls *libc.TLS, p uintptr, iVal int32, pRc uintptr) { /* sqlite3.c:212424:13: */ +func sessionAppendInteger(tls *libc.TLS, p uintptr, iVal int32, pRc uintptr) { /* sqlite3.c:212481:13: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -171364,7 +171395,7 @@ func sessionAppendInteger(tls *libc.TLS, p uintptr, iVal int32, pRc uintptr) { / // // If an OOM condition is encountered, set *pRc to SQLITE_NOMEM before // returning. -func sessionAppendIdent(tls *libc.TLS, p uintptr, zStr uintptr, pRc uintptr) { /* sqlite3.c:212443:13: */ +func sessionAppendIdent(tls *libc.TLS, p uintptr, zStr uintptr, pRc uintptr) { /* sqlite3.c:212500:13: */ var nStr int32 = Xsqlite3Strlen30(tls, zStr)*2 + 2 + 1 if 0 == sessionBufferGrow(tls, p, int64(nStr), pRc) { var zOut uintptr = (*SessionBuffer)(unsafe.Pointer(p)).FaBuf + uintptr((*SessionBuffer)(unsafe.Pointer(p)).FnBuf) @@ -171385,7 +171416,7 @@ func sessionAppendIdent(tls *libc.TLS, p uintptr, zStr uintptr, pRc uintptr) { / // called. Otherwse, it appends the serialized version of the value stored // in column iCol of the row that SQL statement pStmt currently points // to to the buffer. -func sessionAppendCol(tls *libc.TLS, p uintptr, pStmt uintptr, iCol int32, pRc uintptr) { /* sqlite3.c:212468:13: */ +func sessionAppendCol(tls *libc.TLS, p uintptr, pStmt uintptr, iCol int32, pRc uintptr) { /* sqlite3.c:212525:13: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -171445,7 +171476,7 @@ func sessionAppendCol(tls *libc.TLS, p uintptr, pStmt uintptr, iCol int32, pRc u // Otherwise, the old.* record contains all primary key values and the // original values of any fields that have been modified. The new.* record // contains the new values of only those fields that have been modified. -func sessionAppendUpdate(tls *libc.TLS, pBuf uintptr, bPatchset int32, pStmt uintptr, p uintptr, abPK uintptr) int32 { /* sqlite3.c:212530:12: */ +func sessionAppendUpdate(tls *libc.TLS, pBuf uintptr, bPatchset int32, pStmt uintptr, p uintptr, abPK uintptr) int32 { /* sqlite3.c:212587:12: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -171551,7 +171582,7 @@ func sessionAppendUpdate(tls *libc.TLS, pBuf uintptr, bPatchset int32, pStmt uin // Append a DELETE change to the buffer passed as the first argument. Use // the changeset format if argument bPatchset is zero, or the patchset // format otherwise. -func sessionAppendDelete(tls *libc.TLS, pBuf uintptr, bPatchset int32, p uintptr, nCol int32, abPK uintptr) int32 { /* sqlite3.c:212630:12: */ +func sessionAppendDelete(tls *libc.TLS, pBuf uintptr, bPatchset int32, p uintptr, nCol int32, abPK uintptr) int32 { /* sqlite3.c:212687:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -171608,7 +171639,7 @@ func sessionAppendDelete(tls *libc.TLS, pBuf uintptr, bPatchset int32, p uintptr // zTab in database zDb based on its primary key. i.e. // // SELECT * FROM zDb.zTab WHERE pk1 = ? AND pk2 = ? AND ... -func sessionSelectStmt(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, nCol int32, azCol uintptr, abPK uintptr, ppStmt uintptr) int32 { /* sqlite3.c:212685:12: */ +func sessionSelectStmt(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, nCol int32, azCol uintptr, abPK uintptr, ppStmt uintptr) int32 { /* sqlite3.c:212742:12: */ bp := tls.Alloc(28) defer tls.Free(28) @@ -171659,7 +171690,7 @@ func sessionSelectStmt(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, nCo // // Return SQLITE_OK if all PK values are successfully bound, or an SQLite // error code (e.g. SQLITE_NOMEM) otherwise. -func sessionSelectBind(tls *libc.TLS, pSelect uintptr, nCol int32, abPK uintptr, pChange uintptr) int32 { /* sqlite3.c:212742:12: */ +func sessionSelectBind(tls *libc.TLS, pSelect uintptr, nCol int32, abPK uintptr, pChange uintptr) int32 { /* sqlite3.c:212799:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -171737,7 +171768,7 @@ func sessionSelectBind(tls *libc.TLS, pSelect uintptr, nCol int32, abPK uintptr, // is called. Otherwise, append a serialized table header (part of the binary // changeset format) to buffer *pBuf. If an error occurs, set *pRc to an // SQLite error code before returning. -func sessionAppendTableHdr(tls *libc.TLS, pBuf uintptr, bPatchset int32, pTab uintptr, pRc uintptr) { /* sqlite3.c:212813:13: */ +func sessionAppendTableHdr(tls *libc.TLS, pBuf uintptr, bPatchset int32, pTab uintptr, pRc uintptr) { /* sqlite3.c:212870:13: */ // Write a table header sessionAppendByte(tls, pBuf, func() uint8 { if bPatchset != 0 { @@ -171758,7 +171789,7 @@ func sessionAppendTableHdr(tls *libc.TLS, pBuf uintptr, bPatchset int32, pTab ui // stored in output variables *pnChangeset and *ppChangeset. Or, if an error // 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) int32 { /* sqlite3.c:212836:12: */ +func sessionGenerateChangeset(tls *libc.TLS, pSession uintptr, bPatchset int32, xOutput uintptr, pOut uintptr, pnChangeset uintptr, ppChangeset uintptr) int32 { /* sqlite3.c:212893:12: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -171888,7 +171919,7 @@ func sessionGenerateChangeset(tls *libc.TLS, pSession uintptr, bPatchset int32, // // It is the responsibility of the caller to eventually free the buffer // using sqlite3_free(). -func Xsqlite3session_changeset(tls *libc.TLS, pSession uintptr, pnChangeset uintptr, ppChangeset uintptr) int32 { /* sqlite3.c:212965:16: */ +func Xsqlite3session_changeset(tls *libc.TLS, pSession uintptr, pnChangeset uintptr, ppChangeset uintptr) int32 { /* sqlite3.c:213022:16: */ var rc int32 if pnChangeset == uintptr(0) || ppChangeset == uintptr(0) { @@ -171900,7 +171931,7 @@ func Xsqlite3session_changeset(tls *libc.TLS, pSession uintptr, pnChangeset uint } // Streaming version of sqlite3session_changeset(). -func Xsqlite3session_changeset_strm(tls *libc.TLS, pSession uintptr, xOutput uintptr, pOut uintptr) int32 { /* sqlite3.c:212983:16: */ +func Xsqlite3session_changeset_strm(tls *libc.TLS, pSession uintptr, xOutput uintptr, pOut uintptr) int32 { /* sqlite3.c:213040:16: */ if xOutput == uintptr(0) { return SQLITE_MISUSE } @@ -171908,7 +171939,7 @@ func Xsqlite3session_changeset_strm(tls *libc.TLS, pSession uintptr, xOutput uin } // Streaming version of sqlite3session_patchset(). -func Xsqlite3session_patchset_strm(tls *libc.TLS, pSession uintptr, xOutput uintptr, pOut uintptr) int32 { /* sqlite3.c:212995:16: */ +func Xsqlite3session_patchset_strm(tls *libc.TLS, pSession uintptr, xOutput uintptr, pOut uintptr) int32 { /* sqlite3.c:213052:16: */ if xOutput == uintptr(0) { return SQLITE_MISUSE } @@ -171920,7 +171951,7 @@ func Xsqlite3session_patchset_strm(tls *libc.TLS, pSession uintptr, xOutput uint // // It is the responsibility of the caller to eventually free the buffer // using sqlite3_free(). -func Xsqlite3session_patchset(tls *libc.TLS, pSession uintptr, pnPatchset uintptr, ppPatchset uintptr) int32 { /* sqlite3.c:213011:16: */ +func Xsqlite3session_patchset(tls *libc.TLS, pSession uintptr, pnPatchset uintptr, ppPatchset uintptr) int32 { /* sqlite3.c:213068:16: */ if pnPatchset == uintptr(0) || ppPatchset == uintptr(0) { return SQLITE_MISUSE } @@ -171928,7 +171959,7 @@ func Xsqlite3session_patchset(tls *libc.TLS, pSession uintptr, pnPatchset uintpt } // Enable or disable the session object passed as the first argument. -func Xsqlite3session_enable(tls *libc.TLS, pSession uintptr, bEnable int32) int32 { /* sqlite3.c:213023:16: */ +func Xsqlite3session_enable(tls *libc.TLS, pSession uintptr, bEnable int32) int32 { /* sqlite3.c:213080:16: */ var ret int32 Xsqlite3_mutex_enter(tls, Xsqlite3_db_mutex(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb)) if bEnable >= 0 { @@ -171940,7 +171971,7 @@ func Xsqlite3session_enable(tls *libc.TLS, pSession uintptr, bEnable int32) int3 } // Enable or disable the session object passed as the first argument. -func Xsqlite3session_indirect(tls *libc.TLS, pSession uintptr, bIndirect int32) int32 { /* sqlite3.c:213037:16: */ +func Xsqlite3session_indirect(tls *libc.TLS, pSession uintptr, bIndirect int32) int32 { /* sqlite3.c:213094:16: */ var ret int32 Xsqlite3_mutex_enter(tls, Xsqlite3_db_mutex(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb)) if bIndirect >= 0 { @@ -171953,7 +171984,7 @@ func Xsqlite3session_indirect(tls *libc.TLS, pSession uintptr, bIndirect int32) // Return true if there have been no changes to monitored tables recorded // by the session object passed as the only argument. -func Xsqlite3session_isempty(tls *libc.TLS, pSession uintptr) int32 { /* sqlite3.c:213052:16: */ +func Xsqlite3session_isempty(tls *libc.TLS, pSession uintptr) int32 { /* sqlite3.c:213109:16: */ var ret int32 = 0 var pTab uintptr @@ -171967,12 +171998,12 @@ func Xsqlite3session_isempty(tls *libc.TLS, pSession uintptr) int32 { /* sqlite3 } // Return the amount of heap memory in use. -func Xsqlite3session_memory_used(tls *libc.TLS, pSession uintptr) Sqlite3_int64 { /* sqlite3.c:213068:26: */ +func Xsqlite3session_memory_used(tls *libc.TLS, pSession uintptr) Sqlite3_int64 { /* sqlite3.c:213125:26: */ return (*Sqlite3_session)(unsafe.Pointer(pSession)).FnMalloc } // Configure the session object passed as the first argument. -func Xsqlite3session_object_config(tls *libc.TLS, pSession uintptr, op int32, pArg uintptr) int32 { /* sqlite3.c:213075:16: */ +func Xsqlite3session_object_config(tls *libc.TLS, pSession uintptr, op int32, pArg uintptr) int32 { /* sqlite3.c:213132:16: */ var rc int32 = SQLITE_OK switch op { case SQLITE_SESSION_OBJCONFIG_SIZE: @@ -171998,12 +172029,12 @@ func Xsqlite3session_object_config(tls *libc.TLS, pSession uintptr, op int32, pA } // Return the maximum size of sqlite3session_changeset() output. -func Xsqlite3session_changeset_size(tls *libc.TLS, pSession uintptr) Sqlite3_int64 { /* sqlite3.c:213101:26: */ +func Xsqlite3session_changeset_size(tls *libc.TLS, pSession uintptr) Sqlite3_int64 { /* sqlite3.c:213158:26: */ return (*Sqlite3_session)(unsafe.Pointer(pSession)).FnMaxChangesetSize } // 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) int32 { /* sqlite3.c:213108:12: */ +func sessionChangesetStart(tls *libc.TLS, pp uintptr, xInput uintptr, pIn uintptr, nChangeset int32, pChangeset uintptr, bInvert int32, bSkipEmpty int32) int32 { /* sqlite3.c:213165:12: */ var pRet uintptr // Iterator to return var nByte int32 // Number of bytes to allocate for iterator @@ -172036,28 +172067,28 @@ func sessionChangesetStart(tls *libc.TLS, pp uintptr, xInput uintptr, pIn uintpt } // Create an iterator used to iterate through the contents of a changeset. -func Xsqlite3changeset_start(tls *libc.TLS, pp uintptr, nChangeset int32, pChangeset uintptr) int32 { /* sqlite3.c:213146:16: */ +func Xsqlite3changeset_start(tls *libc.TLS, pp uintptr, nChangeset int32, pChangeset uintptr) int32 { /* sqlite3.c:213203:16: */ return sessionChangesetStart(tls, pp, uintptr(0), uintptr(0), nChangeset, pChangeset, 0, 0) } -func Xsqlite3changeset_start_v2(tls *libc.TLS, pp uintptr, nChangeset int32, pChangeset uintptr, flags int32) int32 { /* sqlite3.c:213153:16: */ +func Xsqlite3changeset_start_v2(tls *libc.TLS, pp uintptr, nChangeset int32, pChangeset uintptr, flags int32) int32 { /* sqlite3.c:213210:16: */ var bInvert int32 = libc.BoolInt32(!!(flags&SQLITE_CHANGESETSTART_INVERT != 0)) return sessionChangesetStart(tls, pp, uintptr(0), uintptr(0), nChangeset, pChangeset, bInvert, 0) } // Streaming version of sqlite3changeset_start(). -func Xsqlite3changeset_start_strm(tls *libc.TLS, pp uintptr, xInput uintptr, pIn uintptr) int32 { /* sqlite3.c:213166:16: */ +func Xsqlite3changeset_start_strm(tls *libc.TLS, pp uintptr, xInput uintptr, pIn uintptr) int32 { /* sqlite3.c:213223:16: */ return sessionChangesetStart(tls, pp, xInput, pIn, 0, uintptr(0), 0, 0) } -func Xsqlite3changeset_start_v2_strm(tls *libc.TLS, pp uintptr, xInput uintptr, pIn uintptr, flags int32) int32 { /* sqlite3.c:213173:16: */ +func Xsqlite3changeset_start_v2_strm(tls *libc.TLS, pp uintptr, xInput uintptr, pIn uintptr, flags int32) int32 { /* sqlite3.c:213230:16: */ var bInvert int32 = libc.BoolInt32(!!(flags&SQLITE_CHANGESETSTART_INVERT != 0)) return sessionChangesetStart(tls, pp, xInput, pIn, 0, uintptr(0), bInvert, 0) } // If the SessionInput object passed as the only argument is a streaming // object and the buffer is full, discard some data to free up space. -func sessionDiscardData(tls *libc.TLS, pIn uintptr) { /* sqlite3.c:213187:13: */ +func sessionDiscardData(tls *libc.TLS, pIn uintptr) { /* sqlite3.c:213244:13: */ if (*SessionInput)(unsafe.Pointer(pIn)).FxInput != 0 && (*SessionInput)(unsafe.Pointer(pIn)).FiNext >= sessions_strm_chunk_size { var nMove int32 = (*SessionInput)(unsafe.Pointer(pIn)).Fbuf.FnBuf - (*SessionInput)(unsafe.Pointer(pIn)).FiNext @@ -172075,7 +172106,7 @@ func sessionDiscardData(tls *libc.TLS, pIn uintptr) { /* sqlite3.c:213187:13: */ // data is in the buffer. // // Return an SQLite error code if an error occurs, or SQLITE_OK otherwise. -func sessionInputBuffer(tls *libc.TLS, pIn uintptr, nByte int32) int32 { /* sqlite3.c:213207:12: */ +func sessionInputBuffer(tls *libc.TLS, pIn uintptr, nByte int32) int32 { /* sqlite3.c:213264:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -172108,7 +172139,7 @@ func sessionInputBuffer(tls *libc.TLS, pIn uintptr, nByte int32) int32 { /* sqli // When this function is called, *ppRec points to the start of a record // that contains nCol values. This function advances the pointer *ppRec // until it points to the byte immediately following that record. -func sessionSkipRecord(tls *libc.TLS, ppRec uintptr, nCol int32) { /* sqlite3.c:213235:13: */ +func sessionSkipRecord(tls *libc.TLS, ppRec uintptr, nCol int32) { /* sqlite3.c:213292:13: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -172133,7 +172164,7 @@ func sessionSkipRecord(tls *libc.TLS, ppRec uintptr, nCol int32) { /* sqlite3.c: // first argument to a copy of the string or blob held in the aData[] // buffer. SQLITE_OK is returned if successful, or SQLITE_NOMEM if an OOM // error occurs. -func sessionValueSetStr(tls *libc.TLS, pVal uintptr, aData uintptr, nData int32, enc U8) int32 { /* sqlite3.c:213261:12: */ +func sessionValueSetStr(tls *libc.TLS, pVal uintptr, aData uintptr, nData int32, enc U8) int32 { /* sqlite3.c:213318:12: */ // In theory this code could just pass SQLITE_TRANSIENT as the final // argument to sqlite3ValueSetStr() and have the copy created // automatically. But doing so makes it difficult to detect any OOM @@ -172169,7 +172200,7 @@ func sessionValueSetStr(tls *libc.TLS, pVal uintptr, aData uintptr, nData int32, // // If an error occurs, an SQLite error code (e.g. SQLITE_NOMEM) is returned. // The apOut[] array may have been partially populated in this case. -func sessionReadRecord(tls *libc.TLS, pIn uintptr, nCol int32, abPK uintptr, apOut uintptr, pbEmpty uintptr) int32 { /* sqlite3.c:213302:12: */ +func sessionReadRecord(tls *libc.TLS, pIn uintptr, nCol int32, abPK uintptr, apOut uintptr, pbEmpty uintptr) int32 { /* sqlite3.c:213359:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -172187,7 +172218,7 @@ func sessionReadRecord(tls *libc.TLS, pIn uintptr, nCol int32, abPK uintptr, apO rc = sessionInputBuffer(tls, pIn, 9) if rc == SQLITE_OK { if (*SessionInput)(unsafe.Pointer(pIn)).FiNext >= (*SessionInput)(unsafe.Pointer(pIn)).FnData { - rc = Xsqlite3CorruptError(tls, 213320) + rc = Xsqlite3CorruptError(tls, 213377) } else { eType = int32(*(*U8)(unsafe.Pointer((*SessionInput)(unsafe.Pointer(pIn)).FaData + uintptr(libc.PostIncInt32(&(*SessionInput)(unsafe.Pointer(pIn)).FiNext, 1))))) @@ -172212,7 +172243,7 @@ func sessionReadRecord(tls *libc.TLS, pIn uintptr, nCol int32, abPK uintptr, apO rc = sessionInputBuffer(tls, pIn, *(*int32)(unsafe.Pointer(bp /* nByte */))) if rc == SQLITE_OK { if *(*int32)(unsafe.Pointer(bp)) < 0 || *(*int32)(unsafe.Pointer(bp)) > (*SessionInput)(unsafe.Pointer(pIn)).FnData-(*SessionInput)(unsafe.Pointer(pIn)).FiNext { - rc = Xsqlite3CorruptError(tls, 213340) + rc = Xsqlite3CorruptError(tls, 213397) } else { var enc U8 = func() uint8 { if eType == SQLITE_TEXT { @@ -172254,7 +172285,7 @@ func sessionReadRecord(tls *libc.TLS, pIn uintptr, nCol int32, abPK uintptr, apO // buffer (i.e. that it can be accessed without any calls to xInput()). // If successful, SQLITE_OK is returned. Otherwise, an SQLite error code. // The input pointer is not moved. -func sessionChangesetBufferTblhdr(tls *libc.TLS, pIn uintptr, pnByte uintptr) int32 { /* sqlite3.c:213378:12: */ +func sessionChangesetBufferTblhdr(tls *libc.TLS, pIn uintptr, pnByte uintptr) int32 { /* sqlite3.c:213435:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -172273,7 +172304,7 @@ func sessionChangesetBufferTblhdr(tls *libc.TLS, pIn uintptr, pnByte uintptr) in // 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)) > 65536 { - rc = Xsqlite3CorruptError(tls, 213394) + rc = Xsqlite3CorruptError(tls, 213451) } else { rc = sessionInputBuffer(tls, pIn, nRead+*(*int32)(unsafe.Pointer(bp))+100) nRead = nRead + *(*int32)(unsafe.Pointer(bp)) @@ -172300,7 +172331,7 @@ func sessionChangesetBufferTblhdr(tls *libc.TLS, pIn uintptr, pnByte uintptr) in // If successful, SQLITE_OK is returned and *pnByte is set to the size of // the record in bytes. Otherwise, an SQLite error code is returned. The // final value of *pnByte is undefined in this case. -func sessionChangesetBufferRecord(tls *libc.TLS, pIn uintptr, nCol int32, pnByte uintptr) int32 { /* sqlite3.c:213421:12: */ +func sessionChangesetBufferRecord(tls *libc.TLS, pIn uintptr, nCol int32, pnByte uintptr) int32 { /* sqlite3.c:213478:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -172342,7 +172373,7 @@ func sessionChangesetBufferRecord(tls *libc.TLS, pIn uintptr, nCol int32, pnByte // If successful, SQLITE_OK is returned. Otherwise, an SQLite error code // is returned and the final values of the various fields enumerated above // are undefined. -func sessionChangesetReadTblhdr(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:213465:12: */ +func sessionChangesetReadTblhdr(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:213522:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -172362,7 +172393,7 @@ func sessionChangesetReadTblhdr(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:2 (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Ftblhdr.FnBuf = 0 sessionBufferGrow(tls, p+72, int64(nByte), bp+4) } else { - *(*int32)(unsafe.Pointer(bp + 4 /* rc */)) = Xsqlite3CorruptError(tls, 213482) + *(*int32)(unsafe.Pointer(bp + 4 /* rc */)) = Xsqlite3CorruptError(tls, 213539) } } @@ -172397,7 +172428,7 @@ func sessionChangesetReadTblhdr(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:2 // // * If the iterator is configured to skip no-op UPDATEs, // sessionChangesetNext() does that. This function does not. -func sessionChangesetNextOne(tls *libc.TLS, p uintptr, paRec uintptr, pnRec uintptr, pbNew uintptr, pbEmpty uintptr) int32 { /* sqlite3.c:213514:12: */ +func sessionChangesetNextOne(tls *libc.TLS, p uintptr, paRec uintptr, pnRec uintptr, pbNew uintptr, pbEmpty uintptr) int32 { /* sqlite3.c:213571:12: */ var i int32 var op U8 @@ -172454,13 +172485,13 @@ func sessionChangesetNextOne(tls *libc.TLS, p uintptr, paRec uintptr, pnRec uint // The first record in the changeset is not a table header. Must be a // corrupt changeset. - return libc.AssignPtrInt32(p+100, Xsqlite3CorruptError(tls, 213568)) + return libc.AssignPtrInt32(p+100, Xsqlite3CorruptError(tls, 213625)) } (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fop = int32(op) (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FbIndirect = int32(*(*U8)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FaData + uintptr(libc.PostIncInt32(&(*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FiNext, 1))))) if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fop != SQLITE_UPDATE && (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fop != SQLITE_DELETE && (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fop != SQLITE_INSERT { - return libc.AssignPtrInt32(p+100, Xsqlite3CorruptError(tls, 213574)) + return libc.AssignPtrInt32(p+100, Xsqlite3CorruptError(tls, 213631)) } if paRec != 0 { @@ -172530,7 +172561,7 @@ func sessionChangesetNextOne(tls *libc.TLS, p uintptr, paRec uintptr, pnRec uint *(*uintptr)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue + uintptr(i)*8)) = *(*uintptr)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue + uintptr(i+(*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol)*8)) if *(*uintptr)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue + uintptr(i)*8)) == uintptr(0) { - return libc.AssignPtrInt32(p+100, Xsqlite3CorruptError(tls, 213618)) + return libc.AssignPtrInt32(p+100, Xsqlite3CorruptError(tls, 213675)) } *(*uintptr)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue + uintptr(i+(*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol)*8)) = uintptr(0) } @@ -172561,7 +172592,7 @@ func sessionChangesetNextOne(tls *libc.TLS, p uintptr, paRec uintptr, pnRec uint // successfully advanced to the next change in the changeset, an SQLite // error code if an error occurs, or SQLITE_DONE if there are no further // changes in the changeset. -func sessionChangesetNext(tls *libc.TLS, p uintptr, paRec uintptr, pnRec uintptr, pbNew uintptr) int32 { /* sqlite3.c:213647:12: */ +func sessionChangesetNext(tls *libc.TLS, p uintptr, paRec uintptr, pnRec uintptr, pbNew uintptr) int32 { /* sqlite3.c:213704:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -172581,14 +172612,14 @@ func sessionChangesetNext(tls *libc.TLS, p uintptr, paRec uintptr, pnRec uintptr // // This function may not be called on iterators passed to a conflict handler // callback by changeset_apply(). -func Xsqlite3changeset_next(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:213670:16: */ +func Xsqlite3changeset_next(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:213727:16: */ return sessionChangesetNext(tls, p, uintptr(0), uintptr(0), uintptr(0)) } // The following function extracts information on the current change // from a changeset iterator. It may only be called after changeset_next() // has returned SQLITE_ROW. -func Xsqlite3changeset_op(tls *libc.TLS, pIter uintptr, pzTab uintptr, pnCol uintptr, pOp uintptr, pbIndirect uintptr) int32 { /* sqlite3.c:213679:16: */ +func Xsqlite3changeset_op(tls *libc.TLS, pIter uintptr, pzTab uintptr, pnCol uintptr, pOp uintptr, pbIndirect uintptr) int32 { /* sqlite3.c:213736:16: */ *(*int32)(unsafe.Pointer(pOp)) = (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fop *(*int32)(unsafe.Pointer(pnCol)) = (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol *(*uintptr)(unsafe.Pointer(pzTab)) = (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FzTab @@ -172602,7 +172633,7 @@ func Xsqlite3changeset_op(tls *libc.TLS, pIter uintptr, pzTab uintptr, pnCol uin // the database table affected by the change that pIter currently points // to. This function may only be called after changeset_next() returns // SQLITE_ROW. -func Xsqlite3changeset_pk(tls *libc.TLS, pIter uintptr, pabPK uintptr, pnCol uintptr) int32 { /* sqlite3.c:213699:16: */ +func Xsqlite3changeset_pk(tls *libc.TLS, pIter uintptr, pabPK uintptr, pnCol uintptr) int32 { /* sqlite3.c:213756:16: */ *(*uintptr)(unsafe.Pointer(pabPK)) = (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FabPK if pnCol != 0 { *(*int32)(unsafe.Pointer(pnCol)) = (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol @@ -172621,7 +172652,7 @@ func Xsqlite3changeset_pk(tls *libc.TLS, pIter uintptr, pabPK uintptr, pnCol uin // // If value iVal is out-of-range, SQLITE_RANGE is returned and *ppValue is // not modified. Otherwise, SQLITE_OK. -func Xsqlite3changeset_old(tls *libc.TLS, pIter uintptr, iVal int32, ppValue uintptr) int32 { /* sqlite3.c:213722:16: */ +func Xsqlite3changeset_old(tls *libc.TLS, pIter uintptr, iVal int32, ppValue uintptr) int32 { /* sqlite3.c:213779:16: */ if (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fop != SQLITE_UPDATE && (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fop != SQLITE_DELETE { return SQLITE_MISUSE } @@ -172643,7 +172674,7 @@ func Xsqlite3changeset_old(tls *libc.TLS, pIter uintptr, iVal int32, ppValue uin // // If value iVal is out-of-range, SQLITE_RANGE is returned and *ppValue is // not modified. Otherwise, SQLITE_OK. -func Xsqlite3changeset_new(tls *libc.TLS, pIter uintptr, iVal int32, ppValue uintptr) int32 { /* sqlite3.c:213750:16: */ +func Xsqlite3changeset_new(tls *libc.TLS, pIter uintptr, iVal int32, ppValue uintptr) int32 { /* sqlite3.c:213807:16: */ if (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fop != SQLITE_UPDATE && (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fop != SQLITE_INSERT { return SQLITE_MISUSE } @@ -172667,7 +172698,7 @@ func Xsqlite3changeset_new(tls *libc.TLS, pIter uintptr, iVal int32, ppValue uin // // If value iVal is out-of-range or some other error occurs, an SQLite error // code is returned. Otherwise, SQLITE_OK. -func Xsqlite3changeset_conflict(tls *libc.TLS, pIter uintptr, iVal int32, ppValue uintptr) int32 { /* sqlite3.c:213784:16: */ +func Xsqlite3changeset_conflict(tls *libc.TLS, pIter uintptr, iVal int32, ppValue uintptr) int32 { /* sqlite3.c:213841:16: */ if !(int32((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FpConflict) != 0) { return SQLITE_MISUSE } @@ -172684,7 +172715,7 @@ func Xsqlite3changeset_conflict(tls *libc.TLS, pIter uintptr, iVal int32, ppValu // violations in the destination database and returns SQLITE_OK. // // In all other cases this function returns SQLITE_MISUSE. -func Xsqlite3changeset_fk_conflicts(tls *libc.TLS, pIter uintptr, pnOut uintptr) int32 { /* sqlite3.c:213807:16: */ +func Xsqlite3changeset_fk_conflicts(tls *libc.TLS, pIter uintptr, pnOut uintptr) int32 { /* sqlite3.c:213864:16: */ if (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FpConflict != 0 || (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FapValue != 0 { return SQLITE_MISUSE } @@ -172696,7 +172727,7 @@ func Xsqlite3changeset_fk_conflicts(tls *libc.TLS, pIter uintptr, pnOut uintptr) // // This function may not be called on iterators passed to a conflict handler // callback by changeset_apply(). -func Xsqlite3changeset_finalize(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:213825:16: */ +func Xsqlite3changeset_finalize(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:213882:16: */ var rc int32 = SQLITE_OK if p != 0 { var i int32 // Used to iterate through p->apValue[] @@ -172713,7 +172744,7 @@ func Xsqlite3changeset_finalize(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:2 return rc } -func sessionChangesetInvert(tls *libc.TLS, pInput uintptr, xOutput uintptr, pOut uintptr, pnInverted uintptr, ppInverted uintptr) int32 { /* sqlite3.c:213840:12: */ +func sessionChangesetInvert(tls *libc.TLS, pInput uintptr, xOutput uintptr, pOut uintptr, pnInverted uintptr, ppInverted uintptr) int32 { /* sqlite3.c:213897:12: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -172949,7 +172980,7 @@ __27: goto __6 __11: - *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = Xsqlite3CorruptError(tls, 213967) + *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = Xsqlite3CorruptError(tls, 214024) goto finished_invert __6: ; @@ -173000,7 +173031,7 @@ finished_invert: } // Invert a changeset object. -func Xsqlite3changeset_invert(tls *libc.TLS, nChangeset int32, pChangeset uintptr, pnInverted uintptr, ppInverted uintptr) int32 { /* sqlite3.c:213999:16: */ +func Xsqlite3changeset_invert(tls *libc.TLS, nChangeset int32, pChangeset uintptr, pnInverted uintptr, ppInverted uintptr) int32 { /* sqlite3.c:214056:16: */ bp := tls.Alloc(72) defer tls.Free(72) @@ -173015,7 +173046,7 @@ func Xsqlite3changeset_invert(tls *libc.TLS, nChangeset int32, pChangeset uintpt } // Streaming version of sqlite3changeset_invert(). -func Xsqlite3changeset_invert_strm(tls *libc.TLS, xInput uintptr, pIn uintptr, xOutput uintptr, pOut uintptr) int32 { /* sqlite3.c:214018:16: */ +func Xsqlite3changeset_invert_strm(tls *libc.TLS, xInput uintptr, pIn uintptr, xOutput uintptr, pOut uintptr) int32 { /* sqlite3.c:214075:16: */ bp := tls.Alloc(72) defer tls.Free(72) @@ -173037,9 +173068,9 @@ type SessionUpdate1 = struct { FpStmt uintptr FaMask uintptr FpNext uintptr -} /* sqlite3.c:214038:9 */ +} /* sqlite3.c:214095:9 */ -type SessionUpdate = SessionUpdate1 /* sqlite3.c:214038:30 */ +type SessionUpdate = SessionUpdate1 /* sqlite3.c:214095:30 */ type SessionApplyCtx1 = struct { Fdb uintptr @@ -173061,9 +173092,9 @@ type SessionApplyCtx1 = struct { FbRebaseStarted U8 FbRebase U8 F__ccgo_pad3 [6]byte -} /* sqlite3.c:214045:9 */ +} /* sqlite3.c:214102:9 */ -type SessionApplyCtx = SessionApplyCtx1 /* sqlite3.c:214045:32 */ +type SessionApplyCtx = SessionApplyCtx1 /* sqlite3.c:214102:32 */ // Number of prepared UPDATE statements to cache. @@ -173071,7 +173102,7 @@ type SessionApplyCtx = SessionApplyCtx1 /* sqlite3.c:214045:32 */ // being visited by the iterator. The UPDATE is of the form: // // UPDATE tbl SET col = ?, col2 = ? WHERE pk1 IS ? AND pk2 IS ? -func sessionUpdateFind(tls *libc.TLS, pIter uintptr, p uintptr, bPatchset int32, ppStmt uintptr) int32 { /* sqlite3.c:214074:12: */ +func sessionUpdateFind(tls *libc.TLS, pIter uintptr, p uintptr, bPatchset int32, ppStmt uintptr) int32 { /* sqlite3.c:214131:12: */ bp := tls.Alloc(20) defer tls.Free(20) @@ -173205,7 +173236,7 @@ func sessionUpdateFind(tls *libc.TLS, pIter uintptr, p uintptr, bPatchset int32, } // Free all cached UPDATE statements. -func sessionUpdateFree(tls *libc.TLS, p uintptr) { /* sqlite3.c:214213:13: */ +func sessionUpdateFree(tls *libc.TLS, p uintptr) { /* sqlite3.c:214270:13: */ var pUp uintptr var pNext uintptr for pUp = (*SessionApplyCtx)(unsafe.Pointer(p)).FpUp; pUp != 0; pUp = pNext { @@ -173233,7 +173264,7 @@ func sessionUpdateFree(tls *libc.TLS, p uintptr) { /* sqlite3.c:214213:13: */ // // If successful, SQLITE_OK is returned and SessionApplyCtx.pDelete is left // pointing to the prepared version of the SQL statement. -func sessionDeleteRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) int32 { /* sqlite3.c:214243:12: */ +func sessionDeleteRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) int32 { /* sqlite3.c:214300:12: */ bp := tls.Alloc(20) defer tls.Free(20) @@ -173295,7 +173326,7 @@ func sessionDeleteRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) int32 // // If successful, SQLITE_OK is returned and SessionApplyCtx.pSelect is left // pointing to the prepared version of the SQL statement. -func sessionSelectRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) int32 { /* sqlite3.c:214308:12: */ +func sessionSelectRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) int32 { /* sqlite3.c:214365:12: */ return sessionSelectStmt(tls, db, ts+6332, zTab, (*SessionApplyCtx)(unsafe.Pointer(p)).FnCol, (*SessionApplyCtx)(unsafe.Pointer(p)).FazCol, (*SessionApplyCtx)(unsafe.Pointer(p)).FabPK, p+24) } @@ -173307,7 +173338,7 @@ func sessionSelectRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) int32 // // If successful, SQLITE_OK is returned and SessionApplyCtx.pInsert is left // pointing to the prepared version of the SQL statement. -func sessionInsertRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) int32 { /* sqlite3.c:214326:12: */ +func sessionInsertRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) int32 { /* sqlite3.c:214383:12: */ bp := tls.Alloc(20) defer tls.Free(20) @@ -173338,7 +173369,7 @@ func sessionInsertRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) int32 return *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) } -func sessionPrepare(tls *libc.TLS, db uintptr, pp uintptr, zSql uintptr) int32 { /* sqlite3.c:214356:12: */ +func sessionPrepare(tls *libc.TLS, db uintptr, pp uintptr, zSql uintptr) int32 { /* sqlite3.c:214413:12: */ return Xsqlite3_prepare_v2(tls, db, zSql, -1, pp, uintptr(0)) } @@ -173346,7 +173377,7 @@ func sessionPrepare(tls *libc.TLS, db uintptr, pp uintptr, zSql uintptr) int32 { // These are similar to those created by sessionSelectRow(), // sessionInsertRow(), sessionUpdateRow() and sessionDeleteRow() for // other tables. -func sessionStat1Sql(tls *libc.TLS, db uintptr, p uintptr) int32 { /* sqlite3.c:214366:12: */ +func sessionStat1Sql(tls *libc.TLS, db uintptr, p uintptr) int32 { /* sqlite3.c:214423:12: */ var rc int32 = sessionSelectRow(tls, db, ts+11233, p) if rc == SQLITE_OK { rc = sessionPrepare(tls, db, p+16, @@ -173363,7 +173394,7 @@ func sessionStat1Sql(tls *libc.TLS, db uintptr, p uintptr) int32 { /* sqlite3.c: // A wrapper around sqlite3_bind_value() that detects an extra problem. // See comments in the body of this function for details. -func sessionBindValue(tls *libc.TLS, pStmt uintptr, i int32, pVal uintptr) int32 { /* sqlite3.c:214389:12: */ +func sessionBindValue(tls *libc.TLS, pStmt uintptr, i int32, pVal uintptr) int32 { /* sqlite3.c:214446:12: */ var eType int32 = Xsqlite3_value_type(tls, pVal) // COVERAGE: The (pVal->z==0) branch is never true using current versions // of SQLite. If a malloc fails in an sqlite3_value_xxx() function, either @@ -173390,7 +173421,7 @@ func sessionBindValue(tls *libc.TLS, pStmt uintptr, i int32, pVal uintptr) int32 // statement. // // 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) int32 { /* sqlite3.c:214422:12: */ +func sessionBindRow(tls *libc.TLS, pIter uintptr, xValue uintptr, nCol int32, abPK uintptr, pStmt uintptr) int32 { /* sqlite3.c:214479:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -173411,7 +173442,7 @@ func sessionBindRow(tls *libc.TLS, pIter uintptr, xValue uintptr, nCol int32, ab if *(*uintptr)(unsafe.Pointer(bp)) == uintptr(0) { // The value in the changeset was "undefined". This indicates a // corrupt changeset blob. - rc = Xsqlite3CorruptError(tls, 214445) + rc = Xsqlite3CorruptError(tls, 214502) } else { rc = sessionBindValue(tls, pStmt, i+1, *(*uintptr)(unsafe.Pointer(bp /* pVal */))) } @@ -173435,7 +173466,7 @@ func sessionBindRow(tls *libc.TLS, pIter uintptr, xValue uintptr, nCol int32, ab // If the iterator currently points to an INSERT record, bind values from the // new.* record to the SELECT statement. Or, if it points to a DELETE or // UPDATE, bind values from the old.* record. -func sessionSeekToRow(tls *libc.TLS, db uintptr, pIter uintptr, abPK uintptr, pSelect uintptr) int32 { /* sqlite3.c:214471:12: */ +func sessionSeekToRow(tls *libc.TLS, db uintptr, pIter uintptr, abPK uintptr, pSelect uintptr) int32 { /* sqlite3.c:214528:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -173479,7 +173510,7 @@ func sessionSeekToRow(tls *libc.TLS, db uintptr, pIter uintptr, abPK uintptr, pS // of apply_v2() as the "rebase" buffer. // // Return SQLITE_OK if successful, or an SQLite error code otherwise. -func sessionRebaseAdd(tls *libc.TLS, p uintptr, eType int32, pIter uintptr) int32 { /* sqlite3.c:214506:12: */ +func sessionRebaseAdd(tls *libc.TLS, p uintptr, eType int32, pIter uintptr) int32 { /* sqlite3.c:214563:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -173551,7 +173582,7 @@ func sessionRebaseAdd(tls *libc.TLS, p uintptr, eType int32, pIter uintptr) int3 // returned. Or, if the conflict handler returns an invalid value, // 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) int32 { /* sqlite3.c:214580:12: */ +func sessionConflictHandler(tls *libc.TLS, eType int32, p uintptr, pIter uintptr, xConflict uintptr, pCtx uintptr, pbReplace uintptr) int32 { /* sqlite3.c:214637:12: */ bp := tls.Alloc(20) defer tls.Free(20) @@ -173651,7 +173682,7 @@ func sessionConflictHandler(tls *libc.TLS, eType int32, p uintptr, pIter uintptr // If any conflict handler returns SQLITE_CHANGESET_ABORT, this function // 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) int32 { /* sqlite3.c:214678:12: */ +func sessionApplyOneOp(tls *libc.TLS, pIter uintptr, p uintptr, xConflict uintptr, pCtx uintptr, pbReplace uintptr, pbRetry uintptr) int32 { /* sqlite3.c:214735:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -173786,7 +173817,7 @@ func sessionApplyOneOp(tls *libc.TLS, pIter uintptr, p uintptr, xConflict uintpt // function handles the case where the conflict-handler is invoked and // 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) int32 { /* sqlite3.c:214811:12: */ +func sessionApplyOneWithRetry(tls *libc.TLS, db uintptr, pIter uintptr, pApply uintptr, xConflict uintptr, pCtx uintptr) int32 { /* sqlite3.c:214868:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -173833,7 +173864,7 @@ func sessionApplyOneWithRetry(tls *libc.TLS, db uintptr, pIter uintptr, pApply u } // 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) int32 { /* sqlite3.c:214868:12: */ +func sessionRetryConstraints(tls *libc.TLS, db uintptr, bPatchset int32, zTab uintptr, pApply uintptr, xConflict uintptr, pCtx uintptr) int32 { /* sqlite3.c:214925:12: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -173887,7 +173918,7 @@ func sessionRetryConstraints(tls *libc.TLS, db uintptr, bPatchset int32, zTab ui // changeset to the main database attached to handle "db". The supplied // 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) int32 { /* sqlite3.c:214924:12: */ +func sessionChangesetApply(tls *libc.TLS, db uintptr, pIter uintptr, xFilter uintptr, xConflict uintptr, pCtx uintptr, ppRebase uintptr, pnRebase uintptr, flags int32) int32 { /* sqlite3.c:214981:12: */ bp := tls.Alloc(368) defer tls.Free(368) @@ -174078,7 +174109,7 @@ func sessionChangesetApply(tls *libc.TLS, db uintptr, pIter uintptr, xFilter uin // 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) int32 { /* sqlite3.c:215122:16: */ +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) int32 { /* sqlite3.c:215179:16: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -174096,7 +174127,7 @@ func Xsqlite3changeset_apply_v2(tls *libc.TLS, db uintptr, nChangeset int32, pCh // Apply the changeset passed via pChangeset/nChangeset to the main database // 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) int32 { /* sqlite3.c:215155:16: */ +func Xsqlite3changeset_apply(tls *libc.TLS, db uintptr, nChangeset int32, pChangeset uintptr, xFilter uintptr, xConflict uintptr, pCtx uintptr) int32 { /* sqlite3.c:215212:16: */ return Xsqlite3changeset_apply_v2(tls, db, nChangeset, pChangeset, xFilter, xConflict, pCtx, uintptr(0), uintptr(0), 0) } @@ -174104,7 +174135,7 @@ func Xsqlite3changeset_apply(tls *libc.TLS, db uintptr, nChangeset int32, pChang // Apply the changeset passed via xInput/pIn to the main database // 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) int32 { /* sqlite3.c:215180:16: */ +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) int32 { /* sqlite3.c:215237:16: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -174119,7 +174150,7 @@ func Xsqlite3changeset_apply_v2_strm(tls *libc.TLS, db uintptr, xInput uintptr, return rc } -func Xsqlite3changeset_apply_strm(tls *libc.TLS, db uintptr, xInput uintptr, pIn uintptr, xFilter uintptr, xConflict uintptr, pCtx uintptr) int32 { /* sqlite3.c:215207:16: */ +func Xsqlite3changeset_apply_strm(tls *libc.TLS, db uintptr, xInput uintptr, pIn uintptr, xFilter uintptr, xConflict uintptr, pCtx uintptr) int32 { /* sqlite3.c:215264:16: */ return Xsqlite3changeset_apply_v2_strm(tls, db, xInput, pIn, xFilter, xConflict, pCtx, uintptr(0), uintptr(0), 0) } @@ -174127,7 +174158,7 @@ func Xsqlite3changeset_apply_strm(tls *libc.TLS, db uintptr, xInput uintptr, pIn // This function is called to merge two changes to the same row together as // part of an sqlite3changeset_concat() operation. A new change object is // allocated and a pointer to it stored in *ppNew. -func sessionChangeMerge(tls *libc.TLS, pTab uintptr, bRebase int32, bPatchset int32, pExist uintptr, op2 int32, bIndirect int32, aRec uintptr, nRec int32, ppNew uintptr) int32 { /* sqlite3.c:215241:12: */ +func sessionChangeMerge(tls *libc.TLS, pTab uintptr, bRebase int32, bPatchset int32, pExist uintptr, op2 int32, bIndirect int32, aRec uintptr, nRec int32, ppNew uintptr) int32 { /* sqlite3.c:215298:12: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -174299,7 +174330,7 @@ func sessionChangeMerge(tls *libc.TLS, pTab uintptr, bRebase int32, bPatchset in // Add all changes in the changeset traversed by the iterator passed as // the first argument to the changegroup hash tables. -func sessionChangesetToHash(tls *libc.TLS, pIter uintptr, pGrp uintptr, bRebase int32) int32 { /* sqlite3.c:215423:12: */ +func sessionChangesetToHash(tls *libc.TLS, pIter uintptr, pGrp uintptr, bRebase int32) int32 { /* sqlite3.c:215480:12: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -174430,7 +174461,7 @@ func sessionChangesetToHash(tls *libc.TLS, pIter uintptr, pGrp uintptr, bRebase // If successful, SQLITE_OK is returned. Or, if an error occurs, an SQLite // 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) int32 { /* sqlite3.c:215546:12: */ +func sessionChangegroupOutput(tls *libc.TLS, pGrp uintptr, xOutput uintptr, pOut uintptr, pnOut uintptr, ppOut uintptr) int32 { /* sqlite3.c:215603:12: */ bp := tls.Alloc(20) defer tls.Free(20) @@ -174484,7 +174515,7 @@ func sessionChangegroupOutput(tls *libc.TLS, pGrp uintptr, xOutput uintptr, pOut } // Allocate a new, empty, sqlite3_changegroup. -func Xsqlite3changegroup_new(tls *libc.TLS, pp uintptr) int32 { /* sqlite3.c:215597:16: */ +func Xsqlite3changegroup_new(tls *libc.TLS, pp uintptr) int32 { /* sqlite3.c:215654:16: */ var rc int32 = SQLITE_OK // Return code var p uintptr // New object p = Xsqlite3_malloc(tls, int32(unsafe.Sizeof(Sqlite3_changegroup{}))) @@ -174499,7 +174530,7 @@ func Xsqlite3changegroup_new(tls *libc.TLS, pp uintptr) int32 { /* sqlite3.c:215 // Add the changeset currently stored in buffer pData, size nData bytes, // to changeset-group p. -func Xsqlite3changegroup_add(tls *libc.TLS, pGrp uintptr, nData int32, pData uintptr) int32 { /* sqlite3.c:215614:16: */ +func Xsqlite3changegroup_add(tls *libc.TLS, pGrp uintptr, nData int32, pData uintptr) int32 { /* sqlite3.c:215671:16: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -174517,12 +174548,12 @@ func Xsqlite3changegroup_add(tls *libc.TLS, pGrp uintptr, nData int32, pData uin // Obtain a buffer containing a changeset representing the concatenation // of all changesets added to the group so far. -func Xsqlite3changegroup_output(tls *libc.TLS, pGrp uintptr, pnData uintptr, ppData uintptr) int32 { /* sqlite3.c:215630:16: */ +func Xsqlite3changegroup_output(tls *libc.TLS, pGrp uintptr, pnData uintptr, ppData uintptr) int32 { /* sqlite3.c:215687:16: */ return sessionChangegroupOutput(tls, pGrp, uintptr(0), uintptr(0), pnData, ppData) } // Streaming versions of changegroup_add(). -func Xsqlite3changegroup_add_strm(tls *libc.TLS, pGrp uintptr, xInput uintptr, pIn uintptr) int32 { /* sqlite3.c:215641:16: */ +func Xsqlite3changegroup_add_strm(tls *libc.TLS, pGrp uintptr, xInput uintptr, pIn uintptr) int32 { /* sqlite3.c:215698:16: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -174539,12 +174570,12 @@ func Xsqlite3changegroup_add_strm(tls *libc.TLS, pGrp uintptr, xInput uintptr, p } // Streaming versions of changegroup_output(). -func Xsqlite3changegroup_output_strm(tls *libc.TLS, pGrp uintptr, xOutput uintptr, pOut uintptr) int32 { /* sqlite3.c:215660:16: */ +func Xsqlite3changegroup_output_strm(tls *libc.TLS, pGrp uintptr, xOutput uintptr, pOut uintptr) int32 { /* sqlite3.c:215717:16: */ return sessionChangegroupOutput(tls, pGrp, xOutput, pOut, uintptr(0), uintptr(0)) } // Delete a changegroup object. -func Xsqlite3changegroup_delete(tls *libc.TLS, pGrp uintptr) { /* sqlite3.c:215671:17: */ +func Xsqlite3changegroup_delete(tls *libc.TLS, pGrp uintptr) { /* sqlite3.c:215728:17: */ if pGrp != 0 { sessionDeleteTable(tls, uintptr(0), (*Sqlite3_changegroup)(unsafe.Pointer(pGrp)).FpList) Xsqlite3_free(tls, pGrp) @@ -174552,7 +174583,7 @@ func Xsqlite3changegroup_delete(tls *libc.TLS, pGrp uintptr) { /* sqlite3.c:2156 } // Combine two changesets together. -func Xsqlite3changeset_concat(tls *libc.TLS, nLeft int32, pLeft uintptr, nRight int32, pRight uintptr, pnOut uintptr, ppOut uintptr) int32 { /* sqlite3.c:215681:16: */ +func Xsqlite3changeset_concat(tls *libc.TLS, nLeft int32, pLeft uintptr, nRight int32, pRight uintptr, pnOut uintptr, ppOut uintptr) int32 { /* sqlite3.c:215738:16: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -174576,7 +174607,7 @@ func Xsqlite3changeset_concat(tls *libc.TLS, nLeft int32, pLeft uintptr, nRight } // Streaming version of sqlite3changeset_concat(). -func Xsqlite3changeset_concat_strm(tls *libc.TLS, xInputA uintptr, pInA uintptr, xInputB uintptr, pInB uintptr, xOutput uintptr, pOut uintptr) int32 { /* sqlite3.c:215710:16: */ +func Xsqlite3changeset_concat_strm(tls *libc.TLS, xInputA uintptr, pInA uintptr, xInputB uintptr, pInB uintptr, xOutput uintptr, pOut uintptr) int32 { /* sqlite3.c:215767:16: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -174603,7 +174634,7 @@ func Xsqlite3changeset_concat_strm(tls *libc.TLS, xInputA uintptr, pInA uintptr, // fields in size. This function appends an nCol sessions module // record to buffer pBuf that is a copy of a1, except that for // each field that is undefined in a1[], swap in the field from a2[]. -func sessionAppendRecordMerge(tls *libc.TLS, pBuf uintptr, nCol int32, a1 uintptr, n1 int32, a2 uintptr, n2 int32, pRc uintptr) { /* sqlite3.c:215749:13: */ +func sessionAppendRecordMerge(tls *libc.TLS, pBuf uintptr, nCol int32, a1 uintptr, n1 int32, a2 uintptr, n2 int32, pRc uintptr) { /* sqlite3.c:215806:13: */ sessionBufferGrow(tls, pBuf, int64(n1+n2), pRc) if *(*int32)(unsafe.Pointer(pRc)) == SQLITE_OK { var i int32 @@ -174644,7 +174675,7 @@ func sessionAppendRecordMerge(tls *libc.TLS, pBuf uintptr, nCol int32, a1 uintpt // corresponding field in the rebase buffer is not "undefined" (0x00) // or "replaced" (0xFF), the old.* value is replaced by the value // in the rebase buffer. -func sessionAppendPartialUpdate(tls *libc.TLS, pBuf uintptr, pIter uintptr, aRec uintptr, nRec int32, aChange uintptr, nChange int32, pRc uintptr) { /* sqlite3.c:215798:13: */ +func sessionAppendPartialUpdate(tls *libc.TLS, pBuf uintptr, pIter uintptr, aRec uintptr, nRec int32, aChange uintptr, nChange int32, pRc uintptr) { /* sqlite3.c:215855:13: */ sessionBufferGrow(tls, pBuf, int64(2+nRec+nChange), pRc) if *(*int32)(unsafe.Pointer(pRc)) == SQLITE_OK { var bData int32 = 0 @@ -174706,7 +174737,7 @@ func sessionAppendPartialUpdate(tls *libc.TLS, pBuf uintptr, pIter uintptr, aRec // If an error occurs, an SQLite error code is returned. If ppOut and // 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) int32 { /* sqlite3.c:215866:12: */ +func sessionRebase(tls *libc.TLS, p uintptr, pIter uintptr, xOutput uintptr, pOut uintptr, pnOut uintptr, ppOut uintptr) int32 { /* sqlite3.c:215923:12: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -174844,7 +174875,7 @@ func sessionRebase(tls *libc.TLS, p uintptr, pIter uintptr, xOutput uintptr, pOu } // Create a new rebaser object. -func Xsqlite3rebaser_create(tls *libc.TLS, ppNew uintptr) int32 { /* sqlite3.c:215998:16: */ +func Xsqlite3rebaser_create(tls *libc.TLS, ppNew uintptr) int32 { /* sqlite3.c:216055:16: */ var rc int32 = SQLITE_OK var pNew uintptr @@ -174859,7 +174890,7 @@ func Xsqlite3rebaser_create(tls *libc.TLS, ppNew uintptr) int32 { /* sqlite3.c:2 } // Call this one or more times to configure a rebaser. -func Xsqlite3rebaser_configure(tls *libc.TLS, p uintptr, nRebase int32, pRebase uintptr) int32 { /* sqlite3.c:216015:16: */ +func Xsqlite3rebaser_configure(tls *libc.TLS, p uintptr, nRebase int32, pRebase uintptr) int32 { /* sqlite3.c:216072:16: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -174874,7 +174905,7 @@ func Xsqlite3rebaser_configure(tls *libc.TLS, p uintptr, nRebase int32, pRebase } // Rebase a changeset according to current rebaser configuration -func Xsqlite3rebaser_rebase(tls *libc.TLS, p uintptr, nIn int32, pIn uintptr, pnOut uintptr, ppOut uintptr) int32 { /* sqlite3.c:216032:16: */ +func Xsqlite3rebaser_rebase(tls *libc.TLS, p uintptr, nIn int32, pIn uintptr, pnOut uintptr, ppOut uintptr) int32 { /* sqlite3.c:216089:16: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -174890,7 +174921,7 @@ func Xsqlite3rebaser_rebase(tls *libc.TLS, p uintptr, nIn int32, pIn uintptr, pn } // 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) int32 { /* sqlite3.c:216051:16: */ +func Xsqlite3rebaser_rebase_strm(tls *libc.TLS, p uintptr, xInput uintptr, pIn uintptr, xOutput uintptr, pOut uintptr) int32 { /* sqlite3.c:216108:16: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -174906,7 +174937,7 @@ func Xsqlite3rebaser_rebase_strm(tls *libc.TLS, p uintptr, xInput uintptr, pIn u } // Destroy a rebaser object -func Xsqlite3rebaser_delete(tls *libc.TLS, p uintptr) { /* sqlite3.c:216072:17: */ +func Xsqlite3rebaser_delete(tls *libc.TLS, p uintptr) { /* sqlite3.c:216129:17: */ if p != 0 { sessionDeleteTable(tls, uintptr(0), (*Sqlite3_rebaser)(unsafe.Pointer(p)).Fgrp.FpList) Xsqlite3_free(tls, p) @@ -174914,7 +174945,7 @@ func Xsqlite3rebaser_delete(tls *libc.TLS, p uintptr) { /* sqlite3.c:216072:17: } // Global configuration -func Xsqlite3session_config(tls *libc.TLS, op int32, pArg uintptr) int32 { /* sqlite3.c:216082:16: */ +func Xsqlite3session_config(tls *libc.TLS, op int32, pArg uintptr) int32 { /* sqlite3.c:216139:16: */ var rc int32 = SQLITE_OK switch op { case SQLITE_SESSION_CONFIG_STRMSIZE: @@ -175002,7 +175033,7 @@ type Fts5Global1 = struct { FpTok uintptr FpDfltTok uintptr FpCsr uintptr -} /* sqlite3.c:216813:9 */ +} /* sqlite3.c:216870:9 */ //************* End of sqlite3session.c ************************************* //************* Begin file fts5.c ******************************************* @@ -175064,13 +175095,13 @@ type Fts5Global1 = struct { // Mark a function parameter as unused, to suppress nuisance compiler // warnings. -type Fts5Global = Fts5Global1 /* sqlite3.c:216813:27 */ +type Fts5Global = Fts5Global1 /* sqlite3.c:216870:27 */ type Fts5Colset1 = struct { FnCol int32 FaiCol [1]int32 -} /* sqlite3.c:216813:9 */ +} /* sqlite3.c:216870:9 */ -type Fts5Colset = Fts5Colset1 /* sqlite3.c:216814:27 */ +type Fts5Colset = Fts5Colset1 /* sqlite3.c:216871:27 */ // ************************************************************************* // @@ -175108,14 +175139,14 @@ type Fts5Config1 = struct { FzRank uintptr FzRankArgs uintptr FpzErrmsg uintptr -} /* sqlite3.c:216813:9 */ +} /* sqlite3.c:216870:9 */ // ************************************************************************* // // Interface to code in fts5_config.c. fts5_config.c contains contains code // to parse the arguments passed to the CREATE VIRTUAL TABLE statement. -type Fts5Config = Fts5Config1 /* sqlite3.c:216834:27 */ +type Fts5Config = Fts5Config1 /* sqlite3.c:216891:27 */ // // End of interface to code in fts5_config.c. @@ -175130,7 +175161,7 @@ type Fts5Buffer1 = struct { Fp uintptr Fn int32 FnSpace int32 -} /* sqlite3.c:216813:9 */ +} /* sqlite3.c:216870:9 */ // // End of interface to code in fts5_config.c. @@ -175141,7 +175172,7 @@ type Fts5Buffer1 = struct { // Interface to code in fts5_buffer.c. // Buffer object for the incremental building of string data. -type Fts5Buffer = Fts5Buffer1 /* sqlite3.c:216960:27 */ +type Fts5Buffer = Fts5Buffer1 /* sqlite3.c:217017:27 */ type Fts5PoslistReader1 = struct { Fa uintptr @@ -175151,19 +175182,19 @@ type Fts5PoslistReader1 = struct { FbEof U8 F__ccgo_pad1 [6]byte FiPos I64 -} /* sqlite3.c:216813:9 */ +} /* sqlite3.c:216870:9 */ -type Fts5PoslistReader = Fts5PoslistReader1 /* sqlite3.c:216996:34 */ +type Fts5PoslistReader = Fts5PoslistReader1 /* sqlite3.c:217053:34 */ -type Fts5PoslistWriter1 = struct{ FiPrev I64 } /* sqlite3.c:217015:9 */ +type Fts5PoslistWriter1 = struct{ FiPrev I64 } /* sqlite3.c:217072:9 */ -type Fts5PoslistWriter = Fts5PoslistWriter1 /* sqlite3.c:217015:34 */ +type Fts5PoslistWriter = Fts5PoslistWriter1 /* sqlite3.c:217072:34 */ // Bucket of terms object used by the integrity-check in offsets=0 mode. -type Fts5Termset1 = struct{ FapHash [512]uintptr } /* sqlite3.c:217037:9 */ +type Fts5Termset1 = struct{ FapHash [512]uintptr } /* sqlite3.c:217094:9 */ // Bucket of terms object used by the integrity-check in offsets=0 mode. -type Fts5Termset = Fts5Termset1 /* sqlite3.c:217037:28 */ +type Fts5Termset = Fts5Termset1 /* sqlite3.c:217094:28 */ // // End of interface to code in fts5_buffer.c. @@ -175196,7 +175227,7 @@ type Fts5Index1 = struct { FpDataVersion uintptr FiStructVersion I64 FpStruct uintptr -} /* sqlite3.c:216813:9 */ +} /* sqlite3.c:216870:9 */ // // End of interface to code in fts5_buffer.c. @@ -175207,16 +175238,16 @@ type Fts5Index1 = struct { // Interface to code in fts5_index.c. fts5_index.c contains contains code // to access the data stored in the %_data table. -type Fts5Index = Fts5Index1 /* sqlite3.c:217051:26 */ +type Fts5Index = Fts5Index1 /* sqlite3.c:217108:26 */ type Fts5IndexIter1 = struct { FiRowid I64 FpData uintptr FnData int32 FbEof U8 F__ccgo_pad1 [3]byte -} /* sqlite3.c:216813:9 */ +} /* sqlite3.c:216870:9 */ -type Fts5IndexIter = Fts5IndexIter1 /* sqlite3.c:217052:30 */ +type Fts5IndexIter = Fts5IndexIter1 /* sqlite3.c:217109:30 */ // // End of interface to code in fts5_varint.c. @@ -175231,7 +175262,7 @@ type Fts5Table1 = struct { Fbase Sqlite3_vtab FpConfig uintptr FpIndex uintptr -} /* sqlite3.c:217254:9 */ +} /* sqlite3.c:217311:9 */ // // End of interface to code in fts5_varint.c. @@ -175242,7 +175273,7 @@ type Fts5Table1 = struct { // Interface to code in fts5_main.c. // Virtual-table object. -type Fts5Table = Fts5Table1 /* sqlite3.c:217254:26 */ +type Fts5Table = Fts5Table1 /* sqlite3.c:217311:26 */ // // End of interface to code in fts5.c. @@ -175259,7 +175290,7 @@ type Fts5Hash1 = struct { FnSlot int32 FpScan uintptr FaSlot uintptr -} /* sqlite3.c:216813:9 */ +} /* sqlite3.c:216870:9 */ // // End of interface to code in fts5.c. @@ -175268,7 +175299,7 @@ type Fts5Hash1 = struct { // ************************************************************************* // // Interface to code in fts5_hash.c. -type Fts5Hash = Fts5Hash1 /* sqlite3.c:217280:25 */ +type Fts5Hash = Fts5Hash1 /* sqlite3.c:217337:25 */ // // End of interface to code in fts5_hash.c. @@ -175287,7 +175318,7 @@ type Fts5Storage1 = struct { FnTotalRow I64 FaTotalSize uintptr FaStmt [11]uintptr -} /* sqlite3.c:217336:9 */ +} /* sqlite3.c:217393:9 */ // // End of interface to code in fts5_hash.c. @@ -175298,7 +175329,7 @@ type Fts5Storage1 = struct { // Interface to code in fts5_storage.c. fts5_storage.c contains contains // code to access the data stored in the %_content and %_docsize tables. -type Fts5Storage = Fts5Storage1 /* sqlite3.c:217336:28 */ +type Fts5Storage = Fts5Storage1 /* sqlite3.c:217393:28 */ // // End of interface to code in fts5_storage.c. @@ -175314,7 +175345,7 @@ type Fts5Expr1 = struct { FbDesc int32 FnPhrase int32 FapExprPhrase uintptr -} /* sqlite3.c:216813:9 */ +} /* sqlite3.c:216870:9 */ // // End of interface to code in fts5_storage.c. @@ -175323,7 +175354,7 @@ type Fts5Expr1 = struct { // ************************************************************************* // // Interface to code in fts5_expr.c. -type Fts5Expr = Fts5Expr1 /* sqlite3.c:217379:25 */ +type Fts5Expr = Fts5Expr1 /* sqlite3.c:217436:25 */ type Fts5ExprNode1 = struct { FeType int32 FbEof int32 @@ -175335,9 +175366,9 @@ type Fts5ExprNode1 = struct { FnChild int32 F__ccgo_pad2 [4]byte FapChild [1]uintptr -} /* sqlite3.c:216813:9 */ +} /* sqlite3.c:216870:9 */ -type Fts5ExprNode = Fts5ExprNode1 /* sqlite3.c:217380:29 */ +type Fts5ExprNode = Fts5ExprNode1 /* sqlite3.c:217437:29 */ type Fts5Parse1 = struct { FpConfig uintptr FzErr uintptr @@ -175347,25 +175378,25 @@ type Fts5Parse1 = struct { FpExpr uintptr FbPhraseToAnd int32 F__ccgo_pad1 [4]byte -} /* sqlite3.c:217381:9 */ +} /* sqlite3.c:217438:9 */ -type Fts5Parse = Fts5Parse1 /* sqlite3.c:217381:26 */ +type Fts5Parse = Fts5Parse1 /* sqlite3.c:217438:26 */ type Fts5Token1 = struct { Fp uintptr Fn int32 F__ccgo_pad1 [4]byte -} /* sqlite3.c:217382:9 */ +} /* sqlite3.c:217439:9 */ -type Fts5Token = Fts5Token1 /* sqlite3.c:217382:26 */ +type Fts5Token = Fts5Token1 /* sqlite3.c:217439:26 */ type Fts5ExprPhrase1 = struct { FpNode uintptr Fposlist Fts5Buffer FnTerm int32 F__ccgo_pad1 [4]byte FaTerm [1]Fts5ExprTerm -} /* sqlite3.c:216813:9 */ +} /* sqlite3.c:216870:9 */ -type Fts5ExprPhrase = Fts5ExprPhrase1 /* sqlite3.c:217383:31 */ +type Fts5ExprPhrase = Fts5ExprPhrase1 /* sqlite3.c:217440:31 */ type Fts5ExprNearset1 = struct { FnNear int32 F__ccgo_pad1 [4]byte @@ -175373,17 +175404,17 @@ type Fts5ExprNearset1 = struct { FnPhrase int32 F__ccgo_pad2 [4]byte FapPhrase [1]uintptr -} /* sqlite3.c:216813:9 */ +} /* sqlite3.c:216870:9 */ -type Fts5ExprNearset = Fts5ExprNearset1 /* sqlite3.c:217384:32 */ +type Fts5ExprNearset = Fts5ExprNearset1 /* sqlite3.c:217441:32 */ type Fts5PoslistPopulator1 = struct { Fwriter Fts5PoslistWriter FbOk int32 FbMiss int32 -} /* sqlite3.c:217432:9 */ +} /* sqlite3.c:217489:9 */ -type Fts5PoslistPopulator = Fts5PoslistPopulator1 /* sqlite3.c:217432:37 */ +type Fts5PoslistPopulator = Fts5PoslistPopulator1 /* sqlite3.c:217489:37 */ // // End of interface to code in fts5_unicode2.c. // @@ -175488,7 +175519,7 @@ type Fts5YYMINORTYPE = struct { F__ccgo_pad1 [0]uint64 Ffts5yyinit int32 F__ccgo_pad2 [12]byte -} /* sqlite3.c:217708:3 */ +} /* sqlite3.c:217765:3 */ //************ End control #defines ****************************************** // Define the fts5yytestcase() macro to be a no-op if is not already defined @@ -175561,7 +175592,7 @@ var fts5yy_action = [105]uint8{ /* 80 */ uint8(5), uint8(3), uint8(63), uint8(5), uint8(3), uint8(62), uint8(12), uint8(2), uint8(86), uint8(13), /* 90 */ uint8(9), uint8(30), uint8(10), uint8(10), uint8(54), uint8(57), uint8(75), uint8(78), uint8(78), uint8(53), /* 100 */ uint8(57), uint8(15), uint8(82), uint8(82), uint8(71), -} /* sqlite3.c:217801:31 */ +} /* sqlite3.c:217858:31 */ var fts5yy_lookahead = [121]uint8{ /* 0 */ uint8(16), uint8(17), uint8(18), uint8(19), uint8(20), uint8(22), uint8(22), uint8(24), uint8(24), uint8(17), /* 10 */ uint8(18), uint8(19), uint8(20), uint8(7), uint8(22), uint8(9), uint8(24), uint8(17), uint8(18), uint8(19), @@ -175576,23 +175607,23 @@ var fts5yy_lookahead = [121]uint8{ /* 100 */ uint8(9), uint8(9), uint8(27), uint8(27), uint8(11), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), /* 110 */ uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), /* 120 */ uint8(27), -} /* sqlite3.c:217814:29 */ +} /* sqlite3.c:217871:29 */ var fts5yy_shift_ofst = [35]uint8{ /* 0 */ uint8(44), uint8(44), uint8(44), uint8(44), uint8(44), uint8(44), uint8(51), uint8(77), uint8(43), uint8(12), /* 10 */ uint8(14), uint8(83), uint8(82), uint8(14), uint8(23), uint8(23), uint8(31), uint8(31), uint8(71), uint8(74), /* 20 */ uint8(78), uint8(81), uint8(86), uint8(91), uint8(6), uint8(53), uint8(53), uint8(60), uint8(64), uint8(68), /* 30 */ uint8(53), uint8(87), uint8(92), uint8(53), uint8(93), -} /* sqlite3.c:217832:28 */ +} /* sqlite3.c:217889:28 */ var fts5yy_reduce_ofst = [18]int8{ /* 0 */ int8(-16), int8(-8), int8(0), int8(9), int8(17), int8(25), int8(46), int8(-17), int8(-17), int8(37), /* 10 */ int8(67), int8(4), int8(4), int8(8), int8(4), int8(20), int8(27), int8(38), -} /* sqlite3.c:217841:26 */ +} /* sqlite3.c:217898:26 */ var fts5yy_default = [35]uint8{ /* 0 */ uint8(80), uint8(80), uint8(80), uint8(80), uint8(80), uint8(80), uint8(95), uint8(80), uint8(80), uint8(105), /* 10 */ uint8(80), uint8(110), uint8(110), uint8(80), uint8(110), uint8(110), uint8(80), uint8(80), uint8(80), uint8(80), /* 20 */ uint8(80), uint8(91), uint8(80), uint8(80), uint8(80), uint8(101), uint8(100), uint8(80), uint8(80), uint8(90), /* 30 */ uint8(103), uint8(80), uint8(80), uint8(104), uint8(80), -} /* sqlite3.c:217845:31 */ +} /* sqlite3.c:217902:31 */ //********* End of lemon-generated parsing tables **************************** // The next table maps tokens (terminal symbols) into fallback tokens. @@ -175629,9 +175660,9 @@ type fts5yyStackEntry = struct { Fmajor uint8 F__ccgo_pad1 [6]byte Fminor Fts5YYMINORTYPE -} /* sqlite3.c:217888:1 */ +} /* sqlite3.c:217945:1 */ -type Fts5yyStackEntry = fts5yyStackEntry /* sqlite3.c:217895:33 */ +type Fts5yyStackEntry = fts5yyStackEntry /* sqlite3.c:217952:33 */ // The state of the parser is completely contained in an instance of // the following structure @@ -175640,9 +175671,9 @@ type fts5yyParser = struct { FpParse uintptr Ffts5yystack [100]Fts5yyStackEntry Ffts5yystackEnd uintptr -} /* sqlite3.c:217899:1 */ +} /* sqlite3.c:217956:1 */ -type Fts5yyParser = fts5yyParser /* sqlite3.c:217918:29 */ +type Fts5yyParser = fts5yyParser /* sqlite3.c:217975:29 */ // #include @@ -175652,7 +175683,7 @@ type Fts5yyParser = fts5yyParser /* sqlite3.c:217918:29 */ // grammar. // Initialize a new parser that has already been allocated. -func sqlite3Fts5ParserInit(tls *libc.TLS, fts5yypRawParser uintptr) { /* sqlite3.c:218067:13: */ +func sqlite3Fts5ParserInit(tls *libc.TLS, fts5yypRawParser uintptr) { /* sqlite3.c:218124:13: */ var fts5yypParser uintptr = fts5yypRawParser (*Fts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yytos = fts5yypParser + 16 /* &.fts5yystack */ @@ -175671,7 +175702,7 @@ func sqlite3Fts5ParserInit(tls *libc.TLS, fts5yypRawParser uintptr) { /* sqlite3 // Outputs: // A pointer to a parser. This pointer is used in subsequent calls // to sqlite3Fts5Parser and sqlite3Fts5ParserFree. -func sqlite3Fts5ParserAlloc(tls *libc.TLS, mallocProc uintptr) uintptr { /* sqlite3.c:218106:13: */ +func sqlite3Fts5ParserAlloc(tls *libc.TLS, mallocProc uintptr) uintptr { /* sqlite3.c:218163:13: */ var fts5yypParser uintptr fts5yypParser = (*struct{ f func(*libc.TLS, U64) uintptr })(unsafe.Pointer(&struct{ uintptr }{mallocProc})).f(tls, U64(unsafe.Sizeof(Fts5yyParser{}))) if fts5yypParser != 0 { @@ -175687,7 +175718,7 @@ func sqlite3Fts5ParserAlloc(tls *libc.TLS, mallocProc uintptr) uintptr { /* sqli // a pointer to the value to be deleted. The code used to do the // deletions is derived from the %destructor and/or %token_destructor // directives of the input grammar. -func fts5yy_destructor(tls *libc.TLS, fts5yypParser uintptr, fts5yymajor uint8, fts5yypminor uintptr) { /* sqlite3.c:218125:13: */ +func fts5yy_destructor(tls *libc.TLS, fts5yypParser uintptr, fts5yymajor uint8, fts5yypminor uintptr) { /* sqlite3.c:218182:13: */ var pParse uintptr = (*Fts5yyParser)(unsafe.Pointer(fts5yypParser)).FpParse _ = pParse @@ -175745,7 +175776,7 @@ func fts5yy_destructor(tls *libc.TLS, fts5yypParser uintptr, fts5yymajor uint8, // // If there is a destructor routine associated with the token which // is popped from the stack, then call it. -func fts5yy_pop_parser_stack(tls *libc.TLS, pParser uintptr) { /* sqlite3.c:218184:13: */ +func fts5yy_pop_parser_stack(tls *libc.TLS, pParser uintptr) { /* sqlite3.c:218241:13: */ var fts5yytos uintptr fts5yytos = libc.PostDecUintptr(&(*Fts5yyParser)(unsafe.Pointer(pParser)).Ffts5yytos, 24) @@ -175753,7 +175784,7 @@ func fts5yy_pop_parser_stack(tls *libc.TLS, pParser uintptr) { /* sqlite3.c:2181 } // Clear all secondary memory allocations from the parser -func sqlite3Fts5ParserFinalize(tls *libc.TLS, p uintptr) { /* sqlite3.c:218202:13: */ +func sqlite3Fts5ParserFinalize(tls *libc.TLS, p uintptr) { /* sqlite3.c:218259:13: */ var pParser uintptr = p for (*Fts5yyParser)(unsafe.Pointer(pParser)).Ffts5yytos > pParser+16 { fts5yy_pop_parser_stack(tls, pParser) @@ -175766,7 +175797,7 @@ func sqlite3Fts5ParserFinalize(tls *libc.TLS, p uintptr) { /* sqlite3.c:218202:1 // If the fts5YYPARSEFREENEVERNULL macro exists (for example because it // 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) { /* sqlite3.c:218219:13: */ +func sqlite3Fts5ParserFree(tls *libc.TLS, p uintptr, freeProc uintptr) { /* sqlite3.c:218276:13: */ if p == uintptr(0) { return } @@ -175790,7 +175821,7 @@ func sqlite3Fts5ParserFree(tls *libc.TLS, p uintptr, freeProc uintptr) { /* sqli // Find the appropriate action for a parser given the terminal // look-ahead token iLookAhead. -func fts5yy_find_shift_action(tls *libc.TLS, iLookAhead uint8, stateno uint8) uint8 { /* sqlite3.c:218282:25: */ +func fts5yy_find_shift_action(tls *libc.TLS, iLookAhead uint8, stateno uint8) uint8 { /* sqlite3.c:218339:25: */ var i int32 if int32(stateno) > Fts5YY_MAX_SHIFT { @@ -175814,7 +175845,7 @@ func fts5yy_find_shift_action(tls *libc.TLS, iLookAhead uint8, stateno uint8) ui // Find the appropriate action for a parser given the non-terminal // look-ahead token iLookAhead. -func fts5yy_find_reduce_action(tls *libc.TLS, stateno uint8, iLookAhead uint8) uint8 { /* sqlite3.c:218347:25: */ +func fts5yy_find_reduce_action(tls *libc.TLS, stateno uint8, iLookAhead uint8) uint8 { /* sqlite3.c:218404:25: */ var i int32 i = int32(fts5yy_reduce_ofst[stateno]) @@ -175825,7 +175856,7 @@ func fts5yy_find_reduce_action(tls *libc.TLS, stateno uint8, iLookAhead uint8) u } // The following routine is called if the stack overflows. -func fts5yyStackOverflow(tls *libc.TLS, fts5yypParser uintptr) { /* sqlite3.c:218376:13: */ +func fts5yyStackOverflow(tls *libc.TLS, fts5yypParser uintptr) { /* sqlite3.c:218433:13: */ var pParse uintptr = (*Fts5yyParser)(unsafe.Pointer(fts5yypParser)).FpParse for (*Fts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yytos > fts5yypParser+16 { @@ -175844,7 +175875,7 @@ func fts5yyStackOverflow(tls *libc.TLS, fts5yypParser uintptr) { /* sqlite3.c:21 // Print tracing information for a SHIFT action // Perform a shift action. -func fts5yy_shift(tls *libc.TLS, fts5yypParser uintptr, fts5yyNewState uint8, fts5yyMajor uint8, fts5yyMinor Fts5Token) { /* sqlite3.c:218419:13: */ +func fts5yy_shift(tls *libc.TLS, fts5yypParser uintptr, fts5yyNewState uint8, fts5yyMajor uint8, fts5yyMinor Fts5Token) { /* sqlite3.c:218476:13: */ var fts5yytos uintptr (*Fts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yytos += 24 if (*Fts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yytos > (*Fts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yystackEnd { @@ -175893,7 +175924,7 @@ var fts5yyRuleInfoLhs = [28]uint8{ uint8(24), // (25) phrase ::= STRING star_opt uint8(26), // (26) star_opt ::= STAR uint8(26), // (27) star_opt ::= -} /* sqlite3.c:218460:29 */ +} /* sqlite3.c:218517:29 */ // For rule J, fts5yyRuleInfoNRhs[J] contains the negative of the number // of symbols on the right-hand side of that rule. @@ -175926,7 +175957,7 @@ var fts5yyRuleInfoNRhs = [28]int8{ int8(-2), // (25) phrase ::= STRING star_opt int8(-1), // (26) star_opt ::= STAR int8(0), // (27) star_opt ::= -} /* sqlite3.c:218493:26 */ +} /* sqlite3.c:218550:26 */ // Forward Declaration @@ -175938,7 +175969,7 @@ var fts5yyRuleInfoNRhs = [28]int8{ // if the lookahead token has already been consumed. As this procedure is // only called from one place, optimizing compilers will in-line it, which // means that the extra parameters have no performance impact. -func fts5yy_reduce(tls *libc.TLS, fts5yypParser uintptr, fts5yyruleno uint32, fts5yyLookahead int32, fts5yyLookaheadToken Fts5Token) uint8 { /* sqlite3.c:218536:25: */ +func fts5yy_reduce(tls *libc.TLS, fts5yypParser uintptr, fts5yyruleno uint32, fts5yyLookahead int32, fts5yyLookaheadToken Fts5Token) uint8 { /* sqlite3.c:218593:25: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -176148,7 +176179,7 @@ func fts5yy_reduce(tls *libc.TLS, fts5yypParser uintptr, fts5yyruleno uint32, ft // The following code executes when the parse fails // The following code executes when a syntax error first occurs. -func fts5yy_syntax_error(tls *libc.TLS, fts5yypParser uintptr, fts5yymajor int32, fts5yyminor Fts5Token) { /* sqlite3.c:218754:13: */ +func fts5yy_syntax_error(tls *libc.TLS, fts5yypParser uintptr, fts5yymajor int32, fts5yyminor Fts5Token) { /* sqlite3.c:218811:13: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -176165,7 +176196,7 @@ func fts5yy_syntax_error(tls *libc.TLS, fts5yypParser uintptr, fts5yymajor int32 } // The following is executed when the parser accepts -func fts5yy_accept(tls *libc.TLS, fts5yypParser uintptr) { /* sqlite3.c:218776:13: */ +func fts5yy_accept(tls *libc.TLS, fts5yypParser uintptr) { /* sqlite3.c:218833:13: */ var pParse uintptr = (*Fts5yyParser)(unsafe.Pointer(fts5yypParser)).FpParse // Here code is inserted which will be executed whenever the @@ -176194,7 +176225,7 @@ func fts5yy_accept(tls *libc.TLS, fts5yypParser uintptr) { /* sqlite3.c:218776:1 // // Outputs: // None. -func sqlite3Fts5Parser(tls *libc.TLS, fts5yyp uintptr, fts5yymajor int32, fts5yyminor Fts5Token, pParse uintptr) { /* sqlite3.c:218817:13: */ +func sqlite3Fts5Parser(tls *libc.TLS, fts5yyp uintptr, fts5yymajor int32, fts5yyminor Fts5Token, pParse uintptr) { /* sqlite3.c:218874:13: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -176249,7 +176280,7 @@ func sqlite3Fts5Parser(tls *libc.TLS, fts5yyp uintptr, fts5yymajor int32, fts5yy // Return the fallback token corresponding to canonical token iToken, or // 0 if iToken has no fallback. -func sqlite3Fts5ParserFallback(tls *libc.TLS, iToken int32) int32 { /* sqlite3.c:219034:12: */ +func sqlite3Fts5ParserFallback(tls *libc.TLS, iToken int32) int32 { /* sqlite3.c:219091:12: */ _ = iToken return 0 } @@ -176312,7 +176343,7 @@ type CInstIter1 = struct { FiStart int32 FiEnd int32 F__ccgo_pad1 [4]byte -} /* sqlite3.c:219080:9 */ +} /* sqlite3.c:219137:9 */ // 2014 May 31 // @@ -176363,11 +176394,11 @@ type CInstIter1 = struct { // printf("instance starts at %d, ends at %d\n", iter.iStart, iter.iEnd); // } // -type CInstIter = CInstIter1 /* sqlite3.c:219080:26 */ +type CInstIter = CInstIter1 /* sqlite3.c:219137:26 */ // Advance the iterator to the next coalesced phrase instance. Return // an SQLite error code if an error occurs, or SQLITE_OK otherwise. -func fts5CInstIterNext(tls *libc.TLS, pIter uintptr) int32 { /* sqlite3.c:219097:12: */ +func fts5CInstIterNext(tls *libc.TLS, pIter uintptr) int32 { /* sqlite3.c:219154:12: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -176410,7 +176441,7 @@ func fts5CInstIterNext(tls *libc.TLS, pIter uintptr) int32 { /* sqlite3.c:219097 // Initialize the iterator object indicated by the final parameter to // iterate through coalesced phrase instances in column iCol. -func fts5CInstIterInit(tls *libc.TLS, pApi uintptr, pFts uintptr, iCol int32, pIter uintptr) int32 { /* sqlite3.c:219128:12: */ +func fts5CInstIterInit(tls *libc.TLS, pApi uintptr, pFts uintptr, iCol int32, pIter uintptr) int32 { /* sqlite3.c:219185:12: */ var rc int32 libc.Xmemset(tls, pIter, 0, uint64(unsafe.Sizeof(CInstIter{}))) @@ -176443,12 +176474,12 @@ type HighlightContext1 = struct { FnIn int32 FiOff int32 FzOut uintptr -} /* sqlite3.c:219154:9 */ +} /* sqlite3.c:219211:9 */ // ************************************************************************ // // Start of highlight() implementation. -type HighlightContext = HighlightContext1 /* sqlite3.c:219154:33 */ +type HighlightContext = HighlightContext1 /* sqlite3.c:219211:33 */ // Append text to the HighlightContext output string - p->zOut. Argument // z points to a buffer containing n bytes of text to append. If n is @@ -176457,7 +176488,7 @@ type HighlightContext = HighlightContext1 /* sqlite3.c:219154:33 */ // If *pRc is set to any value other than SQLITE_OK when this function is // called, it is a no-op. If an error (i.e. an OOM condition) is encountered, // *pRc is set to an error code before returning. -func fts5HighlightAppend(tls *libc.TLS, pRc uintptr, p uintptr, z uintptr, n int32) { /* sqlite3.c:219177:13: */ +func fts5HighlightAppend(tls *libc.TLS, pRc uintptr, p uintptr, z uintptr, n int32) { /* sqlite3.c:219234:13: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -176473,7 +176504,7 @@ func fts5HighlightAppend(tls *libc.TLS, pRc uintptr, p uintptr, z uintptr, n int } // Tokenizer callback used by implementation of highlight() function. -func fts5HighlightCb(tls *libc.TLS, pContext uintptr, tflags int32, pToken uintptr, nToken int32, iStartOff int32, iEndOff int32) int32 { /* sqlite3.c:219192:12: */ +func fts5HighlightCb(tls *libc.TLS, pContext uintptr, tflags int32, pToken uintptr, nToken int32, iStartOff int32, iEndOff int32) int32 { /* sqlite3.c:219249:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -176528,7 +176559,7 @@ func fts5HighlightCb(tls *libc.TLS, pContext uintptr, tflags int32, pToken uintp } // Implementation of highlight() function. -func fts5HighlightFunction(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uintptr, nVal int32, apVal uintptr) { /* sqlite3.c:219246:13: */ +func fts5HighlightFunction(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uintptr, nVal int32, apVal uintptr) { /* sqlite3.c:219303:13: */ bp := tls.Alloc(100) defer tls.Free(100) @@ -176588,19 +176619,19 @@ type Fts5SFinder1 = struct { F__ccgo_pad1 [4]byte FaFirst uintptr FzDoc uintptr -} /* sqlite3.c:219295:9 */ +} /* sqlite3.c:219352:9 */ // // End of highlight() implementation. // // Context object passed to the fts5SentenceFinderCb() function. -type Fts5SFinder = Fts5SFinder1 /* sqlite3.c:219295:28 */ +type Fts5SFinder = Fts5SFinder1 /* sqlite3.c:219352:28 */ // Add an entry to the Fts5SFinder.aFirst[] array. Grow the array if // necessary. Return SQLITE_OK if successful, or SQLITE_NOMEM if an // error occurs. -func fts5SentenceFinderAdd(tls *libc.TLS, p uintptr, iAdd int32) int32 { /* sqlite3.c:219309:12: */ +func fts5SentenceFinderAdd(tls *libc.TLS, p uintptr, iAdd int32) int32 { /* sqlite3.c:219366:12: */ if (*Fts5SFinder)(unsafe.Pointer(p)).FnFirstAlloc == (*Fts5SFinder)(unsafe.Pointer(p)).FnFirst { var nNew int32 if (*Fts5SFinder)(unsafe.Pointer(p)).FnFirstAlloc != 0 { @@ -176624,7 +176655,7 @@ func fts5SentenceFinderAdd(tls *libc.TLS, p uintptr, iAdd int32) int32 { /* sqli // This function is an xTokenize() callback used by the auxiliary snippet() // function. Its job is to identify tokens that are the first in a sentence. // For each such token, an entry is added to the SFinder.aFirst[] array. -func fts5SentenceFinderCb(tls *libc.TLS, pContext uintptr, tflags int32, pToken uintptr, nToken int32, iStartOff int32, iEndOff int32) int32 { /* sqlite3.c:219328:12: */ +func fts5SentenceFinderCb(tls *libc.TLS, pContext uintptr, tflags int32, pToken uintptr, nToken int32, iStartOff int32, iEndOff int32) int32 { /* sqlite3.c:219385:12: */ var rc int32 = SQLITE_OK _ = pToken @@ -176653,7 +176684,7 @@ func fts5SentenceFinderCb(tls *libc.TLS, pContext uintptr, tflags int32, pToken return rc } -func fts5SnippetScore(tls *libc.TLS, pApi uintptr, pFts uintptr, nDocsize int32, aSeen uintptr, iCol int32, iPos int32, nToken int32, pnScore uintptr, piPos uintptr) int32 { /* sqlite3.c:219361:12: */ +func fts5SnippetScore(tls *libc.TLS, pApi uintptr, pFts uintptr, nDocsize int32, aSeen uintptr, iCol int32, iPos int32, nToken int32, pnScore uintptr, piPos uintptr) int32 { /* sqlite3.c:219418:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -176711,7 +176742,7 @@ func fts5SnippetScore(tls *libc.TLS, pApi uintptr, pFts uintptr, nDocsize int32, // Return the value in pVal interpreted as utf-8 text. Except, if pVal // contains a NULL value, return a pointer to a static string zero // bytes in length instead of a NULL pointer. -func fts5ValueToText(tls *libc.TLS, pVal uintptr) uintptr { /* sqlite3.c:219410:19: */ +func fts5ValueToText(tls *libc.TLS, pVal uintptr) uintptr { /* sqlite3.c:219467:19: */ var zRet uintptr = Xsqlite3_value_text(tls, pVal) if zRet != 0 { return zRet @@ -176720,7 +176751,7 @@ func fts5ValueToText(tls *libc.TLS, pVal uintptr) uintptr { /* sqlite3.c:219410: } // Implementation of snippet() function. -func fts5SnippetFunction(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uintptr, nVal int32, apVal uintptr) { /* sqlite3.c:219418:13: */ +func fts5SnippetFunction(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uintptr, nVal int32, apVal uintptr) { /* sqlite3.c:219475:13: */ bp := tls.Alloc(172) defer tls.Free(172) @@ -176935,17 +176966,17 @@ type Fts5Bm25Data1 = struct { Favgdl float64 FaIDF uintptr FaFreq uintptr -} /* sqlite3.c:219576:9 */ +} /* sqlite3.c:219633:9 */ //********************************************************************** // The first time the bm25() function is called for a query, an instance // of the following structure is allocated and populated. -type Fts5Bm25Data = Fts5Bm25Data1 /* sqlite3.c:219576:29 */ +type Fts5Bm25Data = Fts5Bm25Data1 /* sqlite3.c:219633:29 */ // Callback used by fts5Bm25GetData() to count the number of rows in the // table matched by each individual phrase within the query. -func fts5CountCb(tls *libc.TLS, pApi uintptr, pFts uintptr, pUserData uintptr) int32 { /* sqlite3.c:219588:12: */ +func fts5CountCb(tls *libc.TLS, pApi uintptr, pFts uintptr, pUserData uintptr) int32 { /* sqlite3.c:219645:12: */ var pn uintptr = pUserData _ = pApi _ = pFts @@ -176956,7 +176987,7 @@ func fts5CountCb(tls *libc.TLS, pApi uintptr, pFts uintptr, pUserData uintptr) i // Set *ppData to point to the Fts5Bm25Data object for the current query. // If the object has not already been allocated, allocate and populate it // now. -func fts5Bm25GetData(tls *libc.TLS, pApi uintptr, pFts uintptr, ppData uintptr) int32 { /* sqlite3.c:219604:12: */ +func fts5Bm25GetData(tls *libc.TLS, pApi uintptr, pFts uintptr, ppData uintptr) int32 { /* sqlite3.c:219661:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -177050,7 +177081,7 @@ func fts5Bm25GetData(tls *libc.TLS, pApi uintptr, pFts uintptr, ppData uintptr) } // Implementation of bm25() function. -func fts5Bm25Function(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uintptr, nVal int32, apVal uintptr) { /* sqlite3.c:219677:13: */ +func fts5Bm25Function(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uintptr, nVal int32, apVal uintptr) { /* sqlite3.c:219734:13: */ bp := tls.Alloc(28) defer tls.Free(28) @@ -177118,7 +177149,7 @@ func fts5Bm25Function(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uintptr, n } } -func sqlite3Fts5AuxInit(tls *libc.TLS, pApi uintptr) int32 { /* sqlite3.c:219733:12: */ +func sqlite3Fts5AuxInit(tls *libc.TLS, pApi uintptr) int32 { /* sqlite3.c:219790:12: */ bp := tls.Alloc(96) defer tls.Free(96) @@ -177154,7 +177185,7 @@ type Builtin = struct { FpUserData uintptr FxFunc Fts5_extension_function FxDestroy uintptr -} /* sqlite3.c:219734:3 */ +} /* sqlite3.c:219791:3 */ // 2014 May 31 // @@ -177169,7 +177200,7 @@ type Builtin = struct { // #include "fts5Int.h" -func sqlite3Fts5BufferSize(tls *libc.TLS, pRc uintptr, pBuf uintptr, nByte U32) int32 { /* sqlite3.c:219776:12: */ +func sqlite3Fts5BufferSize(tls *libc.TLS, pRc uintptr, pBuf uintptr, nByte U32) int32 { /* sqlite3.c:219833:12: */ if U32((*Fts5Buffer)(unsafe.Pointer(pBuf)).FnSpace) < nByte { var nNew U64 if (*Fts5Buffer)(unsafe.Pointer(pBuf)).FnSpace != 0 { @@ -177195,7 +177226,7 @@ func sqlite3Fts5BufferSize(tls *libc.TLS, pRc uintptr, pBuf uintptr, nByte U32) // Encode value iVal as an SQLite varint and append it to the buffer object // pBuf. If an OOM error occurs, set the error code in p. -func sqlite3Fts5BufferAppendVarint(tls *libc.TLS, pRc uintptr, pBuf uintptr, iVal I64) { /* sqlite3.c:219800:13: */ +func sqlite3Fts5BufferAppendVarint(tls *libc.TLS, pRc uintptr, pBuf uintptr, iVal I64) { /* sqlite3.c:219857:13: */ if func() int32 { if U32((*Fts5Buffer)(unsafe.Pointer(pBuf)).Fn)+U32(9) <= U32((*Fts5Buffer)(unsafe.Pointer(pBuf)).FnSpace) { return 0 @@ -177207,21 +177238,21 @@ func sqlite3Fts5BufferAppendVarint(tls *libc.TLS, pRc uintptr, pBuf uintptr, iVa *(*int32)(unsafe.Pointer(pBuf + 8)) += sqlite3Fts5PutVarint(tls, (*Fts5Buffer)(unsafe.Pointer(pBuf)).Fp+uintptr((*Fts5Buffer)(unsafe.Pointer(pBuf)).Fn), uint64(iVal)) } -func sqlite3Fts5Put32(tls *libc.TLS, aBuf uintptr, iVal int32) { /* sqlite3.c:219805:13: */ +func sqlite3Fts5Put32(tls *libc.TLS, aBuf uintptr, iVal int32) { /* sqlite3.c:219862:13: */ *(*U8)(unsafe.Pointer(aBuf)) = U8(iVal >> 24 & 0x00FF) *(*U8)(unsafe.Pointer(aBuf + 1)) = U8(iVal >> 16 & 0x00FF) *(*U8)(unsafe.Pointer(aBuf + 2)) = U8(iVal >> 8 & 0x00FF) *(*U8)(unsafe.Pointer(aBuf + 3)) = U8(iVal >> 0 & 0x00FF) } -func sqlite3Fts5Get32(tls *libc.TLS, aBuf uintptr) int32 { /* sqlite3.c:219812:12: */ +func sqlite3Fts5Get32(tls *libc.TLS, aBuf uintptr) int32 { /* sqlite3.c:219869:12: */ return int32(U32(*(*U8)(unsafe.Pointer(aBuf)))<<24 + U32(int32(*(*U8)(unsafe.Pointer(aBuf + 1)))<<16) + U32(int32(*(*U8)(unsafe.Pointer(aBuf + 2)))<<8) + U32(*(*U8)(unsafe.Pointer(aBuf + 3)))) } // Append buffer nData/pData to buffer pBuf. If an OOM error occurs, set // the error code in p. If an error has already occurred when this function // is called, it is a no-op. -func sqlite3Fts5BufferAppendBlob(tls *libc.TLS, pRc uintptr, pBuf uintptr, nData U32, pData uintptr) { /* sqlite3.c:219821:13: */ +func sqlite3Fts5BufferAppendBlob(tls *libc.TLS, pRc uintptr, pBuf uintptr, nData U32, pData uintptr) { /* sqlite3.c:219878:13: */ if nData != 0 { if func() int32 { if U32((*Fts5Buffer)(unsafe.Pointer(pBuf)).Fn)+nData <= U32((*Fts5Buffer)(unsafe.Pointer(pBuf)).FnSpace) { @@ -177239,7 +177270,7 @@ func sqlite3Fts5BufferAppendBlob(tls *libc.TLS, pRc uintptr, pBuf uintptr, nData // Append the nul-terminated string zStr to the buffer pBuf. This function // ensures that the byte following the buffer data is set to 0x00, even // though this byte is not included in the pBuf->n count. -func sqlite3Fts5BufferAppendString(tls *libc.TLS, pRc uintptr, pBuf uintptr, zStr uintptr) { /* sqlite3.c:219839:13: */ +func sqlite3Fts5BufferAppendString(tls *libc.TLS, pRc uintptr, pBuf uintptr, zStr uintptr) { /* sqlite3.c:219896:13: */ var nStr int32 = int32(libc.Xstrlen(tls, zStr)) sqlite3Fts5BufferAppendBlob(tls, pRc, pBuf, uint32(nStr+1), zStr) (*Fts5Buffer)(unsafe.Pointer(pBuf)).Fn-- @@ -177251,7 +177282,7 @@ func sqlite3Fts5BufferAppendString(tls *libc.TLS, pRc uintptr, pBuf uintptr, zSt // Like sqlite3Fts5BufferAppendString(), this function ensures that the byte // following the buffer data is set to 0x00, even though this byte is not // included in the pBuf->n count. -func sqlite3Fts5BufferAppendPrintf(tls *libc.TLS, pRc uintptr, pBuf uintptr, zFmt uintptr, va uintptr) { /* sqlite3.c:219857:13: */ +func sqlite3Fts5BufferAppendPrintf(tls *libc.TLS, pRc uintptr, pBuf uintptr, zFmt uintptr, va uintptr) { /* sqlite3.c:219914:13: */ if *(*int32)(unsafe.Pointer(pRc)) == SQLITE_OK { var zTmp uintptr var ap Va_list @@ -177269,7 +177300,7 @@ func sqlite3Fts5BufferAppendPrintf(tls *libc.TLS, pRc uintptr, pBuf uintptr, zFm } } -func sqlite3Fts5Mprintf(tls *libc.TLS, pRc uintptr, zFmt uintptr, va uintptr) uintptr { /* sqlite3.c:219878:13: */ +func sqlite3Fts5Mprintf(tls *libc.TLS, pRc uintptr, zFmt uintptr, va uintptr) uintptr { /* sqlite3.c:219935:13: */ var zRet uintptr = uintptr(0) if *(*int32)(unsafe.Pointer(pRc)) == SQLITE_OK { var ap Va_list @@ -177285,26 +177316,26 @@ func sqlite3Fts5Mprintf(tls *libc.TLS, pRc uintptr, zFmt uintptr, va uintptr) ui } // Free any buffer allocated by pBuf. Zero the structure before returning. -func sqlite3Fts5BufferFree(tls *libc.TLS, pBuf uintptr) { /* sqlite3.c:219896:13: */ +func sqlite3Fts5BufferFree(tls *libc.TLS, pBuf uintptr) { /* sqlite3.c:219953:13: */ Xsqlite3_free(tls, (*Fts5Buffer)(unsafe.Pointer(pBuf)).Fp) libc.Xmemset(tls, pBuf, 0, uint64(unsafe.Sizeof(Fts5Buffer{}))) } // Zero the contents of the buffer object. But do not free the associated // memory allocation. -func sqlite3Fts5BufferZero(tls *libc.TLS, pBuf uintptr) { /* sqlite3.c:219905:13: */ +func sqlite3Fts5BufferZero(tls *libc.TLS, pBuf uintptr) { /* sqlite3.c:219962:13: */ (*Fts5Buffer)(unsafe.Pointer(pBuf)).Fn = 0 } // Set the buffer to contain nData/pData. If an OOM error occurs, leave an // the error code in p. If an error has already occurred when this function // is called, it is a no-op. -func sqlite3Fts5BufferSet(tls *libc.TLS, pRc uintptr, pBuf uintptr, nData int32, pData uintptr) { /* sqlite3.c:219914:13: */ +func sqlite3Fts5BufferSet(tls *libc.TLS, pRc uintptr, pBuf uintptr, nData int32, pData uintptr) { /* sqlite3.c:219971:13: */ (*Fts5Buffer)(unsafe.Pointer(pBuf)).Fn = 0 sqlite3Fts5BufferAppendBlob(tls, pRc, pBuf, uint32(nData), pData) } -func sqlite3Fts5PoslistNext64(tls *libc.TLS, a uintptr, n int32, pi uintptr, piOff uintptr) int32 { /* sqlite3.c:219924:12: */ +func sqlite3Fts5PoslistNext64(tls *libc.TLS, a uintptr, n int32, pi uintptr, piOff uintptr) int32 { /* sqlite3.c:219981:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -177366,14 +177397,14 @@ func sqlite3Fts5PoslistNext64(tls *libc.TLS, a uintptr, n int32, pi uintptr, piO // Advance the iterator object passed as the only argument. Return true // if the iterator reaches EOF, or false otherwise. -func sqlite3Fts5PoslistReaderNext(tls *libc.TLS, pIter uintptr) int32 { /* sqlite3.c:219967:12: */ +func sqlite3Fts5PoslistReaderNext(tls *libc.TLS, pIter uintptr) int32 { /* sqlite3.c:220024:12: */ if sqlite3Fts5PoslistNext64(tls, (*Fts5PoslistReader)(unsafe.Pointer(pIter)).Fa, (*Fts5PoslistReader)(unsafe.Pointer(pIter)).Fn, pIter+12, pIter+24) != 0 { (*Fts5PoslistReader)(unsafe.Pointer(pIter)).FbEof = U8(1) } return int32((*Fts5PoslistReader)(unsafe.Pointer(pIter)).FbEof) } -func sqlite3Fts5PoslistReaderInit(tls *libc.TLS, a uintptr, n int32, pIter uintptr) int32 { /* sqlite3.c:219974:12: */ +func sqlite3Fts5PoslistReaderInit(tls *libc.TLS, a uintptr, n int32, pIter uintptr) int32 { /* sqlite3.c:220031:12: */ libc.Xmemset(tls, pIter, 0, uint64(unsafe.Sizeof(Fts5PoslistReader{}))) (*Fts5PoslistReader)(unsafe.Pointer(pIter)).Fa = a (*Fts5PoslistReader)(unsafe.Pointer(pIter)).Fn = n @@ -177385,7 +177416,7 @@ func sqlite3Fts5PoslistReaderInit(tls *libc.TLS, a uintptr, n int32, pIter uintp // pBuf, which must be already be large enough to hold the new data. // The previous position written to this list is *piPrev. *piPrev is set // to iPos before returning. -func sqlite3Fts5PoslistSafeAppend(tls *libc.TLS, pBuf uintptr, piPrev uintptr, iPos I64) { /* sqlite3.c:219991:13: */ +func sqlite3Fts5PoslistSafeAppend(tls *libc.TLS, pBuf uintptr, piPrev uintptr, iPos I64) { /* sqlite3.c:220048:13: */ if iPos >= *(*I64)(unsafe.Pointer(piPrev)) { if iPos&colmask != *(*I64)(unsafe.Pointer(piPrev))&colmask { *(*U8)(unsafe.Pointer((*Fts5Buffer)(unsafe.Pointer(pBuf)).Fp + uintptr(libc.PostIncInt32(&(*Fts5Buffer)(unsafe.Pointer(pBuf)).Fn, 1)))) = U8(1) @@ -177397,9 +177428,9 @@ func sqlite3Fts5PoslistSafeAppend(tls *libc.TLS, pBuf uintptr, piPrev uintptr, i } } -var colmask I64 = I64(int64(0x7FFFFFFF)) << 32 /* sqlite3.c:219997:22 */ +var colmask I64 = I64(int64(0x7FFFFFFF)) << 32 /* sqlite3.c:220054:22 */ -func sqlite3Fts5PoslistWriterAppend(tls *libc.TLS, pBuf uintptr, pWriter uintptr, iPos I64) int32 { /* sqlite3.c:220008:12: */ +func sqlite3Fts5PoslistWriterAppend(tls *libc.TLS, pBuf uintptr, pWriter uintptr, iPos I64) int32 { /* sqlite3.c:220065:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -177416,7 +177447,7 @@ func sqlite3Fts5PoslistWriterAppend(tls *libc.TLS, pBuf uintptr, pWriter uintptr return SQLITE_OK } -func sqlite3Fts5MallocZero(tls *libc.TLS, pRc uintptr, nByte Sqlite3_int64) uintptr { /* sqlite3.c:220019:13: */ +func sqlite3Fts5MallocZero(tls *libc.TLS, pRc uintptr, nByte Sqlite3_int64) uintptr { /* sqlite3.c:220076:13: */ var pRet uintptr = uintptr(0) if *(*int32)(unsafe.Pointer(pRc)) == SQLITE_OK { pRet = Xsqlite3_malloc64(tls, uint64(nByte)) @@ -177437,7 +177468,7 @@ func sqlite3Fts5MallocZero(tls *libc.TLS, pRc uintptr, nByte Sqlite3_int64) uint // // It is the responsibility of the caller to eventually free the returned // buffer using sqlite3_free(). If an OOM error occurs, NULL is returned. -func sqlite3Fts5Strndup(tls *libc.TLS, pRc uintptr, pIn uintptr, nIn int32) uintptr { /* sqlite3.c:220040:13: */ +func sqlite3Fts5Strndup(tls *libc.TLS, pRc uintptr, pIn uintptr, nIn int32) uintptr { /* sqlite3.c:220097:13: */ var zRet uintptr = uintptr(0) if *(*int32)(unsafe.Pointer(pRc)) == SQLITE_OK { if nIn < 0 { @@ -177462,7 +177493,7 @@ func sqlite3Fts5Strndup(tls *libc.TLS, pRc uintptr, pIn uintptr, nIn int32) uint // * The 10 integer ASCII characters. // * The underscore character "_" (0x5F). // * The unicode "subsitute" character (0x1A). -func sqlite3Fts5IsBareword(tls *libc.TLS, t int8) int32 { /* sqlite3.c:220068:12: */ +func sqlite3Fts5IsBareword(tls *libc.TLS, t int8) int32 { /* sqlite3.c:220125:12: */ bp := tls.Alloc(128) defer tls.Free(128) @@ -177487,13 +177518,13 @@ type Fts5TermsetEntry1 = struct { FnTerm int32 FiIdx int32 FpNext uintptr -} /* sqlite3.c:217037:9 */ +} /* sqlite3.c:217094:9 */ // ************************************************************************ // -type Fts5TermsetEntry = Fts5TermsetEntry1 /* sqlite3.c:220086:33 */ +type Fts5TermsetEntry = Fts5TermsetEntry1 /* sqlite3.c:220143:33 */ -func sqlite3Fts5TermsetNew(tls *libc.TLS, pp uintptr) int32 { /* sqlite3.c:220098:12: */ +func sqlite3Fts5TermsetNew(tls *libc.TLS, pp uintptr) int32 { /* sqlite3.c:220155:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -177502,7 +177533,7 @@ func sqlite3Fts5TermsetNew(tls *libc.TLS, pp uintptr) int32 { /* sqlite3.c:22009 return *(*int32)(unsafe.Pointer(bp /* rc */)) } -func sqlite3Fts5TermsetAdd(tls *libc.TLS, p uintptr, iIdx int32, pTerm uintptr, nTerm int32, pbPresent uintptr) int32 { /* sqlite3.c:220104:12: */ +func sqlite3Fts5TermsetAdd(tls *libc.TLS, p uintptr, iIdx int32, pTerm uintptr, nTerm int32, pbPresent uintptr) int32 { /* sqlite3.c:220161:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -177548,7 +177579,7 @@ func sqlite3Fts5TermsetAdd(tls *libc.TLS, p uintptr, iIdx int32, pTerm uintptr, return *(*int32)(unsafe.Pointer(bp /* rc */)) } -func sqlite3Fts5TermsetFree(tls *libc.TLS, p uintptr) { /* sqlite3.c:220153:13: */ +func sqlite3Fts5TermsetFree(tls *libc.TLS, p uintptr) { /* sqlite3.c:220210:13: */ if p != 0 { var i U32 for i = U32(0); i < U32(int32(uint64(unsafe.Sizeof([512]uintptr{}))/uint64(unsafe.Sizeof(uintptr(0))))); i++ { @@ -177580,18 +177611,18 @@ func sqlite3Fts5TermsetFree(tls *libc.TLS, p uintptr) { /* sqlite3.c:220153:13: // Maximum allowed page size -func fts5_iswhitespace(tls *libc.TLS, x int8) int32 { /* sqlite3.c:220195:12: */ +func fts5_iswhitespace(tls *libc.TLS, x int8) int32 { /* sqlite3.c:220252:12: */ return libc.Bool32(int32(x) == ' ') } -func fts5_isopenquote(tls *libc.TLS, x int8) int32 { /* sqlite3.c:220199:12: */ +func fts5_isopenquote(tls *libc.TLS, x int8) int32 { /* sqlite3.c:220256:12: */ return libc.Bool32(int32(x) == '"' || int32(x) == '\'' || int32(x) == '[' || int32(x) == '`') } // Argument pIn points to a character that is part of a nul-terminated // string. Return a pointer to the first character following *pIn in // the string that is not a white-space character. -func fts5ConfigSkipWhitespace(tls *libc.TLS, pIn uintptr) uintptr { /* sqlite3.c:220208:19: */ +func fts5ConfigSkipWhitespace(tls *libc.TLS, pIn uintptr) uintptr { /* sqlite3.c:220265:19: */ var p uintptr = pIn if p != 0 { for fts5_iswhitespace(tls, *(*int8)(unsafe.Pointer(p))) != 0 { @@ -177604,7 +177635,7 @@ func fts5ConfigSkipWhitespace(tls *libc.TLS, pIn uintptr) uintptr { /* sqlite3.c // Argument pIn points to a character that is part of a nul-terminated // string. Return a pointer to the first character following *pIn in // the string that is not a "bareword" character. -func fts5ConfigSkipBareword(tls *libc.TLS, pIn uintptr) uintptr { /* sqlite3.c:220221:19: */ +func fts5ConfigSkipBareword(tls *libc.TLS, pIn uintptr) uintptr { /* sqlite3.c:220278:19: */ var p uintptr = pIn for sqlite3Fts5IsBareword(tls, *(*int8)(unsafe.Pointer(p))) != 0 { p++ @@ -177615,11 +177646,11 @@ func fts5ConfigSkipBareword(tls *libc.TLS, pIn uintptr) uintptr { /* sqlite3.c:2 return p } -func fts5_isdigit(tls *libc.TLS, a int8) int32 { /* sqlite3.c:220228:12: */ +func fts5_isdigit(tls *libc.TLS, a int8) int32 { /* sqlite3.c:220285:12: */ return libc.Bool32(int32(a) >= '0' && int32(a) <= '9') } -func fts5ConfigSkipLiteral(tls *libc.TLS, pIn uintptr) uintptr { /* sqlite3.c:220234:19: */ +func fts5ConfigSkipLiteral(tls *libc.TLS, pIn uintptr) uintptr { /* sqlite3.c:220291:19: */ var p uintptr = pIn switch int32(*(*int8)(unsafe.Pointer(p))) { case 'n': @@ -177708,7 +177739,7 @@ func fts5ConfigSkipLiteral(tls *libc.TLS, pIn uintptr) uintptr { /* sqlite3.c:22 // the character immediately following it. Or, if the close-quote is not // found, -1 is returned. If -1 is returned, the buffer is left in an // undefined state. -func fts5Dequote(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:220310:12: */ +func fts5Dequote(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:220367:12: */ var q int8 var iIn int32 = 1 var iOut int32 = 0 @@ -177753,7 +177784,7 @@ func fts5Dequote(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:220310:12: */ // 'xyz' becomes xyz // [pqr] becomes pqr // `mno` becomes mno -func sqlite3Fts5Dequote(tls *libc.TLS, z uintptr) { /* sqlite3.c:220355:13: */ +func sqlite3Fts5Dequote(tls *libc.TLS, z uintptr) { /* sqlite3.c:220412:13: */ var quote int8 // Quote character (if any ) quote = *(*int8)(unsafe.Pointer(z)) @@ -177766,11 +177797,11 @@ type Fts5Enum1 = struct { FzName uintptr FeVal int32 F__ccgo_pad1 [4]byte -} /* sqlite3.c:220366:1 */ +} /* sqlite3.c:220423:1 */ -type Fts5Enum = Fts5Enum1 /* sqlite3.c:220370:25 */ +type Fts5Enum = Fts5Enum1 /* sqlite3.c:220427:25 */ -func fts5ConfigSetEnum(tls *libc.TLS, aEnum uintptr, zEnum uintptr, peVal uintptr) int32 { /* sqlite3.c:220372:12: */ +func fts5ConfigSetEnum(tls *libc.TLS, aEnum uintptr, zEnum uintptr, peVal uintptr) int32 { /* sqlite3.c:220429:12: */ var nEnum int32 = int32(libc.Xstrlen(tls, zEnum)) var i int32 var iVal int32 = -1 @@ -177798,7 +177829,7 @@ func fts5ConfigSetEnum(tls *libc.TLS, aEnum uintptr, zEnum uintptr, peVal uintpt // an error occurs, an SQLite error code is returned and an error message // may be left in *pzErr. It is the responsibility of the caller to // eventually free any such error message using sqlite3_free(). -func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCmd uintptr, zArg uintptr, pzErr uintptr) int32 { /* sqlite3.c:220401:12: */ +func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCmd uintptr, zArg uintptr, pzErr uintptr) int32 { /* sqlite3.c:220458:12: */ bp := tls.Alloc(112) defer tls.Free(112) @@ -177961,7 +177992,7 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm // Allocate an instance of the default tokenizer ("simple") at // Fts5Config.pTokenizer. Return SQLITE_OK if successful, or an SQLite error // code if an error occurs. -func fts5ConfigDefaultTokenizer(tls *libc.TLS, pGlobal uintptr, pConfig uintptr) int32 { /* sqlite3.c:220565:12: */ +func fts5ConfigDefaultTokenizer(tls *libc.TLS, pGlobal uintptr, pConfig uintptr) int32 { /* sqlite3.c:220622:12: */ return sqlite3Fts5GetTokenizer(tls, pGlobal, uintptr(0), 0, pConfig, uintptr(0)) } @@ -177979,7 +178010,7 @@ func fts5ConfigDefaultTokenizer(tls *libc.TLS, pGlobal uintptr, pConfig uintptr) // a no-op (NULL is returned). Otherwise, if an OOM occurs within this // function, *pRc is set to SQLITE_NOMEM before returning. *pRc is *not* // set if a parse error (failed to find close quote) occurs. -func fts5ConfigGobbleWord(tls *libc.TLS, pRc uintptr, zIn uintptr, pzOut uintptr, pbQuoted uintptr) uintptr { /* sqlite3.c:220585:19: */ +func fts5ConfigGobbleWord(tls *libc.TLS, pRc uintptr, zIn uintptr, pzOut uintptr, pbQuoted uintptr) uintptr { /* sqlite3.c:220642:19: */ var zRet uintptr = uintptr(0) var nIn Sqlite3_int64 = Sqlite3_int64(libc.Xstrlen(tls, zIn)) @@ -178013,7 +178044,7 @@ func fts5ConfigGobbleWord(tls *libc.TLS, pRc uintptr, zIn uintptr, pzOut uintptr return zRet } -func fts5ConfigParseColumn(tls *libc.TLS, p uintptr, zCol uintptr, zArg uintptr, pzErr uintptr) int32 { /* sqlite3.c:220625:12: */ +func fts5ConfigParseColumn(tls *libc.TLS, p uintptr, zCol uintptr, zArg uintptr, pzErr uintptr) int32 { /* sqlite3.c:220682:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -178036,7 +178067,7 @@ func fts5ConfigParseColumn(tls *libc.TLS, p uintptr, zCol uintptr, zArg uintptr, } // Populate the Fts5Config.zContentExprlist string. -func fts5ConfigMakeExprlist(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:220653:12: */ +func fts5ConfigMakeExprlist(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:220710:12: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -178069,7 +178100,7 @@ func fts5ConfigMakeExprlist(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:22065 // returned, *ppOut is set to NULL and an error message may be left in // *pzErr. It is the responsibility of the caller to eventually free any // such error message using sqlite3_free(). -func sqlite3Fts5ConfigParse(tls *libc.TLS, pGlobal uintptr, db uintptr, nArg int32, azArg uintptr, ppOut uintptr, pzErr uintptr) int32 { /* sqlite3.c:220686:12: */ +func sqlite3Fts5ConfigParse(tls *libc.TLS, pGlobal uintptr, db uintptr, nArg int32, azArg uintptr, ppOut uintptr, pzErr uintptr) int32 { /* sqlite3.c:220743:12: */ bp := tls.Alloc(76) defer tls.Free(76) @@ -178202,7 +178233,7 @@ func sqlite3Fts5ConfigParse(tls *libc.TLS, pGlobal uintptr, db uintptr, nArg int } // Free the configuration object passed as the only argument. -func sqlite3Fts5ConfigFree(tls *libc.TLS, pConfig uintptr) { /* sqlite3.c:220810:13: */ +func sqlite3Fts5ConfigFree(tls *libc.TLS, pConfig uintptr) { /* sqlite3.c:220867:13: */ if pConfig != 0 { var i int32 if (*Fts5Config)(unsafe.Pointer(pConfig)).FpTok != 0 { @@ -178227,7 +178258,7 @@ func sqlite3Fts5ConfigFree(tls *libc.TLS, pConfig uintptr) { /* sqlite3.c:220810 // Call sqlite3_declare_vtab() based on the contents of the configuration // object passed as the only argument. Return SQLITE_OK if successful, or // an SQLite error code if an error occurs. -func sqlite3Fts5ConfigDeclareVtab(tls *libc.TLS, pConfig uintptr) int32 { /* sqlite3.c:220837:12: */ +func sqlite3Fts5ConfigDeclareVtab(tls *libc.TLS, pConfig uintptr) int32 { /* sqlite3.c:220894:12: */ bp := tls.Alloc(52) defer tls.Free(52) @@ -178277,7 +178308,7 @@ func sqlite3Fts5ConfigDeclareVtab(tls *libc.TLS, pConfig uintptr) int32 { /* sql // still returns SQLITE_OK. Or, if the tokenization was abandoned early // 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) int32 { /* sqlite3.c:220883:12: */ +func sqlite3Fts5Tokenize(tls *libc.TLS, pConfig uintptr, flags int32, pText uintptr, nText int32, pCtx uintptr, xToken uintptr) int32 { /* sqlite3.c:220940:12: */ if pText == uintptr(0) { return SQLITE_OK } @@ -178291,7 +178322,7 @@ func sqlite3Fts5Tokenize(tls *libc.TLS, pConfig uintptr, flags int32, pText uint // a comma-separated list of SQL literals followed by a ')' character. // If it actually is this, return a pointer to the ')'. Otherwise, return // NULL to indicate a parse error. -func fts5ConfigSkipArgs(tls *libc.TLS, pIn uintptr) uintptr { /* sqlite3.c:220902:19: */ +func fts5ConfigSkipArgs(tls *libc.TLS, pIn uintptr) uintptr { /* sqlite3.c:220959:19: */ var p uintptr = pIn for 1 != 0 { @@ -178318,7 +178349,7 @@ func fts5ConfigSkipArgs(tls *libc.TLS, pIn uintptr) uintptr { /* sqlite3.c:22090 // + Open parenthesis - "(" // + Zero or more SQL literals in a comma separated list // + Close parenthesis - ")" -func sqlite3Fts5ConfigParseRank(tls *libc.TLS, zIn uintptr, pzRank uintptr, pzRankArgs uintptr) int32 { /* sqlite3.c:220929:12: */ +func sqlite3Fts5ConfigParseRank(tls *libc.TLS, zIn uintptr, pzRank uintptr, pzRankArgs uintptr) int32 { /* sqlite3.c:220986:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -178382,7 +178413,7 @@ func sqlite3Fts5ConfigParseRank(tls *libc.TLS, zIn uintptr, pzRank uintptr, pzRa return *(*int32)(unsafe.Pointer(bp /* rc */)) } -func sqlite3Fts5ConfigSetValue(tls *libc.TLS, pConfig uintptr, zKey uintptr, pVal uintptr, pbBadkey uintptr) int32 { /* sqlite3.c:220988:12: */ +func sqlite3Fts5ConfigSetValue(tls *libc.TLS, pConfig uintptr, zKey uintptr, pVal uintptr, pbBadkey uintptr) int32 { /* sqlite3.c:221045:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -178470,7 +178501,7 @@ func sqlite3Fts5ConfigSetValue(tls *libc.TLS, pConfig uintptr, zKey uintptr, pVa } // Load the contents of the %_config table into memory. -func sqlite3Fts5ConfigLoad(tls *libc.TLS, pConfig uintptr, iCookie int32) int32 { /* sqlite3.c:221082:12: */ +func sqlite3Fts5ConfigLoad(tls *libc.TLS, pConfig uintptr, iCookie int32) int32 { /* sqlite3.c:221139:12: */ bp := tls.Alloc(52) defer tls.Free(52) @@ -178547,7 +178578,7 @@ type Fts5ExprTerm1 = struct { FzTerm uintptr FpIter uintptr FpSynonym uintptr -} /* sqlite3.c:216813:9 */ +} /* sqlite3.c:216870:9 */ // 2014 May 31 // @@ -178566,9 +178597,9 @@ type Fts5ExprTerm1 = struct { // All token types in the generated fts5parse.h file are greater than 0. -type Fts5ExprTerm = Fts5ExprTerm1 /* sqlite3.c:221160:29 */ +type Fts5ExprTerm = Fts5ExprTerm1 /* sqlite3.c:221217:29 */ -func sqlite3Fts5ParseError(tls *libc.TLS, pParse uintptr, zFmt uintptr, va uintptr) { /* sqlite3.c:221267:13: */ +func sqlite3Fts5ParseError(tls *libc.TLS, pParse uintptr, zFmt uintptr, va uintptr) { /* sqlite3.c:221324:13: */ var ap Va_list _ = ap ap = va @@ -178580,12 +178611,12 @@ func sqlite3Fts5ParseError(tls *libc.TLS, pParse uintptr, zFmt uintptr, va uintp _ = ap } -func fts5ExprIsspace(tls *libc.TLS, t int8) int32 { /* sqlite3.c:221278:12: */ +func fts5ExprIsspace(tls *libc.TLS, t int8) int32 { /* sqlite3.c:221335:12: */ return libc.Bool32(int32(t) == ' ' || int32(t) == '\t' || int32(t) == '\n' || int32(t) == '\r') } // Read the first token from the nul-terminated string at *pz. -func fts5ExprGetToken(tls *libc.TLS, pParse uintptr, pz uintptr, pToken uintptr) int32 { /* sqlite3.c:221285:12: */ +func fts5ExprGetToken(tls *libc.TLS, pParse uintptr, pz uintptr, pToken uintptr) int32 { /* sqlite3.c:221342:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -178685,15 +178716,15 @@ func fts5ExprGetToken(tls *libc.TLS, pParse uintptr, pz uintptr, pToken uintptr) return tok } -func fts5ParseAlloc(tls *libc.TLS, t U64) uintptr { /* sqlite3.c:221349:13: */ +func fts5ParseAlloc(tls *libc.TLS, t U64) uintptr { /* sqlite3.c:221406:13: */ return Xsqlite3_malloc64(tls, uint64(Sqlite3_int64(t))) } -func fts5ParseFree(tls *libc.TLS, p uintptr) { /* sqlite3.c:221350:13: */ +func fts5ParseFree(tls *libc.TLS, p uintptr) { /* sqlite3.c:221407:13: */ Xsqlite3_free(tls, p) } -func sqlite3Fts5ExprNew(tls *libc.TLS, pConfig uintptr, bPhraseToAnd int32, iCol int32, zExpr uintptr, ppNew uintptr, pzErr uintptr) int32 { /* sqlite3.c:221352:12: */ +func sqlite3Fts5ExprNew(tls *libc.TLS, pConfig uintptr, bPhraseToAnd int32, iCol int32, zExpr uintptr, ppNew uintptr, pzErr uintptr) int32 { /* sqlite3.c:221409:12: */ bp := tls.Alloc(72) defer tls.Free(72) @@ -178771,7 +178802,7 @@ func sqlite3Fts5ExprNew(tls *libc.TLS, pConfig uintptr, bPhraseToAnd int32, iCol // expression that will match a superset of the rows matched by the LIKE or // GLOB. If successful, SQLITE_OK is returned. Otherwise, an SQLite error // code. -func sqlite3Fts5ExprPattern(tls *libc.TLS, pConfig uintptr, bGlob int32, iCol int32, zText uintptr, pp uintptr) int32 { /* sqlite3.c:221433:12: */ +func sqlite3Fts5ExprPattern(tls *libc.TLS, pConfig uintptr, bGlob int32, iCol int32, zText uintptr, pp uintptr) int32 { /* sqlite3.c:221490:12: */ bp := tls.Alloc(3) defer tls.Free(3) @@ -178846,7 +178877,7 @@ func sqlite3Fts5ExprPattern(tls *libc.TLS, pConfig uintptr, bGlob int32, iCol in } // Free the expression node object passed as the only argument. -func sqlite3Fts5ParseNodeFree(tls *libc.TLS, p uintptr) { /* sqlite3.c:221503:13: */ +func sqlite3Fts5ParseNodeFree(tls *libc.TLS, p uintptr) { /* sqlite3.c:221560:13: */ if p != 0 { var i int32 for i = 0; i < (*Fts5ExprNode)(unsafe.Pointer(p)).FnChild; i++ { @@ -178858,7 +178889,7 @@ func sqlite3Fts5ParseNodeFree(tls *libc.TLS, p uintptr) { /* sqlite3.c:221503:13 } // Free the expression object passed as the only argument. -func sqlite3Fts5ExprFree(tls *libc.TLS, p uintptr) { /* sqlite3.c:221517:13: */ +func sqlite3Fts5ExprFree(tls *libc.TLS, p uintptr) { /* sqlite3.c:221574:13: */ if p != 0 { sqlite3Fts5ParseNodeFree(tls, (*Fts5Expr)(unsafe.Pointer(p)).FpRoot) Xsqlite3_free(tls, (*Fts5Expr)(unsafe.Pointer(p)).FapExprPhrase) @@ -178866,7 +178897,7 @@ func sqlite3Fts5ExprFree(tls *libc.TLS, p uintptr) { /* sqlite3.c:221517:13: */ } } -func sqlite3Fts5ExprAnd(tls *libc.TLS, pp1 uintptr, p2 uintptr) int32 { /* sqlite3.c:221525:12: */ +func sqlite3Fts5ExprAnd(tls *libc.TLS, pp1 uintptr, p2 uintptr) int32 { /* sqlite3.c:221582:12: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -178907,7 +178938,7 @@ func sqlite3Fts5ExprAnd(tls *libc.TLS, pp1 uintptr, p2 uintptr) int32 { /* sqlit // Argument pTerm must be a synonym iterator. Return the current rowid // that it points to. -func fts5ExprSynonymRowid(tls *libc.TLS, pTerm uintptr, bDesc int32, pbEof uintptr) I64 { /* sqlite3.c:221565:12: */ +func fts5ExprSynonymRowid(tls *libc.TLS, pTerm uintptr, bDesc int32, pbEof uintptr) I64 { /* sqlite3.c:221622:12: */ var iRet I64 = int64(0) var bRetValid int32 = 0 var p uintptr @@ -178929,7 +178960,7 @@ func fts5ExprSynonymRowid(tls *libc.TLS, pTerm uintptr, bDesc int32, pbEof uintp } // Argument pTerm must be a synonym iterator. -func fts5ExprSynonymList(tls *libc.TLS, pTerm uintptr, iRowid I64, pBuf uintptr, pa uintptr, pn uintptr) int32 { /* sqlite3.c:221590:12: */ +func fts5ExprSynonymList(tls *libc.TLS, pTerm uintptr, iRowid I64, pBuf uintptr, pa uintptr, pn uintptr) int32 { /* sqlite3.c:221647:12: */ bp := tls.Alloc(136) defer tls.Free(136) @@ -179093,7 +179124,7 @@ __22: // SQLITE_OK is returned if an error occurs, or an SQLite error code // otherwise. It is not considered an error code if the current rowid is // not a match. -func fts5ExprPhraseIsMatch(tls *libc.TLS, pNode uintptr, pPhrase uintptr, pbMatch uintptr) int32 { /* sqlite3.c:221673:12: */ +func fts5ExprPhraseIsMatch(tls *libc.TLS, pNode uintptr, pPhrase uintptr, pbMatch uintptr) int32 { /* sqlite3.c:221730:12: */ bp := tls.Alloc(168) defer tls.Free(168) @@ -179318,11 +179349,11 @@ type Fts5LookaheadReader1 = struct { Fi int32 FiPos I64 FiLookahead I64 -} /* sqlite3.c:221757:9 */ +} /* sqlite3.c:221814:9 */ -type Fts5LookaheadReader = Fts5LookaheadReader1 /* sqlite3.c:221757:36 */ +type Fts5LookaheadReader = Fts5LookaheadReader1 /* sqlite3.c:221814:36 */ -func fts5LookaheadReaderNext(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:221768:12: */ +func fts5LookaheadReaderNext(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:221825:12: */ (*Fts5LookaheadReader)(unsafe.Pointer(p)).FiPos = (*Fts5LookaheadReader)(unsafe.Pointer(p)).FiLookahead if sqlite3Fts5PoslistNext64(tls, (*Fts5LookaheadReader)(unsafe.Pointer(p)).Fa, (*Fts5LookaheadReader)(unsafe.Pointer(p)).Fn, p+12, p+24) != 0 { (*Fts5LookaheadReader)(unsafe.Pointer(p)).FiLookahead = I64(int64(1)) << 62 @@ -179330,7 +179361,7 @@ func fts5LookaheadReaderNext(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:2217 return libc.Bool32((*Fts5LookaheadReader)(unsafe.Pointer(p)).FiPos == I64(int64(1))<<62) } -func fts5LookaheadReaderInit(tls *libc.TLS, a uintptr, n int32, p uintptr) int32 { /* sqlite3.c:221776:12: */ +func fts5LookaheadReaderInit(tls *libc.TLS, a uintptr, n int32, p uintptr) int32 { /* sqlite3.c:221833:12: */ libc.Xmemset(tls, p, 0, uint64(unsafe.Sizeof(Fts5LookaheadReader{}))) (*Fts5LookaheadReader)(unsafe.Pointer(p)).Fa = a (*Fts5LookaheadReader)(unsafe.Pointer(p)).Fn = n @@ -179342,9 +179373,9 @@ type Fts5NearTrimmer1 = struct { Freader Fts5LookaheadReader Fwriter Fts5PoslistWriter FpOut uintptr -} /* sqlite3.c:221787:9 */ +} /* sqlite3.c:221844:9 */ -type Fts5NearTrimmer = Fts5NearTrimmer1 /* sqlite3.c:221787:32 */ +type Fts5NearTrimmer = Fts5NearTrimmer1 /* sqlite3.c:221844:32 */ // The near-set object passed as the first argument contains more than // one phrase. All phrases currently point to the same row. The @@ -179361,7 +179392,7 @@ type Fts5NearTrimmer = Fts5NearTrimmer1 /* sqlite3.c:221787:32 */ // If no error occurs and non-zero (a match) is returned, the position-list // of each phrase object is edited to contain only those entries that // meet the constraint before returning. -func fts5ExprNearIsMatch(tls *libc.TLS, pRc uintptr, pNear uintptr) int32 { /* sqlite3.c:221811:12: */ +func fts5ExprNearIsMatch(tls *libc.TLS, pRc uintptr, pNear uintptr) int32 { /* sqlite3.c:221868:12: */ bp := tls.Alloc(196) defer tls.Free(196) @@ -179563,7 +179594,7 @@ __29: // If the iterator reaches EOF, set *pbEof to true before returning. If // an error occurs, set *pRc to an error code. If either *pbEof or *pRc // are set, return a non-zero value. Otherwise, return zero. -func fts5ExprAdvanceto(tls *libc.TLS, pIter uintptr, bDesc int32, piLast uintptr, pRc uintptr, pbEof uintptr) int32 { /* sqlite3.c:221910:12: */ +func fts5ExprAdvanceto(tls *libc.TLS, pIter uintptr, bDesc int32, piLast uintptr, pRc uintptr, pbEof uintptr) int32 { /* sqlite3.c:221967:12: */ var iLast I64 = *(*I64)(unsafe.Pointer(piLast)) var iRowid I64 @@ -179583,7 +179614,7 @@ func fts5ExprAdvanceto(tls *libc.TLS, pIter uintptr, bDesc int32, piLast uintptr return 0 } -func fts5ExprSynonymAdvanceto(tls *libc.TLS, pTerm uintptr, bDesc int32, piLast uintptr, pRc uintptr) int32 { /* sqlite3.c:221936:12: */ +func fts5ExprSynonymAdvanceto(tls *libc.TLS, pTerm uintptr, bDesc int32, piLast uintptr, pRc uintptr) int32 { /* sqlite3.c:221993:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -179610,7 +179641,7 @@ func fts5ExprSynonymAdvanceto(tls *libc.TLS, pTerm uintptr, bDesc int32, piLast return *(*int32)(unsafe.Pointer(bp /* bEof */)) } -func fts5ExprNearTest(tls *libc.TLS, pRc uintptr, pExpr uintptr, pNode uintptr) int32 { /* sqlite3.c:221966:12: */ +func fts5ExprNearTest(tls *libc.TLS, pRc uintptr, pExpr uintptr, pNode uintptr) int32 { /* sqlite3.c:222023:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -179667,7 +179698,7 @@ func fts5ExprNearTest(tls *libc.TLS, pRc uintptr, pExpr uintptr, pNode uintptr) // If an error occurs, return an SQLite error code. Otherwise, return // SQLITE_OK. It is not considered an error if some term matches zero // documents. -func fts5ExprNearInitAll(tls *libc.TLS, pExpr uintptr, pNode uintptr) int32 { /* sqlite3.c:222025:12: */ +func fts5ExprNearInitAll(tls *libc.TLS, pExpr uintptr, pNode uintptr) int32 { /* sqlite3.c:222082:12: */ var pNear uintptr = (*Fts5ExprNode)(unsafe.Pointer(pNode)).FpNear var i int32 @@ -179733,7 +179764,7 @@ func fts5ExprNearInitAll(tls *libc.TLS, pExpr uintptr, pNode uintptr) int32 { /* // Otherwise, if this is a DESC iterator, the opposite is returned: // // (iRhs - iLhs) -func fts5RowidCmp(tls *libc.TLS, pExpr uintptr, iLhs I64, iRhs I64) int32 { /* sqlite3.c:222087:12: */ +func fts5RowidCmp(tls *libc.TLS, pExpr uintptr, iLhs I64, iRhs I64) int32 { /* sqlite3.c:222144:12: */ if (*Fts5Expr)(unsafe.Pointer(pExpr)).FbDesc == 0 { if iLhs < iRhs { @@ -179749,7 +179780,7 @@ func fts5RowidCmp(tls *libc.TLS, pExpr uintptr, iLhs I64, iRhs I64) int32 { /* s return int32(0) } -func fts5ExprSetEof(tls *libc.TLS, pNode uintptr) { /* sqlite3.c:222102:13: */ +func fts5ExprSetEof(tls *libc.TLS, pNode uintptr) { /* sqlite3.c:222159:13: */ var i int32 (*Fts5ExprNode)(unsafe.Pointer(pNode)).FbEof = 1 (*Fts5ExprNode)(unsafe.Pointer(pNode)).FbNomatch = 0 @@ -179758,7 +179789,7 @@ func fts5ExprSetEof(tls *libc.TLS, pNode uintptr) { /* sqlite3.c:222102:13: */ } } -func fts5ExprNodeZeroPoslist(tls *libc.TLS, pNode uintptr) { /* sqlite3.c:222111:13: */ +func fts5ExprNodeZeroPoslist(tls *libc.TLS, pNode uintptr) { /* sqlite3.c:222168:13: */ if (*Fts5ExprNode)(unsafe.Pointer(pNode)).FeType == FTS5_STRING || (*Fts5ExprNode)(unsafe.Pointer(pNode)).FeType == FTS5_TERM { var pNear uintptr = (*Fts5ExprNode)(unsafe.Pointer(pNode)).FpNear var i int32 @@ -179784,7 +179815,7 @@ func fts5ExprNodeZeroPoslist(tls *libc.TLS, pNode uintptr) { /* sqlite3.c:222111 // This means that if the iteration order is ASC, then numerically larger // rowids are considered larger. Or if it is the default DESC, numerically // smaller rowids are larger. -func fts5NodeCompare(tls *libc.TLS, pExpr uintptr, p1 uintptr, p2 uintptr) int32 { /* sqlite3.c:222141:12: */ +func fts5NodeCompare(tls *libc.TLS, pExpr uintptr, p1 uintptr, p2 uintptr) int32 { /* sqlite3.c:222198:12: */ if (*Fts5ExprNode)(unsafe.Pointer(p2)).FbEof != 0 { return -1 } @@ -179803,7 +179834,7 @@ func fts5NodeCompare(tls *libc.TLS, pExpr uintptr, p1 uintptr, p2 uintptr) int32 // SQLITE_OK is returned if an error occurs, or an SQLite error code // otherwise. It is not considered an error code if an iterator reaches // EOF. -func fts5ExprNodeTest_STRING(tls *libc.TLS, pExpr uintptr, pNode uintptr) int32 { /* sqlite3.c:222162:12: */ +func fts5ExprNodeTest_STRING(tls *libc.TLS, pExpr uintptr, pNode uintptr) int32 { /* sqlite3.c:222219:12: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -179871,7 +179902,7 @@ func fts5ExprNodeTest_STRING(tls *libc.TLS, pExpr uintptr, pNode uintptr) int32 // // Return SQLITE_OK if successful, or an SQLite error code if an error // occurs. -func fts5ExprNodeNext_STRING(tls *libc.TLS, pExpr uintptr, pNode uintptr, bFromValid int32, iFrom I64) int32 { /* sqlite3.c:222232:12: */ +func fts5ExprNodeNext_STRING(tls *libc.TLS, pExpr uintptr, pNode uintptr, bFromValid int32, iFrom I64) int32 { /* sqlite3.c:222289:12: */ var pTerm uintptr = *(*uintptr)(unsafe.Pointer((*Fts5ExprNode)(unsafe.Pointer(pNode)).FpNear + 24)) + 32 var rc int32 = SQLITE_OK @@ -179930,7 +179961,7 @@ func fts5ExprNodeNext_STRING(tls *libc.TLS, pExpr uintptr, pNode uintptr, bFromV return rc } -func fts5ExprNodeTest_TERM(tls *libc.TLS, pExpr uintptr, pNode uintptr) int32 { /* sqlite3.c:222297:12: */ +func fts5ExprNodeTest_TERM(tls *libc.TLS, pExpr uintptr, pNode uintptr) int32 { /* sqlite3.c:222354:12: */ // As this "NEAR" object is actually a single phrase that consists // of a single term only, grab pointers into the poslist managed by the // fts5_index.c iterator object. This is much faster than synthesizing @@ -179949,7 +179980,7 @@ func fts5ExprNodeTest_TERM(tls *libc.TLS, pExpr uintptr, pNode uintptr) int32 { } // xNext() method for a node of type FTS5_TERM. -func fts5ExprNodeNext_TERM(tls *libc.TLS, pExpr uintptr, pNode uintptr, bFromValid int32, iFrom I64) int32 { /* sqlite3.c:222325:12: */ +func fts5ExprNodeNext_TERM(tls *libc.TLS, pExpr uintptr, pNode uintptr, bFromValid int32, iFrom I64) int32 { /* sqlite3.c:222382:12: */ var rc int32 var pIter uintptr = (*Fts5ExprTerm)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer((*Fts5ExprNode)(unsafe.Pointer(pNode)).FpNear + 24)) + 32)).FpIter @@ -179967,7 +179998,7 @@ func fts5ExprNodeNext_TERM(tls *libc.TLS, pExpr uintptr, pNode uintptr, bFromVal return rc } -func fts5ExprNodeTest_OR(tls *libc.TLS, pExpr uintptr, pNode uintptr) { /* sqlite3.c:222349:13: */ +func fts5ExprNodeTest_OR(tls *libc.TLS, pExpr uintptr, pNode uintptr) { /* sqlite3.c:222406:13: */ var pNext uintptr = *(*uintptr)(unsafe.Pointer(pNode + 48)) var i int32 @@ -179983,7 +180014,7 @@ func fts5ExprNodeTest_OR(tls *libc.TLS, pExpr uintptr, pNode uintptr) { /* sqlit (*Fts5ExprNode)(unsafe.Pointer(pNode)).FbNomatch = (*Fts5ExprNode)(unsafe.Pointer(pNext)).FbNomatch } -func fts5ExprNodeNext_OR(tls *libc.TLS, pExpr uintptr, pNode uintptr, bFromValid int32, iFrom I64) int32 { /* sqlite3.c:222368:12: */ +func fts5ExprNodeNext_OR(tls *libc.TLS, pExpr uintptr, pNode uintptr, bFromValid int32, iFrom I64) int32 { /* sqlite3.c:222425:12: */ var i int32 var iLast I64 = (*Fts5ExprNode)(unsafe.Pointer(pNode)).FiRowid @@ -180009,7 +180040,7 @@ func fts5ExprNodeNext_OR(tls *libc.TLS, pExpr uintptr, pNode uintptr, bFromValid } // Argument pNode is an FTS5_AND node. -func fts5ExprNodeTest_AND(tls *libc.TLS, pExpr uintptr, pAnd uintptr) int32 { /* sqlite3.c:222400:12: */ +func fts5ExprNodeTest_AND(tls *libc.TLS, pExpr uintptr, pAnd uintptr) int32 { /* sqlite3.c:222457:12: */ var iChild int32 var iLast I64 = (*Fts5ExprNode)(unsafe.Pointer(pAnd)).FiRowid var rc int32 = SQLITE_OK @@ -180059,7 +180090,7 @@ func fts5ExprNodeTest_AND(tls *libc.TLS, pExpr uintptr, pAnd uintptr) int32 { /* return SQLITE_OK } -func fts5ExprNodeNext_AND(tls *libc.TLS, pExpr uintptr, pNode uintptr, bFromValid int32, iFrom I64) int32 { /* sqlite3.c:222452:12: */ +func fts5ExprNodeNext_AND(tls *libc.TLS, pExpr uintptr, pNode uintptr, bFromValid int32, iFrom I64) int32 { /* sqlite3.c:222509:12: */ var rc int32 = (*struct { f func(*libc.TLS, uintptr, uintptr, int32, I64) int32 })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExprNode)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pNode + 48 /* &.apChild */)))).FxNext})).f(tls, pExpr, *(*uintptr)(unsafe.Pointer(pNode + 48 /* &.apChild */)), bFromValid, iFrom) @@ -180071,7 +180102,7 @@ func fts5ExprNodeNext_AND(tls *libc.TLS, pExpr uintptr, pNode uintptr, bFromVali return rc } -func fts5ExprNodeTest_NOT(tls *libc.TLS, pExpr uintptr, pNode uintptr) int32 { /* sqlite3.c:222467:12: */ +func fts5ExprNodeTest_NOT(tls *libc.TLS, pExpr uintptr, pNode uintptr) int32 { /* sqlite3.c:222524:12: */ var rc int32 = SQLITE_OK var p1 uintptr = *(*uintptr)(unsafe.Pointer(pNode + 48)) var p2 uintptr = *(*uintptr)(unsafe.Pointer(pNode + 48 + 1*8)) @@ -180101,7 +180132,7 @@ func fts5ExprNodeTest_NOT(tls *libc.TLS, pExpr uintptr, pNode uintptr) int32 { / return rc } -func fts5ExprNodeNext_NOT(tls *libc.TLS, pExpr uintptr, pNode uintptr, bFromValid int32, iFrom I64) int32 { /* sqlite3.c:222495:12: */ +func fts5ExprNodeNext_NOT(tls *libc.TLS, pExpr uintptr, pNode uintptr, bFromValid int32, iFrom I64) int32 { /* sqlite3.c:222552:12: */ var rc int32 = (*struct { f func(*libc.TLS, uintptr, uintptr, int32, I64) int32 })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExprNode)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pNode + 48 /* &.apChild */)))).FxNext})).f(tls, pExpr, *(*uintptr)(unsafe.Pointer(pNode + 48 /* &.apChild */)), bFromValid, iFrom) @@ -180117,7 +180148,7 @@ func fts5ExprNodeNext_NOT(tls *libc.TLS, pExpr uintptr, pNode uintptr, bFromVali // If pNode currently points to a match, this function returns SQLITE_OK // without modifying it. Otherwise, pNode is advanced until it does point // to a match or EOF is reached. -func fts5ExprNodeTest(tls *libc.TLS, pExpr uintptr, pNode uintptr) int32 { /* sqlite3.c:222516:12: */ +func fts5ExprNodeTest(tls *libc.TLS, pExpr uintptr, pNode uintptr) int32 { /* sqlite3.c:222573:12: */ var rc int32 = SQLITE_OK if (*Fts5ExprNode)(unsafe.Pointer(pNode)).FbEof == 0 { switch (*Fts5ExprNode)(unsafe.Pointer(pNode)).FeType { @@ -180170,7 +180201,7 @@ func fts5ExprNodeTest(tls *libc.TLS, pExpr uintptr, pNode uintptr) int32 { /* sq // // Return an SQLite error code if an error occurs, or SQLITE_OK otherwise. // It is not an error if there are no matches. -func fts5ExprNodeFirst(tls *libc.TLS, pExpr uintptr, pNode uintptr) int32 { /* sqlite3.c:222561:12: */ +func fts5ExprNodeFirst(tls *libc.TLS, pExpr uintptr, pNode uintptr) int32 { /* sqlite3.c:222618:12: */ var rc int32 = SQLITE_OK (*Fts5ExprNode)(unsafe.Pointer(pNode)).FbEof = 0 (*Fts5ExprNode)(unsafe.Pointer(pNode)).FbNomatch = 0 @@ -180232,7 +180263,7 @@ func fts5ExprNodeFirst(tls *libc.TLS, pExpr uintptr, pNode uintptr) int32 { /* s // // Return SQLITE_OK if successful, or an SQLite error code otherwise. It // is not considered an error if the query does not match any documents. -func sqlite3Fts5ExprFirst(tls *libc.TLS, p uintptr, pIdx uintptr, iFirst I64, bDesc int32) int32 { /* sqlite3.c:222620:12: */ +func sqlite3Fts5ExprFirst(tls *libc.TLS, p uintptr, pIdx uintptr, iFirst I64, bDesc int32) int32 { /* sqlite3.c:222677:12: */ var pRoot uintptr = (*Fts5Expr)(unsafe.Pointer(p)).FpRoot var rc int32 // Return code @@ -180264,7 +180295,7 @@ func sqlite3Fts5ExprFirst(tls *libc.TLS, p uintptr, pIdx uintptr, iFirst I64, bD // // Return SQLITE_OK if successful, or an SQLite error code otherwise. It // is not considered an error if the query does not match any documents. -func sqlite3Fts5ExprNext(tls *libc.TLS, p uintptr, iLast I64) int32 { /* sqlite3.c:222651:12: */ +func sqlite3Fts5ExprNext(tls *libc.TLS, p uintptr, iLast I64) int32 { /* sqlite3.c:222708:12: */ var rc int32 var pRoot uintptr = (*Fts5Expr)(unsafe.Pointer(p)).FpRoot @@ -180280,15 +180311,15 @@ func sqlite3Fts5ExprNext(tls *libc.TLS, p uintptr, iLast I64) int32 { /* sqlite3 return rc } -func sqlite3Fts5ExprEof(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:222665:12: */ +func sqlite3Fts5ExprEof(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:222722:12: */ return (*Fts5ExprNode)(unsafe.Pointer((*Fts5Expr)(unsafe.Pointer(p)).FpRoot)).FbEof } -func sqlite3Fts5ExprRowid(tls *libc.TLS, p uintptr) I64 { /* sqlite3.c:222669:12: */ +func sqlite3Fts5ExprRowid(tls *libc.TLS, p uintptr) I64 { /* sqlite3.c:222726:12: */ return (*Fts5ExprNode)(unsafe.Pointer((*Fts5Expr)(unsafe.Pointer(p)).FpRoot)).FiRowid } -func fts5ParseStringFromToken(tls *libc.TLS, pToken uintptr, pz uintptr) int32 { /* sqlite3.c:222673:12: */ +func fts5ParseStringFromToken(tls *libc.TLS, pToken uintptr, pz uintptr) int32 { /* sqlite3.c:222730:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -180298,7 +180329,7 @@ func fts5ParseStringFromToken(tls *libc.TLS, pToken uintptr, pz uintptr) int32 { } // Free the phrase object passed as the only argument. -func fts5ExprPhraseFree(tls *libc.TLS, pPhrase uintptr) { /* sqlite3.c:222682:13: */ +func fts5ExprPhraseFree(tls *libc.TLS, pPhrase uintptr) { /* sqlite3.c:222739:13: */ if pPhrase != 0 { var i int32 for i = 0; i < (*Fts5ExprPhrase)(unsafe.Pointer(pPhrase)).FnTerm; i++ { @@ -180323,7 +180354,7 @@ func fts5ExprPhraseFree(tls *libc.TLS, pPhrase uintptr) { /* sqlite3.c:222682:13 // Set the "bFirst" flag on the first token of the phrase passed as the // only argument. -func sqlite3Fts5ParseSetCaret(tls *libc.TLS, pPhrase uintptr) { /* sqlite3.c:222707:13: */ +func sqlite3Fts5ParseSetCaret(tls *libc.TLS, pPhrase uintptr) { /* sqlite3.c:222764:13: */ if pPhrase != 0 && (*Fts5ExprPhrase)(unsafe.Pointer(pPhrase)).FnTerm != 0 { (*Fts5ExprTerm)(unsafe.Pointer(pPhrase + 32)).FbFirst = U8(1) } @@ -180335,7 +180366,7 @@ func sqlite3Fts5ParseSetCaret(tls *libc.TLS, pPhrase uintptr) { /* sqlite3.c:222 // // If an OOM error occurs, both the pNear and pPhrase objects are freed and // NULL returned. -func sqlite3Fts5ParseNearset(tls *libc.TLS, pParse uintptr, pNear uintptr, pPhrase uintptr) uintptr { /* sqlite3.c:222721:24: */ +func sqlite3Fts5ParseNearset(tls *libc.TLS, pParse uintptr, pNear uintptr, pPhrase uintptr) uintptr { /* sqlite3.c:222778:24: */ var SZALLOC int32 = 8 var pRet uintptr = uintptr(0) @@ -180395,12 +180426,12 @@ type TokenCtx1 = struct { FpPhrase uintptr Frc int32 F__ccgo_pad1 [4]byte -} /* sqlite3.c:222781:9 */ +} /* sqlite3.c:222838:9 */ -type TokenCtx = TokenCtx1 /* sqlite3.c:222781:25 */ +type TokenCtx = TokenCtx1 /* sqlite3.c:222838:25 */ // Callback for tokenizing terms used by ParseTerm(). -func fts5ParseTokenize(tls *libc.TLS, pContext uintptr, tflags int32, pToken uintptr, nToken int32, iUnused1 int32, iUnused2 int32) int32 { /* sqlite3.c:222790:12: */ +func fts5ParseTokenize(tls *libc.TLS, pContext uintptr, tflags int32, pToken uintptr, nToken int32, iUnused1 int32, iUnused2 int32) int32 { /* sqlite3.c:222847:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -180469,12 +180500,12 @@ func fts5ParseTokenize(tls *libc.TLS, pContext uintptr, tflags int32, pToken uin } // Free the phrase object passed as the only argument. -func sqlite3Fts5ParsePhraseFree(tls *libc.TLS, pPhrase uintptr) { /* sqlite3.c:222855:13: */ +func sqlite3Fts5ParsePhraseFree(tls *libc.TLS, pPhrase uintptr) { /* sqlite3.c:222912:13: */ fts5ExprPhraseFree(tls, pPhrase) } // Free the phrase object passed as the second argument. -func sqlite3Fts5ParseNearsetFree(tls *libc.TLS, pNear uintptr) { /* sqlite3.c:222862:13: */ +func sqlite3Fts5ParseNearsetFree(tls *libc.TLS, pNear uintptr) { /* sqlite3.c:222919:13: */ if pNear != 0 { var i int32 for i = 0; i < (*Fts5ExprNearset)(unsafe.Pointer(pNear)).FnPhrase; i++ { @@ -180485,12 +180516,12 @@ func sqlite3Fts5ParseNearsetFree(tls *libc.TLS, pNear uintptr) { /* sqlite3.c:22 } } -func sqlite3Fts5ParseFinished(tls *libc.TLS, pParse uintptr, p uintptr) { /* sqlite3.c:222873:13: */ +func sqlite3Fts5ParseFinished(tls *libc.TLS, pParse uintptr, p uintptr) { /* sqlite3.c:222930:13: */ (*Fts5Parse)(unsafe.Pointer(pParse)).FpExpr = p } -func parseGrowPhraseArray(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:222878:12: */ +func parseGrowPhraseArray(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:222935:12: */ if (*Fts5Parse)(unsafe.Pointer(pParse)).FnPhrase%8 == 0 { var nByte Sqlite3_int64 = Sqlite3_int64(uint64(unsafe.Sizeof(uintptr(0))) * uint64((*Fts5Parse)(unsafe.Pointer(pParse)).FnPhrase+8)) var apNew uintptr @@ -180507,7 +180538,7 @@ func parseGrowPhraseArray(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:22 // This function is called by the parser to process a string token. The // string may or may not be quoted. In any case it is tokenized and a // phrase object consisting of all tokens returned. -func sqlite3Fts5ParseTerm(tls *libc.TLS, pParse uintptr, pAppend uintptr, pToken uintptr, bPrefix int32) uintptr { /* sqlite3.c:222897:23: */ +func sqlite3Fts5ParseTerm(tls *libc.TLS, pParse uintptr, pAppend uintptr, pToken uintptr, bPrefix int32) uintptr { /* sqlite3.c:222954:23: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -180565,7 +180596,7 @@ func sqlite3Fts5ParseTerm(tls *libc.TLS, pParse uintptr, pAppend uintptr, pToken // Create a new FTS5 expression by cloning phrase iPhrase of the // expression passed as the second argument. -func sqlite3Fts5ExprClonePhrase(tls *libc.TLS, pExpr uintptr, iPhrase int32, ppNew uintptr) int32 { /* sqlite3.c:222951:12: */ +func sqlite3Fts5ExprClonePhrase(tls *libc.TLS, pExpr uintptr, iPhrase int32, ppNew uintptr) int32 { /* sqlite3.c:223008:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -180660,7 +180691,7 @@ func sqlite3Fts5ExprClonePhrase(tls *libc.TLS, pExpr uintptr, iPhrase int32, ppN // Token pTok has appeared in a MATCH expression where the NEAR operator // is expected. If token pTok does not contain "NEAR", store an error // in the pParse object. -func sqlite3Fts5ParseNear(tls *libc.TLS, pParse uintptr, pTok uintptr) { /* sqlite3.c:223047:13: */ +func sqlite3Fts5ParseNear(tls *libc.TLS, pParse uintptr, pTok uintptr) { /* sqlite3.c:223104:13: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -180670,7 +180701,7 @@ func sqlite3Fts5ParseNear(tls *libc.TLS, pParse uintptr, pTok uintptr) { /* sqli } } -func sqlite3Fts5ParseSetDistance(tls *libc.TLS, pParse uintptr, pNear uintptr, p uintptr) { /* sqlite3.c:223055:13: */ +func sqlite3Fts5ParseSetDistance(tls *libc.TLS, pParse uintptr, pNear uintptr, p uintptr) { /* sqlite3.c:223112:13: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -180701,7 +180732,7 @@ func sqlite3Fts5ParseSetDistance(tls *libc.TLS, pParse uintptr, pNear uintptr, p // // If an OOM error occurs, store an error code in pParse and return NULL. // The old colset object (if any) is not freed in this case. -func fts5ParseColset(tls *libc.TLS, pParse uintptr, p uintptr, iCol int32) uintptr { /* sqlite3.c:223090:19: */ +func fts5ParseColset(tls *libc.TLS, pParse uintptr, p uintptr, iCol int32) uintptr { /* sqlite3.c:223147:19: */ var nCol int32 if p != 0 { nCol = (*Fts5Colset)(unsafe.Pointer(p)).FnCol @@ -180739,7 +180770,7 @@ func fts5ParseColset(tls *libc.TLS, pParse uintptr, p uintptr, iCol int32) uintp // Allocate and return an Fts5Colset object specifying the inverse of // the colset passed as the second argument. Free the colset passed // as the second argument before returning. -func sqlite3Fts5ParseColsetInvert(tls *libc.TLS, pParse uintptr, p uintptr) uintptr { /* sqlite3.c:223131:19: */ +func sqlite3Fts5ParseColsetInvert(tls *libc.TLS, pParse uintptr, p uintptr) uintptr { /* sqlite3.c:223188:19: */ var pRet uintptr var nCol int32 = (*Fts5Config)(unsafe.Pointer((*Fts5Parse)(unsafe.Pointer(pParse)).FpConfig)).FnCol @@ -180761,7 +180792,7 @@ func sqlite3Fts5ParseColsetInvert(tls *libc.TLS, pParse uintptr, p uintptr) uint return pRet } -func sqlite3Fts5ParseColset(tls *libc.TLS, pParse uintptr, pColset uintptr, p uintptr) uintptr { /* sqlite3.c:223154:19: */ +func sqlite3Fts5ParseColset(tls *libc.TLS, pParse uintptr, pColset uintptr, p uintptr) uintptr { /* sqlite3.c:223211:19: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -180800,7 +180831,7 @@ func sqlite3Fts5ParseColset(tls *libc.TLS, pParse uintptr, pColset uintptr, p ui // Otherwise, a copy of (*pOrig) is made into memory obtained from // sqlite3Fts5MallocZero() and a pointer to it returned. If the allocation // fails, (*pRc) is set to SQLITE_NOMEM and NULL is returned. -func fts5CloneColset(tls *libc.TLS, pRc uintptr, pOrig uintptr) uintptr { /* sqlite3.c:223194:19: */ +func fts5CloneColset(tls *libc.TLS, pRc uintptr, pOrig uintptr) uintptr { /* sqlite3.c:223251:19: */ var pRet uintptr if pOrig != 0 { var nByte Sqlite3_int64 = Sqlite3_int64(uint64(unsafe.Sizeof(Fts5Colset{})) + uint64((*Fts5Colset)(unsafe.Pointer(pOrig)).FnCol-1)*uint64(unsafe.Sizeof(int32(0)))) @@ -180815,7 +180846,7 @@ func fts5CloneColset(tls *libc.TLS, pRc uintptr, pOrig uintptr) uintptr { /* sql } // Remove from colset pColset any columns that are not also in colset pMerge. -func fts5MergeColset(tls *libc.TLS, pColset uintptr, pMerge uintptr) { /* sqlite3.c:223211:13: */ +func fts5MergeColset(tls *libc.TLS, pColset uintptr, pMerge uintptr) { /* sqlite3.c:223268:13: */ var iIn int32 = 0 // Next input in pColset var iMerge int32 = 0 // Next input in pMerge var iOut int32 = 0 // Next output slot in pColset @@ -180839,7 +180870,7 @@ func fts5MergeColset(tls *libc.TLS, pColset uintptr, pMerge uintptr) { /* sqlite // its decendents. If (*ppFree) is not NULL, it contains a spare copy // of pColset. This function may use the spare copy and set (*ppFree) to // zero, or it may create copies of pColset using fts5CloneColset(). -func fts5ParseSetColset(tls *libc.TLS, pParse uintptr, pNode uintptr, pColset uintptr, ppFree uintptr) { /* sqlite3.c:223237:13: */ +func fts5ParseSetColset(tls *libc.TLS, pParse uintptr, pNode uintptr, pColset uintptr, ppFree uintptr) { /* sqlite3.c:223294:13: */ if (*Fts5Parse)(unsafe.Pointer(pParse)).Frc == SQLITE_OK { if (*Fts5ExprNode)(unsafe.Pointer(pNode)).FeType == FTS5_STRING || (*Fts5ExprNode)(unsafe.Pointer(pNode)).FeType == FTS5_TERM { @@ -180867,7 +180898,7 @@ func fts5ParseSetColset(tls *libc.TLS, pParse uintptr, pNode uintptr, pColset ui } // Apply colset pColset to expression node pExpr and all of its descendents. -func sqlite3Fts5ParseSetColset(tls *libc.TLS, pParse uintptr, pExpr uintptr, pColset uintptr) { /* sqlite3.c:223275:13: */ +func sqlite3Fts5ParseSetColset(tls *libc.TLS, pParse uintptr, pExpr uintptr, pColset uintptr) { /* sqlite3.c:223332:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -180881,7 +180912,7 @@ func sqlite3Fts5ParseSetColset(tls *libc.TLS, pParse uintptr, pExpr uintptr, pCo Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp /* pFree */))) } -func fts5ExprAssignXNext(tls *libc.TLS, pNode uintptr) { /* sqlite3.c:223291:13: */ +func fts5ExprAssignXNext(tls *libc.TLS, pNode uintptr) { /* sqlite3.c:223348:13: */ switch (*Fts5ExprNode)(unsafe.Pointer(pNode)).FeType { case FTS5_STRING: { @@ -180932,7 +180963,7 @@ func fts5ExprAssignXNext(tls *libc.TLS, pNode uintptr) { /* sqlite3.c:223291:13: } } -func fts5ExprAddChildren(tls *libc.TLS, p uintptr, pSub uintptr) { /* sqlite3.c:223324:13: */ +func fts5ExprAddChildren(tls *libc.TLS, p uintptr, pSub uintptr) { /* sqlite3.c:223381:13: */ if (*Fts5ExprNode)(unsafe.Pointer(p)).FeType != FTS5_NOT && (*Fts5ExprNode)(unsafe.Pointer(pSub)).FeType == (*Fts5ExprNode)(unsafe.Pointer(p)).FeType { var nByte int32 = int32(uint64(unsafe.Sizeof(uintptr(0))) * uint64((*Fts5ExprNode)(unsafe.Pointer(pSub)).FnChild)) libc.Xmemcpy(tls, p+48+uintptr((*Fts5ExprNode)(unsafe.Pointer(p)).FnChild)*8, pSub+48, uint64(nByte)) @@ -180952,7 +180983,7 @@ func fts5ExprAddChildren(tls *libc.TLS, p uintptr, pSub uintptr) { /* sqlite3.c: // into an AND tree: // // abc AND def AND ghi -func fts5ParsePhraseToAnd(tls *libc.TLS, pParse uintptr, pNear uintptr) uintptr { /* sqlite3.c:223346:21: */ +func fts5ParsePhraseToAnd(tls *libc.TLS, pParse uintptr, pNear uintptr) uintptr { /* sqlite3.c:223403:21: */ var nTerm int32 = (*Fts5ExprPhrase)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pNear + 24)))).FnTerm var ii int32 var nByte int32 @@ -180995,7 +181026,7 @@ func fts5ParsePhraseToAnd(tls *libc.TLS, pParse uintptr, pNear uintptr) uintptr // Allocate and return a new expression object. If anything goes wrong (i.e. // OOM error), leave an error code in pParse and return NULL. -func sqlite3Fts5ParseNode(tls *libc.TLS, pParse uintptr, eType int32, pLeft uintptr, pRight uintptr, pNear uintptr) uintptr { /* sqlite3.c:223400:21: */ +func sqlite3Fts5ParseNode(tls *libc.TLS, pParse uintptr, eType int32, pLeft uintptr, pRight uintptr, pNear uintptr) uintptr { /* sqlite3.c:223457:21: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -181083,7 +181114,7 @@ func sqlite3Fts5ParseNode(tls *libc.TLS, pParse uintptr, eType int32, pLeft uint return pRet } -func sqlite3Fts5ParseImplicitAnd(tls *libc.TLS, pParse uintptr, pLeft uintptr, pRight uintptr) uintptr { /* sqlite3.c:223482:21: */ +func sqlite3Fts5ParseImplicitAnd(tls *libc.TLS, pParse uintptr, pLeft uintptr, pRight uintptr) uintptr { /* sqlite3.c:223539:21: */ var pRet uintptr = uintptr(0) var pPrev uintptr @@ -181129,7 +181160,7 @@ func sqlite3Fts5ParseImplicitAnd(tls *libc.TLS, pParse uintptr, pLeft uintptr, p // This is called during initialization to register the fts5_expr() scalar // UDF with the SQLite handle passed as the only argument. -func sqlite3Fts5ExprInit(tls *libc.TLS, pGlobal uintptr, db uintptr) int32 { /* sqlite3.c:223919:12: */ +func sqlite3Fts5ExprInit(tls *libc.TLS, pGlobal uintptr, db uintptr) int32 { /* sqlite3.c:223976:12: */ var rc int32 = SQLITE_OK _ = pGlobal _ = db @@ -181142,7 +181173,7 @@ func sqlite3Fts5ExprInit(tls *libc.TLS, pGlobal uintptr, db uintptr) int32 { /* } // Return the number of phrases in expression pExpr. -func sqlite3Fts5ExprPhraseCount(tls *libc.TLS, pExpr uintptr) int32 { /* sqlite3.c:223956:12: */ +func sqlite3Fts5ExprPhraseCount(tls *libc.TLS, pExpr uintptr) int32 { /* sqlite3.c:224013:12: */ return func() int32 { if pExpr != 0 { return (*Fts5Expr)(unsafe.Pointer(pExpr)).FnPhrase @@ -181152,7 +181183,7 @@ func sqlite3Fts5ExprPhraseCount(tls *libc.TLS, pExpr uintptr) int32 { /* sqlite3 } // Return the number of terms in the iPhrase'th phrase in pExpr. -func sqlite3Fts5ExprPhraseSize(tls *libc.TLS, pExpr uintptr, iPhrase int32) int32 { /* sqlite3.c:223963:12: */ +func sqlite3Fts5ExprPhraseSize(tls *libc.TLS, pExpr uintptr, iPhrase int32) int32 { /* sqlite3.c:224020:12: */ if iPhrase < 0 || iPhrase >= (*Fts5Expr)(unsafe.Pointer(pExpr)).FnPhrase { return 0 } @@ -181161,7 +181192,7 @@ func sqlite3Fts5ExprPhraseSize(tls *libc.TLS, pExpr uintptr, iPhrase int32) int3 // This function is used to access the current position list for phrase // iPhrase. -func sqlite3Fts5ExprPoslist(tls *libc.TLS, pExpr uintptr, iPhrase int32, pa uintptr) int32 { /* sqlite3.c:223972:12: */ +func sqlite3Fts5ExprPoslist(tls *libc.TLS, pExpr uintptr, iPhrase int32, pa uintptr) int32 { /* sqlite3.c:224029:12: */ var nRet int32 var pPhrase uintptr = *(*uintptr)(unsafe.Pointer((*Fts5Expr)(unsafe.Pointer(pExpr)).FapExprPhrase + uintptr(iPhrase)*8)) var pNode uintptr = (*Fts5ExprPhrase)(unsafe.Pointer(pPhrase)).FpNode @@ -181182,7 +181213,7 @@ func sqlite3Fts5ExprPoslist(tls *libc.TLS, pExpr uintptr, iPhrase int32, pa uint // At present this function is only used for detail=col and detail=none // fts5 tables. This implies that all phrases must be at most 1 token // in size, as phrase matches are not supported without detail=full. -func sqlite3Fts5ExprClearPoslists(tls *libc.TLS, pExpr uintptr, bLive int32) uintptr { /* sqlite3.c:224001:29: */ +func sqlite3Fts5ExprClearPoslists(tls *libc.TLS, pExpr uintptr, bLive int32) uintptr { /* sqlite3.c:224058:29: */ var pRet uintptr pRet = Xsqlite3_malloc64(tls, uint64(uint64(unsafe.Sizeof(Fts5PoslistPopulator{}))*uint64((*Fts5Expr)(unsafe.Pointer(pExpr)).FnPhrase))) if pRet != 0 { @@ -181206,12 +181237,12 @@ type Fts5ExprCtx1 = struct { FpExpr uintptr FaPopulator uintptr FiOff I64 -} /* sqlite3.c:224023:1 */ +} /* sqlite3.c:224080:1 */ -type Fts5ExprCtx = Fts5ExprCtx1 /* sqlite3.c:224028:28 */ +type Fts5ExprCtx = Fts5ExprCtx1 /* sqlite3.c:224085:28 */ // TODO: Make this more efficient! -func fts5ExprColsetTest(tls *libc.TLS, pColset uintptr, iCol int32) int32 { /* sqlite3.c:224033:12: */ +func fts5ExprColsetTest(tls *libc.TLS, pColset uintptr, iCol int32) int32 { /* sqlite3.c:224090:12: */ var i int32 for i = 0; i < (*Fts5Colset)(unsafe.Pointer(pColset)).FnCol; i++ { if *(*int32)(unsafe.Pointer(pColset + 4 + uintptr(i)*4)) == iCol { @@ -181221,7 +181252,7 @@ func fts5ExprColsetTest(tls *libc.TLS, pColset uintptr, iCol int32) int32 { /* s return 0 } -func fts5ExprPopulatePoslistsCb(tls *libc.TLS, pCtx uintptr, tflags int32, pToken uintptr, nToken int32, iUnused1 int32, iUnused2 int32) int32 { /* sqlite3.c:224041:12: */ +func fts5ExprPopulatePoslistsCb(tls *libc.TLS, pCtx uintptr, tflags int32, pToken uintptr, nToken int32, iUnused1 int32, iUnused2 int32) int32 { /* sqlite3.c:224098:12: */ var p uintptr = pCtx var pExpr uintptr = (*Fts5ExprCtx)(unsafe.Pointer(p)).FpExpr var i int32 @@ -181256,7 +181287,7 @@ func fts5ExprPopulatePoslistsCb(tls *libc.TLS, pCtx uintptr, tflags int32, pToke return SQLITE_OK } -func sqlite3Fts5ExprPopulatePoslists(tls *libc.TLS, pConfig uintptr, pExpr uintptr, aPopulator uintptr, iCol int32, z uintptr, n int32) int32 { /* sqlite3.c:224076:12: */ +func sqlite3Fts5ExprPopulatePoslists(tls *libc.TLS, pConfig uintptr, pExpr uintptr, aPopulator uintptr, iCol int32, z uintptr, n int32) int32 { /* sqlite3.c:224133:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -181284,7 +181315,7 @@ func sqlite3Fts5ExprPopulatePoslists(tls *libc.TLS, pConfig uintptr, pExpr uintp }{fts5ExprPopulatePoslistsCb}))) } -func fts5ExprClearPoslists(tls *libc.TLS, pNode uintptr) { /* sqlite3.c:224106:13: */ +func fts5ExprClearPoslists(tls *libc.TLS, pNode uintptr) { /* sqlite3.c:224163:13: */ if (*Fts5ExprNode)(unsafe.Pointer(pNode)).FeType == FTS5_TERM || (*Fts5ExprNode)(unsafe.Pointer(pNode)).FeType == FTS5_STRING { (*Fts5ExprPhrase)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer((*Fts5ExprNode)(unsafe.Pointer(pNode)).FpNear + 24)))).Fposlist.Fn = 0 } else { @@ -181295,7 +181326,7 @@ func fts5ExprClearPoslists(tls *libc.TLS, pNode uintptr) { /* sqlite3.c:224106:1 } } -func fts5ExprCheckPoslists(tls *libc.TLS, pNode uintptr, iRowid I64) int32 { /* sqlite3.c:224117:12: */ +func fts5ExprCheckPoslists(tls *libc.TLS, pNode uintptr, iRowid I64) int32 { /* sqlite3.c:224174:12: */ (*Fts5ExprNode)(unsafe.Pointer(pNode)).FiRowid = iRowid (*Fts5ExprNode)(unsafe.Pointer(pNode)).FbEof = 0 switch (*Fts5ExprNode)(unsafe.Pointer(pNode)).FeType { @@ -181345,12 +181376,12 @@ func fts5ExprCheckPoslists(tls *libc.TLS, pNode uintptr, iRowid I64) int32 { /* return 1 } -func sqlite3Fts5ExprCheckPoslists(tls *libc.TLS, pExpr uintptr, iRowid I64) { /* sqlite3.c:224161:13: */ +func sqlite3Fts5ExprCheckPoslists(tls *libc.TLS, pExpr uintptr, iRowid I64) { /* sqlite3.c:224218:13: */ fts5ExprCheckPoslists(tls, (*Fts5Expr)(unsafe.Pointer(pExpr)).FpRoot, iRowid) } // This function is only called for detail=columns tables. -func sqlite3Fts5ExprPhraseCollist(tls *libc.TLS, pExpr uintptr, iPhrase int32, ppCollist uintptr, pnCollist uintptr) int32 { /* sqlite3.c:224168:12: */ +func sqlite3Fts5ExprPhraseCollist(tls *libc.TLS, pExpr uintptr, iPhrase int32, ppCollist uintptr, pnCollist uintptr) int32 { /* sqlite3.c:224225:12: */ var pPhrase uintptr = *(*uintptr)(unsafe.Pointer((*Fts5Expr)(unsafe.Pointer(pExpr)).FapExprPhrase + uintptr(iPhrase)*8)) var pNode uintptr = (*Fts5ExprPhrase)(unsafe.Pointer(pPhrase)).FpNode var rc int32 = SQLITE_OK @@ -181401,7 +181432,7 @@ type Fts5HashEntry1 = struct { FiCol I16 FiPos int32 FiRowid I64 -} /* sqlite3.c:216813:9 */ +} /* sqlite3.c:216870:9 */ // 2014 August 11 // @@ -181417,14 +181448,14 @@ type Fts5HashEntry1 = struct { // #include "fts5Int.h" -type Fts5HashEntry = Fts5HashEntry1 /* sqlite3.c:224221:30 */ +type Fts5HashEntry = Fts5HashEntry1 /* sqlite3.c:224278:30 */ // Eqivalent to: // // char *fts5EntryKey(Fts5HashEntry *pEntry){ return zKey; } // Allocate a new hash table. -func sqlite3Fts5HashNew(tls *libc.TLS, pConfig uintptr, ppNew uintptr, pnByte uintptr) int32 { /* sqlite3.c:224287:12: */ +func sqlite3Fts5HashNew(tls *libc.TLS, pConfig uintptr, ppNew uintptr, pnByte uintptr) int32 { /* sqlite3.c:224344:12: */ var rc int32 = SQLITE_OK var pNew uintptr @@ -181452,7 +181483,7 @@ func sqlite3Fts5HashNew(tls *libc.TLS, pConfig uintptr, ppNew uintptr, pnByte ui } // Free a hash table object. -func sqlite3Fts5HashFree(tls *libc.TLS, pHash uintptr) { /* sqlite3.c:224317:13: */ +func sqlite3Fts5HashFree(tls *libc.TLS, pHash uintptr) { /* sqlite3.c:224374:13: */ if pHash != 0 { sqlite3Fts5HashClear(tls, pHash) Xsqlite3_free(tls, (*Fts5Hash)(unsafe.Pointer(pHash)).FaSlot) @@ -181461,7 +181492,7 @@ func sqlite3Fts5HashFree(tls *libc.TLS, pHash uintptr) { /* sqlite3.c:224317:13: } // Empty (but do not delete) a hash table. -func sqlite3Fts5HashClear(tls *libc.TLS, pHash uintptr) { /* sqlite3.c:224328:13: */ +func sqlite3Fts5HashClear(tls *libc.TLS, pHash uintptr) { /* sqlite3.c:224385:13: */ var i int32 for i = 0; i < (*Fts5Hash)(unsafe.Pointer(pHash)).FnSlot; i++ { var pNext uintptr @@ -181475,7 +181506,7 @@ func sqlite3Fts5HashClear(tls *libc.TLS, pHash uintptr) { /* sqlite3.c:224328:13 (*Fts5Hash)(unsafe.Pointer(pHash)).FnEntry = 0 } -func fts5HashKey(tls *libc.TLS, nSlot int32, p uintptr, n int32) uint32 { /* sqlite3.c:224342:21: */ +func fts5HashKey(tls *libc.TLS, nSlot int32, p uintptr, n int32) uint32 { /* sqlite3.c:224399:21: */ var i int32 var h uint32 = uint32(13) for i = n - 1; i >= 0; i-- { @@ -181484,7 +181515,7 @@ func fts5HashKey(tls *libc.TLS, nSlot int32, p uintptr, n int32) uint32 { /* sql return h % uint32(nSlot) } -func fts5HashKey2(tls *libc.TLS, nSlot int32, b U8, p uintptr, n int32) uint32 { /* sqlite3.c:224351:21: */ +func fts5HashKey2(tls *libc.TLS, nSlot int32, b U8, p uintptr, n int32) uint32 { /* sqlite3.c:224408:21: */ var i int32 var h uint32 = uint32(13) for i = n - 1; i >= 0; i-- { @@ -181495,7 +181526,7 @@ func fts5HashKey2(tls *libc.TLS, nSlot int32, b U8, p uintptr, n int32) uint32 { } // Resize the hash table by doubling the number of slots. -func fts5HashResize(tls *libc.TLS, pHash uintptr) int32 { /* sqlite3.c:224364:12: */ +func fts5HashResize(tls *libc.TLS, pHash uintptr) int32 { /* sqlite3.c:224421:12: */ var nNew int32 = (*Fts5Hash)(unsafe.Pointer(pHash)).FnSlot * 2 var i int32 var apNew uintptr @@ -181525,7 +181556,7 @@ func fts5HashResize(tls *libc.TLS, pHash uintptr) int32 { /* sqlite3.c:224364:12 return SQLITE_OK } -func fts5HashAddPoslistSize(tls *libc.TLS, pHash uintptr, p uintptr, p2 uintptr) int32 { /* sqlite3.c:224392:12: */ +func fts5HashAddPoslistSize(tls *libc.TLS, pHash uintptr, p uintptr, p2 uintptr) int32 { /* sqlite3.c:224449:12: */ var nRet int32 = 0 if (*Fts5HashEntry)(unsafe.Pointer(p)).FiSzPoslist != 0 { var pPtr uintptr @@ -181574,7 +181605,7 @@ func fts5HashAddPoslistSize(tls *libc.TLS, pHash uintptr, p uintptr, p2 uintptr) // (bByte || pToken) -> (iRowid,iCol,iPos) // // Or, if iCol is negative, then the value is a delete marker. -func sqlite3Fts5HashWrite(tls *libc.TLS, pHash uintptr, iRowid I64, iCol int32, iPos int32, bByte int8, pToken uintptr, nToken int32) int32 { /* sqlite3.c:224443:12: */ +func sqlite3Fts5HashWrite(tls *libc.TLS, pHash uintptr, iRowid I64, iCol int32, iPos int32, bByte int8, pToken uintptr, nToken int32) int32 { /* sqlite3.c:224500:12: */ var iHash uint32 var p uintptr var pPtr uintptr @@ -181733,7 +181764,7 @@ func sqlite3Fts5HashWrite(tls *libc.TLS, pHash uintptr, iRowid I64, iCol int32, // Arguments pLeft and pRight point to linked-lists of hash-entry objects, // each sorted in key order. This function merges the two lists into a // single list and returns a pointer to its first element. -func fts5HashEntryMerge(tls *libc.TLS, pLeft uintptr, pRight uintptr) uintptr { /* sqlite3.c:224596:22: */ +func fts5HashEntryMerge(tls *libc.TLS, pLeft uintptr, pRight uintptr) uintptr { /* sqlite3.c:224653:22: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -181779,7 +181810,7 @@ func fts5HashEntryMerge(tls *libc.TLS, pLeft uintptr, pRight uintptr) uintptr { // in sorted order. The hash table is cleared before returning. It is // the responsibility of the caller to free the elements of the returned // list. -func fts5HashEntrySort(tls *libc.TLS, pHash uintptr, pTerm uintptr, nTerm int32, ppSorted uintptr) int32 { /* sqlite3.c:224642:12: */ +func fts5HashEntrySort(tls *libc.TLS, pHash uintptr, pTerm uintptr, nTerm int32, ppSorted uintptr) int32 { /* sqlite3.c:224699:12: */ var nMergeSlot int32 = 32 var ap uintptr var pList uintptr @@ -181821,7 +181852,7 @@ func fts5HashEntrySort(tls *libc.TLS, pHash uintptr, pTerm uintptr, nTerm int32, } // Query the hash table for a doclist associated with term pTerm/nTerm. -func sqlite3Fts5HashQuery(tls *libc.TLS, pHash uintptr, nPre int32, pTerm uintptr, nTerm int32, ppOut uintptr, pnDoclist uintptr) int32 { /* sqlite3.c:224689:12: */ +func sqlite3Fts5HashQuery(tls *libc.TLS, pHash uintptr, nPre int32, pTerm uintptr, nTerm int32, ppOut uintptr, pnDoclist uintptr) int32 { /* sqlite3.c:224746:12: */ var iHash uint32 = fts5HashKey(tls, (*Fts5Hash)(unsafe.Pointer(pHash)).FnSlot, pTerm, nTerm) var zKey uintptr = uintptr(0) var p uintptr @@ -181855,20 +181886,20 @@ func sqlite3Fts5HashQuery(tls *libc.TLS, pHash uintptr, nPre int32, pTerm uintpt return SQLITE_OK } -func sqlite3Fts5HashScanInit(tls *libc.TLS, p uintptr, pTerm uintptr, nTerm int32) int32 { /* sqlite3.c:224727:12: */ +func sqlite3Fts5HashScanInit(tls *libc.TLS, p uintptr, pTerm uintptr, nTerm int32) int32 { /* sqlite3.c:224784:12: */ return fts5HashEntrySort(tls, p, pTerm, nTerm, p+24) } -func sqlite3Fts5HashScanNext(tls *libc.TLS, p uintptr) { /* sqlite3.c:224734:13: */ +func sqlite3Fts5HashScanNext(tls *libc.TLS, p uintptr) { /* sqlite3.c:224791:13: */ (*Fts5Hash)(unsafe.Pointer(p)).FpScan = (*Fts5HashEntry)(unsafe.Pointer((*Fts5Hash)(unsafe.Pointer(p)).FpScan)).FpScanNext } -func sqlite3Fts5HashScanEof(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:224739:12: */ +func sqlite3Fts5HashScanEof(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:224796:12: */ return libc.Bool32((*Fts5Hash)(unsafe.Pointer(p)).FpScan == uintptr(0)) } -func sqlite3Fts5HashScanEntry(tls *libc.TLS, pHash uintptr, pzTerm uintptr, ppDoclist uintptr, pnDoclist uintptr) { /* sqlite3.c:224743:13: */ +func sqlite3Fts5HashScanEntry(tls *libc.TLS, pHash uintptr, pzTerm uintptr, ppDoclist uintptr, pnDoclist uintptr) { /* sqlite3.c:224800:13: */ var p uintptr if libc.AssignUintptr(&p, (*Fts5Hash)(unsafe.Pointer(pHash)).FpScan) != 0 { var zKey uintptr = p + 1*48 @@ -182094,7 +182125,7 @@ type Fts5Data1 = struct { Fp uintptr Fnn int32 FszLeaf int32 -} /* sqlite3.c:225018:9 */ +} /* sqlite3.c:225075:9 */ // 2014 May 31 // @@ -182302,14 +182333,14 @@ type Fts5Data1 = struct { // many zero bytes. This makes it easier to decode the various record formats // without overreading if the records are corrupt. -type Fts5Data = Fts5Data1 /* sqlite3.c:225018:25 */ +type Fts5Data = Fts5Data1 /* sqlite3.c:225075:25 */ type Fts5DlidxIter1 = struct { FnLvl int32 FiSegid int32 FaLvl [1]Fts5DlidxLvl -} /* sqlite3.c:225019:9 */ +} /* sqlite3.c:225076:9 */ -type Fts5DlidxIter = Fts5DlidxIter1 /* sqlite3.c:225019:30 */ +type Fts5DlidxIter = Fts5DlidxIter1 /* sqlite3.c:225076:30 */ type Fts5DlidxLvl1 = struct { FpData uintptr FiOff int32 @@ -182317,17 +182348,17 @@ type Fts5DlidxLvl1 = struct { FiFirstOff int32 FiLeafPgno int32 FiRowid I64 -} /* sqlite3.c:225019:9 */ +} /* sqlite3.c:225076:9 */ -type Fts5DlidxLvl = Fts5DlidxLvl1 /* sqlite3.c:225020:29 */ +type Fts5DlidxLvl = Fts5DlidxLvl1 /* sqlite3.c:225077:29 */ type Fts5DlidxWriter1 = struct { Fpgno int32 FbPrevValid int32 FiPrev I64 Fbuf Fts5Buffer -} /* sqlite3.c:225021:9 */ +} /* sqlite3.c:225078:9 */ -type Fts5DlidxWriter = Fts5DlidxWriter1 /* sqlite3.c:225021:32 */ +type Fts5DlidxWriter = Fts5DlidxWriter1 /* sqlite3.c:225078:32 */ type Fts5Iter1 = struct { Fbase Fts5IndexIter FpIndex uintptr @@ -182341,18 +182372,18 @@ type Fts5Iter1 = struct { FiSwitchRowid I64 FaFirst uintptr FaSeg [1]Fts5SegIter -} /* sqlite3.c:225022:9 */ +} /* sqlite3.c:225079:9 */ -type Fts5Iter = Fts5Iter1 /* sqlite3.c:225022:25 */ +type Fts5Iter = Fts5Iter1 /* sqlite3.c:225079:25 */ type Fts5PageWriter1 = struct { Fpgno int32 FiPrevPgidx int32 Fbuf Fts5Buffer Fpgidx Fts5Buffer Fterm Fts5Buffer -} /* sqlite3.c:225023:9 */ +} /* sqlite3.c:225080:9 */ -type Fts5PageWriter = Fts5PageWriter1 /* sqlite3.c:225023:31 */ +type Fts5PageWriter = Fts5PageWriter1 /* sqlite3.c:225080:31 */ type Fts5SegIter1 = struct { FpSeg uintptr Fflags int32 @@ -182374,18 +182405,18 @@ type Fts5SegIter1 = struct { FnPos int32 FbDel U8 F__ccgo_pad1 [3]byte -} /* sqlite3.c:225022:9 */ +} /* sqlite3.c:225079:9 */ -type Fts5SegIter = Fts5SegIter1 /* sqlite3.c:225024:28 */ +type Fts5SegIter = Fts5SegIter1 /* sqlite3.c:225081:28 */ type Fts5DoclistIter1 = struct { FaEof uintptr FiRowid I64 FaPoslist uintptr FnPoslist int32 FnSize int32 -} /* sqlite3.c:225025:9 */ +} /* sqlite3.c:225082:9 */ -type Fts5DoclistIter = Fts5DoclistIter1 /* sqlite3.c:225025:32 */ +type Fts5DoclistIter = Fts5DoclistIter1 /* sqlite3.c:225082:32 */ type Fts5SegWriter1 = struct { FiSegid int32 F__ccgo_pad1 [4]byte @@ -182402,9 +182433,9 @@ type Fts5SegWriter1 = struct { Fbtterm Fts5Buffer FiBtPage int32 F__ccgo_pad3 [4]byte -} /* sqlite3.c:225026:9 */ +} /* sqlite3.c:225083:9 */ -type Fts5SegWriter = Fts5SegWriter1 /* sqlite3.c:225026:30 */ +type Fts5SegWriter = Fts5SegWriter1 /* sqlite3.c:225083:30 */ type Fts5Structure1 = struct { FnRef int32 F__ccgo_pad1 [4]byte @@ -182412,38 +182443,38 @@ type Fts5Structure1 = struct { FnSegment int32 FnLevel int32 FaLevel [1]Fts5StructureLevel -} /* sqlite3.c:216813:9 */ +} /* sqlite3.c:216870:9 */ -type Fts5Structure = Fts5Structure1 /* sqlite3.c:225027:30 */ +type Fts5Structure = Fts5Structure1 /* sqlite3.c:225084:30 */ type Fts5StructureLevel1 = struct { FnMerge int32 FnSeg int32 FaSeg uintptr -} /* sqlite3.c:216813:9 */ +} /* sqlite3.c:216870:9 */ -type Fts5StructureLevel = Fts5StructureLevel1 /* sqlite3.c:225028:35 */ +type Fts5StructureLevel = Fts5StructureLevel1 /* sqlite3.c:225085:35 */ type Fts5StructureSegment1 = struct { FiSegid int32 FpgnoFirst int32 FpgnoLast int32 -} /* sqlite3.c:216813:9 */ +} /* sqlite3.c:216870:9 */ -type Fts5StructureSegment = Fts5StructureSegment1 /* sqlite3.c:225029:37 */ +type Fts5StructureSegment = Fts5StructureSegment1 /* sqlite3.c:225086:37 */ type Fts5CResult1 = struct { FiFirst U16 FbTermEq U8 F__ccgo_pad1 [1]byte -} /* sqlite3.c:225022:9 */ +} /* sqlite3.c:225079:9 */ -type Fts5CResult = Fts5CResult1 /* sqlite3.c:225139:28 */ +type Fts5CResult = Fts5CResult1 /* sqlite3.c:225196:28 */ -func fts5PutU16(tls *libc.TLS, aOut uintptr, iVal U16) { /* sqlite3.c:225318:13: */ +func fts5PutU16(tls *libc.TLS, aOut uintptr, iVal U16) { /* sqlite3.c:225375:13: */ *(*U8)(unsafe.Pointer(aOut)) = U8(int32(iVal) >> 8) *(*U8)(unsafe.Pointer(aOut + 1)) = U8(int32(iVal) & 0xFF) } -func fts5GetU16(tls *libc.TLS, aIn uintptr) U16 { /* sqlite3.c:225323:12: */ +func fts5GetU16(tls *libc.TLS, aIn uintptr) U16 { /* sqlite3.c:225380:12: */ return U16(int32(U16(*(*U8)(unsafe.Pointer(aIn))))<<8 + int32(*(*U8)(unsafe.Pointer(aIn + 1)))) } @@ -182451,7 +182482,7 @@ func fts5GetU16(tls *libc.TLS, aIn uintptr) U16 { /* sqlite3.c:225323:12: */ // // If an OOM error is encountered, return NULL and set the error code in // the Fts5Index handle passed as the first argument. -func fts5IdxMalloc(tls *libc.TLS, p uintptr, nByte Sqlite3_int64) uintptr { /* sqlite3.c:225333:13: */ +func fts5IdxMalloc(tls *libc.TLS, p uintptr, nByte Sqlite3_int64) uintptr { /* sqlite3.c:225390:13: */ return sqlite3Fts5MallocZero(tls, p+52, nByte) } @@ -182469,7 +182500,7 @@ func fts5IdxMalloc(tls *libc.TLS, p uintptr, nByte Sqlite3_int64) uintptr { /* s // +ve if pRight is smaller than pLeft. In other words: // // res = *pLeft - *pRight -func fts5BufferCompare(tls *libc.TLS, pLeft uintptr, pRight uintptr) int32 { /* sqlite3.c:225365:12: */ +func fts5BufferCompare(tls *libc.TLS, pLeft uintptr, pRight uintptr) int32 { /* sqlite3.c:225422:12: */ var nCmp int32 var res int32 nCmp = func() int32 { @@ -182493,7 +182524,7 @@ func fts5BufferCompare(tls *libc.TLS, pLeft uintptr, pRight uintptr) int32 { /* }() } -func fts5LeafFirstTermOff(tls *libc.TLS, pLeaf uintptr) int32 { /* sqlite3.c:225374:12: */ +func fts5LeafFirstTermOff(tls *libc.TLS, pLeaf uintptr) int32 { /* sqlite3.c:225431:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -182504,7 +182535,7 @@ func fts5LeafFirstTermOff(tls *libc.TLS, pLeaf uintptr) int32 { /* sqlite3.c:225 } // Close the read-only blob handle, if it is open. -func sqlite3Fts5IndexCloseReader(tls *libc.TLS, p uintptr) { /* sqlite3.c:225383:13: */ +func sqlite3Fts5IndexCloseReader(tls *libc.TLS, p uintptr) { /* sqlite3.c:225440:13: */ if (*Fts5Index)(unsafe.Pointer(p)).FpReader != 0 { var pReader uintptr = (*Fts5Index)(unsafe.Pointer(p)).FpReader (*Fts5Index)(unsafe.Pointer(p)).FpReader = uintptr(0) @@ -182516,7 +182547,7 @@ func sqlite3Fts5IndexCloseReader(tls *libc.TLS, p uintptr) { /* sqlite3.c:225383 // // If an error occurs, NULL is returned and an error left in the // Fts5Index object. -func fts5DataRead(tls *libc.TLS, p uintptr, iRowid I64) uintptr { /* sqlite3.c:225397:17: */ +func fts5DataRead(tls *libc.TLS, p uintptr, iRowid I64) uintptr { /* sqlite3.c:225454:17: */ var pRet uintptr = uintptr(0) if (*Fts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK { var rc int32 = SQLITE_OK @@ -182589,11 +182620,11 @@ func fts5DataRead(tls *libc.TLS, p uintptr, iRowid I64) uintptr { /* sqlite3.c:2 // Release a reference to data record returned by an earlier call to // fts5DataRead(). -func fts5DataRelease(tls *libc.TLS, pData uintptr) { /* sqlite3.c:225471:13: */ +func fts5DataRelease(tls *libc.TLS, pData uintptr) { /* sqlite3.c:225528:13: */ Xsqlite3_free(tls, pData) } -func fts5LeafRead(tls *libc.TLS, p uintptr, iRowid I64) uintptr { /* sqlite3.c:225475:17: */ +func fts5LeafRead(tls *libc.TLS, p uintptr, iRowid I64) uintptr { /* sqlite3.c:225532:17: */ var pRet uintptr = fts5DataRead(tls, p, iRowid) if pRet != 0 { if (*Fts5Data)(unsafe.Pointer(pRet)).Fnn < 4 || (*Fts5Data)(unsafe.Pointer(pRet)).FszLeaf > (*Fts5Data)(unsafe.Pointer(pRet)).Fnn { @@ -182605,7 +182636,7 @@ func fts5LeafRead(tls *libc.TLS, p uintptr, iRowid I64) uintptr { /* sqlite3.c:2 return pRet } -func fts5IndexPrepareStmt(tls *libc.TLS, p uintptr, ppStmt uintptr, zSql uintptr) int32 { /* sqlite3.c:225487:12: */ +func fts5IndexPrepareStmt(tls *libc.TLS, p uintptr, ppStmt uintptr, zSql uintptr) int32 { /* sqlite3.c:225544:12: */ if (*Fts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK { if zSql != 0 { (*Fts5Index)(unsafe.Pointer(p)).Frc = Xsqlite3_prepare_v3(tls, (*Fts5Config)(unsafe.Pointer((*Fts5Index)(unsafe.Pointer(p)).FpConfig)).Fdb, zSql, -1, @@ -182620,7 +182651,7 @@ func fts5IndexPrepareStmt(tls *libc.TLS, p uintptr, ppStmt uintptr, zSql uintptr } // INSERT OR REPLACE a record into the %_data table. -func fts5DataWrite(tls *libc.TLS, p uintptr, iRowid I64, pData uintptr, nData int32) { /* sqlite3.c:225509:13: */ +func fts5DataWrite(tls *libc.TLS, p uintptr, iRowid I64, pData uintptr, nData int32) { /* sqlite3.c:225566:13: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -182648,7 +182679,7 @@ func fts5DataWrite(tls *libc.TLS, p uintptr, iRowid I64, pData uintptr, nData in // Execute the following SQL: // // DELETE FROM %_data WHERE id BETWEEN $iFirst AND $iLast -func fts5DataDelete(tls *libc.TLS, p uintptr, iFirst I64, iLast I64) { /* sqlite3.c:225533:13: */ +func fts5DataDelete(tls *libc.TLS, p uintptr, iFirst I64, iLast I64) { /* sqlite3.c:225590:13: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -182673,7 +182704,7 @@ func fts5DataDelete(tls *libc.TLS, p uintptr, iFirst I64, iLast I64) { /* sqlite } // Remove all records associated with segment iSegid. -func fts5DataRemoveSegment(tls *libc.TLS, p uintptr, iSegid int32) { /* sqlite3.c:225554:13: */ +func fts5DataRemoveSegment(tls *libc.TLS, p uintptr, iSegid int32) { /* sqlite3.c:225611:13: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -182695,7 +182726,7 @@ func fts5DataRemoveSegment(tls *libc.TLS, p uintptr, iSegid int32) { /* sqlite3. // Release a reference to an Fts5Structure object returned by an earlier // call to fts5StructureRead() or fts5StructureDecode(). -func fts5StructureRelease(tls *libc.TLS, pStruct uintptr) { /* sqlite3.c:225576:13: */ +func fts5StructureRelease(tls *libc.TLS, pStruct uintptr) { /* sqlite3.c:225633:13: */ if pStruct != 0 && 0 >= libc.PreDecInt32(&(*Fts5Structure)(unsafe.Pointer(pStruct)).FnRef, 1) { var i int32 @@ -182706,22 +182737,22 @@ func fts5StructureRelease(tls *libc.TLS, pStruct uintptr) { /* sqlite3.c:225576: } } -func fts5StructureRef(tls *libc.TLS, pStruct uintptr) { /* sqlite3.c:225587:13: */ +func fts5StructureRef(tls *libc.TLS, pStruct uintptr) { /* sqlite3.c:225644:13: */ (*Fts5Structure)(unsafe.Pointer(pStruct)).FnRef++ } -func sqlite3Fts5StructureRef(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:225591:13: */ +func sqlite3Fts5StructureRef(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:225648:13: */ fts5StructureRef(tls, (*Fts5Index)(unsafe.Pointer(p)).FpStruct) return (*Fts5Index)(unsafe.Pointer(p)).FpStruct } -func sqlite3Fts5StructureRelease(tls *libc.TLS, p uintptr) { /* sqlite3.c:225595:13: */ +func sqlite3Fts5StructureRelease(tls *libc.TLS, p uintptr) { /* sqlite3.c:225652:13: */ if p != 0 { fts5StructureRelease(tls, p) } } -func sqlite3Fts5StructureTest(tls *libc.TLS, p uintptr, pStruct uintptr) int32 { /* sqlite3.c:225600:12: */ +func sqlite3Fts5StructureTest(tls *libc.TLS, p uintptr, pStruct uintptr) int32 { /* sqlite3.c:225657:12: */ if (*Fts5Index)(unsafe.Pointer(p)).FpStruct != pStruct { return SQLITE_ABORT } @@ -182732,7 +182763,7 @@ func sqlite3Fts5StructureTest(tls *libc.TLS, p uintptr, pStruct uintptr) int32 { // // This function is a no-op if (*pRc) is not SQLITE_OK when it is called. If // an error occurs, (*pRc) is set to an SQLite error code before returning. -func fts5StructureMakeWritable(tls *libc.TLS, pRc uintptr, pp uintptr) { /* sqlite3.c:225613:13: */ +func fts5StructureMakeWritable(tls *libc.TLS, pRc uintptr, pp uintptr) { /* sqlite3.c:225670:13: */ var p uintptr = *(*uintptr)(unsafe.Pointer(pp)) if *(*int32)(unsafe.Pointer(pRc)) == SQLITE_OK && (*Fts5Structure)(unsafe.Pointer(p)).FnRef > 1 { var nByte I64 = I64(uint64(unsafe.Sizeof(Fts5Structure{})) + uint64((*Fts5Structure)(unsafe.Pointer(p)).FnLevel-1)*uint64(unsafe.Sizeof(Fts5StructureLevel{}))) @@ -182774,7 +182805,7 @@ func fts5StructureMakeWritable(tls *libc.TLS, pRc uintptr, pp uintptr) { /* sqli // If an error occurs, *ppOut is set to NULL and an SQLite error code // returned. Otherwise, *ppOut is set to point to the new object and // SQLITE_OK returned. -func fts5StructureDecode(tls *libc.TLS, pData uintptr, nData int32, piCookie uintptr, ppOut uintptr) int32 { /* sqlite3.c:225655:12: */ +func fts5StructureDecode(tls *libc.TLS, pData uintptr, nData int32, piCookie uintptr, ppOut uintptr) int32 { /* sqlite3.c:225712:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -182867,7 +182898,7 @@ func fts5StructureDecode(tls *libc.TLS, pData uintptr, nData int32, piCookie uin // Add a level to the Fts5Structure.aLevel[] array of structure object // (*ppStruct). -func fts5StructureAddLevel(tls *libc.TLS, pRc uintptr, ppStruct uintptr) { /* sqlite3.c:225747:13: */ +func fts5StructureAddLevel(tls *libc.TLS, pRc uintptr, ppStruct uintptr) { /* sqlite3.c:225804:13: */ fts5StructureMakeWritable(tls, pRc, ppStruct) if *(*int32)(unsafe.Pointer(pRc)) == SQLITE_OK { var pStruct uintptr = *(*uintptr)(unsafe.Pointer(ppStruct)) @@ -182887,7 +182918,7 @@ func fts5StructureAddLevel(tls *libc.TLS, pRc uintptr, ppStruct uintptr) { /* sq // Extend level iLvl so that there is room for at least nExtra more // segments. -func fts5StructureExtendLevel(tls *libc.TLS, pRc uintptr, pStruct uintptr, iLvl int32, nExtra int32, bInsert int32) { /* sqlite3.c:225772:13: */ +func fts5StructureExtendLevel(tls *libc.TLS, pRc uintptr, pStruct uintptr, iLvl int32, nExtra int32, bInsert int32) { /* sqlite3.c:225829:13: */ if *(*int32)(unsafe.Pointer(pRc)) == SQLITE_OK { var pLvl uintptr = pStruct + 24 + uintptr(iLvl)*16 var aNew uintptr @@ -182910,7 +182941,7 @@ func fts5StructureExtendLevel(tls *libc.TLS, pRc uintptr, pStruct uintptr, iLvl } } -func fts5StructureReadUncached(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:225801:22: */ +func fts5StructureReadUncached(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:225858:22: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -182938,7 +182969,7 @@ func fts5StructureReadUncached(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c: return *(*uintptr)(unsafe.Pointer(bp + 8 /* pRet */)) } -func fts5IndexDataVersion(tls *libc.TLS, p uintptr) I64 { /* sqlite3.c:225825:12: */ +func fts5IndexDataVersion(tls *libc.TLS, p uintptr) I64 { /* sqlite3.c:225882:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -182971,7 +183002,7 @@ func fts5IndexDataVersion(tls *libc.TLS, p uintptr) I64 { /* sqlite3.c:225825:12 // If an error occurs, NULL is returned and an error code left in the // Fts5Index handle. If an error has already occurred when this function // is called, it is a no-op. -func fts5StructureRead(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:225856:22: */ +func fts5StructureRead(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:225913:22: */ if (*Fts5Index)(unsafe.Pointer(p)).FpStruct == uintptr(0) { (*Fts5Index)(unsafe.Pointer(p)).FiStructVersion = fts5IndexDataVersion(tls, p) @@ -182988,7 +183019,7 @@ func fts5StructureRead(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:225856:2 return (*Fts5Index)(unsafe.Pointer(p)).FpStruct } -func fts5StructureInvalidate(tls *libc.TLS, p uintptr) { /* sqlite3.c:225895:13: */ +func fts5StructureInvalidate(tls *libc.TLS, p uintptr) { /* sqlite3.c:225952:13: */ if (*Fts5Index)(unsafe.Pointer(p)).FpStruct != 0 { fts5StructureRelease(tls, (*Fts5Index)(unsafe.Pointer(p)).FpStruct) (*Fts5Index)(unsafe.Pointer(p)).FpStruct = uintptr(0) @@ -183002,7 +183033,7 @@ func fts5StructureInvalidate(tls *libc.TLS, p uintptr) { /* sqlite3.c:225895:13: // // If an error occurs, leave an error code in the Fts5Index object. If an // error has already occurred, this function is a no-op. -func fts5StructureWrite(tls *libc.TLS, p uintptr, pStruct uintptr) { /* sqlite3.c:225938:13: */ +func fts5StructureWrite(tls *libc.TLS, p uintptr, pStruct uintptr) { /* sqlite3.c:225995:13: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -183055,14 +183086,14 @@ func fts5StructureWrite(tls *libc.TLS, p uintptr, pStruct uintptr) { /* sqlite3. } } -func fts5SegmentSize(tls *libc.TLS, pSeg uintptr) int32 { /* sqlite3.c:225993:12: */ +func fts5SegmentSize(tls *libc.TLS, pSeg uintptr) int32 { /* sqlite3.c:226050:12: */ return 1 + (*Fts5StructureSegment)(unsafe.Pointer(pSeg)).FpgnoLast - (*Fts5StructureSegment)(unsafe.Pointer(pSeg)).FpgnoFirst } // Return a copy of index structure pStruct. Except, promote as many // segments as possible to level iPromote. If an OOM occurs, NULL is // returned. -func fts5StructurePromoteTo(tls *libc.TLS, p uintptr, iPromote int32, szPromote int32, pStruct uintptr) { /* sqlite3.c:226002:13: */ +func fts5StructurePromoteTo(tls *libc.TLS, p uintptr, iPromote int32, szPromote int32, pStruct uintptr) { /* sqlite3.c:226059:13: */ var il int32 var is int32 var pOut uintptr = pStruct + 24 + uintptr(iPromote)*16 @@ -183105,7 +183136,7 @@ func fts5StructurePromoteTo(tls *libc.TLS, p uintptr, iPromote int32, szPromote // // If one or more segments are promoted, the structure object is updated // to reflect this. -func fts5StructurePromote(tls *libc.TLS, p uintptr, iLvl int32, pStruct uintptr) { /* sqlite3.c:226045:13: */ +func fts5StructurePromote(tls *libc.TLS, p uintptr, iLvl int32, pStruct uintptr) { /* sqlite3.c:226102:13: */ if (*Fts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK { var iTst int32 var iPromote int32 = -1 @@ -183154,7 +183185,7 @@ func fts5StructurePromote(tls *libc.TLS, p uintptr, iLvl int32, pStruct uintptr) // Advance the iterator passed as the only argument. If the end of the // doclist-index page is reached, return non-zero. -func fts5DlidxLvlNext(tls *libc.TLS, pLvl uintptr) int32 { /* sqlite3.c:226096:12: */ +func fts5DlidxLvlNext(tls *libc.TLS, pLvl uintptr) int32 { /* sqlite3.c:226153:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -183190,7 +183221,7 @@ func fts5DlidxLvlNext(tls *libc.TLS, pLvl uintptr) int32 { /* sqlite3.c:226096:1 } // Advance the iterator passed as the only argument. -func fts5DlidxIterNextR(tls *libc.TLS, p uintptr, pIter uintptr, iLvl int32) int32 { /* sqlite3.c:226128:12: */ +func fts5DlidxIterNextR(tls *libc.TLS, p uintptr, pIter uintptr, iLvl int32) int32 { /* sqlite3.c:226185:12: */ var pLvl uintptr = pIter + 8 + uintptr(iLvl)*32 if fts5DlidxLvlNext(tls, pLvl) != 0 { @@ -183211,7 +183242,7 @@ func fts5DlidxIterNextR(tls *libc.TLS, p uintptr, pIter uintptr, iLvl int32) int return (*Fts5DlidxLvl)(unsafe.Pointer(pIter + 8)).FbEof } -func fts5DlidxIterNext(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlite3.c:226148:12: */ +func fts5DlidxIterNext(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlite3.c:226205:12: */ return fts5DlidxIterNextR(tls, p, pIter, 0) } @@ -183224,7 +183255,7 @@ func fts5DlidxIterNext(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlit // // When this function is called pIter->iLeafPgno is the page number the // doclist is associated with (the one featuring the term). -func fts5DlidxIterFirst(tls *libc.TLS, pIter uintptr) int32 { /* sqlite3.c:226163:12: */ +func fts5DlidxIterFirst(tls *libc.TLS, pIter uintptr) int32 { /* sqlite3.c:226220:12: */ var i int32 for i = 0; i < (*Fts5DlidxIter)(unsafe.Pointer(pIter)).FnLvl; i++ { fts5DlidxLvlNext(tls, pIter+8+uintptr(i)*32) @@ -183232,11 +183263,11 @@ func fts5DlidxIterFirst(tls *libc.TLS, pIter uintptr) int32 { /* sqlite3.c:22616 return (*Fts5DlidxLvl)(unsafe.Pointer(pIter + 8)).FbEof } -func fts5DlidxIterEof(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlite3.c:226172:12: */ +func fts5DlidxIterEof(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlite3.c:226229:12: */ return libc.Bool32((*Fts5Index)(unsafe.Pointer(p)).Frc != SQLITE_OK || (*Fts5DlidxLvl)(unsafe.Pointer(pIter+8)).FbEof != 0) } -func fts5DlidxIterLast(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:226176:13: */ +func fts5DlidxIterLast(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:226233:13: */ var i int32 // Advance each level to the last entry on the last page @@ -183257,7 +183288,7 @@ func fts5DlidxIterLast(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:2 } // Move the iterator passed as the only argument to the previous entry. -func fts5DlidxLvlPrev(tls *libc.TLS, pLvl uintptr) int32 { /* sqlite3.c:226199:12: */ +func fts5DlidxLvlPrev(tls *libc.TLS, pLvl uintptr) int32 { /* sqlite3.c:226256:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -183319,7 +183350,7 @@ func fts5DlidxLvlPrev(tls *libc.TLS, pLvl uintptr) int32 { /* sqlite3.c:226199:1 return (*Fts5DlidxLvl)(unsafe.Pointer(pLvl)).FbEof } -func fts5DlidxIterPrevR(tls *libc.TLS, p uintptr, pIter uintptr, iLvl int32) int32 { /* sqlite3.c:226248:12: */ +func fts5DlidxIterPrevR(tls *libc.TLS, p uintptr, pIter uintptr, iLvl int32) int32 { /* sqlite3.c:226305:12: */ var pLvl uintptr = pIter + 8 + uintptr(iLvl)*32 if fts5DlidxLvlPrev(tls, pLvl) != 0 { @@ -183342,12 +183373,12 @@ func fts5DlidxIterPrevR(tls *libc.TLS, p uintptr, pIter uintptr, iLvl int32) int return (*Fts5DlidxLvl)(unsafe.Pointer(pIter + 8)).FbEof } -func fts5DlidxIterPrev(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlite3.c:226271:12: */ +func fts5DlidxIterPrev(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlite3.c:226328:12: */ return fts5DlidxIterPrevR(tls, p, pIter, 0) } // Free a doclist-index iterator object allocated by fts5DlidxIterInit(). -func fts5DlidxIterFree(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:226278:13: */ +func fts5DlidxIterFree(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:226335:13: */ if pIter != 0 { var i int32 for i = 0; i < (*Fts5DlidxIter)(unsafe.Pointer(pIter)).FnLvl; i++ { @@ -183357,7 +183388,7 @@ func fts5DlidxIterFree(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:226278:13: * } } -func fts5DlidxIterInit(tls *libc.TLS, p uintptr, bRev int32, iSegid int32, iLeafPg int32) uintptr { /* sqlite3.c:226288:22: */ +func fts5DlidxIterInit(tls *libc.TLS, p uintptr, bRev int32, iSegid int32, iLeafPg int32) uintptr { /* sqlite3.c:226345:22: */ var pIter uintptr = uintptr(0) var i int32 var bDone int32 = 0 @@ -183399,16 +183430,16 @@ func fts5DlidxIterInit(tls *libc.TLS, p uintptr, bRev int32, iSegid int32, iLeaf return pIter } -func fts5DlidxIterRowid(tls *libc.TLS, pIter uintptr) I64 { /* sqlite3.c:226335:12: */ +func fts5DlidxIterRowid(tls *libc.TLS, pIter uintptr) I64 { /* sqlite3.c:226392:12: */ return (*Fts5DlidxLvl)(unsafe.Pointer(pIter + 8)).FiRowid } -func fts5DlidxIterPgno(tls *libc.TLS, pIter uintptr) int32 { /* sqlite3.c:226338:12: */ +func fts5DlidxIterPgno(tls *libc.TLS, pIter uintptr) int32 { /* sqlite3.c:226395:12: */ return (*Fts5DlidxLvl)(unsafe.Pointer(pIter + 8)).FiLeafPgno } // Load the next leaf page into the segment iterator. -func fts5SegIterNextPage(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:226345:13: */ +func fts5SegIterNextPage(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:226402:13: */ var pLeaf uintptr var pSeg uintptr = (*Fts5SegIter)(unsafe.Pointer(pIter)).FpSeg fts5DataRelease(tls, (*Fts5SegIter)(unsafe.Pointer(pIter)).FpLeaf) @@ -183438,7 +183469,7 @@ func fts5SegIterNextPage(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c // position list size field. Read the varint and return the number of bytes // read. Before returning, set *pnSz to the number of bytes in the position // list, and *pbDel to true if the delete flag is set, or false otherwise. -func fts5GetPoslistSize(tls *libc.TLS, p uintptr, pnSz uintptr, pbDel uintptr) int32 { /* sqlite3.c:226383:12: */ +func fts5GetPoslistSize(tls *libc.TLS, p uintptr, pnSz uintptr, pbDel uintptr) int32 { /* sqlite3.c:226440:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -183467,7 +183498,7 @@ func fts5GetPoslistSize(tls *libc.TLS, p uintptr, pnSz uintptr, pbDel uintptr) i // // Leave Fts5SegIter.iLeafOffset pointing to the first byte of the // position list content (if any). -func fts5SegIterLoadNPos(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:226404:13: */ +func fts5SegIterLoadNPos(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:226461:13: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -183512,7 +183543,7 @@ func fts5SegIterLoadNPos(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c } } -func fts5SegIterLoadRowid(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:226433:13: */ +func fts5SegIterLoadRowid(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:226490:13: */ var a uintptr = (*Fts5Data)(unsafe.Pointer((*Fts5SegIter)(unsafe.Pointer(pIter)).FpLeaf)).Fp // Buffer to read data from var iOff I64 = (*Fts5SegIter)(unsafe.Pointer(pIter)).FiLeafOffset @@ -183544,7 +183575,7 @@ func fts5SegIterLoadRowid(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3. // accordingly and leaves (Fts5SegIter.iLeafOffset) set to the content of // the first position list. The position list belonging to document // (Fts5SegIter.iRowid). -func fts5SegIterLoadTerm(tls *libc.TLS, p uintptr, pIter uintptr, nKeep int32) { /* sqlite3.c:226466:13: */ +func fts5SegIterLoadTerm(tls *libc.TLS, p uintptr, pIter uintptr, nKeep int32) { /* sqlite3.c:226523:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -183578,7 +183609,7 @@ func fts5SegIterLoadTerm(tls *libc.TLS, p uintptr, pIter uintptr, nKeep int32) { fts5SegIterLoadRowid(tls, p, pIter) } -func fts5SegIterSetNext(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:226499:13: */ +func fts5SegIterSetNext(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:226556:13: */ if (*Fts5SegIter)(unsafe.Pointer(pIter)).Fflags&FTS5_SEGITER_REVERSE != 0 { (*Fts5SegIter)(unsafe.Pointer(pIter)).FxNext = *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, uintptr) @@ -183600,7 +183631,7 @@ func fts5SegIterSetNext(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c: // // If an error occurs, Fts5Index.rc is set to an appropriate error code. If // an error has already occurred when this function is called, it is a no-op. -func fts5SegIterInit(tls *libc.TLS, p uintptr, pSeg uintptr, pIter uintptr) { /* sqlite3.c:226517:13: */ +func fts5SegIterInit(tls *libc.TLS, p uintptr, pSeg uintptr, pIter uintptr) { /* sqlite3.c:226574:13: */ if (*Fts5StructureSegment)(unsafe.Pointer(pSeg)).FpgnoFirst == 0 { // This happens if the segment is being used as an input to an incremental // merge and all data has already been "trimmed". See function @@ -183641,7 +183672,7 @@ func fts5SegIterInit(tls *libc.TLS, p uintptr, pSeg uintptr, pIter uintptr) { /* // aRowidOffset[] and iRowidOffset variables. At this point the iterator // is in its regular state - Fts5SegIter.iLeafOffset points to the first // byte of the position list content associated with said rowid. -func fts5SegIterReverseInitPage(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:226566:13: */ +func fts5SegIterReverseInitPage(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:226623:13: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -183700,7 +183731,7 @@ func fts5SegIterReverseInitPage(tls *libc.TLS, p uintptr, pIter uintptr) { /* sq } // -func fts5SegIterReverseNewPage(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:226619:13: */ +func fts5SegIterReverseNewPage(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:226676:13: */ fts5DataRelease(tls, (*Fts5SegIter)(unsafe.Pointer(pIter)).FpLeaf) (*Fts5SegIter)(unsafe.Pointer(pIter)).FpLeaf = uintptr(0) @@ -183750,7 +183781,7 @@ func fts5SegIterReverseNewPage(tls *libc.TLS, p uintptr, pIter uintptr) { /* sql // Return true if the iterator passed as the second argument currently // points to a delete marker. A delete marker is an entry with a 0 byte // position-list. -func fts5MultiIterIsEmpty(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlite3.c:226675:12: */ +func fts5MultiIterIsEmpty(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlite3.c:226732:12: */ var pSeg uintptr = pIter + 96 + uintptr((*Fts5CResult)(unsafe.Pointer((*Fts5Iter)(unsafe.Pointer(pIter)).FaFirst+1*4)).FiFirst)*120 return libc.Bool32((*Fts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK && (*Fts5SegIter)(unsafe.Pointer(pSeg)).FpLeaf != 0 && (*Fts5SegIter)(unsafe.Pointer(pSeg)).FnPos == 0) } @@ -183758,7 +183789,7 @@ func fts5MultiIterIsEmpty(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sq // Advance iterator pIter to the next entry. // // This version of fts5SegIterNext() is only used by reverse iterators. -func fts5SegIterNext_Reverse(tls *libc.TLS, p uintptr, pIter uintptr, pbUnused uintptr) { /* sqlite3.c:226685:13: */ +func fts5SegIterNext_Reverse(tls *libc.TLS, p uintptr, pIter uintptr, pbUnused uintptr) { /* sqlite3.c:226742:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -183787,7 +183818,7 @@ func fts5SegIterNext_Reverse(tls *libc.TLS, p uintptr, pIter uintptr, pbUnused u // // This version of fts5SegIterNext() is only used if detail=none and the // iterator is not a reverse direction iterator. -func fts5SegIterNext_None(tls *libc.TLS, p uintptr, pIter uintptr, pbNewTerm uintptr) { /* sqlite3.c:226719:13: */ +func fts5SegIterNext_None(tls *libc.TLS, p uintptr, pIter uintptr, pbNewTerm uintptr) { /* sqlite3.c:226776:13: */ bp := tls.Alloc(36) defer tls.Free(36) @@ -183892,7 +183923,7 @@ next_none_eof: // If an error occurs, Fts5Index.rc is set to an appropriate error code. It // is not considered an error if the iterator reaches EOF. If an error has // already occurred when this function is called, it is a no-op. -func fts5SegIterNext(tls *libc.TLS, p uintptr, pIter uintptr, pbNewTerm uintptr) { /* sqlite3.c:226791:13: */ +func fts5SegIterNext(tls *libc.TLS, p uintptr, pIter uintptr, pbNewTerm uintptr) { /* sqlite3.c:226848:13: */ bp := tls.Alloc(44) defer tls.Free(44) @@ -184017,7 +184048,7 @@ func fts5SegIterNext(tls *libc.TLS, p uintptr, pIter uintptr, pbNewTerm uintptr) // Iterator pIter currently points to the first rowid in a doclist. This // function sets the iterator up so that iterates in reverse order through // the doclist. -func fts5SegIterReverse(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:226922:13: */ +func fts5SegIterReverse(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:226979:13: */ var pDlidx uintptr = (*Fts5SegIter)(unsafe.Pointer(pIter)).FpDlidx var pLast uintptr = uintptr(0) var pgnoLast int32 = 0 @@ -184117,7 +184148,7 @@ func fts5SegIterReverse(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c: // There is a doclist-index associated with the final term on the current // page. If the current term is the last term on the page, load the // doclist-index from disk and initialize an iterator at (pIter->pDlidx). -func fts5SegIterLoadDlidx(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:227011:13: */ +func fts5SegIterLoadDlidx(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:227068:13: */ var iSeg int32 = (*Fts5StructureSegment)(unsafe.Pointer((*Fts5SegIter)(unsafe.Pointer(pIter)).FpSeg)).FiSegid var bRev int32 = (*Fts5SegIter)(unsafe.Pointer(pIter)).Fflags & FTS5_SEGITER_REVERSE var pLeaf uintptr = (*Fts5SegIter)(unsafe.Pointer(pIter)).FpLeaf // Current leaf data @@ -184145,7 +184176,7 @@ func fts5SegIterLoadDlidx(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3. // iterator is left pointing to the smallest term in the segment that // is larger than the specified term, even if this term is not on the // current page. -func fts5LeafSeek(tls *libc.TLS, p uintptr, bGe int32, pIter uintptr, pTerm uintptr, nTerm int32) { /* sqlite3.c:227045:13: */ +func fts5LeafSeek(tls *libc.TLS, p uintptr, bGe int32, pIter uintptr, pTerm uintptr, nTerm int32) { /* sqlite3.c:227102:13: */ bp := tls.Alloc(20) defer tls.Free(20) @@ -184379,7 +184410,7 @@ __31: fts5SegIterLoadNPos(tls, p, pIter) } -func fts5IdxSelectStmt(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:227171:21: */ +func fts5IdxSelectStmt(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:227228:21: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -184398,7 +184429,7 @@ func fts5IdxSelectStmt(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:227171:2 // // If an error occurs, Fts5Index.rc is set to an appropriate error code. If // an error has already occurred when this function is called, it is a no-op. -func fts5SegIterSeekInit(tls *libc.TLS, p uintptr, pTerm uintptr, nTerm int32, flags int32, pSeg uintptr, pIter uintptr) { /* sqlite3.c:227190:13: */ +func fts5SegIterSeekInit(tls *libc.TLS, p uintptr, pTerm uintptr, nTerm int32, flags int32, pSeg uintptr, pIter uintptr) { /* sqlite3.c:227247:13: */ var iPg int32 = 1 var bGe int32 = flags & FTS5INDEX_QUERY_SCAN var bDlidx int32 = 0 // True if there is a doclist-index @@ -184468,7 +184499,7 @@ func fts5SegIterSeekInit(tls *libc.TLS, p uintptr, pTerm uintptr, nTerm int32, f // // If an error occurs, Fts5Index.rc is set to an appropriate error code. If // an error has already occurred when this function is called, it is a no-op. -func fts5SegIterHashInit(tls *libc.TLS, p uintptr, pTerm uintptr, nTerm int32, flags int32, pIter uintptr) { /* sqlite3.c:227273:13: */ +func fts5SegIterHashInit(tls *libc.TLS, p uintptr, pTerm uintptr, nTerm int32, flags int32, pIter uintptr) { /* sqlite3.c:227330:13: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -184524,7 +184555,7 @@ func fts5SegIterHashInit(tls *libc.TLS, p uintptr, pTerm uintptr, nTerm int32, f } // Zero the iterator passed as the only argument. -func fts5SegIterClear(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:227332:13: */ +func fts5SegIterClear(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:227389:13: */ sqlite3Fts5BufferFree(tls, pIter+88) fts5DataRelease(tls, (*Fts5SegIter)(unsafe.Pointer(pIter)).FpLeaf) fts5DataRelease(tls, (*Fts5SegIter)(unsafe.Pointer(pIter)).FpNextLeaf) @@ -184539,7 +184570,7 @@ func fts5SegIterClear(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:227332:13: */ // in the pIter->aSeg[] array that is (a) not at EOF, and (b) pointing // to a key that is a duplicate of another, higher priority, // segment-iterator in the pSeg->aSeg[] array. -func fts5MultiIterDoCompare(tls *libc.TLS, pIter uintptr, iOut int32) int32 { /* sqlite3.c:227436:12: */ +func fts5MultiIterDoCompare(tls *libc.TLS, pIter uintptr, iOut int32) int32 { /* sqlite3.c:227493:12: */ var i1 int32 // Index of left-hand Fts5SegIter var i2 int32 // Index of right-hand Fts5SegIter var iRes int32 @@ -184591,7 +184622,7 @@ func fts5MultiIterDoCompare(tls *libc.TLS, pIter uintptr, iOut int32) int32 { /* // Move the seg-iter so that it points to the first rowid on page iLeafPgno. // It is an error if leaf iLeafPgno does not exist or contains no rowids. -func fts5SegIterGotoPage(tls *libc.TLS, p uintptr, pIter uintptr, iLeafPgno int32) { /* sqlite3.c:227490:13: */ +func fts5SegIterGotoPage(tls *libc.TLS, p uintptr, pIter uintptr, iLeafPgno int32) { /* sqlite3.c:227547:13: */ if iLeafPgno > (*Fts5StructureSegment)(unsafe.Pointer((*Fts5SegIter)(unsafe.Pointer(pIter)).FpSeg)).FpgnoLast { (*Fts5Index)(unsafe.Pointer(p)).Frc = SQLITE_CORRUPT | int32(1)<<8 @@ -184621,7 +184652,7 @@ func fts5SegIterGotoPage(tls *libc.TLS, p uintptr, pIter uintptr, iLeafPgno int3 // Advance the iterator passed as the second argument until it is at or // past rowid iFrom. Regardless of the value of iFrom, the iterator is // always advanced at least once. -func fts5SegIterNextFrom(tls *libc.TLS, p uintptr, pIter uintptr, iMatch I64) { /* sqlite3.c:227528:13: */ +func fts5SegIterNextFrom(tls *libc.TLS, p uintptr, pIter uintptr, iMatch I64) { /* sqlite3.c:227585:13: */ var bRev int32 = (*Fts5SegIter)(unsafe.Pointer(pIter)).Fflags & FTS5_SEGITER_REVERSE var pDlidx uintptr = (*Fts5SegIter)(unsafe.Pointer(pIter)).FpDlidx var iLeafPgno int32 = (*Fts5SegIter)(unsafe.Pointer(pIter)).FiLeafPgno @@ -184671,7 +184702,7 @@ func fts5SegIterNextFrom(tls *libc.TLS, p uintptr, pIter uintptr, iMatch I64) { } // Free the iterator object passed as the second argument. -func fts5MultiIterFree(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:227582:13: */ +func fts5MultiIterFree(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:227639:13: */ if pIter != 0 { var i int32 for i = 0; i < (*Fts5Iter)(unsafe.Pointer(pIter)).FnSeg; i++ { @@ -184682,7 +184713,7 @@ func fts5MultiIterFree(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:227582:13: * } } -func fts5MultiIterAdvanced(tls *libc.TLS, p uintptr, pIter uintptr, iChanged int32, iMinset int32) { /* sqlite3.c:227593:13: */ +func fts5MultiIterAdvanced(tls *libc.TLS, p uintptr, pIter uintptr, iChanged int32, iMinset int32) { /* sqlite3.c:227650:13: */ var i int32 for i = ((*Fts5Iter)(unsafe.Pointer(pIter)).FnSeg + iChanged) / 2; i >= iMinset && (*Fts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK; i = i / 2 { var iEq int32 @@ -184705,7 +184736,7 @@ func fts5MultiIterAdvanced(tls *libc.TLS, p uintptr, pIter uintptr, iChanged int // If non-zero is returned, the caller should call fts5MultiIterAdvanced() // on the iterator instead. That function does the same as this one, except // that it deals with more complicated cases as well. -func fts5MultiIterAdvanceRowid(tls *libc.TLS, pIter uintptr, iChanged int32, ppFirst uintptr) int32 { /* sqlite3.c:227621:12: */ +func fts5MultiIterAdvanceRowid(tls *libc.TLS, pIter uintptr, iChanged int32, ppFirst uintptr) int32 { /* sqlite3.c:227678:12: */ var pNew uintptr = pIter + 96 + uintptr(iChanged)*120 if (*Fts5SegIter)(unsafe.Pointer(pNew)).FiRowid == (*Fts5Iter)(unsafe.Pointer(pIter)).FiSwitchRowid || @@ -184745,7 +184776,7 @@ func fts5MultiIterAdvanceRowid(tls *libc.TLS, pIter uintptr, iChanged int32, ppF } // Set the pIter->bEof variable based on the state of the sub-iterators. -func fts5MultiIterSetEof(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:227664:13: */ +func fts5MultiIterSetEof(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:227721:13: */ var pSeg uintptr = pIter + 96 + uintptr((*Fts5CResult)(unsafe.Pointer((*Fts5Iter)(unsafe.Pointer(pIter)).FaFirst+1*4)).FiFirst)*120 (*Fts5Iter)(unsafe.Pointer(pIter)).Fbase.FbEof = U8(libc.Bool32((*Fts5SegIter)(unsafe.Pointer(pSeg)).FpLeaf == uintptr(0))) (*Fts5Iter)(unsafe.Pointer(pIter)).FiSwitchRowid = (*Fts5SegIter)(unsafe.Pointer(pSeg)).FiRowid @@ -184756,7 +184787,7 @@ func fts5MultiIterSetEof(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:227664:13: // If an error occurs, an error code is left in Fts5Index.rc. It is not // considered an error if the iterator reaches EOF, or if it is already at // EOF when this function is called. -func fts5MultiIterNext(tls *libc.TLS, p uintptr, pIter uintptr, bFrom int32, iFrom I64) { /* sqlite3.c:227677:13: */ +func fts5MultiIterNext(tls *libc.TLS, p uintptr, pIter uintptr, bFrom int32, iFrom I64) { /* sqlite3.c:227734:13: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -184795,7 +184826,7 @@ func fts5MultiIterNext(tls *libc.TLS, p uintptr, pIter uintptr, bFrom int32, iFr } } -func fts5MultiIterNext2(tls *libc.TLS, p uintptr, pIter uintptr, pbNewTerm uintptr) { /* sqlite3.c:227715:13: */ +func fts5MultiIterNext2(tls *libc.TLS, p uintptr, pIter uintptr, pbNewTerm uintptr) { /* sqlite3.c:227772:13: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -184820,12 +184851,12 @@ func fts5MultiIterNext2(tls *libc.TLS, p uintptr, pIter uintptr, pbNewTerm uintp } } -func fts5IterSetOutputs_Noop(tls *libc.TLS, pUnused1 uintptr, pUnused2 uintptr) { /* sqlite3.c:227743:13: */ +func fts5IterSetOutputs_Noop(tls *libc.TLS, pUnused1 uintptr, pUnused2 uintptr) { /* sqlite3.c:227800:13: */ _ = pUnused1 _ = pUnused2 } -func fts5MultiIterAlloc(tls *libc.TLS, p uintptr, nSeg int32) uintptr { /* sqlite3.c:227747:17: */ +func fts5MultiIterAlloc(tls *libc.TLS, p uintptr, nSeg int32) uintptr { /* sqlite3.c:227804:17: */ var pNew uintptr var nSlot int32 // Power of two >= nSeg @@ -184844,7 +184875,7 @@ func fts5MultiIterAlloc(tls *libc.TLS, p uintptr, nSeg int32) uintptr { /* sqlit return pNew } -func fts5PoslistCallback(tls *libc.TLS, pUnused uintptr, pContext uintptr, pChunk uintptr, nChunk int32) { /* sqlite3.c:227769:13: */ +func fts5PoslistCallback(tls *libc.TLS, pUnused uintptr, pContext uintptr, pChunk uintptr, nChunk int32) { /* sqlite3.c:227826:13: */ _ = pUnused if nChunk > 0 { @@ -184861,21 +184892,21 @@ type PoslistCallbackCtx1 = struct { FpColset uintptr FeState int32 F__ccgo_pad1 [4]byte -} /* sqlite3.c:227781:9 */ +} /* sqlite3.c:227838:9 */ -type PoslistCallbackCtx = PoslistCallbackCtx1 /* sqlite3.c:227781:35 */ +type PoslistCallbackCtx = PoslistCallbackCtx1 /* sqlite3.c:227838:35 */ type PoslistOffsetsCtx1 = struct { FpBuf uintptr FpColset uintptr FiRead int32 FiWrite int32 -} /* sqlite3.c:227788:9 */ +} /* sqlite3.c:227845:9 */ -type PoslistOffsetsCtx = PoslistOffsetsCtx1 /* sqlite3.c:227788:34 */ +type PoslistOffsetsCtx = PoslistOffsetsCtx1 /* sqlite3.c:227845:34 */ // TODO: Make this more efficient! -func fts5IndexColsetTest(tls *libc.TLS, pColset uintptr, iCol int32) int32 { /* sqlite3.c:227799:12: */ +func fts5IndexColsetTest(tls *libc.TLS, pColset uintptr, iCol int32) int32 { /* sqlite3.c:227856:12: */ var i int32 for i = 0; i < (*Fts5Colset)(unsafe.Pointer(pColset)).FnCol; i++ { if *(*int32)(unsafe.Pointer(pColset + 4 + uintptr(i)*4)) == iCol { @@ -184885,7 +184916,7 @@ func fts5IndexColsetTest(tls *libc.TLS, pColset uintptr, iCol int32) int32 { /* return 0 } -func fts5PoslistOffsetsCallback(tls *libc.TLS, pUnused uintptr, pContext uintptr, pChunk uintptr, nChunk int32) { /* sqlite3.c:227807:13: */ +func fts5PoslistOffsetsCallback(tls *libc.TLS, pUnused uintptr, pContext uintptr, pChunk uintptr, nChunk int32) { /* sqlite3.c:227864:13: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -184911,7 +184942,7 @@ func fts5PoslistOffsetsCallback(tls *libc.TLS, pUnused uintptr, pContext uintptr } } -func fts5PoslistFilterCallback(tls *libc.TLS, pUnused uintptr, pContext uintptr, pChunk uintptr, nChunk int32) { /* sqlite3.c:227830:13: */ +func fts5PoslistFilterCallback(tls *libc.TLS, pUnused uintptr, pContext uintptr, pChunk uintptr, nChunk int32) { /* sqlite3.c:227887:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -184991,7 +185022,7 @@ func fts5PoslistFilterCallback(tls *libc.TLS, pUnused uintptr, pContext uintptr, } } -func fts5ChunkIterate(tls *libc.TLS, p uintptr, pSeg uintptr, pCtx uintptr, xChunk uintptr) { /* sqlite3.c:227882:13: */ +func fts5ChunkIterate(tls *libc.TLS, p uintptr, pSeg uintptr, pCtx uintptr, xChunk uintptr) { /* sqlite3.c:227939:13: */ var nRem int32 = (*Fts5SegIter)(unsafe.Pointer(pSeg)).FnPos // Number of bytes still to come var pData uintptr = uintptr(0) var pChunk uintptr = (*Fts5Data)(unsafe.Pointer((*Fts5SegIter)(unsafe.Pointer(pSeg)).FpLeaf)).Fp + uintptr((*Fts5SegIter)(unsafe.Pointer(pSeg)).FiLeafOffset) @@ -185047,7 +185078,7 @@ func fts5ChunkIterate(tls *libc.TLS, p uintptr, pSeg uintptr, pCtx uintptr, xChu // function appends the position list data for the current entry to // buffer pBuf. It does not make a copy of the position-list size // field. -func fts5SegiterPoslist(tls *libc.TLS, p uintptr, pSeg uintptr, pColset uintptr, pBuf uintptr) { /* sqlite3.c:227932:13: */ +func fts5SegiterPoslist(tls *libc.TLS, p uintptr, pSeg uintptr, pColset uintptr, pBuf uintptr) { /* sqlite3.c:227989:13: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -185098,7 +185129,7 @@ func fts5SegiterPoslist(tls *libc.TLS, p uintptr, pSeg uintptr, pColset uintptr, // This function is a no-op if *pRc is other than SQLITE_OK when it is // called. If an OOM error is encountered, *pRc is set to SQLITE_NOMEM // before returning. -func fts5IndexExtractColset(tls *libc.TLS, pRc uintptr, pColset uintptr, pPos uintptr, nPos int32, pIter uintptr) { /* sqlite3.c:227977:13: */ +func fts5IndexExtractColset(tls *libc.TLS, pRc uintptr, pColset uintptr, pPos uintptr, nPos int32, pIter uintptr) { /* sqlite3.c:228034:13: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -185159,7 +185190,7 @@ func fts5IndexExtractColset(tls *libc.TLS, pRc uintptr, pColset uintptr, pPos ui } // xSetOutputs callback used by detail=none tables. -func fts5IterSetOutputs_None(tls *libc.TLS, pIter uintptr, pSeg uintptr) { /* sqlite3.c:228037:13: */ +func fts5IterSetOutputs_None(tls *libc.TLS, pIter uintptr, pSeg uintptr) { /* sqlite3.c:228094:13: */ (*Fts5Iter)(unsafe.Pointer(pIter)).Fbase.FiRowid = (*Fts5SegIter)(unsafe.Pointer(pSeg)).FiRowid (*Fts5Iter)(unsafe.Pointer(pIter)).Fbase.FnData = (*Fts5SegIter)(unsafe.Pointer(pSeg)).FnPos @@ -185167,7 +185198,7 @@ func fts5IterSetOutputs_None(tls *libc.TLS, pIter uintptr, pSeg uintptr) { /* sq // xSetOutputs callback used by detail=full and detail=col tables when no // column filters are specified. -func fts5IterSetOutputs_Nocolset(tls *libc.TLS, pIter uintptr, pSeg uintptr) { /* sqlite3.c:228047:13: */ +func fts5IterSetOutputs_Nocolset(tls *libc.TLS, pIter uintptr, pSeg uintptr) { /* sqlite3.c:228104:13: */ (*Fts5Iter)(unsafe.Pointer(pIter)).Fbase.FiRowid = (*Fts5SegIter)(unsafe.Pointer(pSeg)).FiRowid (*Fts5Iter)(unsafe.Pointer(pIter)).Fbase.FnData = (*Fts5SegIter)(unsafe.Pointer(pSeg)).FnPos @@ -185187,7 +185218,7 @@ func fts5IterSetOutputs_Nocolset(tls *libc.TLS, pIter uintptr, pSeg uintptr) { / // xSetOutputs callback used when the Fts5Colset object has nCol==0 (match // against no columns at all). -func fts5IterSetOutputs_ZeroColset(tls *libc.TLS, pIter uintptr, pSeg uintptr) { /* sqlite3.c:228072:13: */ +func fts5IterSetOutputs_ZeroColset(tls *libc.TLS, pIter uintptr, pSeg uintptr) { /* sqlite3.c:228129:13: */ _ = pSeg (*Fts5Iter)(unsafe.Pointer(pIter)).Fbase.FnData = 0 } @@ -185195,7 +185226,7 @@ func fts5IterSetOutputs_ZeroColset(tls *libc.TLS, pIter uintptr, pSeg uintptr) { // xSetOutputs callback used by detail=col when there is a column filter // and there are 100 or more columns. Also called as a fallback from // fts5IterSetOutputs_Col100 if the column-list spans more than one page. -func fts5IterSetOutputs_Col(tls *libc.TLS, pIter uintptr, pSeg uintptr) { /* sqlite3.c:228082:13: */ +func fts5IterSetOutputs_Col(tls *libc.TLS, pIter uintptr, pSeg uintptr) { /* sqlite3.c:228139:13: */ sqlite3Fts5BufferZero(tls, pIter+32) fts5SegiterPoslist(tls, (*Fts5Iter)(unsafe.Pointer(pIter)).FpIndex, pSeg, (*Fts5Iter)(unsafe.Pointer(pIter)).FpColset, pIter+32) (*Fts5Iter)(unsafe.Pointer(pIter)).Fbase.FiRowid = (*Fts5SegIter)(unsafe.Pointer(pSeg)).FiRowid @@ -185211,7 +185242,7 @@ func fts5IterSetOutputs_Col(tls *libc.TLS, pIter uintptr, pSeg uintptr) { /* sql // // The last point is to ensure all column numbers are stored as // single-byte varints. -func fts5IterSetOutputs_Col100(tls *libc.TLS, pIter uintptr, pSeg uintptr) { /* sqlite3.c:228100:13: */ +func fts5IterSetOutputs_Col100(tls *libc.TLS, pIter uintptr, pSeg uintptr) { /* sqlite3.c:228157:13: */ var a uintptr var pEnd uintptr var iPrev int32 @@ -185273,7 +185304,7 @@ __2: } // xSetOutputs callback used by detail=full when there is a column filter. -func fts5IterSetOutputs_Full(tls *libc.TLS, pIter uintptr, pSeg uintptr) { /* sqlite3.c:228140:13: */ +func fts5IterSetOutputs_Full(tls *libc.TLS, pIter uintptr, pSeg uintptr) { /* sqlite3.c:228197:13: */ var pColset uintptr = (*Fts5Iter)(unsafe.Pointer(pIter)).FpColset (*Fts5Iter)(unsafe.Pointer(pIter)).Fbase.FiRowid = (*Fts5SegIter)(unsafe.Pointer(pSeg)).FiRowid @@ -185295,7 +185326,7 @@ func fts5IterSetOutputs_Full(tls *libc.TLS, pIter uintptr, pSeg uintptr) { /* sq } } -func fts5IterSetOutputCb(tls *libc.TLS, pRc uintptr, pIter uintptr) { /* sqlite3.c:228165:13: */ +func fts5IterSetOutputCb(tls *libc.TLS, pRc uintptr, pIter uintptr) { /* sqlite3.c:228222:13: */ if *(*int32)(unsafe.Pointer(pRc)) == SQLITE_OK { var pConfig uintptr = (*Fts5Index)(unsafe.Pointer((*Fts5Iter)(unsafe.Pointer(pIter)).FpIndex)).FpConfig @@ -185340,7 +185371,7 @@ func fts5IterSetOutputCb(tls *libc.TLS, pRc uintptr, pIter uintptr) { /* sqlite3 // // The iterator initially points to the first term/rowid entry in the // iterated data. -func fts5MultiIterNew(tls *libc.TLS, p uintptr, pStruct uintptr, flags int32, pColset uintptr, pTerm uintptr, nTerm int32, iLevel int32, nSegment int32, ppOut uintptr) { /* sqlite3.c:228209:13: */ +func fts5MultiIterNew(tls *libc.TLS, p uintptr, pStruct uintptr, flags int32, pColset uintptr, pTerm uintptr, nTerm int32, iLevel int32, nSegment int32, ppOut uintptr) { /* sqlite3.c:228266:13: */ var nSeg int32 // Number of segment-iters in use var iIter int32 // var iSeg int32 // Used to iterate through segments @@ -185543,7 +185574,7 @@ fts5MultiIterNew_post_check: // Create an Fts5Iter that iterates through the doclist provided // as the second argument. -func fts5MultiIterNew2(tls *libc.TLS, p uintptr, pData uintptr, bDesc int32, ppOut uintptr) { /* sqlite3.c:228315:13: */ +func fts5MultiIterNew2(tls *libc.TLS, p uintptr, pData uintptr, bDesc int32, ppOut uintptr) { /* sqlite3.c:228372:13: */ var pNew uintptr pNew = fts5MultiIterAlloc(tls, p, 2) if pNew != 0 { @@ -185576,7 +185607,7 @@ func fts5MultiIterNew2(tls *libc.TLS, p uintptr, pData uintptr, bDesc int32, ppO // Return true if the iterator is at EOF or if an error has occurred. // False otherwise. -func fts5MultiIterEof(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlite3.c:228355:12: */ +func fts5MultiIterEof(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlite3.c:228412:12: */ return libc.Bool32((*Fts5Index)(unsafe.Pointer(p)).Frc != 0 || (*Fts5Iter)(unsafe.Pointer(pIter)).Fbase.FbEof != 0) } @@ -185584,13 +185615,13 @@ func fts5MultiIterEof(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlite // Return the rowid of the entry that the iterator currently points // to. If the iterator points to EOF when this function is called the // results are undefined. -func fts5MultiIterRowid(tls *libc.TLS, pIter uintptr) I64 { /* sqlite3.c:228368:12: */ +func fts5MultiIterRowid(tls *libc.TLS, pIter uintptr) I64 { /* sqlite3.c:228425:12: */ return (*Fts5SegIter)(unsafe.Pointer(pIter + 96 + uintptr((*Fts5CResult)(unsafe.Pointer((*Fts5Iter)(unsafe.Pointer(pIter)).FaFirst+1*4)).FiFirst)*120)).FiRowid } // Move the iterator to the next entry at or following iMatch. -func fts5MultiIterNextFrom(tls *libc.TLS, p uintptr, pIter uintptr, iMatch I64) { /* sqlite3.c:228376:13: */ +func fts5MultiIterNextFrom(tls *libc.TLS, p uintptr, pIter uintptr, iMatch I64) { /* sqlite3.c:228433:13: */ for 1 != 0 { var iRowid I64 fts5MultiIterNext(tls, p, pIter, 1, iMatch) @@ -185609,7 +185640,7 @@ func fts5MultiIterNextFrom(tls *libc.TLS, p uintptr, pIter uintptr, iMatch I64) // Return a pointer to a buffer containing the term associated with the // entry that the iterator currently points to. -func fts5MultiIterTerm(tls *libc.TLS, pIter uintptr, pn uintptr) uintptr { /* sqlite3.c:228395:17: */ +func fts5MultiIterTerm(tls *libc.TLS, pIter uintptr, pn uintptr) uintptr { /* sqlite3.c:228452:17: */ var p uintptr = pIter + 96 + uintptr((*Fts5CResult)(unsafe.Pointer((*Fts5Iter)(unsafe.Pointer(pIter)).FaFirst+1*4)).FiFirst)*120 *(*int32)(unsafe.Pointer(pn)) = (*Fts5SegIter)(unsafe.Pointer(p)).Fterm.Fn return (*Fts5SegIter)(unsafe.Pointer(p)).Fterm.Fp @@ -185622,7 +185653,7 @@ func fts5MultiIterTerm(tls *libc.TLS, pIter uintptr, pn uintptr) uintptr { /* sq // // If an error has already occurred, this function is a no-op. 0 is // returned in this case. -func fts5AllocateSegid(tls *libc.TLS, p uintptr, pStruct uintptr) int32 { /* sqlite3.c:228410:12: */ +func fts5AllocateSegid(tls *libc.TLS, p uintptr, pStruct uintptr) int32 { /* sqlite3.c:228467:12: */ bp := tls.Alloc(252) defer tls.Free(252) @@ -185664,7 +185695,7 @@ func fts5AllocateSegid(tls *libc.TLS, p uintptr, pStruct uintptr) int32 { /* sql } // Discard all data currently cached in the hash-tables. -func fts5IndexDiscardData(tls *libc.TLS, p uintptr) { /* sqlite3.c:228467:13: */ +func fts5IndexDiscardData(tls *libc.TLS, p uintptr) { /* sqlite3.c:228524:13: */ if (*Fts5Index)(unsafe.Pointer(p)).FpHash != 0 { sqlite3Fts5HashClear(tls, (*Fts5Index)(unsafe.Pointer(p)).FpHash) @@ -185677,7 +185708,7 @@ func fts5IndexDiscardData(tls *libc.TLS, p uintptr) { /* sqlite3.c:228467:13: */ // // Buffer (pNew/) is guaranteed to be greater // than buffer (pOld/nOld). -func fts5PrefixCompress(tls *libc.TLS, nOld int32, pOld uintptr, pNew uintptr) int32 { /* sqlite3.c:228482:12: */ +func fts5PrefixCompress(tls *libc.TLS, nOld int32, pOld uintptr, pNew uintptr) int32 { /* sqlite3.c:228539:12: */ var i int32 for i = 0; i < nOld; i++ { if int32(*(*U8)(unsafe.Pointer(pOld + uintptr(i)))) != int32(*(*U8)(unsafe.Pointer(pNew + uintptr(i)))) { @@ -185687,7 +185718,7 @@ func fts5PrefixCompress(tls *libc.TLS, nOld int32, pOld uintptr, pNew uintptr) i return i } -func fts5WriteDlidxClear(tls *libc.TLS, p uintptr, pWriter uintptr, bFlush int32) { /* sqlite3.c:228490:13: */ +func fts5WriteDlidxClear(tls *libc.TLS, p uintptr, pWriter uintptr, bFlush int32) { /* sqlite3.c:228547:13: */ var i int32 for i = 0; i < (*Fts5SegWriter)(unsafe.Pointer(pWriter)).FnDlidx; i++ { @@ -185708,7 +185739,7 @@ func fts5WriteDlidxClear(tls *libc.TLS, p uintptr, pWriter uintptr, bFlush int32 // Grow the pWriter->aDlidx[] array to at least nLvl elements in size. // Any new array elements are zeroed before returning. -func fts5WriteDlidxGrow(tls *libc.TLS, p uintptr, pWriter uintptr, nLvl int32) int32 { /* sqlite3.c:228516:12: */ +func fts5WriteDlidxGrow(tls *libc.TLS, p uintptr, pWriter uintptr, nLvl int32) int32 { /* sqlite3.c:228573:12: */ if (*Fts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK && nLvl >= (*Fts5SegWriter)(unsafe.Pointer(pWriter)).FnDlidx { var aDlidx uintptr = Xsqlite3_realloc64(tls, (*Fts5SegWriter)(unsafe.Pointer(pWriter)).FaDlidx, uint64(uint64(unsafe.Sizeof(Fts5DlidxWriter{}))*uint64(nLvl))) @@ -185727,7 +185758,7 @@ func fts5WriteDlidxGrow(tls *libc.TLS, p uintptr, pWriter uintptr, nLvl int32) i // If the current doclist-index accumulating in pWriter->aDlidx[] is large // enough, flush it to disk and return 1. Otherwise discard it and return // zero. -func fts5WriteFlushDlidx(tls *libc.TLS, p uintptr, pWriter uintptr) int32 { /* sqlite3.c:228542:12: */ +func fts5WriteFlushDlidx(tls *libc.TLS, p uintptr, pWriter uintptr) int32 { /* sqlite3.c:228599:12: */ var bFlag int32 = 0 // If there were FTS5_MIN_DLIDX_SIZE or more empty leaf pages written @@ -185749,7 +185780,7 @@ func fts5WriteFlushDlidx(tls *libc.TLS, p uintptr, pWriter uintptr) int32 { /* s // it. // // Fts5SegWriter.btterm currently contains the first term on page iBtPage. -func fts5WriteFlushBtree(tls *libc.TLS, p uintptr, pWriter uintptr) { /* sqlite3.c:228566:13: */ +func fts5WriteFlushBtree(tls *libc.TLS, p uintptr, pWriter uintptr) { /* sqlite3.c:228623:13: */ var bFlag int32 if (*Fts5SegWriter)(unsafe.Pointer(pWriter)).FiBtPage == 0 { @@ -185782,7 +185813,7 @@ func fts5WriteFlushBtree(tls *libc.TLS, p uintptr, pWriter uintptr) { /* sqlite3 // // If an error occurs, an error code is left in Fts5Index.rc. If an error // has already occurred when this function is called, it is a no-op. -func fts5WriteBtreeTerm(tls *libc.TLS, p uintptr, pWriter uintptr, nTerm int32, pTerm uintptr) { /* sqlite3.c:228595:13: */ +func fts5WriteBtreeTerm(tls *libc.TLS, p uintptr, pWriter uintptr, nTerm int32, pTerm uintptr) { /* sqlite3.c:228652:13: */ fts5WriteFlushBtree(tls, p, pWriter) if (*Fts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK { sqlite3Fts5BufferSet(tls, p+52, pWriter+96, nTerm, pTerm) @@ -185792,7 +185823,7 @@ func fts5WriteBtreeTerm(tls *libc.TLS, p uintptr, pWriter uintptr, nTerm int32, // This function is called when flushing a leaf page that contains no // terms at all to disk. -func fts5WriteBtreeNoTerm(tls *libc.TLS, p uintptr, pWriter uintptr) { /* sqlite3.c:228611:13: */ +func fts5WriteBtreeNoTerm(tls *libc.TLS, p uintptr, pWriter uintptr) { /* sqlite3.c:228668:13: */ // If there were no rowids on the leaf page either and the doclist-index // has already been started, append an 0x00 byte to it. if (*Fts5SegWriter)(unsafe.Pointer(pWriter)).FbFirstRowidInPage != 0 && (*Fts5DlidxWriter)(unsafe.Pointer((*Fts5SegWriter)(unsafe.Pointer(pWriter)).FaDlidx)).Fbuf.Fn > 0 { @@ -185805,7 +185836,7 @@ func fts5WriteBtreeNoTerm(tls *libc.TLS, p uintptr, pWriter uintptr) { /* sqlite (*Fts5SegWriter)(unsafe.Pointer(pWriter)).FnEmpty++ } -func fts5DlidxExtractFirstRowid(tls *libc.TLS, pBuf uintptr) I64 { /* sqlite3.c:228627:12: */ +func fts5DlidxExtractFirstRowid(tls *libc.TLS, pBuf uintptr) I64 { /* sqlite3.c:228684:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -185821,7 +185852,7 @@ func fts5DlidxExtractFirstRowid(tls *libc.TLS, pBuf uintptr) I64 { /* sqlite3.c: // Rowid iRowid has just been appended to the current leaf page. It is the // first on the page. This function appends an appropriate entry to the current // doclist-index. -func fts5WriteDlidxAppend(tls *libc.TLS, p uintptr, pWriter uintptr, iRowid I64) { /* sqlite3.c:228641:13: */ +func fts5WriteDlidxAppend(tls *libc.TLS, p uintptr, pWriter uintptr, iRowid I64) { /* sqlite3.c:228698:13: */ var i int32 var bDone int32 = 0 @@ -185881,7 +185912,7 @@ func fts5WriteDlidxAppend(tls *libc.TLS, p uintptr, pWriter uintptr, iRowid I64) } } -func fts5WriteFlushLeaf(tls *libc.TLS, p uintptr, pWriter uintptr) { /* sqlite3.c:228701:13: */ +func fts5WriteFlushLeaf(tls *libc.TLS, p uintptr, pWriter uintptr) { /* sqlite3.c:228758:13: */ var pPage uintptr = pWriter + 8 var iRowid I64 @@ -185917,14 +185948,14 @@ func fts5WriteFlushLeaf(tls *libc.TLS, p uintptr, pWriter uintptr) { /* sqlite3. (*Fts5SegWriter)(unsafe.Pointer(pWriter)).FbFirstRowidInPage = U8(1) } -var zero = [4]U8{U8(0x00), U8(0x00), U8(0x00), U8(0x00)} /* sqlite3.c:228702:19 */ +var zero = [4]U8{U8(0x00), U8(0x00), U8(0x00), U8(0x00)} /* sqlite3.c:228759:19 */ // Append term pTerm/nTerm to the segment being written by the writer passed // as the second argument. // // If an error occurs, set the Fts5Index.rc error code. If an error has // already occurred, this function is a no-op. -func fts5WriteAppendTerm(tls *libc.TLS, p uintptr, pWriter uintptr, nTerm int32, pTerm uintptr) { /* sqlite3.c:228747:13: */ +func fts5WriteAppendTerm(tls *libc.TLS, p uintptr, pWriter uintptr, nTerm int32, pTerm uintptr) { /* sqlite3.c:228804:13: */ var nPrefix int32 // Bytes of prefix compression for term var pPage uintptr = pWriter + 8 var pPgidx uintptr = pWriter + 8 + 24 @@ -186000,7 +186031,7 @@ func fts5WriteAppendTerm(tls *libc.TLS, p uintptr, pWriter uintptr, nTerm int32, } // Append a rowid and position-list size field to the writers output. -func fts5WriteAppendRowid(tls *libc.TLS, p uintptr, pWriter uintptr, iRowid I64) { /* sqlite3.c:228828:13: */ +func fts5WriteAppendRowid(tls *libc.TLS, p uintptr, pWriter uintptr, iRowid I64) { /* sqlite3.c:228885:13: */ if (*Fts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK { var pPage uintptr = pWriter + 8 @@ -186029,7 +186060,7 @@ func fts5WriteAppendRowid(tls *libc.TLS, p uintptr, pWriter uintptr, iRowid I64) } } -func fts5WriteAppendPoslistData(tls *libc.TLS, p uintptr, pWriter uintptr, aData uintptr, nData int32) { /* sqlite3.c:228861:13: */ +func fts5WriteAppendPoslistData(tls *libc.TLS, p uintptr, pWriter uintptr, aData uintptr, nData int32) { /* sqlite3.c:228918:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -186058,7 +186089,7 @@ func fts5WriteAppendPoslistData(tls *libc.TLS, p uintptr, pWriter uintptr, aData // Flush any data cached by the writer object to the database. Free any // allocations associated with the writer. -func fts5WriteFinish(tls *libc.TLS, p uintptr, pWriter uintptr, pnLeaf uintptr) { /* sqlite3.c:228895:13: */ +func fts5WriteFinish(tls *libc.TLS, p uintptr, pWriter uintptr, pnLeaf uintptr) { /* sqlite3.c:228952:13: */ var i int32 var pLeaf uintptr = pWriter + 8 if (*Fts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK { @@ -186082,7 +186113,7 @@ func fts5WriteFinish(tls *libc.TLS, p uintptr, pWriter uintptr, pnLeaf uintptr) Xsqlite3_free(tls, (*Fts5SegWriter)(unsafe.Pointer(pWriter)).FaDlidx) } -func fts5WriteInit(tls *libc.TLS, p uintptr, pWriter uintptr, iSegid int32) { /* sqlite3.c:228923:13: */ +func fts5WriteInit(tls *libc.TLS, p uintptr, pWriter uintptr, iSegid int32) { /* sqlite3.c:228980:13: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -186122,7 +186153,7 @@ func fts5WriteInit(tls *libc.TLS, p uintptr, pWriter uintptr, iSegid int32) { /* // Iterator pIter was used to iterate through the input segments of on an // incremental merge operation. This function is called if the incremental // merge step has finished but the input has not been completely exhausted. -func fts5TrimSegments(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:228970:13: */ +func fts5TrimSegments(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:229027:13: */ bp := tls.Alloc(20) defer tls.Free(20) @@ -186191,13 +186222,13 @@ func fts5TrimSegments(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:22 sqlite3Fts5BufferFree(tls, bp) } -func fts5MergeChunkCallback(tls *libc.TLS, p uintptr, pCtx uintptr, pChunk uintptr, nChunk int32) { /* sqlite3.c:229036:13: */ +func fts5MergeChunkCallback(tls *libc.TLS, p uintptr, pCtx uintptr, pChunk uintptr, nChunk int32) { /* sqlite3.c:229093:13: */ var pWriter uintptr = pCtx fts5WriteAppendPoslistData(tls, p, pWriter, pChunk, nChunk) } // -func fts5IndexMergeLevel(tls *libc.TLS, p uintptr, ppStruct uintptr, iLvl int32, pnRem uintptr) { /* sqlite3.c:229048:13: */ +func fts5IndexMergeLevel(tls *libc.TLS, p uintptr, ppStruct uintptr, iLvl int32, pnRem uintptr) { /* sqlite3.c:229105:13: */ bp := tls.Alloc(148) defer tls.Free(148) @@ -186356,7 +186387,7 @@ func fts5IndexMergeLevel(tls *libc.TLS, p uintptr, ppStruct uintptr, iLvl int32, // Do up to nPg pages of automerge work on the index. // // Return true if any changes were actually made, or false otherwise. -func fts5IndexMerge(tls *libc.TLS, p uintptr, ppStruct uintptr, nPg int32, nMin int32) int32 { /* sqlite3.c:229198:12: */ +func fts5IndexMerge(tls *libc.TLS, p uintptr, ppStruct uintptr, nPg int32, nMin int32) int32 { /* sqlite3.c:229255:12: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -186406,7 +186437,7 @@ func fts5IndexMerge(tls *libc.TLS, p uintptr, ppStruct uintptr, nPg int32, nMin // // If an error occurs, set the Fts5Index.rc error code. If an error has // already occurred, this function is a no-op. -func fts5IndexAutomerge(tls *libc.TLS, p uintptr, ppStruct uintptr, nLeaf int32) { /* sqlite3.c:229257:13: */ +func fts5IndexAutomerge(tls *libc.TLS, p uintptr, ppStruct uintptr, nLeaf int32) { /* sqlite3.c:229314:13: */ if (*Fts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK && (*Fts5Config)(unsafe.Pointer((*Fts5Index)(unsafe.Pointer(p)).FpConfig)).FnAutomerge > 0 && *(*uintptr)(unsafe.Pointer(ppStruct)) != uintptr(0) { var pStruct uintptr = *(*uintptr)(unsafe.Pointer(ppStruct)) var nWrite U64 // Initial value of write-counter @@ -186423,7 +186454,7 @@ func fts5IndexAutomerge(tls *libc.TLS, p uintptr, ppStruct uintptr, nLeaf int32) } } -func fts5IndexCrisismerge(tls *libc.TLS, p uintptr, ppStruct uintptr) { /* sqlite3.c:229278:13: */ +func fts5IndexCrisismerge(tls *libc.TLS, p uintptr, ppStruct uintptr) { /* sqlite3.c:229335:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -186440,7 +186471,7 @@ func fts5IndexCrisismerge(tls *libc.TLS, p uintptr, ppStruct uintptr) { /* sqlit *(*uintptr)(unsafe.Pointer(ppStruct)) = *(*uintptr)(unsafe.Pointer(bp /* pStruct */)) } -func fts5IndexReturn(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:229296:12: */ +func fts5IndexReturn(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:229353:12: */ var rc int32 = (*Fts5Index)(unsafe.Pointer(p)).Frc (*Fts5Index)(unsafe.Pointer(p)).Frc = SQLITE_OK return rc @@ -186449,14 +186480,14 @@ func fts5IndexReturn(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:229296:12: * type Fts5FlushCtx1 = struct { FpIdx uintptr Fwriter Fts5SegWriter -} /* sqlite3.c:229302:9 */ +} /* sqlite3.c:229359:9 */ -type Fts5FlushCtx = Fts5FlushCtx1 /* sqlite3.c:229302:29 */ +type Fts5FlushCtx = Fts5FlushCtx1 /* sqlite3.c:229359:29 */ // Buffer aBuf[] contains a list of varints, all small enough to fit // in a 32-bit integer. Return the size of the largest prefix of this // list nMax bytes or less in size. -func fts5PoslistPrefix(tls *libc.TLS, aBuf uintptr, nMax int32) int32 { /* sqlite3.c:229313:12: */ +func fts5PoslistPrefix(tls *libc.TLS, aBuf uintptr, nMax int32) int32 { /* sqlite3.c:229370:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -186481,7 +186512,7 @@ func fts5PoslistPrefix(tls *libc.TLS, aBuf uintptr, nMax int32) int32 { /* sqlit // // If an error occurs, set the Fts5Index.rc error code. If an error has // already occurred, this function is a no-op. -func fts5FlushOneHash(tls *libc.TLS, p uintptr) { /* sqlite3.c:229334:13: */ +func fts5FlushOneHash(tls *libc.TLS, p uintptr) { /* sqlite3.c:229391:13: */ bp := tls.Alloc(176) defer tls.Free(176) @@ -186659,7 +186690,7 @@ func fts5FlushOneHash(tls *libc.TLS, p uintptr) { /* sqlite3.c:229334:13: */ } // Flush any data stored in the in-memory hash tables to the database. -func fts5IndexFlush(tls *libc.TLS, p uintptr) { /* sqlite3.c:229488:13: */ +func fts5IndexFlush(tls *libc.TLS, p uintptr) { /* sqlite3.c:229545:13: */ // Unless it is empty, flush the hash table to disk if (*Fts5Index)(unsafe.Pointer(p)).FnPendingData != 0 { @@ -186668,7 +186699,7 @@ func fts5IndexFlush(tls *libc.TLS, p uintptr) { /* sqlite3.c:229488:13: */ } } -func fts5IndexOptimizeStruct(tls *libc.TLS, p uintptr, pStruct uintptr) uintptr { /* sqlite3.c:229497:22: */ +func fts5IndexOptimizeStruct(tls *libc.TLS, p uintptr, pStruct uintptr) uintptr { /* sqlite3.c:229554:22: */ var pNew uintptr = uintptr(0) var nByte Sqlite3_int64 = Sqlite3_int64(unsafe.Sizeof(Fts5Structure{})) var nSeg int32 = (*Fts5Structure)(unsafe.Pointer(pStruct)).FnSegment @@ -186729,7 +186760,7 @@ func fts5IndexOptimizeStruct(tls *libc.TLS, p uintptr, pStruct uintptr) uintptr return pNew } -func sqlite3Fts5IndexOptimize(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:229559:12: */ +func sqlite3Fts5IndexOptimize(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:229616:12: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -186763,7 +186794,7 @@ func sqlite3Fts5IndexOptimize(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:229 // This is called to implement the special "VALUES('merge', $nMerge)" // INSERT command. -func sqlite3Fts5IndexMerge(tls *libc.TLS, p uintptr, nMerge int32) int32 { /* sqlite3.c:229593:12: */ +func sqlite3Fts5IndexMerge(tls *libc.TLS, p uintptr, nMerge int32) int32 { /* sqlite3.c:229650:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -186788,12 +186819,12 @@ func sqlite3Fts5IndexMerge(tls *libc.TLS, p uintptr, nMerge int32) int32 { /* sq return fts5IndexReturn(tls, p) } -func fts5AppendRowid(tls *libc.TLS, p uintptr, iDelta I64, pUnused uintptr, pBuf uintptr) { /* sqlite3.c:229615:13: */ +func fts5AppendRowid(tls *libc.TLS, p uintptr, iDelta I64, pUnused uintptr, pBuf uintptr) { /* sqlite3.c:229672:13: */ _ = pUnused sqlite3Fts5BufferAppendVarint(tls, p+52, pBuf, iDelta) } -func fts5AppendPoslist(tls *libc.TLS, p uintptr, iDelta I64, pMulti uintptr, pBuf uintptr) { /* sqlite3.c:229625:13: */ +func fts5AppendPoslist(tls *libc.TLS, p uintptr, iDelta I64, pMulti uintptr, pBuf uintptr) { /* sqlite3.c:229682:13: */ var nData int32 = (*Fts5Iter)(unsafe.Pointer(pMulti)).Fbase.FnData var nByte int32 = nData + 9 + 9 + FTS5_DATA_ZERO_PADDING @@ -186820,7 +186851,7 @@ func fts5AppendPoslist(tls *libc.TLS, p uintptr, iDelta I64, pMulti uintptr, pBu } } -func fts5DoclistIterNext(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:229643:13: */ +func fts5DoclistIterNext(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:229700:13: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -186852,7 +186883,7 @@ func fts5DoclistIterNext(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:229643:13: } } -func fts5DoclistIterInit(tls *libc.TLS, pBuf uintptr, pIter uintptr) { /* sqlite3.c:229672:13: */ +func fts5DoclistIterInit(tls *libc.TLS, pBuf uintptr, pIter uintptr) { /* sqlite3.c:229729:13: */ libc.Xmemset(tls, pIter, 0, uint64(unsafe.Sizeof(Fts5DoclistIter{}))) if (*Fts5Buffer)(unsafe.Pointer(pBuf)).Fn > 0 { (*Fts5DoclistIter)(unsafe.Pointer(pIter)).FaPoslist = (*Fts5Buffer)(unsafe.Pointer(pBuf)).Fp @@ -186862,13 +186893,13 @@ func fts5DoclistIterInit(tls *libc.TLS, pBuf uintptr, pIter uintptr) { /* sqlite } // Swap the contents of buffer *p1 with that of *p2. -func fts5BufferSwap(tls *libc.TLS, p1 uintptr, p2 uintptr) { /* sqlite3.c:229711:13: */ +func fts5BufferSwap(tls *libc.TLS, p1 uintptr, p2 uintptr) { /* sqlite3.c:229768:13: */ var tmp = *(*Fts5Buffer)(unsafe.Pointer(p1)) *(*Fts5Buffer)(unsafe.Pointer(p1)) = *(*Fts5Buffer)(unsafe.Pointer(p2)) *(*Fts5Buffer)(unsafe.Pointer(p2)) = tmp } -func fts5NextRowid(tls *libc.TLS, pBuf uintptr, piOff uintptr, piRowid uintptr) { /* sqlite3.c:229717:13: */ +func fts5NextRowid(tls *libc.TLS, pBuf uintptr, piOff uintptr, piRowid uintptr) { /* sqlite3.c:229774:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -186885,7 +186916,7 @@ func fts5NextRowid(tls *libc.TLS, pBuf uintptr, piOff uintptr, piRowid uintptr) // This is the equivalent of fts5MergePrefixLists() for detail=none mode. // In this case the buffers consist of a delta-encoded list of rowids only. -func fts5MergeRowidLists(tls *libc.TLS, p uintptr, p1 uintptr, nBuf int32, aBuf uintptr) { /* sqlite3.c:229732:13: */ +func fts5MergeRowidLists(tls *libc.TLS, p uintptr, p1 uintptr, nBuf int32, aBuf uintptr) { /* sqlite3.c:229789:13: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -186941,11 +186972,11 @@ type PrefixMerger1 = struct { F__ccgo_pad1 [4]byte FaPos uintptr FpNext uintptr -} /* sqlite3.c:229775:9 */ +} /* sqlite3.c:229832:9 */ -type PrefixMerger = PrefixMerger1 /* sqlite3.c:229775:29 */ +type PrefixMerger = PrefixMerger1 /* sqlite3.c:229832:29 */ -func fts5PrefixMergerInsertByRowid(tls *libc.TLS, ppHead uintptr, p uintptr) { /* sqlite3.c:229784:13: */ +func fts5PrefixMergerInsertByRowid(tls *libc.TLS, ppHead uintptr, p uintptr) { /* sqlite3.c:229841:13: */ if (*PrefixMerger)(unsafe.Pointer(p)).Fiter.FaPoslist != 0 { var pp uintptr = ppHead for *(*uintptr)(unsafe.Pointer(pp)) != 0 && (*PrefixMerger)(unsafe.Pointer(p)).Fiter.FiRowid > (*PrefixMerger)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pp)))).Fiter.FiRowid { @@ -186956,7 +186987,7 @@ func fts5PrefixMergerInsertByRowid(tls *libc.TLS, ppHead uintptr, p uintptr) { / } } -func fts5PrefixMergerInsertByPosition(tls *libc.TLS, ppHead uintptr, p uintptr) { /* sqlite3.c:229798:13: */ +func fts5PrefixMergerInsertByPosition(tls *libc.TLS, ppHead uintptr, p uintptr) { /* sqlite3.c:229855:13: */ if (*PrefixMerger)(unsafe.Pointer(p)).FiPos >= int64(0) { var pp uintptr = ppHead for *(*uintptr)(unsafe.Pointer(pp)) != 0 && (*PrefixMerger)(unsafe.Pointer(p)).FiPos > (*PrefixMerger)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pp)))).FiPos { @@ -186969,7 +187000,7 @@ func fts5PrefixMergerInsertByPosition(tls *libc.TLS, ppHead uintptr, p uintptr) // Array aBuf[] contains nBuf doclists. These are all merged in with the // doclist in buffer p1. -func fts5MergePrefixLists(tls *libc.TLS, p uintptr, p1 uintptr, nBuf int32, aBuf uintptr) { /* sqlite3.c:229817:13: */ +func fts5MergePrefixLists(tls *libc.TLS, p uintptr, p1 uintptr, nBuf int32, aBuf uintptr) { /* sqlite3.c:229874:13: */ bp := tls.Alloc(1072) defer tls.Free(1072) @@ -187134,7 +187165,7 @@ func fts5MergePrefixLists(tls *libc.TLS, p uintptr, p1 uintptr, nBuf int32, aBuf *(*Fts5Buffer)(unsafe.Pointer(p1)) = *(*Fts5Buffer)(unsafe.Pointer(bp + 1032 /* out */)) } -func fts5SetupPrefixIter(tls *libc.TLS, p uintptr, bDesc int32, iIdx int32, pToken uintptr, nToken int32, pColset uintptr, ppIter uintptr) { /* sqlite3.c:229961:13: */ +func fts5SetupPrefixIter(tls *libc.TLS, p uintptr, bDesc int32, iIdx int32, pToken uintptr, nToken int32, pColset uintptr, ppIter uintptr) { /* sqlite3.c:230018:13: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -187281,7 +187312,7 @@ func fts5SetupPrefixIter(tls *libc.TLS, p uintptr, bDesc int32, iIdx int32, pTok // Indicate that all subsequent calls to sqlite3Fts5IndexWrite() pertain // to the document with rowid iRowid. -func sqlite3Fts5IndexBeginWrite(tls *libc.TLS, p uintptr, bDelete int32, iRowid I64) int32 { /* sqlite3.c:230098:12: */ +func sqlite3Fts5IndexBeginWrite(tls *libc.TLS, p uintptr, bDelete int32, iRowid I64) int32 { /* sqlite3.c:230155:12: */ // Allocate the hash table if it has not already been allocated if (*Fts5Index)(unsafe.Pointer(p)).FpHash == uintptr(0) { @@ -187301,7 +187332,7 @@ func sqlite3Fts5IndexBeginWrite(tls *libc.TLS, p uintptr, bDelete int32, iRowid } // Commit data to disk. -func sqlite3Fts5IndexSync(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:230122:12: */ +func sqlite3Fts5IndexSync(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:230179:12: */ fts5IndexFlush(tls, p) sqlite3Fts5IndexCloseReader(tls, p) @@ -187312,7 +187343,7 @@ func sqlite3Fts5IndexSync(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:230122: // to the database. Additionally, assume that the contents of the %_data // table may have changed on disk. So any in-memory caches of %_data // records must be invalidated. -func sqlite3Fts5IndexRollback(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:230135:12: */ +func sqlite3Fts5IndexRollback(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:230192:12: */ sqlite3Fts5IndexCloseReader(tls, p) fts5IndexDiscardData(tls, p) fts5StructureInvalidate(tls, p) @@ -187323,7 +187354,7 @@ func sqlite3Fts5IndexRollback(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:230 // The %_data table is completely empty when this function is called. This // function populates it with the initial structure objects for each index, // and the initial version of the "averages" record (a zero-byte blob). -func sqlite3Fts5IndexReinit(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:230148:12: */ +func sqlite3Fts5IndexReinit(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:230205:12: */ bp := tls.Alloc(40) defer tls.Free(40) @@ -187342,7 +187373,7 @@ func sqlite3Fts5IndexReinit(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:23014 // // If successful, set *pp to point to the new object and return SQLITE_OK. // Otherwise, set *pp to NULL and return an SQLite error code. -func sqlite3Fts5IndexOpen(tls *libc.TLS, pConfig uintptr, bCreate int32, pp uintptr, pzErr uintptr) int32 { /* sqlite3.c:230165:12: */ +func sqlite3Fts5IndexOpen(tls *libc.TLS, pConfig uintptr, bCreate int32, pp uintptr, pzErr uintptr) int32 { /* sqlite3.c:230222:12: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -187376,7 +187407,7 @@ func sqlite3Fts5IndexOpen(tls *libc.TLS, pConfig uintptr, bCreate int32, pp uint } // Close a handle opened by an earlier call to sqlite3Fts5IndexOpen(). -func sqlite3Fts5IndexClose(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:230206:12: */ +func sqlite3Fts5IndexClose(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:230263:12: */ var rc int32 = SQLITE_OK if p != 0 { @@ -187397,7 +187428,7 @@ func sqlite3Fts5IndexClose(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:230206 // Argument p points to a buffer containing utf-8 text that is n bytes in // size. Return the number of bytes in the nChar character prefix of the // buffer, or 0 if there are less than nChar characters in total. -func sqlite3Fts5IndexCharlenToBytelen(tls *libc.TLS, p uintptr, nByte int32, nChar int32) int32 { /* sqlite3.c:230229:12: */ +func sqlite3Fts5IndexCharlenToBytelen(tls *libc.TLS, p uintptr, nByte int32, nChar int32) int32 { /* sqlite3.c:230286:12: */ var n int32 = 0 var i int32 for i = 0; i < nChar; i++ { @@ -187424,7 +187455,7 @@ func sqlite3Fts5IndexCharlenToBytelen(tls *libc.TLS, p uintptr, nByte int32, nCh // pIn is a UTF-8 encoded string, nIn bytes in size. Return the number of // unicode characters in the string. -func fts5IndexCharlen(tls *libc.TLS, pIn uintptr, nIn int32) int32 { /* sqlite3.c:230256:12: */ +func fts5IndexCharlen(tls *libc.TLS, pIn uintptr, nIn int32) int32 { /* sqlite3.c:230313:12: */ var nChar int32 = 0 var i int32 = 0 for i < nIn { @@ -187446,7 +187477,7 @@ func fts5IndexCharlen(tls *libc.TLS, pIn uintptr, nIn int32) int32 { /* sqlite3. // If the operation is a delete, it must be called (at least) once for each // unique token in the document with an iCol value less than zero. The iPos // argument is ignored for a delete. -func sqlite3Fts5IndexWrite(tls *libc.TLS, p uintptr, iCol int32, iPos int32, pToken uintptr, nToken int32) int32 { /* sqlite3.c:230278:12: */ +func sqlite3Fts5IndexWrite(tls *libc.TLS, p uintptr, iCol int32, iPos int32, pToken uintptr, nToken int32) int32 { /* sqlite3.c:230335:12: */ var i int32 // Used to iterate through indexes var rc int32 = SQLITE_OK // Return code var pConfig uintptr = (*Fts5Index)(unsafe.Pointer(p)).FpConfig @@ -187470,7 +187501,7 @@ func sqlite3Fts5IndexWrite(tls *libc.TLS, p uintptr, iCol int32, iPos int32, pTo // Open a new iterator to iterate though all rowid that match the // specified token or token prefix. -func sqlite3Fts5IndexQuery(tls *libc.TLS, p uintptr, pToken uintptr, nToken int32, flags int32, pColset uintptr, ppIter uintptr) int32 { /* sqlite3.c:230314:12: */ +func sqlite3Fts5IndexQuery(tls *libc.TLS, p uintptr, pToken uintptr, nToken int32, flags int32, pColset uintptr, ppIter uintptr) int32 { /* sqlite3.c:230371:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -187553,7 +187584,7 @@ func sqlite3Fts5IndexQuery(tls *libc.TLS, p uintptr, pToken uintptr, nToken int3 // Return true if the iterator passed as the only argument is at EOF. // Move to the next matching rowid. -func sqlite3Fts5IterNext(tls *libc.TLS, pIndexIter uintptr) int32 { /* sqlite3.c:230402:12: */ +func sqlite3Fts5IterNext(tls *libc.TLS, pIndexIter uintptr) int32 { /* sqlite3.c:230459:12: */ var pIter uintptr = pIndexIter fts5MultiIterNext(tls, (*Fts5Iter)(unsafe.Pointer(pIter)).FpIndex, pIter, 0, int64(0)) @@ -187561,7 +187592,7 @@ func sqlite3Fts5IterNext(tls *libc.TLS, pIndexIter uintptr) int32 { /* sqlite3.c } // Move to the next matching term/rowid. Used by the fts5vocab module. -func sqlite3Fts5IterNextScan(tls *libc.TLS, pIndexIter uintptr) int32 { /* sqlite3.c:230412:12: */ +func sqlite3Fts5IterNextScan(tls *libc.TLS, pIndexIter uintptr) int32 { /* sqlite3.c:230469:12: */ var pIter uintptr = pIndexIter var p uintptr = (*Fts5Iter)(unsafe.Pointer(pIter)).FpIndex @@ -187581,14 +187612,14 @@ func sqlite3Fts5IterNextScan(tls *libc.TLS, pIndexIter uintptr) int32 { /* sqlit // Move to the next matching rowid that occurs at or after iMatch. The // definition of "at or after" depends on whether this iterator iterates // in ascending or descending rowid order. -func sqlite3Fts5IterNextFrom(tls *libc.TLS, pIndexIter uintptr, iMatch I64) int32 { /* sqlite3.c:230436:12: */ +func sqlite3Fts5IterNextFrom(tls *libc.TLS, pIndexIter uintptr, iMatch I64) int32 { /* sqlite3.c:230493:12: */ var pIter uintptr = pIndexIter fts5MultiIterNextFrom(tls, (*Fts5Iter)(unsafe.Pointer(pIter)).FpIndex, pIter, iMatch) return fts5IndexReturn(tls, (*Fts5Iter)(unsafe.Pointer(pIter)).FpIndex) } // Return the current term. -func sqlite3Fts5IterTerm(tls *libc.TLS, pIndexIter uintptr, pn uintptr) uintptr { /* sqlite3.c:230445:19: */ +func sqlite3Fts5IterTerm(tls *libc.TLS, pIndexIter uintptr, pn uintptr) uintptr { /* sqlite3.c:230502:19: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -187606,7 +187637,7 @@ func sqlite3Fts5IterTerm(tls *libc.TLS, pIndexIter uintptr, pn uintptr) uintptr } // Close an iterator opened by an earlier call to sqlite3Fts5IndexQuery(). -func sqlite3Fts5IterClose(tls *libc.TLS, pIndexIter uintptr) { /* sqlite3.c:230456:13: */ +func sqlite3Fts5IterClose(tls *libc.TLS, pIndexIter uintptr) { /* sqlite3.c:230513:13: */ if pIndexIter != 0 { var pIter uintptr = pIndexIter var pIndex uintptr = (*Fts5Iter)(unsafe.Pointer(pIter)).FpIndex @@ -187619,7 +187650,7 @@ func sqlite3Fts5IterClose(tls *libc.TLS, pIndexIter uintptr) { /* sqlite3.c:2304 // // Parameter anSize must point to an array of size nCol, where nCol is // the number of user defined columns in the FTS table. -func sqlite3Fts5IndexGetAverages(tls *libc.TLS, p uintptr, pnRow uintptr, anSize uintptr) int32 { /* sqlite3.c:230471:12: */ +func sqlite3Fts5IndexGetAverages(tls *libc.TLS, p uintptr, pnRow uintptr, anSize uintptr) int32 { /* sqlite3.c:230528:12: */ var nCol int32 = (*Fts5Config)(unsafe.Pointer((*Fts5Index)(unsafe.Pointer(p)).FpConfig)).FnCol var pData uintptr @@ -187641,7 +187672,7 @@ func sqlite3Fts5IndexGetAverages(tls *libc.TLS, p uintptr, pnRow uintptr, anSize // Replace the current "averages" record with the contents of the buffer // supplied as the second argument. -func sqlite3Fts5IndexSetAverages(tls *libc.TLS, p uintptr, pData uintptr, nData int32) int32 { /* sqlite3.c:230495:12: */ +func sqlite3Fts5IndexSetAverages(tls *libc.TLS, p uintptr, pData uintptr, nData int32) int32 { /* sqlite3.c:230552:12: */ fts5DataWrite(tls, p, int64(FTS5_AVERAGES_ROWID), pData, nData) return fts5IndexReturn(tls, p) @@ -187649,7 +187680,7 @@ func sqlite3Fts5IndexSetAverages(tls *libc.TLS, p uintptr, pData uintptr, nData // Return the total number of blocks this module has read from the %_data // table since it was created. -func sqlite3Fts5IndexReads(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:230505:12: */ +func sqlite3Fts5IndexReads(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:230562:12: */ return (*Fts5Index)(unsafe.Pointer(p)).FnRead } @@ -187658,7 +187689,7 @@ func sqlite3Fts5IndexReads(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:230505 // // Return SQLITE_OK if successful, or an SQLite error code if an error // occurs. -func sqlite3Fts5IndexSetCookie(tls *libc.TLS, p uintptr, iNew int32) int32 { /* sqlite3.c:230516:12: */ +func sqlite3Fts5IndexSetCookie(tls *libc.TLS, p uintptr, iNew int32) int32 { /* sqlite3.c:230573:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -187680,7 +187711,7 @@ func sqlite3Fts5IndexSetCookie(tls *libc.TLS, p uintptr, iNew int32) int32 { /* return rc } -func sqlite3Fts5IndexLoadConfig(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:230536:12: */ +func sqlite3Fts5IndexLoadConfig(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:230593:12: */ var pStruct uintptr pStruct = fts5StructureRead(tls, p) fts5StructureRelease(tls, pStruct) @@ -187694,7 +187725,7 @@ func sqlite3Fts5IndexLoadConfig(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:2 // functionality. // Return a simple checksum value based on the arguments. -func sqlite3Fts5IndexEntryCksum(tls *libc.TLS, iRowid I64, iCol int32, iPos int32, iIdx int32, pTerm uintptr, nTerm int32) U64 { /* sqlite3.c:230553:12: */ +func sqlite3Fts5IndexEntryCksum(tls *libc.TLS, iRowid I64, iCol int32, iPos int32, iIdx int32, pTerm uintptr, nTerm int32) U64 { /* sqlite3.c:230610:12: */ var i int32 var ret U64 = U64(iRowid) ret = ret + (ret<<3 + U64(iCol)) @@ -187714,7 +187745,7 @@ func sqlite3Fts5IndexEntryCksum(tls *libc.TLS, iRowid I64, iCol int32, iPos int3 // contain zero terms. // 2) All leaves of pSeg between iNoRowid and iLast (inclusive) exist and // contain zero rowids. -func fts5IndexIntegrityCheckEmpty(tls *libc.TLS, p uintptr, pSeg uintptr, iFirst int32, iNoRowid int32, iLast int32) { /* sqlite3.c:230771:13: */ +func fts5IndexIntegrityCheckEmpty(tls *libc.TLS, p uintptr, pSeg uintptr, iFirst int32, iNoRowid int32, iLast int32) { /* sqlite3.c:230828:13: */ var i int32 // Now check that the iter.nEmpty leaves following the current leaf @@ -187733,7 +187764,7 @@ func fts5IndexIntegrityCheckEmpty(tls *libc.TLS, p uintptr, pSeg uintptr, iFirst } } -func fts5IntegrityCheckPgidx(tls *libc.TLS, p uintptr, pLeaf uintptr) { /* sqlite3.c:230792:13: */ +func fts5IntegrityCheckPgidx(tls *libc.TLS, p uintptr, pLeaf uintptr) { /* sqlite3.c:230849:13: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -187792,7 +187823,7 @@ func fts5IntegrityCheckPgidx(tls *libc.TLS, p uintptr, pLeaf uintptr) { /* sqlit sqlite3Fts5BufferFree(tls, bp+32) } -func fts5IndexIntegrityCheckSegment(tls *libc.TLS, p uintptr, pSeg uintptr) { /* sqlite3.c:230842:13: */ +func fts5IndexIntegrityCheckSegment(tls *libc.TLS, p uintptr, pSeg uintptr) { /* sqlite3.c:230899:13: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -187961,7 +187992,7 @@ func fts5IndexIntegrityCheckSegment(tls *libc.TLS, p uintptr, pSeg uintptr) { /* // checksum does not match. Return SQLITE_OK if all checks pass without // error, or some other SQLite error code if another error (e.g. OOM) // occurs. -func sqlite3Fts5IndexIntegrityCheck(tls *libc.TLS, p uintptr, cksum U64, bUseCksum int32) int32 { /* sqlite3.c:230987:12: */ +func sqlite3Fts5IndexIntegrityCheck(tls *libc.TLS, p uintptr, cksum U64, bUseCksum int32) int32 { /* sqlite3.c:231044:12: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -188051,13 +188082,13 @@ func sqlite3Fts5IndexIntegrityCheck(tls *libc.TLS, p uintptr, cksum U64, bUseCks // // If successful, SQLITE_OK is returned. If an error occurs, some other // SQLite error code is returned instead. -func sqlite3Fts5IndexInit(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:231550:12: */ +func sqlite3Fts5IndexInit(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:231607:12: */ return SQLITE_OK _ = db return int32(0) } -func sqlite3Fts5IndexReset(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:231576:12: */ +func sqlite3Fts5IndexReset(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:231633:12: */ if fts5IndexDataVersion(tls, p) != (*Fts5Index)(unsafe.Pointer(p)).FiStructVersion { fts5StructureInvalidate(tls, p) @@ -188090,7 +188121,7 @@ type Fts5Auxdata1 = struct { FpPtr uintptr FxDelete uintptr FpNext uintptr -} /* sqlite3.c:216813:9 */ +} /* sqlite3.c:216870:9 */ // 2014 Jun 09 // @@ -188112,7 +188143,7 @@ type Fts5Auxdata1 = struct { // assert() conditions in the fts5 code are activated - conditions that are // only true if it is guaranteed that the fts5 database is not corrupt. -type Fts5Auxdata = Fts5Auxdata1 /* sqlite3.c:231613:28 */ +type Fts5Auxdata = Fts5Auxdata1 /* sqlite3.c:231670:28 */ type Fts5Auxiliary1 = struct { FpGlobal uintptr FzFunc uintptr @@ -188120,9 +188151,9 @@ type Fts5Auxiliary1 = struct { FxFunc Fts5_extension_function FxDestroy uintptr FpNext uintptr -} /* sqlite3.c:216813:9 */ +} /* sqlite3.c:216870:9 */ -type Fts5Auxiliary = Fts5Auxiliary1 /* sqlite3.c:231614:30 */ +type Fts5Auxiliary = Fts5Auxiliary1 /* sqlite3.c:231671:30 */ type Fts5Cursor1 = struct { Fbase Sqlite3_vtab_cursor FpNext uintptr @@ -188151,35 +188182,35 @@ type Fts5Cursor1 = struct { FnInstAlloc int32 FnInstCount int32 FaInst uintptr -} /* sqlite3.c:216813:9 */ +} /* sqlite3.c:216870:9 */ -type Fts5Cursor = Fts5Cursor1 /* sqlite3.c:231615:27 */ +type Fts5Cursor = Fts5Cursor1 /* sqlite3.c:231672:27 */ type Fts5FullTable1 = struct { Fp Fts5Table FpStorage uintptr FpGlobal uintptr FpSortCsr uintptr -} /* sqlite3.c:231616:9 */ +} /* sqlite3.c:231673:9 */ -type Fts5FullTable = Fts5FullTable1 /* sqlite3.c:231616:30 */ +type Fts5FullTable = Fts5FullTable1 /* sqlite3.c:231673:30 */ type Fts5Sorter1 = struct { FpStmt uintptr FiRowid I64 FaPoslist uintptr FnIdx int32 FaIdx [1]int32 -} /* sqlite3.c:216813:9 */ +} /* sqlite3.c:216870:9 */ -type Fts5Sorter = Fts5Sorter1 /* sqlite3.c:231617:27 */ +type Fts5Sorter = Fts5Sorter1 /* sqlite3.c:231674:27 */ type Fts5TokenizerModule1 = struct { FzName uintptr FpUserData uintptr Fx Fts5_tokenizer FxDestroy uintptr FpNext uintptr -} /* sqlite3.c:216813:9 */ +} /* sqlite3.c:216870:9 */ -type Fts5TokenizerModule = Fts5TokenizerModule1 /* sqlite3.c:231618:36 */ +type Fts5TokenizerModule = Fts5TokenizerModule1 /* sqlite3.c:231675:36 */ // NOTES ON TRANSACTIONS: // @@ -188213,21 +188244,21 @@ type Fts5TokenizerModule = Fts5TokenizerModule1 /* sqlite3.c:231618:36 */ type Fts5TransactionState = struct { FeState int32 FiSavepoint int32 -} /* sqlite3.c:231651:1 */ +} /* sqlite3.c:231708:1 */ type Fts5MatchPhrase = struct { FpPoslist uintptr FnTerm int32 F__ccgo_pad1 [4]byte -} /* sqlite3.c:231708:1 */ +} /* sqlite3.c:231765:1 */ // Return true if pTab is a contentless table. -func fts5IsContentless(tls *libc.TLS, pTab uintptr) int32 { /* sqlite3.c:231892:12: */ +func fts5IsContentless(tls *libc.TLS, pTab uintptr) int32 { /* sqlite3.c:231949:12: */ return libc.Bool32((*Fts5Config)(unsafe.Pointer((*Fts5FullTable)(unsafe.Pointer(pTab)).Fp.FpConfig)).FeContent == FTS5_CONTENT_NONE) } // Delete a virtual table handle allocated by fts5InitVtab(). -func fts5FreeVtab(tls *libc.TLS, pTab uintptr) { /* sqlite3.c:231899:13: */ +func fts5FreeVtab(tls *libc.TLS, pTab uintptr) { /* sqlite3.c:231956:13: */ if pTab != 0 { sqlite3Fts5IndexClose(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).Fp.FpIndex) sqlite3Fts5StorageClose(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).FpStorage) @@ -188237,13 +188268,13 @@ func fts5FreeVtab(tls *libc.TLS, pTab uintptr) { /* sqlite3.c:231899:13: */ } // The xDisconnect() virtual table method. -func fts5DisconnectMethod(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:231911:12: */ +func fts5DisconnectMethod(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:231968:12: */ fts5FreeVtab(tls, pVtab) return SQLITE_OK } // The xDestroy() virtual table method. -func fts5DestroyMethod(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:231919:12: */ +func fts5DestroyMethod(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:231976:12: */ var pTab uintptr = pVtab var rc int32 = sqlite3Fts5DropAll(tls, (*Fts5Table)(unsafe.Pointer(pTab)).FpConfig) if rc == SQLITE_OK { @@ -188261,7 +188292,7 @@ func fts5DestroyMethod(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:231919 // argv[1] -> database name // argv[2] -> table name // argv[...] -> "column name" and other module argument fields. -func fts5InitVtab(tls *libc.TLS, bCreate int32, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVTab uintptr, pzErr uintptr) int32 { /* sqlite3.c:231939:12: */ +func fts5InitVtab(tls *libc.TLS, bCreate int32, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVTab uintptr, pzErr uintptr) int32 { /* sqlite3.c:231996:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -188319,11 +188350,11 @@ func fts5InitVtab(tls *libc.TLS, bCreate int32, db uintptr, pAux uintptr, argc i // The xConnect() and xCreate() methods for the virtual table. All the // work is done in function fts5InitVtab(). -func fts5ConnectMethod(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 { /* sqlite3.c:232005:12: */ +func fts5ConnectMethod(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 { /* sqlite3.c:232062:12: */ return fts5InitVtab(tls, 0, db, pAux, argc, argv, ppVtab, pzErr) } -func fts5CreateMethod(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 { /* sqlite3.c:232015:12: */ +func fts5CreateMethod(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 { /* sqlite3.c:232072:12: */ return fts5InitVtab(tls, 1, db, pAux, argc, argv, ppVtab, pzErr) } @@ -188332,14 +188363,14 @@ func fts5CreateMethod(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv // Set the SQLITE_INDEX_SCAN_UNIQUE flag in pIdxInfo->flags. Unless this // extension is currently being used by a version of SQLite too old to // support index-info flags. In that case this function is a no-op. -func fts5SetUniqueFlag(tls *libc.TLS, pIdxInfo uintptr) { /* sqlite3.c:232041:13: */ +func fts5SetUniqueFlag(tls *libc.TLS, pIdxInfo uintptr) { /* sqlite3.c:232098:13: */ { *(*int32)(unsafe.Pointer(pIdxInfo + 80)) |= SQLITE_INDEX_SCAN_UNIQUE } } -func fts5UsePatternMatch(tls *libc.TLS, pConfig uintptr, p uintptr) int32 { /* sqlite3.c:232052:12: */ +func fts5UsePatternMatch(tls *libc.TLS, pConfig uintptr, p uintptr) int32 { /* sqlite3.c:232109:12: */ if (*Fts5Config)(unsafe.Pointer(pConfig)).FePattern == FTS5_PATTERN_GLOB && int32((*sqlite3_index_constraint)(unsafe.Pointer(p)).Fop) == FTS5_PATTERN_GLOB { return 1 @@ -188410,7 +188441,7 @@ func fts5UsePatternMatch(tls *libc.TLS, pConfig uintptr, p uintptr) int32 { /* s // * An == rowid constraint: cost=10.0 // // Costs are not modified by the ORDER BY clause. -func fts5BestIndexMethod(tls *libc.TLS, pVTab uintptr, pInfo uintptr) int32 { /* sqlite3.c:232130:12: */ +func fts5BestIndexMethod(tls *libc.TLS, pVTab uintptr, pInfo uintptr) int32 { /* sqlite3.c:232187:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -188572,7 +188603,7 @@ func fts5BestIndexMethod(tls *libc.TLS, pVTab uintptr, pInfo uintptr) int32 { /* return SQLITE_OK } -func fts5NewTransaction(tls *libc.TLS, pTab uintptr) int32 { /* sqlite3.c:232265:12: */ +func fts5NewTransaction(tls *libc.TLS, pTab uintptr) int32 { /* sqlite3.c:232322:12: */ var pCsr uintptr for pCsr = (*Fts5Global)(unsafe.Pointer((*Fts5FullTable)(unsafe.Pointer(pTab)).FpGlobal)).FpCsr; pCsr != 0; pCsr = (*Fts5Cursor)(unsafe.Pointer(pCsr)).FpNext { if (*Fts5Cursor)(unsafe.Pointer(pCsr)).Fbase.FpVtab == pTab { @@ -188583,7 +188614,7 @@ func fts5NewTransaction(tls *libc.TLS, pTab uintptr) int32 { /* sqlite3.c:232265 } // Implementation of xOpen method. -func fts5OpenMethod(tls *libc.TLS, pVTab uintptr, ppCsr uintptr) int32 { /* sqlite3.c:232276:12: */ +func fts5OpenMethod(tls *libc.TLS, pVTab uintptr, ppCsr uintptr) int32 { /* sqlite3.c:232333:12: */ var pTab uintptr = pVTab var pConfig uintptr = (*Fts5FullTable)(unsafe.Pointer(pTab)).Fp.FpConfig var pCsr uintptr = uintptr(0) // New cursor object @@ -188609,7 +188640,7 @@ func fts5OpenMethod(tls *libc.TLS, pVTab uintptr, ppCsr uintptr) int32 { /* sqli return rc } -func fts5StmtType(tls *libc.TLS, pCsr uintptr) int32 { /* sqlite3.c:232302:12: */ +func fts5StmtType(tls *libc.TLS, pCsr uintptr) int32 { /* sqlite3.c:232359:12: */ if (*Fts5Cursor)(unsafe.Pointer(pCsr)).FePlan == FTS5_PLAN_SCAN { if (*Fts5Cursor)(unsafe.Pointer(pCsr)).FbDesc != 0 { return FTS5_STMT_SCAN_DESC @@ -188622,11 +188653,11 @@ func fts5StmtType(tls *libc.TLS, pCsr uintptr) int32 { /* sqlite3.c:232302:12: * // This function is called after the cursor passed as the only argument // is moved to point at a different row. It clears all cached data // specific to the previous row stored by the cursor object. -func fts5CsrNewrow(tls *libc.TLS, pCsr uintptr) { /* sqlite3.c:232314:13: */ +func fts5CsrNewrow(tls *libc.TLS, pCsr uintptr) { /* sqlite3.c:232371:13: */ *(*int32)(unsafe.Pointer(pCsr + 80)) |= FTS5CSR_REQUIRE_CONTENT | FTS5CSR_REQUIRE_DOCSIZE | FTS5CSR_REQUIRE_INST | FTS5CSR_REQUIRE_POSLIST } -func fts5FreeCursorComponents(tls *libc.TLS, pCsr uintptr) { /* sqlite3.c:232323:13: */ +func fts5FreeCursorComponents(tls *libc.TLS, pCsr uintptr) { /* sqlite3.c:232380:13: */ var pTab uintptr = (*Fts5Cursor)(unsafe.Pointer(pCsr)).Fbase.FpVtab var pData uintptr var pNext uintptr @@ -188669,7 +188700,7 @@ func fts5FreeCursorComponents(tls *libc.TLS, pCsr uintptr) { /* sqlite3.c:232323 // Close the cursor. For additional information see the documentation // on the xClose method of the virtual table interface. -func fts5CloseMethod(tls *libc.TLS, pCursor uintptr) int32 { /* sqlite3.c:232367:12: */ +func fts5CloseMethod(tls *libc.TLS, pCursor uintptr) int32 { /* sqlite3.c:232424:12: */ if pCursor != 0 { var pTab uintptr = (*Sqlite3_vtab_cursor)(unsafe.Pointer(pCursor)).FpVtab var pCsr uintptr = pCursor @@ -188686,7 +188717,7 @@ func fts5CloseMethod(tls *libc.TLS, pCursor uintptr) int32 { /* sqlite3.c:232367 return SQLITE_OK } -func fts5SorterNext(tls *libc.TLS, pCsr uintptr) int32 { /* sqlite3.c:232383:12: */ +func fts5SorterNext(tls *libc.TLS, pCsr uintptr) int32 { /* sqlite3.c:232440:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -188730,7 +188761,7 @@ func fts5SorterNext(tls *libc.TLS, pCsr uintptr) int32 { /* sqlite3.c:232383:12: // Set the FTS5CSR_REQUIRE_RESEEK flag on all FTS5_PLAN_MATCH cursors // open on table pTab. -func fts5TripCursors(tls *libc.TLS, pTab uintptr) { /* sqlite3.c:232426:13: */ +func fts5TripCursors(tls *libc.TLS, pTab uintptr) { /* sqlite3.c:232483:13: */ var pCsr uintptr for pCsr = (*Fts5Global)(unsafe.Pointer((*Fts5FullTable)(unsafe.Pointer(pTab)).FpGlobal)).FpCsr; pCsr != 0; pCsr = (*Fts5Cursor)(unsafe.Pointer(pCsr)).FpNext { if (*Fts5Cursor)(unsafe.Pointer(pCsr)).FePlan == FTS5_PLAN_MATCH && @@ -188750,7 +188781,7 @@ func fts5TripCursors(tls *libc.TLS, pTab uintptr) { /* sqlite3.c:232426:13: */ // // Return SQLITE_OK if successful or if no reseek was required, or an // error code if an error occurred. -func fts5CursorReseek(tls *libc.TLS, pCsr uintptr, pbSkip uintptr) int32 { /* sqlite3.c:232449:12: */ +func fts5CursorReseek(tls *libc.TLS, pCsr uintptr, pbSkip uintptr) int32 { /* sqlite3.c:232506:12: */ var rc int32 = SQLITE_OK if (*Fts5Cursor)(unsafe.Pointer(pCsr)).Fcsrflags&FTS5CSR_REQUIRE_RESEEK != 0 { @@ -188779,7 +188810,7 @@ func fts5CursorReseek(tls *libc.TLS, pCsr uintptr, pbSkip uintptr) int32 { /* sq // Return SQLITE_OK if nothing goes wrong. SQLITE_OK is returned // even if we reach end-of-file. The fts5EofMethod() will be called // subsequently to determine whether or not an EOF was hit. -func fts5NextMethod(tls *libc.TLS, pCursor uintptr) int32 { /* sqlite3.c:232481:12: */ +func fts5NextMethod(tls *libc.TLS, pCursor uintptr) int32 { /* sqlite3.c:232538:12: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -188838,7 +188869,7 @@ func fts5NextMethod(tls *libc.TLS, pCursor uintptr) int32 { /* sqlite3.c:232481: return rc } -func fts5PrepareStatement(tls *libc.TLS, ppStmt uintptr, pConfig uintptr, zFmt uintptr, va uintptr) int32 { /* sqlite3.c:232534:12: */ +func fts5PrepareStatement(tls *libc.TLS, ppStmt uintptr, pConfig uintptr, zFmt uintptr, va uintptr) int32 { /* sqlite3.c:232591:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -188866,7 +188897,7 @@ func fts5PrepareStatement(tls *libc.TLS, ppStmt uintptr, pConfig uintptr, zFmt u return rc } -func fts5CursorFirstSorted(tls *libc.TLS, pTab uintptr, pCsr uintptr, bDesc int32) int32 { /* sqlite3.c:232563:12: */ +func fts5CursorFirstSorted(tls *libc.TLS, pTab uintptr, pCsr uintptr, bDesc int32) int32 { /* sqlite3.c:232620:12: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -188933,7 +188964,7 @@ func fts5CursorFirstSorted(tls *libc.TLS, pTab uintptr, pCsr uintptr, bDesc int3 return rc } -func fts5CursorFirst(tls *libc.TLS, pTab uintptr, pCsr uintptr, bDesc int32) int32 { /* sqlite3.c:232615:12: */ +func fts5CursorFirst(tls *libc.TLS, pTab uintptr, pCsr uintptr, bDesc int32) int32 { /* sqlite3.c:232672:12: */ var rc int32 var pExpr uintptr = (*Fts5Cursor)(unsafe.Pointer(pCsr)).FpExpr rc = sqlite3Fts5ExprFirst(tls, pExpr, (*Fts5FullTable)(unsafe.Pointer(pTab)).Fp.FpIndex, (*Fts5Cursor)(unsafe.Pointer(pCsr)).FiFirstRowid, bDesc) @@ -188948,7 +188979,7 @@ func fts5CursorFirst(tls *libc.TLS, pTab uintptr, pCsr uintptr, bDesc int32) int // MATCH expression that begins with a '*' character. The remainder of // the text passed to the MATCH operator are used as the special query // parameters. -func fts5SpecialMatch(tls *libc.TLS, pTab uintptr, pCsr uintptr, zQuery uintptr) int32 { /* sqlite3.c:232632:12: */ +func fts5SpecialMatch(tls *libc.TLS, pTab uintptr, pCsr uintptr, zQuery uintptr) int32 { /* sqlite3.c:232689:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -188980,7 +189011,7 @@ func fts5SpecialMatch(tls *libc.TLS, pTab uintptr, pCsr uintptr, zQuery uintptr) // Search for an auxiliary function named zName that can be used with table // pTab. If one is found, return a pointer to the corresponding Fts5Auxiliary // structure. Otherwise, if no such function exists, return NULL. -func fts5FindAuxiliary(tls *libc.TLS, pTab uintptr, zName uintptr) uintptr { /* sqlite3.c:232667:22: */ +func fts5FindAuxiliary(tls *libc.TLS, pTab uintptr, zName uintptr) uintptr { /* sqlite3.c:232724:22: */ var pAux uintptr for pAux = (*Fts5Global)(unsafe.Pointer((*Fts5FullTable)(unsafe.Pointer(pTab)).FpGlobal)).FpAux; pAux != 0; pAux = (*Fts5Auxiliary)(unsafe.Pointer(pAux)).FpNext { @@ -188993,7 +189024,7 @@ func fts5FindAuxiliary(tls *libc.TLS, pTab uintptr, zName uintptr) uintptr { /* return uintptr(0) } -func fts5FindRankFunction(tls *libc.TLS, pCsr uintptr) int32 { /* sqlite3.c:232679:12: */ +func fts5FindRankFunction(tls *libc.TLS, pCsr uintptr) int32 { /* sqlite3.c:232736:12: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -189046,7 +189077,7 @@ func fts5FindRankFunction(tls *libc.TLS, pCsr uintptr) int32 { /* sqlite3.c:2326 return *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) } -func fts5CursorParseRank(tls *libc.TLS, pConfig uintptr, pCsr uintptr, pRank uintptr) int32 { /* sqlite3.c:232730:12: */ +func fts5CursorParseRank(tls *libc.TLS, pConfig uintptr, pCsr uintptr, pRank uintptr) int32 { /* sqlite3.c:232787:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -189083,7 +189114,7 @@ func fts5CursorParseRank(tls *libc.TLS, pConfig uintptr, pCsr uintptr, pRank uin return rc } -func fts5GetRowidLimit(tls *libc.TLS, pVal uintptr, iDefault I64) I64 { /* sqlite3.c:232767:12: */ +func fts5GetRowidLimit(tls *libc.TLS, pVal uintptr, iDefault I64) I64 { /* sqlite3.c:232824:12: */ if pVal != 0 { var eType int32 = Xsqlite3_value_numeric_type(tls, pVal) if eType == SQLITE_INTEGER { @@ -189102,7 +189133,7 @@ func fts5GetRowidLimit(tls *libc.TLS, pVal uintptr, iDefault I64) I64 { /* sqlit // 1. Full-text search using a MATCH operator. // 2. A by-rowid lookup. // 3. A full-table scan. -func fts5FilterMethod(tls *libc.TLS, pCursor uintptr, idxNum int32, idxStr uintptr, nVal int32, apVal uintptr) int32 { /* sqlite3.c:232788:12: */ +func fts5FilterMethod(tls *libc.TLS, pCursor uintptr, idxNum int32, idxStr uintptr, nVal int32, apVal uintptr) int32 { /* sqlite3.c:232845:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -189423,7 +189454,7 @@ filter_out: // This is the xEof method of the virtual table. SQLite calls this // routine to find out if it has reached the end of a result set. -func fts5EofMethod(tls *libc.TLS, pCursor uintptr) int32 { /* sqlite3.c:232981:12: */ +func fts5EofMethod(tls *libc.TLS, pCursor uintptr) int32 { /* sqlite3.c:233038:12: */ var pCsr uintptr = pCursor return func() int32 { if (*Fts5Cursor)(unsafe.Pointer(pCsr)).Fcsrflags&FTS5CSR_EOF != 0 { @@ -189434,7 +189465,7 @@ func fts5EofMethod(tls *libc.TLS, pCursor uintptr) int32 { /* sqlite3.c:232981:1 } // Return the rowid that the cursor currently points to. -func fts5CursorRowid(tls *libc.TLS, pCsr uintptr) I64 { /* sqlite3.c:232989:12: */ +func fts5CursorRowid(tls *libc.TLS, pCsr uintptr) I64 { /* sqlite3.c:233046:12: */ if (*Fts5Cursor)(unsafe.Pointer(pCsr)).FpSorter != 0 { return (*Fts5Sorter)(unsafe.Pointer((*Fts5Cursor)(unsafe.Pointer(pCsr)).FpSorter)).FiRowid @@ -189448,7 +189479,7 @@ func fts5CursorRowid(tls *libc.TLS, pCsr uintptr) I64 { /* sqlite3.c:232989:12: // retrieve the rowid for the current row of the result set. fts5 // exposes %_content.rowid as the rowid for the virtual table. The // rowid should be written to *pRowid. -func fts5RowidMethod(tls *libc.TLS, pCursor uintptr, pRowid uintptr) int32 { /* sqlite3.c:233007:12: */ +func fts5RowidMethod(tls *libc.TLS, pCursor uintptr, pRowid uintptr) int32 { /* sqlite3.c:233064:12: */ var pCsr uintptr = pCursor var ePlan int32 = (*Fts5Cursor)(unsafe.Pointer(pCsr)).FePlan @@ -189478,7 +189509,7 @@ func fts5RowidMethod(tls *libc.TLS, pCursor uintptr, pRowid uintptr) int32 { /* // // If argument bErrormsg is true and an error occurs, an error message may // be left in sqlite3_vtab.zErrMsg. -func fts5SeekCursor(tls *libc.TLS, pCsr uintptr, bErrormsg int32) int32 { /* sqlite3.c:233038:12: */ +func fts5SeekCursor(tls *libc.TLS, pCsr uintptr, bErrormsg int32) int32 { /* sqlite3.c:233095:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -189522,7 +189553,7 @@ func fts5SeekCursor(tls *libc.TLS, pCsr uintptr, bErrormsg int32) int32 { /* sql return rc } -func fts5SetVtabError(tls *libc.TLS, p uintptr, zFormat uintptr, va uintptr) { /* sqlite3.c:233077:13: */ +func fts5SetVtabError(tls *libc.TLS, p uintptr, zFormat uintptr, va uintptr) { /* sqlite3.c:233134:13: */ var ap Va_list _ = ap // ... printf arguments ap = va @@ -189544,7 +189575,7 @@ func fts5SetVtabError(tls *libc.TLS, p uintptr, zFormat uintptr, va uintptr) { / // The commands implemented by this function are documented in the "Special // INSERT Directives" section of the documentation. It should be updated if // more commands are added to this function. -func fts5SpecialInsert(tls *libc.TLS, pTab uintptr, zCmd uintptr, pVal uintptr) int32 { /* sqlite3.c:233100:12: */ +func fts5SpecialInsert(tls *libc.TLS, pTab uintptr, zCmd uintptr, pVal uintptr) int32 { /* sqlite3.c:233157:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -189593,7 +189624,7 @@ func fts5SpecialInsert(tls *libc.TLS, pTab uintptr, zCmd uintptr, pVal uintptr) return rc } -func fts5SpecialDelete(tls *libc.TLS, pTab uintptr, apVal uintptr) int32 { /* sqlite3.c:233156:12: */ +func fts5SpecialDelete(tls *libc.TLS, pTab uintptr, apVal uintptr) int32 { /* sqlite3.c:233213:12: */ var rc int32 = SQLITE_OK var eType1 int32 = Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(apVal + 1*8))) if eType1 == SQLITE_INTEGER { @@ -189603,7 +189634,7 @@ func fts5SpecialDelete(tls *libc.TLS, pTab uintptr, apVal uintptr) int32 { /* sq return rc } -func fts5StorageInsert(tls *libc.TLS, pRc uintptr, pTab uintptr, apVal uintptr, piRowid uintptr) { /* sqlite3.c:233169:13: */ +func fts5StorageInsert(tls *libc.TLS, pRc uintptr, pTab uintptr, apVal uintptr, piRowid uintptr) { /* sqlite3.c:233226:13: */ var rc int32 = *(*int32)(unsafe.Pointer(pRc)) if rc == SQLITE_OK { rc = sqlite3Fts5StorageContentInsert(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).FpStorage, apVal, piRowid) @@ -189626,7 +189657,7 @@ func fts5StorageInsert(tls *libc.TLS, pRc uintptr, pTab uintptr, apVal uintptr, // 2. The "new" rowid. // 3. Values for each of the nCol matchable columns. // 4. Values for the two hidden columns ( and "rank"). -func fts5UpdateMethod(tls *libc.TLS, pVtab uintptr, nArg int32, apVal uintptr, pRowid uintptr) int32 { /* sqlite3.c:233199:12: */ +func fts5UpdateMethod(tls *libc.TLS, pVtab uintptr, nArg int32, apVal uintptr, pRowid uintptr) int32 { /* sqlite3.c:233256:12: */ bp := tls.Alloc(20) defer tls.Free(20) @@ -189728,7 +189759,7 @@ func fts5UpdateMethod(tls *libc.TLS, pVtab uintptr, nArg int32, apVal uintptr, p } // Implementation of xSync() method. -func fts5SyncMethod(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:233325:12: */ +func fts5SyncMethod(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:233382:12: */ var rc int32 var pTab uintptr = pVtab @@ -189740,7 +189771,7 @@ func fts5SyncMethod(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:233325:12 } // Implementation of xBegin() method. -func fts5BeginMethod(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:233339:12: */ +func fts5BeginMethod(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:233396:12: */ fts5NewTransaction(tls, pVtab) return SQLITE_OK @@ -189749,7 +189780,7 @@ func fts5BeginMethod(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:233339:1 // Implementation of xCommit() method. This is a no-op. The contents of // the pending-terms hash-table have already been flushed into the database // by fts5SyncMethod(). -func fts5CommitMethod(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:233350:12: */ +func fts5CommitMethod(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:233407:12: */ _ = pVtab // Call below is a no-op for NDEBUG builds return SQLITE_OK @@ -189757,7 +189788,7 @@ func fts5CommitMethod(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:233350: // Implementation of xRollback(). Discard the contents of the pending-terms // hash-table. Any changes made to the database are reverted by SQLite. -func fts5RollbackMethod(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:233360:12: */ +func fts5RollbackMethod(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:233417:12: */ var rc int32 var pTab uintptr = pVtab @@ -189765,46 +189796,46 @@ func fts5RollbackMethod(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:23336 return rc } -func fts5ApiUserData(tls *libc.TLS, pCtx uintptr) uintptr { /* sqlite3.c:233370:13: */ +func fts5ApiUserData(tls *libc.TLS, pCtx uintptr) uintptr { /* sqlite3.c:233427:13: */ var pCsr uintptr = pCtx return (*Fts5Auxiliary)(unsafe.Pointer((*Fts5Cursor)(unsafe.Pointer(pCsr)).FpAux)).FpUserData } -func fts5ApiColumnCount(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:233375:12: */ +func fts5ApiColumnCount(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:233432:12: */ var pCsr uintptr = pCtx return (*Fts5Config)(unsafe.Pointer((*Fts5Table)(unsafe.Pointer((*Fts5Cursor)(unsafe.Pointer(pCsr)).Fbase.FpVtab)).FpConfig)).FnCol } -func fts5ApiColumnTotalSize(tls *libc.TLS, pCtx uintptr, iCol int32, pnToken uintptr) int32 { /* sqlite3.c:233380:12: */ +func fts5ApiColumnTotalSize(tls *libc.TLS, pCtx uintptr, iCol int32, pnToken uintptr) int32 { /* sqlite3.c:233437:12: */ var pCsr uintptr = pCtx var pTab uintptr = (*Fts5Cursor)(unsafe.Pointer(pCsr)).Fbase.FpVtab return sqlite3Fts5StorageSize(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).FpStorage, iCol, pnToken) } -func fts5ApiRowCount(tls *libc.TLS, pCtx uintptr, pnRow uintptr) int32 { /* sqlite3.c:233390:12: */ +func fts5ApiRowCount(tls *libc.TLS, pCtx uintptr, pnRow uintptr) int32 { /* sqlite3.c:233447:12: */ var pCsr uintptr = pCtx var pTab uintptr = (*Fts5Cursor)(unsafe.Pointer(pCsr)).Fbase.FpVtab return sqlite3Fts5StorageRowCount(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).FpStorage, pnRow) } -func fts5ApiTokenize(tls *libc.TLS, pCtx uintptr, pText uintptr, nText int32, pUserData uintptr, xToken uintptr) int32 { /* sqlite3.c:233396:12: */ +func fts5ApiTokenize(tls *libc.TLS, pCtx uintptr, pText uintptr, nText int32, pUserData uintptr, xToken uintptr) int32 { /* sqlite3.c:233453:12: */ var pCsr uintptr = pCtx var pTab uintptr = (*Fts5Cursor)(unsafe.Pointer(pCsr)).Fbase.FpVtab return sqlite3Fts5Tokenize(tls, (*Fts5Table)(unsafe.Pointer(pTab)).FpConfig, FTS5_TOKENIZE_AUX, pText, nText, pUserData, xToken) } -func fts5ApiPhraseCount(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:233409:12: */ +func fts5ApiPhraseCount(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:233466:12: */ var pCsr uintptr = pCtx return sqlite3Fts5ExprPhraseCount(tls, (*Fts5Cursor)(unsafe.Pointer(pCsr)).FpExpr) } -func fts5ApiPhraseSize(tls *libc.TLS, pCtx uintptr, iPhrase int32) int32 { /* sqlite3.c:233414:12: */ +func fts5ApiPhraseSize(tls *libc.TLS, pCtx uintptr, iPhrase int32) int32 { /* sqlite3.c:233471:12: */ var pCsr uintptr = pCtx return sqlite3Fts5ExprPhraseSize(tls, (*Fts5Cursor)(unsafe.Pointer(pCsr)).FpExpr, iPhrase) } -func fts5ApiColumnText(tls *libc.TLS, pCtx uintptr, iCol int32, pz uintptr, pn uintptr) int32 { /* sqlite3.c:233419:12: */ +func fts5ApiColumnText(tls *libc.TLS, pCtx uintptr, iCol int32, pz uintptr, pn uintptr) int32 { /* sqlite3.c:233476:12: */ var rc int32 = SQLITE_OK var pCsr uintptr = pCtx if fts5IsContentless(tls, (*Fts5Cursor)(unsafe.Pointer(pCsr)).Fbase.FpVtab) != 0 || @@ -189821,7 +189852,7 @@ func fts5ApiColumnText(tls *libc.TLS, pCtx uintptr, iCol int32, pz uintptr, pn u return rc } -func fts5CsrPoslist(tls *libc.TLS, pCsr uintptr, iPhrase int32, pa uintptr, pn uintptr) int32 { /* sqlite3.c:233442:12: */ +func fts5CsrPoslist(tls *libc.TLS, pCsr uintptr, iPhrase int32, pa uintptr, pn uintptr) int32 { /* sqlite3.c:233499:12: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -189878,7 +189909,7 @@ func fts5CsrPoslist(tls *libc.TLS, pCsr uintptr, iPhrase int32, pa uintptr, pn u // Ensure that the Fts5Cursor.nInstCount and aInst[] variables are populated // correctly for the current view. Return SQLITE_OK if successful, or an // SQLite error code otherwise. -func fts5CacheInstArray(tls *libc.TLS, pCsr uintptr) int32 { /* sqlite3.c:233494:12: */ +func fts5CacheInstArray(tls *libc.TLS, pCsr uintptr) int32 { /* sqlite3.c:233551:12: */ bp := tls.Alloc(20) defer tls.Free(20) @@ -189962,7 +189993,7 @@ func fts5CacheInstArray(tls *libc.TLS, pCsr uintptr) int32 { /* sqlite3.c:233494 return *(*int32)(unsafe.Pointer(bp /* rc */)) } -func fts5ApiInstCount(tls *libc.TLS, pCtx uintptr, pnInst uintptr) int32 { /* sqlite3.c:233568:12: */ +func fts5ApiInstCount(tls *libc.TLS, pCtx uintptr, pnInst uintptr) int32 { /* sqlite3.c:233625:12: */ var pCsr uintptr = pCtx var rc int32 = SQLITE_OK if (*Fts5Cursor)(unsafe.Pointer(pCsr)).Fcsrflags&FTS5CSR_REQUIRE_INST == 0 || @@ -189972,7 +190003,7 @@ func fts5ApiInstCount(tls *libc.TLS, pCtx uintptr, pnInst uintptr) int32 { /* sq return rc } -func fts5ApiInst(tls *libc.TLS, pCtx uintptr, iIdx int32, piPhrase uintptr, piCol uintptr, piOff uintptr) int32 { /* sqlite3.c:233578:12: */ +func fts5ApiInst(tls *libc.TLS, pCtx uintptr, iIdx int32, piPhrase uintptr, piCol uintptr, piOff uintptr) int32 { /* sqlite3.c:233635:12: */ var pCsr uintptr = pCtx var rc int32 = SQLITE_OK if (*Fts5Cursor)(unsafe.Pointer(pCsr)).Fcsrflags&FTS5CSR_REQUIRE_INST == 0 || @@ -189988,11 +190019,11 @@ func fts5ApiInst(tls *libc.TLS, pCtx uintptr, iIdx int32, piPhrase uintptr, piCo return rc } -func fts5ApiRowid(tls *libc.TLS, pCtx uintptr) Sqlite3_int64 { /* sqlite3.c:233607:22: */ +func fts5ApiRowid(tls *libc.TLS, pCtx uintptr) Sqlite3_int64 { /* sqlite3.c:233664:22: */ return fts5CursorRowid(tls, pCtx) } -func fts5ColumnSizeCb(tls *libc.TLS, pContext uintptr, tflags int32, pUnused uintptr, nUnused int32, iUnused1 int32, iUnused2 int32) int32 { /* sqlite3.c:233611:12: */ +func fts5ColumnSizeCb(tls *libc.TLS, pContext uintptr, tflags int32, pUnused uintptr, nUnused int32, iUnused1 int32, iUnused2 int32) int32 { /* sqlite3.c:233668:12: */ var pCnt uintptr = pContext _ = pUnused _ = nUnused @@ -190004,7 +190035,7 @@ func fts5ColumnSizeCb(tls *libc.TLS, pContext uintptr, tflags int32, pUnused uin return SQLITE_OK } -func fts5ApiColumnSize(tls *libc.TLS, pCtx uintptr, iCol int32, pnToken uintptr) int32 { /* sqlite3.c:233628:12: */ +func fts5ApiColumnSize(tls *libc.TLS, pCtx uintptr, iCol int32, pnToken uintptr) int32 { /* sqlite3.c:233685:12: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -190062,7 +190093,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) int32 { /* sqlite3.c:233681:12: */ +func fts5ApiSetAuxdata(tls *libc.TLS, pCtx uintptr, pPtr uintptr, xDelete uintptr) int32 { /* sqlite3.c:233738:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -190100,7 +190131,7 @@ func fts5ApiSetAuxdata(tls *libc.TLS, pCtx uintptr, pPtr uintptr, xDelete uintpt return SQLITE_OK } -func fts5ApiGetAuxdata(tls *libc.TLS, pCtx uintptr, bClear int32) uintptr { /* sqlite3.c:233716:13: */ +func fts5ApiGetAuxdata(tls *libc.TLS, pCtx uintptr, bClear int32) uintptr { /* sqlite3.c:233773:13: */ var pCsr uintptr = pCtx var pData uintptr var pRet uintptr = uintptr(0) @@ -190122,7 +190153,7 @@ func fts5ApiGetAuxdata(tls *libc.TLS, pCtx uintptr, bClear int32) uintptr { /* s return pRet } -func fts5ApiPhraseNext(tls *libc.TLS, pUnused uintptr, pIter uintptr, piCol uintptr, piOff uintptr) { /* sqlite3.c:233736:13: */ +func fts5ApiPhraseNext(tls *libc.TLS, pUnused uintptr, pIter uintptr, piCol uintptr, piOff uintptr) { /* sqlite3.c:233793:13: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -190144,7 +190175,7 @@ func fts5ApiPhraseNext(tls *libc.TLS, pUnused uintptr, pIter uintptr, piCol uint } } -func fts5ApiPhraseFirst(tls *libc.TLS, pCtx uintptr, iPhrase int32, pIter uintptr, piCol uintptr, piOff uintptr) int32 { /* sqlite3.c:233758:12: */ +func fts5ApiPhraseFirst(tls *libc.TLS, pCtx uintptr, iPhrase int32, pIter uintptr, piCol uintptr, piOff uintptr) int32 { /* sqlite3.c:233815:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -190167,7 +190198,7 @@ func fts5ApiPhraseFirst(tls *libc.TLS, pCtx uintptr, iPhrase int32, pIter uintpt return rc } -func fts5ApiPhraseNextColumn(tls *libc.TLS, pCtx uintptr, pIter uintptr, piCol uintptr) { /* sqlite3.c:233777:13: */ +func fts5ApiPhraseNextColumn(tls *libc.TLS, pCtx uintptr, pIter uintptr, piCol uintptr) { /* sqlite3.c:233834:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -190200,7 +190231,7 @@ func fts5ApiPhraseNextColumn(tls *libc.TLS, pCtx uintptr, pIter uintptr, piCol u } } -func fts5ApiPhraseFirstColumn(tls *libc.TLS, pCtx uintptr, iPhrase int32, pIter uintptr, piCol uintptr) int32 { /* sqlite3.c:233807:12: */ +func fts5ApiPhraseFirstColumn(tls *libc.TLS, pCtx uintptr, iPhrase int32, pIter uintptr, piCol uintptr) int32 { /* sqlite3.c:233864:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -190281,10 +190312,10 @@ var sFts5Api = Fts5ExtensionApi{ FxPhraseNext: 0, FxPhraseFirstColumn: 0, FxPhraseNextColumn: 0, -} /* sqlite3.c:233857:31 */ +} /* sqlite3.c:233914:31 */ // Implementation of API function xQueryPhrase(). -func fts5ApiQueryPhrase(tls *libc.TLS, pCtx uintptr, iPhrase int32, pUserData uintptr, xCallback uintptr) int32 { /* sqlite3.c:233883:12: */ +func fts5ApiQueryPhrase(tls *libc.TLS, pCtx uintptr, iPhrase int32, pUserData uintptr, xCallback uintptr) int32 { /* sqlite3.c:233940:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -190320,7 +190351,7 @@ func fts5ApiQueryPhrase(tls *libc.TLS, pCtx uintptr, iPhrase int32, pUserData ui return rc } -func fts5ApiInvoke(tls *libc.TLS, pAux uintptr, pCsr uintptr, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:233920:13: */ +func fts5ApiInvoke(tls *libc.TLS, pAux uintptr, pCsr uintptr, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:233977:13: */ (*Fts5Cursor)(unsafe.Pointer(pCsr)).FpAux = pAux (*struct { @@ -190329,7 +190360,7 @@ func fts5ApiInvoke(tls *libc.TLS, pAux uintptr, pCsr uintptr, context uintptr, a (*Fts5Cursor)(unsafe.Pointer(pCsr)).FpAux = uintptr(0) } -func fts5CursorFromCsrid(tls *libc.TLS, pGlobal uintptr, iCsrId I64) uintptr { /* sqlite3.c:233933:19: */ +func fts5CursorFromCsrid(tls *libc.TLS, pGlobal uintptr, iCsrId I64) uintptr { /* sqlite3.c:233990:19: */ var pCsr uintptr for pCsr = (*Fts5Global)(unsafe.Pointer(pGlobal)).FpCsr; pCsr != 0; pCsr = (*Fts5Cursor)(unsafe.Pointer(pCsr)).FpNext { if (*Fts5Cursor)(unsafe.Pointer(pCsr)).FiCsrId == iCsrId { @@ -190339,7 +190370,7 @@ func fts5CursorFromCsrid(tls *libc.TLS, pGlobal uintptr, iCsrId I64) uintptr { / return pCsr } -func fts5ApiCallback(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:233941:13: */ +func fts5ApiCallback(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:233998:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -190362,7 +190393,7 @@ func fts5ApiCallback(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { // Given cursor id iId, return a pointer to the corresponding Fts5Table // object. Or NULL If the cursor id does not exist. -func sqlite3Fts5TableFromCsrid(tls *libc.TLS, pGlobal uintptr, iCsrId I64) uintptr { /* sqlite3.c:233970:18: */ +func sqlite3Fts5TableFromCsrid(tls *libc.TLS, pGlobal uintptr, iCsrId I64) uintptr { /* sqlite3.c:234027:18: */ var pCsr uintptr pCsr = fts5CursorFromCsrid(tls, pGlobal, iCsrId) if pCsr != 0 { @@ -190384,7 +190415,7 @@ func sqlite3Fts5TableFromCsrid(tls *libc.TLS, pGlobal uintptr, iCsrId I64) uintp // for phrase 0. The second (same disclaimer) contains the size of position // list 1. And so on. There is no size field for the final position list, // as it can be derived from the total size of the blob. -func fts5PoslistBlob(tls *libc.TLS, pCtx uintptr, pCsr uintptr) int32 { /* sqlite3.c:233997:12: */ +func fts5PoslistBlob(tls *libc.TLS, pCtx uintptr, pCsr uintptr) int32 { /* sqlite3.c:234054:12: */ bp := tls.Alloc(68) defer tls.Free(68) @@ -190448,7 +190479,7 @@ func fts5PoslistBlob(tls *libc.TLS, pCtx uintptr, pCsr uintptr) int32 { /* sqlit // This is the xColumn method, called by SQLite to request a value from // the row that the supplied cursor currently points to. -func fts5ColumnMethod(tls *libc.TLS, pCursor uintptr, pCtx uintptr, iCol int32) int32 { /* sqlite3.c:234054:12: */ +func fts5ColumnMethod(tls *libc.TLS, pCursor uintptr, pCtx uintptr, iCol int32) int32 { /* sqlite3.c:234111:12: */ var pTab uintptr = (*Sqlite3_vtab_cursor)(unsafe.Pointer(pCursor)).FpVtab var pConfig uintptr = (*Fts5FullTable)(unsafe.Pointer(pTab)).Fp.FpConfig var pCsr uintptr = pCursor @@ -190488,7 +190519,7 @@ 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) int32 { /* sqlite3.c:234107:12: */ +func fts5FindFunctionMethod(tls *libc.TLS, pVtab uintptr, nUnused int32, zName uintptr, pxFunc uintptr, ppArg uintptr) int32 { /* sqlite3.c:234164:12: */ var pTab uintptr = pVtab var pAux uintptr @@ -190507,12 +190538,12 @@ func fts5FindFunctionMethod(tls *libc.TLS, pVtab uintptr, nUnused int32, zName u } // Implementation of FTS5 xRename method. Rename an fts5 table. -func fts5RenameMethod(tls *libc.TLS, pVtab uintptr, zName uintptr) int32 { /* sqlite3.c:234132:12: */ +func fts5RenameMethod(tls *libc.TLS, pVtab uintptr, zName uintptr) int32 { /* sqlite3.c:234189:12: */ var pTab uintptr = pVtab return sqlite3Fts5StorageRename(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).FpStorage, zName) } -func sqlite3Fts5FlushToDisk(tls *libc.TLS, pTab uintptr) int32 { /* sqlite3.c:234140:12: */ +func sqlite3Fts5FlushToDisk(tls *libc.TLS, pTab uintptr) int32 { /* sqlite3.c:234197:12: */ fts5TripCursors(tls, pTab) return sqlite3Fts5StorageSync(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).FpStorage) } @@ -190520,7 +190551,7 @@ func sqlite3Fts5FlushToDisk(tls *libc.TLS, pTab uintptr) int32 { /* sqlite3.c:23 // The xSavepoint() method. // // Flush the contents of the pending-terms table to disk. -func fts5SavepointMethod(tls *libc.TLS, pVtab uintptr, iSavepoint int32) int32 { /* sqlite3.c:234150:12: */ +func fts5SavepointMethod(tls *libc.TLS, pVtab uintptr, iSavepoint int32) int32 { /* sqlite3.c:234207:12: */ _ = iSavepoint // Call below is a no-op for NDEBUG builds return sqlite3Fts5FlushToDisk(tls, pVtab) @@ -190529,7 +190560,7 @@ func fts5SavepointMethod(tls *libc.TLS, pVtab uintptr, iSavepoint int32) int32 { // The xRelease() method. // // This is a no-op. -func fts5ReleaseMethod(tls *libc.TLS, pVtab uintptr, iSavepoint int32) int32 { /* sqlite3.c:234161:12: */ +func fts5ReleaseMethod(tls *libc.TLS, pVtab uintptr, iSavepoint int32) int32 { /* sqlite3.c:234218:12: */ _ = iSavepoint // Call below is a no-op for NDEBUG builds return sqlite3Fts5FlushToDisk(tls, pVtab) @@ -190538,7 +190569,7 @@ func fts5ReleaseMethod(tls *libc.TLS, pVtab uintptr, iSavepoint int32) int32 { / // The xRollbackTo() method. // // Discard the contents of the pending terms table. -func fts5RollbackToMethod(tls *libc.TLS, pVtab uintptr, iSavepoint int32) int32 { /* sqlite3.c:234172:12: */ +func fts5RollbackToMethod(tls *libc.TLS, pVtab uintptr, iSavepoint int32) int32 { /* sqlite3.c:234229:12: */ var pTab uintptr = pVtab _ = iSavepoint // Call below is a no-op for NDEBUG builds @@ -190547,7 +190578,7 @@ func fts5RollbackToMethod(tls *libc.TLS, pVtab uintptr, iSavepoint int32) int32 } // Register a new auxiliary function with global context pGlobal. -func fts5CreateAux(tls *libc.TLS, pApi uintptr, zName uintptr, pUserData uintptr, xFunc Fts5_extension_function, xDestroy uintptr) int32 { /* sqlite3.c:234183:12: */ +func fts5CreateAux(tls *libc.TLS, pApi uintptr, zName uintptr, pUserData uintptr, xFunc Fts5_extension_function, xDestroy uintptr) int32 { /* sqlite3.c:234240:12: */ var pGlobal uintptr = pApi var rc int32 = Xsqlite3_overload_function(tls, (*Fts5Global)(unsafe.Pointer(pGlobal)).Fdb, zName, -1) if rc == SQLITE_OK { @@ -190578,7 +190609,7 @@ func fts5CreateAux(tls *libc.TLS, pApi uintptr, zName uintptr, pUserData uintptr // Register a new tokenizer. This is the implementation of the // fts5_api.xCreateTokenizer() method. -func fts5CreateTokenizer(tls *libc.TLS, pApi uintptr, zName uintptr, pUserData uintptr, pTokenizer uintptr, xDestroy uintptr) int32 { /* sqlite3.c:234222:12: */ +func fts5CreateTokenizer(tls *libc.TLS, pApi uintptr, zName uintptr, pUserData uintptr, pTokenizer uintptr, xDestroy uintptr) int32 { /* sqlite3.c:234279:12: */ var pGlobal uintptr = pApi var pNew uintptr var nName Sqlite3_int64 // Size of zName and its \0 terminator @@ -190607,7 +190638,7 @@ func fts5CreateTokenizer(tls *libc.TLS, pApi uintptr, zName uintptr, pUserData u return rc } -func fts5LocateTokenizer(tls *libc.TLS, pGlobal uintptr, zName uintptr) uintptr { /* sqlite3.c:234257:28: */ +func fts5LocateTokenizer(tls *libc.TLS, pGlobal uintptr, zName uintptr) uintptr { /* sqlite3.c:234314:28: */ var pMod uintptr = uintptr(0) if zName == uintptr(0) { @@ -190625,7 +190656,7 @@ func fts5LocateTokenizer(tls *libc.TLS, pGlobal uintptr, zName uintptr) uintptr // Find a tokenizer. This is the implementation of the // fts5_api.xFindTokenizer() method. -func fts5FindTokenizer(tls *libc.TLS, pApi uintptr, zName uintptr, ppUserData uintptr, pTokenizer uintptr) int32 { /* sqlite3.c:234278:12: */ +func fts5FindTokenizer(tls *libc.TLS, pApi uintptr, zName uintptr, ppUserData uintptr, pTokenizer uintptr) int32 { /* sqlite3.c:234335:12: */ var rc int32 = SQLITE_OK var pMod uintptr @@ -190641,7 +190672,7 @@ func fts5FindTokenizer(tls *libc.TLS, pApi uintptr, zName uintptr, ppUserData ui return rc } -func sqlite3Fts5GetTokenizer(tls *libc.TLS, pGlobal uintptr, azArg uintptr, nArg int32, pConfig uintptr, pzErr uintptr) int32 { /* sqlite3.c:234299:12: */ +func sqlite3Fts5GetTokenizer(tls *libc.TLS, pGlobal uintptr, azArg uintptr, nArg int32, pConfig uintptr, pzErr uintptr) int32 { /* sqlite3.c:234356:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -190692,7 +190723,7 @@ func sqlite3Fts5GetTokenizer(tls *libc.TLS, pGlobal uintptr, azArg uintptr, nArg return rc } -func fts5ModuleDestroy(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:234336:13: */ +func fts5ModuleDestroy(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:234393:13: */ var pTok uintptr var pNextTok uintptr var pAux uintptr @@ -190718,7 +190749,7 @@ func fts5ModuleDestroy(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:234336:13: */ Xsqlite3_free(tls, pGlobal) } -func fts5Fts5Func(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:234356:13: */ +func fts5Fts5Func(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:234413:13: */ var pGlobal uintptr = Xsqlite3_user_data(tls, pCtx) var ppApi uintptr _ = nArg @@ -190730,7 +190761,7 @@ func fts5Fts5Func(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* s } // Implementation of fts5_source_id() function. -func fts5SourceIdFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apUnused uintptr) { /* sqlite3.c:234372:13: */ +func fts5SourceIdFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apUnused uintptr) { /* sqlite3.c:234429:13: */ _ = nArg _ = apUnused @@ -190739,7 +190770,7 @@ func fts5SourceIdFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apUnused uintptr) // Return true if zName is the extension on one of the shadow tables used // by this module. -func fts5ShadowName(tls *libc.TLS, zName uintptr) int32 { /* sqlite3.c:234386:12: */ +func fts5ShadowName(tls *libc.TLS, zName uintptr) int32 { /* sqlite3.c:234443:12: */ var i uint32 for i = uint32(0); uint64(i) < uint64(unsafe.Sizeof(azName2))/uint64(unsafe.Sizeof(uintptr(0))); i++ { if Xsqlite3_stricmp(tls, zName, azName2[i]) == 0 { @@ -190751,9 +190782,9 @@ func fts5ShadowName(tls *libc.TLS, zName uintptr) int32 { /* sqlite3.c:234386:12 var azName2 = [5]uintptr{ ts + 35779, ts + 33878, ts + 24878, ts + 34229, ts + 11373, -} /* sqlite3.c:234387:21 */ +} /* sqlite3.c:234444:21 */ -func fts5Init(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:234397:12: */ +func fts5Init(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:234454:12: */ var rc int32 var pGlobal uintptr = uintptr(0) @@ -190836,7 +190867,7 @@ var fts5Mod = Sqlite3_module{ /* xRelease */ FxRelease: 0, /* xRollbackTo */ FxRollbackTo: 0, /* xShadowName */ FxShadowName: 0, -} /* sqlite3.c:234398:31 */ +} /* sqlite3.c:234455:31 */ // The following functions are used to register the module with SQLite. If // this module is being built as part of the SQLite core (SQLITE_CORE is @@ -190845,7 +190876,7 @@ var fts5Mod = Sqlite3_module{ // Or, if this module is being built as a loadable extension, // sqlite3Fts5Init() is omitted and the two standard entry points // sqlite3_fts_init() and sqlite3_fts5_init() defined instead. -func Xsqlite3Fts5Init(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:234506:20: */ +func Xsqlite3Fts5Init(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:234563:20: */ return fts5Init(tls, db) } @@ -190853,7 +190884,7 @@ func Xsqlite3Fts5Init(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:234506:20: // Fts5Storage.pInsertDocsize - if they have not already been prepared. // Return SQLITE_OK if successful, or an SQLite error code if an error // occurs. -func fts5StorageGetStmt(tls *libc.TLS, p uintptr, eStmt int32, ppStmt uintptr, pzErrMsg uintptr) int32 { /* sqlite3.c:234564:12: */ +func fts5StorageGetStmt(tls *libc.TLS, p uintptr, eStmt int32, ppStmt uintptr, pzErrMsg uintptr) int32 { /* sqlite3.c:234621:12: */ bp := tls.Alloc(216) defer tls.Free(216) @@ -190954,7 +190985,7 @@ func fts5StorageGetStmt(tls *libc.TLS, p uintptr, eStmt int32, ppStmt uintptr, p return rc } -func fts5ExecPrintf(tls *libc.TLS, db uintptr, pzErr uintptr, zFormat uintptr, va uintptr) int32 { /* sqlite3.c:234667:12: */ +func fts5ExecPrintf(tls *libc.TLS, db uintptr, pzErr uintptr, zFormat uintptr, va uintptr) int32 { /* sqlite3.c:234724:12: */ var rc int32 var ap Va_list _ = ap // ... printf arguments @@ -190976,7 +191007,7 @@ func fts5ExecPrintf(tls *libc.TLS, db uintptr, pzErr uintptr, zFormat uintptr, v // Drop all shadow tables. Return SQLITE_OK if successful or an SQLite error // code otherwise. -func sqlite3Fts5DropAll(tls *libc.TLS, pConfig uintptr) int32 { /* sqlite3.c:234695:12: */ +func sqlite3Fts5DropAll(tls *libc.TLS, pConfig uintptr) int32 { /* sqlite3.c:234752:12: */ bp := tls.Alloc(80) defer tls.Free(80) @@ -190999,7 +191030,7 @@ func sqlite3Fts5DropAll(tls *libc.TLS, pConfig uintptr) int32 { /* sqlite3.c:234 return rc } -func fts5StorageRenameOne(tls *libc.TLS, pConfig uintptr, pRc uintptr, zTail uintptr, zName uintptr) { /* sqlite3.c:234719:13: */ +func fts5StorageRenameOne(tls *libc.TLS, pConfig uintptr, pRc uintptr, zTail uintptr, zName uintptr) { /* sqlite3.c:234776:13: */ bp := tls.Alloc(40) defer tls.Free(40) @@ -191010,7 +191041,7 @@ func fts5StorageRenameOne(tls *libc.TLS, pConfig uintptr, pRc uintptr, zTail uin } } -func sqlite3Fts5StorageRename(tls *libc.TLS, pStorage uintptr, zName uintptr) int32 { /* sqlite3.c:234733:12: */ +func sqlite3Fts5StorageRename(tls *libc.TLS, pStorage uintptr, zName uintptr) int32 { /* sqlite3.c:234790:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -191031,7 +191062,7 @@ func sqlite3Fts5StorageRename(tls *libc.TLS, pStorage uintptr, zName uintptr) in // Create the shadow table named zPost, with definition zDefn. Return // SQLITE_OK if successful, or an SQLite error code otherwise. -func sqlite3Fts5CreateTable(tls *libc.TLS, pConfig uintptr, zPost uintptr, zDefn uintptr, bWithout int32, pzErr uintptr) int32 { /* sqlite3.c:234753:12: */ +func sqlite3Fts5CreateTable(tls *libc.TLS, pConfig uintptr, zPost uintptr, zDefn uintptr, bWithout int32, pzErr uintptr) int32 { /* sqlite3.c:234810:12: */ bp := tls.Alloc(72) defer tls.Free(72) @@ -191061,7 +191092,7 @@ func sqlite3Fts5CreateTable(tls *libc.TLS, pConfig uintptr, zPost uintptr, zDefn // // If successful, set *pp to point to the new object and return SQLITE_OK. // Otherwise, set *pp to NULL and return an SQLite error code. -func sqlite3Fts5StorageOpen(tls *libc.TLS, pConfig uintptr, pIndex uintptr, bCreate int32, pp uintptr, pzErr uintptr) int32 { /* sqlite3.c:234788:12: */ +func sqlite3Fts5StorageOpen(tls *libc.TLS, pConfig uintptr, pIndex uintptr, bCreate int32, pp uintptr, pzErr uintptr) int32 { /* sqlite3.c:234845:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -191122,7 +191153,7 @@ func sqlite3Fts5StorageOpen(tls *libc.TLS, pConfig uintptr, pIndex uintptr, bCre } // Close a handle opened by an earlier call to sqlite3Fts5StorageOpen(). -func sqlite3Fts5StorageClose(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:234854:12: */ +func sqlite3Fts5StorageClose(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:234911:12: */ var rc int32 = SQLITE_OK if p != 0 { var i int32 @@ -191141,12 +191172,12 @@ type Fts5InsertCtx1 = struct { FpStorage uintptr FiCol int32 FszCol int32 -} /* sqlite3.c:234869:9 */ +} /* sqlite3.c:234926:9 */ -type Fts5InsertCtx = Fts5InsertCtx1 /* sqlite3.c:234869:30 */ +type Fts5InsertCtx = Fts5InsertCtx1 /* sqlite3.c:234926:30 */ // Tokenization callback used when inserting tokens into the FTS index. -func fts5StorageInsertCallback(tls *libc.TLS, pContext uintptr, tflags int32, pToken uintptr, nToken int32, iUnused1 int32, iUnused2 int32) int32 { /* sqlite3.c:234879:12: */ +func fts5StorageInsertCallback(tls *libc.TLS, pContext uintptr, tflags int32, pToken uintptr, nToken int32, iUnused1 int32, iUnused2 int32) int32 { /* sqlite3.c:234936:12: */ var pCtx uintptr = pContext var pIdx uintptr = (*Fts5Storage)(unsafe.Pointer((*Fts5InsertCtx)(unsafe.Pointer(pCtx)).FpStorage)).FpIndex _ = iUnused1 @@ -191163,7 +191194,7 @@ func fts5StorageInsertCallback(tls *libc.TLS, pContext uintptr, tflags int32, pT // If a row with rowid iDel is present in the %_content table, add the // delete-markers to the FTS index necessary to delete it. Do not actually // remove the %_content row at this time though. -func fts5StorageDeleteFromIndex(tls *libc.TLS, p uintptr, iDel I64, apVal uintptr) int32 { /* sqlite3.c:234902:12: */ +func fts5StorageDeleteFromIndex(tls *libc.TLS, p uintptr, iDel I64, apVal uintptr) int32 { /* sqlite3.c:234959:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -191232,7 +191263,7 @@ func fts5StorageDeleteFromIndex(tls *libc.TLS, p uintptr, iDel I64, apVal uintpt // // If there is no %_docsize table (as happens if the columnsize=0 option // is specified when the FTS5 table is created), this function is a no-op. -func fts5StorageInsertDocsize(tls *libc.TLS, p uintptr, iRowid I64, pBuf uintptr) int32 { /* sqlite3.c:234971:12: */ +func fts5StorageInsertDocsize(tls *libc.TLS, p uintptr, iRowid I64, pBuf uintptr) int32 { /* sqlite3.c:235028:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -191259,7 +191290,7 @@ func fts5StorageInsertDocsize(tls *libc.TLS, p uintptr, iRowid I64, pBuf uintptr // // Return SQLITE_OK if successful, or an SQLite error code if an error // occurs. -func fts5StorageLoadTotals(tls *libc.TLS, p uintptr, bCache int32) int32 { /* sqlite3.c:235001:12: */ +func fts5StorageLoadTotals(tls *libc.TLS, p uintptr, bCache int32) int32 { /* sqlite3.c:235058:12: */ var rc int32 = SQLITE_OK if (*Fts5Storage)(unsafe.Pointer(p)).FbTotalsValid == 0 { rc = sqlite3Fts5IndexGetAverages(tls, (*Fts5Storage)(unsafe.Pointer(p)).FpIndex, p+24, (*Fts5Storage)(unsafe.Pointer(p)).FaTotalSize) @@ -191273,7 +191304,7 @@ func fts5StorageLoadTotals(tls *libc.TLS, p uintptr, bCache int32) int32 { /* sq // // Return SQLITE_OK if successful, or an SQLite error code if an error // occurs. -func fts5StorageSaveTotals(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:235017:12: */ +func fts5StorageSaveTotals(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:235074:12: */ bp := tls.Alloc(20) defer tls.Free(20) @@ -191297,7 +191328,7 @@ func fts5StorageSaveTotals(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:235017 } // Remove a row from the FTS table. -func sqlite3Fts5StorageDelete(tls *libc.TLS, p uintptr, iDel I64, apVal uintptr) int32 { /* sqlite3.c:235039:12: */ +func sqlite3Fts5StorageDelete(tls *libc.TLS, p uintptr, iDel I64, apVal uintptr) int32 { /* sqlite3.c:235096:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -191338,7 +191369,7 @@ func sqlite3Fts5StorageDelete(tls *libc.TLS, p uintptr, iDel I64, apVal uintptr) } // Delete all entries in the FTS5 index. -func sqlite3Fts5StorageDeleteAll(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:235080:12: */ +func sqlite3Fts5StorageDeleteAll(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:235137:12: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -191370,7 +191401,7 @@ func sqlite3Fts5StorageDeleteAll(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c: return rc } -func sqlite3Fts5StorageRebuild(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:235111:12: */ +func sqlite3Fts5StorageRebuild(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:235168:12: */ bp := tls.Alloc(44) defer tls.Free(44) @@ -191434,15 +191465,15 @@ func sqlite3Fts5StorageRebuild(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:23 return *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) } -func sqlite3Fts5StorageOptimize(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:235166:12: */ +func sqlite3Fts5StorageOptimize(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:235223:12: */ return sqlite3Fts5IndexOptimize(tls, (*Fts5Storage)(unsafe.Pointer(p)).FpIndex) } -func sqlite3Fts5StorageMerge(tls *libc.TLS, p uintptr, nMerge int32) int32 { /* sqlite3.c:235170:12: */ +func sqlite3Fts5StorageMerge(tls *libc.TLS, p uintptr, nMerge int32) int32 { /* sqlite3.c:235227:12: */ return sqlite3Fts5IndexMerge(tls, (*Fts5Storage)(unsafe.Pointer(p)).FpIndex, nMerge) } -func sqlite3Fts5StorageReset(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:235174:12: */ +func sqlite3Fts5StorageReset(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:235231:12: */ return sqlite3Fts5IndexReset(tls, (*Fts5Storage)(unsafe.Pointer(p)).FpIndex) } @@ -191453,7 +191484,7 @@ func sqlite3Fts5StorageReset(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:2351 // // If the %_docsize table does not exist, SQLITE_MISMATCH is returned. In // this case the user is required to provide a rowid explicitly. -func fts5StorageNewRowid(tls *libc.TLS, p uintptr, piRowid uintptr) int32 { /* sqlite3.c:235187:12: */ +func fts5StorageNewRowid(tls *libc.TLS, p uintptr, piRowid uintptr) int32 { /* sqlite3.c:235244:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -191475,7 +191506,7 @@ func fts5StorageNewRowid(tls *libc.TLS, p uintptr, piRowid uintptr) int32 { /* s } // Insert a new row into the FTS content table. -func sqlite3Fts5StorageContentInsert(tls *libc.TLS, p uintptr, apVal uintptr, piRowid uintptr) int32 { /* sqlite3.c:235208:12: */ +func sqlite3Fts5StorageContentInsert(tls *libc.TLS, p uintptr, apVal uintptr, piRowid uintptr) int32 { /* sqlite3.c:235265:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -191507,7 +191538,7 @@ func sqlite3Fts5StorageContentInsert(tls *libc.TLS, p uintptr, apVal uintptr, pi } // Insert new entries into the FTS index and %_docsize table. -func sqlite3Fts5StorageIndexInsert(tls *libc.TLS, p uintptr, apVal uintptr, iRowid I64) int32 { /* sqlite3.c:235243:12: */ +func sqlite3Fts5StorageIndexInsert(tls *libc.TLS, p uintptr, apVal uintptr, iRowid I64) int32 { /* sqlite3.c:235300:12: */ bp := tls.Alloc(36) defer tls.Free(36) @@ -191552,7 +191583,7 @@ func sqlite3Fts5StorageIndexInsert(tls *libc.TLS, p uintptr, apVal uintptr, iRow return *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) } -func fts5StorageCount(tls *libc.TLS, p uintptr, zSuffix uintptr, pnRow uintptr) int32 { /* sqlite3.c:235286:12: */ +func fts5StorageCount(tls *libc.TLS, p uintptr, zSuffix uintptr, pnRow uintptr) int32 { /* sqlite3.c:235343:12: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -191587,13 +191618,13 @@ type Fts5IntegrityCtx1 = struct { Fcksum U64 FpTermset uintptr FpConfig uintptr -} /* sqlite3.c:235314:9 */ +} /* sqlite3.c:235371:9 */ // Context object used by sqlite3Fts5StorageIntegrity(). -type Fts5IntegrityCtx = Fts5IntegrityCtx1 /* sqlite3.c:235314:33 */ +type Fts5IntegrityCtx = Fts5IntegrityCtx1 /* sqlite3.c:235371:33 */ // Tokenization callback used by integrity check. -func fts5StorageIntegrityCallback(tls *libc.TLS, pContext uintptr, tflags int32, pToken uintptr, nToken int32, iUnused1 int32, iUnused2 int32) int32 { /* sqlite3.c:235328:12: */ +func fts5StorageIntegrityCallback(tls *libc.TLS, pContext uintptr, tflags int32, pToken uintptr, nToken int32, iUnused1 int32, iUnused2 int32) int32 { /* sqlite3.c:235385:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -191659,7 +191690,7 @@ func fts5StorageIntegrityCallback(tls *libc.TLS, pContext uintptr, tflags int32, // table. Return SQLITE_OK if they do, or SQLITE_CORRUPT if not. Return // some other SQLite error code if an error occurs while attempting to // determine this. -func sqlite3Fts5StorageIntegrity(tls *libc.TLS, p uintptr, iArg int32) int32 { /* sqlite3.c:235398:12: */ +func sqlite3Fts5StorageIntegrity(tls *libc.TLS, p uintptr, iArg int32) int32 { /* sqlite3.c:235455:12: */ bp := tls.Alloc(64) defer tls.Free(64) @@ -191784,7 +191815,7 @@ func sqlite3Fts5StorageIntegrity(tls *libc.TLS, p uintptr, iArg int32) int32 { / // Obtain an SQLite statement handle that may be used to read data from the // %_content table. -func sqlite3Fts5StorageStmt(tls *libc.TLS, p uintptr, eStmt int32, pp uintptr, pzErrMsg uintptr) int32 { /* sqlite3.c:235506:12: */ +func sqlite3Fts5StorageStmt(tls *libc.TLS, p uintptr, eStmt int32, pp uintptr, pzErrMsg uintptr) int32 { /* sqlite3.c:235563:12: */ var rc int32 rc = fts5StorageGetStmt(tls, p, eStmt, pp, pzErrMsg) @@ -191798,7 +191829,7 @@ func sqlite3Fts5StorageStmt(tls *libc.TLS, p uintptr, eStmt int32, pp uintptr, p // Release an SQLite statement handle obtained via an earlier call to // sqlite3Fts5StorageStmt(). The eStmt parameter passed to this function // must match that passed to the sqlite3Fts5StorageStmt() call. -func sqlite3Fts5StorageStmtRelease(tls *libc.TLS, p uintptr, eStmt int32, pStmt uintptr) { /* sqlite3.c:235530:13: */ +func sqlite3Fts5StorageStmtRelease(tls *libc.TLS, p uintptr, eStmt int32, pStmt uintptr) { /* sqlite3.c:235587:13: */ if *(*uintptr)(unsafe.Pointer(p + 40 + uintptr(eStmt)*8)) == uintptr(0) { Xsqlite3_reset(tls, pStmt) @@ -191808,7 +191839,7 @@ func sqlite3Fts5StorageStmtRelease(tls *libc.TLS, p uintptr, eStmt int32, pStmt } } -func fts5StorageDecodeSizeArray(tls *libc.TLS, aCol uintptr, nCol int32, aBlob uintptr, nBlob int32) int32 { /* sqlite3.c:235547:12: */ +func fts5StorageDecodeSizeArray(tls *libc.TLS, aCol uintptr, nCol int32, aBlob uintptr, nBlob int32) int32 { /* sqlite3.c:235604:12: */ var i int32 var iOff int32 = 0 for i = 0; i < nCol; i++ { @@ -191826,7 +191857,7 @@ func fts5StorageDecodeSizeArray(tls *libc.TLS, aCol uintptr, nCol int32, aBlob u // // An SQLite error code is returned if an error occurs, or SQLITE_OK // otherwise. -func sqlite3Fts5StorageDocsize(tls *libc.TLS, p uintptr, iRowid I64, aCol uintptr) int32 { /* sqlite3.c:235568:12: */ +func sqlite3Fts5StorageDocsize(tls *libc.TLS, p uintptr, iRowid I64, aCol uintptr) int32 { /* sqlite3.c:235625:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -191857,7 +191888,7 @@ func sqlite3Fts5StorageDocsize(tls *libc.TLS, p uintptr, iRowid I64, aCol uintpt return rc } -func sqlite3Fts5StorageSize(tls *libc.TLS, p uintptr, iCol int32, pnToken uintptr) int32 { /* sqlite3.c:235597:12: */ +func sqlite3Fts5StorageSize(tls *libc.TLS, p uintptr, iCol int32, pnToken uintptr) int32 { /* sqlite3.c:235654:12: */ var rc int32 = fts5StorageLoadTotals(tls, p, 0) if rc == SQLITE_OK { *(*I64)(unsafe.Pointer(pnToken)) = int64(0) @@ -191875,7 +191906,7 @@ func sqlite3Fts5StorageSize(tls *libc.TLS, p uintptr, iCol int32, pnToken uintpt return rc } -func sqlite3Fts5StorageRowCount(tls *libc.TLS, p uintptr, pnRow uintptr) int32 { /* sqlite3.c:235615:12: */ +func sqlite3Fts5StorageRowCount(tls *libc.TLS, p uintptr, pnRow uintptr) int32 { /* sqlite3.c:235672:12: */ var rc int32 = fts5StorageLoadTotals(tls, p, 0) if rc == SQLITE_OK { // nTotalRow being zero does not necessarily indicate a corrupt @@ -191892,7 +191923,7 @@ func sqlite3Fts5StorageRowCount(tls *libc.TLS, p uintptr, pnRow uintptr) int32 { } // Flush any data currently held in-memory to disk. -func sqlite3Fts5StorageSync(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:235632:12: */ +func sqlite3Fts5StorageSync(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:235689:12: */ var rc int32 = SQLITE_OK var iLastRowid I64 = Xsqlite3_last_insert_rowid(tls, (*Fts5Config)(unsafe.Pointer((*Fts5Storage)(unsafe.Pointer(p)).FpConfig)).Fdb) if (*Fts5Storage)(unsafe.Pointer(p)).FbTotalsValid != 0 { @@ -191906,12 +191937,12 @@ func sqlite3Fts5StorageSync(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:23563 return rc } -func sqlite3Fts5StorageRollback(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:235646:12: */ +func sqlite3Fts5StorageRollback(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:235703:12: */ (*Fts5Storage)(unsafe.Pointer(p)).FbTotalsValid = 0 return sqlite3Fts5IndexRollback(tls, (*Fts5Storage)(unsafe.Pointer(p)).FpIndex) } -func sqlite3Fts5StorageConfigValue(tls *libc.TLS, p uintptr, z uintptr, pVal uintptr, iVal int32) int32 { /* sqlite3.c:235651:12: */ +func sqlite3Fts5StorageConfigValue(tls *libc.TLS, p uintptr, z uintptr, pVal uintptr, iVal int32) int32 { /* sqlite3.c:235708:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -191966,13 +191997,13 @@ var aAsciiTokenChar = [128]uint8{ uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), // 0x50..0x5F uint8(0), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), // 0x60..0x6F uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), // 0x70..0x7F -} /* sqlite3.c:235704:22 */ +} /* sqlite3.c:235761:22 */ -type AsciiTokenizer1 = struct{ FaTokenChar [128]uint8 } /* sqlite3.c:235715:9 */ +type AsciiTokenizer1 = struct{ FaTokenChar [128]uint8 } /* sqlite3.c:235772:9 */ -type AsciiTokenizer = AsciiTokenizer1 /* sqlite3.c:235715:31 */ +type AsciiTokenizer = AsciiTokenizer1 /* sqlite3.c:235772:31 */ -func fts5AsciiAddExceptions(tls *libc.TLS, p uintptr, zArg uintptr, bTokenChars int32) { /* sqlite3.c:235720:13: */ +func fts5AsciiAddExceptions(tls *libc.TLS, p uintptr, zArg uintptr, bTokenChars int32) { /* sqlite3.c:235777:13: */ var i int32 for i = 0; *(*int8)(unsafe.Pointer(zArg + uintptr(i))) != 0; i++ { if int32(*(*int8)(unsafe.Pointer(zArg + uintptr(i))))&0x80 == 0 { @@ -191982,12 +192013,12 @@ func fts5AsciiAddExceptions(tls *libc.TLS, p uintptr, zArg uintptr, bTokenChars } // Delete a "ascii" tokenizer. -func fts5AsciiDelete(tls *libc.TLS, p uintptr) { /* sqlite3.c:235736:13: */ +func fts5AsciiDelete(tls *libc.TLS, p uintptr) { /* sqlite3.c:235793:13: */ Xsqlite3_free(tls, p) } // Create an "ascii" tokenizer. -func fts5AsciiCreate(tls *libc.TLS, pUnused uintptr, azArg uintptr, nArg int32, ppOut uintptr) int32 { /* sqlite3.c:235743:12: */ +func fts5AsciiCreate(tls *libc.TLS, pUnused uintptr, azArg uintptr, nArg int32, ppOut uintptr) int32 { /* sqlite3.c:235800:12: */ var rc int32 = SQLITE_OK var p uintptr = uintptr(0) _ = pUnused @@ -192022,7 +192053,7 @@ func fts5AsciiCreate(tls *libc.TLS, pUnused uintptr, azArg uintptr, nArg int32, return rc } -func asciiFold(tls *libc.TLS, aOut uintptr, aIn uintptr, nByte int32) { /* sqlite3.c:235784:13: */ +func asciiFold(tls *libc.TLS, aOut uintptr, aIn uintptr, nByte int32) { /* sqlite3.c:235841:13: */ var i int32 for i = 0; i < nByte; i++ { var c int8 = *(*int8)(unsafe.Pointer(aIn + uintptr(i))) @@ -192034,7 +192065,7 @@ func asciiFold(tls *libc.TLS, aOut uintptr, aIn uintptr, nByte int32) { /* sqlit } // Tokenize some text using the ascii tokenizer. -func fts5AsciiTokenize(tls *libc.TLS, pTokenizer uintptr, pCtx uintptr, iUnused int32, pText uintptr, nText int32, xToken uintptr) int32 { /* sqlite3.c:235796:12: */ +func fts5AsciiTokenize(tls *libc.TLS, pTokenizer uintptr, pCtx uintptr, iUnused int32, pText uintptr, nText int32, xToken uintptr) int32 { /* sqlite3.c:235853:12: */ bp := tls.Alloc(64) defer tls.Free(64) @@ -192115,7 +192146,7 @@ type Unicode61Tokenizer1 = struct { F__ccgo_pad1 [4]byte FaiException uintptr FaCategory [32]uint8 -} /* sqlite3.c:235911:9 */ +} /* sqlite3.c:235968:9 */ // ************************************************************************* // @@ -192125,11 +192156,11 @@ type Unicode61Tokenizer1 = struct { // from the sqlite3 source file utf.c. If this file is compiled as part // of the amalgamation, they are not required. -type Unicode61Tokenizer = Unicode61Tokenizer1 /* sqlite3.c:235911:35 */ +type Unicode61Tokenizer = Unicode61Tokenizer1 /* sqlite3.c:235968:35 */ // Values for eRemoveDiacritic (must match internals of fts5_unicode2.c) -func fts5UnicodeAddExceptions(tls *libc.TLS, p uintptr, z uintptr, bTokenChars int32) int32 { /* sqlite3.c:235928:12: */ +func fts5UnicodeAddExceptions(tls *libc.TLS, p uintptr, z uintptr, bTokenChars int32) int32 { /* sqlite3.c:235985:12: */ var rc int32 = SQLITE_OK var n int32 = int32(libc.Xstrlen(tls, z)) var aNew uintptr @@ -192184,7 +192215,7 @@ func fts5UnicodeAddExceptions(tls *libc.TLS, p uintptr, z uintptr, bTokenChars i } // Return true if the p->aiException[] array contains the value iCode. -func fts5UnicodeIsException(tls *libc.TLS, p uintptr, iCode int32) int32 { /* sqlite3.c:235978:12: */ +func fts5UnicodeIsException(tls *libc.TLS, p uintptr, iCode int32) int32 { /* sqlite3.c:236035:12: */ if (*Unicode61Tokenizer)(unsafe.Pointer(p)).FnException > 0 { var a uintptr = (*Unicode61Tokenizer)(unsafe.Pointer(p)).FaiException var iLo int32 = 0 @@ -192206,7 +192237,7 @@ func fts5UnicodeIsException(tls *libc.TLS, p uintptr, iCode int32) int32 { /* sq } // Delete a "unicode61" tokenizer. -func fts5UnicodeDelete(tls *libc.TLS, pTok uintptr) { /* sqlite3.c:236002:13: */ +func fts5UnicodeDelete(tls *libc.TLS, pTok uintptr) { /* sqlite3.c:236059:13: */ if pTok != 0 { var p uintptr = pTok Xsqlite3_free(tls, (*Unicode61Tokenizer)(unsafe.Pointer(p)).FaiException) @@ -192216,7 +192247,7 @@ func fts5UnicodeDelete(tls *libc.TLS, pTok uintptr) { /* sqlite3.c:236002:13: */ return } -func unicodeSetCategories(tls *libc.TLS, p uintptr, zCat uintptr) int32 { /* sqlite3.c:236012:12: */ +func unicodeSetCategories(tls *libc.TLS, p uintptr, zCat uintptr) int32 { /* sqlite3.c:236069:12: */ var z uintptr = zCat for *(*int8)(unsafe.Pointer(z)) != 0 { @@ -192236,7 +192267,7 @@ func unicodeSetCategories(tls *libc.TLS, p uintptr, zCat uintptr) int32 { /* sql } // Create a "unicode61" tokenizer. -func fts5UnicodeCreate(tls *libc.TLS, pUnused uintptr, azArg uintptr, nArg int32, ppOut uintptr) int32 { /* sqlite3.c:236030:12: */ +func fts5UnicodeCreate(tls *libc.TLS, pUnused uintptr, azArg uintptr, nArg int32, ppOut uintptr) int32 { /* sqlite3.c:236087:12: */ var rc int32 = SQLITE_OK // Return code var p uintptr = uintptr(0) // New tokenizer object @@ -192304,12 +192335,12 @@ func fts5UnicodeCreate(tls *libc.TLS, pUnused uintptr, azArg uintptr, nArg int32 // Return true if, for the purposes of tokenizing with the tokenizer // passed as the first argument, codepoint iCode is considered a token // character (not a separator). -func fts5UnicodeIsAlnum(tls *libc.TLS, p uintptr, iCode int32) int32 { /* sqlite3.c:236110:12: */ +func fts5UnicodeIsAlnum(tls *libc.TLS, p uintptr, iCode int32) int32 { /* sqlite3.c:236167:12: */ return int32(*(*uint8)(unsafe.Pointer(p + 160 + uintptr(sqlite3Fts5UnicodeCategory(tls, U32(iCode)))))) ^ fts5UnicodeIsException(tls, p, iCode) } -func fts5UnicodeTokenize(tls *libc.TLS, pTokenizer uintptr, pCtx uintptr, iUnused int32, pText uintptr, nText int32, xToken uintptr) int32 { /* sqlite3.c:236117:12: */ +func fts5UnicodeTokenize(tls *libc.TLS, pTokenizer uintptr, pCtx uintptr, iUnused int32, pText uintptr, nText int32, xToken uintptr) int32 { /* sqlite3.c:236174:12: */ var p uintptr var rc int32 var a uintptr @@ -192565,7 +192596,7 @@ type PorterTokenizer1 = struct { Ftokenizer Fts5_tokenizer FpTokenizer uintptr FaBuf [128]int8 -} /* sqlite3.c:236229:9 */ +} /* sqlite3.c:236286:9 */ // ************************************************************************* // @@ -192574,10 +192605,10 @@ type PorterTokenizer1 = struct { // Any tokens larger than this (in bytes) are passed through without // stemming. -type PorterTokenizer = PorterTokenizer1 /* sqlite3.c:236229:32 */ +type PorterTokenizer = PorterTokenizer1 /* sqlite3.c:236286:32 */ // Delete a "porter" tokenizer. -func fts5PorterDelete(tls *libc.TLS, pTok uintptr) { /* sqlite3.c:236239:13: */ +func fts5PorterDelete(tls *libc.TLS, pTok uintptr) { /* sqlite3.c:236296:13: */ if pTok != 0 { var p uintptr = pTok if (*PorterTokenizer)(unsafe.Pointer(p)).FpTokenizer != 0 { @@ -192588,7 +192619,7 @@ func fts5PorterDelete(tls *libc.TLS, pTok uintptr) { /* sqlite3.c:236239:13: */ } // Create a "porter" tokenizer. -func fts5PorterCreate(tls *libc.TLS, pCtx uintptr, azArg uintptr, nArg int32, ppOut uintptr) int32 { /* sqlite3.c:236252:12: */ +func fts5PorterCreate(tls *libc.TLS, pCtx uintptr, azArg uintptr, nArg int32, ppOut uintptr) int32 { /* sqlite3.c:236309:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -192641,9 +192672,9 @@ type PorterContext1 = struct { FpCtx uintptr FxToken uintptr FaBuf uintptr -} /* sqlite3.c:236288:9 */ +} /* sqlite3.c:236345:9 */ -type PorterContext = PorterContext1 /* sqlite3.c:236288:30 */ +type PorterContext = PorterContext1 /* sqlite3.c:236345:30 */ type PorterRule1 = struct { FzSuffix uintptr @@ -192653,15 +192684,15 @@ type PorterRule1 = struct { FzOutput uintptr FnOutput int32 F__ccgo_pad2 [4]byte -} /* sqlite3.c:236295:9 */ +} /* sqlite3.c:236352:9 */ -type PorterRule = PorterRule1 /* sqlite3.c:236295:27 */ +type PorterRule = PorterRule1 /* sqlite3.c:236352:27 */ -func fts5PorterIsVowel(tls *libc.TLS, c int8, bYIsVowel int32) int32 { /* sqlite3.c:236330:12: */ +func fts5PorterIsVowel(tls *libc.TLS, c int8, bYIsVowel int32) int32 { /* sqlite3.c:236387:12: */ return libc.Bool32(int32(c) == 'a' || int32(c) == 'e' || int32(c) == 'i' || int32(c) == 'o' || int32(c) == 'u' || bYIsVowel != 0 && int32(c) == 'y') } -func fts5PorterGobbleVC(tls *libc.TLS, zStem uintptr, nStem int32, bPrevCons int32) int32 { /* sqlite3.c:236336:12: */ +func fts5PorterGobbleVC(tls *libc.TLS, zStem uintptr, nStem int32, bPrevCons int32) int32 { /* sqlite3.c:236393:12: */ var i int32 var bCons int32 = bPrevCons @@ -192682,12 +192713,12 @@ func fts5PorterGobbleVC(tls *libc.TLS, zStem uintptr, nStem int32, bPrevCons int } // porter rule condition: (m > 0) -func fts5Porter_MGt0(tls *libc.TLS, zStem uintptr, nStem int32) int32 { /* sqlite3.c:236353:12: */ +func fts5Porter_MGt0(tls *libc.TLS, zStem uintptr, nStem int32) int32 { /* sqlite3.c:236410:12: */ return libc.BoolInt32(!!(fts5PorterGobbleVC(tls, zStem, nStem, 0) != 0)) } // porter rule condition: (m > 1) -func fts5Porter_MGt1(tls *libc.TLS, zStem uintptr, nStem int32) int32 { /* sqlite3.c:236358:12: */ +func fts5Porter_MGt1(tls *libc.TLS, zStem uintptr, nStem int32) int32 { /* sqlite3.c:236415:12: */ var n int32 n = fts5PorterGobbleVC(tls, zStem, nStem, 0) if n != 0 && fts5PorterGobbleVC(tls, zStem+uintptr(n), nStem-n, 1) != 0 { @@ -192697,7 +192728,7 @@ func fts5Porter_MGt1(tls *libc.TLS, zStem uintptr, nStem int32) int32 { /* sqlit } // porter rule condition: (m = 1) -func fts5Porter_MEq1(tls *libc.TLS, zStem uintptr, nStem int32) int32 { /* sqlite3.c:236368:12: */ +func fts5Porter_MEq1(tls *libc.TLS, zStem uintptr, nStem int32) int32 { /* sqlite3.c:236425:12: */ var n int32 n = fts5PorterGobbleVC(tls, zStem, nStem, 0) if n != 0 && 0 == fts5PorterGobbleVC(tls, zStem+uintptr(n), nStem-n, 1) { @@ -192707,7 +192738,7 @@ func fts5Porter_MEq1(tls *libc.TLS, zStem uintptr, nStem int32) int32 { /* sqlit } // porter rule condition: (*o) -func fts5Porter_Ostar(tls *libc.TLS, zStem uintptr, nStem int32) int32 { /* sqlite3.c:236378:12: */ +func fts5Porter_Ostar(tls *libc.TLS, zStem uintptr, nStem int32) int32 { /* sqlite3.c:236435:12: */ if int32(*(*int8)(unsafe.Pointer(zStem + uintptr(nStem-1)))) == 'w' || int32(*(*int8)(unsafe.Pointer(zStem + uintptr(nStem-1)))) == 'x' || int32(*(*int8)(unsafe.Pointer(zStem + uintptr(nStem-1)))) == 'y' { return 0 } else { @@ -192725,14 +192756,14 @@ func fts5Porter_Ostar(tls *libc.TLS, zStem uintptr, nStem int32) int32 { /* sqli } // porter rule condition: (m > 1 and (*S or *T)) -func fts5Porter_MGt1_and_S_or_T(tls *libc.TLS, zStem uintptr, nStem int32) int32 { /* sqlite3.c:236395:12: */ +func fts5Porter_MGt1_and_S_or_T(tls *libc.TLS, zStem uintptr, nStem int32) int32 { /* sqlite3.c:236452:12: */ return libc.Bool32((int32(*(*int8)(unsafe.Pointer(zStem + uintptr(nStem-1)))) == 's' || int32(*(*int8)(unsafe.Pointer(zStem + uintptr(nStem-1)))) == 't') && fts5Porter_MGt1(tls, zStem, nStem) != 0) } // porter rule condition: (*v*) -func fts5Porter_Vowel(tls *libc.TLS, zStem uintptr, nStem int32) int32 { /* sqlite3.c:236402:12: */ +func fts5Porter_Vowel(tls *libc.TLS, zStem uintptr, nStem int32) int32 { /* sqlite3.c:236459:12: */ var i int32 for i = 0; i < nStem; i++ { if fts5PorterIsVowel(tls, *(*int8)(unsafe.Pointer(zStem + uintptr(i))), libc.Bool32(i > 0)) != 0 { @@ -192747,7 +192778,7 @@ func fts5Porter_Vowel(tls *libc.TLS, zStem uintptr, nStem int32) int32 { /* sqli // // GENERATED CODE STARTS HERE (mkportersteps.tcl) -func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqlite3.c:236418:12: */ +func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqlite3.c:236475:12: */ var ret int32 = 0 var nBuf int32 = *(*int32)(unsafe.Pointer(pnBuf)) switch int32(*(*int8)(unsafe.Pointer(aBuf + uintptr(nBuf-2)))) { @@ -192880,7 +192911,7 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli return ret } -func fts5PorterStep1B2(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqlite3.c:236552:12: */ +func fts5PorterStep1B2(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqlite3.c:236609:12: */ var ret int32 = 0 var nBuf int32 = *(*int32)(unsafe.Pointer(pnBuf)) switch int32(*(*int8)(unsafe.Pointer(aBuf + uintptr(nBuf-2)))) { @@ -192913,7 +192944,7 @@ func fts5PorterStep1B2(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sq return ret } -func fts5PorterStep2(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqlite3.c:236586:12: */ +func fts5PorterStep2(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqlite3.c:236643:12: */ var ret int32 = 0 var nBuf int32 = *(*int32)(unsafe.Pointer(pnBuf)) switch int32(*(*int8)(unsafe.Pointer(aBuf + uintptr(nBuf-2)))) { @@ -193059,7 +193090,7 @@ func fts5PorterStep2(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli return ret } -func fts5PorterStep3(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqlite3.c:236733:12: */ +func fts5PorterStep3(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqlite3.c:236790:12: */ var ret int32 = 0 var nBuf int32 = *(*int32)(unsafe.Pointer(pnBuf)) switch int32(*(*int8)(unsafe.Pointer(aBuf + uintptr(nBuf-2)))) { @@ -193124,7 +193155,7 @@ func fts5PorterStep3(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli return ret } -func fts5PorterStep1B(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqlite3.c:236799:12: */ +func fts5PorterStep1B(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqlite3.c:236856:12: */ var ret int32 = 0 var nBuf int32 = *(*int32)(unsafe.Pointer(pnBuf)) switch int32(*(*int8)(unsafe.Pointer(aBuf + uintptr(nBuf-2)))) { @@ -193161,7 +193192,7 @@ func fts5PorterStep1B(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sql // // -func fts5PorterStep1A(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) { /* sqlite3.c:236836:13: */ +func fts5PorterStep1A(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) { /* sqlite3.c:236893:13: */ var nBuf int32 = *(*int32)(unsafe.Pointer(pnBuf)) if int32(*(*int8)(unsafe.Pointer(aBuf + uintptr(nBuf-1)))) == 's' { if int32(*(*int8)(unsafe.Pointer(aBuf + uintptr(nBuf-2)))) == 'e' { @@ -193177,7 +193208,7 @@ func fts5PorterStep1A(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) { /* sqlite3.c } } -func fts5PorterCb(tls *libc.TLS, pCtx uintptr, tflags int32, pToken uintptr, nToken int32, iStart int32, iEnd int32) int32 { /* sqlite3.c:236854:12: */ +func fts5PorterCb(tls *libc.TLS, pCtx uintptr, tflags int32, pToken uintptr, nToken int32, iStart int32, iEnd int32) int32 { /* sqlite3.c:236911:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -193275,7 +193306,7 @@ pass_through: } // Tokenize using the porter tokenizer. -func fts5PorterTokenize(tls *libc.TLS, pTokenizer uintptr, pCtx uintptr, flags int32, pText uintptr, nText int32, xToken uintptr) int32 { /* sqlite3.c:236923:12: */ +func fts5PorterTokenize(tls *libc.TLS, pTokenizer uintptr, pCtx uintptr, flags int32, pText uintptr, nText int32, xToken uintptr) int32 { /* sqlite3.c:236980:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -193296,20 +193327,20 @@ func fts5PorterTokenize(tls *libc.TLS, pTokenizer uintptr, pCtx uintptr, flags i // ************************************************************************* // // Start of trigram implementation. -type TrigramTokenizer1 = struct{ FbFold int32 } /* sqlite3.c:236943:9 */ +type TrigramTokenizer1 = struct{ FbFold int32 } /* sqlite3.c:237000:9 */ // ************************************************************************* // // Start of trigram implementation. -type TrigramTokenizer = TrigramTokenizer1 /* sqlite3.c:236943:33 */ +type TrigramTokenizer = TrigramTokenizer1 /* sqlite3.c:237000:33 */ // Free a trigram tokenizer. -func fts5TriDelete(tls *libc.TLS, p uintptr) { /* sqlite3.c:236951:13: */ +func fts5TriDelete(tls *libc.TLS, p uintptr) { /* sqlite3.c:237008:13: */ Xsqlite3_free(tls, p) } // Allocate a trigram tokenizer. -func fts5TriCreate(tls *libc.TLS, pUnused uintptr, azArg uintptr, nArg int32, ppOut uintptr) int32 { /* sqlite3.c:236958:12: */ +func fts5TriCreate(tls *libc.TLS, pUnused uintptr, azArg uintptr, nArg int32, ppOut uintptr) int32 { /* sqlite3.c:237015:12: */ var rc int32 = SQLITE_OK var pNew uintptr = Xsqlite3_malloc(tls, int32(unsafe.Sizeof(TrigramTokenizer{}))) _ = pUnused @@ -193340,7 +193371,7 @@ func fts5TriCreate(tls *libc.TLS, pUnused uintptr, azArg uintptr, nArg int32, pp } // Trigram tokenizer tokenize routine. -func fts5TriTokenize(tls *libc.TLS, pTok uintptr, pCtx uintptr, unusedFlags int32, pText uintptr, nText int32, xToken uintptr) int32 { /* sqlite3.c:236996:12: */ +func fts5TriTokenize(tls *libc.TLS, pTok uintptr, pCtx uintptr, unusedFlags int32, pText uintptr, nText int32, xToken uintptr) int32 { /* sqlite3.c:237053:12: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -193493,7 +193524,7 @@ func fts5TriTokenize(tls *libc.TLS, pTok uintptr, pCtx uintptr, unusedFlags int3 // "trigram" tokenizer, case_sensitive=1 - FTS5_PATTERN_GLOB // "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) int32 { /* sqlite3.c:237056:12: */ +func sqlite3Fts5TokenizerPattern(tls *libc.TLS, xCreate uintptr, pTok uintptr) int32 { /* sqlite3.c:237113:12: */ if xCreate == *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 }{fts5TriCreate})) { @@ -193507,7 +193538,7 @@ func sqlite3Fts5TokenizerPattern(tls *libc.TLS, xCreate uintptr, pTok uintptr) i } // Register all built-in tokenizers with FTS5. -func sqlite3Fts5TokenizerInit(tls *libc.TLS, pApi uintptr) int32 { /* sqlite3.c:237070:12: */ +func sqlite3Fts5TokenizerInit(tls *libc.TLS, pApi uintptr) int32 { /* sqlite3.c:237127:12: */ bp := tls.Alloc(128) defer tls.Free(128) @@ -193553,7 +193584,7 @@ func sqlite3Fts5TokenizerInit(tls *libc.TLS, pApi uintptr) int32 { /* sqlite3.c: type BuiltinTokenizer = struct { FzName uintptr Fx Fts5_tokenizer -} /* sqlite3.c:237071:3 */ +} /* sqlite3.c:237128:3 */ // 2012-05-25 // @@ -193576,7 +193607,7 @@ type BuiltinTokenizer = struct { // SMALL LETTER E WITH DIAERESIS" - return 65 ("LATIN SMALL LETTER // E"). The resuls of passing a codepoint that corresponds to an // uppercase letter are undefined. -func fts5_remove_diacritic(tls *libc.TLS, c int32, bComplex int32) int32 { /* sqlite3.c:237126:12: */ +func fts5_remove_diacritic(tls *libc.TLS, c int32, bComplex int32) int32 { /* sqlite3.c:237183:12: */ bp := tls.Alloc(378) defer tls.Free(378) @@ -193647,7 +193678,7 @@ func fts5_remove_diacritic(tls *libc.TLS, c int32, bComplex int32) int32 { /* sq // Return true if the argument interpreted as a unicode codepoint // is a diacritical modifier character. -func sqlite3Fts5UnicodeIsdiacritic(tls *libc.TLS, c int32) int32 { /* sqlite3.c:237193:12: */ +func sqlite3Fts5UnicodeIsdiacritic(tls *libc.TLS, c int32) int32 { /* sqlite3.c:237250:12: */ var mask0 uint32 = uint32(0x08029FDF) var mask1 uint32 = uint32(0x000361F8) if c < 768 || c > 817 { @@ -193666,7 +193697,7 @@ func sqlite3Fts5UnicodeIsdiacritic(tls *libc.TLS, c int32) int32 { /* sqlite3.c: // // The results are undefined if the value passed to this function // is less than zero. -func sqlite3Fts5UnicodeFold(tls *libc.TLS, c int32, eRemoveDiacritic int32) int32 { /* sqlite3.c:237212:12: */ +func sqlite3Fts5UnicodeFold(tls *libc.TLS, c int32, eRemoveDiacritic int32) int32 { /* sqlite3.c:237269:12: */ var ret int32 = c @@ -193727,7 +193758,7 @@ type TableEntry = struct { FiCode uint16 Fflags uint8 FnRange uint8 -} /* sqlite3.c:237230:16 */ +} /* sqlite3.c:237287:16 */ var aEntry = [163]TableEntry{ {FiCode: uint16(65), Fflags: uint8(14), FnRange: uint8(26)}, {FiCode: uint16(181), Fflags: uint8(64), FnRange: uint8(1)}, {FiCode: uint16(192), Fflags: uint8(14), FnRange: uint8(23)}, @@ -193785,7 +193816,7 @@ var aEntry = [163]TableEntry{ {FiCode: uint16(42878), Fflags: uint8(1), FnRange: uint8(10)}, {FiCode: uint16(42891), FnRange: uint8(1)}, {FiCode: uint16(42893), Fflags: uint8(74), FnRange: uint8(1)}, {FiCode: uint16(42896), Fflags: uint8(1), FnRange: uint8(4)}, {FiCode: uint16(42912), Fflags: uint8(1), FnRange: uint8(10)}, {FiCode: uint16(42922), Fflags: uint8(72), FnRange: uint8(1)}, {FiCode: uint16(65313), Fflags: uint8(14), FnRange: uint8(26)}, -} /* sqlite3.c:237234:5 */ +} /* sqlite3.c:237291:5 */ var aiOff = [77]uint16{ uint16(1), uint16(2), uint16(8), uint16(15), uint16(16), uint16(26), uint16(28), uint16(32), uint16(37), uint16(38), uint16(40), uint16(48), uint16(63), uint16(64), uint16(69), uint16(71), @@ -193797,9 +193828,9 @@ var aiOff = [77]uint16{ uint16(65408), uint16(65410), uint16(65415), uint16(65424), uint16(65436), uint16(65439), uint16(65450), uint16(65462), uint16(65472), uint16(65476), uint16(65478), uint16(65480), uint16(65482), uint16(65488), uint16(65506), uint16(65511), uint16(65514), uint16(65521), uint16(65527), uint16(65528), uint16(65529), -} /* sqlite3.c:237291:31 */ +} /* sqlite3.c:237348:31 */ -func sqlite3Fts5UnicodeCatParse(tls *libc.TLS, zCat uintptr, aArray uintptr) int32 { /* sqlite3.c:237348:12: */ +func sqlite3Fts5UnicodeCatParse(tls *libc.TLS, zCat uintptr, aArray uintptr) int32 { /* sqlite3.c:237405:12: */ *(*U8)(unsafe.Pointer(aArray)) = U8(1) switch int32(*(*int8)(unsafe.Pointer(zCat))) { case 'C': @@ -193996,7 +194027,7 @@ func sqlite3Fts5UnicodeCatParse(tls *libc.TLS, zCat uintptr, aArray uintptr) int var aFts5UnicodeBlock = [17]U16{ U16(0), U16(1471), U16(1753), U16(1760), U16(1760), U16(1760), U16(1760), U16(1760), U16(1760), U16(1760), U16(1760), U16(1760), U16(1760), U16(1760), U16(1760), U16(1763), U16(1765), -} /* sqlite3.c:237466:12 */ +} /* sqlite3.c:237523:12 */ var aFts5UnicodeMap = [1765]U16{ U16(0), U16(32), U16(33), U16(36), U16(37), U16(40), U16(41), U16(42), U16(43), U16(44), U16(45), U16(46), U16(48), U16(58), U16(60), U16(63), U16(65), U16(91), U16(92), U16(93), @@ -194175,7 +194206,7 @@ var aFts5UnicodeMap = [1765]U16{ U16(62406), U16(62432), U16(62464), U16(62528), U16(62530), U16(62713), U16(62720), U16(62784), U16(62800), U16(62971), U16(63045), U16(63104), U16(63232), U16(0), U16(42710), U16(42752), U16(46900), U16(46912), U16(47133), U16(63488), U16(1), U16(32), U16(256), U16(0), U16(65533), -} /* sqlite3.c:237470:12 */ +} /* sqlite3.c:237527:12 */ var aFts5UnicodeData = [1765]U16{ U16(1025), U16(61), U16(117), U16(55), U16(117), U16(54), U16(50), U16(53), U16(57), U16(53), U16(49), U16(85), U16(333), U16(85), U16(121), U16(85), U16(841), U16(54), U16(53), U16(50), @@ -194354,9 +194385,9 @@ var aFts5UnicodeData = [1765]U16{ U16(186), U16(570), U16(2042), U16(58), U16(5850), U16(154), U16(2010), U16(154), U16(794), U16(2266), U16(378), U16(2266), U16(3738), U16(39), U16(39), U16(39), U16(39), U16(39), U16(39), U16(17351), U16(34), U16(3074), U16(7692), U16(63), U16(63), -} /* sqlite3.c:237649:12 */ +} /* sqlite3.c:237706:12 */ -func sqlite3Fts5UnicodeCategory(tls *libc.TLS, iCode U32) int32 { /* sqlite3.c:237829:12: */ +func sqlite3Fts5UnicodeCategory(tls *libc.TLS, iCode U32) int32 { /* sqlite3.c:237886:12: */ var iRes int32 = -1 var iHi int32 var iLo int32 @@ -194396,7 +194427,7 @@ func sqlite3Fts5UnicodeCategory(tls *libc.TLS, iCode U32) int32 { /* sqlite3.c:2 return 9 } -func sqlite3Fts5UnicodeAscii(tls *libc.TLS, aArray uintptr, aAscii uintptr) { /* sqlite3.c:237860:13: */ +func sqlite3Fts5UnicodeAscii(tls *libc.TLS, aArray uintptr, aAscii uintptr) { /* sqlite3.c:237917:13: */ var i int32 = 0 var iTbl int32 = 0 for i < 128 { @@ -194428,7 +194459,7 @@ func sqlite3Fts5UnicodeAscii(tls *libc.TLS, aArray uintptr, aAscii uintptr) { /* // This is a copy of the sqlite3GetVarint32() routine from the SQLite core. // Except, this version does handle the single byte case that the core // version depends on being handled before its function is called. -func sqlite3Fts5GetVarint32(tls *libc.TLS, p uintptr, v uintptr) int32 { /* sqlite3.c:237898:12: */ +func sqlite3Fts5GetVarint32(tls *libc.TLS, p uintptr, v uintptr) int32 { /* sqlite3.c:237955:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -194503,7 +194534,7 @@ func sqlite3Fts5GetVarint32(tls *libc.TLS, p uintptr, v uintptr) int32 { /* sqli // Read a 64-bit variable-length integer from memory starting at p[0]. // Return the number of bytes read. The value is stored in *v. -func sqlite3Fts5GetVarint(tls *libc.TLS, p uintptr, v uintptr) U8 { /* sqlite3.c:237976:11: */ +func sqlite3Fts5GetVarint(tls *libc.TLS, p uintptr, v uintptr) U8 { /* sqlite3.c:238033:11: */ var a U32 var b U32 var s U32 @@ -194679,7 +194710,7 @@ func sqlite3Fts5GetVarint(tls *libc.TLS, p uintptr, v uintptr) U8 { /* sqlite3.c // for all bytes that have the 8th bit set and one byte with the 8th // bit clear. Except, if we get to the 9th byte, it stores the full // 8 bits and is the last byte. -func fts5PutVarint64(tls *libc.TLS, p uintptr, v U64) int32 { /* sqlite3.c:238170:26: */ +func fts5PutVarint64(tls *libc.TLS, p uintptr, v U64) int32 { /* sqlite3.c:238227:26: */ bp := tls.Alloc(10) defer tls.Free(10) @@ -194725,7 +194756,7 @@ __3: return n } -func sqlite3Fts5PutVarint(tls *libc.TLS, p uintptr, v U64) int32 { /* sqlite3.c:238195:12: */ +func sqlite3Fts5PutVarint(tls *libc.TLS, p uintptr, v U64) int32 { /* sqlite3.c:238252:12: */ if v <= uint64(0x7f) { *(*uint8)(unsafe.Pointer(p)) = uint8(v & uint64(0x7f)) return 1 @@ -194738,7 +194769,7 @@ func sqlite3Fts5PutVarint(tls *libc.TLS, p uintptr, v U64) int32 { /* sqlite3.c: return fts5PutVarint64(tls, p, v) } -func sqlite3Fts5GetVarintLen(tls *libc.TLS, iVal U32) int32 { /* sqlite3.c:238209:12: */ +func sqlite3Fts5GetVarintLen(tls *libc.TLS, iVal U32) int32 { /* sqlite3.c:238266:12: */ if iVal < U32(int32(1)<<14) { return 2 @@ -194798,7 +194829,7 @@ type Fts5VocabTable1 = struct { FpGlobal uintptr FeType int32 FbBusy uint32 -} /* sqlite3.c:238262:9 */ +} /* sqlite3.c:238319:9 */ // 2015 May 08 // @@ -194838,7 +194869,7 @@ type Fts5VocabTable1 = struct { // #include "fts5Int.h" -type Fts5VocabTable = Fts5VocabTable1 /* sqlite3.c:238262:31 */ +type Fts5VocabTable = Fts5VocabTable1 /* sqlite3.c:238319:31 */ type Fts5VocabCursor1 = struct { Fbase Sqlite3_vtab_cursor FpStmt uintptr @@ -194859,9 +194890,9 @@ type Fts5VocabCursor1 = struct { FiInstPos I64 FiInstOff int32 F__ccgo_pad4 [4]byte -} /* sqlite3.c:238263:9 */ +} /* sqlite3.c:238320:9 */ -type Fts5VocabCursor = Fts5VocabCursor1 /* sqlite3.c:238263:32 */ +type Fts5VocabCursor = Fts5VocabCursor1 /* sqlite3.c:238320:32 */ // Bits for the mask used as the idxNum value by xBestIndex/xFilter. @@ -194869,7 +194900,7 @@ type Fts5VocabCursor = Fts5VocabCursor1 /* sqlite3.c:238263:32 */ // FTS5_VOCAB_XXX constant. If successful, set *peType to the output // value and return SQLITE_OK. Otherwise, set *pzErr to an error message // and return SQLITE_ERROR. -func fts5VocabTableType(tls *libc.TLS, zType uintptr, pzErr uintptr, peType uintptr) int32 { /* sqlite3.c:238323:12: */ +func fts5VocabTableType(tls *libc.TLS, zType uintptr, pzErr uintptr, peType uintptr) int32 { /* sqlite3.c:238380:12: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -194894,14 +194925,14 @@ func fts5VocabTableType(tls *libc.TLS, zType uintptr, pzErr uintptr, peType uint } // The xDisconnect() virtual table method. -func fts5VocabDisconnectMethod(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:238352:12: */ +func fts5VocabDisconnectMethod(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:238409:12: */ var pTab uintptr = pVtab Xsqlite3_free(tls, pTab) return SQLITE_OK } // The xDestroy() virtual table method. -func fts5VocabDestroyMethod(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:238361:12: */ +func fts5VocabDestroyMethod(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:238418:12: */ var pTab uintptr = pVtab Xsqlite3_free(tls, pTab) return SQLITE_OK @@ -194926,7 +194957,7 @@ func fts5VocabDestroyMethod(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:2 // argv[3] -> name of fts5 tables database // argv[4] -> name of fts5 table // argv[5] -> type of fts5vocab table -func fts5VocabInitVtab(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVTab uintptr, pzErr uintptr) int32 { /* sqlite3.c:238388:12: */ +func fts5VocabInitVtab(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVTab uintptr, pzErr uintptr) int32 { /* sqlite3.c:238445:12: */ bp := tls.Alloc(36) defer tls.Free(36) @@ -194996,11 +195027,11 @@ func fts5VocabInitVtab(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv // The xConnect() and xCreate() methods for the virtual table. All the // work is done in function fts5VocabInitVtab(). -func fts5VocabConnectMethod(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 { /* sqlite3.c:238450:12: */ +func fts5VocabConnectMethod(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 { /* sqlite3.c:238507:12: */ return fts5VocabInitVtab(tls, db, pAux, argc, argv, ppVtab, pzErr) } -func fts5VocabCreateMethod(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 { /* sqlite3.c:238460:12: */ +func fts5VocabCreateMethod(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 { /* sqlite3.c:238517:12: */ return fts5VocabInitVtab(tls, db, pAux, argc, argv, ppVtab, pzErr) } @@ -195014,7 +195045,7 @@ func fts5VocabCreateMethod(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, // // are interpreted. Less-than and less-than-or-equal are treated // identically, as are greater-than and greater-than-or-equal. -func fts5VocabBestIndexMethod(tls *libc.TLS, pUnused uintptr, pInfo uintptr) int32 { /* sqlite3.c:238483:12: */ +func fts5VocabBestIndexMethod(tls *libc.TLS, pUnused uintptr, pInfo uintptr) int32 { /* sqlite3.c:238540:12: */ var i int32 var iTermEq int32 = -1 var iTermGe int32 = -1 @@ -195082,7 +195113,7 @@ func fts5VocabBestIndexMethod(tls *libc.TLS, pUnused uintptr, pInfo uintptr) int } // Implementation of xOpen method. -func fts5VocabOpenMethod(tls *libc.TLS, pVTab uintptr, ppCsr uintptr) int32 { /* sqlite3.c:238545:12: */ +func fts5VocabOpenMethod(tls *libc.TLS, pVTab uintptr, ppCsr uintptr) int32 { /* sqlite3.c:238602:12: */ bp := tls.Alloc(80) defer tls.Free(80) @@ -195149,7 +195180,7 @@ func fts5VocabOpenMethod(tls *libc.TLS, pVTab uintptr, ppCsr uintptr) int32 { /* return *(*int32)(unsafe.Pointer(bp + 64 /* rc */)) } -func fts5VocabResetCursor(tls *libc.TLS, pCsr uintptr) { /* sqlite3.c:238613:13: */ +func fts5VocabResetCursor(tls *libc.TLS, pCsr uintptr) { /* sqlite3.c:238670:13: */ (*Fts5VocabCursor)(unsafe.Pointer(pCsr)).Frowid = int64(0) sqlite3Fts5IterClose(tls, (*Fts5VocabCursor)(unsafe.Pointer(pCsr)).FpIter) sqlite3Fts5StructureRelease(tls, (*Fts5VocabCursor)(unsafe.Pointer(pCsr)).FpStruct) @@ -195163,7 +195194,7 @@ func fts5VocabResetCursor(tls *libc.TLS, pCsr uintptr) { /* sqlite3.c:238613:13: // Close the cursor. For additional information see the documentation // on the xClose method of the virtual table interface. -func fts5VocabCloseMethod(tls *libc.TLS, pCursor uintptr) int32 { /* sqlite3.c:238629:12: */ +func fts5VocabCloseMethod(tls *libc.TLS, pCursor uintptr) int32 { /* sqlite3.c:238686:12: */ var pCsr uintptr = pCursor fts5VocabResetCursor(tls, pCsr) sqlite3Fts5BufferFree(tls, pCsr+96) @@ -195172,7 +195203,7 @@ func fts5VocabCloseMethod(tls *libc.TLS, pCursor uintptr) int32 { /* sqlite3.c:2 return SQLITE_OK } -func fts5VocabInstanceNewTerm(tls *libc.TLS, pCsr uintptr) int32 { /* sqlite3.c:238638:12: */ +func fts5VocabInstanceNewTerm(tls *libc.TLS, pCsr uintptr) int32 { /* sqlite3.c:238695:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -195203,7 +195234,7 @@ func fts5VocabInstanceNewTerm(tls *libc.TLS, pCsr uintptr) int32 { /* sqlite3.c: return *(*int32)(unsafe.Pointer(bp + 4 /* rc */)) } -func fts5VocabInstanceNext(tls *libc.TLS, pCsr uintptr) int32 { /* sqlite3.c:238660:12: */ +func fts5VocabInstanceNext(tls *libc.TLS, pCsr uintptr) int32 { /* sqlite3.c:238717:12: */ var eDetail int32 = (*Fts5Config)(unsafe.Pointer((*Fts5Table)(unsafe.Pointer((*Fts5VocabCursor)(unsafe.Pointer(pCsr)).FpFts5)).FpConfig)).FeDetail var rc int32 = SQLITE_OK var pIter uintptr = (*Fts5VocabCursor)(unsafe.Pointer(pCsr)).FpIter @@ -195232,7 +195263,7 @@ func fts5VocabInstanceNext(tls *libc.TLS, pCsr uintptr) int32 { /* sqlite3.c:238 } // Advance the cursor to the next row in the table. -func fts5VocabNextMethod(tls *libc.TLS, pCursor uintptr) int32 { /* sqlite3.c:238692:12: */ +func fts5VocabNextMethod(tls *libc.TLS, pCursor uintptr) int32 { /* sqlite3.c:238749:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -195376,7 +195407,7 @@ func fts5VocabNextMethod(tls *libc.TLS, pCursor uintptr) int32 { /* sqlite3.c:23 } // This is the xFilter implementation for the virtual table. -func fts5VocabFilterMethod(tls *libc.TLS, pCursor uintptr, idxNum int32, zUnused uintptr, nUnused int32, apVal uintptr) int32 { /* sqlite3.c:238820:12: */ +func fts5VocabFilterMethod(tls *libc.TLS, pCursor uintptr, idxNum int32, zUnused uintptr, nUnused int32, apVal uintptr) int32 { /* sqlite3.c:238877:12: */ var pTab uintptr = (*Sqlite3_vtab_cursor)(unsafe.Pointer(pCursor)).FpVtab var pCsr uintptr = pCursor var eType int32 = (*Fts5VocabTable)(unsafe.Pointer(pTab)).FeType @@ -195450,12 +195481,12 @@ func fts5VocabFilterMethod(tls *libc.TLS, pCursor uintptr, idxNum int32, zUnused // This is the xEof method of the virtual table. SQLite calls this // routine to find out if it has reached the end of a result set. -func fts5VocabEofMethod(tls *libc.TLS, pCursor uintptr) int32 { /* sqlite3.c:238894:12: */ +func fts5VocabEofMethod(tls *libc.TLS, pCursor uintptr) int32 { /* sqlite3.c:238951:12: */ var pCsr uintptr = pCursor return (*Fts5VocabCursor)(unsafe.Pointer(pCsr)).FbEof } -func fts5VocabColumnMethod(tls *libc.TLS, pCursor uintptr, pCtx uintptr, iCol int32) int32 { /* sqlite3.c:238899:12: */ +func fts5VocabColumnMethod(tls *libc.TLS, pCursor uintptr, pCtx uintptr, iCol int32) int32 { /* sqlite3.c:238956:12: */ var pCsr uintptr = pCursor var eDetail int32 = (*Fts5Config)(unsafe.Pointer((*Fts5Table)(unsafe.Pointer((*Fts5VocabCursor)(unsafe.Pointer(pCsr)).FpFts5)).FpConfig)).FeDetail var eType int32 = (*Fts5VocabTable)(unsafe.Pointer((*Sqlite3_vtab_cursor)(unsafe.Pointer(pCursor)).FpVtab)).FeType @@ -195528,13 +195559,13 @@ func fts5VocabColumnMethod(tls *libc.TLS, pCursor uintptr, pCtx uintptr, iCol in // This is the xRowid method. The SQLite core calls this routine to // retrieve the rowid for the current row of the result set. The // rowid should be written to *pRowid. -func fts5VocabRowidMethod(tls *libc.TLS, pCursor uintptr, pRowid uintptr) int32 { /* sqlite3.c:238971:12: */ +func fts5VocabRowidMethod(tls *libc.TLS, pCursor uintptr, pRowid uintptr) int32 { /* sqlite3.c:239028:12: */ var pCsr uintptr = pCursor *(*Sqlite_int64)(unsafe.Pointer(pRowid)) = (*Fts5VocabCursor)(unsafe.Pointer(pCsr)).Frowid return SQLITE_OK } -func sqlite3Fts5VocabInit(tls *libc.TLS, pGlobal uintptr, db uintptr) int32 { /* sqlite3.c:238980:12: */ +func sqlite3Fts5VocabInit(tls *libc.TLS, pGlobal uintptr, db uintptr) int32 { /* sqlite3.c:239037:12: */ var p uintptr = pGlobal return Xsqlite3_create_module_v2(tls, db, ts+37459, uintptr(unsafe.Pointer(&fts5Vocab)), p, uintptr(0)) @@ -195554,7 +195585,7 @@ var fts5Vocab = Sqlite3_module{ /* xEof */ FxEof: 0, /* xColumn */ FxColumn: 0, /* xRowid */ FxRowid: 0, -} /* sqlite3.c:238981:31 */ +} /* sqlite3.c:239038:31 */ //************* End of fts5.c *********************************************** //************* Begin file stmt.c ******************************************* @@ -195581,8 +195612,8 @@ var fts5Vocab = Sqlite3_module{ //************* End of stmt.c *********************************************** // Return the source-id for this library -func Xsqlite3_sourceid(tls *libc.TLS) uintptr { /* sqlite3.c:239321:23: */ - return ts + 37469 /* "2022-03-12 13:37..." */ +func Xsqlite3_sourceid(tls *libc.TLS) uintptr { /* sqlite3.c:239378:23: */ + return ts + 37469 /* "2022-03-26 13:51..." */ } //************************* End of sqlite3.c ***************************** @@ -195591,162 +195622,162 @@ func init() { *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&Xsqlite3aEQb)) + 0)) = uintptr(unsafe.Pointer(&Xsqlite3UpperToLower)) + 210 // sqlite3.c:21690:51: *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&Xsqlite3aGTb)) + 0)) = uintptr(unsafe.Pointer(&Xsqlite3UpperToLower)) + 216 // sqlite3.c:21691:51: *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&Xsqlite3aLTb)) + 0)) = uintptr(unsafe.Pointer(&Xsqlite3UpperToLower)) + 204 // sqlite3.c:21689:51: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aAgg)) + 0)) = geopolyBBoxStep // sqlite3.c:201985:8: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aAgg)) + 8)) = geopolyBBoxFinal // sqlite3.c:201985:25: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aAlterTableFuncs)) + 24)) = renameColumnFunc // sqlite3.c:111067:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aAlterTableFuncs)) + 96)) = renameTableFunc // sqlite3.c:111068:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aAlterTableFuncs)) + 168)) = renameTableTest // sqlite3.c:111069:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aAlterTableFuncs)) + 240)) = dropColumnFunc // sqlite3.c:111070:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aAlterTableFuncs)) + 312)) = renameQuotefixFunc // sqlite3.c:111071:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 24)) = versionFunc // sqlite3.c:123272:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 96)) = versionFunc // sqlite3.c:123273:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 168)) = versionFunc // sqlite3.c:123274:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 240)) = versionFunc // sqlite3.c:123275:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 312)) = soundexFunc // sqlite3.c:123279:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 384)) = loadExt // sqlite3.c:123282:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 456)) = loadExt // sqlite3.c:123283:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 528)) = compileoptionusedFunc // sqlite3.c:123289:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 600)) = compileoptiongetFunc // sqlite3.c:123290:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 672)) = versionFunc // sqlite3.c:123292:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 744)) = versionFunc // sqlite3.c:123293:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 816)) = versionFunc // sqlite3.c:123294:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 888)) = versionFunc // sqlite3.c:123297:12: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 960)) = trimFunc // sqlite3.c:123299:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1032)) = trimFunc // sqlite3.c:123300:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1104)) = trimFunc // sqlite3.c:123301:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1176)) = trimFunc // sqlite3.c:123302:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1248)) = trimFunc // sqlite3.c:123303:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1320)) = trimFunc // sqlite3.c:123304:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1392)) = minmaxFunc // sqlite3.c:123305:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1536)) = minmaxStep // sqlite3.c:123307:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1544)) = minMaxFinalize // sqlite3.c:123307:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1552)) = minMaxValue // sqlite3.c:123307:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1608)) = minmaxFunc // sqlite3.c:123309:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1752)) = minmaxStep // sqlite3.c:123311:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1760)) = minMaxFinalize // sqlite3.c:123311:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1768)) = minMaxValue // sqlite3.c:123311:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1824)) = typeofFunc // sqlite3.c:123313:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1896)) = subtypeFunc // sqlite3.c:123314:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1968)) = lengthFunc // sqlite3.c:123315:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2040)) = instrFunc // sqlite3.c:123316:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2112)) = printfFunc // sqlite3.c:123317:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2184)) = printfFunc // sqlite3.c:123318:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2256)) = unicodeFunc // sqlite3.c:123319:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2328)) = charFunc // sqlite3.c:123320:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2400)) = absFunc // sqlite3.c:123321:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2472)) = roundFunc // sqlite3.c:123323:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2544)) = roundFunc // sqlite3.c:123324:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2616)) = upperFunc // sqlite3.c:123326:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2688)) = lowerFunc // sqlite3.c:123327:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2760)) = hexFunc // sqlite3.c:123328:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2832)) = versionFunc // sqlite3.c:123329:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2904)) = randomFunc // sqlite3.c:123330:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2976)) = randomBlob // sqlite3.c:123331:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3048)) = nullifFunc // sqlite3.c:123332:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3120)) = versionFunc // sqlite3.c:123333:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3192)) = sourceidFunc // sqlite3.c:123334:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3264)) = errlogFunc // sqlite3.c:123335:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3336)) = quoteFunc // sqlite3.c:123336:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3408)) = last_insert_rowid // sqlite3.c:123337:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3480)) = changes // sqlite3.c:123338:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3552)) = total_changes // sqlite3.c:123339:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3624)) = replaceFunc // sqlite3.c:123340:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3696)) = zeroblobFunc // sqlite3.c:123341:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3768)) = substrFunc // sqlite3.c:123342:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3840)) = substrFunc // sqlite3.c:123343:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3912)) = substrFunc // sqlite3.c:123344:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3984)) = substrFunc // sqlite3.c:123345:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4056)) = sumStep // sqlite3.c:123346:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4064)) = sumFinalize // sqlite3.c:123346:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4072)) = sumFinalize // sqlite3.c:123346:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4080)) = sumInverse // sqlite3.c:123346:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4128)) = sumStep // sqlite3.c:123347:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4136)) = totalFinalize // sqlite3.c:123347:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4144)) = totalFinalize // sqlite3.c:123347:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4152)) = sumInverse // sqlite3.c:123347:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4200)) = sumStep // sqlite3.c:123348:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4208)) = avgFinalize // sqlite3.c:123348:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4216)) = avgFinalize // sqlite3.c:123348:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4224)) = sumInverse // sqlite3.c:123348:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4272)) = countStep // sqlite3.c:123349:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4280)) = countFinalize // sqlite3.c:123349:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4288)) = countFinalize // sqlite3.c:123349:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4296)) = countInverse // sqlite3.c:123349:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4344)) = countStep // sqlite3.c:123352:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4352)) = countFinalize // sqlite3.c:123352:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4360)) = countFinalize // sqlite3.c:123352:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4368)) = countInverse // sqlite3.c:123352:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4416)) = groupConcatStep // sqlite3.c:123354:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4424)) = groupConcatFinalize // sqlite3.c:123354:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4432)) = groupConcatValue // sqlite3.c:123354:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4440)) = groupConcatInverse // sqlite3.c:123354:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4488)) = groupConcatStep // sqlite3.c:123356:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4496)) = groupConcatFinalize // sqlite3.c:123356:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4504)) = groupConcatValue // sqlite3.c:123356:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4512)) = groupConcatInverse // sqlite3.c:123356:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4544 /* .pUserData */)) = uintptr(unsafe.Pointer(&globInfo)) // sqlite3.c:123359:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4560)) = likeFunc // sqlite3.c:123359:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4616 /* .pUserData */)) = uintptr(unsafe.Pointer(&likeInfoNorm)) // sqlite3.c:123364:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4632)) = likeFunc // sqlite3.c:123364:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4688 /* .pUserData */)) = uintptr(unsafe.Pointer(&likeInfoNorm)) // sqlite3.c:123365:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4704)) = likeFunc // sqlite3.c:123365:5: - *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4904)) = xCeil // sqlite3.c:123373:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4920)) = ceilingFunc // sqlite3.c:123373:5: - *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4976)) = xCeil // sqlite3.c:123374:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4992)) = ceilingFunc // sqlite3.c:123374:5: - *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5048)) = xFloor // sqlite3.c:123375:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5064)) = ceilingFunc // sqlite3.c:123375:5: - *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5120)) = libc.Xtrunc // sqlite3.c:123377:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5136)) = ceilingFunc // sqlite3.c:123377:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5208)) = logFunc // sqlite3.c:123379:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5280)) = logFunc // sqlite3.c:123380:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5352)) = logFunc // sqlite3.c:123381:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5424)) = logFunc // sqlite3.c:123382:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5496)) = logFunc // sqlite3.c:123383:5: - *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5552)) = libc.Xexp // sqlite3.c:123384:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5568)) = math1Func // sqlite3.c:123384:5: - *(*func(*libc.TLS, float64, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5624)) = libc.Xpow // sqlite3.c:123385:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5640)) = math2Func // sqlite3.c:123385:5: - *(*func(*libc.TLS, float64, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5696)) = libc.Xpow // sqlite3.c:123386:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5712)) = math2Func // sqlite3.c:123386:5: - *(*func(*libc.TLS, float64, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5768)) = libc.Xfmod // sqlite3.c:123387:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5784)) = math2Func // sqlite3.c:123387:5: - *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5840)) = libc.Xacos // sqlite3.c:123388:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5856)) = math1Func // sqlite3.c:123388:5: - *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5912)) = libc.Xasin // sqlite3.c:123389:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5928)) = math1Func // sqlite3.c:123389:5: - *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5984)) = libc.Xatan // sqlite3.c:123390:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6000)) = math1Func // sqlite3.c:123390:5: - *(*func(*libc.TLS, float64, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6056)) = libc.Xatan2 // sqlite3.c:123391:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6072)) = math2Func // sqlite3.c:123391:5: - *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6128)) = libc.Xcos // sqlite3.c:123392:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6144)) = math1Func // sqlite3.c:123392:5: - *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6200)) = libc.Xsin // sqlite3.c:123393:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6216)) = math1Func // sqlite3.c:123393:5: - *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6272)) = libc.Xtan // sqlite3.c:123394:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6288)) = math1Func // sqlite3.c:123394:5: - *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6344)) = libc.Xcosh // sqlite3.c:123395:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6360)) = math1Func // sqlite3.c:123395:5: - *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6416)) = libc.Xsinh // sqlite3.c:123396:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6432)) = math1Func // sqlite3.c:123396:5: - *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6488)) = libc.Xtanh // sqlite3.c:123397:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6504)) = math1Func // sqlite3.c:123397:5: - *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6560)) = libc.Xacosh // sqlite3.c:123399:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6576)) = math1Func // sqlite3.c:123399:5: - *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6632)) = libc.Xasinh // sqlite3.c:123400:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6648)) = math1Func // sqlite3.c:123400:5: - *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6704)) = libc.Xatanh // sqlite3.c:123401:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6720)) = math1Func // sqlite3.c:123401:5: - *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6776)) = libc.Xsqrt // sqlite3.c:123403:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6792)) = math1Func // sqlite3.c:123403:5: - *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6848)) = degToRad // sqlite3.c:123404:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6864)) = math1Func // sqlite3.c:123404:5: - *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6920)) = radToDeg // sqlite3.c:123405:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6936)) = math1Func // sqlite3.c:123405:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 7008)) = piFunc // sqlite3.c:123406:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 7080)) = signFunc // sqlite3.c:123408:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 7152)) = versionFunc // sqlite3.c:123409:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 7224)) = versionFunc // sqlite3.c:123410:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aAgg)) + 0)) = geopolyBBoxStep // sqlite3.c:202042:8: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aAgg)) + 8)) = geopolyBBoxFinal // sqlite3.c:202042:25: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aAlterTableFuncs)) + 24)) = renameColumnFunc // sqlite3.c:111080:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aAlterTableFuncs)) + 96)) = renameTableFunc // sqlite3.c:111081:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aAlterTableFuncs)) + 168)) = renameTableTest // sqlite3.c:111082:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aAlterTableFuncs)) + 240)) = dropColumnFunc // sqlite3.c:111083:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aAlterTableFuncs)) + 312)) = renameQuotefixFunc // sqlite3.c:111084:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 24)) = versionFunc // sqlite3.c:123285:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 96)) = versionFunc // sqlite3.c:123286:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 168)) = versionFunc // sqlite3.c:123287:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 240)) = versionFunc // sqlite3.c:123288:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 312)) = soundexFunc // sqlite3.c:123292:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 384)) = loadExt // sqlite3.c:123295:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 456)) = loadExt // sqlite3.c:123296:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 528)) = compileoptionusedFunc // sqlite3.c:123302:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 600)) = compileoptiongetFunc // sqlite3.c:123303:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 672)) = versionFunc // sqlite3.c:123305:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 744)) = versionFunc // sqlite3.c:123306:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 816)) = versionFunc // sqlite3.c:123307:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 888)) = versionFunc // sqlite3.c:123310:12: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 960)) = trimFunc // sqlite3.c:123312:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1032)) = trimFunc // sqlite3.c:123313:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1104)) = trimFunc // sqlite3.c:123314:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1176)) = trimFunc // sqlite3.c:123315:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1248)) = trimFunc // sqlite3.c:123316:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1320)) = trimFunc // sqlite3.c:123317:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1392)) = minmaxFunc // sqlite3.c:123318:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1536)) = minmaxStep // sqlite3.c:123320:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1544)) = minMaxFinalize // sqlite3.c:123320:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1552)) = minMaxValue // sqlite3.c:123320:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1608)) = minmaxFunc // sqlite3.c:123322:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1752)) = minmaxStep // sqlite3.c:123324:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1760)) = minMaxFinalize // sqlite3.c:123324:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1768)) = minMaxValue // sqlite3.c:123324:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1824)) = typeofFunc // sqlite3.c:123326:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1896)) = subtypeFunc // sqlite3.c:123327:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1968)) = lengthFunc // sqlite3.c:123328:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2040)) = instrFunc // sqlite3.c:123329:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2112)) = printfFunc // sqlite3.c:123330:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2184)) = printfFunc // sqlite3.c:123331:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2256)) = unicodeFunc // sqlite3.c:123332:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2328)) = charFunc // sqlite3.c:123333:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2400)) = absFunc // sqlite3.c:123334:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2472)) = roundFunc // sqlite3.c:123336:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2544)) = roundFunc // sqlite3.c:123337:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2616)) = upperFunc // sqlite3.c:123339:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2688)) = lowerFunc // sqlite3.c:123340:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2760)) = hexFunc // sqlite3.c:123341:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2832)) = versionFunc // sqlite3.c:123342:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2904)) = randomFunc // sqlite3.c:123343:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2976)) = randomBlob // sqlite3.c:123344:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3048)) = nullifFunc // sqlite3.c:123345:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3120)) = versionFunc // sqlite3.c:123346:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3192)) = sourceidFunc // sqlite3.c:123347:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3264)) = errlogFunc // sqlite3.c:123348:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3336)) = quoteFunc // sqlite3.c:123349:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3408)) = last_insert_rowid // sqlite3.c:123350:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3480)) = changes // sqlite3.c:123351:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3552)) = total_changes // sqlite3.c:123352:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3624)) = replaceFunc // sqlite3.c:123353:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3696)) = zeroblobFunc // sqlite3.c:123354:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3768)) = substrFunc // sqlite3.c:123355:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3840)) = substrFunc // sqlite3.c:123356:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3912)) = substrFunc // sqlite3.c:123357:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3984)) = substrFunc // sqlite3.c:123358:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4056)) = sumStep // sqlite3.c:123359:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4064)) = sumFinalize // sqlite3.c:123359:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4072)) = sumFinalize // sqlite3.c:123359:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4080)) = sumInverse // sqlite3.c:123359:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4128)) = sumStep // sqlite3.c:123360:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4136)) = totalFinalize // sqlite3.c:123360:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4144)) = totalFinalize // sqlite3.c:123360:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4152)) = sumInverse // sqlite3.c:123360:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4200)) = sumStep // sqlite3.c:123361:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4208)) = avgFinalize // sqlite3.c:123361:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4216)) = avgFinalize // sqlite3.c:123361:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4224)) = sumInverse // sqlite3.c:123361:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4272)) = countStep // sqlite3.c:123362:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4280)) = countFinalize // sqlite3.c:123362:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4288)) = countFinalize // sqlite3.c:123362:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4296)) = countInverse // sqlite3.c:123362:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4344)) = countStep // sqlite3.c:123365:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4352)) = countFinalize // sqlite3.c:123365:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4360)) = countFinalize // sqlite3.c:123365:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4368)) = countInverse // sqlite3.c:123365:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4416)) = groupConcatStep // sqlite3.c:123367:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4424)) = groupConcatFinalize // sqlite3.c:123367:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4432)) = groupConcatValue // sqlite3.c:123367:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4440)) = groupConcatInverse // sqlite3.c:123367:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4488)) = groupConcatStep // sqlite3.c:123369:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4496)) = groupConcatFinalize // sqlite3.c:123369:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4504)) = groupConcatValue // sqlite3.c:123369:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4512)) = groupConcatInverse // sqlite3.c:123369:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4544 /* .pUserData */)) = uintptr(unsafe.Pointer(&globInfo)) // sqlite3.c:123372:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4560)) = likeFunc // sqlite3.c:123372:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4616 /* .pUserData */)) = uintptr(unsafe.Pointer(&likeInfoNorm)) // sqlite3.c:123377:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4632)) = likeFunc // sqlite3.c:123377:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4688 /* .pUserData */)) = uintptr(unsafe.Pointer(&likeInfoNorm)) // sqlite3.c:123378:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4704)) = likeFunc // sqlite3.c:123378:5: + *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4904)) = xCeil // sqlite3.c:123386:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4920)) = ceilingFunc // sqlite3.c:123386:5: + *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4976)) = xCeil // sqlite3.c:123387:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4992)) = ceilingFunc // sqlite3.c:123387:5: + *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5048)) = xFloor // sqlite3.c:123388:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5064)) = ceilingFunc // sqlite3.c:123388:5: + *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5120)) = libc.Xtrunc // sqlite3.c:123390:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5136)) = ceilingFunc // sqlite3.c:123390:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5208)) = logFunc // sqlite3.c:123392:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5280)) = logFunc // sqlite3.c:123393:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5352)) = logFunc // sqlite3.c:123394:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5424)) = logFunc // sqlite3.c:123395:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5496)) = logFunc // sqlite3.c:123396:5: + *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5552)) = libc.Xexp // sqlite3.c:123397:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5568)) = math1Func // sqlite3.c:123397:5: + *(*func(*libc.TLS, float64, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5624)) = libc.Xpow // sqlite3.c:123398:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5640)) = math2Func // sqlite3.c:123398:5: + *(*func(*libc.TLS, float64, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5696)) = libc.Xpow // sqlite3.c:123399:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5712)) = math2Func // sqlite3.c:123399:5: + *(*func(*libc.TLS, float64, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5768)) = libc.Xfmod // sqlite3.c:123400:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5784)) = math2Func // sqlite3.c:123400:5: + *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5840)) = libc.Xacos // sqlite3.c:123401:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5856)) = math1Func // sqlite3.c:123401:5: + *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5912)) = libc.Xasin // sqlite3.c:123402:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5928)) = math1Func // sqlite3.c:123402:5: + *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5984)) = libc.Xatan // sqlite3.c:123403:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6000)) = math1Func // sqlite3.c:123403:5: + *(*func(*libc.TLS, float64, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6056)) = libc.Xatan2 // sqlite3.c:123404:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6072)) = math2Func // sqlite3.c:123404:5: + *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6128)) = libc.Xcos // sqlite3.c:123405:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6144)) = math1Func // sqlite3.c:123405:5: + *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6200)) = libc.Xsin // sqlite3.c:123406:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6216)) = math1Func // sqlite3.c:123406:5: + *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6272)) = libc.Xtan // sqlite3.c:123407:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6288)) = math1Func // sqlite3.c:123407:5: + *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6344)) = libc.Xcosh // sqlite3.c:123408:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6360)) = math1Func // sqlite3.c:123408:5: + *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6416)) = libc.Xsinh // sqlite3.c:123409:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6432)) = math1Func // sqlite3.c:123409:5: + *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6488)) = libc.Xtanh // sqlite3.c:123410:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6504)) = math1Func // sqlite3.c:123410:5: + *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6560)) = libc.Xacosh // sqlite3.c:123412:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6576)) = math1Func // sqlite3.c:123412:5: + *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6632)) = libc.Xasinh // sqlite3.c:123413:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6648)) = math1Func // sqlite3.c:123413:5: + *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6704)) = libc.Xatanh // sqlite3.c:123414:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6720)) = math1Func // sqlite3.c:123414:5: + *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6776)) = libc.Xsqrt // sqlite3.c:123416:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6792)) = math1Func // sqlite3.c:123416:5: + *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6848)) = degToRad // sqlite3.c:123417:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6864)) = math1Func // sqlite3.c:123417:5: + *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6920)) = radToDeg // sqlite3.c:123418:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6936)) = math1Func // sqlite3.c:123418:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 7008)) = piFunc // sqlite3.c:123419:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 7080)) = signFunc // sqlite3.c:123421:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 7152)) = versionFunc // sqlite3.c:123422:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 7224)) = versionFunc // sqlite3.c:123423:5: *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aDateTimeFuncs)) + 8 /* .pUserData */)) = uintptr(unsafe.Pointer(&Xsqlite3Config)) // sqlite3.c:24402:5: *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aDateTimeFuncs)) + 24)) = juliandayFunc // sqlite3.c:24402:5: *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aDateTimeFuncs)) + 80 /* .pUserData */)) = uintptr(unsafe.Pointer(&Xsqlite3Config)) // sqlite3.c:24403:5: @@ -195762,45 +195793,45 @@ func init() { *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aDateTimeFuncs)) + 456)) = ctimeFunc // sqlite3.c:24408:5: *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aDateTimeFuncs)) + 528)) = ctimestampFunc // sqlite3.c:24409:5: *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aDateTimeFuncs)) + 600)) = cdateFunc // sqlite3.c:24410:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 0)) = geopolyAreaFunc // sqlite3.c:201967:8: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 24)) = geopolyBlobFunc // sqlite3.c:201968:8: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 48)) = geopolyJsonFunc // sqlite3.c:201969:8: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 72)) = geopolySvgFunc // sqlite3.c:201970:8: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 96)) = geopolyWithinFunc // sqlite3.c:201971:8: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 120)) = geopolyContainsPointFunc // sqlite3.c:201972:8: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 144)) = geopolyOverlapFunc // sqlite3.c:201973:8: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 168)) = geopolyDebugFunc // sqlite3.c:201974:8: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 192)) = geopolyBBoxFunc // sqlite3.c:201975:8: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 216)) = geopolyXformFunc // sqlite3.c:201976:8: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 240)) = geopolyRegularFunc // sqlite3.c:201977:8: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 264)) = geopolyCcwFunc // sqlite3.c:201978:8: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 24)) = jsonRemoveFunc // sqlite3.c:195736:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 96)) = jsonArrayFunc // sqlite3.c:195737:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 168)) = jsonArrayLengthFunc // sqlite3.c:195738:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 240)) = jsonArrayLengthFunc // sqlite3.c:195739:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 312)) = jsonExtractFunc // sqlite3.c:195740:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 384)) = jsonExtractFunc // sqlite3.c:195741:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 456)) = jsonExtractFunc // sqlite3.c:195742:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 528)) = jsonSetFunc // sqlite3.c:195743:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 600)) = jsonObjectFunc // sqlite3.c:195744:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 672)) = jsonPatchFunc // sqlite3.c:195745:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 744)) = jsonQuoteFunc // sqlite3.c:195746:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 816)) = jsonRemoveFunc // sqlite3.c:195747:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 888)) = jsonReplaceFunc // sqlite3.c:195748:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 960)) = jsonSetFunc // sqlite3.c:195749:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 1032)) = jsonTypeFunc // sqlite3.c:195750:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 1104)) = jsonTypeFunc // sqlite3.c:195751:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 1176)) = jsonValidFunc // sqlite3.c:195752:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 1248)) = jsonArrayStep // sqlite3.c:195757:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 1256)) = jsonArrayFinal // sqlite3.c:195757:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 1264)) = jsonArrayValue // sqlite3.c:195757:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 1272)) = jsonGroupInverse // sqlite3.c:195757:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 1320)) = jsonObjectStep // sqlite3.c:195760:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 1328)) = jsonObjectFinal // sqlite3.c:195760:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 1336)) = jsonObjectValue // sqlite3.c:195760:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 1344)) = jsonGroupInverse // sqlite3.c:195760:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aMod)) + 8 /* .pModule */)) = uintptr(unsafe.Pointer(&jsonEachModule)) // sqlite3.c:195778:31: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aMod)) + 24 /* .pModule */)) = uintptr(unsafe.Pointer(&jsonTreeModule)) // sqlite3.c:195779:31: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 0)) = geopolyAreaFunc // sqlite3.c:202024:8: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 24)) = geopolyBlobFunc // sqlite3.c:202025:8: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 48)) = geopolyJsonFunc // sqlite3.c:202026:8: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 72)) = geopolySvgFunc // sqlite3.c:202027:8: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 96)) = geopolyWithinFunc // sqlite3.c:202028:8: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 120)) = geopolyContainsPointFunc // sqlite3.c:202029:8: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 144)) = geopolyOverlapFunc // sqlite3.c:202030:8: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 168)) = geopolyDebugFunc // sqlite3.c:202031:8: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 192)) = geopolyBBoxFunc // sqlite3.c:202032:8: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 216)) = geopolyXformFunc // sqlite3.c:202033:8: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 240)) = geopolyRegularFunc // sqlite3.c:202034:8: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 264)) = geopolyCcwFunc // sqlite3.c:202035:8: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 24)) = jsonRemoveFunc // sqlite3.c:195793:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 96)) = jsonArrayFunc // sqlite3.c:195794:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 168)) = jsonArrayLengthFunc // sqlite3.c:195795:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 240)) = jsonArrayLengthFunc // sqlite3.c:195796:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 312)) = jsonExtractFunc // sqlite3.c:195797:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 384)) = jsonExtractFunc // sqlite3.c:195798:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 456)) = jsonExtractFunc // sqlite3.c:195799:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 528)) = jsonSetFunc // sqlite3.c:195800:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 600)) = jsonObjectFunc // sqlite3.c:195801:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 672)) = jsonPatchFunc // sqlite3.c:195802:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 744)) = jsonQuoteFunc // sqlite3.c:195803:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 816)) = jsonRemoveFunc // sqlite3.c:195804:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 888)) = jsonReplaceFunc // sqlite3.c:195805:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 960)) = jsonSetFunc // sqlite3.c:195806:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 1032)) = jsonTypeFunc // sqlite3.c:195807:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 1104)) = jsonTypeFunc // sqlite3.c:195808:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 1176)) = jsonValidFunc // sqlite3.c:195809:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 1248)) = jsonArrayStep // sqlite3.c:195814:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 1256)) = jsonArrayFinal // sqlite3.c:195814:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 1264)) = jsonArrayValue // sqlite3.c:195814:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 1272)) = jsonGroupInverse // sqlite3.c:195814:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 1320)) = jsonObjectStep // sqlite3.c:195817:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 1328)) = jsonObjectFinal // sqlite3.c:195817:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 1336)) = jsonObjectValue // sqlite3.c:195817:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 1344)) = jsonGroupInverse // sqlite3.c:195817:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aMod)) + 8 /* .pModule */)) = uintptr(unsafe.Pointer(&jsonEachModule)) // sqlite3.c:195835:31: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aMod)) + 24 /* .pModule */)) = uintptr(unsafe.Pointer(&jsonTreeModule)) // sqlite3.c:195836:31: *(*Sqlite3_syscall_ptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 8 /* .pCurrent */)) = *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, int32) int32 }{posixOpen})) // sqlite3.c:35170:21: @@ -195864,150 +195895,150 @@ func init() { *(*Sqlite3_syscall_ptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 656 /* .pCurrent */)) = *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr) int32 }{libc.Xlstat})) // sqlite3.c:35313:22: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 32 /* .pAppData */)) = uintptr(unsafe.Pointer(&posixIoFinder)) // sqlite3.c:42842:5: - *(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 40)) = unixOpen // sqlite3.c:42842:5: - *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 48)) = unixDelete // sqlite3.c:42842:5: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 56)) = unixAccess // sqlite3.c:42842:5: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 64)) = unixFullPathname // sqlite3.c:42842:5: - *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 72)) = unixDlOpen // sqlite3.c:42842:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 80)) = unixDlError // sqlite3.c:42842:5: - *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 88)) = unixDlSym // sqlite3.c:42842:5: - *(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 96)) = unixDlClose // sqlite3.c:42842:5: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 104)) = unixRandomness // sqlite3.c:42842:5: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 112)) = unixSleep // sqlite3.c:42842:5: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 120)) = unixCurrentTime // sqlite3.c:42842:5: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 128)) = unixGetLastError // sqlite3.c:42842:5: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 136)) = unixCurrentTimeInt64 // sqlite3.c:42842:5: - *(*func(*libc.TLS, uintptr, uintptr, Sqlite3_syscall_ptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 144)) = unixSetSystemCall // sqlite3.c:42842:5: - *(*func(*libc.TLS, uintptr, uintptr) Sqlite3_syscall_ptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 152)) = unixGetSystemCall // sqlite3.c:42842:5: - *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 160)) = unixNextSystemCall // sqlite3.c:42842:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 200 /* .pAppData */)) = uintptr(unsafe.Pointer(&nolockIoFinder)) // sqlite3.c:42844:5: - *(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 208)) = unixOpen // sqlite3.c:42844:5: - *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 216)) = unixDelete // sqlite3.c:42844:5: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 224)) = unixAccess // sqlite3.c:42844:5: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 232)) = unixFullPathname // sqlite3.c:42844:5: - *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 240)) = unixDlOpen // sqlite3.c:42844:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 248)) = unixDlError // sqlite3.c:42844:5: - *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 256)) = unixDlSym // sqlite3.c:42844:5: - *(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 264)) = unixDlClose // sqlite3.c:42844:5: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 272)) = unixRandomness // sqlite3.c:42844:5: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 280)) = unixSleep // sqlite3.c:42844:5: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 288)) = unixCurrentTime // sqlite3.c:42844:5: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 296)) = unixGetLastError // sqlite3.c:42844:5: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 304)) = unixCurrentTimeInt64 // sqlite3.c:42844:5: - *(*func(*libc.TLS, uintptr, uintptr, Sqlite3_syscall_ptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 312)) = unixSetSystemCall // sqlite3.c:42844:5: - *(*func(*libc.TLS, uintptr, uintptr) Sqlite3_syscall_ptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 320)) = unixGetSystemCall // sqlite3.c:42844:5: - *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 328)) = unixNextSystemCall // sqlite3.c:42844:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 368 /* .pAppData */)) = uintptr(unsafe.Pointer(&dotlockIoFinder)) // sqlite3.c:42845:5: - *(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 376)) = unixOpen // sqlite3.c:42845:5: - *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 384)) = unixDelete // sqlite3.c:42845:5: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 392)) = unixAccess // sqlite3.c:42845:5: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 400)) = unixFullPathname // sqlite3.c:42845:5: - *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 408)) = unixDlOpen // sqlite3.c:42845:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 416)) = unixDlError // sqlite3.c:42845:5: - *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 424)) = unixDlSym // sqlite3.c:42845:5: - *(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 432)) = unixDlClose // sqlite3.c:42845:5: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 440)) = unixRandomness // sqlite3.c:42845:5: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 448)) = unixSleep // sqlite3.c:42845:5: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 456)) = unixCurrentTime // sqlite3.c:42845:5: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 464)) = unixGetLastError // sqlite3.c:42845:5: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 472)) = unixCurrentTimeInt64 // sqlite3.c:42845:5: - *(*func(*libc.TLS, uintptr, uintptr, Sqlite3_syscall_ptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 480)) = unixSetSystemCall // sqlite3.c:42845:5: - *(*func(*libc.TLS, uintptr, uintptr) Sqlite3_syscall_ptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 488)) = unixGetSystemCall // sqlite3.c:42845:5: - *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 496)) = unixNextSystemCall // sqlite3.c:42845:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 536 /* .pAppData */)) = uintptr(unsafe.Pointer(&posixIoFinder)) // sqlite3.c:42846:5: - *(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 544)) = unixOpen // sqlite3.c:42846:5: - *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 552)) = unixDelete // sqlite3.c:42846:5: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 560)) = unixAccess // sqlite3.c:42846:5: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 568)) = unixFullPathname // sqlite3.c:42846:5: - *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 576)) = unixDlOpen // sqlite3.c:42846:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 584)) = unixDlError // sqlite3.c:42846:5: - *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 592)) = unixDlSym // sqlite3.c:42846:5: - *(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 600)) = unixDlClose // sqlite3.c:42846:5: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 608)) = unixRandomness // sqlite3.c:42846:5: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 616)) = unixSleep // sqlite3.c:42846:5: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 624)) = unixCurrentTime // sqlite3.c:42846:5: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 632)) = unixGetLastError // sqlite3.c:42846:5: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 640)) = unixCurrentTimeInt64 // sqlite3.c:42846:5: - *(*func(*libc.TLS, uintptr, uintptr, Sqlite3_syscall_ptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 648)) = unixSetSystemCall // sqlite3.c:42846:5: - *(*func(*libc.TLS, uintptr, uintptr) Sqlite3_syscall_ptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 656)) = unixGetSystemCall // sqlite3.c:42846:5: - *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 664)) = unixNextSystemCall // sqlite3.c:42846:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 24)) = row_numberStepFunc // sqlite3.c:158796:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 32)) = row_numberValueFunc // sqlite3.c:158796:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 40)) = row_numberValueFunc // sqlite3.c:158796:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 48)) = noopStepFunc // sqlite3.c:158796:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 56 /* .zName */)) = uintptr(unsafe.Pointer(&row_numberName)) // sqlite3.c:158796:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 96)) = dense_rankStepFunc // sqlite3.c:158797:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 104)) = dense_rankValueFunc // sqlite3.c:158797:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 112)) = dense_rankValueFunc // sqlite3.c:158797:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 120)) = noopStepFunc // sqlite3.c:158797:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 128 /* .zName */)) = uintptr(unsafe.Pointer(&dense_rankName)) // sqlite3.c:158797:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 168)) = rankStepFunc // sqlite3.c:158798:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 176)) = rankValueFunc // sqlite3.c:158798:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 184)) = rankValueFunc // sqlite3.c:158798:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 192)) = noopStepFunc // sqlite3.c:158798:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 200 /* .zName */)) = uintptr(unsafe.Pointer(&rankName)) // sqlite3.c:158798:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 240)) = percent_rankStepFunc // sqlite3.c:158799:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 248)) = percent_rankValueFunc // sqlite3.c:158799:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 256)) = percent_rankValueFunc // sqlite3.c:158799:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 264)) = percent_rankInvFunc // sqlite3.c:158799:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 272 /* .zName */)) = uintptr(unsafe.Pointer(&percent_rankName)) // sqlite3.c:158799:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 312)) = cume_distStepFunc // sqlite3.c:158800:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 320)) = cume_distValueFunc // sqlite3.c:158800:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 328)) = cume_distValueFunc // sqlite3.c:158800:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 336)) = cume_distInvFunc // sqlite3.c:158800:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 344 /* .zName */)) = uintptr(unsafe.Pointer(&cume_distName)) // sqlite3.c:158800:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 384)) = ntileStepFunc // sqlite3.c:158801:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 392)) = ntileValueFunc // sqlite3.c:158801:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 400)) = ntileValueFunc // sqlite3.c:158801:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 408)) = ntileInvFunc // sqlite3.c:158801:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 416 /* .zName */)) = uintptr(unsafe.Pointer(&ntileName)) // sqlite3.c:158801:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 456)) = last_valueStepFunc // sqlite3.c:158802:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 464)) = last_valueFinalizeFunc // sqlite3.c:158802:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 472)) = last_valueValueFunc // sqlite3.c:158802:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 480)) = last_valueInvFunc // sqlite3.c:158802:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 488 /* .zName */)) = uintptr(unsafe.Pointer(&last_valueName)) // sqlite3.c:158802:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 528)) = nth_valueStepFunc // sqlite3.c:158803:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 536)) = nth_valueFinalizeFunc // sqlite3.c:158803:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 544)) = noopValueFunc // sqlite3.c:158803:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 552)) = noopStepFunc // sqlite3.c:158803:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 560 /* .zName */)) = uintptr(unsafe.Pointer(&nth_valueName)) // sqlite3.c:158803:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 600)) = first_valueStepFunc // sqlite3.c:158804:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 608)) = first_valueFinalizeFunc // sqlite3.c:158804:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 616)) = noopValueFunc // sqlite3.c:158804:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 624)) = noopStepFunc // sqlite3.c:158804:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 632 /* .zName */)) = uintptr(unsafe.Pointer(&first_valueName)) // sqlite3.c:158804:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 672)) = noopStepFunc // sqlite3.c:158805:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 680)) = noopValueFunc // sqlite3.c:158805:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 688)) = noopValueFunc // sqlite3.c:158805:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 696)) = noopStepFunc // sqlite3.c:158805:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 704 /* .zName */)) = uintptr(unsafe.Pointer(&leadName)) // sqlite3.c:158805:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 744)) = noopStepFunc // sqlite3.c:158806:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 752)) = noopValueFunc // sqlite3.c:158806:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 760)) = noopValueFunc // sqlite3.c:158806:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 768)) = noopStepFunc // sqlite3.c:158806:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 776 /* .zName */)) = uintptr(unsafe.Pointer(&leadName)) // sqlite3.c:158806:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 816)) = noopStepFunc // sqlite3.c:158807:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 824)) = noopValueFunc // sqlite3.c:158807:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 832)) = noopValueFunc // sqlite3.c:158807:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 840)) = noopStepFunc // sqlite3.c:158807:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 848 /* .zName */)) = uintptr(unsafe.Pointer(&leadName)) // sqlite3.c:158807:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 888)) = noopStepFunc // sqlite3.c:158808:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 896)) = noopValueFunc // sqlite3.c:158808:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 904)) = noopValueFunc // sqlite3.c:158808:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 912)) = noopStepFunc // sqlite3.c:158808:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 920 /* .zName */)) = uintptr(unsafe.Pointer(&lagName)) // sqlite3.c:158808:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 960)) = noopStepFunc // sqlite3.c:158809:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 968)) = noopValueFunc // sqlite3.c:158809:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 976)) = noopValueFunc // sqlite3.c:158809:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 984)) = noopStepFunc // sqlite3.c:158809:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 992 /* .zName */)) = uintptr(unsafe.Pointer(&lagName)) // sqlite3.c:158809:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 1032)) = noopStepFunc // sqlite3.c:158810:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 1040)) = noopValueFunc // sqlite3.c:158810:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 1048)) = noopValueFunc // sqlite3.c:158810:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 1056)) = noopStepFunc // sqlite3.c:158810:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 1064 /* .zName */)) = uintptr(unsafe.Pointer(&lagName)) // sqlite3.c:158810:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&attach_func)) + 24)) = attachFunc // sqlite3.c:113438:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 32 /* .pAppData */)) = uintptr(unsafe.Pointer(&posixIoFinder)) // sqlite3.c:42848:5: + *(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 40)) = unixOpen // sqlite3.c:42848:5: + *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 48)) = unixDelete // sqlite3.c:42848:5: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 56)) = unixAccess // sqlite3.c:42848:5: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 64)) = unixFullPathname // sqlite3.c:42848:5: + *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 72)) = unixDlOpen // sqlite3.c:42848:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 80)) = unixDlError // sqlite3.c:42848:5: + *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 88)) = unixDlSym // sqlite3.c:42848:5: + *(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 96)) = unixDlClose // sqlite3.c:42848:5: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 104)) = unixRandomness // sqlite3.c:42848:5: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 112)) = unixSleep // sqlite3.c:42848:5: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 120)) = unixCurrentTime // sqlite3.c:42848:5: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 128)) = unixGetLastError // sqlite3.c:42848:5: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 136)) = unixCurrentTimeInt64 // sqlite3.c:42848:5: + *(*func(*libc.TLS, uintptr, uintptr, Sqlite3_syscall_ptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 144)) = unixSetSystemCall // sqlite3.c:42848:5: + *(*func(*libc.TLS, uintptr, uintptr) Sqlite3_syscall_ptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 152)) = unixGetSystemCall // sqlite3.c:42848:5: + *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 160)) = unixNextSystemCall // sqlite3.c:42848:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 200 /* .pAppData */)) = uintptr(unsafe.Pointer(&nolockIoFinder)) // sqlite3.c:42850:5: + *(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 208)) = unixOpen // sqlite3.c:42850:5: + *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 216)) = unixDelete // sqlite3.c:42850:5: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 224)) = unixAccess // sqlite3.c:42850:5: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 232)) = unixFullPathname // sqlite3.c:42850:5: + *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 240)) = unixDlOpen // sqlite3.c:42850:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 248)) = unixDlError // sqlite3.c:42850:5: + *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 256)) = unixDlSym // sqlite3.c:42850:5: + *(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 264)) = unixDlClose // sqlite3.c:42850:5: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 272)) = unixRandomness // sqlite3.c:42850:5: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 280)) = unixSleep // sqlite3.c:42850:5: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 288)) = unixCurrentTime // sqlite3.c:42850:5: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 296)) = unixGetLastError // sqlite3.c:42850:5: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 304)) = unixCurrentTimeInt64 // sqlite3.c:42850:5: + *(*func(*libc.TLS, uintptr, uintptr, Sqlite3_syscall_ptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 312)) = unixSetSystemCall // sqlite3.c:42850:5: + *(*func(*libc.TLS, uintptr, uintptr) Sqlite3_syscall_ptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 320)) = unixGetSystemCall // sqlite3.c:42850:5: + *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 328)) = unixNextSystemCall // sqlite3.c:42850:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 368 /* .pAppData */)) = uintptr(unsafe.Pointer(&dotlockIoFinder)) // sqlite3.c:42851:5: + *(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 376)) = unixOpen // sqlite3.c:42851:5: + *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 384)) = unixDelete // sqlite3.c:42851:5: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 392)) = unixAccess // sqlite3.c:42851:5: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 400)) = unixFullPathname // sqlite3.c:42851:5: + *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 408)) = unixDlOpen // sqlite3.c:42851:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 416)) = unixDlError // sqlite3.c:42851:5: + *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 424)) = unixDlSym // sqlite3.c:42851:5: + *(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 432)) = unixDlClose // sqlite3.c:42851:5: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 440)) = unixRandomness // sqlite3.c:42851:5: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 448)) = unixSleep // sqlite3.c:42851:5: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 456)) = unixCurrentTime // sqlite3.c:42851:5: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 464)) = unixGetLastError // sqlite3.c:42851:5: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 472)) = unixCurrentTimeInt64 // sqlite3.c:42851:5: + *(*func(*libc.TLS, uintptr, uintptr, Sqlite3_syscall_ptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 480)) = unixSetSystemCall // sqlite3.c:42851:5: + *(*func(*libc.TLS, uintptr, uintptr) Sqlite3_syscall_ptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 488)) = unixGetSystemCall // sqlite3.c:42851:5: + *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 496)) = unixNextSystemCall // sqlite3.c:42851:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 536 /* .pAppData */)) = uintptr(unsafe.Pointer(&posixIoFinder)) // sqlite3.c:42852:5: + *(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 544)) = unixOpen // sqlite3.c:42852:5: + *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 552)) = unixDelete // sqlite3.c:42852:5: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 560)) = unixAccess // sqlite3.c:42852:5: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 568)) = unixFullPathname // sqlite3.c:42852:5: + *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 576)) = unixDlOpen // sqlite3.c:42852:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 584)) = unixDlError // sqlite3.c:42852:5: + *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 592)) = unixDlSym // sqlite3.c:42852:5: + *(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 600)) = unixDlClose // sqlite3.c:42852:5: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 608)) = unixRandomness // sqlite3.c:42852:5: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 616)) = unixSleep // sqlite3.c:42852:5: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 624)) = unixCurrentTime // sqlite3.c:42852:5: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 632)) = unixGetLastError // sqlite3.c:42852:5: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 640)) = unixCurrentTimeInt64 // sqlite3.c:42852:5: + *(*func(*libc.TLS, uintptr, uintptr, Sqlite3_syscall_ptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 648)) = unixSetSystemCall // sqlite3.c:42852:5: + *(*func(*libc.TLS, uintptr, uintptr) Sqlite3_syscall_ptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 656)) = unixGetSystemCall // sqlite3.c:42852:5: + *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 664)) = unixNextSystemCall // sqlite3.c:42852:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 24)) = row_numberStepFunc // sqlite3.c:158853:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 32)) = row_numberValueFunc // sqlite3.c:158853:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 40)) = row_numberValueFunc // sqlite3.c:158853:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 48)) = noopStepFunc // sqlite3.c:158853:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 56 /* .zName */)) = uintptr(unsafe.Pointer(&row_numberName)) // sqlite3.c:158853:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 96)) = dense_rankStepFunc // sqlite3.c:158854:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 104)) = dense_rankValueFunc // sqlite3.c:158854:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 112)) = dense_rankValueFunc // sqlite3.c:158854:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 120)) = noopStepFunc // sqlite3.c:158854:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 128 /* .zName */)) = uintptr(unsafe.Pointer(&dense_rankName)) // sqlite3.c:158854:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 168)) = rankStepFunc // sqlite3.c:158855:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 176)) = rankValueFunc // sqlite3.c:158855:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 184)) = rankValueFunc // sqlite3.c:158855:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 192)) = noopStepFunc // sqlite3.c:158855:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 200 /* .zName */)) = uintptr(unsafe.Pointer(&rankName)) // sqlite3.c:158855:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 240)) = percent_rankStepFunc // sqlite3.c:158856:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 248)) = percent_rankValueFunc // sqlite3.c:158856:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 256)) = percent_rankValueFunc // sqlite3.c:158856:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 264)) = percent_rankInvFunc // sqlite3.c:158856:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 272 /* .zName */)) = uintptr(unsafe.Pointer(&percent_rankName)) // sqlite3.c:158856:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 312)) = cume_distStepFunc // sqlite3.c:158857:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 320)) = cume_distValueFunc // sqlite3.c:158857:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 328)) = cume_distValueFunc // sqlite3.c:158857:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 336)) = cume_distInvFunc // sqlite3.c:158857:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 344 /* .zName */)) = uintptr(unsafe.Pointer(&cume_distName)) // sqlite3.c:158857:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 384)) = ntileStepFunc // sqlite3.c:158858:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 392)) = ntileValueFunc // sqlite3.c:158858:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 400)) = ntileValueFunc // sqlite3.c:158858:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 408)) = ntileInvFunc // sqlite3.c:158858:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 416 /* .zName */)) = uintptr(unsafe.Pointer(&ntileName)) // sqlite3.c:158858:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 456)) = last_valueStepFunc // sqlite3.c:158859:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 464)) = last_valueFinalizeFunc // sqlite3.c:158859:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 472)) = last_valueValueFunc // sqlite3.c:158859:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 480)) = last_valueInvFunc // sqlite3.c:158859:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 488 /* .zName */)) = uintptr(unsafe.Pointer(&last_valueName)) // sqlite3.c:158859:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 528)) = nth_valueStepFunc // sqlite3.c:158860:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 536)) = nth_valueFinalizeFunc // sqlite3.c:158860:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 544)) = noopValueFunc // sqlite3.c:158860:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 552)) = noopStepFunc // sqlite3.c:158860:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 560 /* .zName */)) = uintptr(unsafe.Pointer(&nth_valueName)) // sqlite3.c:158860:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 600)) = first_valueStepFunc // sqlite3.c:158861:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 608)) = first_valueFinalizeFunc // sqlite3.c:158861:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 616)) = noopValueFunc // sqlite3.c:158861:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 624)) = noopStepFunc // sqlite3.c:158861:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 632 /* .zName */)) = uintptr(unsafe.Pointer(&first_valueName)) // sqlite3.c:158861:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 672)) = noopStepFunc // sqlite3.c:158862:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 680)) = noopValueFunc // sqlite3.c:158862:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 688)) = noopValueFunc // sqlite3.c:158862:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 696)) = noopStepFunc // sqlite3.c:158862:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 704 /* .zName */)) = uintptr(unsafe.Pointer(&leadName)) // sqlite3.c:158862:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 744)) = noopStepFunc // sqlite3.c:158863:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 752)) = noopValueFunc // sqlite3.c:158863:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 760)) = noopValueFunc // sqlite3.c:158863:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 768)) = noopStepFunc // sqlite3.c:158863:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 776 /* .zName */)) = uintptr(unsafe.Pointer(&leadName)) // sqlite3.c:158863:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 816)) = noopStepFunc // sqlite3.c:158864:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 824)) = noopValueFunc // sqlite3.c:158864:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 832)) = noopValueFunc // sqlite3.c:158864:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 840)) = noopStepFunc // sqlite3.c:158864:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 848 /* .zName */)) = uintptr(unsafe.Pointer(&leadName)) // sqlite3.c:158864:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 888)) = noopStepFunc // sqlite3.c:158865:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 896)) = noopValueFunc // sqlite3.c:158865:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 904)) = noopValueFunc // sqlite3.c:158865:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 912)) = noopStepFunc // sqlite3.c:158865:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 920 /* .zName */)) = uintptr(unsafe.Pointer(&lagName)) // sqlite3.c:158865:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 960)) = noopStepFunc // sqlite3.c:158866:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 968)) = noopValueFunc // sqlite3.c:158866:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 976)) = noopValueFunc // sqlite3.c:158866:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 984)) = noopStepFunc // sqlite3.c:158866:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 992 /* .zName */)) = uintptr(unsafe.Pointer(&lagName)) // sqlite3.c:158866:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 1032)) = noopStepFunc // sqlite3.c:158867:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 1040)) = noopValueFunc // sqlite3.c:158867:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 1048)) = noopValueFunc // sqlite3.c:158867:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 1056)) = noopStepFunc // sqlite3.c:158867:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 1064 /* .zName */)) = uintptr(unsafe.Pointer(&lagName)) // sqlite3.c:158867:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&attach_func)) + 24)) = attachFunc // sqlite3.c:113451:5: *(*func(*libc.TLS, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods)) + 0)) = sqlite3MemMalloc // sqlite3.c:25299:6: *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods)) + 8)) = sqlite3MemFree // sqlite3.c:25300:6: *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods)) + 16)) = sqlite3MemRealloc // sqlite3.c:25301:6: @@ -196015,243 +196046,243 @@ func init() { *(*func(*libc.TLS, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods)) + 32)) = sqlite3MemRoundup // sqlite3.c:25303:6: *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods)) + 40)) = sqlite3MemInit // sqlite3.c:25304:6: *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods)) + 48)) = sqlite3MemShutdown // sqlite3.c:25305:6: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods1)) + 16)) = pcache1Init // sqlite3.c:52453:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods1)) + 24)) = pcache1Shutdown // sqlite3.c:52454:5: - *(*func(*libc.TLS, int32, int32, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods1)) + 32)) = pcache1Create // sqlite3.c:52455:5: - *(*func(*libc.TLS, uintptr, int32))(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods1)) + 40)) = pcache1Cachesize // sqlite3.c:52456:5: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods1)) + 48)) = pcache1Pagecount // sqlite3.c:52457:5: - *(*func(*libc.TLS, uintptr, uint32, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods1)) + 56)) = pcache1Fetch // sqlite3.c:52458:5: - *(*func(*libc.TLS, uintptr, uintptr, int32))(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods1)) + 64)) = pcache1Unpin // sqlite3.c:52459:5: - *(*func(*libc.TLS, uintptr, uintptr, uint32, uint32))(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods1)) + 72)) = pcache1Rekey // sqlite3.c:52460:5: - *(*func(*libc.TLS, uintptr, uint32))(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods1)) + 80)) = pcache1Truncate // sqlite3.c:52461:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods1)) + 88)) = pcache1Destroy // sqlite3.c:52462:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods1)) + 96)) = pcache1Shrink // sqlite3.c:52463:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&detach_func)) + 24)) = detachFunc // sqlite3.c:113418:5: - *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoFinder)) + 0)) = dotlockIoFinderImpl // sqlite3.c:40202:1: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 8)) = dotlockClose // sqlite3.c:40202:1: - *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 16)) = unixRead // sqlite3.c:40202:1: - *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 24)) = unixWrite // sqlite3.c:40202:1: - *(*func(*libc.TLS, uintptr, I64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 32)) = unixTruncate // sqlite3.c:40202:1: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 40)) = unixSync // sqlite3.c:40202:1: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 48)) = unixFileSize // sqlite3.c:40202:1: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 56)) = dotlockLock // sqlite3.c:40202:1: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 64)) = dotlockUnlock // sqlite3.c:40202:1: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 72)) = dotlockCheckReservedLock // sqlite3.c:40202:1: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 80)) = unixFileControl // sqlite3.c:40202:1: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 88)) = unixSectorSize // sqlite3.c:40202:1: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 96)) = unixDeviceCharacteristics // sqlite3.c:40202:1: - *(*func(*libc.TLS, uintptr, int32, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 112)) = unixShmLock // sqlite3.c:40202:1: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 120)) = unixShmBarrier // sqlite3.c:40202:1: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 128)) = unixShmUnmap // sqlite3.c:40202:1: - *(*func(*libc.TLS, uintptr, I64, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 136)) = unixFetch // sqlite3.c:40202:1: - *(*func(*libc.TLS, uintptr, I64, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 144)) = unixUnfetch // sqlite3.c:40202:1: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 8)) = fts5CreateMethod // sqlite3.c:234400:25: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 16)) = fts5ConnectMethod // sqlite3.c:234401:25: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 24)) = fts5BestIndexMethod // sqlite3.c:234402:25: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 32)) = fts5DisconnectMethod // sqlite3.c:234403:25: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 40)) = fts5DestroyMethod // sqlite3.c:234404:25: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 48)) = fts5OpenMethod // sqlite3.c:234405:25: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 56)) = fts5CloseMethod // sqlite3.c:234406:25: - *(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 64)) = fts5FilterMethod // sqlite3.c:234407:25: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 72)) = fts5NextMethod // sqlite3.c:234408:25: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 80)) = fts5EofMethod // sqlite3.c:234409:25: - *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 88)) = fts5ColumnMethod // sqlite3.c:234410:25: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 96)) = fts5RowidMethod // sqlite3.c:234411:25: - *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 104)) = fts5UpdateMethod // sqlite3.c:234412:25: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 112)) = fts5BeginMethod // sqlite3.c:234413:25: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 120)) = fts5SyncMethod // sqlite3.c:234414:25: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 128)) = fts5CommitMethod // sqlite3.c:234415:25: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 136)) = fts5RollbackMethod // sqlite3.c:234416:25: - *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 144)) = fts5FindFunctionMethod // sqlite3.c:234417:25: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 152)) = fts5RenameMethod // sqlite3.c:234418:25: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 160)) = fts5SavepointMethod // sqlite3.c:234419:25: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 168)) = fts5ReleaseMethod // sqlite3.c:234420:25: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 176)) = fts5RollbackToMethod // sqlite3.c:234421:25: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 184)) = fts5ShadowName // sqlite3.c:234422:25: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 8)) = fts5VocabCreateMethod // sqlite3.c:238983:25: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 16)) = fts5VocabConnectMethod // sqlite3.c:238984:25: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 24)) = fts5VocabBestIndexMethod // sqlite3.c:238985:25: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 32)) = fts5VocabDisconnectMethod // sqlite3.c:238986:25: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 40)) = fts5VocabDestroyMethod // sqlite3.c:238987:25: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 48)) = fts5VocabOpenMethod // sqlite3.c:238988:25: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 56)) = fts5VocabCloseMethod // sqlite3.c:238989:25: - *(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 64)) = fts5VocabFilterMethod // sqlite3.c:238990:25: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 72)) = fts5VocabNextMethod // sqlite3.c:238991:25: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 80)) = fts5VocabEofMethod // sqlite3.c:238992:25: - *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 88)) = fts5VocabColumnMethod // sqlite3.c:238993:25: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 96)) = fts5VocabRowidMethod // sqlite3.c:238994:25: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 8)) = geopolyCreate // sqlite3.c:201934:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 16)) = geopolyConnect // sqlite3.c:201935:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 24)) = geopolyBestIndex // sqlite3.c:201936:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 32)) = rtreeDisconnect // sqlite3.c:201937:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 40)) = rtreeDestroy // sqlite3.c:201938:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 48)) = rtreeOpen // sqlite3.c:201939:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 56)) = rtreeClose // sqlite3.c:201940:3: - *(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 64)) = geopolyFilter // sqlite3.c:201941:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 72)) = rtreeNext // sqlite3.c:201942:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 80)) = rtreeEof // sqlite3.c:201943:3: - *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 88)) = geopolyColumn // sqlite3.c:201944:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 96)) = rtreeRowid // sqlite3.c:201945:3: - *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 104)) = geopolyUpdate // sqlite3.c:201946:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 112)) = rtreeBeginTransaction // sqlite3.c:201947:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 120)) = rtreeEndTransaction // sqlite3.c:201948:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 128)) = rtreeEndTransaction // sqlite3.c:201949:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 136)) = rtreeEndTransaction // sqlite3.c:201950:3: - *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 144)) = geopolyFindFunction // sqlite3.c:201951:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 152)) = rtreeRename // sqlite3.c:201952:3: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 160)) = rtreeSavepoint // sqlite3.c:201953:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 184)) = rtreeShadowName // sqlite3.c:201956:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonEachModule)) + 16)) = jsonEachConnect // sqlite3.c:195676:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonEachModule)) + 24)) = jsonEachBestIndex // sqlite3.c:195677:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonEachModule)) + 32)) = jsonEachDisconnect // sqlite3.c:195678:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonEachModule)) + 48)) = jsonEachOpenEach // sqlite3.c:195680:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonEachModule)) + 56)) = jsonEachClose // sqlite3.c:195681:3: - *(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonEachModule)) + 64)) = jsonEachFilter // sqlite3.c:195682:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonEachModule)) + 72)) = jsonEachNext // sqlite3.c:195683:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonEachModule)) + 80)) = jsonEachEof // sqlite3.c:195684:3: - *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonEachModule)) + 88)) = jsonEachColumn // sqlite3.c:195685:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonEachModule)) + 96)) = jsonEachRowid // sqlite3.c:195686:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonTreeModule)) + 16)) = jsonEachConnect // sqlite3.c:195704:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonTreeModule)) + 24)) = jsonEachBestIndex // sqlite3.c:195705:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonTreeModule)) + 32)) = jsonEachDisconnect // sqlite3.c:195706:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonTreeModule)) + 48)) = jsonEachOpenTree // sqlite3.c:195708:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonTreeModule)) + 56)) = jsonEachClose // sqlite3.c:195709:3: - *(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonTreeModule)) + 64)) = jsonEachFilter // sqlite3.c:195710:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonTreeModule)) + 72)) = jsonEachNext // sqlite3.c:195711:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonTreeModule)) + 80)) = jsonEachEof // sqlite3.c:195712:3: - *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonTreeModule)) + 88)) = jsonEachColumn // sqlite3.c:195713:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonTreeModule)) + 96)) = jsonEachRowid // sqlite3.c:195714:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 8)) = memdbClose // sqlite3.c:49233:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 16)) = memdbRead // sqlite3.c:49234:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 24)) = memdbWrite // sqlite3.c:49235:3: - *(*func(*libc.TLS, uintptr, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 32)) = memdbTruncate // sqlite3.c:49236:3: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 40)) = memdbSync // sqlite3.c:49237:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 48)) = memdbFileSize // sqlite3.c:49238:3: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 56)) = memdbLock // sqlite3.c:49239:3: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 64)) = memdbLock // sqlite3.c:49240:3: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 80)) = memdbFileControl // sqlite3.c:49242:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 96)) = memdbDeviceCharacteristics // sqlite3.c:49244:3: - *(*func(*libc.TLS, uintptr, Sqlite3_int64, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 136)) = memdbFetch // sqlite3.c:49249:3: - *(*func(*libc.TLS, uintptr, Sqlite3_int64, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 144)) = memdbUnfetch // sqlite3.c:49250:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_vfs)) + 40)) = memdbOpen // sqlite3.c:49213:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_vfs)) + 56)) = memdbAccess // sqlite3.c:49215:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_vfs)) + 64)) = memdbFullPathname // sqlite3.c:49216:3: - *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_vfs)) + 72)) = memdbDlOpen // sqlite3.c:49217:3: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_vfs)) + 80)) = memdbDlError // sqlite3.c:49218:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_vfs)) + 88)) = memdbDlSym // sqlite3.c:49219:3: - *(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_vfs)) + 96)) = memdbDlClose // sqlite3.c:49220:3: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_vfs)) + 104)) = memdbRandomness // sqlite3.c:49221:3: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_vfs)) + 112)) = memdbSleep // sqlite3.c:49222:3: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_vfs)) + 128)) = memdbGetLastError // sqlite3.c:49224:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_vfs)) + 136)) = memdbCurrentTimeInt64 // sqlite3.c:49225:3: - *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoFinder)) + 0)) = nolockIoFinderImpl // sqlite3.c:40192:1: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 8)) = nolockClose // sqlite3.c:40192:1: - *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 16)) = unixRead // sqlite3.c:40192:1: - *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 24)) = unixWrite // sqlite3.c:40192:1: - *(*func(*libc.TLS, uintptr, I64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 32)) = unixTruncate // sqlite3.c:40192:1: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 40)) = unixSync // sqlite3.c:40192:1: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 48)) = unixFileSize // sqlite3.c:40192:1: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 56)) = nolockLock // sqlite3.c:40192:1: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 64)) = nolockUnlock // sqlite3.c:40192:1: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 72)) = nolockCheckReservedLock // sqlite3.c:40192:1: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 80)) = unixFileControl // sqlite3.c:40192:1: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 88)) = unixSectorSize // sqlite3.c:40192:1: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 96)) = unixDeviceCharacteristics // sqlite3.c:40192:1: - *(*func(*libc.TLS, uintptr, int32, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 112)) = unixShmLock // sqlite3.c:40192:1: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 120)) = unixShmBarrier // sqlite3.c:40192:1: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 128)) = unixShmUnmap // sqlite3.c:40192:1: - *(*func(*libc.TLS, uintptr, I64, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 136)) = unixFetch // sqlite3.c:40192:1: - *(*func(*libc.TLS, uintptr, I64, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 144)) = unixUnfetch // sqlite3.c:40192:1: - *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoFinder)) + 0)) = posixIoFinderImpl // sqlite3.c:40182:1: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 8)) = unixClose // sqlite3.c:40182:1: - *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 16)) = unixRead // sqlite3.c:40182:1: - *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 24)) = unixWrite // sqlite3.c:40182:1: - *(*func(*libc.TLS, uintptr, I64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 32)) = unixTruncate // sqlite3.c:40182:1: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 40)) = unixSync // sqlite3.c:40182:1: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 48)) = unixFileSize // sqlite3.c:40182:1: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 56)) = unixLock // sqlite3.c:40182:1: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 64)) = unixUnlock // sqlite3.c:40182:1: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 72)) = unixCheckReservedLock // sqlite3.c:40182:1: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 80)) = unixFileControl // sqlite3.c:40182:1: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 88)) = unixSectorSize // sqlite3.c:40182:1: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 96)) = unixDeviceCharacteristics // sqlite3.c:40182:1: - *(*func(*libc.TLS, uintptr, int32, int32, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 104)) = unixShmMap // sqlite3.c:40182:1: - *(*func(*libc.TLS, uintptr, int32, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 112)) = unixShmLock // sqlite3.c:40182:1: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 120)) = unixShmBarrier // sqlite3.c:40182:1: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 128)) = unixShmUnmap // sqlite3.c:40182:1: - *(*func(*libc.TLS, uintptr, I64, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 136)) = unixFetch // sqlite3.c:40182:1: - *(*func(*libc.TLS, uintptr, I64, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 144)) = unixUnfetch // sqlite3.c:40182:1: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&pragmaVtabModule)) + 16)) = pragmaVtabConnect // sqlite3.c:133106:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&pragmaVtabModule)) + 24)) = pragmaVtabBestIndex // sqlite3.c:133107:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&pragmaVtabModule)) + 32)) = pragmaVtabDisconnect // sqlite3.c:133108:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&pragmaVtabModule)) + 48)) = pragmaVtabOpen // sqlite3.c:133110:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&pragmaVtabModule)) + 56)) = pragmaVtabClose // sqlite3.c:133111:3: - *(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&pragmaVtabModule)) + 64)) = pragmaVtabFilter // sqlite3.c:133112:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&pragmaVtabModule)) + 72)) = pragmaVtabNext // sqlite3.c:133113:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&pragmaVtabModule)) + 80)) = pragmaVtabEof // sqlite3.c:133114:3: - *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&pragmaVtabModule)) + 88)) = pragmaVtabColumn // sqlite3.c:133115:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&pragmaVtabModule)) + 96)) = pragmaVtabRowid // sqlite3.c:133116:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 8)) = rbuVfsClose // sqlite3.c:208631:5: - *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 16)) = rbuVfsRead // sqlite3.c:208632:5: - *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 24)) = rbuVfsWrite // sqlite3.c:208633:5: - *(*func(*libc.TLS, uintptr, Sqlite_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 32)) = rbuVfsTruncate // sqlite3.c:208634:5: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 40)) = rbuVfsSync // sqlite3.c:208635:5: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 48)) = rbuVfsFileSize // sqlite3.c:208636:5: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 56)) = rbuVfsLock // sqlite3.c:208637:5: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 64)) = rbuVfsUnlock // sqlite3.c:208638:5: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 72)) = rbuVfsCheckReservedLock // sqlite3.c:208639:5: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 80)) = rbuVfsFileControl // sqlite3.c:208640:5: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 88)) = rbuVfsSectorSize // sqlite3.c:208641:5: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 96)) = rbuVfsDeviceCharacteristics // sqlite3.c:208642:5: - *(*func(*libc.TLS, uintptr, int32, int32, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 104)) = rbuVfsShmMap // sqlite3.c:208643:5: - *(*func(*libc.TLS, uintptr, int32, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 112)) = rbuVfsShmLock // sqlite3.c:208644:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 120)) = rbuVfsShmBarrier // sqlite3.c:208645:5: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 128)) = rbuVfsShmUnmap // sqlite3.c:208646:5: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 8)) = rtreeCreate // sqlite3.c:199272:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 16)) = rtreeConnect // sqlite3.c:199273:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 24)) = rtreeBestIndex // sqlite3.c:199274:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 32)) = rtreeDisconnect // sqlite3.c:199275:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 40)) = rtreeDestroy // sqlite3.c:199276:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 48)) = rtreeOpen // sqlite3.c:199277:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 56)) = rtreeClose // sqlite3.c:199278:3: - *(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 64)) = rtreeFilter // sqlite3.c:199279:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 72)) = rtreeNext // sqlite3.c:199280:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 80)) = rtreeEof // sqlite3.c:199281:3: - *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 88)) = rtreeColumn // sqlite3.c:199282:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 96)) = rtreeRowid // sqlite3.c:199283:3: - *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 104)) = rtreeUpdate // sqlite3.c:199284:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 112)) = rtreeBeginTransaction // sqlite3.c:199285:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 120)) = rtreeEndTransaction // sqlite3.c:199286:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 128)) = rtreeEndTransaction // sqlite3.c:199287:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 136)) = rtreeEndTransaction // sqlite3.c:199288:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 152)) = rtreeRename // sqlite3.c:199290:3: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 160)) = rtreeSavepoint // sqlite3.c:199291:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 184)) = rtreeShadowName // sqlite3.c:199294:3: - *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 8)) = fts5ApiUserData // sqlite3.c:233859:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 16)) = fts5ApiColumnCount // sqlite3.c:233860:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 24)) = fts5ApiRowCount // sqlite3.c:233861:3: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 32)) = fts5ApiColumnTotalSize // sqlite3.c:233862:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 40)) = fts5ApiTokenize // sqlite3.c:233863:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 48)) = fts5ApiPhraseCount // sqlite3.c:233864:3: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 56)) = fts5ApiPhraseSize // sqlite3.c:233865:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 64)) = fts5ApiInstCount // sqlite3.c:233866:3: - *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 72)) = fts5ApiInst // sqlite3.c:233867:3: - *(*func(*libc.TLS, uintptr) Sqlite3_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 80)) = fts5ApiRowid // sqlite3.c:233868:3: - *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 88)) = fts5ApiColumnText // sqlite3.c:233869:3: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 96)) = fts5ApiColumnSize // sqlite3.c:233870:3: - *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 104)) = fts5ApiQueryPhrase // sqlite3.c:233871:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 112)) = fts5ApiSetAuxdata // sqlite3.c:233872:3: - *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 120)) = fts5ApiGetAuxdata // sqlite3.c:233873:3: - *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 128)) = fts5ApiPhraseFirst // sqlite3.c:233874:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 136)) = fts5ApiPhraseNext // sqlite3.c:233875:3: - *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 144)) = fts5ApiPhraseFirstColumn // sqlite3.c:233876:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 152)) = fts5ApiPhraseNextColumn // sqlite3.c:233877:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sMemJournalMethods)) + 8)) = memjrnlClose // sqlite3.c:100023:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sMemJournalMethods)) + 16)) = memjrnlRead // sqlite3.c:100024:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sMemJournalMethods)) + 24)) = memjrnlWrite // sqlite3.c:100025:3: - *(*func(*libc.TLS, uintptr, Sqlite_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sMemJournalMethods)) + 32)) = memjrnlTruncate // sqlite3.c:100026:3: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sMemJournalMethods)) + 40)) = memjrnlSync // sqlite3.c:100027:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sMemJournalMethods)) + 48)) = memjrnlFileSize // sqlite3.c:100028:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods1)) + 16)) = pcache1Init // sqlite3.c:52463:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods1)) + 24)) = pcache1Shutdown // sqlite3.c:52464:5: + *(*func(*libc.TLS, int32, int32, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods1)) + 32)) = pcache1Create // sqlite3.c:52465:5: + *(*func(*libc.TLS, uintptr, int32))(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods1)) + 40)) = pcache1Cachesize // sqlite3.c:52466:5: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods1)) + 48)) = pcache1Pagecount // sqlite3.c:52467:5: + *(*func(*libc.TLS, uintptr, uint32, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods1)) + 56)) = pcache1Fetch // sqlite3.c:52468:5: + *(*func(*libc.TLS, uintptr, uintptr, int32))(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods1)) + 64)) = pcache1Unpin // sqlite3.c:52469:5: + *(*func(*libc.TLS, uintptr, uintptr, uint32, uint32))(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods1)) + 72)) = pcache1Rekey // sqlite3.c:52470:5: + *(*func(*libc.TLS, uintptr, uint32))(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods1)) + 80)) = pcache1Truncate // sqlite3.c:52471:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods1)) + 88)) = pcache1Destroy // sqlite3.c:52472:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods1)) + 96)) = pcache1Shrink // sqlite3.c:52473:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&detach_func)) + 24)) = detachFunc // sqlite3.c:113431:5: + *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoFinder)) + 0)) = dotlockIoFinderImpl // sqlite3.c:40208:1: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 8)) = dotlockClose // sqlite3.c:40208:1: + *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 16)) = unixRead // sqlite3.c:40208:1: + *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 24)) = unixWrite // sqlite3.c:40208:1: + *(*func(*libc.TLS, uintptr, I64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 32)) = unixTruncate // sqlite3.c:40208:1: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 40)) = unixSync // sqlite3.c:40208:1: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 48)) = unixFileSize // sqlite3.c:40208:1: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 56)) = dotlockLock // sqlite3.c:40208:1: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 64)) = dotlockUnlock // sqlite3.c:40208:1: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 72)) = dotlockCheckReservedLock // sqlite3.c:40208:1: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 80)) = unixFileControl // sqlite3.c:40208:1: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 88)) = unixSectorSize // sqlite3.c:40208:1: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 96)) = unixDeviceCharacteristics // sqlite3.c:40208:1: + *(*func(*libc.TLS, uintptr, int32, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 112)) = unixShmLock // sqlite3.c:40208:1: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 120)) = unixShmBarrier // sqlite3.c:40208:1: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 128)) = unixShmUnmap // sqlite3.c:40208:1: + *(*func(*libc.TLS, uintptr, I64, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 136)) = unixFetch // sqlite3.c:40208:1: + *(*func(*libc.TLS, uintptr, I64, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 144)) = unixUnfetch // sqlite3.c:40208:1: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 8)) = fts5CreateMethod // sqlite3.c:234457:25: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 16)) = fts5ConnectMethod // sqlite3.c:234458:25: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 24)) = fts5BestIndexMethod // sqlite3.c:234459:25: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 32)) = fts5DisconnectMethod // sqlite3.c:234460:25: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 40)) = fts5DestroyMethod // sqlite3.c:234461:25: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 48)) = fts5OpenMethod // sqlite3.c:234462:25: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 56)) = fts5CloseMethod // sqlite3.c:234463:25: + *(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 64)) = fts5FilterMethod // sqlite3.c:234464:25: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 72)) = fts5NextMethod // sqlite3.c:234465:25: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 80)) = fts5EofMethod // sqlite3.c:234466:25: + *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 88)) = fts5ColumnMethod // sqlite3.c:234467:25: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 96)) = fts5RowidMethod // sqlite3.c:234468:25: + *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 104)) = fts5UpdateMethod // sqlite3.c:234469:25: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 112)) = fts5BeginMethod // sqlite3.c:234470:25: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 120)) = fts5SyncMethod // sqlite3.c:234471:25: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 128)) = fts5CommitMethod // sqlite3.c:234472:25: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 136)) = fts5RollbackMethod // sqlite3.c:234473:25: + *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 144)) = fts5FindFunctionMethod // sqlite3.c:234474:25: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 152)) = fts5RenameMethod // sqlite3.c:234475:25: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 160)) = fts5SavepointMethod // sqlite3.c:234476:25: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 168)) = fts5ReleaseMethod // sqlite3.c:234477:25: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 176)) = fts5RollbackToMethod // sqlite3.c:234478:25: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 184)) = fts5ShadowName // sqlite3.c:234479:25: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 8)) = fts5VocabCreateMethod // sqlite3.c:239040:25: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 16)) = fts5VocabConnectMethod // sqlite3.c:239041:25: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 24)) = fts5VocabBestIndexMethod // sqlite3.c:239042:25: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 32)) = fts5VocabDisconnectMethod // sqlite3.c:239043:25: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 40)) = fts5VocabDestroyMethod // sqlite3.c:239044:25: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 48)) = fts5VocabOpenMethod // sqlite3.c:239045:25: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 56)) = fts5VocabCloseMethod // sqlite3.c:239046:25: + *(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 64)) = fts5VocabFilterMethod // sqlite3.c:239047:25: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 72)) = fts5VocabNextMethod // sqlite3.c:239048:25: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 80)) = fts5VocabEofMethod // sqlite3.c:239049:25: + *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 88)) = fts5VocabColumnMethod // sqlite3.c:239050:25: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 96)) = fts5VocabRowidMethod // sqlite3.c:239051:25: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 8)) = geopolyCreate // sqlite3.c:201991:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 16)) = geopolyConnect // sqlite3.c:201992:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 24)) = geopolyBestIndex // sqlite3.c:201993:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 32)) = rtreeDisconnect // sqlite3.c:201994:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 40)) = rtreeDestroy // sqlite3.c:201995:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 48)) = rtreeOpen // sqlite3.c:201996:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 56)) = rtreeClose // sqlite3.c:201997:3: + *(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 64)) = geopolyFilter // sqlite3.c:201998:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 72)) = rtreeNext // sqlite3.c:201999:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 80)) = rtreeEof // sqlite3.c:202000:3: + *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 88)) = geopolyColumn // sqlite3.c:202001:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 96)) = rtreeRowid // sqlite3.c:202002:3: + *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 104)) = geopolyUpdate // sqlite3.c:202003:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 112)) = rtreeBeginTransaction // sqlite3.c:202004:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 120)) = rtreeEndTransaction // sqlite3.c:202005:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 128)) = rtreeEndTransaction // sqlite3.c:202006:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 136)) = rtreeEndTransaction // sqlite3.c:202007:3: + *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 144)) = geopolyFindFunction // sqlite3.c:202008:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 152)) = rtreeRename // sqlite3.c:202009:3: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 160)) = rtreeSavepoint // sqlite3.c:202010:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 184)) = rtreeShadowName // sqlite3.c:202013:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonEachModule)) + 16)) = jsonEachConnect // sqlite3.c:195733:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonEachModule)) + 24)) = jsonEachBestIndex // sqlite3.c:195734:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonEachModule)) + 32)) = jsonEachDisconnect // sqlite3.c:195735:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonEachModule)) + 48)) = jsonEachOpenEach // sqlite3.c:195737:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonEachModule)) + 56)) = jsonEachClose // sqlite3.c:195738:3: + *(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonEachModule)) + 64)) = jsonEachFilter // sqlite3.c:195739:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonEachModule)) + 72)) = jsonEachNext // sqlite3.c:195740:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonEachModule)) + 80)) = jsonEachEof // sqlite3.c:195741:3: + *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonEachModule)) + 88)) = jsonEachColumn // sqlite3.c:195742:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonEachModule)) + 96)) = jsonEachRowid // sqlite3.c:195743:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonTreeModule)) + 16)) = jsonEachConnect // sqlite3.c:195761:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonTreeModule)) + 24)) = jsonEachBestIndex // sqlite3.c:195762:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonTreeModule)) + 32)) = jsonEachDisconnect // sqlite3.c:195763:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonTreeModule)) + 48)) = jsonEachOpenTree // sqlite3.c:195765:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonTreeModule)) + 56)) = jsonEachClose // sqlite3.c:195766:3: + *(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonTreeModule)) + 64)) = jsonEachFilter // sqlite3.c:195767:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonTreeModule)) + 72)) = jsonEachNext // sqlite3.c:195768:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonTreeModule)) + 80)) = jsonEachEof // sqlite3.c:195769:3: + *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonTreeModule)) + 88)) = jsonEachColumn // sqlite3.c:195770:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonTreeModule)) + 96)) = jsonEachRowid // sqlite3.c:195771:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 8)) = memdbClose // sqlite3.c:49243:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 16)) = memdbRead // sqlite3.c:49244:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 24)) = memdbWrite // sqlite3.c:49245:3: + *(*func(*libc.TLS, uintptr, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 32)) = memdbTruncate // sqlite3.c:49246:3: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 40)) = memdbSync // sqlite3.c:49247:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 48)) = memdbFileSize // sqlite3.c:49248:3: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 56)) = memdbLock // sqlite3.c:49249:3: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 64)) = memdbLock // sqlite3.c:49250:3: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 80)) = memdbFileControl // sqlite3.c:49252:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 96)) = memdbDeviceCharacteristics // sqlite3.c:49254:3: + *(*func(*libc.TLS, uintptr, Sqlite3_int64, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 136)) = memdbFetch // sqlite3.c:49259:3: + *(*func(*libc.TLS, uintptr, Sqlite3_int64, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 144)) = memdbUnfetch // sqlite3.c:49260:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_vfs)) + 40)) = memdbOpen // sqlite3.c:49223:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_vfs)) + 56)) = memdbAccess // sqlite3.c:49225:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_vfs)) + 64)) = memdbFullPathname // sqlite3.c:49226:3: + *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_vfs)) + 72)) = memdbDlOpen // sqlite3.c:49227:3: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_vfs)) + 80)) = memdbDlError // sqlite3.c:49228:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_vfs)) + 88)) = memdbDlSym // sqlite3.c:49229:3: + *(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_vfs)) + 96)) = memdbDlClose // sqlite3.c:49230:3: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_vfs)) + 104)) = memdbRandomness // sqlite3.c:49231:3: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_vfs)) + 112)) = memdbSleep // sqlite3.c:49232:3: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_vfs)) + 128)) = memdbGetLastError // sqlite3.c:49234:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_vfs)) + 136)) = memdbCurrentTimeInt64 // sqlite3.c:49235:3: + *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoFinder)) + 0)) = nolockIoFinderImpl // sqlite3.c:40198:1: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 8)) = nolockClose // sqlite3.c:40198:1: + *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 16)) = unixRead // sqlite3.c:40198:1: + *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 24)) = unixWrite // sqlite3.c:40198:1: + *(*func(*libc.TLS, uintptr, I64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 32)) = unixTruncate // sqlite3.c:40198:1: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 40)) = unixSync // sqlite3.c:40198:1: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 48)) = unixFileSize // sqlite3.c:40198:1: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 56)) = nolockLock // sqlite3.c:40198:1: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 64)) = nolockUnlock // sqlite3.c:40198:1: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 72)) = nolockCheckReservedLock // sqlite3.c:40198:1: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 80)) = unixFileControl // sqlite3.c:40198:1: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 88)) = unixSectorSize // sqlite3.c:40198:1: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 96)) = unixDeviceCharacteristics // sqlite3.c:40198:1: + *(*func(*libc.TLS, uintptr, int32, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 112)) = unixShmLock // sqlite3.c:40198:1: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 120)) = unixShmBarrier // sqlite3.c:40198:1: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 128)) = unixShmUnmap // sqlite3.c:40198:1: + *(*func(*libc.TLS, uintptr, I64, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 136)) = unixFetch // sqlite3.c:40198:1: + *(*func(*libc.TLS, uintptr, I64, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 144)) = unixUnfetch // sqlite3.c:40198:1: + *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoFinder)) + 0)) = posixIoFinderImpl // sqlite3.c:40188:1: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 8)) = unixClose // sqlite3.c:40188:1: + *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 16)) = unixRead // sqlite3.c:40188:1: + *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 24)) = unixWrite // sqlite3.c:40188:1: + *(*func(*libc.TLS, uintptr, I64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 32)) = unixTruncate // sqlite3.c:40188:1: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 40)) = unixSync // sqlite3.c:40188:1: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 48)) = unixFileSize // sqlite3.c:40188:1: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 56)) = unixLock // sqlite3.c:40188:1: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 64)) = unixUnlock // sqlite3.c:40188:1: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 72)) = unixCheckReservedLock // sqlite3.c:40188:1: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 80)) = unixFileControl // sqlite3.c:40188:1: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 88)) = unixSectorSize // sqlite3.c:40188:1: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 96)) = unixDeviceCharacteristics // sqlite3.c:40188:1: + *(*func(*libc.TLS, uintptr, int32, int32, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 104)) = unixShmMap // sqlite3.c:40188:1: + *(*func(*libc.TLS, uintptr, int32, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 112)) = unixShmLock // sqlite3.c:40188:1: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 120)) = unixShmBarrier // sqlite3.c:40188:1: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 128)) = unixShmUnmap // sqlite3.c:40188:1: + *(*func(*libc.TLS, uintptr, I64, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 136)) = unixFetch // sqlite3.c:40188:1: + *(*func(*libc.TLS, uintptr, I64, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 144)) = unixUnfetch // sqlite3.c:40188:1: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&pragmaVtabModule)) + 16)) = pragmaVtabConnect // sqlite3.c:133119:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&pragmaVtabModule)) + 24)) = pragmaVtabBestIndex // sqlite3.c:133120:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&pragmaVtabModule)) + 32)) = pragmaVtabDisconnect // sqlite3.c:133121:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&pragmaVtabModule)) + 48)) = pragmaVtabOpen // sqlite3.c:133123:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&pragmaVtabModule)) + 56)) = pragmaVtabClose // sqlite3.c:133124:3: + *(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&pragmaVtabModule)) + 64)) = pragmaVtabFilter // sqlite3.c:133125:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&pragmaVtabModule)) + 72)) = pragmaVtabNext // sqlite3.c:133126:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&pragmaVtabModule)) + 80)) = pragmaVtabEof // sqlite3.c:133127:3: + *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&pragmaVtabModule)) + 88)) = pragmaVtabColumn // sqlite3.c:133128:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&pragmaVtabModule)) + 96)) = pragmaVtabRowid // sqlite3.c:133129:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 8)) = rbuVfsClose // sqlite3.c:208688:5: + *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 16)) = rbuVfsRead // sqlite3.c:208689:5: + *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 24)) = rbuVfsWrite // sqlite3.c:208690:5: + *(*func(*libc.TLS, uintptr, Sqlite_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 32)) = rbuVfsTruncate // sqlite3.c:208691:5: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 40)) = rbuVfsSync // sqlite3.c:208692:5: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 48)) = rbuVfsFileSize // sqlite3.c:208693:5: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 56)) = rbuVfsLock // sqlite3.c:208694:5: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 64)) = rbuVfsUnlock // sqlite3.c:208695:5: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 72)) = rbuVfsCheckReservedLock // sqlite3.c:208696:5: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 80)) = rbuVfsFileControl // sqlite3.c:208697:5: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 88)) = rbuVfsSectorSize // sqlite3.c:208698:5: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 96)) = rbuVfsDeviceCharacteristics // sqlite3.c:208699:5: + *(*func(*libc.TLS, uintptr, int32, int32, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 104)) = rbuVfsShmMap // sqlite3.c:208700:5: + *(*func(*libc.TLS, uintptr, int32, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 112)) = rbuVfsShmLock // sqlite3.c:208701:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 120)) = rbuVfsShmBarrier // sqlite3.c:208702:5: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 128)) = rbuVfsShmUnmap // sqlite3.c:208703:5: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 8)) = rtreeCreate // sqlite3.c:199329:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 16)) = rtreeConnect // sqlite3.c:199330:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 24)) = rtreeBestIndex // sqlite3.c:199331:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 32)) = rtreeDisconnect // sqlite3.c:199332:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 40)) = rtreeDestroy // sqlite3.c:199333:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 48)) = rtreeOpen // sqlite3.c:199334:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 56)) = rtreeClose // sqlite3.c:199335:3: + *(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 64)) = rtreeFilter // sqlite3.c:199336:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 72)) = rtreeNext // sqlite3.c:199337:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 80)) = rtreeEof // sqlite3.c:199338:3: + *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 88)) = rtreeColumn // sqlite3.c:199339:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 96)) = rtreeRowid // sqlite3.c:199340:3: + *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 104)) = rtreeUpdate // sqlite3.c:199341:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 112)) = rtreeBeginTransaction // sqlite3.c:199342:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 120)) = rtreeEndTransaction // sqlite3.c:199343:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 128)) = rtreeEndTransaction // sqlite3.c:199344:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 136)) = rtreeEndTransaction // sqlite3.c:199345:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 152)) = rtreeRename // sqlite3.c:199347:3: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 160)) = rtreeSavepoint // sqlite3.c:199348:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 184)) = rtreeShadowName // sqlite3.c:199351:3: + *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 8)) = fts5ApiUserData // sqlite3.c:233916:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 16)) = fts5ApiColumnCount // sqlite3.c:233917:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 24)) = fts5ApiRowCount // sqlite3.c:233918:3: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 32)) = fts5ApiColumnTotalSize // sqlite3.c:233919:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 40)) = fts5ApiTokenize // sqlite3.c:233920:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 48)) = fts5ApiPhraseCount // sqlite3.c:233921:3: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 56)) = fts5ApiPhraseSize // sqlite3.c:233922:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 64)) = fts5ApiInstCount // sqlite3.c:233923:3: + *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 72)) = fts5ApiInst // sqlite3.c:233924:3: + *(*func(*libc.TLS, uintptr) Sqlite3_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 80)) = fts5ApiRowid // sqlite3.c:233925:3: + *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 88)) = fts5ApiColumnText // sqlite3.c:233926:3: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 96)) = fts5ApiColumnSize // sqlite3.c:233927:3: + *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 104)) = fts5ApiQueryPhrase // sqlite3.c:233928:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 112)) = fts5ApiSetAuxdata // sqlite3.c:233929:3: + *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 120)) = fts5ApiGetAuxdata // sqlite3.c:233930:3: + *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 128)) = fts5ApiPhraseFirst // sqlite3.c:233931:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 136)) = fts5ApiPhraseNext // sqlite3.c:233932:3: + *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 144)) = fts5ApiPhraseFirstColumn // sqlite3.c:233933:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 152)) = fts5ApiPhraseNextColumn // sqlite3.c:233934:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sMemJournalMethods)) + 8)) = memjrnlClose // sqlite3.c:100036:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sMemJournalMethods)) + 16)) = memjrnlRead // sqlite3.c:100037:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sMemJournalMethods)) + 24)) = memjrnlWrite // sqlite3.c:100038:3: + *(*func(*libc.TLS, uintptr, Sqlite_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sMemJournalMethods)) + 32)) = memjrnlTruncate // sqlite3.c:100039:3: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sMemJournalMethods)) + 40)) = memjrnlSync // sqlite3.c:100040:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sMemJournalMethods)) + 48)) = memjrnlFileSize // sqlite3.c:100041:3: *(*func(*libc.TLS) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sMutex)) + 0)) = noopMutexInit // sqlite3.c:27532:5: *(*func(*libc.TLS) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sMutex)) + 8)) = noopMutexEnd // sqlite3.c:27533:5: *(*func(*libc.TLS, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sMutex)) + 16)) = noopMutexAlloc // sqlite3.c:27534:5: @@ -196259,288 +196290,288 @@ func init() { *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sMutex)) + 32)) = noopMutexEnter // sqlite3.c:27536:5: *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sMutex)) + 40)) = noopMutexTry // sqlite3.c:27537:5: *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sMutex)) + 48)) = noopMutexLeave // sqlite3.c:27538:5: - *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 0)) = Xsqlite3_aggregate_context // sqlite3.c:129019:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 8)) = Xsqlite3_aggregate_count // sqlite3.c:129021:3: - *(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 16)) = Xsqlite3_bind_blob // sqlite3.c:129025:3: - *(*func(*libc.TLS, uintptr, int32, float64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 24)) = Xsqlite3_bind_double // sqlite3.c:129026:3: - *(*func(*libc.TLS, uintptr, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 32)) = Xsqlite3_bind_int // sqlite3.c:129027:3: - *(*func(*libc.TLS, uintptr, int32, Sqlite_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 40)) = Xsqlite3_bind_int64 // sqlite3.c:129028:3: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 48)) = Xsqlite3_bind_null // sqlite3.c:129029:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 56)) = Xsqlite3_bind_parameter_count // sqlite3.c:129030:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 64)) = Xsqlite3_bind_parameter_index // sqlite3.c:129031:3: - *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 72)) = Xsqlite3_bind_parameter_name // sqlite3.c:129032:3: - *(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 80)) = Xsqlite3_bind_text // sqlite3.c:129033:3: - *(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 88)) = Xsqlite3_bind_text16 // sqlite3.c:129034:3: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 96)) = Xsqlite3_bind_value // sqlite3.c:129035:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 104)) = Xsqlite3_busy_handler // sqlite3.c:129036:3: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 112)) = Xsqlite3_busy_timeout // sqlite3.c:129037:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 120)) = Xsqlite3_changes // sqlite3.c:129038:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 128)) = Xsqlite3_close // sqlite3.c:129039:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 136)) = Xsqlite3_collation_needed // sqlite3.c:129040:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 144)) = Xsqlite3_collation_needed16 // sqlite3.c:129041:3: - *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 152)) = Xsqlite3_column_blob // sqlite3.c:129042:3: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 160)) = Xsqlite3_column_bytes // sqlite3.c:129043:3: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 168)) = Xsqlite3_column_bytes16 // sqlite3.c:129044:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 176)) = Xsqlite3_column_count // sqlite3.c:129045:3: - *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 184)) = Xsqlite3_column_database_name // sqlite3.c:129046:3: - *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 192)) = Xsqlite3_column_database_name16 // sqlite3.c:129047:3: - *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 200)) = Xsqlite3_column_decltype // sqlite3.c:129048:3: - *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 208)) = Xsqlite3_column_decltype16 // sqlite3.c:129049:3: - *(*func(*libc.TLS, uintptr, int32) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 216)) = Xsqlite3_column_double // sqlite3.c:129050:3: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 224)) = Xsqlite3_column_int // sqlite3.c:129051:3: - *(*func(*libc.TLS, uintptr, int32) Sqlite_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 232)) = Xsqlite3_column_int64 // sqlite3.c:129052:3: - *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 240)) = Xsqlite3_column_name // sqlite3.c:129053:3: - *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 248)) = Xsqlite3_column_name16 // sqlite3.c:129054:3: - *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 256)) = Xsqlite3_column_origin_name // sqlite3.c:129055:3: - *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 264)) = Xsqlite3_column_origin_name16 // sqlite3.c:129056:3: - *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 272)) = Xsqlite3_column_table_name // sqlite3.c:129057:3: - *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 280)) = Xsqlite3_column_table_name16 // sqlite3.c:129058:3: - *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 288)) = Xsqlite3_column_text // sqlite3.c:129059:3: - *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 296)) = Xsqlite3_column_text16 // sqlite3.c:129060:3: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 304)) = Xsqlite3_column_type // sqlite3.c:129061:3: - *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 312)) = Xsqlite3_column_value // sqlite3.c:129062:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 320)) = Xsqlite3_commit_hook // sqlite3.c:129063:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 328)) = Xsqlite3_complete // sqlite3.c:129064:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 336)) = Xsqlite3_complete16 // sqlite3.c:129065:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 344)) = Xsqlite3_create_collation // sqlite3.c:129066:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 352)) = Xsqlite3_create_collation16 // sqlite3.c:129067:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, int32, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 360)) = Xsqlite3_create_function // sqlite3.c:129068:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, int32, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 368)) = Xsqlite3_create_function16 // sqlite3.c:129069:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 376)) = Xsqlite3_create_module // sqlite3.c:129070:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 384)) = Xsqlite3_data_count // sqlite3.c:129071:3: - *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 392)) = Xsqlite3_db_handle // sqlite3.c:129072:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 400)) = Xsqlite3_declare_vtab // sqlite3.c:129073:3: - *(*func(*libc.TLS, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 408)) = Xsqlite3_enable_shared_cache // sqlite3.c:129074:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 416)) = Xsqlite3_errcode // sqlite3.c:129075:3: - *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 424)) = Xsqlite3_errmsg // sqlite3.c:129076:3: - *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 432)) = Xsqlite3_errmsg16 // sqlite3.c:129077:3: - *(*func(*libc.TLS, uintptr, uintptr, Sqlite3_callback, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 440)) = Xsqlite3_exec // sqlite3.c:129078:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 448)) = Xsqlite3_expired // sqlite3.c:129080:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 456)) = Xsqlite3_finalize // sqlite3.c:129084:3: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 464)) = Xsqlite3_free // sqlite3.c:129085:3: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 472)) = Xsqlite3_free_table // sqlite3.c:129086:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 480)) = Xsqlite3_get_autocommit // sqlite3.c:129087:3: - *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 488)) = Xsqlite3_get_auxdata // sqlite3.c:129088:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 496)) = Xsqlite3_get_table // sqlite3.c:129089:3: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 512)) = Xsqlite3_interrupt // sqlite3.c:129091:3: - *(*func(*libc.TLS, uintptr) Sqlite3_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 520)) = Xsqlite3_last_insert_rowid // sqlite3.c:129092:3: - *(*func(*libc.TLS) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 528)) = Xsqlite3_libversion // sqlite3.c:129093:3: - *(*func(*libc.TLS) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 536)) = Xsqlite3_libversion_number // sqlite3.c:129094:3: - *(*func(*libc.TLS, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 544)) = Xsqlite3_malloc // sqlite3.c:129095:3: - *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 552)) = Xsqlite3_mprintf // sqlite3.c:129096:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 560)) = Xsqlite3_open // sqlite3.c:129097:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 568)) = Xsqlite3_open16 // sqlite3.c:129098:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 576)) = Xsqlite3_prepare // sqlite3.c:129099:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 584)) = Xsqlite3_prepare16 // sqlite3.c:129100:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 592)) = Xsqlite3_profile // sqlite3.c:129101:3: - *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 600)) = Xsqlite3_progress_handler // sqlite3.c:129102:3: - *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 608)) = Xsqlite3_realloc // sqlite3.c:129103:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 616)) = Xsqlite3_reset // sqlite3.c:129104:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 624)) = Xsqlite3_result_blob // sqlite3.c:129105:3: - *(*func(*libc.TLS, uintptr, float64))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 632)) = Xsqlite3_result_double // sqlite3.c:129106:3: - *(*func(*libc.TLS, uintptr, uintptr, int32))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 640)) = Xsqlite3_result_error // sqlite3.c:129107:3: - *(*func(*libc.TLS, uintptr, uintptr, int32))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 648)) = Xsqlite3_result_error16 // sqlite3.c:129108:3: - *(*func(*libc.TLS, uintptr, int32))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 656)) = Xsqlite3_result_int // sqlite3.c:129109:3: - *(*func(*libc.TLS, uintptr, I64))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 664)) = Xsqlite3_result_int64 // sqlite3.c:129110:3: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 672)) = Xsqlite3_result_null // sqlite3.c:129111:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 680)) = Xsqlite3_result_text // sqlite3.c:129112:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 688)) = Xsqlite3_result_text16 // sqlite3.c:129113:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 696)) = Xsqlite3_result_text16be // sqlite3.c:129114:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 704)) = Xsqlite3_result_text16le // sqlite3.c:129115:3: - *(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 712)) = Xsqlite3_result_value // sqlite3.c:129116:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 720)) = Xsqlite3_rollback_hook // sqlite3.c:129117:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 728)) = Xsqlite3_set_authorizer // sqlite3.c:129118:3: - *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 736)) = Xsqlite3_set_auxdata // sqlite3.c:129119:3: - *(*func(*libc.TLS, int32, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 744)) = Xsqlite3_snprintf // sqlite3.c:129120:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 752)) = Xsqlite3_step // sqlite3.c:129121:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr, uintptr, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 760)) = Xsqlite3_table_column_metadata // sqlite3.c:129122:3: - *(*func(*libc.TLS))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 768)) = Xsqlite3_thread_cleanup // sqlite3.c:129124:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 776)) = Xsqlite3_total_changes // sqlite3.c:129128:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 784)) = Xsqlite3_trace // sqlite3.c:129129:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 792)) = Xsqlite3_transfer_bindings // sqlite3.c:129131:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 800)) = Xsqlite3_update_hook // sqlite3.c:129135:3: - *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 808)) = Xsqlite3_user_data // sqlite3.c:129136:3: - *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 816)) = Xsqlite3_value_blob // sqlite3.c:129137:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 824)) = Xsqlite3_value_bytes // sqlite3.c:129138:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 832)) = Xsqlite3_value_bytes16 // sqlite3.c:129139:3: - *(*func(*libc.TLS, uintptr) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 840)) = Xsqlite3_value_double // sqlite3.c:129140:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 848)) = Xsqlite3_value_int // sqlite3.c:129141:3: - *(*func(*libc.TLS, uintptr) Sqlite_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 856)) = Xsqlite3_value_int64 // sqlite3.c:129142:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 864)) = Xsqlite3_value_numeric_type // sqlite3.c:129143:3: - *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 872)) = Xsqlite3_value_text // sqlite3.c:129144:3: - *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 880)) = Xsqlite3_value_text16 // sqlite3.c:129145:3: - *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 888)) = Xsqlite3_value_text16be // sqlite3.c:129146:3: - *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 896)) = Xsqlite3_value_text16le // sqlite3.c:129147:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 904)) = Xsqlite3_value_type // sqlite3.c:129148:3: - *(*func(*libc.TLS, uintptr, Va_list) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 912)) = Xsqlite3_vmprintf // sqlite3.c:129149:3: - *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 920)) = Xsqlite3_overload_function // sqlite3.c:129158:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 928)) = Xsqlite3_prepare_v2 // sqlite3.c:129163:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 936)) = Xsqlite3_prepare16_v2 // sqlite3.c:129164:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 944)) = Xsqlite3_clear_bindings // sqlite3.c:129165:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 952)) = Xsqlite3_create_module_v2 // sqlite3.c:129170:3: - *(*func(*libc.TLS, uintptr, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 960)) = Xsqlite3_bind_zeroblob // sqlite3.c:129175:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 968)) = Xsqlite3_blob_bytes // sqlite3.c:129176:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 976)) = Xsqlite3_blob_close // sqlite3.c:129177:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr, Sqlite_int64, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 984)) = Xsqlite3_blob_open // sqlite3.c:129178:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 992)) = Xsqlite3_blob_read // sqlite3.c:129179:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1000)) = Xsqlite3_blob_write // sqlite3.c:129180:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1008)) = Xsqlite3_create_collation_v2 // sqlite3.c:129181:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1016)) = Xsqlite3_file_control // sqlite3.c:129182:3: - *(*func(*libc.TLS, int32) Sqlite3_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1024)) = Xsqlite3_memory_highwater // sqlite3.c:129183:3: - *(*func(*libc.TLS) Sqlite3_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1032)) = Xsqlite3_memory_used // sqlite3.c:129184:3: - *(*func(*libc.TLS, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1040)) = Xsqlite3_mutex_alloc // sqlite3.c:129192:3: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1048)) = Xsqlite3_mutex_enter // sqlite3.c:129193:3: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1056)) = Xsqlite3_mutex_free // sqlite3.c:129194:3: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1064)) = Xsqlite3_mutex_leave // sqlite3.c:129195:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1072)) = Xsqlite3_mutex_try // sqlite3.c:129196:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1080)) = Xsqlite3_open_v2 // sqlite3.c:129198:3: - *(*func(*libc.TLS, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1088)) = Xsqlite3_release_memory // sqlite3.c:129199:3: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1096)) = Xsqlite3_result_error_nomem // sqlite3.c:129200:3: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1104)) = Xsqlite3_result_error_toobig // sqlite3.c:129201:3: - *(*func(*libc.TLS, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1112)) = Xsqlite3_sleep // sqlite3.c:129202:3: - *(*func(*libc.TLS, int32))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1120)) = Xsqlite3_soft_heap_limit // sqlite3.c:129203:3: - *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1128)) = Xsqlite3_vfs_find // sqlite3.c:129204:3: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1136)) = Xsqlite3_vfs_register // sqlite3.c:129205:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1144)) = Xsqlite3_vfs_unregister // sqlite3.c:129206:3: - *(*func(*libc.TLS) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1152)) = Xsqlite3_threadsafe // sqlite3.c:129211:3: - *(*func(*libc.TLS, uintptr, int32))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1160)) = Xsqlite3_result_zeroblob // sqlite3.c:129212:3: - *(*func(*libc.TLS, uintptr, int32))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1168)) = Xsqlite3_result_error_code // sqlite3.c:129213:3: - *(*func(*libc.TLS, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1176)) = Xsqlite3_test_control // sqlite3.c:129214:3: - *(*func(*libc.TLS, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1184)) = Xsqlite3_randomness // sqlite3.c:129215:3: - *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1192)) = Xsqlite3_context_db_handle // sqlite3.c:129216:3: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1200)) = Xsqlite3_extended_result_codes // sqlite3.c:129221:3: - *(*func(*libc.TLS, uintptr, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1208)) = Xsqlite3_limit // sqlite3.c:129222:3: - *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1216)) = Xsqlite3_next_stmt // sqlite3.c:129223:3: - *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1224)) = Xsqlite3_sql // sqlite3.c:129224:3: - *(*func(*libc.TLS, int32, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1232)) = Xsqlite3_status // sqlite3.c:129225:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1240)) = Xsqlite3_backup_finish // sqlite3.c:129230:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1248)) = Xsqlite3_backup_init // sqlite3.c:129231:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1256)) = Xsqlite3_backup_pagecount // sqlite3.c:129232:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1264)) = Xsqlite3_backup_remaining // sqlite3.c:129233:3: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1272)) = Xsqlite3_backup_step // sqlite3.c:129234:3: - *(*func(*libc.TLS, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1280)) = Xsqlite3_compileoption_get // sqlite3.c:129236:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1288)) = Xsqlite3_compileoption_used // sqlite3.c:129237:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, int32, uintptr, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1296)) = Xsqlite3_create_function_v2 // sqlite3.c:129242:3: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1304)) = Xsqlite3_db_config // sqlite3.c:129243:3: - *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1312)) = Xsqlite3_db_mutex // sqlite3.c:129244:3: - *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1320)) = Xsqlite3_db_status // sqlite3.c:129245:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1328)) = Xsqlite3_extended_errcode // sqlite3.c:129246:3: - *(*func(*libc.TLS, int32, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1336)) = Xsqlite3_log // sqlite3.c:129247:3: - *(*func(*libc.TLS, Sqlite3_int64) Sqlite3_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1344)) = Xsqlite3_soft_heap_limit64 // sqlite3.c:129248:3: - *(*func(*libc.TLS) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1352)) = Xsqlite3_sourceid // sqlite3.c:129249:3: - *(*func(*libc.TLS, uintptr, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1360)) = Xsqlite3_stmt_status // sqlite3.c:129250:3: - *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1368)) = Xsqlite3_strnicmp // sqlite3.c:129251:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1376)) = Xsqlite3_unlock_notify // sqlite3.c:129253:3: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1384)) = Xsqlite3_wal_autocheckpoint // sqlite3.c:129258:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1392)) = Xsqlite3_wal_checkpoint // sqlite3.c:129259:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1400)) = Xsqlite3_wal_hook // sqlite3.c:129260:3: - *(*func(*libc.TLS, uintptr, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1408)) = Xsqlite3_blob_reopen // sqlite3.c:129266:3: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1416)) = Xsqlite3_vtab_config // sqlite3.c:129267:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1424)) = Xsqlite3_vtab_on_conflict // sqlite3.c:129268:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1432)) = Xsqlite3_close_v2 // sqlite3.c:129269:3: - *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1440)) = Xsqlite3_db_filename // sqlite3.c:129270:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1448)) = Xsqlite3_db_readonly // sqlite3.c:129271:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1456)) = Xsqlite3_db_release_memory // sqlite3.c:129272:3: - *(*func(*libc.TLS, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1464)) = Xsqlite3_errstr // sqlite3.c:129273:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1472)) = Xsqlite3_stmt_busy // sqlite3.c:129274:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1480)) = Xsqlite3_stmt_readonly // sqlite3.c:129275:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1488)) = Xsqlite3_stricmp // sqlite3.c:129276:3: - *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1496)) = Xsqlite3_uri_boolean // sqlite3.c:129277:3: - *(*func(*libc.TLS, uintptr, uintptr, Sqlite3_int64) Sqlite3_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1504)) = Xsqlite3_uri_int64 // sqlite3.c:129278:3: - *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1512)) = Xsqlite3_uri_parameter // sqlite3.c:129279:3: - *(*func(*libc.TLS, int32, uintptr, uintptr, Va_list) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1520)) = Xsqlite3_vsnprintf // sqlite3.c:129280:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1528)) = Xsqlite3_wal_checkpoint_v2 // sqlite3.c:129281:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1536)) = Xsqlite3_auto_extension // sqlite3.c:129283:3: - *(*func(*libc.TLS, uintptr, int32, uintptr, Sqlite3_uint64, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1544)) = Xsqlite3_bind_blob64 // sqlite3.c:129284:3: - *(*func(*libc.TLS, uintptr, int32, uintptr, Sqlite3_uint64, uintptr, uint8) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1552)) = Xsqlite3_bind_text64 // sqlite3.c:129285:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1560)) = Xsqlite3_cancel_auto_extension // sqlite3.c:129286:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1568)) = Xsqlite3_load_extension // sqlite3.c:129287:3: - *(*func(*libc.TLS, Sqlite3_uint64) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1576)) = Xsqlite3_malloc64 // sqlite3.c:129288:3: - *(*func(*libc.TLS, uintptr) Sqlite3_uint64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1584)) = Xsqlite3_msize // sqlite3.c:129289:3: - *(*func(*libc.TLS, uintptr, Sqlite3_uint64) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1592)) = Xsqlite3_realloc64 // sqlite3.c:129290:3: - *(*func(*libc.TLS))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1600)) = Xsqlite3_reset_auto_extension // sqlite3.c:129291:3: - *(*func(*libc.TLS, uintptr, uintptr, Sqlite3_uint64, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1608)) = Xsqlite3_result_blob64 // sqlite3.c:129292:3: - *(*func(*libc.TLS, uintptr, uintptr, Sqlite3_uint64, uintptr, uint8))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1616)) = Xsqlite3_result_text64 // sqlite3.c:129293:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1624)) = Xsqlite3_strglob // sqlite3.c:129294:3: + *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 0)) = Xsqlite3_aggregate_context // sqlite3.c:129032:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 8)) = Xsqlite3_aggregate_count // sqlite3.c:129034:3: + *(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 16)) = Xsqlite3_bind_blob // sqlite3.c:129038:3: + *(*func(*libc.TLS, uintptr, int32, float64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 24)) = Xsqlite3_bind_double // sqlite3.c:129039:3: + *(*func(*libc.TLS, uintptr, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 32)) = Xsqlite3_bind_int // sqlite3.c:129040:3: + *(*func(*libc.TLS, uintptr, int32, Sqlite_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 40)) = Xsqlite3_bind_int64 // sqlite3.c:129041:3: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 48)) = Xsqlite3_bind_null // sqlite3.c:129042:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 56)) = Xsqlite3_bind_parameter_count // sqlite3.c:129043:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 64)) = Xsqlite3_bind_parameter_index // sqlite3.c:129044:3: + *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 72)) = Xsqlite3_bind_parameter_name // sqlite3.c:129045:3: + *(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 80)) = Xsqlite3_bind_text // sqlite3.c:129046:3: + *(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 88)) = Xsqlite3_bind_text16 // sqlite3.c:129047:3: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 96)) = Xsqlite3_bind_value // sqlite3.c:129048:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 104)) = Xsqlite3_busy_handler // sqlite3.c:129049:3: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 112)) = Xsqlite3_busy_timeout // sqlite3.c:129050:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 120)) = Xsqlite3_changes // sqlite3.c:129051:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 128)) = Xsqlite3_close // sqlite3.c:129052:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 136)) = Xsqlite3_collation_needed // sqlite3.c:129053:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 144)) = Xsqlite3_collation_needed16 // sqlite3.c:129054:3: + *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 152)) = Xsqlite3_column_blob // sqlite3.c:129055:3: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 160)) = Xsqlite3_column_bytes // sqlite3.c:129056:3: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 168)) = Xsqlite3_column_bytes16 // sqlite3.c:129057:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 176)) = Xsqlite3_column_count // sqlite3.c:129058:3: + *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 184)) = Xsqlite3_column_database_name // sqlite3.c:129059:3: + *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 192)) = Xsqlite3_column_database_name16 // sqlite3.c:129060:3: + *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 200)) = Xsqlite3_column_decltype // sqlite3.c:129061:3: + *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 208)) = Xsqlite3_column_decltype16 // sqlite3.c:129062:3: + *(*func(*libc.TLS, uintptr, int32) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 216)) = Xsqlite3_column_double // sqlite3.c:129063:3: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 224)) = Xsqlite3_column_int // sqlite3.c:129064:3: + *(*func(*libc.TLS, uintptr, int32) Sqlite_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 232)) = Xsqlite3_column_int64 // sqlite3.c:129065:3: + *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 240)) = Xsqlite3_column_name // sqlite3.c:129066:3: + *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 248)) = Xsqlite3_column_name16 // sqlite3.c:129067:3: + *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 256)) = Xsqlite3_column_origin_name // sqlite3.c:129068:3: + *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 264)) = Xsqlite3_column_origin_name16 // sqlite3.c:129069:3: + *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 272)) = Xsqlite3_column_table_name // sqlite3.c:129070:3: + *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 280)) = Xsqlite3_column_table_name16 // sqlite3.c:129071:3: + *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 288)) = Xsqlite3_column_text // sqlite3.c:129072:3: + *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 296)) = Xsqlite3_column_text16 // sqlite3.c:129073:3: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 304)) = Xsqlite3_column_type // sqlite3.c:129074:3: + *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 312)) = Xsqlite3_column_value // sqlite3.c:129075:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 320)) = Xsqlite3_commit_hook // sqlite3.c:129076:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 328)) = Xsqlite3_complete // sqlite3.c:129077:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 336)) = Xsqlite3_complete16 // sqlite3.c:129078:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 344)) = Xsqlite3_create_collation // sqlite3.c:129079:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 352)) = Xsqlite3_create_collation16 // sqlite3.c:129080:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, int32, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 360)) = Xsqlite3_create_function // sqlite3.c:129081:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, int32, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 368)) = Xsqlite3_create_function16 // sqlite3.c:129082:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 376)) = Xsqlite3_create_module // sqlite3.c:129083:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 384)) = Xsqlite3_data_count // sqlite3.c:129084:3: + *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 392)) = Xsqlite3_db_handle // sqlite3.c:129085:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 400)) = Xsqlite3_declare_vtab // sqlite3.c:129086:3: + *(*func(*libc.TLS, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 408)) = Xsqlite3_enable_shared_cache // sqlite3.c:129087:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 416)) = Xsqlite3_errcode // sqlite3.c:129088:3: + *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 424)) = Xsqlite3_errmsg // sqlite3.c:129089:3: + *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 432)) = Xsqlite3_errmsg16 // sqlite3.c:129090:3: + *(*func(*libc.TLS, uintptr, uintptr, Sqlite3_callback, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 440)) = Xsqlite3_exec // sqlite3.c:129091:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 448)) = Xsqlite3_expired // sqlite3.c:129093:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 456)) = Xsqlite3_finalize // sqlite3.c:129097:3: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 464)) = Xsqlite3_free // sqlite3.c:129098:3: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 472)) = Xsqlite3_free_table // sqlite3.c:129099:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 480)) = Xsqlite3_get_autocommit // sqlite3.c:129100:3: + *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 488)) = Xsqlite3_get_auxdata // sqlite3.c:129101:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 496)) = Xsqlite3_get_table // sqlite3.c:129102:3: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 512)) = Xsqlite3_interrupt // sqlite3.c:129104:3: + *(*func(*libc.TLS, uintptr) Sqlite3_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 520)) = Xsqlite3_last_insert_rowid // sqlite3.c:129105:3: + *(*func(*libc.TLS) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 528)) = Xsqlite3_libversion // sqlite3.c:129106:3: + *(*func(*libc.TLS) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 536)) = Xsqlite3_libversion_number // sqlite3.c:129107:3: + *(*func(*libc.TLS, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 544)) = Xsqlite3_malloc // sqlite3.c:129108:3: + *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 552)) = Xsqlite3_mprintf // sqlite3.c:129109:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 560)) = Xsqlite3_open // sqlite3.c:129110:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 568)) = Xsqlite3_open16 // sqlite3.c:129111:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 576)) = Xsqlite3_prepare // sqlite3.c:129112:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 584)) = Xsqlite3_prepare16 // sqlite3.c:129113:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 592)) = Xsqlite3_profile // sqlite3.c:129114:3: + *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 600)) = Xsqlite3_progress_handler // sqlite3.c:129115:3: + *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 608)) = Xsqlite3_realloc // sqlite3.c:129116:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 616)) = Xsqlite3_reset // sqlite3.c:129117:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 624)) = Xsqlite3_result_blob // sqlite3.c:129118:3: + *(*func(*libc.TLS, uintptr, float64))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 632)) = Xsqlite3_result_double // sqlite3.c:129119:3: + *(*func(*libc.TLS, uintptr, uintptr, int32))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 640)) = Xsqlite3_result_error // sqlite3.c:129120:3: + *(*func(*libc.TLS, uintptr, uintptr, int32))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 648)) = Xsqlite3_result_error16 // sqlite3.c:129121:3: + *(*func(*libc.TLS, uintptr, int32))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 656)) = Xsqlite3_result_int // sqlite3.c:129122:3: + *(*func(*libc.TLS, uintptr, I64))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 664)) = Xsqlite3_result_int64 // sqlite3.c:129123:3: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 672)) = Xsqlite3_result_null // sqlite3.c:129124:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 680)) = Xsqlite3_result_text // sqlite3.c:129125:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 688)) = Xsqlite3_result_text16 // sqlite3.c:129126:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 696)) = Xsqlite3_result_text16be // sqlite3.c:129127:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 704)) = Xsqlite3_result_text16le // sqlite3.c:129128:3: + *(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 712)) = Xsqlite3_result_value // sqlite3.c:129129:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 720)) = Xsqlite3_rollback_hook // sqlite3.c:129130:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 728)) = Xsqlite3_set_authorizer // sqlite3.c:129131:3: + *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 736)) = Xsqlite3_set_auxdata // sqlite3.c:129132:3: + *(*func(*libc.TLS, int32, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 744)) = Xsqlite3_snprintf // sqlite3.c:129133:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 752)) = Xsqlite3_step // sqlite3.c:129134:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr, uintptr, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 760)) = Xsqlite3_table_column_metadata // sqlite3.c:129135:3: + *(*func(*libc.TLS))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 768)) = Xsqlite3_thread_cleanup // sqlite3.c:129137:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 776)) = Xsqlite3_total_changes // sqlite3.c:129141:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 784)) = Xsqlite3_trace // sqlite3.c:129142:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 792)) = Xsqlite3_transfer_bindings // sqlite3.c:129144:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 800)) = Xsqlite3_update_hook // sqlite3.c:129148:3: + *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 808)) = Xsqlite3_user_data // sqlite3.c:129149:3: + *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 816)) = Xsqlite3_value_blob // sqlite3.c:129150:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 824)) = Xsqlite3_value_bytes // sqlite3.c:129151:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 832)) = Xsqlite3_value_bytes16 // sqlite3.c:129152:3: + *(*func(*libc.TLS, uintptr) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 840)) = Xsqlite3_value_double // sqlite3.c:129153:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 848)) = Xsqlite3_value_int // sqlite3.c:129154:3: + *(*func(*libc.TLS, uintptr) Sqlite_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 856)) = Xsqlite3_value_int64 // sqlite3.c:129155:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 864)) = Xsqlite3_value_numeric_type // sqlite3.c:129156:3: + *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 872)) = Xsqlite3_value_text // sqlite3.c:129157:3: + *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 880)) = Xsqlite3_value_text16 // sqlite3.c:129158:3: + *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 888)) = Xsqlite3_value_text16be // sqlite3.c:129159:3: + *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 896)) = Xsqlite3_value_text16le // sqlite3.c:129160:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 904)) = Xsqlite3_value_type // sqlite3.c:129161:3: + *(*func(*libc.TLS, uintptr, Va_list) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 912)) = Xsqlite3_vmprintf // sqlite3.c:129162:3: + *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 920)) = Xsqlite3_overload_function // sqlite3.c:129171:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 928)) = Xsqlite3_prepare_v2 // sqlite3.c:129176:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 936)) = Xsqlite3_prepare16_v2 // sqlite3.c:129177:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 944)) = Xsqlite3_clear_bindings // sqlite3.c:129178:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 952)) = Xsqlite3_create_module_v2 // sqlite3.c:129183:3: + *(*func(*libc.TLS, uintptr, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 960)) = Xsqlite3_bind_zeroblob // sqlite3.c:129188:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 968)) = Xsqlite3_blob_bytes // sqlite3.c:129189:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 976)) = Xsqlite3_blob_close // sqlite3.c:129190:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr, Sqlite_int64, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 984)) = Xsqlite3_blob_open // sqlite3.c:129191:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 992)) = Xsqlite3_blob_read // sqlite3.c:129192:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1000)) = Xsqlite3_blob_write // sqlite3.c:129193:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1008)) = Xsqlite3_create_collation_v2 // sqlite3.c:129194:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1016)) = Xsqlite3_file_control // sqlite3.c:129195:3: + *(*func(*libc.TLS, int32) Sqlite3_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1024)) = Xsqlite3_memory_highwater // sqlite3.c:129196:3: + *(*func(*libc.TLS) Sqlite3_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1032)) = Xsqlite3_memory_used // sqlite3.c:129197:3: + *(*func(*libc.TLS, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1040)) = Xsqlite3_mutex_alloc // sqlite3.c:129205:3: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1048)) = Xsqlite3_mutex_enter // sqlite3.c:129206:3: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1056)) = Xsqlite3_mutex_free // sqlite3.c:129207:3: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1064)) = Xsqlite3_mutex_leave // sqlite3.c:129208:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1072)) = Xsqlite3_mutex_try // sqlite3.c:129209:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1080)) = Xsqlite3_open_v2 // sqlite3.c:129211:3: + *(*func(*libc.TLS, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1088)) = Xsqlite3_release_memory // sqlite3.c:129212:3: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1096)) = Xsqlite3_result_error_nomem // sqlite3.c:129213:3: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1104)) = Xsqlite3_result_error_toobig // sqlite3.c:129214:3: + *(*func(*libc.TLS, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1112)) = Xsqlite3_sleep // sqlite3.c:129215:3: + *(*func(*libc.TLS, int32))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1120)) = Xsqlite3_soft_heap_limit // sqlite3.c:129216:3: + *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1128)) = Xsqlite3_vfs_find // sqlite3.c:129217:3: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1136)) = Xsqlite3_vfs_register // sqlite3.c:129218:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1144)) = Xsqlite3_vfs_unregister // sqlite3.c:129219:3: + *(*func(*libc.TLS) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1152)) = Xsqlite3_threadsafe // sqlite3.c:129224:3: + *(*func(*libc.TLS, uintptr, int32))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1160)) = Xsqlite3_result_zeroblob // sqlite3.c:129225:3: + *(*func(*libc.TLS, uintptr, int32))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1168)) = Xsqlite3_result_error_code // sqlite3.c:129226:3: + *(*func(*libc.TLS, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1176)) = Xsqlite3_test_control // sqlite3.c:129227:3: + *(*func(*libc.TLS, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1184)) = Xsqlite3_randomness // sqlite3.c:129228:3: + *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1192)) = Xsqlite3_context_db_handle // sqlite3.c:129229:3: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1200)) = Xsqlite3_extended_result_codes // sqlite3.c:129234:3: + *(*func(*libc.TLS, uintptr, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1208)) = Xsqlite3_limit // sqlite3.c:129235:3: + *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1216)) = Xsqlite3_next_stmt // sqlite3.c:129236:3: + *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1224)) = Xsqlite3_sql // sqlite3.c:129237:3: + *(*func(*libc.TLS, int32, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1232)) = Xsqlite3_status // sqlite3.c:129238:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1240)) = Xsqlite3_backup_finish // sqlite3.c:129243:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1248)) = Xsqlite3_backup_init // sqlite3.c:129244:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1256)) = Xsqlite3_backup_pagecount // sqlite3.c:129245:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1264)) = Xsqlite3_backup_remaining // sqlite3.c:129246:3: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1272)) = Xsqlite3_backup_step // sqlite3.c:129247:3: + *(*func(*libc.TLS, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1280)) = Xsqlite3_compileoption_get // sqlite3.c:129249:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1288)) = Xsqlite3_compileoption_used // sqlite3.c:129250:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, int32, uintptr, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1296)) = Xsqlite3_create_function_v2 // sqlite3.c:129255:3: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1304)) = Xsqlite3_db_config // sqlite3.c:129256:3: + *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1312)) = Xsqlite3_db_mutex // sqlite3.c:129257:3: + *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1320)) = Xsqlite3_db_status // sqlite3.c:129258:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1328)) = Xsqlite3_extended_errcode // sqlite3.c:129259:3: + *(*func(*libc.TLS, int32, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1336)) = Xsqlite3_log // sqlite3.c:129260:3: + *(*func(*libc.TLS, Sqlite3_int64) Sqlite3_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1344)) = Xsqlite3_soft_heap_limit64 // sqlite3.c:129261:3: + *(*func(*libc.TLS) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1352)) = Xsqlite3_sourceid // sqlite3.c:129262:3: + *(*func(*libc.TLS, uintptr, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1360)) = Xsqlite3_stmt_status // sqlite3.c:129263:3: + *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1368)) = Xsqlite3_strnicmp // sqlite3.c:129264:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1376)) = Xsqlite3_unlock_notify // sqlite3.c:129266:3: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1384)) = Xsqlite3_wal_autocheckpoint // sqlite3.c:129271:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1392)) = Xsqlite3_wal_checkpoint // sqlite3.c:129272:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1400)) = Xsqlite3_wal_hook // sqlite3.c:129273:3: + *(*func(*libc.TLS, uintptr, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1408)) = Xsqlite3_blob_reopen // sqlite3.c:129279:3: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1416)) = Xsqlite3_vtab_config // sqlite3.c:129280:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1424)) = Xsqlite3_vtab_on_conflict // sqlite3.c:129281:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1432)) = Xsqlite3_close_v2 // sqlite3.c:129282:3: + *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1440)) = Xsqlite3_db_filename // sqlite3.c:129283:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1448)) = Xsqlite3_db_readonly // sqlite3.c:129284:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1456)) = Xsqlite3_db_release_memory // sqlite3.c:129285:3: + *(*func(*libc.TLS, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1464)) = Xsqlite3_errstr // sqlite3.c:129286:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1472)) = Xsqlite3_stmt_busy // sqlite3.c:129287:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1480)) = Xsqlite3_stmt_readonly // sqlite3.c:129288:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1488)) = Xsqlite3_stricmp // sqlite3.c:129289:3: + *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1496)) = Xsqlite3_uri_boolean // sqlite3.c:129290:3: + *(*func(*libc.TLS, uintptr, uintptr, Sqlite3_int64) Sqlite3_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1504)) = Xsqlite3_uri_int64 // sqlite3.c:129291:3: + *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1512)) = Xsqlite3_uri_parameter // sqlite3.c:129292:3: + *(*func(*libc.TLS, int32, uintptr, uintptr, Va_list) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1520)) = Xsqlite3_vsnprintf // sqlite3.c:129293:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1528)) = Xsqlite3_wal_checkpoint_v2 // sqlite3.c:129294:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1536)) = Xsqlite3_auto_extension // sqlite3.c:129296:3: + *(*func(*libc.TLS, uintptr, int32, uintptr, Sqlite3_uint64, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1544)) = Xsqlite3_bind_blob64 // sqlite3.c:129297:3: + *(*func(*libc.TLS, uintptr, int32, uintptr, Sqlite3_uint64, uintptr, uint8) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1552)) = Xsqlite3_bind_text64 // sqlite3.c:129298:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1560)) = Xsqlite3_cancel_auto_extension // sqlite3.c:129299:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1568)) = Xsqlite3_load_extension // sqlite3.c:129300:3: + *(*func(*libc.TLS, Sqlite3_uint64) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1576)) = Xsqlite3_malloc64 // sqlite3.c:129301:3: + *(*func(*libc.TLS, uintptr) Sqlite3_uint64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1584)) = Xsqlite3_msize // sqlite3.c:129302:3: + *(*func(*libc.TLS, uintptr, Sqlite3_uint64) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1592)) = Xsqlite3_realloc64 // sqlite3.c:129303:3: + *(*func(*libc.TLS))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1600)) = Xsqlite3_reset_auto_extension // sqlite3.c:129304:3: + *(*func(*libc.TLS, uintptr, uintptr, Sqlite3_uint64, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1608)) = Xsqlite3_result_blob64 // sqlite3.c:129305:3: + *(*func(*libc.TLS, uintptr, uintptr, Sqlite3_uint64, uintptr, uint8))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1616)) = Xsqlite3_result_text64 // sqlite3.c:129306:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1624)) = Xsqlite3_strglob // sqlite3.c:129307:3: *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1632 /* .value_dup */)) = *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr) uintptr - }{Xsqlite3_value_dup})) // sqlite3.c:129296:3: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1640)) = Xsqlite3_value_free // sqlite3.c:129297:3: - *(*func(*libc.TLS, uintptr, U64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1648)) = Xsqlite3_result_zeroblob64 // sqlite3.c:129298:3: - *(*func(*libc.TLS, uintptr, int32, Sqlite3_uint64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1656)) = Xsqlite3_bind_zeroblob64 // sqlite3.c:129299:3: - *(*func(*libc.TLS, uintptr) uint32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1664)) = Xsqlite3_value_subtype // sqlite3.c:129301:3: - *(*func(*libc.TLS, uintptr, uint32))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1672)) = Xsqlite3_result_subtype // sqlite3.c:129302:3: - *(*func(*libc.TLS, int32, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1680)) = Xsqlite3_status64 // sqlite3.c:129304:3: - *(*func(*libc.TLS, uintptr, uintptr, uint32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1688)) = Xsqlite3_strlike // sqlite3.c:129305:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1696)) = Xsqlite3_db_cacheflush // sqlite3.c:129306:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1704)) = Xsqlite3_system_errno // sqlite3.c:129308:3: - *(*func(*libc.TLS, uintptr, uint32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1712)) = Xsqlite3_trace_v2 // sqlite3.c:129310:3: - *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1720)) = Xsqlite3_expanded_sql // sqlite3.c:129311:3: - *(*func(*libc.TLS, uintptr, Sqlite3_int64))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1728)) = Xsqlite3_set_last_insert_rowid // sqlite3.c:129313:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uint32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1736)) = Xsqlite3_prepare_v3 // sqlite3.c:129315:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uint32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1744)) = Xsqlite3_prepare16_v3 // sqlite3.c:129316:3: - *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1752)) = Xsqlite3_bind_pointer // sqlite3.c:129317:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1760)) = Xsqlite3_result_pointer // sqlite3.c:129318:3: - *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1768)) = Xsqlite3_value_pointer // sqlite3.c:129319:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1776)) = Xsqlite3_vtab_nochange // sqlite3.c:129321:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1784)) = Xsqlite3_value_nochange // sqlite3.c:129322:3: - *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1792)) = Xsqlite3_vtab_collation // sqlite3.c:129323:3: - *(*func(*libc.TLS) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1800)) = Xsqlite3_keyword_count // sqlite3.c:129325:3: - *(*func(*libc.TLS, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1808)) = Xsqlite3_keyword_name // sqlite3.c:129326:3: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1816)) = Xsqlite3_keyword_check // sqlite3.c:129327:3: - *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1824)) = Xsqlite3_str_new // sqlite3.c:129328:3: - *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1832)) = Xsqlite3_str_finish // sqlite3.c:129329:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1840)) = Xsqlite3_str_appendf // sqlite3.c:129330:3: - *(*func(*libc.TLS, uintptr, uintptr, Va_list))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1848)) = Xsqlite3_str_vappendf // sqlite3.c:129331:3: - *(*func(*libc.TLS, uintptr, uintptr, int32))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1856)) = Xsqlite3_str_append // sqlite3.c:129332:3: - *(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1864)) = Xsqlite3_str_appendall // sqlite3.c:129333:3: - *(*func(*libc.TLS, uintptr, int32, int8))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1872)) = Xsqlite3_str_appendchar // sqlite3.c:129334:3: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1880)) = Xsqlite3_str_reset // sqlite3.c:129335:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1888)) = Xsqlite3_str_errcode // sqlite3.c:129336:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1896)) = Xsqlite3_str_length // sqlite3.c:129337:3: - *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1904)) = Xsqlite3_str_value // sqlite3.c:129338:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, int32, uintptr, uintptr, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1912)) = Xsqlite3_create_window_function // sqlite3.c:129340:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1928)) = Xsqlite3_stmt_isexplain // sqlite3.c:129348:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1936)) = Xsqlite3_value_frombind // sqlite3.c:129349:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1944)) = Xsqlite3_drop_modules // sqlite3.c:129352:3: - *(*func(*libc.TLS, Sqlite3_int64) Sqlite3_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1952)) = Xsqlite3_hard_heap_limit64 // sqlite3.c:129357:3: - *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1960)) = Xsqlite3_uri_key // sqlite3.c:129358:3: - *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1968)) = Xsqlite3_filename_database // sqlite3.c:129359:3: - *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1976)) = Xsqlite3_filename_journal // sqlite3.c:129360:3: - *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1984)) = Xsqlite3_filename_wal // sqlite3.c:129361:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1992)) = Xsqlite3_create_filename // sqlite3.c:129363:3: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 2000)) = Xsqlite3_free_filename // sqlite3.c:129364:3: - *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 2008)) = Xsqlite3_database_file_object // sqlite3.c:129365:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 2016)) = Xsqlite3_txn_state // sqlite3.c:129367:3: - *(*func(*libc.TLS, uintptr) Sqlite3_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 2024)) = Xsqlite3_changes64 // sqlite3.c:129369:3: - *(*func(*libc.TLS, uintptr) Sqlite3_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 2032)) = Xsqlite3_total_changes64 // sqlite3.c:129370:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 2040)) = Xsqlite3_autovacuum_pages // sqlite3.c:129372:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 2048)) = Xsqlite3_error_offset // sqlite3.c:129374:3: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 2056)) = Xsqlite3_vtab_rhs_value // sqlite3.c:129375:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 2064)) = Xsqlite3_vtab_distinct // sqlite3.c:129376:3: - *(*func(*libc.TLS, uintptr, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 2072)) = Xsqlite3_vtab_in // sqlite3.c:129377:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 2080)) = Xsqlite3_vtab_in_first // sqlite3.c:129378:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 2088)) = Xsqlite3_vtab_in_next // sqlite3.c:129379:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3BuiltinExtensions)) + 0)) = Xsqlite3Fts5Init // sqlite3.c:168488:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3BuiltinExtensions)) + 8)) = Xsqlite3RtreeInit // sqlite3.c:168494:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3BuiltinExtensions)) + 16)) = sqlite3TestExtInit // sqlite3.c:168502:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3BuiltinExtensions)) + 24)) = Xsqlite3JsonTableFunctions // sqlite3.c:168504:3: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&statGetFuncdef)) + 24)) = statGet // sqlite3.c:111993:3: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&statInitFuncdef)) + 24)) = statInit // sqlite3.c:111569:3: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&statPushFuncdef)) + 24)) = statPush // sqlite3.c:111859:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 40)) = rbuVfsOpen // sqlite3.c:208888:5: - *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 48)) = rbuVfsDelete // sqlite3.c:208889:5: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 56)) = rbuVfsAccess // sqlite3.c:208890:5: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 64)) = rbuVfsFullPathname // sqlite3.c:208891:5: - *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 72)) = rbuVfsDlOpen // sqlite3.c:208894:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 80)) = rbuVfsDlError // sqlite3.c:208895:5: - *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 88)) = rbuVfsDlSym // sqlite3.c:208896:5: - *(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 96)) = rbuVfsDlClose // sqlite3.c:208897:5: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 104)) = rbuVfsRandomness // sqlite3.c:208902:5: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 112)) = rbuVfsSleep // sqlite3.c:208903:5: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 120)) = rbuVfsCurrentTime // sqlite3.c:208904:5: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 128)) = rbuVfsGetLastError // sqlite3.c:208905:5: -} - -var ts1 = "3.38.1\x00ATOMIC_INTRINSICS=1\x00COMPILER=gcc-10.2.1 20210110\x00DEFAULT_AUTOVACUUM\x00DEFAULT_CACHE_SIZE=-2000\x00DEFAULT_FILE_FORMAT=4\x00DEFAULT_JOURNAL_SIZE_LIMIT=-1\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\x00ENABLE_COLUMN_METADATA\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=127\x00MAX_LENGTH=1000000000\x00MAX_LIKE_PATTERN_LENGTH=50000\x00MAX_MMAP_SIZE=0x7fff0000\x00MAX_PAGE_COUNT=1073741823\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\x00BINARY\x00ANY\x00BLOB\x00INT\x00INTEGER\x00REAL\x00TEXT\x0020b:20e\x0020c:20e\x0020e\x0040f-21a-21d\x00now\x00local time unavailable\x00second\x00minute\x00hour\x00\x00\x00day\x00\x00\x00\x00month\x00\x00year\x00\x00\x00auto\x00julianday\x00localtime\x00unixepoch\x00utc\x00weekday \x00start of \x00month\x00year\x00day\x00%02d\x00%06.3f\x00%03d\x00%.16g\x00%lld\x00%04d\x00date\x00time\x00datetime\x00strftime\x00current_time\x00current_timestamp\x00current_date\x00failed to allocate %u bytes of memory\x00failed memory resize %u to %u bytes\x00out of memory\x000123456789ABCDEF0123456789abcdef\x00-x0\x00X0\x00%\x00NaN\x00Inf\x00\x00NULL\x00(NULL)\x00.\x00SUBQUERY %u\x00thstndrd\x00922337203685477580\x00API call with %s database connection pointer\x00unopened\x00invalid\x00Savepoint\x00AutoCommit\x00Transaction\x00SorterNext\x00Prev\x00Next\x00Checkpoint\x00JournalMode\x00Vacuum\x00VFilter\x00VUpdate\x00Goto\x00Gosub\x00InitCoroutine\x00Yield\x00MustBeInt\x00Jump\x00Once\x00If\x00Not\x00IfNot\x00IsNullOrType\x00IfNullRow\x00SeekLT\x00SeekLE\x00SeekGE\x00SeekGT\x00IfNotOpen\x00IfNoHope\x00NoConflict\x00NotFound\x00Found\x00SeekRowid\x00NotExists\x00Last\x00IfSmaller\x00SorterSort\x00Sort\x00Rewind\x00IdxLE\x00IdxGT\x00IdxLT\x00IdxGE\x00Or\x00And\x00RowSetRead\x00RowSetTest\x00Program\x00FkIfZero\x00IfPos\x00IsNull\x00NotNull\x00Ne\x00Eq\x00Gt\x00Le\x00Lt\x00Ge\x00ElseEq\x00IfNotZero\x00DecrJumpZero\x00IncrVacuum\x00VNext\x00Filter\x00Init\x00PureFunc\x00Function\x00Return\x00EndCoroutine\x00HaltIfNull\x00Halt\x00Integer\x00Int64\x00String\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\x00VInitIn\x00VColumn\x00VRename\x00Pagecount\x00MaxPgcnt\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\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\x00SQLite format 3\x00:memory:\x00@ \x00\n\x00invalid page number %d\x002nd reference to page %d\x00Failed to read ptrmap key=%d\x00Bad ptr map entry key=%d expected=(%d,%d) got=(%d,%d)\x00failed to get page %d\x00freelist leaf count too big on page %d\x00%s is %d but should be %d\x00size\x00overflow list length\x00Page %u: \x00unable to get the page. error code=%d\x00btreeInitPage() returns error code %d\x00free space corruption\x00On tree page %u cell %d: \x00On page %u at right child: \x00Offset %d out of range %d..%d\x00Extends off end of page\x00Rowid %lld out of order\x00Child page depth differs\x00Multiple uses for byte %u of page %u\x00Fragmentation of %d bytes reported as %d on page %u\x00Main freelist: \x00max rootpage (%d) disagrees with header (%d)\x00incremental_vacuum enabled with a max rootpage of zero\x00Page %d is never used\x00Pointer map page %d is referenced\x00unknown database %s\x00destination database is in use\x00source and destination must be distinct\x00%!.15g\x00-\x00%s%s\x00k(%d\x00B\x00,%s%s%s\x00N.\x00)\x00%.18s-%s\x00%s(%d)\x00%d\x00(blob)\x00vtab:%p\x00%c%u\x00]\x00program\x00?\x008\x0016LE\x0016BE\x00addr\x00opcode\x00p1\x00p2\x00p3\x00p4\x00p5\x00comment\x00id\x00parent\x00notused\x00detail\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\x00ValueList\x00bind on a busy prepared statement: [%s]\x00-- \x00'%.*q'\x00zeroblob(%d)\x00x'\x00%02x\x00'\x00%s constraint failed\x00%z: %s\x00abort at %d in [%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\x00cannot change %s wal mode from within a transaction\x00into\x00out of\x00database table is locked: %s\x00-- %s\x00statement aborts at %d: [%s] %s\x00NOT NULL\x00UNIQUE\x00CHECK\x00FOREIGN KEY\x00cannot open value of type %s\x00null\x00real\x00integer\x00no such rowid: %lld\x00cannot open virtual table: %s\x00cannot open table without rowid: %s\x00cannot open view: %s\x00no such column: \"%s\"\x00foreign key\x00indexed\x00cannot open %s column for writing\x00main\x00*\x00new\x00old\x00excluded\x00misuse of aliased aggregate %s\x00misuse of aliased window function %s\x00row value misused\x00double-quoted string literal: \"%w\"\x00no such column\x00ambiguous column name\x00%s: %s.%s.%s\x00%s: %s.%s\x00%s: %s\x00partial index WHERE clauses\x00index expressions\x00CHECK constraints\x00generated columns\x00%s prohibited in %s\x00true\x00false\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\x00a GROUP BY clause is required before HAVING\x00GROUP\x00aggregate functions are not allowed in the GROUP BY clause\x00Expression tree is too large (maximum depth %d)\x00IN(...) element has %d term%s - expected %d\x00s\x000\x00too many arguments on function %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\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\x00%sLIST SUBQUERY %d\x00CORRELATED \x00REUSE SUBQUERY %d\x00%sSCALAR SUBQUERY %d\x001\x000x\x00hex literal too big: %s%#T\x00generated column loop on \"%s\"\x00blob\x00text\x00numeric\x00none\x00misuse of aggregate: %#T()\x00unknown function: %#T()\x00RAISE() may only be used within a trigger-program\x00B\x00C\x00D\x00E\x00sqlite_\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') ELSE raise(ABORT,'NOT NULL constraint failed') END FROM pragma_quick_check(%Q,%Q) WHERE quick_check GLOB 'CHECK*' OR quick_check GLOB 'NULL*'\x00virtual tables may not be altered\x00Cannot add a column to a view\x00sqlite_altertab_%s\x00view\x00virtual table\x00cannot %s %s \"%s\"\x00drop column from\x00rename columns of\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')\x00error in %s %s%s%s: %s\x00 \x00CREATE \x00\"%w\" \x00%Q%s\x00%.*s%s\x00cannot drop %s column: \"%s\"\x00PRIMARY KEY\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\x00CREATE TABLE %Q.%s(%s)\x00DELETE FROM %Q.%s WHERE %s=%Q\x00DELETE FROM %Q.%s\x00sqlite_stat1\x00tbl,idx,stat\x00sqlite_stat4\x00tbl,idx,neq,nlt,ndlt,sample\x00sqlite_stat3\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\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\x00sqlite_temp_schema\x00sqlite_schema\x00sqlite_temp_master\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\x00sqlite_returning\x00cannot use RETURNING in a trigger\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'\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\x00unsupported use of NULLS %s\x00FIRST\x00LAST\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\x00CREATE%s INDEX %.*s\x00 UNIQUE\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\x00a JOIN clause is required before %s\x00ON\x00USING\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\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%!.20e\x00%Q\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\x00instr\x00printf\x00format\x00unicode\x00char\x00abs\x00round\x00upper\x00lower\x00hex\x00ifnull\x00random\x00randomblob\x00nullif\x00sqlite_version\x00sqlite_source_id\x00sqlite_log\x00quote\x00last_insert_rowid\x00changes\x00total_changes\x00replace\x00zeroblob\x00substr\x00substring\x00sum\x00total\x00avg\x00count\x00group_concat\x00glob\x00coalesce\x00ceil\x00ceiling\x00floor\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\x00foreign key mismatch - \"%w\" referencing \"%w\"\x00cannot INSERT into generated column \"%s\"\x00table %S has no column named %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\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]\x00so\x00automatic extension loading failed: %s\x00seq\x00from\x00to\x00on_update\x00on_delete\x00match\x00cid\x00name\x00type\x00notnull\x00dflt_value\x00pk\x00hidden\x00schema\x00ncol\x00wr\x00strict\x00seqno\x00desc\x00coll\x00key\x00builtin\x00enc\x00narg\x00flags\x00wdth\x00hght\x00flgs\x00unique\x00origin\x00partial\x00rowid\x00fkid\x00file\x00busy\x00checkpointed\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\x00onoffalseyestruextrafull\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\x00w\x00a\x00sissii\x00utf8\x00utf16le\x00utf16be\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\x00NULL value in %s.%s\x00non-%s value in %s.%s\x00CHECK constraint failed in %s\x00row \x00 missing from index \x00non-unique entry in index \x00wrong # of entries in index \x00ok\x00unsupported encoding: %s\x00restart\x00ANALYZE \"%w\".\"%w\"\x00UTF8\x00UTF-8\x00UTF-16le\x00UTF-16be\x00UTF16le\x00UTF16be\x00UTF-16\x00UTF16\x00CREATE TABLE x\x00%c\"%s\"\x00(\"%s\"\x00,arg HIDDEN\x00,schema HIDDEN\x00PRAGMA \x00%Q.\x00=%Q\x00error in %s %s after %s: %s\x00malformed database schema (%s)\x00%z - %s\x00rename\x00drop column\x00add column\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 or unsupported join type: %T %T%s%T\x00RIGHT and FULL OUTER JOINs are not currently supported\x00naturaleftouterightfullinnercross\x00a NATURAL join may not have an ON or USING clause\x00cannot have both ON and USING clauses in the same join\x00cannot join using column %s - column not present in both tables\x00UNION ALL\x00INTERSECT\x00EXCEPT\x00UNION\x00USE TEMP B-TREE FOR %s\x00column%d\x00%.*z:%u\x00cannot use window functions in recursive queries\x00recursive aggregate queries not supported\x00SETUP\x00RECURSIVE STEP\x00SCAN %d CONSTANT ROW%s\x00S\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\x00subquery_%u\x00too many references to \"%s\": max 65535\x00access to view \"%s\" prohibited\x00unsafe use of virtual table \"%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)\x00SCAN %s%s%s\x00 USING COVERING INDEX \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\x00RIGHT PART OF ORDER BY\x00ORDER 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\x00trigger %T already exists\x00cannot create trigger on system table\x00cannot create %s trigger on view: %S\x00BEFORE\x00AFTER\x00cannot create INSTEAD OF trigger on 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'\x00%s RETURNING is not available on virtual tables\x00DELETE\x00UPDATE\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\x00ATTACH %Q AS vacuum_db\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 vacuum_db.'||quote(name)||' SELECT*FROM\"%w\".'||quote(name)FROM vacuum_db.sqlite_schema WHERE type='table'AND coalesce(rootpage,1)>0\x00INSERT INTO vacuum_db.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\x00\x00 AND \x00(\x00 (\x00%s=?\x00ANY(%s)\x00>\x00<\x00%s %S\x00SEARCH\x00SCAN\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 %d:%s\x00BLOOM FILTER ON %S (\x00rowid=?\x00MULTI-INDEX OR\x00INDEX %d\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\x00second argument to nth_value must be a positive integer\x00argument of ntile must be a positive integer\x00row_number\x00dense_rank\x00rank\x00percent_rank\x00cume_dist\x00ntile\x00last_value\x00nth_value\x00first_value\x00lead\x00lag\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\x00%s clause should come after %s not before\x00LIMIT\x00too many terms in compound SELECT\x00syntax error after column name \"%.*s\"\x00parser stack overflow\x00unknown table option: %.*s\x00set list\x00near \"%T\": syntax error\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\x00unknown error\x00abort due to ROLLBACK\x00another row available\x00no more rows available\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\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\x00mode\x00no such %s mode: %s\x00%s mode not allowed: %s\x00no such vfs: %s\x00shared\x00private\x00ro\x00rw\x00rwc\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\x000123456789abcdef\x00JSON cannot hold BLOB values\x00malformed JSON\x00[0]\x00JSON path error near '%q'\x00json_%s() needs an odd number of arguments\x00$[\x00$.\x00json_object() requires an even number of arguments\x00json_object() labels must be TEXT\x00set\x00insert\x00[]\x00{}\x00CREATE TABLE x(key,value,type,atom,id,parent,fullkey,path,json HIDDEN,root HIDDEN)\x00[%d]\x00.%.*s\x00$\x00json\x00json_array\x00json_array_length\x00json_extract\x00->\x00->>\x00json_insert\x00json_object\x00json_patch\x00json_quote\x00json_remove\x00json_replace\x00json_set\x00json_type\x00json_valid\x00json_group_array\x00json_group_object\x00json_each\x00json_tree\x00%s_node\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\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\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\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\x00CREATE TABLE x(%.*s INT\x00,%.*s\x00);\x00,%.*s REAL\x00,%.*s INT\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\x00Mapping (%lld -> %lld) missing from %s table\x00%_rowid\x00%_parent\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\x00END\x00wrong number of arguments to function rtreecheck()\x00[\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\x00geopoly_area\x00geopoly_blob\x00geopoly_json\x00geopoly_svg\x00geopoly_contains_point\x00geopoly_debug\x00geopoly_bbox\x00geopoly_xform\x00geopoly_regular\x00geopoly_ccw\x00geopoly_group_bbox\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;\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\x00AND rootpage!=0 AND rootpage IS NOT NULL\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\x00table %q %s rbu_rowid column\x00may not have\x00requires\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%z%s\"%w\" %s %sCOLLATE %Q%s\x00 NOT NULL\x00%z, %z\x00CREATE TABLE \"rbu_imp_%w\"(%z)%s\x00 WITHOUT ROWID\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\x00SELECT %s, 0 AS rbu_control FROM '%q' %s %s %s ORDER BY %s%s\x00AND\x00WHERE\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_\x00INSERT INTO \"%s%w\"(%s%s) VALUES(%s)\x00, _rowid_\x00DELETE FROM \"%s%w\" WHERE %s\x00, rbu_rowid\x00CREATE TABLE IF NOT EXISTS %s.'rbu_tmp_%q' AS SELECT *%s FROM '%q' WHERE 0;\x00, 0 AS rbu_rowid\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\x00SELECT %s,%s rbu_control%s FROM '%q'%s %s %s %s\x000 AS \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\x00file:%s-vactmp?rbu_memory=1%s%s\x00&\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, %d), (%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\x00database modified during rbu %s\x00vacuum\x00update\x00BEGIN IMMEDIATE\x00PRAGMA journal_mode=off\x00-vactmp\x00DELETE FROM stat.rbu_state\x00rbu/zipvfs setup error\x00rbu(%s)/%z\x00rbu_memory\x00SELECT 0, 'tbl', '', 0, '', 1 UNION ALL SELECT 1, 'idx', '', 0, '', 2 UNION ALL SELECT 2, 'stat', '', 0, '', 0\x00PRAGMA '%q'.table_info('%q')\x00%z%s\"%w\".\"%w\".\"%w\"=\"%w\".\"%w\".\"%w\"\x00%z%s\"%w\".\"%w\".\"%w\" IS NOT \"%w\".\"%w\".\"%w\"\x00 OR \x00SELECT * FROM \"%w\".\"%w\" WHERE NOT EXISTS ( SELECT 1 FROM \"%w\".\"%w\" WHERE %s)\x00SELECT * FROM \"%w\".\"%w\", \"%w\".\"%w\" WHERE %s AND (%z)\x00table schemas do not match\x00SELECT tbl, ?2, stat FROM %Q.sqlite_stat1 WHERE tbl IS ?1 AND idx IS (CASE WHEN ?2=X'' THEN NULL ELSE ?2 END)\x00SELECT * FROM \x00 WHERE \x00 IS ?\x00SAVEPOINT changeset\x00RELEASE changeset\x00UPDATE main.\x00 SET \x00 = ?\x00idx IS CASE WHEN length(?4)=0 AND typeof(?4)='blob' THEN NULL ELSE ?4 END \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()\x00snippet\x00highlight\x00bm25\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\x00content_rowid\x00multiple content_rowid=... directives\x00columnsize\x00malformed columnsize=... directive\x00columns\x00malformed detail=... directive\x00unrecognized option: \"%.*s\"\x00reserved fts5 column name: %s\x00unindexed\x00unrecognized column option: %s\x00T.%Q\x00, T.%Q\x00, T.c%d\x00reserved fts5 table name: %s\x00parse error in \"%s\"\x00docsize\x00%Q.'%q_%s'\x00CREATE TABLE x(\x00%z%s%Q\x00%z, %Q HIDDEN, %s HIDDEN)\x00pgsz\x00hashsize\x00automerge\x00usermerge\x00crisismerge\x00SELECT k, v FROM %Q.'%q_config'\x00version\x00invalid fts5 file format (found %d, expected %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)\x00fts5: %s queries are not supported (detail!=full)\x00phrase\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=?\x00PRAGMA %Q.data_version\x00SELECT pgno FROM '%q'.'%q_idx' WHERE segid=? AND term<=? ORDER BY term DESC LIMIT 1\x00INSERT INTO '%q'.'%q_idx'(segid,term,pgno) VALUES(?,?,?)\x00%s_data\x00id INTEGER PRIMARY KEY, block BLOB\x00segid, term, pgno, PRIMARY KEY(segid, term)\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\x00SELECT rowid, rank FROM %Q.%Q ORDER BY %s(\"%w\"%s%s) %s\x00DESC\x00ASC\x00reads\x00unknown special query: %.*s\x00SELECT %s\x00no such function: %s\x00parse error in rank function: %s\x00%s: table does not support scanning\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\x00cannot %s contentless fts5 table: %s\x00DELETE from\x00no such cursor: %lld\x00no such tokenizer: %s\x00error in tokenizer constructor\x00fts5_api_ptr\x00fts5: 2022-03-12 13:37:29 38c210fdd258658321c85ec9c01a072fda3ada94540e3239d29b34dc547a8cbc\x00config\x00fts5\x00fts5_source_id\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(?,?)\x00DELETE FROM %Q.'%q_docsize' WHERE id=?\x00SELECT sz FROM %Q.'%q_docsize' WHERE id=?\x00REPLACE INTO %Q.'%q_config' VALUES(?,?)\x00SELECT %s FROM %s AS T\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\x00id INTEGER PRIMARY KEY, sz BLOB\x00k PRIMARY KEY, v\x00DELETE FROM %Q.'%q_data';DELETE FROM %Q.'%q_idx';\x00DELETE FROM %Q.'%q_docsize';\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\x00ascii\x00porter\x00trigram\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\x002022-03-12 13:37:29 38c210fdd258658321c85ec9c01a072fda3ada94540e3239d29b34dc547a8cbc\x00" + }{Xsqlite3_value_dup})) // sqlite3.c:129309:3: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1640)) = Xsqlite3_value_free // sqlite3.c:129310:3: + *(*func(*libc.TLS, uintptr, U64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1648)) = Xsqlite3_result_zeroblob64 // sqlite3.c:129311:3: + *(*func(*libc.TLS, uintptr, int32, Sqlite3_uint64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1656)) = Xsqlite3_bind_zeroblob64 // sqlite3.c:129312:3: + *(*func(*libc.TLS, uintptr) uint32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1664)) = Xsqlite3_value_subtype // sqlite3.c:129314:3: + *(*func(*libc.TLS, uintptr, uint32))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1672)) = Xsqlite3_result_subtype // sqlite3.c:129315:3: + *(*func(*libc.TLS, int32, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1680)) = Xsqlite3_status64 // sqlite3.c:129317:3: + *(*func(*libc.TLS, uintptr, uintptr, uint32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1688)) = Xsqlite3_strlike // sqlite3.c:129318:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1696)) = Xsqlite3_db_cacheflush // sqlite3.c:129319:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1704)) = Xsqlite3_system_errno // sqlite3.c:129321:3: + *(*func(*libc.TLS, uintptr, uint32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1712)) = Xsqlite3_trace_v2 // sqlite3.c:129323:3: + *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1720)) = Xsqlite3_expanded_sql // sqlite3.c:129324:3: + *(*func(*libc.TLS, uintptr, Sqlite3_int64))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1728)) = Xsqlite3_set_last_insert_rowid // sqlite3.c:129326:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uint32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1736)) = Xsqlite3_prepare_v3 // sqlite3.c:129328:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uint32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1744)) = Xsqlite3_prepare16_v3 // sqlite3.c:129329:3: + *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1752)) = Xsqlite3_bind_pointer // sqlite3.c:129330:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1760)) = Xsqlite3_result_pointer // sqlite3.c:129331:3: + *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1768)) = Xsqlite3_value_pointer // sqlite3.c:129332:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1776)) = Xsqlite3_vtab_nochange // sqlite3.c:129334:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1784)) = Xsqlite3_value_nochange // sqlite3.c:129335:3: + *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1792)) = Xsqlite3_vtab_collation // sqlite3.c:129336:3: + *(*func(*libc.TLS) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1800)) = Xsqlite3_keyword_count // sqlite3.c:129338:3: + *(*func(*libc.TLS, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1808)) = Xsqlite3_keyword_name // sqlite3.c:129339:3: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1816)) = Xsqlite3_keyword_check // sqlite3.c:129340:3: + *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1824)) = Xsqlite3_str_new // sqlite3.c:129341:3: + *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1832)) = Xsqlite3_str_finish // sqlite3.c:129342:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1840)) = Xsqlite3_str_appendf // sqlite3.c:129343:3: + *(*func(*libc.TLS, uintptr, uintptr, Va_list))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1848)) = Xsqlite3_str_vappendf // sqlite3.c:129344:3: + *(*func(*libc.TLS, uintptr, uintptr, int32))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1856)) = Xsqlite3_str_append // sqlite3.c:129345:3: + *(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1864)) = Xsqlite3_str_appendall // sqlite3.c:129346:3: + *(*func(*libc.TLS, uintptr, int32, int8))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1872)) = Xsqlite3_str_appendchar // sqlite3.c:129347:3: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1880)) = Xsqlite3_str_reset // sqlite3.c:129348:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1888)) = Xsqlite3_str_errcode // sqlite3.c:129349:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1896)) = Xsqlite3_str_length // sqlite3.c:129350:3: + *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1904)) = Xsqlite3_str_value // sqlite3.c:129351:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, int32, uintptr, uintptr, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1912)) = Xsqlite3_create_window_function // sqlite3.c:129353:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1928)) = Xsqlite3_stmt_isexplain // sqlite3.c:129361:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1936)) = Xsqlite3_value_frombind // sqlite3.c:129362:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1944)) = Xsqlite3_drop_modules // sqlite3.c:129365:3: + *(*func(*libc.TLS, Sqlite3_int64) Sqlite3_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1952)) = Xsqlite3_hard_heap_limit64 // sqlite3.c:129370:3: + *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1960)) = Xsqlite3_uri_key // sqlite3.c:129371:3: + *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1968)) = Xsqlite3_filename_database // sqlite3.c:129372:3: + *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1976)) = Xsqlite3_filename_journal // sqlite3.c:129373:3: + *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1984)) = Xsqlite3_filename_wal // sqlite3.c:129374:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1992)) = Xsqlite3_create_filename // sqlite3.c:129376:3: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 2000)) = Xsqlite3_free_filename // sqlite3.c:129377:3: + *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 2008)) = Xsqlite3_database_file_object // sqlite3.c:129378:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 2016)) = Xsqlite3_txn_state // sqlite3.c:129380:3: + *(*func(*libc.TLS, uintptr) Sqlite3_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 2024)) = Xsqlite3_changes64 // sqlite3.c:129382:3: + *(*func(*libc.TLS, uintptr) Sqlite3_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 2032)) = Xsqlite3_total_changes64 // sqlite3.c:129383:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 2040)) = Xsqlite3_autovacuum_pages // sqlite3.c:129385:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 2048)) = Xsqlite3_error_offset // sqlite3.c:129387:3: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 2056)) = Xsqlite3_vtab_rhs_value // sqlite3.c:129388:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 2064)) = Xsqlite3_vtab_distinct // sqlite3.c:129389:3: + *(*func(*libc.TLS, uintptr, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 2072)) = Xsqlite3_vtab_in // sqlite3.c:129390:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 2080)) = Xsqlite3_vtab_in_first // sqlite3.c:129391:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 2088)) = Xsqlite3_vtab_in_next // sqlite3.c:129392:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3BuiltinExtensions)) + 0)) = Xsqlite3Fts5Init // sqlite3.c:168545:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3BuiltinExtensions)) + 8)) = Xsqlite3RtreeInit // sqlite3.c:168551:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3BuiltinExtensions)) + 16)) = sqlite3TestExtInit // sqlite3.c:168559:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3BuiltinExtensions)) + 24)) = Xsqlite3JsonTableFunctions // sqlite3.c:168561:3: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&statGetFuncdef)) + 24)) = statGet // sqlite3.c:112006:3: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&statInitFuncdef)) + 24)) = statInit // sqlite3.c:111582:3: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&statPushFuncdef)) + 24)) = statPush // sqlite3.c:111872:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 40)) = rbuVfsOpen // sqlite3.c:208945:5: + *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 48)) = rbuVfsDelete // sqlite3.c:208946:5: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 56)) = rbuVfsAccess // sqlite3.c:208947:5: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 64)) = rbuVfsFullPathname // sqlite3.c:208948:5: + *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 72)) = rbuVfsDlOpen // sqlite3.c:208951:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 80)) = rbuVfsDlError // sqlite3.c:208952:5: + *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 88)) = rbuVfsDlSym // sqlite3.c:208953:5: + *(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 96)) = rbuVfsDlClose // sqlite3.c:208954:5: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 104)) = rbuVfsRandomness // sqlite3.c:208959:5: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 112)) = rbuVfsSleep // sqlite3.c:208960:5: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 120)) = rbuVfsCurrentTime // sqlite3.c:208961:5: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 128)) = rbuVfsGetLastError // sqlite3.c:208962:5: +} + +var ts1 = "3.38.2\x00ATOMIC_INTRINSICS=1\x00COMPILER=gcc-10.2.1 20210110\x00DEFAULT_AUTOVACUUM\x00DEFAULT_CACHE_SIZE=-2000\x00DEFAULT_FILE_FORMAT=4\x00DEFAULT_JOURNAL_SIZE_LIMIT=-1\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\x00ENABLE_COLUMN_METADATA\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=127\x00MAX_LENGTH=1000000000\x00MAX_LIKE_PATTERN_LENGTH=50000\x00MAX_MMAP_SIZE=0x7fff0000\x00MAX_PAGE_COUNT=1073741823\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\x00BINARY\x00ANY\x00BLOB\x00INT\x00INTEGER\x00REAL\x00TEXT\x0020b:20e\x0020c:20e\x0020e\x0040f-21a-21d\x00now\x00local time unavailable\x00second\x00minute\x00hour\x00\x00\x00day\x00\x00\x00\x00month\x00\x00year\x00\x00\x00auto\x00julianday\x00localtime\x00unixepoch\x00utc\x00weekday \x00start of \x00month\x00year\x00day\x00%02d\x00%06.3f\x00%03d\x00%.16g\x00%lld\x00%04d\x00date\x00time\x00datetime\x00strftime\x00current_time\x00current_timestamp\x00current_date\x00failed to allocate %u bytes of memory\x00failed memory resize %u to %u bytes\x00out of memory\x000123456789ABCDEF0123456789abcdef\x00-x0\x00X0\x00%\x00NaN\x00Inf\x00\x00NULL\x00(NULL)\x00.\x00SUBQUERY %u\x00thstndrd\x00922337203685477580\x00API call with %s database connection pointer\x00unopened\x00invalid\x00Savepoint\x00AutoCommit\x00Transaction\x00SorterNext\x00Prev\x00Next\x00Checkpoint\x00JournalMode\x00Vacuum\x00VFilter\x00VUpdate\x00Goto\x00Gosub\x00InitCoroutine\x00Yield\x00MustBeInt\x00Jump\x00Once\x00If\x00Not\x00IfNot\x00IsNullOrType\x00IfNullRow\x00SeekLT\x00SeekLE\x00SeekGE\x00SeekGT\x00IfNotOpen\x00IfNoHope\x00NoConflict\x00NotFound\x00Found\x00SeekRowid\x00NotExists\x00Last\x00IfSmaller\x00SorterSort\x00Sort\x00Rewind\x00IdxLE\x00IdxGT\x00IdxLT\x00IdxGE\x00Or\x00And\x00RowSetRead\x00RowSetTest\x00Program\x00FkIfZero\x00IfPos\x00IsNull\x00NotNull\x00Ne\x00Eq\x00Gt\x00Le\x00Lt\x00Ge\x00ElseEq\x00IfNotZero\x00DecrJumpZero\x00IncrVacuum\x00VNext\x00Filter\x00Init\x00PureFunc\x00Function\x00Return\x00EndCoroutine\x00HaltIfNull\x00Halt\x00Integer\x00Int64\x00String\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\x00VInitIn\x00VColumn\x00VRename\x00Pagecount\x00MaxPgcnt\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\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\x00SQLite format 3\x00:memory:\x00@ \x00\n\x00invalid page number %d\x002nd reference to page %d\x00Failed to read ptrmap key=%d\x00Bad ptr map entry key=%d expected=(%d,%d) got=(%d,%d)\x00failed to get page %d\x00freelist leaf count too big on page %d\x00%s is %d but should be %d\x00size\x00overflow list length\x00Page %u: \x00unable to get the page. error code=%d\x00btreeInitPage() returns error code %d\x00free space corruption\x00On tree page %u cell %d: \x00On page %u at right child: \x00Offset %d out of range %d..%d\x00Extends off end of page\x00Rowid %lld out of order\x00Child page depth differs\x00Multiple uses for byte %u of page %u\x00Fragmentation of %d bytes reported as %d on page %u\x00Main freelist: \x00max rootpage (%d) disagrees with header (%d)\x00incremental_vacuum enabled with a max rootpage of zero\x00Page %d is never used\x00Pointer map page %d is referenced\x00unknown database %s\x00destination database is in use\x00source and destination must be distinct\x00%!.15g\x00-\x00%s%s\x00k(%d\x00B\x00,%s%s%s\x00N.\x00)\x00%.18s-%s\x00%s(%d)\x00%d\x00(blob)\x00vtab:%p\x00%c%u\x00]\x00program\x00?\x008\x0016LE\x0016BE\x00addr\x00opcode\x00p1\x00p2\x00p3\x00p4\x00p5\x00comment\x00id\x00parent\x00notused\x00detail\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\x00ValueList\x00bind on a busy prepared statement: [%s]\x00-- \x00'%.*q'\x00zeroblob(%d)\x00x'\x00%02x\x00'\x00%s constraint failed\x00%z: %s\x00abort at %d in [%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\x00cannot change %s wal mode from within a transaction\x00into\x00out of\x00database table is locked: %s\x00-- %s\x00statement aborts at %d: [%s] %s\x00NOT NULL\x00UNIQUE\x00CHECK\x00FOREIGN KEY\x00cannot open value of type %s\x00null\x00real\x00integer\x00no such rowid: %lld\x00cannot open virtual table: %s\x00cannot open table without rowid: %s\x00cannot open view: %s\x00no such column: \"%s\"\x00foreign key\x00indexed\x00cannot open %s column for writing\x00main\x00*\x00new\x00old\x00excluded\x00misuse of aliased aggregate %s\x00misuse of aliased window function %s\x00row value misused\x00double-quoted string literal: \"%w\"\x00no such column\x00ambiguous column name\x00%s: %s.%s.%s\x00%s: %s.%s\x00%s: %s\x00partial index WHERE clauses\x00index expressions\x00CHECK constraints\x00generated columns\x00%s prohibited in %s\x00true\x00false\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\x00a GROUP BY clause is required before HAVING\x00GROUP\x00aggregate functions are not allowed in the GROUP BY clause\x00Expression tree is too large (maximum depth %d)\x00IN(...) element has %d term%s - expected %d\x00s\x000\x00too many arguments on function %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\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\x00%sLIST SUBQUERY %d\x00CORRELATED \x00REUSE SUBQUERY %d\x00%sSCALAR SUBQUERY %d\x001\x000x\x00hex literal too big: %s%#T\x00generated column loop on \"%s\"\x00blob\x00text\x00numeric\x00none\x00misuse of aggregate: %#T()\x00unknown function: %#T()\x00RAISE() may only be used within a trigger-program\x00B\x00C\x00D\x00E\x00sqlite_\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') ELSE raise(ABORT,'NOT NULL constraint failed') END FROM pragma_quick_check(%Q,%Q) WHERE quick_check GLOB 'CHECK*' OR quick_check GLOB 'NULL*'\x00virtual tables may not be altered\x00Cannot add a column to a view\x00sqlite_altertab_%s\x00view\x00virtual table\x00cannot %s %s \"%s\"\x00drop column from\x00rename columns of\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')\x00error in %s %s%s%s: %s\x00 \x00CREATE \x00\"%w\" \x00%Q%s\x00%.*s%s\x00cannot drop %s column: \"%s\"\x00PRIMARY KEY\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\x00CREATE TABLE %Q.%s(%s)\x00DELETE FROM %Q.%s WHERE %s=%Q\x00DELETE FROM %Q.%s\x00sqlite_stat1\x00tbl,idx,stat\x00sqlite_stat4\x00tbl,idx,neq,nlt,ndlt,sample\x00sqlite_stat3\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\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\x00sqlite_temp_schema\x00sqlite_schema\x00sqlite_temp_master\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\x00sqlite_returning\x00cannot use RETURNING in a trigger\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'\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\x00unsupported use of NULLS %s\x00FIRST\x00LAST\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\x00CREATE%s INDEX %.*s\x00 UNIQUE\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\x00a JOIN clause is required before %s\x00ON\x00USING\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\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%!.20e\x00%Q\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\x00instr\x00printf\x00format\x00unicode\x00char\x00abs\x00round\x00upper\x00lower\x00hex\x00ifnull\x00random\x00randomblob\x00nullif\x00sqlite_version\x00sqlite_source_id\x00sqlite_log\x00quote\x00last_insert_rowid\x00changes\x00total_changes\x00replace\x00zeroblob\x00substr\x00substring\x00sum\x00total\x00avg\x00count\x00group_concat\x00glob\x00coalesce\x00ceil\x00ceiling\x00floor\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\x00foreign key mismatch - \"%w\" referencing \"%w\"\x00cannot INSERT into generated column \"%s\"\x00table %S has no column named %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\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]\x00so\x00automatic extension loading failed: %s\x00seq\x00from\x00to\x00on_update\x00on_delete\x00match\x00cid\x00name\x00type\x00notnull\x00dflt_value\x00pk\x00hidden\x00schema\x00ncol\x00wr\x00strict\x00seqno\x00desc\x00coll\x00key\x00builtin\x00enc\x00narg\x00flags\x00wdth\x00hght\x00flgs\x00unique\x00origin\x00partial\x00rowid\x00fkid\x00file\x00busy\x00checkpointed\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\x00onoffalseyestruextrafull\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\x00w\x00a\x00sissii\x00utf8\x00utf16le\x00utf16be\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\x00NULL value in %s.%s\x00non-%s value in %s.%s\x00CHECK constraint failed in %s\x00row \x00 missing from index \x00non-unique entry in index \x00wrong # of entries in index \x00ok\x00unsupported encoding: %s\x00restart\x00ANALYZE \"%w\".\"%w\"\x00UTF8\x00UTF-8\x00UTF-16le\x00UTF-16be\x00UTF16le\x00UTF16be\x00UTF-16\x00UTF16\x00CREATE TABLE x\x00%c\"%s\"\x00(\"%s\"\x00,arg HIDDEN\x00,schema HIDDEN\x00PRAGMA \x00%Q.\x00=%Q\x00error in %s %s after %s: %s\x00malformed database schema (%s)\x00%z - %s\x00rename\x00drop column\x00add column\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 or unsupported join type: %T %T%s%T\x00RIGHT and FULL OUTER JOINs are not currently supported\x00naturaleftouterightfullinnercross\x00a NATURAL join may not have an ON or USING clause\x00cannot have both ON and USING clauses in the same join\x00cannot join using column %s - column not present in both tables\x00UNION ALL\x00INTERSECT\x00EXCEPT\x00UNION\x00USE TEMP B-TREE FOR %s\x00column%d\x00%.*z:%u\x00cannot use window functions in recursive queries\x00recursive aggregate queries not supported\x00SETUP\x00RECURSIVE STEP\x00SCAN %d CONSTANT ROW%s\x00S\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\x00subquery_%u\x00too many references to \"%s\": max 65535\x00access to view \"%s\" prohibited\x00unsafe use of virtual table \"%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)\x00SCAN %s%s%s\x00 USING COVERING INDEX \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\x00RIGHT PART OF ORDER BY\x00ORDER 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\x00trigger %T already exists\x00cannot create trigger on system table\x00cannot create %s trigger on view: %S\x00BEFORE\x00AFTER\x00cannot create INSTEAD OF trigger on 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'\x00%s RETURNING is not available on virtual tables\x00DELETE\x00UPDATE\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\x00ATTACH %Q AS vacuum_db\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 vacuum_db.'||quote(name)||' SELECT*FROM\"%w\".'||quote(name)FROM vacuum_db.sqlite_schema WHERE type='table'AND coalesce(rootpage,1)>0\x00INSERT INTO vacuum_db.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\x00\x00 AND \x00(\x00 (\x00%s=?\x00ANY(%s)\x00>\x00<\x00%s %S\x00SEARCH\x00SCAN\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 %d:%s\x00BLOOM FILTER ON %S (\x00rowid=?\x00MULTI-INDEX OR\x00INDEX %d\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\x00second argument to nth_value must be a positive integer\x00argument of ntile must be a positive integer\x00row_number\x00dense_rank\x00rank\x00percent_rank\x00cume_dist\x00ntile\x00last_value\x00nth_value\x00first_value\x00lead\x00lag\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\x00%s clause should come after %s not before\x00LIMIT\x00too many terms in compound SELECT\x00syntax error after column name \"%.*s\"\x00parser stack overflow\x00unknown table option: %.*s\x00set list\x00near \"%T\": syntax error\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\x00unknown error\x00abort due to ROLLBACK\x00another row available\x00no more rows available\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\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\x00mode\x00no such %s mode: %s\x00%s mode not allowed: %s\x00no such vfs: %s\x00shared\x00private\x00ro\x00rw\x00rwc\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\x000123456789abcdef\x00JSON cannot hold BLOB values\x00malformed JSON\x00[0]\x00JSON path error near '%q'\x00json_%s() needs an odd number of arguments\x00$[\x00$.\x00json_object() requires an even number of arguments\x00json_object() labels must be TEXT\x00set\x00insert\x00[]\x00{}\x00CREATE TABLE x(key,value,type,atom,id,parent,fullkey,path,json HIDDEN,root HIDDEN)\x00[%d]\x00.%.*s\x00$\x00json\x00json_array\x00json_array_length\x00json_extract\x00->\x00->>\x00json_insert\x00json_object\x00json_patch\x00json_quote\x00json_remove\x00json_replace\x00json_set\x00json_type\x00json_valid\x00json_group_array\x00json_group_object\x00json_each\x00json_tree\x00%s_node\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\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\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\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\x00CREATE TABLE x(%.*s INT\x00,%.*s\x00);\x00,%.*s REAL\x00,%.*s INT\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\x00Mapping (%lld -> %lld) missing from %s table\x00%_rowid\x00%_parent\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\x00END\x00wrong number of arguments to function rtreecheck()\x00[\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\x00geopoly_area\x00geopoly_blob\x00geopoly_json\x00geopoly_svg\x00geopoly_contains_point\x00geopoly_debug\x00geopoly_bbox\x00geopoly_xform\x00geopoly_regular\x00geopoly_ccw\x00geopoly_group_bbox\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;\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\x00AND rootpage!=0 AND rootpage IS NOT NULL\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\x00table %q %s rbu_rowid column\x00may not have\x00requires\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%z%s\"%w\" %s %sCOLLATE %Q%s\x00 NOT NULL\x00%z, %z\x00CREATE TABLE \"rbu_imp_%w\"(%z)%s\x00 WITHOUT ROWID\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\x00SELECT %s, 0 AS rbu_control FROM '%q' %s %s %s ORDER BY %s%s\x00AND\x00WHERE\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_\x00INSERT INTO \"%s%w\"(%s%s) VALUES(%s)\x00, _rowid_\x00DELETE FROM \"%s%w\" WHERE %s\x00, rbu_rowid\x00CREATE TABLE IF NOT EXISTS %s.'rbu_tmp_%q' AS SELECT *%s FROM '%q' WHERE 0;\x00, 0 AS rbu_rowid\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\x00SELECT %s,%s rbu_control%s FROM '%q'%s %s %s %s\x000 AS \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\x00file:%s-vactmp?rbu_memory=1%s%s\x00&\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, %d), (%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\x00database modified during rbu %s\x00vacuum\x00update\x00BEGIN IMMEDIATE\x00PRAGMA journal_mode=off\x00-vactmp\x00DELETE FROM stat.rbu_state\x00rbu/zipvfs setup error\x00rbu(%s)/%z\x00rbu_memory\x00SELECT 0, 'tbl', '', 0, '', 1 UNION ALL SELECT 1, 'idx', '', 0, '', 2 UNION ALL SELECT 2, 'stat', '', 0, '', 0\x00PRAGMA '%q'.table_info('%q')\x00%z%s\"%w\".\"%w\".\"%w\"=\"%w\".\"%w\".\"%w\"\x00%z%s\"%w\".\"%w\".\"%w\" IS NOT \"%w\".\"%w\".\"%w\"\x00 OR \x00SELECT * FROM \"%w\".\"%w\" WHERE NOT EXISTS ( SELECT 1 FROM \"%w\".\"%w\" WHERE %s)\x00SELECT * FROM \"%w\".\"%w\", \"%w\".\"%w\" WHERE %s AND (%z)\x00table schemas do not match\x00SELECT tbl, ?2, stat FROM %Q.sqlite_stat1 WHERE tbl IS ?1 AND idx IS (CASE WHEN ?2=X'' THEN NULL ELSE ?2 END)\x00SELECT * FROM \x00 WHERE \x00 IS ?\x00SAVEPOINT changeset\x00RELEASE changeset\x00UPDATE main.\x00 SET \x00 = ?\x00idx IS CASE WHEN length(?4)=0 AND typeof(?4)='blob' THEN NULL ELSE ?4 END \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()\x00snippet\x00highlight\x00bm25\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\x00content_rowid\x00multiple content_rowid=... directives\x00columnsize\x00malformed columnsize=... directive\x00columns\x00malformed detail=... directive\x00unrecognized option: \"%.*s\"\x00reserved fts5 column name: %s\x00unindexed\x00unrecognized column option: %s\x00T.%Q\x00, T.%Q\x00, T.c%d\x00reserved fts5 table name: %s\x00parse error in \"%s\"\x00docsize\x00%Q.'%q_%s'\x00CREATE TABLE x(\x00%z%s%Q\x00%z, %Q HIDDEN, %s HIDDEN)\x00pgsz\x00hashsize\x00automerge\x00usermerge\x00crisismerge\x00SELECT k, v FROM %Q.'%q_config'\x00version\x00invalid fts5 file format (found %d, expected %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)\x00fts5: %s queries are not supported (detail!=full)\x00phrase\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=?\x00PRAGMA %Q.data_version\x00SELECT pgno FROM '%q'.'%q_idx' WHERE segid=? AND term<=? ORDER BY term DESC LIMIT 1\x00INSERT INTO '%q'.'%q_idx'(segid,term,pgno) VALUES(?,?,?)\x00%s_data\x00id INTEGER PRIMARY KEY, block BLOB\x00segid, term, pgno, PRIMARY KEY(segid, term)\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\x00SELECT rowid, rank FROM %Q.%Q ORDER BY %s(\"%w\"%s%s) %s\x00DESC\x00ASC\x00reads\x00unknown special query: %.*s\x00SELECT %s\x00no such function: %s\x00parse error in rank function: %s\x00%s: table does not support scanning\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\x00cannot %s contentless fts5 table: %s\x00DELETE from\x00no such cursor: %lld\x00no such tokenizer: %s\x00error in tokenizer constructor\x00fts5_api_ptr\x00fts5: 2022-03-26 13:51:10 d33c709cc0af66bc5b6dc6216eba9f1f0b40960b9ae83694c986fbf4c1d6f08f\x00config\x00fts5\x00fts5_source_id\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(?,?)\x00DELETE FROM %Q.'%q_docsize' WHERE id=?\x00SELECT sz FROM %Q.'%q_docsize' WHERE id=?\x00REPLACE INTO %Q.'%q_config' VALUES(?,?)\x00SELECT %s FROM %s AS T\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\x00id INTEGER PRIMARY KEY, sz BLOB\x00k PRIMARY KEY, v\x00DELETE FROM %Q.'%q_data';DELETE FROM %Q.'%q_idx';\x00DELETE FROM %Q.'%q_docsize';\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\x00ascii\x00porter\x00trigram\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\x002022-03-26 13:51:10 d33c709cc0af66bc5b6dc6216eba9f1f0b40960b9ae83694c986fbf4c1d6f08f\x00" var ts = (*reflect.StringHeader)(unsafe.Pointer(&ts1)).Data diff --git a/vendor/modernc.org/sqlite/lib/sqlite_linux_arm.go b/vendor/modernc.org/sqlite/lib/sqlite_linux_arm.go index e28cdcba..42e548d8 100644 --- a/vendor/modernc.org/sqlite/lib/sqlite_linux_arm.go +++ b/vendor/modernc.org/sqlite/lib/sqlite_linux_arm.go @@ -1,4 +1,4 @@ -// Code generated by 'ccgo -DSQLITE_PRIVATE= -export-defines "" -export-enums "" -export-externs X -export-fields F -export-typedefs "" -ignore-unsupported-alignment -pkgname sqlite3 -o lib/sqlite_linux_arm.go -trace-translation-units testdata/sqlite-amalgamation-3380100/sqlite3.c -DNDEBUG -DHAVE_USLEEP -DLONGDOUBLE_TYPE=double -DSQLITE_CORE -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_GEOPOLY -DSQLITE_ENABLE_MATH_FUNCTIONS -DSQLITE_ENABLE_MEMORY_MANAGEMENT -DSQLITE_ENABLE_OFFSET_SQL_FUNC -DSQLITE_ENABLE_PREUPDATE_HOOK -DSQLITE_ENABLE_RBU -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_SESSION -DSQLITE_ENABLE_SNAPSHOT -DSQLITE_ENABLE_STAT4 -DSQLITE_ENABLE_UNLOCK_NOTIFY -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_MUTEX_APPDEF=1 -DSQLITE_MUTEX_NOOP -DSQLITE_SOUNDEX -DSQLITE_THREADSAFE=1 -DSQLITE_OS_UNIX=1', DO NOT EDIT. +// Code generated by 'ccgo -DSQLITE_PRIVATE= -export-defines "" -export-enums "" -export-externs X -export-fields F -export-typedefs "" -ignore-unsupported-alignment -pkgname sqlite3 -o lib/sqlite_linux_arm.go -trace-translation-units testdata/sqlite-amalgamation-3380200/sqlite3.c -DNDEBUG -DHAVE_USLEEP -DLONGDOUBLE_TYPE=double -DSQLITE_CORE -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_GEOPOLY -DSQLITE_ENABLE_MATH_FUNCTIONS -DSQLITE_ENABLE_MEMORY_MANAGEMENT -DSQLITE_ENABLE_OFFSET_SQL_FUNC -DSQLITE_ENABLE_PREUPDATE_HOOK -DSQLITE_ENABLE_RBU -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_SESSION -DSQLITE_ENABLE_SNAPSHOT -DSQLITE_ENABLE_STAT4 -DSQLITE_ENABLE_UNLOCK_NOTIFY -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_MUTEX_APPDEF=1 -DSQLITE_MUTEX_NOOP -DSQLITE_SOUNDEX -DSQLITE_THREADSAFE=1 -DSQLITE_OS_UNIX=1', DO NOT EDIT. package sqlite3 @@ -2115,7 +2115,7 @@ const ( SQLITE_SHM_UNLOCK = 1 SQLITE_SORTER_PMASZ = 250 SQLITE_SOUNDEX = 1 - SQLITE_SOURCE_ID = "2022-03-12 13:37:29 38c210fdd258658321c85ec9c01a072fda3ada94540e3239d29b34dc547a8cbc" + SQLITE_SOURCE_ID = "2022-03-26 13:51:10 d33c709cc0af66bc5b6dc6216eba9f1f0b40960b9ae83694c986fbf4c1d6f08f" SQLITE_SO_ASC = 0 SQLITE_SO_DESC = 1 SQLITE_SO_UNDEFINED = -1 @@ -2223,8 +2223,8 @@ const ( SQLITE_UTF8 = 1 SQLITE_VDBEINT_H = 0 SQLITE_VDBE_H = 0 - SQLITE_VERSION = "3.38.1" - SQLITE_VERSION_NUMBER = 3038001 + SQLITE_VERSION = "3.38.2" + SQLITE_VERSION_NUMBER = 3038002 SQLITE_VTABRISK_High = 2 SQLITE_VTABRISK_Low = 0 SQLITE_VTABRISK_Normal = 1 @@ -3710,7 +3710,7 @@ type X__float128 = float64 /* :47:21 */ // ***************************************************************************** // // This file is an amalgamation of many separate C source files from SQLite -// version 3.38.1. By combining all the individual C code files into this +// version 3.38.2. By combining all the individual C code files into this // single large file, the entire code can be compiled as a single translation // unit. This allows many compilers to do optimizations that would not be // possible if the files were compiled separately. Performance improvements @@ -26242,12 +26242,22 @@ var pgsz int32 = 4096 /* sqlite3.c:39581:28 */ // to shared and back or from unlocked to exclusive and back. But one may // not go from shared to exclusive or from exclusive to shared. func unixShmLock(tls *libc.TLS, fd uintptr, ofst int32, n int32, flags int32) int32 { /* sqlite3.c:39687:12: */ - var pDbFd uintptr = fd // Connection holding shared memory - var p uintptr = (*UnixFile)(unsafe.Pointer(pDbFd)).FpShm // The shared memory being locked - var pShmNode uintptr = (*UnixShm)(unsafe.Pointer(p)).FpShmNode // The underlying file iNode - var rc int32 = SQLITE_OK // Result code - var mask U16 // Mask of locks to take or release - var aLock uintptr = pShmNode + 36 /* &.aLock */ + var pDbFd uintptr = fd // Connection holding shared memory + var p uintptr // The shared memory being locked + var pShmNode uintptr // The underlying file iNode + var rc int32 = SQLITE_OK // Result code + var mask U16 // Mask of locks to take or release + var aLock uintptr + + p = (*UnixFile)(unsafe.Pointer(pDbFd)).FpShm + if p == uintptr(0) { + return SQLITE_IOERR | int32(20)<<8 + } + pShmNode = (*UnixShm)(unsafe.Pointer(p)).FpShmNode + if pShmNode == uintptr(0) { + return SQLITE_IOERR | int32(20)<<8 + } + aLock = pShmNode + 36 /* &.aLock */ // Check that, if this to be a blocking lock, no locks that occur later // in the following list than the lock being obtained are already held: @@ -26348,7 +26358,7 @@ func unixShmLock(tls *libc.TLS, fd uintptr, ofst int32, n int32, flags int32) in // // All loads and stores begun before the barrier must complete before // any load or store begun after the barrier. -func unixShmBarrier(tls *libc.TLS, fd uintptr) { /* sqlite3.c:39819:13: */ +func unixShmBarrier(tls *libc.TLS, fd uintptr) { /* sqlite3.c:39825:13: */ _ = fd // compiler-defined memory barrier @@ -26361,7 +26371,7 @@ func unixShmBarrier(tls *libc.TLS, fd uintptr) { /* sqlite3.c:39819:13: */ // // If there is no shared memory associated with the connection then this // routine is a harmless no-op. -func unixShmUnmap(tls *libc.TLS, fd uintptr, deleteFlag int32) int32 { /* sqlite3.c:39838:12: */ +func unixShmUnmap(tls *libc.TLS, fd uintptr, deleteFlag int32) int32 { /* sqlite3.c:39844:12: */ var p uintptr // The connection to be closed var pShmNode uintptr // The underlying shared-memory file var pp uintptr // For looping over sibling connections @@ -26404,7 +26414,7 @@ func unixShmUnmap(tls *libc.TLS, fd uintptr, deleteFlag int32) int32 { /* sqlite } // If it is currently memory mapped, unmap file pFd. -func unixUnmapfile(tls *libc.TLS, pFd uintptr) { /* sqlite3.c:39895:13: */ +func unixUnmapfile(tls *libc.TLS, pFd uintptr) { /* sqlite3.c:39901:13: */ if (*UnixFile)(unsafe.Pointer(pFd)).FpMapRegion != 0 { (*(*func(*libc.TLS, uintptr, Size_t) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 23*12 + 4)))(tls, (*UnixFile)(unsafe.Pointer(pFd)).FpMapRegion, uint32((*UnixFile)(unsafe.Pointer(pFd)).FmmapSizeActual)) @@ -26427,7 +26437,7 @@ func unixUnmapfile(tls *libc.TLS, pFd uintptr) { /* sqlite3.c:39895:13: */ // the three variables above are zeroed. In this case SQLite should // continue accessing the database using the xRead() and xWrite() // methods. -func unixRemapfile(tls *libc.TLS, pFd uintptr, nNew I64) { /* sqlite3.c:39920:13: */ +func unixRemapfile(tls *libc.TLS, pFd uintptr, nNew I64) { /* sqlite3.c:39926:13: */ var zErr uintptr = ts + 3370 /* "mmap" */ var h int32 = (*UnixFile)(unsafe.Pointer(pFd)).Fh // File descriptor open on db file var pOrig uintptr = (*UnixFile)(unsafe.Pointer(pFd)).FpMapRegion // Pointer to current file mapping @@ -26461,7 +26471,7 @@ func unixRemapfile(tls *libc.TLS, pFd uintptr, nNew I64) { /* sqlite3.c:39920:13 if pNew == libc.UintptrFromInt32(-1) { pNew = uintptr(0) nNew = int64(0) - unixLogErrorAtLine(tls, SQLITE_OK, zErr, (*UnixFile)(unsafe.Pointer(pFd)).FzPath, 39985) + unixLogErrorAtLine(tls, SQLITE_OK, zErr, (*UnixFile)(unsafe.Pointer(pFd)).FzPath, 39991) // If the mmap() above failed, assume that all subsequent mmap() calls // will probably fail too. Fall back to using xRead/xWrite exclusively @@ -26486,7 +26496,7 @@ func unixRemapfile(tls *libc.TLS, pFd uintptr, nNew I64) { /* sqlite3.c:39920:13 // SQLITE_OK is returned if no error occurs (even if the mapping is not // recreated as a result of outstanding references) or an SQLite error // code otherwise. -func unixMapfile(tls *libc.TLS, pFd uintptr, nMap I64) int32 { /* sqlite3.c:40012:12: */ +func unixMapfile(tls *libc.TLS, pFd uintptr, nMap I64) int32 { /* sqlite3.c:40018:12: */ bp := tls.Alloc(104) defer tls.Free(104) @@ -26523,7 +26533,7 @@ func unixMapfile(tls *libc.TLS, pFd uintptr, nMap I64) int32 { /* sqlite3.c:4001 // // If this function does return a pointer, the caller must eventually // release the reference by calling unixUnfetch(). -func unixFetch(tls *libc.TLS, fd uintptr, iOff I64, nAmt int32, pp uintptr) int32 { /* sqlite3.c:40049:12: */ +func unixFetch(tls *libc.TLS, fd uintptr, iOff I64, nAmt int32, pp uintptr) int32 { /* sqlite3.c:40055:12: */ var pFd uintptr = fd // The underlying database file *(*uintptr)(unsafe.Pointer(pp)) = uintptr(0) @@ -26550,7 +26560,7 @@ func unixFetch(tls *libc.TLS, fd uintptr, iOff I64, nAmt int32, pp uintptr) int3 // Or, if the third argument is NULL, then this function is being called // to inform the VFS layer that, according to POSIX, any existing mapping // may now be invalid and should be unmapped. -func unixUnfetch(tls *libc.TLS, fd uintptr, iOff I64, p uintptr) int32 { /* sqlite3.c:40080:12: */ +func unixUnfetch(tls *libc.TLS, fd uintptr, iOff I64, p uintptr) int32 { /* sqlite3.c:40086:12: */ var pFd uintptr = fd // The underlying database file _ = iOff @@ -26611,33 +26621,33 @@ func unixUnfetch(tls *libc.TLS, fd uintptr, iOff I64, p uintptr) int32 { /* sqli // Here are all of the sqlite3_io_methods objects for each of the // locking strategies. Functions that return pointers to these methods // are also created. -var posixIoMethods = Sqlite3_io_methods{FiVersion: 3 /* iVersion */, FxClose: 0 /* xClose */, FxRead: 0 /* xRead */, FxWrite: 0 /* xWrite */, FxTruncate: 0 /* xTruncate */, FxSync: 0 /* xSync */, FxFileSize: 0 /* xFileSize */, FxLock: 0 /* xLock */, FxUnlock: 0 /* xUnlock */, FxCheckReservedLock: 0 /* xCheckReservedLock */, FxFileControl: 0 /* xFileControl */, FxSectorSize: 0 /* xSectorSize */, FxDeviceCharacteristics: 0 /* xDeviceCapabilities */, FxShmMap: 0 /* xShmMap */, FxShmLock: 0 /* xShmLock */, FxShmBarrier: 0 /* xShmBarrier */, FxShmUnmap: 0 /* xShmUnmap */, FxFetch: 0 /* xFetch */, FxUnfetch: 0 /* xUnfetch */} /* sqlite3.c:40182:1 */ +var posixIoMethods = Sqlite3_io_methods{FiVersion: 3 /* iVersion */, FxClose: 0 /* xClose */, FxRead: 0 /* xRead */, FxWrite: 0 /* xWrite */, FxTruncate: 0 /* xTruncate */, FxSync: 0 /* xSync */, FxFileSize: 0 /* xFileSize */, FxLock: 0 /* xLock */, FxUnlock: 0 /* xUnlock */, FxCheckReservedLock: 0 /* xCheckReservedLock */, FxFileControl: 0 /* xFileControl */, FxSectorSize: 0 /* xSectorSize */, FxDeviceCharacteristics: 0 /* xDeviceCapabilities */, FxShmMap: 0 /* xShmMap */, FxShmLock: 0 /* xShmLock */, FxShmBarrier: 0 /* xShmBarrier */, FxShmUnmap: 0 /* xShmUnmap */, FxFetch: 0 /* xFetch */, FxUnfetch: 0 /* xUnfetch */} /* sqlite3.c:40188:1 */ -func posixIoFinderImpl(tls *libc.TLS, z uintptr, p uintptr) uintptr { /* sqlite3.c:40182:1: */ +func posixIoFinderImpl(tls *libc.TLS, z uintptr, p uintptr) uintptr { /* sqlite3.c:40188:1: */ _ = z _ = p return uintptr(unsafe.Pointer(&posixIoMethods)) } -var posixIoFinder uintptr = 0 /* sqlite3.c:40182:1 */ -var nolockIoMethods = Sqlite3_io_methods{FiVersion: 3 /* iVersion */, FxClose: 0 /* xClose */, FxRead: 0 /* xRead */, FxWrite: 0 /* xWrite */, FxTruncate: 0 /* xTruncate */, FxSync: 0 /* xSync */, FxFileSize: 0 /* xFileSize */, FxLock: 0 /* xLock */, FxUnlock: 0 /* xUnlock */, FxCheckReservedLock: 0 /* xCheckReservedLock */, FxFileControl: 0 /* xFileControl */, FxSectorSize: 0 /* xSectorSize */, FxDeviceCharacteristics: 0 /* xShmMap */, FxShmLock: 0 /* xShmLock */, FxShmBarrier: 0 /* xShmBarrier */, FxShmUnmap: 0 /* xShmUnmap */, FxFetch: 0 /* xFetch */, FxUnfetch: 0 /* xUnfetch */} /* sqlite3.c:40192:1 */ +var posixIoFinder uintptr = 0 /* sqlite3.c:40188:1 */ +var nolockIoMethods = Sqlite3_io_methods{FiVersion: 3 /* iVersion */, FxClose: 0 /* xClose */, FxRead: 0 /* xRead */, FxWrite: 0 /* xWrite */, FxTruncate: 0 /* xTruncate */, FxSync: 0 /* xSync */, FxFileSize: 0 /* xFileSize */, FxLock: 0 /* xLock */, FxUnlock: 0 /* xUnlock */, FxCheckReservedLock: 0 /* xCheckReservedLock */, FxFileControl: 0 /* xFileControl */, FxSectorSize: 0 /* xSectorSize */, FxDeviceCharacteristics: 0 /* xShmMap */, FxShmLock: 0 /* xShmLock */, FxShmBarrier: 0 /* xShmBarrier */, FxShmUnmap: 0 /* xShmUnmap */, FxFetch: 0 /* xFetch */, FxUnfetch: 0 /* xUnfetch */} /* sqlite3.c:40198:1 */ -func nolockIoFinderImpl(tls *libc.TLS, z uintptr, p uintptr) uintptr { /* sqlite3.c:40192:1: */ +func nolockIoFinderImpl(tls *libc.TLS, z uintptr, p uintptr) uintptr { /* sqlite3.c:40198:1: */ _ = z _ = p return uintptr(unsafe.Pointer(&nolockIoMethods)) } -var nolockIoFinder uintptr = 0 /* sqlite3.c:40192:1 */ -var dotlockIoMethods = Sqlite3_io_methods{FiVersion: 1 /* iVersion */, FxClose: 0 /* xClose */, FxRead: 0 /* xRead */, FxWrite: 0 /* xWrite */, FxTruncate: 0 /* xTruncate */, FxSync: 0 /* xSync */, FxFileSize: 0 /* xFileSize */, FxLock: 0 /* xLock */, FxUnlock: 0 /* xUnlock */, FxCheckReservedLock: 0 /* xCheckReservedLock */, FxFileControl: 0 /* xFileControl */, FxSectorSize: 0 /* xSectorSize */, FxDeviceCharacteristics: 0 /* xShmMap */, FxShmLock: 0 /* xShmLock */, FxShmBarrier: 0 /* xShmBarrier */, FxShmUnmap: 0 /* xShmUnmap */, FxFetch: 0 /* xFetch */, FxUnfetch: 0 /* xUnfetch */} /* sqlite3.c:40202:1 */ +var nolockIoFinder uintptr = 0 /* sqlite3.c:40198:1 */ +var dotlockIoMethods = Sqlite3_io_methods{FiVersion: 1 /* iVersion */, FxClose: 0 /* xClose */, FxRead: 0 /* xRead */, FxWrite: 0 /* xWrite */, FxTruncate: 0 /* xTruncate */, FxSync: 0 /* xSync */, FxFileSize: 0 /* xFileSize */, FxLock: 0 /* xLock */, FxUnlock: 0 /* xUnlock */, FxCheckReservedLock: 0 /* xCheckReservedLock */, FxFileControl: 0 /* xFileControl */, FxSectorSize: 0 /* xSectorSize */, FxDeviceCharacteristics: 0 /* xShmMap */, FxShmLock: 0 /* xShmLock */, FxShmBarrier: 0 /* xShmBarrier */, FxShmUnmap: 0 /* xShmUnmap */, FxFetch: 0 /* xFetch */, FxUnfetch: 0 /* xUnfetch */} /* sqlite3.c:40208:1 */ -func dotlockIoFinderImpl(tls *libc.TLS, z uintptr, p uintptr) uintptr { /* sqlite3.c:40202:1: */ +func dotlockIoFinderImpl(tls *libc.TLS, z uintptr, p uintptr) uintptr { /* sqlite3.c:40208:1: */ _ = z _ = p return uintptr(unsafe.Pointer(&dotlockIoMethods)) } -var dotlockIoFinder uintptr = 0 /* sqlite3.c:40202:1 */ +var dotlockIoFinder uintptr = 0 /* sqlite3.c:40208:1 */ // The proxy locking method is a "super-method" in the sense that it // opens secondary file descriptors for the conch and lock files and @@ -26650,7 +26660,7 @@ var dotlockIoFinder uintptr = 0 /* sqlite3.c:40202:1 */ // nfs lockd on OSX 10.3+ doesn't clear write locks when a read lock is set // An abstract type for a pointer to an IO method finder function: -type Finder_type = uintptr /* sqlite3.c:40397:34 */ +type Finder_type = uintptr /* sqlite3.c:40403:34 */ // *************************************************************************** // @@ -26660,7 +26670,7 @@ type Finder_type = uintptr /* sqlite3.c:40397:34 */ // sqlite3_vfs object. // Initialize the contents of the unixFile structure pointed to by pId. -func fillInUnixFile(tls *libc.TLS, pVfs uintptr, h int32, pId uintptr, zFilename uintptr, ctrlFlags int32) int32 { /* sqlite3.c:40410:12: */ +func fillInUnixFile(tls *libc.TLS, pVfs uintptr, h int32, pId uintptr, zFilename uintptr, ctrlFlags int32) int32 { /* sqlite3.c:40416:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -26717,7 +26727,7 @@ func fillInUnixFile(tls *libc.TLS, pVfs uintptr, h int32, pId uintptr, zFilename // If scenario (a) caused the error then things are not so safe. The // implicit assumption here is that if fstat() fails, things are in // such bad shape that dropping a lock or two doesn't matter much. - robust_close(tls, pNew, h, 40488) + robust_close(tls, pNew, h, 40494) h = -1 } unixLeaveMutex(tls) @@ -26740,7 +26750,7 @@ func fillInUnixFile(tls *libc.TLS, pVfs uintptr, h int32, pId uintptr, zFilename storeLastErrno(tls, pNew, 0) if rc != SQLITE_OK { if h >= 0 { - robust_close(tls, pNew, h, 40573) + robust_close(tls, pNew, h, 40579) } } else { (*Sqlite3_file)(unsafe.Pointer(pId)).FpMethods = pLockingStyle @@ -26758,17 +26768,17 @@ var azTempDirs = [6]uintptr{ ts + 3680, ts + 3689, ts + 1547, -} /* sqlite3.c:40585:19 */ +} /* sqlite3.c:40591:19 */ // Initialize first two members of azTempDirs[] array. -func unixTempFileInit(tls *libc.TLS) { /* sqlite3.c:40597:13: */ +func unixTempFileInit(tls *libc.TLS) { /* sqlite3.c:40603:13: */ azTempDirs[0] = libc.Xgetenv(tls, ts+3694) azTempDirs[1] = libc.Xgetenv(tls, ts+3708) } // Return the name of a directory in which to put temporary files. // If no suitable temporary file directory can be found, return NULL. -func unixTempFileDir(tls *libc.TLS) uintptr { /* sqlite3.c:40606:19: */ +func unixTempFileDir(tls *libc.TLS) uintptr { /* sqlite3.c:40612:19: */ bp := tls.Alloc(104) defer tls.Free(104) @@ -26795,7 +26805,7 @@ func unixTempFileDir(tls *libc.TLS) uintptr { /* sqlite3.c:40606:19: */ // Create a temporary file name in zBuf. zBuf must be allocated // by the calling process and must be big enough to hold at least // pVfs->mxPathname bytes. -func unixGetTempname(tls *libc.TLS, nBuf int32, zBuf uintptr) int32 { /* sqlite3.c:40630:12: */ +func unixGetTempname(tls *libc.TLS, nBuf int32, zBuf uintptr) int32 { /* sqlite3.c:40636:12: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -26839,7 +26849,7 @@ func unixGetTempname(tls *libc.TLS, nBuf int32, zBuf uintptr) int32 { /* sqlite3 // // If a suitable file descriptor is found, then it is returned. If no // such file descriptor is located, -1 is returned. -func findReusableFd(tls *libc.TLS, zPath uintptr, flags int32) uintptr { /* sqlite3.c:40680:21: */ +func findReusableFd(tls *libc.TLS, zPath uintptr, flags int32) uintptr { /* sqlite3.c:40686:21: */ bp := tls.Alloc(104) defer tls.Free(104) @@ -26890,7 +26900,7 @@ func findReusableFd(tls *libc.TLS, zPath uintptr, flags int32) uintptr { /* sqli } // Find the mode, uid and gid of file zFile. -func getFileMode(tls *libc.TLS, zFile uintptr, pMode uintptr, pUid uintptr, pGid uintptr) int32 { /* sqlite3.c:40730:12: */ +func getFileMode(tls *libc.TLS, zFile uintptr, pMode uintptr, pUid uintptr, pGid uintptr) int32 { /* sqlite3.c:40736:12: */ bp := tls.Alloc(104) defer tls.Free(104) @@ -26926,7 +26936,7 @@ func getFileMode(tls *libc.TLS, zFile uintptr, pMode uintptr, pUid uintptr, pGid // original filename is unavailable. But 8_3_NAMES is only used for // FAT filesystems and permissions do not matter there, so just use // the default permissions. In 8_3_NAMES mode, leave *pMode set to zero. -func findCreateFileMode(tls *libc.TLS, zPath uintptr, flags int32, pMode uintptr, pUid uintptr, pGid uintptr) int32 { /* sqlite3.c:40769:12: */ +func findCreateFileMode(tls *libc.TLS, zPath uintptr, flags int32, pMode uintptr, pUid uintptr, pGid uintptr) int32 { /* sqlite3.c:40775:12: */ bp := tls.Alloc(513) defer tls.Free(513) @@ -27000,7 +27010,7 @@ func findCreateFileMode(tls *libc.TLS, zPath uintptr, flags int32, pMode uintptr // file handle closed. To achieve the same effect using this new // interface, add the DELETEONCLOSE flag to those specified above for // OpenExclusive(). -func unixOpen(tls *libc.TLS, pVfs uintptr, zPath uintptr, pFile uintptr, flags int32, pOutFlags uintptr) int32 { /* sqlite3.c:40846:12: */ +func unixOpen(tls *libc.TLS, pVfs uintptr, zPath uintptr, pFile uintptr, flags int32, pOutFlags uintptr) int32 { /* sqlite3.c:40852:12: */ bp := tls.Alloc(528) defer tls.Free(528) @@ -27198,7 +27208,7 @@ __15: if !(fd < 0) { goto __19 } - rc2 = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 41002), ts+3212, zName, 41002) + rc2 = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 41008), ts+3212, zName, 41008) if !(rc == SQLITE_OK) { goto __20 } @@ -27298,7 +27308,7 @@ __30: // Delete the file at zPath. If the dirSync argument is true, fsync() // the directory after deleting the file. -func unixDelete(tls *libc.TLS, NotUsed uintptr, zPath uintptr, dirSync int32) int32 { /* sqlite3.c:41125:12: */ +func unixDelete(tls *libc.TLS, NotUsed uintptr, zPath uintptr, dirSync int32) int32 { /* sqlite3.c:41131:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -27309,7 +27319,7 @@ func unixDelete(tls *libc.TLS, NotUsed uintptr, zPath uintptr, dirSync int32) in if *(*int32)(unsafe.Pointer(libc.X__errno_location(tls))) == ENOENT { rc = SQLITE_IOERR | int32(23)<<8 } else { - rc = unixLogErrorAtLine(tls, SQLITE_IOERR|int32(10)<<8, ts+3322, zPath, 41141) + rc = unixLogErrorAtLine(tls, SQLITE_IOERR|int32(10)<<8, ts+3322, zPath, 41147) } return rc } @@ -27319,9 +27329,9 @@ func unixDelete(tls *libc.TLS, NotUsed uintptr, zPath uintptr, dirSync int32) in rc = (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 17*12 + 4)))(tls, zPath, bp) if rc == SQLITE_OK { if full_fsync(tls, *(*int32)(unsafe.Pointer(bp)), 0, 0) != 0 { - rc = unixLogErrorAtLine(tls, SQLITE_IOERR|int32(5)<<8, ts+3739, zPath, 41151) + rc = unixLogErrorAtLine(tls, SQLITE_IOERR|int32(5)<<8, ts+3739, zPath, 41157) } - robust_close(tls, uintptr(0), *(*int32)(unsafe.Pointer(bp /* fd */)), 41153) + robust_close(tls, uintptr(0), *(*int32)(unsafe.Pointer(bp /* fd */)), 41159) } else { rc = SQLITE_OK @@ -27338,7 +27348,7 @@ func unixDelete(tls *libc.TLS, NotUsed uintptr, zPath uintptr, dirSync int32) in // SQLITE_ACCESS_READONLY: Return 1 if the file is readable. // // Otherwise return 0. -func unixAccess(tls *libc.TLS, NotUsed uintptr, zPath uintptr, flags int32, pResOut uintptr) int32 { /* sqlite3.c:41173:12: */ +func unixAccess(tls *libc.TLS, NotUsed uintptr, zPath uintptr, flags int32, pResOut uintptr) int32 { /* sqlite3.c:41179:12: */ bp := tls.Alloc(104) defer tls.Free(104) @@ -27360,7 +27370,7 @@ func unixAccess(tls *libc.TLS, NotUsed uintptr, zPath uintptr, flags int32, pRes // If the last component of the pathname in z[0]..z[j-1] is something // other than ".." then back it out and return true. If the last // component is empty or if it is ".." then return false. -func unixBackupDir(tls *libc.TLS, z uintptr, pJ uintptr) int32 { /* sqlite3.c:41202:12: */ +func unixBackupDir(tls *libc.TLS, z uintptr, pJ uintptr) int32 { /* sqlite3.c:41208:12: */ var j int32 = *(*int32)(unsafe.Pointer(pJ)) var i int32 if j <= 0 { @@ -27383,7 +27393,7 @@ func unixBackupDir(tls *libc.TLS, z uintptr, pJ uintptr) int32 { /* sqlite3.c:41 // // Remove all instances of /./ // Remove all isntances of /X/../ for any X -func mkFullPathname(tls *libc.TLS, zPath uintptr, zOut uintptr, nOut int32) int32 { /* sqlite3.c:41220:12: */ +func mkFullPathname(tls *libc.TLS, zPath uintptr, zOut uintptr, nOut int32) int32 { /* sqlite3.c:41226:12: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -27394,7 +27404,7 @@ func mkFullPathname(tls *libc.TLS, zPath uintptr, zOut uintptr, nOut int32) int3 if int32(*(*uint8)(unsafe.Pointer(zPath))) != '/' { if (*(*func(*libc.TLS, uintptr, Size_t) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 3*12 + 4)))(tls, zOut, uint32(nOut-2)) == uintptr(0) { - return unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 41230), ts+3230, zPath, 41230) + return unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 41236), ts+3230, zPath, 41236) } iOff = Xsqlite3Strlen30(tls, zOut) *(*uint8)(unsafe.Pointer(zOut + uintptr(libc.PostIncInt32(&iOff, 1)))) = uint8('/') @@ -27403,7 +27413,7 @@ func mkFullPathname(tls *libc.TLS, zPath uintptr, zOut uintptr, nOut int32) int3 // SQLite assumes that xFullPathname() nul-terminates the output buffer // even if it returns an error. *(*uint8)(unsafe.Pointer(zOut + uintptr(iOff))) = uint8(0) - return Xsqlite3CantopenError(tls, 41239) + return Xsqlite3CantopenError(tls, 41245) } Xsqlite3_snprintf(tls, nOut-iOff, zOut+uintptr(iOff), ts+3614, libc.VaList(bp, zPath)) @@ -27454,7 +27464,7 @@ func mkFullPathname(tls *libc.TLS, zPath uintptr, zOut uintptr, nOut int32) int3 // zOut points to a buffer of at least sqlite3_vfs.mxPathname bytes // (in this case, MAX_PATHNAME bytes). The full-path is written to // this buffer before returning. -func unixFullPathname(tls *libc.TLS, pVfs uintptr, zPath uintptr, nOut int32, zOut uintptr) int32 { /* sqlite3.c:41289:12: */ +func unixFullPathname(tls *libc.TLS, pVfs uintptr, zPath uintptr, nOut int32, zOut uintptr) int32 { /* sqlite3.c:41295:12: */ bp := tls.Alloc(104) defer tls.Free(104) @@ -27480,7 +27490,7 @@ func unixFullPathname(tls *libc.TLS, pVfs uintptr, zPath uintptr, nOut int32, zO if (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 27*12 + 4)))(tls, zIn, bp) != 0 { if *(*int32)(unsafe.Pointer(libc.X__errno_location(tls))) != ENOENT { - rc = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 41322), ts+3410, zIn, 41322) + rc = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 41328), ts+3410, zIn, 41328) } } else { bLink = libc.Bool32((*stat)(unsafe.Pointer(bp)).Fst_mode&X__mode_t(0170000) == X__mode_t(0120000)) @@ -27494,20 +27504,20 @@ func unixFullPathname(tls *libc.TLS, pVfs uintptr, zPath uintptr, nOut int32, zO rc = SQLITE_NOMEM } } else if nLink >= SQLITE_MAX_SYMLINKS { - rc = Xsqlite3CantopenError(tls, 41334) + rc = Xsqlite3CantopenError(tls, 41340) } if rc == SQLITE_OK { nByte = (*(*func(*libc.TLS, uintptr, uintptr, Size_t) Ssize_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 26*12 + 4)))(tls, zIn, zDel, uint32(nOut-1)) if nByte < 0 { - rc = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 41340), ts+3401, zIn, 41340) + rc = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 41346), ts+3401, zIn, 41346) } else { if int32(*(*uint8)(unsafe.Pointer(zDel))) != '/' { var n int32 for n = Xsqlite3Strlen30(tls, zIn); n > 0 && int32(*(*uint8)(unsafe.Pointer(zIn + uintptr(n-1)))) != '/'; n-- { } if nByte+n+1 > nOut { - rc = Xsqlite3CantopenError(tls, 41346) + rc = Xsqlite3CantopenError(tls, 41352) } else { libc.Xmemmove(tls, zDel+uintptr(n), zDel, uint32(nByte+1)) libc.Xmemcpy(tls, zDel, zIn, uint32(n)) @@ -27577,7 +27587,7 @@ type Dl_serinfo = struct { } } /* dlfcn.h:196:3 */ -func unixDlOpen(tls *libc.TLS, NotUsed uintptr, zFilename uintptr) uintptr { /* sqlite3.c:41381:13: */ +func unixDlOpen(tls *libc.TLS, NotUsed uintptr, zFilename uintptr) uintptr { /* sqlite3.c:41387:13: */ _ = NotUsed return libc.Xdlopen(tls, zFilename, RTLD_NOW|RTLD_GLOBAL) } @@ -27587,7 +27597,7 @@ func unixDlOpen(tls *libc.TLS, NotUsed uintptr, zFilename uintptr) uintptr { /* // message is available, it is written to zBufOut. If no error message // is available, zBufOut is left unmodified and SQLite uses a default // error message. -func unixDlError(tls *libc.TLS, NotUsed uintptr, nBuf int32, zBufOut uintptr) { /* sqlite3.c:41393:13: */ +func unixDlError(tls *libc.TLS, NotUsed uintptr, nBuf int32, zBufOut uintptr) { /* sqlite3.c:41399:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -27601,7 +27611,7 @@ func unixDlError(tls *libc.TLS, NotUsed uintptr, nBuf int32, zBufOut uintptr) { unixLeaveMutex(tls) } -func unixDlSym(tls *libc.TLS, NotUsed uintptr, p uintptr, zSym uintptr) uintptr { /* sqlite3.c:41403:13: */ +func unixDlSym(tls *libc.TLS, NotUsed uintptr, p uintptr, zSym uintptr) uintptr { /* sqlite3.c:41409:13: */ // GCC with -pedantic-errors says that C90 does not allow a void* to be // cast into a pointer to a function. And yet the library dlsym() routine // returns a void* which is really a pointer to a function. So how do we @@ -27627,13 +27637,13 @@ func unixDlSym(tls *libc.TLS, NotUsed uintptr, p uintptr, zSym uintptr) uintptr })(unsafe.Pointer(&struct{ uintptr }{x})).f(tls, p, zSym) } -func unixDlClose(tls *libc.TLS, NotUsed uintptr, pHandle uintptr) { /* sqlite3.c:41426:13: */ +func unixDlClose(tls *libc.TLS, NotUsed uintptr, pHandle uintptr) { /* sqlite3.c:41432:13: */ _ = NotUsed libc.Xdlclose(tls, pHandle) } // Write nBuf bytes of random data to the supplied buffer zBuf. -func unixRandomness(tls *libc.TLS, NotUsed uintptr, nBuf int32, zBuf uintptr) int32 { /* sqlite3.c:41440:12: */ +func unixRandomness(tls *libc.TLS, NotUsed uintptr, nBuf int32, zBuf uintptr) int32 { /* sqlite3.c:41446:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -27668,7 +27678,7 @@ func unixRandomness(tls *libc.TLS, NotUsed uintptr, nBuf int32, zBuf uintptr) in for __ccgo := true; __ccgo; __ccgo = got < 0 && *(*int32)(unsafe.Pointer(libc.X__errno_location(tls))) == EINTR { got = (*(*func(*libc.TLS, int32, uintptr, Size_t) Ssize_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 8*12 + 4)))(tls, fd, zBuf, uint32(nBuf)) } - robust_close(tls, uintptr(0), fd, 41471) + robust_close(tls, uintptr(0), fd, 41477) } } @@ -27681,7 +27691,7 @@ func unixRandomness(tls *libc.TLS, NotUsed uintptr, nBuf int32, zBuf uintptr) in // requested from the underlying operating system, a number which // might be greater than or equal to the argument, but not less // than the argument. -func unixSleep(tls *libc.TLS, NotUsed uintptr, microseconds int32) int32 { /* sqlite3.c:41487:12: */ +func unixSleep(tls *libc.TLS, NotUsed uintptr, microseconds int32) int32 { /* sqlite3.c:41493:12: */ if microseconds >= 1000000 { libc.Xsleep(tls, uint32(microseconds/1000000)) } @@ -27704,7 +27714,7 @@ func unixSleep(tls *libc.TLS, NotUsed uintptr, microseconds int32) int32 { /* sq // // On success, return SQLITE_OK. Return SQLITE_ERROR if the time and date // cannot be found. -func unixCurrentTimeInt64(tls *libc.TLS, NotUsed uintptr, piNow uintptr) int32 { /* sqlite3.c:41528:12: */ +func unixCurrentTimeInt64(tls *libc.TLS, NotUsed uintptr, piNow uintptr) int32 { /* sqlite3.c:41534:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -27718,12 +27728,12 @@ func unixCurrentTimeInt64(tls *libc.TLS, NotUsed uintptr, piNow uintptr) int32 { return rc } -var unixEpoch Sqlite3_int64 = int64(24405875) * int64(8640000) /* sqlite3.c:41529:30 */ +var unixEpoch Sqlite3_int64 = int64(24405875) * int64(8640000) /* sqlite3.c:41535:30 */ // Find the current time (in Universal Coordinated Time). Write the // current time and date as a Julian Day number into *prNow and // return 0. Return 1 if the time and date cannot be found. -func unixCurrentTime(tls *libc.TLS, NotUsed uintptr, prNow uintptr) int32 { /* sqlite3.c:41560:12: */ +func unixCurrentTime(tls *libc.TLS, NotUsed uintptr, prNow uintptr) int32 { /* sqlite3.c:41566:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -27739,7 +27749,7 @@ func unixCurrentTime(tls *libc.TLS, NotUsed uintptr, prNow uintptr) int32 { /* s // low-level error message when operating-system problems come up // during SQLite operation. Only the integer return code is currently // used. -func unixGetLastError(tls *libc.TLS, NotUsed uintptr, NotUsed2 int32, NotUsed3 uintptr) int32 { /* sqlite3.c:41578:12: */ +func unixGetLastError(tls *libc.TLS, NotUsed uintptr, NotUsed2 int32, NotUsed3 uintptr) int32 { /* sqlite3.c:41584:12: */ _ = NotUsed _ = NotUsed2 _ = NotUsed3 @@ -27921,7 +27931,7 @@ func unixGetLastError(tls *libc.TLS, NotUsed uintptr, NotUsed2 int32, NotUsed3 u // single thread. The memory allocation and mutex subsystems have not // necessarily been initialized when this routine is called, and so they // should not be used. -func Xsqlite3_os_init(tls *libc.TLS) int32 { /* sqlite3.c:42783:16: */ +func Xsqlite3_os_init(tls *libc.TLS) int32 { /* sqlite3.c:42789:16: */ var i uint32 // Loop counter // Double-check that the aSyscall[] array has been constructed @@ -27959,14 +27969,14 @@ var aVfs = [4]Sqlite3_vfs{ {FiVersion: 3 /* iVersion */, FszOsFile: int32(unsafe.Sizeof(UnixFile{})) /* szOsFile */, FmxPathname: MAX_PATHNAME /* pNext */, FzName: ts + 3763, FpAppData: 0 /* pAppData */, FxOpen: 0 /* xOpen */, FxDelete: 0 /* xDelete */, FxAccess: 0 /* xAccess */, FxFullPathname: 0 /* xFullPathname */, FxDlOpen: 0 /* xDlOpen */, FxDlError: 0 /* xDlError */, FxDlSym: 0 /* xDlSym */, FxDlClose: 0 /* xDlClose */, FxRandomness: 0 /* xRandomness */, FxSleep: 0 /* xSleep */, FxCurrentTime: 0 /* xCurrentTime */, FxGetLastError: 0 /* xGetLastError */, FxCurrentTimeInt64: 0 /* xCurrentTimeInt64 */, FxSetSystemCall: 0 /* xSetSystemCall */, FxGetSystemCall: 0 /* xGetSystemCall */, FxNextSystemCall: 0 /* xNextSystemCall */}, {FiVersion: 3 /* iVersion */, FszOsFile: int32(unsafe.Sizeof(UnixFile{})) /* szOsFile */, FmxPathname: MAX_PATHNAME /* pNext */, FzName: ts + 3773, FpAppData: 0 /* pAppData */, FxOpen: 0 /* xOpen */, FxDelete: 0 /* xDelete */, FxAccess: 0 /* xAccess */, FxFullPathname: 0 /* xFullPathname */, FxDlOpen: 0 /* xDlOpen */, FxDlError: 0 /* xDlError */, FxDlSym: 0 /* xDlSym */, FxDlClose: 0 /* xDlClose */, FxRandomness: 0 /* xRandomness */, FxSleep: 0 /* xSleep */, FxCurrentTime: 0 /* xCurrentTime */, FxGetLastError: 0 /* xGetLastError */, FxCurrentTimeInt64: 0 /* xCurrentTimeInt64 */, FxSetSystemCall: 0 /* xSetSystemCall */, FxGetSystemCall: 0 /* xGetSystemCall */, FxNextSystemCall: 0 /* xNextSystemCall */}, {FiVersion: 3 /* iVersion */, FszOsFile: int32(unsafe.Sizeof(UnixFile{})) /* szOsFile */, FmxPathname: MAX_PATHNAME /* pNext */, FzName: ts + 3653, FpAppData: 0 /* pAppData */, FxOpen: 0 /* xOpen */, FxDelete: 0 /* xDelete */, FxAccess: 0 /* xAccess */, FxFullPathname: 0 /* xFullPathname */, FxDlOpen: 0 /* xDlOpen */, FxDlError: 0 /* xDlError */, FxDlSym: 0 /* xDlSym */, FxDlClose: 0 /* xDlClose */, FxRandomness: 0 /* xRandomness */, FxSleep: 0 /* xSleep */, FxCurrentTime: 0 /* xCurrentTime */, FxGetLastError: 0 /* xGetLastError */, FxCurrentTimeInt64: 0 /* xCurrentTimeInt64 */, FxSetSystemCall: 0 /* xSetSystemCall */, FxGetSystemCall: 0 /* xGetSystemCall */, FxNextSystemCall: 0 /* xNextSystemCall */}, -} /* sqlite3.c:42836:22 */ +} /* sqlite3.c:42842:22 */ // Shutdown the operating system interface. // // Some operating systems might need to do some cleanup in this routine, // to release dynamically allocated objects. But not on unix. // This routine is a no-op for unix. -func Xsqlite3_os_end(tls *libc.TLS) int32 { /* sqlite3.c:42905:16: */ +func Xsqlite3_os_end(tls *libc.TLS) int32 { /* sqlite3.c:42911:16: */ unixBigLock = uintptr(0) return SQLITE_OK } @@ -28008,14 +28018,14 @@ func Xsqlite3_os_end(tls *libc.TLS) int32 { /* sqlite3.c:42905:16: */ // #include "sqliteInt.h" // Forward declaration of objects used by this utility -type MemVfs = sqlite3_vfs /* sqlite3.c:49095:28 */ +type MemVfs = sqlite3_vfs /* sqlite3.c:49105:28 */ type MemFile1 = struct { Fbase Sqlite3_file FpStore uintptr FeLock int32 -} /* sqlite3.c:49096:9 */ +} /* sqlite3.c:49106:9 */ -type MemFile = MemFile1 /* sqlite3.c:49096:24 */ +type MemFile = MemFile1 /* sqlite3.c:49106:24 */ type MemStore1 = struct { Fsz Sqlite3_int64 FszAlloc Sqlite3_int64 @@ -28028,9 +28038,9 @@ type MemStore1 = struct { FnWrLock int32 FnRef int32 FzFName uintptr -} /* sqlite3.c:49096:9 */ +} /* sqlite3.c:49106:9 */ -type MemStore = MemStore1 /* sqlite3.c:49097:25 */ +type MemStore = MemStore1 /* sqlite3.c:49107:25 */ // File-scope variables for holding the memdb files that are accessible // to multiple database connections in separate threads. @@ -28039,13 +28049,13 @@ type MemStore = MemStore1 /* sqlite3.c:49097:25 */ type MemFS = struct { FnMemStore int32 FapMemStore uintptr -} /* sqlite3.c:49167:8 */ +} /* sqlite3.c:49177:8 */ // File-scope variables for holding the memdb files that are accessible // to multiple database connections in separate threads. // // Must hold SQLITE_MUTEX_STATIC_VFS1 to access any part of this object. -var memdb_g MemFS /* sqlite3.c:49170:3: */ +var memdb_g MemFS /* sqlite3.c:49180:3: */ var memdb_vfs = Sqlite3_vfs{ FiVersion: 2, // szOsFile (set when registered) @@ -28062,7 +28072,7 @@ var memdb_vfs = Sqlite3_vfs{ FxSleep: 0, /* memdbCurrentTime, */ // xCurrentTime FxGetLastError: 0, // xGetLastError FxCurrentTimeInt64: 0, // xNextSystemCall -} /* sqlite3.c:49206:20 */ +} /* sqlite3.c:49216:20 */ var memdb_io_methods = Sqlite3_io_methods{ FiVersion: 3, // iVersion @@ -28078,21 +28088,21 @@ var memdb_io_methods = Sqlite3_io_methods{ FxDeviceCharacteristics: 0, // xShmUnmap FxFetch: 0, // xFetch FxUnfetch: 0, // xUnfetch -} /* sqlite3.c:49231:33 */ +} /* sqlite3.c:49241:33 */ // Enter/leave the mutex on a MemStore -func memdbEnter(tls *libc.TLS, p uintptr) { /* sqlite3.c:49264:13: */ +func memdbEnter(tls *libc.TLS, p uintptr) { /* sqlite3.c:49274:13: */ Xsqlite3_mutex_enter(tls, (*MemStore)(unsafe.Pointer(p)).FpMutex) } -func memdbLeave(tls *libc.TLS, p uintptr) { /* sqlite3.c:49267:13: */ +func memdbLeave(tls *libc.TLS, p uintptr) { /* sqlite3.c:49277:13: */ Xsqlite3_mutex_leave(tls, (*MemStore)(unsafe.Pointer(p)).FpMutex) } // Close an memdb-file. // Free the underlying MemStore object when its refcount drops to zero // or less. -func memdbClose(tls *libc.TLS, pFile uintptr) int32 { /* sqlite3.c:49279:12: */ +func memdbClose(tls *libc.TLS, pFile uintptr) int32 { /* sqlite3.c:49289:12: */ var p uintptr = (*MemFile)(unsafe.Pointer(pFile)).FpStore if (*MemStore)(unsafe.Pointer(p)).FzFName != 0 { var i int32 @@ -28130,7 +28140,7 @@ func memdbClose(tls *libc.TLS, pFile uintptr) int32 { /* sqlite3.c:49279:12: */ } // Read data from an memdb-file. -func memdbRead(tls *libc.TLS, pFile uintptr, zBuf uintptr, iAmt int32, iOfst Sqlite_int64) int32 { /* sqlite3.c:49321:12: */ +func memdbRead(tls *libc.TLS, pFile uintptr, zBuf uintptr, iAmt int32, iOfst Sqlite_int64) int32 { /* sqlite3.c:49331:12: */ var p uintptr = (*MemFile)(unsafe.Pointer(pFile)).FpStore memdbEnter(tls, p) if iOfst+Sqlite_int64(iAmt) > (*MemStore)(unsafe.Pointer(p)).Fsz { @@ -28147,7 +28157,7 @@ func memdbRead(tls *libc.TLS, pFile uintptr, zBuf uintptr, iAmt int32, iOfst Sql } // Try to enlarge the memory allocation to hold at least sz bytes -func memdbEnlarge(tls *libc.TLS, p uintptr, newSz Sqlite3_int64) int32 { /* sqlite3.c:49343:12: */ +func memdbEnlarge(tls *libc.TLS, p uintptr, newSz Sqlite3_int64) int32 { /* sqlite3.c:49353:12: */ var pNew uintptr if (*MemStore)(unsafe.Pointer(p)).FmFlags&uint32(SQLITE_DESERIALIZE_RESIZEABLE) == uint32(0) || (*MemStore)(unsafe.Pointer(p)).FnMmap > 0 { return SQLITE_FULL @@ -28169,7 +28179,7 @@ func memdbEnlarge(tls *libc.TLS, p uintptr, newSz Sqlite3_int64) int32 { /* sqli } // Write data to an memdb-file. -func memdbWrite(tls *libc.TLS, pFile uintptr, z uintptr, iAmt int32, iOfst Sqlite_int64) int32 { /* sqlite3.c:49363:12: */ +func memdbWrite(tls *libc.TLS, pFile uintptr, z uintptr, iAmt int32, iOfst Sqlite_int64) int32 { /* sqlite3.c:49373:12: */ var p uintptr = (*MemFile)(unsafe.Pointer(pFile)).FpStore memdbEnter(tls, p) if (*MemStore)(unsafe.Pointer(p)).FmFlags&uint32(SQLITE_DESERIALIZE_READONLY) != 0 { @@ -28200,7 +28210,7 @@ func memdbWrite(tls *libc.TLS, pFile uintptr, z uintptr, iAmt int32, iOfst Sqlit // In rollback mode (which is always the case for memdb, as it does not // support WAL mode) the truncate() method is only used to reduce // the size of a file, never to increase the size. -func memdbTruncate(tls *libc.TLS, pFile uintptr, size Sqlite_int64) int32 { /* sqlite3.c:49400:12: */ +func memdbTruncate(tls *libc.TLS, pFile uintptr, size Sqlite_int64) int32 { /* sqlite3.c:49410:12: */ var p uintptr = (*MemFile)(unsafe.Pointer(pFile)).FpStore var rc int32 = SQLITE_OK memdbEnter(tls, p) @@ -28215,14 +28225,14 @@ func memdbTruncate(tls *libc.TLS, pFile uintptr, size Sqlite_int64) int32 { /* s } // Sync an memdb-file. -func memdbSync(tls *libc.TLS, pFile uintptr, flags int32) int32 { /* sqlite3.c:49417:12: */ +func memdbSync(tls *libc.TLS, pFile uintptr, flags int32) int32 { /* sqlite3.c:49427:12: */ _ = pFile _ = flags return SQLITE_OK } // Return the current file-size of an memdb-file. -func memdbFileSize(tls *libc.TLS, pFile uintptr, pSize uintptr) int32 { /* sqlite3.c:49426:12: */ +func memdbFileSize(tls *libc.TLS, pFile uintptr, pSize uintptr) int32 { /* sqlite3.c:49436:12: */ var p uintptr = (*MemFile)(unsafe.Pointer(pFile)).FpStore memdbEnter(tls, p) *(*Sqlite_int64)(unsafe.Pointer(pSize)) = (*MemStore)(unsafe.Pointer(p)).Fsz @@ -28231,7 +28241,7 @@ func memdbFileSize(tls *libc.TLS, pFile uintptr, pSize uintptr) int32 { /* sqlit } // Lock an memdb-file. -func memdbLock(tls *libc.TLS, pFile uintptr, eLock int32) int32 { /* sqlite3.c:49437:12: */ +func memdbLock(tls *libc.TLS, pFile uintptr, eLock int32) int32 { /* sqlite3.c:49447:12: */ var pThis uintptr = pFile var p uintptr = (*MemFile)(unsafe.Pointer(pThis)).FpStore var rc int32 = SQLITE_OK @@ -28275,7 +28285,7 @@ func memdbLock(tls *libc.TLS, pFile uintptr, eLock int32) int32 { /* sqlite3.c:4 } // File control method. For custom operations on an memdb-file. -func memdbFileControl(tls *libc.TLS, pFile uintptr, op int32, pArg uintptr) int32 { /* sqlite3.c:49491:12: */ +func memdbFileControl(tls *libc.TLS, pFile uintptr, op int32, pArg uintptr) int32 { /* sqlite3.c:49501:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -28304,13 +28314,13 @@ func memdbFileControl(tls *libc.TLS, pFile uintptr, op int32, pArg uintptr) int3 } // Return the device characteristic flags supported by an memdb-file. -func memdbDeviceCharacteristics(tls *libc.TLS, pFile uintptr) int32 { /* sqlite3.c:49528:12: */ +func memdbDeviceCharacteristics(tls *libc.TLS, pFile uintptr) int32 { /* sqlite3.c:49538:12: */ _ = pFile return SQLITE_IOCAP_ATOMIC | SQLITE_IOCAP_POWERSAFE_OVERWRITE | SQLITE_IOCAP_SAFE_APPEND | SQLITE_IOCAP_SEQUENTIAL } // Fetch a page of a memory-mapped file -func memdbFetch(tls *libc.TLS, pFile uintptr, iOfst Sqlite3_int64, iAmt int32, pp uintptr) int32 { /* sqlite3.c:49537:12: */ +func memdbFetch(tls *libc.TLS, pFile uintptr, iOfst Sqlite3_int64, iAmt int32, pp uintptr) int32 { /* sqlite3.c:49547:12: */ var p uintptr = (*MemFile)(unsafe.Pointer(pFile)).FpStore memdbEnter(tls, p) if iOfst+Sqlite3_int64(iAmt) > (*MemStore)(unsafe.Pointer(p)).Fsz || (*MemStore)(unsafe.Pointer(p)).FmFlags&uint32(SQLITE_DESERIALIZE_RESIZEABLE) != uint32(0) { @@ -28324,7 +28334,7 @@ func memdbFetch(tls *libc.TLS, pFile uintptr, iOfst Sqlite3_int64, iAmt int32, p } // Release a memory-mapped page -func memdbUnfetch(tls *libc.TLS, pFile uintptr, iOfst Sqlite3_int64, pPage uintptr) int32 { /* sqlite3.c:49556:12: */ +func memdbUnfetch(tls *libc.TLS, pFile uintptr, iOfst Sqlite3_int64, pPage uintptr) int32 { /* sqlite3.c:49566:12: */ var p uintptr = (*MemFile)(unsafe.Pointer(pFile)).FpStore _ = iOfst _ = pPage @@ -28335,7 +28345,7 @@ func memdbUnfetch(tls *libc.TLS, pFile uintptr, iOfst Sqlite3_int64, pPage uintp } // Open an mem file handle. -func memdbOpen(tls *libc.TLS, pVfs uintptr, zName uintptr, pFd uintptr, flags int32, pOutFlags uintptr) int32 { /* sqlite3.c:49569:12: */ +func memdbOpen(tls *libc.TLS, pVfs uintptr, zName uintptr, pFd uintptr, flags int32, pOutFlags uintptr) int32 { /* sqlite3.c:49579:12: */ var pFile uintptr = pFd var p uintptr = uintptr(0) var szName int32 @@ -28410,7 +28420,7 @@ func memdbOpen(tls *libc.TLS, pVfs uintptr, zName uintptr, pFd uintptr, flags in // is available, or false otherwise. // // With memdb, no files ever exist on disk. So always return false. -func memdbAccess(tls *libc.TLS, pVfs uintptr, zPath uintptr, flags int32, pResOut uintptr) int32 { /* sqlite3.c:49666:12: */ +func memdbAccess(tls *libc.TLS, pVfs uintptr, zPath uintptr, flags int32, pResOut uintptr) int32 { /* sqlite3.c:49676:12: */ _ = pVfs _ = zPath _ = flags @@ -28421,7 +28431,7 @@ func memdbAccess(tls *libc.TLS, pVfs uintptr, zPath uintptr, flags int32, pResOu // Populate buffer zOut with the full canonical pathname corresponding // to the pathname in zPath. zOut is guaranteed to point to a buffer // of at least (INST_MAX_PATHNAME+1) bytes. -func memdbFullPathname(tls *libc.TLS, pVfs uintptr, zPath uintptr, nOut int32, zOut uintptr) int32 { /* sqlite3.c:49684:12: */ +func memdbFullPathname(tls *libc.TLS, pVfs uintptr, zPath uintptr, nOut int32, zOut uintptr) int32 { /* sqlite3.c:49694:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -28431,7 +28441,7 @@ func memdbFullPathname(tls *libc.TLS, pVfs uintptr, zPath uintptr, nOut int32, z } // Open the dynamic library located at zPath and return a handle. -func memdbDlOpen(tls *libc.TLS, pVfs uintptr, zPath uintptr) uintptr { /* sqlite3.c:49698:13: */ +func memdbDlOpen(tls *libc.TLS, pVfs uintptr, zPath uintptr) uintptr { /* sqlite3.c:49708:13: */ return (*struct { f func(*libc.TLS, uintptr, uintptr) uintptr })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer((*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData)).FxDlOpen})).f(tls, (*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, zPath) @@ -28440,21 +28450,21 @@ func memdbDlOpen(tls *libc.TLS, pVfs uintptr, zPath uintptr) uintptr { /* sqlite // Populate the buffer zErrMsg (size nByte bytes) with a human readable // utf-8 string describing the most recent error encountered associated // with dynamic libraries. -func memdbDlError(tls *libc.TLS, pVfs uintptr, nByte int32, zErrMsg uintptr) { /* sqlite3.c:49707:13: */ +func memdbDlError(tls *libc.TLS, pVfs uintptr, nByte int32, zErrMsg uintptr) { /* sqlite3.c:49717:13: */ (*struct { f func(*libc.TLS, uintptr, int32, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer((*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData)).FxDlError})).f(tls, (*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, nByte, zErrMsg) } // Return a pointer to the symbol zSymbol in the dynamic library pHandle. -func memdbDlSym(tls *libc.TLS, pVfs uintptr, p uintptr, zSym uintptr) uintptr { /* sqlite3.c:49714:13: */ +func memdbDlSym(tls *libc.TLS, pVfs uintptr, p uintptr, zSym uintptr) uintptr { /* sqlite3.c:49724:13: */ return (*struct { f func(*libc.TLS, uintptr, uintptr, uintptr) uintptr })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer((*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData)).FxDlSym})).f(tls, (*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, p, zSym) } // Close the dynamic library handle pHandle. -func memdbDlClose(tls *libc.TLS, pVfs uintptr, pHandle uintptr) { /* sqlite3.c:49721:13: */ +func memdbDlClose(tls *libc.TLS, pVfs uintptr, pHandle uintptr) { /* sqlite3.c:49731:13: */ (*struct { f func(*libc.TLS, uintptr, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer((*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData)).FxDlClose})).f(tls, (*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, pHandle) @@ -28462,7 +28472,7 @@ func memdbDlClose(tls *libc.TLS, pVfs uintptr, pHandle uintptr) { /* sqlite3.c:4 // Populate the buffer pointed to by zBufOut with nByte bytes of // random data. -func memdbRandomness(tls *libc.TLS, pVfs uintptr, nByte int32, zBufOut uintptr) int32 { /* sqlite3.c:49729:12: */ +func memdbRandomness(tls *libc.TLS, pVfs uintptr, nByte int32, zBufOut uintptr) int32 { /* sqlite3.c:49739:12: */ return (*struct { f func(*libc.TLS, uintptr, int32, uintptr) int32 })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer((*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData)).FxRandomness})).f(tls, (*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, nByte, zBufOut) @@ -28470,19 +28480,19 @@ func memdbRandomness(tls *libc.TLS, pVfs uintptr, nByte int32, zBufOut uintptr) // Sleep for nMicro microseconds. Return the number of microseconds // actually slept. -func memdbSleep(tls *libc.TLS, pVfs uintptr, nMicro int32) int32 { /* sqlite3.c:49737:12: */ +func memdbSleep(tls *libc.TLS, pVfs uintptr, nMicro int32) int32 { /* sqlite3.c:49747:12: */ return (*struct { f func(*libc.TLS, uintptr, int32) int32 })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer((*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData)).FxSleep})).f(tls, (*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, nMicro) } -func memdbGetLastError(tls *libc.TLS, pVfs uintptr, a int32, b uintptr) int32 { /* sqlite3.c:49750:12: */ +func memdbGetLastError(tls *libc.TLS, pVfs uintptr, a int32, b uintptr) int32 { /* sqlite3.c:49760:12: */ return (*struct { f func(*libc.TLS, uintptr, int32, uintptr) int32 })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer((*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData)).FxGetLastError})).f(tls, (*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, a, b) } -func memdbCurrentTimeInt64(tls *libc.TLS, pVfs uintptr, p uintptr) int32 { /* sqlite3.c:49753:12: */ +func memdbCurrentTimeInt64(tls *libc.TLS, pVfs uintptr, p uintptr) int32 { /* sqlite3.c:49763:12: */ return (*struct { f func(*libc.TLS, uintptr, uintptr) int32 })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer((*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData)).FxCurrentTimeInt64})).f(tls, (*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, p) @@ -28490,7 +28500,7 @@ func memdbCurrentTimeInt64(tls *libc.TLS, pVfs uintptr, p uintptr) int32 { /* sq // Translate a database connection pointer and schema name into a // MemFile pointer. -func memdbFromDbSchema(tls *libc.TLS, db uintptr, zSchema uintptr) uintptr { /* sqlite3.c:49761:16: */ +func memdbFromDbSchema(tls *libc.TLS, db uintptr, zSchema uintptr) uintptr { /* sqlite3.c:49771:16: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -28513,7 +28523,7 @@ func memdbFromDbSchema(tls *libc.TLS, db uintptr, zSchema uintptr) uintptr { /* } // Return the serialization of a database -func Xsqlite3_serialize(tls *libc.TLS, db uintptr, zSchema uintptr, piSize uintptr, mFlags uint32) uintptr { /* sqlite3.c:49777:26: */ +func Xsqlite3_serialize(tls *libc.TLS, db uintptr, zSchema uintptr, piSize uintptr, mFlags uint32) uintptr { /* sqlite3.c:49787:26: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -28604,7 +28614,7 @@ func Xsqlite3_serialize(tls *libc.TLS, db uintptr, zSchema uintptr, piSize uintp } // Convert zSchema to a MemDB and initialize its content. -func Xsqlite3_deserialize(tls *libc.TLS, db uintptr, zSchema uintptr, pData uintptr, szDb Sqlite3_int64, szBuf Sqlite3_int64, mFlags uint32) int32 { /* sqlite3.c:49858:16: */ +func Xsqlite3_deserialize(tls *libc.TLS, db uintptr, zSchema uintptr, pData uintptr, szDb Sqlite3_int64, szBuf Sqlite3_int64, mFlags uint32) int32 { /* sqlite3.c:49868:16: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -28699,7 +28709,7 @@ __10: // This routine is called when the extension is loaded. // Register the new VFS. -func Xsqlite3MemdbInit(tls *libc.TLS) int32 { /* sqlite3.c:49934:20: */ +func Xsqlite3MemdbInit(tls *libc.TLS) int32 { /* sqlite3.c:49944:20: */ var pLower uintptr = Xsqlite3_vfs_find(tls, uintptr(0)) var sz uint32 if pLower == uintptr(0) { @@ -28721,7 +28731,7 @@ func Xsqlite3MemdbInit(tls *libc.TLS) int32 { /* sqlite3.c:49934:20: */ // Create a new bitmap object able to handle bits between 0 and iSize, // inclusive. Return a pointer to the new object. Return NULL if // malloc fails. -func Xsqlite3BitvecCreate(tls *libc.TLS, iSize U32) uintptr { /* sqlite3.c:50066:23: */ +func Xsqlite3BitvecCreate(tls *libc.TLS, iSize U32) uintptr { /* sqlite3.c:50076:23: */ var p uintptr p = Xsqlite3MallocZero(tls, uint64(unsafe.Sizeof(Bitvec{}))) @@ -28734,7 +28744,7 @@ func Xsqlite3BitvecCreate(tls *libc.TLS, iSize U32) uintptr { /* sqlite3.c:50066 // Check to see if the i-th bit is set. Return true or false. // If p is NULL (if the bitmap has not been created) or if // i is out of range, then return false. -func Xsqlite3BitvecTestNotNull(tls *libc.TLS, p uintptr, i U32) int32 { /* sqlite3.c:50081:20: */ +func Xsqlite3BitvecTestNotNull(tls *libc.TLS, p uintptr, i U32) int32 { /* sqlite3.c:50091:20: */ i-- if i >= (*Bitvec)(unsafe.Pointer(p)).FiSize { @@ -28763,7 +28773,7 @@ func Xsqlite3BitvecTestNotNull(tls *libc.TLS, p uintptr, i U32) int32 { /* sqlit return int32(0) } -func Xsqlite3BitvecTest(tls *libc.TLS, p uintptr, i U32) int32 { /* sqlite3.c:50104:20: */ +func Xsqlite3BitvecTest(tls *libc.TLS, p uintptr, i U32) int32 { /* sqlite3.c:50114:20: */ return libc.Bool32(p != uintptr(0) && Xsqlite3BitvecTestNotNull(tls, p, i) != 0) } @@ -28777,7 +28787,7 @@ func Xsqlite3BitvecTest(tls *libc.TLS, p uintptr, i U32) int32 { /* sqlite3.c:50 // The calling function must ensure that p is a valid Bitvec object // and that the value for "i" is within range of the Bitvec object. // Otherwise the behavior is undefined. -func Xsqlite3BitvecSet(tls *libc.TLS, p uintptr, i U32) int32 { /* sqlite3.c:50120:20: */ +func Xsqlite3BitvecSet(tls *libc.TLS, p uintptr, i U32) int32 { /* sqlite3.c:50130:20: */ var h U32 var bin U32 var j uint32 @@ -28914,7 +28924,7 @@ bitvec_set_end: // // pBuf must be a pointer to at least BITVEC_SZ bytes of temporary storage // that BitvecClear can use to rebuilt its hash table. -func Xsqlite3BitvecClear(tls *libc.TLS, p uintptr, i U32, pBuf uintptr) { /* sqlite3.c:50191:21: */ +func Xsqlite3BitvecClear(tls *libc.TLS, p uintptr, i U32, pBuf uintptr) { /* sqlite3.c:50201:21: */ if p == uintptr(0) { return } @@ -28953,7 +28963,7 @@ func Xsqlite3BitvecClear(tls *libc.TLS, p uintptr, i U32, pBuf uintptr) { /* sql } // Destroy a bitmap object. Reclaim all memory used. -func Xsqlite3BitvecDestroy(tls *libc.TLS, p uintptr) { /* sqlite3.c:50228:21: */ +func Xsqlite3BitvecDestroy(tls *libc.TLS, p uintptr) { /* sqlite3.c:50238:21: */ if p == uintptr(0) { return } @@ -28968,7 +28978,7 @@ func Xsqlite3BitvecDestroy(tls *libc.TLS, p uintptr) { /* sqlite3.c:50228:21: */ // Return the value of the iSize parameter specified when Bitvec *p // was created. -func Xsqlite3BitvecSize(tls *libc.TLS, p uintptr) U32 { /* sqlite3.c:50243:20: */ +func Xsqlite3BitvecSize(tls *libc.TLS, p uintptr) U32 { /* sqlite3.c:50253:20: */ return (*Bitvec)(unsafe.Pointer(p)).FiSize } @@ -29005,7 +29015,7 @@ func Xsqlite3BitvecSize(tls *libc.TLS, p uintptr) U32 { /* sqlite3.c:50243:20: * // an error is returned. If they are the same, zero is returned. // // If a memory allocation error occurs, return -1. -func Xsqlite3BitvecBuiltinTest(tls *libc.TLS, sz int32, aOp uintptr) int32 { /* sqlite3.c:50288:20: */ +func Xsqlite3BitvecBuiltinTest(tls *libc.TLS, sz int32, aOp uintptr) int32 { /* sqlite3.c:50298:20: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -29168,7 +29178,7 @@ bitvec_end: // argument determines what operation to do. The 0x01 bit means first // remove pPage from the dirty list. The 0x02 means add pPage back to // the dirty list. Doing both moves pPage to the front of the dirty list. -func pcacheManageDirtyList(tls *libc.TLS, pPage uintptr, addRemove U8) { /* sqlite3.c:50523:13: */ +func pcacheManageDirtyList(tls *libc.TLS, pPage uintptr, addRemove U8) { /* sqlite3.c:50533:13: */ var p uintptr = (*PgHdr)(unsafe.Pointer(pPage)).FpCache if int32(addRemove)&PCACHE_DIRTYLIST_REMOVE != 0 { @@ -29230,7 +29240,7 @@ func pcacheManageDirtyList(tls *libc.TLS, pPage uintptr, addRemove U8) { /* sqli // Wrapper around the pluggable caches xUnpin method. If the cache is // being used for an in-memory database, this function is a no-op. -func pcacheUnpin(tls *libc.TLS, p uintptr) { /* sqlite3.c:50593:13: */ +func pcacheUnpin(tls *libc.TLS, p uintptr) { /* sqlite3.c:50603:13: */ if (*PCache)(unsafe.Pointer((*PgHdr)(unsafe.Pointer(p)).FpCache)).FbPurgeable != 0 { (*struct { @@ -29242,7 +29252,7 @@ func pcacheUnpin(tls *libc.TLS, p uintptr) { /* sqlite3.c:50593:13: */ // Compute the number of pages of cache requested. p->szCache is the // cache size requested by the "PRAGMA cache_size" statement. -func numberOfCachePages(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:50605:12: */ +func numberOfCachePages(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:50615:12: */ if (*PCache)(unsafe.Pointer(p)).FszCache >= 0 { // IMPLEMENTATION-OF: R-42059-47211 If the argument N is positive then the // suggested cache size is set to N. @@ -29267,7 +29277,7 @@ func numberOfCachePages(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:50605:12: // // Initialize and shutdown the page cache subsystem. Neither of these // functions are threadsafe. -func Xsqlite3PcacheInitialize(tls *libc.TLS) int32 { /* sqlite3.c:50627:20: */ +func Xsqlite3PcacheInitialize(tls *libc.TLS) int32 { /* sqlite3.c:50637:20: */ if Xsqlite3Config.Fpcache2.FxInit == uintptr(0) { // IMPLEMENTATION-OF: R-26801-64137 If the xInit() method is NULL, then the // built-in default page cache is used instead of the application defined @@ -29280,7 +29290,7 @@ func Xsqlite3PcacheInitialize(tls *libc.TLS) int32 { /* sqlite3.c:50627:20: */ })(unsafe.Pointer(&struct{ uintptr }{Xsqlite3Config.Fpcache2.FxInit})).f(tls, Xsqlite3Config.Fpcache2.FpArg) } -func Xsqlite3PcacheShutdown(tls *libc.TLS) { /* sqlite3.c:50637:21: */ +func Xsqlite3PcacheShutdown(tls *libc.TLS) { /* sqlite3.c:50647:21: */ if Xsqlite3Config.Fpcache2.FxShutdown != 0 { // IMPLEMENTATION-OF: R-26000-56589 The xShutdown() method may be NULL. (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{Xsqlite3Config.Fpcache2.FxShutdown})).f(tls, Xsqlite3Config.Fpcache2.FpArg) @@ -29288,7 +29298,7 @@ func Xsqlite3PcacheShutdown(tls *libc.TLS) { /* sqlite3.c:50637:21: */ } // Return the size in bytes of a PCache object. -func Xsqlite3PcacheSize(tls *libc.TLS) int32 { /* sqlite3.c:50647:20: */ +func Xsqlite3PcacheSize(tls *libc.TLS) int32 { /* sqlite3.c:50657:20: */ return int32(unsafe.Sizeof(PCache{})) } @@ -29302,7 +29312,7 @@ func Xsqlite3PcacheSize(tls *libc.TLS) int32 { /* sqlite3.c:50647:20: */ // but remaining content will be uninitialized. Though it is opaque // to this module, the extra space really ends up being the MemPage // structure in the pager. -func Xsqlite3PcacheOpen(tls *libc.TLS, szPage int32, szExtra int32, bPurgeable int32, xStress uintptr, pStress uintptr, p uintptr) int32 { /* sqlite3.c:50661:20: */ +func Xsqlite3PcacheOpen(tls *libc.TLS, szPage int32, szExtra int32, bPurgeable int32, xStress uintptr, pStress uintptr, p uintptr) int32 { /* sqlite3.c:50671:20: */ libc.Xmemset(tls, p, 0, uint32(unsafe.Sizeof(PCache{}))) (*PCache)(unsafe.Pointer(p)).FszPage = 1 (*PCache)(unsafe.Pointer(p)).FszExtra = szExtra @@ -29319,7 +29329,7 @@ func Xsqlite3PcacheOpen(tls *libc.TLS, szPage int32, szExtra int32, bPurgeable i // Change the page size for PCache object. The caller must ensure that there // are no outstanding page references when this function is called. -func Xsqlite3PcacheSetPageSize(tls *libc.TLS, pCache uintptr, szPage int32) int32 { /* sqlite3.c:50687:20: */ +func Xsqlite3PcacheSetPageSize(tls *libc.TLS, pCache uintptr, szPage int32) int32 { /* sqlite3.c:50697:20: */ if (*PCache)(unsafe.Pointer(pCache)).FszPage != 0 { var pNew uintptr @@ -29366,7 +29376,7 @@ func Xsqlite3PcacheSetPageSize(tls *libc.TLS, pCache uintptr, szPage int32) int3 // they can both (usually) operate without having to push values to // the stack on entry and pop them back off on exit, which saves a // lot of pushing and popping. -func Xsqlite3PcacheFetch(tls *libc.TLS, pCache uintptr, pgno Pgno, createFlag int32) uintptr { /* sqlite3.c:50731:36: */ +func Xsqlite3PcacheFetch(tls *libc.TLS, pCache uintptr, pgno Pgno, createFlag int32) uintptr { /* sqlite3.c:50741:36: */ var eCreate int32 var pRes uintptr @@ -29394,7 +29404,7 @@ func Xsqlite3PcacheFetch(tls *libc.TLS, pCache uintptr, pgno Pgno, createFlag in // an OOM error. // // This routine should be invoked only after sqlite3PcacheFetch() fails. -func Xsqlite3PcacheFetchStress(tls *libc.TLS, pCache uintptr, pgno Pgno, ppPage uintptr) int32 { /* sqlite3.c:50772:20: */ +func Xsqlite3PcacheFetchStress(tls *libc.TLS, pCache uintptr, pgno Pgno, ppPage uintptr) int32 { /* sqlite3.c:50782:20: */ var pPg uintptr if int32((*PCache)(unsafe.Pointer(pCache)).FeCreate) == 2 { return 0 @@ -29445,7 +29455,7 @@ func Xsqlite3PcacheFetchStress(tls *libc.TLS, pCache uintptr, pgno Pgno, ppPage // This routine is broken out into a separate function since it // requires extra stack manipulation that can be avoided in the common // case. -func pcacheFetchFinishWithInit(tls *libc.TLS, pCache uintptr, pgno Pgno, pPage uintptr) uintptr { /* sqlite3.c:50828:30: */ +func pcacheFetchFinishWithInit(tls *libc.TLS, pCache uintptr, pgno Pgno, pPage uintptr) uintptr { /* sqlite3.c:50838:30: */ var pPgHdr uintptr pPgHdr = (*Sqlite3_pcache_page)(unsafe.Pointer(pPage)).FpExtra @@ -29465,7 +29475,7 @@ func pcacheFetchFinishWithInit(tls *libc.TLS, pCache uintptr, pgno Pgno, pPage u // sqlite3PcacheFetch() into an initialized PgHdr object. This routine // must be called after sqlite3PcacheFetch() in order to get a usable // result. -func Xsqlite3PcacheFetchFinish(tls *libc.TLS, pCache uintptr, pgno Pgno, pPage uintptr) uintptr { /* sqlite3.c:50854:22: */ +func Xsqlite3PcacheFetchFinish(tls *libc.TLS, pCache uintptr, pgno Pgno, pPage uintptr) uintptr { /* sqlite3.c:50864:22: */ var pPgHdr uintptr pPgHdr = (*Sqlite3_pcache_page)(unsafe.Pointer(pPage)).FpExtra @@ -29481,7 +29491,7 @@ func Xsqlite3PcacheFetchFinish(tls *libc.TLS, pCache uintptr, pgno Pgno, pPage u // Decrement the reference count on a page. If the page is clean and the // reference count drops to 0, then it is made eligible for recycling. -func Xsqlite3PcacheRelease(tls *libc.TLS, p uintptr) { /* sqlite3.c:50877:37: */ +func Xsqlite3PcacheRelease(tls *libc.TLS, p uintptr) { /* sqlite3.c:50887:37: */ (*PCache)(unsafe.Pointer((*PgHdr)(unsafe.Pointer(p)).FpCache)).FnRefSum-- if int32(libc.PreDecInt16(&(*PgHdr)(unsafe.Pointer(p)).FnRef, 1)) == 0 { @@ -29494,7 +29504,7 @@ func Xsqlite3PcacheRelease(tls *libc.TLS, p uintptr) { /* sqlite3.c:50877:37: */ } // Increase the reference count of a supplied page by 1. -func Xsqlite3PcacheRef(tls *libc.TLS, p uintptr) { /* sqlite3.c:50892:21: */ +func Xsqlite3PcacheRef(tls *libc.TLS, p uintptr) { /* sqlite3.c:50902:21: */ (*PgHdr)(unsafe.Pointer(p)).FnRef++ (*PCache)(unsafe.Pointer((*PgHdr)(unsafe.Pointer(p)).FpCache)).FnRefSum++ @@ -29503,7 +29513,7 @@ func Xsqlite3PcacheRef(tls *libc.TLS, p uintptr) { /* sqlite3.c:50892:21: */ // Drop a page from the cache. There must be exactly one reference to the // page. This function deletes that reference, so after it returns the // page pointed to by p is invalid. -func Xsqlite3PcacheDrop(tls *libc.TLS, p uintptr) { /* sqlite3.c:50904:21: */ +func Xsqlite3PcacheDrop(tls *libc.TLS, p uintptr) { /* sqlite3.c:50914:21: */ if int32((*PgHdr)(unsafe.Pointer(p)).Fflags)&PGHDR_DIRTY != 0 { pcacheManageDirtyList(tls, p, uint8(PCACHE_DIRTYLIST_REMOVE)) @@ -29516,7 +29526,7 @@ func Xsqlite3PcacheDrop(tls *libc.TLS, p uintptr) { /* sqlite3.c:50904:21: */ // Make sure the page is marked as dirty. If it isn't dirty already, // make it so. -func Xsqlite3PcacheMakeDirty(tls *libc.TLS, p uintptr) { /* sqlite3.c:50918:21: */ +func Xsqlite3PcacheMakeDirty(tls *libc.TLS, p uintptr) { /* sqlite3.c:50928:21: */ if int32((*PgHdr)(unsafe.Pointer(p)).Fflags)&(PGHDR_CLEAN|PGHDR_DONT_WRITE) != 0 { //OPTIMIZATION-IF-FALSE *(*U16)(unsafe.Pointer(p + 28)) &= libc.Uint16FromInt32(libc.CplInt32(PGHDR_DONT_WRITE)) @@ -29531,7 +29541,7 @@ func Xsqlite3PcacheMakeDirty(tls *libc.TLS, p uintptr) { /* sqlite3.c:50918:21: // Make sure the page is marked as clean. If it isn't clean already, // make it so. -func Xsqlite3PcacheMakeClean(tls *libc.TLS, p uintptr) { /* sqlite3.c:50938:21: */ +func Xsqlite3PcacheMakeClean(tls *libc.TLS, p uintptr) { /* sqlite3.c:50948:21: */ pcacheManageDirtyList(tls, p, uint8(PCACHE_DIRTYLIST_REMOVE)) *(*U16)(unsafe.Pointer(p + 28)) &= libc.Uint16FromInt32(libc.CplInt32(PGHDR_DIRTY | PGHDR_NEED_SYNC | PGHDR_WRITEABLE)) @@ -29543,7 +29553,7 @@ func Xsqlite3PcacheMakeClean(tls *libc.TLS, p uintptr) { /* sqlite3.c:50938:21: } // Make every page in the cache clean. -func Xsqlite3PcacheCleanAll(tls *libc.TLS, pCache uintptr) { /* sqlite3.c:50955:21: */ +func Xsqlite3PcacheCleanAll(tls *libc.TLS, pCache uintptr) { /* sqlite3.c:50965:21: */ var p uintptr for libc.AssignUintptr(&p, (*PCache)(unsafe.Pointer(pCache)).FpDirty) != uintptr(0) { @@ -29552,7 +29562,7 @@ func Xsqlite3PcacheCleanAll(tls *libc.TLS, pCache uintptr) { /* sqlite3.c:50955: } // Clear the PGHDR_NEED_SYNC and PGHDR_WRITEABLE flag from all dirty pages. -func Xsqlite3PcacheClearWritable(tls *libc.TLS, pCache uintptr) { /* sqlite3.c:50966:21: */ +func Xsqlite3PcacheClearWritable(tls *libc.TLS, pCache uintptr) { /* sqlite3.c:50976:21: */ var p uintptr for p = (*PCache)(unsafe.Pointer(pCache)).FpDirty; p != 0; p = (*PgHdr)(unsafe.Pointer(p)).FpDirtyNext { @@ -29562,7 +29572,7 @@ func Xsqlite3PcacheClearWritable(tls *libc.TLS, pCache uintptr) { /* sqlite3.c:5 } // Clear the PGHDR_NEED_SYNC flag from all dirty pages. -func Xsqlite3PcacheClearSyncFlags(tls *libc.TLS, pCache uintptr) { /* sqlite3.c:50978:21: */ +func Xsqlite3PcacheClearSyncFlags(tls *libc.TLS, pCache uintptr) { /* sqlite3.c:50988:21: */ var p uintptr for p = (*PCache)(unsafe.Pointer(pCache)).FpDirty; p != 0; p = (*PgHdr)(unsafe.Pointer(p)).FpDirtyNext { *(*U16)(unsafe.Pointer(p + 28)) &= libc.Uint16FromInt32(libc.CplInt32(PGHDR_NEED_SYNC)) @@ -29571,7 +29581,7 @@ func Xsqlite3PcacheClearSyncFlags(tls *libc.TLS, pCache uintptr) { /* sqlite3.c: } // Change the page number of page p to newPgno. -func Xsqlite3PcacheMove(tls *libc.TLS, p uintptr, newPgno Pgno) { /* sqlite3.c:50989:21: */ +func Xsqlite3PcacheMove(tls *libc.TLS, p uintptr, newPgno Pgno) { /* sqlite3.c:50999:21: */ var pCache uintptr = (*PgHdr)(unsafe.Pointer(p)).FpCache (*struct { @@ -29590,7 +29600,7 @@ func Xsqlite3PcacheMove(tls *libc.TLS, p uintptr, newPgno Pgno) { /* sqlite3.c:5 // If there is a reference to page 1 and the pgno parameter passed to this // function is 0, then the data area associated with page 1 is zeroed, but // the page object is not dropped. -func Xsqlite3PcacheTruncate(tls *libc.TLS, pCache uintptr, pgno Pgno) { /* sqlite3.c:51011:21: */ +func Xsqlite3PcacheTruncate(tls *libc.TLS, pCache uintptr, pgno Pgno) { /* sqlite3.c:51021:21: */ if (*PCache)(unsafe.Pointer(pCache)).FpCache != 0 { var p uintptr var pNext uintptr @@ -29624,19 +29634,19 @@ func Xsqlite3PcacheTruncate(tls *libc.TLS, pCache uintptr, pgno Pgno) { /* sqlit } // Close a cache. -func Xsqlite3PcacheClose(tls *libc.TLS, pCache uintptr) { /* sqlite3.c:51044:21: */ +func Xsqlite3PcacheClose(tls *libc.TLS, pCache uintptr) { /* sqlite3.c:51054:21: */ (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{Xsqlite3Config.Fpcache2.FxDestroy})).f(tls, (*PCache)(unsafe.Pointer(pCache)).FpCache) } // Discard the contents of the cache. -func Xsqlite3PcacheClear(tls *libc.TLS, pCache uintptr) { /* sqlite3.c:51053:21: */ +func Xsqlite3PcacheClear(tls *libc.TLS, pCache uintptr) { /* sqlite3.c:51063:21: */ Xsqlite3PcacheTruncate(tls, pCache, uint32(0)) } // Merge two lists of pages connected by pDirty and in pgno order. // Do not bother fixing the pDirtyPrev pointers. -func pcacheMergeDirtyList(tls *libc.TLS, pA uintptr, pB uintptr) uintptr { /* sqlite3.c:51061:14: */ +func pcacheMergeDirtyList(tls *libc.TLS, pA uintptr, pB uintptr) uintptr { /* sqlite3.c:51071:14: */ bp := tls.Alloc(40) defer tls.Free(40) @@ -29675,7 +29685,7 @@ func pcacheMergeDirtyList(tls *libc.TLS, pA uintptr, pB uintptr) uintptr { /* sq // there cannot be more than 31 buckets required by the merge sorter. // One extra bucket is added to catch overflow in case something // ever changes to make the previous sentence incorrect. -func pcacheSortDirtyList(tls *libc.TLS, pIn uintptr) uintptr { /* sqlite3.c:51098:14: */ +func pcacheSortDirtyList(tls *libc.TLS, pIn uintptr) uintptr { /* sqlite3.c:51108:14: */ bp := tls.Alloc(128) defer tls.Free(128) @@ -29718,7 +29728,7 @@ func pcacheSortDirtyList(tls *libc.TLS, pIn uintptr) uintptr { /* sqlite3.c:5109 } // Return a list of all dirty pages in the cache, sorted by page number. -func Xsqlite3PcacheDirtyList(tls *libc.TLS, pCache uintptr) uintptr { /* sqlite3.c:51133:22: */ +func Xsqlite3PcacheDirtyList(tls *libc.TLS, pCache uintptr) uintptr { /* sqlite3.c:51143:22: */ var p uintptr for p = (*PCache)(unsafe.Pointer(pCache)).FpDirty; p != 0; p = (*PgHdr)(unsafe.Pointer(p)).FpDirtyNext { (*PgHdr)(unsafe.Pointer(p)).FpDirty = (*PgHdr)(unsafe.Pointer(p)).FpDirtyNext @@ -29730,17 +29740,17 @@ func Xsqlite3PcacheDirtyList(tls *libc.TLS, pCache uintptr) uintptr { /* sqlite3 // // This is not the total number of pages referenced, but the sum of the // reference count for all pages. -func Xsqlite3PcacheRefCount(tls *libc.TLS, pCache uintptr) int32 { /* sqlite3.c:51147:20: */ +func Xsqlite3PcacheRefCount(tls *libc.TLS, pCache uintptr) int32 { /* sqlite3.c:51157:20: */ return (*PCache)(unsafe.Pointer(pCache)).FnRefSum } // Return the number of references to the page supplied as an argument. -func Xsqlite3PcachePageRefcount(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:51154:20: */ +func Xsqlite3PcachePageRefcount(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:51164:20: */ return int32((*PgHdr)(unsafe.Pointer(p)).FnRef) } // Return the total number of pages in the cache. -func Xsqlite3PcachePagecount(tls *libc.TLS, pCache uintptr) int32 { /* sqlite3.c:51161:20: */ +func Xsqlite3PcachePagecount(tls *libc.TLS, pCache uintptr) int32 { /* sqlite3.c:51171:20: */ return (*struct { f func(*libc.TLS, uintptr) int32 @@ -29748,7 +29758,7 @@ func Xsqlite3PcachePagecount(tls *libc.TLS, pCache uintptr) int32 { /* sqlite3.c } // Set the suggested cache-size value. -func Xsqlite3PcacheSetCachesize(tls *libc.TLS, pCache uintptr, mxPage int32) { /* sqlite3.c:51178:21: */ +func Xsqlite3PcacheSetCachesize(tls *libc.TLS, pCache uintptr, mxPage int32) { /* sqlite3.c:51188:21: */ (*PCache)(unsafe.Pointer(pCache)).FszCache = mxPage (*struct { @@ -29760,7 +29770,7 @@ func Xsqlite3PcacheSetCachesize(tls *libc.TLS, pCache uintptr, mxPage int32) { / // Set the suggested cache-spill value. Make no changes if if the // argument is zero. Return the effective cache-spill size, which will // be the larger of the szSpill and szCache. -func Xsqlite3PcacheSetSpillsize(tls *libc.TLS, p uintptr, mxPage int32) int32 { /* sqlite3.c:51190:20: */ +func Xsqlite3PcacheSetSpillsize(tls *libc.TLS, p uintptr, mxPage int32) int32 { /* sqlite3.c:51200:20: */ var res int32 if mxPage != 0 { @@ -29777,20 +29787,20 @@ func Xsqlite3PcacheSetSpillsize(tls *libc.TLS, p uintptr, mxPage int32) int32 { } // Free up as much memory as possible from the page cache. -func Xsqlite3PcacheShrink(tls *libc.TLS, pCache uintptr) { /* sqlite3.c:51207:21: */ +func Xsqlite3PcacheShrink(tls *libc.TLS, pCache uintptr) { /* sqlite3.c:51217:21: */ (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{Xsqlite3Config.Fpcache2.FxShrink})).f(tls, (*PCache)(unsafe.Pointer(pCache)).FpCache) } // Return the size of the header added by this middleware layer // in the page-cache hierarchy. -func Xsqlite3HeaderSizePcache(tls *libc.TLS) int32 { /* sqlite3.c:51216:20: */ +func Xsqlite3HeaderSizePcache(tls *libc.TLS) int32 { /* sqlite3.c:51226:20: */ return int32((uint32(unsafe.Sizeof(PgHdr{})) + uint32(7)) & libc.Uint32FromInt32(libc.CplInt32(7))) } // Return the number of dirty pages currently in the cache, as a percentage // of the configured cache size. -func Xsqlite3PCachePercentDirty(tls *libc.TLS, pCache uintptr) int32 { /* sqlite3.c:51222:20: */ +func Xsqlite3PCachePercentDirty(tls *libc.TLS, pCache uintptr) int32 { /* sqlite3.c:51232:20: */ var pDirty uintptr var nDirty int32 = 0 var nCache int32 = numberOfCachePages(tls, pCache) @@ -29905,7 +29915,7 @@ type PCache11 = struct { FapHash uintptr FpFree uintptr FpBulk uintptr -} /* sqlite3.c:51339:9 */ +} /* sqlite3.c:51349:9 */ //************* End of pcache.c ********************************************* //************* Begin file pcache1.c **************************************** @@ -29991,7 +30001,7 @@ type PCache11 = struct { // common workloads. // #include "sqliteInt.h" -type PCache1 = PCache11 /* sqlite3.c:51339:24 */ +type PCache1 = PCache11 /* sqlite3.c:51349:24 */ type PgHdr11 = struct { Fpage Sqlite3_pcache_page FiKey uint32 @@ -30001,12 +30011,12 @@ type PgHdr11 = struct { FpCache uintptr FpLruNext uintptr FpLruPrev uintptr -} /* sqlite3.c:51339:9 */ +} /* sqlite3.c:51349:9 */ -type PgHdr1 = PgHdr11 /* sqlite3.c:51340:23 */ -type PgFreeslot1 = struct{ FpNext uintptr } /* sqlite3.c:51341:9 */ +type PgHdr1 = PgHdr11 /* sqlite3.c:51350:23 */ +type PgFreeslot1 = struct{ FpNext uintptr } /* sqlite3.c:51351:9 */ -type PgFreeslot = PgFreeslot1 /* sqlite3.c:51341:27 */ +type PgFreeslot = PgFreeslot1 /* sqlite3.c:51351:27 */ type PGroup1 = struct { Fmutex uintptr FnMaxPage uint32 @@ -30014,9 +30024,9 @@ type PGroup1 = struct { FmxPinned uint32 FnPurgeable uint32 Flru PgHdr1 -} /* sqlite3.c:51339:9 */ +} /* sqlite3.c:51349:9 */ -type PGroup = PGroup1 /* sqlite3.c:51342:23 */ +type PGroup = PGroup1 /* sqlite3.c:51352:23 */ // Global data used by this cache. type PCacheGlobal = struct { @@ -30033,10 +30043,10 @@ type PCacheGlobal = struct { FpFree uintptr FnFreeSlot int32 FbUnderPressure int32 -} /* sqlite3.c:51459:19 */ +} /* sqlite3.c:51469:19 */ // Global data used by this cache. -var pcache1_g PCacheGlobal /* sqlite3.c:51483:3: */ +var pcache1_g PCacheGlobal /* sqlite3.c:51493:3: */ // All code in this file should access the global structure above via the // alias "pcache1". This ensures that the WSD emulation is used when @@ -30054,7 +30064,7 @@ var pcache1_g PCacheGlobal /* sqlite3.c:51483:3: */ // // This routine is called from sqlite3_initialize() and so it is guaranteed // to be serialized already. There is no need for further mutexing. -func Xsqlite3PCacheBufferSetup(tls *libc.TLS, pBuf uintptr, sz int32, n int32) { /* sqlite3.c:51518:21: */ +func Xsqlite3PCacheBufferSetup(tls *libc.TLS, pBuf uintptr, sz int32, n int32) { /* sqlite3.c:51528:21: */ if pcache1_g.FisInit != 0 { var p uintptr if pBuf == uintptr(0) { @@ -30087,7 +30097,7 @@ func Xsqlite3PCacheBufferSetup(tls *libc.TLS, pBuf uintptr, sz int32, n int32) { // Try to initialize the pCache->pFree and pCache->pBulk fields. Return // true if pCache->pFree ends up containing one or more free pages. -func pcache1InitBulk(tls *libc.TLS, pCache uintptr) int32 { /* sqlite3.c:51544:12: */ +func pcache1InitBulk(tls *libc.TLS, pCache uintptr) int32 { /* sqlite3.c:51554:12: */ var szBulk I64 var zBulk uintptr if pcache1_g.FnInitPage == 0 { @@ -30132,7 +30142,7 @@ func pcache1InitBulk(tls *libc.TLS, pCache uintptr) int32 { /* sqlite3.c:51544:1 // // Multiple threads can run this routine at the same time. Global variables // in pcache1 need to be protected via mutex. -func pcache1Alloc(tls *libc.TLS, nByte int32) uintptr { /* sqlite3.c:51587:13: */ +func pcache1Alloc(tls *libc.TLS, nByte int32) uintptr { /* sqlite3.c:51597:13: */ var p uintptr = uintptr(0) if nByte <= pcache1_g.FszSlot { @@ -30165,7 +30175,7 @@ func pcache1Alloc(tls *libc.TLS, nByte int32) uintptr { /* sqlite3.c:51587:13: * } // Free an allocated buffer obtained from pcache1Alloc(). -func pcache1Free(tls *libc.TLS, p uintptr) { /* sqlite3.c:51625:13: */ +func pcache1Free(tls *libc.TLS, p uintptr) { /* sqlite3.c:51635:13: */ if p == uintptr(0) { return } @@ -30195,7 +30205,7 @@ func pcache1Free(tls *libc.TLS, p uintptr) { /* sqlite3.c:51625:13: */ } // Return the size of a pcache allocation -func pcache1MemSize(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:51658:12: */ +func pcache1MemSize(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:51668:12: */ if p >= pcache1_g.FpStart && p < pcache1_g.FpEnd { return pcache1_g.FszSlot } else { @@ -30209,7 +30219,7 @@ func pcache1MemSize(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:51658:12: */ } // Allocate a new page object initially associated with cache pCache. -func pcache1AllocPage(tls *libc.TLS, pCache uintptr, benignMalloc int32) uintptr { /* sqlite3.c:51675:15: */ +func pcache1AllocPage(tls *libc.TLS, pCache uintptr, benignMalloc int32) uintptr { /* sqlite3.c:51685:15: */ var p uintptr = uintptr(0) var pPg uintptr @@ -30247,7 +30257,7 @@ func pcache1AllocPage(tls *libc.TLS, pCache uintptr, benignMalloc int32) uintptr } // Free a page object allocated by pcache1AllocPage(). -func pcache1FreePage(tls *libc.TLS, p uintptr) { /* sqlite3.c:51727:13: */ +func pcache1FreePage(tls *libc.TLS, p uintptr) { /* sqlite3.c:51737:13: */ var pCache uintptr pCache = (*PgHdr1)(unsafe.Pointer(p)).FpCache @@ -30264,13 +30274,13 @@ func pcache1FreePage(tls *libc.TLS, p uintptr) { /* sqlite3.c:51727:13: */ // Malloc function used by SQLite to obtain space from the buffer configured // using sqlite3_config(SQLITE_CONFIG_PAGECACHE) option. If no such buffer // exists, this function falls back to sqlite3Malloc(). -func Xsqlite3PageMalloc(tls *libc.TLS, sz int32) uintptr { /* sqlite3.c:51749:21: */ +func Xsqlite3PageMalloc(tls *libc.TLS, sz int32) uintptr { /* sqlite3.c:51759:21: */ // These allocations are never very large return pcache1Alloc(tls, sz) } // Free an allocated buffer obtained from sqlite3PageMalloc(). -func Xsqlite3PageFree(tls *libc.TLS, p uintptr) { /* sqlite3.c:51757:21: */ +func Xsqlite3PageFree(tls *libc.TLS, p uintptr) { /* sqlite3.c:51767:21: */ pcache1Free(tls, p) } @@ -30288,7 +30298,7 @@ func Xsqlite3PageFree(tls *libc.TLS, p uintptr) { /* sqlite3.c:51757:21: */ // under memory pressure, then again it is desirable to avoid // allocating a new page cache entry in order to avoid stressing // the heap even further. -func pcache1UnderMemoryPressure(tls *libc.TLS, pCache uintptr) int32 { /* sqlite3.c:51778:12: */ +func pcache1UnderMemoryPressure(tls *libc.TLS, pCache uintptr) int32 { /* sqlite3.c:51788:12: */ if pcache1_g.FnSlot != 0 && (*PCache1)(unsafe.Pointer(pCache)).FszPage+(*PCache1)(unsafe.Pointer(pCache)).FszExtra <= pcache1_g.FszSlot { return pcache1_g.FbUnderPressure } else { @@ -30304,7 +30314,7 @@ func pcache1UnderMemoryPressure(tls *libc.TLS, pCache uintptr) int32 { /* sqlite // as the first argument. // // The PCache mutex must be held when this function is called. -func pcache1ResizeHash(tls *libc.TLS, p uintptr) { /* sqlite3.c:51795:13: */ +func pcache1ResizeHash(tls *libc.TLS, p uintptr) { /* sqlite3.c:51805:13: */ var apNew uintptr var nNew uint32 var i uint32 @@ -30345,7 +30355,7 @@ func pcache1ResizeHash(tls *libc.TLS, p uintptr) { /* sqlite3.c:51795:13: */ // LRU list, then this function is a no-op. // // The PGroup mutex must be held when this function is called. -func pcache1PinPage(tls *libc.TLS, pPage uintptr) uintptr { /* sqlite3.c:51836:15: */ +func pcache1PinPage(tls *libc.TLS, pPage uintptr) uintptr { /* sqlite3.c:51846:15: */ (*PgHdr1)(unsafe.Pointer((*PgHdr1)(unsafe.Pointer(pPage)).FpLruPrev)).FpLruNext = (*PgHdr1)(unsafe.Pointer(pPage)).FpLruNext (*PgHdr1)(unsafe.Pointer((*PgHdr1)(unsafe.Pointer(pPage)).FpLruNext)).FpLruPrev = (*PgHdr1)(unsafe.Pointer(pPage)).FpLruPrev @@ -30362,7 +30372,7 @@ func pcache1PinPage(tls *libc.TLS, pPage uintptr) uintptr { /* sqlite3.c:51836:1 // Also free the page if freePage is true. // // The PGroup mutex must be held when this function is called. -func pcache1RemoveFromHash(tls *libc.TLS, pPage uintptr, freeFlag int32) { /* sqlite3.c:51861:13: */ +func pcache1RemoveFromHash(tls *libc.TLS, pPage uintptr, freeFlag int32) { /* sqlite3.c:51871:13: */ var h uint32 var pCache uintptr = (*PgHdr1)(unsafe.Pointer(pPage)).FpCache var pp uintptr @@ -30380,7 +30390,7 @@ func pcache1RemoveFromHash(tls *libc.TLS, pPage uintptr, freeFlag int32) { /* sq // If there are currently more than nMaxPage pages allocated, try // to recycle pages to reduce the number allocated to nMaxPage. -func pcache1EnforceMaxPage(tls *libc.TLS, pCache uintptr) { /* sqlite3.c:51879:13: */ +func pcache1EnforceMaxPage(tls *libc.TLS, pCache uintptr) { /* sqlite3.c:51889:13: */ var pGroup uintptr = (*PCache1)(unsafe.Pointer(pCache)).FpGroup var p uintptr @@ -30401,7 +30411,7 @@ func pcache1EnforceMaxPage(tls *libc.TLS, pCache uintptr) { /* sqlite3.c:51879:1 // criteria are unpinned before they are discarded. // // The PCache mutex must be held when this function is called. -func pcache1TruncateUnsafe(tls *libc.TLS, pCache uintptr, iLimit uint32) { /* sqlite3.c:51904:13: */ +func pcache1TruncateUnsafe(tls *libc.TLS, pCache uintptr, iLimit uint32) { /* sqlite3.c:51914:13: */ var h uint32 var iStop uint32 @@ -30449,7 +30459,7 @@ func pcache1TruncateUnsafe(tls *libc.TLS, pCache uintptr, iLimit uint32) { /* sq //******* sqlite3_pcache Methods ********************************************* // Implementation of the sqlite3_pcache.xInit method. -func pcache1Init(tls *libc.TLS, NotUsed uintptr) int32 { /* sqlite3.c:51955:12: */ +func pcache1Init(tls *libc.TLS, NotUsed uintptr) int32 { /* sqlite3.c:51965:12: */ _ = NotUsed libc.Xmemset(tls, uintptr(unsafe.Pointer(&pcache1_g)), 0, uint32(unsafe.Sizeof(pcache1_g))) @@ -30487,7 +30497,7 @@ func pcache1Init(tls *libc.TLS, NotUsed uintptr) int32 { /* sqlite3.c:51955:12: // Implementation of the sqlite3_pcache.xShutdown method. // Note that the static mutex allocated in xInit does // not need to be freed. -func pcache1Shutdown(tls *libc.TLS, NotUsed uintptr) { /* sqlite3.c:52008:13: */ +func pcache1Shutdown(tls *libc.TLS, NotUsed uintptr) { /* sqlite3.c:52018:13: */ _ = NotUsed libc.Xmemset(tls, uintptr(unsafe.Pointer(&pcache1_g)), 0, uint32(unsafe.Sizeof(pcache1_g))) @@ -30496,7 +30506,7 @@ func pcache1Shutdown(tls *libc.TLS, NotUsed uintptr) { /* sqlite3.c:52008:13: */ // Implementation of the sqlite3_pcache.xCreate method. // // Allocate a new cache. -func pcache1Create(tls *libc.TLS, szPage int32, szExtra int32, bPurgeable int32) uintptr { /* sqlite3.c:52022:23: */ +func pcache1Create(tls *libc.TLS, szPage int32, szExtra int32, bPurgeable int32) uintptr { /* sqlite3.c:52032:23: */ var pCache uintptr // The newly created page cache var pGroup uintptr // The group the new page cache will belong to var sz int32 // Bytes of memory required to allocate the new cache @@ -30546,7 +30556,7 @@ func pcache1Create(tls *libc.TLS, szPage int32, szExtra int32, bPurgeable int32) // Implementation of the sqlite3_pcache.xCachesize method. // // Configure the cache_size limit for a cache. -func pcache1Cachesize(tls *libc.TLS, p uintptr, nMax int32) { /* sqlite3.c:52072:13: */ +func pcache1Cachesize(tls *libc.TLS, p uintptr, nMax int32) { /* sqlite3.c:52082:13: */ var pCache uintptr = p var n U32 @@ -30569,7 +30579,7 @@ func pcache1Cachesize(tls *libc.TLS, p uintptr, nMax int32) { /* sqlite3.c:52072 // Implementation of the sqlite3_pcache.xShrink method. // // Free up as much memory as possible. -func pcache1Shrink(tls *libc.TLS, p uintptr) { /* sqlite3.c:52097:13: */ +func pcache1Shrink(tls *libc.TLS, p uintptr) { /* sqlite3.c:52107:13: */ var pCache uintptr = p if (*PCache1)(unsafe.Pointer(pCache)).FbPurgeable != 0 { var pGroup uintptr = (*PCache1)(unsafe.Pointer(pCache)).FpGroup @@ -30584,7 +30594,7 @@ func pcache1Shrink(tls *libc.TLS, p uintptr) { /* sqlite3.c:52097:13: */ } // Implementation of the sqlite3_pcache.xPagecount method. -func pcache1Pagecount(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:52114:12: */ +func pcache1Pagecount(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:52124:12: */ var n int32 var pCache uintptr = p Xsqlite3_mutex_enter(tls, (*PGroup)(unsafe.Pointer((*PCache1)(unsafe.Pointer(pCache)).FpGroup)).Fmutex) @@ -30599,7 +30609,7 @@ func pcache1Pagecount(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:52114:12: * // This steps are broken out into a separate procedure because they are // usually not needed, and by avoiding the stack initialization required // for these steps, the main pcache1Fetch() procedure can run faster. -func pcache1FetchStage2(tls *libc.TLS, pCache uintptr, iKey uint32, createFlag int32) uintptr { /* sqlite3.c:52132:31: */ +func pcache1FetchStage2(tls *libc.TLS, pCache uintptr, iKey uint32, createFlag int32) uintptr { /* sqlite3.c:52142:31: */ var nPinned uint32 var pGroup uintptr = (*PCache1)(unsafe.Pointer(pCache)).FpGroup var pPage uintptr = uintptr(0) @@ -30717,7 +30727,7 @@ func pcache1FetchStage2(tls *libc.TLS, pCache uintptr, iKey uint32, createFlag i // the general case. pcache1FetchNoMutex() is a faster implementation for // the common case where pGroup->mutex is NULL. The pcache1Fetch() wrapper // invokes the appropriate routine. -func pcache1FetchNoMutex(tls *libc.TLS, p uintptr, iKey uint32, createFlag int32) uintptr { /* sqlite3.c:52260:15: */ +func pcache1FetchNoMutex(tls *libc.TLS, p uintptr, iKey uint32, createFlag int32) uintptr { /* sqlite3.c:52270:15: */ var pCache uintptr = p var pPage uintptr = uintptr(0) @@ -30746,7 +30756,7 @@ func pcache1FetchNoMutex(tls *libc.TLS, p uintptr, iKey uint32, createFlag int32 return uintptr(0) } -func pcache1FetchWithMutex(tls *libc.TLS, p uintptr, iKey uint32, createFlag int32) uintptr { /* sqlite3.c:52290:15: */ +func pcache1FetchWithMutex(tls *libc.TLS, p uintptr, iKey uint32, createFlag int32) uintptr { /* sqlite3.c:52300:15: */ var pCache uintptr = p var pPage uintptr @@ -30757,7 +30767,7 @@ func pcache1FetchWithMutex(tls *libc.TLS, p uintptr, iKey uint32, createFlag int return pPage } -func pcache1Fetch(tls *libc.TLS, p uintptr, iKey uint32, createFlag int32) uintptr { /* sqlite3.c:52305:28: */ +func pcache1Fetch(tls *libc.TLS, p uintptr, iKey uint32, createFlag int32) uintptr { /* sqlite3.c:52315:28: */ var pCache uintptr = p if (*PGroup)(unsafe.Pointer((*PCache1)(unsafe.Pointer(pCache)).FpGroup)).Fmutex != 0 { @@ -30771,7 +30781,7 @@ func pcache1Fetch(tls *libc.TLS, p uintptr, iKey uint32, createFlag int32) uintp // Implementation of the sqlite3_pcache.xUnpin method. // // Mark a page as unpinned (eligible for asynchronous recycling). -func pcache1Unpin(tls *libc.TLS, p uintptr, pPg uintptr, reuseUnlikely int32) { /* sqlite3.c:52336:13: */ +func pcache1Unpin(tls *libc.TLS, p uintptr, pPg uintptr, reuseUnlikely int32) { /* sqlite3.c:52346:13: */ var pCache uintptr = p var pPage uintptr = pPg var pGroup uintptr = (*PCache1)(unsafe.Pointer(pCache)).FpGroup @@ -30796,7 +30806,7 @@ func pcache1Unpin(tls *libc.TLS, p uintptr, pPg uintptr, reuseUnlikely int32) { } // Implementation of the sqlite3_pcache.xRekey method. -func pcache1Rekey(tls *libc.TLS, p uintptr, pPg uintptr, iOld uint32, iNew uint32) { /* sqlite3.c:52371:13: */ +func pcache1Rekey(tls *libc.TLS, p uintptr, pPg uintptr, iOld uint32, iNew uint32) { /* sqlite3.c:52381:13: */ var pCache uintptr = p var pPage uintptr = pPg var pp uintptr @@ -30827,7 +30837,7 @@ func pcache1Rekey(tls *libc.TLS, p uintptr, pPg uintptr, iOld uint32, iNew uint3 // Discard all unpinned pages in the cache with a page number equal to // or greater than parameter iLimit. Any pinned pages with a page number // equal to or greater than iLimit are implicitly unpinned. -func pcache1Truncate(tls *libc.TLS, p uintptr, iLimit uint32) { /* sqlite3.c:52411:13: */ +func pcache1Truncate(tls *libc.TLS, p uintptr, iLimit uint32) { /* sqlite3.c:52421:13: */ var pCache uintptr = p Xsqlite3_mutex_enter(tls, (*PGroup)(unsafe.Pointer((*PCache1)(unsafe.Pointer(pCache)).FpGroup)).Fmutex) if iLimit <= (*PCache1)(unsafe.Pointer(pCache)).FiMaxKey { @@ -30840,7 +30850,7 @@ func pcache1Truncate(tls *libc.TLS, p uintptr, iLimit uint32) { /* sqlite3.c:524 // Implementation of the sqlite3_pcache.xDestroy method. // // Destroy a cache allocated using pcache1Create(). -func pcache1Destroy(tls *libc.TLS, p uintptr) { /* sqlite3.c:52426:13: */ +func pcache1Destroy(tls *libc.TLS, p uintptr) { /* sqlite3.c:52436:13: */ var pCache uintptr = p var pGroup uintptr = (*PCache1)(unsafe.Pointer(pCache)).FpGroup @@ -30863,7 +30873,7 @@ func pcache1Destroy(tls *libc.TLS, p uintptr) { /* sqlite3.c:52426:13: */ // This function is called during initialization (sqlite3_initialize()) to // install the default pluggable cache module, assuming the user has not // already provided an alternative. -func Xsqlite3PCacheSetDefault(tls *libc.TLS) { /* sqlite3.c:52449:21: */ +func Xsqlite3PCacheSetDefault(tls *libc.TLS) { /* sqlite3.c:52459:21: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -30883,16 +30893,16 @@ var defaultMethods1 = Sqlite3_pcache_methods2{ FxTruncate: 0, // xTruncate FxDestroy: 0, // xDestroy FxShrink: 0, // xShrink -} /* sqlite3.c:52450:40 */ +} /* sqlite3.c:52460:40 */ // Return the size of the header on each page of this PCACHE implementation. -func Xsqlite3HeaderSizePcache1(tls *libc.TLS) int32 { /* sqlite3.c:52471:20: */ +func Xsqlite3HeaderSizePcache1(tls *libc.TLS) int32 { /* sqlite3.c:52481:20: */ return int32((uint32(unsafe.Sizeof(PgHdr1{})) + uint32(7)) & libc.Uint32FromInt32(libc.CplInt32(7))) } // Return the global mutex used by this PCACHE implementation. The // sqlite3_status() routine needs access to this mutex. -func Xsqlite3Pcache1Mutex(tls *libc.TLS) uintptr { /* sqlite3.c:52477:30: */ +func Xsqlite3Pcache1Mutex(tls *libc.TLS) uintptr { /* sqlite3.c:52487:30: */ return pcache1_g.Fmutex } @@ -30903,7 +30913,7 @@ func Xsqlite3Pcache1Mutex(tls *libc.TLS) uintptr { /* sqlite3.c:52477:30: */ // nReq is the number of bytes of memory required. Once this much has // been released, the function returns. The return value is the total number // of bytes of memory released. -func Xsqlite3PcacheReleaseMemory(tls *libc.TLS, nReq int32) int32 { /* sqlite3.c:52491:20: */ +func Xsqlite3PcacheReleaseMemory(tls *libc.TLS, nReq int32) int32 { /* sqlite3.c:52501:20: */ var nFree int32 = 0 if Xsqlite3Config.FpPage == uintptr(0) { @@ -31021,7 +31031,7 @@ type RowSetChunk = struct { // Allocate a RowSet object. Return NULL if a memory allocation // error occurs. -func Xsqlite3RowSetInit(tls *libc.TLS, db uintptr) uintptr { /* sqlite3.c:52671:23: */ +func Xsqlite3RowSetInit(tls *libc.TLS, db uintptr) uintptr { /* sqlite3.c:52681:23: */ var p uintptr = Xsqlite3DbMallocRawNN(tls, db, uint64(unsafe.Sizeof(RowSet{}))) if p != 0 { var N int32 = Xsqlite3DbMallocSize(tls, db, p) @@ -31041,7 +31051,7 @@ func Xsqlite3RowSetInit(tls *libc.TLS, db uintptr) uintptr { /* sqlite3.c:52671: // Deallocate all chunks from a RowSet. This frees all memory that // the RowSet has allocated over its lifetime. This routine is // the destructor for the RowSet. -func Xsqlite3RowSetClear(tls *libc.TLS, pArg uintptr) { /* sqlite3.c:52693:21: */ +func Xsqlite3RowSetClear(tls *libc.TLS, pArg uintptr) { /* sqlite3.c:52703:21: */ var p uintptr = pArg var pChunk uintptr var pNextChunk uintptr @@ -31060,7 +31070,7 @@ func Xsqlite3RowSetClear(tls *libc.TLS, pArg uintptr) { /* sqlite3.c:52693:21: * // Deallocate all chunks from a RowSet. This frees all memory that // the RowSet has allocated over its lifetime. This routine is // the destructor for the RowSet. -func Xsqlite3RowSetDelete(tls *libc.TLS, pArg uintptr) { /* sqlite3.c:52713:21: */ +func Xsqlite3RowSetDelete(tls *libc.TLS, pArg uintptr) { /* sqlite3.c:52723:21: */ Xsqlite3RowSetClear(tls, pArg) Xsqlite3DbFree(tls, (*RowSet)(unsafe.Pointer(pArg)).Fdb, pArg) } @@ -31071,7 +31081,7 @@ func Xsqlite3RowSetDelete(tls *libc.TLS, pArg uintptr) { /* sqlite3.c:52713:21: // // In an OOM situation, the RowSet.db->mallocFailed flag is set and this // routine returns NULL. -func rowSetEntryAlloc(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:52726:27: */ +func rowSetEntryAlloc(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:52736:27: */ if int32((*RowSet)(unsafe.Pointer(p)).FnFresh) == 0 { //OPTIMIZATION-IF-FALSE // We could allocate a fresh RowSetEntry each time one is needed, but it @@ -31094,7 +31104,7 @@ func rowSetEntryAlloc(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:52726:27: // // The mallocFailed flag of the database connection is set if a // memory allocation fails. -func Xsqlite3RowSetInsert(tls *libc.TLS, p uintptr, rowid I64) { /* sqlite3.c:52751:21: */ +func Xsqlite3RowSetInsert(tls *libc.TLS, p uintptr, rowid I64) { /* sqlite3.c:52761:21: */ var pEntry uintptr // The new entry var pLast uintptr // The last prior entry @@ -31124,7 +31134,7 @@ func Xsqlite3RowSetInsert(tls *libc.TLS, p uintptr, rowid I64) { /* sqlite3.c:52 // // The input lists are connected via pRight pointers and are // assumed to each already be in sorted order. -func rowSetEntryMerge(tls *libc.TLS, pA uintptr, pB uintptr) uintptr { /* sqlite3.c:52782:27: */ +func rowSetEntryMerge(tls *libc.TLS, pA uintptr, pB uintptr) uintptr { /* sqlite3.c:52792:27: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -31159,7 +31169,7 @@ func rowSetEntryMerge(tls *libc.TLS, pA uintptr, pB uintptr) uintptr { /* sqlite // Sort all elements on the list of RowSetEntry objects into order of // increasing v. -func rowSetEntrySort(tls *libc.TLS, pIn uintptr) uintptr { /* sqlite3.c:52817:27: */ +func rowSetEntrySort(tls *libc.TLS, pIn uintptr) uintptr { /* sqlite3.c:52827:27: */ bp := tls.Alloc(160) defer tls.Free(160) @@ -31195,7 +31205,7 @@ func rowSetEntrySort(tls *libc.TLS, pIn uintptr) uintptr { /* sqlite3.c:52817:27 // The input, pIn, is a binary tree (or subtree) of RowSetEntry objects. // Convert this tree into a linked list connected by the pRight pointers // and return pointers to the first and last elements of the new list. -func rowSetTreeToList(tls *libc.TLS, pIn uintptr, ppFirst uintptr, ppLast uintptr) { /* sqlite3.c:52846:13: */ +func rowSetTreeToList(tls *libc.TLS, pIn uintptr, ppFirst uintptr, ppLast uintptr) { /* sqlite3.c:52856:13: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -31226,7 +31236,7 @@ func rowSetTreeToList(tls *libc.TLS, pIn uintptr, ppFirst uintptr, ppLast uintpt // and leave *ppList set to NULL. // // Return a pointer to the root of the constructed binary tree. -func rowSetNDeepTree(tls *libc.TLS, ppList uintptr, iDepth int32) uintptr { /* sqlite3.c:52881:27: */ +func rowSetNDeepTree(tls *libc.TLS, ppList uintptr, iDepth int32) uintptr { /* sqlite3.c:52891:27: */ var p uintptr // Root of the new tree var pLeft uintptr // Left subtree if *(*uintptr)(unsafe.Pointer(ppList)) == uintptr(0) { //OPTIMIZATION-IF-TRUE @@ -31257,7 +31267,7 @@ func rowSetNDeepTree(tls *libc.TLS, ppList uintptr, iDepth int32) uintptr { /* s // Convert a sorted list of elements into a binary tree. Make the tree // as deep as it needs to be in order to contain the entire list. -func rowSetListToTree(tls *libc.TLS, pList uintptr) uintptr { /* sqlite3.c:52917:27: */ +func rowSetListToTree(tls *libc.TLS, pList uintptr) uintptr { /* sqlite3.c:52927:27: */ bp := tls.Alloc(4) defer tls.Free(4) *(*uintptr)(unsafe.Pointer(bp)) = pList @@ -31290,7 +31300,7 @@ func rowSetListToTree(tls *libc.TLS, pList uintptr) uintptr { /* sqlite3.c:52917 // been used. Older versions of RowSet allowed that, but as the // capability was not used by the code generator, it was removed // for code economy. -func Xsqlite3RowSetNext(tls *libc.TLS, p uintptr, pRowid uintptr) int32 { /* sqlite3.c:52949:20: */ +func Xsqlite3RowSetNext(tls *libc.TLS, p uintptr, pRowid uintptr) int32 { /* sqlite3.c:52959:20: */ // Cannot be used with sqlite3RowSetText() @@ -31323,7 +31333,7 @@ func Xsqlite3RowSetNext(tls *libc.TLS, p uintptr, pRowid uintptr) int32 { /* sql // If this is the first test of a new batch and if there exist entries // on pRowSet->pEntry, then sort those entries into the forest at // pRowSet->pForest so that they can be tested. -func Xsqlite3RowSetTest(tls *libc.TLS, pRowSet uintptr, iBatch int32, iRowid Sqlite3_int64) int32 { /* sqlite3.c:52983:20: */ +func Xsqlite3RowSetTest(tls *libc.TLS, pRowSet uintptr, iBatch int32, iRowid Sqlite3_int64) int32 { /* sqlite3.c:52993:20: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -31506,7 +31516,7 @@ type Wal1 = struct { // Connection to a write-ahead log (WAL) file. // There is one object of this type for each pager. -type Wal = Wal1 /* sqlite3.c:53125:20 */ +type Wal = Wal1 /* sqlite3.c:53135:20 */ //************* End of wal.h ************************************************ //************* Continuing where we left off in pager.c ********************* @@ -32274,7 +32284,7 @@ type PagerSavepoint1 = struct { // immediately following the last journal record written into the main // journal before the journal-header. This is required during savepoint // rollback (see pagerPlaybackSavepoint()). -type PagerSavepoint = PagerSavepoint1 /* sqlite3.c:53636:31 */ +type PagerSavepoint = PagerSavepoint1 /* sqlite3.c:53646:31 */ // Indexes for use with Pager.aStat[]. The Pager.aStat[] array contains // the values accessed by passing SQLITE_DBSTATUS_CACHE_HIT, CACHE_MISS @@ -32307,11 +32317,11 @@ type PagerSavepoint = PagerSavepoint1 /* sqlite3.c:53636:31 */ // is different for every journal, we minimize that risk. var aJournalMagic = [8]uint8{ uint8(0xd9), uint8(0xd5), uint8(0x05), uint8(0xf9), uint8(0x20), uint8(0xa1), uint8(0x63), uint8(0xd7), -} /* sqlite3.c:53958:28 */ +} /* sqlite3.c:53968:28 */ // Set the Pager.xGet method for the appropriate routine used to fetch // content from the pager. -func setGetterMethod(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:54251:13: */ +func setGetterMethod(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:54261:13: */ if (*Pager)(unsafe.Pointer(pPager)).FerrCode != 0 { (*Pager)(unsafe.Pointer(pPager)).FxGet = *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, Pgno, uintptr, int32) int32 @@ -32334,7 +32344,7 @@ func setGetterMethod(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:54251:13: */ // * The page-number is less than or equal to PagerSavepoint.nOrig, and // * The bit corresponding to the page-number is not set in // PagerSavepoint.pInSavepoint. -func subjRequiresPage(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:54272:12: */ +func subjRequiresPage(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:54282:12: */ var pPager uintptr = (*PgHdr)(unsafe.Pointer(pPg)).FpPager var p uintptr var pgno Pgno = (*PgHdr)(unsafe.Pointer(pPg)).Fpgno @@ -32356,7 +32366,7 @@ func subjRequiresPage(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:54272:12: // error code is something goes wrong. // // All values are stored on disk as big-endian. -func read32bits(tls *libc.TLS, fd uintptr, offset I64, pRes uintptr) int32 { /* sqlite3.c:54305:12: */ +func read32bits(tls *libc.TLS, fd uintptr, offset I64, pRes uintptr) int32 { /* sqlite3.c:54315:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -32373,7 +32383,7 @@ func read32bits(tls *libc.TLS, fd uintptr, offset I64, pRes uintptr) int32 { /* // Write a 32-bit integer into the given file descriptor. Return SQLITE_OK // on success or an error code is something goes wrong. -func write32bits(tls *libc.TLS, fd uintptr, offset I64, val U32) int32 { /* sqlite3.c:54324:12: */ +func write32bits(tls *libc.TLS, fd uintptr, offset I64, val U32) int32 { /* sqlite3.c:54334:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -32390,7 +32400,7 @@ func write32bits(tls *libc.TLS, fd uintptr, offset I64, val U32) int32 { /* sqli // Except, if Pager.eLock is set to UNKNOWN_LOCK when this function is // called, do not modify it. See the comment above the #define of // UNKNOWN_LOCK for an explanation of this. -func pagerUnlockDb(tls *libc.TLS, pPager uintptr, eLock int32) int32 { /* sqlite3.c:54339:12: */ +func pagerUnlockDb(tls *libc.TLS, pPager uintptr, eLock int32) int32 { /* sqlite3.c:54349:12: */ var rc int32 = SQLITE_OK if (*Sqlite3_file)(unsafe.Pointer((*Pager)(unsafe.Pointer(pPager)).Ffd)).FpMethods != uintptr(0) { @@ -32417,7 +32427,7 @@ func pagerUnlockDb(tls *libc.TLS, pPager uintptr, eLock int32) int32 { /* sqlite // called, do not modify it unless the new locking state is EXCLUSIVE_LOCK. // See the comment above the #define of UNKNOWN_LOCK for an explanation // of this. -func pagerLockDb(tls *libc.TLS, pPager uintptr, eLock int32) int32 { /* sqlite3.c:54367:12: */ +func pagerLockDb(tls *libc.TLS, pPager uintptr, eLock int32) int32 { /* sqlite3.c:54377:12: */ var rc int32 = SQLITE_OK if int32((*Pager)(unsafe.Pointer(pPager)).FeLock) < eLock || int32((*Pager)(unsafe.Pointer(pPager)).FeLock) == EXCLUSIVE_LOCK+1 { @@ -32451,7 +32461,7 @@ func pagerLockDb(tls *libc.TLS, pPager uintptr, eLock int32) int32 { /* sqlite3. // returned in this case. // // If neither optimization can be used, 0 is returned. -func jrnlBufferSize(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:54400:12: */ +func jrnlBufferSize(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:54410:12: */ _ = pPager @@ -32485,7 +32495,7 @@ func jrnlBufferSize(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:54400:12 // // If an error occurs while reading from the journal file, an SQLite // error code is returned. -func readSuperJournal(tls *libc.TLS, pJrnl uintptr, zSuper uintptr, nSuper U32) int32 { /* sqlite3.c:54505:12: */ +func readSuperJournal(tls *libc.TLS, pJrnl uintptr, zSuper uintptr, nSuper U32) int32 { /* sqlite3.c:54515:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -32544,7 +32554,7 @@ func readSuperJournal(tls *libc.TLS, pJrnl uintptr, zSuper uintptr, nSuper U32) // 100 512 // 2000 2048 // -func journalHdrOffset(tls *libc.TLS, pPager uintptr) I64 { /* sqlite3.c:54561:12: */ +func journalHdrOffset(tls *libc.TLS, pPager uintptr) I64 { /* sqlite3.c:54571:12: */ var offset I64 = int64(0) var c I64 = (*Pager)(unsafe.Pointer(pPager)).FjournalOff if c != 0 { @@ -32573,7 +32583,7 @@ func journalHdrOffset(tls *libc.TLS, pPager uintptr) I64 { /* sqlite3.c:54561:12 // // If an IO error occurs, abandon processing and return the IO error code. // Otherwise, return SQLITE_OK. -func zeroJournalHdr(tls *libc.TLS, pPager uintptr, doTruncate int32) int32 { /* sqlite3.c:54594:12: */ +func zeroJournalHdr(tls *libc.TLS, pPager uintptr, doTruncate int32) int32 { /* sqlite3.c:54604:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -32608,7 +32618,7 @@ func zeroJournalHdr(tls *libc.TLS, pPager uintptr, doTruncate int32) int32 { /* return rc } -var zeroHdr = [28]uint8{0: uint8(0)} /* sqlite3.c:54605:25 */ +var zeroHdr = [28]uint8{0: uint8(0)} /* sqlite3.c:54615:25 */ // The journal file must be open when this routine is called. A journal // header (JOURNAL_HDR_SZ bytes) is written into the journal file at the @@ -32623,7 +32633,7 @@ var zeroHdr = [28]uint8{0: uint8(0)} /* sqlite3.c:54605:25 */ // - 4 bytes: Database page size. // // Followed by (JOURNAL_HDR_SZ - 28) bytes of unused space. -func writeJournalHdr(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:54644:12: */ +func writeJournalHdr(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:54654:12: */ var rc int32 = SQLITE_OK // Return code var zHeader uintptr = (*Pager)(unsafe.Pointer(pPager)).FpTmpSpace // Temporary space used to build header var nHeader U32 = U32((*Pager)(unsafe.Pointer(pPager)).FpageSize) // Size of buffer pointed to by zHeader @@ -32733,7 +32743,7 @@ func writeJournalHdr(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:54644:1 // If the journal header file appears to be corrupted, SQLITE_DONE is // returned and *pNRec and *PDbSize are undefined. If JOURNAL_HDR_SZ bytes // cannot be read from the journal file an error code is returned. -func readJournalHdr(tls *libc.TLS, pPager uintptr, isHot int32, journalSize I64, pNRec uintptr, pDbSize uintptr) int32 { /* sqlite3.c:54762:12: */ +func readJournalHdr(tls *libc.TLS, pPager uintptr, isHot int32, journalSize I64, pNRec uintptr, pDbSize uintptr) int32 { /* sqlite3.c:54772:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -32843,7 +32853,7 @@ func readJournalHdr(tls *libc.TLS, pPager uintptr, isHot int32, journalSize I64, // // If zSuper is a NULL pointer (occurs for a single database transaction), // this call is a no-op. -func writeSuperJournal(tls *libc.TLS, pPager uintptr, zSuper uintptr) int32 { /* sqlite3.c:54887:12: */ +func writeSuperJournal(tls *libc.TLS, pPager uintptr, zSuper uintptr) int32 { /* sqlite3.c:54897:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -32903,21 +32913,21 @@ func writeSuperJournal(tls *libc.TLS, pPager uintptr, zSuper uintptr) int32 { /* } // Discard the entire contents of the in-memory page-cache. -func pager_reset(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:54955:13: */ +func pager_reset(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:54965:13: */ (*Pager)(unsafe.Pointer(pPager)).FiDataVersion++ Xsqlite3BackupRestart(tls, (*Pager)(unsafe.Pointer(pPager)).FpBackup) Xsqlite3PcacheClear(tls, (*Pager)(unsafe.Pointer(pPager)).FpPCache) } // Return the pPager->iDataVersion value -func Xsqlite3PagerDataVersion(tls *libc.TLS, pPager uintptr) U32 { /* sqlite3.c:54964:20: */ +func Xsqlite3PagerDataVersion(tls *libc.TLS, pPager uintptr) U32 { /* sqlite3.c:54974:20: */ return (*Pager)(unsafe.Pointer(pPager)).FiDataVersion } // Free all structures in the Pager.aSavepoint[] array and set both // Pager.aSavepoint and Pager.nSavepoint to zero. Close the sub-journal // if it is open and the pager is not in exclusive mode. -func releaseAllSavepoints(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:54973:13: */ +func releaseAllSavepoints(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:54983:13: */ var ii int32 // Iterator for looping through Pager.aSavepoint for ii = 0; ii < (*Pager)(unsafe.Pointer(pPager)).FnSavepoint; ii++ { Xsqlite3BitvecDestroy(tls, (*PagerSavepoint)(unsafe.Pointer((*Pager)(unsafe.Pointer(pPager)).FaSavepoint+uintptr(ii)*48)).FpInSavepoint) @@ -32934,7 +32944,7 @@ func releaseAllSavepoints(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:54973:13 // Set the bit number pgno in the PagerSavepoint.pInSavepoint // bitvecs of all open savepoints. Return SQLITE_OK if successful // or SQLITE_NOMEM if a malloc failure occurs. -func addToSavepointBitvecs(tls *libc.TLS, pPager uintptr, pgno Pgno) int32 { /* sqlite3.c:54992:12: */ +func addToSavepointBitvecs(tls *libc.TLS, pPager uintptr, pgno Pgno) int32 { /* sqlite3.c:55002:12: */ var ii int32 // Loop counter var rc int32 = SQLITE_OK // Result code @@ -32963,7 +32973,7 @@ func addToSavepointBitvecs(tls *libc.TLS, pPager uintptr, pgno Pgno) int32 { /* // or not, any journal file left in the file-system will be treated // as a hot-journal and rolled back the next time a read-transaction // is opened (by this or by any other connection). -func pager_unlock(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:55024:13: */ +func pager_unlock(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:55034:13: */ Xsqlite3BitvecDestroy(tls, (*Pager)(unsafe.Pointer(pPager)).FpInJournal) (*Pager)(unsafe.Pointer(pPager)).FpInJournal = uintptr(0) @@ -33055,7 +33065,7 @@ func pager_unlock(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:55024:13: */ // the persistent error occurred, then the rollback journal may need // to be replayed to restore the contents of the database file (as if // it were a hot-journal). -func pager_error(tls *libc.TLS, pPager uintptr, rc int32) int32 { /* sqlite3.c:55121:12: */ +func pager_error(tls *libc.TLS, pPager uintptr, rc int32) int32 { /* sqlite3.c:55131:12: */ var rc2 int32 = rc & 0xff if rc2 == SQLITE_FULL || rc2 == SQLITE_IOERR { @@ -33080,7 +33090,7 @@ func pager_error(tls *libc.TLS, pPager uintptr, rc int32) int32 { /* sqlite3.c:5 // file has been created already (via a spill on pagerStress()) and // when the number of dirty pages in memory exceeds 25% of the total // cache size. -func pagerFlushOnCommit(tls *libc.TLS, pPager uintptr, bCommit int32) int32 { /* sqlite3.c:55155:12: */ +func pagerFlushOnCommit(tls *libc.TLS, pPager uintptr, bCommit int32) int32 { /* sqlite3.c:55165:12: */ if int32((*Pager)(unsafe.Pointer(pPager)).FtempFile) == 0 { return 1 } @@ -33144,7 +33154,7 @@ func pagerFlushOnCommit(tls *libc.TLS, pPager uintptr, bCommit int32) int32 { /* // unlock operation fails as well, then the first error code related // to the first error encountered (the journal finalization one) is // returned. -func pager_end_transaction(tls *libc.TLS, pPager uintptr, hasSuper int32, bCommit int32) int32 { /* sqlite3.c:55215:12: */ +func pager_end_transaction(tls *libc.TLS, pPager uintptr, hasSuper int32, bCommit int32) int32 { /* sqlite3.c:55225:12: */ var rc int32 = SQLITE_OK // Error code from journal finalization operation var rc2 int32 = SQLITE_OK // Error code from db file unlock operation @@ -33271,7 +33281,7 @@ func pager_end_transaction(tls *libc.TLS, pPager uintptr, hasSuper int32, bCommi // malloc error occurs during a rollback, then this will itself cause // the pager to enter the ERROR state. Which will be cleared by the // call to pager_unlock(), as described above. -func pagerUnlockAndRollback(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:55362:13: */ +func pagerUnlockAndRollback(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:55372:13: */ if int32((*Pager)(unsafe.Pointer(pPager)).FeState) != PAGER_ERROR && int32((*Pager)(unsafe.Pointer(pPager)).FeState) != PAGER_OPEN { if int32((*Pager)(unsafe.Pointer(pPager)).FeState) >= PAGER_WRITER_LOCKED { @@ -33303,7 +33313,7 @@ func pagerUnlockAndRollback(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:55362: // It is much less likely that the two ends of the journal record will be // correct and the middle be corrupt. Thus, this "checksum" scheme, // though fast and simple, catches the mostly likely kind of corruption. -func pager_cksum(tls *libc.TLS, pPager uintptr, aData uintptr) U32 { /* sqlite3.c:55396:12: */ +func pager_cksum(tls *libc.TLS, pPager uintptr, aData uintptr) U32 { /* sqlite3.c:55406:12: */ var cksum U32 = (*Pager)(unsafe.Pointer(pPager)).FcksumInit // Checksum value to return var i int32 = int32((*Pager)(unsafe.Pointer(pPager)).FpageSize - int64(200)) // Loop counter for i > 0 { @@ -33348,7 +33358,7 @@ func pager_cksum(tls *libc.TLS, pPager uintptr, aData uintptr) U32 { /* sqlite3. // If this is a savepoint rollback, then memory may have to be dynamically // allocated by this function. If this is the case and an allocation fails, // SQLITE_NOMEM is returned. -func pager_playback_one_page(tls *libc.TLS, pPager uintptr, pOffset uintptr, pDone uintptr, isMainJrnl int32, isSavepnt int32) int32 { /* sqlite3.c:55443:12: */ +func pager_playback_one_page(tls *libc.TLS, pPager uintptr, pOffset uintptr, pDone uintptr, isMainJrnl int32, isSavepnt int32) int32 { /* sqlite3.c:55453:12: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -33582,7 +33592,7 @@ func pager_playback_one_page(tls *libc.TLS, pPager uintptr, pOffset uintptr, pDo // the entire contents of the super-journal file. This could be // a couple of kilobytes or so - potentially larger than the page // size. -func pager_delsuper(tls *libc.TLS, pPager uintptr, zSuper uintptr) int32 { /* sqlite3.c:55690:12: */ +func pager_delsuper(tls *libc.TLS, pPager uintptr, zSuper uintptr) int32 { /* sqlite3.c:55700:12: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -33748,7 +33758,7 @@ __14: // // If successful, return SQLITE_OK. If an IO error occurs while modifying // the database file, return the error code to the caller. -func pager_truncate(tls *libc.TLS, pPager uintptr, nPage Pgno) int32 { /* sqlite3.c:55808:12: */ +func pager_truncate(tls *libc.TLS, pPager uintptr, nPage Pgno) int32 { /* sqlite3.c:55818:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -33783,7 +33793,7 @@ func pager_truncate(tls *libc.TLS, pPager uintptr, nPage Pgno) int32 { /* sqlite // Return a sanitized version of the sector-size of OS file pFile. The // return value is guaranteed to lie between 32 and MAX_SECTOR_SIZE. -func Xsqlite3SectorSize(tls *libc.TLS, pFile uintptr) int32 { /* sqlite3.c:55844:20: */ +func Xsqlite3SectorSize(tls *libc.TLS, pFile uintptr) int32 { /* sqlite3.c:55854:20: */ var iRet int32 = Xsqlite3OsSectorSize(tls, pFile) if iRet < 32 { iRet = 512 @@ -33815,7 +33825,7 @@ func Xsqlite3SectorSize(tls *libc.TLS, pFile uintptr) int32 { /* sqlite3.c:55844 // (that is what POWERSAFE_OVERWRITE means), so we minimize the sector // size. For backwards compatibility of the rollback journal file format, // we cannot reduce the effective sector size below 512. -func setSectorSize(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:55878:13: */ +func setSectorSize(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:55888:13: */ if (*Pager)(unsafe.Pointer(pPager)).FtempFile != 0 || Xsqlite3OsDeviceCharacteristics(tls, (*Pager)(unsafe.Pointer(pPager)).Ffd)&SQLITE_IOCAP_POWERSAFE_OVERWRITE != 0 { @@ -33883,7 +33893,7 @@ func setSectorSize(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:55878:13: */ // If the journal really is hot, reset the pager cache prior rolling // back any content. If the journal is merely persistent, no reset is // needed. -func pager_playback(tls *libc.TLS, pPager uintptr, isHot int32) int32 { /* sqlite3.c:55951:12: */ +func pager_playback(tls *libc.TLS, pPager uintptr, isHot int32) int32 { /* sqlite3.c:55961:12: */ bp := tls.Alloc(40) defer tls.Free(40) @@ -34174,7 +34184,7 @@ __28: // // If an IO error occurs, then the IO error is returned to the caller. // Otherwise, SQLITE_OK is returned. -func readDbPage(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:56171:12: */ +func readDbPage(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:56181:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -34228,7 +34238,7 @@ func readDbPage(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:56171:12: */ // This is an unconditional update. See also the pager_incr_changecounter() // routine which only updates the change-counter if the update is actually // needed, as determined by the pPager->changeCountDone state variable. -func pager_write_changecounter(tls *libc.TLS, pPg uintptr) { /* sqlite3.c:56234:13: */ +func pager_write_changecounter(tls *libc.TLS, pPg uintptr) { /* sqlite3.c:56244:13: */ var change_counter U32 if pPg == uintptr(0) { return @@ -34255,7 +34265,7 @@ func pager_write_changecounter(tls *libc.TLS, pPg uintptr) { /* sqlite3.c:56234: // references, the page content is reloaded from the database. If the // attempt to reload content from the database is required and fails, // return an SQLite error code. Otherwise, SQLITE_OK. -func pagerUndoCallback(tls *libc.TLS, pCtx uintptr, iPg Pgno) int32 { /* sqlite3.c:56262:12: */ +func pagerUndoCallback(tls *libc.TLS, pCtx uintptr, iPg Pgno) int32 { /* sqlite3.c:56272:12: */ var rc int32 = SQLITE_OK var pPager uintptr = pCtx var pPg uintptr @@ -34286,7 +34296,7 @@ func pagerUndoCallback(tls *libc.TLS, pCtx uintptr, iPg Pgno) int32 { /* sqlite3 } // This function is called to rollback a transaction on a WAL database. -func pagerRollbackWal(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:56297:12: */ +func pagerRollbackWal(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:56307:12: */ var rc int32 // Return Code var pList uintptr // List of dirty pages to revert @@ -34317,7 +34327,7 @@ func pagerRollbackWal(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:56297: // // The list of pages passed into this routine is always sorted by page number. // Hence, if page 1 appears anywhere on the list, it will be the first page. -func pagerWalFrames(tls *libc.TLS, pPager uintptr, pList uintptr, nTruncate Pgno, isCommit int32) int32 { /* sqlite3.c:56329:12: */ +func pagerWalFrames(tls *libc.TLS, pPager uintptr, pList uintptr, nTruncate Pgno, isCommit int32) int32 { /* sqlite3.c:56339:12: */ bp := tls.Alloc(4) defer tls.Free(4) *(*uintptr)(unsafe.Pointer(bp)) = pList @@ -34365,7 +34375,7 @@ func pagerWalFrames(tls *libc.TLS, pPager uintptr, pList uintptr, nTruncate Pgno // makes a snapshot of the database at the current point in time and preserves // that snapshot for use by the reader in spite of concurrently changes by // other writers or checkpointers. -func pagerBeginReadTransaction(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:56396:12: */ +func pagerBeginReadTransaction(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:56406:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -34396,7 +34406,7 @@ func pagerBeginReadTransaction(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3 // If no error occurs, SQLITE_OK is returned and the size of the database // in pages is stored in *pnPage. Otherwise, an error code (perhaps // SQLITE_IOERR_FSTAT) is returned and *pnPage is left unmodified. -func pagerPagecount(tls *libc.TLS, pPager uintptr, pnPage uintptr) int32 { /* sqlite3.c:56429:12: */ +func pagerPagecount(tls *libc.TLS, pPager uintptr, pnPage uintptr) int32 { /* sqlite3.c:56439:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -34450,7 +34460,7 @@ func pagerPagecount(tls *libc.TLS, pPager uintptr, pnPage uintptr) int32 { /* sq // a WAL on a none-empty database, this ensures there is no race condition // between the xAccess() below and an xDelete() being executed by some // other connection. -func pagerOpenWalIfPresent(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:56489:12: */ +func pagerOpenWalIfPresent(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:56499:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -34518,7 +34528,7 @@ func pagerOpenWalIfPresent(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:5 // is reset to the value that it held at the start of the savepoint // (or transaction). No page with a page-number greater than this value // is played back. If one is encountered it is simply skipped. -func pagerPlaybackSavepoint(tls *libc.TLS, pPager uintptr, pSavepoint uintptr) int32 { /* sqlite3.c:56556:12: */ +func pagerPlaybackSavepoint(tls *libc.TLS, pPager uintptr, pSavepoint uintptr) int32 { /* sqlite3.c:56566:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -34627,18 +34637,18 @@ func pagerPlaybackSavepoint(tls *libc.TLS, pPager uintptr, pSavepoint uintptr) i // Change the maximum number of in-memory pages that are allowed // before attempting to recycle clean and unused pages. -func Xsqlite3PagerSetCachesize(tls *libc.TLS, pPager uintptr, mxPage int32) { /* sqlite3.c:56668:21: */ +func Xsqlite3PagerSetCachesize(tls *libc.TLS, pPager uintptr, mxPage int32) { /* sqlite3.c:56678:21: */ Xsqlite3PcacheSetCachesize(tls, (*Pager)(unsafe.Pointer(pPager)).FpPCache, mxPage) } // Change the maximum number of in-memory pages that are allowed // before attempting to spill pages to journal. -func Xsqlite3PagerSetSpillsize(tls *libc.TLS, pPager uintptr, mxPage int32) int32 { /* sqlite3.c:56676:20: */ +func Xsqlite3PagerSetSpillsize(tls *libc.TLS, pPager uintptr, mxPage int32) int32 { /* sqlite3.c:56686:20: */ return Xsqlite3PcacheSetSpillsize(tls, (*Pager)(unsafe.Pointer(pPager)).FpPCache, mxPage) } // Invoke SQLITE_FCNTL_MMAP_SIZE based on the current value of szMmap. -func pagerFixMaplimit(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:56683:13: */ +func pagerFixMaplimit(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:56693:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -34654,13 +34664,13 @@ func pagerFixMaplimit(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:56683:13: */ } // Change the maximum size of any memory mapping made of the database file. -func Xsqlite3PagerSetMmapLimit(tls *libc.TLS, pPager uintptr, szMmap Sqlite3_int64) { /* sqlite3.c:56699:21: */ +func Xsqlite3PagerSetMmapLimit(tls *libc.TLS, pPager uintptr, szMmap Sqlite3_int64) { /* sqlite3.c:56709:21: */ (*Pager)(unsafe.Pointer(pPager)).FszMmap = szMmap pagerFixMaplimit(tls, pPager) } // Free as much memory as possible from the pager. -func Xsqlite3PagerShrink(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:56707:21: */ +func Xsqlite3PagerShrink(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:56717:21: */ Xsqlite3PcacheShrink(tls, (*Pager)(unsafe.Pointer(pPager)).FpPCache) } @@ -34713,7 +34723,7 @@ func Xsqlite3PagerShrink(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:56707:21: // // Numeric values associated with these states are OFF==1, NORMAL=2, // and FULL=3. -func Xsqlite3PagerSetFlags(tls *libc.TLS, pPager uintptr, pgFlags uint32) { /* sqlite3.c:56763:21: */ +func Xsqlite3PagerSetFlags(tls *libc.TLS, pPager uintptr, pgFlags uint32) { /* sqlite3.c:56773:21: */ var level uint32 = pgFlags & uint32(PAGER_SYNCHRONOUS_MASK) if (*Pager)(unsafe.Pointer(pPager)).FtempFile != 0 { (*Pager)(unsafe.Pointer(pPager)).FnoSync = U8(1) @@ -34777,7 +34787,7 @@ func Xsqlite3PagerSetFlags(tls *libc.TLS, pPager uintptr, pgFlags uint32) { /* s // SQLITE_OPEN_CREATE // SQLITE_OPEN_EXCLUSIVE // SQLITE_OPEN_DELETEONCLOSE -func pagerOpentemp(tls *libc.TLS, pPager uintptr, pFile uintptr, vfsFlags int32) int32 { /* sqlite3.c:56823:12: */ +func pagerOpentemp(tls *libc.TLS, pPager uintptr, pFile uintptr, vfsFlags int32) int32 { /* sqlite3.c:56833:12: */ var rc int32 // Return code vfsFlags = vfsFlags | (SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE | SQLITE_OPEN_EXCLUSIVE | SQLITE_OPEN_DELETEONCLOSE) @@ -34805,7 +34815,7 @@ func pagerOpentemp(tls *libc.TLS, pPager uintptr, pFile uintptr, vfsFlags int32) // If the busy-handler callback returns non-zero, the lock is // retried. If it returns zero, then the SQLITE_BUSY error is // returned to the caller of the pager API function. -func Xsqlite3PagerSetBusyHandler(tls *libc.TLS, pPager uintptr, xBusyHandler uintptr, pBusyHandlerArg uintptr) { /* sqlite3.c:56862:21: */ +func Xsqlite3PagerSetBusyHandler(tls *libc.TLS, pPager uintptr, xBusyHandler uintptr, pBusyHandlerArg uintptr) { /* sqlite3.c:56872:21: */ var ap uintptr (*Pager)(unsafe.Pointer(pPager)).FxBusyHandler = xBusyHandler (*Pager)(unsafe.Pointer(pPager)).FpBusyHandlerArg = pBusyHandlerArg @@ -34842,7 +34852,7 @@ func Xsqlite3PagerSetBusyHandler(tls *libc.TLS, pPager uintptr, xBusyHandler uin // conditions above is not true, the pager was in error state when this // function was called, or because the memory allocation attempt failed, // then *pPageSize is set to the old, retained page size before returning. -func Xsqlite3PagerSetPagesize(tls *libc.TLS, pPager uintptr, pPageSize uintptr, nReserve int32) int32 { /* sqlite3.c:56906:20: */ +func Xsqlite3PagerSetPagesize(tls *libc.TLS, pPager uintptr, pPageSize uintptr, nReserve int32) int32 { /* sqlite3.c:56916:20: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -34911,7 +34921,7 @@ func Xsqlite3PagerSetPagesize(tls *libc.TLS, pPager uintptr, pPageSize uintptr, // during rollback and will be overwritten whenever a rollback // occurs. But other modules are free to use it too, as long as // no rollbacks are happening. -func Xsqlite3PagerTempSpace(tls *libc.TLS, pPager uintptr) uintptr { /* sqlite3.c:56974:21: */ +func Xsqlite3PagerTempSpace(tls *libc.TLS, pPager uintptr) uintptr { /* sqlite3.c:56984:21: */ return (*Pager)(unsafe.Pointer(pPager)).FpTmpSpace } @@ -34920,7 +34930,7 @@ func Xsqlite3PagerTempSpace(tls *libc.TLS, pPager uintptr) uintptr { /* sqlite3. // maximum page count below the current size of the database. // // Regardless of mxPage, return the current maximum page count. -func Xsqlite3PagerMaxPageCount(tls *libc.TLS, pPager uintptr, mxPage Pgno) Pgno { /* sqlite3.c:56985:21: */ +func Xsqlite3PagerMaxPageCount(tls *libc.TLS, pPager uintptr, mxPage Pgno) Pgno { /* sqlite3.c:56995:21: */ if mxPage > Pgno(0) { (*Pager)(unsafe.Pointer(pPager)).FmxPgno = mxPage } @@ -34951,7 +34961,7 @@ func Xsqlite3PagerMaxPageCount(tls *libc.TLS, pPager uintptr, mxPage Pgno) Pgno // If any IO error apart from SQLITE_IOERR_SHORT_READ is encountered, // the error code is returned to the caller and the contents of the // output buffer undefined. -func Xsqlite3PagerReadFileheader(tls *libc.TLS, pPager uintptr, N int32, pDest uintptr) int32 { /* sqlite3.c:57035:20: */ +func Xsqlite3PagerReadFileheader(tls *libc.TLS, pPager uintptr, N int32, pDest uintptr) int32 { /* sqlite3.c:57045:20: */ var rc int32 = SQLITE_OK libc.Xmemset(tls, pDest, 0, uint32(N)) @@ -34974,7 +34984,7 @@ func Xsqlite3PagerReadFileheader(tls *libc.TLS, pPager uintptr, N int32, pDest u // // However, if the file is between 1 and bytes in size, then // this is considered a 1 page file. -func Xsqlite3PagerPagecount(tls *libc.TLS, pPager uintptr, pnPage uintptr) { /* sqlite3.c:57063:21: */ +func Xsqlite3PagerPagecount(tls *libc.TLS, pPager uintptr, pnPage uintptr) { /* sqlite3.c:57073:21: */ *(*int32)(unsafe.Pointer(pnPage)) = int32((*Pager)(unsafe.Pointer(pPager)).FdbSize) } @@ -34991,7 +35001,7 @@ func Xsqlite3PagerPagecount(tls *libc.TLS, pPager uintptr, pnPage uintptr) { /* // Return SQLITE_OK on success and an error code if we cannot obtain // the lock. If the lock is obtained successfully, set the Pager.state // variable to locktype before returning. -func pager_wait_on_lock(tls *libc.TLS, pPager uintptr, locktype int32) int32 { /* sqlite3.c:57084:12: */ +func pager_wait_on_lock(tls *libc.TLS, pPager uintptr, locktype int32) int32 { /* sqlite3.c:57094:12: */ var rc int32 // Return code // Check that this is either a no-op (because the requested lock is @@ -35036,7 +35046,7 @@ func pager_wait_on_lock(tls *libc.TLS, pPager uintptr, locktype int32) int32 { / // Once this function has been called, the transaction must either be // rolled back or committed. It is not safe to call this function and // then continue writing to the database. -func Xsqlite3PagerTruncateImage(tls *libc.TLS, pPager uintptr, nPage Pgno) { /* sqlite3.c:57155:21: */ +func Xsqlite3PagerTruncateImage(tls *libc.TLS, pPager uintptr, nPage Pgno) { /* sqlite3.c:57165:21: */ (*Pager)(unsafe.Pointer(pPager)).FdbSize = nPage @@ -35063,7 +35073,7 @@ func Xsqlite3PagerTruncateImage(tls *libc.TLS, pPager uintptr, nPage Pgno) { /* // // If everything goes as planned, SQLITE_OK is returned. Otherwise, // an SQLite error code. -func pagerSyncHotJournal(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:57186:12: */ +func pagerSyncHotJournal(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:57196:12: */ var rc int32 = SQLITE_OK if !(int32((*Pager)(unsafe.Pointer(pPager)).FnoSync) != 0) { rc = Xsqlite3OsSync(tls, (*Pager)(unsafe.Pointer(pPager)).Fjfd, SQLITE_SYNC_NORMAL) @@ -35082,7 +35092,7 @@ func pagerSyncHotJournal(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:571 // // Page references obtained by calling this function should be released // by calling pagerReleaseMapPage(). -func pagerAcquireMapPage(tls *libc.TLS, pPager uintptr, pgno Pgno, pData uintptr, ppPage uintptr) int32 { /* sqlite3.c:57208:12: */ +func pagerAcquireMapPage(tls *libc.TLS, pPager uintptr, pgno Pgno, pData uintptr, ppPage uintptr) int32 { /* sqlite3.c:57218:12: */ var p uintptr // Memory mapped page to return if (*Pager)(unsafe.Pointer(pPager)).FpMmapFreelist != 0 { @@ -35112,7 +35122,7 @@ func pagerAcquireMapPage(tls *libc.TLS, pPager uintptr, pgno Pgno, pData uintptr // Release a reference to page pPg. pPg must have been returned by an // earlier call to pagerAcquireMapPage(). -func pagerReleaseMapPage(tls *libc.TLS, pPg uintptr) { /* sqlite3.c:57252:13: */ +func pagerReleaseMapPage(tls *libc.TLS, pPg uintptr) { /* sqlite3.c:57262:13: */ var pPager uintptr = (*PgHdr)(unsafe.Pointer(pPg)).FpPager (*Pager)(unsafe.Pointer(pPager)).FnMmapOut-- (*PgHdr)(unsafe.Pointer(pPg)).FpDirty = (*Pager)(unsafe.Pointer(pPager)).FpMmapFreelist @@ -35122,7 +35132,7 @@ func pagerReleaseMapPage(tls *libc.TLS, pPg uintptr) { /* sqlite3.c:57252:13: */ } // Free all PgHdr objects stored in the Pager.pMmapFreelist list. -func pagerFreeMapHdrs(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:57265:13: */ +func pagerFreeMapHdrs(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:57275:13: */ var p uintptr var pNext uintptr for p = (*Pager)(unsafe.Pointer(pPager)).FpMmapFreelist; p != 0; p = pNext { @@ -35135,7 +35145,7 @@ func pagerFreeMapHdrs(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:57265:13: */ // under the pager. Return SQLITE_OK if the database is still where it ought // to be on disk. Return non-zero (SQLITE_READONLY_DBMOVED or some other error // code from sqlite3OsAccess()) if the database has gone missing. -func databaseIsUnmoved(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:57279:12: */ +func databaseIsUnmoved(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:57289:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -35173,7 +35183,7 @@ func databaseIsUnmoved(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:57279 // is made to roll it back. If an error occurs during the rollback // a hot journal may be left in the filesystem but no error is returned // to the caller. -func Xsqlite3PagerClose(tls *libc.TLS, pPager uintptr, db uintptr) int32 { /* sqlite3.c:57313:20: */ +func Xsqlite3PagerClose(tls *libc.TLS, pPager uintptr, db uintptr) int32 { /* sqlite3.c:57323:20: */ var pTmp uintptr = (*Pager)(unsafe.Pointer(pPager)).FpTmpSpace Xsqlite3BeginBenignMalloc(tls) @@ -35222,7 +35232,7 @@ func Xsqlite3PagerClose(tls *libc.TLS, pPager uintptr, db uintptr) int32 { /* sq } // Increment the reference count for page pPg. -func Xsqlite3PagerRef(tls *libc.TLS, pPg uintptr) { /* sqlite3.c:57382:21: */ +func Xsqlite3PagerRef(tls *libc.TLS, pPg uintptr) { /* sqlite3.c:57392:21: */ Xsqlite3PcacheRef(tls, pPg) } @@ -35259,7 +35269,7 @@ func Xsqlite3PagerRef(tls *libc.TLS, pPg uintptr) { /* sqlite3.c:57382:21: */ // If successful, this routine clears the PGHDR_NEED_SYNC flag of every // page currently held in memory before returning SQLITE_OK. If an IO // error is encountered, then the IO error code is returned to the caller. -func syncJournal(tls *libc.TLS, pPager uintptr, newHdr int32) int32 { /* sqlite3.c:57421:12: */ +func syncJournal(tls *libc.TLS, pPager uintptr, newHdr int32) int32 { /* sqlite3.c:57431:12: */ bp := tls.Alloc(20) defer tls.Free(20) @@ -35373,7 +35383,7 @@ func syncJournal(tls *libc.TLS, pPager uintptr, newHdr int32) int32 { /* sqlite3 return SQLITE_OK } -var zerobyte U8 = U8(0) /* sqlite3.c:57472:27 */ +var zerobyte U8 = U8(0) /* sqlite3.c:57482:27 */ // The argument is the first in a linked list of dirty pages connected // by the PgHdr.pDirty pointer. This function writes each one of the @@ -35405,7 +35415,7 @@ var zerobyte U8 = U8(0) /* sqlite3.c:57472:27 */ // If everything is successful, SQLITE_OK is returned. If an IO error // occurs, an IO error code is returned. Or, if the EXCLUSIVE lock cannot // be obtained, SQLITE_BUSY is returned. -func pager_write_pagelist(tls *libc.TLS, pPager uintptr, pList uintptr) int32 { /* sqlite3.c:57564:12: */ +func pager_write_pagelist(tls *libc.TLS, pPager uintptr, pList uintptr) int32 { /* sqlite3.c:57574:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -35485,7 +35495,7 @@ func pager_write_pagelist(tls *libc.TLS, pPager uintptr, pList uintptr) int32 { // SQLITE_OK is returned if everything goes according to plan. An // SQLITE_IOERR_XXX error code is returned if a call to sqlite3OsOpen() // fails. -func openSubJournal(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:57655:12: */ +func openSubJournal(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:57665:12: */ var rc int32 = SQLITE_OK if !((*Sqlite3_file)(unsafe.Pointer((*Pager)(unsafe.Pointer(pPager)).Fsjfd)).FpMethods != uintptr(0)) { var flags int32 = SQLITE_OPEN_SUBJOURNAL | SQLITE_OPEN_READWRITE | @@ -35509,7 +35519,7 @@ func openSubJournal(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:57655:12 // error code if the attempt to write to the sub-journal fails, or // SQLITE_NOMEM if a malloc fails while setting a bit in a savepoint // bitvec. -func subjournalPage(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:57681:12: */ +func subjournalPage(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:57691:12: */ var rc int32 = SQLITE_OK var pPager uintptr = (*PgHdr)(unsafe.Pointer(pPg)).FpPager if int32((*Pager)(unsafe.Pointer(pPager)).FjournalMode) != PAGER_JOURNALMODE_OFF { @@ -35540,7 +35550,7 @@ func subjournalPage(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:57681:12: * return rc } -func subjournalPageIfRequired(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:57717:12: */ +func subjournalPageIfRequired(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:57727:12: */ if subjRequiresPage(tls, pPg) != 0 { return subjournalPage(tls, pPg) } else { @@ -35566,7 +35576,7 @@ func subjournalPageIfRequired(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:5 // page clean, the IO error code is returned. If the page cannot be // made clean for some other reason, but no error occurs, then SQLITE_OK // is returned by sqlite3PcacheMakeClean() is not called. -func pagerStress(tls *libc.TLS, p uintptr, pPg uintptr) int32 { /* sqlite3.c:57744:12: */ +func pagerStress(tls *libc.TLS, p uintptr, pPg uintptr) int32 { /* sqlite3.c:57754:12: */ var pPager uintptr = p var rc int32 = SQLITE_OK @@ -35628,7 +35638,7 @@ func pagerStress(tls *libc.TLS, p uintptr, pPg uintptr) int32 { /* sqlite3.c:577 } // Flush all unreferenced dirty pages to disk. -func Xsqlite3PagerFlush(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:57821:20: */ +func Xsqlite3PagerFlush(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:57831:20: */ var rc int32 = (*Pager)(unsafe.Pointer(pPager)).FerrCode if !(int32((*Pager)(unsafe.Pointer(pPager)).FmemDb) != 0) { var pList uintptr = Xsqlite3PcacheDirtyList(tls, (*Pager)(unsafe.Pointer(pPager)).FpPCache) @@ -35675,7 +35685,7 @@ func Xsqlite3PagerFlush(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:5782 // and error code returned. This function may return SQLITE_NOMEM // (sqlite3Malloc() is used to allocate memory), SQLITE_CANTOPEN or // various SQLITE_IO_XXX errors. -func Xsqlite3PagerOpen(tls *libc.TLS, pVfs uintptr, ppPager uintptr, zFilename uintptr, nExtra int32, flags int32, vfsFlags int32, xReinit uintptr) int32 { /* sqlite3.c:57870:20: */ +func Xsqlite3PagerOpen(tls *libc.TLS, pVfs uintptr, ppPager uintptr, zFilename uintptr, nExtra int32, flags int32, vfsFlags int32, xReinit uintptr) int32 { /* sqlite3.c:57880:20: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -35801,7 +35811,7 @@ __11: // bytes in length. This means the database cannot be opened, // as it will not be possible to open the journal file or even // check for a hot-journal before reading. - rc = Xsqlite3CantopenError(tls, 57957) + rc = Xsqlite3CantopenError(tls, 57967) __12: ; if !(rc != SQLITE_OK) { @@ -36120,7 +36130,7 @@ __37: // Return the sqlite3_file for the main database given the name // of the corresonding WAL or Journal name as passed into // xOpen. -func Xsqlite3_database_file_object(tls *libc.TLS, zName uintptr) uintptr { /* sqlite3.c:58242:25: */ +func Xsqlite3_database_file_object(tls *libc.TLS, zName uintptr) uintptr { /* sqlite3.c:58252:25: */ var pPager uintptr for int32(*(*uint8)(unsafe.Pointer(zName + libc.UintptrFromInt32(-1)))) != 0 || int32(*(*uint8)(unsafe.Pointer(zName + libc.UintptrFromInt32(-2)))) != 0 || int32(*(*uint8)(unsafe.Pointer(zName + libc.UintptrFromInt32(-3)))) != 0 || int32(*(*uint8)(unsafe.Pointer(zName + libc.UintptrFromInt32(-4)))) != 0 { zName-- @@ -36158,7 +36168,7 @@ func Xsqlite3_database_file_object(tls *libc.TLS, zName uintptr) uintptr { /* sq // set to 0 and SQLITE_OK returned. If an IO error occurs while trying // to determine whether or not a hot-journal file exists, the IO error // code is returned and the value of *pExists is undefined. -func hasHotJournal(tls *libc.TLS, pPager uintptr, pExists uintptr) int32 { /* sqlite3.c:58283:12: */ +func hasHotJournal(tls *libc.TLS, pPager uintptr, pExists uintptr) int32 { /* sqlite3.c:58293:12: */ bp := tls.Alloc(17) defer tls.Free(17) @@ -36269,7 +36279,7 @@ func hasHotJournal(tls *libc.TLS, pPager uintptr, pExists uintptr) int32 { /* sq // If everything is successful, SQLITE_OK is returned. If an IO error // occurs while locking the database, checking for a hot-journal file or // rolling back a journal file, the IO error code is returned. -func Xsqlite3PagerSharedLock(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:58403:20: */ +func Xsqlite3PagerSharedLock(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:58413:20: */ bp := tls.Alloc(28) defer tls.Free(28) @@ -36395,7 +36405,7 @@ __7: if !(rc == SQLITE_OK && *(*int32)(unsafe.Pointer(bp + 8))&SQLITE_OPEN_READONLY != 0) { goto __10 } - rc = Xsqlite3CantopenError(tls, 58487) + rc = Xsqlite3CantopenError(tls, 58497) Xsqlite3OsClose(tls, (*Pager)(unsafe.Pointer(pPager)).Fjfd) __10: ; @@ -36544,7 +36554,7 @@ __24: // Except, in locking_mode=EXCLUSIVE when there is nothing to in // the rollback journal, the unlock is not performed and there is // nothing to rollback, so this routine is a no-op. -func pagerUnlockIfUnused(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:58620:13: */ +func pagerUnlockIfUnused(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:58630:13: */ if Xsqlite3PcacheRefCount(tls, (*Pager)(unsafe.Pointer(pPager)).FpPCache) == 0 { // because page1 is never memory mapped pagerUnlockAndRollback(tls, pPager) @@ -36606,7 +36616,7 @@ func pagerUnlockIfUnused(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:58620:13: // has to go to disk, and could also playback an old journal if necessary. // Since Lookup() never goes to disk, it never has to deal with locks // or journal files. -func getPageNormal(tls *libc.TLS, pPager uintptr, pgno Pgno, ppPage uintptr, flags int32) int32 { /* sqlite3.c:58684:12: */ +func getPageNormal(tls *libc.TLS, pPager uintptr, pgno Pgno, ppPage uintptr, flags int32) int32 { /* sqlite3.c:58694:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -36619,7 +36629,7 @@ func getPageNormal(tls *libc.TLS, pPager uintptr, pgno Pgno, ppPage uintptr, fla if !(pgno == Pgno(0)) { goto __1 } - return Xsqlite3CorruptError(tls, 58700) + return Xsqlite3CorruptError(tls, 58710) __1: ; *(*uintptr)(unsafe.Pointer(bp /* pBase */)) = Xsqlite3PcacheFetch(tls, (*Pager)(unsafe.Pointer(pPager)).FpPCache, pgno, 3) @@ -36665,7 +36675,7 @@ __5: if !(pgno == Pgno(I64(Xsqlite3PendingByte)/(*Pager)(unsafe.Pointer(pPager)).FpageSize+int64(1))) { goto __7 } - rc = Xsqlite3CorruptError(tls, 58732) + rc = Xsqlite3CorruptError(tls, 58742) goto pager_acquire_err __7: ; @@ -36737,7 +36747,7 @@ __14: } // The page getter for when memory-mapped I/O is enabled -func getPageMMap(tls *libc.TLS, pPager uintptr, pgno Pgno, ppPage uintptr, flags int32) int32 { /* sqlite3.c:58786:12: */ +func getPageMMap(tls *libc.TLS, pPager uintptr, pgno Pgno, ppPage uintptr, flags int32) int32 { /* sqlite3.c:58796:12: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -36757,7 +36767,7 @@ func getPageMMap(tls *libc.TLS, pPager uintptr, pgno Pgno, ppPage uintptr, flags // test in the previous statement, and avoid testing pgno==0 in the // common case where pgno is large. if pgno <= Pgno(1) && pgno == Pgno(0) { - return Xsqlite3CorruptError(tls, 58811) + return Xsqlite3CorruptError(tls, 58821) } if bMmapOk != 0 && (*Pager)(unsafe.Pointer(pPager)).FpWal != uintptr(0) { @@ -36795,7 +36805,7 @@ func getPageMMap(tls *libc.TLS, pPager uintptr, pgno Pgno, ppPage uintptr, flags } // The page getter method for when the pager is an error state -func getPageError(tls *libc.TLS, pPager uintptr, pgno Pgno, ppPage uintptr, flags int32) int32 { /* sqlite3.c:58855:12: */ +func getPageError(tls *libc.TLS, pPager uintptr, pgno Pgno, ppPage uintptr, flags int32) int32 { /* sqlite3.c:58865:12: */ _ = pgno _ = flags @@ -36804,7 +36814,7 @@ func getPageError(tls *libc.TLS, pPager uintptr, pgno Pgno, ppPage uintptr, flag } // Dispatch all page fetch requests to the appropriate getter method. -func Xsqlite3PagerGet(tls *libc.TLS, pPager uintptr, pgno Pgno, ppPage uintptr, flags int32) int32 { /* sqlite3.c:58871:20: */ +func Xsqlite3PagerGet(tls *libc.TLS, pPager uintptr, pgno Pgno, ppPage uintptr, flags int32) int32 { /* sqlite3.c:58881:20: */ // printf("PAGE %u\n", pgno); fflush(stdout); return (*struct { f func(*libc.TLS, uintptr, Pgno, uintptr, int32) int32 @@ -36820,7 +36830,7 @@ func Xsqlite3PagerGet(tls *libc.TLS, pPager uintptr, pgno Pgno, ppPage uintptr, // in the page if the page is not already in cache. This routine // returns NULL if the page is not in cache or if a disk I/O error // has ever happened. -func Xsqlite3PagerLookup(tls *libc.TLS, pPager uintptr, pgno Pgno) uintptr { /* sqlite3.c:58892:23: */ +func Xsqlite3PagerLookup(tls *libc.TLS, pPager uintptr, pgno Pgno) uintptr { /* sqlite3.c:58902:23: */ var pPage uintptr pPage = Xsqlite3PcacheFetch(tls, (*Pager)(unsafe.Pointer(pPager)).FpPCache, pgno, 0) @@ -36841,7 +36851,7 @@ func Xsqlite3PagerLookup(tls *libc.TLS, pPager uintptr, pgno Pgno) uintptr { /* // Use sqlite3PagerUnrefPageOne() to release page1. This latter routine // checks the total number of outstanding pages and if the number of // pages reaches zero it drops the database lock. -func Xsqlite3PagerUnrefNotNull(tls *libc.TLS, pPg uintptr) { /* sqlite3.c:58915:21: */ +func Xsqlite3PagerUnrefNotNull(tls *libc.TLS, pPg uintptr) { /* sqlite3.c:58925:21: */ if int32((*DbPage)(unsafe.Pointer(pPg)).Fflags)&PGHDR_MMAP != 0 { // Page1 is never memory mapped @@ -36853,13 +36863,13 @@ func Xsqlite3PagerUnrefNotNull(tls *libc.TLS, pPg uintptr) { /* sqlite3.c:58915: } -func Xsqlite3PagerUnref(tls *libc.TLS, pPg uintptr) { /* sqlite3.c:58927:21: */ +func Xsqlite3PagerUnref(tls *libc.TLS, pPg uintptr) { /* sqlite3.c:58937:21: */ if pPg != 0 { Xsqlite3PagerUnrefNotNull(tls, pPg) } } -func Xsqlite3PagerUnrefPageOne(tls *libc.TLS, pPg uintptr) { /* sqlite3.c:58930:21: */ +func Xsqlite3PagerUnrefPageOne(tls *libc.TLS, pPg uintptr) { /* sqlite3.c:58940:21: */ var pPager uintptr // Page1 is never memory mapped @@ -36888,7 +36898,7 @@ func Xsqlite3PagerUnrefPageOne(tls *libc.TLS, pPg uintptr) { /* sqlite3.c:58930: // Return SQLITE_OK if everything is successful. Otherwise, return // SQLITE_NOMEM if the attempt to allocate Pager.pInJournal fails, or // an IO error code if opening or writing the journal file fails. -func pager_open_journal(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:58962:12: */ +func pager_open_journal(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:58972:12: */ var rc int32 = SQLITE_OK // Return code var pVfs uintptr = (*Pager)(unsafe.Pointer(pPager)).FpVfs // Local cache of vfs pointer @@ -36970,7 +36980,7 @@ func pager_open_journal(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:5896 // sub-journal. If the subjInMemory argument is zero, then any required // sub-journal is implemented in-memory if pPager is an in-memory database, // or using a temporary file otherwise. -func Xsqlite3PagerBegin(tls *libc.TLS, pPager uintptr, exFlag int32, subjInMemory int32) int32 { /* sqlite3.c:59051:20: */ +func Xsqlite3PagerBegin(tls *libc.TLS, pPager uintptr, exFlag int32, subjInMemory int32) int32 { /* sqlite3.c:59061:20: */ var rc int32 = SQLITE_OK if (*Pager)(unsafe.Pointer(pPager)).FerrCode != 0 { @@ -37030,7 +37040,7 @@ func Xsqlite3PagerBegin(tls *libc.TLS, pPager uintptr, exFlag int32, subjInMemor } // Write page pPg onto the end of the rollback journal. -func pagerAddPageToRollbackJournal(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:59120:28: */ +func pagerAddPageToRollbackJournal(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:59130:28: */ var pPager uintptr = (*PgHdr)(unsafe.Pointer(pPg)).FpPager var rc int32 var cksum U32 @@ -37080,7 +37090,7 @@ func pagerAddPageToRollbackJournal(tls *libc.TLS, pPg uintptr) int32 { /* sqlite // one of the journals, the corresponding bit is set in the // Pager.pInJournal bitvec and the PagerSavepoint.pInSavepoint bitvecs // of any open savepoints as appropriate. -func pager_write(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:59177:12: */ +func pager_write(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:59187:12: */ var pPager uintptr = (*PgHdr)(unsafe.Pointer(pPg)).FpPager var rc int32 = SQLITE_OK @@ -37154,7 +37164,7 @@ func pager_write(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:59177:12: */ // Usually, the sector size is less than or equal to the page size, in which // case pages can be individually written. This routine only runs in the // exceptional case where the page size is smaller than the sector size. -func pagerWriteLargeSector(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:59269:28: */ +func pagerWriteLargeSector(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:59279:28: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -37242,7 +37252,7 @@ func pagerWriteLargeSector(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:5926 // // If an error occurs, SQLITE_NOMEM or an IO error code is returned // as appropriate. Otherwise, SQLITE_OK. -func Xsqlite3PagerWrite(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:59363:20: */ +func Xsqlite3PagerWrite(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:59373:20: */ var pPager uintptr = (*PgHdr)(unsafe.Pointer(pPg)).FpPager if int32((*PgHdr)(unsafe.Pointer(pPg)).Fflags)&PGHDR_WRITEABLE != 0 && (*Pager)(unsafe.Pointer(pPager)).FdbSize >= (*PgHdr)(unsafe.Pointer(pPg)).Fpgno { @@ -37283,7 +37293,7 @@ func Xsqlite3PagerWrite(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:59363:2 // memory pressure forces page pPg out of the cache, the data does need // to be written out to disk so that it may be read back in if the // current transaction is rolled back. -func Xsqlite3PagerDontWrite(tls *libc.TLS, pPg uintptr) { /* sqlite3.c:59412:21: */ +func Xsqlite3PagerDontWrite(tls *libc.TLS, pPg uintptr) { /* sqlite3.c:59422:21: */ var pPager uintptr = (*PgHdr)(unsafe.Pointer(pPg)).FpPager if !(int32((*Pager)(unsafe.Pointer(pPager)).FtempFile) != 0) && int32((*PgHdr)(unsafe.Pointer(pPg)).Fflags)&PGHDR_DIRTY != 0 && (*Pager)(unsafe.Pointer(pPager)).FnSavepoint == 0 { @@ -37313,7 +37323,7 @@ func Xsqlite3PagerDontWrite(tls *libc.TLS, pPg uintptr) { /* sqlite3.c:59412:21: // if isDirect is non-zero, then the database file is updated directly // by writing an updated version of page 1 using a call to the // sqlite3OsWrite() function. -func pager_incr_changecounter(tls *libc.TLS, pPager uintptr, isDirectMode int32) int32 { /* sqlite3.c:59446:12: */ +func pager_incr_changecounter(tls *libc.TLS, pPager uintptr, isDirectMode int32) int32 { /* sqlite3.c:59456:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -37383,7 +37393,7 @@ func pager_incr_changecounter(tls *libc.TLS, pPager uintptr, isDirectMode int32) // // If successful, or if called on a pager for which it is a no-op, this // function returns SQLITE_OK. Otherwise, an IO error code is returned. -func Xsqlite3PagerSync(tls *libc.TLS, pPager uintptr, zSuper uintptr) int32 { /* sqlite3.c:59529:20: */ +func Xsqlite3PagerSync(tls *libc.TLS, pPager uintptr, zSuper uintptr) int32 { /* sqlite3.c:59539:20: */ var rc int32 = SQLITE_OK var pArg uintptr = zSuper rc = Xsqlite3OsFileControl(tls, (*Pager)(unsafe.Pointer(pPager)).Ffd, SQLITE_FCNTL_SYNC, pArg) @@ -37406,7 +37416,7 @@ func Xsqlite3PagerSync(tls *libc.TLS, pPager uintptr, zSuper uintptr) int32 { /* // successful, or the connection is in WAL mode, SQLITE_OK is returned. // Otherwise, either SQLITE_BUSY or an SQLITE_IOERR_XXX error code is // returned. -func Xsqlite3PagerExclusiveLock(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:59552:20: */ +func Xsqlite3PagerExclusiveLock(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:59562:20: */ var rc int32 = (*Pager)(unsafe.Pointer(pPager)).FerrCode if rc == SQLITE_OK { @@ -37442,7 +37452,7 @@ func Xsqlite3PagerExclusiveLock(tls *libc.TLS, pPager uintptr) int32 { /* sqlite // is not synced. The caller must call sqlite3PagerSync() directly to // sync the database file before calling CommitPhaseTwo() to delete the // journal file in this case. -func Xsqlite3PagerCommitPhaseOne(tls *libc.TLS, pPager uintptr, zSuper uintptr, noSync int32) int32 { /* sqlite3.c:59594:20: */ +func Xsqlite3PagerCommitPhaseOne(tls *libc.TLS, pPager uintptr, zSuper uintptr, noSync int32) int32 { /* sqlite3.c:59604:20: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -37632,7 +37642,7 @@ __19: // // If an error occurs, an IO error code is returned and the pager // moves into the error state. Otherwise, SQLITE_OK is returned. -func Xsqlite3PagerCommitPhaseTwo(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:59824:20: */ +func Xsqlite3PagerCommitPhaseTwo(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:59834:20: */ var rc int32 = SQLITE_OK // Return code // This routine should not be called if a prior error has occurred. @@ -37689,7 +37699,7 @@ func Xsqlite3PagerCommitPhaseTwo(tls *libc.TLS, pPager uintptr) int32 { /* sqlit // current transaction are either expelled from the cache or reverted to // their pre-transaction state by re-reading data from the database or // WAL files. The WAL transaction is then closed. -func Xsqlite3PagerRollback(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:59890:20: */ +func Xsqlite3PagerRollback(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:59900:20: */ var rc int32 = SQLITE_OK // Return code // PagerRollback() is a no-op if called in READER or OPEN state. If @@ -37733,13 +37743,13 @@ func Xsqlite3PagerRollback(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:5 // Return TRUE if the database file is opened read-only. Return FALSE // if the database is (in theory) writable. -func Xsqlite3PagerIsreadonly(tls *libc.TLS, pPager uintptr) U8 { /* sqlite3.c:59940:19: */ +func Xsqlite3PagerIsreadonly(tls *libc.TLS, pPager uintptr) U8 { /* sqlite3.c:59950:19: */ return (*Pager)(unsafe.Pointer(pPager)).FreadOnly } // Return the approximate number of bytes of memory currently // used by the pager and its associated cache. -func Xsqlite3PagerMemUsed(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:59957:20: */ +func Xsqlite3PagerMemUsed(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:59967:20: */ var perPageSize int32 = int32((*Pager)(unsafe.Pointer(pPager)).FpageSize + I64((*Pager)(unsafe.Pointer(pPager)).FnExtra) + I64(int32(uint32(unsafe.Sizeof(PgHdr{}))+uint32(5)*uint32(unsafe.Sizeof(uintptr(0)))))) return int32(I64(perPageSize*Xsqlite3PcachePagecount(tls, (*Pager)(unsafe.Pointer(pPager)).FpPCache)+ @@ -37748,7 +37758,7 @@ func Xsqlite3PagerMemUsed(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:59 } // Return the number of references to the specified page. -func Xsqlite3PagerPageRefcount(tls *libc.TLS, pPage uintptr) int32 { /* sqlite3.c:59968:20: */ +func Xsqlite3PagerPageRefcount(tls *libc.TLS, pPage uintptr) int32 { /* sqlite3.c:59978:20: */ return Xsqlite3PcachePageRefcount(tls, pPage) } @@ -37761,7 +37771,7 @@ func Xsqlite3PagerPageRefcount(tls *libc.TLS, pPage uintptr) int32 { /* sqlite3. // current cache hit or miss count, according to the value of eStat. If the // reset parameter is non-zero, the cache hit or miss count is zeroed before // returning. -func Xsqlite3PagerCacheStat(tls *libc.TLS, pPager uintptr, eStat int32, reset int32, pnVal uintptr) { /* sqlite3.c:60004:21: */ +func Xsqlite3PagerCacheStat(tls *libc.TLS, pPager uintptr, eStat int32, reset int32, pnVal uintptr) { /* sqlite3.c:60014:21: */ eStat = eStat - SQLITE_DBSTATUS_CACHE_HIT *(*int32)(unsafe.Pointer(pnVal)) += *(*int32)(unsafe.Pointer(pPager + 200 + uintptr(eStat)*4)) @@ -37771,7 +37781,7 @@ func Xsqlite3PagerCacheStat(tls *libc.TLS, pPager uintptr, eStat int32, reset in } // Return true if this is an in-memory or temp-file backed pager. -func Xsqlite3PagerIsMemdb(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:60027:20: */ +func Xsqlite3PagerIsMemdb(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:60037:20: */ return libc.Bool32((*Pager)(unsafe.Pointer(pPager)).FtempFile != 0 || (*Pager)(unsafe.Pointer(pPager)).FmemVfs != 0) } @@ -37783,7 +37793,7 @@ func Xsqlite3PagerIsMemdb(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:60 // If a memory allocation fails, SQLITE_NOMEM is returned. If an error // occurs while opening the sub-journal file, then an IO error code is // returned. Otherwise, SQLITE_OK. -func pagerOpenSavepoint(tls *libc.TLS, pPager uintptr, nSavepoint int32) int32 { /* sqlite3.c:60041:28: */ +func pagerOpenSavepoint(tls *libc.TLS, pPager uintptr, nSavepoint int32) int32 { /* sqlite3.c:60051:28: */ var rc int32 = SQLITE_OK // Return code var nCurrent int32 = (*Pager)(unsafe.Pointer(pPager)).FnSavepoint // Current number of savepoints var ii int32 // Iterator variable @@ -37823,7 +37833,7 @@ func pagerOpenSavepoint(tls *libc.TLS, pPager uintptr, nSavepoint int32) int32 { return rc } -func Xsqlite3PagerOpenSavepoint(tls *libc.TLS, pPager uintptr, nSavepoint int32) int32 { /* sqlite3.c:60087:20: */ +func Xsqlite3PagerOpenSavepoint(tls *libc.TLS, pPager uintptr, nSavepoint int32) int32 { /* sqlite3.c:60097:20: */ if nSavepoint > (*Pager)(unsafe.Pointer(pPager)).FnSavepoint && (*Pager)(unsafe.Pointer(pPager)).FuseJournal != 0 { return pagerOpenSavepoint(tls, pPager, nSavepoint) @@ -37861,7 +37871,7 @@ func Xsqlite3PagerOpenSavepoint(tls *libc.TLS, pPager uintptr, nSavepoint int32) // This function may return SQLITE_NOMEM if a memory allocation fails, // or an IO error code if an IO error occurs while rolling back a // savepoint. If no errors occur, SQLITE_OK is returned. -func Xsqlite3PagerSavepoint(tls *libc.TLS, pPager uintptr, op int32, iSavepoint int32) int32 { /* sqlite3.c:60129:20: */ +func Xsqlite3PagerSavepoint(tls *libc.TLS, pPager uintptr, op int32, iSavepoint int32) int32 { /* sqlite3.c:60139:20: */ var rc int32 = (*Pager)(unsafe.Pointer(pPager)).FerrCode if rc == SQLITE_OK && iSavepoint < (*Pager)(unsafe.Pointer(pPager)).FnSavepoint { @@ -37922,30 +37932,30 @@ func Xsqlite3PagerSavepoint(tls *libc.TLS, pPager uintptr, op int32, iSavepoint // // The return value to this routine is always safe to use with // sqlite3_uri_parameter() and sqlite3_filename_database() and friends. -func Xsqlite3PagerFilename(tls *libc.TLS, pPager uintptr, nullIfMemDb int32) uintptr { /* sqlite3.c:60210:27: */ +func Xsqlite3PagerFilename(tls *libc.TLS, pPager uintptr, nullIfMemDb int32) uintptr { /* sqlite3.c:60220:27: */ if nullIfMemDb != 0 && (*Pager)(unsafe.Pointer(pPager)).FmemDb != 0 { return uintptr(unsafe.Pointer(&zFake)) + 4 } return (*Pager)(unsafe.Pointer(pPager)).FzFilename } -var zFake = [8]uint8{uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0)} /* sqlite3.c:60211:21 */ +var zFake = [8]uint8{uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0)} /* sqlite3.c:60221:21 */ // Return the VFS structure for the pager. -func Xsqlite3PagerVfs(tls *libc.TLS, pPager uintptr) uintptr { /* sqlite3.c:60218:28: */ +func Xsqlite3PagerVfs(tls *libc.TLS, pPager uintptr) uintptr { /* sqlite3.c:60228:28: */ return (*Pager)(unsafe.Pointer(pPager)).FpVfs } // Return the file handle for the database file associated // with the pager. This might return NULL if the file has // not yet been opened. -func Xsqlite3PagerFile(tls *libc.TLS, pPager uintptr) uintptr { /* sqlite3.c:60227:29: */ +func Xsqlite3PagerFile(tls *libc.TLS, pPager uintptr) uintptr { /* sqlite3.c:60237:29: */ return (*Pager)(unsafe.Pointer(pPager)).Ffd } // Return the file handle for the journal file (if it exists). // This will be either the rollback journal or the WAL file. -func Xsqlite3PagerJrnlFile(tls *libc.TLS, pPager uintptr) uintptr { /* sqlite3.c:60235:29: */ +func Xsqlite3PagerJrnlFile(tls *libc.TLS, pPager uintptr) uintptr { /* sqlite3.c:60245:29: */ if (*Pager)(unsafe.Pointer(pPager)).FpWal != 0 { return Xsqlite3WalFile(tls, (*Pager)(unsafe.Pointer(pPager)).FpWal) } @@ -37953,7 +37963,7 @@ func Xsqlite3PagerJrnlFile(tls *libc.TLS, pPager uintptr) uintptr { /* sqlite3.c } // Return the full pathname of the journal file. -func Xsqlite3PagerJournalname(tls *libc.TLS, pPager uintptr) uintptr { /* sqlite3.c:60246:27: */ +func Xsqlite3PagerJournalname(tls *libc.TLS, pPager uintptr) uintptr { /* sqlite3.c:60256:27: */ return (*Pager)(unsafe.Pointer(pPager)).FzJournal } @@ -37980,7 +37990,7 @@ func Xsqlite3PagerJournalname(tls *libc.TLS, pPager uintptr) uintptr { /* sqlite // // This function may return SQLITE_NOMEM or an IO error code if an error // occurs. Otherwise, it returns SQLITE_OK. -func Xsqlite3PagerMovepage(tls *libc.TLS, pPager uintptr, pPg uintptr, pgno Pgno, isCommit int32) int32 { /* sqlite3.c:60276:20: */ +func Xsqlite3PagerMovepage(tls *libc.TLS, pPager uintptr, pPg uintptr, pgno Pgno, isCommit int32) int32 { /* sqlite3.c:60286:20: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -38042,7 +38052,7 @@ func Xsqlite3PagerMovepage(tls *libc.TLS, pPager uintptr, pPg uintptr, pgno Pgno if pPgOld != 0 { if int32((*PgHdr)(unsafe.Pointer(pPgOld)).FnRef) > 1 { Xsqlite3PagerUnrefNotNull(tls, pPgOld) - return Xsqlite3CorruptError(tls, 60350) + return Xsqlite3CorruptError(tls, 60360) } *(*U16)(unsafe.Pointer(pPg + 28)) |= U16(int32((*PgHdr)(unsafe.Pointer(pPgOld)).Fflags) & PGHDR_NEED_SYNC) if (*Pager)(unsafe.Pointer(pPager)).FtempFile != 0 { @@ -38102,21 +38112,21 @@ func Xsqlite3PagerMovepage(tls *libc.TLS, pPager uintptr, pPg uintptr, pgno Pgno // with a page number other than iNew. This function changes the page's // page number to iNew and sets the value of the PgHdr.flags field to // the value passed as the third parameter. -func Xsqlite3PagerRekey(tls *libc.TLS, pPg uintptr, iNew Pgno, flags U16) { /* sqlite3.c:60414:21: */ +func Xsqlite3PagerRekey(tls *libc.TLS, pPg uintptr, iNew Pgno, flags U16) { /* sqlite3.c:60424:21: */ (*DbPage)(unsafe.Pointer(pPg)).Fflags = flags Xsqlite3PcacheMove(tls, pPg, iNew) } // Return a pointer to the data for the specified page. -func Xsqlite3PagerGetData(tls *libc.TLS, pPg uintptr) uintptr { /* sqlite3.c:60423:21: */ +func Xsqlite3PagerGetData(tls *libc.TLS, pPg uintptr) uintptr { /* sqlite3.c:60433:21: */ return (*DbPage)(unsafe.Pointer(pPg)).FpData } // Return a pointer to the Pager.nExtra bytes of "extra" space // allocated along with the specified page. -func Xsqlite3PagerGetExtra(tls *libc.TLS, pPg uintptr) uintptr { /* sqlite3.c:60432:21: */ +func Xsqlite3PagerGetExtra(tls *libc.TLS, pPg uintptr) uintptr { /* sqlite3.c:60442:21: */ return (*DbPage)(unsafe.Pointer(pPg)).FpExtra } @@ -38128,7 +38138,7 @@ func Xsqlite3PagerGetExtra(tls *libc.TLS, pPg uintptr) uintptr { /* sqlite3.c:60 // The returned value is either PAGER_LOCKINGMODE_NORMAL or // PAGER_LOCKINGMODE_EXCLUSIVE, indicating the current (possibly updated) // locking-mode. -func Xsqlite3PagerLockingMode(tls *libc.TLS, pPager uintptr, eMode int32) int32 { /* sqlite3.c:60446:20: */ +func Xsqlite3PagerLockingMode(tls *libc.TLS, pPager uintptr, eMode int32) int32 { /* sqlite3.c:60456:20: */ if eMode >= 0 && !(int32((*Pager)(unsafe.Pointer(pPager)).FtempFile) != 0) && !(Xsqlite3WalHeapMemory(tls, (*Pager)(unsafe.Pointer(pPager)).FpWal) != 0) { (*Pager)(unsafe.Pointer(pPager)).FexclusiveMode = U8(eMode) @@ -38154,7 +38164,7 @@ func Xsqlite3PagerLockingMode(tls *libc.TLS, pPager uintptr, eMode int32) int32 // * Temporary databases cannot have _WAL journalmode. // // The returned indicate the current (possibly updated) journal-mode. -func Xsqlite3PagerSetJournalMode(tls *libc.TLS, pPager uintptr, eMode int32) int32 { /* sqlite3.c:60479:20: */ +func Xsqlite3PagerSetJournalMode(tls *libc.TLS, pPager uintptr, eMode int32) int32 { /* sqlite3.c:60489:20: */ var eOld U8 = (*Pager)(unsafe.Pointer(pPager)).FjournalMode // Prior journalmode // The eMode parameter is always valid @@ -38224,14 +38234,14 @@ func Xsqlite3PagerSetJournalMode(tls *libc.TLS, pPager uintptr, eMode int32) int } // Return the current journal mode. -func Xsqlite3PagerGetJournalMode(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:60569:20: */ +func Xsqlite3PagerGetJournalMode(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:60579:20: */ return int32((*Pager)(unsafe.Pointer(pPager)).FjournalMode) } // Return TRUE if the pager is in a state where it is OK to change the // journalmode. Journalmode changes can only happen when the database // is unmodified. -func Xsqlite3PagerOkToChangeJournalMode(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:60578:20: */ +func Xsqlite3PagerOkToChangeJournalMode(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:60588:20: */ if int32((*Pager)(unsafe.Pointer(pPager)).FeState) >= PAGER_WRITER_CACHEMOD { return 0 @@ -38246,7 +38256,7 @@ func Xsqlite3PagerOkToChangeJournalMode(tls *libc.TLS, pPager uintptr) int32 { / // // Setting the size limit to -1 means no limit is enforced. // An attempt to set a limit smaller than -1 is a no-op. -func Xsqlite3PagerJournalSizeLimit(tls *libc.TLS, pPager uintptr, iLimit I64) I64 { /* sqlite3.c:60591:20: */ +func Xsqlite3PagerJournalSizeLimit(tls *libc.TLS, pPager uintptr, iLimit I64) I64 { /* sqlite3.c:60601:20: */ if iLimit >= int64(-1) { (*Pager)(unsafe.Pointer(pPager)).FjournalSizeLimit = iLimit Xsqlite3WalLimit(tls, (*Pager)(unsafe.Pointer(pPager)).FpWal, iLimit) @@ -38258,12 +38268,12 @@ func Xsqlite3PagerJournalSizeLimit(tls *libc.TLS, pPager uintptr, iLimit I64) I6 // in backup.c maintains the content of this variable. This module // uses it opaquely as an argument to sqlite3BackupRestart() and // sqlite3BackupUpdate() only. -func Xsqlite3PagerBackupPtr(tls *libc.TLS, pPager uintptr) uintptr { /* sqlite3.c:60605:31: */ +func Xsqlite3PagerBackupPtr(tls *libc.TLS, pPager uintptr) uintptr { /* sqlite3.c:60615:31: */ return pPager + 96 } // Unless this is an in-memory or temporary database, clear the pager cache. -func Xsqlite3PagerClearCache(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:60613:21: */ +func Xsqlite3PagerClearCache(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:60623:21: */ if int32((*Pager)(unsafe.Pointer(pPager)).FtempFile) == 0 { pager_reset(tls, pPager) @@ -38275,7 +38285,7 @@ func Xsqlite3PagerClearCache(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:60613 // or wal_blocking_checkpoint() API functions. // // Parameter eMode is one of SQLITE_CHECKPOINT_PASSIVE, FULL or RESTART. -func Xsqlite3PagerCheckpoint(tls *libc.TLS, pPager uintptr, db uintptr, eMode int32, pnLog uintptr, pnCkpt uintptr) int32 { /* sqlite3.c:60628:20: */ +func Xsqlite3PagerCheckpoint(tls *libc.TLS, pPager uintptr, db uintptr, eMode int32, pnLog uintptr, pnCkpt uintptr) int32 { /* sqlite3.c:60638:20: */ var rc int32 = SQLITE_OK if (*Pager)(unsafe.Pointer(pPager)).FpWal == uintptr(0) && int32((*Pager)(unsafe.Pointer(pPager)).FjournalMode) == PAGER_JOURNALMODE_WAL { // This only happens when a database file is zero bytes in size opened and @@ -38303,13 +38313,13 @@ func Xsqlite3PagerCheckpoint(tls *libc.TLS, pPager uintptr, db uintptr, eMode in return rc } -func Xsqlite3PagerWalCallback(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:60659:20: */ +func Xsqlite3PagerWalCallback(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:60669:20: */ return Xsqlite3WalCallback(tls, (*Pager)(unsafe.Pointer(pPager)).FpWal) } // Return true if the underlying VFS for the given pager supports the // primitives necessary for write-ahead logging. -func Xsqlite3PagerWalSupported(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:60667:20: */ +func Xsqlite3PagerWalSupported(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:60677:20: */ var pMethods uintptr = (*Sqlite3_file)(unsafe.Pointer((*Pager)(unsafe.Pointer(pPager)).Ffd)).FpMethods if (*Pager)(unsafe.Pointer(pPager)).FnoLock != 0 { return 0 @@ -38319,7 +38329,7 @@ func Xsqlite3PagerWalSupported(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3 // Attempt to take an exclusive lock on the database file. If a PENDING lock // is obtained instead, immediately release it. -func pagerExclusiveLock(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:60677:12: */ +func pagerExclusiveLock(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:60687:12: */ var rc int32 // Return code rc = pagerLockDb(tls, pPager, EXCLUSIVE_LOCK) @@ -38336,7 +38346,7 @@ func pagerExclusiveLock(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:6067 // exclusive-locking mode when this function is called, take an EXCLUSIVE // lock on the database file and use heap-memory to store the wal-index // in. Otherwise, use the normal shared-memory. -func pagerOpenWal(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:60697:12: */ +func pagerOpenWal(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:60707:12: */ var rc int32 = SQLITE_OK // If the pager is already in exclusive-mode, the WAL module will use @@ -38372,7 +38382,7 @@ func pagerOpenWal(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:60697:12: // If the pager is open on a temp-file (or in-memory database), or if // the WAL file is already open, set *pbOpen to 1 and return SQLITE_OK // without doing anything. -func Xsqlite3PagerOpenWal(tls *libc.TLS, pPager uintptr, pbOpen uintptr) int32 { /* sqlite3.c:60742:20: */ +func Xsqlite3PagerOpenWal(tls *libc.TLS, pPager uintptr, pbOpen uintptr) int32 { /* sqlite3.c:60752:20: */ var rc int32 = SQLITE_OK // Return code if !(int32((*Pager)(unsafe.Pointer(pPager)).FtempFile) != 0) && !(int32((*Pager)(unsafe.Pointer(pPager)).FpWal) != 0) { @@ -38402,7 +38412,7 @@ func Xsqlite3PagerOpenWal(tls *libc.TLS, pPager uintptr, pbOpen uintptr) int32 { // EXCLUSIVE lock on the database file. If this cannot be obtained, an // error (SQLITE_BUSY) is returned and the log connection is not closed. // If successful, the EXCLUSIVE lock is not released before returning. -func Xsqlite3PagerCloseWal(tls *libc.TLS, pPager uintptr, db uintptr) int32 { /* sqlite3.c:60781:20: */ +func Xsqlite3PagerCloseWal(tls *libc.TLS, pPager uintptr, db uintptr) int32 { /* sqlite3.c:60791:20: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -38442,7 +38452,7 @@ func Xsqlite3PagerCloseWal(tls *libc.TLS, pPager uintptr, db uintptr) int32 { /* // If this is a WAL database, obtain a snapshot handle for the snapshot // currently open. Otherwise, return an error. -func Xsqlite3PagerSnapshotGet(tls *libc.TLS, pPager uintptr, ppSnapshot uintptr) int32 { /* sqlite3.c:60850:20: */ +func Xsqlite3PagerSnapshotGet(tls *libc.TLS, pPager uintptr, ppSnapshot uintptr) int32 { /* sqlite3.c:60860:20: */ var rc int32 = SQLITE_ERROR if (*Pager)(unsafe.Pointer(pPager)).FpWal != 0 { rc = Xsqlite3WalSnapshotGet(tls, (*Pager)(unsafe.Pointer(pPager)).FpWal, ppSnapshot) @@ -38453,7 +38463,7 @@ func Xsqlite3PagerSnapshotGet(tls *libc.TLS, pPager uintptr, ppSnapshot uintptr) // If this is a WAL database, store a pointer to pSnapshot. Next time a // read transaction is opened, attempt to read from the snapshot it // identifies. If this is not a WAL database, return an error. -func Xsqlite3PagerSnapshotOpen(tls *libc.TLS, pPager uintptr, pSnapshot uintptr) int32 { /* sqlite3.c:60863:20: */ +func Xsqlite3PagerSnapshotOpen(tls *libc.TLS, pPager uintptr, pSnapshot uintptr) int32 { /* sqlite3.c:60873:20: */ var rc int32 = SQLITE_OK if (*Pager)(unsafe.Pointer(pPager)).FpWal != 0 { Xsqlite3WalSnapshotOpen(tls, (*Pager)(unsafe.Pointer(pPager)).FpWal, pSnapshot) @@ -38465,7 +38475,7 @@ func Xsqlite3PagerSnapshotOpen(tls *libc.TLS, pPager uintptr, pSnapshot uintptr) // If this is a WAL database, call sqlite3WalSnapshotRecover(). If this // is not a WAL database, return an error. -func Xsqlite3PagerSnapshotRecover(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:60880:20: */ +func Xsqlite3PagerSnapshotRecover(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:60890:20: */ var rc int32 if (*Pager)(unsafe.Pointer(pPager)).FpWal != 0 { rc = Xsqlite3WalSnapshotRecover(tls, (*Pager)(unsafe.Pointer(pPager)).FpWal) @@ -38485,7 +38495,7 @@ func Xsqlite3PagerSnapshotRecover(tls *libc.TLS, pPager uintptr) int32 { /* sqli // the CHECKPOINTER lock cannot be obtained, SQLITE_BUSY. If any error // occurs (any value other than SQLITE_OK is returned), the CHECKPOINTER // lock is released before returning. -func Xsqlite3PagerSnapshotCheck(tls *libc.TLS, pPager uintptr, pSnapshot uintptr) int32 { /* sqlite3.c:60902:20: */ +func Xsqlite3PagerSnapshotCheck(tls *libc.TLS, pPager uintptr, pSnapshot uintptr) int32 { /* sqlite3.c:60912:20: */ var rc int32 if (*Pager)(unsafe.Pointer(pPager)).FpWal != 0 { rc = Xsqlite3WalSnapshotCheck(tls, (*Pager)(unsafe.Pointer(pPager)).FpWal, pSnapshot) @@ -38497,7 +38507,7 @@ func Xsqlite3PagerSnapshotCheck(tls *libc.TLS, pPager uintptr, pSnapshot uintptr // Release a lock obtained by an earlier successful call to // sqlite3PagerSnapshotCheck(). -func Xsqlite3PagerSnapshotUnlock(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:60916:21: */ +func Xsqlite3PagerSnapshotUnlock(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:60926:21: */ Xsqlite3WalSnapshotUnlock(tls, (*Pager)(unsafe.Pointer(pPager)).FpWal) } @@ -39076,7 +39086,7 @@ type WalIndexHdr1 = struct { // byte. // Object declarations -type WalIndexHdr = WalIndexHdr1 /* sqlite3.c:61244:28 */ +type WalIndexHdr = WalIndexHdr1 /* sqlite3.c:61254:28 */ type WalIterator1 = struct { FiPrior U32 FnSegment int32 @@ -39087,18 +39097,18 @@ type WalIterator1 = struct { FnEntry int32 FiZero int32 } -} /* sqlite3.c:61245:9 */ +} /* sqlite3.c:61255:9 */ -type WalIterator = WalIterator1 /* sqlite3.c:61245:28 */ +type WalIterator = WalIterator1 /* sqlite3.c:61255:28 */ type WalCkptInfo1 = struct { FnBackfill U32 FaReadMark [5]U32 FaLock [8]U8 FnBackfillAttempted U32 FnotUsed0 U32 -} /* sqlite3.c:61246:9 */ +} /* sqlite3.c:61256:9 */ -type WalCkptInfo = WalCkptInfo1 /* sqlite3.c:61246:28 */ +type WalCkptInfo = WalCkptInfo1 /* sqlite3.c:61256:28 */ // Candidate values for Wal.exclusiveMode. @@ -39106,7 +39116,7 @@ type WalCkptInfo = WalCkptInfo1 /* sqlite3.c:61246:28 */ // Each page of the wal-index mapping contains a hash-table made up of // an array of HASHTABLE_NSLOT elements of the following type. -type Ht_slot = U16 /* sqlite3.c:61501:13 */ +type Ht_slot = U16 /* sqlite3.c:61511:13 */ // 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 @@ -39127,7 +39137,7 @@ type WalSegment = struct { FaPgno uintptr FnEntry int32 FiZero int32 -} /* sqlite3.c:61245:9 */ +} /* sqlite3.c:61255:9 */ // Define the parameters of the hash tables in the wal-index file. There // is a hash-table following every HASHTABLE_NPAGE page numbers in the @@ -39158,7 +39168,7 @@ type WalSegment = struct { // (3) rc==SQLITE_OK and *ppPage==NULL // only if iPage==0 // // Scenario (3) can only occur when pWal->writeLock is false and iPage==0 -func walIndexPageRealloc(tls *libc.TLS, pWal uintptr, iPage int32, ppPage uintptr) int32 { /* sqlite3.c:61572:28: */ +func walIndexPageRealloc(tls *libc.TLS, pWal uintptr, iPage int32, ppPage uintptr) int32 { /* sqlite3.c:61582:28: */ var rc int32 = SQLITE_OK // Enlarge the pWal->apWiData[] array if required @@ -39204,7 +39214,7 @@ func walIndexPageRealloc(tls *libc.TLS, pWal uintptr, iPage int32, ppPage uintpt return rc } -func walIndexPage(tls *libc.TLS, pWal uintptr, iPage int32, ppPage uintptr) int32 { /* sqlite3.c:61621:12: */ +func walIndexPage(tls *libc.TLS, pWal uintptr, iPage int32, ppPage uintptr) int32 { /* sqlite3.c:61631:12: */ if (*Wal)(unsafe.Pointer(pWal)).FnWiData <= iPage || libc.AssignPtrUintptr(ppPage, *(*uintptr)(unsafe.Pointer((*Wal)(unsafe.Pointer(pWal)).FapWiData + uintptr(iPage)*4))) == uintptr(0) { return walIndexPageRealloc(tls, pWal, iPage, ppPage) } @@ -39212,13 +39222,13 @@ func walIndexPage(tls *libc.TLS, pWal uintptr, iPage int32, ppPage uintptr) int3 } // Return a pointer to the WalCkptInfo structure in the wal-index. -func walCkptInfo(tls *libc.TLS, pWal uintptr) uintptr { /* sqlite3.c:61635:29: */ +func walCkptInfo(tls *libc.TLS, pWal uintptr) uintptr { /* sqlite3.c:61645:29: */ return *(*uintptr)(unsafe.Pointer((*Wal)(unsafe.Pointer(pWal)).FapWiData)) + 24*4 } // Return a pointer to the WalIndexHdr structure in the wal-index. -func walIndexHdr(tls *libc.TLS, pWal uintptr) uintptr { /* sqlite3.c:61643:29: */ +func walIndexHdr(tls *libc.TLS, pWal uintptr) uintptr { /* sqlite3.c:61653:29: */ return *(*uintptr)(unsafe.Pointer((*Wal)(unsafe.Pointer(pWal)).FapWiData)) } @@ -39236,7 +39246,7 @@ func walIndexHdr(tls *libc.TLS, pWal uintptr) uintptr { /* sqlite3.c:61643:29: * // The checksum is written back into aOut[] before returning. // // nByte must be a positive multiple of 8. -func walChecksumBytes(tls *libc.TLS, nativeCksum int32, a uintptr, nByte int32, aIn uintptr, aOut uintptr) { /* sqlite3.c:61669:13: */ +func walChecksumBytes(tls *libc.TLS, nativeCksum int32, a uintptr, nByte int32, aIn uintptr, aOut uintptr) { /* sqlite3.c:61679:13: */ var s1 U32 var s2 U32 var aData uintptr = a @@ -39268,7 +39278,7 @@ func walChecksumBytes(tls *libc.TLS, nativeCksum int32, a uintptr, nByte int32, // If there is the possibility of concurrent access to the SHM file // from multiple threads and/or processes, then do a memory barrier. -func walShmBarrier(tls *libc.TLS, pWal uintptr) { /* sqlite3.c:61712:13: */ +func walShmBarrier(tls *libc.TLS, pWal uintptr) { /* sqlite3.c:61722:13: */ if int32((*Wal)(unsafe.Pointer(pWal)).FexclusiveMode) != WAL_HEAPMEMORY_MODE { Xsqlite3OsShmBarrier(tls, (*Wal)(unsafe.Pointer(pWal)).FpDbFd) } @@ -39283,7 +39293,7 @@ func walShmBarrier(tls *libc.TLS, pWal uintptr) { /* sqlite3.c:61712:13: */ // Write the header information in pWal->hdr into the wal-index. // // The checksum on pWal->hdr is updated before it is written. -func walIndexWriteHdr(tls *libc.TLS, pWal uintptr) { /* sqlite3.c:61736:28: */ +func walIndexWriteHdr(tls *libc.TLS, pWal uintptr) { /* sqlite3.c:61746:28: */ var aHdr uintptr = walIndexHdr(tls, pWal) var nCksum int32 = int32(uintptr(0) + 40) @@ -39307,7 +39317,7 @@ func walIndexWriteHdr(tls *libc.TLS, pWal uintptr) { /* sqlite3.c:61736:28: */ // 12: Salt-2 (copied from the wal-header) // 16: Checksum-1. // 20: Checksum-2. -func walEncodeFrame(tls *libc.TLS, pWal uintptr, iPage U32, nTruncate U32, aData uintptr, aFrame uintptr) { /* sqlite3.c:61763:13: */ +func walEncodeFrame(tls *libc.TLS, pWal uintptr, iPage U32, nTruncate U32, aData uintptr, aFrame uintptr) { /* sqlite3.c:61773:13: */ var nativeCksum int32 // True for native byte-order checksums var aCksum uintptr = pWal + 52 + 24 @@ -39330,7 +39340,7 @@ func walEncodeFrame(tls *libc.TLS, pWal uintptr, iPage U32, nTruncate U32, aData // Check to see if the frame with header in aFrame[] and content // in aData[] is valid. If it is a valid frame, fill *piPage and // *pnTruncate and return true. Return if the frame is not valid. -func walDecodeFrame(tls *libc.TLS, pWal uintptr, piPage uintptr, pnTruncate uintptr, aData uintptr, aFrame uintptr) int32 { /* sqlite3.c:61794:12: */ +func walDecodeFrame(tls *libc.TLS, pWal uintptr, piPage uintptr, pnTruncate uintptr, aData uintptr, aFrame uintptr) int32 { /* sqlite3.c:61804:12: */ var nativeCksum int32 // True for native byte-order checksums var aCksum uintptr = pWal + 52 + 24 var pgno U32 // Page number of the frame @@ -39372,7 +39382,7 @@ func walDecodeFrame(tls *libc.TLS, pWal uintptr, piPage uintptr, pnTruncate uint // through the unlocked state first. // // In locking_mode=EXCLUSIVE, all of these routines become no-ops. -func walLockShared(tls *libc.TLS, pWal uintptr, lockIdx int32) int32 { /* sqlite3.c:61873:12: */ +func walLockShared(tls *libc.TLS, pWal uintptr, lockIdx int32) int32 { /* sqlite3.c:61883:12: */ var rc int32 if (*Wal)(unsafe.Pointer(pWal)).FexclusiveMode != 0 { return SQLITE_OK @@ -39383,7 +39393,7 @@ func walLockShared(tls *libc.TLS, pWal uintptr, lockIdx int32) int32 { /* sqlite return rc } -func walUnlockShared(tls *libc.TLS, pWal uintptr, lockIdx int32) { /* sqlite3.c:61883:13: */ +func walUnlockShared(tls *libc.TLS, pWal uintptr, lockIdx int32) { /* sqlite3.c:61893:13: */ if (*Wal)(unsafe.Pointer(pWal)).FexclusiveMode != 0 { return } @@ -39392,7 +39402,7 @@ func walUnlockShared(tls *libc.TLS, pWal uintptr, lockIdx int32) { /* sqlite3.c: } -func walLockExclusive(tls *libc.TLS, pWal uintptr, lockIdx int32, n int32) int32 { /* sqlite3.c:61889:12: */ +func walLockExclusive(tls *libc.TLS, pWal uintptr, lockIdx int32, n int32) int32 { /* sqlite3.c:61899:12: */ var rc int32 if (*Wal)(unsafe.Pointer(pWal)).FexclusiveMode != 0 { return SQLITE_OK @@ -39403,7 +39413,7 @@ func walLockExclusive(tls *libc.TLS, pWal uintptr, lockIdx int32, n int32) int32 return rc } -func walUnlockExclusive(tls *libc.TLS, pWal uintptr, lockIdx int32, n int32) { /* sqlite3.c:61899:13: */ +func walUnlockExclusive(tls *libc.TLS, pWal uintptr, lockIdx int32, n int32) { /* sqlite3.c:61909:13: */ if (*Wal)(unsafe.Pointer(pWal)).FexclusiveMode != 0 { return } @@ -39415,12 +39425,12 @@ func walUnlockExclusive(tls *libc.TLS, pWal uintptr, lockIdx int32, n int32) { / // Compute a hash on a page number. The resulting hash value must land // between 0 and (HASHTABLE_NSLOT-1). The walHashNext() function advances // the hash to the next value in the event of a collision. -func walHash(tls *libc.TLS, iPage U32) int32 { /* sqlite3.c:61912:12: */ +func walHash(tls *libc.TLS, iPage U32) int32 { /* sqlite3.c:61922:12: */ return int32(iPage * U32(HASHTABLE_HASH_1) & U32(HASHTABLE_NPAGE*2-1)) } -func walNextHash(tls *libc.TLS, iPriorHash int32) int32 { /* sqlite3.c:61917:12: */ +func walNextHash(tls *libc.TLS, iPriorHash int32) int32 { /* sqlite3.c:61927:12: */ return (iPriorHash + 1) & (HASHTABLE_NPAGE*2 - 1) } @@ -39431,12 +39441,12 @@ type WalHashLoc1 = struct { FaHash uintptr FaPgno uintptr FiZero U32 -} /* sqlite3.c:61926:9 */ +} /* sqlite3.c:61936:9 */ // An instance of the WalHashLoc object is used to describe the location // of a page hash table in the wal-index. This becomes the return value // from walHashGet(). -type WalHashLoc = WalHashLoc1 /* sqlite3.c:61926:27 */ +type WalHashLoc = WalHashLoc1 /* sqlite3.c:61936:27 */ // Return pointers to the hash table and page number array stored on // page iHash of the wal-index. The wal-index is broken into 32KB pages @@ -39450,7 +39460,7 @@ type WalHashLoc = WalHashLoc1 /* sqlite3.c:61926:27 */ // // Finally, set pLoc->aPgno so that pLoc->aPgno[0] is the page number of the // first frame indexed by the hash table, frame (pLoc->iZero). -func walHashGet(tls *libc.TLS, pWal uintptr, iHash int32, pLoc uintptr) int32 { /* sqlite3.c:61947:12: */ +func walHashGet(tls *libc.TLS, pWal uintptr, iHash int32, pLoc uintptr) int32 { /* sqlite3.c:61957:12: */ var rc int32 // Return code rc = walIndexPage(tls, pWal, iHash, pLoc+4) @@ -39473,14 +39483,14 @@ func walHashGet(tls *libc.TLS, pWal uintptr, iHash int32, pLoc uintptr) int32 { // and page-number array that contain entries corresponding to WAL frame // iFrame. The wal-index is broken up into 32KB pages. Wal-index pages // are numbered starting from 0. -func walFramePage(tls *libc.TLS, iFrame U32) int32 { /* sqlite3.c:61977:12: */ +func walFramePage(tls *libc.TLS, iFrame U32) int32 { /* sqlite3.c:61987:12: */ var iHash int32 = int32((iFrame + U32(HASHTABLE_NPAGE) - (uint32(HASHTABLE_NPAGE) - (uint32(unsafe.Sizeof(WalIndexHdr{}))*uint32(2)+uint32(unsafe.Sizeof(WalCkptInfo{})))/uint32(unsafe.Sizeof(U32(0)))) - U32(1)) / U32(HASHTABLE_NPAGE)) return iHash } // Return the page number associated with frame iFrame in this WAL. -func walFramePgno(tls *libc.TLS, pWal uintptr, iFrame U32) U32 { /* sqlite3.c:61992:12: */ +func walFramePgno(tls *libc.TLS, pWal uintptr, iFrame U32) U32 { /* sqlite3.c:62002:12: */ var iHash int32 = walFramePage(tls, iFrame) if iHash == 0 { return *(*U32)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer((*Wal)(unsafe.Pointer(pWal)).FapWiData)) + uintptr((uint32(unsafe.Sizeof(WalIndexHdr{}))*uint32(2)+uint32(unsafe.Sizeof(WalCkptInfo{})))/uint32(unsafe.Sizeof(U32(0)))+iFrame-uint32(1))*4)) @@ -39498,7 +39508,7 @@ func walFramePgno(tls *libc.TLS, pWal uintptr, iFrame U32) U32 { /* sqlite3.c:61 // updated. Any later hash tables will be automatically cleared when // pWal->hdr.mxFrame advances to the point where those hash tables are // actually needed. -func walCleanupHash(tls *libc.TLS, pWal uintptr) { /* sqlite3.c:62012:13: */ +func walCleanupHash(tls *libc.TLS, pWal uintptr) { /* sqlite3.c:62022:13: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -39541,7 +39551,7 @@ func walCleanupHash(tls *libc.TLS, pWal uintptr) { /* sqlite3.c:62012:13: */ // Set an entry in the wal-index that will map database page number // pPage into WAL frame iFrame. -func walIndexAppend(tls *libc.TLS, pWal uintptr, iFrame U32, iPage U32) int32 { /* sqlite3.c:62074:12: */ +func walIndexAppend(tls *libc.TLS, pWal uintptr, iFrame U32, iPage U32) int32 { /* sqlite3.c:62084:12: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -39582,7 +39592,7 @@ func walIndexAppend(tls *libc.TLS, pWal uintptr, iFrame U32, iPage U32) int32 { nCollide = idx for iKey = walHash(tls, iPage); *(*Ht_slot)(unsafe.Pointer((*WalHashLoc)(unsafe.Pointer(bp /* &sLoc */)).FaHash + uintptr(iKey)*2)) != 0; iKey = walNextHash(tls, iKey) { if libc.PostDecInt32(&nCollide, 1) == 0 { - return Xsqlite3CorruptError(tls, 62114) + return Xsqlite3CorruptError(tls, 62124) } } *(*U32)(unsafe.Pointer((*WalHashLoc)(unsafe.Pointer(bp /* &sLoc */)).FaPgno + uintptr(idx-1)*4)) = iPage @@ -39601,7 +39611,7 @@ func walIndexAppend(tls *libc.TLS, pWal uintptr, iFrame U32, iPage U32) int32 { // WAL_RECOVER_LOCK is also held so that other threads will know // that this thread is running recovery. If unable to establish // the necessary locks, this routine returns SQLITE_BUSY. -func walIndexRecover(tls *libc.TLS, pWal uintptr) int32 { /* sqlite3.c:62163:12: */ +func walIndexRecover(tls *libc.TLS, pWal uintptr) int32 { /* sqlite3.c:62173:12: */ bp := tls.Alloc(76) defer tls.Free(76) @@ -39716,7 +39726,7 @@ __6: if !(version != U32(WAL_MAX_VERSION)) { goto __7 } - rc = Xsqlite3CantopenError(tls, 62246) + rc = Xsqlite3CantopenError(tls, 62256) goto finished __7: ; @@ -39920,7 +39930,7 @@ recovery_error: } // Close an open wal-index. -func walIndexClose(tls *libc.TLS, pWal uintptr, isDelete int32) { /* sqlite3.c:62386:13: */ +func walIndexClose(tls *libc.TLS, pWal uintptr, isDelete int32) { /* sqlite3.c:62396:13: */ if int32((*Wal)(unsafe.Pointer(pWal)).FexclusiveMode) == WAL_HEAPMEMORY_MODE || (*Wal)(unsafe.Pointer(pWal)).FbShmUnreliable != 0 { var i int32 for i = 0; i < (*Wal)(unsafe.Pointer(pWal)).FnWiData; i++ { @@ -39946,7 +39956,7 @@ func walIndexClose(tls *libc.TLS, pWal uintptr, isDelete int32) { /* sqlite3.c:6 // If the log file is successfully opened, SQLITE_OK is returned and // *ppWal is set to point to a new WAL handle. If an error occurs, // an SQLite error code is returned and *ppWal is left unmodified. -func Xsqlite3WalOpen(tls *libc.TLS, pVfs uintptr, pDbFd uintptr, zWalName uintptr, bNoShm int32, mxWalSize I64, ppWal uintptr) int32 { /* sqlite3.c:62414:20: */ +func Xsqlite3WalOpen(tls *libc.TLS, pVfs uintptr, pDbFd uintptr, zWalName uintptr, bNoShm int32, mxWalSize I64, ppWal uintptr) int32 { /* sqlite3.c:62424:20: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -40018,7 +40028,7 @@ func Xsqlite3WalOpen(tls *libc.TLS, pVfs uintptr, pDbFd uintptr, zWalName uintpt } // Change the size to which the WAL file is trucated on each reset. -func Xsqlite3WalLimit(tls *libc.TLS, pWal uintptr, iLimit I64) { /* sqlite3.c:62517:21: */ +func Xsqlite3WalLimit(tls *libc.TLS, pWal uintptr, iLimit I64) { /* sqlite3.c:62527:21: */ if pWal != 0 { (*Wal)(unsafe.Pointer(pWal)).FmxWalSize = iLimit } @@ -40032,7 +40042,7 @@ func Xsqlite3WalLimit(tls *libc.TLS, pWal uintptr, iLimit I64) { /* sqlite3.c:62 // // Return 0 on success. If there are no pages in the WAL with a page // number larger than *piPage, then return 1. -func walIteratorNext(tls *libc.TLS, p uintptr, piPage uintptr, piFrame uintptr) int32 { /* sqlite3.c:62531:12: */ +func walIteratorNext(tls *libc.TLS, p uintptr, piPage uintptr, piFrame uintptr) int32 { /* sqlite3.c:62541:12: */ var iMin U32 // Result pgno must be greater than iMin var iRet U32 = 0xFFFFFFFF // 0xffffffff is never a valid page number var i int32 // For looping through segments @@ -40079,7 +40089,7 @@ func walIteratorNext(tls *libc.TLS, p uintptr, piPage uintptr, piFrame uintptr) // aLeft[X]!=aRight[Y] && aContent[aLeft[X]] == aContent[aRight[Y]] // // When that happens, omit the aLeft[X] and use the aRight[Y] index. -func walMerge(tls *libc.TLS, aContent uintptr, aLeft uintptr, nLeft int32, paRight uintptr, pnRight uintptr, aTmp uintptr) { /* sqlite3.c:62584:13: */ +func walMerge(tls *libc.TLS, aContent uintptr, aLeft uintptr, nLeft int32, paRight uintptr, pnRight uintptr, aTmp uintptr) { /* sqlite3.c:62594:13: */ var iLeft int32 = 0 // Current index in aLeft var iRight int32 = 0 // Current index in aRight var iOut int32 = 0 // Current index in output buffer @@ -40125,7 +40135,7 @@ func walMerge(tls *libc.TLS, aContent uintptr, aLeft uintptr, nLeft int32, paRig // // Keep the larger of the two values aList[X] and aList[Y] and discard // the smaller. -func walMergesort(tls *libc.TLS, aContent uintptr, aBuffer uintptr, aList uintptr, pnList uintptr) { /* sqlite3.c:62641:13: */ +func walMergesort(tls *libc.TLS, aContent uintptr, aBuffer uintptr, aList uintptr, pnList uintptr) { /* sqlite3.c:62651:13: */ bp := tls.Alloc(112) defer tls.Free(112) @@ -40170,10 +40180,10 @@ func walMergesort(tls *libc.TLS, aContent uintptr, aBuffer uintptr, aList uintpt type Sublist = struct { FnList int32 FaList uintptr -} /* sqlite3.c:62647:3 */ +} /* sqlite3.c:62657:3 */ // Free an iterator allocated by walIteratorInit(). -func walIteratorFree(tls *libc.TLS, p uintptr) { /* sqlite3.c:62704:13: */ +func walIteratorFree(tls *libc.TLS, p uintptr) { /* sqlite3.c:62714:13: */ Xsqlite3_free(tls, p) } @@ -40188,7 +40198,7 @@ func walIteratorFree(tls *libc.TLS, p uintptr) { /* sqlite3.c:62704:13: */ // // The calling routine should invoke walIteratorFree() to destroy the // WalIterator object when it has finished with it. -func walIteratorInit(tls *libc.TLS, pWal uintptr, nBackfill U32, pp uintptr) int32 { /* sqlite3.c:62721:12: */ +func walIteratorInit(tls *libc.TLS, pWal uintptr, nBackfill U32, pp uintptr) int32 { /* sqlite3.c:62731:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -40272,7 +40282,7 @@ func walIteratorInit(tls *libc.TLS, pWal uintptr, nBackfill U32, pp uintptr) int // n. If the attempt fails and parameter xBusy is not NULL, then it is a // 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) int32 { /* sqlite3.c:62884:12: */ +func walBusyLock(tls *libc.TLS, pWal uintptr, xBusy uintptr, pBusyArg uintptr, lockIdx int32, n int32) int32 { /* sqlite3.c:62894:12: */ var rc int32 for __ccgo := true; __ccgo; __ccgo = xBusy != 0 && rc == SQLITE_BUSY && (*struct { f func(*libc.TLS, uintptr) int32 @@ -40284,7 +40294,7 @@ func walBusyLock(tls *libc.TLS, pWal uintptr, xBusy uintptr, pBusyArg uintptr, l // The cache of the wal-index header must be valid to call this function. // Return the page-size in bytes used by the database. -func walPagesize(tls *libc.TLS, pWal uintptr) int32 { /* sqlite3.c:62908:12: */ +func walPagesize(tls *libc.TLS, pWal uintptr) int32 { /* sqlite3.c:62918:12: */ return int32((*Wal)(unsafe.Pointer(pWal)).Fhdr.FszPage)&0xfe00 + int32((*Wal)(unsafe.Pointer(pWal)).Fhdr.FszPage)&0x0001<<16 } @@ -40303,7 +40313,7 @@ func walPagesize(tls *libc.TLS, pWal uintptr) int32 { /* sqlite3.c:62908:12: */ // The value of parameter salt1 is used as the aSalt[1] value in the // new wal-index header. It should be passed a pseudo-random value (i.e. // one obtained from sqlite3_randomness()). -func walRestartHdr(tls *libc.TLS, pWal uintptr, salt1 U32) { /* sqlite3.c:62929:13: */ +func walRestartHdr(tls *libc.TLS, pWal uintptr, salt1 U32) { /* sqlite3.c:62939:13: */ bp := tls.Alloc(4) defer tls.Free(4) *(*U32)(unsafe.Pointer(bp)) = salt1 @@ -40354,7 +40364,7 @@ func walRestartHdr(tls *libc.TLS, pWal uintptr, salt1 U32) { /* sqlite3.c:62929: // The caller must be holding sufficient locks to ensure that no other // 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) int32 { /* sqlite3.c:62976:12: */ +func walCheckpoint(tls *libc.TLS, pWal uintptr, db uintptr, eMode int32, xBusy uintptr, pBusyArg uintptr, sync_flags int32, zBuf uintptr) int32 { /* sqlite3.c:62986:12: */ bp := tls.Alloc(36) defer tls.Free(36) @@ -40485,7 +40495,7 @@ __10: // 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 = Xsqlite3CorruptError(tls, 63060) + rc = Xsqlite3CorruptError(tls, 63070) goto __15 __14: Xsqlite3OsFileControlHint(tls, (*Wal)(unsafe.Pointer(pWal)).FpDbFd, SQLITE_FCNTL_SIZE_HINT, bp+16) @@ -40646,7 +40656,7 @@ walcheckpoint_out: // If the WAL file is currently larger than nMax bytes in size, truncate // it to exactly nMax bytes. If an error occurs while doing so, ignore it. -func walLimitSize(tls *libc.TLS, pWal uintptr, nMax I64) { /* sqlite3.c:63162:13: */ +func walLimitSize(tls *libc.TLS, pWal uintptr, nMax I64) { /* sqlite3.c:63172:13: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -40665,7 +40675,7 @@ func walLimitSize(tls *libc.TLS, pWal uintptr, nMax I64) { /* sqlite3.c:63162:13 } // Close a connection to a log file. -func Xsqlite3WalClose(tls *libc.TLS, pWal uintptr, db uintptr, sync_flags int32, nBuf int32, zBuf uintptr) int32 { /* sqlite3.c:63179:20: */ +func Xsqlite3WalClose(tls *libc.TLS, pWal uintptr, db uintptr, sync_flags int32, nBuf int32, zBuf uintptr) int32 { /* sqlite3.c:63189:20: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -40737,7 +40747,7 @@ func Xsqlite3WalClose(tls *libc.TLS, pWal uintptr, db uintptr, sync_flags int32, // // If the checksum cannot be verified return non-zero. If the header // is read successfully and the checksum verified, return zero. -func walIndexTryHdr(tls *libc.TLS, pWal uintptr, pChanged uintptr) int32 { /* sqlite3.c:63260:27: */ +func walIndexTryHdr(tls *libc.TLS, pWal uintptr, pChanged uintptr) int32 { /* sqlite3.c:63270:27: */ bp := tls.Alloc(104) defer tls.Free(104) @@ -40806,7 +40816,7 @@ func walIndexTryHdr(tls *libc.TLS, pWal uintptr, pChanged uintptr) int32 { /* sq // // If the wal-index header is successfully read, return SQLITE_OK. // Otherwise an SQLite error code. -func walIndexReadHdr(tls *libc.TLS, pWal uintptr, pChanged uintptr) int32 { /* sqlite3.c:63330:12: */ +func walIndexReadHdr(tls *libc.TLS, pWal uintptr, pChanged uintptr) int32 { /* sqlite3.c:63340:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -40886,7 +40896,7 @@ func walIndexReadHdr(tls *libc.TLS, pWal uintptr, pChanged uintptr) int32 { /* s // sure the wal-index was not constructed with some future format that // this version of SQLite cannot understand. if badHdr == 0 && (*Wal)(unsafe.Pointer(pWal)).Fhdr.FiVersion != U32(WALINDEX_MAX_VERSION) { - rc = Xsqlite3CantopenError(tls, 63409) + rc = Xsqlite3CantopenError(tls, 63419) } if (*Wal)(unsafe.Pointer(pWal)).FbShmUnreliable != 0 { if rc != SQLITE_OK { @@ -40931,7 +40941,7 @@ func walIndexReadHdr(tls *libc.TLS, pWal uintptr, pChanged uintptr) int32 { /* s // beginning (including attempting to map the *-shm file). // // If an error occurs, an SQLite error code is returned. -func walBeginShmUnreliable(tls *libc.TLS, pWal uintptr, pChanged uintptr) int32 { /* sqlite3.c:63454:12: */ +func walBeginShmUnreliable(tls *libc.TLS, pWal uintptr, pChanged uintptr) int32 { /* sqlite3.c:63464:12: */ bp := tls.Alloc(64) defer tls.Free(64) @@ -41197,7 +41207,7 @@ __15: // update values of the aReadMark[] array in the header, but if it does // so it takes care to hold an exclusive lock on the corresponding // WAL_READ_LOCK() while changing values. -func walTryBeginRead(tls *libc.TLS, pWal uintptr, pChanged uintptr, useWal int32, cnt int32) int32 { /* sqlite3.c:63651:12: */ +func walTryBeginRead(tls *libc.TLS, pWal uintptr, pChanged uintptr, useWal int32, cnt int32) int32 { /* sqlite3.c:63661:12: */ var pInfo uintptr // Checkpoint information in wal-index var mxReadMark U32 // Largest aReadMark[] value var mxI int32 // Index of largest aReadMark[] value @@ -41414,7 +41424,7 @@ func walTryBeginRead(tls *libc.TLS, pWal uintptr, pChanged uintptr, useWal int32 // SQLITE_OK is returned if successful, or an SQLite error code if an // error occurs. It is not an error if nBackfillAttempted cannot be // decreased at all. -func Xsqlite3WalSnapshotRecover(tls *libc.TLS, pWal uintptr) int32 { /* sqlite3.c:63881:20: */ +func Xsqlite3WalSnapshotRecover(tls *libc.TLS, pWal uintptr) int32 { /* sqlite3.c:63891:20: */ bp := tls.Alloc(20) defer tls.Free(20) @@ -41488,7 +41498,7 @@ func Xsqlite3WalSnapshotRecover(tls *libc.TLS, pWal uintptr) int32 { /* sqlite3. // transaction, then *pChanged is set to 1 before returning. The // Pager layer will use this to know that its cache is stale and // needs to be flushed. -func Xsqlite3WalBeginReadTransaction(tls *libc.TLS, pWal uintptr, pChanged uintptr) int32 { /* sqlite3.c:63952:20: */ +func Xsqlite3WalBeginReadTransaction(tls *libc.TLS, pWal uintptr, pChanged uintptr) int32 { /* sqlite3.c:63962:20: */ var rc int32 // Return code var cnt int32 = 0 // Number of TryBeginRead attempts var bChanged int32 = 0 @@ -41576,7 +41586,7 @@ func Xsqlite3WalBeginReadTransaction(tls *libc.TLS, pWal uintptr, pChanged uintp // Finish with a read transaction. All this does is release the // read-lock. -func Xsqlite3WalEndReadTransaction(tls *libc.TLS, pWal uintptr) { /* sqlite3.c:64060:21: */ +func Xsqlite3WalEndReadTransaction(tls *libc.TLS, pWal uintptr) { /* sqlite3.c:64070:21: */ Xsqlite3WalEndWriteTransaction(tls, pWal) if int32((*Wal)(unsafe.Pointer(pWal)).FreadLock) >= 0 { walUnlockShared(tls, pWal, 3+int32((*Wal)(unsafe.Pointer(pWal)).FreadLock)) @@ -41590,7 +41600,7 @@ func Xsqlite3WalEndReadTransaction(tls *libc.TLS, pWal uintptr) { /* sqlite3.c:6 // // Return SQLITE_OK if successful, or an error code if an error occurs. If an // error does occur, the final value of *piRead is undefined. -func Xsqlite3WalFindFrame(tls *libc.TLS, pWal uintptr, pgno Pgno, piRead uintptr) int32 { /* sqlite3.c:64076:20: */ +func Xsqlite3WalFindFrame(tls *libc.TLS, pWal uintptr, pgno Pgno, piRead uintptr) int32 { /* sqlite3.c:64086:20: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -41657,7 +41667,7 @@ func Xsqlite3WalFindFrame(tls *libc.TLS, pWal uintptr, pgno Pgno, piRead uintptr iRead = iFrame } if libc.PostDecInt32(&nCollide, 1) == 0 { - return Xsqlite3CorruptError(tls, 64146) + return Xsqlite3CorruptError(tls, 64156) } iKey = walNextHash(tls, iKey) } @@ -41673,7 +41683,7 @@ func Xsqlite3WalFindFrame(tls *libc.TLS, pWal uintptr, pgno Pgno, piRead uintptr // Read the contents of frame iRead from the wal file into buffer pOut // (which is nOut bytes in size). Return SQLITE_OK if successful, or an // error code otherwise. -func Xsqlite3WalReadFrame(tls *libc.TLS, pWal uintptr, iRead U32, nOut int32, pOut uintptr) int32 { /* sqlite3.c:64180:20: */ +func Xsqlite3WalReadFrame(tls *libc.TLS, pWal uintptr, iRead U32, nOut int32, pOut uintptr) int32 { /* sqlite3.c:64190:20: */ var sz int32 var iOffset I64 sz = int32((*Wal)(unsafe.Pointer(pWal)).Fhdr.FszPage) @@ -41690,7 +41700,7 @@ func Xsqlite3WalReadFrame(tls *libc.TLS, pWal uintptr, iRead U32, nOut int32, pO } // Return the size of the database in pages (or zero, if unknown). -func Xsqlite3WalDbsize(tls *libc.TLS, pWal uintptr) Pgno { /* sqlite3.c:64200:21: */ +func Xsqlite3WalDbsize(tls *libc.TLS, pWal uintptr) Pgno { /* sqlite3.c:64210:21: */ if pWal != 0 && int32((*Wal)(unsafe.Pointer(pWal)).FreadLock) >= 0 { return (*Wal)(unsafe.Pointer(pWal)).Fhdr.FnPage } @@ -41708,7 +41718,7 @@ func Xsqlite3WalDbsize(tls *libc.TLS, pWal uintptr) Pgno { /* sqlite3.c:64200:21 // returns SQLITE_BUSY in that case and no write transaction is started. // // There can only be a single writer active at a time. -func Xsqlite3WalBeginWriteTransaction(tls *libc.TLS, pWal uintptr) int32 { /* sqlite3.c:64221:20: */ +func Xsqlite3WalBeginWriteTransaction(tls *libc.TLS, pWal uintptr) int32 { /* sqlite3.c:64231:20: */ var rc int32 // Cannot start a write transaction without first holding a read @@ -41740,7 +41750,7 @@ func Xsqlite3WalBeginWriteTransaction(tls *libc.TLS, pWal uintptr) int32 { /* sq // End a write transaction. The commit has already been done. This // routine merely releases the lock. -func Xsqlite3WalEndWriteTransaction(tls *libc.TLS, pWal uintptr) int32 { /* sqlite3.c:64269:20: */ +func Xsqlite3WalEndWriteTransaction(tls *libc.TLS, pWal uintptr) int32 { /* sqlite3.c:64279:20: */ if (*Wal)(unsafe.Pointer(pWal)).FwriteLock != 0 { walUnlockExclusive(tls, pWal, WAL_WRITE_LOCK, 1) (*Wal)(unsafe.Pointer(pWal)).FwriteLock = U8(0) @@ -41760,7 +41770,7 @@ func Xsqlite3WalEndWriteTransaction(tls *libc.TLS, pWal uintptr) int32 { /* sqli // // Otherwise, if the callback function does not return an error, this // function returns SQLITE_OK. -func Xsqlite3WalUndo(tls *libc.TLS, pWal uintptr, xUndo uintptr, pUndoCtx uintptr) int32 { /* sqlite3.c:64291:20: */ +func Xsqlite3WalUndo(tls *libc.TLS, pWal uintptr, xUndo uintptr, pUndoCtx uintptr) int32 { /* sqlite3.c:64301:20: */ var rc int32 = SQLITE_OK if (*Wal)(unsafe.Pointer(pWal)).FwriteLock != 0 { var iMax Pgno = (*Wal)(unsafe.Pointer(pWal)).Fhdr.FmxFrame @@ -41797,7 +41807,7 @@ func Xsqlite3WalUndo(tls *libc.TLS, pWal uintptr, xUndo uintptr, pUndoCtx uintpt // values. This function populates the array with values required to // "rollback" the write position of the WAL handle back to the current // point in the event of a savepoint rollback (via WalSavepointUndo()). -func Xsqlite3WalSavepoint(tls *libc.TLS, pWal uintptr, aWalData uintptr) { /* sqlite3.c:64331:21: */ +func Xsqlite3WalSavepoint(tls *libc.TLS, pWal uintptr, aWalData uintptr) { /* sqlite3.c:64341:21: */ *(*U32)(unsafe.Pointer(aWalData)) = (*Wal)(unsafe.Pointer(pWal)).Fhdr.FmxFrame *(*U32)(unsafe.Pointer(aWalData + 1*4)) = *(*U32)(unsafe.Pointer(pWal + 52 + 24)) @@ -41809,7 +41819,7 @@ func Xsqlite3WalSavepoint(tls *libc.TLS, pWal uintptr, aWalData uintptr) { /* sq // the values in the aWalData[] array. aWalData must point to an array // of WAL_SAVEPOINT_NDATA u32 values that has been previously populated // by a call to WalSavepoint(). -func Xsqlite3WalSavepointUndo(tls *libc.TLS, pWal uintptr, aWalData uintptr) int32 { /* sqlite3.c:64345:20: */ +func Xsqlite3WalSavepointUndo(tls *libc.TLS, pWal uintptr, aWalData uintptr) int32 { /* sqlite3.c:64355:20: */ var rc int32 = SQLITE_OK if *(*U32)(unsafe.Pointer(aWalData + 3*4)) != (*Wal)(unsafe.Pointer(pWal)).FnCkpt { @@ -41840,7 +41850,7 @@ func Xsqlite3WalSavepointUndo(tls *libc.TLS, pWal uintptr, aWalData uintptr) int // SQLITE_OK is returned if no error is encountered (regardless of whether // or not pWal->hdr.mxFrame is modified). An SQLite error code is returned // if an error occurs. -func walRestartLog(tls *libc.TLS, pWal uintptr) int32 { /* sqlite3.c:64382:12: */ +func walRestartLog(tls *libc.TLS, pWal uintptr) int32 { /* sqlite3.c:64392:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -41894,12 +41904,12 @@ type WalWriter1 = struct { FiSyncPoint Sqlite3_int64 FsyncFlags int32 FszPage int32 -} /* sqlite3.c:64429:9 */ +} /* sqlite3.c:64439:9 */ // Information about the current state of the WAL file and where // the next fsync should occur - passed from sqlite3WalFrames() into // walWriteToLog(). -type WalWriter = WalWriter1 /* sqlite3.c:64435:3 */ +type WalWriter = WalWriter1 /* sqlite3.c:64445:3 */ // Write iAmt bytes of content into the WAL file beginning at iOffset. // Do a sync when crossing the p->iSyncPoint boundary. @@ -41907,7 +41917,7 @@ type WalWriter = WalWriter1 /* sqlite3.c:64435:3 */ // In other words, if iSyncPoint is in between iOffset and iOffset+iAmt, // first write the part before iSyncPoint, then sync, then write the // rest. -func walWriteToLog(tls *libc.TLS, p uintptr, pContent uintptr, iAmt int32, iOffset Sqlite3_int64) int32 { /* sqlite3.c:64445:12: */ +func walWriteToLog(tls *libc.TLS, p uintptr, pContent uintptr, iAmt int32, iOffset Sqlite3_int64) int32 { /* sqlite3.c:64455:12: */ var rc int32 if iOffset < (*WalWriter)(unsafe.Pointer(p)).FiSyncPoint && iOffset+Sqlite3_int64(iAmt) >= (*WalWriter)(unsafe.Pointer(p)).FiSyncPoint { var iFirstAmt int32 = int32((*WalWriter)(unsafe.Pointer(p)).FiSyncPoint - iOffset) @@ -41929,7 +41939,7 @@ func walWriteToLog(tls *libc.TLS, p uintptr, pContent uintptr, iAmt int32, iOffs } // Write out a single frame of the WAL -func walWriteOneFrame(tls *libc.TLS, p uintptr, pPage uintptr, nTruncate int32, iOffset Sqlite3_int64) int32 { /* sqlite3.c:64470:12: */ +func walWriteOneFrame(tls *libc.TLS, p uintptr, pPage uintptr, nTruncate int32, iOffset Sqlite3_int64) int32 { /* sqlite3.c:64480:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -41954,7 +41964,7 @@ func walWriteOneFrame(tls *libc.TLS, p uintptr, pPage uintptr, nTruncate int32, // with the earliest to have been overwritten. // // SQLITE_OK is returned if successful, or an SQLite error code otherwise. -func walRewriteChecksums(tls *libc.TLS, pWal uintptr, iLast U32) int32 { /* sqlite3.c:64496:12: */ +func walRewriteChecksums(tls *libc.TLS, pWal uintptr, iLast U32) int32 { /* sqlite3.c:64506:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -42008,7 +42018,7 @@ func walRewriteChecksums(tls *libc.TLS, pWal uintptr, iLast U32) int32 { /* sqli // Write a set of frames to the log. The caller must hold the write-lock // on the log file (obtained using sqlite3WalBeginWriteTransaction()). -func Xsqlite3WalFrames(tls *libc.TLS, pWal uintptr, szPage int32, pList uintptr, nTruncate Pgno, isCommit int32, sync_flags int32) int32 { /* sqlite3.c:64545:20: */ +func Xsqlite3WalFrames(tls *libc.TLS, pWal uintptr, szPage int32, pList uintptr, nTruncate Pgno, isCommit int32, sync_flags int32) int32 { /* sqlite3.c:64555:20: */ bp := tls.Alloc(72) defer tls.Free(72) @@ -42241,7 +42251,7 @@ func Xsqlite3WalFrames(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 Xsqlite3WalCheckpoint(tls *libc.TLS, pWal uintptr, db uintptr, eMode int32, xBusy uintptr, pBusyArg uintptr, sync_flags int32, nBuf int32, zBuf uintptr, pnLog uintptr, pnCkpt uintptr) int32 { /* sqlite3.c:64783:20: */ +func Xsqlite3WalCheckpoint(tls *libc.TLS, pWal uintptr, db uintptr, eMode int32, xBusy uintptr, pBusyArg uintptr, sync_flags int32, nBuf int32, zBuf uintptr, pnLog uintptr, pnCkpt uintptr) int32 { /* sqlite3.c:64793:20: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -42306,7 +42316,7 @@ func Xsqlite3WalCheckpoint(tls *libc.TLS, pWal uintptr, db uintptr, eMode int32, if rc == SQLITE_OK { if (*Wal)(unsafe.Pointer(pWal)).Fhdr.FmxFrame != 0 && walPagesize(tls, pWal) != nBuf { - rc = Xsqlite3CorruptError(tls, 64865) + rc = Xsqlite3CorruptError(tls, 64875) } else { rc = walCheckpoint(tls, pWal, db, eMode2, xBusy2, pBusyArg, sync_flags, zBuf) } @@ -42350,7 +42360,7 @@ func Xsqlite3WalCheckpoint(tls *libc.TLS, pWal uintptr, db uintptr, eMode int32, // number of frames in the WAL at the point of the last commit since // sqlite3WalCallback() was called. If no commits have occurred since // the last call, then return 0. -func Xsqlite3WalCallback(tls *libc.TLS, pWal uintptr) int32 { /* sqlite3.c:64908:20: */ +func Xsqlite3WalCallback(tls *libc.TLS, pWal uintptr) int32 { /* sqlite3.c:64918:20: */ var ret U32 = U32(0) if pWal != 0 { ret = (*Wal)(unsafe.Pointer(pWal)).FiCallback @@ -42381,7 +42391,7 @@ func Xsqlite3WalCallback(tls *libc.TLS, pWal uintptr) int32 { /* sqlite3.c:64908 // not actually change anything. The pager uses this to see if it // should acquire the database exclusive lock prior to invoking // the op==1 case. -func Xsqlite3WalExclusiveMode(tls *libc.TLS, pWal uintptr, op int32) int32 { /* sqlite3.c:64941:20: */ +func Xsqlite3WalExclusiveMode(tls *libc.TLS, pWal uintptr, op int32) int32 { /* sqlite3.c:64951:20: */ var rc int32 // pWal->readLock is usually set, but might be -1 if there was a @@ -42415,14 +42425,14 @@ func Xsqlite3WalExclusiveMode(tls *libc.TLS, pWal uintptr, op int32) int32 { /* // Return true if the argument is non-NULL and the WAL module is using // heap-memory for the wal-index. Otherwise, if the argument is NULL or the // WAL module is using shared-memory, return false. -func Xsqlite3WalHeapMemory(tls *libc.TLS, pWal uintptr) int32 { /* sqlite3.c:64983:20: */ +func Xsqlite3WalHeapMemory(tls *libc.TLS, pWal uintptr) int32 { /* sqlite3.c:64993:20: */ return libc.Bool32(pWal != 0 && int32((*Wal)(unsafe.Pointer(pWal)).FexclusiveMode) == WAL_HEAPMEMORY_MODE) } // Create a snapshot object. The content of a snapshot is opaque to // every other subsystem, so the WAL module can put whatever it needs // in the object. -func Xsqlite3WalSnapshotGet(tls *libc.TLS, pWal uintptr, ppSnapshot uintptr) int32 { /* sqlite3.c:64992:20: */ +func Xsqlite3WalSnapshotGet(tls *libc.TLS, pWal uintptr, ppSnapshot uintptr) int32 { /* sqlite3.c:65002:20: */ var rc int32 = SQLITE_OK var pRet uintptr @@ -42441,16 +42451,16 @@ func Xsqlite3WalSnapshotGet(tls *libc.TLS, pWal uintptr, ppSnapshot uintptr) int return rc } -var aZero = [4]U32{U32(0), U32(0), U32(0), U32(0)} /* sqlite3.c:64995:20 */ +var aZero = [4]U32{U32(0), U32(0), U32(0), U32(0)} /* sqlite3.c:65005:20 */ // Try to open on pSnapshot when the next read-transaction starts -func Xsqlite3WalSnapshotOpen(tls *libc.TLS, pWal uintptr, pSnapshot uintptr) { /* sqlite3.c:65016:21: */ +func Xsqlite3WalSnapshotOpen(tls *libc.TLS, pWal uintptr, pSnapshot uintptr) { /* sqlite3.c:65026:21: */ (*Wal)(unsafe.Pointer(pWal)).FpSnapshot = pSnapshot } // Return a +ve value if snapshot p1 is newer than p2. A -ve value if // p1 is older than p2 and zero if p1 and p2 are the same snapshot. -func Xsqlite3_snapshot_cmp(tls *libc.TLS, p1 uintptr, p2 uintptr) int32 { /* sqlite3.c:65027:16: */ +func Xsqlite3_snapshot_cmp(tls *libc.TLS, p1 uintptr, p2 uintptr) int32 { /* sqlite3.c:65037:16: */ var pHdr1 uintptr = p1 var pHdr2 uintptr = p2 @@ -42480,7 +42490,7 @@ func Xsqlite3_snapshot_cmp(tls *libc.TLS, p1 uintptr, p2 uintptr) int32 { /* sql // the CHECKPOINTER lock cannot be obtained, SQLITE_BUSY. If any error // occurs (any value other than SQLITE_OK is returned), the CHECKPOINTER // lock is released before returning. -func Xsqlite3WalSnapshotCheck(tls *libc.TLS, pWal uintptr, pSnapshot uintptr) int32 { /* sqlite3.c:65051:20: */ +func Xsqlite3WalSnapshotCheck(tls *libc.TLS, pWal uintptr, pSnapshot uintptr) int32 { /* sqlite3.c:65061:20: */ var rc int32 rc = walLockShared(tls, pWal, WAL_CKPT_LOCK) if rc == SQLITE_OK { @@ -42496,13 +42506,13 @@ func Xsqlite3WalSnapshotCheck(tls *libc.TLS, pWal uintptr, pSnapshot uintptr) in // Release a lock obtained by an earlier successful call to // sqlite3WalSnapshotCheck(). -func Xsqlite3WalSnapshotUnlock(tls *libc.TLS, pWal uintptr) { /* sqlite3.c:65070:21: */ +func Xsqlite3WalSnapshotUnlock(tls *libc.TLS, pWal uintptr) { /* sqlite3.c:65080:21: */ walUnlockShared(tls, pWal, WAL_CKPT_LOCK) } // Return the sqlite3_file object for the WAL file -func Xsqlite3WalFile(tls *libc.TLS, pWal uintptr) uintptr { /* sqlite3.c:65092:29: */ +func Xsqlite3WalFile(tls *libc.TLS, pWal uintptr) uintptr { /* sqlite3.c:65102:29: */ return (*Wal)(unsafe.Pointer(pWal)).FpWalFd } @@ -43022,7 +43032,7 @@ type MemPage1 = struct { // small cells will be rare, but they are possible. // Forward declarations -type MemPage = MemPage1 /* sqlite3.c:65350:24 */ +type MemPage = MemPage1 /* sqlite3.c:65360:24 */ type BtLock1 = struct { FpBtree uintptr FiTable Pgno @@ -43031,7 +43041,7 @@ type BtLock1 = struct { FpNext uintptr } /* sqlite3.c:578:9 */ -type BtLock = BtLock1 /* sqlite3.c:65351:23 */ +type BtLock = BtLock1 /* sqlite3.c:65361:23 */ type CellInfo1 = struct { FnKey I64 FpPayload uintptr @@ -43041,7 +43051,7 @@ type CellInfo1 = struct { F__ccgo_pad1 [4]byte } /* sqlite3.c:578:9 */ -type CellInfo = CellInfo1 /* sqlite3.c:65352:25 */ +type CellInfo = CellInfo1 /* sqlite3.c:65362:25 */ // Legal values for BtCursor.curFlags @@ -43151,7 +43161,7 @@ type IntegrityCk1 = struct { FerrMsg StrAccum Fheap uintptr Fdb uintptr -} /* sqlite3.c:65811:9 */ +} /* sqlite3.c:65821:9 */ // Legal values for BtCursor.curFlags @@ -43247,7 +43257,7 @@ type IntegrityCk1 = struct { // the database the corresponding bit is set. This allows integrity-check to // detect pages that are used twice and orphaned pages (both of which // indicate corruption). -type IntegrityCk = IntegrityCk1 /* sqlite3.c:65811:28 */ +type IntegrityCk = IntegrityCk1 /* sqlite3.c:65821:28 */ // Routines to read or write a two- and four-byte big-endian integer values. @@ -43261,7 +43271,7 @@ type IntegrityCk = IntegrityCk1 /* sqlite3.c:65811:28 */ // Obtain the BtShared mutex associated with B-Tree handle p. Also, // set BtShared.db to the database handle associated with p and the // p->locked boolean to true. -func lockBtreeMutex(tls *libc.TLS, p uintptr) { /* sqlite3.c:65861:13: */ +func lockBtreeMutex(tls *libc.TLS, p uintptr) { /* sqlite3.c:65871:13: */ Xsqlite3_mutex_enter(tls, (*BtShared)(unsafe.Pointer((*Btree)(unsafe.Pointer(p)).FpBt)).Fmutex) (*BtShared)(unsafe.Pointer((*Btree)(unsafe.Pointer(p)).FpBt)).Fdb = (*Btree)(unsafe.Pointer(p)).Fdb @@ -43270,7 +43280,7 @@ func lockBtreeMutex(tls *libc.TLS, p uintptr) { /* sqlite3.c:65861:13: */ // Release the BtShared mutex associated with B-Tree handle p and // clear the p->locked boolean. -func unlockBtreeMutex(tls *libc.TLS, p uintptr) { /* sqlite3.c:65875:29: */ +func unlockBtreeMutex(tls *libc.TLS, p uintptr) { /* sqlite3.c:65885:29: */ var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt Xsqlite3_mutex_leave(tls, (*BtShared)(unsafe.Pointer(pBt)).Fmutex) @@ -43291,7 +43301,7 @@ func unlockBtreeMutex(tls *libc.TLS, p uintptr) { /* sqlite3.c:65875:29: */ // p, then first unlock all of the others on p->pNext, then wait // for the lock to become available on p, then relock all of the // subsequent Btrees that desire a lock. -func Xsqlite3BtreeEnter(tls *libc.TLS, p uintptr) { /* sqlite3.c:65905:21: */ +func Xsqlite3BtreeEnter(tls *libc.TLS, p uintptr) { /* sqlite3.c:65915:21: */ // Some basic sanity checking on the Btree. The list of Btrees // connected by pNext and pPrev should be in sorted order by // Btree.pBt value. All elements of the list should belong to @@ -43319,7 +43329,7 @@ func Xsqlite3BtreeEnter(tls *libc.TLS, p uintptr) { /* sqlite3.c:65905:21: */ // into this routine, we avoid unnecessary stack pointer changes // and thus help the sqlite3BtreeLock() routine to run much faster // in the common case. -func btreeLockCarefully(tls *libc.TLS, p uintptr) { /* sqlite3.c:65939:29: */ +func btreeLockCarefully(tls *libc.TLS, p uintptr) { /* sqlite3.c:65949:29: */ var pLater uintptr // In most cases, we should be able to acquire the lock we @@ -43350,7 +43360,7 @@ func btreeLockCarefully(tls *libc.TLS, p uintptr) { /* sqlite3.c:65939:29: */ } // Exit the recursive mutex on a Btree. -func Xsqlite3BtreeLeave(tls *libc.TLS, p uintptr) { /* sqlite3.c:65977:21: */ +func Xsqlite3BtreeLeave(tls *libc.TLS, p uintptr) { /* sqlite3.c:65987:21: */ if (*Btree)(unsafe.Pointer(p)).Fsharable != 0 { @@ -43373,7 +43383,7 @@ func Xsqlite3BtreeLeave(tls *libc.TLS, p uintptr) { /* sqlite3.c:65977:21: */ // to avoid the possibility of deadlock when two threads with // two or more btrees in common both try to lock all their btrees // at the same instant. -func btreeEnterAll(tls *libc.TLS, db uintptr) { /* sqlite3.c:66020:29: */ +func btreeEnterAll(tls *libc.TLS, db uintptr) { /* sqlite3.c:66030:29: */ var i int32 var skipOk int32 = 1 var p uintptr @@ -43388,13 +43398,13 @@ func btreeEnterAll(tls *libc.TLS, db uintptr) { /* sqlite3.c:66020:29: */ (*Sqlite3)(unsafe.Pointer(db)).FnoSharedCache = U8(skipOk) } -func Xsqlite3BtreeEnterAll(tls *libc.TLS, db uintptr) { /* sqlite3.c:66034:21: */ +func Xsqlite3BtreeEnterAll(tls *libc.TLS, db uintptr) { /* sqlite3.c:66044:21: */ if int32((*Sqlite3)(unsafe.Pointer(db)).FnoSharedCache) == 0 { btreeEnterAll(tls, db) } } -func btreeLeaveAll(tls *libc.TLS, db uintptr) { /* sqlite3.c:66037:29: */ +func btreeLeaveAll(tls *libc.TLS, db uintptr) { /* sqlite3.c:66047:29: */ var i int32 var p uintptr @@ -43406,7 +43416,7 @@ func btreeLeaveAll(tls *libc.TLS, db uintptr) { /* sqlite3.c:66037:29: */ } } -func Xsqlite3BtreeLeaveAll(tls *libc.TLS, db uintptr) { /* sqlite3.c:66046:21: */ +func Xsqlite3BtreeLeaveAll(tls *libc.TLS, db uintptr) { /* sqlite3.c:66056:21: */ if int32((*Sqlite3)(unsafe.Pointer(db)).FnoSharedCache) == 0 { btreeLeaveAll(tls, db) } @@ -43417,11 +43427,11 @@ func Xsqlite3BtreeLeaveAll(tls *libc.TLS, db uintptr) { /* sqlite3.c:66046:21: * // These entry points are used by incremental I/O only. Enter() is required // any time OMIT_SHARED_CACHE is not defined, regardless of whether or not // the build is threadsafe. Leave() is only required by threadsafe builds. -func Xsqlite3BtreeEnterCursor(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:66132:21: */ +func Xsqlite3BtreeEnterCursor(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:66142:21: */ Xsqlite3BtreeEnter(tls, (*BtCursor)(unsafe.Pointer(pCur)).FpBtree) } -func Xsqlite3BtreeLeaveCursor(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:66136:21: */ +func Xsqlite3BtreeLeaveCursor(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:66146:21: */ Xsqlite3BtreeLeave(tls, (*BtCursor)(unsafe.Pointer(pCur)).FpBtree) } @@ -43444,7 +43454,7 @@ func Xsqlite3BtreeLeaveCursor(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:66136: // The header string that appears at the beginning of every // SQLite database. -var zMagicHeader = *(*[16]uint8)(unsafe.Pointer(ts + 3984)) /* sqlite3.c:66167:19 */ +var zMagicHeader = *(*[16]uint8)(unsafe.Pointer(ts + 3984)) /* sqlite3.c:66177:19 */ // Set this global variable to 1 to enable tracing using the TRACE // macro. @@ -43470,14 +43480,14 @@ var zMagicHeader = *(*[16]uint8)(unsafe.Pointer(ts + 3984)) /* sqlite3.c:66167:1 // test builds. // // Access to this variable is protected by SQLITE_MUTEX_STATIC_MAIN. -var sqlite3SharedCacheList uintptr = uintptr(0) /* sqlite3.c:66222:17 */ +var sqlite3SharedCacheList uintptr = uintptr(0) /* sqlite3.c:66232:17 */ // Enable or disable the shared pager and schema features. // // This routine has no effect on existing database connections. // The shared cache setting effects only future calls to // sqlite3_open(), sqlite3_open16(), or sqlite3_open_v2(). -func Xsqlite3_enable_shared_cache(tls *libc.TLS, enable int32) int32 { /* sqlite3.c:66234:16: */ +func Xsqlite3_enable_shared_cache(tls *libc.TLS, enable int32) int32 { /* sqlite3.c:66244:16: */ Xsqlite3Config.FsharedCacheEnabled = enable return SQLITE_OK } @@ -43494,7 +43504,7 @@ func Xsqlite3_enable_shared_cache(tls *libc.TLS, enable int32) int32 { /* sqlite // (READ_LOCK or WRITE_LOCK) on the table with root-page iTab. Return // SQLITE_OK if the lock may be obtained (by calling // setSharedCacheTableLock()), or SQLITE_LOCKED if not. -func querySharedCacheTableLock(tls *libc.TLS, p uintptr, iTab Pgno, eLock U8) int32 { /* sqlite3.c:66433:12: */ +func querySharedCacheTableLock(tls *libc.TLS, p uintptr, iTab Pgno, eLock U8) int32 { /* sqlite3.c:66443:12: */ var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt var pIter uintptr @@ -43551,7 +43561,7 @@ func querySharedCacheTableLock(tls *libc.TLS, p uintptr, iTab Pgno, eLock U8) in // // SQLITE_OK is returned if the lock is added successfully. SQLITE_NOMEM // is returned if a malloc attempt fails. -func setSharedCacheTableLock(tls *libc.TLS, p uintptr, iTable Pgno, eLock U8) int32 { /* sqlite3.c:66505:12: */ +func setSharedCacheTableLock(tls *libc.TLS, p uintptr, iTable Pgno, eLock U8) int32 { /* sqlite3.c:66515:12: */ var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt var pLock uintptr = uintptr(0) var pIter uintptr @@ -43602,7 +43612,7 @@ func setSharedCacheTableLock(tls *libc.TLS, p uintptr, iTable Pgno, eLock U8) in // This function assumes that Btree p has an open read or write // transaction. If it does not, then the BTS_PENDING flag // may be incorrectly cleared. -func clearAllSharedCacheTableLocks(tls *libc.TLS, p uintptr) { /* sqlite3.c:66569:13: */ +func clearAllSharedCacheTableLocks(tls *libc.TLS, p uintptr) { /* sqlite3.c:66579:13: */ var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt var ppIter uintptr = pBt + 76 @@ -43637,7 +43647,7 @@ func clearAllSharedCacheTableLocks(tls *libc.TLS, p uintptr) { /* sqlite3.c:6656 } // This function changes all write-locks held by Btree p into read-locks. -func downgradeAllSharedCacheTableLocks(tls *libc.TLS, p uintptr) { /* sqlite3.c:66613:13: */ +func downgradeAllSharedCacheTableLocks(tls *libc.TLS, p uintptr) { /* sqlite3.c:66623:13: */ var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt if (*BtShared)(unsafe.Pointer(pBt)).FpWriter == p { var pLock uintptr @@ -43661,7 +43671,7 @@ func downgradeAllSharedCacheTableLocks(tls *libc.TLS, p uintptr) { /* sqlite3.c: // Invalidate the overflow page-list cache for all cursors opened // on the shared btree structure pBt. -func invalidateAllOverflowCache(tls *libc.TLS, pBt uintptr) { /* sqlite3.c:66666:13: */ +func invalidateAllOverflowCache(tls *libc.TLS, pBt uintptr) { /* sqlite3.c:66676:13: */ var p uintptr for p = (*BtShared)(unsafe.Pointer(pBt)).FpCursor; p != 0; p = (*BtCursor)(unsafe.Pointer(p)).FpNext { @@ -43680,7 +43690,7 @@ func invalidateAllOverflowCache(tls *libc.TLS, pBt uintptr) { /* sqlite3.c:66666 // Otherwise, if argument isClearTable is false, then the row with // rowid iRow is being replaced or deleted. In this case invalidate // only those incrblob cursors open on that specific row. -func invalidateIncrblobCursors(tls *libc.TLS, pBtree uintptr, pgnoRoot Pgno, iRow I64, isClearTable int32) { /* sqlite3.c:66688:13: */ +func invalidateIncrblobCursors(tls *libc.TLS, pBtree uintptr, pgnoRoot Pgno, iRow I64, isClearTable int32) { /* sqlite3.c:66698:13: */ var p uintptr (*Btree)(unsafe.Pointer(pBtree)).FhasIncrblobCur = U8(0) @@ -43727,7 +43737,7 @@ func invalidateIncrblobCursors(tls *libc.TLS, pBtree uintptr, pgnoRoot Pgno, iRo // optimization 2 above is omitted if the corresponding bit is already // set in BtShared.pHasContent. The contents of the bitvec are cleared // at the end of every transaction. -func btreeSetHasContent(tls *libc.TLS, pBt uintptr, pgno Pgno) int32 { /* sqlite3.c:66748:12: */ +func btreeSetHasContent(tls *libc.TLS, pBt uintptr, pgno Pgno) int32 { /* sqlite3.c:66758:12: */ var rc int32 = SQLITE_OK if !(int32((*BtShared)(unsafe.Pointer(pBt)).FpHasContent) != 0) { @@ -43747,20 +43757,20 @@ func btreeSetHasContent(tls *libc.TLS, pBt uintptr, pgno Pgno) int32 { /* sqlite // This function is called when a free-list leaf page is removed from the // free-list for reuse. It returns false if it is safe to retrieve the // page from the pager layer with the 'no-content' flag set. True otherwise. -func btreeGetHasContent(tls *libc.TLS, pBt uintptr, pgno Pgno) int32 { /* sqlite3.c:66770:12: */ +func btreeGetHasContent(tls *libc.TLS, pBt uintptr, pgno Pgno) int32 { /* sqlite3.c:66780:12: */ var p uintptr = (*BtShared)(unsafe.Pointer(pBt)).FpHasContent return libc.Bool32(p != 0 && (pgno > Xsqlite3BitvecSize(tls, p) || Xsqlite3BitvecTestNotNull(tls, p, pgno) != 0)) } // Clear (destroy) the BtShared.pHasContent bitvec. This should be // invoked at the conclusion of each write-transaction. -func btreeClearHasContent(tls *libc.TLS, pBt uintptr) { /* sqlite3.c:66779:13: */ +func btreeClearHasContent(tls *libc.TLS, pBt uintptr) { /* sqlite3.c:66789:13: */ Xsqlite3BitvecDestroy(tls, (*BtShared)(unsafe.Pointer(pBt)).FpHasContent) (*BtShared)(unsafe.Pointer(pBt)).FpHasContent = uintptr(0) } // Release all of the apPage[] pages for a cursor. -func btreeReleaseAllCursorPages(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:66787:13: */ +func btreeReleaseAllCursorPages(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:66797:13: */ var i int32 if int32((*BtCursor)(unsafe.Pointer(pCur)).FiPage) >= 0 { for i = 0; i < int32((*BtCursor)(unsafe.Pointer(pCur)).FiPage); i++ { @@ -43782,7 +43792,7 @@ func btreeReleaseAllCursorPages(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:6678 // NULL. If the cursor is open on a non-intkey table, then pCur->pKey is // set to point to a malloced buffer pCur->nKey bytes in size containing // the key. -func saveCursorKey(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:66811:12: */ +func saveCursorKey(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:66821:12: */ var rc int32 = SQLITE_OK if (*BtCursor)(unsafe.Pointer(pCur)).FcurIntKey != 0 { @@ -43819,7 +43829,7 @@ func saveCursorKey(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:66811:12: * // // The caller must ensure that the cursor is valid (has eState==CURSOR_VALID) // prior to calling this routine. -func saveCursorPosition(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:66853:12: */ +func saveCursorPosition(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:66863:12: */ var rc int32 if int32((*BtCursor)(unsafe.Pointer(pCur)).FcurFlags)&BTCF_Pinned != 0 { @@ -43860,7 +43870,7 @@ func saveCursorPosition(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:66853: // Implementation note: This routine merely checks to see if any cursors // need to be saved. It calls out to saveCursorsOnList() in the (unusual) // event that cursors are in need to being saved. -func saveAllCursors(tls *libc.TLS, pBt uintptr, iRoot Pgno, pExcept uintptr) int32 { /* sqlite3.c:66903:12: */ +func saveAllCursors(tls *libc.TLS, pBt uintptr, iRoot Pgno, pExcept uintptr) int32 { /* sqlite3.c:66913:12: */ var p uintptr for p = (*BtShared)(unsafe.Pointer(pBt)).FpCursor; p != 0; p = (*BtCursor)(unsafe.Pointer(p)).FpNext { @@ -43881,7 +43891,7 @@ func saveAllCursors(tls *libc.TLS, pBt uintptr, iRoot Pgno, pExcept uintptr) int // the cursors if and when a cursor is found that actually requires saving. // The common case is that no cursors need to be saved, so this routine is // broken out from its caller to avoid unnecessary stack pointer movement. -func saveCursorsOnList(tls *libc.TLS, p uintptr, iRoot Pgno, pExcept uintptr) int32 { /* sqlite3.c:66920:28: */ +func saveCursorsOnList(tls *libc.TLS, p uintptr, iRoot Pgno, pExcept uintptr) int32 { /* sqlite3.c:66930:28: */ for __ccgo := true; __ccgo; __ccgo = p != 0 { if p != pExcept && (Pgno(0) == iRoot || (*BtCursor)(unsafe.Pointer(p)).FpgnoRoot == iRoot) { if int32((*BtCursor)(unsafe.Pointer(p)).FeState) == CURSOR_VALID || int32((*BtCursor)(unsafe.Pointer(p)).FeState) == CURSOR_SKIPNEXT { @@ -43900,7 +43910,7 @@ func saveCursorsOnList(tls *libc.TLS, p uintptr, iRoot Pgno, pExcept uintptr) in } // Clear the current cursor position. -func Xsqlite3BtreeClearCursor(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:66945:21: */ +func Xsqlite3BtreeClearCursor(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:66955:21: */ Xsqlite3_free(tls, (*BtCursor)(unsafe.Pointer(pCur)).FpKey) (*BtCursor)(unsafe.Pointer(pCur)).FpKey = uintptr(0) @@ -43910,7 +43920,7 @@ func Xsqlite3BtreeClearCursor(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:66945: // In this version of BtreeMoveto, pKey is a packed index record // such as is generated by the OP_MakeRecord opcode. Unpack the // record and then call BtreeMovetoUnpacked() to do the work. -func btreeMoveto(tls *libc.TLS, pCur uintptr, pKey uintptr, nKey I64, bias int32, pRes uintptr) int32 { /* sqlite3.c:66957:12: */ +func btreeMoveto(tls *libc.TLS, pCur uintptr, pKey uintptr, nKey I64, bias int32, pRes uintptr) int32 { /* sqlite3.c:66967:12: */ var rc int32 // Status code var pIdxKey uintptr // Unpacked index key @@ -43923,7 +43933,7 @@ func btreeMoveto(tls *libc.TLS, pCur uintptr, pKey uintptr, nKey I64, bias int32 } Xsqlite3VdbeRecordUnpack(tls, pKeyInfo, int32(nKey), pKey, pIdxKey) if int32((*UnpackedRecord)(unsafe.Pointer(pIdxKey)).FnField) == 0 || int32((*UnpackedRecord)(unsafe.Pointer(pIdxKey)).FnField) > int32((*KeyInfo)(unsafe.Pointer(pKeyInfo)).FnAllField) { - rc = Xsqlite3CorruptError(tls, 66974) + rc = Xsqlite3CorruptError(tls, 66984) } else { rc = Xsqlite3BtreeIndexMoveto(tls, pCur, pIdxKey, pRes) } @@ -43940,7 +43950,7 @@ func btreeMoveto(tls *libc.TLS, pCur uintptr, pKey uintptr, nKey I64, bias int32 // saved position info stored by saveCursorPosition(), so there can be // at most one effective restoreCursorPosition() call after each // saveCursorPosition(). -func btreeRestoreCursorPosition(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:66993:12: */ +func btreeRestoreCursorPosition(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:67003:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -43980,7 +43990,7 @@ func btreeRestoreCursorPosition(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3. // // Use the separate sqlite3BtreeCursorRestore() routine to restore a cursor // back to where it ought to be if this routine returns true. -func Xsqlite3BtreeCursorHasMoved(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:67036:20: */ +func Xsqlite3BtreeCursorHasMoved(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:67046:20: */ return libc.Bool32(CURSOR_VALID != int32(*(*U8)(unsafe.Pointer(pCur)))) } @@ -43988,12 +43998,12 @@ func Xsqlite3BtreeCursorHasMoved(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3 // Return a pointer to a fake BtCursor object that will always answer // false to the sqlite3BtreeCursorHasMoved() routine above. The fake // cursor returned must not be used with any other Btree interface. -func Xsqlite3BtreeFakeValidCursor(tls *libc.TLS) uintptr { /* sqlite3.c:67049:25: */ +func Xsqlite3BtreeFakeValidCursor(tls *libc.TLS) uintptr { /* sqlite3.c:67059:25: */ return uintptr(unsafe.Pointer(&fakeCursor)) } -var fakeCursor U8 = U8(CURSOR_VALID) /* sqlite3.c:67050:13 */ +var fakeCursor U8 = U8(CURSOR_VALID) /* sqlite3.c:67060:13 */ // This routine restores a cursor back to its original position after it // has been moved by some outside activity (such as a btree rebalance or @@ -44006,7 +44016,7 @@ var fakeCursor U8 = U8(CURSOR_VALID) /* sqlite3.c:67050:13 */ // // This routine should only be called for a cursor that just returned // TRUE from sqlite3BtreeCursorHasMoved(). -func Xsqlite3BtreeCursorRestore(tls *libc.TLS, pCur uintptr, pDifferentRow uintptr) int32 { /* sqlite3.c:67068:20: */ +func Xsqlite3BtreeCursorRestore(tls *libc.TLS, pCur uintptr, pDifferentRow uintptr) int32 { /* sqlite3.c:67078:20: */ var rc int32 rc = func() int32 { @@ -44028,7 +44038,7 @@ func Xsqlite3BtreeCursorRestore(tls *libc.TLS, pCur uintptr, pDifferentRow uintp } // Provide flag hints to the cursor. -func Xsqlite3BtreeCursorHintFlags(tls *libc.TLS, pCur uintptr, x uint32) { /* sqlite3.c:67100:21: */ +func Xsqlite3BtreeCursorHintFlags(tls *libc.TLS, pCur uintptr, x uint32) { /* sqlite3.c:67110:21: */ (*BtCursor)(unsafe.Pointer(pCur)).Fhints = U8(x) } @@ -44040,7 +44050,7 @@ func Xsqlite3BtreeCursorHintFlags(tls *libc.TLS, pCur uintptr, x uint32) { /* sq // Return 0 (not a valid page) for pgno==1 since there is // no pointer map associated with page 1. The integrity_check logic // requires that ptrmapPageno(*,1)!=1. -func ptrmapPageno(tls *libc.TLS, pBt uintptr, pgno Pgno) Pgno { /* sqlite3.c:67116:13: */ +func ptrmapPageno(tls *libc.TLS, pBt uintptr, pgno Pgno) Pgno { /* sqlite3.c:67126:13: */ var nPagesPerMapPage int32 var iPtrMap Pgno var ret Pgno @@ -44065,7 +44075,7 @@ func ptrmapPageno(tls *libc.TLS, pBt uintptr, pgno Pgno) Pgno { /* sqlite3.c:671 // If *pRC is initially non-zero (non-SQLITE_OK) then this routine is // a no-op. If an error occurs, the appropriate error code is written // into *pRC. -func ptrmapPut(tls *libc.TLS, pBt uintptr, key Pgno, eType U8, parent Pgno, pRC uintptr) { /* sqlite3.c:67140:13: */ +func ptrmapPut(tls *libc.TLS, pBt uintptr, key Pgno, eType U8, parent Pgno, pRC uintptr) { /* sqlite3.c:67150:13: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -44088,7 +44098,7 @@ __1: if !(key == Pgno(0)) { goto __2 } - *(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 67155) + *(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 67165) return __2: ; @@ -44107,7 +44117,7 @@ __3: // 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)) = Xsqlite3CorruptError(tls, 67168) + *(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 67178) goto ptrmap_exit __4: ; @@ -44115,7 +44125,7 @@ __4: if !(offset < 0) { goto __5 } - *(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 67173) + *(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 67183) goto ptrmap_exit __5: ; @@ -44146,7 +44156,7 @@ ptrmap_exit: // This routine retrieves the pointer map entry for page 'key', writing // the type and parent page number to *pEType and *pPgno respectively. // An error code is returned if something goes wrong, otherwise SQLITE_OK. -func ptrmapGet(tls *libc.TLS, pBt uintptr, key Pgno, pEType uintptr, pPgno uintptr) int32 { /* sqlite3.c:67199:12: */ +func ptrmapGet(tls *libc.TLS, pBt uintptr, key Pgno, pEType uintptr, pPgno uintptr) int32 { /* sqlite3.c:67209:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -44167,7 +44177,7 @@ func ptrmapGet(tls *libc.TLS, pBt uintptr, key Pgno, pEType uintptr, pPgno uintp offset = int32(Pgno(5) * (key - Pgno(iPtrmap) - Pgno(1))) if offset < 0 { Xsqlite3PagerUnref(tls, *(*uintptr)(unsafe.Pointer(bp /* pDbPage */))) - return Xsqlite3CorruptError(tls, 67218) + return Xsqlite3CorruptError(tls, 67228) } *(*U8)(unsafe.Pointer(pEType)) = *(*U8)(unsafe.Pointer(pPtrmap + uintptr(offset))) @@ -44177,7 +44187,7 @@ func ptrmapGet(tls *libc.TLS, pBt uintptr, key Pgno, pEType uintptr, pPgno uintp Xsqlite3PagerUnref(tls, *(*uintptr)(unsafe.Pointer(bp /* pDbPage */))) if int32(*(*U8)(unsafe.Pointer(pEType))) < 1 || int32(*(*U8)(unsafe.Pointer(pEType))) > 5 { - return Xsqlite3CorruptError(tls, 67226) + return Xsqlite3CorruptError(tls, 67236) } return SQLITE_OK } @@ -44195,7 +44205,7 @@ func ptrmapGet(tls *libc.TLS, pBt uintptr, key Pgno, pEType uintptr, pPgno uintp // btreeParseCellPtrIndex() for the case when the cell does not fit entirely // on a single B-tree page. Make necessary adjustments to the CellInfo // structure. -func btreeParseCellAdjustSizeForOverflow(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintptr) { /* sqlite3.c:67258:29: */ +func btreeParseCellAdjustSizeForOverflow(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintptr) { /* sqlite3.c:67268:29: */ // If the payload will not fit completely on the local page, we have // to decide how much to store locally and how much to spill onto // overflow pages. The strategy is to minimize the amount of unused @@ -44222,7 +44232,7 @@ func btreeParseCellAdjustSizeForOverflow(tls *libc.TLS, pPage uintptr, pCell uin // Given a record with nPayload bytes of payload stored within btree // page pPage, return the number of bytes of payload stored locally. -func btreePayloadToLocal(tls *libc.TLS, pPage uintptr, nPayload I64) int32 { /* sqlite3.c:67293:12: */ +func btreePayloadToLocal(tls *libc.TLS, pPage uintptr, nPayload I64) int32 { /* sqlite3.c:67303:12: */ var maxLocal int32 // Maximum amount of payload held locally maxLocal = int32((*MemPage)(unsafe.Pointer(pPage)).FmaxLocal) if nPayload <= I64(maxLocal) { @@ -44252,7 +44262,7 @@ func btreePayloadToLocal(tls *libc.TLS, pPage uintptr, nPayload I64) int32 { /* // There is also a wrapper function btreeParseCell() that works for // all MemPage types and that references the cell by index rather than // by pointer. -func btreeParseCellPtrNoPayload(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintptr) { /* sqlite3.c:67321:13: */ +func btreeParseCellPtrNoPayload(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintptr) { /* sqlite3.c:67331:13: */ _ = pPage (*CellInfo)(unsafe.Pointer(pInfo)).FnSize = U16(4 + int32(Xsqlite3GetVarint(tls, pCell+4, pInfo))) @@ -44262,7 +44272,7 @@ func btreeParseCellPtrNoPayload(tls *libc.TLS, pPage uintptr, pCell uintptr, pIn return } -func btreeParseCellPtr(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintptr) { /* sqlite3.c:67338:13: */ +func btreeParseCellPtr(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintptr) { /* sqlite3.c:67348:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -44339,7 +44349,7 @@ func btreeParseCellPtr(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintpt } } -func btreeParseCellPtrIndex(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintptr) { /* sqlite3.c:67420:13: */ +func btreeParseCellPtrIndex(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintptr) { /* sqlite3.c:67430:13: */ var pIter uintptr // For scanning through pCell var nPayload U32 // Number of bytes of cell payload @@ -44370,7 +44380,7 @@ func btreeParseCellPtrIndex(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo u } } -func btreeParseCell(tls *libc.TLS, pPage uintptr, iCell int32, pInfo uintptr) { /* sqlite3.c:67457:13: */ +func btreeParseCell(tls *libc.TLS, pPage uintptr, iCell int32, pInfo uintptr) { /* sqlite3.c:67467:13: */ (*struct { f func(*libc.TLS, uintptr, uintptr, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*MemPage)(unsafe.Pointer(pPage)).FxParseCell})).f(tls, pPage, (*MemPage)(unsafe.Pointer(pPage)).FaData+uintptr(int32((*MemPage)(unsafe.Pointer(pPage)).FmaskPage)&int32(libc.X__builtin_bswap16(tls, *(*U16)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPage)).FaCellIdx + uintptr(2*iCell)))))), pInfo) @@ -44386,7 +44396,7 @@ func btreeParseCell(tls *libc.TLS, pPage uintptr, iCell int32, pInfo uintptr) { // // cellSizePtrNoPayload() => table internal nodes // cellSizePtr() => all index nodes & table leaf nodes -func cellSizePtr(tls *libc.TLS, pPage uintptr, pCell uintptr) U16 { /* sqlite3.c:67477:12: */ +func cellSizePtr(tls *libc.TLS, pPage uintptr, pCell uintptr) U16 { /* sqlite3.c:67487:12: */ var pIter uintptr = pCell + uintptr((*MemPage)(unsafe.Pointer(pPage)).FchildPtrSize) // For looping over bytes of pCell var pEnd uintptr // End mark for a varint var nSize U32 // Size value to return @@ -44427,7 +44437,7 @@ func cellSizePtr(tls *libc.TLS, pPage uintptr, pCell uintptr) U16 { /* sqlite3.c return U16(nSize) } -func cellSizePtrNoPayload(tls *libc.TLS, pPage uintptr, pCell uintptr) U16 { /* sqlite3.c:67525:12: */ +func cellSizePtrNoPayload(tls *libc.TLS, pPage uintptr, pCell uintptr) U16 { /* sqlite3.c:67535:12: */ var pIter uintptr = pCell + uintptr(4) // For looping over bytes of pCell var pEnd uintptr // End mark for a varint @@ -44444,7 +44454,7 @@ func cellSizePtrNoPayload(tls *libc.TLS, pPage uintptr, pCell uintptr) U16 { /* // of pPage. (pSrc and pPager are often the same.) If pCell contains a // pointer to an overflow page, insert an entry into the pointer-map for // the overflow page that will be valid after pCell has been moved to pPage. -func ptrmapPutOvflPtr(tls *libc.TLS, pPage uintptr, pSrc uintptr, pCell uintptr, pRC uintptr) { /* sqlite3.c:67563:13: */ +func ptrmapPutOvflPtr(tls *libc.TLS, pPage uintptr, pSrc uintptr, pCell uintptr, pRC uintptr) { /* sqlite3.c:67573:13: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -44461,7 +44471,7 @@ func ptrmapPutOvflPtr(tls *libc.TLS, pPage uintptr, pSrc uintptr, pCell uintptr, var ovfl Pgno if Uptr((*MemPage)(unsafe.Pointer(pSrc)).FaDataEnd) >= Uptr(pCell) && Uptr((*MemPage)(unsafe.Pointer(pSrc)).FaDataEnd) < Uptr(pCell+uintptr((*CellInfo)(unsafe.Pointer(bp)).FnLocal)) { - *(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 67572) + *(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 67582) return } ovfl = Xsqlite3Get4byte(tls, pCell+uintptr(int32((*CellInfo)(unsafe.Pointer(bp)).FnSize)-4)) @@ -44479,7 +44489,7 @@ func ptrmapPutOvflPtr(tls *libc.TLS, pPage uintptr, pSrc uintptr, pCell uintptr, // b-tree page so that there are no freeblocks or fragment bytes, all // unused bytes are contained in the unallocated space region, and all // cells are packed tightly at the end of the page. -func defragmentPage(tls *libc.TLS, pPage uintptr, nMaxFrag int32) int32 { /* sqlite3.c:67594:12: */ +func defragmentPage(tls *libc.TLS, pPage uintptr, nMaxFrag int32) int32 { /* sqlite3.c:67604:12: */ var i int32 // Loop counter var pc int32 // Address of the i-th cell var hdr int32 // Offset to the page header @@ -44524,7 +44534,7 @@ func defragmentPage(tls *libc.TLS, pPage uintptr, nMaxFrag int32) int32 { /* sql if !(iFree > usableSize-4) { goto __2 } - return Xsqlite3CorruptError(tls, 67631) + return Xsqlite3CorruptError(tls, 67641) __2: ; if !(iFree != 0) { @@ -44534,7 +44544,7 @@ __2: if !(iFree2 > usableSize-4) { goto __4 } - return Xsqlite3CorruptError(tls, 67634) + return Xsqlite3CorruptError(tls, 67644) __4: ; if !(0 == iFree2 || int32(*(*uint8)(unsafe.Pointer(data + uintptr(iFree2)))) == 0 && int32(*(*uint8)(unsafe.Pointer(data + uintptr(iFree2+1)))) == 0) { @@ -44547,7 +44557,7 @@ __4: if !(top >= iFree) { goto __6 } - return Xsqlite3CorruptError(tls, 67642) + return Xsqlite3CorruptError(tls, 67652) __6: ; if !(iFree2 != 0) { @@ -44556,14 +44566,14 @@ __6: if !(iFree+sz > iFree2) { goto __9 } - return Xsqlite3CorruptError(tls, 67645) + return Xsqlite3CorruptError(tls, 67655) __9: ; sz2 = int32(*(*uint8)(unsafe.Pointer(data + uintptr(iFree2+2))))<<8 | int32(*(*uint8)(unsafe.Pointer(data + uintptr(iFree2+2) + 1))) if !(iFree2+sz2 > usableSize) { goto __10 } - return Xsqlite3CorruptError(tls, 67647) + return Xsqlite3CorruptError(tls, 67657) __10: ; libc.Xmemmove(tls, data+uintptr(iFree+sz+sz2), data+uintptr(iFree+sz), uint32(iFree2-(iFree+sz))) @@ -44573,7 +44583,7 @@ __7: if !(iFree+sz > usableSize) { goto __11 } - return Xsqlite3CorruptError(tls, 67651) + return Xsqlite3CorruptError(tls, 67661) __11: ; __8: @@ -44635,7 +44645,7 @@ __18: if !(pc < iCellStart || pc > iCellLast) { goto __21 } - return Xsqlite3CorruptError(tls, 67680) + return Xsqlite3CorruptError(tls, 67690) __21: ; @@ -44646,7 +44656,7 @@ __21: if !(cbrk < iCellStart || pc+size > usableSize) { goto __22 } - return Xsqlite3CorruptError(tls, 67686) + return Xsqlite3CorruptError(tls, 67696) __22: ; @@ -44681,7 +44691,7 @@ defragment_out: if !(int32(*(*uint8)(unsafe.Pointer(data + uintptr(hdr+7))))+cbrk-iCellFirst != (*MemPage)(unsafe.Pointer(pPage)).FnFree) { goto __25 } - return Xsqlite3CorruptError(tls, 67705) + return Xsqlite3CorruptError(tls, 67715) __25: ; @@ -44706,7 +44716,7 @@ __25: // Slots on the free list that are between 1 and 3 bytes larger than nByte // will be ignored if adding the extra space to the fragmentation count // causes the fragmentation count to exceed 60. -func pageFindSlot(tls *libc.TLS, pPg uintptr, nByte int32, pRc uintptr) uintptr { /* sqlite3.c:67730:11: */ +func pageFindSlot(tls *libc.TLS, pPg uintptr, nByte int32, pRc uintptr) uintptr { /* sqlite3.c:67740:11: */ var hdr int32 = int32((*MemPage)(unsafe.Pointer(pPg)).FhdrOffset) // Offset to page header var aData uintptr = (*MemPage)(unsafe.Pointer(pPg)).FaData // Page data var iAddr int32 = hdr + 1 // Address of ptr to pc @@ -44735,7 +44745,7 @@ func pageFindSlot(tls *libc.TLS, pPg uintptr, nByte int32, pRc uintptr) uintptr *(*U8)(unsafe.Pointer(aData + uintptr(hdr+7))) += U8(int32(U8(x))) } else if x+pc > maxPC { // This slot extends off the end of the usable part of the page - *(*int32)(unsafe.Pointer(pRc)) = Xsqlite3CorruptError(tls, 67759) + *(*int32)(unsafe.Pointer(pRc)) = Xsqlite3CorruptError(tls, 67769) return uintptr(0) } else { // The slot remains on the free-list. Reduce its size to account @@ -44750,14 +44760,14 @@ func pageFindSlot(tls *libc.TLS, pPg uintptr, nByte int32, pRc uintptr) uintptr if pc <= iAddr+size { if pc != 0 { // The next slot in the chain is not past the end of the current slot - *(*int32)(unsafe.Pointer(pRc)) = Xsqlite3CorruptError(tls, 67773) + *(*int32)(unsafe.Pointer(pRc)) = Xsqlite3CorruptError(tls, 67783) } return uintptr(0) } } if pc > maxPC+nByte-4 { // The free slot chain extends off the end of the page - *(*int32)(unsafe.Pointer(pRc)) = Xsqlite3CorruptError(tls, 67780) + *(*int32)(unsafe.Pointer(pRc)) = Xsqlite3CorruptError(tls, 67790) } return uintptr(0) } @@ -44773,7 +44783,7 @@ func pageFindSlot(tls *libc.TLS, pPg uintptr, nByte int32, pRc uintptr) uintptr // the first two bytes past the cell pointer area since presumably this // allocation is being made in order to insert a new cell, so we will // also end up needing a new cell pointer. -func allocateSpace(tls *libc.TLS, pPage uintptr, nByte int32, pIdx uintptr) int32 { /* sqlite3.c:67798:12: */ +func allocateSpace(tls *libc.TLS, pPage uintptr, nByte int32, pIdx uintptr) int32 { /* sqlite3.c:67808:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -44798,7 +44808,7 @@ func allocateSpace(tls *libc.TLS, pPage uintptr, nByte int32, pIdx uintptr) int3 if top == 0 && (*BtShared)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize == U32(65536) { top = 65536 } else { - return Xsqlite3CorruptError(tls, 67827) + return Xsqlite3CorruptError(tls, 67837) } } @@ -44813,7 +44823,7 @@ func allocateSpace(tls *libc.TLS, pPage uintptr, nByte int32, pIdx uintptr) int3 *(*int32)(unsafe.Pointer(pIdx)) = libc.AssignInt32(&g2, (int32(pSpace)-int32(data))/1) if g2 <= gap { - return Xsqlite3CorruptError(tls, 67845) + return Xsqlite3CorruptError(tls, 67855) } else { return SQLITE_OK } @@ -44864,7 +44874,7 @@ func allocateSpace(tls *libc.TLS, pPage uintptr, nByte int32, pIdx uintptr) int3 // does it detect cells or freeblocks that encrouch into the reserved bytes // at the end of the page. So do additional corruption checks inside this // routine and return SQLITE_CORRUPT if any problems are found. -func freeSpace(tls *libc.TLS, pPage uintptr, iStart U16, iSize U16) int32 { /* sqlite3.c:67894:12: */ +func freeSpace(tls *libc.TLS, pPage uintptr, iStart U16, iSize U16) int32 { /* sqlite3.c:67904:12: */ var iPtr U16 // Address of ptr to next freeblock var iFreeBlk U16 // Address of the next freeblock var hdr U8 // Page header size. 0 or 100 @@ -44888,12 +44898,12 @@ func freeSpace(tls *libc.TLS, pPage uintptr, iStart U16, iSize U16) int32 { /* s if int32(iFreeBlk) == 0 { break } // TH3: corrupt082.100 - return Xsqlite3CorruptError(tls, 67923) + return Xsqlite3CorruptError(tls, 67933) } iPtr = iFreeBlk } if U32(iFreeBlk) > (*BtShared)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize-U32(4) { // TH3: corrupt081.100 - return Xsqlite3CorruptError(tls, 67928) + return Xsqlite3CorruptError(tls, 67938) } // At this point: @@ -44904,11 +44914,11 @@ func freeSpace(tls *libc.TLS, pPage uintptr, iStart U16, iSize U16) int32 { /* s if iFreeBlk != 0 && iEnd+U32(3) >= U32(iFreeBlk) { nFrag = U8(U32(iFreeBlk) - iEnd) if iEnd > U32(iFreeBlk) { - return Xsqlite3CorruptError(tls, 67940) + return Xsqlite3CorruptError(tls, 67950) } iEnd = U32(int32(iFreeBlk) + (int32(*(*uint8)(unsafe.Pointer(data + uintptr(int32(iFreeBlk)+2))))<<8 | int32(*(*uint8)(unsafe.Pointer(data + uintptr(int32(iFreeBlk)+2) + 1))))) if iEnd > (*BtShared)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize { - return Xsqlite3CorruptError(tls, 67943) + return Xsqlite3CorruptError(tls, 67953) } iSize = U16(iEnd - U32(iStart)) iFreeBlk = U16(int32(*(*uint8)(unsafe.Pointer(data + uintptr(iFreeBlk))))<<8 | int32(*(*uint8)(unsafe.Pointer(data + uintptr(iFreeBlk) + 1)))) @@ -44921,7 +44931,7 @@ func freeSpace(tls *libc.TLS, pPage uintptr, iStart U16, iSize U16) int32 { /* s var iPtrEnd int32 = int32(iPtr) + (int32(*(*uint8)(unsafe.Pointer(data + uintptr(int32(iPtr)+2))))<<8 | int32(*(*uint8)(unsafe.Pointer(data + uintptr(int32(iPtr)+2) + 1)))) if iPtrEnd+3 >= int32(iStart) { if iPtrEnd > int32(iStart) { - return Xsqlite3CorruptError(tls, 67956) + return Xsqlite3CorruptError(tls, 67966) } nFrag = U8(int32(nFrag) + (int32(iStart) - iPtrEnd)) iSize = U16(iEnd - U32(iPtr)) @@ -44929,7 +44939,7 @@ func freeSpace(tls *libc.TLS, pPage uintptr, iStart U16, iSize U16) int32 { /* s } } if int32(nFrag) > int32(*(*uint8)(unsafe.Pointer(data + uintptr(int32(hdr)+7)))) { - return Xsqlite3CorruptError(tls, 67962) + return Xsqlite3CorruptError(tls, 67972) } *(*uint8)(unsafe.Pointer(data + uintptr(int32(hdr)+7))) -= uint8(int32(nFrag)) } @@ -44939,10 +44949,10 @@ func freeSpace(tls *libc.TLS, pPage uintptr, iStart U16, iSize U16) int32 { /* s // so just extend the cell content area rather than create another // freelist entry if int32(iStart) < int32(x) { - return Xsqlite3CorruptError(tls, 67970) + return Xsqlite3CorruptError(tls, 67980) } if int32(iPtr) != int32(hdr)+1 { - return Xsqlite3CorruptError(tls, 67971) + return Xsqlite3CorruptError(tls, 67981) } *(*uint8)(unsafe.Pointer(data + uintptr(int32(hdr)+1))) = U8(int32(iFreeBlk) >> 8) *(*uint8)(unsafe.Pointer(data + uintptr(int32(hdr)+1) + 1)) = U8(iFreeBlk) @@ -44976,7 +44986,7 @@ func freeSpace(tls *libc.TLS, pPage uintptr, iStart U16, iSize U16) int32 { /* s // PTF_ZERODATA | PTF_LEAF // PTF_LEAFDATA | PTF_INTKEY // PTF_LEAFDATA | PTF_INTKEY | PTF_LEAF -func decodeFlags(tls *libc.TLS, pPage uintptr, flagByte int32) int32 { /* sqlite3.c:68001:12: */ +func decodeFlags(tls *libc.TLS, pPage uintptr, flagByte int32) int32 { /* sqlite3.c:68011:12: */ var pBt uintptr // A copy of pPage->pBt (*MemPage)(unsafe.Pointer(pPage)).Fleaf = U8(flagByte >> 3) @@ -45027,7 +45037,7 @@ func decodeFlags(tls *libc.TLS, pPage uintptr, flagByte int32) int32 { /* sqlite } else { // EVIDENCE-OF: R-47608-56469 Any other value for the b-tree page type is // an error. - return Xsqlite3CorruptError(tls, 68044) + return Xsqlite3CorruptError(tls, 68054) } (*MemPage)(unsafe.Pointer(pPage)).Fmax1bytePayload = (*BtShared)(unsafe.Pointer(pBt)).Fmax1bytePayload return SQLITE_OK @@ -45035,7 +45045,7 @@ func decodeFlags(tls *libc.TLS, pPage uintptr, flagByte int32) int32 { /* sqlite // Compute the amount of freespace on the page. In other words, fill // in the pPage->nFree field. -func btreeComputeFreeSpace(tls *libc.TLS, pPage uintptr) int32 { /* sqlite3.c:68054:12: */ +func btreeComputeFreeSpace(tls *libc.TLS, pPage uintptr) int32 { /* sqlite3.c:68064:12: */ var pc int32 // Address of a freeblock within pPage->aData[] var hdr U8 // Offset to beginning of page header var data uintptr // Equal to pPage->aData @@ -45067,12 +45077,12 @@ func btreeComputeFreeSpace(tls *libc.TLS, pPage uintptr) int32 { /* sqlite3.c:68 if pc < top { // 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 Xsqlite3CorruptError(tls, 68095) + return Xsqlite3CorruptError(tls, 68105) } for 1 != 0 { if pc > iCellLast { // Freeblock off the end of the page - return Xsqlite3CorruptError(tls, 68100) + return Xsqlite3CorruptError(tls, 68110) } next = U32(int32(*(*U8)(unsafe.Pointer(data + uintptr(pc))))<<8 | int32(*(*U8)(unsafe.Pointer(data + uintptr(pc) + 1)))) size = U32(int32(*(*U8)(unsafe.Pointer(data + uintptr(pc+2))))<<8 | int32(*(*U8)(unsafe.Pointer(data + uintptr(pc+2) + 1)))) @@ -45084,11 +45094,11 @@ func btreeComputeFreeSpace(tls *libc.TLS, pPage uintptr) int32 { /* sqlite3.c:68 } if next > U32(0) { // Freeblock not in ascending order - return Xsqlite3CorruptError(tls, 68110) + return Xsqlite3CorruptError(tls, 68120) } if U32(pc)+size > uint32(usableSize) { // Last freeblock extends past page end - return Xsqlite3CorruptError(tls, 68114) + return Xsqlite3CorruptError(tls, 68124) } } @@ -45099,7 +45109,7 @@ func btreeComputeFreeSpace(tls *libc.TLS, pPage uintptr) int32 { /* sqlite3.c:68 // serves to verify that the offset to the start of the cell-content // area, according to the page header, lies within the page. if nFree > usableSize || nFree < iCellFirst { - return Xsqlite3CorruptError(tls, 68126) + return Xsqlite3CorruptError(tls, 68136) } (*MemPage)(unsafe.Pointer(pPage)).FnFree = int32(U16(nFree - iCellFirst)) return SQLITE_OK @@ -45107,7 +45117,7 @@ func btreeComputeFreeSpace(tls *libc.TLS, pPage uintptr) int32 { /* sqlite3.c:68 // Do additional sanity check after btreeInitPage() if // PRAGMA cell_size_check=ON -func btreeCellSizeCheck(tls *libc.TLS, pPage uintptr) int32 { /* sqlite3.c:68136:28: */ +func btreeCellSizeCheck(tls *libc.TLS, pPage uintptr) int32 { /* sqlite3.c:68146:28: */ var iCellFirst int32 // First allowable cell or freeblock offset var iCellLast int32 // Last possible cell or freeblock offset var i int32 // Index into the cell pointer array @@ -45129,14 +45139,14 @@ func btreeCellSizeCheck(tls *libc.TLS, pPage uintptr) int32 { /* sqlite3.c:68136 pc = int32(libc.X__builtin_bswap16(tls, *(*U16)(unsafe.Pointer(data + uintptr(cellOffset+i*2))))) if pc < iCellFirst || pc > iCellLast { - return Xsqlite3CorruptError(tls, 68157) + return Xsqlite3CorruptError(tls, 68167) } sz = int32((*struct { f func(*libc.TLS, uintptr, uintptr) U16 })(unsafe.Pointer(&struct{ uintptr }{(*MemPage)(unsafe.Pointer(pPage)).FxCellSize})).f(tls, pPage, data+uintptr(pc))) if pc+sz > usableSize { - return Xsqlite3CorruptError(tls, 68162) + return Xsqlite3CorruptError(tls, 68172) } } return SQLITE_OK @@ -45149,7 +45159,7 @@ func btreeCellSizeCheck(tls *libc.TLS, pPage uintptr) int32 { /* sqlite3.c:68136 // SQLITE_CORRUPT. Note that a return of SQLITE_OK does not // guarantee that the page is well-formed. It only shows that // we failed to detect any corruption. -func btreeInitPage(tls *libc.TLS, pPage uintptr) int32 { /* sqlite3.c:68177:12: */ +func btreeInitPage(tls *libc.TLS, pPage uintptr) int32 { /* sqlite3.c:68187:12: */ var data uintptr // Equal to pPage->aData var pBt uintptr // The main btree structure @@ -45158,7 +45168,7 @@ func btreeInitPage(tls *libc.TLS, pPage uintptr) int32 { /* sqlite3.c:68177:12: // EVIDENCE-OF: R-28594-02890 The one-byte flag at offset 0 indicating // the b-tree page type. if decodeFlags(tls, pPage, int32(*(*U8)(unsafe.Pointer(data)))) != 0 { - return Xsqlite3CorruptError(tls, 68194) + return Xsqlite3CorruptError(tls, 68204) } (*MemPage)(unsafe.Pointer(pPage)).FmaskPage = U16((*BtShared)(unsafe.Pointer(pBt)).FpageSize - U32(1)) @@ -45172,7 +45182,7 @@ func btreeInitPage(tls *libc.TLS, pPage uintptr) int32 { /* sqlite3.c:68177:12: (*MemPage)(unsafe.Pointer(pPage)).FnCell = U16(int32(*(*U8)(unsafe.Pointer(data + 3)))<<8 | int32(*(*U8)(unsafe.Pointer(data + 3 + 1)))) if U32((*MemPage)(unsafe.Pointer(pPage)).FnCell) > ((*BtShared)(unsafe.Pointer(pBt)).FpageSize-U32(8))/U32(6) { // To many cells for a single page. The page must be corrupt - return Xsqlite3CorruptError(tls, 68208) + return Xsqlite3CorruptError(tls, 68218) } // EVIDENCE-OF: R-24089-57979 If a page contains no cells (which is only @@ -45190,7 +45200,7 @@ func btreeInitPage(tls *libc.TLS, pPage uintptr) int32 { /* sqlite3.c:68177:12: // Set up a raw page so that it looks like a database page holding // no entries. -func zeroPage(tls *libc.TLS, pPage uintptr, flags int32) { /* sqlite3.c:68230:13: */ +func zeroPage(tls *libc.TLS, pPage uintptr, flags int32) { /* sqlite3.c:68240:13: */ var data uintptr = (*MemPage)(unsafe.Pointer(pPage)).FaData var pBt uintptr = (*MemPage)(unsafe.Pointer(pPage)).FpBt var hdr U8 = (*MemPage)(unsafe.Pointer(pPage)).FhdrOffset @@ -45225,7 +45235,7 @@ func zeroPage(tls *libc.TLS, pPage uintptr, flags int32) { /* sqlite3.c:68230:13 // Convert a DbPage obtained from the pager into a MemPage used by // the btree layer. -func btreePageFromDbPage(tls *libc.TLS, pDbPage uintptr, pgno Pgno, pBt uintptr) uintptr { /* sqlite3.c:68267:16: */ +func btreePageFromDbPage(tls *libc.TLS, pDbPage uintptr, pgno Pgno, pBt uintptr) uintptr { /* sqlite3.c:68277:16: */ var pPage uintptr = Xsqlite3PagerGetExtra(tls, pDbPage) if pgno != (*MemPage)(unsafe.Pointer(pPage)).Fpgno { (*MemPage)(unsafe.Pointer(pPage)).FaData = Xsqlite3PagerGetData(tls, pDbPage) @@ -45252,7 +45262,7 @@ func btreePageFromDbPage(tls *libc.TLS, pDbPage uintptr, pgno Pgno, pBt uintptr) // If in the future we call sqlite3PagerWrite() on this page, that // means we have started to be concerned about content and the disk // read should occur at that point. -func btreeGetPage(tls *libc.TLS, pBt uintptr, pgno Pgno, ppPage uintptr, flags int32) int32 { /* sqlite3.c:68291:12: */ +func btreeGetPage(tls *libc.TLS, pBt uintptr, pgno Pgno, ppPage uintptr, flags int32) int32 { /* sqlite3.c:68301:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -45270,7 +45280,7 @@ func btreeGetPage(tls *libc.TLS, pBt uintptr, pgno Pgno, ppPage uintptr, flags i // Retrieve a page from the pager cache. If the requested page is not // already in the pager cache return NULL. Initialize the MemPage.pBt and // MemPage.aData elements if needed. -func btreePageLookup(tls *libc.TLS, pBt uintptr, pgno Pgno) uintptr { /* sqlite3.c:68313:16: */ +func btreePageLookup(tls *libc.TLS, pBt uintptr, pgno Pgno) uintptr { /* sqlite3.c:68323:16: */ var pDbPage uintptr pDbPage = Xsqlite3PagerLookup(tls, (*BtShared)(unsafe.Pointer(pBt)).FpPager, pgno) @@ -45282,11 +45292,11 @@ func btreePageLookup(tls *libc.TLS, pBt uintptr, pgno Pgno) uintptr { /* sqlite3 // Return the size of the database file in pages. If there is any kind of // error, return ((unsigned int)-1). -func btreePagecount(tls *libc.TLS, pBt uintptr) Pgno { /* sqlite3.c:68327:13: */ +func btreePagecount(tls *libc.TLS, pBt uintptr) Pgno { /* sqlite3.c:68337:13: */ return (*BtShared)(unsafe.Pointer(pBt)).FnPage } -func Xsqlite3BtreeLastPage(tls *libc.TLS, p uintptr) Pgno { /* sqlite3.c:68330:21: */ +func Xsqlite3BtreeLastPage(tls *libc.TLS, p uintptr) Pgno { /* sqlite3.c:68340:21: */ return btreePagecount(tls, (*Btree)(unsafe.Pointer(p)).FpBt) } @@ -45302,7 +45312,7 @@ func Xsqlite3BtreeLastPage(tls *libc.TLS, p uintptr) Pgno { /* sqlite3.c:68330:2 // // If an error occurs, then *ppPage is undefined. It // may remain unchanged, or it may be set to an invalid value. -func getAndInitPage(tls *libc.TLS, pBt uintptr, pgno Pgno, ppPage uintptr, pCur uintptr, bReadOnly int32) int32 { /* sqlite3.c:68348:12: */ +func getAndInitPage(tls *libc.TLS, pBt uintptr, pgno Pgno, ppPage uintptr, pCur uintptr, bReadOnly int32) int32 { /* sqlite3.c:68358:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -45312,7 +45322,7 @@ func getAndInitPage(tls *libc.TLS, pBt uintptr, pgno Pgno, ppPage uintptr, pCur if !(pgno > btreePagecount(tls, pBt)) { goto __1 } - rc = Xsqlite3CorruptError(tls, 68363) + rc = Xsqlite3CorruptError(tls, 68373) goto getAndInitPage_error1 __1: ; @@ -45343,7 +45353,7 @@ __3: if !(pCur != 0 && (int32((*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(ppPage)))).FnCell) < 1 || int32((*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(ppPage)))).FintKey) != int32((*BtCursor)(unsafe.Pointer(pCur)).FcurIntKey))) { goto __5 } - rc = Xsqlite3CorruptError(tls, 68384) + rc = Xsqlite3CorruptError(tls, 68394) goto getAndInitPage_error2 __5: ; @@ -45367,18 +45377,18 @@ __6: // call to btreeGetPage. // // Page1 is a special case and must be released using releasePageOne(). -func releasePageNotNull(tls *libc.TLS, pPage uintptr) { /* sqlite3.c:68407:13: */ +func releasePageNotNull(tls *libc.TLS, pPage uintptr) { /* sqlite3.c:68417:13: */ Xsqlite3PagerUnrefNotNull(tls, (*MemPage)(unsafe.Pointer(pPage)).FpDbPage) } -func releasePage(tls *libc.TLS, pPage uintptr) { /* sqlite3.c:68416:13: */ +func releasePage(tls *libc.TLS, pPage uintptr) { /* sqlite3.c:68426:13: */ if pPage != 0 { releasePageNotNull(tls, pPage) } } -func releasePageOne(tls *libc.TLS, pPage uintptr) { /* sqlite3.c:68419:13: */ +func releasePageOne(tls *libc.TLS, pPage uintptr) { /* sqlite3.c:68429:13: */ Xsqlite3PagerUnrefPageOne(tls, (*MemPage)(unsafe.Pointer(pPage)).FpDbPage) } @@ -45390,13 +45400,13 @@ func releasePageOne(tls *libc.TLS, pPage uintptr) { /* sqlite3.c:68419:13: */ // * If the page is already in use for some other purpose, immediately // release it and return an SQLITE_CURRUPT error. // * Make sure the isInit flag is clear -func btreeGetUnusedPage(tls *libc.TLS, pBt uintptr, pgno Pgno, ppPage uintptr, flags int32) int32 { /* sqlite3.c:68439:12: */ +func btreeGetUnusedPage(tls *libc.TLS, pBt uintptr, pgno Pgno, ppPage uintptr, flags int32) int32 { /* sqlite3.c:68449:12: */ var rc int32 = btreeGetPage(tls, pBt, pgno, ppPage, flags) if rc == SQLITE_OK { if Xsqlite3PagerPageRefcount(tls, (*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(ppPage)))).FpDbPage) > 1 { releasePage(tls, *(*uintptr)(unsafe.Pointer(ppPage))) *(*uintptr)(unsafe.Pointer(ppPage)) = uintptr(0) - return Xsqlite3CorruptError(tls, 68450) + return Xsqlite3CorruptError(tls, 68460) } (*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(ppPage)))).FisInit = U8(0) } else { @@ -45411,7 +45421,7 @@ func btreeGetUnusedPage(tls *libc.TLS, pBt uintptr, pgno Pgno, ppPage uintptr, f // // This routine needs to reset the extra data section at the end of the // page to agree with the restored data. -func pageReinit(tls *libc.TLS, pData uintptr) { /* sqlite3.c:68468:13: */ +func pageReinit(tls *libc.TLS, pData uintptr) { /* sqlite3.c:68478:13: */ var pPage uintptr pPage = Xsqlite3PagerGetExtra(tls, pData) @@ -45431,7 +45441,7 @@ func pageReinit(tls *libc.TLS, pData uintptr) { /* sqlite3.c:68468:13: */ } // Invoke the busy handler for a btree. -func btreeInvokeBusyHandler(tls *libc.TLS, pArg uintptr) int32 { /* sqlite3.c:68490:12: */ +func btreeInvokeBusyHandler(tls *libc.TLS, pArg uintptr) int32 { /* sqlite3.c:68500:12: */ var pBt uintptr = pArg return Xsqlite3InvokeBusyHandler(tls, (*BtShared)(unsafe.Pointer(pBt)).Fdb+460) @@ -45456,7 +45466,7 @@ func btreeInvokeBusyHandler(tls *libc.TLS, pArg uintptr) int32 { /* sqlite3.c:68 // SQLITE_CONSTRAINT error. We cannot allow two or more BtShared // objects in the same database connection since doing so will lead // to problems with locking. -func Xsqlite3BtreeOpen(tls *libc.TLS, pVfs uintptr, zFilename uintptr, db uintptr, ppBtree uintptr, flags int32, vfsFlags int32) int32 { /* sqlite3.c:68518:20: */ +func Xsqlite3BtreeOpen(tls *libc.TLS, pVfs uintptr, zFilename uintptr, db uintptr, ppBtree uintptr, flags int32, vfsFlags int32) int32 { /* sqlite3.c:68528:20: */ bp := tls.Alloc(100) defer tls.Free(100) @@ -45877,7 +45887,7 @@ __49: // remove the BtShared structure from the sharing list. Return // true if the BtShared.nRef counter reaches zero and return // false if it is still positive. -func removeFromSharingList(tls *libc.TLS, pBt uintptr) int32 { /* sqlite3.c:68816:12: */ +func removeFromSharingList(tls *libc.TLS, pBt uintptr) int32 { /* sqlite3.c:68826:12: */ var pMainMtx uintptr var pList uintptr var removed int32 = 0 @@ -45909,7 +45919,7 @@ func removeFromSharingList(tls *libc.TLS, pBt uintptr) int32 { /* sqlite3.c:6881 // Make sure pBt->pTmpSpace points to an allocation of // MX_CELL_SIZE(pBt) bytes with a 4-byte prefix for a left-child // pointer. -func allocateTempSpace(tls *libc.TLS, pBt uintptr) int32 { /* sqlite3.c:68855:28: */ +func allocateTempSpace(tls *libc.TLS, pBt uintptr) int32 { /* sqlite3.c:68865:28: */ // This routine is called only by btreeCursor() when allocating the // first write cursor for the BtShared object @@ -45942,7 +45952,7 @@ func allocateTempSpace(tls *libc.TLS, pBt uintptr) int32 { /* sqlite3.c:68855:28 } // Free the pBt->pTmpSpace allocation -func freeTempSpace(tls *libc.TLS, pBt uintptr) { /* sqlite3.c:68892:13: */ +func freeTempSpace(tls *libc.TLS, pBt uintptr) { /* sqlite3.c:68902:13: */ if (*BtShared)(unsafe.Pointer(pBt)).FpTmpSpace != 0 { *(*uintptr)(unsafe.Pointer(pBt + 84)) -= uintptr(4) Xsqlite3PageFree(tls, (*BtShared)(unsafe.Pointer(pBt)).FpTmpSpace) @@ -45951,7 +45961,7 @@ func freeTempSpace(tls *libc.TLS, pBt uintptr) { /* sqlite3.c:68892:13: */ } // Close an open database and invalidate all cursors. -func Xsqlite3BtreeClose(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:68903:20: */ +func Xsqlite3BtreeClose(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:68913:20: */ var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt // Close all cursors opened via this handle. @@ -46001,7 +46011,7 @@ func Xsqlite3BtreeClose(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:68903:20: // pages in the cache exceeds this soft limit. But the size of the // cache is allowed to grow larger than this limit if it contains // dirty pages or pages still in active use. -func Xsqlite3BtreeSetCacheSize(tls *libc.TLS, p uintptr, mxPage int32) int32 { /* sqlite3.c:68969:20: */ +func Xsqlite3BtreeSetCacheSize(tls *libc.TLS, p uintptr, mxPage int32) int32 { /* sqlite3.c:68979:20: */ var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt Xsqlite3BtreeEnter(tls, p) @@ -46018,7 +46028,7 @@ func Xsqlite3BtreeSetCacheSize(tls *libc.TLS, p uintptr, mxPage int32) int32 { / // The value returned is the current spill size. If zero is passed // as an argument, no changes are made to the spill size setting, so // using mxPage of 0 is a way to query the current spill size. -func Xsqlite3BtreeSetSpillSize(tls *libc.TLS, p uintptr, mxPage int32) int32 { /* sqlite3.c:68988:20: */ +func Xsqlite3BtreeSetSpillSize(tls *libc.TLS, p uintptr, mxPage int32) int32 { /* sqlite3.c:68998:20: */ var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt var res int32 @@ -46030,7 +46040,7 @@ func Xsqlite3BtreeSetSpillSize(tls *libc.TLS, p uintptr, mxPage int32) int32 { / // Change the limit on the amount of the database file that may be // memory mapped. -func Xsqlite3BtreeSetMmapLimit(tls *libc.TLS, p uintptr, szMmap Sqlite3_int64) int32 { /* sqlite3.c:69003:20: */ +func Xsqlite3BtreeSetMmapLimit(tls *libc.TLS, p uintptr, szMmap Sqlite3_int64) int32 { /* sqlite3.c:69013:20: */ var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt Xsqlite3BtreeEnter(tls, p) @@ -46045,7 +46055,7 @@ func Xsqlite3BtreeSetMmapLimit(tls *libc.TLS, p uintptr, szMmap Sqlite3_int64) i // there is a high probability of damage) Level 2 is the default. There // is a very low but non-zero probability of damage. Level 3 reduces the // probability of damage to near zero but with a write performance reduction. -func Xsqlite3BtreeSetPagerFlags(tls *libc.TLS, p uintptr, pgFlags uint32) int32 { /* sqlite3.c:69022:20: */ +func Xsqlite3BtreeSetPagerFlags(tls *libc.TLS, p uintptr, pgFlags uint32) int32 { /* sqlite3.c:69032:20: */ var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt Xsqlite3BtreeEnter(tls, p) @@ -46072,7 +46082,7 @@ func Xsqlite3BtreeSetPagerFlags(tls *libc.TLS, p uintptr, pgFlags uint32) int32 // // If the iFix!=0 then the BTS_PAGESIZE_FIXED flag is set so that the page size // and autovacuum mode can no longer be changed. -func Xsqlite3BtreeSetPageSize(tls *libc.TLS, p uintptr, pageSize int32, nReserve int32, iFix int32) int32 { /* sqlite3.c:69055:20: */ +func Xsqlite3BtreeSetPageSize(tls *libc.TLS, p uintptr, pageSize int32, nReserve int32, iFix int32) int32 { /* sqlite3.c:69065:20: */ var rc int32 = SQLITE_OK var x int32 var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt @@ -46106,7 +46116,7 @@ func Xsqlite3BtreeSetPageSize(tls *libc.TLS, p uintptr, pageSize int32, nReserve } // Return the currently defined page size -func Xsqlite3BtreeGetPageSize(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:69087:20: */ +func Xsqlite3BtreeGetPageSize(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:69097:20: */ return int32((*BtShared)(unsafe.Pointer((*Btree)(unsafe.Pointer(p)).FpBt)).FpageSize) } @@ -46119,7 +46129,7 @@ func Xsqlite3BtreeGetPageSize(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:690 // database handle that owns *p is not. In this case if sqlite3BtreeEnter() // were to be called, it might collide with some other operation on the // database handle that owns *p, causing undefined behavior. -func Xsqlite3BtreeGetReserveNoMutex(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:69102:20: */ +func Xsqlite3BtreeGetReserveNoMutex(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:69112:20: */ var n int32 n = int32((*BtShared)(unsafe.Pointer((*Btree)(unsafe.Pointer(p)).FpBt)).FpageSize - (*BtShared)(unsafe.Pointer((*Btree)(unsafe.Pointer(p)).FpBt)).FusableSize) @@ -46133,7 +46143,7 @@ func Xsqlite3BtreeGetReserveNoMutex(tls *libc.TLS, p uintptr) int32 { /* sqlite3 // The value returned is the larger of the current reserve size and // the latest reserve size requested by SQLITE_FILECTRL_RESERVE_BYTES. // The amount of reserve can only grow - never shrink. -func Xsqlite3BtreeGetRequestedReserve(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:69118:20: */ +func Xsqlite3BtreeGetRequestedReserve(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:69128:20: */ var n1 int32 var n2 int32 Xsqlite3BtreeEnter(tls, p) @@ -46149,7 +46159,7 @@ func Xsqlite3BtreeGetRequestedReserve(tls *libc.TLS, p uintptr) int32 { /* sqlit // Set the maximum page count for a database if mxPage is positive. // No changes are made if mxPage is 0 or negative. // Regardless of the value of mxPage, return the maximum page count. -func Xsqlite3BtreeMaxPageCount(tls *libc.TLS, p uintptr, mxPage Pgno) Pgno { /* sqlite3.c:69133:21: */ +func Xsqlite3BtreeMaxPageCount(tls *libc.TLS, p uintptr, mxPage Pgno) Pgno { /* sqlite3.c:69143:21: */ var n Pgno Xsqlite3BtreeEnter(tls, p) n = Xsqlite3PagerMaxPageCount(tls, (*BtShared)(unsafe.Pointer((*Btree)(unsafe.Pointer(p)).FpBt)).FpPager, mxPage) @@ -46173,7 +46183,7 @@ func Xsqlite3BtreeMaxPageCount(tls *libc.TLS, p uintptr, mxPage Pgno) Pgno { /* // With BTS_SECURE_DELETE, operation is like BTS_OVERWRITE with the addition // that freelist leaf pages are written back into the database, increasing // the amount of disk I/O. -func Xsqlite3BtreeSecureDelete(tls *libc.TLS, p uintptr, newFlag int32) int32 { /* sqlite3.c:69159:20: */ +func Xsqlite3BtreeSecureDelete(tls *libc.TLS, p uintptr, newFlag int32) int32 { /* sqlite3.c:69169:20: */ var b int32 if p == uintptr(0) { return 0 @@ -46193,7 +46203,7 @@ func Xsqlite3BtreeSecureDelete(tls *libc.TLS, p uintptr, newFlag int32) int32 { // parameter is non-zero, then auto-vacuum mode is enabled. If zero, it // is disabled. The default value for the auto-vacuum property is // determined by the SQLITE_DEFAULT_AUTOVACUUM macro. -func Xsqlite3BtreeSetAutoVacuum(tls *libc.TLS, p uintptr, autoVacuum int32) int32 { /* sqlite3.c:69180:20: */ +func Xsqlite3BtreeSetAutoVacuum(tls *libc.TLS, p uintptr, autoVacuum int32) int32 { /* sqlite3.c:69190:20: */ var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt var rc int32 = SQLITE_OK var av U8 = U8(autoVacuum) @@ -46226,7 +46236,7 @@ func Xsqlite3BtreeSetAutoVacuum(tls *libc.TLS, p uintptr, autoVacuum int32) int3 // Return the value of the 'auto-vacuum' property. If auto-vacuum is // enabled 1 is returned. Otherwise 0. -func Xsqlite3BtreeGetAutoVacuum(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:69204:20: */ +func Xsqlite3BtreeGetAutoVacuum(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:69214:20: */ var rc int32 Xsqlite3BtreeEnter(tls, p) rc = func() int32 { @@ -46251,7 +46261,7 @@ func Xsqlite3BtreeGetAutoVacuum(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:6 // well-formed database file, then SQLITE_CORRUPT is returned. // SQLITE_BUSY is returned if the database is locked. SQLITE_NOMEM // is returned if we run out of memory. -func lockBtree(tls *libc.TLS, pBt uintptr) int32 { /* sqlite3.c:69260:12: */ +func lockBtree(tls *libc.TLS, pBt uintptr) int32 { /* sqlite3.c:69270:12: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -46420,7 +46430,7 @@ __16: if !(Xsqlite3WritableSchema(tls, (*BtShared)(unsafe.Pointer(pBt)).Fdb) == 0) { goto __18 } - rc = Xsqlite3CorruptError(tls, 69385) + rc = Xsqlite3CorruptError(tls, 69395) goto page1_init_failed goto __19 __18: @@ -46497,7 +46507,7 @@ page1_init_failed: // has the effect of releasing the read lock. // // If there is a transaction in progress, this routine is a no-op. -func unlockBtreeIfUnused(tls *libc.TLS, pBt uintptr) { /* sqlite3.c:69470:13: */ +func unlockBtreeIfUnused(tls *libc.TLS, pBt uintptr) { /* sqlite3.c:69480:13: */ if int32((*BtShared)(unsafe.Pointer(pBt)).FinTransaction) == TRANS_NONE && (*BtShared)(unsafe.Pointer(pBt)).FpPage1 != uintptr(0) { var pPage1 uintptr = (*BtShared)(unsafe.Pointer(pBt)).FpPage1 @@ -46510,7 +46520,7 @@ func unlockBtreeIfUnused(tls *libc.TLS, pBt uintptr) { /* sqlite3.c:69470:13: */ // If pBt points to an empty file then convert that empty file // into a new empty database by initializing the first page of // the database. -func newDatabase(tls *libc.TLS, pBt uintptr) int32 { /* sqlite3.c:69487:12: */ +func newDatabase(tls *libc.TLS, pBt uintptr) int32 { /* sqlite3.c:69497:12: */ var pP1 uintptr var data uintptr var rc int32 @@ -46550,7 +46560,7 @@ func newDatabase(tls *libc.TLS, pBt uintptr) int32 { /* sqlite3.c:69487:12: */ // Initialize the first page of the database file (creating a database // consisting of a single page and no schema objects). Return SQLITE_OK // if successful, or an SQLite error code otherwise. -func Xsqlite3BtreeNewDb(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:69531:20: */ +func Xsqlite3BtreeNewDb(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:69541:20: */ var rc int32 Xsqlite3BtreeEnter(tls, p) (*BtShared)(unsafe.Pointer((*Btree)(unsafe.Pointer(p)).FpBt)).FnPage = U32(0) @@ -46592,7 +46602,7 @@ func Xsqlite3BtreeNewDb(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:69531:20: // no progress. By returning SQLITE_BUSY and not invoking the busy callback // when A already has a read lock, we encourage A to give up and let B // proceed. -func Xsqlite3BtreeBeginTrans(tls *libc.TLS, p uintptr, wrflag int32, pSchemaVersion uintptr) int32 { /* sqlite3.c:69575:20: */ +func Xsqlite3BtreeBeginTrans(tls *libc.TLS, p uintptr, wrflag int32, pSchemaVersion uintptr) int32 { /* sqlite3.c:69585:20: */ var pBt uintptr var pPager uintptr var rc int32 @@ -46856,7 +46866,7 @@ __34: // Set the pointer-map entries for all children of page pPage. Also, if // pPage contains cells that point to overflow pages, set the pointer // map entries for the overflow pages as well. -func setChildPtrmaps(tls *libc.TLS, pPage uintptr) int32 { /* sqlite3.c:69755:12: */ +func setChildPtrmaps(tls *libc.TLS, pPage uintptr) int32 { /* sqlite3.c:69765:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -46908,14 +46918,14 @@ func setChildPtrmaps(tls *libc.TLS, pPage uintptr) int32 { /* sqlite3.c:69755:12 // // PTRMAP_OVERFLOW2: pPage is an overflow-page. The pointer points at the next // overflow page in the list. -func modifyPagePointer(tls *libc.TLS, pPage uintptr, iFrom Pgno, iTo Pgno, eType U8) int32 { /* sqlite3.c:69800:12: */ +func modifyPagePointer(tls *libc.TLS, pPage uintptr, iFrom Pgno, iTo Pgno, eType U8) int32 { /* sqlite3.c:69810:12: */ bp := tls.Alloc(24) defer tls.Free(24) if int32(eType) == PTRMAP_OVERFLOW2 { // The pointer is always the first 4 bytes of the page in this case. if Xsqlite3Get4byte(tls, (*MemPage)(unsafe.Pointer(pPage)).FaData) != iFrom { - return Xsqlite3CorruptError(tls, 69806) + return Xsqlite3CorruptError(tls, 69816) } Xsqlite3Put4byte(tls, (*MemPage)(unsafe.Pointer(pPage)).FaData, iTo) } else { @@ -46943,7 +46953,7 @@ func modifyPagePointer(tls *libc.TLS, pPage uintptr, iFrom Pgno, iTo Pgno, eType })(unsafe.Pointer(&struct{ uintptr }{(*MemPage)(unsafe.Pointer(pPage)).FxParseCell})).f(tls, pPage, pCell, bp /* &info */) if U32((*CellInfo)(unsafe.Pointer(bp)).FnLocal) < (*CellInfo)(unsafe.Pointer(bp)).FnPayload { if pCell+uintptr((*CellInfo)(unsafe.Pointer(bp)).FnSize) > (*MemPage)(unsafe.Pointer(pPage)).FaData+uintptr((*BtShared)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize) { - return Xsqlite3CorruptError(tls, 69825) + return Xsqlite3CorruptError(tls, 69835) } if iFrom == Xsqlite3Get4byte(tls, pCell+uintptr((*CellInfo)(unsafe.Pointer(bp)).FnSize)-uintptr(4)) { Xsqlite3Put4byte(tls, pCell+uintptr((*CellInfo)(unsafe.Pointer(bp)).FnSize)-uintptr(4), iTo) @@ -46960,7 +46970,7 @@ func modifyPagePointer(tls *libc.TLS, pPage uintptr, iFrom Pgno, iTo Pgno, eType if i == nCell { if int32(eType) != PTRMAP_BTREE || Xsqlite3Get4byte(tls, (*MemPage)(unsafe.Pointer(pPage)).FaData+uintptr(int32((*MemPage)(unsafe.Pointer(pPage)).FhdrOffset)+8)) != iFrom { - return Xsqlite3CorruptError(tls, 69843) + return Xsqlite3CorruptError(tls, 69853) } Xsqlite3Put4byte(tls, (*MemPage)(unsafe.Pointer(pPage)).FaData+uintptr(int32((*MemPage)(unsafe.Pointer(pPage)).FhdrOffset)+8), iTo) } @@ -46975,7 +46985,7 @@ func modifyPagePointer(tls *libc.TLS, pPage uintptr, iFrom Pgno, iTo Pgno, eType // the journal needs to be sync()ed before database page pDbPage->pgno // can be written to. The caller has already promised not to write to that // page. -func relocatePage(tls *libc.TLS, pBt uintptr, pDbPage uintptr, eType U8, iPtrPage Pgno, iFreePage Pgno, isCommit int32) int32 { /* sqlite3.c:69861:12: */ +func relocatePage(tls *libc.TLS, pBt uintptr, pDbPage uintptr, eType U8, iPtrPage Pgno, iFreePage Pgno, isCommit int32) int32 { /* sqlite3.c:69871:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -46986,7 +46996,7 @@ func relocatePage(tls *libc.TLS, pBt uintptr, pDbPage uintptr, eType U8, iPtrPag // var rc int32 at bp, 4 if iDbPage < Pgno(3) { - return Xsqlite3CorruptError(tls, 69878) + return Xsqlite3CorruptError(tls, 69888) } // Move page iDbPage from its current location to page number iFreePage @@ -47056,7 +47066,7 @@ func relocatePage(tls *libc.TLS, pBt uintptr, pDbPage uintptr, eType U8, iPtrPag // caller will keep calling incrVacuumStep() until it returns SQLITE_DONE // or an error. bCommit is passed true for an auto-vacuum-on-commit // operation, or false for an incremental vacuum. -func incrVacuumStep(tls *libc.TLS, pBt uintptr, nFin Pgno, iLastPg Pgno, bCommit int32) int32 { /* sqlite3.c:69955:12: */ +func incrVacuumStep(tls *libc.TLS, pBt uintptr, nFin Pgno, iLastPg Pgno, bCommit int32) int32 { /* sqlite3.c:69965:12: */ bp := tls.Alloc(28) defer tls.Free(28) @@ -47078,7 +47088,7 @@ func incrVacuumStep(tls *libc.TLS, pBt uintptr, nFin Pgno, iLastPg Pgno, bCommit return rc } if int32(*(*U8)(unsafe.Pointer(bp))) == PTRMAP_ROOTPAGE { - return Xsqlite3CorruptError(tls, 69976) + return Xsqlite3CorruptError(tls, 69986) } if int32(*(*U8)(unsafe.Pointer(bp))) == PTRMAP_FREEPAGE { @@ -47153,7 +47163,7 @@ func incrVacuumStep(tls *libc.TLS, pBt uintptr, nFin Pgno, iLastPg Pgno, bCommit // The database opened by the first argument is an auto-vacuum database // nOrig pages in size containing nFree free pages. Return the expected // size of the database in pages following an auto-vacuum operation. -func finalDbSize(tls *libc.TLS, pBt uintptr, nOrig Pgno, nFree Pgno) Pgno { /* sqlite3.c:70051:13: */ +func finalDbSize(tls *libc.TLS, pBt uintptr, nOrig Pgno, nFree Pgno) Pgno { /* sqlite3.c:70061:13: */ var nEntry int32 // Number of entries on one ptrmap page var nPtrmap Pgno // Number of PtrMap pages to be freed var nFin Pgno // Return value @@ -47177,7 +47187,7 @@ func finalDbSize(tls *libc.TLS, pBt uintptr, nOrig Pgno, nFree Pgno) Pgno { /* s // If the incremental vacuum is finished after this function has run, // SQLITE_DONE is returned. If it is not finished, but no error occurred, // SQLITE_OK is returned. Otherwise an SQLite error code. -func Xsqlite3BtreeIncrVacuum(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:70077:20: */ +func Xsqlite3BtreeIncrVacuum(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:70087:20: */ var rc int32 var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt @@ -47191,7 +47201,7 @@ func Xsqlite3BtreeIncrVacuum(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:7007 var nFin Pgno = finalDbSize(tls, pBt, nOrig, nFree) if nOrig < nFin || nFree >= nOrig { - rc = Xsqlite3CorruptError(tls, 70091) + rc = Xsqlite3CorruptError(tls, 70101) } else if nFree > Pgno(0) { rc = saveAllCursors(tls, pBt, uint32(0), uintptr(0)) if rc == SQLITE_OK { @@ -47212,7 +47222,7 @@ func Xsqlite3BtreeIncrVacuum(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:7007 // This routine is called prior to sqlite3PagerCommit when a transaction // is committed for an auto-vacuum database. -func autoVacuumCommit(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:70114:12: */ +func autoVacuumCommit(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:70124:12: */ var rc int32 = SQLITE_OK var pPager uintptr var pBt uintptr @@ -47235,7 +47245,7 @@ func autoVacuumCommit(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:70114:12: * // It is not possible to create a database for which the final page // is either a pointer-map page or the pending-byte page. If one // is encountered, this indicates corruption. - return Xsqlite3CorruptError(tls, 70142) + return Xsqlite3CorruptError(tls, 70152) } nFree = Xsqlite3Get4byte(tls, (*MemPage)(unsafe.Pointer((*BtShared)(unsafe.Pointer(pBt)).FpPage1)).FaData+36) @@ -47266,7 +47276,7 @@ func autoVacuumCommit(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:70114:12: * } nFin = finalDbSize(tls, pBt, nOrig, nVac) if nFin > nOrig { - return Xsqlite3CorruptError(tls, 70169) + return Xsqlite3CorruptError(tls, 70179) } if nFin < nOrig { rc = saveAllCursors(tls, pBt, uint32(0), uintptr(0)) @@ -47316,7 +47326,7 @@ func autoVacuumCommit(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:70114:12: * // // Once this is routine has returned, the only thing required to commit // the write-transaction for this database file is to delete the journal. -func Xsqlite3BtreeCommitPhaseOne(tls *libc.TLS, p uintptr, zSuperJrnl uintptr) int32 { /* sqlite3.c:70225:20: */ +func Xsqlite3BtreeCommitPhaseOne(tls *libc.TLS, p uintptr, zSuperJrnl uintptr) int32 { /* sqlite3.c:70235:20: */ var rc int32 = SQLITE_OK if int32((*Btree)(unsafe.Pointer(p)).FinTrans) == TRANS_WRITE { var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt @@ -47339,7 +47349,7 @@ func Xsqlite3BtreeCommitPhaseOne(tls *libc.TLS, p uintptr, zSuperJrnl uintptr) i // This function is called from both BtreeCommitPhaseTwo() and BtreeRollback() // at the conclusion of a transaction. -func btreeEndTransaction(tls *libc.TLS, p uintptr) { /* sqlite3.c:70252:13: */ +func btreeEndTransaction(tls *libc.TLS, p uintptr) { /* sqlite3.c:70262:13: */ var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt var db uintptr = (*Btree)(unsafe.Pointer(p)).Fdb @@ -47395,7 +47405,7 @@ func btreeEndTransaction(tls *libc.TLS, p uintptr) { /* sqlite3.c:70252:13: */ // // This will release the write lock on the database file. If there // are no active cursors, it also releases the read lock. -func Xsqlite3BtreeCommitPhaseTwo(tls *libc.TLS, p uintptr, bCleanup int32) int32 { /* sqlite3.c:70314:20: */ +func Xsqlite3BtreeCommitPhaseTwo(tls *libc.TLS, p uintptr, bCleanup int32) int32 { /* sqlite3.c:70324:20: */ if int32((*Btree)(unsafe.Pointer(p)).FinTrans) == TRANS_NONE { return SQLITE_OK @@ -47424,7 +47434,7 @@ func Xsqlite3BtreeCommitPhaseTwo(tls *libc.TLS, p uintptr, bCleanup int32) int32 } // Do both phases of a commit. -func Xsqlite3BtreeCommit(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:70346:20: */ +func Xsqlite3BtreeCommit(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:70356:20: */ var rc int32 Xsqlite3BtreeEnter(tls, p) rc = Xsqlite3BtreeCommitPhaseOne(tls, p, uintptr(0)) @@ -47459,7 +47469,7 @@ func Xsqlite3BtreeCommit(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:70346:20 // // SQLITE_OK is returned if successful, or if an error occurs while // saving a cursor position, an SQLite error code. -func Xsqlite3BtreeTripAllCursors(tls *libc.TLS, pBtree uintptr, errCode int32, writeOnly int32) int32 { /* sqlite3.c:70383:20: */ +func Xsqlite3BtreeTripAllCursors(tls *libc.TLS, pBtree uintptr, errCode int32, writeOnly int32) int32 { /* sqlite3.c:70393:20: */ var p uintptr var rc int32 = SQLITE_OK @@ -47488,7 +47498,7 @@ func Xsqlite3BtreeTripAllCursors(tls *libc.TLS, pBtree uintptr, errCode int32, w // Set the pBt->nPage field correctly, according to the current // state of the database. Assume pBt->pPage1 is valid. -func btreeSetNPage(tls *libc.TLS, pBt uintptr, pPage1 uintptr) { /* sqlite3.c:70415:13: */ +func btreeSetNPage(tls *libc.TLS, pBt uintptr, pPage1 uintptr) { /* sqlite3.c:70425:13: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -47510,7 +47520,7 @@ func btreeSetNPage(tls *libc.TLS, pBt uintptr, pPage1 uintptr) { /* sqlite3.c:70 // // This will release the write lock on the database file. If there // are no active cursors, it also releases the read lock. -func Xsqlite3BtreeRollback(tls *libc.TLS, p uintptr, tripCode int32, writeOnly int32) int32 { /* sqlite3.c:70434:20: */ +func Xsqlite3BtreeRollback(tls *libc.TLS, p uintptr, tripCode int32, writeOnly int32) int32 { /* sqlite3.c:70444:20: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -47576,7 +47586,7 @@ func Xsqlite3BtreeRollback(tls *libc.TLS, p uintptr, tripCode int32, writeOnly i // are no active savepoints and no other statement-transactions open, // iStatement is 1. This anonymous savepoint can be released or rolled back // using the sqlite3BtreeSavepoint() function. -func Xsqlite3BtreeBeginStmt(tls *libc.TLS, p uintptr, iStatement int32) int32 { /* sqlite3.c:70499:20: */ +func Xsqlite3BtreeBeginStmt(tls *libc.TLS, p uintptr, iStatement int32) int32 { /* sqlite3.c:70509:20: */ var rc int32 var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt Xsqlite3BtreeEnter(tls, p) @@ -47600,7 +47610,7 @@ func Xsqlite3BtreeBeginStmt(tls *libc.TLS, p uintptr, iStatement int32) int32 { // contents of the entire transaction are rolled back. This is different // from a normal transaction rollback, as no locks are released and the // transaction remains open. -func Xsqlite3BtreeSavepoint(tls *libc.TLS, p uintptr, op int32, iSavepoint int32) int32 { /* sqlite3.c:70530:20: */ +func Xsqlite3BtreeSavepoint(tls *libc.TLS, p uintptr, op int32, iSavepoint int32) int32 { /* sqlite3.c:70540:20: */ var rc int32 = SQLITE_OK if p != 0 && int32((*Btree)(unsafe.Pointer(p)).FinTrans) == TRANS_WRITE { var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt @@ -47668,7 +47678,7 @@ func Xsqlite3BtreeSavepoint(tls *libc.TLS, p uintptr, op int32, iSavepoint int32 // // It is assumed that the sqlite3BtreeCursorZero() has been called // on pCur to initialize the memory space prior to invoking this routine. -func btreeCursor(tls *libc.TLS, p uintptr, iTable Pgno, wrFlag int32, pKeyInfo uintptr, pCur uintptr) int32 { /* sqlite3.c:70601:12: */ +func btreeCursor(tls *libc.TLS, p uintptr, iTable Pgno, wrFlag int32, pKeyInfo uintptr, pCur uintptr) int32 { /* sqlite3.c:70611:12: */ var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt // Shared b-tree handle var pX uintptr // Looping over other all cursors @@ -47681,7 +47691,7 @@ func btreeCursor(tls *libc.TLS, p uintptr, iTable Pgno, wrFlag int32, pKeyInfo u if iTable <= Pgno(1) { if iTable < Pgno(1) { - return Xsqlite3CorruptError(tls, 70633) + return Xsqlite3CorruptError(tls, 70643) } else if btreePagecount(tls, pBt) == Pgno(0) { iTable = Pgno(0) @@ -47719,7 +47729,7 @@ func btreeCursor(tls *libc.TLS, p uintptr, iTable Pgno, wrFlag int32, pKeyInfo u return SQLITE_OK } -func btreeCursorWithLock(tls *libc.TLS, p uintptr, iTable Pgno, wrFlag int32, pKeyInfo uintptr, pCur uintptr) int32 { /* sqlite3.c:70668:12: */ +func btreeCursorWithLock(tls *libc.TLS, p uintptr, iTable Pgno, wrFlag int32, pKeyInfo uintptr, pCur uintptr) int32 { /* sqlite3.c:70678:12: */ var rc int32 Xsqlite3BtreeEnter(tls, p) rc = btreeCursor(tls, p, iTable, wrFlag, pKeyInfo, pCur) @@ -47727,7 +47737,7 @@ func btreeCursorWithLock(tls *libc.TLS, p uintptr, iTable Pgno, wrFlag int32, pK return rc } -func Xsqlite3BtreeCursor(tls *libc.TLS, p uintptr, iTable Pgno, wrFlag int32, pKeyInfo uintptr, pCur uintptr) int32 { /* sqlite3.c:70681:20: */ +func Xsqlite3BtreeCursor(tls *libc.TLS, p uintptr, iTable Pgno, wrFlag int32, pKeyInfo uintptr, pCur uintptr) int32 { /* sqlite3.c:70691:20: */ if (*Btree)(unsafe.Pointer(p)).Fsharable != 0 { return btreeCursorWithLock(tls, p, iTable, wrFlag, pKeyInfo, pCur) } else { @@ -47742,7 +47752,7 @@ func Xsqlite3BtreeCursor(tls *libc.TLS, p uintptr, iTable Pgno, wrFlag int32, pK // sufficient storage to hold a cursor. The BtCursor object is opaque // to users so they cannot do the sizeof() themselves - they must call // this routine. -func Xsqlite3BtreeCursorSize(tls *libc.TLS) int32 { /* sqlite3.c:70703:20: */ +func Xsqlite3BtreeCursorSize(tls *libc.TLS) int32 { /* sqlite3.c:70713:20: */ return int32((uint32(unsafe.Sizeof(BtCursor{})) + uint32(7)) & libc.Uint32FromInt32(libc.CplInt32(7))) } @@ -47752,13 +47762,13 @@ func Xsqlite3BtreeCursorSize(tls *libc.TLS) int32 { /* sqlite3.c:70703:20: */ // to zero. But it turns out that the apPage[] and aiIdx[] arrays // do not need to be zeroed and they are large, so we can save a lot // of run-time by skipping the initialization of those elements. -func Xsqlite3BtreeCursorZero(tls *libc.TLS, p uintptr) { /* sqlite3.c:70715:21: */ +func Xsqlite3BtreeCursorZero(tls *libc.TLS, p uintptr) { /* sqlite3.c:70725:21: */ libc.Xmemset(tls, p, 0, uint32(uintptr(0)+20)) } // Close a cursor. The read lock on the database file is released // when the last cursor is closed. -func Xsqlite3BtreeCloseCursor(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:70723:20: */ +func Xsqlite3BtreeCloseCursor(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:70733:20: */ var pBtree uintptr = (*BtCursor)(unsafe.Pointer(pCur)).FpBtree if pBtree != 0 { var pBt uintptr = (*BtCursor)(unsafe.Pointer(pCur)).FpBt @@ -47799,7 +47809,7 @@ func Xsqlite3BtreeCloseCursor(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c: // // BtCursor.info is a cache of the information in the current cell. // Using this cache reduces the number of calls to btreeParseCell(). -func getCellInfo(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:70784:29: */ +func getCellInfo(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:70794:29: */ if int32((*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnSize) == 0 { *(*U8)(unsafe.Pointer(pCur + 1)) |= U8(BTCF_ValidNKey) btreeParseCell(tls, (*BtCursor)(unsafe.Pointer(pCur)).FpPage, int32((*BtCursor)(unsafe.Pointer(pCur)).Fix), pCur+32) @@ -47808,7 +47818,7 @@ func getCellInfo(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:70784:29: */ } } -func Xsqlite3BtreeCursorIsValidNN(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:70803:20: */ +func Xsqlite3BtreeCursorIsValidNN(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:70813:20: */ return libc.Bool32(int32((*BtCursor)(unsafe.Pointer(pCur)).FeState) == CURSOR_VALID) } @@ -47817,26 +47827,26 @@ func Xsqlite3BtreeCursorIsValidNN(tls *libc.TLS, pCur uintptr) int32 { /* sqlite // This routine is only valid for a cursor that is pointing into a // ordinary table btree. If the cursor points to an index btree or // is invalid, the result of this routine is undefined. -func Xsqlite3BtreeIntegerKey(tls *libc.TLS, pCur uintptr) I64 { /* sqlite3.c:70814:20: */ +func Xsqlite3BtreeIntegerKey(tls *libc.TLS, pCur uintptr) I64 { /* sqlite3.c:70824:20: */ getCellInfo(tls, pCur) return (*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnKey } // Pin or unpin a cursor. -func Xsqlite3BtreeCursorPin(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:70825:21: */ +func Xsqlite3BtreeCursorPin(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:70835:21: */ *(*U8)(unsafe.Pointer(pCur + 1)) |= U8(BTCF_Pinned) } -func Xsqlite3BtreeCursorUnpin(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:70829:21: */ +func Xsqlite3BtreeCursorUnpin(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:70839:21: */ *(*U8)(unsafe.Pointer(pCur + 1)) &= libc.Uint8FromInt32(libc.CplInt32(BTCF_Pinned)) } // Return the offset into the database file for the start of the // payload to which the cursor is pointing. -func Xsqlite3BtreeOffset(tls *libc.TLS, pCur uintptr) I64 { /* sqlite3.c:70839:20: */ +func Xsqlite3BtreeOffset(tls *libc.TLS, pCur uintptr) I64 { /* sqlite3.c:70849:20: */ getCellInfo(tls, pCur) return I64((*BtShared)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pCur)).FpBt)).FpageSize)*(I64((*MemPage)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pCur)).FpPage)).Fpgno)-int64(1)) + I64((int32((*BtCursor)(unsafe.Pointer(pCur)).Finfo.FpPayload)-int32((*MemPage)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pCur)).FpPage)).FaData))/1) @@ -47849,7 +47859,7 @@ func Xsqlite3BtreeOffset(tls *libc.TLS, pCur uintptr) I64 { /* sqlite3.c:70839:2 // The caller must guarantee that the cursor is pointing to a non-NULL // valid entry. In other words, the calling procedure must guarantee // that the cursor has Cursor.eState==CURSOR_VALID. -func Xsqlite3BtreePayloadSize(tls *libc.TLS, pCur uintptr) U32 { /* sqlite3.c:70857:20: */ +func Xsqlite3BtreePayloadSize(tls *libc.TLS, pCur uintptr) U32 { /* sqlite3.c:70867:20: */ getCellInfo(tls, pCur) return (*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnPayload @@ -47866,7 +47876,7 @@ func Xsqlite3BtreePayloadSize(tls *libc.TLS, pCur uintptr) U32 { /* sqlite3.c:70 // // The current implementation merely returns the size of the underlying // database file. -func Xsqlite3BtreeMaxRecordSize(tls *libc.TLS, pCur uintptr) Sqlite3_int64 { /* sqlite3.c:70877:30: */ +func Xsqlite3BtreeMaxRecordSize(tls *libc.TLS, pCur uintptr) Sqlite3_int64 { /* sqlite3.c:70887:30: */ return Sqlite3_int64((*BtShared)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pCur)).FpBt)).FpageSize) * Sqlite3_int64((*BtShared)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pCur)).FpBt)).FnPage) } @@ -47888,7 +47898,7 @@ func Xsqlite3BtreeMaxRecordSize(tls *libc.TLS, pCur uintptr) Sqlite3_int64 { /* // on *ppPage to free the reference. In no reference was obtained (because // the pointer-map was used to obtain the value for *pPgnoNext), then // *ppPage is set to zero. -func getOverflowPage(tls *libc.TLS, pBt uintptr, ovfl Pgno, ppPage uintptr, pPgnoNext uintptr) int32 { /* sqlite3.c:70902:12: */ +func getOverflowPage(tls *libc.TLS, pBt uintptr, ovfl Pgno, ppPage uintptr, pPgnoNext uintptr) int32 { /* sqlite3.c:70912:12: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -47956,7 +47966,7 @@ func getOverflowPage(tls *libc.TLS, pBt uintptr, ovfl Pgno, ppPage uintptr, pPgn // of data are copied from the buffer pBuf to pPayload. // // SQLITE_OK is returned on success, otherwise an error code. -func copyPayload(tls *libc.TLS, pPayload uintptr, pBuf uintptr, nByte int32, eOp int32, pDbPage uintptr) int32 { /* sqlite3.c:70970:12: */ +func copyPayload(tls *libc.TLS, pPayload uintptr, pBuf uintptr, nByte int32, eOp int32, pDbPage uintptr) int32 { /* sqlite3.c:70980:12: */ if eOp != 0 { // Copy data from buffer to page (a write operation) var rc int32 = Xsqlite3PagerWrite(tls, pDbPage) @@ -47998,7 +48008,7 @@ func copyPayload(tls *libc.TLS, pPayload uintptr, pBuf uintptr, nByte int32, eOp // * An incremental vacuum, // * A commit in auto_vacuum="full" mode, // * Creating a table (may require moving an overflow page). -func accessPayload(tls *libc.TLS, pCur uintptr, offset U32, amt U32, pBuf uintptr, eOp int32) int32 { /* sqlite3.c:71020:12: */ +func accessPayload(tls *libc.TLS, pCur uintptr, offset U32, amt U32, pBuf uintptr, eOp int32) int32 { /* sqlite3.c:71030:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -48009,7 +48019,7 @@ func accessPayload(tls *libc.TLS, pCur uintptr, offset U32, amt U32, pBuf uintpt var pBt uintptr = (*BtCursor)(unsafe.Pointer(pCur)).FpBt // Btree this cursor belongs to if int32((*BtCursor)(unsafe.Pointer(pCur)).Fix) >= int32((*MemPage)(unsafe.Pointer(pPage)).FnCell) { - return Xsqlite3CorruptError(tls, 71040) + return Xsqlite3CorruptError(tls, 71050) } getCellInfo(tls, pCur) @@ -48020,7 +48030,7 @@ func accessPayload(tls *libc.TLS, pCur uintptr, offset U32, amt U32, pBuf uintpt // conditional above is really: // &aPayload[pCur->info.nLocal] > &pPage->aData[pBt->usableSize] // but is recast into its current form to avoid integer overflow problems - return Xsqlite3CorruptError(tls, 71055) + return Xsqlite3CorruptError(tls, 71065) } // Check if data must be read/written to/from the btree page itself. @@ -48077,7 +48087,7 @@ func accessPayload(tls *libc.TLS, pCur uintptr, offset U32, amt U32, pBuf uintpt for *(*Pgno)(unsafe.Pointer(bp)) != 0 { // If required, populate the overflow page-list cache. if *(*Pgno)(unsafe.Pointer(bp)) > (*BtShared)(unsafe.Pointer(pBt)).FnPage { - return Xsqlite3CorruptError(tls, 71117) + return Xsqlite3CorruptError(tls, 71127) } *(*Pgno)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pCur)).FaOverflow + uintptr(iIdx)*4)) = *(*Pgno)(unsafe.Pointer(bp /* nextPage */)) @@ -48137,7 +48147,7 @@ func accessPayload(tls *libc.TLS, pCur uintptr, offset U32, amt U32, pBuf uintpt if rc == SQLITE_OK && amt > U32(0) { // Overflow chain ends prematurely - return Xsqlite3CorruptError(tls, 71202) + return Xsqlite3CorruptError(tls, 71212) } return rc } @@ -48157,7 +48167,7 @@ func accessPayload(tls *libc.TLS, pCur uintptr, offset U32, amt U32, pBuf uintpt // Return SQLITE_OK on success or an error code if anything goes // wrong. An error is returned if "offset+amt" is larger than // the available payload. -func Xsqlite3BtreePayload(tls *libc.TLS, pCur uintptr, offset U32, amt U32, pBuf uintptr) int32 { /* sqlite3.c:71224:20: */ +func Xsqlite3BtreePayload(tls *libc.TLS, pCur uintptr, offset U32, amt U32, pBuf uintptr) int32 { /* sqlite3.c:71234:20: */ return accessPayload(tls, pCur, offset, amt, pBuf, 0) } @@ -48165,7 +48175,7 @@ func Xsqlite3BtreePayload(tls *libc.TLS, pCur uintptr, offset U32, amt U32, pBuf // This variant of sqlite3BtreePayload() works even if the cursor has not // in the CURSOR_VALID state. It is only used by the sqlite3_blob_read() // interface. -func accessPayloadChecked(tls *libc.TLS, pCur uintptr, offset U32, amt U32, pBuf uintptr) int32 { /* sqlite3.c:71237:28: */ +func accessPayloadChecked(tls *libc.TLS, pCur uintptr, offset U32, amt U32, pBuf uintptr) int32 { /* sqlite3.c:71247:28: */ var rc int32 if int32((*BtCursor)(unsafe.Pointer(pCur)).FeState) == CURSOR_INVALID { return SQLITE_ABORT @@ -48178,7 +48188,7 @@ func accessPayloadChecked(tls *libc.TLS, pCur uintptr, offset U32, amt U32, pBuf return accessPayload(tls, pCur, offset, amt, pBuf, 0) } -func Xsqlite3BtreePayloadChecked(tls *libc.TLS, pCur uintptr, offset U32, amt U32, pBuf uintptr) int32 { /* sqlite3.c:71251:20: */ +func Xsqlite3BtreePayloadChecked(tls *libc.TLS, pCur uintptr, offset U32, amt U32, pBuf uintptr) int32 { /* sqlite3.c:71261:20: */ if int32((*BtCursor)(unsafe.Pointer(pCur)).FeState) == CURSOR_VALID { return accessPayload(tls, pCur, offset, amt, pBuf, 0) @@ -48205,7 +48215,7 @@ func Xsqlite3BtreePayloadChecked(tls *libc.TLS, pCur uintptr, offset U32, amt U3 // The pointer returned by this routine looks directly into the cached // page of the database. The data might change or move the next time // any btree routine is called. -func fetchPayload(tls *libc.TLS, pCur uintptr, pAmt uintptr) uintptr { /* sqlite3.c:71280:19: */ +func fetchPayload(tls *libc.TLS, pCur uintptr, pAmt uintptr) uintptr { /* sqlite3.c:71290:19: */ var amt int32 amt = int32((*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnLocal) @@ -48236,7 +48246,7 @@ func fetchPayload(tls *libc.TLS, pCur uintptr, pAmt uintptr) uintptr { /* sqlite // // These routines is used to get quick access to key and data // in the common case where no overflow pages are used. -func Xsqlite3BtreePayloadFetch(tls *libc.TLS, pCur uintptr, pAmt uintptr) uintptr { /* sqlite3.c:71319:27: */ +func Xsqlite3BtreePayloadFetch(tls *libc.TLS, pCur uintptr, pAmt uintptr) uintptr { /* sqlite3.c:71329:27: */ return fetchPayload(tls, pCur, pAmt) } @@ -48247,11 +48257,11 @@ func Xsqlite3BtreePayloadFetch(tls *libc.TLS, pCur uintptr, pAmt uintptr) uintpt // the new child page does not match the flags field of the parent (i.e. // if an intkey page appears to be the parent of a non-intkey page, or // vice-versa). -func moveToChild(tls *libc.TLS, pCur uintptr, newPgno U32) int32 { /* sqlite3.c:71333:12: */ +func moveToChild(tls *libc.TLS, pCur uintptr, newPgno U32) int32 { /* sqlite3.c:71343:12: */ var pBt uintptr = (*BtCursor)(unsafe.Pointer(pCur)).FpBt if int32((*BtCursor)(unsafe.Pointer(pCur)).FiPage) >= BTCURSOR_MAX_DEPTH-1 { - return Xsqlite3CorruptError(tls, 71341) + return Xsqlite3CorruptError(tls, 71351) } (*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnSize = U16(0) *(*U8)(unsafe.Pointer(pCur + 1)) &= libc.Uint8FromInt32(libc.CplInt32(BTCF_ValidNKey | BTCF_ValidOvfl)) @@ -48268,7 +48278,7 @@ func moveToChild(tls *libc.TLS, pCur uintptr, newPgno U32) int32 { /* sqlite3.c: // to the page we are coming from. If we are coming from the // right-most child page then pCur->idx is set to one more than // the largest cell index. -func moveToParent(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:71382:13: */ +func moveToParent(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:71392:13: */ var pLeaf uintptr (*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnSize = U16(0) @@ -48298,7 +48308,7 @@ func moveToParent(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:71382:13: */ // indicating a table b-tree, or if the caller did specify a KeyInfo // structure the flags byte is set to 0x02 or 0x0A, indicating an index // b-tree). -func moveToRoot(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:71423:12: */ +func moveToRoot(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:71433:12: */ var pRoot uintptr var rc int32 var subpage Pgno @@ -48377,7 +48387,7 @@ __2: if !(int32((*MemPage)(unsafe.Pointer(pRoot)).FisInit) == 0 || libc.Bool32((*BtCursor)(unsafe.Pointer(pCur)).FpKeyInfo == uintptr(0)) != int32((*MemPage)(unsafe.Pointer(pRoot)).FintKey)) { goto __11 } - return Xsqlite3CorruptError(tls, 71479) + return Xsqlite3CorruptError(tls, 71489) __11: ; @@ -48398,7 +48408,7 @@ __12: if !((*MemPage)(unsafe.Pointer(pRoot)).Fpgno != Pgno(1)) { goto __16 } - return Xsqlite3CorruptError(tls, 71491) + return Xsqlite3CorruptError(tls, 71501) __16: ; subpage = Xsqlite3Get4byte(tls, (*MemPage)(unsafe.Pointer(pRoot)).FaData+uintptr(int32((*MemPage)(unsafe.Pointer(pRoot)).FhdrOffset)+8)) @@ -48420,7 +48430,7 @@ __13: // // The left-most leaf is the one with the smallest key - the first // in ascending order. -func moveToLeftmost(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:71509:12: */ +func moveToLeftmost(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:71519:12: */ var pgno Pgno var rc int32 = SQLITE_OK var pPage uintptr @@ -48441,7 +48451,7 @@ func moveToLeftmost(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:71509:12: // // The right-most entry is the one with the largest key - the last // key in ascending order. -func moveToRightmost(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:71534:12: */ +func moveToRightmost(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:71544:12: */ var pgno Pgno var rc int32 = SQLITE_OK var pPage uintptr = uintptr(0) @@ -48462,7 +48472,7 @@ func moveToRightmost(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:71534:12: // Move the cursor to the first entry in the table. Return SQLITE_OK // on success. Set *pRes to 0 if the cursor actually points to something // or set *pRes to 1 if the table is empty. -func Xsqlite3BtreeFirst(tls *libc.TLS, pCur uintptr, pRes uintptr) int32 { /* sqlite3.c:71557:20: */ +func Xsqlite3BtreeFirst(tls *libc.TLS, pCur uintptr, pRes uintptr) int32 { /* sqlite3.c:71567:20: */ var rc int32 rc = moveToRoot(tls, pCur) @@ -48481,7 +48491,7 @@ func Xsqlite3BtreeFirst(tls *libc.TLS, pCur uintptr, pRes uintptr) int32 { /* sq // Move the cursor to the last entry in the table. Return SQLITE_OK // on success. Set *pRes to 0 if the cursor actually points to something // or set *pRes to 1 if the table is empty. -func Xsqlite3BtreeLast(tls *libc.TLS, pCur uintptr, pRes uintptr) int32 { /* sqlite3.c:71579:20: */ +func Xsqlite3BtreeLast(tls *libc.TLS, pCur uintptr, pRes uintptr) int32 { /* sqlite3.c:71589:20: */ var rc int32 // If the cursor already points to the last entry, this is a no-op. @@ -48530,7 +48540,7 @@ func Xsqlite3BtreeLast(tls *libc.TLS, pCur uintptr, pRes uintptr) int32 { /* sql // // *pRes>0 The cursor is left pointing at an entry that // is larger than intKey. -func Xsqlite3BtreeTableMoveto(tls *libc.TLS, pCur uintptr, intKey I64, biasRight int32, pRes uintptr) int32 { /* sqlite3.c:71644:20: */ +func Xsqlite3BtreeTableMoveto(tls *libc.TLS, pCur uintptr, intKey I64, biasRight int32, pRes uintptr) int32 { /* sqlite3.c:71654:20: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -48645,7 +48655,7 @@ __19: if !(pCell >= (*MemPage)(unsafe.Pointer(pPage)).FaDataEnd) { goto __21 } - return Xsqlite3CorruptError(tls, 71733) + return Xsqlite3CorruptError(tls, 71743) __21: ; goto __19 @@ -48774,7 +48784,7 @@ moveto_table_finish: // // The pIdxKey->eqSeen field is set to 1 if there // exists an entry in the table that exactly matches pIdxKey. -func Xsqlite3BtreeIndexMoveto(tls *libc.TLS, pCur uintptr, pIdxKey uintptr, pRes uintptr) int32 { /* sqlite3.c:71812:20: */ +func Xsqlite3BtreeIndexMoveto(tls *libc.TLS, pCur uintptr, pIdxKey uintptr, pRes uintptr) int32 { /* sqlite3.c:71822:20: */ var rc int32 var xRecordCompare RecordCompare // The record flows over onto one or more overflow pages. In @@ -48878,7 +48888,7 @@ __11: if !(nCell < 2 || U32(nCell)/(*BtShared)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pCur)).FpBt)).FusableSize > (*BtShared)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pCur)).FpBt)).FnPage) { goto __13 } - rc = Xsqlite3CorruptError(tls, 71914) + rc = Xsqlite3CorruptError(tls, 71924) goto moveto_index_finish __13: ; @@ -48927,7 +48937,7 @@ __18: if !((*UnpackedRecord)(unsafe.Pointer(pIdxKey)).FerrCode != 0) { goto __20 } - rc = Xsqlite3CorruptError(tls, 71946) + rc = Xsqlite3CorruptError(tls, 71956) __20: ; goto moveto_index_finish @@ -48994,7 +49004,7 @@ moveto_index_finish: // TRUE will be returned after a call to sqlite3BtreeNext() moves // past the last entry in the table or sqlite3BtreePrev() moves past // the first entry. TRUE is also returned if the table is empty. -func Xsqlite3BtreeEof(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:71985:20: */ +func Xsqlite3BtreeEof(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:71995:20: */ // TODO: What if the cursor is in CURSOR_REQUIRESEEK but all table entries // have been deleted? This API will need to change to return an error code // as well as the boolean result value. @@ -49004,7 +49014,7 @@ func Xsqlite3BtreeEof(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:71985:20 // Return an estimate for the number of rows in the table that pCur is // pointing to. Return a negative number if no estimate is currently // available. -func Xsqlite3BtreeRowCountEst(tls *libc.TLS, pCur uintptr) I64 { /* sqlite3.c:71998:20: */ +func Xsqlite3BtreeRowCountEst(tls *libc.TLS, pCur uintptr) I64 { /* sqlite3.c:72008:20: */ var n I64 var i U8 @@ -49043,7 +49053,7 @@ func Xsqlite3BtreeRowCountEst(tls *libc.TLS, pCur uintptr) I64 { /* sqlite3.c:71 // skipped if the SQL index had been a unique index. The F argument // is a hint to the implement. SQLite btree implementation does not use // this hint, but COMDB2 does. -func btreeNext(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:72038:28: */ +func btreeNext(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:72048:28: */ var rc int32 var idx int32 var pPage uintptr @@ -49080,7 +49090,7 @@ func btreeNext(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:72038:28: */ // has pages in common with the table being queried. See TH3 // module cov1/btree78.test testcase 220 (2018-06-08) for an // example. - return Xsqlite3CorruptError(tls, 72069) + return Xsqlite3CorruptError(tls, 72079) } if idx >= int32((*MemPage)(unsafe.Pointer(pPage)).FnCell) { @@ -49113,7 +49123,7 @@ func btreeNext(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:72038:28: */ return int32(0) } -func Xsqlite3BtreeNext(tls *libc.TLS, pCur uintptr, flags int32) int32 { /* sqlite3.c:72098:20: */ +func Xsqlite3BtreeNext(tls *libc.TLS, pCur uintptr, flags int32) int32 { /* sqlite3.c:72108:20: */ var pPage uintptr _ = flags // Used in COMDB2 but not native SQLite @@ -49153,7 +49163,7 @@ func Xsqlite3BtreeNext(tls *libc.TLS, pCur uintptr, flags int32) int32 { /* sqli // skipped if the SQL index had been a unique index. The F argument is a // hint to the implement. The native SQLite btree implementation does not // use this hint, but COMDB2 does. -func btreePrevious(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:72138:28: */ +func btreePrevious(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:72148:28: */ var rc int32 var pPage uintptr @@ -49207,7 +49217,7 @@ func btreePrevious(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:72138:28: * return rc } -func Xsqlite3BtreePrevious(tls *libc.TLS, pCur uintptr, flags int32) int32 { /* sqlite3.c:72187:20: */ +func Xsqlite3BtreePrevious(tls *libc.TLS, pCur uintptr, flags int32) int32 { /* sqlite3.c:72197:20: */ _ = flags // Used in COMDB2 but not native SQLite *(*U8)(unsafe.Pointer(pCur + 1)) &= libc.Uint8FromInt32(libc.CplInt32(BTCF_AtLast | BTCF_ValidOvfl | BTCF_ValidNKey)) @@ -49241,7 +49251,7 @@ func Xsqlite3BtreePrevious(tls *libc.TLS, pCur uintptr, flags int32) int32 { /* // eMode is BTALLOC_LT then the page returned will be less than or equal // to nearby if any such page exists. If eMode is BTALLOC_ANY then there // are no restrictions on which page is returned. -func allocateBtreePage(tls *libc.TLS, pBt uintptr, ppPage uintptr, pPgno uintptr, nearby Pgno, eMode U8) int32 { /* sqlite3.c:72225:12: */ +func allocateBtreePage(tls *libc.TLS, pBt uintptr, ppPage uintptr, pPgno uintptr, nearby Pgno, eMode U8) int32 { /* sqlite3.c:72235:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -49308,7 +49318,7 @@ func allocateBtreePage(tls *libc.TLS, pBt uintptr, ppPage uintptr, pPgno uintptr if !(n >= mxPage) { goto __1 } - return Xsqlite3CorruptError(tls, 72249) + return Xsqlite3CorruptError(tls, 72259) __1: ; if !(n > U32(0)) { @@ -49389,7 +49399,7 @@ __15: if !(iTrunk > mxPage || libc.PostIncUint32(&nSearch, 1) > n) { goto __16 } - rc = Xsqlite3CorruptError(tls, 72305) + rc = Xsqlite3CorruptError(tls, 72315) goto __17 __16: rc = btreeGetUnusedPage(tls, pBt, iTrunk, bp+4, 0) @@ -49431,7 +49441,7 @@ __19: goto __22 } // Value of k is out of range. Database corruption - rc = Xsqlite3CorruptError(tls, 72334) + rc = Xsqlite3CorruptError(tls, 72344) goto end_allocate_page goto __23 __22: @@ -49476,7 +49486,7 @@ __27: if !(iNewTrunk > mxPage) { goto __32 } - rc = Xsqlite3CorruptError(tls, 72368) + rc = Xsqlite3CorruptError(tls, 72378) goto end_allocate_page __32: ; @@ -49590,7 +49600,7 @@ __40: if !(iPage > mxPage || iPage < Pgno(2)) { goto __51 } - rc = Xsqlite3CorruptError(tls, 72433) + rc = Xsqlite3CorruptError(tls, 72443) goto end_allocate_page __51: ; @@ -49765,7 +49775,7 @@ end_allocate_page: // // If a pointer to a MemPage object is passed as the second argument, // its reference count is not altered by this function. -func freePage2(tls *libc.TLS, pBt uintptr, pMemPage uintptr, iPage Pgno) int32 { /* sqlite3.c:72547:12: */ +func freePage2(tls *libc.TLS, pBt uintptr, pMemPage uintptr, iPage Pgno) int32 { /* sqlite3.c:72557:12: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -49786,7 +49796,7 @@ func freePage2(tls *libc.TLS, pBt uintptr, pMemPage uintptr, iPage Pgno) int32 { if !(iPage < Pgno(2) || iPage > (*BtShared)(unsafe.Pointer(pBt)).FnPage) { goto __1 } - return Xsqlite3CorruptError(tls, 72560) + return Xsqlite3CorruptError(tls, 72570) __1: ; if !(pMemPage != 0) { @@ -49856,7 +49866,7 @@ __7: if !(iTrunk > btreePagecount(tls, pBt)) { goto __10 } - *(*int32)(unsafe.Pointer(bp + 4 /* rc */)) = Xsqlite3CorruptError(tls, 72607) + *(*int32)(unsafe.Pointer(bp + 4 /* rc */)) = Xsqlite3CorruptError(tls, 72617) goto freepage_out __10: ; @@ -49873,7 +49883,7 @@ __11: if !(nLeaf > (*BtShared)(unsafe.Pointer(pBt)).FusableSize/U32(4)-U32(2)) { goto __12 } - *(*int32)(unsafe.Pointer(bp + 4 /* rc */)) = Xsqlite3CorruptError(tls, 72618) + *(*int32)(unsafe.Pointer(bp + 4 /* rc */)) = Xsqlite3CorruptError(tls, 72628) goto freepage_out __12: ; @@ -49954,14 +49964,14 @@ __18: return *(*int32)(unsafe.Pointer(bp + 4 /* rc */)) } -func freePage(tls *libc.TLS, pPage uintptr, pRC uintptr) { /* sqlite3.c:72681:13: */ +func freePage(tls *libc.TLS, pPage uintptr, pRC uintptr) { /* sqlite3.c:72691:13: */ if *(*int32)(unsafe.Pointer(pRC)) == SQLITE_OK { *(*int32)(unsafe.Pointer(pRC)) = freePage2(tls, (*MemPage)(unsafe.Pointer(pPage)).FpBt, pPage, (*MemPage)(unsafe.Pointer(pPage)).Fpgno) } } // Free the overflow pages associated with the given Cell. -func clearCellOverflow(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintptr) int32 { /* sqlite3.c:72690:28: */ +func clearCellOverflow(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintptr) int32 { /* sqlite3.c:72700:28: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -49973,7 +49983,7 @@ func clearCellOverflow(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintpt if pCell+uintptr((*CellInfo)(unsafe.Pointer(pInfo)).FnSize) > (*MemPage)(unsafe.Pointer(pPage)).FaDataEnd { // Cell extends past end of page - return Xsqlite3CorruptError(tls, 72707) + return Xsqlite3CorruptError(tls, 72717) } ovflPgno = Xsqlite3Get4byte(tls, pCell+uintptr((*CellInfo)(unsafe.Pointer(pInfo)).FnSize)-uintptr(4)) pBt = (*MemPage)(unsafe.Pointer(pPage)).FpBt @@ -49988,7 +49998,7 @@ func clearCellOverflow(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintpt // 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 Xsqlite3CorruptError(tls, 72724) + return Xsqlite3CorruptError(tls, 72734) } if nOvfl != 0 { rc = getOverflowPage(tls, pBt, ovflPgno, bp, bp+4) @@ -50008,7 +50018,7 @@ func clearCellOverflow(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintpt // enabled. If this 'overflow' page happens to be a page that the // caller is iterating through or using in some other way, this // can be problematic. - rc = Xsqlite3CorruptError(tls, 72744) + rc = Xsqlite3CorruptError(tls, 72754) } else { rc = freePage2(tls, pBt, *(*uintptr)(unsafe.Pointer(bp /* pOvfl */)), ovflPgno) } @@ -50040,7 +50050,7 @@ func clearCellOverflow(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintpt // area. pCell might point to some temporary storage. The cell will // be constructed in this temporary area then copied into pPage->aData // later. -func fillInCell(tls *libc.TLS, pPage uintptr, pCell uintptr, pX uintptr, pnSize uintptr) int32 { /* sqlite3.c:72785:12: */ +func fillInCell(tls *libc.TLS, pPage uintptr, pCell uintptr, pX uintptr, pnSize uintptr) int32 { /* sqlite3.c:72795:12: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -50222,7 +50232,7 @@ func fillInCell(tls *libc.TLS, pPage uintptr, pCell uintptr, pX uintptr, pnSize // removes the reference to the cell from pPage. // // "sz" must be the number of bytes in the cell. -func dropCell(tls *libc.TLS, pPage uintptr, idx int32, sz int32, pRC uintptr) { /* sqlite3.c:72975:13: */ +func dropCell(tls *libc.TLS, pPage uintptr, idx int32, sz int32, pRC uintptr) { /* sqlite3.c:72985:13: */ var pc U32 // Offset to cell content of cell being deleted var data uintptr // pPage->aData var ptr uintptr // Used to move bytes around within data[] @@ -50240,7 +50250,7 @@ func dropCell(tls *libc.TLS, pPage uintptr, idx int32, sz int32, pRC uintptr) { hdr = int32((*MemPage)(unsafe.Pointer(pPage)).FhdrOffset) if pc+U32(sz) > (*BtShared)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize { - *(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 73003) + *(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 73013) return } rc = freeSpace(tls, pPage, uint16(pc), uint16(sz)) @@ -50276,7 +50286,7 @@ func dropCell(tls *libc.TLS, pPage uintptr, idx int32, sz int32, pRC uintptr) { // pPage->nOverflow is incremented. // // *pRC must be SQLITE_OK when this routine is called. -func insertCell(tls *libc.TLS, pPage uintptr, i int32, pCell uintptr, sz int32, pTemp uintptr, iChild Pgno, pRC uintptr) { /* sqlite3.c:73039:13: */ +func insertCell(tls *libc.TLS, pPage uintptr, i int32, pCell uintptr, sz int32, pTemp uintptr, iChild Pgno, pRC uintptr) { /* sqlite3.c:73049:13: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -50436,7 +50446,7 @@ type CellArray1 = struct { FszCell uintptr FapEnd [6]uintptr FixNx [6]int32 -} /* sqlite3.c:73214:9 */ +} /* sqlite3.c:73224:9 */ // The following parameters determine how many adjacent pages get involved // in a balancing operation. NN is the number of neighbors on either side @@ -50513,11 +50523,11 @@ type CellArray1 = struct { // cases, ixNx[] entries with higher indexes, and the corresponding apEnd[] // entries, shift down. The end result is that each ixNx[] entry should // be larger than the previous -type CellArray = CellArray1 /* sqlite3.c:73214:26 */ +type CellArray = CellArray1 /* sqlite3.c:73224:26 */ // Make sure the cell sizes at idx, idx+1, ..., idx+N-1 have been // computed. -func populateCellCache(tls *libc.TLS, p uintptr, idx int32, N int32) { /* sqlite3.c:73228:13: */ +func populateCellCache(tls *libc.TLS, p uintptr, idx int32, N int32) { /* sqlite3.c:73238:13: */ for N > 0 { @@ -50534,7 +50544,7 @@ func populateCellCache(tls *libc.TLS, p uintptr, idx int32, N int32) { /* sqlite } // Return the size of the Nth element of the cell array -func computeCellSize(tls *libc.TLS, p uintptr, N int32) U16 { /* sqlite3.c:73246:28: */ +func computeCellSize(tls *libc.TLS, p uintptr, N int32) U16 { /* sqlite3.c:73256:28: */ *(*U16)(unsafe.Pointer((*CellArray)(unsafe.Pointer(p)).FszCell + uintptr(N)*2)) = (*struct { f func(*libc.TLS, uintptr, uintptr) U16 @@ -50542,7 +50552,7 @@ func computeCellSize(tls *libc.TLS, p uintptr, N int32) U16 { /* sqlite3.c:73246 return *(*U16)(unsafe.Pointer((*CellArray)(unsafe.Pointer(p)).FszCell + uintptr(N)*2)) } -func cachedCellSize(tls *libc.TLS, p uintptr, N int32) U16 { /* sqlite3.c:73252:12: */ +func cachedCellSize(tls *libc.TLS, p uintptr, N int32) U16 { /* sqlite3.c:73262:12: */ if *(*U16)(unsafe.Pointer((*CellArray)(unsafe.Pointer(p)).FszCell + uintptr(N)*2)) != 0 { return *(*U16)(unsafe.Pointer((*CellArray)(unsafe.Pointer(p)).FszCell + uintptr(N)*2)) @@ -50561,7 +50571,7 @@ func cachedCellSize(tls *libc.TLS, p uintptr, N int32) U16 { /* sqlite3.c:73252: // // The MemPage.nFree field is invalidated by this function. It is the // responsibility of the caller to set it correctly. -func rebuildPage(tls *libc.TLS, pCArray uintptr, iFirst int32, nCell int32, pPg uintptr) int32 { /* sqlite3.c:73271:12: */ +func rebuildPage(tls *libc.TLS, pCArray uintptr, iFirst int32, nCell int32, pPg uintptr) int32 { /* sqlite3.c:73281:12: */ var hdr int32 = int32((*MemPage)(unsafe.Pointer(pPg)).FhdrOffset) // Offset of header on pPg var aData uintptr = (*MemPage)(unsafe.Pointer(pPg)).FaData // Pointer to data for pPg var usableSize int32 = int32((*BtShared)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPg)).FpBt)).FusableSize) @@ -50592,12 +50602,12 @@ func rebuildPage(tls *libc.TLS, pCArray uintptr, iFirst int32, nCell int32, pPg if Uptr(pCell) >= Uptr(aData+uintptr(j)) && Uptr(pCell) < Uptr(pEnd) { if Uptr(pCell+uintptr(sz)) > Uptr(pEnd) { - return Xsqlite3CorruptError(tls, 73304) + return Xsqlite3CorruptError(tls, 73314) } pCell = pTmp + uintptr((int32(pCell)-int32(aData))/1) } else if Uptr(pCell+uintptr(sz)) > Uptr(pSrcEnd) && Uptr(pCell) < Uptr(pSrcEnd) { - return Xsqlite3CorruptError(tls, 73309) + return Xsqlite3CorruptError(tls, 73319) } pData -= uintptr(sz) @@ -50605,7 +50615,7 @@ func rebuildPage(tls *libc.TLS, pCArray uintptr, iFirst int32, nCell int32, pPg *(*U8)(unsafe.Pointer(pCellptr + 1)) = U8((int32(pData) - int32(aData)) / 1) pCellptr += uintptr(2) if pData < pCellptr { - return Xsqlite3CorruptError(tls, 73315) + return Xsqlite3CorruptError(tls, 73325) } libc.Xmemmove(tls, pData, pCell, uint32(sz)) @@ -50655,7 +50665,7 @@ func rebuildPage(tls *libc.TLS, pCArray uintptr, iFirst int32, nCell int32, pPg // all cells - not just those inserted by the current call). If the content // area must be extended to before this point in order to accomodate all // cells in apCell[], then the cells do not fit and non-zero is returned. -func pageInsertArray(tls *libc.TLS, pPg uintptr, pBegin uintptr, ppData uintptr, pCellptr uintptr, iFirst int32, nCell int32, pCArray uintptr) int32 { /* sqlite3.c:73361:12: */ +func pageInsertArray(tls *libc.TLS, pPg uintptr, pBegin uintptr, ppData uintptr, pCellptr uintptr, iFirst int32, nCell int32, pCArray uintptr) int32 { /* sqlite3.c:73371:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -50693,7 +50703,7 @@ func pageInsertArray(tls *libc.TLS, pPg uintptr, pBegin uintptr, ppData uintptr, if Uptr(*(*uintptr)(unsafe.Pointer((*CellArray)(unsafe.Pointer(pCArray)).FapCell + uintptr(i)*4))+uintptr(sz)) > Uptr(pEnd) && Uptr(*(*uintptr)(unsafe.Pointer((*CellArray)(unsafe.Pointer(pCArray)).FapCell + uintptr(i)*4))) < Uptr(pEnd) { - Xsqlite3CorruptError(tls, 73400) + Xsqlite3CorruptError(tls, 73410) return 1 } libc.Xmemmove(tls, pSlot, *(*uintptr)(unsafe.Pointer((*CellArray)(unsafe.Pointer(pCArray)).FapCell + uintptr(i)*4)), uint32(sz)) @@ -50720,7 +50730,7 @@ func pageInsertArray(tls *libc.TLS, pPg uintptr, pBegin uintptr, ppData uintptr, // The cell-pointers and other fields of the page are not updated. // // This function returns the total number of cells added to the free-list. -func pageFreeArray(tls *libc.TLS, pPg uintptr, iFirst int32, nCell int32, pCArray uintptr) int32 { /* sqlite3.c:73426:12: */ +func pageFreeArray(tls *libc.TLS, pPg uintptr, iFirst int32, nCell int32, pCArray uintptr) int32 { /* sqlite3.c:73436:12: */ var aData uintptr = (*MemPage)(unsafe.Pointer(pPg)).FaData var pEnd uintptr = aData + uintptr((*BtShared)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPg)).FpBt)).FusableSize) var pStart uintptr = aData + uintptr(int32((*MemPage)(unsafe.Pointer(pPg)).FhdrOffset)+8+int32((*MemPage)(unsafe.Pointer(pPg)).FchildPtrSize)) @@ -50772,7 +50782,7 @@ func pageFreeArray(tls *libc.TLS, pPg uintptr, iFirst int32, nCell int32, pCArra // // The pPg->nFree field is invalid when this function returns. It is the // responsibility of the caller to set it correctly. -func editPage(tls *libc.TLS, pPg uintptr, iOld int32, iNew int32, nNew int32, pCArray uintptr) int32 { /* sqlite3.c:73485:12: */ +func editPage(tls *libc.TLS, pPg uintptr, iOld int32, iNew int32, nNew int32, pCArray uintptr) int32 { /* sqlite3.c:73495:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -50806,7 +50816,7 @@ func editPage(tls *libc.TLS, pPg uintptr, iOld int32, iNew int32, nNew int32, pC if !(nShift > nCell) { goto __2 } - return Xsqlite3CorruptError(tls, 73511) + return Xsqlite3CorruptError(tls, 73521) __2: ; libc.Xmemmove(tls, (*MemPage)(unsafe.Pointer(pPg)).FaCellIdx, (*MemPage)(unsafe.Pointer(pPg)).FaCellIdx+uintptr(nShift*2), uint32(nCell*2)) @@ -50946,7 +50956,7 @@ editpage_fail: // byte page number followed by a variable length integer. In other // words, at most 13 bytes. Hence the pSpace buffer must be at // least 13 bytes in size. -func balance_quick(tls *libc.TLS, pParent uintptr, pPage uintptr, pSpace uintptr) int32 { /* sqlite3.c:73614:12: */ +func balance_quick(tls *libc.TLS, pParent uintptr, pPage uintptr, pSpace uintptr) int32 { /* sqlite3.c:73624:12: */ bp := tls.Alloc(84) defer tls.Free(84) @@ -50959,7 +50969,7 @@ func balance_quick(tls *libc.TLS, pParent uintptr, pPage uintptr, pSpace uintptr // Page number of pNew if int32((*MemPage)(unsafe.Pointer(pPage)).FnCell) == 0 { - return Xsqlite3CorruptError(tls, 73624) + return Xsqlite3CorruptError(tls, 73634) } // dbfuzz001.test // Allocate a new page. This page will become the right-sibling of @@ -51057,7 +51067,7 @@ func balance_quick(tls *libc.TLS, pParent uintptr, pPage uintptr, pSpace uintptr // The performance of this function is not critical. It is only used by // the balance_shallower() and balance_deeper() procedures, neither of // which are called often under normal circumstances. -func copyNodeContent(tls *libc.TLS, pFrom uintptr, pTo uintptr, pRC uintptr) { /* sqlite3.c:73769:13: */ +func copyNodeContent(tls *libc.TLS, pFrom uintptr, pTo uintptr, pRC uintptr) { /* sqlite3.c:73779:13: */ if *(*int32)(unsafe.Pointer(pRC)) == SQLITE_OK { var pBt uintptr = (*MemPage)(unsafe.Pointer(pFrom)).FpBt var aFrom uintptr = (*MemPage)(unsafe.Pointer(pFrom)).FaData @@ -51137,7 +51147,7 @@ func copyNodeContent(tls *libc.TLS, pFrom uintptr, pTo uintptr, pRC uintptr) { / // // If aOvflSpace is set to a null pointer, this function returns // SQLITE_NOMEM. -func balance_nonroot(tls *libc.TLS, pParent uintptr, iParentIdx int32, aOvflSpace uintptr, isRoot int32, bBulk int32) int32 { /* sqlite3.c:73851:12: */ +func balance_nonroot(tls *libc.TLS, pParent uintptr, iParentIdx int32, aOvflSpace uintptr, isRoot int32, bBulk int32) int32 { /* sqlite3.c:73861:12: */ bp := tls.Alloc(264) defer tls.Free(264) @@ -51439,7 +51449,7 @@ __22: if !(int32(*(*U8)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pOld)).FaData))) != int32(*(*U8)(unsafe.Pointer((*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 72)))).FaData)))) { goto __25 } - *(*int32)(unsafe.Pointer(bp + 112 /* rc */)) = Xsqlite3CorruptError(tls, 74047) + *(*int32)(unsafe.Pointer(bp + 112 /* rc */)) = Xsqlite3CorruptError(tls, 74057) goto balance_cleanup __25: ; @@ -51467,7 +51477,7 @@ __25: if !(limit < int32(*(*U16)(unsafe.Pointer(pOld + 28)))) { goto __27 } - *(*int32)(unsafe.Pointer(bp + 112 /* rc */)) = Xsqlite3CorruptError(tls, 74071) + *(*int32)(unsafe.Pointer(bp + 112 /* rc */)) = Xsqlite3CorruptError(tls, 74081) goto balance_cleanup __27: ; @@ -51646,7 +51656,7 @@ __52: if !(k > NB+2) { goto __55 } - *(*int32)(unsafe.Pointer(bp + 112 /* rc */)) = Xsqlite3CorruptError(tls, 74172) + *(*int32)(unsafe.Pointer(bp + 112 /* rc */)) = Xsqlite3CorruptError(tls, 74182) goto balance_cleanup __55: ; @@ -51720,7 +51730,7 @@ __65: }()) { goto __67 } - *(*int32)(unsafe.Pointer(bp + 112 /* rc */)) = Xsqlite3CorruptError(tls, 74205) + *(*int32)(unsafe.Pointer(bp + 112 /* rc */)) = Xsqlite3CorruptError(tls, 74215) goto balance_cleanup __67: ; @@ -51793,7 +51803,7 @@ __73: }()) { goto __75 } - *(*int32)(unsafe.Pointer(bp + 112 /* rc */)) = Xsqlite3CorruptError(tls, 74247) + *(*int32)(unsafe.Pointer(bp + 112 /* rc */)) = Xsqlite3CorruptError(tls, 74257) goto balance_cleanup __75: ; @@ -51830,7 +51840,7 @@ __76: *(*int32)(unsafe.Pointer(bp + 112)) == SQLITE_OK) { goto __81 } - *(*int32)(unsafe.Pointer(bp + 112 /* rc */)) = Xsqlite3CorruptError(tls, 74280) + *(*int32)(unsafe.Pointer(bp + 112 /* rc */)) = Xsqlite3CorruptError(tls, 74290) __81: ; if !(*(*int32)(unsafe.Pointer(bp + 112)) != 0) { @@ -51914,7 +51924,7 @@ __89: // cache with two separate objects associated with the same // page number. - *(*int32)(unsafe.Pointer(bp + 112 /* rc */)) = Xsqlite3CorruptError(tls, 74326) + *(*int32)(unsafe.Pointer(bp + 112 /* rc */)) = Xsqlite3CorruptError(tls, 74336) goto balance_cleanup __92: ; @@ -52167,7 +52177,7 @@ __125: if !(Uptr(pSrcEnd) >= Uptr(pCell1) && Uptr(pSrcEnd) < Uptr(pCell1+uintptr(sz2))) { goto __126 } - *(*int32)(unsafe.Pointer(bp + 112 /* rc */)) = Xsqlite3CorruptError(tls, 74483) + *(*int32)(unsafe.Pointer(bp + 112 /* rc */)) = Xsqlite3CorruptError(tls, 74493) goto balance_cleanup __126: ; @@ -52389,7 +52399,7 @@ __150: // page and SQLITE_OK is returned. In this case the caller is required // to call releasePage() on *ppChild exactly once. If an error occurs, // an error code is returned and *ppChild is set to 0. -func balance_deeper(tls *libc.TLS, pRoot uintptr, ppChild uintptr) int32 { /* sqlite3.c:74648:12: */ +func balance_deeper(tls *libc.TLS, pRoot uintptr, ppChild uintptr) int32 { /* sqlite3.c:74658:12: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -52440,13 +52450,13 @@ func balance_deeper(tls *libc.TLS, pRoot uintptr, ppChild uintptr) int32 { /* sq // table linked to the same b-tree. If the secondary insert causes a // rebalance, that can change content out from under the cursor on the // first SQL table, violating invariants on the first insert. -func anotherValidCursor(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:74706:12: */ +func anotherValidCursor(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:74716:12: */ var pOther uintptr for pOther = (*BtShared)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pCur)).FpBt)).FpCursor; pOther != 0; pOther = (*BtCursor)(unsafe.Pointer(pOther)).FpNext { if pOther != pCur && int32((*BtCursor)(unsafe.Pointer(pOther)).FeState) == CURSOR_VALID && (*BtCursor)(unsafe.Pointer(pOther)).FpPage == (*BtCursor)(unsafe.Pointer(pCur)).FpPage { - return Xsqlite3CorruptError(tls, 74713) + return Xsqlite3CorruptError(tls, 74723) } } return SQLITE_OK @@ -52460,7 +52470,7 @@ func anotherValidCursor(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:74706: // balance_quick() // balance_deeper() // balance_nonroot() -func balance(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:74729:12: */ +func balance(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:74739:12: */ bp := tls.Alloc(13) defer tls.Free(13) @@ -52579,7 +52589,7 @@ func balance(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:74729:12: */ // Overwrite content from pX into pDest. Only do the write if the // content is different from what is already there. -func btreeOverwriteContent(tls *libc.TLS, pPage uintptr, pDest uintptr, pX uintptr, iOffset int32, iAmt int32) int32 { /* sqlite3.c:74855:12: */ +func btreeOverwriteContent(tls *libc.TLS, pPage uintptr, pDest uintptr, pX uintptr, iOffset int32, iAmt int32) int32 { /* sqlite3.c:74865:12: */ var nData int32 = (*BtreePayload)(unsafe.Pointer(pX)).FnData - iOffset if nData <= 0 { // Overwritting with zeros @@ -52621,7 +52631,7 @@ func btreeOverwriteContent(tls *libc.TLS, pPage uintptr, pDest uintptr, pX uintp // Overwrite the cell that cursor pCur is pointing to with fresh content // contained in pX. -func btreeOverwriteCell(tls *libc.TLS, pCur uintptr, pX uintptr) int32 { /* sqlite3.c:74898:12: */ +func btreeOverwriteCell(tls *libc.TLS, pCur uintptr, pX uintptr) int32 { /* sqlite3.c:74908:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -52635,7 +52645,7 @@ func btreeOverwriteCell(tls *libc.TLS, pCur uintptr, pX uintptr) int32 { /* sqli if (*BtCursor)(unsafe.Pointer(pCur)).Finfo.FpPayload+uintptr((*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnLocal) > (*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FaDataEnd || (*BtCursor)(unsafe.Pointer(pCur)).Finfo.FpPayload < (*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FaData+uintptr((*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FcellOffset) { - return Xsqlite3CorruptError(tls, 74910) + return Xsqlite3CorruptError(tls, 74920) } // Overwrite the local portion first rc = btreeOverwriteContent(tls, *(*uintptr)(unsafe.Pointer(bp /* pPage */)), (*BtCursor)(unsafe.Pointer(pCur)).Finfo.FpPayload, pX, @@ -52659,7 +52669,7 @@ func btreeOverwriteCell(tls *libc.TLS, pCur uintptr, pX uintptr) int32 { /* sqli return rc } if Xsqlite3PagerPageRefcount(tls, (*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FpDbPage) != 1 || (*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FisInit != 0 { - rc = Xsqlite3CorruptError(tls, 74929) + rc = Xsqlite3CorruptError(tls, 74939) } else { if U32(iOffset)+ovflPageSize < U32(nTotal) { ovflPgno = Xsqlite3Get4byte(tls, (*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* pPage */)))).FaData) @@ -52706,7 +52716,7 @@ func btreeOverwriteCell(tls *libc.TLS, pCur uintptr, pX uintptr) int32 { /* sqli // if pX->nMem is non-zero, then pX->aMem contains pointers to the unpacked // key values and pX->aMem can be used instead of pX->pKey to avoid having // to decode the key. -func Xsqlite3BtreeInsert(tls *libc.TLS, pCur uintptr, pX uintptr, flags int32, seekResult int32) int32 { /* sqlite3.c:74977:20: */ +func Xsqlite3BtreeInsert(tls *libc.TLS, pCur uintptr, pX uintptr, flags int32, seekResult int32) int32 { /* sqlite3.c:74987:20: */ bp := tls.Alloc(120) defer tls.Free(120) @@ -52736,20 +52746,6 @@ func Xsqlite3BtreeInsert(tls *libc.TLS, pCur uintptr, pX uintptr, flags int32, s pBt = (*Btree)(unsafe.Pointer(p)).FpBt newCell = uintptr(0) - if !(int32((*BtCursor)(unsafe.Pointer(pCur)).FeState) == CURSOR_FAULT) { - goto __1 - } - - return (*BtCursor)(unsafe.Pointer(pCur)).FskipNext -__1: - ; - - // Assert that the caller has been consistent. If this cursor was opened - // expecting an index b-tree, then the caller should be inserting blob - // keys with no associated data. If the cursor was opened expecting an - // intkey table, the caller should be inserting integer keys with a - // blob of associated data. - // Save the positions of any other cursors open on this table. // // In some cases, the call to btreeMoveto() below is a no-op. For @@ -52761,40 +52757,59 @@ __1: // doing any work. To avoid thwarting these optimizations, it is important // not to clear the cursor here. if !(int32((*BtCursor)(unsafe.Pointer(pCur)).FcurFlags)&BTCF_Multiple != 0) { - goto __2 + goto __1 } *(*int32)(unsafe.Pointer(bp + 88 /* rc */)) = saveAllCursors(tls, pBt, (*BtCursor)(unsafe.Pointer(pCur)).FpgnoRoot, pCur) if !(*(*int32)(unsafe.Pointer(bp + 88)) != 0) { - goto __3 + goto __2 } return *(*int32)(unsafe.Pointer(bp + 88 /* rc */)) -__3: +__2: ; if !(*(*int32)(unsafe.Pointer(bp)) != 0 && int32((*BtCursor)(unsafe.Pointer(pCur)).FiPage) < 0) { - goto __4 + goto __3 } // This can only happen if the schema is corrupt such that there is more // than one table or index with the same root page as used by the cursor. // 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 Xsqlite3CorruptError(tls, 75034) -__4: + return Xsqlite3CorruptError(tls, 75026) +__3: ; -__2: +__1: ; - if !((*BtCursor)(unsafe.Pointer(pCur)).FpKeyInfo == uintptr(0)) { + if !(int32((*BtCursor)(unsafe.Pointer(pCur)).FeState) >= CURSOR_REQUIRESEEK) { + goto __4 + } + *(*int32)(unsafe.Pointer(bp + 88 /* rc */)) = moveToRoot(tls, pCur) + if !(*(*int32)(unsafe.Pointer(bp + 88)) != 0 && *(*int32)(unsafe.Pointer(bp + 88)) != SQLITE_EMPTY) { goto __5 } + return *(*int32)(unsafe.Pointer(bp + 88 /* rc */)) +__5: + ; +__4: + ; + + // Assert that the caller has been consistent. If this cursor was opened + // expecting an index b-tree, then the caller should be inserting blob + // keys with no associated data. If the cursor was opened expecting an + // intkey table, the caller should be inserting integer keys with a + // blob of associated data. + + if !((*BtCursor)(unsafe.Pointer(pCur)).FpKeyInfo == uintptr(0)) { + goto __6 + } // If this is an insert into a table b-tree, invalidate any incrblob // cursors open on the row being replaced if !((*Btree)(unsafe.Pointer(p)).FhasIncrblobCur != 0) { - goto __7 + goto __8 } invalidateIncrblobCursors(tls, p, (*BtCursor)(unsafe.Pointer(pCur)).FpgnoRoot, (*BtreePayload)(unsafe.Pointer(pX)).FnKey, 0) -__7: +__8: ; // If BTREE_SAVEPOSITION is set, the cursor must already be pointing @@ -52804,24 +52819,24 @@ __7: // that the cursor is not pointing to a row to be overwritten. // So do a complete check. if !(int32((*BtCursor)(unsafe.Pointer(pCur)).FcurFlags)&BTCF_ValidNKey != 0 && (*BtreePayload)(unsafe.Pointer(pX)).FnKey == (*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnKey) { - goto __8 + goto __9 } // The cursor is pointing to the entry that is to be // overwritten if !(int32((*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnSize) != 0 && (*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnPayload == U32((*BtreePayload)(unsafe.Pointer(pX)).FnData)+U32((*BtreePayload)(unsafe.Pointer(pX)).FnZero)) { - goto __10 + goto __11 } // New entry is the same size as the old. Do an overwrite return btreeOverwriteCell(tls, pCur, pX) -__10: +__11: ; - goto __9 -__8: + goto __10 +__9: if !(*(*int32)(unsafe.Pointer(bp)) == 0) { - goto __11 + goto __12 } // The cursor is *not* pointing to the cell to be overwritten, nor // to an adjacent cell. Move the cursor so that it is pointing either @@ -52829,17 +52844,17 @@ __8: *(*int32)(unsafe.Pointer(bp + 88 /* rc */)) = Xsqlite3BtreeTableMoveto(tls, pCur, (*BtreePayload)(unsafe.Pointer(pX)).FnKey, libc.Bool32(flags&BTREE_APPEND != 0), bp) if !(*(*int32)(unsafe.Pointer(bp + 88)) != 0) { - goto __12 + goto __13 } return *(*int32)(unsafe.Pointer(bp + 88 /* rc */)) -__12: +__13: ; -__11: +__12: ; -__9: +__10: ; - goto __6 -__5: + goto __7 +__6: // This is an index or a WITHOUT ROWID table // If BTREE_SAVEPOSITION is set, the cursor must already be pointing @@ -52851,10 +52866,10 @@ __5: // not pointing to an immediately adjacent cell, then move the cursor // so that it does. if !(*(*int32)(unsafe.Pointer(bp)) == 0 && flags&BTREE_SAVEPOSITION == 0) { - goto __13 + goto __14 } if !((*BtreePayload)(unsafe.Pointer(pX)).FnMem != 0) { - goto __14 + goto __15 } (*UnpackedRecord)(unsafe.Pointer(bp + 4 /* &r */)).FpKeyInfo = (*BtCursor)(unsafe.Pointer(pCur)).FpKeyInfo (*UnpackedRecord)(unsafe.Pointer(bp + 4 /* &r */)).FaMem = (*BtreePayload)(unsafe.Pointer(pX)).FaMem @@ -52862,147 +52877,147 @@ __5: (*UnpackedRecord)(unsafe.Pointer(bp + 4 /* &r */)).Fdefault_rc = int8(0) (*UnpackedRecord)(unsafe.Pointer(bp + 4 /* &r */)).FeqSeen = U8(0) *(*int32)(unsafe.Pointer(bp + 88 /* rc */)) = Xsqlite3BtreeIndexMoveto(tls, pCur, bp+4, bp) - goto __15 -__14: + goto __16 +__15: *(*int32)(unsafe.Pointer(bp + 88 /* rc */)) = btreeMoveto(tls, pCur, (*BtreePayload)(unsafe.Pointer(pX)).FpKey, (*BtreePayload)(unsafe.Pointer(pX)).FnKey, libc.Bool32(flags&BTREE_APPEND != 0), bp) -__15: +__16: ; if !(*(*int32)(unsafe.Pointer(bp + 88)) != 0) { - goto __16 + goto __17 } return *(*int32)(unsafe.Pointer(bp + 88 /* rc */)) -__16: +__17: ; -__13: +__14: ; // If the cursor is currently pointing to an entry to be overwritten // and the new content is the same as as the old, then use the // overwrite optimization. if !(*(*int32)(unsafe.Pointer(bp)) == 0) { - goto __17 + goto __18 } getCellInfo(tls, pCur) if !((*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnKey == (*BtreePayload)(unsafe.Pointer(pX)).FnKey) { - goto __18 + goto __19 } (*BtreePayload)(unsafe.Pointer(bp + 24 /* &x2 */)).FpData = (*BtreePayload)(unsafe.Pointer(pX)).FpKey (*BtreePayload)(unsafe.Pointer(bp + 24 /* &x2 */)).FnData = int32((*BtreePayload)(unsafe.Pointer(pX)).FnKey) (*BtreePayload)(unsafe.Pointer(bp + 24 /* &x2 */)).FnZero = 0 return btreeOverwriteCell(tls, pCur, bp+24) -__18: +__19: ; -__17: +__18: ; -__6: +__7: ; pPage = (*BtCursor)(unsafe.Pointer(pCur)).FpPage if !((*MemPage)(unsafe.Pointer(pPage)).FnFree < 0) { - goto __19 + goto __20 } if !(int32((*BtCursor)(unsafe.Pointer(pCur)).FeState) > CURSOR_INVALID) { - goto __20 + goto __21 } - *(*int32)(unsafe.Pointer(bp + 88 /* rc */)) = Xsqlite3CorruptError(tls, 75134) - goto __21 -__20: - *(*int32)(unsafe.Pointer(bp + 88 /* rc */)) = btreeComputeFreeSpace(tls, pPage) + *(*int32)(unsafe.Pointer(bp + 88 /* rc */)) = Xsqlite3CorruptError(tls, 75143) + goto __22 __21: + *(*int32)(unsafe.Pointer(bp + 88 /* rc */)) = btreeComputeFreeSpace(tls, pPage) +__22: ; if !(*(*int32)(unsafe.Pointer(bp + 88)) != 0) { - goto __22 + goto __23 } return *(*int32)(unsafe.Pointer(bp + 88 /* rc */)) -__22: +__23: ; -__19: +__20: ; newCell = (*BtShared)(unsafe.Pointer(pBt)).FpTmpSpace if !(flags&BTREE_PREFORMAT != 0) { - goto __23 + goto __24 } *(*int32)(unsafe.Pointer(bp + 88 /* rc */)) = SQLITE_OK *(*int32)(unsafe.Pointer(bp + 92 /* szNew */)) = (*BtShared)(unsafe.Pointer(pBt)).FnPreformatSize if !(*(*int32)(unsafe.Pointer(bp + 92)) < 4) { - goto __25 + goto __26 } *(*int32)(unsafe.Pointer(bp + 92 /* szNew */)) = 4 -__25: +__26: ; if !((*BtShared)(unsafe.Pointer(pBt)).FautoVacuum != 0 && *(*int32)(unsafe.Pointer(bp + 92)) > int32((*MemPage)(unsafe.Pointer(pPage)).FmaxLocal)) { - goto __26 + goto __27 } (*struct { f func(*libc.TLS, uintptr, uintptr, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*MemPage)(unsafe.Pointer(pPage)).FxParseCell})).f(tls, pPage, newCell, bp+64 /* &info */) if !((*CellInfo)(unsafe.Pointer(bp+64)).FnPayload != U32((*CellInfo)(unsafe.Pointer(bp+64)).FnLocal)) { - goto __27 + goto __28 } ovfl = Xsqlite3Get4byte(tls, newCell+uintptr(*(*int32)(unsafe.Pointer(bp + 92))-4)) ptrmapPut(tls, pBt, ovfl, uint8(PTRMAP_OVERFLOW1), (*MemPage)(unsafe.Pointer(pPage)).Fpgno, bp+88) -__27: +__28: ; -__26: +__27: ; - goto __24 -__23: - *(*int32)(unsafe.Pointer(bp + 88 /* rc */)) = fillInCell(tls, pPage, newCell, pX, bp+92) + goto __25 __24: + *(*int32)(unsafe.Pointer(bp + 88 /* rc */)) = fillInCell(tls, pPage, newCell, pX, bp+92) +__25: ; if !(*(*int32)(unsafe.Pointer(bp + 88)) != 0) { - goto __28 + goto __29 } goto end_insert -__28: +__29: ; idx = int32((*BtCursor)(unsafe.Pointer(pCur)).Fix) if !(*(*int32)(unsafe.Pointer(bp)) == 0) { - goto __29 + goto __30 } if !(idx >= int32((*MemPage)(unsafe.Pointer(pPage)).FnCell)) { - goto __31 + goto __32 } - return Xsqlite3CorruptError(tls, 75170) -__31: + return Xsqlite3CorruptError(tls, 75179) +__32: ; *(*int32)(unsafe.Pointer(bp + 88 /* rc */)) = Xsqlite3PagerWrite(tls, (*MemPage)(unsafe.Pointer(pPage)).FpDbPage) if !(*(*int32)(unsafe.Pointer(bp + 88)) != 0) { - goto __32 + goto __33 } goto end_insert -__32: +__33: ; oldCell = (*MemPage)(unsafe.Pointer(pPage)).FaData + uintptr(int32((*MemPage)(unsafe.Pointer(pPage)).FmaskPage)&int32(libc.X__builtin_bswap16(tls, *(*U16)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPage)).FaCellIdx + uintptr(2*idx)))))) if !!(int32((*MemPage)(unsafe.Pointer(pPage)).Fleaf) != 0) { - goto __33 + goto __34 } libc.Xmemcpy(tls, newCell, oldCell, uint32(4)) -__33: +__34: ; (*struct { f func(*libc.TLS, uintptr, uintptr, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*MemPage)(unsafe.Pointer(pPage)).FxParseCell})).f(tls, pPage, oldCell, bp+96 /* &info1 */) if !(U32((*CellInfo)(unsafe.Pointer(bp+96 /* &info1 */)).FnLocal) != (*CellInfo)(unsafe.Pointer(bp+96 /* &info1 */)).FnPayload) { - goto __34 + goto __35 } *(*int32)(unsafe.Pointer(bp + 88 /* rc */)) = clearCellOverflow(tls, pPage, oldCell, bp+96 /* &info1 */) - goto __35 -__34: - *(*int32)(unsafe.Pointer(bp + 88 /* rc */)) = SQLITE_OK + goto __36 __35: + *(*int32)(unsafe.Pointer(bp + 88 /* rc */)) = SQLITE_OK +__36: ; *(*U8)(unsafe.Pointer(pCur + 1)) &= libc.Uint8FromInt32(libc.CplInt32(BTCF_ValidOvfl)) if !(int32((*CellInfo)(unsafe.Pointer(bp+96)).FnSize) == *(*int32)(unsafe.Pointer(bp + 92)) && U32((*CellInfo)(unsafe.Pointer(bp+96)).FnLocal) == (*CellInfo)(unsafe.Pointer(bp+96)).FnPayload && (!(int32((*BtShared)(unsafe.Pointer(pBt)).FautoVacuum) != 0) || *(*int32)(unsafe.Pointer(bp + 92)) < int32((*MemPage)(unsafe.Pointer(pPage)).FminLocal))) { - goto __36 + goto __37 } // Overwrite the old cell with the new if they are the same size. // We could also try to do this if the old cell is smaller, then add @@ -53015,42 +53030,42 @@ __35: // necessary to add the PTRMAP_OVERFLOW1 pointer-map entry. // clearCell never fails when nLocal==nPayload if !(oldCell < (*MemPage)(unsafe.Pointer(pPage)).FaData+uintptr((*MemPage)(unsafe.Pointer(pPage)).FhdrOffset)+uintptr(10)) { - goto __37 + goto __38 } - return Xsqlite3CorruptError(tls, 75197) -__37: + return Xsqlite3CorruptError(tls, 75206) +__38: ; if !(oldCell+uintptr(*(*int32)(unsafe.Pointer(bp + 92))) > (*MemPage)(unsafe.Pointer(pPage)).FaDataEnd) { - goto __38 + goto __39 } - return Xsqlite3CorruptError(tls, 75200) -__38: + return Xsqlite3CorruptError(tls, 75209) +__39: ; libc.Xmemcpy(tls, oldCell, newCell, uint32(*(*int32)(unsafe.Pointer(bp + 92 /* szNew */)))) return SQLITE_OK -__36: +__37: ; dropCell(tls, pPage, idx, int32((*CellInfo)(unsafe.Pointer(bp+96 /* &info1 */)).FnSize), bp+88) if !(*(*int32)(unsafe.Pointer(bp + 88)) != 0) { - goto __39 + goto __40 } goto end_insert -__39: +__40: ; - goto __30 -__29: + goto __31 +__30: if !(*(*int32)(unsafe.Pointer(bp)) < 0 && int32((*MemPage)(unsafe.Pointer(pPage)).FnCell) > 0) { - goto __40 + goto __41 } idx = int32(libc.PreIncUint16(&(*BtCursor)(unsafe.Pointer(pCur)).Fix, 1)) *(*U8)(unsafe.Pointer(pCur + 1)) &= libc.Uint8FromInt32(libc.CplInt32(BTCF_ValidNKey)) - goto __41 -__40: - ; + goto __42 __41: ; -__30: +__42: + ; +__31: ; insertCell(tls, pPage, idx, newCell, *(*int32)(unsafe.Pointer(bp + 92 /* szNew */)), uintptr(0), uint32(0), bp+88) @@ -53075,7 +53090,7 @@ __30: // row without seeking the cursor. This can be a big performance boost. (*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnSize = U16(0) if !((*MemPage)(unsafe.Pointer(pPage)).FnOverflow != 0) { - goto __42 + goto __43 } *(*U8)(unsafe.Pointer(pCur + 1)) &= libc.Uint8FromInt32(libc.CplInt32(BTCF_ValidNKey)) @@ -53088,30 +53103,30 @@ __30: (*MemPage)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pCur)).FpPage)).FnOverflow = U8(0) (*BtCursor)(unsafe.Pointer(pCur)).FeState = U8(CURSOR_INVALID) if !(flags&BTREE_SAVEPOSITION != 0 && *(*int32)(unsafe.Pointer(bp + 88)) == SQLITE_OK) { - goto __43 + goto __44 } btreeReleaseAllCursorPages(tls, pCur) if !((*BtCursor)(unsafe.Pointer(pCur)).FpKeyInfo != 0) { - goto __44 + goto __45 } (*BtCursor)(unsafe.Pointer(pCur)).FpKey = Xsqlite3Malloc(tls, uint64((*BtreePayload)(unsafe.Pointer(pX)).FnKey)) if !((*BtCursor)(unsafe.Pointer(pCur)).FpKey == uintptr(0)) { - goto __45 + goto __46 } *(*int32)(unsafe.Pointer(bp + 88 /* rc */)) = SQLITE_NOMEM - goto __46 -__45: - libc.Xmemcpy(tls, (*BtCursor)(unsafe.Pointer(pCur)).FpKey, (*BtreePayload)(unsafe.Pointer(pX)).FpKey, uint32((*BtreePayload)(unsafe.Pointer(pX)).FnKey)) + goto __47 __46: + libc.Xmemcpy(tls, (*BtCursor)(unsafe.Pointer(pCur)).FpKey, (*BtreePayload)(unsafe.Pointer(pX)).FpKey, uint32((*BtreePayload)(unsafe.Pointer(pX)).FnKey)) +__47: ; -__44: +__45: ; (*BtCursor)(unsafe.Pointer(pCur)).FeState = U8(CURSOR_REQUIRESEEK) (*BtCursor)(unsafe.Pointer(pCur)).FnKey = (*BtreePayload)(unsafe.Pointer(pX)).FnKey -__43: +__44: ; -__42: +__43: ; end_insert: @@ -53131,7 +53146,7 @@ end_insert: // calling sqlite3BtreeInsert() with the BTREE_PREFORMAT flag specified. // // SQLITE_OK is returned if successful, or an SQLite error code otherwise. -func Xsqlite3BtreeTransferRow(tls *libc.TLS, pDest uintptr, pSrc uintptr, iKey I64) int32 { /* sqlite3.c:75286:20: */ +func Xsqlite3BtreeTransferRow(tls *libc.TLS, pDest uintptr, pSrc uintptr, iKey I64) int32 { /* sqlite3.c:75295:20: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -53158,7 +53173,7 @@ func Xsqlite3BtreeTransferRow(tls *libc.TLS, pDest uintptr, pSrc uintptr, iKey I nIn = U32((*BtCursor)(unsafe.Pointer(pSrc)).Finfo.FnLocal) aIn = (*BtCursor)(unsafe.Pointer(pSrc)).Finfo.FpPayload if aIn+uintptr(nIn) > (*MemPage)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pSrc)).FpPage)).FaDataEnd { - return Xsqlite3CorruptError(tls, 75300) + return Xsqlite3CorruptError(tls, 75309) } nRem = (*BtCursor)(unsafe.Pointer(pSrc)).Finfo.FnPayload if nIn == nRem && nIn < U32((*MemPage)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pDest)).FpPage)).FmaxLocal) { @@ -53181,7 +53196,7 @@ func Xsqlite3BtreeTransferRow(tls *libc.TLS, pDest uintptr, pSrc uintptr, iKey I if nRem > nIn { if aIn+uintptr(nIn)+uintptr(4) > (*MemPage)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pSrc)).FpPage)).FaDataEnd { - return Xsqlite3CorruptError(tls, 75323) + return Xsqlite3CorruptError(tls, 75332) } ovflIn = Xsqlite3Get4byte(tls, (*BtCursor)(unsafe.Pointer(pSrc)).Finfo.FpPayload+uintptr(nIn)) } @@ -53263,7 +53278,7 @@ func Xsqlite3BtreeTransferRow(tls *libc.TLS, pDest uintptr, pSrc uintptr, iKey I // operation on non-FORDELETE cursors is tagged with the AUXDELETE flag. // The BTREE_AUXDELETE bit is a hint that is not used by this implementation, // but which might be used by alternative storage engines. -func Xsqlite3BtreeDelete(tls *libc.TLS, pCur uintptr, flags U8) int32 { /* sqlite3.c:75396:20: */ +func Xsqlite3BtreeDelete(tls *libc.TLS, pCur uintptr, flags U8) int32 { /* sqlite3.c:75405:20: */ bp := tls.Alloc(28) defer tls.Free(28) @@ -53279,11 +53294,15 @@ func Xsqlite3BtreeDelete(tls *libc.TLS, pCur uintptr, flags U8) int32 { /* sqlit // Size of the cell being deleted var bPreserve U8 // Keep cursor valid. 2 for CURSOR_SKIPNEXT - if int32((*BtCursor)(unsafe.Pointer(pCur)).FeState) == CURSOR_REQUIRESEEK { - *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) = btreeRestoreCursorPosition(tls, pCur) + if int32((*BtCursor)(unsafe.Pointer(pCur)).FeState) != CURSOR_VALID { + if int32((*BtCursor)(unsafe.Pointer(pCur)).FeState) >= CURSOR_REQUIRESEEK { + *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) = btreeRestoreCursorPosition(tls, pCur) - if *(*int32)(unsafe.Pointer(bp + 24)) != 0 || int32((*BtCursor)(unsafe.Pointer(pCur)).FeState) != CURSOR_VALID { - return *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) + if *(*int32)(unsafe.Pointer(bp + 24)) != 0 || int32((*BtCursor)(unsafe.Pointer(pCur)).FeState) != CURSOR_VALID { + return *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) + } + } else { + return Xsqlite3CorruptError(tls, 75429) } } @@ -53291,11 +53310,11 @@ func Xsqlite3BtreeDelete(tls *libc.TLS, pCur uintptr, flags U8) int32 { /* sqlit iCellIdx = int32((*BtCursor)(unsafe.Pointer(pCur)).Fix) pPage = (*BtCursor)(unsafe.Pointer(pCur)).FpPage if int32((*MemPage)(unsafe.Pointer(pPage)).FnCell) <= iCellIdx { - return Xsqlite3CorruptError(tls, 75425) + return Xsqlite3CorruptError(tls, 75438) } pCell = (*MemPage)(unsafe.Pointer(pPage)).FaData + uintptr(int32((*MemPage)(unsafe.Pointer(pPage)).FmaskPage)&int32(libc.X__builtin_bswap16(tls, *(*U16)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPage)).FaCellIdx + uintptr(2*iCellIdx)))))) if (*MemPage)(unsafe.Pointer(pPage)).FnFree < 0 && btreeComputeFreeSpace(tls, pPage) != 0 { - return Xsqlite3CorruptError(tls, 75429) + return Xsqlite3CorruptError(tls, 75442) } // If the BTREE_SAVEPOSITION bit is on, then the cursor position must @@ -53404,7 +53423,7 @@ func Xsqlite3BtreeDelete(tls *libc.TLS, pCur uintptr, flags U8) int32 { /* sqlit } pCell = (*MemPage)(unsafe.Pointer(pLeaf)).FaData + uintptr(int32((*MemPage)(unsafe.Pointer(pLeaf)).FmaskPage)&int32(libc.X__builtin_bswap16(tls, *(*U16)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pLeaf)).FaCellIdx + uintptr(2*(int32((*MemPage)(unsafe.Pointer(pLeaf)).FnCell)-1))))))) if pCell < (*MemPage)(unsafe.Pointer(pLeaf)).FaData+4 { - return Xsqlite3CorruptError(tls, 75519) + return Xsqlite3CorruptError(tls, 75532) } nCell = int32((*struct { f func(*libc.TLS, uintptr, uintptr) U16 @@ -53481,7 +53500,7 @@ func Xsqlite3BtreeDelete(tls *libc.TLS, pCur uintptr, flags U8) int32 { /* sqlit // // BTREE_INTKEY|BTREE_LEAFDATA Used for SQL tables with rowid keys // BTREE_ZERODATA Used for SQL indices -func btreeCreateTable(tls *libc.TLS, p uintptr, piTable uintptr, createTabFlags int32) int32 { /* sqlite3.c:75593:12: */ +func btreeCreateTable(tls *libc.TLS, p uintptr, piTable uintptr, createTabFlags int32) int32 { /* sqlite3.c:75606:12: */ bp := tls.Alloc(28) defer tls.Free(28) @@ -53511,7 +53530,7 @@ func btreeCreateTable(tls *libc.TLS, p uintptr, piTable uintptr, createTabFlags // created so far, so the new root-page is (meta[3]+1). Xsqlite3BtreeGetMeta(tls, p, BTREE_LARGEST_ROOT_PAGE, bp) if *(*Pgno)(unsafe.Pointer(bp)) > btreePagecount(tls, pBt) { - return Xsqlite3CorruptError(tls, 75627) + return Xsqlite3CorruptError(tls, 75640) } *(*Pgno)(unsafe.Pointer(bp /* pgnoRoot */))++ @@ -53554,7 +53573,7 @@ func btreeCreateTable(tls *libc.TLS, p uintptr, piTable uintptr, createTabFlags } *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) = ptrmapGet(tls, pBt, *(*Pgno)(unsafe.Pointer(bp /* pgnoRoot */)), bp+16, bp+20) if int32(*(*U8)(unsafe.Pointer(bp + 16))) == PTRMAP_ROOTPAGE || int32(*(*U8)(unsafe.Pointer(bp + 16))) == PTRMAP_FREEPAGE { - *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) = Xsqlite3CorruptError(tls, 75675) + *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) = Xsqlite3CorruptError(tls, 75688) } if *(*int32)(unsafe.Pointer(bp + 24)) != SQLITE_OK { releasePage(tls, *(*uintptr)(unsafe.Pointer(bp + 12 /* pRoot */))) @@ -53617,7 +53636,7 @@ func btreeCreateTable(tls *libc.TLS, p uintptr, piTable uintptr, createTabFlags return SQLITE_OK } -func Xsqlite3BtreeCreateTable(tls *libc.TLS, p uintptr, piTable uintptr, flags int32) int32 { /* sqlite3.c:75738:20: */ +func Xsqlite3BtreeCreateTable(tls *libc.TLS, p uintptr, piTable uintptr, flags int32) int32 { /* sqlite3.c:75751:20: */ var rc int32 Xsqlite3BtreeEnter(tls, p) rc = btreeCreateTable(tls, p, piTable, flags) @@ -53627,7 +53646,7 @@ func Xsqlite3BtreeCreateTable(tls *libc.TLS, p uintptr, piTable uintptr, flags i // Erase the given database page and all its children. Return // the page to the freelist. -func clearDatabasePage(tls *libc.TLS, pBt uintptr, pgno Pgno, freePageFlag int32, pnChange uintptr) int32 { /* sqlite3.c:75750:12: */ +func clearDatabasePage(tls *libc.TLS, pBt uintptr, pgno Pgno, freePageFlag int32, pnChange uintptr) int32 { /* sqlite3.c:75763:12: */ bp := tls.Alloc(36) defer tls.Free(36) @@ -53643,7 +53662,7 @@ func clearDatabasePage(tls *libc.TLS, pBt uintptr, pgno Pgno, freePageFlag int32 if !(pgno > btreePagecount(tls, pBt)) { goto __1 } - return Xsqlite3CorruptError(tls, 75765) + return Xsqlite3CorruptError(tls, 75778) __1: ; *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) = getAndInitPage(tls, pBt, pgno, bp, uintptr(0), 0) @@ -53657,7 +53676,7 @@ __2: Xsqlite3PagerPageRefcount(tls, (*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FpDbPage) != 1+libc.Bool32(pgno == Pgno(1))) { goto __3 } - *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) = Xsqlite3CorruptError(tls, 75772) + *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) = Xsqlite3CorruptError(tls, 75785) goto cleardatabasepage_out __3: ; @@ -53761,7 +53780,7 @@ cleardatabasepage_out: // // If pnChange is not NULL, then the integer value pointed to by pnChange // is incremented by the number of entries in the table. -func Xsqlite3BtreeClearTable(tls *libc.TLS, p uintptr, iTable int32, pnChange uintptr) int32 { /* sqlite3.c:75817:20: */ +func Xsqlite3BtreeClearTable(tls *libc.TLS, p uintptr, iTable int32, pnChange uintptr) int32 { /* sqlite3.c:75830:20: */ var rc int32 var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt Xsqlite3BtreeEnter(tls, p) @@ -53784,7 +53803,7 @@ func Xsqlite3BtreeClearTable(tls *libc.TLS, p uintptr, iTable int32, pnChange ui // Delete all information from the single table that pCur is open on. // // This routine only work for pCur on an ephemeral table. -func Xsqlite3BtreeClearTableOfCursor(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:75843:20: */ +func Xsqlite3BtreeClearTableOfCursor(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:75856:20: */ return Xsqlite3BtreeClearTable(tls, (*BtCursor)(unsafe.Pointer(pCur)).FpBtree, int32((*BtCursor)(unsafe.Pointer(pCur)).FpgnoRoot), uintptr(0)) } @@ -53806,7 +53825,7 @@ func Xsqlite3BtreeClearTableOfCursor(tls *libc.TLS, pCur uintptr) int32 { /* sql // the move. If no page gets moved, *piMoved is set to 0. // The last root page is recorded in meta[3] and the value of // meta[3] is updated by this procedure. -func btreeDropTable(tls *libc.TLS, p uintptr, iTable Pgno, piMoved uintptr) int32 { /* sqlite3.c:75867:12: */ +func btreeDropTable(tls *libc.TLS, p uintptr, iTable Pgno, piMoved uintptr) int32 { /* sqlite3.c:75880:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -53816,7 +53835,7 @@ func btreeDropTable(tls *libc.TLS, p uintptr, iTable Pgno, piMoved uintptr) int3 var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt if iTable > btreePagecount(tls, pBt) { - return Xsqlite3CorruptError(tls, 75876) + return Xsqlite3CorruptError(tls, 75889) } *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) = Xsqlite3BtreeClearTable(tls, p, int32(iTable), uintptr(0)) @@ -53888,7 +53907,7 @@ func btreeDropTable(tls *libc.TLS, p uintptr, iTable Pgno, piMoved uintptr) int3 return *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) } -func Xsqlite3BtreeDropTable(tls *libc.TLS, p uintptr, iTable int32, piMoved uintptr) int32 { /* sqlite3.c:75952:20: */ +func Xsqlite3BtreeDropTable(tls *libc.TLS, p uintptr, iTable int32, piMoved uintptr) int32 { /* sqlite3.c:75965:20: */ var rc int32 Xsqlite3BtreeEnter(tls, p) rc = btreeDropTable(tls, p, uint32(iTable), piMoved) @@ -53914,7 +53933,7 @@ func Xsqlite3BtreeDropTable(tls *libc.TLS, p uintptr, iTable int32, piMoved uint // database file. It is a number computed by the pager. But its access // pattern is the same as header meta values, and so it is convenient to // read it from this routine. -func Xsqlite3BtreeGetMeta(tls *libc.TLS, p uintptr, idx int32, pMeta uintptr) { /* sqlite3.c:75981:21: */ +func Xsqlite3BtreeGetMeta(tls *libc.TLS, p uintptr, idx int32, pMeta uintptr) { /* sqlite3.c:75994:21: */ var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt Xsqlite3BtreeEnter(tls, p) @@ -53933,7 +53952,7 @@ func Xsqlite3BtreeGetMeta(tls *libc.TLS, p uintptr, idx int32, pMeta uintptr) { // Write meta-information back into the database. Meta[0] is // read-only and may not be written. -func Xsqlite3BtreeUpdateMeta(tls *libc.TLS, p uintptr, idx int32, iMeta U32) int32 { /* sqlite3.c:76011:20: */ +func Xsqlite3BtreeUpdateMeta(tls *libc.TLS, p uintptr, idx int32, iMeta U32) int32 { /* sqlite3.c:76024:20: */ var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt var pP1 uintptr var rc int32 @@ -53959,7 +53978,7 @@ func Xsqlite3BtreeUpdateMeta(tls *libc.TLS, p uintptr, idx int32, iMeta U32) int // SQLITE_OK is returned if the operation is successfully executed. // Otherwise, if an error is encountered (i.e. an IO error or database // corruption) an SQLite error code is returned. -func Xsqlite3BtreeCount(tls *libc.TLS, db uintptr, pCur uintptr, pnEntry uintptr) int32 { /* sqlite3.c:76043:20: */ +func Xsqlite3BtreeCount(tls *libc.TLS, db uintptr, pCur uintptr, pnEntry uintptr) int32 { /* sqlite3.c:76056:20: */ var nEntry I64 = int64(0) // Value to return in *pnEntry var rc int32 // Return code @@ -54022,12 +54041,12 @@ func Xsqlite3BtreeCount(tls *libc.TLS, db uintptr, pCur uintptr, pnEntry uintptr // Return the pager associated with a BTree. This routine is used for // testing and debugging only. -func Xsqlite3BtreePager(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:76112:22: */ +func Xsqlite3BtreePager(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:76125:22: */ return (*BtShared)(unsafe.Pointer((*Btree)(unsafe.Pointer(p)).FpBt)).FpPager } // Append a message to the error message string. -func checkAppendMsg(tls *libc.TLS, pCheck uintptr, zFormat uintptr, va uintptr) { /* sqlite3.c:76120:13: */ +func checkAppendMsg(tls *libc.TLS, pCheck uintptr, zFormat uintptr, va uintptr) { /* sqlite3.c:76133:13: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -54054,13 +54073,13 @@ func checkAppendMsg(tls *libc.TLS, pCheck uintptr, zFormat uintptr, va uintptr) // Return non-zero if the bit in the IntegrityCk.aPgRef[] array that // corresponds to page iPg is already set. -func getPageReferenced(tls *libc.TLS, pCheck uintptr, iPg Pgno) int32 { /* sqlite3.c:76150:12: */ +func getPageReferenced(tls *libc.TLS, pCheck uintptr, iPg Pgno) int32 { /* sqlite3.c:76163:12: */ return int32(*(*U8)(unsafe.Pointer((*IntegrityCk)(unsafe.Pointer(pCheck)).FaPgRef + uintptr(iPg/Pgno(8))))) & (int32(1) << (iPg & Pgno(0x07))) } // Set the bit in the IntegrityCk.aPgRef[] array that corresponds to page iPg. -func setPageReferenced(tls *libc.TLS, pCheck uintptr, iPg Pgno) { /* sqlite3.c:76158:13: */ +func setPageReferenced(tls *libc.TLS, pCheck uintptr, iPg Pgno) { /* sqlite3.c:76171:13: */ *(*U8)(unsafe.Pointer((*IntegrityCk)(unsafe.Pointer(pCheck)).FaPgRef + uintptr(iPg/Pgno(8)))) |= U8(int32(1) << (iPg & Pgno(0x07))) } @@ -54071,7 +54090,7 @@ func setPageReferenced(tls *libc.TLS, pCheck uintptr, iPg Pgno) { /* sqlite3.c:7 // if this is the first reference to the page. // // Also check that the page number is in bounds. -func checkRef(tls *libc.TLS, pCheck uintptr, iPage Pgno) int32 { /* sqlite3.c:76172:12: */ +func checkRef(tls *libc.TLS, pCheck uintptr, iPage Pgno) int32 { /* sqlite3.c:76185:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -54093,7 +54112,7 @@ func checkRef(tls *libc.TLS, pCheck uintptr, iPage Pgno) int32 { /* sqlite3.c:76 // Check that the entry in the pointer-map for page iChild maps to // page iParent, pointer type ptrType. If not, append an error message // to pCheck. -func checkPtrmap(tls *libc.TLS, pCheck uintptr, iChild Pgno, eType U8, iParent Pgno) { /* sqlite3.c:76192:13: */ +func checkPtrmap(tls *libc.TLS, pCheck uintptr, iChild Pgno, eType U8, iParent Pgno) { /* sqlite3.c:76205:13: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -54120,7 +54139,7 @@ func checkPtrmap(tls *libc.TLS, pCheck uintptr, iChild Pgno, eType U8, iParent P // Check the integrity of the freelist or of an overflow page list. // Verify that the number of pages on the list is N. -func checkList(tls *libc.TLS, pCheck uintptr, isFreeList int32, iPage Pgno, N U32) { /* sqlite3.c:76221:13: */ +func checkList(tls *libc.TLS, pCheck uintptr, isFreeList int32, iPage Pgno, N U32) { /* sqlite3.c:76234:13: */ bp := tls.Alloc(44) defer tls.Free(44) @@ -54204,7 +54223,7 @@ func checkList(tls *libc.TLS, pCheck uintptr, isFreeList int32, iPage Pgno, N U3 // entry represents the span of a cell or freeblock on a btree page. // The upper 16 bits are the index of the first byte of a range and the // lower 16 bits are the index of the last byte of that range. -func btreeHeapInsert(tls *libc.TLS, aHeap uintptr, x U32) { /* sqlite3.c:76310:13: */ +func btreeHeapInsert(tls *libc.TLS, aHeap uintptr, x U32) { /* sqlite3.c:76323:13: */ var j U32 var i U32 = libc.PreIncUint32(&*(*U32)(unsafe.Pointer(aHeap)), 1) *(*U32)(unsafe.Pointer(aHeap + uintptr(i)*4)) = x @@ -54216,7 +54235,7 @@ func btreeHeapInsert(tls *libc.TLS, aHeap uintptr, x U32) { /* sqlite3.c:76310:1 } } -func btreeHeapPull(tls *libc.TLS, aHeap uintptr, pOut uintptr) int32 { /* sqlite3.c:76320:12: */ +func btreeHeapPull(tls *libc.TLS, aHeap uintptr, pOut uintptr) int32 { /* sqlite3.c:76333:12: */ var j U32 var i U32 var x U32 @@ -54255,7 +54274,7 @@ func btreeHeapPull(tls *libc.TLS, aHeap uintptr, pOut uintptr) int32 { /* sqlite // 3. Check the integrity of overflow pages. // 4. Recursively call checkTreePage on all children. // 5. Verify that the depth of all children is the same. -func checkTreePage(tls *libc.TLS, pCheck uintptr, iPage Pgno, piMinKey uintptr, maxKey I64) int32 { /* sqlite3.c:76354:12: */ +func checkTreePage(tls *libc.TLS, pCheck uintptr, iPage Pgno, piMinKey uintptr, maxKey I64) int32 { /* sqlite3.c:76367:12: */ bp := tls.Alloc(140) defer tls.Free(140) *(*I64)(unsafe.Pointer(bp + 104)) = maxKey @@ -54644,7 +54663,7 @@ __34: // since obviously it is not possible to know which pages are covered by // the unverified btrees. Except, if aRoot[1] is 1, then the freelist // checks are still performed. -func Xsqlite3BtreeIntegrityCheck(tls *libc.TLS, db uintptr, p uintptr, aRoot uintptr, nRoot int32, mxErr int32, pnErr uintptr) uintptr { /* sqlite3.c:76633:21: */ +func Xsqlite3BtreeIntegrityCheck(tls *libc.TLS, db uintptr, p uintptr, aRoot uintptr, nRoot int32, mxErr int32, pnErr uintptr) uintptr { /* sqlite3.c:76646:21: */ bp := tls.Alloc(216) defer tls.Free(216) @@ -54878,7 +54897,7 @@ __29: // // The pager filename is invariant as long as the pager is // open so it is safe to access without the BtShared mutex. -func Xsqlite3BtreeGetFilename(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:76788:27: */ +func Xsqlite3BtreeGetFilename(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:76801:27: */ return Xsqlite3PagerFilename(tls, (*BtShared)(unsafe.Pointer((*Btree)(unsafe.Pointer(p)).FpBt)).FpPager, 1) } @@ -54889,14 +54908,14 @@ func Xsqlite3BtreeGetFilename(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:7 // // The pager journal filename is invariant as long as the pager is // open so it is safe to access without the BtShared mutex. -func Xsqlite3BtreeGetJournalname(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:76801:27: */ +func Xsqlite3BtreeGetJournalname(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:76814:27: */ return Xsqlite3PagerJournalname(tls, (*BtShared)(unsafe.Pointer((*Btree)(unsafe.Pointer(p)).FpBt)).FpPager) } // Return one of SQLITE_TXN_NONE, SQLITE_TXN_READ, or SQLITE_TXN_WRITE // to describe the current transaction state of Btree p. -func Xsqlite3BtreeTxnState(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:76810:20: */ +func Xsqlite3BtreeTxnState(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:76823:20: */ if p != 0 { return int32((*Btree)(unsafe.Pointer(p)).FinTrans) @@ -54910,7 +54929,7 @@ func Xsqlite3BtreeTxnState(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:76810: // transaction on the shared-cache the argument Btree is connected to. // // Parameter eMode is one of SQLITE_CHECKPOINT_PASSIVE, FULL or RESTART. -func Xsqlite3BtreeCheckpoint(tls *libc.TLS, p uintptr, eMode int32, pnLog uintptr, pnCkpt uintptr) int32 { /* sqlite3.c:76824:20: */ +func Xsqlite3BtreeCheckpoint(tls *libc.TLS, p uintptr, eMode int32, pnLog uintptr, pnCkpt uintptr) int32 { /* sqlite3.c:76837:20: */ var rc int32 = SQLITE_OK if p != 0 { var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt @@ -54926,7 +54945,7 @@ func Xsqlite3BtreeCheckpoint(tls *libc.TLS, p uintptr, eMode int32, pnLog uintpt } // Return true if there is currently a backup running on Btree p. -func Xsqlite3BtreeIsInBackup(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:76843:20: */ +func Xsqlite3BtreeIsInBackup(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:76856:20: */ return libc.Bool32((*Btree)(unsafe.Pointer(p)).FnBackup != 0) } @@ -54949,7 +54968,7 @@ func Xsqlite3BtreeIsInBackup(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:7684 // xFree argument when the memory allocation was made is invoked on the // blob of allocated memory. The xFree function should not call sqlite3_free() // on the memory, the btree layer does that. -func Xsqlite3BtreeSchema(tls *libc.TLS, p uintptr, nBytes int32, xFree uintptr) uintptr { /* sqlite3.c:76869:21: */ +func Xsqlite3BtreeSchema(tls *libc.TLS, p uintptr, nBytes int32, xFree uintptr) uintptr { /* sqlite3.c:76882:21: */ var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt Xsqlite3BtreeEnter(tls, p) if !(int32((*BtShared)(unsafe.Pointer(pBt)).FpSchema) != 0) && nBytes != 0 { @@ -54963,7 +54982,7 @@ func Xsqlite3BtreeSchema(tls *libc.TLS, p uintptr, nBytes int32, xFree uintptr) // Return SQLITE_LOCKED_SHAREDCACHE if another user of the same shared // btree as the argument handle holds an exclusive lock on the // sqlite_schema table. Otherwise SQLITE_OK. -func Xsqlite3BtreeSchemaLocked(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:76885:20: */ +func Xsqlite3BtreeSchemaLocked(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:76898:20: */ var rc int32 Xsqlite3BtreeEnter(tls, p) @@ -54976,7 +54995,7 @@ func Xsqlite3BtreeSchemaLocked(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:76 // Obtain a lock on the table whose root page is iTab. The // lock is a write lock if isWritelock is true or a read lock // if it is false. -func Xsqlite3BtreeLockTable(tls *libc.TLS, p uintptr, iTab int32, isWriteLock U8) int32 { /* sqlite3.c:76902:20: */ +func Xsqlite3BtreeLockTable(tls *libc.TLS, p uintptr, iTab int32, isWriteLock U8) int32 { /* sqlite3.c:76915:20: */ var rc int32 = SQLITE_OK if (*Btree)(unsafe.Pointer(p)).Fsharable != 0 { @@ -55000,7 +55019,7 @@ func Xsqlite3BtreeLockTable(tls *libc.TLS, p uintptr, iTab int32, isWriteLock U8 // change the length of the data stored. If this function is called with // parameters that attempt to write past the end of the existing data, // no modifications are made and SQLITE_CORRUPT is returned. -func Xsqlite3BtreePutData(tls *libc.TLS, pCsr uintptr, offset U32, amt U32, z uintptr) int32 { /* sqlite3.c:76932:20: */ +func Xsqlite3BtreePutData(tls *libc.TLS, pCsr uintptr, offset U32, amt U32, z uintptr) int32 { /* sqlite3.c:76945:20: */ var rc int32 rc = func() int32 { @@ -55040,7 +55059,7 @@ func Xsqlite3BtreePutData(tls *libc.TLS, pCsr uintptr, offset U32, amt U32, z ui } // Mark this cursor as an incremental blob cursor. -func Xsqlite3BtreeIncrblobCursor(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:76980:21: */ +func Xsqlite3BtreeIncrblobCursor(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:76993:21: */ *(*U8)(unsafe.Pointer(pCur + 1)) |= U8(BTCF_Incrblob) (*Btree)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pCur)).FpBtree)).FhasIncrblobCur = U8(1) } @@ -55048,7 +55067,7 @@ func Xsqlite3BtreeIncrblobCursor(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:769 // Set both the "read version" (single byte at byte offset 18) and // "write version" (single byte at byte offset 19) fields in the database // header to iVersion. -func Xsqlite3BtreeSetVersion(tls *libc.TLS, pBtree uintptr, iVersion int32) int32 { /* sqlite3.c:76991:20: */ +func Xsqlite3BtreeSetVersion(tls *libc.TLS, pBtree uintptr, iVersion int32) int32 { /* sqlite3.c:77004:20: */ var pBt uintptr = (*Btree)(unsafe.Pointer(pBtree)).FpBt var rc int32 // Return code @@ -55080,29 +55099,29 @@ func Xsqlite3BtreeSetVersion(tls *libc.TLS, pBtree uintptr, iVersion int32) int3 // Return true if the cursor has a hint specified. This routine is // only used from within assert() statements -func Xsqlite3BtreeCursorHasHint(tls *libc.TLS, pCsr uintptr, mask uint32) int32 { /* sqlite3.c:77026:20: */ +func Xsqlite3BtreeCursorHasHint(tls *libc.TLS, pCsr uintptr, mask uint32) int32 { /* sqlite3.c:77039:20: */ return libc.Bool32(uint32((*BtCursor)(unsafe.Pointer(pCsr)).Fhints)&mask != uint32(0)) } // Return true if the given Btree is read-only. -func Xsqlite3BtreeIsReadonly(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:77033:20: */ +func Xsqlite3BtreeIsReadonly(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:77046:20: */ return libc.Bool32(int32((*BtShared)(unsafe.Pointer((*Btree)(unsafe.Pointer(p)).FpBt)).FbtsFlags)&BTS_READ_ONLY != 0) } // Return the size of the header added to each page by this module. -func Xsqlite3HeaderSizeBtree(tls *libc.TLS) int32 { /* sqlite3.c:77040:20: */ +func Xsqlite3HeaderSizeBtree(tls *libc.TLS) int32 { /* sqlite3.c:77053:20: */ return int32((uint32(unsafe.Sizeof(MemPage{})) + uint32(7)) & libc.Uint32FromInt32(libc.CplInt32(7))) } // Return true if the Btree passed as the only argument is sharable. -func Xsqlite3BtreeSharable(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:77046:20: */ +func Xsqlite3BtreeSharable(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:77059:20: */ return int32((*Btree)(unsafe.Pointer(p)).Fsharable) } // Return the number of connections to the BtShared object accessed by // the Btree handle passed as the only argument. For private caches // this is always 1. For shared caches it may be 1 or greater. -func Xsqlite3BtreeConnectionCount(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:77055:20: */ +func Xsqlite3BtreeConnectionCount(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:77068:20: */ return (*BtShared)(unsafe.Pointer((*Btree)(unsafe.Pointer(p)).FpBt)).FnRef } @@ -55142,7 +55161,7 @@ func Xsqlite3BtreeConnectionCount(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c // If the "temp" database is requested, it may need to be opened by this // function. If an error occurs while doing so, return 0 and write an // error message to pErrorDb. -func findBtree(tls *libc.TLS, pErrorDb uintptr, pDb uintptr, zDb uintptr) uintptr { /* sqlite3.c:77144:14: */ +func findBtree(tls *libc.TLS, pErrorDb uintptr, pDb uintptr, zDb uintptr) uintptr { /* sqlite3.c:77157:14: */ bp := tls.Alloc(288) defer tls.Free(288) @@ -55174,7 +55193,7 @@ func findBtree(tls *libc.TLS, pErrorDb uintptr, pDb uintptr, zDb uintptr) uintpt // Attempt to set the page size of the destination to match the page size // of the source. -func setDestPgsz(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:77174:12: */ +func setDestPgsz(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:77187:12: */ var rc int32 rc = Xsqlite3BtreeSetPageSize(tls, (*Sqlite3_backup)(unsafe.Pointer(p)).FpDest, Xsqlite3BtreeGetPageSize(tls, (*Sqlite3_backup)(unsafe.Pointer(p)).FpSrc), 0, 0) return rc @@ -55184,7 +55203,7 @@ func setDestPgsz(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:77174:12: */ // second argument. If there is not, return SQLITE_OK. Otherwise, if there // is an open read-transaction, return SQLITE_ERROR and leave an error // message in database handle db. -func checkReadTransaction(tls *libc.TLS, db uintptr, p uintptr) int32 { /* sqlite3.c:77186:12: */ +func checkReadTransaction(tls *libc.TLS, db uintptr, p uintptr) int32 { /* sqlite3.c:77199:12: */ if Xsqlite3BtreeTxnState(tls, p) != SQLITE_TXN_NONE { Xsqlite3ErrorWithMsg(tls, db, SQLITE_ERROR, ts+4805, 0) return SQLITE_ERROR @@ -55198,7 +55217,7 @@ func checkReadTransaction(tls *libc.TLS, db uintptr, p uintptr) int32 { /* sqlit // // If an error occurs, NULL is returned and an error code and error message // stored in database handle pDestDb. -func Xsqlite3_backup_init(tls *libc.TLS, pDestDb uintptr, zDestDb uintptr, pSrcDb uintptr, zSrcDb uintptr) uintptr { /* sqlite3.c:77202:27: */ +func Xsqlite3_backup_init(tls *libc.TLS, pDestDb uintptr, zDestDb uintptr, pSrcDb uintptr, zSrcDb uintptr) uintptr { /* sqlite3.c:77215:27: */ var p uintptr // Value to return // Lock the source database handle. The destination database @@ -55258,14 +55277,14 @@ func Xsqlite3_backup_init(tls *libc.TLS, pDestDb uintptr, zDestDb uintptr, pSrcD // Argument rc is an SQLite error code. Return true if this error is // considered fatal if encountered during a backup operation. All errors // are considered fatal except for SQLITE_BUSY and SQLITE_LOCKED. -func isFatalError(tls *libc.TLS, rc int32) int32 { /* sqlite3.c:77279:12: */ +func isFatalError(tls *libc.TLS, rc int32) int32 { /* sqlite3.c:77292:12: */ return libc.Bool32(rc != SQLITE_OK && rc != SQLITE_BUSY && rc != SQLITE_LOCKED) } // Parameter zSrcData points to a buffer containing the data for // page iSrcPg from the source database. Copy this data into the // destination database. -func backupOnePage(tls *libc.TLS, p uintptr, iSrcPg Pgno, zSrcData uintptr, bUpdate int32) int32 { /* sqlite3.c:77288:12: */ +func backupOnePage(tls *libc.TLS, p uintptr, iSrcPg Pgno, zSrcData uintptr, bUpdate int32) int32 { /* sqlite3.c:77301:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -55327,7 +55346,7 @@ func backupOnePage(tls *libc.TLS, p uintptr, iSrcPg Pgno, zSrcData uintptr, bUpd // // Return SQLITE_OK if everything is successful, or an SQLite error // code if an error occurs. -func backupTruncateFile(tls *libc.TLS, pFile uintptr, iSize I64) int32 { /* sqlite3.c:77357:12: */ +func backupTruncateFile(tls *libc.TLS, pFile uintptr, iSize I64) int32 { /* sqlite3.c:77370:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -55342,7 +55361,7 @@ func backupTruncateFile(tls *libc.TLS, pFile uintptr, iSize I64) int32 { /* sqli // Register this backup object with the associated source pager for // callbacks when pages are changed or the cache invalidated. -func attachBackupObject(tls *libc.TLS, p uintptr) { /* sqlite3.c:77370:13: */ +func attachBackupObject(tls *libc.TLS, p uintptr) { /* sqlite3.c:77383:13: */ var pp uintptr pp = Xsqlite3PagerBackupPtr(tls, Xsqlite3BtreePager(tls, (*Sqlite3_backup)(unsafe.Pointer(p)).FpSrc)) @@ -55352,7 +55371,7 @@ func attachBackupObject(tls *libc.TLS, p uintptr) { /* sqlite3.c:77370:13: */ } // Copy nPage pages from the source b-tree to the destination. -func Xsqlite3_backup_step(tls *libc.TLS, p uintptr, nPage int32) int32 { /* sqlite3.c:77382:16: */ +func Xsqlite3_backup_step(tls *libc.TLS, p uintptr, nPage int32) int32 { /* sqlite3.c:77395:16: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -55590,7 +55609,7 @@ func Xsqlite3_backup_step(tls *libc.TLS, p uintptr, nPage int32) int32 { /* sqli } // Release all resources associated with an sqlite3_backup* handle. -func Xsqlite3_backup_finish(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:77636:16: */ +func Xsqlite3_backup_finish(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:77649:16: */ var pp uintptr // Ptr to head of pagers backup list var pSrcDb uintptr // Source database connection var rc int32 // Value to return @@ -55648,13 +55667,13 @@ func Xsqlite3_backup_finish(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:77636 // Return the number of pages still to be backed up as of the most recent // call to sqlite3_backup_step(). -func Xsqlite3_backup_remaining(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:77690:16: */ +func Xsqlite3_backup_remaining(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:77703:16: */ return int32((*Sqlite3_backup)(unsafe.Pointer(p)).FnRemaining) } // Return the total number of pages in the source database as of the most // recent call to sqlite3_backup_step(). -func Xsqlite3_backup_pagecount(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:77704:16: */ +func Xsqlite3_backup_pagecount(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:77717:16: */ return int32((*Sqlite3_backup)(unsafe.Pointer(p)).FnPagecount) } @@ -55668,7 +55687,7 @@ func Xsqlite3_backup_pagecount(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:77 // It is assumed that the mutex associated with the BtShared object // corresponding to the source database is held when this function is // called. -func backupUpdate(tls *libc.TLS, p uintptr, iPage Pgno, aData uintptr) { /* sqlite3.c:77726:29: */ +func backupUpdate(tls *libc.TLS, p uintptr, iPage Pgno, aData uintptr) { /* sqlite3.c:77739:29: */ for __ccgo := true; __ccgo; __ccgo = libc.AssignUintptr(&p, (*Sqlite3_backup)(unsafe.Pointer(p)).FpNext) != uintptr(0) { @@ -55689,7 +55708,7 @@ func backupUpdate(tls *libc.TLS, p uintptr, iPage Pgno, aData uintptr) { /* sqli } } -func Xsqlite3BackupUpdate(tls *libc.TLS, pBackup uintptr, iPage Pgno, aData uintptr) { /* sqlite3.c:77751:21: */ +func Xsqlite3BackupUpdate(tls *libc.TLS, pBackup uintptr, iPage Pgno, aData uintptr) { /* sqlite3.c:77764:21: */ if pBackup != 0 { backupUpdate(tls, pBackup, iPage, aData) } @@ -55704,7 +55723,7 @@ func Xsqlite3BackupUpdate(tls *libc.TLS, pBackup uintptr, iPage Pgno, aData uint // It is assumed that the mutex associated with the BtShared object // corresponding to the source database is held when this function is // called. -func Xsqlite3BackupRestart(tls *libc.TLS, pBackup uintptr) { /* sqlite3.c:77766:21: */ +func Xsqlite3BackupRestart(tls *libc.TLS, pBackup uintptr) { /* sqlite3.c:77779:21: */ var p uintptr // Iterator variable for p = pBackup; p != 0; p = (*Sqlite3_backup)(unsafe.Pointer(p)).FpNext { @@ -55718,7 +55737,7 @@ func Xsqlite3BackupRestart(tls *libc.TLS, pBackup uintptr) { /* sqlite3.c:77766: // The size of file pTo may be reduced by this operation. If anything // goes wrong, the transaction on pTo is rolled back. If successful, the // transaction is committed before returning. -func Xsqlite3BtreeCopyFile(tls *libc.TLS, pTo uintptr, pFrom uintptr) int32 { /* sqlite3.c:77783:20: */ +func Xsqlite3BtreeCopyFile(tls *libc.TLS, pTo uintptr, pFrom uintptr) int32 { /* sqlite3.c:77796:20: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -55812,7 +55831,7 @@ copy_finished: // Render a Mem object which is one of MEM_Int, MEM_Real, or MEM_IntReal // into a buffer. -func vdbeMemRenderNum(tls *libc.TLS, sz int32, zBuf uintptr, p uintptr) { /* sqlite3.c:77941:13: */ +func vdbeMemRenderNum(tls *libc.TLS, sz int32, zBuf uintptr, p uintptr) { /* sqlite3.c:77954:13: */ bp := tls.Alloc(40) defer tls.Free(40) @@ -55850,7 +55869,7 @@ func vdbeMemRenderNum(tls *libc.TLS, sz int32, zBuf uintptr, p uintptr) { /* sql // SQLITE_OK is returned if the conversion is successful (or not required). // SQLITE_NOMEM may be returned if a malloc() fails during conversion // between formats. -func Xsqlite3VdbeChangeEncoding(tls *libc.TLS, pMem uintptr, desiredEnc int32) int32 { /* sqlite3.c:78034:20: */ +func Xsqlite3VdbeChangeEncoding(tls *libc.TLS, pMem uintptr, desiredEnc int32) int32 { /* sqlite3.c:78047:20: */ var rc int32 if !(int32((*Mem)(unsafe.Pointer(pMem)).Fflags)&MEM_Str != 0) || int32((*Mem)(unsafe.Pointer(pMem)).Fenc) == desiredEnc { @@ -55870,7 +55889,7 @@ func Xsqlite3VdbeChangeEncoding(tls *libc.TLS, pMem uintptr, desiredEnc int32) i // pMem->z into the new allocation. pMem must be either a string or // blob if bPreserve is true. If bPreserve is false, any prior content // in pMem->z is discarded. -func Xsqlite3VdbeMemGrow(tls *libc.TLS, pMem uintptr, n int32, bPreserve int32) int32 { /* sqlite3.c:78069:36: */ +func Xsqlite3VdbeMemGrow(tls *libc.TLS, pMem uintptr, n int32, bPreserve int32) int32 { /* sqlite3.c:78082:36: */ // If the bPreserve flag is set to true, then the memory cell must already // contain a valid string or blob value. @@ -55926,7 +55945,7 @@ func Xsqlite3VdbeMemGrow(tls *libc.TLS, pMem uintptr, n int32, bPreserve int32) // // Return SQLITE_OK on success or an error code (probably SQLITE_NOMEM) // if unable to complete the resizing. -func Xsqlite3VdbeMemClearAndResize(tls *libc.TLS, pMem uintptr, szNew int32) int32 { /* sqlite3.c:78132:20: */ +func Xsqlite3VdbeMemClearAndResize(tls *libc.TLS, pMem uintptr, szNew int32) int32 { /* sqlite3.c:78145:20: */ if (*Mem)(unsafe.Pointer(pMem)).FszMalloc < szNew { return Xsqlite3VdbeMemGrow(tls, pMem, szNew, 0) @@ -55944,7 +55963,7 @@ func Xsqlite3VdbeMemClearAndResize(tls *libc.TLS, pMem uintptr, szNew int32) int // to be a double-zero byte at an even byte boundary in order to // terminate a UTF16 string, even if the initial size of the buffer // is an odd number of bytes. -func vdbeMemAddTerminator(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c:78153:28: */ +func vdbeMemAddTerminator(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c:78166:28: */ if Xsqlite3VdbeMemGrow(tls, pMem, (*Mem)(unsafe.Pointer(pMem)).Fn+3, 1) != 0 { return SQLITE_NOMEM } @@ -55959,7 +55978,7 @@ func vdbeMemAddTerminator(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c:7815 // MEM.zMalloc, where it can be safely written. // // Return SQLITE_OK on success or SQLITE_NOMEM if malloc fails. -func Xsqlite3VdbeMemMakeWriteable(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c:78170:20: */ +func Xsqlite3VdbeMemMakeWriteable(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c:78183:20: */ if int32((*Mem)(unsafe.Pointer(pMem)).Fflags)&(MEM_Str|MEM_Blob) != 0 { if func() int32 { @@ -55984,7 +56003,7 @@ func Xsqlite3VdbeMemMakeWriteable(tls *libc.TLS, pMem uintptr) int32 { /* sqlite // If the given Mem* has a zero-filled tail, turn it into an ordinary // blob stored in dynamically allocated space. -func Xsqlite3VdbeMemExpandBlob(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c:78194:20: */ +func Xsqlite3VdbeMemExpandBlob(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c:78207:20: */ var nByte int32 // Set nByte to the number of bytes required to store the expanded blob. @@ -56006,7 +56025,7 @@ func Xsqlite3VdbeMemExpandBlob(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c } // Make sure the given Mem is \u0000 terminated. -func Xsqlite3VdbeMemNulTerminate(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c:78225:20: */ +func Xsqlite3VdbeMemNulTerminate(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c:78238:20: */ if int32((*Mem)(unsafe.Pointer(pMem)).Fflags)&(MEM_Term|MEM_Str) != MEM_Str { return SQLITE_OK // Nothing to do @@ -56028,7 +56047,7 @@ func Xsqlite3VdbeMemNulTerminate(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3 // sqlite3_value_text()), or for ensuring that values to be used as btree // keys are strings. In the former case a NULL pointer is returned the // user and the latter is an internal programming error. -func Xsqlite3VdbeMemStringify(tls *libc.TLS, pMem uintptr, enc U8, bForce U8) int32 { /* sqlite3.c:78251:20: */ +func Xsqlite3VdbeMemStringify(tls *libc.TLS, pMem uintptr, enc U8, bForce U8) int32 { /* sqlite3.c:78264:20: */ var nByte int32 = 32 if Xsqlite3VdbeMemClearAndResize(tls, pMem, nByte) != 0 { @@ -56054,7 +56073,7 @@ func Xsqlite3VdbeMemStringify(tls *libc.TLS, pMem uintptr, enc U8, bForce U8) in // // Return SQLITE_ERROR if the finalizer reports an error. SQLITE_OK // otherwise. -func Xsqlite3VdbeMemFinalize(tls *libc.TLS, pMem uintptr, pFunc uintptr) int32 { /* sqlite3.c:78286:20: */ +func Xsqlite3VdbeMemFinalize(tls *libc.TLS, pMem uintptr, pFunc uintptr) int32 { /* sqlite3.c:78299:20: */ bp := tls.Alloc(72) defer tls.Free(72) @@ -56084,7 +56103,7 @@ func Xsqlite3VdbeMemFinalize(tls *libc.TLS, pMem uintptr, pFunc uintptr) int32 { // // SQLITE_ERROR is returned if xValue() reports an error. SQLITE_OK // otherwise. -func Xsqlite3VdbeMemAggValue(tls *libc.TLS, pAccum uintptr, pOut uintptr, pFunc uintptr) int32 { /* sqlite3.c:78317:20: */ +func Xsqlite3VdbeMemAggValue(tls *libc.TLS, pAccum uintptr, pOut uintptr, pFunc uintptr) int32 { /* sqlite3.c:78330:20: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -56106,7 +56125,7 @@ func Xsqlite3VdbeMemAggValue(tls *libc.TLS, pAccum uintptr, pOut uintptr, pFunc // This is a helper routine for sqlite3VdbeMemSetNull() and // for sqlite3VdbeMemRelease(). Use those other routines as the // entry point for releasing Mem resources. -func vdbeMemClearExternAndSetNull(tls *libc.TLS, p uintptr) { /* sqlite3.c:78342:29: */ +func vdbeMemClearExternAndSetNull(tls *libc.TLS, p uintptr) { /* sqlite3.c:78355:29: */ if int32((*Mem)(unsafe.Pointer(p)).Fflags)&MEM_Agg != 0 { Xsqlite3VdbeMemFinalize(tls, p, *(*uintptr)(unsafe.Pointer(p))) @@ -56125,7 +56144,7 @@ func vdbeMemClearExternAndSetNull(tls *libc.TLS, p uintptr) { /* sqlite3.c:78342 // This is a helper routine invoked by sqlite3VdbeMemRelease() in // the unusual case where there really is memory in p that needs // to be freed. -func vdbeMemClear(tls *libc.TLS, p uintptr) { /* sqlite3.c:78365:29: */ +func vdbeMemClear(tls *libc.TLS, p uintptr) { /* sqlite3.c:78378:29: */ if int32((*Mem)(unsafe.Pointer(p)).Fflags)&(MEM_Agg|MEM_Dyn) != 0 { vdbeMemClearExternAndSetNull(tls, p) } @@ -56144,7 +56163,7 @@ func vdbeMemClear(tls *libc.TLS, p uintptr) { /* sqlite3.c:78365:29: */ // // Use sqlite3VdbeMemSetNull() to release just the Mem.xDel space // prior to inserting new content into the Mem. -func Xsqlite3VdbeMemRelease(tls *libc.TLS, p uintptr) { /* sqlite3.c:78386:21: */ +func Xsqlite3VdbeMemRelease(tls *libc.TLS, p uintptr) { /* sqlite3.c:78399:21: */ if int32((*Mem)(unsafe.Pointer(p)).Fflags)&(MEM_Agg|MEM_Dyn) != 0 || (*Mem)(unsafe.Pointer(p)).FszMalloc != 0 { vdbeMemClear(tls, p) @@ -56154,7 +56173,7 @@ func Xsqlite3VdbeMemRelease(tls *libc.TLS, p uintptr) { /* sqlite3.c:78386:21: * // Convert a 64-bit IEEE double into a 64-bit signed integer. // If the double is out of range of a 64-bit signed integer then // return the closest available 64-bit signed integer. -func doubleToInt64(tls *libc.TLS, r float64) I64 { /* sqlite3.c:78398:28: */ +func doubleToInt64(tls *libc.TLS, r float64) I64 { /* sqlite3.c:78411:28: */ if r <= float64(minInt) { return minInt @@ -56166,8 +56185,8 @@ func doubleToInt64(tls *libc.TLS, r float64) I64 { /* sqlite3.c:78398:28: */ return I64(0) } -var maxInt I64 = int64(0xffffffff) | I64(int64(0x7fffffff))<<32 /* sqlite3.c:78410:20 */ -var minInt I64 = int64(-1) - (int64(0xffffffff) | I64(int64(0x7fffffff))<<32) /* sqlite3.c:78411:20 */ +var maxInt I64 = int64(0xffffffff) | I64(int64(0x7fffffff))<<32 /* sqlite3.c:78423:20 */ +var minInt I64 = int64(-1) - (int64(0xffffffff) | I64(int64(0x7fffffff))<<32) /* sqlite3.c:78424:20 */ // Return some kind of integer value which is the best we can do // at representing the value that *pMem describes as an integer. @@ -56178,7 +56197,7 @@ var minInt I64 = int64(-1) - (int64(0xffffffff) | I64(int64(0x7fffffff))<<32) /* // an SQL-NULL value, return 0. // // If pMem represents a string value, its encoding might be changed. -func memIntValue(tls *libc.TLS, pMem uintptr) I64 { /* sqlite3.c:78434:28: */ +func memIntValue(tls *libc.TLS, pMem uintptr) I64 { /* sqlite3.c:78447:28: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -56187,7 +56206,7 @@ func memIntValue(tls *libc.TLS, pMem uintptr) I64 { /* sqlite3.c:78434:28: */ return *(*I64)(unsafe.Pointer(bp /* value */)) } -func Xsqlite3VdbeIntValue(tls *libc.TLS, pMem uintptr) I64 { /* sqlite3.c:78439:20: */ +func Xsqlite3VdbeIntValue(tls *libc.TLS, pMem uintptr) I64 { /* sqlite3.c:78452:20: */ var flags int32 flags = int32((*Mem)(unsafe.Pointer(pMem)).Fflags) @@ -56208,7 +56227,7 @@ func Xsqlite3VdbeIntValue(tls *libc.TLS, pMem uintptr) I64 { /* sqlite3.c:78439: // double. If pMem is already a double or an integer, return its // value. If it is a string or blob, try to convert it to a double. // If it is a NULL, return 0.0. -func memRealValue(tls *libc.TLS, pMem uintptr) float64 { /* sqlite3.c:78463:31: */ +func memRealValue(tls *libc.TLS, pMem uintptr) float64 { /* sqlite3.c:78476:31: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -56218,7 +56237,7 @@ func memRealValue(tls *libc.TLS, pMem uintptr) float64 { /* sqlite3.c:78463:31: return *(*float64)(unsafe.Pointer(bp /* val */)) } -func Xsqlite3VdbeRealValue(tls *libc.TLS, pMem uintptr) float64 { /* sqlite3.c:78469:23: */ +func Xsqlite3VdbeRealValue(tls *libc.TLS, pMem uintptr) float64 { /* sqlite3.c:78482:23: */ if int32((*Mem)(unsafe.Pointer(pMem)).Fflags)&MEM_Real != 0 { return *(*float64)(unsafe.Pointer(pMem)) @@ -56236,7 +56255,7 @@ func Xsqlite3VdbeRealValue(tls *libc.TLS, pMem uintptr) float64 { /* sqlite3.c:7 // Return 1 if pMem represents true, and return 0 if pMem represents false. // Return the value ifNull if pMem is NULL. -func Xsqlite3VdbeBooleanValue(tls *libc.TLS, pMem uintptr, ifNull int32) int32 { /* sqlite3.c:78490:20: */ +func Xsqlite3VdbeBooleanValue(tls *libc.TLS, pMem uintptr, ifNull int32) int32 { /* sqlite3.c:78503:20: */ if int32((*Mem)(unsafe.Pointer(pMem)).Fflags)&(MEM_Int|MEM_IntReal) != 0 { return libc.Bool32(*(*I64)(unsafe.Pointer(pMem)) != int64(0)) @@ -56249,7 +56268,7 @@ func Xsqlite3VdbeBooleanValue(tls *libc.TLS, pMem uintptr, ifNull int32) int32 { // The MEM structure is already a MEM_Real. Try to also make it a // MEM_Int if we can. -func Xsqlite3VdbeIntegerAffinity(tls *libc.TLS, pMem uintptr) { /* sqlite3.c:78501:21: */ +func Xsqlite3VdbeIntegerAffinity(tls *libc.TLS, pMem uintptr) { /* sqlite3.c:78514:21: */ var ix I64 ix = doubleToInt64(tls, *(*float64)(unsafe.Pointer(pMem))) @@ -56270,7 +56289,7 @@ func Xsqlite3VdbeIntegerAffinity(tls *libc.TLS, pMem uintptr) { /* sqlite3.c:785 } // Convert pMem to type integer. Invalidate any prior representations. -func Xsqlite3VdbeMemIntegerify(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c:78530:20: */ +func Xsqlite3VdbeMemIntegerify(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c:78543:20: */ *(*I64)(unsafe.Pointer(pMem)) = Xsqlite3VdbeIntValue(tls, pMem) (*Mem)(unsafe.Pointer(pMem)).Fflags = U16(int32((*Mem)(unsafe.Pointer(pMem)).Fflags)&libc.CplInt32(MEM_TypeMask|MEM_Zero) | MEM_Int) @@ -56279,7 +56298,7 @@ func Xsqlite3VdbeMemIntegerify(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c // Convert pMem so that it is of type MEM_Real. // Invalidate any prior representations. -func Xsqlite3VdbeMemRealify(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c:78545:20: */ +func Xsqlite3VdbeMemRealify(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c:78558:20: */ *(*float64)(unsafe.Pointer(pMem)) = Xsqlite3VdbeRealValue(tls, pMem) (*Mem)(unsafe.Pointer(pMem)).Fflags = U16(int32((*Mem)(unsafe.Pointer(pMem)).Fflags)&libc.CplInt32(MEM_TypeMask|MEM_Zero) | MEM_Real) @@ -56294,7 +56313,7 @@ func Xsqlite3VdbeMemRealify(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c:78 // For some versions of GCC on 32-bit machines, if you do the more obvious // comparison of "r1==(double)i" you sometimes get an answer of false even // though the r1 and (double)i values are bit-for-bit the same. -func Xsqlite3RealSameAsInt(tls *libc.TLS, r1 float64, i Sqlite3_int64) int32 { /* sqlite3.c:78564:20: */ +func Xsqlite3RealSameAsInt(tls *libc.TLS, r1 float64, i Sqlite3_int64) int32 { /* sqlite3.c:78577:20: */ bp := tls.Alloc(16) defer tls.Free(16) *(*float64)(unsafe.Pointer(bp)) = r1 @@ -56311,7 +56330,7 @@ func Xsqlite3RealSameAsInt(tls *libc.TLS, r1 float64, i Sqlite3_int64) int32 { / // Every effort is made to force the conversion, even if the input // is a string that does not look completely like a number. Convert // as much of the string as we can and ignore the rest. -func Xsqlite3VdbeMemNumerify(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c:78579:20: */ +func Xsqlite3VdbeMemNumerify(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c:78592:20: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -56338,7 +56357,7 @@ func Xsqlite3VdbeMemNumerify(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c:7 // is forced. In other words, the value is converted into the desired // affinity even if that results in loss of data. This routine is // used (for example) to implement the SQL "cast()" operator. -func Xsqlite3VdbeMemCast(tls *libc.TLS, pMem uintptr, aff U8, encoding U8) int32 { /* sqlite3.c:78612:20: */ +func Xsqlite3VdbeMemCast(tls *libc.TLS, pMem uintptr, aff U8, encoding U8) int32 { /* sqlite3.c:78625:20: */ if int32((*Mem)(unsafe.Pointer(pMem)).Fflags)&MEM_Null != 0 { return SQLITE_OK } @@ -56392,7 +56411,7 @@ func Xsqlite3VdbeMemCast(tls *libc.TLS, pMem uintptr, aff U8, encoding U8) int32 // Initialize bulk memory to be a consistent Mem object. // // The minimum amount of initialization feasible is performed. -func Xsqlite3VdbeMemInit(tls *libc.TLS, pMem uintptr, db uintptr, flags U16) { /* sqlite3.c:78655:21: */ +func Xsqlite3VdbeMemInit(tls *libc.TLS, pMem uintptr, db uintptr, flags U16) { /* sqlite3.c:78668:21: */ (*Mem)(unsafe.Pointer(pMem)).Fflags = flags (*Mem)(unsafe.Pointer(pMem)).Fdb = db @@ -56409,7 +56428,7 @@ func Xsqlite3VdbeMemInit(tls *libc.TLS, pMem uintptr, db uintptr, flags U16) { / // Use this routine to reset the Mem prior to insert a new value. // // Use sqlite3VdbeMemRelease() to complete erase the Mem prior to abandoning it. -func Xsqlite3VdbeMemSetNull(tls *libc.TLS, pMem uintptr) { /* sqlite3.c:78675:21: */ +func Xsqlite3VdbeMemSetNull(tls *libc.TLS, pMem uintptr) { /* sqlite3.c:78688:21: */ if int32((*Mem)(unsafe.Pointer(pMem)).Fflags)&(MEM_Agg|MEM_Dyn) != 0 { vdbeMemClearExternAndSetNull(tls, pMem) } else { @@ -56417,13 +56436,13 @@ func Xsqlite3VdbeMemSetNull(tls *libc.TLS, pMem uintptr) { /* sqlite3.c:78675:21 } } -func Xsqlite3ValueSetNull(tls *libc.TLS, p uintptr) { /* sqlite3.c:78682:21: */ +func Xsqlite3ValueSetNull(tls *libc.TLS, p uintptr) { /* sqlite3.c:78695:21: */ Xsqlite3VdbeMemSetNull(tls, p) } // Delete any previous value and set the value to be a BLOB of length // n containing all zeros. -func Xsqlite3VdbeMemSetZeroBlob(tls *libc.TLS, pMem uintptr, n int32) { /* sqlite3.c:78691:21: */ +func Xsqlite3VdbeMemSetZeroBlob(tls *libc.TLS, pMem uintptr, n int32) { /* sqlite3.c:78704:21: */ Xsqlite3VdbeMemRelease(tls, pMem) (*Mem)(unsafe.Pointer(pMem)).Fflags = U16(MEM_Blob | MEM_Zero) (*Mem)(unsafe.Pointer(pMem)).Fn = 0 @@ -56438,7 +56457,7 @@ func Xsqlite3VdbeMemSetZeroBlob(tls *libc.TLS, pMem uintptr, n int32) { /* sqlit // The pMem is known to contain content that needs to be destroyed prior // to a value change. So invoke the destructor, then set the value to // a 64-bit integer. -func vdbeReleaseAndSetInt64(tls *libc.TLS, pMem uintptr, val I64) { /* sqlite3.c:78721:29: */ +func vdbeReleaseAndSetInt64(tls *libc.TLS, pMem uintptr, val I64) { /* sqlite3.c:78734:29: */ Xsqlite3VdbeMemSetNull(tls, pMem) *(*I64)(unsafe.Pointer(pMem)) = val (*Mem)(unsafe.Pointer(pMem)).Fflags = U16(MEM_Int) @@ -56446,7 +56465,7 @@ func vdbeReleaseAndSetInt64(tls *libc.TLS, pMem uintptr, val I64) { /* sqlite3.c // Delete any previous value and set the value stored in *pMem to val, // manifest type INTEGER. -func Xsqlite3VdbeMemSetInt64(tls *libc.TLS, pMem uintptr, val I64) { /* sqlite3.c:78731:21: */ +func Xsqlite3VdbeMemSetInt64(tls *libc.TLS, pMem uintptr, val I64) { /* sqlite3.c:78744:21: */ if int32((*Mem)(unsafe.Pointer(pMem)).Fflags)&(MEM_Agg|MEM_Dyn) != 0 { vdbeReleaseAndSetInt64(tls, pMem, val) } else { @@ -56456,13 +56475,13 @@ func Xsqlite3VdbeMemSetInt64(tls *libc.TLS, pMem uintptr, val I64) { /* sqlite3. } // A no-op destructor -func Xsqlite3NoopDestructor(tls *libc.TLS, p uintptr) { /* sqlite3.c:78741:21: */ +func Xsqlite3NoopDestructor(tls *libc.TLS, p uintptr) { /* sqlite3.c:78754:21: */ _ = p } // Set the value stored in *pMem should already be a NULL. // Also store a pointer to go with it. -func Xsqlite3VdbeMemSetPointer(tls *libc.TLS, pMem uintptr, pPtr uintptr, zPType uintptr, xDestructor uintptr) { /* sqlite3.c:78747:21: */ +func Xsqlite3VdbeMemSetPointer(tls *libc.TLS, pMem uintptr, pPtr uintptr, zPType uintptr, xDestructor uintptr) { /* sqlite3.c:78760:21: */ vdbeMemClear(tls, pMem) *(*uintptr)(unsafe.Pointer(pMem)) = func() uintptr { @@ -56484,7 +56503,7 @@ func Xsqlite3VdbeMemSetPointer(tls *libc.TLS, pMem uintptr, pPtr uintptr, zPType // Delete any previous value and set the value stored in *pMem to val, // manifest type REAL. -func Xsqlite3VdbeMemSetDouble(tls *libc.TLS, pMem uintptr, val float64) { /* sqlite3.c:78767:21: */ +func Xsqlite3VdbeMemSetDouble(tls *libc.TLS, pMem uintptr, val float64) { /* sqlite3.c:78780:21: */ Xsqlite3VdbeMemSetNull(tls, pMem) if !(Xsqlite3IsNaN(tls, val) != 0) { *(*float64)(unsafe.Pointer(pMem)) = val @@ -56497,7 +56516,7 @@ func Xsqlite3VdbeMemSetDouble(tls *libc.TLS, pMem uintptr, val float64) { /* sql // // Return SQLITE_OK on success and SQLITE_NOMEM if a memory allocation // error occurs. -func Xsqlite3VdbeMemSetRowSet(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c:78794:20: */ +func Xsqlite3VdbeMemSetRowSet(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c:78807:20: */ var db uintptr = (*Mem)(unsafe.Pointer(pMem)).Fdb var p uintptr @@ -56514,7 +56533,7 @@ func Xsqlite3VdbeMemSetRowSet(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c: // Return true if the Mem object contains a TEXT or BLOB that is // too large - whose size exceeds SQLITE_MAX_LENGTH. -func Xsqlite3VdbeMemTooBig(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:78812:20: */ +func Xsqlite3VdbeMemTooBig(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:78825:20: */ if int32((*Mem)(unsafe.Pointer(p)).Fflags)&(MEM_Str|MEM_Blob) != 0 { var n int32 = (*Mem)(unsafe.Pointer(p)).Fn @@ -56530,13 +56549,13 @@ func Xsqlite3VdbeMemTooBig(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:78812: // pTo are freed. The pFrom->z field is not duplicated. If // pFrom->z is used, then pTo->z points to the same thing as pFrom->z // and flags gets srcType (either MEM_Ephem or MEM_Static). -func vdbeClrCopy(tls *libc.TLS, pTo uintptr, pFrom uintptr, eType int32) { /* sqlite3.c:78868:29: */ +func vdbeClrCopy(tls *libc.TLS, pTo uintptr, pFrom uintptr, eType int32) { /* sqlite3.c:78881:29: */ vdbeMemClearExternAndSetNull(tls, pTo) Xsqlite3VdbeMemShallowCopy(tls, pTo, pFrom, eType) } -func Xsqlite3VdbeMemShallowCopy(tls *libc.TLS, pTo uintptr, pFrom uintptr, srcType int32) { /* sqlite3.c:78873:21: */ +func Xsqlite3VdbeMemShallowCopy(tls *libc.TLS, pTo uintptr, pFrom uintptr, srcType int32) { /* sqlite3.c:78886:21: */ if int32((*Mem)(unsafe.Pointer(pTo)).Fflags)&(MEM_Agg|MEM_Dyn) != 0 { vdbeClrCopy(tls, pTo, pFrom, srcType) @@ -56552,7 +56571,7 @@ func Xsqlite3VdbeMemShallowCopy(tls *libc.TLS, pTo uintptr, pFrom uintptr, srcTy // Make a full copy of pFrom into pTo. Prior contents of pTo are // freed before the copy is made. -func Xsqlite3VdbeMemCopy(tls *libc.TLS, pTo uintptr, pFrom uintptr) int32 { /* sqlite3.c:78889:20: */ +func Xsqlite3VdbeMemCopy(tls *libc.TLS, pTo uintptr, pFrom uintptr) int32 { /* sqlite3.c:78902:20: */ var rc int32 = SQLITE_OK if int32((*Mem)(unsafe.Pointer(pTo)).Fflags)&(MEM_Agg|MEM_Dyn) != 0 { @@ -56574,7 +56593,7 @@ func Xsqlite3VdbeMemCopy(tls *libc.TLS, pTo uintptr, pFrom uintptr) int32 { /* s // freed. If pFrom contains ephemeral data, a copy is made. // // pFrom contains an SQL NULL when this routine returns. -func Xsqlite3VdbeMemMove(tls *libc.TLS, pTo uintptr, pFrom uintptr) { /* sqlite3.c:78912:21: */ +func Xsqlite3VdbeMemMove(tls *libc.TLS, pTo uintptr, pFrom uintptr) { /* sqlite3.c:78925:21: */ Xsqlite3VdbeMemRelease(tls, pTo) libc.Xmemcpy(tls, pTo, pFrom, uint32(unsafe.Sizeof(Mem{}))) @@ -56595,7 +56614,7 @@ func Xsqlite3VdbeMemMove(tls *libc.TLS, pTo uintptr, pFrom uintptr) { /* sqlite3 // stored without allocating memory, then it is. If a memory allocation // is required to store the string, then value of pMem is unchanged. In // either case, SQLITE_TOOBIG is returned. -func Xsqlite3VdbeMemSetStr(tls *libc.TLS, pMem uintptr, z uintptr, n I64, enc U8, xDel uintptr) int32 { /* sqlite3.c:78938:20: */ +func Xsqlite3VdbeMemSetStr(tls *libc.TLS, pMem uintptr, z uintptr, n I64, enc U8, xDel uintptr) int32 { /* sqlite3.c:78951:20: */ var nByte I64 = n // New value for pMem->n var iLimit int32 // Maximum allowed string or blob size var flags U16 = U16(0) // New value for pMem->flags @@ -56708,11 +56727,11 @@ func Xsqlite3VdbeMemSetStr(tls *libc.TLS, pMem uintptr, z uintptr, n I64, enc U8 // // If this routine fails for any reason (malloc returns NULL or unable // to read from the disk) then the pMem is left in an inconsistent state. -func Xsqlite3VdbeMemFromBtree(tls *libc.TLS, pCur uintptr, offset U32, amt U32, pMem uintptr) int32 { /* sqlite3.c:79047:20: */ +func Xsqlite3VdbeMemFromBtree(tls *libc.TLS, pCur uintptr, offset U32, amt U32, pMem uintptr) int32 { /* sqlite3.c:79060:20: */ var rc int32 (*Mem)(unsafe.Pointer(pMem)).Fflags = U16(MEM_Null) if Xsqlite3BtreeMaxRecordSize(tls, pCur) < Sqlite3_int64(offset+amt) { - return Xsqlite3CorruptError(tls, 79056) + return Xsqlite3CorruptError(tls, 79069) } if SQLITE_OK == libc.AssignInt32(&rc, Xsqlite3VdbeMemClearAndResize(tls, pMem, int32(amt+U32(1)))) { rc = Xsqlite3BtreePayload(tls, pCur, offset, amt, (*Mem)(unsafe.Pointer(pMem)).Fz) @@ -56727,7 +56746,7 @@ func Xsqlite3VdbeMemFromBtree(tls *libc.TLS, pCur uintptr, offset U32, amt U32, return rc } -func Xsqlite3VdbeMemFromBtreeZeroOffset(tls *libc.TLS, pCur uintptr, amt U32, pMem uintptr) int32 { /* sqlite3.c:79070:20: */ +func Xsqlite3VdbeMemFromBtreeZeroOffset(tls *libc.TLS, pCur uintptr, amt U32, pMem uintptr) int32 { /* sqlite3.c:79083:20: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -56752,7 +56771,7 @@ func Xsqlite3VdbeMemFromBtreeZeroOffset(tls *libc.TLS, pCur uintptr, amt U32, pM // The pVal argument is known to be a value other than NULL. // Convert it into a string with encoding enc and return a pointer // to a zero-terminated version of that string. -func valueToText(tls *libc.TLS, pVal uintptr, enc U8) uintptr { /* sqlite3.c:79102:35: */ +func valueToText(tls *libc.TLS, pVal uintptr, enc U8) uintptr { /* sqlite3.c:79115:35: */ if int32((*Sqlite3_value)(unsafe.Pointer(pVal)).Fflags)&(MEM_Blob|MEM_Str) != 0 { if func() int32 { @@ -56797,7 +56816,7 @@ func valueToText(tls *libc.TLS, pVal uintptr, enc U8) uintptr { /* sqlite3.c:791 // (2006-02-16:) The enc value can be or-ed with SQLITE_UTF16_ALIGNED. // If that is the case, then the result must be aligned on an even byte // boundary. -func Xsqlite3ValueText(tls *libc.TLS, pVal uintptr, enc U8) uintptr { /* sqlite3.c:79145:27: */ +func Xsqlite3ValueText(tls *libc.TLS, pVal uintptr, enc U8) uintptr { /* sqlite3.c:79158:27: */ if !(pVal != 0) { return uintptr(0) } @@ -56813,7 +56832,7 @@ func Xsqlite3ValueText(tls *libc.TLS, pVal uintptr, enc U8) uintptr { /* sqlite3 } // Create a new sqlite3_value object. -func Xsqlite3ValueNew(tls *libc.TLS, db uintptr) uintptr { /* sqlite3.c:79163:30: */ +func Xsqlite3ValueNew(tls *libc.TLS, db uintptr) uintptr { /* sqlite3.c:79176:30: */ var p uintptr = Xsqlite3DbMallocZero(tls, db, uint64(unsafe.Sizeof(Mem{}))) if p != 0 { (*Mem)(unsafe.Pointer(p)).Fflags = U16(MEM_Null) @@ -56829,7 +56848,7 @@ type ValueNewStat4Ctx = struct { FpIdx uintptr FppRec uintptr FiVal int32 -} /* sqlite3.c:79176:1 */ +} /* sqlite3.c:79189:1 */ // Allocate and return a pointer to a new sqlite3_value object. If // the second argument to this function is NULL, the object is allocated @@ -56840,7 +56859,7 @@ type ValueNewStat4Ctx = struct { // already been allocated, allocate the UnpackedRecord structure that // that function will return to its caller here. Then return a pointer to // an sqlite3_value within the UnpackedRecord.a[] array. -func valueNew(tls *libc.TLS, db uintptr, p uintptr) uintptr { /* sqlite3.c:79194:22: */ +func valueNew(tls *libc.TLS, db uintptr, p uintptr) uintptr { /* sqlite3.c:79207:22: */ if p != 0 { var pRec uintptr = *(*uintptr)(unsafe.Pointer((*ValueNewStat4Ctx)(unsafe.Pointer(p)).FppRec)) @@ -56896,7 +56915,7 @@ func valueNew(tls *libc.TLS, db uintptr, p uintptr) uintptr { /* sqlite3.c:79194 // If the conditions above are not met, this function returns SQLITE_OK // and sets (*ppVal) to NULL. Or, if an error occurs, (*ppVal) is set to // NULL and an SQLite error code returned. -func valueFromFunction(tls *libc.TLS, db uintptr, p uintptr, enc U8, aff U8, ppVal uintptr, pCtx uintptr) int32 { /* sqlite3.c:79256:12: */ +func valueFromFunction(tls *libc.TLS, db uintptr, p uintptr, enc U8, aff U8, ppVal uintptr, pCtx uintptr) int32 { /* sqlite3.c:79269:12: */ bp := tls.Alloc(40) defer tls.Free(40) @@ -57042,7 +57061,7 @@ __14: // has been allocated, it is freed before returning. Or, if pCtx is not // NULL, it is assumed that the caller will free any allocated object // in all cases. -func valueFromExpr(tls *libc.TLS, db uintptr, pExpr uintptr, enc U8, affinity U8, ppVal uintptr, pCtx uintptr) int32 { /* sqlite3.c:79352:12: */ +func valueFromExpr(tls *libc.TLS, db uintptr, pExpr uintptr, enc U8, affinity U8, ppVal uintptr, pCtx uintptr) int32 { /* sqlite3.c:79365:12: */ bp := tls.Alloc(20) defer tls.Free(20) @@ -57290,7 +57309,7 @@ __35: // a pointer written to *ppVal. The caller is responsible for deallocating // the value by passing it to sqlite3ValueFree() later on. If the expression // cannot be converted to a value, then *ppVal is set to NULL. -func Xsqlite3ValueFromExpr(tls *libc.TLS, db uintptr, pExpr uintptr, enc U8, affinity U8, ppVal uintptr) int32 { /* sqlite3.c:79507:20: */ +func Xsqlite3ValueFromExpr(tls *libc.TLS, db uintptr, pExpr uintptr, enc U8, affinity U8, ppVal uintptr) int32 { /* sqlite3.c:79520:20: */ if pExpr != 0 { return valueFromExpr(tls, db, pExpr, enc, affinity, ppVal, uintptr(0)) } @@ -57313,7 +57332,7 @@ func Xsqlite3ValueFromExpr(tls *libc.TLS, db uintptr, pExpr uintptr, enc U8, aff // // On success, *ppVal is made to point to the extracted value. The caller // is responsible for ensuring that the value is eventually freed. -func stat4ValueFromExpr(tls *libc.TLS, pParse uintptr, pExpr uintptr, affinity U8, pAlloc uintptr, ppVal uintptr) int32 { /* sqlite3.c:79536:12: */ +func stat4ValueFromExpr(tls *libc.TLS, pParse uintptr, pExpr uintptr, affinity U8, pAlloc uintptr, ppVal uintptr) int32 { /* sqlite3.c:79549:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -57381,7 +57400,7 @@ func stat4ValueFromExpr(tls *libc.TLS, pParse uintptr, pExpr uintptr, affinity U // Unless an error is encountered, SQLITE_OK is returned. It is not an // error if a value cannot be extracted from pExpr. If an error does // occur, an SQLite error code is returned. -func Xsqlite3Stat4ProbeSetValue(tls *libc.TLS, pParse uintptr, pIdx uintptr, ppRec uintptr, pExpr uintptr, nElem int32, iVal int32, pnExtract uintptr) int32 { /* sqlite3.c:79611:20: */ +func Xsqlite3Stat4ProbeSetValue(tls *libc.TLS, pParse uintptr, pIdx uintptr, ppRec uintptr, pExpr uintptr, nElem int32, iVal int32, pnExtract uintptr) int32 { /* sqlite3.c:79624:20: */ bp := tls.Alloc(20) defer tls.Free(20) @@ -57426,7 +57445,7 @@ func Xsqlite3Stat4ProbeSetValue(tls *libc.TLS, pParse uintptr, pIdx uintptr, ppR // (e.g. OOM), return SQLITE_OK and set *ppVal to NULL. Or, if an error // does occur, return an SQLite error code. The final value of *ppVal // is undefined in this case. -func Xsqlite3Stat4ValueFromExpr(tls *libc.TLS, pParse uintptr, pExpr uintptr, affinity U8, ppVal uintptr) int32 { /* sqlite3.c:79656:20: */ +func Xsqlite3Stat4ValueFromExpr(tls *libc.TLS, pParse uintptr, pExpr uintptr, affinity U8, ppVal uintptr) int32 { /* sqlite3.c:79669:20: */ return stat4ValueFromExpr(tls, pParse, pExpr, affinity, uintptr(0), ppVal) } @@ -57436,7 +57455,7 @@ func Xsqlite3Stat4ValueFromExpr(tls *libc.TLS, pParse uintptr, pExpr uintptr, af // // If *ppVal is initially NULL then the caller is responsible for // ensuring that the value written into *ppVal is eventually freed. -func Xsqlite3Stat4Column(tls *libc.TLS, db uintptr, pRec uintptr, nRec int32, iCol int32, ppVal uintptr) int32 { /* sqlite3.c:79673:20: */ +func Xsqlite3Stat4Column(tls *libc.TLS, db uintptr, pRec uintptr, nRec int32, iCol int32, ppVal uintptr) int32 { /* sqlite3.c:79686:20: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -57457,7 +57476,7 @@ func Xsqlite3Stat4Column(tls *libc.TLS, db uintptr, pRec uintptr, nRec int32, iC return Xsqlite3GetVarint32(tls, a, bp) }()) if *(*int32)(unsafe.Pointer(bp)) > nRec || iHdr >= *(*int32)(unsafe.Pointer(bp)) { - return Xsqlite3CorruptError(tls, 79691) + return Xsqlite3CorruptError(tls, 79704) } iField = *(*int32)(unsafe.Pointer(bp /* nHdr */)) for i = 0; i <= iCol; i++ { @@ -57472,14 +57491,14 @@ func Xsqlite3Stat4Column(tls *libc.TLS, db uintptr, pRec uintptr, nRec int32, iC }()) if iHdr > *(*int32)(unsafe.Pointer(bp)) { - return Xsqlite3CorruptError(tls, 79697) + return Xsqlite3CorruptError(tls, 79710) } szField = int32(Xsqlite3VdbeSerialTypeLen(tls, *(*U32)(unsafe.Pointer(bp + 4 /* t */)))) iField = iField + szField } if iField > nRec { - return Xsqlite3CorruptError(tls, 79703) + return Xsqlite3CorruptError(tls, 79716) } if pMem == uintptr(0) { pMem = libc.AssignPtrUintptr(ppVal, Xsqlite3ValueNew(tls, db)) @@ -57495,7 +57514,7 @@ func Xsqlite3Stat4Column(tls *libc.TLS, db uintptr, pRec uintptr, nRec int32, iC // Unless it is NULL, the argument must be an UnpackedRecord object returned // by an earlier call to sqlite3Stat4ProbeSetValue(). This call deletes // the object. -func Xsqlite3Stat4ProbeFree(tls *libc.TLS, pRec uintptr) { /* sqlite3.c:79718:21: */ +func Xsqlite3Stat4ProbeFree(tls *libc.TLS, pRec uintptr) { /* sqlite3.c:79731:21: */ if pRec != 0 { var i int32 var nCol int32 = int32((*KeyInfo)(unsafe.Pointer((*UnpackedRecord)(unsafe.Pointer(pRec)).FpKeyInfo)).FnAllField) @@ -57510,14 +57529,14 @@ func Xsqlite3Stat4ProbeFree(tls *libc.TLS, pRec uintptr) { /* sqlite3.c:79718:21 } // Change the string value of an sqlite3_value object -func Xsqlite3ValueSetStr(tls *libc.TLS, v uintptr, n int32, z uintptr, enc U8, xDel uintptr) { /* sqlite3.c:79736:21: */ +func Xsqlite3ValueSetStr(tls *libc.TLS, v uintptr, n int32, z uintptr, enc U8, xDel uintptr) { /* sqlite3.c:79749:21: */ if v != 0 { Xsqlite3VdbeMemSetStr(tls, v, z, int64(n), enc, xDel) } } // Free an sqlite3_value object -func Xsqlite3ValueFree(tls *libc.TLS, v uintptr) { /* sqlite3.c:79749:21: */ +func Xsqlite3ValueFree(tls *libc.TLS, v uintptr) { /* sqlite3.c:79762:21: */ if !(v != 0) { return } @@ -57528,14 +57547,14 @@ func Xsqlite3ValueFree(tls *libc.TLS, v uintptr) { /* sqlite3.c:79749:21: */ // The sqlite3ValueBytes() routine returns the number of bytes in the // sqlite3_value object assuming that it uses the encoding "enc". // The valueBytes() routine is a helper function. -func valueBytes(tls *libc.TLS, pVal uintptr, enc U8) int32 { /* sqlite3.c:79760:28: */ +func valueBytes(tls *libc.TLS, pVal uintptr, enc U8) int32 { /* sqlite3.c:79773:28: */ if valueToText(tls, pVal, enc) != uintptr(0) { return (*Sqlite3_value)(unsafe.Pointer(pVal)).Fn } return 0 } -func Xsqlite3ValueBytes(tls *libc.TLS, pVal uintptr, enc U8) int32 { /* sqlite3.c:79763:20: */ +func Xsqlite3ValueBytes(tls *libc.TLS, pVal uintptr, enc U8) int32 { /* sqlite3.c:79776:20: */ var p uintptr = pVal if int32((*Mem)(unsafe.Pointer(p)).Fflags)&MEM_Str != 0 && int32((*Sqlite3_value)(unsafe.Pointer(pVal)).Fenc) == int32(enc) { @@ -57555,7 +57574,7 @@ func Xsqlite3ValueBytes(tls *libc.TLS, pVal uintptr, enc U8) int32 { /* sqlite3. } // Create a new virtual database engine. -func Xsqlite3VdbeCreate(tls *libc.TLS, pParse uintptr) uintptr { /* sqlite3.c:79806:21: */ +func Xsqlite3VdbeCreate(tls *libc.TLS, pParse uintptr) uintptr { /* sqlite3.c:79819:21: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb var p uintptr p = Xsqlite3DbMallocRawNN(tls, db, uint64(unsafe.Sizeof(Vdbe{}))) @@ -57579,12 +57598,12 @@ func Xsqlite3VdbeCreate(tls *libc.TLS, pParse uintptr) uintptr { /* sqlite3.c:79 } // Return the Parse object that owns a Vdbe object. -func Xsqlite3VdbeParser(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:79833:22: */ +func Xsqlite3VdbeParser(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:79846:22: */ return (*Vdbe)(unsafe.Pointer(p)).FpParse } // Change the error string stored in Vdbe.zErrMsg -func Xsqlite3VdbeError(tls *libc.TLS, p uintptr, zFormat uintptr, va uintptr) { /* sqlite3.c:79840:21: */ +func Xsqlite3VdbeError(tls *libc.TLS, p uintptr, zFormat uintptr, va uintptr) { /* sqlite3.c:79853:21: */ var ap Va_list _ = ap Xsqlite3DbFree(tls, (*Vdbe)(unsafe.Pointer(p)).Fdb, (*Vdbe)(unsafe.Pointer(p)).FzErrMsg) @@ -57594,7 +57613,7 @@ func Xsqlite3VdbeError(tls *libc.TLS, p uintptr, zFormat uintptr, va uintptr) { } // Remember the SQL string for a prepared statement. -func Xsqlite3VdbeSetSql(tls *libc.TLS, p uintptr, z uintptr, n int32, prepFlags U8) { /* sqlite3.c:79851:21: */ +func Xsqlite3VdbeSetSql(tls *libc.TLS, p uintptr, z uintptr, n int32, prepFlags U8) { /* sqlite3.c:79864:21: */ if p == uintptr(0) { return } @@ -57607,7 +57626,7 @@ func Xsqlite3VdbeSetSql(tls *libc.TLS, p uintptr, z uintptr, n int32, prepFlags } // Swap all content between two VDBE structures. -func Xsqlite3VdbeSwap(tls *libc.TLS, pA uintptr, pB uintptr) { /* sqlite3.c:79901:21: */ +func Xsqlite3VdbeSwap(tls *libc.TLS, pA uintptr, pB uintptr) { /* sqlite3.c:79914:21: */ var tmp Vdbe var pTmp uintptr var zTmp uintptr @@ -57638,7 +57657,7 @@ func Xsqlite3VdbeSwap(tls *libc.TLS, pA uintptr, pB uintptr) { /* sqlite3.c:7990 // SQLITE_NOMEM. In this case Vdbe.aOp and Vdbe.nOpAlloc remain // unchanged (this is so that any opcodes already allocated can be // correctly deallocated along with the rest of the Vdbe). -func growOpArray(tls *libc.TLS, v uintptr, nOp int32) int32 { /* sqlite3.c:79938:12: */ +func growOpArray(tls *libc.TLS, v uintptr, nOp int32) int32 { /* sqlite3.c:79951:12: */ var pNew uintptr var p uintptr = (*Vdbe)(unsafe.Pointer(v)).FpParse @@ -57691,7 +57710,7 @@ func growOpArray(tls *libc.TLS, v uintptr, nOp int32) int32 { /* sqlite3.c:79938 // Use the sqlite3VdbeResolveLabel() function to fix an address and // the sqlite3VdbeChangeP4() function to change the value of the P4 // operand. -func growOp3(tls *libc.TLS, p uintptr, op int32, p1 int32, p2 int32, p3 int32) int32 { /* sqlite3.c:80009:28: */ +func growOp3(tls *libc.TLS, p uintptr, op int32, p1 int32, p2 int32, p3 int32) int32 { /* sqlite3.c:80022:28: */ if growOpArray(tls, p, 1) != 0 { return 1 @@ -57700,7 +57719,7 @@ func growOp3(tls *libc.TLS, p uintptr, op int32, p1 int32, p2 int32, p3 int32) i return Xsqlite3VdbeAddOp3(tls, p, op, p1, p2, p3) } -func Xsqlite3VdbeAddOp3(tls *libc.TLS, p uintptr, op int32, p1 int32, p2 int32, p3 int32) int32 { /* sqlite3.c:80015:20: */ +func Xsqlite3VdbeAddOp3(tls *libc.TLS, p uintptr, op int32, p1 int32, p2 int32, p3 int32) int32 { /* sqlite3.c:80028:20: */ var i int32 var pOp uintptr @@ -57723,26 +57742,26 @@ func Xsqlite3VdbeAddOp3(tls *libc.TLS, p uintptr, op int32, p1 int32, p2 int32, return i } -func Xsqlite3VdbeAddOp0(tls *libc.TLS, p uintptr, op int32) int32 { /* sqlite3.c:80054:20: */ +func Xsqlite3VdbeAddOp0(tls *libc.TLS, p uintptr, op int32) int32 { /* sqlite3.c:80067:20: */ return Xsqlite3VdbeAddOp3(tls, p, op, 0, 0, 0) } -func Xsqlite3VdbeAddOp1(tls *libc.TLS, p uintptr, op int32, p1 int32) int32 { /* sqlite3.c:80057:20: */ +func Xsqlite3VdbeAddOp1(tls *libc.TLS, p uintptr, op int32, p1 int32) int32 { /* sqlite3.c:80070:20: */ return Xsqlite3VdbeAddOp3(tls, p, op, p1, 0, 0) } -func Xsqlite3VdbeAddOp2(tls *libc.TLS, p uintptr, op int32, p1 int32, p2 int32) int32 { /* sqlite3.c:80060:20: */ +func Xsqlite3VdbeAddOp2(tls *libc.TLS, p uintptr, op int32, p1 int32, p2 int32) int32 { /* sqlite3.c:80073:20: */ return Xsqlite3VdbeAddOp3(tls, p, op, p1, p2, 0) } // Generate code for an unconditional jump to instruction iDest -func Xsqlite3VdbeGoto(tls *libc.TLS, p uintptr, iDest int32) int32 { /* sqlite3.c:80066:20: */ +func Xsqlite3VdbeGoto(tls *libc.TLS, p uintptr, iDest int32) int32 { /* sqlite3.c:80079:20: */ return Xsqlite3VdbeAddOp3(tls, p, OP_Goto, 0, iDest, 0) } // Generate code to cause the string zStr to be loaded into // register iDest -func Xsqlite3VdbeLoadString(tls *libc.TLS, p uintptr, iDest int32, zStr uintptr) int32 { /* sqlite3.c:80073:20: */ +func Xsqlite3VdbeLoadString(tls *libc.TLS, p uintptr, iDest int32, zStr uintptr) int32 { /* sqlite3.c:80086:20: */ return Xsqlite3VdbeAddOp4(tls, p, OP_String8, 0, iDest, 0, zStr, 0) } @@ -57755,7 +57774,7 @@ func Xsqlite3VdbeLoadString(tls *libc.TLS, p uintptr, iDest int32, zStr uintptr) // // If the input string does not end with "X" then an OP_ResultRow instruction // is generated for the values inserted. -func Xsqlite3VdbeMultiLoad(tls *libc.TLS, p uintptr, iDest int32, zTypes uintptr, va uintptr) { /* sqlite3.c:80088:21: */ +func Xsqlite3VdbeMultiLoad(tls *libc.TLS, p uintptr, iDest int32, zTypes uintptr, va uintptr) { /* sqlite3.c:80101:21: */ var ap Va_list _ = ap var i int32 @@ -57803,7 +57822,7 @@ skip_op_resultrow: } // Add an opcode that includes the p4 value as a pointer. -func Xsqlite3VdbeAddOp4(tls *libc.TLS, p uintptr, op int32, p1 int32, p2 int32, p3 int32, zP4 uintptr, p4type int32) int32 { /* sqlite3.c:80111:20: */ +func Xsqlite3VdbeAddOp4(tls *libc.TLS, p uintptr, op int32, p1 int32, p2 int32, p3 int32, zP4 uintptr, p4type int32) int32 { /* sqlite3.c:80124:20: */ var addr int32 = Xsqlite3VdbeAddOp3(tls, p, op, p1, p2, p3) Xsqlite3VdbeChangeP4(tls, p, addr, zP4, p4type) return addr @@ -57817,7 +57836,7 @@ func Xsqlite3VdbeAddOp4(tls *libc.TLS, p uintptr, op int32, p1 int32, p2 int32, // NC_IdxExpr means called as part of an index expression. NC_PartIdx // means in the WHERE clause of a partial index. NC_GenCol means called // while computing a generated column value. 0 is the usual case. -func Xsqlite3VdbeAddFunctionCall(tls *libc.TLS, pParse uintptr, p1 int32, p2 int32, p3 int32, nArg int32, pFunc uintptr, eCallCtx int32) int32 { /* sqlite3.c:80135:20: */ +func Xsqlite3VdbeAddFunctionCall(tls *libc.TLS, pParse uintptr, p1 int32, p2 int32, p3 int32, nArg int32, pFunc uintptr, eCallCtx int32) int32 { /* sqlite3.c:80148:20: */ var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe var nByte int32 var addr int32 @@ -57849,7 +57868,7 @@ func Xsqlite3VdbeAddFunctionCall(tls *libc.TLS, pParse uintptr, p1 int32, p2 int // Add an opcode that includes the p4 value with a P4_INT64 or // P4_REAL type. -func Xsqlite3VdbeAddOp4Dup8(tls *libc.TLS, p uintptr, op int32, p1 int32, p2 int32, p3 int32, zP4 uintptr, p4type int32) int32 { /* sqlite3.c:80172:20: */ +func Xsqlite3VdbeAddOp4Dup8(tls *libc.TLS, p uintptr, op int32, p1 int32, p2 int32, p3 int32, zP4 uintptr, p4type int32) int32 { /* sqlite3.c:80185:20: */ var p4copy uintptr = Xsqlite3DbMallocRawNN(tls, Xsqlite3VdbeDb(tls, p), uint64(8)) if p4copy != 0 { libc.Xmemcpy(tls, p4copy, zP4, uint32(8)) @@ -57859,7 +57878,7 @@ func Xsqlite3VdbeAddOp4Dup8(tls *libc.TLS, p uintptr, op int32, p1 int32, p2 int // Return the address of the current EXPLAIN QUERY PLAN baseline. // 0 means "none". -func Xsqlite3VdbeExplainParent(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:80191:20: */ +func Xsqlite3VdbeExplainParent(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:80204:20: */ var pOp uintptr if (*Parse)(unsafe.Pointer(pParse)).FaddrExplain == 0 { return 0 @@ -57875,7 +57894,7 @@ func Xsqlite3VdbeExplainParent(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3 // // If the bPush flag is true, then make this opcode the parent for // subsequent Explains until sqlite3VdbeExplainPop() is called. -func Xsqlite3VdbeExplain(tls *libc.TLS, pParse uintptr, bPush U8, zFmt uintptr, va uintptr) { /* sqlite3.c:80215:21: */ +func Xsqlite3VdbeExplain(tls *libc.TLS, pParse uintptr, bPush U8, zFmt uintptr, va uintptr) { /* sqlite3.c:80228:21: */ // Always include the OP_Explain opcodes if SQLITE_DEBUG is defined. // But omit them (for performance) during production builds if int32((*Parse)(unsafe.Pointer(pParse)).Fexplain) == 2 { @@ -57899,7 +57918,7 @@ func Xsqlite3VdbeExplain(tls *libc.TLS, pParse uintptr, bPush U8, zFmt uintptr, } // Pop the EXPLAIN QUERY PLAN stack one level. -func Xsqlite3VdbeExplainPop(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:80243:21: */ +func Xsqlite3VdbeExplainPop(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:80256:21: */ (*Parse)(unsafe.Pointer(pParse)).FaddrExplain = Xsqlite3VdbeExplainParent(tls, pParse) } @@ -57910,7 +57929,7 @@ func Xsqlite3VdbeExplainPop(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:80243: // // The zWhere string must have been obtained from sqlite3_malloc(). // This routine will take ownership of the allocated memory. -func Xsqlite3VdbeAddParseSchemaOp(tls *libc.TLS, p uintptr, iDb int32, zWhere uintptr, p5 U16) { /* sqlite3.c:80257:21: */ +func Xsqlite3VdbeAddParseSchemaOp(tls *libc.TLS, p uintptr, iDb int32, zWhere uintptr, p5 U16) { /* sqlite3.c:80270:21: */ var j int32 Xsqlite3VdbeAddOp4(tls, p, OP_ParseSchema, iDb, 0, 0, zWhere, -7) Xsqlite3VdbeChangeP5(tls, p, p5) @@ -57921,7 +57940,7 @@ func Xsqlite3VdbeAddParseSchemaOp(tls *libc.TLS, p uintptr, iDb int32, zWhere ui } // Add an opcode that includes the p4 value as an integer. -func Xsqlite3VdbeAddOp4Int(tls *libc.TLS, p uintptr, op int32, p1 int32, p2 int32, p3 int32, p4 int32) int32 { /* sqlite3.c:80268:20: */ +func Xsqlite3VdbeAddOp4Int(tls *libc.TLS, p uintptr, op int32, p1 int32, p2 int32, p3 int32, p4 int32) int32 { /* sqlite3.c:80281:20: */ var addr int32 = Xsqlite3VdbeAddOp3(tls, p, op, p1, p2, p3) if int32((*Sqlite3)(unsafe.Pointer((*Vdbe)(unsafe.Pointer(p)).Fdb)).FmallocFailed) == 0 { var pOp uintptr = (*Vdbe)(unsafe.Pointer(p)).FaOp + uintptr(addr)*20 @@ -57932,7 +57951,7 @@ func Xsqlite3VdbeAddOp4Int(tls *libc.TLS, p uintptr, op int32, p1 int32, p2 int3 } // Insert the end of a co-routine -func Xsqlite3VdbeEndCoroutine(tls *libc.TLS, v uintptr, regYield int32) { /* sqlite3.c:80287:21: */ +func Xsqlite3VdbeEndCoroutine(tls *libc.TLS, v uintptr, regYield int32) { /* sqlite3.c:80300:21: */ Xsqlite3VdbeAddOp1(tls, v, OP_EndCoroutine, regYield) // Clear the temporary register cache, thereby ensuring that each @@ -57967,14 +57986,14 @@ func Xsqlite3VdbeEndCoroutine(tls *libc.TLS, v uintptr, regYield int32) { /* sql // been issued. The negative is stored because // that gives a performance improvement over storing // the equivalent positive value. -func Xsqlite3VdbeMakeLabel(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:80325:20: */ +func Xsqlite3VdbeMakeLabel(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:80338:20: */ return libc.PreDecInt32(&(*Parse)(unsafe.Pointer(pParse)).FnLabel, 1) } // Resolve label "x" to be the address of the next instruction to // be inserted. The parameter "x" must have been obtained from // a prior call to sqlite3VdbeMakeLabel(). -func resizeResolveLabel(tls *libc.TLS, p uintptr, v uintptr, j int32) { /* sqlite3.c:80334:29: */ +func resizeResolveLabel(tls *libc.TLS, p uintptr, v uintptr, j int32) { /* sqlite3.c:80347:29: */ var nNewSize int32 = 10 - (*Parse)(unsafe.Pointer(p)).FnLabel (*Parse)(unsafe.Pointer(p)).FaLabel = Xsqlite3DbReallocOrFree(tls, (*Parse)(unsafe.Pointer(p)).Fdb, (*Parse)(unsafe.Pointer(p)).FaLabel, uint64(uint32(nNewSize)*uint32(unsafe.Sizeof(int32(0))))) @@ -57986,7 +58005,7 @@ func resizeResolveLabel(tls *libc.TLS, p uintptr, v uintptr, j int32) { /* sqlit } } -func Xsqlite3VdbeResolveLabel(tls *libc.TLS, v uintptr, x int32) { /* sqlite3.c:80349:21: */ +func Xsqlite3VdbeResolveLabel(tls *libc.TLS, v uintptr, x int32) { /* sqlite3.c:80362:21: */ var p uintptr = (*Vdbe)(unsafe.Pointer(v)).FpParse var j int32 = ^x @@ -57999,12 +58018,12 @@ func Xsqlite3VdbeResolveLabel(tls *libc.TLS, v uintptr, x int32) { /* sqlite3.c: } // Mark the VDBE as one that can only be run one time. -func Xsqlite3VdbeRunOnlyOnce(tls *libc.TLS, p uintptr) { /* sqlite3.c:80371:21: */ +func Xsqlite3VdbeRunOnlyOnce(tls *libc.TLS, p uintptr) { /* sqlite3.c:80384:21: */ libc.SetBitFieldPtr16Uint32(p+160, Bft(1), 5, 0x20) } // Mark the VDBE as one that can only be run multiple times. -func Xsqlite3VdbeReusable(tls *libc.TLS, p uintptr) { /* sqlite3.c:80378:21: */ +func Xsqlite3VdbeReusable(tls *libc.TLS, p uintptr) { /* sqlite3.c:80391:21: */ libc.SetBitFieldPtr16Uint32(p+160, Bft(0), 5, 0x20) } @@ -58027,7 +58046,7 @@ func Xsqlite3VdbeReusable(tls *libc.TLS, p uintptr) { /* sqlite3.c:80378:21: */ // This routine will only function correctly if the mkopcodeh.tcl generator // script numbers the opcodes correctly. Changes to this routine must be // coordinated with changes to mkopcodeh.tcl. -func resolveP2Values(tls *libc.TLS, p uintptr, pMaxFuncArgs uintptr) { /* sqlite3.c:80574:13: */ +func resolveP2Values(tls *libc.TLS, p uintptr, pMaxFuncArgs uintptr) { /* sqlite3.c:80587:13: */ var nMaxArgs int32 = *(*int32)(unsafe.Pointer(pMaxFuncArgs)) var pOp uintptr var pParse uintptr = (*Vdbe)(unsafe.Pointer(p)).FpParse @@ -58156,7 +58175,7 @@ func resolveP2Values(tls *libc.TLS, p uintptr, pMaxFuncArgs uintptr) { /* sqlite } // Return the address of the next instruction to be inserted. -func Xsqlite3VdbeCurrentAddr(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:80676:20: */ +func Xsqlite3VdbeCurrentAddr(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:80689:20: */ return (*Vdbe)(unsafe.Pointer(p)).FnOp } @@ -58187,7 +58206,7 @@ func Xsqlite3VdbeCurrentAddr(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:8067 // array. Also, *pnMaxArg is set to the larger of its current value and // the number of entries in the Vdbe.apArg[] array required to execute the // returned program. -func Xsqlite3VdbeTakeOpArray(tls *libc.TLS, p uintptr, pnOp uintptr, pnMaxArg uintptr) uintptr { /* sqlite3.c:80733:23: */ +func Xsqlite3VdbeTakeOpArray(tls *libc.TLS, p uintptr, pnOp uintptr, pnMaxArg uintptr) uintptr { /* sqlite3.c:80746:23: */ var aOp uintptr = (*Vdbe)(unsafe.Pointer(p)).FaOp // Check that sqlite3VdbeUsesBtree() was not called on this VM @@ -58203,7 +58222,7 @@ func Xsqlite3VdbeTakeOpArray(tls *libc.TLS, p uintptr, pnOp uintptr, pnMaxArg ui // // Non-zero P2 arguments to jump instructions are automatically adjusted // so that the jump target is relative to the first operation inserted. -func Xsqlite3VdbeAddOpList(tls *libc.TLS, p uintptr, nOp int32, aOp uintptr, iLineno int32) uintptr { /* sqlite3.c:80753:23: */ +func Xsqlite3VdbeAddOpList(tls *libc.TLS, p uintptr, nOp int32, aOp uintptr, iLineno int32) uintptr { /* sqlite3.c:80766:23: */ var i int32 var pOut uintptr var pFirst uintptr @@ -58247,23 +58266,23 @@ __3: // Change the value of the opcode, or P1, P2, P3, or P5 operands // for a specific instruction. -func Xsqlite3VdbeChangeOpcode(tls *libc.TLS, p uintptr, addr int32, iNewOpcode U8) { /* sqlite3.c:80829:21: */ +func Xsqlite3VdbeChangeOpcode(tls *libc.TLS, p uintptr, addr int32, iNewOpcode U8) { /* sqlite3.c:80842:21: */ (*VdbeOp)(unsafe.Pointer(Xsqlite3VdbeGetOp(tls, p, addr))).Fopcode = iNewOpcode } -func Xsqlite3VdbeChangeP1(tls *libc.TLS, p uintptr, addr int32, val int32) { /* sqlite3.c:80832:21: */ +func Xsqlite3VdbeChangeP1(tls *libc.TLS, p uintptr, addr int32, val int32) { /* sqlite3.c:80845:21: */ (*VdbeOp)(unsafe.Pointer(Xsqlite3VdbeGetOp(tls, p, addr))).Fp1 = val } -func Xsqlite3VdbeChangeP2(tls *libc.TLS, p uintptr, addr int32, val int32) { /* sqlite3.c:80835:21: */ +func Xsqlite3VdbeChangeP2(tls *libc.TLS, p uintptr, addr int32, val int32) { /* sqlite3.c:80848:21: */ (*VdbeOp)(unsafe.Pointer(Xsqlite3VdbeGetOp(tls, p, addr))).Fp2 = val } -func Xsqlite3VdbeChangeP3(tls *libc.TLS, p uintptr, addr int32, val int32) { /* sqlite3.c:80838:21: */ +func Xsqlite3VdbeChangeP3(tls *libc.TLS, p uintptr, addr int32, val int32) { /* sqlite3.c:80851:21: */ (*VdbeOp)(unsafe.Pointer(Xsqlite3VdbeGetOp(tls, p, addr))).Fp3 = val } -func Xsqlite3VdbeChangeP5(tls *libc.TLS, p uintptr, p5 U16) { /* sqlite3.c:80841:21: */ +func Xsqlite3VdbeChangeP5(tls *libc.TLS, p uintptr, p5 U16) { /* sqlite3.c:80854:21: */ if (*Vdbe)(unsafe.Pointer(p)).FnOp > 0 { (*Op)(unsafe.Pointer((*Vdbe)(unsafe.Pointer(p)).FaOp + uintptr((*Vdbe)(unsafe.Pointer(p)).FnOp-1)*20)).Fp5 = p5 @@ -58272,7 +58291,7 @@ func Xsqlite3VdbeChangeP5(tls *libc.TLS, p uintptr, p5 U16) { /* sqlite3.c:80841 // Change the P2 operand of instruction addr so that it points to // the address of the next instruction to be coded. -func Xsqlite3VdbeJumpHere(tls *libc.TLS, p uintptr, addr int32) { /* sqlite3.c:80850:21: */ +func Xsqlite3VdbeJumpHere(tls *libc.TLS, p uintptr, addr int32) { /* sqlite3.c:80863:21: */ Xsqlite3VdbeChangeP2(tls, p, addr, (*Vdbe)(unsafe.Pointer(p)).FnOp) } @@ -58287,7 +58306,7 @@ func Xsqlite3VdbeJumpHere(tls *libc.TLS, p uintptr, addr int32) { /* sqlite3.c:8 // // 7 Once 0 8 0 // 8 ... -func Xsqlite3VdbeJumpHereOrPopInst(tls *libc.TLS, p uintptr, addr int32) { /* sqlite3.c:80867:21: */ +func Xsqlite3VdbeJumpHereOrPopInst(tls *libc.TLS, p uintptr, addr int32) { /* sqlite3.c:80880:21: */ if addr == (*Vdbe)(unsafe.Pointer(p)).FnOp-1 { (*Vdbe)(unsafe.Pointer(p)).FnOp-- @@ -58298,26 +58317,26 @@ func Xsqlite3VdbeJumpHereOrPopInst(tls *libc.TLS, p uintptr, addr int32) { /* sq // If the input FuncDef structure is ephemeral, then free it. If // the FuncDef is not ephermal, then do nothing. -func freeEphemeralFunction(tls *libc.TLS, db uintptr, pDef uintptr) { /* sqlite3.c:80887:13: */ +func freeEphemeralFunction(tls *libc.TLS, db uintptr, pDef uintptr) { /* sqlite3.c:80900:13: */ if (*FuncDef)(unsafe.Pointer(pDef)).FfuncFlags&U32(SQLITE_FUNC_EPHEM) != U32(0) { Xsqlite3DbFreeNN(tls, db, pDef) } } // Delete a P4 value if necessary. -func freeP4Mem(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:80896:29: */ +func freeP4Mem(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:80909:29: */ if (*Mem)(unsafe.Pointer(p)).FszMalloc != 0 { Xsqlite3DbFree(tls, db, (*Mem)(unsafe.Pointer(p)).FzMalloc) } Xsqlite3DbFreeNN(tls, db, p) } -func freeP4FuncCtx(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:80900:29: */ +func freeP4FuncCtx(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:80913:29: */ freeEphemeralFunction(tls, db, (*Sqlite3_context)(unsafe.Pointer(p)).FpFunc) Xsqlite3DbFreeNN(tls, db, p) } -func freeP4(tls *libc.TLS, db uintptr, p4type int32, p4 uintptr) { /* sqlite3.c:80904:13: */ +func freeP4(tls *libc.TLS, db uintptr, p4type int32, p4 uintptr) { /* sqlite3.c:80917:13: */ switch p4type { case -16: @@ -58378,7 +58397,7 @@ func freeP4(tls *libc.TLS, db uintptr, p4type int32, p4 uintptr) { /* sqlite3.c: // Free the space allocated for aOp and any p4 values allocated for the // opcodes contained within. If aOp is not NULL it is assumed to contain // nOp entries. -func vdbeFreeOpArray(tls *libc.TLS, db uintptr, aOp uintptr, nOp int32) { /* sqlite3.c:80953:13: */ +func vdbeFreeOpArray(tls *libc.TLS, db uintptr, aOp uintptr, nOp int32) { /* sqlite3.c:80966:13: */ if aOp != 0 { var pOp uintptr for pOp = aOp + uintptr(nOp-1)*20; pOp >= aOp; pOp -= 20 { @@ -58393,18 +58412,18 @@ func vdbeFreeOpArray(tls *libc.TLS, db uintptr, aOp uintptr, nOp int32) { /* sql // Link the SubProgram object passed as the second argument into the linked // list at Vdbe.pSubProgram. This list is used to delete all sub-program // objects when the VM is no longer required. -func Xsqlite3VdbeLinkSubProgram(tls *libc.TLS, pVdbe uintptr, p uintptr) { /* sqlite3.c:80971:21: */ +func Xsqlite3VdbeLinkSubProgram(tls *libc.TLS, pVdbe uintptr, p uintptr) { /* sqlite3.c:80984:21: */ (*SubProgram)(unsafe.Pointer(p)).FpNext = (*Vdbe)(unsafe.Pointer(pVdbe)).FpProgram (*Vdbe)(unsafe.Pointer(pVdbe)).FpProgram = p } // Return true if the given Vdbe has any SubPrograms. -func Xsqlite3VdbeHasSubProgram(tls *libc.TLS, pVdbe uintptr) int32 { /* sqlite3.c:80979:20: */ +func Xsqlite3VdbeHasSubProgram(tls *libc.TLS, pVdbe uintptr) int32 { /* sqlite3.c:80992:20: */ return libc.Bool32((*Vdbe)(unsafe.Pointer(pVdbe)).FpProgram != uintptr(0)) } // Change the opcode at addr into OP_Noop -func Xsqlite3VdbeChangeToNoop(tls *libc.TLS, p uintptr, addr int32) int32 { /* sqlite3.c:80986:20: */ +func Xsqlite3VdbeChangeToNoop(tls *libc.TLS, p uintptr, addr int32) int32 { /* sqlite3.c:80999:20: */ var pOp uintptr if (*Sqlite3)(unsafe.Pointer((*Vdbe)(unsafe.Pointer(p)).Fdb)).FmallocFailed != 0 { return 0 @@ -58420,7 +58439,7 @@ func Xsqlite3VdbeChangeToNoop(tls *libc.TLS, p uintptr, addr int32) int32 { /* s // If the last opcode is "op" and it is not a jump destination, // then remove it. Return true if and only if an opcode was removed. -func Xsqlite3VdbeDeletePriorOpcode(tls *libc.TLS, p uintptr, op U8) int32 { /* sqlite3.c:81002:20: */ +func Xsqlite3VdbeDeletePriorOpcode(tls *libc.TLS, p uintptr, op U8) int32 { /* sqlite3.c:81015:20: */ if (*Vdbe)(unsafe.Pointer(p)).FnOp > 0 && int32((*Op)(unsafe.Pointer((*Vdbe)(unsafe.Pointer(p)).FaOp+uintptr((*Vdbe)(unsafe.Pointer(p)).FnOp-1)*20)).Fopcode) == int32(op) { return Xsqlite3VdbeChangeToNoop(tls, p, (*Vdbe)(unsafe.Pointer(p)).FnOp-1) } else { @@ -58444,7 +58463,7 @@ func Xsqlite3VdbeDeletePriorOpcode(tls *libc.TLS, p uintptr, op U8) int32 { /* s // the Vdbe. In these cases we can just copy the pointer. // // If addr<0 then change P4 on the most recently inserted instruction. -func vdbeChangeP4Full(tls *libc.TLS, p uintptr, pOp uintptr, zP4 uintptr, n int32) { /* sqlite3.c:81062:29: */ +func vdbeChangeP4Full(tls *libc.TLS, p uintptr, pOp uintptr, zP4 uintptr, n int32) { /* sqlite3.c:81075:29: */ if (*Op)(unsafe.Pointer(pOp)).Fp4type != 0 { freeP4(tls, (*Vdbe)(unsafe.Pointer(p)).Fdb, int32((*Op)(unsafe.Pointer(pOp)).Fp4type), *(*uintptr)(unsafe.Pointer(pOp + 16))) (*Op)(unsafe.Pointer(pOp)).Fp4type = int8(0) @@ -58461,7 +58480,7 @@ func vdbeChangeP4Full(tls *libc.TLS, p uintptr, pOp uintptr, zP4 uintptr, n int3 } } -func Xsqlite3VdbeChangeP4(tls *libc.TLS, p uintptr, addr int32, zP4 uintptr, n int32) { /* sqlite3.c:81081:21: */ +func Xsqlite3VdbeChangeP4(tls *libc.TLS, p uintptr, addr int32, zP4 uintptr, n int32) { /* sqlite3.c:81094:21: */ bp := tls.Alloc(4) defer tls.Free(4) *(*uintptr)(unsafe.Pointer(bp)) = zP4 @@ -58508,7 +58527,7 @@ func Xsqlite3VdbeChangeP4(tls *libc.TLS, p uintptr, addr int32, zP4 uintptr, n i // The P4 operand must not have been previously defined. And the new // P4 must not be P4_INT32. Use sqlite3VdbeChangeP4() in either of // those cases. -func Xsqlite3VdbeAppendP4(tls *libc.TLS, p uintptr, pP4 uintptr, n int32) { /* sqlite3.c:81124:21: */ +func Xsqlite3VdbeAppendP4(tls *libc.TLS, p uintptr, pP4 uintptr, n int32) { /* sqlite3.c:81137:21: */ var pOp uintptr if (*Sqlite3)(unsafe.Pointer((*Vdbe)(unsafe.Pointer(p)).Fdb)).FmallocFailed != 0 { @@ -58524,7 +58543,7 @@ func Xsqlite3VdbeAppendP4(tls *libc.TLS, p uintptr, pP4 uintptr, n int32) { /* s // Set the P4 on the most recently added opcode to the KeyInfo for the // index given. -func Xsqlite3VdbeSetP4KeyInfo(tls *libc.TLS, pParse uintptr, pIdx uintptr) { /* sqlite3.c:81144:21: */ +func Xsqlite3VdbeSetP4KeyInfo(tls *libc.TLS, pParse uintptr, pIdx uintptr) { /* sqlite3.c:81157:21: */ var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe var pKeyInfo uintptr @@ -58545,7 +58564,7 @@ func Xsqlite3VdbeSetP4KeyInfo(tls *libc.TLS, pParse uintptr, pIdx uintptr) { /* // this routine is a valid pointer. But because the dummy.opcode is 0, // dummy will never be written to. This is verified by code inspection and // by running with Valgrind. -func Xsqlite3VdbeGetOp(tls *libc.TLS, p uintptr, addr int32) uintptr { /* sqlite3.c:81210:23: */ // Ignore the MSVC warning about no initializer +func Xsqlite3VdbeGetOp(tls *libc.TLS, p uintptr, addr int32) uintptr { /* sqlite3.c:81223:23: */ // Ignore the MSVC warning about no initializer if addr < 0 { addr = (*Vdbe)(unsafe.Pointer(p)).FnOp - 1 @@ -58559,11 +58578,11 @@ func Xsqlite3VdbeGetOp(tls *libc.TLS, p uintptr, addr int32) uintptr { /* sqlite return uintptr(0) } -var dummy VdbeOp /* sqlite3.c:81213:17: */ +var dummy VdbeOp /* sqlite3.c:81226:17: */ // Compute a string that describes the P4 parameter for an opcode. // Use zTemp for any required temporary buffer space. -func Xsqlite3VdbeDisplayP4(tls *libc.TLS, db uintptr, pOp uintptr) uintptr { /* sqlite3.c:81414:21: */ +func Xsqlite3VdbeDisplayP4(tls *libc.TLS, db uintptr, pOp uintptr) uintptr { /* sqlite3.c:81427:21: */ bp := tls.Alloc(168) defer tls.Free(168) @@ -58726,7 +58745,7 @@ func Xsqlite3VdbeDisplayP4(tls *libc.TLS, db uintptr, pOp uintptr) uintptr { /* return Xsqlite3StrAccumFinish(tls, bp+144) } -var encnames = [4]uintptr{ts + 4959, ts + 4961, ts + 4963, ts + 4968} /* sqlite3.c:81444:25 */ +var encnames = [4]uintptr{ts + 4959, ts + 4961, ts + 4963, ts + 4968} /* sqlite3.c:81457:25 */ // Declare to the Vdbe that the BTree object at db->aDb[i] is used. // @@ -58734,7 +58753,7 @@ var encnames = [4]uintptr{ts + 4959, ts + 4961, ts + 4963, ts + 4968} /* sqlite3 // attached databases that will be use. A mask of these databases // is maintained in p->btreeMask. The p->lockMask value is the subset of // p->btreeMask of databases that will require a lock. -func Xsqlite3VdbeUsesBtree(tls *libc.TLS, p uintptr, i int32) { /* sqlite3.c:81539:21: */ +func Xsqlite3VdbeUsesBtree(tls *libc.TLS, p uintptr, i int32) { /* sqlite3.c:81552:21: */ *(*YDbMask)(unsafe.Pointer(p + 164)) |= YDbMask(YDbMask(1)) << i if i != 1 && Xsqlite3BtreeSharable(tls, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer((*Vdbe)(unsafe.Pointer(p)).Fdb)).FaDb+uintptr(i)*16)).FpBt) != 0 { @@ -58761,7 +58780,7 @@ func Xsqlite3VdbeUsesBtree(tls *libc.TLS, p uintptr, i int32) { /* sqlite3.c:815 // corresponding to btrees that use shared cache. Then the runtime of // this routine is N*N. But as N is rarely more than 1, this should not // be a problem. -func Xsqlite3VdbeEnter(tls *libc.TLS, p uintptr) { /* sqlite3.c:81570:21: */ +func Xsqlite3VdbeEnter(tls *libc.TLS, p uintptr) { /* sqlite3.c:81583:21: */ var i int32 var db uintptr var aDb uintptr @@ -58780,7 +58799,7 @@ func Xsqlite3VdbeEnter(tls *libc.TLS, p uintptr) { /* sqlite3.c:81570:21: */ } // Unlock all of the btrees previously locked by a call to sqlite3VdbeEnter(). -func vdbeLeave(tls *libc.TLS, p uintptr) { /* sqlite3.c:81591:29: */ +func vdbeLeave(tls *libc.TLS, p uintptr) { /* sqlite3.c:81604:29: */ var i int32 var db uintptr var aDb uintptr @@ -58795,7 +58814,7 @@ func vdbeLeave(tls *libc.TLS, p uintptr) { /* sqlite3.c:81591:29: */ } } -func Xsqlite3VdbeLeave(tls *libc.TLS, p uintptr) { /* sqlite3.c:81605:21: */ +func Xsqlite3VdbeLeave(tls *libc.TLS, p uintptr) { /* sqlite3.c:81618:21: */ if (*Vdbe)(unsafe.Pointer(p)).FlockMask == YDbMask(0) { return } // The common case @@ -58803,7 +58822,7 @@ func Xsqlite3VdbeLeave(tls *libc.TLS, p uintptr) { /* sqlite3.c:81605:21: */ } // Initialize an array of N Mem element. -func initMemArray(tls *libc.TLS, p uintptr, N int32, db uintptr, flags U16) { /* sqlite3.c:81647:13: */ +func initMemArray(tls *libc.TLS, p uintptr, N int32, db uintptr, flags U16) { /* sqlite3.c:81660:13: */ for libc.PostDecInt32(&N, 1) > 0 { (*Mem)(unsafe.Pointer(p)).Fdb = db (*Mem)(unsafe.Pointer(p)).Fflags = flags @@ -58813,7 +58832,7 @@ func initMemArray(tls *libc.TLS, p uintptr, N int32, db uintptr, flags U16) { /* } // Release an array of N Mem elements -func releaseMemArray(tls *libc.TLS, p uintptr, N int32) { /* sqlite3.c:81662:13: */ +func releaseMemArray(tls *libc.TLS, p uintptr, N int32) { /* sqlite3.c:81675:13: */ if p != 0 && N != 0 { var pEnd uintptr = p + uintptr(N)*40 var db uintptr = (*Mem)(unsafe.Pointer(p)).Fdb @@ -58857,7 +58876,7 @@ func releaseMemArray(tls *libc.TLS, p uintptr, N int32) { /* sqlite3.c:81662:13: // // This routine does not delete the Frame right away. It merely adds the // frame to a list of frames to be deleted when the Vdbe halts. -func Xsqlite3VdbeFrameMemDel(tls *libc.TLS, pArg uintptr) { /* sqlite3.c:81724:21: */ +func Xsqlite3VdbeFrameMemDel(tls *libc.TLS, pArg uintptr) { /* sqlite3.c:81737:21: */ var pFrame uintptr = pArg (*VdbeFrame)(unsafe.Pointer(pFrame)).FpParent = (*Vdbe)(unsafe.Pointer((*VdbeFrame)(unsafe.Pointer(pFrame)).Fv)).FpDelFrame @@ -58869,7 +58888,7 @@ func Xsqlite3VdbeFrameMemDel(tls *libc.TLS, pArg uintptr) { /* sqlite3.c:81724:2 // // Return SQLITE_ROW on success. Return SQLITE_DONE if there are no // more opcodes to be displayed. -func Xsqlite3VdbeNextOpcode(tls *libc.TLS, p uintptr, pSub uintptr, eMode int32, piPc uintptr, piAddr uintptr, paOp uintptr) int32 { /* sqlite3.c:81739:20: */ +func Xsqlite3VdbeNextOpcode(tls *libc.TLS, p uintptr, pSub uintptr, eMode int32, piPc uintptr, piAddr uintptr, paOp uintptr) int32 { /* sqlite3.c:81752:20: */ var nRow int32 // Stop when row count reaches this var nSub int32 = 0 // Number of sub-vdbes seen so far var apSub uintptr = uintptr(0) // Array of sub-vdbes @@ -58968,7 +58987,7 @@ func Xsqlite3VdbeNextOpcode(tls *libc.TLS, p uintptr, pSub uintptr, eMode int32, // Delete a VdbeFrame object and its contents. VdbeFrame objects are // allocated by the OP_Program opcode in sqlite3VdbeExec(). -func Xsqlite3VdbeFrameDelete(tls *libc.TLS, p uintptr) { /* sqlite3.c:81851:21: */ +func Xsqlite3VdbeFrameDelete(tls *libc.TLS, p uintptr) { /* sqlite3.c:81864:21: */ var i int32 var aMem uintptr = p + 88 var apCsr uintptr = aMem + uintptr((*VdbeFrame)(unsafe.Pointer(p)).FnChildMem)*40 @@ -58997,7 +59016,7 @@ func Xsqlite3VdbeFrameDelete(tls *libc.TLS, p uintptr) { /* sqlite3.c:81851:21: // // When p->explain==1, first the main program is listed, then each of // the trigger subprograms are listed one by one. -func Xsqlite3VdbeList(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:81883:20: */ +func Xsqlite3VdbeList(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:81896:20: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -59087,7 +59106,7 @@ type ReusableSpace = struct { F__ccgo_pad1 [4]byte FnFree Sqlite3_int64 FnNeeded Sqlite3_int64 -} /* sqlite3.c:82028:1 */ +} /* sqlite3.c:82041:1 */ // Try to allocate nByte bytes of 8-byte aligned bulk memory for pBuf // from the ReusableSpace object. Return a pointer to the allocated @@ -59102,7 +59121,7 @@ type ReusableSpace = struct { // This allocator is employed to repurpose unused slots at the end of the // opcode array of prepared state for other memory needs of the prepared // statement. -func allocSpace(tls *libc.TLS, p uintptr, pBuf uintptr, nByte Sqlite3_int64) uintptr { /* sqlite3.c:82048:13: */ +func allocSpace(tls *libc.TLS, p uintptr, pBuf uintptr, nByte Sqlite3_int64) uintptr { /* sqlite3.c:82061:13: */ if pBuf == uintptr(0) { nByte = (nByte + int64(7)) & int64(libc.CplInt32(7)) @@ -59119,7 +59138,7 @@ func allocSpace(tls *libc.TLS, p uintptr, pBuf uintptr, nByte Sqlite3_int64) uin // Rewind the VDBE back to the beginning in preparation for // running it. -func Xsqlite3VdbeRewind(tls *libc.TLS, p uintptr) { /* sqlite3.c:82071:21: */ +func Xsqlite3VdbeRewind(tls *libc.TLS, p uintptr) { /* sqlite3.c:82084:21: */ // There should be at least one opcode. @@ -59152,7 +59171,7 @@ func Xsqlite3VdbeRewind(tls *libc.TLS, p uintptr) { /* sqlite3.c:82071:21: */ // // Use the sqlite3VdbeRewind() procedure to restore a virtual machine back // to its initial state after it has been run. -func Xsqlite3VdbeMakeReady(tls *libc.TLS, p uintptr, pParse uintptr) { /* sqlite3.c:82124:21: */ +func Xsqlite3VdbeMakeReady(tls *libc.TLS, p uintptr, pParse uintptr) { /* sqlite3.c:82137:21: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -59261,11 +59280,11 @@ func Xsqlite3VdbeMakeReady(tls *libc.TLS, p uintptr, pParse uintptr) { /* sqlite var azColName = [12]uintptr{ ts + 4973, ts + 4978, ts + 4985, ts + 4988, ts + 4991, ts + 4994, ts + 4997, ts + 5000, ts + 5008, ts + 5011, ts + 5018, ts + 5026, -} /* sqlite3.c:82172:23 */ +} /* sqlite3.c:82185:23 */ // Close a VDBE cursor and release all the resources that cursor // happens to hold. -func Xsqlite3VdbeFreeCursor(tls *libc.TLS, p uintptr, pCx uintptr) { /* sqlite3.c:82249:21: */ +func Xsqlite3VdbeFreeCursor(tls *libc.TLS, p uintptr, pCx uintptr) { /* sqlite3.c:82262:21: */ if pCx == uintptr(0) { return } @@ -59299,7 +59318,7 @@ func Xsqlite3VdbeFreeCursor(tls *libc.TLS, p uintptr, pCx uintptr) { /* sqlite3. } // Close all cursors in the current frame. -func closeCursorsInFrame(tls *libc.TLS, p uintptr) { /* sqlite3.c:82279:13: */ +func closeCursorsInFrame(tls *libc.TLS, p uintptr) { /* sqlite3.c:82292:13: */ if (*Vdbe)(unsafe.Pointer(p)).FapCsr != 0 { var i int32 for i = 0; i < (*Vdbe)(unsafe.Pointer(p)).FnCursor; i++ { @@ -59315,7 +59334,7 @@ func closeCursorsInFrame(tls *libc.TLS, p uintptr) { /* sqlite3.c:82279:13: */ // Copy the values stored in the VdbeFrame structure to its Vdbe. This // is used, for example, when a trigger sub-program is halted to restore // control to the main program. -func Xsqlite3VdbeFrameRestore(tls *libc.TLS, pFrame uintptr) int32 { /* sqlite3.c:82297:20: */ +func Xsqlite3VdbeFrameRestore(tls *libc.TLS, pFrame uintptr) int32 { /* sqlite3.c:82310:20: */ var v uintptr = (*VdbeFrame)(unsafe.Pointer(pFrame)).Fv closeCursorsInFrame(tls, v) (*Vdbe)(unsafe.Pointer(v)).FaOp = (*VdbeFrame)(unsafe.Pointer(pFrame)).FaOp @@ -59339,7 +59358,7 @@ func Xsqlite3VdbeFrameRestore(tls *libc.TLS, pFrame uintptr) int32 { /* sqlite3. // cell array. This is necessary as the memory cell array may contain // pointers to VdbeFrame objects, which may in turn contain pointers to // open cursors. -func closeAllCursors(tls *libc.TLS, p uintptr) { /* sqlite3.c:82326:13: */ +func closeAllCursors(tls *libc.TLS, p uintptr) { /* sqlite3.c:82339:13: */ if (*Vdbe)(unsafe.Pointer(p)).FpFrame != 0 { var pFrame uintptr for pFrame = (*Vdbe)(unsafe.Pointer(p)).FpFrame; (*VdbeFrame)(unsafe.Pointer(pFrame)).FpParent != 0; pFrame = (*VdbeFrame)(unsafe.Pointer(pFrame)).FpParent { @@ -59370,7 +59389,7 @@ func closeAllCursors(tls *libc.TLS, p uintptr) { /* sqlite3.c:82326:13: */ // statement. This is now set at compile time, rather than during // execution of the vdbe program so that sqlite3_column_count() can // be called on an SQL statement before sqlite3_step(). -func Xsqlite3VdbeSetNumCols(tls *libc.TLS, p uintptr, nResColumn int32) { /* sqlite3.c:82356:21: */ +func Xsqlite3VdbeSetNumCols(tls *libc.TLS, p uintptr, nResColumn int32) { /* sqlite3.c:82369:21: */ var n int32 var db uintptr = (*Vdbe)(unsafe.Pointer(p)).Fdb @@ -59395,7 +59414,7 @@ func Xsqlite3VdbeSetNumCols(tls *libc.TLS, p uintptr, nResColumn int32) { /* sql // The final parameter, xDel, must be one of SQLITE_DYNAMIC, SQLITE_STATIC // 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 Xsqlite3VdbeSetColName(tls *libc.TLS, p uintptr, idx int32, var1 int32, zName uintptr, xDel uintptr) int32 { /* sqlite3.c:82381:20: */ +func Xsqlite3VdbeSetColName(tls *libc.TLS, p uintptr, idx int32, var1 int32, zName uintptr, xDel uintptr) int32 { /* sqlite3.c:82394:20: */ var rc int32 var pColName uintptr @@ -59414,7 +59433,7 @@ func Xsqlite3VdbeSetColName(tls *libc.TLS, p uintptr, idx int32, var1 int32, zNa // db. If a transaction is active, commit it. If there is a // write-transaction spanning more than one database file, this routine // takes care of the super-journal trickery. -func vdbeCommit(tls *libc.TLS, db uintptr, p uintptr) int32 { /* sqlite3.c:82409:12: */ +func vdbeCommit(tls *libc.TLS, db uintptr, p uintptr) int32 { /* sqlite3.c:82422:12: */ bp := tls.Alloc(68) defer tls.Free(68) @@ -59642,7 +59661,7 @@ var aMJNeeded = [6]U8{ /* TRUNCATE */ U8(1), /* MEMORY */ U8(0), /* WAL */ U8(0), -} /* sqlite3.c:82444:23 */ +} /* sqlite3.c:82457:23 */ // This routine checks that the sqlite3.nVdbeActive count variable // matches the number of vdbe's in the list sqlite3.pVdbe that are @@ -59660,7 +59679,7 @@ var aMJNeeded = [6]U8{ // // If an IO error occurs, an SQLITE_IOERR_XXX error code is returned. // Otherwise SQLITE_OK. -func vdbeCloseStatement(tls *libc.TLS, p uintptr, eOp int32) int32 { /* sqlite3.c:82705:28: */ +func vdbeCloseStatement(tls *libc.TLS, p uintptr, eOp int32) int32 { /* sqlite3.c:82718:28: */ var db uintptr = (*Vdbe)(unsafe.Pointer(p)).Fdb var rc int32 = SQLITE_OK var i int32 @@ -59703,7 +59722,7 @@ func vdbeCloseStatement(tls *libc.TLS, p uintptr, eOp int32) int32 { /* sqlite3. return rc } -func Xsqlite3VdbeCloseStatement(tls *libc.TLS, p uintptr, eOp int32) int32 { /* sqlite3.c:82751:20: */ +func Xsqlite3VdbeCloseStatement(tls *libc.TLS, p uintptr, eOp int32) int32 { /* sqlite3.c:82764:20: */ if (*Sqlite3)(unsafe.Pointer((*Vdbe)(unsafe.Pointer(p)).Fdb)).FnStatement != 0 && (*Vdbe)(unsafe.Pointer(p)).FiStatement != 0 { return vdbeCloseStatement(tls, p, eOp) } @@ -59718,7 +59737,7 @@ func Xsqlite3VdbeCloseStatement(tls *libc.TLS, p uintptr, eOp int32) int32 { /* // If there are outstanding FK violations and this function returns // SQLITE_ERROR, set the result of the VM to SQLITE_CONSTRAINT_FOREIGNKEY // and write an error message to it. Then return SQLITE_ERROR. -func Xsqlite3VdbeCheckFk(tls *libc.TLS, p uintptr, deferred int32) int32 { /* sqlite3.c:82770:20: */ +func Xsqlite3VdbeCheckFk(tls *libc.TLS, p uintptr, deferred int32) int32 { /* sqlite3.c:82783:20: */ var db uintptr = (*Vdbe)(unsafe.Pointer(p)).Fdb if deferred != 0 && (*Sqlite3)(unsafe.Pointer(db)).FnDeferredCons+(*Sqlite3)(unsafe.Pointer(db)).FnDeferredImmCons > int64(0) || !(deferred != 0) && (*Vdbe)(unsafe.Pointer(p)).FnFkConstraint > int64(0) { @@ -59741,7 +59760,7 @@ func Xsqlite3VdbeCheckFk(tls *libc.TLS, p uintptr, deferred int32) int32 { /* sq // Return an error code. If the commit could not complete because of // lock contention, return SQLITE_BUSY. If SQLITE_BUSY is returned, it // means the close did not happen and needs to be repeated. -func Xsqlite3VdbeHalt(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:82797:20: */ +func Xsqlite3VdbeHalt(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:82810:20: */ var rc int32 // Used to store transient return codes var db uintptr = (*Vdbe)(unsafe.Pointer(p)).Fdb @@ -59945,7 +59964,7 @@ func Xsqlite3VdbeHalt(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:82797:20: * // Each VDBE holds the result of the most recent sqlite3_step() call // in p->rc. This routine sets that result back to SQLITE_OK. -func Xsqlite3VdbeResetStepResult(tls *libc.TLS, p uintptr) { /* sqlite3.c:83007:21: */ +func Xsqlite3VdbeResetStepResult(tls *libc.TLS, p uintptr) { /* sqlite3.c:83020:21: */ (*Vdbe)(unsafe.Pointer(p)).Frc = SQLITE_OK } @@ -59955,7 +59974,7 @@ func Xsqlite3VdbeResetStepResult(tls *libc.TLS, p uintptr) { /* sqlite3.c:83007: // // This function does not clear the VDBE error code or message, just // copies them to the database handle. -func Xsqlite3VdbeTransferError(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:83019:20: */ +func Xsqlite3VdbeTransferError(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:83032:20: */ var db uintptr = (*Vdbe)(unsafe.Pointer(p)).Fdb var rc int32 = (*Vdbe)(unsafe.Pointer(p)).Frc if (*Vdbe)(unsafe.Pointer(p)).FzErrMsg != 0 { @@ -59984,7 +60003,7 @@ func Xsqlite3VdbeTransferError(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:83 // To look at it another way, this routine resets the state of the // virtual machine from VDBE_MAGIC_RUN or VDBE_MAGIC_HALT back to // VDBE_MAGIC_INIT. -func Xsqlite3VdbeReset(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:83069:20: */ +func Xsqlite3VdbeReset(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:83082:20: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -60036,7 +60055,7 @@ func Xsqlite3VdbeReset(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:83069:20: // Clean up and delete a VDBE after execution. Return an integer which is // the result code. Write any error message text into *pzErrMsg. -func Xsqlite3VdbeFinalize(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:83166:20: */ +func Xsqlite3VdbeFinalize(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:83179:20: */ var rc int32 = SQLITE_OK if (*Vdbe)(unsafe.Pointer(p)).FiVdbeMagic == U32(VDBE_MAGIC_RUN) || (*Vdbe)(unsafe.Pointer(p)).FiVdbeMagic == U32(VDBE_MAGIC_HALT) { rc = Xsqlite3VdbeReset(tls, p) @@ -60060,7 +60079,7 @@ func Xsqlite3VdbeFinalize(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:83166:2 // // * the corresponding bit in argument mask is clear (where the first // function parameter corresponds to bit 0 etc.). -func Xsqlite3VdbeDeleteAuxData(tls *libc.TLS, db uintptr, pp uintptr, iOp int32, mask int32) { /* sqlite3.c:83192:21: */ +func Xsqlite3VdbeDeleteAuxData(tls *libc.TLS, db uintptr, pp uintptr, iOp int32, mask int32) { /* sqlite3.c:83205:21: */ for *(*uintptr)(unsafe.Pointer(pp)) != 0 { var pAux uintptr = *(*uintptr)(unsafe.Pointer(pp)) if iOp < 0 || @@ -60085,7 +60104,7 @@ func Xsqlite3VdbeDeleteAuxData(tls *libc.TLS, db uintptr, pp uintptr, iOp int32, // The difference between this function and sqlite3VdbeDelete() is that // VdbeDelete() also unlinks the Vdbe from the list of VMs associated with // the database connection and frees the object itself. -func Xsqlite3VdbeClearObject(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:83220:21: */ +func Xsqlite3VdbeClearObject(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:83233:21: */ var pSub uintptr var pNext uintptr @@ -60106,7 +60125,7 @@ func Xsqlite3VdbeClearObject(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3. } // Delete an entire VDBE. -func Xsqlite3VdbeDelete(tls *libc.TLS, p uintptr) { /* sqlite3.c:83261:21: */ +func Xsqlite3VdbeDelete(tls *libc.TLS, p uintptr) { /* sqlite3.c:83274:21: */ var db uintptr db = (*Vdbe)(unsafe.Pointer(p)).Fdb @@ -60129,7 +60148,7 @@ func Xsqlite3VdbeDelete(tls *libc.TLS, p uintptr) { /* sqlite3.c:83261:21: */ // The cursor "p" has a pending seek operation that has not yet been // carried out. Seek the cursor now. If an error occurs, return // the appropriate error code. -func Xsqlite3VdbeFinishMoveto(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:83287:36: */ +func Xsqlite3VdbeFinishMoveto(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:83300:36: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -60142,7 +60161,7 @@ func Xsqlite3VdbeFinishMoveto(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:832 return rc } if *(*int32)(unsafe.Pointer(bp)) != 0 { - return Xsqlite3CorruptError(tls, 83297) + return Xsqlite3CorruptError(tls, 83310) } (*VdbeCursor)(unsafe.Pointer(p)).FdeferredMoveto = U8(0) (*VdbeCursor)(unsafe.Pointer(p)).FcacheStatus = U32(CACHE_STALE) @@ -60154,7 +60173,7 @@ func Xsqlite3VdbeFinishMoveto(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:832 // rebalanced. Whatever the cause, try to restore "p" to the place it // is supposed to be pointing. If the row was deleted out from under the // cursor, set the cursor to point to a NULL row. -func handleMovedCursor(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:83313:28: */ +func handleMovedCursor(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:83326:28: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -60172,7 +60191,7 @@ func handleMovedCursor(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:83313:28: // Check to ensure that the cursor is valid. Restore the cursor // if need be. Return any I/O error from the restore operation. -func Xsqlite3VdbeCursorRestore(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:83328:20: */ +func Xsqlite3VdbeCursorRestore(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:83341:20: */ if Xsqlite3BtreeCursorHasMoved(tls, *(*uintptr)(unsafe.Pointer(p + 36))) != 0 { return handleMovedCursor(tls, p) @@ -60191,7 +60210,7 @@ func Xsqlite3VdbeCursorRestore(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:83 // // If the cursor is already pointing to the correct row and that row has // not been deleted out from under the cursor, then this routine is a no-op. -func Xsqlite3VdbeCursorMoveto(tls *libc.TLS, pp uintptr, piCol uintptr) int32 { /* sqlite3.c:83349:20: */ +func Xsqlite3VdbeCursorMoveto(tls *libc.TLS, pp uintptr, piCol uintptr) int32 { /* sqlite3.c:83362:20: */ var p uintptr = *(*uintptr)(unsafe.Pointer(pp)) if (*VdbeCursor)(unsafe.Pointer(p)).FdeferredMoveto != 0 { @@ -60266,10 +60285,10 @@ var sqlite3SmallTypeSizes = [128]U8{ /* 100 */ U8(44), U8(44), U8(45), U8(45), U8(46), U8(46), U8(47), U8(47), U8(48), U8(48), /* 110 */ U8(49), U8(49), U8(50), U8(50), U8(51), U8(51), U8(52), U8(52), U8(53), U8(53), /* 120 */ U8(54), U8(54), U8(55), U8(55), U8(56), U8(56), U8(57), U8(57), -} /* sqlite3.c:83486:17 */ +} /* sqlite3.c:83499:17 */ // Return the length of the data corresponding to the supplied serial-type. -func Xsqlite3VdbeSerialTypeLen(tls *libc.TLS, serial_type U32) U32 { /* sqlite3.c:83506:20: */ +func Xsqlite3VdbeSerialTypeLen(tls *libc.TLS, serial_type U32) U32 { /* sqlite3.c:83519:20: */ if serial_type >= U32(128) { return (serial_type - U32(12)) / U32(2) } else { @@ -60279,7 +60298,7 @@ func Xsqlite3VdbeSerialTypeLen(tls *libc.TLS, serial_type U32) U32 { /* sqlite3. return U32(0) } -func Xsqlite3VdbeOneByteSerialTypeLen(tls *libc.TLS, serial_type U8) U8 { /* sqlite3.c:83515:19: */ +func Xsqlite3VdbeOneByteSerialTypeLen(tls *libc.TLS, serial_type U8) U8 { /* sqlite3.c:83528:19: */ return sqlite3SmallTypeSizes[serial_type] } @@ -60328,7 +60347,7 @@ func Xsqlite3VdbeOneByteSerialTypeLen(tls *libc.TLS, serial_type U8) U8 { /* sql // Return the number of bytes actually written into buf[]. The number // of bytes in the zero-filled tail is included in the return value only // if those bytes were zeroed in buf[]. -func Xsqlite3VdbeSerialPut(tls *libc.TLS, buf uintptr, pMem uintptr, serial_type U32) U32 { /* sqlite3.c:83586:20: */ +func Xsqlite3VdbeSerialPut(tls *libc.TLS, buf uintptr, pMem uintptr, serial_type U32) U32 { /* sqlite3.c:83599:20: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -60379,7 +60398,7 @@ func Xsqlite3VdbeSerialPut(tls *libc.TLS, buf uintptr, pMem uintptr, serial_type // The few cases that require local variables are broken out into a separate // routine so that in most cases the overhead of moving the stack pointer // is avoided. -func serialGet(tls *libc.TLS, buf uintptr, serial_type U32, pMem uintptr) { /* sqlite3.c:83640:13: */ +func serialGet(tls *libc.TLS, buf uintptr, serial_type U32, pMem uintptr) { /* sqlite3.c:83653:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -60406,7 +60425,7 @@ func serialGet(tls *libc.TLS, buf uintptr, serial_type U32, pMem uintptr) { /* s } } -func Xsqlite3VdbeSerialGet(tls *libc.TLS, buf uintptr, serial_type U32, pMem uintptr) { /* sqlite3.c:83675:21: */ +func Xsqlite3VdbeSerialGet(tls *libc.TLS, buf uintptr, serial_type U32, pMem uintptr) { /* sqlite3.c:83688:21: */ switch serial_type { case U32(10): { // Internal use only: NULL with virtual table @@ -60509,7 +60528,7 @@ func Xsqlite3VdbeSerialGet(tls *libc.TLS, buf uintptr, serial_type U32, pMem uin return } -var aFlag = [2]U16{U16(MEM_Blob | MEM_Ephem), U16(MEM_Str | MEM_Ephem)} /* sqlite3.c:83758:24 */ +var aFlag = [2]U16{U16(MEM_Blob | MEM_Ephem), U16(MEM_Str | MEM_Ephem)} /* sqlite3.c:83771:24 */ // This routine is used to allocate sufficient space for an UnpackedRecord // structure large enough to be used with sqlite3VdbeRecordUnpack() if @@ -60523,7 +60542,7 @@ var aFlag = [2]U16{U16(MEM_Blob | MEM_Ephem), U16(MEM_Str | MEM_Ephem)} /* sqlit // before returning. // // If an OOM error occurs, NULL is returned. -func Xsqlite3VdbeAllocUnpackedRecord(tls *libc.TLS, pKeyInfo uintptr) uintptr { /* sqlite3.c:83781:31: */ +func Xsqlite3VdbeAllocUnpackedRecord(tls *libc.TLS, pKeyInfo uintptr) uintptr { /* sqlite3.c:83794:31: */ var p uintptr // Unpacked record to return var nByte int32 // Number of bytes required for *p nByte = int32((uint32(unsafe.Sizeof(UnpackedRecord{}))+uint32(7))&libc.Uint32FromInt32(libc.CplInt32(7)) + uint32(unsafe.Sizeof(Mem{}))*uint32(int32((*KeyInfo)(unsafe.Pointer(pKeyInfo)).FnKeyField)+1)) @@ -60541,7 +60560,7 @@ func Xsqlite3VdbeAllocUnpackedRecord(tls *libc.TLS, pKeyInfo uintptr) uintptr { // Given the nKey-byte encoding of a record in pKey[], populate the // UnpackedRecord structure indicated by the fourth argument with the // contents of the decoded record. -func Xsqlite3VdbeRecordUnpack(tls *libc.TLS, pKeyInfo uintptr, nKey int32, pKey uintptr, p uintptr) { /* sqlite3.c:83801:21: */ +func Xsqlite3VdbeRecordUnpack(tls *libc.TLS, pKeyInfo uintptr, nKey int32, pKey uintptr, p uintptr) { /* sqlite3.c:83814:21: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -60602,7 +60621,7 @@ func Xsqlite3VdbeRecordUnpack(tls *libc.TLS, pKeyInfo uintptr, nKey int32, pKey // using the collation sequence pColl. As usual, return a negative , zero // or positive value if *pMem1 is less than, equal to or greater than // *pMem2, respectively. Similar in spirit to "rc = (*pMem1) - (*pMem2);". -func vdbeCompareMemString(tls *libc.TLS, pMem1 uintptr, pMem2 uintptr, pColl uintptr, prcErr uintptr) int32 { /* sqlite3.c:83998:12: */ +func vdbeCompareMemString(tls *libc.TLS, pMem1 uintptr, pMem2 uintptr, pColl uintptr, prcErr uintptr) int32 { /* sqlite3.c:84011:12: */ bp := tls.Alloc(80) defer tls.Free(80) @@ -60645,7 +60664,7 @@ func vdbeCompareMemString(tls *libc.TLS, pMem1 uintptr, pMem2 uintptr, pColl uin // The input pBlob is guaranteed to be a Blob that is not marked // with MEM_Zero. Return true if it could be a zero-blob. -func isAllZero(tls *libc.TLS, z uintptr, n int32) int32 { /* sqlite3.c:84035:12: */ +func isAllZero(tls *libc.TLS, z uintptr, n int32) int32 { /* sqlite3.c:84048:12: */ var i int32 for i = 0; i < n; i++ { if *(*uint8)(unsafe.Pointer(z + uintptr(i))) != 0 { @@ -60658,7 +60677,7 @@ func isAllZero(tls *libc.TLS, z uintptr, n int32) int32 { /* sqlite3.c:84035:12: // Compare two blobs. Return negative, zero, or positive if the first // is less than, equal to, or greater than the second, respectively. // If one blob is a prefix of the other, then the shorter is the lessor. -func Xsqlite3BlobCompare(tls *libc.TLS, pB1 uintptr, pB2 uintptr) int32 { /* sqlite3.c:84048:36: */ +func Xsqlite3BlobCompare(tls *libc.TLS, pB1 uintptr, pB2 uintptr) int32 { /* sqlite3.c:84061:36: */ var c int32 var n1 int32 = (*Mem)(unsafe.Pointer(pB1)).Fn var n2 int32 = (*Mem)(unsafe.Pointer(pB2)).Fn @@ -60698,7 +60717,7 @@ func Xsqlite3BlobCompare(tls *libc.TLS, pB1 uintptr, pB2 uintptr) int32 { /* sql // Do a comparison between a 64-bit signed integer and a 64-bit floating-point // number. Return negative, zero, or positive if the first (i64) is less than, // equal to, or greater than the second (double). -func Xsqlite3IntFloatCompare(tls *libc.TLS, i I64, r float64) int32 { /* sqlite3.c:84081:20: */ +func Xsqlite3IntFloatCompare(tls *libc.TLS, i I64, r float64) int32 { /* sqlite3.c:84094:20: */ if uint32(unsafe.Sizeof(float64(0))) > uint32(8) { var x float64 = float64(i) @@ -60744,7 +60763,7 @@ func Xsqlite3IntFloatCompare(tls *libc.TLS, i I64, r float64) int32 { /* sqlite3 // sequence pColl and finally blob's ordered by memcmp(). // // Two NULL values are considered equal by this function. -func Xsqlite3MemCompare(tls *libc.TLS, pMem1 uintptr, pMem2 uintptr, pColl uintptr) int32 { /* sqlite3.c:84114:20: */ +func Xsqlite3MemCompare(tls *libc.TLS, pMem1 uintptr, pMem2 uintptr, pColl uintptr) int32 { /* sqlite3.c:84127:20: */ var f1 int32 var f2 int32 var combined_flags int32 @@ -60838,7 +60857,7 @@ func Xsqlite3MemCompare(tls *libc.TLS, pMem1 uintptr, pMem2 uintptr, pColl uintp // except 7. The second points to a buffer containing an integer value // serialized according to serial_type. This function deserializes // and returns the value. -func vdbeRecordDecodeInt(tls *libc.TLS, serial_type U32, aKey uintptr) I64 { /* sqlite3.c:84213:12: */ +func vdbeRecordDecodeInt(tls *libc.TLS, serial_type U32, aKey uintptr) I64 { /* sqlite3.c:84226:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -60901,7 +60920,7 @@ func vdbeRecordDecodeInt(tls *libc.TLS, serial_type U32, aKey uintptr) I64 { /* // SQLITE_CORRUPT and return 0. If an OOM error is encountered, // pPKey2->errCode is set to SQLITE_NOMEM and, if it is not NULL, the // malloc-failed flag set on database handle (pPKey2->pKeyInfo->db). -func Xsqlite3VdbeRecordCompareWithSkip(tls *libc.TLS, nKey1 int32, pKey1 uintptr, pPKey2 uintptr, bSkip int32) int32 { /* sqlite3.c:84268:20: */ +func Xsqlite3VdbeRecordCompareWithSkip(tls *libc.TLS, nKey1 int32, pKey1 uintptr, pPKey2 uintptr, bSkip int32) int32 { /* sqlite3.c:84281:20: */ bp := tls.Alloc(52) defer tls.Free(52) @@ -60943,7 +60962,7 @@ func Xsqlite3VdbeRecordCompareWithSkip(tls *libc.TLS, nKey1 int32, pKey1 uintptr i = 0 } if d1 > uint32(nKey1) { - (*UnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = U8(Xsqlite3CorruptError(tls, 84299)) + (*UnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = U8(Xsqlite3CorruptError(tls, 84312)) return 0 // Corruption } @@ -61008,7 +61027,7 @@ func Xsqlite3VdbeRecordCompareWithSkip(tls *libc.TLS, nKey1 int32, pKey1 uintptr if d1+U32((*Mem)(unsafe.Pointer(bp+8)).Fn) > uint32(nKey1) || int32((*KeyInfo)(unsafe.Pointer(libc.AssignUintptr(&pKeyInfo, (*UnpackedRecord)(unsafe.Pointer(pPKey2)).FpKeyInfo))).FnAllField) <= i { - (*UnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = U8(Xsqlite3CorruptError(tls, 84376)) + (*UnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = U8(Xsqlite3CorruptError(tls, 84389)) return 0 // Corruption } else if *(*uintptr)(unsafe.Pointer(pKeyInfo + 20 + uintptr(i)*4)) != 0 { (*Mem)(unsafe.Pointer(bp + 8 /* &mem1 */)).Fenc = (*KeyInfo)(unsafe.Pointer(pKeyInfo)).Fenc @@ -61043,7 +61062,7 @@ func Xsqlite3VdbeRecordCompareWithSkip(tls *libc.TLS, nKey1 int32, pKey1 uintptr var nStr int32 = int32((*(*U32)(unsafe.Pointer(bp + 48)) - U32(12)) / U32(2)) if d1+U32(nStr) > uint32(nKey1) { - (*UnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = U8(Xsqlite3CorruptError(tls, 84406)) + (*UnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = U8(Xsqlite3CorruptError(tls, 84419)) return 0 // Corruption } else if int32((*Mem)(unsafe.Pointer(pRhs)).Fflags)&MEM_Zero != 0 { if !(isAllZero(tls, aKey1+uintptr(d1), nStr) != 0) { @@ -61104,7 +61123,7 @@ func Xsqlite3VdbeRecordCompareWithSkip(tls *libc.TLS, nKey1 int32, pKey1 uintptr return int32((*UnpackedRecord)(unsafe.Pointer(pPKey2)).Fdefault_rc) } -func Xsqlite3VdbeRecordCompare(tls *libc.TLS, nKey1 int32, pKey1 uintptr, pPKey2 uintptr) int32 { /* sqlite3.c:84465:20: */ +func Xsqlite3VdbeRecordCompare(tls *libc.TLS, nKey1 int32, pKey1 uintptr, pPKey2 uintptr) int32 { /* sqlite3.c:84478:20: */ return Xsqlite3VdbeRecordCompareWithSkip(tls, nKey1, pKey1, pPKey2, 0) } @@ -61115,7 +61134,7 @@ func Xsqlite3VdbeRecordCompare(tls *libc.TLS, nKey1 int32, pKey1 uintptr, pPKey2 // // To avoid concerns about buffer overreads, this routine is only used // on schemas where the maximum valid header size is 63 bytes or less. -func vdbeRecordCompareInt(tls *libc.TLS, nKey1 int32, pKey1 uintptr, pPKey2 uintptr) int32 { /* sqlite3.c:84482:12: */ +func vdbeRecordCompareInt(tls *libc.TLS, nKey1 int32, pKey1 uintptr, pPKey2 uintptr) int32 { /* sqlite3.c:84495:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -61220,7 +61239,7 @@ func vdbeRecordCompareInt(tls *libc.TLS, nKey1 int32, pKey1 uintptr, pPKey2 uint // that (a) the first field of pPKey2 is a string, that (b) the first field // uses the collation sequence BINARY and (c) that the size-of-header varint // at the start of (pKey1/nKey1) fits in a single byte. -func vdbeRecordCompareString(tls *libc.TLS, nKey1 int32, pKey1 uintptr, pPKey2 uintptr) int32 { /* sqlite3.c:84576:12: */ +func vdbeRecordCompareString(tls *libc.TLS, nKey1 int32, pKey1 uintptr, pPKey2 uintptr) int32 { /* sqlite3.c:84589:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -61244,7 +61263,7 @@ func vdbeRecordCompareString(tls *libc.TLS, nKey1 int32, pKey1 uintptr, pPKey2 u nStr = (*(*int32)(unsafe.Pointer(bp)) - 12) / 2 if szHdr+nStr > nKey1 { - (*UnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = U8(Xsqlite3CorruptError(tls, 84601)) + (*UnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = U8(Xsqlite3CorruptError(tls, 84614)) return 0 // Corruption } nCmp = func() int32 { @@ -61282,7 +61301,7 @@ func vdbeRecordCompareString(tls *libc.TLS, nKey1 int32, pKey1 uintptr, pPKey2 u // Return a pointer to an sqlite3VdbeRecordCompare() compatible function // suitable for comparing serialized records to the unpacked record passed // as the only argument. -func Xsqlite3VdbeFindCompare(tls *libc.TLS, p uintptr) RecordCompare { /* sqlite3.c:84640:30: */ +func Xsqlite3VdbeFindCompare(tls *libc.TLS, p uintptr) RecordCompare { /* sqlite3.c:84653:30: */ // varintRecordCompareInt() and varintRecordCompareString() both assume // that the size-of-header varint that occurs at the start of each record // fits in a single byte (i.e. is 127 or less). varintRecordCompareInt() @@ -61336,7 +61355,7 @@ func Xsqlite3VdbeFindCompare(tls *libc.TLS, p uintptr) RecordCompare { /* sqlite // // pCur might be pointing to text obtained from a corrupt database file. // So the content cannot be trusted. Do appropriate checks on the content. -func Xsqlite3VdbeIdxRowid(tls *libc.TLS, db uintptr, pCur uintptr, rowid uintptr) int32 { /* sqlite3.c:84691:20: */ +func Xsqlite3VdbeIdxRowid(tls *libc.TLS, db uintptr, pCur uintptr, rowid uintptr) int32 { /* sqlite3.c:84704:20: */ bp := tls.Alloc(88) defer tls.Free(88) @@ -61421,7 +61440,7 @@ __6: idx_rowid_corruption: ; Xsqlite3VdbeMemRelease(tls, bp) - return Xsqlite3CorruptError(tls, 84756) + return Xsqlite3CorruptError(tls, 84769) } // Compare the key of the index entry that cursor pC is pointing to against @@ -61433,7 +61452,7 @@ idx_rowid_corruption: // omits the rowid at the end. The rowid at the end of the index entry // is ignored as well. Hence, this routine only compares the prefixes // of the keys prior to the final rowid, not the entire key. -func Xsqlite3VdbeIdxKeyCompare(tls *libc.TLS, db uintptr, pC uintptr, pUnpacked uintptr, res uintptr) int32 { /* sqlite3.c:84770:20: */ +func Xsqlite3VdbeIdxKeyCompare(tls *libc.TLS, db uintptr, pC uintptr, pUnpacked uintptr, res uintptr) int32 { /* sqlite3.c:84783:20: */ bp := tls.Alloc(40) defer tls.Free(40) @@ -61449,7 +61468,7 @@ func Xsqlite3VdbeIdxKeyCompare(tls *libc.TLS, db uintptr, pC uintptr, pUnpacked // that btreeParseCellPtr() and sqlite3GetVarint32() are implemented if nCellKey <= int64(0) || nCellKey > int64(0x7fffffff) { *(*int32)(unsafe.Pointer(res)) = 0 - return Xsqlite3CorruptError(tls, 84789) + return Xsqlite3CorruptError(tls, 84802) } Xsqlite3VdbeMemInit(tls, bp, db, uint16(0)) rc = Xsqlite3VdbeMemFromBtreeZeroOffset(tls, pCur, U32(nCellKey), bp) @@ -61463,7 +61482,7 @@ func Xsqlite3VdbeIdxKeyCompare(tls *libc.TLS, db uintptr, pC uintptr, pUnpacked // This routine sets the value to be returned by subsequent calls to // sqlite3_changes() on the database handle 'db'. -func Xsqlite3VdbeSetChanges(tls *libc.TLS, db uintptr, nChange I64) { /* sqlite3.c:84805:21: */ +func Xsqlite3VdbeSetChanges(tls *libc.TLS, db uintptr, nChange I64) { /* sqlite3.c:84818:21: */ (*Sqlite3)(unsafe.Pointer(db)).FnChange = nChange *(*I64)(unsafe.Pointer(db + 112)) += nChange @@ -61471,7 +61490,7 @@ func Xsqlite3VdbeSetChanges(tls *libc.TLS, db uintptr, nChange I64) { /* sqlite3 // Set a flag in the vdbe to update the change counter when it is finalised // or reset. -func Xsqlite3VdbeCountChanges(tls *libc.TLS, v uintptr) { /* sqlite3.c:84815:21: */ +func Xsqlite3VdbeCountChanges(tls *libc.TLS, v uintptr) { /* sqlite3.c:84828:21: */ libc.SetBitFieldPtr16Uint32(v+160, Bft(1), 4, 0x10) } @@ -61491,7 +61510,7 @@ func Xsqlite3VdbeCountChanges(tls *libc.TLS, v uintptr) { /* sqlite3.c:84815:21: // Internally, this function just sets the Vdbe.expired flag on all // prepared statements. The flag is set to 1 for an immediate expiration // and set to 2 for an advisory expiration. -func Xsqlite3ExpirePreparedStatements(tls *libc.TLS, db uintptr, iCode int32) { /* sqlite3.c:84837:21: */ +func Xsqlite3ExpirePreparedStatements(tls *libc.TLS, db uintptr, iCode int32) { /* sqlite3.c:84850:21: */ var p uintptr for p = (*Sqlite3)(unsafe.Pointer(db)).FpVdbe; p != 0; p = (*Vdbe)(unsafe.Pointer(p)).FpNext { libc.SetBitFieldPtr16Uint32(p+160, Bft(iCode+1), 0, 0x3) @@ -61499,12 +61518,12 @@ func Xsqlite3ExpirePreparedStatements(tls *libc.TLS, db uintptr, iCode int32) { } // Return the database associated with the Vdbe. -func Xsqlite3VdbeDb(tls *libc.TLS, v uintptr) uintptr { /* sqlite3.c:84847:24: */ +func Xsqlite3VdbeDb(tls *libc.TLS, v uintptr) uintptr { /* sqlite3.c:84860:24: */ return (*Vdbe)(unsafe.Pointer(v)).Fdb } // Return the SQLITE_PREPARE flags for a Vdbe. -func Xsqlite3VdbePrepareFlags(tls *libc.TLS, v uintptr) U8 { /* sqlite3.c:84854:19: */ +func Xsqlite3VdbePrepareFlags(tls *libc.TLS, v uintptr) U8 { /* sqlite3.c:84867:19: */ return (*Vdbe)(unsafe.Pointer(v)).FprepFlags } @@ -61514,7 +61533,7 @@ func Xsqlite3VdbePrepareFlags(tls *libc.TLS, v uintptr) U8 { /* sqlite3.c:84854: // constants) to the value before returning it. // // The returned value must be freed by the caller using sqlite3ValueFree(). -func Xsqlite3VdbeGetBoundValue(tls *libc.TLS, v uintptr, iVar int32, aff U8) uintptr { /* sqlite3.c:84866:30: */ +func Xsqlite3VdbeGetBoundValue(tls *libc.TLS, v uintptr, iVar int32, aff U8) uintptr { /* sqlite3.c:84879:30: */ if v != 0 { var pMem uintptr = (*Vdbe)(unsafe.Pointer(v)).FaVar + uintptr(iVar-1)*40 @@ -61534,7 +61553,7 @@ func Xsqlite3VdbeGetBoundValue(tls *libc.TLS, v uintptr, iVar int32, aff U8) uin // Configure SQL variable iVar so that binding a new value to it signals // to sqlite3_reoptimize() that re-preparing the statement may result // in a better query plan. -func Xsqlite3VdbeSetVarmask(tls *libc.TLS, v uintptr, iVar int32) { /* sqlite3.c:84888:21: */ +func Xsqlite3VdbeSetVarmask(tls *libc.TLS, v uintptr, iVar int32) { /* sqlite3.c:84901:21: */ if iVar >= 32 { *(*U32)(unsafe.Pointer(v + 228)) |= 0x80000000 @@ -61550,7 +61569,7 @@ func Xsqlite3VdbeSetVarmask(tls *libc.TLS, v uintptr, iVar int32) { /* sqlite3.c // throw an error if it is given inputs that would make it non-deterministic. // This routine is invoked by date/time functions that use non-deterministic // features such as 'now'. -func Xsqlite3NotPureFunc(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:84907:20: */ +func Xsqlite3NotPureFunc(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:84920:20: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -61581,7 +61600,7 @@ func Xsqlite3NotPureFunc(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:84907 // Transfer error message text from an sqlite3_vtab.zErrMsg (text stored // in memory obtained from sqlite3_malloc) into a Vdbe.zErrMsg (text stored // in memory obtained from sqlite3DbMalloc). -func Xsqlite3VtabImportErrmsg(tls *libc.TLS, p uintptr, pVtab uintptr) { /* sqlite3.c:84938:21: */ +func Xsqlite3VtabImportErrmsg(tls *libc.TLS, p uintptr, pVtab uintptr) { /* sqlite3.c:84951:21: */ if (*Sqlite3_vtab)(unsafe.Pointer(pVtab)).FzErrMsg != 0 { var db uintptr = (*Vdbe)(unsafe.Pointer(p)).Fdb Xsqlite3DbFree(tls, db, (*Vdbe)(unsafe.Pointer(p)).FzErrMsg) @@ -61597,7 +61616,7 @@ func Xsqlite3VtabImportErrmsg(tls *libc.TLS, p uintptr, pVtab uintptr) { /* sqli // // This function is used to free UnpackedRecord structures allocated by // the vdbeUnpackRecord() function found in vdbeapi.c. -func vdbeFreeUnpacked(tls *libc.TLS, db uintptr, nField int32, p uintptr) { /* sqlite3.c:84959:13: */ +func vdbeFreeUnpacked(tls *libc.TLS, db uintptr, nField int32, p uintptr) { /* sqlite3.c:84972:13: */ if p != 0 { var i int32 for i = 0; i < nField; i++ { @@ -61614,7 +61633,7 @@ func vdbeFreeUnpacked(tls *libc.TLS, db uintptr, nField int32, p uintptr) { /* s // then cursor passed as the second argument should point to the row about // to be update or deleted. If the application calls sqlite3_preupdate_old(), // the required value will be read from the row the cursor points to. -func Xsqlite3VdbePreUpdateHook(tls *libc.TLS, v uintptr, pCsr uintptr, op int32, zDb uintptr, pTab uintptr, iKey1 I64, iReg int32, iBlobWrite int32) { /* sqlite3.c:84978:21: */ +func Xsqlite3VdbePreUpdateHook(tls *libc.TLS, v uintptr, pCsr uintptr, op int32, zDb uintptr, pTab uintptr, iKey1 I64, iReg int32, iBlobWrite int32) { /* sqlite3.c:84991:21: */ bp := tls.Alloc(88) defer tls.Free(88) @@ -61666,7 +61685,7 @@ func Xsqlite3VdbePreUpdateHook(tls *libc.TLS, v uintptr, pCsr uintptr, op int32, } } -var fakeSortOrder U8 = U8(0) /* sqlite3.c:84992:19 */ +var fakeSortOrder U8 = U8(0) /* sqlite3.c:85005:19 */ //************* End of vdbeaux.c ******************************************** //************* Begin file vdbeapi.c **************************************** @@ -61692,7 +61711,7 @@ var fakeSortOrder U8 = U8(0) /* sqlite3.c:84992:19 */ // that sqlite3_prepare() generates. For example, if new functions or // collating sequences are registered or if an authorizer function is // added or changed. -func Xsqlite3_expired(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:85071:16: */ +func Xsqlite3_expired(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:85084:16: */ var p uintptr = pStmt return libc.Bool32(p == uintptr(0) || Bft(int32(*(*uint16)(unsafe.Pointer(p + 160))&0x3>>0)) != 0) } @@ -61700,7 +61719,7 @@ func Xsqlite3_expired(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:85071:1 // Check on a Vdbe to make sure it has not been finalized. Log // an error and return true if it has been finalized (or is otherwise // invalid). Return false if it is ok. -func vdbeSafety(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:85082:12: */ +func vdbeSafety(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:85095:12: */ if (*Vdbe)(unsafe.Pointer(p)).Fdb == uintptr(0) { Xsqlite3_log(tls, SQLITE_MISUSE, ts+5200, 0) return 1 @@ -61710,7 +61729,7 @@ func vdbeSafety(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:85082:12: */ return int32(0) } -func vdbeSafetyNotNull(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:85090:12: */ +func vdbeSafetyNotNull(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:85103:12: */ if p == uintptr(0) { Xsqlite3_log(tls, SQLITE_MISUSE, ts+5245, 0) return 1 @@ -61722,7 +61741,7 @@ func vdbeSafetyNotNull(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:85090:12: // Invoke the profile callback. This routine is only called if we already // know that the profile callback is defined and needs to be invoked. -func invokeProfileCallback(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:85104:29: */ +func invokeProfileCallback(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:85117:29: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -61755,7 +61774,7 @@ func invokeProfileCallback(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c: // // This routine sets the error code and string returned by // sqlite3_errcode(), sqlite3_errmsg() and sqlite3_errmsg16(). -func Xsqlite3_finalize(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:85142:16: */ +func Xsqlite3_finalize(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:85155:16: */ var rc int32 if pStmt == uintptr(0) { // IMPLEMENTATION-OF: R-57228-12904 Invoking sqlite3_finalize() on a NULL @@ -61765,7 +61784,7 @@ func Xsqlite3_finalize(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:85142: var v uintptr = pStmt var db uintptr = (*Vdbe)(unsafe.Pointer(v)).Fdb if vdbeSafety(tls, v) != 0 { - return Xsqlite3MisuseError(tls, 85151) + return Xsqlite3MisuseError(tls, 85164) } Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) if (*Vdbe)(unsafe.Pointer(v)).FstartTime > int64(0) { @@ -61785,7 +61804,7 @@ func Xsqlite3_finalize(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:85142: // // This routine sets the error code and string returned by // sqlite3_errcode(), sqlite3_errmsg() and sqlite3_errmsg16(). -func Xsqlite3_reset(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:85169:16: */ +func Xsqlite3_reset(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:85182:16: */ var rc int32 if pStmt == uintptr(0) { rc = SQLITE_OK @@ -61807,7 +61826,7 @@ func Xsqlite3_reset(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:85169:16: } // Set all the parameters in the compiled SQL statement to NULL. -func Xsqlite3_clear_bindings(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:85190:16: */ +func Xsqlite3_clear_bindings(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:85203:16: */ var i int32 var rc int32 = SQLITE_OK var p uintptr = pStmt @@ -61829,7 +61848,7 @@ func Xsqlite3_clear_bindings(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c: // // The following routines extract information from a Mem or sqlite3_value // structure. -func Xsqlite3_value_blob(tls *libc.TLS, pVal uintptr) uintptr { /* sqlite3.c:85215:23: */ +func Xsqlite3_value_blob(tls *libc.TLS, pVal uintptr) uintptr { /* sqlite3.c:85228:23: */ var p uintptr = pVal if int32((*Mem)(unsafe.Pointer(p)).Fflags)&(MEM_Blob|MEM_Str) != 0 { if func() int32 { @@ -61852,27 +61871,27 @@ func Xsqlite3_value_blob(tls *libc.TLS, pVal uintptr) uintptr { /* sqlite3.c:852 return uintptr(0) } -func Xsqlite3_value_bytes(tls *libc.TLS, pVal uintptr) int32 { /* sqlite3.c:85228:16: */ +func Xsqlite3_value_bytes(tls *libc.TLS, pVal uintptr) int32 { /* sqlite3.c:85241:16: */ return Xsqlite3ValueBytes(tls, pVal, uint8(SQLITE_UTF8)) } -func Xsqlite3_value_bytes16(tls *libc.TLS, pVal uintptr) int32 { /* sqlite3.c:85231:16: */ +func Xsqlite3_value_bytes16(tls *libc.TLS, pVal uintptr) int32 { /* sqlite3.c:85244:16: */ return Xsqlite3ValueBytes(tls, pVal, uint8(SQLITE_UTF16LE)) } -func Xsqlite3_value_double(tls *libc.TLS, pVal uintptr) float64 { /* sqlite3.c:85234:19: */ +func Xsqlite3_value_double(tls *libc.TLS, pVal uintptr) float64 { /* sqlite3.c:85247:19: */ return Xsqlite3VdbeRealValue(tls, pVal) } -func Xsqlite3_value_int(tls *libc.TLS, pVal uintptr) int32 { /* sqlite3.c:85237:16: */ +func Xsqlite3_value_int(tls *libc.TLS, pVal uintptr) int32 { /* sqlite3.c:85250:16: */ return int32(Xsqlite3VdbeIntValue(tls, pVal)) } -func Xsqlite3_value_int64(tls *libc.TLS, pVal uintptr) Sqlite_int64 { /* sqlite3.c:85240:25: */ +func Xsqlite3_value_int64(tls *libc.TLS, pVal uintptr) Sqlite_int64 { /* sqlite3.c:85253:25: */ return Xsqlite3VdbeIntValue(tls, pVal) } -func Xsqlite3_value_subtype(tls *libc.TLS, pVal uintptr) uint32 { /* sqlite3.c:85243:25: */ +func Xsqlite3_value_subtype(tls *libc.TLS, pVal uintptr) uint32 { /* sqlite3.c:85256:25: */ var pMem uintptr = pVal return func() uint32 { if int32((*Mem)(unsafe.Pointer(pMem)).Fflags)&MEM_Subtype != 0 { @@ -61882,7 +61901,7 @@ func Xsqlite3_value_subtype(tls *libc.TLS, pVal uintptr) uint32 { /* sqlite3.c:8 }() } -func Xsqlite3_value_pointer(tls *libc.TLS, pVal uintptr, zPType uintptr) uintptr { /* sqlite3.c:85247:17: */ +func Xsqlite3_value_pointer(tls *libc.TLS, pVal uintptr, zPType uintptr) uintptr { /* sqlite3.c:85260:17: */ var p uintptr = pVal if int32((*Mem)(unsafe.Pointer(p)).Fflags)&(MEM_TypeMask|MEM_Term|MEM_Subtype) == MEM_Null|MEM_Term|MEM_Subtype && zPType != uintptr(0) && @@ -61895,26 +61914,26 @@ func Xsqlite3_value_pointer(tls *libc.TLS, pVal uintptr, zPType uintptr) uintptr return uintptr(0) } -func Xsqlite3_value_text(tls *libc.TLS, pVal uintptr) uintptr { /* sqlite3.c:85260:32: */ +func Xsqlite3_value_text(tls *libc.TLS, pVal uintptr) uintptr { /* sqlite3.c:85273:32: */ return Xsqlite3ValueText(tls, pVal, uint8(SQLITE_UTF8)) } -func Xsqlite3_value_text16(tls *libc.TLS, pVal uintptr) uintptr { /* sqlite3.c:85264:23: */ +func Xsqlite3_value_text16(tls *libc.TLS, pVal uintptr) uintptr { /* sqlite3.c:85277:23: */ return Xsqlite3ValueText(tls, pVal, uint8(SQLITE_UTF16LE)) } -func Xsqlite3_value_text16be(tls *libc.TLS, pVal uintptr) uintptr { /* sqlite3.c:85267:23: */ +func Xsqlite3_value_text16be(tls *libc.TLS, pVal uintptr) uintptr { /* sqlite3.c:85280:23: */ return Xsqlite3ValueText(tls, pVal, uint8(SQLITE_UTF16BE)) } -func Xsqlite3_value_text16le(tls *libc.TLS, pVal uintptr) uintptr { /* sqlite3.c:85270:23: */ +func Xsqlite3_value_text16le(tls *libc.TLS, pVal uintptr) uintptr { /* sqlite3.c:85283:23: */ return Xsqlite3ValueText(tls, pVal, uint8(SQLITE_UTF16LE)) } // EVIDENCE-OF: R-12793-43283 Every value in SQLite has one of five // fundamental datatypes: 64-bit signed integer 64-bit IEEE floating // point number string BLOB NULL -func Xsqlite3_value_type(tls *libc.TLS, pVal uintptr) int32 { /* sqlite3.c:85278:16: */ +func Xsqlite3_value_type(tls *libc.TLS, pVal uintptr) int32 { /* sqlite3.c:85291:16: */ return int32(aType[int32((*Sqlite3_value)(unsafe.Pointer(pVal)).Fflags)&MEM_AffMask]) } @@ -61983,20 +62002,20 @@ var aType = [64]U8{ U8(SQLITE_NULL), // 0x3d (not possible) U8(SQLITE_FLOAT), // 0x3e (not possible) U8(SQLITE_NULL), // 0x3f (not possible) -} /* sqlite3.c:85279:19 */ +} /* sqlite3.c:85292:19 */ // Return true if a parameter to xUpdate represents an unchanged column -func Xsqlite3_value_nochange(tls *libc.TLS, pVal uintptr) int32 { /* sqlite3.c:85364:16: */ +func Xsqlite3_value_nochange(tls *libc.TLS, pVal uintptr) int32 { /* sqlite3.c:85377:16: */ return libc.Bool32(int32((*Sqlite3_value)(unsafe.Pointer(pVal)).Fflags)&(MEM_Null|MEM_Zero) == MEM_Null|MEM_Zero) } // Return true if a parameter value originated from an sqlite3_bind() -func Xsqlite3_value_frombind(tls *libc.TLS, pVal uintptr) int32 { /* sqlite3.c:85369:16: */ +func Xsqlite3_value_frombind(tls *libc.TLS, pVal uintptr) int32 { /* sqlite3.c:85382:16: */ return libc.Bool32(int32((*Sqlite3_value)(unsafe.Pointer(pVal)).Fflags)&MEM_FromBind != 0) } // Make a copy of an sqlite3_value object -func Xsqlite3_value_dup(tls *libc.TLS, pOrig uintptr) uintptr { /* sqlite3.c:85375:26: */ +func Xsqlite3_value_dup(tls *libc.TLS, pOrig uintptr) uintptr { /* sqlite3.c:85388:26: */ var pNew uintptr if pOrig == uintptr(0) { return uintptr(0) @@ -62022,7 +62041,7 @@ func Xsqlite3_value_dup(tls *libc.TLS, pOrig uintptr) uintptr { /* sqlite3.c:853 // Destroy an sqlite3_value object previously obtained from // sqlite3_value_dup(). -func Xsqlite3_value_free(tls *libc.TLS, pOld uintptr) { /* sqlite3.c:85398:17: */ +func Xsqlite3_value_free(tls *libc.TLS, pOld uintptr) { /* sqlite3.c:85411:17: */ Xsqlite3ValueFree(tls, pOld) } @@ -62037,7 +62056,7 @@ func Xsqlite3_value_free(tls *libc.TLS, pOld uintptr) { /* sqlite3.c:85398:17: * // // The invokeValueDestructor(P,X) routine invokes destructor function X() // on value P is not going to be used and need to be destroyed. -func setResultStrOrError(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, enc U8, xDel uintptr) { /* sqlite3.c:85414:13: */ +func setResultStrOrError(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, enc U8, xDel uintptr) { /* sqlite3.c:85427:13: */ var rc int32 = Xsqlite3VdbeMemSetStr(tls, (*Sqlite3_context)(unsafe.Pointer(pCtx)).FpOut, z, int64(n), enc, xDel) if rc != 0 { if rc == SQLITE_TOOBIG { @@ -62051,7 +62070,7 @@ func setResultStrOrError(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, enc U8 } } -func invokeValueDestructor(tls *libc.TLS, p uintptr, xDel uintptr, pCtx uintptr) int32 { /* sqlite3.c:85433:12: */ +func invokeValueDestructor(tls *libc.TLS, p uintptr, xDel uintptr, pCtx uintptr) int32 { /* sqlite3.c:85446:12: */ if xDel == uintptr(0) { // noop @@ -62064,12 +62083,12 @@ func invokeValueDestructor(tls *libc.TLS, p uintptr, xDel uintptr, pCtx uintptr) return SQLITE_TOOBIG } -func Xsqlite3_result_blob(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, xDel uintptr) { /* sqlite3.c:85449:17: */ +func Xsqlite3_result_blob(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, xDel uintptr) { /* sqlite3.c:85462:17: */ setResultStrOrError(tls, pCtx, z, n, uint8(0), xDel) } -func Xsqlite3_result_blob64(tls *libc.TLS, pCtx uintptr, z uintptr, n Sqlite3_uint64, xDel uintptr) { /* sqlite3.c:85459:17: */ +func Xsqlite3_result_blob64(tls *libc.TLS, pCtx uintptr, z uintptr, n Sqlite3_uint64, xDel uintptr) { /* sqlite3.c:85472:17: */ if n > uint64(0x7fffffff) { invokeValueDestructor(tls, z, xDel, pCtx) @@ -62078,39 +62097,39 @@ func Xsqlite3_result_blob64(tls *libc.TLS, pCtx uintptr, z uintptr, n Sqlite3_ui } } -func Xsqlite3_result_double(tls *libc.TLS, pCtx uintptr, rVal float64) { /* sqlite3.c:85473:17: */ +func Xsqlite3_result_double(tls *libc.TLS, pCtx uintptr, rVal float64) { /* sqlite3.c:85486:17: */ Xsqlite3VdbeMemSetDouble(tls, (*Sqlite3_context)(unsafe.Pointer(pCtx)).FpOut, rVal) } -func Xsqlite3_result_error(tls *libc.TLS, pCtx uintptr, z uintptr, n int32) { /* sqlite3.c:85477:17: */ +func Xsqlite3_result_error(tls *libc.TLS, pCtx uintptr, z uintptr, n int32) { /* sqlite3.c:85490:17: */ (*Sqlite3_context)(unsafe.Pointer(pCtx)).FisError = SQLITE_ERROR Xsqlite3VdbeMemSetStr(tls, (*Sqlite3_context)(unsafe.Pointer(pCtx)).FpOut, z, int64(n), uint8(SQLITE_UTF8), libc.UintptrFromInt32(-1)) } -func Xsqlite3_result_error16(tls *libc.TLS, pCtx uintptr, z uintptr, n int32) { /* sqlite3.c:85483:17: */ +func Xsqlite3_result_error16(tls *libc.TLS, pCtx uintptr, z uintptr, n int32) { /* sqlite3.c:85496:17: */ (*Sqlite3_context)(unsafe.Pointer(pCtx)).FisError = SQLITE_ERROR Xsqlite3VdbeMemSetStr(tls, (*Sqlite3_context)(unsafe.Pointer(pCtx)).FpOut, z, int64(n), uint8(SQLITE_UTF16LE), libc.UintptrFromInt32(-1)) } -func Xsqlite3_result_int(tls *libc.TLS, pCtx uintptr, iVal int32) { /* sqlite3.c:85489:17: */ +func Xsqlite3_result_int(tls *libc.TLS, pCtx uintptr, iVal int32) { /* sqlite3.c:85502:17: */ Xsqlite3VdbeMemSetInt64(tls, (*Sqlite3_context)(unsafe.Pointer(pCtx)).FpOut, I64(iVal)) } -func Xsqlite3_result_int64(tls *libc.TLS, pCtx uintptr, iVal I64) { /* sqlite3.c:85493:17: */ +func Xsqlite3_result_int64(tls *libc.TLS, pCtx uintptr, iVal I64) { /* sqlite3.c:85506:17: */ Xsqlite3VdbeMemSetInt64(tls, (*Sqlite3_context)(unsafe.Pointer(pCtx)).FpOut, iVal) } -func Xsqlite3_result_null(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:85497:17: */ +func Xsqlite3_result_null(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:85510:17: */ Xsqlite3VdbeMemSetNull(tls, (*Sqlite3_context)(unsafe.Pointer(pCtx)).FpOut) } -func Xsqlite3_result_pointer(tls *libc.TLS, pCtx uintptr, pPtr uintptr, zPType uintptr, xDestructor uintptr) { /* sqlite3.c:85501:17: */ +func Xsqlite3_result_pointer(tls *libc.TLS, pCtx uintptr, pPtr uintptr, zPType uintptr, xDestructor uintptr) { /* sqlite3.c:85514:17: */ var pOut uintptr = (*Sqlite3_context)(unsafe.Pointer(pCtx)).FpOut Xsqlite3VdbeMemRelease(tls, pOut) @@ -62118,19 +62137,19 @@ func Xsqlite3_result_pointer(tls *libc.TLS, pCtx uintptr, pPtr uintptr, zPType u Xsqlite3VdbeMemSetPointer(tls, pOut, pPtr, zPType, xDestructor) } -func Xsqlite3_result_subtype(tls *libc.TLS, pCtx uintptr, eSubtype uint32) { /* sqlite3.c:85513:17: */ +func Xsqlite3_result_subtype(tls *libc.TLS, pCtx uintptr, eSubtype uint32) { /* sqlite3.c:85526:17: */ var pOut uintptr = (*Sqlite3_context)(unsafe.Pointer(pCtx)).FpOut (*Mem)(unsafe.Pointer(pOut)).FeSubtype = U8(eSubtype & uint32(0xff)) *(*U16)(unsafe.Pointer(pOut + 8)) |= U16(MEM_Subtype) } -func Xsqlite3_result_text(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, xDel uintptr) { /* sqlite3.c:85519:17: */ +func Xsqlite3_result_text(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, xDel uintptr) { /* sqlite3.c:85532:17: */ setResultStrOrError(tls, pCtx, z, n, uint8(SQLITE_UTF8), xDel) } -func Xsqlite3_result_text64(tls *libc.TLS, pCtx uintptr, z uintptr, n Sqlite3_uint64, xDel uintptr, enc uint8) { /* sqlite3.c:85528:17: */ +func Xsqlite3_result_text64(tls *libc.TLS, pCtx uintptr, z uintptr, n Sqlite3_uint64, xDel uintptr, enc uint8) { /* sqlite3.c:85541:17: */ if int32(enc) == SQLITE_UTF16 { enc = uint8(SQLITE_UTF16LE) @@ -62142,32 +62161,32 @@ func Xsqlite3_result_text64(tls *libc.TLS, pCtx uintptr, z uintptr, n Sqlite3_ui } } -func Xsqlite3_result_text16(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, xDel uintptr) { /* sqlite3.c:85545:17: */ +func Xsqlite3_result_text16(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, xDel uintptr) { /* sqlite3.c:85558:17: */ setResultStrOrError(tls, pCtx, z, n, uint8(SQLITE_UTF16LE), xDel) } -func Xsqlite3_result_text16be(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, xDel uintptr) { /* sqlite3.c:85554:17: */ +func Xsqlite3_result_text16be(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, xDel uintptr) { /* sqlite3.c:85567:17: */ setResultStrOrError(tls, pCtx, z, n, uint8(SQLITE_UTF16BE), xDel) } -func Xsqlite3_result_text16le(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, xDel uintptr) { /* sqlite3.c:85563:17: */ +func Xsqlite3_result_text16le(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, xDel uintptr) { /* sqlite3.c:85576:17: */ setResultStrOrError(tls, pCtx, z, n, uint8(SQLITE_UTF16LE), xDel) } -func Xsqlite3_result_value(tls *libc.TLS, pCtx uintptr, pValue uintptr) { /* sqlite3.c:85573:17: */ +func Xsqlite3_result_value(tls *libc.TLS, pCtx uintptr, pValue uintptr) { /* sqlite3.c:85586:17: */ Xsqlite3VdbeMemCopy(tls, (*Sqlite3_context)(unsafe.Pointer(pCtx)).FpOut, pValue) } -func Xsqlite3_result_zeroblob(tls *libc.TLS, pCtx uintptr, n int32) { /* sqlite3.c:85577:17: */ +func Xsqlite3_result_zeroblob(tls *libc.TLS, pCtx uintptr, n int32) { /* sqlite3.c:85590:17: */ Xsqlite3VdbeMemSetZeroBlob(tls, (*Sqlite3_context)(unsafe.Pointer(pCtx)).FpOut, n) } -func Xsqlite3_result_zeroblob64(tls *libc.TLS, pCtx uintptr, n U64) int32 { /* sqlite3.c:85581:16: */ +func Xsqlite3_result_zeroblob64(tls *libc.TLS, pCtx uintptr, n U64) int32 { /* sqlite3.c:85594:16: */ var pOut uintptr = (*Sqlite3_context)(unsafe.Pointer(pCtx)).FpOut if n > U64(*(*int32)(unsafe.Pointer((*Mem)(unsafe.Pointer(pOut)).Fdb + 120))) { @@ -62177,7 +62196,7 @@ func Xsqlite3_result_zeroblob64(tls *libc.TLS, pCtx uintptr, n U64) int32 { /* s return SQLITE_OK } -func Xsqlite3_result_error_code(tls *libc.TLS, pCtx uintptr, errCode int32) { /* sqlite3.c:85594:17: */ +func Xsqlite3_result_error_code(tls *libc.TLS, pCtx uintptr, errCode int32) { /* sqlite3.c:85607:17: */ (*Sqlite3_context)(unsafe.Pointer(pCtx)).FisError = func() int32 { if errCode != 0 { return errCode @@ -62191,7 +62210,7 @@ func Xsqlite3_result_error_code(tls *libc.TLS, pCtx uintptr, errCode int32) { /* } // Force an SQLITE_TOOBIG error. -func Xsqlite3_result_error_toobig(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:85606:17: */ +func Xsqlite3_result_error_toobig(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:85619:17: */ (*Sqlite3_context)(unsafe.Pointer(pCtx)).FisError = SQLITE_TOOBIG Xsqlite3VdbeMemSetStr(tls, (*Sqlite3_context)(unsafe.Pointer(pCtx)).FpOut, ts+5285, int64(-1), @@ -62199,7 +62218,7 @@ func Xsqlite3_result_error_toobig(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:85 } // An SQLITE_NOMEM error. -func Xsqlite3_result_error_nomem(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:85614:17: */ +func Xsqlite3_result_error_nomem(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:85627:17: */ Xsqlite3VdbeMemSetNull(tls, (*Sqlite3_context)(unsafe.Pointer(pCtx)).FpOut) (*Sqlite3_context)(unsafe.Pointer(pCtx)).FisError = SQLITE_NOMEM @@ -62209,7 +62228,7 @@ func Xsqlite3_result_error_nomem(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:856 // Force the INT64 value currently stored as the result to be // a MEM_IntReal value. See the SQLITE_TESTCTRL_RESULT_INTREAL // test-control. -func Xsqlite3ResultIntReal(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:85626:21: */ +func Xsqlite3ResultIntReal(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:85639:21: */ if int32((*Mem)(unsafe.Pointer((*Sqlite3_context)(unsafe.Pointer(pCtx)).FpOut)).Fflags)&MEM_Int != 0 { *(*U16)(unsafe.Pointer((*Sqlite3_context)(unsafe.Pointer(pCtx)).FpOut + 8)) &= libc.Uint16FromInt32(libc.CplInt32(MEM_Int)) @@ -62219,7 +62238,7 @@ func Xsqlite3ResultIntReal(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:85626:21: // This function is called after a transaction has been committed. It // invokes callbacks registered with sqlite3_wal_hook() as required. -func doWalCallbacks(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:85640:12: */ +func doWalCallbacks(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:85653:12: */ var rc int32 = SQLITE_OK var i int32 for i = 0; i < (*Sqlite3)(unsafe.Pointer(db)).FnDb; i++ { @@ -62246,7 +62265,7 @@ func doWalCallbacks(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:85640:12: */ // API. The only thing omitted is the automatic recompile if a // schema change has occurred. That detail is handled by the // outer sqlite3_step() wrapper procedure. -func sqlite3Step(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:85670:12: */ +func sqlite3Step(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:85683:12: */ var db uintptr var rc int32 @@ -62413,14 +62432,14 @@ end_of_step: // This is the top-level implementation of sqlite3_step(). Call // sqlite3Step() to do most of the work. If a schema error occurs, // call sqlite3Reprepare() and try again. -func Xsqlite3_step(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:85804:16: */ +func Xsqlite3_step(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:85817:16: */ var rc int32 = SQLITE_OK // Result from sqlite3Step() var v uintptr = pStmt // the prepared statement var cnt int32 = 0 // Counter to prevent infinite loop of reprepares var db uintptr // The database connection if vdbeSafetyNotNull(tls, v) != 0 { - return Xsqlite3MisuseError(tls, 85811) + return Xsqlite3MisuseError(tls, 85824) } db = (*Vdbe)(unsafe.Pointer(v)).Fdb Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) @@ -62460,7 +62479,7 @@ func Xsqlite3_step(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:85804:16: // Extract the user data from a sqlite3_context structure and return a // pointer to it. -func Xsqlite3_user_data(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:85853:17: */ +func Xsqlite3_user_data(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:85866:17: */ return (*FuncDef)(unsafe.Pointer((*Sqlite3_context)(unsafe.Pointer(p)).FpFunc)).FpUserData } @@ -62473,7 +62492,7 @@ func Xsqlite3_user_data(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:85853:1 // parameter) of the sqlite3_create_function() and // sqlite3_create_function16() routines that originally registered the // application defined function. -func Xsqlite3_context_db_handle(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:85868:20: */ +func Xsqlite3_context_db_handle(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:85881:20: */ return (*Mem)(unsafe.Pointer((*Sqlite3_context)(unsafe.Pointer(p)).FpOut)).Fdb } @@ -62490,14 +62509,14 @@ func Xsqlite3_context_db_handle(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c // Virtual table implements might use this routine to optimize their // performance by substituting a NULL result, or some other light-weight // value, as a signal to the xUpdate routine that the column is unchanged. -func Xsqlite3_vtab_nochange(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:85887:16: */ +func Xsqlite3_vtab_nochange(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:85900:16: */ return Xsqlite3_value_nochange(tls, (*Sqlite3_context)(unsafe.Pointer(p)).FpOut) } // Implementation of sqlite3_vtab_in_first() (if bNext==0) and // sqlite3_vtab_in_next() (if bNext!=0). -func valueFromValueList(tls *libc.TLS, pVal uintptr, ppOut uintptr, bNext int32) int32 { /* sqlite3.c:85896:12: */ +func valueFromValueList(tls *libc.TLS, pVal uintptr, ppOut uintptr, bNext int32) int32 { /* sqlite3.c:85909:12: */ bp := tls.Alloc(52) defer tls.Free(52) @@ -62555,13 +62574,13 @@ func valueFromValueList(tls *libc.TLS, pVal uintptr, ppOut uintptr, bNext int32) // Set the iterator value pVal to point to the first value in the set. // Set (*ppOut) to point to this value before returning. -func Xsqlite3_vtab_in_first(tls *libc.TLS, pVal uintptr, ppOut uintptr) int32 { /* sqlite3.c:85944:16: */ +func Xsqlite3_vtab_in_first(tls *libc.TLS, pVal uintptr, ppOut uintptr) int32 { /* sqlite3.c:85957:16: */ return valueFromValueList(tls, pVal, ppOut, 0) } // Set the iterator value pVal to point to the next value in the set. // Set (*ppOut) to point to this value before returning. -func Xsqlite3_vtab_in_next(tls *libc.TLS, pVal uintptr, ppOut uintptr) int32 { /* sqlite3.c:85952:16: */ +func Xsqlite3_vtab_in_next(tls *libc.TLS, pVal uintptr, ppOut uintptr) int32 { /* sqlite3.c:85965:16: */ return valueFromValueList(tls, pVal, ppOut, 1) } @@ -62570,7 +62589,7 @@ func Xsqlite3_vtab_in_next(tls *libc.TLS, pVal uintptr, ppOut uintptr) int32 { / // statement, the exact same time is returned for each invocation regardless // of the amount of time that elapses between invocations. In other words, // the time returned is always the time of the first call. -func Xsqlite3StmtCurrentTime(tls *libc.TLS, p uintptr) Sqlite3_int64 { /* sqlite3.c:85963:30: */ +func Xsqlite3StmtCurrentTime(tls *libc.TLS, p uintptr) Sqlite3_int64 { /* sqlite3.c:85976:30: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -62593,7 +62612,7 @@ func Xsqlite3StmtCurrentTime(tls *libc.TLS, p uintptr) Sqlite3_int64 { /* sqlite // Create a new aggregate context for p and return a pointer to // its pMem->z element. -func createAggContext(tls *libc.TLS, p uintptr, nByte int32) uintptr { /* sqlite3.c:85983:29: */ +func createAggContext(tls *libc.TLS, p uintptr, nByte int32) uintptr { /* sqlite3.c:85996:29: */ var pMem uintptr = (*Sqlite3_context)(unsafe.Pointer(p)).FpMem if nByte <= 0 { @@ -62613,7 +62632,7 @@ func createAggContext(tls *libc.TLS, p uintptr, nByte int32) uintptr { /* sqlite // Allocate or return the aggregate context for a user function. A new // context is allocated on the first call. Subsequent calls return the // same context that was returned on prior calls. -func Xsqlite3_aggregate_context(tls *libc.TLS, p uintptr, nByte int32) uintptr { /* sqlite3.c:86005:17: */ +func Xsqlite3_aggregate_context(tls *libc.TLS, p uintptr, nByte int32) uintptr { /* sqlite3.c:86018:17: */ if int32((*Mem)(unsafe.Pointer((*Sqlite3_context)(unsafe.Pointer(p)).FpMem)).Fflags)&MEM_Agg == 0 { return createAggContext(tls, p, nByte) @@ -62631,7 +62650,7 @@ func Xsqlite3_aggregate_context(tls *libc.TLS, p uintptr, nByte int32) uintptr { // Undocumented behavior: If iArg is negative then access a cache of // auxiliary data pointers that is available to all functions within a // single prepared statement. The iArg values must match. -func Xsqlite3_get_auxdata(tls *libc.TLS, pCtx uintptr, iArg int32) uintptr { /* sqlite3.c:86026:17: */ +func Xsqlite3_get_auxdata(tls *libc.TLS, pCtx uintptr, iArg int32) uintptr { /* sqlite3.c:86039:17: */ var pAuxData uintptr if (*Sqlite3_context)(unsafe.Pointer(pCtx)).FpVdbe == uintptr(0) { @@ -62654,7 +62673,7 @@ func Xsqlite3_get_auxdata(tls *libc.TLS, pCtx uintptr, iArg int32) uintptr { /* // Undocumented behavior: If iArg is negative then make the data available // 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) { /* sqlite3.c:86054:17: */ +func Xsqlite3_set_auxdata(tls *libc.TLS, pCtx uintptr, iArg int32, pAux uintptr, xDelete uintptr) { /* sqlite3.c:86067:17: */ var pAuxData uintptr var pVdbe uintptr pVdbe = (*Sqlite3_context)(unsafe.Pointer(pCtx)).FpVdbe @@ -62734,13 +62753,13 @@ __11: // provide only to avoid breaking legacy code. New aggregate function // implementations should keep their own counts within their aggregate // context. -func Xsqlite3_aggregate_count(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:86107:16: */ +func Xsqlite3_aggregate_count(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:86120:16: */ return (*Mem)(unsafe.Pointer((*Sqlite3_context)(unsafe.Pointer(p)).FpMem)).Fn } // Return the number of columns in the result set for the statement pStmt. -func Xsqlite3_column_count(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:86116:16: */ +func Xsqlite3_column_count(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:86129:16: */ var pVm uintptr = pStmt if pVm != 0 { return int32((*Vdbe)(unsafe.Pointer(pVm)).FnResColumn) @@ -62750,7 +62769,7 @@ func Xsqlite3_column_count(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:86 // Return the number of values available from the current row of the // currently executing statement pStmt. -func Xsqlite3_data_count(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:86125:16: */ +func Xsqlite3_data_count(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:86138:16: */ var pVm uintptr = pStmt if pVm == uintptr(0) || (*Vdbe)(unsafe.Pointer(pVm)).FpResultSet == uintptr(0) { return 0 @@ -62759,19 +62778,19 @@ func Xsqlite3_data_count(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:8612 } // Return a pointer to static memory containing an SQL NULL value. -func columnNullValue(tls *libc.TLS) uintptr { /* sqlite3.c:86134:18: */ +func columnNullValue(tls *libc.TLS) uintptr { /* sqlite3.c:86147:18: */ return uintptr(unsafe.Pointer(&nullMem)) } var nullMem = Mem{ /* .flags = */ Fflags: U16(MEM_Null), -} /* sqlite3.c:86144:20 */ +} /* sqlite3.c:86157:20 */ // Check to see if column iCol of the given statement is valid. If // it is, return a pointer to the Mem for the value of that column. // If iCol is not valid, return a pointer to a Mem which has a value // of NULL. -func columnMem(tls *libc.TLS, pStmt uintptr, i int32) uintptr { /* sqlite3.c:86174:12: */ +func columnMem(tls *libc.TLS, pStmt uintptr, i int32) uintptr { /* sqlite3.c:86187:12: */ var pVm uintptr var pOut uintptr @@ -62806,7 +62825,7 @@ func columnMem(tls *libc.TLS, pStmt uintptr, i int32) uintptr { /* sqlite3.c:861 // sqlite3_column_bytes() // sqlite3_column_bytes16() // sqiite3_column_blob() -func columnMallocFailure(tls *libc.TLS, pStmt uintptr) { /* sqlite3.c:86209:13: */ +func columnMallocFailure(tls *libc.TLS, pStmt uintptr) { /* sqlite3.c:86222:13: */ // If malloc() failed during an encoding conversion within an // sqlite3_column_XXX API, then set the return code of the statement to // SQLITE_NOMEM. The next call to _step() (if any) will return SQLITE_ERROR @@ -62823,7 +62842,7 @@ func columnMallocFailure(tls *libc.TLS, pStmt uintptr) { /* sqlite3.c:86209:13: // // The following routines are used to access elements of the current row // in the result set. -func Xsqlite3_column_blob(tls *libc.TLS, pStmt uintptr, i int32) uintptr { /* sqlite3.c:86229:23: */ +func Xsqlite3_column_blob(tls *libc.TLS, pStmt uintptr, i int32) uintptr { /* sqlite3.c:86242:23: */ var val uintptr val = Xsqlite3_value_blob(tls, columnMem(tls, pStmt, i)) // Even though there is no encoding conversion, value_blob() might @@ -62833,43 +62852,43 @@ func Xsqlite3_column_blob(tls *libc.TLS, pStmt uintptr, i int32) uintptr { /* sq return val } -func Xsqlite3_column_bytes(tls *libc.TLS, pStmt uintptr, i int32) int32 { /* sqlite3.c:86239:16: */ +func Xsqlite3_column_bytes(tls *libc.TLS, pStmt uintptr, i int32) int32 { /* sqlite3.c:86252:16: */ var val int32 = Xsqlite3_value_bytes(tls, columnMem(tls, pStmt, i)) columnMallocFailure(tls, pStmt) return val } -func Xsqlite3_column_bytes16(tls *libc.TLS, pStmt uintptr, i int32) int32 { /* sqlite3.c:86244:16: */ +func Xsqlite3_column_bytes16(tls *libc.TLS, pStmt uintptr, i int32) int32 { /* sqlite3.c:86257:16: */ var val int32 = Xsqlite3_value_bytes16(tls, columnMem(tls, pStmt, i)) columnMallocFailure(tls, pStmt) return val } -func Xsqlite3_column_double(tls *libc.TLS, pStmt uintptr, i int32) float64 { /* sqlite3.c:86249:19: */ +func Xsqlite3_column_double(tls *libc.TLS, pStmt uintptr, i int32) float64 { /* sqlite3.c:86262:19: */ var val float64 = Xsqlite3_value_double(tls, columnMem(tls, pStmt, i)) columnMallocFailure(tls, pStmt) return val } -func Xsqlite3_column_int(tls *libc.TLS, pStmt uintptr, i int32) int32 { /* sqlite3.c:86254:16: */ +func Xsqlite3_column_int(tls *libc.TLS, pStmt uintptr, i int32) int32 { /* sqlite3.c:86267:16: */ var val int32 = Xsqlite3_value_int(tls, columnMem(tls, pStmt, i)) columnMallocFailure(tls, pStmt) return val } -func Xsqlite3_column_int64(tls *libc.TLS, pStmt uintptr, i int32) Sqlite_int64 { /* sqlite3.c:86259:25: */ +func Xsqlite3_column_int64(tls *libc.TLS, pStmt uintptr, i int32) Sqlite_int64 { /* sqlite3.c:86272:25: */ var val Sqlite_int64 = Xsqlite3_value_int64(tls, columnMem(tls, pStmt, i)) columnMallocFailure(tls, pStmt) return val } -func Xsqlite3_column_text(tls *libc.TLS, pStmt uintptr, i int32) uintptr { /* sqlite3.c:86264:32: */ +func Xsqlite3_column_text(tls *libc.TLS, pStmt uintptr, i int32) uintptr { /* sqlite3.c:86277:32: */ var val uintptr = Xsqlite3_value_text(tls, columnMem(tls, pStmt, i)) columnMallocFailure(tls, pStmt) return val } -func Xsqlite3_column_value(tls *libc.TLS, pStmt uintptr, i int32) uintptr { /* sqlite3.c:86269:26: */ +func Xsqlite3_column_value(tls *libc.TLS, pStmt uintptr, i int32) uintptr { /* sqlite3.c:86282:26: */ var pOut uintptr = columnMem(tls, pStmt, i) if int32((*Mem)(unsafe.Pointer(pOut)).Fflags)&MEM_Static != 0 { *(*U16)(unsafe.Pointer(pOut + 8)) &= libc.Uint16FromInt32(libc.CplInt32(MEM_Static)) @@ -62879,13 +62898,13 @@ func Xsqlite3_column_value(tls *libc.TLS, pStmt uintptr, i int32) uintptr { /* s return pOut } -func Xsqlite3_column_text16(tls *libc.TLS, pStmt uintptr, i int32) uintptr { /* sqlite3.c:86279:23: */ +func Xsqlite3_column_text16(tls *libc.TLS, pStmt uintptr, i int32) uintptr { /* sqlite3.c:86292:23: */ var val uintptr = Xsqlite3_value_text16(tls, columnMem(tls, pStmt, i)) columnMallocFailure(tls, pStmt) return val } -func Xsqlite3_column_type(tls *libc.TLS, pStmt uintptr, i int32) int32 { /* sqlite3.c:86285:16: */ +func Xsqlite3_column_type(tls *libc.TLS, pStmt uintptr, i int32) int32 { /* sqlite3.c:86298:16: */ var iType int32 = Xsqlite3_value_type(tls, columnMem(tls, pStmt, i)) columnMallocFailure(tls, pStmt) return iType @@ -62905,7 +62924,7 @@ func Xsqlite3_column_type(tls *libc.TLS, pStmt uintptr, i int32) int32 { /* sqli // // If the result is not a simple column reference (if it is an expression // or a constant) then useTypes 2, 3, and 4 return NULL. -func columnName(tls *libc.TLS, pStmt uintptr, N int32, useUtf16 int32, useType int32) uintptr { /* sqlite3.c:86307:19: */ +func columnName(tls *libc.TLS, pStmt uintptr, N int32, useUtf16 int32, useType int32) uintptr { /* sqlite3.c:86320:19: */ var ret uintptr var p uintptr var n int32 @@ -62937,11 +62956,11 @@ func columnName(tls *libc.TLS, pStmt uintptr, N int32, useUtf16 int32, useType i // Return the name of the Nth column of the result set returned by SQL // statement pStmt. -func Xsqlite3_column_name(tls *libc.TLS, pStmt uintptr, N int32) uintptr { /* sqlite3.c:86356:23: */ +func Xsqlite3_column_name(tls *libc.TLS, pStmt uintptr, N int32) uintptr { /* sqlite3.c:86369:23: */ return columnName(tls, pStmt, N, 0, COLNAME_NAME) } -func Xsqlite3_column_name16(tls *libc.TLS, pStmt uintptr, N int32) uintptr { /* sqlite3.c:86360:23: */ +func Xsqlite3_column_name16(tls *libc.TLS, pStmt uintptr, N int32) uintptr { /* sqlite3.c:86373:23: */ return columnName(tls, pStmt, N, 1, COLNAME_NAME) } @@ -62950,44 +62969,44 @@ func Xsqlite3_column_name16(tls *libc.TLS, pStmt uintptr, N int32) uintptr { /* // Return the column declaration type (if applicable) of the 'i'th column // of the result set of SQL statement pStmt. -func Xsqlite3_column_decltype(tls *libc.TLS, pStmt uintptr, N int32) uintptr { /* sqlite3.c:86379:23: */ +func Xsqlite3_column_decltype(tls *libc.TLS, pStmt uintptr, N int32) uintptr { /* sqlite3.c:86392:23: */ return columnName(tls, pStmt, N, 0, COLNAME_DECLTYPE) } -func Xsqlite3_column_decltype16(tls *libc.TLS, pStmt uintptr, N int32) uintptr { /* sqlite3.c:86383:23: */ +func Xsqlite3_column_decltype16(tls *libc.TLS, pStmt uintptr, N int32) uintptr { /* sqlite3.c:86396:23: */ return columnName(tls, pStmt, N, 1, COLNAME_DECLTYPE) } // Return the name of the database from which a result column derives. // NULL is returned if the result column is an expression or constant or // anything else which is not an unambiguous reference to a database column. -func Xsqlite3_column_database_name(tls *libc.TLS, pStmt uintptr, N int32) uintptr { /* sqlite3.c:86395:23: */ +func Xsqlite3_column_database_name(tls *libc.TLS, pStmt uintptr, N int32) uintptr { /* sqlite3.c:86408:23: */ return columnName(tls, pStmt, N, 0, COLNAME_DATABASE) } -func Xsqlite3_column_database_name16(tls *libc.TLS, pStmt uintptr, N int32) uintptr { /* sqlite3.c:86399:23: */ +func Xsqlite3_column_database_name16(tls *libc.TLS, pStmt uintptr, N int32) uintptr { /* sqlite3.c:86412:23: */ return columnName(tls, pStmt, N, 1, COLNAME_DATABASE) } // Return the name of the table from which a result column derives. // NULL is returned if the result column is an expression or constant or // anything else which is not an unambiguous reference to a database column. -func Xsqlite3_column_table_name(tls *libc.TLS, pStmt uintptr, N int32) uintptr { /* sqlite3.c:86409:23: */ +func Xsqlite3_column_table_name(tls *libc.TLS, pStmt uintptr, N int32) uintptr { /* sqlite3.c:86422:23: */ return columnName(tls, pStmt, N, 0, COLNAME_TABLE) } -func Xsqlite3_column_table_name16(tls *libc.TLS, pStmt uintptr, N int32) uintptr { /* sqlite3.c:86413:23: */ +func Xsqlite3_column_table_name16(tls *libc.TLS, pStmt uintptr, N int32) uintptr { /* sqlite3.c:86426:23: */ return columnName(tls, pStmt, N, 1, COLNAME_TABLE) } // Return the name of the table column from which a result column derives. // NULL is returned if the result column is an expression or constant or // anything else which is not an unambiguous reference to a database column. -func Xsqlite3_column_origin_name(tls *libc.TLS, pStmt uintptr, N int32) uintptr { /* sqlite3.c:86423:23: */ +func Xsqlite3_column_origin_name(tls *libc.TLS, pStmt uintptr, N int32) uintptr { /* sqlite3.c:86436:23: */ return columnName(tls, pStmt, N, 0, COLNAME_COLUMN) } -func Xsqlite3_column_origin_name16(tls *libc.TLS, pStmt uintptr, N int32) uintptr { /* sqlite3.c:86427:23: */ +func Xsqlite3_column_origin_name16(tls *libc.TLS, pStmt uintptr, N int32) uintptr { /* sqlite3.c:86440:23: */ return columnName(tls, pStmt, N, 1, COLNAME_COLUMN) } @@ -63004,13 +63023,13 @@ func Xsqlite3_column_origin_name16(tls *libc.TLS, pStmt uintptr, N int32) uintpt // // The error code stored in database p->db is overwritten with the return // value in any case. -func vdbeUnbind(tls *libc.TLS, p uintptr, i int32) int32 { /* sqlite3.c:86449:12: */ +func vdbeUnbind(tls *libc.TLS, p uintptr, i int32) int32 { /* sqlite3.c:86462:12: */ bp := tls.Alloc(8) defer tls.Free(8) var pVar uintptr if vdbeSafetyNotNull(tls, p) != 0 { - return Xsqlite3MisuseError(tls, 86452) + return Xsqlite3MisuseError(tls, 86465) } Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer((*Vdbe)(unsafe.Pointer(p)).Fdb)).Fmutex) if (*Vdbe)(unsafe.Pointer(p)).FiVdbeMagic != U32(VDBE_MAGIC_RUN) || (*Vdbe)(unsafe.Pointer(p)).Fpc >= 0 { @@ -63018,7 +63037,7 @@ func vdbeUnbind(tls *libc.TLS, p uintptr, i int32) int32 { /* sqlite3.c:86449:12 Xsqlite3_mutex_leave(tls, (*Sqlite3)(unsafe.Pointer((*Vdbe)(unsafe.Pointer(p)).Fdb)).Fmutex) Xsqlite3_log(tls, SQLITE_MISUSE, ts+5318, libc.VaList(bp, (*Vdbe)(unsafe.Pointer(p)).FzSql)) - return Xsqlite3MisuseError(tls, 86460) + return Xsqlite3MisuseError(tls, 86473) } if i < 1 || i > int32((*Vdbe)(unsafe.Pointer(p)).FnVar) { Xsqlite3Error(tls, (*Vdbe)(unsafe.Pointer(p)).Fdb, SQLITE_RANGE) @@ -63052,7 +63071,7 @@ func vdbeUnbind(tls *libc.TLS, p uintptr, i int32) int32 { /* sqlite3.c:86449:12 } // Bind a text or BLOB value. -func bindText(tls *libc.TLS, pStmt uintptr, i int32, zData uintptr, nData I64, xDel uintptr, encoding U8) int32 { /* sqlite3.c:86492:12: */ +func bindText(tls *libc.TLS, pStmt uintptr, i int32, zData uintptr, nData I64, xDel uintptr, encoding U8) int32 { /* sqlite3.c:86505:12: */ var p uintptr = pStmt var pVar uintptr var rc int32 @@ -63078,16 +63097,16 @@ func bindText(tls *libc.TLS, pStmt uintptr, i int32, zData uintptr, nData I64, x } // 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) int32 { /* sqlite3.c:86528:16: */ +func Xsqlite3_bind_blob(tls *libc.TLS, pStmt uintptr, i int32, zData uintptr, nData int32, xDel uintptr) int32 { /* sqlite3.c:86541:16: */ return bindText(tls, pStmt, i, zData, int64(nData), xDel, uint8(0)) } -func Xsqlite3_bind_blob64(tls *libc.TLS, pStmt uintptr, i int32, zData uintptr, nData Sqlite3_uint64, xDel uintptr) int32 { /* sqlite3.c:86540:16: */ +func Xsqlite3_bind_blob64(tls *libc.TLS, pStmt uintptr, i int32, zData uintptr, nData Sqlite3_uint64, xDel uintptr) int32 { /* sqlite3.c:86553:16: */ return bindText(tls, pStmt, i, zData, int64(nData), xDel, uint8(0)) } -func Xsqlite3_bind_double(tls *libc.TLS, pStmt uintptr, i int32, rValue float64) int32 { /* sqlite3.c:86550:16: */ +func Xsqlite3_bind_double(tls *libc.TLS, pStmt uintptr, i int32, rValue float64) int32 { /* sqlite3.c:86563:16: */ var rc int32 var p uintptr = pStmt rc = vdbeUnbind(tls, p, i) @@ -63098,11 +63117,11 @@ func Xsqlite3_bind_double(tls *libc.TLS, pStmt uintptr, i int32, rValue float64) return rc } -func Xsqlite3_bind_int(tls *libc.TLS, p uintptr, i int32, iValue int32) int32 { /* sqlite3.c:86560:16: */ +func Xsqlite3_bind_int(tls *libc.TLS, p uintptr, i int32, iValue int32) int32 { /* sqlite3.c:86573:16: */ return Xsqlite3_bind_int64(tls, p, i, I64(iValue)) } -func Xsqlite3_bind_int64(tls *libc.TLS, pStmt uintptr, i int32, iValue Sqlite_int64) int32 { /* sqlite3.c:86563:16: */ +func Xsqlite3_bind_int64(tls *libc.TLS, pStmt uintptr, i int32, iValue Sqlite_int64) int32 { /* sqlite3.c:86576:16: */ var rc int32 var p uintptr = pStmt rc = vdbeUnbind(tls, p, i) @@ -63113,7 +63132,7 @@ func Xsqlite3_bind_int64(tls *libc.TLS, pStmt uintptr, i int32, iValue Sqlite_in return rc } -func Xsqlite3_bind_null(tls *libc.TLS, pStmt uintptr, i int32) int32 { /* sqlite3.c:86573:16: */ +func Xsqlite3_bind_null(tls *libc.TLS, pStmt uintptr, i int32) int32 { /* sqlite3.c:86586:16: */ var rc int32 var p uintptr = pStmt rc = vdbeUnbind(tls, p, i) @@ -63123,7 +63142,7 @@ func Xsqlite3_bind_null(tls *libc.TLS, pStmt uintptr, i int32) int32 { /* sqlite return rc } -func Xsqlite3_bind_pointer(tls *libc.TLS, pStmt uintptr, i int32, pPtr uintptr, zPTtype uintptr, xDestructor uintptr) int32 { /* sqlite3.c:86582:16: */ +func Xsqlite3_bind_pointer(tls *libc.TLS, pStmt uintptr, i int32, pPtr uintptr, zPTtype uintptr, xDestructor uintptr) int32 { /* sqlite3.c:86595:16: */ var rc int32 var p uintptr = pStmt rc = vdbeUnbind(tls, p, i) @@ -63136,11 +63155,11 @@ func Xsqlite3_bind_pointer(tls *libc.TLS, pStmt uintptr, i int32, pPtr uintptr, return rc } -func Xsqlite3_bind_text(tls *libc.TLS, pStmt uintptr, i int32, zData uintptr, nData int32, xDel uintptr) int32 { /* sqlite3.c:86600:16: */ +func Xsqlite3_bind_text(tls *libc.TLS, pStmt uintptr, i int32, zData uintptr, nData int32, xDel uintptr) int32 { /* sqlite3.c:86613:16: */ return bindText(tls, pStmt, i, zData, int64(nData), xDel, uint8(SQLITE_UTF8)) } -func Xsqlite3_bind_text64(tls *libc.TLS, pStmt uintptr, i int32, zData uintptr, nData Sqlite3_uint64, xDel uintptr, enc uint8) int32 { /* sqlite3.c:86609:16: */ +func Xsqlite3_bind_text64(tls *libc.TLS, pStmt uintptr, i int32, zData uintptr, nData Sqlite3_uint64, xDel uintptr, enc uint8) int32 { /* sqlite3.c:86622:16: */ if int32(enc) == SQLITE_UTF16 { enc = uint8(SQLITE_UTF16LE) @@ -63148,11 +63167,11 @@ func Xsqlite3_bind_text64(tls *libc.TLS, pStmt uintptr, i int32, zData uintptr, return bindText(tls, pStmt, i, zData, int64(nData), xDel, enc) } -func Xsqlite3_bind_text16(tls *libc.TLS, pStmt uintptr, i int32, zData uintptr, nData int32, xDel uintptr) int32 { /* sqlite3.c:86622:16: */ +func Xsqlite3_bind_text16(tls *libc.TLS, pStmt uintptr, i int32, zData uintptr, nData int32, xDel uintptr) int32 { /* sqlite3.c:86635:16: */ return bindText(tls, pStmt, i, zData, int64(nData), xDel, uint8(SQLITE_UTF16LE)) } -func Xsqlite3_bind_value(tls *libc.TLS, pStmt uintptr, i int32, pValue uintptr) int32 { /* sqlite3.c:86632:16: */ +func Xsqlite3_bind_value(tls *libc.TLS, pStmt uintptr, i int32, pValue uintptr) int32 { /* sqlite3.c:86645:16: */ var rc int32 switch Xsqlite3_value_type(tls, pValue) { case SQLITE_INTEGER: @@ -63201,7 +63220,7 @@ func Xsqlite3_bind_value(tls *libc.TLS, pStmt uintptr, i int32, pValue uintptr) return rc } -func Xsqlite3_bind_zeroblob(tls *libc.TLS, pStmt uintptr, i int32, n int32) int32 { /* sqlite3.c:86666:16: */ +func Xsqlite3_bind_zeroblob(tls *libc.TLS, pStmt uintptr, i int32, n int32) int32 { /* sqlite3.c:86679:16: */ var rc int32 var p uintptr = pStmt rc = vdbeUnbind(tls, p, i) @@ -63212,7 +63231,7 @@ func Xsqlite3_bind_zeroblob(tls *libc.TLS, pStmt uintptr, i int32, n int32) int3 return rc } -func Xsqlite3_bind_zeroblob64(tls *libc.TLS, pStmt uintptr, i int32, n Sqlite3_uint64) int32 { /* sqlite3.c:86680:16: */ +func Xsqlite3_bind_zeroblob64(tls *libc.TLS, pStmt uintptr, i int32, n Sqlite3_uint64) int32 { /* sqlite3.c:86693:16: */ var rc int32 var p uintptr = pStmt Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer((*Vdbe)(unsafe.Pointer(p)).Fdb)).Fmutex) @@ -63229,7 +63248,7 @@ func Xsqlite3_bind_zeroblob64(tls *libc.TLS, pStmt uintptr, i int32, n Sqlite3_u // Return the number of wildcards that can be potentially bound to. // This routine is added to support DBD::SQLite. -func Xsqlite3_bind_parameter_count(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:86699:16: */ +func Xsqlite3_bind_parameter_count(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:86712:16: */ var p uintptr = pStmt if p != 0 { return int32((*Vdbe)(unsafe.Pointer(p)).FnVar) @@ -63241,7 +63260,7 @@ func Xsqlite3_bind_parameter_count(tls *libc.TLS, pStmt uintptr) int32 { /* sqli // is out of range or if the wildcard is unnamed. // // The result is always UTF-8. -func Xsqlite3_bind_parameter_name(tls *libc.TLS, pStmt uintptr, i int32) uintptr { /* sqlite3.c:86710:23: */ +func Xsqlite3_bind_parameter_name(tls *libc.TLS, pStmt uintptr, i int32) uintptr { /* sqlite3.c:86723:23: */ var p uintptr = pStmt if p == uintptr(0) { return uintptr(0) @@ -63252,19 +63271,19 @@ func Xsqlite3_bind_parameter_name(tls *libc.TLS, pStmt uintptr, i int32) uintptr // Given a wildcard parameter name, return the index of the variable // with that name. If there is no variable with the given name, // return 0. -func Xsqlite3VdbeParameterIndex(tls *libc.TLS, p uintptr, zName uintptr, nName int32) int32 { /* sqlite3.c:86721:20: */ +func Xsqlite3VdbeParameterIndex(tls *libc.TLS, p uintptr, zName uintptr, nName int32) int32 { /* sqlite3.c:86734:20: */ if p == uintptr(0) || zName == uintptr(0) { return 0 } return Xsqlite3VListNameToNum(tls, (*Vdbe)(unsafe.Pointer(p)).FpVList, zName, nName) } -func Xsqlite3_bind_parameter_index(tls *libc.TLS, pStmt uintptr, zName uintptr) int32 { /* sqlite3.c:86725:16: */ +func Xsqlite3_bind_parameter_index(tls *libc.TLS, pStmt uintptr, zName uintptr) int32 { /* sqlite3.c:86738:16: */ return Xsqlite3VdbeParameterIndex(tls, pStmt, zName, Xsqlite3Strlen30(tls, zName)) } // Transfer all bindings from the first statement over to the second. -func Xsqlite3TransferBindings(tls *libc.TLS, pFromStmt uintptr, pToStmt uintptr) int32 { /* sqlite3.c:86732:20: */ +func Xsqlite3TransferBindings(tls *libc.TLS, pFromStmt uintptr, pToStmt uintptr) int32 { /* sqlite3.c:86745:20: */ var pFrom uintptr = pFromStmt var pTo uintptr = pToStmt var i int32 @@ -63287,7 +63306,7 @@ func Xsqlite3TransferBindings(tls *libc.TLS, pFromStmt uintptr, pToStmt uintptr) // If the two statements contain a different number of bindings, then // an SQLITE_ERROR is returned. Nothing else can go wrong, so otherwise // SQLITE_OK is returned. -func Xsqlite3_transfer_bindings(tls *libc.TLS, pFromStmt uintptr, pToStmt uintptr) int32 { /* sqlite3.c:86759:16: */ +func Xsqlite3_transfer_bindings(tls *libc.TLS, pFromStmt uintptr, pToStmt uintptr) int32 { /* sqlite3.c:86772:16: */ var pFrom uintptr = pFromStmt var pTo uintptr = pToStmt if int32((*Vdbe)(unsafe.Pointer(pFrom)).FnVar) != int32((*Vdbe)(unsafe.Pointer(pTo)).FnVar) { @@ -63308,7 +63327,7 @@ func Xsqlite3_transfer_bindings(tls *libc.TLS, pFromStmt uintptr, pToStmt uintpt // in the argument belongs. This is the same database handle that was // the first argument to the sqlite3_prepare() that was used to create // the statement in the first place. -func Xsqlite3_db_handle(tls *libc.TLS, pStmt uintptr) uintptr { /* sqlite3.c:86783:20: */ +func Xsqlite3_db_handle(tls *libc.TLS, pStmt uintptr) uintptr { /* sqlite3.c:86796:20: */ if pStmt != 0 { return (*Vdbe)(unsafe.Pointer(pStmt)).Fdb } @@ -63317,7 +63336,7 @@ func Xsqlite3_db_handle(tls *libc.TLS, pStmt uintptr) uintptr { /* sqlite3.c:867 // Return true if the prepared statement is guaranteed to not modify the // database. -func Xsqlite3_stmt_readonly(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:86791:16: */ +func Xsqlite3_stmt_readonly(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:86804:16: */ if pStmt != 0 { return int32(*(*uint16)(unsafe.Pointer(pStmt + 160)) & 0x80 >> 7) } @@ -63326,7 +63345,7 @@ func Xsqlite3_stmt_readonly(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:8 // Return 1 if the statement is an EXPLAIN and return 2 if the // statement is an EXPLAIN QUERY PLAN -func Xsqlite3_stmt_isexplain(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:86799:16: */ +func Xsqlite3_stmt_isexplain(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:86812:16: */ if pStmt != 0 { return int32(*(*uint16)(unsafe.Pointer(pStmt + 160)) & 0xc >> 2) } @@ -63334,7 +63353,7 @@ func Xsqlite3_stmt_isexplain(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c: } // Return true if the prepared statement is in need of being reset. -func Xsqlite3_stmt_busy(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:86806:16: */ +func Xsqlite3_stmt_busy(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:86819:16: */ var v uintptr = pStmt return libc.Bool32(v != uintptr(0) && (*Vdbe)(unsafe.Pointer(v)).FiVdbeMagic == U32(VDBE_MAGIC_RUN) && (*Vdbe)(unsafe.Pointer(v)).Fpc >= 0) } @@ -63343,7 +63362,7 @@ func Xsqlite3_stmt_busy(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:86806 // with database connection pDb. If pStmt is NULL, return the first // prepared statement for the database connection. Return NULL if there // are no more. -func Xsqlite3_next_stmt(tls *libc.TLS, pDb uintptr, pStmt uintptr) uintptr { /* sqlite3.c:86817:25: */ +func Xsqlite3_next_stmt(tls *libc.TLS, pDb uintptr, pStmt uintptr) uintptr { /* sqlite3.c:86830:25: */ var pNext uintptr Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(pDb)).Fmutex) if pStmt == uintptr(0) { @@ -63356,7 +63375,7 @@ func Xsqlite3_next_stmt(tls *libc.TLS, pDb uintptr, pStmt uintptr) uintptr { /* } // Return the value of a status counter for a prepared statement -func Xsqlite3_stmt_status(tls *libc.TLS, pStmt uintptr, op int32, resetFlag int32) int32 { /* sqlite3.c:86838:16: */ +func Xsqlite3_stmt_status(tls *libc.TLS, pStmt uintptr, op int32, resetFlag int32) int32 { /* sqlite3.c:86851:16: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -63382,7 +63401,7 @@ func Xsqlite3_stmt_status(tls *libc.TLS, pStmt uintptr, op int32, resetFlag int3 } // Return the SQL associated with a prepared statement -func Xsqlite3_sql(tls *libc.TLS, pStmt uintptr) uintptr { /* sqlite3.c:86868:23: */ +func Xsqlite3_sql(tls *libc.TLS, pStmt uintptr) uintptr { /* sqlite3.c:86881:23: */ var p uintptr = pStmt if p != 0 { return (*Vdbe)(unsafe.Pointer(p)).FzSql @@ -63397,7 +63416,7 @@ func Xsqlite3_sql(tls *libc.TLS, pStmt uintptr) uintptr { /* sqlite3.c:86868:23: // // The SQLITE_TRACE_SIZE_LIMIT puts an upper bound on the size of // expanded bound parameters. -func Xsqlite3_expanded_sql(tls *libc.TLS, pStmt uintptr) uintptr { /* sqlite3.c:86882:17: */ +func Xsqlite3_expanded_sql(tls *libc.TLS, pStmt uintptr) uintptr { /* sqlite3.c:86895:17: */ var z uintptr = uintptr(0) var zSql uintptr = Xsqlite3_sql(tls, pStmt) if zSql != 0 { @@ -63412,7 +63431,7 @@ func Xsqlite3_expanded_sql(tls *libc.TLS, pStmt uintptr) uintptr { /* sqlite3.c: // Allocate and populate an UnpackedRecord structure based on the serialized // record in nKey/pKey. Return a pointer to the new UnpackedRecord structure // if successful, or a NULL pointer if an OOM error is encountered. -func vdbeUnpackRecord(tls *libc.TLS, pKeyInfo uintptr, nKey int32, pKey uintptr) uintptr { /* sqlite3.c:86920:23: */ +func vdbeUnpackRecord(tls *libc.TLS, pKeyInfo uintptr, nKey int32, pKey uintptr) uintptr { /* sqlite3.c:86933:23: */ var pRet uintptr // Return value pRet = Xsqlite3VdbeAllocUnpackedRecord(tls, pKeyInfo) @@ -63425,7 +63444,7 @@ func vdbeUnpackRecord(tls *libc.TLS, pKeyInfo uintptr, nKey int32, pKey uintptr) // This function is called from within a pre-update callback to retrieve // a field of the row currently being updated or deleted. -func Xsqlite3_preupdate_old(tls *libc.TLS, db uintptr, iIdx int32, ppValue uintptr) int32 { /* sqlite3.c:86939:16: */ +func Xsqlite3_preupdate_old(tls *libc.TLS, db uintptr, iIdx int32, ppValue uintptr) int32 { /* sqlite3.c:86952:16: */ var p uintptr var pMem uintptr var rc int32 @@ -63439,7 +63458,7 @@ func Xsqlite3_preupdate_old(tls *libc.TLS, db uintptr, iIdx int32, ppValue uintp if !(!(p != 0) || (*PreUpdate)(unsafe.Pointer(p)).Fop == SQLITE_INSERT) { goto __1 } - rc = Xsqlite3MisuseError(tls, 86947) + rc = Xsqlite3MisuseError(tls, 86960) goto preupdate_old_out __1: ; @@ -63531,7 +63550,7 @@ preupdate_old_out: // This function is called from within a pre-update callback to retrieve // the number of columns in the row being updated, deleted or inserted. -func Xsqlite3_preupdate_count(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:87003:16: */ +func Xsqlite3_preupdate_count(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:87016:16: */ var p uintptr = (*Sqlite3)(unsafe.Pointer(db)).FpPreUpdate return func() int32 { if p != 0 { @@ -63550,7 +63569,7 @@ func Xsqlite3_preupdate_count(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:87 // // For the purposes of the previous paragraph, a foreign key CASCADE, SET NULL // or SET DEFAULT action is considered a trigger. -func Xsqlite3_preupdate_depth(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:87021:16: */ +func Xsqlite3_preupdate_depth(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:87034:16: */ var p uintptr = (*Sqlite3)(unsafe.Pointer(db)).FpPreUpdate return func() int32 { if p != 0 { @@ -63562,7 +63581,7 @@ func Xsqlite3_preupdate_depth(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:87 // This function is designed to be called from within a pre-update callback // only. -func Xsqlite3_preupdate_blobwrite(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:87032:16: */ +func Xsqlite3_preupdate_blobwrite(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:87045:16: */ var p uintptr = (*Sqlite3)(unsafe.Pointer(db)).FpPreUpdate return func() int32 { if p != 0 { @@ -63574,7 +63593,7 @@ func Xsqlite3_preupdate_blobwrite(tls *libc.TLS, db uintptr) int32 { /* sqlite3. // This function is called from within a pre-update callback to retrieve // a field of the row currently being updated or inserted. -func Xsqlite3_preupdate_new(tls *libc.TLS, db uintptr, iIdx int32, ppValue uintptr) int32 { /* sqlite3.c:87043:16: */ +func Xsqlite3_preupdate_new(tls *libc.TLS, db uintptr, iIdx int32, ppValue uintptr) int32 { /* sqlite3.c:87056:16: */ var p uintptr var rc int32 var pMem uintptr @@ -63588,7 +63607,7 @@ func Xsqlite3_preupdate_new(tls *libc.TLS, db uintptr, iIdx int32, ppValue uintp if !(!(p != 0) || (*PreUpdate)(unsafe.Pointer(p)).Fop == SQLITE_DELETE) { goto __1 } - rc = Xsqlite3MisuseError(tls, 87049) + rc = Xsqlite3MisuseError(tls, 87062) goto preupdate_new_out __1: ; @@ -63729,7 +63748,7 @@ preupdate_new_out: // bytes in this text up to but excluding the first character in // a host parameter. If the text contains no host parameters, return // the total number of bytes in the text. -func findNextHostParameter(tls *libc.TLS, zSql uintptr, pnToken uintptr) int32 { /* sqlite3.c:87213:12: */ +func findNextHostParameter(tls *libc.TLS, zSql uintptr, pnToken uintptr) int32 { /* sqlite3.c:87226:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -63774,7 +63793,7 @@ func findNextHostParameter(tls *libc.TLS, zSql uintptr, pnToken uintptr) int32 { // statement for the corresponding OP_Variable opcode. Once the host // parameter index is known, locate the value in p->aVar[]. Then render // the value as a literal in place of the host parameter name. -func Xsqlite3VdbeExpandSql(tls *libc.TLS, p uintptr, zRawSql uintptr) uintptr { /* sqlite3.c:87256:21: */ +func Xsqlite3VdbeExpandSql(tls *libc.TLS, p uintptr, zRawSql uintptr) uintptr { /* sqlite3.c:87269:21: */ bp := tls.Alloc(120) defer tls.Free(120) @@ -63997,7 +64016,7 @@ func Xsqlite3VdbeExpandSql(tls *libc.TLS, p uintptr, zRawSql uintptr) uintptr { // Allocate VdbeCursor number iCur. Return a pointer to it. Return NULL // if we run out of memory. -func allocateCursor(tls *libc.TLS, p uintptr, iCur int32, nField int32, eCurType U8) uintptr { /* sqlite3.c:87619:19: */ +func allocateCursor(tls *libc.TLS, p uintptr, iCur int32, nField int32, eCurType U8) uintptr { /* sqlite3.c:87632:19: */ // Find the memory cell that will be used to store the blob of memory // required for this VdbeCursor structure. It is convenient to use a // vdbe memory cell to manage the memory allocation required for a @@ -64068,7 +64087,7 @@ func allocateCursor(tls *libc.TLS, p uintptr, iCur int32, nField int32, eCurType // floating point value of rValue. Return true and set *piValue to the // integer value if the string is in range to be an integer. Otherwise, // return false. -func alsoAnInt(tls *libc.TLS, pRec uintptr, rValue float64, piValue uintptr) int32 { /* sqlite3.c:87695:12: */ +func alsoAnInt(tls *libc.TLS, pRec uintptr, rValue float64, piValue uintptr) int32 { /* sqlite3.c:87708:12: */ var iValue I64 = I64(rValue) if Xsqlite3RealSameAsInt(tls, rValue, iValue) != 0 { *(*I64)(unsafe.Pointer(piValue)) = iValue @@ -64090,7 +64109,7 @@ func alsoAnInt(tls *libc.TLS, pRec uintptr, rValue float64, piValue uintptr) int // If bTryForInt is false, then if the input string contains a decimal // point or exponential notation, the result is only MEM_Real, even // if there is an exact integer representation of the quantity. -func applyNumericAffinity(tls *libc.TLS, pRec uintptr, bTryForInt int32) { /* sqlite3.c:87719:13: */ +func applyNumericAffinity(tls *libc.TLS, pRec uintptr, bTryForInt int32) { /* sqlite3.c:87732:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -64136,7 +64155,7 @@ func applyNumericAffinity(tls *libc.TLS, pRec uintptr, bTryForInt int32) { /* sq // SQLITE_AFF_BLOB: // SQLITE_AFF_NONE: // No-op. pRec is unchanged. -func applyAffinity(tls *libc.TLS, pRec uintptr, affinity uint8, enc U8) { /* sqlite3.c:87759:13: */ +func applyAffinity(tls *libc.TLS, pRec uintptr, affinity uint8, enc U8) { /* sqlite3.c:87772:13: */ if int32(affinity) >= SQLITE_AFF_NUMERIC { if int32((*Mem)(unsafe.Pointer(pRec)).Fflags)&MEM_Int == 0 { //OPTIMIZATION-IF-FALSE @@ -64168,7 +64187,7 @@ func applyAffinity(tls *libc.TLS, pRec uintptr, affinity uint8, enc U8) { /* sql // into a numeric representation. Use either INTEGER or REAL whichever // is appropriate. But only do the conversion if it is possible without // loss of information and return the revised type of the argument. -func Xsqlite3_value_numeric_type(tls *libc.TLS, pVal uintptr) int32 { /* sqlite3.c:87798:16: */ +func Xsqlite3_value_numeric_type(tls *libc.TLS, pVal uintptr) int32 { /* sqlite3.c:87811:16: */ var eType int32 = Xsqlite3_value_type(tls, pVal) if eType == SQLITE_TEXT { var pMem uintptr = pVal @@ -64180,7 +64199,7 @@ func Xsqlite3_value_numeric_type(tls *libc.TLS, pVal uintptr) int32 { /* sqlite3 // Exported version of applyAffinity(). This one works on sqlite3_value*, // not the internal Mem* type. -func Xsqlite3ValueApplyAffinity(tls *libc.TLS, pVal uintptr, affinity U8, enc U8) { /* sqlite3.c:87812:21: */ +func Xsqlite3ValueApplyAffinity(tls *libc.TLS, pVal uintptr, affinity U8, enc U8) { /* sqlite3.c:87825:21: */ applyAffinity(tls, pVal, uint8(affinity), enc) } @@ -64188,7 +64207,7 @@ func Xsqlite3ValueApplyAffinity(tls *libc.TLS, pVal uintptr, affinity U8, enc U8 // interpret as a string if we want to). Compute its corresponding // numeric type, if has one. Set the pMem->u.r and pMem->u.i fields // accordingly. -func computeNumericType(tls *libc.TLS, pMem uintptr) U16 { /* sqlite3.c:87826:28: */ +func computeNumericType(tls *libc.TLS, pMem uintptr) U16 { /* sqlite3.c:87839:28: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -64224,7 +64243,7 @@ func computeNumericType(tls *libc.TLS, pMem uintptr) U16 { /* sqlite3.c:87826:28 // // Unlike applyNumericAffinity(), this routine does not modify pMem->flags. // But it does set pMem->u.r and pMem->u.i appropriately. -func numericType(tls *libc.TLS, pMem uintptr) U16 { /* sqlite3.c:87857:12: */ +func numericType(tls *libc.TLS, pMem uintptr) U16 { /* sqlite3.c:87870:12: */ if int32((*Mem)(unsafe.Pointer(pMem)).Fflags)&(MEM_Int|MEM_Real|MEM_IntReal) != 0 { return U16(int32((*Mem)(unsafe.Pointer(pMem)).Fflags) & (MEM_Int | MEM_Real | MEM_IntReal)) @@ -64238,13 +64257,13 @@ func numericType(tls *libc.TLS, pMem uintptr) U16 { /* sqlite3.c:87857:12: */ // Return the register of pOp->p2 after first preparing it to be // overwritten with an integer value. -func out2PrereleaseWithClear(tls *libc.TLS, pOut uintptr) uintptr { /* sqlite3.c:88032:28: */ +func out2PrereleaseWithClear(tls *libc.TLS, pOut uintptr) uintptr { /* sqlite3.c:88045:28: */ Xsqlite3VdbeMemSetNull(tls, pOut) (*Mem)(unsafe.Pointer(pOut)).Fflags = U16(MEM_Int) return pOut } -func out2Prerelease(tls *libc.TLS, p uintptr, pOp uintptr) uintptr { /* sqlite3.c:88037:12: */ +func out2Prerelease(tls *libc.TLS, p uintptr, pOp uintptr) uintptr { /* sqlite3.c:88050:12: */ var pOut uintptr pOut = (*Vdbe)(unsafe.Pointer(p)).FaMem + uintptr((*VdbeOp)(unsafe.Pointer(pOp)).Fp2)*40 @@ -64260,7 +64279,7 @@ func out2Prerelease(tls *libc.TLS, p uintptr, pOp uintptr) uintptr { /* sqlite3. // Compute a bloom filter hash using pOp->p4.i registers from aMem[] beginning // with pOp->p3. Return the hash. -func filterHash(tls *libc.TLS, aMem uintptr, pOp uintptr) U64 { /* sqlite3.c:88055:12: */ +func filterHash(tls *libc.TLS, aMem uintptr, pOp uintptr) U64 { /* sqlite3.c:88068:12: */ var i int32 var mx int32 var h U64 = uint64(0) @@ -64284,7 +64303,7 @@ func filterHash(tls *libc.TLS, aMem uintptr, pOp uintptr) U64 { /* sqlite3.c:880 } // Return the symbolic name for the data type of a pMem -func vdbeMemTypeName(tls *libc.TLS, pMem uintptr) uintptr { /* sqlite3.c:88077:19: */ +func vdbeMemTypeName(tls *libc.TLS, pMem uintptr) uintptr { /* sqlite3.c:88090:19: */ return azTypes[Xsqlite3_value_type(tls, pMem)-1] } @@ -64294,11 +64313,11 @@ var azTypes = [5]uintptr{ ts + 1112, ts + 1090, ts + 1535, -} /* sqlite3.c:88078:21 */ +} /* sqlite3.c:88091:21 */ // Execute as much of a VDBE program as we can. // This is the core of sqlite3_step(). -func Xsqlite3VdbeExec(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:88092:20: */ +func Xsqlite3VdbeExec(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:88105:20: */ bp := tls.Alloc(800) defer tls.Free(800) @@ -69815,7 +69834,7 @@ op_column_corrupt: goto __8 goto __400 __399: - rc = Xsqlite3CorruptError(tls, 90310) + rc = Xsqlite3CorruptError(tls, 90323) goto abort_due_to_error __400: ; @@ -72310,7 +72329,7 @@ notExistsWithKey: if !((*Op)(unsafe.Pointer(pOp)).Fp2 == 0) { goto __642 } - rc = Xsqlite3CorruptError(tls, 92457) + rc = Xsqlite3CorruptError(tls, 92470) goto __643 __642: goto jump_to_p2 @@ -73472,7 +73491,7 @@ __724: if !((*Op)(unsafe.Pointer(pOp)).Fp5 != 0 && !(Xsqlite3WritableSchema(tls, db) != 0)) { goto __727 } - rc = Xsqlite3ReportError(tls, SQLITE_CORRUPT|int32(3)<<8, 93513, ts+5827) + rc = Xsqlite3ReportError(tls, SQLITE_CORRUPT|int32(3)<<8, 93526, ts+5827) goto abort_due_to_error __727: ; @@ -73664,7 +73683,7 @@ __737: if !(nCellKey <= int64(0) || nCellKey > int64(0x7fffffff)) { goto __738 } - rc = Xsqlite3CorruptError(tls, 93717) + rc = Xsqlite3CorruptError(tls, 93730) goto abort_due_to_error __738: ; @@ -73940,7 +73959,7 @@ __759: // 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 = Xsqlite3CorruptError(tls, 93969) + rc = Xsqlite3CorruptError(tls, 93982) __760: ; Xsqlite3DbFreeNN(tls, db, zSql) @@ -75951,7 +75970,7 @@ __916: if !(rc == SQLITE_IOERR|int32(33)<<8) { goto __918 } - rc = Xsqlite3CorruptError(tls, 95906) + rc = Xsqlite3CorruptError(tls, 95919) __918: ; __917: @@ -76040,11 +76059,11 @@ abort_due_to_interrupt: } var azType = [4]uintptr{ts + 6069, ts + 6078, ts + 6085, - ts + 6091} /* sqlite3.c:88537:25 */ -var and_logic = [9]uint8{uint8(0), uint8(0), uint8(0), uint8(0), uint8(1), uint8(2), uint8(0), uint8(2), uint8(2)} /* sqlite3.c:89761:32 */ -var or_logic = [9]uint8{uint8(0), uint8(1), uint8(2), uint8(1), uint8(1), uint8(1), uint8(2), uint8(1), uint8(2)} /* sqlite3.c:89764:32 */ -var aFlag1 = [2]U16{U16(MEM_Blob), U16(MEM_Str | MEM_Term)} /* sqlite3.c:90257:24 */ -var vfsFlags int32 = SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE | SQLITE_OPEN_EXCLUSIVE | SQLITE_OPEN_DELETEONCLOSE | SQLITE_OPEN_TRANSIENT_DB /* sqlite3.c:91512:20 */ + ts + 6091} /* sqlite3.c:88550:25 */ +var and_logic = [9]uint8{uint8(0), uint8(0), uint8(0), uint8(0), uint8(1), uint8(2), uint8(0), uint8(2), uint8(2)} /* sqlite3.c:89774:32 */ +var or_logic = [9]uint8{uint8(0), uint8(1), uint8(2), uint8(1), uint8(1), uint8(1), uint8(2), uint8(1), uint8(2)} /* sqlite3.c:89777:32 */ +var aFlag1 = [2]U16{U16(MEM_Blob), U16(MEM_Str | MEM_Term)} /* sqlite3.c:90270:24 */ +var vfsFlags int32 = SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE | SQLITE_OPEN_EXCLUSIVE | SQLITE_OPEN_DELETEONCLOSE | SQLITE_OPEN_TRANSIENT_DB /* sqlite3.c:91525:20 */ //************* End of vdbe.c *********************************************** //************* Begin file vdbeblob.c *************************************** @@ -76075,7 +76094,7 @@ type Incrblob1 = struct { Fdb uintptr FzDb uintptr FpTab uintptr -} /* sqlite3.c:96011:9 */ +} /* sqlite3.c:96024:9 */ //************* End of vdbe.c *********************************************** //************* Begin file vdbeblob.c *************************************** @@ -76096,7 +76115,7 @@ type Incrblob1 = struct { // #include "vdbeInt.h" // Valid sqlite3_blob* handles point to Incrblob structures. -type Incrblob = Incrblob1 /* sqlite3.c:96011:25 */ +type Incrblob = Incrblob1 /* sqlite3.c:96024:25 */ // This function is used by both blob_open() and blob_reopen(). It seeks // the b-tree cursor associated with blob handle p to point to row iRow. @@ -76113,7 +76132,7 @@ type Incrblob = Incrblob1 /* sqlite3.c:96011:25 */ // If an error does occur, then the b-tree cursor is closed. All subsequent // calls to sqlite3_blob_read(), blob_write() or blob_reopen() will // immediately return SQLITE_ABORT. -func blobSeekToRow(tls *libc.TLS, p uintptr, iRow Sqlite3_int64, pzErr uintptr) int32 { /* sqlite3.c:96041:12: */ +func blobSeekToRow(tls *libc.TLS, p uintptr, iRow Sqlite3_int64, pzErr uintptr) int32 { /* sqlite3.c:96054:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -76189,7 +76208,7 @@ func blobSeekToRow(tls *libc.TLS, p uintptr, iRow Sqlite3_int64, pzErr uintptr) } // Open a blob handle. -func Xsqlite3_blob_open(tls *libc.TLS, db uintptr, zDb uintptr, zTable uintptr, zColumn uintptr, iRow Sqlite_int64, wrFlag int32, ppBlob uintptr) int32 { /* sqlite3.c:96109:16: */ +func Xsqlite3_blob_open(tls *libc.TLS, db uintptr, zDb uintptr, zTable uintptr, zColumn uintptr, iRow Sqlite_int64, wrFlag int32, ppBlob uintptr) int32 { /* sqlite3.c:96122:16: */ bp := tls.Alloc(324) defer tls.Free(324) @@ -76510,7 +76529,7 @@ __38: return rc } -var iLn int32 = 0 /* sqlite3.c:96252:24 */ +var iLn int32 = 0 /* sqlite3.c:96265:24 */ var openBlob = [6]VdbeOpList{ {Fopcode: U8(OP_TableLock)}, // 0: Acquire a read or write lock {Fopcode: U8(OP_OpenRead)}, // 1: Open a cursor @@ -76519,11 +76538,11 @@ var openBlob = [6]VdbeOpList{ {Fopcode: U8(OP_Column), Fp3: int8(1)}, // 3 {Fopcode: U8(OP_ResultRow), Fp1: int8(1)}, // 4 {Fopcode: U8(OP_Halt)}, // 5 -} /* sqlite3.c:96253:31 */ +} /* sqlite3.c:96266:31 */ // Close a blob handle that was previously created using // sqlite3_blob_open(). -func Xsqlite3_blob_close(tls *libc.TLS, pBlob uintptr) int32 { /* sqlite3.c:96344:16: */ +func Xsqlite3_blob_close(tls *libc.TLS, pBlob uintptr) int32 { /* sqlite3.c:96357:16: */ var p uintptr = pBlob var rc int32 var db uintptr @@ -76542,14 +76561,14 @@ func Xsqlite3_blob_close(tls *libc.TLS, pBlob uintptr) int32 { /* sqlite3.c:9634 } // Perform a read or write operation on a blob -func blobReadWrite(tls *libc.TLS, pBlob uintptr, z uintptr, n int32, iOffset int32, xCall uintptr) int32 { /* sqlite3.c:96365:12: */ +func blobReadWrite(tls *libc.TLS, pBlob uintptr, z uintptr, n int32, iOffset int32, xCall uintptr) int32 { /* sqlite3.c:96378:12: */ var rc int32 var p uintptr = pBlob var v uintptr var db uintptr if p == uintptr(0) { - return Xsqlite3MisuseError(tls, 96377) + return Xsqlite3MisuseError(tls, 96390) } db = (*Incrblob)(unsafe.Pointer(p)).Fdb Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) @@ -76608,14 +76627,14 @@ func blobReadWrite(tls *libc.TLS, pBlob uintptr, z uintptr, n int32, iOffset int } // Read data from a blob handle. -func Xsqlite3_blob_read(tls *libc.TLS, pBlob uintptr, z uintptr, n int32, iOffset int32) int32 { /* sqlite3.c:96440:16: */ +func Xsqlite3_blob_read(tls *libc.TLS, pBlob uintptr, z uintptr, n int32, iOffset int32) int32 { /* sqlite3.c:96453:16: */ return blobReadWrite(tls, pBlob, z, n, iOffset, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, U32, U32, uintptr) int32 }{Xsqlite3BtreePayloadChecked}))) } // Write data to a blob handle. -func Xsqlite3_blob_write(tls *libc.TLS, pBlob uintptr, z uintptr, n int32, iOffset int32) int32 { /* sqlite3.c:96447:16: */ +func Xsqlite3_blob_write(tls *libc.TLS, pBlob uintptr, z uintptr, n int32, iOffset int32) int32 { /* sqlite3.c:96460:16: */ return blobReadWrite(tls, pBlob, z, n, iOffset, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, U32, U32, uintptr) int32 }{Xsqlite3BtreePutData}))) @@ -76625,7 +76644,7 @@ func Xsqlite3_blob_write(tls *libc.TLS, pBlob uintptr, z uintptr, n int32, iOffs // // The Incrblob.nByte field is fixed for the lifetime of the Incrblob // so no mutex is required for access. -func Xsqlite3_blob_bytes(tls *libc.TLS, pBlob uintptr) int32 { /* sqlite3.c:96457:16: */ +func Xsqlite3_blob_bytes(tls *libc.TLS, pBlob uintptr) int32 { /* sqlite3.c:96470:16: */ var p uintptr = pBlob if p != 0 && (*Incrblob)(unsafe.Pointer(p)).FpStmt != 0 { return (*Incrblob)(unsafe.Pointer(p)).FnByte @@ -76641,7 +76660,7 @@ func Xsqlite3_blob_bytes(tls *libc.TLS, pBlob uintptr) int32 { /* sqlite3.c:9645 // database handle error code and message set. If this happens, then all // subsequent calls to sqlite3_blob_xxx() functions (except blob_close()) // immediately return SQLITE_ABORT. -func Xsqlite3_blob_reopen(tls *libc.TLS, pBlob uintptr, iRow Sqlite3_int64) int32 { /* sqlite3.c:96472:16: */ +func Xsqlite3_blob_reopen(tls *libc.TLS, pBlob uintptr, iRow Sqlite3_int64) int32 { /* sqlite3.c:96485:16: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -76650,7 +76669,7 @@ func Xsqlite3_blob_reopen(tls *libc.TLS, pBlob uintptr, iRow Sqlite3_int64) int3 var db uintptr if p == uintptr(0) { - return Xsqlite3MisuseError(tls, 96477) + return Xsqlite3MisuseError(tls, 96490) } db = (*Incrblob)(unsafe.Pointer(p)).Fdb Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) @@ -76987,7 +77006,7 @@ type MergeEngine1 = struct { // overflows. 512MiB. // Private objects used by the sorter -type MergeEngine = MergeEngine1 /* sqlite3.c:96666:28 */ // Merge PMAs together +type MergeEngine = MergeEngine1 /* sqlite3.c:96679:28 */ // Merge PMAs together type PmaReader1 = struct { FiReadOff I64 FiEof I64 @@ -77004,7 +77023,7 @@ type PmaReader1 = struct { } /* sqlite3.c:22082:9 */ // Merge PMAs together -type PmaReader = PmaReader1 /* sqlite3.c:96667:26 */ // Incrementally read one PMA +type PmaReader = PmaReader1 /* sqlite3.c:96680:26 */ // Incrementally read one PMA type PmaWriter1 = struct { FeFWErr int32 FaBuffer uintptr @@ -77015,17 +77034,17 @@ type PmaWriter1 = struct { FiWriteOff I64 FpFd uintptr F__ccgo_pad2 [4]byte -} /* sqlite3.c:96668:9 */ +} /* sqlite3.c:96681:9 */ // Incrementally read one PMA -type PmaWriter = PmaWriter1 /* sqlite3.c:96668:26 */ // Incrementally write one PMA +type PmaWriter = PmaWriter1 /* sqlite3.c:96681:26 */ // Incrementally write one PMA type SorterRecord1 = struct { FnVal int32 Fu struct{ FpNext uintptr } } /* sqlite3.c:22082:9 */ // Incrementally write one PMA -type SorterRecord = SorterRecord1 /* sqlite3.c:96669:29 */ // A record being sorted +type SorterRecord = SorterRecord1 /* sqlite3.c:96682:29 */ // A record being sorted type SortSubtask1 = struct { FpThread uintptr FbDone int32 @@ -77040,7 +77059,7 @@ type SortSubtask1 = struct { } /* sqlite3.c:22082:9 */ // A record being sorted -type SortSubtask = SortSubtask1 /* sqlite3.c:96670:28 */ // A sub-task in the sort process +type SortSubtask = SortSubtask1 /* sqlite3.c:96683:28 */ // A sub-task in the sort process type SorterFile1 = struct { FpFd uintptr F__ccgo_pad1 [4]byte @@ -77048,7 +77067,7 @@ type SorterFile1 = struct { } /* sqlite3.c:22082:9 */ // A sub-task in the sort process -type SorterFile = SorterFile1 /* sqlite3.c:96671:27 */ // Temporary file object wrapper +type SorterFile = SorterFile1 /* sqlite3.c:96684:27 */ // Temporary file object wrapper type SorterList1 = struct { FpList uintptr FaMemory uintptr @@ -77056,7 +77075,7 @@ type SorterList1 = struct { } /* sqlite3.c:22082:9 */ // Temporary file object wrapper -type SorterList = SorterList1 /* sqlite3.c:96672:27 */ // In-memory list of records +type SorterList = SorterList1 /* sqlite3.c:96685:27 */ // In-memory list of records type IncrMerger1 = struct { FpTask uintptr FpMerger uintptr @@ -77069,7 +77088,7 @@ type IncrMerger1 = struct { } /* sqlite3.c:22082:9 */ // In-memory list of records -type IncrMerger = IncrMerger1 /* sqlite3.c:96673:27 */ +type IncrMerger = IncrMerger1 /* sqlite3.c:96686:27 */ // This object represents a single thread of control in a sort operation. // Exactly VdbeSorter.nTask instances of this object are allocated @@ -77100,11 +77119,11 @@ type IncrMerger = IncrMerger1 /* sqlite3.c:96673:27 */ // In both cases, the effects of the main thread seeing (bDone==0) even // after the thread has finished are not dire. So we don't worry about // memory barriers and such here. -type SorterCompare = uintptr /* sqlite3.c:96800:13 */ +type SorterCompare = uintptr /* sqlite3.c:96813:13 */ // Free all memory belonging to the PmaReader object passed as the // argument. All structure fields are set to zero before returning. -func vdbePmaReaderClear(tls *libc.TLS, pReadr uintptr) { /* sqlite3.c:96975:13: */ +func vdbePmaReaderClear(tls *libc.TLS, pReadr uintptr) { /* sqlite3.c:96988:13: */ Xsqlite3_free(tls, (*PmaReader)(unsafe.Pointer(pReadr)).FaAlloc) Xsqlite3_free(tls, (*PmaReader)(unsafe.Pointer(pReadr)).FaBuffer) if (*PmaReader)(unsafe.Pointer(pReadr)).FaMap != 0 { @@ -77121,7 +77140,7 @@ func vdbePmaReaderClear(tls *libc.TLS, pReadr uintptr) { /* sqlite3.c:96975:13: // // The buffer returned in *ppOut is only valid until the // next call to this function. -func vdbePmaReadBlob(tls *libc.TLS, p uintptr, nByte int32, ppOut uintptr) int32 { /* sqlite3.c:96992:12: */ +func vdbePmaReadBlob(tls *libc.TLS, p uintptr, nByte int32, ppOut uintptr) int32 { /* sqlite3.c:97005:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -77225,7 +77244,7 @@ func vdbePmaReadBlob(tls *libc.TLS, p uintptr, nByte int32, ppOut uintptr) int32 // Read a varint from the stream of data accessed by p. Set *pnOut to // the value read. -func vdbePmaReadVarint(tls *libc.TLS, p uintptr, pnOut uintptr) int32 { /* sqlite3.c:97086:12: */ +func vdbePmaReadVarint(tls *libc.TLS, p uintptr, pnOut uintptr) int32 { /* sqlite3.c:97099:12: */ bp := tls.Alloc(20) defer tls.Free(20) @@ -77265,7 +77284,7 @@ func vdbePmaReadVarint(tls *libc.TLS, p uintptr, pnOut uintptr) int32 { /* sqlit // // Or, if an error occurs, return an SQLite error code. The final value of // *pp is undefined in this case. -func vdbeSorterMapFile(tls *libc.TLS, pTask uintptr, pFile uintptr, pp uintptr) int32 { /* sqlite3.c:97119:12: */ +func vdbeSorterMapFile(tls *libc.TLS, pTask uintptr, pFile uintptr, pp uintptr) int32 { /* sqlite3.c:97132:12: */ var rc int32 = SQLITE_OK if (*SorterFile)(unsafe.Pointer(pFile)).FiEof <= I64((*Sqlite3)(unsafe.Pointer((*VdbeSorter)(unsafe.Pointer((*SortSubtask)(unsafe.Pointer(pTask)).FpSorter)).Fdb)).FnMaxSorterMmap) { var pFd uintptr = (*SorterFile)(unsafe.Pointer(pFile)).FpFd @@ -77280,7 +77299,7 @@ func vdbeSorterMapFile(tls *libc.TLS, pTask uintptr, pFile uintptr, pp uintptr) // Attach PmaReader pReadr to file pFile (if it is not already attached to // that file) and seek it to offset iOff within the file. Return SQLITE_OK // if successful, or an SQLite error code if an error occurs. -func vdbePmaReaderSeek(tls *libc.TLS, pTask uintptr, pReadr uintptr, pFile uintptr, iOff I64) int32 { /* sqlite3.c:97136:12: */ +func vdbePmaReaderSeek(tls *libc.TLS, pTask uintptr, pReadr uintptr, pFile uintptr, iOff I64) int32 { /* sqlite3.c:97149:12: */ var rc int32 = SQLITE_OK if Xsqlite3FaultSim(tls, 201) != 0 { @@ -77321,7 +77340,7 @@ func vdbePmaReaderSeek(tls *libc.TLS, pTask uintptr, pReadr uintptr, pFile uintp // Advance PmaReader pReadr to the next key in its PMA. Return SQLITE_OK if // no error occurs, or an SQLite error code if one does. -func vdbePmaReaderNext(tls *libc.TLS, pReadr uintptr) int32 { /* sqlite3.c:97183:12: */ +func vdbePmaReaderNext(tls *libc.TLS, pReadr uintptr) int32 { /* sqlite3.c:97196:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -77367,7 +77386,7 @@ func vdbePmaReaderNext(tls *libc.TLS, pReadr uintptr) int32 { /* sqlite3.c:97183 // // If the pnByte parameter is NULL, then it is assumed that the file // contains a single PMA, and that that PMA omits the initial length varint. -func vdbePmaReaderInit(tls *libc.TLS, pTask uintptr, pFile uintptr, iStart I64, pReadr uintptr, pnByte uintptr) int32 { /* sqlite3.c:97230:12: */ +func vdbePmaReaderInit(tls *libc.TLS, pTask uintptr, pFile uintptr, iStart I64, pReadr uintptr, pnByte uintptr) int32 { /* sqlite3.c:97243:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -77390,7 +77409,7 @@ func vdbePmaReaderInit(tls *libc.TLS, pTask uintptr, pFile uintptr, iStart I64, // A version of vdbeSorterCompare() that assumes that it has already been // determined that the first field of key1 is equal to the first field of // key2. -func vdbeSorterCompareTail(tls *libc.TLS, pTask uintptr, pbKey2Cached uintptr, pKey1 uintptr, nKey1 int32, pKey2 uintptr, nKey2 int32) int32 { /* sqlite3.c:97263:12: */ +func vdbeSorterCompareTail(tls *libc.TLS, pTask uintptr, pbKey2Cached uintptr, pKey1 uintptr, nKey1 int32, pKey2 uintptr, nKey2 int32) int32 { /* sqlite3.c:97276:12: */ var r2 uintptr = (*SortSubtask)(unsafe.Pointer(pTask)).FpUnpacked if *(*int32)(unsafe.Pointer(pbKey2Cached)) == 0 { Xsqlite3VdbeRecordUnpack(tls, (*VdbeSorter)(unsafe.Pointer((*SortSubtask)(unsafe.Pointer(pTask)).FpSorter)).FpKeyInfo, nKey2, pKey2, r2) @@ -77410,7 +77429,7 @@ func vdbeSorterCompareTail(tls *libc.TLS, pTask uintptr, pbKey2Cached uintptr, p // // If an OOM error is encountered, (pTask->pUnpacked->error_rc) is set // to SQLITE_NOMEM. -func vdbeSorterCompare(tls *libc.TLS, pTask uintptr, pbKey2Cached uintptr, pKey1 uintptr, nKey1 int32, pKey2 uintptr, nKey2 int32) int32 { /* sqlite3.c:97290:12: */ +func vdbeSorterCompare(tls *libc.TLS, pTask uintptr, pbKey2Cached uintptr, pKey1 uintptr, nKey1 int32, pKey2 uintptr, nKey2 int32) int32 { /* sqlite3.c:97303:12: */ var r2 uintptr = (*SortSubtask)(unsafe.Pointer(pTask)).FpUnpacked if !(*(*int32)(unsafe.Pointer(pbKey2Cached)) != 0) { Xsqlite3VdbeRecordUnpack(tls, (*VdbeSorter)(unsafe.Pointer((*SortSubtask)(unsafe.Pointer(pTask)).FpSorter)).FpKeyInfo, nKey2, pKey2, r2) @@ -77422,7 +77441,7 @@ func vdbeSorterCompare(tls *libc.TLS, pTask uintptr, pbKey2Cached uintptr, pKey1 // A specially optimized version of vdbeSorterCompare() that assumes that // the first field of each key is a TEXT value and that the collation // sequence to compare them with is BINARY. -func vdbeSorterCompareText(tls *libc.TLS, pTask uintptr, pbKey2Cached uintptr, pKey1 uintptr, nKey1 int32, pKey2 uintptr, nKey2 int32) int32 { /* sqlite3.c:97309:12: */ +func vdbeSorterCompareText(tls *libc.TLS, pTask uintptr, pbKey2Cached uintptr, pKey1 uintptr, nKey1 int32, pKey2 uintptr, nKey2 int32) int32 { /* sqlite3.c:97322:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -77472,7 +77491,7 @@ func vdbeSorterCompareText(tls *libc.TLS, pTask uintptr, pbKey2Cached uintptr, p // A specially optimized version of vdbeSorterCompare() that assumes that // the first field of each key is an INTEGER value. -func vdbeSorterCompareInt(tls *libc.TLS, pTask uintptr, pbKey2Cached uintptr, pKey1 uintptr, nKey1 int32, pKey2 uintptr, nKey2 int32) int32 { /* sqlite3.c:97351:12: */ +func vdbeSorterCompareInt(tls *libc.TLS, pTask uintptr, pbKey2Cached uintptr, pKey1 uintptr, nKey1 int32, pKey2 uintptr, nKey2 int32) int32 { /* sqlite3.c:97364:12: */ var p1 uintptr = pKey1 var p2 uintptr = pKey2 var s1 int32 = int32(*(*U8)(unsafe.Pointer(p1 + 1))) // Left hand serial type @@ -77532,7 +77551,7 @@ func vdbeSorterCompareInt(tls *libc.TLS, pTask uintptr, pbKey2Cached uintptr, pK return res } -var aLen = [10]U8{U8(0), U8(1), U8(2), U8(3), U8(4), U8(6), U8(8), U8(0), U8(0), U8(0)} /* sqlite3.c:97370:21 */ +var aLen = [10]U8{U8(0), U8(1), U8(2), U8(3), U8(4), U8(6), U8(8), U8(0), U8(0), U8(0)} /* sqlite3.c:97383:21 */ // Initialize the temporary index cursor just opened as a sorter cursor. // @@ -77551,7 +77570,7 @@ var aLen = [10]U8{U8(0), U8(1), U8(2), U8(3), U8(4), U8(6), U8(8), U8(0), U8(0), // mode, but not in multi-threaded mode. // // SQLITE_OK is returned if successful, or an SQLite error code otherwise. -func Xsqlite3VdbeSorterInit(tls *libc.TLS, db uintptr, nField int32, pCsr uintptr) int32 { /* sqlite3.c:97434:20: */ +func Xsqlite3VdbeSorterInit(tls *libc.TLS, db uintptr, nField int32, pCsr uintptr) int32 { /* sqlite3.c:97447:20: */ var pgsz int32 // Page size of main database var i int32 // Used to iterate through aTask[] var pSorter uintptr // The new sorter @@ -77647,7 +77666,7 @@ func Xsqlite3VdbeSorterInit(tls *libc.TLS, db uintptr, nField int32, pCsr uintpt } // Free the list of sorted records starting at pRecord. -func vdbeSorterRecordFree(tls *libc.TLS, db uintptr, pRecord uintptr) { /* sqlite3.c:97540:13: */ +func vdbeSorterRecordFree(tls *libc.TLS, db uintptr, pRecord uintptr) { /* sqlite3.c:97553:13: */ var p uintptr var pNext uintptr for p = pRecord; p != 0; p = pNext { @@ -77658,7 +77677,7 @@ func vdbeSorterRecordFree(tls *libc.TLS, db uintptr, pRecord uintptr) { /* sqlit // Free all resources owned by the object indicated by argument pTask. All // fields of *pTask are zeroed before returning. -func vdbeSortSubtaskCleanup(tls *libc.TLS, db uintptr, pTask uintptr) { /* sqlite3.c:97553:13: */ +func vdbeSortSubtaskCleanup(tls *libc.TLS, db uintptr, pTask uintptr) { /* sqlite3.c:97566:13: */ Xsqlite3DbFree(tls, db, (*SortSubtask)(unsafe.Pointer(pTask)).FpUnpacked) // pTask->list.aMemory can only be non-zero if it was handed memory // from the main thread. That only occurs SQLITE_MAX_WORKER_THREADS>0 @@ -77678,7 +77697,7 @@ func vdbeSortSubtaskCleanup(tls *libc.TLS, db uintptr, pTask uintptr) { /* sqlit } // Join thread pTask->thread. -func vdbeSorterJoinThread(tls *libc.TLS, pTask uintptr) int32 { /* sqlite3.c:97619:12: */ +func vdbeSorterJoinThread(tls *libc.TLS, pTask uintptr) int32 { /* sqlite3.c:97632:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -77697,14 +77716,14 @@ func vdbeSorterJoinThread(tls *libc.TLS, pTask uintptr) int32 { /* sqlite3.c:976 } // Launch a background thread to run xTask(pIn). -func vdbeSorterCreateThread(tls *libc.TLS, pTask uintptr, xTask uintptr, pIn uintptr) int32 { /* sqlite3.c:97640:12: */ +func vdbeSorterCreateThread(tls *libc.TLS, pTask uintptr, xTask uintptr, pIn uintptr) int32 { /* sqlite3.c:97653:12: */ return Xsqlite3ThreadCreate(tls, pTask, xTask, pIn) } // Join all outstanding threads launched by SorterWrite() to create // level-0 PMAs. -func vdbeSorterJoinAll(tls *libc.TLS, pSorter uintptr, rcin int32) int32 { /* sqlite3.c:97653:12: */ +func vdbeSorterJoinAll(tls *libc.TLS, pSorter uintptr, rcin int32) int32 { /* sqlite3.c:97666:12: */ var rc int32 = rcin var i int32 @@ -77730,7 +77749,7 @@ func vdbeSorterJoinAll(tls *libc.TLS, pSorter uintptr, rcin int32) int32 { /* sq // // nReader is automatically rounded up to the next power of two. // nReader may not exceed SORTER_MAX_MERGE_COUNT even after rounding up. -func vdbeMergeEngineNew(tls *libc.TLS, nReader int32) uintptr { /* sqlite3.c:97683:20: */ +func vdbeMergeEngineNew(tls *libc.TLS, nReader int32) uintptr { /* sqlite3.c:97696:20: */ var N int32 = 2 // Smallest power of two >= nReader var nByte int32 // Total bytes of space to allocate var pNew uintptr // Pointer to allocated object to return @@ -77755,7 +77774,7 @@ func vdbeMergeEngineNew(tls *libc.TLS, nReader int32) uintptr { /* sqlite3.c:976 } // Free the MergeEngine object passed as the only argument. -func vdbeMergeEngineFree(tls *libc.TLS, pMerger uintptr) { /* sqlite3.c:97706:13: */ +func vdbeMergeEngineFree(tls *libc.TLS, pMerger uintptr) { /* sqlite3.c:97719:13: */ var i int32 if pMerger != 0 { for i = 0; i < (*MergeEngine)(unsafe.Pointer(pMerger)).FnTree; i++ { @@ -77767,7 +77786,7 @@ func vdbeMergeEngineFree(tls *libc.TLS, pMerger uintptr) { /* sqlite3.c:97706:13 // Free all resources associated with the IncrMerger object indicated by // the first argument. -func vdbeIncrFree(tls *libc.TLS, pIncr uintptr) { /* sqlite3.c:97720:13: */ +func vdbeIncrFree(tls *libc.TLS, pIncr uintptr) { /* sqlite3.c:97733:13: */ if pIncr != 0 { if (*IncrMerger)(unsafe.Pointer(pIncr)).FbUseThread != 0 { vdbeSorterJoinThread(tls, (*IncrMerger)(unsafe.Pointer(pIncr)).FpTask) @@ -77784,7 +77803,7 @@ func vdbeIncrFree(tls *libc.TLS, pIncr uintptr) { /* sqlite3.c:97720:13: */ } // Reset a sorting cursor back to its original empty state. -func Xsqlite3VdbeSorterReset(tls *libc.TLS, db uintptr, pSorter uintptr) { /* sqlite3.c:97737:21: */ +func Xsqlite3VdbeSorterReset(tls *libc.TLS, db uintptr, pSorter uintptr) { /* sqlite3.c:97750:21: */ var i int32 vdbeSorterJoinAll(tls, pSorter, SQLITE_OK) @@ -77813,7 +77832,7 @@ func Xsqlite3VdbeSorterReset(tls *libc.TLS, db uintptr, pSorter uintptr) { /* sq } // Free any cursor components allocated by sqlite3VdbeSorterXXX routines. -func Xsqlite3VdbeSorterClose(tls *libc.TLS, db uintptr, pCsr uintptr) { /* sqlite3.c:97770:21: */ +func Xsqlite3VdbeSorterClose(tls *libc.TLS, db uintptr, pCsr uintptr) { /* sqlite3.c:97783:21: */ var pSorter uintptr pSorter = *(*uintptr)(unsafe.Pointer(pCsr + 36)) @@ -77832,7 +77851,7 @@ func Xsqlite3VdbeSorterClose(tls *libc.TLS, db uintptr, pCsr uintptr) { /* sqlit // // Whether or not the file does end up memory mapped of course depends on // the specific VFS implementation. -func vdbeSorterExtendFile(tls *libc.TLS, db uintptr, pFd uintptr, nByte I64) { /* sqlite3.c:97792:13: */ +func vdbeSorterExtendFile(tls *libc.TLS, db uintptr, pFd uintptr, nByte I64) { /* sqlite3.c:97805:13: */ bp := tls.Alloc(20) defer tls.Free(20) *(*I64)(unsafe.Pointer(bp + 8)) = nByte @@ -77852,7 +77871,7 @@ func vdbeSorterExtendFile(tls *libc.TLS, db uintptr, pFd uintptr, nByte I64) { / // Allocate space for a file-handle and open a temporary file. If successful, // set *ppFd to point to the malloc'd file-handle and return SQLITE_OK. // Otherwise, set *ppFd to 0 and return an SQLite error code. -func vdbeSorterOpenTempFile(tls *libc.TLS, db uintptr, nExtend I64, ppFd uintptr) int32 { /* sqlite3.c:97811:12: */ +func vdbeSorterOpenTempFile(tls *libc.TLS, db uintptr, nExtend I64, ppFd uintptr) int32 { /* sqlite3.c:97824:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -77876,7 +77895,7 @@ func vdbeSorterOpenTempFile(tls *libc.TLS, db uintptr, nExtend I64, ppFd uintptr // If it has not already been allocated, allocate the UnpackedRecord // structure at pTask->pUnpacked. Return SQLITE_OK if successful (or // if no allocation was required), or SQLITE_NOMEM otherwise. -func vdbeSortAllocUnpacked(tls *libc.TLS, pTask uintptr) int32 { /* sqlite3.c:97838:12: */ +func vdbeSortAllocUnpacked(tls *libc.TLS, pTask uintptr) int32 { /* sqlite3.c:97851:12: */ if (*SortSubtask)(unsafe.Pointer(pTask)).FpUnpacked == uintptr(0) { (*SortSubtask)(unsafe.Pointer(pTask)).FpUnpacked = Xsqlite3VdbeAllocUnpackedRecord(tls, (*VdbeSorter)(unsafe.Pointer((*SortSubtask)(unsafe.Pointer(pTask)).FpSorter)).FpKeyInfo) if (*SortSubtask)(unsafe.Pointer(pTask)).FpUnpacked == uintptr(0) { @@ -77889,7 +77908,7 @@ func vdbeSortAllocUnpacked(tls *libc.TLS, pTask uintptr) int32 { /* sqlite3.c:97 } // Merge the two sorted lists p1 and p2 into a single list. -func vdbeSorterMerge(tls *libc.TLS, pTask uintptr, p1 uintptr, p2 uintptr) uintptr { /* sqlite3.c:97852:21: */ +func vdbeSorterMerge(tls *libc.TLS, pTask uintptr, p1 uintptr, p2 uintptr) uintptr { /* sqlite3.c:97865:21: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -77928,7 +77947,7 @@ func vdbeSorterMerge(tls *libc.TLS, pTask uintptr, p1 uintptr, p2 uintptr) uintp // Return the SorterCompare function to compare values collected by the // sorter object passed as the only argument. -func vdbeSorterGetCompare(tls *libc.TLS, p uintptr) SorterCompare { /* sqlite3.c:97894:22: */ +func vdbeSorterGetCompare(tls *libc.TLS, p uintptr) SorterCompare { /* sqlite3.c:97907:22: */ if int32((*VdbeSorter)(unsafe.Pointer(p)).FtypeMask) == SORTER_TYPE_INTEGER { return *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr, int32) int32 @@ -77946,7 +77965,7 @@ func vdbeSorterGetCompare(tls *libc.TLS, p uintptr) SorterCompare { /* sqlite3.c // Sort the linked list of records headed at pTask->pList. Return // SQLITE_OK if successful, or an SQLite error code (i.e. SQLITE_NOMEM) if // an error occurs. -func vdbeSorterSort(tls *libc.TLS, pTask uintptr, pList uintptr) int32 { /* sqlite3.c:97908:12: */ +func vdbeSorterSort(tls *libc.TLS, pTask uintptr, pList uintptr) int32 { /* sqlite3.c:97921:12: */ bp := tls.Alloc(256) defer tls.Free(256) @@ -78003,7 +78022,7 @@ func vdbeSorterSort(tls *libc.TLS, pTask uintptr, pList uintptr) int32 { /* sqli } // Initialize a PMA-writer object. -func vdbePmaWriterInit(tls *libc.TLS, pFd uintptr, p uintptr, nBuf int32, iStart I64) { /* sqlite3.c:97959:13: */ +func vdbePmaWriterInit(tls *libc.TLS, pFd uintptr, p uintptr, nBuf int32, iStart I64) { /* sqlite3.c:97972:13: */ libc.Xmemset(tls, p, 0, uint32(unsafe.Sizeof(PmaWriter{}))) (*PmaWriter)(unsafe.Pointer(p)).FaBuffer = Xsqlite3Malloc(tls, uint64(nBuf)) if !(int32((*PmaWriter)(unsafe.Pointer(p)).FaBuffer) != 0) { @@ -78018,7 +78037,7 @@ func vdbePmaWriterInit(tls *libc.TLS, pFd uintptr, p uintptr, nBuf int32, iStart // Write nData bytes of data to the PMA. Return SQLITE_OK // if successful, or an SQLite error code if an error occurs. -func vdbePmaWriteBlob(tls *libc.TLS, p uintptr, pData uintptr, nData int32) { /* sqlite3.c:97981:13: */ +func vdbePmaWriteBlob(tls *libc.TLS, p uintptr, pData uintptr, nData int32) { /* sqlite3.c:97994:13: */ var nRem int32 = nData for nRem > 0 && (*PmaWriter)(unsafe.Pointer(p)).FeFWErr == 0 { var nCopy int32 = nRem @@ -78047,7 +78066,7 @@ func vdbePmaWriteBlob(tls *libc.TLS, p uintptr, pData uintptr, nData int32) { /* // // Before returning, set *piEof to the offset immediately following the // last byte written to the file. -func vdbePmaWriterFinish(tls *libc.TLS, p uintptr, piEof uintptr) int32 { /* sqlite3.c:98014:12: */ +func vdbePmaWriterFinish(tls *libc.TLS, p uintptr, piEof uintptr) int32 { /* sqlite3.c:98027:12: */ var rc int32 if (*PmaWriter)(unsafe.Pointer(p)).FeFWErr == 0 && (*PmaWriter)(unsafe.Pointer(p)).FaBuffer != 0 && (*PmaWriter)(unsafe.Pointer(p)).FiBufEnd > (*PmaWriter)(unsafe.Pointer(p)).FiBufStart { (*PmaWriter)(unsafe.Pointer(p)).FeFWErr = Xsqlite3OsWrite(tls, (*PmaWriter)(unsafe.Pointer(p)).FpFd, @@ -78063,7 +78082,7 @@ func vdbePmaWriterFinish(tls *libc.TLS, p uintptr, piEof uintptr) int32 { /* sql // Write value iVal encoded as a varint to the PMA. Return // SQLITE_OK if successful, or an SQLite error code if an error occurs. -func vdbePmaWriteVarint(tls *libc.TLS, p uintptr, iVal U64) { /* sqlite3.c:98033:13: */ +func vdbePmaWriteVarint(tls *libc.TLS, p uintptr, iVal U64) { /* sqlite3.c:98046:13: */ bp := tls.Alloc(10) defer tls.Free(10) @@ -78086,7 +78105,7 @@ func vdbePmaWriteVarint(tls *libc.TLS, p uintptr, iVal U64) { /* sqlite3.c:98033 // * One or more records packed end-to-end in order of ascending keys. // Each record consists of a varint followed by a blob of data (the // key). The varint is the number of bytes in the blob of data. -func vdbeSorterListToPMA(tls *libc.TLS, pTask uintptr, pList uintptr) int32 { /* sqlite3.c:98054:12: */ +func vdbeSorterListToPMA(tls *libc.TLS, pTask uintptr, pList uintptr) int32 { /* sqlite3.c:98067:12: */ bp := tls.Alloc(40) defer tls.Free(40) @@ -78141,7 +78160,7 @@ func vdbeSorterListToPMA(tls *libc.TLS, pTask uintptr, pList uintptr) int32 { /* // the MergeEngine has reached the end of all its inputs. // // Return SQLITE_OK if successful or an error code if an error occurs. -func vdbeMergeEngineStep(tls *libc.TLS, pMerger uintptr, pbEof uintptr) int32 { /* sqlite3.c:98118:12: */ +func vdbeMergeEngineStep(tls *libc.TLS, pMerger uintptr, pbEof uintptr) int32 { /* sqlite3.c:98131:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -78217,7 +78236,7 @@ func vdbeMergeEngineStep(tls *libc.TLS, pMerger uintptr, pbEof uintptr) int32 { } // The main routine for background threads that write level-0 PMAs. -func vdbeSorterFlushThread(tls *libc.TLS, pCtx uintptr) uintptr { /* sqlite3.c:98189:13: */ +func vdbeSorterFlushThread(tls *libc.TLS, pCtx uintptr) uintptr { /* sqlite3.c:98202:13: */ var pTask uintptr = pCtx var rc int32 // Return code @@ -78228,7 +78247,7 @@ func vdbeSorterFlushThread(tls *libc.TLS, pCtx uintptr) uintptr { /* sqlite3.c:9 // Flush the current contents of VdbeSorter.list to a new PMA, possibly // using a background thread. -func vdbeSorterFlushPMA(tls *libc.TLS, pSorter uintptr) int32 { /* sqlite3.c:98203:12: */ +func vdbeSorterFlushPMA(tls *libc.TLS, pSorter uintptr) int32 { /* sqlite3.c:98216:12: */ var rc int32 = SQLITE_OK var i int32 var pTask uintptr = uintptr(0) // Thread context used to create new PMA @@ -78292,7 +78311,7 @@ func vdbeSorterFlushPMA(tls *libc.TLS, pSorter uintptr) int32 { /* sqlite3.c:982 } // Add a record to the sorter. -func Xsqlite3VdbeSorterWrite(tls *libc.TLS, pCsr uintptr, pVal uintptr) int32 { /* sqlite3.c:98273:20: */ +func Xsqlite3VdbeSorterWrite(tls *libc.TLS, pCsr uintptr, pVal uintptr) int32 { /* sqlite3.c:98286:20: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -78408,7 +78427,7 @@ func Xsqlite3VdbeSorterWrite(tls *libc.TLS, pCsr uintptr, pVal uintptr) int32 { // Read keys from pIncr->pMerger and populate pIncr->aFile[1]. The format // of the data stored in aFile[1] is the same as that used by regular PMAs, // except that the number-of-bytes varint is omitted from the start. -func vdbeIncrPopulate(tls *libc.TLS, pIncr uintptr) int32 { /* sqlite3.c:98385:12: */ +func vdbeIncrPopulate(tls *libc.TLS, pIncr uintptr) int32 { /* sqlite3.c:98398:12: */ bp := tls.Alloc(44) defer tls.Free(44) @@ -78454,7 +78473,7 @@ func vdbeIncrPopulate(tls *libc.TLS, pIncr uintptr) int32 { /* sqlite3.c:98385:1 // The main routine for background threads that populate aFile[1] of // multi-threaded IncrMerger objects. -func vdbeIncrPopulateThread(tls *libc.TLS, pCtx uintptr) uintptr { /* sqlite3.c:98427:13: */ +func vdbeIncrPopulateThread(tls *libc.TLS, pCtx uintptr) uintptr { /* sqlite3.c:98440:13: */ var pIncr uintptr = pCtx var pRet uintptr = uintptr(vdbeIncrPopulate(tls, pIncr)) (*SortSubtask)(unsafe.Pointer((*IncrMerger)(unsafe.Pointer(pIncr)).FpTask)).FbDone = 1 @@ -78462,7 +78481,7 @@ func vdbeIncrPopulateThread(tls *libc.TLS, pCtx uintptr) uintptr { /* sqlite3.c: } // Launch a background thread to populate aFile[1] of pIncr. -func vdbeIncrBgPopulate(tls *libc.TLS, pIncr uintptr) int32 { /* sqlite3.c:98437:12: */ +func vdbeIncrBgPopulate(tls *libc.TLS, pIncr uintptr) int32 { /* sqlite3.c:98450:12: */ var p uintptr = pIncr return vdbeSorterCreateThread(tls, (*IncrMerger)(unsafe.Pointer(pIncr)).FpTask, *(*uintptr)(unsafe.Pointer(&struct { @@ -78485,7 +78504,7 @@ func vdbeIncrBgPopulate(tls *libc.TLS, pIncr uintptr) int32 { /* sqlite3.c:98437 // to populate the new aFile[1]. // // SQLITE_OK is returned on success, or an SQLite error code otherwise. -func vdbeIncrSwap(tls *libc.TLS, pIncr uintptr) int32 { /* sqlite3.c:98461:12: */ +func vdbeIncrSwap(tls *libc.TLS, pIncr uintptr) int32 { /* sqlite3.c:98474:12: */ var rc int32 = SQLITE_OK if (*IncrMerger)(unsafe.Pointer(pIncr)).FbUseThread != 0 { @@ -78519,7 +78538,7 @@ func vdbeIncrSwap(tls *libc.TLS, pIncr uintptr) int32 { /* sqlite3.c:98461:12: * // // If an OOM condition is encountered, return NULL. In this case free the // pMerger argument before returning. -func vdbeIncrMergerNew(tls *libc.TLS, pTask uintptr, pMerger uintptr, ppOut uintptr) int32 { /* sqlite3.c:98500:12: */ +func vdbeIncrMergerNew(tls *libc.TLS, pTask uintptr, pMerger uintptr, ppOut uintptr) int32 { /* sqlite3.c:98513:12: */ var rc int32 = SQLITE_OK var pIncr uintptr = libc.AssignPtrUintptr(ppOut, func() uintptr { if Xsqlite3FaultSim(tls, 100) != 0 { @@ -78546,7 +78565,7 @@ func vdbeIncrMergerNew(tls *libc.TLS, pTask uintptr, pMerger uintptr, ppOut uint } // Set the "use-threads" flag on object pIncr. -func vdbeIncrMergerSetThreads(tls *libc.TLS, pIncr uintptr) { /* sqlite3.c:98525:13: */ +func vdbeIncrMergerSetThreads(tls *libc.TLS, pIncr uintptr) { /* sqlite3.c:98538:13: */ (*IncrMerger)(unsafe.Pointer(pIncr)).FbUseThread = 1 *(*I64)(unsafe.Pointer((*IncrMerger)(unsafe.Pointer(pIncr)).FpTask + 56 + 8)) -= I64((*IncrMerger)(unsafe.Pointer(pIncr)).FmxSz) } @@ -78554,7 +78573,7 @@ func vdbeIncrMergerSetThreads(tls *libc.TLS, pIncr uintptr) { /* sqlite3.c:98525 // Recompute pMerger->aTree[iOut] by comparing the next keys on the // two PmaReaders that feed that entry. Neither of the PmaReaders // are advanced. This routine merely does the comparison. -func vdbeMergeEngineCompare(tls *libc.TLS, pMerger uintptr, iOut int32) { /* sqlite3.c:98538:13: */ +func vdbeMergeEngineCompare(tls *libc.TLS, pMerger uintptr, iOut int32) { /* sqlite3.c:98551:13: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -78614,7 +78633,7 @@ func vdbeMergeEngineCompare(tls *libc.TLS, pMerger uintptr, iOut int32) { /* sql // to pMerger. // // SQLITE_OK is returned if successful, or an SQLite error code otherwise. -func vdbeMergeEngineInit(tls *libc.TLS, pTask uintptr, pMerger uintptr, eMode int32) int32 { /* sqlite3.c:98620:12: */ +func vdbeMergeEngineInit(tls *libc.TLS, pTask uintptr, pMerger uintptr, eMode int32) int32 { /* sqlite3.c:98633:12: */ var rc int32 = SQLITE_OK // Return code var i int32 // For looping over PmaReader objects var nTree int32 // Number of subtrees to merge @@ -78684,7 +78703,7 @@ func vdbeMergeEngineInit(tls *libc.TLS, pTask uintptr, pMerger uintptr, eMode in // the current PmaReader set to point to the first key in its range. // // SQLITE_OK is returned if successful, or an SQLite error code otherwise. -func vdbePmaReaderIncrMergeInit(tls *libc.TLS, pReadr uintptr, eMode int32) int32 { /* sqlite3.c:98696:12: */ +func vdbePmaReaderIncrMergeInit(tls *libc.TLS, pReadr uintptr, eMode int32) int32 { /* sqlite3.c:98709:12: */ var rc int32 = SQLITE_OK var pIncr uintptr = (*PmaReader)(unsafe.Pointer(pReadr)).FpIncr var pTask uintptr = (*IncrMerger)(unsafe.Pointer(pIncr)).FpTask @@ -78741,7 +78760,7 @@ func vdbePmaReaderIncrMergeInit(tls *libc.TLS, pReadr uintptr, eMode int32) int3 // The main routine for vdbePmaReaderIncrMergeInit() operations run in // background threads. -func vdbePmaReaderBgIncrInit(tls *libc.TLS, pCtx uintptr) uintptr { /* sqlite3.c:98763:13: */ +func vdbePmaReaderBgIncrInit(tls *libc.TLS, pCtx uintptr) uintptr { /* sqlite3.c:98776:13: */ var pReader uintptr = pCtx var pRet uintptr = uintptr(vdbePmaReaderIncrMergeInit(tls, pReader, INCRINIT_TASK)) (*SortSubtask)(unsafe.Pointer((*IncrMerger)(unsafe.Pointer((*PmaReader)(unsafe.Pointer(pReader)).FpIncr)).FpTask)).FbDone = 1 @@ -78757,7 +78776,7 @@ func vdbePmaReaderBgIncrInit(tls *libc.TLS, pCtx uintptr) uintptr { /* sqlite3.c // then a background thread is launched to call vdbePmaReaderIncrMergeInit(). // Or, if the IncrMerger is single threaded, the same function is called // using the current thread. -func vdbePmaReaderIncrInit(tls *libc.TLS, pReadr uintptr, eMode int32) int32 { /* sqlite3.c:98784:12: */ +func vdbePmaReaderIncrInit(tls *libc.TLS, pReadr uintptr, eMode int32) int32 { /* sqlite3.c:98797:12: */ var pIncr uintptr = (*PmaReader)(unsafe.Pointer(pReadr)).FpIncr // Incremental merger var rc int32 = SQLITE_OK // Return code if pIncr != 0 { @@ -78784,7 +78803,7 @@ func vdbePmaReaderIncrInit(tls *libc.TLS, pReadr uintptr, eMode int32) int32 { / // set to the offset immediately following the last byte of the last // PMA before returning. If an error does occur, then the final value of // *piOffset is undefined. -func vdbeMergeEngineLevel0(tls *libc.TLS, pTask uintptr, nPMA int32, piOffset uintptr, ppOut uintptr) int32 { /* sqlite3.c:98814:12: */ +func vdbeMergeEngineLevel0(tls *libc.TLS, pTask uintptr, nPMA int32, piOffset uintptr, ppOut uintptr) int32 { /* sqlite3.c:98827:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -78821,7 +78840,7 @@ func vdbeMergeEngineLevel0(tls *libc.TLS, pTask uintptr, nPMA int32, piOffset ui // nPMA<=16 -> TreeDepth() == 0 // nPMA<=256 -> TreeDepth() == 1 // nPMA<=65536 -> TreeDepth() == 2 -func vdbeSorterTreeDepth(tls *libc.TLS, nPMA int32) int32 { /* sqlite3.c:98853:12: */ +func vdbeSorterTreeDepth(tls *libc.TLS, nPMA int32) int32 { /* sqlite3.c:98866:12: */ var nDepth int32 = 0 var nDiv I64 = int64(SORTER_MAX_MERGE_COUNT) for nDiv < I64(nPMA) { @@ -78837,7 +78856,7 @@ func vdbeSorterTreeDepth(tls *libc.TLS, nPMA int32) int32 { /* sqlite3.c:98853:1 // // If successful, SQLITE_OK is returned. If an error occurs, an SQLite error // code is returned and pLeaf is freed. -func vdbeSorterAddToTree(tls *libc.TLS, pTask uintptr, nDepth int32, iSeq int32, pRoot uintptr, pLeaf uintptr) int32 { /* sqlite3.c:98871:12: */ +func vdbeSorterAddToTree(tls *libc.TLS, pTask uintptr, nDepth int32, iSeq int32, pRoot uintptr, pLeaf uintptr) int32 { /* sqlite3.c:98884:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -78888,7 +78907,7 @@ func vdbeSorterAddToTree(tls *libc.TLS, pTask uintptr, nDepth int32, iSeq int32, // MergeEngine object at the root of the tree before returning. Or, if an // error occurs, an SQLite error code is returned and the final value // of *ppOut is undefined. -func vdbeSorterMergeTreeBuild(tls *libc.TLS, pSorter uintptr, ppOut uintptr) int32 { /* sqlite3.c:98927:12: */ +func vdbeSorterMergeTreeBuild(tls *libc.TLS, pSorter uintptr, ppOut uintptr) int32 { /* sqlite3.c:98940:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -78969,7 +78988,7 @@ func vdbeSorterMergeTreeBuild(tls *libc.TLS, pSorter uintptr, ppOut uintptr) int // all records stored in the sorter. // // SQLITE_OK is returned if successful, or an SQLite error code otherwise. -func vdbeSorterSetupMerge(tls *libc.TLS, pSorter uintptr) int32 { /* sqlite3.c:99006:12: */ +func vdbeSorterSetupMerge(tls *libc.TLS, pSorter uintptr) int32 { /* sqlite3.c:99019:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -79044,7 +79063,7 @@ func vdbeSorterSetupMerge(tls *libc.TLS, pSorter uintptr) int32 { /* sqlite3.c:9 // Once the sorter has been populated by calls to sqlite3VdbeSorterWrite, // this function is called to prepare for iterating through the records // in sorted order. -func Xsqlite3VdbeSorterRewind(tls *libc.TLS, pCsr uintptr, pbEof uintptr) int32 { /* sqlite3.c:99088:20: */ +func Xsqlite3VdbeSorterRewind(tls *libc.TLS, pCsr uintptr, pbEof uintptr) int32 { /* sqlite3.c:99101:20: */ var pSorter uintptr var rc int32 = SQLITE_OK // Return code @@ -79089,7 +79108,7 @@ func Xsqlite3VdbeSorterRewind(tls *libc.TLS, pCsr uintptr, pbEof uintptr) int32 // SQLITE_OK success // SQLITE_DONE end of data // otherwise some kind of error. -func Xsqlite3VdbeSorterNext(tls *libc.TLS, db uintptr, pCsr uintptr) int32 { /* sqlite3.c:99140:20: */ +func Xsqlite3VdbeSorterNext(tls *libc.TLS, db uintptr, pCsr uintptr) int32 { /* sqlite3.c:99153:20: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -79131,7 +79150,7 @@ func Xsqlite3VdbeSorterNext(tls *libc.TLS, db uintptr, pCsr uintptr) int32 { /* // Return a pointer to a buffer owned by the sorter that contains the // current key. -func vdbeSorterRowkey(tls *libc.TLS, pSorter uintptr, pnKey uintptr) uintptr { /* sqlite3.c:99178:13: */ +func vdbeSorterRowkey(tls *libc.TLS, pSorter uintptr, pnKey uintptr) uintptr { /* sqlite3.c:99191:13: */ var pKey uintptr if (*VdbeSorter)(unsafe.Pointer(pSorter)).FbUsePMA != 0 { var pReader uintptr @@ -79150,7 +79169,7 @@ func vdbeSorterRowkey(tls *libc.TLS, pSorter uintptr, pnKey uintptr) uintptr { / } // Copy the current sorter key into the memory cell pOut. -func Xsqlite3VdbeSorterRowkey(tls *libc.TLS, pCsr uintptr, pOut uintptr) int32 { /* sqlite3.c:99205:20: */ +func Xsqlite3VdbeSorterRowkey(tls *libc.TLS, pCsr uintptr, pOut uintptr) int32 { /* sqlite3.c:99218:20: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -79185,7 +79204,7 @@ func Xsqlite3VdbeSorterRowkey(tls *libc.TLS, pCsr uintptr, pOut uintptr) int32 { // // This routine forms the core of the OP_SorterCompare opcode, which in // turn is used to verify uniqueness when constructing a UNIQUE INDEX. -func Xsqlite3VdbeSorterCompare(tls *libc.TLS, pCsr uintptr, pVal uintptr, nKeyCol int32, pRes uintptr) int32 { /* sqlite3.c:99238:20: */ +func Xsqlite3VdbeSorterCompare(tls *libc.TLS, pCsr uintptr, pVal uintptr, nKeyCol int32, pRes uintptr) int32 { /* sqlite3.c:99251:20: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -79277,7 +79296,7 @@ type MemJournal1 = struct { FpVfs uintptr FzJournal uintptr F__ccgo_pad1 [4]byte -} /* sqlite3.c:99731:9 */ +} /* sqlite3.c:99744:9 */ //************* End of vdbesort.c ******************************************* //************* Begin file vdbevtab.c *************************************** @@ -79324,24 +79343,24 @@ type MemJournal1 = struct { // #include "sqliteInt.h" // Forward references to internal structures -type MemJournal = MemJournal1 /* sqlite3.c:99731:27 */ +type MemJournal = MemJournal1 /* sqlite3.c:99744:27 */ type FilePoint1 = struct { FiOffset Sqlite3_int64 FpChunk uintptr F__ccgo_pad1 [4]byte -} /* sqlite3.c:99731:9 */ +} /* sqlite3.c:99744:9 */ -type FilePoint = FilePoint1 /* sqlite3.c:99732:26 */ +type FilePoint = FilePoint1 /* sqlite3.c:99745:26 */ type FileChunk1 = struct { FpNext uintptr FzChunk [8]U8 -} /* sqlite3.c:99731:9 */ +} /* sqlite3.c:99744:9 */ -type FileChunk = FileChunk1 /* sqlite3.c:99733:26 */ +type FileChunk = FileChunk1 /* sqlite3.c:99746:26 */ // Read data from the in-memory journal file. This is the implementation // of the sqlite3_vfs.xRead method. -func memjrnlRead(tls *libc.TLS, pJfd uintptr, zBuf uintptr, iAmt int32, iOfst Sqlite_int64) int32 { /* sqlite3.c:99788:12: */ +func memjrnlRead(tls *libc.TLS, pJfd uintptr, zBuf uintptr, iAmt int32, iOfst Sqlite_int64) int32 { /* sqlite3.c:99801:12: */ var p uintptr = pJfd var zOut uintptr = zBuf var nRead int32 = iAmt @@ -79388,7 +79407,7 @@ func memjrnlRead(tls *libc.TLS, pJfd uintptr, zBuf uintptr, iAmt int32, iOfst Sq } // Free the list of FileChunk structures headed at MemJournal.pFirst. -func memjrnlFreeChunks(tls *libc.TLS, pFirst uintptr) { /* sqlite3.c:99835:13: */ +func memjrnlFreeChunks(tls *libc.TLS, pFirst uintptr) { /* sqlite3.c:99848:13: */ var pIter uintptr var pNext uintptr for pIter = pFirst; pIter != 0; pIter = pNext { @@ -79398,7 +79417,7 @@ func memjrnlFreeChunks(tls *libc.TLS, pFirst uintptr) { /* sqlite3.c:99835:13: * } // Flush the contents of memory to a real file on disk. -func memjrnlCreateFile(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:99847:12: */ +func memjrnlCreateFile(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:99860:12: */ var rc int32 var pReal uintptr = p var copy = *(*MemJournal)(unsafe.Pointer(p)) @@ -79436,7 +79455,7 @@ func memjrnlCreateFile(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:99847:12: } // Write data to the file. -func memjrnlWrite(tls *libc.TLS, pJfd uintptr, zBuf uintptr, iAmt int32, iOfst Sqlite_int64) int32 { /* sqlite3.c:99889:12: */ +func memjrnlWrite(tls *libc.TLS, pJfd uintptr, zBuf uintptr, iAmt int32, iOfst Sqlite_int64) int32 { /* sqlite3.c:99902:12: */ var p uintptr = pJfd var nWrite int32 = iAmt var zWrite uintptr = zBuf @@ -79502,7 +79521,7 @@ func memjrnlWrite(tls *libc.TLS, pJfd uintptr, zBuf uintptr, iAmt int32, iOfst S } // Truncate the in-memory file. -func memjrnlTruncate(tls *libc.TLS, pJfd uintptr, size Sqlite_int64) int32 { /* sqlite3.c:99962:12: */ +func memjrnlTruncate(tls *libc.TLS, pJfd uintptr, size Sqlite_int64) int32 { /* sqlite3.c:99975:12: */ var p uintptr = pJfd if size < (*MemJournal)(unsafe.Pointer(p)).Fendpoint.FiOffset { @@ -79530,7 +79549,7 @@ func memjrnlTruncate(tls *libc.TLS, pJfd uintptr, size Sqlite_int64) int32 { /* } // Close the file. -func memjrnlClose(tls *libc.TLS, pJfd uintptr) int32 { /* sqlite3.c:99992:12: */ +func memjrnlClose(tls *libc.TLS, pJfd uintptr) int32 { /* sqlite3.c:100005:12: */ var p uintptr = pJfd memjrnlFreeChunks(tls, (*MemJournal)(unsafe.Pointer(p)).FpFirst) return SQLITE_OK @@ -79540,14 +79559,14 @@ func memjrnlClose(tls *libc.TLS, pJfd uintptr) int32 { /* sqlite3.c:99992:12: */ // // If the real file has been created, call its xSync method. Otherwise, // syncing an in-memory journal is a no-op. -func memjrnlSync(tls *libc.TLS, pJfd uintptr, flags int32) int32 { /* sqlite3.c:100004:12: */ +func memjrnlSync(tls *libc.TLS, pJfd uintptr, flags int32) int32 { /* sqlite3.c:100017:12: */ _ = pJfd _ = flags return SQLITE_OK } // Query the size of the file in bytes. -func memjrnlFileSize(tls *libc.TLS, pJfd uintptr, pSize uintptr) int32 { /* sqlite3.c:100012:12: */ +func memjrnlFileSize(tls *libc.TLS, pJfd uintptr, pSize uintptr) int32 { /* sqlite3.c:100025:12: */ var p uintptr = pJfd *(*Sqlite_int64)(unsafe.Pointer(pSize)) = (*MemJournal)(unsafe.Pointer(p)).Fendpoint.FiOffset return SQLITE_OK @@ -79562,7 +79581,7 @@ var sMemJournalMethods = sqlite3_io_methods{ FxTruncate: 0, // xTruncate FxSync: 0, // xSync FxFileSize: 0, // xUnfetch -} /* sqlite3.c:100021:40 */ +} /* sqlite3.c:100034:40 */ // Open a journal file. // @@ -79574,7 +79593,7 @@ var sMemJournalMethods = sqlite3_io_methods{ // but may be flushed to disk later on. In this case the journal file is // flushed to disk either when it grows larger than nSpill bytes in size, // or when sqlite3JournalCreate() is called. -func Xsqlite3JournalOpen(tls *libc.TLS, pVfs uintptr, zName uintptr, pJfd uintptr, flags int32, nSpill int32) int32 { /* sqlite3.c:100055:20: */ +func Xsqlite3JournalOpen(tls *libc.TLS, pVfs uintptr, zName uintptr, pJfd uintptr, flags int32, nSpill int32) int32 { /* sqlite3.c:100068:20: */ var p uintptr = pJfd // Zero the file-handle object. If nSpill was passed zero, initialize @@ -79602,20 +79621,20 @@ func Xsqlite3JournalOpen(tls *libc.TLS, pVfs uintptr, zName uintptr, pJfd uintpt } // Open an in-memory journal file. -func Xsqlite3MemJournalOpen(tls *libc.TLS, pJfd uintptr) { /* sqlite3.c:100091:21: */ +func Xsqlite3MemJournalOpen(tls *libc.TLS, pJfd uintptr) { /* sqlite3.c:100104:21: */ Xsqlite3JournalOpen(tls, uintptr(0), uintptr(0), pJfd, 0, -1) } // The file-handle passed as the only argument is open on a journal file. // Return true if this "journal file" is currently stored in heap memory, // or false otherwise. -func Xsqlite3JournalIsInMemory(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:100130:20: */ +func Xsqlite3JournalIsInMemory(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:100143:20: */ return libc.Bool32((*Sqlite3_file)(unsafe.Pointer(p)).FpMethods == uintptr(unsafe.Pointer(&sMemJournalMethods))) } // Return the number of bytes required to store a JournalFile that uses vfs // pVfs to create the underlying on-disk files. -func Xsqlite3JournalSize(tls *libc.TLS, pVfs uintptr) int32 { /* sqlite3.c:100138:20: */ +func Xsqlite3JournalSize(tls *libc.TLS, pVfs uintptr) int32 { /* sqlite3.c:100151:20: */ return func() int32 { if (*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FszOsFile > int32(unsafe.Sizeof(MemJournal{})) { return (*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FszOsFile @@ -79644,7 +79663,7 @@ func Xsqlite3JournalSize(tls *libc.TLS, pVfs uintptr) int32 { /* sqlite3.c:10013 // Walk all expressions linked into the list of Window objects passed // as the second argument. -func walkWindowList(tls *libc.TLS, pWalker uintptr, pList uintptr, bOneOnly int32) int32 { /* sqlite3.c:100168:12: */ +func walkWindowList(tls *libc.TLS, pWalker uintptr, pList uintptr, bOneOnly int32) int32 { /* sqlite3.c:100181:12: */ var pWin uintptr for pWin = pList; pWin != 0; pWin = (*Window)(unsafe.Pointer(pWin)).FpNextWin { var rc int32 @@ -79692,7 +79711,7 @@ func walkWindowList(tls *libc.TLS, pWalker uintptr, pList uintptr, bOneOnly int3 // // The return value from this routine is WRC_Abort to abandon the tree walk // and WRC_Continue to continue. -func walkExpr(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:100207:28: */ +func walkExpr(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:100220:28: */ var rc int32 for 1 != 0 { @@ -79734,7 +79753,7 @@ func walkExpr(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3. return WRC_Continue } -func Xsqlite3WalkExpr(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:100239:20: */ +func Xsqlite3WalkExpr(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:100252:20: */ if pExpr != 0 { return walkExpr(tls, pWalker, pExpr) } @@ -79743,7 +79762,7 @@ func Xsqlite3WalkExpr(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* // Call sqlite3WalkExpr() for every expression in list p or until // an abort request is seen. -func Xsqlite3WalkExprList(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sqlite3.c:100247:20: */ +func Xsqlite3WalkExprList(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sqlite3.c:100260:20: */ var i int32 var pItem uintptr if p != 0 { @@ -79772,7 +79791,7 @@ func Xsqlite3WalkExprList(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* // This is a no-op callback for Walker->xSelectCallback2. If this // callback is set, then the Select->pWinDefn list is traversed. -func Xsqlite3WalkWinDefnDummyCallback(tls *libc.TLS, pWalker uintptr, p uintptr) { /* sqlite3.c:100262:21: */ +func Xsqlite3WalkWinDefnDummyCallback(tls *libc.TLS, pWalker uintptr, p uintptr) { /* sqlite3.c:100275:21: */ _ = pWalker _ = p // No-op @@ -79782,7 +79801,7 @@ func Xsqlite3WalkWinDefnDummyCallback(tls *libc.TLS, pWalker uintptr, p uintptr) // not invoke the SELECT callback on p, but do (of course) invoke // any expr callbacks and SELECT callbacks that come from subqueries. // Return WRC_Abort or WRC_Continue. -func Xsqlite3WalkSelectExpr(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sqlite3.c:100274:20: */ +func Xsqlite3WalkSelectExpr(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sqlite3.c:100287:20: */ if Xsqlite3WalkExprList(tls, pWalker, (*Select)(unsafe.Pointer(p)).FpEList) != 0 { return WRC_Abort } @@ -79824,7 +79843,7 @@ func Xsqlite3WalkSelectExpr(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { / // callback on p, but do invoke it on each FROM clause subquery // and on any subqueries further down in the tree. Return // WRC_Abort or WRC_Continue; -func Xsqlite3WalkSelectFrom(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sqlite3.c:100307:20: */ +func Xsqlite3WalkSelectFrom(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sqlite3.c:100320:20: */ var pSrc uintptr var i int32 var pItem uintptr @@ -79873,7 +79892,7 @@ func Xsqlite3WalkSelectFrom(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { / // // If the Walker does not have an xSelectCallback() then this routine // is a no-op returning WRC_Continue. -func Xsqlite3WalkSelect(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sqlite3.c:100345:20: */ +func Xsqlite3WalkSelect(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sqlite3.c:100358:20: */ var rc int32 if p == uintptr(0) { return WRC_Continue @@ -79904,13 +79923,13 @@ func Xsqlite3WalkSelect(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sq // Increase the walkerDepth when entering a subquery, and // descrease when leaving the subquery. -func Xsqlite3WalkerDepthIncrease(tls *libc.TLS, pWalker uintptr, pSelect uintptr) int32 { /* sqlite3.c:100368:20: */ +func Xsqlite3WalkerDepthIncrease(tls *libc.TLS, pWalker uintptr, pSelect uintptr) int32 { /* sqlite3.c:100381:20: */ _ = pSelect (*Walker)(unsafe.Pointer(pWalker)).FwalkerDepth++ return WRC_Continue } -func Xsqlite3WalkerDepthDecrease(tls *libc.TLS, pWalker uintptr, pSelect uintptr) { /* sqlite3.c:100373:21: */ +func Xsqlite3WalkerDepthDecrease(tls *libc.TLS, pWalker uintptr, pSelect uintptr) { /* sqlite3.c:100386:21: */ _ = pSelect (*Walker)(unsafe.Pointer(pWalker)).FwalkerDepth-- } @@ -79922,7 +79941,7 @@ func Xsqlite3WalkerDepthDecrease(tls *libc.TLS, pWalker uintptr, pSelect uintptr // when this routine is used for Walker.xExprCallback then // Walker.xSelectCallback is set to do something useful for every // subquery in the parser tree. -func Xsqlite3ExprWalkNoop(tls *libc.TLS, NotUsed uintptr, NotUsed2 uintptr) int32 { /* sqlite3.c:100388:20: */ +func Xsqlite3ExprWalkNoop(tls *libc.TLS, NotUsed uintptr, NotUsed2 uintptr) int32 { /* sqlite3.c:100401:20: */ _ = NotUsed _ = NotUsed2 return WRC_Continue @@ -79930,7 +79949,7 @@ func Xsqlite3ExprWalkNoop(tls *libc.TLS, NotUsed uintptr, NotUsed2 uintptr) int3 // No-op routine for the parse-tree walker for SELECT statements. // subquery in the parser tree. -func Xsqlite3SelectWalkNoop(tls *libc.TLS, NotUsed uintptr, NotUsed2 uintptr) int32 { /* sqlite3.c:100397:20: */ +func Xsqlite3SelectWalkNoop(tls *libc.TLS, NotUsed uintptr, NotUsed2 uintptr) int32 { /* sqlite3.c:100410:20: */ _ = NotUsed _ = NotUsed2 return WRC_Continue @@ -79965,14 +79984,14 @@ func Xsqlite3SelectWalkNoop(tls *libc.TLS, NotUsed uintptr, NotUsed2 uintptr) in // is a helper function - a callback for the tree walker. // // See also the sqlite3WindowExtraAggFuncDepth() routine in window.c -func incrAggDepth(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:100438:12: */ +func incrAggDepth(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:100451:12: */ if int32((*Expr)(unsafe.Pointer(pExpr)).Fop) == TK_AGG_FUNCTION { *(*U8)(unsafe.Pointer(pExpr + 2)) += U8(*(*int32)(unsafe.Pointer(pWalker + 24))) } return WRC_Continue } -func incrAggFunctionDepth(tls *libc.TLS, pExpr uintptr, N int32) { /* sqlite3.c:100442:13: */ +func incrAggFunctionDepth(tls *libc.TLS, pExpr uintptr, N int32) { /* sqlite3.c:100455:13: */ bp := tls.Alloc(28) defer tls.Free(28) @@ -80005,7 +80024,7 @@ func incrAggFunctionDepth(tls *libc.TLS, pExpr uintptr, N int32) { /* sqlite3.c: // zero but it might be more if the alias is contained within a subquery // of the original expression. The Expr.op2 field of TK_AGG_FUNCTION // structures must be increased by the nSubquery amount. -func resolveAlias(tls *libc.TLS, pParse uintptr, pEList uintptr, iCol int32, pExpr uintptr, nSubquery int32) { /* sqlite3.c:100471:13: */ +func resolveAlias(tls *libc.TLS, pParse uintptr, pEList uintptr, iCol int32, pExpr uintptr, nSubquery int32) { /* sqlite3.c:100484:13: */ var pOrig uintptr // The iCol-th column of the result set var pDup uintptr // Copy of pOrig var db uintptr // The database connection @@ -80051,7 +80070,7 @@ func resolveAlias(tls *libc.TLS, pParse uintptr, pEList uintptr, iCol int32, pEx // // Return FALSE if the USING clause is NULL or if it does not contain // zCol. -func nameInUsingClause(tls *libc.TLS, pUsing uintptr, zCol uintptr) int32 { /* sqlite3.c:100528:12: */ +func nameInUsingClause(tls *libc.TLS, pUsing uintptr, zCol uintptr) int32 { /* sqlite3.c:100541:12: */ if pUsing != 0 { var k int32 for k = 0; k < (*IdList)(unsafe.Pointer(pUsing)).FnId; k++ { @@ -80068,7 +80087,7 @@ func nameInUsingClause(tls *libc.TLS, pUsing uintptr, zCol uintptr) int32 { /* s // Check to see if the zSpan given to this routine matches the zDb, zTab, // and zCol. If any of zDb, zTab, and zCol are NULL then those fields will // match anything. -func Xsqlite3MatchEName(tls *libc.TLS, pItem uintptr, zCol uintptr, zTab uintptr, zDb uintptr) int32 { /* sqlite3.c:100545:20: */ +func Xsqlite3MatchEName(tls *libc.TLS, pItem uintptr, zCol uintptr, zTab uintptr, zDb uintptr) int32 { /* sqlite3.c:100558:20: */ var n int32 var zSpan uintptr if int32(*(*uint8)(unsafe.Pointer(pItem + 12))&0x3>>0) != ENAME_TAB { @@ -80094,7 +80113,7 @@ func Xsqlite3MatchEName(tls *libc.TLS, pItem uintptr, zCol uintptr, zTab uintptr } // Return TRUE if the double-quoted string mis-feature should be supported. -func areDoubleQuotedStringsEnabled(tls *libc.TLS, db uintptr, pTopNC uintptr) int32 { /* sqlite3.c:100574:12: */ +func areDoubleQuotedStringsEnabled(tls *libc.TLS, db uintptr, pTopNC uintptr) int32 { /* sqlite3.c:100587:12: */ if (*Sqlite3)(unsafe.Pointer(db)).Finit.Fbusy != 0 { return 1 } // Always support for legacy schemas @@ -80113,7 +80132,7 @@ func areDoubleQuotedStringsEnabled(tls *libc.TLS, db uintptr, pTopNC uintptr) in // The argument is guaranteed to be a non-NULL Expr node of type TK_COLUMN. // return the appropriate colUsed mask. -func Xsqlite3ExprColUsed(tls *libc.TLS, pExpr uintptr) Bitmask { /* sqlite3.c:100592:24: */ +func Xsqlite3ExprColUsed(tls *libc.TLS, pExpr uintptr) Bitmask { /* sqlite3.c:100605:24: */ var n int32 var pExTab uintptr @@ -80163,7 +80182,7 @@ func Xsqlite3ExprColUsed(tls *libc.TLS, pExpr uintptr) Bitmask { /* sqlite3.c:10 // // If the name cannot be resolved unambiguously, leave an error message // in pParse and return WRC_Abort. Return WRC_Prune on success. -func lookupName(tls *libc.TLS, pParse uintptr, zDb uintptr, zTab uintptr, zCol uintptr, pNC uintptr, pExpr uintptr) int32 { /* sqlite3.c:100641:12: */ +func lookupName(tls *libc.TLS, pParse uintptr, zDb uintptr, zTab uintptr, zCol uintptr, pNC uintptr, pExpr uintptr) int32 { /* sqlite3.c:100654:12: */ bp := tls.Alloc(96) defer tls.Free(96) @@ -80881,7 +80900,7 @@ __88: // Allocate and return a pointer to an expression to load the column iCol // from datasource iSrc in SrcList pSrc. -func Xsqlite3CreateColumnExpr(tls *libc.TLS, db uintptr, pSrc uintptr, iSrc int32, iCol int32) uintptr { /* sqlite3.c:101087:21: */ +func Xsqlite3CreateColumnExpr(tls *libc.TLS, db uintptr, pSrc uintptr, iSrc int32, iCol int32) uintptr { /* sqlite3.c:101100:21: */ var p uintptr = Xsqlite3ExprAlloc(tls, db, TK_COLUMN, uintptr(0), 0) if p != 0 { var pItem uintptr = pSrc + 8 + uintptr(iSrc)*72 @@ -80930,7 +80949,7 @@ func Xsqlite3CreateColumnExpr(tls *libc.TLS, db uintptr, pSrc uintptr, iSrc int3 // As an optimization, since the conditional is almost always false // (because errors are rare), the conditional is moved outside of the // function call using a macro. -func notValidImpl(tls *libc.TLS, pParse uintptr, pNC uintptr, zMsg uintptr, pExpr uintptr, pError uintptr) { /* sqlite3.c:101131:13: */ +func notValidImpl(tls *libc.TLS, pParse uintptr, pNC uintptr, zMsg uintptr, pExpr uintptr, pError uintptr) { /* sqlite3.c:101144:13: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -80952,7 +80971,7 @@ func notValidImpl(tls *libc.TLS, pParse uintptr, pNC uintptr, zMsg uintptr, pExp // Expression p should encode a floating point value between 1.0 and 0.0. // Return 1024 times this value. Or return -1 if p is not a floating point // value between 1.0 and 0.0. -func exprProbability(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:101159:12: */ +func exprProbability(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:101172:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -80978,7 +80997,7 @@ func exprProbability(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:101159:12: * // This routine also does error checking and name resolution for // function names. The operator for aggregate functions is changed // to TK_AGG_FUNCTION. -func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:101180:12: */ +func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:101193:12: */ bp := tls.Alloc(96) defer tls.Free(96) @@ -81459,7 +81478,7 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* s // return 0. // // pEList has been resolved. pE has not. -func resolveAsName(tls *libc.TLS, pParse uintptr, pEList uintptr, pE uintptr) int32 { /* sqlite3.c:101638:12: */ +func resolveAsName(tls *libc.TLS, pParse uintptr, pEList uintptr, pE uintptr) int32 { /* sqlite3.c:101651:12: */ var i int32 // Loop counter _ = pParse @@ -81494,7 +81513,7 @@ func resolveAsName(tls *libc.TLS, pParse uintptr, pEList uintptr, pE uintptr) in // the column. // // If there is no match, return 0. Return -1 if an error occurs. -func resolveOrderByTermToExprList(tls *libc.TLS, pParse uintptr, pSelect uintptr, pE uintptr) int32 { /* sqlite3.c:101680:12: */ +func resolveOrderByTermToExprList(tls *libc.TLS, pParse uintptr, pSelect uintptr, pE uintptr) int32 { /* sqlite3.c:101693:12: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -81538,7 +81557,7 @@ func resolveOrderByTermToExprList(tls *libc.TLS, pParse uintptr, pSelect uintptr } // Generate an ORDER BY or GROUP BY term out-of-range error. -func resolveOutOfRangeError(tls *libc.TLS, pParse uintptr, zType uintptr, i int32, mx int32, pError uintptr) { /* sqlite3.c:101727:13: */ +func resolveOutOfRangeError(tls *libc.TLS, pParse uintptr, zType uintptr, i int32, mx int32, pError uintptr) { /* sqlite3.c:101740:13: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -81561,7 +81580,7 @@ func resolveOutOfRangeError(tls *libc.TLS, pParse uintptr, zType uintptr, i int3 // the integer column number. // // Return the number of errors seen. -func resolveCompoundOrderBy(tls *libc.TLS, pParse uintptr, pSelect uintptr) int32 { /* sqlite3.c:101755:12: */ +func resolveCompoundOrderBy(tls *libc.TLS, pParse uintptr, pSelect uintptr) int32 { /* sqlite3.c:101768:12: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -81698,7 +81717,7 @@ func resolveCompoundOrderBy(tls *libc.TLS, pParse uintptr, pSelect uintptr) int3 // // If any errors are detected, add an error message to pParse and // return non-zero. Return zero if no errors are seen. -func Xsqlite3ResolveOrderGroupBy(tls *libc.TLS, pParse uintptr, pSelect uintptr, pOrderBy uintptr, zType uintptr) int32 { /* sqlite3.c:101868:20: */ +func Xsqlite3ResolveOrderGroupBy(tls *libc.TLS, pParse uintptr, pSelect uintptr, pOrderBy uintptr, zType uintptr) int32 { /* sqlite3.c:101881:20: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -81744,7 +81763,7 @@ __3: } // Walker callback for windowRemoveExprFromSelect(). -func resolveRemoveWindowsCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:101902:12: */ +func resolveRemoveWindowsCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:101915:12: */ _ = pWalker if (*Expr)(unsafe.Pointer(pExpr)).Fflags&U32(EP_WinFunc) != U32(0) { var pWin uintptr = *(*uintptr)(unsafe.Pointer(pExpr + 44)) @@ -81755,7 +81774,7 @@ func resolveRemoveWindowsCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 // Remove any Window objects owned by the expression pExpr from the // Select.pWin list of Select object pSelect. -func windowRemoveExprFromSelect(tls *libc.TLS, pSelect uintptr, pExpr uintptr) { /* sqlite3.c:101915:13: */ +func windowRemoveExprFromSelect(tls *libc.TLS, pSelect uintptr, pExpr uintptr) { /* sqlite3.c:101928:13: */ bp := tls.Alloc(28) defer tls.Free(28) @@ -81787,7 +81806,7 @@ func windowRemoveExprFromSelect(tls *libc.TLS, pSelect uintptr, pExpr uintptr) { // This routine returns the number of errors. If errors occur, then // an appropriate error message might be left in pParse. (OOM errors // excepted.) -func resolveOrderGroupBy(tls *libc.TLS, pNC uintptr, pSelect uintptr, pOrderBy uintptr, zType uintptr) int32 { /* sqlite3.c:101946:12: */ +func resolveOrderGroupBy(tls *libc.TLS, pNC uintptr, pSelect uintptr, pOrderBy uintptr, zType uintptr) int32 { /* sqlite3.c:101959:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -81864,7 +81883,7 @@ __3: } // Resolve names in the SELECT statement p and all of its descendants. -func resolveSelectStep(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sqlite3.c:102009:12: */ +func resolveSelectStep(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sqlite3.c:102022:12: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -82163,7 +82182,7 @@ func resolveSelectStep(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sql // // An error message is left in pParse if anything is amiss. The number // if errors is returned. -func Xsqlite3ResolveExprNames(tls *libc.TLS, pNC uintptr, pExpr uintptr) int32 { /* sqlite3.c:102297:20: */ +func Xsqlite3ResolveExprNames(tls *libc.TLS, pNC uintptr, pExpr uintptr) int32 { /* sqlite3.c:102310:20: */ bp := tls.Alloc(28) defer tls.Free(28) @@ -82204,7 +82223,7 @@ func Xsqlite3ResolveExprNames(tls *libc.TLS, pNC uintptr, pExpr uintptr) int32 { // Resolve all names for all expression in an expression list. This is // just like sqlite3ResolveExprNames() except that it works for an expression // list rather than a single expression. -func Xsqlite3ResolveExprListNames(tls *libc.TLS, pNC uintptr, pList uintptr) int32 { /* sqlite3.c:102336:20: */ +func Xsqlite3ResolveExprListNames(tls *libc.TLS, pNC uintptr, pList uintptr) int32 { /* sqlite3.c:102349:20: */ bp := tls.Alloc(28) defer tls.Free(28) @@ -82261,7 +82280,7 @@ func Xsqlite3ResolveExprListNames(tls *libc.TLS, pNC uintptr, pList uintptr) int // // All SELECT statements should have been expanded using // sqlite3SelectExpand() prior to invoking this routine. -func Xsqlite3ResolveSelectNames(tls *libc.TLS, pParse uintptr, p uintptr, pOuterNC uintptr) { /* sqlite3.c:102392:21: */ +func Xsqlite3ResolveSelectNames(tls *libc.TLS, pParse uintptr, p uintptr, pOuterNC uintptr) { /* sqlite3.c:102405:21: */ bp := tls.Alloc(28) defer tls.Free(28) @@ -82295,7 +82314,7 @@ func Xsqlite3ResolveSelectNames(tls *libc.TLS, pParse uintptr, p uintptr, pOuter // set to the column number. In case (4), TK_COLUMN nodes cause an error. // // Any errors cause an error message to be set in pParse. -func Xsqlite3ResolveSelfReference(tls *libc.TLS, pParse uintptr, pTab uintptr, type1 int32, pExpr uintptr, pList uintptr) int32 { /* sqlite3.c:102426:20: */ +func Xsqlite3ResolveSelfReference(tls *libc.TLS, pParse uintptr, pTab uintptr, type1 int32, pExpr uintptr, pList uintptr) int32 { /* sqlite3.c:102439:20: */ bp := tls.Alloc(112) defer tls.Free(112) @@ -82331,7 +82350,7 @@ func Xsqlite3ResolveSelfReference(tls *libc.TLS, pParse uintptr, pTab uintptr, t } // Return the affinity character for a single column of a table. -func Xsqlite3TableColumnAffinity(tls *libc.TLS, pTab uintptr, iCol int32) uint8 { /* sqlite3.c:102486:21: */ +func Xsqlite3TableColumnAffinity(tls *libc.TLS, pTab uintptr, iCol int32) uint8 { /* sqlite3.c:102499:21: */ if iCol < 0 || iCol >= int32((*Table)(unsafe.Pointer(pTab)).FnCol) { return uint8(SQLITE_AFF_INTEGER) } @@ -82352,7 +82371,7 @@ func Xsqlite3TableColumnAffinity(tls *libc.TLS, pTab uintptr, iCol int32) uint8 // SELECT * FROM t1 WHERE a; // SELECT a AS b FROM t1 WHERE b; // SELECT * FROM t1 WHERE (select a from t1); -func Xsqlite3ExprAffinity(tls *libc.TLS, pExpr uintptr) uint8 { /* sqlite3.c:102507:21: */ +func Xsqlite3ExprAffinity(tls *libc.TLS, pExpr uintptr) uint8 { /* sqlite3.c:102520:21: */ var op int32 for (*Expr)(unsafe.Pointer(pExpr)).Fflags&U32(EP_Skip|EP_IfNullRow) != U32(0) { @@ -82395,7 +82414,7 @@ func Xsqlite3ExprAffinity(tls *libc.TLS, pExpr uintptr) uint8 { /* sqlite3.c:102 // // If a memory allocation error occurs, that fact is recorded in pParse->db // and the pExpr parameter is returned unchanged. -func Xsqlite3ExprAddCollateToken(tls *libc.TLS, pParse uintptr, pExpr uintptr, pCollName uintptr, dequote int32) uintptr { /* sqlite3.c:102560:21: */ +func Xsqlite3ExprAddCollateToken(tls *libc.TLS, pParse uintptr, pExpr uintptr, pCollName uintptr, dequote int32) uintptr { /* sqlite3.c:102573:21: */ if (*Token)(unsafe.Pointer(pCollName)).Fn > uint32(0) { var pNew uintptr = Xsqlite3ExprAlloc(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, TK_COLLATE, pCollName, dequote) if pNew != 0 { @@ -82407,7 +82426,7 @@ func Xsqlite3ExprAddCollateToken(tls *libc.TLS, pParse uintptr, pExpr uintptr, p return pExpr } -func Xsqlite3ExprAddCollateString(tls *libc.TLS, pParse uintptr, pExpr uintptr, zC uintptr) uintptr { /* sqlite3.c:102576:21: */ +func Xsqlite3ExprAddCollateString(tls *libc.TLS, pParse uintptr, pExpr uintptr, zC uintptr) uintptr { /* sqlite3.c:102589:21: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -82418,7 +82437,7 @@ func Xsqlite3ExprAddCollateString(tls *libc.TLS, pParse uintptr, pExpr uintptr, } // Skip over any TK_COLLATE operators. -func Xsqlite3ExprSkipCollate(tls *libc.TLS, pExpr uintptr) uintptr { /* sqlite3.c:102590:21: */ +func Xsqlite3ExprSkipCollate(tls *libc.TLS, pExpr uintptr) uintptr { /* sqlite3.c:102603:21: */ for pExpr != 0 && (*Expr)(unsafe.Pointer(pExpr)).Fflags&U32(EP_Skip) != U32(0) { pExpr = (*Expr)(unsafe.Pointer(pExpr)).FpLeft @@ -82429,7 +82448,7 @@ func Xsqlite3ExprSkipCollate(tls *libc.TLS, pExpr uintptr) uintptr { /* sqlite3. // Skip over any TK_COLLATE operators and/or any unlikely() // or likelihood() or likely() functions at the root of an // expression. -func Xsqlite3ExprSkipCollateAndLikely(tls *libc.TLS, pExpr uintptr) uintptr { /* sqlite3.c:102603:21: */ +func Xsqlite3ExprSkipCollateAndLikely(tls *libc.TLS, pExpr uintptr) uintptr { /* sqlite3.c:102616:21: */ for pExpr != 0 && (*Expr)(unsafe.Pointer(pExpr)).Fflags&U32(EP_Skip|EP_Unlikely) != U32(0) { if (*Expr)(unsafe.Pointer(pExpr)).Fflags&U32(EP_Unlikely) != U32(0) { @@ -82454,7 +82473,7 @@ func Xsqlite3ExprSkipCollateAndLikely(tls *libc.TLS, pExpr uintptr) uintptr { /* // or by the presence of a column with a defined collating sequence. // COLLATE operators take first precedence. Left operands take // precedence over right operands. -func Xsqlite3ExprCollSeq(tls *libc.TLS, pParse uintptr, pExpr uintptr) uintptr { /* sqlite3.c:102632:24: */ +func Xsqlite3ExprCollSeq(tls *libc.TLS, pParse uintptr, pExpr uintptr) uintptr { /* sqlite3.c:102645:24: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb var pColl uintptr = uintptr(0) var p uintptr = pExpr @@ -82526,7 +82545,7 @@ func Xsqlite3ExprCollSeq(tls *libc.TLS, pParse uintptr, pExpr uintptr) uintptr { // // The sqlite3ExprCollSeq() routine works the same except that it // returns NULL if there is no defined collation. -func Xsqlite3ExprNNCollSeq(tls *libc.TLS, pParse uintptr, pExpr uintptr) uintptr { /* sqlite3.c:102705:24: */ +func Xsqlite3ExprNNCollSeq(tls *libc.TLS, pParse uintptr, pExpr uintptr) uintptr { /* sqlite3.c:102718:24: */ var p uintptr = Xsqlite3ExprCollSeq(tls, pParse, pExpr) if p == uintptr(0) { p = (*Sqlite3)(unsafe.Pointer((*Parse)(unsafe.Pointer(pParse)).Fdb)).FpDfltColl @@ -82536,7 +82555,7 @@ func Xsqlite3ExprNNCollSeq(tls *libc.TLS, pParse uintptr, pExpr uintptr) uintptr } // Return TRUE if the two expressions have equivalent collating sequences. -func Xsqlite3ExprCollSeqMatch(tls *libc.TLS, pParse uintptr, pE1 uintptr, pE2 uintptr) int32 { /* sqlite3.c:102715:20: */ +func Xsqlite3ExprCollSeqMatch(tls *libc.TLS, pParse uintptr, pE1 uintptr, pE2 uintptr) int32 { /* sqlite3.c:102728:20: */ var pColl1 uintptr = Xsqlite3ExprNNCollSeq(tls, pParse, pE1) var pColl2 uintptr = Xsqlite3ExprNNCollSeq(tls, pParse, pE2) return libc.Bool32(Xsqlite3StrICmp(tls, (*CollSeq)(unsafe.Pointer(pColl1)).FzName, (*CollSeq)(unsafe.Pointer(pColl2)).FzName) == 0) @@ -82545,7 +82564,7 @@ func Xsqlite3ExprCollSeqMatch(tls *libc.TLS, pParse uintptr, pE1 uintptr, pE2 ui // pExpr is an operand of a comparison operator. aff2 is the // type affinity of the other operand. This routine returns the // type affinity that should be used for the comparison operator. -func Xsqlite3CompareAffinity(tls *libc.TLS, pExpr uintptr, aff2 uint8) uint8 { /* sqlite3.c:102726:21: */ +func Xsqlite3CompareAffinity(tls *libc.TLS, pExpr uintptr, aff2 uint8) uint8 { /* sqlite3.c:102739:21: */ var aff1 uint8 = Xsqlite3ExprAffinity(tls, pExpr) if int32(aff1) > SQLITE_AFF_NONE && int32(aff2) > SQLITE_AFF_NONE { // Both sides of the comparison are columns. If one has numeric @@ -82570,7 +82589,7 @@ func Xsqlite3CompareAffinity(tls *libc.TLS, pExpr uintptr, aff2 uint8) uint8 { / // pExpr is a comparison operator. Return the type affinity that should // be applied to both operands prior to doing the comparison. -func comparisonAffinity(tls *libc.TLS, pExpr uintptr) uint8 { /* sqlite3.c:102748:13: */ +func comparisonAffinity(tls *libc.TLS, pExpr uintptr) uint8 { /* sqlite3.c:102761:13: */ var aff uint8 aff = Xsqlite3ExprAffinity(tls, (*Expr)(unsafe.Pointer(pExpr)).FpLeft) @@ -82588,7 +82607,7 @@ func comparisonAffinity(tls *libc.TLS, pExpr uintptr) uint8 { /* sqlite3.c:10274 // idx_affinity is the affinity of an indexed column. Return true // if the index with affinity idx_affinity may be used to implement // the comparison in pExpr. -func Xsqlite3IndexAffinityOk(tls *libc.TLS, pExpr uintptr, idx_affinity uint8) int32 { /* sqlite3.c:102771:20: */ +func Xsqlite3IndexAffinityOk(tls *libc.TLS, pExpr uintptr, idx_affinity uint8) int32 { /* sqlite3.c:102784:20: */ var aff uint8 = comparisonAffinity(tls, pExpr) if int32(aff) < SQLITE_AFF_TEXT { return 1 @@ -82601,7 +82620,7 @@ func Xsqlite3IndexAffinityOk(tls *libc.TLS, pExpr uintptr, idx_affinity uint8) i // Return the P5 value that should be used for a binary comparison // opcode (OP_Eq, OP_Ge etc.) used to compare pExpr1 and pExpr2. -func binaryCompareP5(tls *libc.TLS, pExpr1 uintptr, pExpr2 uintptr, jumpIfNull int32) U8 { /* sqlite3.c:102786:11: */ +func binaryCompareP5(tls *libc.TLS, pExpr1 uintptr, pExpr2 uintptr, jumpIfNull int32) U8 { /* sqlite3.c:102799:11: */ var aff U8 = U8(Xsqlite3ExprAffinity(tls, pExpr2)) aff = U8(int32(U8(Xsqlite3CompareAffinity(tls, pExpr1, uint8(aff)))) | int32(U8(jumpIfNull))) return aff @@ -82617,7 +82636,7 @@ func binaryCompareP5(tls *libc.TLS, pExpr1 uintptr, pExpr2 uintptr, jumpIfNull i // // Argument pRight (but not pLeft) may be a null pointer. In this case, // it is not considered. -func Xsqlite3BinaryCompareCollSeq(tls *libc.TLS, pParse uintptr, pLeft uintptr, pRight uintptr) uintptr { /* sqlite3.c:102808:24: */ +func Xsqlite3BinaryCompareCollSeq(tls *libc.TLS, pParse uintptr, pLeft uintptr, pRight uintptr) uintptr { /* sqlite3.c:102821:24: */ var pColl uintptr if (*Expr)(unsafe.Pointer(pLeft)).Fflags&U32(EP_Collate) != 0 { @@ -82640,7 +82659,7 @@ func Xsqlite3BinaryCompareCollSeq(tls *libc.TLS, pParse uintptr, pLeft uintptr, // However, if the OP_Commuted flag is set, then the order of the operands // is reversed in the sqlite3BinaryCompareCollSeq() call so that the // correct collating sequence is found. -func Xsqlite3ExprCompareCollSeq(tls *libc.TLS, pParse uintptr, p uintptr) uintptr { /* sqlite3.c:102836:24: */ +func Xsqlite3ExprCompareCollSeq(tls *libc.TLS, pParse uintptr, p uintptr) uintptr { /* sqlite3.c:102849:24: */ if (*Expr)(unsafe.Pointer(p)).Fflags&U32(EP_Commuted) != U32(0) { return Xsqlite3BinaryCompareCollSeq(tls, pParse, (*Expr)(unsafe.Pointer(p)).FpRight, (*Expr)(unsafe.Pointer(p)).FpLeft) } else { @@ -82650,7 +82669,7 @@ func Xsqlite3ExprCompareCollSeq(tls *libc.TLS, pParse uintptr, p uintptr) uintpt } // Generate code for a comparison operator. -func codeCompare(tls *libc.TLS, pParse uintptr, pLeft uintptr, pRight uintptr, opcode int32, in1 int32, in2 int32, dest int32, jumpIfNull int32, isCommuted int32) int32 { /* sqlite3.c:102847:12: */ +func codeCompare(tls *libc.TLS, pParse uintptr, pLeft uintptr, pRight uintptr, opcode int32, in1 int32, in2 int32, dest int32, jumpIfNull int32, isCommuted int32) int32 { /* sqlite3.c:102860:12: */ var p5 int32 var addr int32 var p4 uintptr @@ -82677,7 +82696,7 @@ func codeCompare(tls *libc.TLS, pParse uintptr, pLeft uintptr, pRight uintptr, o // parser will not generate a TK_VECTOR with fewer than two entries. // But a TK_SELECT might be either a vector or a scalar. It is only // considered a vector if it has two or more result columns. -func Xsqlite3ExprIsVector(tls *libc.TLS, pExpr uintptr) int32 { /* sqlite3.c:102883:20: */ +func Xsqlite3ExprIsVector(tls *libc.TLS, pExpr uintptr) int32 { /* sqlite3.c:102896:20: */ return libc.Bool32(Xsqlite3ExprVectorSize(tls, pExpr) > 1) } @@ -82685,7 +82704,7 @@ func Xsqlite3ExprIsVector(tls *libc.TLS, pExpr uintptr) int32 { /* sqlite3.c:102 // return the number of expressions in the vector. Or, if the expression // is a sub-select, return the number of columns in the sub-select. For // any other type of expression, return 1. -func Xsqlite3ExprVectorSize(tls *libc.TLS, pExpr uintptr) int32 { /* sqlite3.c:102893:20: */ +func Xsqlite3ExprVectorSize(tls *libc.TLS, pExpr uintptr) int32 { /* sqlite3.c:102906:20: */ var op U8 = (*Expr)(unsafe.Pointer(pExpr)).Fop if int32(op) == TK_REGISTER { op = (*Expr)(unsafe.Pointer(pExpr)).Fop2 @@ -82715,7 +82734,7 @@ func Xsqlite3ExprVectorSize(tls *libc.TLS, pExpr uintptr) int32 { /* sqlite3.c:1 // just the expression for the i-th term of the result set, and may // not be ready for evaluation because the table cursor has not yet // been positioned. -func Xsqlite3VectorFieldSubexpr(tls *libc.TLS, pVector uintptr, i int32) uintptr { /* sqlite3.c:102922:21: */ +func Xsqlite3VectorFieldSubexpr(tls *libc.TLS, pVector uintptr, i int32) uintptr { /* sqlite3.c:102935:21: */ if Xsqlite3ExprIsVector(tls, pVector) != 0 { @@ -82749,7 +82768,7 @@ func Xsqlite3VectorFieldSubexpr(tls *libc.TLS, pVector uintptr, i int32) uintptr // A trick to cause a TK_SELECT pVector to be deleted together with // the returned Expr object is to attach the pVector to the pRight field // of the returned TK_SELECT_COLUMN Expr object. -func Xsqlite3ExprForVectorField(tls *libc.TLS, pParse uintptr, pVector uintptr, iField int32, nField int32) uintptr { /* sqlite3.c:102958:21: */ +func Xsqlite3ExprForVectorField(tls *libc.TLS, pParse uintptr, pVector uintptr, iField int32, nField int32) uintptr { /* sqlite3.c:102971:21: */ var pRet uintptr if int32((*Expr)(unsafe.Pointer(pVector)).Fop) == TK_SELECT { @@ -82797,7 +82816,7 @@ func Xsqlite3ExprForVectorField(tls *libc.TLS, pParse uintptr, pVector uintptr, // of registers in which the result is stored). // // If pExpr is not a TK_SELECT expression, return 0. -func exprCodeSubselect(tls *libc.TLS, pParse uintptr, pExpr uintptr) int32 { /* sqlite3.c:103014:12: */ +func exprCodeSubselect(tls *libc.TLS, pParse uintptr, pExpr uintptr) int32 { /* sqlite3.c:103027:12: */ var reg int32 = 0 if int32((*Expr)(unsafe.Pointer(pExpr)).Fop) == TK_SELECT { reg = Xsqlite3CodeSubselect(tls, pParse, pExpr) @@ -82821,7 +82840,7 @@ func exprCodeSubselect(tls *libc.TLS, pParse uintptr, pExpr uintptr) int32 { /* // // Before returning, output parameter (*ppExpr) is set to point to the // Expr object corresponding to element iElem of the vector. -func exprVectorRegister(tls *libc.TLS, pParse uintptr, pVector uintptr, iField int32, regSelect int32, ppExpr uintptr, pRegFree uintptr) int32 { /* sqlite3.c:103042:12: */ +func exprVectorRegister(tls *libc.TLS, pParse uintptr, pVector uintptr, iField int32, regSelect int32, ppExpr uintptr, pRegFree uintptr) int32 { /* sqlite3.c:103055:12: */ var op U8 = (*Expr)(unsafe.Pointer(pVector)).Fop if int32(op) == TK_REGISTER { @@ -82850,7 +82869,7 @@ func exprVectorRegister(tls *libc.TLS, pParse uintptr, pVector uintptr, iField i // if pExpr->op==TK_IS: op==TK_EQ and p5==SQLITE_NULLEQ // if pExpr->op==TK_ISNOT: op==TK_NE and p5==SQLITE_NULLEQ // otherwise: op==pExpr->op and p5==0 -func codeVectorCompare(tls *libc.TLS, pParse uintptr, pExpr uintptr, dest int32, op U8, p5 U8) { /* sqlite3.c:103080:13: */ +func codeVectorCompare(tls *libc.TLS, pParse uintptr, pExpr uintptr, dest int32, op U8, p5 U8) { /* sqlite3.c:103093:13: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -82938,7 +82957,7 @@ func codeVectorCompare(tls *libc.TLS, pParse uintptr, pExpr uintptr, dest int32, // Check that argument nHeight is less than or equal to the maximum // expression depth allowed. If it is not, leave an error message in // pParse. -func Xsqlite3ExprCheckHeight(tls *libc.TLS, pParse uintptr, nHeight int32) int32 { /* sqlite3.c:103175:20: */ +func Xsqlite3ExprCheckHeight(tls *libc.TLS, pParse uintptr, nHeight int32) int32 { /* sqlite3.c:103188:20: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -82960,7 +82979,7 @@ func Xsqlite3ExprCheckHeight(tls *libc.TLS, pParse uintptr, nHeight int32) int32 // If this maximum height is greater than the current value pointed // to by pnHeight, the second parameter, then set *pnHeight to that // value. -func heightOfExpr(tls *libc.TLS, p uintptr, pnHeight uintptr) { /* sqlite3.c:103196:13: */ +func heightOfExpr(tls *libc.TLS, p uintptr, pnHeight uintptr) { /* sqlite3.c:103209:13: */ if p != 0 { if (*Expr)(unsafe.Pointer(p)).FnHeight > *(*int32)(unsafe.Pointer(pnHeight)) { *(*int32)(unsafe.Pointer(pnHeight)) = (*Expr)(unsafe.Pointer(p)).FnHeight @@ -82968,7 +82987,7 @@ func heightOfExpr(tls *libc.TLS, p uintptr, pnHeight uintptr) { /* sqlite3.c:103 } } -func heightOfExprList(tls *libc.TLS, p uintptr, pnHeight uintptr) { /* sqlite3.c:103203:13: */ +func heightOfExprList(tls *libc.TLS, p uintptr, pnHeight uintptr) { /* sqlite3.c:103216:13: */ if p != 0 { var i int32 for i = 0; i < (*ExprList)(unsafe.Pointer(p)).FnExpr; i++ { @@ -82977,7 +82996,7 @@ func heightOfExprList(tls *libc.TLS, p uintptr, pnHeight uintptr) { /* sqlite3.c } } -func heightOfSelect(tls *libc.TLS, pSelect uintptr, pnHeight uintptr) { /* sqlite3.c:103211:13: */ +func heightOfSelect(tls *libc.TLS, pSelect uintptr, pnHeight uintptr) { /* sqlite3.c:103224:13: */ var p uintptr for p = pSelect; p != 0; p = (*Select)(unsafe.Pointer(p)).FpPrior { heightOfExpr(tls, (*Select)(unsafe.Pointer(p)).FpWhere, pnHeight) @@ -82997,7 +83016,7 @@ func heightOfSelect(tls *libc.TLS, pSelect uintptr, pnHeight uintptr) { /* sqlit // // Also propagate EP_Propagate flags up from Expr.x.pList to Expr.flags, // if appropriate. -func exprSetHeight(tls *libc.TLS, p uintptr) { /* sqlite3.c:103233:13: */ +func exprSetHeight(tls *libc.TLS, p uintptr) { /* sqlite3.c:103246:13: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -83024,7 +83043,7 @@ func exprSetHeight(tls *libc.TLS, p uintptr) { /* sqlite3.c:103233:13: */ // // Also propagate all EP_Propagate flags from the Expr.x.pList into // Expr.flags. -func Xsqlite3ExprSetHeightAndFlags(tls *libc.TLS, pParse uintptr, p uintptr) { /* sqlite3.c:103253:21: */ +func Xsqlite3ExprSetHeightAndFlags(tls *libc.TLS, pParse uintptr, p uintptr) { /* sqlite3.c:103266:21: */ if (*Parse)(unsafe.Pointer(pParse)).FnErr != 0 { return } @@ -83034,7 +83053,7 @@ func Xsqlite3ExprSetHeightAndFlags(tls *libc.TLS, pParse uintptr, p uintptr) { / // Return the maximum height of any expression tree referenced // by the select statement passed as an argument. -func Xsqlite3SelectExprHeight(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:103263:20: */ +func Xsqlite3SelectExprHeight(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:103276:20: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -83061,7 +83080,7 @@ func Xsqlite3SelectExprHeight(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:103 // stored in u.zToken. Instead, the integer values is written // into u.iValue and the EP_IntValue flag is set. No extra storage // is allocated to hold the integer text and the dequote flag is ignored. -func Xsqlite3ExprAlloc(tls *libc.TLS, db uintptr, op int32, pToken uintptr, dequote int32) uintptr { /* sqlite3.c:103302:21: */ +func Xsqlite3ExprAlloc(tls *libc.TLS, db uintptr, op int32, pToken uintptr, dequote int32) uintptr { /* sqlite3.c:103315:21: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -83109,7 +83128,7 @@ func Xsqlite3ExprAlloc(tls *libc.TLS, db uintptr, op int32, pToken uintptr, dequ // Allocate a new expression node from a zero-terminated token that has // already been dequoted. -func Xsqlite3Expr(tls *libc.TLS, db uintptr, op int32, zToken uintptr) uintptr { /* sqlite3.c:103350:21: */ +func Xsqlite3Expr(tls *libc.TLS, db uintptr, op int32, zToken uintptr) uintptr { /* sqlite3.c:103363:21: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -83124,7 +83143,7 @@ func Xsqlite3Expr(tls *libc.TLS, db uintptr, op int32, zToken uintptr) uintptr { // // If pRoot==NULL that means that a memory allocation error has occurred. // In that case, delete the subtrees pLeft and pRight. -func Xsqlite3ExprAttachSubtrees(tls *libc.TLS, db uintptr, pRoot uintptr, pLeft uintptr, pRight uintptr) { /* sqlite3.c:103367:21: */ +func Xsqlite3ExprAttachSubtrees(tls *libc.TLS, db uintptr, pRoot uintptr, pLeft uintptr, pRight uintptr) { /* sqlite3.c:103380:21: */ if pRoot == uintptr(0) { Xsqlite3ExprDelete(tls, db, pLeft) @@ -83147,7 +83166,7 @@ func Xsqlite3ExprAttachSubtrees(tls *libc.TLS, db uintptr, pRoot uintptr, pLeft // One or both of the subtrees can be NULL. Return a pointer to the new // Expr node. Or, if an OOM error occurs, set pParse->db->mallocFailed, // free the subtrees and return NULL. -func Xsqlite3PExpr(tls *libc.TLS, pParse uintptr, op int32, pLeft uintptr, pRight uintptr) uintptr { /* sqlite3.c:103397:21: */ +func Xsqlite3PExpr(tls *libc.TLS, pParse uintptr, op int32, pLeft uintptr, pRight uintptr) uintptr { /* sqlite3.c:103410:21: */ var p uintptr p = Xsqlite3DbMallocRawNN(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, uint64(unsafe.Sizeof(Expr{}))) if p != 0 { @@ -83165,7 +83184,7 @@ func Xsqlite3PExpr(tls *libc.TLS, pParse uintptr, op int32, pLeft uintptr, pRigh // Add pSelect to the Expr.x.pSelect field. Or, if pExpr is NULL (due // do a memory allocation failure) then delete the pSelect object. -func Xsqlite3PExprAddSelect(tls *libc.TLS, pParse uintptr, pExpr uintptr, pSelect uintptr) { /* sqlite3.c:103422:21: */ +func Xsqlite3PExprAddSelect(tls *libc.TLS, pParse uintptr, pExpr uintptr, pSelect uintptr) { /* sqlite3.c:103435:21: */ if pExpr != 0 { *(*uintptr)(unsafe.Pointer(pExpr + 20)) = pSelect *(*U32)(unsafe.Pointer(pExpr + 4)) |= U32(EP_xIsSelect | EP_Subquery) @@ -83193,7 +83212,7 @@ func Xsqlite3PExprAddSelect(tls *libc.TLS, pParse uintptr, pExpr uintptr, pSelec // // This is used as part of processing IN(...) expressions with a list // of vectors on the RHS. e.g. "... IN ((1,2), (3,4), (5,6))". -func Xsqlite3ExprListToValues(tls *libc.TLS, pParse uintptr, nElem int32, pEList uintptr) uintptr { /* sqlite3.c:103452:23: */ +func Xsqlite3ExprListToValues(tls *libc.TLS, pParse uintptr, nElem int32, pEList uintptr) uintptr { /* sqlite3.c:103465:23: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -83245,7 +83264,7 @@ func Xsqlite3ExprListToValues(tls *libc.TLS, pParse uintptr, nElem int32, pEList // If one side or the other of the AND is known to be false, then instead // of returning an AND expression, just return a constant expression with // a value of false. -func Xsqlite3ExprAnd(tls *libc.TLS, pParse uintptr, pLeft uintptr, pRight uintptr) uintptr { /* sqlite3.c:103499:21: */ +func Xsqlite3ExprAnd(tls *libc.TLS, pParse uintptr, pLeft uintptr, pRight uintptr) uintptr { /* sqlite3.c:103512:21: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb if pLeft == uintptr(0) { return pRight @@ -83264,7 +83283,7 @@ func Xsqlite3ExprAnd(tls *libc.TLS, pParse uintptr, pLeft uintptr, pRight uintpt // Construct a new expression node for a function with multiple // arguments. -func Xsqlite3ExprFunction(tls *libc.TLS, pParse uintptr, pList uintptr, pToken uintptr, eDistinct int32) uintptr { /* sqlite3.c:103520:21: */ +func Xsqlite3ExprFunction(tls *libc.TLS, pParse uintptr, pList uintptr, pToken uintptr, eDistinct int32) uintptr { /* sqlite3.c:103533:21: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -83301,7 +83320,7 @@ func Xsqlite3ExprFunction(tls *libc.TLS, pParse uintptr, pList uintptr, pToken u // top-level SQL // // If the function is not usable, create an error. -func Xsqlite3ExprFunctionUsable(tls *libc.TLS, pParse uintptr, pExpr uintptr, pDef uintptr) { /* sqlite3.c:103560:21: */ +func Xsqlite3ExprFunctionUsable(tls *libc.TLS, pParse uintptr, pExpr uintptr, pDef uintptr) { /* sqlite3.c:103573:21: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -83333,7 +83352,7 @@ func Xsqlite3ExprFunctionUsable(tls *libc.TLS, pParse uintptr, pExpr uintptr, pD // as the previous instance of the same wildcard. Or if this is the first // instance of the wildcard, the next sequential variable number is // assigned. -func Xsqlite3ExprAssignVarNumber(tls *libc.TLS, pParse uintptr, pExpr uintptr, n U32) { /* sqlite3.c:103599:21: */ +func Xsqlite3ExprAssignVarNumber(tls *libc.TLS, pParse uintptr, pExpr uintptr, n U32) { /* sqlite3.c:103612:21: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -83401,7 +83420,7 @@ func Xsqlite3ExprAssignVarNumber(tls *libc.TLS, pParse uintptr, pExpr uintptr, n } // Recursively delete an expression tree. -func sqlite3ExprDeleteNN(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:103669:29: */ +func sqlite3ExprDeleteNN(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:103682:29: */ if !((*Expr)(unsafe.Pointer(p)).Fflags&U32(EP_TokenOnly|EP_Leaf) != U32(0)) { // The Expr.x union is never used at the same time as Expr.pRight @@ -83431,7 +83450,7 @@ func sqlite3ExprDeleteNN(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:10 } } -func Xsqlite3ExprDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:103710:21: */ +func Xsqlite3ExprDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:103723:21: */ if p != 0 { sqlite3ExprDeleteNN(tls, db, p) } @@ -83445,13 +83464,13 @@ func Xsqlite3ExprDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:103 // // The deferred delete is (currently) implemented by adding the // pExpr to the pParse->pConstExpr list with a register number of 0. -func Xsqlite3ExprDeferredDelete(tls *libc.TLS, pParse uintptr, pExpr uintptr) { /* sqlite3.c:103725:21: */ +func Xsqlite3ExprDeferredDelete(tls *libc.TLS, pParse uintptr, pExpr uintptr) { /* sqlite3.c:103738:21: */ (*Parse)(unsafe.Pointer(pParse)).FpConstExpr = Xsqlite3ExprListAppend(tls, pParse, (*Parse)(unsafe.Pointer(pParse)).FpConstExpr, pExpr) } // Invoke sqlite3RenameExprUnmap() and sqlite3ExprDelete() on the // expression. -func Xsqlite3ExprUnmapAndDelete(tls *libc.TLS, pParse uintptr, p uintptr) { /* sqlite3.c:103733:21: */ +func Xsqlite3ExprUnmapAndDelete(tls *libc.TLS, pParse uintptr, p uintptr) { /* sqlite3.c:103746:21: */ if p != 0 { if int32((*Parse)(unsafe.Pointer(pParse)).FeParseMode) >= PARSE_MODE_RENAME { Xsqlite3RenameExprUnmap(tls, pParse, p) @@ -83463,7 +83482,7 @@ func Xsqlite3ExprUnmapAndDelete(tls *libc.TLS, pParse uintptr, p uintptr) { /* s // Return the number of bytes allocated for the expression structure // passed as the first argument. This is always one of EXPR_FULLSIZE, // EXPR_REDUCEDSIZE or EXPR_TOKENONLYSIZE. -func exprStructSize(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:103747:12: */ +func exprStructSize(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:103760:12: */ if (*Expr)(unsafe.Pointer(p)).Fflags&U32(EP_TokenOnly) != U32(0) { return int32(uintptr(0) + 12) } @@ -83505,7 +83524,7 @@ func exprStructSize(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:103747:12: */ // to reduce a pristine expression tree from the parser. The implementation // of dupedExprStructSize() contain multiple assert() statements that attempt // to enforce this constraint. -func dupedExprStructSize(tls *libc.TLS, p uintptr, flags int32) int32 { /* sqlite3.c:103787:12: */ +func dupedExprStructSize(tls *libc.TLS, p uintptr, flags int32) int32 { /* sqlite3.c:103800:12: */ var nSize int32 // Only one flag value allowed @@ -83527,7 +83546,7 @@ func dupedExprStructSize(tls *libc.TLS, p uintptr, flags int32) int32 { /* sqlit // This function returns the space in bytes required to store the copy // of the Expr structure and a copy of the Expr.u.zToken string (if that // string is defined.) -func dupedExprNodeSize(tls *libc.TLS, p uintptr, flags int32) int32 { /* sqlite3.c:103818:12: */ +func dupedExprNodeSize(tls *libc.TLS, p uintptr, flags int32) int32 { /* sqlite3.c:103831:12: */ var nByte int32 = dupedExprStructSize(tls, p, flags) & 0xfff if !((*Expr)(unsafe.Pointer(p)).Fflags&U32(EP_IntValue) != U32(0)) && *(*uintptr)(unsafe.Pointer(p + 8)) != 0 { nByte = int32(Size_t(nByte) + (libc.Xstrlen(tls, *(*uintptr)(unsafe.Pointer(p + 8)))&Size_t(0x3fffffff) + Size_t(1))) @@ -83546,7 +83565,7 @@ func dupedExprNodeSize(tls *libc.TLS, p uintptr, flags int32) int32 { /* sqlite3 // space to duplicate all Expr nodes in the tree formed by Expr.pLeft // and Expr.pRight variables (but not for any structures pointed to or // descended from the Expr.x.pList or Expr.x.pSelect variables). -func dupedExprSize(tls *libc.TLS, p uintptr, flags int32) int32 { /* sqlite3.c:103839:12: */ +func dupedExprSize(tls *libc.TLS, p uintptr, flags int32) int32 { /* sqlite3.c:103852:12: */ var nByte int32 = 0 if p != 0 { nByte = dupedExprNodeSize(tls, p, flags) @@ -83563,7 +83582,7 @@ func dupedExprSize(tls *libc.TLS, p uintptr, flags int32) int32 { /* sqlite3.c:1 // (if applicable), and the copies of the p->pLeft and p->pRight expressions, // if any. Before returning, *pzBuffer is set to the first byte past the // portion of the buffer copied into by this function. -func exprDup(tls *libc.TLS, db uintptr, p uintptr, dupFlags int32, pzBuffer uintptr) uintptr { /* sqlite3.c:103858:13: */ +func exprDup(tls *libc.TLS, db uintptr, p uintptr, dupFlags int32, pzBuffer uintptr) uintptr { /* sqlite3.c:103871:13: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -83673,7 +83692,7 @@ func exprDup(tls *libc.TLS, db uintptr, p uintptr, dupFlags int32, pzBuffer uint // Create and return a deep copy of the object passed as the second // argument. If an OOM condition is encountered, NULL is returned // and the db->mallocFailed flag set. -func Xsqlite3WithDup(tls *libc.TLS, db uintptr, p uintptr) uintptr { /* sqlite3.c:103968:21: */ +func Xsqlite3WithDup(tls *libc.TLS, db uintptr, p uintptr) uintptr { /* sqlite3.c:103981:21: */ var pRet uintptr = uintptr(0) if p != 0 { var nByte Sqlite3_int64 = Sqlite3_int64(uint32(unsafe.Sizeof(With{})) + uint32(unsafe.Sizeof(Cte{}))*uint32((*With)(unsafe.Pointer(p)).FnCte-1)) @@ -83695,7 +83714,7 @@ func Xsqlite3WithDup(tls *libc.TLS, db uintptr, p uintptr) uintptr { /* sqlite3. // gatherSelectWindowsCallback() are used to scan all the expressions // an a newly duplicated SELECT statement and gather all of the Window // objects found there, assembling them onto the linked list at Select->pWin. -func gatherSelectWindowsCallback(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:103996:12: */ +func gatherSelectWindowsCallback(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:104009:12: */ if int32((*Expr)(unsafe.Pointer(pExpr)).Fop) == TK_FUNCTION && (*Expr)(unsafe.Pointer(pExpr)).Fflags&U32(EP_WinFunc) != U32(0) { var pSelect uintptr = *(*uintptr)(unsafe.Pointer(pWalker + 24)) var pWin uintptr = *(*uintptr)(unsafe.Pointer(pExpr + 44)) @@ -83705,14 +83724,14 @@ func gatherSelectWindowsCallback(tls *libc.TLS, pWalker uintptr, pExpr uintptr) return WRC_Continue } -func gatherSelectWindowsSelectCallback(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sqlite3.c:104007:12: */ +func gatherSelectWindowsSelectCallback(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sqlite3.c:104020:12: */ if p == *(*uintptr)(unsafe.Pointer(pWalker + 24)) { return WRC_Continue } return WRC_Prune } -func gatherSelectWindows(tls *libc.TLS, p uintptr) { /* sqlite3.c:104010:13: */ +func gatherSelectWindows(tls *libc.TLS, p uintptr) { /* sqlite3.c:104023:13: */ bp := tls.Alloc(28) defer tls.Free(28) @@ -83745,7 +83764,7 @@ func gatherSelectWindows(tls *libc.TLS, p uintptr) { /* sqlite3.c:104010:13: */ // If the EXPRDUP_REDUCE flag is set, then the structure returned is a // truncated version of the usual Expr structure that will be stored as // part of the in-memory representation of the database schema. -func Xsqlite3ExprDup(tls *libc.TLS, db uintptr, p uintptr, flags int32) uintptr { /* sqlite3.c:104039:21: */ +func Xsqlite3ExprDup(tls *libc.TLS, db uintptr, p uintptr, flags int32) uintptr { /* sqlite3.c:104052:21: */ if p != 0 { return exprDup(tls, db, p, flags, uintptr(0)) @@ -83753,7 +83772,7 @@ func Xsqlite3ExprDup(tls *libc.TLS, db uintptr, p uintptr, flags int32) uintptr return uintptr(0) } -func Xsqlite3ExprListDup(tls *libc.TLS, db uintptr, p uintptr, flags int32) uintptr { /* sqlite3.c:104043:25: */ +func Xsqlite3ExprListDup(tls *libc.TLS, db uintptr, p uintptr, flags int32) uintptr { /* sqlite3.c:104056:25: */ var pNew uintptr var pItem uintptr var pOldItem uintptr @@ -83822,7 +83841,7 @@ __3: // the build, then none of the following routines, except for // sqlite3SelectDup(), can be called. sqlite3SelectDup() is sometimes // called with a NULL argument. -func Xsqlite3SrcListDup(tls *libc.TLS, db uintptr, p uintptr, flags int32) uintptr { /* sqlite3.c:104098:24: */ +func Xsqlite3SrcListDup(tls *libc.TLS, db uintptr, p uintptr, flags int32) uintptr { /* sqlite3.c:104111:24: */ var pNew uintptr var i int32 var nByte int32 @@ -83875,7 +83894,7 @@ func Xsqlite3SrcListDup(tls *libc.TLS, db uintptr, p uintptr, flags int32) uintp return pNew } -func Xsqlite3IdListDup(tls *libc.TLS, db uintptr, p uintptr) uintptr { /* sqlite3.c:104142:23: */ +func Xsqlite3IdListDup(tls *libc.TLS, db uintptr, p uintptr) uintptr { /* sqlite3.c:104155:23: */ var pNew uintptr var i int32 @@ -83904,7 +83923,7 @@ func Xsqlite3IdListDup(tls *libc.TLS, db uintptr, p uintptr) uintptr { /* sqlite return pNew } -func Xsqlite3SelectDup(tls *libc.TLS, db uintptr, pDup uintptr, flags int32) uintptr { /* sqlite3.c:104166:23: */ +func Xsqlite3SelectDup(tls *libc.TLS, db uintptr, pDup uintptr, flags int32) uintptr { /* sqlite3.c:104179:23: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -83970,9 +83989,9 @@ func Xsqlite3SelectDup(tls *libc.TLS, db uintptr, pDup uintptr, flags int32) uin // If a memory allocation error occurs, the entire list is freed and // NULL is returned. If non-NULL is returned, then it is guaranteed // that the new entry was successfully appended. -var zeroItem = ExprList_item{} /* sqlite3.c:104237:35 */ +var zeroItem = ExprList_item{} /* sqlite3.c:104250:35 */ -func Xsqlite3ExprListAppendNew(tls *libc.TLS, db uintptr, pExpr uintptr) uintptr { /* sqlite3.c:104238:41: */ +func Xsqlite3ExprListAppendNew(tls *libc.TLS, db uintptr, pExpr uintptr) uintptr { /* sqlite3.c:104251:41: */ var pItem uintptr var pList uintptr @@ -83989,7 +84008,7 @@ func Xsqlite3ExprListAppendNew(tls *libc.TLS, db uintptr, pExpr uintptr) uintptr return pList } -func Xsqlite3ExprListAppendGrow(tls *libc.TLS, db uintptr, pList uintptr, pExpr uintptr) uintptr { /* sqlite3.c:104257:41: */ +func Xsqlite3ExprListAppendGrow(tls *libc.TLS, db uintptr, pList uintptr, pExpr uintptr) uintptr { /* sqlite3.c:104270:41: */ var pItem uintptr var pNew uintptr *(*int32)(unsafe.Pointer(pList + 4)) *= 2 @@ -84008,7 +84027,7 @@ func Xsqlite3ExprListAppendGrow(tls *libc.TLS, db uintptr, pList uintptr, pExpr return pList } -func Xsqlite3ExprListAppend(tls *libc.TLS, pParse uintptr, pList uintptr, pExpr uintptr) uintptr { /* sqlite3.c:104279:25: */ +func Xsqlite3ExprListAppend(tls *libc.TLS, pParse uintptr, pList uintptr, pExpr uintptr) uintptr { /* sqlite3.c:104292:25: */ var pItem uintptr if pList == uintptr(0) { return Xsqlite3ExprListAppendNew(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, pExpr) @@ -84031,7 +84050,7 @@ func Xsqlite3ExprListAppend(tls *libc.TLS, pParse uintptr, pList uintptr, pExpr // For each term of the vector assignment, append new entries to the // expression list pList. In the case of a subquery on the RHS, append // TK_SELECT_COLUMN expressions. -func Xsqlite3ExprListAppendVector(tls *libc.TLS, pParse uintptr, pList uintptr, pColumns uintptr, pExpr uintptr) uintptr { /* sqlite3.c:104308:25: */ +func Xsqlite3ExprListAppendVector(tls *libc.TLS, pParse uintptr, pList uintptr, pColumns uintptr, pExpr uintptr) uintptr { /* sqlite3.c:104321:25: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -84128,7 +84147,7 @@ vector_append_error: } // Set the sort order for the last element on the given ExprList. -func Xsqlite3ExprListSetSortOrder(tls *libc.TLS, p uintptr, iSortOrder int32, eNulls int32) { /* sqlite3.c:104370:21: */ +func Xsqlite3ExprListSetSortOrder(tls *libc.TLS, p uintptr, iSortOrder int32, eNulls int32) { /* sqlite3.c:104383:21: */ var pItem uintptr if p == uintptr(0) { return @@ -84155,7 +84174,7 @@ func Xsqlite3ExprListSetSortOrder(tls *libc.TLS, p uintptr, iSortOrder int32, eN // pList might be NULL following an OOM error. But pName should never be // NULL. If a memory allocation fails, the pParse->db->mallocFailed flag // is set. -func Xsqlite3ExprListSetName(tls *libc.TLS, pParse uintptr, pList uintptr, pName uintptr, dequote int32) { /* sqlite3.c:104408:21: */ +func Xsqlite3ExprListSetName(tls *libc.TLS, pParse uintptr, pList uintptr, pName uintptr, dequote int32) { /* sqlite3.c:104421:21: */ if pList != 0 { var pItem uintptr @@ -84181,7 +84200,7 @@ func Xsqlite3ExprListSetName(tls *libc.TLS, pParse uintptr, pList uintptr, pName // pList might be NULL following an OOM error. But pSpan should never be // NULL. If a memory allocation fails, the pParse->db->mallocFailed flag // is set. -func Xsqlite3ExprListSetSpan(tls *libc.TLS, pParse uintptr, pList uintptr, zStart uintptr, zEnd uintptr) { /* sqlite3.c:104443:21: */ +func Xsqlite3ExprListSetSpan(tls *libc.TLS, pParse uintptr, pList uintptr, zStart uintptr, zEnd uintptr) { /* sqlite3.c:104456:21: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb if pList != 0 { @@ -84196,7 +84215,7 @@ func Xsqlite3ExprListSetSpan(tls *libc.TLS, pParse uintptr, pList uintptr, zStar // If the expression list pEList contains more than iLimit elements, // leave an error message in pParse. -func Xsqlite3ExprListCheckLength(tls *libc.TLS, pParse uintptr, pEList uintptr, zObject uintptr) { /* sqlite3.c:104465:21: */ +func Xsqlite3ExprListCheckLength(tls *libc.TLS, pParse uintptr, pEList uintptr, zObject uintptr) { /* sqlite3.c:104478:21: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -84208,7 +84227,7 @@ func Xsqlite3ExprListCheckLength(tls *libc.TLS, pParse uintptr, pEList uintptr, } // Delete an entire expression list. -func exprListDeleteNN(tls *libc.TLS, db uintptr, pList uintptr) { /* sqlite3.c:104481:29: */ +func exprListDeleteNN(tls *libc.TLS, db uintptr, pList uintptr) { /* sqlite3.c:104494:29: */ var i int32 = (*ExprList)(unsafe.Pointer(pList)).FnExpr var pItem uintptr = pList + 8 /* &.a */ @@ -84220,7 +84239,7 @@ func exprListDeleteNN(tls *libc.TLS, db uintptr, pList uintptr) { /* sqlite3.c:1 Xsqlite3DbFreeNN(tls, db, pList) } -func Xsqlite3ExprListDelete(tls *libc.TLS, db uintptr, pList uintptr) { /* sqlite3.c:104492:21: */ +func Xsqlite3ExprListDelete(tls *libc.TLS, db uintptr, pList uintptr) { /* sqlite3.c:104505:21: */ if pList != 0 { exprListDeleteNN(tls, db, pList) } @@ -84228,7 +84247,7 @@ func Xsqlite3ExprListDelete(tls *libc.TLS, db uintptr, pList uintptr) { /* sqlit // Return the bitwise-OR of all Expr.flags fields in the given // ExprList. -func Xsqlite3ExprListFlags(tls *libc.TLS, pList uintptr) U32 { /* sqlite3.c:104500:20: */ +func Xsqlite3ExprListFlags(tls *libc.TLS, pList uintptr) U32 { /* sqlite3.c:104513:20: */ var i int32 var m U32 = U32(0) @@ -84245,7 +84264,7 @@ func Xsqlite3ExprListFlags(tls *libc.TLS, pList uintptr) U32 { /* sqlite3.c:1045 // pWalker->eCode to zero and abort. // // This callback is used by multiple expression walkers. -func Xsqlite3SelectWalkFail(tls *libc.TLS, pWalker uintptr, NotUsed uintptr) int32 { /* sqlite3.c:104519:20: */ +func Xsqlite3SelectWalkFail(tls *libc.TLS, pWalker uintptr, NotUsed uintptr) int32 { /* sqlite3.c:104532:20: */ _ = NotUsed (*Walker)(unsafe.Pointer(pWalker)).FeCode = U16(0) return WRC_Abort @@ -84257,7 +84276,7 @@ func Xsqlite3SelectWalkFail(tls *libc.TLS, pWalker uintptr, NotUsed uintptr) int // "true" EP_IsTrue // "false" EP_IsFalse // anything else 0 -func Xsqlite3IsTrueOrFalse(tls *libc.TLS, zIn uintptr) U32 { /* sqlite3.c:104533:20: */ +func Xsqlite3IsTrueOrFalse(tls *libc.TLS, zIn uintptr) U32 { /* sqlite3.c:104546:20: */ if Xsqlite3StrICmp(tls, zIn, ts+6646) == 0 { return U32(EP_IsTrue) } @@ -84270,7 +84289,7 @@ func Xsqlite3IsTrueOrFalse(tls *libc.TLS, zIn uintptr) U32 { /* sqlite3.c:104533 // If the input expression is an ID with the name "true" or "false" // then convert it into an TK_TRUEFALSE term. Return non-zero if // the conversion happened, and zero if the expression is unaltered. -func Xsqlite3ExprIdToTrueFalse(tls *libc.TLS, pExpr uintptr) int32 { /* sqlite3.c:104545:20: */ +func Xsqlite3ExprIdToTrueFalse(tls *libc.TLS, pExpr uintptr) int32 { /* sqlite3.c:104558:20: */ var v U32 if !((*Expr)(unsafe.Pointer(pExpr)).Fflags&U32(EP_Quoted|EP_IntValue) != U32(0)) && @@ -84284,7 +84303,7 @@ func Xsqlite3ExprIdToTrueFalse(tls *libc.TLS, pExpr uintptr) int32 { /* sqlite3. // The argument must be a TK_TRUEFALSE Expr node. Return 1 if it is TRUE // and 0 if it is FALSE. -func Xsqlite3ExprTruthValue(tls *libc.TLS, pExpr uintptr) int32 { /* sqlite3.c:104562:20: */ +func Xsqlite3ExprTruthValue(tls *libc.TLS, pExpr uintptr) int32 { /* sqlite3.c:104575:20: */ pExpr = Xsqlite3ExprSkipCollate(tls, pExpr) return libc.Bool32(int32(*(*uint8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pExpr + 8)) + 4))) == 0) @@ -84301,7 +84320,7 @@ func Xsqlite3ExprTruthValue(tls *libc.TLS, pExpr uintptr) int32 { /* sqlite3.c:1 // (x<10) AND (y=22 OR false) => (x<10) AND (y=22) // (x<10) AND (y=22 OR true) => (x<10) // (y=22) OR true => true -func Xsqlite3ExprSimplifiedAndOr(tls *libc.TLS, pExpr uintptr) uintptr { /* sqlite3.c:104584:21: */ +func Xsqlite3ExprSimplifiedAndOr(tls *libc.TLS, pExpr uintptr) uintptr { /* sqlite3.c:104597:21: */ if int32((*Expr)(unsafe.Pointer(pExpr)).Fop) == TK_AND || int32((*Expr)(unsafe.Pointer(pExpr)).Fop) == TK_OR { var pRight uintptr = Xsqlite3ExprSimplifiedAndOr(tls, (*Expr)(unsafe.Pointer(pExpr)).FpRight) @@ -84347,7 +84366,7 @@ func Xsqlite3ExprSimplifiedAndOr(tls *libc.TLS, pExpr uintptr) uintptr { /* sqli // contain a bound parameter because they were generated by older versions // of SQLite to be parsed by newer versions of SQLite without raising a // malformed schema error. -func exprNodeIsConstant(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:104625:12: */ +func exprNodeIsConstant(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:104638:12: */ // If pWalker->eCode is 2 then any term of the expression that comes from // the ON or USING clauses of a left join disqualifies the expression @@ -84422,7 +84441,7 @@ func exprNodeIsConstant(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { / return int32(0) } -func exprIsConst(tls *libc.TLS, p uintptr, initFlag int32, iCur int32) int32 { /* sqlite3.c:104697:12: */ +func exprIsConst(tls *libc.TLS, p uintptr, initFlag int32, iCur int32) int32 { /* sqlite3.c:104710:12: */ bp := tls.Alloc(28) defer tls.Free(28) @@ -84446,7 +84465,7 @@ func exprIsConst(tls *libc.TLS, p uintptr, initFlag int32, iCur int32) int32 { / // For the purposes of this function, a double-quoted string (ex: "abc") // is considered a variable but a single-quoted string (ex: 'abc') is // a constant. -func Xsqlite3ExprIsConstant(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:104718:20: */ +func Xsqlite3ExprIsConstant(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:104731:20: */ return exprIsConst(tls, p, 1, 0) } @@ -84461,7 +84480,7 @@ func Xsqlite3ExprIsConstant(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:10471 // When this routine returns true, it indicates that the expression // can be added to the pParse->pConstExpr list and evaluated once when // the prepared statement starts up. See sqlite3ExprCodeRunJustOnce(). -func Xsqlite3ExprIsConstantNotJoin(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:104735:20: */ +func Xsqlite3ExprIsConstantNotJoin(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:104748:20: */ return exprIsConst(tls, p, 2, 0) } @@ -84469,12 +84488,12 @@ func Xsqlite3ExprIsConstantNotJoin(tls *libc.TLS, p uintptr) int32 { /* sqlite3. // for any single row of the table with cursor iCur. In other words, the // expression must not refer to any non-deterministic function nor any // table other than iCur. -func Xsqlite3ExprIsTableConstant(tls *libc.TLS, p uintptr, iCur int32) int32 { /* sqlite3.c:104745:20: */ +func Xsqlite3ExprIsTableConstant(tls *libc.TLS, p uintptr, iCur int32) int32 { /* sqlite3.c:104758:20: */ return exprIsConst(tls, p, 3, iCur) } // sqlite3WalkExpr() callback used by sqlite3ExprIsConstantOrGroupBy(). -func exprNodeIsConstantOrGroupBy(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:104753:12: */ +func exprNodeIsConstantOrGroupBy(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:104766:12: */ var pGroupBy uintptr = *(*uintptr)(unsafe.Pointer(pWalker + 24)) var i int32 @@ -84516,7 +84535,7 @@ func exprNodeIsConstantOrGroupBy(tls *libc.TLS, pWalker uintptr, pExpr uintptr) // alternative collating sequences are uncommon, and this is only an // optimization, so we take the easy way out and simply require the // GROUP BY to use the BINARY collating sequence. -func Xsqlite3ExprIsConstantOrGroupBy(tls *libc.TLS, pParse uintptr, p uintptr, pGroupBy uintptr) int32 { /* sqlite3.c:104797:20: */ +func Xsqlite3ExprIsConstantOrGroupBy(tls *libc.TLS, pParse uintptr, p uintptr, pGroupBy uintptr) int32 { /* sqlite3.c:104810:20: */ bp := tls.Alloc(28) defer tls.Free(28) @@ -84552,7 +84571,7 @@ func Xsqlite3ExprIsConstantOrGroupBy(tls *libc.TLS, pParse uintptr, p uintptr, p // For the purposes of this function, a double-quoted string (ex: "abc") // is considered a variable but a single-quoted string (ex: 'abc') is // a constant. -func Xsqlite3ExprIsConstantOrFunction(tls *libc.TLS, p uintptr, isInit U8) int32 { /* sqlite3.c:104829:20: */ +func Xsqlite3ExprIsConstantOrFunction(tls *libc.TLS, p uintptr, isInit U8) int32 { /* sqlite3.c:104842:20: */ return exprIsConst(tls, p, 4+int32(isInit), 0) } @@ -84561,7 +84580,7 @@ func Xsqlite3ExprIsConstantOrFunction(tls *libc.TLS, p uintptr, isInit U8) int32 // to fit in a 32-bit integer, return 1 and put the value of the integer // in *pValue. If the expression is not an integer or if it is too big // to fit in a signed 32-bit integer, return 0 and leave *pValue unchanged. -func Xsqlite3ExprIsInteger(tls *libc.TLS, p uintptr, pValue uintptr) int32 { /* sqlite3.c:104858:20: */ +func Xsqlite3ExprIsInteger(tls *libc.TLS, p uintptr, pValue uintptr) int32 { /* sqlite3.c:104871:20: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -84613,7 +84632,7 @@ func Xsqlite3ExprIsInteger(tls *libc.TLS, p uintptr, pValue uintptr) int32 { /* // hand, a false negative (returning FALSE when the result could be NULL) // will likely result in an incorrect answer. So when in doubt, return // TRUE. -func Xsqlite3ExprCanBeNull(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:104904:20: */ +func Xsqlite3ExprCanBeNull(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:104917:20: */ var op U8 for int32((*Expr)(unsafe.Pointer(p)).Fop) == TK_UPLUS || int32((*Expr)(unsafe.Pointer(p)).Fop) == TK_UMINUS { @@ -84652,7 +84671,7 @@ func Xsqlite3ExprCanBeNull(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:104904 // can be omitted. When in doubt return FALSE. A false negative // is harmless. A false positive, however, can result in the wrong // answer. -func Xsqlite3ExprNeedsNoAffinityChange(tls *libc.TLS, p uintptr, aff uint8) int32 { /* sqlite3.c:104941:20: */ +func Xsqlite3ExprNeedsNoAffinityChange(tls *libc.TLS, p uintptr, aff uint8) int32 { /* sqlite3.c:104954:20: */ var op U8 var unaryMinus int32 = 0 if int32(aff) == SQLITE_AFF_BLOB { @@ -84705,7 +84724,7 @@ func Xsqlite3ExprNeedsNoAffinityChange(tls *libc.TLS, p uintptr, aff uint8) int3 } // Return TRUE if the given string is a row-id column name. -func Xsqlite3IsRowid(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:104977:20: */ +func Xsqlite3IsRowid(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:104990:20: */ if Xsqlite3StrICmp(tls, z, ts+7592) == 0 { return 1 } @@ -84723,7 +84742,7 @@ func Xsqlite3IsRowid(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:104977:20: * // a pointer to the SELECT statement. If pX is not a SELECT statement, // or if the SELECT statement needs to be manifested into a transient // table, then return NULL. -func isCandidateForInOpt(tls *libc.TLS, pX uintptr) uintptr { /* sqlite3.c:104992:15: */ +func isCandidateForInOpt(tls *libc.TLS, pX uintptr) uintptr { /* sqlite3.c:105005:15: */ var p uintptr var pSrc uintptr var pEList uintptr @@ -84781,7 +84800,7 @@ func isCandidateForInOpt(tls *libc.TLS, pX uintptr) uintptr { /* sqlite3.c:10499 // it contains any NULL entries. Cause the register at regHasNull to be set // to a non-NULL value if iCur contains no NULLs. Cause register regHasNull // to be set to NULL if iCur contains one or more NULL values. -func sqlite3SetHasNullFlag(tls *libc.TLS, v uintptr, iCur int32, regHasNull int32) { /* sqlite3.c:105037:13: */ +func sqlite3SetHasNullFlag(tls *libc.TLS, v uintptr, iCur int32, regHasNull int32) { /* sqlite3.c:105050:13: */ var addr1 int32 Xsqlite3VdbeAddOp2(tls, v, OP_Integer, 0, regHasNull) addr1 = Xsqlite3VdbeAddOp1(tls, v, OP_Rewind, iCur) @@ -84793,7 +84812,7 @@ func sqlite3SetHasNullFlag(tls *libc.TLS, v uintptr, iCur int32, regHasNull int3 // The argument is an IN operator with a list (not a subquery) on the // right-hand side. Return TRUE if that list is constant. -func sqlite3InRhsIsConstant(tls *libc.TLS, pIn uintptr) int32 { /* sqlite3.c:105054:12: */ +func sqlite3InRhsIsConstant(tls *libc.TLS, pIn uintptr) int32 { /* sqlite3.c:105067:12: */ var pLHS uintptr var res int32 @@ -84882,7 +84901,7 @@ func sqlite3InRhsIsConstant(tls *libc.TLS, pIn uintptr) int32 { /* sqlite3.c:105 // CREATE INDEX i1 ON t1(b, c, a); // // then aiMap[] is populated with {2, 0, 1}. -func Xsqlite3FindInIndex(tls *libc.TLS, pParse uintptr, pX uintptr, inFlags U32, prRhsHasNull uintptr, aiMap uintptr, piTab uintptr) int32 { /* sqlite3.c:105147:20: */ +func Xsqlite3FindInIndex(tls *libc.TLS, pParse uintptr, pX uintptr, inFlags U32, prRhsHasNull uintptr, aiMap uintptr, piTab uintptr) int32 { /* sqlite3.c:105160:20: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -85100,7 +85119,7 @@ func Xsqlite3FindInIndex(tls *libc.TLS, pParse uintptr, pX uintptr, inFlags U32, // // It is the responsibility of the caller to ensure that the returned // string is eventually freed using sqlite3DbFree(). -func exprINAffinity(tls *libc.TLS, pParse uintptr, pExpr uintptr) uintptr { /* sqlite3.c:105370:13: */ +func exprINAffinity(tls *libc.TLS, pParse uintptr, pExpr uintptr) uintptr { /* sqlite3.c:105383:13: */ var pLeft uintptr = (*Expr)(unsafe.Pointer(pExpr)).FpLeft var nVal int32 = Xsqlite3ExprVectorSize(tls, pLeft) var pSelect uintptr @@ -85132,7 +85151,7 @@ func exprINAffinity(tls *libc.TLS, pParse uintptr, pExpr uintptr) uintptr { /* s // message of the form: // // "sub-select returns N columns - expected M" -func Xsqlite3SubselectError(tls *libc.TLS, pParse uintptr, nActual int32, nExpect int32) { /* sqlite3.c:105402:21: */ +func Xsqlite3SubselectError(tls *libc.TLS, pParse uintptr, nActual int32, nExpect int32) { /* sqlite3.c:105415:21: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -85151,7 +85170,7 @@ func Xsqlite3SubselectError(tls *libc.TLS, pParse uintptr, nActual int32, nExpec // Or, if it is a regular scalar vector: // // "row value misused" -func Xsqlite3VectorErrorMsg(tls *libc.TLS, pParse uintptr, pExpr uintptr) { /* sqlite3.c:105421:21: */ +func Xsqlite3VectorErrorMsg(tls *libc.TLS, pParse uintptr, pExpr uintptr) { /* sqlite3.c:105434:21: */ if (*Expr)(unsafe.Pointer(pExpr)).Fflags&U32(EP_xIsSelect) != U32(0) { Xsqlite3SubselectError(tls, pParse, (*ExprList)(unsafe.Pointer((*Select)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pExpr + 20)))).FpEList)).FnExpr, 1) } else { @@ -85179,7 +85198,7 @@ func Xsqlite3VectorErrorMsg(tls *libc.TLS, pParse uintptr, pExpr uintptr) { /* s // if either column has NUMERIC or INTEGER affinity. If neither // 'x' nor the SELECT... statement are columns, then numeric affinity // is used. -func Xsqlite3CodeRhsOfIN(tls *libc.TLS, pParse uintptr, pExpr uintptr, iTab int32) { /* sqlite3.c:105455:21: */ +func Xsqlite3CodeRhsOfIN(tls *libc.TLS, pParse uintptr, pExpr uintptr, iTab int32) { /* sqlite3.c:105468:21: */ bp := tls.Alloc(53) defer tls.Free(53) @@ -85374,7 +85393,7 @@ func Xsqlite3CodeRhsOfIN(tls *libc.TLS, pParse uintptr, pExpr uintptr, iTab int3 // the result is stored in a contiguous array of registers and the // return value is the register of the left-most result column. // Return 0 if an error occurs. -func Xsqlite3CodeSubselect(tls *libc.TLS, pParse uintptr, pExpr uintptr) int32 { /* sqlite3.c:105650:20: */ +func Xsqlite3CodeSubselect(tls *libc.TLS, pParse uintptr, pExpr uintptr) int32 { /* sqlite3.c:105663:20: */ bp := tls.Alloc(52) defer tls.Free(52) @@ -85497,7 +85516,7 @@ func Xsqlite3CodeSubselect(tls *libc.TLS, pParse uintptr, pExpr uintptr) int32 { // sub-select on the RHS of the IN() operator has the same number of // columns as the vector on the LHS. Or, if the RHS of the IN() is not // a sub-query, that the LHS is a vector of size 1. -func Xsqlite3ExprCheckIN(tls *libc.TLS, pParse uintptr, pIn uintptr) int32 { /* sqlite3.c:105772:20: */ +func Xsqlite3ExprCheckIN(tls *libc.TLS, pParse uintptr, pIn uintptr) int32 { /* sqlite3.c:105785:20: */ var nVector int32 = Xsqlite3ExprVectorSize(tls, (*Expr)(unsafe.Pointer(pIn)).FpLeft) if (*Expr)(unsafe.Pointer(pIn)).Fflags&U32(EP_xIsSelect) != U32(0) && !(int32((*Sqlite3)(unsafe.Pointer((*Parse)(unsafe.Pointer(pParse)).Fdb)).FmallocFailed) != 0) { if nVector != (*ExprList)(unsafe.Pointer((*Select)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pIn + 20)))).FpEList)).FnExpr { @@ -85534,7 +85553,7 @@ func Xsqlite3ExprCheckIN(tls *libc.TLS, pParse uintptr, pIn uintptr) int32 { /* // // See the separate in-operator.md documentation file in the canonical // SQLite source tree for additional information. -func sqlite3ExprCodeIN(tls *libc.TLS, pParse uintptr, pExpr uintptr, destIfFalse int32, destIfNull int32) { /* sqlite3.c:105813:13: */ +func sqlite3ExprCodeIN(tls *libc.TLS, pParse uintptr, pExpr uintptr, destIfFalse int32, destIfNull int32) { /* sqlite3.c:105826:13: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -85915,7 +85934,7 @@ sqlite3ExprCodeIN_oom_error: // The z[] string will probably not be zero-terminated. But the // z[n] character is guaranteed to be something that does not look // like the continuation of the number. -func codeReal(tls *libc.TLS, v uintptr, z uintptr, negateFlag int32, iMem int32) { /* sqlite3.c:106071:13: */ +func codeReal(tls *libc.TLS, v uintptr, z uintptr, negateFlag int32, iMem int32) { /* sqlite3.c:106084:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -85935,7 +85954,7 @@ func codeReal(tls *libc.TLS, v uintptr, z uintptr, negateFlag int32, iMem int32) // text z[0..n-1] into register iMem. // // Expr.u.zToken is always UTF8 and zero-terminated. -func codeInteger(tls *libc.TLS, pParse uintptr, pExpr uintptr, negFlag int32, iMem int32) { /* sqlite3.c:106089:13: */ +func codeInteger(tls *libc.TLS, pParse uintptr, pExpr uintptr, negFlag int32, iMem int32) { /* sqlite3.c:106102:13: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -85981,7 +86000,7 @@ func codeInteger(tls *libc.TLS, pParse uintptr, pExpr uintptr, negFlag int32, iM // Generate code that will load into register regOut a value that is // appropriate for the iIdxCol-th column of index pIdx. -func Xsqlite3ExprCodeLoadIndexColumn(tls *libc.TLS, pParse uintptr, pIdx uintptr, iTabCur int32, iIdxCol int32, regOut int32) { /* sqlite3.c:106127:21: */ +func Xsqlite3ExprCodeLoadIndexColumn(tls *libc.TLS, pParse uintptr, pIdx uintptr, iTabCur int32, iIdxCol int32, regOut int32) { /* sqlite3.c:106140:21: */ var iTabCol I16 = *(*I16)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FaiColumn + uintptr(iIdxCol)*2)) if int32(iTabCol) == -2 { @@ -85996,7 +86015,7 @@ func Xsqlite3ExprCodeLoadIndexColumn(tls *libc.TLS, pParse uintptr, pIdx uintptr // Generate code that will compute the value of generated column pCol // and store the result in register regOut -func Xsqlite3ExprCodeGeneratedColumn(tls *libc.TLS, pParse uintptr, pTab uintptr, pCol uintptr, regOut int32) { /* sqlite3.c:106152:21: */ +func Xsqlite3ExprCodeGeneratedColumn(tls *libc.TLS, pParse uintptr, pTab uintptr, pCol uintptr, regOut int32) { /* sqlite3.c:106165:21: */ var iAddr int32 var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe @@ -86015,7 +86034,7 @@ func Xsqlite3ExprCodeGeneratedColumn(tls *libc.TLS, pParse uintptr, pTab uintptr } // Generate code to extract the value of the iCol-th column of a table. -func Xsqlite3ExprCodeGetColumnOfTable(tls *libc.TLS, v uintptr, pTab uintptr, iTabCur int32, iCol int32, regOut int32) { /* sqlite3.c:106178:21: */ +func Xsqlite3ExprCodeGetColumnOfTable(tls *libc.TLS, v uintptr, pTab uintptr, iTabCur int32, iCol int32, regOut int32) { /* sqlite3.c:106191:21: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -86066,7 +86085,7 @@ func Xsqlite3ExprCodeGetColumnOfTable(tls *libc.TLS, v uintptr, pTab uintptr, iT // // There must be an open cursor to pTab in iTable when this routine // is called. If iColumn<0 then code is generated that extracts the rowid. -func Xsqlite3ExprCodeGetColumn(tls *libc.TLS, pParse uintptr, pTab uintptr, iColumn int32, iTable int32, iReg int32, p5 U8) int32 { /* sqlite3.c:106236:20: */ +func Xsqlite3ExprCodeGetColumn(tls *libc.TLS, pParse uintptr, pTab uintptr, iColumn int32, iTable int32, iReg int32, p5 U8) int32 { /* sqlite3.c:106249:20: */ Xsqlite3ExprCodeGetColumnOfTable(tls, (*Parse)(unsafe.Pointer(pParse)).FpVdbe, pTab, iTable, iColumn, iReg) if p5 != 0 { @@ -86080,14 +86099,14 @@ func Xsqlite3ExprCodeGetColumn(tls *libc.TLS, pParse uintptr, pTab uintptr, iCol // Generate code to move content from registers iFrom...iFrom+nReg-1 // over to iTo..iTo+nReg-1. -func Xsqlite3ExprCodeMove(tls *libc.TLS, pParse uintptr, iFrom int32, iTo int32, nReg int32) { /* sqlite3.c:106257:21: */ +func Xsqlite3ExprCodeMove(tls *libc.TLS, pParse uintptr, iFrom int32, iTo int32, nReg int32) { /* sqlite3.c:106270:21: */ Xsqlite3VdbeAddOp3(tls, (*Parse)(unsafe.Pointer(pParse)).FpVdbe, OP_Move, iFrom, iTo, nReg) } // Convert a scalar expression node to a TK_REGISTER referencing // register iReg. The caller must ensure that iReg already contains // the correct value for the expression. -func exprToRegister(tls *libc.TLS, pExpr uintptr, iReg int32) { /* sqlite3.c:106266:13: */ +func exprToRegister(tls *libc.TLS, pExpr uintptr, iReg int32) { /* sqlite3.c:106279:13: */ var p uintptr = Xsqlite3ExprSkipCollateAndLikely(tls, pExpr) if p == uintptr(0) { return @@ -86106,7 +86125,7 @@ func exprToRegister(tls *libc.TLS, pExpr uintptr, iReg int32) { /* sqlite3.c:106 // that register number into *piFreeable. If the returned result register // is not a temporary or if the expression is a vector set *piFreeable // to 0. -func exprCodeVector(tls *libc.TLS, pParse uintptr, p uintptr, piFreeable uintptr) int32 { /* sqlite3.c:106285:12: */ +func exprCodeVector(tls *libc.TLS, pParse uintptr, p uintptr, piFreeable uintptr) int32 { /* sqlite3.c:106298:12: */ var iResult int32 var nResult int32 = Xsqlite3ExprVectorSize(tls, p) if nResult == 1 { @@ -86130,7 +86149,7 @@ func exprCodeVector(tls *libc.TLS, pParse uintptr, p uintptr, piFreeable uintptr // If the last opcode is a OP_Copy, then set the do-not-merge flag (p5) // so that a subsequent copy will not be merged into this one. -func setDoNotMergeFlagOnCopy(tls *libc.TLS, v uintptr) { /* sqlite3.c:106315:13: */ +func setDoNotMergeFlagOnCopy(tls *libc.TLS, v uintptr) { /* sqlite3.c:106328:13: */ if int32((*VdbeOp)(unsafe.Pointer(Xsqlite3VdbeGetOp(tls, v, -1))).Fopcode) == OP_Copy { Xsqlite3VdbeChangeP5(tls, v, uint16(1)) // Tag trailing OP_Copy as not mergable } @@ -86138,7 +86157,7 @@ func setDoNotMergeFlagOnCopy(tls *libc.TLS, v uintptr) { /* sqlite3.c:106315:13: // Generate code to implement special SQL functions that are implemented // in-line rather than by using the usual callbacks. -func exprCodeInlineFunction(tls *libc.TLS, pParse uintptr, pFarg uintptr, iFuncId int32, target int32) int32 { /* sqlite3.c:106325:12: */ +func exprCodeInlineFunction(tls *libc.TLS, pParse uintptr, pFarg uintptr, iFuncId int32, target int32) int32 { /* sqlite3.c:106338:12: */ bp := tls.Alloc(72) defer tls.Free(72) @@ -86263,7 +86282,7 @@ func exprCodeInlineFunction(tls *libc.TLS, pParse uintptr, pFarg uintptr, iFuncI // register if it is convenient to do so. The calling function // must check the return code and move the results to the desired // register. -func Xsqlite3ExprCodeTarget(tls *libc.TLS, pParse uintptr, pExpr uintptr, target int32) int32 { /* sqlite3.c:106441:20: */ +func Xsqlite3ExprCodeTarget(tls *libc.TLS, pParse uintptr, pExpr uintptr, target int32) int32 { /* sqlite3.c:106454:20: */ bp := tls.Alloc(152) defer tls.Free(152) @@ -87332,7 +87351,7 @@ __3: return inReg } -var zAff = *(*[8]uint8)(unsafe.Pointer(ts + 8011)) /* sqlite3.c:106508:29 */ +var zAff = *(*[8]uint8)(unsafe.Pointer(ts + 8011)) /* sqlite3.c:106521:29 */ // Generate code that will evaluate expression pExpr just one time // per prepared statement execution. @@ -87349,7 +87368,7 @@ var zAff = *(*[8]uint8)(unsafe.Pointer(ts + 8011)) /* sqlite3.c:106508:29 */ // code to the same register, if they do not contain function calls and hence // are factored out into the initialization section at the end of the // prepared statement. -func Xsqlite3ExprCodeRunJustOnce(tls *libc.TLS, pParse uintptr, pExpr uintptr, regDest int32) int32 { /* sqlite3.c:107215:20: */ +func Xsqlite3ExprCodeRunJustOnce(tls *libc.TLS, pParse uintptr, pExpr uintptr, regDest int32) int32 { /* sqlite3.c:107228:20: */ var p uintptr p = (*Parse)(unsafe.Pointer(pParse)).FpConstExpr @@ -87418,7 +87437,7 @@ func Xsqlite3ExprCodeRunJustOnce(tls *libc.TLS, pParse uintptr, pExpr uintptr, r // If pExpr is a constant, then this routine might generate this // code to fill the register in the initialization section of the // VDBE program, in order to factor it out of the evaluation loop. -func Xsqlite3ExprCodeTemp(tls *libc.TLS, pParse uintptr, pExpr uintptr, pReg uintptr) int32 { /* sqlite3.c:107272:20: */ +func Xsqlite3ExprCodeTemp(tls *libc.TLS, pParse uintptr, pExpr uintptr, pReg uintptr) int32 { /* sqlite3.c:107285:20: */ var r2 int32 pExpr = Xsqlite3ExprSkipCollateAndLikely(tls, pExpr) if (*Parse)(unsafe.Pointer(pParse)).FokConstFactor != 0 && @@ -87443,7 +87462,7 @@ func Xsqlite3ExprCodeTemp(tls *libc.TLS, pParse uintptr, pExpr uintptr, pReg uin // Generate code that will evaluate expression pExpr and store the // results in register target. The results are guaranteed to appear // in register target. -func Xsqlite3ExprCode(tls *libc.TLS, pParse uintptr, pExpr uintptr, target int32) { /* sqlite3.c:107300:21: */ +func Xsqlite3ExprCode(tls *libc.TLS, pParse uintptr, pExpr uintptr, target int32) { /* sqlite3.c:107313:21: */ var inReg int32 if (*Parse)(unsafe.Pointer(pParse)).FpVdbe == uintptr(0) { @@ -87464,7 +87483,7 @@ func Xsqlite3ExprCode(tls *libc.TLS, pParse uintptr, pExpr uintptr, target int32 // Make a transient copy of expression pExpr and then code it using // sqlite3ExprCode(). This routine works just like sqlite3ExprCode() // except that the input expression is guaranteed to be unchanged. -func Xsqlite3ExprCodeCopy(tls *libc.TLS, pParse uintptr, pExpr uintptr, target int32) { /* sqlite3.c:107324:21: */ +func Xsqlite3ExprCodeCopy(tls *libc.TLS, pParse uintptr, pExpr uintptr, target int32) { /* sqlite3.c:107337:21: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb pExpr = Xsqlite3ExprDup(tls, db, pExpr, 0) if !(int32((*Sqlite3)(unsafe.Pointer(db)).FmallocFailed) != 0) { @@ -87477,7 +87496,7 @@ func Xsqlite3ExprCodeCopy(tls *libc.TLS, pParse uintptr, pExpr uintptr, target i // results in register target. The results are guaranteed to appear // in register target. If the expression is constant, then this routine // might choose to code the expression at initialization time. -func Xsqlite3ExprCodeFactorable(tls *libc.TLS, pParse uintptr, pExpr uintptr, target int32) { /* sqlite3.c:107337:21: */ +func Xsqlite3ExprCodeFactorable(tls *libc.TLS, pParse uintptr, pExpr uintptr, target int32) { /* sqlite3.c:107350:21: */ if (*Parse)(unsafe.Pointer(pParse)).FokConstFactor != 0 && Xsqlite3ExprIsConstantNotJoin(tls, pExpr) != 0 { Xsqlite3ExprCodeRunJustOnce(tls, pParse, pExpr, target) } else { @@ -87503,7 +87522,7 @@ func Xsqlite3ExprCodeFactorable(tls *libc.TLS, pParse uintptr, pExpr uintptr, ta // in registers at srcReg, and so the value can be copied from there. // If SQLITE_ECEL_OMITREF is also set, then the values with u.x.iOrderByCol>0 // are simply omitted rather than being copied from srcReg. -func Xsqlite3ExprCodeExprList(tls *libc.TLS, pParse uintptr, pList uintptr, target int32, srcReg int32, flags U8) int32 { /* sqlite3.c:107365:20: */ +func Xsqlite3ExprCodeExprList(tls *libc.TLS, pParse uintptr, pList uintptr, target int32, srcReg int32, flags U8) int32 { /* sqlite3.c:107378:20: */ var pItem uintptr var i int32 var j int32 @@ -87585,7 +87604,7 @@ __3: // sqlite3ExprIfFalse: Jump to dest if false // // The jumpIfNull parameter is ignored if xJumpIf is NULL. -func exprCodeBetween(tls *libc.TLS, pParse uintptr, pExpr uintptr, dest int32, xJump uintptr, jumpIfNull int32) { /* sqlite3.c:107440:13: */ +func exprCodeBetween(tls *libc.TLS, pParse uintptr, pExpr uintptr, dest int32, xJump uintptr, jumpIfNull int32) { /* sqlite3.c:107453:13: */ bp := tls.Alloc(160) defer tls.Free(160) @@ -87648,7 +87667,7 @@ func exprCodeBetween(tls *libc.TLS, pParse uintptr, pExpr uintptr, dest int32, x // operation. Special comments in vdbe.c and the mkopcodeh.awk script in // the make process cause these values to align. Assert()s in the code // below verify that the numbers are aligned correctly. -func Xsqlite3ExprIfTrue(tls *libc.TLS, pParse uintptr, pExpr uintptr, dest int32, jumpIfNull int32) { /* sqlite3.c:107512:21: */ +func Xsqlite3ExprIfTrue(tls *libc.TLS, pParse uintptr, pExpr uintptr, dest int32, jumpIfNull int32) { /* sqlite3.c:107525:21: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -87878,7 +87897,7 @@ __3: // If the expression evaluates to NULL (neither true nor false) then // jump if jumpIfNull is SQLITE_JUMPIFNULL or fall through if jumpIfNull // is 0. -func Xsqlite3ExprIfFalse(tls *libc.TLS, pParse uintptr, pExpr uintptr, dest int32, jumpIfNull int32) { /* sqlite3.c:107654:21: */ +func Xsqlite3ExprIfFalse(tls *libc.TLS, pParse uintptr, pExpr uintptr, dest int32, jumpIfNull int32) { /* sqlite3.c:107667:21: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -88126,7 +88145,7 @@ __3: // Like sqlite3ExprIfFalse() except that a copy is made of pExpr before // code generation, and that copy is deleted after code generation. This // ensures that the original pExpr is unchanged. -func Xsqlite3ExprIfFalseDup(tls *libc.TLS, pParse uintptr, pExpr uintptr, dest int32, jumpIfNull int32) { /* sqlite3.c:107826:21: */ +func Xsqlite3ExprIfFalseDup(tls *libc.TLS, pParse uintptr, pExpr uintptr, dest int32, jumpIfNull int32) { /* sqlite3.c:107839:21: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb var pCopy uintptr = Xsqlite3ExprDup(tls, db, pExpr, 0) if int32((*Sqlite3)(unsafe.Pointer(db)).FmallocFailed) == 0 { @@ -88146,7 +88165,7 @@ func Xsqlite3ExprIfFalseDup(tls *libc.TLS, pParse uintptr, pExpr uintptr, dest i // same as that currently bound to variable pVar, non-zero is returned. // Otherwise, if the values are not the same or if pExpr is not a simple // SQL value, zero is returned. -func exprCompareVariable(tls *libc.TLS, pParse uintptr, pVar uintptr, pExpr uintptr) int32 { /* sqlite3.c:107848:12: */ +func exprCompareVariable(tls *libc.TLS, pParse uintptr, pVar uintptr, pExpr uintptr) int32 { /* sqlite3.c:107861:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -88200,7 +88219,7 @@ func exprCompareVariable(tls *libc.TLS, pParse uintptr, pVar uintptr, pExpr uint // If pParse is NULL (the normal case) then any TK_VARIABLE term in // Argument pParse should normally be NULL. If it is not NULL and pA or // pB causes a return value of 2. -func Xsqlite3ExprCompare(tls *libc.TLS, pParse uintptr, pA uintptr, pB uintptr, iTab int32) int32 { /* sqlite3.c:107904:20: */ +func Xsqlite3ExprCompare(tls *libc.TLS, pParse uintptr, pA uintptr, pB uintptr, iTab int32) int32 { /* sqlite3.c:107917:20: */ var combinedFlags U32 if pA == uintptr(0) || pB == uintptr(0) { if pB == pA { @@ -88304,7 +88323,7 @@ func Xsqlite3ExprCompare(tls *libc.TLS, pParse uintptr, pA uintptr, pB uintptr, // // Two NULL pointers are considered to be the same. But a NULL pointer // always differs from a non-NULL pointer. -func Xsqlite3ExprListCompare(tls *libc.TLS, pA uintptr, pB uintptr, iTab int32) int32 { /* sqlite3.c:108000:20: */ +func Xsqlite3ExprListCompare(tls *libc.TLS, pA uintptr, pB uintptr, iTab int32) int32 { /* sqlite3.c:108013:20: */ var i int32 if pA == uintptr(0) && pB == uintptr(0) { return 0 @@ -88331,7 +88350,7 @@ func Xsqlite3ExprListCompare(tls *libc.TLS, pA uintptr, pB uintptr, iTab int32) // Like sqlite3ExprCompare() except COLLATE operators at the top-level // are ignored. -func Xsqlite3ExprCompareSkip(tls *libc.TLS, pA uintptr, pB uintptr, iTab int32) int32 { /* sqlite3.c:108019:20: */ +func Xsqlite3ExprCompareSkip(tls *libc.TLS, pA uintptr, pB uintptr, iTab int32) int32 { /* sqlite3.c:108032:20: */ return Xsqlite3ExprCompare(tls, uintptr(0), Xsqlite3ExprSkipCollateAndLikely(tls, pA), Xsqlite3ExprSkipCollateAndLikely(tls, pB), @@ -88342,7 +88361,7 @@ func Xsqlite3ExprCompareSkip(tls *libc.TLS, pA uintptr, pB uintptr, iTab int32) // // Or if seenNot is true, return non-zero if Expr p can only be // non-NULL if pNN is not NULL -func exprImpliesNotNull(tls *libc.TLS, pParse uintptr, p uintptr, pNN uintptr, iTab int32, seenNot int32) int32 { /* sqlite3.c:108032:12: */ +func exprImpliesNotNull(tls *libc.TLS, pParse uintptr, p uintptr, pNN uintptr, iTab int32, seenNot int32) int32 { /* sqlite3.c:108045:12: */ if Xsqlite3ExprCompare(tls, pParse, p, pNN, iTab) == 0 { return libc.Bool32(int32((*Expr)(unsafe.Pointer(pNN)).Fop) != TK_NULL) @@ -88468,7 +88487,7 @@ func exprImpliesNotNull(tls *libc.TLS, pParse uintptr, p uintptr, pNN uintptr, i // When in doubt, return false. Returning true might give a performance // improvement. Returning false might cause a performance reduction, but // it will always give the correct answer and is hence always safe. -func Xsqlite3ExprImpliesExpr(tls *libc.TLS, pParse uintptr, pE1 uintptr, pE2 uintptr, iTab int32) int32 { /* sqlite3.c:108129:20: */ +func Xsqlite3ExprImpliesExpr(tls *libc.TLS, pParse uintptr, pE1 uintptr, pE2 uintptr, iTab int32) int32 { /* sqlite3.c:108142:20: */ if Xsqlite3ExprCompare(tls, pParse, pE1, pE2, iTab) == 0 { return 1 } @@ -88491,7 +88510,7 @@ func Xsqlite3ExprImpliesExpr(tls *libc.TLS, pParse uintptr, pE1 uintptr, pE2 uin // This routine controls an optimization. False positives (setting // pWalker->eCode to 1 when it should not be) are deadly, but false-negatives // (never setting pWalker->eCode) is a harmless missed optimization. -func impliesNotNullRow(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:108161:12: */ +func impliesNotNullRow(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:108174:12: */ if (*Expr)(unsafe.Pointer(pExpr)).Fflags&U32(EP_FromJoin) != U32(0) { return WRC_Prune @@ -88600,7 +88619,7 @@ func impliesNotNullRow(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* // clause requires that some column of the right table of the LEFT JOIN // be non-NULL, then the LEFT JOIN can be safely converted into an // ordinary join. -func Xsqlite3ExprImpliesNonNullRow(tls *libc.TLS, p uintptr, iTab int32) int32 { /* sqlite3.c:108270:20: */ +func Xsqlite3ExprImpliesNonNullRow(tls *libc.TLS, p uintptr, iTab int32) int32 { /* sqlite3.c:108283:20: */ bp := tls.Alloc(28) defer tls.Free(28) @@ -88634,7 +88653,7 @@ func Xsqlite3ExprImpliesNonNullRow(tls *libc.TLS, p uintptr, iTab int32) int32 { // Check to see if there are references to columns in table // pWalker->u.pIdxCover->iCur can be satisfied using the index // pWalker->u.pIdxCover->pIdx. -func exprIdxCover(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:108308:12: */ +func exprIdxCover(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:108321:12: */ if int32((*Expr)(unsafe.Pointer(pExpr)).Fop) == TK_COLUMN && (*Expr)(unsafe.Pointer(pExpr)).FiTable == (*IdxCover)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pWalker + 24)))).FiCur && int32(Xsqlite3TableColumnToIndex(tls, (*IdxCover)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pWalker + 24)))).FpIdx, (*Expr)(unsafe.Pointer(pExpr)).FiColumn)) < 0 { @@ -88652,7 +88671,7 @@ func exprIdxCover(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqli // An index covering an expression means that the expression can be // evaluated using only the index and without having to lookup the // corresponding table entry. -func Xsqlite3ExprCoveredByIndex(tls *libc.TLS, pExpr uintptr, iCur int32, pIdx uintptr) int32 { /* sqlite3.c:108329:20: */ +func Xsqlite3ExprCoveredByIndex(tls *libc.TLS, pExpr uintptr, iCur int32, pIdx uintptr) int32 { /* sqlite3.c:108342:20: */ bp := tls.Alloc(36) defer tls.Free(36) @@ -88677,7 +88696,7 @@ func Xsqlite3ExprCoveredByIndex(tls *libc.TLS, pExpr uintptr, iCur int32, pIdx u // entries for that subquery to the exclude list. // // When leaving the subquery, remove those entries from the exclude list. -func selectRefEnter(tls *libc.TLS, pWalker uintptr, pSelect uintptr) int32 { /* sqlite3.c:108364:12: */ +func selectRefEnter(tls *libc.TLS, pWalker uintptr, pSelect uintptr) int32 { /* sqlite3.c:108377:12: */ var p uintptr = *(*uintptr)(unsafe.Pointer(pWalker + 24)) var pSrc uintptr = (*Select)(unsafe.Pointer(pSelect)).FpSrc var i I64 @@ -88715,7 +88734,7 @@ __3: return WRC_Continue } -func selectRefLeave(tls *libc.TLS, pWalker uintptr, pSelect uintptr) { /* sqlite3.c:108384:13: */ +func selectRefLeave(tls *libc.TLS, pWalker uintptr, pSelect uintptr) { /* sqlite3.c:108397:13: */ var p uintptr = *(*uintptr)(unsafe.Pointer(pWalker + 24)) var pSrc uintptr = (*Select)(unsafe.Pointer(pSelect)).FpSrc if (*RefSrcList)(unsafe.Pointer(p)).FnExclude != 0 { @@ -88731,7 +88750,7 @@ func selectRefLeave(tls *libc.TLS, pWalker uintptr, pSelect uintptr) { /* sqlite // // Set the 0x02 bit of pWalker->eCode if there is a reference to a // table is in neither RefSrcList.pRef nor RefSrcList.aiExclude. -func exprRefToSrcList(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:108401:12: */ +func exprRefToSrcList(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:108414:12: */ if int32((*Expr)(unsafe.Pointer(pExpr)).Fop) == TK_COLUMN || int32((*Expr)(unsafe.Pointer(pExpr)).Fop) == TK_AGG_COLUMN { var i int32 @@ -88771,7 +88790,7 @@ func exprRefToSrcList(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* // // As currently used, pExpr is always an aggregate function call. That // fact is exploited for efficiency. -func Xsqlite3ReferencesSrcList(tls *libc.TLS, pParse uintptr, pExpr uintptr, pSrcList uintptr) int32 { /* sqlite3.c:108438:20: */ +func Xsqlite3ReferencesSrcList(tls *libc.TLS, pParse uintptr, pExpr uintptr, pSrcList uintptr) int32 { /* sqlite3.c:108451:20: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -88820,7 +88839,7 @@ func Xsqlite3ReferencesSrcList(tls *libc.TLS, pParse uintptr, pExpr uintptr, pSr // This will cause the expression to be deleted automatically when the // Parse object is destroyed, but the zero register number means that it // will not generate any code in the preamble. -func agginfoPersistExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:108480:12: */ +func agginfoPersistExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:108493:12: */ if !((*Expr)(unsafe.Pointer(pExpr)).Fflags&U32(EP_TokenOnly|EP_Reduced) != U32(0)) && (*Expr)(unsafe.Pointer(pExpr)).FpAggInfo != uintptr(0) { var pAggInfo uintptr = (*Expr)(unsafe.Pointer(pExpr)).FpAggInfo @@ -88853,7 +88872,7 @@ func agginfoPersistExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { // Initialize a Walker object so that will persist AggInfo entries referenced // by the tree that is walked. -func Xsqlite3AggInfoPersistWalkerInit(tls *libc.TLS, pWalker uintptr, pParse uintptr) { /* sqlite3.c:108516:21: */ +func Xsqlite3AggInfoPersistWalkerInit(tls *libc.TLS, pWalker uintptr, pParse uintptr) { /* sqlite3.c:108529:21: */ libc.Xmemset(tls, pWalker, 0, uint32(unsafe.Sizeof(Walker{}))) (*Walker)(unsafe.Pointer(pWalker)).FpParse = pParse (*Walker)(unsafe.Pointer(pWalker)).FxExprCallback = *(*uintptr)(unsafe.Pointer(&struct { @@ -88866,7 +88885,7 @@ func Xsqlite3AggInfoPersistWalkerInit(tls *libc.TLS, pWalker uintptr, pParse uin // Add a new element to the pAggInfo->aCol[] array. Return the index of // the new element. Return a negative number if malloc fails. -func addAggInfoColumn(tls *libc.TLS, db uintptr, pInfo uintptr) int32 { /* sqlite3.c:108527:12: */ +func addAggInfoColumn(tls *libc.TLS, db uintptr, pInfo uintptr) int32 { /* sqlite3.c:108540:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -88883,7 +88902,7 @@ func addAggInfoColumn(tls *libc.TLS, db uintptr, pInfo uintptr) int32 { /* sqlit // Add a new element to the pAggInfo->aFunc[] array. Return the index of // the new element. Return a negative number if malloc fails. -func addAggInfoFunc(tls *libc.TLS, db uintptr, pInfo uintptr) int32 { /* sqlite3.c:108543:12: */ +func addAggInfoFunc(tls *libc.TLS, db uintptr, pInfo uintptr) int32 { /* sqlite3.c:108556:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -88901,7 +88920,7 @@ func addAggInfoFunc(tls *libc.TLS, db uintptr, pInfo uintptr) int32 { /* sqlite3 // This is the xExprCallback for a tree walker. It is used to // implement sqlite3ExprAnalyzeAggregates(). See sqlite3ExprAnalyzeAggregates // for additional information. -func analyzeAggregate(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:108560:12: */ +func analyzeAggregate(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:108573:12: */ var i int32 var pNC uintptr = *(*uintptr)(unsafe.Pointer(pWalker + 24)) var pParse uintptr = (*NameContext)(unsafe.Pointer(pNC)).FpParse @@ -89092,7 +89111,7 @@ func analyzeAggregate(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* // // This routine should only be called after the expression has been // analyzed by sqlite3ResolveExprNames(). -func Xsqlite3ExprAnalyzeAggregates(tls *libc.TLS, pNC uintptr, pExpr uintptr) { /* sqlite3.c:108698:21: */ +func Xsqlite3ExprAnalyzeAggregates(tls *libc.TLS, pNC uintptr, pExpr uintptr) { /* sqlite3.c:108711:21: */ bp := tls.Alloc(28) defer tls.Free(28) @@ -89118,7 +89137,7 @@ func Xsqlite3ExprAnalyzeAggregates(tls *libc.TLS, pNC uintptr, pExpr uintptr) { // expression list. Return the number of errors. // // If an error is found, the analysis is cut short. -func Xsqlite3ExprAnalyzeAggList(tls *libc.TLS, pNC uintptr, pList uintptr) { /* sqlite3.c:108716:21: */ +func Xsqlite3ExprAnalyzeAggList(tls *libc.TLS, pNC uintptr, pList uintptr) { /* sqlite3.c:108729:21: */ var pItem uintptr var i int32 if pList != 0 { @@ -89143,7 +89162,7 @@ func Xsqlite3ExprAnalyzeAggList(tls *libc.TLS, pNC uintptr, pList uintptr) { /* } // Allocate a single new register for use to hold some intermediate result. -func Xsqlite3GetTempReg(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:108729:20: */ +func Xsqlite3GetTempReg(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:108742:20: */ if int32((*Parse)(unsafe.Pointer(pParse)).FnTempReg) == 0 { return libc.PreIncInt32(&(*Parse)(unsafe.Pointer(pParse)).FnMem, 1) } @@ -89152,7 +89171,7 @@ func Xsqlite3GetTempReg(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:1087 // Deallocate a register, making available for reuse for some other // purpose. -func Xsqlite3ReleaseTempReg(tls *libc.TLS, pParse uintptr, iReg int32) { /* sqlite3.c:108740:21: */ +func Xsqlite3ReleaseTempReg(tls *libc.TLS, pParse uintptr, iReg int32) { /* sqlite3.c:108753:21: */ if iReg != 0 { if int32((*Parse)(unsafe.Pointer(pParse)).FnTempReg) < int32(uint32(unsafe.Sizeof([8]int32{}))/uint32(unsafe.Sizeof(int32(0)))) { @@ -89162,7 +89181,7 @@ func Xsqlite3ReleaseTempReg(tls *libc.TLS, pParse uintptr, iReg int32) { /* sqli } // Allocate or deallocate a block of nReg consecutive registers. -func Xsqlite3GetTempRange(tls *libc.TLS, pParse uintptr, nReg int32) int32 { /* sqlite3.c:108752:20: */ +func Xsqlite3GetTempRange(tls *libc.TLS, pParse uintptr, nReg int32) int32 { /* sqlite3.c:108765:20: */ var i int32 var n int32 if nReg == 1 { @@ -89180,7 +89199,7 @@ func Xsqlite3GetTempRange(tls *libc.TLS, pParse uintptr, nReg int32) int32 { /* return i } -func Xsqlite3ReleaseTempRange(tls *libc.TLS, pParse uintptr, iReg int32, nReg int32) { /* sqlite3.c:108766:21: */ +func Xsqlite3ReleaseTempRange(tls *libc.TLS, pParse uintptr, iReg int32, nReg int32) { /* sqlite3.c:108779:21: */ if nReg == 1 { Xsqlite3ReleaseTempReg(tls, pParse, iReg) return @@ -89198,7 +89217,7 @@ func Xsqlite3ReleaseTempRange(tls *libc.TLS, pParse uintptr, iReg int32, nReg in // that might be invoked from other parts of the code, to ensure that // the sub/co-routine does not use registers in common with the code that // invokes the sub/co-routine. -func Xsqlite3ClearTempRegCache(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:108786:21: */ +func Xsqlite3ClearTempRegCache(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:108799:21: */ (*Parse)(unsafe.Pointer(pParse)).FnTempReg = U8(0) (*Parse)(unsafe.Pointer(pParse)).FnRangeReg = 0 } @@ -89232,7 +89251,7 @@ func Xsqlite3ClearTempRegCache(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:108 // in pParse->zErr (system tables may not be altered) and returns non-zero. // // Or, if zName is not a system table, zero is returned. -func isAlterableTable(tls *libc.TLS, pParse uintptr, pTab uintptr) int32 { /* sqlite3.c:108846:12: */ +func isAlterableTable(tls *libc.TLS, pParse uintptr, pTab uintptr) int32 { /* sqlite3.c:108859:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -89251,7 +89270,7 @@ func isAlterableTable(tls *libc.TLS, pParse uintptr, pTab uintptr) int32 { /* sq // called at the end of the generation of an ALTER TABLE ... RENAME ... // statement to ensure that the operation has not rendered any schema // objects unusable. -func renameTestSchema(tls *libc.TLS, pParse uintptr, zDb uintptr, bTemp int32, zWhen uintptr, bNoDQS int32) { /* sqlite3.c:108868:13: */ +func renameTestSchema(tls *libc.TLS, pParse uintptr, zDb uintptr, bTemp int32, zWhen uintptr, bNoDQS int32) { /* sqlite3.c:108881:13: */ bp := tls.Alloc(64) defer tls.Free(64) @@ -89275,7 +89294,7 @@ func renameTestSchema(tls *libc.TLS, pParse uintptr, zDb uintptr, bTemp int32, z // database zDb with their single-quoted equivalents. If argument bTemp is // not true, similarly update all SQL statements in the sqlite_schema table // of the temp db. -func renameFixQuotes(tls *libc.TLS, pParse uintptr, zDb uintptr, bTemp int32) { /* sqlite3.c:108905:13: */ +func renameFixQuotes(tls *libc.TLS, pParse uintptr, zDb uintptr, bTemp int32) { /* sqlite3.c:108918:13: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -89291,7 +89310,7 @@ func renameFixQuotes(tls *libc.TLS, pParse uintptr, zDb uintptr, bTemp int32) { // Generate code to reload the schema for database iDb. And, if iDb!=1, for // the temp database as well. -func renameReloadSchema(tls *libc.TLS, pParse uintptr, iDb int32, p5 U16) { /* sqlite3.c:108926:13: */ +func renameReloadSchema(tls *libc.TLS, pParse uintptr, iDb int32, p5 U16) { /* sqlite3.c:108939:13: */ var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe if v != 0 { Xsqlite3ChangeCookie(tls, pParse, iDb) @@ -89304,7 +89323,7 @@ func renameReloadSchema(tls *libc.TLS, pParse uintptr, iDb int32, p5 U16) { /* s // Generate code to implement the "ALTER TABLE xxx RENAME TO yyy" // command. -func Xsqlite3AlterRenameTable(tls *libc.TLS, pParse uintptr, pSrc uintptr, pName uintptr) { /* sqlite3.c:108939:21: */ +func Xsqlite3AlterRenameTable(tls *libc.TLS, pParse uintptr, pSrc uintptr, pName uintptr) { /* sqlite3.c:108952:21: */ bp := tls.Alloc(184) defer tls.Free(184) @@ -89489,7 +89508,7 @@ exit_rename_table: // Write code that will raise an error if the table described by // zDb and zTab is not empty. -func sqlite3ErrorIfNotEmpty(tls *libc.TLS, pParse uintptr, zDb uintptr, zTab uintptr, zErr uintptr) { /* sqlite3.c:109108:13: */ +func sqlite3ErrorIfNotEmpty(tls *libc.TLS, pParse uintptr, zDb uintptr, zTab uintptr, zErr uintptr) { /* sqlite3.c:109121:13: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -89504,7 +89523,7 @@ func sqlite3ErrorIfNotEmpty(tls *libc.TLS, pParse uintptr, zDb uintptr, zTab uin // // The Table structure pParse->pNewTable was extended to include // the new column during parsing. -func Xsqlite3AlterFinishAddColumn(tls *libc.TLS, pParse uintptr, pColDef uintptr) { /* sqlite3.c:109128:21: */ +func Xsqlite3AlterFinishAddColumn(tls *libc.TLS, pParse uintptr, pColDef uintptr) { /* sqlite3.c:109141:21: */ bp := tls.Alloc(60) defer tls.Free(60) @@ -89650,7 +89669,7 @@ func Xsqlite3AlterFinishAddColumn(tls *libc.TLS, pParse uintptr, pColDef uintptr // // Routine sqlite3AlterFinishAddColumn() will be called to complete // coding the "ALTER TABLE ... ADD" statement. -func Xsqlite3AlterBeginAddColumn(tls *libc.TLS, pParse uintptr, pSrc uintptr) { /* sqlite3.c:109293:21: */ +func Xsqlite3AlterBeginAddColumn(tls *libc.TLS, pParse uintptr, pSrc uintptr) { /* sqlite3.c:109306:21: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -89767,7 +89786,7 @@ exit_begin_add_column: // it loads an error message into pParse and returns non-zero. // // Or, if pTab is not a view or virtual table, zero is returned. -func isRealTable(tls *libc.TLS, pParse uintptr, pTab uintptr, bDrop int32) int32 { /* sqlite3.c:109376:12: */ +func isRealTable(tls *libc.TLS, pParse uintptr, pTab uintptr, bDrop int32) int32 { /* sqlite3.c:109389:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -89795,7 +89814,7 @@ func isRealTable(tls *libc.TLS, pParse uintptr, pTab uintptr, bDrop int32) int32 // Handles the following parser reduction: // // cmd ::= ALTER TABLE pSrc RENAME COLUMN pOld TO pNew -func Xsqlite3AlterRenameColumn(tls *libc.TLS, pParse uintptr, pSrc uintptr, pOld uintptr, pNew uintptr) { /* sqlite3.c:109406:21: */ +func Xsqlite3AlterRenameColumn(tls *libc.TLS, pParse uintptr, pSrc uintptr, pOld uintptr, pNew uintptr) { /* sqlite3.c:109419:21: */ bp := tls.Alloc(112) defer tls.Free(112) @@ -89924,7 +89943,7 @@ exit_rename_column: // The context of an ALTER TABLE RENAME COLUMN operation that gets passed // down into the Walker. -type RenameCtx = RenameCtx1 /* sqlite3.c:109521:26 */ +type RenameCtx = RenameCtx1 /* sqlite3.c:109534:26 */ // Remember that the parser tree element pPtr was created using // the token pToken. @@ -89936,7 +89955,7 @@ type RenameCtx = RenameCtx1 /* sqlite3.c:109521:26 */ // The pPtr argument is returned so that this routine can be used // with tail recursion in tokenExpr() routine, for a small performance // improvement. -func Xsqlite3RenameTokenMap(tls *libc.TLS, pParse uintptr, pPtr uintptr, pToken uintptr) uintptr { /* sqlite3.c:109584:27: */ +func Xsqlite3RenameTokenMap(tls *libc.TLS, pParse uintptr, pPtr uintptr, pToken uintptr) uintptr { /* sqlite3.c:109597:27: */ var pNew uintptr if int32((*Parse)(unsafe.Pointer(pParse)).FeParseMode) != PARSE_MODE_UNMAP { @@ -89955,7 +89974,7 @@ func Xsqlite3RenameTokenMap(tls *libc.TLS, pParse uintptr, pPtr uintptr, pToken // It is assumed that there is already a RenameToken object associated // with parse tree element pFrom. This function remaps the associated token // to parse tree element pTo. -func Xsqlite3RenameTokenRemap(tls *libc.TLS, pParse uintptr, pTo uintptr, pFrom uintptr) { /* sqlite3.c:109610:21: */ +func Xsqlite3RenameTokenRemap(tls *libc.TLS, pParse uintptr, pTo uintptr, pFrom uintptr) { /* sqlite3.c:109623:21: */ var p uintptr for p = (*Parse)(unsafe.Pointer(pParse)).FpRename; p != 0; p = (*RenameToken)(unsafe.Pointer(p)).FpNext { @@ -89967,7 +89986,7 @@ func Xsqlite3RenameTokenRemap(tls *libc.TLS, pParse uintptr, pTo uintptr, pFrom } // Walker callback used by sqlite3RenameExprUnmap(). -func renameUnmapExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:109624:12: */ +func renameUnmapExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:109637:12: */ var pParse uintptr = (*Walker)(unsafe.Pointer(pWalker)).FpParse Xsqlite3RenameTokenRemap(tls, pParse, uintptr(0), pExpr) if (*Expr)(unsafe.Pointer(pExpr)).Fflags&U32(EP_WinFunc|EP_Subrtn) == U32(0) { @@ -89978,7 +89997,7 @@ func renameUnmapExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* // Iterate through the Select objects that are part of WITH clauses attached // to select statement pSelect. -func renameWalkWith(tls *libc.TLS, pWalker uintptr, pSelect uintptr) { /* sqlite3.c:109637:13: */ +func renameWalkWith(tls *libc.TLS, pWalker uintptr, pSelect uintptr) { /* sqlite3.c:109650:13: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -90019,7 +90038,7 @@ func renameWalkWith(tls *libc.TLS, pWalker uintptr, pSelect uintptr) { /* sqlite } // Unmap all tokens in the IdList object passed as the second argument. -func unmapColumnIdlistNames(tls *libc.TLS, pParse uintptr, pIdList uintptr) { /* sqlite3.c:109672:13: */ +func unmapColumnIdlistNames(tls *libc.TLS, pParse uintptr, pIdList uintptr) { /* sqlite3.c:109685:13: */ if pIdList != 0 { var ii int32 for ii = 0; ii < (*IdList)(unsafe.Pointer(pIdList)).FnId; ii++ { @@ -90029,7 +90048,7 @@ func unmapColumnIdlistNames(tls *libc.TLS, pParse uintptr, pIdList uintptr) { /* } // Walker callback used by sqlite3RenameExprUnmap(). -func renameUnmapSelectCb(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sqlite3.c:109687:12: */ +func renameUnmapSelectCb(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sqlite3.c:109700:12: */ var pParse uintptr = (*Walker)(unsafe.Pointer(pWalker)).FpParse var i int32 if (*Parse)(unsafe.Pointer(pParse)).FnErr != 0 { @@ -90061,7 +90080,7 @@ func renameUnmapSelectCb(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* s } // Remove all nodes that are part of expression pExpr from the rename list. -func Xsqlite3RenameExprUnmap(tls *libc.TLS, pParse uintptr, pExpr uintptr) { /* sqlite3.c:109720:21: */ +func Xsqlite3RenameExprUnmap(tls *libc.TLS, pParse uintptr, pExpr uintptr) { /* sqlite3.c:109733:21: */ bp := tls.Alloc(28) defer tls.Free(28) @@ -90083,7 +90102,7 @@ func Xsqlite3RenameExprUnmap(tls *libc.TLS, pParse uintptr, pExpr uintptr) { /* // Remove all nodes that are part of expression-list pEList from the // rename list. -func Xsqlite3RenameExprlistUnmap(tls *libc.TLS, pParse uintptr, pEList uintptr) { /* sqlite3.c:109736:21: */ +func Xsqlite3RenameExprlistUnmap(tls *libc.TLS, pParse uintptr, pEList uintptr) { /* sqlite3.c:109749:21: */ bp := tls.Alloc(28) defer tls.Free(28) @@ -90106,7 +90125,7 @@ func Xsqlite3RenameExprlistUnmap(tls *libc.TLS, pParse uintptr, pEList uintptr) } // Free the list of RenameToken objects given in the second argument -func renameTokenFree(tls *libc.TLS, db uintptr, pToken uintptr) { /* sqlite3.c:109755:13: */ +func renameTokenFree(tls *libc.TLS, db uintptr, pToken uintptr) { /* sqlite3.c:109768:13: */ var pNext uintptr var p uintptr for p = pToken; p != 0; p = pNext { @@ -90122,7 +90141,7 @@ func renameTokenFree(tls *libc.TLS, db uintptr, pToken uintptr) { /* sqlite3.c:1 // If the second argument passed to this function is not NULL and a matching // RenameToken object is found, remove it from the Parse object and add it to // the list maintained by the RenameCtx object. -func renameTokenFind(tls *libc.TLS, pParse uintptr, pCtx uintptr, pPtr uintptr) uintptr { /* sqlite3.c:109773:20: */ +func renameTokenFind(tls *libc.TLS, pParse uintptr, pCtx uintptr, pPtr uintptr) uintptr { /* sqlite3.c:109786:20: */ var pp uintptr if pPtr == uintptr(0) { return uintptr(0) @@ -90145,7 +90164,7 @@ func renameTokenFind(tls *libc.TLS, pParse uintptr, pCtx uintptr, pPtr uintptr) // This is a Walker select callback. It does nothing. It is only required // because without a dummy callback, sqlite3WalkExpr() and similar do not // descend into sub-select statements. -func renameColumnSelectCb(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sqlite3.c:109802:12: */ +func renameColumnSelectCb(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sqlite3.c:109815:12: */ if (*Select)(unsafe.Pointer(p)).FselFlags&U32(SF_View|SF_CopyCte) != 0 { return WRC_Prune @@ -90161,7 +90180,7 @@ func renameColumnSelectCb(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* // ALTER TABLE statement. If it is, then attach its associated // RenameToken object to the list of RenameToken objects being // constructed in RenameCtx object at pWalker->u.pRename. -func renameColumnExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:109821:12: */ +func renameColumnExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:109834:12: */ var p uintptr = *(*uintptr)(unsafe.Pointer(pWalker + 24)) if int32((*Expr)(unsafe.Pointer(pExpr)).Fop) == TK_TRIGGER && int32((*Expr)(unsafe.Pointer(pExpr)).FiColumn) == (*RenameCtx)(unsafe.Pointer(p)).FiCol && @@ -90183,7 +90202,7 @@ func renameColumnExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { / // the input SQL is parsed from left to right. Repeated calls to this routine // return all column name tokens in the order that they are encountered // in the SQL statement. -func renameColumnTokenNext(tls *libc.TLS, pCtx uintptr) uintptr { /* sqlite3.c:109847:20: */ +func renameColumnTokenNext(tls *libc.TLS, pCtx uintptr) uintptr { /* sqlite3.c:109860:20: */ var pBest uintptr = (*RenameCtx)(unsafe.Pointer(pCtx)).FpList var pToken uintptr var pp uintptr @@ -90205,7 +90224,7 @@ func renameColumnTokenNext(tls *libc.TLS, pCtx uintptr) uintptr { /* sqlite3.c:1 // ALTER TABLE RENAME COLUMN program. The error message emitted by the // sub-routine is currently stored in pParse->zErrMsg. This function // adds context to the error message and then stores it in pCtx. -func renameColumnParseError(tls *libc.TLS, pCtx uintptr, zWhen uintptr, pType uintptr, pObject uintptr, pParse uintptr) { /* sqlite3.c:109868:13: */ +func renameColumnParseError(tls *libc.TLS, pCtx uintptr, zWhen uintptr, pType uintptr, pObject uintptr, pParse uintptr) { /* sqlite3.c:109881:13: */ bp := tls.Alloc(40) defer tls.Free(40) @@ -90229,7 +90248,7 @@ func renameColumnParseError(tls *libc.TLS, pCtx uintptr, zWhen uintptr, pType ui // pEList->a[i].zName) that matches the string in zOld, extract the // corresponding rename-token from Parse object pParse and add it // to the RenameCtx pCtx. -func renameColumnElistNames(tls *libc.TLS, pParse uintptr, pCtx uintptr, pEList uintptr, zOld uintptr) { /* sqlite3.c:109893:13: */ +func renameColumnElistNames(tls *libc.TLS, pParse uintptr, pCtx uintptr, pEList uintptr, zOld uintptr) { /* sqlite3.c:109906:13: */ if pEList != 0 { var i int32 for i = 0; i < (*ExprList)(unsafe.Pointer(pEList)).FnExpr; i++ { @@ -90246,7 +90265,7 @@ func renameColumnElistNames(tls *libc.TLS, pParse uintptr, pCtx uintptr, pEList // For each name in the the id-list pIdList (i.e. each pIdList->a[i].zName) // that matches the string in zOld, extract the corresponding rename-token // from Parse object pParse and add it to the RenameCtx pCtx. -func renameColumnIdlistNames(tls *libc.TLS, pParse uintptr, pCtx uintptr, pIdList uintptr, zOld uintptr) { /* sqlite3.c:109918:13: */ +func renameColumnIdlistNames(tls *libc.TLS, pParse uintptr, pCtx uintptr, pIdList uintptr, zOld uintptr) { /* sqlite3.c:109931:13: */ if pIdList != 0 { var i int32 for i = 0; i < (*IdList)(unsafe.Pointer(pIdList)).FnId; i++ { @@ -90260,7 +90279,7 @@ func renameColumnIdlistNames(tls *libc.TLS, pParse uintptr, pCtx uintptr, pIdLis // Parse the SQL statement zSql using Parse object (*p). The Parse object // is initialized by this function before it is used. -func renameParseSql(tls *libc.TLS, p uintptr, zDb uintptr, db uintptr, zSql uintptr, bTemp int32) int32 { /* sqlite3.c:109940:12: */ +func renameParseSql(tls *libc.TLS, p uintptr, zDb uintptr, db uintptr, zSql uintptr, bTemp int32) int32 { /* sqlite3.c:109953:12: */ var rc int32 Xsqlite3ParseObjectInit(tls, p, db) @@ -90268,7 +90287,7 @@ func renameParseSql(tls *libc.TLS, p uintptr, zDb uintptr, db uintptr, zSql uint return SQLITE_NOMEM } if Xsqlite3_strnicmp(tls, zSql, ts+10807, 7) != 0 { - return Xsqlite3CorruptError(tls, 109954) + return Xsqlite3CorruptError(tls, 109967) } (*Sqlite3)(unsafe.Pointer(db)).Finit.FiDb = func() uint8 { if bTemp != 0 { @@ -90285,7 +90304,7 @@ func renameParseSql(tls *libc.TLS, p uintptr, zDb uintptr, db uintptr, zSql uint } if rc == SQLITE_OK && ((*Parse)(unsafe.Pointer(p)).FpNewTable == uintptr(0) && (*Parse)(unsafe.Pointer(p)).FpNewIndex == uintptr(0) && (*Parse)(unsafe.Pointer(p)).FpNewTrigger == uintptr(0)) { - rc = Xsqlite3CorruptError(tls, 109965) + rc = Xsqlite3CorruptError(tls, 109978) } (*Sqlite3)(unsafe.Pointer(db)).Finit.FiDb = U8(0) @@ -90299,7 +90318,7 @@ func renameParseSql(tls *libc.TLS, p uintptr, zDb uintptr, db uintptr, zSql uint // // Or, if an error occurs (i.e. an OOM condition), an error is left in // pCtx and an SQLite error code returned. -func renameEditSql(tls *libc.TLS, pCtx uintptr, pRename uintptr, zSql uintptr, zNew uintptr, bQuote int32) int32 { /* sqlite3.c:109993:12: */ +func renameEditSql(tls *libc.TLS, pCtx uintptr, pRename uintptr, zSql uintptr, zNew uintptr, bQuote int32) int32 { /* sqlite3.c:110006:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -90405,7 +90424,7 @@ func renameEditSql(tls *libc.TLS, pCtx uintptr, pRename uintptr, zSql uintptr, z // it was read from the schema of database zDb. Return SQLITE_OK if // successful. Otherwise, return an SQLite error code and leave an error // message in the Parse object. -func renameResolveTrigger(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:110100:12: */ +func renameResolveTrigger(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:110113:12: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -90503,7 +90522,7 @@ func renameResolveTrigger(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:11 // Invoke sqlite3WalkExpr() or sqlite3WalkSelect() on all Select or Expr // objects that are part of the trigger passed as the second argument. -func renameWalkTrigger(tls *libc.TLS, pWalker uintptr, pTrigger uintptr) { /* sqlite3.c:110196:13: */ +func renameWalkTrigger(tls *libc.TLS, pWalker uintptr, pTrigger uintptr) { /* sqlite3.c:110209:13: */ var pStep uintptr // Find tokens to edit in WHEN clause @@ -90532,7 +90551,7 @@ func renameWalkTrigger(tls *libc.TLS, pWalker uintptr, pTrigger uintptr) { /* sq // Free the contents of Parse object (*pParse). Do not free the memory // occupied by the Parse object itself. -func renameParseCleanup(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:110227:13: */ +func renameParseCleanup(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:110240:13: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb var pIdx uintptr if (*Parse)(unsafe.Pointer(pParse)).FpVdbe != 0 { @@ -90571,7 +90590,7 @@ func renameParseCleanup(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:110227:13: // It is only accessible to SQL created using sqlite3NestedParse(). It is // not reachable from ordinary SQL passed into sqlite3_prepare() unless the // SQLITE_TESTCTRL_INTERNAL_FUNCTIONS test setting is enabled. -func renameColumnFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { /* sqlite3.c:110268:13: */ +func renameColumnFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { /* sqlite3.c:110281:13: */ bp := tls.Alloc(320) defer tls.Free(320) @@ -90914,7 +90933,7 @@ __44: } // Walker expression callback used by "RENAME TABLE". -func renameTableExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:110435:12: */ +func renameTableExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:110448:12: */ var p uintptr = *(*uintptr)(unsafe.Pointer(pWalker + 24)) if int32((*Expr)(unsafe.Pointer(pExpr)).Fop) == TK_COLUMN && (*Expr)(unsafe.Pointer(pExpr)).Fflags&U32(EP_WinFunc|EP_Subrtn) == U32(0) && @@ -90925,7 +90944,7 @@ func renameTableExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* } // Walker select callback used by "RENAME TABLE". -func renameTableSelectCb(tls *libc.TLS, pWalker uintptr, pSelect uintptr) int32 { /* sqlite3.c:110449:12: */ +func renameTableSelectCb(tls *libc.TLS, pWalker uintptr, pSelect uintptr) int32 { /* sqlite3.c:110462:12: */ var i int32 var p uintptr = *(*uintptr)(unsafe.Pointer(pWalker + 24)) var pSrc uintptr = (*Select)(unsafe.Pointer(pSelect)).FpSrc @@ -90965,7 +90984,7 @@ func renameTableSelectCb(tls *libc.TLS, pWalker uintptr, pSelect uintptr) int32 // // sqlite_rename_table('main', 'CREATE TABLE t1(a REFERENCES t2)','t2','t3',0) // -> 'CREATE TABLE t1(a REFERENCES t3)' -func renameTableFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { /* sqlite3.c:110493:13: */ +func renameTableFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { /* sqlite3.c:110506:13: */ bp := tls.Alloc(352) defer tls.Free(352) @@ -91099,7 +91118,7 @@ func renameTableFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr return } -func renameQuotefixExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:110636:12: */ +func renameQuotefixExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:110649:12: */ if int32((*Expr)(unsafe.Pointer(pExpr)).Fop) == TK_STRING && (*Expr)(unsafe.Pointer(pExpr)).Fflags&U32(EP_DblQuoted) != 0 { renameTokenFind(tls, (*Walker)(unsafe.Pointer(pWalker)).FpParse, *(*uintptr)(unsafe.Pointer(pWalker + 24)), pExpr) } @@ -91132,7 +91151,7 @@ func renameQuotefixExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { // If there is a error in the input SQL, then raise an error, except // if PRAGMA writable_schema=ON, then just return the input string // unmodified following an error. -func renameQuotefixFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { /* sqlite3.c:110670:13: */ +func renameQuotefixFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { /* sqlite3.c:110683:13: */ bp := tls.Alloc(320) defer tls.Free(320) @@ -91246,7 +91265,7 @@ func renameQuotefixFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uint // B. Else if a trigger is created and the the table that the trigger is // attached to is in database zDb, then return 1. // C. Otherwise return NULL. -func renameTableTest(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { /* sqlite3.c:110783:13: */ +func renameTableTest(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { /* sqlite3.c:110796:13: */ bp := tls.Alloc(304) defer tls.Free(304) @@ -91318,7 +91337,7 @@ func renameTableTest(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr // // The value returned is a string containing the CREATE TABLE statement // with column argv[2] removed. -func dropColumnFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { /* sqlite3.c:110858:13: */ +func dropColumnFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { /* sqlite3.c:110871:13: */ bp := tls.Alloc(296) defer tls.Free(296) @@ -91358,7 +91377,7 @@ __1: goto __2 } // This can happen if the sqlite_schema table is corrupt - rc = Xsqlite3CorruptError(tls, 110886) + rc = Xsqlite3CorruptError(tls, 110899) goto drop_column_done __2: ; @@ -91404,7 +91423,7 @@ __7: // // statement. Argument pSrc contains the possibly qualified name of the // table being edited, and token pName the name of the column to drop. -func Xsqlite3AlterDropColumn(tls *libc.TLS, pParse uintptr, pSrc uintptr, pName uintptr) { /* sqlite3.c:110923:21: */ +func Xsqlite3AlterDropColumn(tls *libc.TLS, pParse uintptr, pSrc uintptr, pName uintptr) { /* sqlite3.c:110936:21: */ bp := tls.Alloc(64) defer tls.Free(64) @@ -91637,7 +91656,7 @@ exit_drop_column: } // Register built-in functions used to help implement ALTER TABLE -func Xsqlite3AlterFunctions(tls *libc.TLS) { /* sqlite3.c:111065:21: */ +func Xsqlite3AlterFunctions(tls *libc.TLS) { /* sqlite3.c:111078:21: */ Xsqlite3InsertBuiltinFuncs(tls, uintptr(unsafe.Pointer(&aAlterTableFuncs)), int32(uint32(unsafe.Sizeof(aAlterTableFuncs))/uint32(unsafe.Sizeof(FuncDef{})))) } @@ -91646,7 +91665,7 @@ var aAlterTableFuncs = [5]FuncDef{ {FnArg: int8(7), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_FUNC_INTERNAL | SQLITE_UTF8 | SQLITE_FUNC_CONSTANT), FxSFunc: 0, FzName: ts + 11081}, {FnArg: int8(7), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_FUNC_INTERNAL | SQLITE_UTF8 | SQLITE_FUNC_CONSTANT), FxSFunc: 0, FzName: ts + 11101}, {FnArg: int8(3), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_FUNC_INTERNAL | SQLITE_UTF8 | SQLITE_FUNC_CONSTANT), FxSFunc: 0, FzName: ts + 11120}, - {FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_FUNC_INTERNAL | SQLITE_UTF8 | SQLITE_FUNC_CONSTANT), FxSFunc: 0, FzName: ts + 11139}} /* sqlite3.c:111066:18 */ + {FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_FUNC_INTERNAL | SQLITE_UTF8 | SQLITE_FUNC_CONSTANT), FxSFunc: 0, FzName: ts + 11139}} /* sqlite3.c:111079:18 */ //************* End of alter.c ********************************************** //************* Begin file analyze.c **************************************** @@ -91802,7 +91821,7 @@ var aAlterTableFuncs = [5]FuncDef{ // or it may be a NULL pointer. If it is not NULL, then all entries in // the sqlite_statN tables associated with the named table are deleted. // If zWhere==0, then code is generated to delete all stat table entries. -func openStatTable(tls *libc.TLS, pParse uintptr, iDb int32, iStatCur int32, zWhere uintptr, zWhereType uintptr) { /* sqlite3.c:111244:13: */ +func openStatTable(tls *libc.TLS, pParse uintptr, iDb int32, iStatCur int32, zWhere uintptr, zWhereType uintptr) { /* sqlite3.c:111257:13: */ bp := tls.Alloc(88) defer tls.Free(88) @@ -91882,7 +91901,7 @@ var aTable = [3]struct { {FzName: ts + 11233 /* "sqlite_stat1" */, FzCols: ts + 11246 /* "tbl,idx,stat" */}, {FzName: ts + 11259 /* "sqlite_stat4" */, FzCols: ts + 11272 /* "tbl,idx,neq,nlt,..." */}, {FzName: ts + 11300 /* "sqlite_stat3" */}, -} /* sqlite3.c:111254:5 */ +} /* sqlite3.c:111267:5 */ // Recommended number of samples for sqlite_stat4 @@ -91909,14 +91928,14 @@ type StatAccum1 = struct { FiGet int32 Fa uintptr F__ccgo_pad2 [4]byte -} /* sqlite3.c:111342:9 */ +} /* sqlite3.c:111355:9 */ // Recommended number of samples for sqlite_stat4 // Three SQL functions - stat_init(), stat_push(), and stat_get() - // share an instance of the following structure to hold their state // information. -type StatAccum = StatAccum1 /* sqlite3.c:111342:26 */ +type StatAccum = StatAccum1 /* sqlite3.c:111355:26 */ type StatSample1 = struct { FanEq uintptr FanDLt uintptr @@ -91928,12 +91947,12 @@ type StatSample1 = struct { F__ccgo_pad2 [3]byte FiCol int32 FiHash U32 -} /* sqlite3.c:111342:9 */ +} /* sqlite3.c:111355:9 */ -type StatSample = StatSample1 /* sqlite3.c:111343:27 */ +type StatSample = StatSample1 /* sqlite3.c:111356:27 */ // Reclaim memory used by a StatSample -func sampleClear(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:111384:13: */ +func sampleClear(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:111397:13: */ if (*StatSample)(unsafe.Pointer(p)).FnRowid != 0 { Xsqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(p + 16))) @@ -91942,7 +91961,7 @@ func sampleClear(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:111384:13: } // Initialize the BLOB value of a ROWID -func sampleSetRowid(tls *libc.TLS, db uintptr, p uintptr, n int32, pData uintptr) { /* sqlite3.c:111396:13: */ +func sampleSetRowid(tls *libc.TLS, db uintptr, p uintptr, n int32, pData uintptr) { /* sqlite3.c:111409:13: */ if (*StatSample)(unsafe.Pointer(p)).FnRowid != 0 { Xsqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(p + 16))) @@ -91957,7 +91976,7 @@ func sampleSetRowid(tls *libc.TLS, db uintptr, p uintptr, n int32, pData uintptr } // Initialize the INTEGER value of a ROWID. -func sampleSetRowidInt64(tls *libc.TLS, db uintptr, p uintptr, iRowid I64) { /* sqlite3.c:111412:13: */ +func sampleSetRowidInt64(tls *libc.TLS, db uintptr, p uintptr, iRowid I64) { /* sqlite3.c:111425:13: */ if (*StatSample)(unsafe.Pointer(p)).FnRowid != 0 { Xsqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(p + 16))) @@ -91967,7 +91986,7 @@ func sampleSetRowidInt64(tls *libc.TLS, db uintptr, p uintptr, iRowid I64) { /* } // Copy the contents of object (*pFrom) into (*pTo). -func sampleCopy(tls *libc.TLS, p uintptr, pTo uintptr, pFrom uintptr) { /* sqlite3.c:111425:13: */ +func sampleCopy(tls *libc.TLS, p uintptr, pTo uintptr, pFrom uintptr) { /* sqlite3.c:111438:13: */ (*StatSample)(unsafe.Pointer(pTo)).FisPSample = (*StatSample)(unsafe.Pointer(pFrom)).FisPSample (*StatSample)(unsafe.Pointer(pTo)).FiCol = (*StatSample)(unsafe.Pointer(pFrom)).FiCol (*StatSample)(unsafe.Pointer(pTo)).FiHash = (*StatSample)(unsafe.Pointer(pFrom)).FiHash @@ -91982,7 +92001,7 @@ func sampleCopy(tls *libc.TLS, p uintptr, pTo uintptr, pFrom uintptr) { /* sqlit } // Reclaim all memory of a StatAccum structure. -func statAccumDestructor(tls *libc.TLS, pOld uintptr) { /* sqlite3.c:111443:13: */ +func statAccumDestructor(tls *libc.TLS, pOld uintptr) { /* sqlite3.c:111456:13: */ var p uintptr = pOld if (*StatAccum)(unsafe.Pointer(p)).FmxSample != 0 { var i int32 @@ -92017,7 +92036,7 @@ func statAccumDestructor(tls *libc.TLS, pOld uintptr) { /* sqlite3.c:111443:13: // value is a pointer to the StatAccum object. The datatype of the // return value is BLOB, but it is really just a pointer to the StatAccum // object. -func statInit(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:111478:13: */ +func statInit(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:111491:13: */ var p uintptr var nCol int32 // Number of columns in index being sampled var nKeyCol int32 // Number of key columns @@ -92112,7 +92131,7 @@ var statInitFuncdef = FuncDef{ FnArg: int8(4), // nArg FfuncFlags: U32(SQLITE_UTF8), // pNext FxSFunc: 0, // xValue, xInverse - FzName: ts + 11313} /* sqlite3.c:111564:22 */ + FzName: ts + 11313} /* sqlite3.c:111577:22 */ // pNew and pOld are both candidate non-periodic samples selected for // the same column (pNew->iCol==pOld->iCol). Ignoring this column and @@ -92123,7 +92142,7 @@ var statInitFuncdef = FuncDef{ // // This function assumes that for each argument sample, the contents of // the anEq[] array from pSample->anEq[pSample->iCol+1] onwards are valid. -func sampleIsBetterPost(tls *libc.TLS, pAccum uintptr, pNew uintptr, pOld uintptr) int32 { /* sqlite3.c:111588:12: */ +func sampleIsBetterPost(tls *libc.TLS, pAccum uintptr, pNew uintptr, pOld uintptr) int32 { /* sqlite3.c:111601:12: */ var nCol int32 = (*StatAccum)(unsafe.Pointer(pAccum)).FnCol var i int32 @@ -92145,7 +92164,7 @@ func sampleIsBetterPost(tls *libc.TLS, pAccum uintptr, pNew uintptr, pOld uintpt // // This function assumes that for each argument sample, the contents of // the anEq[] array from pSample->anEq[pSample->iCol] onwards are valid. -func sampleIsBetter(tls *libc.TLS, pAccum uintptr, pNew uintptr, pOld uintptr) int32 { /* sqlite3.c:111612:12: */ +func sampleIsBetter(tls *libc.TLS, pAccum uintptr, pNew uintptr, pOld uintptr) int32 { /* sqlite3.c:111625:12: */ var nEqNew TRowcnt = *(*TRowcnt)(unsafe.Pointer((*StatSample)(unsafe.Pointer(pNew)).FanEq + uintptr((*StatSample)(unsafe.Pointer(pNew)).FiCol)*4)) var nEqOld TRowcnt = *(*TRowcnt)(unsafe.Pointer((*StatSample)(unsafe.Pointer(pOld)).FanEq + uintptr((*StatSample)(unsafe.Pointer(pOld)).FiCol)*4)) @@ -92163,7 +92182,7 @@ func sampleIsBetter(tls *libc.TLS, pAccum uintptr, pNew uintptr, pOld uintptr) i // Copy the contents of sample *pNew into the p->a[] array. If necessary, // remove the least desirable sample from p->a[] to make room. -func sampleInsert(tls *libc.TLS, p uintptr, pNew uintptr, nEqZero int32) { /* sqlite3.c:111635:13: */ +func sampleInsert(tls *libc.TLS, p uintptr, pNew uintptr, nEqZero int32) { /* sqlite3.c:111648:13: */ var pSample uintptr var i int32 var pOld uintptr @@ -92306,7 +92325,7 @@ __11: // p->current contains a sample that reflects the previous row of the // index. The value of anEq[iChng] and subsequent anEq[] elements are // correct at this point. -func samplePushPrevious(tls *libc.TLS, p uintptr, iChng int32) { /* sqlite3.c:111727:13: */ +func samplePushPrevious(tls *libc.TLS, p uintptr, iChng int32) { /* sqlite3.c:111740:13: */ var i int32 // Check if any samples from the aBest[] array should be pushed @@ -92358,7 +92377,7 @@ func samplePushPrevious(tls *libc.TLS, p uintptr, iChng int32) { /* sqlite3.c:11 // if it wants the byte-code to do special processing. // // The R parameter is only used for STAT4 -func statPush(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:111779:13: */ +func statPush(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:111792:13: */ var i int32 // The three function arguments @@ -92430,7 +92449,7 @@ var statPushFuncdef = FuncDef{ FnArg: int8(2 + IsStat4), FfuncFlags: U32(SQLITE_UTF8), // pNext FxSFunc: 0, // xValue, xInverse - FzName: ts + 11323} /* sqlite3.c:111854:22 */ + FzName: ts + 11323} /* sqlite3.c:111867:22 */ // Implementation of the stat_get(P,J) SQL function. This routine is // used to query statistical information that has been gathered into @@ -92449,7 +92468,7 @@ var statPushFuncdef = FuncDef{ // STAT_GET_STAT1 and is hence omitted and this routine becomes // a one-parameter function, stat_get(P), that always returns the // stat1 table entry information. -func statGet(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:111891:13: */ +func statGet(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:111904:13: */ bp := tls.Alloc(72) defer tls.Free(72) @@ -92550,9 +92569,9 @@ var statGetFuncdef = FuncDef{ FnArg: int8(1 + IsStat4), FfuncFlags: U32(SQLITE_UTF8), // pNext FxSFunc: 0, // xValue, xInverse - FzName: ts + 11350} /* sqlite3.c:111988:22 */ + FzName: ts + 11350} /* sqlite3.c:112001:22 */ -func callStatGet(tls *libc.TLS, pParse uintptr, regStat int32, iParam int32, regOut int32) { /* sqlite3.c:112000:13: */ +func callStatGet(tls *libc.TLS, pParse uintptr, regStat int32, iParam int32, regOut int32) { /* sqlite3.c:112013:13: */ Xsqlite3VdbeAddOp2(tls, (*Parse)(unsafe.Pointer(pParse)).FpVdbe, OP_Integer, iParam, regStat+1) Xsqlite3VdbeAddFunctionCall(tls, pParse, 0, regStat, regOut, 1+IsStat4, @@ -92561,7 +92580,7 @@ func callStatGet(tls *libc.TLS, pParse uintptr, regStat int32, iParam int32, reg // Generate code to do an analysis of all indices associated with // a single table. -func analyzeOneTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uintptr, iStatCur int32, iMem int32, iTab int32) { /* sqlite3.c:112041:13: */ +func analyzeOneTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uintptr, iStatCur int32, iMem int32, iTab int32) { /* sqlite3.c:112054:13: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb // Database handle var pIdx uintptr // An index to being analyzed var iIdxCur int32 // Cursor open on index being analyzed @@ -92921,7 +92940,7 @@ func analyzeOneTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uintp // Generate code that will cause the most recent index analysis to // be loaded into internal hash tables where is can be used. -func loadAnalysis(tls *libc.TLS, pParse uintptr, iDb int32) { /* sqlite3.c:112403:13: */ +func loadAnalysis(tls *libc.TLS, pParse uintptr, iDb int32) { /* sqlite3.c:112416:13: */ var v uintptr = Xsqlite3GetVdbe(tls, pParse) if v != 0 { Xsqlite3VdbeAddOp1(tls, v, OP_LoadAnalysis, iDb) @@ -92929,7 +92948,7 @@ func loadAnalysis(tls *libc.TLS, pParse uintptr, iDb int32) { /* sqlite3.c:11240 } // Generate code that will do an analysis of an entire database -func analyzeDatabase(tls *libc.TLS, pParse uintptr, iDb int32) { /* sqlite3.c:112413:13: */ +func analyzeDatabase(tls *libc.TLS, pParse uintptr, iDb int32) { /* sqlite3.c:112426:13: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb var pSchema uintptr = (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*16)).FpSchema // Schema of database iDb var k uintptr @@ -92954,7 +92973,7 @@ func analyzeDatabase(tls *libc.TLS, pParse uintptr, iDb int32) { /* sqlite3.c:11 // Generate code that will do an analysis of a single table in // a database. If pOnlyIdx is not NULL then it is a single index // in pTab that should be analyzed. -func analyzeTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uintptr) { /* sqlite3.c:112440:13: */ +func analyzeTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uintptr) { /* sqlite3.c:112453:13: */ var iDb int32 var iStatCur int32 @@ -92981,7 +93000,7 @@ func analyzeTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uintptr) // Form 1 causes all indices in all attached databases to be analyzed. // Form 2 analyzes all indices the single database named. // Form 3 analyzes all indices associated with the named table. -func Xsqlite3Analyze(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 uintptr) { /* sqlite3.c:112471:21: */ +func Xsqlite3Analyze(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 uintptr) { /* sqlite3.c:112484:21: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -93044,16 +93063,16 @@ func Xsqlite3Analyze(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 uintp type analysisInfo = struct { Fdb uintptr FzDatabase uintptr -} /* sqlite3.c:112523:9 */ +} /* sqlite3.c:112536:9 */ // Used to pass information from the analyzer reader through to the // callback routine. -type AnalysisInfo = analysisInfo /* sqlite3.c:112523:29 */ +type AnalysisInfo = analysisInfo /* sqlite3.c:112536:29 */ // The first argument points to a nul-terminated string containing a // list of space separated integers. Read the first nOut of these into // the array aOut[]. -func decodeIntArray(tls *libc.TLS, zIntArray uintptr, nOut int32, aOut uintptr, aLog uintptr, pIndex uintptr) { /* sqlite3.c:112534:13: */ +func decodeIntArray(tls *libc.TLS, zIntArray uintptr, nOut int32, aOut uintptr, aLog uintptr, pIndex uintptr) { /* sqlite3.c:112547:13: */ var z uintptr = zIntArray var c int32 var i int32 @@ -93112,7 +93131,7 @@ func decodeIntArray(tls *libc.TLS, zIntArray uintptr, nOut int32, aOut uintptr, // // Entries for which argv[1]==NULL simply record the number of rows in // the table. -func analysisLoader(tls *libc.TLS, pData uintptr, argc int32, argv uintptr, NotUsed uintptr) int32 { /* sqlite3.c:112607:12: */ +func analysisLoader(tls *libc.TLS, pData uintptr, argc int32, argv uintptr, NotUsed uintptr) int32 { /* sqlite3.c:112620:12: */ bp := tls.Alloc(96) defer tls.Free(96) @@ -93174,7 +93193,7 @@ func analysisLoader(tls *libc.TLS, pData uintptr, argc int32, argv uintptr, NotU // If the Index.aSample variable is not NULL, delete the aSample[] array // and its contents. -func Xsqlite3DeleteIndexSamples(tls *libc.TLS, db uintptr, pIdx uintptr) { /* sqlite3.c:112670:21: */ +func Xsqlite3DeleteIndexSamples(tls *libc.TLS, db uintptr, pIdx uintptr) { /* sqlite3.c:112683:21: */ if (*Index)(unsafe.Pointer(pIdx)).FaSample != 0 { var j int32 for j = 0; j < (*Index)(unsafe.Pointer(pIdx)).FnSample; j++ { @@ -93191,7 +93210,7 @@ func Xsqlite3DeleteIndexSamples(tls *libc.TLS, db uintptr, pIdx uintptr) { /* sq // Populate the pIdx->aAvgEq[] array based on the samples currently // stored in pIdx->aSample[]. -func initAvgEq(tls *libc.TLS, pIdx uintptr) { /* sqlite3.c:112695:13: */ +func initAvgEq(tls *libc.TLS, pIdx uintptr) { /* sqlite3.c:112708:13: */ if pIdx != 0 { var aSample uintptr = (*Index)(unsafe.Pointer(pIdx)).FaSample var pFinal uintptr = aSample + uintptr((*Index)(unsafe.Pointer(pIdx)).FnSample-1)*20 @@ -93249,7 +93268,7 @@ func initAvgEq(tls *libc.TLS, pIdx uintptr) { /* sqlite3.c:112695:13: */ // Look up an index by name. Or, if the name of a WITHOUT ROWID table // is supplied instead, find the PRIMARY KEY index for that table. -func findIndexOrPrimaryKey(tls *libc.TLS, db uintptr, zName uintptr, zDb uintptr) uintptr { /* sqlite3.c:112754:14: */ +func findIndexOrPrimaryKey(tls *libc.TLS, db uintptr, zName uintptr, zDb uintptr) uintptr { /* sqlite3.c:112767:14: */ var pIdx uintptr = Xsqlite3FindIndex(tls, db, zName, zDb) if pIdx == uintptr(0) { var pTab uintptr = Xsqlite3FindTable(tls, db, zName, zDb) @@ -93270,7 +93289,7 @@ func findIndexOrPrimaryKey(tls *libc.TLS, db uintptr, zName uintptr, zDb uintptr // zSql2: SELECT idx,neq,nlt,ndlt,sample FROM %Q.sqlite_stat4 // // where %Q is replaced with the database name before the SQL is executed. -func loadStatTbl(tls *libc.TLS, db uintptr, zSql1 uintptr, zSql2 uintptr, zDb uintptr) int32 { /* sqlite3.c:112779:12: */ +func loadStatTbl(tls *libc.TLS, db uintptr, zSql1 uintptr, zSql2 uintptr, zDb uintptr) int32 { /* sqlite3.c:112792:12: */ bp := tls.Alloc(20) defer tls.Free(20) @@ -93406,7 +93425,7 @@ func loadStatTbl(tls *libc.TLS, db uintptr, zSql1 uintptr, zSql2 uintptr, zDb ui // Load content from the sqlite_stat4 table into // the Index.aSample[] arrays of all indices. -func loadStat4(tls *libc.TLS, db uintptr, zDb uintptr) int32 { /* sqlite3.c:112900:12: */ +func loadStat4(tls *libc.TLS, db uintptr, zDb uintptr) int32 { /* sqlite3.c:112913:12: */ var rc int32 = SQLITE_OK // Result codes from subroutines var pStat4 uintptr @@ -93438,7 +93457,7 @@ func loadStat4(tls *libc.TLS, db uintptr, zDb uintptr) int32 { /* sqlite3.c:1129 // If an OOM error occurs, this function always sets db->mallocFailed. // This means if the caller does not care about other errors, the return // code may be ignored. -func Xsqlite3AnalysisLoad(tls *libc.TLS, db uintptr, iDb int32) int32 { /* sqlite3.c:112938:20: */ +func Xsqlite3AnalysisLoad(tls *libc.TLS, db uintptr, iDb int32) int32 { /* sqlite3.c:112951:20: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -93545,7 +93564,7 @@ func Xsqlite3AnalysisLoad(tls *libc.TLS, db uintptr, iDb int32) int32 { /* sqlit // ATTACH DATABASE abc||def AS 'db2' // // will fail because neither abc or def can be resolved. -func resolveAttachExpr(tls *libc.TLS, pName uintptr, pExpr uintptr) int32 { /* sqlite3.c:113046:12: */ +func resolveAttachExpr(tls *libc.TLS, pName uintptr, pExpr uintptr) int32 { /* sqlite3.c:113059:12: */ var rc int32 = SQLITE_OK if pExpr != 0 { if int32((*Expr)(unsafe.Pointer(pExpr)).Fop) != TK_ID { @@ -93559,7 +93578,7 @@ func resolveAttachExpr(tls *libc.TLS, pName uintptr, pExpr uintptr) int32 { /* s // Return true if zName points to a name that may be used to refer to // database iDb attached to handle db. -func Xsqlite3DbIsNamed(tls *libc.TLS, db uintptr, iDb int32, zName uintptr) int32 { /* sqlite3.c:113063:20: */ +func Xsqlite3DbIsNamed(tls *libc.TLS, db uintptr, iDb int32, zName uintptr) int32 { /* sqlite3.c:113076:20: */ return libc.Bool32(Xsqlite3StrICmp(tls, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(iDb)*16)).FzDbSName, zName) == 0 || iDb == 0 && Xsqlite3StrICmp(tls, ts+6332, zName) == 0) } @@ -93577,7 +93596,7 @@ func Xsqlite3DbIsNamed(tls *libc.TLS, db uintptr, iDb int32, zName uintptr) int3 // If the db->init.reopenMemdb flags is set, then instead of attaching a // new database, close the database on db->init.iDb and reopen it as an // empty MemDB. -func attachFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { /* sqlite3.c:113085:13: */ +func attachFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { /* sqlite3.c:113098:13: */ bp := tls.Alloc(44) defer tls.Free(44) @@ -93870,7 +93889,7 @@ __34: // DETACH DATABASE x // // SELECT sqlite_detach(x) -func detachFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { /* sqlite3.c:113278:13: */ +func detachFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { /* sqlite3.c:113291:13: */ bp := tls.Alloc(152) defer tls.Free(152) @@ -93975,7 +93994,7 @@ detach_error: // This procedure generates VDBE code for a single invocation of either the // sqlite_detach() or sqlite_attach() SQL user functions. -func codeAttach(tls *libc.TLS, pParse uintptr, type1 int32, pFunc uintptr, pAuthArg uintptr, pFilename uintptr, pDbname uintptr, pKey uintptr) { /* sqlite3.c:113340:13: */ +func codeAttach(tls *libc.TLS, pParse uintptr, type1 int32, pFunc uintptr, pAuthArg uintptr, pFilename uintptr, pDbname uintptr, pKey uintptr) { /* sqlite3.c:113353:13: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -94054,7 +94073,7 @@ attach_end: // Called by the parser to compile a DETACH statement. // // DETACH pDbname -func Xsqlite3Detach(tls *libc.TLS, pParse uintptr, pDbname uintptr) { /* sqlite3.c:113412:21: */ +func Xsqlite3Detach(tls *libc.TLS, pParse uintptr, pDbname uintptr) { /* sqlite3.c:113425:21: */ codeAttach(tls, pParse, SQLITE_DETACH, uintptr(unsafe.Pointer(&detach_func)), pDbname, uintptr(0), uintptr(0), pDbname) } @@ -94062,12 +94081,12 @@ var detach_func = FuncDef{ FnArg: int8(1), // nArg FfuncFlags: U32(SQLITE_UTF8), // pNext FxSFunc: 0, // xValue, xInverse - FzName: ts + 11825} /* sqlite3.c:113413:24 */ + FzName: ts + 11825} /* sqlite3.c:113426:24 */ // Called by the parser to compile an ATTACH statement. // // ATTACH p AS pDbname KEY pKey -func Xsqlite3Attach(tls *libc.TLS, pParse uintptr, p uintptr, pDbname uintptr, pKey uintptr) { /* sqlite3.c:113432:21: */ +func Xsqlite3Attach(tls *libc.TLS, pParse uintptr, p uintptr, pDbname uintptr, pKey uintptr) { /* sqlite3.c:113445:21: */ codeAttach(tls, pParse, SQLITE_ATTACH, uintptr(unsafe.Pointer(&attach_func)), p, p, pDbname, pKey) } @@ -94075,10 +94094,10 @@ var attach_func = FuncDef{ FnArg: int8(3), // nArg FfuncFlags: U32(SQLITE_UTF8), // pNext FxSFunc: 0, // xValue, xInverse - FzName: ts + 11839} /* sqlite3.c:113433:24 */ + FzName: ts + 11839} /* sqlite3.c:113446:24 */ // Expression callback used by sqlite3FixAAAA() routines. -func fixExprCb(tls *libc.TLS, p uintptr, pExpr uintptr) int32 { /* sqlite3.c:113451:12: */ +func fixExprCb(tls *libc.TLS, p uintptr, pExpr uintptr) int32 { /* sqlite3.c:113464:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -94098,7 +94117,7 @@ func fixExprCb(tls *libc.TLS, p uintptr, pExpr uintptr) int32 { /* sqlite3.c:113 } // Select callback used by sqlite3FixAAAA() routines. -func fixSelectCb(tls *libc.TLS, p uintptr, pSelect uintptr) int32 { /* sqlite3.c:113468:12: */ +func fixSelectCb(tls *libc.TLS, p uintptr, pSelect uintptr) int32 { /* sqlite3.c:113481:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -94159,7 +94178,7 @@ __3: // Initialize a DbFixer structure. This routine must be called prior // to passing the structure to one of the sqliteFixAAAA() routines below. -func Xsqlite3FixInit(tls *libc.TLS, pFix uintptr, pParse uintptr, iDb int32, zType uintptr, pName uintptr) { /* sqlite3.c:113511:21: */ +func Xsqlite3FixInit(tls *libc.TLS, pFix uintptr, pParse uintptr, iDb int32, zType uintptr, pName uintptr) { /* sqlite3.c:113524:21: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb (*DbFixer)(unsafe.Pointer(pFix)).FpParse = pParse @@ -94195,7 +94214,7 @@ func Xsqlite3FixInit(tls *libc.TLS, pFix uintptr, pParse uintptr, iDb int32, zTy // to an object in a different database, an error message is added to // pParse->zErrMsg and these routines return non-zero. If everything // checks out, these routines return 0. -func Xsqlite3FixSrcList(tls *libc.TLS, pFix uintptr, pList uintptr) int32 { /* sqlite3.c:113549:20: */ +func Xsqlite3FixSrcList(tls *libc.TLS, pFix uintptr, pList uintptr) int32 { /* sqlite3.c:113562:20: */ bp := tls.Alloc(76) defer tls.Free(76) @@ -94210,15 +94229,15 @@ func Xsqlite3FixSrcList(tls *libc.TLS, pFix uintptr, pList uintptr) int32 { /* s return res } -func Xsqlite3FixSelect(tls *libc.TLS, pFix uintptr, pSelect uintptr) int32 { /* sqlite3.c:113563:20: */ +func Xsqlite3FixSelect(tls *libc.TLS, pFix uintptr, pSelect uintptr) int32 { /* sqlite3.c:113576:20: */ return Xsqlite3WalkSelect(tls, pFix+4, pSelect) } -func Xsqlite3FixExpr(tls *libc.TLS, pFix uintptr, pExpr uintptr) int32 { /* sqlite3.c:113569:20: */ +func Xsqlite3FixExpr(tls *libc.TLS, pFix uintptr, pExpr uintptr) int32 { /* sqlite3.c:113582:20: */ return Xsqlite3WalkExpr(tls, pFix+4, pExpr) } -func Xsqlite3FixTriggerStep(tls *libc.TLS, pFix uintptr, pStep uintptr) int32 { /* sqlite3.c:113578:20: */ +func Xsqlite3FixTriggerStep(tls *libc.TLS, pFix uintptr, pStep uintptr) int32 { /* sqlite3.c:113591:20: */ for pStep != 0 { if Xsqlite3WalkSelect(tls, pFix+4, (*TriggerStep)(unsafe.Pointer(pStep)).FpSelect) != 0 || Xsqlite3WalkExpr(tls, pFix+4, (*TriggerStep)(unsafe.Pointer(pStep)).FpWhere) != 0 || @@ -94308,7 +94327,7 @@ func Xsqlite3FixTriggerStep(tls *libc.TLS, pFix uintptr, pStep uintptr) 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) int32 { /* sqlite3.c:113682:16: */ +func Xsqlite3_set_authorizer(tls *libc.TLS, db uintptr, xAuth uintptr, pArg uintptr) int32 { /* sqlite3.c:113695:16: */ Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) (*Sqlite3)(unsafe.Pointer(db)).FxAuth = xAuth (*Sqlite3)(unsafe.Pointer(db)).FpAuthArg = pArg @@ -94321,7 +94340,7 @@ func Xsqlite3_set_authorizer(tls *libc.TLS, db uintptr, xAuth uintptr, pArg uint // Write an error message into pParse->zErrMsg that explains that the // user-supplied authorization function returned an illegal value. -func sqliteAuthBadReturnCode(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:113702:13: */ +func sqliteAuthBadReturnCode(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:113715:13: */ Xsqlite3ErrorMsg(tls, pParse, ts+11923, 0) (*Parse)(unsafe.Pointer(pParse)).Frc = SQLITE_ERROR } @@ -94333,7 +94352,7 @@ func sqliteAuthBadReturnCode(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:11370 // If SQLITE_IGNORE is returned and pExpr is not NULL, then pExpr is changed // to an SQL NULL expression. Otherwise, if pExpr is NULL, then SQLITE_IGNORE // is treated as SQLITE_DENY. In this case an error is left in pParse. -func Xsqlite3AuthReadCol(tls *libc.TLS, pParse uintptr, zTab uintptr, zCol uintptr, iDb int32) int32 { /* sqlite3.c:113716:20: */ +func Xsqlite3AuthReadCol(tls *libc.TLS, pParse uintptr, zTab uintptr, zCol uintptr, iDb int32) int32 { /* sqlite3.c:113729:20: */ bp := tls.Alloc(40) defer tls.Free(40) @@ -94367,7 +94386,7 @@ func Xsqlite3AuthReadCol(tls *libc.TLS, pParse uintptr, zTab uintptr, zCol uintp // If the auth function returns SQLITE_IGNORE, change the TK_COLUMN // instruction into a TK_NULL. If the auth function returns SQLITE_DENY, // then generate an error. -func Xsqlite3AuthRead(tls *libc.TLS, pParse uintptr, pExpr uintptr, pSchema uintptr, pTabList uintptr) { /* sqlite3.c:113752:21: */ +func Xsqlite3AuthRead(tls *libc.TLS, pParse uintptr, pExpr uintptr, pSchema uintptr, pTabList uintptr) { /* sqlite3.c:113765:21: */ var pTab uintptr = uintptr(0) // The table being read var zCol uintptr // Name of the column of the table var iSrc int32 // Index in pTabList->a[] of table being read @@ -94416,7 +94435,7 @@ func Xsqlite3AuthRead(tls *libc.TLS, pParse uintptr, pExpr uintptr, pSchema uint // either SQLITE_OK (zero) or SQLITE_IGNORE or SQLITE_DENY. If SQLITE_DENY // is returned, then the error count and error message in pParse are // modified appropriately. -func Xsqlite3AuthCheck(tls *libc.TLS, pParse uintptr, code int32, zArg1 uintptr, zArg2 uintptr, zArg3 uintptr) int32 { /* sqlite3.c:113809:20: */ +func Xsqlite3AuthCheck(tls *libc.TLS, pParse uintptr, code int32, zArg1 uintptr, zArg2 uintptr, zArg3 uintptr) int32 { /* sqlite3.c:113822:20: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb var rc int32 @@ -94450,7 +94469,7 @@ func Xsqlite3AuthCheck(tls *libc.TLS, pParse uintptr, code int32, zArg1 uintptr, // Push an authorization context. After this routine is called, the // zArg3 argument to authorization callbacks will be zContext until // popped. Or if pParse==0, this routine is a no-op. -func Xsqlite3AuthContextPush(tls *libc.TLS, pParse uintptr, pContext uintptr, zContext uintptr) { /* sqlite3.c:113858:21: */ +func Xsqlite3AuthContextPush(tls *libc.TLS, pParse uintptr, pContext uintptr, zContext uintptr) { /* sqlite3.c:113871:21: */ (*AuthContext)(unsafe.Pointer(pContext)).FpParse = pParse (*AuthContext)(unsafe.Pointer(pContext)).FzAuthContext = (*Parse)(unsafe.Pointer(pParse)).FzAuthContext @@ -94459,7 +94478,7 @@ func Xsqlite3AuthContextPush(tls *libc.TLS, pParse uintptr, pContext uintptr, zC // Pop an authorization context that was previously pushed // by sqlite3AuthContextPush -func Xsqlite3AuthContextPop(tls *libc.TLS, pContext uintptr) { /* sqlite3.c:113873:21: */ +func Xsqlite3AuthContextPop(tls *libc.TLS, pContext uintptr) { /* sqlite3.c:113886:21: */ if (*AuthContext)(unsafe.Pointer(pContext)).FpParse != 0 { (*Parse)(unsafe.Pointer((*AuthContext)(unsafe.Pointer(pContext)).FpParse)).FzAuthContext = (*AuthContext)(unsafe.Pointer(pContext)).FzAuthContext (*AuthContext)(unsafe.Pointer(pContext)).FpParse = uintptr(0) @@ -94474,7 +94493,7 @@ func Xsqlite3AuthContextPop(tls *libc.TLS, pContext uintptr) { /* sqlite3.c:1138 // This routine just records the fact that the lock is desired. The // code to make the lock occur is generated by a later call to // codeTableLocks() which occurs during sqlite3FinishCoding(). -func lockTable(tls *libc.TLS, pParse uintptr, iDb int32, iTab Pgno, isWriteLock U8, zName uintptr) { /* sqlite3.c:113932:29: */ +func lockTable(tls *libc.TLS, pParse uintptr, iDb int32, iTab Pgno, isWriteLock U8, zName uintptr) { /* sqlite3.c:113945:29: */ var pToplevel uintptr var i int32 var nBytes int32 @@ -94508,7 +94527,7 @@ func lockTable(tls *libc.TLS, pParse uintptr, iDb int32, iTab Pgno, isWriteLock } } -func Xsqlite3TableLock(tls *libc.TLS, pParse uintptr, iDb int32, iTab Pgno, isWriteLock U8, zName uintptr) { /* sqlite3.c:113968:21: */ +func Xsqlite3TableLock(tls *libc.TLS, pParse uintptr, iDb int32, iTab Pgno, isWriteLock U8, zName uintptr) { /* sqlite3.c:113981:21: */ if iDb == 1 { return } @@ -94520,7 +94539,7 @@ func Xsqlite3TableLock(tls *libc.TLS, pParse uintptr, iDb int32, iTab Pgno, isWr // Code an OP_TableLock instruction for each table locked by the // statement (configured by calls to sqlite3TableLock()). -func codeTableLocks(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:113984:13: */ +func codeTableLocks(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:113997:13: */ var i int32 var pVdbe uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe @@ -94544,7 +94563,7 @@ func codeTableLocks(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:113984:13: */ // // Note that if an error occurred, it might be the case that // no VDBE code was generated. -func Xsqlite3FinishCoding(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:114023:21: */ +func Xsqlite3FinishCoding(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:114036:21: */ var db uintptr var v uintptr @@ -94697,7 +94716,7 @@ func Xsqlite3FinishCoding(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:114023:2 // * Built-in SQL functions always take precedence over application-defined // SQL functions. In other words, it is not possible to override a // built-in function. -func Xsqlite3NestedParse(tls *libc.TLS, pParse uintptr, zFormat uintptr, va uintptr) { /* sqlite3.c:114194:21: */ +func Xsqlite3NestedParse(tls *libc.TLS, pParse uintptr, zFormat uintptr, va uintptr) { /* sqlite3.c:114207:21: */ bp := tls.Alloc(76) defer tls.Free(76) @@ -94748,7 +94767,7 @@ func Xsqlite3NestedParse(tls *libc.TLS, pParse uintptr, zFormat uintptr, va uint // auxiliary databases added using the ATTACH command. // // See also sqlite3LocateTable(). -func Xsqlite3FindTable(tls *libc.TLS, db uintptr, zName uintptr, zDatabase uintptr) uintptr { /* sqlite3.c:114249:22: */ +func Xsqlite3FindTable(tls *libc.TLS, db uintptr, zName uintptr, zDatabase uintptr) uintptr { /* sqlite3.c:114262:22: */ var p uintptr = uintptr(0) var i int32 @@ -94824,7 +94843,7 @@ func Xsqlite3FindTable(tls *libc.TLS, db uintptr, zName uintptr, zDatabase uintp // The difference between this routine and sqlite3FindTable() is that this // routine leaves an error message in pParse->zErrMsg where // sqlite3FindTable() does not. -func Xsqlite3LocateTable(tls *libc.TLS, pParse uintptr, flags U32, zName uintptr, zDbase uintptr) uintptr { /* sqlite3.c:114327:22: */ +func Xsqlite3LocateTable(tls *libc.TLS, pParse uintptr, flags U32, zName uintptr, zDbase uintptr) uintptr { /* sqlite3.c:114340:22: */ bp := tls.Alloc(40) defer tls.Free(40) @@ -94887,7 +94906,7 @@ func Xsqlite3LocateTable(tls *libc.TLS, pParse uintptr, flags U32, zName uintptr // the search to schema (p->pSchema) if it is not NULL. p->pSchema may be // non-NULL if it is part of a view or trigger program definition. See // sqlite3FixSrcList() for details. -func Xsqlite3LocateTableItem(tls *libc.TLS, pParse uintptr, flags U32, p uintptr) uintptr { /* sqlite3.c:114390:22: */ +func Xsqlite3LocateTableItem(tls *libc.TLS, pParse uintptr, flags U32, p uintptr) uintptr { /* sqlite3.c:114403:22: */ var zDb uintptr if (*SrcItem)(unsafe.Pointer(p)).FpSchema != 0 { @@ -94901,7 +94920,7 @@ func Xsqlite3LocateTableItem(tls *libc.TLS, pParse uintptr, flags U32, p uintptr // Return the preferred table name for system tables. Translate legacy // names into the new preferred names, as appropriate. -func Xsqlite3PreferredTableName(tls *libc.TLS, zName uintptr) uintptr { /* sqlite3.c:114410:27: */ +func Xsqlite3PreferredTableName(tls *libc.TLS, zName uintptr) uintptr { /* sqlite3.c:114423:27: */ if Xsqlite3_strnicmp(tls, zName, ts+8019, 7) == 0 { if Xsqlite3StrICmp(tls, zName+uintptr(7), ts+5844+7) == 0 { return ts + 12019 /* "sqlite_schema" */ @@ -94923,7 +94942,7 @@ func Xsqlite3PreferredTableName(tls *libc.TLS, zName uintptr) uintptr { /* sqlit // for duplicate index names is done.) The search order is // TEMP first, then MAIN, then any auxiliary databases added // using the ATTACH command. -func Xsqlite3FindIndex(tls *libc.TLS, db uintptr, zName uintptr, zDb uintptr) uintptr { /* sqlite3.c:114434:22: */ +func Xsqlite3FindIndex(tls *libc.TLS, db uintptr, zName uintptr, zDb uintptr) uintptr { /* sqlite3.c:114447:22: */ var p uintptr = uintptr(0) var i int32 // All mutexes are required for schema access. Make sure we hold them. @@ -94950,7 +94969,7 @@ func Xsqlite3FindIndex(tls *libc.TLS, db uintptr, zName uintptr, zDb uintptr) ui } // Reclaim the memory used by an index -func Xsqlite3FreeIndex(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:114454:21: */ +func Xsqlite3FreeIndex(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:114467:21: */ Xsqlite3DeleteIndexSamples(tls, db, p) Xsqlite3ExprDelete(tls, db, (*Index)(unsafe.Pointer(p)).FpPartIdxWhere) Xsqlite3ExprListDelete(tls, db, (*Index)(unsafe.Pointer(p)).FaColExpr) @@ -94966,7 +94985,7 @@ func Xsqlite3FreeIndex(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:1144 // unlike that index from its Table then remove the index from // the index hash table and free all memory structures associated // with the index. -func Xsqlite3UnlinkAndDeleteIndex(tls *libc.TLS, db uintptr, iDb int32, zIdxName uintptr) { /* sqlite3.c:114474:21: */ +func Xsqlite3UnlinkAndDeleteIndex(tls *libc.TLS, db uintptr, iDb int32, zIdxName uintptr) { /* sqlite3.c:114487:21: */ var pIndex uintptr var pHash uintptr @@ -94998,7 +95017,7 @@ func Xsqlite3UnlinkAndDeleteIndex(tls *libc.TLS, db uintptr, iDb int32, zIdxName // // Entry 0 (the "main" database) and entry 1 (the "temp" database) // are never candidates for being collapsed. -func Xsqlite3CollapseDatabaseArray(tls *libc.TLS, db uintptr) { /* sqlite3.c:114507:21: */ +func Xsqlite3CollapseDatabaseArray(tls *libc.TLS, db uintptr) { /* sqlite3.c:114520:21: */ var i int32 var j int32 for i = libc.AssignInt32(&j, 2); i < (*Sqlite3)(unsafe.Pointer(db)).FnDb; i++ { @@ -95024,7 +95043,7 @@ func Xsqlite3CollapseDatabaseArray(tls *libc.TLS, db uintptr) { /* sqlite3.c:114 // Reset the schema for the database at index iDb. Also reset the // TEMP schema. The reset is deferred if db->nSchemaLock is not zero. // Deferred resets may be run by calling with iDb<0. -func Xsqlite3ResetOneSchema(tls *libc.TLS, db uintptr, iDb int32) { /* sqlite3.c:114534:21: */ +func Xsqlite3ResetOneSchema(tls *libc.TLS, db uintptr, iDb int32) { /* sqlite3.c:114547:21: */ var i int32 if iDb >= 0 { @@ -95045,7 +95064,7 @@ func Xsqlite3ResetOneSchema(tls *libc.TLS, db uintptr, iDb int32) { /* sqlite3.c // Erase all schema information from all attached databases (including // "main" and "temp") for a single database connection. -func Xsqlite3ResetAllSchemasOfConnection(tls *libc.TLS, db uintptr) { /* sqlite3.c:114558:21: */ +func Xsqlite3ResetAllSchemasOfConnection(tls *libc.TLS, db uintptr) { /* sqlite3.c:114571:21: */ var i int32 Xsqlite3BtreeEnterAll(tls, db) for i = 0; i < (*Sqlite3)(unsafe.Pointer(db)).FnDb; i++ { @@ -95067,14 +95086,14 @@ func Xsqlite3ResetAllSchemasOfConnection(tls *libc.TLS, db uintptr) { /* sqlite3 } // This routine is called when a commit occurs. -func Xsqlite3CommitInternalChanges(tls *libc.TLS, db uintptr) { /* sqlite3.c:114582:21: */ +func Xsqlite3CommitInternalChanges(tls *libc.TLS, db uintptr) { /* sqlite3.c:114595:21: */ *(*U32)(unsafe.Pointer(db + 24)) &= libc.Uint32FromInt32(libc.CplInt32(DBFLAG_SchemaChange)) } // Set the expression associated with a column. This is usually // the DEFAULT value, but might also be the expression that computes // the value for a generated column. -func Xsqlite3ColumnSetExpr(tls *libc.TLS, pParse uintptr, pTab uintptr, pCol uintptr, pExpr uintptr) { /* sqlite3.c:114591:21: */ +func Xsqlite3ColumnSetExpr(tls *libc.TLS, pParse uintptr, pTab uintptr, pCol uintptr, pExpr uintptr) { /* sqlite3.c:114604:21: */ var pList uintptr pList = *(*uintptr)(unsafe.Pointer(pTab + 44 + 8 /* &.pDfltList */)) @@ -95097,7 +95116,7 @@ func Xsqlite3ColumnSetExpr(tls *libc.TLS, pParse uintptr, pTab uintptr, pCol uin // Return the expression associated with a column. The expression might be // the DEFAULT clause or the AS clause of a generated column. // Return NULL if the column has no associated expression. -func Xsqlite3ColumnExpr(tls *libc.TLS, pTab uintptr, pCol uintptr) uintptr { /* sqlite3.c:114617:21: */ +func Xsqlite3ColumnExpr(tls *libc.TLS, pTab uintptr, pCol uintptr) uintptr { /* sqlite3.c:114630:21: */ if int32((*Column)(unsafe.Pointer(pCol)).FiDflt) == 0 { return uintptr(0) } @@ -95114,7 +95133,7 @@ func Xsqlite3ColumnExpr(tls *libc.TLS, pTab uintptr, pCol uintptr) uintptr { /* } // Set the collating sequence name for a column. -func Xsqlite3ColumnSetColl(tls *libc.TLS, db uintptr, pCol uintptr, zColl uintptr) { /* sqlite3.c:114628:21: */ +func Xsqlite3ColumnSetColl(tls *libc.TLS, db uintptr, pCol uintptr, zColl uintptr) { /* sqlite3.c:114641:21: */ var nColl I64 var n I64 var zNew uintptr @@ -95133,7 +95152,7 @@ func Xsqlite3ColumnSetColl(tls *libc.TLS, db uintptr, pCol uintptr, zColl uintpt } // Return the collating squence name for a column -func Xsqlite3ColumnColl(tls *libc.TLS, pCol uintptr) uintptr { /* sqlite3.c:114653:27: */ +func Xsqlite3ColumnColl(tls *libc.TLS, pCol uintptr) uintptr { /* sqlite3.c:114666:27: */ var z uintptr if int32((*Column)(unsafe.Pointer(pCol)).FcolFlags)&COLFLAG_HASCOLL == 0 { return uintptr(0) @@ -95152,7 +95171,7 @@ func Xsqlite3ColumnColl(tls *libc.TLS, pCol uintptr) uintptr { /* sqlite3.c:1146 // Delete memory allocated for the column names of a table or view (the // Table.aCol[] array). -func Xsqlite3DeleteColumnNames(tls *libc.TLS, db uintptr, pTable uintptr) { /* sqlite3.c:114668:21: */ +func Xsqlite3DeleteColumnNames(tls *libc.TLS, db uintptr, pTable uintptr) { /* sqlite3.c:114681:21: */ var i int32 var pCol uintptr @@ -95202,7 +95221,7 @@ func Xsqlite3DeleteColumnNames(tls *libc.TLS, db uintptr, pTable uintptr) { /* s // lookaside memory, but some ephemeral Table objects do.) Or the // db parameter can be used with db->pnBytesFreed to measure the memory // used by the Table object. -func deleteTable(tls *libc.TLS, db uintptr, pTable uintptr) { /* sqlite3.c:114706:29: */ +func deleteTable(tls *libc.TLS, db uintptr, pTable uintptr) { /* sqlite3.c:114719:29: */ var pIndex uintptr var pNext uintptr @@ -95239,7 +95258,7 @@ func deleteTable(tls *libc.TLS, db uintptr, pTable uintptr) { /* sqlite3.c:11470 } -func Xsqlite3DeleteTable(tls *libc.TLS, db uintptr, pTable uintptr) { /* sqlite3.c:114763:21: */ +func Xsqlite3DeleteTable(tls *libc.TLS, db uintptr, pTable uintptr) { /* sqlite3.c:114776:21: */ // Do not delete the table until the reference count reaches zero. if !(pTable != 0) { return @@ -95252,7 +95271,7 @@ func Xsqlite3DeleteTable(tls *libc.TLS, db uintptr, pTable uintptr) { /* sqlite3 // Unlink the given table from the hash tables and the delete the // table structure with all its indices and foreign keys. -func Xsqlite3UnlinkAndDeleteTable(tls *libc.TLS, db uintptr, iDb int32, zTabName uintptr) { /* sqlite3.c:114775:21: */ +func Xsqlite3UnlinkAndDeleteTable(tls *libc.TLS, db uintptr, iDb int32, zTabName uintptr) { /* sqlite3.c:114788:21: */ var p uintptr var pDb uintptr @@ -95274,7 +95293,7 @@ func Xsqlite3UnlinkAndDeleteTable(tls *libc.TLS, db uintptr, iDb int32, zTabName // Tokens are often just pointers into the original SQL text and so // are not \000 terminated and are not persistent. The returned string // is \000 terminated and is persistent. -func Xsqlite3NameFromToken(tls *libc.TLS, db uintptr, pName uintptr) uintptr { /* sqlite3.c:114803:21: */ +func Xsqlite3NameFromToken(tls *libc.TLS, db uintptr, pName uintptr) uintptr { /* sqlite3.c:114816:21: */ var zName uintptr if pName != 0 { zName = Xsqlite3DbStrNDup(tls, db, (*Token)(unsafe.Pointer(pName)).Fz, uint64((*Token)(unsafe.Pointer(pName)).Fn)) @@ -95287,7 +95306,7 @@ func Xsqlite3NameFromToken(tls *libc.TLS, db uintptr, pName uintptr) uintptr { / // Open the sqlite_schema table stored in database number iDb for // writing. The table is opened using cursor 0. -func Xsqlite3OpenSchemaTable(tls *libc.TLS, p uintptr, iDb int32) { /* sqlite3.c:114818:21: */ +func Xsqlite3OpenSchemaTable(tls *libc.TLS, p uintptr, iDb int32) { /* sqlite3.c:114831:21: */ var v uintptr = Xsqlite3GetVdbe(tls, p) Xsqlite3TableLock(tls, p, iDb, uint32(SCHEMA_ROOT), uint8(1), ts+5844) Xsqlite3VdbeAddOp4Int(tls, v, OP_OpenWrite, 0, SCHEMA_ROOT, iDb, 5) @@ -95300,7 +95319,7 @@ func Xsqlite3OpenSchemaTable(tls *libc.TLS, p uintptr, iDb int32) { /* sqlite3.c // of a database ("main", "temp" or the name of an attached db). This // function returns the index of the named database in db->aDb[], or // -1 if the named db cannot be found. -func Xsqlite3FindDbName(tls *libc.TLS, db uintptr, zName uintptr) int32 { /* sqlite3.c:114833:20: */ +func Xsqlite3FindDbName(tls *libc.TLS, db uintptr, zName uintptr) int32 { /* sqlite3.c:114846:20: */ var i int32 = -1 // Database number if zName != 0 { var pDb uintptr @@ -95336,7 +95355,7 @@ func Xsqlite3FindDbName(tls *libc.TLS, db uintptr, zName uintptr) int32 { /* sql // "temp" or the name of an attached db). This routine returns the // index of the named database in db->aDb[], or -1 if the named db // does not exist. -func Xsqlite3FindDb(tls *libc.TLS, db uintptr, pName uintptr) int32 { /* sqlite3.c:114853:20: */ +func Xsqlite3FindDb(tls *libc.TLS, db uintptr, pName uintptr) int32 { /* sqlite3.c:114866:20: */ var i int32 // Database number var zName uintptr // Name we are searching for zName = Xsqlite3NameFromToken(tls, db, pName) @@ -95360,7 +95379,7 @@ func Xsqlite3FindDb(tls *libc.TLS, db uintptr, pName uintptr) int32 { /* sqlite3 // This routine sets the *ppUnqual pointer to point at the token (pName1 or // pName2) that stores the unqualified table name. The index of the // database "xxx" is returned. -func Xsqlite3TwoPartName(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 uintptr, pUnqual uintptr) int32 { /* sqlite3.c:114878:20: */ +func Xsqlite3TwoPartName(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 uintptr, pUnqual uintptr) int32 { /* sqlite3.c:114891:20: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -95387,7 +95406,7 @@ func Xsqlite3TwoPartName(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 u } // True if PRAGMA writable_schema is ON -func Xsqlite3WritableSchema(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:114911:20: */ +func Xsqlite3WritableSchema(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:114924:20: */ return libc.Bool32((*Sqlite3)(unsafe.Pointer(db)).Fflags&uint64(SQLITE_WriteSchema|SQLITE_Defensive) == uint64(SQLITE_WriteSchema)) } @@ -95401,7 +95420,7 @@ func Xsqlite3WritableSchema(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:1149 // When parsing the sqlite_schema table, this routine also checks to // make sure the "type", "name", and "tbl_name" columns are consistent // with the SQL. -func Xsqlite3CheckObjectName(tls *libc.TLS, pParse uintptr, zName uintptr, zType uintptr, zTblName uintptr) int32 { /* sqlite3.c:114933:20: */ +func Xsqlite3CheckObjectName(tls *libc.TLS, pParse uintptr, zName uintptr, zType uintptr, zTblName uintptr) int32 { /* sqlite3.c:114946:20: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -95432,7 +95451,7 @@ func Xsqlite3CheckObjectName(tls *libc.TLS, pParse uintptr, zName uintptr, zType } // Return the PRIMARY KEY index of a table -func Xsqlite3PrimaryKeyIndex(tls *libc.TLS, pTab uintptr) uintptr { /* sqlite3.c:114971:22: */ +func Xsqlite3PrimaryKeyIndex(tls *libc.TLS, pTab uintptr) uintptr { /* sqlite3.c:114984:22: */ var p uintptr for p = (*Table)(unsafe.Pointer(pTab)).FpIndex; p != 0 && !(int32(*(*uint16)(unsafe.Pointer(p + 56 /* &.idxType */))&0x3>>0) == SQLITE_IDXTYPE_PRIMARYKEY); p = (*Index)(unsafe.Pointer(p)).FpNext { } @@ -95443,7 +95462,7 @@ func Xsqlite3PrimaryKeyIndex(tls *libc.TLS, pTab uintptr) uintptr { /* sqlite3.c // for the column iCol in the table (as defined by the CREATE TABLE statement) // find the (first) offset of that column in index pIdx. Or return -1 // if column iCol is not used in index pIdx. -func Xsqlite3TableColumnToIndex(tls *libc.TLS, pIdx uintptr, iCol I16) I16 { /* sqlite3.c:114983:20: */ +func Xsqlite3TableColumnToIndex(tls *libc.TLS, pIdx uintptr, iCol I16) I16 { /* sqlite3.c:114996:20: */ var i int32 for i = 0; i < int32((*Index)(unsafe.Pointer(pIdx)).FnColumn); i++ { if int32(iCol) == int32(*(*I16)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FaiColumn + uintptr(i)*2))) { @@ -95463,7 +95482,7 @@ func Xsqlite3TableColumnToIndex(tls *libc.TLS, pIdx uintptr, iCol I16) I16 { /* // and only there are VIRTUAL columns to the left. // // If SQLITE_OMIT_GENERATED_COLUMNS, this routine is a no-op macro. -func Xsqlite3StorageColumnToTable(tls *libc.TLS, pTab uintptr, iCol I16) I16 { /* sqlite3.c:115003:20: */ +func Xsqlite3StorageColumnToTable(tls *libc.TLS, pTab uintptr, iCol I16) I16 { /* sqlite3.c:115016:20: */ if (*Table)(unsafe.Pointer(pTab)).FtabFlags&U32(TF_HasVirtual) != 0 { var i int32 for i = 0; i <= int32(iCol); i++ { @@ -95510,7 +95529,7 @@ func Xsqlite3StorageColumnToTable(tls *libc.TLS, pTab uintptr, iCol I16) I16 { / // this routine is a no-op macro. If the pTab does not have any virtual // columns, then this routine is no-op that always return iCol. If iCol // is negative (indicating the ROWID column) then this routine return iCol. -func Xsqlite3TableColumnToStorage(tls *libc.TLS, pTab uintptr, iCol I16) I16 { /* sqlite3.c:115051:20: */ +func Xsqlite3TableColumnToStorage(tls *libc.TLS, pTab uintptr, iCol I16) I16 { /* sqlite3.c:115064:20: */ var i int32 var n I16 @@ -95540,7 +95559,7 @@ func Xsqlite3TableColumnToStorage(tls *libc.TLS, pTab uintptr, iCol I16) I16 { / // exists, so that the prepared statement for CREATE TABLE IF NOT EXISTS // will return false for sqlite3_stmt_readonly() even if that statement // is a read-only no-op. -func sqlite3ForceNotReadOnly(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:115077:13: */ +func sqlite3ForceNotReadOnly(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:115090:13: */ var iReg int32 = libc.PreIncInt32(&(*Parse)(unsafe.Pointer(pParse)).FnMem, 1) var v uintptr = Xsqlite3GetVdbe(tls, pParse) if v != 0 { @@ -95563,7 +95582,7 @@ func sqlite3ForceNotReadOnly(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:11507 // routines will be called to add more information to this record. // At the end of the CREATE TABLE statement, the sqlite3EndTable() routine // is called to complete the construction of the new table record. -func Xsqlite3StartTable(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 uintptr, isTemp int32, isView int32, isVirtual int32, noErr int32) { /* sqlite3.c:115102:21: */ +func Xsqlite3StartTable(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 uintptr, isTemp int32, isView int32, isVirtual int32, noErr int32) { /* sqlite3.c:115115:21: */ bp := tls.Alloc(28) defer tls.Free(28) @@ -95821,8 +95840,8 @@ var aCode = [4]U8{ U8(SQLITE_CREATE_TEMP_TABLE), U8(SQLITE_CREATE_VIEW), U8(SQLITE_CREATE_TEMP_VIEW), -} /* sqlite3.c:115149:21 */ -var nullRow = [6]uint8{uint8(6), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0)} /* sqlite3.c:115228:23 */ +} /* sqlite3.c:115162:21 */ +var nullRow = [6]uint8{uint8(6), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0)} /* sqlite3.c:115241:23 */ // Set properties of a table column based on the (magical) // name of the column. @@ -95832,7 +95851,7 @@ var nullRow = [6]uint8{uint8(6), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0 // with any application-generated triggers. // Clean up the data structures associated with the RETURNING clause. -func sqlite3DeleteReturning(tls *libc.TLS, db uintptr, pRet uintptr) { /* sqlite3.c:115313:13: */ +func sqlite3DeleteReturning(tls *libc.TLS, db uintptr, pRet uintptr) { /* sqlite3.c:115326:13: */ var pHash uintptr pHash = (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+1*16)).FpSchema + 40 Xsqlite3HashInsert(tls, pHash, ts+12263, uintptr(0)) @@ -95854,7 +95873,7 @@ func sqlite3DeleteReturning(tls *libc.TLS, db uintptr, pRet uintptr) { /* sqlite // is attached to a DELETE, INSERT, or UPDATE, so construct it as a // RETURNING trigger instead. It will then be converted into the appropriate // type on the first call to sqlite3TriggersExist(). -func Xsqlite3AddReturning(tls *libc.TLS, pParse uintptr, pList uintptr) { /* sqlite3.c:115337:21: */ +func Xsqlite3AddReturning(tls *libc.TLS, pParse uintptr, pList uintptr) { /* sqlite3.c:115350:21: */ var pRet uintptr var pHash uintptr var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb @@ -95904,7 +95923,7 @@ func Xsqlite3AddReturning(tls *libc.TLS, pParse uintptr, pList uintptr) { /* sql // in a CREATE TABLE statement. sqlite3StartTable() gets called // first to get things going. Then this routine is called for each // column. -func Xsqlite3AddColumn(tls *libc.TLS, pParse uintptr, sName Token, sType Token) { /* sqlite3.c:115385:21: */ +func Xsqlite3AddColumn(tls *libc.TLS, pParse uintptr, sName Token, sType Token) { /* sqlite3.c:115398:21: */ bp := tls.Alloc(32) defer tls.Free(32) *(*Token)(unsafe.Pointer(bp + 16)) = sName @@ -96023,7 +96042,7 @@ func Xsqlite3AddColumn(tls *libc.TLS, pParse uintptr, sName Token, sType Token) // parsing a CREATE TABLE statement. A "NOT NULL" constraint has // been seen on a column. This routine sets the notNull flag on // the column currently under construction. -func Xsqlite3AddNotNull(tls *libc.TLS, pParse uintptr, onError int32) { /* sqlite3.c:115498:21: */ +func Xsqlite3AddNotNull(tls *libc.TLS, pParse uintptr, onError int32) { /* sqlite3.c:115511:21: */ var p uintptr var pCol uintptr p = (*Parse)(unsafe.Pointer(pParse)).FpNewTable @@ -96070,7 +96089,7 @@ func Xsqlite3AddNotNull(tls *libc.TLS, pParse uintptr, onError int32) { /* sqlit // // If none of the substrings in the above table are found, // SQLITE_AFF_NUMERIC is returned. -func Xsqlite3AffinityType(tls *libc.TLS, zIn uintptr, pCol uintptr) uint8 { /* sqlite3.c:115545:21: */ +func Xsqlite3AffinityType(tls *libc.TLS, zIn uintptr, pCol uintptr) uint8 { /* sqlite3.c:115558:21: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -96144,7 +96163,7 @@ func Xsqlite3AffinityType(tls *libc.TLS, zIn uintptr, pCol uintptr) uint8 { /* s // // This routine is called by the parser while in the middle of // parsing a CREATE TABLE statement. -func Xsqlite3AddDefaultValue(tls *libc.TLS, pParse uintptr, pExpr uintptr, zStart uintptr, zEnd uintptr) { /* sqlite3.c:115622:21: */ +func Xsqlite3AddDefaultValue(tls *libc.TLS, pParse uintptr, pExpr uintptr, zStart uintptr, zEnd uintptr) { /* sqlite3.c:115635:21: */ bp := tls.Alloc(60) defer tls.Free(60) @@ -96197,7 +96216,7 @@ func Xsqlite3AddDefaultValue(tls *libc.TLS, pParse uintptr, pExpr uintptr, zStar // if the expression is just a TK_STRING with an optional COLLATE clause. // If the expression is anything other than TK_STRING, the expression is // unchanged. -func sqlite3StringToId(tls *libc.TLS, p uintptr) { /* sqlite3.c:115681:13: */ +func sqlite3StringToId(tls *libc.TLS, p uintptr) { /* sqlite3.c:115694:13: */ if int32((*Expr)(unsafe.Pointer(p)).Fop) == TK_STRING { (*Expr)(unsafe.Pointer(p)).Fop = U8(TK_ID) } else if int32((*Expr)(unsafe.Pointer(p)).Fop) == TK_COLLATE && int32((*Expr)(unsafe.Pointer((*Expr)(unsafe.Pointer(p)).FpLeft)).Fop) == TK_STRING { @@ -96206,7 +96225,7 @@ func sqlite3StringToId(tls *libc.TLS, p uintptr) { /* sqlite3.c:115681:13: */ } // Tag the given column as being part of the PRIMARY KEY -func makeColumnPartOfPrimaryKey(tls *libc.TLS, pParse uintptr, pCol uintptr) { /* sqlite3.c:115692:13: */ +func makeColumnPartOfPrimaryKey(tls *libc.TLS, pParse uintptr, pCol uintptr) { /* sqlite3.c:115705:13: */ *(*U16)(unsafe.Pointer(pCol + 12)) |= U16(COLFLAG_PRIMKEY) if int32((*Column)(unsafe.Pointer(pCol)).FcolFlags)&COLFLAG_GENERATED != 0 { @@ -96231,7 +96250,7 @@ func makeColumnPartOfPrimaryKey(tls *libc.TLS, pParse uintptr, pCol uintptr) { / // // If the key is not an INTEGER PRIMARY KEY, then create a unique // index for the key. No index is created for INTEGER PRIMARY KEYs. -func Xsqlite3AddPrimaryKey(tls *libc.TLS, pParse uintptr, pList uintptr, onError int32, autoInc int32, sortOrder int32) { /* sqlite3.c:115722:21: */ +func Xsqlite3AddPrimaryKey(tls *libc.TLS, pParse uintptr, pList uintptr, onError int32, autoInc int32, sortOrder int32) { /* sqlite3.c:115735:21: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -96362,7 +96381,7 @@ primary_key_exit: } // Add a new CHECK constraint to the table currently under construction. -func Xsqlite3AddCheckConstraint(tls *libc.TLS, pParse uintptr, pCheckExpr uintptr, zStart uintptr, zEnd uintptr) { /* sqlite3.c:115799:21: */ +func Xsqlite3AddCheckConstraint(tls *libc.TLS, pParse uintptr, pCheckExpr uintptr, zStart uintptr, zEnd uintptr) { /* sqlite3.c:115812:21: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -96392,7 +96411,7 @@ func Xsqlite3AddCheckConstraint(tls *libc.TLS, pParse uintptr, pCheckExpr uintpt // Set the collation function of the most recently parsed table column // to the CollSeq given. -func Xsqlite3AddCollateType(tls *libc.TLS, pParse uintptr, pToken uintptr) { /* sqlite3.c:115833:21: */ +func Xsqlite3AddCollateType(tls *libc.TLS, pParse uintptr, pToken uintptr) { /* sqlite3.c:115846:21: */ var p uintptr var i int32 var zColl uintptr // Dequoted name of collation sequence @@ -96427,7 +96446,7 @@ func Xsqlite3AddCollateType(tls *libc.TLS, pParse uintptr, pToken uintptr) { /* // Change the most recently parsed column to be a GENERATED ALWAYS AS // column. -func Xsqlite3AddGenerated(tls *libc.TLS, pParse uintptr, pExpr uintptr, pType uintptr) { /* sqlite3.c:115866:21: */ +func Xsqlite3AddGenerated(tls *libc.TLS, pParse uintptr, pExpr uintptr, pType uintptr) { /* sqlite3.c:115879:21: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -96522,7 +96541,7 @@ generated_done: // // IMPLEMENTATION-OF: R-34230-56049 SQLite automatically increments // the schema-version whenever the schema changes. -func Xsqlite3ChangeCookie(tls *libc.TLS, pParse uintptr, iDb int32) { /* sqlite3.c:115934:21: */ +func Xsqlite3ChangeCookie(tls *libc.TLS, pParse uintptr, iDb int32) { /* sqlite3.c:115947:21: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe @@ -96536,7 +96555,7 @@ func Xsqlite3ChangeCookie(tls *libc.TLS, pParse uintptr, iDb int32) { /* sqlite3 // // The estimate is conservative. It might be larger that what is // really needed. -func identLength(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:115950:12: */ +func identLength(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:115963:12: */ var n int32 n = 0 __1: @@ -96571,7 +96590,7 @@ __3: // characters, does not begin with a digit and is not an SQL keyword, // then it is copied to the output buffer exactly as it is. Otherwise, // it is quoted using double-quotes. -func identPut(tls *libc.TLS, z uintptr, pIdx uintptr, zSignedIdent uintptr) { /* sqlite3.c:115971:13: */ +func identPut(tls *libc.TLS, z uintptr, pIdx uintptr, zSignedIdent uintptr) { /* sqlite3.c:115984:13: */ var zIdent uintptr = zSignedIdent var i int32 var j int32 @@ -96607,7 +96626,7 @@ func identPut(tls *libc.TLS, z uintptr, pIdx uintptr, zSignedIdent uintptr) { /* // Generate a CREATE TABLE statement appropriate for the given // table. Memory to hold the text of the statement is obtained // from sqliteMalloc() and must be freed by the calling function. -func createTableStmt(tls *libc.TLS, db uintptr, p uintptr) uintptr { /* sqlite3.c:115999:13: */ +func createTableStmt(tls *libc.TLS, db uintptr, p uintptr) uintptr { /* sqlite3.c:116012:13: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -96699,11 +96718,11 @@ var azType1 = [5]uintptr{ ts + 12738, ts + 12743, ts + 12748, -} /* sqlite3.c:116029:23 */ +} /* sqlite3.c:116042:23 */ // Resize an Index object to hold N columns total. Return SQLITE_OK // on success and SQLITE_NOMEM on an OOM error. -func resizeIndexObject(tls *libc.TLS, db uintptr, pIdx uintptr, N int32) int32 { /* sqlite3.c:116067:12: */ +func resizeIndexObject(tls *libc.TLS, db uintptr, pIdx uintptr, N int32) int32 { /* sqlite3.c:116080:12: */ var zExtra uintptr var nByte int32 if int32((*Index)(unsafe.Pointer(pIdx)).FnColumn) >= N { @@ -96732,7 +96751,7 @@ func resizeIndexObject(tls *libc.TLS, db uintptr, pIdx uintptr, N int32) int32 { } // Estimate the total row width for a table. -func estimateTableWidth(tls *libc.TLS, pTab uintptr) { /* sqlite3.c:116094:13: */ +func estimateTableWidth(tls *libc.TLS, pTab uintptr) { /* sqlite3.c:116107:13: */ var wTable uint32 = uint32(0) var pTabCol uintptr var i int32 @@ -96761,7 +96780,7 @@ __3: } // Estimate the average size of a row for an index. -func estimateIndexWidth(tls *libc.TLS, pIdx uintptr) { /* sqlite3.c:116108:13: */ +func estimateIndexWidth(tls *libc.TLS, pIdx uintptr) { /* sqlite3.c:116121:13: */ var wIndex uint32 = uint32(0) var i int32 var aCol uintptr = (*Table)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FpTable)).FaCol @@ -96781,7 +96800,7 @@ func estimateIndexWidth(tls *libc.TLS, pIdx uintptr) { /* sqlite3.c:116108:13: * // Return true if column number x is any of the first nCol entries of aiCol[]. // This is used to determine if the column number x appears in any of the // first nCol entries of an index. -func hasColumn(tls *libc.TLS, aiCol uintptr, nCol int32, x int32) int32 { /* sqlite3.c:116124:12: */ +func hasColumn(tls *libc.TLS, aiCol uintptr, nCol int32, x int32) int32 { /* sqlite3.c:116137:12: */ for libc.PostDecInt32(&nCol, 1) > 0 { if x == int32(*(*I16)(unsafe.Pointer(libc.PostIncUintptr(&aiCol, 2)))) { return 1 @@ -96801,7 +96820,7 @@ func hasColumn(tls *libc.TLS, aiCol uintptr, nCol int32, x int32) int32 { /* sql // This routine differs from hasColumn() in that both the column and the // collating sequence must match for this routine, but for hasColumn() only // the column name must match. -func isDupColumn(tls *libc.TLS, pIdx uintptr, nKey int32, pPk uintptr, iCol int32) int32 { /* sqlite3.c:116146:12: */ +func isDupColumn(tls *libc.TLS, pIdx uintptr, nKey int32, pPk uintptr, iCol int32) int32 { /* sqlite3.c:116159:12: */ var i int32 var j int32 @@ -96834,7 +96853,7 @@ func isDupColumn(tls *libc.TLS, pIdx uintptr, nKey int32, pPk uintptr, iCol int3 // // The colNotIdxed mask is AND-ed with the SrcList.a[].colUsed mask // to determine if the index is covering index. -func recomputeColumnsNotIndexed(tls *libc.TLS, pIdx uintptr) { /* sqlite3.c:116185:13: */ +func recomputeColumnsNotIndexed(tls *libc.TLS, pIdx uintptr) { /* sqlite3.c:116198:13: */ var m Bitmask = uint64(0) var j int32 var pTab uintptr = (*Index)(unsafe.Pointer(pIdx)).FpTable @@ -96873,7 +96892,7 @@ func recomputeColumnsNotIndexed(tls *libc.TLS, pIdx uintptr) { /* sqlite3.c:1161 // indices with the PRIMARY KEY columns. // // For virtual tables, only (1) is performed. -func convertToWithoutRowidTable(tls *libc.TLS, pParse uintptr, pTab uintptr) { /* sqlite3.c:116225:13: */ +func convertToWithoutRowidTable(tls *libc.TLS, pParse uintptr, pTab uintptr) { /* sqlite3.c:116238:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -97036,7 +97055,7 @@ func convertToWithoutRowidTable(tls *libc.TLS, pParse uintptr, pTab uintptr) { / // Return true if pTab is a virtual table and zName is a shadow table name // for that virtual table. -func Xsqlite3IsShadowTableOf(tls *libc.TLS, db uintptr, pTab uintptr, zName uintptr) int32 { /* sqlite3.c:116385:20: */ +func Xsqlite3IsShadowTableOf(tls *libc.TLS, db uintptr, pTab uintptr, zName uintptr) int32 { /* sqlite3.c:116398:20: */ var nName int32 // Length of zName var pMod uintptr // Module for the virtual table @@ -97069,7 +97088,7 @@ func Xsqlite3IsShadowTableOf(tls *libc.TLS, db uintptr, pTab uintptr, zName uint // exists and has an xShadowName method, then loop over all other ordinary // tables within the same schema looking for shadow tables of pTab, and mark // any shadow tables seen using the TF_Shadow flag. -func Xsqlite3MarkAllShadowTablesOf(tls *libc.TLS, db uintptr, pTab uintptr) { /* sqlite3.c:116408:21: */ +func Xsqlite3MarkAllShadowTablesOf(tls *libc.TLS, db uintptr, pTab uintptr) { /* sqlite3.c:116421:21: */ var nName int32 // Length of pTab->zName var pMod uintptr // Module for the virtual table var k uintptr // For looping through the symbol table @@ -97113,7 +97132,7 @@ func Xsqlite3MarkAllShadowTablesOf(tls *libc.TLS, db uintptr, pTab uintptr) { /* // // zName is temporarily modified while this routine is running, but is // restored to its original value prior to this routine returning. -func Xsqlite3ShadowTableName(tls *libc.TLS, db uintptr, zName uintptr) int32 { /* sqlite3.c:116444:20: */ +func Xsqlite3ShadowTableName(tls *libc.TLS, db uintptr, zName uintptr) int32 { /* sqlite3.c:116457:20: */ var zTail uintptr // Pointer to the last "_" in zName var pTab uintptr // Table that zName is a shadow of zTail = libc.Xstrrchr(tls, zName, '_') @@ -97150,7 +97169,7 @@ func Xsqlite3ShadowTableName(tls *libc.TLS, db uintptr, zName uintptr) int32 { / // was called to create a table generated from a // "CREATE TABLE ... AS SELECT ..." statement. The column names of // the new table will match the result set of the SELECT. -func Xsqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr, tabOpts U32, pSelect uintptr) { /* sqlite3.c:116505:21: */ +func Xsqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr, tabOpts U32, pSelect uintptr) { /* sqlite3.c:116518:21: */ bp := tls.Alloc(172) defer tls.Free(172) @@ -97471,7 +97490,7 @@ func Xsqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr } // The parser calls this routine in order to create a new VIEW -func Xsqlite3CreateView(tls *libc.TLS, pParse uintptr, pBegin uintptr, pName1 uintptr, pName2 uintptr, pCNames uintptr, pSelect uintptr, isTemp int32, noErr int32) { /* sqlite3.c:116847:21: */ +func Xsqlite3CreateView(tls *libc.TLS, pParse uintptr, pBegin uintptr, pName1 uintptr, pName2 uintptr, pCNames uintptr, pSelect uintptr, isTemp int32, noErr int32) { /* sqlite3.c:116860:21: */ bp := tls.Alloc(64) defer tls.Free(64) @@ -97589,7 +97608,7 @@ __10: // The Table structure pTable is really a VIEW. Fill in the names of // the columns of the view in the pTable structure. Return the number // of errors. If an error is seen leave an error message in pParse->zErrMsg. -func Xsqlite3ViewGetColumnNames(tls *libc.TLS, pParse uintptr, pTable uintptr) int32 { /* sqlite3.c:116939:20: */ +func Xsqlite3ViewGetColumnNames(tls *libc.TLS, pParse uintptr, pTable uintptr) int32 { /* sqlite3.c:116952:20: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -97704,7 +97723,7 @@ func Xsqlite3ViewGetColumnNames(tls *libc.TLS, pParse uintptr, pTable uintptr) i } // Clear the column names from every VIEW in database idx. -func sqliteViewResetAll(tls *libc.TLS, db uintptr, idx int32) { /* sqlite3.c:117067:13: */ +func sqliteViewResetAll(tls *libc.TLS, db uintptr, idx int32) { /* sqlite3.c:117080:13: */ var i uintptr if !(int32((*Schema)(unsafe.Pointer((*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(idx)*16)).FpSchema)).FschemaFlags)&DB_UnresetViews == DB_UnresetViews) { @@ -97734,7 +97753,7 @@ func sqliteViewResetAll(tls *libc.TLS, db uintptr, idx int32) { /* sqlite3.c:117 // We must continue looping until all tables and indices with // rootpage==iFrom have been converted to have a rootpage of iTo // in order to be certain that we got the right one. -func Xsqlite3RootPageMoved(tls *libc.TLS, db uintptr, iDb int32, iFrom Pgno, iTo Pgno) { /* sqlite3.c:117101:21: */ +func Xsqlite3RootPageMoved(tls *libc.TLS, db uintptr, iDb int32, iFrom Pgno, iTo Pgno) { /* sqlite3.c:117114:21: */ var pElem uintptr var pHash uintptr var pDb uintptr @@ -97760,7 +97779,7 @@ func Xsqlite3RootPageMoved(tls *libc.TLS, db uintptr, iDb int32, iFrom Pgno, iTo // Also write code to modify the sqlite_schema table and internal schema // if a root-page of another table is moved by the btree-layer whilst // erasing iTable (this can happen with an auto-vacuum database). -func destroyRootPage(tls *libc.TLS, pParse uintptr, iTable int32, iDb int32) { /* sqlite3.c:117131:13: */ +func destroyRootPage(tls *libc.TLS, pParse uintptr, iTable int32, iDb int32) { /* sqlite3.c:117144:13: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -97790,7 +97809,7 @@ func destroyRootPage(tls *libc.TLS, pParse uintptr, iTable int32, iDb int32) { / // Code to update the sqlite_schema tables and internal schema definitions // in case a root-page belonging to another table is moved by the btree layer // is also added (this can happen with an auto-vacuum database). -func destroyTable(tls *libc.TLS, pParse uintptr, pTab uintptr) { /* sqlite3.c:117161:13: */ +func destroyTable(tls *libc.TLS, pParse uintptr, pTab uintptr) { /* sqlite3.c:117174:13: */ // If the database may be auto-vacuum capable (if SQLITE_OMIT_AUTOVACUUM // is not defined), then it is important to call OP_Destroy on the // table and index root-pages in order, starting with the numerically @@ -97836,7 +97855,7 @@ func destroyTable(tls *libc.TLS, pParse uintptr, pTab uintptr) { /* sqlite3.c:11 // Remove entries from the sqlite_statN tables (for N in (1,2,3)) // after a DROP INDEX or DROP TABLE command. -func sqlite3ClearStatTables(tls *libc.TLS, pParse uintptr, iDb int32, zType uintptr, zName uintptr) { /* sqlite3.c:117210:13: */ +func sqlite3ClearStatTables(tls *libc.TLS, pParse uintptr, iDb int32, zType uintptr, zName uintptr) { /* sqlite3.c:117223:13: */ bp := tls.Alloc(64) defer tls.Free(64) @@ -97855,7 +97874,7 @@ func sqlite3ClearStatTables(tls *libc.TLS, pParse uintptr, iDb int32, zType uint } // Generate code to drop a table. -func Xsqlite3CodeDropTable(tls *libc.TLS, pParse uintptr, pTab uintptr, iDb int32, isView int32) { /* sqlite3.c:117233:21: */ +func Xsqlite3CodeDropTable(tls *libc.TLS, pParse uintptr, pTab uintptr, iDb int32, isView int32) { /* sqlite3.c:117246:21: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -97919,7 +97938,7 @@ func Xsqlite3CodeDropTable(tls *libc.TLS, pParse uintptr, pTab uintptr, iDb int3 // Return TRUE if shadow tables should be read-only in the current // context. -func Xsqlite3ReadOnlyShadowTables(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:117306:20: */ +func Xsqlite3ReadOnlyShadowTables(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:117319:20: */ if (*Sqlite3)(unsafe.Pointer(db)).Fflags&uint64(SQLITE_Defensive) != uint64(0) && (*Sqlite3)(unsafe.Pointer(db)).FpVtabCtx == uintptr(0) && (*Sqlite3)(unsafe.Pointer(db)).FnVdbeExec == 0 && @@ -97930,7 +97949,7 @@ func Xsqlite3ReadOnlyShadowTables(tls *libc.TLS, db uintptr) int32 { /* sqlite3. } // Return true if it is not allowed to drop the given table -func tableMayNotBeDropped(tls *libc.TLS, db uintptr, pTab uintptr) int32 { /* sqlite3.c:117322:12: */ +func tableMayNotBeDropped(tls *libc.TLS, db uintptr, pTab uintptr) int32 { /* sqlite3.c:117335:12: */ if Xsqlite3_strnicmp(tls, (*Table)(unsafe.Pointer(pTab)).FzName, ts+8019, 7) == 0 { if Xsqlite3_strnicmp(tls, (*Table)(unsafe.Pointer(pTab)).FzName+uintptr(7), ts+3237, 4) == 0 { return 0 @@ -97951,7 +97970,7 @@ func tableMayNotBeDropped(tls *libc.TLS, db uintptr, pTab uintptr) int32 { /* sq // This routine is called to do the work of a DROP TABLE statement. // pName is the name of the table to be dropped. -func Xsqlite3DropTable(tls *libc.TLS, pParse uintptr, pName uintptr, isView int32, noErr int32) { /* sqlite3.c:117341:21: */ +func Xsqlite3DropTable(tls *libc.TLS, pParse uintptr, pName uintptr, isView int32, noErr int32) { /* sqlite3.c:117354:21: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -98139,7 +98158,7 @@ exit_drop_table: // // The foreign key is set for IMMEDIATE processing. A subsequent call // to sqlite3DeferForeignKey() might change this to DEFERRED. -func Xsqlite3CreateForeignKey(tls *libc.TLS, pParse uintptr, pFromCol uintptr, pTo uintptr, pToCol uintptr, flags int32) { /* sqlite3.c:117461:21: */ +func Xsqlite3CreateForeignKey(tls *libc.TLS, pParse uintptr, pFromCol uintptr, pTo uintptr, pToCol uintptr, flags int32) { /* sqlite3.c:117474:21: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -98362,7 +98381,7 @@ fk_end: // parameter is 1 for INITIALLY DEFERRED and 0 for INITIALLY IMMEDIATE. // The behavior of the most recently created foreign key is adjusted // accordingly. -func Xsqlite3DeferForeignKey(tls *libc.TLS, pParse uintptr, isDeferred int32) { /* sqlite3.c:117593:21: */ +func Xsqlite3DeferForeignKey(tls *libc.TLS, pParse uintptr, isDeferred int32) { /* sqlite3.c:117606:21: */ var pTab uintptr var pFKey uintptr if libc.AssignUintptr(&pTab, (*Parse)(unsafe.Pointer(pParse)).FpNewTable) == uintptr(0) { @@ -98387,7 +98406,7 @@ func Xsqlite3DeferForeignKey(tls *libc.TLS, pParse uintptr, isDeferred int32) { // root page number of the index. If memRootPage is negative, then // the index already exists and must be cleared before being refilled and // the root page number of the index is taken from pIndex->tnum. -func sqlite3RefillIndex(tls *libc.TLS, pParse uintptr, pIndex uintptr, memRootPage int32) { /* sqlite3.c:117616:13: */ +func sqlite3RefillIndex(tls *libc.TLS, pParse uintptr, pIndex uintptr, memRootPage int32) { /* sqlite3.c:117629:13: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -98499,7 +98518,7 @@ func sqlite3RefillIndex(tls *libc.TLS, pParse uintptr, pIndex uintptr, memRootPa // Increase the allocation size to provide an extra nExtra bytes // of 8-byte aligned space after the Index object and return a // pointer to this extra space in *ppExtra. -func Xsqlite3AllocateIndexObject(tls *libc.TLS, db uintptr, nCol I16, nExtra int32, ppExtra uintptr) uintptr { /* sqlite3.c:117722:22: */ +func Xsqlite3AllocateIndexObject(tls *libc.TLS, db uintptr, nCol I16, nExtra int32, ppExtra uintptr) uintptr { /* sqlite3.c:117735:22: */ var p uintptr // Allocated index object var nByte int32 // Bytes of space for Index object + arrays @@ -98524,7 +98543,7 @@ func Xsqlite3AllocateIndexObject(tls *libc.TLS, db uintptr, nCol I16, nExtra int // If expression list pList contains an expression that was parsed with // an explicit "NULLS FIRST" or "NULLS LAST" clause, leave an error in // pParse and return non-zero. Otherwise, return zero. -func Xsqlite3HasExplicitNulls(tls *libc.TLS, pParse uintptr, pList uintptr) int32 { /* sqlite3.c:117755:20: */ +func Xsqlite3HasExplicitNulls(tls *libc.TLS, pParse uintptr, pList uintptr) int32 { /* sqlite3.c:117768:20: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -98557,7 +98576,7 @@ func Xsqlite3HasExplicitNulls(tls *libc.TLS, pParse uintptr, pList uintptr) int3 // pList is a list of columns to be indexed. pList will be NULL if this // is a primary key or unique-constraint on the most recent column added // to the table currently under construction. -func Xsqlite3CreateIndex(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 uintptr, pTblName uintptr, pList uintptr, onError int32, pStart uintptr, pPIWhere uintptr, sortOrder int32, ifNotExist int32, idxType U8) { /* sqlite3.c:117783:21: */ +func Xsqlite3CreateIndex(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 uintptr, pTblName uintptr, pList uintptr, onError int32, pStart uintptr, pPIWhere uintptr, sortOrder int32, ifNotExist int32, idxType U8) { /* sqlite3.c:117796:21: */ bp := tls.Alloc(196) defer tls.Free(196) @@ -99327,7 +99346,7 @@ __81: goto __101 } Xsqlite3ErrorMsg(tls, pParse, ts+14077, 0) - (*Parse)(unsafe.Pointer(pParse)).Frc = Xsqlite3CorruptError(tls, 118239) + (*Parse)(unsafe.Pointer(pParse)).Frc = Xsqlite3CorruptError(tls, 118252) goto exit_create_index __101: ; @@ -99513,7 +99532,7 @@ __113: // Apart from that, we have little to go on besides intuition as to // how aiRowEst[] should be initialized. The numbers generated here // are based on typical values found in actual indices. -func Xsqlite3DefaultRowEst(tls *libc.TLS, pIdx uintptr) { /* sqlite3.c:118394:21: */ +func Xsqlite3DefaultRowEst(tls *libc.TLS, pIdx uintptr) { /* sqlite3.c:118407:21: */ var a uintptr = (*Index)(unsafe.Pointer(pIdx)).FaiRowLogEst var x LogEst var nCopy int32 = func() int32 { @@ -99557,11 +99576,11 @@ func Xsqlite3DefaultRowEst(tls *libc.TLS, pIdx uintptr) { /* sqlite3.c:118394:21 } } -var aVal = [5]LogEst{int16(33), int16(32), int16(30), int16(28), int16(26)} /* sqlite3.c:118396:23 */ +var aVal = [5]LogEst{int16(33), int16(32), int16(30), int16(28), int16(26)} /* sqlite3.c:118409:23 */ // This routine will drop an existing named index. This routine // implements the DROP INDEX statement. -func Xsqlite3DropIndex(tls *libc.TLS, pParse uintptr, pName uintptr, ifExists int32) { /* sqlite3.c:118438:21: */ +func Xsqlite3DropIndex(tls *libc.TLS, pParse uintptr, pName uintptr, ifExists int32) { /* sqlite3.c:118451:21: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -99680,7 +99699,7 @@ exit_drop_index: // // Otherwise, if the realloc() fails, *pIdx is set to -1, *pnEntry remains // unchanged and a copy of pArray returned. -func Xsqlite3ArrayAllocate(tls *libc.TLS, db uintptr, pArray uintptr, szEntry int32, pnEntry uintptr, pIdx uintptr) uintptr { /* sqlite3.c:118520:21: */ +func Xsqlite3ArrayAllocate(tls *libc.TLS, db uintptr, pArray uintptr, szEntry int32, pnEntry uintptr, pIdx uintptr) uintptr { /* sqlite3.c:118533:21: */ var z uintptr var n Sqlite3_int64 = Sqlite3_int64(libc.AssignPtrInt32(pIdx, *(*int32)(unsafe.Pointer(pnEntry)))) if n&(n-int64(1)) == int64(0) { @@ -99707,7 +99726,7 @@ func Xsqlite3ArrayAllocate(tls *libc.TLS, db uintptr, pArray uintptr, szEntry in // need be. // // A new IdList is returned, or NULL if malloc() fails. -func Xsqlite3IdListAppend(tls *libc.TLS, pParse uintptr, pList uintptr, pToken uintptr) uintptr { /* sqlite3.c:118550:23: */ +func Xsqlite3IdListAppend(tls *libc.TLS, pParse uintptr, pList uintptr, pToken uintptr) uintptr { /* sqlite3.c:118563:23: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -99738,7 +99757,7 @@ func Xsqlite3IdListAppend(tls *libc.TLS, pParse uintptr, pList uintptr, pToken u } // Delete an IdList. -func Xsqlite3IdListDelete(tls *libc.TLS, db uintptr, pList uintptr) { /* sqlite3.c:118578:21: */ +func Xsqlite3IdListDelete(tls *libc.TLS, db uintptr, pList uintptr) { /* sqlite3.c:118591:21: */ var i int32 if pList == uintptr(0) { return @@ -99752,7 +99771,7 @@ func Xsqlite3IdListDelete(tls *libc.TLS, db uintptr, pList uintptr) { /* sqlite3 // Return the index in pList of the identifier named zId. Return -1 // if not found. -func Xsqlite3IdListIndex(tls *libc.TLS, pList uintptr, zName uintptr) int32 { /* sqlite3.c:118592:20: */ +func Xsqlite3IdListIndex(tls *libc.TLS, pList uintptr, zName uintptr) int32 { /* sqlite3.c:118605:20: */ var i int32 if pList == uintptr(0) { return -1 @@ -99790,7 +99809,7 @@ func Xsqlite3IdListIndex(tls *libc.TLS, pList uintptr, zName uintptr) int32 { /* // If a memory allocation fails or the SrcList becomes too large, leave // the original SrcList unchanged, return NULL, and leave an error message // in pParse. -func Xsqlite3SrcListEnlarge(tls *libc.TLS, pParse uintptr, pSrc uintptr, nExtra int32, iStart int32) uintptr { /* sqlite3.c:118633:24: */ +func Xsqlite3SrcListEnlarge(tls *libc.TLS, pParse uintptr, pSrc uintptr, nExtra int32, iStart int32) uintptr { /* sqlite3.c:118646:24: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -99872,7 +99891,7 @@ func Xsqlite3SrcListEnlarge(tls *libc.TLS, pParse uintptr, pSrc uintptr, nExtra // // Both pTable and pDatabase are assumed to be quoted. They are dequoted // before being added to the SrcList. -func Xsqlite3SrcListAppend(tls *libc.TLS, pParse uintptr, pList uintptr, pTable uintptr, pDatabase uintptr) uintptr { /* sqlite3.c:118722:24: */ +func Xsqlite3SrcListAppend(tls *libc.TLS, pParse uintptr, pList uintptr, pTable uintptr, pDatabase uintptr) uintptr { /* sqlite3.c:118735:24: */ var pItem uintptr var db uintptr // Cannot have C without B @@ -99911,7 +99930,7 @@ func Xsqlite3SrcListAppend(tls *libc.TLS, pParse uintptr, pList uintptr, pTable } // Assign VdbeCursor index numbers to all tables in a SrcList -func Xsqlite3SrcListAssignCursors(tls *libc.TLS, pParse uintptr, pList uintptr) { /* sqlite3.c:118767:21: */ +func Xsqlite3SrcListAssignCursors(tls *libc.TLS, pParse uintptr, pList uintptr) { /* sqlite3.c:118780:21: */ var i int32 var pItem uintptr @@ -99943,7 +99962,7 @@ func Xsqlite3SrcListAssignCursors(tls *libc.TLS, pParse uintptr, pList uintptr) } // Delete an entire SrcList including all its substructure. -func Xsqlite3SrcListDelete(tls *libc.TLS, db uintptr, pList uintptr) { /* sqlite3.c:118785:21: */ +func Xsqlite3SrcListDelete(tls *libc.TLS, db uintptr, pList uintptr) { /* sqlite3.c:118798:21: */ var i int32 var pItem uintptr if pList == uintptr(0) { @@ -100006,7 +100025,7 @@ __3: // // Return a new SrcList which encodes is the FROM with the new // term added. -func Xsqlite3SrcListAppendFromTerm(tls *libc.TLS, pParse uintptr, p uintptr, pTable uintptr, pDatabase uintptr, pAlias uintptr, pSubquery uintptr, pOn uintptr, pUsing uintptr) uintptr { /* sqlite3.c:118819:24: */ +func Xsqlite3SrcListAppendFromTerm(tls *libc.TLS, pParse uintptr, p uintptr, pTable uintptr, pDatabase uintptr, pAlias uintptr, pSubquery uintptr, pOn uintptr, pUsing uintptr) uintptr { /* sqlite3.c:118832:24: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -100070,7 +100089,7 @@ append_from_error: // Add an INDEXED BY or NOT INDEXED clause to the most recently added // element of the source-list passed as the second argument. -func Xsqlite3SrcListIndexedBy(tls *libc.TLS, pParse uintptr, p uintptr, pIndexedBy uintptr) { /* sqlite3.c:118870:21: */ +func Xsqlite3SrcListIndexedBy(tls *libc.TLS, pParse uintptr, p uintptr, pIndexedBy uintptr) { /* sqlite3.c:118883:21: */ if p != 0 && (*Token)(unsafe.Pointer(pIndexedBy)).Fn > uint32(0) { var pItem uintptr @@ -100092,7 +100111,7 @@ func Xsqlite3SrcListIndexedBy(tls *libc.TLS, pParse uintptr, p uintptr, pIndexed // Append the contents of SrcList p2 to SrcList p1 and return the resulting // SrcList. Or, if an error occurs, return NULL. In all cases, p1 and p2 // are deleted by this function. -func Xsqlite3SrcListAppendList(tls *libc.TLS, pParse uintptr, p1 uintptr, p2 uintptr) uintptr { /* sqlite3.c:118896:24: */ +func Xsqlite3SrcListAppendList(tls *libc.TLS, pParse uintptr, p1 uintptr, p2 uintptr) uintptr { /* sqlite3.c:118909:24: */ if p2 != 0 { var pNew uintptr = Xsqlite3SrcListEnlarge(tls, pParse, p1, (*SrcList)(unsafe.Pointer(p2)).FnSrc, 1) @@ -100109,7 +100128,7 @@ func Xsqlite3SrcListAppendList(tls *libc.TLS, pParse uintptr, p1 uintptr, p2 uin // Add the list of function arguments to the SrcList entry for a // table-valued-function. -func Xsqlite3SrcListFuncArgs(tls *libc.TLS, pParse uintptr, p uintptr, pList uintptr) { /* sqlite3.c:118915:21: */ +func Xsqlite3SrcListFuncArgs(tls *libc.TLS, pParse uintptr, p uintptr, pList uintptr) { /* sqlite3.c:118928:21: */ if p != 0 { var pItem uintptr = p + 8 + uintptr((*SrcList)(unsafe.Pointer(p)).FnSrc-1)*72 @@ -100133,7 +100152,7 @@ func Xsqlite3SrcListFuncArgs(tls *libc.TLS, pParse uintptr, p uintptr, pList uin // The operator is "natural cross join". The A and B operands are stored // in p->a[0] and p->a[1], respectively. The parser initially stores the // operator with A. This routine shifts that operator over to B. -func Xsqlite3SrcListShiftJoinType(tls *libc.TLS, p uintptr) { /* sqlite3.c:118943:21: */ +func Xsqlite3SrcListShiftJoinType(tls *libc.TLS, p uintptr) { /* sqlite3.c:118956:21: */ if p != 0 { var i int32 for i = (*SrcList)(unsafe.Pointer(p)).FnSrc - 1; i > 0; i-- { @@ -100144,7 +100163,7 @@ func Xsqlite3SrcListShiftJoinType(tls *libc.TLS, p uintptr) { /* sqlite3.c:11894 } // Generate VDBE code for a BEGIN statement. -func Xsqlite3BeginTransaction(tls *libc.TLS, pParse uintptr, type1 int32) { /* sqlite3.c:118956:21: */ +func Xsqlite3BeginTransaction(tls *libc.TLS, pParse uintptr, type1 int32) { /* sqlite3.c:118969:21: */ var db uintptr var v uintptr var i int32 @@ -100179,7 +100198,7 @@ func Xsqlite3BeginTransaction(tls *libc.TLS, pParse uintptr, type1 int32) { /* s // Generate VDBE code for a COMMIT or ROLLBACK statement. // Code for ROLLBACK is generated if eType==TK_ROLLBACK. Otherwise // code is generated for a COMMIT. -func Xsqlite3EndTransaction(tls *libc.TLS, pParse uintptr, eType int32) { /* sqlite3.c:118992:21: */ +func Xsqlite3EndTransaction(tls *libc.TLS, pParse uintptr, eType int32) { /* sqlite3.c:119005:21: */ var v uintptr var isRollback int32 @@ -100201,7 +100220,7 @@ func Xsqlite3EndTransaction(tls *libc.TLS, pParse uintptr, eType int32) { /* sql // This function is called by the parser when it parses a command to create, // release or rollback an SQL savepoint. -func Xsqlite3Savepoint(tls *libc.TLS, pParse uintptr, op int32, pName uintptr) { /* sqlite3.c:119014:21: */ +func Xsqlite3Savepoint(tls *libc.TLS, pParse uintptr, op int32, pName uintptr) { /* sqlite3.c:119027:21: */ var zName uintptr = Xsqlite3NameFromToken(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, pName) if zName != 0 { var v uintptr = Xsqlite3GetVdbe(tls, pParse) @@ -100214,11 +100233,11 @@ func Xsqlite3Savepoint(tls *libc.TLS, pParse uintptr, op int32, pName uintptr) { } } -var az = [3]uintptr{ts + 14440, ts + 14462, ts + 14446} /* sqlite3.c:119019:23 */ +var az = [3]uintptr{ts + 14440, ts + 14462, ts + 14446} /* sqlite3.c:119032:23 */ // Make sure the TEMP database is open and available for use. Return // the number of errors. Leave any error messages in the pParse structure. -func Xsqlite3OpenTempDatabase(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:119034:20: */ +func Xsqlite3OpenTempDatabase(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:119047:20: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -100244,13 +100263,13 @@ func Xsqlite3OpenTempDatabase(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3. return 0 } -var flags int32 = SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE | SQLITE_OPEN_EXCLUSIVE | SQLITE_OPEN_DELETEONCLOSE | SQLITE_OPEN_TEMP_DB /* sqlite3.c:119039:22 */ +var flags int32 = SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE | SQLITE_OPEN_EXCLUSIVE | SQLITE_OPEN_DELETEONCLOSE | SQLITE_OPEN_TEMP_DB /* sqlite3.c:119052:22 */ // Record the fact that the schema cookie will need to be verified // for database iDb. The code to actually verify the schema cookie // will occur at the end of the top-level VDBE and will be generated // later, by sqlite3FinishCoding(). -func sqlite3CodeVerifySchemaAtToplevel(tls *libc.TLS, pToplevel uintptr, iDb int32) { /* sqlite3.c:119069:13: */ +func sqlite3CodeVerifySchemaAtToplevel(tls *libc.TLS, pToplevel uintptr, iDb int32) { /* sqlite3.c:119082:13: */ if libc.Bool32((*Parse)(unsafe.Pointer(pToplevel)).FcookieMask&(YDbMask(YDbMask(1))< UTF-16 conversion if // possible. -func synthCollSeq(tls *libc.TLS, db uintptr, pColl uintptr) int32 { /* sqlite3.c:119579:12: */ +func synthCollSeq(tls *libc.TLS, db uintptr, pColl uintptr) int32 { /* sqlite3.c:119592:12: */ var pColl2 uintptr var z uintptr = (*CollSeq)(unsafe.Pointer(pColl)).FzName var i int32 @@ -100763,7 +100782,7 @@ func synthCollSeq(tls *libc.TLS, db uintptr, pColl uintptr) int32 { /* sqlite3.c return SQLITE_ERROR } -var aEnc = [3]U8{U8(SQLITE_UTF16BE), U8(SQLITE_UTF16LE), U8(SQLITE_UTF8)} /* sqlite3.c:119583:19 */ +var aEnc = [3]U8{U8(SQLITE_UTF16BE), U8(SQLITE_UTF16LE), U8(SQLITE_UTF8)} /* sqlite3.c:119596:19 */ // This routine is called on a collation sequence before it is used to // check that it is defined. An undefined collation sequence exists when @@ -100774,7 +100793,7 @@ var aEnc = [3]U8{U8(SQLITE_UTF16BE), U8(SQLITE_UTF16LE), U8(SQLITE_UTF8)} /* sql // request a definition of the collating sequence. If this doesn't work, // an equivalent collating sequence that uses a text encoding different // from the main database is substituted, if one is available. -func Xsqlite3CheckCollSeq(tls *libc.TLS, pParse uintptr, pColl uintptr) int32 { /* sqlite3.c:119606:20: */ +func Xsqlite3CheckCollSeq(tls *libc.TLS, pParse uintptr, pColl uintptr) int32 { /* sqlite3.c:119619:20: */ if pColl != 0 && (*CollSeq)(unsafe.Pointer(pColl)).FxCmp == uintptr(0) { var zName uintptr = (*CollSeq)(unsafe.Pointer(pColl)).FzName var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb @@ -100798,7 +100817,7 @@ func Xsqlite3CheckCollSeq(tls *libc.TLS, pParse uintptr, pColl uintptr) int32 { // Stored immediately after the three collation sequences is a copy of // the collation sequence name. A pointer to this string is stored in // each collation sequence structure. -func findCollSeqEntry(tls *libc.TLS, db uintptr, zName uintptr, create int32) uintptr { /* sqlite3.c:119634:16: */ +func findCollSeqEntry(tls *libc.TLS, db uintptr, zName uintptr, create int32) uintptr { /* sqlite3.c:119647:16: */ var pColl uintptr pColl = Xsqlite3HashFind(tls, db+444, zName) @@ -100843,7 +100862,7 @@ func findCollSeqEntry(tls *libc.TLS, db uintptr, zName uintptr, create int32) ui // cannot be found. // // See also: sqlite3LocateCollSeq(), sqlite3GetCollSeq() -func Xsqlite3FindCollSeq(tls *libc.TLS, db uintptr, enc U8, zName uintptr, create int32) uintptr { /* sqlite3.c:119686:24: */ +func Xsqlite3FindCollSeq(tls *libc.TLS, db uintptr, enc U8, zName uintptr, create int32) uintptr { /* sqlite3.c:119699:24: */ var pColl uintptr if zName != 0 { @@ -100859,7 +100878,7 @@ func Xsqlite3FindCollSeq(tls *libc.TLS, db uintptr, enc U8, zName uintptr, creat // Change the text encoding for a database connection. This means that // the pDfltColl must change as well. -func Xsqlite3SetTextEncoding(tls *libc.TLS, db uintptr, enc U8) { /* sqlite3.c:119708:21: */ +func Xsqlite3SetTextEncoding(tls *libc.TLS, db uintptr, enc U8) { /* sqlite3.c:119721:21: */ (*Sqlite3)(unsafe.Pointer(db)).Fenc = enc // EVIDENCE-OF: R-08308-17224 The default collating function for all @@ -100879,7 +100898,7 @@ func Xsqlite3SetTextEncoding(tls *libc.TLS, db uintptr, enc U8) { /* sqlite3.c:1 // sequence can be found. If no collation is found, leave an error message. // // See also: sqlite3LocateCollSeq(), sqlite3FindCollSeq() -func Xsqlite3GetCollSeq(tls *libc.TLS, pParse uintptr, enc U8, pColl uintptr, zName uintptr) uintptr { /* sqlite3.c:119731:24: */ +func Xsqlite3GetCollSeq(tls *libc.TLS, pParse uintptr, enc U8, pColl uintptr, zName uintptr) uintptr { /* sqlite3.c:119744:24: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -100925,7 +100944,7 @@ func Xsqlite3GetCollSeq(tls *libc.TLS, pParse uintptr, enc U8, pColl uintptr, zN // and generates an error message. // // See also: sqlite3FindCollSeq(), sqlite3GetCollSeq() -func Xsqlite3LocateCollSeq(tls *libc.TLS, pParse uintptr, zName uintptr) uintptr { /* sqlite3.c:119782:24: */ +func Xsqlite3LocateCollSeq(tls *libc.TLS, pParse uintptr, zName uintptr) uintptr { /* sqlite3.c:119795:24: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb var enc U8 = (*Sqlite3)(unsafe.Pointer(db)).Fenc var initbusy U8 = (*Sqlite3)(unsafe.Pointer(db)).Finit.Fbusy @@ -100966,7 +100985,7 @@ func Xsqlite3LocateCollSeq(tls *libc.TLS, pParse uintptr, zName uintptr) uintptr // If nArg==(-2) then any function with a non-null xSFunc is // a perfect match and any function with xSFunc NULL is // a non-match. -func matchQuality(tls *libc.TLS, p uintptr, nArg int32, enc U8) int32 { /* sqlite3.c:119825:12: */ +func matchQuality(tls *libc.TLS, p uintptr, nArg int32, enc U8) int32 { /* sqlite3.c:119838:12: */ var match int32 // Wrong number of arguments means "no match" @@ -101002,7 +101021,7 @@ func matchQuality(tls *libc.TLS, p uintptr, nArg int32, enc U8) int32 { /* sqlit // Search a FuncDefHash for a function with the given name. Return // a pointer to the matching FuncDef if found, or 0 if there is no match. -func Xsqlite3FunctionSearch(tls *libc.TLS, h int32, zFunc uintptr) uintptr { /* sqlite3.c:119861:24: */ +func Xsqlite3FunctionSearch(tls *libc.TLS, h int32, zFunc uintptr) uintptr { /* sqlite3.c:119874:24: */ var p uintptr for p = *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&Xsqlite3BuiltinFunctions)) + uintptr(h)*4)); p != 0; p = *(*uintptr)(unsafe.Pointer(p + 36)) { @@ -101014,7 +101033,7 @@ func Xsqlite3FunctionSearch(tls *libc.TLS, h int32, zFunc uintptr) uintptr { /* } // Insert a new FuncDef into a FuncDefHash hash table. -func Xsqlite3InsertBuiltinFuncs(tls *libc.TLS, aDef uintptr, nDef int32) { /* sqlite3.c:119878:21: */ +func Xsqlite3InsertBuiltinFuncs(tls *libc.TLS, aDef uintptr, nDef int32) { /* sqlite3.c:119891:21: */ var i int32 for i = 0; i < nDef; i++ { var pOther uintptr @@ -101052,7 +101071,7 @@ func Xsqlite3InsertBuiltinFuncs(tls *libc.TLS, aDef uintptr, nDef int32) { /* sq // If createFlag is false, then a function with the required name and // number of arguments may be returned even if the eTextRep flag does not // match that requested. -func Xsqlite3FindFunction(tls *libc.TLS, db uintptr, zName uintptr, nArg int32, enc U8, createFlag U8) uintptr { /* sqlite3.c:119923:24: */ +func Xsqlite3FindFunction(tls *libc.TLS, db uintptr, zName uintptr, nArg int32, enc U8, createFlag U8) uintptr { /* sqlite3.c:119936:24: */ var p uintptr // Iterator variable var pBest uintptr = uintptr(0) // Best match found so far var bestScore int32 = 0 // Score of best match @@ -101132,7 +101151,7 @@ func Xsqlite3FindFunction(tls *libc.TLS, db uintptr, zName uintptr, nArg int32, // of the schema hash tables). // // The Schema.cache_size variable is not cleared. -func Xsqlite3SchemaClear(tls *libc.TLS, p uintptr) { /* sqlite3.c:120015:21: */ +func Xsqlite3SchemaClear(tls *libc.TLS, p uintptr) { /* sqlite3.c:120028:21: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -101167,7 +101186,7 @@ func Xsqlite3SchemaClear(tls *libc.TLS, p uintptr) { /* sqlite3.c:120015:21: */ // Find and return the schema associated with a BTree. Create // a new one if necessary. -func Xsqlite3SchemaGet(tls *libc.TLS, db uintptr, pBt uintptr) uintptr { /* sqlite3.c:120047:23: */ +func Xsqlite3SchemaGet(tls *libc.TLS, db uintptr, pBt uintptr) uintptr { /* sqlite3.c:120060:23: */ var p uintptr if pBt != 0 { p = Xsqlite3BtreeSchema(tls, pBt, int32(unsafe.Sizeof(Schema{})), *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{Xsqlite3SchemaClear}))) @@ -101214,7 +101233,7 @@ func Xsqlite3SchemaGet(tls *libc.TLS, db uintptr, pBt uintptr) uintptr { /* sqli // pSrc->a[0].pTab Pointer to the Table object // pSrc->a[0].pIndex Pointer to the INDEXED BY index, if there is one // -func Xsqlite3SrcListLookup(tls *libc.TLS, pParse uintptr, pSrc uintptr) uintptr { /* sqlite3.c:120098:22: */ +func Xsqlite3SrcListLookup(tls *libc.TLS, pParse uintptr, pSrc uintptr) uintptr { /* sqlite3.c:120111:22: */ var pItem uintptr = pSrc + 8 /* &.a */ var pTab uintptr @@ -101232,7 +101251,7 @@ func Xsqlite3SrcListLookup(tls *libc.TLS, pParse uintptr, pSrc uintptr) uintptr // Generate byte-code that will report the number of rows modified // by a DELETE, INSERT, or UPDATE statement. -func Xsqlite3CodeChangeCount(tls *libc.TLS, v uintptr, regCounter int32, zColName uintptr) { /* sqlite3.c:120117:21: */ +func Xsqlite3CodeChangeCount(tls *libc.TLS, v uintptr, regCounter int32, zColName uintptr) { /* sqlite3.c:120130:21: */ Xsqlite3VdbeAddOp0(tls, v, OP_FkCheck) Xsqlite3VdbeAddOp2(tls, v, OP_ResultRow, regCounter, 1) Xsqlite3VdbeSetNumCols(tls, v, 1) @@ -101253,7 +101272,7 @@ func Xsqlite3CodeChangeCount(tls *libc.TLS, v uintptr, regCounter int32, zColNam // 3) The table is a shadow table, the database connection is in // defensive mode, and the current sqlite3_prepare() // is for a top-level SQL statement. -func tabIsReadOnly(tls *libc.TLS, pParse uintptr, pTab uintptr) int32 { /* sqlite3.c:120139:12: */ +func tabIsReadOnly(tls *libc.TLS, pParse uintptr, pTab uintptr) int32 { /* sqlite3.c:120152:12: */ var db uintptr if int32((*Table)(unsafe.Pointer(pTab)).FeTabType) == TABTYP_VTAB { return libc.Bool32((*Sqlite3_module)(unsafe.Pointer((*Module)(unsafe.Pointer((*VTable)(unsafe.Pointer(Xsqlite3GetVTable(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, pTab))).FpMod)).FpModule)).FxUpdate == uintptr(0)) @@ -101272,7 +101291,7 @@ func tabIsReadOnly(tls *libc.TLS, pParse uintptr, pTab uintptr) int32 { /* sqlit // Check to make sure the given table is writable. If it is not // writable, generate an error message and return 1. If it is // writable return 0; -func Xsqlite3IsReadOnly(tls *libc.TLS, pParse uintptr, pTab uintptr, viewOk int32) int32 { /* sqlite3.c:120158:20: */ +func Xsqlite3IsReadOnly(tls *libc.TLS, pParse uintptr, pTab uintptr, viewOk int32) int32 { /* sqlite3.c:120171:20: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -101290,7 +101309,7 @@ func Xsqlite3IsReadOnly(tls *libc.TLS, pParse uintptr, pTab uintptr, viewOk int3 // Evaluate a view and store its result in an ephemeral table. The // pWhere argument is an optional WHERE clause that restricts the // set of rows in the view that are to be added to the ephemeral table. -func Xsqlite3MaterializeView(tls *libc.TLS, pParse uintptr, pView uintptr, pWhere uintptr, pOrderBy uintptr, pLimit uintptr, iCur int32) { /* sqlite3.c:120179:21: */ +func Xsqlite3MaterializeView(tls *libc.TLS, pParse uintptr, pView uintptr, pWhere uintptr, pOrderBy uintptr, pLimit uintptr, iCur int32) { /* sqlite3.c:120192:21: */ bp := tls.Alloc(28) defer tls.Free(28) @@ -101322,7 +101341,7 @@ func Xsqlite3MaterializeView(tls *libc.TLS, pParse uintptr, pView uintptr, pWher // DELETE FROM table_wxyz WHERE a<5 AND b NOT NULL; // \________/ \________________/ // pTabList pWhere -func Xsqlite3DeleteFrom(tls *libc.TLS, pParse uintptr, pTabList uintptr, pWhere uintptr, pOrderBy uintptr, pLimit uintptr) { /* sqlite3.c:120318:21: */ +func Xsqlite3DeleteFrom(tls *libc.TLS, pParse uintptr, pTabList uintptr, pWhere uintptr, pOrderBy uintptr, pLimit uintptr) { /* sqlite3.c:120331:21: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -101928,7 +101947,7 @@ delete_from_cleanup: // starting at iIdxCur) that already points to the index entry to be deleted. // Except, this optimization is disabled if there are BEFORE triggers since // the trigger body might have moved the cursor. -func Xsqlite3GenerateRowDelete(tls *libc.TLS, pParse uintptr, pTab uintptr, pTrigger uintptr, iDataCur int32, iIdxCur int32, iPk int32, nPk I16, count U8, onconf U8, eMode U8, iIdxNoSeek int32) { /* sqlite3.c:120766:21: */ +func Xsqlite3GenerateRowDelete(tls *libc.TLS, pParse uintptr, pTab uintptr, pTrigger uintptr, iDataCur int32, iIdxCur int32, iPk int32, nPk I16, count U8, onconf U8, eMode U8, iIdxNoSeek int32) { /* sqlite3.c:120779:21: */ var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe // Vdbe var iOld int32 = 0 // First register in OLD.* array var iLabel int32 // Label resolved to end of generated code @@ -102065,7 +102084,7 @@ func Xsqlite3GenerateRowDelete(tls *libc.TLS, pParse uintptr, pTab uintptr, pTri // // 3. The "iDataCur" cursor must be already be positioned on the row // that is to be deleted. -func Xsqlite3GenerateRowIndexDelete(tls *libc.TLS, pParse uintptr, pTab uintptr, iDataCur int32, iIdxCur int32, aRegIdx uintptr, iIdxNoSeek int32) { /* sqlite3.c:120918:21: */ +func Xsqlite3GenerateRowIndexDelete(tls *libc.TLS, pParse uintptr, pTab uintptr, iDataCur int32, iIdxCur int32, aRegIdx uintptr, iIdxNoSeek int32) { /* sqlite3.c:120931:21: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -102154,7 +102173,7 @@ __3: // This optimization is helpful when doing a DELETE or an INTEGRITY_CHECK // on a table with multiple indices, and especially with the ROWID or // PRIMARY KEY columns of the index. -func Xsqlite3GenerateIndexKey(tls *libc.TLS, pParse uintptr, pIdx uintptr, iDataCur int32, regOut int32, prefixOnly int32, piPartIdxLabel uintptr, pPrior uintptr, regPrior int32) int32 { /* sqlite3.c:120983:20: */ +func Xsqlite3GenerateIndexKey(tls *libc.TLS, pParse uintptr, pIdx uintptr, iDataCur int32, regOut int32, prefixOnly int32, piPartIdxLabel uintptr, pPrior uintptr, regPrior int32) int32 { /* sqlite3.c:120996:20: */ var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe var j int32 var regBase int32 @@ -102210,7 +102229,7 @@ func Xsqlite3GenerateIndexKey(tls *libc.TLS, pParse uintptr, pIdx uintptr, iData // If a prior call to sqlite3GenerateIndexKey() generated a jump-over label // because it was a partial index, then this routine should be called to // resolve that label. -func Xsqlite3ResolvePartIdxLabel(tls *libc.TLS, pParse uintptr, iLabel int32) { /* sqlite3.c:121045:21: */ +func Xsqlite3ResolvePartIdxLabel(tls *libc.TLS, pParse uintptr, iLabel int32) { /* sqlite3.c:121058:21: */ if iLabel != 0 { Xsqlite3VdbeResolveLabel(tls, (*Parse)(unsafe.Pointer(pParse)).FpVdbe, iLabel) } @@ -102238,7 +102257,7 @@ func Xsqlite3ResolvePartIdxLabel(tls *libc.TLS, pParse uintptr, iLabel int32) { // #include "vdbeInt.h" // Return the collating function associated with a function. -func sqlite3GetFuncCollSeq(tls *libc.TLS, context uintptr) uintptr { /* sqlite3.c:121079:16: */ +func sqlite3GetFuncCollSeq(tls *libc.TLS, context uintptr) uintptr { /* sqlite3.c:121092:16: */ var pOp uintptr pOp = (*Vdbe)(unsafe.Pointer((*Sqlite3_context)(unsafe.Pointer(context)).FpVdbe)).FaOp + uintptr((*Sqlite3_context)(unsafe.Pointer(context)).FiOp-1)*20 @@ -102248,14 +102267,14 @@ func sqlite3GetFuncCollSeq(tls *libc.TLS, context uintptr) uintptr { /* sqlite3. // Indicate that the accumulator load should be skipped on this // iteration of the aggregate loop. -func sqlite3SkipAccumulatorLoad(tls *libc.TLS, context uintptr) { /* sqlite3.c:121092:13: */ +func sqlite3SkipAccumulatorLoad(tls *libc.TLS, context uintptr) { /* sqlite3.c:121105:13: */ (*Sqlite3_context)(unsafe.Pointer(context)).FisError = -1 (*Sqlite3_context)(unsafe.Pointer(context)).FskipFlag = U8(1) } // Implementation of the non-aggregate min() and max() functions -func minmaxFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121101:13: */ +func minmaxFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121114:13: */ var i int32 var mask int32 // 0 for min() or 0xffffffff for max() var iBest int32 @@ -102285,7 +102304,7 @@ func minmaxFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* s } // Return the type of the argument. -func typeofFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { /* sqlite3.c:121131:13: */ +func typeofFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { /* sqlite3.c:121144:13: */ var i int32 = Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(argv))) - 1 _ = NotUsed @@ -102296,18 +102315,18 @@ func typeofFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { / Xsqlite3_result_text(tls, context, azType2[i], -1, uintptr(0)) } -var azType2 = [5]uintptr{ts + 6142, ts + 6137, ts + 7892, ts + 7887, ts + 6132} /* sqlite3.c:121136:21 */ +var azType2 = [5]uintptr{ts + 6142, ts + 6137, ts + 7892, ts + 7887, ts + 6132} /* sqlite3.c:121149:21 */ // subtype(X) // // Return the subtype of X -func subtypeFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121156:13: */ +func subtypeFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121169:13: */ _ = argc Xsqlite3_result_int(tls, context, int32(Xsqlite3_value_subtype(tls, *(*uintptr)(unsafe.Pointer(argv))))) } // Implementation of the length() function -func lengthFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121168:13: */ +func lengthFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121181:13: */ _ = argc switch Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(argv))) { @@ -102356,7 +102375,7 @@ func lengthFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* s // // IMP: R-23979-26855 The abs(X) function returns the absolute value of // the numeric argument X. -func absFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121210:13: */ +func absFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121223:13: */ _ = argc switch Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(argv))) { @@ -102410,7 +102429,7 @@ func absFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqli // If both haystack and needle are BLOBs, then the result is one more than // the number of bytes in haystack prior to the first occurrence of needle, // or 0 if needle never occurs in haystack. -func instrFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121259:13: */ +func instrFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121272:13: */ var zHaystack uintptr var zNeedle uintptr var nHaystack int32 @@ -102525,7 +102544,7 @@ endInstrOOM: } // Implementation of the printf() (a.k.a. format()) SQL function. -func printfFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121327:13: */ +func printfFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121340:13: */ bp := tls.Alloc(44) defer tls.Free(44) @@ -102562,7 +102581,7 @@ func printfFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* s // If p1 is negative, then we begin abs(p1) from the end of x[]. // // If p2 is negative, return the p2 characters preceding p1. -func substrFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121363:13: */ +func substrFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121376:13: */ var z uintptr var z2 uintptr var len int32 @@ -102670,7 +102689,7 @@ func substrFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* s } // Implementation of the round() function -func roundFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121458:13: */ +func roundFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121471:13: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -102724,7 +102743,7 @@ func roundFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sq // the database handle that malloc() has failed and return NULL. // If nByte is larger than the maximum string or blob length, then // raise an SQLITE_TOOBIG exception and return NULL. -func contextMalloc(tls *libc.TLS, context uintptr, nByte I64) uintptr { /* sqlite3.c:121499:13: */ +func contextMalloc(tls *libc.TLS, context uintptr, nByte I64) uintptr { /* sqlite3.c:121512:13: */ var z uintptr var db uintptr = Xsqlite3_context_db_handle(tls, context) @@ -102741,7 +102760,7 @@ func contextMalloc(tls *libc.TLS, context uintptr, nByte I64) uintptr { /* sqlit } // Implementation of the upper() and lower() SQL functions. -func upperFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121520:13: */ +func upperFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121533:13: */ var z1 uintptr var z2 uintptr var i int32 @@ -102762,7 +102781,7 @@ func upperFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sq } } -func lowerFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121539:13: */ +func lowerFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121552:13: */ var z1 uintptr var z2 uintptr var i int32 @@ -102791,7 +102810,7 @@ func lowerFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sq // is. We might as well use the "version()" function as a substitute. // Implementation of random(). Return a random integer. -func randomFunc(tls *libc.TLS, context uintptr, NotUsed int32, NotUsed2 uintptr) { /* sqlite3.c:121572:13: */ +func randomFunc(tls *libc.TLS, context uintptr, NotUsed int32, NotUsed2 uintptr) { /* sqlite3.c:121585:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -102815,7 +102834,7 @@ func randomFunc(tls *libc.TLS, context uintptr, NotUsed int32, NotUsed2 uintptr) // Implementation of randomblob(N). Return a random blob // that is N bytes long. -func randomBlob(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121598:13: */ +func randomBlob(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121611:13: */ var n Sqlite3_int64 var p uintptr @@ -102833,7 +102852,7 @@ func randomBlob(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* s // Implementation of the last_insert_rowid() SQL function. The return // value is the same as the sqlite3_last_insert_rowid() API function. -func last_insert_rowid(tls *libc.TLS, context uintptr, NotUsed int32, NotUsed2 uintptr) { /* sqlite3.c:121622:13: */ +func last_insert_rowid(tls *libc.TLS, context uintptr, NotUsed int32, NotUsed2 uintptr) { /* sqlite3.c:121635:13: */ var db uintptr = Xsqlite3_context_db_handle(tls, context) _ = NotUsed _ = NotUsed2 @@ -102848,7 +102867,7 @@ func last_insert_rowid(tls *libc.TLS, context uintptr, NotUsed int32, NotUsed2 u // IMP: R-32760-32347 The changes() SQL function is a wrapper // around the sqlite3_changes64() C/C++ function and hence follows the // same rules for counting changes. -func changes(tls *libc.TLS, context uintptr, NotUsed int32, NotUsed2 uintptr) { /* sqlite3.c:121642:13: */ +func changes(tls *libc.TLS, context uintptr, NotUsed int32, NotUsed2 uintptr) { /* sqlite3.c:121655:13: */ var db uintptr = Xsqlite3_context_db_handle(tls, context) _ = NotUsed _ = NotUsed2 @@ -102857,7 +102876,7 @@ func changes(tls *libc.TLS, context uintptr, NotUsed int32, NotUsed2 uintptr) { // Implementation of the total_changes() SQL function. The return value is // the same as the sqlite3_total_changes64() API function. -func total_changes(tls *libc.TLS, context uintptr, NotUsed int32, NotUsed2 uintptr) { /* sqlite3.c:121656:13: */ +func total_changes(tls *libc.TLS, context uintptr, NotUsed int32, NotUsed2 uintptr) { /* sqlite3.c:121669:13: */ var db uintptr = Xsqlite3_context_db_handle(tls, context) _ = NotUsed _ = NotUsed2 @@ -102872,20 +102891,20 @@ type compareInfo = struct { FmatchOne U8 FmatchSet U8 FnoCase U8 -} /* sqlite3.c:121671:1 */ +} /* sqlite3.c:121684:1 */ // For LIKE and GLOB matching on EBCDIC machines, assume that every // character is exactly one byte in size. Also, provde the Utf8Read() // macro for fast reading of the next character in the common case where // the next character is ASCII. -var globInfo = compareInfo{FmatchAll: U8('*'), FmatchOne: U8('?'), FmatchSet: U8('[')} /* sqlite3.c:121691:33 */ +var globInfo = compareInfo{FmatchAll: U8('*'), FmatchOne: U8('?'), FmatchSet: U8('[')} /* sqlite3.c:121704:33 */ // The correct SQL-92 behavior is for the LIKE operator to ignore // case. Thus 'a' LIKE 'A' would be true. -var likeInfoNorm = compareInfo{FmatchAll: U8('%'), FmatchOne: U8('_'), FnoCase: U8(1)} /* sqlite3.c:121694:33 */ +var likeInfoNorm = compareInfo{FmatchAll: U8('%'), FmatchOne: U8('_'), FnoCase: U8(1)} /* sqlite3.c:121707:33 */ // If SQLITE_CASE_SENSITIVE_LIKE is defined, then the LIKE operator // is case sensitive causing 'a' LIKE 'A' to be false -var likeInfoAlt = compareInfo{FmatchAll: U8('%'), FmatchOne: U8('_')} /* sqlite3.c:121697:33 */ +var likeInfoAlt = compareInfo{FmatchAll: U8('%'), FmatchOne: U8('_')} /* sqlite3.c:121710:33 */ // Possible error returns from patternMatch() @@ -102925,7 +102944,7 @@ var likeInfoAlt = compareInfo{FmatchAll: U8('%'), FmatchOne: U8('_')} /* sqlite3 // The comments within this routine usually assume glob matching. // // This routine is usually quick, but can be N**2 in the worst case. -func patternCompare(tls *libc.TLS, zPattern uintptr, zString uintptr, pInfo uintptr, matchOther U32) int32 { /* sqlite3.c:121744:12: */ +func patternCompare(tls *libc.TLS, zPattern uintptr, zString uintptr, pInfo uintptr, matchOther U32) int32 { /* sqlite3.c:121757:12: */ bp := tls.Alloc(11) defer tls.Free(11) *(*uintptr)(unsafe.Pointer(bp)) = zPattern @@ -103111,13 +103130,13 @@ func patternCompare(tls *libc.TLS, zPattern uintptr, zString uintptr, pInfo uint // The sqlite3_strglob() interface. Return 0 on a match (like strcmp()) and // non-zero if there is no match. -func Xsqlite3_strglob(tls *libc.TLS, zGlobPattern uintptr, zString uintptr) int32 { /* sqlite3.c:121877:16: */ +func Xsqlite3_strglob(tls *libc.TLS, zGlobPattern uintptr, zString uintptr) int32 { /* sqlite3.c:121890:16: */ return patternCompare(tls, zGlobPattern, zString, uintptr(unsafe.Pointer(&globInfo)), uint32('[')) } // The sqlite3_strlike() interface. Return 0 on a match and non-zero for // a miss - like strcmp(). -func Xsqlite3_strlike(tls *libc.TLS, zPattern uintptr, zStr uintptr, esc uint32) int32 { /* sqlite3.c:121885:16: */ +func Xsqlite3_strlike(tls *libc.TLS, zPattern uintptr, zStr uintptr, esc uint32) int32 { /* sqlite3.c:121898:16: */ return patternCompare(tls, zPattern, zStr, uintptr(unsafe.Pointer(&likeInfoNorm)), esc) } @@ -103135,7 +103154,7 @@ func Xsqlite3_strlike(tls *libc.TLS, zPattern uintptr, zStr uintptr, esc uint32) // // This same function (with a different compareInfo structure) computes // the GLOB operator. -func likeFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121911:13: */ +func likeFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121924:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -103198,7 +103217,7 @@ func likeFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sql // Implementation of the NULLIF(x,y) function. The result is the first // argument if the arguments are different. The result is NULL if the // arguments are equal to each other. -func nullifFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { /* sqlite3.c:121982:13: */ +func nullifFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { /* sqlite3.c:121995:13: */ var pColl uintptr = sqlite3GetFuncCollSeq(tls, context) _ = NotUsed if Xsqlite3MemCompare(tls, *(*uintptr)(unsafe.Pointer(argv)), *(*uintptr)(unsafe.Pointer(argv + 1*4)), pColl) != 0 { @@ -103208,7 +103227,7 @@ func nullifFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { / // Implementation of the sqlite_version() function. The result is the version // of the SQLite library that is running. -func versionFunc(tls *libc.TLS, context uintptr, NotUsed int32, NotUsed2 uintptr) { /* sqlite3.c:121998:13: */ +func versionFunc(tls *libc.TLS, context uintptr, NotUsed int32, NotUsed2 uintptr) { /* sqlite3.c:122011:13: */ _ = NotUsed _ = NotUsed2 // IMP: R-48699-48617 This function is an SQL wrapper around the @@ -103219,7 +103238,7 @@ func versionFunc(tls *libc.TLS, context uintptr, NotUsed int32, NotUsed2 uintptr // Implementation of the sqlite_source_id() function. The result is a string // that identifies the particular version of the source code used to build // SQLite. -func sourceidFunc(tls *libc.TLS, context uintptr, NotUsed int32, NotUsed2 uintptr) { /* sqlite3.c:122014:13: */ +func sourceidFunc(tls *libc.TLS, context uintptr, NotUsed int32, NotUsed2 uintptr) { /* sqlite3.c:122027:13: */ _ = NotUsed _ = NotUsed2 // IMP: R-24470-31136 This function is an SQL wrapper around the @@ -103230,7 +103249,7 @@ func sourceidFunc(tls *libc.TLS, context uintptr, NotUsed int32, NotUsed2 uintpt // Implementation of the sqlite_log() function. This is a wrapper around // sqlite3_log(). The return value is NULL. The function exists purely for // its side-effects. -func errlogFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122030:13: */ +func errlogFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122043:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -103242,7 +103261,7 @@ func errlogFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* s // Implementation of the sqlite_compileoption_used() function. // The result is an integer that identifies if the compiler option // was used to build SQLite. -func compileoptionusedFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122046:13: */ +func compileoptionusedFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122059:13: */ var zOptName uintptr _ = argc @@ -103257,7 +103276,7 @@ func compileoptionusedFunc(tls *libc.TLS, context uintptr, argc int32, argv uint // Implementation of the sqlite_compileoption_get() function. // The result is a string that identifies the compiler options // used to build SQLite. -func compileoptiongetFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122070:13: */ +func compileoptiongetFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122083:13: */ var n int32 _ = argc @@ -103272,11 +103291,11 @@ func compileoptiongetFunc(tls *libc.TLS, context uintptr, argc int32, argv uintp var hexdigits = [16]uint8{ uint8('0'), uint8('1'), uint8('2'), uint8('3'), uint8('4'), uint8('5'), uint8('6'), uint8('7'), uint8('8'), uint8('9'), uint8('A'), uint8('B'), uint8('C'), uint8('D'), uint8('E'), uint8('F'), -} /* sqlite3.c:122088:19 */ +} /* sqlite3.c:122101:19 */ // Append to pStr text that is the SQL literal representation of the // value contained in pValue. -func Xsqlite3QuoteValue(tls *libc.TLS, pStr uintptr, pValue uintptr) { /* sqlite3.c:122097:21: */ +func Xsqlite3QuoteValue(tls *libc.TLS, pStr uintptr, pValue uintptr) { /* sqlite3.c:122110:21: */ bp := tls.Alloc(40) defer tls.Free(40) @@ -103357,7 +103376,7 @@ func Xsqlite3QuoteValue(tls *libc.TLS, pStr uintptr, pValue uintptr) { /* sqlite // as needed. BLOBs are encoded as hexadecimal literals. Strings with // embedded NUL characters cannot be represented as string literals in SQL // and hence the returned string literal is truncated prior to the first NUL. -func quoteFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122166:13: */ +func quoteFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122179:13: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -103380,7 +103399,7 @@ func quoteFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sq // The unicode() function. Return the integer unicode code-point value // for the first character of the input string. -func unicodeFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122185:13: */ +func unicodeFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122198:13: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -103394,7 +103413,7 @@ func unicodeFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* // The char() function takes zero or more arguments, each of which is // an integer. It constructs a string where each character of the string // is the unicode character for the corresponding integer argument. -func charFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122200:13: */ +func charFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122213:13: */ var z uintptr var zOut uintptr var i int32 @@ -103432,7 +103451,7 @@ func charFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sql // The hex() function. Interpret the argument as a blob. Return // a hexadecimal rendering as text. -func hexFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122241:13: */ +func hexFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122254:13: */ var i int32 var n int32 var pBlob uintptr @@ -103470,7 +103489,7 @@ func hexFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqli } // The zeroblob(N) function returns a zero-filled blob of size N bytes. -func zeroblobFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122269:13: */ +func zeroblobFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122282:13: */ var n I64 var rc int32 @@ -103489,7 +103508,7 @@ func zeroblobFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* // them A, B, and C. The result is also a string which is derived // from A by replacing every occurrence of B with C. The match // must be exact. Collating sequences are not used. -func replaceFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122292:13: */ +func replaceFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122305:13: */ var zStr uintptr // The input string A var zPattern uintptr // The pattern string B var zRep uintptr // The replacement string C @@ -103578,7 +103597,7 @@ func replaceFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* // Implementation of the TRIM(), LTRIM(), and RTRIM() functions. // The userdata is 0x1 for left trim, 0x2 for right trim, 0x3 for both. -func trimFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122385:13: */ +func trimFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122398:13: */ var zIn uintptr // Input string var zCharSet uintptr // Set of characters to trim var nIn uint32 // Number of bytes in input @@ -103681,8 +103700,8 @@ func trimFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sql Xsqlite3_result_text(tls, context, zIn, int32(nIn), libc.UintptrFromInt32(-1)) } -var lenOne = [1]uint32{uint32(1)} /* sqlite3.c:122407:27 */ -var azOne = [1]uintptr{uintptr(ts + 10805 /* " " */)} /* sqlite3.c:122408:26 */ +var lenOne = [1]uint32{uint32(1)} /* sqlite3.c:122420:27 */ +var azOne = [1]uintptr{uintptr(ts + 10805 /* " " */)} /* sqlite3.c:122421:26 */ // IMP: R-25361-16150 This function is omitted from SQLite by default. It // is only available if the SQLITE_SOUNDEX compile-time option is used @@ -103691,7 +103710,7 @@ var azOne = [1]uintptr{uintptr(ts + 10805 /* " " */)} /* sqlite3.c:122408:26 */ // // IMP: R-59782-00072 The soundex(X) function returns a string that is the // soundex encoding of the string X. -func soundexFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122498:13: */ +func soundexFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122511:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -103742,10 +103761,10 @@ var iCode = [128]uint8{ uint8(1), uint8(2), uint8(6), uint8(2), uint8(3), uint8(0), uint8(1), uint8(0), uint8(2), uint8(0), uint8(2), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(1), uint8(2), uint8(3), uint8(0), uint8(1), uint8(2), uint8(0), uint8(0), uint8(2), uint8(2), uint8(4), uint8(5), uint8(5), uint8(0), uint8(1), uint8(2), uint8(6), uint8(2), uint8(3), uint8(0), uint8(1), uint8(0), uint8(2), uint8(0), uint8(2), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), -} /* sqlite3.c:122506:30 */ +} /* sqlite3.c:122519:30 */ // A function that loads a shared-library extension then returns NULL. -func loadExt(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122551:13: */ +func loadExt(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122564:13: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -103781,11 +103800,11 @@ type SumCtx1 = struct { Foverflow U8 Fapprox U8 F__ccgo_pad1 [6]byte -} /* sqlite3.c:122582:9 */ +} /* sqlite3.c:122595:9 */ // An instance of the following structure holds the context of a // sum() or avg() aggregate computation. -type SumCtx = SumCtx1 /* sqlite3.c:122582:23 */ +type SumCtx = SumCtx1 /* sqlite3.c:122595:23 */ // Routines used to compute the sum, average, and total. // @@ -103795,7 +103814,7 @@ type SumCtx = SumCtx1 /* sqlite3.c:122582:23 */ // SUM might return an integer if it never encounters a floating point // value. TOTAL never fails, but SUM might through an exception if // it overflows an integer. -func sumStep(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122601:13: */ +func sumStep(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122614:13: */ var p uintptr var type1 int32 @@ -103817,7 +103836,7 @@ func sumStep(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqli } } -func sumInverse(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122623:13: */ +func sumInverse(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122636:13: */ var p uintptr var type1 int32 @@ -103840,7 +103859,7 @@ func sumInverse(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* s } } -func sumFinalize(tls *libc.TLS, context uintptr) { /* sqlite3.c:122648:13: */ +func sumFinalize(tls *libc.TLS, context uintptr) { /* sqlite3.c:122661:13: */ var p uintptr p = Xsqlite3_aggregate_context(tls, context, 0) if p != 0 && (*SumCtx)(unsafe.Pointer(p)).Fcnt > int64(0) { @@ -103854,7 +103873,7 @@ func sumFinalize(tls *libc.TLS, context uintptr) { /* sqlite3.c:122648:13: */ } } -func avgFinalize(tls *libc.TLS, context uintptr) { /* sqlite3.c:122661:13: */ +func avgFinalize(tls *libc.TLS, context uintptr) { /* sqlite3.c:122674:13: */ var p uintptr p = Xsqlite3_aggregate_context(tls, context, 0) if p != 0 && (*SumCtx)(unsafe.Pointer(p)).Fcnt > int64(0) { @@ -103862,7 +103881,7 @@ func avgFinalize(tls *libc.TLS, context uintptr) { /* sqlite3.c:122661:13: */ } } -func totalFinalize(tls *libc.TLS, context uintptr) { /* sqlite3.c:122668:13: */ +func totalFinalize(tls *libc.TLS, context uintptr) { /* sqlite3.c:122681:13: */ var p uintptr p = Xsqlite3_aggregate_context(tls, context, 0) // (double)0 In case of SQLITE_OMIT_FLOATING_POINT... @@ -103876,14 +103895,14 @@ func totalFinalize(tls *libc.TLS, context uintptr) { /* sqlite3.c:122668:13: */ // The following structure keeps track of state information for the // count() aggregate function. -type CountCtx1 = struct{ Fn I64 } /* sqlite3.c:122679:9 */ +type CountCtx1 = struct{ Fn I64 } /* sqlite3.c:122692:9 */ // The following structure keeps track of state information for the // count() aggregate function. -type CountCtx = CountCtx1 /* sqlite3.c:122679:25 */ +type CountCtx = CountCtx1 /* sqlite3.c:122692:25 */ // Routines to implement the count() aggregate function. -func countStep(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122690:13: */ +func countStep(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122703:13: */ var p uintptr p = Xsqlite3_aggregate_context(tls, context, int32(unsafe.Sizeof(CountCtx{}))) if (argc == 0 || SQLITE_NULL != Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(argv)))) && p != 0 { @@ -103897,7 +103916,7 @@ func countStep(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sq } -func countFinalize(tls *libc.TLS, context uintptr) { /* sqlite3.c:122706:13: */ +func countFinalize(tls *libc.TLS, context uintptr) { /* sqlite3.c:122719:13: */ var p uintptr p = Xsqlite3_aggregate_context(tls, context, 0) Xsqlite3_result_int64(tls, context, func() int64 { @@ -103908,7 +103927,7 @@ func countFinalize(tls *libc.TLS, context uintptr) { /* sqlite3.c:122706:13: */ }()) } -func countInverse(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:122712:13: */ +func countInverse(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:122725:13: */ var p uintptr p = Xsqlite3_aggregate_context(tls, ctx, int32(unsafe.Sizeof(CountCtx{}))) // p is always non-NULL since countStep() will have been called first @@ -103918,7 +103937,7 @@ func countInverse(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sql } // Routines to implement min() and max() aggregate functions. -func minmaxStep(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { /* sqlite3.c:122730:13: */ +func minmaxStep(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { /* sqlite3.c:122743:13: */ var pArg uintptr = *(*uintptr)(unsafe.Pointer(argv)) var pBest uintptr _ = NotUsed @@ -103956,7 +103975,7 @@ func minmaxStep(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { / } } -func minMaxValueFinalize(tls *libc.TLS, context uintptr, bValue int32) { /* sqlite3.c:122768:13: */ +func minMaxValueFinalize(tls *libc.TLS, context uintptr, bValue int32) { /* sqlite3.c:122781:13: */ var pRes uintptr pRes = Xsqlite3_aggregate_context(tls, context, 0) if pRes != 0 { @@ -103969,11 +103988,11 @@ func minMaxValueFinalize(tls *libc.TLS, context uintptr, bValue int32) { /* sqli } } -func minMaxValue(tls *libc.TLS, context uintptr) { /* sqlite3.c:122779:13: */ +func minMaxValue(tls *libc.TLS, context uintptr) { /* sqlite3.c:122792:13: */ minMaxValueFinalize(tls, context, 1) } -func minMaxFinalize(tls *libc.TLS, context uintptr) { /* sqlite3.c:122785:13: */ +func minMaxFinalize(tls *libc.TLS, context uintptr) { /* sqlite3.c:122798:13: */ minMaxValueFinalize(tls, context, 0) } @@ -103989,9 +104008,9 @@ type GroupConcatCtx = struct { FnAccum int32 FnFirstSepLength int32 FpnSepLengths uintptr -} /* sqlite3.c:122810:3 */ +} /* sqlite3.c:122823:3 */ -func groupConcatStep(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122812:13: */ +func groupConcatStep(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122825:13: */ var zVal uintptr var pGCC uintptr var zSep uintptr @@ -104056,7 +104075,7 @@ func groupConcatStep(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { } } -func groupConcatInverse(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122883:13: */ +func groupConcatInverse(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122896:13: */ var pGCC uintptr _ = argc // Suppress unused parameter warning @@ -104098,7 +104117,7 @@ func groupConcatInverse(tls *libc.TLS, context uintptr, argc int32, argv uintptr } } -func groupConcatFinalize(tls *libc.TLS, context uintptr) { /* sqlite3.c:122929:13: */ +func groupConcatFinalize(tls *libc.TLS, context uintptr) { /* sqlite3.c:122942:13: */ var pGCC uintptr = Xsqlite3_aggregate_context(tls, context, 0) if pGCC != 0 { Xsqlite3ResultStrAccum(tls, context, pGCC) @@ -104106,7 +104125,7 @@ func groupConcatFinalize(tls *libc.TLS, context uintptr) { /* sqlite3.c:122929:1 } } -func groupConcatValue(tls *libc.TLS, context uintptr) { /* sqlite3.c:122940:13: */ +func groupConcatValue(tls *libc.TLS, context uintptr) { /* sqlite3.c:122953:13: */ var pGCC uintptr = Xsqlite3_aggregate_context(tls, context, 0) if pGCC != 0 { var pAccum uintptr = pGCC @@ -104124,7 +104143,7 @@ func groupConcatValue(tls *libc.TLS, context uintptr) { /* sqlite3.c:122940:13: // This routine does per-connection function registration. Most // of the built-in functions above are part of the global function set. // This routine only deals with those that are not global. -func Xsqlite3RegisterPerConnectionBuiltinFunctions(tls *libc.TLS, db uintptr) { /* sqlite3.c:122964:21: */ +func Xsqlite3RegisterPerConnectionBuiltinFunctions(tls *libc.TLS, db uintptr) { /* sqlite3.c:122977:21: */ var rc int32 = Xsqlite3_overload_function(tls, db, ts+14865, 2) if rc == SQLITE_NOMEM { @@ -104135,7 +104154,7 @@ func Xsqlite3RegisterPerConnectionBuiltinFunctions(tls *libc.TLS, db uintptr) { // Re-register the built-in LIKE functions. The caseSensitive // parameter determines whether or not the LIKE operator is case // sensitive. -func Xsqlite3RegisterLikeFunctions(tls *libc.TLS, db uintptr, caseSensitive int32) { /* sqlite3.c:122977:21: */ +func Xsqlite3RegisterLikeFunctions(tls *libc.TLS, db uintptr, caseSensitive int32) { /* sqlite3.c:122990:21: */ var pInfo uintptr var flags int32 if caseSensitive != 0 { @@ -104170,7 +104189,7 @@ func Xsqlite3RegisterLikeFunctions(tls *libc.TLS, db uintptr, caseSensitive int3 // the function (default for LIKE). If the function makes the distinction // between uppercase and lowercase (as does GLOB) then *pIsNocase is set to // false. -func Xsqlite3IsLikeFunction(tls *libc.TLS, db uintptr, pExpr uintptr, pIsNocase uintptr, aWc uintptr) int32 { /* sqlite3.c:123010:20: */ +func Xsqlite3IsLikeFunction(tls *libc.TLS, db uintptr, pExpr uintptr, pIsNocase uintptr, aWc uintptr) int32 { /* sqlite3.c:123023:20: */ var pDef uintptr var nExpr int32 @@ -104226,7 +104245,7 @@ func Xsqlite3IsLikeFunction(tls *libc.TLS, db uintptr, pExpr uintptr, pIsNocase // // The sqlite3_user_data() pointer is a pointer to the libm implementation // of the underlying C function. -func ceilingFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:123081:13: */ +func ceilingFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:123094:13: */ switch Xsqlite3_value_numeric_type(tls, *(*uintptr)(unsafe.Pointer(argv))) { case SQLITE_INTEGER: @@ -104255,11 +104274,11 @@ func ceilingFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* // On some systems, ceil() and floor() are intrinsic function. You are // unable to take a pointer to these functions. Hence, we here wrap them // in our own actual functions. -func xCeil(tls *libc.TLS, x float64) float64 { /* sqlite3.c:123108:15: */ +func xCeil(tls *libc.TLS, x float64) float64 { /* sqlite3.c:123121:15: */ return libc.Xceil(tls, x) } -func xFloor(tls *libc.TLS, x float64) float64 { /* sqlite3.c:123109:15: */ +func xFloor(tls *libc.TLS, x float64) float64 { /* sqlite3.c:123122:15: */ return libc.Xfloor(tls, x) } @@ -104269,7 +104288,7 @@ func xFloor(tls *libc.TLS, x float64) float64 { /* sqlite3.c:123109:15: */ // log(X) - log X base 10 // log10(X) - log X base 10 // log(B,X) - log X base B -func logFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:123119:13: */ +func logFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:123132:13: */ var x float64 var b float64 var ans float64 @@ -104326,18 +104345,18 @@ func logFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqli } // Functions to converts degrees to radians and radians to degrees. -func degToRad(tls *libc.TLS, x float64) float64 { /* sqlite3.c:123169:15: */ +func degToRad(tls *libc.TLS, x float64) float64 { /* sqlite3.c:123182:15: */ return x * (float64(3.14159265358979323846) / 180.0) } -func radToDeg(tls *libc.TLS, x float64) float64 { /* sqlite3.c:123170:15: */ +func radToDeg(tls *libc.TLS, x float64) float64 { /* sqlite3.c:123183:15: */ return x * (float64(180.0) / 3.14159265358979323846) } // Implementation of 1-argument SQL math functions: // // exp(X) - Compute e to the X-th power -func math1Func(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:123177:13: */ +func math1Func(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:123190:13: */ var type0 int32 var v0 float64 var ans float64 @@ -104358,7 +104377,7 @@ func math1Func(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sq // Implementation of 2-argument SQL math functions: // // power(X,Y) - Compute X to the Y-th power -func math2Func(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:123199:13: */ +func math2Func(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:123212:13: */ var type0 int32 var type1 int32 var v0 float64 @@ -104384,13 +104403,13 @@ func math2Func(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sq } // Implementation of 0-argument pi() function. -func piFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:123222:13: */ +func piFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:123235:13: */ Xsqlite3_result_double(tls, context, 3.14159265358979323846) } // Implementation of sign(X) function. -func signFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:123236:13: */ +func signFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:123249:13: */ var type0 int32 var x float64 _ = argc @@ -104418,7 +104437,7 @@ func signFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sql // a consequence of calling sqlite3_initialize()). // // After this routine runs -func Xsqlite3RegisterBuiltinFunctions(tls *libc.TLS) { /* sqlite3.c:123258:21: */ +func Xsqlite3RegisterBuiltinFunctions(tls *libc.TLS) { /* sqlite3.c:123271:21: */ Xsqlite3AlterFunctions(tls) Xsqlite3WindowFunctions(tls) Xsqlite3RegisterDateTimeFunctions(tls) @@ -104531,7 +104550,7 @@ var aBuiltinFunc = [101]FuncDef{ {FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_FUNC_CONSTANT | SQLITE_UTF8 | 0*SQLITE_FUNC_NEEDCOLL), FxSFunc: 0, FzName: ts + 15507}, {FnArg: int8(1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_FUNC_CONSTANT | SQLITE_UTF8 | 0*SQLITE_FUNC_NEEDCOLL), FxSFunc: 0, FzName: ts + 15510}, {FnArg: int8(-1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_UTF8 | SQLITE_FUNC_INLINE | SQLITE_FUNC_CONSTANT | 0), FxSFunc: 0, FzName: ts + 15350}, - {FnArg: int8(3), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_UTF8 | SQLITE_FUNC_INLINE | SQLITE_FUNC_CONSTANT | 0), FpUserData: uintptr(INLINEFUNC_iif), FxSFunc: 0, FzName: ts + 15515}} /* sqlite3.c:123269:18 */ + {FnArg: int8(3), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_UTF8 | SQLITE_FUNC_INLINE | SQLITE_FUNC_CONSTANT | 0), FpUserData: uintptr(INLINEFUNC_iif), FxSFunc: 0, FzName: ts + 15515}} /* sqlite3.c:123282:18 */ //************* End of func.c *********************************************** //************* Begin file fkey.c ******************************************* @@ -104706,7 +104725,7 @@ var aBuiltinFunc = [101]FuncDef{ // then non-zero is returned, and a "foreign key mismatch" error loaded // into pParse. If an OOM error occurs, non-zero is returned and the // pParse->db->mallocFailed flag is set. -func Xsqlite3FkLocateIndex(tls *libc.TLS, pParse uintptr, pParent uintptr, pFKey uintptr, ppIdx uintptr, paiCol uintptr) int32 { /* sqlite3.c:123622:20: */ +func Xsqlite3FkLocateIndex(tls *libc.TLS, pParse uintptr, pParent uintptr, pFKey uintptr, ppIdx uintptr, paiCol uintptr) int32 { /* sqlite3.c:123635:20: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -104852,7 +104871,7 @@ func Xsqlite3FkLocateIndex(tls *libc.TLS, pParse uintptr, pParent uintptr, pFKey // // These operations are identified in the comment at the top of this file // (fkey.c) as "I.1" and "D.1". -func fkLookupParent(tls *libc.TLS, pParse uintptr, iDb int32, pTab uintptr, pIdx uintptr, pFKey uintptr, aiCol uintptr, regData int32, nIncr int32, isIgnore int32) { /* sqlite3.c:123759:13: */ +func fkLookupParent(tls *libc.TLS, pParse uintptr, iDb int32, pTab uintptr, pIdx uintptr, pFKey uintptr, aiCol uintptr, regData int32, nIncr int32, isIgnore int32) { /* sqlite3.c:123772:13: */ var i int32 // Iterator variable var v uintptr = Xsqlite3GetVdbe(tls, pParse) // Vdbe to add code to var iCur int32 = (*Parse)(unsafe.Pointer(pParse)).FnTab - 1 // Cursor number to use @@ -104982,7 +105001,7 @@ func fkLookupParent(tls *libc.TLS, pParse uintptr, iDb int32, pTab uintptr, pIdx // regBase is the first of an array of register that contains the data // for pTab. regBase itself holds the rowid. regBase+1 holds the first // column. regBase+2 holds the second column, and so forth. -func exprTableRegister(tls *libc.TLS, pParse uintptr, pTab uintptr, regBase int32, iCol I16) uintptr { /* sqlite3.c:123912:13: */ +func exprTableRegister(tls *libc.TLS, pParse uintptr, pTab uintptr, regBase int32, iCol I16) uintptr { /* sqlite3.c:123925:13: */ var pExpr uintptr var pCol uintptr var zColl uintptr @@ -105009,7 +105028,7 @@ func exprTableRegister(tls *libc.TLS, pParse uintptr, pTab uintptr, regBase int3 // Return an Expr object that refers to column iCol of table pTab which // has cursor iCur. -func exprTableColumn(tls *libc.TLS, db uintptr, pTab uintptr, iCursor int32, iCol I16) uintptr { /* sqlite3.c:123944:13: */ +func exprTableColumn(tls *libc.TLS, db uintptr, pTab uintptr, iCursor int32, iCol I16) uintptr { /* sqlite3.c:123957:13: */ var pExpr uintptr = Xsqlite3Expr(tls, db, TK_COLUMN, uintptr(0)) if pExpr != 0 { @@ -105050,7 +105069,7 @@ func exprTableColumn(tls *libc.TLS, db uintptr, pTab uintptr, iCursor int32, iCo // // These operations are identified in the comment at the top of this file // (fkey.c) as "I.2" and "D.2". -func fkScanChildren(tls *libc.TLS, pParse uintptr, pSrc uintptr, pTab uintptr, pIdx uintptr, pFKey uintptr, aiCol uintptr, regData int32, nIncr int32) { /* sqlite3.c:123992:13: */ +func fkScanChildren(tls *libc.TLS, pParse uintptr, pSrc uintptr, pTab uintptr, pIdx uintptr, pFKey uintptr, aiCol uintptr, regData int32, nIncr int32) { /* sqlite3.c:124005:13: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -105174,7 +105193,7 @@ func fkScanChildren(tls *libc.TLS, pParse uintptr, pSrc uintptr, pTab uintptr, p // "t2". Calling this function with "t2" as the argument would return a // NULL pointer (as there are no FK constraints for which t2 is the parent // table). -func Xsqlite3FkReferences(tls *libc.TLS, pTab uintptr) uintptr { /* sqlite3.c:124121:21: */ +func Xsqlite3FkReferences(tls *libc.TLS, pTab uintptr) uintptr { /* sqlite3.c:124134:21: */ return Xsqlite3HashFind(tls, (*Table)(unsafe.Pointer(pTab)).FpSchema+56, (*Table)(unsafe.Pointer(pTab)).FzName) } @@ -105184,7 +105203,7 @@ func Xsqlite3FkReferences(tls *libc.TLS, pTab uintptr) uintptr { /* sqlite3.c:12 // // The Trigger structure or any of its sub-components may be allocated from // the lookaside buffer belonging to database handle dbMem. -func fkTriggerDelete(tls *libc.TLS, dbMem uintptr, p uintptr) { /* sqlite3.c:124133:13: */ +func fkTriggerDelete(tls *libc.TLS, dbMem uintptr, p uintptr) { /* sqlite3.c:124146:13: */ if p != 0 { var pStep uintptr = (*Trigger)(unsafe.Pointer(p)).Fstep_list Xsqlite3ExprDelete(tls, dbMem, (*TriggerStep)(unsafe.Pointer(pStep)).FpWhere) @@ -105198,7 +105217,7 @@ func fkTriggerDelete(tls *libc.TLS, dbMem uintptr, p uintptr) { /* sqlite3.c:124 // Clear the apTrigger[] cache of CASCADE triggers for all foreign keys // in a particular database. This needs to happen when the schema // changes. -func Xsqlite3FkClearTriggerCache(tls *libc.TLS, db uintptr, iDb int32) { /* sqlite3.c:124149:21: */ +func Xsqlite3FkClearTriggerCache(tls *libc.TLS, db uintptr, iDb int32) { /* sqlite3.c:124162:21: */ var k uintptr var pHash uintptr = (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(iDb)*16)).FpSchema + 8 for k = (*Hash)(unsafe.Pointer(pHash)).Ffirst; k != 0; k = (*HashElem)(unsafe.Pointer(k)).Fnext { @@ -105231,7 +105250,7 @@ func Xsqlite3FkClearTriggerCache(tls *libc.TLS, db uintptr, iDb int32) { /* sqli // then the equivalent of "DELETE FROM " is executed before dropping // the table from the database. Triggers are disabled while running this // DELETE, but foreign key actions are not. -func Xsqlite3FkDropTable(tls *libc.TLS, pParse uintptr, pName uintptr, pTab uintptr) { /* sqlite3.c:124180:21: */ +func Xsqlite3FkDropTable(tls *libc.TLS, pParse uintptr, pName uintptr, pTab uintptr) { /* sqlite3.c:124193:21: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb if (*Sqlite3)(unsafe.Pointer(db)).Fflags&uint64(SQLITE_ForeignKeys) != 0 && int32((*Table)(unsafe.Pointer(pTab)).FeTabType) == TABTYP_NORM { var iSkip int32 = 0 @@ -105294,7 +105313,7 @@ func Xsqlite3FkDropTable(tls *libc.TLS, pParse uintptr, pName uintptr, pTab uint // // This function returns true if any of the columns that are part of the // child key for FK constraint *p are modified. -func fkChildIsModified(tls *libc.TLS, pTab uintptr, p uintptr, aChange uintptr, bChngRowid int32) int32 { /* sqlite3.c:124243:12: */ +func fkChildIsModified(tls *libc.TLS, pTab uintptr, p uintptr, aChange uintptr, bChngRowid int32) int32 { /* sqlite3.c:124256:12: */ var i int32 for i = 0; i < (*FKey)(unsafe.Pointer(p)).FnCol; i++ { var iChildKey int32 = (*sColMap)(unsafe.Pointer(p + 36 + uintptr(i)*8)).FiFrom @@ -105318,7 +105337,7 @@ func fkChildIsModified(tls *libc.TLS, pTab uintptr, p uintptr, aChange uintptr, // // This function returns true if any of the columns that are part of the // parent key for FK constraint *p are modified. -func fkParentIsModified(tls *libc.TLS, pTab uintptr, p uintptr, aChange uintptr, bChngRowid int32) int32 { /* sqlite3.c:124270:12: */ +func fkParentIsModified(tls *libc.TLS, pTab uintptr, p uintptr, aChange uintptr, bChngRowid int32) int32 { /* sqlite3.c:124283:12: */ var i int32 for i = 0; i < (*FKey)(unsafe.Pointer(p)).FnCol; i++ { var zKey uintptr = (*sColMap)(unsafe.Pointer(p + 36 + uintptr(i)*8)).FzCol @@ -105342,7 +105361,7 @@ func fkParentIsModified(tls *libc.TLS, pTab uintptr, p uintptr, aChange uintptr, // Return true if the parser passed as the first argument is being // used to code a trigger that is really a "SET NULL" action belonging // to trigger pFKey. -func isSetNullAction(tls *libc.TLS, pParse uintptr, pFKey uintptr) int32 { /* sqlite3.c:124299:12: */ +func isSetNullAction(tls *libc.TLS, pParse uintptr, pFKey uintptr) int32 { /* sqlite3.c:124312:12: */ var pTop uintptr = func() uintptr { if (*Parse)(unsafe.Pointer(pParse)).FpToplevel != 0 { return (*Parse)(unsafe.Pointer(pParse)).FpToplevel @@ -105377,7 +105396,7 @@ func isSetNullAction(tls *libc.TLS, pParse uintptr, pFKey uintptr) int32 { /* sq // the original record is deleted from the table using the calling convention // described for DELETE. Then again after the original record is deleted // but before the new record is inserted using the INSERT convention. -func Xsqlite3FkCheck(tls *libc.TLS, pParse uintptr, pTab uintptr, regOld int32, regNew int32, aChange uintptr, bChngRowid int32) { /* sqlite3.c:124332:21: */ +func Xsqlite3FkCheck(tls *libc.TLS, pParse uintptr, pTab uintptr, regOld int32, regNew int32, aChange uintptr, bChngRowid int32) { /* sqlite3.c:124345:21: */ bp := tls.Alloc(20) defer tls.Free(20) @@ -105579,7 +105598,7 @@ func Xsqlite3FkCheck(tls *libc.TLS, pParse uintptr, pTab uintptr, regOld int32, // This function is called before generating code to update or delete a // row contained in table pTab. -func Xsqlite3FkOldmask(tls *libc.TLS, pParse uintptr, pTab uintptr) U32 { /* sqlite3.c:124535:20: */ +func Xsqlite3FkOldmask(tls *libc.TLS, pParse uintptr, pTab uintptr) U32 { /* sqlite3.c:124548:20: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -105638,7 +105657,7 @@ func Xsqlite3FkOldmask(tls *libc.TLS, pParse uintptr, pTab uintptr) U32 { /* sql // not "NO ACTION" (i.e. is CASCADE, SET DEFAULT or SET NULL). // // Or, assuming some other foreign key processing is required, 1. -func Xsqlite3FkRequired(tls *libc.TLS, pParse uintptr, pTab uintptr, aChange uintptr, chngRowid int32) int32 { /* sqlite3.c:124585:20: */ +func Xsqlite3FkRequired(tls *libc.TLS, pParse uintptr, pTab uintptr, aChange uintptr, chngRowid int32) int32 { /* sqlite3.c:124598:20: */ var eRet int32 = 1 // Value to return if bHaveFK is true var bHaveFK int32 = 0 // If FK processing is required if (*Sqlite3)(unsafe.Pointer((*Parse)(unsafe.Pointer(pParse)).Fdb)).Fflags&uint64(SQLITE_ForeignKeys) != 0 && int32((*Table)(unsafe.Pointer(pTab)).FeTabType) == TABTYP_NORM { @@ -105706,7 +105725,7 @@ func Xsqlite3FkRequired(tls *libc.TLS, pParse uintptr, pTab uintptr, aChange uin // The returned pointer is cached as part of the foreign key object. It // is eventually freed along with the rest of the foreign key object by // sqlite3FkDelete(). -func fkActionTrigger(tls *libc.TLS, pParse uintptr, pTab uintptr, pFKey uintptr, pChanges uintptr) uintptr { /* sqlite3.c:124653:16: */ +func fkActionTrigger(tls *libc.TLS, pParse uintptr, pTab uintptr, pFKey uintptr, pChanges uintptr) uintptr { /* sqlite3.c:124666:16: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -105908,7 +105927,7 @@ func fkActionTrigger(tls *libc.TLS, pParse uintptr, pTab uintptr, pFKey uintptr, // This function is called when deleting or updating a row to implement // any required CASCADE, SET NULL or SET DEFAULT actions. -func Xsqlite3FkActions(tls *libc.TLS, pParse uintptr, pTab uintptr, pChanges uintptr, regOld int32, aChange uintptr, bChngRowid int32) { /* sqlite3.c:124845:21: */ +func Xsqlite3FkActions(tls *libc.TLS, pParse uintptr, pTab uintptr, pChanges uintptr, regOld int32, aChange uintptr, bChngRowid int32) { /* sqlite3.c:124858:21: */ // If foreign-key support is enabled, iterate through all FKs that // refer to table pTab. If there is an action associated with the FK // for this operation (either update or delete), invoke the associated @@ -105929,7 +105948,7 @@ func Xsqlite3FkActions(tls *libc.TLS, pParse uintptr, pTab uintptr, pChanges uin // Free all memory associated with foreign key definitions attached to // table pTab. Remove the deleted foreign keys from the Schema.fkeyHash // hash table. -func Xsqlite3FkDelete(tls *libc.TLS, db uintptr, pTab uintptr) { /* sqlite3.c:124877:21: */ +func Xsqlite3FkDelete(tls *libc.TLS, db uintptr, pTab uintptr) { /* sqlite3.c:124890:21: */ var pFKey uintptr // Iterator variable var pNext uintptr // Copy of pFKey->pNextFrom @@ -105989,7 +106008,7 @@ func Xsqlite3FkDelete(tls *libc.TLS, db uintptr, pTab uintptr) { /* sqlite3.c:12 // // If pTab is a WITHOUT ROWID table, then it is the PRIMARY KEY index // for that table that is actually opened. -func Xsqlite3OpenTable(tls *libc.TLS, pParse uintptr, iCur int32, iDb int32, pTab uintptr, opcode int32) { /* sqlite3.c:124943:21: */ +func Xsqlite3OpenTable(tls *libc.TLS, pParse uintptr, iCur int32, iDb int32, pTab uintptr, opcode int32) { /* sqlite3.c:124956:21: */ var v uintptr v = (*Parse)(unsafe.Pointer(pParse)).FpVdbe @@ -106031,7 +106050,7 @@ func Xsqlite3OpenTable(tls *libc.TLS, pParse uintptr, iCur int32, iDb int32, pTa // Memory for the buffer containing the column index affinity string // is managed along with the rest of the Index structure. It will be // released when sqlite3DeleteIndex() is called. -func Xsqlite3IndexAffinityStr(tls *libc.TLS, db uintptr, pIdx uintptr) uintptr { /* sqlite3.c:124990:27: */ +func Xsqlite3IndexAffinityStr(tls *libc.TLS, db uintptr, pIdx uintptr) uintptr { /* sqlite3.c:125003:27: */ if !(int32((*Index)(unsafe.Pointer(pIdx)).FzColAff) != 0) { // The first time a column affinity string for a particular index is // required, it is allocated and populated here. It is then stored as @@ -106110,7 +106129,7 @@ func Xsqlite3IndexAffinityStr(tls *libc.TLS, db uintptr, pIdx uintptr) uintptr { // register set as the OP_MakeRecord. If iReg>0 then register iReg is // the first of a series of registers that will form the new record. // Apply the type checking to that array of registers. -func Xsqlite3TableAffinity(tls *libc.TLS, v uintptr, pTab uintptr, iReg int32) { /* sqlite3.c:125069:21: */ +func Xsqlite3TableAffinity(tls *libc.TLS, v uintptr, pTab uintptr, iReg int32) { /* sqlite3.c:125082:21: */ var i int32 var j int32 var zColAff uintptr @@ -106168,7 +106187,7 @@ func Xsqlite3TableAffinity(tls *libc.TLS, v uintptr, pTab uintptr, iReg int32) { // have been opened at any point in the VDBE program. This is used to see if // a statement of the form "INSERT INTO SELECT ..." can // run without using a temporary table for the results of the SELECT. -func readsTable(tls *libc.TLS, p uintptr, iDb int32, pTab uintptr) int32 { /* sqlite3.c:125130:12: */ +func readsTable(tls *libc.TLS, p uintptr, iDb int32, pTab uintptr) int32 { /* sqlite3.c:125143:12: */ var v uintptr = Xsqlite3GetVdbe(tls, p) var i int32 var iEnd int32 = Xsqlite3VdbeCurrentAddr(tls, v) @@ -106204,7 +106223,7 @@ func readsTable(tls *libc.TLS, p uintptr, iDb int32, pTab uintptr) int32 { /* sq // This walker callback will compute the union of colFlags flags for all // referenced columns in a CHECK constraint or generated column expression. -func exprColumnFlagUnion(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:125167:12: */ +func exprColumnFlagUnion(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:125180:12: */ if int32((*Expr)(unsafe.Pointer(pExpr)).Fop) == TK_COLUMN && int32((*Expr)(unsafe.Pointer(pExpr)).FiColumn) >= 0 { *(*U16)(unsafe.Pointer(pWalker + 20)) |= U16(int32((*Column)(unsafe.Pointer((*Table1)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pWalker + 24)))).FaCol + uintptr((*Expr)(unsafe.Pointer(pExpr)).FiColumn)*16)).FcolFlags)) @@ -106217,7 +106236,7 @@ func exprColumnFlagUnion(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { // or VIRTUAL columns have not yet been initialized. This routine goes // back and computes the values for those columns based on the previously // computed normal columns. -func Xsqlite3ComputeGeneratedColumns(tls *libc.TLS, pParse uintptr, iRegStore int32, pTab uintptr) { /* sqlite3.c:125183:21: */ +func Xsqlite3ComputeGeneratedColumns(tls *libc.TLS, pParse uintptr, iRegStore int32, pTab uintptr) { /* sqlite3.c:125196:21: */ bp := tls.Alloc(36) defer tls.Free(36) @@ -106330,7 +106349,7 @@ func Xsqlite3ComputeGeneratedColumns(tls *libc.TLS, pParse uintptr, iRegStore in // // The 2nd register is the one that is returned. That is all the // insert routine needs to know about. -func autoIncBegin(tls *libc.TLS, pParse uintptr, iDb int32, pTab uintptr) int32 { /* sqlite3.c:125307:12: */ +func autoIncBegin(tls *libc.TLS, pParse uintptr, iDb int32, pTab uintptr) int32 { /* sqlite3.c:125320:12: */ var memId int32 = 0 // Register holding maximum rowid if (*Table)(unsafe.Pointer(pTab)).FtabFlags&U32(TF_Autoincrement) != U32(0) && @@ -106384,7 +106403,7 @@ func autoIncBegin(tls *libc.TLS, pParse uintptr, iDb int32, pTab uintptr) int32 // This routine generates code that will initialize all of the // register used by the autoincrement tracker. -func Xsqlite3AutoincrementBegin(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:125358:21: */ +func Xsqlite3AutoincrementBegin(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:125371:21: */ var p uintptr // Information about an AUTOINCREMENT var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb // The database connection var pDb uintptr // Database only autoinc table @@ -106424,7 +106443,7 @@ func Xsqlite3AutoincrementBegin(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:12 } } -var iLn1 int32 = 0 /* sqlite3.c:125372:22 */ +var iLn1 int32 = 0 /* sqlite3.c:125385:22 */ var autoInc = [12]VdbeOpList{ /* 0 */ {Fopcode: U8(OP_Null)}, /* 1 */ {Fopcode: U8(OP_Rewind), Fp2: int8(10)}, @@ -106438,7 +106457,7 @@ var autoInc = [12]VdbeOpList{ /* 9 */ {Fopcode: U8(OP_Next), Fp2: int8(2)}, /* 10 */ {Fopcode: U8(OP_Integer)}, /* 11 */ {Fopcode: U8(OP_Close)}, -} /* sqlite3.c:125373:29 */ +} /* sqlite3.c:125386:29 */ // Update the maximum rowid for an autoincrement calculation. // @@ -106446,7 +106465,7 @@ var autoInc = [12]VdbeOpList{ // new rowid that is about to be inserted. If that new rowid is // larger than the maximum rowid in the memId memory cell, then the // memory cell is updated. -func autoIncStep(tls *libc.TLS, pParse uintptr, memId int32, regRowid int32) { /* sqlite3.c:125419:13: */ +func autoIncStep(tls *libc.TLS, pParse uintptr, memId int32, regRowid int32) { /* sqlite3.c:125432:13: */ if memId > 0 { Xsqlite3VdbeAddOp2(tls, (*Parse)(unsafe.Pointer(pParse)).FpVdbe, OP_MemMax, memId, regRowid) } @@ -106457,7 +106476,7 @@ func autoIncStep(tls *libc.TLS, pParse uintptr, memId int32, regRowid int32) { / // Every statement that might do an INSERT into an autoincrement // table (either directly or through triggers) needs to call this // routine just before the "exit" code. -func autoIncrementEnd(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:125432:29: */ +func autoIncrementEnd(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:125445:29: */ var p uintptr var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb @@ -106488,16 +106507,16 @@ func autoIncrementEnd(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:125432:29: * } } -var iLn2 int32 = 0 /* sqlite3.c:125439:22 */ +var iLn2 int32 = 0 /* sqlite3.c:125452:22 */ var autoIncEnd = [5]VdbeOpList{ /* 0 */ {Fopcode: U8(OP_NotNull), Fp2: int8(2)}, /* 1 */ {Fopcode: U8(OP_NewRowid)}, /* 2 */ {Fopcode: U8(OP_MakeRecord), Fp2: int8(2)}, /* 3 */ {Fopcode: U8(OP_Insert)}, /* 4 */ {Fopcode: U8(OP_Close)}, -} /* sqlite3.c:125440:29 */ +} /* sqlite3.c:125453:29 */ -func Xsqlite3AutoincrementEnd(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:125469:21: */ +func Xsqlite3AutoincrementEnd(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:125482:21: */ if (*Parse)(unsafe.Pointer(pParse)).FpAinc != 0 { autoIncrementEnd(tls, pParse) } @@ -106598,7 +106617,7 @@ func Xsqlite3AutoincrementEnd(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:1254 // transfer values form intermediate table into
// end loop // D: cleanup -func Xsqlite3Insert(tls *libc.TLS, pParse uintptr, pTabList uintptr, pSelect uintptr, pColumn uintptr, onError int32, pUpsert uintptr) { /* sqlite3.c:125588:21: */ +func Xsqlite3Insert(tls *libc.TLS, pParse uintptr, pTabList uintptr, pSelect uintptr, pColumn uintptr, onError int32, pUpsert uintptr) { /* sqlite3.c:125601:21: */ bp := tls.Alloc(148) defer tls.Free(148) @@ -107652,7 +107671,7 @@ insert_cleanup: // Set bit 0x01 of pWalker->eCode if pWalker->eCode to 0 and if this // expression node references any of the // columns that are being modifed by an UPDATE statement. -func checkConstraintExprNode(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:126347:12: */ +func checkConstraintExprNode(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:126360:12: */ if int32((*Expr)(unsafe.Pointer(pExpr)).Fop) == TK_COLUMN { if int32((*Expr)(unsafe.Pointer(pExpr)).FiColumn) >= 0 { @@ -107679,7 +107698,7 @@ func checkConstraintExprNode(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int3 // The operation of this routine is the same - return true if an only if // the expression uses one or more of columns identified by the second and // third arguments. -func Xsqlite3ExprReferencesUpdatedColumn(tls *libc.TLS, pExpr uintptr, aiChng uintptr, chngRowid int32) int32 { /* sqlite3.c:126376:20: */ +func Xsqlite3ExprReferencesUpdatedColumn(tls *libc.TLS, pExpr uintptr, aiChng uintptr, chngRowid int32) int32 { /* sqlite3.c:126389:20: */ bp := tls.Alloc(28) defer tls.Free(28) @@ -107712,7 +107731,7 @@ func Xsqlite3ExprReferencesUpdatedColumn(tls *libc.TLS, pExpr uintptr, aiChng ui type IndexListTerm1 = struct { Fp uintptr Fix int32 -} /* sqlite3.c:126409:9 */ +} /* sqlite3.c:126422:9 */ // The sqlite3GenerateConstraintChecks() routine usually wants to visit // the indexes of a table in the order provided in the Table->pIndex list. @@ -107723,7 +107742,7 @@ type IndexListTerm1 = struct { // The IndexIterator object is used to walk through all of the indexes // of a table in either Index.pNext order, or in some other order established // by an array of IndexListTerm objects. -type IndexListTerm = IndexListTerm1 /* sqlite3.c:126409:30 */ +type IndexListTerm = IndexListTerm1 /* sqlite3.c:126422:30 */ type IndexIterator1 = struct { FeType int32 Fi int32 @@ -107731,12 +107750,12 @@ type IndexIterator1 = struct { Flx struct{ FpIdx uintptr } F__ccgo_pad1 [4]byte } -} /* sqlite3.c:126410:9 */ +} /* sqlite3.c:126423:9 */ -type IndexIterator = IndexIterator1 /* sqlite3.c:126410:30 */ +type IndexIterator = IndexIterator1 /* sqlite3.c:126423:30 */ // Return the first index on the list -func indexIteratorFirst(tls *libc.TLS, pIter uintptr, pIx uintptr) uintptr { /* sqlite3.c:126434:14: */ +func indexIteratorFirst(tls *libc.TLS, pIter uintptr, pIx uintptr) uintptr { /* sqlite3.c:126447:14: */ if (*IndexIterator)(unsafe.Pointer(pIter)).FeType != 0 { *(*int32)(unsafe.Pointer(pIx)) = (*IndexListTerm)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pIter + 8 + 4 /* &.aIdx */)))).Fix @@ -107749,7 +107768,7 @@ func indexIteratorFirst(tls *libc.TLS, pIter uintptr, pIx uintptr) uintptr { /* } // Return the next index from the list. Return NULL when out of indexes -func indexIteratorNext(tls *libc.TLS, pIter uintptr, pIx uintptr) uintptr { /* sqlite3.c:126446:14: */ +func indexIteratorNext(tls *libc.TLS, pIter uintptr, pIx uintptr) uintptr { /* sqlite3.c:126459:14: */ if (*IndexIterator)(unsafe.Pointer(pIter)).FeType != 0 { var i int32 = libc.PreIncInt32(&(*IndexIterator)(unsafe.Pointer(pIter)).Fi, 1) if i >= *(*int32)(unsafe.Pointer(pIter + 8)) { @@ -107855,7 +107874,7 @@ func indexIteratorNext(tls *libc.TLS, pIter uintptr, pIx uintptr) uintptr { /* s // Or if overrideError==OE_Default, then the pParse->onError parameter // is used. Or if pParse->onError==OE_Default then the onError value // for the constraint is used. -func Xsqlite3GenerateConstraintChecks(tls *libc.TLS, pParse uintptr, pTab uintptr, aRegIdx uintptr, iDataCur int32, iIdxCur int32, regNewData int32, regOldData int32, pkChng U8, overrideError U8, ignoreDest int32, pbMayReplace uintptr, aiChng uintptr, pUpsert uintptr) { /* sqlite3.c:126553:21: */ +func Xsqlite3GenerateConstraintChecks(tls *libc.TLS, pParse uintptr, pTab uintptr, aRegIdx uintptr, iDataCur int32, iIdxCur int32, regNewData int32, regOldData int32, pkChng U8, overrideError U8, ignoreDest int32, pbMayReplace uintptr, aiChng uintptr, pUpsert uintptr) { /* sqlite3.c:126566:21: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -108713,7 +108732,7 @@ func Xsqlite3GenerateConstraintChecks(tls *libc.TLS, pParse uintptr, pTab uintpt // number is iCur, and register regData contains the new record for the // PK index. This function adds code to invoke the pre-update hook, // if one is registered. -func codeWithoutRowidPreupdate(tls *libc.TLS, pParse uintptr, pTab uintptr, iCur int32, regData int32) { /* sqlite3.c:127411:13: */ +func codeWithoutRowidPreupdate(tls *libc.TLS, pParse uintptr, pTab uintptr, iCur int32, regData int32) { /* sqlite3.c:127424:13: */ var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe var r int32 = Xsqlite3GetTempReg(tls, pParse) @@ -108730,7 +108749,7 @@ func codeWithoutRowidPreupdate(tls *libc.TLS, pParse uintptr, pTab uintptr, iCur // // The arguments to this routine should be the same as the first six // arguments to sqlite3GenerateConstraintChecks. -func Xsqlite3CompleteInsertion(tls *libc.TLS, pParse uintptr, pTab uintptr, iDataCur int32, iIdxCur int32, regNewData int32, aRegIdx uintptr, update_flags int32, appendBias int32, useSeekResult int32) { /* sqlite3.c:127439:21: */ +func Xsqlite3CompleteInsertion(tls *libc.TLS, pParse uintptr, pTab uintptr, iDataCur int32, iIdxCur int32, regNewData int32, aRegIdx uintptr, update_flags int32, appendBias int32, useSeekResult int32) { /* sqlite3.c:127452:21: */ var v uintptr // Prepared statements under construction var pIdx uintptr // An index being inserted or updated var pik_flags U8 // flag values passed to the btree insert @@ -108833,7 +108852,7 @@ __3: // // If pTab is a virtual table, then this routine is a no-op and the // *piDataCur and *piIdxCur values are left uninitialized. -func Xsqlite3OpenTableAndIndices(tls *libc.TLS, pParse uintptr, pTab uintptr, op int32, p5 U8, iBase int32, aToOpen uintptr, piDataCur uintptr, piIdxCur uintptr) int32 { /* sqlite3.c:127527:20: */ +func Xsqlite3OpenTableAndIndices(tls *libc.TLS, pParse uintptr, pTab uintptr, op int32, p5 U8, iBase int32, aToOpen uintptr, piDataCur uintptr, piIdxCur uintptr) int32 { /* sqlite3.c:127540:20: */ var i int32 var iDb int32 var iDataCur int32 @@ -108911,7 +108930,7 @@ __3: // * The same onError processing (OE_Abort, OE_Ignore, etc) // * The same collating sequence on each column // * The index has the exact same WHERE clause -func xferCompatibleIndex(tls *libc.TLS, pDest uintptr, pSrc uintptr) int32 { /* sqlite3.c:127606:12: */ +func xferCompatibleIndex(tls *libc.TLS, pDest uintptr, pSrc uintptr) int32 { /* sqlite3.c:127619:12: */ var i int32 if int32((*Index)(unsafe.Pointer(pDest)).FnKeyCol) != int32((*Index)(unsafe.Pointer(pSrc)).FnKeyCol) || int32((*Index)(unsafe.Pointer(pDest)).FnColumn) != int32((*Index)(unsafe.Pointer(pSrc)).FnColumn) { @@ -108969,7 +108988,7 @@ func xferCompatibleIndex(tls *libc.TLS, pDest uintptr, pSrc uintptr) int32 { /* // is no chance that the xfer optimization can be applied. // // This optimization is particularly useful at making VACUUM run faster. -func xferOptimization(tls *libc.TLS, pParse uintptr, pDest uintptr, pSelect uintptr, onError int32, iDbDest int32) int32 { /* sqlite3.c:127667:12: */ +func xferOptimization(tls *libc.TLS, pParse uintptr, pDest uintptr, pSelect uintptr, onError int32, iDbDest int32) int32 { /* sqlite3.c:127680:12: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb var pEList uintptr // The result set of the SELECT var pSrc uintptr // The table in the FROM clause of SELECT @@ -109349,7 +109368,7 @@ func xferOptimization(tls *libc.TLS, pParse uintptr, pDest uintptr, pSelect uint // the xCallback() function is called. pArg becomes the first // 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 Sqlite3_callback, pArg uintptr, pzErrMsg uintptr) int32 { /* sqlite3.c:128078:16: */ +func Xsqlite3_exec(tls *libc.TLS, db uintptr, zSql uintptr, xCallback Sqlite3_callback, pArg uintptr, pzErrMsg uintptr) int32 { /* sqlite3.c:128091:16: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -109370,7 +109389,7 @@ func Xsqlite3_exec(tls *libc.TLS, db uintptr, zSql uintptr, xCallback Sqlite3_ca if !!(Xsqlite3SafetyCheckOk(tls, db) != 0) { goto __1 } - return Xsqlite3MisuseError(tls, 128091) + return Xsqlite3MisuseError(tls, 128104) __1: ; if !(zSql == uintptr(0)) { @@ -109559,7 +109578,7 @@ __26: // This is the function signature used for all extension entry points. It // is also defined in the file "loadext.c". -type Sqlite3_loadext_entry = uintptr /* sqlite3.c:128572:13 */ +type Sqlite3_loadext_entry = uintptr /* sqlite3.c:128585:13 */ // The following macros redefine the API routines so that they are // redirected through the global sqlite3_api structure. @@ -109893,7 +109912,7 @@ var sqlite3Apis = Sqlite3_api_routines{ Fvtab_in: 0, Fvtab_in_first: 0, Fvtab_in_next: 0, -} /* sqlite3.c:129018:35 */ +} /* sqlite3.c:129031:35 */ // True if x is the directory separator character @@ -109907,7 +109926,7 @@ var sqlite3Apis = Sqlite3_api_routines{ // If an error occurs and pzErrMsg is not 0, then fill *pzErrMsg with // error message text. The calling function should free this memory // by calling sqlite3DbFree(db, ). -func sqlite3LoadExtension(tls *libc.TLS, db uintptr, zFile uintptr, zProc uintptr, pzErrMsg uintptr) int32 { /* sqlite3.c:129402:12: */ +func sqlite3LoadExtension(tls *libc.TLS, db uintptr, zFile uintptr, zProc uintptr, pzErrMsg uintptr) int32 { /* sqlite3.c:129415:12: */ bp := tls.Alloc(60) defer tls.Free(60) @@ -110161,9 +110180,9 @@ __28: var azEndings = [1]uintptr{ ts + 15949, -} /* sqlite3.c:129420:21 */ +} /* sqlite3.c:129433:21 */ -func Xsqlite3_load_extension(tls *libc.TLS, db uintptr, zFile uintptr, zProc uintptr, pzErrMsg uintptr) int32 { /* sqlite3.c:129553:16: */ +func Xsqlite3_load_extension(tls *libc.TLS, db uintptr, zFile uintptr, zProc uintptr, pzErrMsg uintptr) int32 { /* sqlite3.c:129566:16: */ var rc int32 Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) rc = sqlite3LoadExtension(tls, db, zFile, zProc, pzErrMsg) @@ -110174,7 +110193,7 @@ func Xsqlite3_load_extension(tls *libc.TLS, db uintptr, zFile uintptr, zProc uin // Call this routine when the database connection is closing in order // to clean up loaded extensions -func Xsqlite3CloseExtensions(tls *libc.TLS, db uintptr) { /* sqlite3.c:129571:21: */ +func Xsqlite3CloseExtensions(tls *libc.TLS, db uintptr) { /* sqlite3.c:129584:21: */ var i int32 for i = 0; i < (*Sqlite3)(unsafe.Pointer(db)).FnExtension; i++ { @@ -110185,7 +110204,7 @@ func Xsqlite3CloseExtensions(tls *libc.TLS, db uintptr) { /* sqlite3.c:129571:21 // Enable or disable extension loading. Extension loading is disabled by // default so as not to open security holes in older applications. -func Xsqlite3_enable_load_extension(tls *libc.TLS, db uintptr, onoff int32) int32 { /* sqlite3.c:129584:16: */ +func Xsqlite3_enable_load_extension(tls *libc.TLS, db uintptr, onoff int32) int32 { /* sqlite3.c:129597:16: */ Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) if onoff != 0 { *(*U64)(unsafe.Pointer(db + 32)) |= uint64(SQLITE_LoadExtension | SQLITE_LoadExtFunc) @@ -110204,15 +110223,15 @@ func Xsqlite3_enable_load_extension(tls *libc.TLS, db uintptr, onoff int32) int3 type sqlite3AutoExtList = struct { FnExt U32 FaExt uintptr -} /* sqlite3.c:129604:9 */ +} /* sqlite3.c:129617:9 */ // The following object holds the list of automatically loaded // extensions. // // This list is shared across threads. The SQLITE_MUTEX_STATIC_MAIN // mutex must be held while accessing this list. -type Sqlite3AutoExtList = sqlite3AutoExtList /* sqlite3.c:129604:35 */ -var sqlite3Autoext = sqlite3AutoExtList{} /* sqlite3.c:129608:3 */ +type Sqlite3AutoExtList = sqlite3AutoExtList /* sqlite3.c:129617:35 */ +var sqlite3Autoext = sqlite3AutoExtList{} /* sqlite3.c:129621:3 */ // The "wsdAutoext" macro will resolve to the autoextension // state vector. If writable static data is unsupported on the target, @@ -110222,7 +110241,7 @@ var sqlite3Autoext = sqlite3AutoExtList{} /* sqlite3.c:129608:3 */ // Register a statically linked extension that is automatically // loaded by every new database connection. -func Xsqlite3_auto_extension(tls *libc.TLS, xInit uintptr) int32 { /* sqlite3.c:129630:16: */ +func Xsqlite3_auto_extension(tls *libc.TLS, xInit uintptr) int32 { /* sqlite3.c:129643:16: */ var rc int32 = SQLITE_OK rc = Xsqlite3_initialize(tls) if rc != 0 { @@ -110263,7 +110282,7 @@ func Xsqlite3_auto_extension(tls *libc.TLS, xInit uintptr) int32 { /* sqlite3.c: // // 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) int32 { /* sqlite3.c:129677:16: */ +func Xsqlite3_cancel_auto_extension(tls *libc.TLS, xInit uintptr) int32 { /* sqlite3.c:129690:16: */ var mutex uintptr = Xsqlite3MutexAlloc(tls, SQLITE_MUTEX_STATIC_MAIN) var i int32 var n int32 = 0 @@ -110282,7 +110301,7 @@ func Xsqlite3_cancel_auto_extension(tls *libc.TLS, xInit uintptr) int32 { /* sql } // Reset the automatic extension loading mechanism. -func Xsqlite3_reset_auto_extension(tls *libc.TLS) { /* sqlite3.c:129702:17: */ +func Xsqlite3_reset_auto_extension(tls *libc.TLS) { /* sqlite3.c:129715:17: */ if Xsqlite3_initialize(tls) == SQLITE_OK { var mutex uintptr = Xsqlite3MutexAlloc(tls, SQLITE_MUTEX_STATIC_MAIN) @@ -110297,7 +110316,7 @@ func Xsqlite3_reset_auto_extension(tls *libc.TLS) { /* sqlite3.c:129702:17: */ // Load all automatic extensions. // // If anything goes wrong, set an error in the database connection. -func Xsqlite3AutoLoadExtensions(tls *libc.TLS, db uintptr) { /* sqlite3.c:129724:21: */ +func Xsqlite3AutoLoadExtensions(tls *libc.TLS, db uintptr) { /* sqlite3.c:129737:21: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -110434,7 +110453,7 @@ var pragCName = [57]uintptr{ ts + 16224, ts + 16235, -} /* sqlite3.c:129865:19 */ +} /* sqlite3.c:129878:19 */ // Definitions of all built-in pragmas type PragmaName1 = struct { @@ -110444,10 +110463,10 @@ type PragmaName1 = struct { FiPragCName U8 FnPragCName U8 FiArg U64 -} /* sqlite3.c:129930:9 */ +} /* sqlite3.c:129943:9 */ // Definitions of all built-in pragmas -type PragmaName = PragmaName1 /* sqlite3.c:129937:3 */ +type PragmaName = PragmaName1 /* sqlite3.c:129950:3 */ var aPragmaName = [66]PragmaName{ { /* zName: */ FzName: ts + 16243, /* ePragTyp: */ FePragTyp: U8(PragTyp_ANALYSIS_LIMIT), @@ -110684,7 +110703,7 @@ var aPragmaName = [66]PragmaName{ /* ePragTyp: */ FePragTyp: U8(PragTyp_FLAG), /* ePragFlg: */ FmPragFlg: U8(PragFlg_Result0 | PragFlg_NoColumns1), /* iArg: */ FiArg: uint64(SQLITE_WriteSchema | SQLITE_NoSchemaError)}, -} /* sqlite3.c:129938:25 */ +} /* sqlite3.c:129951:25 */ // Number of pragmas: 68 on by default, 78 total. @@ -110700,7 +110719,7 @@ var aPragmaName = [66]PragmaName{ // should be passed into sqlite3BtreeSetSafetyLevel(). The is done // to support legacy SQL code. The safety level used to be boolean // and older scripts may have used numbers 0 for OFF and 1 for ON. -func getSafetyLevel(tls *libc.TLS, z uintptr, omitFull int32, dflt U8) U8 { /* sqlite3.c:130472:11: */ +func getSafetyLevel(tls *libc.TLS, z uintptr, omitFull int32, dflt U8) U8 { /* sqlite3.c:130485:11: */ // on no off false yes true extra full var i int32 var n int32 @@ -110717,13 +110736,13 @@ func getSafetyLevel(tls *libc.TLS, z uintptr, omitFull int32, dflt U8) U8 { /* s return dflt } -var zText = *(*[25]uint8)(unsafe.Pointer(ts + 17210)) /* sqlite3.c:130474:21 */ -var iOffset = [8]U8{U8(0), U8(1), U8(2), U8(4), U8(9), U8(12), U8(15), U8(20)} /* sqlite3.c:130475:19 */ -var iLength = [8]U8{U8(2), U8(2), U8(3), U8(5), U8(3), U8(4), U8(5), U8(4)} /* sqlite3.c:130476:19 */ -var iValue = [8]U8{U8(1), U8(0), U8(0), U8(0), U8(1), U8(1), U8(3), U8(2)} /* sqlite3.c:130477:19 */ +var zText = *(*[25]uint8)(unsafe.Pointer(ts + 17210)) /* sqlite3.c:130487:21 */ +var iOffset = [8]U8{U8(0), U8(1), U8(2), U8(4), U8(9), U8(12), U8(15), U8(20)} /* sqlite3.c:130488:19 */ +var iLength = [8]U8{U8(2), U8(2), U8(3), U8(5), U8(3), U8(4), U8(5), U8(4)} /* sqlite3.c:130489:19 */ +var iValue = [8]U8{U8(1), U8(0), U8(0), U8(0), U8(1), U8(1), U8(3), U8(2)} /* sqlite3.c:130490:19 */ // Interpret the given string as a boolean value. -func Xsqlite3GetBoolean(tls *libc.TLS, z uintptr, dflt U8) U8 { /* sqlite3.c:130497:19: */ +func Xsqlite3GetBoolean(tls *libc.TLS, z uintptr, dflt U8) U8 { /* sqlite3.c:130510:19: */ return U8(libc.Bool32(int32(getSafetyLevel(tls, z, 1, dflt)) != 0)) } @@ -110732,7 +110751,7 @@ func Xsqlite3GetBoolean(tls *libc.TLS, z uintptr, dflt U8) U8 { /* sqlite3.c:130 // the rest of the file if PRAGMAs are omitted from the build. // Interpret the given string as a locking mode value. -func getLockingMode(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:130510:12: */ +func getLockingMode(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:130523:12: */ if z != 0 { if 0 == Xsqlite3StrICmp(tls, z, ts+17235) { return PAGER_LOCKINGMODE_EXCLUSIVE @@ -110748,7 +110767,7 @@ func getLockingMode(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:130510:12: */ // // The following strings, "none", "full" and "incremental" are // acceptable, as are their numeric equivalents: 0, 1 and 2 respectively. -func getAutoVacuum(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:130525:12: */ +func getAutoVacuum(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:130538:12: */ var i int32 if 0 == Xsqlite3StrICmp(tls, z, ts+7905) { return BTREE_AUTOVACUUM_NONE @@ -110771,7 +110790,7 @@ func getAutoVacuum(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:130525:12: */ // Interpret the given string as a temp db location. Return 1 for file // backed temporary databases, 2 for the Red-Black tree in memory database // and 0 to use the compile-time default. -func getTempStore(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:130541:12: */ +func getTempStore(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:130554:12: */ if int32(*(*uint8)(unsafe.Pointer(z))) >= '0' && int32(*(*uint8)(unsafe.Pointer(z))) <= '2' { return int32(*(*uint8)(unsafe.Pointer(z))) - '0' } else if Xsqlite3StrICmp(tls, z, ts+16185) == 0 { @@ -110786,7 +110805,7 @@ func getTempStore(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:130541:12: */ // Invalidate temp storage, either when the temp storage is changed // from default, or when 'file' and the temp_store_directory has changed -func invalidateTempStorage(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:130559:12: */ +func invalidateTempStorage(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:130572:12: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb if (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+1*16)).FpBt != uintptr(0) { if !(int32((*Sqlite3)(unsafe.Pointer(db)).FautoCommit) != 0) || @@ -110805,7 +110824,7 @@ func invalidateTempStorage(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:1 // If the TEMP database is open, close it and mark the database schema // as needing reloading. This must be done when using the SQLITE_TEMP_STORE // or DEFAULT_TEMP_STORE pragmas. -func changeTempStorage(tls *libc.TLS, pParse uintptr, zStorageType uintptr) int32 { /* sqlite3.c:130583:12: */ +func changeTempStorage(tls *libc.TLS, pParse uintptr, zStorageType uintptr) int32 { /* sqlite3.c:130596:12: */ var ts int32 = getTempStore(tls, zStorageType) var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb if int32((*Sqlite3)(unsafe.Pointer(db)).Ftemp_store) == ts { @@ -110819,7 +110838,7 @@ func changeTempStorage(tls *libc.TLS, pParse uintptr, zStorageType uintptr) int3 } // Set result column names for a pragma. -func setPragmaResultColumnNames(tls *libc.TLS, v uintptr, pPragma uintptr) { /* sqlite3.c:130598:13: */ +func setPragmaResultColumnNames(tls *libc.TLS, v uintptr, pPragma uintptr) { /* sqlite3.c:130611:13: */ var n U8 = (*PragmaName)(unsafe.Pointer(pPragma)).FnPragCName Xsqlite3VdbeSetNumCols(tls, v, func() int32 { if int32(n) == 0 { @@ -110853,7 +110872,7 @@ func setPragmaResultColumnNames(tls *libc.TLS, v uintptr, pPragma uintptr) { /* } // Generate code to return a single integer value. -func returnSingleInt(tls *libc.TLS, v uintptr, value I64) { /* sqlite3.c:130617:13: */ +func returnSingleInt(tls *libc.TLS, v uintptr, value I64) { /* sqlite3.c:130630:13: */ bp := tls.Alloc(8) defer tls.Free(8) *(*I64)(unsafe.Pointer(bp)) = value @@ -110863,7 +110882,7 @@ func returnSingleInt(tls *libc.TLS, v uintptr, value I64) { /* sqlite3.c:130617: } // Generate code to return a single text value. -func returnSingleText(tls *libc.TLS, v uintptr, zValue uintptr) { /* sqlite3.c:130625:13: */ +func returnSingleText(tls *libc.TLS, v uintptr, zValue uintptr) { /* sqlite3.c:130638:13: */ if zValue != 0 { Xsqlite3VdbeLoadString(tls, v, 1, zValue) Xsqlite3VdbeAddOp2(tls, v, OP_ResultRow, 1, 1) @@ -110872,7 +110891,7 @@ func returnSingleText(tls *libc.TLS, v uintptr, zValue uintptr) { /* sqlite3.c:1 // Set the safety_level and pager flags for pager iDb. Or if iDb<0 // set these values for all pagers. -func setAllPagerFlags(tls *libc.TLS, db uintptr) { /* sqlite3.c:130641:13: */ +func setAllPagerFlags(tls *libc.TLS, db uintptr) { /* sqlite3.c:130654:13: */ if (*Sqlite3)(unsafe.Pointer(db)).FautoCommit != 0 { var pDb uintptr = (*Sqlite3)(unsafe.Pointer(db)).FaDb var n int32 = (*Sqlite3)(unsafe.Pointer(db)).FnDb @@ -110888,7 +110907,7 @@ func setAllPagerFlags(tls *libc.TLS, db uintptr) { /* sqlite3.c:130641:13: */ } // Return a human-readable name for a constraint resolution action. -func actionName(tls *libc.TLS, action U8) uintptr { /* sqlite3.c:130669:19: */ +func actionName(tls *libc.TLS, action U8) uintptr { /* sqlite3.c:130682:19: */ var zName uintptr switch int32(action) { case OE_SetNull: @@ -110913,7 +110932,7 @@ func actionName(tls *libc.TLS, action U8) uintptr { /* sqlite3.c:130669:19: */ // Parameter eMode must be one of the PAGER_JOURNALMODE_XXX constants // defined in pager.h. This function returns the associated lowercase // journal-mode name. -func Xsqlite3JournalModename(tls *libc.TLS, eMode int32) uintptr { /* sqlite3.c:130689:27: */ +func Xsqlite3JournalModename(tls *libc.TLS, eMode int32) uintptr { /* sqlite3.c:130702:27: */ if eMode == int32(uint32(unsafe.Sizeof(azModeName))/uint32(unsafe.Sizeof(uintptr(0)))) { return uintptr(0) @@ -110923,10 +110942,10 @@ func Xsqlite3JournalModename(tls *libc.TLS, eMode int32) uintptr { /* sqlite3.c: var azModeName = [6]uintptr{ ts + 17386, ts + 17393, ts + 17401, ts + 17405, ts + 17269, ts + 17414, -} /* sqlite3.c:130690:15 */ +} /* sqlite3.c:130703:15 */ // Locate a pragma in the aPragmaName[] array. -func pragmaLocate(tls *libc.TLS, zName uintptr) uintptr { /* sqlite3.c:130711:25: */ +func pragmaLocate(tls *libc.TLS, zName uintptr) uintptr { /* sqlite3.c:130724:25: */ var upr int32 var lwr int32 var mid int32 = 0 @@ -110953,7 +110972,7 @@ func pragmaLocate(tls *libc.TLS, zName uintptr) uintptr { /* sqlite3.c:130711:25 // Create zero or more entries in the output for the SQL functions // defined by FuncDef p. -func pragmaFunclistLine(tls *libc.TLS, v uintptr, p uintptr, isBuiltin int32, showInternFuncs int32) { /* sqlite3.c:130732:13: */ +func pragmaFunclistLine(tls *libc.TLS, v uintptr, p uintptr, isBuiltin int32, showInternFuncs int32) { /* sqlite3.c:130745:13: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -110982,15 +111001,15 @@ func pragmaFunclistLine(tls *libc.TLS, v uintptr, p uintptr, isBuiltin int32, sh } } -var mask U32 = U32(SQLITE_DETERMINISTIC | SQLITE_DIRECTONLY | SQLITE_SUBTYPE | SQLITE_INNOCUOUS | SQLITE_FUNC_INTERNAL) /* sqlite3.c:130740:22 */ -var azEnc = [4]uintptr{uintptr(0), ts + 17429, ts + 17434, ts + 17442 /* "utf16be" */} /* sqlite3.c:130747:23 */ +var mask U32 = U32(SQLITE_DETERMINISTIC | SQLITE_DIRECTONLY | SQLITE_SUBTYPE | SQLITE_INNOCUOUS | SQLITE_FUNC_INTERNAL) /* sqlite3.c:130753:22 */ +var azEnc = [4]uintptr{uintptr(0), ts + 17429, ts + 17434, ts + 17442 /* "utf16be" */} /* sqlite3.c:130760:23 */ // Helper subroutine for PRAGMA integrity_check: // // Generate code to output a single-column result row with a value of the // string held in register 3. Decrement the result count in register 1 // and halt if the maximum number of result rows have been issued. -func integrityCheckResultRow(tls *libc.TLS, v uintptr) int32 { /* sqlite3.c:130784:12: */ +func integrityCheckResultRow(tls *libc.TLS, v uintptr) int32 { /* sqlite3.c:130797:12: */ var addr int32 Xsqlite3VdbeAddOp2(tls, v, OP_ResultRow, 3, 1) addr = Xsqlite3VdbeAddOp3(tls, v, OP_IfPos, 1, Xsqlite3VdbeCurrentAddr(tls, v)+2, 1) @@ -111012,7 +111031,7 @@ func integrityCheckResultRow(tls *libc.TLS, v uintptr) int32 { /* sqlite3.c:1307 // If the left side is "database.id" then pId1 is the database name // and pId2 is the id. If the left side is just "id" then pId1 is the // id and pId2 is any empty string. -func Xsqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, pValue uintptr, minusFlag int32) { /* sqlite3.c:130808:21: */ +func Xsqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, pValue uintptr, minusFlag int32) { /* sqlite3.c:130821:21: */ bp := tls.Alloc(576) defer tls.Free(576) @@ -114395,9 +114414,9 @@ type EncName = struct { FzName uintptr Fenc U8 F__ccgo_pad1 [3]byte -} /* sqlite3.c:132383:18 */ +} /* sqlite3.c:132396:18 */ -var iLn3 int32 = 0 /* sqlite3.c:130937:22 */ +var iLn3 int32 = 0 /* sqlite3.c:130950:22 */ var getCacheSize = [9]VdbeOpList{ {Fopcode: U8(OP_Transaction)}, // 0 {Fopcode: U8(OP_ReadCookie), Fp2: int8(1), Fp3: int8(BTREE_DEFAULT_CACHE_SIZE)}, // 1 @@ -114408,16 +114427,16 @@ var getCacheSize = [9]VdbeOpList{ {Fopcode: U8(OP_Integer), Fp2: int8(1)}, // 6 {Fopcode: U8(OP_Noop)}, {Fopcode: U8(OP_ResultRow), Fp1: int8(1), Fp2: int8(1)}, -} /* sqlite3.c:130938:29 */ -var iLn4 int32 = 0 /* sqlite3.c:131206:26 */ +} /* sqlite3.c:130951:29 */ +var iLn4 int32 = 0 /* sqlite3.c:131219:26 */ var setMeta6 = [5]VdbeOpList{ {Fopcode: U8(OP_Transaction), Fp2: int8(1)}, // 0 {Fopcode: U8(OP_ReadCookie), Fp2: int8(1), Fp3: int8(BTREE_LARGEST_ROOT_PAGE)}, {Fopcode: U8(OP_If), Fp1: int8(1)}, // 2 {Fopcode: U8(OP_Halt), Fp2: int8(OE_Abort)}, // 3 {Fopcode: U8(OP_SetCookie), Fp2: int8(BTREE_INCR_VACUUM)}, // 4 -} /* sqlite3.c:131207:33 */ -var iLn5 int32 = 0 /* sqlite3.c:132333:24 */ +} /* sqlite3.c:131220:33 */ +var iLn5 int32 = 0 /* sqlite3.c:132346:24 */ var endCode = [7]VdbeOpList{ {Fopcode: U8(OP_AddImm), Fp1: int8(1)}, // 0 {Fopcode: U8(OP_IfNotZero), Fp1: int8(1), Fp2: int8(4)}, // 1 @@ -114426,7 +114445,7 @@ var endCode = [7]VdbeOpList{ {Fopcode: U8(OP_Halt)}, // 4 {Fopcode: U8(OP_String8), Fp2: int8(3)}, // 5 {Fopcode: U8(OP_Goto), Fp2: int8(3)}, // 6 -} /* sqlite3.c:132334:31 */ +} /* sqlite3.c:132347:31 */ var encnames1 = [9]EncName{ {FzName: ts + 17865, Fenc: U8(SQLITE_UTF8)}, {FzName: ts + 17870, Fenc: U8(SQLITE_UTF8)}, // Must be element [1] @@ -114437,16 +114456,16 @@ var encnames1 = [9]EncName{ {FzName: ts + 17910}, {FzName: ts + 17917}, {}, -} /* sqlite3.c:132386:7 */ +} /* sqlite3.c:132399:7 */ var setCookie = [2]VdbeOpList{ {Fopcode: U8(OP_Transaction), Fp2: int8(1)}, // 0 {Fopcode: U8(OP_SetCookie)}, // 1 -} /* sqlite3.c:132466:31 */ +} /* sqlite3.c:132479:31 */ var readCookie = [3]VdbeOpList{ {Fopcode: U8(OP_Transaction)}, // 0 {Fopcode: U8(OP_ReadCookie), Fp2: int8(1)}, // 1 {Fopcode: U8(OP_ResultRow), Fp1: int8(1), Fp2: int8(1)}, -} /* sqlite3.c:132481:31 */ +} /* sqlite3.c:132494:31 */ // **************************************************************************** // // Implementation of an eponymous virtual table that runs a pragma. @@ -114458,24 +114477,24 @@ type PragmaVtab1 = struct { FnHidden U8 FiHidden U8 F__ccgo_pad1 [2]byte -} /* sqlite3.c:132841:9 */ +} /* sqlite3.c:132854:9 */ // **************************************************************************** // // Implementation of an eponymous virtual table that runs a pragma. // -type PragmaVtab = PragmaVtab1 /* sqlite3.c:132841:27 */ +type PragmaVtab = PragmaVtab1 /* sqlite3.c:132854:27 */ type PragmaVtabCursor1 = struct { Fbase Sqlite3_vtab_cursor FpPragma uintptr FiRowid Sqlite_int64 FazArg [2]uintptr -} /* sqlite3.c:132842:9 */ +} /* sqlite3.c:132855:9 */ -type PragmaVtabCursor = PragmaVtabCursor1 /* sqlite3.c:132842:33 */ +type PragmaVtabCursor = PragmaVtabCursor1 /* sqlite3.c:132855:33 */ // Pragma virtual table module xConnect method. -func pragmaVtabConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 { /* sqlite3.c:132860:12: */ +func pragmaVtabConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 { /* sqlite3.c:132873:12: */ bp := tls.Alloc(256) defer tls.Free(256) @@ -114549,7 +114568,7 @@ __3: } // Pragma virtual table module xDisconnect method. -func pragmaVtabDisconnect(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:132922:12: */ +func pragmaVtabDisconnect(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:132935:12: */ var pTab uintptr = pVtab Xsqlite3_free(tls, pTab) return SQLITE_OK @@ -114561,7 +114580,7 @@ func pragmaVtabDisconnect(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:132 // query planner to give == constraints on as many hidden parameters as // possible, and especially on the first hidden parameter. So return a // high cost if hidden parameters are unconstrained. -func pragmaVtabBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 { /* sqlite3.c:132935:12: */ +func pragmaVtabBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 { /* sqlite3.c:132948:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -114626,7 +114645,7 @@ __3: } // Create a new cursor for the pragma virtual table -func pragmaVtabOpen(tls *libc.TLS, pVtab uintptr, ppCursor uintptr) int32 { /* sqlite3.c:132972:12: */ +func pragmaVtabOpen(tls *libc.TLS, pVtab uintptr, ppCursor uintptr) int32 { /* sqlite3.c:132985:12: */ var pCsr uintptr pCsr = Xsqlite3_malloc(tls, int32(unsafe.Sizeof(PragmaVtabCursor{}))) if pCsr == uintptr(0) { @@ -114639,7 +114658,7 @@ func pragmaVtabOpen(tls *libc.TLS, pVtab uintptr, ppCursor uintptr) int32 { /* s } // Clear all content from pragma virtual table cursor. -func pragmaVtabCursorClear(tls *libc.TLS, pCsr uintptr) { /* sqlite3.c:132983:13: */ +func pragmaVtabCursorClear(tls *libc.TLS, pCsr uintptr) { /* sqlite3.c:132996:13: */ var i int32 Xsqlite3_finalize(tls, (*PragmaVtabCursor)(unsafe.Pointer(pCsr)).FpPragma) (*PragmaVtabCursor)(unsafe.Pointer(pCsr)).FpPragma = uintptr(0) @@ -114650,7 +114669,7 @@ func pragmaVtabCursorClear(tls *libc.TLS, pCsr uintptr) { /* sqlite3.c:132983:13 } // Close a pragma virtual table cursor -func pragmaVtabClose(tls *libc.TLS, cur uintptr) int32 { /* sqlite3.c:132994:12: */ +func pragmaVtabClose(tls *libc.TLS, cur uintptr) int32 { /* sqlite3.c:133007:12: */ var pCsr uintptr = cur pragmaVtabCursorClear(tls, pCsr) Xsqlite3_free(tls, pCsr) @@ -114658,7 +114677,7 @@ func pragmaVtabClose(tls *libc.TLS, cur uintptr) int32 { /* sqlite3.c:132994:12: } // Advance the pragma virtual table cursor to the next row -func pragmaVtabNext(tls *libc.TLS, pVtabCursor uintptr) int32 { /* sqlite3.c:133002:12: */ +func pragmaVtabNext(tls *libc.TLS, pVtabCursor uintptr) int32 { /* sqlite3.c:133015:12: */ var pCsr uintptr = pVtabCursor var rc int32 = SQLITE_OK @@ -114674,7 +114693,7 @@ func pragmaVtabNext(tls *libc.TLS, pVtabCursor uintptr) int32 { /* sqlite3.c:133 } // Pragma virtual table module xFilter method. -func pragmaVtabFilter(tls *libc.TLS, pVtabCursor uintptr, idxNum int32, idxStr uintptr, argc int32, argv uintptr) int32 { /* sqlite3.c:133020:12: */ +func pragmaVtabFilter(tls *libc.TLS, pVtabCursor uintptr, idxNum int32, idxStr uintptr, argc int32, argv uintptr) int32 { /* sqlite3.c:133033:12: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -114742,14 +114761,14 @@ __3: } // Pragma virtual table module xEof method. -func pragmaVtabEof(tls *libc.TLS, pVtabCursor uintptr) int32 { /* sqlite3.c:133070:12: */ +func pragmaVtabEof(tls *libc.TLS, pVtabCursor uintptr) int32 { /* sqlite3.c:133083:12: */ var pCsr uintptr = pVtabCursor return libc.Bool32((*PragmaVtabCursor)(unsafe.Pointer(pCsr)).FpPragma == uintptr(0)) } // The xColumn method simply returns the corresponding column from // the PRAGMA. -func pragmaVtabColumn(tls *libc.TLS, pVtabCursor uintptr, ctx uintptr, i int32) int32 { /* sqlite3.c:133078:12: */ +func pragmaVtabColumn(tls *libc.TLS, pVtabCursor uintptr, ctx uintptr, i int32) int32 { /* sqlite3.c:133091:12: */ var pCsr uintptr = pVtabCursor var pTab uintptr = (*Sqlite3_vtab_cursor)(unsafe.Pointer(pVtabCursor)).FpVtab if i < int32((*PragmaVtab)(unsafe.Pointer(pTab)).FiHidden) { @@ -114761,7 +114780,7 @@ func pragmaVtabColumn(tls *libc.TLS, pVtabCursor uintptr, ctx uintptr, i int32) } // Pragma virtual table module xRowid method. -func pragmaVtabRowid(tls *libc.TLS, pVtabCursor uintptr, p uintptr) int32 { /* sqlite3.c:133096:12: */ +func pragmaVtabRowid(tls *libc.TLS, pVtabCursor uintptr, p uintptr) int32 { /* sqlite3.c:133109:12: */ var pCsr uintptr = pVtabCursor *(*Sqlite_int64)(unsafe.Pointer(p)) = (*PragmaVtabCursor)(unsafe.Pointer(pCsr)).FiRowid return SQLITE_OK @@ -114779,12 +114798,12 @@ var pragmaVtabModule = Sqlite3_module{ // xCreate - create a table FxEof: 0, // xEof FxColumn: 0, // xColumn - read data FxRowid: 0, // xShadowName -} /* sqlite3.c:133103:29 */ +} /* sqlite3.c:133116:29 */ // Check to see if zTabName is really the name of a pragma. If it is, // then register an eponymous virtual table for that pragma and return // a pointer to the Module object for the new virtual table. -func Xsqlite3PragmaVtabRegister(tls *libc.TLS, db uintptr, zName uintptr) uintptr { /* sqlite3.c:133135:23: */ +func Xsqlite3PragmaVtabRegister(tls *libc.TLS, db uintptr, zName uintptr) uintptr { /* sqlite3.c:133148:23: */ var pName uintptr pName = pragmaLocate(tls, zName+uintptr(7)) @@ -114817,7 +114836,7 @@ func Xsqlite3PragmaVtabRegister(tls *libc.TLS, db uintptr, zName uintptr) uintpt // Fill the InitData structure with an error message that indicates // that the database is corrupt. -func corruptSchema(tls *libc.TLS, pData uintptr, azObj uintptr, zExtra uintptr) { /* sqlite3.c:133172:13: */ +func corruptSchema(tls *libc.TLS, pData uintptr, azObj uintptr, zExtra uintptr) { /* sqlite3.c:133185:13: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -114833,7 +114852,7 @@ func corruptSchema(tls *libc.TLS, pData uintptr, azObj uintptr, zExtra uintptr) zExtra)) (*InitData)(unsafe.Pointer(pData)).Frc = SQLITE_ERROR } else if (*Sqlite3)(unsafe.Pointer(db)).Fflags&uint64(SQLITE_WriteSchema) != 0 { - (*InitData)(unsafe.Pointer(pData)).Frc = Xsqlite3CorruptError(tls, 133195) + (*InitData)(unsafe.Pointer(pData)).Frc = Xsqlite3CorruptError(tls, 133208) } else { var z uintptr var zObj uintptr @@ -114847,7 +114866,7 @@ func corruptSchema(tls *libc.TLS, pData uintptr, azObj uintptr, zExtra uintptr) z = Xsqlite3MPrintf(tls, db, ts+18053, libc.VaList(bp+40, z, zExtra)) } *(*uintptr)(unsafe.Pointer((*InitData)(unsafe.Pointer(pData)).FpzErrMsg)) = z - (*InitData)(unsafe.Pointer(pData)).Frc = Xsqlite3CorruptError(tls, 133202) + (*InitData)(unsafe.Pointer(pData)).Frc = Xsqlite3CorruptError(tls, 133215) } } @@ -114855,12 +114874,12 @@ var azAlterType = [3]uintptr{ ts + 18061, ts + 18068, ts + 18080, -} /* sqlite3.c:133183:23 */ +} /* sqlite3.c:133196:23 */ // Check to see if any sibling index (another index on the same table) // of pIndex has the same root page number, and if it does, return true. // This would indicate a corrupt schema. -func Xsqlite3IndexHasDuplicateRootPage(tls *libc.TLS, pIndex uintptr) int32 { /* sqlite3.c:133211:20: */ +func Xsqlite3IndexHasDuplicateRootPage(tls *libc.TLS, pIndex uintptr) int32 { /* sqlite3.c:133224:20: */ var p uintptr for p = (*Table)(unsafe.Pointer((*Index)(unsafe.Pointer(pIndex)).FpTable)).FpIndex; p != 0; p = (*Index)(unsafe.Pointer(p)).FpNext { if (*Index)(unsafe.Pointer(p)).Ftnum == (*Index)(unsafe.Pointer(pIndex)).Ftnum && p != pIndex { @@ -114882,7 +114901,7 @@ func Xsqlite3IndexHasDuplicateRootPage(tls *libc.TLS, pIndex uintptr) int32 { /* // argv[3] = root page number for table or index. 0 for trigger or view. // argv[4] = SQL text for the CREATE statement. // -func Xsqlite3InitCallback(tls *libc.TLS, pInit uintptr, argc int32, argv uintptr, NotUsed uintptr) int32 { /* sqlite3.c:133245:20: */ +func Xsqlite3InitCallback(tls *libc.TLS, pInit uintptr, argc int32, argv uintptr, NotUsed uintptr) int32 { /* sqlite3.c:133258:20: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -114984,7 +115003,7 @@ func Xsqlite3InitCallback(tls *libc.TLS, pInit uintptr, argc int32, argv uintptr // database. iDb==1 should never be used. iDb>=2 is used for // auxiliary databases. Return one of the SQLITE_ error codes to // indicate success or failure. -func Xsqlite3InitOne(tls *libc.TLS, db uintptr, iDb int32, pzErrMsg uintptr, mFlags U32) int32 { /* sqlite3.c:133348:20: */ +func Xsqlite3InitOne(tls *libc.TLS, db uintptr, iDb int32, pzErrMsg uintptr, mFlags U32) int32 { /* sqlite3.c:133361:20: */ bp := tls.Alloc(88) defer tls.Free(88) @@ -115230,7 +115249,7 @@ __20: pDb = (*Sqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*16 goto __22 __21: - if !(rc == SQLITE_OK || (*Sqlite3)(unsafe.Pointer(db)).Fflags&uint64(SQLITE_NoSchemaError) != 0) { + if !(rc == SQLITE_OK || (*Sqlite3)(unsafe.Pointer(db)).Fflags&uint64(SQLITE_NoSchemaError) != 0 && rc != SQLITE_NOMEM) { goto __23 } // Hack: If the SQLITE_NoSchemaError flag is set, then consider @@ -115285,7 +115304,7 @@ __25: // // After a database is initialized, the DB_SchemaLoaded bit is set // bit is set in the flags field of the Db structure. -func Xsqlite3Init(tls *libc.TLS, db uintptr, pzErrMsg uintptr) int32 { /* sqlite3.c:133587:20: */ +func Xsqlite3Init(tls *libc.TLS, db uintptr, pzErrMsg uintptr) int32 { /* sqlite3.c:133600:20: */ var i int32 var rc int32 var commit_internal int32 = libc.BoolInt32(!((*Sqlite3)(unsafe.Pointer(db)).FmDbFlags&U32(DBFLAG_SchemaChange) != 0)) @@ -115317,7 +115336,7 @@ func Xsqlite3Init(tls *libc.TLS, db uintptr, pzErrMsg uintptr) int32 { /* sqlite // This routine is a no-op if the database schema is already initialized. // Otherwise, the schema is loaded. An error code is returned. -func Xsqlite3ReadSchema(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:133619:20: */ +func Xsqlite3ReadSchema(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:133632:20: */ var rc int32 = SQLITE_OK var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb @@ -115336,7 +115355,7 @@ func Xsqlite3ReadSchema(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:1336 // Check schema cookies in all databases. If any cookie is out // of date set pParse->rc to SQLITE_SCHEMA. If all schema cookies // make no changes to pParse->rc. -func schemaIsValid(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:133641:13: */ +func schemaIsValid(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:133654:13: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -115389,7 +115408,7 @@ func schemaIsValid(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:133641:13: */ // // If the same database is attached more than once, the first // attached database is returned. -func Xsqlite3SchemaToIndex(tls *libc.TLS, db uintptr, pSchema uintptr) int32 { /* sqlite3.c:133691:20: */ +func Xsqlite3SchemaToIndex(tls *libc.TLS, db uintptr, pSchema uintptr) int32 { /* sqlite3.c:133704:20: */ var i int32 = -32768 // If pSchema is NULL, then return -32768. This happens when code in @@ -115416,7 +115435,7 @@ func Xsqlite3SchemaToIndex(tls *libc.TLS, db uintptr, pSchema uintptr) int32 { / } // Free all memory allocations in the pParse object -func Xsqlite3ParseObjectReset(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:133721:21: */ +func Xsqlite3ParseObjectReset(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:133734:21: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb Xsqlite3DbFree(tls, db, (*Parse)(unsafe.Pointer(pParse)).FaTableLock) @@ -115472,7 +115491,7 @@ func Xsqlite3ParseObjectReset(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:1337 // return value thereafter. Something like this: // // pObj = sqlite3ParserAddCleanup(pParse, destructor, pObj); -func Xsqlite3ParserAddCleanup(tls *libc.TLS, pParse uintptr, xCleanup uintptr, pPtr uintptr) uintptr { /* sqlite3.c:133776:21: */ +func Xsqlite3ParserAddCleanup(tls *libc.TLS, pParse uintptr, xCleanup uintptr, pPtr uintptr) uintptr { /* sqlite3.c:133789:21: */ var pCleanup uintptr = Xsqlite3DbMallocRaw(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, uint64(unsafe.Sizeof(ParseCleanup{}))) if pCleanup != 0 { (*ParseCleanup)(unsafe.Pointer(pCleanup)).FpNext = (*Parse)(unsafe.Pointer(pParse)).FpCleanup @@ -115495,7 +115514,7 @@ func Xsqlite3ParserAddCleanup(tls *libc.TLS, pParse uintptr, xCleanup uintptr, p // // Caution: Do not confuse this routine with sqlite3ParseObjectInit() which // is generated by Lemon. -func Xsqlite3ParseObjectInit(tls *libc.TLS, pParse uintptr, db uintptr) { /* sqlite3.c:133806:21: */ +func Xsqlite3ParseObjectInit(tls *libc.TLS, pParse uintptr, db uintptr) { /* sqlite3.c:133819:21: */ libc.Xmemset(tls, pParse+uintptr(uint32(uintptr(0)+4)), 0, uint32(uintptr(0)+152)-uint32(uintptr(0)+4)) libc.Xmemset(tls, pParse+uintptr(uint32(uintptr(0)+196)), 0, uint32(unsafe.Sizeof(Parse{}))-uint32(uintptr(0)+196)) @@ -115508,7 +115527,7 @@ func Xsqlite3ParseObjectInit(tls *libc.TLS, pParse uintptr, db uintptr) { /* sql } // Compile the UTF-8 encoded SQL statement zSql into a statement handle. -func sqlite3Prepare(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, prepFlags U32, pReprepare uintptr, ppStmt uintptr, pzTail uintptr) int32 { /* sqlite3.c:133819:12: */ +func sqlite3Prepare(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, prepFlags U32, pReprepare uintptr, ppStmt uintptr, pzTail uintptr) int32 { /* sqlite3.c:133832:12: */ bp := tls.Alloc(288) defer tls.Free(288) @@ -115714,13 +115733,13 @@ end_prepare: return rc } -func sqlite3LockAndPrepare(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, prepFlags U32, pOld uintptr, ppStmt uintptr, pzTail uintptr) int32 { /* sqlite3.c:133962:12: */ +func sqlite3LockAndPrepare(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, prepFlags U32, pOld uintptr, ppStmt uintptr, pzTail uintptr) int32 { /* sqlite3.c:133975:12: */ var rc int32 var cnt int32 = 0 *(*uintptr)(unsafe.Pointer(ppStmt)) = uintptr(0) if !(Xsqlite3SafetyCheckOk(tls, db) != 0) || zSql == uintptr(0) { - return Xsqlite3MisuseError(tls, 133979) + return Xsqlite3MisuseError(tls, 133992) } Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) Xsqlite3BtreeEnterAll(tls, db) @@ -115749,7 +115768,7 @@ func sqlite3LockAndPrepare(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32 // if the statement cannot be recompiled because another connection has // locked the sqlite3_schema table, return SQLITE_LOCKED. If any other error // occurs, return SQLITE_SCHEMA. -func Xsqlite3Reprepare(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:134009:20: */ +func Xsqlite3Reprepare(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:134022:20: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -115788,14 +115807,14 @@ func Xsqlite3Reprepare(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:134009:20: // sqlite3_step(). In the new version, the original SQL text is retained // and the statement is automatically recompiled if an schema change // occurs. -func Xsqlite3_prepare(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, ppStmt uintptr, pzTail uintptr) int32 { /* sqlite3.c:134048:16: */ +func Xsqlite3_prepare(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, ppStmt uintptr, pzTail uintptr) int32 { /* sqlite3.c:134061:16: */ var rc int32 rc = sqlite3LockAndPrepare(tls, db, zSql, nBytes, uint32(0), uintptr(0), ppStmt, pzTail) // VERIFY: F13021 return rc } -func Xsqlite3_prepare_v2(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, ppStmt uintptr, pzTail uintptr) int32 { /* sqlite3.c:134060:16: */ +func Xsqlite3_prepare_v2(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, ppStmt uintptr, pzTail uintptr) int32 { /* sqlite3.c:134073:16: */ var rc int32 // EVIDENCE-OF: R-37923-12173 The sqlite3_prepare_v2() interface works // exactly the same as sqlite3_prepare_v3() with a zero prepFlags @@ -115808,7 +115827,7 @@ func Xsqlite3_prepare_v2(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, return rc } -func Xsqlite3_prepare_v3(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, prepFlags uint32, ppStmt uintptr, pzTail uintptr) int32 { /* sqlite3.c:134078:16: */ +func Xsqlite3_prepare_v3(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, prepFlags uint32, ppStmt uintptr, pzTail uintptr) int32 { /* sqlite3.c:134091:16: */ var rc int32 // EVIDENCE-OF: R-56861-42673 sqlite3_prepare_v3() differs from // sqlite3_prepare_v2() only in having the extra prepFlags parameter, @@ -115825,7 +115844,7 @@ func Xsqlite3_prepare_v3(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, } // Compile the UTF-16 encoded SQL statement zSql into a statement handle. -func sqlite3Prepare16(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, prepFlags U32, ppStmt uintptr, pzTail uintptr) int32 { /* sqlite3.c:134106:12: */ +func sqlite3Prepare16(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, prepFlags U32, ppStmt uintptr, pzTail uintptr) int32 { /* sqlite3.c:134119:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -115838,7 +115857,7 @@ func sqlite3Prepare16(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, pre *(*uintptr)(unsafe.Pointer(ppStmt)) = uintptr(0) if !(Xsqlite3SafetyCheckOk(tls, db) != 0) || zSql == uintptr(0) { - return Xsqlite3MisuseError(tls, 134127) + return Xsqlite3MisuseError(tls, 134140) } if nBytes >= 0 { var sz int32 @@ -115873,21 +115892,21 @@ func sqlite3Prepare16(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, pre // sqlite3_step(). In the new version, the original SQL text is retained // and the statement is automatically recompiled if an schema change // occurs. -func Xsqlite3_prepare16(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, ppStmt uintptr, pzTail uintptr) int32 { /* sqlite3.c:134164:16: */ +func Xsqlite3_prepare16(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, ppStmt uintptr, pzTail uintptr) int32 { /* sqlite3.c:134177:16: */ var rc int32 rc = sqlite3Prepare16(tls, db, zSql, nBytes, uint32(0), ppStmt, pzTail) // VERIFY: F13021 return rc } -func Xsqlite3_prepare16_v2(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, ppStmt uintptr, pzTail uintptr) int32 { /* sqlite3.c:134176:16: */ +func Xsqlite3_prepare16_v2(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, ppStmt uintptr, pzTail uintptr) int32 { /* sqlite3.c:134189:16: */ var rc int32 rc = sqlite3Prepare16(tls, db, zSql, nBytes, uint32(SQLITE_PREPARE_SAVESQL), ppStmt, pzTail) // VERIFY: F13021 return rc } -func Xsqlite3_prepare16_v3(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, prepFlags uint32, ppStmt uintptr, pzTail uintptr) int32 { /* sqlite3.c:134188:16: */ +func Xsqlite3_prepare16_v3(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, prepFlags uint32, ppStmt uintptr, pzTail uintptr) int32 { /* sqlite3.c:134201:16: */ var rc int32 rc = sqlite3Prepare16(tls, db, zSql, nBytes, uint32(SQLITE_PREPARE_SAVESQL)|prepFlags&uint32(SQLITE_PREPARE_MASK), @@ -115921,7 +115940,7 @@ type DistinctCtx1 = struct { F__ccgo_pad1 [2]byte FtabTnct int32 FaddrTnct int32 -} /* sqlite3.c:134229:9 */ +} /* sqlite3.c:134242:9 */ //************* End of prepare.c ******************************************** //************* Begin file select.c ***************************************** @@ -115942,7 +115961,7 @@ type DistinctCtx1 = struct { // An instance of the following object is used to record information about // how to process the DISTINCT keyword, to simplify passing that information // into the selectInnerLoop() routine. -type DistinctCtx = DistinctCtx1 /* sqlite3.c:134229:28 */ +type DistinctCtx = DistinctCtx1 /* sqlite3.c:134242:28 */ // An instance of the following object is used to record information about // the ORDER BY (or GROUP BY) clause of query is being coded. @@ -115972,7 +115991,7 @@ type SortCtx1 = struct { FsortFlags U8 F__ccgo_pad1 [3]byte FpDeferredRowLoad uintptr -} /* sqlite3.c:134255:9 */ +} /* sqlite3.c:134268:9 */ // An instance of the following object is used to record information about // the ORDER BY (or GROUP BY) clause of query is being coded. @@ -115990,19 +116009,19 @@ type SortCtx1 = struct { // When the sorter-reference optimization is used, there is one entry in the // aDefer[] array for each database table that may be read as values are // extracted from the sorter. -type SortCtx = SortCtx1 /* sqlite3.c:134255:24 */ +type SortCtx = SortCtx1 /* sqlite3.c:134268:24 */ type RowLoadInfo1 = struct { FregResult int32 FecelFlags U8 F__ccgo_pad1 [3]byte -} /* sqlite3.c:134255:9 */ +} /* sqlite3.c:134268:9 */ // Delete all the content of a Select structure. Deallocate the structure // itself depending on the value of bFree // // If bFree==1, call sqlite3DbFree() on the p object. // If bFree==0, Leave the first Select object unfreed -func clearSelect(tls *libc.TLS, db uintptr, p uintptr, bFree int32) { /* sqlite3.c:134285:13: */ +func clearSelect(tls *libc.TLS, db uintptr, p uintptr, bFree int32) { /* sqlite3.c:134298:13: */ for p != 0 { var pPrior uintptr = (*Select)(unsafe.Pointer(p)).FpPrior Xsqlite3ExprListDelete(tls, db, (*Select)(unsafe.Pointer(p)).FpEList) @@ -116031,7 +116050,7 @@ func clearSelect(tls *libc.TLS, db uintptr, p uintptr, bFree int32) { /* sqlite3 } // Initialize a SelectDest structure. -func Xsqlite3SelectDestInit(tls *libc.TLS, pDest uintptr, eDest int32, iParm int32) { /* sqlite3.c:134314:21: */ +func Xsqlite3SelectDestInit(tls *libc.TLS, pDest uintptr, eDest int32, iParm int32) { /* sqlite3.c:134327:21: */ (*SelectDest)(unsafe.Pointer(pDest)).FeDest = U8(eDest) (*SelectDest)(unsafe.Pointer(pDest)).FiSDParm = iParm (*SelectDest)(unsafe.Pointer(pDest)).FiSDParm2 = 0 @@ -116042,7 +116061,7 @@ func Xsqlite3SelectDestInit(tls *libc.TLS, pDest uintptr, eDest int32, iParm int // Allocate a new Select structure and return a pointer to that // structure. -func Xsqlite3SelectNew(tls *libc.TLS, pParse uintptr, pEList uintptr, pSrc uintptr, pWhere uintptr, pGroupBy uintptr, pHaving uintptr, pOrderBy uintptr, selFlags U32, pLimit uintptr) uintptr { /* sqlite3.c:134328:23: */ +func Xsqlite3SelectNew(tls *libc.TLS, pParse uintptr, pEList uintptr, pSrc uintptr, pWhere uintptr, pGroupBy uintptr, pHaving uintptr, pOrderBy uintptr, selFlags U32, pLimit uintptr) uintptr { /* sqlite3.c:134341:23: */ bp := tls.Alloc(76) defer tls.Free(76) @@ -116092,14 +116111,14 @@ func Xsqlite3SelectNew(tls *libc.TLS, pParse uintptr, pEList uintptr, pSrc uintp } // Delete the given Select structure and all of its substructures. -func Xsqlite3SelectDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:134386:21: */ +func Xsqlite3SelectDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:134399:21: */ if p != 0 { clearSelect(tls, db, p, 1) } } // Return a pointer to the right-most SELECT statement in a compound. -func findRightmost(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:134393:15: */ +func findRightmost(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:134406:15: */ for (*Select)(unsafe.Pointer(p)).FpNext != 0 { p = (*Select)(unsafe.Pointer(p)).FpNext } @@ -116121,7 +116140,7 @@ func findRightmost(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:134393:15: * // // If an illegal or unsupported join type is seen, then still return // a join type, but put an error in the pParse structure. -func Xsqlite3JoinType(tls *libc.TLS, pParse uintptr, pA uintptr, pB uintptr, pC uintptr) int32 { /* sqlite3.c:134415:20: */ +func Xsqlite3JoinType(tls *libc.TLS, pParse uintptr, pA uintptr, pB uintptr, pC uintptr) int32 { /* sqlite3.c:134428:20: */ bp := tls.Alloc(44) defer tls.Free(44) @@ -116175,7 +116194,7 @@ func Xsqlite3JoinType(tls *libc.TLS, pParse uintptr, pA uintptr, pB uintptr, pC return jointype } -var zKeyText = *(*[34]uint8)(unsafe.Pointer(ts + 18382)) /* sqlite3.c:134420:21 */ +var zKeyText = *(*[34]uint8)(unsafe.Pointer(ts + 18382)) /* sqlite3.c:134433:21 */ var aKeyword = [7]struct { Fi U8 FnChar U8 @@ -116188,11 +116207,11 @@ var aKeyword = [7]struct { /* full */ {Fi: U8(19), FnChar: U8(4), Fcode: U8(JT_LEFT | JT_RIGHT | JT_OUTER)}, /* inner */ {Fi: U8(23), FnChar: U8(5), Fcode: U8(JT_INNER)}, /* cross */ {Fi: U8(28), FnChar: U8(5), Fcode: U8(JT_INNER | JT_CROSS)}, -} /* sqlite3.c:134425:5 */ +} /* sqlite3.c:134438:5 */ // Return the index of a column in a table. Return -1 if the column // is not contained in the table. -func Xsqlite3ColumnIndex(tls *libc.TLS, pTab uintptr, zCol uintptr) int32 { /* sqlite3.c:134476:20: */ +func Xsqlite3ColumnIndex(tls *libc.TLS, pTab uintptr, zCol uintptr) int32 { /* sqlite3.c:134489:20: */ var i int32 var h U8 = Xsqlite3StrIHash(tls, zCol) var pCol uintptr @@ -116226,7 +116245,7 @@ __3: // of the matching column and return TRUE. // // If not found, return FALSE. -func tableAndColumnIndex(tls *libc.TLS, pSrc uintptr, N int32, zCol uintptr, piTab uintptr, piCol uintptr, bIgnoreHidden int32) int32 { /* sqlite3.c:134495:12: */ +func tableAndColumnIndex(tls *libc.TLS, pSrc uintptr, N int32, zCol uintptr, piTab uintptr, piCol uintptr, bIgnoreHidden int32) int32 { /* sqlite3.c:134508:12: */ var i int32 // For looping over tables in pSrc var iCol int32 // Index of column matching zCol @@ -116254,7 +116273,7 @@ func tableAndColumnIndex(tls *libc.TLS, pSrc uintptr, N int32, zCol uintptr, piT // where tab1 is the iSrc'th table in SrcList pSrc and tab2 is the // (iSrc+1)'th. Column col1 is column iColLeft of tab1, and col2 is // column iColRight of tab2. -func addWhereTerm(tls *libc.TLS, pParse uintptr, pSrc uintptr, iLeft int32, iColLeft int32, iRight int32, iColRight int32, isOuterJoin int32, ppWhere uintptr) { /* sqlite3.c:134533:13: */ +func addWhereTerm(tls *libc.TLS, pParse uintptr, pSrc uintptr, iLeft int32, iColLeft int32, iRight int32, iColRight int32, isOuterJoin int32, ppWhere uintptr) { /* sqlite3.c:134546:13: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb var pE1 uintptr var pE2 uintptr @@ -116299,7 +116318,7 @@ func addWhereTerm(tls *libc.TLS, pParse uintptr, pSrc uintptr, iLeft int32, iCol // defer the handling of t1.x=5, it will be processed immediately // after the t1 loop and rows with t1.x!=5 will never appear in // the output, which is incorrect. -func Xsqlite3SetJoinExpr(tls *libc.TLS, p uintptr, iTable int32) { /* sqlite3.c:134595:21: */ +func Xsqlite3SetJoinExpr(tls *libc.TLS, p uintptr, iTable int32) { /* sqlite3.c:134608:21: */ for p != 0 { *(*U32)(unsafe.Pointer(p + 4)) |= U32(EP_FromJoin) @@ -116323,7 +116342,7 @@ func Xsqlite3SetJoinExpr(tls *libc.TLS, p uintptr, iTable int32) { /* sqlite3.c: // an ordinary term that omits the EP_FromJoin mark. // // This happens when a LEFT JOIN is simplified into an ordinary JOIN. -func unsetJoinExpr(tls *libc.TLS, p uintptr, iTable int32) { /* sqlite3.c:134621:13: */ +func unsetJoinExpr(tls *libc.TLS, p uintptr, iTable int32) { /* sqlite3.c:134634:13: */ for p != 0 { if (*Expr)(unsafe.Pointer(p)).Fflags&U32(EP_FromJoin) != U32(0) && (iTable < 0 || *(*int32)(unsafe.Pointer(p + 36)) == iTable) { @@ -116358,7 +116377,7 @@ func unsetJoinExpr(tls *libc.TLS, p uintptr, iTable int32) { /* sqlite3.c:134621 // also attached to the left entry. // // This routine returns the number of errors encountered. -func sqliteProcessJoin(tls *libc.TLS, pParse uintptr, p uintptr) int32 { /* sqlite3.c:134658:12: */ +func sqliteProcessJoin(tls *libc.TLS, pParse uintptr, p uintptr) int32 { /* sqlite3.c:134671:12: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -116472,11 +116491,11 @@ __3: // An instance of this object holds information (beyond pParse and pSelect) // needed to load the next result row that is to be added to the sorter. -type RowLoadInfo = RowLoadInfo1 /* sqlite3.c:134750:28 */ +type RowLoadInfo = RowLoadInfo1 /* sqlite3.c:134763:28 */ // This routine does the work of loading query data into an array of // registers so that it can be added to the sorter. -func innerLoopLoadRow(tls *libc.TLS, pParse uintptr, pSelect uintptr, pInfo uintptr) { /* sqlite3.c:134764:13: */ +func innerLoopLoadRow(tls *libc.TLS, pParse uintptr, pSelect uintptr, pInfo uintptr) { /* sqlite3.c:134777:13: */ Xsqlite3ExprCodeExprList(tls, pParse, (*Select)(unsafe.Pointer(pSelect)).FpEList, (*RowLoadInfo)(unsafe.Pointer(pInfo)).FregResult, 0, (*RowLoadInfo)(unsafe.Pointer(pInfo)).FecelFlags) } @@ -116485,7 +116504,7 @@ func innerLoopLoadRow(tls *libc.TLS, pParse uintptr, pSelect uintptr, pInfo uint // added into the sorter. // // Return the register in which the result is stored. -func makeSorterRecord(tls *libc.TLS, pParse uintptr, pSort uintptr, pSelect uintptr, regBase int32, nBase int32) int32 { /* sqlite3.c:134785:12: */ +func makeSorterRecord(tls *libc.TLS, pParse uintptr, pSort uintptr, pSelect uintptr, regBase int32, nBase int32) int32 { /* sqlite3.c:134798:12: */ var nOBSat int32 = (*SortCtx)(unsafe.Pointer(pSort)).FnOBSat var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe var regOut int32 = libc.PreIncInt32(&(*Parse)(unsafe.Pointer(pParse)).FnMem, 1) @@ -116498,7 +116517,7 @@ func makeSorterRecord(tls *libc.TLS, pParse uintptr, pSort uintptr, pSelect uint // Generate code that will push the record in registers regData // through regData+nData-1 onto the sorter. -func pushOntoSorter(tls *libc.TLS, pParse uintptr, pSort uintptr, pSelect uintptr, regData int32, regOrigData int32, nData int32, nPrefixReg int32) { /* sqlite3.c:134806:13: */ +func pushOntoSorter(tls *libc.TLS, pParse uintptr, pSort uintptr, pSelect uintptr, regData int32, regOrigData int32, nData int32, nPrefixReg int32) { /* sqlite3.c:134819:13: */ var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe // Stmt under construction var bSeq int32 = libc.Bool32(int32((*SortCtx)(unsafe.Pointer(pSort)).FsortFlags)&SORTFLAG_UseSorter == 0) var nExpr int32 = (*ExprList)(unsafe.Pointer((*SortCtx)(unsafe.Pointer(pSort)).FpOrderBy)).FnExpr // No. of ORDER BY terms @@ -116641,7 +116660,7 @@ func pushOntoSorter(tls *libc.TLS, pParse uintptr, pSort uintptr, pSelect uintpt } // Add code to implement the OFFSET -func codeOffset(tls *libc.TLS, v uintptr, iOffset int32, iContinue int32) { /* sqlite3.c:134948:13: */ +func codeOffset(tls *libc.TLS, v uintptr, iOffset int32, iContinue int32) { /* sqlite3.c:134961:13: */ if iOffset > 0 { Xsqlite3VdbeAddOp3(tls, v, OP_IfPos, iOffset, iContinue, 1) @@ -116689,7 +116708,7 @@ func codeOffset(tls *libc.TLS, v uintptr, iOffset int32, iContinue int32) { /* s // how many elements there are in the array of registers and (b) the // collation sequences that should be used for the comparisons if // eTnctType is WHERE_DISTINCT_ORDERED. -func codeDistinct(tls *libc.TLS, pParse uintptr, eTnctType int32, iTab int32, addrRepeat int32, pEList uintptr, regElem int32) int32 { /* sqlite3.c:135002:12: */ +func codeDistinct(tls *libc.TLS, pParse uintptr, eTnctType int32, iTab int32, addrRepeat int32, pEList uintptr, regElem int32) int32 { /* sqlite3.c:135015:12: */ var iRet int32 = 0 var nResultCol int32 = (*ExprList)(unsafe.Pointer(pEList)).FnExpr var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe @@ -116770,7 +116789,7 @@ func codeDistinct(tls *libc.TLS, pParse uintptr, eTnctType int32, iTab int32, ad // The ephemeral table is not needed. But we do need register // iVal to be initialized to NULL. So change the OP_OpenEphemeral // into an OP_Null on the iVal register. -func fixDistinctOpenEph(tls *libc.TLS, pParse uintptr, eTnctType int32, iVal int32, iOpenEphAddr int32) { /* sqlite3.c:135086:13: */ +func fixDistinctOpenEph(tls *libc.TLS, pParse uintptr, eTnctType int32, iVal int32, iOpenEphAddr int32) { /* sqlite3.c:135099:13: */ if (*Parse)(unsafe.Pointer(pParse)).FnErr == 0 && (eTnctType == WHERE_DISTINCT_UNIQUE || eTnctType == WHERE_DISTINCT_ORDERED) { var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe @@ -116798,7 +116817,7 @@ func fixDistinctOpenEph(tls *libc.TLS, pParse uintptr, eTnctType int32, iVal int // are evaluated in order to get the data for this row. If srcTab is // zero or more, then data is pulled from srcTab and p->pEList is used only // to get the number of columns and the collation sequence for each column. -func selectInnerLoop(tls *libc.TLS, pParse uintptr, p uintptr, srcTab int32, pSort uintptr, pDistinct uintptr, pDest uintptr, iContinue int32, iBreak int32) { /* sqlite3.c:135208:13: */ +func selectInnerLoop(tls *libc.TLS, pParse uintptr, p uintptr, srcTab int32, pSort uintptr, pDistinct uintptr, pDest uintptr, iContinue int32, iBreak int32) { /* sqlite3.c:135221:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -117154,7 +117173,7 @@ func selectInnerLoop(tls *libc.TLS, pParse uintptr, p uintptr, srcTab int32, pSo // Allocate a KeyInfo object sufficient for an index of N key columns and // X extra columns. -func Xsqlite3KeyInfoAlloc(tls *libc.TLS, db uintptr, N int32, X int32) uintptr { /* sqlite3.c:135602:24: */ +func Xsqlite3KeyInfoAlloc(tls *libc.TLS, db uintptr, N int32, X int32) uintptr { /* sqlite3.c:135615:24: */ var nExtra int32 = int32(uint32(N+X)*(uint32(unsafe.Sizeof(uintptr(0)))+uint32(1)) - uint32(unsafe.Sizeof(uintptr(0)))) var p uintptr = Xsqlite3DbMallocRawNN(tls, db, uint64(uint32(unsafe.Sizeof(KeyInfo{}))+uint32(nExtra))) if p != 0 { @@ -117172,7 +117191,7 @@ func Xsqlite3KeyInfoAlloc(tls *libc.TLS, db uintptr, N int32, X int32) uintptr { } // Deallocate a KeyInfo object -func Xsqlite3KeyInfoUnref(tls *libc.TLS, p uintptr) { /* sqlite3.c:135622:21: */ +func Xsqlite3KeyInfoUnref(tls *libc.TLS, p uintptr) { /* sqlite3.c:135635:21: */ if p != 0 { (*KeyInfo)(unsafe.Pointer(p)).FnRef-- @@ -117183,7 +117202,7 @@ func Xsqlite3KeyInfoUnref(tls *libc.TLS, p uintptr) { /* sqlite3.c:135622:21: */ } // Make a new pointer to a KeyInfo object -func Xsqlite3KeyInfoRef(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:135633:24: */ +func Xsqlite3KeyInfoRef(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:135646:24: */ if p != 0 { (*KeyInfo)(unsafe.Pointer(p)).FnRef++ @@ -117203,7 +117222,7 @@ func Xsqlite3KeyInfoRef(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:135633: // Space to hold the KeyInfo structure is obtained from malloc. The calling // function is responsible for seeing that this structure is eventually // freed. -func Xsqlite3KeyInfoFromExprList(tls *libc.TLS, pParse uintptr, pList uintptr, iStart int32, nExtra int32) uintptr { /* sqlite3.c:135665:24: */ +func Xsqlite3KeyInfoFromExprList(tls *libc.TLS, pParse uintptr, pList uintptr, iStart int32, nExtra int32) uintptr { /* sqlite3.c:135678:24: */ var nExpr int32 var pInfo uintptr var pItem uintptr @@ -117237,7 +117256,7 @@ func Xsqlite3KeyInfoFromExprList(tls *libc.TLS, pParse uintptr, pList uintptr, i } // Name of the connection operator, used for error messages. -func Xsqlite3SelectOpName(tls *libc.TLS, id int32) uintptr { /* sqlite3.c:135692:27: */ +func Xsqlite3SelectOpName(tls *libc.TLS, id int32) uintptr { /* sqlite3.c:135705:27: */ var z uintptr switch id { case TK_ALL: @@ -117264,7 +117283,7 @@ func Xsqlite3SelectOpName(tls *libc.TLS, id int32) uintptr { /* sqlite3.c:135692 // // where xxx is one of "DISTINCT", "ORDER BY" or "GROUP BY". Exactly which // is determined by the zUsage argument. -func explainTempTable(tls *libc.TLS, pParse uintptr, zUsage uintptr) { /* sqlite3.c:135714:13: */ +func explainTempTable(tls *libc.TLS, pParse uintptr, zUsage uintptr) { /* sqlite3.c:135727:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -117281,7 +117300,7 @@ func explainTempTable(tls *libc.TLS, pParse uintptr, zUsage uintptr) { /* sqlite // then the results were placed in a sorter. After the loop is terminated // we need to run the sorter and output the results. The following // routine generates the code needed to do that. -func generateSortTail(tls *libc.TLS, pParse uintptr, p uintptr, pSort uintptr, nColumn int32, pDest uintptr) { /* sqlite3.c:135740:13: */ +func generateSortTail(tls *libc.TLS, pParse uintptr, p uintptr, pSort uintptr, nColumn int32, pDest uintptr) { /* sqlite3.c:135753:13: */ var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe // The prepared statement var addrBreak int32 = (*SortCtx)(unsafe.Pointer(pSort)).FlabelDone // Jump here to exit loop var addrContinue int32 = Xsqlite3VdbeMakeLabel(tls, pParse) // Jump here for next cycle @@ -117460,7 +117479,7 @@ func generateSortTail(tls *libc.TLS, pParse uintptr, p uintptr, pSort uintptr, n // // This routine has either 3 or 6 parameters depending on whether or not // the SQLITE_ENABLE_COLUMN_METADATA compile-time option is used. -func columnTypeImpl(tls *libc.TLS, pNC uintptr, pExpr uintptr, pzOrigDb uintptr, pzOrigTab uintptr, pzOrigCol uintptr) uintptr { /* sqlite3.c:135968:19: */ +func columnTypeImpl(tls *libc.TLS, pNC uintptr, pExpr uintptr, pzOrigDb uintptr, pzOrigTab uintptr, pzOrigCol uintptr) uintptr { /* sqlite3.c:135981:19: */ bp := tls.Alloc(76) defer tls.Free(76) @@ -117584,7 +117603,7 @@ func columnTypeImpl(tls *libc.TLS, pNC uintptr, pExpr uintptr, pzOrigDb uintptr, // Generate code that will tell the VDBE the declaration types of columns // in the result set. -func generateColumnTypes(tls *libc.TLS, pParse uintptr, pTabList uintptr, pEList uintptr) { /* sqlite3.c:136119:13: */ +func generateColumnTypes(tls *libc.TLS, pParse uintptr, pTabList uintptr, pEList uintptr) { /* sqlite3.c:136132:13: */ bp := tls.Alloc(44) defer tls.Free(44) @@ -117641,7 +117660,7 @@ func generateColumnTypes(tls *libc.TLS, pParse uintptr, pTabList uintptr, pEList // full=ON, short=ANY: If the result refers directly to a table column, // then the result column name with the table name // prefix, ex: TABLE.COLUMN. Otherwise use zSpan. -func Xsqlite3GenerateColumnNames(tls *libc.TLS, pParse uintptr, pSelect uintptr) { /* sqlite3.c:136186:21: */ +func Xsqlite3GenerateColumnNames(tls *libc.TLS, pParse uintptr, pSelect uintptr) { /* sqlite3.c:136199:21: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -117741,7 +117760,7 @@ func Xsqlite3GenerateColumnNames(tls *libc.TLS, pParse uintptr, pSelect uintptr) // when modifying this routine to avoid breaking legacy. // // See Also: sqlite3GenerateColumnNames() -func Xsqlite3ColumnsFromExprList(tls *libc.TLS, pParse uintptr, pEList uintptr, pnCol uintptr, paCol uintptr) int32 { /* sqlite3.c:136279:20: */ +func Xsqlite3ColumnsFromExprList(tls *libc.TLS, pParse uintptr, pEList uintptr, pnCol uintptr, paCol uintptr) int32 { /* sqlite3.c:136292:20: */ bp := tls.Alloc(52) defer tls.Free(52) @@ -117873,7 +117892,7 @@ __3: // // This routine requires that all identifiers in the SELECT // statement be resolved. -func Xsqlite3SelectAddColumnTypeAndCollation(tls *libc.TLS, pParse uintptr, pTab uintptr, pSelect uintptr, aff uint8) { /* sqlite3.c:136386:21: */ +func Xsqlite3SelectAddColumnTypeAndCollation(tls *libc.TLS, pParse uintptr, pTab uintptr, pSelect uintptr, aff uint8) { /* sqlite3.c:136399:21: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -117942,7 +117961,7 @@ __3: // Given a SELECT statement, generate a Table structure that describes // the result set of that SELECT. -func Xsqlite3ResultSetOfSelect(tls *libc.TLS, pParse uintptr, pSelect uintptr, aff uint8) uintptr { /* sqlite3.c:136441:22: */ +func Xsqlite3ResultSetOfSelect(tls *libc.TLS, pParse uintptr, pSelect uintptr, aff uint8) uintptr { /* sqlite3.c:136454:22: */ var pTab uintptr var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb var savedFlags U64 @@ -117977,7 +117996,7 @@ func Xsqlite3ResultSetOfSelect(tls *libc.TLS, pParse uintptr, pSelect uintptr, a // Get a VDBE for the given parser context. Create a new one if necessary. // If an error occurs, return NULL and leave a message in pParse. -func Xsqlite3GetVdbe(tls *libc.TLS, pParse uintptr) uintptr { /* sqlite3.c:136474:21: */ +func Xsqlite3GetVdbe(tls *libc.TLS, pParse uintptr) uintptr { /* sqlite3.c:136487:21: */ if (*Parse)(unsafe.Pointer(pParse)).FpVdbe != 0 { return (*Parse)(unsafe.Pointer(pParse)).FpVdbe } @@ -118009,7 +118028,7 @@ func Xsqlite3GetVdbe(tls *libc.TLS, pParse uintptr) uintptr { /* sqlite3.c:13647 // redefined. The UNION ALL operator uses this property to force // the reuse of the same limit and offset registers across multiple // SELECT statements. -func computeLimitRegisters(tls *libc.TLS, pParse uintptr, p uintptr, iBreak int32) { /* sqlite3.c:136510:13: */ +func computeLimitRegisters(tls *libc.TLS, pParse uintptr, p uintptr, iBreak int32) { /* sqlite3.c:136523:13: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -118066,7 +118085,7 @@ func computeLimitRegisters(tls *libc.TLS, pParse uintptr, p uintptr, iBreak int3 // // The collating sequence for the compound select is taken from the // left-most term of the select that has a collating sequence. -func multiSelectCollSeq(tls *libc.TLS, pParse uintptr, p uintptr, iCol int32) uintptr { /* sqlite3.c:136567:16: */ +func multiSelectCollSeq(tls *libc.TLS, pParse uintptr, p uintptr, iCol int32) uintptr { /* sqlite3.c:136580:16: */ var pRet uintptr if (*Select)(unsafe.Pointer(p)).FpPrior != 0 { pRet = multiSelectCollSeq(tls, pParse, (*Select)(unsafe.Pointer(p)).FpPrior, iCol) @@ -118090,7 +118109,7 @@ func multiSelectCollSeq(tls *libc.TLS, pParse uintptr, p uintptr, iCol int32) ui // Space to hold the KeyInfo structure is obtained from malloc. The calling // function is responsible for ensuring that this structure is eventually // freed. -func multiSelectOrderByKeyInfo(tls *libc.TLS, pParse uintptr, p uintptr, nExtra int32) uintptr { /* sqlite3.c:136593:16: */ +func multiSelectOrderByKeyInfo(tls *libc.TLS, pParse uintptr, p uintptr, nExtra int32) uintptr { /* sqlite3.c:136606:16: */ var pOrderBy uintptr = (*Select)(unsafe.Pointer(p)).FpOrderBy var nOrderBy int32 if pOrderBy != uintptr(0) { @@ -118159,7 +118178,7 @@ func multiSelectOrderByKeyInfo(tls *libc.TLS, pParse uintptr, p uintptr, nExtra // with a positive value, then the first OFFSET outputs are discarded rather // than being sent to pDest. The LIMIT count does not begin until after OFFSET // rows have been skipped. -func generateWithRecursiveQuery(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) { /* sqlite3.c:136659:13: */ +func generateWithRecursiveQuery(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) { /* sqlite3.c:136672:13: */ bp := tls.Alloc(28) defer tls.Free(28) @@ -118400,7 +118419,7 @@ end_of_recursive_query: // clause occurs within scalar expression (ex: "SELECT (VALUES(1),(2),(3))"). // The sqlite3CodeSubselect will have added the LIMIT 1 clause in tht case. // Since the limit is exactly 1, we only need to evalutes the left-most VALUES. -func multiSelectValues(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) int32 { /* sqlite3.c:136835:12: */ +func multiSelectValues(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) int32 { /* sqlite3.c:136848:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -118440,7 +118459,7 @@ func multiSelectValues(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) // Return true if the SELECT statement which is known to be the recursive // part of a recursive CTE still has its anchor terms attached. If the // anchor terms have already been removed, then return false. -func hasAnchor(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:136872:12: */ +func hasAnchor(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:136885:12: */ for p != 0 && (*Select)(unsafe.Pointer(p)).FselFlags&U32(SF_Recursive) != U32(0) { p = (*Select)(unsafe.Pointer(p)).FpPrior } @@ -118476,7 +118495,7 @@ func hasAnchor(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:136872:12: */ // // Notice that because of the way SQLite parses compound SELECTs, the // individual selects always group from left to right. -func multiSelect(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) int32 { /* sqlite3.c:136908:12: */ +func multiSelect(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) int32 { /* sqlite3.c:136921:12: */ bp := tls.Alloc(104) defer tls.Free(104) @@ -118939,7 +118958,7 @@ __44: // Error message for when two or more terms of a compound select have different // size result sets. -func Xsqlite3SelectWrongNumTermsError(tls *libc.TLS, pParse uintptr, p uintptr) { /* sqlite3.c:137264:21: */ +func Xsqlite3SelectWrongNumTermsError(tls *libc.TLS, pParse uintptr, p uintptr) { /* sqlite3.c:137277:21: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -118970,7 +118989,7 @@ func Xsqlite3SelectWrongNumTermsError(tls *libc.TLS, pParse uintptr, p uintptr) // // If the LIMIT found in p->iLimit is reached, jump immediately to // iBreak. -func generateOutputSubroutine(tls *libc.TLS, pParse uintptr, p uintptr, pIn uintptr, pDest uintptr, regReturn int32, regPrev int32, pKeyInfo uintptr, iBreak int32) int32 { /* sqlite3.c:137294:12: */ +func generateOutputSubroutine(tls *libc.TLS, pParse uintptr, p uintptr, pIn uintptr, pDest uintptr, regReturn int32, regPrev int32, pKeyInfo uintptr, iBreak int32) int32 { /* sqlite3.c:137307:12: */ var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe var iContinue int32 var addr int32 @@ -119166,7 +119185,7 @@ func generateOutputSubroutine(tls *libc.TLS, pParse uintptr, p uintptr, pIn uint // actually called using Gosub and they do not Return. EofA and EofB loop // until all data is exhausted then jump to the "end" labe. AltB, AeqB, // and AgtB jump to either L2 or to one of EofA or EofB. -func multiSelectOrderBy(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) int32 { /* sqlite3.c:137502:12: */ +func multiSelectOrderBy(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) int32 { /* sqlite3.c:137515:12: */ bp := tls.Alloc(64) defer tls.Free(64) @@ -119515,14 +119534,14 @@ type SubstContext1 = struct { FiNewTable int32 FisLeftJoin int32 FpEList uintptr -} /* sqlite3.c:137827:9 */ +} /* sqlite3.c:137840:9 */ // An instance of the SubstContext object describes an substitution edit // to be performed on a parse tree. // // All references to columns in table iTable are to be replaced by corresponding // expressions in pEList. -type SubstContext = SubstContext1 /* sqlite3.c:137833:3 */ +type SubstContext = SubstContext1 /* sqlite3.c:137846:3 */ // Scan through the expression pExpr. Replace every reference to // a column in table number iTable with a copy of the iColumn-th @@ -119535,7 +119554,7 @@ type SubstContext = SubstContext1 /* sqlite3.c:137833:3 */ // FORM clause entry is iTable. This routine makes the necessary // changes to pExpr so that it refers directly to the source table // of the subquery rather the result set of the subquery. -func substExpr(tls *libc.TLS, pSubst uintptr, pExpr uintptr) uintptr { /* sqlite3.c:137852:13: */ +func substExpr(tls *libc.TLS, pSubst uintptr, pExpr uintptr) uintptr { /* sqlite3.c:137865:13: */ bp := tls.Alloc(52) defer tls.Free(52) @@ -119618,7 +119637,7 @@ func substExpr(tls *libc.TLS, pSubst uintptr, pExpr uintptr) uintptr { /* sqlite return pExpr } -func substExprList(tls *libc.TLS, pSubst uintptr, pList uintptr) { /* sqlite3.c:137937:13: */ +func substExprList(tls *libc.TLS, pSubst uintptr, pList uintptr) { /* sqlite3.c:137950:13: */ var i int32 if pList == uintptr(0) { return @@ -119628,7 +119647,7 @@ func substExprList(tls *libc.TLS, pSubst uintptr, pList uintptr) { /* sqlite3.c: } } -func substSelect(tls *libc.TLS, pSubst uintptr, p uintptr, doPrior int32) { /* sqlite3.c:137947:13: */ +func substSelect(tls *libc.TLS, pSubst uintptr, p uintptr, doPrior int32) { /* sqlite3.c:137960:13: */ var pSrc uintptr var pItem uintptr var i int32 @@ -119671,7 +119690,7 @@ func substSelect(tls *libc.TLS, pSubst uintptr, p uintptr, doPrior int32) { /* s // // This routine scans the entire SELECT statement and recomputes the // pSrcItem->colUsed mask. -func recomputeColumnsUsedExpr(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:137982:12: */ +func recomputeColumnsUsedExpr(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:137995:12: */ var pItem uintptr if int32((*Expr)(unsafe.Pointer(pExpr)).Fop) != TK_COLUMN { return WRC_Continue @@ -119687,7 +119706,7 @@ func recomputeColumnsUsedExpr(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int return WRC_Continue } -func recomputeColumnsUsed(tls *libc.TLS, pSelect uintptr, pSrcItem uintptr) { /* sqlite3.c:137991:13: */ +func recomputeColumnsUsed(tls *libc.TLS, pSelect uintptr, pSrcItem uintptr) { /* sqlite3.c:138004:13: */ bp := tls.Alloc(28) defer tls.Free(28) @@ -119719,7 +119738,7 @@ func recomputeColumnsUsed(tls *libc.TLS, pSelect uintptr, pSrcItem uintptr) { /* // // If pSrc contains any sub-selects, call this routine recursively // on the FROM clause of each such sub-select, with iExcept set to -1. -func srclistRenumberCursors(tls *libc.TLS, pParse uintptr, aCsrMap uintptr, pSrc uintptr, iExcept int32) { /* sqlite3.c:138020:13: */ +func srclistRenumberCursors(tls *libc.TLS, pParse uintptr, aCsrMap uintptr, pSrc uintptr, iExcept int32) { /* sqlite3.c:138033:13: */ var i int32 var pItem uintptr i = 0 @@ -119752,7 +119771,7 @@ __3: } // *piCursor is a cursor number. Change it if it needs to be mapped. -func renumberCursorDoMapping(tls *libc.TLS, pWalker uintptr, piCursor uintptr) { /* sqlite3.c:138046:13: */ +func renumberCursorDoMapping(tls *libc.TLS, pWalker uintptr, piCursor uintptr) { /* sqlite3.c:138059:13: */ var aCsrMap uintptr = *(*uintptr)(unsafe.Pointer(pWalker + 24)) var iCsr int32 = *(*int32)(unsafe.Pointer(piCursor)) if iCsr < *(*int32)(unsafe.Pointer(aCsrMap)) && *(*int32)(unsafe.Pointer(aCsrMap + uintptr(iCsr+1)*4)) > 0 { @@ -119762,7 +119781,7 @@ func renumberCursorDoMapping(tls *libc.TLS, pWalker uintptr, piCursor uintptr) { // Expression walker callback used by renumberCursors() to update // Expr objects to match newly assigned cursor numbers. -func renumberCursorsCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:138058:12: */ +func renumberCursorsCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:138071:12: */ var op int32 = int32((*Expr)(unsafe.Pointer(pExpr)).Fop) if op == TK_COLUMN || op == TK_IF_NULL_ROW { renumberCursorDoMapping(tls, pWalker, pExpr+28) @@ -119789,7 +119808,7 @@ func renumberCursorsCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* // * the array entries for all cursor numbers that do *not* appear in // FROM clauses of the select statement as described above are // initialized to zero. -func renumberCursors(tls *libc.TLS, pParse uintptr, p uintptr, iExcept int32, aCsrMap uintptr) { /* sqlite3.c:138087:13: */ +func renumberCursors(tls *libc.TLS, pParse uintptr, p uintptr, iExcept int32, aCsrMap uintptr) { /* sqlite3.c:138100:13: */ bp := tls.Alloc(28) defer tls.Free(28) @@ -119959,7 +119978,7 @@ func renumberCursors(tls *libc.TLS, pParse uintptr, p uintptr, iExcept int32, aC // // All of the expression analysis must occur on both the outer query and // the subquery before this routine runs. -func flattenSubquery(tls *libc.TLS, pParse uintptr, p uintptr, iFrom int32, isAgg int32) int32 { /* sqlite3.c:138258:12: */ +func flattenSubquery(tls *libc.TLS, pParse uintptr, p uintptr, iFrom int32, isAgg int32) int32 { /* sqlite3.c:138271:12: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -120384,7 +120403,7 @@ __3: // A structure to keep track of all of the column values that are fixed to // a known value due to WHERE clause constraints of the form COLUMN=VALUE. -type WhereConst = WhereConst1 /* sqlite3.c:138682:27 */ +type WhereConst = WhereConst1 /* sqlite3.c:138695:27 */ // Add a new entry to the pConst object. Except, do not add duplicate // pColumn entires. Also, do not add if doing so would not be appropriate. @@ -120392,7 +120411,7 @@ type WhereConst = WhereConst1 /* sqlite3.c:138682:27 */ // The caller guarantees the pColumn is a column and pValue is a constant. // This routine has to do some additional checks before completing the // insert. -func constInsert(tls *libc.TLS, pConst uintptr, pColumn uintptr, pValue uintptr, pExpr uintptr) { /* sqlite3.c:138700:13: */ +func constInsert(tls *libc.TLS, pConst uintptr, pColumn uintptr, pValue uintptr, pExpr uintptr) { /* sqlite3.c:138713:13: */ var i int32 if (*Expr)(unsafe.Pointer(pColumn)).Fflags&U32(EP_FixedCol) != U32(0) { @@ -120434,7 +120453,7 @@ func constInsert(tls *libc.TLS, pConst uintptr, pColumn uintptr, pValue uintptr, // is a constant expression and where the term must be true because it // is part of the AND-connected terms of the expression. For each term // found, add it to the pConst structure. -func findConstInWhere(tls *libc.TLS, pConst uintptr, pExpr uintptr) { /* sqlite3.c:138748:13: */ +func findConstInWhere(tls *libc.TLS, pConst uintptr, pExpr uintptr) { /* sqlite3.c:138761:13: */ var pRight uintptr var pLeft uintptr if pExpr == uintptr(0) { @@ -120469,7 +120488,7 @@ func findConstInWhere(tls *libc.TLS, pConst uintptr, pExpr uintptr) { /* sqlite3 // then overwrite it with the corresponding value. Except, do not do so // if argument bIgnoreAffBlob is non-zero and the affinity of pExpr // is SQLITE_AFF_BLOB. -func propagateConstantExprRewriteOne(tls *libc.TLS, pConst uintptr, pExpr uintptr, bIgnoreAffBlob int32) int32 { /* sqlite3.c:138779:12: */ +func propagateConstantExprRewriteOne(tls *libc.TLS, pConst uintptr, pExpr uintptr, bIgnoreAffBlob int32) int32 { /* sqlite3.c:138792:12: */ var i int32 if *(*U8)(unsafe.Pointer((*WhereConst)(unsafe.Pointer(pConst)).FpOomFault)) != 0 { return WRC_Prune @@ -120523,7 +120542,7 @@ func propagateConstantExprRewriteOne(tls *libc.TLS, pConst uintptr, pExpr uintpt // uses an affinity other than TEXT and one of its immediate // children is a column that matches one of the columns in // pWalker->u.pConst. -func propagateConstantExprRewrite(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:138828:12: */ +func propagateConstantExprRewrite(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:138841:12: */ var pConst uintptr = *(*uintptr)(unsafe.Pointer(pWalker + 24)) if (*WhereConst)(unsafe.Pointer(pConst)).FbHasAffBlob != 0 { @@ -120590,7 +120609,7 @@ func propagateConstantExprRewrite(tls *libc.TLS, pWalker uintptr, pExpr uintptr) // operators ==, <=, <, >=, >, or IS in a way that will cause the correct // type conversions to occur. See logic associated with the bHasAffBlob flag // for details. -func propagateConstants(tls *libc.TLS, pParse uintptr, p uintptr) int32 { /* sqlite3.c:138899:12: */ +func propagateConstants(tls *libc.TLS, pParse uintptr, p uintptr) int32 { /* sqlite3.c:138912:12: */ bp := tls.Alloc(52) defer tls.Free(52) @@ -120643,7 +120662,7 @@ func propagateConstants(tls *libc.TLS, pParse uintptr, p uintptr) int32 { /* sql // // * the sub-query uses only one distinct window frame, and // * that the window frame has a PARTITION BY clase. -func pushDownWindowCheck(tls *libc.TLS, pParse uintptr, pSubq uintptr, pExpr uintptr) int32 { /* sqlite3.c:138950:12: */ +func pushDownWindowCheck(tls *libc.TLS, pParse uintptr, pSubq uintptr, pExpr uintptr) int32 { /* sqlite3.c:138963:12: */ return Xsqlite3ExprIsConstantOrGroupBy(tls, pParse, pExpr, (*Window)(unsafe.Pointer((*Select)(unsafe.Pointer(pSubq)).FpWin)).FpPartition) } @@ -120714,7 +120733,7 @@ func pushDownWindowCheck(tls *libc.TLS, pParse uintptr, pSubq uintptr, pExpr uin // // Return 0 if no changes are made and non-zero if one or more WHERE clause // terms are duplicated into the subquery. -func pushDownWhereTerms(tls *libc.TLS, pParse uintptr, pSubq uintptr, pWhere uintptr, iCursor int32, isLeftJoin int32) int32 { /* sqlite3.c:139028:12: */ +func pushDownWhereTerms(tls *libc.TLS, pParse uintptr, pSubq uintptr, pWhere uintptr, iCursor int32, isLeftJoin int32) int32 { /* sqlite3.c:139041:12: */ bp := tls.Alloc(20) defer tls.Free(20) @@ -120802,7 +120821,7 @@ func pushDownWhereTerms(tls *libc.TLS, pParse uintptr, pSubq uintptr, pWhere uin // This routine must be called after aggregate functions have been // located but before their arguments have been subjected to aggregate // analysis. -func minMaxQuery(tls *libc.TLS, db uintptr, pFunc uintptr, ppMinMax uintptr) U8 { /* sqlite3.c:139132:11: */ +func minMaxQuery(tls *libc.TLS, db uintptr, pFunc uintptr, ppMinMax uintptr) U8 { /* sqlite3.c:139145:11: */ var eRet int32 = WHERE_ORDERBY_NORMAL // Return value var pEList uintptr // Arguments to agg function var zFunc uintptr // Name of aggregate function pFunc @@ -120852,7 +120871,7 @@ func minMaxQuery(tls *libc.TLS, db uintptr, pFunc uintptr, ppMinMax uintptr) U8 // this routine returns NULL when it could have returned a table pointer. // But returning the pointer when NULL should have been returned can // result in incorrect answers and/or crashes. So, when in doubt, return NULL. -func isSimpleCount(tls *libc.TLS, p uintptr, pAggInfo uintptr) uintptr { /* sqlite3.c:139187:14: */ +func isSimpleCount(tls *libc.TLS, p uintptr, pAggInfo uintptr) uintptr { /* sqlite3.c:139200:14: */ var pTab uintptr var pExpr uintptr @@ -120892,7 +120911,7 @@ func isSimpleCount(tls *libc.TLS, p uintptr, pAggInfo uintptr) uintptr { /* sqli // was such a clause and the named index cannot be found, return // SQLITE_ERROR and leave an error in pParse. Otherwise, populate // pFrom->pIndex and return SQLITE_OK. -func Xsqlite3IndexedByLookup(tls *libc.TLS, pParse uintptr, pFrom uintptr) int32 { /* sqlite3.c:139225:20: */ +func Xsqlite3IndexedByLookup(tls *libc.TLS, pParse uintptr, pFrom uintptr) int32 { /* sqlite3.c:139238:20: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -120931,7 +120950,7 @@ func Xsqlite3IndexedByLookup(tls *libc.TLS, pParse uintptr, pFrom uintptr) int32 // This transformation is only needed for EXCEPT, INTERSECT, and UNION. // The UNION ALL operator works fine with multiSelectOrderBy() even when // there are COLLATE terms in the ORDER BY. -func convertCompoundSelectToSubquery(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sqlite3.c:139267:12: */ +func convertCompoundSelectToSubquery(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sqlite3.c:139280:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -121010,7 +121029,7 @@ func convertCompoundSelectToSubquery(tls *libc.TLS, pWalker uintptr, p uintptr) // Check to see if the FROM clause term pFrom has table-valued function // arguments. If it does, leave an error message in pParse and return // non-zero, since pFrom is not allowed to be a table-valued function. -func cannotBeFunction(tls *libc.TLS, pParse uintptr, pFrom uintptr) int32 { /* sqlite3.c:139332:12: */ +func cannotBeFunction(tls *libc.TLS, pParse uintptr, pFrom uintptr) int32 { /* sqlite3.c:139345:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -121029,7 +121048,7 @@ func cannotBeFunction(tls *libc.TLS, pParse uintptr, pFrom uintptr) int32 { /* s // // If a non-NULL value is returned, set *ppContext to point to the With // object that the returned CTE belongs to. -func searchWith(tls *libc.TLS, pWith uintptr, pItem uintptr, ppContext uintptr) uintptr { /* sqlite3.c:139351:19: */ +func searchWith(tls *libc.TLS, pWith uintptr, pItem uintptr, ppContext uintptr) uintptr { /* sqlite3.c:139364:19: */ var zName uintptr = (*SrcItem)(unsafe.Pointer(pItem)).FzName var p uintptr @@ -121064,7 +121083,7 @@ func searchWith(tls *libc.TLS, pWith uintptr, pItem uintptr, ppContext uintptr) // // If bFree is true, do not continue to use the pWith pointer after // calling this routine, Instead, use only the return value. -func Xsqlite3WithPush(tls *libc.TLS, pParse uintptr, pWith uintptr, bFree U8) uintptr { /* sqlite3.c:139390:21: */ +func Xsqlite3WithPush(tls *libc.TLS, pParse uintptr, pWith uintptr, bFree U8) uintptr { /* sqlite3.c:139403:21: */ if pWith != 0 { if bFree != 0 { pWith = Xsqlite3ParserAddCleanup(tls, pParse, @@ -121097,7 +121116,7 @@ func Xsqlite3WithPush(tls *libc.TLS, pParse uintptr, pWith uintptr, bFree U8) ui // Return 0 if no match is found. // Return 1 if a match is found. // Return 2 if an error condition is detected. -func resolveFromTermToCte(tls *libc.TLS, pParse uintptr, pWalker uintptr, pFrom uintptr) int32 { /* sqlite3.c:139421:12: */ +func resolveFromTermToCte(tls *libc.TLS, pParse uintptr, pWalker uintptr, pFrom uintptr) int32 { /* sqlite3.c:139434:12: */ bp := tls.Alloc(52) defer tls.Free(52) @@ -121279,7 +121298,7 @@ func resolveFromTermToCte(tls *libc.TLS, pParse uintptr, pWalker uintptr, pFrom // This function is used as the xSelectCallback2() callback by // sqlite3SelectExpand() when walking a SELECT tree to resolve table // names and other FROM clause elements. -func Xsqlite3SelectPopWith(tls *libc.TLS, pWalker uintptr, p uintptr) { /* sqlite3.c:139605:21: */ +func Xsqlite3SelectPopWith(tls *libc.TLS, pWalker uintptr, p uintptr) { /* sqlite3.c:139618:21: */ var pParse uintptr = (*Walker)(unsafe.Pointer(pWalker)).FpParse if (*Parse)(unsafe.Pointer(pParse)).FpWith != 0 && (*Select)(unsafe.Pointer(p)).FpPrior == uintptr(0) { var pWith uintptr = (*Select)(unsafe.Pointer(findRightmost(tls, p))).FpWith @@ -121295,7 +121314,7 @@ func Xsqlite3SelectPopWith(tls *libc.TLS, pWalker uintptr, p uintptr) { /* sqlit // allocates and populates the SrcList_item.pTab object. If successful, // SQLITE_OK is returned. Otherwise, if an OOM error is encountered, // SQLITE_NOMEM. -func Xsqlite3ExpandSubquery(tls *libc.TLS, pParse uintptr, pFrom uintptr) int32 { /* sqlite3.c:139624:20: */ +func Xsqlite3ExpandSubquery(tls *libc.TLS, pParse uintptr, pFrom uintptr) int32 { /* sqlite3.c:139637:20: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -121349,7 +121368,7 @@ func Xsqlite3ExpandSubquery(tls *libc.TLS, pParse uintptr, pFrom uintptr) int32 // If found, expand each "*" to be every column in every table // and TABLE.* to be every column in TABLE. // -func selectExpander(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sqlite3.c:139676:12: */ +func selectExpander(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sqlite3.c:139689:12: */ bp := tls.Alloc(80) defer tls.Free(80) @@ -121698,7 +121717,7 @@ __3: // If anything goes wrong, an error message is written into pParse. // The calling function can detect the problem by looking at pParse->nErr // and/or pParse->db->mallocFailed. -func sqlite3SelectExpand(tls *libc.TLS, pParse uintptr, pSelect uintptr) { /* sqlite3.c:140003:13: */ +func sqlite3SelectExpand(tls *libc.TLS, pParse uintptr, pSelect uintptr) { /* sqlite3.c:140016:13: */ bp := tls.Alloc(28) defer tls.Free(28) @@ -121736,7 +121755,7 @@ func sqlite3SelectExpand(tls *libc.TLS, pParse uintptr, pSelect uintptr) { /* sq // by selectExpander() but the type and collation information was omitted // at that point because identifiers had not yet been resolved. This // routine is called after identifier resolution. -func selectAddSubqueryTypeInfo(tls *libc.TLS, pWalker uintptr, p uintptr) { /* sqlite3.c:140033:13: */ +func selectAddSubqueryTypeInfo(tls *libc.TLS, pWalker uintptr, p uintptr) { /* sqlite3.c:140046:13: */ var pParse uintptr var i int32 var pTabList uintptr @@ -121784,7 +121803,7 @@ __3: // SELECT statement. // // Use this routine after name resolution. -func sqlite3SelectAddTypeInfo(tls *libc.TLS, pParse uintptr, pSelect uintptr) { /* sqlite3.c:140068:13: */ +func sqlite3SelectAddTypeInfo(tls *libc.TLS, pParse uintptr, pSelect uintptr) { /* sqlite3.c:140081:13: */ bp := tls.Alloc(28) defer tls.Free(28) @@ -121813,7 +121832,7 @@ func sqlite3SelectAddTypeInfo(tls *libc.TLS, pParse uintptr, pSelect uintptr) { // * Identifiers in expression are matched to tables. // // This routine acts recursively on all subqueries within the SELECT. -func Xsqlite3SelectPrep(tls *libc.TLS, pParse uintptr, p uintptr, pOuterNC uintptr) { /* sqlite3.c:140092:21: */ +func Xsqlite3SelectPrep(tls *libc.TLS, pParse uintptr, p uintptr, pOuterNC uintptr) { /* sqlite3.c:140105:21: */ if (*Sqlite3)(unsafe.Pointer((*Parse)(unsafe.Pointer(pParse)).Fdb)).FmallocFailed != 0 { return @@ -121838,7 +121857,7 @@ func Xsqlite3SelectPrep(tls *libc.TLS, pParse uintptr, p uintptr, pOuterNC uintp // intermediate results while calculating an aggregate. This // routine generates code that stores NULLs in all of those memory // cells. -func resetAccumulator(tls *libc.TLS, pParse uintptr, pAggInfo uintptr) { /* sqlite3.c:140116:13: */ +func resetAccumulator(tls *libc.TLS, pParse uintptr, pAggInfo uintptr) { /* sqlite3.c:140129:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -121888,7 +121907,7 @@ __3: // Invoke the OP_AggFinalize opcode for every aggregate function // in the AggInfo structure. -func finalizeAggFunctions(tls *libc.TLS, pParse uintptr, pAggInfo uintptr) { /* sqlite3.c:140162:13: */ +func finalizeAggFunctions(tls *libc.TLS, pParse uintptr, pAggInfo uintptr) { /* sqlite3.c:140175:13: */ var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe var i int32 var pF uintptr @@ -121927,7 +121946,7 @@ __3: // in pAggInfo, then only populate the pAggInfo->nAccumulator accumulator // registers if register regAcc contains 0. The caller will take care // of setting and clearing regAcc. -func updateAccumulator(tls *libc.TLS, pParse uintptr, regAcc int32, pAggInfo uintptr, eDistinctType int32) { /* sqlite3.c:140185:13: */ +func updateAccumulator(tls *libc.TLS, pParse uintptr, regAcc int32, pAggInfo uintptr, eDistinctType int32) { /* sqlite3.c:140198:13: */ var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe var i int32 var regHit int32 = 0 @@ -122068,7 +122087,7 @@ __9: // Add a single OP_Explain instruction to the VDBE to explain a simple // count(*) query ("SELECT count(*) FROM pTab"). -func explainSimpleCount(tls *libc.TLS, pParse uintptr, pTab uintptr, pIdx uintptr) { /* sqlite3.c:140287:13: */ +func explainSimpleCount(tls *libc.TLS, pParse uintptr, pTab uintptr, pIdx uintptr) { /* sqlite3.c:140300:13: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -122100,7 +122119,7 @@ func explainSimpleCount(tls *libc.TLS, pParse uintptr, pTab uintptr, pIdx uintpt // sub-expression matches the criteria for being moved to the WHERE // clause. If so, add it to the WHERE clause and replace the sub-expression // within the HAVING expression with a constant "1". -func havingToWhereExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:140316:12: */ +func havingToWhereExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:140329:12: */ if int32((*Expr)(unsafe.Pointer(pExpr)).Fop) != TK_AND { var pS uintptr = *(*uintptr)(unsafe.Pointer(pWalker + 24)) // This routine is called before the HAVING clause of the current @@ -122146,7 +122165,7 @@ func havingToWhereExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { // A term of the HAVING expression is eligible for transfer if it consists // entirely of constants and expressions that are also GROUP BY terms that // use the "BINARY" collation sequence. -func havingToWhere(tls *libc.TLS, pParse uintptr, p uintptr) { /* sqlite3.c:140360:13: */ +func havingToWhere(tls *libc.TLS, pParse uintptr, p uintptr) { /* sqlite3.c:140373:13: */ bp := tls.Alloc(28) defer tls.Free(28) @@ -122164,7 +122183,7 @@ func havingToWhere(tls *libc.TLS, pParse uintptr, p uintptr) { /* sqlite3.c:1403 // Check to see if the pThis entry of pTabList is a self-join of a prior view. // If it is, then return the SrcList_item for the prior view. If it is not, // then return 0. -func isSelfJoinView(tls *libc.TLS, pTabList uintptr, pThis uintptr) uintptr { /* sqlite3.c:140380:16: */ +func isSelfJoinView(tls *libc.TLS, pTabList uintptr, pThis uintptr) uintptr { /* sqlite3.c:140393:16: */ var pItem uintptr if (*Select)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pThis)).FpSelect)).FselFlags&U32(SF_PushDown) != 0 { @@ -122205,7 +122224,7 @@ func isSelfJoinView(tls *libc.TLS, pTabList uintptr, pThis uintptr) uintptr { /* } // Deallocate a single AggInfo object -func agginfoFree(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:140415:13: */ +func agginfoFree(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:140428:13: */ Xsqlite3DbFree(tls, db, (*AggInfo)(unsafe.Pointer(p)).FaCol) Xsqlite3DbFree(tls, db, (*AggInfo)(unsafe.Pointer(p)).FaFunc) Xsqlite3DbFreeNN(tls, db, p) @@ -122222,7 +122241,7 @@ func agginfoFree(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:140415:13: // // This routine does NOT free the Select structure passed in. The // calling function needs to do that. -func Xsqlite3Select(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) int32 { /* sqlite3.c:140523:20: */ +func Xsqlite3Select(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) int32 { /* sqlite3.c:140536:20: */ bp := tls.Alloc(164) defer tls.Free(164) @@ -123818,7 +123837,7 @@ type TabResult1 = struct { FnColumn U32 FnData U32 Frc int32 -} /* sqlite3.c:141786:9 */ +} /* sqlite3.c:141799:9 */ //************* End of select.c ********************************************* //************* Begin file table.c ****************************************** @@ -123842,12 +123861,12 @@ type TabResult1 = struct { // This structure is used to pass data from sqlite3_get_table() through // to the callback function is uses to build the result. -type TabResult = TabResult1 /* sqlite3.c:141794:3 */ +type TabResult = TabResult1 /* sqlite3.c:141807:3 */ // This routine is called once for each row in the result table. Its job // is to fill in the TabResult structure appropriately, allocating new // memory as necessary. -func sqlite3_get_table_cb(tls *libc.TLS, pArg uintptr, nCol int32, argv uintptr, colv uintptr) int32 { /* sqlite3.c:141801:12: */ +func sqlite3_get_table_cb(tls *libc.TLS, pArg uintptr, nCol int32, argv uintptr, colv uintptr) int32 { /* sqlite3.c:141814:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -123978,7 +123997,7 @@ malloc_failed: // from malloc(). But the caller cannot free this memory directly. // Instead, the entire table should be passed to sqlite3_free_table() when // the calling procedure is finished using it. -func Xsqlite3_get_table(tls *libc.TLS, db uintptr, zSql uintptr, pazResult uintptr, pnRow uintptr, pnColumn uintptr, pzErrMsg uintptr) int32 { /* sqlite3.c:141875:16: */ +func Xsqlite3_get_table(tls *libc.TLS, db uintptr, zSql uintptr, pazResult uintptr, pnRow uintptr, pnColumn uintptr, pzErrMsg uintptr) int32 { /* sqlite3.c:141888:16: */ bp := tls.Alloc(36) defer tls.Free(36) @@ -124050,7 +124069,7 @@ func Xsqlite3_get_table(tls *libc.TLS, db uintptr, zSql uintptr, pazResult uintp } // This routine frees the space the sqlite3_get_table() malloced. -func Xsqlite3_free_table(tls *libc.TLS, azResult uintptr) { /* sqlite3.c:141944:17: */ +func Xsqlite3_free_table(tls *libc.TLS, azResult uintptr) { /* sqlite3.c:141957:17: */ if azResult != 0 { var i int32 var n int32 @@ -124081,7 +124100,7 @@ func Xsqlite3_free_table(tls *libc.TLS, azResult uintptr) { /* sqlite3.c:141944: // #include "sqliteInt.h" // Delete a linked list of TriggerStep structures. -func Xsqlite3DeleteTriggerStep(tls *libc.TLS, db uintptr, pTriggerStep uintptr) { /* sqlite3.c:141979:21: */ +func Xsqlite3DeleteTriggerStep(tls *libc.TLS, db uintptr, pTriggerStep uintptr) { /* sqlite3.c:141992:21: */ for pTriggerStep != 0 { var pTmp uintptr = pTriggerStep pTriggerStep = (*TriggerStep)(unsafe.Pointer(pTriggerStep)).FpNext @@ -124110,7 +124129,7 @@ func Xsqlite3DeleteTriggerStep(tls *libc.TLS, db uintptr, pTriggerStep uintptr) // To state it another way: This routine returns a list of all triggers // that fire off of pTab. The list will include any TEMP triggers on // pTab as well as the triggers lised in pTab->pTrigger. -func Xsqlite3TriggerList(tls *libc.TLS, pParse uintptr, pTab uintptr) uintptr { /* sqlite3.c:142010:24: */ +func Xsqlite3TriggerList(tls *libc.TLS, pParse uintptr, pTab uintptr) uintptr { /* sqlite3.c:142023:24: */ var pTmpSchema uintptr // Schema of the pTab table var pList uintptr // List of triggers to return var p uintptr // Loop variable for TEMP triggers @@ -124148,7 +124167,7 @@ func Xsqlite3TriggerList(tls *libc.TLS, pParse uintptr, pTab uintptr) uintptr { // in pParse->pNewTrigger. After the trigger actions have been parsed, the // sqlite3FinishTrigger() function is called to complete the trigger // construction process. -func Xsqlite3BeginTrigger(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 uintptr, tr_tm int32, op int32, pColumns uintptr, pTableName uintptr, pWhen uintptr, isTemp int32, noErr int32) { /* sqlite3.c:142066:21: */ +func Xsqlite3BeginTrigger(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 uintptr, tr_tm int32, op int32, pColumns uintptr, pTableName uintptr, pWhen uintptr, isTemp int32, noErr int32) { /* sqlite3.c:142079:21: */ bp := tls.Alloc(88) defer tls.Free(88) @@ -124455,7 +124474,7 @@ __31: // This routine is called after all of the trigger actions have been parsed // in order to complete the process of building the trigger. -func Xsqlite3FinishTrigger(tls *libc.TLS, pParse uintptr, pStepList uintptr, pAll uintptr) { /* sqlite3.c:142273:21: */ +func Xsqlite3FinishTrigger(tls *libc.TLS, pParse uintptr, pStepList uintptr, pAll uintptr) { /* sqlite3.c:142286:21: */ bp := tls.Alloc(100) defer tls.Free(100) @@ -124579,7 +124598,7 @@ triggerfinish_cleanup: // Duplicate a range of text from an SQL statement, then convert all // whitespace characters into ordinary space characters. -func triggerSpanDup(tls *libc.TLS, db uintptr, zStart uintptr, zEnd uintptr) uintptr { /* sqlite3.c:142361:13: */ +func triggerSpanDup(tls *libc.TLS, db uintptr, zStart uintptr, zEnd uintptr) uintptr { /* sqlite3.c:142374:13: */ var z uintptr = Xsqlite3DbSpanDup(tls, db, zStart, zEnd) var i int32 if z != 0 { @@ -124597,7 +124616,7 @@ func triggerSpanDup(tls *libc.TLS, db uintptr, zStart uintptr, zEnd uintptr) uin // // The parser calls this routine when it finds a SELECT statement in // body of a TRIGGER. -func Xsqlite3TriggerSelectStep(tls *libc.TLS, db uintptr, pSelect uintptr, zStart uintptr, zEnd uintptr) uintptr { /* sqlite3.c:142375:28: */ +func Xsqlite3TriggerSelectStep(tls *libc.TLS, db uintptr, pSelect uintptr, zStart uintptr, zEnd uintptr) uintptr { /* sqlite3.c:142388:28: */ var pTriggerStep uintptr = Xsqlite3DbMallocZero(tls, db, uint64(unsafe.Sizeof(TriggerStep{}))) if pTriggerStep == uintptr(0) { Xsqlite3SelectDelete(tls, db, pSelect) @@ -124614,7 +124633,7 @@ func Xsqlite3TriggerSelectStep(tls *libc.TLS, db uintptr, pSelect uintptr, zStar // holds both the TriggerStep object and the TriggerStep.target.z string. // // If an OOM error occurs, NULL is returned and db->mallocFailed is set. -func triggerStepAllocate(tls *libc.TLS, pParse uintptr, op U8, pName uintptr, zStart uintptr, zEnd uintptr) uintptr { /* sqlite3.c:142399:20: */ +func triggerStepAllocate(tls *libc.TLS, pParse uintptr, op U8, pName uintptr, zStart uintptr, zEnd uintptr) uintptr { /* sqlite3.c:142412:20: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb var pTriggerStep uintptr @@ -124641,7 +124660,7 @@ func triggerStepAllocate(tls *libc.TLS, pParse uintptr, op U8, pName uintptr, zS // // The parser calls this routine when it sees an INSERT inside the // body of a trigger. -func Xsqlite3TriggerInsertStep(tls *libc.TLS, pParse uintptr, pTableName uintptr, pColumn uintptr, pSelect uintptr, orconf U8, pUpsert uintptr, zStart uintptr, zEnd uintptr) uintptr { /* sqlite3.c:142432:28: */ +func Xsqlite3TriggerInsertStep(tls *libc.TLS, pParse uintptr, pTableName uintptr, pColumn uintptr, pSelect uintptr, orconf U8, pUpsert uintptr, zStart uintptr, zEnd uintptr) uintptr { /* sqlite3.c:142445:28: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb var pTriggerStep uintptr @@ -124673,7 +124692,7 @@ func Xsqlite3TriggerInsertStep(tls *libc.TLS, pParse uintptr, pTableName uintptr // Construct a trigger step that implements an UPDATE statement and return // a pointer to that trigger step. The parser calls this routine when it // sees an UPDATE statement inside the body of a CREATE TRIGGER. -func Xsqlite3TriggerUpdateStep(tls *libc.TLS, pParse uintptr, pTableName uintptr, pFrom uintptr, pEList uintptr, pWhere uintptr, orconf U8, zStart uintptr, zEnd uintptr) uintptr { /* sqlite3.c:142477:28: */ +func Xsqlite3TriggerUpdateStep(tls *libc.TLS, pParse uintptr, pTableName uintptr, pFrom uintptr, pEList uintptr, pWhere uintptr, orconf U8, zStart uintptr, zEnd uintptr) uintptr { /* sqlite3.c:142490:28: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb var pTriggerStep uintptr @@ -124702,7 +124721,7 @@ func Xsqlite3TriggerUpdateStep(tls *libc.TLS, pParse uintptr, pTableName uintptr // Construct a trigger step that implements a DELETE statement and return // a pointer to that trigger step. The parser calls this routine when it // sees a DELETE statement inside the body of a CREATE TRIGGER. -func Xsqlite3TriggerDeleteStep(tls *libc.TLS, pParse uintptr, pTableName uintptr, pWhere uintptr, zStart uintptr, zEnd uintptr) uintptr { /* sqlite3.c:142517:28: */ +func Xsqlite3TriggerDeleteStep(tls *libc.TLS, pParse uintptr, pTableName uintptr, pWhere uintptr, zStart uintptr, zEnd uintptr) uintptr { /* sqlite3.c:142530:28: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb var pTriggerStep uintptr @@ -124721,7 +124740,7 @@ func Xsqlite3TriggerDeleteStep(tls *libc.TLS, pParse uintptr, pTableName uintptr } // Recursively delete a Trigger structure -func Xsqlite3DeleteTrigger(tls *libc.TLS, db uintptr, pTrigger uintptr) { /* sqlite3.c:142544:21: */ +func Xsqlite3DeleteTrigger(tls *libc.TLS, db uintptr, pTrigger uintptr) { /* sqlite3.c:142557:21: */ if pTrigger == uintptr(0) || (*Trigger)(unsafe.Pointer(pTrigger)).FbReturning != 0 { return } @@ -124741,7 +124760,7 @@ func Xsqlite3DeleteTrigger(tls *libc.TLS, db uintptr, pTrigger uintptr) { /* sql // same job as this routine except it takes a pointer to the trigger // instead of the trigger name. // -func Xsqlite3DropTrigger(tls *libc.TLS, pParse uintptr, pName uintptr, noErr int32) { /* sqlite3.c:142562:21: */ +func Xsqlite3DropTrigger(tls *libc.TLS, pParse uintptr, pName uintptr, noErr int32) { /* sqlite3.c:142575:21: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -124825,12 +124844,12 @@ drop_trigger_cleanup: // Return a pointer to the Table structure for the table that a trigger // is set on. -func tableOfTrigger(tls *libc.TLS, pTrigger uintptr) uintptr { /* sqlite3.c:142604:14: */ +func tableOfTrigger(tls *libc.TLS, pTrigger uintptr) uintptr { /* sqlite3.c:142617:14: */ return Xsqlite3HashFind(tls, (*Trigger)(unsafe.Pointer(pTrigger)).FpTabSchema+8, (*Trigger)(unsafe.Pointer(pTrigger)).Ftable) } // Drop a trigger given a pointer to that trigger. -func Xsqlite3DropTriggerPtr(tls *libc.TLS, pParse uintptr, pTrigger uintptr) { /* sqlite3.c:142612:21: */ +func Xsqlite3DropTriggerPtr(tls *libc.TLS, pParse uintptr, pTrigger uintptr) { /* sqlite3.c:142625:21: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -124871,7 +124890,7 @@ func Xsqlite3DropTriggerPtr(tls *libc.TLS, pParse uintptr, pTrigger uintptr) { / } // Remove a trigger from the hash tables of the sqlite* pointer. -func Xsqlite3UnlinkAndDeleteTrigger(tls *libc.TLS, db uintptr, iDb int32, zName uintptr) { /* sqlite3.c:142650:21: */ +func Xsqlite3UnlinkAndDeleteTrigger(tls *libc.TLS, db uintptr, iDb int32, zName uintptr) { /* sqlite3.c:142663:21: */ var pTrigger uintptr var pHash uintptr @@ -124902,7 +124921,7 @@ func Xsqlite3UnlinkAndDeleteTrigger(tls *libc.TLS, db uintptr, iDb int32, zName // wildcard that matches anything. Likewise if pEList==NULL then // it matches anything so always return true. Return false only // if there is no match. -func checkColumnOverlap(tls *libc.TLS, pIdList uintptr, pEList uintptr) int32 { /* sqlite3.c:142684:12: */ +func checkColumnOverlap(tls *libc.TLS, pIdList uintptr, pEList uintptr) int32 { /* sqlite3.c:142697:12: */ var e int32 if pIdList == uintptr(0) || pEList == uintptr(0) { return 1 @@ -124919,7 +124938,7 @@ func checkColumnOverlap(tls *libc.TLS, pIdList uintptr, pEList uintptr) int32 { // one trigger that must be fired when an operation of type 'op' is // performed on the table, and, if that operation is an UPDATE, if at // least one of the columns in pChanges is being modified. -func Xsqlite3TriggersExist(tls *libc.TLS, pParse uintptr, pTab uintptr, op int32, pChanges uintptr, pMask uintptr) uintptr { /* sqlite3.c:142699:24: */ +func Xsqlite3TriggersExist(tls *libc.TLS, pParse uintptr, pTab uintptr, op int32, pChanges uintptr, pMask uintptr) uintptr { /* sqlite3.c:142712:24: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -125046,7 +125065,7 @@ __17: // referring to a target in another database. An exception is when the // trigger is in TEMP in which case it can refer to any other database it // wants. -func Xsqlite3TriggerStepSrc(tls *libc.TLS, pParse uintptr, pStep uintptr) uintptr { /* sqlite3.c:142773:24: */ +func Xsqlite3TriggerStepSrc(tls *libc.TLS, pParse uintptr, pStep uintptr) uintptr { /* sqlite3.c:142786:24: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb var pSrc uintptr // SrcList to be returned var zName uintptr = Xsqlite3DbStrDup(tls, db, (*TriggerStep)(unsafe.Pointer(pStep)).FzTarget) @@ -125071,7 +125090,7 @@ func Xsqlite3TriggerStepSrc(tls *libc.TLS, pParse uintptr, pStep uintptr) uintpt // Return true if the pExpr term from the RETURNING clause argument // list is of the form "*". Raise an error if the terms if of the // form "table.*". -func isAsteriskTerm(tls *libc.TLS, pParse uintptr, pTerm uintptr) int32 { /* sqlite3.c:142804:12: */ +func isAsteriskTerm(tls *libc.TLS, pParse uintptr, pTerm uintptr) int32 { /* sqlite3.c:142817:12: */ if int32((*Expr)(unsafe.Pointer(pTerm)).Fop) == TK_ASTERISK { return 1 @@ -125092,7 +125111,7 @@ func isAsteriskTerm(tls *libc.TLS, pParse uintptr, pTerm uintptr) int32 { /* sql // // This routine makes a copy of the pList, and at the same time expands // any "*" wildcards to be the complete set of columns from pTab. -func sqlite3ExpandReturning(tls *libc.TLS, pParse uintptr, pList uintptr, pTab uintptr) uintptr { /* sqlite3.c:142824:17: */ +func sqlite3ExpandReturning(tls *libc.TLS, pParse uintptr, pList uintptr, pTab uintptr) uintptr { /* sqlite3.c:142837:17: */ var pNew uintptr = uintptr(0) var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb var i int32 @@ -125133,7 +125152,7 @@ func sqlite3ExpandReturning(tls *libc.TLS, pParse uintptr, pList uintptr, pTab u // Generate code for the RETURNING trigger. Unlike other triggers // that invoke a subprogram in the bytecode, the code for RETURNING // is generated in-line. -func codeReturningTrigger(tls *libc.TLS, pParse uintptr, pTrigger uintptr, pTab uintptr, regIn int32) { /* sqlite3.c:142867:13: */ +func codeReturningTrigger(tls *libc.TLS, pParse uintptr, pTrigger uintptr, pTab uintptr, regIn int32) { /* sqlite3.c:142880:13: */ bp := tls.Alloc(192) defer tls.Free(192) @@ -125201,7 +125220,7 @@ func codeReturningTrigger(tls *libc.TLS, pParse uintptr, pTrigger uintptr, pTab // Generate VDBE code for the statements inside the body of a single // trigger. -func codeTriggerProgram(tls *libc.TLS, pParse uintptr, pStepList uintptr, orconf int32) int32 { /* sqlite3.c:142943:12: */ +func codeTriggerProgram(tls *libc.TLS, pParse uintptr, pStepList uintptr, orconf int32) int32 { /* sqlite3.c:142956:12: */ bp := tls.Alloc(36) defer tls.Free(36) @@ -125288,7 +125307,7 @@ func codeTriggerProgram(tls *libc.TLS, pParse uintptr, pStepList uintptr, orconf // Parse context structure pFrom has just been used to create a sub-vdbe // (trigger program). If an error has occurred, transfer error information // from pFrom to pTo. -func transferParseError(tls *libc.TLS, pTo uintptr, pFrom uintptr) { /* sqlite3.c:143047:13: */ +func transferParseError(tls *libc.TLS, pTo uintptr, pFrom uintptr) { /* sqlite3.c:143060:13: */ if (*Parse)(unsafe.Pointer(pTo)).FnErr == 0 { (*Parse)(unsafe.Pointer(pTo)).FzErrMsg = (*Parse)(unsafe.Pointer(pFrom)).FzErrMsg @@ -125301,7 +125320,7 @@ func transferParseError(tls *libc.TLS, pTo uintptr, pFrom uintptr) { /* sqlite3. // Create and populate a new TriggerPrg object with a sub-program // implementing trigger pTrigger with ON CONFLICT policy orconf. -func codeRowTrigger(tls *libc.TLS, pParse uintptr, pTrigger uintptr, pTab uintptr, orconf int32) uintptr { /* sqlite3.c:143063:19: */ +func codeRowTrigger(tls *libc.TLS, pParse uintptr, pTrigger uintptr, pTab uintptr, orconf int32) uintptr { /* sqlite3.c:143076:19: */ bp := tls.Alloc(312) defer tls.Free(312) @@ -125407,7 +125426,7 @@ func codeRowTrigger(tls *libc.TLS, pParse uintptr, pTrigger uintptr, pTab uintpt // trigger pTrigger with default ON CONFLICT algorithm orconf. If no such // TriggerPrg object exists, a new object is allocated and populated before // being returned. -func getRowTrigger(tls *libc.TLS, pParse uintptr, pTrigger uintptr, pTab uintptr, orconf int32) uintptr { /* sqlite3.c:143177:19: */ +func getRowTrigger(tls *libc.TLS, pParse uintptr, pTrigger uintptr, pTab uintptr, orconf int32) uintptr { /* sqlite3.c:143190:19: */ var pRoot uintptr = func() uintptr { if (*Parse)(unsafe.Pointer(pParse)).FpToplevel != 0 { return (*Parse)(unsafe.Pointer(pParse)).FpToplevel @@ -125436,7 +125455,7 @@ func getRowTrigger(tls *libc.TLS, pParse uintptr, pTrigger uintptr, pTab uintptr // table pTab. The reg, orconf and ignoreJump parameters passed to this // function are the same as those described in the header function for // sqlite3CodeRowTrigger() -func Xsqlite3CodeRowTriggerDirect(tls *libc.TLS, pParse uintptr, p uintptr, pTab uintptr, reg int32, orconf int32, ignoreJump int32) { /* sqlite3.c:143212:21: */ +func Xsqlite3CodeRowTriggerDirect(tls *libc.TLS, pParse uintptr, p uintptr, pTab uintptr, reg int32, orconf int32, ignoreJump int32) { /* sqlite3.c:143225:21: */ var v uintptr = Xsqlite3GetVdbe(tls, pParse) // Main VM var pPrg uintptr pPrg = getRowTrigger(tls, pParse, p, pTab, orconf) @@ -125496,7 +125515,7 @@ func Xsqlite3CodeRowTriggerDirect(tls *libc.TLS, pParse uintptr, p uintptr, pTab // trigger program to use (REPLACE, IGNORE etc.). Parameter ignoreJump // is the instruction that control should jump to if a trigger program // raises an IGNORE exception. -func Xsqlite3CodeRowTrigger(tls *libc.TLS, pParse uintptr, pTrigger uintptr, op int32, pChanges uintptr, tr_tm int32, pTab uintptr, reg int32, orconf int32, ignoreJump int32) { /* sqlite3.c:143284:21: */ +func Xsqlite3CodeRowTrigger(tls *libc.TLS, pParse uintptr, pTrigger uintptr, op int32, pChanges uintptr, tr_tm int32, pTab uintptr, reg int32, orconf int32, ignoreJump int32) { /* sqlite3.c:143297:21: */ var p uintptr // Used to iterate through pTrigger list for p = pTrigger; p != 0; p = (*Trigger)(unsafe.Pointer(p)).FpNext { @@ -125544,7 +125563,7 @@ func Xsqlite3CodeRowTrigger(tls *libc.TLS, pParse uintptr, pTrigger uintptr, op // included in the returned mask if the TRIGGER_BEFORE bit is set in the // tr_tm parameter. Similarly, values accessed by AFTER triggers are only // included in the returned mask if the TRIGGER_AFTER bit is set in tr_tm. -func Xsqlite3TriggerColmask(tls *libc.TLS, pParse uintptr, pTrigger uintptr, pChanges uintptr, isNew int32, tr_tm int32, pTab uintptr, orconf int32) U32 { /* sqlite3.c:143354:20: */ +func Xsqlite3TriggerColmask(tls *libc.TLS, pParse uintptr, pTrigger uintptr, pChanges uintptr, isNew int32, tr_tm int32, pTab uintptr, orconf int32) U32 { /* sqlite3.c:143367:20: */ var op int32 if pChanges != 0 { op = TK_UPDATE @@ -125601,7 +125620,7 @@ func Xsqlite3TriggerColmask(tls *libc.TLS, pParse uintptr, pTrigger uintptr, pCh // (not a virtual table) then the value might have been stored as an // integer. In that case, add an OP_RealAffinity opcode to make sure // it has been converted into REAL. -func Xsqlite3ColumnDefault(tls *libc.TLS, v uintptr, pTab uintptr, i int32, iReg int32) { /* sqlite3.c:143452:21: */ +func Xsqlite3ColumnDefault(tls *libc.TLS, v uintptr, pTab uintptr, i int32, iReg int32) { /* sqlite3.c:143465:21: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -125631,7 +125650,7 @@ func Xsqlite3ColumnDefault(tls *libc.TLS, v uintptr, pTab uintptr, i int32, iReg // aXRef[j] will be non-negative if column j of the original table is // being updated. chngRowid will be true if the rowid of the table is // being updated. -func indexColumnIsBeingUpdated(tls *libc.TLS, pIdx uintptr, iCol int32, aXRef uintptr, chngRowid int32) int32 { /* sqlite3.c:143485:12: */ +func indexColumnIsBeingUpdated(tls *libc.TLS, pIdx uintptr, iCol int32, aXRef uintptr, chngRowid int32) int32 { /* sqlite3.c:143498:12: */ var iIdxCol I16 = *(*I16)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FaiColumn + uintptr(iCol)*2)) // Cannot index rowid if int32(iIdxCol) >= 0 { @@ -125652,7 +125671,7 @@ func indexColumnIsBeingUpdated(tls *libc.TLS, pIdx uintptr, iCol int32, aXRef ui // aXRef[j] will be non-negative if column j of the original table is // being updated. chngRowid will be true if the rowid of the table is // being updated. -func indexWhereClauseMightChange(tls *libc.TLS, pIdx uintptr, aXRef uintptr, chngRowid int32) int32 { /* sqlite3.c:143515:12: */ +func indexWhereClauseMightChange(tls *libc.TLS, pIdx uintptr, aXRef uintptr, chngRowid int32) int32 { /* sqlite3.c:143528:12: */ if (*Index)(unsafe.Pointer(pIdx)).FpPartIdxWhere == uintptr(0) { return 0 } @@ -125664,7 +125683,7 @@ func indexWhereClauseMightChange(tls *libc.TLS, pIdx uintptr, aXRef uintptr, chn // Expr.iColumn set to value (iCol+1). The resolver will modify the // expression to be a TK_COLUMN reading column iCol of the first // table in the source-list (pSrc->a[0]). -func exprRowColumn(tls *libc.TLS, pParse uintptr, iCol int32) uintptr { /* sqlite3.c:143531:13: */ +func exprRowColumn(tls *libc.TLS, pParse uintptr, iCol int32) uintptr { /* sqlite3.c:143544:13: */ var pRet uintptr = Xsqlite3PExpr(tls, pParse, TK_ROW, uintptr(0), uintptr(0)) if pRet != 0 { (*Expr)(unsafe.Pointer(pRet)).FiColumn = YnVar(iCol + 1) @@ -125708,7 +125727,7 @@ func exprRowColumn(tls *libc.TLS, pParse uintptr, iCol int32) uintptr { /* sqlit // records with automatically assigned integer keys For intkey tables, the // rowid value in is used as the integer key, and the // remaining fields make up the table record. -func updateFromSelect(tls *libc.TLS, pParse uintptr, iEph int32, pPk uintptr, pChanges uintptr, pTabList uintptr, pWhere uintptr, pOrderBy uintptr, pLimit uintptr) { /* sqlite3.c:143575:13: */ +func updateFromSelect(tls *libc.TLS, pParse uintptr, iEph int32, pPk uintptr, pChanges uintptr, pTabList uintptr, pWhere uintptr, pOrderBy uintptr, pLimit uintptr) { /* sqlite3.c:143588:13: */ bp := tls.Alloc(28) defer tls.Free(28) @@ -125791,7 +125810,7 @@ func updateFromSelect(tls *libc.TLS, pParse uintptr, iEph int32, pPk uintptr, pC // onError | pChanges | pWhere // \_______________________/ // pTabList -func Xsqlite3Update(tls *libc.TLS, pParse uintptr, pTabList uintptr, pChanges uintptr, pWhere uintptr, onError int32, pOrderBy uintptr, pLimit uintptr, pUpsert uintptr) { /* sqlite3.c:143672:21: */ +func Xsqlite3Update(tls *libc.TLS, pParse uintptr, pTabList uintptr, pChanges uintptr, pWhere uintptr, onError int32, pOrderBy uintptr, pLimit uintptr, pUpsert uintptr) { /* sqlite3.c:143685:21: */ bp := tls.Alloc(72) defer tls.Free(72) @@ -127181,7 +127200,7 @@ update_cleanup: // The "onepass" strategy does not use an ephemeral table. Instead, it // stores the same values (A, B and C above) in a register array and // makes a single invocation of VUpdate. -func updateVirtualTable(tls *libc.TLS, pParse uintptr, pSrc uintptr, pTab uintptr, pChanges uintptr, pRowid uintptr, aXRef uintptr, pWhere uintptr, onError int32) { /* sqlite3.c:144564:13: */ +func updateVirtualTable(tls *libc.TLS, pParse uintptr, pSrc uintptr, pTab uintptr, pChanges uintptr, pRowid uintptr, aXRef uintptr, pWhere uintptr, onError int32) { /* sqlite3.c:144577:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -127354,7 +127373,7 @@ func updateVirtualTable(tls *libc.TLS, pParse uintptr, pSrc uintptr, pTab uintpt // #include "sqliteInt.h" // Free a list of Upsert objects -func upsertDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:144752:29: */ +func upsertDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:144765:29: */ for __ccgo := true; __ccgo; __ccgo = p != 0 { var pNext uintptr = (*Upsert)(unsafe.Pointer(p)).FpNextUpsert Xsqlite3ExprListDelete(tls, db, (*Upsert)(unsafe.Pointer(p)).FpUpsertTarget) @@ -127367,14 +127386,14 @@ func upsertDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:144752:29 } } -func Xsqlite3UpsertDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:144764:21: */ +func Xsqlite3UpsertDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:144777:21: */ if p != 0 { upsertDelete(tls, db, p) } } // Duplicate an Upsert object. -func Xsqlite3UpsertDup(tls *libc.TLS, db uintptr, p uintptr) uintptr { /* sqlite3.c:144772:23: */ +func Xsqlite3UpsertDup(tls *libc.TLS, db uintptr, p uintptr) uintptr { /* sqlite3.c:144785:23: */ if p == uintptr(0) { return uintptr(0) } @@ -127387,7 +127406,7 @@ func Xsqlite3UpsertDup(tls *libc.TLS, db uintptr, p uintptr) uintptr { /* sqlite } // Create a new Upsert object. -func Xsqlite3UpsertNew(tls *libc.TLS, db uintptr, pTarget uintptr, pTargetWhere uintptr, pSet uintptr, pWhere uintptr, pNext uintptr) uintptr { /* sqlite3.c:144786:23: */ +func Xsqlite3UpsertNew(tls *libc.TLS, db uintptr, pTarget uintptr, pTargetWhere uintptr, pSet uintptr, pWhere uintptr, pNext uintptr) uintptr { /* sqlite3.c:144799:23: */ var pNew uintptr pNew = Xsqlite3DbMallocZero(tls, db, uint64(unsafe.Sizeof(Upsert{}))) if pNew == uintptr(0) { @@ -127413,7 +127432,7 @@ func Xsqlite3UpsertNew(tls *libc.TLS, db uintptr, pTarget uintptr, pTargetWhere // // Return SQLITE_OK if everything works, or an error code is something // is wrong. -func Xsqlite3UpsertAnalyzeTarget(tls *libc.TLS, pParse uintptr, pTabList uintptr, pUpsert uintptr) int32 { /* sqlite3.c:144821:20: */ +func Xsqlite3UpsertAnalyzeTarget(tls *libc.TLS, pParse uintptr, pTabList uintptr, pUpsert uintptr) int32 { /* sqlite3.c:144834:20: */ bp := tls.Alloc(168) defer tls.Free(168) @@ -127555,7 +127574,7 @@ __3: // Return true if pUpsert is the last ON CONFLICT clause with a // conflict target, or if pUpsert is followed by another ON CONFLICT // clause that targets the INTEGER PRIMARY KEY. -func Xsqlite3UpsertNextIsIPK(tls *libc.TLS, pUpsert uintptr) int32 { /* sqlite3.c:144948:20: */ +func Xsqlite3UpsertNextIsIPK(tls *libc.TLS, pUpsert uintptr) int32 { /* sqlite3.c:144961:20: */ var pNext uintptr if pUpsert == uintptr(0) { return 0 @@ -127577,7 +127596,7 @@ func Xsqlite3UpsertNextIsIPK(tls *libc.TLS, pUpsert uintptr) int32 { /* sqlite3. // a particular index pIdx, return a pointer to the particular ON CONFLICT // clause that applies to the index. Or, if the index is not subject to // any ON CONFLICT clause, return NULL. -func Xsqlite3UpsertOfIndex(tls *libc.TLS, pUpsert uintptr, pIdx uintptr) uintptr { /* sqlite3.c:144964:23: */ +func Xsqlite3UpsertOfIndex(tls *libc.TLS, pUpsert uintptr, pIdx uintptr) uintptr { /* sqlite3.c:144977:23: */ for pUpsert != 0 && (*Upsert)(unsafe.Pointer(pUpsert)).FpUpsertTarget != uintptr(0) && (*Upsert)(unsafe.Pointer(pUpsert)).FpUpsertIdx != pIdx { @@ -127593,7 +127612,7 @@ func Xsqlite3UpsertOfIndex(tls *libc.TLS, pUpsert uintptr, pIdx uintptr) uintptr // currently points to the conflicting table row. Otherwise, if pIdx // is not NULL, then pIdx is the constraint that failed and iCur is a // cursor points to the conflicting row. -func Xsqlite3UpsertDoUpdate(tls *libc.TLS, pParse uintptr, pUpsert uintptr, pTab uintptr, pIdx uintptr, iCur int32) { /* sqlite3.c:144984:21: */ +func Xsqlite3UpsertDoUpdate(tls *libc.TLS, pParse uintptr, pUpsert uintptr, pTab uintptr, pIdx uintptr, iCur int32) { /* sqlite3.c:144997:21: */ var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb var pSrc uintptr // FROM clause for the UPDATE @@ -127673,7 +127692,7 @@ func Xsqlite3UpsertDoUpdate(tls *libc.TLS, pParse uintptr, pUpsert uintptr, pTab // // The execSqlF() routine does the same thing, except it accepts // a format string as its third argument -func execSql(tls *libc.TLS, db uintptr, pzErrMsg uintptr, zSql uintptr) int32 { /* sqlite3.c:145081:12: */ +func execSql(tls *libc.TLS, db uintptr, pzErrMsg uintptr, zSql uintptr) int32 { /* sqlite3.c:145094:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -127713,7 +127732,7 @@ func execSql(tls *libc.TLS, db uintptr, pzErrMsg uintptr, zSql uintptr) int32 { return rc } -func execSqlF(tls *libc.TLS, db uintptr, pzErrMsg uintptr, zSql uintptr, va uintptr) int32 { /* sqlite3.c:145111:12: */ +func execSqlF(tls *libc.TLS, db uintptr, pzErrMsg uintptr, zSql uintptr, va uintptr) int32 { /* sqlite3.c:145124:12: */ var z uintptr var ap Va_list _ = ap @@ -127757,7 +127776,7 @@ func execSqlF(tls *libc.TLS, db uintptr, pzErrMsg uintptr, zSql uintptr, va uint // And a power loss in between deleting the original and renaming the // transient would cause the database file to appear to be deleted // following reboot. -func Xsqlite3Vacuum(tls *libc.TLS, pParse uintptr, pNm uintptr, pInto uintptr) { /* sqlite3.c:145154:21: */ +func Xsqlite3Vacuum(tls *libc.TLS, pParse uintptr, pNm uintptr, pInto uintptr) { /* sqlite3.c:145167:21: */ bp := tls.Alloc(4) defer tls.Free(4) *(*uintptr)(unsafe.Pointer(bp)) = pNm @@ -127814,7 +127833,7 @@ build_vacuum_end: } // This routine implements the OP_Vacuum opcode of the VDBE. -func Xsqlite3RunVacuum(tls *libc.TLS, pzErrMsg uintptr, db uintptr, iDb int32, pOut uintptr) int32 { /* sqlite3.c:145192:36: */ +func Xsqlite3RunVacuum(tls *libc.TLS, pzErrMsg uintptr, db uintptr, iDb int32, pOut uintptr) int32 { /* sqlite3.c:145205:36: */ bp := tls.Alloc(52) defer tls.Free(52) @@ -128152,7 +128171,7 @@ var aCopy = [10]uint8{ uint8(BTREE_TEXT_ENCODING), uint8(0), // Preserve the text encoding uint8(BTREE_USER_VERSION), uint8(0), // Preserve the user version uint8(BTREE_APPLICATION_ID), uint8(0), // Preserve the application id -} /* sqlite3.c:145385:32 */ +} /* sqlite3.c:145398:32 */ // Construct and install a Module object for a virtual table. When this // routine is called, it is guaranteed that all appropriate locks are held @@ -128160,7 +128179,7 @@ var aCopy = [10]uint8{ // // 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 Xsqlite3VtabCreateModule(tls *libc.TLS, db uintptr, zName uintptr, pModule uintptr, pAux uintptr, xDestroy uintptr) uintptr { /* sqlite3.c:145497:23: */ +func Xsqlite3VtabCreateModule(tls *libc.TLS, db uintptr, zName uintptr, pModule uintptr, pAux uintptr, xDestroy uintptr) uintptr { /* sqlite3.c:145510:23: */ var pMod uintptr var pDel uintptr var zCopy uintptr @@ -128200,7 +128219,7 @@ func Xsqlite3VtabCreateModule(tls *libc.TLS, db uintptr, zName uintptr, pModule // The actual function that does the work of creating a new module. // 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) int32 { /* sqlite3.c:145545:12: */ +func createModule(tls *libc.TLS, db uintptr, zName uintptr, pModule uintptr, pAux uintptr, xDestroy uintptr) int32 { /* sqlite3.c:145558:12: */ var rc int32 = SQLITE_OK Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) @@ -128214,18 +128233,18 @@ func createModule(tls *libc.TLS, db uintptr, zName uintptr, pModule uintptr, pAu } // External API function used to create a new virtual-table module. -func Xsqlite3_create_module(tls *libc.TLS, db uintptr, zName uintptr, pModule uintptr, pAux uintptr) int32 { /* sqlite3.c:145566:16: */ +func Xsqlite3_create_module(tls *libc.TLS, db uintptr, zName uintptr, pModule uintptr, pAux uintptr) int32 { /* sqlite3.c:145579:16: */ return createModule(tls, db, zName, pModule, pAux, uintptr(0)) } // 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) int32 { /* sqlite3.c:145581:16: */ +func Xsqlite3_create_module_v2(tls *libc.TLS, db uintptr, zName uintptr, pModule uintptr, pAux uintptr, xDestroy uintptr) int32 { /* sqlite3.c:145594:16: */ return createModule(tls, db, zName, pModule, pAux, xDestroy) } // External API to drop all virtual-table modules, except those named // on the azNames list. -func Xsqlite3_drop_modules(tls *libc.TLS, db uintptr, azNames uintptr) int32 { /* sqlite3.c:145598:16: */ +func Xsqlite3_drop_modules(tls *libc.TLS, db uintptr, azNames uintptr) int32 { /* sqlite3.c:145611:16: */ var pThis uintptr var pNext uintptr for pThis = (*Hash)(unsafe.Pointer(db + 400)).Ffirst; pThis != 0; pThis = pNext { @@ -128246,7 +128265,7 @@ func Xsqlite3_drop_modules(tls *libc.TLS, db uintptr, azNames uintptr) int32 { / // Decrement the reference count on a Module object. Destroy the // module when the reference count reaches zero. -func Xsqlite3VtabModuleUnref(tls *libc.TLS, db uintptr, pMod uintptr) { /* sqlite3.c:145620:21: */ +func Xsqlite3VtabModuleUnref(tls *libc.TLS, db uintptr, pMod uintptr) { /* sqlite3.c:145633:21: */ (*Module)(unsafe.Pointer(pMod)).FnRefModule-- if (*Module)(unsafe.Pointer(pMod)).FnRefModule == 0 { @@ -128264,14 +128283,14 @@ func Xsqlite3VtabModuleUnref(tls *libc.TLS, db uintptr, pMod uintptr) { /* sqlit // // If a disconnect is attempted while a virtual table is locked, // the disconnect is deferred until all locks have been removed. -func Xsqlite3VtabLock(tls *libc.TLS, pVTab uintptr) { /* sqlite3.c:145640:21: */ +func Xsqlite3VtabLock(tls *libc.TLS, pVTab uintptr) { /* sqlite3.c:145653:21: */ (*VTable)(unsafe.Pointer(pVTab)).FnRef++ } // pTab is a pointer to a Table structure representing a virtual-table. // Return a pointer to the VTable object used by connection db to access // this virtual-table, if one has been created, or NULL otherwise. -func Xsqlite3GetVTable(tls *libc.TLS, db uintptr, pTab uintptr) uintptr { /* sqlite3.c:145650:23: */ +func Xsqlite3GetVTable(tls *libc.TLS, db uintptr, pTab uintptr) uintptr { /* sqlite3.c:145663:23: */ var pVtab uintptr for pVtab = *(*uintptr)(unsafe.Pointer(pTab + 44 + 8 /* &.p */)); pVtab != 0 && (*VTable)(unsafe.Pointer(pVtab)).Fdb != db; pVtab = (*VTable)(unsafe.Pointer(pVtab)).FpNext { @@ -128281,7 +128300,7 @@ func Xsqlite3GetVTable(tls *libc.TLS, db uintptr, pTab uintptr) uintptr { /* sql // Decrement the ref-count on a virtual table object. When the ref-count // reaches zero, call the xDisconnect() method to delete the object. -func Xsqlite3VtabUnlock(tls *libc.TLS, pVTab uintptr) { /* sqlite3.c:145661:21: */ +func Xsqlite3VtabUnlock(tls *libc.TLS, pVTab uintptr) { /* sqlite3.c:145674:21: */ var db uintptr = (*VTable)(unsafe.Pointer(pVTab)).Fdb (*VTable)(unsafe.Pointer(pVTab)).FnRef-- @@ -128302,7 +128321,7 @@ func Xsqlite3VtabUnlock(tls *libc.TLS, pVTab uintptr) { /* sqlite3.c:145661:21: // database connections to be disconnected at the next opportunity. // Except, if argument db is not NULL, then the entry associated with // connection db is left in the p->u.vtab.p list. -func vtabDisconnectAll(tls *libc.TLS, db uintptr, p uintptr) uintptr { /* sqlite3.c:145687:15: */ +func vtabDisconnectAll(tls *libc.TLS, db uintptr, p uintptr) uintptr { /* sqlite3.c:145700:15: */ var pRet uintptr = uintptr(0) var pVTable uintptr @@ -128339,7 +128358,7 @@ func vtabDisconnectAll(tls *libc.TLS, db uintptr, p uintptr) uintptr { /* sqlite // used when closing database connection db to free all of its VTable // objects without disturbing the rest of the Schema object (which may // be being used by other shared-cache connections). -func Xsqlite3VtabDisconnect(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:145730:21: */ +func Xsqlite3VtabDisconnect(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:145743:21: */ var ppVTab uintptr for ppVTab = p + 44 + 8; *(*uintptr)(unsafe.Pointer(ppVTab)) != 0; ppVTab = *(*uintptr)(unsafe.Pointer(ppVTab)) + 24 { @@ -128370,7 +128389,7 @@ func Xsqlite3VtabDisconnect(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c // // As a result, a sqlite3.pDisconnect cannot be accessed simultaneously // by multiple threads. It is thread-safe. -func Xsqlite3VtabUnlockList(tls *libc.TLS, db uintptr) { /* sqlite3.c:145768:21: */ +func Xsqlite3VtabUnlockList(tls *libc.TLS, db uintptr) { /* sqlite3.c:145781:21: */ var p uintptr = (*Sqlite3)(unsafe.Pointer(db)).FpDisconnect if p != 0 { @@ -128396,7 +128415,7 @@ func Xsqlite3VtabUnlockList(tls *libc.TLS, db uintptr) { /* sqlite3.c:145768:21: // structure being xDisconnected and free). Any other VTable structures // in the list are moved to the sqlite3.pDisconnect list of the associated // database connection. -func Xsqlite3VtabClear(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:145799:21: */ +func Xsqlite3VtabClear(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:145812:21: */ if !(db != 0) || (*Sqlite3)(unsafe.Pointer(db)).FpnBytesFreed == uintptr(0) { vtabDisconnectAll(tls, uintptr(0), p) @@ -128416,7 +128435,7 @@ func Xsqlite3VtabClear(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:1457 // The string is not copied - the pointer is stored. The // string will be freed automatically when the table is // deleted. -func addModuleArgument(tls *libc.TLS, pParse uintptr, pTable uintptr, zArg uintptr) { /* sqlite3.c:145817:13: */ +func addModuleArgument(tls *libc.TLS, pParse uintptr, pTable uintptr, zArg uintptr) { /* sqlite3.c:145830:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -128442,7 +128461,7 @@ func addModuleArgument(tls *libc.TLS, pParse uintptr, pTable uintptr, zArg uintp // The parser calls this routine when it first sees a CREATE VIRTUAL TABLE // statement. The module name has been parsed, but the optional list // of parameters that follow the module name are still pending. -func Xsqlite3VtabBeginParse(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 uintptr, pModuleName uintptr, ifNotExists int32) { /* sqlite3.c:145843:21: */ +func Xsqlite3VtabBeginParse(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 uintptr, pModuleName uintptr, ifNotExists int32) { /* sqlite3.c:145856:21: */ var pTable uintptr // The new virtual table var db uintptr // Database connection @@ -128477,7 +128496,7 @@ func Xsqlite3VtabBeginParse(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName // This routine takes the module argument that has been accumulating // in pParse->zArg[] and appends it to the list of arguments on the // virtual table currently under construction in pParse->pTable. -func addArgumentToVtab(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:145892:13: */ +func addArgumentToVtab(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:145905:13: */ if (*Parse)(unsafe.Pointer(pParse)).FsArg.Fz != 0 && (*Parse)(unsafe.Pointer(pParse)).FpNewTable != 0 { var z uintptr = (*Parse)(unsafe.Pointer(pParse)).FsArg.Fz var n int32 = int32((*Parse)(unsafe.Pointer(pParse)).FsArg.Fn) @@ -128488,7 +128507,7 @@ func addArgumentToVtab(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:145892:13: // The parser calls this routine after the CREATE VIRTUAL TABLE statement // has been completely parsed. -func Xsqlite3VtabFinishParse(tls *libc.TLS, pParse uintptr, pEnd uintptr) { /* sqlite3.c:145905:21: */ +func Xsqlite3VtabFinishParse(tls *libc.TLS, pParse uintptr, pEnd uintptr) { /* sqlite3.c:145918:21: */ bp := tls.Alloc(64) defer tls.Free(64) @@ -128572,7 +128591,7 @@ func Xsqlite3VtabFinishParse(tls *libc.TLS, pParse uintptr, pEnd uintptr) { /* s // The parser calls this routine when it sees the first token // of an argument to the module name in a CREATE VIRTUAL TABLE statement. -func Xsqlite3VtabArgInit(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:145988:21: */ +func Xsqlite3VtabArgInit(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:146001:21: */ addArgumentToVtab(tls, pParse) (*Parse)(unsafe.Pointer(pParse)).FsArg.Fz = uintptr(0) (*Parse)(unsafe.Pointer(pParse)).FsArg.Fn = uint32(0) @@ -128580,7 +128599,7 @@ func Xsqlite3VtabArgInit(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:145988:21 // The parser calls this routine for each token after the first token // in an argument to the module name in a CREATE VIRTUAL TABLE statement. -func Xsqlite3VtabArgExtend(tls *libc.TLS, pParse uintptr, p uintptr) { /* sqlite3.c:145998:21: */ +func Xsqlite3VtabArgExtend(tls *libc.TLS, pParse uintptr, p uintptr) { /* sqlite3.c:146011:21: */ var pArg uintptr = pParse + 252 if (*Token)(unsafe.Pointer(pArg)).Fz == uintptr(0) { (*Token)(unsafe.Pointer(pArg)).Fz = (*Token)(unsafe.Pointer(p)).Fz @@ -128594,7 +128613,7 @@ func Xsqlite3VtabArgExtend(tls *libc.TLS, pParse uintptr, p uintptr) { /* sqlite // Invoke a virtual table constructor (either xCreate or xConnect). The // 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) int32 { /* sqlite3.c:146014:12: */ +func vtabCallConstructor(tls *libc.TLS, db uintptr, pTab uintptr, pMod uintptr, xConstruct uintptr, pzErr uintptr) int32 { /* sqlite3.c:146027:12: */ bp := tls.Alloc(52) defer tls.Free(52) @@ -128730,7 +128749,7 @@ func vtabCallConstructor(tls *libc.TLS, db uintptr, pTab uintptr, pMod uintptr, // and an error left in pParse. // // This call is a no-op if table pTab is not a virtual table. -func Xsqlite3VtabCallConnect(tls *libc.TLS, pParse uintptr, pTab uintptr) int32 { /* sqlite3.c:146150:20: */ +func Xsqlite3VtabCallConnect(tls *libc.TLS, pParse uintptr, pTab uintptr) int32 { /* sqlite3.c:146163:20: */ bp := tls.Alloc(20) defer tls.Free(20) @@ -128766,7 +128785,7 @@ func Xsqlite3VtabCallConnect(tls *libc.TLS, pParse uintptr, pTab uintptr) int32 // Grow the db->aVTrans[] array so that there is room for at least one // more v-table. Return SQLITE_NOMEM if a malloc fails, or SQLITE_OK otherwise. -func growVTrans(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:146186:12: */ +func growVTrans(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:146199:12: */ var ARRAY_INCR int32 = 5 // Grow the sqlite3.aVTrans array if required @@ -128786,7 +128805,7 @@ func growVTrans(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:146186:12: */ // Add the virtual table pVTab to the array sqlite3.aVTrans[]. Space should // have already been reserved using growVTrans(). -func addToVTrans(tls *libc.TLS, db uintptr, pVTab uintptr) { /* sqlite3.c:146209:13: */ +func addToVTrans(tls *libc.TLS, db uintptr, pVTab uintptr) { /* sqlite3.c:146222:13: */ // Add pVtab to the end of sqlite3.aVTrans *(*uintptr)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaVTrans + uintptr(libc.PostIncInt32(&(*Sqlite3)(unsafe.Pointer(db)).FnVTrans, 1))*4)) = pVTab Xsqlite3VtabLock(tls, pVTab) @@ -128798,7 +128817,7 @@ func addToVTrans(tls *libc.TLS, db uintptr, pVTab uintptr) { /* sqlite3.c:146209 // If an error occurs, *pzErr is set to point to an English language // description of the error and an SQLITE_XXX error code is returned. // In this case the caller must call sqlite3DbFree(db, ) on *pzErr. -func Xsqlite3VtabCallCreate(tls *libc.TLS, db uintptr, iDb int32, zTab uintptr, pzErr uintptr) int32 { /* sqlite3.c:146223:20: */ +func Xsqlite3VtabCallCreate(tls *libc.TLS, db uintptr, iDb int32, zTab uintptr, pzErr uintptr) int32 { /* sqlite3.c:146236:20: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -128838,7 +128857,7 @@ func Xsqlite3VtabCallCreate(tls *libc.TLS, db uintptr, iDb int32, zTab uintptr, // This function is used to set the schema of a virtual table. It is only // valid to call this function from within the xCreate() or xConnect() of a // virtual table module. -func Xsqlite3_declare_vtab(tls *libc.TLS, db uintptr, zCreateTable uintptr) int32 { /* sqlite3.c:146264:16: */ +func Xsqlite3_declare_vtab(tls *libc.TLS, db uintptr, zCreateTable uintptr) int32 { /* sqlite3.c:146277:16: */ bp := tls.Alloc(280) defer tls.Free(280) @@ -128854,12 +128873,13 @@ func Xsqlite3_declare_vtab(tls *libc.TLS, db uintptr, zCreateTable uintptr) int3 if !(pCtx != 0) || (*VtabCtx)(unsafe.Pointer(pCtx)).FbDeclared != 0 { Xsqlite3Error(tls, db, SQLITE_MISUSE) Xsqlite3_mutex_leave(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) - return Xsqlite3MisuseError(tls, 146281) + return Xsqlite3MisuseError(tls, 146294) } pTab = (*VtabCtx)(unsafe.Pointer(pCtx)).FpTab Xsqlite3ParseObjectInit(tls, bp+8, db) (*Parse)(unsafe.Pointer(bp + 8 /* &sParse */)).FeParseMode = U8(PARSE_MODE_DECLARE_VTAB) + (*Parse)(unsafe.Pointer(bp + 8 /* &sParse */)).FdisableTriggers = U8(1) // We should never be able to reach this point while loading the // schema. Nevertheless, defend against that (turn off db->init.busy) // in case a bug arises. @@ -128928,7 +128948,7 @@ func Xsqlite3_declare_vtab(tls *libc.TLS, db uintptr, zCreateTable uintptr) int3 // when a DROP TABLE is mentioned. // // This call is a no-op if zTab is not a virtual table. -func Xsqlite3VtabCallDestroy(tls *libc.TLS, db uintptr, iDb int32, zTab uintptr) int32 { /* sqlite3.c:146357:20: */ +func Xsqlite3VtabCallDestroy(tls *libc.TLS, db uintptr, iDb int32, zTab uintptr) int32 { /* sqlite3.c:146371:20: */ var rc int32 = SQLITE_OK var pTab uintptr @@ -128973,7 +128993,7 @@ func Xsqlite3VtabCallDestroy(tls *libc.TLS, db uintptr, iDb int32, zTab uintptr) // the offset of the method to call in the sqlite3_module structure. // // The array is cleared after invoking the callbacks. -func callFinaliser(tls *libc.TLS, db uintptr, offset int32) { /* sqlite3.c:146401:13: */ +func callFinaliser(tls *libc.TLS, db uintptr, offset int32) { /* sqlite3.c:146415:13: */ var i int32 if (*Sqlite3)(unsafe.Pointer(db)).FaVTrans != 0 { var aVTrans uintptr = (*Sqlite3)(unsafe.Pointer(db)).FaVTrans @@ -129003,7 +129023,7 @@ func callFinaliser(tls *libc.TLS, db uintptr, offset int32) { /* sqlite3.c:14640 // SQLITE_OK if all xSync operations are successful. // // If an error message is available, leave it in p->zErrMsg. -func Xsqlite3VtabSync(tls *libc.TLS, db uintptr, p uintptr) int32 { /* sqlite3.c:146429:20: */ +func Xsqlite3VtabSync(tls *libc.TLS, db uintptr, p uintptr) int32 { /* sqlite3.c:146443:20: */ var i int32 var rc int32 = SQLITE_OK var aVTrans uintptr = (*Sqlite3)(unsafe.Pointer(db)).FaVTrans @@ -129025,14 +129045,14 @@ func Xsqlite3VtabSync(tls *libc.TLS, db uintptr, p uintptr) int32 { /* sqlite3.c // Invoke the xRollback method of all virtual tables in the // sqlite3.aVTrans array. Then clear the array itself. -func Xsqlite3VtabRollback(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:146451:20: */ +func Xsqlite3VtabRollback(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:146465:20: */ callFinaliser(tls, db, int32(uintptr(0)+68)) return SQLITE_OK } // Invoke the xCommit method of all virtual tables in the // sqlite3.aVTrans array. Then clear the array itself. -func Xsqlite3VtabCommit(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:146460:20: */ +func Xsqlite3VtabCommit(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:146474:20: */ callFinaliser(tls, db, int32(uintptr(0)+64)) return SQLITE_OK } @@ -129043,7 +129063,7 @@ func Xsqlite3VtabCommit(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:146460:2 // // If the xBegin call is successful, place the sqlite3_vtab pointer // in the sqlite3.aVTrans array. -func Xsqlite3VtabBegin(tls *libc.TLS, db uintptr, pVTab uintptr) int32 { /* sqlite3.c:146473:20: */ +func Xsqlite3VtabBegin(tls *libc.TLS, db uintptr, pVTab uintptr) int32 { /* sqlite3.c:146487:20: */ var rc int32 = SQLITE_OK var pModule uintptr @@ -129104,7 +129124,7 @@ func Xsqlite3VtabBegin(tls *libc.TLS, db uintptr, pVTab uintptr) int32 { /* sqli // processing is abandoned and the error returned to the caller of this // function immediately. If all calls to virtual table methods are successful, // SQLITE_OK is returned. -func Xsqlite3VtabSavepoint(tls *libc.TLS, db uintptr, op int32, iSavepoint int32) int32 { /* sqlite3.c:146533:20: */ +func Xsqlite3VtabSavepoint(tls *libc.TLS, db uintptr, op int32, iSavepoint int32) int32 { /* sqlite3.c:146547:20: */ var rc int32 = SQLITE_OK if (*Sqlite3)(unsafe.Pointer(db)).FaVTrans != 0 { @@ -129152,7 +129172,7 @@ func Xsqlite3VtabSavepoint(tls *libc.TLS, db uintptr, op int32, iSavepoint int32 // Return either the pDef argument (indicating no change) or a // new FuncDef structure that is marked as ephemeral using the // SQLITE_FUNC_EPHEM flag. -func Xsqlite3VtabOverloadFunction(tls *libc.TLS, db uintptr, pDef uintptr, nArg int32, pExpr uintptr) uintptr { /* sqlite3.c:146581:24: */ +func Xsqlite3VtabOverloadFunction(tls *libc.TLS, db uintptr, pDef uintptr, nArg int32, pExpr uintptr) uintptr { /* sqlite3.c:146595:24: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -129219,7 +129239,7 @@ func Xsqlite3VtabOverloadFunction(tls *libc.TLS, db uintptr, pDef uintptr, nArg // array so that an OP_VBegin will get generated for it. Add pTab to the // array if it is missing. If pTab is already in the array, this routine // is a no-op. -func Xsqlite3VtabMakeWritable(tls *libc.TLS, pParse uintptr, pTab uintptr) { /* sqlite3.c:146651:21: */ +func Xsqlite3VtabMakeWritable(tls *libc.TLS, pParse uintptr, pTab uintptr) { /* sqlite3.c:146665:21: */ var pToplevel uintptr = func() uintptr { if (*Parse)(unsafe.Pointer(pParse)).FpToplevel != 0 { return (*Parse)(unsafe.Pointer(pParse)).FpToplevel @@ -129258,7 +129278,7 @@ func Xsqlite3VtabMakeWritable(tls *libc.TLS, pParse uintptr, pTab uintptr) { /* // // Any virtual table module for which xConnect and xCreate are the same // method can have an eponymous virtual table instance. -func Xsqlite3VtabEponymousTableInit(tls *libc.TLS, pParse uintptr, pMod uintptr) int32 { /* sqlite3.c:146685:20: */ +func Xsqlite3VtabEponymousTableInit(tls *libc.TLS, pParse uintptr, pMod uintptr) int32 { /* sqlite3.c:146699:20: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -129303,7 +129323,7 @@ func Xsqlite3VtabEponymousTableInit(tls *libc.TLS, pParse uintptr, pMod uintptr) // Erase the eponymous virtual table instance associated with // virtual table module pMod, if it exists. -func Xsqlite3VtabEponymousTableClear(tls *libc.TLS, db uintptr, pMod uintptr) { /* sqlite3.c:146723:21: */ +func Xsqlite3VtabEponymousTableClear(tls *libc.TLS, db uintptr, pMod uintptr) { /* sqlite3.c:146737:21: */ var pTab uintptr = (*Module)(unsafe.Pointer(pMod)).FpEpoTab if pTab != uintptr(0) { // Mark the table as Ephemeral prior to deleting it, so that the @@ -129320,19 +129340,19 @@ func Xsqlite3VtabEponymousTableClear(tls *libc.TLS, db uintptr, pMod uintptr) { // // The results of this routine are undefined unless it is called from // within an xUpdate method. -func Xsqlite3_vtab_on_conflict(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:146742:16: */ +func Xsqlite3_vtab_on_conflict(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:146756:16: */ return int32(aMap[int32((*Sqlite3)(unsafe.Pointer(db)).FvtabOnConflict)-1]) } var aMap = [5]uint8{ uint8(SQLITE_ROLLBACK), uint8(SQLITE_ABORT), uint8(SQLITE_FAIL), uint8(SQLITE_IGNORE), uint8(SQLITE_REPLACE), -} /* sqlite3.c:146743:30 */ +} /* sqlite3.c:146757:30 */ // Call from within the xCreate() or xConnect() methods to provide // the SQLite core with additional information about the behavior // of the virtual table being implemented. -func Xsqlite3_vtab_config(tls *libc.TLS, db uintptr, op int32, va uintptr) int32 { /* sqlite3.c:146760:16: */ +func Xsqlite3_vtab_config(tls *libc.TLS, db uintptr, op int32, va uintptr) int32 { /* sqlite3.c:146774:16: */ var ap Va_list _ = ap var rc int32 = SQLITE_OK @@ -129341,7 +129361,7 @@ func Xsqlite3_vtab_config(tls *libc.TLS, db uintptr, op int32, va uintptr) int32 Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) p = (*Sqlite3)(unsafe.Pointer(db)).FpVtabCtx if !(p != 0) { - rc = Xsqlite3MisuseError(tls, 146771) + rc = Xsqlite3MisuseError(tls, 146785) } else { ap = va @@ -129369,7 +129389,7 @@ func Xsqlite3_vtab_config(tls *libc.TLS, db uintptr, op int32, va uintptr) int32 fallthrough default: { - rc = Xsqlite3MisuseError(tls, 146789) + rc = Xsqlite3MisuseError(tls, 146803) break } @@ -129474,23 +129494,23 @@ type WhereClause1 = struct { // a separate source file for easier editing. // Forward references -type WhereClause = WhereClause1 /* sqlite3.c:146849:28 */ +type WhereClause = WhereClause1 /* sqlite3.c:146863:28 */ type WhereMaskSet1 = struct { FbVarSelect int32 Fn int32 Fix [64]int32 } /* sqlite3.c:14626:9 */ -type WhereMaskSet = WhereMaskSet1 /* sqlite3.c:146850:29 */ +type WhereMaskSet = WhereMaskSet1 /* sqlite3.c:146864:29 */ type WhereOrInfo1 = struct { Fwc WhereClause Findexable Bitmask -} /* sqlite3.c:146851:9 */ +} /* sqlite3.c:146865:9 */ -type WhereOrInfo = WhereOrInfo1 /* sqlite3.c:146851:28 */ -type WhereAndInfo1 = struct{ Fwc WhereClause } /* sqlite3.c:146852:9 */ +type WhereOrInfo = WhereOrInfo1 /* sqlite3.c:146865:28 */ +type WhereAndInfo1 = struct{ Fwc WhereClause } /* sqlite3.c:146866:9 */ -type WhereAndInfo = WhereAndInfo1 /* sqlite3.c:146852:29 */ +type WhereAndInfo = WhereAndInfo1 /* sqlite3.c:146866:29 */ type WhereLevel1 = struct { FiLeftJoin int32 FiTabCur int32 @@ -129520,7 +129540,7 @@ type WhereLevel1 = struct { FnotReady Bitmask } /* sqlite3.c:14626:9 */ -type WhereLevel = WhereLevel1 /* sqlite3.c:146853:27 */ +type WhereLevel = WhereLevel1 /* sqlite3.c:146867:27 */ type WhereLoop1 = struct { Fprereq Bitmask FmaskSelf Bitmask @@ -129550,7 +129570,7 @@ type WhereLoop1 = struct { F__ccgo_pad2 [4]byte } /* sqlite3.c:14626:9 */ -type WhereLoop = WhereLoop1 /* sqlite3.c:146854:26 */ +type WhereLoop = WhereLoop1 /* sqlite3.c:146868:26 */ type WherePath1 = struct { FmaskLoop Bitmask FrevLoop Bitmask @@ -129561,9 +129581,9 @@ type WherePath1 = struct { F__ccgo_pad1 [1]byte FaLoop uintptr F__ccgo_pad2 [4]byte -} /* sqlite3.c:146855:9 */ +} /* sqlite3.c:146869:9 */ -type WherePath = WherePath1 /* sqlite3.c:146855:26 */ +type WherePath = WherePath1 /* sqlite3.c:146869:26 */ type WhereTerm1 = struct { FpExpr uintptr FpWC uintptr @@ -129584,7 +129604,7 @@ type WhereTerm1 = struct { FprereqAll Bitmask } /* sqlite3.c:14626:9 */ -type WhereTerm = WhereTerm1 /* sqlite3.c:146856:26 */ +type WhereTerm = WhereTerm1 /* sqlite3.c:146870:26 */ type WhereLoopBuilder1 = struct { FpWInfo uintptr FpWC uintptr @@ -129596,9 +129616,9 @@ type WhereLoopBuilder1 = struct { FbldFlags2 uint8 F__ccgo_pad1 [2]byte FiPlanLimit uint32 -} /* sqlite3.c:146857:9 */ +} /* sqlite3.c:146871:9 */ -type WhereLoopBuilder = WhereLoopBuilder1 /* sqlite3.c:146857:33 */ +type WhereLoopBuilder = WhereLoopBuilder1 /* sqlite3.c:146871:33 */ type WhereScan1 = struct { FpOrigWC uintptr FpWC uintptr @@ -129613,24 +129633,24 @@ type WhereScan1 = struct { FaiCur [11]int32 FaiColumn [11]I16 F__ccgo_pad2 [2]byte -} /* sqlite3.c:146858:9 */ +} /* sqlite3.c:146872:9 */ -type WhereScan = WhereScan1 /* sqlite3.c:146858:26 */ +type WhereScan = WhereScan1 /* sqlite3.c:146872:26 */ type WhereOrCost1 = struct { Fprereq Bitmask FrRun LogEst FnOut LogEst F__ccgo_pad1 [4]byte -} /* sqlite3.c:146857:9 */ +} /* sqlite3.c:146871:9 */ -type WhereOrCost = WhereOrCost1 /* sqlite3.c:146859:28 */ +type WhereOrCost = WhereOrCost1 /* sqlite3.c:146873:28 */ type WhereOrSet1 = struct { Fn U16 F__ccgo_pad1 [6]byte Fa [3]WhereOrCost -} /* sqlite3.c:146857:9 */ +} /* sqlite3.c:146871:9 */ -type WhereOrSet = WhereOrSet1 /* sqlite3.c:146860:27 */ +type WhereOrSet = WhereOrSet1 /* sqlite3.c:146874:27 */ // This object contains information needed to implement a single nested // loop in WHERE clause. @@ -129652,7 +129672,7 @@ type InLoop = struct { FnPrefix int32 FeEndLoopOp U8 F__ccgo_pad1 [3]byte -} /* sqlite3.c:146900:7 */ +} /* sqlite3.c:146914:7 */ // Allowed values for WhereLoopBuider.bldFlags @@ -129700,7 +129720,7 @@ type WhereExprMod1 = struct { // of an index rather than an expression or a virtual column. All // such transformations need to be undone at the end of WHERE clause // processing. -type WhereExprMod = WhereExprMod1 /* sqlite3.c:147262:29 */ +type WhereExprMod = WhereExprMod1 /* sqlite3.c:147276:29 */ // Bitmasks for the operators on WhereTerm objects. These are all // operators that are of interest to the query planner. An @@ -129722,7 +129742,7 @@ type WhereExprMod = WhereExprMod1 /* sqlite3.c:147262:29 */ //************* Continuing where we left off in wherecode.c ***************** // Return the name of the i-th column of the pIdx index. -func explainIndexColumnName(tls *libc.TLS, pIdx uintptr, i int32) uintptr { /* sqlite3.c:147456:19: */ +func explainIndexColumnName(tls *libc.TLS, pIdx uintptr, i int32) uintptr { /* sqlite3.c:147470:19: */ i = int32(*(*I16)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FaiColumn + uintptr(i)*2))) if i == -2 { return ts + 21374 /* "" */ @@ -129739,7 +129759,7 @@ func explainIndexColumnName(tls *libc.TLS, pIdx uintptr, i int32) uintptr { /* s // at a time. This routine adds a new term to the end of the expression. // Terms are separated by AND so add the "AND" text for second and subsequent // terms only. -func explainAppendTerm(tls *libc.TLS, pStr uintptr, pIdx uintptr, nTerm int32, iTerm int32, bAnd int32, zOp uintptr) { /* sqlite3.c:147471:13: */ +func explainAppendTerm(tls *libc.TLS, pStr uintptr, pIdx uintptr, nTerm int32, iTerm int32, bAnd int32, zOp uintptr) { /* sqlite3.c:147485:13: */ var i int32 if bAnd != 0 { @@ -129787,7 +129807,7 @@ func explainAppendTerm(tls *libc.TLS, pStr uintptr, pIdx uintptr, nTerm int32, i // string similar to: // // "a=? AND b>?" -func explainIndexRange(tls *libc.TLS, pStr uintptr, pLoop uintptr) { /* sqlite3.c:147515:13: */ +func explainIndexRange(tls *libc.TLS, pStr uintptr, pLoop uintptr) { /* sqlite3.c:147529:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -129832,7 +129852,7 @@ func explainIndexRange(tls *libc.TLS, pStr uintptr, pLoop uintptr) { /* sqlite3. // // If an OP_Explain opcode is added to the VM, its address is returned. // Otherwise, if no OP_Explain is coded, zero is returned. -func Xsqlite3WhereExplainOneScan(tls *libc.TLS, pParse uintptr, pTabList uintptr, pLevel uintptr, wctrlFlags U16) int32 { /* sqlite3.c:147549:20: */ +func Xsqlite3WhereExplainOneScan(tls *libc.TLS, pParse uintptr, pTabList uintptr, pLevel uintptr, wctrlFlags U16) int32 { /* sqlite3.c:147563:20: */ bp := tls.Alloc(188) defer tls.Free(188) @@ -129933,7 +129953,7 @@ func Xsqlite3WhereExplainOneScan(tls *libc.TLS, pParse uintptr, pTabList uintptr // // If an OP_Explain opcode is added to the VM, its address is returned. // Otherwise, if no OP_Explain is coded, zero is returned. -func Xsqlite3WhereExplainBloomFilter(tls *libc.TLS, pParse uintptr, pWInfo uintptr, pLevel uintptr) int32 { /* sqlite3.c:147661:20: */ +func Xsqlite3WhereExplainBloomFilter(tls *libc.TLS, pParse uintptr, pWInfo uintptr, pLevel uintptr) int32 { /* sqlite3.c:147675:20: */ bp := tls.Alloc(148) defer tls.Free(148) @@ -130016,7 +130036,7 @@ func Xsqlite3WhereExplainBloomFilter(tls *libc.TLS, pParse uintptr, pWInfo uintp // The TERM_LIKECOND marking indicates that the term should be coded inside // a conditional such that is only evaluated on the second pass of a // LIKE-optimization loop, when scanning BLOBs instead of strings. -func disableTerm(tls *libc.TLS, pLevel uintptr, pTerm uintptr) { /* sqlite3.c:147774:13: */ +func disableTerm(tls *libc.TLS, pLevel uintptr, pTerm uintptr) { /* sqlite3.c:147788:13: */ var nLoop int32 = 0 for int32((*WhereTerm)(unsafe.Pointer(pTerm)).FwtFlags)&TERM_CODED == 0 && @@ -130049,7 +130069,7 @@ func disableTerm(tls *libc.TLS, pLevel uintptr, pTerm uintptr) { /* sqlite3.c:14 // // This routine makes its own copy of zAff so that the caller is free // to modify zAff after this routine returns. -func codeApplyAffinity(tls *libc.TLS, pParse uintptr, base int32, n int32, zAff uintptr) { /* sqlite3.c:147812:13: */ +func codeApplyAffinity(tls *libc.TLS, pParse uintptr, base int32, n int32, zAff uintptr) { /* sqlite3.c:147826:13: */ var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe if zAff == uintptr(0) { @@ -130082,7 +130102,7 @@ func codeApplyAffinity(tls *libc.TLS, pParse uintptr, base int32, n int32, zAff // // * the comparison will be performed with no affinity, or // * the affinity change in zAff is guaranteed not to change the value. -func updateRangeAffinityStr(tls *libc.TLS, pRight uintptr, n int32, zAff uintptr) { /* sqlite3.c:147849:13: */ +func updateRangeAffinityStr(tls *libc.TLS, pRight uintptr, n int32, zAff uintptr) { /* sqlite3.c:147863:13: */ var i int32 for i = 0; i < n; i++ { var p uintptr = Xsqlite3VectorFieldSubexpr(tls, pRight, i) @@ -130120,7 +130140,7 @@ func updateRangeAffinityStr(tls *libc.TLS, pRight uintptr, n int32, zAff uintptr // The reduced pX is different from the original (obviously) and thus is // only used for indexing, to improve performance. The original unaltered // IN expression must also be run on each output row for correctness. -func removeUnindexableInClauseTerms(tls *libc.TLS, pParse uintptr, iEq int32, pLoop uintptr, pX uintptr) uintptr { /* sqlite3.c:147895:13: */ +func removeUnindexableInClauseTerms(tls *libc.TLS, pParse uintptr, iEq int32, pLoop uintptr, pX uintptr) uintptr { /* sqlite3.c:147909:13: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb var pNew uintptr pNew = Xsqlite3ExprDup(tls, db, pX, 0) @@ -130195,7 +130215,7 @@ func removeUnindexableInClauseTerms(tls *libc.TLS, pParse uintptr, iEq int32, pL // For a constraint of the form X=expr, the expression is evaluated in // straight-line code. For constraints of the form X IN (...) // this routine sets up a loop that will iterate over all values of X. -func codeEqualityTerm(tls *libc.TLS, pParse uintptr, pTerm uintptr, pLevel uintptr, iEq int32, bRev int32, iTarget int32) int32 { /* sqlite3.c:147984:12: */ +func codeEqualityTerm(tls *libc.TLS, pParse uintptr, pTerm uintptr, pLevel uintptr, iEq int32, bRev int32, iTarget int32) int32 { /* sqlite3.c:147998:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -130388,7 +130408,7 @@ func codeEqualityTerm(tls *libc.TLS, pParse uintptr, pTerm uintptr, pLevel uintp // no conversion should be attempted before using a t2.b value as part of // a key to search the index. Hence the first byte in the returned affinity // string in this example would be set to SQLITE_AFF_BLOB. -func codeAllEqualityTerms(tls *libc.TLS, pParse uintptr, pLevel uintptr, bRev int32, nExtraReg int32, pzAff uintptr) int32 { /* sqlite3.c:148180:12: */ +func codeAllEqualityTerms(tls *libc.TLS, pParse uintptr, pLevel uintptr, bRev int32, nExtraReg int32, pzAff uintptr) int32 { /* sqlite3.c:148194:12: */ var nEq U16 // The number of == or IN constraints to code var nSkip U16 // Number of left-most columns to skip var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe // The vm under construction @@ -130509,7 +130529,7 @@ func codeAllEqualityTerms(tls *libc.TLS, pParse uintptr, pLevel uintptr, bRev in // on. For each table column, if the column is the i'th column of the // index, then the corresponding array entry is set to (i+1). If the column // does not appear in the index at all, the array entry is set to 0. -func codeDeferredSeek(tls *libc.TLS, pWInfo uintptr, pIdx uintptr, iCur int32, iIdxCur int32) { /* sqlite3.c:148558:13: */ +func codeDeferredSeek(tls *libc.TLS, pWInfo uintptr, pIdx uintptr, iCur int32, iIdxCur int32) { /* sqlite3.c:148572:13: */ var pParse uintptr = (*WhereInfo)(unsafe.Pointer(pWInfo)).FpParse // Parse context var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe // Vdbe to generate code within @@ -130550,7 +130570,7 @@ func codeDeferredSeek(tls *libc.TLS, pWInfo uintptr, pIdx uintptr, iCur int32, i // If the expression is not a vector, then nReg must be passed 1. In // this case, generate code to evaluate the expression and leave the // result in register iReg. -func codeExprOrVector(tls *libc.TLS, pParse uintptr, p uintptr, iReg int32, nReg int32) { /* sqlite3.c:148602:13: */ +func codeExprOrVector(tls *libc.TLS, pParse uintptr, p uintptr, iReg int32, nReg int32) { /* sqlite3.c:148616:13: */ if p != 0 && Xsqlite3ExprIsVector(tls, p) != 0 { if (*Expr)(unsafe.Pointer(p)).Fflags&U32(EP_xIsSelect) != U32(0) { @@ -130578,10 +130598,10 @@ func codeExprOrVector(tls *libc.TLS, pParse uintptr, p uintptr, iReg int32, nReg // An instance of the IdxExprTrans object carries information about a // mapping from an expression on table columns into a column in an index // down through the Walker. -type IdxExprTrans = IdxExprTrans1 /* sqlite3.c:148642:3 */ +type IdxExprTrans = IdxExprTrans1 /* sqlite3.c:148656:3 */ // Preserve pExpr on the WhereETrans list of the WhereInfo. -func preserveExpr(tls *libc.TLS, pTrans uintptr, pExpr uintptr) { /* sqlite3.c:148647:13: */ +func preserveExpr(tls *libc.TLS, pTrans uintptr, pExpr uintptr) { /* sqlite3.c:148661:13: */ var pNew uintptr pNew = Xsqlite3DbMallocRaw(tls, (*IdxExprTrans)(unsafe.Pointer(pTrans)).Fdb, uint64(unsafe.Sizeof(WhereExprMod{}))) if pNew == uintptr(0) { @@ -130598,7 +130618,7 @@ func preserveExpr(tls *libc.TLS, pTrans uintptr, pExpr uintptr) { /* sqlite3.c:1 // // If pExpr matches, then transform it into a reference to the index column // that contains the value of pExpr. -func whereIndexExprTransNode(tls *libc.TLS, p uintptr, pExpr uintptr) int32 { /* sqlite3.c:148663:12: */ +func whereIndexExprTransNode(tls *libc.TLS, p uintptr, pExpr uintptr) int32 { /* sqlite3.c:148677:12: */ var pX uintptr = *(*uintptr)(unsafe.Pointer(p + 24)) if Xsqlite3ExprCompare(tls, uintptr(0), pExpr, (*IdxExprTrans)(unsafe.Pointer(pX)).FpIdxExpr, (*IdxExprTrans)(unsafe.Pointer(pX)).FiTabCur) == 0 { preserveExpr(tls, pX, pExpr) @@ -130618,7 +130638,7 @@ func whereIndexExprTransNode(tls *libc.TLS, p uintptr, pExpr uintptr) int32 { /* // A walker node callback that translates a column reference to a table // into a corresponding column reference of an index. -func whereIndexExprTransColumn(tls *libc.TLS, p uintptr, pExpr uintptr) int32 { /* sqlite3.c:148685:12: */ +func whereIndexExprTransColumn(tls *libc.TLS, p uintptr, pExpr uintptr) int32 { /* sqlite3.c:148699:12: */ if int32((*Expr)(unsafe.Pointer(pExpr)).Fop) == TK_COLUMN { var pX uintptr = *(*uintptr)(unsafe.Pointer(p + 24)) if (*Expr)(unsafe.Pointer(pExpr)).FiTable == (*IdxExprTrans)(unsafe.Pointer(pX)).FiTabCur && int32((*Expr)(unsafe.Pointer(pExpr)).FiColumn) == (*IdxExprTrans)(unsafe.Pointer(pX)).FiTabCol { @@ -130640,7 +130660,7 @@ func whereIndexExprTransColumn(tls *libc.TLS, p uintptr, pExpr uintptr) int32 { // 2019-10-24: Updated to also translate references to a VIRTUAL column in // the table into references to the corresponding (stored) column of the // index. -func whereIndexExprTrans(tls *libc.TLS, pIdx uintptr, iTabCur int32, iIdxCur int32, pWInfo uintptr) { /* sqlite3.c:148710:13: */ +func whereIndexExprTrans(tls *libc.TLS, pIdx uintptr, iTabCur int32, iIdxCur int32, pWInfo uintptr) { /* sqlite3.c:148724:13: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -130705,7 +130725,7 @@ func whereIndexExprTrans(tls *libc.TLS, pIdx uintptr, iTabCur int32, iIdxCur int // WHERE clause terms on the query, and if any of those terms must be // true because pTruth is true, then mark those WHERE clause terms as // coded. -func whereApplyPartialIndexConstraints(tls *libc.TLS, pTruth uintptr, iTabCur int32, pWC uintptr) { /* sqlite3.c:148774:13: */ +func whereApplyPartialIndexConstraints(tls *libc.TLS, pTruth uintptr, iTabCur int32, pWC uintptr) { /* sqlite3.c:148788:13: */ var i int32 var pTerm uintptr for int32((*Expr)(unsafe.Pointer(pTruth)).Fop) == TK_AND { @@ -130751,7 +130771,7 @@ __3: // WhereLevel.regFilter set. If an inner-loop Bloom filter is checked, // then clear the WhereLevel.regFilter value to prevent the Bloom filter // from being checked a second time when the inner loop is evaluated. -func filterPullDown(tls *libc.TLS, pParse uintptr, pWInfo uintptr, iLevel int32, addrNxt int32, notReady Bitmask) { /* sqlite3.c:148810:29: */ +func filterPullDown(tls *libc.TLS, pParse uintptr, pWInfo uintptr, iLevel int32, addrNxt int32, notReady Bitmask) { /* sqlite3.c:148824:29: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -130796,7 +130816,7 @@ func filterPullDown(tls *libc.TLS, pParse uintptr, pWInfo uintptr, iLevel int32, // Generate code for the start of the iLevel-th loop in the WHERE clause // implementation described by pWInfo. -func Xsqlite3WhereCodeOneLoopStart(tls *libc.TLS, pParse uintptr, v uintptr, pWInfo uintptr, iLevel int32, pLevel uintptr, notReady Bitmask) Bitmask { /* sqlite3.c:148858:24: */ +func Xsqlite3WhereCodeOneLoopStart(tls *libc.TLS, pParse uintptr, v uintptr, pWInfo uintptr, iLevel int32, pLevel uintptr, notReady Bitmask) Bitmask { /* sqlite3.c:148872:24: */ bp := tls.Alloc(72) defer tls.Free(72) @@ -132026,24 +132046,24 @@ var aStartOp = [8]U8{ U8(OP_SeekLT), // 5: (start_constraints && !startEq && bRev) U8(OP_SeekGE), // 6: (start_constraints && startEq && !bRev) U8(OP_SeekLE), // 7: (start_constraints && startEq && bRev) -} /* sqlite3.c:149238:21 */ +} /* sqlite3.c:149252:21 */ var aEndOp = [4]U8{ U8(OP_IdxGE), // 0: (end_constraints && !bRev && !endEq) U8(OP_IdxGT), // 1: (end_constraints && !bRev && endEq) U8(OP_IdxLE), // 2: (end_constraints && bRev && !endEq) U8(OP_IdxLT), // 3: (end_constraints && bRev && endEq) -} /* sqlite3.c:149248:21 */ -var aStep = [2]U8{U8(OP_Next), U8(OP_Prev)} /* sqlite3.c:149966:21 */ -var aStart = [2]U8{U8(OP_Rewind), U8(OP_Last)} /* sqlite3.c:149967:21 */ +} /* sqlite3.c:149262:21 */ +var aStep = [2]U8{U8(OP_Next), U8(OP_Prev)} /* sqlite3.c:149980:21 */ +var aStart = [2]U8{U8(OP_Rewind), U8(OP_Last)} /* sqlite3.c:149981:21 */ // Deallocate all memory associated with a WhereOrInfo object. -func whereOrInfoDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:150176:13: */ +func whereOrInfoDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:150190:13: */ Xsqlite3WhereClauseClear(tls, p) Xsqlite3DbFree(tls, db, p) } // Deallocate all memory associated with a WhereAndInfo object. -func whereAndInfoDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:150184:13: */ +func whereAndInfoDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:150198:13: */ Xsqlite3WhereClauseClear(tls, p) Xsqlite3DbFree(tls, db, p) } @@ -132065,7 +132085,7 @@ func whereAndInfoDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:150 // WhereTerms. All pointers to WhereTerms should be invalidated after // calling this routine. Such pointers may be reinitialized by referencing // the pWC->a[] array. -func whereClauseInsert(tls *libc.TLS, pWC uintptr, p uintptr, wtFlags U16) int32 { /* sqlite3.c:150208:12: */ +func whereClauseInsert(tls *libc.TLS, pWC uintptr, p uintptr, wtFlags U16) int32 { /* sqlite3.c:150222:12: */ var pTerm uintptr var idx int32 @@ -132107,14 +132127,14 @@ func whereClauseInsert(tls *libc.TLS, pWC uintptr, p uintptr, wtFlags U16) int32 // Return TRUE if the given operator is one of the operators that is // allowed for an indexable WHERE clause term. The allowed operators are // "=", "<", ">", "<=", ">=", "IN", "IS", and "IS NULL" -func allowedOp(tls *libc.TLS, op int32) int32 { /* sqlite3.c:150250:12: */ +func allowedOp(tls *libc.TLS, op int32) int32 { /* sqlite3.c:150264:12: */ return libc.Bool32(op == TK_IN || op >= TK_EQ && op <= TK_GE || op == TK_ISNULL || op == TK_IS) } // Commute a comparison operator. Expressions of the form "X op Y" // are converted into "Y op X". -func exprCommute(tls *libc.TLS, pParse uintptr, pExpr uintptr) U16 { /* sqlite3.c:150262:12: */ +func exprCommute(tls *libc.TLS, pParse uintptr, pExpr uintptr) U16 { /* sqlite3.c:150276:12: */ if int32((*Expr)(unsafe.Pointer((*Expr)(unsafe.Pointer(pExpr)).FpLeft)).Fop) == TK_VECTOR || int32((*Expr)(unsafe.Pointer((*Expr)(unsafe.Pointer(pExpr)).FpRight)).Fop) == TK_VECTOR || Xsqlite3BinaryCompareCollSeq(tls, pParse, (*Expr)(unsafe.Pointer(pExpr)).FpLeft, (*Expr)(unsafe.Pointer(pExpr)).FpRight) != Xsqlite3BinaryCompareCollSeq(tls, pParse, (*Expr)(unsafe.Pointer(pExpr)).FpRight, (*Expr)(unsafe.Pointer(pExpr)).FpLeft) { @@ -132134,7 +132154,7 @@ func exprCommute(tls *libc.TLS, pParse uintptr, pExpr uintptr) U16 { /* sqlite3. } // Translate from TK_xx operator to WO_xx bitmask. -func operatorMask(tls *libc.TLS, op int32) U16 { /* sqlite3.c:150285:12: */ +func operatorMask(tls *libc.TLS, op int32) U16 { /* sqlite3.c:150299:12: */ var c U16 if op == TK_IN { @@ -132161,7 +132181,7 @@ func operatorMask(tls *libc.TLS, op int32) U16 { /* sqlite3.c:150285:12: */ // that virtual tables cannot participate in the LIKE optimization.) The // collating sequence for the column on the LHS must be appropriate for // the operator. -func isLikeOrGlob(tls *libc.TLS, pParse uintptr, pExpr uintptr, ppPrefix uintptr, pisComplete uintptr, pnoCase uintptr) int32 { /* sqlite3.c:150323:12: */ +func isLikeOrGlob(tls *libc.TLS, pParse uintptr, pExpr uintptr, ppPrefix uintptr, pisComplete uintptr, pnoCase uintptr) int32 { /* sqlite3.c:150337:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -132333,7 +132353,7 @@ func isLikeOrGlob(tls *libc.TLS, pParse uintptr, pExpr uintptr, ppPrefix uintptr // of virtual table in forms (5) or (7) then return 2. // // If the expression matches none of the patterns above, return 0. -func isAuxiliaryVtabOperator(tls *libc.TLS, db uintptr, pExpr uintptr, peOp2 uintptr, ppLeft uintptr, ppRight uintptr) int32 { /* sqlite3.c:150502:12: */ +func isAuxiliaryVtabOperator(tls *libc.TLS, db uintptr, pExpr uintptr, peOp2 uintptr, ppLeft uintptr, ppRight uintptr) int32 { /* sqlite3.c:150516:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -132438,18 +132458,18 @@ type Op2 = struct { FzOp uintptr FeOp2 uint8 F__ccgo_pad1 [3]byte -} /* sqlite3.c:150510:18 */ +} /* sqlite3.c:150524:18 */ var aOp = [4]Op2{ {FzOp: ts + 16023, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_MATCH)}, {FzOp: ts + 15345, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_GLOB)}, {FzOp: ts + 14871, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_LIKE)}, {FzOp: ts + 21646, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_REGEXP)}, -} /* sqlite3.c:150513:7 */ +} /* sqlite3.c:150527:7 */ // If the pBase expression originated in the ON or USING clause of // a join, then transfer the appropriate markings over to derived. -func transferJoinMarkings(tls *libc.TLS, pDerived uintptr, pBase uintptr) { /* sqlite3.c:150614:13: */ +func transferJoinMarkings(tls *libc.TLS, pDerived uintptr, pBase uintptr) { /* sqlite3.c:150628:13: */ if pDerived != 0 { *(*U32)(unsafe.Pointer(pDerived + 4)) |= (*Expr)(unsafe.Pointer(pBase)).Fflags & U32(EP_FromJoin) *(*int32)(unsafe.Pointer(pDerived + 36)) = *(*int32)(unsafe.Pointer(pBase + 36)) @@ -132457,7 +132477,7 @@ func transferJoinMarkings(tls *libc.TLS, pDerived uintptr, pBase uintptr) { /* s } // Mark term iChild as being a child of term iParent -func markTermAsChild(tls *libc.TLS, pWC uintptr, iChild int32, iParent int32) { /* sqlite3.c:150624:13: */ +func markTermAsChild(tls *libc.TLS, pWC uintptr, iChild int32, iParent int32) { /* sqlite3.c:150638:13: */ (*WhereTerm)(unsafe.Pointer((*WhereClause)(unsafe.Pointer(pWC)).Fa + uintptr(iChild)*48)).FiParent = iParent (*WhereTerm)(unsafe.Pointer((*WhereClause)(unsafe.Pointer(pWC)).Fa + uintptr(iChild)*48)).FtruthProb = (*WhereTerm)(unsafe.Pointer((*WhereClause)(unsafe.Pointer(pWC)).Fa + uintptr(iParent)*48)).FtruthProb (*WhereTerm)(unsafe.Pointer((*WhereClause)(unsafe.Pointer(pWC)).Fa+uintptr(iParent)*48)).FnChild++ @@ -132466,7 +132486,7 @@ func markTermAsChild(tls *libc.TLS, pWC uintptr, iChild int32, iParent int32) { // Return the N-th AND-connected subterm of pTerm. Or if pTerm is not // a conjunction, then return just pTerm when N==0. If N is exceeds // the number of available subterms, return NULL. -func whereNthSubterm(tls *libc.TLS, pTerm uintptr, N int32) uintptr { /* sqlite3.c:150635:18: */ +func whereNthSubterm(tls *libc.TLS, pTerm uintptr, N int32) uintptr { /* sqlite3.c:150649:18: */ if int32((*WhereTerm)(unsafe.Pointer(pTerm)).FeOperator) != WO_AND { if N == 0 { return pTerm @@ -132497,7 +132517,7 @@ func whereNthSubterm(tls *libc.TLS, pTerm uintptr, N int32) uintptr { /* sqlite3 // The following is NOT generated: // // xy --> x!=y -func whereCombineDisjuncts(tls *libc.TLS, pSrc uintptr, pWC uintptr, pOne uintptr, pTwo uintptr) { /* sqlite3.c:150665:13: */ +func whereCombineDisjuncts(tls *libc.TLS, pSrc uintptr, pWC uintptr, pOne uintptr, pTwo uintptr) { /* sqlite3.c:150679:13: */ var eOp U16 = U16(int32((*WhereTerm)(unsafe.Pointer(pOne)).FeOperator) | int32((*WhereTerm)(unsafe.Pointer(pTwo)).FeOperator)) var db uintptr // Database connection (for malloc) var pNew uintptr // New virtual expression @@ -132630,7 +132650,7 @@ func whereCombineDisjuncts(tls *libc.TLS, pSrc uintptr, pWC uintptr, pOne uintpt // // If none of cases 1, 2, or 3 apply, then leave the eOperator set to // zero. This term is not useful for search. -func exprAnalyzeOrTerm(tls *libc.TLS, pSrc uintptr, pWC uintptr, idxTerm int32) { /* sqlite3.c:150792:13: */ +func exprAnalyzeOrTerm(tls *libc.TLS, pSrc uintptr, pWC uintptr, idxTerm int32) { /* sqlite3.c:150806:13: */ var pWInfo uintptr = (*WhereClause)(unsafe.Pointer(pWC)).FpWInfo // WHERE clause processing context var pParse uintptr = (*WhereInfo)(unsafe.Pointer(pWInfo)).FpParse // Parser context var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb // Database connection @@ -132949,7 +132969,7 @@ __3: // for the LHS anyplace else in the WHERE clause where the LHS column occurs. // This is an optimization. No harm comes from returning 0. But if 1 is // returned when it should not be, then incorrect answers might result. -func termIsEquivalence(tls *libc.TLS, pParse uintptr, pExpr uintptr) int32 { /* sqlite3.c:151066:12: */ +func termIsEquivalence(tls *libc.TLS, pParse uintptr, pExpr uintptr) int32 { /* sqlite3.c:151080:12: */ var aff1 uint8 var aff2 uint8 var pColl uintptr @@ -132978,7 +132998,7 @@ func termIsEquivalence(tls *libc.TLS, pParse uintptr, pExpr uintptr) int32 { /* // Recursively walk the expressions of a SELECT statement and generate // a bitmask indicating which tables are used in that expression // tree. -func exprSelectUsage(tls *libc.TLS, pMaskSet uintptr, pS uintptr) Bitmask { /* sqlite3.c:151089:16: */ +func exprSelectUsage(tls *libc.TLS, pMaskSet uintptr, pS uintptr) Bitmask { /* sqlite3.c:151103:16: */ var mask Bitmask = uint64(0) for pS != 0 { var pSrc uintptr = (*Select)(unsafe.Pointer(pS)).FpSrc @@ -133013,7 +133033,7 @@ func exprSelectUsage(tls *libc.TLS, pMaskSet uintptr, pS uintptr) Bitmask { /* s // If pExpr is a TK_COLUMN column reference, then this routine always returns // true even if that particular column is not indexed, because the column // might be added to an automatic index later. -func exprMightBeIndexed2(tls *libc.TLS, pFrom uintptr, mPrereq Bitmask, aiCurCol uintptr, pExpr uintptr) int32 { /* sqlite3.c:151126:28: */ +func exprMightBeIndexed2(tls *libc.TLS, pFrom uintptr, mPrereq Bitmask, aiCurCol uintptr, pExpr uintptr) int32 { /* sqlite3.c:151140:28: */ var pIdx uintptr var i int32 var iCur int32 @@ -133051,7 +133071,7 @@ __3: return 0 } -func exprMightBeIndexed(tls *libc.TLS, pFrom uintptr, mPrereq Bitmask, aiCurCol uintptr, pExpr uintptr, op int32) int32 { /* sqlite3.c:151150:12: */ +func exprMightBeIndexed(tls *libc.TLS, pFrom uintptr, mPrereq Bitmask, aiCurCol uintptr, pExpr uintptr, op int32) int32 { /* sqlite3.c:151164:12: */ // If this expression is a vector to the left or right of a // inequality constraint (>, <, >= or <=), perform the processing // on the first element of the vector. @@ -133092,7 +133112,7 @@ func exprMightBeIndexed(tls *libc.TLS, pFrom uintptr, mPrereq Bitmask, aiCurCol // needs to be freed with the WhereClause) and TERM_VIRTUAL (because it // is a commuted copy of a prior term.) The original term has nChild=1 // and the copy has idxParent set to the index of the original term. -func exprAnalyze(tls *libc.TLS, pSrc uintptr, pWC uintptr, idxTerm int32) { /* sqlite3.c:151198:13: */ +func exprAnalyze(tls *libc.TLS, pSrc uintptr, pWC uintptr, idxTerm int32) { /* sqlite3.c:151212:13: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -133460,7 +133480,7 @@ func exprAnalyze(tls *libc.TLS, pSrc uintptr, pWC uintptr, idxTerm int32) { /* s *(*Bitmask)(unsafe.Pointer(pTerm + 32)) |= extraRight } -var ops = [2]U8{U8(TK_GE), U8(TK_LE)} /* sqlite3.c:151367:21 */ +var ops = [2]U8{U8(TK_GE), U8(TK_LE)} /* sqlite3.c:151381:21 */ // ************************************************************************** // @@ -133483,7 +133503,7 @@ var ops = [2]U8{U8(TK_GE), U8(TK_LE)} /* sqlite3.c:151367:21 */ // In the previous sentence and in the diagram, "slot[]" refers to // the WhereClause.a[] array. The slot[] array grows as needed to contain // all terms of the WHERE clause. -func Xsqlite3WhereSplit(tls *libc.TLS, pWC uintptr, pExpr uintptr, op U8) { /* sqlite3.c:151663:21: */ +func Xsqlite3WhereSplit(tls *libc.TLS, pWC uintptr, pExpr uintptr, op U8) { /* sqlite3.c:151677:21: */ var pE2 uintptr = Xsqlite3ExprSkipCollateAndLikely(tls, pExpr) (*WhereClause)(unsafe.Pointer(pWC)).Fop = op @@ -133507,7 +133527,7 @@ func Xsqlite3WhereSplit(tls *libc.TLS, pWC uintptr, pExpr uintptr, op U8) { /* s // (example: "LIMIT 5 OFFSET 10") then the expression codes as a // TK_INTEGER so that it will be available to sqlite3_vtab_rhs_value(). // If not, then it codes as a TK_REGISTER expression. -func whereAddLimitExpr(tls *libc.TLS, pWC uintptr, iReg int32, pExpr uintptr, iCsr int32, eMatchOp int32) { /* sqlite3.c:151687:13: */ +func whereAddLimitExpr(tls *libc.TLS, pWC uintptr, iReg int32, pExpr uintptr, iCsr int32, eMatchOp int32) { /* sqlite3.c:151701:13: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -133559,7 +133579,7 @@ func whereAddLimitExpr(tls *libc.TLS, pWC uintptr, iReg int32, pExpr uintptr, iC // LIMIT and OFFSET terms are ignored by most of the planner code. They // exist only so that they may be passed to the xBestIndex method of the // single virtual table in the FROM clause of the SELECT. -func Xsqlite3WhereAddLimit(tls *libc.TLS, pWC uintptr, p uintptr) { /* sqlite3.c:151740:21: */ +func Xsqlite3WhereAddLimit(tls *libc.TLS, pWC uintptr, p uintptr) { /* sqlite3.c:151754:21: */ if p != 0 && (*Select)(unsafe.Pointer(p)).FpLimit != 0 && (*Select)(unsafe.Pointer(p)).FselFlags&U32(SF_Distinct|SF_Aggregate) == U32(0) && @@ -133609,7 +133629,7 @@ func Xsqlite3WhereAddLimit(tls *libc.TLS, pWC uintptr, p uintptr) { /* sqlite3.c } // Initialize a preallocated WhereClause structure. -func Xsqlite3WhereClauseInit(tls *libc.TLS, pWC uintptr, pWInfo uintptr) { /* sqlite3.c:151786:21: */ +func Xsqlite3WhereClauseInit(tls *libc.TLS, pWC uintptr, pWInfo uintptr) { /* sqlite3.c:151800:21: */ (*WhereClause)(unsafe.Pointer(pWC)).FpWInfo = pWInfo (*WhereClause)(unsafe.Pointer(pWC)).FhasOr = U8(0) (*WhereClause)(unsafe.Pointer(pWC)).FpOuter = uintptr(0) @@ -133622,7 +133642,7 @@ func Xsqlite3WhereClauseInit(tls *libc.TLS, pWC uintptr, pWInfo uintptr) { /* sq // Deallocate a WhereClause structure. The WhereClause structure // itself is not freed. This routine is the inverse of // sqlite3WhereClauseInit(). -func Xsqlite3WhereClauseClear(tls *libc.TLS, pWC uintptr) { /* sqlite3.c:151804:21: */ +func Xsqlite3WhereClauseClear(tls *libc.TLS, pWC uintptr) { /* sqlite3.c:151818:21: */ var db uintptr = (*Parse)(unsafe.Pointer((*WhereInfo)(unsafe.Pointer((*WhereClause)(unsafe.Pointer(pWC)).FpWInfo)).FpParse)).Fdb if (*WhereClause)(unsafe.Pointer(pWC)).FnTerm > 0 { @@ -133682,7 +133702,7 @@ func Xsqlite3WhereClauseClear(tls *libc.TLS, pWC uintptr) { /* sqlite3.c:151804: // computations done by this routine are broken out into a separate // "no-inline" function to avoid the stack push overhead in the // common case where it is not needed. -func sqlite3WhereExprUsageFull(tls *libc.TLS, pMaskSet uintptr, p uintptr) Bitmask { /* sqlite3.c:151872:32: */ +func sqlite3WhereExprUsageFull(tls *libc.TLS, pMaskSet uintptr, p uintptr) Bitmask { /* sqlite3.c:151886:32: */ var mask Bitmask if int32((*Expr)(unsafe.Pointer(p)).Fop) == TK_IF_NULL_ROW { mask = Xsqlite3WhereGetMask(tls, pMaskSet, (*Expr)(unsafe.Pointer(p)).FiTable) @@ -133712,7 +133732,7 @@ func sqlite3WhereExprUsageFull(tls *libc.TLS, pMaskSet uintptr, p uintptr) Bitma return mask } -func Xsqlite3WhereExprUsageNN(tls *libc.TLS, pMaskSet uintptr, p uintptr) Bitmask { /* sqlite3.c:151898:24: */ +func Xsqlite3WhereExprUsageNN(tls *libc.TLS, pMaskSet uintptr, p uintptr) Bitmask { /* sqlite3.c:151912:24: */ if int32((*Expr)(unsafe.Pointer(p)).Fop) == TK_COLUMN && !((*Expr)(unsafe.Pointer(p)).Fflags&U32(EP_FixedCol) != U32(0)) { return Xsqlite3WhereGetMask(tls, pMaskSet, (*Expr)(unsafe.Pointer(p)).FiTable) } else if (*Expr)(unsafe.Pointer(p)).Fflags&U32(EP_TokenOnly|EP_Leaf) != U32(0) { @@ -133722,14 +133742,14 @@ func Xsqlite3WhereExprUsageNN(tls *libc.TLS, pMaskSet uintptr, p uintptr) Bitmas return sqlite3WhereExprUsageFull(tls, pMaskSet, p) } -func Xsqlite3WhereExprUsage(tls *libc.TLS, pMaskSet uintptr, p uintptr) Bitmask { /* sqlite3.c:151907:24: */ +func Xsqlite3WhereExprUsage(tls *libc.TLS, pMaskSet uintptr, p uintptr) Bitmask { /* sqlite3.c:151921:24: */ if p != 0 { return Xsqlite3WhereExprUsageNN(tls, pMaskSet, p) } return uint64(0) } -func Xsqlite3WhereExprListUsage(tls *libc.TLS, pMaskSet uintptr, pList uintptr) Bitmask { /* sqlite3.c:151910:24: */ +func Xsqlite3WhereExprListUsage(tls *libc.TLS, pMaskSet uintptr, pList uintptr) Bitmask { /* sqlite3.c:151924:24: */ var i int32 var mask Bitmask = uint64(0) if pList != 0 { @@ -133746,7 +133766,7 @@ func Xsqlite3WhereExprListUsage(tls *libc.TLS, pMaskSet uintptr, pList uintptr) // end of the WHERE clause. We do not want to analyze these new // virtual terms, so start analyzing at the end and work forward // so that the added virtual terms are never processed. -func Xsqlite3WhereExprAnalyze(tls *libc.TLS, pTabList uintptr, pWC uintptr) { /* sqlite3.c:151930:21: */ +func Xsqlite3WhereExprAnalyze(tls *libc.TLS, pTabList uintptr, pWC uintptr) { /* sqlite3.c:151944:21: */ var i int32 for i = (*WhereClause)(unsafe.Pointer(pWC)).FnTerm - 1; i >= 0; i-- { exprAnalyze(tls, pTabList, pWC, i) @@ -133758,7 +133778,7 @@ func Xsqlite3WhereExprAnalyze(tls *libc.TLS, pTabList uintptr, pWC uintptr) { /* // // Each function argument translates into an equality constraint against // a HIDDEN column in the table. -func Xsqlite3WhereTabFuncArgs(tls *libc.TLS, pParse uintptr, pItem uintptr, pWC uintptr) { /* sqlite3.c:151947:21: */ +func Xsqlite3WhereTabFuncArgs(tls *libc.TLS, pParse uintptr, pItem uintptr, pWC uintptr) { /* sqlite3.c:151961:21: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -133841,7 +133861,7 @@ type HiddenIndexInfo1 = struct { FmIn U32 FmHandleIn U32 FaRhs [1]uintptr -} /* sqlite3.c:152019:9 */ +} /* sqlite3.c:152033:9 */ //************* End of whereexpr.c ****************************************** //************* Begin file where.c ****************************************** @@ -133871,16 +133891,16 @@ type HiddenIndexInfo1 = struct { // This object is not an API and can be changed from one release to the // next. As long as allocateIndexInfo() and sqlite3_vtab_collation() // agree on the structure, all will be well. -type HiddenIndexInfo = HiddenIndexInfo1 /* sqlite3.c:152019:32 */ +type HiddenIndexInfo = HiddenIndexInfo1 /* sqlite3.c:152033:32 */ // Return the estimated number of output rows from a WHERE clause -func Xsqlite3WhereOutputRowCount(tls *libc.TLS, pWInfo uintptr) LogEst { /* sqlite3.c:152037:23: */ +func Xsqlite3WhereOutputRowCount(tls *libc.TLS, pWInfo uintptr) LogEst { /* sqlite3.c:152051:23: */ return (*WhereInfo)(unsafe.Pointer(pWInfo)).FnRowOut } // Return one of the WHERE_DISTINCT_xxxxx values to indicate how this // WHERE clause returns outputs for DISTINCT processing. -func Xsqlite3WhereIsDistinct(tls *libc.TLS, pWInfo uintptr) int32 { /* sqlite3.c:152045:20: */ +func Xsqlite3WhereIsDistinct(tls *libc.TLS, pWInfo uintptr) int32 { /* sqlite3.c:152059:20: */ return int32((*WhereInfo)(unsafe.Pointer(pWInfo)).FeDistinct) } @@ -133890,7 +133910,7 @@ func Xsqlite3WhereIsDistinct(tls *libc.TLS, pWInfo uintptr) int32 { /* sqlite3.c // terms means that no sorting is needed at all. A return that // is positive but less than the number of ORDER BY terms means that // block sorting is required. -func Xsqlite3WhereIsOrdered(tls *libc.TLS, pWInfo uintptr) int32 { /* sqlite3.c:152057:20: */ +func Xsqlite3WhereIsOrdered(tls *libc.TLS, pWInfo uintptr) int32 { /* sqlite3.c:152071:20: */ return int32((*WhereInfo)(unsafe.Pointer(pWInfo)).FnOBSat) } @@ -133915,7 +133935,7 @@ func Xsqlite3WhereIsOrdered(tls *libc.TLS, pWInfo uintptr) int32 { /* sqlite3.c: // Returning the continuation the second inner loop is an optimization // that might make the code run a little faster, but should not change // the final answer. -func Xsqlite3WhereOrderByLimitOptLabel(tls *libc.TLS, pWInfo uintptr) int32 { /* sqlite3.c:152084:20: */ +func Xsqlite3WhereOrderByLimitOptLabel(tls *libc.TLS, pWInfo uintptr) int32 { /* sqlite3.c:152098:20: */ var pInner uintptr if !(int32(*(*uint8)(unsafe.Pointer(pWInfo + 52))&0x4>>2) != 0) { // The ORDER BY LIMIT optimization does not apply. Jump to the @@ -133936,7 +133956,7 @@ func Xsqlite3WhereOrderByLimitOptLabel(tls *libc.TLS, pWInfo uintptr) int32 { /* // Any extra OP_Goto that is coded here is an optimization. The // correct answer should be obtained regardless. This OP_Goto just // makes the answer appear faster. -func Xsqlite3WhereMinMaxOptEarlyOut(tls *libc.TLS, v uintptr, pWInfo uintptr) { /* sqlite3.c:152107:21: */ +func Xsqlite3WhereMinMaxOptEarlyOut(tls *libc.TLS, v uintptr, pWInfo uintptr) { /* sqlite3.c:152121:21: */ var pInner uintptr var i int32 if !(int32(*(*uint8)(unsafe.Pointer(pWInfo + 52))&0x4>>2) != 0) { @@ -133957,14 +133977,14 @@ func Xsqlite3WhereMinMaxOptEarlyOut(tls *libc.TLS, v uintptr, pWInfo uintptr) { // Return the VDBE address or label to jump to in order to continue // immediately with the next row of a WHERE clause. -func Xsqlite3WhereContinueLabel(tls *libc.TLS, pWInfo uintptr) int32 { /* sqlite3.c:152126:20: */ +func Xsqlite3WhereContinueLabel(tls *libc.TLS, pWInfo uintptr) int32 { /* sqlite3.c:152140:20: */ return (*WhereInfo)(unsafe.Pointer(pWInfo)).FiContinue } // Return the VDBE address or label to jump to in order to break // out of a WHERE loop. -func Xsqlite3WhereBreakLabel(tls *libc.TLS, pWInfo uintptr) int32 { /* sqlite3.c:152135:20: */ +func Xsqlite3WhereBreakLabel(tls *libc.TLS, pWInfo uintptr) int32 { /* sqlite3.c:152149:20: */ return (*WhereInfo)(unsafe.Pointer(pWInfo)).FiBreak } @@ -133983,19 +134003,19 @@ func Xsqlite3WhereBreakLabel(tls *libc.TLS, pWInfo uintptr) int32 { /* sqlite3.c // // aiCur[0] and aiCur[1] both get -1 if the where-clause logic is // unable to use the ONEPASS optimization. -func Xsqlite3WhereOkOnePass(tls *libc.TLS, pWInfo uintptr, aiCur uintptr) int32 { /* sqlite3.c:152156:20: */ +func Xsqlite3WhereOkOnePass(tls *libc.TLS, pWInfo uintptr, aiCur uintptr) int32 { /* sqlite3.c:152170:20: */ libc.Xmemcpy(tls, aiCur, pWInfo+24, uint32(unsafe.Sizeof(int32(0)))*uint32(2)) return int32((*WhereInfo)(unsafe.Pointer(pWInfo)).FeOnePass) } // Return TRUE if the WHERE loop uses the OP_DeferredSeek opcode to move // the data cursor to the row selected by the index cursor. -func Xsqlite3WhereUsesDeferredSeek(tls *libc.TLS, pWInfo uintptr) int32 { /* sqlite3.c:152172:20: */ +func Xsqlite3WhereUsesDeferredSeek(tls *libc.TLS, pWInfo uintptr) int32 { /* sqlite3.c:152186:20: */ return int32(*(*uint8)(unsafe.Pointer(pWInfo + 52)) & 0x1 >> 0) } // Move the content of pSrc into pDest -func whereOrMove(tls *libc.TLS, pDest uintptr, pSrc uintptr) { /* sqlite3.c:152179:13: */ +func whereOrMove(tls *libc.TLS, pDest uintptr, pSrc uintptr) { /* sqlite3.c:152193:13: */ (*WhereOrSet)(unsafe.Pointer(pDest)).Fn = (*WhereOrSet)(unsafe.Pointer(pSrc)).Fn libc.Xmemcpy(tls, pDest+8, pSrc+8, uint32((*WhereOrSet)(unsafe.Pointer(pDest)).Fn)*uint32(unsafe.Sizeof(WhereOrCost{}))) } @@ -134005,7 +134025,7 @@ func whereOrMove(tls *libc.TLS, pDest uintptr, pSrc uintptr) { /* sqlite3.c:1521 // The new entry might overwrite an existing entry, or it might be // appended, or it might be discarded. Do whatever is the right thing // so that pSet keeps the N_OR_COST best entries seen so far. -func whereOrInsert(tls *libc.TLS, pSet uintptr, prereq Bitmask, rRun LogEst, nOut LogEst) int32 { /* sqlite3.c:152191:12: */ +func whereOrInsert(tls *libc.TLS, pSet uintptr, prereq Bitmask, rRun LogEst, nOut LogEst) int32 { /* sqlite3.c:152205:12: */ var i U16 var p uintptr i = (*WhereOrSet)(unsafe.Pointer(pSet)).Fn @@ -134082,7 +134102,7 @@ __13: // Return the bitmask for the given cursor number. Return 0 if // iCursor is not in the set. -func Xsqlite3WhereGetMask(tls *libc.TLS, pMaskSet uintptr, iCursor int32) Bitmask { /* sqlite3.c:152228:24: */ +func Xsqlite3WhereGetMask(tls *libc.TLS, pMaskSet uintptr, iCursor int32) Bitmask { /* sqlite3.c:152242:24: */ var i int32 if *(*int32)(unsafe.Pointer(pMaskSet + 8)) == iCursor { @@ -134102,14 +134122,14 @@ func Xsqlite3WhereGetMask(tls *libc.TLS, pMaskSet uintptr, iCursor int32) Bitmas // tables in the FROM clause is limited by a test early in the // sqlite3WhereBegin() routine. So we know that the pMaskSet->ix[] // array will never overflow. -func createMask(tls *libc.TLS, pMaskSet uintptr, iCursor int32) { /* sqlite3.c:152252:13: */ +func createMask(tls *libc.TLS, pMaskSet uintptr, iCursor int32) { /* sqlite3.c:152266:13: */ *(*int32)(unsafe.Pointer(pMaskSet + 8 + uintptr(libc.PostIncInt32(&(*WhereMaskSet)(unsafe.Pointer(pMaskSet)).Fn, 1))*4)) = iCursor } // If the right-hand branch of the expression is a TK_COLUMN, then return // a pointer to the right-hand branch. Otherwise, return NULL. -func whereRightSubexprIsColumn(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:152261:13: */ +func whereRightSubexprIsColumn(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:152275:13: */ p = Xsqlite3ExprSkipCollateAndLikely(tls, (*Expr)(unsafe.Pointer(p)).FpRight) if p != uintptr(0) && int32((*Expr)(unsafe.Pointer(p)).Fop) == TK_COLUMN && !((*Expr)(unsafe.Pointer(p)).Fflags&U32(EP_FixedCol) != U32(0)) { return p @@ -134120,7 +134140,7 @@ func whereRightSubexprIsColumn(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c: // Advance to the next WhereTerm that matches according to the criteria // established when the pScan object was initialized by whereScanInit(). // Return NULL if there are no more matching WhereTerms. -func whereScanNext(tls *libc.TLS, pScan uintptr) uintptr { /* sqlite3.c:152274:18: */ +func whereScanNext(tls *libc.TLS, pScan uintptr) uintptr { /* sqlite3.c:152288:18: */ var iCur int32 // The cursor on the LHS of the term var iColumn I16 // The column on the LHS of the term. -1 for IPK var pX uintptr // An expression being tested @@ -134224,7 +134244,7 @@ func whereScanNext(tls *libc.TLS, pScan uintptr) uintptr { /* sqlite3.c:152274:1 // It is factored out into a separate tail-recursion subroutine so that // the normal whereScanInit() routine, which is a high-runner, does not // need to push registers onto the stack as part of its prologue. -func whereScanInitIndexExpr(tls *libc.TLS, pScan uintptr) uintptr { /* sqlite3.c:152376:34: */ +func whereScanInitIndexExpr(tls *libc.TLS, pScan uintptr) uintptr { /* sqlite3.c:152390:34: */ (*WhereScan)(unsafe.Pointer(pScan)).Fidxaff = Xsqlite3ExprAffinity(tls, (*WhereScan)(unsafe.Pointer(pScan)).FpIdxExpr) return whereScanNext(tls, pScan) } @@ -134246,7 +134266,7 @@ func whereScanInitIndexExpr(tls *libc.TLS, pScan uintptr) uintptr { /* sqlite3.c // // If X is not the INTEGER PRIMARY KEY then X must be compatible with // index pIdx. -func whereScanInit(tls *libc.TLS, pScan uintptr, pWC uintptr, iCur int32, iColumn int32, opMask U32, pIdx uintptr) uintptr { /* sqlite3.c:152400:18: */ +func whereScanInit(tls *libc.TLS, pScan uintptr, pWC uintptr, iCur int32, iColumn int32, opMask U32, pIdx uintptr) uintptr { /* sqlite3.c:152414:18: */ (*WhereScan)(unsafe.Pointer(pScan)).FpOrigWC = pWC (*WhereScan)(unsafe.Pointer(pScan)).FpWC = pWC (*WhereScan)(unsafe.Pointer(pScan)).FpIdxExpr = uintptr(0) @@ -134301,7 +134321,7 @@ func whereScanInit(tls *libc.TLS, pScan uintptr, pWC uintptr, iCur int32, iColum // the form "X Y" where Y is a column in another table if no terms of // the form "X " exist. If no terms with a constant RHS // exist, try to return a term that does not use WO_EQUIV. -func Xsqlite3WhereFindTerm(tls *libc.TLS, pWC uintptr, iCur int32, iColumn int32, notReady Bitmask, op U32, pIdx uintptr) uintptr { /* sqlite3.c:152464:26: */ +func Xsqlite3WhereFindTerm(tls *libc.TLS, pWC uintptr, iCur int32, iColumn int32, notReady Bitmask, op U32, pIdx uintptr) uintptr { /* sqlite3.c:152478:26: */ bp := tls.Alloc(96) defer tls.Free(96) @@ -134331,7 +134351,7 @@ func Xsqlite3WhereFindTerm(tls *libc.TLS, pWC uintptr, iCur int32, iColumn int32 // // If such an expression is found, its index in pList->a[] is returned. If // no expression is found, -1 is returned. -func findIndexCol(tls *libc.TLS, pParse uintptr, pList uintptr, iBase int32, pIdx uintptr, iCol int32) int32 { /* sqlite3.c:152498:12: */ +func findIndexCol(tls *libc.TLS, pParse uintptr, pList uintptr, iBase int32, pIdx uintptr, iCol int32) int32 { /* sqlite3.c:152512:12: */ var i int32 var zColl uintptr = *(*uintptr)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FazColl + uintptr(iCol)*4)) @@ -134352,7 +134372,7 @@ func findIndexCol(tls *libc.TLS, pParse uintptr, pList uintptr, iBase int32, pId } // Return TRUE if the iCol-th column of index pIdx is NOT NULL -func indexColumnNotNull(tls *libc.TLS, pIdx uintptr, iCol int32) int32 { /* sqlite3.c:152528:12: */ +func indexColumnNotNull(tls *libc.TLS, pIdx uintptr, iCol int32) int32 { /* sqlite3.c:152542:12: */ var j int32 j = int32(*(*I16)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FaiColumn + uintptr(iCol)*2))) @@ -134373,7 +134393,7 @@ func indexColumnNotNull(tls *libc.TLS, pIdx uintptr, iCol int32) int32 { /* sqli // // A DISTINCT list is redundant if any subset of the columns in the // DISTINCT list are collectively unique and individually non-null. -func isDistinctRedundant(tls *libc.TLS, pParse uintptr, pTabList uintptr, pWC uintptr, pDistinct uintptr) int32 { /* sqlite3.c:152551:12: */ +func isDistinctRedundant(tls *libc.TLS, pParse uintptr, pTabList uintptr, pWC uintptr, pDistinct uintptr) int32 { /* sqlite3.c:152565:12: */ var pTab uintptr var pIdx uintptr var i int32 @@ -134443,7 +134463,7 @@ func isDistinctRedundant(tls *libc.TLS, pParse uintptr, pTabList uintptr, pWC ui } // Estimate the logarithm of the input value to base 2. -func estLog(tls *libc.TLS, N LogEst) LogEst { /* sqlite3.c:152615:15: */ +func estLog(tls *libc.TLS, N LogEst) LogEst { /* sqlite3.c:152629:15: */ if int32(N) <= 10 { return int16(0) } @@ -134460,7 +134480,7 @@ func estLog(tls *libc.TLS, N LogEst) LogEst { /* sqlite3.c:152615:15: */ // cursor iTabCur are transformed into OP_Sequence opcode for the // iAutoidxCur cursor, in order to generate unique rowids for the // automatic index being generated. -func translateColumnToCopy(tls *libc.TLS, pParse uintptr, iStart int32, iTabCur int32, iRegister int32, iAutoidxCur int32) { /* sqlite3.c:152631:13: */ +func translateColumnToCopy(tls *libc.TLS, pParse uintptr, iStart int32, iTabCur int32, iRegister int32, iAutoidxCur int32) { /* sqlite3.c:152645:13: */ var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe var pOp uintptr = Xsqlite3VdbeGetOp(tls, v, iStart) var iEnd int32 = Xsqlite3VdbeCurrentAddr(tls, v) @@ -134503,7 +134523,7 @@ __3: // Return TRUE if the WHERE clause term pTerm is of a form where it // could be used with an index to access pSrc, assuming an appropriate // index existed. -func termCanDriveIndex(tls *libc.TLS, pTerm uintptr, pSrc uintptr, notReady Bitmask) int32 { /* sqlite3.c:152715:12: */ +func termCanDriveIndex(tls *libc.TLS, pTerm uintptr, pSrc uintptr, notReady Bitmask) int32 { /* sqlite3.c:152729:12: */ var aff uint8 if (*WhereTerm)(unsafe.Pointer(pTerm)).FleftCursor != (*SrcItem)(unsafe.Pointer(pSrc)).FiCursor { return 0 @@ -134537,7 +134557,7 @@ func termCanDriveIndex(tls *libc.TLS, pTerm uintptr, pSrc uintptr, notReady Bitm // Generate code to construct the Index object for an automatic index // and to set up the WhereLevel object pLevel so that the code generator // makes use of the automatic index. -func constructAutomaticIndex(tls *libc.TLS, pParse uintptr, pWC uintptr, pSrc uintptr, notReady Bitmask, pLevel uintptr) { /* sqlite3.c:152749:29: */ +func constructAutomaticIndex(tls *libc.TLS, pParse uintptr, pWC uintptr, pSrc uintptr, notReady Bitmask, pLevel uintptr) { /* sqlite3.c:152763:29: */ bp := tls.Alloc(20) defer tls.Free(20) @@ -134895,7 +134915,7 @@ end_auto_index_create: // This routine may only be called if it has previously been determined that // the loop would benefit from a Bloom filter, and the WHERE_BLOOMFILTER bit // is set. -func sqlite3ConstructBloomFilter(tls *libc.TLS, pWInfo uintptr, iLevel int32, pLevel uintptr, notReady Bitmask) { /* sqlite3.c:152984:29: */ +func sqlite3ConstructBloomFilter(tls *libc.TLS, pWInfo uintptr, iLevel int32, pLevel uintptr, notReady Bitmask) { /* sqlite3.c:152998:29: */ var addrOnce int32 // Address of opening OP_Once var addrTop int32 // Address of OP_Rewind var addrCont int32 // Jump here to skip a row @@ -135000,7 +135020,7 @@ func sqlite3ConstructBloomFilter(tls *libc.TLS, pWInfo uintptr, iLevel int32, pL // Allocate and populate an sqlite3_index_info structure. It is the // responsibility of the caller to eventually release the structure // by passing the pointer returned by this function to freeIndexInfo(). -func allocateIndexInfo(tls *libc.TLS, pWInfo uintptr, pWC uintptr, mUnusable Bitmask, pSrc uintptr, pmNoOmit uintptr) uintptr { /* sqlite3.c:153097:27: */ +func allocateIndexInfo(tls *libc.TLS, pWInfo uintptr, pWC uintptr, mUnusable Bitmask, pSrc uintptr, pmNoOmit uintptr) uintptr { /* sqlite3.c:153111:27: */ var i int32 var j int32 var nTerm int32 @@ -135226,7 +135246,7 @@ __6: // Free an sqlite3_index_info structure allocated by allocateIndexInfo() // and possibly modified by xBestIndex methods. -func freeIndexInfo(tls *libc.TLS, db uintptr, pIdxInfo uintptr) { /* sqlite3.c:153296:13: */ +func freeIndexInfo(tls *libc.TLS, db uintptr, pIdxInfo uintptr) { /* sqlite3.c:153310:13: */ var pHidden uintptr var i int32 @@ -135253,7 +135273,7 @@ func freeIndexInfo(tls *libc.TLS, db uintptr, pIdxInfo uintptr) { /* sqlite3.c:1 // Whether or not an error is returned, it is the responsibility of the // caller to eventually free p->idxStr if p->needToFreeIdxStr indicates // that this is required. -func vtabBestIndex(tls *libc.TLS, pParse uintptr, pTab uintptr, p uintptr) int32 { /* sqlite3.c:153326:12: */ +func vtabBestIndex(tls *libc.TLS, pParse uintptr, pTab uintptr, p uintptr) int32 { /* sqlite3.c:153340:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -135291,7 +135311,7 @@ func vtabBestIndex(tls *libc.TLS, pParse uintptr, pTab uintptr, p uintptr) int32 // into the aSample[] array - it is an index into a virtual set of samples // based on the contents of aSample[] and the number of fields in record // pRec. -func whereKeyStats(tls *libc.TLS, pParse uintptr, pIdx uintptr, pRec uintptr, roundUp int32, aStat uintptr) int32 { /* sqlite3.c:153365:12: */ +func whereKeyStats(tls *libc.TLS, pParse uintptr, pIdx uintptr, pRec uintptr, roundUp int32, aStat uintptr) int32 { /* sqlite3.c:153379:12: */ var aSample uintptr = (*Index)(unsafe.Pointer(pIdx)).FaSample var iCol int32 // Index of required stats in anEq[] etc. var i int32 // Index of first sample >= pRec @@ -135430,7 +135450,7 @@ func whereKeyStats(tls *libc.TLS, pParse uintptr, pIdx uintptr, pRec uintptr, ro // then the return value is the likelihood multiplied by the number of // input rows. Otherwise, this function assumes that an "IS NOT NULL" term // has a likelihood of 0.50, and any other term a likelihood of 0.25. -func whereRangeAdjust(tls *libc.TLS, pTerm uintptr, nNew LogEst) LogEst { /* sqlite3.c:153557:15: */ +func whereRangeAdjust(tls *libc.TLS, pTerm uintptr, nNew LogEst) LogEst { /* sqlite3.c:153571:15: */ var nRet LogEst = nNew if pTerm != 0 { if int32((*WhereTerm)(unsafe.Pointer(pTerm)).FtruthProb) <= 0 { @@ -135443,7 +135463,7 @@ func whereRangeAdjust(tls *libc.TLS, pTerm uintptr, nNew LogEst) LogEst { /* sql } // Return the affinity for a single column of an index. -func Xsqlite3IndexColumnAffinity(tls *libc.TLS, db uintptr, pIdx uintptr, iCol int32) uint8 { /* sqlite3.c:153574:21: */ +func Xsqlite3IndexColumnAffinity(tls *libc.TLS, db uintptr, pIdx uintptr, iCol int32) uint8 { /* sqlite3.c:153588:21: */ if !(int32((*Index)(unsafe.Pointer(pIdx)).FzColAff) != 0) { if Xsqlite3IndexAffinityStr(tls, db, pIdx) == uintptr(0) { @@ -135487,7 +135507,7 @@ func Xsqlite3IndexColumnAffinity(tls *libc.TLS, db uintptr, pIdx uintptr, iCol i // // If an error occurs, an SQLite error code is returned. Otherwise, // SQLITE_OK. -func whereRangeSkipScanEst(tls *libc.TLS, pParse uintptr, pLower uintptr, pUpper uintptr, pLoop uintptr, pbDone uintptr) int32 { /* sqlite3.c:153621:12: */ +func whereRangeSkipScanEst(tls *libc.TLS, pParse uintptr, pLower uintptr, pUpper uintptr, pLoop uintptr, pbDone uintptr) int32 { /* sqlite3.c:153635:12: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -135602,7 +135622,7 @@ func whereRangeSkipScanEst(tls *libc.TLS, pParse uintptr, pLower uintptr, pUpper // used, a single range inequality reduces the search space by a factor of 4. // and a pair of constraints (x>? AND x>0)) != 0 { Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(p + 24 + 12 /* &.idxStr */))) @@ -135910,7 +135930,7 @@ func whereLoopClearUnion(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:15 } // Deallocate internal memory used by a WhereLoop object -func whereLoopClear(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:154152:13: */ +func whereLoopClear(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:154166:13: */ if (*WhereLoop)(unsafe.Pointer(p)).FaLTerm != p+64 { Xsqlite3DbFreeNN(tls, db, (*WhereLoop)(unsafe.Pointer(p)).FaLTerm) } @@ -135919,7 +135939,7 @@ func whereLoopClear(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:154152: } // Increase the memory allocation for pLoop->aLTerm[] to be at least n. -func whereLoopResize(tls *libc.TLS, db uintptr, p uintptr, n int32) int32 { /* sqlite3.c:154161:12: */ +func whereLoopResize(tls *libc.TLS, db uintptr, p uintptr, n int32) int32 { /* sqlite3.c:154175:12: */ var paNew uintptr if int32((*WhereLoop)(unsafe.Pointer(p)).FnLSlot) >= n { return SQLITE_OK @@ -135939,7 +135959,7 @@ func whereLoopResize(tls *libc.TLS, db uintptr, p uintptr, n int32) int32 { /* s } // Transfer content from the second pLoop into the first. -func whereLoopXfer(tls *libc.TLS, db uintptr, pTo uintptr, pFrom uintptr) int32 { /* sqlite3.c:154177:12: */ +func whereLoopXfer(tls *libc.TLS, db uintptr, pTo uintptr, pFrom uintptr) int32 { /* sqlite3.c:154191:12: */ whereLoopClearUnion(tls, db, pTo) if whereLoopResize(tls, db, pTo, int32((*WhereLoop)(unsafe.Pointer(pFrom)).FnLTerm)) != 0 { libc.Xmemset(tls, pTo, 0, uint32(uintptr(0)+52)) @@ -135956,13 +135976,13 @@ func whereLoopXfer(tls *libc.TLS, db uintptr, pTo uintptr, pFrom uintptr) int32 } // Delete a WhereLoop object -func whereLoopDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:154196:13: */ +func whereLoopDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:154210:13: */ whereLoopClear(tls, db, p) Xsqlite3DbFreeNN(tls, db, p) } // Free a WhereInfo structure -func whereInfoFree(tls *libc.TLS, db uintptr, pWInfo uintptr) { /* sqlite3.c:154204:13: */ +func whereInfoFree(tls *libc.TLS, db uintptr, pWInfo uintptr) { /* sqlite3.c:154218:13: */ var i int32 for i = 0; i < int32((*WhereInfo)(unsafe.Pointer(pWInfo)).FnLevel); i++ { @@ -135983,7 +136003,7 @@ func whereInfoFree(tls *libc.TLS, db uintptr, pWInfo uintptr) { /* sqlite3.c:154 } // Undo all Expr node modifications -func whereUndoExprMods(tls *libc.TLS, pWInfo uintptr) { /* sqlite3.c:154226:13: */ +func whereUndoExprMods(tls *libc.TLS, pWInfo uintptr) { /* sqlite3.c:154240:13: */ for (*WhereInfo)(unsafe.Pointer(pWInfo)).FpExprMods != 0 { var p uintptr = (*WhereInfo)(unsafe.Pointer(pWInfo)).FpExprMods (*WhereInfo)(unsafe.Pointer(pWInfo)).FpExprMods = (*WhereExprMod)(unsafe.Pointer(p)).FpNext @@ -136009,7 +136029,7 @@ func whereUndoExprMods(tls *libc.TLS, pWInfo uintptr) { /* sqlite3.c:154226:13: // deserve a lower cost even if it is a proper subset of Y. Constraint (5) // was added because a covering index probably deserves to have a lower cost // than a non-covering index even if it is a proper subset. -func whereLoopCheaperProperSubset(tls *libc.TLS, pX uintptr, pY uintptr) int32 { /* sqlite3.c:154254:12: */ +func whereLoopCheaperProperSubset(tls *libc.TLS, pX uintptr, pY uintptr) int32 { /* sqlite3.c:154268:12: */ var i int32 var j int32 if int32((*WhereLoop)(unsafe.Pointer(pX)).FnLTerm)-int32((*WhereLoop)(unsafe.Pointer(pX)).FnSkip) >= int32((*WhereLoop)(unsafe.Pointer(pY)).FnLTerm)-int32((*WhereLoop)(unsafe.Pointer(pY)).FnSkip) { @@ -136053,7 +136073,7 @@ func whereLoopCheaperProperSubset(tls *libc.TLS, pX uintptr, pY uintptr) int32 { // To say "WhereLoop X is a proper subset of Y" means that X uses fewer // WHERE clause terms than Y and that every WHERE clause term used by X is // also used by Y. -func whereLoopAdjustCost(tls *libc.TLS, p uintptr, pTemplate uintptr) { /* sqlite3.c:154292:13: */ +func whereLoopAdjustCost(tls *libc.TLS, p uintptr, pTemplate uintptr) { /* sqlite3.c:154306:13: */ if (*WhereLoop)(unsafe.Pointer(pTemplate)).FwsFlags&U32(WHERE_INDEXED) == U32(0) { return } @@ -136112,7 +136132,7 @@ func whereLoopAdjustCost(tls *libc.TLS, p uintptr, pTemplate uintptr) { /* sqlit // If pTemplate cannot replace any existing element of the list but needs // to be added to the list as a new entry, then return a pointer to the // tail of the list. -func whereLoopFindLesser(tls *libc.TLS, ppPrev uintptr, pTemplate uintptr) uintptr { /* sqlite3.c:154333:18: */ +func whereLoopFindLesser(tls *libc.TLS, ppPrev uintptr, pTemplate uintptr) uintptr { /* sqlite3.c:154347:18: */ var p uintptr p = *(*uintptr)(unsafe.Pointer(ppPrev)) __1: @@ -136201,7 +136221,7 @@ __3: // (2) They have the same iSortIdx. // (3) The template has same or fewer dependencies than the current loop // (4) The template has the same or lower cost than the current loop -func whereLoopInsert(tls *libc.TLS, pBuilder uintptr, pTemplate uintptr) int32 { /* sqlite3.c:154421:12: */ +func whereLoopInsert(tls *libc.TLS, pBuilder uintptr, pTemplate uintptr) int32 { /* sqlite3.c:154435:12: */ var ppPrev uintptr var p uintptr var pWInfo uintptr = (*WhereLoopBuilder)(unsafe.Pointer(pBuilder)).FpWInfo @@ -136308,7 +136328,7 @@ func whereLoopInsert(tls *libc.TLS, pBuilder uintptr, pTemplate uintptr) int32 { // "x" column is boolean or else -1 or 0 or 1 is a common default value // on the "x" column and so in that case only cap the output row estimate // at 1/2 instead of 1/4. -func whereLoopOutputAdjust(tls *libc.TLS, pWC uintptr, pLoop uintptr, nRow LogEst) { /* sqlite3.c:154558:13: */ +func whereLoopOutputAdjust(tls *libc.TLS, pWC uintptr, pLoop uintptr, nRow LogEst) { /* sqlite3.c:154572:13: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -136354,7 +136374,14 @@ __1: // that depend only on the table being scanned, and that will tend to // cause many rows to be omitted, then mark that table as // "self-culling". - *(*U32)(unsafe.Pointer(pLoop + 44)) |= U32(WHERE_SELFCULL) + // + // 2022-03-24: Self-culling only applies if either the extra terms + // are straight comparison operators that are non-true with NULL + // operand, or if the loop is not a LEFT JOIN. + if int32((*WhereTerm)(unsafe.Pointer(pTerm)).FeOperator)&0x3f != 0 || + int32((*SrcItem)(unsafe.Pointer((*WhereInfo)(unsafe.Pointer((*WhereClause)(unsafe.Pointer(pWC)).FpWInfo)).FpTabList+8+uintptr((*WhereLoop)(unsafe.Pointer(pLoop)).FiTab)*72)).Ffg.Fjointype)&JT_LEFT == 0 { + *(*U32)(unsafe.Pointer(pLoop + 44)) |= U32(WHERE_SELFCULL) + } } if int32((*WhereTerm)(unsafe.Pointer(pTerm)).FtruthProb) <= 0 { // If a truth probability is specified using the likelihood() hints, @@ -136411,7 +136438,7 @@ __3: // // then this function would be invoked with nEq=1. The value returned in // this case is 3. -func whereRangeVectorLen(tls *libc.TLS, pParse uintptr, iCur int32, pIdx uintptr, nEq int32, pTerm uintptr) int32 { /* sqlite3.c:154637:12: */ +func whereRangeVectorLen(tls *libc.TLS, pParse uintptr, iCur int32, pIdx uintptr, nEq int32, pTerm uintptr) int32 { /* sqlite3.c:154660:12: */ var nCmp int32 = Xsqlite3ExprVectorSize(tls, (*Expr)(unsafe.Pointer((*WhereTerm)(unsafe.Pointer(pTerm)).FpExpr)).FpLeft) var i int32 @@ -136479,7 +136506,7 @@ func whereRangeVectorLen(tls *libc.TLS, pParse uintptr, iCur int32, pIdx uintptr // // If pProbe->idxType==SQLITE_IDXTYPE_IPK, that means pIndex is // a fake index used for the INTEGER PRIMARY KEY. -func whereLoopAddBtreeIndex(tls *libc.TLS, pBuilder uintptr, pSrc uintptr, pProbe uintptr, nInMul LogEst) int32 { /* sqlite3.c:154711:12: */ +func whereLoopAddBtreeIndex(tls *libc.TLS, pBuilder uintptr, pSrc uintptr, pProbe uintptr, nInMul LogEst) int32 { /* sqlite3.c:154734:12: */ bp := tls.Alloc(100) defer tls.Free(100) @@ -136839,7 +136866,7 @@ func whereLoopAddBtreeIndex(tls *libc.TLS, pBuilder uintptr, pSrc uintptr, pProb // Return False if pBuilder does not contain an ORDER BY clause or // if there is no way for pIndex to be useful in implementing that // ORDER BY clause. -func indexMightHelpWithOrderBy(tls *libc.TLS, pBuilder uintptr, pIndex uintptr, iCursor int32) int32 { /* sqlite3.c:155111:12: */ +func indexMightHelpWithOrderBy(tls *libc.TLS, pBuilder uintptr, pIndex uintptr, iCursor int32) int32 { /* sqlite3.c:155134:12: */ var pOB uintptr var aColExpr uintptr var ii int32 @@ -136881,7 +136908,7 @@ func indexMightHelpWithOrderBy(tls *libc.TLS, pBuilder uintptr, pIndex uintptr, // Check to see if a partial index with pPartIndexWhere can be used // in the current query. Return true if it can be and false if not. -func whereUsablePartialIndex(tls *libc.TLS, iTab int32, isLeft int32, pWC uintptr, pWhere uintptr) int32 { /* sqlite3.c:155145:12: */ +func whereUsablePartialIndex(tls *libc.TLS, iTab int32, isLeft int32, pWC uintptr, pWhere uintptr) int32 { /* sqlite3.c:155168:12: */ var i int32 var pTerm uintptr var pParse uintptr = (*WhereInfo)(unsafe.Pointer((*WhereClause)(unsafe.Pointer(pWC)).FpWInfo)).FpParse @@ -136956,7 +136983,7 @@ __3: // bias the scoring in favor of using an index, since the worst-case // performance of using an index is far better than the worst-case performance // of a full table scan. -func whereLoopAddBtree(tls *libc.TLS, pBuilder uintptr, mPrereq Bitmask) int32 { /* sqlite3.c:155209:12: */ +func whereLoopAddBtree(tls *libc.TLS, pBuilder uintptr, mPrereq Bitmask) int32 { /* sqlite3.c:155232:12: */ bp := tls.Alloc(102) defer tls.Free(102) @@ -137241,7 +137268,7 @@ __3: } // Return true if pTerm is a virtual table LIMIT or OFFSET term. -func isLimitTerm(tls *libc.TLS, pTerm uintptr) int32 { /* sqlite3.c:155467:12: */ +func isLimitTerm(tls *libc.TLS, pTerm uintptr) int32 { /* sqlite3.c:155490:12: */ return libc.Bool32(int32((*WhereTerm)(unsafe.Pointer(pTerm)).FeMatchOp) >= SQLITE_INDEX_CONSTRAINT_LIMIT && int32((*WhereTerm)(unsafe.Pointer(pTerm)).FeMatchOp) <= SQLITE_INDEX_CONSTRAINT_OFFSET) @@ -137265,7 +137292,7 @@ func isLimitTerm(tls *libc.TLS, pTerm uintptr) int32 { /* sqlite3.c:155467:12: * // // Output parameter *pbIn is set to true if the plan added to pBuilder // uses one or more WO_IN terms, or false otherwise. -func whereLoopAddVirtualOne(tls *libc.TLS, pBuilder uintptr, mPrereq Bitmask, mUsable Bitmask, mExclude U16, pIdxInfo uintptr, mNoOmit U16, pbIn uintptr, pbRetryLimit uintptr) int32 { /* sqlite3.c:155493:12: */ +func whereLoopAddVirtualOne(tls *libc.TLS, pBuilder uintptr, mPrereq Bitmask, mUsable Bitmask, mExclude U16, pIdxInfo uintptr, mNoOmit U16, pbIn uintptr, pbRetryLimit uintptr) int32 { /* sqlite3.c:155516:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -137488,7 +137515,7 @@ __6: // 2. Else, if the column has an alternative collation, return that. // // 3. Otherwise, return "BINARY". -func Xsqlite3_vtab_collation(tls *libc.TLS, pIdxInfo uintptr, iCons int32) uintptr { /* sqlite3.c:155685:23: */ +func Xsqlite3_vtab_collation(tls *libc.TLS, pIdxInfo uintptr, iCons int32) uintptr { /* sqlite3.c:155708:23: */ var pHidden uintptr = pIdxInfo + 1*72 var zRet uintptr = uintptr(0) if iCons >= 0 && iCons < (*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FnConstraint { @@ -137511,7 +137538,7 @@ func Xsqlite3_vtab_collation(tls *libc.TLS, pIdxInfo uintptr, iCons int32) uintp // Return true if constraint iCons is really an IN(...) constraint, or // false otherwise. If iCons is an IN(...) constraint, set (if bHandle!=0) // or clear (if bHandle==0) the flag to handle it using an iterator. -func Xsqlite3_vtab_in(tls *libc.TLS, pIdxInfo uintptr, iCons int32, bHandle int32) int32 { /* sqlite3.c:155705:16: */ +func Xsqlite3_vtab_in(tls *libc.TLS, pIdxInfo uintptr, iCons int32, bHandle int32) int32 { /* sqlite3.c:155728:16: */ var pHidden uintptr = pIdxInfo + 1*72 var m U32 = func() uint32 { if iCons <= 31 { @@ -137534,7 +137561,7 @@ func Xsqlite3_vtab_in(tls *libc.TLS, pIdxInfo uintptr, iCons int32, bHandle int3 // // If possible, set (*ppVal) to point to an object containing the value // on the right-hand-side of constraint iCons. -func Xsqlite3_vtab_rhs_value(tls *libc.TLS, pIdxInfo uintptr, iCons int32, ppVal uintptr) int32 { /* sqlite3.c:155725:16: */ +func Xsqlite3_vtab_rhs_value(tls *libc.TLS, pIdxInfo uintptr, iCons int32, ppVal uintptr) int32 { /* sqlite3.c:155748:16: */ var pH uintptr = pIdxInfo + 1*72 var pVal uintptr = uintptr(0) var rc int32 = SQLITE_OK @@ -137560,7 +137587,7 @@ func Xsqlite3_vtab_rhs_value(tls *libc.TLS, pIdxInfo uintptr, iCons int32, ppVal } // Return true if ORDER BY clause may be handled as DISTINCT. -func Xsqlite3_vtab_distinct(tls *libc.TLS, pIdxInfo uintptr) int32 { /* sqlite3.c:155758:16: */ +func Xsqlite3_vtab_distinct(tls *libc.TLS, pIdxInfo uintptr) int32 { /* sqlite3.c:155781:16: */ var pHidden uintptr = pIdxInfo + 1*72 return (*HiddenIndexInfo)(unsafe.Pointer(pHidden)).FeDistinct @@ -137589,7 +137616,7 @@ func Xsqlite3_vtab_distinct(tls *libc.TLS, pIdxInfo uintptr) int32 { /* sqlite3. // Conversely, all tables in mUnusable must be scanned after the current // virtual table, so any terms for which the prerequisites overlap with // mUnusable should always be configured as "not-usable" for xBestIndex. -func whereLoopAddVirtual(tls *libc.TLS, pBuilder uintptr, mPrereq Bitmask, mUnusable Bitmask) int32 { /* sqlite3.c:155807:12: */ +func whereLoopAddVirtual(tls *libc.TLS, pBuilder uintptr, mPrereq Bitmask, mUnusable Bitmask) int32 { /* sqlite3.c:155830:12: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -137725,7 +137752,7 @@ func whereLoopAddVirtual(tls *libc.TLS, pBuilder uintptr, mPrereq Bitmask, mUnus // Add WhereLoop entries to handle OR terms. This works for either // btrees or virtual tables. -func whereLoopAddOr(tls *libc.TLS, pBuilder uintptr, mPrereq Bitmask, mUnusable Bitmask) int32 { /* sqlite3.c:155938:12: */ +func whereLoopAddOr(tls *libc.TLS, pBuilder uintptr, mPrereq Bitmask, mUnusable Bitmask) int32 { /* sqlite3.c:155961:12: */ bp := tls.Alloc(616) defer tls.Free(616) @@ -137850,7 +137877,7 @@ func whereLoopAddOr(tls *libc.TLS, pBuilder uintptr, mPrereq Bitmask, mUnusable } // Add all WhereLoop objects for all tables -func whereLoopAddAll(tls *libc.TLS, pBuilder uintptr) int32 { /* sqlite3.c:156064:12: */ +func whereLoopAddAll(tls *libc.TLS, pBuilder uintptr) int32 { /* sqlite3.c:156087:12: */ var pWInfo uintptr = (*WhereLoopBuilder)(unsafe.Pointer(pBuilder)).FpWInfo var mPrereq Bitmask = uint64(0) var mPrior Bitmask = uint64(0) @@ -137938,7 +137965,7 @@ __3: // as equivalent rows are grouped together. Thus for GROUP BY and DISTINCT // the pOrderBy terms can be matched in any order. With ORDER BY, the // pOrderBy terms must be matched in strict left-to-right order. -func wherePathSatisfiesOrderBy(tls *libc.TLS, pWInfo uintptr, pOrderBy uintptr, pPath uintptr, wctrlFlags U16, nLoop U16, pLast uintptr, pRevMask uintptr) I8 { /* sqlite3.c:156142:11: */ +func wherePathSatisfiesOrderBy(tls *libc.TLS, pWInfo uintptr, pOrderBy uintptr, pPath uintptr, wctrlFlags U16, nLoop U16, pLast uintptr, pRevMask uintptr) I8 { /* sqlite3.c:156165:11: */ var revSet U8 // True if rev is known var rev U8 // Composite sort order var revIdx U8 // Index sort order @@ -138306,7 +138333,7 @@ func wherePathSatisfiesOrderBy(tls *libc.TLS, pWInfo uintptr, pOrderBy uintptr, // // SELECT * FROM t1 GROUP BY x,y ORDER BY x,y; -- IsSorted()==1 // SELECT * FROM t1 GROUP BY y,x ORDER BY y,x; -- IsSorted()==0 -func Xsqlite3WhereIsSorted(tls *libc.TLS, pWInfo uintptr) int32 { /* sqlite3.c:156487:20: */ +func Xsqlite3WhereIsSorted(tls *libc.TLS, pWInfo uintptr) int32 { /* sqlite3.c:156510:20: */ return int32(*(*uint8)(unsafe.Pointer(pWInfo + 52)) & 0x8 >> 3) } @@ -138314,7 +138341,7 @@ func Xsqlite3WhereIsSorted(tls *libc.TLS, pWInfo uintptr) int32 { /* sqlite3.c:1 // Return the cost of sorting nRow rows, assuming that the keys have // nOrderby columns and that the first nSorted columns are already in // order. -func whereSortingCost(tls *libc.TLS, pWInfo uintptr, nRow LogEst, nOrderBy int32, nSorted int32) LogEst { /* sqlite3.c:156510:15: */ +func whereSortingCost(tls *libc.TLS, pWInfo uintptr, nRow LogEst, nOrderBy int32, nSorted int32) LogEst { /* sqlite3.c:156533:15: */ // TUNING: Estimated cost of a full external sort, where N is // the number of rows to sort is: // @@ -138361,7 +138388,7 @@ func whereSortingCost(tls *libc.TLS, pWInfo uintptr, nRow LogEst, nOrderBy int32 // // Return SQLITE_OK on success or SQLITE_NOMEM of a memory allocation // error occurs. -func wherePathSolver(tls *libc.TLS, pWInfo uintptr, nRowEst LogEst) int32 { /* sqlite3.c:156563:12: */ +func wherePathSolver(tls *libc.TLS, pWInfo uintptr, nRowEst LogEst) int32 { /* sqlite3.c:156586:12: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -138768,7 +138795,7 @@ __3: // Return non-zero on success, if this query can be handled by this // no-frills query planner. Return zero if this query needs the // general-purpose query planner. -func whereShortCut(tls *libc.TLS, pBuilder uintptr) int32 { /* sqlite3.c:156955:12: */ +func whereShortCut(tls *libc.TLS, pBuilder uintptr) int32 { /* sqlite3.c:156978:12: */ bp := tls.Alloc(96) defer tls.Free(96) @@ -138875,7 +138902,7 @@ func whereShortCut(tls *libc.TLS, pBuilder uintptr) int32 { /* sqlite3.c:156955: } // Helper function for exprIsDeterministic(). -func exprNodeIsDeterministic(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:157046:12: */ +func exprNodeIsDeterministic(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:157069:12: */ if int32((*Expr)(unsafe.Pointer(pExpr)).Fop) == TK_FUNCTION && libc.Bool32((*Expr)(unsafe.Pointer(pExpr)).Fflags&U32(EP_ConstFunc) != U32(0)) == 0 { (*Walker)(unsafe.Pointer(pWalker)).FeCode = U16(0) return WRC_Abort @@ -138886,7 +138913,7 @@ func exprNodeIsDeterministic(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int3 // Return true if the expression contains no non-deterministic SQL // functions. Do not consider non-deterministic SQL functions that are // part of sub-select statements. -func exprIsDeterministic(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:157059:12: */ +func exprIsDeterministic(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:157082:12: */ bp := tls.Alloc(28) defer tls.Free(28) @@ -138932,7 +138959,7 @@ func exprIsDeterministic(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:157059:1 // SELECT DISTINCT v1, v3 FROM t1 // LEFT JOIN t2 // LEFT JOIN t3 ON (t1.ipk=t3.ipk) -func whereOmitNoopJoin(tls *libc.TLS, pWInfo uintptr, notReady Bitmask) Bitmask { /* sqlite3.c:157120:32: */ +func whereOmitNoopJoin(tls *libc.TLS, pWInfo uintptr, notReady Bitmask) Bitmask { /* sqlite3.c:157143:32: */ var i int32 var tabUsed Bitmask @@ -139007,7 +139034,7 @@ func whereOmitNoopJoin(tls *libc.TLS, pWInfo uintptr, notReady Bitmask) Bitmask // appropriate, and if so sets the WHERE_BLOOMFILTER flag on the // WhereLoop. The implementation of the Bloom filter comes further // down where the code for each WhereLoop is generated. -func whereCheckIfBloomFilterIsUseful(tls *libc.TLS, pWInfo uintptr) { /* sqlite3.c:157199:29: */ +func whereCheckIfBloomFilterIsUseful(tls *libc.TLS, pWInfo uintptr) { /* sqlite3.c:157222:29: */ var i int32 var nSearch LogEst @@ -139119,7 +139146,7 @@ func whereCheckIfBloomFilterIsUseful(tls *libc.TLS, pWInfo uintptr) { /* sqlite3 // the first cursor in an array of cursors for all indices. iIdxCur should // be used to compute the appropriate cursor depending on which index is // used. -func Xsqlite3WhereBegin(tls *libc.TLS, pParse uintptr, pTabList uintptr, pWhere uintptr, pOrderBy uintptr, pResultSet uintptr, pLimit uintptr, wctrlFlags U16, iAuxArg int32) uintptr { /* sqlite3.c:157323:26: */ +func Xsqlite3WhereBegin(tls *libc.TLS, pParse uintptr, pTabList uintptr, pWhere uintptr, pOrderBy uintptr, pResultSet uintptr, pLimit uintptr, wctrlFlags U16, iAuxArg int32) uintptr { /* sqlite3.c:157346:26: */ bp := tls.Alloc(40) defer tls.Free(40) @@ -139804,7 +139831,7 @@ __78: // Generate the end of the WHERE loop. See comments on // sqlite3WhereBegin() for additional information. -func Xsqlite3WhereEnd(tls *libc.TLS, pWInfo uintptr) { /* sqlite3.c:157889:21: */ +func Xsqlite3WhereEnd(tls *libc.TLS, pWInfo uintptr) { /* sqlite3.c:157932:21: */ var pParse uintptr = (*WhereInfo)(unsafe.Pointer(pWInfo)).FpParse var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe var i int32 @@ -140017,12 +140044,12 @@ __4: int32((*VdbeOp)(unsafe.Pointer(pOp)).Fopcode) == OP_Offset { var x int32 = (*VdbeOp)(unsafe.Pointer(pOp)).Fp2 - if !((*Table)(unsafe.Pointer(pTab)).FtabFlags&U32(TF_WithoutRowid) == U32(0)) { + if int32((*VdbeOp)(unsafe.Pointer(pOp)).Fopcode) == OP_Offset { + // Do not need to translate the column number + } else if !((*Table)(unsafe.Pointer(pTab)).FtabFlags&U32(TF_WithoutRowid) == U32(0)) { var pPk uintptr = Xsqlite3PrimaryKeyIndex(tls, pTab) x = int32(*(*I16)(unsafe.Pointer((*Index)(unsafe.Pointer(pPk)).FaiColumn + uintptr(x)*2))) - } else if int32((*VdbeOp)(unsafe.Pointer(pOp)).Fopcode) == OP_Offset { - // Do not need to translate the column number } else { x = int32(Xsqlite3StorageColumnToTable(tls, pTab, int16(x))) @@ -140032,8 +140059,12 @@ __4: (*VdbeOp)(unsafe.Pointer(pOp)).Fp2 = x (*VdbeOp)(unsafe.Pointer(pOp)).Fp1 = (*WhereLevel)(unsafe.Pointer(pLevel)).FiIdxCur - } + } else { + // Unable to translate the table reference into an index + // reference. Verify that this is harmless - that the + // table being referenced really is open. + } } else if int32((*VdbeOp)(unsafe.Pointer(pOp)).Fopcode) == OP_Rowid { (*VdbeOp)(unsafe.Pointer(pOp)).Fp1 = (*WhereLevel)(unsafe.Pointer(pLevel)).FiIdxCur (*VdbeOp)(unsafe.Pointer(pOp)).Fopcode = U8(OP_IdxRowid) @@ -140204,7 +140235,7 @@ __6: // window frame has been coerced to: // // ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW -func row_numberStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158331:13: */ +func row_numberStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158388:13: */ var p uintptr = Xsqlite3_aggregate_context(tls, pCtx, int32(unsafe.Sizeof(I64(0)))) if p != 0 { *(*I64)(unsafe.Pointer(p))++ @@ -140213,7 +140244,7 @@ func row_numberStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) _ = apArg } -func row_numberValueFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158341:13: */ +func row_numberValueFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158398:13: */ var p uintptr = Xsqlite3_aggregate_context(tls, pCtx, int32(unsafe.Sizeof(I64(0)))) Xsqlite3_result_int64(tls, pCtx, func() int64 { if p != 0 { @@ -140229,13 +140260,13 @@ type CallCount = struct { FnValue I64 FnStep I64 FnTotal I64 -} /* sqlite3.c:158350:1 */ +} /* sqlite3.c:158407:1 */ // Implementation of built-in window function dense_rank(). Assumes that // the window frame has been set to: // // RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW -func dense_rankStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158362:13: */ +func dense_rankStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158419:13: */ var p uintptr p = Xsqlite3_aggregate_context(tls, pCtx, int32(unsafe.Sizeof(CallCount{}))) if p != 0 { @@ -140245,7 +140276,7 @@ func dense_rankStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) _ = apArg } -func dense_rankValueFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158373:13: */ +func dense_rankValueFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158430:13: */ var p uintptr p = Xsqlite3_aggregate_context(tls, pCtx, int32(unsafe.Sizeof(CallCount{}))) if p != 0 { @@ -140264,9 +140295,9 @@ type NthValueCtx = struct { FnStep I64 FpValue uintptr F__ccgo_pad1 [4]byte -} /* sqlite3.c:158390:1 */ +} /* sqlite3.c:158447:1 */ -func nth_valueStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158394:13: */ +func nth_valueStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158451:13: */ var p uintptr var fVal float64 var iVal I64 @@ -140332,7 +140363,7 @@ error_out: pCtx, ts+21899, -1) } -func nth_valueFinalizeFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158435:13: */ +func nth_valueFinalizeFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158492:13: */ var p uintptr p = Xsqlite3_aggregate_context(tls, pCtx, 0) if p != 0 && (*NthValueCtx)(unsafe.Pointer(p)).FpValue != 0 { @@ -140342,7 +140373,7 @@ func nth_valueFinalizeFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158435:13 } } -func first_valueStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158447:13: */ +func first_valueStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158504:13: */ var p uintptr p = Xsqlite3_aggregate_context(tls, pCtx, int32(unsafe.Sizeof(NthValueCtx{}))) if p != 0 && (*NthValueCtx)(unsafe.Pointer(p)).FpValue == uintptr(0) { @@ -140355,7 +140386,7 @@ func first_valueStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) _ = apArg } -func first_valueFinalizeFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158463:13: */ +func first_valueFinalizeFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158520:13: */ var p uintptr p = Xsqlite3_aggregate_context(tls, pCtx, int32(unsafe.Sizeof(NthValueCtx{}))) if p != 0 && (*NthValueCtx)(unsafe.Pointer(p)).FpValue != 0 { @@ -140369,7 +140400,7 @@ func first_valueFinalizeFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158463: // the window frame has been set to: // // RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW -func rankStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158481:13: */ +func rankStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158538:13: */ var p uintptr p = Xsqlite3_aggregate_context(tls, pCtx, int32(unsafe.Sizeof(CallCount{}))) if p != 0 { @@ -140382,7 +140413,7 @@ func rankStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* s _ = apArg } -func rankValueFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158497:13: */ +func rankValueFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158554:13: */ var p uintptr p = Xsqlite3_aggregate_context(tls, pCtx, int32(unsafe.Sizeof(CallCount{}))) if p != 0 { @@ -140395,7 +140426,7 @@ func rankValueFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158497:13: */ // the window frame has been set to: // // GROUPS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING -func percent_rankStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158512:13: */ +func percent_rankStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158569:13: */ var p uintptr _ = nArg _ = apArg @@ -140405,7 +140436,7 @@ func percent_rankStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr } } -func percent_rankInvFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158525:13: */ +func percent_rankInvFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158582:13: */ var p uintptr _ = nArg _ = apArg @@ -140413,7 +140444,7 @@ func percent_rankInvFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) (*CallCount)(unsafe.Pointer(p)).FnStep++ } -func percent_rankValueFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158536:13: */ +func percent_rankValueFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158593:13: */ var p uintptr p = Xsqlite3_aggregate_context(tls, pCtx, int32(unsafe.Sizeof(CallCount{}))) if p != 0 { @@ -140431,7 +140462,7 @@ func percent_rankValueFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158536:13 // the window frame has been set to: // // GROUPS BETWEEN 1 FOLLOWING AND UNBOUNDED FOLLOWING -func cume_distStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158557:13: */ +func cume_distStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158614:13: */ var p uintptr _ = nArg _ = apArg @@ -140441,7 +140472,7 @@ func cume_distStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { } } -func cume_distInvFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158570:13: */ +func cume_distInvFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158627:13: */ var p uintptr _ = nArg _ = apArg @@ -140449,7 +140480,7 @@ func cume_distInvFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { (*CallCount)(unsafe.Pointer(p)).FnStep++ } -func cume_distValueFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158581:13: */ +func cume_distValueFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158638:13: */ var p uintptr p = Xsqlite3_aggregate_context(tls, pCtx, 0) if p != 0 { @@ -140463,13 +140494,13 @@ type NtileCtx = struct { FnTotal I64 FnParam I64 FiRow I64 -} /* sqlite3.c:158594:1 */ +} /* sqlite3.c:158651:1 */ // Implementation of ntile(). This assumes that the window frame has // been coerced to: // // ROWS CURRENT ROW AND UNBOUNDED FOLLOWING -func ntileStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158606:13: */ +func ntileStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158663:13: */ var p uintptr _ = nArg p = Xsqlite3_aggregate_context(tls, pCtx, int32(unsafe.Sizeof(NtileCtx{}))) @@ -140485,7 +140516,7 @@ func ntileStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* } } -func ntileInvFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158626:13: */ +func ntileInvFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158683:13: */ var p uintptr _ = nArg _ = apArg @@ -140493,7 +140524,7 @@ func ntileInvFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* s (*NtileCtx)(unsafe.Pointer(p)).FiRow++ } -func ntileValueFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158637:13: */ +func ntileValueFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158694:13: */ var p uintptr p = Xsqlite3_aggregate_context(tls, pCtx, int32(unsafe.Sizeof(NtileCtx{}))) if p != 0 && (*NtileCtx)(unsafe.Pointer(p)).FnParam > int64(0) { @@ -140518,10 +140549,10 @@ func ntileValueFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158637:13: */ type LastValueCtx = struct { FpVal uintptr FnVal int32 -} /* sqlite3.c:158664:1 */ +} /* sqlite3.c:158721:1 */ // Implementation of last_value(). -func last_valueStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158672:13: */ +func last_valueStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158729:13: */ var p uintptr _ = nArg p = Xsqlite3_aggregate_context(tls, pCtx, int32(unsafe.Sizeof(LastValueCtx{}))) @@ -140536,7 +140567,7 @@ func last_valueStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) } } -func last_valueInvFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158690:13: */ +func last_valueInvFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158747:13: */ var p uintptr _ = nArg _ = apArg @@ -140550,7 +140581,7 @@ func last_valueInvFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { } } -func last_valueValueFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158707:13: */ +func last_valueValueFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158764:13: */ var p uintptr p = Xsqlite3_aggregate_context(tls, pCtx, 0) if p != 0 && (*LastValueCtx)(unsafe.Pointer(p)).FpVal != 0 { @@ -140558,7 +140589,7 @@ func last_valueValueFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158707:13: } } -func last_valueFinalizeFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158714:13: */ +func last_valueFinalizeFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158771:13: */ var p uintptr p = Xsqlite3_aggregate_context(tls, pCtx, int32(unsafe.Sizeof(LastValueCtx{}))) if p != 0 && (*LastValueCtx)(unsafe.Pointer(p)).FpVal != 0 { @@ -140574,17 +140605,17 @@ func last_valueFinalizeFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158714:1 // comparison of the zName pointer. Example: // // if( pFuncDef->zName==row_valueName ){ ... } -var row_numberName = *(*[11]uint8)(unsafe.Pointer(ts + 22000)) /* sqlite3.c:158732:19 */ -var dense_rankName = *(*[11]uint8)(unsafe.Pointer(ts + 22011)) /* sqlite3.c:158733:19 */ -var rankName = *(*[5]uint8)(unsafe.Pointer(ts + 22022)) /* sqlite3.c:158734:19 */ -var percent_rankName = *(*[13]uint8)(unsafe.Pointer(ts + 22027)) /* sqlite3.c:158735:19 */ -var cume_distName = *(*[10]uint8)(unsafe.Pointer(ts + 22040)) /* sqlite3.c:158736:19 */ -var ntileName = *(*[6]uint8)(unsafe.Pointer(ts + 22050)) /* sqlite3.c:158737:19 */ -var last_valueName = *(*[11]uint8)(unsafe.Pointer(ts + 22056)) /* sqlite3.c:158738:19 */ -var nth_valueName = *(*[10]uint8)(unsafe.Pointer(ts + 22067)) /* sqlite3.c:158739:19 */ -var first_valueName = *(*[12]uint8)(unsafe.Pointer(ts + 22077)) /* sqlite3.c:158740:19 */ -var leadName = *(*[5]uint8)(unsafe.Pointer(ts + 22089)) /* sqlite3.c:158741:19 */ -var lagName = *(*[4]uint8)(unsafe.Pointer(ts + 22094 /* "lag" */)) /* sqlite3.c:158742:19 */ +var row_numberName = *(*[11]uint8)(unsafe.Pointer(ts + 22000)) /* sqlite3.c:158789:19 */ +var dense_rankName = *(*[11]uint8)(unsafe.Pointer(ts + 22011)) /* sqlite3.c:158790:19 */ +var rankName = *(*[5]uint8)(unsafe.Pointer(ts + 22022)) /* sqlite3.c:158791:19 */ +var percent_rankName = *(*[13]uint8)(unsafe.Pointer(ts + 22027)) /* sqlite3.c:158792:19 */ +var cume_distName = *(*[10]uint8)(unsafe.Pointer(ts + 22040)) /* sqlite3.c:158793:19 */ +var ntileName = *(*[6]uint8)(unsafe.Pointer(ts + 22050)) /* sqlite3.c:158794:19 */ +var last_valueName = *(*[11]uint8)(unsafe.Pointer(ts + 22056)) /* sqlite3.c:158795:19 */ +var nth_valueName = *(*[10]uint8)(unsafe.Pointer(ts + 22067)) /* sqlite3.c:158796:19 */ +var first_valueName = *(*[12]uint8)(unsafe.Pointer(ts + 22077)) /* sqlite3.c:158797:19 */ +var leadName = *(*[5]uint8)(unsafe.Pointer(ts + 22089)) /* sqlite3.c:158798:19 */ +var lagName = *(*[4]uint8)(unsafe.Pointer(ts + 22094 /* "lag" */)) /* sqlite3.c:158799:19 */ // No-op implementations of xStep() and xFinalize(). Used as place-holders // for built-in window functions that never call those interfaces. @@ -140593,7 +140624,7 @@ var lagName = *(*[4]uint8)(unsafe.Pointer(ts + 22094 /* "lag" */)) /* sqlite3.c: // noopStepFunc() is never called, and so it is marked with NO_TEST to // let the test coverage routine know not to expect this function to be // invoked. -func noopStepFunc(tls *libc.TLS, p uintptr, n int32, a uintptr) { /* sqlite3.c:158753:13: */ //NO_TEST +func noopStepFunc(tls *libc.TLS, p uintptr, n int32, a uintptr) { /* sqlite3.c:158810:13: */ //NO_TEST _ = p //NO_TEST _ = n //NO_TEST _ = a //NO_TEST @@ -140601,7 +140632,7 @@ func noopStepFunc(tls *libc.TLS, p uintptr, n int32, a uintptr) { /* sqlite3.c:1 } //NO_TEST -func noopValueFunc(tls *libc.TLS, p uintptr) { /* sqlite3.c:158763:13: */ +func noopValueFunc(tls *libc.TLS, p uintptr) { /* sqlite3.c:158820:13: */ _ = p /*no-op*/ } @@ -140616,7 +140647,7 @@ func noopValueFunc(tls *libc.TLS, p uintptr) { /* sqlite3.c:158763:13: */ // xInverse. // Register those built-in window functions that are not also aggregates. -func Xsqlite3WindowFunctions(tls *libc.TLS) { /* sqlite3.c:158794:21: */ +func Xsqlite3WindowFunctions(tls *libc.TLS) { /* sqlite3.c:158851:21: */ Xsqlite3InsertBuiltinFuncs(tls, uintptr(unsafe.Pointer(&aWindowFuncs)), int32(uint32(unsafe.Sizeof(aWindowFuncs))/uint32(unsafe.Sizeof(FuncDef{})))) } @@ -140635,9 +140666,9 @@ var aWindowFuncs = [15]FuncDef{ {FnArg: int8(3), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_UTF8 | SQLITE_FUNC_WINDOW | 0), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: 0}, {FnArg: int8(1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_UTF8 | SQLITE_FUNC_WINDOW | 0), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: 0}, {FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_UTF8 | SQLITE_FUNC_WINDOW | 0), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: 0}, - {FnArg: int8(3), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_UTF8 | SQLITE_FUNC_WINDOW | 0), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: 0}} /* sqlite3.c:158795:18 */ + {FnArg: int8(3), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_UTF8 | SQLITE_FUNC_WINDOW | 0), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: 0}} /* sqlite3.c:158852:18 */ -func windowFind(tls *libc.TLS, pParse uintptr, pList uintptr, zName uintptr) uintptr { /* sqlite3.c:158815:15: */ +func windowFind(tls *libc.TLS, pParse uintptr, pList uintptr, zName uintptr) uintptr { /* sqlite3.c:158872:15: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -140668,7 +140699,7 @@ func windowFind(tls *libc.TLS, pParse uintptr, pList uintptr, zName uintptr) uin // * If the function is a built-in window function that requires the // window to be coerced (see "BUILT-IN WINDOW FUNCTIONS" at the top // of this file), pWin is updated here. -func Xsqlite3WindowUpdate(tls *libc.TLS, pParse uintptr, pList uintptr, pWin uintptr, pFunc uintptr) { /* sqlite3.c:158843:21: */ +func Xsqlite3WindowUpdate(tls *libc.TLS, pParse uintptr, pList uintptr, pWin uintptr, pFunc uintptr) { /* sqlite3.c:158900:21: */ bp := tls.Alloc(128) defer tls.Free(128) @@ -140735,16 +140766,16 @@ type WindowUpdate = struct { FeFrmType int32 FeStart int32 FeEnd int32 -} /* sqlite3.c:158878:7 */ +} /* sqlite3.c:158935:7 */ // Context object passed through sqlite3WalkExprList() to // selectWindowRewriteExprCb() by selectWindowRewriteEList(). -type WindowRewrite = WindowRewrite1 /* sqlite3.c:158918:30 */ +type WindowRewrite = WindowRewrite1 /* sqlite3.c:158975:30 */ // Callback function used by selectWindowRewriteEList(). If necessary, // this function appends to the output expression-list and updates // expression (*ppExpr) in place. -func selectWindowRewriteExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:158932:12: */ +func selectWindowRewriteExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:158989:12: */ var p uintptr = *(*uintptr)(unsafe.Pointer(pWalker + 24)) var pParse uintptr = (*Walker)(unsafe.Pointer(pWalker)).FpParse @@ -140843,7 +140874,7 @@ func selectWindowRewriteExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) in return WRC_Continue } -func selectWindowRewriteSelectCb(tls *libc.TLS, pWalker uintptr, pSelect uintptr) int32 { /* sqlite3.c:159014:12: */ +func selectWindowRewriteSelectCb(tls *libc.TLS, pWalker uintptr, pSelect uintptr) int32 { /* sqlite3.c:159071:12: */ var p uintptr = *(*uintptr)(unsafe.Pointer(pWalker + 24)) var pSave uintptr = (*WindowRewrite1)(unsafe.Pointer(p)).FpSubSelect if pSave == pSelect { @@ -140867,7 +140898,7 @@ func selectWindowRewriteSelectCb(tls *libc.TLS, pWalker uintptr, pSelect uintptr // with a TK_COLUMN that reads the (N-1)th element of table // pWin->iEphCsr, where N is the number of elements in (*ppSub) after // appending the new one. -func selectWindowRewriteEList(tls *libc.TLS, pParse uintptr, pWin uintptr, pSrc uintptr, pEList uintptr, pTab uintptr, ppSub uintptr) { /* sqlite3.c:159041:13: */ +func selectWindowRewriteEList(tls *libc.TLS, pParse uintptr, pWin uintptr, pSrc uintptr, pEList uintptr, pTab uintptr, ppSub uintptr) { /* sqlite3.c:159098:13: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -140899,7 +140930,7 @@ func selectWindowRewriteEList(tls *libc.TLS, pParse uintptr, pWin uintptr, pSrc // Append a copy of each expression in expression-list pAppend to // expression list pList. Return a pointer to the result list. -func exprListAppendList(tls *libc.TLS, pParse uintptr, pList uintptr, pAppend uintptr, bIntToNull int32) uintptr { /* sqlite3.c:159075:17: */ +func exprListAppendList(tls *libc.TLS, pParse uintptr, pList uintptr, pAppend uintptr, bIntToNull int32) uintptr { /* sqlite3.c:159132:17: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -140945,7 +140976,7 @@ func exprListAppendList(tls *libc.TLS, pParse uintptr, pList uintptr, pAppend ui // due to the extra subquery layer that was added. // // See also the incrAggDepth() routine in resolve.c -func sqlite3WindowExtraAggFuncDepth(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:159117:12: */ +func sqlite3WindowExtraAggFuncDepth(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:159174:12: */ if int32((*Expr)(unsafe.Pointer(pExpr)).Fop) == TK_AGG_FUNCTION && int32((*Expr)(unsafe.Pointer(pExpr)).Fop2) >= (*Walker)(unsafe.Pointer(pWalker)).FwalkerDepth { (*Expr)(unsafe.Pointer(pExpr)).Fop2++ @@ -140953,7 +140984,7 @@ func sqlite3WindowExtraAggFuncDepth(tls *libc.TLS, pWalker uintptr, pExpr uintpt return WRC_Continue } -func disallowAggregatesInOrderByCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:159126:12: */ +func disallowAggregatesInOrderByCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:159183:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -140970,7 +141001,7 @@ func disallowAggregatesInOrderByCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr // rewrites the SELECT statement so that window function xStep functions // are invoked in the correct order as described under "SELECT REWRITING" // at the top of this file. -func Xsqlite3WindowRewrite(tls *libc.TLS, pParse uintptr, p uintptr) int32 { /* sqlite3.c:159142:20: */ +func Xsqlite3WindowRewrite(tls *libc.TLS, pParse uintptr, p uintptr) int32 { /* sqlite3.c:159199:20: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -141154,7 +141185,7 @@ func Xsqlite3WindowRewrite(tls *libc.TLS, pParse uintptr, p uintptr) int32 { /* // Unlink the Window object from the Select to which it is attached, // if it is attached. -func Xsqlite3WindowUnlinkFromSelect(tls *libc.TLS, p uintptr) { /* sqlite3.c:159306:21: */ +func Xsqlite3WindowUnlinkFromSelect(tls *libc.TLS, p uintptr) { /* sqlite3.c:159363:21: */ if (*Window)(unsafe.Pointer(p)).FppThis != 0 { *(*uintptr)(unsafe.Pointer((*Window)(unsafe.Pointer(p)).FppThis)) = (*Window)(unsafe.Pointer(p)).FpNextWin if (*Window)(unsafe.Pointer(p)).FpNextWin != 0 { @@ -141165,7 +141196,7 @@ func Xsqlite3WindowUnlinkFromSelect(tls *libc.TLS, p uintptr) { /* sqlite3.c:159 } // Free the Window object passed as the second argument. -func Xsqlite3WindowDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:159317:21: */ +func Xsqlite3WindowDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:159374:21: */ if p != 0 { Xsqlite3WindowUnlinkFromSelect(tls, p) Xsqlite3ExprDelete(tls, db, (*Window)(unsafe.Pointer(p)).FpFilter) @@ -141180,7 +141211,7 @@ func Xsqlite3WindowDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:1 } // Free the linked list of Window objects starting at the second argument. -func Xsqlite3WindowListDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:159334:21: */ +func Xsqlite3WindowListDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:159391:21: */ for p != 0 { var pNext uintptr = (*Window)(unsafe.Pointer(p)).FpNextWin Xsqlite3WindowDelete(tls, db, p) @@ -141193,7 +141224,7 @@ func Xsqlite3WindowListDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3 // constant, change it to NULL. The fact that it is then a non-negative // integer will be caught later. But it is important not to leave // variable values in the expression tree. -func sqlite3WindowOffsetExpr(tls *libc.TLS, pParse uintptr, pExpr uintptr) uintptr { /* sqlite3.c:159349:13: */ +func sqlite3WindowOffsetExpr(tls *libc.TLS, pParse uintptr, pExpr uintptr) uintptr { /* sqlite3.c:159406:13: */ if 0 == Xsqlite3ExprIsConstant(tls, pExpr) { if int32((*Parse)(unsafe.Pointer(pParse)).FeParseMode) >= PARSE_MODE_RENAME { Xsqlite3RenameExprUnmap(tls, pParse, pExpr) @@ -141205,7 +141236,7 @@ func sqlite3WindowOffsetExpr(tls *libc.TLS, pParse uintptr, pExpr uintptr) uintp } // Allocate and return a new Window object describing a Window Definition. -func Xsqlite3WindowAlloc(tls *libc.TLS, pParse uintptr, eType int32, eStart int32, pStart uintptr, eEnd int32, pEnd uintptr, eExclude U8) uintptr { /* sqlite3.c:159361:23: */ +func Xsqlite3WindowAlloc(tls *libc.TLS, pParse uintptr, eType int32, eStart int32, pStart uintptr, eEnd int32, pEnd uintptr, eExclude U8) uintptr { /* sqlite3.c:159418:23: */ var pWin uintptr var bImplicitFrame int32 pWin = uintptr(0) @@ -141274,7 +141305,7 @@ windowAllocErr: // Attach PARTITION and ORDER BY clauses pPartition and pOrderBy to window // pWin. Also, if parameter pBase is not NULL, set pWin->zBase to the // equivalent nul-terminated string. -func Xsqlite3WindowAssemble(tls *libc.TLS, pParse uintptr, pWin uintptr, pPartition uintptr, pOrderBy uintptr, pBase uintptr) uintptr { /* sqlite3.c:159433:23: */ +func Xsqlite3WindowAssemble(tls *libc.TLS, pParse uintptr, pWin uintptr, pPartition uintptr, pOrderBy uintptr, pBase uintptr) uintptr { /* sqlite3.c:159490:23: */ if pWin != 0 { (*Window)(unsafe.Pointer(pWin)).FpPartition = pPartition (*Window)(unsafe.Pointer(pWin)).FpOrderBy = pOrderBy @@ -141293,7 +141324,7 @@ func Xsqlite3WindowAssemble(tls *libc.TLS, pParse uintptr, pWin uintptr, pPartit // stored in the linked list starting at pWin->pNextWin. This function // either updates *pWin according to the base specification, or else // leaves an error in pParse. -func Xsqlite3WindowChain(tls *libc.TLS, pParse uintptr, pWin uintptr, pList uintptr) { /* sqlite3.c:159460:21: */ +func Xsqlite3WindowChain(tls *libc.TLS, pParse uintptr, pWin uintptr, pList uintptr) { /* sqlite3.c:159517:21: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -141327,7 +141358,7 @@ func Xsqlite3WindowChain(tls *libc.TLS, pParse uintptr, pWin uintptr, pList uint } // Attach window object pWin to expression p. -func Xsqlite3WindowAttach(tls *libc.TLS, pParse uintptr, p uintptr, pWin uintptr) { /* sqlite3.c:159494:21: */ +func Xsqlite3WindowAttach(tls *libc.TLS, pParse uintptr, p uintptr, pWin uintptr) { /* sqlite3.c:159551:21: */ if p != 0 { *(*uintptr)(unsafe.Pointer(p + 44)) = pWin @@ -141346,7 +141377,7 @@ func Xsqlite3WindowAttach(tls *libc.TLS, pParse uintptr, p uintptr, pWin uintptr // to be processed as part of SELECT statement pSel). The window is linked // in if either (a) there are no other windows already linked to this // SELECT, or (b) the windows already linked use a compatible window frame. -func Xsqlite3WindowLink(tls *libc.TLS, pSel uintptr, pWin uintptr) { /* sqlite3.c:159517:21: */ +func Xsqlite3WindowLink(tls *libc.TLS, pSel uintptr, pWin uintptr) { /* sqlite3.c:159574:21: */ if pSel != 0 { if uintptr(0) == (*Select)(unsafe.Pointer(pSel)).FpWin || 0 == Xsqlite3WindowCompare(tls, uintptr(0), (*Select)(unsafe.Pointer(pSel)).FpWin, pWin, 0) { (*Window)(unsafe.Pointer(pWin)).FpNextWin = (*Select)(unsafe.Pointer(pSel)).FpWin @@ -141366,7 +141397,7 @@ func Xsqlite3WindowLink(tls *libc.TLS, pSel uintptr, pWin uintptr) { /* sqlite3. // Return 0 if the two window objects are identical, 1 if they are // different, or 2 if it cannot be determined if the objects are identical // or not. Identical window objects can be processed in a single scan. -func Xsqlite3WindowCompare(tls *libc.TLS, pParse uintptr, p1 uintptr, p2 uintptr, bFilter int32) int32 { /* sqlite3.c:159539:20: */ +func Xsqlite3WindowCompare(tls *libc.TLS, pParse uintptr, p1 uintptr, p2 uintptr, bFilter int32) int32 { /* sqlite3.c:159596:20: */ var res int32 if p1 == uintptr(0) || p2 == uintptr(0) { return 1 @@ -141406,7 +141437,7 @@ func Xsqlite3WindowCompare(tls *libc.TLS, pParse uintptr, p1 uintptr, p2 uintptr // This is called by code in select.c before it calls sqlite3WhereBegin() // to begin iterating through the sub-query results. It is used to allocate // and initialize registers and cursors used by sqlite3WindowCodeStep(). -func Xsqlite3WindowCodeInit(tls *libc.TLS, pParse uintptr, pSelect uintptr) { /* sqlite3.c:159573:21: */ +func Xsqlite3WindowCodeInit(tls *libc.TLS, pParse uintptr, pSelect uintptr) { /* sqlite3.c:159630:21: */ var nEphExpr int32 = (*ExprList)(unsafe.Pointer((*Select)(unsafe.Pointer((*SrcItem)(unsafe.Pointer((*Select)(unsafe.Pointer(pSelect)).FpSrc + 8)).FpSelect)).FpEList)).FnExpr var pMWin uintptr = (*Select)(unsafe.Pointer(pSelect)).FpWin var pWin uintptr @@ -141482,7 +141513,7 @@ func Xsqlite3WindowCodeInit(tls *libc.TLS, pParse uintptr, pSelect uintptr) { /* // evaluated and the result left in register reg. This function generates VM // code to check that the value is a non-negative integer and throws an // exception if it is not. -func windowCheckValue(tls *libc.TLS, pParse uintptr, reg int32, eCond int32) { /* sqlite3.c:159660:13: */ +func windowCheckValue(tls *libc.TLS, pParse uintptr, reg int32, eCond int32) { /* sqlite3.c:159717:13: */ var v uintptr = Xsqlite3GetVdbe(tls, pParse) var regZero int32 = Xsqlite3GetTempReg(tls, pParse) @@ -141516,12 +141547,12 @@ var azErr = [5]uintptr{ ts + 21899, ts + 22546, ts + 22598, -} /* sqlite3.c:159661:21 */ -var aOp1 = [5]int32{OP_Ge, OP_Ge, OP_Gt, OP_Ge, OP_Ge} /* sqlite3.c:159668:14 */ +} /* sqlite3.c:159718:21 */ +var aOp1 = [5]int32{OP_Ge, OP_Ge, OP_Gt, OP_Ge, OP_Ge} /* sqlite3.c:159725:14 */ // Return the number of arguments passed to the window-function associated // with the object passed as the only argument to this function. -func windowArgCount(tls *libc.TLS, pWin uintptr) int32 { /* sqlite3.c:159707:12: */ +func windowArgCount(tls *libc.TLS, pWin uintptr) int32 { /* sqlite3.c:159764:12: */ var pList uintptr pList = *(*uintptr)(unsafe.Pointer((*Window)(unsafe.Pointer(pWin)).FpOwner + 20)) @@ -141545,19 +141576,19 @@ type WindowCodeArg1 = struct { Fstart WindowCsrAndReg Fcurrent WindowCsrAndReg Fend WindowCsrAndReg -} /* sqlite3.c:159714:9 */ +} /* sqlite3.c:159771:9 */ -type WindowCodeArg = WindowCodeArg1 /* sqlite3.c:159714:30 */ +type WindowCodeArg = WindowCodeArg1 /* sqlite3.c:159771:30 */ type WindowCsrAndReg1 = struct { Fcsr int32 Freg int32 -} /* sqlite3.c:159714:9 */ +} /* sqlite3.c:159771:9 */ -type WindowCsrAndReg = WindowCsrAndReg1 /* sqlite3.c:159715:32 */ +type WindowCsrAndReg = WindowCsrAndReg1 /* sqlite3.c:159772:32 */ // Generate VM code to read the window frames peer values from cursor csr into // an array of registers starting at reg. -func windowReadPeerValues(tls *libc.TLS, p uintptr, csr int32, reg int32) { /* sqlite3.c:159799:13: */ +func windowReadPeerValues(tls *libc.TLS, p uintptr, csr int32, reg int32) { /* sqlite3.c:159856:13: */ var pMWin uintptr = (*WindowCodeArg)(unsafe.Pointer(p)).FpMWin var pOrderBy uintptr = (*Window)(unsafe.Pointer(pMWin)).FpOrderBy if pOrderBy != 0 { @@ -141593,7 +141624,7 @@ func windowReadPeerValues(tls *libc.TLS, p uintptr, csr int32, reg int32) { /* s // // If argument regPartSize is non-zero, then it is a register containing the // number of rows in the current partition. -func windowAggStep(tls *libc.TLS, p uintptr, pMWin uintptr, csr int32, bInverse int32, reg int32) { /* sqlite3.c:159836:13: */ +func windowAggStep(tls *libc.TLS, p uintptr, pMWin uintptr, csr int32, bInverse int32, reg int32) { /* sqlite3.c:159893:13: */ var pParse uintptr = (*WindowCodeArg)(unsafe.Pointer(p)).FpParse var v uintptr = Xsqlite3GetVdbe(tls, pParse) var pWin uintptr @@ -141700,7 +141731,7 @@ func windowAggStep(tls *libc.TLS, p uintptr, pMWin uintptr, csr int32, bInverse // (bFin==1) for each window function in the linked list starting at // pMWin. Or, for built-in window-functions that do not use the standard // API, generate the equivalent VM code. -func windowAggFinal(tls *libc.TLS, p uintptr, bFin int32) { /* sqlite3.c:159953:13: */ +func windowAggFinal(tls *libc.TLS, p uintptr, bFin int32) { /* sqlite3.c:160010:13: */ var pParse uintptr = (*WindowCodeArg)(unsafe.Pointer(p)).FpParse var pMWin uintptr = (*WindowCodeArg)(unsafe.Pointer(p)).FpMWin var v uintptr = Xsqlite3GetVdbe(tls, pParse) @@ -141736,7 +141767,7 @@ func windowAggFinal(tls *libc.TLS, p uintptr, bFin int32) { /* sqlite3.c:159953: // p->pMWin list by doing a full scan of the current window frame. Store the // results in the Window.regResult registers, ready to return the upper // layer. -func windowFullScan(tls *libc.TLS, p uintptr) { /* sqlite3.c:159992:13: */ +func windowFullScan(tls *libc.TLS, p uintptr) { /* sqlite3.c:160049:13: */ var pWin uintptr var pParse uintptr = (*WindowCodeArg)(unsafe.Pointer(p)).FpParse var pMWin uintptr = (*WindowCodeArg)(unsafe.Pointer(p)).FpMWin @@ -141843,7 +141874,7 @@ func windowFullScan(tls *libc.TLS, p uintptr) { /* sqlite3.c:159992:13: */ // first_value() // lag() // lead() -func windowReturnOneRow(tls *libc.TLS, p uintptr) { /* sqlite3.c:160098:13: */ +func windowReturnOneRow(tls *libc.TLS, p uintptr) { /* sqlite3.c:160155:13: */ var pMWin uintptr = (*WindowCodeArg)(unsafe.Pointer(p)).FpMWin var v uintptr = (*WindowCodeArg)(unsafe.Pointer(p)).FpVdbe @@ -141926,7 +141957,7 @@ func windowReturnOneRow(tls *libc.TLS, p uintptr) { /* sqlite3.c:160098:13: */ // in the linked list passed as the second argument to NULL. And perform // any equivalent initialization required by any built-in window functions // in the list. -func windowInitAccum(tls *libc.TLS, pParse uintptr, pMWin uintptr) int32 { /* sqlite3.c:160175:12: */ +func windowInitAccum(tls *libc.TLS, pParse uintptr, pMWin uintptr) int32 { /* sqlite3.c:160232:12: */ var v uintptr = Xsqlite3GetVdbe(tls, pParse) var regArg int32 var nArg int32 = 0 @@ -141961,7 +141992,7 @@ func windowInitAccum(tls *libc.TLS, pParse uintptr, pMWin uintptr) int32 { /* sq // Return true if the current frame should be cached in the ephemeral table, // even if there are no xInverse() calls required. -func windowCacheFrame(tls *libc.TLS, pMWin uintptr) int32 { /* sqlite3.c:160207:12: */ +func windowCacheFrame(tls *libc.TLS, pMWin uintptr) int32 { /* sqlite3.c:160264:12: */ var pWin uintptr if (*Window)(unsafe.Pointer(pMWin)).FregStartRowid != 0 { return 1 @@ -141986,7 +142017,7 @@ func windowCacheFrame(tls *libc.TLS, pMWin uintptr) int32 { /* sqlite3.c:160207: // If the two arrays are not equal, the contents of regNew is copied to // regOld and control falls through. Otherwise, if the contents of the arrays // are equal, an OP_Goto is executed. The address of the OP_Goto is returned. -func windowIfNewPeer(tls *libc.TLS, pParse uintptr, pOrderBy uintptr, regNew int32, regOld int32, addr int32) { /* sqlite3.c:160233:13: */ +func windowIfNewPeer(tls *libc.TLS, pParse uintptr, pOrderBy uintptr, regNew int32, regOld int32, addr int32) { /* sqlite3.c:160290:13: */ var v uintptr = Xsqlite3GetVdbe(tls, pParse) if pOrderBy != 0 { var nVal int32 = (*ExprList)(unsafe.Pointer(pOrderBy)).FnExpr @@ -142023,7 +142054,7 @@ func windowIfNewPeer(tls *libc.TLS, pParse uintptr, pOrderBy uintptr, regNew int // A special type of arithmetic is used such that if csr1.peerVal is not // a numeric type (real or integer), then the result of the addition // or subtraction is a a copy of csr1.peerVal. -func windowCodeRangeTest(tls *libc.TLS, p uintptr, op int32, csr1 int32, regVal int32, csr2 int32, lbl int32) { /* sqlite3.c:160279:13: */ +func windowCodeRangeTest(tls *libc.TLS, p uintptr, op int32, csr1 int32, regVal int32, csr2 int32, lbl int32) { /* sqlite3.c:160336:13: */ var pParse uintptr = (*WindowCodeArg)(unsafe.Pointer(p)).FpParse var v uintptr = Xsqlite3GetVdbe(tls, pParse) var pOrderBy uintptr = (*Window)(unsafe.Pointer((*WindowCodeArg)(unsafe.Pointer(p)).FpMWin)).FpOrderBy // ORDER BY clause for window @@ -142146,7 +142177,7 @@ func windowCodeRangeTest(tls *libc.TLS, p uintptr, op int32, csr1 int32, regVal // generates VM code for a single RETURN_ROW, AGGSTEP or AGGINVERSE // operation. Refer to the header comment for sqlite3WindowCodeStep() for // details. -func windowCodeOp(tls *libc.TLS, p uintptr, op int32, regCountdown int32, jumpOnEof int32) int32 { /* sqlite3.c:160412:12: */ +func windowCodeOp(tls *libc.TLS, p uintptr, op int32, regCountdown int32, jumpOnEof int32) int32 { /* sqlite3.c:160469:12: */ var csr int32 var reg int32 var pParse uintptr = (*WindowCodeArg)(unsafe.Pointer(p)).FpParse @@ -142294,7 +142325,7 @@ func windowCodeOp(tls *libc.TLS, p uintptr, op int32, regCountdown int32, jumpOn // Allocate and return a duplicate of the Window object indicated by the // third argument. Set the Window.pOwner field of the new object to // pOwner. -func Xsqlite3WindowDup(tls *libc.TLS, db uintptr, pOwner uintptr, p uintptr) uintptr { /* sqlite3.c:160561:23: */ +func Xsqlite3WindowDup(tls *libc.TLS, db uintptr, pOwner uintptr, p uintptr) uintptr { /* sqlite3.c:160618:23: */ var pNew uintptr = uintptr(0) if p != 0 { pNew = Xsqlite3DbMallocZero(tls, db, uint64(unsafe.Sizeof(Window{}))) @@ -142325,7 +142356,7 @@ func Xsqlite3WindowDup(tls *libc.TLS, db uintptr, pOwner uintptr, p uintptr) uin // Return a copy of the linked list of Window objects passed as the // second argument. -func Xsqlite3WindowListDup(tls *libc.TLS, db uintptr, p uintptr) uintptr { /* sqlite3.c:160594:23: */ +func Xsqlite3WindowListDup(tls *libc.TLS, db uintptr, p uintptr) uintptr { /* sqlite3.c:160651:23: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -142350,7 +142381,7 @@ func Xsqlite3WindowListDup(tls *libc.TLS, db uintptr, p uintptr) uintptr { /* sq // // If an OOM error occurs, this function sets the Parse.db.mallocFailed // flag and returns zero. -func windowExprGtZero(tls *libc.TLS, pParse uintptr, pExpr uintptr) int32 { /* sqlite3.c:160616:12: */ +func windowExprGtZero(tls *libc.TLS, pParse uintptr, pExpr uintptr) int32 { /* sqlite3.c:160673:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -142698,7 +142729,7 @@ func windowExprGtZero(tls *libc.TLS, pParse uintptr, pExpr uintptr) int32 { /* s // // The text above leaves out many details. Refer to the code and comments // below for a more complete picture. -func Xsqlite3WindowCodeStep(tls *libc.TLS, pParse uintptr, p uintptr, pWInfo uintptr, regGosub int32, addrGosub int32) { /* sqlite3.c:160963:21: */ +func Xsqlite3WindowCodeStep(tls *libc.TLS, pParse uintptr, p uintptr, pWInfo uintptr, regGosub int32, addrGosub int32) { /* sqlite3.c:161020:21: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -143094,16 +143125,16 @@ func Xsqlite3WindowCodeStep(tls *libc.TLS, pParse uintptr, p uintptr, pWInfo uin type TrigEvent = struct { Fa int32 Fb uintptr -} /* sqlite3.c:161363:1 */ +} /* sqlite3.c:161420:1 */ type FrameBound = struct { FeType int32 FpExpr uintptr -} /* sqlite3.c:161365:1 */ +} /* sqlite3.c:161422:1 */ // Disable lookaside memory allocation for objects that might be // shared across database connections. -func disableLookaside(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:161371:13: */ +func disableLookaside(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:161428:13: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb (*Parse)(unsafe.Pointer(pParse)).FdisableLookaside++ (*Sqlite3)(unsafe.Pointer(db)).Flookaside.FbDisable++ @@ -143113,7 +143144,7 @@ func disableLookaside(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:161371:13: * // For a compound SELECT statement, make sure p->pPrior->pNext==p for // all elements in the list. And make sure list length does not exceed // SQLITE_LIMIT_COMPOUND_SELECT. -func parserDoubleLinkSelect(tls *libc.TLS, pParse uintptr, p uintptr) { /* sqlite3.c:161404:15: */ +func parserDoubleLinkSelect(tls *libc.TLS, pParse uintptr, p uintptr) { /* sqlite3.c:161461:15: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -143152,7 +143183,7 @@ func parserDoubleLinkSelect(tls *libc.TLS, pParse uintptr, p uintptr) { /* sqlit // Attach a With object describing the WITH clause to a Select // object describing the query for which the WITH clause is a prefix. -func attachWithToSelect(tls *libc.TLS, pParse uintptr, pSelect uintptr, pWith uintptr) uintptr { /* sqlite3.c:161435:17: */ +func attachWithToSelect(tls *libc.TLS, pParse uintptr, pSelect uintptr, pWith uintptr) uintptr { /* sqlite3.c:161492:17: */ if pSelect != 0 { (*Select)(unsafe.Pointer(pSelect)).FpWith = pWith parserDoubleLinkSelect(tls, pParse, pSelect) @@ -143164,7 +143195,7 @@ func attachWithToSelect(tls *libc.TLS, pParse uintptr, pSelect uintptr, pWith ui } // Construct a new Expr object from a single token -func tokenExpr(tls *libc.TLS, pParse uintptr, op int32, t Token) uintptr { /* sqlite3.c:161447:15: */ +func tokenExpr(tls *libc.TLS, pParse uintptr, op int32, t Token) uintptr { /* sqlite3.c:161504:15: */ bp := tls.Alloc(8) defer tls.Free(8) *(*Token)(unsafe.Pointer(bp)) = t @@ -143205,7 +143236,7 @@ func tokenExpr(tls *libc.TLS, pParse uintptr, op int32, t Token) uintptr { /* sq // A routine to convert a binary TK_IS or TK_ISNOT expression into a // unary TK_ISNULL or TK_NOTNULL expression. -func binaryToUnaryIfNull(tls *libc.TLS, pParse uintptr, pY uintptr, pA uintptr, op int32) { /* sqlite3.c:161483:15: */ +func binaryToUnaryIfNull(tls *libc.TLS, pParse uintptr, pY uintptr, pA uintptr, op int32) { /* sqlite3.c:161540:15: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb if pA != 0 && pY != 0 && int32((*Expr)(unsafe.Pointer(pY)).Fop) == TK_NULL && !(int32((*Parse)(unsafe.Pointer(pParse)).FeParseMode) >= PARSE_MODE_RENAME) { (*Expr)(unsafe.Pointer(pA)).Fop = U8(op) @@ -143219,7 +143250,7 @@ func binaryToUnaryIfNull(tls *libc.TLS, pParse uintptr, pY uintptr, pA uintptr, // list of identifiers. Report an error if the ID list contains // a COLLATE clause or an ASC or DESC keyword, except ignore the // error while parsing a legacy schema. -func parserAddExprIdListTerm(tls *libc.TLS, pParse uintptr, pPrior uintptr, pIdToken uintptr, hasCollate int32, sortOrder int32) uintptr { /* sqlite3.c:161497:19: */ +func parserAddExprIdListTerm(tls *libc.TLS, pParse uintptr, pPrior uintptr, pIdToken uintptr, hasCollate int32, sortOrder int32) uintptr { /* sqlite3.c:161554:19: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -143293,7 +143324,7 @@ func parserAddExprIdListTerm(tls *libc.TLS, pParse uintptr, pPrior uintptr, pIdT type YYMINORTYPE = struct { Fyyinit int32 F__ccgo_pad1 [4]byte -} /* sqlite3.c:161789:3 */ +} /* sqlite3.c:161846:3 */ //************ End control #defines ****************************************** // Define the yytestcase() macro to be a no-op if is not already defined @@ -143562,7 +143593,7 @@ var yy_action = [2070]uint16{ /* 2040 */ uint16(29), uint16(921), uint16(390), uint16(1176), uint16(172), uint16(139), uint16(1175), uint16(1235), uint16(261), uint16(1235), /* 2050 */ uint16(1235), uint16(1235), uint16(1235), uint16(1235), uint16(1235), uint16(1235), uint16(1235), uint16(262), uint16(1235), uint16(1235), /* 2060 */ uint16(1235), uint16(1235), uint16(1235), uint16(1235), uint16(1235), uint16(1235), uint16(1235), uint16(1235), uint16(1593), uint16(1592), -} /* sqlite3.c:161883:27 */ +} /* sqlite3.c:161940:27 */ var yy_lookahead = [2255]uint16{ /* 0 */ uint16(193), uint16(223), uint16(193), uint16(225), uint16(193), uint16(193), uint16(193), uint16(274), uint16(275), uint16(276), /* 10 */ uint16(193), uint16(233), uint16(219), uint16(193), uint16(274), uint16(275), uint16(276), uint16(206), uint16(206), uint16(19), @@ -143790,7 +143821,7 @@ var yy_lookahead = [2255]uint16{ /* 2230 */ uint16(319), uint16(319), uint16(319), uint16(319), uint16(319), uint16(319), uint16(319), uint16(319), uint16(319), uint16(319), /* 2240 */ uint16(319), uint16(319), uint16(319), uint16(319), uint16(319), uint16(319), uint16(319), uint16(319), uint16(319), uint16(319), /* 2250 */ uint16(319), uint16(319), uint16(319), uint16(319), uint16(319), -} /* sqlite3.c:162092:25 */ +} /* sqlite3.c:162149:25 */ var yy_shift_ofst = [574]uint16{ /* 0 */ uint16(1648), uint16(1477), uint16(1272), uint16(322), uint16(322), uint16(262), uint16(1319), uint16(1478), uint16(1491), uint16(1662), /* 10 */ uint16(1662), uint16(1662), uint16(317), uint16(0), uint16(0), uint16(214), uint16(1093), uint16(1662), uint16(1662), uint16(1662), @@ -143850,7 +143881,7 @@ var yy_shift_ofst = [574]uint16{ /* 550 */ uint16(2005), uint16(2006), uint16(2007), uint16(2008), uint16(2009), uint16(2001), uint16(2020), uint16(2012), uint16(2013), uint16(2014), /* 560 */ uint16(2015), uint16(2017), uint16(2018), uint16(2011), uint16(1906), uint16(1907), uint16(1916), uint16(1927), uint16(1928), uint16(2019), /* 570 */ uint16(2022), uint16(2027), uint16(2042), uint16(2045), -} /* sqlite3.c:162323:33 */ +} /* sqlite3.c:162380:33 */ var yy_reduce_ofst = [409]int16{ /* 0 */ int16(-125), int16(733), int16(789), int16(241), int16(293), int16(-123), int16(-193), int16(-191), int16(-183), int16(-187), /* 10 */ int16(-180), int16(83), int16(133), int16(-207), int16(-198), int16(-267), int16(-175), int16(-6), int16(166), int16(313), @@ -143893,7 +143924,7 @@ var yy_reduce_ofst = [409]int16{ /* 380 */ int16(1641), int16(1602), int16(1676), int16(1642), int16(1646), int16(1644), int16(1650), int16(1654), int16(1683), int16(1694), /* 390 */ int16(1707), int16(1711), int16(1712), int16(1714), int16(1643), int16(1647), int16(1652), int16(1698), int16(1695), int16(1696), /* 400 */ int16(1697), int16(1699), int16(1700), int16(1689), int16(1691), int16(1701), int16(1702), int16(1704), int16(1715), -} /* sqlite3.c:162386:20 */ +} /* sqlite3.c:162443:20 */ var yy_default = [574]uint16{ /* 0 */ uint16(1637), uint16(1637), uint16(1637), uint16(1466), uint16(1233), uint16(1344), uint16(1233), uint16(1233), uint16(1233), uint16(1466), /* 10 */ uint16(1466), uint16(1466), uint16(1233), uint16(1374), uint16(1374), uint16(1519), uint16(1266), uint16(1233), uint16(1233), uint16(1233), @@ -143953,7 +143984,7 @@ var yy_default = [574]uint16{ /* 550 */ uint16(1233), uint16(1233), uint16(1233), uint16(1233), uint16(1233), uint16(1233), uint16(1233), uint16(1233), uint16(1233), uint16(1233), /* 560 */ uint16(1233), uint16(1233), uint16(1233), uint16(1610), uint16(1325), uint16(1416), uint16(1233), uint16(1415), uint16(1419), uint16(1255), /* 570 */ uint16(1233), uint16(1245), uint16(1233), uint16(1233), -} /* sqlite3.c:162429:27 */ +} /* sqlite3.c:162486:27 */ //********* End of lemon-generated parsing tables **************************** // The next table maps tokens (terminal symbols) into fallback tokens. @@ -144155,7 +144186,7 @@ var yyFallback = [185]uint16{ uint16(0), // ERROR => nothing uint16(0), // SPACE => nothing uint16(0), // ILLEGAL => nothing -} /* sqlite3.c:162506:25 */ +} /* sqlite3.c:162563:25 */ // The following structure represents a single element of the // parser's stack. Information stored includes: @@ -144176,9 +144207,9 @@ type yyStackEntry = struct { Fstateno uint16 Fmajor uint16 Fminor YYMINORTYPE -} /* sqlite3.c:162711:1 */ +} /* sqlite3.c:162768:1 */ -type YyStackEntry = yyStackEntry /* sqlite3.c:162718:29 */ +type YyStackEntry = yyStackEntry /* sqlite3.c:162775:29 */ // The state of the parser is completely contained in an instance of // the following structure @@ -144187,9 +144218,9 @@ type yyParser = struct { FpParse uintptr Fyystack [100]YyStackEntry FyystackEnd uintptr -} /* sqlite3.c:162722:1 */ +} /* sqlite3.c:162779:1 */ -type YyParser = yyParser /* sqlite3.c:162741:25 */ +type YyParser = yyParser /* sqlite3.c:162798:25 */ // #include @@ -144199,7 +144230,7 @@ type YyParser = yyParser /* sqlite3.c:162741:25 */ // grammar. // Initialize a new parser that has already been allocated. -func Xsqlite3ParserInit(tls *libc.TLS, yypRawParser uintptr, pParse uintptr) { /* sqlite3.c:163556:21: */ +func Xsqlite3ParserInit(tls *libc.TLS, yypRawParser uintptr, pParse uintptr) { /* sqlite3.c:163613:21: */ var yypParser uintptr = yypRawParser (*YyParser)(unsafe.Pointer(yypParser)).FpParse = pParse (*YyParser)(unsafe.Pointer(yypParser)).Fyytos = yypParser + 8 /* &.yystack */ @@ -144214,7 +144245,7 @@ func Xsqlite3ParserInit(tls *libc.TLS, yypRawParser uintptr, pParse uintptr) { / // a pointer to the value to be deleted. The code used to do the // deletions is derived from the %destructor and/or %token_destructor // directives of the input grammar. -func yy_destructor(tls *libc.TLS, yypParser uintptr, yymajor uint16, yypminor uintptr) { /* sqlite3.c:163614:13: */ +func yy_destructor(tls *libc.TLS, yypParser uintptr, yymajor uint16, yypminor uintptr) { /* sqlite3.c:163671:13: */ var pParse uintptr = (*YyParser)(unsafe.Pointer(yypParser)).FpParse switch int32(yymajor) { @@ -144373,7 +144404,7 @@ func yy_destructor(tls *libc.TLS, yypParser uintptr, yymajor uint16, yypminor ui // // If there is a destructor routine associated with the token which // is popped from the stack, then call it. -func yy_pop_parser_stack(tls *libc.TLS, pParser uintptr) { /* sqlite3.c:163739:13: */ +func yy_pop_parser_stack(tls *libc.TLS, pParser uintptr) { /* sqlite3.c:163796:13: */ var yytos uintptr yytos = libc.PostDecUintptr(&(*YyParser)(unsafe.Pointer(pParser)).Fyytos, 12) @@ -144381,7 +144412,7 @@ func yy_pop_parser_stack(tls *libc.TLS, pParser uintptr) { /* sqlite3.c:163739:1 } // Clear all secondary memory allocations from the parser -func Xsqlite3ParserFinalize(tls *libc.TLS, p uintptr) { /* sqlite3.c:163757:21: */ +func Xsqlite3ParserFinalize(tls *libc.TLS, p uintptr) { /* sqlite3.c:163814:21: */ var pParser uintptr = p for (*YyParser)(unsafe.Pointer(pParser)).Fyytos > pParser+8 { yy_pop_parser_stack(tls, pParser) @@ -144404,7 +144435,7 @@ func Xsqlite3ParserFinalize(tls *libc.TLS, p uintptr) { /* sqlite3.c:163757:21: // Find the appropriate action for a parser given the terminal // look-ahead token iLookAhead. -func yy_find_shift_action(tls *libc.TLS, iLookAhead uint16, stateno uint16) uint16 { /* sqlite3.c:163837:21: */ +func yy_find_shift_action(tls *libc.TLS, iLookAhead uint16, stateno uint16) uint16 { /* sqlite3.c:163894:21: */ var i int32 if int32(stateno) > YY_MAX_SHIFT { @@ -144444,7 +144475,7 @@ func yy_find_shift_action(tls *libc.TLS, iLookAhead uint16, stateno uint16) uint // Find the appropriate action for a parser given the non-terminal // look-ahead token iLookAhead. -func yy_find_reduce_action(tls *libc.TLS, stateno uint16, iLookAhead uint16) uint16 { /* sqlite3.c:163902:21: */ +func yy_find_reduce_action(tls *libc.TLS, stateno uint16, iLookAhead uint16) uint16 { /* sqlite3.c:163959:21: */ var i int32 i = int32(yy_reduce_ofst[stateno]) @@ -144455,7 +144486,7 @@ func yy_find_reduce_action(tls *libc.TLS, stateno uint16, iLookAhead uint16) uin } // The following routine is called if the stack overflows. -func yyStackOverflow(tls *libc.TLS, yypParser uintptr) { /* sqlite3.c:163931:13: */ +func yyStackOverflow(tls *libc.TLS, yypParser uintptr) { /* sqlite3.c:163988:13: */ var pParse uintptr = (*YyParser)(unsafe.Pointer(yypParser)).FpParse for (*YyParser)(unsafe.Pointer(yypParser)).Fyytos > yypParser+8 { @@ -144474,7 +144505,7 @@ func yyStackOverflow(tls *libc.TLS, yypParser uintptr) { /* sqlite3.c:163931:13: // Print tracing information for a SHIFT action // Perform a shift action. -func yy_shift(tls *libc.TLS, yypParser uintptr, yyNewState uint16, yyMajor uint16, yyMinor Token) { /* sqlite3.c:163974:13: */ +func yy_shift(tls *libc.TLS, yypParser uintptr, yyNewState uint16, yyMajor uint16, yyMinor Token) { /* sqlite3.c:164031:13: */ var yytos uintptr (*YyParser)(unsafe.Pointer(yypParser)).Fyytos += 12 if (*YyParser)(unsafe.Pointer(yypParser)).Fyytos > (*YyParser)(unsafe.Pointer(yypParser)).FyystackEnd { @@ -144897,7 +144928,7 @@ var yyRuleInfoLhs = [402]uint16{ uint16(303), // (399) anylist ::= anylist LP anylist RP uint16(303), // (400) anylist ::= anylist ANY uint16(266), // (401) with ::= -} /* sqlite3.c:164015:25 */ +} /* sqlite3.c:164072:25 */ // For rule J, yyRuleInfoNRhs[J] contains the negative of the number // of symbols on the right-hand side of that rule. @@ -145304,7 +145335,7 @@ var yyRuleInfoNRhs = [402]int8{ int8(-4), // (399) anylist ::= anylist LP anylist RP int8(-2), // (400) anylist ::= anylist ANY int8(0), // (401) with ::= -} /* sqlite3.c:164422:26 */ +} /* sqlite3.c:164479:26 */ // Forward Declaration @@ -145316,7 +145347,7 @@ var yyRuleInfoNRhs = [402]int8{ // if the lookahead token has already been consumed. As this procedure is // only called from one place, optimizing compilers will in-line it, which // means that the extra parameters have no performance impact. -func yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead int32, yyLookaheadToken Token, pParse uintptr) uint16 { /* sqlite3.c:164839:21: */ +func yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead int32, yyLookaheadToken Token, pParse uintptr) uint16 { /* sqlite3.c:164896:21: */ bp := tls.Alloc(100) defer tls.Free(100) @@ -147311,7 +147342,7 @@ func yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead in // The following code executes when the parse fails // The following code executes when a syntax error first occurs. -func yy_syntax_error(tls *libc.TLS, yypParser uintptr, yymajor int32, yyminor Token) { /* sqlite3.c:166395:13: */ +func yy_syntax_error(tls *libc.TLS, yypParser uintptr, yymajor int32, yyminor Token) { /* sqlite3.c:166452:13: */ bp := tls.Alloc(16) defer tls.Free(16) *(*Token)(unsafe.Pointer(bp + 8)) = yyminor @@ -147331,7 +147362,7 @@ func yy_syntax_error(tls *libc.TLS, yypParser uintptr, yymajor int32, yyminor To } // The following is executed when the parser accepts -func yy_accept(tls *libc.TLS, yypParser uintptr) { /* sqlite3.c:166419:13: */ +func yy_accept(tls *libc.TLS, yypParser uintptr) { /* sqlite3.c:166476:13: */ var pParse uintptr = (*YyParser)(unsafe.Pointer(yypParser)).FpParse @@ -147361,7 +147392,7 @@ func yy_accept(tls *libc.TLS, yypParser uintptr) { /* sqlite3.c:166419:13: */ // // Outputs: // None. -func Xsqlite3Parser(tls *libc.TLS, yyp uintptr, yymajor int32, yyminor Token) { /* sqlite3.c:166460:21: */ +func Xsqlite3Parser(tls *libc.TLS, yyp uintptr, yymajor int32, yyminor Token) { /* sqlite3.c:166517:21: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -147415,7 +147446,7 @@ func Xsqlite3Parser(tls *libc.TLS, yyp uintptr, yymajor int32, yyminor Token) { // Return the fallback token corresponding to canonical token iToken, or // 0 if iToken has no fallback. -func Xsqlite3ParserFallback(tls *libc.TLS, iToken int32) int32 { /* sqlite3.c:166677:20: */ +func Xsqlite3ParserFallback(tls *libc.TLS, iToken int32) int32 { /* sqlite3.c:166734:20: */ return int32(yyFallback[iToken]) } @@ -147466,7 +147497,7 @@ var aiClass = [256]uint8{ /* Dx */ uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), /* Ex */ uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(30), /* Fx */ uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), -} /* sqlite3.c:166749:28 */ +} /* sqlite3.c:166806:28 */ // The charMap() macro maps alphabetic characters (only) into their // lower-case ASCII equivalent. On ASCII machines, this is just @@ -147552,7 +147583,7 @@ var zKWText = [666]uint8{ uint8('W'), uint8('S'), uint8('U'), uint8('N'), uint8('B'), uint8('O'), uint8('U'), uint8('N'), uint8('D'), uint8('E'), uint8('D'), uint8('U'), uint8('N'), uint8('I'), uint8('O'), uint8('N'), uint8('U'), uint8('S'), uint8('I'), uint8('N'), uint8('G'), uint8('V'), uint8('A'), uint8('C'), uint8('U'), uint8('U'), uint8('M'), uint8('V'), uint8('I'), uint8('E'), uint8('W'), uint8('I'), uint8('N'), uint8('D'), uint8('O'), uint8('W'), uint8('B'), uint8('Y'), uint8('I'), uint8('N'), uint8('I'), uint8('T'), uint8('I'), uint8('A'), uint8('L'), uint8('L'), uint8('Y'), uint8('P'), uint8('R'), uint8('I'), uint8('M'), uint8('A'), uint8('R'), uint8('Y'), -} /* sqlite3.c:166865:19 */ +} /* sqlite3.c:166922:19 */ // aKWHash[i] is the hash value for the i-th keyword var aKWHash = [127]uint8{ uint8(84), uint8(92), uint8(134), uint8(82), uint8(105), uint8(29), uint8(0), uint8(0), uint8(94), uint8(0), uint8(85), uint8(72), uint8(0), @@ -147565,7 +147596,7 @@ var aKWHash = [127]uint8{ uint8(50), uint8(124), uint8(0), uint8(100), uint8(0), uint8(18), uint8(121), uint8(144), uint8(56), uint8(130), uint8(139), uint8(88), uint8(83), uint8(37), uint8(30), uint8(126), uint8(0), uint8(0), uint8(108), uint8(51), uint8(131), uint8(128), uint8(0), uint8(34), uint8(0), uint8(0), uint8(132), uint8(0), uint8(98), uint8(38), uint8(39), uint8(0), uint8(20), uint8(45), uint8(117), uint8(93), -} /* sqlite3.c:166905:28 */ +} /* sqlite3.c:166962:28 */ // aKWNext[] forms the hash collision chain. If aKWHash[i]==0 // then the i-th keyword has no more hash collisions. Otherwise, // the next keyword with the same hash is aKWHash[i]-1. @@ -147582,7 +147613,7 @@ var aKWNext = [147]uint8{ uint8(112), uint8(21), uint8(7), uint8(67), uint8(0), uint8(79), uint8(96), uint8(118), uint8(0), uint8(0), uint8(68), uint8(0), uint8(0), uint8(99), uint8(44), uint8(0), uint8(55), uint8(0), uint8(76), uint8(0), uint8(95), uint8(32), uint8(33), uint8(57), uint8(25), uint8(0), uint8(102), uint8(0), uint8(0), uint8(87), -} /* sqlite3.c:166920:28 */ +} /* sqlite3.c:166977:28 */ // aKWLen[i] is the length (in bytes) of the i-th keyword var aKWLen = [147]uint8{ uint8(7), uint8(7), uint8(5), uint8(4), uint8(6), uint8(4), uint8(5), uint8(3), uint8(6), uint8(7), uint8(3), uint8(6), uint8(6), @@ -147597,7 +147628,7 @@ var aKWLen = [147]uint8{ uint8(4), uint8(4), uint8(6), uint8(7), uint8(5), uint8(9), uint8(4), uint8(4), uint8(5), uint8(2), uint8(5), uint8(8), uint8(6), uint8(4), uint8(9), uint8(5), uint8(8), uint8(4), uint8(3), uint8(9), uint8(5), uint8(5), uint8(6), uint8(4), uint8(6), uint8(2), uint8(2), uint8(9), uint8(3), uint8(7), -} /* sqlite3.c:166935:28 */ +} /* sqlite3.c:166992:28 */ // aKWOffset[i] is the index into zKWText[] of the start of // the text for the i-th keyword. var aKWOffset = [147]uint16{ @@ -147613,7 +147644,7 @@ var aKWOffset = [147]uint16{ uint16(520), uint16(523), uint16(527), uint16(532), uint16(539), uint16(544), uint16(553), uint16(557), uint16(560), uint16(565), uint16(567), uint16(571), uint16(579), uint16(585), uint16(588), uint16(597), uint16(602), uint16(610), uint16(610), uint16(614), uint16(623), uint16(628), uint16(633), uint16(639), uint16(642), uint16(645), uint16(648), uint16(650), uint16(655), uint16(659), -} /* sqlite3.c:166951:33 */ +} /* sqlite3.c:167008:33 */ // aKWCode[i] is the parser symbol code for the i-th keyword var aKWCode = [147]uint8{ uint8(TK_REINDEX), uint8(TK_INDEXED), uint8(TK_INDEX), uint8(TK_DESC), uint8(TK_ESCAPE), @@ -147646,7 +147677,7 @@ var aKWCode = [147]uint8{ uint8(TK_ROW), uint8(TK_UNBOUNDED), uint8(TK_UNION), uint8(TK_USING), uint8(TK_VACUUM), uint8(TK_VIEW), uint8(TK_WINDOW), uint8(TK_DO), uint8(TK_BY), uint8(TK_INITIALLY), uint8(TK_ALL), uint8(TK_PRIMARY), -} /* sqlite3.c:166966:28 */ +} /* sqlite3.c:167023:28 */ // Hash table decoded: // 0: INSERT @@ -147779,7 +147810,7 @@ var aKWCode = [147]uint8{ // Check to see if z[0..n-1] is a keyword. If it is, write the // parser symbol code for that keyword into *pType. Always // return the integer n (the length of the token). -func keywordCode(tls *libc.TLS, z uintptr, n int32, pType uintptr) int32 { /* sqlite3.c:167130:12: */ +func keywordCode(tls *libc.TLS, z uintptr, n int32, pType uintptr) int32 { /* sqlite3.c:167187:12: */ var i int32 var j int32 var zKW uintptr @@ -147957,7 +147988,7 @@ func keywordCode(tls *libc.TLS, z uintptr, n int32, pType uintptr) int32 { /* sq return n } -func Xsqlite3KeywordCode(tls *libc.TLS, z uintptr, n int32) int32 { /* sqlite3.c:167304:20: */ +func Xsqlite3KeywordCode(tls *libc.TLS, z uintptr, n int32) int32 { /* sqlite3.c:167361:20: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -147966,7 +147997,7 @@ func Xsqlite3KeywordCode(tls *libc.TLS, z uintptr, n int32) int32 { /* sqlite3.c return *(*int32)(unsafe.Pointer(bp /* id */)) } -func Xsqlite3_keyword_name(tls *libc.TLS, i int32, pzName uintptr, pnName uintptr) int32 { /* sqlite3.c:167310:16: */ +func Xsqlite3_keyword_name(tls *libc.TLS, i int32, pzName uintptr, pnName uintptr) int32 { /* sqlite3.c:167367:16: */ if i < 0 || i >= SQLITE_N_KEYWORD { return SQLITE_ERROR } @@ -147975,11 +148006,11 @@ func Xsqlite3_keyword_name(tls *libc.TLS, i int32, pzName uintptr, pnName uintpt return SQLITE_OK } -func Xsqlite3_keyword_count(tls *libc.TLS) int32 { /* sqlite3.c:167316:16: */ +func Xsqlite3_keyword_count(tls *libc.TLS) int32 { /* sqlite3.c:167373:16: */ return SQLITE_N_KEYWORD } -func Xsqlite3_keyword_check(tls *libc.TLS, zName uintptr, nName int32) int32 { /* sqlite3.c:167317:16: */ +func Xsqlite3_keyword_check(tls *libc.TLS, zName uintptr, nName int32) int32 { /* sqlite3.c:167374:16: */ return libc.Bool32(TK_ID != Xsqlite3KeywordCode(tls, zName, nName)) } @@ -148002,13 +148033,13 @@ func Xsqlite3_keyword_check(tls *libc.TLS, zName uintptr, nName int32) int32 { / // But the feature is undocumented. // Make the IdChar function accessible from ctime.c and alter.c -func Xsqlite3IsIdChar(tls *libc.TLS, c U8) int32 { /* sqlite3.c:167364:20: */ +func Xsqlite3IsIdChar(tls *libc.TLS, c U8) int32 { /* sqlite3.c:167421:20: */ return libc.Bool32(int32(Xsqlite3CtypeMap[c])&0x46 != 0) } // Return the id of the next token in string (*pz). Before returning, set // (*pz) to point to the byte following the parsed token. -func getToken(tls *libc.TLS, pz uintptr) int32 { /* sqlite3.c:167371:12: */ +func getToken(tls *libc.TLS, pz uintptr) int32 { /* sqlite3.c:167428:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -148058,7 +148089,7 @@ func getToken(tls *libc.TLS, pz uintptr) int32 { /* sqlite3.c:167371:12: */ // // * the previous token was TK_RP, and // * the next token is TK_LP. -func analyzeWindowKeyword(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:167420:12: */ +func analyzeWindowKeyword(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:167477:12: */ bp := tls.Alloc(4) defer tls.Free(4) *(*uintptr)(unsafe.Pointer(bp)) = z @@ -148075,7 +148106,7 @@ func analyzeWindowKeyword(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:167420: return TK_WINDOW } -func analyzeOverKeyword(tls *libc.TLS, z uintptr, lastToken int32) int32 { /* sqlite3.c:167428:12: */ +func analyzeOverKeyword(tls *libc.TLS, z uintptr, lastToken int32) int32 { /* sqlite3.c:167485:12: */ bp := tls.Alloc(4) defer tls.Free(4) *(*uintptr)(unsafe.Pointer(bp)) = z @@ -148089,7 +148120,7 @@ func analyzeOverKeyword(tls *libc.TLS, z uintptr, lastToken int32) int32 { /* sq return TK_ID } -func analyzeFilterKeyword(tls *libc.TLS, z uintptr, lastToken int32) int32 { /* sqlite3.c:167435:12: */ +func analyzeFilterKeyword(tls *libc.TLS, z uintptr, lastToken int32) int32 { /* sqlite3.c:167492:12: */ bp := tls.Alloc(4) defer tls.Free(4) *(*uintptr)(unsafe.Pointer(bp)) = z @@ -148102,7 +148133,7 @@ func analyzeFilterKeyword(tls *libc.TLS, z uintptr, lastToken int32) int32 { /* // Return the length (in bytes) of the token that begins at z[0]. // Store the token type in *tokenType before returning. -func Xsqlite3GetToken(tls *libc.TLS, z uintptr, tokenType uintptr) int32 { /* sqlite3.c:167447:20: */ +func Xsqlite3GetToken(tls *libc.TLS, z uintptr, tokenType uintptr) int32 { /* sqlite3.c:167504:20: */ var i int32 var c int32 switch int32(aiClass[*(*uint8)(unsafe.Pointer(z))]) { // Switch on the character-class of the first byte @@ -148464,7 +148495,7 @@ func Xsqlite3GetToken(tls *libc.TLS, z uintptr, tokenType uintptr) int32 { /* sq } // Run the parser on the given SQL string. -func Xsqlite3RunParser(tls *libc.TLS, pParse uintptr, zSql uintptr) int32 { /* sqlite3.c:167741:20: */ +func Xsqlite3RunParser(tls *libc.TLS, pParse uintptr, zSql uintptr) int32 { /* sqlite3.c:167798:20: */ bp := tls.Alloc(1256) defer tls.Free(1256) @@ -148654,7 +148685,7 @@ func Xsqlite3RunParser(tls *libc.TLS, pParse uintptr, zSql uintptr) int32 { /* s // If we compile with SQLITE_OMIT_TRIGGER, all of the computation needed // to recognize the end of a trigger can be omitted. All we have to do // is look for a semicolon that is not part of an string or comment. -func Xsqlite3_complete(tls *libc.TLS, zSql uintptr) int32 { /* sqlite3.c:168133:16: */ +func Xsqlite3_complete(tls *libc.TLS, zSql uintptr) int32 { /* sqlite3.c:168190:16: */ var state U8 = U8(0) // Current state, using numbers defined in header comment var token U8 @@ -148831,12 +148862,12 @@ var trans = [8][8]U8{ /* 5 TRIGGER: */ {U8(6), U8(5), U8(5), U8(5), U8(5), U8(5), U8(5), U8(5)}, /* 6 SEMI: */ {U8(6), U8(6), U8(5), U8(5), U8(5), U8(5), U8(5), U8(7)}, /* 7 END: */ {U8(1), U8(7), U8(5), U8(5), U8(5), U8(5), U8(5), U8(5)}, -} /* sqlite3.c:168141:19 */ +} /* sqlite3.c:168198:19 */ // This routine is the same as the sqlite3_complete() routine described // above, except that the parameter is required to be UTF-16 encoded, not // UTF-8. -func Xsqlite3_complete16(tls *libc.TLS, zSql uintptr) int32 { /* sqlite3.c:168298:16: */ +func Xsqlite3_complete16(tls *libc.TLS, zSql uintptr) int32 { /* sqlite3.c:168355:16: */ var pVal uintptr var zSql8 uintptr var rc int32 @@ -148863,7 +148894,7 @@ func Xsqlite3_complete16(tls *libc.TLS, zSql uintptr) int32 { /* sqlite3.c:16829 // This is an extension initializer that is a no-op and always // succeeds, except that it fails if the fault-simulation is set // to 500. -func sqlite3TestExtInit(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:168450:12: */ +func sqlite3TestExtInit(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:168507:12: */ _ = db return Xsqlite3FaultSim(tls, 500) } @@ -148875,11 +148906,11 @@ var sqlite3BuiltinExtensions = [4]uintptr{ 0, 0, 0, -} /* sqlite3.c:168477:12 */ +} /* sqlite3.c:168534:12 */ // IMPLEMENTATION-OF: R-53536-42575 The sqlite3_libversion() function returns // a pointer to the to the sqlite3_version[] string constant. -func Xsqlite3_libversion(tls *libc.TLS) uintptr { /* sqlite3.c:168524:23: */ +func Xsqlite3_libversion(tls *libc.TLS) uintptr { /* sqlite3.c:168581:23: */ return uintptr(unsafe.Pointer(&Xsqlite3_version)) } @@ -148892,14 +148923,14 @@ func Xsqlite3_libversion(tls *libc.TLS) uintptr { /* sqlite3.c:168524:23: */ // IMPLEMENTATION-OF: R-35210-63508 The sqlite3_libversion_number() function // returns an integer equal to SQLITE_VERSION_NUMBER. -func Xsqlite3_libversion_number(tls *libc.TLS) int32 { /* sqlite3.c:168537:16: */ +func Xsqlite3_libversion_number(tls *libc.TLS) int32 { /* sqlite3.c:168594:16: */ return SQLITE_VERSION_NUMBER } // IMPLEMENTATION-OF: R-20790-14025 The sqlite3_threadsafe() function returns // zero if and only if SQLite was compiled with mutexing code omitted due to // the SQLITE_THREADSAFE compile-time option being set to 0. -func Xsqlite3_threadsafe(tls *libc.TLS) int32 { /* sqlite3.c:168543:16: */ +func Xsqlite3_threadsafe(tls *libc.TLS) int32 { /* sqlite3.c:168600:16: */ return SQLITE_THREADSAFE } @@ -148912,14 +148943,14 @@ func Xsqlite3_threadsafe(tls *libc.TLS) int32 { /* sqlite3.c:168543:16: */ // temporary files. // // See also the "PRAGMA temp_store_directory" SQL command. -var Xsqlite3_temp_directory uintptr = uintptr(0) /* sqlite3.c:168574:17 */ +var Xsqlite3_temp_directory uintptr = uintptr(0) /* sqlite3.c:168631:17 */ // If the following global variable points to a string which is the // name of a directory, then that directory will be used to store // all database files specified with a relative pathname. // // See also the "PRAGMA data_store_directory" SQL command. -var Xsqlite3_data_directory uintptr = uintptr(0) /* sqlite3.c:168583:17 */ +var Xsqlite3_data_directory uintptr = uintptr(0) /* sqlite3.c:168640:17 */ // Initialize SQLite. // @@ -148950,7 +148981,7 @@ var Xsqlite3_data_directory uintptr = uintptr(0) /* sqlite3.c:168583:17 */ // // * Recursive calls to this routine from thread X return immediately // without blocking. -func Xsqlite3_initialize(tls *libc.TLS) int32 { /* sqlite3.c:168616:16: */ +func Xsqlite3_initialize(tls *libc.TLS) int32 { /* sqlite3.c:168673:16: */ var pMainMtx uintptr // The main static mutex var rc int32 // Result code @@ -149076,7 +149107,7 @@ func Xsqlite3_initialize(tls *libc.TLS) int32 { /* sqlite3.c:168616:16: */ // routine is not threadsafe. But it is safe to invoke this routine // on when SQLite is already shut down. If SQLite is already shut down // when this routine is invoked, then this routine is a harmless no-op. -func Xsqlite3_shutdown(tls *libc.TLS) int32 { /* sqlite3.c:168791:16: */ +func Xsqlite3_shutdown(tls *libc.TLS) int32 { /* sqlite3.c:168848:16: */ if Xsqlite3Config.FisInit != 0 { Xsqlite3_os_end(tls) @@ -149115,7 +149146,7 @@ func Xsqlite3_shutdown(tls *libc.TLS) int32 { /* sqlite3.c:168791:16: */ // database connections or memory allocations. This routine is not // threadsafe. Failure to heed these warnings can lead to unpredictable // behavior. -func Xsqlite3_config(tls *libc.TLS, op int32, va uintptr) int32 { /* sqlite3.c:168845:16: */ +func Xsqlite3_config(tls *libc.TLS, op int32, va uintptr) int32 { /* sqlite3.c:168902:16: */ var ap Va_list _ = ap var rc int32 = SQLITE_OK @@ -149123,7 +149154,7 @@ func Xsqlite3_config(tls *libc.TLS, op int32, va uintptr) int32 { /* sqlite3.c:1 // sqlite3_config() shall return SQLITE_MISUSE if it is invoked while // the SQLite library is in use. if Xsqlite3Config.FisInit != 0 { - return Xsqlite3MisuseError(tls, 168851) + return Xsqlite3MisuseError(tls, 168908) } ap = va @@ -149393,7 +149424,7 @@ func Xsqlite3_config(tls *libc.TLS, op int32, va uintptr) int32 { /* sqlite3.c:1 // space for the lookaside memory is obtained from sqlite3_malloc(). // If pStart is not NULL then it is sz*cnt bytes of memory to use for // the lookaside memory. -func setupLookaside(tls *libc.TLS, db uintptr, pBuf uintptr, sz int32, cnt int32) int32 { /* sqlite3.c:169163:12: */ +func setupLookaside(tls *libc.TLS, db uintptr, pBuf uintptr, sz int32, cnt int32) int32 { /* sqlite3.c:169220:12: */ var pStart uintptr var szAlloc Sqlite3_int64 = Sqlite3_int64(sz) * Sqlite3_int64(cnt) var nBig int32 // Number of full-size slots @@ -149491,13 +149522,13 @@ func setupLookaside(tls *libc.TLS, db uintptr, pBuf uintptr, sz int32, cnt int32 } // Return the mutex associated with a database connection. -func Xsqlite3_db_mutex(tls *libc.TLS, db uintptr) uintptr { /* sqlite3.c:169263:26: */ +func Xsqlite3_db_mutex(tls *libc.TLS, db uintptr) uintptr { /* sqlite3.c:169320:26: */ return (*Sqlite3)(unsafe.Pointer(db)).Fmutex } // Free up as much memory as we can from the given database // connection. -func Xsqlite3_db_release_memory(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:169277:16: */ +func Xsqlite3_db_release_memory(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:169334:16: */ var i int32 Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) @@ -149516,7 +149547,7 @@ func Xsqlite3_db_release_memory(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c: // Flush any dirty pages in the pager-cache for any attached database // to disk. -func Xsqlite3_db_cacheflush(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:169301:16: */ +func Xsqlite3_db_cacheflush(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:169358:16: */ var i int32 var rc int32 = SQLITE_OK var bSeenBusy int32 = 0 @@ -149545,7 +149576,7 @@ func Xsqlite3_db_cacheflush(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:1693 } // Configuration settings for an individual database connection -func Xsqlite3_db_config(tls *libc.TLS, db uintptr, op int32, va uintptr) int32 { /* sqlite3.c:169330:16: */ +func Xsqlite3_db_config(tls *libc.TLS, db uintptr, op int32, va uintptr) int32 { /* sqlite3.c:169387:16: */ var ap Va_list _ = ap var rc int32 @@ -149624,11 +149655,11 @@ var aFlagOp = [16]struct { {Fop: SQLITE_DBCONFIG_DQS_DML, Fmask: U32(SQLITE_DqsDML)}, {Fop: SQLITE_DBCONFIG_LEGACY_FILE_FORMAT, Fmask: U32(SQLITE_LegacyFileFmt)}, {Fop: SQLITE_DBCONFIG_TRUSTED_SCHEMA, Fmask: U32(SQLITE_TrustedSchema)}, -} /* sqlite3.c:169353:9 */ +} /* sqlite3.c:169410:9 */ // This is the default collating function named "BINARY" which is always // available. -func binCollFunc(tls *libc.TLS, NotUsed uintptr, nKey1 int32, pKey1 uintptr, nKey2 int32, pKey2 uintptr) int32 { /* sqlite3.c:169405:12: */ +func binCollFunc(tls *libc.TLS, NotUsed uintptr, nKey1 int32, pKey1 uintptr, nKey2 int32, pKey2 uintptr) int32 { /* sqlite3.c:169462:12: */ var rc int32 var n int32 _ = NotUsed @@ -149650,7 +149681,7 @@ func binCollFunc(tls *libc.TLS, NotUsed uintptr, nKey1 int32, pKey1 uintptr, nKe // This is the collating function named "RTRIM" which is always // available. Ignore trailing spaces. -func rtrimCollFunc(tls *libc.TLS, pUser uintptr, nKey1 int32, pKey1 uintptr, nKey2 int32, pKey2 uintptr) int32 { /* sqlite3.c:169428:12: */ +func rtrimCollFunc(tls *libc.TLS, pUser uintptr, nKey1 int32, pKey1 uintptr, nKey2 int32, pKey2 uintptr) int32 { /* sqlite3.c:169485:12: */ var pK1 uintptr = pKey1 var pK2 uintptr = pKey2 for nKey1 != 0 && int32(*(*U8)(unsafe.Pointer(pK1 + uintptr(nKey1-1)))) == ' ' { @@ -149663,7 +149694,7 @@ func rtrimCollFunc(tls *libc.TLS, pUser uintptr, nKey1 int32, pKey1 uintptr, nKe } // Return true if CollSeq is the default built-in BINARY. -func Xsqlite3IsBinary(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:169443:20: */ +func Xsqlite3IsBinary(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:169500:20: */ return libc.Bool32(p == uintptr(0) || (*CollSeq)(unsafe.Pointer(p)).FxCmp == *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32 @@ -149677,7 +149708,7 @@ func Xsqlite3IsBinary(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:169443:20: // extends only to the 26 characters used in the English language. // // At the moment there is only a UTF-8 implementation. -func nocaseCollatingFunc(tls *libc.TLS, NotUsed uintptr, nKey1 int32, pKey1 uintptr, nKey2 int32, pKey2 uintptr) int32 { /* sqlite3.c:169457:12: */ +func nocaseCollatingFunc(tls *libc.TLS, NotUsed uintptr, nKey1 int32, pKey1 uintptr, nKey2 int32, pKey2 uintptr) int32 { /* sqlite3.c:169514:12: */ var r int32 = Xsqlite3_strnicmp(tls, pKey1, pKey2, func() int32 { if nKey1 < nKey2 { @@ -149693,39 +149724,39 @@ func nocaseCollatingFunc(tls *libc.TLS, NotUsed uintptr, nKey1 int32, pKey1 uint } // Return the ROWID of the most recent insert -func Xsqlite3_last_insert_rowid(tls *libc.TLS, db uintptr) Sqlite_int64 { /* sqlite3.c:169474:25: */ +func Xsqlite3_last_insert_rowid(tls *libc.TLS, db uintptr) Sqlite_int64 { /* sqlite3.c:169531:25: */ return (*Sqlite3)(unsafe.Pointer(db)).FlastRowid } // Set the value returned by the sqlite3_last_insert_rowid() API function. -func Xsqlite3_set_last_insert_rowid(tls *libc.TLS, db uintptr, iRowid Sqlite3_int64) { /* sqlite3.c:169487:17: */ +func Xsqlite3_set_last_insert_rowid(tls *libc.TLS, db uintptr, iRowid Sqlite3_int64) { /* sqlite3.c:169544:17: */ Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) (*Sqlite3)(unsafe.Pointer(db)).FlastRowid = iRowid Xsqlite3_mutex_leave(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) } // Return the number of changes in the most recent call to sqlite3_exec(). -func Xsqlite3_changes64(tls *libc.TLS, db uintptr) Sqlite3_int64 { /* sqlite3.c:169502:26: */ +func Xsqlite3_changes64(tls *libc.TLS, db uintptr) Sqlite3_int64 { /* sqlite3.c:169559:26: */ return (*Sqlite3)(unsafe.Pointer(db)).FnChange } -func Xsqlite3_changes(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:169511:16: */ +func Xsqlite3_changes(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:169568:16: */ return int32(Xsqlite3_changes64(tls, db)) } // Return the number of changes since the database handle was opened. -func Xsqlite3_total_changes64(tls *libc.TLS, db uintptr) Sqlite3_int64 { /* sqlite3.c:169518:26: */ +func Xsqlite3_total_changes64(tls *libc.TLS, db uintptr) Sqlite3_int64 { /* sqlite3.c:169575:26: */ return (*Sqlite3)(unsafe.Pointer(db)).FnTotalChange } -func Xsqlite3_total_changes(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:169527:16: */ +func Xsqlite3_total_changes(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:169584:16: */ return int32(Xsqlite3_total_changes64(tls, db)) } // Close all open savepoints. This function only manipulates fields of the // database handle object, it does not close any savepoints that may be open // at the b-tree/pager level. -func Xsqlite3CloseSavepoints(tls *libc.TLS, db uintptr) { /* sqlite3.c:169536:21: */ +func Xsqlite3CloseSavepoints(tls *libc.TLS, db uintptr) { /* sqlite3.c:169593:21: */ for (*Sqlite3)(unsafe.Pointer(db)).FpSavepoint != 0 { var pTmp uintptr = (*Sqlite3)(unsafe.Pointer(db)).FpSavepoint (*Sqlite3)(unsafe.Pointer(db)).FpSavepoint = (*Savepoint)(unsafe.Pointer(pTmp)).FpNext @@ -149740,7 +149771,7 @@ func Xsqlite3CloseSavepoints(tls *libc.TLS, db uintptr) { /* sqlite3.c:169536:21 // if this is not the last copy of the function, do not invoke it. Multiple // copies of a single function are created when create_function() is called // with SQLITE_ANY as the encoding. -func functionDestroy(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:169553:13: */ +func functionDestroy(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:169610:13: */ var pDestructor uintptr pDestructor = *(*uintptr)(unsafe.Pointer(p + 36)) @@ -149755,7 +149786,7 @@ func functionDestroy(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:169553 // Disconnect all sqlite3_vtab objects that belong to database connection // db. This is called when db is being closed. -func disconnectAllVtab(tls *libc.TLS, db uintptr) { /* sqlite3.c:169570:13: */ +func disconnectAllVtab(tls *libc.TLS, db uintptr) { /* sqlite3.c:169627:13: */ var i int32 var p uintptr Xsqlite3BtreeEnterAll(tls, db) @@ -149782,7 +149813,7 @@ func disconnectAllVtab(tls *libc.TLS, db uintptr) { /* sqlite3.c:169570:13: */ // Return TRUE if database connection db has unfinalized prepared // statements or unfinished sqlite3_backup objects. -func connectionIsBusy(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:169601:12: */ +func connectionIsBusy(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:169658:12: */ var j int32 if (*Sqlite3)(unsafe.Pointer(db)).FpVdbe != 0 { @@ -149798,14 +149829,14 @@ func connectionIsBusy(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:169601:12: } // Close an existing SQLite database -func sqlite3Close(tls *libc.TLS, db uintptr, forceZombie int32) int32 { /* sqlite3.c:169615:12: */ +func sqlite3Close(tls *libc.TLS, db uintptr, forceZombie int32) int32 { /* sqlite3.c:169672:12: */ if !(db != 0) { // EVIDENCE-OF: R-63257-11740 Calling sqlite3_close() or // sqlite3_close_v2() with a NULL pointer argument is a harmless no-op. return SQLITE_OK } if !(Xsqlite3SafetyCheckSickOrOk(tls, db) != 0) { - return Xsqlite3MisuseError(tls, 169622) + return Xsqlite3MisuseError(tls, 169679) } Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) if int32((*Sqlite3)(unsafe.Pointer(db)).FmTrace)&SQLITE_TRACE_CLOSE != 0 { @@ -149842,7 +149873,7 @@ func sqlite3Close(tls *libc.TLS, db uintptr, forceZombie int32) int32 { /* sqlit // Return the transaction state for a single databse, or the maximum // transaction state over all attached databases if zSchema is null. -func Xsqlite3_txn_state(tls *libc.TLS, db uintptr, zSchema uintptr) int32 { /* sqlite3.c:169669:16: */ +func Xsqlite3_txn_state(tls *libc.TLS, db uintptr, zSchema uintptr) int32 { /* sqlite3.c:169726:16: */ var iDb int32 var nDb int32 var iTxn int32 = -1 @@ -149879,11 +149910,11 @@ func Xsqlite3_txn_state(tls *libc.TLS, db uintptr, zSchema uintptr) int32 { /* s // version forces the connection to become a zombie if there are // unclosed resources, and arranges for deallocation when the last // prepare statement or sqlite3_backup closes. -func Xsqlite3_close(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:169704:16: */ +func Xsqlite3_close(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:169761:16: */ return sqlite3Close(tls, db, 0) } -func Xsqlite3_close_v2(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:169705:16: */ +func Xsqlite3_close_v2(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:169762:16: */ return sqlite3Close(tls, db, 1) } @@ -149893,7 +149924,7 @@ func Xsqlite3_close_v2(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:169705:16 // has been a prior call to sqlite3_close(db) or sqlite3_close_v2(db)) and // every sqlite3_stmt has now been finalized and every sqlite3_backup has // finished, then free all resources. -func Xsqlite3LeaveMutexAndCloseZombie(tls *libc.TLS, db uintptr) { /* sqlite3.c:169716:21: */ +func Xsqlite3LeaveMutexAndCloseZombie(tls *libc.TLS, db uintptr) { /* sqlite3.c:169773:21: */ var i uintptr // Hash table iterator var j int32 @@ -150003,7 +150034,7 @@ func Xsqlite3LeaveMutexAndCloseZombie(tls *libc.TLS, db uintptr) { /* sqlite3.c: // breaker") and made to return tripCode if there are any further // attempts to use that cursor. Read cursors remain open and valid // but are "saved" in case the table pages are moved around. -func Xsqlite3RollbackAll(tls *libc.TLS, db uintptr, tripCode int32) { /* sqlite3.c:169839:21: */ +func Xsqlite3RollbackAll(tls *libc.TLS, db uintptr, tripCode int32) { /* sqlite3.c:169896:21: */ var i int32 var inTrans int32 = 0 var schemaChange int32 @@ -150053,7 +150084,7 @@ func Xsqlite3RollbackAll(tls *libc.TLS, db uintptr, tripCode int32) { /* sqlite3 // Return a static string that describes the kind of error specified in the // argument. -func Xsqlite3ErrStr(tls *libc.TLS, rc int32) uintptr { /* sqlite3.c:170000:27: */ +func Xsqlite3ErrStr(tls *libc.TLS, rc int32) uintptr { /* sqlite3.c:170057:27: */ var zErr uintptr = ts + 23269 /* "unknown error" */ switch rc { case SQLITE_ABORT | int32(2)<<8: @@ -150117,7 +150148,7 @@ var aMsg = [29]uintptr{ ts + 23765, ts + 23788, ts + 23809, -} /* sqlite3.c:170001:20 */ +} /* sqlite3.c:170058:20 */ // This routine implements a busy callback that sleeps and tries // again until a timeout value is reached. The timeout value is @@ -150126,7 +150157,7 @@ var aMsg = [29]uintptr{ // // Return non-zero to retry the lock. Return zero to stop trying // and cause SQLite to return SQLITE_BUSY. -func sqliteDefaultBusyCallback(tls *libc.TLS, ptr uintptr, count int32) int32 { /* sqlite3.c:170070:12: */ +func sqliteDefaultBusyCallback(tls *libc.TLS, ptr uintptr, count int32) int32 { /* sqlite3.c:170127:12: */ var db uintptr = ptr var tmout int32 = (*Sqlite3)(unsafe.Pointer(db)).FbusyTimeout var delay int32 @@ -150149,8 +150180,8 @@ func sqliteDefaultBusyCallback(tls *libc.TLS, ptr uintptr, count int32) int32 { return 1 } -var delays = [12]U8{U8(1), U8(2), U8(5), U8(10), U8(15), U8(20), U8(25), U8(25), U8(25), U8(50), U8(50), U8(100)} /* sqlite3.c:170077:19 */ -var totals = [12]U8{U8(0), U8(1), U8(3), U8(8), U8(18), U8(33), U8(53), U8(78), U8(103), U8(128), U8(178), U8(228)} /* sqlite3.c:170079:19 */ +var delays = [12]U8{U8(1), U8(2), U8(5), U8(10), U8(15), U8(20), U8(25), U8(25), U8(25), U8(50), U8(50), U8(100)} /* sqlite3.c:170134:19 */ +var totals = [12]U8{U8(0), U8(1), U8(3), U8(8), U8(18), U8(33), U8(53), U8(78), U8(103), U8(128), U8(178), U8(228)} /* sqlite3.c:170136:19 */ // Invoke the given busy handler. // @@ -150159,7 +150190,7 @@ var totals = [12]U8{U8(0), U8(1), U8(3), U8(8), U8(18), U8(33), U8(53), U8(78), // // If this routine returns non-zero, the lock is retried. If it // returns 0, the operation aborts with an SQLITE_BUSY error. -func Xsqlite3InvokeBusyHandler(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:170122:20: */ +func Xsqlite3InvokeBusyHandler(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:170179:20: */ var rc int32 if (*BusyHandler)(unsafe.Pointer(p)).FxBusyHandler == uintptr(0) || (*BusyHandler)(unsafe.Pointer(p)).FnBusy < 0 { return 0 @@ -150177,7 +150208,7 @@ func Xsqlite3InvokeBusyHandler(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:17 // This routine sets the busy callback for an Sqlite database to the // given callback function with the given argument. -func Xsqlite3_busy_handler(tls *libc.TLS, db uintptr, xBusy uintptr, pArg uintptr) int32 { /* sqlite3.c:170138:16: */ +func Xsqlite3_busy_handler(tls *libc.TLS, db uintptr, xBusy uintptr, pArg uintptr) int32 { /* sqlite3.c:170195:16: */ Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) (*Sqlite3)(unsafe.Pointer(db)).FbusyHandler.FxBusyHandler = xBusy (*Sqlite3)(unsafe.Pointer(db)).FbusyHandler.FpBusyArg = pArg @@ -150190,7 +150221,7 @@ func Xsqlite3_busy_handler(tls *libc.TLS, db uintptr, xBusy uintptr, pArg uintpt // This routine sets the progress callback for an Sqlite database to the // given callback function with the given argument. The progress callback will // be invoked every nOps opcodes. -func Xsqlite3_progress_handler(tls *libc.TLS, db uintptr, nOps int32, xProgress uintptr, pArg uintptr) { /* sqlite3.c:170161:17: */ +func Xsqlite3_progress_handler(tls *libc.TLS, db uintptr, nOps int32, xProgress uintptr, pArg uintptr) { /* sqlite3.c:170218:17: */ Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) if nOps > 0 { (*Sqlite3)(unsafe.Pointer(db)).FxProgress = xProgress @@ -150206,7 +150237,7 @@ func Xsqlite3_progress_handler(tls *libc.TLS, db uintptr, nOps int32, xProgress // This routine installs a default busy handler that waits for the // specified number of milliseconds before returning 0. -func Xsqlite3_busy_timeout(tls *libc.TLS, db uintptr, ms int32) int32 { /* sqlite3.c:170192:16: */ +func Xsqlite3_busy_timeout(tls *libc.TLS, db uintptr, ms int32) int32 { /* sqlite3.c:170249:16: */ if ms > 0 { Xsqlite3_busy_handler(tls, db, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32) int32 @@ -150220,7 +150251,7 @@ func Xsqlite3_busy_timeout(tls *libc.TLS, db uintptr, ms int32) int32 { /* sqlit } // Cause any pending operation to stop at its earliest opportunity. -func Xsqlite3_interrupt(tls *libc.TLS, db uintptr) { /* sqlite3.c:170209:17: */ +func Xsqlite3_interrupt(tls *libc.TLS, db uintptr) { /* sqlite3.c:170266:17: */ libc.AtomicStoreNInt32(db+312, int32(1), 0) } @@ -150228,7 +150259,7 @@ func Xsqlite3_interrupt(tls *libc.TLS, db uintptr) { /* sqlite3.c:170209:17: */ // that it is designed to be called by internal code. The difference is // that if a malloc() fails in sqlite3_create_function(), an error code // is returned and the mallocFailed flag cleared. -func Xsqlite3CreateFunc(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) int32 { /* sqlite3.c:170226:20: */ +func Xsqlite3CreateFunc(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) int32 { /* sqlite3.c:170283:20: */ var p uintptr var extraFlags int32 @@ -150238,7 +150269,7 @@ func Xsqlite3CreateFunc(tls *libc.TLS, db uintptr, zFunctionName uintptr, nArg i libc.Bool32(xValue == uintptr(0)) != libc.Bool32(xInverse == uintptr(0)) || (nArg < -1 || nArg > SQLITE_MAX_FUNCTION_ARG) || 255 < Xsqlite3Strlen30(tls, zFunctionName) { - return Xsqlite3MisuseError(tls, 170251) + return Xsqlite3MisuseError(tls, 170308) } extraFlags = enc & (SQLITE_DETERMINISTIC | SQLITE_DIRECTONLY | SQLITE_SUBTYPE | SQLITE_INNOCUOUS) @@ -150343,7 +150374,7 @@ func Xsqlite3CreateFunc(tls *libc.TLS, db uintptr, zFunctionName uintptr, nArg i // sqlite3_create_function() // 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) int32 { /* sqlite3.c:170360:12: */ +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) int32 { /* sqlite3.c:170417:12: */ var rc int32 var pArg uintptr rc = SQLITE_ERROR @@ -150385,22 +150416,22 @@ out: } // 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) int32 { /* sqlite3.c:170411:16: */ +func Xsqlite3_create_function(tls *libc.TLS, db uintptr, zFunc uintptr, nArg int32, enc int32, p uintptr, xSFunc uintptr, xStep uintptr, xFinal uintptr) int32 { /* sqlite3.c:170468:16: */ return createFunctionApi(tls, db, zFunc, nArg, enc, p, xSFunc, xStep, 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) int32 { /* sqlite3.c:170424:16: */ +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) int32 { /* sqlite3.c:170481:16: */ return createFunctionApi(tls, db, zFunc, nArg, enc, p, xSFunc, xStep, xFinal, uintptr(0), uintptr(0), 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) int32 { /* sqlite3.c:170438:16: */ +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) int32 { /* sqlite3.c:170495:16: */ return createFunctionApi(tls, db, zFunc, nArg, enc, p, uintptr(0), xStep, xFinal, xValue, xInverse, xDestroy) } -func Xsqlite3_create_function16(tls *libc.TLS, db uintptr, zFunctionName uintptr, nArg int32, eTextRep int32, p uintptr, xSFunc uintptr, xStep uintptr, xFinal uintptr) int32 { /* sqlite3.c:170455:16: */ +func Xsqlite3_create_function16(tls *libc.TLS, db uintptr, zFunctionName uintptr, nArg int32, eTextRep int32, p uintptr, xSFunc uintptr, xStep uintptr, xFinal uintptr) int32 { /* sqlite3.c:170512:16: */ var rc int32 var zFunc8 uintptr @@ -150420,7 +150451,7 @@ func Xsqlite3_create_function16(tls *libc.TLS, db uintptr, zFunctionName uintptr // SQL function that use this routine so that the functions will exist // for name resolution but are actually overloaded by the xFindFunction // method of virtual tables. -func sqlite3InvalidFunction(tls *libc.TLS, context uintptr, NotUsed int32, NotUsed2 uintptr) { /* sqlite3.c:170491:13: */ +func sqlite3InvalidFunction(tls *libc.TLS, context uintptr, NotUsed int32, NotUsed2 uintptr) { /* sqlite3.c:170548:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -150444,7 +150475,7 @@ func sqlite3InvalidFunction(tls *libc.TLS, context uintptr, NotUsed int32, NotUs // should call this routine to make sure the global function exists. // A global function must exist in order for name resolution to work // properly. -func Xsqlite3_overload_function(tls *libc.TLS, db uintptr, zName uintptr, nArg int32) int32 { /* sqlite3.c:170517:16: */ +func Xsqlite3_overload_function(tls *libc.TLS, db uintptr, zName uintptr, nArg int32) int32 { /* sqlite3.c:170574:16: */ var rc int32 var zCopy uintptr @@ -150470,7 +150501,7 @@ func Xsqlite3_overload_function(tls *libc.TLS, db uintptr, zName uintptr, nArg i // A NULL trace function means that no tracing is executes. A non-NULL // 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) uintptr { /* sqlite3.c:170550:17: */ +func Xsqlite3_trace(tls *libc.TLS, db uintptr, xTrace uintptr, pArg uintptr) uintptr { /* sqlite3.c:170607:17: */ var pOld uintptr Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) @@ -150488,7 +150519,7 @@ func Xsqlite3_trace(tls *libc.TLS, db uintptr, xTrace uintptr, pArg uintptr) uin } // Register a trace callback using the version-2 interface. -func Xsqlite3_trace_v2(tls *libc.TLS, db uintptr, mTrace uint32, xTrace uintptr, pArg uintptr) int32 { /* sqlite3.c:170571:16: */ +func Xsqlite3_trace_v2(tls *libc.TLS, db uintptr, mTrace uint32, xTrace uintptr, pArg uintptr) int32 { /* sqlite3.c:170628:16: */ Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) if mTrace == uint32(0) { xTrace = uintptr(0) @@ -150509,7 +150540,7 @@ func Xsqlite3_trace_v2(tls *libc.TLS, db uintptr, mTrace uint32, xTrace uintptr, // A NULL profile function means that no profiling is executes. A non-NULL // 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) uintptr { /* sqlite3.c:170601:17: */ +func Xsqlite3_profile(tls *libc.TLS, db uintptr, xProfile uintptr, pArg uintptr) uintptr { /* sqlite3.c:170658:17: */ var pOld uintptr Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) @@ -150527,7 +150558,7 @@ func Xsqlite3_profile(tls *libc.TLS, db uintptr, xProfile uintptr, pArg uintptr) // Register a function to be invoked when a transaction commits. // 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) uintptr { /* sqlite3.c:170631:17: */ +func Xsqlite3_commit_hook(tls *libc.TLS, db uintptr, xCallback uintptr, pArg uintptr) uintptr { /* sqlite3.c:170688:17: */ var pOld uintptr Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) @@ -150540,7 +150571,7 @@ func Xsqlite3_commit_hook(tls *libc.TLS, db uintptr, xCallback uintptr, pArg uin // 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) uintptr { /* sqlite3.c:170656:17: */ +func Xsqlite3_update_hook(tls *libc.TLS, db uintptr, xCallback uintptr, pArg uintptr) uintptr { /* sqlite3.c:170713:17: */ var pRet uintptr Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) @@ -150553,7 +150584,7 @@ func Xsqlite3_update_hook(tls *libc.TLS, db uintptr, xCallback uintptr, pArg uin // 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) uintptr { /* sqlite3.c:170681:17: */ +func Xsqlite3_rollback_hook(tls *libc.TLS, db uintptr, xCallback uintptr, pArg uintptr) uintptr { /* sqlite3.c:170738:17: */ var pRet uintptr Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) @@ -150566,7 +150597,7 @@ func Xsqlite3_rollback_hook(tls *libc.TLS, db uintptr, xCallback uintptr, pArg u // 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) uintptr { /* sqlite3.c:170707:17: */ +func Xsqlite3_preupdate_hook(tls *libc.TLS, db uintptr, xCallback uintptr, pArg uintptr) uintptr { /* sqlite3.c:170764:17: */ var pRet uintptr Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) pRet = (*Sqlite3)(unsafe.Pointer(db)).FpPreUpdateArg @@ -150578,7 +150609,7 @@ func Xsqlite3_preupdate_hook(tls *libc.TLS, db uintptr, xCallback uintptr, pArg // 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) int32 { /* sqlite3.c:170727:16: */ +func Xsqlite3_autovacuum_pages(tls *libc.TLS, db uintptr, xCallback uintptr, pArg uintptr, xDestructor uintptr) int32 { /* sqlite3.c:170784:16: */ Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) if (*Sqlite3)(unsafe.Pointer(db)).FxAutovacDestr != 0 { (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3)(unsafe.Pointer(db)).FxAutovacDestr})).f(tls, (*Sqlite3)(unsafe.Pointer(db)).FpAutovacPagesArg) @@ -150594,7 +150625,7 @@ func Xsqlite3_autovacuum_pages(tls *libc.TLS, db uintptr, xCallback uintptr, pAr // Invoke sqlite3_wal_checkpoint if the number of frames in the log file // is greater than sqlite3.pWalArg cast to an integer (the value configured by // wal_autocheckpoint()). -func Xsqlite3WalDefaultHook(tls *libc.TLS, pClientData uintptr, db uintptr, zDb uintptr, nFrame int32) int32 { /* sqlite3.c:170758:20: */ +func Xsqlite3WalDefaultHook(tls *libc.TLS, pClientData uintptr, db uintptr, zDb uintptr, nFrame int32) int32 { /* sqlite3.c:170815:20: */ if nFrame >= int32(pClientData) { Xsqlite3BeginBenignMalloc(tls) Xsqlite3_wal_checkpoint(tls, db, zDb) @@ -150612,7 +150643,7 @@ func Xsqlite3WalDefaultHook(tls *libc.TLS, pClientData uintptr, db uintptr, zDb // registered using sqlite3_wal_hook(). Likewise, registering a callback // using sqlite3_wal_hook() disables the automatic checkpoint mechanism // configured by this function. -func Xsqlite3_wal_autocheckpoint(tls *libc.TLS, db uintptr, nFrame int32) int32 { /* sqlite3.c:170784:16: */ +func Xsqlite3_wal_autocheckpoint(tls *libc.TLS, db uintptr, nFrame int32) int32 { /* sqlite3.c:170841:16: */ if nFrame > 0 { Xsqlite3_wal_hook(tls, db, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, uintptr, int32) int32 @@ -150625,7 +150656,7 @@ func Xsqlite3_wal_autocheckpoint(tls *libc.TLS, db uintptr, nFrame int32) int32 // 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) uintptr { /* sqlite3.c:170805:17: */ +func Xsqlite3_wal_hook(tls *libc.TLS, db uintptr, xCallback uintptr, pArg uintptr) uintptr { /* sqlite3.c:170862:17: */ var pRet uintptr Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) pRet = (*Sqlite3)(unsafe.Pointer(db)).FpWalArg @@ -150636,7 +150667,7 @@ func Xsqlite3_wal_hook(tls *libc.TLS, db uintptr, xCallback uintptr, pArg uintpt } // Checkpoint database zDb. -func Xsqlite3_wal_checkpoint_v2(tls *libc.TLS, db uintptr, zDb uintptr, eMode int32, pnLog uintptr, pnCkpt uintptr) int32 { /* sqlite3.c:170832:16: */ +func Xsqlite3_wal_checkpoint_v2(tls *libc.TLS, db uintptr, zDb uintptr, eMode int32, pnLog uintptr, pnCkpt uintptr) int32 { /* sqlite3.c:170889:16: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -150686,7 +150717,7 @@ func Xsqlite3_wal_checkpoint_v2(tls *libc.TLS, db uintptr, zDb uintptr, eMode in // Checkpoint database zDb. If zDb is NULL, or if the buffer zDb points // to contains a zero-length string, all attached databases are // checkpointed. -func Xsqlite3_wal_checkpoint(tls *libc.TLS, db uintptr, zDb uintptr) int32 { /* sqlite3.c:170896:16: */ +func Xsqlite3_wal_checkpoint(tls *libc.TLS, db uintptr, zDb uintptr) int32 { /* sqlite3.c:170953:16: */ // EVIDENCE-OF: R-41613-20553 The sqlite3_wal_checkpoint(D,X) is equivalent to // sqlite3_wal_checkpoint_v2(D,X,SQLITE_CHECKPOINT_PASSIVE,0,0). return Xsqlite3_wal_checkpoint_v2(tls, db, zDb, SQLITE_CHECKPOINT_PASSIVE, uintptr(0), uintptr(0)) @@ -150710,7 +150741,7 @@ func Xsqlite3_wal_checkpoint(tls *libc.TLS, db uintptr, zDb uintptr) int32 { /* // // Parameter eMode is one of SQLITE_CHECKPOINT_PASSIVE, FULL, RESTART // or TRUNCATE. -func Xsqlite3Checkpoint(tls *libc.TLS, db uintptr, iDb int32, eMode int32, pnLog uintptr, pnCkpt uintptr) int32 { /* sqlite3.c:170923:20: */ +func Xsqlite3Checkpoint(tls *libc.TLS, db uintptr, iDb int32, eMode int32, pnLog uintptr, pnCkpt uintptr) int32 { /* sqlite3.c:170980:20: */ var rc int32 = SQLITE_OK // Return code var i int32 // Used to iterate through attached dbs var bBusy int32 = 0 // True if SQLITE_BUSY has been encountered @@ -150752,19 +150783,19 @@ func Xsqlite3Checkpoint(tls *libc.TLS, db uintptr, iDb int32, eMode int32, pnLog // 2 2 memory (return 1) // 2 0 memory (return 1) // 3 any memory (return 1) -func Xsqlite3TempInMemory(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:170969:20: */ +func Xsqlite3TempInMemory(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:171026:20: */ return libc.Bool32(int32((*Sqlite3)(unsafe.Pointer(db)).Ftemp_store) == 2) } // Return UTF-8 encoded English language explanation of the most recent // error. -func Xsqlite3_errmsg(tls *libc.TLS, db uintptr) uintptr { /* sqlite3.c:170990:23: */ +func Xsqlite3_errmsg(tls *libc.TLS, db uintptr) uintptr { /* sqlite3.c:171047:23: */ var z uintptr if !(db != 0) { return Xsqlite3ErrStr(tls, SQLITE_NOMEM) } if !(Xsqlite3SafetyCheckSickOrOk(tls, db) != 0) { - return Xsqlite3ErrStr(tls, Xsqlite3MisuseError(tls, 170996)) + return Xsqlite3ErrStr(tls, Xsqlite3MisuseError(tls, 171053)) } Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) if (*Sqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 { @@ -150786,7 +150817,7 @@ func Xsqlite3_errmsg(tls *libc.TLS, db uintptr) uintptr { /* sqlite3.c:170990:23 } // Return the byte offset of the most recent error -func Xsqlite3_error_offset(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:171016:16: */ +func Xsqlite3_error_offset(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:171073:16: */ var iOffset int32 = -1 if db != 0 && Xsqlite3SafetyCheckSickOrOk(tls, db) != 0 && (*Sqlite3)(unsafe.Pointer(db)).FerrCode != 0 { Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) @@ -150798,7 +150829,7 @@ func Xsqlite3_error_offset(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:17101 // Return UTF-16 encoded English language explanation of the most recent // error. -func Xsqlite3_errmsg16(tls *libc.TLS, db uintptr) uintptr { /* sqlite3.c:171031:23: */ +func Xsqlite3_errmsg16(tls *libc.TLS, db uintptr) uintptr { /* sqlite3.c:171088:23: */ var z uintptr if !(db != 0) { return uintptr(uintptr(unsafe.Pointer(&outOfMem))) @@ -150827,18 +150858,18 @@ func Xsqlite3_errmsg16(tls *libc.TLS, db uintptr) uintptr { /* sqlite3.c:171031: var outOfMem = [14]U16{ U16('o'), U16('u'), U16('t'), U16(' '), U16('o'), U16('f'), U16(' '), U16('m'), U16('e'), U16('m'), U16('o'), U16('r'), U16('y'), U16(0), -} /* sqlite3.c:171032:20 */ +} /* sqlite3.c:171089:20 */ var misuse = [34]U16{ U16('b'), U16('a'), U16('d'), U16(' '), U16('p'), U16('a'), U16('r'), U16('a'), U16('m'), U16('e'), U16('t'), U16('e'), U16('r'), U16(' '), U16('o'), U16('r'), U16(' '), U16('o'), U16('t'), U16('h'), U16('e'), U16('r'), U16(' '), U16('A'), U16('P'), U16('I'), U16(' '), U16('m'), U16('i'), U16('s'), U16('u'), U16('s'), U16('e'), U16(0), -} /* sqlite3.c:171035:20 */ +} /* sqlite3.c:171092:20 */ // Return the most recent error code generated by an SQLite routine. If NULL is // passed to this function, we assume a malloc() failed during sqlite3_open(). -func Xsqlite3_errcode(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:171073:16: */ +func Xsqlite3_errcode(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:171130:16: */ if db != 0 && !(Xsqlite3SafetyCheckSickOrOk(tls, db) != 0) { - return Xsqlite3MisuseError(tls, 171075) + return Xsqlite3MisuseError(tls, 171132) } if !(db != 0) || (*Sqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 { return SQLITE_NOMEM @@ -150846,9 +150877,9 @@ func Xsqlite3_errcode(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:171073:16: return (*Sqlite3)(unsafe.Pointer(db)).FerrCode & (*Sqlite3)(unsafe.Pointer(db)).FerrMask } -func Xsqlite3_extended_errcode(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:171082:16: */ +func Xsqlite3_extended_errcode(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:171139:16: */ if db != 0 && !(Xsqlite3SafetyCheckSickOrOk(tls, db) != 0) { - return Xsqlite3MisuseError(tls, 171084) + return Xsqlite3MisuseError(tls, 171141) } if !(db != 0) || (*Sqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 { return SQLITE_NOMEM @@ -150856,7 +150887,7 @@ func Xsqlite3_extended_errcode(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:1 return (*Sqlite3)(unsafe.Pointer(db)).FerrCode } -func Xsqlite3_system_errno(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:171091:16: */ +func Xsqlite3_system_errno(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:171148:16: */ if db != 0 { return (*Sqlite3)(unsafe.Pointer(db)).FiSysErrno } @@ -150866,13 +150897,13 @@ func Xsqlite3_system_errno(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:17109 // Return a string that describes the kind of error specified in the // argument. For now, this simply calls the internal sqlite3ErrStr() // function. -func Xsqlite3_errstr(tls *libc.TLS, rc int32) uintptr { /* sqlite3.c:171100:23: */ +func Xsqlite3_errstr(tls *libc.TLS, rc int32) uintptr { /* sqlite3.c:171157:23: */ return Xsqlite3ErrStr(tls, rc) } // 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 U8, pCtx uintptr, xCompare uintptr, xDel uintptr) int32 { /* sqlite3.c:171108:12: */ +func createCollation(tls *libc.TLS, db uintptr, zName uintptr, enc U8, pCtx uintptr, xCompare uintptr, xDel uintptr) int32 { /* sqlite3.c:171165:12: */ var pColl uintptr var enc2 int32 @@ -150885,7 +150916,7 @@ func createCollation(tls *libc.TLS, db uintptr, zName uintptr, enc U8, pCtx uint enc2 = SQLITE_UTF16LE } if enc2 < SQLITE_UTF8 || enc2 > SQLITE_UTF16BE { - return Xsqlite3MisuseError(tls, 171132) + return Xsqlite3MisuseError(tls, 171189) } // Check if this call is removing or replacing an existing collation @@ -150948,7 +150979,7 @@ var aHardLimit = [12]int32{ SQLITE_MAX_VARIABLE_NUMBER, // IMP: R-38091-32352 SQLITE_MAX_TRIGGER_DEPTH, SQLITE_MAX_WORKER_THREADS, -} /* sqlite3.c:171185:18 */ +} /* sqlite3.c:171242:18 */ // Make sure the hard limits are set to reasonable values @@ -150960,7 +150991,7 @@ var aHardLimit = [12]int32{ // A new lower limit does not shrink existing constructs. // It merely prevents new constructs that exceed the limit // from forming. -func Xsqlite3_limit(tls *libc.TLS, db uintptr, limitId int32, newLimit int32) int32 { /* sqlite3.c:171248:16: */ +func Xsqlite3_limit(tls *libc.TLS, db uintptr, limitId int32, newLimit int32) int32 { /* sqlite3.c:171305:16: */ var oldLimit int32 // EVIDENCE-OF: R-30189-54097 For each limit category SQLITE_LIMIT_NAME @@ -151007,7 +151038,7 @@ func Xsqlite3_limit(tls *libc.TLS, db uintptr, limitId int32, newLimit int32) in // may be set to point to a buffer containing an English language error // message. It is the responsibility of the caller to eventually release // this buffer by calling sqlite3_free(). -func Xsqlite3ParseUri(tls *libc.TLS, zDefaultVfs uintptr, zUri uintptr, pFlags uintptr, ppVfs uintptr, pzFile uintptr, pzErrMsg uintptr) int32 { /* sqlite3.c:171320:20: */ +func Xsqlite3ParseUri(tls *libc.TLS, zDefaultVfs uintptr, zUri uintptr, pFlags uintptr, ppVfs uintptr, pzFile uintptr, pzErrMsg uintptr) int32 { /* sqlite3.c:171377:20: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -151344,24 +151375,24 @@ __43: type OpenMode = struct { Fz uintptr Fmode int32 -} /* sqlite3.c:171462:9 */ +} /* sqlite3.c:171519:9 */ var aCacheMode = [3]OpenMode{ {Fz: ts + 24147, Fmode: SQLITE_OPEN_SHAREDCACHE}, {Fz: ts + 24154, Fmode: SQLITE_OPEN_PRIVATECACHE}, {}, -} /* sqlite3.c:171471:34 */ +} /* sqlite3.c:171528:34 */ var aOpenMode = [5]OpenMode{ {Fz: ts + 24162, Fmode: SQLITE_OPEN_READONLY}, {Fz: ts + 24165, Fmode: SQLITE_OPEN_READWRITE}, {Fz: ts + 24168, Fmode: SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE}, {Fz: ts + 17269, Fmode: SQLITE_OPEN_MEMORY}, {}, -} /* sqlite3.c:171483:34 */ +} /* sqlite3.c:171540:34 */ // This routine does the core work of extracting URI parameters from a // database filename for the sqlite3_uri_parameter() interface. -func uriParameter(tls *libc.TLS, zFilename uintptr, zParam uintptr) uintptr { /* sqlite3.c:171557:19: */ +func uriParameter(tls *libc.TLS, zFilename uintptr, zParam uintptr) uintptr { /* sqlite3.c:171614:19: */ zFilename += uintptr(Xsqlite3Strlen30(tls, zFilename) + 1) for zFilename != uintptr(0) && *(*uint8)(unsafe.Pointer(zFilename)) != 0 { var x int32 = libc.Xstrcmp(tls, zFilename, zParam) @@ -151377,7 +151408,7 @@ func uriParameter(tls *libc.TLS, zFilename uintptr, zParam uintptr) uintptr { /* // This routine does the work of opening a database on behalf of // sqlite3_open() and sqlite3_open16(). The database filename "zFilename" // is UTF-8 encoded. -func openDatabase(tls *libc.TLS, zFilename uintptr, ppDb uintptr, flags uint32, zVfs uintptr) int32 { /* sqlite3.c:171575:12: */ +func openDatabase(tls *libc.TLS, zFilename uintptr, ppDb uintptr, flags uint32, zVfs uintptr) int32 { /* sqlite3.c:171632:12: */ bp := tls.Alloc(20) defer tls.Free(20) *(*uint32)(unsafe.Pointer(bp + 8)) = flags @@ -151561,7 +151592,7 @@ __15: if !(int32(1)<<(*(*uint32)(unsafe.Pointer(bp + 8))&uint32(7))&0x46 == 0) { goto __16 } - rc = Xsqlite3MisuseError(tls, 171788) // IMP: R-18321-05872 + rc = Xsqlite3MisuseError(tls, 171845) // IMP: R-18321-05872 goto __17 __16: rc = Xsqlite3ParseUri(tls, zVfs, zFilename, bp+8, db, bp+12, bp+16) @@ -151717,17 +151748,17 @@ __32: } // Open a new database handle. -func Xsqlite3_open(tls *libc.TLS, zFilename uintptr, ppDb uintptr) int32 { /* sqlite3.c:171910:16: */ +func Xsqlite3_open(tls *libc.TLS, zFilename uintptr, ppDb uintptr) int32 { /* sqlite3.c:171967:16: */ return openDatabase(tls, zFilename, ppDb, uint32(SQLITE_OPEN_READWRITE|SQLITE_OPEN_CREATE), uintptr(0)) } -func Xsqlite3_open_v2(tls *libc.TLS, filename uintptr, ppDb uintptr, flags int32, zVfs uintptr) int32 { /* sqlite3.c:171917:16: */ +func Xsqlite3_open_v2(tls *libc.TLS, filename uintptr, ppDb uintptr, flags int32, zVfs uintptr) int32 { /* sqlite3.c:171974:16: */ return openDatabase(tls, filename, ppDb, uint32(flags), zVfs) } // Open a new database handle. -func Xsqlite3_open16(tls *libc.TLS, zFilename uintptr, ppDb uintptr) int32 { /* sqlite3.c:171930:16: */ +func Xsqlite3_open16(tls *libc.TLS, zFilename uintptr, ppDb uintptr) int32 { /* sqlite3.c:171987:16: */ var zFilename8 uintptr // zFilename encoded in UTF-8 instead of UTF-16 var pVal uintptr var rc int32 @@ -151759,12 +151790,12 @@ func Xsqlite3_open16(tls *libc.TLS, zFilename uintptr, ppDb uintptr) int32 { /* } // 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) int32 { /* sqlite3.c:171969:16: */ +func Xsqlite3_create_collation(tls *libc.TLS, db uintptr, zName uintptr, enc int32, pCtx uintptr, xCompare uintptr) int32 { /* sqlite3.c:172026:16: */ return Xsqlite3_create_collation_v2(tls, db, zName, enc, pCtx, xCompare, uintptr(0)) } // 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) int32 { /* sqlite3.c:171982:16: */ +func Xsqlite3_create_collation_v2(tls *libc.TLS, db uintptr, zName uintptr, enc int32, pCtx uintptr, xCompare uintptr, xDel uintptr) int32 { /* sqlite3.c:172039:16: */ var rc int32 Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) @@ -151776,7 +151807,7 @@ func Xsqlite3_create_collation_v2(tls *libc.TLS, db uintptr, zName uintptr, enc } // 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) int32 { /* sqlite3.c:172007:16: */ +func Xsqlite3_create_collation16(tls *libc.TLS, db uintptr, zName uintptr, enc int32, pCtx uintptr, xCompare uintptr) int32 { /* sqlite3.c:172064:16: */ var rc int32 = SQLITE_OK var zName8 uintptr @@ -151794,7 +151825,7 @@ func Xsqlite3_create_collation16(tls *libc.TLS, db uintptr, zName uintptr, enc i // 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) int32 { /* sqlite3.c:172037:16: */ +func Xsqlite3_collation_needed(tls *libc.TLS, db uintptr, pCollNeededArg uintptr, xCollNeeded uintptr) int32 { /* sqlite3.c:172094:16: */ Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) (*Sqlite3)(unsafe.Pointer(db)).FxCollNeeded = xCollNeeded (*Sqlite3)(unsafe.Pointer(db)).FxCollNeeded16 = uintptr(0) @@ -151805,7 +151836,7 @@ func Xsqlite3_collation_needed(tls *libc.TLS, db uintptr, pCollNeededArg uintptr // 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) int32 { /* sqlite3.c:172058:16: */ +func Xsqlite3_collation_needed16(tls *libc.TLS, db uintptr, pCollNeededArg uintptr, xCollNeeded16 uintptr) int32 { /* sqlite3.c:172115:16: */ Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) (*Sqlite3)(unsafe.Pointer(db)).FxCollNeeded = uintptr(0) (*Sqlite3)(unsafe.Pointer(db)).FxCollNeeded16 = xCollNeeded16 @@ -151816,7 +151847,7 @@ func Xsqlite3_collation_needed16(tls *libc.TLS, db uintptr, pCollNeededArg uintp // This function is now an anachronism. It used to be used to recover from a // malloc() failure, but SQLite now does this automatically. -func Xsqlite3_global_recover(tls *libc.TLS) int32 { /* sqlite3.c:172080:16: */ +func Xsqlite3_global_recover(tls *libc.TLS) int32 { /* sqlite3.c:172137:16: */ return SQLITE_OK } @@ -151824,7 +151855,7 @@ func Xsqlite3_global_recover(tls *libc.TLS) int32 { /* sqlite3.c:172080:16: */ // mode. Return TRUE if it is and FALSE if not. Autocommit mode is on // by default. Autocommit is disabled by a BEGIN statement and reenabled // by the next COMMIT or ROLLBACK. -func Xsqlite3_get_autocommit(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:172091:16: */ +func Xsqlite3_get_autocommit(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:172148:16: */ return int32((*Sqlite3)(unsafe.Pointer(db)).FautoCommit) } @@ -151837,7 +151868,7 @@ func Xsqlite3_get_autocommit(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:172 // // 2. Invoke sqlite3_log() to provide the source code location where // a low-level error is first detected. -func Xsqlite3ReportError(tls *libc.TLS, iErr int32, lineno int32, zType uintptr) int32 { /* sqlite3.c:172112:20: */ +func Xsqlite3ReportError(tls *libc.TLS, iErr int32, lineno int32, zType uintptr) int32 { /* sqlite3.c:172169:20: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -151846,17 +151877,17 @@ func Xsqlite3ReportError(tls *libc.TLS, iErr int32, lineno int32, zType uintptr) return iErr } -func Xsqlite3CorruptError(tls *libc.TLS, lineno int32) int32 { /* sqlite3.c:172117:20: */ +func Xsqlite3CorruptError(tls *libc.TLS, lineno int32) int32 { /* sqlite3.c:172174:20: */ return Xsqlite3ReportError(tls, SQLITE_CORRUPT, lineno, ts+24206) } -func Xsqlite3MisuseError(tls *libc.TLS, lineno int32) int32 { /* sqlite3.c:172121:20: */ +func Xsqlite3MisuseError(tls *libc.TLS, lineno int32) int32 { /* sqlite3.c:172178:20: */ return Xsqlite3ReportError(tls, SQLITE_MISUSE, lineno, ts+24226) } -func Xsqlite3CantopenError(tls *libc.TLS, lineno int32) int32 { /* sqlite3.c:172125:20: */ +func Xsqlite3CantopenError(tls *libc.TLS, lineno int32) int32 { /* sqlite3.c:172182:20: */ return Xsqlite3ReportError(tls, SQLITE_CANTOPEN, lineno, ts+24233) } @@ -151866,12 +151897,12 @@ func Xsqlite3CantopenError(tls *libc.TLS, lineno int32) int32 { /* sqlite3.c:172 // // SQLite no longer uses thread-specific data so this routine is now a // no-op. It is retained for historical compatibility. -func Xsqlite3_thread_cleanup(tls *libc.TLS) { /* sqlite3.c:172156:17: */ +func Xsqlite3_thread_cleanup(tls *libc.TLS) { /* sqlite3.c:172213:17: */ } // Return meta information about a specific column of a database table. // See comment in sqlite3.h (sqlite.h.in) for details. -func Xsqlite3_table_column_metadata(tls *libc.TLS, db uintptr, zDbName uintptr, zTableName uintptr, zColumnName uintptr, pzDataType uintptr, pzCollSeq uintptr, pNotNull uintptr, pPrimaryKey uintptr, pAutoinc uintptr) int32 { /* sqlite3.c:172164:16: */ +func Xsqlite3_table_column_metadata(tls *libc.TLS, db uintptr, zDbName uintptr, zTableName uintptr, zColumnName uintptr, pzDataType uintptr, pzCollSeq uintptr, pNotNull uintptr, pPrimaryKey uintptr, pAutoinc uintptr) int32 { /* sqlite3.c:172221:16: */ bp := tls.Alloc(28) defer tls.Free(28) @@ -152055,7 +152086,7 @@ __20: } // Sleep for a little while. Return the amount of time slept. -func Xsqlite3_sleep(tls *libc.TLS, ms int32) int32 { /* sqlite3.c:172282:16: */ +func Xsqlite3_sleep(tls *libc.TLS, ms int32) int32 { /* sqlite3.c:172339:16: */ var pVfs uintptr var rc int32 pVfs = Xsqlite3_vfs_find(tls, uintptr(0)) @@ -152070,7 +152101,7 @@ func Xsqlite3_sleep(tls *libc.TLS, ms int32) int32 { /* sqlite3.c:172282:16: */ } // Enable or disable the extended result codes. -func Xsqlite3_extended_result_codes(tls *libc.TLS, db uintptr, onoff int32) int32 { /* sqlite3.c:172298:16: */ +func Xsqlite3_extended_result_codes(tls *libc.TLS, db uintptr, onoff int32) int32 { /* sqlite3.c:172355:16: */ Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) (*Sqlite3)(unsafe.Pointer(db)).FerrMask = func() int32 { if onoff != 0 { @@ -152083,7 +152114,7 @@ func Xsqlite3_extended_result_codes(tls *libc.TLS, db uintptr, onoff int32) int3 } // Invoke the xFileControl method on a particular database. -func Xsqlite3_file_control(tls *libc.TLS, db uintptr, zDbName uintptr, op int32, pArg uintptr) int32 { /* sqlite3.c:172311:16: */ +func Xsqlite3_file_control(tls *libc.TLS, db uintptr, zDbName uintptr, op int32, pArg uintptr) int32 { /* sqlite3.c:172368:16: */ var rc int32 = SQLITE_ERROR var pBtree uintptr @@ -152128,7 +152159,7 @@ func Xsqlite3_file_control(tls *libc.TLS, db uintptr, zDbName uintptr, op int32, } // Interface to the testing logic. -func Xsqlite3_test_control(tls *libc.TLS, op int32, va uintptr) int32 { /* sqlite3.c:172361:16: */ +func Xsqlite3_test_control(tls *libc.TLS, op int32, va uintptr) int32 { /* sqlite3.c:172418:16: */ var rc int32 = 0 var ap Va_list _ = ap @@ -152587,7 +152618,7 @@ func Xsqlite3_test_control(tls *libc.TLS, op int32, va uintptr) int32 { /* sqlit // backwards for the first byte following four consecutive zero bytes. // // This only works if the filename passed in was obtained from the Pager. -func databaseName(tls *libc.TLS, zName uintptr) uintptr { /* sqlite3.c:172857:19: */ +func databaseName(tls *libc.TLS, zName uintptr) uintptr { /* sqlite3.c:172914:19: */ for int32(*(*uint8)(unsafe.Pointer(zName + libc.UintptrFromInt32(-1)))) != 0 || int32(*(*uint8)(unsafe.Pointer(zName + libc.UintptrFromInt32(-2)))) != 0 || int32(*(*uint8)(unsafe.Pointer(zName + libc.UintptrFromInt32(-3)))) != 0 || int32(*(*uint8)(unsafe.Pointer(zName + libc.UintptrFromInt32(-4)))) != 0 { zName-- } @@ -152596,7 +152627,7 @@ func databaseName(tls *libc.TLS, zName uintptr) uintptr { /* sqlite3.c:172857:19 // Append text z[] to the end of p[]. Return a pointer to the first // character after then zero terminator on the new text in p[]. -func appendText(tls *libc.TLS, p uintptr, z uintptr) uintptr { /* sqlite3.c:172868:13: */ +func appendText(tls *libc.TLS, p uintptr, z uintptr) uintptr { /* sqlite3.c:172925:13: */ var n Size_t = libc.Xstrlen(tls, z) libc.Xmemcpy(tls, p, z, n+Size_t(1)) return p + uintptr(n) + uintptr(1) @@ -152609,7 +152640,7 @@ func appendText(tls *libc.TLS, p uintptr, z uintptr) uintptr { /* sqlite3.c:1728 // // Memory layout must be compatible with that generated by the pager // and expected by sqlite3_uri_parameter() and databaseName(). -func Xsqlite3_create_filename(tls *libc.TLS, zDatabase uintptr, zJournal uintptr, zWal uintptr, nParam int32, azParam uintptr) uintptr { /* sqlite3.c:172883:17: */ +func Xsqlite3_create_filename(tls *libc.TLS, zDatabase uintptr, zJournal uintptr, zWal uintptr, nParam int32, azParam uintptr) uintptr { /* sqlite3.c:172940:17: */ var nByte Sqlite3_int64 var i int32 var pResult uintptr @@ -152640,7 +152671,7 @@ func Xsqlite3_create_filename(tls *libc.TLS, zDatabase uintptr, zJournal uintptr // Free memory obtained from sqlite3_create_filename(). It is a severe // error to call this routine with any parameter other than a pointer // previously obtained from sqlite3_create_filename() or a NULL pointer. -func Xsqlite3_free_filename(tls *libc.TLS, p uintptr) { /* sqlite3.c:172919:17: */ +func Xsqlite3_free_filename(tls *libc.TLS, p uintptr) { /* sqlite3.c:172976:17: */ if p == uintptr(0) { return } @@ -152657,7 +152688,7 @@ func Xsqlite3_free_filename(tls *libc.TLS, p uintptr) { /* sqlite3.c:172919:17: // query parameter we seek. This routine returns the value of the zParam // parameter if it exists. If the parameter does not exist, this routine // returns a NULL pointer. -func Xsqlite3_uri_parameter(tls *libc.TLS, zFilename uintptr, zParam uintptr) uintptr { /* sqlite3.c:172937:23: */ +func Xsqlite3_uri_parameter(tls *libc.TLS, zFilename uintptr, zParam uintptr) uintptr { /* sqlite3.c:172994:23: */ if zFilename == uintptr(0) || zParam == uintptr(0) { return uintptr(0) } @@ -152666,7 +152697,7 @@ func Xsqlite3_uri_parameter(tls *libc.TLS, zFilename uintptr, zParam uintptr) ui } // Return a pointer to the name of Nth query parameter of the filename. -func Xsqlite3_uri_key(tls *libc.TLS, zFilename uintptr, N int32) uintptr { /* sqlite3.c:172946:23: */ +func Xsqlite3_uri_key(tls *libc.TLS, zFilename uintptr, N int32) uintptr { /* sqlite3.c:173003:23: */ if zFilename == uintptr(0) || N < 0 { return uintptr(0) } @@ -152683,7 +152714,7 @@ func Xsqlite3_uri_key(tls *libc.TLS, zFilename uintptr, N int32) uintptr { /* sq } // Return a boolean value for a query parameter. -func Xsqlite3_uri_boolean(tls *libc.TLS, zFilename uintptr, zParam uintptr, bDflt int32) int32 { /* sqlite3.c:172960:16: */ +func Xsqlite3_uri_boolean(tls *libc.TLS, zFilename uintptr, zParam uintptr, bDflt int32) int32 { /* sqlite3.c:173017:16: */ var z uintptr = Xsqlite3_uri_parameter(tls, zFilename, zParam) bDflt = libc.Bool32(bDflt != 0) if z != 0 { @@ -152693,7 +152724,7 @@ func Xsqlite3_uri_boolean(tls *libc.TLS, zFilename uintptr, zParam uintptr, bDfl } // Return a 64-bit integer value for a query parameter. -func Xsqlite3_uri_int64(tls *libc.TLS, zFilename uintptr, zParam uintptr, bDflt Sqlite3_int64) Sqlite3_int64 { /* sqlite3.c:172969:26: */ +func Xsqlite3_uri_int64(tls *libc.TLS, zFilename uintptr, zParam uintptr, bDflt Sqlite3_int64) Sqlite3_int64 { /* sqlite3.c:173026:26: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -152714,14 +152745,14 @@ func Xsqlite3_uri_int64(tls *libc.TLS, zFilename uintptr, zParam uintptr, bDflt // passing free() a pointer that was not obtained from malloc() - it is // an error that we cannot easily detect but that will likely cause memory // corruption. -func Xsqlite3_filename_database(tls *libc.TLS, zFilename uintptr) uintptr { /* sqlite3.c:172992:23: */ +func Xsqlite3_filename_database(tls *libc.TLS, zFilename uintptr) uintptr { /* sqlite3.c:173049:23: */ if zFilename == uintptr(0) { return uintptr(0) } return databaseName(tls, zFilename) } -func Xsqlite3_filename_journal(tls *libc.TLS, zFilename uintptr) uintptr { /* sqlite3.c:172996:23: */ +func Xsqlite3_filename_journal(tls *libc.TLS, zFilename uintptr) uintptr { /* sqlite3.c:173053:23: */ if zFilename == uintptr(0) { return uintptr(0) } @@ -152734,7 +152765,7 @@ func Xsqlite3_filename_journal(tls *libc.TLS, zFilename uintptr) uintptr { /* sq return zFilename + uintptr(1) } -func Xsqlite3_filename_wal(tls *libc.TLS, zFilename uintptr) uintptr { /* sqlite3.c:173006:23: */ +func Xsqlite3_filename_wal(tls *libc.TLS, zFilename uintptr) uintptr { /* sqlite3.c:173063:23: */ zFilename = Xsqlite3_filename_journal(tls, zFilename) if zFilename != 0 { zFilename += uintptr(Xsqlite3Strlen30(tls, zFilename) + 1) @@ -152743,7 +152774,7 @@ func Xsqlite3_filename_wal(tls *libc.TLS, zFilename uintptr) uintptr { /* sqlite } // Return the Btree pointer identified by zDbName. Return NULL if not found. -func Xsqlite3DbNameToBtree(tls *libc.TLS, db uintptr, zDbName uintptr) uintptr { /* sqlite3.c:173019:22: */ +func Xsqlite3DbNameToBtree(tls *libc.TLS, db uintptr, zDbName uintptr) uintptr { /* sqlite3.c:173076:22: */ var iDb int32 if zDbName != 0 { iDb = Xsqlite3FindDbName(tls, db, zDbName) @@ -152758,7 +152789,7 @@ func Xsqlite3DbNameToBtree(tls *libc.TLS, db uintptr, zDbName uintptr) uintptr { // Return the filename of the database associated with a database // connection. -func Xsqlite3_db_filename(tls *libc.TLS, db uintptr, zDbName uintptr) uintptr { /* sqlite3.c:173028:23: */ +func Xsqlite3_db_filename(tls *libc.TLS, db uintptr, zDbName uintptr) uintptr { /* sqlite3.c:173085:23: */ var pBt uintptr pBt = Xsqlite3DbNameToBtree(tls, db, zDbName) if pBt != 0 { @@ -152769,7 +152800,7 @@ func Xsqlite3_db_filename(tls *libc.TLS, db uintptr, zDbName uintptr) uintptr { // Return 1 if database is read-only or 0 if read/write. Return -1 if // no such database exists. -func Xsqlite3_db_readonly(tls *libc.TLS, db uintptr, zDbName uintptr) int32 { /* sqlite3.c:173044:16: */ +func Xsqlite3_db_readonly(tls *libc.TLS, db uintptr, zDbName uintptr) int32 { /* sqlite3.c:173101:16: */ var pBt uintptr pBt = Xsqlite3DbNameToBtree(tls, db, zDbName) if pBt != 0 { @@ -152780,7 +152811,7 @@ func Xsqlite3_db_readonly(tls *libc.TLS, db uintptr, zDbName uintptr) int32 { /* // Obtain a snapshot handle for the snapshot of database zDb currently // being read by handle db. -func Xsqlite3_snapshot_get(tls *libc.TLS, db uintptr, zDb uintptr, ppSnapshot uintptr) int32 { /* sqlite3.c:173061:16: */ +func Xsqlite3_snapshot_get(tls *libc.TLS, db uintptr, zDb uintptr, ppSnapshot uintptr) int32 { /* sqlite3.c:173118:16: */ var rc int32 = SQLITE_ERROR Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) @@ -152803,7 +152834,7 @@ func Xsqlite3_snapshot_get(tls *libc.TLS, db uintptr, zDb uintptr, ppSnapshot ui } // Open a read-transaction on the snapshot idendified by pSnapshot. -func Xsqlite3_snapshot_open(tls *libc.TLS, db uintptr, zDb uintptr, pSnapshot uintptr) int32 { /* sqlite3.c:173097:16: */ +func Xsqlite3_snapshot_open(tls *libc.TLS, db uintptr, zDb uintptr, pSnapshot uintptr) int32 { /* sqlite3.c:173154:16: */ var rc int32 = SQLITE_ERROR Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) @@ -152846,7 +152877,7 @@ func Xsqlite3_snapshot_open(tls *libc.TLS, db uintptr, zDb uintptr, pSnapshot ui // Recover as many snapshots as possible from the wal file associated with // schema zDb of database db. -func Xsqlite3_snapshot_recover(tls *libc.TLS, db uintptr, zDb uintptr) int32 { /* sqlite3.c:173153:16: */ +func Xsqlite3_snapshot_recover(tls *libc.TLS, db uintptr, zDb uintptr) int32 { /* sqlite3.c:173210:16: */ var rc int32 = SQLITE_ERROR var iDb int32 @@ -152867,7 +152898,7 @@ func Xsqlite3_snapshot_recover(tls *libc.TLS, db uintptr, zDb uintptr) int32 { / } // Free a snapshot handle obtained from sqlite3_snapshot_get(). -func Xsqlite3_snapshot_free(tls *libc.TLS, pSnapshot uintptr) { /* sqlite3.c:173184:17: */ +func Xsqlite3_snapshot_free(tls *libc.TLS, pSnapshot uintptr) { /* sqlite3.c:173241:17: */ Xsqlite3_free(tls, pSnapshot) } @@ -152876,7 +152907,7 @@ func Xsqlite3_snapshot_free(tls *libc.TLS, pSnapshot uintptr) { /* sqlite3.c:173 // // The name can optionally begin with "SQLITE_" but the "SQLITE_" prefix // is not required for a match. -func Xsqlite3_compileoption_used(tls *libc.TLS, zOptName uintptr) int32 { /* sqlite3.c:173197:16: */ +func Xsqlite3_compileoption_used(tls *libc.TLS, zOptName uintptr) int32 { /* sqlite3.c:173254:16: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -152906,7 +152937,7 @@ func Xsqlite3_compileoption_used(tls *libc.TLS, zOptName uintptr) int32 { /* sql // Return the N-th compile-time option string. If N is out of range, // return a NULL pointer. -func Xsqlite3_compileoption_get(tls *libc.TLS, N int32) uintptr { /* sqlite3.c:173230:23: */ +func Xsqlite3_compileoption_get(tls *libc.TLS, N int32) uintptr { /* sqlite3.c:173287:23: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -152951,11 +152982,11 @@ func Xsqlite3_compileoption_get(tls *libc.TLS, N int32) uintptr { /* sqlite3.c:1 // for which either sqlite3.pBlockingConnection or sqlite3.pUnlockConnection // is not NULL. This variable may only accessed while the STATIC_MAIN // mutex is held. -var sqlite3BlockedList uintptr = uintptr(0) /* sqlite3.c:173282:16 */ +var sqlite3BlockedList uintptr = uintptr(0) /* sqlite3.c:173339:16 */ // Remove connection db from the blocked connections list. If connection // db is not currently a part of the list, this function is a no-op. -func removeFromBlockedList(tls *libc.TLS, db uintptr) { /* sqlite3.c:173325:13: */ +func removeFromBlockedList(tls *libc.TLS, db uintptr) { /* sqlite3.c:173382:13: */ var pp uintptr for pp = uintptr(unsafe.Pointer(&sqlite3BlockedList)); *(*uintptr)(unsafe.Pointer(pp)) != 0; pp = *(*uintptr)(unsafe.Pointer(pp)) + 564 { @@ -152968,7 +152999,7 @@ func removeFromBlockedList(tls *libc.TLS, db uintptr) { /* sqlite3.c:173325:13: // Add connection db to the blocked connections list. It is assumed // that it is not already a part of the list. -func addToBlockedList(tls *libc.TLS, db uintptr) { /* sqlite3.c:173340:13: */ +func addToBlockedList(tls *libc.TLS, db uintptr) { /* sqlite3.c:173397:13: */ var pp uintptr for pp = uintptr(unsafe.Pointer(&sqlite3BlockedList)); *(*uintptr)(unsafe.Pointer(pp)) != 0 && (*Sqlite3)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pp)))).FxUnlockNotify != (*Sqlite3)(unsafe.Pointer(db)).FxUnlockNotify; pp = *(*uintptr)(unsafe.Pointer(pp)) + 564 { @@ -152978,13 +153009,13 @@ func addToBlockedList(tls *libc.TLS, db uintptr) { /* sqlite3.c:173340:13: */ } // Obtain the STATIC_MAIN mutex. -func enterMutex(tls *libc.TLS) { /* sqlite3.c:173355:13: */ +func enterMutex(tls *libc.TLS) { /* sqlite3.c:173412:13: */ Xsqlite3_mutex_enter(tls, Xsqlite3MutexAlloc(tls, SQLITE_MUTEX_STATIC_MAIN)) } // Release the STATIC_MAIN mutex. -func leaveMutex(tls *libc.TLS) { /* sqlite3.c:173363:13: */ +func leaveMutex(tls *libc.TLS) { /* sqlite3.c:173420:13: */ Xsqlite3_mutex_leave(tls, Xsqlite3MutexAlloc(tls, SQLITE_MUTEX_STATIC_MAIN)) } @@ -153008,7 +153039,7 @@ func leaveMutex(tls *libc.TLS) { /* sqlite3.c:173363:13: */ // Each call to this routine overrides any prior callbacks registered // 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) int32 { /* sqlite3.c:173390:16: */ +func Xsqlite3_unlock_notify(tls *libc.TLS, db uintptr, xNotify uintptr, pArg uintptr) int32 { /* sqlite3.c:173447:16: */ bp := tls.Alloc(4) defer tls.Free(4) *(*uintptr)(unsafe.Pointer(bp)) = pArg @@ -153063,7 +153094,7 @@ func Xsqlite3_unlock_notify(tls *libc.TLS, db uintptr, xNotify uintptr, pArg uin // associated with connection db. The operation will return SQLITE_LOCKED // to the user because it requires a lock that will not be available // until connection pBlocker concludes its current transaction. -func Xsqlite3ConnectionBlocked(tls *libc.TLS, db uintptr, pBlocker uintptr) { /* sqlite3.c:173440:21: */ +func Xsqlite3ConnectionBlocked(tls *libc.TLS, db uintptr, pBlocker uintptr) { /* sqlite3.c:173497:21: */ enterMutex(tls) if (*Sqlite3)(unsafe.Pointer(db)).FpBlockingConnection == uintptr(0) && (*Sqlite3)(unsafe.Pointer(db)).FpUnlockConnection == uintptr(0) { addToBlockedList(tls, db) @@ -153089,7 +153120,7 @@ func Xsqlite3ConnectionBlocked(tls *libc.TLS, db uintptr, pBlocker uintptr) { /* // 3) If the two steps above mean that pBlockingConnection==0 and // pUnlockConnection==0, remove the entry from the blocked connections // list. -func Xsqlite3ConnectionUnlocked(tls *libc.TLS, db uintptr) { /* sqlite3.c:173468:21: */ +func Xsqlite3ConnectionUnlocked(tls *libc.TLS, db uintptr) { /* sqlite3.c:173525:21: */ bp := tls.Alloc(64) defer tls.Free(64) @@ -153193,7 +153224,7 @@ func Xsqlite3ConnectionUnlocked(tls *libc.TLS, db uintptr) { /* sqlite3.c:173468 // This is called when the database connection passed as an argument is // being closed. The connection is removed from the blocked list. -func Xsqlite3ConnectionClosed(tls *libc.TLS, db uintptr) { /* sqlite3.c:173567:21: */ +func Xsqlite3ConnectionClosed(tls *libc.TLS, db uintptr) { /* sqlite3.c:173624:21: */ Xsqlite3ConnectionUnlocked(tls, db) enterMutex(tls) removeFromBlockedList(tls, db) @@ -153798,7 +153829,7 @@ var jsonIsSpace = [256]uint8{ uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), -} /* sqlite3.c:193144:19 */ +} /* sqlite3.c:193201:19 */ // Objects type JsonString1 = struct { @@ -153810,10 +153841,10 @@ type JsonString1 = struct { FbErr U8 FzSpace [100]uint8 F__ccgo_pad1 [2]byte -} /* sqlite3.c:193171:9 */ +} /* sqlite3.c:193228:9 */ // Objects -type JsonString = JsonString1 /* sqlite3.c:193171:27 */ +type JsonString = JsonString1 /* sqlite3.c:193228:27 */ type JsonNode1 = struct { FeType U8 FjnFlags U8 @@ -153821,9 +153852,9 @@ type JsonNode1 = struct { F__ccgo_pad1 [1]byte Fn U32 Fu struct{ FzJContent uintptr } -} /* sqlite3.c:193172:9 */ +} /* sqlite3.c:193229:9 */ -type JsonNode = JsonNode1 /* sqlite3.c:193172:25 */ +type JsonNode = JsonNode1 /* sqlite3.c:193229:25 */ type JsonParse1 = struct { FnNode U32 FnAlloc U32 @@ -153835,9 +153866,9 @@ type JsonParse1 = struct { FiDepth U16 FnJson int32 FiHold U32 -} /* sqlite3.c:193173:9 */ +} /* sqlite3.c:193230:9 */ -type JsonParse = JsonParse1 /* sqlite3.c:193173:26 */ +type JsonParse = JsonParse1 /* sqlite3.c:193230:26 */ // JSON type values @@ -153846,7 +153877,7 @@ type JsonParse = JsonParse1 /* sqlite3.c:193173:26 */ // Names of the various JSON types: var jsonType = [8]uintptr{ ts + 6132, ts + 6646, ts + 6651, ts + 6142, ts + 6137, ts + 7892, ts + 24309, ts + 24315, -} /* sqlite3.c:193206:19 */ +} /* sqlite3.c:193263:19 */ // Maximum nesting depth of JSON for this implementation. // @@ -153860,7 +153891,7 @@ var jsonType = [8]uintptr{ // // Set the JsonString object to an empty string -func jsonZero(tls *libc.TLS, p uintptr) { /* sqlite3.c:193267:13: */ +func jsonZero(tls *libc.TLS, p uintptr) { /* sqlite3.c:193324:13: */ (*JsonString)(unsafe.Pointer(p)).FzBuf = p + 26 /* &.zSpace */ (*JsonString)(unsafe.Pointer(p)).FnAlloc = U64(unsafe.Sizeof([100]uint8{})) (*JsonString)(unsafe.Pointer(p)).FnUsed = uint64(0) @@ -153868,7 +153899,7 @@ func jsonZero(tls *libc.TLS, p uintptr) { /* sqlite3.c:193267:13: */ } // Initialize the JsonString object -func jsonInit(tls *libc.TLS, p uintptr, pCtx uintptr) { /* sqlite3.c:193276:13: */ +func jsonInit(tls *libc.TLS, p uintptr, pCtx uintptr) { /* sqlite3.c:193333:13: */ (*JsonString)(unsafe.Pointer(p)).FpCtx = pCtx (*JsonString)(unsafe.Pointer(p)).FbErr = U8(0) jsonZero(tls, p) @@ -153876,7 +153907,7 @@ func jsonInit(tls *libc.TLS, p uintptr, pCtx uintptr) { /* sqlite3.c:193276:13: // Free all allocated memory and reset the JsonString object back to its // initial state. -func jsonReset(tls *libc.TLS, p uintptr) { /* sqlite3.c:193286:13: */ +func jsonReset(tls *libc.TLS, p uintptr) { /* sqlite3.c:193343:13: */ if !(int32((*JsonString)(unsafe.Pointer(p)).FbStatic) != 0) { Xsqlite3_free(tls, (*JsonString)(unsafe.Pointer(p)).FzBuf) } @@ -153884,7 +153915,7 @@ func jsonReset(tls *libc.TLS, p uintptr) { /* sqlite3.c:193286:13: */ } // Report an out-of-memory (OOM) condition -func jsonOom(tls *libc.TLS, p uintptr) { /* sqlite3.c:193294:13: */ +func jsonOom(tls *libc.TLS, p uintptr) { /* sqlite3.c:193351:13: */ (*JsonString)(unsafe.Pointer(p)).FbErr = U8(1) Xsqlite3_result_error_nomem(tls, (*JsonString)(unsafe.Pointer(p)).FpCtx) jsonReset(tls, p) @@ -153892,7 +153923,7 @@ func jsonOom(tls *libc.TLS, p uintptr) { /* sqlite3.c:193294:13: */ // Enlarge pJson->zBuf so that it can hold at least N more bytes. // Return zero on success. Return non-zero on an OOM error -func jsonGrow(tls *libc.TLS, p uintptr, N U32) int32 { /* sqlite3.c:193303:12: */ +func jsonGrow(tls *libc.TLS, p uintptr, N U32) int32 { /* sqlite3.c:193360:12: */ var nTotal U64 if U64(N) < (*JsonString)(unsafe.Pointer(p)).FnAlloc { nTotal = (*JsonString)(unsafe.Pointer(p)).FnAlloc * uint64(2) @@ -153925,7 +153956,7 @@ func jsonGrow(tls *libc.TLS, p uintptr, N U32) int32 { /* sqlite3.c:193303:12: * } // Append N bytes from zIn onto the end of the JsonString string. -func jsonAppendRaw(tls *libc.TLS, p uintptr, zIn uintptr, N U32) { /* sqlite3.c:193330:13: */ +func jsonAppendRaw(tls *libc.TLS, p uintptr, zIn uintptr, N U32) { /* sqlite3.c:193387:13: */ if N == U32(0) { return } @@ -153937,7 +153968,7 @@ func jsonAppendRaw(tls *libc.TLS, p uintptr, zIn uintptr, N U32) { /* sqlite3.c: } // Append formatted text (not to exceed N bytes) to the JsonString. -func jsonPrintf(tls *libc.TLS, N int32, p uintptr, zFormat uintptr, va uintptr) { /* sqlite3.c:193339:13: */ +func jsonPrintf(tls *libc.TLS, N int32, p uintptr, zFormat uintptr, va uintptr) { /* sqlite3.c:193396:13: */ var ap Va_list _ = ap if (*JsonString)(unsafe.Pointer(p)).FnUsed+U64(N) >= (*JsonString)(unsafe.Pointer(p)).FnAlloc && jsonGrow(tls, p, uint32(N)) != 0 { @@ -153950,7 +153981,7 @@ func jsonPrintf(tls *libc.TLS, N int32, p uintptr, zFormat uintptr, va uintptr) } // Append a single character -func jsonAppendChar(tls *libc.TLS, p uintptr, c uint8) { /* sqlite3.c:193350:13: */ +func jsonAppendChar(tls *libc.TLS, p uintptr, c uint8) { /* sqlite3.c:193407:13: */ if (*JsonString)(unsafe.Pointer(p)).FnUsed >= (*JsonString)(unsafe.Pointer(p)).FnAlloc && jsonGrow(tls, p, uint32(1)) != 0 { return } @@ -153959,7 +153990,7 @@ func jsonAppendChar(tls *libc.TLS, p uintptr, c uint8) { /* sqlite3.c:193350:13: // Append a comma separator to the output buffer, if the previous // character is not '[' or '{'. -func jsonAppendSeparator(tls *libc.TLS, p uintptr) { /* sqlite3.c:193358:13: */ +func jsonAppendSeparator(tls *libc.TLS, p uintptr) { /* sqlite3.c:193415:13: */ var c uint8 if (*JsonString)(unsafe.Pointer(p)).FnUsed == uint64(0) { return @@ -153974,7 +154005,7 @@ func jsonAppendSeparator(tls *libc.TLS, p uintptr) { /* sqlite3.c:193358:13: */ // under construction. Enclose the string in "..." and escape // any double-quotes or backslash characters contained within the // string. -func jsonAppendString(tls *libc.TLS, p uintptr, zIn uintptr, N U32) { /* sqlite3.c:193370:13: */ +func jsonAppendString(tls *libc.TLS, p uintptr, zIn uintptr, N U32) { /* sqlite3.c:193427:13: */ var i U32 var c uint8 if !(zIn == uintptr(0) || U64(N)+(*JsonString)(unsafe.Pointer(p)).FnUsed+uint64(2) >= (*JsonString)(unsafe.Pointer(p)).FnAlloc && jsonGrow(tls, p, N+U32(2)) != 0) { @@ -154045,11 +154076,11 @@ __4: var aSpecial = [32]uint8{ uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8('b'), uint8('t'), uint8('n'), uint8(0), uint8('f'), uint8('r'), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), -} /* sqlite3.c:193381:25 */ +} /* sqlite3.c:193438:25 */ // Append a function parameter value to the JSON string under // construction. -func jsonAppendValue(tls *libc.TLS, p uintptr, pValue uintptr) { /* sqlite3.c:193413:13: */ +func jsonAppendValue(tls *libc.TLS, p uintptr, pValue uintptr) { /* sqlite3.c:193470:13: */ switch Xsqlite3_value_type(tls, pValue) { case SQLITE_NULL: { @@ -154093,7 +154124,7 @@ func jsonAppendValue(tls *libc.TLS, p uintptr, pValue uintptr) { /* sqlite3.c:19 } // Make the JSON in p the result of the SQL function. -func jsonResult(tls *libc.TLS, p uintptr) { /* sqlite3.c:193453:13: */ +func jsonResult(tls *libc.TLS, p uintptr) { /* sqlite3.c:193510:13: */ if int32((*JsonString)(unsafe.Pointer(p)).FbErr) == 0 { Xsqlite3_result_text64(tls, (*JsonString)(unsafe.Pointer(p)).FpCtx, (*JsonString)(unsafe.Pointer(p)).FzBuf, (*JsonString)(unsafe.Pointer(p)).FnUsed, func() uintptr { @@ -154120,7 +154151,7 @@ func jsonResult(tls *libc.TLS, p uintptr) { /* sqlite3.c:193453:13: */ // Appended elements are not counted. The value returned is the number // by which the JsonNode counter should increment in order to go to the // next peer value. -func jsonNodeSize(tls *libc.TLS, pNode uintptr) U32 { /* sqlite3.c:193476:12: */ +func jsonNodeSize(tls *libc.TLS, pNode uintptr) U32 { /* sqlite3.c:193533:12: */ if int32((*JsonNode)(unsafe.Pointer(pNode)).FeType) >= JSON_ARRAY { return (*JsonNode)(unsafe.Pointer(pNode)).Fn + U32(1) } @@ -154129,7 +154160,7 @@ func jsonNodeSize(tls *libc.TLS, pNode uintptr) U32 { /* sqlite3.c:193476:12: */ // Reclaim all memory allocated by a JsonParse object. But do not // delete the JsonParse object itself. -func jsonParseReset(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:193484:13: */ +func jsonParseReset(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:193541:13: */ Xsqlite3_free(tls, (*JsonParse)(unsafe.Pointer(pParse)).FaNode) (*JsonParse)(unsafe.Pointer(pParse)).FaNode = uintptr(0) (*JsonParse)(unsafe.Pointer(pParse)).FnNode = U32(0) @@ -154139,7 +154170,7 @@ func jsonParseReset(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:193484:13: */ } // Free a JsonParse object that was obtained from sqlite3_malloc(). -func jsonParseFree(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:193496:13: */ +func jsonParseFree(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:193553:13: */ jsonParseReset(tls, pParse) Xsqlite3_free(tls, pParse) } @@ -154147,7 +154178,7 @@ func jsonParseFree(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:193496:13: */ // Convert the JsonNode pNode into a pure JSON string and // append to pOut. Subsubstructure is also included. Return // the number of JsonNode objects that are encoded. -func jsonRenderNode(tls *libc.TLS, pNode uintptr, pOut uintptr, aReplace uintptr) { /* sqlite3.c:193506:13: */ +func jsonRenderNode(tls *libc.TLS, pNode uintptr, pOut uintptr, aReplace uintptr) { /* sqlite3.c:193563:13: */ if int32((*JsonNode)(unsafe.Pointer(pNode)).FjnFlags)&(JNODE_REPLACE|JNODE_PATCH) != 0 { if int32((*JsonNode)(unsafe.Pointer(pNode)).FjnFlags)&JNODE_REPLACE != 0 && aReplace != uintptr(0) { @@ -154249,7 +154280,7 @@ func jsonRenderNode(tls *libc.TLS, pNode uintptr, pOut uintptr, aReplace uintptr } // Return a JsonNode and all its descendents as a JSON string. -func jsonReturnJson(tls *libc.TLS, pNode uintptr, pCtx uintptr, aReplace uintptr) { /* sqlite3.c:193595:13: */ +func jsonReturnJson(tls *libc.TLS, pNode uintptr, pCtx uintptr, aReplace uintptr) { /* sqlite3.c:193652:13: */ bp := tls.Alloc(128) defer tls.Free(128) @@ -154264,14 +154295,14 @@ func jsonReturnJson(tls *libc.TLS, pNode uintptr, pCtx uintptr, aReplace uintptr // Translate a single byte of Hex into an integer. // This routine only works if h really is a valid hexadecimal // character: 0..9a..fA..F -func jsonHexToInt(tls *libc.TLS, h int32) U8 { /* sqlite3.c:193612:11: */ +func jsonHexToInt(tls *libc.TLS, h int32) U8 { /* sqlite3.c:193669:11: */ h = h + 9*(1&(h>>6)) return U8(h & 0xf) } // Convert a 4-byte hex string into an integer -func jsonHexToInt4(tls *libc.TLS, z uintptr) U32 { /* sqlite3.c:193625:12: */ +func jsonHexToInt4(tls *libc.TLS, z uintptr) U32 { /* sqlite3.c:193682:12: */ var v U32 v = U32(int32(jsonHexToInt(tls, int32(*(*uint8)(unsafe.Pointer(z)))))<<12 + @@ -154282,7 +154313,7 @@ func jsonHexToInt4(tls *libc.TLS, z uintptr) U32 { /* sqlite3.c:193625:12: */ } // Make the JsonNode the return value of the function. -func jsonReturn(tls *libc.TLS, pNode uintptr, pCtx uintptr, aReplace uintptr) { /* sqlite3.c:193641:13: */ +func jsonReturn(tls *libc.TLS, pNode uintptr, pCtx uintptr, aReplace uintptr) { /* sqlite3.c:193698:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -154563,7 +154594,7 @@ __1: // A macro to hint to the compiler that a function should not be // inlined. -func jsonParseAddNodeExpand(tls *libc.TLS, pParse uintptr, eType U32, n U32, zContent uintptr) int32 { /* sqlite3.c:193814:26: */ +func jsonParseAddNodeExpand(tls *libc.TLS, pParse uintptr, eType U32, n U32, zContent uintptr) int32 { /* sqlite3.c:193871:26: */ var nNew U32 var pNew uintptr @@ -154585,7 +154616,7 @@ func jsonParseAddNodeExpand(tls *libc.TLS, pParse uintptr, eType U32, n U32, zCo // Create a new JsonNode instance based on the arguments and append that // instance to the JsonParse. Return the index in pParse->aNode[] of the // new node, or -1 if a memory allocation fails. -func jsonParseAddNode(tls *libc.TLS, pParse uintptr, eType U32, n U32, zContent uintptr) int32 { /* sqlite3.c:193841:12: */ +func jsonParseAddNode(tls *libc.TLS, pParse uintptr, eType U32, n U32, zContent uintptr) int32 { /* sqlite3.c:193898:12: */ var p uintptr if (*JsonParse)(unsafe.Pointer(pParse)).FaNode == uintptr(0) || (*JsonParse)(unsafe.Pointer(pParse)).FnNode >= (*JsonParse)(unsafe.Pointer(pParse)).FnAlloc { return jsonParseAddNodeExpand(tls, pParse, eType, n, zContent) @@ -154600,7 +154631,7 @@ func jsonParseAddNode(tls *libc.TLS, pParse uintptr, eType U32, n U32, zContent } // Return true if z[] begins with 4 (or more) hexadecimal digits -func jsonIs4Hex(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:193863:12: */ +func jsonIs4Hex(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:193920:12: */ var i int32 for i = 0; i < 4; i++ { if !(int32(Xsqlite3CtypeMap[uint8(*(*uint8)(unsafe.Pointer(z + uintptr(i))))])&0x08 != 0) { @@ -154616,7 +154647,7 @@ func jsonIs4Hex(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:193863:12: */ // Return negative for a syntax error. Special cases: return -2 if the // first non-whitespace character is '}' and return -3 if the first // non-whitespace character is ']'. -func jsonParseValue(tls *libc.TLS, pParse uintptr, i U32) int32 { /* sqlite3.c:193877:12: */ +func jsonParseValue(tls *libc.TLS, pParse uintptr, i U32) int32 { /* sqlite3.c:193934:12: */ var c uint8 var j U32 var iThis int32 @@ -154843,7 +154874,7 @@ func jsonParseValue(tls *libc.TLS, pParse uintptr, i U32) int32 { /* sqlite3.c:1 // pParse. // // pParse is uninitialized when this routine is called. -func jsonParse(tls *libc.TLS, pParse uintptr, pCtx uintptr, zJson uintptr) int32 { /* sqlite3.c:194038:12: */ +func jsonParse(tls *libc.TLS, pParse uintptr, pCtx uintptr, zJson uintptr) int32 { /* sqlite3.c:194095:12: */ var i int32 libc.Xmemset(tls, pParse, 0, uint32(unsafe.Sizeof(JsonParse{}))) if zJson == uintptr(0) { @@ -154879,7 +154910,7 @@ func jsonParse(tls *libc.TLS, pParse uintptr, pCtx uintptr, zJson uintptr) int32 // Mark node i of pParse as being a child of iParent. Call recursively // to fill in all the descendants of node i. -func jsonParseFillInParentage(tls *libc.TLS, pParse uintptr, i U32, iParent U32) { /* sqlite3.c:194071:13: */ +func jsonParseFillInParentage(tls *libc.TLS, pParse uintptr, i U32, iParent U32) { /* sqlite3.c:194128:13: */ var pNode uintptr = (*JsonParse)(unsafe.Pointer(pParse)).FaNode + uintptr(i)*12 var j U32 *(*U32)(unsafe.Pointer((*JsonParse)(unsafe.Pointer(pParse)).FaUp + uintptr(i)*4)) = iParent @@ -154910,7 +154941,7 @@ func jsonParseFillInParentage(tls *libc.TLS, pParse uintptr, i U32, iParent U32) } // Compute the parentage of all nodes in a completed parse. -func jsonParseFindParents(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:194098:12: */ +func jsonParseFindParents(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:194155:12: */ var aUp uintptr aUp = libc.AssignPtrUintptr(pParse+16, Xsqlite3_malloc64(tls, uint64(uint32(unsafe.Sizeof(U32(0)))*(*JsonParse)(unsafe.Pointer(pParse)).FnNode))) @@ -154930,7 +154961,7 @@ func jsonParseFindParents(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:19 // is no longer valid, parse the JSON again and return the new parse, // and also register the new parse so that it will be available for // future sqlite3_get_auxdata() calls. -func jsonParseCached(tls *libc.TLS, pCtx uintptr, argv uintptr, pErrCtx uintptr) uintptr { /* sqlite3.c:194124:18: */ +func jsonParseCached(tls *libc.TLS, pCtx uintptr, argv uintptr, pErrCtx uintptr) uintptr { /* sqlite3.c:194181:18: */ var zJson uintptr = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv))) var nJson int32 = Xsqlite3_value_bytes(tls, *(*uintptr)(unsafe.Pointer(argv))) var p uintptr @@ -154987,7 +155018,7 @@ func jsonParseCached(tls *libc.TLS, pCtx uintptr, argv uintptr, pErrCtx uintptr) // Compare the OBJECT label at pNode against zKey,nKey. Return true on // a match. -func jsonLabelCompare(tls *libc.TLS, pNode uintptr, zKey uintptr, nKey U32) int32 { /* sqlite3.c:194186:12: */ +func jsonLabelCompare(tls *libc.TLS, pNode uintptr, zKey uintptr, nKey U32) int32 { /* sqlite3.c:194243:12: */ if int32((*JsonNode)(unsafe.Pointer(pNode)).FjnFlags)&JNODE_RAW != 0 { if (*JsonNode)(unsafe.Pointer(pNode)).Fn != nKey { @@ -155010,7 +155041,7 @@ func jsonLabelCompare(tls *libc.TLS, pNode uintptr, zKey uintptr, nKey U32) int3 // If pApnd!=0, then try to append new nodes to complete zPath if it is // possible to do so and if no existing node corresponds to zPath. If // new nodes are appended *pApnd is set to 1. -func jsonLookupStep(tls *libc.TLS, pParse uintptr, iRoot U32, zPath uintptr, pApnd uintptr, pzErr uintptr) uintptr { /* sqlite3.c:194209:17: */ +func jsonLookupStep(tls *libc.TLS, pParse uintptr, iRoot U32, zPath uintptr, pApnd uintptr, pzErr uintptr) uintptr { /* sqlite3.c:194266:17: */ var i U32 var j U32 var nKey U32 @@ -155185,7 +155216,7 @@ func jsonLookupStep(tls *libc.TLS, pParse uintptr, iRoot U32, zPath uintptr, pAp // Append content to pParse that will complete zPath. Return a pointer // to the inserted node, or return NULL if the append fails. -func jsonLookupAppend(tls *libc.TLS, pParse uintptr, zPath uintptr, pApnd uintptr, pzErr uintptr) uintptr { /* sqlite3.c:194361:17: */ +func jsonLookupAppend(tls *libc.TLS, pParse uintptr, zPath uintptr, pApnd uintptr, pzErr uintptr) uintptr { /* sqlite3.c:194418:17: */ *(*int32)(unsafe.Pointer(pApnd)) = 1 if int32(*(*uint8)(unsafe.Pointer(zPath))) == 0 { jsonParseAddNode(tls, pParse, uint32(JSON_NULL), uint32(0), uintptr(0)) @@ -155209,7 +155240,7 @@ func jsonLookupAppend(tls *libc.TLS, pParse uintptr, zPath uintptr, pApnd uintpt // Return the text of a syntax error message on a JSON path. Space is // obtained from sqlite3_malloc(). -func jsonPathSyntaxError(tls *libc.TLS, zErr uintptr) uintptr { /* sqlite3.c:194387:13: */ +func jsonPathSyntaxError(tls *libc.TLS, zErr uintptr) uintptr { /* sqlite3.c:194444:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -155224,7 +155255,7 @@ func jsonPathSyntaxError(tls *libc.TLS, zErr uintptr) uintptr { /* sqlite3.c:194 // // If pApnd!=NULL then try to append missing nodes and set *pApnd = 1 if // nodes are appended. -func jsonLookup(tls *libc.TLS, pParse uintptr, zPath uintptr, pApnd uintptr, pCtx uintptr) uintptr { /* sqlite3.c:194401:17: */ +func jsonLookup(tls *libc.TLS, pParse uintptr, zPath uintptr, pApnd uintptr, pCtx uintptr) uintptr { /* sqlite3.c:194458:17: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -155276,7 +155307,7 @@ __5: // Report the wrong number of arguments for json_insert(), json_replace() // or json_set(). -func jsonWrongNumArgs(tls *libc.TLS, pCtx uintptr, zFuncName uintptr) { /* sqlite3.c:194438:13: */ +func jsonWrongNumArgs(tls *libc.TLS, pCtx uintptr, zFuncName uintptr) { /* sqlite3.c:194495:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -155287,7 +155318,7 @@ func jsonWrongNumArgs(tls *libc.TLS, pCtx uintptr, zFuncName uintptr) { /* sqlit } // Mark all NULL entries in the Object passed in as JNODE_REMOVE. -func jsonRemoveAllNulls(tls *libc.TLS, pNode uintptr) { /* sqlite3.c:194451:13: */ +func jsonRemoveAllNulls(tls *libc.TLS, pNode uintptr) { /* sqlite3.c:194508:13: */ var i int32 var n int32 @@ -155318,7 +155349,7 @@ func jsonRemoveAllNulls(tls *libc.TLS, pNode uintptr) { /* sqlite3.c:194451:13: // corresponding to the SQL value input. Mostly this means putting // double-quotes around strings and returning the unquoted string "null" // when given a NULL input. -func jsonQuoteFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:194540:13: */ +func jsonQuoteFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:194597:13: */ bp := tls.Alloc(128) defer tls.Free(128) @@ -155335,7 +155366,7 @@ func jsonQuoteFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sq // Implementation of the json_array(VALUE,...) function. Return a JSON // array that contains all values given in arguments. Or if any argument // is a BLOB, throw an error. -func jsonArrayFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:194559:13: */ +func jsonArrayFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:194616:13: */ bp := tls.Alloc(128) defer tls.Free(128) @@ -155358,7 +155389,7 @@ func jsonArrayFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sq // // Return the number of elements in the top-level JSON array. // Return 0 if the input is not a well-formed JSON array. -func jsonArrayLengthFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:194586:13: */ +func jsonArrayLengthFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:194643:13: */ var p uintptr // The parse var n Sqlite3_int64 = int64(0) var i U32 @@ -155408,7 +155439,7 @@ func jsonArrayLengthFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { // // Abbreviated JSON path expressions are allows if JSON_ABPATH, for // compatibility with PG. -func jsonExtractFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:194646:13: */ +func jsonExtractFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:194703:13: */ bp := tls.Alloc(128) defer tls.Free(128) @@ -155502,7 +155533,7 @@ func jsonExtractFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* } // This is the RFC 7396 MergePatch algorithm. -func jsonMergePatch(tls *libc.TLS, pParse uintptr, iTarget U32, pPatch uintptr) uintptr { /* sqlite3.c:194729:17: */ +func jsonMergePatch(tls *libc.TLS, pParse uintptr, iTarget U32, pPatch uintptr) uintptr { /* sqlite3.c:194786:17: */ var i U32 var j U32 var iRoot U32 @@ -155575,7 +155606,7 @@ func jsonMergePatch(tls *libc.TLS, pParse uintptr, iTarget U32, pPatch uintptr) // Implementation of the json_mergepatch(JSON1,JSON2) function. Return a JSON // object that is the result of running the RFC 7396 MergePatch() algorithm // on the two arguments. -func jsonPatchFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:194811:13: */ +func jsonPatchFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:194868:13: */ bp := tls.Alloc(64) defer tls.Free(64) @@ -155607,7 +155638,7 @@ func jsonPatchFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sq // Implementation of the json_object(NAME,VALUE,...) function. Return a JSON // object that contains all name/value given in arguments. Or if any name // is not a string or if any value is a BLOB, throw an error. -func jsonObjectFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:194843:13: */ +func jsonObjectFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:194900:13: */ bp := tls.Alloc(128) defer tls.Free(128) @@ -155646,7 +155677,7 @@ func jsonObjectFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* s // // Remove the named elements from JSON and return the result. malformed // JSON or PATH arguments result in an error. -func jsonRemoveFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:194885:13: */ +func jsonRemoveFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:194942:13: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -155715,7 +155746,7 @@ remove_done: // // Replace the value at PATH with VALUE. If PATH does not already exist, // this routine is a no-op. If JSON or PATH is malformed, throw an error. -func jsonReplaceFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:194918:13: */ +func jsonReplaceFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:194975:13: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -155798,7 +155829,7 @@ replace_err: // // Create PATH and initialize it to VALUE. If PATH already exists, this // routine is a no-op. If JSON or PATH is malformed, throw an error. -func jsonSetFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:194970:13: */ +func jsonSetFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:195027:13: */ bp := tls.Alloc(36) defer tls.Free(36) @@ -155896,7 +155927,7 @@ jsonSetDone: // // Return the top-level "type" of a JSON string. json_type() raises an // error if either the JSON or PATH inputs are not well-formed. -func jsonTypeFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:195023:13: */ +func jsonTypeFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:195080:13: */ var p uintptr // The parse var zPath uintptr var pNode uintptr @@ -155920,7 +155951,7 @@ func jsonTypeFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sql // // Return 1 if JSON is a well-formed JSON string according to RFC-7159. // Return 0 otherwise. -func jsonValidFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:195051:13: */ +func jsonValidFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:195108:13: */ var p uintptr // The parse _ = argc p = jsonParseCached(tls, ctx, argv, uintptr(0)) @@ -155934,7 +155965,7 @@ func jsonValidFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sq // json_group_array(VALUE) // // Return a JSON array composed of all values in the aggregate. -func jsonArrayStep(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:195071:13: */ +func jsonArrayStep(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:195128:13: */ var pStr uintptr _ = argc pStr = Xsqlite3_aggregate_context(tls, ctx, int32(unsafe.Sizeof(JsonString{}))) @@ -155950,7 +155981,7 @@ func jsonArrayStep(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sq } } -func jsonArrayCompute(tls *libc.TLS, ctx uintptr, isFinal int32) { /* sqlite3.c:195090:13: */ +func jsonArrayCompute(tls *libc.TLS, ctx uintptr, isFinal int32) { /* sqlite3.c:195147:13: */ var pStr uintptr pStr = Xsqlite3_aggregate_context(tls, ctx, 0) if pStr != 0 { @@ -155980,11 +156011,11 @@ func jsonArrayCompute(tls *libc.TLS, ctx uintptr, isFinal int32) { /* sqlite3.c: Xsqlite3_result_subtype(tls, ctx, uint32(JSON_SUBTYPE)) } -func jsonArrayValue(tls *libc.TLS, ctx uintptr) { /* sqlite3.c:195112:13: */ +func jsonArrayValue(tls *libc.TLS, ctx uintptr) { /* sqlite3.c:195169:13: */ jsonArrayCompute(tls, ctx, 0) } -func jsonArrayFinal(tls *libc.TLS, ctx uintptr) { /* sqlite3.c:195115:13: */ +func jsonArrayFinal(tls *libc.TLS, ctx uintptr) { /* sqlite3.c:195172:13: */ jsonArrayCompute(tls, ctx, 1) } @@ -155992,7 +156023,7 @@ func jsonArrayFinal(tls *libc.TLS, ctx uintptr) { /* sqlite3.c:195115:13: */ // It works by removing the first element of the group by searching forward // to the first comma (",") that is not within a string and deleting all // text through that comma. -func jsonGroupInverse(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:195126:13: */ +func jsonGroupInverse(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:195183:13: */ var i uint32 var inStr int32 = 0 var nNest int32 = 0 @@ -156034,7 +156065,7 @@ func jsonGroupInverse(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* // json_group_obj(NAME,VALUE) // // Return a JSON object composed of all names and values in the aggregate. -func jsonObjectStep(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:195174:13: */ +func jsonObjectStep(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:195231:13: */ var pStr uintptr var z uintptr var n U32 @@ -156056,7 +156087,7 @@ func jsonObjectStep(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* s } } -func jsonObjectCompute(tls *libc.TLS, ctx uintptr, isFinal int32) { /* sqlite3.c:195199:13: */ +func jsonObjectCompute(tls *libc.TLS, ctx uintptr, isFinal int32) { /* sqlite3.c:195256:13: */ var pStr uintptr pStr = Xsqlite3_aggregate_context(tls, ctx, 0) if pStr != 0 { @@ -156085,11 +156116,11 @@ func jsonObjectCompute(tls *libc.TLS, ctx uintptr, isFinal int32) { /* sqlite3.c Xsqlite3_result_subtype(tls, ctx, uint32(JSON_SUBTYPE)) } -func jsonObjectValue(tls *libc.TLS, ctx uintptr) { /* sqlite3.c:195220:13: */ +func jsonObjectValue(tls *libc.TLS, ctx uintptr) { /* sqlite3.c:195277:13: */ jsonObjectCompute(tls, ctx, 0) } -func jsonObjectFinal(tls *libc.TLS, ctx uintptr) { /* sqlite3.c:195223:13: */ +func jsonObjectFinal(tls *libc.TLS, ctx uintptr) { /* sqlite3.c:195280:13: */ jsonObjectCompute(tls, ctx, 1) } @@ -156109,16 +156140,16 @@ type JsonEachCursor1 = struct { FzJson uintptr FzRoot uintptr FsParse JsonParse -} /* sqlite3.c:195233:9 */ +} /* sqlite3.c:195290:9 */ // *************************************************************************** // // The json_each virtual table // -type JsonEachCursor = JsonEachCursor1 /* sqlite3.c:195233:31 */ +type JsonEachCursor = JsonEachCursor1 /* sqlite3.c:195290:31 */ // Constructor for the json_each virtual table -func jsonEachConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 { /* sqlite3.c:195248:12: */ +func jsonEachConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 { /* sqlite3.c:195305:12: */ var pNew uintptr var rc int32 @@ -156146,13 +156177,13 @@ func jsonEachConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv u } // destructor for json_each virtual table -func jsonEachDisconnect(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:195290:12: */ +func jsonEachDisconnect(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:195347:12: */ Xsqlite3_free(tls, pVtab) return SQLITE_OK } // constructor for a JsonEachCursor object for json_each(). -func jsonEachOpenEach(tls *libc.TLS, p uintptr, ppCursor uintptr) int32 { /* sqlite3.c:195296:12: */ +func jsonEachOpenEach(tls *libc.TLS, p uintptr, ppCursor uintptr) int32 { /* sqlite3.c:195353:12: */ var pCur uintptr _ = p @@ -156166,7 +156197,7 @@ func jsonEachOpenEach(tls *libc.TLS, p uintptr, ppCursor uintptr) int32 { /* sql } // constructor for a JsonEachCursor object for json_tree(). -func jsonEachOpenTree(tls *libc.TLS, p uintptr, ppCursor uintptr) int32 { /* sqlite3.c:195308:12: */ +func jsonEachOpenTree(tls *libc.TLS, p uintptr, ppCursor uintptr) int32 { /* sqlite3.c:195365:12: */ var rc int32 = jsonEachOpenEach(tls, p, ppCursor) if rc == SQLITE_OK { var pCur uintptr = *(*uintptr)(unsafe.Pointer(ppCursor)) @@ -156177,7 +156208,7 @@ func jsonEachOpenTree(tls *libc.TLS, p uintptr, ppCursor uintptr) int32 { /* sql // Reset a JsonEachCursor back to its original state. Free any memory // held. -func jsonEachCursorReset(tls *libc.TLS, p uintptr) { /* sqlite3.c:195319:13: */ +func jsonEachCursorReset(tls *libc.TLS, p uintptr) { /* sqlite3.c:195376:13: */ Xsqlite3_free(tls, (*JsonEachCursor)(unsafe.Pointer(p)).FzJson) Xsqlite3_free(tls, (*JsonEachCursor)(unsafe.Pointer(p)).FzRoot) jsonParseReset(tls, p+32) @@ -156190,7 +156221,7 @@ func jsonEachCursorReset(tls *libc.TLS, p uintptr) { /* sqlite3.c:195319:13: */ } // Destructor for a jsonEachCursor object -func jsonEachClose(tls *libc.TLS, cur uintptr) int32 { /* sqlite3.c:195332:12: */ +func jsonEachClose(tls *libc.TLS, cur uintptr) int32 { /* sqlite3.c:195389:12: */ var p uintptr = cur jsonEachCursorReset(tls, p) Xsqlite3_free(tls, cur) @@ -156199,13 +156230,13 @@ func jsonEachClose(tls *libc.TLS, cur uintptr) int32 { /* sqlite3.c:195332:12: * // Return TRUE if the jsonEachCursor object has been advanced off the end // of the JSON object -func jsonEachEof(tls *libc.TLS, cur uintptr) int32 { /* sqlite3.c:195341:12: */ +func jsonEachEof(tls *libc.TLS, cur uintptr) int32 { /* sqlite3.c:195398:12: */ var p uintptr = cur return libc.Bool32((*JsonEachCursor)(unsafe.Pointer(p)).Fi >= (*JsonEachCursor)(unsafe.Pointer(p)).FiEnd) } // Advance the cursor to the next element for json_tree() -func jsonEachNext(tls *libc.TLS, cur uintptr) int32 { /* sqlite3.c:195347:12: */ +func jsonEachNext(tls *libc.TLS, cur uintptr) int32 { /* sqlite3.c:195404:12: */ var p uintptr = cur if (*JsonEachCursor)(unsafe.Pointer(p)).FbRecursive != 0 { if int32((*JsonNode)(unsafe.Pointer((*JsonEachCursor)(unsafe.Pointer(p)).FsParse.FaNode+uintptr((*JsonEachCursor)(unsafe.Pointer(p)).Fi)*12)).FjnFlags)&JNODE_LABEL != 0 { @@ -156256,7 +156287,7 @@ func jsonEachNext(tls *libc.TLS, cur uintptr) int32 { /* sqlite3.c:195347:12: */ } // Append the name of the path for element i to pStr -func jsonEachComputePath(tls *libc.TLS, p uintptr, pStr uintptr, i U32) { /* sqlite3.c:195391:13: */ +func jsonEachComputePath(tls *libc.TLS, p uintptr, pStr uintptr, i U32) { /* sqlite3.c:195448:13: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -156285,7 +156316,7 @@ func jsonEachComputePath(tls *libc.TLS, p uintptr, pStr uintptr, i U32) { /* sql } // Return the value of a column -func jsonEachColumn(tls *libc.TLS, cur uintptr, ctx uintptr, i int32) int32 { /* sqlite3.c:195421:12: */ +func jsonEachColumn(tls *libc.TLS, cur uintptr, ctx uintptr, i int32) int32 { /* sqlite3.c:195478:12: */ bp := tls.Alloc(280) defer tls.Free(280) @@ -156419,7 +156450,7 @@ func jsonEachColumn(tls *libc.TLS, cur uintptr, ctx uintptr, i int32) int32 { /* } // Return the current rowid value -func jsonEachRowid(tls *libc.TLS, cur uintptr, pRowid uintptr) int32 { /* sqlite3.c:195522:12: */ +func jsonEachRowid(tls *libc.TLS, cur uintptr, pRowid uintptr) int32 { /* sqlite3.c:195579:12: */ var p uintptr = cur *(*Sqlite_int64)(unsafe.Pointer(pRowid)) = Sqlite_int64((*JsonEachCursor)(unsafe.Pointer(p)).FiRowid) return SQLITE_OK @@ -156429,7 +156460,7 @@ func jsonEachRowid(tls *libc.TLS, cur uintptr, pRowid uintptr) int32 { /* sqlite // column. Without such a constraint, the table cannot operate. idxNum is // 1 if the constraint is found, 3 if the constraint and zRoot are found, // and 0 otherwise. -func jsonEachBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 { /* sqlite3.c:195533:12: */ +func jsonEachBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 { /* sqlite3.c:195590:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -156504,7 +156535,7 @@ __3: } // Start a search on a new JSON string -func jsonEachFilter(tls *libc.TLS, cur uintptr, idxNum int32, idxStr uintptr, argc int32, argv uintptr) int32 { /* sqlite3.c:195592:12: */ +func jsonEachFilter(tls *libc.TLS, cur uintptr, idxNum int32, idxStr uintptr, argc int32, argv uintptr) int32 { /* sqlite3.c:195649:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -156609,7 +156640,7 @@ var jsonEachModule = Sqlite3_module{ // xCreate FxEof: 0, // xEof - check for end of scan FxColumn: 0, // xColumn - read data FxRowid: 0, // xShadowName -} /* sqlite3.c:195673:23 */ +} /* sqlite3.c:195730:23 */ // The methods of the json_tree virtual table. var jsonTreeModule = Sqlite3_module{ // xCreate @@ -156623,10 +156654,10 @@ var jsonTreeModule = Sqlite3_module{ // xCreate FxEof: 0, // xEof - check for end of scan FxColumn: 0, // xColumn - read data FxRowid: 0, // xShadowName -} /* sqlite3.c:195701:23 */ +} /* sqlite3.c:195758:23 */ // Register JSON functions. -func Xsqlite3RegisterJsonFunctions(tls *libc.TLS) { /* sqlite3.c:195733:21: */ +func Xsqlite3RegisterJsonFunctions(tls *libc.TLS) { /* sqlite3.c:195790:21: */ Xsqlite3InsertBuiltinFuncs(tls, uintptr(unsafe.Pointer(&aJsonFunc)), int32(uint32(unsafe.Sizeof(aJsonFunc))/uint32(unsafe.Sizeof(FuncDef{})))) } @@ -156649,10 +156680,10 @@ var aJsonFunc = [19]FuncDef{ {FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_INNOCUOUS | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24794}, {FnArg: int8(1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_INNOCUOUS | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24804}, {FnArg: int8(1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_UTF8 | 0*SQLITE_FUNC_NEEDCOLL | SQLITE_SUBTYPE | SQLITE_UTF8 | SQLITE_DETERMINISTIC | SQLITE_INNOCUOUS), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 24815}, - {FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_UTF8 | 0*SQLITE_FUNC_NEEDCOLL | SQLITE_SUBTYPE | SQLITE_UTF8 | SQLITE_DETERMINISTIC | SQLITE_INNOCUOUS), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 24832}} /* sqlite3.c:195735:18 */ + {FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_UTF8 | 0*SQLITE_FUNC_NEEDCOLL | SQLITE_SUBTYPE | SQLITE_UTF8 | SQLITE_DETERMINISTIC | SQLITE_INNOCUOUS), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 24832}} /* sqlite3.c:195792:18 */ // Register the JSON table-valued functions -func Xsqlite3JsonTableFunctions(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:195772:20: */ +func Xsqlite3JsonTableFunctions(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:195829:20: */ var rc int32 = SQLITE_OK var i uint32 for i = uint32(0); i < uint32(unsafe.Sizeof(aMod))/uint32(unsafe.Sizeof(struct { @@ -156670,7 +156701,7 @@ var aMod = [2]struct { }{ {FzName: ts + 24850 /* "json_each" */, FpModule: 0}, {FzName: ts + 24860 /* "json_tree" */, FpModule: 0}, -} /* sqlite3.c:195777:5 */ // In the SQLite core +} /* sqlite3.c:195834:5 */ // In the SQLite core // If building separately, we will need some setup that is normally // found in sqliteInt.h @@ -156716,7 +156747,7 @@ type Rtree1 = struct { FpDeleteParent uintptr FpWriteAux uintptr FaHash [97]uintptr -} /* sqlite3.c:195900:9 */ +} /* sqlite3.c:195957:9 */ // In the SQLite core @@ -156730,7 +156761,7 @@ type Rtree1 = struct { // The following macro is used to suppress compiler warnings. -type Rtree = Rtree1 /* sqlite3.c:195900:22 */ +type Rtree = Rtree1 /* sqlite3.c:195957:22 */ type RtreeCursor1 = struct { Fbase Sqlite3_vtab_cursor FatEOF U8 @@ -156748,9 +156779,9 @@ type RtreeCursor1 = struct { FsPoint RtreeSearchPoint FaNode [5]uintptr FanQueue [41]U32 -} /* sqlite3.c:195901:9 */ +} /* sqlite3.c:195958:9 */ -type RtreeCursor = RtreeCursor1 /* sqlite3.c:195901:28 */ +type RtreeCursor = RtreeCursor1 /* sqlite3.c:195958:28 */ type RtreeNode1 = struct { FpParent uintptr F__ccgo_pad1 [4]byte @@ -156759,24 +156790,24 @@ type RtreeNode1 = struct { FisDirty int32 FzData uintptr FpNext uintptr -} /* sqlite3.c:195900:9 */ +} /* sqlite3.c:195957:9 */ -type RtreeNode = RtreeNode1 /* sqlite3.c:195902:26 */ +type RtreeNode = RtreeNode1 /* sqlite3.c:195959:26 */ type RtreeCell1 = struct { FiRowid I64 FaCoord [10]RtreeCoord -} /* sqlite3.c:195903:9 */ +} /* sqlite3.c:195960:9 */ -type RtreeCell = RtreeCell1 /* sqlite3.c:195903:26 */ +type RtreeCell = RtreeCell1 /* sqlite3.c:195960:26 */ type RtreeConstraint1 = struct { FiCoord int32 Fop int32 Fu struct{ FrValue RtreeDValue } FpInfo uintptr F__ccgo_pad1 [4]byte -} /* sqlite3.c:195901:9 */ +} /* sqlite3.c:195958:9 */ -type RtreeConstraint = RtreeConstraint1 /* sqlite3.c:195904:32 */ +type RtreeConstraint = RtreeConstraint1 /* sqlite3.c:195961:32 */ type RtreeMatchArg1 = struct { FiSize U32 Fcb RtreeGeomCallback @@ -156784,20 +156815,20 @@ type RtreeMatchArg1 = struct { FapSqlParam uintptr F__ccgo_pad1 [4]byte FaParam [1]RtreeDValue -} /* sqlite3.c:195905:9 */ +} /* sqlite3.c:195962:9 */ -type RtreeMatchArg = RtreeMatchArg1 /* sqlite3.c:195905:30 */ +type RtreeMatchArg = RtreeMatchArg1 /* sqlite3.c:195962:30 */ type RtreeGeomCallback1 = struct { FxGeom uintptr FxQueryFunc uintptr FxDestructor uintptr FpContext uintptr -} /* sqlite3.c:195905:9 */ +} /* sqlite3.c:195962:9 */ -type RtreeGeomCallback = RtreeGeomCallback1 /* sqlite3.c:195906:34 */ -type RtreeCoord1 = struct{ Ff RtreeValue } /* sqlite3.c:195903:9 */ +type RtreeGeomCallback = RtreeGeomCallback1 /* sqlite3.c:195963:34 */ +type RtreeCoord1 = struct{ Ff RtreeValue } /* sqlite3.c:195960:9 */ -type RtreeCoord = RtreeCoord1 /* sqlite3.c:195907:26 */ +type RtreeCoord = RtreeCoord1 /* sqlite3.c:195964:26 */ type RtreeSearchPoint1 = struct { FrScore RtreeDValue Fid Sqlite3_int64 @@ -156805,17 +156836,17 @@ type RtreeSearchPoint1 = struct { FeWithin U8 FiCell U8 F__ccgo_pad1 [5]byte -} /* sqlite3.c:195901:9 */ +} /* sqlite3.c:195958:9 */ -type RtreeSearchPoint = RtreeSearchPoint1 /* sqlite3.c:195908:33 */ +type RtreeSearchPoint = RtreeSearchPoint1 /* sqlite3.c:195965:33 */ // Possible values for Rtree.eCoordType: // 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 RtreeDValue = float64 /* sqlite3.c:196005:18 */ // High accuracy coordinate -type RtreeValue = float32 /* sqlite3.c:196006:17 */ +type RtreeDValue = float64 /* sqlite3.c:196062:18 */ // High accuracy coordinate +type RtreeValue = float32 /* sqlite3.c:196063:17 */ // What version of GCC is being used. 0 means GCC is not being used . // Note that the GCC_VERSION macro will also be set correctly when using @@ -156841,16 +156872,16 @@ type RtreeValue = float32 /* sqlite3.c:196006:17 */ // Functions to deserialize a 16 bit integer, 32 bit real number and // 64 bit integer. The deserialized value is returned. -func readInt16(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:196290:12: */ +func readInt16(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:196347:12: */ return int32(*(*U8)(unsafe.Pointer(p)))<<8 + int32(*(*U8)(unsafe.Pointer(p + 1))) } -func readCoord(tls *libc.TLS, p uintptr, pCoord uintptr) { /* sqlite3.c:196293:13: */ +func readCoord(tls *libc.TLS, p uintptr, pCoord uintptr) { /* sqlite3.c:196350:13: */ // p is always 4-byte aligned *(*U32)(unsafe.Pointer(pCoord)) = libc.X__builtin_bswap32(tls, *(*U32)(unsafe.Pointer(p))) } -func readInt64(tls *libc.TLS, p uintptr) I64 { /* sqlite3.c:196310:12: */ +func readInt64(tls *libc.TLS, p uintptr) I64 { /* sqlite3.c:196367:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -156863,12 +156894,12 @@ func readInt64(tls *libc.TLS, p uintptr) I64 { /* sqlite3.c:196310:12: */ // Functions to serialize a 16 bit integer, 32 bit real number and // 64 bit integer. The value returned is the number of bytes written // to the argument buffer (always 2, 4 and 8 respectively). -func writeInt16(tls *libc.TLS, p uintptr, i int32) { /* sqlite3.c:196342:13: */ +func writeInt16(tls *libc.TLS, p uintptr, i int32) { /* sqlite3.c:196399:13: */ *(*U8)(unsafe.Pointer(p)) = U8(i >> 8 & 0xFF) *(*U8)(unsafe.Pointer(p + 1)) = U8(i >> 0 & 0xFF) } -func writeCoord(tls *libc.TLS, p uintptr, pCoord uintptr) int32 { /* sqlite3.c:196346:12: */ +func writeCoord(tls *libc.TLS, p uintptr, pCoord uintptr) int32 { /* sqlite3.c:196403:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -156881,7 +156912,7 @@ func writeCoord(tls *libc.TLS, p uintptr, pCoord uintptr) int32 { /* sqlite3.c:1 return 4 } -func writeInt64(tls *libc.TLS, p uintptr, i I64) int32 { /* sqlite3.c:196369:12: */ +func writeInt64(tls *libc.TLS, p uintptr, i I64) int32 { /* sqlite3.c:196426:12: */ bp := tls.Alloc(8) defer tls.Free(8) *(*I64)(unsafe.Pointer(bp)) = i @@ -156892,7 +156923,7 @@ func writeInt64(tls *libc.TLS, p uintptr, i I64) int32 { /* sqlite3.c:196369:12: } // Increment the reference count of node p. -func nodeReference(tls *libc.TLS, p uintptr) { /* sqlite3.c:196394:13: */ +func nodeReference(tls *libc.TLS, p uintptr) { /* sqlite3.c:196451:13: */ if p != 0 { (*RtreeNode)(unsafe.Pointer(p)).FnRef++ @@ -156900,20 +156931,20 @@ func nodeReference(tls *libc.TLS, p uintptr) { /* sqlite3.c:196394:13: */ } // Clear the content of node p (set all bytes to 0x00). -func nodeZero(tls *libc.TLS, pRtree uintptr, p uintptr) { /* sqlite3.c:196404:13: */ +func nodeZero(tls *libc.TLS, pRtree uintptr, p uintptr) { /* sqlite3.c:196461:13: */ libc.Xmemset(tls, (*RtreeNode)(unsafe.Pointer(p)).FzData+2, 0, uint32((*Rtree)(unsafe.Pointer(pRtree)).FiNodeSize-2)) (*RtreeNode)(unsafe.Pointer(p)).FisDirty = 1 } // Given a node number iNode, return the corresponding key to use // in the Rtree.aHash table. -func nodeHash(tls *libc.TLS, iNode I64) uint32 { /* sqlite3.c:196413:21: */ +func nodeHash(tls *libc.TLS, iNode I64) uint32 { /* sqlite3.c:196470:21: */ return uint32(iNode) % uint32(HASHSIZE) } // Search the node hash table for node iNode. If found, return a pointer // to it. Otherwise, return 0. -func nodeHashLookup(tls *libc.TLS, pRtree uintptr, iNode I64) uintptr { /* sqlite3.c:196421:18: */ +func nodeHashLookup(tls *libc.TLS, pRtree uintptr, iNode I64) uintptr { /* sqlite3.c:196478:18: */ var p uintptr for p = *(*uintptr)(unsafe.Pointer(pRtree + 116 + uintptr(nodeHash(tls, iNode))*4)); p != 0 && (*RtreeNode)(unsafe.Pointer(p)).FiNode != iNode; p = (*RtreeNode)(unsafe.Pointer(p)).FpNext { } @@ -156921,7 +156952,7 @@ func nodeHashLookup(tls *libc.TLS, pRtree uintptr, iNode I64) uintptr { /* sqlit } // Add node pNode to the node hash table. -func nodeHashInsert(tls *libc.TLS, pRtree uintptr, pNode uintptr) { /* sqlite3.c:196430:13: */ +func nodeHashInsert(tls *libc.TLS, pRtree uintptr, pNode uintptr) { /* sqlite3.c:196487:13: */ var iHash int32 iHash = int32(nodeHash(tls, (*RtreeNode)(unsafe.Pointer(pNode)).FiNode)) @@ -156930,7 +156961,7 @@ func nodeHashInsert(tls *libc.TLS, pRtree uintptr, pNode uintptr) { /* sqlite3.c } // Remove node pNode from the node hash table. -func nodeHashDelete(tls *libc.TLS, pRtree uintptr, pNode uintptr) { /* sqlite3.c:196441:13: */ +func nodeHashDelete(tls *libc.TLS, pRtree uintptr, pNode uintptr) { /* sqlite3.c:196498:13: */ var pp uintptr if (*RtreeNode)(unsafe.Pointer(pNode)).FiNode != int64(0) { pp = pRtree + 116 + uintptr(nodeHash(tls, (*RtreeNode)(unsafe.Pointer(pNode)).FiNode))*4 @@ -156945,7 +156976,7 @@ func nodeHashDelete(tls *libc.TLS, pRtree uintptr, pNode uintptr) { /* sqlite3.c // indicating that node has not yet been assigned a node number. It is // assigned a node number when nodeWrite() is called to write the // node contents out to the database. -func nodeNew(tls *libc.TLS, pRtree uintptr, pParent uintptr) uintptr { /* sqlite3.c:196457:18: */ +func nodeNew(tls *libc.TLS, pRtree uintptr, pParent uintptr) uintptr { /* sqlite3.c:196514:18: */ var pNode uintptr pNode = Xsqlite3_malloc64(tls, uint64(uint32(unsafe.Sizeof(RtreeNode{}))+uint32((*Rtree)(unsafe.Pointer(pRtree)).FiNodeSize))) if pNode != 0 { @@ -156961,7 +156992,7 @@ func nodeNew(tls *libc.TLS, pRtree uintptr, pParent uintptr) uintptr { /* sqlite } // Clear the Rtree.pNodeBlob object -func nodeBlobReset(tls *libc.TLS, pRtree uintptr) { /* sqlite3.c:196475:13: */ +func nodeBlobReset(tls *libc.TLS, pRtree uintptr) { /* sqlite3.c:196532:13: */ if (*Rtree)(unsafe.Pointer(pRtree)).FpNodeBlob != 0 && int32((*Rtree)(unsafe.Pointer(pRtree)).FinWrTrans) == 0 && (*Rtree)(unsafe.Pointer(pRtree)).FnCursor == U32(0) { var pBlob uintptr = (*Rtree)(unsafe.Pointer(pRtree)).FpNodeBlob (*Rtree)(unsafe.Pointer(pRtree)).FpNodeBlob = uintptr(0) @@ -156970,7 +157001,7 @@ func nodeBlobReset(tls *libc.TLS, pRtree uintptr) { /* sqlite3.c:196475:13: */ } // Obtain a reference to an r-tree node. -func nodeAcquire(tls *libc.TLS, pRtree uintptr, iNode I64, pParent uintptr, ppNode uintptr) int32 { /* sqlite3.c:196486:12: */ +func nodeAcquire(tls *libc.TLS, pRtree uintptr, iNode I64, pParent uintptr, ppNode uintptr) int32 { /* sqlite3.c:196543:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -157080,7 +157111,7 @@ func nodeAcquire(tls *libc.TLS, pRtree uintptr, iNode I64, pParent uintptr, ppNo } // Overwrite cell iCell of node pNode with the contents of pCell. -func nodeOverwriteCell(tls *libc.TLS, pRtree uintptr, pNode uintptr, pCell uintptr, iCell int32) { /* sqlite3.c:196599:13: */ +func nodeOverwriteCell(tls *libc.TLS, pRtree uintptr, pNode uintptr, pCell uintptr, iCell int32) { /* sqlite3.c:196656:13: */ var ii int32 var p uintptr = (*RtreeNode)(unsafe.Pointer(pNode)).FzData + uintptr(4+int32((*Rtree)(unsafe.Pointer(pRtree)).FnBytesPerCell)*iCell) p += uintptr(writeInt64(tls, p, (*RtreeCell)(unsafe.Pointer(pCell)).FiRowid)) @@ -157091,7 +157122,7 @@ func nodeOverwriteCell(tls *libc.TLS, pRtree uintptr, pNode uintptr, pCell uintp } // Remove the cell with index iCell from node pNode. -func nodeDeleteCell(tls *libc.TLS, pRtree uintptr, pNode uintptr, iCell int32) { /* sqlite3.c:196617:13: */ +func nodeDeleteCell(tls *libc.TLS, pRtree uintptr, pNode uintptr, iCell int32) { /* sqlite3.c:196674:13: */ var pDst uintptr = (*RtreeNode)(unsafe.Pointer(pNode)).FzData + uintptr(4+int32((*Rtree)(unsafe.Pointer(pRtree)).FnBytesPerCell)*iCell) var pSrc uintptr = pDst + uintptr((*Rtree)(unsafe.Pointer(pRtree)).FnBytesPerCell) var nByte int32 = (readInt16(tls, (*RtreeNode)(unsafe.Pointer(pNode)).FzData+2) - iCell - 1) * int32((*Rtree)(unsafe.Pointer(pRtree)).FnBytesPerCell) @@ -157104,7 +157135,7 @@ func nodeDeleteCell(tls *libc.TLS, pRtree uintptr, pNode uintptr, iCell int32) { // is successful, return SQLITE_OK. // // If there is not enough free space in pNode, return SQLITE_FULL. -func nodeInsertCell(tls *libc.TLS, pRtree uintptr, pNode uintptr, pCell uintptr) int32 { /* sqlite3.c:196632:12: */ +func nodeInsertCell(tls *libc.TLS, pRtree uintptr, pNode uintptr, pCell uintptr) int32 { /* sqlite3.c:196689:12: */ var nCell int32 // Current number of cells in pNode var nMaxCell int32 // Maximum number of cells for pNode @@ -157121,7 +157152,7 @@ func nodeInsertCell(tls *libc.TLS, pRtree uintptr, pNode uintptr, pCell uintptr) } // If the node is dirty, write it out to the database. -func nodeWrite(tls *libc.TLS, pRtree uintptr, pNode uintptr) int32 { /* sqlite3.c:196656:12: */ +func nodeWrite(tls *libc.TLS, pRtree uintptr, pNode uintptr) int32 { /* sqlite3.c:196713:12: */ var rc int32 = SQLITE_OK if (*RtreeNode)(unsafe.Pointer(pNode)).FisDirty != 0 { var p uintptr = (*Rtree)(unsafe.Pointer(pRtree)).FpWriteNode @@ -157145,7 +157176,7 @@ func nodeWrite(tls *libc.TLS, pRtree uintptr, pNode uintptr) int32 { /* sqlite3. // Release a reference to a node. If the node is dirty and the reference // count drops to zero, the node data is written to the database. -func nodeRelease(tls *libc.TLS, pRtree uintptr, pNode uintptr) int32 { /* sqlite3.c:196682:12: */ +func nodeRelease(tls *libc.TLS, pRtree uintptr, pNode uintptr) int32 { /* sqlite3.c:196739:12: */ var rc int32 = SQLITE_OK if pNode != 0 { @@ -157171,19 +157202,19 @@ func nodeRelease(tls *libc.TLS, pRtree uintptr, pNode uintptr) int32 { /* sqlite // Return the 64-bit integer value associated with cell iCell of // node pNode. If pNode is a leaf node, this is a rowid. If it is // an internal node, then the 64-bit integer is a child page number. -func nodeGetRowid(tls *libc.TLS, pRtree uintptr, pNode uintptr, iCell int32) I64 { /* sqlite3.c:196711:12: */ +func nodeGetRowid(tls *libc.TLS, pRtree uintptr, pNode uintptr, iCell int32) I64 { /* sqlite3.c:196768:12: */ return readInt64(tls, (*RtreeNode)(unsafe.Pointer(pNode)).FzData+uintptr(4+int32((*Rtree)(unsafe.Pointer(pRtree)).FnBytesPerCell)*iCell)) } // Return coordinate iCoord from cell iCell in node pNode. -func nodeGetCoord(tls *libc.TLS, pRtree uintptr, pNode uintptr, iCell int32, iCoord int32, pCoord uintptr) { /* sqlite3.c:196723:13: */ +func nodeGetCoord(tls *libc.TLS, pRtree uintptr, pNode uintptr, iCell int32, iCoord int32, pCoord uintptr) { /* sqlite3.c:196780:13: */ readCoord(tls, (*RtreeNode)(unsafe.Pointer(pNode)).FzData+uintptr(12+int32((*Rtree)(unsafe.Pointer(pRtree)).FnBytesPerCell)*iCell+4*iCoord), pCoord) } // Deserialize cell iCell of node pNode. Populate the structure pointed // to by pCell with the results. -func nodeGetCell(tls *libc.TLS, pRtree uintptr, pNode uintptr, iCell int32, pCell uintptr) { /* sqlite3.c:196737:13: */ +func nodeGetCell(tls *libc.TLS, pRtree uintptr, pNode uintptr, iCell int32, pCell uintptr) { /* sqlite3.c:196794:13: */ var pData uintptr var pCoord uintptr var ii int32 = 0 @@ -157199,23 +157230,23 @@ func nodeGetCell(tls *libc.TLS, pRtree uintptr, pNode uintptr, iCell int32, pCel } // Rtree virtual table module xCreate method. -func rtreeCreate(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 { /* sqlite3.c:196768:12: */ +func rtreeCreate(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 { /* sqlite3.c:196825:12: */ return rtreeInit(tls, db, pAux, argc, argv, ppVtab, pzErr, 1) } // Rtree virtual table module xConnect method. -func rtreeConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 { /* sqlite3.c:196781:12: */ +func rtreeConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 { /* sqlite3.c:196838:12: */ return rtreeInit(tls, db, pAux, argc, argv, ppVtab, pzErr, 0) } // Increment the r-tree reference count. -func rtreeReference(tls *libc.TLS, pRtree uintptr) { /* sqlite3.c:196794:13: */ +func rtreeReference(tls *libc.TLS, pRtree uintptr) { /* sqlite3.c:196851:13: */ (*Rtree)(unsafe.Pointer(pRtree)).FnBusy++ } // Decrement the r-tree reference count. When the reference count reaches // zero the structure is deleted. -func rtreeRelease(tls *libc.TLS, pRtree uintptr) { /* sqlite3.c:196802:13: */ +func rtreeRelease(tls *libc.TLS, pRtree uintptr) { /* sqlite3.c:196859:13: */ (*Rtree)(unsafe.Pointer(pRtree)).FnBusy-- if (*Rtree)(unsafe.Pointer(pRtree)).FnBusy == U32(0) { (*Rtree)(unsafe.Pointer(pRtree)).FinWrTrans = U8(0) @@ -157237,13 +157268,13 @@ func rtreeRelease(tls *libc.TLS, pRtree uintptr) { /* sqlite3.c:196802:13: */ } // Rtree virtual table module xDisconnect method. -func rtreeDisconnect(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:196826:12: */ +func rtreeDisconnect(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:196883:12: */ rtreeRelease(tls, pVtab) return SQLITE_OK } // Rtree virtual table module xDestroy method. -func rtreeDestroy(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:196834:12: */ +func rtreeDestroy(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:196891:12: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -157270,7 +157301,7 @@ func rtreeDestroy(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:196834:12: } // Rtree virtual table module xOpen method. -func rtreeOpen(tls *libc.TLS, pVTab uintptr, ppCursor uintptr) int32 { /* sqlite3.c:196862:12: */ +func rtreeOpen(tls *libc.TLS, pVTab uintptr, ppCursor uintptr) int32 { /* sqlite3.c:196919:12: */ var rc int32 = SQLITE_NOMEM var pRtree uintptr = pVTab var pCsr uintptr @@ -157288,7 +157319,7 @@ func rtreeOpen(tls *libc.TLS, pVTab uintptr, ppCursor uintptr) int32 { /* sqlite } // Reset a cursor back to its initial state. -func resetCursor(tls *libc.TLS, pCsr uintptr) { /* sqlite3.c:196883:13: */ +func resetCursor(tls *libc.TLS, pCsr uintptr) { /* sqlite3.c:196940:13: */ var pRtree uintptr = (*RtreeCursor)(unsafe.Pointer(pCsr)).Fbase.FpVtab var ii int32 var pStmt uintptr @@ -157318,7 +157349,7 @@ func resetCursor(tls *libc.TLS, pCsr uintptr) { /* sqlite3.c:196883:13: */ } // Rtree virtual table module xClose method. -func rtreeClose(tls *libc.TLS, cur uintptr) int32 { /* sqlite3.c:196911:12: */ +func rtreeClose(tls *libc.TLS, cur uintptr) int32 { /* sqlite3.c:196968:12: */ var pRtree uintptr = (*Sqlite3_vtab_cursor)(unsafe.Pointer(cur)).FpVtab var pCsr uintptr = cur @@ -157334,7 +157365,7 @@ func rtreeClose(tls *libc.TLS, cur uintptr) int32 { /* sqlite3.c:196911:12: */ // // Return non-zero if the cursor does not currently point to a valid // record (i.e if the scan has finished), or zero otherwise. -func rtreeEof(tls *libc.TLS, cur uintptr) int32 { /* sqlite3.c:196929:12: */ +func rtreeEof(tls *libc.TLS, cur uintptr) int32 { /* sqlite3.c:196986:12: */ var pCsr uintptr = cur return int32((*RtreeCursor)(unsafe.Pointer(pCsr)).FatEOF) } @@ -157351,7 +157382,7 @@ func rtreeEof(tls *libc.TLS, cur uintptr) int32 { /* sqlite3.c:196929:12: */ // Check the RTree node or entry given by pCellData and p against the MATCH // constraint pConstraint. -func rtreeCallbackConstraint(tls *libc.TLS, pConstraint uintptr, eInt int32, pCellData uintptr, pSearch uintptr, prScore uintptr, peWithin uintptr) int32 { /* sqlite3.c:196984:12: */ +func rtreeCallbackConstraint(tls *libc.TLS, pConstraint uintptr, eInt int32, pCellData uintptr, pSearch uintptr, prScore uintptr, peWithin uintptr) int32 { /* sqlite3.c:197041:12: */ bp := tls.Alloc(92) defer tls.Free(92) @@ -157463,7 +157494,7 @@ func rtreeCallbackConstraint(tls *libc.TLS, pConstraint uintptr, eInt int32, pCe // Check the internal RTree node given by pCellData against constraint p. // If this constraint cannot be satisfied by any child within the node, // set *peWithin to NOT_WITHIN. -func rtreeNonleafConstraint(tls *libc.TLS, p uintptr, eInt int32, pCellData uintptr, peWithin uintptr) { /* sqlite3.c:197060:13: */ +func rtreeNonleafConstraint(tls *libc.TLS, p uintptr, eInt int32, pCellData uintptr, peWithin uintptr) { /* sqlite3.c:197117:13: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -157561,7 +157592,7 @@ func rtreeNonleafConstraint(tls *libc.TLS, p uintptr, eInt int32, pCellData uint // // The op is given by p->op. The xN is p->iCoord-th coordinate in // pCellData. $val is given by p->u.rValue. -func rtreeLeafConstraint(tls *libc.TLS, p uintptr, eInt int32, pCellData uintptr, peWithin uintptr) { /* sqlite3.c:197117:13: */ +func rtreeLeafConstraint(tls *libc.TLS, p uintptr, eInt int32, pCellData uintptr, peWithin uintptr) { /* sqlite3.c:197174:13: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -157616,7 +157647,7 @@ func rtreeLeafConstraint(tls *libc.TLS, p uintptr, eInt int32, pCellData uintptr // One of the cells in node pNode is guaranteed to have a 64-bit // integer value equal to iRowid. Return the index of this cell. -func nodeRowidIndex(tls *libc.TLS, pRtree uintptr, pNode uintptr, iRowid I64, piIndex uintptr) int32 { /* sqlite3.c:197147:12: */ +func nodeRowidIndex(tls *libc.TLS, pRtree uintptr, pNode uintptr, iRowid I64, piIndex uintptr) int32 { /* sqlite3.c:197204:12: */ var ii int32 var nCell int32 = readInt16(tls, (*RtreeNode)(unsafe.Pointer(pNode)).FzData+2) @@ -157632,7 +157663,7 @@ func nodeRowidIndex(tls *libc.TLS, pRtree uintptr, pNode uintptr, iRowid I64, pi // Return the index of the cell containing a pointer to node pNode // in its parent. If pNode is the root node, return -1. -func nodeParentIndex(tls *libc.TLS, pRtree uintptr, pNode uintptr, piIndex uintptr) int32 { /* sqlite3.c:197170:12: */ +func nodeParentIndex(tls *libc.TLS, pRtree uintptr, pNode uintptr, piIndex uintptr) int32 { /* sqlite3.c:197227:12: */ var pParent uintptr = (*RtreeNode)(unsafe.Pointer(pNode)).FpParent if pParent != 0 { return nodeRowidIndex(tls, pRtree, pParent, (*RtreeNode)(unsafe.Pointer(pNode)).FiNode, piIndex) @@ -157651,7 +157682,7 @@ func nodeParentIndex(tls *libc.TLS, pRtree uintptr, pNode uintptr, piIndex uintp // iLevel values coming first. In this way, if rScore is the same for all // SearchPoints, then iLevel becomes the deciding factor and the result // is a depth-first search, which is the desired default behavior. -func rtreeSearchPointCompare(tls *libc.TLS, pA uintptr, pB uintptr) int32 { /* sqlite3.c:197190:12: */ +func rtreeSearchPointCompare(tls *libc.TLS, pA uintptr, pB uintptr) int32 { /* sqlite3.c:197247:12: */ if (*RtreeSearchPoint)(unsafe.Pointer(pA)).FrScore < (*RtreeSearchPoint)(unsafe.Pointer(pB)).FrScore { return -1 } @@ -157668,7 +157699,7 @@ func rtreeSearchPointCompare(tls *libc.TLS, pA uintptr, pB uintptr) int32 { /* s } // Interchange two search points in a cursor. -func rtreeSearchPointSwap(tls *libc.TLS, p uintptr, i int32, j int32) { /* sqlite3.c:197204:13: */ +func rtreeSearchPointSwap(tls *libc.TLS, p uintptr, i int32, j int32) { /* sqlite3.c:197261:13: */ var t = *(*RtreeSearchPoint)(unsafe.Pointer((*RtreeCursor)(unsafe.Pointer(p)).FaPoint + uintptr(i)*24)) *(*RtreeSearchPoint)(unsafe.Pointer((*RtreeCursor)(unsafe.Pointer(p)).FaPoint + uintptr(i)*24)) = *(*RtreeSearchPoint)(unsafe.Pointer((*RtreeCursor)(unsafe.Pointer(p)).FaPoint + uintptr(j)*24)) @@ -157688,7 +157719,7 @@ func rtreeSearchPointSwap(tls *libc.TLS, p uintptr, i int32, j int32) { /* sqlit } // Return the search point with the lowest current score. -func rtreeSearchPointFirst(tls *libc.TLS, pCur uintptr) uintptr { /* sqlite3.c:197225:25: */ +func rtreeSearchPointFirst(tls *libc.TLS, pCur uintptr) uintptr { /* sqlite3.c:197282:25: */ if (*RtreeCursor)(unsafe.Pointer(pCur)).FbPoint != 0 { return pCur + 40 } @@ -157699,7 +157730,7 @@ func rtreeSearchPointFirst(tls *libc.TLS, pCur uintptr) uintptr { /* sqlite3.c:1 } // Get the RtreeNode for the search point with the lowest score. -func rtreeNodeOfFirstSearchPoint(tls *libc.TLS, pCur uintptr, pRC uintptr) uintptr { /* sqlite3.c:197232:18: */ +func rtreeNodeOfFirstSearchPoint(tls *libc.TLS, pCur uintptr, pRC uintptr) uintptr { /* sqlite3.c:197289:18: */ var id Sqlite3_int64 var ii int32 = 1 - int32((*RtreeCursor)(unsafe.Pointer(pCur)).FbPoint) @@ -157716,7 +157747,7 @@ func rtreeNodeOfFirstSearchPoint(tls *libc.TLS, pCur uintptr, pRC uintptr) uintp } // Push a new element onto the priority queue -func rtreeEnqueue(tls *libc.TLS, pCur uintptr, rScore RtreeDValue, iLevel U8) uintptr { /* sqlite3.c:197248:25: */ +func rtreeEnqueue(tls *libc.TLS, pCur uintptr, rScore RtreeDValue, iLevel U8) uintptr { /* sqlite3.c:197305:25: */ var i int32 var j int32 var pNew uintptr @@ -157750,7 +157781,7 @@ func rtreeEnqueue(tls *libc.TLS, pCur uintptr, rScore RtreeDValue, iLevel U8) ui // Allocate a new RtreeSearchPoint and return a pointer to it. Return // NULL if malloc fails. -func rtreeSearchPointNew(tls *libc.TLS, pCur uintptr, rScore RtreeDValue, iLevel U8) uintptr { /* sqlite3.c:197283:25: */ +func rtreeSearchPointNew(tls *libc.TLS, pCur uintptr, rScore RtreeDValue, iLevel U8) uintptr { /* sqlite3.c:197340:25: */ var pNew uintptr var pFirst uintptr pFirst = rtreeSearchPointFirst(tls, pCur) @@ -157786,7 +157817,7 @@ func rtreeSearchPointNew(tls *libc.TLS, pCur uintptr, rScore RtreeDValue, iLevel } // Remove the search point with the lowest current score. -func rtreeSearchPointPop(tls *libc.TLS, p uintptr) { /* sqlite3.c:197351:13: */ +func rtreeSearchPointPop(tls *libc.TLS, p uintptr) { /* sqlite3.c:197408:13: */ var i int32 var j int32 var k int32 @@ -157834,7 +157865,7 @@ func rtreeSearchPointPop(tls *libc.TLS, p uintptr) { /* sqlite3.c:197351:13: */ // contains an entry suitable for returning as a result-set row, // or until the RtreeSearchPoint queue is empty, indicating that the // query has completed. -func rtreeStepToLeaf(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:197399:12: */ +func rtreeStepToLeaf(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:197456:12: */ bp := tls.Alloc(20) defer tls.Free(20) @@ -157927,7 +157958,7 @@ func rtreeStepToLeaf(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:197399:12 } // Rtree virtual table module xNext method. -func rtreeNext(tls *libc.TLS, pVtabCursor uintptr) int32 { /* sqlite3.c:197480:12: */ +func rtreeNext(tls *libc.TLS, pVtabCursor uintptr) int32 { /* sqlite3.c:197537:12: */ var pCsr uintptr = pVtabCursor var rc int32 = SQLITE_OK @@ -157943,7 +157974,7 @@ func rtreeNext(tls *libc.TLS, pVtabCursor uintptr) int32 { /* sqlite3.c:197480:1 } // Rtree virtual table module xRowid method. -func rtreeRowid(tls *libc.TLS, pVtabCursor uintptr, pRowid uintptr) int32 { /* sqlite3.c:197498:12: */ +func rtreeRowid(tls *libc.TLS, pVtabCursor uintptr, pRowid uintptr) int32 { /* sqlite3.c:197555:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -157958,7 +157989,7 @@ func rtreeRowid(tls *libc.TLS, pVtabCursor uintptr, pRowid uintptr) int32 { /* s } // Rtree virtual table module xColumn method. -func rtreeColumn(tls *libc.TLS, cur uintptr, ctx uintptr, i int32) int32 { /* sqlite3.c:197512:12: */ +func rtreeColumn(tls *libc.TLS, cur uintptr, ctx uintptr, i int32) int32 { /* sqlite3.c:197569:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -158019,7 +158050,7 @@ func rtreeColumn(tls *libc.TLS, cur uintptr, ctx uintptr, i int32) int32 { /* sq // return SQLITE_OK. If there is no such record in the table, set // *ppLeaf to 0 and return SQLITE_OK. If an error occurs, set *ppLeaf // to zero and return an SQLite error code. -func findLeafNode(tls *libc.TLS, pRtree uintptr, iRowid I64, ppLeaf uintptr, piNode uintptr) int32 { /* sqlite3.c:197566:12: */ +func findLeafNode(tls *libc.TLS, pRtree uintptr, iRowid I64, ppLeaf uintptr, piNode uintptr) int32 { /* sqlite3.c:197623:12: */ var rc int32 *(*uintptr)(unsafe.Pointer(ppLeaf)) = uintptr(0) Xsqlite3_bind_int64(tls, (*Rtree)(unsafe.Pointer(pRtree)).FpReadRowid, 1, iRowid) @@ -158040,7 +158071,7 @@ func findLeafNode(tls *libc.TLS, pRtree uintptr, iRowid I64, ppLeaf uintptr, piN // as the second argument for a MATCH constraint. The value passed as the // first argument to this function is the right-hand operand to the MATCH // operator. -func deserializeGeometry(tls *libc.TLS, pValue uintptr, pCons uintptr) int32 { /* sqlite3.c:197592:12: */ +func deserializeGeometry(tls *libc.TLS, pValue uintptr, pCons uintptr) int32 { /* sqlite3.c:197649:12: */ var pBlob uintptr var pSrc uintptr // BLOB returned by geometry function var pInfo uintptr // Callback information @@ -158072,7 +158103,7 @@ func deserializeGeometry(tls *libc.TLS, pValue uintptr, pCons uintptr) int32 { / } // Rtree virtual table module xFilter method. -func rtreeFilter(tls *libc.TLS, pVtabCursor uintptr, idxNum int32, idxStr uintptr, argc int32, argv uintptr) int32 { /* sqlite3.c:197622:12: */ +func rtreeFilter(tls *libc.TLS, pVtabCursor uintptr, idxNum int32, idxStr uintptr, argc int32, argv uintptr) int32 { /* sqlite3.c:197679:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -158215,7 +158246,7 @@ func rtreeFilter(tls *libc.TLS, pVtabCursor uintptr, idxNum int32, idxStr uintpt // The second of each pair of bytes identifies the coordinate column // to which the constraint applies. The leftmost coordinate column // is 'a', the second from the left 'b' etc. -func rtreeBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 { /* sqlite3.c:197775:12: */ +func rtreeBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 { /* sqlite3.c:197832:12: */ bp := tls.Alloc(49) defer tls.Free(49) @@ -158322,7 +158353,7 @@ func rtreeBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 { /* sql } // Return the N-dimensional volumn of the cell stored in *p. -func cellArea(tls *libc.TLS, pRtree uintptr, p uintptr) RtreeDValue { /* sqlite3.c:197864:20: */ +func cellArea(tls *libc.TLS, pRtree uintptr, p uintptr) RtreeDValue { /* sqlite3.c:197921:20: */ var area RtreeDValue = RtreeDValue(1) if int32((*Rtree)(unsafe.Pointer(pRtree)).FeCoordType) == RTREE_COORD_REAL32 { @@ -158365,7 +158396,7 @@ func cellArea(tls *libc.TLS, pRtree uintptr, p uintptr) RtreeDValue { /* sqlite3 // Return the margin length of cell p. The margin length is the sum // of the objects size in each dimension. -func cellMargin(tls *libc.TLS, pRtree uintptr, p uintptr) RtreeDValue { /* sqlite3.c:197894:20: */ +func cellMargin(tls *libc.TLS, pRtree uintptr, p uintptr) RtreeDValue { /* sqlite3.c:197951:20: */ var margin RtreeDValue = RtreeDValue(0) var ii int32 = int32((*Rtree)(unsafe.Pointer(pRtree)).FnDim2) - 2 for __ccgo := true; __ccgo; __ccgo = ii >= 0 { @@ -158386,7 +158417,7 @@ func cellMargin(tls *libc.TLS, pRtree uintptr, p uintptr) RtreeDValue { /* sqlit } // Store the union of cells p1 and p2 in p1. -func cellUnion(tls *libc.TLS, pRtree uintptr, p1 uintptr, p2 uintptr) { /* sqlite3.c:197907:13: */ +func cellUnion(tls *libc.TLS, pRtree uintptr, p1 uintptr, p2 uintptr) { /* sqlite3.c:197964:13: */ var ii int32 = 0 if int32((*Rtree)(unsafe.Pointer(pRtree)).FeCoordType) == RTREE_COORD_REAL32 { for __ccgo := true; __ccgo; __ccgo = ii < int32((*Rtree)(unsafe.Pointer(pRtree)).FnDim2) { @@ -158425,7 +158456,7 @@ func cellUnion(tls *libc.TLS, pRtree uintptr, p1 uintptr, p2 uintptr) { /* sqlit // Return true if the area covered by p2 is a subset of the area covered // by p1. False otherwise. -func cellContains(tls *libc.TLS, pRtree uintptr, p1 uintptr, p2 uintptr) int32 { /* sqlite3.c:197928:12: */ +func cellContains(tls *libc.TLS, pRtree uintptr, p1 uintptr, p2 uintptr) int32 { /* sqlite3.c:197985:12: */ var ii int32 var isInt int32 = libc.Bool32(int32((*Rtree)(unsafe.Pointer(pRtree)).FeCoordType) == RTREE_COORD_INT32) for ii = 0; ii < int32((*Rtree)(unsafe.Pointer(pRtree)).FnDim2); ii = ii + 2 { @@ -158440,7 +158471,7 @@ func cellContains(tls *libc.TLS, pRtree uintptr, p1 uintptr, p2 uintptr) int32 { } // Return the amount cell p would grow by if it were unioned with pCell. -func cellGrowth(tls *libc.TLS, pRtree uintptr, p uintptr, pCell uintptr) RtreeDValue { /* sqlite3.c:197946:20: */ +func cellGrowth(tls *libc.TLS, pRtree uintptr, p uintptr, pCell uintptr) RtreeDValue { /* sqlite3.c:198003:20: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -158453,7 +158484,7 @@ func cellGrowth(tls *libc.TLS, pRtree uintptr, p uintptr, pCell uintptr) RtreeDV return cellArea(tls, pRtree, bp) - area } -func cellOverlap(tls *libc.TLS, pRtree uintptr, p uintptr, aCell uintptr, nCell int32) RtreeDValue { /* sqlite3.c:197955:20: */ +func cellOverlap(tls *libc.TLS, pRtree uintptr, p uintptr, aCell uintptr, nCell int32) RtreeDValue { /* sqlite3.c:198012:20: */ var ii int32 var overlap RtreeDValue = 0.0 for ii = 0; ii < nCell; ii++ { @@ -158528,7 +158559,7 @@ func cellOverlap(tls *libc.TLS, pRtree uintptr, p uintptr, aCell uintptr, nCell // This function implements the ChooseLeaf algorithm from Gutman[84]. // ChooseSubTree in r*tree terminology. -func sChooseLeaf(tls *libc.TLS, pRtree uintptr, pCell uintptr, iHeight int32, ppLeaf uintptr) int32 { /* sqlite3.c:197987:12: */ +func sChooseLeaf(tls *libc.TLS, pRtree uintptr, pCell uintptr, iHeight int32, ppLeaf uintptr) int32 { /* sqlite3.c:198044:12: */ bp := tls.Alloc(60) defer tls.Free(60) @@ -158584,7 +158615,7 @@ func sChooseLeaf(tls *libc.TLS, pRtree uintptr, pCell uintptr, iHeight int32, pp // A cell with the same content as pCell has just been inserted into // the node pNode. This function updates the bounding box cells in // all ancestor elements. -func sAdjustTree(tls *libc.TLS, pRtree uintptr, pNode uintptr, pCell uintptr) int32 { /* sqlite3.c:198047:12: */ +func sAdjustTree(tls *libc.TLS, pRtree uintptr, pNode uintptr, pCell uintptr) int32 { /* sqlite3.c:198104:12: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -158620,7 +158651,7 @@ func sAdjustTree(tls *libc.TLS, pRtree uintptr, pNode uintptr, pCell uintptr) in } // Write mapping (iRowid->iNode) to the _rowid table. -func rowidWrite(tls *libc.TLS, pRtree uintptr, iRowid Sqlite3_int64, iNode Sqlite3_int64) int32 { /* sqlite3.c:198085:12: */ +func rowidWrite(tls *libc.TLS, pRtree uintptr, iRowid Sqlite3_int64, iNode Sqlite3_int64) int32 { /* sqlite3.c:198142:12: */ Xsqlite3_bind_int64(tls, (*Rtree)(unsafe.Pointer(pRtree)).FpWriteRowid, 1, iRowid) Xsqlite3_bind_int64(tls, (*Rtree)(unsafe.Pointer(pRtree)).FpWriteRowid, 2, iNode) Xsqlite3_step(tls, (*Rtree)(unsafe.Pointer(pRtree)).FpWriteRowid) @@ -158628,7 +158659,7 @@ func rowidWrite(tls *libc.TLS, pRtree uintptr, iRowid Sqlite3_int64, iNode Sqlit } // Write mapping (iNode->iPar) to the _parent table. -func parentWrite(tls *libc.TLS, pRtree uintptr, iNode Sqlite3_int64, iPar Sqlite3_int64) int32 { /* sqlite3.c:198095:12: */ +func parentWrite(tls *libc.TLS, pRtree uintptr, iNode Sqlite3_int64, iPar Sqlite3_int64) int32 { /* sqlite3.c:198152:12: */ Xsqlite3_bind_int64(tls, (*Rtree)(unsafe.Pointer(pRtree)).FpWriteParent, 1, iNode) Xsqlite3_bind_int64(tls, (*Rtree)(unsafe.Pointer(pRtree)).FpWriteParent, 2, iPar) Xsqlite3_step(tls, (*Rtree)(unsafe.Pointer(pRtree)).FpWriteParent) @@ -158650,7 +158681,7 @@ func parentWrite(tls *libc.TLS, pRtree uintptr, iNode Sqlite3_int64, iPar Sqlite // // The aSpare array is used as temporary working space by the // sorting algorithm. -func sSortByDistance(tls *libc.TLS, aIdx uintptr, nIdx int32, aDistance uintptr, aSpare uintptr) { /* sqlite3.c:198122:13: */ +func sSortByDistance(tls *libc.TLS, aIdx uintptr, nIdx int32, aDistance uintptr, aSpare uintptr) { /* sqlite3.c:198179:13: */ if nIdx > 1 { var iLeft int32 = 0 var iRight int32 = 0 @@ -158698,7 +158729,7 @@ func sSortByDistance(tls *libc.TLS, aIdx uintptr, nIdx int32, aDistance uintptr, // // The aSpare array is used as temporary working space by the // sorting algorithm. -func sSortByDimension(tls *libc.TLS, pRtree uintptr, aIdx uintptr, nIdx int32, iDim int32, aCell uintptr, aSpare uintptr) { /* sqlite3.c:198188:13: */ +func sSortByDimension(tls *libc.TLS, pRtree uintptr, aIdx uintptr, nIdx int32, iDim int32, aCell uintptr, aSpare uintptr) { /* sqlite3.c:198245:13: */ if nIdx > 1 { var iLeft int32 = 0 @@ -158754,7 +158785,7 @@ func sSortByDimension(tls *libc.TLS, pRtree uintptr, aIdx uintptr, nIdx int32, i } // Implementation of the R*-tree variant of SplitNode from Beckman[1990]. -func splitNodeStartree(tls *libc.TLS, pRtree uintptr, aCell uintptr, nCell int32, pLeft uintptr, pRight uintptr, pBboxLeft uintptr, pBboxRight uintptr) int32 { /* sqlite3.c:198247:12: */ +func splitNodeStartree(tls *libc.TLS, pRtree uintptr, aCell uintptr, nCell int32, pLeft uintptr, pRight uintptr, pBboxLeft uintptr, pBboxRight uintptr) int32 { /* sqlite3.c:198304:12: */ bp := tls.Alloc(96) defer tls.Free(96) @@ -158853,7 +158884,7 @@ func splitNodeStartree(tls *libc.TLS, pRtree uintptr, aCell uintptr, nCell int32 return SQLITE_OK } -func updateMapping(tls *libc.TLS, pRtree uintptr, iRowid I64, pNode uintptr, iHeight int32) int32 { /* sqlite3.c:198345:12: */ +func updateMapping(tls *libc.TLS, pRtree uintptr, iRowid I64, pNode uintptr, iHeight int32) int32 { /* sqlite3.c:198402:12: */ var xSetMapping uintptr xSetMapping = func() uintptr { if iHeight == 0 { @@ -158887,7 +158918,7 @@ func updateMapping(tls *libc.TLS, pRtree uintptr, iRowid I64, pNode uintptr, iHe })(unsafe.Pointer(&struct{ uintptr }{xSetMapping})).f(tls, pRtree, iRowid, (*RtreeNode)(unsafe.Pointer(pNode)).FiNode) } -func sSplitNode(tls *libc.TLS, pRtree uintptr, pNode uintptr, pCell uintptr, iHeight int32) int32 { /* sqlite3.c:198369:12: */ +func sSplitNode(tls *libc.TLS, pRtree uintptr, pNode uintptr, pCell uintptr, iHeight int32) int32 { /* sqlite3.c:198426:12: */ bp := tls.Alloc(100) defer tls.Free(100) @@ -159122,7 +159153,7 @@ splitnode_out: // rowid of the row to delete, which can be used to find the leaf on which // the entry resides (argument pLeaf). Once the leaf is located, this // function is called to determine its ancestry. -func fixLeafParent(tls *libc.TLS, pRtree uintptr, pLeaf uintptr) int32 { /* sqlite3.c:198517:12: */ +func fixLeafParent(tls *libc.TLS, pRtree uintptr, pLeaf uintptr) int32 { /* sqlite3.c:198574:12: */ var rc int32 = SQLITE_OK var pChild uintptr = pLeaf for rc == SQLITE_OK && (*RtreeNode)(unsafe.Pointer(pChild)).FiNode != int64(1) && (*RtreeNode)(unsafe.Pointer(pChild)).FpParent == uintptr(0) { @@ -159157,7 +159188,7 @@ func fixLeafParent(tls *libc.TLS, pRtree uintptr, pLeaf uintptr) int32 { /* sqli return rc } -func removeNode(tls *libc.TLS, pRtree uintptr, pNode uintptr, iHeight int32) int32 { /* sqlite3.c:198552:12: */ +func removeNode(tls *libc.TLS, pRtree uintptr, pNode uintptr, iHeight int32) int32 { /* sqlite3.c:198609:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -159207,7 +159238,7 @@ func removeNode(tls *libc.TLS, pRtree uintptr, pNode uintptr, iHeight int32) int return SQLITE_OK } -func fixBoundingBox(tls *libc.TLS, pRtree uintptr, pNode uintptr) int32 { /* sqlite3.c:198602:12: */ +func fixBoundingBox(tls *libc.TLS, pRtree uintptr, pNode uintptr) int32 { /* sqlite3.c:198659:12: */ bp := tls.Alloc(100) defer tls.Free(100) @@ -159238,7 +159269,7 @@ func fixBoundingBox(tls *libc.TLS, pRtree uintptr, pNode uintptr) int32 { /* sql // Delete the cell at index iCell of node pNode. After removing the // cell, adjust the r-tree data structure if required. -func deleteCell(tls *libc.TLS, pRtree uintptr, pNode uintptr, iCell int32, iHeight int32) int32 { /* sqlite3.c:198629:12: */ +func deleteCell(tls *libc.TLS, pRtree uintptr, pNode uintptr, iCell int32, iHeight int32) int32 { /* sqlite3.c:198686:12: */ var pParent uintptr var rc int32 @@ -159267,7 +159298,7 @@ func deleteCell(tls *libc.TLS, pRtree uintptr, pNode uintptr, iCell int32, iHeig return rc } -func sReinsert(tls *libc.TLS, pRtree uintptr, pNode uintptr, pCell uintptr, iHeight int32) int32 { /* sqlite3.c:198660:12: */ +func sReinsert(tls *libc.TLS, pRtree uintptr, pNode uintptr, pCell uintptr, iHeight int32) int32 { /* sqlite3.c:198717:12: */ bp := tls.Alloc(44) defer tls.Free(44) @@ -159382,7 +159413,7 @@ func sReinsert(tls *libc.TLS, pRtree uintptr, pNode uintptr, pCell uintptr, iHei // Insert cell pCell into node pNode. Node pNode is the head of a // subtree iHeight high (leaf nodes have iHeight==0). -func rtreeInsertCell(tls *libc.TLS, pRtree uintptr, pNode uintptr, pCell uintptr, iHeight int32) int32 { /* sqlite3.c:198765:12: */ +func rtreeInsertCell(tls *libc.TLS, pRtree uintptr, pNode uintptr, pCell uintptr, iHeight int32) int32 { /* sqlite3.c:198822:12: */ var rc int32 = SQLITE_OK if iHeight > 0 { var pChild uintptr = nodeHashLookup(tls, pRtree, (*RtreeCell)(unsafe.Pointer(pCell)).FiRowid) @@ -159412,7 +159443,7 @@ func rtreeInsertCell(tls *libc.TLS, pRtree uintptr, pNode uintptr, pCell uintptr return rc } -func reinsertNodeContent(tls *libc.TLS, pRtree uintptr, pNode uintptr) int32 { /* sqlite3.c:198800:12: */ +func reinsertNodeContent(tls *libc.TLS, pRtree uintptr, pNode uintptr) int32 { /* sqlite3.c:198857:12: */ bp := tls.Alloc(52) defer tls.Free(52) @@ -159443,7 +159474,7 @@ func reinsertNodeContent(tls *libc.TLS, pRtree uintptr, pNode uintptr) int32 { / } // Select a currently unused rowid for a new r-tree record. -func rtreeNewRowid(tls *libc.TLS, pRtree uintptr, piRowid uintptr) int32 { /* sqlite3.c:198829:12: */ +func rtreeNewRowid(tls *libc.TLS, pRtree uintptr, piRowid uintptr) int32 { /* sqlite3.c:198886:12: */ var rc int32 Xsqlite3_bind_null(tls, (*Rtree)(unsafe.Pointer(pRtree)).FpWriteRowid, 1) Xsqlite3_bind_null(tls, (*Rtree)(unsafe.Pointer(pRtree)).FpWriteRowid, 2) @@ -159454,7 +159485,7 @@ func rtreeNewRowid(tls *libc.TLS, pRtree uintptr, piRowid uintptr) int32 { /* sq } // Remove the entry with rowid=iDelete from the r-tree structure. -func rtreeDeleteRowid(tls *libc.TLS, pRtree uintptr, iDelete Sqlite3_int64) int32 { /* sqlite3.c:198842:12: */ +func rtreeDeleteRowid(tls *libc.TLS, pRtree uintptr, iDelete Sqlite3_int64) int32 { /* sqlite3.c:198899:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -159543,7 +159574,7 @@ func rtreeDeleteRowid(tls *libc.TLS, pRtree uintptr, iDelete Sqlite3_int64) int3 // Convert an sqlite3_value into an RtreeValue (presumably a float) // while taking care to round toward negative or positive, respectively. -func rtreeValueDown(tls *libc.TLS, v uintptr) RtreeValue { /* sqlite3.c:198939:19: */ +func rtreeValueDown(tls *libc.TLS, v uintptr) RtreeValue { /* sqlite3.c:198996:19: */ var d float64 = Xsqlite3_value_double(tls, v) var f float32 = float32(d) if float64(f) > d { @@ -159557,7 +159588,7 @@ func rtreeValueDown(tls *libc.TLS, v uintptr) RtreeValue { /* sqlite3.c:198939:1 return f } -func rtreeValueUp(tls *libc.TLS, v uintptr) RtreeValue { /* sqlite3.c:198947:19: */ +func rtreeValueUp(tls *libc.TLS, v uintptr) RtreeValue { /* sqlite3.c:199004:19: */ var d float64 = Xsqlite3_value_double(tls, v) var f float32 = float32(d) if float64(f) < d { @@ -159582,7 +159613,7 @@ func rtreeValueUp(tls *libc.TLS, v uintptr) RtreeValue { /* sqlite3.c:198947:19: // (c1<=c2) constraint on columns iCol and iCol+1 that has failed. // // If an OOM occurs, SQLITE_NOMEM is returned instead of SQLITE_CONSTRAINT. -func rtreeConstraintError(tls *libc.TLS, pRtree uintptr, iCol int32) int32 { /* sqlite3.c:198970:12: */ +func rtreeConstraintError(tls *libc.TLS, pRtree uintptr, iCol int32) int32 { /* sqlite3.c:199027:12: */ bp := tls.Alloc(60) defer tls.Free(60) @@ -159621,7 +159652,7 @@ func rtreeConstraintError(tls *libc.TLS, pRtree uintptr, iCol int32) int32 { /* } // The xUpdate method for rtree module virtual tables. -func rtreeUpdate(tls *libc.TLS, pVtab uintptr, nData int32, aData uintptr, pRowid uintptr) int32 { /* sqlite3.c:199008:12: */ +func rtreeUpdate(tls *libc.TLS, pVtab uintptr, nData int32, aData uintptr, pRowid uintptr) int32 { /* sqlite3.c:199065:12: */ bp := tls.Alloc(52) defer tls.Free(52) @@ -159850,7 +159881,7 @@ constraint: } // Called when a transaction starts. -func rtreeBeginTransaction(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:199156:12: */ +func rtreeBeginTransaction(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:199213:12: */ var pRtree uintptr = pVtab (*Rtree)(unsafe.Pointer(pRtree)).FinWrTrans++ @@ -159859,7 +159890,7 @@ func rtreeBeginTransaction(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:19 // Called when a transaction completes (either by COMMIT or ROLLBACK). // The sqlite3_blob object should be released at this point. -func rtreeEndTransaction(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:199167:12: */ +func rtreeEndTransaction(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:199224:12: */ var pRtree uintptr = pVtab (*Rtree)(unsafe.Pointer(pRtree)).FinWrTrans = U8(0) nodeBlobReset(tls, pRtree) @@ -159867,7 +159898,7 @@ func rtreeEndTransaction(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:1991 } // The xRename method for rtree module virtual tables. -func rtreeRename(tls *libc.TLS, pVtab uintptr, zNewName uintptr) int32 { /* sqlite3.c:199177:12: */ +func rtreeRename(tls *libc.TLS, pVtab uintptr, zNewName uintptr) int32 { /* sqlite3.c:199234:12: */ bp := tls.Alloc(72) defer tls.Free(72) @@ -159896,7 +159927,7 @@ func rtreeRename(tls *libc.TLS, pVtab uintptr, zNewName uintptr) int32 { /* sqli // INSERT INTO rtree... // DROP TABLE ; -- Would fail with SQLITE_LOCKED // COMMIT; -func rtreeSavepoint(tls *libc.TLS, pVtab uintptr, iSavepoint int32) int32 { /* sqlite3.c:199210:12: */ +func rtreeSavepoint(tls *libc.TLS, pVtab uintptr, iSavepoint int32) int32 { /* sqlite3.c:199267:12: */ var pRtree uintptr = pVtab var iwt U8 = (*Rtree)(unsafe.Pointer(pRtree)).FinWrTrans _ = iSavepoint @@ -159909,7 +159940,7 @@ func rtreeSavepoint(tls *libc.TLS, pVtab uintptr, iSavepoint int32) int32 { /* s // This function populates the pRtree->nRowEst variable with an estimate // of the number of rows in the virtual table. If possible, this is based // on sqlite_stat1 data. Otherwise, use RTREE_DEFAULT_ROWEST. -func rtreeQueryStat1(tls *libc.TLS, db uintptr, pRtree uintptr) int32 { /* sqlite3.c:199225:12: */ +func rtreeQueryStat1(tls *libc.TLS, db uintptr, pRtree uintptr) int32 { /* sqlite3.c:199282:12: */ bp := tls.Alloc(20) defer tls.Free(20) @@ -159953,7 +159984,7 @@ func rtreeQueryStat1(tls *libc.TLS, db uintptr, pRtree uintptr) int32 { /* sqlit // Return true if zName is the extension on one of the shadow tables used // by this module. -func rtreeShadowName(tls *libc.TLS, zName uintptr) int32 { /* sqlite3.c:199259:12: */ +func rtreeShadowName(tls *libc.TLS, zName uintptr) int32 { /* sqlite3.c:199316:12: */ var i uint32 for i = uint32(0); i < uint32(unsafe.Sizeof(azName1))/uint32(unsafe.Sizeof(uintptr(0))); i++ { if Xsqlite3_stricmp(tls, zName, azName1[i]) == 0 { @@ -159965,7 +159996,7 @@ func rtreeShadowName(tls *libc.TLS, zName uintptr) int32 { /* sqlite3.c:199259:1 var azName1 = [3]uintptr{ ts + 25269, ts + 5011, ts + 16174, -} /* sqlite3.c:199260:21 */ +} /* sqlite3.c:199317:21 */ var rtreeModule = Sqlite3_module{ FiVersion: 3, // iVersion @@ -159989,9 +160020,9 @@ var rtreeModule = Sqlite3_module{ FxRename: 0, // xRename - rename the table FxSavepoint: 0, // xRollbackTo FxShadowName: 0, // xShadowName -} /* sqlite3.c:199270:23 */ +} /* sqlite3.c:199327:23 */ -func rtreeSqlInit(tls *libc.TLS, pRtree uintptr, db uintptr, zDb uintptr, zPrefix uintptr, isCreate int32) int32 { /* sqlite3.c:199297:12: */ +func rtreeSqlInit(tls *libc.TLS, pRtree uintptr, db uintptr, zDb uintptr, zPrefix uintptr, isCreate int32) int32 { /* sqlite3.c:199354:12: */ bp := tls.Alloc(200) defer tls.Free(200) @@ -160108,14 +160139,14 @@ var azSql = [8]uintptr{ ts + 25999, ts + 26057, ts + 26112, -} /* sqlite3.c:199307:21 */ +} /* sqlite3.c:199364:21 */ // The second argument to this function contains the text of an SQL statement // that returns a single integer value. The statement is compiled and executed // using database connection db. If successful, the integer value returned // is written to *piVal and SQLITE_OK returned. Otherwise, an SQLite error // code is returned and the value of *piVal after returning is not defined. -func getIntFromStmt(tls *libc.TLS, db uintptr, zSql uintptr, piVal uintptr) int32 { /* sqlite3.c:199430:12: */ +func getIntFromStmt(tls *libc.TLS, db uintptr, zSql uintptr, piVal uintptr) int32 { /* sqlite3.c:199487:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -160146,7 +160177,7 @@ func getIntFromStmt(tls *libc.TLS, db uintptr, zSql uintptr, piVal uintptr) int3 // This ensures that each node is stored on a single database page. If the // database page-size is so large that more than RTREE_MAXCELLS entries // would fit in a single node, use a smaller node-size. -func getNodeSize(tls *libc.TLS, db uintptr, pRtree uintptr, isCreate int32, pzErr uintptr) int32 { /* sqlite3.c:199460:12: */ +func getNodeSize(tls *libc.TLS, db uintptr, pRtree uintptr, isCreate int32, pzErr uintptr) int32 { /* sqlite3.c:199517:12: */ bp := tls.Alloc(52) defer tls.Free(52) @@ -160184,7 +160215,7 @@ func getNodeSize(tls *libc.TLS, db uintptr, pRtree uintptr, isCreate int32, pzEr } // Return the length of a token -func rtreeTokenLength(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:199503:12: */ +func rtreeTokenLength(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:199560:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -160199,7 +160230,7 @@ func rtreeTokenLength(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:199503:12: // argv[1] -> database name // argv[2] -> table name // argv[...] -> column names... -func rtreeInit(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr, isCreate int32) int32 { /* sqlite3.c:199517:12: */ +func rtreeInit(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr, isCreate int32) int32 { /* sqlite3.c:199574:12: */ bp := tls.Alloc(116) defer tls.Free(116) @@ -160399,7 +160430,7 @@ __25: return rc } -var azFormat = [2]uintptr{ts + 26455, ts + 26466} /* sqlite3.c:199583:25 */ +var azFormat = [2]uintptr{ts + 26455, ts + 26466} /* sqlite3.c:199640:25 */ // Implementation of a scalar function that decodes r-tree nodes to // human readable strings. This can be used for debugging and analysis. @@ -160415,7 +160446,7 @@ var azFormat = [2]uintptr{ts + 26455, ts + 26466} /* sqlite3.c:199583:25 */ // entry for each cell in the r-tree node. Each entry is itself a // list, containing the 8-byte rowid/pageno followed by the // *2 coordinates. -func rtreenode(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:199654:13: */ +func rtreenode(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:199711:13: */ bp := tls.Alloc(600) defer tls.Free(600) @@ -160478,7 +160509,7 @@ func rtreenode(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) { /* sqlit // The depth value is 0 for all nodes other than the root node, and the root // node always has nodeno=1, so the example above is the primary use for this // routine. This routine is intended for testing and analysis only. -func rtreedepth(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:199706:13: */ +func rtreedepth(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:199763:13: */ _ = nArg if Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(apArg))) != SQLITE_BLOB || Xsqlite3_value_bytes(tls, *(*uintptr)(unsafe.Pointer(apArg))) < 2 { @@ -160508,15 +160539,15 @@ type RtreeCheck1 = struct { Frc int32 FzReport uintptr FnErr int32 -} /* sqlite3.c:199727:9 */ +} /* sqlite3.c:199784:9 */ // Context object passed between the various routines that make up the // implementation of integrity-check function rtreecheck(). -type RtreeCheck = RtreeCheck1 /* sqlite3.c:199727:27 */ +type RtreeCheck = RtreeCheck1 /* sqlite3.c:199784:27 */ // Reset SQL statement pStmt. If the sqlite3_reset() call returns an error, // and RtreeCheck.rc==SQLITE_OK, set RtreeCheck.rc to the error code. -func rtreeCheckReset(tls *libc.TLS, pCheck uintptr, pStmt uintptr) { /* sqlite3.c:199749:13: */ +func rtreeCheckReset(tls *libc.TLS, pCheck uintptr, pStmt uintptr) { /* sqlite3.c:199806:13: */ var rc int32 = Xsqlite3_reset(tls, pStmt) if (*RtreeCheck)(unsafe.Pointer(pCheck)).Frc == SQLITE_OK { (*RtreeCheck)(unsafe.Pointer(pCheck)).Frc = rc @@ -160529,7 +160560,7 @@ func rtreeCheckReset(tls *libc.TLS, pCheck uintptr, pStmt uintptr) { /* sqlite3. // // If successful, a pointer to the new SQL statement is returned. Otherwise, // NULL is returned and an error code left in RtreeCheck.rc. -func rtreeCheckPrepare(tls *libc.TLS, pCheck uintptr, zFmt uintptr, va uintptr) uintptr { /* sqlite3.c:199762:21: */ +func rtreeCheckPrepare(tls *libc.TLS, pCheck uintptr, zFmt uintptr, va uintptr) uintptr { /* sqlite3.c:199819:21: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -160557,7 +160588,7 @@ func rtreeCheckPrepare(tls *libc.TLS, pCheck uintptr, zFmt uintptr, va uintptr) // The second and subsequent arguments to this function are a printf() // style format string and arguments. This function formats the string and // appends it to the report being accumuated in pCheck. -func rtreeCheckAppendMsg(tls *libc.TLS, pCheck uintptr, zFmt uintptr, va uintptr) { /* sqlite3.c:199791:13: */ +func rtreeCheckAppendMsg(tls *libc.TLS, pCheck uintptr, zFmt uintptr, va uintptr) { /* sqlite3.c:199848:13: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -160597,7 +160628,7 @@ func rtreeCheckAppendMsg(tls *libc.TLS, pCheck uintptr, zFmt uintptr, va uintptr // Or, if an error does occur, NULL is returned and an error code left // in the RtreeCheck object. The final value of *pnNode is undefined in // this case. -func rtreeCheckGetNode(tls *libc.TLS, pCheck uintptr, iNode I64, pnNode uintptr) uintptr { /* sqlite3.c:199825:11: */ +func rtreeCheckGetNode(tls *libc.TLS, pCheck uintptr, iNode I64, pnNode uintptr) uintptr { /* sqlite3.c:199882:11: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -160641,7 +160672,7 @@ func rtreeCheckGetNode(tls *libc.TLS, pCheck uintptr, iNode I64, pnNode uintptr) // In both cases, this function checks that there exists an entry with // IPK value iKey and the second column set to iVal. // -func rtreeCheckMapping(tls *libc.TLS, pCheck uintptr, bLeaf int32, iKey I64, iVal I64) { /* sqlite3.c:199869:13: */ +func rtreeCheckMapping(tls *libc.TLS, pCheck uintptr, bLeaf int32, iKey I64, iVal I64) { /* sqlite3.c:199926:13: */ bp := tls.Alloc(88) defer tls.Free(88) @@ -160697,7 +160728,7 @@ func rtreeCheckMapping(tls *libc.TLS, pCheck uintptr, bLeaf int32, iKey I64, iVa // containing pCell. In this case it is also verified that the two // sets of coordinates are mutually consistent and an error message added // to the RtreeCheck object if they are not. -func rtreeCheckCellCoord(tls *libc.TLS, pCheck uintptr, iNode I64, iCell int32, pCell uintptr, pParent uintptr) { /* sqlite3.c:199921:13: */ +func rtreeCheckCellCoord(tls *libc.TLS, pCheck uintptr, iNode I64, iCell int32, pCell uintptr, pParent uintptr) { /* sqlite3.c:199978:13: */ bp := tls.Alloc(64) defer tls.Free(64) @@ -160755,7 +160786,7 @@ func rtreeCheckCellCoord(tls *libc.TLS, pCheck uintptr, iNode I64, iCell int32, // // If any problems are discovered, an error message is appended to the // report accumulated in the RtreeCheck object. -func rtreeCheckNode(tls *libc.TLS, pCheck uintptr, iDepth int32, aParent uintptr, iNode I64) { /* sqlite3.c:199967:13: */ +func rtreeCheckNode(tls *libc.TLS, pCheck uintptr, iDepth int32, aParent uintptr, iNode I64) { /* sqlite3.c:200024:13: */ bp := tls.Alloc(52) defer tls.Free(52) @@ -160809,7 +160840,7 @@ func rtreeCheckNode(tls *libc.TLS, pCheck uintptr, iDepth int32, aParent uintptr // %_rowid or %_parent table is exactly nExpect. If not, it adds // an error message to the report in the RtreeCheck object indicated // by the first argument. -func rtreeCheckCount(tls *libc.TLS, pCheck uintptr, zTbl uintptr, nExpect I64) { /* sqlite3.c:200030:13: */ +func rtreeCheckCount(tls *libc.TLS, pCheck uintptr, zTbl uintptr, nExpect I64) { /* sqlite3.c:200087:13: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -160832,7 +160863,7 @@ func rtreeCheckCount(tls *libc.TLS, pCheck uintptr, zTbl uintptr, nExpect I64) { // This function does the bulk of the work for the rtree integrity-check. // It is called by rtreecheck(), which is the SQL function implementation. -func rtreeCheckTable(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, pzReport uintptr) int32 { /* sqlite3.c:200054:12: */ +func rtreeCheckTable(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, pzReport uintptr) int32 { /* sqlite3.c:200111:12: */ bp := tls.Alloc(84) defer tls.Free(84) @@ -160939,7 +160970,7 @@ func rtreeCheckTable(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, pzRep // as there are non-leaf cells in the r-tree structure, and that // there is a non-leaf cell that corresponds to each entry in the // %_parent table. -func rtreecheck(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:200161:13: */ +func rtreecheck(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:200218:13: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -161002,7 +161033,7 @@ func rtreecheck(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) { /* sqli // Compiler and version // Datatype for coordinates -type GeoCoord = float32 /* sqlite3.c:200282:15 */ +type GeoCoord = float32 /* sqlite3.c:200339:15 */ // Internal representation of a polygon. // @@ -161028,7 +161059,7 @@ type GeoPoly1 = struct { FnVertex int32 Fhdr [4]uint8 Fa [8]GeoCoord -} /* sqlite3.c:200306:9 */ +} /* sqlite3.c:200363:9 */ // Internal representation of a polygon. // @@ -161050,7 +161081,7 @@ type GeoPoly1 = struct { // warnings coming from some compiler (notably, clang). In reality, the size // of each GeoPoly memory allocate is adjusted as necessary so that the // GeoPoly.a[] array at the end is the appropriate size. -type GeoPoly = GeoPoly1 /* sqlite3.c:200306:24 */ +type GeoPoly = GeoPoly1 /* sqlite3.c:200363:24 */ // The size of a memory allocation needed for a GeoPoly object sufficient // to hold N coordinate pairs. @@ -161066,7 +161097,7 @@ type GeoParse1 = struct { FnAlloc int32 FnErr int32 Fa uintptr -} /* sqlite3.c:200329:9 */ +} /* sqlite3.c:200386:9 */ // The size of a memory allocation needed for a GeoPoly object sufficient // to hold N coordinate pairs. @@ -161076,10 +161107,10 @@ type GeoParse1 = struct { // to silence (incorrect) UBSAN warnings if the array index is too large. // State of a parse of a GeoJSON input. -type GeoParse = GeoParse1 /* sqlite3.c:200329:25 */ +type GeoParse = GeoParse1 /* sqlite3.c:200386:25 */ // Do a 4-byte byte swap -func geopolySwab32(tls *libc.TLS, a uintptr) { /* sqlite3.c:200339:13: */ +func geopolySwab32(tls *libc.TLS, a uintptr) { /* sqlite3.c:200396:13: */ var t uint8 = *(*uint8)(unsafe.Pointer(a)) *(*uint8)(unsafe.Pointer(a)) = *(*uint8)(unsafe.Pointer(a + 3)) *(*uint8)(unsafe.Pointer(a + 3)) = t @@ -161089,7 +161120,7 @@ func geopolySwab32(tls *libc.TLS, a uintptr) { /* sqlite3.c:200339:13: */ } // Skip whitespace. Return the next non-whitespace character. -func geopolySkipSpace(tls *libc.TLS, p uintptr) uint8 { /* sqlite3.c:200349:13: */ +func geopolySkipSpace(tls *libc.TLS, p uintptr) uint8 { /* sqlite3.c:200406:13: */ for jsonIsSpace[*(*uint8)(unsafe.Pointer((*GeoParse)(unsafe.Pointer(p)).Fz))] != 0 { (*GeoParse)(unsafe.Pointer(p)).Fz++ } @@ -161098,7 +161129,7 @@ func geopolySkipSpace(tls *libc.TLS, p uintptr) uint8 { /* sqlite3.c:200349:13: // Parse out a number. Write the value into *pVal if pVal!=0. // return non-zero on success and zero if the next token is not a number. -func geopolyParseNumber(tls *libc.TLS, p uintptr, pVal uintptr) int32 { /* sqlite3.c:200357:12: */ +func geopolyParseNumber(tls *libc.TLS, p uintptr, pVal uintptr) int32 { /* sqlite3.c:200414:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -161170,7 +161201,7 @@ func geopolyParseNumber(tls *libc.TLS, p uintptr, pVal uintptr) int32 { /* sqlit // that object. // // If any error occurs, return NULL. -func geopolyParseJson(tls *libc.TLS, z uintptr, pRc uintptr) uintptr { /* sqlite3.c:200415:16: */ +func geopolyParseJson(tls *libc.TLS, z uintptr, pRc uintptr) uintptr { /* sqlite3.c:200472:16: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -161312,7 +161343,7 @@ __16: // in the binary format or JSON text. Compute a GeoPoly object and // return a pointer to that object. Or if the input is not a well-formed // polygon, put an error message in sqlite3_context and return NULL. -func geopolyFuncParam(tls *libc.TLS, pCtx uintptr, pVal uintptr, pRc uintptr) uintptr { /* sqlite3.c:200492:16: */ +func geopolyFuncParam(tls *libc.TLS, pCtx uintptr, pVal uintptr, pRc uintptr) uintptr { /* sqlite3.c:200549:16: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -161381,7 +161412,7 @@ func geopolyFuncParam(tls *libc.TLS, pCtx uintptr, pVal uintptr, pRc uintptr) ui // If the input is a well-formed Geopoly BLOB or JSON string // then return the BLOB representation of the polygon. Otherwise // return NULL. -func geopolyBlobFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:200553:13: */ +func geopolyBlobFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:200610:13: */ var p uintptr = geopolyFuncParam(tls, context, *(*uintptr)(unsafe.Pointer(argv)), uintptr(0)) if p != 0 { Xsqlite3_result_blob(tls, context, p+4, @@ -161394,7 +161425,7 @@ func geopolyBlobFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { // // Interpret X as a polygon and render it as a JSON array // of coordinates. Or, if X is not a valid polygon, return NULL. -func geopolyJsonFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:200572:13: */ +func geopolyJsonFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:200629:13: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -161417,7 +161448,7 @@ func geopolyJsonFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { // // Interpret X as a polygon and render it as a SVG . // Additional arguments are added as attributes to the . -func geopolySvgFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:200598:13: */ +func geopolySvgFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:200655:13: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -161463,7 +161494,7 @@ func geopolySvgFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { // Rotate by R around the point (0,0): // // geopoly_xform(poly, cos(R), sin(R), -sin(R), cos(R), 0, 0) -func geopolyXformFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:200645:13: */ +func geopolyXformFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:200702:13: */ var p uintptr = geopolyFuncParam(tls, context, *(*uintptr)(unsafe.Pointer(argv)), uintptr(0)) var A float64 = Xsqlite3_value_double(tls, *(*uintptr)(unsafe.Pointer(argv + 1*4))) var B float64 = Xsqlite3_value_double(tls, *(*uintptr)(unsafe.Pointer(argv + 2*4))) @@ -161496,7 +161527,7 @@ func geopolyXformFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) // This routine can also be used to detect polygons that rotate in // the wrong direction. Polygons are suppose to be counter-clockwise (CCW). // This routine returns a negative value for clockwise (CW) polygons. -func geopolyArea(tls *libc.TLS, p uintptr) float64 { /* sqlite3.c:200681:15: */ +func geopolyArea(tls *libc.TLS, p uintptr) float64 { /* sqlite3.c:200738:15: */ var rArea float64 = 0.0 var ii int32 for ii = 0; ii < (*GeoPoly)(unsafe.Pointer(p)).FnVertex-1; ii++ { @@ -161516,7 +161547,7 @@ func geopolyArea(tls *libc.TLS, p uintptr) float64 { /* sqlite3.c:200681:15: */ // enclosed by the polygon. If the polygon circulates clockwise instead // of counterclockwise (as it should) then return the negative of the // enclosed area. Otherwise return NULL. -func geopolyAreaFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:200703:13: */ +func geopolyAreaFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:200760:13: */ var p uintptr = geopolyFuncParam(tls, context, *(*uintptr)(unsafe.Pointer(argv)), uintptr(0)) if p != 0 { Xsqlite3_result_double(tls, context, geopolyArea(tls, p)) @@ -161535,7 +161566,7 @@ func geopolyAreaFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { // // Use this routine to sanitize historical inputs that that sometimes // contain polygons that wind in the wrong direction. -func geopolyCcwFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:200728:13: */ +func geopolyCcwFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:200785:13: */ var p uintptr = geopolyFuncParam(tls, context, *(*uintptr)(unsafe.Pointer(argv)), uintptr(0)) if p != 0 { if geopolyArea(tls, p) < 0.0 { @@ -161571,7 +161602,7 @@ func geopolyCcwFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { } // Fast approximation for sine(X) for X between -0.5*pi and 2*pi -func geopolySine(tls *libc.TLS, r float64) float64 { /* sqlite3.c:200756:15: */ +func geopolySine(tls *libc.TLS, r float64) float64 { /* sqlite3.c:200813:15: */ if r >= float64(1.5)*3.1415926535897932385 { r = r - float64(2.0)*3.1415926535897932385 @@ -161591,7 +161622,7 @@ func geopolySine(tls *libc.TLS, r float64) float64 { /* sqlite3.c:200756:15: */ // // Construct a simple, convex, regular polygon centered at X, Y // with circumradius R and with N sides. -func geopolyRegularFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:200777:13: */ +func geopolyRegularFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:200834:13: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -161636,7 +161667,7 @@ func geopolyRegularFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr // // If pPoly is NULL but aCoord is not NULL, then compute a new GeoPoly from // the bounding box in aCoord and return a pointer to that GeoPoly. -func geopolyBBox(tls *libc.TLS, context uintptr, pPoly uintptr, aCoord uintptr, pRc uintptr) uintptr { /* sqlite3.c:200820:16: */ +func geopolyBBox(tls *libc.TLS, context uintptr, pPoly uintptr, aCoord uintptr, pRc uintptr) uintptr { /* sqlite3.c:200877:16: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -161777,7 +161808,7 @@ __4: } // Implementation of the geopoly_bbox(X) SQL function. -func geopolyBBoxFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:200891:13: */ +func geopolyBBoxFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:200948:13: */ var p uintptr = geopolyBBox(tls, context, *(*uintptr)(unsafe.Pointer(argv)), uintptr(0), uintptr(0)) if p != 0 { Xsqlite3_result_blob(tls, context, p+4, @@ -161790,13 +161821,13 @@ func geopolyBBoxFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { type GeoBBox1 = struct { FisInit int32 Fa [4]RtreeCoord -} /* sqlite3.c:200907:9 */ +} /* sqlite3.c:200964:9 */ // State vector for the geopoly_group_bbox() aggregate function. -type GeoBBox = GeoBBox1 /* sqlite3.c:200907:24 */ +type GeoBBox = GeoBBox1 /* sqlite3.c:200964:24 */ // Implementation of the geopoly_group_bbox(X) aggregate SQL function. -func geopolyBBoxStep(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:200917:13: */ +func geopolyBBoxStep(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:200974:13: */ bp := tls.Alloc(20) defer tls.Free(20) @@ -161830,7 +161861,7 @@ func geopolyBBoxStep(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { } } -func geopolyBBoxFinal(tls *libc.TLS, context uintptr) { /* sqlite3.c:200940:13: */ +func geopolyBBoxFinal(tls *libc.TLS, context uintptr) { /* sqlite3.c:200997:13: */ var p uintptr var pBBox uintptr pBBox = Xsqlite3_aggregate_context(tls, context, 0) @@ -161857,7 +161888,7 @@ func geopolyBBoxFinal(tls *libc.TLS, context uintptr) { /* sqlite3.c:200940:13: // // The left-most coordinate min(x1,x2) is not considered to be part of // the line segment for the purposes of this analysis. -func pointBeneathLine(tls *libc.TLS, x0 float64, y0 float64, x1 float64, y1 float64, x2 float64, y2 float64) int32 { /* sqlite3.c:200970:12: */ +func pointBeneathLine(tls *libc.TLS, x0 float64, y0 float64, x1 float64, y1 float64, x2 float64, y2 float64) int32 { /* sqlite3.c:201027:12: */ var y float64 if x0 == x1 && y0 == y1 { return 2 @@ -161898,7 +161929,7 @@ func pointBeneathLine(tls *libc.TLS, x0 float64, y0 float64, x1 float64, y1 floa // Return +2 if point X,Y is within polygon P. // Return +1 if point X,Y is on the polygon boundary. // Return 0 if point X,Y is outside the polygon -func geopolyContainsPointFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:201001:13: */ +func geopolyContainsPointFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:201058:13: */ var p1 uintptr = geopolyFuncParam(tls, context, *(*uintptr)(unsafe.Pointer(argv)), uintptr(0)) var x0 float64 = Xsqlite3_value_double(tls, *(*uintptr)(unsafe.Pointer(argv + 1*4))) var y0 float64 = Xsqlite3_value_double(tls, *(*uintptr)(unsafe.Pointer(argv + 2*4))) @@ -161936,7 +161967,7 @@ func geopolyContainsPointFunc(tls *libc.TLS, context uintptr, argc int32, argv u // Return +1 if P2 is contained within P1 // Return 0 if any part of P2 is on the outside of P1 // -func geopolyWithinFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:201044:13: */ +func geopolyWithinFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:201101:13: */ var p1 uintptr = geopolyFuncParam(tls, context, *(*uintptr)(unsafe.Pointer(argv)), uintptr(0)) var p2 uintptr = geopolyFuncParam(tls, context, *(*uintptr)(unsafe.Pointer(argv + 1*4)), uintptr(0)) if p1 != 0 && p2 != 0 { @@ -161968,10 +161999,10 @@ type GeoEvent1 = struct { FpSeg uintptr FpNext uintptr F__ccgo_pad1 [4]byte -} /* sqlite3.c:201064:9 */ +} /* sqlite3.c:201121:9 */ // Objects used by the overlap algorihm. -type GeoEvent = GeoEvent1 /* sqlite3.c:201064:25 */ +type GeoEvent = GeoEvent1 /* sqlite3.c:201121:25 */ type GeoSegment1 = struct { FC float64 FB float64 @@ -161981,20 +162012,20 @@ type GeoSegment1 = struct { F__ccgo_pad1 [3]byte Fidx uint32 FpNext uintptr -} /* sqlite3.c:201064:9 */ +} /* sqlite3.c:201121:9 */ -type GeoSegment = GeoSegment1 /* sqlite3.c:201065:27 */ +type GeoSegment = GeoSegment1 /* sqlite3.c:201122:27 */ type GeoOverlap1 = struct { FaEvent uintptr FaSegment uintptr FnEvent int32 FnSegment int32 -} /* sqlite3.c:201066:9 */ +} /* sqlite3.c:201123:9 */ -type GeoOverlap = GeoOverlap1 /* sqlite3.c:201066:27 */ +type GeoOverlap = GeoOverlap1 /* sqlite3.c:201123:27 */ // Add a single segment and its associated events. -func geopolyAddOneSegment(tls *libc.TLS, p uintptr, x0 GeoCoord, y0 GeoCoord, x1 GeoCoord, y1 GeoCoord, side uint8, idx uint32) { /* sqlite3.c:201091:13: */ +func geopolyAddOneSegment(tls *libc.TLS, p uintptr, x0 GeoCoord, y0 GeoCoord, x1 GeoCoord, y1 GeoCoord, side uint8, idx uint32) { /* sqlite3.c:201148:13: */ var pSeg uintptr var pEvent uintptr if x0 == x1 { @@ -162028,7 +162059,7 @@ func geopolyAddOneSegment(tls *libc.TLS, p uintptr, x0 GeoCoord, y0 GeoCoord, x1 } // Insert all segments and events for polygon pPoly. -func geopolyAddSegments(tls *libc.TLS, p uintptr, pPoly uintptr, side uint8) { /* sqlite3.c:201135:13: */ +func geopolyAddSegments(tls *libc.TLS, p uintptr, pPoly uintptr, side uint8) { /* sqlite3.c:201192:13: */ var i uint32 var x uintptr for i = uint32(0); i < uint32((*GeoPoly)(unsafe.Pointer(pPoly)).FnVertex)-uint32(1); i++ { @@ -162040,7 +162071,7 @@ func geopolyAddSegments(tls *libc.TLS, p uintptr, pPoly uintptr, side uint8) { / } // Merge two lists of sorted events by X coordinate -func geopolyEventMerge(tls *libc.TLS, pLeft uintptr, pRight uintptr) uintptr { /* sqlite3.c:201153:17: */ +func geopolyEventMerge(tls *libc.TLS, pLeft uintptr, pRight uintptr) uintptr { /* sqlite3.c:201210:17: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -162070,7 +162101,7 @@ func geopolyEventMerge(tls *libc.TLS, pLeft uintptr, pRight uintptr) uintptr { / } // Sort an array of nEvent event objects into a list. -func geopolySortEventsByX(tls *libc.TLS, aEvent uintptr, nEvent int32) uintptr { /* sqlite3.c:201175:17: */ +func geopolySortEventsByX(tls *libc.TLS, aEvent uintptr, nEvent int32) uintptr { /* sqlite3.c:201232:17: */ bp := tls.Alloc(200) defer tls.Free(200) @@ -162100,7 +162131,7 @@ func geopolySortEventsByX(tls *libc.TLS, aEvent uintptr, nEvent int32) uintptr { } // Merge two lists of sorted segments by Y, and then by C. -func geopolySegmentMerge(tls *libc.TLS, pLeft uintptr, pRight uintptr) uintptr { /* sqlite3.c:201200:19: */ +func geopolySegmentMerge(tls *libc.TLS, pLeft uintptr, pRight uintptr) uintptr { /* sqlite3.c:201257:19: */ bp := tls.Alloc(40) defer tls.Free(40) @@ -162135,7 +162166,7 @@ func geopolySegmentMerge(tls *libc.TLS, pLeft uintptr, pRight uintptr) uintptr { // Sort a list of GeoSegments in order of increasing Y and in the event of // a tie, increasing C (slope). -func geopolySortSegmentsByYAndC(tls *libc.TLS, pList uintptr) uintptr { /* sqlite3.c:201225:19: */ +func geopolySortSegmentsByYAndC(tls *libc.TLS, pList uintptr) uintptr { /* sqlite3.c:201282:19: */ bp := tls.Alloc(200) defer tls.Free(200) @@ -162165,7 +162196,7 @@ func geopolySortSegmentsByYAndC(tls *libc.TLS, pList uintptr) uintptr { /* sqlit } // Determine the overlap between two polygons -func geopolyOverlap(tls *libc.TLS, p1 uintptr, p2 uintptr) int32 { /* sqlite3.c:201251:12: */ +func geopolyOverlap(tls *libc.TLS, p1 uintptr, p2 uintptr) int32 { /* sqlite3.c:201308:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -162401,7 +162432,7 @@ geopolyOverlapDone: // 3 P2 is completely contained within P1 // 4 P1 and P2 are the same polygon // NULL Either P1 or P2 or both are not valid polygons -func geopolyOverlapFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:201374:13: */ +func geopolyOverlapFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:201431:13: */ var p1 uintptr = geopolyFuncParam(tls, context, *(*uintptr)(unsafe.Pointer(argv)), uintptr(0)) var p2 uintptr = geopolyFuncParam(tls, context, *(*uintptr)(unsafe.Pointer(argv + 1*4)), uintptr(0)) if p1 != 0 && p2 != 0 { @@ -162417,7 +162448,7 @@ func geopolyOverlapFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr } // Enable or disable debugging output -func geopolyDebugFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:201396:13: */ +func geopolyDebugFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:201453:13: */ } // This function is the implementation of both the xConnect and xCreate @@ -162427,7 +162458,7 @@ func geopolyDebugFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) // argv[1] -> database name // argv[2] -> table name // argv[...] -> column names... -func geopolyInit(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr, isCreate int32) int32 { /* sqlite3.c:201415:12: */ +func geopolyInit(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr, isCreate int32) int32 { /* sqlite3.c:201472:12: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -162542,12 +162573,12 @@ __11: } // GEOPOLY virtual table module xCreate method. -func geopolyCreate(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 { /* sqlite3.c:201499:12: */ +func geopolyCreate(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 { /* sqlite3.c:201556:12: */ return geopolyInit(tls, db, pAux, argc, argv, ppVtab, pzErr, 1) } // GEOPOLY virtual table module xConnect method. -func geopolyConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 { /* sqlite3.c:201512:12: */ +func geopolyConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 { /* sqlite3.c:201569:12: */ return geopolyInit(tls, db, pAux, argc, argv, ppVtab, pzErr, 0) } @@ -162561,7 +162592,7 @@ func geopolyConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv ui // 3 search for objects overlapping the same bounding box // that contains polygon argv[0] // 4 full table scan -func geopolyFilter(tls *libc.TLS, pVtabCursor uintptr, idxNum int32, idxStr uintptr, argc int32, argv uintptr) int32 { /* sqlite3.c:201535:12: */ +func geopolyFilter(tls *libc.TLS, pVtabCursor uintptr, idxNum int32, idxStr uintptr, argc int32, argv uintptr) int32 { /* sqlite3.c:201592:12: */ bp := tls.Alloc(44) defer tls.Free(44) @@ -162728,7 +162759,7 @@ geopoly_filter_end: // 3 "rtree" R-tree within query using geopoly_within() // 4 "fullscan" full-table scan. // ------------------------------------------------ -func geopolyBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 { /* sqlite3.c:201667:12: */ +func geopolyBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 { /* sqlite3.c:201724:12: */ var ii int32 var iRowidTerm int32 = -1 var iFuncTerm int32 = -1 @@ -162779,7 +162810,7 @@ func geopolyBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 { /* s } // GEOPOLY virtual table module xColumn method. -func geopolyColumn(tls *libc.TLS, cur uintptr, ctx uintptr, i int32) int32 { /* sqlite3.c:201719:12: */ +func geopolyColumn(tls *libc.TLS, cur uintptr, ctx uintptr, i int32) int32 { /* sqlite3.c:201776:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -162844,7 +162875,7 @@ func geopolyColumn(tls *libc.TLS, cur uintptr, ctx uintptr, i int32) int32 { /* // argv[1] = rowid after the change. Never NULL // argv[2] = new value for _shape // argv[3] = new value for first application-defined column.... -func geopolyUpdate(tls *libc.TLS, pVtab uintptr, nData int32, aData uintptr, pRowid uintptr) int32 { /* sqlite3.c:201774:12: */ +func geopolyUpdate(tls *libc.TLS, pVtab uintptr, nData int32, aData uintptr, pRowid uintptr) int32 { /* sqlite3.c:201831:12: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -163055,7 +163086,7 @@ 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) int32 { /* sqlite3.c:201911:12: */ +func geopolyFindFunction(tls *libc.TLS, pVtab uintptr, nArg int32, zName uintptr, pxFunc uintptr, ppArg uintptr) int32 { /* sqlite3.c:201968:12: */ if Xsqlite3_stricmp(tls, zName, ts+27444) == 0 { *(*uintptr)(unsafe.Pointer(pxFunc)) = *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) @@ -163096,9 +163127,9 @@ var geopolyModule = Sqlite3_module{ FxRename: 0, // xRename - rename the table FxSavepoint: 0, // xRollbackTo FxShadowName: 0, // xShadowName -} /* sqlite3.c:201932:23 */ +} /* sqlite3.c:201989:23 */ -func sqlite3_geopoly_init(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:201959:12: */ +func sqlite3_geopoly_init(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:202016:12: */ var rc int32 = SQLITE_OK var i int32 for i = 0; uint32(i) < uint32(unsafe.Sizeof(aFunc))/uint32(unsafe.Sizeof(struct { @@ -163152,14 +163183,14 @@ var aFunc = [12]struct { {FxFunc: 0, FnArg: int8(7), FbPure: uint8(1), FzName: ts + 27584 /* "geopoly_xform" */}, {FxFunc: 0, FnArg: int8(4), FbPure: uint8(1), FzName: ts + 27598 /* "geopoly_regular" */}, {FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 27614 /* "geopoly_ccw" */}, -} /* sqlite3.c:201966:5 */ +} /* sqlite3.c:202023:5 */ var aAgg = [1]struct { FxStep uintptr FxFinal uintptr FzName uintptr }{ {FxStep: 0, FxFinal: 0, FzName: ts + 27626 /* "geopoly_group_bb..." */}, -} /* sqlite3.c:201984:5 */ +} /* sqlite3.c:202041:5 */ //************* End of geopoly.c ******************************************** //************* Continuing where we left off in rtree.c ********************* @@ -163167,7 +163198,7 @@ var aAgg = [1]struct { // Register the r-tree module with database handle db. This creates the // virtual table module "rtree" and the debugging/analysis scalar // function "rtreenode". -func Xsqlite3RtreeInit(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:202019:20: */ +func Xsqlite3RtreeInit(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:202076:20: */ var utf8 int32 = SQLITE_UTF8 var rc int32 @@ -163204,7 +163235,7 @@ func Xsqlite3RtreeInit(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:202019:20 // or sqlite3_rtree_query_callback(). In other words, this routine is the // destructor for an RtreeGeomCallback objecct. This routine is called when // the corresponding SQL function is deleted. -func rtreeFreeCallback(tls *libc.TLS, p uintptr) { /* sqlite3.c:202058:13: */ +func rtreeFreeCallback(tls *libc.TLS, p uintptr) { /* sqlite3.c:202115:13: */ var pInfo uintptr = p if (*RtreeGeomCallback)(unsafe.Pointer(pInfo)).FxDestructor != 0 { (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*RtreeGeomCallback)(unsafe.Pointer(pInfo)).FxDestructor})).f(tls, (*RtreeGeomCallback)(unsafe.Pointer(pInfo)).FpContext) @@ -163213,7 +163244,7 @@ func rtreeFreeCallback(tls *libc.TLS, p uintptr) { /* sqlite3.c:202058:13: */ } // This routine frees the BLOB that is returned by geomCallback(). -func rtreeMatchArgFree(tls *libc.TLS, pArg uintptr) { /* sqlite3.c:202067:13: */ +func rtreeMatchArgFree(tls *libc.TLS, pArg uintptr) { /* sqlite3.c:202124:13: */ var i int32 var p uintptr = pArg for i = 0; i < (*RtreeMatchArg)(unsafe.Pointer(p)).FnParam; i++ { @@ -163234,7 +163265,7 @@ func rtreeMatchArgFree(tls *libc.TLS, pArg uintptr) { /* sqlite3.c:202067:13: */ // The R-Tree MATCH operator will read the returned BLOB, deserialize // the RtreeMatchArg object, and use the RtreeMatchArg object to figure // out which elements of the R-Tree should be returned by the query. -func geomCallback(tls *libc.TLS, ctx uintptr, nArg int32, aArg uintptr) { /* sqlite3.c:202090:13: */ +func geomCallback(tls *libc.TLS, ctx uintptr, nArg int32, aArg uintptr) { /* sqlite3.c:202147:13: */ var pGeomCtx uintptr = Xsqlite3_user_data(tls, ctx) var pBlob uintptr var nBlob Sqlite3_int64 @@ -163268,7 +163299,7 @@ func geomCallback(tls *libc.TLS, ctx uintptr, nArg int32, aArg uintptr) { /* sql } // 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) int32 { /* sqlite3.c:202128:16: */ +func Xsqlite3_rtree_geometry_callback(tls *libc.TLS, db uintptr, zGeom uintptr, xGeom uintptr, pContext uintptr) int32 { /* sqlite3.c:202185:16: */ var pGeomCtx uintptr // Context object for new user-function // Allocate and populate the context object. @@ -163288,7 +163319,7 @@ func Xsqlite3_rtree_geometry_callback(tls *libc.TLS, db uintptr, zGeom uintptr, // 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) int32 { /* sqlite3.c:202152:16: */ +func Xsqlite3_rtree_query_callback(tls *libc.TLS, db uintptr, zQueryFunc uintptr, xQueryFunc uintptr, pContext uintptr, xDestructor uintptr) int32 { /* sqlite3.c:202209:16: */ var pGeomCtx uintptr // Context object for new user-function // Allocate and populate the context object. @@ -163740,7 +163771,7 @@ type sqlite3rbu = struct { FszTempLimit I64 FnRbu int32 FpRbuFd uintptr -} /* sqlite3.c:203382:9 */ +} /* sqlite3.c:203439:9 */ //************* End of rtree.c ********************************************** //************* Begin file icu.c ******************************************** @@ -164141,7 +164172,7 @@ type sqlite3rbu = struct { // #include "sqlite3.h" ** Required for error code definitions ** -type Sqlite3rbu = sqlite3rbu /* sqlite3.c:203382:27 */ +type Sqlite3rbu = sqlite3rbu /* sqlite3.c:203439:27 */ //************* End of sqlite3rbu.h ***************************************** //************* Continuing where we left off in sqlite3rbu.c **************** @@ -164206,7 +164237,7 @@ type Sqlite3rbu = sqlite3rbu /* sqlite3.c:203382:27 */ type RbuFrame1 = struct { FiDbPage U32 FiWalFrame U32 -} /* sqlite3.c:203382:9 */ +} /* sqlite3.c:203439:9 */ //************* End of sqlite3rbu.h ***************************************** //************* Continuing where we left off in sqlite3rbu.c **************** @@ -164268,7 +164299,7 @@ type RbuFrame1 = struct { // Only valid if STAGE==1. The RBU database name of the table // currently being read. -type RbuFrame = RbuFrame1 /* sqlite3.c:203813:25 */ +type RbuFrame = RbuFrame1 /* sqlite3.c:203870:25 */ type RbuObjIter1 = struct { FpTblIter uintptr FpIdxIter uintptr @@ -164297,9 +164328,9 @@ type RbuObjIter1 = struct { FaIdxCol uintptr FzIdxSql uintptr FpRbuUpdate uintptr -} /* sqlite3.c:203382:9 */ +} /* sqlite3.c:203439:9 */ -type RbuObjIter = RbuObjIter1 /* sqlite3.c:203814:27 */ +type RbuObjIter = RbuObjIter1 /* sqlite3.c:203871:27 */ type RbuState1 = struct { FeStage int32 FzTbl uintptr @@ -164313,15 +164344,15 @@ type RbuState1 = struct { F__ccgo_pad2 [4]byte FiOalSz I64 FnPhaseOneStep I64 -} /* sqlite3.c:203815:9 */ +} /* sqlite3.c:203872:9 */ -type RbuState = RbuState1 /* sqlite3.c:203815:25 */ +type RbuState = RbuState1 /* sqlite3.c:203872:25 */ type RbuSpan1 = struct { FzSpan uintptr FnSpan int32 -} /* sqlite3.c:203382:9 */ +} /* sqlite3.c:203439:9 */ -type RbuSpan = RbuSpan1 /* sqlite3.c:203816:24 */ +type RbuSpan = RbuSpan1 /* sqlite3.c:203873:24 */ type rbu_vfs = struct { Fbase Sqlite3_vfs FpRealVfs uintptr @@ -164329,9 +164360,9 @@ type rbu_vfs = struct { FpRbu uintptr FpMain uintptr FpMainRbu uintptr -} /* sqlite3.c:203382:9 */ +} /* sqlite3.c:203439:9 */ -type Rbu_vfs = rbu_vfs /* sqlite3.c:203817:24 */ +type Rbu_vfs = rbu_vfs /* sqlite3.c:203874:24 */ type rbu_file = struct { Fbase Sqlite3_file FpReal uintptr @@ -164350,16 +164381,16 @@ type rbu_file = struct { FpWalFd uintptr FpMainNext uintptr FpMainRbuNext uintptr -} /* sqlite3.c:203382:9 */ +} /* sqlite3.c:203439:9 */ -type Rbu_file = rbu_file /* sqlite3.c:203818:25 */ +type Rbu_file = rbu_file /* sqlite3.c:203875:25 */ type RbuUpdateStmt1 = struct { FzMask uintptr FpUpdate uintptr FpNext uintptr -} /* sqlite3.c:203382:9 */ +} /* sqlite3.c:203439:9 */ -type RbuUpdateStmt = RbuUpdateStmt1 /* sqlite3.c:203819:30 */ +type RbuUpdateStmt = RbuUpdateStmt1 /* sqlite3.c:203876:30 */ // True for an RBU vacuum handle, or false otherwise. @@ -164378,7 +164409,7 @@ type RbuUpdateStmt = RbuUpdateStmt1 /* sqlite3.c:203819:30 */ // finished, leave *pz pointing to the first character past the end of // the integer. The *pLen parameter holds the length of the string // in *pz and is decremented once for each character in the integer. -func rbuDeltaGetInt(tls *libc.TLS, pz uintptr, pLen uintptr) uint32 { /* sqlite3.c:204109:21: */ +func rbuDeltaGetInt(tls *libc.TLS, pz uintptr, pLen uintptr) uint32 { /* sqlite3.c:204166:21: */ var v uint32 = uint32(0) var c int32 var z uintptr = *(*uintptr)(unsafe.Pointer(pz)) @@ -164401,7 +164432,7 @@ var zValue = [128]int8{ int8(25), int8(26), int8(27), int8(28), int8(29), int8(30), int8(31), int8(32), int8(33), int8(34), int8(35), int8(-1), int8(-1), int8(-1), int8(-1), int8(36), int8(-1), int8(37), int8(38), int8(39), int8(40), int8(41), int8(42), int8(43), int8(44), int8(45), int8(46), int8(47), int8(48), int8(49), int8(50), int8(51), int8(52), int8(53), int8(54), int8(55), int8(56), int8(57), int8(58), int8(59), int8(60), int8(61), int8(62), int8(-1), int8(-1), int8(-1), int8(63), int8(-1), -} /* sqlite3.c:204110:28 */ +} /* sqlite3.c:204167:28 */ // Apply a delta. // @@ -164421,7 +164452,7 @@ var zValue = [128]int8{ // // Refer to the delta_create() documentation above for a description // of the delta file format. -func rbuDeltaApply(tls *libc.TLS, zSrc uintptr, lenSrc int32, zDelta uintptr, lenDelta int32, zOut uintptr) int32 { /* sqlite3.c:204190:12: */ +func rbuDeltaApply(tls *libc.TLS, zSrc uintptr, lenSrc int32, zDelta uintptr, lenDelta int32, zOut uintptr) int32 { /* sqlite3.c:204247:12: */ bp := tls.Alloc(8) defer tls.Free(8) *(*uintptr)(unsafe.Pointer(bp)) = zDelta @@ -164511,7 +164542,7 @@ func rbuDeltaApply(tls *libc.TLS, zSrc uintptr, lenSrc int32, zDelta uintptr, le return -1 } -func rbuDeltaOutputSize(tls *libc.TLS, zDelta uintptr, lenDelta int32) int32 { /* sqlite3.c:204276:12: */ +func rbuDeltaOutputSize(tls *libc.TLS, zDelta uintptr, lenDelta int32) int32 { /* sqlite3.c:204333:12: */ bp := tls.Alloc(8) defer tls.Free(8) *(*uintptr)(unsafe.Pointer(bp)) = zDelta @@ -164536,7 +164567,7 @@ func rbuDeltaOutputSize(tls *libc.TLS, zDelta uintptr, lenDelta int32) int32 { / // arguments must be passed to this function. The first is the blob to // patch and the second the patch to apply. If no error occurs, this // function returns the patched blob. -func rbuFossilDeltaFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:204298:13: */ +func rbuFossilDeltaFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:204355:13: */ var aDelta uintptr var nDelta int32 var aOrig uintptr @@ -164579,7 +164610,7 @@ func rbuFossilDeltaFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr // an SQLite error code. Additionally, set output variable *pzErrmsg to // point to a buffer containing an error message. It is the responsibility // of the caller to (eventually) free this buffer using sqlite3_free(). -func prepareAndCollectError(tls *libc.TLS, db uintptr, ppStmt uintptr, pzErrmsg uintptr, zSql uintptr) int32 { /* sqlite3.c:204351:12: */ +func prepareAndCollectError(tls *libc.TLS, db uintptr, ppStmt uintptr, pzErrmsg uintptr, zSql uintptr) int32 { /* sqlite3.c:204408:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -164597,7 +164628,7 @@ func prepareAndCollectError(tls *libc.TLS, db uintptr, ppStmt uintptr, pzErrmsg // If an error has occurred, then set *pzErrmsg to point to a buffer // containing an error message. It is the responsibility of the caller // to eventually free this buffer using sqlite3_free(). -func resetAndCollectError(tls *libc.TLS, pStmt uintptr, pzErrmsg uintptr) int32 { /* sqlite3.c:204373:12: */ +func resetAndCollectError(tls *libc.TLS, pStmt uintptr, pzErrmsg uintptr) int32 { /* sqlite3.c:204430:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -164621,7 +164652,7 @@ func resetAndCollectError(tls *libc.TLS, pStmt uintptr, pzErrmsg uintptr) int32 // // If argument zSql is NULL, this function assumes that an OOM has occurred. // In this case SQLITE_NOMEM is returned and *ppStmt set to NULL. -func prepareFreeAndCollectError(tls *libc.TLS, db uintptr, ppStmt uintptr, pzErrmsg uintptr, zSql uintptr) int32 { /* sqlite3.c:204396:12: */ +func prepareFreeAndCollectError(tls *libc.TLS, db uintptr, ppStmt uintptr, pzErrmsg uintptr, zSql uintptr) int32 { /* sqlite3.c:204453:12: */ var rc int32 if zSql == uintptr(0) { @@ -164636,7 +164667,7 @@ func prepareFreeAndCollectError(tls *libc.TLS, db uintptr, ppStmt uintptr, pzErr // Free the RbuObjIter.azTblCol[] and RbuObjIter.abTblPk[] arrays allocated // by an earlier call to rbuObjIterCacheTableInfo(). -func rbuObjIterFreeCols(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:204418:13: */ +func rbuObjIterFreeCols(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:204475:13: */ var i int32 for i = 0; i < (*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol; i++ { Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*4))) @@ -164654,7 +164685,7 @@ func rbuObjIterFreeCols(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:204418:13: // Finalize all statements and free all allocations that are specific to // the current object (table/index pair). -func rbuObjIterClearStatements(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:204438:13: */ +func rbuObjIterClearStatements(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:204495:13: */ var pUp uintptr Xsqlite3_finalize(tls, (*RbuObjIter)(unsafe.Pointer(pIter)).FpSelect) @@ -164684,7 +164715,7 @@ func rbuObjIterClearStatements(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:2044 // Clean up any resources allocated as part of the iterator object passed // as the only argument. -func rbuObjIterFinalize(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:204470:13: */ +func rbuObjIterFinalize(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:204527:13: */ rbuObjIterClearStatements(tls, pIter) Xsqlite3_finalize(tls, (*RbuObjIter)(unsafe.Pointer(pIter)).FpTblIter) Xsqlite3_finalize(tls, (*RbuObjIter)(unsafe.Pointer(pIter)).FpIdxIter) @@ -164698,7 +164729,7 @@ func rbuObjIterFinalize(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:204470:13: // pointing to the next entry. Otherwise, an error code and message is // left in the RBU handle passed as the first argument. A copy of the // error code is returned. -func rbuObjIterNext(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlite3.c:204486:12: */ +func rbuObjIterNext(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlite3.c:204543:12: */ var rc int32 = (*Sqlite3rbu)(unsafe.Pointer(p)).Frc if rc == SQLITE_OK { @@ -164779,7 +164810,7 @@ func rbuObjIterNext(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlite3. // // For an rbu vacuum handle, a copy of the first argument is returned if // the second argument is either missing or 0 (not a view). -func rbuTargetNameFunc(tls *libc.TLS, pCtx uintptr, argc int32, argv uintptr) { /* sqlite3.c:204566:13: */ +func rbuTargetNameFunc(tls *libc.TLS, pCtx uintptr, argc int32, argv uintptr) { /* sqlite3.c:204623:13: */ var p uintptr = Xsqlite3_user_data(tls, pCtx) var zIn uintptr @@ -164809,7 +164840,7 @@ func rbuTargetNameFunc(tls *libc.TLS, pCtx uintptr, argc int32, argv uintptr) { // pointing to the first entry. Otherwise, an error code and message is // left in the RBU handle passed as the first argument. A copy of the // error code is returned. -func rbuObjIterFirst(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlite3.c:204602:12: */ +func rbuObjIterFirst(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlite3.c:204659:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -164844,7 +164875,7 @@ func rbuObjIterFirst(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlite3 // than SQLITE_OK), then this function returns NULL without modifying the // stored error code. In this case it still calls sqlite3_free() on any // printf() parameters associated with %z conversions. -func rbuMPrintf(tls *libc.TLS, p uintptr, zFmt uintptr, va uintptr) uintptr { /* sqlite3.c:204637:13: */ +func rbuMPrintf(tls *libc.TLS, p uintptr, zFmt uintptr, va uintptr) uintptr { /* sqlite3.c:204694:13: */ var zSql uintptr = uintptr(0) var ap Va_list _ = ap @@ -164870,7 +164901,7 @@ func rbuMPrintf(tls *libc.TLS, p uintptr, zFmt uintptr, va uintptr) uintptr { /* // If an error occurs, an error code and error message is stored in the // RBU handle. If an error has already occurred when this function is // called, it is a no-op. -func rbuMPrintfExec(tls *libc.TLS, p uintptr, db uintptr, zFmt uintptr, va uintptr) int32 { /* sqlite3.c:204662:12: */ +func rbuMPrintfExec(tls *libc.TLS, p uintptr, db uintptr, zFmt uintptr, va uintptr) int32 { /* sqlite3.c:204719:12: */ var ap Va_list _ = ap var zSql uintptr @@ -164896,7 +164927,7 @@ func rbuMPrintfExec(tls *libc.TLS, p uintptr, db uintptr, zFmt uintptr, va uintp // error has already occurred when this function is called, return NULL // immediately without attempting the allocation or modifying the stored // error code. -func rbuMalloc(tls *libc.TLS, p uintptr, nByte Sqlite3_int64) uintptr { /* sqlite3.c:204689:13: */ +func rbuMalloc(tls *libc.TLS, p uintptr, nByte Sqlite3_int64) uintptr { /* sqlite3.c:204746:13: */ var pRet uintptr = uintptr(0) if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { @@ -164913,7 +164944,7 @@ func rbuMalloc(tls *libc.TLS, p uintptr, nByte Sqlite3_int64) uintptr { /* sqlit // Allocate and zero the pIter->azTblCol[] and abTblPk[] arrays so that // there is room for at least nCol elements. If an OOM occurs, store an // error code in the RBU handle passed as the first argument. -func rbuAllocateIterArrays(tls *libc.TLS, p uintptr, pIter uintptr, nCol int32) { /* sqlite3.c:204709:13: */ +func rbuAllocateIterArrays(tls *libc.TLS, p uintptr, pIter uintptr, nCol int32) { /* sqlite3.c:204766:13: */ var nByte Sqlite3_int64 = Sqlite3_int64((uint32(2)*uint32(unsafe.Sizeof(uintptr(0))) + uint32(unsafe.Sizeof(int32(0))) + uint32(3)*uint32(unsafe.Sizeof(U8(0)))) * uint32(nCol)) var azNew uintptr @@ -164936,7 +164967,7 @@ func rbuAllocateIterArrays(tls *libc.TLS, p uintptr, pIter uintptr, nCol int32) // If an OOM condition is encountered when attempting to allocate memory, // output variable (*pRc) is set to SQLITE_NOMEM before returning. Otherwise, // if the allocation succeeds, (*pRc) is left unchanged. -func rbuStrndup(tls *libc.TLS, zStr uintptr, pRc uintptr) uintptr { /* sqlite3.c:204734:13: */ +func rbuStrndup(tls *libc.TLS, zStr uintptr, pRc uintptr) uintptr { /* sqlite3.c:204791:13: */ var zRet uintptr = uintptr(0) if *(*int32)(unsafe.Pointer(pRc)) == SQLITE_OK { @@ -164959,7 +164990,7 @@ func rbuStrndup(tls *libc.TLS, zStr uintptr, pRc uintptr) uintptr { /* sqlite3.c // If the sqlite3_finalize() call indicates that an error occurs, and the // rbu handle error code is not already set, set the error code and error // message accordingly. -func rbuFinalize(tls *libc.TLS, p uintptr, pStmt uintptr) { /* sqlite3.c:204759:13: */ +func rbuFinalize(tls *libc.TLS, p uintptr, pStmt uintptr) { /* sqlite3.c:204816:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -165009,7 +165040,7 @@ func rbuFinalize(tls *libc.TLS, p uintptr, pStmt uintptr) { /* sqlite3.c:204759: // }else{ // return RBU_PK_NONE // } -func rbuTableType(tls *libc.TLS, p uintptr, zTab uintptr, peType uintptr, piTnum uintptr, piPk uintptr) { /* sqlite3.c:204807:13: */ +func rbuTableType(tls *libc.TLS, p uintptr, zTab uintptr, peType uintptr, piTnum uintptr, piPk uintptr) { /* sqlite3.c:204864:13: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -165129,7 +165160,7 @@ __16: // This is a helper function for rbuObjIterCacheTableInfo(). It populates // the pIter->abIndexed[] array. -func rbuObjIterCacheIndexedCols(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:204893:13: */ +func rbuObjIterCacheIndexedCols(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:204950:13: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -165187,7 +165218,7 @@ func rbuObjIterCacheIndexedCols(tls *libc.TLS, p uintptr, pIter uintptr) { /* sq // Return SQLITE_OK if successful, or an SQLite error code otherwise. If // an error does occur, an error code and error message are also left in // the RBU handle. -func rbuObjIterCacheTableInfo(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlite3.c:204947:12: */ +func rbuObjIterCacheTableInfo(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlite3.c:205004:12: */ bp := tls.Alloc(64) defer tls.Free(64) @@ -165309,7 +165340,7 @@ func rbuObjIterCacheTableInfo(tls *libc.TLS, p uintptr, pIter uintptr) int32 { / // This function constructs and returns a pointer to a nul-terminated // string containing some SQL clause or list based on one or more of the // column names currently stored in the pIter->azTblCol[] array. -func rbuObjIterGetCollist(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { /* sqlite3.c:205057:13: */ +func rbuObjIterGetCollist(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { /* sqlite3.c:205114:13: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -165328,7 +165359,7 @@ func rbuObjIterGetCollist(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { /* // in order, for the current table. Before each column name, add the text // zPre. After each column name, add the zPost text. Use zSeparator as // the separator text (usually ", "). -func rbuObjIterGetPkList(tls *libc.TLS, p uintptr, pIter uintptr, zPre uintptr, zSeparator uintptr, zPost uintptr) uintptr { /* sqlite3.c:205078:13: */ +func rbuObjIterGetPkList(tls *libc.TLS, p uintptr, pIter uintptr, zPre uintptr, zSeparator uintptr, zPost uintptr) uintptr { /* sqlite3.c:205135:13: */ bp := tls.Alloc(40) defer tls.Free(40) @@ -165370,7 +165401,7 @@ func rbuObjIterGetPkList(tls *libc.TLS, p uintptr, pIter uintptr, zPre uintptr, // // Instead of "?" placeholders, the actual WHERE clauses created by // this function contain literal SQL values. -func rbuVacuumTableStart(tls *libc.TLS, p uintptr, pIter uintptr, bRowid int32, zWrite uintptr) uintptr { /* sqlite3.c:205123:13: */ +func rbuVacuumTableStart(tls *libc.TLS, p uintptr, pIter uintptr, bRowid int32, zWrite uintptr) uintptr { /* sqlite3.c:205180:13: */ bp := tls.Alloc(76) defer tls.Free(76) @@ -165429,7 +165460,7 @@ func rbuVacuumTableStart(tls *libc.TLS, p uintptr, pIter uintptr, bRowid int32, // If the expression cannot be created, NULL is returned. In this case, // the caller has to use an OFFSET clause to extract only the required // rows from the sourct table, just as it does for an RBU update operation. -func rbuVacuumIndexStart(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { /* sqlite3.c:205190:13: */ +func rbuVacuumIndexStart(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { /* sqlite3.c:205247:13: */ bp := tls.Alloc(184) defer tls.Free(184) @@ -165610,7 +165641,7 @@ index_start_out: // pzImposterCols: ... // pzImposterPk: ... // pzWhere: ... -func rbuObjIterGetIndexCols(tls *libc.TLS, p uintptr, pIter uintptr, pzImposterCols uintptr, pzImposterPk uintptr, pzWhere uintptr, pnBind uintptr) uintptr { /* sqlite3.c:205305:13: */ +func rbuObjIterGetIndexCols(tls *libc.TLS, p uintptr, pIter uintptr, pzImposterCols uintptr, pzImposterPk uintptr, pzWhere uintptr, pnBind uintptr) uintptr { /* sqlite3.c:205362:13: */ bp := tls.Alloc(204) defer tls.Free(204) @@ -165721,7 +165752,7 @@ func rbuObjIterGetIndexCols(tls *libc.TLS, p uintptr, pIter uintptr, pzImposterC // // For tables with implicit rowids - RBU_PK_EXTERNAL and RBU_PK_NONE, append // the text ", old._rowid_" to the returned value. -func rbuObjIterGetOldlist(tls *libc.TLS, p uintptr, pIter uintptr, zObj uintptr) uintptr { /* sqlite3.c:205417:13: */ +func rbuObjIterGetOldlist(tls *libc.TLS, p uintptr, pIter uintptr, zObj uintptr) uintptr { /* sqlite3.c:205474:13: */ bp := tls.Alloc(64) defer tls.Free(64) @@ -165759,7 +165790,7 @@ func rbuObjIterGetOldlist(tls *libc.TLS, p uintptr, pIter uintptr, zObj uintptr) // Return the string: // // "b = ?1 AND c = ?2" -func rbuObjIterGetWhere(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { /* sqlite3.c:205458:13: */ +func rbuObjIterGetWhere(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { /* sqlite3.c:205515:13: */ bp := tls.Alloc(80) defer tls.Free(80) @@ -165797,7 +165828,7 @@ func rbuObjIterGetWhere(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { /* sq // is something wrong with the rbu_control value in the rbu_control value // stored in the (p->nCol+1)'th column. Set the error code and error message // of the RBU handle to something reflecting this. -func rbuBadControlError(tls *libc.TLS, p uintptr) { /* sqlite3.c:205499:13: */ +func rbuBadControlError(tls *libc.TLS, p uintptr) { /* sqlite3.c:205556:13: */ (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_ERROR (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+29162, 0) } @@ -165817,7 +165848,7 @@ func rbuBadControlError(tls *libc.TLS, p uintptr) { /* sqlite3.c:205499:13: */ // argument and NULL is returned. Or, if an error has already occurred // when this function is called, NULL is returned immediately, without // attempting the allocation or modifying the stored error code. -func rbuObjIterGetSetlist(tls *libc.TLS, p uintptr, pIter uintptr, zMask uintptr) uintptr { /* sqlite3.c:205522:13: */ +func rbuObjIterGetSetlist(tls *libc.TLS, p uintptr, pIter uintptr, zMask uintptr) uintptr { /* sqlite3.c:205579:13: */ bp := tls.Alloc(112) defer tls.Free(112) @@ -165863,7 +165894,7 @@ func rbuObjIterGetSetlist(tls *libc.TLS, p uintptr, pIter uintptr, zMask uintptr // argument and NULL is returned. Or, if an error has already occurred // when this function is called, NULL is returned immediately, without // attempting the allocation or modifying the stored error code. -func rbuObjIterGetBindlist(tls *libc.TLS, p uintptr, nBind int32) uintptr { /* sqlite3.c:205576:13: */ +func rbuObjIterGetBindlist(tls *libc.TLS, p uintptr, nBind int32) uintptr { /* sqlite3.c:205633:13: */ var zRet uintptr = uintptr(0) var nByte Sqlite3_int64 = int64(2)*Sqlite3_int64(nBind) + int64(1) @@ -165893,7 +165924,7 @@ func rbuObjIterGetBindlist(tls *libc.TLS, p uintptr, nBind int32) uintptr { /* s // this function returns: // // PRIMARY KEY("b", "a" DESC) -func rbuWithoutRowidPK(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { /* sqlite3.c:205603:13: */ +func rbuWithoutRowidPK(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { /* sqlite3.c:205660:13: */ bp := tls.Alloc(64) defer tls.Free(64) @@ -165956,7 +165987,7 @@ func rbuWithoutRowidPK(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { /* sql // // CREATE TABLE rbu_imposter2(c1 TEXT, c2 REAL, id INTEGER) WITHOUT ROWID; // -func rbuCreateImposterTable2(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:205662:13: */ +func rbuCreateImposterTable2(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:205719:13: */ bp := tls.Alloc(176) defer tls.Free(176) @@ -166032,7 +166063,7 @@ func rbuCreateImposterTable2(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlit // More precisely, the "same schema" means the same columns, types, // collation sequences. For tables that do not have an external PRIMARY // KEY, it also means the same PRIMARY KEY declaration. -func rbuCreateImposterTable(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:205736:13: */ +func rbuCreateImposterTable(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:205793:13: */ bp := tls.Alloc(196) defer tls.Free(196) @@ -166096,7 +166127,7 @@ func rbuCreateImposterTable(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite // the target table, plus one (for the rbu_control column), plus one more // (for the rbu_rowid column) if the target table is an implicit IPK or // virtual table. -func rbuObjIterPrepareTmpInsert(tls *libc.TLS, p uintptr, pIter uintptr, zCollist uintptr, zRbuRowid uintptr) { /* sqlite3.c:205792:13: */ +func rbuObjIterPrepareTmpInsert(tls *libc.TLS, p uintptr, pIter uintptr, zCollist uintptr, zRbuRowid uintptr) { /* sqlite3.c:205849:13: */ bp := tls.Alloc(40) defer tls.Free(40) @@ -166111,7 +166142,7 @@ func rbuObjIterPrepareTmpInsert(tls *libc.TLS, p uintptr, pIter uintptr, zCollis } } -func rbuTmpInsertFunc(tls *libc.TLS, pCtx uintptr, nVal int32, apVal uintptr) { /* sqlite3.c:205810:13: */ +func rbuTmpInsertFunc(tls *libc.TLS, pCtx uintptr, nVal int32, apVal uintptr) { /* sqlite3.c:205867:13: */ var p uintptr = Xsqlite3_user_data(tls, pCtx) var rc int32 = SQLITE_OK var i int32 @@ -166133,7 +166164,7 @@ func rbuTmpInsertFunc(tls *libc.TLS, pCtx uintptr, nVal int32, apVal uintptr) { } } -func rbuObjIterGetIndexWhere(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { /* sqlite3.c:205840:13: */ +func rbuObjIterGetIndexWhere(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { /* sqlite3.c:205897:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -166241,7 +166272,7 @@ func rbuObjIterGetIndexWhere(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { // Ensure that the SQLite statement handles required to update the // target database object currently indicated by the iterator passed // as the second argument are available. -func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32) int32 { /* sqlite3.c:205940:12: */ +func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32) int32 { /* sqlite3.c:205997:12: */ bp := tls.Alloc(616) defer tls.Free(616) @@ -166516,7 +166547,7 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32 // // If the zMask string does not specify any columns to update, then this // is not an error. Output variable *ppStmt is set to NULL in this case. -func rbuGetUpdateStmt(tls *libc.TLS, p uintptr, pIter uintptr, zMask uintptr, ppStmt uintptr) int32 { /* sqlite3.c:206207:12: */ +func rbuGetUpdateStmt(tls *libc.TLS, p uintptr, pIter uintptr, zMask uintptr, ppStmt uintptr) int32 { /* sqlite3.c:206264:12: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -166582,7 +166613,7 @@ func rbuGetUpdateStmt(tls *libc.TLS, p uintptr, pIter uintptr, zMask uintptr, pp return (*Sqlite3rbu)(unsafe.Pointer(p)).Frc } -func rbuOpenDbhandle(tls *libc.TLS, p uintptr, zName uintptr, bUseVfs int32) uintptr { /* sqlite3.c:206275:16: */ +func rbuOpenDbhandle(tls *libc.TLS, p uintptr, zName uintptr, bUseVfs int32) uintptr { /* sqlite3.c:206332:16: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -166605,7 +166636,7 @@ func rbuOpenDbhandle(tls *libc.TLS, p uintptr, zName uintptr, bUseVfs int32) uin } // Free an RbuState object allocated by rbuLoadState(). -func rbuFreeState(tls *libc.TLS, p uintptr) { /* sqlite3.c:206296:13: */ +func rbuFreeState(tls *libc.TLS, p uintptr) { /* sqlite3.c:206353:13: */ if p != 0 { Xsqlite3_free(tls, (*RbuState)(unsafe.Pointer(p)).FzTbl) Xsqlite3_free(tls, (*RbuState)(unsafe.Pointer(p)).FzDataTbl) @@ -166621,7 +166652,7 @@ func rbuFreeState(tls *libc.TLS, p uintptr) { /* sqlite3.c:206296:13: */ // // If an error occurs, leave an error code and message in the rbu handle // and return NULL. -func rbuLoadState(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:206314:17: */ +func rbuLoadState(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:206371:17: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -166705,7 +166736,7 @@ func rbuLoadState(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:206314:17: */ // If argument dbMain is not NULL, then it is a database handle already // open on the target database. Use this handle instead of opening a new // one. -func rbuOpenDatabase(tls *libc.TLS, p uintptr, dbMain uintptr, pbRetry uintptr) { /* sqlite3.c:206395:13: */ +func rbuOpenDatabase(tls *libc.TLS, p uintptr, dbMain uintptr, pbRetry uintptr) { /* sqlite3.c:206452:13: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -166867,7 +166898,7 @@ func rbuOpenDatabase(tls *libc.TLS, p uintptr, dbMain uintptr, pbRetry uintptr) // test.db-wal => test.wal // test.db-shm => test.shm // test.db-mj7f3319fa => test.9fa -func rbuFileSuffix3(tls *libc.TLS, zBase uintptr, z uintptr) { /* sqlite3.c:206576:13: */ +func rbuFileSuffix3(tls *libc.TLS, zBase uintptr, z uintptr) { /* sqlite3.c:206633:13: */ } // Return the current wal-index header checksum for the target database @@ -166875,7 +166906,7 @@ func rbuFileSuffix3(tls *libc.TLS, zBase uintptr, z uintptr) { /* sqlite3.c:2065 // // The checksum is store in the first page of xShmMap memory as an 8-byte // blob starting at byte offset 40. -func rbuShmChecksum(tls *libc.TLS, p uintptr) I64 { /* sqlite3.c:206597:12: */ +func rbuShmChecksum(tls *libc.TLS, p uintptr) I64 { /* sqlite3.c:206654:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -166908,7 +166939,7 @@ func rbuShmChecksum(tls *libc.TLS, p uintptr) I64 { /* sqlite3.c:206597:12: */ // object, then the rbu handle is set to DONE state. This occurs if some // other client appends a transaction to the wal file in the middle of // an incremental checkpoint. -func rbuSetupCheckpoint(tls *libc.TLS, p uintptr, pState uintptr) { /* sqlite3.c:206626:13: */ +func rbuSetupCheckpoint(tls *libc.TLS, p uintptr, pState uintptr) { /* sqlite3.c:206683:13: */ // If pState is NULL, then the wal file may not have been opened and // recovered. Running a read-statement here to ensure that doing so @@ -167000,7 +167031,7 @@ func rbuSetupCheckpoint(tls *libc.TLS, p uintptr, pState uintptr) { /* sqlite3.c // Called when iAmt bytes are read from offset iOff of the wal file while // the rbu object is in capture mode. Record the frame number of the frame // being read in the aFrame[] array. -func rbuCaptureWalRead(tls *libc.TLS, pRbu uintptr, iOff I64, iAmt int32) int32 { /* sqlite3.c:206710:12: */ +func rbuCaptureWalRead(tls *libc.TLS, pRbu uintptr, iOff I64, iAmt int32) int32 { /* sqlite3.c:206767:12: */ var mReq U32 = U32(int32(1)<dbMain to one more than the schema cookie of the main // db opened by p->dbRbu. -func rbuIncrSchemaCookie(tls *libc.TLS, p uintptr) { /* sqlite3.c:207135:13: */ +func rbuIncrSchemaCookie(tls *libc.TLS, p uintptr) { /* sqlite3.c:207192:13: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -167407,7 +167438,7 @@ func rbuIncrSchemaCookie(tls *libc.TLS, p uintptr) { /* sqlite3.c:207135:13: */ // Update the contents of the rbu_state table within the rbu database. The // value stored in the RBU_STATE_STAGE column is eStage. All other values // are determined by inspecting the rbu handle passed as the first argument. -func rbuSaveState(tls *libc.TLS, p uintptr, eStage int32) { /* sqlite3.c:207166:13: */ +func rbuSaveState(tls *libc.TLS, p uintptr, eStage int32) { /* sqlite3.c:207223:13: */ bp := tls.Alloc(172) defer tls.Free(172) @@ -167462,7 +167493,7 @@ func rbuSaveState(tls *libc.TLS, p uintptr, eStage int32) { /* sqlite3.c:207166: // // In short, it copies the value of the specified PRAGMA setting from // dbRbu to dbMain. -func rbuCopyPragma(tls *libc.TLS, p uintptr, zPragma uintptr) { /* sqlite3.c:207227:13: */ +func rbuCopyPragma(tls *libc.TLS, p uintptr, zPragma uintptr) { /* sqlite3.c:207284:13: */ bp := tls.Alloc(28) defer tls.Free(28) @@ -167481,7 +167512,7 @@ func rbuCopyPragma(tls *libc.TLS, p uintptr, zPragma uintptr) { /* sqlite3.c:207 // The RBU handle passed as the only argument has just been opened and // the state database is empty. If this RBU handle was opened for an // RBU vacuum operation, create the schema in the target db. -func rbuCreateTargetSchema(tls *libc.TLS, p uintptr) { /* sqlite3.c:207247:13: */ +func rbuCreateTargetSchema(tls *libc.TLS, p uintptr) { /* sqlite3.c:207304:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -167531,7 +167562,7 @@ func rbuCreateTargetSchema(tls *libc.TLS, p uintptr) { /* sqlite3.c:207247:13: * } // Step the RBU object. -func Xsqlite3rbu_step(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:207299:16: */ +func Xsqlite3rbu_step(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:207356:16: */ bp := tls.Alloc(20) defer tls.Free(20) @@ -167674,7 +167705,7 @@ func Xsqlite3rbu_step(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:207299:16: // Compare strings z1 and z2, returning 0 if they are identical, or non-zero // otherwise. Either or both argument may be NULL. Two NULL values are // considered equal, and NULL is considered distinct from all other values. -func rbuStrCompare(tls *libc.TLS, z1 uintptr, z2 uintptr) int32 { /* sqlite3.c:207428:12: */ +func rbuStrCompare(tls *libc.TLS, z1 uintptr, z2 uintptr) int32 { /* sqlite3.c:207485:12: */ if z1 == uintptr(0) && z2 == uintptr(0) { return 0 } @@ -167692,7 +167723,7 @@ func rbuStrCompare(tls *libc.TLS, z1 uintptr, z2 uintptr) int32 { /* sqlite3.c:2 // // If an error occurs, an error code and error message are left in the // rbu handle passed as the first argument. -func rbuSetupOal(tls *libc.TLS, p uintptr, pState uintptr) { /* sqlite3.c:207444:13: */ +func rbuSetupOal(tls *libc.TLS, p uintptr, pState uintptr) { /* sqlite3.c:207501:13: */ if (*RbuState)(unsafe.Pointer(pState)).FzTbl != 0 { var pIter uintptr = p + 48 @@ -167722,7 +167753,7 @@ func rbuSetupOal(tls *libc.TLS, p uintptr, pState uintptr) { /* sqlite3.c:207444 // If there is a "*-oal" file in the file-system corresponding to the // target database in the file-system, delete it. If an error occurs, // leave an error code and error message in the rbu handle. -func rbuDeleteOalFile(tls *libc.TLS, p uintptr) { /* sqlite3.c:207477:13: */ +func rbuDeleteOalFile(tls *libc.TLS, p uintptr) { /* sqlite3.c:207534:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -167741,7 +167772,7 @@ func rbuDeleteOalFile(tls *libc.TLS, p uintptr) { /* sqlite3.c:207477:13: */ // argument. This VFS will be used unless the call to sqlite3rbu_open() // specified a URI with a vfs=? option in place of a target database // file name. -func rbuCreateVfs(tls *libc.TLS, p uintptr) { /* sqlite3.c:207493:13: */ +func rbuCreateVfs(tls *libc.TLS, p uintptr) { /* sqlite3.c:207550:13: */ bp := tls.Alloc(76) defer tls.Free(76) @@ -167762,7 +167793,7 @@ func rbuCreateVfs(tls *libc.TLS, p uintptr) { /* sqlite3.c:207493:13: */ // Destroy the private VFS created for the rbu handle passed as the only // argument by an earlier call to rbuCreateVfs(). -func rbuDeleteVfs(tls *libc.TLS, p uintptr) { /* sqlite3.c:207513:13: */ +func rbuDeleteVfs(tls *libc.TLS, p uintptr) { /* sqlite3.c:207570:13: */ if (*Sqlite3rbu)(unsafe.Pointer(p)).FzVfsName != 0 { Xsqlite3rbu_destroy_vfs(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FzVfsName) (*Sqlite3rbu)(unsafe.Pointer(p)).FzVfsName = uintptr(0) @@ -167772,7 +167803,7 @@ func rbuDeleteVfs(tls *libc.TLS, p uintptr) { /* sqlite3.c:207513:13: */ // This user-defined SQL function is invoked with a single argument - the // name of a table expected to appear in the target database. It returns // the number of auxilliary indexes on the table. -func rbuIndexCntFunc(tls *libc.TLS, pCtx uintptr, nVal int32, apVal uintptr) { /* sqlite3.c:207525:13: */ +func rbuIndexCntFunc(tls *libc.TLS, pCtx uintptr, nVal int32, apVal uintptr) { /* sqlite3.c:207582:13: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -167821,7 +167852,7 @@ func rbuIndexCntFunc(tls *libc.TLS, pCtx uintptr, nVal int32, apVal uintptr) { / // sqlite3rbu.nPhaseOneStep is initialized to the sum of (1 + nIndex) * cnt // for all rows in the rbu_count table, where nIndex is the number of // indexes on the corresponding target database table. -func rbuInitPhaseOneSteps(tls *libc.TLS, p uintptr) { /* sqlite3.c:207575:13: */ +func rbuInitPhaseOneSteps(tls *libc.TLS, p uintptr) { /* sqlite3.c:207632:13: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -167863,7 +167894,7 @@ func rbuInitPhaseOneSteps(tls *libc.TLS, p uintptr) { /* sqlite3.c:207575:13: */ } } -func openRbuHandle(tls *libc.TLS, zTarget uintptr, zRbu uintptr, zState uintptr) uintptr { /* sqlite3.c:207616:19: */ +func openRbuHandle(tls *libc.TLS, zTarget uintptr, zRbu uintptr, zState uintptr) uintptr { /* sqlite3.c:207673:19: */ bp := tls.Alloc(20) defer tls.Free(20) @@ -168036,7 +168067,7 @@ func openRbuHandle(tls *libc.TLS, zTarget uintptr, zRbu uintptr, zState uintptr) // Allocate and return an RBU handle with all fields zeroed except for the // error code, which is set to SQLITE_MISUSE. -func rbuMisuseError(tls *libc.TLS) uintptr { /* sqlite3.c:207780:19: */ +func rbuMisuseError(tls *libc.TLS) uintptr { /* sqlite3.c:207837:19: */ var pRet uintptr pRet = Xsqlite3_malloc64(tls, uint64(unsafe.Sizeof(Sqlite3rbu{}))) if pRet != 0 { @@ -168047,7 +168078,7 @@ func rbuMisuseError(tls *libc.TLS) uintptr { /* sqlite3.c:207780:19: */ } // Open and return a new RBU handle. -func Xsqlite3rbu_open(tls *libc.TLS, zTarget uintptr, zRbu uintptr, zState uintptr) uintptr { /* sqlite3.c:207793:23: */ +func Xsqlite3rbu_open(tls *libc.TLS, zTarget uintptr, zRbu uintptr, zState uintptr) uintptr { /* sqlite3.c:207850:23: */ if zTarget == uintptr(0) || zRbu == uintptr(0) { return rbuMisuseError(tls) } @@ -168055,7 +168086,7 @@ func Xsqlite3rbu_open(tls *libc.TLS, zTarget uintptr, zRbu uintptr, zState uintp } // Open a handle to begin or resume an RBU VACUUM operation. -func Xsqlite3rbu_vacuum(tls *libc.TLS, zTarget uintptr, zState uintptr) uintptr { /* sqlite3.c:207805:23: */ +func Xsqlite3rbu_vacuum(tls *libc.TLS, zTarget uintptr, zState uintptr) uintptr { /* sqlite3.c:207862:23: */ if zTarget == uintptr(0) { return rbuMisuseError(tls) } @@ -168070,7 +168101,7 @@ func Xsqlite3rbu_vacuum(tls *libc.TLS, zTarget uintptr, zState uintptr) uintptr } // Return the database handle used by pRbu. -func Xsqlite3rbu_db(tls *libc.TLS, pRbu uintptr, bRbu int32) uintptr { /* sqlite3.c:207823:20: */ +func Xsqlite3rbu_db(tls *libc.TLS, pRbu uintptr, bRbu int32) uintptr { /* sqlite3.c:207880:20: */ var db uintptr = uintptr(0) if pRbu != 0 { db = func() uintptr { @@ -168086,7 +168117,7 @@ func Xsqlite3rbu_db(tls *libc.TLS, pRbu uintptr, bRbu int32) uintptr { /* sqlite // If the error code currently stored in the RBU handle is SQLITE_CONSTRAINT, // then edit any error message string so as to remove all occurrences of // the pattern "rbu_imp_[0-9]*". -func rbuEditErrmsg(tls *libc.TLS, p uintptr) { /* sqlite3.c:207837:13: */ +func rbuEditErrmsg(tls *libc.TLS, p uintptr) { /* sqlite3.c:207894:13: */ if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_CONSTRAINT && (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg != 0 { var i uint32 var nErrmsg Size_t = libc.Xstrlen(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg) @@ -168104,7 +168135,7 @@ func rbuEditErrmsg(tls *libc.TLS, p uintptr) { /* sqlite3.c:207837:13: */ } // Close the RBU handle. -func Xsqlite3rbu_close(tls *libc.TLS, p uintptr, pzErrmsg uintptr) int32 { /* sqlite3.c:207855:16: */ +func Xsqlite3rbu_close(tls *libc.TLS, p uintptr, pzErrmsg uintptr) int32 { /* sqlite3.c:207912:16: */ var rc int32 if p != 0 { @@ -168169,13 +168200,13 @@ func Xsqlite3rbu_close(tls *libc.TLS, p uintptr, pzErrmsg uintptr) int32 { /* sq // Return the total number of key-value operations (inserts, deletes or // updates) that have been performed on the target database since the // current RBU update was started. -func Xsqlite3rbu_progress(tls *libc.TLS, pRbu uintptr) Sqlite3_int64 { /* sqlite3.c:207918:26: */ +func Xsqlite3rbu_progress(tls *libc.TLS, pRbu uintptr) Sqlite3_int64 { /* sqlite3.c:207975:26: */ return Sqlite3_int64((*Sqlite3rbu)(unsafe.Pointer(pRbu)).FnProgress) } // Return permyriadage progress indications for the two main stages of // an RBU update. -func Xsqlite3rbu_bp_progress(tls *libc.TLS, p uintptr, pnOne uintptr, pnTwo uintptr) { /* sqlite3.c:207926:17: */ +func Xsqlite3rbu_bp_progress(tls *libc.TLS, p uintptr, pnOne uintptr, pnTwo uintptr) { /* sqlite3.c:207983:17: */ var MAX_PROGRESS int32 = 10000 switch (*Sqlite3rbu)(unsafe.Pointer(p)).FeStage { case RBU_STAGE_OAL: @@ -168208,7 +168239,7 @@ func Xsqlite3rbu_bp_progress(tls *libc.TLS, p uintptr, pnOne uintptr, pnTwo uint } // Return the current state of the RBU vacuum or update operation. -func Xsqlite3rbu_state(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:207961:16: */ +func Xsqlite3rbu_state(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:208018:16: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -168226,7 +168257,7 @@ func Xsqlite3rbu_state(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:207961:16: return int32(0) } -func Xsqlite3rbu_savestate(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:207989:16: */ +func Xsqlite3rbu_savestate(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:208046:16: */ var rc int32 = (*Sqlite3rbu)(unsafe.Pointer(p)).Frc if rc == SQLITE_DONE { return SQLITE_OK @@ -168333,7 +168364,7 @@ func Xsqlite3rbu_savestate(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:207989 // relinquished). Finally, calls to xSync() on the target database // file fail with SQLITE_INTERNAL errors. -func rbuUnlockShm(tls *libc.TLS, p uintptr) { /* sqlite3.c:208082:13: */ +func rbuUnlockShm(tls *libc.TLS, p uintptr) { /* sqlite3.c:208139:13: */ if (*Rbu_file)(unsafe.Pointer(p)).FpRbu != 0 { var xShmLock uintptr = (*sqlite3_io_methods)(unsafe.Pointer((*Sqlite3_file)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer(p)).FpReal)).FpMethods)).FxShmLock @@ -168350,7 +168381,7 @@ func rbuUnlockShm(tls *libc.TLS, p uintptr) { /* sqlite3.c:208082:13: */ } // -func rbuUpdateTempSize(tls *libc.TLS, pFd uintptr, nNew Sqlite3_int64) int32 { /* sqlite3.c:208098:12: */ +func rbuUpdateTempSize(tls *libc.TLS, pFd uintptr, nNew Sqlite3_int64) int32 { /* sqlite3.c:208155:12: */ var pRbu uintptr = (*Rbu_file)(unsafe.Pointer(pFd)).FpRbu var nDiff I64 = nNew - (*Rbu_file)(unsafe.Pointer(pFd)).Fsz *(*I64)(unsafe.Pointer(pRbu + 224)) += nDiff @@ -168368,7 +168399,7 @@ func rbuUpdateTempSize(tls *libc.TLS, pFd uintptr, nNew Sqlite3_int64) int32 { / // for all file descriptors with rbu_file.pDb!=0. If the argument has // rbu_file.pDb!=0, then it is assumed to already be present on the // main list and is only added to the pDb!=0 list. -func rbuMainlistAdd(tls *libc.TLS, p uintptr) { /* sqlite3.c:208116:13: */ +func rbuMainlistAdd(tls *libc.TLS, p uintptr) { /* sqlite3.c:208173:13: */ var pRbuVfs uintptr = (*Rbu_file)(unsafe.Pointer(p)).FpRbuVfs var pIter uintptr @@ -168390,7 +168421,7 @@ func rbuMainlistAdd(tls *libc.TLS, p uintptr) { /* sqlite3.c:208116:13: */ } // Remove an item from the main-db lists. -func rbuMainlistRemove(tls *libc.TLS, p uintptr) { /* sqlite3.c:208138:13: */ +func rbuMainlistRemove(tls *libc.TLS, p uintptr) { /* sqlite3.c:208195:13: */ var pp uintptr Xsqlite3_mutex_enter(tls, (*Rbu_vfs)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer(p)).FpRbuVfs)).Fmutex) for pp = (*Rbu_file)(unsafe.Pointer(p)).FpRbuVfs + 100; *(*uintptr)(unsafe.Pointer(pp)) != 0 && *(*uintptr)(unsafe.Pointer(pp)) != p; pp = *(*uintptr)(unsafe.Pointer(pp)) + 56 { @@ -168415,7 +168446,7 @@ func rbuMainlistRemove(tls *libc.TLS, p uintptr) { /* sqlite3.c:208138:13: */ // // If parameter bRbu is true, only search for file-descriptors with // rbu_file.pDb!=0. -func rbuFindMaindb(tls *libc.TLS, pRbuVfs uintptr, zWal uintptr, bRbu int32) uintptr { /* sqlite3.c:208159:17: */ +func rbuFindMaindb(tls *libc.TLS, pRbuVfs uintptr, zWal uintptr, bRbu int32) uintptr { /* sqlite3.c:208216:17: */ var pDb uintptr Xsqlite3_mutex_enter(tls, (*Rbu_vfs)(unsafe.Pointer(pRbuVfs)).Fmutex) if bRbu != 0 { @@ -168430,7 +168461,7 @@ func rbuFindMaindb(tls *libc.TLS, pRbuVfs uintptr, zWal uintptr, bRbu int32) uin } // Close an rbu file. -func rbuVfsClose(tls *libc.TLS, pFile uintptr) int32 { /* sqlite3.c:208174:12: */ +func rbuVfsClose(tls *libc.TLS, pFile uintptr) int32 { /* sqlite3.c:208231:12: */ var p uintptr = pFile var rc int32 var i int32 @@ -168462,7 +168493,7 @@ func rbuVfsClose(tls *libc.TLS, pFile uintptr) int32 { /* sqlite3.c:208174:12: * // Read and return an unsigned 32-bit big-endian integer from the buffer // passed as the only argument. -func rbuGetU32(tls *libc.TLS, aBuf uintptr) U32 { /* sqlite3.c:208207:12: */ +func rbuGetU32(tls *libc.TLS, aBuf uintptr) U32 { /* sqlite3.c:208264:12: */ return U32(*(*U8)(unsafe.Pointer(aBuf)))<<24 + U32(*(*U8)(unsafe.Pointer(aBuf + 1)))<<16 + U32(*(*U8)(unsafe.Pointer(aBuf + 2)))<<8 + @@ -168471,20 +168502,20 @@ func rbuGetU32(tls *libc.TLS, aBuf uintptr) U32 { /* sqlite3.c:208207:12: */ // Write an unsigned 32-bit value in big-endian format to the supplied // buffer. -func rbuPutU32(tls *libc.TLS, aBuf uintptr, iVal U32) { /* sqlite3.c:208218:13: */ +func rbuPutU32(tls *libc.TLS, aBuf uintptr, iVal U32) { /* sqlite3.c:208275:13: */ *(*U8)(unsafe.Pointer(aBuf)) = U8(iVal >> 24 & U32(0xFF)) *(*U8)(unsafe.Pointer(aBuf + 1)) = U8(iVal >> 16 & U32(0xFF)) *(*U8)(unsafe.Pointer(aBuf + 2)) = U8(iVal >> 8 & U32(0xFF)) *(*U8)(unsafe.Pointer(aBuf + 3)) = U8(iVal >> 0 & U32(0xFF)) } -func rbuPutU16(tls *libc.TLS, aBuf uintptr, iVal U16) { /* sqlite3.c:208225:13: */ +func rbuPutU16(tls *libc.TLS, aBuf uintptr, iVal U16) { /* sqlite3.c:208282:13: */ *(*U8)(unsafe.Pointer(aBuf)) = U8(int32(iVal) >> 8 & 0xFF) *(*U8)(unsafe.Pointer(aBuf + 1)) = U8(int32(iVal) >> 0 & 0xFF) } // Read data from an rbuVfs-file. -func rbuVfsRead(tls *libc.TLS, pFile uintptr, zBuf uintptr, iAmt int32, iOfst Sqlite_int64) int32 { /* sqlite3.c:208233:12: */ +func rbuVfsRead(tls *libc.TLS, pFile uintptr, zBuf uintptr, iAmt int32, iOfst Sqlite_int64) int32 { /* sqlite3.c:208290:12: */ var p uintptr = pFile var pRbu uintptr = (*Rbu_file)(unsafe.Pointer(p)).FpRbu var rc int32 @@ -168548,7 +168579,7 @@ func rbuVfsRead(tls *libc.TLS, pFile uintptr, zBuf uintptr, iAmt int32, iOfst Sq } // Write data to an rbuVfs-file. -func rbuVfsWrite(tls *libc.TLS, pFile uintptr, zBuf uintptr, iAmt int32, iOfst Sqlite_int64) int32 { /* sqlite3.c:208299:12: */ +func rbuVfsWrite(tls *libc.TLS, pFile uintptr, zBuf uintptr, iAmt int32, iOfst Sqlite_int64) int32 { /* sqlite3.c:208356:12: */ var p uintptr = pFile var pRbu uintptr = (*Rbu_file)(unsafe.Pointer(p)).FpRbu var rc int32 @@ -168587,7 +168618,7 @@ func rbuVfsWrite(tls *libc.TLS, pFile uintptr, zBuf uintptr, iAmt int32, iOfst S } // Truncate an rbuVfs-file. -func rbuVfsTruncate(tls *libc.TLS, pFile uintptr, size Sqlite_int64) int32 { /* sqlite3.c:208342:12: */ +func rbuVfsTruncate(tls *libc.TLS, pFile uintptr, size Sqlite_int64) int32 { /* sqlite3.c:208399:12: */ var p uintptr = pFile if (*Rbu_file)(unsafe.Pointer(p)).FopenFlags&SQLITE_OPEN_DELETEONCLOSE != 0 && (*Rbu_file)(unsafe.Pointer(p)).FpRbu != 0 { var rc int32 = rbuUpdateTempSize(tls, p, size) @@ -168601,7 +168632,7 @@ func rbuVfsTruncate(tls *libc.TLS, pFile uintptr, size Sqlite_int64) int32 { /* } // Sync an rbuVfs-file. -func rbuVfsSync(tls *libc.TLS, pFile uintptr, flags int32) int32 { /* sqlite3.c:208354:12: */ +func rbuVfsSync(tls *libc.TLS, pFile uintptr, flags int32) int32 { /* sqlite3.c:208411:12: */ var p uintptr = pFile if (*Rbu_file)(unsafe.Pointer(p)).FpRbu != 0 && (*Sqlite3rbu)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer(p)).FpRbu)).FeStage == RBU_STAGE_CAPTURE { if (*Rbu_file)(unsafe.Pointer(p)).FopenFlags&SQLITE_OPEN_MAIN_DB != 0 { @@ -168615,7 +168646,7 @@ func rbuVfsSync(tls *libc.TLS, pFile uintptr, flags int32) int32 { /* sqlite3.c: } // Return the current file-size of an rbuVfs-file. -func rbuVfsFileSize(tls *libc.TLS, pFile uintptr, pSize uintptr) int32 { /* sqlite3.c:208368:12: */ +func rbuVfsFileSize(tls *libc.TLS, pFile uintptr, pSize uintptr) int32 { /* sqlite3.c:208425:12: */ var p uintptr = pFile var rc int32 rc = (*struct { @@ -168635,7 +168666,7 @@ func rbuVfsFileSize(tls *libc.TLS, pFile uintptr, pSize uintptr) int32 { /* sqli } // Lock an rbuVfs-file. -func rbuVfsLock(tls *libc.TLS, pFile uintptr, eLock int32) int32 { /* sqlite3.c:208389:12: */ +func rbuVfsLock(tls *libc.TLS, pFile uintptr, eLock int32) int32 { /* sqlite3.c:208446:12: */ var p uintptr = pFile var pRbu uintptr = (*Rbu_file)(unsafe.Pointer(p)).FpRbu var rc int32 = SQLITE_OK @@ -168655,7 +168686,7 @@ func rbuVfsLock(tls *libc.TLS, pFile uintptr, eLock int32) int32 { /* sqlite3.c: } // Unlock an rbuVfs-file. -func rbuVfsUnlock(tls *libc.TLS, pFile uintptr, eLock int32) int32 { /* sqlite3.c:208411:12: */ +func rbuVfsUnlock(tls *libc.TLS, pFile uintptr, eLock int32) int32 { /* sqlite3.c:208468:12: */ var p uintptr = pFile return (*struct { f func(*libc.TLS, uintptr, int32) int32 @@ -168663,7 +168694,7 @@ func rbuVfsUnlock(tls *libc.TLS, pFile uintptr, eLock int32) int32 { /* sqlite3. } // Check if another file-handle holds a RESERVED lock on an rbuVfs-file. -func rbuVfsCheckReservedLock(tls *libc.TLS, pFile uintptr, pResOut uintptr) int32 { /* sqlite3.c:208419:12: */ +func rbuVfsCheckReservedLock(tls *libc.TLS, pFile uintptr, pResOut uintptr) int32 { /* sqlite3.c:208476:12: */ var p uintptr = pFile return (*struct { f func(*libc.TLS, uintptr, uintptr) int32 @@ -168671,7 +168702,7 @@ func rbuVfsCheckReservedLock(tls *libc.TLS, pFile uintptr, pResOut uintptr) int3 } // File control method. For custom operations on an rbuVfs-file. -func rbuVfsFileControl(tls *libc.TLS, pFile uintptr, op int32, pArg uintptr) int32 { /* sqlite3.c:208427:12: */ +func rbuVfsFileControl(tls *libc.TLS, pFile uintptr, op int32, pArg uintptr) int32 { /* sqlite3.c:208484:12: */ bp := tls.Alloc(20) defer tls.Free(20) @@ -168734,7 +168765,7 @@ func rbuVfsFileControl(tls *libc.TLS, pFile uintptr, op int32, pArg uintptr) int } // Return the sector-size in bytes for an rbuVfs-file. -func rbuVfsSectorSize(tls *libc.TLS, pFile uintptr) int32 { /* sqlite3.c:208483:12: */ +func rbuVfsSectorSize(tls *libc.TLS, pFile uintptr) int32 { /* sqlite3.c:208540:12: */ var p uintptr = pFile return (*struct { f func(*libc.TLS, uintptr) int32 @@ -168742,7 +168773,7 @@ func rbuVfsSectorSize(tls *libc.TLS, pFile uintptr) int32 { /* sqlite3.c:208483: } // Return the device characteristic flags supported by an rbuVfs-file. -func rbuVfsDeviceCharacteristics(tls *libc.TLS, pFile uintptr) int32 { /* sqlite3.c:208491:12: */ +func rbuVfsDeviceCharacteristics(tls *libc.TLS, pFile uintptr) int32 { /* sqlite3.c:208548:12: */ var p uintptr = pFile return (*struct { f func(*libc.TLS, uintptr) int32 @@ -168750,7 +168781,7 @@ func rbuVfsDeviceCharacteristics(tls *libc.TLS, pFile uintptr) int32 { /* sqlite } // Take or release a shared-memory lock. -func rbuVfsShmLock(tls *libc.TLS, pFile uintptr, ofst int32, n int32, flags int32) int32 { /* sqlite3.c:208499:12: */ +func rbuVfsShmLock(tls *libc.TLS, pFile uintptr, ofst int32, n int32, flags int32) int32 { /* sqlite3.c:208556:12: */ var p uintptr = pFile var pRbu uintptr = (*Rbu_file)(unsafe.Pointer(p)).FpRbu var rc int32 = SQLITE_OK @@ -168783,7 +168814,7 @@ func rbuVfsShmLock(tls *libc.TLS, pFile uintptr, ofst int32, n int32, flags int3 } // Obtain a pointer to a mapping of a single 32KiB page of the *-shm file. -func rbuVfsShmMap(tls *libc.TLS, pFile uintptr, iRegion int32, szRegion int32, isWrite int32, pp uintptr) int32 { /* sqlite3.c:208537:12: */ +func rbuVfsShmMap(tls *libc.TLS, pFile uintptr, iRegion int32, szRegion int32, isWrite int32, pp uintptr) int32 { /* sqlite3.c:208594:12: */ var p uintptr = pFile var rc int32 = SQLITE_OK var eStage int32 = func() int32 { @@ -168840,13 +168871,13 @@ func rbuVfsShmMap(tls *libc.TLS, pFile uintptr, iRegion int32, szRegion int32, i } // Memory barrier. -func rbuVfsShmBarrier(tls *libc.TLS, pFile uintptr) { /* sqlite3.c:208595:13: */ +func rbuVfsShmBarrier(tls *libc.TLS, pFile uintptr) { /* sqlite3.c:208652:13: */ var p uintptr = pFile (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods)(unsafe.Pointer((*Sqlite3_file)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer(p)).FpReal)).FpMethods)).FxShmBarrier})).f(tls, (*Rbu_file)(unsafe.Pointer(p)).FpReal) } // The xShmUnmap method. -func rbuVfsShmUnmap(tls *libc.TLS, pFile uintptr, delFlag int32) int32 { /* sqlite3.c:208603:12: */ +func rbuVfsShmUnmap(tls *libc.TLS, pFile uintptr, delFlag int32) int32 { /* sqlite3.c:208660:12: */ var p uintptr = pFile var rc int32 = SQLITE_OK var eStage int32 = func() int32 { @@ -168869,7 +168900,7 @@ func rbuVfsShmUnmap(tls *libc.TLS, pFile uintptr, delFlag int32) int32 { /* sqli } // Open an rbu file handle. -func rbuVfsOpen(tls *libc.TLS, pVfs uintptr, zName uintptr, pFile uintptr, flags int32, pOutFlags uintptr) int32 { /* sqlite3.c:208622:12: */ +func rbuVfsOpen(tls *libc.TLS, pVfs uintptr, zName uintptr, pFile uintptr, flags int32, pOutFlags uintptr) int32 { /* sqlite3.c:208679:12: */ var pRbuVfs uintptr = pVfs var pRealVfs uintptr = (*Rbu_vfs)(unsafe.Pointer(pRbuVfs)).FpRealVfs var pFd uintptr = pFile @@ -168955,10 +168986,10 @@ var rbuvfs_io_methods = Sqlite3_io_methods{ FxShmLock: 0, // xShmLock FxShmBarrier: 0, // xShmBarrier FxShmUnmap: 0, // xFetch, xUnfetch -} /* sqlite3.c:208629:29 */ +} /* sqlite3.c:208686:29 */ // Delete the file located at zPath. -func rbuVfsDelete(tls *libc.TLS, pVfs uintptr, zPath uintptr, dirSync int32) int32 { /* sqlite3.c:208720:12: */ +func rbuVfsDelete(tls *libc.TLS, pVfs uintptr, zPath uintptr, dirSync int32) int32 { /* sqlite3.c:208777:12: */ var pRealVfs uintptr = (*Rbu_vfs)(unsafe.Pointer(pVfs)).FpRealVfs return (*struct { f func(*libc.TLS, uintptr, uintptr, int32) int32 @@ -168967,7 +168998,7 @@ func rbuVfsDelete(tls *libc.TLS, pVfs uintptr, zPath uintptr, dirSync int32) int // Test for access permissions. Return true if the requested permission // is available, or false otherwise. -func rbuVfsAccess(tls *libc.TLS, pVfs uintptr, zPath uintptr, flags int32, pResOut uintptr) int32 { /* sqlite3.c:208729:12: */ +func rbuVfsAccess(tls *libc.TLS, pVfs uintptr, zPath uintptr, flags int32, pResOut uintptr) int32 { /* sqlite3.c:208786:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -169012,7 +169043,7 @@ func rbuVfsAccess(tls *libc.TLS, pVfs uintptr, zPath uintptr, flags int32, pResO // Populate buffer zOut with the full canonical pathname corresponding // to the pathname in zPath. zOut is guaranteed to point to a buffer // of at least (DEVSYM_MAX_PATHNAME+1) bytes. -func rbuVfsFullPathname(tls *libc.TLS, pVfs uintptr, zPath uintptr, nOut int32, zOut uintptr) int32 { /* sqlite3.c:208777:12: */ +func rbuVfsFullPathname(tls *libc.TLS, pVfs uintptr, zPath uintptr, nOut int32, zOut uintptr) int32 { /* sqlite3.c:208834:12: */ var pRealVfs uintptr = (*Rbu_vfs)(unsafe.Pointer(pVfs)).FpRealVfs return (*struct { f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 @@ -169020,7 +169051,7 @@ func rbuVfsFullPathname(tls *libc.TLS, pVfs uintptr, zPath uintptr, nOut int32, } // Open the dynamic library located at zPath and return a handle. -func rbuVfsDlOpen(tls *libc.TLS, pVfs uintptr, zPath uintptr) uintptr { /* sqlite3.c:208791:13: */ +func rbuVfsDlOpen(tls *libc.TLS, pVfs uintptr, zPath uintptr) uintptr { /* sqlite3.c:208848:13: */ var pRealVfs uintptr = (*Rbu_vfs)(unsafe.Pointer(pVfs)).FpRealVfs return (*struct { f func(*libc.TLS, uintptr, uintptr) uintptr @@ -169030,7 +169061,7 @@ func rbuVfsDlOpen(tls *libc.TLS, pVfs uintptr, zPath uintptr) uintptr { /* sqlit // Populate the buffer zErrMsg (size nByte bytes) with a human readable // utf-8 string describing the most recent error encountered associated // with dynamic libraries. -func rbuVfsDlError(tls *libc.TLS, pVfs uintptr, nByte int32, zErrMsg uintptr) { /* sqlite3.c:208801:13: */ +func rbuVfsDlError(tls *libc.TLS, pVfs uintptr, nByte int32, zErrMsg uintptr) { /* sqlite3.c:208858:13: */ var pRealVfs uintptr = (*Rbu_vfs)(unsafe.Pointer(pVfs)).FpRealVfs (*struct { f func(*libc.TLS, uintptr, int32, uintptr) @@ -169038,7 +169069,7 @@ func rbuVfsDlError(tls *libc.TLS, pVfs uintptr, nByte int32, zErrMsg uintptr) { } // Return a pointer to the symbol zSymbol in the dynamic library pHandle. -func rbuVfsDlSym(tls *libc.TLS, pVfs uintptr, pArg uintptr, zSym uintptr) uintptr { /* sqlite3.c:208809:13: */ +func rbuVfsDlSym(tls *libc.TLS, pVfs uintptr, pArg uintptr, zSym uintptr) uintptr { /* sqlite3.c:208866:13: */ var pRealVfs uintptr = (*Rbu_vfs)(unsafe.Pointer(pVfs)).FpRealVfs return (*struct { f func(*libc.TLS, uintptr, uintptr, uintptr) uintptr @@ -169046,7 +169077,7 @@ func rbuVfsDlSym(tls *libc.TLS, pVfs uintptr, pArg uintptr, zSym uintptr) uintpt } // Close the dynamic library handle pHandle. -func rbuVfsDlClose(tls *libc.TLS, pVfs uintptr, pHandle uintptr) { /* sqlite3.c:208821:13: */ +func rbuVfsDlClose(tls *libc.TLS, pVfs uintptr, pHandle uintptr) { /* sqlite3.c:208878:13: */ var pRealVfs uintptr = (*Rbu_vfs)(unsafe.Pointer(pVfs)).FpRealVfs (*struct { f func(*libc.TLS, uintptr, uintptr) @@ -169055,7 +169086,7 @@ func rbuVfsDlClose(tls *libc.TLS, pVfs uintptr, pHandle uintptr) { /* sqlite3.c: // Populate the buffer pointed to by zBufOut with nByte bytes of // random data. -func rbuVfsRandomness(tls *libc.TLS, pVfs uintptr, nByte int32, zBufOut uintptr) int32 { /* sqlite3.c:208831:12: */ +func rbuVfsRandomness(tls *libc.TLS, pVfs uintptr, nByte int32, zBufOut uintptr) int32 { /* sqlite3.c:208888:12: */ var pRealVfs uintptr = (*Rbu_vfs)(unsafe.Pointer(pVfs)).FpRealVfs return (*struct { f func(*libc.TLS, uintptr, int32, uintptr) int32 @@ -169064,7 +169095,7 @@ func rbuVfsRandomness(tls *libc.TLS, pVfs uintptr, nByte int32, zBufOut uintptr) // Sleep for nMicro microseconds. Return the number of microseconds // actually slept. -func rbuVfsSleep(tls *libc.TLS, pVfs uintptr, nMicro int32) int32 { /* sqlite3.c:208840:12: */ +func rbuVfsSleep(tls *libc.TLS, pVfs uintptr, nMicro int32) int32 { /* sqlite3.c:208897:12: */ var pRealVfs uintptr = (*Rbu_vfs)(unsafe.Pointer(pVfs)).FpRealVfs return (*struct { f func(*libc.TLS, uintptr, int32) int32 @@ -169072,7 +169103,7 @@ func rbuVfsSleep(tls *libc.TLS, pVfs uintptr, nMicro int32) int32 { /* sqlite3.c } // Return the current time as a Julian Day number in *pTimeOut. -func rbuVfsCurrentTime(tls *libc.TLS, pVfs uintptr, pTimeOut uintptr) int32 { /* sqlite3.c:208848:12: */ +func rbuVfsCurrentTime(tls *libc.TLS, pVfs uintptr, pTimeOut uintptr) int32 { /* sqlite3.c:208905:12: */ var pRealVfs uintptr = (*Rbu_vfs)(unsafe.Pointer(pVfs)).FpRealVfs return (*struct { f func(*libc.TLS, uintptr, uintptr) int32 @@ -169080,13 +169111,13 @@ func rbuVfsCurrentTime(tls *libc.TLS, pVfs uintptr, pTimeOut uintptr) int32 { /* } // No-op. -func rbuVfsGetLastError(tls *libc.TLS, pVfs uintptr, a int32, b uintptr) int32 { /* sqlite3.c:208856:12: */ +func rbuVfsGetLastError(tls *libc.TLS, pVfs uintptr, a int32, b uintptr) int32 { /* sqlite3.c:208913:12: */ return 0 } // Deregister and destroy an RBU vfs created by an earlier call to // sqlite3rbu_create_vfs(). -func Xsqlite3rbu_destroy_vfs(tls *libc.TLS, zName uintptr) { /* sqlite3.c:208864:17: */ +func Xsqlite3rbu_destroy_vfs(tls *libc.TLS, zName uintptr) { /* sqlite3.c:208921:17: */ var pVfs uintptr = Xsqlite3_vfs_find(tls, zName) if pVfs != 0 && (*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FxOpen == *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32 @@ -169100,7 +169131,7 @@ func Xsqlite3rbu_destroy_vfs(tls *libc.TLS, zName uintptr) { /* sqlite3.c:208864 // Create an RBU VFS named zName that accesses the underlying file-system // via existing VFS zParent. The new object is registered as a non-default // VFS with SQLite before returning. -func Xsqlite3rbu_create_vfs(tls *libc.TLS, zName uintptr, zParent uintptr) int32 { /* sqlite3.c:208878:16: */ +func Xsqlite3rbu_create_vfs(tls *libc.TLS, zName uintptr, zParent uintptr) int32 { /* sqlite3.c:208935:16: */ var pNew uintptr = uintptr(0) // Newly allocated VFS var rc int32 = SQLITE_OK @@ -169161,17 +169192,17 @@ var vfs_template = Sqlite3_vfs{ FxSleep: 0, // xSleep FxCurrentTime: 0, // xCurrentTime FxGetLastError: 0, // Unimplemented version 3 methods -} /* sqlite3.c:208881:22 */ +} /* sqlite3.c:208938:22 */ // Configure the aggregate temp file size limit for this RBU handle. -func Xsqlite3rbu_temp_size_limit(tls *libc.TLS, pRbu uintptr, n Sqlite3_int64) Sqlite3_int64 { /* sqlite3.c:208956:26: */ +func Xsqlite3rbu_temp_size_limit(tls *libc.TLS, pRbu uintptr, n Sqlite3_int64) Sqlite3_int64 { /* sqlite3.c:209013:26: */ if n >= int64(0) { (*Sqlite3rbu)(unsafe.Pointer(pRbu)).FszTempLimit = n } return (*Sqlite3rbu)(unsafe.Pointer(pRbu)).FszTempLimit } -func Xsqlite3rbu_temp_size(tls *libc.TLS, pRbu uintptr) Sqlite3_int64 { /* sqlite3.c:208963:26: */ +func Xsqlite3rbu_temp_size(tls *libc.TLS, pRbu uintptr) Sqlite3_int64 { /* sqlite3.c:209020:26: */ return (*Sqlite3rbu)(unsafe.Pointer(pRbu)).FszTemp } @@ -169325,7 +169356,7 @@ type SessionTable1 = struct { // #include // #include -type SessionTable = SessionTable1 /* sqlite3.c:210308:29 */ +type SessionTable = SessionTable1 /* sqlite3.c:210365:29 */ type SessionChange1 = struct { Fop U8 FbIndirect U8 @@ -169336,14 +169367,14 @@ type SessionChange1 = struct { FpNext uintptr } /* sqlite3.c:10832:9 */ -type SessionChange = SessionChange1 /* sqlite3.c:210309:30 */ +type SessionChange = SessionChange1 /* sqlite3.c:210366:30 */ type SessionBuffer1 = struct { FaBuf uintptr FnBuf int32 FnAlloc int32 } /* sqlite3.c:10840:9 */ -type SessionBuffer = SessionBuffer1 /* sqlite3.c:210310:30 */ +type SessionBuffer = SessionBuffer1 /* sqlite3.c:210367:30 */ type SessionInput1 = struct { FbNoDiscard int32 FiCurrent int32 @@ -169356,11 +169387,11 @@ type SessionInput1 = struct { FbEof int32 } /* sqlite3.c:10840:9 */ -type SessionInput = SessionInput1 /* sqlite3.c:210311:29 */ +type SessionInput = SessionInput1 /* sqlite3.c:210368:29 */ // Minimum chunk size used by streaming versions of functions. -var sessions_strm_chunk_size int32 = SESSIONS_STRM_CHUNK_SIZE /* sqlite3.c:210324:12 */ +var sessions_strm_chunk_size int32 = SESSIONS_STRM_CHUNK_SIZE /* sqlite3.c:210381:12 */ type SessionHook1 = struct { FpCtx uintptr @@ -169370,11 +169401,11 @@ type SessionHook1 = struct { FxDepth uintptr } /* sqlite3.c:10832:9 */ -type SessionHook = SessionHook1 /* sqlite3.c:210326:28 */ +type SessionHook = SessionHook1 /* sqlite3.c:210383:28 */ // Write a varint with value iVal into the buffer at aBuf. Return the // number of bytes written. -func sessionVarintPut(tls *libc.TLS, aBuf uintptr, iVal int32) int32 { /* sqlite3.c:210604:12: */ +func sessionVarintPut(tls *libc.TLS, aBuf uintptr, iVal int32) int32 { /* sqlite3.c:210661:12: */ return int32(func() uint8 { if U32(iVal) < U32(0x80) { return uint8(func() int32 { *(*U8)(unsafe.Pointer(aBuf)) = uint8(iVal); return 1 }()) @@ -169384,13 +169415,13 @@ func sessionVarintPut(tls *libc.TLS, aBuf uintptr, iVal int32) int32 { /* sqlite } // Return the number of bytes required to store value iVal as a varint. -func sessionVarintLen(tls *libc.TLS, iVal int32) int32 { /* sqlite3.c:210611:12: */ +func sessionVarintLen(tls *libc.TLS, iVal int32) int32 { /* sqlite3.c:210668:12: */ return Xsqlite3VarintLen(tls, uint64(iVal)) } // Read a varint value from aBuf[] into *piVal. Return the number of // bytes read. -func sessionVarintGet(tls *libc.TLS, aBuf uintptr, piVal uintptr) int32 { /* sqlite3.c:210619:12: */ +func sessionVarintGet(tls *libc.TLS, aBuf uintptr, piVal uintptr) int32 { /* sqlite3.c:210676:12: */ return int32(func() uint8 { if int32(*(*U8)(unsafe.Pointer(aBuf))) < int32(U8(0x80)) { return uint8(func() int32 { *(*int32)(unsafe.Pointer(piVal)) = int32(U32(*(*U8)(unsafe.Pointer(aBuf)))); return 1 }()) @@ -169403,7 +169434,7 @@ func sessionVarintGet(tls *libc.TLS, aBuf uintptr, piVal uintptr) int32 { /* sql // Read a 64-bit big-endian integer value from buffer aRec[]. Return // the value read. -func sessionGetI64(tls *libc.TLS, aRec uintptr) Sqlite3_int64 { /* sqlite3.c:210630:22: */ +func sessionGetI64(tls *libc.TLS, aRec uintptr) Sqlite3_int64 { /* sqlite3.c:210687:22: */ var x U64 = U64(U32(*(*U8)(unsafe.Pointer(aRec)))<<24 | U32(int32(*(*U8)(unsafe.Pointer(aRec + 1)))<<16) | U32(int32(*(*U8)(unsafe.Pointer(aRec + 2)))<<8) | U32(*(*U8)(unsafe.Pointer(aRec + 3)))) var y U32 = U32(*(*U8)(unsafe.Pointer(aRec + uintptr(4))))<<24 | U32(int32(*(*U8)(unsafe.Pointer(aRec + uintptr(4) + 1)))<<16) | U32(int32(*(*U8)(unsafe.Pointer(aRec + uintptr(4) + 2)))<<8) | U32(*(*U8)(unsafe.Pointer(aRec + uintptr(4) + 3))) x = x<<32 + U64(y) @@ -169411,7 +169442,7 @@ func sessionGetI64(tls *libc.TLS, aRec uintptr) Sqlite3_int64 { /* sqlite3.c:210 } // Write a 64-bit big-endian integer value to the buffer aBuf[]. -func sessionPutI64(tls *libc.TLS, aBuf uintptr, i Sqlite3_int64) { /* sqlite3.c:210640:13: */ +func sessionPutI64(tls *libc.TLS, aBuf uintptr, i Sqlite3_int64) { /* sqlite3.c:210697:13: */ *(*U8)(unsafe.Pointer(aBuf)) = U8(i >> 56 & int64(0xFF)) *(*U8)(unsafe.Pointer(aBuf + 1)) = U8(i >> 48 & int64(0xFF)) *(*U8)(unsafe.Pointer(aBuf + 2)) = U8(i >> 40 & int64(0xFF)) @@ -169433,7 +169464,7 @@ func sessionPutI64(tls *libc.TLS, aBuf uintptr, i Sqlite3_int64) { /* sqlite3.c: // If no error occurs, SQLITE_OK is returned. Or, if an OOM error occurs // within a call to sqlite3_value_text() (may fail if the db is utf-16)) // SQLITE_NOMEM is returned. -func sessionSerializeValue(tls *libc.TLS, aBuf uintptr, pValue uintptr, pnWrite uintptr) int32 { /* sqlite3.c:210664:12: */ +func sessionSerializeValue(tls *libc.TLS, aBuf uintptr, pValue uintptr, pnWrite uintptr) int32 { /* sqlite3.c:210721:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -169521,7 +169552,7 @@ func sessionSerializeValue(tls *libc.TLS, aBuf uintptr, pValue uintptr, pnWrite // Allocate and return a pointer to a buffer nByte bytes in size. If // pSession is not NULL, increase the sqlite3_session.nMalloc variable // by the number of bytes allocated. -func sessionMalloc64(tls *libc.TLS, pSession uintptr, nByte I64) uintptr { /* sqlite3.c:210740:13: */ +func sessionMalloc64(tls *libc.TLS, pSession uintptr, nByte I64) uintptr { /* sqlite3.c:210797:13: */ var pRet uintptr = Xsqlite3_malloc64(tls, uint64(nByte)) if pSession != 0 { *(*I64)(unsafe.Pointer(pSession + 40)) += I64(Xsqlite3_msize(tls, pRet)) @@ -169532,7 +169563,7 @@ func sessionMalloc64(tls *libc.TLS, pSession uintptr, nByte I64) uintptr { /* sq // Free buffer pFree, which must have been allocated by an earlier // call to sessionMalloc64(). If pSession is not NULL, decrease the // sqlite3_session.nMalloc counter by the number of bytes freed. -func sessionFree(tls *libc.TLS, pSession uintptr, pFree uintptr) { /* sqlite3.c:210751:13: */ +func sessionFree(tls *libc.TLS, pSession uintptr, pFree uintptr) { /* sqlite3.c:210808:13: */ if pSession != 0 { *(*I64)(unsafe.Pointer(pSession + 40)) -= I64(Xsqlite3_msize(tls, pFree)) } @@ -169555,14 +169586,14 @@ func sessionFree(tls *libc.TLS, pSession uintptr, pFree uintptr) { /* sqlite3.c: // Append the hash of the 64-bit integer passed as the second argument to the // hash-key value passed as the first. Return the new hash-key value. -func sessionHashAppendI64(tls *libc.TLS, h uint32, i I64) uint32 { /* sqlite3.c:210777:21: */ +func sessionHashAppendI64(tls *libc.TLS, h uint32, i I64) uint32 { /* sqlite3.c:210834:21: */ h = h<<3 ^ h ^ uint32(i&int64(0xFFFFFFFF)) return h<<3 ^ h ^ uint32(i>>32&int64(0xFFFFFFFF)) } // Append the hash of the blob passed via the second and third arguments to // the hash-key value passed as the first. Return the new hash-key value. -func sessionHashAppendBlob(tls *libc.TLS, h uint32, n int32, z uintptr) uint32 { /* sqlite3.c:210786:21: */ +func sessionHashAppendBlob(tls *libc.TLS, h uint32, n int32, z uintptr) uint32 { /* sqlite3.c:210843:21: */ var i int32 for i = 0; i < n; i++ { h = h<<3 ^ h ^ uint32(*(*U8)(unsafe.Pointer(z + uintptr(i)))) @@ -169572,7 +169603,7 @@ func sessionHashAppendBlob(tls *libc.TLS, h uint32, n int32, z uintptr) uint32 { // Append the hash of the data type passed as the second argument to the // hash-key value passed as the first. Return the new hash-key value. -func sessionHashAppendType(tls *libc.TLS, h uint32, eType int32) uint32 { /* sqlite3.c:210796:21: */ +func sessionHashAppendType(tls *libc.TLS, h uint32, eType int32) uint32 { /* sqlite3.c:210853:21: */ return h<<3 ^ h ^ uint32(eType) } @@ -169585,7 +169616,7 @@ func sessionHashAppendType(tls *libc.TLS, h uint32, eType int32) uint32 { /* sql // If an error occurs, an SQLite error code is returned and the final values // of *piHash asn *pbNullPK are undefined. Otherwise, SQLITE_OK is returned // and the output variables are set as described above. -func sessionPreupdateHash(tls *libc.TLS, pSession uintptr, pTab uintptr, bNew int32, piHash uintptr, pbNullPK uintptr) int32 { /* sqlite3.c:210811:12: */ +func sessionPreupdateHash(tls *libc.TLS, pSession uintptr, pTab uintptr, bNew int32, piHash uintptr, pbNullPK uintptr) int32 { /* sqlite3.c:210868:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -169651,7 +169682,7 @@ func sessionPreupdateHash(tls *libc.TLS, pSession uintptr, pTab uintptr, bNew in // The buffer that the argument points to contains a serialized SQL value. // Return the number of bytes of space occupied by the value (including // the type byte). -func sessionSerialLen(tls *libc.TLS, a uintptr) int32 { /* sqlite3.c:210876:12: */ +func sessionSerialLen(tls *libc.TLS, a uintptr) int32 { /* sqlite3.c:210933:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -169677,7 +169708,7 @@ func sessionSerialLen(tls *libc.TLS, a uintptr) int32 { /* sqlite3.c:210876:12: // // The bPkOnly argument is non-zero if the record at aRecord[] is from // a patchset DELETE. In this case the non-PK fields are omitted entirely. -func sessionChangeHash(tls *libc.TLS, pTab uintptr, bPkOnly int32, aRecord uintptr, nBucket int32) uint32 { /* sqlite3.c:210894:21: */ +func sessionChangeHash(tls *libc.TLS, pTab uintptr, bPkOnly int32, aRecord uintptr, nBucket int32) uint32 { /* sqlite3.c:210951:21: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -169720,7 +169751,7 @@ func sessionChangeHash(tls *libc.TLS, pTab uintptr, bPkOnly int32, aRecord uintp // This function returns true if the two records apply to the same row (i.e. // have the same values stored in the primary key columns), or false // otherwise. -func sessionChangeEqual(tls *libc.TLS, pTab uintptr, bLeftPkOnly int32, aLeft uintptr, bRightPkOnly int32, aRight uintptr) int32 { /* sqlite3.c:210943:12: */ +func sessionChangeEqual(tls *libc.TLS, pTab uintptr, bLeftPkOnly int32, aLeft uintptr, bRightPkOnly int32, aRight uintptr) int32 { /* sqlite3.c:211000:12: */ var a1 uintptr = aLeft // Cursor to iterate through aLeft var a2 uintptr = aRight // Cursor to iterate through aRight var iCol int32 // Used to iterate through table columns @@ -169759,7 +169790,7 @@ func sessionChangeEqual(tls *libc.TLS, pTab uintptr, bLeftPkOnly int32, aLeft ui // their. Otherwise, if aLeft contains a value, copy it. If neither // record contains a value for a given column, then neither does the // output record. -func sessionMergeRecord(tls *libc.TLS, paOut uintptr, nCol int32, aLeft uintptr, aRight uintptr) { /* sqlite3.c:210986:13: */ +func sessionMergeRecord(tls *libc.TLS, paOut uintptr, nCol int32, aLeft uintptr, aRight uintptr) { /* sqlite3.c:211043:13: */ var a1 uintptr = aLeft // Cursor used to iterate through aLeft var a2 uintptr = aRight // Cursor used to iterate through aRight var aOut uintptr = *(*uintptr)(unsafe.Pointer(paOut)) // Output cursor @@ -169798,7 +169829,7 @@ func sessionMergeRecord(tls *libc.TLS, paOut uintptr, nCol int32, aLeft uintptr, // if( *paTwo is valid ) return *paTwo; // return *paOne; // -func sessionMergeValue(tls *libc.TLS, paOne uintptr, paTwo uintptr, pnVal uintptr) uintptr { /* sqlite3.c:211032:11: */ +func sessionMergeValue(tls *libc.TLS, paOne uintptr, paTwo uintptr, pnVal uintptr) uintptr { /* sqlite3.c:211089:11: */ var a1 uintptr = *(*uintptr)(unsafe.Pointer(paOne)) var a2 uintptr = *(*uintptr)(unsafe.Pointer(paTwo)) var pRet uintptr = uintptr(0) @@ -169825,7 +169856,7 @@ func sessionMergeValue(tls *libc.TLS, paOne uintptr, paTwo uintptr, pnVal uintpt // This function is used by changeset_concat() to merge two UPDATE changes // on the same row. -func sessionMergeUpdate(tls *libc.TLS, paOut uintptr, pTab uintptr, bPatchset int32, aOldRecord1 uintptr, aOldRecord2 uintptr, aNewRecord1 uintptr, aNewRecord2 uintptr) int32 { /* sqlite3.c:211066:12: */ +func sessionMergeUpdate(tls *libc.TLS, paOut uintptr, pTab uintptr, bPatchset int32, aOldRecord1 uintptr, aOldRecord2 uintptr, aNewRecord1 uintptr, aNewRecord2 uintptr) int32 { /* sqlite3.c:211123:12: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -169900,7 +169931,7 @@ func sessionMergeUpdate(tls *libc.TLS, paOut uintptr, pTab uintptr, bPatchset in // as the change stored in argument pChange. If so, it returns true. Otherwise // if the pre-update-hook does not affect the same row as pChange, it returns // false. -func sessionPreupdateEqual(tls *libc.TLS, pSession uintptr, pTab uintptr, pChange uintptr, op int32) int32 { /* sqlite3.c:211143:12: */ +func sessionPreupdateEqual(tls *libc.TLS, pSession uintptr, pTab uintptr, pChange uintptr, op int32) int32 { /* sqlite3.c:211200:12: */ bp := tls.Alloc(28) defer tls.Free(28) @@ -169988,7 +170019,7 @@ func sessionPreupdateEqual(tls *libc.TLS, pSession uintptr, pTab uintptr, pChang // that case the hash-table does not grow, but SQLITE_OK is returned anyway. // Growing the hash table in this case is a performance optimization only, // it is not required for correct operation. -func sessionGrowHash(tls *libc.TLS, pSession uintptr, bPatchset int32, pTab uintptr) int32 { /* sqlite3.c:211222:12: */ +func sessionGrowHash(tls *libc.TLS, pSession uintptr, bPatchset int32, pTab uintptr) int32 { /* sqlite3.c:211279:12: */ if (*SessionTable)(unsafe.Pointer(pTab)).FnChange == 0 || (*SessionTable)(unsafe.Pointer(pTab)).FnEntry >= (*SessionTable)(unsafe.Pointer(pTab)).FnChange/2 { var i int32 var apNew uintptr @@ -170052,7 +170083,7 @@ func sessionGrowHash(tls *libc.TLS, pSession uintptr, bPatchset int32, pTab uint // // All returned buffers are part of the same single allocation, which must // be freed using sqlite3_free() by the caller -func sessionTableInfo(tls *libc.TLS, pSession uintptr, db uintptr, zDb uintptr, zThis uintptr, pnCol uintptr, pzTab uintptr, pazCol uintptr, pabPK uintptr) int32 { /* sqlite3.c:211288:12: */ +func sessionTableInfo(tls *libc.TLS, pSession uintptr, db uintptr, zDb uintptr, zThis uintptr, pnCol uintptr, pzTab uintptr, pazCol uintptr, pabPK uintptr) int32 { /* sqlite3.c:211345:12: */ bp := tls.Alloc(20) defer tls.Free(20) @@ -170183,7 +170214,7 @@ func sessionTableInfo(tls *libc.TLS, pSession uintptr, db uintptr, zDb uintptr, // key, sqlite3_session.rc is left set to SQLITE_OK and non-zero returned to // indicate that updates on this table should be ignored. SessionTable.abPK // is set to NULL in this case. -func sessionInitTable(tls *libc.TLS, pSession uintptr, pTab uintptr) int32 { /* sqlite3.c:211421:12: */ +func sessionInitTable(tls *libc.TLS, pSession uintptr, pTab uintptr) int32 { /* sqlite3.c:211478:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -170219,15 +170250,15 @@ func sessionInitTable(tls *libc.TLS, pSession uintptr, pTab uintptr) int32 { /* type SessionStat1Ctx1 = struct { Fhook SessionHook FpSession uintptr -} /* sqlite3.c:211456:9 */ +} /* sqlite3.c:211513:9 */ // Versions of the four methods in object SessionHook for use with the // sqlite_stat1 table. The purpose of this is to substitute a zero-length // blob each time a NULL value is read from the "idx" column of the // sqlite_stat1 table. -type SessionStat1Ctx = SessionStat1Ctx1 /* sqlite3.c:211456:32 */ +type SessionStat1Ctx = SessionStat1Ctx1 /* sqlite3.c:211513:32 */ -func sessionStat1Old(tls *libc.TLS, pCtx uintptr, iCol int32, ppVal uintptr) int32 { /* sqlite3.c:211461:12: */ +func sessionStat1Old(tls *libc.TLS, pCtx uintptr, iCol int32, ppVal uintptr) int32 { /* sqlite3.c:211518:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -170243,7 +170274,7 @@ func sessionStat1Old(tls *libc.TLS, pCtx uintptr, iCol int32, ppVal uintptr) int return rc } -func sessionStat1New(tls *libc.TLS, pCtx uintptr, iCol int32, ppVal uintptr) int32 { /* sqlite3.c:211471:12: */ +func sessionStat1New(tls *libc.TLS, pCtx uintptr, iCol int32, ppVal uintptr) int32 { /* sqlite3.c:211528:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -170259,21 +170290,21 @@ func sessionStat1New(tls *libc.TLS, pCtx uintptr, iCol int32, ppVal uintptr) int return rc } -func sessionStat1Count(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:211481:12: */ +func sessionStat1Count(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:211538:12: */ var p uintptr = pCtx return (*struct { f func(*libc.TLS, uintptr) int32 })(unsafe.Pointer(&struct{ uintptr }{(*SessionStat1Ctx)(unsafe.Pointer(p)).Fhook.FxCount})).f(tls, (*SessionStat1Ctx)(unsafe.Pointer(p)).Fhook.FpCtx) } -func sessionStat1Depth(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:211485:12: */ +func sessionStat1Depth(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:211542:12: */ var p uintptr = pCtx return (*struct { f func(*libc.TLS, uintptr) int32 })(unsafe.Pointer(&struct{ uintptr }{(*SessionStat1Ctx)(unsafe.Pointer(p)).Fhook.FxDepth})).f(tls, (*SessionStat1Ctx)(unsafe.Pointer(p)).Fhook.FpCtx) } -func sessionUpdateMaxSize(tls *libc.TLS, op int32, pSession uintptr, pTab uintptr, pC uintptr) int32 { /* sqlite3.c:211490:12: */ +func sessionUpdateMaxSize(tls *libc.TLS, op int32, pSession uintptr, pTab uintptr, pC uintptr) int32 { /* sqlite3.c:211547:12: */ bp := tls.Alloc(44) defer tls.Free(44) @@ -170387,7 +170418,7 @@ func sessionUpdateMaxSize(tls *libc.TLS, op int32, pSession uintptr, pTab uintpt // // Unless one is already present or an error occurs, an entry is added // to the changed-rows hash table associated with table pTab. -func sessionPreupdateOneChange(tls *libc.TLS, op int32, pSession uintptr, pTab uintptr) { /* sqlite3.c:211596:13: */ +func sessionPreupdateOneChange(tls *libc.TLS, op int32, pSession uintptr, pTab uintptr) { /* sqlite3.c:211653:13: */ bp := tls.Alloc(52) defer tls.Free(52) @@ -170683,7 +170714,7 @@ __35: __36: } -func sessionFindTable(tls *libc.TLS, pSession uintptr, zName uintptr, ppTab uintptr) int32 { /* sqlite3.c:211745:12: */ +func sessionFindTable(tls *libc.TLS, pSession uintptr, zName uintptr, ppTab uintptr) int32 { /* sqlite3.c:211802:12: */ var rc int32 = SQLITE_OK var nName int32 = Xsqlite3Strlen30(tls, zName) var pRet uintptr @@ -170718,7 +170749,7 @@ func sessionFindTable(tls *libc.TLS, pSession uintptr, zName uintptr, ppTab uint } // The 'pre-update' hook registered by this module with SQLite databases. -func xPreUpdate(tls *libc.TLS, pCtx uintptr, db uintptr, op int32, zDb uintptr, zName uintptr, iKey1 Sqlite3_int64, iKey2 Sqlite3_int64) { /* sqlite3.c:211785:13: */ +func xPreUpdate(tls *libc.TLS, pCtx uintptr, db uintptr, op int32, zDb uintptr, zName uintptr, iKey1 Sqlite3_int64, iKey2 Sqlite3_int64) { /* sqlite3.c:211842:13: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -170753,25 +170784,25 @@ func xPreUpdate(tls *libc.TLS, pCtx uintptr, db uintptr, op int32, zDb uintptr, } // The pre-update hook implementations. -func sessionPreupdateOld(tls *libc.TLS, pCtx uintptr, iVal int32, ppVal uintptr) int32 { /* sqlite3.c:211823:12: */ +func sessionPreupdateOld(tls *libc.TLS, pCtx uintptr, iVal int32, ppVal uintptr) int32 { /* sqlite3.c:211880:12: */ return Xsqlite3_preupdate_old(tls, pCtx, iVal, ppVal) } -func sessionPreupdateNew(tls *libc.TLS, pCtx uintptr, iVal int32, ppVal uintptr) int32 { /* sqlite3.c:211826:12: */ +func sessionPreupdateNew(tls *libc.TLS, pCtx uintptr, iVal int32, ppVal uintptr) int32 { /* sqlite3.c:211883:12: */ return Xsqlite3_preupdate_new(tls, pCtx, iVal, ppVal) } -func sessionPreupdateCount(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:211829:12: */ +func sessionPreupdateCount(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:211886:12: */ return Xsqlite3_preupdate_count(tls, pCtx) } -func sessionPreupdateDepth(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:211832:12: */ +func sessionPreupdateDepth(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:211889:12: */ return Xsqlite3_preupdate_depth(tls, pCtx) } // Install the pre-update hooks on the session object passed as the only // argument. -func sessionPreupdateHooks(tls *libc.TLS, pSession uintptr) { /* sqlite3.c:211840:13: */ +func sessionPreupdateHooks(tls *libc.TLS, pSession uintptr) { /* sqlite3.c:211897:13: */ (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx = (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FxOld = *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) int32 @@ -170790,24 +170821,24 @@ func sessionPreupdateHooks(tls *libc.TLS, pSession uintptr) { /* sqlite3.c:21184 type SessionDiffCtx1 = struct { FpStmt uintptr FnOldOff int32 -} /* sqlite3.c:211850:9 */ +} /* sqlite3.c:211907:9 */ -type SessionDiffCtx = SessionDiffCtx1 /* sqlite3.c:211850:31 */ +type SessionDiffCtx = SessionDiffCtx1 /* sqlite3.c:211907:31 */ // The diff hook implementations. -func sessionDiffOld(tls *libc.TLS, pCtx uintptr, iVal int32, ppVal uintptr) int32 { /* sqlite3.c:211859:12: */ +func sessionDiffOld(tls *libc.TLS, pCtx uintptr, iVal int32, ppVal uintptr) int32 { /* sqlite3.c:211916:12: */ var p uintptr = pCtx *(*uintptr)(unsafe.Pointer(ppVal)) = Xsqlite3_column_value(tls, (*SessionDiffCtx)(unsafe.Pointer(p)).FpStmt, iVal+(*SessionDiffCtx)(unsafe.Pointer(p)).FnOldOff) return SQLITE_OK } -func sessionDiffNew(tls *libc.TLS, pCtx uintptr, iVal int32, ppVal uintptr) int32 { /* sqlite3.c:211864:12: */ +func sessionDiffNew(tls *libc.TLS, pCtx uintptr, iVal int32, ppVal uintptr) int32 { /* sqlite3.c:211921:12: */ var p uintptr = pCtx *(*uintptr)(unsafe.Pointer(ppVal)) = Xsqlite3_column_value(tls, (*SessionDiffCtx)(unsafe.Pointer(p)).FpStmt, iVal) return SQLITE_OK } -func sessionDiffCount(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:211869:12: */ +func sessionDiffCount(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:211926:12: */ var p uintptr = pCtx if (*SessionDiffCtx)(unsafe.Pointer(p)).FnOldOff != 0 { return (*SessionDiffCtx)(unsafe.Pointer(p)).FnOldOff @@ -170815,13 +170846,13 @@ func sessionDiffCount(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:211869:1 return Xsqlite3_column_count(tls, (*SessionDiffCtx)(unsafe.Pointer(p)).FpStmt) } -func sessionDiffDepth(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:211873:12: */ +func sessionDiffDepth(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:211930:12: */ return 0 } // Install the diff hooks on the session object passed as the only // argument. -func sessionDiffHooks(tls *libc.TLS, pSession uintptr, pDiffCtx uintptr) { /* sqlite3.c:211881:13: */ +func sessionDiffHooks(tls *libc.TLS, pSession uintptr, pDiffCtx uintptr) { /* sqlite3.c:211938:13: */ (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx = pDiffCtx (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FxOld = *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) int32 @@ -170837,7 +170868,7 @@ func sessionDiffHooks(tls *libc.TLS, pSession uintptr, pDiffCtx uintptr) { /* sq }{sessionDiffDepth})) } -func sessionExprComparePK(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uintptr, zTab uintptr, azCol uintptr, abPK uintptr) uintptr { /* sqlite3.c:211892:13: */ +func sessionExprComparePK(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uintptr, zTab uintptr, azCol uintptr, abPK uintptr) uintptr { /* sqlite3.c:211949:13: */ bp := tls.Alloc(64) defer tls.Free(64) @@ -170859,7 +170890,7 @@ func sessionExprComparePK(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uintptr, return zRet } -func sessionExprCompareOther(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uintptr, zTab uintptr, azCol uintptr, abPK uintptr) uintptr { /* sqlite3.c:211915:13: */ +func sessionExprCompareOther(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uintptr, zTab uintptr, azCol uintptr, abPK uintptr) uintptr { /* sqlite3.c:211972:13: */ bp := tls.Alloc(64) defer tls.Free(64) @@ -170889,7 +170920,7 @@ func sessionExprCompareOther(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uintp return zRet } -func sessionSelectFindNew(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uintptr, zTbl uintptr, zExpr uintptr) uintptr { /* sqlite3.c:211946:13: */ +func sessionSelectFindNew(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uintptr, zTbl uintptr, zExpr uintptr) uintptr { /* sqlite3.c:212003:13: */ bp := tls.Alloc(40) defer tls.Free(40) @@ -170900,7 +170931,7 @@ func sessionSelectFindNew(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uintptr, return zRet } -func sessionDiffFindNew(tls *libc.TLS, op int32, pSession uintptr, pTab uintptr, zDb1 uintptr, zDb2 uintptr, zExpr uintptr) int32 { /* sqlite3.c:211962:12: */ +func sessionDiffFindNew(tls *libc.TLS, op int32, pSession uintptr, pTab uintptr, zDb1 uintptr, zDb2 uintptr, zExpr uintptr) int32 { /* sqlite3.c:212019:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -170928,7 +170959,7 @@ func sessionDiffFindNew(tls *libc.TLS, op int32, pSession uintptr, pTab uintptr, return rc } -func sessionDiffFindModified(tls *libc.TLS, pSession uintptr, pTab uintptr, zFrom uintptr, zExpr uintptr) int32 { /* sqlite3.c:211993:12: */ +func sessionDiffFindModified(tls *libc.TLS, pSession uintptr, pTab uintptr, zFrom uintptr, zExpr uintptr) int32 { /* sqlite3.c:212050:12: */ bp := tls.Alloc(52) defer tls.Free(52) @@ -170965,7 +170996,7 @@ func sessionDiffFindModified(tls *libc.TLS, pSession uintptr, pTab uintptr, zFro return rc } -func Xsqlite3session_diff(tls *libc.TLS, pSession uintptr, zFrom uintptr, zTbl uintptr, pzErrMsg uintptr) int32 { /* sqlite3.c:212033:16: */ +func Xsqlite3session_diff(tls *libc.TLS, pSession uintptr, zFrom uintptr, zTbl uintptr, pzErrMsg uintptr) int32 { /* sqlite3.c:212090:16: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -171138,7 +171169,7 @@ diff_out: // Create a session object. This session object will record changes to // database zDb attached to connection db. -func Xsqlite3session_create(tls *libc.TLS, db uintptr, zDb uintptr, ppSession uintptr) int32 { /* sqlite3.c:212128:16: */ +func Xsqlite3session_create(tls *libc.TLS, db uintptr, zDb uintptr, ppSession uintptr) int32 { /* sqlite3.c:212185:16: */ var pNew uintptr // Newly allocated session object var pOld uintptr // Session object already attached to db var nDb int32 = Xsqlite3Strlen30(tls, zDb) // Length of zDb in bytes @@ -171174,7 +171205,7 @@ func Xsqlite3session_create(tls *libc.TLS, db uintptr, zDb uintptr, ppSession ui // Free the list of table objects passed as the first argument. The contents // of the changed-rows hash tables are also deleted. -func sessionDeleteTable(tls *libc.TLS, pSession uintptr, pList uintptr) { /* sqlite3.c:212166:13: */ +func sessionDeleteTable(tls *libc.TLS, pSession uintptr, pList uintptr) { /* sqlite3.c:212223:13: */ var pNext uintptr var pTab uintptr @@ -171196,7 +171227,7 @@ func sessionDeleteTable(tls *libc.TLS, pSession uintptr, pList uintptr) { /* sql } // Delete a session object previously allocated using sqlite3session_create(). -func Xsqlite3session_delete(tls *libc.TLS, pSession uintptr) { /* sqlite3.c:212190:17: */ +func Xsqlite3session_delete(tls *libc.TLS, pSession uintptr) { /* sqlite3.c:212247:17: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -171234,7 +171265,7 @@ func Xsqlite3session_delete(tls *libc.TLS, pSession uintptr) { /* sqlite3.c:2121 } // Set a table filter on a Session Object. -func Xsqlite3session_table_filter(tls *libc.TLS, pSession uintptr, xFilter uintptr, pCtx uintptr) { /* sqlite3.c:212222:17: */ +func Xsqlite3session_table_filter(tls *libc.TLS, pSession uintptr, xFilter uintptr, pCtx uintptr) { /* sqlite3.c:212279:17: */ (*Sqlite3_session)(unsafe.Pointer(pSession)).FbAutoAttach = 1 (*Sqlite3_session)(unsafe.Pointer(pSession)).FpFilterCtx = pCtx (*Sqlite3_session)(unsafe.Pointer(pSession)).FxTableFilter = xFilter @@ -171246,7 +171277,7 @@ func Xsqlite3session_table_filter(tls *libc.TLS, pSession uintptr, xFilter uintp // Only tables that have a PRIMARY KEY defined may be attached. It does // not matter if the PRIMARY KEY is an "INTEGER PRIMARY KEY" (rowid alias) // or not. -func Xsqlite3session_attach(tls *libc.TLS, pSession uintptr, zName uintptr) int32 { /* sqlite3.c:212240:16: */ +func Xsqlite3session_attach(tls *libc.TLS, pSession uintptr, zName uintptr) int32 { /* sqlite3.c:212297:16: */ var rc int32 = SQLITE_OK Xsqlite3_mutex_enter(tls, Xsqlite3_db_mutex(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb)) @@ -171297,7 +171328,7 @@ func Xsqlite3session_attach(tls *libc.TLS, pSession uintptr, zName uintptr) int3 // // If successful, return zero. Otherwise, if an OOM condition is encountered, // set *pRc to SQLITE_NOMEM and return non-zero. -func sessionBufferGrow(tls *libc.TLS, p uintptr, nByte I64, pRc uintptr) int32 { /* sqlite3.c:212293:12: */ +func sessionBufferGrow(tls *libc.TLS, p uintptr, nByte I64, pRc uintptr) int32 { /* sqlite3.c:212350:12: */ var nReq I64 = I64((*SessionBuffer)(unsafe.Pointer(p)).FnBuf) + nByte if *(*int32)(unsafe.Pointer(pRc)) == SQLITE_OK && nReq > I64((*SessionBuffer)(unsafe.Pointer(p)).FnAlloc) { var aNew uintptr @@ -171342,7 +171373,7 @@ func sessionBufferGrow(tls *libc.TLS, p uintptr, nByte I64, pRc uintptr) int32 { // This function is a no-op if *pRc is non-zero when it is called. // Otherwise, if an error occurs, *pRc is set to an SQLite error code // before returning. -func sessionAppendValue(tls *libc.TLS, p uintptr, pVal uintptr, pRc uintptr) { /* sqlite3.c:212336:13: */ +func sessionAppendValue(tls *libc.TLS, p uintptr, pVal uintptr, pRc uintptr) { /* sqlite3.c:212393:13: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -171365,7 +171396,7 @@ func sessionAppendValue(tls *libc.TLS, p uintptr, pVal uintptr, pRc uintptr) { / // // If an OOM condition is encountered, set *pRc to SQLITE_NOMEM before // returning. -func sessionAppendByte(tls *libc.TLS, p uintptr, v U8, pRc uintptr) { /* sqlite3.c:212358:13: */ +func sessionAppendByte(tls *libc.TLS, p uintptr, v U8, pRc uintptr) { /* sqlite3.c:212415:13: */ if 0 == sessionBufferGrow(tls, p, int64(1), pRc) { *(*U8)(unsafe.Pointer((*SessionBuffer)(unsafe.Pointer(p)).FaBuf + uintptr(libc.PostIncInt32(&(*SessionBuffer)(unsafe.Pointer(p)).FnBuf, 1)))) = v } @@ -171376,7 +171407,7 @@ func sessionAppendByte(tls *libc.TLS, p uintptr, v U8, pRc uintptr) { /* sqlite3 // // If an OOM condition is encountered, set *pRc to SQLITE_NOMEM before // returning. -func sessionAppendVarint(tls *libc.TLS, p uintptr, v int32, pRc uintptr) { /* sqlite3.c:212371:13: */ +func sessionAppendVarint(tls *libc.TLS, p uintptr, v int32, pRc uintptr) { /* sqlite3.c:212428:13: */ if 0 == sessionBufferGrow(tls, p, int64(9), pRc) { *(*int32)(unsafe.Pointer(p + 4)) += sessionVarintPut(tls, (*SessionBuffer)(unsafe.Pointer(p)).FaBuf+uintptr((*SessionBuffer)(unsafe.Pointer(p)).FnBuf), v) } @@ -171387,7 +171418,7 @@ func sessionAppendVarint(tls *libc.TLS, p uintptr, v int32, pRc uintptr) { /* sq // // If an OOM condition is encountered, set *pRc to SQLITE_NOMEM before // returning. -func sessionAppendBlob(tls *libc.TLS, p uintptr, aBlob uintptr, nBlob int32, pRc uintptr) { /* sqlite3.c:212384:13: */ +func sessionAppendBlob(tls *libc.TLS, p uintptr, aBlob uintptr, nBlob int32, pRc uintptr) { /* sqlite3.c:212441:13: */ if nBlob > 0 && 0 == sessionBufferGrow(tls, p, int64(nBlob), pRc) { libc.Xmemcpy(tls, (*SessionBuffer)(unsafe.Pointer(p)).FaBuf+uintptr((*SessionBuffer)(unsafe.Pointer(p)).FnBuf), aBlob, uint32(nBlob)) *(*int32)(unsafe.Pointer(p + 4)) += nBlob @@ -171400,7 +171431,7 @@ func sessionAppendBlob(tls *libc.TLS, p uintptr, aBlob uintptr, nBlob int32, pRc // // If an OOM condition is encountered, set *pRc to SQLITE_NOMEM before // returning. -func sessionAppendStr(tls *libc.TLS, p uintptr, zStr uintptr, pRc uintptr) { /* sqlite3.c:212404:13: */ +func sessionAppendStr(tls *libc.TLS, p uintptr, zStr uintptr, pRc uintptr) { /* sqlite3.c:212461:13: */ var nStr int32 = Xsqlite3Strlen30(tls, zStr) if 0 == sessionBufferGrow(tls, p, int64(nStr), pRc) { libc.Xmemcpy(tls, (*SessionBuffer)(unsafe.Pointer(p)).FaBuf+uintptr((*SessionBuffer)(unsafe.Pointer(p)).FnBuf), zStr, uint32(nStr)) @@ -171414,7 +171445,7 @@ func sessionAppendStr(tls *libc.TLS, p uintptr, zStr uintptr, pRc uintptr) { /* // // If an OOM condition is encountered, set *pRc to SQLITE_NOMEM before // returning. -func sessionAppendInteger(tls *libc.TLS, p uintptr, iVal int32, pRc uintptr) { /* sqlite3.c:212424:13: */ +func sessionAppendInteger(tls *libc.TLS, p uintptr, iVal int32, pRc uintptr) { /* sqlite3.c:212481:13: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -171431,7 +171462,7 @@ func sessionAppendInteger(tls *libc.TLS, p uintptr, iVal int32, pRc uintptr) { / // // If an OOM condition is encountered, set *pRc to SQLITE_NOMEM before // returning. -func sessionAppendIdent(tls *libc.TLS, p uintptr, zStr uintptr, pRc uintptr) { /* sqlite3.c:212443:13: */ +func sessionAppendIdent(tls *libc.TLS, p uintptr, zStr uintptr, pRc uintptr) { /* sqlite3.c:212500:13: */ var nStr int32 = Xsqlite3Strlen30(tls, zStr)*2 + 2 + 1 if 0 == sessionBufferGrow(tls, p, int64(nStr), pRc) { var zOut uintptr = (*SessionBuffer)(unsafe.Pointer(p)).FaBuf + uintptr((*SessionBuffer)(unsafe.Pointer(p)).FnBuf) @@ -171452,7 +171483,7 @@ func sessionAppendIdent(tls *libc.TLS, p uintptr, zStr uintptr, pRc uintptr) { / // called. Otherwse, it appends the serialized version of the value stored // in column iCol of the row that SQL statement pStmt currently points // to to the buffer. -func sessionAppendCol(tls *libc.TLS, p uintptr, pStmt uintptr, iCol int32, pRc uintptr) { /* sqlite3.c:212468:13: */ +func sessionAppendCol(tls *libc.TLS, p uintptr, pStmt uintptr, iCol int32, pRc uintptr) { /* sqlite3.c:212525:13: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -171512,7 +171543,7 @@ func sessionAppendCol(tls *libc.TLS, p uintptr, pStmt uintptr, iCol int32, pRc u // Otherwise, the old.* record contains all primary key values and the // original values of any fields that have been modified. The new.* record // contains the new values of only those fields that have been modified. -func sessionAppendUpdate(tls *libc.TLS, pBuf uintptr, bPatchset int32, pStmt uintptr, p uintptr, abPK uintptr) int32 { /* sqlite3.c:212530:12: */ +func sessionAppendUpdate(tls *libc.TLS, pBuf uintptr, bPatchset int32, pStmt uintptr, p uintptr, abPK uintptr) int32 { /* sqlite3.c:212587:12: */ bp := tls.Alloc(40) defer tls.Free(40) @@ -171618,7 +171649,7 @@ func sessionAppendUpdate(tls *libc.TLS, pBuf uintptr, bPatchset int32, pStmt uin // Append a DELETE change to the buffer passed as the first argument. Use // the changeset format if argument bPatchset is zero, or the patchset // format otherwise. -func sessionAppendDelete(tls *libc.TLS, pBuf uintptr, bPatchset int32, p uintptr, nCol int32, abPK uintptr) int32 { /* sqlite3.c:212630:12: */ +func sessionAppendDelete(tls *libc.TLS, pBuf uintptr, bPatchset int32, p uintptr, nCol int32, abPK uintptr) int32 { /* sqlite3.c:212687:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -171675,7 +171706,7 @@ func sessionAppendDelete(tls *libc.TLS, pBuf uintptr, bPatchset int32, p uintptr // zTab in database zDb based on its primary key. i.e. // // SELECT * FROM zDb.zTab WHERE pk1 = ? AND pk2 = ? AND ... -func sessionSelectStmt(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, nCol int32, azCol uintptr, abPK uintptr, ppStmt uintptr) int32 { /* sqlite3.c:212685:12: */ +func sessionSelectStmt(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, nCol int32, azCol uintptr, abPK uintptr, ppStmt uintptr) int32 { /* sqlite3.c:212742:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -171726,7 +171757,7 @@ func sessionSelectStmt(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, nCo // // Return SQLITE_OK if all PK values are successfully bound, or an SQLite // error code (e.g. SQLITE_NOMEM) otherwise. -func sessionSelectBind(tls *libc.TLS, pSelect uintptr, nCol int32, abPK uintptr, pChange uintptr) int32 { /* sqlite3.c:212742:12: */ +func sessionSelectBind(tls *libc.TLS, pSelect uintptr, nCol int32, abPK uintptr, pChange uintptr) int32 { /* sqlite3.c:212799:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -171804,7 +171835,7 @@ func sessionSelectBind(tls *libc.TLS, pSelect uintptr, nCol int32, abPK uintptr, // is called. Otherwise, append a serialized table header (part of the binary // changeset format) to buffer *pBuf. If an error occurs, set *pRc to an // SQLite error code before returning. -func sessionAppendTableHdr(tls *libc.TLS, pBuf uintptr, bPatchset int32, pTab uintptr, pRc uintptr) { /* sqlite3.c:212813:13: */ +func sessionAppendTableHdr(tls *libc.TLS, pBuf uintptr, bPatchset int32, pTab uintptr, pRc uintptr) { /* sqlite3.c:212870:13: */ // Write a table header sessionAppendByte(tls, pBuf, func() uint8 { if bPatchset != 0 { @@ -171825,7 +171856,7 @@ func sessionAppendTableHdr(tls *libc.TLS, pBuf uintptr, bPatchset int32, pTab ui // stored in output variables *pnChangeset and *ppChangeset. Or, if an error // 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) int32 { /* sqlite3.c:212836:12: */ +func sessionGenerateChangeset(tls *libc.TLS, pSession uintptr, bPatchset int32, xOutput uintptr, pOut uintptr, pnChangeset uintptr, ppChangeset uintptr) int32 { /* sqlite3.c:212893:12: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -171955,7 +171986,7 @@ func sessionGenerateChangeset(tls *libc.TLS, pSession uintptr, bPatchset int32, // // It is the responsibility of the caller to eventually free the buffer // using sqlite3_free(). -func Xsqlite3session_changeset(tls *libc.TLS, pSession uintptr, pnChangeset uintptr, ppChangeset uintptr) int32 { /* sqlite3.c:212965:16: */ +func Xsqlite3session_changeset(tls *libc.TLS, pSession uintptr, pnChangeset uintptr, ppChangeset uintptr) int32 { /* sqlite3.c:213022:16: */ var rc int32 if pnChangeset == uintptr(0) || ppChangeset == uintptr(0) { @@ -171967,7 +171998,7 @@ func Xsqlite3session_changeset(tls *libc.TLS, pSession uintptr, pnChangeset uint } // Streaming version of sqlite3session_changeset(). -func Xsqlite3session_changeset_strm(tls *libc.TLS, pSession uintptr, xOutput uintptr, pOut uintptr) int32 { /* sqlite3.c:212983:16: */ +func Xsqlite3session_changeset_strm(tls *libc.TLS, pSession uintptr, xOutput uintptr, pOut uintptr) int32 { /* sqlite3.c:213040:16: */ if xOutput == uintptr(0) { return SQLITE_MISUSE } @@ -171975,7 +172006,7 @@ func Xsqlite3session_changeset_strm(tls *libc.TLS, pSession uintptr, xOutput uin } // Streaming version of sqlite3session_patchset(). -func Xsqlite3session_patchset_strm(tls *libc.TLS, pSession uintptr, xOutput uintptr, pOut uintptr) int32 { /* sqlite3.c:212995:16: */ +func Xsqlite3session_patchset_strm(tls *libc.TLS, pSession uintptr, xOutput uintptr, pOut uintptr) int32 { /* sqlite3.c:213052:16: */ if xOutput == uintptr(0) { return SQLITE_MISUSE } @@ -171987,7 +172018,7 @@ func Xsqlite3session_patchset_strm(tls *libc.TLS, pSession uintptr, xOutput uint // // It is the responsibility of the caller to eventually free the buffer // using sqlite3_free(). -func Xsqlite3session_patchset(tls *libc.TLS, pSession uintptr, pnPatchset uintptr, ppPatchset uintptr) int32 { /* sqlite3.c:213011:16: */ +func Xsqlite3session_patchset(tls *libc.TLS, pSession uintptr, pnPatchset uintptr, ppPatchset uintptr) int32 { /* sqlite3.c:213068:16: */ if pnPatchset == uintptr(0) || ppPatchset == uintptr(0) { return SQLITE_MISUSE } @@ -171995,7 +172026,7 @@ func Xsqlite3session_patchset(tls *libc.TLS, pSession uintptr, pnPatchset uintpt } // Enable or disable the session object passed as the first argument. -func Xsqlite3session_enable(tls *libc.TLS, pSession uintptr, bEnable int32) int32 { /* sqlite3.c:213023:16: */ +func Xsqlite3session_enable(tls *libc.TLS, pSession uintptr, bEnable int32) int32 { /* sqlite3.c:213080:16: */ var ret int32 Xsqlite3_mutex_enter(tls, Xsqlite3_db_mutex(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb)) if bEnable >= 0 { @@ -172007,7 +172038,7 @@ func Xsqlite3session_enable(tls *libc.TLS, pSession uintptr, bEnable int32) int3 } // Enable or disable the session object passed as the first argument. -func Xsqlite3session_indirect(tls *libc.TLS, pSession uintptr, bIndirect int32) int32 { /* sqlite3.c:213037:16: */ +func Xsqlite3session_indirect(tls *libc.TLS, pSession uintptr, bIndirect int32) int32 { /* sqlite3.c:213094:16: */ var ret int32 Xsqlite3_mutex_enter(tls, Xsqlite3_db_mutex(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb)) if bIndirect >= 0 { @@ -172020,7 +172051,7 @@ func Xsqlite3session_indirect(tls *libc.TLS, pSession uintptr, bIndirect int32) // Return true if there have been no changes to monitored tables recorded // by the session object passed as the only argument. -func Xsqlite3session_isempty(tls *libc.TLS, pSession uintptr) int32 { /* sqlite3.c:213052:16: */ +func Xsqlite3session_isempty(tls *libc.TLS, pSession uintptr) int32 { /* sqlite3.c:213109:16: */ var ret int32 = 0 var pTab uintptr @@ -172034,12 +172065,12 @@ func Xsqlite3session_isempty(tls *libc.TLS, pSession uintptr) int32 { /* sqlite3 } // Return the amount of heap memory in use. -func Xsqlite3session_memory_used(tls *libc.TLS, pSession uintptr) Sqlite3_int64 { /* sqlite3.c:213068:26: */ +func Xsqlite3session_memory_used(tls *libc.TLS, pSession uintptr) Sqlite3_int64 { /* sqlite3.c:213125:26: */ return (*Sqlite3_session)(unsafe.Pointer(pSession)).FnMalloc } // Configure the session object passed as the first argument. -func Xsqlite3session_object_config(tls *libc.TLS, pSession uintptr, op int32, pArg uintptr) int32 { /* sqlite3.c:213075:16: */ +func Xsqlite3session_object_config(tls *libc.TLS, pSession uintptr, op int32, pArg uintptr) int32 { /* sqlite3.c:213132:16: */ var rc int32 = SQLITE_OK switch op { case SQLITE_SESSION_OBJCONFIG_SIZE: @@ -172065,12 +172096,12 @@ func Xsqlite3session_object_config(tls *libc.TLS, pSession uintptr, op int32, pA } // Return the maximum size of sqlite3session_changeset() output. -func Xsqlite3session_changeset_size(tls *libc.TLS, pSession uintptr) Sqlite3_int64 { /* sqlite3.c:213101:26: */ +func Xsqlite3session_changeset_size(tls *libc.TLS, pSession uintptr) Sqlite3_int64 { /* sqlite3.c:213158:26: */ return (*Sqlite3_session)(unsafe.Pointer(pSession)).FnMaxChangesetSize } // 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) int32 { /* sqlite3.c:213108:12: */ +func sessionChangesetStart(tls *libc.TLS, pp uintptr, xInput uintptr, pIn uintptr, nChangeset int32, pChangeset uintptr, bInvert int32, bSkipEmpty int32) int32 { /* sqlite3.c:213165:12: */ var pRet uintptr // Iterator to return var nByte int32 // Number of bytes to allocate for iterator @@ -172103,28 +172134,28 @@ func sessionChangesetStart(tls *libc.TLS, pp uintptr, xInput uintptr, pIn uintpt } // Create an iterator used to iterate through the contents of a changeset. -func Xsqlite3changeset_start(tls *libc.TLS, pp uintptr, nChangeset int32, pChangeset uintptr) int32 { /* sqlite3.c:213146:16: */ +func Xsqlite3changeset_start(tls *libc.TLS, pp uintptr, nChangeset int32, pChangeset uintptr) int32 { /* sqlite3.c:213203:16: */ return sessionChangesetStart(tls, pp, uintptr(0), uintptr(0), nChangeset, pChangeset, 0, 0) } -func Xsqlite3changeset_start_v2(tls *libc.TLS, pp uintptr, nChangeset int32, pChangeset uintptr, flags int32) int32 { /* sqlite3.c:213153:16: */ +func Xsqlite3changeset_start_v2(tls *libc.TLS, pp uintptr, nChangeset int32, pChangeset uintptr, flags int32) int32 { /* sqlite3.c:213210:16: */ var bInvert int32 = libc.BoolInt32(!!(flags&SQLITE_CHANGESETSTART_INVERT != 0)) return sessionChangesetStart(tls, pp, uintptr(0), uintptr(0), nChangeset, pChangeset, bInvert, 0) } // Streaming version of sqlite3changeset_start(). -func Xsqlite3changeset_start_strm(tls *libc.TLS, pp uintptr, xInput uintptr, pIn uintptr) int32 { /* sqlite3.c:213166:16: */ +func Xsqlite3changeset_start_strm(tls *libc.TLS, pp uintptr, xInput uintptr, pIn uintptr) int32 { /* sqlite3.c:213223:16: */ return sessionChangesetStart(tls, pp, xInput, pIn, 0, uintptr(0), 0, 0) } -func Xsqlite3changeset_start_v2_strm(tls *libc.TLS, pp uintptr, xInput uintptr, pIn uintptr, flags int32) int32 { /* sqlite3.c:213173:16: */ +func Xsqlite3changeset_start_v2_strm(tls *libc.TLS, pp uintptr, xInput uintptr, pIn uintptr, flags int32) int32 { /* sqlite3.c:213230:16: */ var bInvert int32 = libc.BoolInt32(!!(flags&SQLITE_CHANGESETSTART_INVERT != 0)) return sessionChangesetStart(tls, pp, xInput, pIn, 0, uintptr(0), bInvert, 0) } // If the SessionInput object passed as the only argument is a streaming // object and the buffer is full, discard some data to free up space. -func sessionDiscardData(tls *libc.TLS, pIn uintptr) { /* sqlite3.c:213187:13: */ +func sessionDiscardData(tls *libc.TLS, pIn uintptr) { /* sqlite3.c:213244:13: */ if (*SessionInput)(unsafe.Pointer(pIn)).FxInput != 0 && (*SessionInput)(unsafe.Pointer(pIn)).FiNext >= sessions_strm_chunk_size { var nMove int32 = (*SessionInput)(unsafe.Pointer(pIn)).Fbuf.FnBuf - (*SessionInput)(unsafe.Pointer(pIn)).FiNext @@ -172142,7 +172173,7 @@ func sessionDiscardData(tls *libc.TLS, pIn uintptr) { /* sqlite3.c:213187:13: */ // data is in the buffer. // // Return an SQLite error code if an error occurs, or SQLITE_OK otherwise. -func sessionInputBuffer(tls *libc.TLS, pIn uintptr, nByte int32) int32 { /* sqlite3.c:213207:12: */ +func sessionInputBuffer(tls *libc.TLS, pIn uintptr, nByte int32) int32 { /* sqlite3.c:213264:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -172175,7 +172206,7 @@ func sessionInputBuffer(tls *libc.TLS, pIn uintptr, nByte int32) int32 { /* sqli // When this function is called, *ppRec points to the start of a record // that contains nCol values. This function advances the pointer *ppRec // until it points to the byte immediately following that record. -func sessionSkipRecord(tls *libc.TLS, ppRec uintptr, nCol int32) { /* sqlite3.c:213235:13: */ +func sessionSkipRecord(tls *libc.TLS, ppRec uintptr, nCol int32) { /* sqlite3.c:213292:13: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -172200,7 +172231,7 @@ func sessionSkipRecord(tls *libc.TLS, ppRec uintptr, nCol int32) { /* sqlite3.c: // first argument to a copy of the string or blob held in the aData[] // buffer. SQLITE_OK is returned if successful, or SQLITE_NOMEM if an OOM // error occurs. -func sessionValueSetStr(tls *libc.TLS, pVal uintptr, aData uintptr, nData int32, enc U8) int32 { /* sqlite3.c:213261:12: */ +func sessionValueSetStr(tls *libc.TLS, pVal uintptr, aData uintptr, nData int32, enc U8) int32 { /* sqlite3.c:213318:12: */ // In theory this code could just pass SQLITE_TRANSIENT as the final // argument to sqlite3ValueSetStr() and have the copy created // automatically. But doing so makes it difficult to detect any OOM @@ -172236,7 +172267,7 @@ func sessionValueSetStr(tls *libc.TLS, pVal uintptr, aData uintptr, nData int32, // // If an error occurs, an SQLite error code (e.g. SQLITE_NOMEM) is returned. // The apOut[] array may have been partially populated in this case. -func sessionReadRecord(tls *libc.TLS, pIn uintptr, nCol int32, abPK uintptr, apOut uintptr, pbEmpty uintptr) int32 { /* sqlite3.c:213302:12: */ +func sessionReadRecord(tls *libc.TLS, pIn uintptr, nCol int32, abPK uintptr, apOut uintptr, pbEmpty uintptr) int32 { /* sqlite3.c:213359:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -172254,7 +172285,7 @@ func sessionReadRecord(tls *libc.TLS, pIn uintptr, nCol int32, abPK uintptr, apO rc = sessionInputBuffer(tls, pIn, 9) if rc == SQLITE_OK { if (*SessionInput)(unsafe.Pointer(pIn)).FiNext >= (*SessionInput)(unsafe.Pointer(pIn)).FnData { - rc = Xsqlite3CorruptError(tls, 213320) + rc = Xsqlite3CorruptError(tls, 213377) } else { eType = int32(*(*U8)(unsafe.Pointer((*SessionInput)(unsafe.Pointer(pIn)).FaData + uintptr(libc.PostIncInt32(&(*SessionInput)(unsafe.Pointer(pIn)).FiNext, 1))))) @@ -172279,7 +172310,7 @@ func sessionReadRecord(tls *libc.TLS, pIn uintptr, nCol int32, abPK uintptr, apO rc = sessionInputBuffer(tls, pIn, *(*int32)(unsafe.Pointer(bp /* nByte */))) if rc == SQLITE_OK { if *(*int32)(unsafe.Pointer(bp)) < 0 || *(*int32)(unsafe.Pointer(bp)) > (*SessionInput)(unsafe.Pointer(pIn)).FnData-(*SessionInput)(unsafe.Pointer(pIn)).FiNext { - rc = Xsqlite3CorruptError(tls, 213340) + rc = Xsqlite3CorruptError(tls, 213397) } else { var enc U8 = func() uint8 { if eType == SQLITE_TEXT { @@ -172321,7 +172352,7 @@ func sessionReadRecord(tls *libc.TLS, pIn uintptr, nCol int32, abPK uintptr, apO // buffer (i.e. that it can be accessed without any calls to xInput()). // If successful, SQLITE_OK is returned. Otherwise, an SQLite error code. // The input pointer is not moved. -func sessionChangesetBufferTblhdr(tls *libc.TLS, pIn uintptr, pnByte uintptr) int32 { /* sqlite3.c:213378:12: */ +func sessionChangesetBufferTblhdr(tls *libc.TLS, pIn uintptr, pnByte uintptr) int32 { /* sqlite3.c:213435:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -172340,7 +172371,7 @@ func sessionChangesetBufferTblhdr(tls *libc.TLS, pIn uintptr, pnByte uintptr) in // 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)) > 65536 { - rc = Xsqlite3CorruptError(tls, 213394) + rc = Xsqlite3CorruptError(tls, 213451) } else { rc = sessionInputBuffer(tls, pIn, nRead+*(*int32)(unsafe.Pointer(bp))+100) nRead = nRead + *(*int32)(unsafe.Pointer(bp)) @@ -172367,7 +172398,7 @@ func sessionChangesetBufferTblhdr(tls *libc.TLS, pIn uintptr, pnByte uintptr) in // If successful, SQLITE_OK is returned and *pnByte is set to the size of // the record in bytes. Otherwise, an SQLite error code is returned. The // final value of *pnByte is undefined in this case. -func sessionChangesetBufferRecord(tls *libc.TLS, pIn uintptr, nCol int32, pnByte uintptr) int32 { /* sqlite3.c:213421:12: */ +func sessionChangesetBufferRecord(tls *libc.TLS, pIn uintptr, nCol int32, pnByte uintptr) int32 { /* sqlite3.c:213478:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -172409,7 +172440,7 @@ func sessionChangesetBufferRecord(tls *libc.TLS, pIn uintptr, nCol int32, pnByte // If successful, SQLITE_OK is returned. Otherwise, an SQLite error code // is returned and the final values of the various fields enumerated above // are undefined. -func sessionChangesetReadTblhdr(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:213465:12: */ +func sessionChangesetReadTblhdr(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:213522:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -172429,7 +172460,7 @@ func sessionChangesetReadTblhdr(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:2 (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Ftblhdr.FnBuf = 0 sessionBufferGrow(tls, p+44, int64(nByte), bp+4) } else { - *(*int32)(unsafe.Pointer(bp + 4 /* rc */)) = Xsqlite3CorruptError(tls, 213482) + *(*int32)(unsafe.Pointer(bp + 4 /* rc */)) = Xsqlite3CorruptError(tls, 213539) } } @@ -172464,7 +172495,7 @@ func sessionChangesetReadTblhdr(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:2 // // * If the iterator is configured to skip no-op UPDATEs, // sessionChangesetNext() does that. This function does not. -func sessionChangesetNextOne(tls *libc.TLS, p uintptr, paRec uintptr, pnRec uintptr, pbNew uintptr, pbEmpty uintptr) int32 { /* sqlite3.c:213514:12: */ +func sessionChangesetNextOne(tls *libc.TLS, p uintptr, paRec uintptr, pnRec uintptr, pbNew uintptr, pbEmpty uintptr) int32 { /* sqlite3.c:213571:12: */ var i int32 var op U8 @@ -172521,13 +172552,13 @@ func sessionChangesetNextOne(tls *libc.TLS, p uintptr, paRec uintptr, pnRec uint // The first record in the changeset is not a table header. Must be a // corrupt changeset. - return libc.AssignPtrInt32(p+68, Xsqlite3CorruptError(tls, 213568)) + return libc.AssignPtrInt32(p+68, Xsqlite3CorruptError(tls, 213625)) } (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fop = int32(op) (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FbIndirect = int32(*(*U8)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FaData + uintptr(libc.PostIncInt32(&(*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FiNext, 1))))) if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fop != SQLITE_UPDATE && (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fop != SQLITE_DELETE && (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fop != SQLITE_INSERT { - return libc.AssignPtrInt32(p+68, Xsqlite3CorruptError(tls, 213574)) + return libc.AssignPtrInt32(p+68, Xsqlite3CorruptError(tls, 213631)) } if paRec != 0 { @@ -172597,7 +172628,7 @@ func sessionChangesetNextOne(tls *libc.TLS, p uintptr, paRec uintptr, pnRec uint *(*uintptr)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue + uintptr(i)*4)) = *(*uintptr)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue + uintptr(i+(*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol)*4)) if *(*uintptr)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue + uintptr(i)*4)) == uintptr(0) { - return libc.AssignPtrInt32(p+68, Xsqlite3CorruptError(tls, 213618)) + return libc.AssignPtrInt32(p+68, Xsqlite3CorruptError(tls, 213675)) } *(*uintptr)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue + uintptr(i+(*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol)*4)) = uintptr(0) } @@ -172628,7 +172659,7 @@ func sessionChangesetNextOne(tls *libc.TLS, p uintptr, paRec uintptr, pnRec uint // successfully advanced to the next change in the changeset, an SQLite // error code if an error occurs, or SQLITE_DONE if there are no further // changes in the changeset. -func sessionChangesetNext(tls *libc.TLS, p uintptr, paRec uintptr, pnRec uintptr, pbNew uintptr) int32 { /* sqlite3.c:213647:12: */ +func sessionChangesetNext(tls *libc.TLS, p uintptr, paRec uintptr, pnRec uintptr, pbNew uintptr) int32 { /* sqlite3.c:213704:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -172648,14 +172679,14 @@ func sessionChangesetNext(tls *libc.TLS, p uintptr, paRec uintptr, pnRec uintptr // // This function may not be called on iterators passed to a conflict handler // callback by changeset_apply(). -func Xsqlite3changeset_next(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:213670:16: */ +func Xsqlite3changeset_next(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:213727:16: */ return sessionChangesetNext(tls, p, uintptr(0), uintptr(0), uintptr(0)) } // The following function extracts information on the current change // from a changeset iterator. It may only be called after changeset_next() // has returned SQLITE_ROW. -func Xsqlite3changeset_op(tls *libc.TLS, pIter uintptr, pzTab uintptr, pnCol uintptr, pOp uintptr, pbIndirect uintptr) int32 { /* sqlite3.c:213679:16: */ +func Xsqlite3changeset_op(tls *libc.TLS, pIter uintptr, pzTab uintptr, pnCol uintptr, pOp uintptr, pbIndirect uintptr) int32 { /* sqlite3.c:213736:16: */ *(*int32)(unsafe.Pointer(pOp)) = (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fop *(*int32)(unsafe.Pointer(pnCol)) = (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol *(*uintptr)(unsafe.Pointer(pzTab)) = (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FzTab @@ -172669,7 +172700,7 @@ func Xsqlite3changeset_op(tls *libc.TLS, pIter uintptr, pzTab uintptr, pnCol uin // the database table affected by the change that pIter currently points // to. This function may only be called after changeset_next() returns // SQLITE_ROW. -func Xsqlite3changeset_pk(tls *libc.TLS, pIter uintptr, pabPK uintptr, pnCol uintptr) int32 { /* sqlite3.c:213699:16: */ +func Xsqlite3changeset_pk(tls *libc.TLS, pIter uintptr, pabPK uintptr, pnCol uintptr) int32 { /* sqlite3.c:213756:16: */ *(*uintptr)(unsafe.Pointer(pabPK)) = (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FabPK if pnCol != 0 { *(*int32)(unsafe.Pointer(pnCol)) = (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol @@ -172688,7 +172719,7 @@ func Xsqlite3changeset_pk(tls *libc.TLS, pIter uintptr, pabPK uintptr, pnCol uin // // If value iVal is out-of-range, SQLITE_RANGE is returned and *ppValue is // not modified. Otherwise, SQLITE_OK. -func Xsqlite3changeset_old(tls *libc.TLS, pIter uintptr, iVal int32, ppValue uintptr) int32 { /* sqlite3.c:213722:16: */ +func Xsqlite3changeset_old(tls *libc.TLS, pIter uintptr, iVal int32, ppValue uintptr) int32 { /* sqlite3.c:213779:16: */ if (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fop != SQLITE_UPDATE && (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fop != SQLITE_DELETE { return SQLITE_MISUSE } @@ -172710,7 +172741,7 @@ func Xsqlite3changeset_old(tls *libc.TLS, pIter uintptr, iVal int32, ppValue uin // // If value iVal is out-of-range, SQLITE_RANGE is returned and *ppValue is // not modified. Otherwise, SQLITE_OK. -func Xsqlite3changeset_new(tls *libc.TLS, pIter uintptr, iVal int32, ppValue uintptr) int32 { /* sqlite3.c:213750:16: */ +func Xsqlite3changeset_new(tls *libc.TLS, pIter uintptr, iVal int32, ppValue uintptr) int32 { /* sqlite3.c:213807:16: */ if (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fop != SQLITE_UPDATE && (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fop != SQLITE_INSERT { return SQLITE_MISUSE } @@ -172734,7 +172765,7 @@ func Xsqlite3changeset_new(tls *libc.TLS, pIter uintptr, iVal int32, ppValue uin // // If value iVal is out-of-range or some other error occurs, an SQLite error // code is returned. Otherwise, SQLITE_OK. -func Xsqlite3changeset_conflict(tls *libc.TLS, pIter uintptr, iVal int32, ppValue uintptr) int32 { /* sqlite3.c:213784:16: */ +func Xsqlite3changeset_conflict(tls *libc.TLS, pIter uintptr, iVal int32, ppValue uintptr) int32 { /* sqlite3.c:213841:16: */ if !(int32((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FpConflict) != 0) { return SQLITE_MISUSE } @@ -172751,7 +172782,7 @@ func Xsqlite3changeset_conflict(tls *libc.TLS, pIter uintptr, iVal int32, ppValu // violations in the destination database and returns SQLITE_OK. // // In all other cases this function returns SQLITE_MISUSE. -func Xsqlite3changeset_fk_conflicts(tls *libc.TLS, pIter uintptr, pnOut uintptr) int32 { /* sqlite3.c:213807:16: */ +func Xsqlite3changeset_fk_conflicts(tls *libc.TLS, pIter uintptr, pnOut uintptr) int32 { /* sqlite3.c:213864:16: */ if (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FpConflict != 0 || (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FapValue != 0 { return SQLITE_MISUSE } @@ -172763,7 +172794,7 @@ func Xsqlite3changeset_fk_conflicts(tls *libc.TLS, pIter uintptr, pnOut uintptr) // // This function may not be called on iterators passed to a conflict handler // callback by changeset_apply(). -func Xsqlite3changeset_finalize(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:213825:16: */ +func Xsqlite3changeset_finalize(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:213882:16: */ var rc int32 = SQLITE_OK if p != 0 { var i int32 // Used to iterate through p->apValue[] @@ -172780,7 +172811,7 @@ func Xsqlite3changeset_finalize(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:2 return rc } -func sessionChangesetInvert(tls *libc.TLS, pInput uintptr, xOutput uintptr, pOut uintptr, pnInverted uintptr, ppInverted uintptr) int32 { /* sqlite3.c:213840:12: */ +func sessionChangesetInvert(tls *libc.TLS, pInput uintptr, xOutput uintptr, pOut uintptr, pnInverted uintptr, ppInverted uintptr) int32 { /* sqlite3.c:213897:12: */ bp := tls.Alloc(40) defer tls.Free(40) @@ -173016,7 +173047,7 @@ __27: goto __6 __11: - *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) = Xsqlite3CorruptError(tls, 213967) + *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) = Xsqlite3CorruptError(tls, 214024) goto finished_invert __6: ; @@ -173067,7 +173098,7 @@ finished_invert: } // Invert a changeset object. -func Xsqlite3changeset_invert(tls *libc.TLS, nChangeset int32, pChangeset uintptr, pnInverted uintptr, ppInverted uintptr) int32 { /* sqlite3.c:213999:16: */ +func Xsqlite3changeset_invert(tls *libc.TLS, nChangeset int32, pChangeset uintptr, pnInverted uintptr, ppInverted uintptr) int32 { /* sqlite3.c:214056:16: */ bp := tls.Alloc(44) defer tls.Free(44) @@ -173082,7 +173113,7 @@ func Xsqlite3changeset_invert(tls *libc.TLS, nChangeset int32, pChangeset uintpt } // Streaming version of sqlite3changeset_invert(). -func Xsqlite3changeset_invert_strm(tls *libc.TLS, xInput uintptr, pIn uintptr, xOutput uintptr, pOut uintptr) int32 { /* sqlite3.c:214018:16: */ +func Xsqlite3changeset_invert_strm(tls *libc.TLS, xInput uintptr, pIn uintptr, xOutput uintptr, pOut uintptr) int32 { /* sqlite3.c:214075:16: */ bp := tls.Alloc(44) defer tls.Free(44) @@ -173104,9 +173135,9 @@ type SessionUpdate1 = struct { FpStmt uintptr FaMask uintptr FpNext uintptr -} /* sqlite3.c:214038:9 */ +} /* sqlite3.c:214095:9 */ -type SessionUpdate = SessionUpdate1 /* sqlite3.c:214038:30 */ +type SessionUpdate = SessionUpdate1 /* sqlite3.c:214095:30 */ type SessionApplyCtx1 = struct { Fdb uintptr @@ -173126,9 +173157,9 @@ type SessionApplyCtx1 = struct { FbRebaseStarted U8 FbRebase U8 F__ccgo_pad1 [2]byte -} /* sqlite3.c:214045:9 */ +} /* sqlite3.c:214102:9 */ -type SessionApplyCtx = SessionApplyCtx1 /* sqlite3.c:214045:32 */ +type SessionApplyCtx = SessionApplyCtx1 /* sqlite3.c:214102:32 */ // Number of prepared UPDATE statements to cache. @@ -173136,7 +173167,7 @@ type SessionApplyCtx = SessionApplyCtx1 /* sqlite3.c:214045:32 */ // being visited by the iterator. The UPDATE is of the form: // // UPDATE tbl SET col = ?, col2 = ? WHERE pk1 IS ? AND pk2 IS ? -func sessionUpdateFind(tls *libc.TLS, pIter uintptr, p uintptr, bPatchset int32, ppStmt uintptr) int32 { /* sqlite3.c:214074:12: */ +func sessionUpdateFind(tls *libc.TLS, pIter uintptr, p uintptr, bPatchset int32, ppStmt uintptr) int32 { /* sqlite3.c:214131:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -173270,7 +173301,7 @@ func sessionUpdateFind(tls *libc.TLS, pIter uintptr, p uintptr, bPatchset int32, } // Free all cached UPDATE statements. -func sessionUpdateFree(tls *libc.TLS, p uintptr) { /* sqlite3.c:214213:13: */ +func sessionUpdateFree(tls *libc.TLS, p uintptr) { /* sqlite3.c:214270:13: */ var pUp uintptr var pNext uintptr for pUp = (*SessionApplyCtx)(unsafe.Pointer(p)).FpUp; pUp != 0; pUp = pNext { @@ -173298,7 +173329,7 @@ func sessionUpdateFree(tls *libc.TLS, p uintptr) { /* sqlite3.c:214213:13: */ // // If successful, SQLITE_OK is returned and SessionApplyCtx.pDelete is left // pointing to the prepared version of the SQL statement. -func sessionDeleteRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) int32 { /* sqlite3.c:214243:12: */ +func sessionDeleteRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) int32 { /* sqlite3.c:214300:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -173360,7 +173391,7 @@ func sessionDeleteRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) int32 // // If successful, SQLITE_OK is returned and SessionApplyCtx.pSelect is left // pointing to the prepared version of the SQL statement. -func sessionSelectRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) int32 { /* sqlite3.c:214308:12: */ +func sessionSelectRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) int32 { /* sqlite3.c:214365:12: */ return sessionSelectStmt(tls, db, ts+6332, zTab, (*SessionApplyCtx)(unsafe.Pointer(p)).FnCol, (*SessionApplyCtx)(unsafe.Pointer(p)).FazCol, (*SessionApplyCtx)(unsafe.Pointer(p)).FabPK, p+12) } @@ -173372,7 +173403,7 @@ func sessionSelectRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) int32 // // If successful, SQLITE_OK is returned and SessionApplyCtx.pInsert is left // pointing to the prepared version of the SQL statement. -func sessionInsertRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) int32 { /* sqlite3.c:214326:12: */ +func sessionInsertRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) int32 { /* sqlite3.c:214383:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -173403,7 +173434,7 @@ func sessionInsertRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) int32 return *(*int32)(unsafe.Pointer(bp + 12 /* rc */)) } -func sessionPrepare(tls *libc.TLS, db uintptr, pp uintptr, zSql uintptr) int32 { /* sqlite3.c:214356:12: */ +func sessionPrepare(tls *libc.TLS, db uintptr, pp uintptr, zSql uintptr) int32 { /* sqlite3.c:214413:12: */ return Xsqlite3_prepare_v2(tls, db, zSql, -1, pp, uintptr(0)) } @@ -173411,7 +173442,7 @@ func sessionPrepare(tls *libc.TLS, db uintptr, pp uintptr, zSql uintptr) int32 { // These are similar to those created by sessionSelectRow(), // sessionInsertRow(), sessionUpdateRow() and sessionDeleteRow() for // other tables. -func sessionStat1Sql(tls *libc.TLS, db uintptr, p uintptr) int32 { /* sqlite3.c:214366:12: */ +func sessionStat1Sql(tls *libc.TLS, db uintptr, p uintptr) int32 { /* sqlite3.c:214423:12: */ var rc int32 = sessionSelectRow(tls, db, ts+11233, p) if rc == SQLITE_OK { rc = sessionPrepare(tls, db, p+8, @@ -173428,7 +173459,7 @@ func sessionStat1Sql(tls *libc.TLS, db uintptr, p uintptr) int32 { /* sqlite3.c: // A wrapper around sqlite3_bind_value() that detects an extra problem. // See comments in the body of this function for details. -func sessionBindValue(tls *libc.TLS, pStmt uintptr, i int32, pVal uintptr) int32 { /* sqlite3.c:214389:12: */ +func sessionBindValue(tls *libc.TLS, pStmt uintptr, i int32, pVal uintptr) int32 { /* sqlite3.c:214446:12: */ var eType int32 = Xsqlite3_value_type(tls, pVal) // COVERAGE: The (pVal->z==0) branch is never true using current versions // of SQLite. If a malloc fails in an sqlite3_value_xxx() function, either @@ -173455,7 +173486,7 @@ func sessionBindValue(tls *libc.TLS, pStmt uintptr, i int32, pVal uintptr) int32 // statement. // // 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) int32 { /* sqlite3.c:214422:12: */ +func sessionBindRow(tls *libc.TLS, pIter uintptr, xValue uintptr, nCol int32, abPK uintptr, pStmt uintptr) int32 { /* sqlite3.c:214479:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -173476,7 +173507,7 @@ func sessionBindRow(tls *libc.TLS, pIter uintptr, xValue uintptr, nCol int32, ab if *(*uintptr)(unsafe.Pointer(bp)) == uintptr(0) { // The value in the changeset was "undefined". This indicates a // corrupt changeset blob. - rc = Xsqlite3CorruptError(tls, 214445) + rc = Xsqlite3CorruptError(tls, 214502) } else { rc = sessionBindValue(tls, pStmt, i+1, *(*uintptr)(unsafe.Pointer(bp /* pVal */))) } @@ -173500,7 +173531,7 @@ func sessionBindRow(tls *libc.TLS, pIter uintptr, xValue uintptr, nCol int32, ab // If the iterator currently points to an INSERT record, bind values from the // new.* record to the SELECT statement. Or, if it points to a DELETE or // UPDATE, bind values from the old.* record. -func sessionSeekToRow(tls *libc.TLS, db uintptr, pIter uintptr, abPK uintptr, pSelect uintptr) int32 { /* sqlite3.c:214471:12: */ +func sessionSeekToRow(tls *libc.TLS, db uintptr, pIter uintptr, abPK uintptr, pSelect uintptr) int32 { /* sqlite3.c:214528:12: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -173544,7 +173575,7 @@ func sessionSeekToRow(tls *libc.TLS, db uintptr, pIter uintptr, abPK uintptr, pS // of apply_v2() as the "rebase" buffer. // // Return SQLITE_OK if successful, or an SQLite error code otherwise. -func sessionRebaseAdd(tls *libc.TLS, p uintptr, eType int32, pIter uintptr) int32 { /* sqlite3.c:214506:12: */ +func sessionRebaseAdd(tls *libc.TLS, p uintptr, eType int32, pIter uintptr) int32 { /* sqlite3.c:214563:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -173616,7 +173647,7 @@ func sessionRebaseAdd(tls *libc.TLS, p uintptr, eType int32, pIter uintptr) int3 // returned. Or, if the conflict handler returns an invalid value, // 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) int32 { /* sqlite3.c:214580:12: */ +func sessionConflictHandler(tls *libc.TLS, eType int32, p uintptr, pIter uintptr, xConflict uintptr, pCtx uintptr, pbReplace uintptr) int32 { /* sqlite3.c:214637:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -173716,7 +173747,7 @@ func sessionConflictHandler(tls *libc.TLS, eType int32, p uintptr, pIter uintptr // If any conflict handler returns SQLITE_CHANGESET_ABORT, this function // 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) int32 { /* sqlite3.c:214678:12: */ +func sessionApplyOneOp(tls *libc.TLS, pIter uintptr, p uintptr, xConflict uintptr, pCtx uintptr, pbReplace uintptr, pbRetry uintptr) int32 { /* sqlite3.c:214735:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -173851,7 +173882,7 @@ func sessionApplyOneOp(tls *libc.TLS, pIter uintptr, p uintptr, xConflict uintpt // function handles the case where the conflict-handler is invoked and // 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) int32 { /* sqlite3.c:214811:12: */ +func sessionApplyOneWithRetry(tls *libc.TLS, db uintptr, pIter uintptr, pApply uintptr, xConflict uintptr, pCtx uintptr) int32 { /* sqlite3.c:214868:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -173898,7 +173929,7 @@ func sessionApplyOneWithRetry(tls *libc.TLS, db uintptr, pIter uintptr, pApply u } // 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) int32 { /* sqlite3.c:214868:12: */ +func sessionRetryConstraints(tls *libc.TLS, db uintptr, bPatchset int32, zTab uintptr, pApply uintptr, xConflict uintptr, pCtx uintptr) int32 { /* sqlite3.c:214925:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -173952,7 +173983,7 @@ func sessionRetryConstraints(tls *libc.TLS, db uintptr, bPatchset int32, zTab ui // changeset to the main database attached to handle "db". The supplied // 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) int32 { /* sqlite3.c:214924:12: */ +func sessionChangesetApply(tls *libc.TLS, db uintptr, pIter uintptr, xFilter uintptr, xConflict uintptr, pCtx uintptr, ppRebase uintptr, pnRebase uintptr, flags int32) int32 { /* sqlite3.c:214981:12: */ bp := tls.Alloc(252) defer tls.Free(252) @@ -174143,7 +174174,7 @@ func sessionChangesetApply(tls *libc.TLS, db uintptr, pIter uintptr, xFilter uin // 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) int32 { /* sqlite3.c:215122:16: */ +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) int32 { /* sqlite3.c:215179:16: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -174161,7 +174192,7 @@ func Xsqlite3changeset_apply_v2(tls *libc.TLS, db uintptr, nChangeset int32, pCh // Apply the changeset passed via pChangeset/nChangeset to the main database // 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) int32 { /* sqlite3.c:215155:16: */ +func Xsqlite3changeset_apply(tls *libc.TLS, db uintptr, nChangeset int32, pChangeset uintptr, xFilter uintptr, xConflict uintptr, pCtx uintptr) int32 { /* sqlite3.c:215212:16: */ return Xsqlite3changeset_apply_v2(tls, db, nChangeset, pChangeset, xFilter, xConflict, pCtx, uintptr(0), uintptr(0), 0) } @@ -174169,7 +174200,7 @@ func Xsqlite3changeset_apply(tls *libc.TLS, db uintptr, nChangeset int32, pChang // Apply the changeset passed via xInput/pIn to the main database // 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) int32 { /* sqlite3.c:215180:16: */ +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) int32 { /* sqlite3.c:215237:16: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -174184,7 +174215,7 @@ func Xsqlite3changeset_apply_v2_strm(tls *libc.TLS, db uintptr, xInput uintptr, return rc } -func Xsqlite3changeset_apply_strm(tls *libc.TLS, db uintptr, xInput uintptr, pIn uintptr, xFilter uintptr, xConflict uintptr, pCtx uintptr) int32 { /* sqlite3.c:215207:16: */ +func Xsqlite3changeset_apply_strm(tls *libc.TLS, db uintptr, xInput uintptr, pIn uintptr, xFilter uintptr, xConflict uintptr, pCtx uintptr) int32 { /* sqlite3.c:215264:16: */ return Xsqlite3changeset_apply_v2_strm(tls, db, xInput, pIn, xFilter, xConflict, pCtx, uintptr(0), uintptr(0), 0) } @@ -174192,7 +174223,7 @@ func Xsqlite3changeset_apply_strm(tls *libc.TLS, db uintptr, xInput uintptr, pIn // This function is called to merge two changes to the same row together as // part of an sqlite3changeset_concat() operation. A new change object is // allocated and a pointer to it stored in *ppNew. -func sessionChangeMerge(tls *libc.TLS, pTab uintptr, bRebase int32, bPatchset int32, pExist uintptr, op2 int32, bIndirect int32, aRec uintptr, nRec int32, ppNew uintptr) int32 { /* sqlite3.c:215241:12: */ +func sessionChangeMerge(tls *libc.TLS, pTab uintptr, bRebase int32, bPatchset int32, pExist uintptr, op2 int32, bIndirect int32, aRec uintptr, nRec int32, ppNew uintptr) int32 { /* sqlite3.c:215298:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -174364,7 +174395,7 @@ func sessionChangeMerge(tls *libc.TLS, pTab uintptr, bRebase int32, bPatchset in // Add all changes in the changeset traversed by the iterator passed as // the first argument to the changegroup hash tables. -func sessionChangesetToHash(tls *libc.TLS, pIter uintptr, pGrp uintptr, bRebase int32) int32 { /* sqlite3.c:215423:12: */ +func sessionChangesetToHash(tls *libc.TLS, pIter uintptr, pGrp uintptr, bRebase int32) int32 { /* sqlite3.c:215480:12: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -174495,7 +174526,7 @@ func sessionChangesetToHash(tls *libc.TLS, pIter uintptr, pGrp uintptr, bRebase // If successful, SQLITE_OK is returned. Or, if an error occurs, an SQLite // 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) int32 { /* sqlite3.c:215546:12: */ +func sessionChangegroupOutput(tls *libc.TLS, pGrp uintptr, xOutput uintptr, pOut uintptr, pnOut uintptr, ppOut uintptr) int32 { /* sqlite3.c:215603:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -174549,7 +174580,7 @@ func sessionChangegroupOutput(tls *libc.TLS, pGrp uintptr, xOutput uintptr, pOut } // Allocate a new, empty, sqlite3_changegroup. -func Xsqlite3changegroup_new(tls *libc.TLS, pp uintptr) int32 { /* sqlite3.c:215597:16: */ +func Xsqlite3changegroup_new(tls *libc.TLS, pp uintptr) int32 { /* sqlite3.c:215654:16: */ var rc int32 = SQLITE_OK // Return code var p uintptr // New object p = Xsqlite3_malloc(tls, int32(unsafe.Sizeof(Sqlite3_changegroup{}))) @@ -174564,7 +174595,7 @@ func Xsqlite3changegroup_new(tls *libc.TLS, pp uintptr) int32 { /* sqlite3.c:215 // Add the changeset currently stored in buffer pData, size nData bytes, // to changeset-group p. -func Xsqlite3changegroup_add(tls *libc.TLS, pGrp uintptr, nData int32, pData uintptr) int32 { /* sqlite3.c:215614:16: */ +func Xsqlite3changegroup_add(tls *libc.TLS, pGrp uintptr, nData int32, pData uintptr) int32 { /* sqlite3.c:215671:16: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -174582,12 +174613,12 @@ func Xsqlite3changegroup_add(tls *libc.TLS, pGrp uintptr, nData int32, pData uin // Obtain a buffer containing a changeset representing the concatenation // of all changesets added to the group so far. -func Xsqlite3changegroup_output(tls *libc.TLS, pGrp uintptr, pnData uintptr, ppData uintptr) int32 { /* sqlite3.c:215630:16: */ +func Xsqlite3changegroup_output(tls *libc.TLS, pGrp uintptr, pnData uintptr, ppData uintptr) int32 { /* sqlite3.c:215687:16: */ return sessionChangegroupOutput(tls, pGrp, uintptr(0), uintptr(0), pnData, ppData) } // Streaming versions of changegroup_add(). -func Xsqlite3changegroup_add_strm(tls *libc.TLS, pGrp uintptr, xInput uintptr, pIn uintptr) int32 { /* sqlite3.c:215641:16: */ +func Xsqlite3changegroup_add_strm(tls *libc.TLS, pGrp uintptr, xInput uintptr, pIn uintptr) int32 { /* sqlite3.c:215698:16: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -174604,12 +174635,12 @@ func Xsqlite3changegroup_add_strm(tls *libc.TLS, pGrp uintptr, xInput uintptr, p } // Streaming versions of changegroup_output(). -func Xsqlite3changegroup_output_strm(tls *libc.TLS, pGrp uintptr, xOutput uintptr, pOut uintptr) int32 { /* sqlite3.c:215660:16: */ +func Xsqlite3changegroup_output_strm(tls *libc.TLS, pGrp uintptr, xOutput uintptr, pOut uintptr) int32 { /* sqlite3.c:215717:16: */ return sessionChangegroupOutput(tls, pGrp, xOutput, pOut, uintptr(0), uintptr(0)) } // Delete a changegroup object. -func Xsqlite3changegroup_delete(tls *libc.TLS, pGrp uintptr) { /* sqlite3.c:215671:17: */ +func Xsqlite3changegroup_delete(tls *libc.TLS, pGrp uintptr) { /* sqlite3.c:215728:17: */ if pGrp != 0 { sessionDeleteTable(tls, uintptr(0), (*Sqlite3_changegroup)(unsafe.Pointer(pGrp)).FpList) Xsqlite3_free(tls, pGrp) @@ -174617,7 +174648,7 @@ func Xsqlite3changegroup_delete(tls *libc.TLS, pGrp uintptr) { /* sqlite3.c:2156 } // Combine two changesets together. -func Xsqlite3changeset_concat(tls *libc.TLS, nLeft int32, pLeft uintptr, nRight int32, pRight uintptr, pnOut uintptr, ppOut uintptr) int32 { /* sqlite3.c:215681:16: */ +func Xsqlite3changeset_concat(tls *libc.TLS, nLeft int32, pLeft uintptr, nRight int32, pRight uintptr, pnOut uintptr, ppOut uintptr) int32 { /* sqlite3.c:215738:16: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -174641,7 +174672,7 @@ func Xsqlite3changeset_concat(tls *libc.TLS, nLeft int32, pLeft uintptr, nRight } // Streaming version of sqlite3changeset_concat(). -func Xsqlite3changeset_concat_strm(tls *libc.TLS, xInputA uintptr, pInA uintptr, xInputB uintptr, pInB uintptr, xOutput uintptr, pOut uintptr) int32 { /* sqlite3.c:215710:16: */ +func Xsqlite3changeset_concat_strm(tls *libc.TLS, xInputA uintptr, pInA uintptr, xInputB uintptr, pInB uintptr, xOutput uintptr, pOut uintptr) int32 { /* sqlite3.c:215767:16: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -174668,7 +174699,7 @@ func Xsqlite3changeset_concat_strm(tls *libc.TLS, xInputA uintptr, pInA uintptr, // fields in size. This function appends an nCol sessions module // record to buffer pBuf that is a copy of a1, except that for // each field that is undefined in a1[], swap in the field from a2[]. -func sessionAppendRecordMerge(tls *libc.TLS, pBuf uintptr, nCol int32, a1 uintptr, n1 int32, a2 uintptr, n2 int32, pRc uintptr) { /* sqlite3.c:215749:13: */ +func sessionAppendRecordMerge(tls *libc.TLS, pBuf uintptr, nCol int32, a1 uintptr, n1 int32, a2 uintptr, n2 int32, pRc uintptr) { /* sqlite3.c:215806:13: */ sessionBufferGrow(tls, pBuf, int64(n1+n2), pRc) if *(*int32)(unsafe.Pointer(pRc)) == SQLITE_OK { var i int32 @@ -174709,7 +174740,7 @@ func sessionAppendRecordMerge(tls *libc.TLS, pBuf uintptr, nCol int32, a1 uintpt // corresponding field in the rebase buffer is not "undefined" (0x00) // or "replaced" (0xFF), the old.* value is replaced by the value // in the rebase buffer. -func sessionAppendPartialUpdate(tls *libc.TLS, pBuf uintptr, pIter uintptr, aRec uintptr, nRec int32, aChange uintptr, nChange int32, pRc uintptr) { /* sqlite3.c:215798:13: */ +func sessionAppendPartialUpdate(tls *libc.TLS, pBuf uintptr, pIter uintptr, aRec uintptr, nRec int32, aChange uintptr, nChange int32, pRc uintptr) { /* sqlite3.c:215855:13: */ sessionBufferGrow(tls, pBuf, int64(2+nRec+nChange), pRc) if *(*int32)(unsafe.Pointer(pRc)) == SQLITE_OK { var bData int32 = 0 @@ -174771,7 +174802,7 @@ func sessionAppendPartialUpdate(tls *libc.TLS, pBuf uintptr, pIter uintptr, aRec // If an error occurs, an SQLite error code is returned. If ppOut and // 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) int32 { /* sqlite3.c:215866:12: */ +func sessionRebase(tls *libc.TLS, p uintptr, pIter uintptr, xOutput uintptr, pOut uintptr, pnOut uintptr, ppOut uintptr) int32 { /* sqlite3.c:215923:12: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -174909,7 +174940,7 @@ func sessionRebase(tls *libc.TLS, p uintptr, pIter uintptr, xOutput uintptr, pOu } // Create a new rebaser object. -func Xsqlite3rebaser_create(tls *libc.TLS, ppNew uintptr) int32 { /* sqlite3.c:215998:16: */ +func Xsqlite3rebaser_create(tls *libc.TLS, ppNew uintptr) int32 { /* sqlite3.c:216055:16: */ var rc int32 = SQLITE_OK var pNew uintptr @@ -174924,7 +174955,7 @@ func Xsqlite3rebaser_create(tls *libc.TLS, ppNew uintptr) int32 { /* sqlite3.c:2 } // Call this one or more times to configure a rebaser. -func Xsqlite3rebaser_configure(tls *libc.TLS, p uintptr, nRebase int32, pRebase uintptr) int32 { /* sqlite3.c:216015:16: */ +func Xsqlite3rebaser_configure(tls *libc.TLS, p uintptr, nRebase int32, pRebase uintptr) int32 { /* sqlite3.c:216072:16: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -174939,7 +174970,7 @@ func Xsqlite3rebaser_configure(tls *libc.TLS, p uintptr, nRebase int32, pRebase } // Rebase a changeset according to current rebaser configuration -func Xsqlite3rebaser_rebase(tls *libc.TLS, p uintptr, nIn int32, pIn uintptr, pnOut uintptr, ppOut uintptr) int32 { /* sqlite3.c:216032:16: */ +func Xsqlite3rebaser_rebase(tls *libc.TLS, p uintptr, nIn int32, pIn uintptr, pnOut uintptr, ppOut uintptr) int32 { /* sqlite3.c:216089:16: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -174955,7 +174986,7 @@ func Xsqlite3rebaser_rebase(tls *libc.TLS, p uintptr, nIn int32, pIn uintptr, pn } // 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) int32 { /* sqlite3.c:216051:16: */ +func Xsqlite3rebaser_rebase_strm(tls *libc.TLS, p uintptr, xInput uintptr, pIn uintptr, xOutput uintptr, pOut uintptr) int32 { /* sqlite3.c:216108:16: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -174971,7 +175002,7 @@ func Xsqlite3rebaser_rebase_strm(tls *libc.TLS, p uintptr, xInput uintptr, pIn u } // Destroy a rebaser object -func Xsqlite3rebaser_delete(tls *libc.TLS, p uintptr) { /* sqlite3.c:216072:17: */ +func Xsqlite3rebaser_delete(tls *libc.TLS, p uintptr) { /* sqlite3.c:216129:17: */ if p != 0 { sessionDeleteTable(tls, uintptr(0), (*Sqlite3_rebaser)(unsafe.Pointer(p)).Fgrp.FpList) Xsqlite3_free(tls, p) @@ -174979,7 +175010,7 @@ func Xsqlite3rebaser_delete(tls *libc.TLS, p uintptr) { /* sqlite3.c:216072:17: } // Global configuration -func Xsqlite3session_config(tls *libc.TLS, op int32, pArg uintptr) int32 { /* sqlite3.c:216082:16: */ +func Xsqlite3session_config(tls *libc.TLS, op int32, pArg uintptr) int32 { /* sqlite3.c:216139:16: */ var rc int32 = SQLITE_OK switch op { case SQLITE_SESSION_CONFIG_STRMSIZE: @@ -175068,7 +175099,7 @@ type Fts5Global1 = struct { FpTok uintptr FpDfltTok uintptr FpCsr uintptr -} /* sqlite3.c:216813:9 */ +} /* sqlite3.c:216870:9 */ //************* End of sqlite3session.c ************************************* //************* Begin file fts5.c ******************************************* @@ -175130,13 +175161,13 @@ type Fts5Global1 = struct { // Mark a function parameter as unused, to suppress nuisance compiler // warnings. -type Fts5Global = Fts5Global1 /* sqlite3.c:216813:27 */ +type Fts5Global = Fts5Global1 /* sqlite3.c:216870:27 */ type Fts5Colset1 = struct { FnCol int32 FaiCol [1]int32 -} /* sqlite3.c:216813:9 */ +} /* sqlite3.c:216870:9 */ -type Fts5Colset = Fts5Colset1 /* sqlite3.c:216814:27 */ +type Fts5Colset = Fts5Colset1 /* sqlite3.c:216871:27 */ // ************************************************************************* // @@ -175171,14 +175202,14 @@ type Fts5Config1 = struct { FzRank uintptr FzRankArgs uintptr FpzErrmsg uintptr -} /* sqlite3.c:216813:9 */ +} /* sqlite3.c:216870:9 */ // ************************************************************************* // // Interface to code in fts5_config.c. fts5_config.c contains contains code // to parse the arguments passed to the CREATE VIRTUAL TABLE statement. -type Fts5Config = Fts5Config1 /* sqlite3.c:216834:27 */ +type Fts5Config = Fts5Config1 /* sqlite3.c:216891:27 */ // // End of interface to code in fts5_config.c. @@ -175193,7 +175224,7 @@ type Fts5Buffer1 = struct { Fp uintptr Fn int32 FnSpace int32 -} /* sqlite3.c:216813:9 */ +} /* sqlite3.c:216870:9 */ // // End of interface to code in fts5_config.c. @@ -175204,7 +175235,7 @@ type Fts5Buffer1 = struct { // Interface to code in fts5_buffer.c. // Buffer object for the incremental building of string data. -type Fts5Buffer = Fts5Buffer1 /* sqlite3.c:216960:27 */ +type Fts5Buffer = Fts5Buffer1 /* sqlite3.c:217017:27 */ type Fts5PoslistReader1 = struct { Fa uintptr @@ -175214,19 +175245,19 @@ type Fts5PoslistReader1 = struct { FbEof U8 F__ccgo_pad1 [2]byte FiPos I64 -} /* sqlite3.c:216813:9 */ +} /* sqlite3.c:216870:9 */ -type Fts5PoslistReader = Fts5PoslistReader1 /* sqlite3.c:216996:34 */ +type Fts5PoslistReader = Fts5PoslistReader1 /* sqlite3.c:217053:34 */ -type Fts5PoslistWriter1 = struct{ FiPrev I64 } /* sqlite3.c:217015:9 */ +type Fts5PoslistWriter1 = struct{ FiPrev I64 } /* sqlite3.c:217072:9 */ -type Fts5PoslistWriter = Fts5PoslistWriter1 /* sqlite3.c:217015:34 */ +type Fts5PoslistWriter = Fts5PoslistWriter1 /* sqlite3.c:217072:34 */ // Bucket of terms object used by the integrity-check in offsets=0 mode. -type Fts5Termset1 = struct{ FapHash [512]uintptr } /* sqlite3.c:217037:9 */ +type Fts5Termset1 = struct{ FapHash [512]uintptr } /* sqlite3.c:217094:9 */ // Bucket of terms object used by the integrity-check in offsets=0 mode. -type Fts5Termset = Fts5Termset1 /* sqlite3.c:217037:28 */ +type Fts5Termset = Fts5Termset1 /* sqlite3.c:217094:28 */ // // End of interface to code in fts5_buffer.c. @@ -175258,7 +175289,7 @@ type Fts5Index1 = struct { FiStructVersion I64 FpStruct uintptr F__ccgo_pad2 [4]byte -} /* sqlite3.c:216813:9 */ +} /* sqlite3.c:216870:9 */ // // End of interface to code in fts5_buffer.c. @@ -175269,16 +175300,16 @@ type Fts5Index1 = struct { // Interface to code in fts5_index.c. fts5_index.c contains contains code // to access the data stored in the %_data table. -type Fts5Index = Fts5Index1 /* sqlite3.c:217051:26 */ +type Fts5Index = Fts5Index1 /* sqlite3.c:217108:26 */ type Fts5IndexIter1 = struct { FiRowid I64 FpData uintptr FnData int32 FbEof U8 F__ccgo_pad1 [7]byte -} /* sqlite3.c:216813:9 */ +} /* sqlite3.c:216870:9 */ -type Fts5IndexIter = Fts5IndexIter1 /* sqlite3.c:217052:30 */ +type Fts5IndexIter = Fts5IndexIter1 /* sqlite3.c:217109:30 */ // // End of interface to code in fts5_varint.c. @@ -175293,7 +175324,7 @@ type Fts5Table1 = struct { Fbase Sqlite3_vtab FpConfig uintptr FpIndex uintptr -} /* sqlite3.c:217254:9 */ +} /* sqlite3.c:217311:9 */ // // End of interface to code in fts5_varint.c. @@ -175304,7 +175335,7 @@ type Fts5Table1 = struct { // Interface to code in fts5_main.c. // Virtual-table object. -type Fts5Table = Fts5Table1 /* sqlite3.c:217254:26 */ +type Fts5Table = Fts5Table1 /* sqlite3.c:217311:26 */ // // End of interface to code in fts5.c. @@ -175320,7 +175351,7 @@ type Fts5Hash1 = struct { FnSlot int32 FpScan uintptr FaSlot uintptr -} /* sqlite3.c:216813:9 */ +} /* sqlite3.c:216870:9 */ // // End of interface to code in fts5.c. @@ -175329,7 +175360,7 @@ type Fts5Hash1 = struct { // ************************************************************************* // // Interface to code in fts5_hash.c. -type Fts5Hash = Fts5Hash1 /* sqlite3.c:217280:25 */ +type Fts5Hash = Fts5Hash1 /* sqlite3.c:217337:25 */ // // End of interface to code in fts5_hash.c. @@ -175348,7 +175379,7 @@ type Fts5Storage1 = struct { FnTotalRow I64 FaTotalSize uintptr FaStmt [11]uintptr -} /* sqlite3.c:217336:9 */ +} /* sqlite3.c:217393:9 */ // // End of interface to code in fts5_hash.c. @@ -175359,7 +175390,7 @@ type Fts5Storage1 = struct { // Interface to code in fts5_storage.c. fts5_storage.c contains contains // code to access the data stored in the %_content and %_docsize tables. -type Fts5Storage = Fts5Storage1 /* sqlite3.c:217336:28 */ +type Fts5Storage = Fts5Storage1 /* sqlite3.c:217393:28 */ // // End of interface to code in fts5_storage.c. @@ -175375,7 +175406,7 @@ type Fts5Expr1 = struct { FbDesc int32 FnPhrase int32 FapExprPhrase uintptr -} /* sqlite3.c:216813:9 */ +} /* sqlite3.c:216870:9 */ // // End of interface to code in fts5_storage.c. @@ -175384,7 +175415,7 @@ type Fts5Expr1 = struct { // ************************************************************************* // // Interface to code in fts5_expr.c. -type Fts5Expr = Fts5Expr1 /* sqlite3.c:217379:25 */ +type Fts5Expr = Fts5Expr1 /* sqlite3.c:217436:25 */ type Fts5ExprNode1 = struct { FeType int32 FbEof int32 @@ -175395,9 +175426,9 @@ type Fts5ExprNode1 = struct { FnChild int32 FapChild [1]uintptr F__ccgo_pad1 [4]byte -} /* sqlite3.c:216813:9 */ +} /* sqlite3.c:216870:9 */ -type Fts5ExprNode = Fts5ExprNode1 /* sqlite3.c:217380:29 */ +type Fts5ExprNode = Fts5ExprNode1 /* sqlite3.c:217437:29 */ type Fts5Parse1 = struct { FpConfig uintptr FzErr uintptr @@ -175406,39 +175437,39 @@ type Fts5Parse1 = struct { FapPhrase uintptr FpExpr uintptr FbPhraseToAnd int32 -} /* sqlite3.c:217381:9 */ +} /* sqlite3.c:217438:9 */ -type Fts5Parse = Fts5Parse1 /* sqlite3.c:217381:26 */ +type Fts5Parse = Fts5Parse1 /* sqlite3.c:217438:26 */ type Fts5Token1 = struct { Fp uintptr Fn int32 -} /* sqlite3.c:217382:9 */ +} /* sqlite3.c:217439:9 */ -type Fts5Token = Fts5Token1 /* sqlite3.c:217382:26 */ +type Fts5Token = Fts5Token1 /* sqlite3.c:217439:26 */ type Fts5ExprPhrase1 = struct { FpNode uintptr Fposlist Fts5Buffer FnTerm int32 FaTerm [1]Fts5ExprTerm -} /* sqlite3.c:216813:9 */ +} /* sqlite3.c:216870:9 */ -type Fts5ExprPhrase = Fts5ExprPhrase1 /* sqlite3.c:217383:31 */ +type Fts5ExprPhrase = Fts5ExprPhrase1 /* sqlite3.c:217440:31 */ type Fts5ExprNearset1 = struct { FnNear int32 FpColset uintptr FnPhrase int32 FapPhrase [1]uintptr -} /* sqlite3.c:216813:9 */ +} /* sqlite3.c:216870:9 */ -type Fts5ExprNearset = Fts5ExprNearset1 /* sqlite3.c:217384:32 */ +type Fts5ExprNearset = Fts5ExprNearset1 /* sqlite3.c:217441:32 */ type Fts5PoslistPopulator1 = struct { Fwriter Fts5PoslistWriter FbOk int32 FbMiss int32 -} /* sqlite3.c:217432:9 */ +} /* sqlite3.c:217489:9 */ -type Fts5PoslistPopulator = Fts5PoslistPopulator1 /* sqlite3.c:217432:37 */ +type Fts5PoslistPopulator = Fts5PoslistPopulator1 /* sqlite3.c:217489:37 */ // // End of interface to code in fts5_unicode2.c. // @@ -175542,7 +175573,7 @@ type Fts5PoslistPopulator = Fts5PoslistPopulator1 /* sqlite3.c:217432:37 */ type Fts5YYMINORTYPE = struct { Ffts5yyinit int32 F__ccgo_pad1 [4]byte -} /* sqlite3.c:217708:3 */ +} /* sqlite3.c:217765:3 */ //************ End control #defines ****************************************** // Define the fts5yytestcase() macro to be a no-op if is not already defined @@ -175615,7 +175646,7 @@ var fts5yy_action = [105]uint8{ /* 80 */ uint8(5), uint8(3), uint8(63), uint8(5), uint8(3), uint8(62), uint8(12), uint8(2), uint8(86), uint8(13), /* 90 */ uint8(9), uint8(30), uint8(10), uint8(10), uint8(54), uint8(57), uint8(75), uint8(78), uint8(78), uint8(53), /* 100 */ uint8(57), uint8(15), uint8(82), uint8(82), uint8(71), -} /* sqlite3.c:217801:31 */ +} /* sqlite3.c:217858:31 */ var fts5yy_lookahead = [121]uint8{ /* 0 */ uint8(16), uint8(17), uint8(18), uint8(19), uint8(20), uint8(22), uint8(22), uint8(24), uint8(24), uint8(17), /* 10 */ uint8(18), uint8(19), uint8(20), uint8(7), uint8(22), uint8(9), uint8(24), uint8(17), uint8(18), uint8(19), @@ -175630,23 +175661,23 @@ var fts5yy_lookahead = [121]uint8{ /* 100 */ uint8(9), uint8(9), uint8(27), uint8(27), uint8(11), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), /* 110 */ uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), /* 120 */ uint8(27), -} /* sqlite3.c:217814:29 */ +} /* sqlite3.c:217871:29 */ var fts5yy_shift_ofst = [35]uint8{ /* 0 */ uint8(44), uint8(44), uint8(44), uint8(44), uint8(44), uint8(44), uint8(51), uint8(77), uint8(43), uint8(12), /* 10 */ uint8(14), uint8(83), uint8(82), uint8(14), uint8(23), uint8(23), uint8(31), uint8(31), uint8(71), uint8(74), /* 20 */ uint8(78), uint8(81), uint8(86), uint8(91), uint8(6), uint8(53), uint8(53), uint8(60), uint8(64), uint8(68), /* 30 */ uint8(53), uint8(87), uint8(92), uint8(53), uint8(93), -} /* sqlite3.c:217832:28 */ +} /* sqlite3.c:217889:28 */ var fts5yy_reduce_ofst = [18]int8{ /* 0 */ int8(-16), int8(-8), int8(0), int8(9), int8(17), int8(25), int8(46), int8(-17), int8(-17), int8(37), /* 10 */ int8(67), int8(4), int8(4), int8(8), int8(4), int8(20), int8(27), int8(38), -} /* sqlite3.c:217841:26 */ +} /* sqlite3.c:217898:26 */ var fts5yy_default = [35]uint8{ /* 0 */ uint8(80), uint8(80), uint8(80), uint8(80), uint8(80), uint8(80), uint8(95), uint8(80), uint8(80), uint8(105), /* 10 */ uint8(80), uint8(110), uint8(110), uint8(80), uint8(110), uint8(110), uint8(80), uint8(80), uint8(80), uint8(80), /* 20 */ uint8(80), uint8(91), uint8(80), uint8(80), uint8(80), uint8(101), uint8(100), uint8(80), uint8(80), uint8(90), /* 30 */ uint8(103), uint8(80), uint8(80), uint8(104), uint8(80), -} /* sqlite3.c:217845:31 */ +} /* sqlite3.c:217902:31 */ //********* End of lemon-generated parsing tables **************************** // The next table maps tokens (terminal symbols) into fallback tokens. @@ -175683,9 +175714,9 @@ type fts5yyStackEntry = struct { Fmajor uint8 F__ccgo_pad1 [2]byte Fminor Fts5YYMINORTYPE -} /* sqlite3.c:217888:1 */ +} /* sqlite3.c:217945:1 */ -type Fts5yyStackEntry = fts5yyStackEntry /* sqlite3.c:217895:33 */ +type Fts5yyStackEntry = fts5yyStackEntry /* sqlite3.c:217952:33 */ // The state of the parser is completely contained in an instance of // the following structure @@ -175694,9 +175725,9 @@ type fts5yyParser = struct { FpParse uintptr Ffts5yystack [100]Fts5yyStackEntry Ffts5yystackEnd uintptr -} /* sqlite3.c:217899:1 */ +} /* sqlite3.c:217956:1 */ -type Fts5yyParser = fts5yyParser /* sqlite3.c:217918:29 */ +type Fts5yyParser = fts5yyParser /* sqlite3.c:217975:29 */ // #include @@ -175706,7 +175737,7 @@ type Fts5yyParser = fts5yyParser /* sqlite3.c:217918:29 */ // grammar. // Initialize a new parser that has already been allocated. -func sqlite3Fts5ParserInit(tls *libc.TLS, fts5yypRawParser uintptr) { /* sqlite3.c:218067:13: */ +func sqlite3Fts5ParserInit(tls *libc.TLS, fts5yypRawParser uintptr) { /* sqlite3.c:218124:13: */ var fts5yypParser uintptr = fts5yypRawParser (*Fts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yytos = fts5yypParser + 8 /* &.fts5yystack */ @@ -175725,7 +175756,7 @@ func sqlite3Fts5ParserInit(tls *libc.TLS, fts5yypRawParser uintptr) { /* sqlite3 // Outputs: // A pointer to a parser. This pointer is used in subsequent calls // to sqlite3Fts5Parser and sqlite3Fts5ParserFree. -func sqlite3Fts5ParserAlloc(tls *libc.TLS, mallocProc uintptr) uintptr { /* sqlite3.c:218106:13: */ +func sqlite3Fts5ParserAlloc(tls *libc.TLS, mallocProc uintptr) uintptr { /* sqlite3.c:218163:13: */ var fts5yypParser uintptr fts5yypParser = (*struct{ f func(*libc.TLS, U64) uintptr })(unsafe.Pointer(&struct{ uintptr }{mallocProc})).f(tls, U64(unsafe.Sizeof(Fts5yyParser{}))) if fts5yypParser != 0 { @@ -175741,7 +175772,7 @@ func sqlite3Fts5ParserAlloc(tls *libc.TLS, mallocProc uintptr) uintptr { /* sqli // a pointer to the value to be deleted. The code used to do the // deletions is derived from the %destructor and/or %token_destructor // directives of the input grammar. -func fts5yy_destructor(tls *libc.TLS, fts5yypParser uintptr, fts5yymajor uint8, fts5yypminor uintptr) { /* sqlite3.c:218125:13: */ +func fts5yy_destructor(tls *libc.TLS, fts5yypParser uintptr, fts5yymajor uint8, fts5yypminor uintptr) { /* sqlite3.c:218182:13: */ var pParse uintptr = (*Fts5yyParser)(unsafe.Pointer(fts5yypParser)).FpParse _ = pParse @@ -175799,7 +175830,7 @@ func fts5yy_destructor(tls *libc.TLS, fts5yypParser uintptr, fts5yymajor uint8, // // If there is a destructor routine associated with the token which // is popped from the stack, then call it. -func fts5yy_pop_parser_stack(tls *libc.TLS, pParser uintptr) { /* sqlite3.c:218184:13: */ +func fts5yy_pop_parser_stack(tls *libc.TLS, pParser uintptr) { /* sqlite3.c:218241:13: */ var fts5yytos uintptr fts5yytos = libc.PostDecUintptr(&(*Fts5yyParser)(unsafe.Pointer(pParser)).Ffts5yytos, 12) @@ -175807,7 +175838,7 @@ func fts5yy_pop_parser_stack(tls *libc.TLS, pParser uintptr) { /* sqlite3.c:2181 } // Clear all secondary memory allocations from the parser -func sqlite3Fts5ParserFinalize(tls *libc.TLS, p uintptr) { /* sqlite3.c:218202:13: */ +func sqlite3Fts5ParserFinalize(tls *libc.TLS, p uintptr) { /* sqlite3.c:218259:13: */ var pParser uintptr = p for (*Fts5yyParser)(unsafe.Pointer(pParser)).Ffts5yytos > pParser+8 { fts5yy_pop_parser_stack(tls, pParser) @@ -175820,7 +175851,7 @@ func sqlite3Fts5ParserFinalize(tls *libc.TLS, p uintptr) { /* sqlite3.c:218202:1 // If the fts5YYPARSEFREENEVERNULL macro exists (for example because it // 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) { /* sqlite3.c:218219:13: */ +func sqlite3Fts5ParserFree(tls *libc.TLS, p uintptr, freeProc uintptr) { /* sqlite3.c:218276:13: */ if p == uintptr(0) { return } @@ -175844,7 +175875,7 @@ func sqlite3Fts5ParserFree(tls *libc.TLS, p uintptr, freeProc uintptr) { /* sqli // Find the appropriate action for a parser given the terminal // look-ahead token iLookAhead. -func fts5yy_find_shift_action(tls *libc.TLS, iLookAhead uint8, stateno uint8) uint8 { /* sqlite3.c:218282:25: */ +func fts5yy_find_shift_action(tls *libc.TLS, iLookAhead uint8, stateno uint8) uint8 { /* sqlite3.c:218339:25: */ var i int32 if int32(stateno) > Fts5YY_MAX_SHIFT { @@ -175868,7 +175899,7 @@ func fts5yy_find_shift_action(tls *libc.TLS, iLookAhead uint8, stateno uint8) ui // Find the appropriate action for a parser given the non-terminal // look-ahead token iLookAhead. -func fts5yy_find_reduce_action(tls *libc.TLS, stateno uint8, iLookAhead uint8) uint8 { /* sqlite3.c:218347:25: */ +func fts5yy_find_reduce_action(tls *libc.TLS, stateno uint8, iLookAhead uint8) uint8 { /* sqlite3.c:218404:25: */ var i int32 i = int32(fts5yy_reduce_ofst[stateno]) @@ -175879,7 +175910,7 @@ func fts5yy_find_reduce_action(tls *libc.TLS, stateno uint8, iLookAhead uint8) u } // The following routine is called if the stack overflows. -func fts5yyStackOverflow(tls *libc.TLS, fts5yypParser uintptr) { /* sqlite3.c:218376:13: */ +func fts5yyStackOverflow(tls *libc.TLS, fts5yypParser uintptr) { /* sqlite3.c:218433:13: */ var pParse uintptr = (*Fts5yyParser)(unsafe.Pointer(fts5yypParser)).FpParse for (*Fts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yytos > fts5yypParser+8 { @@ -175898,7 +175929,7 @@ func fts5yyStackOverflow(tls *libc.TLS, fts5yypParser uintptr) { /* sqlite3.c:21 // Print tracing information for a SHIFT action // Perform a shift action. -func fts5yy_shift(tls *libc.TLS, fts5yypParser uintptr, fts5yyNewState uint8, fts5yyMajor uint8, fts5yyMinor Fts5Token) { /* sqlite3.c:218419:13: */ +func fts5yy_shift(tls *libc.TLS, fts5yypParser uintptr, fts5yyNewState uint8, fts5yyMajor uint8, fts5yyMinor Fts5Token) { /* sqlite3.c:218476:13: */ var fts5yytos uintptr (*Fts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yytos += 12 if (*Fts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yytos > (*Fts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yystackEnd { @@ -175947,7 +175978,7 @@ var fts5yyRuleInfoLhs = [28]uint8{ uint8(24), // (25) phrase ::= STRING star_opt uint8(26), // (26) star_opt ::= STAR uint8(26), // (27) star_opt ::= -} /* sqlite3.c:218460:29 */ +} /* sqlite3.c:218517:29 */ // For rule J, fts5yyRuleInfoNRhs[J] contains the negative of the number // of symbols on the right-hand side of that rule. @@ -175980,7 +176011,7 @@ var fts5yyRuleInfoNRhs = [28]int8{ int8(-2), // (25) phrase ::= STRING star_opt int8(-1), // (26) star_opt ::= STAR int8(0), // (27) star_opt ::= -} /* sqlite3.c:218493:26 */ +} /* sqlite3.c:218550:26 */ // Forward Declaration @@ -175992,7 +176023,7 @@ var fts5yyRuleInfoNRhs = [28]int8{ // if the lookahead token has already been consumed. As this procedure is // only called from one place, optimizing compilers will in-line it, which // means that the extra parameters have no performance impact. -func fts5yy_reduce(tls *libc.TLS, fts5yypParser uintptr, fts5yyruleno uint32, fts5yyLookahead int32, fts5yyLookaheadToken Fts5Token) uint8 { /* sqlite3.c:218536:25: */ +func fts5yy_reduce(tls *libc.TLS, fts5yypParser uintptr, fts5yyruleno uint32, fts5yyLookahead int32, fts5yyLookaheadToken Fts5Token) uint8 { /* sqlite3.c:218593:25: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -176202,7 +176233,7 @@ func fts5yy_reduce(tls *libc.TLS, fts5yypParser uintptr, fts5yyruleno uint32, ft // The following code executes when the parse fails // The following code executes when a syntax error first occurs. -func fts5yy_syntax_error(tls *libc.TLS, fts5yypParser uintptr, fts5yymajor int32, fts5yyminor Fts5Token) { /* sqlite3.c:218754:13: */ +func fts5yy_syntax_error(tls *libc.TLS, fts5yypParser uintptr, fts5yymajor int32, fts5yyminor Fts5Token) { /* sqlite3.c:218811:13: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -176219,7 +176250,7 @@ func fts5yy_syntax_error(tls *libc.TLS, fts5yypParser uintptr, fts5yymajor int32 } // The following is executed when the parser accepts -func fts5yy_accept(tls *libc.TLS, fts5yypParser uintptr) { /* sqlite3.c:218776:13: */ +func fts5yy_accept(tls *libc.TLS, fts5yypParser uintptr) { /* sqlite3.c:218833:13: */ var pParse uintptr = (*Fts5yyParser)(unsafe.Pointer(fts5yypParser)).FpParse // Here code is inserted which will be executed whenever the @@ -176248,7 +176279,7 @@ func fts5yy_accept(tls *libc.TLS, fts5yypParser uintptr) { /* sqlite3.c:218776:1 // // Outputs: // None. -func sqlite3Fts5Parser(tls *libc.TLS, fts5yyp uintptr, fts5yymajor int32, fts5yyminor Fts5Token, pParse uintptr) { /* sqlite3.c:218817:13: */ +func sqlite3Fts5Parser(tls *libc.TLS, fts5yyp uintptr, fts5yymajor int32, fts5yyminor Fts5Token, pParse uintptr) { /* sqlite3.c:218874:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -176303,7 +176334,7 @@ func sqlite3Fts5Parser(tls *libc.TLS, fts5yyp uintptr, fts5yymajor int32, fts5yy // Return the fallback token corresponding to canonical token iToken, or // 0 if iToken has no fallback. -func sqlite3Fts5ParserFallback(tls *libc.TLS, iToken int32) int32 { /* sqlite3.c:219034:12: */ +func sqlite3Fts5ParserFallback(tls *libc.TLS, iToken int32) int32 { /* sqlite3.c:219091:12: */ _ = iToken return 0 } @@ -176365,7 +176396,7 @@ type CInstIter1 = struct { FnInst int32 FiStart int32 FiEnd int32 -} /* sqlite3.c:219080:9 */ +} /* sqlite3.c:219137:9 */ // 2014 May 31 // @@ -176416,11 +176447,11 @@ type CInstIter1 = struct { // printf("instance starts at %d, ends at %d\n", iter.iStart, iter.iEnd); // } // -type CInstIter = CInstIter1 /* sqlite3.c:219080:26 */ +type CInstIter = CInstIter1 /* sqlite3.c:219137:26 */ // Advance the iterator to the next coalesced phrase instance. Return // an SQLite error code if an error occurs, or SQLITE_OK otherwise. -func fts5CInstIterNext(tls *libc.TLS, pIter uintptr) int32 { /* sqlite3.c:219097:12: */ +func fts5CInstIterNext(tls *libc.TLS, pIter uintptr) int32 { /* sqlite3.c:219154:12: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -176463,7 +176494,7 @@ func fts5CInstIterNext(tls *libc.TLS, pIter uintptr) int32 { /* sqlite3.c:219097 // Initialize the iterator object indicated by the final parameter to // iterate through coalesced phrase instances in column iCol. -func fts5CInstIterInit(tls *libc.TLS, pApi uintptr, pFts uintptr, iCol int32, pIter uintptr) int32 { /* sqlite3.c:219128:12: */ +func fts5CInstIterInit(tls *libc.TLS, pApi uintptr, pFts uintptr, iCol int32, pIter uintptr) int32 { /* sqlite3.c:219185:12: */ var rc int32 libc.Xmemset(tls, pIter, 0, uint32(unsafe.Sizeof(CInstIter{}))) @@ -176495,12 +176526,12 @@ type HighlightContext1 = struct { FnIn int32 FiOff int32 FzOut uintptr -} /* sqlite3.c:219154:9 */ +} /* sqlite3.c:219211:9 */ // ************************************************************************ // // Start of highlight() implementation. -type HighlightContext = HighlightContext1 /* sqlite3.c:219154:33 */ +type HighlightContext = HighlightContext1 /* sqlite3.c:219211:33 */ // Append text to the HighlightContext output string - p->zOut. Argument // z points to a buffer containing n bytes of text to append. If n is @@ -176509,7 +176540,7 @@ type HighlightContext = HighlightContext1 /* sqlite3.c:219154:33 */ // If *pRc is set to any value other than SQLITE_OK when this function is // called, it is a no-op. If an error (i.e. an OOM condition) is encountered, // *pRc is set to an error code before returning. -func fts5HighlightAppend(tls *libc.TLS, pRc uintptr, p uintptr, z uintptr, n int32) { /* sqlite3.c:219177:13: */ +func fts5HighlightAppend(tls *libc.TLS, pRc uintptr, p uintptr, z uintptr, n int32) { /* sqlite3.c:219234:13: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -176525,7 +176556,7 @@ func fts5HighlightAppend(tls *libc.TLS, pRc uintptr, p uintptr, z uintptr, n int } // Tokenizer callback used by implementation of highlight() function. -func fts5HighlightCb(tls *libc.TLS, pContext uintptr, tflags int32, pToken uintptr, nToken int32, iStartOff int32, iEndOff int32) int32 { /* sqlite3.c:219192:12: */ +func fts5HighlightCb(tls *libc.TLS, pContext uintptr, tflags int32, pToken uintptr, nToken int32, iStartOff int32, iEndOff int32) int32 { /* sqlite3.c:219249:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -176580,7 +176611,7 @@ func fts5HighlightCb(tls *libc.TLS, pContext uintptr, tflags int32, pToken uintp } // Implementation of highlight() function. -func fts5HighlightFunction(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uintptr, nVal int32, apVal uintptr) { /* sqlite3.c:219246:13: */ +func fts5HighlightFunction(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uintptr, nVal int32, apVal uintptr) { /* sqlite3.c:219303:13: */ bp := tls.Alloc(68) defer tls.Free(68) @@ -176639,19 +176670,19 @@ type Fts5SFinder1 = struct { FnFirst int32 FaFirst uintptr FzDoc uintptr -} /* sqlite3.c:219295:9 */ +} /* sqlite3.c:219352:9 */ // // End of highlight() implementation. // // Context object passed to the fts5SentenceFinderCb() function. -type Fts5SFinder = Fts5SFinder1 /* sqlite3.c:219295:28 */ +type Fts5SFinder = Fts5SFinder1 /* sqlite3.c:219352:28 */ // Add an entry to the Fts5SFinder.aFirst[] array. Grow the array if // necessary. Return SQLITE_OK if successful, or SQLITE_NOMEM if an // error occurs. -func fts5SentenceFinderAdd(tls *libc.TLS, p uintptr, iAdd int32) int32 { /* sqlite3.c:219309:12: */ +func fts5SentenceFinderAdd(tls *libc.TLS, p uintptr, iAdd int32) int32 { /* sqlite3.c:219366:12: */ if (*Fts5SFinder)(unsafe.Pointer(p)).FnFirstAlloc == (*Fts5SFinder)(unsafe.Pointer(p)).FnFirst { var nNew int32 if (*Fts5SFinder)(unsafe.Pointer(p)).FnFirstAlloc != 0 { @@ -176675,7 +176706,7 @@ func fts5SentenceFinderAdd(tls *libc.TLS, p uintptr, iAdd int32) int32 { /* sqli // This function is an xTokenize() callback used by the auxiliary snippet() // function. Its job is to identify tokens that are the first in a sentence. // For each such token, an entry is added to the SFinder.aFirst[] array. -func fts5SentenceFinderCb(tls *libc.TLS, pContext uintptr, tflags int32, pToken uintptr, nToken int32, iStartOff int32, iEndOff int32) int32 { /* sqlite3.c:219328:12: */ +func fts5SentenceFinderCb(tls *libc.TLS, pContext uintptr, tflags int32, pToken uintptr, nToken int32, iStartOff int32, iEndOff int32) int32 { /* sqlite3.c:219385:12: */ var rc int32 = SQLITE_OK _ = pToken @@ -176704,7 +176735,7 @@ func fts5SentenceFinderCb(tls *libc.TLS, pContext uintptr, tflags int32, pToken return rc } -func fts5SnippetScore(tls *libc.TLS, pApi uintptr, pFts uintptr, nDocsize int32, aSeen uintptr, iCol int32, iPos int32, nToken int32, pnScore uintptr, piPos uintptr) int32 { /* sqlite3.c:219361:12: */ +func fts5SnippetScore(tls *libc.TLS, pApi uintptr, pFts uintptr, nDocsize int32, aSeen uintptr, iCol int32, iPos int32, nToken int32, pnScore uintptr, piPos uintptr) int32 { /* sqlite3.c:219418:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -176762,7 +176793,7 @@ func fts5SnippetScore(tls *libc.TLS, pApi uintptr, pFts uintptr, nDocsize int32, // Return the value in pVal interpreted as utf-8 text. Except, if pVal // contains a NULL value, return a pointer to a static string zero // bytes in length instead of a NULL pointer. -func fts5ValueToText(tls *libc.TLS, pVal uintptr) uintptr { /* sqlite3.c:219410:19: */ +func fts5ValueToText(tls *libc.TLS, pVal uintptr) uintptr { /* sqlite3.c:219467:19: */ var zRet uintptr = Xsqlite3_value_text(tls, pVal) if zRet != 0 { return zRet @@ -176771,7 +176802,7 @@ func fts5ValueToText(tls *libc.TLS, pVal uintptr) uintptr { /* sqlite3.c:219410: } // Implementation of snippet() function. -func fts5SnippetFunction(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uintptr, nVal int32, apVal uintptr) { /* sqlite3.c:219418:13: */ +func fts5SnippetFunction(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uintptr, nVal int32, apVal uintptr) { /* sqlite3.c:219475:13: */ bp := tls.Alloc(124) defer tls.Free(124) @@ -176986,17 +177017,17 @@ type Fts5Bm25Data1 = struct { Favgdl float64 FaIDF uintptr FaFreq uintptr -} /* sqlite3.c:219576:9 */ +} /* sqlite3.c:219633:9 */ //********************************************************************** // The first time the bm25() function is called for a query, an instance // of the following structure is allocated and populated. -type Fts5Bm25Data = Fts5Bm25Data1 /* sqlite3.c:219576:29 */ +type Fts5Bm25Data = Fts5Bm25Data1 /* sqlite3.c:219633:29 */ // Callback used by fts5Bm25GetData() to count the number of rows in the // table matched by each individual phrase within the query. -func fts5CountCb(tls *libc.TLS, pApi uintptr, pFts uintptr, pUserData uintptr) int32 { /* sqlite3.c:219588:12: */ +func fts5CountCb(tls *libc.TLS, pApi uintptr, pFts uintptr, pUserData uintptr) int32 { /* sqlite3.c:219645:12: */ var pn uintptr = pUserData _ = pApi _ = pFts @@ -177007,7 +177038,7 @@ func fts5CountCb(tls *libc.TLS, pApi uintptr, pFts uintptr, pUserData uintptr) i // Set *ppData to point to the Fts5Bm25Data object for the current query. // If the object has not already been allocated, allocate and populate it // now. -func fts5Bm25GetData(tls *libc.TLS, pApi uintptr, pFts uintptr, ppData uintptr) int32 { /* sqlite3.c:219604:12: */ +func fts5Bm25GetData(tls *libc.TLS, pApi uintptr, pFts uintptr, ppData uintptr) int32 { /* sqlite3.c:219661:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -177101,7 +177132,7 @@ func fts5Bm25GetData(tls *libc.TLS, pApi uintptr, pFts uintptr, ppData uintptr) } // Implementation of bm25() function. -func fts5Bm25Function(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uintptr, nVal int32, apVal uintptr) { /* sqlite3.c:219677:13: */ +func fts5Bm25Function(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uintptr, nVal int32, apVal uintptr) { /* sqlite3.c:219734:13: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -177169,7 +177200,7 @@ func fts5Bm25Function(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uintptr, n } } -func sqlite3Fts5AuxInit(tls *libc.TLS, pApi uintptr) int32 { /* sqlite3.c:219733:12: */ +func sqlite3Fts5AuxInit(tls *libc.TLS, pApi uintptr) int32 { /* sqlite3.c:219790:12: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -177205,7 +177236,7 @@ type Builtin = struct { FpUserData uintptr FxFunc Fts5_extension_function FxDestroy uintptr -} /* sqlite3.c:219734:3 */ +} /* sqlite3.c:219791:3 */ // 2014 May 31 // @@ -177220,7 +177251,7 @@ type Builtin = struct { // #include "fts5Int.h" -func sqlite3Fts5BufferSize(tls *libc.TLS, pRc uintptr, pBuf uintptr, nByte U32) int32 { /* sqlite3.c:219776:12: */ +func sqlite3Fts5BufferSize(tls *libc.TLS, pRc uintptr, pBuf uintptr, nByte U32) int32 { /* sqlite3.c:219833:12: */ if U32((*Fts5Buffer)(unsafe.Pointer(pBuf)).FnSpace) < nByte { var nNew U64 if (*Fts5Buffer)(unsafe.Pointer(pBuf)).FnSpace != 0 { @@ -177246,7 +177277,7 @@ func sqlite3Fts5BufferSize(tls *libc.TLS, pRc uintptr, pBuf uintptr, nByte U32) // Encode value iVal as an SQLite varint and append it to the buffer object // pBuf. If an OOM error occurs, set the error code in p. -func sqlite3Fts5BufferAppendVarint(tls *libc.TLS, pRc uintptr, pBuf uintptr, iVal I64) { /* sqlite3.c:219800:13: */ +func sqlite3Fts5BufferAppendVarint(tls *libc.TLS, pRc uintptr, pBuf uintptr, iVal I64) { /* sqlite3.c:219857:13: */ if func() int32 { if U32((*Fts5Buffer)(unsafe.Pointer(pBuf)).Fn)+U32(9) <= U32((*Fts5Buffer)(unsafe.Pointer(pBuf)).FnSpace) { return 0 @@ -177258,21 +177289,21 @@ func sqlite3Fts5BufferAppendVarint(tls *libc.TLS, pRc uintptr, pBuf uintptr, iVa *(*int32)(unsafe.Pointer(pBuf + 4)) += sqlite3Fts5PutVarint(tls, (*Fts5Buffer)(unsafe.Pointer(pBuf)).Fp+uintptr((*Fts5Buffer)(unsafe.Pointer(pBuf)).Fn), uint64(iVal)) } -func sqlite3Fts5Put32(tls *libc.TLS, aBuf uintptr, iVal int32) { /* sqlite3.c:219805:13: */ +func sqlite3Fts5Put32(tls *libc.TLS, aBuf uintptr, iVal int32) { /* sqlite3.c:219862:13: */ *(*U8)(unsafe.Pointer(aBuf)) = U8(iVal >> 24 & 0x00FF) *(*U8)(unsafe.Pointer(aBuf + 1)) = U8(iVal >> 16 & 0x00FF) *(*U8)(unsafe.Pointer(aBuf + 2)) = U8(iVal >> 8 & 0x00FF) *(*U8)(unsafe.Pointer(aBuf + 3)) = U8(iVal >> 0 & 0x00FF) } -func sqlite3Fts5Get32(tls *libc.TLS, aBuf uintptr) int32 { /* sqlite3.c:219812:12: */ +func sqlite3Fts5Get32(tls *libc.TLS, aBuf uintptr) int32 { /* sqlite3.c:219869:12: */ return int32(U32(*(*U8)(unsafe.Pointer(aBuf)))<<24 + U32(int32(*(*U8)(unsafe.Pointer(aBuf + 1)))<<16) + U32(int32(*(*U8)(unsafe.Pointer(aBuf + 2)))<<8) + U32(*(*U8)(unsafe.Pointer(aBuf + 3)))) } // Append buffer nData/pData to buffer pBuf. If an OOM error occurs, set // the error code in p. If an error has already occurred when this function // is called, it is a no-op. -func sqlite3Fts5BufferAppendBlob(tls *libc.TLS, pRc uintptr, pBuf uintptr, nData U32, pData uintptr) { /* sqlite3.c:219821:13: */ +func sqlite3Fts5BufferAppendBlob(tls *libc.TLS, pRc uintptr, pBuf uintptr, nData U32, pData uintptr) { /* sqlite3.c:219878:13: */ if nData != 0 { if func() int32 { if U32((*Fts5Buffer)(unsafe.Pointer(pBuf)).Fn)+nData <= U32((*Fts5Buffer)(unsafe.Pointer(pBuf)).FnSpace) { @@ -177290,7 +177321,7 @@ func sqlite3Fts5BufferAppendBlob(tls *libc.TLS, pRc uintptr, pBuf uintptr, nData // Append the nul-terminated string zStr to the buffer pBuf. This function // ensures that the byte following the buffer data is set to 0x00, even // though this byte is not included in the pBuf->n count. -func sqlite3Fts5BufferAppendString(tls *libc.TLS, pRc uintptr, pBuf uintptr, zStr uintptr) { /* sqlite3.c:219839:13: */ +func sqlite3Fts5BufferAppendString(tls *libc.TLS, pRc uintptr, pBuf uintptr, zStr uintptr) { /* sqlite3.c:219896:13: */ var nStr int32 = int32(libc.Xstrlen(tls, zStr)) sqlite3Fts5BufferAppendBlob(tls, pRc, pBuf, uint32(nStr+1), zStr) (*Fts5Buffer)(unsafe.Pointer(pBuf)).Fn-- @@ -177302,7 +177333,7 @@ func sqlite3Fts5BufferAppendString(tls *libc.TLS, pRc uintptr, pBuf uintptr, zSt // Like sqlite3Fts5BufferAppendString(), this function ensures that the byte // following the buffer data is set to 0x00, even though this byte is not // included in the pBuf->n count. -func sqlite3Fts5BufferAppendPrintf(tls *libc.TLS, pRc uintptr, pBuf uintptr, zFmt uintptr, va uintptr) { /* sqlite3.c:219857:13: */ +func sqlite3Fts5BufferAppendPrintf(tls *libc.TLS, pRc uintptr, pBuf uintptr, zFmt uintptr, va uintptr) { /* sqlite3.c:219914:13: */ if *(*int32)(unsafe.Pointer(pRc)) == SQLITE_OK { var zTmp uintptr var ap Va_list @@ -177320,7 +177351,7 @@ func sqlite3Fts5BufferAppendPrintf(tls *libc.TLS, pRc uintptr, pBuf uintptr, zFm } } -func sqlite3Fts5Mprintf(tls *libc.TLS, pRc uintptr, zFmt uintptr, va uintptr) uintptr { /* sqlite3.c:219878:13: */ +func sqlite3Fts5Mprintf(tls *libc.TLS, pRc uintptr, zFmt uintptr, va uintptr) uintptr { /* sqlite3.c:219935:13: */ var zRet uintptr = uintptr(0) if *(*int32)(unsafe.Pointer(pRc)) == SQLITE_OK { var ap Va_list @@ -177336,26 +177367,26 @@ func sqlite3Fts5Mprintf(tls *libc.TLS, pRc uintptr, zFmt uintptr, va uintptr) ui } // Free any buffer allocated by pBuf. Zero the structure before returning. -func sqlite3Fts5BufferFree(tls *libc.TLS, pBuf uintptr) { /* sqlite3.c:219896:13: */ +func sqlite3Fts5BufferFree(tls *libc.TLS, pBuf uintptr) { /* sqlite3.c:219953:13: */ Xsqlite3_free(tls, (*Fts5Buffer)(unsafe.Pointer(pBuf)).Fp) libc.Xmemset(tls, pBuf, 0, uint32(unsafe.Sizeof(Fts5Buffer{}))) } // Zero the contents of the buffer object. But do not free the associated // memory allocation. -func sqlite3Fts5BufferZero(tls *libc.TLS, pBuf uintptr) { /* sqlite3.c:219905:13: */ +func sqlite3Fts5BufferZero(tls *libc.TLS, pBuf uintptr) { /* sqlite3.c:219962:13: */ (*Fts5Buffer)(unsafe.Pointer(pBuf)).Fn = 0 } // Set the buffer to contain nData/pData. If an OOM error occurs, leave an // the error code in p. If an error has already occurred when this function // is called, it is a no-op. -func sqlite3Fts5BufferSet(tls *libc.TLS, pRc uintptr, pBuf uintptr, nData int32, pData uintptr) { /* sqlite3.c:219914:13: */ +func sqlite3Fts5BufferSet(tls *libc.TLS, pRc uintptr, pBuf uintptr, nData int32, pData uintptr) { /* sqlite3.c:219971:13: */ (*Fts5Buffer)(unsafe.Pointer(pBuf)).Fn = 0 sqlite3Fts5BufferAppendBlob(tls, pRc, pBuf, uint32(nData), pData) } -func sqlite3Fts5PoslistNext64(tls *libc.TLS, a uintptr, n int32, pi uintptr, piOff uintptr) int32 { /* sqlite3.c:219924:12: */ +func sqlite3Fts5PoslistNext64(tls *libc.TLS, a uintptr, n int32, pi uintptr, piOff uintptr) int32 { /* sqlite3.c:219981:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -177417,14 +177448,14 @@ func sqlite3Fts5PoslistNext64(tls *libc.TLS, a uintptr, n int32, pi uintptr, piO // Advance the iterator object passed as the only argument. Return true // if the iterator reaches EOF, or false otherwise. -func sqlite3Fts5PoslistReaderNext(tls *libc.TLS, pIter uintptr) int32 { /* sqlite3.c:219967:12: */ +func sqlite3Fts5PoslistReaderNext(tls *libc.TLS, pIter uintptr) int32 { /* sqlite3.c:220024:12: */ if sqlite3Fts5PoslistNext64(tls, (*Fts5PoslistReader)(unsafe.Pointer(pIter)).Fa, (*Fts5PoslistReader)(unsafe.Pointer(pIter)).Fn, pIter+8, pIter+16) != 0 { (*Fts5PoslistReader)(unsafe.Pointer(pIter)).FbEof = U8(1) } return int32((*Fts5PoslistReader)(unsafe.Pointer(pIter)).FbEof) } -func sqlite3Fts5PoslistReaderInit(tls *libc.TLS, a uintptr, n int32, pIter uintptr) int32 { /* sqlite3.c:219974:12: */ +func sqlite3Fts5PoslistReaderInit(tls *libc.TLS, a uintptr, n int32, pIter uintptr) int32 { /* sqlite3.c:220031:12: */ libc.Xmemset(tls, pIter, 0, uint32(unsafe.Sizeof(Fts5PoslistReader{}))) (*Fts5PoslistReader)(unsafe.Pointer(pIter)).Fa = a (*Fts5PoslistReader)(unsafe.Pointer(pIter)).Fn = n @@ -177436,7 +177467,7 @@ func sqlite3Fts5PoslistReaderInit(tls *libc.TLS, a uintptr, n int32, pIter uintp // pBuf, which must be already be large enough to hold the new data. // The previous position written to this list is *piPrev. *piPrev is set // to iPos before returning. -func sqlite3Fts5PoslistSafeAppend(tls *libc.TLS, pBuf uintptr, piPrev uintptr, iPos I64) { /* sqlite3.c:219991:13: */ +func sqlite3Fts5PoslistSafeAppend(tls *libc.TLS, pBuf uintptr, piPrev uintptr, iPos I64) { /* sqlite3.c:220048:13: */ if iPos >= *(*I64)(unsafe.Pointer(piPrev)) { if iPos&colmask != *(*I64)(unsafe.Pointer(piPrev))&colmask { *(*U8)(unsafe.Pointer((*Fts5Buffer)(unsafe.Pointer(pBuf)).Fp + uintptr(libc.PostIncInt32(&(*Fts5Buffer)(unsafe.Pointer(pBuf)).Fn, 1)))) = U8(1) @@ -177448,9 +177479,9 @@ func sqlite3Fts5PoslistSafeAppend(tls *libc.TLS, pBuf uintptr, piPrev uintptr, i } } -var colmask I64 = I64(int64(0x7FFFFFFF)) << 32 /* sqlite3.c:219997:22 */ +var colmask I64 = I64(int64(0x7FFFFFFF)) << 32 /* sqlite3.c:220054:22 */ -func sqlite3Fts5PoslistWriterAppend(tls *libc.TLS, pBuf uintptr, pWriter uintptr, iPos I64) int32 { /* sqlite3.c:220008:12: */ +func sqlite3Fts5PoslistWriterAppend(tls *libc.TLS, pBuf uintptr, pWriter uintptr, iPos I64) int32 { /* sqlite3.c:220065:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -177467,7 +177498,7 @@ func sqlite3Fts5PoslistWriterAppend(tls *libc.TLS, pBuf uintptr, pWriter uintptr return SQLITE_OK } -func sqlite3Fts5MallocZero(tls *libc.TLS, pRc uintptr, nByte Sqlite3_int64) uintptr { /* sqlite3.c:220019:13: */ +func sqlite3Fts5MallocZero(tls *libc.TLS, pRc uintptr, nByte Sqlite3_int64) uintptr { /* sqlite3.c:220076:13: */ var pRet uintptr = uintptr(0) if *(*int32)(unsafe.Pointer(pRc)) == SQLITE_OK { pRet = Xsqlite3_malloc64(tls, uint64(nByte)) @@ -177488,7 +177519,7 @@ func sqlite3Fts5MallocZero(tls *libc.TLS, pRc uintptr, nByte Sqlite3_int64) uint // // It is the responsibility of the caller to eventually free the returned // buffer using sqlite3_free(). If an OOM error occurs, NULL is returned. -func sqlite3Fts5Strndup(tls *libc.TLS, pRc uintptr, pIn uintptr, nIn int32) uintptr { /* sqlite3.c:220040:13: */ +func sqlite3Fts5Strndup(tls *libc.TLS, pRc uintptr, pIn uintptr, nIn int32) uintptr { /* sqlite3.c:220097:13: */ var zRet uintptr = uintptr(0) if *(*int32)(unsafe.Pointer(pRc)) == SQLITE_OK { if nIn < 0 { @@ -177513,7 +177544,7 @@ func sqlite3Fts5Strndup(tls *libc.TLS, pRc uintptr, pIn uintptr, nIn int32) uint // * The 10 integer ASCII characters. // * The underscore character "_" (0x5F). // * The unicode "subsitute" character (0x1A). -func sqlite3Fts5IsBareword(tls *libc.TLS, t uint8) int32 { /* sqlite3.c:220068:12: */ +func sqlite3Fts5IsBareword(tls *libc.TLS, t uint8) int32 { /* sqlite3.c:220125:12: */ bp := tls.Alloc(128) defer tls.Free(128) @@ -177538,13 +177569,13 @@ type Fts5TermsetEntry1 = struct { FnTerm int32 FiIdx int32 FpNext uintptr -} /* sqlite3.c:217037:9 */ +} /* sqlite3.c:217094:9 */ // ************************************************************************ // -type Fts5TermsetEntry = Fts5TermsetEntry1 /* sqlite3.c:220086:33 */ +type Fts5TermsetEntry = Fts5TermsetEntry1 /* sqlite3.c:220143:33 */ -func sqlite3Fts5TermsetNew(tls *libc.TLS, pp uintptr) int32 { /* sqlite3.c:220098:12: */ +func sqlite3Fts5TermsetNew(tls *libc.TLS, pp uintptr) int32 { /* sqlite3.c:220155:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -177553,7 +177584,7 @@ func sqlite3Fts5TermsetNew(tls *libc.TLS, pp uintptr) int32 { /* sqlite3.c:22009 return *(*int32)(unsafe.Pointer(bp /* rc */)) } -func sqlite3Fts5TermsetAdd(tls *libc.TLS, p uintptr, iIdx int32, pTerm uintptr, nTerm int32, pbPresent uintptr) int32 { /* sqlite3.c:220104:12: */ +func sqlite3Fts5TermsetAdd(tls *libc.TLS, p uintptr, iIdx int32, pTerm uintptr, nTerm int32, pbPresent uintptr) int32 { /* sqlite3.c:220161:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -177599,7 +177630,7 @@ func sqlite3Fts5TermsetAdd(tls *libc.TLS, p uintptr, iIdx int32, pTerm uintptr, return *(*int32)(unsafe.Pointer(bp /* rc */)) } -func sqlite3Fts5TermsetFree(tls *libc.TLS, p uintptr) { /* sqlite3.c:220153:13: */ +func sqlite3Fts5TermsetFree(tls *libc.TLS, p uintptr) { /* sqlite3.c:220210:13: */ if p != 0 { var i U32 for i = U32(0); i < U32(int32(uint32(unsafe.Sizeof([512]uintptr{}))/uint32(unsafe.Sizeof(uintptr(0))))); i++ { @@ -177631,18 +177662,18 @@ func sqlite3Fts5TermsetFree(tls *libc.TLS, p uintptr) { /* sqlite3.c:220153:13: // Maximum allowed page size -func fts5_iswhitespace(tls *libc.TLS, x uint8) int32 { /* sqlite3.c:220195:12: */ +func fts5_iswhitespace(tls *libc.TLS, x uint8) int32 { /* sqlite3.c:220252:12: */ return libc.Bool32(int32(x) == ' ') } -func fts5_isopenquote(tls *libc.TLS, x uint8) int32 { /* sqlite3.c:220199:12: */ +func fts5_isopenquote(tls *libc.TLS, x uint8) int32 { /* sqlite3.c:220256:12: */ return libc.Bool32(int32(x) == '"' || int32(x) == '\'' || int32(x) == '[' || int32(x) == '`') } // Argument pIn points to a character that is part of a nul-terminated // string. Return a pointer to the first character following *pIn in // the string that is not a white-space character. -func fts5ConfigSkipWhitespace(tls *libc.TLS, pIn uintptr) uintptr { /* sqlite3.c:220208:19: */ +func fts5ConfigSkipWhitespace(tls *libc.TLS, pIn uintptr) uintptr { /* sqlite3.c:220265:19: */ var p uintptr = pIn if p != 0 { for fts5_iswhitespace(tls, *(*uint8)(unsafe.Pointer(p))) != 0 { @@ -177655,7 +177686,7 @@ func fts5ConfigSkipWhitespace(tls *libc.TLS, pIn uintptr) uintptr { /* sqlite3.c // Argument pIn points to a character that is part of a nul-terminated // string. Return a pointer to the first character following *pIn in // the string that is not a "bareword" character. -func fts5ConfigSkipBareword(tls *libc.TLS, pIn uintptr) uintptr { /* sqlite3.c:220221:19: */ +func fts5ConfigSkipBareword(tls *libc.TLS, pIn uintptr) uintptr { /* sqlite3.c:220278:19: */ var p uintptr = pIn for sqlite3Fts5IsBareword(tls, *(*uint8)(unsafe.Pointer(p))) != 0 { p++ @@ -177666,11 +177697,11 @@ func fts5ConfigSkipBareword(tls *libc.TLS, pIn uintptr) uintptr { /* sqlite3.c:2 return p } -func fts5_isdigit(tls *libc.TLS, a uint8) int32 { /* sqlite3.c:220228:12: */ +func fts5_isdigit(tls *libc.TLS, a uint8) int32 { /* sqlite3.c:220285:12: */ return libc.Bool32(int32(a) >= '0' && int32(a) <= '9') } -func fts5ConfigSkipLiteral(tls *libc.TLS, pIn uintptr) uintptr { /* sqlite3.c:220234:19: */ +func fts5ConfigSkipLiteral(tls *libc.TLS, pIn uintptr) uintptr { /* sqlite3.c:220291:19: */ var p uintptr = pIn switch int32(*(*uint8)(unsafe.Pointer(p))) { case 'n': @@ -177759,7 +177790,7 @@ func fts5ConfigSkipLiteral(tls *libc.TLS, pIn uintptr) uintptr { /* sqlite3.c:22 // the character immediately following it. Or, if the close-quote is not // found, -1 is returned. If -1 is returned, the buffer is left in an // undefined state. -func fts5Dequote(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:220310:12: */ +func fts5Dequote(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:220367:12: */ var q uint8 var iIn int32 = 1 var iOut int32 = 0 @@ -177804,7 +177835,7 @@ func fts5Dequote(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:220310:12: */ // 'xyz' becomes xyz // [pqr] becomes pqr // `mno` becomes mno -func sqlite3Fts5Dequote(tls *libc.TLS, z uintptr) { /* sqlite3.c:220355:13: */ +func sqlite3Fts5Dequote(tls *libc.TLS, z uintptr) { /* sqlite3.c:220412:13: */ var quote uint8 // Quote character (if any ) quote = *(*uint8)(unsafe.Pointer(z)) @@ -177816,11 +177847,11 @@ func sqlite3Fts5Dequote(tls *libc.TLS, z uintptr) { /* sqlite3.c:220355:13: */ type Fts5Enum1 = struct { FzName uintptr FeVal int32 -} /* sqlite3.c:220366:1 */ +} /* sqlite3.c:220423:1 */ -type Fts5Enum = Fts5Enum1 /* sqlite3.c:220370:25 */ +type Fts5Enum = Fts5Enum1 /* sqlite3.c:220427:25 */ -func fts5ConfigSetEnum(tls *libc.TLS, aEnum uintptr, zEnum uintptr, peVal uintptr) int32 { /* sqlite3.c:220372:12: */ +func fts5ConfigSetEnum(tls *libc.TLS, aEnum uintptr, zEnum uintptr, peVal uintptr) int32 { /* sqlite3.c:220429:12: */ var nEnum int32 = int32(libc.Xstrlen(tls, zEnum)) var i int32 var iVal int32 = -1 @@ -177848,7 +177879,7 @@ func fts5ConfigSetEnum(tls *libc.TLS, aEnum uintptr, zEnum uintptr, peVal uintpt // an error occurs, an SQLite error code is returned and an error message // may be left in *pzErr. It is the responsibility of the caller to // eventually free any such error message using sqlite3_free(). -func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCmd uintptr, zArg uintptr, pzErr uintptr) int32 { /* sqlite3.c:220401:12: */ +func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCmd uintptr, zArg uintptr, pzErr uintptr) int32 { /* sqlite3.c:220458:12: */ bp := tls.Alloc(76) defer tls.Free(76) @@ -178011,7 +178042,7 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm // Allocate an instance of the default tokenizer ("simple") at // Fts5Config.pTokenizer. Return SQLITE_OK if successful, or an SQLite error // code if an error occurs. -func fts5ConfigDefaultTokenizer(tls *libc.TLS, pGlobal uintptr, pConfig uintptr) int32 { /* sqlite3.c:220565:12: */ +func fts5ConfigDefaultTokenizer(tls *libc.TLS, pGlobal uintptr, pConfig uintptr) int32 { /* sqlite3.c:220622:12: */ return sqlite3Fts5GetTokenizer(tls, pGlobal, uintptr(0), 0, pConfig, uintptr(0)) } @@ -178029,7 +178060,7 @@ func fts5ConfigDefaultTokenizer(tls *libc.TLS, pGlobal uintptr, pConfig uintptr) // a no-op (NULL is returned). Otherwise, if an OOM occurs within this // function, *pRc is set to SQLITE_NOMEM before returning. *pRc is *not* // set if a parse error (failed to find close quote) occurs. -func fts5ConfigGobbleWord(tls *libc.TLS, pRc uintptr, zIn uintptr, pzOut uintptr, pbQuoted uintptr) uintptr { /* sqlite3.c:220585:19: */ +func fts5ConfigGobbleWord(tls *libc.TLS, pRc uintptr, zIn uintptr, pzOut uintptr, pbQuoted uintptr) uintptr { /* sqlite3.c:220642:19: */ var zRet uintptr = uintptr(0) var nIn Sqlite3_int64 = Sqlite3_int64(libc.Xstrlen(tls, zIn)) @@ -178063,7 +178094,7 @@ func fts5ConfigGobbleWord(tls *libc.TLS, pRc uintptr, zIn uintptr, pzOut uintptr return zRet } -func fts5ConfigParseColumn(tls *libc.TLS, p uintptr, zCol uintptr, zArg uintptr, pzErr uintptr) int32 { /* sqlite3.c:220625:12: */ +func fts5ConfigParseColumn(tls *libc.TLS, p uintptr, zCol uintptr, zArg uintptr, pzErr uintptr) int32 { /* sqlite3.c:220682:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -178086,7 +178117,7 @@ func fts5ConfigParseColumn(tls *libc.TLS, p uintptr, zCol uintptr, zArg uintptr, } // Populate the Fts5Config.zContentExprlist string. -func fts5ConfigMakeExprlist(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:220653:12: */ +func fts5ConfigMakeExprlist(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:220710:12: */ bp := tls.Alloc(40) defer tls.Free(40) @@ -178119,7 +178150,7 @@ func fts5ConfigMakeExprlist(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:22065 // returned, *ppOut is set to NULL and an error message may be left in // *pzErr. It is the responsibility of the caller to eventually free any // such error message using sqlite3_free(). -func sqlite3Fts5ConfigParse(tls *libc.TLS, pGlobal uintptr, db uintptr, nArg int32, azArg uintptr, ppOut uintptr, pzErr uintptr) int32 { /* sqlite3.c:220686:12: */ +func sqlite3Fts5ConfigParse(tls *libc.TLS, pGlobal uintptr, db uintptr, nArg int32, azArg uintptr, ppOut uintptr, pzErr uintptr) int32 { /* sqlite3.c:220743:12: */ bp := tls.Alloc(60) defer tls.Free(60) @@ -178252,7 +178283,7 @@ func sqlite3Fts5ConfigParse(tls *libc.TLS, pGlobal uintptr, db uintptr, nArg int } // Free the configuration object passed as the only argument. -func sqlite3Fts5ConfigFree(tls *libc.TLS, pConfig uintptr) { /* sqlite3.c:220810:13: */ +func sqlite3Fts5ConfigFree(tls *libc.TLS, pConfig uintptr) { /* sqlite3.c:220867:13: */ if pConfig != 0 { var i int32 if (*Fts5Config)(unsafe.Pointer(pConfig)).FpTok != 0 { @@ -178277,7 +178308,7 @@ func sqlite3Fts5ConfigFree(tls *libc.TLS, pConfig uintptr) { /* sqlite3.c:220810 // Call sqlite3_declare_vtab() based on the contents of the configuration // object passed as the only argument. Return SQLITE_OK if successful, or // an SQLite error code if an error occurs. -func sqlite3Fts5ConfigDeclareVtab(tls *libc.TLS, pConfig uintptr) int32 { /* sqlite3.c:220837:12: */ +func sqlite3Fts5ConfigDeclareVtab(tls *libc.TLS, pConfig uintptr) int32 { /* sqlite3.c:220894:12: */ bp := tls.Alloc(52) defer tls.Free(52) @@ -178327,7 +178358,7 @@ func sqlite3Fts5ConfigDeclareVtab(tls *libc.TLS, pConfig uintptr) int32 { /* sql // still returns SQLITE_OK. Or, if the tokenization was abandoned early // 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) int32 { /* sqlite3.c:220883:12: */ +func sqlite3Fts5Tokenize(tls *libc.TLS, pConfig uintptr, flags int32, pText uintptr, nText int32, pCtx uintptr, xToken uintptr) int32 { /* sqlite3.c:220940:12: */ if pText == uintptr(0) { return SQLITE_OK } @@ -178341,7 +178372,7 @@ func sqlite3Fts5Tokenize(tls *libc.TLS, pConfig uintptr, flags int32, pText uint // a comma-separated list of SQL literals followed by a ')' character. // If it actually is this, return a pointer to the ')'. Otherwise, return // NULL to indicate a parse error. -func fts5ConfigSkipArgs(tls *libc.TLS, pIn uintptr) uintptr { /* sqlite3.c:220902:19: */ +func fts5ConfigSkipArgs(tls *libc.TLS, pIn uintptr) uintptr { /* sqlite3.c:220959:19: */ var p uintptr = pIn for 1 != 0 { @@ -178368,7 +178399,7 @@ func fts5ConfigSkipArgs(tls *libc.TLS, pIn uintptr) uintptr { /* sqlite3.c:22090 // + Open parenthesis - "(" // + Zero or more SQL literals in a comma separated list // + Close parenthesis - ")" -func sqlite3Fts5ConfigParseRank(tls *libc.TLS, zIn uintptr, pzRank uintptr, pzRankArgs uintptr) int32 { /* sqlite3.c:220929:12: */ +func sqlite3Fts5ConfigParseRank(tls *libc.TLS, zIn uintptr, pzRank uintptr, pzRankArgs uintptr) int32 { /* sqlite3.c:220986:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -178432,7 +178463,7 @@ func sqlite3Fts5ConfigParseRank(tls *libc.TLS, zIn uintptr, pzRank uintptr, pzRa return *(*int32)(unsafe.Pointer(bp /* rc */)) } -func sqlite3Fts5ConfigSetValue(tls *libc.TLS, pConfig uintptr, zKey uintptr, pVal uintptr, pbBadkey uintptr) int32 { /* sqlite3.c:220988:12: */ +func sqlite3Fts5ConfigSetValue(tls *libc.TLS, pConfig uintptr, zKey uintptr, pVal uintptr, pbBadkey uintptr) int32 { /* sqlite3.c:221045:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -178520,7 +178551,7 @@ func sqlite3Fts5ConfigSetValue(tls *libc.TLS, pConfig uintptr, zKey uintptr, pVa } // Load the contents of the %_config table into memory. -func sqlite3Fts5ConfigLoad(tls *libc.TLS, pConfig uintptr, iCookie int32) int32 { /* sqlite3.c:221082:12: */ +func sqlite3Fts5ConfigLoad(tls *libc.TLS, pConfig uintptr, iCookie int32) int32 { /* sqlite3.c:221139:12: */ bp := tls.Alloc(44) defer tls.Free(44) @@ -178597,7 +178628,7 @@ type Fts5ExprTerm1 = struct { FzTerm uintptr FpIter uintptr FpSynonym uintptr -} /* sqlite3.c:216813:9 */ +} /* sqlite3.c:216870:9 */ // 2014 May 31 // @@ -178616,9 +178647,9 @@ type Fts5ExprTerm1 = struct { // All token types in the generated fts5parse.h file are greater than 0. -type Fts5ExprTerm = Fts5ExprTerm1 /* sqlite3.c:221160:29 */ +type Fts5ExprTerm = Fts5ExprTerm1 /* sqlite3.c:221217:29 */ -func sqlite3Fts5ParseError(tls *libc.TLS, pParse uintptr, zFmt uintptr, va uintptr) { /* sqlite3.c:221267:13: */ +func sqlite3Fts5ParseError(tls *libc.TLS, pParse uintptr, zFmt uintptr, va uintptr) { /* sqlite3.c:221324:13: */ var ap Va_list _ = ap ap = va @@ -178630,12 +178661,12 @@ func sqlite3Fts5ParseError(tls *libc.TLS, pParse uintptr, zFmt uintptr, va uintp _ = ap } -func fts5ExprIsspace(tls *libc.TLS, t uint8) int32 { /* sqlite3.c:221278:12: */ +func fts5ExprIsspace(tls *libc.TLS, t uint8) int32 { /* sqlite3.c:221335:12: */ return libc.Bool32(int32(t) == ' ' || int32(t) == '\t' || int32(t) == '\n' || int32(t) == '\r') } // Read the first token from the nul-terminated string at *pz. -func fts5ExprGetToken(tls *libc.TLS, pParse uintptr, pz uintptr, pToken uintptr) int32 { /* sqlite3.c:221285:12: */ +func fts5ExprGetToken(tls *libc.TLS, pParse uintptr, pz uintptr, pToken uintptr) int32 { /* sqlite3.c:221342:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -178735,15 +178766,15 @@ func fts5ExprGetToken(tls *libc.TLS, pParse uintptr, pz uintptr, pToken uintptr) return tok } -func fts5ParseAlloc(tls *libc.TLS, t U64) uintptr { /* sqlite3.c:221349:13: */ +func fts5ParseAlloc(tls *libc.TLS, t U64) uintptr { /* sqlite3.c:221406:13: */ return Xsqlite3_malloc64(tls, uint64(Sqlite3_int64(t))) } -func fts5ParseFree(tls *libc.TLS, p uintptr) { /* sqlite3.c:221350:13: */ +func fts5ParseFree(tls *libc.TLS, p uintptr) { /* sqlite3.c:221407:13: */ Xsqlite3_free(tls, p) } -func sqlite3Fts5ExprNew(tls *libc.TLS, pConfig uintptr, bPhraseToAnd int32, iCol int32, zExpr uintptr, ppNew uintptr, pzErr uintptr) int32 { /* sqlite3.c:221352:12: */ +func sqlite3Fts5ExprNew(tls *libc.TLS, pConfig uintptr, bPhraseToAnd int32, iCol int32, zExpr uintptr, ppNew uintptr, pzErr uintptr) int32 { /* sqlite3.c:221409:12: */ bp := tls.Alloc(40) defer tls.Free(40) @@ -178821,7 +178852,7 @@ func sqlite3Fts5ExprNew(tls *libc.TLS, pConfig uintptr, bPhraseToAnd int32, iCol // expression that will match a superset of the rows matched by the LIKE or // GLOB. If successful, SQLITE_OK is returned. Otherwise, an SQLite error // code. -func sqlite3Fts5ExprPattern(tls *libc.TLS, pConfig uintptr, bGlob int32, iCol int32, zText uintptr, pp uintptr) int32 { /* sqlite3.c:221433:12: */ +func sqlite3Fts5ExprPattern(tls *libc.TLS, pConfig uintptr, bGlob int32, iCol int32, zText uintptr, pp uintptr) int32 { /* sqlite3.c:221490:12: */ bp := tls.Alloc(3) defer tls.Free(3) @@ -178896,7 +178927,7 @@ func sqlite3Fts5ExprPattern(tls *libc.TLS, pConfig uintptr, bGlob int32, iCol in } // Free the expression node object passed as the only argument. -func sqlite3Fts5ParseNodeFree(tls *libc.TLS, p uintptr) { /* sqlite3.c:221503:13: */ +func sqlite3Fts5ParseNodeFree(tls *libc.TLS, p uintptr) { /* sqlite3.c:221560:13: */ if p != 0 { var i int32 for i = 0; i < (*Fts5ExprNode)(unsafe.Pointer(p)).FnChild; i++ { @@ -178908,7 +178939,7 @@ func sqlite3Fts5ParseNodeFree(tls *libc.TLS, p uintptr) { /* sqlite3.c:221503:13 } // Free the expression object passed as the only argument. -func sqlite3Fts5ExprFree(tls *libc.TLS, p uintptr) { /* sqlite3.c:221517:13: */ +func sqlite3Fts5ExprFree(tls *libc.TLS, p uintptr) { /* sqlite3.c:221574:13: */ if p != 0 { sqlite3Fts5ParseNodeFree(tls, (*Fts5Expr)(unsafe.Pointer(p)).FpRoot) Xsqlite3_free(tls, (*Fts5Expr)(unsafe.Pointer(p)).FapExprPhrase) @@ -178916,7 +178947,7 @@ func sqlite3Fts5ExprFree(tls *libc.TLS, p uintptr) { /* sqlite3.c:221517:13: */ } } -func sqlite3Fts5ExprAnd(tls *libc.TLS, pp1 uintptr, p2 uintptr) int32 { /* sqlite3.c:221525:12: */ +func sqlite3Fts5ExprAnd(tls *libc.TLS, pp1 uintptr, p2 uintptr) int32 { /* sqlite3.c:221582:12: */ bp := tls.Alloc(28) defer tls.Free(28) @@ -178957,7 +178988,7 @@ func sqlite3Fts5ExprAnd(tls *libc.TLS, pp1 uintptr, p2 uintptr) int32 { /* sqlit // Argument pTerm must be a synonym iterator. Return the current rowid // that it points to. -func fts5ExprSynonymRowid(tls *libc.TLS, pTerm uintptr, bDesc int32, pbEof uintptr) I64 { /* sqlite3.c:221565:12: */ +func fts5ExprSynonymRowid(tls *libc.TLS, pTerm uintptr, bDesc int32, pbEof uintptr) I64 { /* sqlite3.c:221622:12: */ var iRet I64 = int64(0) var bRetValid int32 = 0 var p uintptr @@ -178979,7 +179010,7 @@ func fts5ExprSynonymRowid(tls *libc.TLS, pTerm uintptr, bDesc int32, pbEof uintp } // Argument pTerm must be a synonym iterator. -func fts5ExprSynonymList(tls *libc.TLS, pTerm uintptr, iRowid I64, pBuf uintptr, pa uintptr, pn uintptr) int32 { /* sqlite3.c:221590:12: */ +func fts5ExprSynonymList(tls *libc.TLS, pTerm uintptr, iRowid I64, pBuf uintptr, pa uintptr, pn uintptr) int32 { /* sqlite3.c:221647:12: */ bp := tls.Alloc(104) defer tls.Free(104) @@ -179143,7 +179174,7 @@ __22: // SQLITE_OK is returned if an error occurs, or an SQLite error code // otherwise. It is not considered an error code if the current rowid is // not a match. -func fts5ExprPhraseIsMatch(tls *libc.TLS, pNode uintptr, pPhrase uintptr, pbMatch uintptr) int32 { /* sqlite3.c:221673:12: */ +func fts5ExprPhraseIsMatch(tls *libc.TLS, pNode uintptr, pPhrase uintptr, pbMatch uintptr) int32 { /* sqlite3.c:221730:12: */ bp := tls.Alloc(128) defer tls.Free(128) @@ -179369,11 +179400,11 @@ type Fts5LookaheadReader1 = struct { F__ccgo_pad1 [4]byte FiPos I64 FiLookahead I64 -} /* sqlite3.c:221757:9 */ +} /* sqlite3.c:221814:9 */ -type Fts5LookaheadReader = Fts5LookaheadReader1 /* sqlite3.c:221757:36 */ +type Fts5LookaheadReader = Fts5LookaheadReader1 /* sqlite3.c:221814:36 */ -func fts5LookaheadReaderNext(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:221768:12: */ +func fts5LookaheadReaderNext(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:221825:12: */ (*Fts5LookaheadReader)(unsafe.Pointer(p)).FiPos = (*Fts5LookaheadReader)(unsafe.Pointer(p)).FiLookahead if sqlite3Fts5PoslistNext64(tls, (*Fts5LookaheadReader)(unsafe.Pointer(p)).Fa, (*Fts5LookaheadReader)(unsafe.Pointer(p)).Fn, p+8, p+24) != 0 { (*Fts5LookaheadReader)(unsafe.Pointer(p)).FiLookahead = I64(int64(1)) << 62 @@ -179381,7 +179412,7 @@ func fts5LookaheadReaderNext(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:2217 return libc.Bool32((*Fts5LookaheadReader)(unsafe.Pointer(p)).FiPos == I64(int64(1))<<62) } -func fts5LookaheadReaderInit(tls *libc.TLS, a uintptr, n int32, p uintptr) int32 { /* sqlite3.c:221776:12: */ +func fts5LookaheadReaderInit(tls *libc.TLS, a uintptr, n int32, p uintptr) int32 { /* sqlite3.c:221833:12: */ libc.Xmemset(tls, p, 0, uint32(unsafe.Sizeof(Fts5LookaheadReader{}))) (*Fts5LookaheadReader)(unsafe.Pointer(p)).Fa = a (*Fts5LookaheadReader)(unsafe.Pointer(p)).Fn = n @@ -179394,9 +179425,9 @@ type Fts5NearTrimmer1 = struct { Fwriter Fts5PoslistWriter FpOut uintptr F__ccgo_pad1 [4]byte -} /* sqlite3.c:221787:9 */ +} /* sqlite3.c:221844:9 */ -type Fts5NearTrimmer = Fts5NearTrimmer1 /* sqlite3.c:221787:32 */ +type Fts5NearTrimmer = Fts5NearTrimmer1 /* sqlite3.c:221844:32 */ // The near-set object passed as the first argument contains more than // one phrase. All phrases currently point to the same row. The @@ -179413,7 +179444,7 @@ type Fts5NearTrimmer = Fts5NearTrimmer1 /* sqlite3.c:221787:32 */ // If no error occurs and non-zero (a match) is returned, the position-list // of each phrase object is edited to contain only those entries that // meet the constraint before returning. -func fts5ExprNearIsMatch(tls *libc.TLS, pRc uintptr, pNear uintptr) int32 { /* sqlite3.c:221811:12: */ +func fts5ExprNearIsMatch(tls *libc.TLS, pRc uintptr, pNear uintptr) int32 { /* sqlite3.c:221868:12: */ bp := tls.Alloc(196) defer tls.Free(196) @@ -179615,7 +179646,7 @@ __29: // If the iterator reaches EOF, set *pbEof to true before returning. If // an error occurs, set *pRc to an error code. If either *pbEof or *pRc // are set, return a non-zero value. Otherwise, return zero. -func fts5ExprAdvanceto(tls *libc.TLS, pIter uintptr, bDesc int32, piLast uintptr, pRc uintptr, pbEof uintptr) int32 { /* sqlite3.c:221910:12: */ +func fts5ExprAdvanceto(tls *libc.TLS, pIter uintptr, bDesc int32, piLast uintptr, pRc uintptr, pbEof uintptr) int32 { /* sqlite3.c:221967:12: */ var iLast I64 = *(*I64)(unsafe.Pointer(piLast)) var iRowid I64 @@ -179635,7 +179666,7 @@ func fts5ExprAdvanceto(tls *libc.TLS, pIter uintptr, bDesc int32, piLast uintptr return 0 } -func fts5ExprSynonymAdvanceto(tls *libc.TLS, pTerm uintptr, bDesc int32, piLast uintptr, pRc uintptr) int32 { /* sqlite3.c:221936:12: */ +func fts5ExprSynonymAdvanceto(tls *libc.TLS, pTerm uintptr, bDesc int32, piLast uintptr, pRc uintptr) int32 { /* sqlite3.c:221993:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -179662,7 +179693,7 @@ func fts5ExprSynonymAdvanceto(tls *libc.TLS, pTerm uintptr, bDesc int32, piLast return *(*int32)(unsafe.Pointer(bp /* bEof */)) } -func fts5ExprNearTest(tls *libc.TLS, pRc uintptr, pExpr uintptr, pNode uintptr) int32 { /* sqlite3.c:221966:12: */ +func fts5ExprNearTest(tls *libc.TLS, pRc uintptr, pExpr uintptr, pNode uintptr) int32 { /* sqlite3.c:222023:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -179719,7 +179750,7 @@ func fts5ExprNearTest(tls *libc.TLS, pRc uintptr, pExpr uintptr, pNode uintptr) // If an error occurs, return an SQLite error code. Otherwise, return // SQLITE_OK. It is not considered an error if some term matches zero // documents. -func fts5ExprNearInitAll(tls *libc.TLS, pExpr uintptr, pNode uintptr) int32 { /* sqlite3.c:222025:12: */ +func fts5ExprNearInitAll(tls *libc.TLS, pExpr uintptr, pNode uintptr) int32 { /* sqlite3.c:222082:12: */ var pNear uintptr = (*Fts5ExprNode)(unsafe.Pointer(pNode)).FpNear var i int32 @@ -179785,7 +179816,7 @@ func fts5ExprNearInitAll(tls *libc.TLS, pExpr uintptr, pNode uintptr) int32 { /* // Otherwise, if this is a DESC iterator, the opposite is returned: // // (iRhs - iLhs) -func fts5RowidCmp(tls *libc.TLS, pExpr uintptr, iLhs I64, iRhs I64) int32 { /* sqlite3.c:222087:12: */ +func fts5RowidCmp(tls *libc.TLS, pExpr uintptr, iLhs I64, iRhs I64) int32 { /* sqlite3.c:222144:12: */ if (*Fts5Expr)(unsafe.Pointer(pExpr)).FbDesc == 0 { if iLhs < iRhs { @@ -179801,7 +179832,7 @@ func fts5RowidCmp(tls *libc.TLS, pExpr uintptr, iLhs I64, iRhs I64) int32 { /* s return int32(0) } -func fts5ExprSetEof(tls *libc.TLS, pNode uintptr) { /* sqlite3.c:222102:13: */ +func fts5ExprSetEof(tls *libc.TLS, pNode uintptr) { /* sqlite3.c:222159:13: */ var i int32 (*Fts5ExprNode)(unsafe.Pointer(pNode)).FbEof = 1 (*Fts5ExprNode)(unsafe.Pointer(pNode)).FbNomatch = 0 @@ -179810,7 +179841,7 @@ func fts5ExprSetEof(tls *libc.TLS, pNode uintptr) { /* sqlite3.c:222102:13: */ } } -func fts5ExprNodeZeroPoslist(tls *libc.TLS, pNode uintptr) { /* sqlite3.c:222111:13: */ +func fts5ExprNodeZeroPoslist(tls *libc.TLS, pNode uintptr) { /* sqlite3.c:222168:13: */ if (*Fts5ExprNode)(unsafe.Pointer(pNode)).FeType == FTS5_STRING || (*Fts5ExprNode)(unsafe.Pointer(pNode)).FeType == FTS5_TERM { var pNear uintptr = (*Fts5ExprNode)(unsafe.Pointer(pNode)).FpNear var i int32 @@ -179836,7 +179867,7 @@ func fts5ExprNodeZeroPoslist(tls *libc.TLS, pNode uintptr) { /* sqlite3.c:222111 // This means that if the iteration order is ASC, then numerically larger // rowids are considered larger. Or if it is the default DESC, numerically // smaller rowids are larger. -func fts5NodeCompare(tls *libc.TLS, pExpr uintptr, p1 uintptr, p2 uintptr) int32 { /* sqlite3.c:222141:12: */ +func fts5NodeCompare(tls *libc.TLS, pExpr uintptr, p1 uintptr, p2 uintptr) int32 { /* sqlite3.c:222198:12: */ if (*Fts5ExprNode)(unsafe.Pointer(p2)).FbEof != 0 { return -1 } @@ -179855,7 +179886,7 @@ func fts5NodeCompare(tls *libc.TLS, pExpr uintptr, p1 uintptr, p2 uintptr) int32 // SQLITE_OK is returned if an error occurs, or an SQLite error code // otherwise. It is not considered an error code if an iterator reaches // EOF. -func fts5ExprNodeTest_STRING(tls *libc.TLS, pExpr uintptr, pNode uintptr) int32 { /* sqlite3.c:222162:12: */ +func fts5ExprNodeTest_STRING(tls *libc.TLS, pExpr uintptr, pNode uintptr) int32 { /* sqlite3.c:222219:12: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -179923,7 +179954,7 @@ func fts5ExprNodeTest_STRING(tls *libc.TLS, pExpr uintptr, pNode uintptr) int32 // // Return SQLITE_OK if successful, or an SQLite error code if an error // occurs. -func fts5ExprNodeNext_STRING(tls *libc.TLS, pExpr uintptr, pNode uintptr, bFromValid int32, iFrom I64) int32 { /* sqlite3.c:222232:12: */ +func fts5ExprNodeNext_STRING(tls *libc.TLS, pExpr uintptr, pNode uintptr, bFromValid int32, iFrom I64) int32 { /* sqlite3.c:222289:12: */ var pTerm uintptr = *(*uintptr)(unsafe.Pointer((*Fts5ExprNode)(unsafe.Pointer(pNode)).FpNear + 12)) + 20 var rc int32 = SQLITE_OK @@ -179982,7 +180013,7 @@ func fts5ExprNodeNext_STRING(tls *libc.TLS, pExpr uintptr, pNode uintptr, bFromV return rc } -func fts5ExprNodeTest_TERM(tls *libc.TLS, pExpr uintptr, pNode uintptr) int32 { /* sqlite3.c:222297:12: */ +func fts5ExprNodeTest_TERM(tls *libc.TLS, pExpr uintptr, pNode uintptr) int32 { /* sqlite3.c:222354:12: */ // As this "NEAR" object is actually a single phrase that consists // of a single term only, grab pointers into the poslist managed by the // fts5_index.c iterator object. This is much faster than synthesizing @@ -180001,7 +180032,7 @@ func fts5ExprNodeTest_TERM(tls *libc.TLS, pExpr uintptr, pNode uintptr) int32 { } // xNext() method for a node of type FTS5_TERM. -func fts5ExprNodeNext_TERM(tls *libc.TLS, pExpr uintptr, pNode uintptr, bFromValid int32, iFrom I64) int32 { /* sqlite3.c:222325:12: */ +func fts5ExprNodeNext_TERM(tls *libc.TLS, pExpr uintptr, pNode uintptr, bFromValid int32, iFrom I64) int32 { /* sqlite3.c:222382:12: */ var rc int32 var pIter uintptr = (*Fts5ExprTerm)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer((*Fts5ExprNode)(unsafe.Pointer(pNode)).FpNear + 12)) + 20)).FpIter @@ -180019,7 +180050,7 @@ func fts5ExprNodeNext_TERM(tls *libc.TLS, pExpr uintptr, pNode uintptr, bFromVal return rc } -func fts5ExprNodeTest_OR(tls *libc.TLS, pExpr uintptr, pNode uintptr) { /* sqlite3.c:222349:13: */ +func fts5ExprNodeTest_OR(tls *libc.TLS, pExpr uintptr, pNode uintptr) { /* sqlite3.c:222406:13: */ var pNext uintptr = *(*uintptr)(unsafe.Pointer(pNode + 32)) var i int32 @@ -180035,7 +180066,7 @@ func fts5ExprNodeTest_OR(tls *libc.TLS, pExpr uintptr, pNode uintptr) { /* sqlit (*Fts5ExprNode)(unsafe.Pointer(pNode)).FbNomatch = (*Fts5ExprNode)(unsafe.Pointer(pNext)).FbNomatch } -func fts5ExprNodeNext_OR(tls *libc.TLS, pExpr uintptr, pNode uintptr, bFromValid int32, iFrom I64) int32 { /* sqlite3.c:222368:12: */ +func fts5ExprNodeNext_OR(tls *libc.TLS, pExpr uintptr, pNode uintptr, bFromValid int32, iFrom I64) int32 { /* sqlite3.c:222425:12: */ var i int32 var iLast I64 = (*Fts5ExprNode)(unsafe.Pointer(pNode)).FiRowid @@ -180061,7 +180092,7 @@ func fts5ExprNodeNext_OR(tls *libc.TLS, pExpr uintptr, pNode uintptr, bFromValid } // Argument pNode is an FTS5_AND node. -func fts5ExprNodeTest_AND(tls *libc.TLS, pExpr uintptr, pAnd uintptr) int32 { /* sqlite3.c:222400:12: */ +func fts5ExprNodeTest_AND(tls *libc.TLS, pExpr uintptr, pAnd uintptr) int32 { /* sqlite3.c:222457:12: */ var iChild int32 var iLast I64 = (*Fts5ExprNode)(unsafe.Pointer(pAnd)).FiRowid var rc int32 = SQLITE_OK @@ -180111,7 +180142,7 @@ func fts5ExprNodeTest_AND(tls *libc.TLS, pExpr uintptr, pAnd uintptr) int32 { /* return SQLITE_OK } -func fts5ExprNodeNext_AND(tls *libc.TLS, pExpr uintptr, pNode uintptr, bFromValid int32, iFrom I64) int32 { /* sqlite3.c:222452:12: */ +func fts5ExprNodeNext_AND(tls *libc.TLS, pExpr uintptr, pNode uintptr, bFromValid int32, iFrom I64) int32 { /* sqlite3.c:222509:12: */ var rc int32 = (*struct { f func(*libc.TLS, uintptr, uintptr, int32, I64) int32 })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExprNode)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pNode + 32 /* &.apChild */)))).FxNext})).f(tls, pExpr, *(*uintptr)(unsafe.Pointer(pNode + 32 /* &.apChild */)), bFromValid, iFrom) @@ -180123,7 +180154,7 @@ func fts5ExprNodeNext_AND(tls *libc.TLS, pExpr uintptr, pNode uintptr, bFromVali return rc } -func fts5ExprNodeTest_NOT(tls *libc.TLS, pExpr uintptr, pNode uintptr) int32 { /* sqlite3.c:222467:12: */ +func fts5ExprNodeTest_NOT(tls *libc.TLS, pExpr uintptr, pNode uintptr) int32 { /* sqlite3.c:222524:12: */ var rc int32 = SQLITE_OK var p1 uintptr = *(*uintptr)(unsafe.Pointer(pNode + 32)) var p2 uintptr = *(*uintptr)(unsafe.Pointer(pNode + 32 + 1*4)) @@ -180153,7 +180184,7 @@ func fts5ExprNodeTest_NOT(tls *libc.TLS, pExpr uintptr, pNode uintptr) int32 { / return rc } -func fts5ExprNodeNext_NOT(tls *libc.TLS, pExpr uintptr, pNode uintptr, bFromValid int32, iFrom I64) int32 { /* sqlite3.c:222495:12: */ +func fts5ExprNodeNext_NOT(tls *libc.TLS, pExpr uintptr, pNode uintptr, bFromValid int32, iFrom I64) int32 { /* sqlite3.c:222552:12: */ var rc int32 = (*struct { f func(*libc.TLS, uintptr, uintptr, int32, I64) int32 })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExprNode)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pNode + 32 /* &.apChild */)))).FxNext})).f(tls, pExpr, *(*uintptr)(unsafe.Pointer(pNode + 32 /* &.apChild */)), bFromValid, iFrom) @@ -180169,7 +180200,7 @@ func fts5ExprNodeNext_NOT(tls *libc.TLS, pExpr uintptr, pNode uintptr, bFromVali // If pNode currently points to a match, this function returns SQLITE_OK // without modifying it. Otherwise, pNode is advanced until it does point // to a match or EOF is reached. -func fts5ExprNodeTest(tls *libc.TLS, pExpr uintptr, pNode uintptr) int32 { /* sqlite3.c:222516:12: */ +func fts5ExprNodeTest(tls *libc.TLS, pExpr uintptr, pNode uintptr) int32 { /* sqlite3.c:222573:12: */ var rc int32 = SQLITE_OK if (*Fts5ExprNode)(unsafe.Pointer(pNode)).FbEof == 0 { switch (*Fts5ExprNode)(unsafe.Pointer(pNode)).FeType { @@ -180222,7 +180253,7 @@ func fts5ExprNodeTest(tls *libc.TLS, pExpr uintptr, pNode uintptr) int32 { /* sq // // Return an SQLite error code if an error occurs, or SQLITE_OK otherwise. // It is not an error if there are no matches. -func fts5ExprNodeFirst(tls *libc.TLS, pExpr uintptr, pNode uintptr) int32 { /* sqlite3.c:222561:12: */ +func fts5ExprNodeFirst(tls *libc.TLS, pExpr uintptr, pNode uintptr) int32 { /* sqlite3.c:222618:12: */ var rc int32 = SQLITE_OK (*Fts5ExprNode)(unsafe.Pointer(pNode)).FbEof = 0 (*Fts5ExprNode)(unsafe.Pointer(pNode)).FbNomatch = 0 @@ -180284,7 +180315,7 @@ func fts5ExprNodeFirst(tls *libc.TLS, pExpr uintptr, pNode uintptr) int32 { /* s // // Return SQLITE_OK if successful, or an SQLite error code otherwise. It // is not considered an error if the query does not match any documents. -func sqlite3Fts5ExprFirst(tls *libc.TLS, p uintptr, pIdx uintptr, iFirst I64, bDesc int32) int32 { /* sqlite3.c:222620:12: */ +func sqlite3Fts5ExprFirst(tls *libc.TLS, p uintptr, pIdx uintptr, iFirst I64, bDesc int32) int32 { /* sqlite3.c:222677:12: */ var pRoot uintptr = (*Fts5Expr)(unsafe.Pointer(p)).FpRoot var rc int32 // Return code @@ -180316,7 +180347,7 @@ func sqlite3Fts5ExprFirst(tls *libc.TLS, p uintptr, pIdx uintptr, iFirst I64, bD // // Return SQLITE_OK if successful, or an SQLite error code otherwise. It // is not considered an error if the query does not match any documents. -func sqlite3Fts5ExprNext(tls *libc.TLS, p uintptr, iLast I64) int32 { /* sqlite3.c:222651:12: */ +func sqlite3Fts5ExprNext(tls *libc.TLS, p uintptr, iLast I64) int32 { /* sqlite3.c:222708:12: */ var rc int32 var pRoot uintptr = (*Fts5Expr)(unsafe.Pointer(p)).FpRoot @@ -180332,15 +180363,15 @@ func sqlite3Fts5ExprNext(tls *libc.TLS, p uintptr, iLast I64) int32 { /* sqlite3 return rc } -func sqlite3Fts5ExprEof(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:222665:12: */ +func sqlite3Fts5ExprEof(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:222722:12: */ return (*Fts5ExprNode)(unsafe.Pointer((*Fts5Expr)(unsafe.Pointer(p)).FpRoot)).FbEof } -func sqlite3Fts5ExprRowid(tls *libc.TLS, p uintptr) I64 { /* sqlite3.c:222669:12: */ +func sqlite3Fts5ExprRowid(tls *libc.TLS, p uintptr) I64 { /* sqlite3.c:222726:12: */ return (*Fts5ExprNode)(unsafe.Pointer((*Fts5Expr)(unsafe.Pointer(p)).FpRoot)).FiRowid } -func fts5ParseStringFromToken(tls *libc.TLS, pToken uintptr, pz uintptr) int32 { /* sqlite3.c:222673:12: */ +func fts5ParseStringFromToken(tls *libc.TLS, pToken uintptr, pz uintptr) int32 { /* sqlite3.c:222730:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -180350,7 +180381,7 @@ func fts5ParseStringFromToken(tls *libc.TLS, pToken uintptr, pz uintptr) int32 { } // Free the phrase object passed as the only argument. -func fts5ExprPhraseFree(tls *libc.TLS, pPhrase uintptr) { /* sqlite3.c:222682:13: */ +func fts5ExprPhraseFree(tls *libc.TLS, pPhrase uintptr) { /* sqlite3.c:222739:13: */ if pPhrase != 0 { var i int32 for i = 0; i < (*Fts5ExprPhrase)(unsafe.Pointer(pPhrase)).FnTerm; i++ { @@ -180375,7 +180406,7 @@ func fts5ExprPhraseFree(tls *libc.TLS, pPhrase uintptr) { /* sqlite3.c:222682:13 // Set the "bFirst" flag on the first token of the phrase passed as the // only argument. -func sqlite3Fts5ParseSetCaret(tls *libc.TLS, pPhrase uintptr) { /* sqlite3.c:222707:13: */ +func sqlite3Fts5ParseSetCaret(tls *libc.TLS, pPhrase uintptr) { /* sqlite3.c:222764:13: */ if pPhrase != 0 && (*Fts5ExprPhrase)(unsafe.Pointer(pPhrase)).FnTerm != 0 { (*Fts5ExprTerm)(unsafe.Pointer(pPhrase + 20)).FbFirst = U8(1) } @@ -180387,7 +180418,7 @@ func sqlite3Fts5ParseSetCaret(tls *libc.TLS, pPhrase uintptr) { /* sqlite3.c:222 // // If an OOM error occurs, both the pNear and pPhrase objects are freed and // NULL returned. -func sqlite3Fts5ParseNearset(tls *libc.TLS, pParse uintptr, pNear uintptr, pPhrase uintptr) uintptr { /* sqlite3.c:222721:24: */ +func sqlite3Fts5ParseNearset(tls *libc.TLS, pParse uintptr, pNear uintptr, pPhrase uintptr) uintptr { /* sqlite3.c:222778:24: */ var SZALLOC int32 = 8 var pRet uintptr = uintptr(0) @@ -180446,12 +180477,12 @@ func sqlite3Fts5ParseNearset(tls *libc.TLS, pParse uintptr, pNear uintptr, pPhra type TokenCtx1 = struct { FpPhrase uintptr Frc int32 -} /* sqlite3.c:222781:9 */ +} /* sqlite3.c:222838:9 */ -type TokenCtx = TokenCtx1 /* sqlite3.c:222781:25 */ +type TokenCtx = TokenCtx1 /* sqlite3.c:222838:25 */ // Callback for tokenizing terms used by ParseTerm(). -func fts5ParseTokenize(tls *libc.TLS, pContext uintptr, tflags int32, pToken uintptr, nToken int32, iUnused1 int32, iUnused2 int32) int32 { /* sqlite3.c:222790:12: */ +func fts5ParseTokenize(tls *libc.TLS, pContext uintptr, tflags int32, pToken uintptr, nToken int32, iUnused1 int32, iUnused2 int32) int32 { /* sqlite3.c:222847:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -180520,12 +180551,12 @@ func fts5ParseTokenize(tls *libc.TLS, pContext uintptr, tflags int32, pToken uin } // Free the phrase object passed as the only argument. -func sqlite3Fts5ParsePhraseFree(tls *libc.TLS, pPhrase uintptr) { /* sqlite3.c:222855:13: */ +func sqlite3Fts5ParsePhraseFree(tls *libc.TLS, pPhrase uintptr) { /* sqlite3.c:222912:13: */ fts5ExprPhraseFree(tls, pPhrase) } // Free the phrase object passed as the second argument. -func sqlite3Fts5ParseNearsetFree(tls *libc.TLS, pNear uintptr) { /* sqlite3.c:222862:13: */ +func sqlite3Fts5ParseNearsetFree(tls *libc.TLS, pNear uintptr) { /* sqlite3.c:222919:13: */ if pNear != 0 { var i int32 for i = 0; i < (*Fts5ExprNearset)(unsafe.Pointer(pNear)).FnPhrase; i++ { @@ -180536,12 +180567,12 @@ func sqlite3Fts5ParseNearsetFree(tls *libc.TLS, pNear uintptr) { /* sqlite3.c:22 } } -func sqlite3Fts5ParseFinished(tls *libc.TLS, pParse uintptr, p uintptr) { /* sqlite3.c:222873:13: */ +func sqlite3Fts5ParseFinished(tls *libc.TLS, pParse uintptr, p uintptr) { /* sqlite3.c:222930:13: */ (*Fts5Parse)(unsafe.Pointer(pParse)).FpExpr = p } -func parseGrowPhraseArray(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:222878:12: */ +func parseGrowPhraseArray(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:222935:12: */ if (*Fts5Parse)(unsafe.Pointer(pParse)).FnPhrase%8 == 0 { var nByte Sqlite3_int64 = Sqlite3_int64(uint32(unsafe.Sizeof(uintptr(0))) * uint32((*Fts5Parse)(unsafe.Pointer(pParse)).FnPhrase+8)) var apNew uintptr @@ -180558,7 +180589,7 @@ func parseGrowPhraseArray(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:22 // This function is called by the parser to process a string token. The // string may or may not be quoted. In any case it is tokenized and a // phrase object consisting of all tokens returned. -func sqlite3Fts5ParseTerm(tls *libc.TLS, pParse uintptr, pAppend uintptr, pToken uintptr, bPrefix int32) uintptr { /* sqlite3.c:222897:23: */ +func sqlite3Fts5ParseTerm(tls *libc.TLS, pParse uintptr, pAppend uintptr, pToken uintptr, bPrefix int32) uintptr { /* sqlite3.c:222954:23: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -180616,7 +180647,7 @@ func sqlite3Fts5ParseTerm(tls *libc.TLS, pParse uintptr, pAppend uintptr, pToken // Create a new FTS5 expression by cloning phrase iPhrase of the // expression passed as the second argument. -func sqlite3Fts5ExprClonePhrase(tls *libc.TLS, pExpr uintptr, iPhrase int32, ppNew uintptr) int32 { /* sqlite3.c:222951:12: */ +func sqlite3Fts5ExprClonePhrase(tls *libc.TLS, pExpr uintptr, iPhrase int32, ppNew uintptr) int32 { /* sqlite3.c:223008:12: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -180711,7 +180742,7 @@ func sqlite3Fts5ExprClonePhrase(tls *libc.TLS, pExpr uintptr, iPhrase int32, ppN // Token pTok has appeared in a MATCH expression where the NEAR operator // is expected. If token pTok does not contain "NEAR", store an error // in the pParse object. -func sqlite3Fts5ParseNear(tls *libc.TLS, pParse uintptr, pTok uintptr) { /* sqlite3.c:223047:13: */ +func sqlite3Fts5ParseNear(tls *libc.TLS, pParse uintptr, pTok uintptr) { /* sqlite3.c:223104:13: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -180721,7 +180752,7 @@ func sqlite3Fts5ParseNear(tls *libc.TLS, pParse uintptr, pTok uintptr) { /* sqli } } -func sqlite3Fts5ParseSetDistance(tls *libc.TLS, pParse uintptr, pNear uintptr, p uintptr) { /* sqlite3.c:223055:13: */ +func sqlite3Fts5ParseSetDistance(tls *libc.TLS, pParse uintptr, pNear uintptr, p uintptr) { /* sqlite3.c:223112:13: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -180752,7 +180783,7 @@ func sqlite3Fts5ParseSetDistance(tls *libc.TLS, pParse uintptr, pNear uintptr, p // // If an OOM error occurs, store an error code in pParse and return NULL. // The old colset object (if any) is not freed in this case. -func fts5ParseColset(tls *libc.TLS, pParse uintptr, p uintptr, iCol int32) uintptr { /* sqlite3.c:223090:19: */ +func fts5ParseColset(tls *libc.TLS, pParse uintptr, p uintptr, iCol int32) uintptr { /* sqlite3.c:223147:19: */ var nCol int32 if p != 0 { nCol = (*Fts5Colset)(unsafe.Pointer(p)).FnCol @@ -180790,7 +180821,7 @@ func fts5ParseColset(tls *libc.TLS, pParse uintptr, p uintptr, iCol int32) uintp // Allocate and return an Fts5Colset object specifying the inverse of // the colset passed as the second argument. Free the colset passed // as the second argument before returning. -func sqlite3Fts5ParseColsetInvert(tls *libc.TLS, pParse uintptr, p uintptr) uintptr { /* sqlite3.c:223131:19: */ +func sqlite3Fts5ParseColsetInvert(tls *libc.TLS, pParse uintptr, p uintptr) uintptr { /* sqlite3.c:223188:19: */ var pRet uintptr var nCol int32 = (*Fts5Config)(unsafe.Pointer((*Fts5Parse)(unsafe.Pointer(pParse)).FpConfig)).FnCol @@ -180812,7 +180843,7 @@ func sqlite3Fts5ParseColsetInvert(tls *libc.TLS, pParse uintptr, p uintptr) uint return pRet } -func sqlite3Fts5ParseColset(tls *libc.TLS, pParse uintptr, pColset uintptr, p uintptr) uintptr { /* sqlite3.c:223154:19: */ +func sqlite3Fts5ParseColset(tls *libc.TLS, pParse uintptr, pColset uintptr, p uintptr) uintptr { /* sqlite3.c:223211:19: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -180851,7 +180882,7 @@ func sqlite3Fts5ParseColset(tls *libc.TLS, pParse uintptr, pColset uintptr, p ui // Otherwise, a copy of (*pOrig) is made into memory obtained from // sqlite3Fts5MallocZero() and a pointer to it returned. If the allocation // fails, (*pRc) is set to SQLITE_NOMEM and NULL is returned. -func fts5CloneColset(tls *libc.TLS, pRc uintptr, pOrig uintptr) uintptr { /* sqlite3.c:223194:19: */ +func fts5CloneColset(tls *libc.TLS, pRc uintptr, pOrig uintptr) uintptr { /* sqlite3.c:223251:19: */ var pRet uintptr if pOrig != 0 { var nByte Sqlite3_int64 = Sqlite3_int64(uint32(unsafe.Sizeof(Fts5Colset{})) + uint32((*Fts5Colset)(unsafe.Pointer(pOrig)).FnCol-1)*uint32(unsafe.Sizeof(int32(0)))) @@ -180866,7 +180897,7 @@ func fts5CloneColset(tls *libc.TLS, pRc uintptr, pOrig uintptr) uintptr { /* sql } // Remove from colset pColset any columns that are not also in colset pMerge. -func fts5MergeColset(tls *libc.TLS, pColset uintptr, pMerge uintptr) { /* sqlite3.c:223211:13: */ +func fts5MergeColset(tls *libc.TLS, pColset uintptr, pMerge uintptr) { /* sqlite3.c:223268:13: */ var iIn int32 = 0 // Next input in pColset var iMerge int32 = 0 // Next input in pMerge var iOut int32 = 0 // Next output slot in pColset @@ -180890,7 +180921,7 @@ func fts5MergeColset(tls *libc.TLS, pColset uintptr, pMerge uintptr) { /* sqlite // its decendents. If (*ppFree) is not NULL, it contains a spare copy // of pColset. This function may use the spare copy and set (*ppFree) to // zero, or it may create copies of pColset using fts5CloneColset(). -func fts5ParseSetColset(tls *libc.TLS, pParse uintptr, pNode uintptr, pColset uintptr, ppFree uintptr) { /* sqlite3.c:223237:13: */ +func fts5ParseSetColset(tls *libc.TLS, pParse uintptr, pNode uintptr, pColset uintptr, ppFree uintptr) { /* sqlite3.c:223294:13: */ if (*Fts5Parse)(unsafe.Pointer(pParse)).Frc == SQLITE_OK { if (*Fts5ExprNode)(unsafe.Pointer(pNode)).FeType == FTS5_STRING || (*Fts5ExprNode)(unsafe.Pointer(pNode)).FeType == FTS5_TERM { @@ -180918,7 +180949,7 @@ func fts5ParseSetColset(tls *libc.TLS, pParse uintptr, pNode uintptr, pColset ui } // Apply colset pColset to expression node pExpr and all of its descendents. -func sqlite3Fts5ParseSetColset(tls *libc.TLS, pParse uintptr, pExpr uintptr, pColset uintptr) { /* sqlite3.c:223275:13: */ +func sqlite3Fts5ParseSetColset(tls *libc.TLS, pParse uintptr, pExpr uintptr, pColset uintptr) { /* sqlite3.c:223332:13: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -180932,7 +180963,7 @@ func sqlite3Fts5ParseSetColset(tls *libc.TLS, pParse uintptr, pExpr uintptr, pCo Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp /* pFree */))) } -func fts5ExprAssignXNext(tls *libc.TLS, pNode uintptr) { /* sqlite3.c:223291:13: */ +func fts5ExprAssignXNext(tls *libc.TLS, pNode uintptr) { /* sqlite3.c:223348:13: */ switch (*Fts5ExprNode)(unsafe.Pointer(pNode)).FeType { case FTS5_STRING: { @@ -180983,7 +181014,7 @@ func fts5ExprAssignXNext(tls *libc.TLS, pNode uintptr) { /* sqlite3.c:223291:13: } } -func fts5ExprAddChildren(tls *libc.TLS, p uintptr, pSub uintptr) { /* sqlite3.c:223324:13: */ +func fts5ExprAddChildren(tls *libc.TLS, p uintptr, pSub uintptr) { /* sqlite3.c:223381:13: */ if (*Fts5ExprNode)(unsafe.Pointer(p)).FeType != FTS5_NOT && (*Fts5ExprNode)(unsafe.Pointer(pSub)).FeType == (*Fts5ExprNode)(unsafe.Pointer(p)).FeType { var nByte int32 = int32(uint32(unsafe.Sizeof(uintptr(0))) * uint32((*Fts5ExprNode)(unsafe.Pointer(pSub)).FnChild)) libc.Xmemcpy(tls, p+32+uintptr((*Fts5ExprNode)(unsafe.Pointer(p)).FnChild)*4, pSub+32, uint32(nByte)) @@ -181003,7 +181034,7 @@ func fts5ExprAddChildren(tls *libc.TLS, p uintptr, pSub uintptr) { /* sqlite3.c: // into an AND tree: // // abc AND def AND ghi -func fts5ParsePhraseToAnd(tls *libc.TLS, pParse uintptr, pNear uintptr) uintptr { /* sqlite3.c:223346:21: */ +func fts5ParsePhraseToAnd(tls *libc.TLS, pParse uintptr, pNear uintptr) uintptr { /* sqlite3.c:223403:21: */ var nTerm int32 = (*Fts5ExprPhrase)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pNear + 12)))).FnTerm var ii int32 var nByte int32 @@ -181046,7 +181077,7 @@ func fts5ParsePhraseToAnd(tls *libc.TLS, pParse uintptr, pNear uintptr) uintptr // Allocate and return a new expression object. If anything goes wrong (i.e. // OOM error), leave an error code in pParse and return NULL. -func sqlite3Fts5ParseNode(tls *libc.TLS, pParse uintptr, eType int32, pLeft uintptr, pRight uintptr, pNear uintptr) uintptr { /* sqlite3.c:223400:21: */ +func sqlite3Fts5ParseNode(tls *libc.TLS, pParse uintptr, eType int32, pLeft uintptr, pRight uintptr, pNear uintptr) uintptr { /* sqlite3.c:223457:21: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -181134,7 +181165,7 @@ func sqlite3Fts5ParseNode(tls *libc.TLS, pParse uintptr, eType int32, pLeft uint return pRet } -func sqlite3Fts5ParseImplicitAnd(tls *libc.TLS, pParse uintptr, pLeft uintptr, pRight uintptr) uintptr { /* sqlite3.c:223482:21: */ +func sqlite3Fts5ParseImplicitAnd(tls *libc.TLS, pParse uintptr, pLeft uintptr, pRight uintptr) uintptr { /* sqlite3.c:223539:21: */ var pRet uintptr = uintptr(0) var pPrev uintptr @@ -181180,7 +181211,7 @@ func sqlite3Fts5ParseImplicitAnd(tls *libc.TLS, pParse uintptr, pLeft uintptr, p // This is called during initialization to register the fts5_expr() scalar // UDF with the SQLite handle passed as the only argument. -func sqlite3Fts5ExprInit(tls *libc.TLS, pGlobal uintptr, db uintptr) int32 { /* sqlite3.c:223919:12: */ +func sqlite3Fts5ExprInit(tls *libc.TLS, pGlobal uintptr, db uintptr) int32 { /* sqlite3.c:223976:12: */ var rc int32 = SQLITE_OK _ = pGlobal _ = db @@ -181193,7 +181224,7 @@ func sqlite3Fts5ExprInit(tls *libc.TLS, pGlobal uintptr, db uintptr) int32 { /* } // Return the number of phrases in expression pExpr. -func sqlite3Fts5ExprPhraseCount(tls *libc.TLS, pExpr uintptr) int32 { /* sqlite3.c:223956:12: */ +func sqlite3Fts5ExprPhraseCount(tls *libc.TLS, pExpr uintptr) int32 { /* sqlite3.c:224013:12: */ return func() int32 { if pExpr != 0 { return (*Fts5Expr)(unsafe.Pointer(pExpr)).FnPhrase @@ -181203,7 +181234,7 @@ func sqlite3Fts5ExprPhraseCount(tls *libc.TLS, pExpr uintptr) int32 { /* sqlite3 } // Return the number of terms in the iPhrase'th phrase in pExpr. -func sqlite3Fts5ExprPhraseSize(tls *libc.TLS, pExpr uintptr, iPhrase int32) int32 { /* sqlite3.c:223963:12: */ +func sqlite3Fts5ExprPhraseSize(tls *libc.TLS, pExpr uintptr, iPhrase int32) int32 { /* sqlite3.c:224020:12: */ if iPhrase < 0 || iPhrase >= (*Fts5Expr)(unsafe.Pointer(pExpr)).FnPhrase { return 0 } @@ -181212,7 +181243,7 @@ func sqlite3Fts5ExprPhraseSize(tls *libc.TLS, pExpr uintptr, iPhrase int32) int3 // This function is used to access the current position list for phrase // iPhrase. -func sqlite3Fts5ExprPoslist(tls *libc.TLS, pExpr uintptr, iPhrase int32, pa uintptr) int32 { /* sqlite3.c:223972:12: */ +func sqlite3Fts5ExprPoslist(tls *libc.TLS, pExpr uintptr, iPhrase int32, pa uintptr) int32 { /* sqlite3.c:224029:12: */ var nRet int32 var pPhrase uintptr = *(*uintptr)(unsafe.Pointer((*Fts5Expr)(unsafe.Pointer(pExpr)).FapExprPhrase + uintptr(iPhrase)*4)) var pNode uintptr = (*Fts5ExprPhrase)(unsafe.Pointer(pPhrase)).FpNode @@ -181233,7 +181264,7 @@ func sqlite3Fts5ExprPoslist(tls *libc.TLS, pExpr uintptr, iPhrase int32, pa uint // At present this function is only used for detail=col and detail=none // fts5 tables. This implies that all phrases must be at most 1 token // in size, as phrase matches are not supported without detail=full. -func sqlite3Fts5ExprClearPoslists(tls *libc.TLS, pExpr uintptr, bLive int32) uintptr { /* sqlite3.c:224001:29: */ +func sqlite3Fts5ExprClearPoslists(tls *libc.TLS, pExpr uintptr, bLive int32) uintptr { /* sqlite3.c:224058:29: */ var pRet uintptr pRet = Xsqlite3_malloc64(tls, uint64(uint32(unsafe.Sizeof(Fts5PoslistPopulator{}))*uint32((*Fts5Expr)(unsafe.Pointer(pExpr)).FnPhrase))) if pRet != 0 { @@ -181257,12 +181288,12 @@ type Fts5ExprCtx1 = struct { FpExpr uintptr FaPopulator uintptr FiOff I64 -} /* sqlite3.c:224023:1 */ +} /* sqlite3.c:224080:1 */ -type Fts5ExprCtx = Fts5ExprCtx1 /* sqlite3.c:224028:28 */ +type Fts5ExprCtx = Fts5ExprCtx1 /* sqlite3.c:224085:28 */ // TODO: Make this more efficient! -func fts5ExprColsetTest(tls *libc.TLS, pColset uintptr, iCol int32) int32 { /* sqlite3.c:224033:12: */ +func fts5ExprColsetTest(tls *libc.TLS, pColset uintptr, iCol int32) int32 { /* sqlite3.c:224090:12: */ var i int32 for i = 0; i < (*Fts5Colset)(unsafe.Pointer(pColset)).FnCol; i++ { if *(*int32)(unsafe.Pointer(pColset + 4 + uintptr(i)*4)) == iCol { @@ -181272,7 +181303,7 @@ func fts5ExprColsetTest(tls *libc.TLS, pColset uintptr, iCol int32) int32 { /* s return 0 } -func fts5ExprPopulatePoslistsCb(tls *libc.TLS, pCtx uintptr, tflags int32, pToken uintptr, nToken int32, iUnused1 int32, iUnused2 int32) int32 { /* sqlite3.c:224041:12: */ +func fts5ExprPopulatePoslistsCb(tls *libc.TLS, pCtx uintptr, tflags int32, pToken uintptr, nToken int32, iUnused1 int32, iUnused2 int32) int32 { /* sqlite3.c:224098:12: */ var p uintptr = pCtx var pExpr uintptr = (*Fts5ExprCtx)(unsafe.Pointer(p)).FpExpr var i int32 @@ -181307,7 +181338,7 @@ func fts5ExprPopulatePoslistsCb(tls *libc.TLS, pCtx uintptr, tflags int32, pToke return SQLITE_OK } -func sqlite3Fts5ExprPopulatePoslists(tls *libc.TLS, pConfig uintptr, pExpr uintptr, aPopulator uintptr, iCol int32, z uintptr, n int32) int32 { /* sqlite3.c:224076:12: */ +func sqlite3Fts5ExprPopulatePoslists(tls *libc.TLS, pConfig uintptr, pExpr uintptr, aPopulator uintptr, iCol int32, z uintptr, n int32) int32 { /* sqlite3.c:224133:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -181335,7 +181366,7 @@ func sqlite3Fts5ExprPopulatePoslists(tls *libc.TLS, pConfig uintptr, pExpr uintp }{fts5ExprPopulatePoslistsCb}))) } -func fts5ExprClearPoslists(tls *libc.TLS, pNode uintptr) { /* sqlite3.c:224106:13: */ +func fts5ExprClearPoslists(tls *libc.TLS, pNode uintptr) { /* sqlite3.c:224163:13: */ if (*Fts5ExprNode)(unsafe.Pointer(pNode)).FeType == FTS5_TERM || (*Fts5ExprNode)(unsafe.Pointer(pNode)).FeType == FTS5_STRING { (*Fts5ExprPhrase)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer((*Fts5ExprNode)(unsafe.Pointer(pNode)).FpNear + 12)))).Fposlist.Fn = 0 } else { @@ -181346,7 +181377,7 @@ func fts5ExprClearPoslists(tls *libc.TLS, pNode uintptr) { /* sqlite3.c:224106:1 } } -func fts5ExprCheckPoslists(tls *libc.TLS, pNode uintptr, iRowid I64) int32 { /* sqlite3.c:224117:12: */ +func fts5ExprCheckPoslists(tls *libc.TLS, pNode uintptr, iRowid I64) int32 { /* sqlite3.c:224174:12: */ (*Fts5ExprNode)(unsafe.Pointer(pNode)).FiRowid = iRowid (*Fts5ExprNode)(unsafe.Pointer(pNode)).FbEof = 0 switch (*Fts5ExprNode)(unsafe.Pointer(pNode)).FeType { @@ -181396,12 +181427,12 @@ func fts5ExprCheckPoslists(tls *libc.TLS, pNode uintptr, iRowid I64) int32 { /* return 1 } -func sqlite3Fts5ExprCheckPoslists(tls *libc.TLS, pExpr uintptr, iRowid I64) { /* sqlite3.c:224161:13: */ +func sqlite3Fts5ExprCheckPoslists(tls *libc.TLS, pExpr uintptr, iRowid I64) { /* sqlite3.c:224218:13: */ fts5ExprCheckPoslists(tls, (*Fts5Expr)(unsafe.Pointer(pExpr)).FpRoot, iRowid) } // This function is only called for detail=columns tables. -func sqlite3Fts5ExprPhraseCollist(tls *libc.TLS, pExpr uintptr, iPhrase int32, ppCollist uintptr, pnCollist uintptr) int32 { /* sqlite3.c:224168:12: */ +func sqlite3Fts5ExprPhraseCollist(tls *libc.TLS, pExpr uintptr, iPhrase int32, ppCollist uintptr, pnCollist uintptr) int32 { /* sqlite3.c:224225:12: */ var pPhrase uintptr = *(*uintptr)(unsafe.Pointer((*Fts5Expr)(unsafe.Pointer(pExpr)).FapExprPhrase + uintptr(iPhrase)*4)) var pNode uintptr = (*Fts5ExprPhrase)(unsafe.Pointer(pPhrase)).FpNode var rc int32 = SQLITE_OK @@ -181452,7 +181483,7 @@ type Fts5HashEntry1 = struct { FiCol I16 FiPos int32 FiRowid I64 -} /* sqlite3.c:216813:9 */ +} /* sqlite3.c:216870:9 */ // 2014 August 11 // @@ -181468,14 +181499,14 @@ type Fts5HashEntry1 = struct { // #include "fts5Int.h" -type Fts5HashEntry = Fts5HashEntry1 /* sqlite3.c:224221:30 */ +type Fts5HashEntry = Fts5HashEntry1 /* sqlite3.c:224278:30 */ // Eqivalent to: // // char *fts5EntryKey(Fts5HashEntry *pEntry){ return zKey; } // Allocate a new hash table. -func sqlite3Fts5HashNew(tls *libc.TLS, pConfig uintptr, ppNew uintptr, pnByte uintptr) int32 { /* sqlite3.c:224287:12: */ +func sqlite3Fts5HashNew(tls *libc.TLS, pConfig uintptr, ppNew uintptr, pnByte uintptr) int32 { /* sqlite3.c:224344:12: */ var rc int32 = SQLITE_OK var pNew uintptr @@ -181503,7 +181534,7 @@ func sqlite3Fts5HashNew(tls *libc.TLS, pConfig uintptr, ppNew uintptr, pnByte ui } // Free a hash table object. -func sqlite3Fts5HashFree(tls *libc.TLS, pHash uintptr) { /* sqlite3.c:224317:13: */ +func sqlite3Fts5HashFree(tls *libc.TLS, pHash uintptr) { /* sqlite3.c:224374:13: */ if pHash != 0 { sqlite3Fts5HashClear(tls, pHash) Xsqlite3_free(tls, (*Fts5Hash)(unsafe.Pointer(pHash)).FaSlot) @@ -181512,7 +181543,7 @@ func sqlite3Fts5HashFree(tls *libc.TLS, pHash uintptr) { /* sqlite3.c:224317:13: } // Empty (but do not delete) a hash table. -func sqlite3Fts5HashClear(tls *libc.TLS, pHash uintptr) { /* sqlite3.c:224328:13: */ +func sqlite3Fts5HashClear(tls *libc.TLS, pHash uintptr) { /* sqlite3.c:224385:13: */ var i int32 for i = 0; i < (*Fts5Hash)(unsafe.Pointer(pHash)).FnSlot; i++ { var pNext uintptr @@ -181526,7 +181557,7 @@ func sqlite3Fts5HashClear(tls *libc.TLS, pHash uintptr) { /* sqlite3.c:224328:13 (*Fts5Hash)(unsafe.Pointer(pHash)).FnEntry = 0 } -func fts5HashKey(tls *libc.TLS, nSlot int32, p uintptr, n int32) uint32 { /* sqlite3.c:224342:21: */ +func fts5HashKey(tls *libc.TLS, nSlot int32, p uintptr, n int32) uint32 { /* sqlite3.c:224399:21: */ var i int32 var h uint32 = uint32(13) for i = n - 1; i >= 0; i-- { @@ -181535,7 +181566,7 @@ func fts5HashKey(tls *libc.TLS, nSlot int32, p uintptr, n int32) uint32 { /* sql return h % uint32(nSlot) } -func fts5HashKey2(tls *libc.TLS, nSlot int32, b U8, p uintptr, n int32) uint32 { /* sqlite3.c:224351:21: */ +func fts5HashKey2(tls *libc.TLS, nSlot int32, b U8, p uintptr, n int32) uint32 { /* sqlite3.c:224408:21: */ var i int32 var h uint32 = uint32(13) for i = n - 1; i >= 0; i-- { @@ -181546,7 +181577,7 @@ func fts5HashKey2(tls *libc.TLS, nSlot int32, b U8, p uintptr, n int32) uint32 { } // Resize the hash table by doubling the number of slots. -func fts5HashResize(tls *libc.TLS, pHash uintptr) int32 { /* sqlite3.c:224364:12: */ +func fts5HashResize(tls *libc.TLS, pHash uintptr) int32 { /* sqlite3.c:224421:12: */ var nNew int32 = (*Fts5Hash)(unsafe.Pointer(pHash)).FnSlot * 2 var i int32 var apNew uintptr @@ -181576,7 +181607,7 @@ func fts5HashResize(tls *libc.TLS, pHash uintptr) int32 { /* sqlite3.c:224364:12 return SQLITE_OK } -func fts5HashAddPoslistSize(tls *libc.TLS, pHash uintptr, p uintptr, p2 uintptr) int32 { /* sqlite3.c:224392:12: */ +func fts5HashAddPoslistSize(tls *libc.TLS, pHash uintptr, p uintptr, p2 uintptr) int32 { /* sqlite3.c:224449:12: */ var nRet int32 = 0 if (*Fts5HashEntry)(unsafe.Pointer(p)).FiSzPoslist != 0 { var pPtr uintptr @@ -181625,7 +181656,7 @@ func fts5HashAddPoslistSize(tls *libc.TLS, pHash uintptr, p uintptr, p2 uintptr) // (bByte || pToken) -> (iRowid,iCol,iPos) // // Or, if iCol is negative, then the value is a delete marker. -func sqlite3Fts5HashWrite(tls *libc.TLS, pHash uintptr, iRowid I64, iCol int32, iPos int32, bByte uint8, pToken uintptr, nToken int32) int32 { /* sqlite3.c:224443:12: */ +func sqlite3Fts5HashWrite(tls *libc.TLS, pHash uintptr, iRowid I64, iCol int32, iPos int32, bByte uint8, pToken uintptr, nToken int32) int32 { /* sqlite3.c:224500:12: */ var iHash uint32 var p uintptr var pPtr uintptr @@ -181784,7 +181815,7 @@ func sqlite3Fts5HashWrite(tls *libc.TLS, pHash uintptr, iRowid I64, iCol int32, // Arguments pLeft and pRight point to linked-lists of hash-entry objects, // each sorted in key order. This function merges the two lists into a // single list and returns a pointer to its first element. -func fts5HashEntryMerge(tls *libc.TLS, pLeft uintptr, pRight uintptr) uintptr { /* sqlite3.c:224596:22: */ +func fts5HashEntryMerge(tls *libc.TLS, pLeft uintptr, pRight uintptr) uintptr { /* sqlite3.c:224653:22: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -181830,7 +181861,7 @@ func fts5HashEntryMerge(tls *libc.TLS, pLeft uintptr, pRight uintptr) uintptr { // in sorted order. The hash table is cleared before returning. It is // the responsibility of the caller to free the elements of the returned // list. -func fts5HashEntrySort(tls *libc.TLS, pHash uintptr, pTerm uintptr, nTerm int32, ppSorted uintptr) int32 { /* sqlite3.c:224642:12: */ +func fts5HashEntrySort(tls *libc.TLS, pHash uintptr, pTerm uintptr, nTerm int32, ppSorted uintptr) int32 { /* sqlite3.c:224699:12: */ var nMergeSlot int32 = 32 var ap uintptr var pList uintptr @@ -181872,7 +181903,7 @@ func fts5HashEntrySort(tls *libc.TLS, pHash uintptr, pTerm uintptr, nTerm int32, } // Query the hash table for a doclist associated with term pTerm/nTerm. -func sqlite3Fts5HashQuery(tls *libc.TLS, pHash uintptr, nPre int32, pTerm uintptr, nTerm int32, ppOut uintptr, pnDoclist uintptr) int32 { /* sqlite3.c:224689:12: */ +func sqlite3Fts5HashQuery(tls *libc.TLS, pHash uintptr, nPre int32, pTerm uintptr, nTerm int32, ppOut uintptr, pnDoclist uintptr) int32 { /* sqlite3.c:224746:12: */ var iHash uint32 = fts5HashKey(tls, (*Fts5Hash)(unsafe.Pointer(pHash)).FnSlot, pTerm, nTerm) var zKey uintptr = uintptr(0) var p uintptr @@ -181906,20 +181937,20 @@ func sqlite3Fts5HashQuery(tls *libc.TLS, pHash uintptr, nPre int32, pTerm uintpt return SQLITE_OK } -func sqlite3Fts5HashScanInit(tls *libc.TLS, p uintptr, pTerm uintptr, nTerm int32) int32 { /* sqlite3.c:224727:12: */ +func sqlite3Fts5HashScanInit(tls *libc.TLS, p uintptr, pTerm uintptr, nTerm int32) int32 { /* sqlite3.c:224784:12: */ return fts5HashEntrySort(tls, p, pTerm, nTerm, p+16) } -func sqlite3Fts5HashScanNext(tls *libc.TLS, p uintptr) { /* sqlite3.c:224734:13: */ +func sqlite3Fts5HashScanNext(tls *libc.TLS, p uintptr) { /* sqlite3.c:224791:13: */ (*Fts5Hash)(unsafe.Pointer(p)).FpScan = (*Fts5HashEntry)(unsafe.Pointer((*Fts5Hash)(unsafe.Pointer(p)).FpScan)).FpScanNext } -func sqlite3Fts5HashScanEof(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:224739:12: */ +func sqlite3Fts5HashScanEof(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:224796:12: */ return libc.Bool32((*Fts5Hash)(unsafe.Pointer(p)).FpScan == uintptr(0)) } -func sqlite3Fts5HashScanEntry(tls *libc.TLS, pHash uintptr, pzTerm uintptr, ppDoclist uintptr, pnDoclist uintptr) { /* sqlite3.c:224743:13: */ +func sqlite3Fts5HashScanEntry(tls *libc.TLS, pHash uintptr, pzTerm uintptr, ppDoclist uintptr, pnDoclist uintptr) { /* sqlite3.c:224800:13: */ var p uintptr if libc.AssignUintptr(&p, (*Fts5Hash)(unsafe.Pointer(pHash)).FpScan) != 0 { var zKey uintptr = p + 1*40 @@ -182145,7 +182176,7 @@ type Fts5Data1 = struct { Fp uintptr Fnn int32 FszLeaf int32 -} /* sqlite3.c:225018:9 */ +} /* sqlite3.c:225075:9 */ // 2014 May 31 // @@ -182353,14 +182384,14 @@ type Fts5Data1 = struct { // many zero bytes. This makes it easier to decode the various record formats // without overreading if the records are corrupt. -type Fts5Data = Fts5Data1 /* sqlite3.c:225018:25 */ +type Fts5Data = Fts5Data1 /* sqlite3.c:225075:25 */ type Fts5DlidxIter1 = struct { FnLvl int32 FiSegid int32 FaLvl [1]Fts5DlidxLvl -} /* sqlite3.c:225019:9 */ +} /* sqlite3.c:225076:9 */ -type Fts5DlidxIter = Fts5DlidxIter1 /* sqlite3.c:225019:30 */ +type Fts5DlidxIter = Fts5DlidxIter1 /* sqlite3.c:225076:30 */ type Fts5DlidxLvl1 = struct { FpData uintptr FiOff int32 @@ -182369,18 +182400,18 @@ type Fts5DlidxLvl1 = struct { FiLeafPgno int32 F__ccgo_pad1 [4]byte FiRowid I64 -} /* sqlite3.c:225019:9 */ +} /* sqlite3.c:225076:9 */ -type Fts5DlidxLvl = Fts5DlidxLvl1 /* sqlite3.c:225020:29 */ +type Fts5DlidxLvl = Fts5DlidxLvl1 /* sqlite3.c:225077:29 */ type Fts5DlidxWriter1 = struct { Fpgno int32 FbPrevValid int32 FiPrev I64 Fbuf Fts5Buffer F__ccgo_pad1 [4]byte -} /* sqlite3.c:225021:9 */ +} /* sqlite3.c:225078:9 */ -type Fts5DlidxWriter = Fts5DlidxWriter1 /* sqlite3.c:225021:32 */ +type Fts5DlidxWriter = Fts5DlidxWriter1 /* sqlite3.c:225078:32 */ type Fts5Iter1 = struct { Fbase Fts5IndexIter FpIndex uintptr @@ -182395,18 +182426,18 @@ type Fts5Iter1 = struct { FaFirst uintptr F__ccgo_pad2 [4]byte FaSeg [1]Fts5SegIter -} /* sqlite3.c:225022:9 */ +} /* sqlite3.c:225079:9 */ -type Fts5Iter = Fts5Iter1 /* sqlite3.c:225022:25 */ +type Fts5Iter = Fts5Iter1 /* sqlite3.c:225079:25 */ type Fts5PageWriter1 = struct { Fpgno int32 FiPrevPgidx int32 Fbuf Fts5Buffer Fpgidx Fts5Buffer Fterm Fts5Buffer -} /* sqlite3.c:225023:9 */ +} /* sqlite3.c:225080:9 */ -type Fts5PageWriter = Fts5PageWriter1 /* sqlite3.c:225023:31 */ +type Fts5PageWriter = Fts5PageWriter1 /* sqlite3.c:225080:31 */ type Fts5SegIter1 = struct { FpSeg uintptr Fflags int32 @@ -182429,9 +182460,9 @@ type Fts5SegIter1 = struct { FnPos int32 FbDel U8 F__ccgo_pad2 [3]byte -} /* sqlite3.c:225022:9 */ +} /* sqlite3.c:225079:9 */ -type Fts5SegIter = Fts5SegIter1 /* sqlite3.c:225024:28 */ +type Fts5SegIter = Fts5SegIter1 /* sqlite3.c:225081:28 */ type Fts5DoclistIter1 = struct { FaEof uintptr F__ccgo_pad1 [4]byte @@ -182440,9 +182471,9 @@ type Fts5DoclistIter1 = struct { FnPoslist int32 FnSize int32 F__ccgo_pad2 [4]byte -} /* sqlite3.c:225025:9 */ +} /* sqlite3.c:225082:9 */ -type Fts5DoclistIter = Fts5DoclistIter1 /* sqlite3.c:225025:32 */ +type Fts5DoclistIter = Fts5DoclistIter1 /* sqlite3.c:225082:32 */ type Fts5SegWriter1 = struct { FiSegid int32 Fwriter Fts5PageWriter @@ -182458,9 +182489,9 @@ type Fts5SegWriter1 = struct { Fbtterm Fts5Buffer FiBtPage int32 F__ccgo_pad2 [4]byte -} /* sqlite3.c:225026:9 */ +} /* sqlite3.c:225083:9 */ -type Fts5SegWriter = Fts5SegWriter1 /* sqlite3.c:225026:30 */ +type Fts5SegWriter = Fts5SegWriter1 /* sqlite3.c:225083:30 */ type Fts5Structure1 = struct { FnRef int32 F__ccgo_pad1 [4]byte @@ -182469,38 +182500,38 @@ type Fts5Structure1 = struct { FnLevel int32 FaLevel [1]Fts5StructureLevel F__ccgo_pad2 [4]byte -} /* sqlite3.c:216813:9 */ +} /* sqlite3.c:216870:9 */ -type Fts5Structure = Fts5Structure1 /* sqlite3.c:225027:30 */ +type Fts5Structure = Fts5Structure1 /* sqlite3.c:225084:30 */ type Fts5StructureLevel1 = struct { FnMerge int32 FnSeg int32 FaSeg uintptr -} /* sqlite3.c:216813:9 */ +} /* sqlite3.c:216870:9 */ -type Fts5StructureLevel = Fts5StructureLevel1 /* sqlite3.c:225028:35 */ +type Fts5StructureLevel = Fts5StructureLevel1 /* sqlite3.c:225085:35 */ type Fts5StructureSegment1 = struct { FiSegid int32 FpgnoFirst int32 FpgnoLast int32 -} /* sqlite3.c:216813:9 */ +} /* sqlite3.c:216870:9 */ -type Fts5StructureSegment = Fts5StructureSegment1 /* sqlite3.c:225029:37 */ +type Fts5StructureSegment = Fts5StructureSegment1 /* sqlite3.c:225086:37 */ type Fts5CResult1 = struct { FiFirst U16 FbTermEq U8 F__ccgo_pad1 [1]byte -} /* sqlite3.c:225022:9 */ +} /* sqlite3.c:225079:9 */ -type Fts5CResult = Fts5CResult1 /* sqlite3.c:225139:28 */ +type Fts5CResult = Fts5CResult1 /* sqlite3.c:225196:28 */ -func fts5PutU16(tls *libc.TLS, aOut uintptr, iVal U16) { /* sqlite3.c:225318:13: */ +func fts5PutU16(tls *libc.TLS, aOut uintptr, iVal U16) { /* sqlite3.c:225375:13: */ *(*U8)(unsafe.Pointer(aOut)) = U8(int32(iVal) >> 8) *(*U8)(unsafe.Pointer(aOut + 1)) = U8(int32(iVal) & 0xFF) } -func fts5GetU16(tls *libc.TLS, aIn uintptr) U16 { /* sqlite3.c:225323:12: */ +func fts5GetU16(tls *libc.TLS, aIn uintptr) U16 { /* sqlite3.c:225380:12: */ return U16(int32(U16(*(*U8)(unsafe.Pointer(aIn))))<<8 + int32(*(*U8)(unsafe.Pointer(aIn + 1)))) } @@ -182508,7 +182539,7 @@ func fts5GetU16(tls *libc.TLS, aIn uintptr) U16 { /* sqlite3.c:225323:12: */ // // If an OOM error is encountered, return NULL and set the error code in // the Fts5Index handle passed as the first argument. -func fts5IdxMalloc(tls *libc.TLS, p uintptr, nByte Sqlite3_int64) uintptr { /* sqlite3.c:225333:13: */ +func fts5IdxMalloc(tls *libc.TLS, p uintptr, nByte Sqlite3_int64) uintptr { /* sqlite3.c:225390:13: */ return sqlite3Fts5MallocZero(tls, p+36, nByte) } @@ -182526,7 +182557,7 @@ func fts5IdxMalloc(tls *libc.TLS, p uintptr, nByte Sqlite3_int64) uintptr { /* s // +ve if pRight is smaller than pLeft. In other words: // // res = *pLeft - *pRight -func fts5BufferCompare(tls *libc.TLS, pLeft uintptr, pRight uintptr) int32 { /* sqlite3.c:225365:12: */ +func fts5BufferCompare(tls *libc.TLS, pLeft uintptr, pRight uintptr) int32 { /* sqlite3.c:225422:12: */ var nCmp int32 var res int32 nCmp = func() int32 { @@ -182550,7 +182581,7 @@ func fts5BufferCompare(tls *libc.TLS, pLeft uintptr, pRight uintptr) int32 { /* }() } -func fts5LeafFirstTermOff(tls *libc.TLS, pLeaf uintptr) int32 { /* sqlite3.c:225374:12: */ +func fts5LeafFirstTermOff(tls *libc.TLS, pLeaf uintptr) int32 { /* sqlite3.c:225431:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -182561,7 +182592,7 @@ func fts5LeafFirstTermOff(tls *libc.TLS, pLeaf uintptr) int32 { /* sqlite3.c:225 } // Close the read-only blob handle, if it is open. -func sqlite3Fts5IndexCloseReader(tls *libc.TLS, p uintptr) { /* sqlite3.c:225383:13: */ +func sqlite3Fts5IndexCloseReader(tls *libc.TLS, p uintptr) { /* sqlite3.c:225440:13: */ if (*Fts5Index)(unsafe.Pointer(p)).FpReader != 0 { var pReader uintptr = (*Fts5Index)(unsafe.Pointer(p)).FpReader (*Fts5Index)(unsafe.Pointer(p)).FpReader = uintptr(0) @@ -182573,7 +182604,7 @@ func sqlite3Fts5IndexCloseReader(tls *libc.TLS, p uintptr) { /* sqlite3.c:225383 // // If an error occurs, NULL is returned and an error left in the // Fts5Index object. -func fts5DataRead(tls *libc.TLS, p uintptr, iRowid I64) uintptr { /* sqlite3.c:225397:17: */ +func fts5DataRead(tls *libc.TLS, p uintptr, iRowid I64) uintptr { /* sqlite3.c:225454:17: */ var pRet uintptr = uintptr(0) if (*Fts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK { var rc int32 = SQLITE_OK @@ -182646,11 +182677,11 @@ func fts5DataRead(tls *libc.TLS, p uintptr, iRowid I64) uintptr { /* sqlite3.c:2 // Release a reference to data record returned by an earlier call to // fts5DataRead(). -func fts5DataRelease(tls *libc.TLS, pData uintptr) { /* sqlite3.c:225471:13: */ +func fts5DataRelease(tls *libc.TLS, pData uintptr) { /* sqlite3.c:225528:13: */ Xsqlite3_free(tls, pData) } -func fts5LeafRead(tls *libc.TLS, p uintptr, iRowid I64) uintptr { /* sqlite3.c:225475:17: */ +func fts5LeafRead(tls *libc.TLS, p uintptr, iRowid I64) uintptr { /* sqlite3.c:225532:17: */ var pRet uintptr = fts5DataRead(tls, p, iRowid) if pRet != 0 { if (*Fts5Data)(unsafe.Pointer(pRet)).Fnn < 4 || (*Fts5Data)(unsafe.Pointer(pRet)).FszLeaf > (*Fts5Data)(unsafe.Pointer(pRet)).Fnn { @@ -182662,7 +182693,7 @@ func fts5LeafRead(tls *libc.TLS, p uintptr, iRowid I64) uintptr { /* sqlite3.c:2 return pRet } -func fts5IndexPrepareStmt(tls *libc.TLS, p uintptr, ppStmt uintptr, zSql uintptr) int32 { /* sqlite3.c:225487:12: */ +func fts5IndexPrepareStmt(tls *libc.TLS, p uintptr, ppStmt uintptr, zSql uintptr) int32 { /* sqlite3.c:225544:12: */ if (*Fts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK { if zSql != 0 { (*Fts5Index)(unsafe.Pointer(p)).Frc = Xsqlite3_prepare_v3(tls, (*Fts5Config)(unsafe.Pointer((*Fts5Index)(unsafe.Pointer(p)).FpConfig)).Fdb, zSql, -1, @@ -182677,7 +182708,7 @@ func fts5IndexPrepareStmt(tls *libc.TLS, p uintptr, ppStmt uintptr, zSql uintptr } // INSERT OR REPLACE a record into the %_data table. -func fts5DataWrite(tls *libc.TLS, p uintptr, iRowid I64, pData uintptr, nData int32) { /* sqlite3.c:225509:13: */ +func fts5DataWrite(tls *libc.TLS, p uintptr, iRowid I64, pData uintptr, nData int32) { /* sqlite3.c:225566:13: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -182705,7 +182736,7 @@ func fts5DataWrite(tls *libc.TLS, p uintptr, iRowid I64, pData uintptr, nData in // Execute the following SQL: // // DELETE FROM %_data WHERE id BETWEEN $iFirst AND $iLast -func fts5DataDelete(tls *libc.TLS, p uintptr, iFirst I64, iLast I64) { /* sqlite3.c:225533:13: */ +func fts5DataDelete(tls *libc.TLS, p uintptr, iFirst I64, iLast I64) { /* sqlite3.c:225590:13: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -182730,7 +182761,7 @@ func fts5DataDelete(tls *libc.TLS, p uintptr, iFirst I64, iLast I64) { /* sqlite } // Remove all records associated with segment iSegid. -func fts5DataRemoveSegment(tls *libc.TLS, p uintptr, iSegid int32) { /* sqlite3.c:225554:13: */ +func fts5DataRemoveSegment(tls *libc.TLS, p uintptr, iSegid int32) { /* sqlite3.c:225611:13: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -182752,7 +182783,7 @@ func fts5DataRemoveSegment(tls *libc.TLS, p uintptr, iSegid int32) { /* sqlite3. // Release a reference to an Fts5Structure object returned by an earlier // call to fts5StructureRead() or fts5StructureDecode(). -func fts5StructureRelease(tls *libc.TLS, pStruct uintptr) { /* sqlite3.c:225576:13: */ +func fts5StructureRelease(tls *libc.TLS, pStruct uintptr) { /* sqlite3.c:225633:13: */ if pStruct != 0 && 0 >= libc.PreDecInt32(&(*Fts5Structure)(unsafe.Pointer(pStruct)).FnRef, 1) { var i int32 @@ -182763,22 +182794,22 @@ func fts5StructureRelease(tls *libc.TLS, pStruct uintptr) { /* sqlite3.c:225576: } } -func fts5StructureRef(tls *libc.TLS, pStruct uintptr) { /* sqlite3.c:225587:13: */ +func fts5StructureRef(tls *libc.TLS, pStruct uintptr) { /* sqlite3.c:225644:13: */ (*Fts5Structure)(unsafe.Pointer(pStruct)).FnRef++ } -func sqlite3Fts5StructureRef(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:225591:13: */ +func sqlite3Fts5StructureRef(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:225648:13: */ fts5StructureRef(tls, (*Fts5Index)(unsafe.Pointer(p)).FpStruct) return (*Fts5Index)(unsafe.Pointer(p)).FpStruct } -func sqlite3Fts5StructureRelease(tls *libc.TLS, p uintptr) { /* sqlite3.c:225595:13: */ +func sqlite3Fts5StructureRelease(tls *libc.TLS, p uintptr) { /* sqlite3.c:225652:13: */ if p != 0 { fts5StructureRelease(tls, p) } } -func sqlite3Fts5StructureTest(tls *libc.TLS, p uintptr, pStruct uintptr) int32 { /* sqlite3.c:225600:12: */ +func sqlite3Fts5StructureTest(tls *libc.TLS, p uintptr, pStruct uintptr) int32 { /* sqlite3.c:225657:12: */ if (*Fts5Index)(unsafe.Pointer(p)).FpStruct != pStruct { return SQLITE_ABORT } @@ -182789,7 +182820,7 @@ func sqlite3Fts5StructureTest(tls *libc.TLS, p uintptr, pStruct uintptr) int32 { // // This function is a no-op if (*pRc) is not SQLITE_OK when it is called. If // an error occurs, (*pRc) is set to an SQLite error code before returning. -func fts5StructureMakeWritable(tls *libc.TLS, pRc uintptr, pp uintptr) { /* sqlite3.c:225613:13: */ +func fts5StructureMakeWritable(tls *libc.TLS, pRc uintptr, pp uintptr) { /* sqlite3.c:225670:13: */ var p uintptr = *(*uintptr)(unsafe.Pointer(pp)) if *(*int32)(unsafe.Pointer(pRc)) == SQLITE_OK && (*Fts5Structure)(unsafe.Pointer(p)).FnRef > 1 { var nByte I64 = I64(uint32(unsafe.Sizeof(Fts5Structure{})) + uint32((*Fts5Structure)(unsafe.Pointer(p)).FnLevel-1)*uint32(unsafe.Sizeof(Fts5StructureLevel{}))) @@ -182831,7 +182862,7 @@ func fts5StructureMakeWritable(tls *libc.TLS, pRc uintptr, pp uintptr) { /* sqli // If an error occurs, *ppOut is set to NULL and an SQLite error code // returned. Otherwise, *ppOut is set to point to the new object and // SQLITE_OK returned. -func fts5StructureDecode(tls *libc.TLS, pData uintptr, nData int32, piCookie uintptr, ppOut uintptr) int32 { /* sqlite3.c:225655:12: */ +func fts5StructureDecode(tls *libc.TLS, pData uintptr, nData int32, piCookie uintptr, ppOut uintptr) int32 { /* sqlite3.c:225712:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -182924,7 +182955,7 @@ func fts5StructureDecode(tls *libc.TLS, pData uintptr, nData int32, piCookie uin // Add a level to the Fts5Structure.aLevel[] array of structure object // (*ppStruct). -func fts5StructureAddLevel(tls *libc.TLS, pRc uintptr, ppStruct uintptr) { /* sqlite3.c:225747:13: */ +func fts5StructureAddLevel(tls *libc.TLS, pRc uintptr, ppStruct uintptr) { /* sqlite3.c:225804:13: */ fts5StructureMakeWritable(tls, pRc, ppStruct) if *(*int32)(unsafe.Pointer(pRc)) == SQLITE_OK { var pStruct uintptr = *(*uintptr)(unsafe.Pointer(ppStruct)) @@ -182944,7 +182975,7 @@ func fts5StructureAddLevel(tls *libc.TLS, pRc uintptr, ppStruct uintptr) { /* sq // Extend level iLvl so that there is room for at least nExtra more // segments. -func fts5StructureExtendLevel(tls *libc.TLS, pRc uintptr, pStruct uintptr, iLvl int32, nExtra int32, bInsert int32) { /* sqlite3.c:225772:13: */ +func fts5StructureExtendLevel(tls *libc.TLS, pRc uintptr, pStruct uintptr, iLvl int32, nExtra int32, bInsert int32) { /* sqlite3.c:225829:13: */ if *(*int32)(unsafe.Pointer(pRc)) == SQLITE_OK { var pLvl uintptr = pStruct + 24 + uintptr(iLvl)*12 var aNew uintptr @@ -182967,7 +182998,7 @@ func fts5StructureExtendLevel(tls *libc.TLS, pRc uintptr, pStruct uintptr, iLvl } } -func fts5StructureReadUncached(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:225801:22: */ +func fts5StructureReadUncached(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:225858:22: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -182995,7 +183026,7 @@ func fts5StructureReadUncached(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c: return *(*uintptr)(unsafe.Pointer(bp + 4 /* pRet */)) } -func fts5IndexDataVersion(tls *libc.TLS, p uintptr) I64 { /* sqlite3.c:225825:12: */ +func fts5IndexDataVersion(tls *libc.TLS, p uintptr) I64 { /* sqlite3.c:225882:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -183028,7 +183059,7 @@ func fts5IndexDataVersion(tls *libc.TLS, p uintptr) I64 { /* sqlite3.c:225825:12 // If an error occurs, NULL is returned and an error code left in the // Fts5Index handle. If an error has already occurred when this function // is called, it is a no-op. -func fts5StructureRead(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:225856:22: */ +func fts5StructureRead(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:225913:22: */ if (*Fts5Index)(unsafe.Pointer(p)).FpStruct == uintptr(0) { (*Fts5Index)(unsafe.Pointer(p)).FiStructVersion = fts5IndexDataVersion(tls, p) @@ -183045,7 +183076,7 @@ func fts5StructureRead(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:225856:2 return (*Fts5Index)(unsafe.Pointer(p)).FpStruct } -func fts5StructureInvalidate(tls *libc.TLS, p uintptr) { /* sqlite3.c:225895:13: */ +func fts5StructureInvalidate(tls *libc.TLS, p uintptr) { /* sqlite3.c:225952:13: */ if (*Fts5Index)(unsafe.Pointer(p)).FpStruct != 0 { fts5StructureRelease(tls, (*Fts5Index)(unsafe.Pointer(p)).FpStruct) (*Fts5Index)(unsafe.Pointer(p)).FpStruct = uintptr(0) @@ -183059,7 +183090,7 @@ func fts5StructureInvalidate(tls *libc.TLS, p uintptr) { /* sqlite3.c:225895:13: // // If an error occurs, leave an error code in the Fts5Index object. If an // error has already occurred, this function is a no-op. -func fts5StructureWrite(tls *libc.TLS, p uintptr, pStruct uintptr) { /* sqlite3.c:225938:13: */ +func fts5StructureWrite(tls *libc.TLS, p uintptr, pStruct uintptr) { /* sqlite3.c:225995:13: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -183112,14 +183143,14 @@ func fts5StructureWrite(tls *libc.TLS, p uintptr, pStruct uintptr) { /* sqlite3. } } -func fts5SegmentSize(tls *libc.TLS, pSeg uintptr) int32 { /* sqlite3.c:225993:12: */ +func fts5SegmentSize(tls *libc.TLS, pSeg uintptr) int32 { /* sqlite3.c:226050:12: */ return 1 + (*Fts5StructureSegment)(unsafe.Pointer(pSeg)).FpgnoLast - (*Fts5StructureSegment)(unsafe.Pointer(pSeg)).FpgnoFirst } // Return a copy of index structure pStruct. Except, promote as many // segments as possible to level iPromote. If an OOM occurs, NULL is // returned. -func fts5StructurePromoteTo(tls *libc.TLS, p uintptr, iPromote int32, szPromote int32, pStruct uintptr) { /* sqlite3.c:226002:13: */ +func fts5StructurePromoteTo(tls *libc.TLS, p uintptr, iPromote int32, szPromote int32, pStruct uintptr) { /* sqlite3.c:226059:13: */ var il int32 var is int32 var pOut uintptr = pStruct + 24 + uintptr(iPromote)*12 @@ -183162,7 +183193,7 @@ func fts5StructurePromoteTo(tls *libc.TLS, p uintptr, iPromote int32, szPromote // // If one or more segments are promoted, the structure object is updated // to reflect this. -func fts5StructurePromote(tls *libc.TLS, p uintptr, iLvl int32, pStruct uintptr) { /* sqlite3.c:226045:13: */ +func fts5StructurePromote(tls *libc.TLS, p uintptr, iLvl int32, pStruct uintptr) { /* sqlite3.c:226102:13: */ if (*Fts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK { var iTst int32 var iPromote int32 = -1 @@ -183211,7 +183242,7 @@ func fts5StructurePromote(tls *libc.TLS, p uintptr, iLvl int32, pStruct uintptr) // Advance the iterator passed as the only argument. If the end of the // doclist-index page is reached, return non-zero. -func fts5DlidxLvlNext(tls *libc.TLS, pLvl uintptr) int32 { /* sqlite3.c:226096:12: */ +func fts5DlidxLvlNext(tls *libc.TLS, pLvl uintptr) int32 { /* sqlite3.c:226153:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -183247,7 +183278,7 @@ func fts5DlidxLvlNext(tls *libc.TLS, pLvl uintptr) int32 { /* sqlite3.c:226096:1 } // Advance the iterator passed as the only argument. -func fts5DlidxIterNextR(tls *libc.TLS, p uintptr, pIter uintptr, iLvl int32) int32 { /* sqlite3.c:226128:12: */ +func fts5DlidxIterNextR(tls *libc.TLS, p uintptr, pIter uintptr, iLvl int32) int32 { /* sqlite3.c:226185:12: */ var pLvl uintptr = pIter + 8 + uintptr(iLvl)*32 if fts5DlidxLvlNext(tls, pLvl) != 0 { @@ -183268,7 +183299,7 @@ func fts5DlidxIterNextR(tls *libc.TLS, p uintptr, pIter uintptr, iLvl int32) int return (*Fts5DlidxLvl)(unsafe.Pointer(pIter + 8)).FbEof } -func fts5DlidxIterNext(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlite3.c:226148:12: */ +func fts5DlidxIterNext(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlite3.c:226205:12: */ return fts5DlidxIterNextR(tls, p, pIter, 0) } @@ -183281,7 +183312,7 @@ func fts5DlidxIterNext(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlit // // When this function is called pIter->iLeafPgno is the page number the // doclist is associated with (the one featuring the term). -func fts5DlidxIterFirst(tls *libc.TLS, pIter uintptr) int32 { /* sqlite3.c:226163:12: */ +func fts5DlidxIterFirst(tls *libc.TLS, pIter uintptr) int32 { /* sqlite3.c:226220:12: */ var i int32 for i = 0; i < (*Fts5DlidxIter)(unsafe.Pointer(pIter)).FnLvl; i++ { fts5DlidxLvlNext(tls, pIter+8+uintptr(i)*32) @@ -183289,11 +183320,11 @@ func fts5DlidxIterFirst(tls *libc.TLS, pIter uintptr) int32 { /* sqlite3.c:22616 return (*Fts5DlidxLvl)(unsafe.Pointer(pIter + 8)).FbEof } -func fts5DlidxIterEof(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlite3.c:226172:12: */ +func fts5DlidxIterEof(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlite3.c:226229:12: */ return libc.Bool32((*Fts5Index)(unsafe.Pointer(p)).Frc != SQLITE_OK || (*Fts5DlidxLvl)(unsafe.Pointer(pIter+8)).FbEof != 0) } -func fts5DlidxIterLast(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:226176:13: */ +func fts5DlidxIterLast(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:226233:13: */ var i int32 // Advance each level to the last entry on the last page @@ -183314,7 +183345,7 @@ func fts5DlidxIterLast(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:2 } // Move the iterator passed as the only argument to the previous entry. -func fts5DlidxLvlPrev(tls *libc.TLS, pLvl uintptr) int32 { /* sqlite3.c:226199:12: */ +func fts5DlidxLvlPrev(tls *libc.TLS, pLvl uintptr) int32 { /* sqlite3.c:226256:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -183376,7 +183407,7 @@ func fts5DlidxLvlPrev(tls *libc.TLS, pLvl uintptr) int32 { /* sqlite3.c:226199:1 return (*Fts5DlidxLvl)(unsafe.Pointer(pLvl)).FbEof } -func fts5DlidxIterPrevR(tls *libc.TLS, p uintptr, pIter uintptr, iLvl int32) int32 { /* sqlite3.c:226248:12: */ +func fts5DlidxIterPrevR(tls *libc.TLS, p uintptr, pIter uintptr, iLvl int32) int32 { /* sqlite3.c:226305:12: */ var pLvl uintptr = pIter + 8 + uintptr(iLvl)*32 if fts5DlidxLvlPrev(tls, pLvl) != 0 { @@ -183399,12 +183430,12 @@ func fts5DlidxIterPrevR(tls *libc.TLS, p uintptr, pIter uintptr, iLvl int32) int return (*Fts5DlidxLvl)(unsafe.Pointer(pIter + 8)).FbEof } -func fts5DlidxIterPrev(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlite3.c:226271:12: */ +func fts5DlidxIterPrev(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlite3.c:226328:12: */ return fts5DlidxIterPrevR(tls, p, pIter, 0) } // Free a doclist-index iterator object allocated by fts5DlidxIterInit(). -func fts5DlidxIterFree(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:226278:13: */ +func fts5DlidxIterFree(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:226335:13: */ if pIter != 0 { var i int32 for i = 0; i < (*Fts5DlidxIter)(unsafe.Pointer(pIter)).FnLvl; i++ { @@ -183414,7 +183445,7 @@ func fts5DlidxIterFree(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:226278:13: * } } -func fts5DlidxIterInit(tls *libc.TLS, p uintptr, bRev int32, iSegid int32, iLeafPg int32) uintptr { /* sqlite3.c:226288:22: */ +func fts5DlidxIterInit(tls *libc.TLS, p uintptr, bRev int32, iSegid int32, iLeafPg int32) uintptr { /* sqlite3.c:226345:22: */ var pIter uintptr = uintptr(0) var i int32 var bDone int32 = 0 @@ -183456,16 +183487,16 @@ func fts5DlidxIterInit(tls *libc.TLS, p uintptr, bRev int32, iSegid int32, iLeaf return pIter } -func fts5DlidxIterRowid(tls *libc.TLS, pIter uintptr) I64 { /* sqlite3.c:226335:12: */ +func fts5DlidxIterRowid(tls *libc.TLS, pIter uintptr) I64 { /* sqlite3.c:226392:12: */ return (*Fts5DlidxLvl)(unsafe.Pointer(pIter + 8)).FiRowid } -func fts5DlidxIterPgno(tls *libc.TLS, pIter uintptr) int32 { /* sqlite3.c:226338:12: */ +func fts5DlidxIterPgno(tls *libc.TLS, pIter uintptr) int32 { /* sqlite3.c:226395:12: */ return (*Fts5DlidxLvl)(unsafe.Pointer(pIter + 8)).FiLeafPgno } // Load the next leaf page into the segment iterator. -func fts5SegIterNextPage(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:226345:13: */ +func fts5SegIterNextPage(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:226402:13: */ var pLeaf uintptr var pSeg uintptr = (*Fts5SegIter)(unsafe.Pointer(pIter)).FpSeg fts5DataRelease(tls, (*Fts5SegIter)(unsafe.Pointer(pIter)).FpLeaf) @@ -183495,7 +183526,7 @@ func fts5SegIterNextPage(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c // position list size field. Read the varint and return the number of bytes // read. Before returning, set *pnSz to the number of bytes in the position // list, and *pbDel to true if the delete flag is set, or false otherwise. -func fts5GetPoslistSize(tls *libc.TLS, p uintptr, pnSz uintptr, pbDel uintptr) int32 { /* sqlite3.c:226383:12: */ +func fts5GetPoslistSize(tls *libc.TLS, p uintptr, pnSz uintptr, pbDel uintptr) int32 { /* sqlite3.c:226440:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -183524,7 +183555,7 @@ func fts5GetPoslistSize(tls *libc.TLS, p uintptr, pnSz uintptr, pbDel uintptr) i // // Leave Fts5SegIter.iLeafOffset pointing to the first byte of the // position list content (if any). -func fts5SegIterLoadNPos(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:226404:13: */ +func fts5SegIterLoadNPos(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:226461:13: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -183569,7 +183600,7 @@ func fts5SegIterLoadNPos(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c } } -func fts5SegIterLoadRowid(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:226433:13: */ +func fts5SegIterLoadRowid(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:226490:13: */ var a uintptr = (*Fts5Data)(unsafe.Pointer((*Fts5SegIter)(unsafe.Pointer(pIter)).FpLeaf)).Fp // Buffer to read data from var iOff I64 = (*Fts5SegIter)(unsafe.Pointer(pIter)).FiLeafOffset @@ -183601,7 +183632,7 @@ func fts5SegIterLoadRowid(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3. // accordingly and leaves (Fts5SegIter.iLeafOffset) set to the content of // the first position list. The position list belonging to document // (Fts5SegIter.iRowid). -func fts5SegIterLoadTerm(tls *libc.TLS, p uintptr, pIter uintptr, nKeep int32) { /* sqlite3.c:226466:13: */ +func fts5SegIterLoadTerm(tls *libc.TLS, p uintptr, pIter uintptr, nKeep int32) { /* sqlite3.c:226523:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -183635,7 +183666,7 @@ func fts5SegIterLoadTerm(tls *libc.TLS, p uintptr, pIter uintptr, nKeep int32) { fts5SegIterLoadRowid(tls, p, pIter) } -func fts5SegIterSetNext(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:226499:13: */ +func fts5SegIterSetNext(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:226556:13: */ if (*Fts5SegIter)(unsafe.Pointer(pIter)).Fflags&FTS5_SEGITER_REVERSE != 0 { (*Fts5SegIter)(unsafe.Pointer(pIter)).FxNext = *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, uintptr) @@ -183657,7 +183688,7 @@ func fts5SegIterSetNext(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c: // // If an error occurs, Fts5Index.rc is set to an appropriate error code. If // an error has already occurred when this function is called, it is a no-op. -func fts5SegIterInit(tls *libc.TLS, p uintptr, pSeg uintptr, pIter uintptr) { /* sqlite3.c:226517:13: */ +func fts5SegIterInit(tls *libc.TLS, p uintptr, pSeg uintptr, pIter uintptr) { /* sqlite3.c:226574:13: */ if (*Fts5StructureSegment)(unsafe.Pointer(pSeg)).FpgnoFirst == 0 { // This happens if the segment is being used as an input to an incremental // merge and all data has already been "trimmed". See function @@ -183698,7 +183729,7 @@ func fts5SegIterInit(tls *libc.TLS, p uintptr, pSeg uintptr, pIter uintptr) { /* // aRowidOffset[] and iRowidOffset variables. At this point the iterator // is in its regular state - Fts5SegIter.iLeafOffset points to the first // byte of the position list content associated with said rowid. -func fts5SegIterReverseInitPage(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:226566:13: */ +func fts5SegIterReverseInitPage(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:226623:13: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -183757,7 +183788,7 @@ func fts5SegIterReverseInitPage(tls *libc.TLS, p uintptr, pIter uintptr) { /* sq } // -func fts5SegIterReverseNewPage(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:226619:13: */ +func fts5SegIterReverseNewPage(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:226676:13: */ fts5DataRelease(tls, (*Fts5SegIter)(unsafe.Pointer(pIter)).FpLeaf) (*Fts5SegIter)(unsafe.Pointer(pIter)).FpLeaf = uintptr(0) @@ -183807,7 +183838,7 @@ func fts5SegIterReverseNewPage(tls *libc.TLS, p uintptr, pIter uintptr) { /* sql // Return true if the iterator passed as the second argument currently // points to a delete marker. A delete marker is an entry with a 0 byte // position-list. -func fts5MultiIterIsEmpty(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlite3.c:226675:12: */ +func fts5MultiIterIsEmpty(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlite3.c:226732:12: */ var pSeg uintptr = pIter + 80 + uintptr((*Fts5CResult)(unsafe.Pointer((*Fts5Iter)(unsafe.Pointer(pIter)).FaFirst+1*4)).FiFirst)*96 return libc.Bool32((*Fts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK && (*Fts5SegIter)(unsafe.Pointer(pSeg)).FpLeaf != 0 && (*Fts5SegIter)(unsafe.Pointer(pSeg)).FnPos == 0) } @@ -183815,7 +183846,7 @@ func fts5MultiIterIsEmpty(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sq // Advance iterator pIter to the next entry. // // This version of fts5SegIterNext() is only used by reverse iterators. -func fts5SegIterNext_Reverse(tls *libc.TLS, p uintptr, pIter uintptr, pbUnused uintptr) { /* sqlite3.c:226685:13: */ +func fts5SegIterNext_Reverse(tls *libc.TLS, p uintptr, pIter uintptr, pbUnused uintptr) { /* sqlite3.c:226742:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -183844,7 +183875,7 @@ func fts5SegIterNext_Reverse(tls *libc.TLS, p uintptr, pIter uintptr, pbUnused u // // This version of fts5SegIterNext() is only used if detail=none and the // iterator is not a reverse direction iterator. -func fts5SegIterNext_None(tls *libc.TLS, p uintptr, pIter uintptr, pbNewTerm uintptr) { /* sqlite3.c:226719:13: */ +func fts5SegIterNext_None(tls *libc.TLS, p uintptr, pIter uintptr, pbNewTerm uintptr) { /* sqlite3.c:226776:13: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -183949,7 +183980,7 @@ next_none_eof: // If an error occurs, Fts5Index.rc is set to an appropriate error code. It // is not considered an error if the iterator reaches EOF. If an error has // already occurred when this function is called, it is a no-op. -func fts5SegIterNext(tls *libc.TLS, p uintptr, pIter uintptr, pbNewTerm uintptr) { /* sqlite3.c:226791:13: */ +func fts5SegIterNext(tls *libc.TLS, p uintptr, pIter uintptr, pbNewTerm uintptr) { /* sqlite3.c:226848:13: */ bp := tls.Alloc(36) defer tls.Free(36) @@ -184074,7 +184105,7 @@ func fts5SegIterNext(tls *libc.TLS, p uintptr, pIter uintptr, pbNewTerm uintptr) // Iterator pIter currently points to the first rowid in a doclist. This // function sets the iterator up so that iterates in reverse order through // the doclist. -func fts5SegIterReverse(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:226922:13: */ +func fts5SegIterReverse(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:226979:13: */ var pDlidx uintptr = (*Fts5SegIter)(unsafe.Pointer(pIter)).FpDlidx var pLast uintptr = uintptr(0) var pgnoLast int32 = 0 @@ -184174,7 +184205,7 @@ func fts5SegIterReverse(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c: // There is a doclist-index associated with the final term on the current // page. If the current term is the last term on the page, load the // doclist-index from disk and initialize an iterator at (pIter->pDlidx). -func fts5SegIterLoadDlidx(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:227011:13: */ +func fts5SegIterLoadDlidx(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:227068:13: */ var iSeg int32 = (*Fts5StructureSegment)(unsafe.Pointer((*Fts5SegIter)(unsafe.Pointer(pIter)).FpSeg)).FiSegid var bRev int32 = (*Fts5SegIter)(unsafe.Pointer(pIter)).Fflags & FTS5_SEGITER_REVERSE var pLeaf uintptr = (*Fts5SegIter)(unsafe.Pointer(pIter)).FpLeaf // Current leaf data @@ -184202,7 +184233,7 @@ func fts5SegIterLoadDlidx(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3. // iterator is left pointing to the smallest term in the segment that // is larger than the specified term, even if this term is not on the // current page. -func fts5LeafSeek(tls *libc.TLS, p uintptr, bGe int32, pIter uintptr, pTerm uintptr, nTerm int32) { /* sqlite3.c:227045:13: */ +func fts5LeafSeek(tls *libc.TLS, p uintptr, bGe int32, pIter uintptr, pTerm uintptr, nTerm int32) { /* sqlite3.c:227102:13: */ bp := tls.Alloc(20) defer tls.Free(20) @@ -184436,7 +184467,7 @@ __31: fts5SegIterLoadNPos(tls, p, pIter) } -func fts5IdxSelectStmt(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:227171:21: */ +func fts5IdxSelectStmt(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:227228:21: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -184455,7 +184486,7 @@ func fts5IdxSelectStmt(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:227171:2 // // If an error occurs, Fts5Index.rc is set to an appropriate error code. If // an error has already occurred when this function is called, it is a no-op. -func fts5SegIterSeekInit(tls *libc.TLS, p uintptr, pTerm uintptr, nTerm int32, flags int32, pSeg uintptr, pIter uintptr) { /* sqlite3.c:227190:13: */ +func fts5SegIterSeekInit(tls *libc.TLS, p uintptr, pTerm uintptr, nTerm int32, flags int32, pSeg uintptr, pIter uintptr) { /* sqlite3.c:227247:13: */ var iPg int32 = 1 var bGe int32 = flags & FTS5INDEX_QUERY_SCAN var bDlidx int32 = 0 // True if there is a doclist-index @@ -184525,7 +184556,7 @@ func fts5SegIterSeekInit(tls *libc.TLS, p uintptr, pTerm uintptr, nTerm int32, f // // If an error occurs, Fts5Index.rc is set to an appropriate error code. If // an error has already occurred when this function is called, it is a no-op. -func fts5SegIterHashInit(tls *libc.TLS, p uintptr, pTerm uintptr, nTerm int32, flags int32, pIter uintptr) { /* sqlite3.c:227273:13: */ +func fts5SegIterHashInit(tls *libc.TLS, p uintptr, pTerm uintptr, nTerm int32, flags int32, pIter uintptr) { /* sqlite3.c:227330:13: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -184581,7 +184612,7 @@ func fts5SegIterHashInit(tls *libc.TLS, p uintptr, pTerm uintptr, nTerm int32, f } // Zero the iterator passed as the only argument. -func fts5SegIterClear(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:227332:13: */ +func fts5SegIterClear(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:227389:13: */ sqlite3Fts5BufferFree(tls, pIter+68) fts5DataRelease(tls, (*Fts5SegIter)(unsafe.Pointer(pIter)).FpLeaf) fts5DataRelease(tls, (*Fts5SegIter)(unsafe.Pointer(pIter)).FpNextLeaf) @@ -184596,7 +184627,7 @@ func fts5SegIterClear(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:227332:13: */ // in the pIter->aSeg[] array that is (a) not at EOF, and (b) pointing // to a key that is a duplicate of another, higher priority, // segment-iterator in the pSeg->aSeg[] array. -func fts5MultiIterDoCompare(tls *libc.TLS, pIter uintptr, iOut int32) int32 { /* sqlite3.c:227436:12: */ +func fts5MultiIterDoCompare(tls *libc.TLS, pIter uintptr, iOut int32) int32 { /* sqlite3.c:227493:12: */ var i1 int32 // Index of left-hand Fts5SegIter var i2 int32 // Index of right-hand Fts5SegIter var iRes int32 @@ -184648,7 +184679,7 @@ func fts5MultiIterDoCompare(tls *libc.TLS, pIter uintptr, iOut int32) int32 { /* // Move the seg-iter so that it points to the first rowid on page iLeafPgno. // It is an error if leaf iLeafPgno does not exist or contains no rowids. -func fts5SegIterGotoPage(tls *libc.TLS, p uintptr, pIter uintptr, iLeafPgno int32) { /* sqlite3.c:227490:13: */ +func fts5SegIterGotoPage(tls *libc.TLS, p uintptr, pIter uintptr, iLeafPgno int32) { /* sqlite3.c:227547:13: */ if iLeafPgno > (*Fts5StructureSegment)(unsafe.Pointer((*Fts5SegIter)(unsafe.Pointer(pIter)).FpSeg)).FpgnoLast { (*Fts5Index)(unsafe.Pointer(p)).Frc = SQLITE_CORRUPT | int32(1)<<8 @@ -184678,7 +184709,7 @@ func fts5SegIterGotoPage(tls *libc.TLS, p uintptr, pIter uintptr, iLeafPgno int3 // Advance the iterator passed as the second argument until it is at or // past rowid iFrom. Regardless of the value of iFrom, the iterator is // always advanced at least once. -func fts5SegIterNextFrom(tls *libc.TLS, p uintptr, pIter uintptr, iMatch I64) { /* sqlite3.c:227528:13: */ +func fts5SegIterNextFrom(tls *libc.TLS, p uintptr, pIter uintptr, iMatch I64) { /* sqlite3.c:227585:13: */ var bRev int32 = (*Fts5SegIter)(unsafe.Pointer(pIter)).Fflags & FTS5_SEGITER_REVERSE var pDlidx uintptr = (*Fts5SegIter)(unsafe.Pointer(pIter)).FpDlidx var iLeafPgno int32 = (*Fts5SegIter)(unsafe.Pointer(pIter)).FiLeafPgno @@ -184728,7 +184759,7 @@ func fts5SegIterNextFrom(tls *libc.TLS, p uintptr, pIter uintptr, iMatch I64) { } // Free the iterator object passed as the second argument. -func fts5MultiIterFree(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:227582:13: */ +func fts5MultiIterFree(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:227639:13: */ if pIter != 0 { var i int32 for i = 0; i < (*Fts5Iter)(unsafe.Pointer(pIter)).FnSeg; i++ { @@ -184739,7 +184770,7 @@ func fts5MultiIterFree(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:227582:13: * } } -func fts5MultiIterAdvanced(tls *libc.TLS, p uintptr, pIter uintptr, iChanged int32, iMinset int32) { /* sqlite3.c:227593:13: */ +func fts5MultiIterAdvanced(tls *libc.TLS, p uintptr, pIter uintptr, iChanged int32, iMinset int32) { /* sqlite3.c:227650:13: */ var i int32 for i = ((*Fts5Iter)(unsafe.Pointer(pIter)).FnSeg + iChanged) / 2; i >= iMinset && (*Fts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK; i = i / 2 { var iEq int32 @@ -184762,7 +184793,7 @@ func fts5MultiIterAdvanced(tls *libc.TLS, p uintptr, pIter uintptr, iChanged int // If non-zero is returned, the caller should call fts5MultiIterAdvanced() // on the iterator instead. That function does the same as this one, except // that it deals with more complicated cases as well. -func fts5MultiIterAdvanceRowid(tls *libc.TLS, pIter uintptr, iChanged int32, ppFirst uintptr) int32 { /* sqlite3.c:227621:12: */ +func fts5MultiIterAdvanceRowid(tls *libc.TLS, pIter uintptr, iChanged int32, ppFirst uintptr) int32 { /* sqlite3.c:227678:12: */ var pNew uintptr = pIter + 80 + uintptr(iChanged)*96 if (*Fts5SegIter)(unsafe.Pointer(pNew)).FiRowid == (*Fts5Iter)(unsafe.Pointer(pIter)).FiSwitchRowid || @@ -184802,7 +184833,7 @@ func fts5MultiIterAdvanceRowid(tls *libc.TLS, pIter uintptr, iChanged int32, ppF } // Set the pIter->bEof variable based on the state of the sub-iterators. -func fts5MultiIterSetEof(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:227664:13: */ +func fts5MultiIterSetEof(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:227721:13: */ var pSeg uintptr = pIter + 80 + uintptr((*Fts5CResult)(unsafe.Pointer((*Fts5Iter)(unsafe.Pointer(pIter)).FaFirst+1*4)).FiFirst)*96 (*Fts5Iter)(unsafe.Pointer(pIter)).Fbase.FbEof = U8(libc.Bool32((*Fts5SegIter)(unsafe.Pointer(pSeg)).FpLeaf == uintptr(0))) (*Fts5Iter)(unsafe.Pointer(pIter)).FiSwitchRowid = (*Fts5SegIter)(unsafe.Pointer(pSeg)).FiRowid @@ -184813,7 +184844,7 @@ func fts5MultiIterSetEof(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:227664:13: // If an error occurs, an error code is left in Fts5Index.rc. It is not // considered an error if the iterator reaches EOF, or if it is already at // EOF when this function is called. -func fts5MultiIterNext(tls *libc.TLS, p uintptr, pIter uintptr, bFrom int32, iFrom I64) { /* sqlite3.c:227677:13: */ +func fts5MultiIterNext(tls *libc.TLS, p uintptr, pIter uintptr, bFrom int32, iFrom I64) { /* sqlite3.c:227734:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -184852,7 +184883,7 @@ func fts5MultiIterNext(tls *libc.TLS, p uintptr, pIter uintptr, bFrom int32, iFr } } -func fts5MultiIterNext2(tls *libc.TLS, p uintptr, pIter uintptr, pbNewTerm uintptr) { /* sqlite3.c:227715:13: */ +func fts5MultiIterNext2(tls *libc.TLS, p uintptr, pIter uintptr, pbNewTerm uintptr) { /* sqlite3.c:227772:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -184877,12 +184908,12 @@ func fts5MultiIterNext2(tls *libc.TLS, p uintptr, pIter uintptr, pbNewTerm uintp } } -func fts5IterSetOutputs_Noop(tls *libc.TLS, pUnused1 uintptr, pUnused2 uintptr) { /* sqlite3.c:227743:13: */ +func fts5IterSetOutputs_Noop(tls *libc.TLS, pUnused1 uintptr, pUnused2 uintptr) { /* sqlite3.c:227800:13: */ _ = pUnused1 _ = pUnused2 } -func fts5MultiIterAlloc(tls *libc.TLS, p uintptr, nSeg int32) uintptr { /* sqlite3.c:227747:17: */ +func fts5MultiIterAlloc(tls *libc.TLS, p uintptr, nSeg int32) uintptr { /* sqlite3.c:227804:17: */ var pNew uintptr var nSlot int32 // Power of two >= nSeg @@ -184901,7 +184932,7 @@ func fts5MultiIterAlloc(tls *libc.TLS, p uintptr, nSeg int32) uintptr { /* sqlit return pNew } -func fts5PoslistCallback(tls *libc.TLS, pUnused uintptr, pContext uintptr, pChunk uintptr, nChunk int32) { /* sqlite3.c:227769:13: */ +func fts5PoslistCallback(tls *libc.TLS, pUnused uintptr, pContext uintptr, pChunk uintptr, nChunk int32) { /* sqlite3.c:227826:13: */ _ = pUnused if nChunk > 0 { @@ -184917,21 +184948,21 @@ type PoslistCallbackCtx1 = struct { FpBuf uintptr FpColset uintptr FeState int32 -} /* sqlite3.c:227781:9 */ +} /* sqlite3.c:227838:9 */ -type PoslistCallbackCtx = PoslistCallbackCtx1 /* sqlite3.c:227781:35 */ +type PoslistCallbackCtx = PoslistCallbackCtx1 /* sqlite3.c:227838:35 */ type PoslistOffsetsCtx1 = struct { FpBuf uintptr FpColset uintptr FiRead int32 FiWrite int32 -} /* sqlite3.c:227788:9 */ +} /* sqlite3.c:227845:9 */ -type PoslistOffsetsCtx = PoslistOffsetsCtx1 /* sqlite3.c:227788:34 */ +type PoslistOffsetsCtx = PoslistOffsetsCtx1 /* sqlite3.c:227845:34 */ // TODO: Make this more efficient! -func fts5IndexColsetTest(tls *libc.TLS, pColset uintptr, iCol int32) int32 { /* sqlite3.c:227799:12: */ +func fts5IndexColsetTest(tls *libc.TLS, pColset uintptr, iCol int32) int32 { /* sqlite3.c:227856:12: */ var i int32 for i = 0; i < (*Fts5Colset)(unsafe.Pointer(pColset)).FnCol; i++ { if *(*int32)(unsafe.Pointer(pColset + 4 + uintptr(i)*4)) == iCol { @@ -184941,7 +184972,7 @@ func fts5IndexColsetTest(tls *libc.TLS, pColset uintptr, iCol int32) int32 { /* return 0 } -func fts5PoslistOffsetsCallback(tls *libc.TLS, pUnused uintptr, pContext uintptr, pChunk uintptr, nChunk int32) { /* sqlite3.c:227807:13: */ +func fts5PoslistOffsetsCallback(tls *libc.TLS, pUnused uintptr, pContext uintptr, pChunk uintptr, nChunk int32) { /* sqlite3.c:227864:13: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -184967,7 +184998,7 @@ func fts5PoslistOffsetsCallback(tls *libc.TLS, pUnused uintptr, pContext uintptr } } -func fts5PoslistFilterCallback(tls *libc.TLS, pUnused uintptr, pContext uintptr, pChunk uintptr, nChunk int32) { /* sqlite3.c:227830:13: */ +func fts5PoslistFilterCallback(tls *libc.TLS, pUnused uintptr, pContext uintptr, pChunk uintptr, nChunk int32) { /* sqlite3.c:227887:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -185047,7 +185078,7 @@ func fts5PoslistFilterCallback(tls *libc.TLS, pUnused uintptr, pContext uintptr, } } -func fts5ChunkIterate(tls *libc.TLS, p uintptr, pSeg uintptr, pCtx uintptr, xChunk uintptr) { /* sqlite3.c:227882:13: */ +func fts5ChunkIterate(tls *libc.TLS, p uintptr, pSeg uintptr, pCtx uintptr, xChunk uintptr) { /* sqlite3.c:227939:13: */ var nRem int32 = (*Fts5SegIter)(unsafe.Pointer(pSeg)).FnPos // Number of bytes still to come var pData uintptr = uintptr(0) var pChunk uintptr = (*Fts5Data)(unsafe.Pointer((*Fts5SegIter)(unsafe.Pointer(pSeg)).FpLeaf)).Fp + uintptr((*Fts5SegIter)(unsafe.Pointer(pSeg)).FiLeafOffset) @@ -185103,7 +185134,7 @@ func fts5ChunkIterate(tls *libc.TLS, p uintptr, pSeg uintptr, pCtx uintptr, xChu // function appends the position list data for the current entry to // buffer pBuf. It does not make a copy of the position-list size // field. -func fts5SegiterPoslist(tls *libc.TLS, p uintptr, pSeg uintptr, pColset uintptr, pBuf uintptr) { /* sqlite3.c:227932:13: */ +func fts5SegiterPoslist(tls *libc.TLS, p uintptr, pSeg uintptr, pColset uintptr, pBuf uintptr) { /* sqlite3.c:227989:13: */ bp := tls.Alloc(28) defer tls.Free(28) @@ -185154,7 +185185,7 @@ func fts5SegiterPoslist(tls *libc.TLS, p uintptr, pSeg uintptr, pColset uintptr, // This function is a no-op if *pRc is other than SQLITE_OK when it is // called. If an OOM error is encountered, *pRc is set to SQLITE_NOMEM // before returning. -func fts5IndexExtractColset(tls *libc.TLS, pRc uintptr, pColset uintptr, pPos uintptr, nPos int32, pIter uintptr) { /* sqlite3.c:227977:13: */ +func fts5IndexExtractColset(tls *libc.TLS, pRc uintptr, pColset uintptr, pPos uintptr, nPos int32, pIter uintptr) { /* sqlite3.c:228034:13: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -185215,7 +185246,7 @@ func fts5IndexExtractColset(tls *libc.TLS, pRc uintptr, pColset uintptr, pPos ui } // xSetOutputs callback used by detail=none tables. -func fts5IterSetOutputs_None(tls *libc.TLS, pIter uintptr, pSeg uintptr) { /* sqlite3.c:228037:13: */ +func fts5IterSetOutputs_None(tls *libc.TLS, pIter uintptr, pSeg uintptr) { /* sqlite3.c:228094:13: */ (*Fts5Iter)(unsafe.Pointer(pIter)).Fbase.FiRowid = (*Fts5SegIter)(unsafe.Pointer(pSeg)).FiRowid (*Fts5Iter)(unsafe.Pointer(pIter)).Fbase.FnData = (*Fts5SegIter)(unsafe.Pointer(pSeg)).FnPos @@ -185223,7 +185254,7 @@ func fts5IterSetOutputs_None(tls *libc.TLS, pIter uintptr, pSeg uintptr) { /* sq // xSetOutputs callback used by detail=full and detail=col tables when no // column filters are specified. -func fts5IterSetOutputs_Nocolset(tls *libc.TLS, pIter uintptr, pSeg uintptr) { /* sqlite3.c:228047:13: */ +func fts5IterSetOutputs_Nocolset(tls *libc.TLS, pIter uintptr, pSeg uintptr) { /* sqlite3.c:228104:13: */ (*Fts5Iter)(unsafe.Pointer(pIter)).Fbase.FiRowid = (*Fts5SegIter)(unsafe.Pointer(pSeg)).FiRowid (*Fts5Iter)(unsafe.Pointer(pIter)).Fbase.FnData = (*Fts5SegIter)(unsafe.Pointer(pSeg)).FnPos @@ -185243,7 +185274,7 @@ func fts5IterSetOutputs_Nocolset(tls *libc.TLS, pIter uintptr, pSeg uintptr) { / // xSetOutputs callback used when the Fts5Colset object has nCol==0 (match // against no columns at all). -func fts5IterSetOutputs_ZeroColset(tls *libc.TLS, pIter uintptr, pSeg uintptr) { /* sqlite3.c:228072:13: */ +func fts5IterSetOutputs_ZeroColset(tls *libc.TLS, pIter uintptr, pSeg uintptr) { /* sqlite3.c:228129:13: */ _ = pSeg (*Fts5Iter)(unsafe.Pointer(pIter)).Fbase.FnData = 0 } @@ -185251,7 +185282,7 @@ func fts5IterSetOutputs_ZeroColset(tls *libc.TLS, pIter uintptr, pSeg uintptr) { // xSetOutputs callback used by detail=col when there is a column filter // and there are 100 or more columns. Also called as a fallback from // fts5IterSetOutputs_Col100 if the column-list spans more than one page. -func fts5IterSetOutputs_Col(tls *libc.TLS, pIter uintptr, pSeg uintptr) { /* sqlite3.c:228082:13: */ +func fts5IterSetOutputs_Col(tls *libc.TLS, pIter uintptr, pSeg uintptr) { /* sqlite3.c:228139:13: */ sqlite3Fts5BufferZero(tls, pIter+28) fts5SegiterPoslist(tls, (*Fts5Iter)(unsafe.Pointer(pIter)).FpIndex, pSeg, (*Fts5Iter)(unsafe.Pointer(pIter)).FpColset, pIter+28) (*Fts5Iter)(unsafe.Pointer(pIter)).Fbase.FiRowid = (*Fts5SegIter)(unsafe.Pointer(pSeg)).FiRowid @@ -185267,7 +185298,7 @@ func fts5IterSetOutputs_Col(tls *libc.TLS, pIter uintptr, pSeg uintptr) { /* sql // // The last point is to ensure all column numbers are stored as // single-byte varints. -func fts5IterSetOutputs_Col100(tls *libc.TLS, pIter uintptr, pSeg uintptr) { /* sqlite3.c:228100:13: */ +func fts5IterSetOutputs_Col100(tls *libc.TLS, pIter uintptr, pSeg uintptr) { /* sqlite3.c:228157:13: */ var a uintptr var pEnd uintptr var iPrev int32 @@ -185329,7 +185360,7 @@ __2: } // xSetOutputs callback used by detail=full when there is a column filter. -func fts5IterSetOutputs_Full(tls *libc.TLS, pIter uintptr, pSeg uintptr) { /* sqlite3.c:228140:13: */ +func fts5IterSetOutputs_Full(tls *libc.TLS, pIter uintptr, pSeg uintptr) { /* sqlite3.c:228197:13: */ var pColset uintptr = (*Fts5Iter)(unsafe.Pointer(pIter)).FpColset (*Fts5Iter)(unsafe.Pointer(pIter)).Fbase.FiRowid = (*Fts5SegIter)(unsafe.Pointer(pSeg)).FiRowid @@ -185351,7 +185382,7 @@ func fts5IterSetOutputs_Full(tls *libc.TLS, pIter uintptr, pSeg uintptr) { /* sq } } -func fts5IterSetOutputCb(tls *libc.TLS, pRc uintptr, pIter uintptr) { /* sqlite3.c:228165:13: */ +func fts5IterSetOutputCb(tls *libc.TLS, pRc uintptr, pIter uintptr) { /* sqlite3.c:228222:13: */ if *(*int32)(unsafe.Pointer(pRc)) == SQLITE_OK { var pConfig uintptr = (*Fts5Index)(unsafe.Pointer((*Fts5Iter)(unsafe.Pointer(pIter)).FpIndex)).FpConfig @@ -185396,7 +185427,7 @@ func fts5IterSetOutputCb(tls *libc.TLS, pRc uintptr, pIter uintptr) { /* sqlite3 // // The iterator initially points to the first term/rowid entry in the // iterated data. -func fts5MultiIterNew(tls *libc.TLS, p uintptr, pStruct uintptr, flags int32, pColset uintptr, pTerm uintptr, nTerm int32, iLevel int32, nSegment int32, ppOut uintptr) { /* sqlite3.c:228209:13: */ +func fts5MultiIterNew(tls *libc.TLS, p uintptr, pStruct uintptr, flags int32, pColset uintptr, pTerm uintptr, nTerm int32, iLevel int32, nSegment int32, ppOut uintptr) { /* sqlite3.c:228266:13: */ var nSeg int32 // Number of segment-iters in use var iIter int32 // var iSeg int32 // Used to iterate through segments @@ -185599,7 +185630,7 @@ fts5MultiIterNew_post_check: // Create an Fts5Iter that iterates through the doclist provided // as the second argument. -func fts5MultiIterNew2(tls *libc.TLS, p uintptr, pData uintptr, bDesc int32, ppOut uintptr) { /* sqlite3.c:228315:13: */ +func fts5MultiIterNew2(tls *libc.TLS, p uintptr, pData uintptr, bDesc int32, ppOut uintptr) { /* sqlite3.c:228372:13: */ var pNew uintptr pNew = fts5MultiIterAlloc(tls, p, 2) if pNew != 0 { @@ -185632,7 +185663,7 @@ func fts5MultiIterNew2(tls *libc.TLS, p uintptr, pData uintptr, bDesc int32, ppO // Return true if the iterator is at EOF or if an error has occurred. // False otherwise. -func fts5MultiIterEof(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlite3.c:228355:12: */ +func fts5MultiIterEof(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlite3.c:228412:12: */ return libc.Bool32((*Fts5Index)(unsafe.Pointer(p)).Frc != 0 || (*Fts5Iter)(unsafe.Pointer(pIter)).Fbase.FbEof != 0) } @@ -185640,13 +185671,13 @@ func fts5MultiIterEof(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlite // Return the rowid of the entry that the iterator currently points // to. If the iterator points to EOF when this function is called the // results are undefined. -func fts5MultiIterRowid(tls *libc.TLS, pIter uintptr) I64 { /* sqlite3.c:228368:12: */ +func fts5MultiIterRowid(tls *libc.TLS, pIter uintptr) I64 { /* sqlite3.c:228425:12: */ return (*Fts5SegIter)(unsafe.Pointer(pIter + 80 + uintptr((*Fts5CResult)(unsafe.Pointer((*Fts5Iter)(unsafe.Pointer(pIter)).FaFirst+1*4)).FiFirst)*96)).FiRowid } // Move the iterator to the next entry at or following iMatch. -func fts5MultiIterNextFrom(tls *libc.TLS, p uintptr, pIter uintptr, iMatch I64) { /* sqlite3.c:228376:13: */ +func fts5MultiIterNextFrom(tls *libc.TLS, p uintptr, pIter uintptr, iMatch I64) { /* sqlite3.c:228433:13: */ for 1 != 0 { var iRowid I64 fts5MultiIterNext(tls, p, pIter, 1, iMatch) @@ -185665,7 +185696,7 @@ func fts5MultiIterNextFrom(tls *libc.TLS, p uintptr, pIter uintptr, iMatch I64) // Return a pointer to a buffer containing the term associated with the // entry that the iterator currently points to. -func fts5MultiIterTerm(tls *libc.TLS, pIter uintptr, pn uintptr) uintptr { /* sqlite3.c:228395:17: */ +func fts5MultiIterTerm(tls *libc.TLS, pIter uintptr, pn uintptr) uintptr { /* sqlite3.c:228452:17: */ var p uintptr = pIter + 80 + uintptr((*Fts5CResult)(unsafe.Pointer((*Fts5Iter)(unsafe.Pointer(pIter)).FaFirst+1*4)).FiFirst)*96 *(*int32)(unsafe.Pointer(pn)) = (*Fts5SegIter)(unsafe.Pointer(p)).Fterm.Fn return (*Fts5SegIter)(unsafe.Pointer(p)).Fterm.Fp @@ -185678,7 +185709,7 @@ func fts5MultiIterTerm(tls *libc.TLS, pIter uintptr, pn uintptr) uintptr { /* sq // // If an error has already occurred, this function is a no-op. 0 is // returned in this case. -func fts5AllocateSegid(tls *libc.TLS, p uintptr, pStruct uintptr) int32 { /* sqlite3.c:228410:12: */ +func fts5AllocateSegid(tls *libc.TLS, p uintptr, pStruct uintptr) int32 { /* sqlite3.c:228467:12: */ bp := tls.Alloc(252) defer tls.Free(252) @@ -185720,7 +185751,7 @@ func fts5AllocateSegid(tls *libc.TLS, p uintptr, pStruct uintptr) int32 { /* sql } // Discard all data currently cached in the hash-tables. -func fts5IndexDiscardData(tls *libc.TLS, p uintptr) { /* sqlite3.c:228467:13: */ +func fts5IndexDiscardData(tls *libc.TLS, p uintptr) { /* sqlite3.c:228524:13: */ if (*Fts5Index)(unsafe.Pointer(p)).FpHash != 0 { sqlite3Fts5HashClear(tls, (*Fts5Index)(unsafe.Pointer(p)).FpHash) @@ -185733,7 +185764,7 @@ func fts5IndexDiscardData(tls *libc.TLS, p uintptr) { /* sqlite3.c:228467:13: */ // // Buffer (pNew/) is guaranteed to be greater // than buffer (pOld/nOld). -func fts5PrefixCompress(tls *libc.TLS, nOld int32, pOld uintptr, pNew uintptr) int32 { /* sqlite3.c:228482:12: */ +func fts5PrefixCompress(tls *libc.TLS, nOld int32, pOld uintptr, pNew uintptr) int32 { /* sqlite3.c:228539:12: */ var i int32 for i = 0; i < nOld; i++ { if int32(*(*U8)(unsafe.Pointer(pOld + uintptr(i)))) != int32(*(*U8)(unsafe.Pointer(pNew + uintptr(i)))) { @@ -185743,7 +185774,7 @@ func fts5PrefixCompress(tls *libc.TLS, nOld int32, pOld uintptr, pNew uintptr) i return i } -func fts5WriteDlidxClear(tls *libc.TLS, p uintptr, pWriter uintptr, bFlush int32) { /* sqlite3.c:228490:13: */ +func fts5WriteDlidxClear(tls *libc.TLS, p uintptr, pWriter uintptr, bFlush int32) { /* sqlite3.c:228547:13: */ var i int32 for i = 0; i < (*Fts5SegWriter)(unsafe.Pointer(pWriter)).FnDlidx; i++ { @@ -185764,7 +185795,7 @@ func fts5WriteDlidxClear(tls *libc.TLS, p uintptr, pWriter uintptr, bFlush int32 // Grow the pWriter->aDlidx[] array to at least nLvl elements in size. // Any new array elements are zeroed before returning. -func fts5WriteDlidxGrow(tls *libc.TLS, p uintptr, pWriter uintptr, nLvl int32) int32 { /* sqlite3.c:228516:12: */ +func fts5WriteDlidxGrow(tls *libc.TLS, p uintptr, pWriter uintptr, nLvl int32) int32 { /* sqlite3.c:228573:12: */ if (*Fts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK && nLvl >= (*Fts5SegWriter)(unsafe.Pointer(pWriter)).FnDlidx { var aDlidx uintptr = Xsqlite3_realloc64(tls, (*Fts5SegWriter)(unsafe.Pointer(pWriter)).FaDlidx, uint64(uint32(unsafe.Sizeof(Fts5DlidxWriter{}))*uint32(nLvl))) @@ -185783,7 +185814,7 @@ func fts5WriteDlidxGrow(tls *libc.TLS, p uintptr, pWriter uintptr, nLvl int32) i // If the current doclist-index accumulating in pWriter->aDlidx[] is large // enough, flush it to disk and return 1. Otherwise discard it and return // zero. -func fts5WriteFlushDlidx(tls *libc.TLS, p uintptr, pWriter uintptr) int32 { /* sqlite3.c:228542:12: */ +func fts5WriteFlushDlidx(tls *libc.TLS, p uintptr, pWriter uintptr) int32 { /* sqlite3.c:228599:12: */ var bFlag int32 = 0 // If there were FTS5_MIN_DLIDX_SIZE or more empty leaf pages written @@ -185805,7 +185836,7 @@ func fts5WriteFlushDlidx(tls *libc.TLS, p uintptr, pWriter uintptr) int32 { /* s // it. // // Fts5SegWriter.btterm currently contains the first term on page iBtPage. -func fts5WriteFlushBtree(tls *libc.TLS, p uintptr, pWriter uintptr) { /* sqlite3.c:228566:13: */ +func fts5WriteFlushBtree(tls *libc.TLS, p uintptr, pWriter uintptr) { /* sqlite3.c:228623:13: */ var bFlag int32 if (*Fts5SegWriter)(unsafe.Pointer(pWriter)).FiBtPage == 0 { @@ -185838,7 +185869,7 @@ func fts5WriteFlushBtree(tls *libc.TLS, p uintptr, pWriter uintptr) { /* sqlite3 // // If an error occurs, an error code is left in Fts5Index.rc. If an error // has already occurred when this function is called, it is a no-op. -func fts5WriteBtreeTerm(tls *libc.TLS, p uintptr, pWriter uintptr, nTerm int32, pTerm uintptr) { /* sqlite3.c:228595:13: */ +func fts5WriteBtreeTerm(tls *libc.TLS, p uintptr, pWriter uintptr, nTerm int32, pTerm uintptr) { /* sqlite3.c:228652:13: */ fts5WriteFlushBtree(tls, p, pWriter) if (*Fts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK { sqlite3Fts5BufferSet(tls, p+36, pWriter+76, nTerm, pTerm) @@ -185848,7 +185879,7 @@ func fts5WriteBtreeTerm(tls *libc.TLS, p uintptr, pWriter uintptr, nTerm int32, // This function is called when flushing a leaf page that contains no // terms at all to disk. -func fts5WriteBtreeNoTerm(tls *libc.TLS, p uintptr, pWriter uintptr) { /* sqlite3.c:228611:13: */ +func fts5WriteBtreeNoTerm(tls *libc.TLS, p uintptr, pWriter uintptr) { /* sqlite3.c:228668:13: */ // If there were no rowids on the leaf page either and the doclist-index // has already been started, append an 0x00 byte to it. if (*Fts5SegWriter)(unsafe.Pointer(pWriter)).FbFirstRowidInPage != 0 && (*Fts5DlidxWriter)(unsafe.Pointer((*Fts5SegWriter)(unsafe.Pointer(pWriter)).FaDlidx)).Fbuf.Fn > 0 { @@ -185861,7 +185892,7 @@ func fts5WriteBtreeNoTerm(tls *libc.TLS, p uintptr, pWriter uintptr) { /* sqlite (*Fts5SegWriter)(unsafe.Pointer(pWriter)).FnEmpty++ } -func fts5DlidxExtractFirstRowid(tls *libc.TLS, pBuf uintptr) I64 { /* sqlite3.c:228627:12: */ +func fts5DlidxExtractFirstRowid(tls *libc.TLS, pBuf uintptr) I64 { /* sqlite3.c:228684:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -185877,7 +185908,7 @@ func fts5DlidxExtractFirstRowid(tls *libc.TLS, pBuf uintptr) I64 { /* sqlite3.c: // Rowid iRowid has just been appended to the current leaf page. It is the // first on the page. This function appends an appropriate entry to the current // doclist-index. -func fts5WriteDlidxAppend(tls *libc.TLS, p uintptr, pWriter uintptr, iRowid I64) { /* sqlite3.c:228641:13: */ +func fts5WriteDlidxAppend(tls *libc.TLS, p uintptr, pWriter uintptr, iRowid I64) { /* sqlite3.c:228698:13: */ var i int32 var bDone int32 = 0 @@ -185937,7 +185968,7 @@ func fts5WriteDlidxAppend(tls *libc.TLS, p uintptr, pWriter uintptr, iRowid I64) } } -func fts5WriteFlushLeaf(tls *libc.TLS, p uintptr, pWriter uintptr) { /* sqlite3.c:228701:13: */ +func fts5WriteFlushLeaf(tls *libc.TLS, p uintptr, pWriter uintptr) { /* sqlite3.c:228758:13: */ var pPage uintptr = pWriter + 4 var iRowid I64 @@ -185973,14 +186004,14 @@ func fts5WriteFlushLeaf(tls *libc.TLS, p uintptr, pWriter uintptr) { /* sqlite3. (*Fts5SegWriter)(unsafe.Pointer(pWriter)).FbFirstRowidInPage = U8(1) } -var zero = [4]U8{U8(0x00), U8(0x00), U8(0x00), U8(0x00)} /* sqlite3.c:228702:19 */ +var zero = [4]U8{U8(0x00), U8(0x00), U8(0x00), U8(0x00)} /* sqlite3.c:228759:19 */ // Append term pTerm/nTerm to the segment being written by the writer passed // as the second argument. // // If an error occurs, set the Fts5Index.rc error code. If an error has // already occurred, this function is a no-op. -func fts5WriteAppendTerm(tls *libc.TLS, p uintptr, pWriter uintptr, nTerm int32, pTerm uintptr) { /* sqlite3.c:228747:13: */ +func fts5WriteAppendTerm(tls *libc.TLS, p uintptr, pWriter uintptr, nTerm int32, pTerm uintptr) { /* sqlite3.c:228804:13: */ var nPrefix int32 // Bytes of prefix compression for term var pPage uintptr = pWriter + 4 var pPgidx uintptr = pWriter + 4 + 20 @@ -186056,7 +186087,7 @@ func fts5WriteAppendTerm(tls *libc.TLS, p uintptr, pWriter uintptr, nTerm int32, } // Append a rowid and position-list size field to the writers output. -func fts5WriteAppendRowid(tls *libc.TLS, p uintptr, pWriter uintptr, iRowid I64) { /* sqlite3.c:228828:13: */ +func fts5WriteAppendRowid(tls *libc.TLS, p uintptr, pWriter uintptr, iRowid I64) { /* sqlite3.c:228885:13: */ if (*Fts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK { var pPage uintptr = pWriter + 4 @@ -186085,7 +186116,7 @@ func fts5WriteAppendRowid(tls *libc.TLS, p uintptr, pWriter uintptr, iRowid I64) } } -func fts5WriteAppendPoslistData(tls *libc.TLS, p uintptr, pWriter uintptr, aData uintptr, nData int32) { /* sqlite3.c:228861:13: */ +func fts5WriteAppendPoslistData(tls *libc.TLS, p uintptr, pWriter uintptr, aData uintptr, nData int32) { /* sqlite3.c:228918:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -186114,7 +186145,7 @@ func fts5WriteAppendPoslistData(tls *libc.TLS, p uintptr, pWriter uintptr, aData // Flush any data cached by the writer object to the database. Free any // allocations associated with the writer. -func fts5WriteFinish(tls *libc.TLS, p uintptr, pWriter uintptr, pnLeaf uintptr) { /* sqlite3.c:228895:13: */ +func fts5WriteFinish(tls *libc.TLS, p uintptr, pWriter uintptr, pnLeaf uintptr) { /* sqlite3.c:228952:13: */ var i int32 var pLeaf uintptr = pWriter + 4 if (*Fts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK { @@ -186138,7 +186169,7 @@ func fts5WriteFinish(tls *libc.TLS, p uintptr, pWriter uintptr, pnLeaf uintptr) Xsqlite3_free(tls, (*Fts5SegWriter)(unsafe.Pointer(pWriter)).FaDlidx) } -func fts5WriteInit(tls *libc.TLS, p uintptr, pWriter uintptr, iSegid int32) { /* sqlite3.c:228923:13: */ +func fts5WriteInit(tls *libc.TLS, p uintptr, pWriter uintptr, iSegid int32) { /* sqlite3.c:228980:13: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -186178,7 +186209,7 @@ func fts5WriteInit(tls *libc.TLS, p uintptr, pWriter uintptr, iSegid int32) { /* // Iterator pIter was used to iterate through the input segments of on an // incremental merge operation. This function is called if the incremental // merge step has finished but the input has not been completely exhausted. -func fts5TrimSegments(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:228970:13: */ +func fts5TrimSegments(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:229027:13: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -186247,13 +186278,13 @@ func fts5TrimSegments(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:22 sqlite3Fts5BufferFree(tls, bp) } -func fts5MergeChunkCallback(tls *libc.TLS, p uintptr, pCtx uintptr, pChunk uintptr, nChunk int32) { /* sqlite3.c:229036:13: */ +func fts5MergeChunkCallback(tls *libc.TLS, p uintptr, pCtx uintptr, pChunk uintptr, nChunk int32) { /* sqlite3.c:229093:13: */ var pWriter uintptr = pCtx fts5WriteAppendPoslistData(tls, p, pWriter, pChunk, nChunk) } // -func fts5IndexMergeLevel(tls *libc.TLS, p uintptr, ppStruct uintptr, iLvl int32, pnRem uintptr) { /* sqlite3.c:229048:13: */ +func fts5IndexMergeLevel(tls *libc.TLS, p uintptr, ppStruct uintptr, iLvl int32, pnRem uintptr) { /* sqlite3.c:229105:13: */ bp := tls.Alloc(116) defer tls.Free(116) @@ -186412,7 +186443,7 @@ func fts5IndexMergeLevel(tls *libc.TLS, p uintptr, ppStruct uintptr, iLvl int32, // Do up to nPg pages of automerge work on the index. // // Return true if any changes were actually made, or false otherwise. -func fts5IndexMerge(tls *libc.TLS, p uintptr, ppStruct uintptr, nPg int32, nMin int32) int32 { /* sqlite3.c:229198:12: */ +func fts5IndexMerge(tls *libc.TLS, p uintptr, ppStruct uintptr, nPg int32, nMin int32) int32 { /* sqlite3.c:229255:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -186462,7 +186493,7 @@ func fts5IndexMerge(tls *libc.TLS, p uintptr, ppStruct uintptr, nPg int32, nMin // // If an error occurs, set the Fts5Index.rc error code. If an error has // already occurred, this function is a no-op. -func fts5IndexAutomerge(tls *libc.TLS, p uintptr, ppStruct uintptr, nLeaf int32) { /* sqlite3.c:229257:13: */ +func fts5IndexAutomerge(tls *libc.TLS, p uintptr, ppStruct uintptr, nLeaf int32) { /* sqlite3.c:229314:13: */ if (*Fts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK && (*Fts5Config)(unsafe.Pointer((*Fts5Index)(unsafe.Pointer(p)).FpConfig)).FnAutomerge > 0 && *(*uintptr)(unsafe.Pointer(ppStruct)) != uintptr(0) { var pStruct uintptr = *(*uintptr)(unsafe.Pointer(ppStruct)) var nWrite U64 // Initial value of write-counter @@ -186479,7 +186510,7 @@ func fts5IndexAutomerge(tls *libc.TLS, p uintptr, ppStruct uintptr, nLeaf int32) } } -func fts5IndexCrisismerge(tls *libc.TLS, p uintptr, ppStruct uintptr) { /* sqlite3.c:229278:13: */ +func fts5IndexCrisismerge(tls *libc.TLS, p uintptr, ppStruct uintptr) { /* sqlite3.c:229335:13: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -186496,7 +186527,7 @@ func fts5IndexCrisismerge(tls *libc.TLS, p uintptr, ppStruct uintptr) { /* sqlit *(*uintptr)(unsafe.Pointer(ppStruct)) = *(*uintptr)(unsafe.Pointer(bp /* pStruct */)) } -func fts5IndexReturn(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:229296:12: */ +func fts5IndexReturn(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:229353:12: */ var rc int32 = (*Fts5Index)(unsafe.Pointer(p)).Frc (*Fts5Index)(unsafe.Pointer(p)).Frc = SQLITE_OK return rc @@ -186506,14 +186537,14 @@ type Fts5FlushCtx1 = struct { FpIdx uintptr F__ccgo_pad1 [4]byte Fwriter Fts5SegWriter -} /* sqlite3.c:229302:9 */ +} /* sqlite3.c:229359:9 */ -type Fts5FlushCtx = Fts5FlushCtx1 /* sqlite3.c:229302:29 */ +type Fts5FlushCtx = Fts5FlushCtx1 /* sqlite3.c:229359:29 */ // Buffer aBuf[] contains a list of varints, all small enough to fit // in a 32-bit integer. Return the size of the largest prefix of this // list nMax bytes or less in size. -func fts5PoslistPrefix(tls *libc.TLS, aBuf uintptr, nMax int32) int32 { /* sqlite3.c:229313:12: */ +func fts5PoslistPrefix(tls *libc.TLS, aBuf uintptr, nMax int32) int32 { /* sqlite3.c:229370:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -186538,7 +186569,7 @@ func fts5PoslistPrefix(tls *libc.TLS, aBuf uintptr, nMax int32) int32 { /* sqlit // // If an error occurs, set the Fts5Index.rc error code. If an error has // already occurred, this function is a no-op. -func fts5FlushOneHash(tls *libc.TLS, p uintptr) { /* sqlite3.c:229334:13: */ +func fts5FlushOneHash(tls *libc.TLS, p uintptr) { /* sqlite3.c:229391:13: */ bp := tls.Alloc(136) defer tls.Free(136) @@ -186716,7 +186747,7 @@ func fts5FlushOneHash(tls *libc.TLS, p uintptr) { /* sqlite3.c:229334:13: */ } // Flush any data stored in the in-memory hash tables to the database. -func fts5IndexFlush(tls *libc.TLS, p uintptr) { /* sqlite3.c:229488:13: */ +func fts5IndexFlush(tls *libc.TLS, p uintptr) { /* sqlite3.c:229545:13: */ // Unless it is empty, flush the hash table to disk if (*Fts5Index)(unsafe.Pointer(p)).FnPendingData != 0 { @@ -186725,7 +186756,7 @@ func fts5IndexFlush(tls *libc.TLS, p uintptr) { /* sqlite3.c:229488:13: */ } } -func fts5IndexOptimizeStruct(tls *libc.TLS, p uintptr, pStruct uintptr) uintptr { /* sqlite3.c:229497:22: */ +func fts5IndexOptimizeStruct(tls *libc.TLS, p uintptr, pStruct uintptr) uintptr { /* sqlite3.c:229554:22: */ var pNew uintptr = uintptr(0) var nByte Sqlite3_int64 = Sqlite3_int64(unsafe.Sizeof(Fts5Structure{})) var nSeg int32 = (*Fts5Structure)(unsafe.Pointer(pStruct)).FnSegment @@ -186786,7 +186817,7 @@ func fts5IndexOptimizeStruct(tls *libc.TLS, p uintptr, pStruct uintptr) uintptr return pNew } -func sqlite3Fts5IndexOptimize(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:229559:12: */ +func sqlite3Fts5IndexOptimize(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:229616:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -186820,7 +186851,7 @@ func sqlite3Fts5IndexOptimize(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:229 // This is called to implement the special "VALUES('merge', $nMerge)" // INSERT command. -func sqlite3Fts5IndexMerge(tls *libc.TLS, p uintptr, nMerge int32) int32 { /* sqlite3.c:229593:12: */ +func sqlite3Fts5IndexMerge(tls *libc.TLS, p uintptr, nMerge int32) int32 { /* sqlite3.c:229650:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -186845,12 +186876,12 @@ func sqlite3Fts5IndexMerge(tls *libc.TLS, p uintptr, nMerge int32) int32 { /* sq return fts5IndexReturn(tls, p) } -func fts5AppendRowid(tls *libc.TLS, p uintptr, iDelta I64, pUnused uintptr, pBuf uintptr) { /* sqlite3.c:229615:13: */ +func fts5AppendRowid(tls *libc.TLS, p uintptr, iDelta I64, pUnused uintptr, pBuf uintptr) { /* sqlite3.c:229672:13: */ _ = pUnused sqlite3Fts5BufferAppendVarint(tls, p+36, pBuf, iDelta) } -func fts5AppendPoslist(tls *libc.TLS, p uintptr, iDelta I64, pMulti uintptr, pBuf uintptr) { /* sqlite3.c:229625:13: */ +func fts5AppendPoslist(tls *libc.TLS, p uintptr, iDelta I64, pMulti uintptr, pBuf uintptr) { /* sqlite3.c:229682:13: */ var nData int32 = (*Fts5Iter)(unsafe.Pointer(pMulti)).Fbase.FnData var nByte int32 = nData + 9 + 9 + FTS5_DATA_ZERO_PADDING @@ -186877,7 +186908,7 @@ func fts5AppendPoslist(tls *libc.TLS, p uintptr, iDelta I64, pMulti uintptr, pBu } } -func fts5DoclistIterNext(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:229643:13: */ +func fts5DoclistIterNext(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:229700:13: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -186909,7 +186940,7 @@ func fts5DoclistIterNext(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:229643:13: } } -func fts5DoclistIterInit(tls *libc.TLS, pBuf uintptr, pIter uintptr) { /* sqlite3.c:229672:13: */ +func fts5DoclistIterInit(tls *libc.TLS, pBuf uintptr, pIter uintptr) { /* sqlite3.c:229729:13: */ libc.Xmemset(tls, pIter, 0, uint32(unsafe.Sizeof(Fts5DoclistIter{}))) if (*Fts5Buffer)(unsafe.Pointer(pBuf)).Fn > 0 { (*Fts5DoclistIter)(unsafe.Pointer(pIter)).FaPoslist = (*Fts5Buffer)(unsafe.Pointer(pBuf)).Fp @@ -186919,13 +186950,13 @@ func fts5DoclistIterInit(tls *libc.TLS, pBuf uintptr, pIter uintptr) { /* sqlite } // Swap the contents of buffer *p1 with that of *p2. -func fts5BufferSwap(tls *libc.TLS, p1 uintptr, p2 uintptr) { /* sqlite3.c:229711:13: */ +func fts5BufferSwap(tls *libc.TLS, p1 uintptr, p2 uintptr) { /* sqlite3.c:229768:13: */ var tmp = *(*Fts5Buffer)(unsafe.Pointer(p1)) *(*Fts5Buffer)(unsafe.Pointer(p1)) = *(*Fts5Buffer)(unsafe.Pointer(p2)) *(*Fts5Buffer)(unsafe.Pointer(p2)) = tmp } -func fts5NextRowid(tls *libc.TLS, pBuf uintptr, piOff uintptr, piRowid uintptr) { /* sqlite3.c:229717:13: */ +func fts5NextRowid(tls *libc.TLS, pBuf uintptr, piOff uintptr, piRowid uintptr) { /* sqlite3.c:229774:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -186942,7 +186973,7 @@ func fts5NextRowid(tls *libc.TLS, pBuf uintptr, piOff uintptr, piRowid uintptr) // This is the equivalent of fts5MergePrefixLists() for detail=none mode. // In this case the buffers consist of a delta-encoded list of rowids only. -func fts5MergeRowidLists(tls *libc.TLS, p uintptr, p1 uintptr, nBuf int32, aBuf uintptr) { /* sqlite3.c:229732:13: */ +func fts5MergeRowidLists(tls *libc.TLS, p uintptr, p1 uintptr, nBuf int32, aBuf uintptr) { /* sqlite3.c:229789:13: */ bp := tls.Alloc(40) defer tls.Free(40) @@ -186998,11 +187029,11 @@ type PrefixMerger1 = struct { FaPos uintptr FpNext uintptr F__ccgo_pad1 [4]byte -} /* sqlite3.c:229775:9 */ +} /* sqlite3.c:229832:9 */ -type PrefixMerger = PrefixMerger1 /* sqlite3.c:229775:29 */ +type PrefixMerger = PrefixMerger1 /* sqlite3.c:229832:29 */ -func fts5PrefixMergerInsertByRowid(tls *libc.TLS, ppHead uintptr, p uintptr) { /* sqlite3.c:229784:13: */ +func fts5PrefixMergerInsertByRowid(tls *libc.TLS, ppHead uintptr, p uintptr) { /* sqlite3.c:229841:13: */ if (*PrefixMerger)(unsafe.Pointer(p)).Fiter.FaPoslist != 0 { var pp uintptr = ppHead for *(*uintptr)(unsafe.Pointer(pp)) != 0 && (*PrefixMerger)(unsafe.Pointer(p)).Fiter.FiRowid > (*PrefixMerger)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pp)))).Fiter.FiRowid { @@ -187013,7 +187044,7 @@ func fts5PrefixMergerInsertByRowid(tls *libc.TLS, ppHead uintptr, p uintptr) { / } } -func fts5PrefixMergerInsertByPosition(tls *libc.TLS, ppHead uintptr, p uintptr) { /* sqlite3.c:229798:13: */ +func fts5PrefixMergerInsertByPosition(tls *libc.TLS, ppHead uintptr, p uintptr) { /* sqlite3.c:229855:13: */ if (*PrefixMerger)(unsafe.Pointer(p)).FiPos >= int64(0) { var pp uintptr = ppHead for *(*uintptr)(unsafe.Pointer(pp)) != 0 && (*PrefixMerger)(unsafe.Pointer(p)).FiPos > (*PrefixMerger)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pp)))).FiPos { @@ -187026,7 +187057,7 @@ func fts5PrefixMergerInsertByPosition(tls *libc.TLS, ppHead uintptr, p uintptr) // Array aBuf[] contains nBuf doclists. These are all merged in with the // doclist in buffer p1. -func fts5MergePrefixLists(tls *libc.TLS, p uintptr, p1 uintptr, nBuf int32, aBuf uintptr) { /* sqlite3.c:229817:13: */ +func fts5MergePrefixLists(tls *libc.TLS, p uintptr, p1 uintptr, nBuf int32, aBuf uintptr) { /* sqlite3.c:229874:13: */ bp := tls.Alloc(936) defer tls.Free(936) @@ -187191,7 +187222,7 @@ func fts5MergePrefixLists(tls *libc.TLS, p uintptr, p1 uintptr, nBuf int32, aBuf *(*Fts5Buffer)(unsafe.Pointer(p1)) = *(*Fts5Buffer)(unsafe.Pointer(bp + 900 /* out */)) } -func fts5SetupPrefixIter(tls *libc.TLS, p uintptr, bDesc int32, iIdx int32, pToken uintptr, nToken int32, pColset uintptr, ppIter uintptr) { /* sqlite3.c:229961:13: */ +func fts5SetupPrefixIter(tls *libc.TLS, p uintptr, bDesc int32, iIdx int32, pToken uintptr, nToken int32, pColset uintptr, ppIter uintptr) { /* sqlite3.c:230018:13: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -187338,7 +187369,7 @@ func fts5SetupPrefixIter(tls *libc.TLS, p uintptr, bDesc int32, iIdx int32, pTok // Indicate that all subsequent calls to sqlite3Fts5IndexWrite() pertain // to the document with rowid iRowid. -func sqlite3Fts5IndexBeginWrite(tls *libc.TLS, p uintptr, bDelete int32, iRowid I64) int32 { /* sqlite3.c:230098:12: */ +func sqlite3Fts5IndexBeginWrite(tls *libc.TLS, p uintptr, bDelete int32, iRowid I64) int32 { /* sqlite3.c:230155:12: */ // Allocate the hash table if it has not already been allocated if (*Fts5Index)(unsafe.Pointer(p)).FpHash == uintptr(0) { @@ -187358,7 +187389,7 @@ func sqlite3Fts5IndexBeginWrite(tls *libc.TLS, p uintptr, bDelete int32, iRowid } // Commit data to disk. -func sqlite3Fts5IndexSync(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:230122:12: */ +func sqlite3Fts5IndexSync(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:230179:12: */ fts5IndexFlush(tls, p) sqlite3Fts5IndexCloseReader(tls, p) @@ -187369,7 +187400,7 @@ func sqlite3Fts5IndexSync(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:230122: // to the database. Additionally, assume that the contents of the %_data // table may have changed on disk. So any in-memory caches of %_data // records must be invalidated. -func sqlite3Fts5IndexRollback(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:230135:12: */ +func sqlite3Fts5IndexRollback(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:230192:12: */ sqlite3Fts5IndexCloseReader(tls, p) fts5IndexDiscardData(tls, p) fts5StructureInvalidate(tls, p) @@ -187380,7 +187411,7 @@ func sqlite3Fts5IndexRollback(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:230 // The %_data table is completely empty when this function is called. This // function populates it with the initial structure objects for each index, // and the initial version of the "averages" record (a zero-byte blob). -func sqlite3Fts5IndexReinit(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:230148:12: */ +func sqlite3Fts5IndexReinit(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:230205:12: */ bp := tls.Alloc(40) defer tls.Free(40) @@ -187399,7 +187430,7 @@ func sqlite3Fts5IndexReinit(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:23014 // // If successful, set *pp to point to the new object and return SQLITE_OK. // Otherwise, set *pp to NULL and return an SQLite error code. -func sqlite3Fts5IndexOpen(tls *libc.TLS, pConfig uintptr, bCreate int32, pp uintptr, pzErr uintptr) int32 { /* sqlite3.c:230165:12: */ +func sqlite3Fts5IndexOpen(tls *libc.TLS, pConfig uintptr, bCreate int32, pp uintptr, pzErr uintptr) int32 { /* sqlite3.c:230222:12: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -187433,7 +187464,7 @@ func sqlite3Fts5IndexOpen(tls *libc.TLS, pConfig uintptr, bCreate int32, pp uint } // Close a handle opened by an earlier call to sqlite3Fts5IndexOpen(). -func sqlite3Fts5IndexClose(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:230206:12: */ +func sqlite3Fts5IndexClose(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:230263:12: */ var rc int32 = SQLITE_OK if p != 0 { @@ -187454,7 +187485,7 @@ func sqlite3Fts5IndexClose(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:230206 // Argument p points to a buffer containing utf-8 text that is n bytes in // size. Return the number of bytes in the nChar character prefix of the // buffer, or 0 if there are less than nChar characters in total. -func sqlite3Fts5IndexCharlenToBytelen(tls *libc.TLS, p uintptr, nByte int32, nChar int32) int32 { /* sqlite3.c:230229:12: */ +func sqlite3Fts5IndexCharlenToBytelen(tls *libc.TLS, p uintptr, nByte int32, nChar int32) int32 { /* sqlite3.c:230286:12: */ var n int32 = 0 var i int32 for i = 0; i < nChar; i++ { @@ -187481,7 +187512,7 @@ func sqlite3Fts5IndexCharlenToBytelen(tls *libc.TLS, p uintptr, nByte int32, nCh // pIn is a UTF-8 encoded string, nIn bytes in size. Return the number of // unicode characters in the string. -func fts5IndexCharlen(tls *libc.TLS, pIn uintptr, nIn int32) int32 { /* sqlite3.c:230256:12: */ +func fts5IndexCharlen(tls *libc.TLS, pIn uintptr, nIn int32) int32 { /* sqlite3.c:230313:12: */ var nChar int32 = 0 var i int32 = 0 for i < nIn { @@ -187503,7 +187534,7 @@ func fts5IndexCharlen(tls *libc.TLS, pIn uintptr, nIn int32) int32 { /* sqlite3. // If the operation is a delete, it must be called (at least) once for each // unique token in the document with an iCol value less than zero. The iPos // argument is ignored for a delete. -func sqlite3Fts5IndexWrite(tls *libc.TLS, p uintptr, iCol int32, iPos int32, pToken uintptr, nToken int32) int32 { /* sqlite3.c:230278:12: */ +func sqlite3Fts5IndexWrite(tls *libc.TLS, p uintptr, iCol int32, iPos int32, pToken uintptr, nToken int32) int32 { /* sqlite3.c:230335:12: */ var i int32 // Used to iterate through indexes var rc int32 = SQLITE_OK // Return code var pConfig uintptr = (*Fts5Index)(unsafe.Pointer(p)).FpConfig @@ -187527,7 +187558,7 @@ func sqlite3Fts5IndexWrite(tls *libc.TLS, p uintptr, iCol int32, iPos int32, pTo // Open a new iterator to iterate though all rowid that match the // specified token or token prefix. -func sqlite3Fts5IndexQuery(tls *libc.TLS, p uintptr, pToken uintptr, nToken int32, flags int32, pColset uintptr, ppIter uintptr) int32 { /* sqlite3.c:230314:12: */ +func sqlite3Fts5IndexQuery(tls *libc.TLS, p uintptr, pToken uintptr, nToken int32, flags int32, pColset uintptr, ppIter uintptr) int32 { /* sqlite3.c:230371:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -187610,7 +187641,7 @@ func sqlite3Fts5IndexQuery(tls *libc.TLS, p uintptr, pToken uintptr, nToken int3 // Return true if the iterator passed as the only argument is at EOF. // Move to the next matching rowid. -func sqlite3Fts5IterNext(tls *libc.TLS, pIndexIter uintptr) int32 { /* sqlite3.c:230402:12: */ +func sqlite3Fts5IterNext(tls *libc.TLS, pIndexIter uintptr) int32 { /* sqlite3.c:230459:12: */ var pIter uintptr = pIndexIter fts5MultiIterNext(tls, (*Fts5Iter)(unsafe.Pointer(pIter)).FpIndex, pIter, 0, int64(0)) @@ -187618,7 +187649,7 @@ func sqlite3Fts5IterNext(tls *libc.TLS, pIndexIter uintptr) int32 { /* sqlite3.c } // Move to the next matching term/rowid. Used by the fts5vocab module. -func sqlite3Fts5IterNextScan(tls *libc.TLS, pIndexIter uintptr) int32 { /* sqlite3.c:230412:12: */ +func sqlite3Fts5IterNextScan(tls *libc.TLS, pIndexIter uintptr) int32 { /* sqlite3.c:230469:12: */ var pIter uintptr = pIndexIter var p uintptr = (*Fts5Iter)(unsafe.Pointer(pIter)).FpIndex @@ -187638,14 +187669,14 @@ func sqlite3Fts5IterNextScan(tls *libc.TLS, pIndexIter uintptr) int32 { /* sqlit // Move to the next matching rowid that occurs at or after iMatch. The // definition of "at or after" depends on whether this iterator iterates // in ascending or descending rowid order. -func sqlite3Fts5IterNextFrom(tls *libc.TLS, pIndexIter uintptr, iMatch I64) int32 { /* sqlite3.c:230436:12: */ +func sqlite3Fts5IterNextFrom(tls *libc.TLS, pIndexIter uintptr, iMatch I64) int32 { /* sqlite3.c:230493:12: */ var pIter uintptr = pIndexIter fts5MultiIterNextFrom(tls, (*Fts5Iter)(unsafe.Pointer(pIter)).FpIndex, pIter, iMatch) return fts5IndexReturn(tls, (*Fts5Iter)(unsafe.Pointer(pIter)).FpIndex) } // Return the current term. -func sqlite3Fts5IterTerm(tls *libc.TLS, pIndexIter uintptr, pn uintptr) uintptr { /* sqlite3.c:230445:19: */ +func sqlite3Fts5IterTerm(tls *libc.TLS, pIndexIter uintptr, pn uintptr) uintptr { /* sqlite3.c:230502:19: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -187663,7 +187694,7 @@ func sqlite3Fts5IterTerm(tls *libc.TLS, pIndexIter uintptr, pn uintptr) uintptr } // Close an iterator opened by an earlier call to sqlite3Fts5IndexQuery(). -func sqlite3Fts5IterClose(tls *libc.TLS, pIndexIter uintptr) { /* sqlite3.c:230456:13: */ +func sqlite3Fts5IterClose(tls *libc.TLS, pIndexIter uintptr) { /* sqlite3.c:230513:13: */ if pIndexIter != 0 { var pIter uintptr = pIndexIter var pIndex uintptr = (*Fts5Iter)(unsafe.Pointer(pIter)).FpIndex @@ -187676,7 +187707,7 @@ func sqlite3Fts5IterClose(tls *libc.TLS, pIndexIter uintptr) { /* sqlite3.c:2304 // // Parameter anSize must point to an array of size nCol, where nCol is // the number of user defined columns in the FTS table. -func sqlite3Fts5IndexGetAverages(tls *libc.TLS, p uintptr, pnRow uintptr, anSize uintptr) int32 { /* sqlite3.c:230471:12: */ +func sqlite3Fts5IndexGetAverages(tls *libc.TLS, p uintptr, pnRow uintptr, anSize uintptr) int32 { /* sqlite3.c:230528:12: */ var nCol int32 = (*Fts5Config)(unsafe.Pointer((*Fts5Index)(unsafe.Pointer(p)).FpConfig)).FnCol var pData uintptr @@ -187698,7 +187729,7 @@ func sqlite3Fts5IndexGetAverages(tls *libc.TLS, p uintptr, pnRow uintptr, anSize // Replace the current "averages" record with the contents of the buffer // supplied as the second argument. -func sqlite3Fts5IndexSetAverages(tls *libc.TLS, p uintptr, pData uintptr, nData int32) int32 { /* sqlite3.c:230495:12: */ +func sqlite3Fts5IndexSetAverages(tls *libc.TLS, p uintptr, pData uintptr, nData int32) int32 { /* sqlite3.c:230552:12: */ fts5DataWrite(tls, p, int64(FTS5_AVERAGES_ROWID), pData, nData) return fts5IndexReturn(tls, p) @@ -187706,7 +187737,7 @@ func sqlite3Fts5IndexSetAverages(tls *libc.TLS, p uintptr, pData uintptr, nData // Return the total number of blocks this module has read from the %_data // table since it was created. -func sqlite3Fts5IndexReads(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:230505:12: */ +func sqlite3Fts5IndexReads(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:230562:12: */ return (*Fts5Index)(unsafe.Pointer(p)).FnRead } @@ -187715,7 +187746,7 @@ func sqlite3Fts5IndexReads(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:230505 // // Return SQLITE_OK if successful, or an SQLite error code if an error // occurs. -func sqlite3Fts5IndexSetCookie(tls *libc.TLS, p uintptr, iNew int32) int32 { /* sqlite3.c:230516:12: */ +func sqlite3Fts5IndexSetCookie(tls *libc.TLS, p uintptr, iNew int32) int32 { /* sqlite3.c:230573:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -187737,7 +187768,7 @@ func sqlite3Fts5IndexSetCookie(tls *libc.TLS, p uintptr, iNew int32) int32 { /* return rc } -func sqlite3Fts5IndexLoadConfig(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:230536:12: */ +func sqlite3Fts5IndexLoadConfig(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:230593:12: */ var pStruct uintptr pStruct = fts5StructureRead(tls, p) fts5StructureRelease(tls, pStruct) @@ -187751,7 +187782,7 @@ func sqlite3Fts5IndexLoadConfig(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:2 // functionality. // Return a simple checksum value based on the arguments. -func sqlite3Fts5IndexEntryCksum(tls *libc.TLS, iRowid I64, iCol int32, iPos int32, iIdx int32, pTerm uintptr, nTerm int32) U64 { /* sqlite3.c:230553:12: */ +func sqlite3Fts5IndexEntryCksum(tls *libc.TLS, iRowid I64, iCol int32, iPos int32, iIdx int32, pTerm uintptr, nTerm int32) U64 { /* sqlite3.c:230610:12: */ var i int32 var ret U64 = U64(iRowid) ret = ret + (ret<<3 + U64(iCol)) @@ -187771,7 +187802,7 @@ func sqlite3Fts5IndexEntryCksum(tls *libc.TLS, iRowid I64, iCol int32, iPos int3 // contain zero terms. // 2) All leaves of pSeg between iNoRowid and iLast (inclusive) exist and // contain zero rowids. -func fts5IndexIntegrityCheckEmpty(tls *libc.TLS, p uintptr, pSeg uintptr, iFirst int32, iNoRowid int32, iLast int32) { /* sqlite3.c:230771:13: */ +func fts5IndexIntegrityCheckEmpty(tls *libc.TLS, p uintptr, pSeg uintptr, iFirst int32, iNoRowid int32, iLast int32) { /* sqlite3.c:230828:13: */ var i int32 // Now check that the iter.nEmpty leaves following the current leaf @@ -187790,7 +187821,7 @@ func fts5IndexIntegrityCheckEmpty(tls *libc.TLS, p uintptr, pSeg uintptr, iFirst } } -func fts5IntegrityCheckPgidx(tls *libc.TLS, p uintptr, pLeaf uintptr) { /* sqlite3.c:230792:13: */ +func fts5IntegrityCheckPgidx(tls *libc.TLS, p uintptr, pLeaf uintptr) { /* sqlite3.c:230849:13: */ bp := tls.Alloc(40) defer tls.Free(40) @@ -187849,7 +187880,7 @@ func fts5IntegrityCheckPgidx(tls *libc.TLS, p uintptr, pLeaf uintptr) { /* sqlit sqlite3Fts5BufferFree(tls, bp+28) } -func fts5IndexIntegrityCheckSegment(tls *libc.TLS, p uintptr, pSeg uintptr) { /* sqlite3.c:230842:13: */ +func fts5IndexIntegrityCheckSegment(tls *libc.TLS, p uintptr, pSeg uintptr) { /* sqlite3.c:230899:13: */ bp := tls.Alloc(40) defer tls.Free(40) @@ -188018,7 +188049,7 @@ func fts5IndexIntegrityCheckSegment(tls *libc.TLS, p uintptr, pSeg uintptr) { /* // checksum does not match. Return SQLITE_OK if all checks pass without // error, or some other SQLite error code if another error (e.g. OOM) // occurs. -func sqlite3Fts5IndexIntegrityCheck(tls *libc.TLS, p uintptr, cksum U64, bUseCksum int32) int32 { /* sqlite3.c:230987:12: */ +func sqlite3Fts5IndexIntegrityCheck(tls *libc.TLS, p uintptr, cksum U64, bUseCksum int32) int32 { /* sqlite3.c:231044:12: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -188108,13 +188139,13 @@ func sqlite3Fts5IndexIntegrityCheck(tls *libc.TLS, p uintptr, cksum U64, bUseCks // // If successful, SQLITE_OK is returned. If an error occurs, some other // SQLite error code is returned instead. -func sqlite3Fts5IndexInit(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:231550:12: */ +func sqlite3Fts5IndexInit(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:231607:12: */ return SQLITE_OK _ = db return int32(0) } -func sqlite3Fts5IndexReset(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:231576:12: */ +func sqlite3Fts5IndexReset(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:231633:12: */ if fts5IndexDataVersion(tls, p) != (*Fts5Index)(unsafe.Pointer(p)).FiStructVersion { fts5StructureInvalidate(tls, p) @@ -188147,7 +188178,7 @@ type Fts5Auxdata1 = struct { FpPtr uintptr FxDelete uintptr FpNext uintptr -} /* sqlite3.c:216813:9 */ +} /* sqlite3.c:216870:9 */ // 2014 Jun 09 // @@ -188169,7 +188200,7 @@ type Fts5Auxdata1 = struct { // assert() conditions in the fts5 code are activated - conditions that are // only true if it is guaranteed that the fts5 database is not corrupt. -type Fts5Auxdata = Fts5Auxdata1 /* sqlite3.c:231613:28 */ +type Fts5Auxdata = Fts5Auxdata1 /* sqlite3.c:231670:28 */ type Fts5Auxiliary1 = struct { FpGlobal uintptr FzFunc uintptr @@ -188177,9 +188208,9 @@ type Fts5Auxiliary1 = struct { FxFunc Fts5_extension_function FxDestroy uintptr FpNext uintptr -} /* sqlite3.c:216813:9 */ +} /* sqlite3.c:216870:9 */ -type Fts5Auxiliary = Fts5Auxiliary1 /* sqlite3.c:231614:30 */ +type Fts5Auxiliary = Fts5Auxiliary1 /* sqlite3.c:231671:30 */ type Fts5Cursor1 = struct { Fbase Sqlite3_vtab_cursor FpNext uintptr @@ -188207,17 +188238,17 @@ type Fts5Cursor1 = struct { FnInstAlloc int32 FnInstCount int32 FaInst uintptr -} /* sqlite3.c:216813:9 */ +} /* sqlite3.c:216870:9 */ -type Fts5Cursor = Fts5Cursor1 /* sqlite3.c:231615:27 */ +type Fts5Cursor = Fts5Cursor1 /* sqlite3.c:231672:27 */ type Fts5FullTable1 = struct { Fp Fts5Table FpStorage uintptr FpGlobal uintptr FpSortCsr uintptr -} /* sqlite3.c:231616:9 */ +} /* sqlite3.c:231673:9 */ -type Fts5FullTable = Fts5FullTable1 /* sqlite3.c:231616:30 */ +type Fts5FullTable = Fts5FullTable1 /* sqlite3.c:231673:30 */ type Fts5Sorter1 = struct { FpStmt uintptr F__ccgo_pad1 [4]byte @@ -188226,18 +188257,18 @@ type Fts5Sorter1 = struct { FnIdx int32 FaIdx [1]int32 F__ccgo_pad2 [4]byte -} /* sqlite3.c:216813:9 */ +} /* sqlite3.c:216870:9 */ -type Fts5Sorter = Fts5Sorter1 /* sqlite3.c:231617:27 */ +type Fts5Sorter = Fts5Sorter1 /* sqlite3.c:231674:27 */ type Fts5TokenizerModule1 = struct { FzName uintptr FpUserData uintptr Fx Fts5_tokenizer FxDestroy uintptr FpNext uintptr -} /* sqlite3.c:216813:9 */ +} /* sqlite3.c:216870:9 */ -type Fts5TokenizerModule = Fts5TokenizerModule1 /* sqlite3.c:231618:36 */ +type Fts5TokenizerModule = Fts5TokenizerModule1 /* sqlite3.c:231675:36 */ // NOTES ON TRANSACTIONS: // @@ -188271,20 +188302,20 @@ type Fts5TokenizerModule = Fts5TokenizerModule1 /* sqlite3.c:231618:36 */ type Fts5TransactionState = struct { FeState int32 FiSavepoint int32 -} /* sqlite3.c:231651:1 */ +} /* sqlite3.c:231708:1 */ type Fts5MatchPhrase = struct { FpPoslist uintptr FnTerm int32 -} /* sqlite3.c:231708:1 */ +} /* sqlite3.c:231765:1 */ // Return true if pTab is a contentless table. -func fts5IsContentless(tls *libc.TLS, pTab uintptr) int32 { /* sqlite3.c:231892:12: */ +func fts5IsContentless(tls *libc.TLS, pTab uintptr) int32 { /* sqlite3.c:231949:12: */ return libc.Bool32((*Fts5Config)(unsafe.Pointer((*Fts5FullTable)(unsafe.Pointer(pTab)).Fp.FpConfig)).FeContent == FTS5_CONTENT_NONE) } // Delete a virtual table handle allocated by fts5InitVtab(). -func fts5FreeVtab(tls *libc.TLS, pTab uintptr) { /* sqlite3.c:231899:13: */ +func fts5FreeVtab(tls *libc.TLS, pTab uintptr) { /* sqlite3.c:231956:13: */ if pTab != 0 { sqlite3Fts5IndexClose(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).Fp.FpIndex) sqlite3Fts5StorageClose(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).FpStorage) @@ -188294,13 +188325,13 @@ func fts5FreeVtab(tls *libc.TLS, pTab uintptr) { /* sqlite3.c:231899:13: */ } // The xDisconnect() virtual table method. -func fts5DisconnectMethod(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:231911:12: */ +func fts5DisconnectMethod(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:231968:12: */ fts5FreeVtab(tls, pVtab) return SQLITE_OK } // The xDestroy() virtual table method. -func fts5DestroyMethod(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:231919:12: */ +func fts5DestroyMethod(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:231976:12: */ var pTab uintptr = pVtab var rc int32 = sqlite3Fts5DropAll(tls, (*Fts5Table)(unsafe.Pointer(pTab)).FpConfig) if rc == SQLITE_OK { @@ -188318,7 +188349,7 @@ func fts5DestroyMethod(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:231919 // argv[1] -> database name // argv[2] -> table name // argv[...] -> "column name" and other module argument fields. -func fts5InitVtab(tls *libc.TLS, bCreate int32, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVTab uintptr, pzErr uintptr) int32 { /* sqlite3.c:231939:12: */ +func fts5InitVtab(tls *libc.TLS, bCreate int32, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVTab uintptr, pzErr uintptr) int32 { /* sqlite3.c:231996:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -188376,11 +188407,11 @@ func fts5InitVtab(tls *libc.TLS, bCreate int32, db uintptr, pAux uintptr, argc i // The xConnect() and xCreate() methods for the virtual table. All the // work is done in function fts5InitVtab(). -func fts5ConnectMethod(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 { /* sqlite3.c:232005:12: */ +func fts5ConnectMethod(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 { /* sqlite3.c:232062:12: */ return fts5InitVtab(tls, 0, db, pAux, argc, argv, ppVtab, pzErr) } -func fts5CreateMethod(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 { /* sqlite3.c:232015:12: */ +func fts5CreateMethod(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 { /* sqlite3.c:232072:12: */ return fts5InitVtab(tls, 1, db, pAux, argc, argv, ppVtab, pzErr) } @@ -188389,14 +188420,14 @@ func fts5CreateMethod(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv // Set the SQLITE_INDEX_SCAN_UNIQUE flag in pIdxInfo->flags. Unless this // extension is currently being used by a version of SQLite too old to // support index-info flags. In that case this function is a no-op. -func fts5SetUniqueFlag(tls *libc.TLS, pIdxInfo uintptr) { /* sqlite3.c:232041:13: */ +func fts5SetUniqueFlag(tls *libc.TLS, pIdxInfo uintptr) { /* sqlite3.c:232098:13: */ { *(*int32)(unsafe.Pointer(pIdxInfo + 56)) |= SQLITE_INDEX_SCAN_UNIQUE } } -func fts5UsePatternMatch(tls *libc.TLS, pConfig uintptr, p uintptr) int32 { /* sqlite3.c:232052:12: */ +func fts5UsePatternMatch(tls *libc.TLS, pConfig uintptr, p uintptr) int32 { /* sqlite3.c:232109:12: */ if (*Fts5Config)(unsafe.Pointer(pConfig)).FePattern == FTS5_PATTERN_GLOB && int32((*sqlite3_index_constraint)(unsafe.Pointer(p)).Fop) == FTS5_PATTERN_GLOB { return 1 @@ -188467,7 +188498,7 @@ func fts5UsePatternMatch(tls *libc.TLS, pConfig uintptr, p uintptr) int32 { /* s // * An == rowid constraint: cost=10.0 // // Costs are not modified by the ORDER BY clause. -func fts5BestIndexMethod(tls *libc.TLS, pVTab uintptr, pInfo uintptr) int32 { /* sqlite3.c:232130:12: */ +func fts5BestIndexMethod(tls *libc.TLS, pVTab uintptr, pInfo uintptr) int32 { /* sqlite3.c:232187:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -188629,7 +188660,7 @@ func fts5BestIndexMethod(tls *libc.TLS, pVTab uintptr, pInfo uintptr) int32 { /* return SQLITE_OK } -func fts5NewTransaction(tls *libc.TLS, pTab uintptr) int32 { /* sqlite3.c:232265:12: */ +func fts5NewTransaction(tls *libc.TLS, pTab uintptr) int32 { /* sqlite3.c:232322:12: */ var pCsr uintptr for pCsr = (*Fts5Global)(unsafe.Pointer((*Fts5FullTable)(unsafe.Pointer(pTab)).FpGlobal)).FpCsr; pCsr != 0; pCsr = (*Fts5Cursor)(unsafe.Pointer(pCsr)).FpNext { if (*Fts5Cursor)(unsafe.Pointer(pCsr)).Fbase.FpVtab == pTab { @@ -188640,7 +188671,7 @@ func fts5NewTransaction(tls *libc.TLS, pTab uintptr) int32 { /* sqlite3.c:232265 } // Implementation of xOpen method. -func fts5OpenMethod(tls *libc.TLS, pVTab uintptr, ppCsr uintptr) int32 { /* sqlite3.c:232276:12: */ +func fts5OpenMethod(tls *libc.TLS, pVTab uintptr, ppCsr uintptr) int32 { /* sqlite3.c:232333:12: */ var pTab uintptr = pVTab var pConfig uintptr = (*Fts5FullTable)(unsafe.Pointer(pTab)).Fp.FpConfig var pCsr uintptr = uintptr(0) // New cursor object @@ -188666,7 +188697,7 @@ func fts5OpenMethod(tls *libc.TLS, pVTab uintptr, ppCsr uintptr) int32 { /* sqli return rc } -func fts5StmtType(tls *libc.TLS, pCsr uintptr) int32 { /* sqlite3.c:232302:12: */ +func fts5StmtType(tls *libc.TLS, pCsr uintptr) int32 { /* sqlite3.c:232359:12: */ if (*Fts5Cursor)(unsafe.Pointer(pCsr)).FePlan == FTS5_PLAN_SCAN { if (*Fts5Cursor)(unsafe.Pointer(pCsr)).FbDesc != 0 { return FTS5_STMT_SCAN_DESC @@ -188679,11 +188710,11 @@ func fts5StmtType(tls *libc.TLS, pCsr uintptr) int32 { /* sqlite3.c:232302:12: * // This function is called after the cursor passed as the only argument // is moved to point at a different row. It clears all cached data // specific to the previous row stored by the cursor object. -func fts5CsrNewrow(tls *libc.TLS, pCsr uintptr) { /* sqlite3.c:232314:13: */ +func fts5CsrNewrow(tls *libc.TLS, pCsr uintptr) { /* sqlite3.c:232371:13: */ *(*int32)(unsafe.Pointer(pCsr + 60)) |= FTS5CSR_REQUIRE_CONTENT | FTS5CSR_REQUIRE_DOCSIZE | FTS5CSR_REQUIRE_INST | FTS5CSR_REQUIRE_POSLIST } -func fts5FreeCursorComponents(tls *libc.TLS, pCsr uintptr) { /* sqlite3.c:232323:13: */ +func fts5FreeCursorComponents(tls *libc.TLS, pCsr uintptr) { /* sqlite3.c:232380:13: */ var pTab uintptr = (*Fts5Cursor)(unsafe.Pointer(pCsr)).Fbase.FpVtab var pData uintptr var pNext uintptr @@ -188726,7 +188757,7 @@ func fts5FreeCursorComponents(tls *libc.TLS, pCsr uintptr) { /* sqlite3.c:232323 // Close the cursor. For additional information see the documentation // on the xClose method of the virtual table interface. -func fts5CloseMethod(tls *libc.TLS, pCursor uintptr) int32 { /* sqlite3.c:232367:12: */ +func fts5CloseMethod(tls *libc.TLS, pCursor uintptr) int32 { /* sqlite3.c:232424:12: */ if pCursor != 0 { var pTab uintptr = (*Sqlite3_vtab_cursor)(unsafe.Pointer(pCursor)).FpVtab var pCsr uintptr = pCursor @@ -188743,7 +188774,7 @@ func fts5CloseMethod(tls *libc.TLS, pCursor uintptr) int32 { /* sqlite3.c:232367 return SQLITE_OK } -func fts5SorterNext(tls *libc.TLS, pCsr uintptr) int32 { /* sqlite3.c:232383:12: */ +func fts5SorterNext(tls *libc.TLS, pCsr uintptr) int32 { /* sqlite3.c:232440:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -188787,7 +188818,7 @@ func fts5SorterNext(tls *libc.TLS, pCsr uintptr) int32 { /* sqlite3.c:232383:12: // Set the FTS5CSR_REQUIRE_RESEEK flag on all FTS5_PLAN_MATCH cursors // open on table pTab. -func fts5TripCursors(tls *libc.TLS, pTab uintptr) { /* sqlite3.c:232426:13: */ +func fts5TripCursors(tls *libc.TLS, pTab uintptr) { /* sqlite3.c:232483:13: */ var pCsr uintptr for pCsr = (*Fts5Global)(unsafe.Pointer((*Fts5FullTable)(unsafe.Pointer(pTab)).FpGlobal)).FpCsr; pCsr != 0; pCsr = (*Fts5Cursor)(unsafe.Pointer(pCsr)).FpNext { if (*Fts5Cursor)(unsafe.Pointer(pCsr)).FePlan == FTS5_PLAN_MATCH && @@ -188807,7 +188838,7 @@ func fts5TripCursors(tls *libc.TLS, pTab uintptr) { /* sqlite3.c:232426:13: */ // // Return SQLITE_OK if successful or if no reseek was required, or an // error code if an error occurred. -func fts5CursorReseek(tls *libc.TLS, pCsr uintptr, pbSkip uintptr) int32 { /* sqlite3.c:232449:12: */ +func fts5CursorReseek(tls *libc.TLS, pCsr uintptr, pbSkip uintptr) int32 { /* sqlite3.c:232506:12: */ var rc int32 = SQLITE_OK if (*Fts5Cursor)(unsafe.Pointer(pCsr)).Fcsrflags&FTS5CSR_REQUIRE_RESEEK != 0 { @@ -188836,7 +188867,7 @@ func fts5CursorReseek(tls *libc.TLS, pCsr uintptr, pbSkip uintptr) int32 { /* sq // Return SQLITE_OK if nothing goes wrong. SQLITE_OK is returned // even if we reach end-of-file. The fts5EofMethod() will be called // subsequently to determine whether or not an EOF was hit. -func fts5NextMethod(tls *libc.TLS, pCursor uintptr) int32 { /* sqlite3.c:232481:12: */ +func fts5NextMethod(tls *libc.TLS, pCursor uintptr) int32 { /* sqlite3.c:232538:12: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -188895,7 +188926,7 @@ func fts5NextMethod(tls *libc.TLS, pCursor uintptr) int32 { /* sqlite3.c:232481: return rc } -func fts5PrepareStatement(tls *libc.TLS, ppStmt uintptr, pConfig uintptr, zFmt uintptr, va uintptr) int32 { /* sqlite3.c:232534:12: */ +func fts5PrepareStatement(tls *libc.TLS, ppStmt uintptr, pConfig uintptr, zFmt uintptr, va uintptr) int32 { /* sqlite3.c:232591:12: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -188923,7 +188954,7 @@ func fts5PrepareStatement(tls *libc.TLS, ppStmt uintptr, pConfig uintptr, zFmt u return rc } -func fts5CursorFirstSorted(tls *libc.TLS, pTab uintptr, pCsr uintptr, bDesc int32) int32 { /* sqlite3.c:232563:12: */ +func fts5CursorFirstSorted(tls *libc.TLS, pTab uintptr, pCsr uintptr, bDesc int32) int32 { /* sqlite3.c:232620:12: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -188990,7 +189021,7 @@ func fts5CursorFirstSorted(tls *libc.TLS, pTab uintptr, pCsr uintptr, bDesc int3 return rc } -func fts5CursorFirst(tls *libc.TLS, pTab uintptr, pCsr uintptr, bDesc int32) int32 { /* sqlite3.c:232615:12: */ +func fts5CursorFirst(tls *libc.TLS, pTab uintptr, pCsr uintptr, bDesc int32) int32 { /* sqlite3.c:232672:12: */ var rc int32 var pExpr uintptr = (*Fts5Cursor)(unsafe.Pointer(pCsr)).FpExpr rc = sqlite3Fts5ExprFirst(tls, pExpr, (*Fts5FullTable)(unsafe.Pointer(pTab)).Fp.FpIndex, (*Fts5Cursor)(unsafe.Pointer(pCsr)).FiFirstRowid, bDesc) @@ -189005,7 +189036,7 @@ func fts5CursorFirst(tls *libc.TLS, pTab uintptr, pCsr uintptr, bDesc int32) int // MATCH expression that begins with a '*' character. The remainder of // the text passed to the MATCH operator are used as the special query // parameters. -func fts5SpecialMatch(tls *libc.TLS, pTab uintptr, pCsr uintptr, zQuery uintptr) int32 { /* sqlite3.c:232632:12: */ +func fts5SpecialMatch(tls *libc.TLS, pTab uintptr, pCsr uintptr, zQuery uintptr) int32 { /* sqlite3.c:232689:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -189037,7 +189068,7 @@ func fts5SpecialMatch(tls *libc.TLS, pTab uintptr, pCsr uintptr, zQuery uintptr) // Search for an auxiliary function named zName that can be used with table // pTab. If one is found, return a pointer to the corresponding Fts5Auxiliary // structure. Otherwise, if no such function exists, return NULL. -func fts5FindAuxiliary(tls *libc.TLS, pTab uintptr, zName uintptr) uintptr { /* sqlite3.c:232667:22: */ +func fts5FindAuxiliary(tls *libc.TLS, pTab uintptr, zName uintptr) uintptr { /* sqlite3.c:232724:22: */ var pAux uintptr for pAux = (*Fts5Global)(unsafe.Pointer((*Fts5FullTable)(unsafe.Pointer(pTab)).FpGlobal)).FpAux; pAux != 0; pAux = (*Fts5Auxiliary)(unsafe.Pointer(pAux)).FpNext { @@ -189050,7 +189081,7 @@ func fts5FindAuxiliary(tls *libc.TLS, pTab uintptr, zName uintptr) uintptr { /* return uintptr(0) } -func fts5FindRankFunction(tls *libc.TLS, pCsr uintptr) int32 { /* sqlite3.c:232679:12: */ +func fts5FindRankFunction(tls *libc.TLS, pCsr uintptr) int32 { /* sqlite3.c:232736:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -189103,7 +189134,7 @@ func fts5FindRankFunction(tls *libc.TLS, pCsr uintptr) int32 { /* sqlite3.c:2326 return *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) } -func fts5CursorParseRank(tls *libc.TLS, pConfig uintptr, pCsr uintptr, pRank uintptr) int32 { /* sqlite3.c:232730:12: */ +func fts5CursorParseRank(tls *libc.TLS, pConfig uintptr, pCsr uintptr, pRank uintptr) int32 { /* sqlite3.c:232787:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -189140,7 +189171,7 @@ func fts5CursorParseRank(tls *libc.TLS, pConfig uintptr, pCsr uintptr, pRank uin return rc } -func fts5GetRowidLimit(tls *libc.TLS, pVal uintptr, iDefault I64) I64 { /* sqlite3.c:232767:12: */ +func fts5GetRowidLimit(tls *libc.TLS, pVal uintptr, iDefault I64) I64 { /* sqlite3.c:232824:12: */ if pVal != 0 { var eType int32 = Xsqlite3_value_numeric_type(tls, pVal) if eType == SQLITE_INTEGER { @@ -189159,7 +189190,7 @@ func fts5GetRowidLimit(tls *libc.TLS, pVal uintptr, iDefault I64) I64 { /* sqlit // 1. Full-text search using a MATCH operator. // 2. A by-rowid lookup. // 3. A full-table scan. -func fts5FilterMethod(tls *libc.TLS, pCursor uintptr, idxNum int32, idxStr uintptr, nVal int32, apVal uintptr) int32 { /* sqlite3.c:232788:12: */ +func fts5FilterMethod(tls *libc.TLS, pCursor uintptr, idxNum int32, idxStr uintptr, nVal int32, apVal uintptr) int32 { /* sqlite3.c:232845:12: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -189480,7 +189511,7 @@ filter_out: // This is the xEof method of the virtual table. SQLite calls this // routine to find out if it has reached the end of a result set. -func fts5EofMethod(tls *libc.TLS, pCursor uintptr) int32 { /* sqlite3.c:232981:12: */ +func fts5EofMethod(tls *libc.TLS, pCursor uintptr) int32 { /* sqlite3.c:233038:12: */ var pCsr uintptr = pCursor return func() int32 { if (*Fts5Cursor)(unsafe.Pointer(pCsr)).Fcsrflags&FTS5CSR_EOF != 0 { @@ -189491,7 +189522,7 @@ func fts5EofMethod(tls *libc.TLS, pCursor uintptr) int32 { /* sqlite3.c:232981:1 } // Return the rowid that the cursor currently points to. -func fts5CursorRowid(tls *libc.TLS, pCsr uintptr) I64 { /* sqlite3.c:232989:12: */ +func fts5CursorRowid(tls *libc.TLS, pCsr uintptr) I64 { /* sqlite3.c:233046:12: */ if (*Fts5Cursor)(unsafe.Pointer(pCsr)).FpSorter != 0 { return (*Fts5Sorter)(unsafe.Pointer((*Fts5Cursor)(unsafe.Pointer(pCsr)).FpSorter)).FiRowid @@ -189505,7 +189536,7 @@ func fts5CursorRowid(tls *libc.TLS, pCsr uintptr) I64 { /* sqlite3.c:232989:12: // retrieve the rowid for the current row of the result set. fts5 // exposes %_content.rowid as the rowid for the virtual table. The // rowid should be written to *pRowid. -func fts5RowidMethod(tls *libc.TLS, pCursor uintptr, pRowid uintptr) int32 { /* sqlite3.c:233007:12: */ +func fts5RowidMethod(tls *libc.TLS, pCursor uintptr, pRowid uintptr) int32 { /* sqlite3.c:233064:12: */ var pCsr uintptr = pCursor var ePlan int32 = (*Fts5Cursor)(unsafe.Pointer(pCsr)).FePlan @@ -189535,7 +189566,7 @@ func fts5RowidMethod(tls *libc.TLS, pCursor uintptr, pRowid uintptr) int32 { /* // // If argument bErrormsg is true and an error occurs, an error message may // be left in sqlite3_vtab.zErrMsg. -func fts5SeekCursor(tls *libc.TLS, pCsr uintptr, bErrormsg int32) int32 { /* sqlite3.c:233038:12: */ +func fts5SeekCursor(tls *libc.TLS, pCsr uintptr, bErrormsg int32) int32 { /* sqlite3.c:233095:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -189579,7 +189610,7 @@ func fts5SeekCursor(tls *libc.TLS, pCsr uintptr, bErrormsg int32) int32 { /* sql return rc } -func fts5SetVtabError(tls *libc.TLS, p uintptr, zFormat uintptr, va uintptr) { /* sqlite3.c:233077:13: */ +func fts5SetVtabError(tls *libc.TLS, p uintptr, zFormat uintptr, va uintptr) { /* sqlite3.c:233134:13: */ var ap Va_list _ = ap // ... printf arguments ap = va @@ -189601,7 +189632,7 @@ func fts5SetVtabError(tls *libc.TLS, p uintptr, zFormat uintptr, va uintptr) { / // The commands implemented by this function are documented in the "Special // INSERT Directives" section of the documentation. It should be updated if // more commands are added to this function. -func fts5SpecialInsert(tls *libc.TLS, pTab uintptr, zCmd uintptr, pVal uintptr) int32 { /* sqlite3.c:233100:12: */ +func fts5SpecialInsert(tls *libc.TLS, pTab uintptr, zCmd uintptr, pVal uintptr) int32 { /* sqlite3.c:233157:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -189650,7 +189681,7 @@ func fts5SpecialInsert(tls *libc.TLS, pTab uintptr, zCmd uintptr, pVal uintptr) return rc } -func fts5SpecialDelete(tls *libc.TLS, pTab uintptr, apVal uintptr) int32 { /* sqlite3.c:233156:12: */ +func fts5SpecialDelete(tls *libc.TLS, pTab uintptr, apVal uintptr) int32 { /* sqlite3.c:233213:12: */ var rc int32 = SQLITE_OK var eType1 int32 = Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(apVal + 1*4))) if eType1 == SQLITE_INTEGER { @@ -189660,7 +189691,7 @@ func fts5SpecialDelete(tls *libc.TLS, pTab uintptr, apVal uintptr) int32 { /* sq return rc } -func fts5StorageInsert(tls *libc.TLS, pRc uintptr, pTab uintptr, apVal uintptr, piRowid uintptr) { /* sqlite3.c:233169:13: */ +func fts5StorageInsert(tls *libc.TLS, pRc uintptr, pTab uintptr, apVal uintptr, piRowid uintptr) { /* sqlite3.c:233226:13: */ var rc int32 = *(*int32)(unsafe.Pointer(pRc)) if rc == SQLITE_OK { rc = sqlite3Fts5StorageContentInsert(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).FpStorage, apVal, piRowid) @@ -189683,7 +189714,7 @@ func fts5StorageInsert(tls *libc.TLS, pRc uintptr, pTab uintptr, apVal uintptr, // 2. The "new" rowid. // 3. Values for each of the nCol matchable columns. // 4. Values for the two hidden columns ( and "rank"). -func fts5UpdateMethod(tls *libc.TLS, pVtab uintptr, nArg int32, apVal uintptr, pRowid uintptr) int32 { /* sqlite3.c:233199:12: */ +func fts5UpdateMethod(tls *libc.TLS, pVtab uintptr, nArg int32, apVal uintptr, pRowid uintptr) int32 { /* sqlite3.c:233256:12: */ bp := tls.Alloc(20) defer tls.Free(20) @@ -189785,7 +189816,7 @@ func fts5UpdateMethod(tls *libc.TLS, pVtab uintptr, nArg int32, apVal uintptr, p } // Implementation of xSync() method. -func fts5SyncMethod(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:233325:12: */ +func fts5SyncMethod(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:233382:12: */ var rc int32 var pTab uintptr = pVtab @@ -189797,7 +189828,7 @@ func fts5SyncMethod(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:233325:12 } // Implementation of xBegin() method. -func fts5BeginMethod(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:233339:12: */ +func fts5BeginMethod(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:233396:12: */ fts5NewTransaction(tls, pVtab) return SQLITE_OK @@ -189806,7 +189837,7 @@ func fts5BeginMethod(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:233339:1 // Implementation of xCommit() method. This is a no-op. The contents of // the pending-terms hash-table have already been flushed into the database // by fts5SyncMethod(). -func fts5CommitMethod(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:233350:12: */ +func fts5CommitMethod(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:233407:12: */ _ = pVtab // Call below is a no-op for NDEBUG builds return SQLITE_OK @@ -189814,7 +189845,7 @@ func fts5CommitMethod(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:233350: // Implementation of xRollback(). Discard the contents of the pending-terms // hash-table. Any changes made to the database are reverted by SQLite. -func fts5RollbackMethod(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:233360:12: */ +func fts5RollbackMethod(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:233417:12: */ var rc int32 var pTab uintptr = pVtab @@ -189822,46 +189853,46 @@ func fts5RollbackMethod(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:23336 return rc } -func fts5ApiUserData(tls *libc.TLS, pCtx uintptr) uintptr { /* sqlite3.c:233370:13: */ +func fts5ApiUserData(tls *libc.TLS, pCtx uintptr) uintptr { /* sqlite3.c:233427:13: */ var pCsr uintptr = pCtx return (*Fts5Auxiliary)(unsafe.Pointer((*Fts5Cursor)(unsafe.Pointer(pCsr)).FpAux)).FpUserData } -func fts5ApiColumnCount(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:233375:12: */ +func fts5ApiColumnCount(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:233432:12: */ var pCsr uintptr = pCtx return (*Fts5Config)(unsafe.Pointer((*Fts5Table)(unsafe.Pointer((*Fts5Cursor)(unsafe.Pointer(pCsr)).Fbase.FpVtab)).FpConfig)).FnCol } -func fts5ApiColumnTotalSize(tls *libc.TLS, pCtx uintptr, iCol int32, pnToken uintptr) int32 { /* sqlite3.c:233380:12: */ +func fts5ApiColumnTotalSize(tls *libc.TLS, pCtx uintptr, iCol int32, pnToken uintptr) int32 { /* sqlite3.c:233437:12: */ var pCsr uintptr = pCtx var pTab uintptr = (*Fts5Cursor)(unsafe.Pointer(pCsr)).Fbase.FpVtab return sqlite3Fts5StorageSize(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).FpStorage, iCol, pnToken) } -func fts5ApiRowCount(tls *libc.TLS, pCtx uintptr, pnRow uintptr) int32 { /* sqlite3.c:233390:12: */ +func fts5ApiRowCount(tls *libc.TLS, pCtx uintptr, pnRow uintptr) int32 { /* sqlite3.c:233447:12: */ var pCsr uintptr = pCtx var pTab uintptr = (*Fts5Cursor)(unsafe.Pointer(pCsr)).Fbase.FpVtab return sqlite3Fts5StorageRowCount(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).FpStorage, pnRow) } -func fts5ApiTokenize(tls *libc.TLS, pCtx uintptr, pText uintptr, nText int32, pUserData uintptr, xToken uintptr) int32 { /* sqlite3.c:233396:12: */ +func fts5ApiTokenize(tls *libc.TLS, pCtx uintptr, pText uintptr, nText int32, pUserData uintptr, xToken uintptr) int32 { /* sqlite3.c:233453:12: */ var pCsr uintptr = pCtx var pTab uintptr = (*Fts5Cursor)(unsafe.Pointer(pCsr)).Fbase.FpVtab return sqlite3Fts5Tokenize(tls, (*Fts5Table)(unsafe.Pointer(pTab)).FpConfig, FTS5_TOKENIZE_AUX, pText, nText, pUserData, xToken) } -func fts5ApiPhraseCount(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:233409:12: */ +func fts5ApiPhraseCount(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:233466:12: */ var pCsr uintptr = pCtx return sqlite3Fts5ExprPhraseCount(tls, (*Fts5Cursor)(unsafe.Pointer(pCsr)).FpExpr) } -func fts5ApiPhraseSize(tls *libc.TLS, pCtx uintptr, iPhrase int32) int32 { /* sqlite3.c:233414:12: */ +func fts5ApiPhraseSize(tls *libc.TLS, pCtx uintptr, iPhrase int32) int32 { /* sqlite3.c:233471:12: */ var pCsr uintptr = pCtx return sqlite3Fts5ExprPhraseSize(tls, (*Fts5Cursor)(unsafe.Pointer(pCsr)).FpExpr, iPhrase) } -func fts5ApiColumnText(tls *libc.TLS, pCtx uintptr, iCol int32, pz uintptr, pn uintptr) int32 { /* sqlite3.c:233419:12: */ +func fts5ApiColumnText(tls *libc.TLS, pCtx uintptr, iCol int32, pz uintptr, pn uintptr) int32 { /* sqlite3.c:233476:12: */ var rc int32 = SQLITE_OK var pCsr uintptr = pCtx if fts5IsContentless(tls, (*Fts5Cursor)(unsafe.Pointer(pCsr)).Fbase.FpVtab) != 0 || @@ -189878,7 +189909,7 @@ func fts5ApiColumnText(tls *libc.TLS, pCtx uintptr, iCol int32, pz uintptr, pn u return rc } -func fts5CsrPoslist(tls *libc.TLS, pCsr uintptr, iPhrase int32, pa uintptr, pn uintptr) int32 { /* sqlite3.c:233442:12: */ +func fts5CsrPoslist(tls *libc.TLS, pCsr uintptr, iPhrase int32, pa uintptr, pn uintptr) int32 { /* sqlite3.c:233499:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -189935,7 +189966,7 @@ func fts5CsrPoslist(tls *libc.TLS, pCsr uintptr, iPhrase int32, pa uintptr, pn u // Ensure that the Fts5Cursor.nInstCount and aInst[] variables are populated // correctly for the current view. Return SQLITE_OK if successful, or an // SQLite error code otherwise. -func fts5CacheInstArray(tls *libc.TLS, pCsr uintptr) int32 { /* sqlite3.c:233494:12: */ +func fts5CacheInstArray(tls *libc.TLS, pCsr uintptr) int32 { /* sqlite3.c:233551:12: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -190019,7 +190050,7 @@ func fts5CacheInstArray(tls *libc.TLS, pCsr uintptr) int32 { /* sqlite3.c:233494 return *(*int32)(unsafe.Pointer(bp /* rc */)) } -func fts5ApiInstCount(tls *libc.TLS, pCtx uintptr, pnInst uintptr) int32 { /* sqlite3.c:233568:12: */ +func fts5ApiInstCount(tls *libc.TLS, pCtx uintptr, pnInst uintptr) int32 { /* sqlite3.c:233625:12: */ var pCsr uintptr = pCtx var rc int32 = SQLITE_OK if (*Fts5Cursor)(unsafe.Pointer(pCsr)).Fcsrflags&FTS5CSR_REQUIRE_INST == 0 || @@ -190029,7 +190060,7 @@ func fts5ApiInstCount(tls *libc.TLS, pCtx uintptr, pnInst uintptr) int32 { /* sq return rc } -func fts5ApiInst(tls *libc.TLS, pCtx uintptr, iIdx int32, piPhrase uintptr, piCol uintptr, piOff uintptr) int32 { /* sqlite3.c:233578:12: */ +func fts5ApiInst(tls *libc.TLS, pCtx uintptr, iIdx int32, piPhrase uintptr, piCol uintptr, piOff uintptr) int32 { /* sqlite3.c:233635:12: */ var pCsr uintptr = pCtx var rc int32 = SQLITE_OK if (*Fts5Cursor)(unsafe.Pointer(pCsr)).Fcsrflags&FTS5CSR_REQUIRE_INST == 0 || @@ -190045,11 +190076,11 @@ func fts5ApiInst(tls *libc.TLS, pCtx uintptr, iIdx int32, piPhrase uintptr, piCo return rc } -func fts5ApiRowid(tls *libc.TLS, pCtx uintptr) Sqlite3_int64 { /* sqlite3.c:233607:22: */ +func fts5ApiRowid(tls *libc.TLS, pCtx uintptr) Sqlite3_int64 { /* sqlite3.c:233664:22: */ return fts5CursorRowid(tls, pCtx) } -func fts5ColumnSizeCb(tls *libc.TLS, pContext uintptr, tflags int32, pUnused uintptr, nUnused int32, iUnused1 int32, iUnused2 int32) int32 { /* sqlite3.c:233611:12: */ +func fts5ColumnSizeCb(tls *libc.TLS, pContext uintptr, tflags int32, pUnused uintptr, nUnused int32, iUnused1 int32, iUnused2 int32) int32 { /* sqlite3.c:233668:12: */ var pCnt uintptr = pContext _ = pUnused _ = nUnused @@ -190061,7 +190092,7 @@ func fts5ColumnSizeCb(tls *libc.TLS, pContext uintptr, tflags int32, pUnused uin return SQLITE_OK } -func fts5ApiColumnSize(tls *libc.TLS, pCtx uintptr, iCol int32, pnToken uintptr) int32 { /* sqlite3.c:233628:12: */ +func fts5ApiColumnSize(tls *libc.TLS, pCtx uintptr, iCol int32, pnToken uintptr) int32 { /* sqlite3.c:233685:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -190119,7 +190150,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) int32 { /* sqlite3.c:233681:12: */ +func fts5ApiSetAuxdata(tls *libc.TLS, pCtx uintptr, pPtr uintptr, xDelete uintptr) int32 { /* sqlite3.c:233738:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -190157,7 +190188,7 @@ func fts5ApiSetAuxdata(tls *libc.TLS, pCtx uintptr, pPtr uintptr, xDelete uintpt return SQLITE_OK } -func fts5ApiGetAuxdata(tls *libc.TLS, pCtx uintptr, bClear int32) uintptr { /* sqlite3.c:233716:13: */ +func fts5ApiGetAuxdata(tls *libc.TLS, pCtx uintptr, bClear int32) uintptr { /* sqlite3.c:233773:13: */ var pCsr uintptr = pCtx var pData uintptr var pRet uintptr = uintptr(0) @@ -190179,7 +190210,7 @@ func fts5ApiGetAuxdata(tls *libc.TLS, pCtx uintptr, bClear int32) uintptr { /* s return pRet } -func fts5ApiPhraseNext(tls *libc.TLS, pUnused uintptr, pIter uintptr, piCol uintptr, piOff uintptr) { /* sqlite3.c:233736:13: */ +func fts5ApiPhraseNext(tls *libc.TLS, pUnused uintptr, pIter uintptr, piCol uintptr, piOff uintptr) { /* sqlite3.c:233793:13: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -190201,7 +190232,7 @@ func fts5ApiPhraseNext(tls *libc.TLS, pUnused uintptr, pIter uintptr, piCol uint } } -func fts5ApiPhraseFirst(tls *libc.TLS, pCtx uintptr, iPhrase int32, pIter uintptr, piCol uintptr, piOff uintptr) int32 { /* sqlite3.c:233758:12: */ +func fts5ApiPhraseFirst(tls *libc.TLS, pCtx uintptr, iPhrase int32, pIter uintptr, piCol uintptr, piOff uintptr) int32 { /* sqlite3.c:233815:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -190224,7 +190255,7 @@ func fts5ApiPhraseFirst(tls *libc.TLS, pCtx uintptr, iPhrase int32, pIter uintpt return rc } -func fts5ApiPhraseNextColumn(tls *libc.TLS, pCtx uintptr, pIter uintptr, piCol uintptr) { /* sqlite3.c:233777:13: */ +func fts5ApiPhraseNextColumn(tls *libc.TLS, pCtx uintptr, pIter uintptr, piCol uintptr) { /* sqlite3.c:233834:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -190257,7 +190288,7 @@ func fts5ApiPhraseNextColumn(tls *libc.TLS, pCtx uintptr, pIter uintptr, piCol u } } -func fts5ApiPhraseFirstColumn(tls *libc.TLS, pCtx uintptr, iPhrase int32, pIter uintptr, piCol uintptr) int32 { /* sqlite3.c:233807:12: */ +func fts5ApiPhraseFirstColumn(tls *libc.TLS, pCtx uintptr, iPhrase int32, pIter uintptr, piCol uintptr) int32 { /* sqlite3.c:233864:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -190338,10 +190369,10 @@ var sFts5Api = Fts5ExtensionApi{ FxPhraseNext: 0, FxPhraseFirstColumn: 0, FxPhraseNextColumn: 0, -} /* sqlite3.c:233857:31 */ +} /* sqlite3.c:233914:31 */ // Implementation of API function xQueryPhrase(). -func fts5ApiQueryPhrase(tls *libc.TLS, pCtx uintptr, iPhrase int32, pUserData uintptr, xCallback uintptr) int32 { /* sqlite3.c:233883:12: */ +func fts5ApiQueryPhrase(tls *libc.TLS, pCtx uintptr, iPhrase int32, pUserData uintptr, xCallback uintptr) int32 { /* sqlite3.c:233940:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -190377,7 +190408,7 @@ func fts5ApiQueryPhrase(tls *libc.TLS, pCtx uintptr, iPhrase int32, pUserData ui return rc } -func fts5ApiInvoke(tls *libc.TLS, pAux uintptr, pCsr uintptr, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:233920:13: */ +func fts5ApiInvoke(tls *libc.TLS, pAux uintptr, pCsr uintptr, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:233977:13: */ (*Fts5Cursor)(unsafe.Pointer(pCsr)).FpAux = pAux (*struct { @@ -190386,7 +190417,7 @@ func fts5ApiInvoke(tls *libc.TLS, pAux uintptr, pCsr uintptr, context uintptr, a (*Fts5Cursor)(unsafe.Pointer(pCsr)).FpAux = uintptr(0) } -func fts5CursorFromCsrid(tls *libc.TLS, pGlobal uintptr, iCsrId I64) uintptr { /* sqlite3.c:233933:19: */ +func fts5CursorFromCsrid(tls *libc.TLS, pGlobal uintptr, iCsrId I64) uintptr { /* sqlite3.c:233990:19: */ var pCsr uintptr for pCsr = (*Fts5Global)(unsafe.Pointer(pGlobal)).FpCsr; pCsr != 0; pCsr = (*Fts5Cursor)(unsafe.Pointer(pCsr)).FpNext { if (*Fts5Cursor)(unsafe.Pointer(pCsr)).FiCsrId == iCsrId { @@ -190396,7 +190427,7 @@ func fts5CursorFromCsrid(tls *libc.TLS, pGlobal uintptr, iCsrId I64) uintptr { / return pCsr } -func fts5ApiCallback(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:233941:13: */ +func fts5ApiCallback(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:233998:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -190419,7 +190450,7 @@ func fts5ApiCallback(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { // Given cursor id iId, return a pointer to the corresponding Fts5Table // object. Or NULL If the cursor id does not exist. -func sqlite3Fts5TableFromCsrid(tls *libc.TLS, pGlobal uintptr, iCsrId I64) uintptr { /* sqlite3.c:233970:18: */ +func sqlite3Fts5TableFromCsrid(tls *libc.TLS, pGlobal uintptr, iCsrId I64) uintptr { /* sqlite3.c:234027:18: */ var pCsr uintptr pCsr = fts5CursorFromCsrid(tls, pGlobal, iCsrId) if pCsr != 0 { @@ -190441,7 +190472,7 @@ func sqlite3Fts5TableFromCsrid(tls *libc.TLS, pGlobal uintptr, iCsrId I64) uintp // for phrase 0. The second (same disclaimer) contains the size of position // list 1. And so on. There is no size field for the final position list, // as it can be derived from the total size of the blob. -func fts5PoslistBlob(tls *libc.TLS, pCtx uintptr, pCsr uintptr) int32 { /* sqlite3.c:233997:12: */ +func fts5PoslistBlob(tls *libc.TLS, pCtx uintptr, pCsr uintptr) int32 { /* sqlite3.c:234054:12: */ bp := tls.Alloc(40) defer tls.Free(40) @@ -190505,7 +190536,7 @@ func fts5PoslistBlob(tls *libc.TLS, pCtx uintptr, pCsr uintptr) int32 { /* sqlit // This is the xColumn method, called by SQLite to request a value from // the row that the supplied cursor currently points to. -func fts5ColumnMethod(tls *libc.TLS, pCursor uintptr, pCtx uintptr, iCol int32) int32 { /* sqlite3.c:234054:12: */ +func fts5ColumnMethod(tls *libc.TLS, pCursor uintptr, pCtx uintptr, iCol int32) int32 { /* sqlite3.c:234111:12: */ var pTab uintptr = (*Sqlite3_vtab_cursor)(unsafe.Pointer(pCursor)).FpVtab var pConfig uintptr = (*Fts5FullTable)(unsafe.Pointer(pTab)).Fp.FpConfig var pCsr uintptr = pCursor @@ -190545,7 +190576,7 @@ 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) int32 { /* sqlite3.c:234107:12: */ +func fts5FindFunctionMethod(tls *libc.TLS, pVtab uintptr, nUnused int32, zName uintptr, pxFunc uintptr, ppArg uintptr) int32 { /* sqlite3.c:234164:12: */ var pTab uintptr = pVtab var pAux uintptr @@ -190564,12 +190595,12 @@ func fts5FindFunctionMethod(tls *libc.TLS, pVtab uintptr, nUnused int32, zName u } // Implementation of FTS5 xRename method. Rename an fts5 table. -func fts5RenameMethod(tls *libc.TLS, pVtab uintptr, zName uintptr) int32 { /* sqlite3.c:234132:12: */ +func fts5RenameMethod(tls *libc.TLS, pVtab uintptr, zName uintptr) int32 { /* sqlite3.c:234189:12: */ var pTab uintptr = pVtab return sqlite3Fts5StorageRename(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).FpStorage, zName) } -func sqlite3Fts5FlushToDisk(tls *libc.TLS, pTab uintptr) int32 { /* sqlite3.c:234140:12: */ +func sqlite3Fts5FlushToDisk(tls *libc.TLS, pTab uintptr) int32 { /* sqlite3.c:234197:12: */ fts5TripCursors(tls, pTab) return sqlite3Fts5StorageSync(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).FpStorage) } @@ -190577,7 +190608,7 @@ func sqlite3Fts5FlushToDisk(tls *libc.TLS, pTab uintptr) int32 { /* sqlite3.c:23 // The xSavepoint() method. // // Flush the contents of the pending-terms table to disk. -func fts5SavepointMethod(tls *libc.TLS, pVtab uintptr, iSavepoint int32) int32 { /* sqlite3.c:234150:12: */ +func fts5SavepointMethod(tls *libc.TLS, pVtab uintptr, iSavepoint int32) int32 { /* sqlite3.c:234207:12: */ _ = iSavepoint // Call below is a no-op for NDEBUG builds return sqlite3Fts5FlushToDisk(tls, pVtab) @@ -190586,7 +190617,7 @@ func fts5SavepointMethod(tls *libc.TLS, pVtab uintptr, iSavepoint int32) int32 { // The xRelease() method. // // This is a no-op. -func fts5ReleaseMethod(tls *libc.TLS, pVtab uintptr, iSavepoint int32) int32 { /* sqlite3.c:234161:12: */ +func fts5ReleaseMethod(tls *libc.TLS, pVtab uintptr, iSavepoint int32) int32 { /* sqlite3.c:234218:12: */ _ = iSavepoint // Call below is a no-op for NDEBUG builds return sqlite3Fts5FlushToDisk(tls, pVtab) @@ -190595,7 +190626,7 @@ func fts5ReleaseMethod(tls *libc.TLS, pVtab uintptr, iSavepoint int32) int32 { / // The xRollbackTo() method. // // Discard the contents of the pending terms table. -func fts5RollbackToMethod(tls *libc.TLS, pVtab uintptr, iSavepoint int32) int32 { /* sqlite3.c:234172:12: */ +func fts5RollbackToMethod(tls *libc.TLS, pVtab uintptr, iSavepoint int32) int32 { /* sqlite3.c:234229:12: */ var pTab uintptr = pVtab _ = iSavepoint // Call below is a no-op for NDEBUG builds @@ -190604,7 +190635,7 @@ func fts5RollbackToMethod(tls *libc.TLS, pVtab uintptr, iSavepoint int32) int32 } // Register a new auxiliary function with global context pGlobal. -func fts5CreateAux(tls *libc.TLS, pApi uintptr, zName uintptr, pUserData uintptr, xFunc Fts5_extension_function, xDestroy uintptr) int32 { /* sqlite3.c:234183:12: */ +func fts5CreateAux(tls *libc.TLS, pApi uintptr, zName uintptr, pUserData uintptr, xFunc Fts5_extension_function, xDestroy uintptr) int32 { /* sqlite3.c:234240:12: */ var pGlobal uintptr = pApi var rc int32 = Xsqlite3_overload_function(tls, (*Fts5Global)(unsafe.Pointer(pGlobal)).Fdb, zName, -1) if rc == SQLITE_OK { @@ -190635,7 +190666,7 @@ func fts5CreateAux(tls *libc.TLS, pApi uintptr, zName uintptr, pUserData uintptr // Register a new tokenizer. This is the implementation of the // fts5_api.xCreateTokenizer() method. -func fts5CreateTokenizer(tls *libc.TLS, pApi uintptr, zName uintptr, pUserData uintptr, pTokenizer uintptr, xDestroy uintptr) int32 { /* sqlite3.c:234222:12: */ +func fts5CreateTokenizer(tls *libc.TLS, pApi uintptr, zName uintptr, pUserData uintptr, pTokenizer uintptr, xDestroy uintptr) int32 { /* sqlite3.c:234279:12: */ var pGlobal uintptr = pApi var pNew uintptr var nName Sqlite3_int64 // Size of zName and its \0 terminator @@ -190664,7 +190695,7 @@ func fts5CreateTokenizer(tls *libc.TLS, pApi uintptr, zName uintptr, pUserData u return rc } -func fts5LocateTokenizer(tls *libc.TLS, pGlobal uintptr, zName uintptr) uintptr { /* sqlite3.c:234257:28: */ +func fts5LocateTokenizer(tls *libc.TLS, pGlobal uintptr, zName uintptr) uintptr { /* sqlite3.c:234314:28: */ var pMod uintptr = uintptr(0) if zName == uintptr(0) { @@ -190682,7 +190713,7 @@ func fts5LocateTokenizer(tls *libc.TLS, pGlobal uintptr, zName uintptr) uintptr // Find a tokenizer. This is the implementation of the // fts5_api.xFindTokenizer() method. -func fts5FindTokenizer(tls *libc.TLS, pApi uintptr, zName uintptr, ppUserData uintptr, pTokenizer uintptr) int32 { /* sqlite3.c:234278:12: */ +func fts5FindTokenizer(tls *libc.TLS, pApi uintptr, zName uintptr, ppUserData uintptr, pTokenizer uintptr) int32 { /* sqlite3.c:234335:12: */ var rc int32 = SQLITE_OK var pMod uintptr @@ -190698,7 +190729,7 @@ func fts5FindTokenizer(tls *libc.TLS, pApi uintptr, zName uintptr, ppUserData ui return rc } -func sqlite3Fts5GetTokenizer(tls *libc.TLS, pGlobal uintptr, azArg uintptr, nArg int32, pConfig uintptr, pzErr uintptr) int32 { /* sqlite3.c:234299:12: */ +func sqlite3Fts5GetTokenizer(tls *libc.TLS, pGlobal uintptr, azArg uintptr, nArg int32, pConfig uintptr, pzErr uintptr) int32 { /* sqlite3.c:234356:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -190749,7 +190780,7 @@ func sqlite3Fts5GetTokenizer(tls *libc.TLS, pGlobal uintptr, azArg uintptr, nArg return rc } -func fts5ModuleDestroy(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:234336:13: */ +func fts5ModuleDestroy(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:234393:13: */ var pTok uintptr var pNextTok uintptr var pAux uintptr @@ -190775,7 +190806,7 @@ func fts5ModuleDestroy(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:234336:13: */ Xsqlite3_free(tls, pGlobal) } -func fts5Fts5Func(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:234356:13: */ +func fts5Fts5Func(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:234413:13: */ var pGlobal uintptr = Xsqlite3_user_data(tls, pCtx) var ppApi uintptr _ = nArg @@ -190787,7 +190818,7 @@ func fts5Fts5Func(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* s } // Implementation of fts5_source_id() function. -func fts5SourceIdFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apUnused uintptr) { /* sqlite3.c:234372:13: */ +func fts5SourceIdFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apUnused uintptr) { /* sqlite3.c:234429:13: */ _ = nArg _ = apUnused @@ -190796,7 +190827,7 @@ func fts5SourceIdFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apUnused uintptr) // Return true if zName is the extension on one of the shadow tables used // by this module. -func fts5ShadowName(tls *libc.TLS, zName uintptr) int32 { /* sqlite3.c:234386:12: */ +func fts5ShadowName(tls *libc.TLS, zName uintptr) int32 { /* sqlite3.c:234443:12: */ var i uint32 for i = uint32(0); i < uint32(unsafe.Sizeof(azName2))/uint32(unsafe.Sizeof(uintptr(0))); i++ { if Xsqlite3_stricmp(tls, zName, azName2[i]) == 0 { @@ -190808,9 +190839,9 @@ func fts5ShadowName(tls *libc.TLS, zName uintptr) int32 { /* sqlite3.c:234386:12 var azName2 = [5]uintptr{ ts + 35779, ts + 33878, ts + 24878, ts + 34229, ts + 11373, -} /* sqlite3.c:234387:21 */ +} /* sqlite3.c:234444:21 */ -func fts5Init(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:234397:12: */ +func fts5Init(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:234454:12: */ var rc int32 var pGlobal uintptr = uintptr(0) @@ -190893,7 +190924,7 @@ var fts5Mod = Sqlite3_module{ /* xRelease */ FxRelease: 0, /* xRollbackTo */ FxRollbackTo: 0, /* xShadowName */ FxShadowName: 0, -} /* sqlite3.c:234398:31 */ +} /* sqlite3.c:234455:31 */ // The following functions are used to register the module with SQLite. If // this module is being built as part of the SQLite core (SQLITE_CORE is @@ -190902,7 +190933,7 @@ var fts5Mod = Sqlite3_module{ // Or, if this module is being built as a loadable extension, // sqlite3Fts5Init() is omitted and the two standard entry points // sqlite3_fts_init() and sqlite3_fts5_init() defined instead. -func Xsqlite3Fts5Init(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:234506:20: */ +func Xsqlite3Fts5Init(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:234563:20: */ return fts5Init(tls, db) } @@ -190910,7 +190941,7 @@ func Xsqlite3Fts5Init(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:234506:20: // Fts5Storage.pInsertDocsize - if they have not already been prepared. // Return SQLITE_OK if successful, or an SQLite error code if an error // occurs. -func fts5StorageGetStmt(tls *libc.TLS, p uintptr, eStmt int32, ppStmt uintptr, pzErrMsg uintptr) int32 { /* sqlite3.c:234564:12: */ +func fts5StorageGetStmt(tls *libc.TLS, p uintptr, eStmt int32, ppStmt uintptr, pzErrMsg uintptr) int32 { /* sqlite3.c:234621:12: */ bp := tls.Alloc(172) defer tls.Free(172) @@ -191011,7 +191042,7 @@ func fts5StorageGetStmt(tls *libc.TLS, p uintptr, eStmt int32, ppStmt uintptr, p return rc } -func fts5ExecPrintf(tls *libc.TLS, db uintptr, pzErr uintptr, zFormat uintptr, va uintptr) int32 { /* sqlite3.c:234667:12: */ +func fts5ExecPrintf(tls *libc.TLS, db uintptr, pzErr uintptr, zFormat uintptr, va uintptr) int32 { /* sqlite3.c:234724:12: */ var rc int32 var ap Va_list _ = ap // ... printf arguments @@ -191033,7 +191064,7 @@ func fts5ExecPrintf(tls *libc.TLS, db uintptr, pzErr uintptr, zFormat uintptr, v // Drop all shadow tables. Return SQLITE_OK if successful or an SQLite error // code otherwise. -func sqlite3Fts5DropAll(tls *libc.TLS, pConfig uintptr) int32 { /* sqlite3.c:234695:12: */ +func sqlite3Fts5DropAll(tls *libc.TLS, pConfig uintptr) int32 { /* sqlite3.c:234752:12: */ bp := tls.Alloc(80) defer tls.Free(80) @@ -191056,7 +191087,7 @@ func sqlite3Fts5DropAll(tls *libc.TLS, pConfig uintptr) int32 { /* sqlite3.c:234 return rc } -func fts5StorageRenameOne(tls *libc.TLS, pConfig uintptr, pRc uintptr, zTail uintptr, zName uintptr) { /* sqlite3.c:234719:13: */ +func fts5StorageRenameOne(tls *libc.TLS, pConfig uintptr, pRc uintptr, zTail uintptr, zName uintptr) { /* sqlite3.c:234776:13: */ bp := tls.Alloc(40) defer tls.Free(40) @@ -191067,7 +191098,7 @@ func fts5StorageRenameOne(tls *libc.TLS, pConfig uintptr, pRc uintptr, zTail uin } } -func sqlite3Fts5StorageRename(tls *libc.TLS, pStorage uintptr, zName uintptr) int32 { /* sqlite3.c:234733:12: */ +func sqlite3Fts5StorageRename(tls *libc.TLS, pStorage uintptr, zName uintptr) int32 { /* sqlite3.c:234790:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -191088,7 +191119,7 @@ func sqlite3Fts5StorageRename(tls *libc.TLS, pStorage uintptr, zName uintptr) in // Create the shadow table named zPost, with definition zDefn. Return // SQLITE_OK if successful, or an SQLite error code otherwise. -func sqlite3Fts5CreateTable(tls *libc.TLS, pConfig uintptr, zPost uintptr, zDefn uintptr, bWithout int32, pzErr uintptr) int32 { /* sqlite3.c:234753:12: */ +func sqlite3Fts5CreateTable(tls *libc.TLS, pConfig uintptr, zPost uintptr, zDefn uintptr, bWithout int32, pzErr uintptr) int32 { /* sqlite3.c:234810:12: */ bp := tls.Alloc(68) defer tls.Free(68) @@ -191118,7 +191149,7 @@ func sqlite3Fts5CreateTable(tls *libc.TLS, pConfig uintptr, zPost uintptr, zDefn // // If successful, set *pp to point to the new object and return SQLITE_OK. // Otherwise, set *pp to NULL and return an SQLite error code. -func sqlite3Fts5StorageOpen(tls *libc.TLS, pConfig uintptr, pIndex uintptr, bCreate int32, pp uintptr, pzErr uintptr) int32 { /* sqlite3.c:234788:12: */ +func sqlite3Fts5StorageOpen(tls *libc.TLS, pConfig uintptr, pIndex uintptr, bCreate int32, pp uintptr, pzErr uintptr) int32 { /* sqlite3.c:234845:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -191179,7 +191210,7 @@ func sqlite3Fts5StorageOpen(tls *libc.TLS, pConfig uintptr, pIndex uintptr, bCre } // Close a handle opened by an earlier call to sqlite3Fts5StorageOpen(). -func sqlite3Fts5StorageClose(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:234854:12: */ +func sqlite3Fts5StorageClose(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:234911:12: */ var rc int32 = SQLITE_OK if p != 0 { var i int32 @@ -191198,12 +191229,12 @@ type Fts5InsertCtx1 = struct { FpStorage uintptr FiCol int32 FszCol int32 -} /* sqlite3.c:234869:9 */ +} /* sqlite3.c:234926:9 */ -type Fts5InsertCtx = Fts5InsertCtx1 /* sqlite3.c:234869:30 */ +type Fts5InsertCtx = Fts5InsertCtx1 /* sqlite3.c:234926:30 */ // Tokenization callback used when inserting tokens into the FTS index. -func fts5StorageInsertCallback(tls *libc.TLS, pContext uintptr, tflags int32, pToken uintptr, nToken int32, iUnused1 int32, iUnused2 int32) int32 { /* sqlite3.c:234879:12: */ +func fts5StorageInsertCallback(tls *libc.TLS, pContext uintptr, tflags int32, pToken uintptr, nToken int32, iUnused1 int32, iUnused2 int32) int32 { /* sqlite3.c:234936:12: */ var pCtx uintptr = pContext var pIdx uintptr = (*Fts5Storage)(unsafe.Pointer((*Fts5InsertCtx)(unsafe.Pointer(pCtx)).FpStorage)).FpIndex _ = iUnused1 @@ -191220,7 +191251,7 @@ func fts5StorageInsertCallback(tls *libc.TLS, pContext uintptr, tflags int32, pT // If a row with rowid iDel is present in the %_content table, add the // delete-markers to the FTS index necessary to delete it. Do not actually // remove the %_content row at this time though. -func fts5StorageDeleteFromIndex(tls *libc.TLS, p uintptr, iDel I64, apVal uintptr) int32 { /* sqlite3.c:234902:12: */ +func fts5StorageDeleteFromIndex(tls *libc.TLS, p uintptr, iDel I64, apVal uintptr) int32 { /* sqlite3.c:234959:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -191289,7 +191320,7 @@ func fts5StorageDeleteFromIndex(tls *libc.TLS, p uintptr, iDel I64, apVal uintpt // // If there is no %_docsize table (as happens if the columnsize=0 option // is specified when the FTS5 table is created), this function is a no-op. -func fts5StorageInsertDocsize(tls *libc.TLS, p uintptr, iRowid I64, pBuf uintptr) int32 { /* sqlite3.c:234971:12: */ +func fts5StorageInsertDocsize(tls *libc.TLS, p uintptr, iRowid I64, pBuf uintptr) int32 { /* sqlite3.c:235028:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -191316,7 +191347,7 @@ func fts5StorageInsertDocsize(tls *libc.TLS, p uintptr, iRowid I64, pBuf uintptr // // Return SQLITE_OK if successful, or an SQLite error code if an error // occurs. -func fts5StorageLoadTotals(tls *libc.TLS, p uintptr, bCache int32) int32 { /* sqlite3.c:235001:12: */ +func fts5StorageLoadTotals(tls *libc.TLS, p uintptr, bCache int32) int32 { /* sqlite3.c:235058:12: */ var rc int32 = SQLITE_OK if (*Fts5Storage)(unsafe.Pointer(p)).FbTotalsValid == 0 { rc = sqlite3Fts5IndexGetAverages(tls, (*Fts5Storage)(unsafe.Pointer(p)).FpIndex, p+16, (*Fts5Storage)(unsafe.Pointer(p)).FaTotalSize) @@ -191330,7 +191361,7 @@ func fts5StorageLoadTotals(tls *libc.TLS, p uintptr, bCache int32) int32 { /* sq // // Return SQLITE_OK if successful, or an SQLite error code if an error // occurs. -func fts5StorageSaveTotals(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:235017:12: */ +func fts5StorageSaveTotals(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:235074:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -191354,7 +191385,7 @@ func fts5StorageSaveTotals(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:235017 } // Remove a row from the FTS table. -func sqlite3Fts5StorageDelete(tls *libc.TLS, p uintptr, iDel I64, apVal uintptr) int32 { /* sqlite3.c:235039:12: */ +func sqlite3Fts5StorageDelete(tls *libc.TLS, p uintptr, iDel I64, apVal uintptr) int32 { /* sqlite3.c:235096:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -191395,7 +191426,7 @@ func sqlite3Fts5StorageDelete(tls *libc.TLS, p uintptr, iDel I64, apVal uintptr) } // Delete all entries in the FTS5 index. -func sqlite3Fts5StorageDeleteAll(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:235080:12: */ +func sqlite3Fts5StorageDeleteAll(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:235137:12: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -191427,7 +191458,7 @@ func sqlite3Fts5StorageDeleteAll(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c: return rc } -func sqlite3Fts5StorageRebuild(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:235111:12: */ +func sqlite3Fts5StorageRebuild(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:235168:12: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -191491,15 +191522,15 @@ func sqlite3Fts5StorageRebuild(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:23 return *(*int32)(unsafe.Pointer(bp + 28 /* rc */)) } -func sqlite3Fts5StorageOptimize(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:235166:12: */ +func sqlite3Fts5StorageOptimize(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:235223:12: */ return sqlite3Fts5IndexOptimize(tls, (*Fts5Storage)(unsafe.Pointer(p)).FpIndex) } -func sqlite3Fts5StorageMerge(tls *libc.TLS, p uintptr, nMerge int32) int32 { /* sqlite3.c:235170:12: */ +func sqlite3Fts5StorageMerge(tls *libc.TLS, p uintptr, nMerge int32) int32 { /* sqlite3.c:235227:12: */ return sqlite3Fts5IndexMerge(tls, (*Fts5Storage)(unsafe.Pointer(p)).FpIndex, nMerge) } -func sqlite3Fts5StorageReset(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:235174:12: */ +func sqlite3Fts5StorageReset(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:235231:12: */ return sqlite3Fts5IndexReset(tls, (*Fts5Storage)(unsafe.Pointer(p)).FpIndex) } @@ -191510,7 +191541,7 @@ func sqlite3Fts5StorageReset(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:2351 // // If the %_docsize table does not exist, SQLITE_MISMATCH is returned. In // this case the user is required to provide a rowid explicitly. -func fts5StorageNewRowid(tls *libc.TLS, p uintptr, piRowid uintptr) int32 { /* sqlite3.c:235187:12: */ +func fts5StorageNewRowid(tls *libc.TLS, p uintptr, piRowid uintptr) int32 { /* sqlite3.c:235244:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -191532,7 +191563,7 @@ func fts5StorageNewRowid(tls *libc.TLS, p uintptr, piRowid uintptr) int32 { /* s } // Insert a new row into the FTS content table. -func sqlite3Fts5StorageContentInsert(tls *libc.TLS, p uintptr, apVal uintptr, piRowid uintptr) int32 { /* sqlite3.c:235208:12: */ +func sqlite3Fts5StorageContentInsert(tls *libc.TLS, p uintptr, apVal uintptr, piRowid uintptr) int32 { /* sqlite3.c:235265:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -191564,7 +191595,7 @@ func sqlite3Fts5StorageContentInsert(tls *libc.TLS, p uintptr, apVal uintptr, pi } // Insert new entries into the FTS index and %_docsize table. -func sqlite3Fts5StorageIndexInsert(tls *libc.TLS, p uintptr, apVal uintptr, iRowid I64) int32 { /* sqlite3.c:235243:12: */ +func sqlite3Fts5StorageIndexInsert(tls *libc.TLS, p uintptr, apVal uintptr, iRowid I64) int32 { /* sqlite3.c:235300:12: */ bp := tls.Alloc(28) defer tls.Free(28) @@ -191609,7 +191640,7 @@ func sqlite3Fts5StorageIndexInsert(tls *libc.TLS, p uintptr, apVal uintptr, iRow return *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) } -func fts5StorageCount(tls *libc.TLS, p uintptr, zSuffix uintptr, pnRow uintptr) int32 { /* sqlite3.c:235286:12: */ +func fts5StorageCount(tls *libc.TLS, p uintptr, zSuffix uintptr, pnRow uintptr) int32 { /* sqlite3.c:235343:12: */ bp := tls.Alloc(28) defer tls.Free(28) @@ -191644,13 +191675,13 @@ type Fts5IntegrityCtx1 = struct { Fcksum U64 FpTermset uintptr FpConfig uintptr -} /* sqlite3.c:235314:9 */ +} /* sqlite3.c:235371:9 */ // Context object used by sqlite3Fts5StorageIntegrity(). -type Fts5IntegrityCtx = Fts5IntegrityCtx1 /* sqlite3.c:235314:33 */ +type Fts5IntegrityCtx = Fts5IntegrityCtx1 /* sqlite3.c:235371:33 */ // Tokenization callback used by integrity check. -func fts5StorageIntegrityCallback(tls *libc.TLS, pContext uintptr, tflags int32, pToken uintptr, nToken int32, iUnused1 int32, iUnused2 int32) int32 { /* sqlite3.c:235328:12: */ +func fts5StorageIntegrityCallback(tls *libc.TLS, pContext uintptr, tflags int32, pToken uintptr, nToken int32, iUnused1 int32, iUnused2 int32) int32 { /* sqlite3.c:235385:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -191716,7 +191747,7 @@ func fts5StorageIntegrityCallback(tls *libc.TLS, pContext uintptr, tflags int32, // table. Return SQLITE_OK if they do, or SQLITE_CORRUPT if not. Return // some other SQLite error code if an error occurs while attempting to // determine this. -func sqlite3Fts5StorageIntegrity(tls *libc.TLS, p uintptr, iArg int32) int32 { /* sqlite3.c:235398:12: */ +func sqlite3Fts5StorageIntegrity(tls *libc.TLS, p uintptr, iArg int32) int32 { /* sqlite3.c:235455:12: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -191841,7 +191872,7 @@ func sqlite3Fts5StorageIntegrity(tls *libc.TLS, p uintptr, iArg int32) int32 { / // Obtain an SQLite statement handle that may be used to read data from the // %_content table. -func sqlite3Fts5StorageStmt(tls *libc.TLS, p uintptr, eStmt int32, pp uintptr, pzErrMsg uintptr) int32 { /* sqlite3.c:235506:12: */ +func sqlite3Fts5StorageStmt(tls *libc.TLS, p uintptr, eStmt int32, pp uintptr, pzErrMsg uintptr) int32 { /* sqlite3.c:235563:12: */ var rc int32 rc = fts5StorageGetStmt(tls, p, eStmt, pp, pzErrMsg) @@ -191855,7 +191886,7 @@ func sqlite3Fts5StorageStmt(tls *libc.TLS, p uintptr, eStmt int32, pp uintptr, p // Release an SQLite statement handle obtained via an earlier call to // sqlite3Fts5StorageStmt(). The eStmt parameter passed to this function // must match that passed to the sqlite3Fts5StorageStmt() call. -func sqlite3Fts5StorageStmtRelease(tls *libc.TLS, p uintptr, eStmt int32, pStmt uintptr) { /* sqlite3.c:235530:13: */ +func sqlite3Fts5StorageStmtRelease(tls *libc.TLS, p uintptr, eStmt int32, pStmt uintptr) { /* sqlite3.c:235587:13: */ if *(*uintptr)(unsafe.Pointer(p + 28 + uintptr(eStmt)*4)) == uintptr(0) { Xsqlite3_reset(tls, pStmt) @@ -191865,7 +191896,7 @@ func sqlite3Fts5StorageStmtRelease(tls *libc.TLS, p uintptr, eStmt int32, pStmt } } -func fts5StorageDecodeSizeArray(tls *libc.TLS, aCol uintptr, nCol int32, aBlob uintptr, nBlob int32) int32 { /* sqlite3.c:235547:12: */ +func fts5StorageDecodeSizeArray(tls *libc.TLS, aCol uintptr, nCol int32, aBlob uintptr, nBlob int32) int32 { /* sqlite3.c:235604:12: */ var i int32 var iOff int32 = 0 for i = 0; i < nCol; i++ { @@ -191883,7 +191914,7 @@ func fts5StorageDecodeSizeArray(tls *libc.TLS, aCol uintptr, nCol int32, aBlob u // // An SQLite error code is returned if an error occurs, or SQLITE_OK // otherwise. -func sqlite3Fts5StorageDocsize(tls *libc.TLS, p uintptr, iRowid I64, aCol uintptr) int32 { /* sqlite3.c:235568:12: */ +func sqlite3Fts5StorageDocsize(tls *libc.TLS, p uintptr, iRowid I64, aCol uintptr) int32 { /* sqlite3.c:235625:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -191914,7 +191945,7 @@ func sqlite3Fts5StorageDocsize(tls *libc.TLS, p uintptr, iRowid I64, aCol uintpt return rc } -func sqlite3Fts5StorageSize(tls *libc.TLS, p uintptr, iCol int32, pnToken uintptr) int32 { /* sqlite3.c:235597:12: */ +func sqlite3Fts5StorageSize(tls *libc.TLS, p uintptr, iCol int32, pnToken uintptr) int32 { /* sqlite3.c:235654:12: */ var rc int32 = fts5StorageLoadTotals(tls, p, 0) if rc == SQLITE_OK { *(*I64)(unsafe.Pointer(pnToken)) = int64(0) @@ -191932,7 +191963,7 @@ func sqlite3Fts5StorageSize(tls *libc.TLS, p uintptr, iCol int32, pnToken uintpt return rc } -func sqlite3Fts5StorageRowCount(tls *libc.TLS, p uintptr, pnRow uintptr) int32 { /* sqlite3.c:235615:12: */ +func sqlite3Fts5StorageRowCount(tls *libc.TLS, p uintptr, pnRow uintptr) int32 { /* sqlite3.c:235672:12: */ var rc int32 = fts5StorageLoadTotals(tls, p, 0) if rc == SQLITE_OK { // nTotalRow being zero does not necessarily indicate a corrupt @@ -191949,7 +191980,7 @@ func sqlite3Fts5StorageRowCount(tls *libc.TLS, p uintptr, pnRow uintptr) int32 { } // Flush any data currently held in-memory to disk. -func sqlite3Fts5StorageSync(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:235632:12: */ +func sqlite3Fts5StorageSync(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:235689:12: */ var rc int32 = SQLITE_OK var iLastRowid I64 = Xsqlite3_last_insert_rowid(tls, (*Fts5Config)(unsafe.Pointer((*Fts5Storage)(unsafe.Pointer(p)).FpConfig)).Fdb) if (*Fts5Storage)(unsafe.Pointer(p)).FbTotalsValid != 0 { @@ -191963,12 +191994,12 @@ func sqlite3Fts5StorageSync(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:23563 return rc } -func sqlite3Fts5StorageRollback(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:235646:12: */ +func sqlite3Fts5StorageRollback(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:235703:12: */ (*Fts5Storage)(unsafe.Pointer(p)).FbTotalsValid = 0 return sqlite3Fts5IndexRollback(tls, (*Fts5Storage)(unsafe.Pointer(p)).FpIndex) } -func sqlite3Fts5StorageConfigValue(tls *libc.TLS, p uintptr, z uintptr, pVal uintptr, iVal int32) int32 { /* sqlite3.c:235651:12: */ +func sqlite3Fts5StorageConfigValue(tls *libc.TLS, p uintptr, z uintptr, pVal uintptr, iVal int32) int32 { /* sqlite3.c:235708:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -192023,13 +192054,13 @@ var aAsciiTokenChar = [128]uint8{ uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), // 0x50..0x5F uint8(0), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), // 0x60..0x6F uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), // 0x70..0x7F -} /* sqlite3.c:235704:22 */ +} /* sqlite3.c:235761:22 */ -type AsciiTokenizer1 = struct{ FaTokenChar [128]uint8 } /* sqlite3.c:235715:9 */ +type AsciiTokenizer1 = struct{ FaTokenChar [128]uint8 } /* sqlite3.c:235772:9 */ -type AsciiTokenizer = AsciiTokenizer1 /* sqlite3.c:235715:31 */ +type AsciiTokenizer = AsciiTokenizer1 /* sqlite3.c:235772:31 */ -func fts5AsciiAddExceptions(tls *libc.TLS, p uintptr, zArg uintptr, bTokenChars int32) { /* sqlite3.c:235720:13: */ +func fts5AsciiAddExceptions(tls *libc.TLS, p uintptr, zArg uintptr, bTokenChars int32) { /* sqlite3.c:235777:13: */ var i int32 for i = 0; *(*uint8)(unsafe.Pointer(zArg + uintptr(i))) != 0; i++ { if int32(*(*uint8)(unsafe.Pointer(zArg + uintptr(i))))&0x80 == 0 { @@ -192039,12 +192070,12 @@ func fts5AsciiAddExceptions(tls *libc.TLS, p uintptr, zArg uintptr, bTokenChars } // Delete a "ascii" tokenizer. -func fts5AsciiDelete(tls *libc.TLS, p uintptr) { /* sqlite3.c:235736:13: */ +func fts5AsciiDelete(tls *libc.TLS, p uintptr) { /* sqlite3.c:235793:13: */ Xsqlite3_free(tls, p) } // Create an "ascii" tokenizer. -func fts5AsciiCreate(tls *libc.TLS, pUnused uintptr, azArg uintptr, nArg int32, ppOut uintptr) int32 { /* sqlite3.c:235743:12: */ +func fts5AsciiCreate(tls *libc.TLS, pUnused uintptr, azArg uintptr, nArg int32, ppOut uintptr) int32 { /* sqlite3.c:235800:12: */ var rc int32 = SQLITE_OK var p uintptr = uintptr(0) _ = pUnused @@ -192079,7 +192110,7 @@ func fts5AsciiCreate(tls *libc.TLS, pUnused uintptr, azArg uintptr, nArg int32, return rc } -func asciiFold(tls *libc.TLS, aOut uintptr, aIn uintptr, nByte int32) { /* sqlite3.c:235784:13: */ +func asciiFold(tls *libc.TLS, aOut uintptr, aIn uintptr, nByte int32) { /* sqlite3.c:235841:13: */ var i int32 for i = 0; i < nByte; i++ { var c uint8 = *(*uint8)(unsafe.Pointer(aIn + uintptr(i))) @@ -192091,7 +192122,7 @@ func asciiFold(tls *libc.TLS, aOut uintptr, aIn uintptr, nByte int32) { /* sqlit } // Tokenize some text using the ascii tokenizer. -func fts5AsciiTokenize(tls *libc.TLS, pTokenizer uintptr, pCtx uintptr, iUnused int32, pText uintptr, nText int32, xToken uintptr) int32 { /* sqlite3.c:235796:12: */ +func fts5AsciiTokenize(tls *libc.TLS, pTokenizer uintptr, pCtx uintptr, iUnused int32, pText uintptr, nText int32, xToken uintptr) int32 { /* sqlite3.c:235853:12: */ bp := tls.Alloc(64) defer tls.Free(64) @@ -192171,7 +192202,7 @@ type Unicode61Tokenizer1 = struct { FnException int32 FaiException uintptr FaCategory [32]uint8 -} /* sqlite3.c:235911:9 */ +} /* sqlite3.c:235968:9 */ // ************************************************************************* // @@ -192181,11 +192212,11 @@ type Unicode61Tokenizer1 = struct { // from the sqlite3 source file utf.c. If this file is compiled as part // of the amalgamation, they are not required. -type Unicode61Tokenizer = Unicode61Tokenizer1 /* sqlite3.c:235911:35 */ +type Unicode61Tokenizer = Unicode61Tokenizer1 /* sqlite3.c:235968:35 */ // Values for eRemoveDiacritic (must match internals of fts5_unicode2.c) -func fts5UnicodeAddExceptions(tls *libc.TLS, p uintptr, z uintptr, bTokenChars int32) int32 { /* sqlite3.c:235928:12: */ +func fts5UnicodeAddExceptions(tls *libc.TLS, p uintptr, z uintptr, bTokenChars int32) int32 { /* sqlite3.c:235985:12: */ var rc int32 = SQLITE_OK var n int32 = int32(libc.Xstrlen(tls, z)) var aNew uintptr @@ -192240,7 +192271,7 @@ func fts5UnicodeAddExceptions(tls *libc.TLS, p uintptr, z uintptr, bTokenChars i } // Return true if the p->aiException[] array contains the value iCode. -func fts5UnicodeIsException(tls *libc.TLS, p uintptr, iCode int32) int32 { /* sqlite3.c:235978:12: */ +func fts5UnicodeIsException(tls *libc.TLS, p uintptr, iCode int32) int32 { /* sqlite3.c:236035:12: */ if (*Unicode61Tokenizer)(unsafe.Pointer(p)).FnException > 0 { var a uintptr = (*Unicode61Tokenizer)(unsafe.Pointer(p)).FaiException var iLo int32 = 0 @@ -192262,7 +192293,7 @@ func fts5UnicodeIsException(tls *libc.TLS, p uintptr, iCode int32) int32 { /* sq } // Delete a "unicode61" tokenizer. -func fts5UnicodeDelete(tls *libc.TLS, pTok uintptr) { /* sqlite3.c:236002:13: */ +func fts5UnicodeDelete(tls *libc.TLS, pTok uintptr) { /* sqlite3.c:236059:13: */ if pTok != 0 { var p uintptr = pTok Xsqlite3_free(tls, (*Unicode61Tokenizer)(unsafe.Pointer(p)).FaiException) @@ -192272,7 +192303,7 @@ func fts5UnicodeDelete(tls *libc.TLS, pTok uintptr) { /* sqlite3.c:236002:13: */ return } -func unicodeSetCategories(tls *libc.TLS, p uintptr, zCat uintptr) int32 { /* sqlite3.c:236012:12: */ +func unicodeSetCategories(tls *libc.TLS, p uintptr, zCat uintptr) int32 { /* sqlite3.c:236069:12: */ var z uintptr = zCat for *(*uint8)(unsafe.Pointer(z)) != 0 { @@ -192292,7 +192323,7 @@ func unicodeSetCategories(tls *libc.TLS, p uintptr, zCat uintptr) int32 { /* sql } // Create a "unicode61" tokenizer. -func fts5UnicodeCreate(tls *libc.TLS, pUnused uintptr, azArg uintptr, nArg int32, ppOut uintptr) int32 { /* sqlite3.c:236030:12: */ +func fts5UnicodeCreate(tls *libc.TLS, pUnused uintptr, azArg uintptr, nArg int32, ppOut uintptr) int32 { /* sqlite3.c:236087:12: */ var rc int32 = SQLITE_OK // Return code var p uintptr = uintptr(0) // New tokenizer object @@ -192360,12 +192391,12 @@ func fts5UnicodeCreate(tls *libc.TLS, pUnused uintptr, azArg uintptr, nArg int32 // Return true if, for the purposes of tokenizing with the tokenizer // passed as the first argument, codepoint iCode is considered a token // character (not a separator). -func fts5UnicodeIsAlnum(tls *libc.TLS, p uintptr, iCode int32) int32 { /* sqlite3.c:236110:12: */ +func fts5UnicodeIsAlnum(tls *libc.TLS, p uintptr, iCode int32) int32 { /* sqlite3.c:236167:12: */ return int32(*(*uint8)(unsafe.Pointer(p + 148 + uintptr(sqlite3Fts5UnicodeCategory(tls, U32(iCode)))))) ^ fts5UnicodeIsException(tls, p, iCode) } -func fts5UnicodeTokenize(tls *libc.TLS, pTokenizer uintptr, pCtx uintptr, iUnused int32, pText uintptr, nText int32, xToken uintptr) int32 { /* sqlite3.c:236117:12: */ +func fts5UnicodeTokenize(tls *libc.TLS, pTokenizer uintptr, pCtx uintptr, iUnused int32, pText uintptr, nText int32, xToken uintptr) int32 { /* sqlite3.c:236174:12: */ var p uintptr var rc int32 var a uintptr @@ -192621,7 +192652,7 @@ type PorterTokenizer1 = struct { Ftokenizer Fts5_tokenizer FpTokenizer uintptr FaBuf [128]uint8 -} /* sqlite3.c:236229:9 */ +} /* sqlite3.c:236286:9 */ // ************************************************************************* // @@ -192630,10 +192661,10 @@ type PorterTokenizer1 = struct { // Any tokens larger than this (in bytes) are passed through without // stemming. -type PorterTokenizer = PorterTokenizer1 /* sqlite3.c:236229:32 */ +type PorterTokenizer = PorterTokenizer1 /* sqlite3.c:236286:32 */ // Delete a "porter" tokenizer. -func fts5PorterDelete(tls *libc.TLS, pTok uintptr) { /* sqlite3.c:236239:13: */ +func fts5PorterDelete(tls *libc.TLS, pTok uintptr) { /* sqlite3.c:236296:13: */ if pTok != 0 { var p uintptr = pTok if (*PorterTokenizer)(unsafe.Pointer(p)).FpTokenizer != 0 { @@ -192644,7 +192675,7 @@ func fts5PorterDelete(tls *libc.TLS, pTok uintptr) { /* sqlite3.c:236239:13: */ } // Create a "porter" tokenizer. -func fts5PorterCreate(tls *libc.TLS, pCtx uintptr, azArg uintptr, nArg int32, ppOut uintptr) int32 { /* sqlite3.c:236252:12: */ +func fts5PorterCreate(tls *libc.TLS, pCtx uintptr, azArg uintptr, nArg int32, ppOut uintptr) int32 { /* sqlite3.c:236309:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -192697,9 +192728,9 @@ type PorterContext1 = struct { FpCtx uintptr FxToken uintptr FaBuf uintptr -} /* sqlite3.c:236288:9 */ +} /* sqlite3.c:236345:9 */ -type PorterContext = PorterContext1 /* sqlite3.c:236288:30 */ +type PorterContext = PorterContext1 /* sqlite3.c:236345:30 */ type PorterRule1 = struct { FzSuffix uintptr @@ -192707,15 +192738,15 @@ type PorterRule1 = struct { FxCond uintptr FzOutput uintptr FnOutput int32 -} /* sqlite3.c:236295:9 */ +} /* sqlite3.c:236352:9 */ -type PorterRule = PorterRule1 /* sqlite3.c:236295:27 */ +type PorterRule = PorterRule1 /* sqlite3.c:236352:27 */ -func fts5PorterIsVowel(tls *libc.TLS, c uint8, bYIsVowel int32) int32 { /* sqlite3.c:236330:12: */ +func fts5PorterIsVowel(tls *libc.TLS, c uint8, bYIsVowel int32) int32 { /* sqlite3.c:236387:12: */ return libc.Bool32(int32(c) == 'a' || int32(c) == 'e' || int32(c) == 'i' || int32(c) == 'o' || int32(c) == 'u' || bYIsVowel != 0 && int32(c) == 'y') } -func fts5PorterGobbleVC(tls *libc.TLS, zStem uintptr, nStem int32, bPrevCons int32) int32 { /* sqlite3.c:236336:12: */ +func fts5PorterGobbleVC(tls *libc.TLS, zStem uintptr, nStem int32, bPrevCons int32) int32 { /* sqlite3.c:236393:12: */ var i int32 var bCons int32 = bPrevCons @@ -192736,12 +192767,12 @@ func fts5PorterGobbleVC(tls *libc.TLS, zStem uintptr, nStem int32, bPrevCons int } // porter rule condition: (m > 0) -func fts5Porter_MGt0(tls *libc.TLS, zStem uintptr, nStem int32) int32 { /* sqlite3.c:236353:12: */ +func fts5Porter_MGt0(tls *libc.TLS, zStem uintptr, nStem int32) int32 { /* sqlite3.c:236410:12: */ return libc.BoolInt32(!!(fts5PorterGobbleVC(tls, zStem, nStem, 0) != 0)) } // porter rule condition: (m > 1) -func fts5Porter_MGt1(tls *libc.TLS, zStem uintptr, nStem int32) int32 { /* sqlite3.c:236358:12: */ +func fts5Porter_MGt1(tls *libc.TLS, zStem uintptr, nStem int32) int32 { /* sqlite3.c:236415:12: */ var n int32 n = fts5PorterGobbleVC(tls, zStem, nStem, 0) if n != 0 && fts5PorterGobbleVC(tls, zStem+uintptr(n), nStem-n, 1) != 0 { @@ -192751,7 +192782,7 @@ func fts5Porter_MGt1(tls *libc.TLS, zStem uintptr, nStem int32) int32 { /* sqlit } // porter rule condition: (m = 1) -func fts5Porter_MEq1(tls *libc.TLS, zStem uintptr, nStem int32) int32 { /* sqlite3.c:236368:12: */ +func fts5Porter_MEq1(tls *libc.TLS, zStem uintptr, nStem int32) int32 { /* sqlite3.c:236425:12: */ var n int32 n = fts5PorterGobbleVC(tls, zStem, nStem, 0) if n != 0 && 0 == fts5PorterGobbleVC(tls, zStem+uintptr(n), nStem-n, 1) { @@ -192761,7 +192792,7 @@ func fts5Porter_MEq1(tls *libc.TLS, zStem uintptr, nStem int32) int32 { /* sqlit } // porter rule condition: (*o) -func fts5Porter_Ostar(tls *libc.TLS, zStem uintptr, nStem int32) int32 { /* sqlite3.c:236378:12: */ +func fts5Porter_Ostar(tls *libc.TLS, zStem uintptr, nStem int32) int32 { /* sqlite3.c:236435:12: */ if int32(*(*uint8)(unsafe.Pointer(zStem + uintptr(nStem-1)))) == 'w' || int32(*(*uint8)(unsafe.Pointer(zStem + uintptr(nStem-1)))) == 'x' || int32(*(*uint8)(unsafe.Pointer(zStem + uintptr(nStem-1)))) == 'y' { return 0 } else { @@ -192779,14 +192810,14 @@ func fts5Porter_Ostar(tls *libc.TLS, zStem uintptr, nStem int32) int32 { /* sqli } // porter rule condition: (m > 1 and (*S or *T)) -func fts5Porter_MGt1_and_S_or_T(tls *libc.TLS, zStem uintptr, nStem int32) int32 { /* sqlite3.c:236395:12: */ +func fts5Porter_MGt1_and_S_or_T(tls *libc.TLS, zStem uintptr, nStem int32) int32 { /* sqlite3.c:236452:12: */ return libc.Bool32((int32(*(*uint8)(unsafe.Pointer(zStem + uintptr(nStem-1)))) == 's' || int32(*(*uint8)(unsafe.Pointer(zStem + uintptr(nStem-1)))) == 't') && fts5Porter_MGt1(tls, zStem, nStem) != 0) } // porter rule condition: (*v*) -func fts5Porter_Vowel(tls *libc.TLS, zStem uintptr, nStem int32) int32 { /* sqlite3.c:236402:12: */ +func fts5Porter_Vowel(tls *libc.TLS, zStem uintptr, nStem int32) int32 { /* sqlite3.c:236459:12: */ var i int32 for i = 0; i < nStem; i++ { if fts5PorterIsVowel(tls, *(*uint8)(unsafe.Pointer(zStem + uintptr(i))), libc.Bool32(i > 0)) != 0 { @@ -192801,7 +192832,7 @@ func fts5Porter_Vowel(tls *libc.TLS, zStem uintptr, nStem int32) int32 { /* sqli // // GENERATED CODE STARTS HERE (mkportersteps.tcl) -func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqlite3.c:236418:12: */ +func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqlite3.c:236475:12: */ var ret int32 = 0 var nBuf int32 = *(*int32)(unsafe.Pointer(pnBuf)) switch int32(*(*uint8)(unsafe.Pointer(aBuf + uintptr(nBuf-2)))) { @@ -192934,7 +192965,7 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli return ret } -func fts5PorterStep1B2(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqlite3.c:236552:12: */ +func fts5PorterStep1B2(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqlite3.c:236609:12: */ var ret int32 = 0 var nBuf int32 = *(*int32)(unsafe.Pointer(pnBuf)) switch int32(*(*uint8)(unsafe.Pointer(aBuf + uintptr(nBuf-2)))) { @@ -192967,7 +192998,7 @@ func fts5PorterStep1B2(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sq return ret } -func fts5PorterStep2(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqlite3.c:236586:12: */ +func fts5PorterStep2(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqlite3.c:236643:12: */ var ret int32 = 0 var nBuf int32 = *(*int32)(unsafe.Pointer(pnBuf)) switch int32(*(*uint8)(unsafe.Pointer(aBuf + uintptr(nBuf-2)))) { @@ -193113,7 +193144,7 @@ func fts5PorterStep2(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli return ret } -func fts5PorterStep3(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqlite3.c:236733:12: */ +func fts5PorterStep3(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqlite3.c:236790:12: */ var ret int32 = 0 var nBuf int32 = *(*int32)(unsafe.Pointer(pnBuf)) switch int32(*(*uint8)(unsafe.Pointer(aBuf + uintptr(nBuf-2)))) { @@ -193178,7 +193209,7 @@ func fts5PorterStep3(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli return ret } -func fts5PorterStep1B(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqlite3.c:236799:12: */ +func fts5PorterStep1B(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqlite3.c:236856:12: */ var ret int32 = 0 var nBuf int32 = *(*int32)(unsafe.Pointer(pnBuf)) switch int32(*(*uint8)(unsafe.Pointer(aBuf + uintptr(nBuf-2)))) { @@ -193215,7 +193246,7 @@ func fts5PorterStep1B(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sql // // -func fts5PorterStep1A(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) { /* sqlite3.c:236836:13: */ +func fts5PorterStep1A(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) { /* sqlite3.c:236893:13: */ var nBuf int32 = *(*int32)(unsafe.Pointer(pnBuf)) if int32(*(*uint8)(unsafe.Pointer(aBuf + uintptr(nBuf-1)))) == 's' { if int32(*(*uint8)(unsafe.Pointer(aBuf + uintptr(nBuf-2)))) == 'e' { @@ -193231,7 +193262,7 @@ func fts5PorterStep1A(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) { /* sqlite3.c } } -func fts5PorterCb(tls *libc.TLS, pCtx uintptr, tflags int32, pToken uintptr, nToken int32, iStart int32, iEnd int32) int32 { /* sqlite3.c:236854:12: */ +func fts5PorterCb(tls *libc.TLS, pCtx uintptr, tflags int32, pToken uintptr, nToken int32, iStart int32, iEnd int32) int32 { /* sqlite3.c:236911:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -193329,7 +193360,7 @@ pass_through: } // Tokenize using the porter tokenizer. -func fts5PorterTokenize(tls *libc.TLS, pTokenizer uintptr, pCtx uintptr, flags int32, pText uintptr, nText int32, xToken uintptr) int32 { /* sqlite3.c:236923:12: */ +func fts5PorterTokenize(tls *libc.TLS, pTokenizer uintptr, pCtx uintptr, flags int32, pText uintptr, nText int32, xToken uintptr) int32 { /* sqlite3.c:236980:12: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -193350,20 +193381,20 @@ func fts5PorterTokenize(tls *libc.TLS, pTokenizer uintptr, pCtx uintptr, flags i // ************************************************************************* // // Start of trigram implementation. -type TrigramTokenizer1 = struct{ FbFold int32 } /* sqlite3.c:236943:9 */ +type TrigramTokenizer1 = struct{ FbFold int32 } /* sqlite3.c:237000:9 */ // ************************************************************************* // // Start of trigram implementation. -type TrigramTokenizer = TrigramTokenizer1 /* sqlite3.c:236943:33 */ +type TrigramTokenizer = TrigramTokenizer1 /* sqlite3.c:237000:33 */ // Free a trigram tokenizer. -func fts5TriDelete(tls *libc.TLS, p uintptr) { /* sqlite3.c:236951:13: */ +func fts5TriDelete(tls *libc.TLS, p uintptr) { /* sqlite3.c:237008:13: */ Xsqlite3_free(tls, p) } // Allocate a trigram tokenizer. -func fts5TriCreate(tls *libc.TLS, pUnused uintptr, azArg uintptr, nArg int32, ppOut uintptr) int32 { /* sqlite3.c:236958:12: */ +func fts5TriCreate(tls *libc.TLS, pUnused uintptr, azArg uintptr, nArg int32, ppOut uintptr) int32 { /* sqlite3.c:237015:12: */ var rc int32 = SQLITE_OK var pNew uintptr = Xsqlite3_malloc(tls, int32(unsafe.Sizeof(TrigramTokenizer{}))) _ = pUnused @@ -193394,7 +193425,7 @@ func fts5TriCreate(tls *libc.TLS, pUnused uintptr, azArg uintptr, nArg int32, pp } // Trigram tokenizer tokenize routine. -func fts5TriTokenize(tls *libc.TLS, pTok uintptr, pCtx uintptr, unusedFlags int32, pText uintptr, nText int32, xToken uintptr) int32 { /* sqlite3.c:236996:12: */ +func fts5TriTokenize(tls *libc.TLS, pTok uintptr, pCtx uintptr, unusedFlags int32, pText uintptr, nText int32, xToken uintptr) int32 { /* sqlite3.c:237053:12: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -193547,7 +193578,7 @@ func fts5TriTokenize(tls *libc.TLS, pTok uintptr, pCtx uintptr, unusedFlags int3 // "trigram" tokenizer, case_sensitive=1 - FTS5_PATTERN_GLOB // "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) int32 { /* sqlite3.c:237056:12: */ +func sqlite3Fts5TokenizerPattern(tls *libc.TLS, xCreate uintptr, pTok uintptr) int32 { /* sqlite3.c:237113:12: */ if xCreate == *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 }{fts5TriCreate})) { @@ -193561,7 +193592,7 @@ func sqlite3Fts5TokenizerPattern(tls *libc.TLS, xCreate uintptr, pTok uintptr) i } // Register all built-in tokenizers with FTS5. -func sqlite3Fts5TokenizerInit(tls *libc.TLS, pApi uintptr) int32 { /* sqlite3.c:237070:12: */ +func sqlite3Fts5TokenizerInit(tls *libc.TLS, pApi uintptr) int32 { /* sqlite3.c:237127:12: */ bp := tls.Alloc(64) defer tls.Free(64) @@ -193607,7 +193638,7 @@ func sqlite3Fts5TokenizerInit(tls *libc.TLS, pApi uintptr) int32 { /* sqlite3.c: type BuiltinTokenizer = struct { FzName uintptr Fx Fts5_tokenizer -} /* sqlite3.c:237071:3 */ +} /* sqlite3.c:237128:3 */ // 2012-05-25 // @@ -193630,7 +193661,7 @@ type BuiltinTokenizer = struct { // SMALL LETTER E WITH DIAERESIS" - return 65 ("LATIN SMALL LETTER // E"). The resuls of passing a codepoint that corresponds to an // uppercase letter are undefined. -func fts5_remove_diacritic(tls *libc.TLS, c int32, bComplex int32) int32 { /* sqlite3.c:237126:12: */ +func fts5_remove_diacritic(tls *libc.TLS, c int32, bComplex int32) int32 { /* sqlite3.c:237183:12: */ bp := tls.Alloc(378) defer tls.Free(378) @@ -193701,7 +193732,7 @@ func fts5_remove_diacritic(tls *libc.TLS, c int32, bComplex int32) int32 { /* sq // Return true if the argument interpreted as a unicode codepoint // is a diacritical modifier character. -func sqlite3Fts5UnicodeIsdiacritic(tls *libc.TLS, c int32) int32 { /* sqlite3.c:237193:12: */ +func sqlite3Fts5UnicodeIsdiacritic(tls *libc.TLS, c int32) int32 { /* sqlite3.c:237250:12: */ var mask0 uint32 = uint32(0x08029FDF) var mask1 uint32 = uint32(0x000361F8) if c < 768 || c > 817 { @@ -193720,7 +193751,7 @@ func sqlite3Fts5UnicodeIsdiacritic(tls *libc.TLS, c int32) int32 { /* sqlite3.c: // // The results are undefined if the value passed to this function // is less than zero. -func sqlite3Fts5UnicodeFold(tls *libc.TLS, c int32, eRemoveDiacritic int32) int32 { /* sqlite3.c:237212:12: */ +func sqlite3Fts5UnicodeFold(tls *libc.TLS, c int32, eRemoveDiacritic int32) int32 { /* sqlite3.c:237269:12: */ var ret int32 = c @@ -193781,7 +193812,7 @@ type TableEntry = struct { FiCode uint16 Fflags uint8 FnRange uint8 -} /* sqlite3.c:237230:16 */ +} /* sqlite3.c:237287:16 */ var aEntry = [163]TableEntry{ {FiCode: uint16(65), Fflags: uint8(14), FnRange: uint8(26)}, {FiCode: uint16(181), Fflags: uint8(64), FnRange: uint8(1)}, {FiCode: uint16(192), Fflags: uint8(14), FnRange: uint8(23)}, @@ -193839,7 +193870,7 @@ var aEntry = [163]TableEntry{ {FiCode: uint16(42878), Fflags: uint8(1), FnRange: uint8(10)}, {FiCode: uint16(42891), FnRange: uint8(1)}, {FiCode: uint16(42893), Fflags: uint8(74), FnRange: uint8(1)}, {FiCode: uint16(42896), Fflags: uint8(1), FnRange: uint8(4)}, {FiCode: uint16(42912), Fflags: uint8(1), FnRange: uint8(10)}, {FiCode: uint16(42922), Fflags: uint8(72), FnRange: uint8(1)}, {FiCode: uint16(65313), Fflags: uint8(14), FnRange: uint8(26)}, -} /* sqlite3.c:237234:5 */ +} /* sqlite3.c:237291:5 */ var aiOff = [77]uint16{ uint16(1), uint16(2), uint16(8), uint16(15), uint16(16), uint16(26), uint16(28), uint16(32), uint16(37), uint16(38), uint16(40), uint16(48), uint16(63), uint16(64), uint16(69), uint16(71), @@ -193851,9 +193882,9 @@ var aiOff = [77]uint16{ uint16(65408), uint16(65410), uint16(65415), uint16(65424), uint16(65436), uint16(65439), uint16(65450), uint16(65462), uint16(65472), uint16(65476), uint16(65478), uint16(65480), uint16(65482), uint16(65488), uint16(65506), uint16(65511), uint16(65514), uint16(65521), uint16(65527), uint16(65528), uint16(65529), -} /* sqlite3.c:237291:31 */ +} /* sqlite3.c:237348:31 */ -func sqlite3Fts5UnicodeCatParse(tls *libc.TLS, zCat uintptr, aArray uintptr) int32 { /* sqlite3.c:237348:12: */ +func sqlite3Fts5UnicodeCatParse(tls *libc.TLS, zCat uintptr, aArray uintptr) int32 { /* sqlite3.c:237405:12: */ *(*U8)(unsafe.Pointer(aArray)) = U8(1) switch int32(*(*uint8)(unsafe.Pointer(zCat))) { case 'C': @@ -194050,7 +194081,7 @@ func sqlite3Fts5UnicodeCatParse(tls *libc.TLS, zCat uintptr, aArray uintptr) int var aFts5UnicodeBlock = [17]U16{ U16(0), U16(1471), U16(1753), U16(1760), U16(1760), U16(1760), U16(1760), U16(1760), U16(1760), U16(1760), U16(1760), U16(1760), U16(1760), U16(1760), U16(1760), U16(1763), U16(1765), -} /* sqlite3.c:237466:12 */ +} /* sqlite3.c:237523:12 */ var aFts5UnicodeMap = [1765]U16{ U16(0), U16(32), U16(33), U16(36), U16(37), U16(40), U16(41), U16(42), U16(43), U16(44), U16(45), U16(46), U16(48), U16(58), U16(60), U16(63), U16(65), U16(91), U16(92), U16(93), @@ -194229,7 +194260,7 @@ var aFts5UnicodeMap = [1765]U16{ U16(62406), U16(62432), U16(62464), U16(62528), U16(62530), U16(62713), U16(62720), U16(62784), U16(62800), U16(62971), U16(63045), U16(63104), U16(63232), U16(0), U16(42710), U16(42752), U16(46900), U16(46912), U16(47133), U16(63488), U16(1), U16(32), U16(256), U16(0), U16(65533), -} /* sqlite3.c:237470:12 */ +} /* sqlite3.c:237527:12 */ var aFts5UnicodeData = [1765]U16{ U16(1025), U16(61), U16(117), U16(55), U16(117), U16(54), U16(50), U16(53), U16(57), U16(53), U16(49), U16(85), U16(333), U16(85), U16(121), U16(85), U16(841), U16(54), U16(53), U16(50), @@ -194408,9 +194439,9 @@ var aFts5UnicodeData = [1765]U16{ U16(186), U16(570), U16(2042), U16(58), U16(5850), U16(154), U16(2010), U16(154), U16(794), U16(2266), U16(378), U16(2266), U16(3738), U16(39), U16(39), U16(39), U16(39), U16(39), U16(39), U16(17351), U16(34), U16(3074), U16(7692), U16(63), U16(63), -} /* sqlite3.c:237649:12 */ +} /* sqlite3.c:237706:12 */ -func sqlite3Fts5UnicodeCategory(tls *libc.TLS, iCode U32) int32 { /* sqlite3.c:237829:12: */ +func sqlite3Fts5UnicodeCategory(tls *libc.TLS, iCode U32) int32 { /* sqlite3.c:237886:12: */ var iRes int32 = -1 var iHi int32 var iLo int32 @@ -194450,7 +194481,7 @@ func sqlite3Fts5UnicodeCategory(tls *libc.TLS, iCode U32) int32 { /* sqlite3.c:2 return 9 } -func sqlite3Fts5UnicodeAscii(tls *libc.TLS, aArray uintptr, aAscii uintptr) { /* sqlite3.c:237860:13: */ +func sqlite3Fts5UnicodeAscii(tls *libc.TLS, aArray uintptr, aAscii uintptr) { /* sqlite3.c:237917:13: */ var i int32 = 0 var iTbl int32 = 0 for i < 128 { @@ -194482,7 +194513,7 @@ func sqlite3Fts5UnicodeAscii(tls *libc.TLS, aArray uintptr, aAscii uintptr) { /* // This is a copy of the sqlite3GetVarint32() routine from the SQLite core. // Except, this version does handle the single byte case that the core // version depends on being handled before its function is called. -func sqlite3Fts5GetVarint32(tls *libc.TLS, p uintptr, v uintptr) int32 { /* sqlite3.c:237898:12: */ +func sqlite3Fts5GetVarint32(tls *libc.TLS, p uintptr, v uintptr) int32 { /* sqlite3.c:237955:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -194557,7 +194588,7 @@ func sqlite3Fts5GetVarint32(tls *libc.TLS, p uintptr, v uintptr) int32 { /* sqli // Read a 64-bit variable-length integer from memory starting at p[0]. // Return the number of bytes read. The value is stored in *v. -func sqlite3Fts5GetVarint(tls *libc.TLS, p uintptr, v uintptr) U8 { /* sqlite3.c:237976:11: */ +func sqlite3Fts5GetVarint(tls *libc.TLS, p uintptr, v uintptr) U8 { /* sqlite3.c:238033:11: */ var a U32 var b U32 var s U32 @@ -194733,7 +194764,7 @@ func sqlite3Fts5GetVarint(tls *libc.TLS, p uintptr, v uintptr) U8 { /* sqlite3.c // for all bytes that have the 8th bit set and one byte with the 8th // bit clear. Except, if we get to the 9th byte, it stores the full // 8 bits and is the last byte. -func fts5PutVarint64(tls *libc.TLS, p uintptr, v U64) int32 { /* sqlite3.c:238170:26: */ +func fts5PutVarint64(tls *libc.TLS, p uintptr, v U64) int32 { /* sqlite3.c:238227:26: */ bp := tls.Alloc(10) defer tls.Free(10) @@ -194779,7 +194810,7 @@ __3: return n } -func sqlite3Fts5PutVarint(tls *libc.TLS, p uintptr, v U64) int32 { /* sqlite3.c:238195:12: */ +func sqlite3Fts5PutVarint(tls *libc.TLS, p uintptr, v U64) int32 { /* sqlite3.c:238252:12: */ if v <= uint64(0x7f) { *(*uint8)(unsafe.Pointer(p)) = uint8(v & uint64(0x7f)) return 1 @@ -194792,7 +194823,7 @@ func sqlite3Fts5PutVarint(tls *libc.TLS, p uintptr, v U64) int32 { /* sqlite3.c: return fts5PutVarint64(tls, p, v) } -func sqlite3Fts5GetVarintLen(tls *libc.TLS, iVal U32) int32 { /* sqlite3.c:238209:12: */ +func sqlite3Fts5GetVarintLen(tls *libc.TLS, iVal U32) int32 { /* sqlite3.c:238266:12: */ if iVal < U32(int32(1)<<14) { return 2 @@ -194852,7 +194883,7 @@ type Fts5VocabTable1 = struct { FpGlobal uintptr FeType int32 FbBusy uint32 -} /* sqlite3.c:238262:9 */ +} /* sqlite3.c:238319:9 */ // 2015 May 08 // @@ -194892,7 +194923,7 @@ type Fts5VocabTable1 = struct { // #include "fts5Int.h" -type Fts5VocabTable = Fts5VocabTable1 /* sqlite3.c:238262:31 */ +type Fts5VocabTable = Fts5VocabTable1 /* sqlite3.c:238319:31 */ type Fts5VocabCursor1 = struct { Fbase Sqlite3_vtab_cursor FpStmt uintptr @@ -194912,9 +194943,9 @@ type Fts5VocabCursor1 = struct { FiInstPos I64 FiInstOff int32 F__ccgo_pad3 [4]byte -} /* sqlite3.c:238263:9 */ +} /* sqlite3.c:238320:9 */ -type Fts5VocabCursor = Fts5VocabCursor1 /* sqlite3.c:238263:32 */ +type Fts5VocabCursor = Fts5VocabCursor1 /* sqlite3.c:238320:32 */ // Bits for the mask used as the idxNum value by xBestIndex/xFilter. @@ -194922,7 +194953,7 @@ type Fts5VocabCursor = Fts5VocabCursor1 /* sqlite3.c:238263:32 */ // FTS5_VOCAB_XXX constant. If successful, set *peType to the output // value and return SQLITE_OK. Otherwise, set *pzErr to an error message // and return SQLITE_ERROR. -func fts5VocabTableType(tls *libc.TLS, zType uintptr, pzErr uintptr, peType uintptr) int32 { /* sqlite3.c:238323:12: */ +func fts5VocabTableType(tls *libc.TLS, zType uintptr, pzErr uintptr, peType uintptr) int32 { /* sqlite3.c:238380:12: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -194947,14 +194978,14 @@ func fts5VocabTableType(tls *libc.TLS, zType uintptr, pzErr uintptr, peType uint } // The xDisconnect() virtual table method. -func fts5VocabDisconnectMethod(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:238352:12: */ +func fts5VocabDisconnectMethod(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:238409:12: */ var pTab uintptr = pVtab Xsqlite3_free(tls, pTab) return SQLITE_OK } // The xDestroy() virtual table method. -func fts5VocabDestroyMethod(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:238361:12: */ +func fts5VocabDestroyMethod(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:238418:12: */ var pTab uintptr = pVtab Xsqlite3_free(tls, pTab) return SQLITE_OK @@ -194979,7 +195010,7 @@ func fts5VocabDestroyMethod(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:2 // argv[3] -> name of fts5 tables database // argv[4] -> name of fts5 table // argv[5] -> type of fts5vocab table -func fts5VocabInitVtab(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVTab uintptr, pzErr uintptr) int32 { /* sqlite3.c:238388:12: */ +func fts5VocabInitVtab(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVTab uintptr, pzErr uintptr) int32 { /* sqlite3.c:238445:12: */ bp := tls.Alloc(20) defer tls.Free(20) @@ -195049,11 +195080,11 @@ func fts5VocabInitVtab(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv // The xConnect() and xCreate() methods for the virtual table. All the // work is done in function fts5VocabInitVtab(). -func fts5VocabConnectMethod(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 { /* sqlite3.c:238450:12: */ +func fts5VocabConnectMethod(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 { /* sqlite3.c:238507:12: */ return fts5VocabInitVtab(tls, db, pAux, argc, argv, ppVtab, pzErr) } -func fts5VocabCreateMethod(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 { /* sqlite3.c:238460:12: */ +func fts5VocabCreateMethod(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 { /* sqlite3.c:238517:12: */ return fts5VocabInitVtab(tls, db, pAux, argc, argv, ppVtab, pzErr) } @@ -195067,7 +195098,7 @@ func fts5VocabCreateMethod(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, // // are interpreted. Less-than and less-than-or-equal are treated // identically, as are greater-than and greater-than-or-equal. -func fts5VocabBestIndexMethod(tls *libc.TLS, pUnused uintptr, pInfo uintptr) int32 { /* sqlite3.c:238483:12: */ +func fts5VocabBestIndexMethod(tls *libc.TLS, pUnused uintptr, pInfo uintptr) int32 { /* sqlite3.c:238540:12: */ var i int32 var iTermEq int32 = -1 var iTermGe int32 = -1 @@ -195135,7 +195166,7 @@ func fts5VocabBestIndexMethod(tls *libc.TLS, pUnused uintptr, pInfo uintptr) int } // Implementation of xOpen method. -func fts5VocabOpenMethod(tls *libc.TLS, pVTab uintptr, ppCsr uintptr) int32 { /* sqlite3.c:238545:12: */ +func fts5VocabOpenMethod(tls *libc.TLS, pVTab uintptr, ppCsr uintptr) int32 { /* sqlite3.c:238602:12: */ bp := tls.Alloc(72) defer tls.Free(72) @@ -195202,7 +195233,7 @@ func fts5VocabOpenMethod(tls *libc.TLS, pVTab uintptr, ppCsr uintptr) int32 { /* return *(*int32)(unsafe.Pointer(bp + 64 /* rc */)) } -func fts5VocabResetCursor(tls *libc.TLS, pCsr uintptr) { /* sqlite3.c:238613:13: */ +func fts5VocabResetCursor(tls *libc.TLS, pCsr uintptr) { /* sqlite3.c:238670:13: */ (*Fts5VocabCursor)(unsafe.Pointer(pCsr)).Frowid = int64(0) sqlite3Fts5IterClose(tls, (*Fts5VocabCursor)(unsafe.Pointer(pCsr)).FpIter) sqlite3Fts5StructureRelease(tls, (*Fts5VocabCursor)(unsafe.Pointer(pCsr)).FpStruct) @@ -195216,7 +195247,7 @@ func fts5VocabResetCursor(tls *libc.TLS, pCsr uintptr) { /* sqlite3.c:238613:13: // Close the cursor. For additional information see the documentation // on the xClose method of the virtual table interface. -func fts5VocabCloseMethod(tls *libc.TLS, pCursor uintptr) int32 { /* sqlite3.c:238629:12: */ +func fts5VocabCloseMethod(tls *libc.TLS, pCursor uintptr) int32 { /* sqlite3.c:238686:12: */ var pCsr uintptr = pCursor fts5VocabResetCursor(tls, pCsr) sqlite3Fts5BufferFree(tls, pCsr+56) @@ -195225,7 +195256,7 @@ func fts5VocabCloseMethod(tls *libc.TLS, pCursor uintptr) int32 { /* sqlite3.c:2 return SQLITE_OK } -func fts5VocabInstanceNewTerm(tls *libc.TLS, pCsr uintptr) int32 { /* sqlite3.c:238638:12: */ +func fts5VocabInstanceNewTerm(tls *libc.TLS, pCsr uintptr) int32 { /* sqlite3.c:238695:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -195256,7 +195287,7 @@ func fts5VocabInstanceNewTerm(tls *libc.TLS, pCsr uintptr) int32 { /* sqlite3.c: return *(*int32)(unsafe.Pointer(bp + 4 /* rc */)) } -func fts5VocabInstanceNext(tls *libc.TLS, pCsr uintptr) int32 { /* sqlite3.c:238660:12: */ +func fts5VocabInstanceNext(tls *libc.TLS, pCsr uintptr) int32 { /* sqlite3.c:238717:12: */ var eDetail int32 = (*Fts5Config)(unsafe.Pointer((*Fts5Table)(unsafe.Pointer((*Fts5VocabCursor)(unsafe.Pointer(pCsr)).FpFts5)).FpConfig)).FeDetail var rc int32 = SQLITE_OK var pIter uintptr = (*Fts5VocabCursor)(unsafe.Pointer(pCsr)).FpIter @@ -195285,7 +195316,7 @@ func fts5VocabInstanceNext(tls *libc.TLS, pCsr uintptr) int32 { /* sqlite3.c:238 } // Advance the cursor to the next row in the table. -func fts5VocabNextMethod(tls *libc.TLS, pCursor uintptr) int32 { /* sqlite3.c:238692:12: */ +func fts5VocabNextMethod(tls *libc.TLS, pCursor uintptr) int32 { /* sqlite3.c:238749:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -195429,7 +195460,7 @@ func fts5VocabNextMethod(tls *libc.TLS, pCursor uintptr) int32 { /* sqlite3.c:23 } // This is the xFilter implementation for the virtual table. -func fts5VocabFilterMethod(tls *libc.TLS, pCursor uintptr, idxNum int32, zUnused uintptr, nUnused int32, apVal uintptr) int32 { /* sqlite3.c:238820:12: */ +func fts5VocabFilterMethod(tls *libc.TLS, pCursor uintptr, idxNum int32, zUnused uintptr, nUnused int32, apVal uintptr) int32 { /* sqlite3.c:238877:12: */ var pTab uintptr = (*Sqlite3_vtab_cursor)(unsafe.Pointer(pCursor)).FpVtab var pCsr uintptr = pCursor var eType int32 = (*Fts5VocabTable)(unsafe.Pointer(pTab)).FeType @@ -195503,12 +195534,12 @@ func fts5VocabFilterMethod(tls *libc.TLS, pCursor uintptr, idxNum int32, zUnused // This is the xEof method of the virtual table. SQLite calls this // routine to find out if it has reached the end of a result set. -func fts5VocabEofMethod(tls *libc.TLS, pCursor uintptr) int32 { /* sqlite3.c:238894:12: */ +func fts5VocabEofMethod(tls *libc.TLS, pCursor uintptr) int32 { /* sqlite3.c:238951:12: */ var pCsr uintptr = pCursor return (*Fts5VocabCursor)(unsafe.Pointer(pCsr)).FbEof } -func fts5VocabColumnMethod(tls *libc.TLS, pCursor uintptr, pCtx uintptr, iCol int32) int32 { /* sqlite3.c:238899:12: */ +func fts5VocabColumnMethod(tls *libc.TLS, pCursor uintptr, pCtx uintptr, iCol int32) int32 { /* sqlite3.c:238956:12: */ var pCsr uintptr = pCursor var eDetail int32 = (*Fts5Config)(unsafe.Pointer((*Fts5Table)(unsafe.Pointer((*Fts5VocabCursor)(unsafe.Pointer(pCsr)).FpFts5)).FpConfig)).FeDetail var eType int32 = (*Fts5VocabTable)(unsafe.Pointer((*Sqlite3_vtab_cursor)(unsafe.Pointer(pCursor)).FpVtab)).FeType @@ -195581,13 +195612,13 @@ func fts5VocabColumnMethod(tls *libc.TLS, pCursor uintptr, pCtx uintptr, iCol in // This is the xRowid method. The SQLite core calls this routine to // retrieve the rowid for the current row of the result set. The // rowid should be written to *pRowid. -func fts5VocabRowidMethod(tls *libc.TLS, pCursor uintptr, pRowid uintptr) int32 { /* sqlite3.c:238971:12: */ +func fts5VocabRowidMethod(tls *libc.TLS, pCursor uintptr, pRowid uintptr) int32 { /* sqlite3.c:239028:12: */ var pCsr uintptr = pCursor *(*Sqlite_int64)(unsafe.Pointer(pRowid)) = (*Fts5VocabCursor)(unsafe.Pointer(pCsr)).Frowid return SQLITE_OK } -func sqlite3Fts5VocabInit(tls *libc.TLS, pGlobal uintptr, db uintptr) int32 { /* sqlite3.c:238980:12: */ +func sqlite3Fts5VocabInit(tls *libc.TLS, pGlobal uintptr, db uintptr) int32 { /* sqlite3.c:239037:12: */ var p uintptr = pGlobal return Xsqlite3_create_module_v2(tls, db, ts+37459, uintptr(unsafe.Pointer(&fts5Vocab)), p, uintptr(0)) @@ -195607,7 +195638,7 @@ var fts5Vocab = Sqlite3_module{ /* xEof */ FxEof: 0, /* xColumn */ FxColumn: 0, /* xRowid */ FxRowid: 0, -} /* sqlite3.c:238981:31 */ +} /* sqlite3.c:239038:31 */ //************* End of fts5.c *********************************************** //************* Begin file stmt.c ******************************************* @@ -195634,8 +195665,8 @@ var fts5Vocab = Sqlite3_module{ //************* End of stmt.c *********************************************** // Return the source-id for this library -func Xsqlite3_sourceid(tls *libc.TLS) uintptr { /* sqlite3.c:239321:23: */ - return ts + 37469 /* "2022-03-12 13:37..." */ +func Xsqlite3_sourceid(tls *libc.TLS) uintptr { /* sqlite3.c:239378:23: */ + return ts + 37469 /* "2022-03-26 13:51..." */ } //************************* End of sqlite3.c ***************************** @@ -195644,162 +195675,162 @@ func init() { *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&Xsqlite3aEQb)) + 0)) = uintptr(unsafe.Pointer(&Xsqlite3UpperToLower)) + 210 // sqlite3.c:21690:51: *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&Xsqlite3aGTb)) + 0)) = uintptr(unsafe.Pointer(&Xsqlite3UpperToLower)) + 216 // sqlite3.c:21691:51: *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&Xsqlite3aLTb)) + 0)) = uintptr(unsafe.Pointer(&Xsqlite3UpperToLower)) + 204 // sqlite3.c:21689:51: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aAgg)) + 0)) = geopolyBBoxStep // sqlite3.c:201985:8: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aAgg)) + 4)) = geopolyBBoxFinal // sqlite3.c:201985:25: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aAlterTableFuncs)) + 16)) = renameColumnFunc // sqlite3.c:111067:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aAlterTableFuncs)) + 56)) = renameTableFunc // sqlite3.c:111068:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aAlterTableFuncs)) + 96)) = renameTableTest // sqlite3.c:111069:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aAlterTableFuncs)) + 136)) = dropColumnFunc // sqlite3.c:111070:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aAlterTableFuncs)) + 176)) = renameQuotefixFunc // sqlite3.c:111071:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 16)) = versionFunc // sqlite3.c:123272:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 56)) = versionFunc // sqlite3.c:123273:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 96)) = versionFunc // sqlite3.c:123274:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 136)) = versionFunc // sqlite3.c:123275:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 176)) = soundexFunc // sqlite3.c:123279:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 216)) = loadExt // sqlite3.c:123282:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 256)) = loadExt // sqlite3.c:123283:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 296)) = compileoptionusedFunc // sqlite3.c:123289:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 336)) = compileoptiongetFunc // sqlite3.c:123290:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 376)) = versionFunc // sqlite3.c:123292:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 416)) = versionFunc // sqlite3.c:123293:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 456)) = versionFunc // sqlite3.c:123294:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 496)) = versionFunc // sqlite3.c:123297:12: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 536)) = trimFunc // sqlite3.c:123299:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 576)) = trimFunc // sqlite3.c:123300:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 616)) = trimFunc // sqlite3.c:123301:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 656)) = trimFunc // sqlite3.c:123302:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 696)) = trimFunc // sqlite3.c:123303:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 736)) = trimFunc // sqlite3.c:123304:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 776)) = minmaxFunc // sqlite3.c:123305:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 856)) = minmaxStep // sqlite3.c:123307:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 860)) = minMaxFinalize // sqlite3.c:123307:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 864)) = minMaxValue // sqlite3.c:123307:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 896)) = minmaxFunc // sqlite3.c:123309:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 976)) = minmaxStep // sqlite3.c:123311:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 980)) = minMaxFinalize // sqlite3.c:123311:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 984)) = minMaxValue // sqlite3.c:123311:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1016)) = typeofFunc // sqlite3.c:123313:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1056)) = subtypeFunc // sqlite3.c:123314:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1096)) = lengthFunc // sqlite3.c:123315:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1136)) = instrFunc // sqlite3.c:123316:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1176)) = printfFunc // sqlite3.c:123317:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1216)) = printfFunc // sqlite3.c:123318:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1256)) = unicodeFunc // sqlite3.c:123319:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1296)) = charFunc // sqlite3.c:123320:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1336)) = absFunc // sqlite3.c:123321:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1376)) = roundFunc // sqlite3.c:123323:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1416)) = roundFunc // sqlite3.c:123324:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1456)) = upperFunc // sqlite3.c:123326:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1496)) = lowerFunc // sqlite3.c:123327:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1536)) = hexFunc // sqlite3.c:123328:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1576)) = versionFunc // sqlite3.c:123329:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1616)) = randomFunc // sqlite3.c:123330:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1656)) = randomBlob // sqlite3.c:123331:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1696)) = nullifFunc // sqlite3.c:123332:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1736)) = versionFunc // sqlite3.c:123333:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1776)) = sourceidFunc // sqlite3.c:123334:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1816)) = errlogFunc // sqlite3.c:123335:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1856)) = quoteFunc // sqlite3.c:123336:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1896)) = last_insert_rowid // sqlite3.c:123337:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1936)) = changes // sqlite3.c:123338:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1976)) = total_changes // sqlite3.c:123339:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2016)) = replaceFunc // sqlite3.c:123340:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2056)) = zeroblobFunc // sqlite3.c:123341:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2096)) = substrFunc // sqlite3.c:123342:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2136)) = substrFunc // sqlite3.c:123343:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2176)) = substrFunc // sqlite3.c:123344:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2216)) = substrFunc // sqlite3.c:123345:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2256)) = sumStep // sqlite3.c:123346:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2260)) = sumFinalize // sqlite3.c:123346:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2264)) = sumFinalize // sqlite3.c:123346:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2268)) = sumInverse // sqlite3.c:123346:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2296)) = sumStep // sqlite3.c:123347:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2300)) = totalFinalize // sqlite3.c:123347:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2304)) = totalFinalize // sqlite3.c:123347:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2308)) = sumInverse // sqlite3.c:123347:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2336)) = sumStep // sqlite3.c:123348:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2340)) = avgFinalize // sqlite3.c:123348:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2344)) = avgFinalize // sqlite3.c:123348:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2348)) = sumInverse // sqlite3.c:123348:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2376)) = countStep // sqlite3.c:123349:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2380)) = countFinalize // sqlite3.c:123349:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2384)) = countFinalize // sqlite3.c:123349:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2388)) = countInverse // sqlite3.c:123349:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2416)) = countStep // sqlite3.c:123352:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2420)) = countFinalize // sqlite3.c:123352:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2424)) = countFinalize // sqlite3.c:123352:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2428)) = countInverse // sqlite3.c:123352:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2456)) = groupConcatStep // sqlite3.c:123354:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2460)) = groupConcatFinalize // sqlite3.c:123354:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2464)) = groupConcatValue // sqlite3.c:123354:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2468)) = groupConcatInverse // sqlite3.c:123354:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2496)) = groupConcatStep // sqlite3.c:123356:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2500)) = groupConcatFinalize // sqlite3.c:123356:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2504)) = groupConcatValue // sqlite3.c:123356:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2508)) = groupConcatInverse // sqlite3.c:123356:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2528 /* .pUserData */)) = uintptr(unsafe.Pointer(&globInfo)) // sqlite3.c:123359:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2536)) = likeFunc // sqlite3.c:123359:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2568 /* .pUserData */)) = uintptr(unsafe.Pointer(&likeInfoNorm)) // sqlite3.c:123364:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2576)) = likeFunc // sqlite3.c:123364:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2608 /* .pUserData */)) = uintptr(unsafe.Pointer(&likeInfoNorm)) // sqlite3.c:123365:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2616)) = likeFunc // sqlite3.c:123365:5: - *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2728)) = xCeil // sqlite3.c:123373:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2736)) = ceilingFunc // sqlite3.c:123373:5: - *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2768)) = xCeil // sqlite3.c:123374:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2776)) = ceilingFunc // sqlite3.c:123374:5: - *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2808)) = xFloor // sqlite3.c:123375:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2816)) = ceilingFunc // sqlite3.c:123375:5: - *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2848)) = libc.Xtrunc // sqlite3.c:123377:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2856)) = ceilingFunc // sqlite3.c:123377:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2896)) = logFunc // sqlite3.c:123379:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2936)) = logFunc // sqlite3.c:123380:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2976)) = logFunc // sqlite3.c:123381:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3016)) = logFunc // sqlite3.c:123382:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3056)) = logFunc // sqlite3.c:123383:5: - *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3088)) = libc.Xexp // sqlite3.c:123384:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3096)) = math1Func // sqlite3.c:123384:5: - *(*func(*libc.TLS, float64, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3128)) = libc.Xpow // sqlite3.c:123385:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3136)) = math2Func // sqlite3.c:123385:5: - *(*func(*libc.TLS, float64, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3168)) = libc.Xpow // sqlite3.c:123386:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3176)) = math2Func // sqlite3.c:123386:5: - *(*func(*libc.TLS, float64, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3208)) = libc.Xfmod // sqlite3.c:123387:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3216)) = math2Func // sqlite3.c:123387:5: - *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3248)) = libc.Xacos // sqlite3.c:123388:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3256)) = math1Func // sqlite3.c:123388:5: - *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3288)) = libc.Xasin // sqlite3.c:123389:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3296)) = math1Func // sqlite3.c:123389:5: - *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3328)) = libc.Xatan // sqlite3.c:123390:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3336)) = math1Func // sqlite3.c:123390:5: - *(*func(*libc.TLS, float64, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3368)) = libc.Xatan2 // sqlite3.c:123391:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3376)) = math2Func // sqlite3.c:123391:5: - *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3408)) = libc.Xcos // sqlite3.c:123392:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3416)) = math1Func // sqlite3.c:123392:5: - *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3448)) = libc.Xsin // sqlite3.c:123393:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3456)) = math1Func // sqlite3.c:123393:5: - *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3488)) = libc.Xtan // sqlite3.c:123394:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3496)) = math1Func // sqlite3.c:123394:5: - *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3528)) = libc.Xcosh // sqlite3.c:123395:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3536)) = math1Func // sqlite3.c:123395:5: - *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3568)) = libc.Xsinh // sqlite3.c:123396:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3576)) = math1Func // sqlite3.c:123396:5: - *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3608)) = libc.Xtanh // sqlite3.c:123397:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3616)) = math1Func // sqlite3.c:123397:5: - *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3648)) = libc.Xacosh // sqlite3.c:123399:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3656)) = math1Func // sqlite3.c:123399:5: - *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3688)) = libc.Xasinh // sqlite3.c:123400:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3696)) = math1Func // sqlite3.c:123400:5: - *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3728)) = libc.Xatanh // sqlite3.c:123401:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3736)) = math1Func // sqlite3.c:123401:5: - *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3768)) = libc.Xsqrt // sqlite3.c:123403:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3776)) = math1Func // sqlite3.c:123403:5: - *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3808)) = degToRad // sqlite3.c:123404:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3816)) = math1Func // sqlite3.c:123404:5: - *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3848)) = radToDeg // sqlite3.c:123405:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3856)) = math1Func // sqlite3.c:123405:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3896)) = piFunc // sqlite3.c:123406:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3936)) = signFunc // sqlite3.c:123408:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3976)) = versionFunc // sqlite3.c:123409:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4016)) = versionFunc // sqlite3.c:123410:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aAgg)) + 0)) = geopolyBBoxStep // sqlite3.c:202042:8: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aAgg)) + 4)) = geopolyBBoxFinal // sqlite3.c:202042:25: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aAlterTableFuncs)) + 16)) = renameColumnFunc // sqlite3.c:111080:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aAlterTableFuncs)) + 56)) = renameTableFunc // sqlite3.c:111081:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aAlterTableFuncs)) + 96)) = renameTableTest // sqlite3.c:111082:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aAlterTableFuncs)) + 136)) = dropColumnFunc // sqlite3.c:111083:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aAlterTableFuncs)) + 176)) = renameQuotefixFunc // sqlite3.c:111084:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 16)) = versionFunc // sqlite3.c:123285:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 56)) = versionFunc // sqlite3.c:123286:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 96)) = versionFunc // sqlite3.c:123287:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 136)) = versionFunc // sqlite3.c:123288:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 176)) = soundexFunc // sqlite3.c:123292:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 216)) = loadExt // sqlite3.c:123295:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 256)) = loadExt // sqlite3.c:123296:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 296)) = compileoptionusedFunc // sqlite3.c:123302:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 336)) = compileoptiongetFunc // sqlite3.c:123303:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 376)) = versionFunc // sqlite3.c:123305:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 416)) = versionFunc // sqlite3.c:123306:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 456)) = versionFunc // sqlite3.c:123307:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 496)) = versionFunc // sqlite3.c:123310:12: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 536)) = trimFunc // sqlite3.c:123312:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 576)) = trimFunc // sqlite3.c:123313:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 616)) = trimFunc // sqlite3.c:123314:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 656)) = trimFunc // sqlite3.c:123315:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 696)) = trimFunc // sqlite3.c:123316:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 736)) = trimFunc // sqlite3.c:123317:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 776)) = minmaxFunc // sqlite3.c:123318:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 856)) = minmaxStep // sqlite3.c:123320:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 860)) = minMaxFinalize // sqlite3.c:123320:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 864)) = minMaxValue // sqlite3.c:123320:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 896)) = minmaxFunc // sqlite3.c:123322:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 976)) = minmaxStep // sqlite3.c:123324:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 980)) = minMaxFinalize // sqlite3.c:123324:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 984)) = minMaxValue // sqlite3.c:123324:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1016)) = typeofFunc // sqlite3.c:123326:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1056)) = subtypeFunc // sqlite3.c:123327:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1096)) = lengthFunc // sqlite3.c:123328:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1136)) = instrFunc // sqlite3.c:123329:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1176)) = printfFunc // sqlite3.c:123330:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1216)) = printfFunc // sqlite3.c:123331:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1256)) = unicodeFunc // sqlite3.c:123332:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1296)) = charFunc // sqlite3.c:123333:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1336)) = absFunc // sqlite3.c:123334:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1376)) = roundFunc // sqlite3.c:123336:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1416)) = roundFunc // sqlite3.c:123337:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1456)) = upperFunc // sqlite3.c:123339:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1496)) = lowerFunc // sqlite3.c:123340:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1536)) = hexFunc // sqlite3.c:123341:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1576)) = versionFunc // sqlite3.c:123342:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1616)) = randomFunc // sqlite3.c:123343:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1656)) = randomBlob // sqlite3.c:123344:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1696)) = nullifFunc // sqlite3.c:123345:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1736)) = versionFunc // sqlite3.c:123346:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1776)) = sourceidFunc // sqlite3.c:123347:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1816)) = errlogFunc // sqlite3.c:123348:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1856)) = quoteFunc // sqlite3.c:123349:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1896)) = last_insert_rowid // sqlite3.c:123350:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1936)) = changes // sqlite3.c:123351:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1976)) = total_changes // sqlite3.c:123352:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2016)) = replaceFunc // sqlite3.c:123353:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2056)) = zeroblobFunc // sqlite3.c:123354:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2096)) = substrFunc // sqlite3.c:123355:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2136)) = substrFunc // sqlite3.c:123356:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2176)) = substrFunc // sqlite3.c:123357:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2216)) = substrFunc // sqlite3.c:123358:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2256)) = sumStep // sqlite3.c:123359:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2260)) = sumFinalize // sqlite3.c:123359:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2264)) = sumFinalize // sqlite3.c:123359:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2268)) = sumInverse // sqlite3.c:123359:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2296)) = sumStep // sqlite3.c:123360:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2300)) = totalFinalize // sqlite3.c:123360:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2304)) = totalFinalize // sqlite3.c:123360:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2308)) = sumInverse // sqlite3.c:123360:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2336)) = sumStep // sqlite3.c:123361:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2340)) = avgFinalize // sqlite3.c:123361:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2344)) = avgFinalize // sqlite3.c:123361:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2348)) = sumInverse // sqlite3.c:123361:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2376)) = countStep // sqlite3.c:123362:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2380)) = countFinalize // sqlite3.c:123362:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2384)) = countFinalize // sqlite3.c:123362:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2388)) = countInverse // sqlite3.c:123362:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2416)) = countStep // sqlite3.c:123365:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2420)) = countFinalize // sqlite3.c:123365:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2424)) = countFinalize // sqlite3.c:123365:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2428)) = countInverse // sqlite3.c:123365:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2456)) = groupConcatStep // sqlite3.c:123367:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2460)) = groupConcatFinalize // sqlite3.c:123367:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2464)) = groupConcatValue // sqlite3.c:123367:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2468)) = groupConcatInverse // sqlite3.c:123367:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2496)) = groupConcatStep // sqlite3.c:123369:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2500)) = groupConcatFinalize // sqlite3.c:123369:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2504)) = groupConcatValue // sqlite3.c:123369:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2508)) = groupConcatInverse // sqlite3.c:123369:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2528 /* .pUserData */)) = uintptr(unsafe.Pointer(&globInfo)) // sqlite3.c:123372:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2536)) = likeFunc // sqlite3.c:123372:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2568 /* .pUserData */)) = uintptr(unsafe.Pointer(&likeInfoNorm)) // sqlite3.c:123377:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2576)) = likeFunc // sqlite3.c:123377:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2608 /* .pUserData */)) = uintptr(unsafe.Pointer(&likeInfoNorm)) // sqlite3.c:123378:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2616)) = likeFunc // sqlite3.c:123378:5: + *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2728)) = xCeil // sqlite3.c:123386:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2736)) = ceilingFunc // sqlite3.c:123386:5: + *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2768)) = xCeil // sqlite3.c:123387:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2776)) = ceilingFunc // sqlite3.c:123387:5: + *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2808)) = xFloor // sqlite3.c:123388:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2816)) = ceilingFunc // sqlite3.c:123388:5: + *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2848)) = libc.Xtrunc // sqlite3.c:123390:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2856)) = ceilingFunc // sqlite3.c:123390:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2896)) = logFunc // sqlite3.c:123392:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2936)) = logFunc // sqlite3.c:123393:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2976)) = logFunc // sqlite3.c:123394:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3016)) = logFunc // sqlite3.c:123395:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3056)) = logFunc // sqlite3.c:123396:5: + *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3088)) = libc.Xexp // sqlite3.c:123397:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3096)) = math1Func // sqlite3.c:123397:5: + *(*func(*libc.TLS, float64, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3128)) = libc.Xpow // sqlite3.c:123398:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3136)) = math2Func // sqlite3.c:123398:5: + *(*func(*libc.TLS, float64, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3168)) = libc.Xpow // sqlite3.c:123399:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3176)) = math2Func // sqlite3.c:123399:5: + *(*func(*libc.TLS, float64, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3208)) = libc.Xfmod // sqlite3.c:123400:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3216)) = math2Func // sqlite3.c:123400:5: + *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3248)) = libc.Xacos // sqlite3.c:123401:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3256)) = math1Func // sqlite3.c:123401:5: + *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3288)) = libc.Xasin // sqlite3.c:123402:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3296)) = math1Func // sqlite3.c:123402:5: + *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3328)) = libc.Xatan // sqlite3.c:123403:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3336)) = math1Func // sqlite3.c:123403:5: + *(*func(*libc.TLS, float64, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3368)) = libc.Xatan2 // sqlite3.c:123404:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3376)) = math2Func // sqlite3.c:123404:5: + *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3408)) = libc.Xcos // sqlite3.c:123405:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3416)) = math1Func // sqlite3.c:123405:5: + *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3448)) = libc.Xsin // sqlite3.c:123406:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3456)) = math1Func // sqlite3.c:123406:5: + *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3488)) = libc.Xtan // sqlite3.c:123407:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3496)) = math1Func // sqlite3.c:123407:5: + *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3528)) = libc.Xcosh // sqlite3.c:123408:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3536)) = math1Func // sqlite3.c:123408:5: + *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3568)) = libc.Xsinh // sqlite3.c:123409:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3576)) = math1Func // sqlite3.c:123409:5: + *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3608)) = libc.Xtanh // sqlite3.c:123410:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3616)) = math1Func // sqlite3.c:123410:5: + *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3648)) = libc.Xacosh // sqlite3.c:123412:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3656)) = math1Func // sqlite3.c:123412:5: + *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3688)) = libc.Xasinh // sqlite3.c:123413:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3696)) = math1Func // sqlite3.c:123413:5: + *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3728)) = libc.Xatanh // sqlite3.c:123414:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3736)) = math1Func // sqlite3.c:123414:5: + *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3768)) = libc.Xsqrt // sqlite3.c:123416:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3776)) = math1Func // sqlite3.c:123416:5: + *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3808)) = degToRad // sqlite3.c:123417:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3816)) = math1Func // sqlite3.c:123417:5: + *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3848)) = radToDeg // sqlite3.c:123418:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3856)) = math1Func // sqlite3.c:123418:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3896)) = piFunc // sqlite3.c:123419:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3936)) = signFunc // sqlite3.c:123421:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3976)) = versionFunc // sqlite3.c:123422:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4016)) = versionFunc // sqlite3.c:123423:5: *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aDateTimeFuncs)) + 8 /* .pUserData */)) = uintptr(unsafe.Pointer(&Xsqlite3Config)) // sqlite3.c:24402:5: *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aDateTimeFuncs)) + 16)) = juliandayFunc // sqlite3.c:24402:5: *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aDateTimeFuncs)) + 48 /* .pUserData */)) = uintptr(unsafe.Pointer(&Xsqlite3Config)) // sqlite3.c:24403:5: @@ -195815,45 +195846,45 @@ func init() { *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aDateTimeFuncs)) + 256)) = ctimeFunc // sqlite3.c:24408:5: *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aDateTimeFuncs)) + 296)) = ctimestampFunc // sqlite3.c:24409:5: *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aDateTimeFuncs)) + 336)) = cdateFunc // sqlite3.c:24410:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 0)) = geopolyAreaFunc // sqlite3.c:201967:8: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 12)) = geopolyBlobFunc // sqlite3.c:201968:8: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 24)) = geopolyJsonFunc // sqlite3.c:201969:8: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 36)) = geopolySvgFunc // sqlite3.c:201970:8: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 48)) = geopolyWithinFunc // sqlite3.c:201971:8: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 60)) = geopolyContainsPointFunc // sqlite3.c:201972:8: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 72)) = geopolyOverlapFunc // sqlite3.c:201973:8: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 84)) = geopolyDebugFunc // sqlite3.c:201974:8: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 96)) = geopolyBBoxFunc // sqlite3.c:201975:8: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 108)) = geopolyXformFunc // sqlite3.c:201976:8: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 120)) = geopolyRegularFunc // sqlite3.c:201977:8: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 132)) = geopolyCcwFunc // sqlite3.c:201978:8: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 16)) = jsonRemoveFunc // sqlite3.c:195736:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 56)) = jsonArrayFunc // sqlite3.c:195737:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 96)) = jsonArrayLengthFunc // sqlite3.c:195738:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 136)) = jsonArrayLengthFunc // sqlite3.c:195739:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 176)) = jsonExtractFunc // sqlite3.c:195740:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 216)) = jsonExtractFunc // sqlite3.c:195741:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 256)) = jsonExtractFunc // sqlite3.c:195742:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 296)) = jsonSetFunc // sqlite3.c:195743:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 336)) = jsonObjectFunc // sqlite3.c:195744:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 376)) = jsonPatchFunc // sqlite3.c:195745:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 416)) = jsonQuoteFunc // sqlite3.c:195746:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 456)) = jsonRemoveFunc // sqlite3.c:195747:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 496)) = jsonReplaceFunc // sqlite3.c:195748:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 536)) = jsonSetFunc // sqlite3.c:195749:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 576)) = jsonTypeFunc // sqlite3.c:195750:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 616)) = jsonTypeFunc // sqlite3.c:195751:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 656)) = jsonValidFunc // sqlite3.c:195752:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 696)) = jsonArrayStep // sqlite3.c:195757:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 700)) = jsonArrayFinal // sqlite3.c:195757:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 704)) = jsonArrayValue // sqlite3.c:195757:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 708)) = jsonGroupInverse // sqlite3.c:195757:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 736)) = jsonObjectStep // sqlite3.c:195760:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 740)) = jsonObjectFinal // sqlite3.c:195760:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 744)) = jsonObjectValue // sqlite3.c:195760:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 748)) = jsonGroupInverse // sqlite3.c:195760:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aMod)) + 4 /* .pModule */)) = uintptr(unsafe.Pointer(&jsonEachModule)) // sqlite3.c:195778:31: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aMod)) + 12 /* .pModule */)) = uintptr(unsafe.Pointer(&jsonTreeModule)) // sqlite3.c:195779:31: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 0)) = geopolyAreaFunc // sqlite3.c:202024:8: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 12)) = geopolyBlobFunc // sqlite3.c:202025:8: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 24)) = geopolyJsonFunc // sqlite3.c:202026:8: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 36)) = geopolySvgFunc // sqlite3.c:202027:8: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 48)) = geopolyWithinFunc // sqlite3.c:202028:8: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 60)) = geopolyContainsPointFunc // sqlite3.c:202029:8: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 72)) = geopolyOverlapFunc // sqlite3.c:202030:8: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 84)) = geopolyDebugFunc // sqlite3.c:202031:8: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 96)) = geopolyBBoxFunc // sqlite3.c:202032:8: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 108)) = geopolyXformFunc // sqlite3.c:202033:8: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 120)) = geopolyRegularFunc // sqlite3.c:202034:8: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 132)) = geopolyCcwFunc // sqlite3.c:202035:8: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 16)) = jsonRemoveFunc // sqlite3.c:195793:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 56)) = jsonArrayFunc // sqlite3.c:195794:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 96)) = jsonArrayLengthFunc // sqlite3.c:195795:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 136)) = jsonArrayLengthFunc // sqlite3.c:195796:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 176)) = jsonExtractFunc // sqlite3.c:195797:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 216)) = jsonExtractFunc // sqlite3.c:195798:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 256)) = jsonExtractFunc // sqlite3.c:195799:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 296)) = jsonSetFunc // sqlite3.c:195800:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 336)) = jsonObjectFunc // sqlite3.c:195801:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 376)) = jsonPatchFunc // sqlite3.c:195802:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 416)) = jsonQuoteFunc // sqlite3.c:195803:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 456)) = jsonRemoveFunc // sqlite3.c:195804:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 496)) = jsonReplaceFunc // sqlite3.c:195805:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 536)) = jsonSetFunc // sqlite3.c:195806:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 576)) = jsonTypeFunc // sqlite3.c:195807:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 616)) = jsonTypeFunc // sqlite3.c:195808:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 656)) = jsonValidFunc // sqlite3.c:195809:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 696)) = jsonArrayStep // sqlite3.c:195814:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 700)) = jsonArrayFinal // sqlite3.c:195814:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 704)) = jsonArrayValue // sqlite3.c:195814:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 708)) = jsonGroupInverse // sqlite3.c:195814:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 736)) = jsonObjectStep // sqlite3.c:195817:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 740)) = jsonObjectFinal // sqlite3.c:195817:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 744)) = jsonObjectValue // sqlite3.c:195817:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 748)) = jsonGroupInverse // sqlite3.c:195817:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aMod)) + 4 /* .pModule */)) = uintptr(unsafe.Pointer(&jsonEachModule)) // sqlite3.c:195835:31: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aMod)) + 12 /* .pModule */)) = uintptr(unsafe.Pointer(&jsonTreeModule)) // sqlite3.c:195836:31: *(*Sqlite3_syscall_ptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 4 /* .pCurrent */)) = *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, int32) int32 }{posixOpen})) // sqlite3.c:35170:21: @@ -195917,150 +195948,150 @@ func init() { *(*Sqlite3_syscall_ptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 328 /* .pCurrent */)) = *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr) int32 }{libc.Xlstat})) // sqlite3.c:35313:22: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 20 /* .pAppData */)) = uintptr(unsafe.Pointer(&posixIoFinder)) // sqlite3.c:42842:5: - *(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 24)) = unixOpen // sqlite3.c:42842:5: - *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 28)) = unixDelete // sqlite3.c:42842:5: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 32)) = unixAccess // sqlite3.c:42842:5: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 36)) = unixFullPathname // sqlite3.c:42842:5: - *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 40)) = unixDlOpen // sqlite3.c:42842:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 44)) = unixDlError // sqlite3.c:42842:5: - *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 48)) = unixDlSym // sqlite3.c:42842:5: - *(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 52)) = unixDlClose // sqlite3.c:42842:5: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 56)) = unixRandomness // sqlite3.c:42842:5: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 60)) = unixSleep // sqlite3.c:42842:5: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 64)) = unixCurrentTime // sqlite3.c:42842:5: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 68)) = unixGetLastError // sqlite3.c:42842:5: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 72)) = unixCurrentTimeInt64 // sqlite3.c:42842:5: - *(*func(*libc.TLS, uintptr, uintptr, Sqlite3_syscall_ptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 76)) = unixSetSystemCall // sqlite3.c:42842:5: - *(*func(*libc.TLS, uintptr, uintptr) Sqlite3_syscall_ptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 80)) = unixGetSystemCall // sqlite3.c:42842:5: - *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 84)) = unixNextSystemCall // sqlite3.c:42842:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 108 /* .pAppData */)) = uintptr(unsafe.Pointer(&nolockIoFinder)) // sqlite3.c:42844:5: - *(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 112)) = unixOpen // sqlite3.c:42844:5: - *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 116)) = unixDelete // sqlite3.c:42844:5: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 120)) = unixAccess // sqlite3.c:42844:5: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 124)) = unixFullPathname // sqlite3.c:42844:5: - *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 128)) = unixDlOpen // sqlite3.c:42844:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 132)) = unixDlError // sqlite3.c:42844:5: - *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 136)) = unixDlSym // sqlite3.c:42844:5: - *(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 140)) = unixDlClose // sqlite3.c:42844:5: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 144)) = unixRandomness // sqlite3.c:42844:5: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 148)) = unixSleep // sqlite3.c:42844:5: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 152)) = unixCurrentTime // sqlite3.c:42844:5: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 156)) = unixGetLastError // sqlite3.c:42844:5: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 160)) = unixCurrentTimeInt64 // sqlite3.c:42844:5: - *(*func(*libc.TLS, uintptr, uintptr, Sqlite3_syscall_ptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 164)) = unixSetSystemCall // sqlite3.c:42844:5: - *(*func(*libc.TLS, uintptr, uintptr) Sqlite3_syscall_ptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 168)) = unixGetSystemCall // sqlite3.c:42844:5: - *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 172)) = unixNextSystemCall // sqlite3.c:42844:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 196 /* .pAppData */)) = uintptr(unsafe.Pointer(&dotlockIoFinder)) // sqlite3.c:42845:5: - *(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 200)) = unixOpen // sqlite3.c:42845:5: - *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 204)) = unixDelete // sqlite3.c:42845:5: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 208)) = unixAccess // sqlite3.c:42845:5: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 212)) = unixFullPathname // sqlite3.c:42845:5: - *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 216)) = unixDlOpen // sqlite3.c:42845:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 220)) = unixDlError // sqlite3.c:42845:5: - *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 224)) = unixDlSym // sqlite3.c:42845:5: - *(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 228)) = unixDlClose // sqlite3.c:42845:5: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 232)) = unixRandomness // sqlite3.c:42845:5: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 236)) = unixSleep // sqlite3.c:42845:5: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 240)) = unixCurrentTime // sqlite3.c:42845:5: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 244)) = unixGetLastError // sqlite3.c:42845:5: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 248)) = unixCurrentTimeInt64 // sqlite3.c:42845:5: - *(*func(*libc.TLS, uintptr, uintptr, Sqlite3_syscall_ptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 252)) = unixSetSystemCall // sqlite3.c:42845:5: - *(*func(*libc.TLS, uintptr, uintptr) Sqlite3_syscall_ptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 256)) = unixGetSystemCall // sqlite3.c:42845:5: - *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 260)) = unixNextSystemCall // sqlite3.c:42845:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 284 /* .pAppData */)) = uintptr(unsafe.Pointer(&posixIoFinder)) // sqlite3.c:42846:5: - *(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 288)) = unixOpen // sqlite3.c:42846:5: - *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 292)) = unixDelete // sqlite3.c:42846:5: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 296)) = unixAccess // sqlite3.c:42846:5: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 300)) = unixFullPathname // sqlite3.c:42846:5: - *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 304)) = unixDlOpen // sqlite3.c:42846:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 308)) = unixDlError // sqlite3.c:42846:5: - *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 312)) = unixDlSym // sqlite3.c:42846:5: - *(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 316)) = unixDlClose // sqlite3.c:42846:5: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 320)) = unixRandomness // sqlite3.c:42846:5: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 324)) = unixSleep // sqlite3.c:42846:5: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 328)) = unixCurrentTime // sqlite3.c:42846:5: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 332)) = unixGetLastError // sqlite3.c:42846:5: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 336)) = unixCurrentTimeInt64 // sqlite3.c:42846:5: - *(*func(*libc.TLS, uintptr, uintptr, Sqlite3_syscall_ptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 340)) = unixSetSystemCall // sqlite3.c:42846:5: - *(*func(*libc.TLS, uintptr, uintptr) Sqlite3_syscall_ptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 344)) = unixGetSystemCall // sqlite3.c:42846:5: - *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 348)) = unixNextSystemCall // sqlite3.c:42846:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 16)) = row_numberStepFunc // sqlite3.c:158796:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 20)) = row_numberValueFunc // sqlite3.c:158796:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 24)) = row_numberValueFunc // sqlite3.c:158796:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 28)) = noopStepFunc // sqlite3.c:158796:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 32 /* .zName */)) = uintptr(unsafe.Pointer(&row_numberName)) // sqlite3.c:158796:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 56)) = dense_rankStepFunc // sqlite3.c:158797:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 60)) = dense_rankValueFunc // sqlite3.c:158797:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 64)) = dense_rankValueFunc // sqlite3.c:158797:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 68)) = noopStepFunc // sqlite3.c:158797:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 72 /* .zName */)) = uintptr(unsafe.Pointer(&dense_rankName)) // sqlite3.c:158797:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 96)) = rankStepFunc // sqlite3.c:158798:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 100)) = rankValueFunc // sqlite3.c:158798:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 104)) = rankValueFunc // sqlite3.c:158798:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 108)) = noopStepFunc // sqlite3.c:158798:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 112 /* .zName */)) = uintptr(unsafe.Pointer(&rankName)) // sqlite3.c:158798:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 136)) = percent_rankStepFunc // sqlite3.c:158799:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 140)) = percent_rankValueFunc // sqlite3.c:158799:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 144)) = percent_rankValueFunc // sqlite3.c:158799:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 148)) = percent_rankInvFunc // sqlite3.c:158799:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 152 /* .zName */)) = uintptr(unsafe.Pointer(&percent_rankName)) // sqlite3.c:158799:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 176)) = cume_distStepFunc // sqlite3.c:158800:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 180)) = cume_distValueFunc // sqlite3.c:158800:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 184)) = cume_distValueFunc // sqlite3.c:158800:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 188)) = cume_distInvFunc // sqlite3.c:158800:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 192 /* .zName */)) = uintptr(unsafe.Pointer(&cume_distName)) // sqlite3.c:158800:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 216)) = ntileStepFunc // sqlite3.c:158801:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 220)) = ntileValueFunc // sqlite3.c:158801:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 224)) = ntileValueFunc // sqlite3.c:158801:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 228)) = ntileInvFunc // sqlite3.c:158801:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 232 /* .zName */)) = uintptr(unsafe.Pointer(&ntileName)) // sqlite3.c:158801:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 256)) = last_valueStepFunc // sqlite3.c:158802:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 260)) = last_valueFinalizeFunc // sqlite3.c:158802:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 264)) = last_valueValueFunc // sqlite3.c:158802:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 268)) = last_valueInvFunc // sqlite3.c:158802:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 272 /* .zName */)) = uintptr(unsafe.Pointer(&last_valueName)) // sqlite3.c:158802:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 296)) = nth_valueStepFunc // sqlite3.c:158803:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 300)) = nth_valueFinalizeFunc // sqlite3.c:158803:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 304)) = noopValueFunc // sqlite3.c:158803:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 308)) = noopStepFunc // sqlite3.c:158803:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 312 /* .zName */)) = uintptr(unsafe.Pointer(&nth_valueName)) // sqlite3.c:158803:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 336)) = first_valueStepFunc // sqlite3.c:158804:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 340)) = first_valueFinalizeFunc // sqlite3.c:158804:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 344)) = noopValueFunc // sqlite3.c:158804:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 348)) = noopStepFunc // sqlite3.c:158804:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 352 /* .zName */)) = uintptr(unsafe.Pointer(&first_valueName)) // sqlite3.c:158804:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 376)) = noopStepFunc // sqlite3.c:158805:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 380)) = noopValueFunc // sqlite3.c:158805:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 384)) = noopValueFunc // sqlite3.c:158805:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 388)) = noopStepFunc // sqlite3.c:158805:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 392 /* .zName */)) = uintptr(unsafe.Pointer(&leadName)) // sqlite3.c:158805:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 416)) = noopStepFunc // sqlite3.c:158806:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 420)) = noopValueFunc // sqlite3.c:158806:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 424)) = noopValueFunc // sqlite3.c:158806:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 428)) = noopStepFunc // sqlite3.c:158806:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 432 /* .zName */)) = uintptr(unsafe.Pointer(&leadName)) // sqlite3.c:158806:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 456)) = noopStepFunc // sqlite3.c:158807:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 460)) = noopValueFunc // sqlite3.c:158807:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 464)) = noopValueFunc // sqlite3.c:158807:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 468)) = noopStepFunc // sqlite3.c:158807:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 472 /* .zName */)) = uintptr(unsafe.Pointer(&leadName)) // sqlite3.c:158807:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 496)) = noopStepFunc // sqlite3.c:158808:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 500)) = noopValueFunc // sqlite3.c:158808:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 504)) = noopValueFunc // sqlite3.c:158808:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 508)) = noopStepFunc // sqlite3.c:158808:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 512 /* .zName */)) = uintptr(unsafe.Pointer(&lagName)) // sqlite3.c:158808:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 536)) = noopStepFunc // sqlite3.c:158809:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 540)) = noopValueFunc // sqlite3.c:158809:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 544)) = noopValueFunc // sqlite3.c:158809:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 548)) = noopStepFunc // sqlite3.c:158809:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 552 /* .zName */)) = uintptr(unsafe.Pointer(&lagName)) // sqlite3.c:158809:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 576)) = noopStepFunc // sqlite3.c:158810:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 580)) = noopValueFunc // sqlite3.c:158810:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 584)) = noopValueFunc // sqlite3.c:158810:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 588)) = noopStepFunc // sqlite3.c:158810:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 592 /* .zName */)) = uintptr(unsafe.Pointer(&lagName)) // sqlite3.c:158810:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&attach_func)) + 16)) = attachFunc // sqlite3.c:113438:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 20 /* .pAppData */)) = uintptr(unsafe.Pointer(&posixIoFinder)) // sqlite3.c:42848:5: + *(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 24)) = unixOpen // sqlite3.c:42848:5: + *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 28)) = unixDelete // sqlite3.c:42848:5: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 32)) = unixAccess // sqlite3.c:42848:5: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 36)) = unixFullPathname // sqlite3.c:42848:5: + *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 40)) = unixDlOpen // sqlite3.c:42848:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 44)) = unixDlError // sqlite3.c:42848:5: + *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 48)) = unixDlSym // sqlite3.c:42848:5: + *(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 52)) = unixDlClose // sqlite3.c:42848:5: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 56)) = unixRandomness // sqlite3.c:42848:5: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 60)) = unixSleep // sqlite3.c:42848:5: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 64)) = unixCurrentTime // sqlite3.c:42848:5: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 68)) = unixGetLastError // sqlite3.c:42848:5: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 72)) = unixCurrentTimeInt64 // sqlite3.c:42848:5: + *(*func(*libc.TLS, uintptr, uintptr, Sqlite3_syscall_ptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 76)) = unixSetSystemCall // sqlite3.c:42848:5: + *(*func(*libc.TLS, uintptr, uintptr) Sqlite3_syscall_ptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 80)) = unixGetSystemCall // sqlite3.c:42848:5: + *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 84)) = unixNextSystemCall // sqlite3.c:42848:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 108 /* .pAppData */)) = uintptr(unsafe.Pointer(&nolockIoFinder)) // sqlite3.c:42850:5: + *(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 112)) = unixOpen // sqlite3.c:42850:5: + *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 116)) = unixDelete // sqlite3.c:42850:5: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 120)) = unixAccess // sqlite3.c:42850:5: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 124)) = unixFullPathname // sqlite3.c:42850:5: + *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 128)) = unixDlOpen // sqlite3.c:42850:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 132)) = unixDlError // sqlite3.c:42850:5: + *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 136)) = unixDlSym // sqlite3.c:42850:5: + *(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 140)) = unixDlClose // sqlite3.c:42850:5: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 144)) = unixRandomness // sqlite3.c:42850:5: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 148)) = unixSleep // sqlite3.c:42850:5: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 152)) = unixCurrentTime // sqlite3.c:42850:5: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 156)) = unixGetLastError // sqlite3.c:42850:5: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 160)) = unixCurrentTimeInt64 // sqlite3.c:42850:5: + *(*func(*libc.TLS, uintptr, uintptr, Sqlite3_syscall_ptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 164)) = unixSetSystemCall // sqlite3.c:42850:5: + *(*func(*libc.TLS, uintptr, uintptr) Sqlite3_syscall_ptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 168)) = unixGetSystemCall // sqlite3.c:42850:5: + *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 172)) = unixNextSystemCall // sqlite3.c:42850:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 196 /* .pAppData */)) = uintptr(unsafe.Pointer(&dotlockIoFinder)) // sqlite3.c:42851:5: + *(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 200)) = unixOpen // sqlite3.c:42851:5: + *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 204)) = unixDelete // sqlite3.c:42851:5: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 208)) = unixAccess // sqlite3.c:42851:5: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 212)) = unixFullPathname // sqlite3.c:42851:5: + *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 216)) = unixDlOpen // sqlite3.c:42851:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 220)) = unixDlError // sqlite3.c:42851:5: + *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 224)) = unixDlSym // sqlite3.c:42851:5: + *(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 228)) = unixDlClose // sqlite3.c:42851:5: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 232)) = unixRandomness // sqlite3.c:42851:5: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 236)) = unixSleep // sqlite3.c:42851:5: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 240)) = unixCurrentTime // sqlite3.c:42851:5: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 244)) = unixGetLastError // sqlite3.c:42851:5: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 248)) = unixCurrentTimeInt64 // sqlite3.c:42851:5: + *(*func(*libc.TLS, uintptr, uintptr, Sqlite3_syscall_ptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 252)) = unixSetSystemCall // sqlite3.c:42851:5: + *(*func(*libc.TLS, uintptr, uintptr) Sqlite3_syscall_ptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 256)) = unixGetSystemCall // sqlite3.c:42851:5: + *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 260)) = unixNextSystemCall // sqlite3.c:42851:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 284 /* .pAppData */)) = uintptr(unsafe.Pointer(&posixIoFinder)) // sqlite3.c:42852:5: + *(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 288)) = unixOpen // sqlite3.c:42852:5: + *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 292)) = unixDelete // sqlite3.c:42852:5: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 296)) = unixAccess // sqlite3.c:42852:5: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 300)) = unixFullPathname // sqlite3.c:42852:5: + *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 304)) = unixDlOpen // sqlite3.c:42852:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 308)) = unixDlError // sqlite3.c:42852:5: + *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 312)) = unixDlSym // sqlite3.c:42852:5: + *(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 316)) = unixDlClose // sqlite3.c:42852:5: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 320)) = unixRandomness // sqlite3.c:42852:5: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 324)) = unixSleep // sqlite3.c:42852:5: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 328)) = unixCurrentTime // sqlite3.c:42852:5: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 332)) = unixGetLastError // sqlite3.c:42852:5: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 336)) = unixCurrentTimeInt64 // sqlite3.c:42852:5: + *(*func(*libc.TLS, uintptr, uintptr, Sqlite3_syscall_ptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 340)) = unixSetSystemCall // sqlite3.c:42852:5: + *(*func(*libc.TLS, uintptr, uintptr) Sqlite3_syscall_ptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 344)) = unixGetSystemCall // sqlite3.c:42852:5: + *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 348)) = unixNextSystemCall // sqlite3.c:42852:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 16)) = row_numberStepFunc // sqlite3.c:158853:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 20)) = row_numberValueFunc // sqlite3.c:158853:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 24)) = row_numberValueFunc // sqlite3.c:158853:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 28)) = noopStepFunc // sqlite3.c:158853:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 32 /* .zName */)) = uintptr(unsafe.Pointer(&row_numberName)) // sqlite3.c:158853:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 56)) = dense_rankStepFunc // sqlite3.c:158854:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 60)) = dense_rankValueFunc // sqlite3.c:158854:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 64)) = dense_rankValueFunc // sqlite3.c:158854:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 68)) = noopStepFunc // sqlite3.c:158854:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 72 /* .zName */)) = uintptr(unsafe.Pointer(&dense_rankName)) // sqlite3.c:158854:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 96)) = rankStepFunc // sqlite3.c:158855:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 100)) = rankValueFunc // sqlite3.c:158855:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 104)) = rankValueFunc // sqlite3.c:158855:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 108)) = noopStepFunc // sqlite3.c:158855:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 112 /* .zName */)) = uintptr(unsafe.Pointer(&rankName)) // sqlite3.c:158855:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 136)) = percent_rankStepFunc // sqlite3.c:158856:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 140)) = percent_rankValueFunc // sqlite3.c:158856:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 144)) = percent_rankValueFunc // sqlite3.c:158856:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 148)) = percent_rankInvFunc // sqlite3.c:158856:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 152 /* .zName */)) = uintptr(unsafe.Pointer(&percent_rankName)) // sqlite3.c:158856:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 176)) = cume_distStepFunc // sqlite3.c:158857:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 180)) = cume_distValueFunc // sqlite3.c:158857:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 184)) = cume_distValueFunc // sqlite3.c:158857:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 188)) = cume_distInvFunc // sqlite3.c:158857:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 192 /* .zName */)) = uintptr(unsafe.Pointer(&cume_distName)) // sqlite3.c:158857:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 216)) = ntileStepFunc // sqlite3.c:158858:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 220)) = ntileValueFunc // sqlite3.c:158858:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 224)) = ntileValueFunc // sqlite3.c:158858:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 228)) = ntileInvFunc // sqlite3.c:158858:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 232 /* .zName */)) = uintptr(unsafe.Pointer(&ntileName)) // sqlite3.c:158858:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 256)) = last_valueStepFunc // sqlite3.c:158859:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 260)) = last_valueFinalizeFunc // sqlite3.c:158859:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 264)) = last_valueValueFunc // sqlite3.c:158859:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 268)) = last_valueInvFunc // sqlite3.c:158859:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 272 /* .zName */)) = uintptr(unsafe.Pointer(&last_valueName)) // sqlite3.c:158859:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 296)) = nth_valueStepFunc // sqlite3.c:158860:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 300)) = nth_valueFinalizeFunc // sqlite3.c:158860:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 304)) = noopValueFunc // sqlite3.c:158860:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 308)) = noopStepFunc // sqlite3.c:158860:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 312 /* .zName */)) = uintptr(unsafe.Pointer(&nth_valueName)) // sqlite3.c:158860:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 336)) = first_valueStepFunc // sqlite3.c:158861:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 340)) = first_valueFinalizeFunc // sqlite3.c:158861:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 344)) = noopValueFunc // sqlite3.c:158861:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 348)) = noopStepFunc // sqlite3.c:158861:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 352 /* .zName */)) = uintptr(unsafe.Pointer(&first_valueName)) // sqlite3.c:158861:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 376)) = noopStepFunc // sqlite3.c:158862:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 380)) = noopValueFunc // sqlite3.c:158862:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 384)) = noopValueFunc // sqlite3.c:158862:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 388)) = noopStepFunc // sqlite3.c:158862:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 392 /* .zName */)) = uintptr(unsafe.Pointer(&leadName)) // sqlite3.c:158862:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 416)) = noopStepFunc // sqlite3.c:158863:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 420)) = noopValueFunc // sqlite3.c:158863:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 424)) = noopValueFunc // sqlite3.c:158863:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 428)) = noopStepFunc // sqlite3.c:158863:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 432 /* .zName */)) = uintptr(unsafe.Pointer(&leadName)) // sqlite3.c:158863:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 456)) = noopStepFunc // sqlite3.c:158864:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 460)) = noopValueFunc // sqlite3.c:158864:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 464)) = noopValueFunc // sqlite3.c:158864:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 468)) = noopStepFunc // sqlite3.c:158864:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 472 /* .zName */)) = uintptr(unsafe.Pointer(&leadName)) // sqlite3.c:158864:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 496)) = noopStepFunc // sqlite3.c:158865:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 500)) = noopValueFunc // sqlite3.c:158865:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 504)) = noopValueFunc // sqlite3.c:158865:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 508)) = noopStepFunc // sqlite3.c:158865:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 512 /* .zName */)) = uintptr(unsafe.Pointer(&lagName)) // sqlite3.c:158865:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 536)) = noopStepFunc // sqlite3.c:158866:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 540)) = noopValueFunc // sqlite3.c:158866:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 544)) = noopValueFunc // sqlite3.c:158866:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 548)) = noopStepFunc // sqlite3.c:158866:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 552 /* .zName */)) = uintptr(unsafe.Pointer(&lagName)) // sqlite3.c:158866:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 576)) = noopStepFunc // sqlite3.c:158867:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 580)) = noopValueFunc // sqlite3.c:158867:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 584)) = noopValueFunc // sqlite3.c:158867:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 588)) = noopStepFunc // sqlite3.c:158867:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 592 /* .zName */)) = uintptr(unsafe.Pointer(&lagName)) // sqlite3.c:158867:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&attach_func)) + 16)) = attachFunc // sqlite3.c:113451:5: *(*func(*libc.TLS, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods)) + 0)) = sqlite3MemMalloc // sqlite3.c:25299:6: *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods)) + 4)) = sqlite3MemFree // sqlite3.c:25300:6: *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods)) + 8)) = sqlite3MemRealloc // sqlite3.c:25301:6: @@ -196068,243 +196099,243 @@ func init() { *(*func(*libc.TLS, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods)) + 16)) = sqlite3MemRoundup // sqlite3.c:25303:6: *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods)) + 20)) = sqlite3MemInit // sqlite3.c:25304:6: *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods)) + 24)) = sqlite3MemShutdown // sqlite3.c:25305:6: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods1)) + 8)) = pcache1Init // sqlite3.c:52453:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods1)) + 12)) = pcache1Shutdown // sqlite3.c:52454:5: - *(*func(*libc.TLS, int32, int32, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods1)) + 16)) = pcache1Create // sqlite3.c:52455:5: - *(*func(*libc.TLS, uintptr, int32))(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods1)) + 20)) = pcache1Cachesize // sqlite3.c:52456:5: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods1)) + 24)) = pcache1Pagecount // sqlite3.c:52457:5: - *(*func(*libc.TLS, uintptr, uint32, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods1)) + 28)) = pcache1Fetch // sqlite3.c:52458:5: - *(*func(*libc.TLS, uintptr, uintptr, int32))(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods1)) + 32)) = pcache1Unpin // sqlite3.c:52459:5: - *(*func(*libc.TLS, uintptr, uintptr, uint32, uint32))(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods1)) + 36)) = pcache1Rekey // sqlite3.c:52460:5: - *(*func(*libc.TLS, uintptr, uint32))(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods1)) + 40)) = pcache1Truncate // sqlite3.c:52461:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods1)) + 44)) = pcache1Destroy // sqlite3.c:52462:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods1)) + 48)) = pcache1Shrink // sqlite3.c:52463:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&detach_func)) + 16)) = detachFunc // sqlite3.c:113418:5: - *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoFinder)) + 0)) = dotlockIoFinderImpl // sqlite3.c:40202:1: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 4)) = dotlockClose // sqlite3.c:40202:1: - *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 8)) = unixRead // sqlite3.c:40202:1: - *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 12)) = unixWrite // sqlite3.c:40202:1: - *(*func(*libc.TLS, uintptr, I64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 16)) = unixTruncate // sqlite3.c:40202:1: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 20)) = unixSync // sqlite3.c:40202:1: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 24)) = unixFileSize // sqlite3.c:40202:1: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 28)) = dotlockLock // sqlite3.c:40202:1: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 32)) = dotlockUnlock // sqlite3.c:40202:1: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 36)) = dotlockCheckReservedLock // sqlite3.c:40202:1: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 40)) = unixFileControl // sqlite3.c:40202:1: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 44)) = unixSectorSize // sqlite3.c:40202:1: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 48)) = unixDeviceCharacteristics // sqlite3.c:40202:1: - *(*func(*libc.TLS, uintptr, int32, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 56)) = unixShmLock // sqlite3.c:40202:1: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 60)) = unixShmBarrier // sqlite3.c:40202:1: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 64)) = unixShmUnmap // sqlite3.c:40202:1: - *(*func(*libc.TLS, uintptr, I64, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 68)) = unixFetch // sqlite3.c:40202:1: - *(*func(*libc.TLS, uintptr, I64, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 72)) = unixUnfetch // sqlite3.c:40202:1: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 4)) = fts5CreateMethod // sqlite3.c:234400:25: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 8)) = fts5ConnectMethod // sqlite3.c:234401:25: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 12)) = fts5BestIndexMethod // sqlite3.c:234402:25: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 16)) = fts5DisconnectMethod // sqlite3.c:234403:25: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 20)) = fts5DestroyMethod // sqlite3.c:234404:25: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 24)) = fts5OpenMethod // sqlite3.c:234405:25: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 28)) = fts5CloseMethod // sqlite3.c:234406:25: - *(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 32)) = fts5FilterMethod // sqlite3.c:234407:25: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 36)) = fts5NextMethod // sqlite3.c:234408:25: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 40)) = fts5EofMethod // sqlite3.c:234409:25: - *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 44)) = fts5ColumnMethod // sqlite3.c:234410:25: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 48)) = fts5RowidMethod // sqlite3.c:234411:25: - *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 52)) = fts5UpdateMethod // sqlite3.c:234412:25: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 56)) = fts5BeginMethod // sqlite3.c:234413:25: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 60)) = fts5SyncMethod // sqlite3.c:234414:25: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 64)) = fts5CommitMethod // sqlite3.c:234415:25: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 68)) = fts5RollbackMethod // sqlite3.c:234416:25: - *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 72)) = fts5FindFunctionMethod // sqlite3.c:234417:25: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 76)) = fts5RenameMethod // sqlite3.c:234418:25: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 80)) = fts5SavepointMethod // sqlite3.c:234419:25: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 84)) = fts5ReleaseMethod // sqlite3.c:234420:25: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 88)) = fts5RollbackToMethod // sqlite3.c:234421:25: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 92)) = fts5ShadowName // sqlite3.c:234422:25: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 4)) = fts5VocabCreateMethod // sqlite3.c:238983:25: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 8)) = fts5VocabConnectMethod // sqlite3.c:238984:25: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 12)) = fts5VocabBestIndexMethod // sqlite3.c:238985:25: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 16)) = fts5VocabDisconnectMethod // sqlite3.c:238986:25: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 20)) = fts5VocabDestroyMethod // sqlite3.c:238987:25: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 24)) = fts5VocabOpenMethod // sqlite3.c:238988:25: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 28)) = fts5VocabCloseMethod // sqlite3.c:238989:25: - *(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 32)) = fts5VocabFilterMethod // sqlite3.c:238990:25: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 36)) = fts5VocabNextMethod // sqlite3.c:238991:25: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 40)) = fts5VocabEofMethod // sqlite3.c:238992:25: - *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 44)) = fts5VocabColumnMethod // sqlite3.c:238993:25: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 48)) = fts5VocabRowidMethod // sqlite3.c:238994:25: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 4)) = geopolyCreate // sqlite3.c:201934:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 8)) = geopolyConnect // sqlite3.c:201935:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 12)) = geopolyBestIndex // sqlite3.c:201936:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 16)) = rtreeDisconnect // sqlite3.c:201937:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 20)) = rtreeDestroy // sqlite3.c:201938:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 24)) = rtreeOpen // sqlite3.c:201939:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 28)) = rtreeClose // sqlite3.c:201940:3: - *(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 32)) = geopolyFilter // sqlite3.c:201941:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 36)) = rtreeNext // sqlite3.c:201942:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 40)) = rtreeEof // sqlite3.c:201943:3: - *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 44)) = geopolyColumn // sqlite3.c:201944:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 48)) = rtreeRowid // sqlite3.c:201945:3: - *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 52)) = geopolyUpdate // sqlite3.c:201946:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 56)) = rtreeBeginTransaction // sqlite3.c:201947:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 60)) = rtreeEndTransaction // sqlite3.c:201948:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 64)) = rtreeEndTransaction // sqlite3.c:201949:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 68)) = rtreeEndTransaction // sqlite3.c:201950:3: - *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 72)) = geopolyFindFunction // sqlite3.c:201951:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 76)) = rtreeRename // sqlite3.c:201952:3: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 80)) = rtreeSavepoint // sqlite3.c:201953:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 92)) = rtreeShadowName // sqlite3.c:201956:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonEachModule)) + 8)) = jsonEachConnect // sqlite3.c:195676:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonEachModule)) + 12)) = jsonEachBestIndex // sqlite3.c:195677:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonEachModule)) + 16)) = jsonEachDisconnect // sqlite3.c:195678:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonEachModule)) + 24)) = jsonEachOpenEach // sqlite3.c:195680:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonEachModule)) + 28)) = jsonEachClose // sqlite3.c:195681:3: - *(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonEachModule)) + 32)) = jsonEachFilter // sqlite3.c:195682:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonEachModule)) + 36)) = jsonEachNext // sqlite3.c:195683:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonEachModule)) + 40)) = jsonEachEof // sqlite3.c:195684:3: - *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonEachModule)) + 44)) = jsonEachColumn // sqlite3.c:195685:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonEachModule)) + 48)) = jsonEachRowid // sqlite3.c:195686:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonTreeModule)) + 8)) = jsonEachConnect // sqlite3.c:195704:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonTreeModule)) + 12)) = jsonEachBestIndex // sqlite3.c:195705:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonTreeModule)) + 16)) = jsonEachDisconnect // sqlite3.c:195706:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonTreeModule)) + 24)) = jsonEachOpenTree // sqlite3.c:195708:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonTreeModule)) + 28)) = jsonEachClose // sqlite3.c:195709:3: - *(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonTreeModule)) + 32)) = jsonEachFilter // sqlite3.c:195710:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonTreeModule)) + 36)) = jsonEachNext // sqlite3.c:195711:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonTreeModule)) + 40)) = jsonEachEof // sqlite3.c:195712:3: - *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonTreeModule)) + 44)) = jsonEachColumn // sqlite3.c:195713:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonTreeModule)) + 48)) = jsonEachRowid // sqlite3.c:195714:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 4)) = memdbClose // sqlite3.c:49233:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 8)) = memdbRead // sqlite3.c:49234:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 12)) = memdbWrite // sqlite3.c:49235:3: - *(*func(*libc.TLS, uintptr, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 16)) = memdbTruncate // sqlite3.c:49236:3: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 20)) = memdbSync // sqlite3.c:49237:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 24)) = memdbFileSize // sqlite3.c:49238:3: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 28)) = memdbLock // sqlite3.c:49239:3: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 32)) = memdbLock // sqlite3.c:49240:3: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 40)) = memdbFileControl // sqlite3.c:49242:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 48)) = memdbDeviceCharacteristics // sqlite3.c:49244:3: - *(*func(*libc.TLS, uintptr, Sqlite3_int64, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 68)) = memdbFetch // sqlite3.c:49249:3: - *(*func(*libc.TLS, uintptr, Sqlite3_int64, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 72)) = memdbUnfetch // sqlite3.c:49250:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_vfs)) + 24)) = memdbOpen // sqlite3.c:49213:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_vfs)) + 32)) = memdbAccess // sqlite3.c:49215:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_vfs)) + 36)) = memdbFullPathname // sqlite3.c:49216:3: - *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_vfs)) + 40)) = memdbDlOpen // sqlite3.c:49217:3: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_vfs)) + 44)) = memdbDlError // sqlite3.c:49218:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_vfs)) + 48)) = memdbDlSym // sqlite3.c:49219:3: - *(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_vfs)) + 52)) = memdbDlClose // sqlite3.c:49220:3: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_vfs)) + 56)) = memdbRandomness // sqlite3.c:49221:3: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_vfs)) + 60)) = memdbSleep // sqlite3.c:49222:3: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_vfs)) + 68)) = memdbGetLastError // sqlite3.c:49224:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_vfs)) + 72)) = memdbCurrentTimeInt64 // sqlite3.c:49225:3: - *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoFinder)) + 0)) = nolockIoFinderImpl // sqlite3.c:40192:1: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 4)) = nolockClose // sqlite3.c:40192:1: - *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 8)) = unixRead // sqlite3.c:40192:1: - *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 12)) = unixWrite // sqlite3.c:40192:1: - *(*func(*libc.TLS, uintptr, I64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 16)) = unixTruncate // sqlite3.c:40192:1: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 20)) = unixSync // sqlite3.c:40192:1: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 24)) = unixFileSize // sqlite3.c:40192:1: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 28)) = nolockLock // sqlite3.c:40192:1: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 32)) = nolockUnlock // sqlite3.c:40192:1: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 36)) = nolockCheckReservedLock // sqlite3.c:40192:1: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 40)) = unixFileControl // sqlite3.c:40192:1: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 44)) = unixSectorSize // sqlite3.c:40192:1: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 48)) = unixDeviceCharacteristics // sqlite3.c:40192:1: - *(*func(*libc.TLS, uintptr, int32, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 56)) = unixShmLock // sqlite3.c:40192:1: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 60)) = unixShmBarrier // sqlite3.c:40192:1: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 64)) = unixShmUnmap // sqlite3.c:40192:1: - *(*func(*libc.TLS, uintptr, I64, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 68)) = unixFetch // sqlite3.c:40192:1: - *(*func(*libc.TLS, uintptr, I64, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 72)) = unixUnfetch // sqlite3.c:40192:1: - *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoFinder)) + 0)) = posixIoFinderImpl // sqlite3.c:40182:1: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 4)) = unixClose // sqlite3.c:40182:1: - *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 8)) = unixRead // sqlite3.c:40182:1: - *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 12)) = unixWrite // sqlite3.c:40182:1: - *(*func(*libc.TLS, uintptr, I64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 16)) = unixTruncate // sqlite3.c:40182:1: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 20)) = unixSync // sqlite3.c:40182:1: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 24)) = unixFileSize // sqlite3.c:40182:1: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 28)) = unixLock // sqlite3.c:40182:1: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 32)) = unixUnlock // sqlite3.c:40182:1: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 36)) = unixCheckReservedLock // sqlite3.c:40182:1: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 40)) = unixFileControl // sqlite3.c:40182:1: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 44)) = unixSectorSize // sqlite3.c:40182:1: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 48)) = unixDeviceCharacteristics // sqlite3.c:40182:1: - *(*func(*libc.TLS, uintptr, int32, int32, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 52)) = unixShmMap // sqlite3.c:40182:1: - *(*func(*libc.TLS, uintptr, int32, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 56)) = unixShmLock // sqlite3.c:40182:1: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 60)) = unixShmBarrier // sqlite3.c:40182:1: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 64)) = unixShmUnmap // sqlite3.c:40182:1: - *(*func(*libc.TLS, uintptr, I64, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 68)) = unixFetch // sqlite3.c:40182:1: - *(*func(*libc.TLS, uintptr, I64, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 72)) = unixUnfetch // sqlite3.c:40182:1: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&pragmaVtabModule)) + 8)) = pragmaVtabConnect // sqlite3.c:133106:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&pragmaVtabModule)) + 12)) = pragmaVtabBestIndex // sqlite3.c:133107:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&pragmaVtabModule)) + 16)) = pragmaVtabDisconnect // sqlite3.c:133108:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&pragmaVtabModule)) + 24)) = pragmaVtabOpen // sqlite3.c:133110:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&pragmaVtabModule)) + 28)) = pragmaVtabClose // sqlite3.c:133111:3: - *(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&pragmaVtabModule)) + 32)) = pragmaVtabFilter // sqlite3.c:133112:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&pragmaVtabModule)) + 36)) = pragmaVtabNext // sqlite3.c:133113:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&pragmaVtabModule)) + 40)) = pragmaVtabEof // sqlite3.c:133114:3: - *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&pragmaVtabModule)) + 44)) = pragmaVtabColumn // sqlite3.c:133115:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&pragmaVtabModule)) + 48)) = pragmaVtabRowid // sqlite3.c:133116:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 4)) = rbuVfsClose // sqlite3.c:208631:5: - *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 8)) = rbuVfsRead // sqlite3.c:208632:5: - *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 12)) = rbuVfsWrite // sqlite3.c:208633:5: - *(*func(*libc.TLS, uintptr, Sqlite_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 16)) = rbuVfsTruncate // sqlite3.c:208634:5: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 20)) = rbuVfsSync // sqlite3.c:208635:5: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 24)) = rbuVfsFileSize // sqlite3.c:208636:5: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 28)) = rbuVfsLock // sqlite3.c:208637:5: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 32)) = rbuVfsUnlock // sqlite3.c:208638:5: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 36)) = rbuVfsCheckReservedLock // sqlite3.c:208639:5: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 40)) = rbuVfsFileControl // sqlite3.c:208640:5: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 44)) = rbuVfsSectorSize // sqlite3.c:208641:5: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 48)) = rbuVfsDeviceCharacteristics // sqlite3.c:208642:5: - *(*func(*libc.TLS, uintptr, int32, int32, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 52)) = rbuVfsShmMap // sqlite3.c:208643:5: - *(*func(*libc.TLS, uintptr, int32, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 56)) = rbuVfsShmLock // sqlite3.c:208644:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 60)) = rbuVfsShmBarrier // sqlite3.c:208645:5: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 64)) = rbuVfsShmUnmap // sqlite3.c:208646:5: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 4)) = rtreeCreate // sqlite3.c:199272:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 8)) = rtreeConnect // sqlite3.c:199273:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 12)) = rtreeBestIndex // sqlite3.c:199274:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 16)) = rtreeDisconnect // sqlite3.c:199275:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 20)) = rtreeDestroy // sqlite3.c:199276:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 24)) = rtreeOpen // sqlite3.c:199277:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 28)) = rtreeClose // sqlite3.c:199278:3: - *(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 32)) = rtreeFilter // sqlite3.c:199279:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 36)) = rtreeNext // sqlite3.c:199280:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 40)) = rtreeEof // sqlite3.c:199281:3: - *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 44)) = rtreeColumn // sqlite3.c:199282:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 48)) = rtreeRowid // sqlite3.c:199283:3: - *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 52)) = rtreeUpdate // sqlite3.c:199284:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 56)) = rtreeBeginTransaction // sqlite3.c:199285:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 60)) = rtreeEndTransaction // sqlite3.c:199286:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 64)) = rtreeEndTransaction // sqlite3.c:199287:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 68)) = rtreeEndTransaction // sqlite3.c:199288:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 76)) = rtreeRename // sqlite3.c:199290:3: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 80)) = rtreeSavepoint // sqlite3.c:199291:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 92)) = rtreeShadowName // sqlite3.c:199294:3: - *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 4)) = fts5ApiUserData // sqlite3.c:233859:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 8)) = fts5ApiColumnCount // sqlite3.c:233860:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 12)) = fts5ApiRowCount // sqlite3.c:233861:3: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 16)) = fts5ApiColumnTotalSize // sqlite3.c:233862:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 20)) = fts5ApiTokenize // sqlite3.c:233863:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 24)) = fts5ApiPhraseCount // sqlite3.c:233864:3: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 28)) = fts5ApiPhraseSize // sqlite3.c:233865:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 32)) = fts5ApiInstCount // sqlite3.c:233866:3: - *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 36)) = fts5ApiInst // sqlite3.c:233867:3: - *(*func(*libc.TLS, uintptr) Sqlite3_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 40)) = fts5ApiRowid // sqlite3.c:233868:3: - *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 44)) = fts5ApiColumnText // sqlite3.c:233869:3: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 48)) = fts5ApiColumnSize // sqlite3.c:233870:3: - *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 52)) = fts5ApiQueryPhrase // sqlite3.c:233871:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 56)) = fts5ApiSetAuxdata // sqlite3.c:233872:3: - *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 60)) = fts5ApiGetAuxdata // sqlite3.c:233873:3: - *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 64)) = fts5ApiPhraseFirst // sqlite3.c:233874:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 68)) = fts5ApiPhraseNext // sqlite3.c:233875:3: - *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 72)) = fts5ApiPhraseFirstColumn // sqlite3.c:233876:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 76)) = fts5ApiPhraseNextColumn // sqlite3.c:233877:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sMemJournalMethods)) + 4)) = memjrnlClose // sqlite3.c:100023:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sMemJournalMethods)) + 8)) = memjrnlRead // sqlite3.c:100024:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sMemJournalMethods)) + 12)) = memjrnlWrite // sqlite3.c:100025:3: - *(*func(*libc.TLS, uintptr, Sqlite_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sMemJournalMethods)) + 16)) = memjrnlTruncate // sqlite3.c:100026:3: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sMemJournalMethods)) + 20)) = memjrnlSync // sqlite3.c:100027:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sMemJournalMethods)) + 24)) = memjrnlFileSize // sqlite3.c:100028:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods1)) + 8)) = pcache1Init // sqlite3.c:52463:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods1)) + 12)) = pcache1Shutdown // sqlite3.c:52464:5: + *(*func(*libc.TLS, int32, int32, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods1)) + 16)) = pcache1Create // sqlite3.c:52465:5: + *(*func(*libc.TLS, uintptr, int32))(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods1)) + 20)) = pcache1Cachesize // sqlite3.c:52466:5: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods1)) + 24)) = pcache1Pagecount // sqlite3.c:52467:5: + *(*func(*libc.TLS, uintptr, uint32, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods1)) + 28)) = pcache1Fetch // sqlite3.c:52468:5: + *(*func(*libc.TLS, uintptr, uintptr, int32))(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods1)) + 32)) = pcache1Unpin // sqlite3.c:52469:5: + *(*func(*libc.TLS, uintptr, uintptr, uint32, uint32))(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods1)) + 36)) = pcache1Rekey // sqlite3.c:52470:5: + *(*func(*libc.TLS, uintptr, uint32))(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods1)) + 40)) = pcache1Truncate // sqlite3.c:52471:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods1)) + 44)) = pcache1Destroy // sqlite3.c:52472:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods1)) + 48)) = pcache1Shrink // sqlite3.c:52473:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&detach_func)) + 16)) = detachFunc // sqlite3.c:113431:5: + *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoFinder)) + 0)) = dotlockIoFinderImpl // sqlite3.c:40208:1: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 4)) = dotlockClose // sqlite3.c:40208:1: + *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 8)) = unixRead // sqlite3.c:40208:1: + *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 12)) = unixWrite // sqlite3.c:40208:1: + *(*func(*libc.TLS, uintptr, I64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 16)) = unixTruncate // sqlite3.c:40208:1: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 20)) = unixSync // sqlite3.c:40208:1: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 24)) = unixFileSize // sqlite3.c:40208:1: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 28)) = dotlockLock // sqlite3.c:40208:1: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 32)) = dotlockUnlock // sqlite3.c:40208:1: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 36)) = dotlockCheckReservedLock // sqlite3.c:40208:1: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 40)) = unixFileControl // sqlite3.c:40208:1: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 44)) = unixSectorSize // sqlite3.c:40208:1: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 48)) = unixDeviceCharacteristics // sqlite3.c:40208:1: + *(*func(*libc.TLS, uintptr, int32, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 56)) = unixShmLock // sqlite3.c:40208:1: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 60)) = unixShmBarrier // sqlite3.c:40208:1: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 64)) = unixShmUnmap // sqlite3.c:40208:1: + *(*func(*libc.TLS, uintptr, I64, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 68)) = unixFetch // sqlite3.c:40208:1: + *(*func(*libc.TLS, uintptr, I64, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 72)) = unixUnfetch // sqlite3.c:40208:1: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 4)) = fts5CreateMethod // sqlite3.c:234457:25: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 8)) = fts5ConnectMethod // sqlite3.c:234458:25: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 12)) = fts5BestIndexMethod // sqlite3.c:234459:25: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 16)) = fts5DisconnectMethod // sqlite3.c:234460:25: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 20)) = fts5DestroyMethod // sqlite3.c:234461:25: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 24)) = fts5OpenMethod // sqlite3.c:234462:25: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 28)) = fts5CloseMethod // sqlite3.c:234463:25: + *(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 32)) = fts5FilterMethod // sqlite3.c:234464:25: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 36)) = fts5NextMethod // sqlite3.c:234465:25: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 40)) = fts5EofMethod // sqlite3.c:234466:25: + *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 44)) = fts5ColumnMethod // sqlite3.c:234467:25: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 48)) = fts5RowidMethod // sqlite3.c:234468:25: + *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 52)) = fts5UpdateMethod // sqlite3.c:234469:25: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 56)) = fts5BeginMethod // sqlite3.c:234470:25: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 60)) = fts5SyncMethod // sqlite3.c:234471:25: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 64)) = fts5CommitMethod // sqlite3.c:234472:25: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 68)) = fts5RollbackMethod // sqlite3.c:234473:25: + *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 72)) = fts5FindFunctionMethod // sqlite3.c:234474:25: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 76)) = fts5RenameMethod // sqlite3.c:234475:25: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 80)) = fts5SavepointMethod // sqlite3.c:234476:25: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 84)) = fts5ReleaseMethod // sqlite3.c:234477:25: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 88)) = fts5RollbackToMethod // sqlite3.c:234478:25: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 92)) = fts5ShadowName // sqlite3.c:234479:25: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 4)) = fts5VocabCreateMethod // sqlite3.c:239040:25: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 8)) = fts5VocabConnectMethod // sqlite3.c:239041:25: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 12)) = fts5VocabBestIndexMethod // sqlite3.c:239042:25: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 16)) = fts5VocabDisconnectMethod // sqlite3.c:239043:25: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 20)) = fts5VocabDestroyMethod // sqlite3.c:239044:25: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 24)) = fts5VocabOpenMethod // sqlite3.c:239045:25: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 28)) = fts5VocabCloseMethod // sqlite3.c:239046:25: + *(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 32)) = fts5VocabFilterMethod // sqlite3.c:239047:25: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 36)) = fts5VocabNextMethod // sqlite3.c:239048:25: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 40)) = fts5VocabEofMethod // sqlite3.c:239049:25: + *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 44)) = fts5VocabColumnMethod // sqlite3.c:239050:25: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 48)) = fts5VocabRowidMethod // sqlite3.c:239051:25: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 4)) = geopolyCreate // sqlite3.c:201991:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 8)) = geopolyConnect // sqlite3.c:201992:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 12)) = geopolyBestIndex // sqlite3.c:201993:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 16)) = rtreeDisconnect // sqlite3.c:201994:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 20)) = rtreeDestroy // sqlite3.c:201995:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 24)) = rtreeOpen // sqlite3.c:201996:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 28)) = rtreeClose // sqlite3.c:201997:3: + *(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 32)) = geopolyFilter // sqlite3.c:201998:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 36)) = rtreeNext // sqlite3.c:201999:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 40)) = rtreeEof // sqlite3.c:202000:3: + *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 44)) = geopolyColumn // sqlite3.c:202001:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 48)) = rtreeRowid // sqlite3.c:202002:3: + *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 52)) = geopolyUpdate // sqlite3.c:202003:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 56)) = rtreeBeginTransaction // sqlite3.c:202004:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 60)) = rtreeEndTransaction // sqlite3.c:202005:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 64)) = rtreeEndTransaction // sqlite3.c:202006:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 68)) = rtreeEndTransaction // sqlite3.c:202007:3: + *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 72)) = geopolyFindFunction // sqlite3.c:202008:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 76)) = rtreeRename // sqlite3.c:202009:3: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 80)) = rtreeSavepoint // sqlite3.c:202010:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 92)) = rtreeShadowName // sqlite3.c:202013:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonEachModule)) + 8)) = jsonEachConnect // sqlite3.c:195733:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonEachModule)) + 12)) = jsonEachBestIndex // sqlite3.c:195734:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonEachModule)) + 16)) = jsonEachDisconnect // sqlite3.c:195735:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonEachModule)) + 24)) = jsonEachOpenEach // sqlite3.c:195737:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonEachModule)) + 28)) = jsonEachClose // sqlite3.c:195738:3: + *(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonEachModule)) + 32)) = jsonEachFilter // sqlite3.c:195739:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonEachModule)) + 36)) = jsonEachNext // sqlite3.c:195740:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonEachModule)) + 40)) = jsonEachEof // sqlite3.c:195741:3: + *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonEachModule)) + 44)) = jsonEachColumn // sqlite3.c:195742:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonEachModule)) + 48)) = jsonEachRowid // sqlite3.c:195743:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonTreeModule)) + 8)) = jsonEachConnect // sqlite3.c:195761:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonTreeModule)) + 12)) = jsonEachBestIndex // sqlite3.c:195762:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonTreeModule)) + 16)) = jsonEachDisconnect // sqlite3.c:195763:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonTreeModule)) + 24)) = jsonEachOpenTree // sqlite3.c:195765:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonTreeModule)) + 28)) = jsonEachClose // sqlite3.c:195766:3: + *(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonTreeModule)) + 32)) = jsonEachFilter // sqlite3.c:195767:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonTreeModule)) + 36)) = jsonEachNext // sqlite3.c:195768:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonTreeModule)) + 40)) = jsonEachEof // sqlite3.c:195769:3: + *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonTreeModule)) + 44)) = jsonEachColumn // sqlite3.c:195770:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonTreeModule)) + 48)) = jsonEachRowid // sqlite3.c:195771:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 4)) = memdbClose // sqlite3.c:49243:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 8)) = memdbRead // sqlite3.c:49244:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 12)) = memdbWrite // sqlite3.c:49245:3: + *(*func(*libc.TLS, uintptr, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 16)) = memdbTruncate // sqlite3.c:49246:3: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 20)) = memdbSync // sqlite3.c:49247:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 24)) = memdbFileSize // sqlite3.c:49248:3: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 28)) = memdbLock // sqlite3.c:49249:3: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 32)) = memdbLock // sqlite3.c:49250:3: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 40)) = memdbFileControl // sqlite3.c:49252:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 48)) = memdbDeviceCharacteristics // sqlite3.c:49254:3: + *(*func(*libc.TLS, uintptr, Sqlite3_int64, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 68)) = memdbFetch // sqlite3.c:49259:3: + *(*func(*libc.TLS, uintptr, Sqlite3_int64, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 72)) = memdbUnfetch // sqlite3.c:49260:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_vfs)) + 24)) = memdbOpen // sqlite3.c:49223:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_vfs)) + 32)) = memdbAccess // sqlite3.c:49225:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_vfs)) + 36)) = memdbFullPathname // sqlite3.c:49226:3: + *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_vfs)) + 40)) = memdbDlOpen // sqlite3.c:49227:3: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_vfs)) + 44)) = memdbDlError // sqlite3.c:49228:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_vfs)) + 48)) = memdbDlSym // sqlite3.c:49229:3: + *(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_vfs)) + 52)) = memdbDlClose // sqlite3.c:49230:3: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_vfs)) + 56)) = memdbRandomness // sqlite3.c:49231:3: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_vfs)) + 60)) = memdbSleep // sqlite3.c:49232:3: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_vfs)) + 68)) = memdbGetLastError // sqlite3.c:49234:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_vfs)) + 72)) = memdbCurrentTimeInt64 // sqlite3.c:49235:3: + *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoFinder)) + 0)) = nolockIoFinderImpl // sqlite3.c:40198:1: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 4)) = nolockClose // sqlite3.c:40198:1: + *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 8)) = unixRead // sqlite3.c:40198:1: + *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 12)) = unixWrite // sqlite3.c:40198:1: + *(*func(*libc.TLS, uintptr, I64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 16)) = unixTruncate // sqlite3.c:40198:1: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 20)) = unixSync // sqlite3.c:40198:1: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 24)) = unixFileSize // sqlite3.c:40198:1: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 28)) = nolockLock // sqlite3.c:40198:1: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 32)) = nolockUnlock // sqlite3.c:40198:1: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 36)) = nolockCheckReservedLock // sqlite3.c:40198:1: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 40)) = unixFileControl // sqlite3.c:40198:1: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 44)) = unixSectorSize // sqlite3.c:40198:1: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 48)) = unixDeviceCharacteristics // sqlite3.c:40198:1: + *(*func(*libc.TLS, uintptr, int32, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 56)) = unixShmLock // sqlite3.c:40198:1: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 60)) = unixShmBarrier // sqlite3.c:40198:1: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 64)) = unixShmUnmap // sqlite3.c:40198:1: + *(*func(*libc.TLS, uintptr, I64, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 68)) = unixFetch // sqlite3.c:40198:1: + *(*func(*libc.TLS, uintptr, I64, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 72)) = unixUnfetch // sqlite3.c:40198:1: + *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoFinder)) + 0)) = posixIoFinderImpl // sqlite3.c:40188:1: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 4)) = unixClose // sqlite3.c:40188:1: + *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 8)) = unixRead // sqlite3.c:40188:1: + *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 12)) = unixWrite // sqlite3.c:40188:1: + *(*func(*libc.TLS, uintptr, I64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 16)) = unixTruncate // sqlite3.c:40188:1: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 20)) = unixSync // sqlite3.c:40188:1: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 24)) = unixFileSize // sqlite3.c:40188:1: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 28)) = unixLock // sqlite3.c:40188:1: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 32)) = unixUnlock // sqlite3.c:40188:1: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 36)) = unixCheckReservedLock // sqlite3.c:40188:1: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 40)) = unixFileControl // sqlite3.c:40188:1: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 44)) = unixSectorSize // sqlite3.c:40188:1: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 48)) = unixDeviceCharacteristics // sqlite3.c:40188:1: + *(*func(*libc.TLS, uintptr, int32, int32, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 52)) = unixShmMap // sqlite3.c:40188:1: + *(*func(*libc.TLS, uintptr, int32, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 56)) = unixShmLock // sqlite3.c:40188:1: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 60)) = unixShmBarrier // sqlite3.c:40188:1: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 64)) = unixShmUnmap // sqlite3.c:40188:1: + *(*func(*libc.TLS, uintptr, I64, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 68)) = unixFetch // sqlite3.c:40188:1: + *(*func(*libc.TLS, uintptr, I64, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 72)) = unixUnfetch // sqlite3.c:40188:1: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&pragmaVtabModule)) + 8)) = pragmaVtabConnect // sqlite3.c:133119:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&pragmaVtabModule)) + 12)) = pragmaVtabBestIndex // sqlite3.c:133120:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&pragmaVtabModule)) + 16)) = pragmaVtabDisconnect // sqlite3.c:133121:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&pragmaVtabModule)) + 24)) = pragmaVtabOpen // sqlite3.c:133123:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&pragmaVtabModule)) + 28)) = pragmaVtabClose // sqlite3.c:133124:3: + *(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&pragmaVtabModule)) + 32)) = pragmaVtabFilter // sqlite3.c:133125:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&pragmaVtabModule)) + 36)) = pragmaVtabNext // sqlite3.c:133126:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&pragmaVtabModule)) + 40)) = pragmaVtabEof // sqlite3.c:133127:3: + *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&pragmaVtabModule)) + 44)) = pragmaVtabColumn // sqlite3.c:133128:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&pragmaVtabModule)) + 48)) = pragmaVtabRowid // sqlite3.c:133129:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 4)) = rbuVfsClose // sqlite3.c:208688:5: + *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 8)) = rbuVfsRead // sqlite3.c:208689:5: + *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 12)) = rbuVfsWrite // sqlite3.c:208690:5: + *(*func(*libc.TLS, uintptr, Sqlite_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 16)) = rbuVfsTruncate // sqlite3.c:208691:5: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 20)) = rbuVfsSync // sqlite3.c:208692:5: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 24)) = rbuVfsFileSize // sqlite3.c:208693:5: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 28)) = rbuVfsLock // sqlite3.c:208694:5: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 32)) = rbuVfsUnlock // sqlite3.c:208695:5: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 36)) = rbuVfsCheckReservedLock // sqlite3.c:208696:5: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 40)) = rbuVfsFileControl // sqlite3.c:208697:5: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 44)) = rbuVfsSectorSize // sqlite3.c:208698:5: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 48)) = rbuVfsDeviceCharacteristics // sqlite3.c:208699:5: + *(*func(*libc.TLS, uintptr, int32, int32, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 52)) = rbuVfsShmMap // sqlite3.c:208700:5: + *(*func(*libc.TLS, uintptr, int32, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 56)) = rbuVfsShmLock // sqlite3.c:208701:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 60)) = rbuVfsShmBarrier // sqlite3.c:208702:5: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 64)) = rbuVfsShmUnmap // sqlite3.c:208703:5: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 4)) = rtreeCreate // sqlite3.c:199329:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 8)) = rtreeConnect // sqlite3.c:199330:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 12)) = rtreeBestIndex // sqlite3.c:199331:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 16)) = rtreeDisconnect // sqlite3.c:199332:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 20)) = rtreeDestroy // sqlite3.c:199333:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 24)) = rtreeOpen // sqlite3.c:199334:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 28)) = rtreeClose // sqlite3.c:199335:3: + *(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 32)) = rtreeFilter // sqlite3.c:199336:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 36)) = rtreeNext // sqlite3.c:199337:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 40)) = rtreeEof // sqlite3.c:199338:3: + *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 44)) = rtreeColumn // sqlite3.c:199339:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 48)) = rtreeRowid // sqlite3.c:199340:3: + *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 52)) = rtreeUpdate // sqlite3.c:199341:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 56)) = rtreeBeginTransaction // sqlite3.c:199342:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 60)) = rtreeEndTransaction // sqlite3.c:199343:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 64)) = rtreeEndTransaction // sqlite3.c:199344:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 68)) = rtreeEndTransaction // sqlite3.c:199345:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 76)) = rtreeRename // sqlite3.c:199347:3: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 80)) = rtreeSavepoint // sqlite3.c:199348:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 92)) = rtreeShadowName // sqlite3.c:199351:3: + *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 4)) = fts5ApiUserData // sqlite3.c:233916:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 8)) = fts5ApiColumnCount // sqlite3.c:233917:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 12)) = fts5ApiRowCount // sqlite3.c:233918:3: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 16)) = fts5ApiColumnTotalSize // sqlite3.c:233919:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 20)) = fts5ApiTokenize // sqlite3.c:233920:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 24)) = fts5ApiPhraseCount // sqlite3.c:233921:3: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 28)) = fts5ApiPhraseSize // sqlite3.c:233922:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 32)) = fts5ApiInstCount // sqlite3.c:233923:3: + *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 36)) = fts5ApiInst // sqlite3.c:233924:3: + *(*func(*libc.TLS, uintptr) Sqlite3_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 40)) = fts5ApiRowid // sqlite3.c:233925:3: + *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 44)) = fts5ApiColumnText // sqlite3.c:233926:3: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 48)) = fts5ApiColumnSize // sqlite3.c:233927:3: + *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 52)) = fts5ApiQueryPhrase // sqlite3.c:233928:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 56)) = fts5ApiSetAuxdata // sqlite3.c:233929:3: + *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 60)) = fts5ApiGetAuxdata // sqlite3.c:233930:3: + *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 64)) = fts5ApiPhraseFirst // sqlite3.c:233931:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 68)) = fts5ApiPhraseNext // sqlite3.c:233932:3: + *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 72)) = fts5ApiPhraseFirstColumn // sqlite3.c:233933:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 76)) = fts5ApiPhraseNextColumn // sqlite3.c:233934:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sMemJournalMethods)) + 4)) = memjrnlClose // sqlite3.c:100036:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sMemJournalMethods)) + 8)) = memjrnlRead // sqlite3.c:100037:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sMemJournalMethods)) + 12)) = memjrnlWrite // sqlite3.c:100038:3: + *(*func(*libc.TLS, uintptr, Sqlite_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sMemJournalMethods)) + 16)) = memjrnlTruncate // sqlite3.c:100039:3: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sMemJournalMethods)) + 20)) = memjrnlSync // sqlite3.c:100040:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sMemJournalMethods)) + 24)) = memjrnlFileSize // sqlite3.c:100041:3: *(*func(*libc.TLS) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sMutex)) + 0)) = noopMutexInit // sqlite3.c:27532:5: *(*func(*libc.TLS) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sMutex)) + 4)) = noopMutexEnd // sqlite3.c:27533:5: *(*func(*libc.TLS, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sMutex)) + 8)) = noopMutexAlloc // sqlite3.c:27534:5: @@ -196312,288 +196343,288 @@ func init() { *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sMutex)) + 16)) = noopMutexEnter // sqlite3.c:27536:5: *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sMutex)) + 20)) = noopMutexTry // sqlite3.c:27537:5: *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sMutex)) + 24)) = noopMutexLeave // sqlite3.c:27538:5: - *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 0)) = Xsqlite3_aggregate_context // sqlite3.c:129019:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 4)) = Xsqlite3_aggregate_count // sqlite3.c:129021:3: - *(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 8)) = Xsqlite3_bind_blob // sqlite3.c:129025:3: - *(*func(*libc.TLS, uintptr, int32, float64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 12)) = Xsqlite3_bind_double // sqlite3.c:129026:3: - *(*func(*libc.TLS, uintptr, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 16)) = Xsqlite3_bind_int // sqlite3.c:129027:3: - *(*func(*libc.TLS, uintptr, int32, Sqlite_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 20)) = Xsqlite3_bind_int64 // sqlite3.c:129028:3: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 24)) = Xsqlite3_bind_null // sqlite3.c:129029:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 28)) = Xsqlite3_bind_parameter_count // sqlite3.c:129030:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 32)) = Xsqlite3_bind_parameter_index // sqlite3.c:129031:3: - *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 36)) = Xsqlite3_bind_parameter_name // sqlite3.c:129032:3: - *(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 40)) = Xsqlite3_bind_text // sqlite3.c:129033:3: - *(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 44)) = Xsqlite3_bind_text16 // sqlite3.c:129034:3: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 48)) = Xsqlite3_bind_value // sqlite3.c:129035:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 52)) = Xsqlite3_busy_handler // sqlite3.c:129036:3: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 56)) = Xsqlite3_busy_timeout // sqlite3.c:129037:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 60)) = Xsqlite3_changes // sqlite3.c:129038:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 64)) = Xsqlite3_close // sqlite3.c:129039:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 68)) = Xsqlite3_collation_needed // sqlite3.c:129040:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 72)) = Xsqlite3_collation_needed16 // sqlite3.c:129041:3: - *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 76)) = Xsqlite3_column_blob // sqlite3.c:129042:3: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 80)) = Xsqlite3_column_bytes // sqlite3.c:129043:3: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 84)) = Xsqlite3_column_bytes16 // sqlite3.c:129044:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 88)) = Xsqlite3_column_count // sqlite3.c:129045:3: - *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 92)) = Xsqlite3_column_database_name // sqlite3.c:129046:3: - *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 96)) = Xsqlite3_column_database_name16 // sqlite3.c:129047:3: - *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 100)) = Xsqlite3_column_decltype // sqlite3.c:129048:3: - *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 104)) = Xsqlite3_column_decltype16 // sqlite3.c:129049:3: - *(*func(*libc.TLS, uintptr, int32) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 108)) = Xsqlite3_column_double // sqlite3.c:129050:3: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 112)) = Xsqlite3_column_int // sqlite3.c:129051:3: - *(*func(*libc.TLS, uintptr, int32) Sqlite_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 116)) = Xsqlite3_column_int64 // sqlite3.c:129052:3: - *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 120)) = Xsqlite3_column_name // sqlite3.c:129053:3: - *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 124)) = Xsqlite3_column_name16 // sqlite3.c:129054:3: - *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 128)) = Xsqlite3_column_origin_name // sqlite3.c:129055:3: - *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 132)) = Xsqlite3_column_origin_name16 // sqlite3.c:129056:3: - *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 136)) = Xsqlite3_column_table_name // sqlite3.c:129057:3: - *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 140)) = Xsqlite3_column_table_name16 // sqlite3.c:129058:3: - *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 144)) = Xsqlite3_column_text // sqlite3.c:129059:3: - *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 148)) = Xsqlite3_column_text16 // sqlite3.c:129060:3: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 152)) = Xsqlite3_column_type // sqlite3.c:129061:3: - *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 156)) = Xsqlite3_column_value // sqlite3.c:129062:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 160)) = Xsqlite3_commit_hook // sqlite3.c:129063:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 164)) = Xsqlite3_complete // sqlite3.c:129064:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 168)) = Xsqlite3_complete16 // sqlite3.c:129065:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 172)) = Xsqlite3_create_collation // sqlite3.c:129066:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 176)) = Xsqlite3_create_collation16 // sqlite3.c:129067:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, int32, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 180)) = Xsqlite3_create_function // sqlite3.c:129068:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, int32, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 184)) = Xsqlite3_create_function16 // sqlite3.c:129069:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 188)) = Xsqlite3_create_module // sqlite3.c:129070:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 192)) = Xsqlite3_data_count // sqlite3.c:129071:3: - *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 196)) = Xsqlite3_db_handle // sqlite3.c:129072:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 200)) = Xsqlite3_declare_vtab // sqlite3.c:129073:3: - *(*func(*libc.TLS, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 204)) = Xsqlite3_enable_shared_cache // sqlite3.c:129074:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 208)) = Xsqlite3_errcode // sqlite3.c:129075:3: - *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 212)) = Xsqlite3_errmsg // sqlite3.c:129076:3: - *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 216)) = Xsqlite3_errmsg16 // sqlite3.c:129077:3: - *(*func(*libc.TLS, uintptr, uintptr, Sqlite3_callback, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 220)) = Xsqlite3_exec // sqlite3.c:129078:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 224)) = Xsqlite3_expired // sqlite3.c:129080:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 228)) = Xsqlite3_finalize // sqlite3.c:129084:3: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 232)) = Xsqlite3_free // sqlite3.c:129085:3: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 236)) = Xsqlite3_free_table // sqlite3.c:129086:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 240)) = Xsqlite3_get_autocommit // sqlite3.c:129087:3: - *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 244)) = Xsqlite3_get_auxdata // sqlite3.c:129088:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 248)) = Xsqlite3_get_table // sqlite3.c:129089:3: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 256)) = Xsqlite3_interrupt // sqlite3.c:129091:3: - *(*func(*libc.TLS, uintptr) Sqlite3_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 260)) = Xsqlite3_last_insert_rowid // sqlite3.c:129092:3: - *(*func(*libc.TLS) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 264)) = Xsqlite3_libversion // sqlite3.c:129093:3: - *(*func(*libc.TLS) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 268)) = Xsqlite3_libversion_number // sqlite3.c:129094:3: - *(*func(*libc.TLS, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 272)) = Xsqlite3_malloc // sqlite3.c:129095:3: - *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 276)) = Xsqlite3_mprintf // sqlite3.c:129096:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 280)) = Xsqlite3_open // sqlite3.c:129097:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 284)) = Xsqlite3_open16 // sqlite3.c:129098:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 288)) = Xsqlite3_prepare // sqlite3.c:129099:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 292)) = Xsqlite3_prepare16 // sqlite3.c:129100:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 296)) = Xsqlite3_profile // sqlite3.c:129101:3: - *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 300)) = Xsqlite3_progress_handler // sqlite3.c:129102:3: - *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 304)) = Xsqlite3_realloc // sqlite3.c:129103:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 308)) = Xsqlite3_reset // sqlite3.c:129104:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 312)) = Xsqlite3_result_blob // sqlite3.c:129105:3: - *(*func(*libc.TLS, uintptr, float64))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 316)) = Xsqlite3_result_double // sqlite3.c:129106:3: - *(*func(*libc.TLS, uintptr, uintptr, int32))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 320)) = Xsqlite3_result_error // sqlite3.c:129107:3: - *(*func(*libc.TLS, uintptr, uintptr, int32))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 324)) = Xsqlite3_result_error16 // sqlite3.c:129108:3: - *(*func(*libc.TLS, uintptr, int32))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 328)) = Xsqlite3_result_int // sqlite3.c:129109:3: - *(*func(*libc.TLS, uintptr, I64))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 332)) = Xsqlite3_result_int64 // sqlite3.c:129110:3: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 336)) = Xsqlite3_result_null // sqlite3.c:129111:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 340)) = Xsqlite3_result_text // sqlite3.c:129112:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 344)) = Xsqlite3_result_text16 // sqlite3.c:129113:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 348)) = Xsqlite3_result_text16be // sqlite3.c:129114:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 352)) = Xsqlite3_result_text16le // sqlite3.c:129115:3: - *(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 356)) = Xsqlite3_result_value // sqlite3.c:129116:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 360)) = Xsqlite3_rollback_hook // sqlite3.c:129117:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 364)) = Xsqlite3_set_authorizer // sqlite3.c:129118:3: - *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 368)) = Xsqlite3_set_auxdata // sqlite3.c:129119:3: - *(*func(*libc.TLS, int32, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 372)) = Xsqlite3_snprintf // sqlite3.c:129120:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 376)) = Xsqlite3_step // sqlite3.c:129121:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr, uintptr, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 380)) = Xsqlite3_table_column_metadata // sqlite3.c:129122:3: - *(*func(*libc.TLS))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 384)) = Xsqlite3_thread_cleanup // sqlite3.c:129124:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 388)) = Xsqlite3_total_changes // sqlite3.c:129128:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 392)) = Xsqlite3_trace // sqlite3.c:129129:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 396)) = Xsqlite3_transfer_bindings // sqlite3.c:129131:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 400)) = Xsqlite3_update_hook // sqlite3.c:129135:3: - *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 404)) = Xsqlite3_user_data // sqlite3.c:129136:3: - *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 408)) = Xsqlite3_value_blob // sqlite3.c:129137:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 412)) = Xsqlite3_value_bytes // sqlite3.c:129138:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 416)) = Xsqlite3_value_bytes16 // sqlite3.c:129139:3: - *(*func(*libc.TLS, uintptr) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 420)) = Xsqlite3_value_double // sqlite3.c:129140:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 424)) = Xsqlite3_value_int // sqlite3.c:129141:3: - *(*func(*libc.TLS, uintptr) Sqlite_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 428)) = Xsqlite3_value_int64 // sqlite3.c:129142:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 432)) = Xsqlite3_value_numeric_type // sqlite3.c:129143:3: - *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 436)) = Xsqlite3_value_text // sqlite3.c:129144:3: - *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 440)) = Xsqlite3_value_text16 // sqlite3.c:129145:3: - *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 444)) = Xsqlite3_value_text16be // sqlite3.c:129146:3: - *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 448)) = Xsqlite3_value_text16le // sqlite3.c:129147:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 452)) = Xsqlite3_value_type // sqlite3.c:129148:3: - *(*func(*libc.TLS, uintptr, Va_list) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 456)) = Xsqlite3_vmprintf // sqlite3.c:129149:3: - *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 460)) = Xsqlite3_overload_function // sqlite3.c:129158:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 464)) = Xsqlite3_prepare_v2 // sqlite3.c:129163:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 468)) = Xsqlite3_prepare16_v2 // sqlite3.c:129164:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 472)) = Xsqlite3_clear_bindings // sqlite3.c:129165:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 476)) = Xsqlite3_create_module_v2 // sqlite3.c:129170:3: - *(*func(*libc.TLS, uintptr, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 480)) = Xsqlite3_bind_zeroblob // sqlite3.c:129175:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 484)) = Xsqlite3_blob_bytes // sqlite3.c:129176:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 488)) = Xsqlite3_blob_close // sqlite3.c:129177:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr, Sqlite_int64, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 492)) = Xsqlite3_blob_open // sqlite3.c:129178:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 496)) = Xsqlite3_blob_read // sqlite3.c:129179:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 500)) = Xsqlite3_blob_write // sqlite3.c:129180:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 504)) = Xsqlite3_create_collation_v2 // sqlite3.c:129181:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 508)) = Xsqlite3_file_control // sqlite3.c:129182:3: - *(*func(*libc.TLS, int32) Sqlite3_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 512)) = Xsqlite3_memory_highwater // sqlite3.c:129183:3: - *(*func(*libc.TLS) Sqlite3_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 516)) = Xsqlite3_memory_used // sqlite3.c:129184:3: - *(*func(*libc.TLS, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 520)) = Xsqlite3_mutex_alloc // sqlite3.c:129192:3: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 524)) = Xsqlite3_mutex_enter // sqlite3.c:129193:3: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 528)) = Xsqlite3_mutex_free // sqlite3.c:129194:3: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 532)) = Xsqlite3_mutex_leave // sqlite3.c:129195:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 536)) = Xsqlite3_mutex_try // sqlite3.c:129196:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 540)) = Xsqlite3_open_v2 // sqlite3.c:129198:3: - *(*func(*libc.TLS, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 544)) = Xsqlite3_release_memory // sqlite3.c:129199:3: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 548)) = Xsqlite3_result_error_nomem // sqlite3.c:129200:3: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 552)) = Xsqlite3_result_error_toobig // sqlite3.c:129201:3: - *(*func(*libc.TLS, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 556)) = Xsqlite3_sleep // sqlite3.c:129202:3: - *(*func(*libc.TLS, int32))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 560)) = Xsqlite3_soft_heap_limit // sqlite3.c:129203:3: - *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 564)) = Xsqlite3_vfs_find // sqlite3.c:129204:3: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 568)) = Xsqlite3_vfs_register // sqlite3.c:129205:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 572)) = Xsqlite3_vfs_unregister // sqlite3.c:129206:3: - *(*func(*libc.TLS) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 576)) = Xsqlite3_threadsafe // sqlite3.c:129211:3: - *(*func(*libc.TLS, uintptr, int32))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 580)) = Xsqlite3_result_zeroblob // sqlite3.c:129212:3: - *(*func(*libc.TLS, uintptr, int32))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 584)) = Xsqlite3_result_error_code // sqlite3.c:129213:3: - *(*func(*libc.TLS, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 588)) = Xsqlite3_test_control // sqlite3.c:129214:3: - *(*func(*libc.TLS, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 592)) = Xsqlite3_randomness // sqlite3.c:129215:3: - *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 596)) = Xsqlite3_context_db_handle // sqlite3.c:129216:3: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 600)) = Xsqlite3_extended_result_codes // sqlite3.c:129221:3: - *(*func(*libc.TLS, uintptr, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 604)) = Xsqlite3_limit // sqlite3.c:129222:3: - *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 608)) = Xsqlite3_next_stmt // sqlite3.c:129223:3: - *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 612)) = Xsqlite3_sql // sqlite3.c:129224:3: - *(*func(*libc.TLS, int32, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 616)) = Xsqlite3_status // sqlite3.c:129225:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 620)) = Xsqlite3_backup_finish // sqlite3.c:129230:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 624)) = Xsqlite3_backup_init // sqlite3.c:129231:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 628)) = Xsqlite3_backup_pagecount // sqlite3.c:129232:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 632)) = Xsqlite3_backup_remaining // sqlite3.c:129233:3: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 636)) = Xsqlite3_backup_step // sqlite3.c:129234:3: - *(*func(*libc.TLS, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 640)) = Xsqlite3_compileoption_get // sqlite3.c:129236:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 644)) = Xsqlite3_compileoption_used // sqlite3.c:129237:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, int32, uintptr, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 648)) = Xsqlite3_create_function_v2 // sqlite3.c:129242:3: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 652)) = Xsqlite3_db_config // sqlite3.c:129243:3: - *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 656)) = Xsqlite3_db_mutex // sqlite3.c:129244:3: - *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 660)) = Xsqlite3_db_status // sqlite3.c:129245:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 664)) = Xsqlite3_extended_errcode // sqlite3.c:129246:3: - *(*func(*libc.TLS, int32, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 668)) = Xsqlite3_log // sqlite3.c:129247:3: - *(*func(*libc.TLS, Sqlite3_int64) Sqlite3_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 672)) = Xsqlite3_soft_heap_limit64 // sqlite3.c:129248:3: - *(*func(*libc.TLS) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 676)) = Xsqlite3_sourceid // sqlite3.c:129249:3: - *(*func(*libc.TLS, uintptr, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 680)) = Xsqlite3_stmt_status // sqlite3.c:129250:3: - *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 684)) = Xsqlite3_strnicmp // sqlite3.c:129251:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 688)) = Xsqlite3_unlock_notify // sqlite3.c:129253:3: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 692)) = Xsqlite3_wal_autocheckpoint // sqlite3.c:129258:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 696)) = Xsqlite3_wal_checkpoint // sqlite3.c:129259:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 700)) = Xsqlite3_wal_hook // sqlite3.c:129260:3: - *(*func(*libc.TLS, uintptr, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 704)) = Xsqlite3_blob_reopen // sqlite3.c:129266:3: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 708)) = Xsqlite3_vtab_config // sqlite3.c:129267:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 712)) = Xsqlite3_vtab_on_conflict // sqlite3.c:129268:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 716)) = Xsqlite3_close_v2 // sqlite3.c:129269:3: - *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 720)) = Xsqlite3_db_filename // sqlite3.c:129270:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 724)) = Xsqlite3_db_readonly // sqlite3.c:129271:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 728)) = Xsqlite3_db_release_memory // sqlite3.c:129272:3: - *(*func(*libc.TLS, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 732)) = Xsqlite3_errstr // sqlite3.c:129273:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 736)) = Xsqlite3_stmt_busy // sqlite3.c:129274:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 740)) = Xsqlite3_stmt_readonly // sqlite3.c:129275:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 744)) = Xsqlite3_stricmp // sqlite3.c:129276:3: - *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 748)) = Xsqlite3_uri_boolean // sqlite3.c:129277:3: - *(*func(*libc.TLS, uintptr, uintptr, Sqlite3_int64) Sqlite3_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 752)) = Xsqlite3_uri_int64 // sqlite3.c:129278:3: - *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 756)) = Xsqlite3_uri_parameter // sqlite3.c:129279:3: - *(*func(*libc.TLS, int32, uintptr, uintptr, Va_list) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 760)) = Xsqlite3_vsnprintf // sqlite3.c:129280:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 764)) = Xsqlite3_wal_checkpoint_v2 // sqlite3.c:129281:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 768)) = Xsqlite3_auto_extension // sqlite3.c:129283:3: - *(*func(*libc.TLS, uintptr, int32, uintptr, Sqlite3_uint64, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 772)) = Xsqlite3_bind_blob64 // sqlite3.c:129284:3: - *(*func(*libc.TLS, uintptr, int32, uintptr, Sqlite3_uint64, uintptr, uint8) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 776)) = Xsqlite3_bind_text64 // sqlite3.c:129285:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 780)) = Xsqlite3_cancel_auto_extension // sqlite3.c:129286:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 784)) = Xsqlite3_load_extension // sqlite3.c:129287:3: - *(*func(*libc.TLS, Sqlite3_uint64) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 788)) = Xsqlite3_malloc64 // sqlite3.c:129288:3: - *(*func(*libc.TLS, uintptr) Sqlite3_uint64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 792)) = Xsqlite3_msize // sqlite3.c:129289:3: - *(*func(*libc.TLS, uintptr, Sqlite3_uint64) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 796)) = Xsqlite3_realloc64 // sqlite3.c:129290:3: - *(*func(*libc.TLS))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 800)) = Xsqlite3_reset_auto_extension // sqlite3.c:129291:3: - *(*func(*libc.TLS, uintptr, uintptr, Sqlite3_uint64, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 804)) = Xsqlite3_result_blob64 // sqlite3.c:129292:3: - *(*func(*libc.TLS, uintptr, uintptr, Sqlite3_uint64, uintptr, uint8))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 808)) = Xsqlite3_result_text64 // sqlite3.c:129293:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 812)) = Xsqlite3_strglob // sqlite3.c:129294:3: + *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 0)) = Xsqlite3_aggregate_context // sqlite3.c:129032:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 4)) = Xsqlite3_aggregate_count // sqlite3.c:129034:3: + *(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 8)) = Xsqlite3_bind_blob // sqlite3.c:129038:3: + *(*func(*libc.TLS, uintptr, int32, float64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 12)) = Xsqlite3_bind_double // sqlite3.c:129039:3: + *(*func(*libc.TLS, uintptr, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 16)) = Xsqlite3_bind_int // sqlite3.c:129040:3: + *(*func(*libc.TLS, uintptr, int32, Sqlite_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 20)) = Xsqlite3_bind_int64 // sqlite3.c:129041:3: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 24)) = Xsqlite3_bind_null // sqlite3.c:129042:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 28)) = Xsqlite3_bind_parameter_count // sqlite3.c:129043:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 32)) = Xsqlite3_bind_parameter_index // sqlite3.c:129044:3: + *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 36)) = Xsqlite3_bind_parameter_name // sqlite3.c:129045:3: + *(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 40)) = Xsqlite3_bind_text // sqlite3.c:129046:3: + *(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 44)) = Xsqlite3_bind_text16 // sqlite3.c:129047:3: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 48)) = Xsqlite3_bind_value // sqlite3.c:129048:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 52)) = Xsqlite3_busy_handler // sqlite3.c:129049:3: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 56)) = Xsqlite3_busy_timeout // sqlite3.c:129050:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 60)) = Xsqlite3_changes // sqlite3.c:129051:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 64)) = Xsqlite3_close // sqlite3.c:129052:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 68)) = Xsqlite3_collation_needed // sqlite3.c:129053:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 72)) = Xsqlite3_collation_needed16 // sqlite3.c:129054:3: + *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 76)) = Xsqlite3_column_blob // sqlite3.c:129055:3: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 80)) = Xsqlite3_column_bytes // sqlite3.c:129056:3: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 84)) = Xsqlite3_column_bytes16 // sqlite3.c:129057:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 88)) = Xsqlite3_column_count // sqlite3.c:129058:3: + *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 92)) = Xsqlite3_column_database_name // sqlite3.c:129059:3: + *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 96)) = Xsqlite3_column_database_name16 // sqlite3.c:129060:3: + *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 100)) = Xsqlite3_column_decltype // sqlite3.c:129061:3: + *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 104)) = Xsqlite3_column_decltype16 // sqlite3.c:129062:3: + *(*func(*libc.TLS, uintptr, int32) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 108)) = Xsqlite3_column_double // sqlite3.c:129063:3: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 112)) = Xsqlite3_column_int // sqlite3.c:129064:3: + *(*func(*libc.TLS, uintptr, int32) Sqlite_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 116)) = Xsqlite3_column_int64 // sqlite3.c:129065:3: + *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 120)) = Xsqlite3_column_name // sqlite3.c:129066:3: + *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 124)) = Xsqlite3_column_name16 // sqlite3.c:129067:3: + *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 128)) = Xsqlite3_column_origin_name // sqlite3.c:129068:3: + *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 132)) = Xsqlite3_column_origin_name16 // sqlite3.c:129069:3: + *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 136)) = Xsqlite3_column_table_name // sqlite3.c:129070:3: + *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 140)) = Xsqlite3_column_table_name16 // sqlite3.c:129071:3: + *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 144)) = Xsqlite3_column_text // sqlite3.c:129072:3: + *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 148)) = Xsqlite3_column_text16 // sqlite3.c:129073:3: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 152)) = Xsqlite3_column_type // sqlite3.c:129074:3: + *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 156)) = Xsqlite3_column_value // sqlite3.c:129075:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 160)) = Xsqlite3_commit_hook // sqlite3.c:129076:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 164)) = Xsqlite3_complete // sqlite3.c:129077:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 168)) = Xsqlite3_complete16 // sqlite3.c:129078:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 172)) = Xsqlite3_create_collation // sqlite3.c:129079:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 176)) = Xsqlite3_create_collation16 // sqlite3.c:129080:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, int32, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 180)) = Xsqlite3_create_function // sqlite3.c:129081:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, int32, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 184)) = Xsqlite3_create_function16 // sqlite3.c:129082:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 188)) = Xsqlite3_create_module // sqlite3.c:129083:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 192)) = Xsqlite3_data_count // sqlite3.c:129084:3: + *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 196)) = Xsqlite3_db_handle // sqlite3.c:129085:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 200)) = Xsqlite3_declare_vtab // sqlite3.c:129086:3: + *(*func(*libc.TLS, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 204)) = Xsqlite3_enable_shared_cache // sqlite3.c:129087:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 208)) = Xsqlite3_errcode // sqlite3.c:129088:3: + *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 212)) = Xsqlite3_errmsg // sqlite3.c:129089:3: + *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 216)) = Xsqlite3_errmsg16 // sqlite3.c:129090:3: + *(*func(*libc.TLS, uintptr, uintptr, Sqlite3_callback, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 220)) = Xsqlite3_exec // sqlite3.c:129091:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 224)) = Xsqlite3_expired // sqlite3.c:129093:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 228)) = Xsqlite3_finalize // sqlite3.c:129097:3: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 232)) = Xsqlite3_free // sqlite3.c:129098:3: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 236)) = Xsqlite3_free_table // sqlite3.c:129099:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 240)) = Xsqlite3_get_autocommit // sqlite3.c:129100:3: + *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 244)) = Xsqlite3_get_auxdata // sqlite3.c:129101:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 248)) = Xsqlite3_get_table // sqlite3.c:129102:3: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 256)) = Xsqlite3_interrupt // sqlite3.c:129104:3: + *(*func(*libc.TLS, uintptr) Sqlite3_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 260)) = Xsqlite3_last_insert_rowid // sqlite3.c:129105:3: + *(*func(*libc.TLS) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 264)) = Xsqlite3_libversion // sqlite3.c:129106:3: + *(*func(*libc.TLS) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 268)) = Xsqlite3_libversion_number // sqlite3.c:129107:3: + *(*func(*libc.TLS, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 272)) = Xsqlite3_malloc // sqlite3.c:129108:3: + *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 276)) = Xsqlite3_mprintf // sqlite3.c:129109:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 280)) = Xsqlite3_open // sqlite3.c:129110:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 284)) = Xsqlite3_open16 // sqlite3.c:129111:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 288)) = Xsqlite3_prepare // sqlite3.c:129112:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 292)) = Xsqlite3_prepare16 // sqlite3.c:129113:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 296)) = Xsqlite3_profile // sqlite3.c:129114:3: + *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 300)) = Xsqlite3_progress_handler // sqlite3.c:129115:3: + *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 304)) = Xsqlite3_realloc // sqlite3.c:129116:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 308)) = Xsqlite3_reset // sqlite3.c:129117:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 312)) = Xsqlite3_result_blob // sqlite3.c:129118:3: + *(*func(*libc.TLS, uintptr, float64))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 316)) = Xsqlite3_result_double // sqlite3.c:129119:3: + *(*func(*libc.TLS, uintptr, uintptr, int32))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 320)) = Xsqlite3_result_error // sqlite3.c:129120:3: + *(*func(*libc.TLS, uintptr, uintptr, int32))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 324)) = Xsqlite3_result_error16 // sqlite3.c:129121:3: + *(*func(*libc.TLS, uintptr, int32))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 328)) = Xsqlite3_result_int // sqlite3.c:129122:3: + *(*func(*libc.TLS, uintptr, I64))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 332)) = Xsqlite3_result_int64 // sqlite3.c:129123:3: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 336)) = Xsqlite3_result_null // sqlite3.c:129124:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 340)) = Xsqlite3_result_text // sqlite3.c:129125:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 344)) = Xsqlite3_result_text16 // sqlite3.c:129126:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 348)) = Xsqlite3_result_text16be // sqlite3.c:129127:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 352)) = Xsqlite3_result_text16le // sqlite3.c:129128:3: + *(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 356)) = Xsqlite3_result_value // sqlite3.c:129129:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 360)) = Xsqlite3_rollback_hook // sqlite3.c:129130:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 364)) = Xsqlite3_set_authorizer // sqlite3.c:129131:3: + *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 368)) = Xsqlite3_set_auxdata // sqlite3.c:129132:3: + *(*func(*libc.TLS, int32, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 372)) = Xsqlite3_snprintf // sqlite3.c:129133:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 376)) = Xsqlite3_step // sqlite3.c:129134:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr, uintptr, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 380)) = Xsqlite3_table_column_metadata // sqlite3.c:129135:3: + *(*func(*libc.TLS))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 384)) = Xsqlite3_thread_cleanup // sqlite3.c:129137:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 388)) = Xsqlite3_total_changes // sqlite3.c:129141:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 392)) = Xsqlite3_trace // sqlite3.c:129142:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 396)) = Xsqlite3_transfer_bindings // sqlite3.c:129144:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 400)) = Xsqlite3_update_hook // sqlite3.c:129148:3: + *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 404)) = Xsqlite3_user_data // sqlite3.c:129149:3: + *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 408)) = Xsqlite3_value_blob // sqlite3.c:129150:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 412)) = Xsqlite3_value_bytes // sqlite3.c:129151:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 416)) = Xsqlite3_value_bytes16 // sqlite3.c:129152:3: + *(*func(*libc.TLS, uintptr) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 420)) = Xsqlite3_value_double // sqlite3.c:129153:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 424)) = Xsqlite3_value_int // sqlite3.c:129154:3: + *(*func(*libc.TLS, uintptr) Sqlite_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 428)) = Xsqlite3_value_int64 // sqlite3.c:129155:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 432)) = Xsqlite3_value_numeric_type // sqlite3.c:129156:3: + *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 436)) = Xsqlite3_value_text // sqlite3.c:129157:3: + *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 440)) = Xsqlite3_value_text16 // sqlite3.c:129158:3: + *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 444)) = Xsqlite3_value_text16be // sqlite3.c:129159:3: + *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 448)) = Xsqlite3_value_text16le // sqlite3.c:129160:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 452)) = Xsqlite3_value_type // sqlite3.c:129161:3: + *(*func(*libc.TLS, uintptr, Va_list) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 456)) = Xsqlite3_vmprintf // sqlite3.c:129162:3: + *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 460)) = Xsqlite3_overload_function // sqlite3.c:129171:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 464)) = Xsqlite3_prepare_v2 // sqlite3.c:129176:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 468)) = Xsqlite3_prepare16_v2 // sqlite3.c:129177:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 472)) = Xsqlite3_clear_bindings // sqlite3.c:129178:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 476)) = Xsqlite3_create_module_v2 // sqlite3.c:129183:3: + *(*func(*libc.TLS, uintptr, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 480)) = Xsqlite3_bind_zeroblob // sqlite3.c:129188:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 484)) = Xsqlite3_blob_bytes // sqlite3.c:129189:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 488)) = Xsqlite3_blob_close // sqlite3.c:129190:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr, Sqlite_int64, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 492)) = Xsqlite3_blob_open // sqlite3.c:129191:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 496)) = Xsqlite3_blob_read // sqlite3.c:129192:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 500)) = Xsqlite3_blob_write // sqlite3.c:129193:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 504)) = Xsqlite3_create_collation_v2 // sqlite3.c:129194:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 508)) = Xsqlite3_file_control // sqlite3.c:129195:3: + *(*func(*libc.TLS, int32) Sqlite3_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 512)) = Xsqlite3_memory_highwater // sqlite3.c:129196:3: + *(*func(*libc.TLS) Sqlite3_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 516)) = Xsqlite3_memory_used // sqlite3.c:129197:3: + *(*func(*libc.TLS, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 520)) = Xsqlite3_mutex_alloc // sqlite3.c:129205:3: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 524)) = Xsqlite3_mutex_enter // sqlite3.c:129206:3: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 528)) = Xsqlite3_mutex_free // sqlite3.c:129207:3: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 532)) = Xsqlite3_mutex_leave // sqlite3.c:129208:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 536)) = Xsqlite3_mutex_try // sqlite3.c:129209:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 540)) = Xsqlite3_open_v2 // sqlite3.c:129211:3: + *(*func(*libc.TLS, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 544)) = Xsqlite3_release_memory // sqlite3.c:129212:3: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 548)) = Xsqlite3_result_error_nomem // sqlite3.c:129213:3: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 552)) = Xsqlite3_result_error_toobig // sqlite3.c:129214:3: + *(*func(*libc.TLS, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 556)) = Xsqlite3_sleep // sqlite3.c:129215:3: + *(*func(*libc.TLS, int32))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 560)) = Xsqlite3_soft_heap_limit // sqlite3.c:129216:3: + *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 564)) = Xsqlite3_vfs_find // sqlite3.c:129217:3: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 568)) = Xsqlite3_vfs_register // sqlite3.c:129218:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 572)) = Xsqlite3_vfs_unregister // sqlite3.c:129219:3: + *(*func(*libc.TLS) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 576)) = Xsqlite3_threadsafe // sqlite3.c:129224:3: + *(*func(*libc.TLS, uintptr, int32))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 580)) = Xsqlite3_result_zeroblob // sqlite3.c:129225:3: + *(*func(*libc.TLS, uintptr, int32))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 584)) = Xsqlite3_result_error_code // sqlite3.c:129226:3: + *(*func(*libc.TLS, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 588)) = Xsqlite3_test_control // sqlite3.c:129227:3: + *(*func(*libc.TLS, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 592)) = Xsqlite3_randomness // sqlite3.c:129228:3: + *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 596)) = Xsqlite3_context_db_handle // sqlite3.c:129229:3: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 600)) = Xsqlite3_extended_result_codes // sqlite3.c:129234:3: + *(*func(*libc.TLS, uintptr, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 604)) = Xsqlite3_limit // sqlite3.c:129235:3: + *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 608)) = Xsqlite3_next_stmt // sqlite3.c:129236:3: + *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 612)) = Xsqlite3_sql // sqlite3.c:129237:3: + *(*func(*libc.TLS, int32, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 616)) = Xsqlite3_status // sqlite3.c:129238:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 620)) = Xsqlite3_backup_finish // sqlite3.c:129243:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 624)) = Xsqlite3_backup_init // sqlite3.c:129244:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 628)) = Xsqlite3_backup_pagecount // sqlite3.c:129245:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 632)) = Xsqlite3_backup_remaining // sqlite3.c:129246:3: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 636)) = Xsqlite3_backup_step // sqlite3.c:129247:3: + *(*func(*libc.TLS, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 640)) = Xsqlite3_compileoption_get // sqlite3.c:129249:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 644)) = Xsqlite3_compileoption_used // sqlite3.c:129250:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, int32, uintptr, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 648)) = Xsqlite3_create_function_v2 // sqlite3.c:129255:3: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 652)) = Xsqlite3_db_config // sqlite3.c:129256:3: + *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 656)) = Xsqlite3_db_mutex // sqlite3.c:129257:3: + *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 660)) = Xsqlite3_db_status // sqlite3.c:129258:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 664)) = Xsqlite3_extended_errcode // sqlite3.c:129259:3: + *(*func(*libc.TLS, int32, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 668)) = Xsqlite3_log // sqlite3.c:129260:3: + *(*func(*libc.TLS, Sqlite3_int64) Sqlite3_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 672)) = Xsqlite3_soft_heap_limit64 // sqlite3.c:129261:3: + *(*func(*libc.TLS) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 676)) = Xsqlite3_sourceid // sqlite3.c:129262:3: + *(*func(*libc.TLS, uintptr, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 680)) = Xsqlite3_stmt_status // sqlite3.c:129263:3: + *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 684)) = Xsqlite3_strnicmp // sqlite3.c:129264:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 688)) = Xsqlite3_unlock_notify // sqlite3.c:129266:3: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 692)) = Xsqlite3_wal_autocheckpoint // sqlite3.c:129271:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 696)) = Xsqlite3_wal_checkpoint // sqlite3.c:129272:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 700)) = Xsqlite3_wal_hook // sqlite3.c:129273:3: + *(*func(*libc.TLS, uintptr, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 704)) = Xsqlite3_blob_reopen // sqlite3.c:129279:3: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 708)) = Xsqlite3_vtab_config // sqlite3.c:129280:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 712)) = Xsqlite3_vtab_on_conflict // sqlite3.c:129281:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 716)) = Xsqlite3_close_v2 // sqlite3.c:129282:3: + *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 720)) = Xsqlite3_db_filename // sqlite3.c:129283:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 724)) = Xsqlite3_db_readonly // sqlite3.c:129284:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 728)) = Xsqlite3_db_release_memory // sqlite3.c:129285:3: + *(*func(*libc.TLS, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 732)) = Xsqlite3_errstr // sqlite3.c:129286:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 736)) = Xsqlite3_stmt_busy // sqlite3.c:129287:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 740)) = Xsqlite3_stmt_readonly // sqlite3.c:129288:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 744)) = Xsqlite3_stricmp // sqlite3.c:129289:3: + *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 748)) = Xsqlite3_uri_boolean // sqlite3.c:129290:3: + *(*func(*libc.TLS, uintptr, uintptr, Sqlite3_int64) Sqlite3_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 752)) = Xsqlite3_uri_int64 // sqlite3.c:129291:3: + *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 756)) = Xsqlite3_uri_parameter // sqlite3.c:129292:3: + *(*func(*libc.TLS, int32, uintptr, uintptr, Va_list) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 760)) = Xsqlite3_vsnprintf // sqlite3.c:129293:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 764)) = Xsqlite3_wal_checkpoint_v2 // sqlite3.c:129294:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 768)) = Xsqlite3_auto_extension // sqlite3.c:129296:3: + *(*func(*libc.TLS, uintptr, int32, uintptr, Sqlite3_uint64, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 772)) = Xsqlite3_bind_blob64 // sqlite3.c:129297:3: + *(*func(*libc.TLS, uintptr, int32, uintptr, Sqlite3_uint64, uintptr, uint8) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 776)) = Xsqlite3_bind_text64 // sqlite3.c:129298:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 780)) = Xsqlite3_cancel_auto_extension // sqlite3.c:129299:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 784)) = Xsqlite3_load_extension // sqlite3.c:129300:3: + *(*func(*libc.TLS, Sqlite3_uint64) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 788)) = Xsqlite3_malloc64 // sqlite3.c:129301:3: + *(*func(*libc.TLS, uintptr) Sqlite3_uint64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 792)) = Xsqlite3_msize // sqlite3.c:129302:3: + *(*func(*libc.TLS, uintptr, Sqlite3_uint64) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 796)) = Xsqlite3_realloc64 // sqlite3.c:129303:3: + *(*func(*libc.TLS))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 800)) = Xsqlite3_reset_auto_extension // sqlite3.c:129304:3: + *(*func(*libc.TLS, uintptr, uintptr, Sqlite3_uint64, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 804)) = Xsqlite3_result_blob64 // sqlite3.c:129305:3: + *(*func(*libc.TLS, uintptr, uintptr, Sqlite3_uint64, uintptr, uint8))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 808)) = Xsqlite3_result_text64 // sqlite3.c:129306:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 812)) = Xsqlite3_strglob // sqlite3.c:129307:3: *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 816 /* .value_dup */)) = *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr) uintptr - }{Xsqlite3_value_dup})) // sqlite3.c:129296:3: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 820)) = Xsqlite3_value_free // sqlite3.c:129297:3: - *(*func(*libc.TLS, uintptr, U64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 824)) = Xsqlite3_result_zeroblob64 // sqlite3.c:129298:3: - *(*func(*libc.TLS, uintptr, int32, Sqlite3_uint64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 828)) = Xsqlite3_bind_zeroblob64 // sqlite3.c:129299:3: - *(*func(*libc.TLS, uintptr) uint32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 832)) = Xsqlite3_value_subtype // sqlite3.c:129301:3: - *(*func(*libc.TLS, uintptr, uint32))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 836)) = Xsqlite3_result_subtype // sqlite3.c:129302:3: - *(*func(*libc.TLS, int32, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 840)) = Xsqlite3_status64 // sqlite3.c:129304:3: - *(*func(*libc.TLS, uintptr, uintptr, uint32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 844)) = Xsqlite3_strlike // sqlite3.c:129305:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 848)) = Xsqlite3_db_cacheflush // sqlite3.c:129306:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 852)) = Xsqlite3_system_errno // sqlite3.c:129308:3: - *(*func(*libc.TLS, uintptr, uint32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 856)) = Xsqlite3_trace_v2 // sqlite3.c:129310:3: - *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 860)) = Xsqlite3_expanded_sql // sqlite3.c:129311:3: - *(*func(*libc.TLS, uintptr, Sqlite3_int64))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 864)) = Xsqlite3_set_last_insert_rowid // sqlite3.c:129313:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uint32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 868)) = Xsqlite3_prepare_v3 // sqlite3.c:129315:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uint32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 872)) = Xsqlite3_prepare16_v3 // sqlite3.c:129316:3: - *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 876)) = Xsqlite3_bind_pointer // sqlite3.c:129317:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 880)) = Xsqlite3_result_pointer // sqlite3.c:129318:3: - *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 884)) = Xsqlite3_value_pointer // sqlite3.c:129319:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 888)) = Xsqlite3_vtab_nochange // sqlite3.c:129321:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 892)) = Xsqlite3_value_nochange // sqlite3.c:129322:3: - *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 896)) = Xsqlite3_vtab_collation // sqlite3.c:129323:3: - *(*func(*libc.TLS) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 900)) = Xsqlite3_keyword_count // sqlite3.c:129325:3: - *(*func(*libc.TLS, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 904)) = Xsqlite3_keyword_name // sqlite3.c:129326:3: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 908)) = Xsqlite3_keyword_check // sqlite3.c:129327:3: - *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 912)) = Xsqlite3_str_new // sqlite3.c:129328:3: - *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 916)) = Xsqlite3_str_finish // sqlite3.c:129329:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 920)) = Xsqlite3_str_appendf // sqlite3.c:129330:3: - *(*func(*libc.TLS, uintptr, uintptr, Va_list))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 924)) = Xsqlite3_str_vappendf // sqlite3.c:129331:3: - *(*func(*libc.TLS, uintptr, uintptr, int32))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 928)) = Xsqlite3_str_append // sqlite3.c:129332:3: - *(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 932)) = Xsqlite3_str_appendall // sqlite3.c:129333:3: - *(*func(*libc.TLS, uintptr, int32, uint8))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 936)) = Xsqlite3_str_appendchar // sqlite3.c:129334:3: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 940)) = Xsqlite3_str_reset // sqlite3.c:129335:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 944)) = Xsqlite3_str_errcode // sqlite3.c:129336:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 948)) = Xsqlite3_str_length // sqlite3.c:129337:3: - *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 952)) = Xsqlite3_str_value // sqlite3.c:129338:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, int32, uintptr, uintptr, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 956)) = Xsqlite3_create_window_function // sqlite3.c:129340:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 964)) = Xsqlite3_stmt_isexplain // sqlite3.c:129348:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 968)) = Xsqlite3_value_frombind // sqlite3.c:129349:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 972)) = Xsqlite3_drop_modules // sqlite3.c:129352:3: - *(*func(*libc.TLS, Sqlite3_int64) Sqlite3_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 976)) = Xsqlite3_hard_heap_limit64 // sqlite3.c:129357:3: - *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 980)) = Xsqlite3_uri_key // sqlite3.c:129358:3: - *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 984)) = Xsqlite3_filename_database // sqlite3.c:129359:3: - *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 988)) = Xsqlite3_filename_journal // sqlite3.c:129360:3: - *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 992)) = Xsqlite3_filename_wal // sqlite3.c:129361:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 996)) = Xsqlite3_create_filename // sqlite3.c:129363:3: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1000)) = Xsqlite3_free_filename // sqlite3.c:129364:3: - *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1004)) = Xsqlite3_database_file_object // sqlite3.c:129365:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1008)) = Xsqlite3_txn_state // sqlite3.c:129367:3: - *(*func(*libc.TLS, uintptr) Sqlite3_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1012)) = Xsqlite3_changes64 // sqlite3.c:129369:3: - *(*func(*libc.TLS, uintptr) Sqlite3_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1016)) = Xsqlite3_total_changes64 // sqlite3.c:129370:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1020)) = Xsqlite3_autovacuum_pages // sqlite3.c:129372:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1024)) = Xsqlite3_error_offset // sqlite3.c:129374:3: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1028)) = Xsqlite3_vtab_rhs_value // sqlite3.c:129375:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1032)) = Xsqlite3_vtab_distinct // sqlite3.c:129376:3: - *(*func(*libc.TLS, uintptr, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1036)) = Xsqlite3_vtab_in // sqlite3.c:129377:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1040)) = Xsqlite3_vtab_in_first // sqlite3.c:129378:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1044)) = Xsqlite3_vtab_in_next // sqlite3.c:129379:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3BuiltinExtensions)) + 0)) = Xsqlite3Fts5Init // sqlite3.c:168488:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3BuiltinExtensions)) + 4)) = Xsqlite3RtreeInit // sqlite3.c:168494:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3BuiltinExtensions)) + 8)) = sqlite3TestExtInit // sqlite3.c:168502:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3BuiltinExtensions)) + 12)) = Xsqlite3JsonTableFunctions // sqlite3.c:168504:3: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&statGetFuncdef)) + 16)) = statGet // sqlite3.c:111993:3: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&statInitFuncdef)) + 16)) = statInit // sqlite3.c:111569:3: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&statPushFuncdef)) + 16)) = statPush // sqlite3.c:111859:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 24)) = rbuVfsOpen // sqlite3.c:208888:5: - *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 28)) = rbuVfsDelete // sqlite3.c:208889:5: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 32)) = rbuVfsAccess // sqlite3.c:208890:5: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 36)) = rbuVfsFullPathname // sqlite3.c:208891:5: - *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 40)) = rbuVfsDlOpen // sqlite3.c:208894:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 44)) = rbuVfsDlError // sqlite3.c:208895:5: - *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 48)) = rbuVfsDlSym // sqlite3.c:208896:5: - *(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 52)) = rbuVfsDlClose // sqlite3.c:208897:5: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 56)) = rbuVfsRandomness // sqlite3.c:208902:5: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 60)) = rbuVfsSleep // sqlite3.c:208903:5: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 64)) = rbuVfsCurrentTime // sqlite3.c:208904:5: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 68)) = rbuVfsGetLastError // sqlite3.c:208905:5: -} - -var ts1 = "3.38.1\x00ATOMIC_INTRINSICS=1\x00COMPILER=gcc-10.2.1 20210110\x00DEFAULT_AUTOVACUUM\x00DEFAULT_CACHE_SIZE=-2000\x00DEFAULT_FILE_FORMAT=4\x00DEFAULT_JOURNAL_SIZE_LIMIT=-1\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\x00ENABLE_COLUMN_METADATA\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=127\x00MAX_LENGTH=1000000000\x00MAX_LIKE_PATTERN_LENGTH=50000\x00MAX_MMAP_SIZE=0x7fff0000\x00MAX_PAGE_COUNT=1073741823\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\x00BINARY\x00ANY\x00BLOB\x00INT\x00INTEGER\x00REAL\x00TEXT\x0020b:20e\x0020c:20e\x0020e\x0040f-21a-21d\x00now\x00local time unavailable\x00second\x00minute\x00hour\x00\x00\x00day\x00\x00\x00\x00month\x00\x00year\x00\x00\x00auto\x00julianday\x00localtime\x00unixepoch\x00utc\x00weekday \x00start of \x00month\x00year\x00day\x00%02d\x00%06.3f\x00%03d\x00%.16g\x00%lld\x00%04d\x00date\x00time\x00datetime\x00strftime\x00current_time\x00current_timestamp\x00current_date\x00failed to allocate %u bytes of memory\x00failed memory resize %u to %u bytes\x00out of memory\x000123456789ABCDEF0123456789abcdef\x00-x0\x00X0\x00%\x00NaN\x00Inf\x00\x00NULL\x00(NULL)\x00.\x00SUBQUERY %u\x00thstndrd\x00922337203685477580\x00API call with %s database connection pointer\x00unopened\x00invalid\x00Savepoint\x00AutoCommit\x00Transaction\x00SorterNext\x00Prev\x00Next\x00Checkpoint\x00JournalMode\x00Vacuum\x00VFilter\x00VUpdate\x00Goto\x00Gosub\x00InitCoroutine\x00Yield\x00MustBeInt\x00Jump\x00Once\x00If\x00Not\x00IfNot\x00IsNullOrType\x00IfNullRow\x00SeekLT\x00SeekLE\x00SeekGE\x00SeekGT\x00IfNotOpen\x00IfNoHope\x00NoConflict\x00NotFound\x00Found\x00SeekRowid\x00NotExists\x00Last\x00IfSmaller\x00SorterSort\x00Sort\x00Rewind\x00IdxLE\x00IdxGT\x00IdxLT\x00IdxGE\x00Or\x00And\x00RowSetRead\x00RowSetTest\x00Program\x00FkIfZero\x00IfPos\x00IsNull\x00NotNull\x00Ne\x00Eq\x00Gt\x00Le\x00Lt\x00Ge\x00ElseEq\x00IfNotZero\x00DecrJumpZero\x00IncrVacuum\x00VNext\x00Filter\x00Init\x00PureFunc\x00Function\x00Return\x00EndCoroutine\x00HaltIfNull\x00Halt\x00Integer\x00Int64\x00String\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\x00VInitIn\x00VColumn\x00VRename\x00Pagecount\x00MaxPgcnt\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\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\x00SQLite format 3\x00:memory:\x00@ \x00\n\x00invalid page number %d\x002nd reference to page %d\x00Failed to read ptrmap key=%d\x00Bad ptr map entry key=%d expected=(%d,%d) got=(%d,%d)\x00failed to get page %d\x00freelist leaf count too big on page %d\x00%s is %d but should be %d\x00size\x00overflow list length\x00Page %u: \x00unable to get the page. error code=%d\x00btreeInitPage() returns error code %d\x00free space corruption\x00On tree page %u cell %d: \x00On page %u at right child: \x00Offset %d out of range %d..%d\x00Extends off end of page\x00Rowid %lld out of order\x00Child page depth differs\x00Multiple uses for byte %u of page %u\x00Fragmentation of %d bytes reported as %d on page %u\x00Main freelist: \x00max rootpage (%d) disagrees with header (%d)\x00incremental_vacuum enabled with a max rootpage of zero\x00Page %d is never used\x00Pointer map page %d is referenced\x00unknown database %s\x00destination database is in use\x00source and destination must be distinct\x00%!.15g\x00-\x00%s%s\x00k(%d\x00B\x00,%s%s%s\x00N.\x00)\x00%.18s-%s\x00%s(%d)\x00%d\x00(blob)\x00vtab:%p\x00%c%u\x00]\x00program\x00?\x008\x0016LE\x0016BE\x00addr\x00opcode\x00p1\x00p2\x00p3\x00p4\x00p5\x00comment\x00id\x00parent\x00notused\x00detail\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\x00ValueList\x00bind on a busy prepared statement: [%s]\x00-- \x00'%.*q'\x00zeroblob(%d)\x00x'\x00%02x\x00'\x00%s constraint failed\x00%z: %s\x00abort at %d in [%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\x00cannot change %s wal mode from within a transaction\x00into\x00out of\x00database table is locked: %s\x00-- %s\x00statement aborts at %d: [%s] %s\x00NOT NULL\x00UNIQUE\x00CHECK\x00FOREIGN KEY\x00cannot open value of type %s\x00null\x00real\x00integer\x00no such rowid: %lld\x00cannot open virtual table: %s\x00cannot open table without rowid: %s\x00cannot open view: %s\x00no such column: \"%s\"\x00foreign key\x00indexed\x00cannot open %s column for writing\x00main\x00*\x00new\x00old\x00excluded\x00misuse of aliased aggregate %s\x00misuse of aliased window function %s\x00row value misused\x00double-quoted string literal: \"%w\"\x00no such column\x00ambiguous column name\x00%s: %s.%s.%s\x00%s: %s.%s\x00%s: %s\x00partial index WHERE clauses\x00index expressions\x00CHECK constraints\x00generated columns\x00%s prohibited in %s\x00true\x00false\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\x00a GROUP BY clause is required before HAVING\x00GROUP\x00aggregate functions are not allowed in the GROUP BY clause\x00Expression tree is too large (maximum depth %d)\x00IN(...) element has %d term%s - expected %d\x00s\x000\x00too many arguments on function %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\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\x00%sLIST SUBQUERY %d\x00CORRELATED \x00REUSE SUBQUERY %d\x00%sSCALAR SUBQUERY %d\x001\x000x\x00hex literal too big: %s%#T\x00generated column loop on \"%s\"\x00blob\x00text\x00numeric\x00none\x00misuse of aggregate: %#T()\x00unknown function: %#T()\x00RAISE() may only be used within a trigger-program\x00B\x00C\x00D\x00E\x00sqlite_\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') ELSE raise(ABORT,'NOT NULL constraint failed') END FROM pragma_quick_check(%Q,%Q) WHERE quick_check GLOB 'CHECK*' OR quick_check GLOB 'NULL*'\x00virtual tables may not be altered\x00Cannot add a column to a view\x00sqlite_altertab_%s\x00view\x00virtual table\x00cannot %s %s \"%s\"\x00drop column from\x00rename columns of\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')\x00error in %s %s%s%s: %s\x00 \x00CREATE \x00\"%w\" \x00%Q%s\x00%.*s%s\x00cannot drop %s column: \"%s\"\x00PRIMARY KEY\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\x00CREATE TABLE %Q.%s(%s)\x00DELETE FROM %Q.%s WHERE %s=%Q\x00DELETE FROM %Q.%s\x00sqlite_stat1\x00tbl,idx,stat\x00sqlite_stat4\x00tbl,idx,neq,nlt,ndlt,sample\x00sqlite_stat3\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\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\x00sqlite_temp_schema\x00sqlite_schema\x00sqlite_temp_master\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\x00sqlite_returning\x00cannot use RETURNING in a trigger\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'\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\x00unsupported use of NULLS %s\x00FIRST\x00LAST\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\x00CREATE%s INDEX %.*s\x00 UNIQUE\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\x00a JOIN clause is required before %s\x00ON\x00USING\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\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%!.20e\x00%Q\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\x00instr\x00printf\x00format\x00unicode\x00char\x00abs\x00round\x00upper\x00lower\x00hex\x00ifnull\x00random\x00randomblob\x00nullif\x00sqlite_version\x00sqlite_source_id\x00sqlite_log\x00quote\x00last_insert_rowid\x00changes\x00total_changes\x00replace\x00zeroblob\x00substr\x00substring\x00sum\x00total\x00avg\x00count\x00group_concat\x00glob\x00coalesce\x00ceil\x00ceiling\x00floor\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\x00foreign key mismatch - \"%w\" referencing \"%w\"\x00cannot INSERT into generated column \"%s\"\x00table %S has no column named %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\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]\x00so\x00automatic extension loading failed: %s\x00seq\x00from\x00to\x00on_update\x00on_delete\x00match\x00cid\x00name\x00type\x00notnull\x00dflt_value\x00pk\x00hidden\x00schema\x00ncol\x00wr\x00strict\x00seqno\x00desc\x00coll\x00key\x00builtin\x00enc\x00narg\x00flags\x00wdth\x00hght\x00flgs\x00unique\x00origin\x00partial\x00rowid\x00fkid\x00file\x00busy\x00checkpointed\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\x00onoffalseyestruextrafull\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\x00w\x00a\x00sissii\x00utf8\x00utf16le\x00utf16be\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\x00NULL value in %s.%s\x00non-%s value in %s.%s\x00CHECK constraint failed in %s\x00row \x00 missing from index \x00non-unique entry in index \x00wrong # of entries in index \x00ok\x00unsupported encoding: %s\x00restart\x00ANALYZE \"%w\".\"%w\"\x00UTF8\x00UTF-8\x00UTF-16le\x00UTF-16be\x00UTF16le\x00UTF16be\x00UTF-16\x00UTF16\x00CREATE TABLE x\x00%c\"%s\"\x00(\"%s\"\x00,arg HIDDEN\x00,schema HIDDEN\x00PRAGMA \x00%Q.\x00=%Q\x00error in %s %s after %s: %s\x00malformed database schema (%s)\x00%z - %s\x00rename\x00drop column\x00add column\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 or unsupported join type: %T %T%s%T\x00RIGHT and FULL OUTER JOINs are not currently supported\x00naturaleftouterightfullinnercross\x00a NATURAL join may not have an ON or USING clause\x00cannot have both ON and USING clauses in the same join\x00cannot join using column %s - column not present in both tables\x00UNION ALL\x00INTERSECT\x00EXCEPT\x00UNION\x00USE TEMP B-TREE FOR %s\x00column%d\x00%.*z:%u\x00cannot use window functions in recursive queries\x00recursive aggregate queries not supported\x00SETUP\x00RECURSIVE STEP\x00SCAN %d CONSTANT ROW%s\x00S\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\x00subquery_%u\x00too many references to \"%s\": max 65535\x00access to view \"%s\" prohibited\x00unsafe use of virtual table \"%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)\x00SCAN %s%s%s\x00 USING COVERING INDEX \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\x00RIGHT PART OF ORDER BY\x00ORDER 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\x00trigger %T already exists\x00cannot create trigger on system table\x00cannot create %s trigger on view: %S\x00BEFORE\x00AFTER\x00cannot create INSTEAD OF trigger on 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'\x00%s RETURNING is not available on virtual tables\x00DELETE\x00UPDATE\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\x00ATTACH %Q AS vacuum_db\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 vacuum_db.'||quote(name)||' SELECT*FROM\"%w\".'||quote(name)FROM vacuum_db.sqlite_schema WHERE type='table'AND coalesce(rootpage,1)>0\x00INSERT INTO vacuum_db.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\x00\x00 AND \x00(\x00 (\x00%s=?\x00ANY(%s)\x00>\x00<\x00%s %S\x00SEARCH\x00SCAN\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 %d:%s\x00BLOOM FILTER ON %S (\x00rowid=?\x00MULTI-INDEX OR\x00INDEX %d\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\x00second argument to nth_value must be a positive integer\x00argument of ntile must be a positive integer\x00row_number\x00dense_rank\x00rank\x00percent_rank\x00cume_dist\x00ntile\x00last_value\x00nth_value\x00first_value\x00lead\x00lag\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\x00%s clause should come after %s not before\x00LIMIT\x00too many terms in compound SELECT\x00syntax error after column name \"%.*s\"\x00parser stack overflow\x00unknown table option: %.*s\x00set list\x00near \"%T\": syntax error\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\x00unknown error\x00abort due to ROLLBACK\x00another row available\x00no more rows available\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\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\x00mode\x00no such %s mode: %s\x00%s mode not allowed: %s\x00no such vfs: %s\x00shared\x00private\x00ro\x00rw\x00rwc\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\x000123456789abcdef\x00JSON cannot hold BLOB values\x00malformed JSON\x00[0]\x00JSON path error near '%q'\x00json_%s() needs an odd number of arguments\x00$[\x00$.\x00json_object() requires an even number of arguments\x00json_object() labels must be TEXT\x00set\x00insert\x00[]\x00{}\x00CREATE TABLE x(key,value,type,atom,id,parent,fullkey,path,json HIDDEN,root HIDDEN)\x00[%d]\x00.%.*s\x00$\x00json\x00json_array\x00json_array_length\x00json_extract\x00->\x00->>\x00json_insert\x00json_object\x00json_patch\x00json_quote\x00json_remove\x00json_replace\x00json_set\x00json_type\x00json_valid\x00json_group_array\x00json_group_object\x00json_each\x00json_tree\x00%s_node\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\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\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\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\x00CREATE TABLE x(%.*s INT\x00,%.*s\x00);\x00,%.*s REAL\x00,%.*s INT\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\x00Mapping (%lld -> %lld) missing from %s table\x00%_rowid\x00%_parent\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\x00END\x00wrong number of arguments to function rtreecheck()\x00[\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\x00geopoly_area\x00geopoly_blob\x00geopoly_json\x00geopoly_svg\x00geopoly_contains_point\x00geopoly_debug\x00geopoly_bbox\x00geopoly_xform\x00geopoly_regular\x00geopoly_ccw\x00geopoly_group_bbox\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;\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\x00AND rootpage!=0 AND rootpage IS NOT NULL\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\x00table %q %s rbu_rowid column\x00may not have\x00requires\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%z%s\"%w\" %s %sCOLLATE %Q%s\x00 NOT NULL\x00%z, %z\x00CREATE TABLE \"rbu_imp_%w\"(%z)%s\x00 WITHOUT ROWID\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\x00SELECT %s, 0 AS rbu_control FROM '%q' %s %s %s ORDER BY %s%s\x00AND\x00WHERE\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_\x00INSERT INTO \"%s%w\"(%s%s) VALUES(%s)\x00, _rowid_\x00DELETE FROM \"%s%w\" WHERE %s\x00, rbu_rowid\x00CREATE TABLE IF NOT EXISTS %s.'rbu_tmp_%q' AS SELECT *%s FROM '%q' WHERE 0;\x00, 0 AS rbu_rowid\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\x00SELECT %s,%s rbu_control%s FROM '%q'%s %s %s %s\x000 AS \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\x00file:%s-vactmp?rbu_memory=1%s%s\x00&\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, %d), (%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\x00database modified during rbu %s\x00vacuum\x00update\x00BEGIN IMMEDIATE\x00PRAGMA journal_mode=off\x00-vactmp\x00DELETE FROM stat.rbu_state\x00rbu/zipvfs setup error\x00rbu(%s)/%z\x00rbu_memory\x00SELECT 0, 'tbl', '', 0, '', 1 UNION ALL SELECT 1, 'idx', '', 0, '', 2 UNION ALL SELECT 2, 'stat', '', 0, '', 0\x00PRAGMA '%q'.table_info('%q')\x00%z%s\"%w\".\"%w\".\"%w\"=\"%w\".\"%w\".\"%w\"\x00%z%s\"%w\".\"%w\".\"%w\" IS NOT \"%w\".\"%w\".\"%w\"\x00 OR \x00SELECT * FROM \"%w\".\"%w\" WHERE NOT EXISTS ( SELECT 1 FROM \"%w\".\"%w\" WHERE %s)\x00SELECT * FROM \"%w\".\"%w\", \"%w\".\"%w\" WHERE %s AND (%z)\x00table schemas do not match\x00SELECT tbl, ?2, stat FROM %Q.sqlite_stat1 WHERE tbl IS ?1 AND idx IS (CASE WHEN ?2=X'' THEN NULL ELSE ?2 END)\x00SELECT * FROM \x00 WHERE \x00 IS ?\x00SAVEPOINT changeset\x00RELEASE changeset\x00UPDATE main.\x00 SET \x00 = ?\x00idx IS CASE WHEN length(?4)=0 AND typeof(?4)='blob' THEN NULL ELSE ?4 END \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()\x00snippet\x00highlight\x00bm25\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\x00content_rowid\x00multiple content_rowid=... directives\x00columnsize\x00malformed columnsize=... directive\x00columns\x00malformed detail=... directive\x00unrecognized option: \"%.*s\"\x00reserved fts5 column name: %s\x00unindexed\x00unrecognized column option: %s\x00T.%Q\x00, T.%Q\x00, T.c%d\x00reserved fts5 table name: %s\x00parse error in \"%s\"\x00docsize\x00%Q.'%q_%s'\x00CREATE TABLE x(\x00%z%s%Q\x00%z, %Q HIDDEN, %s HIDDEN)\x00pgsz\x00hashsize\x00automerge\x00usermerge\x00crisismerge\x00SELECT k, v FROM %Q.'%q_config'\x00version\x00invalid fts5 file format (found %d, expected %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)\x00fts5: %s queries are not supported (detail!=full)\x00phrase\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=?\x00PRAGMA %Q.data_version\x00SELECT pgno FROM '%q'.'%q_idx' WHERE segid=? AND term<=? ORDER BY term DESC LIMIT 1\x00INSERT INTO '%q'.'%q_idx'(segid,term,pgno) VALUES(?,?,?)\x00%s_data\x00id INTEGER PRIMARY KEY, block BLOB\x00segid, term, pgno, PRIMARY KEY(segid, term)\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\x00SELECT rowid, rank FROM %Q.%Q ORDER BY %s(\"%w\"%s%s) %s\x00DESC\x00ASC\x00reads\x00unknown special query: %.*s\x00SELECT %s\x00no such function: %s\x00parse error in rank function: %s\x00%s: table does not support scanning\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\x00cannot %s contentless fts5 table: %s\x00DELETE from\x00no such cursor: %lld\x00no such tokenizer: %s\x00error in tokenizer constructor\x00fts5_api_ptr\x00fts5: 2022-03-12 13:37:29 38c210fdd258658321c85ec9c01a072fda3ada94540e3239d29b34dc547a8cbc\x00config\x00fts5\x00fts5_source_id\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(?,?)\x00DELETE FROM %Q.'%q_docsize' WHERE id=?\x00SELECT sz FROM %Q.'%q_docsize' WHERE id=?\x00REPLACE INTO %Q.'%q_config' VALUES(?,?)\x00SELECT %s FROM %s AS T\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\x00id INTEGER PRIMARY KEY, sz BLOB\x00k PRIMARY KEY, v\x00DELETE FROM %Q.'%q_data';DELETE FROM %Q.'%q_idx';\x00DELETE FROM %Q.'%q_docsize';\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\x00ascii\x00porter\x00trigram\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\x002022-03-12 13:37:29 38c210fdd258658321c85ec9c01a072fda3ada94540e3239d29b34dc547a8cbc\x00" + }{Xsqlite3_value_dup})) // sqlite3.c:129309:3: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 820)) = Xsqlite3_value_free // sqlite3.c:129310:3: + *(*func(*libc.TLS, uintptr, U64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 824)) = Xsqlite3_result_zeroblob64 // sqlite3.c:129311:3: + *(*func(*libc.TLS, uintptr, int32, Sqlite3_uint64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 828)) = Xsqlite3_bind_zeroblob64 // sqlite3.c:129312:3: + *(*func(*libc.TLS, uintptr) uint32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 832)) = Xsqlite3_value_subtype // sqlite3.c:129314:3: + *(*func(*libc.TLS, uintptr, uint32))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 836)) = Xsqlite3_result_subtype // sqlite3.c:129315:3: + *(*func(*libc.TLS, int32, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 840)) = Xsqlite3_status64 // sqlite3.c:129317:3: + *(*func(*libc.TLS, uintptr, uintptr, uint32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 844)) = Xsqlite3_strlike // sqlite3.c:129318:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 848)) = Xsqlite3_db_cacheflush // sqlite3.c:129319:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 852)) = Xsqlite3_system_errno // sqlite3.c:129321:3: + *(*func(*libc.TLS, uintptr, uint32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 856)) = Xsqlite3_trace_v2 // sqlite3.c:129323:3: + *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 860)) = Xsqlite3_expanded_sql // sqlite3.c:129324:3: + *(*func(*libc.TLS, uintptr, Sqlite3_int64))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 864)) = Xsqlite3_set_last_insert_rowid // sqlite3.c:129326:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uint32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 868)) = Xsqlite3_prepare_v3 // sqlite3.c:129328:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uint32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 872)) = Xsqlite3_prepare16_v3 // sqlite3.c:129329:3: + *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 876)) = Xsqlite3_bind_pointer // sqlite3.c:129330:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 880)) = Xsqlite3_result_pointer // sqlite3.c:129331:3: + *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 884)) = Xsqlite3_value_pointer // sqlite3.c:129332:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 888)) = Xsqlite3_vtab_nochange // sqlite3.c:129334:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 892)) = Xsqlite3_value_nochange // sqlite3.c:129335:3: + *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 896)) = Xsqlite3_vtab_collation // sqlite3.c:129336:3: + *(*func(*libc.TLS) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 900)) = Xsqlite3_keyword_count // sqlite3.c:129338:3: + *(*func(*libc.TLS, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 904)) = Xsqlite3_keyword_name // sqlite3.c:129339:3: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 908)) = Xsqlite3_keyword_check // sqlite3.c:129340:3: + *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 912)) = Xsqlite3_str_new // sqlite3.c:129341:3: + *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 916)) = Xsqlite3_str_finish // sqlite3.c:129342:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 920)) = Xsqlite3_str_appendf // sqlite3.c:129343:3: + *(*func(*libc.TLS, uintptr, uintptr, Va_list))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 924)) = Xsqlite3_str_vappendf // sqlite3.c:129344:3: + *(*func(*libc.TLS, uintptr, uintptr, int32))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 928)) = Xsqlite3_str_append // sqlite3.c:129345:3: + *(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 932)) = Xsqlite3_str_appendall // sqlite3.c:129346:3: + *(*func(*libc.TLS, uintptr, int32, uint8))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 936)) = Xsqlite3_str_appendchar // sqlite3.c:129347:3: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 940)) = Xsqlite3_str_reset // sqlite3.c:129348:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 944)) = Xsqlite3_str_errcode // sqlite3.c:129349:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 948)) = Xsqlite3_str_length // sqlite3.c:129350:3: + *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 952)) = Xsqlite3_str_value // sqlite3.c:129351:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, int32, uintptr, uintptr, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 956)) = Xsqlite3_create_window_function // sqlite3.c:129353:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 964)) = Xsqlite3_stmt_isexplain // sqlite3.c:129361:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 968)) = Xsqlite3_value_frombind // sqlite3.c:129362:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 972)) = Xsqlite3_drop_modules // sqlite3.c:129365:3: + *(*func(*libc.TLS, Sqlite3_int64) Sqlite3_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 976)) = Xsqlite3_hard_heap_limit64 // sqlite3.c:129370:3: + *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 980)) = Xsqlite3_uri_key // sqlite3.c:129371:3: + *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 984)) = Xsqlite3_filename_database // sqlite3.c:129372:3: + *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 988)) = Xsqlite3_filename_journal // sqlite3.c:129373:3: + *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 992)) = Xsqlite3_filename_wal // sqlite3.c:129374:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 996)) = Xsqlite3_create_filename // sqlite3.c:129376:3: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1000)) = Xsqlite3_free_filename // sqlite3.c:129377:3: + *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1004)) = Xsqlite3_database_file_object // sqlite3.c:129378:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1008)) = Xsqlite3_txn_state // sqlite3.c:129380:3: + *(*func(*libc.TLS, uintptr) Sqlite3_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1012)) = Xsqlite3_changes64 // sqlite3.c:129382:3: + *(*func(*libc.TLS, uintptr) Sqlite3_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1016)) = Xsqlite3_total_changes64 // sqlite3.c:129383:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1020)) = Xsqlite3_autovacuum_pages // sqlite3.c:129385:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1024)) = Xsqlite3_error_offset // sqlite3.c:129387:3: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1028)) = Xsqlite3_vtab_rhs_value // sqlite3.c:129388:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1032)) = Xsqlite3_vtab_distinct // sqlite3.c:129389:3: + *(*func(*libc.TLS, uintptr, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1036)) = Xsqlite3_vtab_in // sqlite3.c:129390:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1040)) = Xsqlite3_vtab_in_first // sqlite3.c:129391:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1044)) = Xsqlite3_vtab_in_next // sqlite3.c:129392:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3BuiltinExtensions)) + 0)) = Xsqlite3Fts5Init // sqlite3.c:168545:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3BuiltinExtensions)) + 4)) = Xsqlite3RtreeInit // sqlite3.c:168551:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3BuiltinExtensions)) + 8)) = sqlite3TestExtInit // sqlite3.c:168559:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3BuiltinExtensions)) + 12)) = Xsqlite3JsonTableFunctions // sqlite3.c:168561:3: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&statGetFuncdef)) + 16)) = statGet // sqlite3.c:112006:3: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&statInitFuncdef)) + 16)) = statInit // sqlite3.c:111582:3: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&statPushFuncdef)) + 16)) = statPush // sqlite3.c:111872:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 24)) = rbuVfsOpen // sqlite3.c:208945:5: + *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 28)) = rbuVfsDelete // sqlite3.c:208946:5: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 32)) = rbuVfsAccess // sqlite3.c:208947:5: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 36)) = rbuVfsFullPathname // sqlite3.c:208948:5: + *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 40)) = rbuVfsDlOpen // sqlite3.c:208951:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 44)) = rbuVfsDlError // sqlite3.c:208952:5: + *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 48)) = rbuVfsDlSym // sqlite3.c:208953:5: + *(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 52)) = rbuVfsDlClose // sqlite3.c:208954:5: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 56)) = rbuVfsRandomness // sqlite3.c:208959:5: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 60)) = rbuVfsSleep // sqlite3.c:208960:5: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 64)) = rbuVfsCurrentTime // sqlite3.c:208961:5: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 68)) = rbuVfsGetLastError // sqlite3.c:208962:5: +} + +var ts1 = "3.38.2\x00ATOMIC_INTRINSICS=1\x00COMPILER=gcc-10.2.1 20210110\x00DEFAULT_AUTOVACUUM\x00DEFAULT_CACHE_SIZE=-2000\x00DEFAULT_FILE_FORMAT=4\x00DEFAULT_JOURNAL_SIZE_LIMIT=-1\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\x00ENABLE_COLUMN_METADATA\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=127\x00MAX_LENGTH=1000000000\x00MAX_LIKE_PATTERN_LENGTH=50000\x00MAX_MMAP_SIZE=0x7fff0000\x00MAX_PAGE_COUNT=1073741823\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\x00BINARY\x00ANY\x00BLOB\x00INT\x00INTEGER\x00REAL\x00TEXT\x0020b:20e\x0020c:20e\x0020e\x0040f-21a-21d\x00now\x00local time unavailable\x00second\x00minute\x00hour\x00\x00\x00day\x00\x00\x00\x00month\x00\x00year\x00\x00\x00auto\x00julianday\x00localtime\x00unixepoch\x00utc\x00weekday \x00start of \x00month\x00year\x00day\x00%02d\x00%06.3f\x00%03d\x00%.16g\x00%lld\x00%04d\x00date\x00time\x00datetime\x00strftime\x00current_time\x00current_timestamp\x00current_date\x00failed to allocate %u bytes of memory\x00failed memory resize %u to %u bytes\x00out of memory\x000123456789ABCDEF0123456789abcdef\x00-x0\x00X0\x00%\x00NaN\x00Inf\x00\x00NULL\x00(NULL)\x00.\x00SUBQUERY %u\x00thstndrd\x00922337203685477580\x00API call with %s database connection pointer\x00unopened\x00invalid\x00Savepoint\x00AutoCommit\x00Transaction\x00SorterNext\x00Prev\x00Next\x00Checkpoint\x00JournalMode\x00Vacuum\x00VFilter\x00VUpdate\x00Goto\x00Gosub\x00InitCoroutine\x00Yield\x00MustBeInt\x00Jump\x00Once\x00If\x00Not\x00IfNot\x00IsNullOrType\x00IfNullRow\x00SeekLT\x00SeekLE\x00SeekGE\x00SeekGT\x00IfNotOpen\x00IfNoHope\x00NoConflict\x00NotFound\x00Found\x00SeekRowid\x00NotExists\x00Last\x00IfSmaller\x00SorterSort\x00Sort\x00Rewind\x00IdxLE\x00IdxGT\x00IdxLT\x00IdxGE\x00Or\x00And\x00RowSetRead\x00RowSetTest\x00Program\x00FkIfZero\x00IfPos\x00IsNull\x00NotNull\x00Ne\x00Eq\x00Gt\x00Le\x00Lt\x00Ge\x00ElseEq\x00IfNotZero\x00DecrJumpZero\x00IncrVacuum\x00VNext\x00Filter\x00Init\x00PureFunc\x00Function\x00Return\x00EndCoroutine\x00HaltIfNull\x00Halt\x00Integer\x00Int64\x00String\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\x00VInitIn\x00VColumn\x00VRename\x00Pagecount\x00MaxPgcnt\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\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\x00SQLite format 3\x00:memory:\x00@ \x00\n\x00invalid page number %d\x002nd reference to page %d\x00Failed to read ptrmap key=%d\x00Bad ptr map entry key=%d expected=(%d,%d) got=(%d,%d)\x00failed to get page %d\x00freelist leaf count too big on page %d\x00%s is %d but should be %d\x00size\x00overflow list length\x00Page %u: \x00unable to get the page. error code=%d\x00btreeInitPage() returns error code %d\x00free space corruption\x00On tree page %u cell %d: \x00On page %u at right child: \x00Offset %d out of range %d..%d\x00Extends off end of page\x00Rowid %lld out of order\x00Child page depth differs\x00Multiple uses for byte %u of page %u\x00Fragmentation of %d bytes reported as %d on page %u\x00Main freelist: \x00max rootpage (%d) disagrees with header (%d)\x00incremental_vacuum enabled with a max rootpage of zero\x00Page %d is never used\x00Pointer map page %d is referenced\x00unknown database %s\x00destination database is in use\x00source and destination must be distinct\x00%!.15g\x00-\x00%s%s\x00k(%d\x00B\x00,%s%s%s\x00N.\x00)\x00%.18s-%s\x00%s(%d)\x00%d\x00(blob)\x00vtab:%p\x00%c%u\x00]\x00program\x00?\x008\x0016LE\x0016BE\x00addr\x00opcode\x00p1\x00p2\x00p3\x00p4\x00p5\x00comment\x00id\x00parent\x00notused\x00detail\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\x00ValueList\x00bind on a busy prepared statement: [%s]\x00-- \x00'%.*q'\x00zeroblob(%d)\x00x'\x00%02x\x00'\x00%s constraint failed\x00%z: %s\x00abort at %d in [%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\x00cannot change %s wal mode from within a transaction\x00into\x00out of\x00database table is locked: %s\x00-- %s\x00statement aborts at %d: [%s] %s\x00NOT NULL\x00UNIQUE\x00CHECK\x00FOREIGN KEY\x00cannot open value of type %s\x00null\x00real\x00integer\x00no such rowid: %lld\x00cannot open virtual table: %s\x00cannot open table without rowid: %s\x00cannot open view: %s\x00no such column: \"%s\"\x00foreign key\x00indexed\x00cannot open %s column for writing\x00main\x00*\x00new\x00old\x00excluded\x00misuse of aliased aggregate %s\x00misuse of aliased window function %s\x00row value misused\x00double-quoted string literal: \"%w\"\x00no such column\x00ambiguous column name\x00%s: %s.%s.%s\x00%s: %s.%s\x00%s: %s\x00partial index WHERE clauses\x00index expressions\x00CHECK constraints\x00generated columns\x00%s prohibited in %s\x00true\x00false\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\x00a GROUP BY clause is required before HAVING\x00GROUP\x00aggregate functions are not allowed in the GROUP BY clause\x00Expression tree is too large (maximum depth %d)\x00IN(...) element has %d term%s - expected %d\x00s\x000\x00too many arguments on function %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\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\x00%sLIST SUBQUERY %d\x00CORRELATED \x00REUSE SUBQUERY %d\x00%sSCALAR SUBQUERY %d\x001\x000x\x00hex literal too big: %s%#T\x00generated column loop on \"%s\"\x00blob\x00text\x00numeric\x00none\x00misuse of aggregate: %#T()\x00unknown function: %#T()\x00RAISE() may only be used within a trigger-program\x00B\x00C\x00D\x00E\x00sqlite_\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') ELSE raise(ABORT,'NOT NULL constraint failed') END FROM pragma_quick_check(%Q,%Q) WHERE quick_check GLOB 'CHECK*' OR quick_check GLOB 'NULL*'\x00virtual tables may not be altered\x00Cannot add a column to a view\x00sqlite_altertab_%s\x00view\x00virtual table\x00cannot %s %s \"%s\"\x00drop column from\x00rename columns of\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')\x00error in %s %s%s%s: %s\x00 \x00CREATE \x00\"%w\" \x00%Q%s\x00%.*s%s\x00cannot drop %s column: \"%s\"\x00PRIMARY KEY\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\x00CREATE TABLE %Q.%s(%s)\x00DELETE FROM %Q.%s WHERE %s=%Q\x00DELETE FROM %Q.%s\x00sqlite_stat1\x00tbl,idx,stat\x00sqlite_stat4\x00tbl,idx,neq,nlt,ndlt,sample\x00sqlite_stat3\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\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\x00sqlite_temp_schema\x00sqlite_schema\x00sqlite_temp_master\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\x00sqlite_returning\x00cannot use RETURNING in a trigger\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'\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\x00unsupported use of NULLS %s\x00FIRST\x00LAST\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\x00CREATE%s INDEX %.*s\x00 UNIQUE\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\x00a JOIN clause is required before %s\x00ON\x00USING\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\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%!.20e\x00%Q\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\x00instr\x00printf\x00format\x00unicode\x00char\x00abs\x00round\x00upper\x00lower\x00hex\x00ifnull\x00random\x00randomblob\x00nullif\x00sqlite_version\x00sqlite_source_id\x00sqlite_log\x00quote\x00last_insert_rowid\x00changes\x00total_changes\x00replace\x00zeroblob\x00substr\x00substring\x00sum\x00total\x00avg\x00count\x00group_concat\x00glob\x00coalesce\x00ceil\x00ceiling\x00floor\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\x00foreign key mismatch - \"%w\" referencing \"%w\"\x00cannot INSERT into generated column \"%s\"\x00table %S has no column named %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\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]\x00so\x00automatic extension loading failed: %s\x00seq\x00from\x00to\x00on_update\x00on_delete\x00match\x00cid\x00name\x00type\x00notnull\x00dflt_value\x00pk\x00hidden\x00schema\x00ncol\x00wr\x00strict\x00seqno\x00desc\x00coll\x00key\x00builtin\x00enc\x00narg\x00flags\x00wdth\x00hght\x00flgs\x00unique\x00origin\x00partial\x00rowid\x00fkid\x00file\x00busy\x00checkpointed\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\x00onoffalseyestruextrafull\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\x00w\x00a\x00sissii\x00utf8\x00utf16le\x00utf16be\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\x00NULL value in %s.%s\x00non-%s value in %s.%s\x00CHECK constraint failed in %s\x00row \x00 missing from index \x00non-unique entry in index \x00wrong # of entries in index \x00ok\x00unsupported encoding: %s\x00restart\x00ANALYZE \"%w\".\"%w\"\x00UTF8\x00UTF-8\x00UTF-16le\x00UTF-16be\x00UTF16le\x00UTF16be\x00UTF-16\x00UTF16\x00CREATE TABLE x\x00%c\"%s\"\x00(\"%s\"\x00,arg HIDDEN\x00,schema HIDDEN\x00PRAGMA \x00%Q.\x00=%Q\x00error in %s %s after %s: %s\x00malformed database schema (%s)\x00%z - %s\x00rename\x00drop column\x00add column\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 or unsupported join type: %T %T%s%T\x00RIGHT and FULL OUTER JOINs are not currently supported\x00naturaleftouterightfullinnercross\x00a NATURAL join may not have an ON or USING clause\x00cannot have both ON and USING clauses in the same join\x00cannot join using column %s - column not present in both tables\x00UNION ALL\x00INTERSECT\x00EXCEPT\x00UNION\x00USE TEMP B-TREE FOR %s\x00column%d\x00%.*z:%u\x00cannot use window functions in recursive queries\x00recursive aggregate queries not supported\x00SETUP\x00RECURSIVE STEP\x00SCAN %d CONSTANT ROW%s\x00S\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\x00subquery_%u\x00too many references to \"%s\": max 65535\x00access to view \"%s\" prohibited\x00unsafe use of virtual table \"%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)\x00SCAN %s%s%s\x00 USING COVERING INDEX \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\x00RIGHT PART OF ORDER BY\x00ORDER 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\x00trigger %T already exists\x00cannot create trigger on system table\x00cannot create %s trigger on view: %S\x00BEFORE\x00AFTER\x00cannot create INSTEAD OF trigger on 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'\x00%s RETURNING is not available on virtual tables\x00DELETE\x00UPDATE\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\x00ATTACH %Q AS vacuum_db\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 vacuum_db.'||quote(name)||' SELECT*FROM\"%w\".'||quote(name)FROM vacuum_db.sqlite_schema WHERE type='table'AND coalesce(rootpage,1)>0\x00INSERT INTO vacuum_db.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\x00\x00 AND \x00(\x00 (\x00%s=?\x00ANY(%s)\x00>\x00<\x00%s %S\x00SEARCH\x00SCAN\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 %d:%s\x00BLOOM FILTER ON %S (\x00rowid=?\x00MULTI-INDEX OR\x00INDEX %d\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\x00second argument to nth_value must be a positive integer\x00argument of ntile must be a positive integer\x00row_number\x00dense_rank\x00rank\x00percent_rank\x00cume_dist\x00ntile\x00last_value\x00nth_value\x00first_value\x00lead\x00lag\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\x00%s clause should come after %s not before\x00LIMIT\x00too many terms in compound SELECT\x00syntax error after column name \"%.*s\"\x00parser stack overflow\x00unknown table option: %.*s\x00set list\x00near \"%T\": syntax error\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\x00unknown error\x00abort due to ROLLBACK\x00another row available\x00no more rows available\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\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\x00mode\x00no such %s mode: %s\x00%s mode not allowed: %s\x00no such vfs: %s\x00shared\x00private\x00ro\x00rw\x00rwc\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\x000123456789abcdef\x00JSON cannot hold BLOB values\x00malformed JSON\x00[0]\x00JSON path error near '%q'\x00json_%s() needs an odd number of arguments\x00$[\x00$.\x00json_object() requires an even number of arguments\x00json_object() labels must be TEXT\x00set\x00insert\x00[]\x00{}\x00CREATE TABLE x(key,value,type,atom,id,parent,fullkey,path,json HIDDEN,root HIDDEN)\x00[%d]\x00.%.*s\x00$\x00json\x00json_array\x00json_array_length\x00json_extract\x00->\x00->>\x00json_insert\x00json_object\x00json_patch\x00json_quote\x00json_remove\x00json_replace\x00json_set\x00json_type\x00json_valid\x00json_group_array\x00json_group_object\x00json_each\x00json_tree\x00%s_node\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\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\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\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\x00CREATE TABLE x(%.*s INT\x00,%.*s\x00);\x00,%.*s REAL\x00,%.*s INT\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\x00Mapping (%lld -> %lld) missing from %s table\x00%_rowid\x00%_parent\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\x00END\x00wrong number of arguments to function rtreecheck()\x00[\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\x00geopoly_area\x00geopoly_blob\x00geopoly_json\x00geopoly_svg\x00geopoly_contains_point\x00geopoly_debug\x00geopoly_bbox\x00geopoly_xform\x00geopoly_regular\x00geopoly_ccw\x00geopoly_group_bbox\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;\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\x00AND rootpage!=0 AND rootpage IS NOT NULL\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\x00table %q %s rbu_rowid column\x00may not have\x00requires\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%z%s\"%w\" %s %sCOLLATE %Q%s\x00 NOT NULL\x00%z, %z\x00CREATE TABLE \"rbu_imp_%w\"(%z)%s\x00 WITHOUT ROWID\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\x00SELECT %s, 0 AS rbu_control FROM '%q' %s %s %s ORDER BY %s%s\x00AND\x00WHERE\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_\x00INSERT INTO \"%s%w\"(%s%s) VALUES(%s)\x00, _rowid_\x00DELETE FROM \"%s%w\" WHERE %s\x00, rbu_rowid\x00CREATE TABLE IF NOT EXISTS %s.'rbu_tmp_%q' AS SELECT *%s FROM '%q' WHERE 0;\x00, 0 AS rbu_rowid\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\x00SELECT %s,%s rbu_control%s FROM '%q'%s %s %s %s\x000 AS \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\x00file:%s-vactmp?rbu_memory=1%s%s\x00&\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, %d), (%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\x00database modified during rbu %s\x00vacuum\x00update\x00BEGIN IMMEDIATE\x00PRAGMA journal_mode=off\x00-vactmp\x00DELETE FROM stat.rbu_state\x00rbu/zipvfs setup error\x00rbu(%s)/%z\x00rbu_memory\x00SELECT 0, 'tbl', '', 0, '', 1 UNION ALL SELECT 1, 'idx', '', 0, '', 2 UNION ALL SELECT 2, 'stat', '', 0, '', 0\x00PRAGMA '%q'.table_info('%q')\x00%z%s\"%w\".\"%w\".\"%w\"=\"%w\".\"%w\".\"%w\"\x00%z%s\"%w\".\"%w\".\"%w\" IS NOT \"%w\".\"%w\".\"%w\"\x00 OR \x00SELECT * FROM \"%w\".\"%w\" WHERE NOT EXISTS ( SELECT 1 FROM \"%w\".\"%w\" WHERE %s)\x00SELECT * FROM \"%w\".\"%w\", \"%w\".\"%w\" WHERE %s AND (%z)\x00table schemas do not match\x00SELECT tbl, ?2, stat FROM %Q.sqlite_stat1 WHERE tbl IS ?1 AND idx IS (CASE WHEN ?2=X'' THEN NULL ELSE ?2 END)\x00SELECT * FROM \x00 WHERE \x00 IS ?\x00SAVEPOINT changeset\x00RELEASE changeset\x00UPDATE main.\x00 SET \x00 = ?\x00idx IS CASE WHEN length(?4)=0 AND typeof(?4)='blob' THEN NULL ELSE ?4 END \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()\x00snippet\x00highlight\x00bm25\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\x00content_rowid\x00multiple content_rowid=... directives\x00columnsize\x00malformed columnsize=... directive\x00columns\x00malformed detail=... directive\x00unrecognized option: \"%.*s\"\x00reserved fts5 column name: %s\x00unindexed\x00unrecognized column option: %s\x00T.%Q\x00, T.%Q\x00, T.c%d\x00reserved fts5 table name: %s\x00parse error in \"%s\"\x00docsize\x00%Q.'%q_%s'\x00CREATE TABLE x(\x00%z%s%Q\x00%z, %Q HIDDEN, %s HIDDEN)\x00pgsz\x00hashsize\x00automerge\x00usermerge\x00crisismerge\x00SELECT k, v FROM %Q.'%q_config'\x00version\x00invalid fts5 file format (found %d, expected %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)\x00fts5: %s queries are not supported (detail!=full)\x00phrase\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=?\x00PRAGMA %Q.data_version\x00SELECT pgno FROM '%q'.'%q_idx' WHERE segid=? AND term<=? ORDER BY term DESC LIMIT 1\x00INSERT INTO '%q'.'%q_idx'(segid,term,pgno) VALUES(?,?,?)\x00%s_data\x00id INTEGER PRIMARY KEY, block BLOB\x00segid, term, pgno, PRIMARY KEY(segid, term)\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\x00SELECT rowid, rank FROM %Q.%Q ORDER BY %s(\"%w\"%s%s) %s\x00DESC\x00ASC\x00reads\x00unknown special query: %.*s\x00SELECT %s\x00no such function: %s\x00parse error in rank function: %s\x00%s: table does not support scanning\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\x00cannot %s contentless fts5 table: %s\x00DELETE from\x00no such cursor: %lld\x00no such tokenizer: %s\x00error in tokenizer constructor\x00fts5_api_ptr\x00fts5: 2022-03-26 13:51:10 d33c709cc0af66bc5b6dc6216eba9f1f0b40960b9ae83694c986fbf4c1d6f08f\x00config\x00fts5\x00fts5_source_id\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(?,?)\x00DELETE FROM %Q.'%q_docsize' WHERE id=?\x00SELECT sz FROM %Q.'%q_docsize' WHERE id=?\x00REPLACE INTO %Q.'%q_config' VALUES(?,?)\x00SELECT %s FROM %s AS T\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\x00id INTEGER PRIMARY KEY, sz BLOB\x00k PRIMARY KEY, v\x00DELETE FROM %Q.'%q_data';DELETE FROM %Q.'%q_idx';\x00DELETE FROM %Q.'%q_docsize';\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\x00ascii\x00porter\x00trigram\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\x002022-03-26 13:51:10 d33c709cc0af66bc5b6dc6216eba9f1f0b40960b9ae83694c986fbf4c1d6f08f\x00" var ts = (*reflect.StringHeader)(unsafe.Pointer(&ts1)).Data diff --git a/vendor/modernc.org/sqlite/lib/sqlite_linux_arm64.go b/vendor/modernc.org/sqlite/lib/sqlite_linux_arm64.go index b69ceaf4..0df90cfd 100644 --- a/vendor/modernc.org/sqlite/lib/sqlite_linux_arm64.go +++ b/vendor/modernc.org/sqlite/lib/sqlite_linux_arm64.go @@ -1,4 +1,4 @@ -// Code generated by 'ccgo -DSQLITE_PRIVATE= -export-defines "" -export-enums "" -export-externs X -export-fields F -export-typedefs "" -ignore-unsupported-alignment -pkgname sqlite3 -o lib/sqlite_linux_arm64.go -trace-translation-units testdata/sqlite-amalgamation-3380100/sqlite3.c -DNDEBUG -DHAVE_USLEEP -DLONGDOUBLE_TYPE=double -DSQLITE_CORE -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_GEOPOLY -DSQLITE_ENABLE_MATH_FUNCTIONS -DSQLITE_ENABLE_MEMORY_MANAGEMENT -DSQLITE_ENABLE_OFFSET_SQL_FUNC -DSQLITE_ENABLE_PREUPDATE_HOOK -DSQLITE_ENABLE_RBU -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_SESSION -DSQLITE_ENABLE_SNAPSHOT -DSQLITE_ENABLE_STAT4 -DSQLITE_ENABLE_UNLOCK_NOTIFY -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_MUTEX_APPDEF=1 -DSQLITE_MUTEX_NOOP -DSQLITE_SOUNDEX -DSQLITE_THREADSAFE=1 -DSQLITE_OS_UNIX=1', DO NOT EDIT. +// Code generated by 'ccgo -DSQLITE_PRIVATE= -export-defines "" -export-enums "" -export-externs X -export-fields F -export-typedefs "" -ignore-unsupported-alignment -pkgname sqlite3 -o lib/sqlite_linux_arm64.go -trace-translation-units testdata/sqlite-amalgamation-3380200/sqlite3.c -DNDEBUG -DHAVE_USLEEP -DLONGDOUBLE_TYPE=double -DSQLITE_CORE -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_GEOPOLY -DSQLITE_ENABLE_MATH_FUNCTIONS -DSQLITE_ENABLE_MEMORY_MANAGEMENT -DSQLITE_ENABLE_OFFSET_SQL_FUNC -DSQLITE_ENABLE_PREUPDATE_HOOK -DSQLITE_ENABLE_RBU -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_SESSION -DSQLITE_ENABLE_SNAPSHOT -DSQLITE_ENABLE_STAT4 -DSQLITE_ENABLE_UNLOCK_NOTIFY -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_MUTEX_APPDEF=1 -DSQLITE_MUTEX_NOOP -DSQLITE_SOUNDEX -DSQLITE_THREADSAFE=1 -DSQLITE_OS_UNIX=1', DO NOT EDIT. package sqlite3 @@ -2143,7 +2143,7 @@ const ( SQLITE_SHM_UNLOCK = 1 SQLITE_SORTER_PMASZ = 250 SQLITE_SOUNDEX = 1 - SQLITE_SOURCE_ID = "2022-03-12 13:37:29 38c210fdd258658321c85ec9c01a072fda3ada94540e3239d29b34dc547a8cbc" + SQLITE_SOURCE_ID = "2022-03-26 13:51:10 d33c709cc0af66bc5b6dc6216eba9f1f0b40960b9ae83694c986fbf4c1d6f08f" SQLITE_SO_ASC = 0 SQLITE_SO_DESC = 1 SQLITE_SO_UNDEFINED = -1 @@ -2251,8 +2251,8 @@ const ( SQLITE_UTF8 = 1 SQLITE_VDBEINT_H = 0 SQLITE_VDBE_H = 0 - SQLITE_VERSION = "3.38.1" - SQLITE_VERSION_NUMBER = 3038001 + SQLITE_VERSION = "3.38.2" + SQLITE_VERSION_NUMBER = 3038002 SQLITE_VTABRISK_High = 2 SQLITE_VTABRISK_Low = 0 SQLITE_VTABRISK_Normal = 1 @@ -3747,7 +3747,7 @@ type X__float128 = float64 /* :47:21 */ // ***************************************************************************** // // This file is an amalgamation of many separate C source files from SQLite -// version 3.38.1. By combining all the individual C code files into this +// version 3.38.2. By combining all the individual C code files into this // single large file, the entire code can be compiled as a single translation // unit. This allows many compilers to do optimizations that would not be // possible if the files were compiled separately. Performance improvements @@ -26348,12 +26348,22 @@ var pgsz int32 = 4096 /* sqlite3.c:39581:28 */ // to shared and back or from unlocked to exclusive and back. But one may // not go from shared to exclusive or from exclusive to shared. func unixShmLock(tls *libc.TLS, fd uintptr, ofst int32, n int32, flags int32) int32 { /* sqlite3.c:39687:12: */ - var pDbFd uintptr = fd // Connection holding shared memory - var p uintptr = (*UnixFile)(unsafe.Pointer(pDbFd)).FpShm // The shared memory being locked - var pShmNode uintptr = (*UnixShm)(unsafe.Pointer(p)).FpShmNode // The underlying file iNode - var rc int32 = SQLITE_OK // Result code - var mask U16 // Mask of locks to take or release - var aLock uintptr = pShmNode + 64 /* &.aLock */ + var pDbFd uintptr = fd // Connection holding shared memory + var p uintptr // The shared memory being locked + var pShmNode uintptr // The underlying file iNode + var rc int32 = SQLITE_OK // Result code + var mask U16 // Mask of locks to take or release + var aLock uintptr + + p = (*UnixFile)(unsafe.Pointer(pDbFd)).FpShm + if p == uintptr(0) { + return SQLITE_IOERR | int32(20)<<8 + } + pShmNode = (*UnixShm)(unsafe.Pointer(p)).FpShmNode + if pShmNode == uintptr(0) { + return SQLITE_IOERR | int32(20)<<8 + } + aLock = pShmNode + 64 /* &.aLock */ // Check that, if this to be a blocking lock, no locks that occur later // in the following list than the lock being obtained are already held: @@ -26454,7 +26464,7 @@ func unixShmLock(tls *libc.TLS, fd uintptr, ofst int32, n int32, flags int32) in // // All loads and stores begun before the barrier must complete before // any load or store begun after the barrier. -func unixShmBarrier(tls *libc.TLS, fd uintptr) { /* sqlite3.c:39819:13: */ +func unixShmBarrier(tls *libc.TLS, fd uintptr) { /* sqlite3.c:39825:13: */ _ = fd // compiler-defined memory barrier @@ -26467,7 +26477,7 @@ func unixShmBarrier(tls *libc.TLS, fd uintptr) { /* sqlite3.c:39819:13: */ // // If there is no shared memory associated with the connection then this // routine is a harmless no-op. -func unixShmUnmap(tls *libc.TLS, fd uintptr, deleteFlag int32) int32 { /* sqlite3.c:39838:12: */ +func unixShmUnmap(tls *libc.TLS, fd uintptr, deleteFlag int32) int32 { /* sqlite3.c:39844:12: */ var p uintptr // The connection to be closed var pShmNode uintptr // The underlying shared-memory file var pp uintptr // For looping over sibling connections @@ -26510,7 +26520,7 @@ func unixShmUnmap(tls *libc.TLS, fd uintptr, deleteFlag int32) int32 { /* sqlite } // If it is currently memory mapped, unmap file pFd. -func unixUnmapfile(tls *libc.TLS, pFd uintptr) { /* sqlite3.c:39895:13: */ +func unixUnmapfile(tls *libc.TLS, pFd uintptr) { /* sqlite3.c:39901:13: */ if (*UnixFile)(unsafe.Pointer(pFd)).FpMapRegion != 0 { (*(*func(*libc.TLS, uintptr, Size_t) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 23*24 + 8)))(tls, (*UnixFile)(unsafe.Pointer(pFd)).FpMapRegion, uint64((*UnixFile)(unsafe.Pointer(pFd)).FmmapSizeActual)) @@ -26533,7 +26543,7 @@ func unixUnmapfile(tls *libc.TLS, pFd uintptr) { /* sqlite3.c:39895:13: */ // the three variables above are zeroed. In this case SQLite should // continue accessing the database using the xRead() and xWrite() // methods. -func unixRemapfile(tls *libc.TLS, pFd uintptr, nNew I64) { /* sqlite3.c:39920:13: */ +func unixRemapfile(tls *libc.TLS, pFd uintptr, nNew I64) { /* sqlite3.c:39926:13: */ var zErr uintptr = ts + 3370 /* "mmap" */ var h int32 = (*UnixFile)(unsafe.Pointer(pFd)).Fh // File descriptor open on db file var pOrig uintptr = (*UnixFile)(unsafe.Pointer(pFd)).FpMapRegion // Pointer to current file mapping @@ -26567,7 +26577,7 @@ func unixRemapfile(tls *libc.TLS, pFd uintptr, nNew I64) { /* sqlite3.c:39920:13 if pNew == libc.UintptrFromInt32(-1) { pNew = uintptr(0) nNew = int64(0) - unixLogErrorAtLine(tls, SQLITE_OK, zErr, (*UnixFile)(unsafe.Pointer(pFd)).FzPath, 39985) + unixLogErrorAtLine(tls, SQLITE_OK, zErr, (*UnixFile)(unsafe.Pointer(pFd)).FzPath, 39991) // If the mmap() above failed, assume that all subsequent mmap() calls // will probably fail too. Fall back to using xRead/xWrite exclusively @@ -26592,7 +26602,7 @@ func unixRemapfile(tls *libc.TLS, pFd uintptr, nNew I64) { /* sqlite3.c:39920:13 // SQLITE_OK is returned if no error occurs (even if the mapping is not // recreated as a result of outstanding references) or an SQLite error // code otherwise. -func unixMapfile(tls *libc.TLS, pFd uintptr, nMap I64) int32 { /* sqlite3.c:40012:12: */ +func unixMapfile(tls *libc.TLS, pFd uintptr, nMap I64) int32 { /* sqlite3.c:40018:12: */ bp := tls.Alloc(128) defer tls.Free(128) @@ -26629,7 +26639,7 @@ func unixMapfile(tls *libc.TLS, pFd uintptr, nMap I64) int32 { /* sqlite3.c:4001 // // If this function does return a pointer, the caller must eventually // release the reference by calling unixUnfetch(). -func unixFetch(tls *libc.TLS, fd uintptr, iOff I64, nAmt int32, pp uintptr) int32 { /* sqlite3.c:40049:12: */ +func unixFetch(tls *libc.TLS, fd uintptr, iOff I64, nAmt int32, pp uintptr) int32 { /* sqlite3.c:40055:12: */ var pFd uintptr = fd // The underlying database file *(*uintptr)(unsafe.Pointer(pp)) = uintptr(0) @@ -26656,7 +26666,7 @@ func unixFetch(tls *libc.TLS, fd uintptr, iOff I64, nAmt int32, pp uintptr) int3 // Or, if the third argument is NULL, then this function is being called // to inform the VFS layer that, according to POSIX, any existing mapping // may now be invalid and should be unmapped. -func unixUnfetch(tls *libc.TLS, fd uintptr, iOff I64, p uintptr) int32 { /* sqlite3.c:40080:12: */ +func unixUnfetch(tls *libc.TLS, fd uintptr, iOff I64, p uintptr) int32 { /* sqlite3.c:40086:12: */ var pFd uintptr = fd // The underlying database file _ = iOff @@ -26717,33 +26727,33 @@ func unixUnfetch(tls *libc.TLS, fd uintptr, iOff I64, p uintptr) int32 { /* sqli // Here are all of the sqlite3_io_methods objects for each of the // locking strategies. Functions that return pointers to these methods // are also created. -var posixIoMethods = Sqlite3_io_methods{FiVersion: 3 /* iVersion */, FxClose: 0 /* xClose */, FxRead: 0 /* xRead */, FxWrite: 0 /* xWrite */, FxTruncate: 0 /* xTruncate */, FxSync: 0 /* xSync */, FxFileSize: 0 /* xFileSize */, FxLock: 0 /* xLock */, FxUnlock: 0 /* xUnlock */, FxCheckReservedLock: 0 /* xCheckReservedLock */, FxFileControl: 0 /* xFileControl */, FxSectorSize: 0 /* xSectorSize */, FxDeviceCharacteristics: 0 /* xDeviceCapabilities */, FxShmMap: 0 /* xShmMap */, FxShmLock: 0 /* xShmLock */, FxShmBarrier: 0 /* xShmBarrier */, FxShmUnmap: 0 /* xShmUnmap */, FxFetch: 0 /* xFetch */, FxUnfetch: 0 /* xUnfetch */} /* sqlite3.c:40182:1 */ +var posixIoMethods = Sqlite3_io_methods{FiVersion: 3 /* iVersion */, FxClose: 0 /* xClose */, FxRead: 0 /* xRead */, FxWrite: 0 /* xWrite */, FxTruncate: 0 /* xTruncate */, FxSync: 0 /* xSync */, FxFileSize: 0 /* xFileSize */, FxLock: 0 /* xLock */, FxUnlock: 0 /* xUnlock */, FxCheckReservedLock: 0 /* xCheckReservedLock */, FxFileControl: 0 /* xFileControl */, FxSectorSize: 0 /* xSectorSize */, FxDeviceCharacteristics: 0 /* xDeviceCapabilities */, FxShmMap: 0 /* xShmMap */, FxShmLock: 0 /* xShmLock */, FxShmBarrier: 0 /* xShmBarrier */, FxShmUnmap: 0 /* xShmUnmap */, FxFetch: 0 /* xFetch */, FxUnfetch: 0 /* xUnfetch */} /* sqlite3.c:40188:1 */ -func posixIoFinderImpl(tls *libc.TLS, z uintptr, p uintptr) uintptr { /* sqlite3.c:40182:1: */ +func posixIoFinderImpl(tls *libc.TLS, z uintptr, p uintptr) uintptr { /* sqlite3.c:40188:1: */ _ = z _ = p return uintptr(unsafe.Pointer(&posixIoMethods)) } -var posixIoFinder uintptr = 0 /* sqlite3.c:40182:1 */ -var nolockIoMethods = Sqlite3_io_methods{FiVersion: 3 /* iVersion */, FxClose: 0 /* xClose */, FxRead: 0 /* xRead */, FxWrite: 0 /* xWrite */, FxTruncate: 0 /* xTruncate */, FxSync: 0 /* xSync */, FxFileSize: 0 /* xFileSize */, FxLock: 0 /* xLock */, FxUnlock: 0 /* xUnlock */, FxCheckReservedLock: 0 /* xCheckReservedLock */, FxFileControl: 0 /* xFileControl */, FxSectorSize: 0 /* xSectorSize */, FxDeviceCharacteristics: 0 /* xShmMap */, FxShmLock: 0 /* xShmLock */, FxShmBarrier: 0 /* xShmBarrier */, FxShmUnmap: 0 /* xShmUnmap */, FxFetch: 0 /* xFetch */, FxUnfetch: 0 /* xUnfetch */} /* sqlite3.c:40192:1 */ +var posixIoFinder uintptr = 0 /* sqlite3.c:40188:1 */ +var nolockIoMethods = Sqlite3_io_methods{FiVersion: 3 /* iVersion */, FxClose: 0 /* xClose */, FxRead: 0 /* xRead */, FxWrite: 0 /* xWrite */, FxTruncate: 0 /* xTruncate */, FxSync: 0 /* xSync */, FxFileSize: 0 /* xFileSize */, FxLock: 0 /* xLock */, FxUnlock: 0 /* xUnlock */, FxCheckReservedLock: 0 /* xCheckReservedLock */, FxFileControl: 0 /* xFileControl */, FxSectorSize: 0 /* xSectorSize */, FxDeviceCharacteristics: 0 /* xShmMap */, FxShmLock: 0 /* xShmLock */, FxShmBarrier: 0 /* xShmBarrier */, FxShmUnmap: 0 /* xShmUnmap */, FxFetch: 0 /* xFetch */, FxUnfetch: 0 /* xUnfetch */} /* sqlite3.c:40198:1 */ -func nolockIoFinderImpl(tls *libc.TLS, z uintptr, p uintptr) uintptr { /* sqlite3.c:40192:1: */ +func nolockIoFinderImpl(tls *libc.TLS, z uintptr, p uintptr) uintptr { /* sqlite3.c:40198:1: */ _ = z _ = p return uintptr(unsafe.Pointer(&nolockIoMethods)) } -var nolockIoFinder uintptr = 0 /* sqlite3.c:40192:1 */ -var dotlockIoMethods = Sqlite3_io_methods{FiVersion: 1 /* iVersion */, FxClose: 0 /* xClose */, FxRead: 0 /* xRead */, FxWrite: 0 /* xWrite */, FxTruncate: 0 /* xTruncate */, FxSync: 0 /* xSync */, FxFileSize: 0 /* xFileSize */, FxLock: 0 /* xLock */, FxUnlock: 0 /* xUnlock */, FxCheckReservedLock: 0 /* xCheckReservedLock */, FxFileControl: 0 /* xFileControl */, FxSectorSize: 0 /* xSectorSize */, FxDeviceCharacteristics: 0 /* xShmMap */, FxShmLock: 0 /* xShmLock */, FxShmBarrier: 0 /* xShmBarrier */, FxShmUnmap: 0 /* xShmUnmap */, FxFetch: 0 /* xFetch */, FxUnfetch: 0 /* xUnfetch */} /* sqlite3.c:40202:1 */ +var nolockIoFinder uintptr = 0 /* sqlite3.c:40198:1 */ +var dotlockIoMethods = Sqlite3_io_methods{FiVersion: 1 /* iVersion */, FxClose: 0 /* xClose */, FxRead: 0 /* xRead */, FxWrite: 0 /* xWrite */, FxTruncate: 0 /* xTruncate */, FxSync: 0 /* xSync */, FxFileSize: 0 /* xFileSize */, FxLock: 0 /* xLock */, FxUnlock: 0 /* xUnlock */, FxCheckReservedLock: 0 /* xCheckReservedLock */, FxFileControl: 0 /* xFileControl */, FxSectorSize: 0 /* xSectorSize */, FxDeviceCharacteristics: 0 /* xShmMap */, FxShmLock: 0 /* xShmLock */, FxShmBarrier: 0 /* xShmBarrier */, FxShmUnmap: 0 /* xShmUnmap */, FxFetch: 0 /* xFetch */, FxUnfetch: 0 /* xUnfetch */} /* sqlite3.c:40208:1 */ -func dotlockIoFinderImpl(tls *libc.TLS, z uintptr, p uintptr) uintptr { /* sqlite3.c:40202:1: */ +func dotlockIoFinderImpl(tls *libc.TLS, z uintptr, p uintptr) uintptr { /* sqlite3.c:40208:1: */ _ = z _ = p return uintptr(unsafe.Pointer(&dotlockIoMethods)) } -var dotlockIoFinder uintptr = 0 /* sqlite3.c:40202:1 */ +var dotlockIoFinder uintptr = 0 /* sqlite3.c:40208:1 */ // The proxy locking method is a "super-method" in the sense that it // opens secondary file descriptors for the conch and lock files and @@ -26756,7 +26766,7 @@ var dotlockIoFinder uintptr = 0 /* sqlite3.c:40202:1 */ // nfs lockd on OSX 10.3+ doesn't clear write locks when a read lock is set // An abstract type for a pointer to an IO method finder function: -type Finder_type = uintptr /* sqlite3.c:40397:34 */ +type Finder_type = uintptr /* sqlite3.c:40403:34 */ // *************************************************************************** // @@ -26766,7 +26776,7 @@ type Finder_type = uintptr /* sqlite3.c:40397:34 */ // sqlite3_vfs object. // Initialize the contents of the unixFile structure pointed to by pId. -func fillInUnixFile(tls *libc.TLS, pVfs uintptr, h int32, pId uintptr, zFilename uintptr, ctrlFlags int32) int32 { /* sqlite3.c:40410:12: */ +func fillInUnixFile(tls *libc.TLS, pVfs uintptr, h int32, pId uintptr, zFilename uintptr, ctrlFlags int32) int32 { /* sqlite3.c:40416:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -26823,7 +26833,7 @@ func fillInUnixFile(tls *libc.TLS, pVfs uintptr, h int32, pId uintptr, zFilename // If scenario (a) caused the error then things are not so safe. The // implicit assumption here is that if fstat() fails, things are in // such bad shape that dropping a lock or two doesn't matter much. - robust_close(tls, pNew, h, 40488) + robust_close(tls, pNew, h, 40494) h = -1 } unixLeaveMutex(tls) @@ -26846,7 +26856,7 @@ func fillInUnixFile(tls *libc.TLS, pVfs uintptr, h int32, pId uintptr, zFilename storeLastErrno(tls, pNew, 0) if rc != SQLITE_OK { if h >= 0 { - robust_close(tls, pNew, h, 40573) + robust_close(tls, pNew, h, 40579) } } else { (*Sqlite3_file)(unsafe.Pointer(pId)).FpMethods = pLockingStyle @@ -26864,17 +26874,17 @@ var azTempDirs = [6]uintptr{ ts + 3680, ts + 3689, ts + 1547, -} /* sqlite3.c:40585:19 */ +} /* sqlite3.c:40591:19 */ // Initialize first two members of azTempDirs[] array. -func unixTempFileInit(tls *libc.TLS) { /* sqlite3.c:40597:13: */ +func unixTempFileInit(tls *libc.TLS) { /* sqlite3.c:40603:13: */ azTempDirs[0] = libc.Xgetenv(tls, ts+3694) azTempDirs[1] = libc.Xgetenv(tls, ts+3708) } // Return the name of a directory in which to put temporary files. // If no suitable temporary file directory can be found, return NULL. -func unixTempFileDir(tls *libc.TLS) uintptr { /* sqlite3.c:40606:19: */ +func unixTempFileDir(tls *libc.TLS) uintptr { /* sqlite3.c:40612:19: */ bp := tls.Alloc(128) defer tls.Free(128) @@ -26901,7 +26911,7 @@ func unixTempFileDir(tls *libc.TLS) uintptr { /* sqlite3.c:40606:19: */ // Create a temporary file name in zBuf. zBuf must be allocated // by the calling process and must be big enough to hold at least // pVfs->mxPathname bytes. -func unixGetTempname(tls *libc.TLS, nBuf int32, zBuf uintptr) int32 { /* sqlite3.c:40630:12: */ +func unixGetTempname(tls *libc.TLS, nBuf int32, zBuf uintptr) int32 { /* sqlite3.c:40636:12: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -26945,7 +26955,7 @@ func unixGetTempname(tls *libc.TLS, nBuf int32, zBuf uintptr) int32 { /* sqlite3 // // If a suitable file descriptor is found, then it is returned. If no // such file descriptor is located, -1 is returned. -func findReusableFd(tls *libc.TLS, zPath uintptr, flags int32) uintptr { /* sqlite3.c:40680:21: */ +func findReusableFd(tls *libc.TLS, zPath uintptr, flags int32) uintptr { /* sqlite3.c:40686:21: */ bp := tls.Alloc(128) defer tls.Free(128) @@ -26996,7 +27006,7 @@ func findReusableFd(tls *libc.TLS, zPath uintptr, flags int32) uintptr { /* sqli } // Find the mode, uid and gid of file zFile. -func getFileMode(tls *libc.TLS, zFile uintptr, pMode uintptr, pUid uintptr, pGid uintptr) int32 { /* sqlite3.c:40730:12: */ +func getFileMode(tls *libc.TLS, zFile uintptr, pMode uintptr, pUid uintptr, pGid uintptr) int32 { /* sqlite3.c:40736:12: */ bp := tls.Alloc(128) defer tls.Free(128) @@ -27032,7 +27042,7 @@ func getFileMode(tls *libc.TLS, zFile uintptr, pMode uintptr, pUid uintptr, pGid // original filename is unavailable. But 8_3_NAMES is only used for // FAT filesystems and permissions do not matter there, so just use // the default permissions. In 8_3_NAMES mode, leave *pMode set to zero. -func findCreateFileMode(tls *libc.TLS, zPath uintptr, flags int32, pMode uintptr, pUid uintptr, pGid uintptr) int32 { /* sqlite3.c:40769:12: */ +func findCreateFileMode(tls *libc.TLS, zPath uintptr, flags int32, pMode uintptr, pUid uintptr, pGid uintptr) int32 { /* sqlite3.c:40775:12: */ bp := tls.Alloc(513) defer tls.Free(513) @@ -27106,7 +27116,7 @@ func findCreateFileMode(tls *libc.TLS, zPath uintptr, flags int32, pMode uintptr // file handle closed. To achieve the same effect using this new // interface, add the DELETEONCLOSE flag to those specified above for // OpenExclusive(). -func unixOpen(tls *libc.TLS, pVfs uintptr, zPath uintptr, pFile uintptr, flags int32, pOutFlags uintptr) int32 { /* sqlite3.c:40846:12: */ +func unixOpen(tls *libc.TLS, pVfs uintptr, zPath uintptr, pFile uintptr, flags int32, pOutFlags uintptr) int32 { /* sqlite3.c:40852:12: */ bp := tls.Alloc(528) defer tls.Free(528) @@ -27304,7 +27314,7 @@ __15: if !(fd < 0) { goto __19 } - rc2 = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 41002), ts+3212, zName, 41002) + rc2 = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 41008), ts+3212, zName, 41008) if !(rc == SQLITE_OK) { goto __20 } @@ -27404,7 +27414,7 @@ __30: // Delete the file at zPath. If the dirSync argument is true, fsync() // the directory after deleting the file. -func unixDelete(tls *libc.TLS, NotUsed uintptr, zPath uintptr, dirSync int32) int32 { /* sqlite3.c:41125:12: */ +func unixDelete(tls *libc.TLS, NotUsed uintptr, zPath uintptr, dirSync int32) int32 { /* sqlite3.c:41131:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -27415,7 +27425,7 @@ func unixDelete(tls *libc.TLS, NotUsed uintptr, zPath uintptr, dirSync int32) in if *(*int32)(unsafe.Pointer(libc.X__errno_location(tls))) == ENOENT { rc = SQLITE_IOERR | int32(23)<<8 } else { - rc = unixLogErrorAtLine(tls, SQLITE_IOERR|int32(10)<<8, ts+3322, zPath, 41141) + rc = unixLogErrorAtLine(tls, SQLITE_IOERR|int32(10)<<8, ts+3322, zPath, 41147) } return rc } @@ -27425,9 +27435,9 @@ func unixDelete(tls *libc.TLS, NotUsed uintptr, zPath uintptr, dirSync int32) in rc = (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 17*24 + 8)))(tls, zPath, bp) if rc == SQLITE_OK { if full_fsync(tls, *(*int32)(unsafe.Pointer(bp)), 0, 0) != 0 { - rc = unixLogErrorAtLine(tls, SQLITE_IOERR|int32(5)<<8, ts+3739, zPath, 41151) + rc = unixLogErrorAtLine(tls, SQLITE_IOERR|int32(5)<<8, ts+3739, zPath, 41157) } - robust_close(tls, uintptr(0), *(*int32)(unsafe.Pointer(bp /* fd */)), 41153) + robust_close(tls, uintptr(0), *(*int32)(unsafe.Pointer(bp /* fd */)), 41159) } else { rc = SQLITE_OK @@ -27444,7 +27454,7 @@ func unixDelete(tls *libc.TLS, NotUsed uintptr, zPath uintptr, dirSync int32) in // SQLITE_ACCESS_READONLY: Return 1 if the file is readable. // // Otherwise return 0. -func unixAccess(tls *libc.TLS, NotUsed uintptr, zPath uintptr, flags int32, pResOut uintptr) int32 { /* sqlite3.c:41173:12: */ +func unixAccess(tls *libc.TLS, NotUsed uintptr, zPath uintptr, flags int32, pResOut uintptr) int32 { /* sqlite3.c:41179:12: */ bp := tls.Alloc(128) defer tls.Free(128) @@ -27466,7 +27476,7 @@ func unixAccess(tls *libc.TLS, NotUsed uintptr, zPath uintptr, flags int32, pRes // If the last component of the pathname in z[0]..z[j-1] is something // other than ".." then back it out and return true. If the last // component is empty or if it is ".." then return false. -func unixBackupDir(tls *libc.TLS, z uintptr, pJ uintptr) int32 { /* sqlite3.c:41202:12: */ +func unixBackupDir(tls *libc.TLS, z uintptr, pJ uintptr) int32 { /* sqlite3.c:41208:12: */ var j int32 = *(*int32)(unsafe.Pointer(pJ)) var i int32 if j <= 0 { @@ -27489,7 +27499,7 @@ func unixBackupDir(tls *libc.TLS, z uintptr, pJ uintptr) int32 { /* sqlite3.c:41 // // Remove all instances of /./ // Remove all isntances of /X/../ for any X -func mkFullPathname(tls *libc.TLS, zPath uintptr, zOut uintptr, nOut int32) int32 { /* sqlite3.c:41220:12: */ +func mkFullPathname(tls *libc.TLS, zPath uintptr, zOut uintptr, nOut int32) int32 { /* sqlite3.c:41226:12: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -27500,7 +27510,7 @@ func mkFullPathname(tls *libc.TLS, zPath uintptr, zOut uintptr, nOut int32) int3 if int32(*(*uint8)(unsafe.Pointer(zPath))) != '/' { if (*(*func(*libc.TLS, uintptr, Size_t) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 3*24 + 8)))(tls, zOut, uint64(nOut-2)) == uintptr(0) { - return unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 41230), ts+3230, zPath, 41230) + return unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 41236), ts+3230, zPath, 41236) } iOff = Xsqlite3Strlen30(tls, zOut) *(*uint8)(unsafe.Pointer(zOut + uintptr(libc.PostIncInt32(&iOff, 1)))) = uint8('/') @@ -27509,7 +27519,7 @@ func mkFullPathname(tls *libc.TLS, zPath uintptr, zOut uintptr, nOut int32) int3 // SQLite assumes that xFullPathname() nul-terminates the output buffer // even if it returns an error. *(*uint8)(unsafe.Pointer(zOut + uintptr(iOff))) = uint8(0) - return Xsqlite3CantopenError(tls, 41239) + return Xsqlite3CantopenError(tls, 41245) } Xsqlite3_snprintf(tls, nOut-iOff, zOut+uintptr(iOff), ts+3614, libc.VaList(bp, zPath)) @@ -27560,7 +27570,7 @@ func mkFullPathname(tls *libc.TLS, zPath uintptr, zOut uintptr, nOut int32) int3 // zOut points to a buffer of at least sqlite3_vfs.mxPathname bytes // (in this case, MAX_PATHNAME bytes). The full-path is written to // this buffer before returning. -func unixFullPathname(tls *libc.TLS, pVfs uintptr, zPath uintptr, nOut int32, zOut uintptr) int32 { /* sqlite3.c:41289:12: */ +func unixFullPathname(tls *libc.TLS, pVfs uintptr, zPath uintptr, nOut int32, zOut uintptr) int32 { /* sqlite3.c:41295:12: */ bp := tls.Alloc(128) defer tls.Free(128) @@ -27586,7 +27596,7 @@ func unixFullPathname(tls *libc.TLS, pVfs uintptr, zPath uintptr, nOut int32, zO if (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 27*24 + 8)))(tls, zIn, bp) != 0 { if *(*int32)(unsafe.Pointer(libc.X__errno_location(tls))) != ENOENT { - rc = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 41322), ts+3410, zIn, 41322) + rc = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 41328), ts+3410, zIn, 41328) } } else { bLink = libc.Bool32((*stat)(unsafe.Pointer(bp)).Fst_mode&X__mode_t(0170000) == X__mode_t(0120000)) @@ -27600,20 +27610,20 @@ func unixFullPathname(tls *libc.TLS, pVfs uintptr, zPath uintptr, nOut int32, zO rc = SQLITE_NOMEM } } else if nLink >= SQLITE_MAX_SYMLINKS { - rc = Xsqlite3CantopenError(tls, 41334) + rc = Xsqlite3CantopenError(tls, 41340) } if rc == SQLITE_OK { nByte = int32((*(*func(*libc.TLS, uintptr, uintptr, Size_t) Ssize_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 26*24 + 8)))(tls, zIn, zDel, uint64(nOut-1))) if nByte < 0 { - rc = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 41340), ts+3401, zIn, 41340) + rc = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 41346), ts+3401, zIn, 41346) } else { if int32(*(*uint8)(unsafe.Pointer(zDel))) != '/' { var n int32 for n = Xsqlite3Strlen30(tls, zIn); n > 0 && int32(*(*uint8)(unsafe.Pointer(zIn + uintptr(n-1)))) != '/'; n-- { } if nByte+n+1 > nOut { - rc = Xsqlite3CantopenError(tls, 41346) + rc = Xsqlite3CantopenError(tls, 41352) } else { libc.Xmemmove(tls, zDel+uintptr(n), zDel, uint64(nByte+1)) libc.Xmemcpy(tls, zDel, zIn, uint64(n)) @@ -27685,7 +27695,7 @@ type Dl_serinfo = struct { } } /* dlfcn.h:196:3 */ -func unixDlOpen(tls *libc.TLS, NotUsed uintptr, zFilename uintptr) uintptr { /* sqlite3.c:41381:13: */ +func unixDlOpen(tls *libc.TLS, NotUsed uintptr, zFilename uintptr) uintptr { /* sqlite3.c:41387:13: */ _ = NotUsed return libc.Xdlopen(tls, zFilename, RTLD_NOW|RTLD_GLOBAL) } @@ -27695,7 +27705,7 @@ func unixDlOpen(tls *libc.TLS, NotUsed uintptr, zFilename uintptr) uintptr { /* // message is available, it is written to zBufOut. If no error message // is available, zBufOut is left unmodified and SQLite uses a default // error message. -func unixDlError(tls *libc.TLS, NotUsed uintptr, nBuf int32, zBufOut uintptr) { /* sqlite3.c:41393:13: */ +func unixDlError(tls *libc.TLS, NotUsed uintptr, nBuf int32, zBufOut uintptr) { /* sqlite3.c:41399:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -27709,7 +27719,7 @@ func unixDlError(tls *libc.TLS, NotUsed uintptr, nBuf int32, zBufOut uintptr) { unixLeaveMutex(tls) } -func unixDlSym(tls *libc.TLS, NotUsed uintptr, p uintptr, zSym uintptr) uintptr { /* sqlite3.c:41403:13: */ +func unixDlSym(tls *libc.TLS, NotUsed uintptr, p uintptr, zSym uintptr) uintptr { /* sqlite3.c:41409:13: */ // GCC with -pedantic-errors says that C90 does not allow a void* to be // cast into a pointer to a function. And yet the library dlsym() routine // returns a void* which is really a pointer to a function. So how do we @@ -27735,13 +27745,13 @@ func unixDlSym(tls *libc.TLS, NotUsed uintptr, p uintptr, zSym uintptr) uintptr })(unsafe.Pointer(&struct{ uintptr }{x})).f(tls, p, zSym) } -func unixDlClose(tls *libc.TLS, NotUsed uintptr, pHandle uintptr) { /* sqlite3.c:41426:13: */ +func unixDlClose(tls *libc.TLS, NotUsed uintptr, pHandle uintptr) { /* sqlite3.c:41432:13: */ _ = NotUsed libc.Xdlclose(tls, pHandle) } // Write nBuf bytes of random data to the supplied buffer zBuf. -func unixRandomness(tls *libc.TLS, NotUsed uintptr, nBuf int32, zBuf uintptr) int32 { /* sqlite3.c:41440:12: */ +func unixRandomness(tls *libc.TLS, NotUsed uintptr, nBuf int32, zBuf uintptr) int32 { /* sqlite3.c:41446:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -27776,7 +27786,7 @@ func unixRandomness(tls *libc.TLS, NotUsed uintptr, nBuf int32, zBuf uintptr) in for __ccgo := true; __ccgo; __ccgo = got < 0 && *(*int32)(unsafe.Pointer(libc.X__errno_location(tls))) == EINTR { got = int32((*(*func(*libc.TLS, int32, uintptr, Size_t) Ssize_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 8*24 + 8)))(tls, fd, zBuf, uint64(nBuf))) } - robust_close(tls, uintptr(0), fd, 41471) + robust_close(tls, uintptr(0), fd, 41477) } } @@ -27789,7 +27799,7 @@ func unixRandomness(tls *libc.TLS, NotUsed uintptr, nBuf int32, zBuf uintptr) in // requested from the underlying operating system, a number which // might be greater than or equal to the argument, but not less // than the argument. -func unixSleep(tls *libc.TLS, NotUsed uintptr, microseconds int32) int32 { /* sqlite3.c:41487:12: */ +func unixSleep(tls *libc.TLS, NotUsed uintptr, microseconds int32) int32 { /* sqlite3.c:41493:12: */ if microseconds >= 1000000 { libc.Xsleep(tls, uint32(microseconds/1000000)) } @@ -27812,7 +27822,7 @@ func unixSleep(tls *libc.TLS, NotUsed uintptr, microseconds int32) int32 { /* sq // // On success, return SQLITE_OK. Return SQLITE_ERROR if the time and date // cannot be found. -func unixCurrentTimeInt64(tls *libc.TLS, NotUsed uintptr, piNow uintptr) int32 { /* sqlite3.c:41528:12: */ +func unixCurrentTimeInt64(tls *libc.TLS, NotUsed uintptr, piNow uintptr) int32 { /* sqlite3.c:41534:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -27826,12 +27836,12 @@ func unixCurrentTimeInt64(tls *libc.TLS, NotUsed uintptr, piNow uintptr) int32 { return rc } -var unixEpoch Sqlite3_int64 = int64(24405875) * int64(8640000) /* sqlite3.c:41529:30 */ +var unixEpoch Sqlite3_int64 = int64(24405875) * int64(8640000) /* sqlite3.c:41535:30 */ // Find the current time (in Universal Coordinated Time). Write the // current time and date as a Julian Day number into *prNow and // return 0. Return 1 if the time and date cannot be found. -func unixCurrentTime(tls *libc.TLS, NotUsed uintptr, prNow uintptr) int32 { /* sqlite3.c:41560:12: */ +func unixCurrentTime(tls *libc.TLS, NotUsed uintptr, prNow uintptr) int32 { /* sqlite3.c:41566:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -27847,7 +27857,7 @@ func unixCurrentTime(tls *libc.TLS, NotUsed uintptr, prNow uintptr) int32 { /* s // low-level error message when operating-system problems come up // during SQLite operation. Only the integer return code is currently // used. -func unixGetLastError(tls *libc.TLS, NotUsed uintptr, NotUsed2 int32, NotUsed3 uintptr) int32 { /* sqlite3.c:41578:12: */ +func unixGetLastError(tls *libc.TLS, NotUsed uintptr, NotUsed2 int32, NotUsed3 uintptr) int32 { /* sqlite3.c:41584:12: */ _ = NotUsed _ = NotUsed2 _ = NotUsed3 @@ -28029,7 +28039,7 @@ func unixGetLastError(tls *libc.TLS, NotUsed uintptr, NotUsed2 int32, NotUsed3 u // single thread. The memory allocation and mutex subsystems have not // necessarily been initialized when this routine is called, and so they // should not be used. -func Xsqlite3_os_init(tls *libc.TLS) int32 { /* sqlite3.c:42783:16: */ +func Xsqlite3_os_init(tls *libc.TLS) int32 { /* sqlite3.c:42789:16: */ var i uint32 // Loop counter // Double-check that the aSyscall[] array has been constructed @@ -28067,14 +28077,14 @@ var aVfs = [4]Sqlite3_vfs{ {FiVersion: 3 /* iVersion */, FszOsFile: int32(unsafe.Sizeof(UnixFile{})) /* szOsFile */, FmxPathname: MAX_PATHNAME /* pNext */, FzName: ts + 3763, FpAppData: 0 /* pAppData */, FxOpen: 0 /* xOpen */, FxDelete: 0 /* xDelete */, FxAccess: 0 /* xAccess */, FxFullPathname: 0 /* xFullPathname */, FxDlOpen: 0 /* xDlOpen */, FxDlError: 0 /* xDlError */, FxDlSym: 0 /* xDlSym */, FxDlClose: 0 /* xDlClose */, FxRandomness: 0 /* xRandomness */, FxSleep: 0 /* xSleep */, FxCurrentTime: 0 /* xCurrentTime */, FxGetLastError: 0 /* xGetLastError */, FxCurrentTimeInt64: 0 /* xCurrentTimeInt64 */, FxSetSystemCall: 0 /* xSetSystemCall */, FxGetSystemCall: 0 /* xGetSystemCall */, FxNextSystemCall: 0 /* xNextSystemCall */}, {FiVersion: 3 /* iVersion */, FszOsFile: int32(unsafe.Sizeof(UnixFile{})) /* szOsFile */, FmxPathname: MAX_PATHNAME /* pNext */, FzName: ts + 3773, FpAppData: 0 /* pAppData */, FxOpen: 0 /* xOpen */, FxDelete: 0 /* xDelete */, FxAccess: 0 /* xAccess */, FxFullPathname: 0 /* xFullPathname */, FxDlOpen: 0 /* xDlOpen */, FxDlError: 0 /* xDlError */, FxDlSym: 0 /* xDlSym */, FxDlClose: 0 /* xDlClose */, FxRandomness: 0 /* xRandomness */, FxSleep: 0 /* xSleep */, FxCurrentTime: 0 /* xCurrentTime */, FxGetLastError: 0 /* xGetLastError */, FxCurrentTimeInt64: 0 /* xCurrentTimeInt64 */, FxSetSystemCall: 0 /* xSetSystemCall */, FxGetSystemCall: 0 /* xGetSystemCall */, FxNextSystemCall: 0 /* xNextSystemCall */}, {FiVersion: 3 /* iVersion */, FszOsFile: int32(unsafe.Sizeof(UnixFile{})) /* szOsFile */, FmxPathname: MAX_PATHNAME /* pNext */, FzName: ts + 3653, FpAppData: 0 /* pAppData */, FxOpen: 0 /* xOpen */, FxDelete: 0 /* xDelete */, FxAccess: 0 /* xAccess */, FxFullPathname: 0 /* xFullPathname */, FxDlOpen: 0 /* xDlOpen */, FxDlError: 0 /* xDlError */, FxDlSym: 0 /* xDlSym */, FxDlClose: 0 /* xDlClose */, FxRandomness: 0 /* xRandomness */, FxSleep: 0 /* xSleep */, FxCurrentTime: 0 /* xCurrentTime */, FxGetLastError: 0 /* xGetLastError */, FxCurrentTimeInt64: 0 /* xCurrentTimeInt64 */, FxSetSystemCall: 0 /* xSetSystemCall */, FxGetSystemCall: 0 /* xGetSystemCall */, FxNextSystemCall: 0 /* xNextSystemCall */}, -} /* sqlite3.c:42836:22 */ +} /* sqlite3.c:42842:22 */ // Shutdown the operating system interface. // // Some operating systems might need to do some cleanup in this routine, // to release dynamically allocated objects. But not on unix. // This routine is a no-op for unix. -func Xsqlite3_os_end(tls *libc.TLS) int32 { /* sqlite3.c:42905:16: */ +func Xsqlite3_os_end(tls *libc.TLS) int32 { /* sqlite3.c:42911:16: */ unixBigLock = uintptr(0) return SQLITE_OK } @@ -28116,15 +28126,15 @@ func Xsqlite3_os_end(tls *libc.TLS) int32 { /* sqlite3.c:42905:16: */ // #include "sqliteInt.h" // Forward declaration of objects used by this utility -type MemVfs = sqlite3_vfs /* sqlite3.c:49095:28 */ +type MemVfs = sqlite3_vfs /* sqlite3.c:49105:28 */ type MemFile1 = struct { Fbase Sqlite3_file FpStore uintptr FeLock int32 F__ccgo_pad1 [4]byte -} /* sqlite3.c:49096:9 */ +} /* sqlite3.c:49106:9 */ -type MemFile = MemFile1 /* sqlite3.c:49096:24 */ +type MemFile = MemFile1 /* sqlite3.c:49106:24 */ type MemStore1 = struct { Fsz Sqlite3_int64 FszAlloc Sqlite3_int64 @@ -28138,9 +28148,9 @@ type MemStore1 = struct { FnRef int32 F__ccgo_pad1 [4]byte FzFName uintptr -} /* sqlite3.c:49096:9 */ +} /* sqlite3.c:49106:9 */ -type MemStore = MemStore1 /* sqlite3.c:49097:25 */ +type MemStore = MemStore1 /* sqlite3.c:49107:25 */ // File-scope variables for holding the memdb files that are accessible // to multiple database connections in separate threads. @@ -28150,13 +28160,13 @@ type MemFS = struct { FnMemStore int32 F__ccgo_pad1 [4]byte FapMemStore uintptr -} /* sqlite3.c:49167:8 */ +} /* sqlite3.c:49177:8 */ // File-scope variables for holding the memdb files that are accessible // to multiple database connections in separate threads. // // Must hold SQLITE_MUTEX_STATIC_VFS1 to access any part of this object. -var memdb_g MemFS /* sqlite3.c:49170:3: */ +var memdb_g MemFS /* sqlite3.c:49180:3: */ var memdb_vfs = Sqlite3_vfs{ FiVersion: 2, // szOsFile (set when registered) @@ -28173,7 +28183,7 @@ var memdb_vfs = Sqlite3_vfs{ FxSleep: 0, /* memdbCurrentTime, */ // xCurrentTime FxGetLastError: 0, // xGetLastError FxCurrentTimeInt64: 0, // xNextSystemCall -} /* sqlite3.c:49206:20 */ +} /* sqlite3.c:49216:20 */ var memdb_io_methods = Sqlite3_io_methods{ FiVersion: 3, // iVersion @@ -28189,21 +28199,21 @@ var memdb_io_methods = Sqlite3_io_methods{ FxDeviceCharacteristics: 0, // xShmUnmap FxFetch: 0, // xFetch FxUnfetch: 0, // xUnfetch -} /* sqlite3.c:49231:33 */ +} /* sqlite3.c:49241:33 */ // Enter/leave the mutex on a MemStore -func memdbEnter(tls *libc.TLS, p uintptr) { /* sqlite3.c:49264:13: */ +func memdbEnter(tls *libc.TLS, p uintptr) { /* sqlite3.c:49274:13: */ Xsqlite3_mutex_enter(tls, (*MemStore)(unsafe.Pointer(p)).FpMutex) } -func memdbLeave(tls *libc.TLS, p uintptr) { /* sqlite3.c:49267:13: */ +func memdbLeave(tls *libc.TLS, p uintptr) { /* sqlite3.c:49277:13: */ Xsqlite3_mutex_leave(tls, (*MemStore)(unsafe.Pointer(p)).FpMutex) } // Close an memdb-file. // Free the underlying MemStore object when its refcount drops to zero // or less. -func memdbClose(tls *libc.TLS, pFile uintptr) int32 { /* sqlite3.c:49279:12: */ +func memdbClose(tls *libc.TLS, pFile uintptr) int32 { /* sqlite3.c:49289:12: */ var p uintptr = (*MemFile)(unsafe.Pointer(pFile)).FpStore if (*MemStore)(unsafe.Pointer(p)).FzFName != 0 { var i int32 @@ -28241,7 +28251,7 @@ func memdbClose(tls *libc.TLS, pFile uintptr) int32 { /* sqlite3.c:49279:12: */ } // Read data from an memdb-file. -func memdbRead(tls *libc.TLS, pFile uintptr, zBuf uintptr, iAmt int32, iOfst Sqlite_int64) int32 { /* sqlite3.c:49321:12: */ +func memdbRead(tls *libc.TLS, pFile uintptr, zBuf uintptr, iAmt int32, iOfst Sqlite_int64) int32 { /* sqlite3.c:49331:12: */ var p uintptr = (*MemFile)(unsafe.Pointer(pFile)).FpStore memdbEnter(tls, p) if iOfst+Sqlite_int64(iAmt) > (*MemStore)(unsafe.Pointer(p)).Fsz { @@ -28258,7 +28268,7 @@ func memdbRead(tls *libc.TLS, pFile uintptr, zBuf uintptr, iAmt int32, iOfst Sql } // Try to enlarge the memory allocation to hold at least sz bytes -func memdbEnlarge(tls *libc.TLS, p uintptr, newSz Sqlite3_int64) int32 { /* sqlite3.c:49343:12: */ +func memdbEnlarge(tls *libc.TLS, p uintptr, newSz Sqlite3_int64) int32 { /* sqlite3.c:49353:12: */ var pNew uintptr if (*MemStore)(unsafe.Pointer(p)).FmFlags&uint32(SQLITE_DESERIALIZE_RESIZEABLE) == uint32(0) || (*MemStore)(unsafe.Pointer(p)).FnMmap > 0 { return SQLITE_FULL @@ -28280,7 +28290,7 @@ func memdbEnlarge(tls *libc.TLS, p uintptr, newSz Sqlite3_int64) int32 { /* sqli } // Write data to an memdb-file. -func memdbWrite(tls *libc.TLS, pFile uintptr, z uintptr, iAmt int32, iOfst Sqlite_int64) int32 { /* sqlite3.c:49363:12: */ +func memdbWrite(tls *libc.TLS, pFile uintptr, z uintptr, iAmt int32, iOfst Sqlite_int64) int32 { /* sqlite3.c:49373:12: */ var p uintptr = (*MemFile)(unsafe.Pointer(pFile)).FpStore memdbEnter(tls, p) if (*MemStore)(unsafe.Pointer(p)).FmFlags&uint32(SQLITE_DESERIALIZE_READONLY) != 0 { @@ -28311,7 +28321,7 @@ func memdbWrite(tls *libc.TLS, pFile uintptr, z uintptr, iAmt int32, iOfst Sqlit // In rollback mode (which is always the case for memdb, as it does not // support WAL mode) the truncate() method is only used to reduce // the size of a file, never to increase the size. -func memdbTruncate(tls *libc.TLS, pFile uintptr, size Sqlite_int64) int32 { /* sqlite3.c:49400:12: */ +func memdbTruncate(tls *libc.TLS, pFile uintptr, size Sqlite_int64) int32 { /* sqlite3.c:49410:12: */ var p uintptr = (*MemFile)(unsafe.Pointer(pFile)).FpStore var rc int32 = SQLITE_OK memdbEnter(tls, p) @@ -28326,14 +28336,14 @@ func memdbTruncate(tls *libc.TLS, pFile uintptr, size Sqlite_int64) int32 { /* s } // Sync an memdb-file. -func memdbSync(tls *libc.TLS, pFile uintptr, flags int32) int32 { /* sqlite3.c:49417:12: */ +func memdbSync(tls *libc.TLS, pFile uintptr, flags int32) int32 { /* sqlite3.c:49427:12: */ _ = pFile _ = flags return SQLITE_OK } // Return the current file-size of an memdb-file. -func memdbFileSize(tls *libc.TLS, pFile uintptr, pSize uintptr) int32 { /* sqlite3.c:49426:12: */ +func memdbFileSize(tls *libc.TLS, pFile uintptr, pSize uintptr) int32 { /* sqlite3.c:49436:12: */ var p uintptr = (*MemFile)(unsafe.Pointer(pFile)).FpStore memdbEnter(tls, p) *(*Sqlite_int64)(unsafe.Pointer(pSize)) = (*MemStore)(unsafe.Pointer(p)).Fsz @@ -28342,7 +28352,7 @@ func memdbFileSize(tls *libc.TLS, pFile uintptr, pSize uintptr) int32 { /* sqlit } // Lock an memdb-file. -func memdbLock(tls *libc.TLS, pFile uintptr, eLock int32) int32 { /* sqlite3.c:49437:12: */ +func memdbLock(tls *libc.TLS, pFile uintptr, eLock int32) int32 { /* sqlite3.c:49447:12: */ var pThis uintptr = pFile var p uintptr = (*MemFile)(unsafe.Pointer(pThis)).FpStore var rc int32 = SQLITE_OK @@ -28386,7 +28396,7 @@ func memdbLock(tls *libc.TLS, pFile uintptr, eLock int32) int32 { /* sqlite3.c:4 } // File control method. For custom operations on an memdb-file. -func memdbFileControl(tls *libc.TLS, pFile uintptr, op int32, pArg uintptr) int32 { /* sqlite3.c:49491:12: */ +func memdbFileControl(tls *libc.TLS, pFile uintptr, op int32, pArg uintptr) int32 { /* sqlite3.c:49501:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -28415,13 +28425,13 @@ func memdbFileControl(tls *libc.TLS, pFile uintptr, op int32, pArg uintptr) int3 } // Return the device characteristic flags supported by an memdb-file. -func memdbDeviceCharacteristics(tls *libc.TLS, pFile uintptr) int32 { /* sqlite3.c:49528:12: */ +func memdbDeviceCharacteristics(tls *libc.TLS, pFile uintptr) int32 { /* sqlite3.c:49538:12: */ _ = pFile return SQLITE_IOCAP_ATOMIC | SQLITE_IOCAP_POWERSAFE_OVERWRITE | SQLITE_IOCAP_SAFE_APPEND | SQLITE_IOCAP_SEQUENTIAL } // Fetch a page of a memory-mapped file -func memdbFetch(tls *libc.TLS, pFile uintptr, iOfst Sqlite3_int64, iAmt int32, pp uintptr) int32 { /* sqlite3.c:49537:12: */ +func memdbFetch(tls *libc.TLS, pFile uintptr, iOfst Sqlite3_int64, iAmt int32, pp uintptr) int32 { /* sqlite3.c:49547:12: */ var p uintptr = (*MemFile)(unsafe.Pointer(pFile)).FpStore memdbEnter(tls, p) if iOfst+Sqlite3_int64(iAmt) > (*MemStore)(unsafe.Pointer(p)).Fsz || (*MemStore)(unsafe.Pointer(p)).FmFlags&uint32(SQLITE_DESERIALIZE_RESIZEABLE) != uint32(0) { @@ -28435,7 +28445,7 @@ func memdbFetch(tls *libc.TLS, pFile uintptr, iOfst Sqlite3_int64, iAmt int32, p } // Release a memory-mapped page -func memdbUnfetch(tls *libc.TLS, pFile uintptr, iOfst Sqlite3_int64, pPage uintptr) int32 { /* sqlite3.c:49556:12: */ +func memdbUnfetch(tls *libc.TLS, pFile uintptr, iOfst Sqlite3_int64, pPage uintptr) int32 { /* sqlite3.c:49566:12: */ var p uintptr = (*MemFile)(unsafe.Pointer(pFile)).FpStore _ = iOfst _ = pPage @@ -28446,7 +28456,7 @@ func memdbUnfetch(tls *libc.TLS, pFile uintptr, iOfst Sqlite3_int64, pPage uintp } // Open an mem file handle. -func memdbOpen(tls *libc.TLS, pVfs uintptr, zName uintptr, pFd uintptr, flags int32, pOutFlags uintptr) int32 { /* sqlite3.c:49569:12: */ +func memdbOpen(tls *libc.TLS, pVfs uintptr, zName uintptr, pFd uintptr, flags int32, pOutFlags uintptr) int32 { /* sqlite3.c:49579:12: */ var pFile uintptr = pFd var p uintptr = uintptr(0) var szName int32 @@ -28521,7 +28531,7 @@ func memdbOpen(tls *libc.TLS, pVfs uintptr, zName uintptr, pFd uintptr, flags in // is available, or false otherwise. // // With memdb, no files ever exist on disk. So always return false. -func memdbAccess(tls *libc.TLS, pVfs uintptr, zPath uintptr, flags int32, pResOut uintptr) int32 { /* sqlite3.c:49666:12: */ +func memdbAccess(tls *libc.TLS, pVfs uintptr, zPath uintptr, flags int32, pResOut uintptr) int32 { /* sqlite3.c:49676:12: */ _ = pVfs _ = zPath _ = flags @@ -28532,7 +28542,7 @@ func memdbAccess(tls *libc.TLS, pVfs uintptr, zPath uintptr, flags int32, pResOu // Populate buffer zOut with the full canonical pathname corresponding // to the pathname in zPath. zOut is guaranteed to point to a buffer // of at least (INST_MAX_PATHNAME+1) bytes. -func memdbFullPathname(tls *libc.TLS, pVfs uintptr, zPath uintptr, nOut int32, zOut uintptr) int32 { /* sqlite3.c:49684:12: */ +func memdbFullPathname(tls *libc.TLS, pVfs uintptr, zPath uintptr, nOut int32, zOut uintptr) int32 { /* sqlite3.c:49694:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -28542,7 +28552,7 @@ func memdbFullPathname(tls *libc.TLS, pVfs uintptr, zPath uintptr, nOut int32, z } // Open the dynamic library located at zPath and return a handle. -func memdbDlOpen(tls *libc.TLS, pVfs uintptr, zPath uintptr) uintptr { /* sqlite3.c:49698:13: */ +func memdbDlOpen(tls *libc.TLS, pVfs uintptr, zPath uintptr) uintptr { /* sqlite3.c:49708:13: */ return (*struct { f func(*libc.TLS, uintptr, uintptr) uintptr })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer((*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData)).FxDlOpen})).f(tls, (*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, zPath) @@ -28551,21 +28561,21 @@ func memdbDlOpen(tls *libc.TLS, pVfs uintptr, zPath uintptr) uintptr { /* sqlite // Populate the buffer zErrMsg (size nByte bytes) with a human readable // utf-8 string describing the most recent error encountered associated // with dynamic libraries. -func memdbDlError(tls *libc.TLS, pVfs uintptr, nByte int32, zErrMsg uintptr) { /* sqlite3.c:49707:13: */ +func memdbDlError(tls *libc.TLS, pVfs uintptr, nByte int32, zErrMsg uintptr) { /* sqlite3.c:49717:13: */ (*struct { f func(*libc.TLS, uintptr, int32, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer((*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData)).FxDlError})).f(tls, (*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, nByte, zErrMsg) } // Return a pointer to the symbol zSymbol in the dynamic library pHandle. -func memdbDlSym(tls *libc.TLS, pVfs uintptr, p uintptr, zSym uintptr) uintptr { /* sqlite3.c:49714:13: */ +func memdbDlSym(tls *libc.TLS, pVfs uintptr, p uintptr, zSym uintptr) uintptr { /* sqlite3.c:49724:13: */ return (*struct { f func(*libc.TLS, uintptr, uintptr, uintptr) uintptr })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer((*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData)).FxDlSym})).f(tls, (*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, p, zSym) } // Close the dynamic library handle pHandle. -func memdbDlClose(tls *libc.TLS, pVfs uintptr, pHandle uintptr) { /* sqlite3.c:49721:13: */ +func memdbDlClose(tls *libc.TLS, pVfs uintptr, pHandle uintptr) { /* sqlite3.c:49731:13: */ (*struct { f func(*libc.TLS, uintptr, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer((*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData)).FxDlClose})).f(tls, (*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, pHandle) @@ -28573,7 +28583,7 @@ func memdbDlClose(tls *libc.TLS, pVfs uintptr, pHandle uintptr) { /* sqlite3.c:4 // Populate the buffer pointed to by zBufOut with nByte bytes of // random data. -func memdbRandomness(tls *libc.TLS, pVfs uintptr, nByte int32, zBufOut uintptr) int32 { /* sqlite3.c:49729:12: */ +func memdbRandomness(tls *libc.TLS, pVfs uintptr, nByte int32, zBufOut uintptr) int32 { /* sqlite3.c:49739:12: */ return (*struct { f func(*libc.TLS, uintptr, int32, uintptr) int32 })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer((*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData)).FxRandomness})).f(tls, (*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, nByte, zBufOut) @@ -28581,19 +28591,19 @@ func memdbRandomness(tls *libc.TLS, pVfs uintptr, nByte int32, zBufOut uintptr) // Sleep for nMicro microseconds. Return the number of microseconds // actually slept. -func memdbSleep(tls *libc.TLS, pVfs uintptr, nMicro int32) int32 { /* sqlite3.c:49737:12: */ +func memdbSleep(tls *libc.TLS, pVfs uintptr, nMicro int32) int32 { /* sqlite3.c:49747:12: */ return (*struct { f func(*libc.TLS, uintptr, int32) int32 })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer((*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData)).FxSleep})).f(tls, (*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, nMicro) } -func memdbGetLastError(tls *libc.TLS, pVfs uintptr, a int32, b uintptr) int32 { /* sqlite3.c:49750:12: */ +func memdbGetLastError(tls *libc.TLS, pVfs uintptr, a int32, b uintptr) int32 { /* sqlite3.c:49760:12: */ return (*struct { f func(*libc.TLS, uintptr, int32, uintptr) int32 })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer((*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData)).FxGetLastError})).f(tls, (*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, a, b) } -func memdbCurrentTimeInt64(tls *libc.TLS, pVfs uintptr, p uintptr) int32 { /* sqlite3.c:49753:12: */ +func memdbCurrentTimeInt64(tls *libc.TLS, pVfs uintptr, p uintptr) int32 { /* sqlite3.c:49763:12: */ return (*struct { f func(*libc.TLS, uintptr, uintptr) int32 })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer((*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData)).FxCurrentTimeInt64})).f(tls, (*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, p) @@ -28601,7 +28611,7 @@ func memdbCurrentTimeInt64(tls *libc.TLS, pVfs uintptr, p uintptr) int32 { /* sq // Translate a database connection pointer and schema name into a // MemFile pointer. -func memdbFromDbSchema(tls *libc.TLS, db uintptr, zSchema uintptr) uintptr { /* sqlite3.c:49761:16: */ +func memdbFromDbSchema(tls *libc.TLS, db uintptr, zSchema uintptr) uintptr { /* sqlite3.c:49771:16: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -28624,7 +28634,7 @@ func memdbFromDbSchema(tls *libc.TLS, db uintptr, zSchema uintptr) uintptr { /* } // Return the serialization of a database -func Xsqlite3_serialize(tls *libc.TLS, db uintptr, zSchema uintptr, piSize uintptr, mFlags uint32) uintptr { /* sqlite3.c:49777:26: */ +func Xsqlite3_serialize(tls *libc.TLS, db uintptr, zSchema uintptr, piSize uintptr, mFlags uint32) uintptr { /* sqlite3.c:49787:26: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -28715,7 +28725,7 @@ func Xsqlite3_serialize(tls *libc.TLS, db uintptr, zSchema uintptr, piSize uintp } // Convert zSchema to a MemDB and initialize its content. -func Xsqlite3_deserialize(tls *libc.TLS, db uintptr, zSchema uintptr, pData uintptr, szDb Sqlite3_int64, szBuf Sqlite3_int64, mFlags uint32) int32 { /* sqlite3.c:49858:16: */ +func Xsqlite3_deserialize(tls *libc.TLS, db uintptr, zSchema uintptr, pData uintptr, szDb Sqlite3_int64, szBuf Sqlite3_int64, mFlags uint32) int32 { /* sqlite3.c:49868:16: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -28810,7 +28820,7 @@ __10: // This routine is called when the extension is loaded. // Register the new VFS. -func Xsqlite3MemdbInit(tls *libc.TLS) int32 { /* sqlite3.c:49934:20: */ +func Xsqlite3MemdbInit(tls *libc.TLS) int32 { /* sqlite3.c:49944:20: */ var pLower uintptr = Xsqlite3_vfs_find(tls, uintptr(0)) var sz uint32 if pLower == uintptr(0) { @@ -28832,7 +28842,7 @@ func Xsqlite3MemdbInit(tls *libc.TLS) int32 { /* sqlite3.c:49934:20: */ // Create a new bitmap object able to handle bits between 0 and iSize, // inclusive. Return a pointer to the new object. Return NULL if // malloc fails. -func Xsqlite3BitvecCreate(tls *libc.TLS, iSize U32) uintptr { /* sqlite3.c:50066:23: */ +func Xsqlite3BitvecCreate(tls *libc.TLS, iSize U32) uintptr { /* sqlite3.c:50076:23: */ var p uintptr p = Xsqlite3MallocZero(tls, uint64(unsafe.Sizeof(Bitvec{}))) @@ -28845,7 +28855,7 @@ func Xsqlite3BitvecCreate(tls *libc.TLS, iSize U32) uintptr { /* sqlite3.c:50066 // Check to see if the i-th bit is set. Return true or false. // If p is NULL (if the bitmap has not been created) or if // i is out of range, then return false. -func Xsqlite3BitvecTestNotNull(tls *libc.TLS, p uintptr, i U32) int32 { /* sqlite3.c:50081:20: */ +func Xsqlite3BitvecTestNotNull(tls *libc.TLS, p uintptr, i U32) int32 { /* sqlite3.c:50091:20: */ i-- if i >= (*Bitvec)(unsafe.Pointer(p)).FiSize { @@ -28874,7 +28884,7 @@ func Xsqlite3BitvecTestNotNull(tls *libc.TLS, p uintptr, i U32) int32 { /* sqlit return int32(0) } -func Xsqlite3BitvecTest(tls *libc.TLS, p uintptr, i U32) int32 { /* sqlite3.c:50104:20: */ +func Xsqlite3BitvecTest(tls *libc.TLS, p uintptr, i U32) int32 { /* sqlite3.c:50114:20: */ return libc.Bool32(p != uintptr(0) && Xsqlite3BitvecTestNotNull(tls, p, i) != 0) } @@ -28888,7 +28898,7 @@ func Xsqlite3BitvecTest(tls *libc.TLS, p uintptr, i U32) int32 { /* sqlite3.c:50 // The calling function must ensure that p is a valid Bitvec object // and that the value for "i" is within range of the Bitvec object. // Otherwise the behavior is undefined. -func Xsqlite3BitvecSet(tls *libc.TLS, p uintptr, i U32) int32 { /* sqlite3.c:50120:20: */ +func Xsqlite3BitvecSet(tls *libc.TLS, p uintptr, i U32) int32 { /* sqlite3.c:50130:20: */ var h U32 var bin U32 var j uint32 @@ -29025,7 +29035,7 @@ bitvec_set_end: // // pBuf must be a pointer to at least BITVEC_SZ bytes of temporary storage // that BitvecClear can use to rebuilt its hash table. -func Xsqlite3BitvecClear(tls *libc.TLS, p uintptr, i U32, pBuf uintptr) { /* sqlite3.c:50191:21: */ +func Xsqlite3BitvecClear(tls *libc.TLS, p uintptr, i U32, pBuf uintptr) { /* sqlite3.c:50201:21: */ if p == uintptr(0) { return } @@ -29064,7 +29074,7 @@ func Xsqlite3BitvecClear(tls *libc.TLS, p uintptr, i U32, pBuf uintptr) { /* sql } // Destroy a bitmap object. Reclaim all memory used. -func Xsqlite3BitvecDestroy(tls *libc.TLS, p uintptr) { /* sqlite3.c:50228:21: */ +func Xsqlite3BitvecDestroy(tls *libc.TLS, p uintptr) { /* sqlite3.c:50238:21: */ if p == uintptr(0) { return } @@ -29079,7 +29089,7 @@ func Xsqlite3BitvecDestroy(tls *libc.TLS, p uintptr) { /* sqlite3.c:50228:21: */ // Return the value of the iSize parameter specified when Bitvec *p // was created. -func Xsqlite3BitvecSize(tls *libc.TLS, p uintptr) U32 { /* sqlite3.c:50243:20: */ +func Xsqlite3BitvecSize(tls *libc.TLS, p uintptr) U32 { /* sqlite3.c:50253:20: */ return (*Bitvec)(unsafe.Pointer(p)).FiSize } @@ -29116,7 +29126,7 @@ func Xsqlite3BitvecSize(tls *libc.TLS, p uintptr) U32 { /* sqlite3.c:50243:20: * // an error is returned. If they are the same, zero is returned. // // If a memory allocation error occurs, return -1. -func Xsqlite3BitvecBuiltinTest(tls *libc.TLS, sz int32, aOp uintptr) int32 { /* sqlite3.c:50288:20: */ +func Xsqlite3BitvecBuiltinTest(tls *libc.TLS, sz int32, aOp uintptr) int32 { /* sqlite3.c:50298:20: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -29279,7 +29289,7 @@ bitvec_end: // argument determines what operation to do. The 0x01 bit means first // remove pPage from the dirty list. The 0x02 means add pPage back to // the dirty list. Doing both moves pPage to the front of the dirty list. -func pcacheManageDirtyList(tls *libc.TLS, pPage uintptr, addRemove U8) { /* sqlite3.c:50523:13: */ +func pcacheManageDirtyList(tls *libc.TLS, pPage uintptr, addRemove U8) { /* sqlite3.c:50533:13: */ var p uintptr = (*PgHdr)(unsafe.Pointer(pPage)).FpCache if int32(addRemove)&PCACHE_DIRTYLIST_REMOVE != 0 { @@ -29341,7 +29351,7 @@ func pcacheManageDirtyList(tls *libc.TLS, pPage uintptr, addRemove U8) { /* sqli // Wrapper around the pluggable caches xUnpin method. If the cache is // being used for an in-memory database, this function is a no-op. -func pcacheUnpin(tls *libc.TLS, p uintptr) { /* sqlite3.c:50593:13: */ +func pcacheUnpin(tls *libc.TLS, p uintptr) { /* sqlite3.c:50603:13: */ if (*PCache)(unsafe.Pointer((*PgHdr)(unsafe.Pointer(p)).FpCache)).FbPurgeable != 0 { (*struct { @@ -29353,7 +29363,7 @@ func pcacheUnpin(tls *libc.TLS, p uintptr) { /* sqlite3.c:50593:13: */ // Compute the number of pages of cache requested. p->szCache is the // cache size requested by the "PRAGMA cache_size" statement. -func numberOfCachePages(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:50605:12: */ +func numberOfCachePages(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:50615:12: */ if (*PCache)(unsafe.Pointer(p)).FszCache >= 0 { // IMPLEMENTATION-OF: R-42059-47211 If the argument N is positive then the // suggested cache size is set to N. @@ -29378,7 +29388,7 @@ func numberOfCachePages(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:50605:12: // // Initialize and shutdown the page cache subsystem. Neither of these // functions are threadsafe. -func Xsqlite3PcacheInitialize(tls *libc.TLS) int32 { /* sqlite3.c:50627:20: */ +func Xsqlite3PcacheInitialize(tls *libc.TLS) int32 { /* sqlite3.c:50637:20: */ if Xsqlite3Config.Fpcache2.FxInit == uintptr(0) { // IMPLEMENTATION-OF: R-26801-64137 If the xInit() method is NULL, then the // built-in default page cache is used instead of the application defined @@ -29391,7 +29401,7 @@ func Xsqlite3PcacheInitialize(tls *libc.TLS) int32 { /* sqlite3.c:50627:20: */ })(unsafe.Pointer(&struct{ uintptr }{Xsqlite3Config.Fpcache2.FxInit})).f(tls, Xsqlite3Config.Fpcache2.FpArg) } -func Xsqlite3PcacheShutdown(tls *libc.TLS) { /* sqlite3.c:50637:21: */ +func Xsqlite3PcacheShutdown(tls *libc.TLS) { /* sqlite3.c:50647:21: */ if Xsqlite3Config.Fpcache2.FxShutdown != 0 { // IMPLEMENTATION-OF: R-26000-56589 The xShutdown() method may be NULL. (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{Xsqlite3Config.Fpcache2.FxShutdown})).f(tls, Xsqlite3Config.Fpcache2.FpArg) @@ -29399,7 +29409,7 @@ func Xsqlite3PcacheShutdown(tls *libc.TLS) { /* sqlite3.c:50637:21: */ } // Return the size in bytes of a PCache object. -func Xsqlite3PcacheSize(tls *libc.TLS) int32 { /* sqlite3.c:50647:20: */ +func Xsqlite3PcacheSize(tls *libc.TLS) int32 { /* sqlite3.c:50657:20: */ return int32(unsafe.Sizeof(PCache{})) } @@ -29413,7 +29423,7 @@ func Xsqlite3PcacheSize(tls *libc.TLS) int32 { /* sqlite3.c:50647:20: */ // but remaining content will be uninitialized. Though it is opaque // to this module, the extra space really ends up being the MemPage // structure in the pager. -func Xsqlite3PcacheOpen(tls *libc.TLS, szPage int32, szExtra int32, bPurgeable int32, xStress uintptr, pStress uintptr, p uintptr) int32 { /* sqlite3.c:50661:20: */ +func Xsqlite3PcacheOpen(tls *libc.TLS, szPage int32, szExtra int32, bPurgeable int32, xStress uintptr, pStress uintptr, p uintptr) int32 { /* sqlite3.c:50671:20: */ libc.Xmemset(tls, p, 0, uint64(unsafe.Sizeof(PCache{}))) (*PCache)(unsafe.Pointer(p)).FszPage = 1 (*PCache)(unsafe.Pointer(p)).FszExtra = szExtra @@ -29430,7 +29440,7 @@ func Xsqlite3PcacheOpen(tls *libc.TLS, szPage int32, szExtra int32, bPurgeable i // Change the page size for PCache object. The caller must ensure that there // are no outstanding page references when this function is called. -func Xsqlite3PcacheSetPageSize(tls *libc.TLS, pCache uintptr, szPage int32) int32 { /* sqlite3.c:50687:20: */ +func Xsqlite3PcacheSetPageSize(tls *libc.TLS, pCache uintptr, szPage int32) int32 { /* sqlite3.c:50697:20: */ if (*PCache)(unsafe.Pointer(pCache)).FszPage != 0 { var pNew uintptr @@ -29477,7 +29487,7 @@ func Xsqlite3PcacheSetPageSize(tls *libc.TLS, pCache uintptr, szPage int32) int3 // they can both (usually) operate without having to push values to // the stack on entry and pop them back off on exit, which saves a // lot of pushing and popping. -func Xsqlite3PcacheFetch(tls *libc.TLS, pCache uintptr, pgno Pgno, createFlag int32) uintptr { /* sqlite3.c:50731:36: */ +func Xsqlite3PcacheFetch(tls *libc.TLS, pCache uintptr, pgno Pgno, createFlag int32) uintptr { /* sqlite3.c:50741:36: */ var eCreate int32 var pRes uintptr @@ -29505,7 +29515,7 @@ func Xsqlite3PcacheFetch(tls *libc.TLS, pCache uintptr, pgno Pgno, createFlag in // an OOM error. // // This routine should be invoked only after sqlite3PcacheFetch() fails. -func Xsqlite3PcacheFetchStress(tls *libc.TLS, pCache uintptr, pgno Pgno, ppPage uintptr) int32 { /* sqlite3.c:50772:20: */ +func Xsqlite3PcacheFetchStress(tls *libc.TLS, pCache uintptr, pgno Pgno, ppPage uintptr) int32 { /* sqlite3.c:50782:20: */ var pPg uintptr if int32((*PCache)(unsafe.Pointer(pCache)).FeCreate) == 2 { return 0 @@ -29556,7 +29566,7 @@ func Xsqlite3PcacheFetchStress(tls *libc.TLS, pCache uintptr, pgno Pgno, ppPage // This routine is broken out into a separate function since it // requires extra stack manipulation that can be avoided in the common // case. -func pcacheFetchFinishWithInit(tls *libc.TLS, pCache uintptr, pgno Pgno, pPage uintptr) uintptr { /* sqlite3.c:50828:30: */ +func pcacheFetchFinishWithInit(tls *libc.TLS, pCache uintptr, pgno Pgno, pPage uintptr) uintptr { /* sqlite3.c:50838:30: */ var pPgHdr uintptr pPgHdr = (*Sqlite3_pcache_page)(unsafe.Pointer(pPage)).FpExtra @@ -29576,7 +29586,7 @@ func pcacheFetchFinishWithInit(tls *libc.TLS, pCache uintptr, pgno Pgno, pPage u // sqlite3PcacheFetch() into an initialized PgHdr object. This routine // must be called after sqlite3PcacheFetch() in order to get a usable // result. -func Xsqlite3PcacheFetchFinish(tls *libc.TLS, pCache uintptr, pgno Pgno, pPage uintptr) uintptr { /* sqlite3.c:50854:22: */ +func Xsqlite3PcacheFetchFinish(tls *libc.TLS, pCache uintptr, pgno Pgno, pPage uintptr) uintptr { /* sqlite3.c:50864:22: */ var pPgHdr uintptr pPgHdr = (*Sqlite3_pcache_page)(unsafe.Pointer(pPage)).FpExtra @@ -29592,7 +29602,7 @@ func Xsqlite3PcacheFetchFinish(tls *libc.TLS, pCache uintptr, pgno Pgno, pPage u // Decrement the reference count on a page. If the page is clean and the // reference count drops to 0, then it is made eligible for recycling. -func Xsqlite3PcacheRelease(tls *libc.TLS, p uintptr) { /* sqlite3.c:50877:37: */ +func Xsqlite3PcacheRelease(tls *libc.TLS, p uintptr) { /* sqlite3.c:50887:37: */ (*PCache)(unsafe.Pointer((*PgHdr)(unsafe.Pointer(p)).FpCache)).FnRefSum-- if int32(libc.PreDecInt16(&(*PgHdr)(unsafe.Pointer(p)).FnRef, 1)) == 0 { @@ -29605,7 +29615,7 @@ func Xsqlite3PcacheRelease(tls *libc.TLS, p uintptr) { /* sqlite3.c:50877:37: */ } // Increase the reference count of a supplied page by 1. -func Xsqlite3PcacheRef(tls *libc.TLS, p uintptr) { /* sqlite3.c:50892:21: */ +func Xsqlite3PcacheRef(tls *libc.TLS, p uintptr) { /* sqlite3.c:50902:21: */ (*PgHdr)(unsafe.Pointer(p)).FnRef++ (*PCache)(unsafe.Pointer((*PgHdr)(unsafe.Pointer(p)).FpCache)).FnRefSum++ @@ -29614,7 +29624,7 @@ func Xsqlite3PcacheRef(tls *libc.TLS, p uintptr) { /* sqlite3.c:50892:21: */ // Drop a page from the cache. There must be exactly one reference to the // page. This function deletes that reference, so after it returns the // page pointed to by p is invalid. -func Xsqlite3PcacheDrop(tls *libc.TLS, p uintptr) { /* sqlite3.c:50904:21: */ +func Xsqlite3PcacheDrop(tls *libc.TLS, p uintptr) { /* sqlite3.c:50914:21: */ if int32((*PgHdr)(unsafe.Pointer(p)).Fflags)&PGHDR_DIRTY != 0 { pcacheManageDirtyList(tls, p, uint8(PCACHE_DIRTYLIST_REMOVE)) @@ -29627,7 +29637,7 @@ func Xsqlite3PcacheDrop(tls *libc.TLS, p uintptr) { /* sqlite3.c:50904:21: */ // Make sure the page is marked as dirty. If it isn't dirty already, // make it so. -func Xsqlite3PcacheMakeDirty(tls *libc.TLS, p uintptr) { /* sqlite3.c:50918:21: */ +func Xsqlite3PcacheMakeDirty(tls *libc.TLS, p uintptr) { /* sqlite3.c:50928:21: */ if int32((*PgHdr)(unsafe.Pointer(p)).Fflags)&(PGHDR_CLEAN|PGHDR_DONT_WRITE) != 0 { //OPTIMIZATION-IF-FALSE *(*U16)(unsafe.Pointer(p + 52)) &= libc.Uint16FromInt32(libc.CplInt32(PGHDR_DONT_WRITE)) @@ -29642,7 +29652,7 @@ func Xsqlite3PcacheMakeDirty(tls *libc.TLS, p uintptr) { /* sqlite3.c:50918:21: // Make sure the page is marked as clean. If it isn't clean already, // make it so. -func Xsqlite3PcacheMakeClean(tls *libc.TLS, p uintptr) { /* sqlite3.c:50938:21: */ +func Xsqlite3PcacheMakeClean(tls *libc.TLS, p uintptr) { /* sqlite3.c:50948:21: */ pcacheManageDirtyList(tls, p, uint8(PCACHE_DIRTYLIST_REMOVE)) *(*U16)(unsafe.Pointer(p + 52)) &= libc.Uint16FromInt32(libc.CplInt32(PGHDR_DIRTY | PGHDR_NEED_SYNC | PGHDR_WRITEABLE)) @@ -29654,7 +29664,7 @@ func Xsqlite3PcacheMakeClean(tls *libc.TLS, p uintptr) { /* sqlite3.c:50938:21: } // Make every page in the cache clean. -func Xsqlite3PcacheCleanAll(tls *libc.TLS, pCache uintptr) { /* sqlite3.c:50955:21: */ +func Xsqlite3PcacheCleanAll(tls *libc.TLS, pCache uintptr) { /* sqlite3.c:50965:21: */ var p uintptr for libc.AssignUintptr(&p, (*PCache)(unsafe.Pointer(pCache)).FpDirty) != uintptr(0) { @@ -29663,7 +29673,7 @@ func Xsqlite3PcacheCleanAll(tls *libc.TLS, pCache uintptr) { /* sqlite3.c:50955: } // Clear the PGHDR_NEED_SYNC and PGHDR_WRITEABLE flag from all dirty pages. -func Xsqlite3PcacheClearWritable(tls *libc.TLS, pCache uintptr) { /* sqlite3.c:50966:21: */ +func Xsqlite3PcacheClearWritable(tls *libc.TLS, pCache uintptr) { /* sqlite3.c:50976:21: */ var p uintptr for p = (*PCache)(unsafe.Pointer(pCache)).FpDirty; p != 0; p = (*PgHdr)(unsafe.Pointer(p)).FpDirtyNext { @@ -29673,7 +29683,7 @@ func Xsqlite3PcacheClearWritable(tls *libc.TLS, pCache uintptr) { /* sqlite3.c:5 } // Clear the PGHDR_NEED_SYNC flag from all dirty pages. -func Xsqlite3PcacheClearSyncFlags(tls *libc.TLS, pCache uintptr) { /* sqlite3.c:50978:21: */ +func Xsqlite3PcacheClearSyncFlags(tls *libc.TLS, pCache uintptr) { /* sqlite3.c:50988:21: */ var p uintptr for p = (*PCache)(unsafe.Pointer(pCache)).FpDirty; p != 0; p = (*PgHdr)(unsafe.Pointer(p)).FpDirtyNext { *(*U16)(unsafe.Pointer(p + 52)) &= libc.Uint16FromInt32(libc.CplInt32(PGHDR_NEED_SYNC)) @@ -29682,7 +29692,7 @@ func Xsqlite3PcacheClearSyncFlags(tls *libc.TLS, pCache uintptr) { /* sqlite3.c: } // Change the page number of page p to newPgno. -func Xsqlite3PcacheMove(tls *libc.TLS, p uintptr, newPgno Pgno) { /* sqlite3.c:50989:21: */ +func Xsqlite3PcacheMove(tls *libc.TLS, p uintptr, newPgno Pgno) { /* sqlite3.c:50999:21: */ var pCache uintptr = (*PgHdr)(unsafe.Pointer(p)).FpCache (*struct { @@ -29701,7 +29711,7 @@ func Xsqlite3PcacheMove(tls *libc.TLS, p uintptr, newPgno Pgno) { /* sqlite3.c:5 // If there is a reference to page 1 and the pgno parameter passed to this // function is 0, then the data area associated with page 1 is zeroed, but // the page object is not dropped. -func Xsqlite3PcacheTruncate(tls *libc.TLS, pCache uintptr, pgno Pgno) { /* sqlite3.c:51011:21: */ +func Xsqlite3PcacheTruncate(tls *libc.TLS, pCache uintptr, pgno Pgno) { /* sqlite3.c:51021:21: */ if (*PCache)(unsafe.Pointer(pCache)).FpCache != 0 { var p uintptr var pNext uintptr @@ -29735,19 +29745,19 @@ func Xsqlite3PcacheTruncate(tls *libc.TLS, pCache uintptr, pgno Pgno) { /* sqlit } // Close a cache. -func Xsqlite3PcacheClose(tls *libc.TLS, pCache uintptr) { /* sqlite3.c:51044:21: */ +func Xsqlite3PcacheClose(tls *libc.TLS, pCache uintptr) { /* sqlite3.c:51054:21: */ (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{Xsqlite3Config.Fpcache2.FxDestroy})).f(tls, (*PCache)(unsafe.Pointer(pCache)).FpCache) } // Discard the contents of the cache. -func Xsqlite3PcacheClear(tls *libc.TLS, pCache uintptr) { /* sqlite3.c:51053:21: */ +func Xsqlite3PcacheClear(tls *libc.TLS, pCache uintptr) { /* sqlite3.c:51063:21: */ Xsqlite3PcacheTruncate(tls, pCache, uint32(0)) } // Merge two lists of pages connected by pDirty and in pgno order. // Do not bother fixing the pDirtyPrev pointers. -func pcacheMergeDirtyList(tls *libc.TLS, pA uintptr, pB uintptr) uintptr { /* sqlite3.c:51061:14: */ +func pcacheMergeDirtyList(tls *libc.TLS, pA uintptr, pB uintptr) uintptr { /* sqlite3.c:51071:14: */ bp := tls.Alloc(72) defer tls.Free(72) @@ -29786,7 +29796,7 @@ func pcacheMergeDirtyList(tls *libc.TLS, pA uintptr, pB uintptr) uintptr { /* sq // there cannot be more than 31 buckets required by the merge sorter. // One extra bucket is added to catch overflow in case something // ever changes to make the previous sentence incorrect. -func pcacheSortDirtyList(tls *libc.TLS, pIn uintptr) uintptr { /* sqlite3.c:51098:14: */ +func pcacheSortDirtyList(tls *libc.TLS, pIn uintptr) uintptr { /* sqlite3.c:51108:14: */ bp := tls.Alloc(256) defer tls.Free(256) @@ -29829,7 +29839,7 @@ func pcacheSortDirtyList(tls *libc.TLS, pIn uintptr) uintptr { /* sqlite3.c:5109 } // Return a list of all dirty pages in the cache, sorted by page number. -func Xsqlite3PcacheDirtyList(tls *libc.TLS, pCache uintptr) uintptr { /* sqlite3.c:51133:22: */ +func Xsqlite3PcacheDirtyList(tls *libc.TLS, pCache uintptr) uintptr { /* sqlite3.c:51143:22: */ var p uintptr for p = (*PCache)(unsafe.Pointer(pCache)).FpDirty; p != 0; p = (*PgHdr)(unsafe.Pointer(p)).FpDirtyNext { (*PgHdr)(unsafe.Pointer(p)).FpDirty = (*PgHdr)(unsafe.Pointer(p)).FpDirtyNext @@ -29841,17 +29851,17 @@ func Xsqlite3PcacheDirtyList(tls *libc.TLS, pCache uintptr) uintptr { /* sqlite3 // // This is not the total number of pages referenced, but the sum of the // reference count for all pages. -func Xsqlite3PcacheRefCount(tls *libc.TLS, pCache uintptr) int32 { /* sqlite3.c:51147:20: */ +func Xsqlite3PcacheRefCount(tls *libc.TLS, pCache uintptr) int32 { /* sqlite3.c:51157:20: */ return (*PCache)(unsafe.Pointer(pCache)).FnRefSum } // Return the number of references to the page supplied as an argument. -func Xsqlite3PcachePageRefcount(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:51154:20: */ +func Xsqlite3PcachePageRefcount(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:51164:20: */ return int32((*PgHdr)(unsafe.Pointer(p)).FnRef) } // Return the total number of pages in the cache. -func Xsqlite3PcachePagecount(tls *libc.TLS, pCache uintptr) int32 { /* sqlite3.c:51161:20: */ +func Xsqlite3PcachePagecount(tls *libc.TLS, pCache uintptr) int32 { /* sqlite3.c:51171:20: */ return (*struct { f func(*libc.TLS, uintptr) int32 @@ -29859,7 +29869,7 @@ func Xsqlite3PcachePagecount(tls *libc.TLS, pCache uintptr) int32 { /* sqlite3.c } // Set the suggested cache-size value. -func Xsqlite3PcacheSetCachesize(tls *libc.TLS, pCache uintptr, mxPage int32) { /* sqlite3.c:51178:21: */ +func Xsqlite3PcacheSetCachesize(tls *libc.TLS, pCache uintptr, mxPage int32) { /* sqlite3.c:51188:21: */ (*PCache)(unsafe.Pointer(pCache)).FszCache = mxPage (*struct { @@ -29871,7 +29881,7 @@ func Xsqlite3PcacheSetCachesize(tls *libc.TLS, pCache uintptr, mxPage int32) { / // Set the suggested cache-spill value. Make no changes if if the // argument is zero. Return the effective cache-spill size, which will // be the larger of the szSpill and szCache. -func Xsqlite3PcacheSetSpillsize(tls *libc.TLS, p uintptr, mxPage int32) int32 { /* sqlite3.c:51190:20: */ +func Xsqlite3PcacheSetSpillsize(tls *libc.TLS, p uintptr, mxPage int32) int32 { /* sqlite3.c:51200:20: */ var res int32 if mxPage != 0 { @@ -29888,20 +29898,20 @@ func Xsqlite3PcacheSetSpillsize(tls *libc.TLS, p uintptr, mxPage int32) int32 { } // Free up as much memory as possible from the page cache. -func Xsqlite3PcacheShrink(tls *libc.TLS, pCache uintptr) { /* sqlite3.c:51207:21: */ +func Xsqlite3PcacheShrink(tls *libc.TLS, pCache uintptr) { /* sqlite3.c:51217:21: */ (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{Xsqlite3Config.Fpcache2.FxShrink})).f(tls, (*PCache)(unsafe.Pointer(pCache)).FpCache) } // Return the size of the header added by this middleware layer // in the page-cache hierarchy. -func Xsqlite3HeaderSizePcache(tls *libc.TLS) int32 { /* sqlite3.c:51216:20: */ +func Xsqlite3HeaderSizePcache(tls *libc.TLS) int32 { /* sqlite3.c:51226:20: */ return int32((uint64(unsafe.Sizeof(PgHdr{})) + uint64(7)) & libc.Uint64FromInt32(libc.CplInt32(7))) } // Return the number of dirty pages currently in the cache, as a percentage // of the configured cache size. -func Xsqlite3PCachePercentDirty(tls *libc.TLS, pCache uintptr) int32 { /* sqlite3.c:51222:20: */ +func Xsqlite3PCachePercentDirty(tls *libc.TLS, pCache uintptr) int32 { /* sqlite3.c:51232:20: */ var pDirty uintptr var nDirty int32 = 0 var nCache int32 = numberOfCachePages(tls, pCache) @@ -30016,7 +30026,7 @@ type PCache11 = struct { FapHash uintptr FpFree uintptr FpBulk uintptr -} /* sqlite3.c:51339:9 */ +} /* sqlite3.c:51349:9 */ //************* End of pcache.c ********************************************* //************* Begin file pcache1.c **************************************** @@ -30102,7 +30112,7 @@ type PCache11 = struct { // common workloads. // #include "sqliteInt.h" -type PCache1 = PCache11 /* sqlite3.c:51339:24 */ +type PCache1 = PCache11 /* sqlite3.c:51349:24 */ type PgHdr11 = struct { Fpage Sqlite3_pcache_page FiKey uint32 @@ -30112,12 +30122,12 @@ type PgHdr11 = struct { FpCache uintptr FpLruNext uintptr FpLruPrev uintptr -} /* sqlite3.c:51339:9 */ +} /* sqlite3.c:51349:9 */ -type PgHdr1 = PgHdr11 /* sqlite3.c:51340:23 */ -type PgFreeslot1 = struct{ FpNext uintptr } /* sqlite3.c:51341:9 */ +type PgHdr1 = PgHdr11 /* sqlite3.c:51350:23 */ +type PgFreeslot1 = struct{ FpNext uintptr } /* sqlite3.c:51351:9 */ -type PgFreeslot = PgFreeslot1 /* sqlite3.c:51341:27 */ +type PgFreeslot = PgFreeslot1 /* sqlite3.c:51351:27 */ type PGroup1 = struct { Fmutex uintptr FnMaxPage uint32 @@ -30125,9 +30135,9 @@ type PGroup1 = struct { FmxPinned uint32 FnPurgeable uint32 Flru PgHdr1 -} /* sqlite3.c:51339:9 */ +} /* sqlite3.c:51349:9 */ -type PGroup = PGroup1 /* sqlite3.c:51342:23 */ +type PGroup = PGroup1 /* sqlite3.c:51352:23 */ // Global data used by this cache. type PCacheGlobal = struct { @@ -30144,10 +30154,10 @@ type PCacheGlobal = struct { FpFree uintptr FnFreeSlot int32 FbUnderPressure int32 -} /* sqlite3.c:51459:19 */ +} /* sqlite3.c:51469:19 */ // Global data used by this cache. -var pcache1_g PCacheGlobal /* sqlite3.c:51483:3: */ +var pcache1_g PCacheGlobal /* sqlite3.c:51493:3: */ // All code in this file should access the global structure above via the // alias "pcache1". This ensures that the WSD emulation is used when @@ -30165,7 +30175,7 @@ var pcache1_g PCacheGlobal /* sqlite3.c:51483:3: */ // // This routine is called from sqlite3_initialize() and so it is guaranteed // to be serialized already. There is no need for further mutexing. -func Xsqlite3PCacheBufferSetup(tls *libc.TLS, pBuf uintptr, sz int32, n int32) { /* sqlite3.c:51518:21: */ +func Xsqlite3PCacheBufferSetup(tls *libc.TLS, pBuf uintptr, sz int32, n int32) { /* sqlite3.c:51528:21: */ if pcache1_g.FisInit != 0 { var p uintptr if pBuf == uintptr(0) { @@ -30198,7 +30208,7 @@ func Xsqlite3PCacheBufferSetup(tls *libc.TLS, pBuf uintptr, sz int32, n int32) { // Try to initialize the pCache->pFree and pCache->pBulk fields. Return // true if pCache->pFree ends up containing one or more free pages. -func pcache1InitBulk(tls *libc.TLS, pCache uintptr) int32 { /* sqlite3.c:51544:12: */ +func pcache1InitBulk(tls *libc.TLS, pCache uintptr) int32 { /* sqlite3.c:51554:12: */ var szBulk I64 var zBulk uintptr if pcache1_g.FnInitPage == 0 { @@ -30243,7 +30253,7 @@ func pcache1InitBulk(tls *libc.TLS, pCache uintptr) int32 { /* sqlite3.c:51544:1 // // Multiple threads can run this routine at the same time. Global variables // in pcache1 need to be protected via mutex. -func pcache1Alloc(tls *libc.TLS, nByte int32) uintptr { /* sqlite3.c:51587:13: */ +func pcache1Alloc(tls *libc.TLS, nByte int32) uintptr { /* sqlite3.c:51597:13: */ var p uintptr = uintptr(0) if nByte <= pcache1_g.FszSlot { @@ -30276,7 +30286,7 @@ func pcache1Alloc(tls *libc.TLS, nByte int32) uintptr { /* sqlite3.c:51587:13: * } // Free an allocated buffer obtained from pcache1Alloc(). -func pcache1Free(tls *libc.TLS, p uintptr) { /* sqlite3.c:51625:13: */ +func pcache1Free(tls *libc.TLS, p uintptr) { /* sqlite3.c:51635:13: */ if p == uintptr(0) { return } @@ -30306,7 +30316,7 @@ func pcache1Free(tls *libc.TLS, p uintptr) { /* sqlite3.c:51625:13: */ } // Return the size of a pcache allocation -func pcache1MemSize(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:51658:12: */ +func pcache1MemSize(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:51668:12: */ if p >= pcache1_g.FpStart && p < pcache1_g.FpEnd { return pcache1_g.FszSlot } else { @@ -30320,7 +30330,7 @@ func pcache1MemSize(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:51658:12: */ } // Allocate a new page object initially associated with cache pCache. -func pcache1AllocPage(tls *libc.TLS, pCache uintptr, benignMalloc int32) uintptr { /* sqlite3.c:51675:15: */ +func pcache1AllocPage(tls *libc.TLS, pCache uintptr, benignMalloc int32) uintptr { /* sqlite3.c:51685:15: */ var p uintptr = uintptr(0) var pPg uintptr @@ -30358,7 +30368,7 @@ func pcache1AllocPage(tls *libc.TLS, pCache uintptr, benignMalloc int32) uintptr } // Free a page object allocated by pcache1AllocPage(). -func pcache1FreePage(tls *libc.TLS, p uintptr) { /* sqlite3.c:51727:13: */ +func pcache1FreePage(tls *libc.TLS, p uintptr) { /* sqlite3.c:51737:13: */ var pCache uintptr pCache = (*PgHdr1)(unsafe.Pointer(p)).FpCache @@ -30375,13 +30385,13 @@ func pcache1FreePage(tls *libc.TLS, p uintptr) { /* sqlite3.c:51727:13: */ // Malloc function used by SQLite to obtain space from the buffer configured // using sqlite3_config(SQLITE_CONFIG_PAGECACHE) option. If no such buffer // exists, this function falls back to sqlite3Malloc(). -func Xsqlite3PageMalloc(tls *libc.TLS, sz int32) uintptr { /* sqlite3.c:51749:21: */ +func Xsqlite3PageMalloc(tls *libc.TLS, sz int32) uintptr { /* sqlite3.c:51759:21: */ // These allocations are never very large return pcache1Alloc(tls, sz) } // Free an allocated buffer obtained from sqlite3PageMalloc(). -func Xsqlite3PageFree(tls *libc.TLS, p uintptr) { /* sqlite3.c:51757:21: */ +func Xsqlite3PageFree(tls *libc.TLS, p uintptr) { /* sqlite3.c:51767:21: */ pcache1Free(tls, p) } @@ -30399,7 +30409,7 @@ func Xsqlite3PageFree(tls *libc.TLS, p uintptr) { /* sqlite3.c:51757:21: */ // under memory pressure, then again it is desirable to avoid // allocating a new page cache entry in order to avoid stressing // the heap even further. -func pcache1UnderMemoryPressure(tls *libc.TLS, pCache uintptr) int32 { /* sqlite3.c:51778:12: */ +func pcache1UnderMemoryPressure(tls *libc.TLS, pCache uintptr) int32 { /* sqlite3.c:51788:12: */ if pcache1_g.FnSlot != 0 && (*PCache1)(unsafe.Pointer(pCache)).FszPage+(*PCache1)(unsafe.Pointer(pCache)).FszExtra <= pcache1_g.FszSlot { return pcache1_g.FbUnderPressure } else { @@ -30415,7 +30425,7 @@ func pcache1UnderMemoryPressure(tls *libc.TLS, pCache uintptr) int32 { /* sqlite // as the first argument. // // The PCache mutex must be held when this function is called. -func pcache1ResizeHash(tls *libc.TLS, p uintptr) { /* sqlite3.c:51795:13: */ +func pcache1ResizeHash(tls *libc.TLS, p uintptr) { /* sqlite3.c:51805:13: */ var apNew uintptr var nNew uint32 var i uint32 @@ -30456,7 +30466,7 @@ func pcache1ResizeHash(tls *libc.TLS, p uintptr) { /* sqlite3.c:51795:13: */ // LRU list, then this function is a no-op. // // The PGroup mutex must be held when this function is called. -func pcache1PinPage(tls *libc.TLS, pPage uintptr) uintptr { /* sqlite3.c:51836:15: */ +func pcache1PinPage(tls *libc.TLS, pPage uintptr) uintptr { /* sqlite3.c:51846:15: */ (*PgHdr1)(unsafe.Pointer((*PgHdr1)(unsafe.Pointer(pPage)).FpLruPrev)).FpLruNext = (*PgHdr1)(unsafe.Pointer(pPage)).FpLruNext (*PgHdr1)(unsafe.Pointer((*PgHdr1)(unsafe.Pointer(pPage)).FpLruNext)).FpLruPrev = (*PgHdr1)(unsafe.Pointer(pPage)).FpLruPrev @@ -30473,7 +30483,7 @@ func pcache1PinPage(tls *libc.TLS, pPage uintptr) uintptr { /* sqlite3.c:51836:1 // Also free the page if freePage is true. // // The PGroup mutex must be held when this function is called. -func pcache1RemoveFromHash(tls *libc.TLS, pPage uintptr, freeFlag int32) { /* sqlite3.c:51861:13: */ +func pcache1RemoveFromHash(tls *libc.TLS, pPage uintptr, freeFlag int32) { /* sqlite3.c:51871:13: */ var h uint32 var pCache uintptr = (*PgHdr1)(unsafe.Pointer(pPage)).FpCache var pp uintptr @@ -30491,7 +30501,7 @@ func pcache1RemoveFromHash(tls *libc.TLS, pPage uintptr, freeFlag int32) { /* sq // If there are currently more than nMaxPage pages allocated, try // to recycle pages to reduce the number allocated to nMaxPage. -func pcache1EnforceMaxPage(tls *libc.TLS, pCache uintptr) { /* sqlite3.c:51879:13: */ +func pcache1EnforceMaxPage(tls *libc.TLS, pCache uintptr) { /* sqlite3.c:51889:13: */ var pGroup uintptr = (*PCache1)(unsafe.Pointer(pCache)).FpGroup var p uintptr @@ -30512,7 +30522,7 @@ func pcache1EnforceMaxPage(tls *libc.TLS, pCache uintptr) { /* sqlite3.c:51879:1 // criteria are unpinned before they are discarded. // // The PCache mutex must be held when this function is called. -func pcache1TruncateUnsafe(tls *libc.TLS, pCache uintptr, iLimit uint32) { /* sqlite3.c:51904:13: */ +func pcache1TruncateUnsafe(tls *libc.TLS, pCache uintptr, iLimit uint32) { /* sqlite3.c:51914:13: */ var h uint32 var iStop uint32 @@ -30560,7 +30570,7 @@ func pcache1TruncateUnsafe(tls *libc.TLS, pCache uintptr, iLimit uint32) { /* sq //******* sqlite3_pcache Methods ********************************************* // Implementation of the sqlite3_pcache.xInit method. -func pcache1Init(tls *libc.TLS, NotUsed uintptr) int32 { /* sqlite3.c:51955:12: */ +func pcache1Init(tls *libc.TLS, NotUsed uintptr) int32 { /* sqlite3.c:51965:12: */ _ = NotUsed libc.Xmemset(tls, uintptr(unsafe.Pointer(&pcache1_g)), 0, uint64(unsafe.Sizeof(pcache1_g))) @@ -30598,7 +30608,7 @@ func pcache1Init(tls *libc.TLS, NotUsed uintptr) int32 { /* sqlite3.c:51955:12: // Implementation of the sqlite3_pcache.xShutdown method. // Note that the static mutex allocated in xInit does // not need to be freed. -func pcache1Shutdown(tls *libc.TLS, NotUsed uintptr) { /* sqlite3.c:52008:13: */ +func pcache1Shutdown(tls *libc.TLS, NotUsed uintptr) { /* sqlite3.c:52018:13: */ _ = NotUsed libc.Xmemset(tls, uintptr(unsafe.Pointer(&pcache1_g)), 0, uint64(unsafe.Sizeof(pcache1_g))) @@ -30607,7 +30617,7 @@ func pcache1Shutdown(tls *libc.TLS, NotUsed uintptr) { /* sqlite3.c:52008:13: */ // Implementation of the sqlite3_pcache.xCreate method. // // Allocate a new cache. -func pcache1Create(tls *libc.TLS, szPage int32, szExtra int32, bPurgeable int32) uintptr { /* sqlite3.c:52022:23: */ +func pcache1Create(tls *libc.TLS, szPage int32, szExtra int32, bPurgeable int32) uintptr { /* sqlite3.c:52032:23: */ var pCache uintptr // The newly created page cache var pGroup uintptr // The group the new page cache will belong to var sz int32 // Bytes of memory required to allocate the new cache @@ -30657,7 +30667,7 @@ func pcache1Create(tls *libc.TLS, szPage int32, szExtra int32, bPurgeable int32) // Implementation of the sqlite3_pcache.xCachesize method. // // Configure the cache_size limit for a cache. -func pcache1Cachesize(tls *libc.TLS, p uintptr, nMax int32) { /* sqlite3.c:52072:13: */ +func pcache1Cachesize(tls *libc.TLS, p uintptr, nMax int32) { /* sqlite3.c:52082:13: */ var pCache uintptr = p var n U32 @@ -30680,7 +30690,7 @@ func pcache1Cachesize(tls *libc.TLS, p uintptr, nMax int32) { /* sqlite3.c:52072 // Implementation of the sqlite3_pcache.xShrink method. // // Free up as much memory as possible. -func pcache1Shrink(tls *libc.TLS, p uintptr) { /* sqlite3.c:52097:13: */ +func pcache1Shrink(tls *libc.TLS, p uintptr) { /* sqlite3.c:52107:13: */ var pCache uintptr = p if (*PCache1)(unsafe.Pointer(pCache)).FbPurgeable != 0 { var pGroup uintptr = (*PCache1)(unsafe.Pointer(pCache)).FpGroup @@ -30695,7 +30705,7 @@ func pcache1Shrink(tls *libc.TLS, p uintptr) { /* sqlite3.c:52097:13: */ } // Implementation of the sqlite3_pcache.xPagecount method. -func pcache1Pagecount(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:52114:12: */ +func pcache1Pagecount(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:52124:12: */ var n int32 var pCache uintptr = p Xsqlite3_mutex_enter(tls, (*PGroup)(unsafe.Pointer((*PCache1)(unsafe.Pointer(pCache)).FpGroup)).Fmutex) @@ -30710,7 +30720,7 @@ func pcache1Pagecount(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:52114:12: * // This steps are broken out into a separate procedure because they are // usually not needed, and by avoiding the stack initialization required // for these steps, the main pcache1Fetch() procedure can run faster. -func pcache1FetchStage2(tls *libc.TLS, pCache uintptr, iKey uint32, createFlag int32) uintptr { /* sqlite3.c:52132:31: */ +func pcache1FetchStage2(tls *libc.TLS, pCache uintptr, iKey uint32, createFlag int32) uintptr { /* sqlite3.c:52142:31: */ var nPinned uint32 var pGroup uintptr = (*PCache1)(unsafe.Pointer(pCache)).FpGroup var pPage uintptr = uintptr(0) @@ -30828,7 +30838,7 @@ func pcache1FetchStage2(tls *libc.TLS, pCache uintptr, iKey uint32, createFlag i // the general case. pcache1FetchNoMutex() is a faster implementation for // the common case where pGroup->mutex is NULL. The pcache1Fetch() wrapper // invokes the appropriate routine. -func pcache1FetchNoMutex(tls *libc.TLS, p uintptr, iKey uint32, createFlag int32) uintptr { /* sqlite3.c:52260:15: */ +func pcache1FetchNoMutex(tls *libc.TLS, p uintptr, iKey uint32, createFlag int32) uintptr { /* sqlite3.c:52270:15: */ var pCache uintptr = p var pPage uintptr = uintptr(0) @@ -30857,7 +30867,7 @@ func pcache1FetchNoMutex(tls *libc.TLS, p uintptr, iKey uint32, createFlag int32 return uintptr(0) } -func pcache1FetchWithMutex(tls *libc.TLS, p uintptr, iKey uint32, createFlag int32) uintptr { /* sqlite3.c:52290:15: */ +func pcache1FetchWithMutex(tls *libc.TLS, p uintptr, iKey uint32, createFlag int32) uintptr { /* sqlite3.c:52300:15: */ var pCache uintptr = p var pPage uintptr @@ -30868,7 +30878,7 @@ func pcache1FetchWithMutex(tls *libc.TLS, p uintptr, iKey uint32, createFlag int return pPage } -func pcache1Fetch(tls *libc.TLS, p uintptr, iKey uint32, createFlag int32) uintptr { /* sqlite3.c:52305:28: */ +func pcache1Fetch(tls *libc.TLS, p uintptr, iKey uint32, createFlag int32) uintptr { /* sqlite3.c:52315:28: */ var pCache uintptr = p if (*PGroup)(unsafe.Pointer((*PCache1)(unsafe.Pointer(pCache)).FpGroup)).Fmutex != 0 { @@ -30882,7 +30892,7 @@ func pcache1Fetch(tls *libc.TLS, p uintptr, iKey uint32, createFlag int32) uintp // Implementation of the sqlite3_pcache.xUnpin method. // // Mark a page as unpinned (eligible for asynchronous recycling). -func pcache1Unpin(tls *libc.TLS, p uintptr, pPg uintptr, reuseUnlikely int32) { /* sqlite3.c:52336:13: */ +func pcache1Unpin(tls *libc.TLS, p uintptr, pPg uintptr, reuseUnlikely int32) { /* sqlite3.c:52346:13: */ var pCache uintptr = p var pPage uintptr = pPg var pGroup uintptr = (*PCache1)(unsafe.Pointer(pCache)).FpGroup @@ -30907,7 +30917,7 @@ func pcache1Unpin(tls *libc.TLS, p uintptr, pPg uintptr, reuseUnlikely int32) { } // Implementation of the sqlite3_pcache.xRekey method. -func pcache1Rekey(tls *libc.TLS, p uintptr, pPg uintptr, iOld uint32, iNew uint32) { /* sqlite3.c:52371:13: */ +func pcache1Rekey(tls *libc.TLS, p uintptr, pPg uintptr, iOld uint32, iNew uint32) { /* sqlite3.c:52381:13: */ var pCache uintptr = p var pPage uintptr = pPg var pp uintptr @@ -30938,7 +30948,7 @@ func pcache1Rekey(tls *libc.TLS, p uintptr, pPg uintptr, iOld uint32, iNew uint3 // Discard all unpinned pages in the cache with a page number equal to // or greater than parameter iLimit. Any pinned pages with a page number // equal to or greater than iLimit are implicitly unpinned. -func pcache1Truncate(tls *libc.TLS, p uintptr, iLimit uint32) { /* sqlite3.c:52411:13: */ +func pcache1Truncate(tls *libc.TLS, p uintptr, iLimit uint32) { /* sqlite3.c:52421:13: */ var pCache uintptr = p Xsqlite3_mutex_enter(tls, (*PGroup)(unsafe.Pointer((*PCache1)(unsafe.Pointer(pCache)).FpGroup)).Fmutex) if iLimit <= (*PCache1)(unsafe.Pointer(pCache)).FiMaxKey { @@ -30951,7 +30961,7 @@ func pcache1Truncate(tls *libc.TLS, p uintptr, iLimit uint32) { /* sqlite3.c:524 // Implementation of the sqlite3_pcache.xDestroy method. // // Destroy a cache allocated using pcache1Create(). -func pcache1Destroy(tls *libc.TLS, p uintptr) { /* sqlite3.c:52426:13: */ +func pcache1Destroy(tls *libc.TLS, p uintptr) { /* sqlite3.c:52436:13: */ var pCache uintptr = p var pGroup uintptr = (*PCache1)(unsafe.Pointer(pCache)).FpGroup @@ -30974,7 +30984,7 @@ func pcache1Destroy(tls *libc.TLS, p uintptr) { /* sqlite3.c:52426:13: */ // This function is called during initialization (sqlite3_initialize()) to // install the default pluggable cache module, assuming the user has not // already provided an alternative. -func Xsqlite3PCacheSetDefault(tls *libc.TLS) { /* sqlite3.c:52449:21: */ +func Xsqlite3PCacheSetDefault(tls *libc.TLS) { /* sqlite3.c:52459:21: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -30994,16 +31004,16 @@ var defaultMethods1 = Sqlite3_pcache_methods2{ FxTruncate: 0, // xTruncate FxDestroy: 0, // xDestroy FxShrink: 0, // xShrink -} /* sqlite3.c:52450:40 */ +} /* sqlite3.c:52460:40 */ // Return the size of the header on each page of this PCACHE implementation. -func Xsqlite3HeaderSizePcache1(tls *libc.TLS) int32 { /* sqlite3.c:52471:20: */ +func Xsqlite3HeaderSizePcache1(tls *libc.TLS) int32 { /* sqlite3.c:52481:20: */ return int32((uint64(unsafe.Sizeof(PgHdr1{})) + uint64(7)) & libc.Uint64FromInt32(libc.CplInt32(7))) } // Return the global mutex used by this PCACHE implementation. The // sqlite3_status() routine needs access to this mutex. -func Xsqlite3Pcache1Mutex(tls *libc.TLS) uintptr { /* sqlite3.c:52477:30: */ +func Xsqlite3Pcache1Mutex(tls *libc.TLS) uintptr { /* sqlite3.c:52487:30: */ return pcache1_g.Fmutex } @@ -31014,7 +31024,7 @@ func Xsqlite3Pcache1Mutex(tls *libc.TLS) uintptr { /* sqlite3.c:52477:30: */ // nReq is the number of bytes of memory required. Once this much has // been released, the function returns. The return value is the total number // of bytes of memory released. -func Xsqlite3PcacheReleaseMemory(tls *libc.TLS, nReq int32) int32 { /* sqlite3.c:52491:20: */ +func Xsqlite3PcacheReleaseMemory(tls *libc.TLS, nReq int32) int32 { /* sqlite3.c:52501:20: */ var nFree int32 = 0 if Xsqlite3Config.FpPage == uintptr(0) { @@ -31131,7 +31141,7 @@ type RowSetChunk = struct { // Allocate a RowSet object. Return NULL if a memory allocation // error occurs. -func Xsqlite3RowSetInit(tls *libc.TLS, db uintptr) uintptr { /* sqlite3.c:52671:23: */ +func Xsqlite3RowSetInit(tls *libc.TLS, db uintptr) uintptr { /* sqlite3.c:52681:23: */ var p uintptr = Xsqlite3DbMallocRawNN(tls, db, uint64(unsafe.Sizeof(RowSet{}))) if p != 0 { var N int32 = Xsqlite3DbMallocSize(tls, db, p) @@ -31151,7 +31161,7 @@ func Xsqlite3RowSetInit(tls *libc.TLS, db uintptr) uintptr { /* sqlite3.c:52671: // Deallocate all chunks from a RowSet. This frees all memory that // the RowSet has allocated over its lifetime. This routine is // the destructor for the RowSet. -func Xsqlite3RowSetClear(tls *libc.TLS, pArg uintptr) { /* sqlite3.c:52693:21: */ +func Xsqlite3RowSetClear(tls *libc.TLS, pArg uintptr) { /* sqlite3.c:52703:21: */ var p uintptr = pArg var pChunk uintptr var pNextChunk uintptr @@ -31170,7 +31180,7 @@ func Xsqlite3RowSetClear(tls *libc.TLS, pArg uintptr) { /* sqlite3.c:52693:21: * // Deallocate all chunks from a RowSet. This frees all memory that // the RowSet has allocated over its lifetime. This routine is // the destructor for the RowSet. -func Xsqlite3RowSetDelete(tls *libc.TLS, pArg uintptr) { /* sqlite3.c:52713:21: */ +func Xsqlite3RowSetDelete(tls *libc.TLS, pArg uintptr) { /* sqlite3.c:52723:21: */ Xsqlite3RowSetClear(tls, pArg) Xsqlite3DbFree(tls, (*RowSet)(unsafe.Pointer(pArg)).Fdb, pArg) } @@ -31181,7 +31191,7 @@ func Xsqlite3RowSetDelete(tls *libc.TLS, pArg uintptr) { /* sqlite3.c:52713:21: // // In an OOM situation, the RowSet.db->mallocFailed flag is set and this // routine returns NULL. -func rowSetEntryAlloc(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:52726:27: */ +func rowSetEntryAlloc(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:52736:27: */ if int32((*RowSet)(unsafe.Pointer(p)).FnFresh) == 0 { //OPTIMIZATION-IF-FALSE // We could allocate a fresh RowSetEntry each time one is needed, but it @@ -31204,7 +31214,7 @@ func rowSetEntryAlloc(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:52726:27: // // The mallocFailed flag of the database connection is set if a // memory allocation fails. -func Xsqlite3RowSetInsert(tls *libc.TLS, p uintptr, rowid I64) { /* sqlite3.c:52751:21: */ +func Xsqlite3RowSetInsert(tls *libc.TLS, p uintptr, rowid I64) { /* sqlite3.c:52761:21: */ var pEntry uintptr // The new entry var pLast uintptr // The last prior entry @@ -31234,7 +31244,7 @@ func Xsqlite3RowSetInsert(tls *libc.TLS, p uintptr, rowid I64) { /* sqlite3.c:52 // // The input lists are connected via pRight pointers and are // assumed to each already be in sorted order. -func rowSetEntryMerge(tls *libc.TLS, pA uintptr, pB uintptr) uintptr { /* sqlite3.c:52782:27: */ +func rowSetEntryMerge(tls *libc.TLS, pA uintptr, pB uintptr) uintptr { /* sqlite3.c:52792:27: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -31269,7 +31279,7 @@ func rowSetEntryMerge(tls *libc.TLS, pA uintptr, pB uintptr) uintptr { /* sqlite // Sort all elements on the list of RowSetEntry objects into order of // increasing v. -func rowSetEntrySort(tls *libc.TLS, pIn uintptr) uintptr { /* sqlite3.c:52817:27: */ +func rowSetEntrySort(tls *libc.TLS, pIn uintptr) uintptr { /* sqlite3.c:52827:27: */ bp := tls.Alloc(320) defer tls.Free(320) @@ -31305,7 +31315,7 @@ func rowSetEntrySort(tls *libc.TLS, pIn uintptr) uintptr { /* sqlite3.c:52817:27 // The input, pIn, is a binary tree (or subtree) of RowSetEntry objects. // Convert this tree into a linked list connected by the pRight pointers // and return pointers to the first and last elements of the new list. -func rowSetTreeToList(tls *libc.TLS, pIn uintptr, ppFirst uintptr, ppLast uintptr) { /* sqlite3.c:52846:13: */ +func rowSetTreeToList(tls *libc.TLS, pIn uintptr, ppFirst uintptr, ppLast uintptr) { /* sqlite3.c:52856:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -31336,7 +31346,7 @@ func rowSetTreeToList(tls *libc.TLS, pIn uintptr, ppFirst uintptr, ppLast uintpt // and leave *ppList set to NULL. // // Return a pointer to the root of the constructed binary tree. -func rowSetNDeepTree(tls *libc.TLS, ppList uintptr, iDepth int32) uintptr { /* sqlite3.c:52881:27: */ +func rowSetNDeepTree(tls *libc.TLS, ppList uintptr, iDepth int32) uintptr { /* sqlite3.c:52891:27: */ var p uintptr // Root of the new tree var pLeft uintptr // Left subtree if *(*uintptr)(unsafe.Pointer(ppList)) == uintptr(0) { //OPTIMIZATION-IF-TRUE @@ -31367,7 +31377,7 @@ func rowSetNDeepTree(tls *libc.TLS, ppList uintptr, iDepth int32) uintptr { /* s // Convert a sorted list of elements into a binary tree. Make the tree // as deep as it needs to be in order to contain the entire list. -func rowSetListToTree(tls *libc.TLS, pList uintptr) uintptr { /* sqlite3.c:52917:27: */ +func rowSetListToTree(tls *libc.TLS, pList uintptr) uintptr { /* sqlite3.c:52927:27: */ bp := tls.Alloc(8) defer tls.Free(8) *(*uintptr)(unsafe.Pointer(bp)) = pList @@ -31400,7 +31410,7 @@ func rowSetListToTree(tls *libc.TLS, pList uintptr) uintptr { /* sqlite3.c:52917 // been used. Older versions of RowSet allowed that, but as the // capability was not used by the code generator, it was removed // for code economy. -func Xsqlite3RowSetNext(tls *libc.TLS, p uintptr, pRowid uintptr) int32 { /* sqlite3.c:52949:20: */ +func Xsqlite3RowSetNext(tls *libc.TLS, p uintptr, pRowid uintptr) int32 { /* sqlite3.c:52959:20: */ // Cannot be used with sqlite3RowSetText() @@ -31433,7 +31443,7 @@ func Xsqlite3RowSetNext(tls *libc.TLS, p uintptr, pRowid uintptr) int32 { /* sql // If this is the first test of a new batch and if there exist entries // on pRowSet->pEntry, then sort those entries into the forest at // pRowSet->pForest so that they can be tested. -func Xsqlite3RowSetTest(tls *libc.TLS, pRowSet uintptr, iBatch int32, iRowid Sqlite3_int64) int32 { /* sqlite3.c:52983:20: */ +func Xsqlite3RowSetTest(tls *libc.TLS, pRowSet uintptr, iBatch int32, iRowid Sqlite3_int64) int32 { /* sqlite3.c:52993:20: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -31618,7 +31628,7 @@ type Wal1 = struct { // Connection to a write-ahead log (WAL) file. // There is one object of this type for each pager. -type Wal = Wal1 /* sqlite3.c:53125:20 */ +type Wal = Wal1 /* sqlite3.c:53135:20 */ //************* End of wal.h ************************************************ //************* Continuing where we left off in pager.c ********************* @@ -32387,7 +32397,7 @@ type PagerSavepoint1 = struct { // immediately following the last journal record written into the main // journal before the journal-header. This is required during savepoint // rollback (see pagerPlaybackSavepoint()). -type PagerSavepoint = PagerSavepoint1 /* sqlite3.c:53636:31 */ +type PagerSavepoint = PagerSavepoint1 /* sqlite3.c:53646:31 */ // Indexes for use with Pager.aStat[]. The Pager.aStat[] array contains // the values accessed by passing SQLITE_DBSTATUS_CACHE_HIT, CACHE_MISS @@ -32420,11 +32430,11 @@ type PagerSavepoint = PagerSavepoint1 /* sqlite3.c:53636:31 */ // is different for every journal, we minimize that risk. var aJournalMagic = [8]uint8{ uint8(0xd9), uint8(0xd5), uint8(0x05), uint8(0xf9), uint8(0x20), uint8(0xa1), uint8(0x63), uint8(0xd7), -} /* sqlite3.c:53958:28 */ +} /* sqlite3.c:53968:28 */ // Set the Pager.xGet method for the appropriate routine used to fetch // content from the pager. -func setGetterMethod(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:54251:13: */ +func setGetterMethod(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:54261:13: */ if (*Pager)(unsafe.Pointer(pPager)).FerrCode != 0 { (*Pager)(unsafe.Pointer(pPager)).FxGet = *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, Pgno, uintptr, int32) int32 @@ -32447,7 +32457,7 @@ func setGetterMethod(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:54251:13: */ // * The page-number is less than or equal to PagerSavepoint.nOrig, and // * The bit corresponding to the page-number is not set in // PagerSavepoint.pInSavepoint. -func subjRequiresPage(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:54272:12: */ +func subjRequiresPage(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:54282:12: */ var pPager uintptr = (*PgHdr)(unsafe.Pointer(pPg)).FpPager var p uintptr var pgno Pgno = (*PgHdr)(unsafe.Pointer(pPg)).Fpgno @@ -32469,7 +32479,7 @@ func subjRequiresPage(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:54272:12: // error code is something goes wrong. // // All values are stored on disk as big-endian. -func read32bits(tls *libc.TLS, fd uintptr, offset I64, pRes uintptr) int32 { /* sqlite3.c:54305:12: */ +func read32bits(tls *libc.TLS, fd uintptr, offset I64, pRes uintptr) int32 { /* sqlite3.c:54315:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -32486,7 +32496,7 @@ func read32bits(tls *libc.TLS, fd uintptr, offset I64, pRes uintptr) int32 { /* // Write a 32-bit integer into the given file descriptor. Return SQLITE_OK // on success or an error code is something goes wrong. -func write32bits(tls *libc.TLS, fd uintptr, offset I64, val U32) int32 { /* sqlite3.c:54324:12: */ +func write32bits(tls *libc.TLS, fd uintptr, offset I64, val U32) int32 { /* sqlite3.c:54334:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -32503,7 +32513,7 @@ func write32bits(tls *libc.TLS, fd uintptr, offset I64, val U32) int32 { /* sqli // Except, if Pager.eLock is set to UNKNOWN_LOCK when this function is // called, do not modify it. See the comment above the #define of // UNKNOWN_LOCK for an explanation of this. -func pagerUnlockDb(tls *libc.TLS, pPager uintptr, eLock int32) int32 { /* sqlite3.c:54339:12: */ +func pagerUnlockDb(tls *libc.TLS, pPager uintptr, eLock int32) int32 { /* sqlite3.c:54349:12: */ var rc int32 = SQLITE_OK if (*Sqlite3_file)(unsafe.Pointer((*Pager)(unsafe.Pointer(pPager)).Ffd)).FpMethods != uintptr(0) { @@ -32530,7 +32540,7 @@ func pagerUnlockDb(tls *libc.TLS, pPager uintptr, eLock int32) int32 { /* sqlite // called, do not modify it unless the new locking state is EXCLUSIVE_LOCK. // See the comment above the #define of UNKNOWN_LOCK for an explanation // of this. -func pagerLockDb(tls *libc.TLS, pPager uintptr, eLock int32) int32 { /* sqlite3.c:54367:12: */ +func pagerLockDb(tls *libc.TLS, pPager uintptr, eLock int32) int32 { /* sqlite3.c:54377:12: */ var rc int32 = SQLITE_OK if int32((*Pager)(unsafe.Pointer(pPager)).FeLock) < eLock || int32((*Pager)(unsafe.Pointer(pPager)).FeLock) == EXCLUSIVE_LOCK+1 { @@ -32564,7 +32574,7 @@ func pagerLockDb(tls *libc.TLS, pPager uintptr, eLock int32) int32 { /* sqlite3. // returned in this case. // // If neither optimization can be used, 0 is returned. -func jrnlBufferSize(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:54400:12: */ +func jrnlBufferSize(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:54410:12: */ _ = pPager @@ -32598,7 +32608,7 @@ func jrnlBufferSize(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:54400:12 // // If an error occurs while reading from the journal file, an SQLite // error code is returned. -func readSuperJournal(tls *libc.TLS, pJrnl uintptr, zSuper uintptr, nSuper U32) int32 { /* sqlite3.c:54505:12: */ +func readSuperJournal(tls *libc.TLS, pJrnl uintptr, zSuper uintptr, nSuper U32) int32 { /* sqlite3.c:54515:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -32657,7 +32667,7 @@ func readSuperJournal(tls *libc.TLS, pJrnl uintptr, zSuper uintptr, nSuper U32) // 100 512 // 2000 2048 // -func journalHdrOffset(tls *libc.TLS, pPager uintptr) I64 { /* sqlite3.c:54561:12: */ +func journalHdrOffset(tls *libc.TLS, pPager uintptr) I64 { /* sqlite3.c:54571:12: */ var offset I64 = int64(0) var c I64 = (*Pager)(unsafe.Pointer(pPager)).FjournalOff if c != 0 { @@ -32686,7 +32696,7 @@ func journalHdrOffset(tls *libc.TLS, pPager uintptr) I64 { /* sqlite3.c:54561:12 // // If an IO error occurs, abandon processing and return the IO error code. // Otherwise, return SQLITE_OK. -func zeroJournalHdr(tls *libc.TLS, pPager uintptr, doTruncate int32) int32 { /* sqlite3.c:54594:12: */ +func zeroJournalHdr(tls *libc.TLS, pPager uintptr, doTruncate int32) int32 { /* sqlite3.c:54604:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -32721,7 +32731,7 @@ func zeroJournalHdr(tls *libc.TLS, pPager uintptr, doTruncate int32) int32 { /* return rc } -var zeroHdr = [28]uint8{0: uint8(0)} /* sqlite3.c:54605:25 */ +var zeroHdr = [28]uint8{0: uint8(0)} /* sqlite3.c:54615:25 */ // The journal file must be open when this routine is called. A journal // header (JOURNAL_HDR_SZ bytes) is written into the journal file at the @@ -32736,7 +32746,7 @@ var zeroHdr = [28]uint8{0: uint8(0)} /* sqlite3.c:54605:25 */ // - 4 bytes: Database page size. // // Followed by (JOURNAL_HDR_SZ - 28) bytes of unused space. -func writeJournalHdr(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:54644:12: */ +func writeJournalHdr(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:54654:12: */ var rc int32 = SQLITE_OK // Return code var zHeader uintptr = (*Pager)(unsafe.Pointer(pPager)).FpTmpSpace // Temporary space used to build header var nHeader U32 = U32((*Pager)(unsafe.Pointer(pPager)).FpageSize) // Size of buffer pointed to by zHeader @@ -32846,7 +32856,7 @@ func writeJournalHdr(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:54644:1 // If the journal header file appears to be corrupted, SQLITE_DONE is // returned and *pNRec and *PDbSize are undefined. If JOURNAL_HDR_SZ bytes // cannot be read from the journal file an error code is returned. -func readJournalHdr(tls *libc.TLS, pPager uintptr, isHot int32, journalSize I64, pNRec uintptr, pDbSize uintptr) int32 { /* sqlite3.c:54762:12: */ +func readJournalHdr(tls *libc.TLS, pPager uintptr, isHot int32, journalSize I64, pNRec uintptr, pDbSize uintptr) int32 { /* sqlite3.c:54772:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -32956,7 +32966,7 @@ func readJournalHdr(tls *libc.TLS, pPager uintptr, isHot int32, journalSize I64, // // If zSuper is a NULL pointer (occurs for a single database transaction), // this call is a no-op. -func writeSuperJournal(tls *libc.TLS, pPager uintptr, zSuper uintptr) int32 { /* sqlite3.c:54887:12: */ +func writeSuperJournal(tls *libc.TLS, pPager uintptr, zSuper uintptr) int32 { /* sqlite3.c:54897:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -33016,21 +33026,21 @@ func writeSuperJournal(tls *libc.TLS, pPager uintptr, zSuper uintptr) int32 { /* } // Discard the entire contents of the in-memory page-cache. -func pager_reset(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:54955:13: */ +func pager_reset(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:54965:13: */ (*Pager)(unsafe.Pointer(pPager)).FiDataVersion++ Xsqlite3BackupRestart(tls, (*Pager)(unsafe.Pointer(pPager)).FpBackup) Xsqlite3PcacheClear(tls, (*Pager)(unsafe.Pointer(pPager)).FpPCache) } // Return the pPager->iDataVersion value -func Xsqlite3PagerDataVersion(tls *libc.TLS, pPager uintptr) U32 { /* sqlite3.c:54964:20: */ +func Xsqlite3PagerDataVersion(tls *libc.TLS, pPager uintptr) U32 { /* sqlite3.c:54974:20: */ return (*Pager)(unsafe.Pointer(pPager)).FiDataVersion } // Free all structures in the Pager.aSavepoint[] array and set both // Pager.aSavepoint and Pager.nSavepoint to zero. Close the sub-journal // if it is open and the pager is not in exclusive mode. -func releaseAllSavepoints(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:54973:13: */ +func releaseAllSavepoints(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:54983:13: */ var ii int32 // Iterator for looping through Pager.aSavepoint for ii = 0; ii < (*Pager)(unsafe.Pointer(pPager)).FnSavepoint; ii++ { Xsqlite3BitvecDestroy(tls, (*PagerSavepoint)(unsafe.Pointer((*Pager)(unsafe.Pointer(pPager)).FaSavepoint+uintptr(ii)*56)).FpInSavepoint) @@ -33047,7 +33057,7 @@ func releaseAllSavepoints(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:54973:13 // Set the bit number pgno in the PagerSavepoint.pInSavepoint // bitvecs of all open savepoints. Return SQLITE_OK if successful // or SQLITE_NOMEM if a malloc failure occurs. -func addToSavepointBitvecs(tls *libc.TLS, pPager uintptr, pgno Pgno) int32 { /* sqlite3.c:54992:12: */ +func addToSavepointBitvecs(tls *libc.TLS, pPager uintptr, pgno Pgno) int32 { /* sqlite3.c:55002:12: */ var ii int32 // Loop counter var rc int32 = SQLITE_OK // Result code @@ -33076,7 +33086,7 @@ func addToSavepointBitvecs(tls *libc.TLS, pPager uintptr, pgno Pgno) int32 { /* // or not, any journal file left in the file-system will be treated // as a hot-journal and rolled back the next time a read-transaction // is opened (by this or by any other connection). -func pager_unlock(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:55024:13: */ +func pager_unlock(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:55034:13: */ Xsqlite3BitvecDestroy(tls, (*Pager)(unsafe.Pointer(pPager)).FpInJournal) (*Pager)(unsafe.Pointer(pPager)).FpInJournal = uintptr(0) @@ -33168,7 +33178,7 @@ func pager_unlock(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:55024:13: */ // the persistent error occurred, then the rollback journal may need // to be replayed to restore the contents of the database file (as if // it were a hot-journal). -func pager_error(tls *libc.TLS, pPager uintptr, rc int32) int32 { /* sqlite3.c:55121:12: */ +func pager_error(tls *libc.TLS, pPager uintptr, rc int32) int32 { /* sqlite3.c:55131:12: */ var rc2 int32 = rc & 0xff if rc2 == SQLITE_FULL || rc2 == SQLITE_IOERR { @@ -33193,7 +33203,7 @@ func pager_error(tls *libc.TLS, pPager uintptr, rc int32) int32 { /* sqlite3.c:5 // file has been created already (via a spill on pagerStress()) and // when the number of dirty pages in memory exceeds 25% of the total // cache size. -func pagerFlushOnCommit(tls *libc.TLS, pPager uintptr, bCommit int32) int32 { /* sqlite3.c:55155:12: */ +func pagerFlushOnCommit(tls *libc.TLS, pPager uintptr, bCommit int32) int32 { /* sqlite3.c:55165:12: */ if int32((*Pager)(unsafe.Pointer(pPager)).FtempFile) == 0 { return 1 } @@ -33257,7 +33267,7 @@ func pagerFlushOnCommit(tls *libc.TLS, pPager uintptr, bCommit int32) int32 { /* // unlock operation fails as well, then the first error code related // to the first error encountered (the journal finalization one) is // returned. -func pager_end_transaction(tls *libc.TLS, pPager uintptr, hasSuper int32, bCommit int32) int32 { /* sqlite3.c:55215:12: */ +func pager_end_transaction(tls *libc.TLS, pPager uintptr, hasSuper int32, bCommit int32) int32 { /* sqlite3.c:55225:12: */ var rc int32 = SQLITE_OK // Error code from journal finalization operation var rc2 int32 = SQLITE_OK // Error code from db file unlock operation @@ -33384,7 +33394,7 @@ func pager_end_transaction(tls *libc.TLS, pPager uintptr, hasSuper int32, bCommi // malloc error occurs during a rollback, then this will itself cause // the pager to enter the ERROR state. Which will be cleared by the // call to pager_unlock(), as described above. -func pagerUnlockAndRollback(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:55362:13: */ +func pagerUnlockAndRollback(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:55372:13: */ if int32((*Pager)(unsafe.Pointer(pPager)).FeState) != PAGER_ERROR && int32((*Pager)(unsafe.Pointer(pPager)).FeState) != PAGER_OPEN { if int32((*Pager)(unsafe.Pointer(pPager)).FeState) >= PAGER_WRITER_LOCKED { @@ -33416,7 +33426,7 @@ func pagerUnlockAndRollback(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:55362: // It is much less likely that the two ends of the journal record will be // correct and the middle be corrupt. Thus, this "checksum" scheme, // though fast and simple, catches the mostly likely kind of corruption. -func pager_cksum(tls *libc.TLS, pPager uintptr, aData uintptr) U32 { /* sqlite3.c:55396:12: */ +func pager_cksum(tls *libc.TLS, pPager uintptr, aData uintptr) U32 { /* sqlite3.c:55406:12: */ var cksum U32 = (*Pager)(unsafe.Pointer(pPager)).FcksumInit // Checksum value to return var i int32 = int32((*Pager)(unsafe.Pointer(pPager)).FpageSize - int64(200)) // Loop counter for i > 0 { @@ -33461,7 +33471,7 @@ func pager_cksum(tls *libc.TLS, pPager uintptr, aData uintptr) U32 { /* sqlite3. // If this is a savepoint rollback, then memory may have to be dynamically // allocated by this function. If this is the case and an allocation fails, // SQLITE_NOMEM is returned. -func pager_playback_one_page(tls *libc.TLS, pPager uintptr, pOffset uintptr, pDone uintptr, isMainJrnl int32, isSavepnt int32) int32 { /* sqlite3.c:55443:12: */ +func pager_playback_one_page(tls *libc.TLS, pPager uintptr, pOffset uintptr, pDone uintptr, isMainJrnl int32, isSavepnt int32) int32 { /* sqlite3.c:55453:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -33695,7 +33705,7 @@ func pager_playback_one_page(tls *libc.TLS, pPager uintptr, pOffset uintptr, pDo // the entire contents of the super-journal file. This could be // a couple of kilobytes or so - potentially larger than the page // size. -func pager_delsuper(tls *libc.TLS, pPager uintptr, zSuper uintptr) int32 { /* sqlite3.c:55690:12: */ +func pager_delsuper(tls *libc.TLS, pPager uintptr, zSuper uintptr) int32 { /* sqlite3.c:55700:12: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -33861,7 +33871,7 @@ __14: // // If successful, return SQLITE_OK. If an IO error occurs while modifying // the database file, return the error code to the caller. -func pager_truncate(tls *libc.TLS, pPager uintptr, nPage Pgno) int32 { /* sqlite3.c:55808:12: */ +func pager_truncate(tls *libc.TLS, pPager uintptr, nPage Pgno) int32 { /* sqlite3.c:55818:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -33896,7 +33906,7 @@ func pager_truncate(tls *libc.TLS, pPager uintptr, nPage Pgno) int32 { /* sqlite // Return a sanitized version of the sector-size of OS file pFile. The // return value is guaranteed to lie between 32 and MAX_SECTOR_SIZE. -func Xsqlite3SectorSize(tls *libc.TLS, pFile uintptr) int32 { /* sqlite3.c:55844:20: */ +func Xsqlite3SectorSize(tls *libc.TLS, pFile uintptr) int32 { /* sqlite3.c:55854:20: */ var iRet int32 = Xsqlite3OsSectorSize(tls, pFile) if iRet < 32 { iRet = 512 @@ -33928,7 +33938,7 @@ func Xsqlite3SectorSize(tls *libc.TLS, pFile uintptr) int32 { /* sqlite3.c:55844 // (that is what POWERSAFE_OVERWRITE means), so we minimize the sector // size. For backwards compatibility of the rollback journal file format, // we cannot reduce the effective sector size below 512. -func setSectorSize(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:55878:13: */ +func setSectorSize(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:55888:13: */ if (*Pager)(unsafe.Pointer(pPager)).FtempFile != 0 || Xsqlite3OsDeviceCharacteristics(tls, (*Pager)(unsafe.Pointer(pPager)).Ffd)&SQLITE_IOCAP_POWERSAFE_OVERWRITE != 0 { @@ -33996,7 +34006,7 @@ func setSectorSize(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:55878:13: */ // If the journal really is hot, reset the pager cache prior rolling // back any content. If the journal is merely persistent, no reset is // needed. -func pager_playback(tls *libc.TLS, pPager uintptr, isHot int32) int32 { /* sqlite3.c:55951:12: */ +func pager_playback(tls *libc.TLS, pPager uintptr, isHot int32) int32 { /* sqlite3.c:55961:12: */ bp := tls.Alloc(40) defer tls.Free(40) @@ -34287,7 +34297,7 @@ __28: // // If an IO error occurs, then the IO error is returned to the caller. // Otherwise, SQLITE_OK is returned. -func readDbPage(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:56171:12: */ +func readDbPage(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:56181:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -34341,7 +34351,7 @@ func readDbPage(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:56171:12: */ // This is an unconditional update. See also the pager_incr_changecounter() // routine which only updates the change-counter if the update is actually // needed, as determined by the pPager->changeCountDone state variable. -func pager_write_changecounter(tls *libc.TLS, pPg uintptr) { /* sqlite3.c:56234:13: */ +func pager_write_changecounter(tls *libc.TLS, pPg uintptr) { /* sqlite3.c:56244:13: */ var change_counter U32 if pPg == uintptr(0) { return @@ -34368,7 +34378,7 @@ func pager_write_changecounter(tls *libc.TLS, pPg uintptr) { /* sqlite3.c:56234: // references, the page content is reloaded from the database. If the // attempt to reload content from the database is required and fails, // return an SQLite error code. Otherwise, SQLITE_OK. -func pagerUndoCallback(tls *libc.TLS, pCtx uintptr, iPg Pgno) int32 { /* sqlite3.c:56262:12: */ +func pagerUndoCallback(tls *libc.TLS, pCtx uintptr, iPg Pgno) int32 { /* sqlite3.c:56272:12: */ var rc int32 = SQLITE_OK var pPager uintptr = pCtx var pPg uintptr @@ -34399,7 +34409,7 @@ func pagerUndoCallback(tls *libc.TLS, pCtx uintptr, iPg Pgno) int32 { /* sqlite3 } // This function is called to rollback a transaction on a WAL database. -func pagerRollbackWal(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:56297:12: */ +func pagerRollbackWal(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:56307:12: */ var rc int32 // Return Code var pList uintptr // List of dirty pages to revert @@ -34430,7 +34440,7 @@ func pagerRollbackWal(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:56297: // // The list of pages passed into this routine is always sorted by page number. // Hence, if page 1 appears anywhere on the list, it will be the first page. -func pagerWalFrames(tls *libc.TLS, pPager uintptr, pList uintptr, nTruncate Pgno, isCommit int32) int32 { /* sqlite3.c:56329:12: */ +func pagerWalFrames(tls *libc.TLS, pPager uintptr, pList uintptr, nTruncate Pgno, isCommit int32) int32 { /* sqlite3.c:56339:12: */ bp := tls.Alloc(8) defer tls.Free(8) *(*uintptr)(unsafe.Pointer(bp)) = pList @@ -34478,7 +34488,7 @@ func pagerWalFrames(tls *libc.TLS, pPager uintptr, pList uintptr, nTruncate Pgno // makes a snapshot of the database at the current point in time and preserves // that snapshot for use by the reader in spite of concurrently changes by // other writers or checkpointers. -func pagerBeginReadTransaction(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:56396:12: */ +func pagerBeginReadTransaction(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:56406:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -34509,7 +34519,7 @@ func pagerBeginReadTransaction(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3 // If no error occurs, SQLITE_OK is returned and the size of the database // in pages is stored in *pnPage. Otherwise, an error code (perhaps // SQLITE_IOERR_FSTAT) is returned and *pnPage is left unmodified. -func pagerPagecount(tls *libc.TLS, pPager uintptr, pnPage uintptr) int32 { /* sqlite3.c:56429:12: */ +func pagerPagecount(tls *libc.TLS, pPager uintptr, pnPage uintptr) int32 { /* sqlite3.c:56439:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -34563,7 +34573,7 @@ func pagerPagecount(tls *libc.TLS, pPager uintptr, pnPage uintptr) int32 { /* sq // a WAL on a none-empty database, this ensures there is no race condition // between the xAccess() below and an xDelete() being executed by some // other connection. -func pagerOpenWalIfPresent(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:56489:12: */ +func pagerOpenWalIfPresent(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:56499:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -34631,7 +34641,7 @@ func pagerOpenWalIfPresent(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:5 // is reset to the value that it held at the start of the savepoint // (or transaction). No page with a page-number greater than this value // is played back. If one is encountered it is simply skipped. -func pagerPlaybackSavepoint(tls *libc.TLS, pPager uintptr, pSavepoint uintptr) int32 { /* sqlite3.c:56556:12: */ +func pagerPlaybackSavepoint(tls *libc.TLS, pPager uintptr, pSavepoint uintptr) int32 { /* sqlite3.c:56566:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -34740,18 +34750,18 @@ func pagerPlaybackSavepoint(tls *libc.TLS, pPager uintptr, pSavepoint uintptr) i // Change the maximum number of in-memory pages that are allowed // before attempting to recycle clean and unused pages. -func Xsqlite3PagerSetCachesize(tls *libc.TLS, pPager uintptr, mxPage int32) { /* sqlite3.c:56668:21: */ +func Xsqlite3PagerSetCachesize(tls *libc.TLS, pPager uintptr, mxPage int32) { /* sqlite3.c:56678:21: */ Xsqlite3PcacheSetCachesize(tls, (*Pager)(unsafe.Pointer(pPager)).FpPCache, mxPage) } // Change the maximum number of in-memory pages that are allowed // before attempting to spill pages to journal. -func Xsqlite3PagerSetSpillsize(tls *libc.TLS, pPager uintptr, mxPage int32) int32 { /* sqlite3.c:56676:20: */ +func Xsqlite3PagerSetSpillsize(tls *libc.TLS, pPager uintptr, mxPage int32) int32 { /* sqlite3.c:56686:20: */ return Xsqlite3PcacheSetSpillsize(tls, (*Pager)(unsafe.Pointer(pPager)).FpPCache, mxPage) } // Invoke SQLITE_FCNTL_MMAP_SIZE based on the current value of szMmap. -func pagerFixMaplimit(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:56683:13: */ +func pagerFixMaplimit(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:56693:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -34767,13 +34777,13 @@ func pagerFixMaplimit(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:56683:13: */ } // Change the maximum size of any memory mapping made of the database file. -func Xsqlite3PagerSetMmapLimit(tls *libc.TLS, pPager uintptr, szMmap Sqlite3_int64) { /* sqlite3.c:56699:21: */ +func Xsqlite3PagerSetMmapLimit(tls *libc.TLS, pPager uintptr, szMmap Sqlite3_int64) { /* sqlite3.c:56709:21: */ (*Pager)(unsafe.Pointer(pPager)).FszMmap = szMmap pagerFixMaplimit(tls, pPager) } // Free as much memory as possible from the pager. -func Xsqlite3PagerShrink(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:56707:21: */ +func Xsqlite3PagerShrink(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:56717:21: */ Xsqlite3PcacheShrink(tls, (*Pager)(unsafe.Pointer(pPager)).FpPCache) } @@ -34826,7 +34836,7 @@ func Xsqlite3PagerShrink(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:56707:21: // // Numeric values associated with these states are OFF==1, NORMAL=2, // and FULL=3. -func Xsqlite3PagerSetFlags(tls *libc.TLS, pPager uintptr, pgFlags uint32) { /* sqlite3.c:56763:21: */ +func Xsqlite3PagerSetFlags(tls *libc.TLS, pPager uintptr, pgFlags uint32) { /* sqlite3.c:56773:21: */ var level uint32 = pgFlags & uint32(PAGER_SYNCHRONOUS_MASK) if (*Pager)(unsafe.Pointer(pPager)).FtempFile != 0 { (*Pager)(unsafe.Pointer(pPager)).FnoSync = U8(1) @@ -34890,7 +34900,7 @@ func Xsqlite3PagerSetFlags(tls *libc.TLS, pPager uintptr, pgFlags uint32) { /* s // SQLITE_OPEN_CREATE // SQLITE_OPEN_EXCLUSIVE // SQLITE_OPEN_DELETEONCLOSE -func pagerOpentemp(tls *libc.TLS, pPager uintptr, pFile uintptr, vfsFlags int32) int32 { /* sqlite3.c:56823:12: */ +func pagerOpentemp(tls *libc.TLS, pPager uintptr, pFile uintptr, vfsFlags int32) int32 { /* sqlite3.c:56833:12: */ var rc int32 // Return code vfsFlags = vfsFlags | (SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE | SQLITE_OPEN_EXCLUSIVE | SQLITE_OPEN_DELETEONCLOSE) @@ -34918,7 +34928,7 @@ func pagerOpentemp(tls *libc.TLS, pPager uintptr, pFile uintptr, vfsFlags int32) // If the busy-handler callback returns non-zero, the lock is // retried. If it returns zero, then the SQLITE_BUSY error is // returned to the caller of the pager API function. -func Xsqlite3PagerSetBusyHandler(tls *libc.TLS, pPager uintptr, xBusyHandler uintptr, pBusyHandlerArg uintptr) { /* sqlite3.c:56862:21: */ +func Xsqlite3PagerSetBusyHandler(tls *libc.TLS, pPager uintptr, xBusyHandler uintptr, pBusyHandlerArg uintptr) { /* sqlite3.c:56872:21: */ var ap uintptr (*Pager)(unsafe.Pointer(pPager)).FxBusyHandler = xBusyHandler (*Pager)(unsafe.Pointer(pPager)).FpBusyHandlerArg = pBusyHandlerArg @@ -34955,7 +34965,7 @@ func Xsqlite3PagerSetBusyHandler(tls *libc.TLS, pPager uintptr, xBusyHandler uin // conditions above is not true, the pager was in error state when this // function was called, or because the memory allocation attempt failed, // then *pPageSize is set to the old, retained page size before returning. -func Xsqlite3PagerSetPagesize(tls *libc.TLS, pPager uintptr, pPageSize uintptr, nReserve int32) int32 { /* sqlite3.c:56906:20: */ +func Xsqlite3PagerSetPagesize(tls *libc.TLS, pPager uintptr, pPageSize uintptr, nReserve int32) int32 { /* sqlite3.c:56916:20: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -35024,7 +35034,7 @@ func Xsqlite3PagerSetPagesize(tls *libc.TLS, pPager uintptr, pPageSize uintptr, // during rollback and will be overwritten whenever a rollback // occurs. But other modules are free to use it too, as long as // no rollbacks are happening. -func Xsqlite3PagerTempSpace(tls *libc.TLS, pPager uintptr) uintptr { /* sqlite3.c:56974:21: */ +func Xsqlite3PagerTempSpace(tls *libc.TLS, pPager uintptr) uintptr { /* sqlite3.c:56984:21: */ return (*Pager)(unsafe.Pointer(pPager)).FpTmpSpace } @@ -35033,7 +35043,7 @@ func Xsqlite3PagerTempSpace(tls *libc.TLS, pPager uintptr) uintptr { /* sqlite3. // maximum page count below the current size of the database. // // Regardless of mxPage, return the current maximum page count. -func Xsqlite3PagerMaxPageCount(tls *libc.TLS, pPager uintptr, mxPage Pgno) Pgno { /* sqlite3.c:56985:21: */ +func Xsqlite3PagerMaxPageCount(tls *libc.TLS, pPager uintptr, mxPage Pgno) Pgno { /* sqlite3.c:56995:21: */ if mxPage > Pgno(0) { (*Pager)(unsafe.Pointer(pPager)).FmxPgno = mxPage } @@ -35064,7 +35074,7 @@ func Xsqlite3PagerMaxPageCount(tls *libc.TLS, pPager uintptr, mxPage Pgno) Pgno // If any IO error apart from SQLITE_IOERR_SHORT_READ is encountered, // the error code is returned to the caller and the contents of the // output buffer undefined. -func Xsqlite3PagerReadFileheader(tls *libc.TLS, pPager uintptr, N int32, pDest uintptr) int32 { /* sqlite3.c:57035:20: */ +func Xsqlite3PagerReadFileheader(tls *libc.TLS, pPager uintptr, N int32, pDest uintptr) int32 { /* sqlite3.c:57045:20: */ var rc int32 = SQLITE_OK libc.Xmemset(tls, pDest, 0, uint64(N)) @@ -35087,7 +35097,7 @@ func Xsqlite3PagerReadFileheader(tls *libc.TLS, pPager uintptr, N int32, pDest u // // However, if the file is between 1 and bytes in size, then // this is considered a 1 page file. -func Xsqlite3PagerPagecount(tls *libc.TLS, pPager uintptr, pnPage uintptr) { /* sqlite3.c:57063:21: */ +func Xsqlite3PagerPagecount(tls *libc.TLS, pPager uintptr, pnPage uintptr) { /* sqlite3.c:57073:21: */ *(*int32)(unsafe.Pointer(pnPage)) = int32((*Pager)(unsafe.Pointer(pPager)).FdbSize) } @@ -35104,7 +35114,7 @@ func Xsqlite3PagerPagecount(tls *libc.TLS, pPager uintptr, pnPage uintptr) { /* // Return SQLITE_OK on success and an error code if we cannot obtain // the lock. If the lock is obtained successfully, set the Pager.state // variable to locktype before returning. -func pager_wait_on_lock(tls *libc.TLS, pPager uintptr, locktype int32) int32 { /* sqlite3.c:57084:12: */ +func pager_wait_on_lock(tls *libc.TLS, pPager uintptr, locktype int32) int32 { /* sqlite3.c:57094:12: */ var rc int32 // Return code // Check that this is either a no-op (because the requested lock is @@ -35149,7 +35159,7 @@ func pager_wait_on_lock(tls *libc.TLS, pPager uintptr, locktype int32) int32 { / // Once this function has been called, the transaction must either be // rolled back or committed. It is not safe to call this function and // then continue writing to the database. -func Xsqlite3PagerTruncateImage(tls *libc.TLS, pPager uintptr, nPage Pgno) { /* sqlite3.c:57155:21: */ +func Xsqlite3PagerTruncateImage(tls *libc.TLS, pPager uintptr, nPage Pgno) { /* sqlite3.c:57165:21: */ (*Pager)(unsafe.Pointer(pPager)).FdbSize = nPage @@ -35176,7 +35186,7 @@ func Xsqlite3PagerTruncateImage(tls *libc.TLS, pPager uintptr, nPage Pgno) { /* // // If everything goes as planned, SQLITE_OK is returned. Otherwise, // an SQLite error code. -func pagerSyncHotJournal(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:57186:12: */ +func pagerSyncHotJournal(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:57196:12: */ var rc int32 = SQLITE_OK if !(int32((*Pager)(unsafe.Pointer(pPager)).FnoSync) != 0) { rc = Xsqlite3OsSync(tls, (*Pager)(unsafe.Pointer(pPager)).Fjfd, SQLITE_SYNC_NORMAL) @@ -35195,7 +35205,7 @@ func pagerSyncHotJournal(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:571 // // Page references obtained by calling this function should be released // by calling pagerReleaseMapPage(). -func pagerAcquireMapPage(tls *libc.TLS, pPager uintptr, pgno Pgno, pData uintptr, ppPage uintptr) int32 { /* sqlite3.c:57208:12: */ +func pagerAcquireMapPage(tls *libc.TLS, pPager uintptr, pgno Pgno, pData uintptr, ppPage uintptr) int32 { /* sqlite3.c:57218:12: */ var p uintptr // Memory mapped page to return if (*Pager)(unsafe.Pointer(pPager)).FpMmapFreelist != 0 { @@ -35225,7 +35235,7 @@ func pagerAcquireMapPage(tls *libc.TLS, pPager uintptr, pgno Pgno, pData uintptr // Release a reference to page pPg. pPg must have been returned by an // earlier call to pagerAcquireMapPage(). -func pagerReleaseMapPage(tls *libc.TLS, pPg uintptr) { /* sqlite3.c:57252:13: */ +func pagerReleaseMapPage(tls *libc.TLS, pPg uintptr) { /* sqlite3.c:57262:13: */ var pPager uintptr = (*PgHdr)(unsafe.Pointer(pPg)).FpPager (*Pager)(unsafe.Pointer(pPager)).FnMmapOut-- (*PgHdr)(unsafe.Pointer(pPg)).FpDirty = (*Pager)(unsafe.Pointer(pPager)).FpMmapFreelist @@ -35235,7 +35245,7 @@ func pagerReleaseMapPage(tls *libc.TLS, pPg uintptr) { /* sqlite3.c:57252:13: */ } // Free all PgHdr objects stored in the Pager.pMmapFreelist list. -func pagerFreeMapHdrs(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:57265:13: */ +func pagerFreeMapHdrs(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:57275:13: */ var p uintptr var pNext uintptr for p = (*Pager)(unsafe.Pointer(pPager)).FpMmapFreelist; p != 0; p = pNext { @@ -35248,7 +35258,7 @@ func pagerFreeMapHdrs(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:57265:13: */ // under the pager. Return SQLITE_OK if the database is still where it ought // to be on disk. Return non-zero (SQLITE_READONLY_DBMOVED or some other error // code from sqlite3OsAccess()) if the database has gone missing. -func databaseIsUnmoved(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:57279:12: */ +func databaseIsUnmoved(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:57289:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -35286,7 +35296,7 @@ func databaseIsUnmoved(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:57279 // is made to roll it back. If an error occurs during the rollback // a hot journal may be left in the filesystem but no error is returned // to the caller. -func Xsqlite3PagerClose(tls *libc.TLS, pPager uintptr, db uintptr) int32 { /* sqlite3.c:57313:20: */ +func Xsqlite3PagerClose(tls *libc.TLS, pPager uintptr, db uintptr) int32 { /* sqlite3.c:57323:20: */ var pTmp uintptr = (*Pager)(unsafe.Pointer(pPager)).FpTmpSpace Xsqlite3BeginBenignMalloc(tls) @@ -35335,7 +35345,7 @@ func Xsqlite3PagerClose(tls *libc.TLS, pPager uintptr, db uintptr) int32 { /* sq } // Increment the reference count for page pPg. -func Xsqlite3PagerRef(tls *libc.TLS, pPg uintptr) { /* sqlite3.c:57382:21: */ +func Xsqlite3PagerRef(tls *libc.TLS, pPg uintptr) { /* sqlite3.c:57392:21: */ Xsqlite3PcacheRef(tls, pPg) } @@ -35372,7 +35382,7 @@ func Xsqlite3PagerRef(tls *libc.TLS, pPg uintptr) { /* sqlite3.c:57382:21: */ // If successful, this routine clears the PGHDR_NEED_SYNC flag of every // page currently held in memory before returning SQLITE_OK. If an IO // error is encountered, then the IO error code is returned to the caller. -func syncJournal(tls *libc.TLS, pPager uintptr, newHdr int32) int32 { /* sqlite3.c:57421:12: */ +func syncJournal(tls *libc.TLS, pPager uintptr, newHdr int32) int32 { /* sqlite3.c:57431:12: */ bp := tls.Alloc(20) defer tls.Free(20) @@ -35486,7 +35496,7 @@ func syncJournal(tls *libc.TLS, pPager uintptr, newHdr int32) int32 { /* sqlite3 return SQLITE_OK } -var zerobyte U8 = U8(0) /* sqlite3.c:57472:27 */ +var zerobyte U8 = U8(0) /* sqlite3.c:57482:27 */ // The argument is the first in a linked list of dirty pages connected // by the PgHdr.pDirty pointer. This function writes each one of the @@ -35518,7 +35528,7 @@ var zerobyte U8 = U8(0) /* sqlite3.c:57472:27 */ // If everything is successful, SQLITE_OK is returned. If an IO error // occurs, an IO error code is returned. Or, if the EXCLUSIVE lock cannot // be obtained, SQLITE_BUSY is returned. -func pager_write_pagelist(tls *libc.TLS, pPager uintptr, pList uintptr) int32 { /* sqlite3.c:57564:12: */ +func pager_write_pagelist(tls *libc.TLS, pPager uintptr, pList uintptr) int32 { /* sqlite3.c:57574:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -35598,7 +35608,7 @@ func pager_write_pagelist(tls *libc.TLS, pPager uintptr, pList uintptr) int32 { // SQLITE_OK is returned if everything goes according to plan. An // SQLITE_IOERR_XXX error code is returned if a call to sqlite3OsOpen() // fails. -func openSubJournal(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:57655:12: */ +func openSubJournal(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:57665:12: */ var rc int32 = SQLITE_OK if !((*Sqlite3_file)(unsafe.Pointer((*Pager)(unsafe.Pointer(pPager)).Fsjfd)).FpMethods != uintptr(0)) { var flags int32 = SQLITE_OPEN_SUBJOURNAL | SQLITE_OPEN_READWRITE | @@ -35622,7 +35632,7 @@ func openSubJournal(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:57655:12 // error code if the attempt to write to the sub-journal fails, or // SQLITE_NOMEM if a malloc fails while setting a bit in a savepoint // bitvec. -func subjournalPage(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:57681:12: */ +func subjournalPage(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:57691:12: */ var rc int32 = SQLITE_OK var pPager uintptr = (*PgHdr)(unsafe.Pointer(pPg)).FpPager if int32((*Pager)(unsafe.Pointer(pPager)).FjournalMode) != PAGER_JOURNALMODE_OFF { @@ -35653,7 +35663,7 @@ func subjournalPage(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:57681:12: * return rc } -func subjournalPageIfRequired(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:57717:12: */ +func subjournalPageIfRequired(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:57727:12: */ if subjRequiresPage(tls, pPg) != 0 { return subjournalPage(tls, pPg) } else { @@ -35679,7 +35689,7 @@ func subjournalPageIfRequired(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:5 // page clean, the IO error code is returned. If the page cannot be // made clean for some other reason, but no error occurs, then SQLITE_OK // is returned by sqlite3PcacheMakeClean() is not called. -func pagerStress(tls *libc.TLS, p uintptr, pPg uintptr) int32 { /* sqlite3.c:57744:12: */ +func pagerStress(tls *libc.TLS, p uintptr, pPg uintptr) int32 { /* sqlite3.c:57754:12: */ var pPager uintptr = p var rc int32 = SQLITE_OK @@ -35741,7 +35751,7 @@ func pagerStress(tls *libc.TLS, p uintptr, pPg uintptr) int32 { /* sqlite3.c:577 } // Flush all unreferenced dirty pages to disk. -func Xsqlite3PagerFlush(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:57821:20: */ +func Xsqlite3PagerFlush(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:57831:20: */ var rc int32 = (*Pager)(unsafe.Pointer(pPager)).FerrCode if !(int32((*Pager)(unsafe.Pointer(pPager)).FmemDb) != 0) { var pList uintptr = Xsqlite3PcacheDirtyList(tls, (*Pager)(unsafe.Pointer(pPager)).FpPCache) @@ -35788,7 +35798,7 @@ func Xsqlite3PagerFlush(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:5782 // and error code returned. This function may return SQLITE_NOMEM // (sqlite3Malloc() is used to allocate memory), SQLITE_CANTOPEN or // various SQLITE_IO_XXX errors. -func Xsqlite3PagerOpen(tls *libc.TLS, pVfs uintptr, ppPager uintptr, zFilename uintptr, nExtra int32, flags int32, vfsFlags int32, xReinit uintptr) int32 { /* sqlite3.c:57870:20: */ +func Xsqlite3PagerOpen(tls *libc.TLS, pVfs uintptr, ppPager uintptr, zFilename uintptr, nExtra int32, flags int32, vfsFlags int32, xReinit uintptr) int32 { /* sqlite3.c:57880:20: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -35914,7 +35924,7 @@ __11: // bytes in length. This means the database cannot be opened, // as it will not be possible to open the journal file or even // check for a hot-journal before reading. - rc = Xsqlite3CantopenError(tls, 57957) + rc = Xsqlite3CantopenError(tls, 57967) __12: ; if !(rc != SQLITE_OK) { @@ -36233,7 +36243,7 @@ __37: // Return the sqlite3_file for the main database given the name // of the corresonding WAL or Journal name as passed into // xOpen. -func Xsqlite3_database_file_object(tls *libc.TLS, zName uintptr) uintptr { /* sqlite3.c:58242:25: */ +func Xsqlite3_database_file_object(tls *libc.TLS, zName uintptr) uintptr { /* sqlite3.c:58252:25: */ var pPager uintptr for int32(*(*uint8)(unsafe.Pointer(zName + libc.UintptrFromInt32(-1)))) != 0 || int32(*(*uint8)(unsafe.Pointer(zName + libc.UintptrFromInt32(-2)))) != 0 || int32(*(*uint8)(unsafe.Pointer(zName + libc.UintptrFromInt32(-3)))) != 0 || int32(*(*uint8)(unsafe.Pointer(zName + libc.UintptrFromInt32(-4)))) != 0 { zName-- @@ -36271,7 +36281,7 @@ func Xsqlite3_database_file_object(tls *libc.TLS, zName uintptr) uintptr { /* sq // set to 0 and SQLITE_OK returned. If an IO error occurs while trying // to determine whether or not a hot-journal file exists, the IO error // code is returned and the value of *pExists is undefined. -func hasHotJournal(tls *libc.TLS, pPager uintptr, pExists uintptr) int32 { /* sqlite3.c:58283:12: */ +func hasHotJournal(tls *libc.TLS, pPager uintptr, pExists uintptr) int32 { /* sqlite3.c:58293:12: */ bp := tls.Alloc(17) defer tls.Free(17) @@ -36382,7 +36392,7 @@ func hasHotJournal(tls *libc.TLS, pPager uintptr, pExists uintptr) int32 { /* sq // If everything is successful, SQLITE_OK is returned. If an IO error // occurs while locking the database, checking for a hot-journal file or // rolling back a journal file, the IO error code is returned. -func Xsqlite3PagerSharedLock(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:58403:20: */ +func Xsqlite3PagerSharedLock(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:58413:20: */ bp := tls.Alloc(28) defer tls.Free(28) @@ -36508,7 +36518,7 @@ __7: if !(rc == SQLITE_OK && *(*int32)(unsafe.Pointer(bp + 8))&SQLITE_OPEN_READONLY != 0) { goto __10 } - rc = Xsqlite3CantopenError(tls, 58487) + rc = Xsqlite3CantopenError(tls, 58497) Xsqlite3OsClose(tls, (*Pager)(unsafe.Pointer(pPager)).Fjfd) __10: ; @@ -36657,7 +36667,7 @@ __24: // Except, in locking_mode=EXCLUSIVE when there is nothing to in // the rollback journal, the unlock is not performed and there is // nothing to rollback, so this routine is a no-op. -func pagerUnlockIfUnused(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:58620:13: */ +func pagerUnlockIfUnused(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:58630:13: */ if Xsqlite3PcacheRefCount(tls, (*Pager)(unsafe.Pointer(pPager)).FpPCache) == 0 { // because page1 is never memory mapped pagerUnlockAndRollback(tls, pPager) @@ -36719,7 +36729,7 @@ func pagerUnlockIfUnused(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:58620:13: // has to go to disk, and could also playback an old journal if necessary. // Since Lookup() never goes to disk, it never has to deal with locks // or journal files. -func getPageNormal(tls *libc.TLS, pPager uintptr, pgno Pgno, ppPage uintptr, flags int32) int32 { /* sqlite3.c:58684:12: */ +func getPageNormal(tls *libc.TLS, pPager uintptr, pgno Pgno, ppPage uintptr, flags int32) int32 { /* sqlite3.c:58694:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -36732,7 +36742,7 @@ func getPageNormal(tls *libc.TLS, pPager uintptr, pgno Pgno, ppPage uintptr, fla if !(pgno == Pgno(0)) { goto __1 } - return Xsqlite3CorruptError(tls, 58700) + return Xsqlite3CorruptError(tls, 58710) __1: ; *(*uintptr)(unsafe.Pointer(bp /* pBase */)) = Xsqlite3PcacheFetch(tls, (*Pager)(unsafe.Pointer(pPager)).FpPCache, pgno, 3) @@ -36778,7 +36788,7 @@ __5: if !(pgno == Pgno(I64(Xsqlite3PendingByte)/(*Pager)(unsafe.Pointer(pPager)).FpageSize+int64(1))) { goto __7 } - rc = Xsqlite3CorruptError(tls, 58732) + rc = Xsqlite3CorruptError(tls, 58742) goto pager_acquire_err __7: ; @@ -36850,7 +36860,7 @@ __14: } // The page getter for when memory-mapped I/O is enabled -func getPageMMap(tls *libc.TLS, pPager uintptr, pgno Pgno, ppPage uintptr, flags int32) int32 { /* sqlite3.c:58786:12: */ +func getPageMMap(tls *libc.TLS, pPager uintptr, pgno Pgno, ppPage uintptr, flags int32) int32 { /* sqlite3.c:58796:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -36870,7 +36880,7 @@ func getPageMMap(tls *libc.TLS, pPager uintptr, pgno Pgno, ppPage uintptr, flags // test in the previous statement, and avoid testing pgno==0 in the // common case where pgno is large. if pgno <= Pgno(1) && pgno == Pgno(0) { - return Xsqlite3CorruptError(tls, 58811) + return Xsqlite3CorruptError(tls, 58821) } if bMmapOk != 0 && (*Pager)(unsafe.Pointer(pPager)).FpWal != uintptr(0) { @@ -36908,7 +36918,7 @@ func getPageMMap(tls *libc.TLS, pPager uintptr, pgno Pgno, ppPage uintptr, flags } // The page getter method for when the pager is an error state -func getPageError(tls *libc.TLS, pPager uintptr, pgno Pgno, ppPage uintptr, flags int32) int32 { /* sqlite3.c:58855:12: */ +func getPageError(tls *libc.TLS, pPager uintptr, pgno Pgno, ppPage uintptr, flags int32) int32 { /* sqlite3.c:58865:12: */ _ = pgno _ = flags @@ -36917,7 +36927,7 @@ func getPageError(tls *libc.TLS, pPager uintptr, pgno Pgno, ppPage uintptr, flag } // Dispatch all page fetch requests to the appropriate getter method. -func Xsqlite3PagerGet(tls *libc.TLS, pPager uintptr, pgno Pgno, ppPage uintptr, flags int32) int32 { /* sqlite3.c:58871:20: */ +func Xsqlite3PagerGet(tls *libc.TLS, pPager uintptr, pgno Pgno, ppPage uintptr, flags int32) int32 { /* sqlite3.c:58881:20: */ // printf("PAGE %u\n", pgno); fflush(stdout); return (*struct { f func(*libc.TLS, uintptr, Pgno, uintptr, int32) int32 @@ -36933,7 +36943,7 @@ func Xsqlite3PagerGet(tls *libc.TLS, pPager uintptr, pgno Pgno, ppPage uintptr, // in the page if the page is not already in cache. This routine // returns NULL if the page is not in cache or if a disk I/O error // has ever happened. -func Xsqlite3PagerLookup(tls *libc.TLS, pPager uintptr, pgno Pgno) uintptr { /* sqlite3.c:58892:23: */ +func Xsqlite3PagerLookup(tls *libc.TLS, pPager uintptr, pgno Pgno) uintptr { /* sqlite3.c:58902:23: */ var pPage uintptr pPage = Xsqlite3PcacheFetch(tls, (*Pager)(unsafe.Pointer(pPager)).FpPCache, pgno, 0) @@ -36954,7 +36964,7 @@ func Xsqlite3PagerLookup(tls *libc.TLS, pPager uintptr, pgno Pgno) uintptr { /* // Use sqlite3PagerUnrefPageOne() to release page1. This latter routine // checks the total number of outstanding pages and if the number of // pages reaches zero it drops the database lock. -func Xsqlite3PagerUnrefNotNull(tls *libc.TLS, pPg uintptr) { /* sqlite3.c:58915:21: */ +func Xsqlite3PagerUnrefNotNull(tls *libc.TLS, pPg uintptr) { /* sqlite3.c:58925:21: */ if int32((*DbPage)(unsafe.Pointer(pPg)).Fflags)&PGHDR_MMAP != 0 { // Page1 is never memory mapped @@ -36966,13 +36976,13 @@ func Xsqlite3PagerUnrefNotNull(tls *libc.TLS, pPg uintptr) { /* sqlite3.c:58915: } -func Xsqlite3PagerUnref(tls *libc.TLS, pPg uintptr) { /* sqlite3.c:58927:21: */ +func Xsqlite3PagerUnref(tls *libc.TLS, pPg uintptr) { /* sqlite3.c:58937:21: */ if pPg != 0 { Xsqlite3PagerUnrefNotNull(tls, pPg) } } -func Xsqlite3PagerUnrefPageOne(tls *libc.TLS, pPg uintptr) { /* sqlite3.c:58930:21: */ +func Xsqlite3PagerUnrefPageOne(tls *libc.TLS, pPg uintptr) { /* sqlite3.c:58940:21: */ var pPager uintptr // Page1 is never memory mapped @@ -37001,7 +37011,7 @@ func Xsqlite3PagerUnrefPageOne(tls *libc.TLS, pPg uintptr) { /* sqlite3.c:58930: // Return SQLITE_OK if everything is successful. Otherwise, return // SQLITE_NOMEM if the attempt to allocate Pager.pInJournal fails, or // an IO error code if opening or writing the journal file fails. -func pager_open_journal(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:58962:12: */ +func pager_open_journal(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:58972:12: */ var rc int32 = SQLITE_OK // Return code var pVfs uintptr = (*Pager)(unsafe.Pointer(pPager)).FpVfs // Local cache of vfs pointer @@ -37083,7 +37093,7 @@ func pager_open_journal(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:5896 // sub-journal. If the subjInMemory argument is zero, then any required // sub-journal is implemented in-memory if pPager is an in-memory database, // or using a temporary file otherwise. -func Xsqlite3PagerBegin(tls *libc.TLS, pPager uintptr, exFlag int32, subjInMemory int32) int32 { /* sqlite3.c:59051:20: */ +func Xsqlite3PagerBegin(tls *libc.TLS, pPager uintptr, exFlag int32, subjInMemory int32) int32 { /* sqlite3.c:59061:20: */ var rc int32 = SQLITE_OK if (*Pager)(unsafe.Pointer(pPager)).FerrCode != 0 { @@ -37143,7 +37153,7 @@ func Xsqlite3PagerBegin(tls *libc.TLS, pPager uintptr, exFlag int32, subjInMemor } // Write page pPg onto the end of the rollback journal. -func pagerAddPageToRollbackJournal(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:59120:28: */ +func pagerAddPageToRollbackJournal(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:59130:28: */ var pPager uintptr = (*PgHdr)(unsafe.Pointer(pPg)).FpPager var rc int32 var cksum U32 @@ -37193,7 +37203,7 @@ func pagerAddPageToRollbackJournal(tls *libc.TLS, pPg uintptr) int32 { /* sqlite // one of the journals, the corresponding bit is set in the // Pager.pInJournal bitvec and the PagerSavepoint.pInSavepoint bitvecs // of any open savepoints as appropriate. -func pager_write(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:59177:12: */ +func pager_write(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:59187:12: */ var pPager uintptr = (*PgHdr)(unsafe.Pointer(pPg)).FpPager var rc int32 = SQLITE_OK @@ -37267,7 +37277,7 @@ func pager_write(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:59177:12: */ // Usually, the sector size is less than or equal to the page size, in which // case pages can be individually written. This routine only runs in the // exceptional case where the page size is smaller than the sector size. -func pagerWriteLargeSector(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:59269:28: */ +func pagerWriteLargeSector(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:59279:28: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -37355,7 +37365,7 @@ func pagerWriteLargeSector(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:5926 // // If an error occurs, SQLITE_NOMEM or an IO error code is returned // as appropriate. Otherwise, SQLITE_OK. -func Xsqlite3PagerWrite(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:59363:20: */ +func Xsqlite3PagerWrite(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:59373:20: */ var pPager uintptr = (*PgHdr)(unsafe.Pointer(pPg)).FpPager if int32((*PgHdr)(unsafe.Pointer(pPg)).Fflags)&PGHDR_WRITEABLE != 0 && (*Pager)(unsafe.Pointer(pPager)).FdbSize >= (*PgHdr)(unsafe.Pointer(pPg)).Fpgno { @@ -37396,7 +37406,7 @@ func Xsqlite3PagerWrite(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:59363:2 // memory pressure forces page pPg out of the cache, the data does need // to be written out to disk so that it may be read back in if the // current transaction is rolled back. -func Xsqlite3PagerDontWrite(tls *libc.TLS, pPg uintptr) { /* sqlite3.c:59412:21: */ +func Xsqlite3PagerDontWrite(tls *libc.TLS, pPg uintptr) { /* sqlite3.c:59422:21: */ var pPager uintptr = (*PgHdr)(unsafe.Pointer(pPg)).FpPager if !(int32((*Pager)(unsafe.Pointer(pPager)).FtempFile) != 0) && int32((*PgHdr)(unsafe.Pointer(pPg)).Fflags)&PGHDR_DIRTY != 0 && (*Pager)(unsafe.Pointer(pPager)).FnSavepoint == 0 { @@ -37426,7 +37436,7 @@ func Xsqlite3PagerDontWrite(tls *libc.TLS, pPg uintptr) { /* sqlite3.c:59412:21: // if isDirect is non-zero, then the database file is updated directly // by writing an updated version of page 1 using a call to the // sqlite3OsWrite() function. -func pager_incr_changecounter(tls *libc.TLS, pPager uintptr, isDirectMode int32) int32 { /* sqlite3.c:59446:12: */ +func pager_incr_changecounter(tls *libc.TLS, pPager uintptr, isDirectMode int32) int32 { /* sqlite3.c:59456:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -37496,7 +37506,7 @@ func pager_incr_changecounter(tls *libc.TLS, pPager uintptr, isDirectMode int32) // // If successful, or if called on a pager for which it is a no-op, this // function returns SQLITE_OK. Otherwise, an IO error code is returned. -func Xsqlite3PagerSync(tls *libc.TLS, pPager uintptr, zSuper uintptr) int32 { /* sqlite3.c:59529:20: */ +func Xsqlite3PagerSync(tls *libc.TLS, pPager uintptr, zSuper uintptr) int32 { /* sqlite3.c:59539:20: */ var rc int32 = SQLITE_OK var pArg uintptr = zSuper rc = Xsqlite3OsFileControl(tls, (*Pager)(unsafe.Pointer(pPager)).Ffd, SQLITE_FCNTL_SYNC, pArg) @@ -37519,7 +37529,7 @@ func Xsqlite3PagerSync(tls *libc.TLS, pPager uintptr, zSuper uintptr) int32 { /* // successful, or the connection is in WAL mode, SQLITE_OK is returned. // Otherwise, either SQLITE_BUSY or an SQLITE_IOERR_XXX error code is // returned. -func Xsqlite3PagerExclusiveLock(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:59552:20: */ +func Xsqlite3PagerExclusiveLock(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:59562:20: */ var rc int32 = (*Pager)(unsafe.Pointer(pPager)).FerrCode if rc == SQLITE_OK { @@ -37555,7 +37565,7 @@ func Xsqlite3PagerExclusiveLock(tls *libc.TLS, pPager uintptr) int32 { /* sqlite // is not synced. The caller must call sqlite3PagerSync() directly to // sync the database file before calling CommitPhaseTwo() to delete the // journal file in this case. -func Xsqlite3PagerCommitPhaseOne(tls *libc.TLS, pPager uintptr, zSuper uintptr, noSync int32) int32 { /* sqlite3.c:59594:20: */ +func Xsqlite3PagerCommitPhaseOne(tls *libc.TLS, pPager uintptr, zSuper uintptr, noSync int32) int32 { /* sqlite3.c:59604:20: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -37745,7 +37755,7 @@ __19: // // If an error occurs, an IO error code is returned and the pager // moves into the error state. Otherwise, SQLITE_OK is returned. -func Xsqlite3PagerCommitPhaseTwo(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:59824:20: */ +func Xsqlite3PagerCommitPhaseTwo(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:59834:20: */ var rc int32 = SQLITE_OK // Return code // This routine should not be called if a prior error has occurred. @@ -37802,7 +37812,7 @@ func Xsqlite3PagerCommitPhaseTwo(tls *libc.TLS, pPager uintptr) int32 { /* sqlit // current transaction are either expelled from the cache or reverted to // their pre-transaction state by re-reading data from the database or // WAL files. The WAL transaction is then closed. -func Xsqlite3PagerRollback(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:59890:20: */ +func Xsqlite3PagerRollback(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:59900:20: */ var rc int32 = SQLITE_OK // Return code // PagerRollback() is a no-op if called in READER or OPEN state. If @@ -37846,13 +37856,13 @@ func Xsqlite3PagerRollback(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:5 // Return TRUE if the database file is opened read-only. Return FALSE // if the database is (in theory) writable. -func Xsqlite3PagerIsreadonly(tls *libc.TLS, pPager uintptr) U8 { /* sqlite3.c:59940:19: */ +func Xsqlite3PagerIsreadonly(tls *libc.TLS, pPager uintptr) U8 { /* sqlite3.c:59950:19: */ return (*Pager)(unsafe.Pointer(pPager)).FreadOnly } // Return the approximate number of bytes of memory currently // used by the pager and its associated cache. -func Xsqlite3PagerMemUsed(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:59957:20: */ +func Xsqlite3PagerMemUsed(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:59967:20: */ var perPageSize int32 = int32((*Pager)(unsafe.Pointer(pPager)).FpageSize + I64((*Pager)(unsafe.Pointer(pPager)).FnExtra) + I64(int32(uint64(unsafe.Sizeof(PgHdr{}))+uint64(5)*uint64(unsafe.Sizeof(uintptr(0)))))) return int32(I64(perPageSize*Xsqlite3PcachePagecount(tls, (*Pager)(unsafe.Pointer(pPager)).FpPCache)+ @@ -37861,7 +37871,7 @@ func Xsqlite3PagerMemUsed(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:59 } // Return the number of references to the specified page. -func Xsqlite3PagerPageRefcount(tls *libc.TLS, pPage uintptr) int32 { /* sqlite3.c:59968:20: */ +func Xsqlite3PagerPageRefcount(tls *libc.TLS, pPage uintptr) int32 { /* sqlite3.c:59978:20: */ return Xsqlite3PcachePageRefcount(tls, pPage) } @@ -37874,7 +37884,7 @@ func Xsqlite3PagerPageRefcount(tls *libc.TLS, pPage uintptr) int32 { /* sqlite3. // current cache hit or miss count, according to the value of eStat. If the // reset parameter is non-zero, the cache hit or miss count is zeroed before // returning. -func Xsqlite3PagerCacheStat(tls *libc.TLS, pPager uintptr, eStat int32, reset int32, pnVal uintptr) { /* sqlite3.c:60004:21: */ +func Xsqlite3PagerCacheStat(tls *libc.TLS, pPager uintptr, eStat int32, reset int32, pnVal uintptr) { /* sqlite3.c:60014:21: */ eStat = eStat - SQLITE_DBSTATUS_CACHE_HIT *(*int32)(unsafe.Pointer(pnVal)) += *(*int32)(unsafe.Pointer(pPager + 240 + uintptr(eStat)*4)) @@ -37884,7 +37894,7 @@ func Xsqlite3PagerCacheStat(tls *libc.TLS, pPager uintptr, eStat int32, reset in } // Return true if this is an in-memory or temp-file backed pager. -func Xsqlite3PagerIsMemdb(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:60027:20: */ +func Xsqlite3PagerIsMemdb(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:60037:20: */ return libc.Bool32((*Pager)(unsafe.Pointer(pPager)).FtempFile != 0 || (*Pager)(unsafe.Pointer(pPager)).FmemVfs != 0) } @@ -37896,7 +37906,7 @@ func Xsqlite3PagerIsMemdb(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:60 // If a memory allocation fails, SQLITE_NOMEM is returned. If an error // occurs while opening the sub-journal file, then an IO error code is // returned. Otherwise, SQLITE_OK. -func pagerOpenSavepoint(tls *libc.TLS, pPager uintptr, nSavepoint int32) int32 { /* sqlite3.c:60041:28: */ +func pagerOpenSavepoint(tls *libc.TLS, pPager uintptr, nSavepoint int32) int32 { /* sqlite3.c:60051:28: */ var rc int32 = SQLITE_OK // Return code var nCurrent int32 = (*Pager)(unsafe.Pointer(pPager)).FnSavepoint // Current number of savepoints var ii int32 // Iterator variable @@ -37936,7 +37946,7 @@ func pagerOpenSavepoint(tls *libc.TLS, pPager uintptr, nSavepoint int32) int32 { return rc } -func Xsqlite3PagerOpenSavepoint(tls *libc.TLS, pPager uintptr, nSavepoint int32) int32 { /* sqlite3.c:60087:20: */ +func Xsqlite3PagerOpenSavepoint(tls *libc.TLS, pPager uintptr, nSavepoint int32) int32 { /* sqlite3.c:60097:20: */ if nSavepoint > (*Pager)(unsafe.Pointer(pPager)).FnSavepoint && (*Pager)(unsafe.Pointer(pPager)).FuseJournal != 0 { return pagerOpenSavepoint(tls, pPager, nSavepoint) @@ -37974,7 +37984,7 @@ func Xsqlite3PagerOpenSavepoint(tls *libc.TLS, pPager uintptr, nSavepoint int32) // This function may return SQLITE_NOMEM if a memory allocation fails, // or an IO error code if an IO error occurs while rolling back a // savepoint. If no errors occur, SQLITE_OK is returned. -func Xsqlite3PagerSavepoint(tls *libc.TLS, pPager uintptr, op int32, iSavepoint int32) int32 { /* sqlite3.c:60129:20: */ +func Xsqlite3PagerSavepoint(tls *libc.TLS, pPager uintptr, op int32, iSavepoint int32) int32 { /* sqlite3.c:60139:20: */ var rc int32 = (*Pager)(unsafe.Pointer(pPager)).FerrCode if rc == SQLITE_OK && iSavepoint < (*Pager)(unsafe.Pointer(pPager)).FnSavepoint { @@ -38035,30 +38045,30 @@ func Xsqlite3PagerSavepoint(tls *libc.TLS, pPager uintptr, op int32, iSavepoint // // The return value to this routine is always safe to use with // sqlite3_uri_parameter() and sqlite3_filename_database() and friends. -func Xsqlite3PagerFilename(tls *libc.TLS, pPager uintptr, nullIfMemDb int32) uintptr { /* sqlite3.c:60210:27: */ +func Xsqlite3PagerFilename(tls *libc.TLS, pPager uintptr, nullIfMemDb int32) uintptr { /* sqlite3.c:60220:27: */ if nullIfMemDb != 0 && (*Pager)(unsafe.Pointer(pPager)).FmemDb != 0 { return uintptr(unsafe.Pointer(&zFake)) + 4 } return (*Pager)(unsafe.Pointer(pPager)).FzFilename } -var zFake = [8]uint8{uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0)} /* sqlite3.c:60211:21 */ +var zFake = [8]uint8{uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0)} /* sqlite3.c:60221:21 */ // Return the VFS structure for the pager. -func Xsqlite3PagerVfs(tls *libc.TLS, pPager uintptr) uintptr { /* sqlite3.c:60218:28: */ +func Xsqlite3PagerVfs(tls *libc.TLS, pPager uintptr) uintptr { /* sqlite3.c:60228:28: */ return (*Pager)(unsafe.Pointer(pPager)).FpVfs } // Return the file handle for the database file associated // with the pager. This might return NULL if the file has // not yet been opened. -func Xsqlite3PagerFile(tls *libc.TLS, pPager uintptr) uintptr { /* sqlite3.c:60227:29: */ +func Xsqlite3PagerFile(tls *libc.TLS, pPager uintptr) uintptr { /* sqlite3.c:60237:29: */ return (*Pager)(unsafe.Pointer(pPager)).Ffd } // Return the file handle for the journal file (if it exists). // This will be either the rollback journal or the WAL file. -func Xsqlite3PagerJrnlFile(tls *libc.TLS, pPager uintptr) uintptr { /* sqlite3.c:60235:29: */ +func Xsqlite3PagerJrnlFile(tls *libc.TLS, pPager uintptr) uintptr { /* sqlite3.c:60245:29: */ if (*Pager)(unsafe.Pointer(pPager)).FpWal != 0 { return Xsqlite3WalFile(tls, (*Pager)(unsafe.Pointer(pPager)).FpWal) } @@ -38066,7 +38076,7 @@ func Xsqlite3PagerJrnlFile(tls *libc.TLS, pPager uintptr) uintptr { /* sqlite3.c } // Return the full pathname of the journal file. -func Xsqlite3PagerJournalname(tls *libc.TLS, pPager uintptr) uintptr { /* sqlite3.c:60246:27: */ +func Xsqlite3PagerJournalname(tls *libc.TLS, pPager uintptr) uintptr { /* sqlite3.c:60256:27: */ return (*Pager)(unsafe.Pointer(pPager)).FzJournal } @@ -38093,7 +38103,7 @@ func Xsqlite3PagerJournalname(tls *libc.TLS, pPager uintptr) uintptr { /* sqlite // // This function may return SQLITE_NOMEM or an IO error code if an error // occurs. Otherwise, it returns SQLITE_OK. -func Xsqlite3PagerMovepage(tls *libc.TLS, pPager uintptr, pPg uintptr, pgno Pgno, isCommit int32) int32 { /* sqlite3.c:60276:20: */ +func Xsqlite3PagerMovepage(tls *libc.TLS, pPager uintptr, pPg uintptr, pgno Pgno, isCommit int32) int32 { /* sqlite3.c:60286:20: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -38155,7 +38165,7 @@ func Xsqlite3PagerMovepage(tls *libc.TLS, pPager uintptr, pPg uintptr, pgno Pgno if pPgOld != 0 { if int32((*PgHdr)(unsafe.Pointer(pPgOld)).FnRef) > 1 { Xsqlite3PagerUnrefNotNull(tls, pPgOld) - return Xsqlite3CorruptError(tls, 60350) + return Xsqlite3CorruptError(tls, 60360) } *(*U16)(unsafe.Pointer(pPg + 52)) |= U16(int32((*PgHdr)(unsafe.Pointer(pPgOld)).Fflags) & PGHDR_NEED_SYNC) if (*Pager)(unsafe.Pointer(pPager)).FtempFile != 0 { @@ -38215,21 +38225,21 @@ func Xsqlite3PagerMovepage(tls *libc.TLS, pPager uintptr, pPg uintptr, pgno Pgno // with a page number other than iNew. This function changes the page's // page number to iNew and sets the value of the PgHdr.flags field to // the value passed as the third parameter. -func Xsqlite3PagerRekey(tls *libc.TLS, pPg uintptr, iNew Pgno, flags U16) { /* sqlite3.c:60414:21: */ +func Xsqlite3PagerRekey(tls *libc.TLS, pPg uintptr, iNew Pgno, flags U16) { /* sqlite3.c:60424:21: */ (*DbPage)(unsafe.Pointer(pPg)).Fflags = flags Xsqlite3PcacheMove(tls, pPg, iNew) } // Return a pointer to the data for the specified page. -func Xsqlite3PagerGetData(tls *libc.TLS, pPg uintptr) uintptr { /* sqlite3.c:60423:21: */ +func Xsqlite3PagerGetData(tls *libc.TLS, pPg uintptr) uintptr { /* sqlite3.c:60433:21: */ return (*DbPage)(unsafe.Pointer(pPg)).FpData } // Return a pointer to the Pager.nExtra bytes of "extra" space // allocated along with the specified page. -func Xsqlite3PagerGetExtra(tls *libc.TLS, pPg uintptr) uintptr { /* sqlite3.c:60432:21: */ +func Xsqlite3PagerGetExtra(tls *libc.TLS, pPg uintptr) uintptr { /* sqlite3.c:60442:21: */ return (*DbPage)(unsafe.Pointer(pPg)).FpExtra } @@ -38241,7 +38251,7 @@ func Xsqlite3PagerGetExtra(tls *libc.TLS, pPg uintptr) uintptr { /* sqlite3.c:60 // The returned value is either PAGER_LOCKINGMODE_NORMAL or // PAGER_LOCKINGMODE_EXCLUSIVE, indicating the current (possibly updated) // locking-mode. -func Xsqlite3PagerLockingMode(tls *libc.TLS, pPager uintptr, eMode int32) int32 { /* sqlite3.c:60446:20: */ +func Xsqlite3PagerLockingMode(tls *libc.TLS, pPager uintptr, eMode int32) int32 { /* sqlite3.c:60456:20: */ if eMode >= 0 && !(int32((*Pager)(unsafe.Pointer(pPager)).FtempFile) != 0) && !(Xsqlite3WalHeapMemory(tls, (*Pager)(unsafe.Pointer(pPager)).FpWal) != 0) { (*Pager)(unsafe.Pointer(pPager)).FexclusiveMode = U8(eMode) @@ -38267,7 +38277,7 @@ func Xsqlite3PagerLockingMode(tls *libc.TLS, pPager uintptr, eMode int32) int32 // * Temporary databases cannot have _WAL journalmode. // // The returned indicate the current (possibly updated) journal-mode. -func Xsqlite3PagerSetJournalMode(tls *libc.TLS, pPager uintptr, eMode int32) int32 { /* sqlite3.c:60479:20: */ +func Xsqlite3PagerSetJournalMode(tls *libc.TLS, pPager uintptr, eMode int32) int32 { /* sqlite3.c:60489:20: */ var eOld U8 = (*Pager)(unsafe.Pointer(pPager)).FjournalMode // Prior journalmode // The eMode parameter is always valid @@ -38337,14 +38347,14 @@ func Xsqlite3PagerSetJournalMode(tls *libc.TLS, pPager uintptr, eMode int32) int } // Return the current journal mode. -func Xsqlite3PagerGetJournalMode(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:60569:20: */ +func Xsqlite3PagerGetJournalMode(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:60579:20: */ return int32((*Pager)(unsafe.Pointer(pPager)).FjournalMode) } // Return TRUE if the pager is in a state where it is OK to change the // journalmode. Journalmode changes can only happen when the database // is unmodified. -func Xsqlite3PagerOkToChangeJournalMode(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:60578:20: */ +func Xsqlite3PagerOkToChangeJournalMode(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:60588:20: */ if int32((*Pager)(unsafe.Pointer(pPager)).FeState) >= PAGER_WRITER_CACHEMOD { return 0 @@ -38359,7 +38369,7 @@ func Xsqlite3PagerOkToChangeJournalMode(tls *libc.TLS, pPager uintptr) int32 { / // // Setting the size limit to -1 means no limit is enforced. // An attempt to set a limit smaller than -1 is a no-op. -func Xsqlite3PagerJournalSizeLimit(tls *libc.TLS, pPager uintptr, iLimit I64) I64 { /* sqlite3.c:60591:20: */ +func Xsqlite3PagerJournalSizeLimit(tls *libc.TLS, pPager uintptr, iLimit I64) I64 { /* sqlite3.c:60601:20: */ if iLimit >= int64(-1) { (*Pager)(unsafe.Pointer(pPager)).FjournalSizeLimit = iLimit Xsqlite3WalLimit(tls, (*Pager)(unsafe.Pointer(pPager)).FpWal, iLimit) @@ -38371,12 +38381,12 @@ func Xsqlite3PagerJournalSizeLimit(tls *libc.TLS, pPager uintptr, iLimit I64) I6 // in backup.c maintains the content of this variable. This module // uses it opaquely as an argument to sqlite3BackupRestart() and // sqlite3BackupUpdate() only. -func Xsqlite3PagerBackupPtr(tls *libc.TLS, pPager uintptr) uintptr { /* sqlite3.c:60605:31: */ +func Xsqlite3PagerBackupPtr(tls *libc.TLS, pPager uintptr) uintptr { /* sqlite3.c:60615:31: */ return pPager + 112 } // Unless this is an in-memory or temporary database, clear the pager cache. -func Xsqlite3PagerClearCache(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:60613:21: */ +func Xsqlite3PagerClearCache(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:60623:21: */ if int32((*Pager)(unsafe.Pointer(pPager)).FtempFile) == 0 { pager_reset(tls, pPager) @@ -38388,7 +38398,7 @@ func Xsqlite3PagerClearCache(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:60613 // or wal_blocking_checkpoint() API functions. // // Parameter eMode is one of SQLITE_CHECKPOINT_PASSIVE, FULL or RESTART. -func Xsqlite3PagerCheckpoint(tls *libc.TLS, pPager uintptr, db uintptr, eMode int32, pnLog uintptr, pnCkpt uintptr) int32 { /* sqlite3.c:60628:20: */ +func Xsqlite3PagerCheckpoint(tls *libc.TLS, pPager uintptr, db uintptr, eMode int32, pnLog uintptr, pnCkpt uintptr) int32 { /* sqlite3.c:60638:20: */ var rc int32 = SQLITE_OK if (*Pager)(unsafe.Pointer(pPager)).FpWal == uintptr(0) && int32((*Pager)(unsafe.Pointer(pPager)).FjournalMode) == PAGER_JOURNALMODE_WAL { // This only happens when a database file is zero bytes in size opened and @@ -38416,13 +38426,13 @@ func Xsqlite3PagerCheckpoint(tls *libc.TLS, pPager uintptr, db uintptr, eMode in return rc } -func Xsqlite3PagerWalCallback(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:60659:20: */ +func Xsqlite3PagerWalCallback(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:60669:20: */ return Xsqlite3WalCallback(tls, (*Pager)(unsafe.Pointer(pPager)).FpWal) } // Return true if the underlying VFS for the given pager supports the // primitives necessary for write-ahead logging. -func Xsqlite3PagerWalSupported(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:60667:20: */ +func Xsqlite3PagerWalSupported(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:60677:20: */ var pMethods uintptr = (*Sqlite3_file)(unsafe.Pointer((*Pager)(unsafe.Pointer(pPager)).Ffd)).FpMethods if (*Pager)(unsafe.Pointer(pPager)).FnoLock != 0 { return 0 @@ -38432,7 +38442,7 @@ func Xsqlite3PagerWalSupported(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3 // Attempt to take an exclusive lock on the database file. If a PENDING lock // is obtained instead, immediately release it. -func pagerExclusiveLock(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:60677:12: */ +func pagerExclusiveLock(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:60687:12: */ var rc int32 // Return code rc = pagerLockDb(tls, pPager, EXCLUSIVE_LOCK) @@ -38449,7 +38459,7 @@ func pagerExclusiveLock(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:6067 // exclusive-locking mode when this function is called, take an EXCLUSIVE // lock on the database file and use heap-memory to store the wal-index // in. Otherwise, use the normal shared-memory. -func pagerOpenWal(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:60697:12: */ +func pagerOpenWal(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:60707:12: */ var rc int32 = SQLITE_OK // If the pager is already in exclusive-mode, the WAL module will use @@ -38485,7 +38495,7 @@ func pagerOpenWal(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:60697:12: // If the pager is open on a temp-file (or in-memory database), or if // the WAL file is already open, set *pbOpen to 1 and return SQLITE_OK // without doing anything. -func Xsqlite3PagerOpenWal(tls *libc.TLS, pPager uintptr, pbOpen uintptr) int32 { /* sqlite3.c:60742:20: */ +func Xsqlite3PagerOpenWal(tls *libc.TLS, pPager uintptr, pbOpen uintptr) int32 { /* sqlite3.c:60752:20: */ var rc int32 = SQLITE_OK // Return code if !(int32((*Pager)(unsafe.Pointer(pPager)).FtempFile) != 0) && !(int32((*Pager)(unsafe.Pointer(pPager)).FpWal) != 0) { @@ -38515,7 +38525,7 @@ func Xsqlite3PagerOpenWal(tls *libc.TLS, pPager uintptr, pbOpen uintptr) int32 { // EXCLUSIVE lock on the database file. If this cannot be obtained, an // error (SQLITE_BUSY) is returned and the log connection is not closed. // If successful, the EXCLUSIVE lock is not released before returning. -func Xsqlite3PagerCloseWal(tls *libc.TLS, pPager uintptr, db uintptr) int32 { /* sqlite3.c:60781:20: */ +func Xsqlite3PagerCloseWal(tls *libc.TLS, pPager uintptr, db uintptr) int32 { /* sqlite3.c:60791:20: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -38555,7 +38565,7 @@ func Xsqlite3PagerCloseWal(tls *libc.TLS, pPager uintptr, db uintptr) int32 { /* // If this is a WAL database, obtain a snapshot handle for the snapshot // currently open. Otherwise, return an error. -func Xsqlite3PagerSnapshotGet(tls *libc.TLS, pPager uintptr, ppSnapshot uintptr) int32 { /* sqlite3.c:60850:20: */ +func Xsqlite3PagerSnapshotGet(tls *libc.TLS, pPager uintptr, ppSnapshot uintptr) int32 { /* sqlite3.c:60860:20: */ var rc int32 = SQLITE_ERROR if (*Pager)(unsafe.Pointer(pPager)).FpWal != 0 { rc = Xsqlite3WalSnapshotGet(tls, (*Pager)(unsafe.Pointer(pPager)).FpWal, ppSnapshot) @@ -38566,7 +38576,7 @@ func Xsqlite3PagerSnapshotGet(tls *libc.TLS, pPager uintptr, ppSnapshot uintptr) // If this is a WAL database, store a pointer to pSnapshot. Next time a // read transaction is opened, attempt to read from the snapshot it // identifies. If this is not a WAL database, return an error. -func Xsqlite3PagerSnapshotOpen(tls *libc.TLS, pPager uintptr, pSnapshot uintptr) int32 { /* sqlite3.c:60863:20: */ +func Xsqlite3PagerSnapshotOpen(tls *libc.TLS, pPager uintptr, pSnapshot uintptr) int32 { /* sqlite3.c:60873:20: */ var rc int32 = SQLITE_OK if (*Pager)(unsafe.Pointer(pPager)).FpWal != 0 { Xsqlite3WalSnapshotOpen(tls, (*Pager)(unsafe.Pointer(pPager)).FpWal, pSnapshot) @@ -38578,7 +38588,7 @@ func Xsqlite3PagerSnapshotOpen(tls *libc.TLS, pPager uintptr, pSnapshot uintptr) // If this is a WAL database, call sqlite3WalSnapshotRecover(). If this // is not a WAL database, return an error. -func Xsqlite3PagerSnapshotRecover(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:60880:20: */ +func Xsqlite3PagerSnapshotRecover(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:60890:20: */ var rc int32 if (*Pager)(unsafe.Pointer(pPager)).FpWal != 0 { rc = Xsqlite3WalSnapshotRecover(tls, (*Pager)(unsafe.Pointer(pPager)).FpWal) @@ -38598,7 +38608,7 @@ func Xsqlite3PagerSnapshotRecover(tls *libc.TLS, pPager uintptr) int32 { /* sqli // the CHECKPOINTER lock cannot be obtained, SQLITE_BUSY. If any error // occurs (any value other than SQLITE_OK is returned), the CHECKPOINTER // lock is released before returning. -func Xsqlite3PagerSnapshotCheck(tls *libc.TLS, pPager uintptr, pSnapshot uintptr) int32 { /* sqlite3.c:60902:20: */ +func Xsqlite3PagerSnapshotCheck(tls *libc.TLS, pPager uintptr, pSnapshot uintptr) int32 { /* sqlite3.c:60912:20: */ var rc int32 if (*Pager)(unsafe.Pointer(pPager)).FpWal != 0 { rc = Xsqlite3WalSnapshotCheck(tls, (*Pager)(unsafe.Pointer(pPager)).FpWal, pSnapshot) @@ -38610,7 +38620,7 @@ func Xsqlite3PagerSnapshotCheck(tls *libc.TLS, pPager uintptr, pSnapshot uintptr // Release a lock obtained by an earlier successful call to // sqlite3PagerSnapshotCheck(). -func Xsqlite3PagerSnapshotUnlock(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:60916:21: */ +func Xsqlite3PagerSnapshotUnlock(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:60926:21: */ Xsqlite3WalSnapshotUnlock(tls, (*Pager)(unsafe.Pointer(pPager)).FpWal) } @@ -39189,7 +39199,7 @@ type WalIndexHdr1 = struct { // byte. // Object declarations -type WalIndexHdr = WalIndexHdr1 /* sqlite3.c:61244:28 */ +type WalIndexHdr = WalIndexHdr1 /* sqlite3.c:61254:28 */ type WalIterator1 = struct { FiPrior U32 FnSegment int32 @@ -39201,18 +39211,18 @@ type WalIterator1 = struct { FnEntry int32 FiZero int32 } -} /* sqlite3.c:61245:9 */ +} /* sqlite3.c:61255:9 */ -type WalIterator = WalIterator1 /* sqlite3.c:61245:28 */ +type WalIterator = WalIterator1 /* sqlite3.c:61255:28 */ type WalCkptInfo1 = struct { FnBackfill U32 FaReadMark [5]U32 FaLock [8]U8 FnBackfillAttempted U32 FnotUsed0 U32 -} /* sqlite3.c:61246:9 */ +} /* sqlite3.c:61256:9 */ -type WalCkptInfo = WalCkptInfo1 /* sqlite3.c:61246:28 */ +type WalCkptInfo = WalCkptInfo1 /* sqlite3.c:61256:28 */ // Candidate values for Wal.exclusiveMode. @@ -39220,7 +39230,7 @@ type WalCkptInfo = WalCkptInfo1 /* sqlite3.c:61246:28 */ // Each page of the wal-index mapping contains a hash-table made up of // an array of HASHTABLE_NSLOT elements of the following type. -type Ht_slot = U16 /* sqlite3.c:61501:13 */ +type Ht_slot = U16 /* sqlite3.c:61511:13 */ // 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 @@ -39242,7 +39252,7 @@ type WalSegment = struct { FaPgno uintptr FnEntry int32 FiZero int32 -} /* sqlite3.c:61245:9 */ +} /* sqlite3.c:61255:9 */ // Define the parameters of the hash tables in the wal-index file. There // is a hash-table following every HASHTABLE_NPAGE page numbers in the @@ -39273,7 +39283,7 @@ type WalSegment = struct { // (3) rc==SQLITE_OK and *ppPage==NULL // only if iPage==0 // // Scenario (3) can only occur when pWal->writeLock is false and iPage==0 -func walIndexPageRealloc(tls *libc.TLS, pWal uintptr, iPage int32, ppPage uintptr) int32 { /* sqlite3.c:61572:28: */ +func walIndexPageRealloc(tls *libc.TLS, pWal uintptr, iPage int32, ppPage uintptr) int32 { /* sqlite3.c:61582:28: */ var rc int32 = SQLITE_OK // Enlarge the pWal->apWiData[] array if required @@ -39319,7 +39329,7 @@ func walIndexPageRealloc(tls *libc.TLS, pWal uintptr, iPage int32, ppPage uintpt return rc } -func walIndexPage(tls *libc.TLS, pWal uintptr, iPage int32, ppPage uintptr) int32 { /* sqlite3.c:61621:12: */ +func walIndexPage(tls *libc.TLS, pWal uintptr, iPage int32, ppPage uintptr) int32 { /* sqlite3.c:61631:12: */ if (*Wal)(unsafe.Pointer(pWal)).FnWiData <= iPage || libc.AssignPtrUintptr(ppPage, *(*uintptr)(unsafe.Pointer((*Wal)(unsafe.Pointer(pWal)).FapWiData + uintptr(iPage)*8))) == uintptr(0) { return walIndexPageRealloc(tls, pWal, iPage, ppPage) } @@ -39327,13 +39337,13 @@ func walIndexPage(tls *libc.TLS, pWal uintptr, iPage int32, ppPage uintptr) int3 } // Return a pointer to the WalCkptInfo structure in the wal-index. -func walCkptInfo(tls *libc.TLS, pWal uintptr) uintptr { /* sqlite3.c:61635:29: */ +func walCkptInfo(tls *libc.TLS, pWal uintptr) uintptr { /* sqlite3.c:61645:29: */ return *(*uintptr)(unsafe.Pointer((*Wal)(unsafe.Pointer(pWal)).FapWiData)) + 24*4 } // Return a pointer to the WalIndexHdr structure in the wal-index. -func walIndexHdr(tls *libc.TLS, pWal uintptr) uintptr { /* sqlite3.c:61643:29: */ +func walIndexHdr(tls *libc.TLS, pWal uintptr) uintptr { /* sqlite3.c:61653:29: */ return *(*uintptr)(unsafe.Pointer((*Wal)(unsafe.Pointer(pWal)).FapWiData)) } @@ -39351,7 +39361,7 @@ func walIndexHdr(tls *libc.TLS, pWal uintptr) uintptr { /* sqlite3.c:61643:29: * // The checksum is written back into aOut[] before returning. // // nByte must be a positive multiple of 8. -func walChecksumBytes(tls *libc.TLS, nativeCksum int32, a uintptr, nByte int32, aIn uintptr, aOut uintptr) { /* sqlite3.c:61669:13: */ +func walChecksumBytes(tls *libc.TLS, nativeCksum int32, a uintptr, nByte int32, aIn uintptr, aOut uintptr) { /* sqlite3.c:61679:13: */ var s1 U32 var s2 U32 var aData uintptr = a @@ -39383,7 +39393,7 @@ func walChecksumBytes(tls *libc.TLS, nativeCksum int32, a uintptr, nByte int32, // If there is the possibility of concurrent access to the SHM file // from multiple threads and/or processes, then do a memory barrier. -func walShmBarrier(tls *libc.TLS, pWal uintptr) { /* sqlite3.c:61712:13: */ +func walShmBarrier(tls *libc.TLS, pWal uintptr) { /* sqlite3.c:61722:13: */ if int32((*Wal)(unsafe.Pointer(pWal)).FexclusiveMode) != WAL_HEAPMEMORY_MODE { Xsqlite3OsShmBarrier(tls, (*Wal)(unsafe.Pointer(pWal)).FpDbFd) } @@ -39398,7 +39408,7 @@ func walShmBarrier(tls *libc.TLS, pWal uintptr) { /* sqlite3.c:61712:13: */ // Write the header information in pWal->hdr into the wal-index. // // The checksum on pWal->hdr is updated before it is written. -func walIndexWriteHdr(tls *libc.TLS, pWal uintptr) { /* sqlite3.c:61736:28: */ +func walIndexWriteHdr(tls *libc.TLS, pWal uintptr) { /* sqlite3.c:61746:28: */ var aHdr uintptr = walIndexHdr(tls, pWal) var nCksum int32 = int32(uintptr(0) + 40) @@ -39422,7 +39432,7 @@ func walIndexWriteHdr(tls *libc.TLS, pWal uintptr) { /* sqlite3.c:61736:28: */ // 12: Salt-2 (copied from the wal-header) // 16: Checksum-1. // 20: Checksum-2. -func walEncodeFrame(tls *libc.TLS, pWal uintptr, iPage U32, nTruncate U32, aData uintptr, aFrame uintptr) { /* sqlite3.c:61763:13: */ +func walEncodeFrame(tls *libc.TLS, pWal uintptr, iPage U32, nTruncate U32, aData uintptr, aFrame uintptr) { /* sqlite3.c:61773:13: */ var nativeCksum int32 // True for native byte-order checksums var aCksum uintptr = pWal + 72 + 24 @@ -39445,7 +39455,7 @@ func walEncodeFrame(tls *libc.TLS, pWal uintptr, iPage U32, nTruncate U32, aData // Check to see if the frame with header in aFrame[] and content // in aData[] is valid. If it is a valid frame, fill *piPage and // *pnTruncate and return true. Return if the frame is not valid. -func walDecodeFrame(tls *libc.TLS, pWal uintptr, piPage uintptr, pnTruncate uintptr, aData uintptr, aFrame uintptr) int32 { /* sqlite3.c:61794:12: */ +func walDecodeFrame(tls *libc.TLS, pWal uintptr, piPage uintptr, pnTruncate uintptr, aData uintptr, aFrame uintptr) int32 { /* sqlite3.c:61804:12: */ var nativeCksum int32 // True for native byte-order checksums var aCksum uintptr = pWal + 72 + 24 var pgno U32 // Page number of the frame @@ -39487,7 +39497,7 @@ func walDecodeFrame(tls *libc.TLS, pWal uintptr, piPage uintptr, pnTruncate uint // through the unlocked state first. // // In locking_mode=EXCLUSIVE, all of these routines become no-ops. -func walLockShared(tls *libc.TLS, pWal uintptr, lockIdx int32) int32 { /* sqlite3.c:61873:12: */ +func walLockShared(tls *libc.TLS, pWal uintptr, lockIdx int32) int32 { /* sqlite3.c:61883:12: */ var rc int32 if (*Wal)(unsafe.Pointer(pWal)).FexclusiveMode != 0 { return SQLITE_OK @@ -39498,7 +39508,7 @@ func walLockShared(tls *libc.TLS, pWal uintptr, lockIdx int32) int32 { /* sqlite return rc } -func walUnlockShared(tls *libc.TLS, pWal uintptr, lockIdx int32) { /* sqlite3.c:61883:13: */ +func walUnlockShared(tls *libc.TLS, pWal uintptr, lockIdx int32) { /* sqlite3.c:61893:13: */ if (*Wal)(unsafe.Pointer(pWal)).FexclusiveMode != 0 { return } @@ -39507,7 +39517,7 @@ func walUnlockShared(tls *libc.TLS, pWal uintptr, lockIdx int32) { /* sqlite3.c: } -func walLockExclusive(tls *libc.TLS, pWal uintptr, lockIdx int32, n int32) int32 { /* sqlite3.c:61889:12: */ +func walLockExclusive(tls *libc.TLS, pWal uintptr, lockIdx int32, n int32) int32 { /* sqlite3.c:61899:12: */ var rc int32 if (*Wal)(unsafe.Pointer(pWal)).FexclusiveMode != 0 { return SQLITE_OK @@ -39518,7 +39528,7 @@ func walLockExclusive(tls *libc.TLS, pWal uintptr, lockIdx int32, n int32) int32 return rc } -func walUnlockExclusive(tls *libc.TLS, pWal uintptr, lockIdx int32, n int32) { /* sqlite3.c:61899:13: */ +func walUnlockExclusive(tls *libc.TLS, pWal uintptr, lockIdx int32, n int32) { /* sqlite3.c:61909:13: */ if (*Wal)(unsafe.Pointer(pWal)).FexclusiveMode != 0 { return } @@ -39530,12 +39540,12 @@ func walUnlockExclusive(tls *libc.TLS, pWal uintptr, lockIdx int32, n int32) { / // Compute a hash on a page number. The resulting hash value must land // between 0 and (HASHTABLE_NSLOT-1). The walHashNext() function advances // the hash to the next value in the event of a collision. -func walHash(tls *libc.TLS, iPage U32) int32 { /* sqlite3.c:61912:12: */ +func walHash(tls *libc.TLS, iPage U32) int32 { /* sqlite3.c:61922:12: */ return int32(iPage * U32(HASHTABLE_HASH_1) & U32(HASHTABLE_NPAGE*2-1)) } -func walNextHash(tls *libc.TLS, iPriorHash int32) int32 { /* sqlite3.c:61917:12: */ +func walNextHash(tls *libc.TLS, iPriorHash int32) int32 { /* sqlite3.c:61927:12: */ return (iPriorHash + 1) & (HASHTABLE_NPAGE*2 - 1) } @@ -39547,12 +39557,12 @@ type WalHashLoc1 = struct { FaPgno uintptr FiZero U32 F__ccgo_pad1 [4]byte -} /* sqlite3.c:61926:9 */ +} /* sqlite3.c:61936:9 */ // An instance of the WalHashLoc object is used to describe the location // of a page hash table in the wal-index. This becomes the return value // from walHashGet(). -type WalHashLoc = WalHashLoc1 /* sqlite3.c:61926:27 */ +type WalHashLoc = WalHashLoc1 /* sqlite3.c:61936:27 */ // Return pointers to the hash table and page number array stored on // page iHash of the wal-index. The wal-index is broken into 32KB pages @@ -39566,7 +39576,7 @@ type WalHashLoc = WalHashLoc1 /* sqlite3.c:61926:27 */ // // Finally, set pLoc->aPgno so that pLoc->aPgno[0] is the page number of the // first frame indexed by the hash table, frame (pLoc->iZero). -func walHashGet(tls *libc.TLS, pWal uintptr, iHash int32, pLoc uintptr) int32 { /* sqlite3.c:61947:12: */ +func walHashGet(tls *libc.TLS, pWal uintptr, iHash int32, pLoc uintptr) int32 { /* sqlite3.c:61957:12: */ var rc int32 // Return code rc = walIndexPage(tls, pWal, iHash, pLoc+8) @@ -39589,14 +39599,14 @@ func walHashGet(tls *libc.TLS, pWal uintptr, iHash int32, pLoc uintptr) int32 { // and page-number array that contain entries corresponding to WAL frame // iFrame. The wal-index is broken up into 32KB pages. Wal-index pages // are numbered starting from 0. -func walFramePage(tls *libc.TLS, iFrame U32) int32 { /* sqlite3.c:61977:12: */ +func walFramePage(tls *libc.TLS, iFrame U32) int32 { /* sqlite3.c:61987:12: */ var iHash int32 = int32((uint64(iFrame+U32(HASHTABLE_NPAGE)) - (uint64(HASHTABLE_NPAGE) - (uint64(unsafe.Sizeof(WalIndexHdr{}))*uint64(2)+uint64(unsafe.Sizeof(WalCkptInfo{})))/uint64(unsafe.Sizeof(U32(0)))) - uint64(1)) / uint64(HASHTABLE_NPAGE)) return iHash } // Return the page number associated with frame iFrame in this WAL. -func walFramePgno(tls *libc.TLS, pWal uintptr, iFrame U32) U32 { /* sqlite3.c:61992:12: */ +func walFramePgno(tls *libc.TLS, pWal uintptr, iFrame U32) U32 { /* sqlite3.c:62002:12: */ var iHash int32 = walFramePage(tls, iFrame) if iHash == 0 { return *(*U32)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer((*Wal)(unsafe.Pointer(pWal)).FapWiData)) + uintptr((uint64(unsafe.Sizeof(WalIndexHdr{}))*uint64(2)+uint64(unsafe.Sizeof(WalCkptInfo{})))/uint64(unsafe.Sizeof(U32(0)))+uint64(iFrame)-uint64(1))*4)) @@ -39614,7 +39624,7 @@ func walFramePgno(tls *libc.TLS, pWal uintptr, iFrame U32) U32 { /* sqlite3.c:61 // updated. Any later hash tables will be automatically cleared when // pWal->hdr.mxFrame advances to the point where those hash tables are // actually needed. -func walCleanupHash(tls *libc.TLS, pWal uintptr) { /* sqlite3.c:62012:13: */ +func walCleanupHash(tls *libc.TLS, pWal uintptr) { /* sqlite3.c:62022:13: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -39657,7 +39667,7 @@ func walCleanupHash(tls *libc.TLS, pWal uintptr) { /* sqlite3.c:62012:13: */ // Set an entry in the wal-index that will map database page number // pPage into WAL frame iFrame. -func walIndexAppend(tls *libc.TLS, pWal uintptr, iFrame U32, iPage U32) int32 { /* sqlite3.c:62074:12: */ +func walIndexAppend(tls *libc.TLS, pWal uintptr, iFrame U32, iPage U32) int32 { /* sqlite3.c:62084:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -39698,7 +39708,7 @@ func walIndexAppend(tls *libc.TLS, pWal uintptr, iFrame U32, iPage U32) int32 { nCollide = idx for iKey = walHash(tls, iPage); *(*Ht_slot)(unsafe.Pointer((*WalHashLoc)(unsafe.Pointer(bp /* &sLoc */)).FaHash + uintptr(iKey)*2)) != 0; iKey = walNextHash(tls, iKey) { if libc.PostDecInt32(&nCollide, 1) == 0 { - return Xsqlite3CorruptError(tls, 62114) + return Xsqlite3CorruptError(tls, 62124) } } *(*U32)(unsafe.Pointer((*WalHashLoc)(unsafe.Pointer(bp /* &sLoc */)).FaPgno + uintptr(idx-1)*4)) = iPage @@ -39717,7 +39727,7 @@ func walIndexAppend(tls *libc.TLS, pWal uintptr, iFrame U32, iPage U32) int32 { // WAL_RECOVER_LOCK is also held so that other threads will know // that this thread is running recovery. If unable to establish // the necessary locks, this routine returns SQLITE_BUSY. -func walIndexRecover(tls *libc.TLS, pWal uintptr) int32 { /* sqlite3.c:62163:12: */ +func walIndexRecover(tls *libc.TLS, pWal uintptr) int32 { /* sqlite3.c:62173:12: */ bp := tls.Alloc(80) defer tls.Free(80) @@ -39832,7 +39842,7 @@ __6: if !(version != U32(WAL_MAX_VERSION)) { goto __7 } - rc = Xsqlite3CantopenError(tls, 62246) + rc = Xsqlite3CantopenError(tls, 62256) goto finished __7: ; @@ -40036,7 +40046,7 @@ recovery_error: } // Close an open wal-index. -func walIndexClose(tls *libc.TLS, pWal uintptr, isDelete int32) { /* sqlite3.c:62386:13: */ +func walIndexClose(tls *libc.TLS, pWal uintptr, isDelete int32) { /* sqlite3.c:62396:13: */ if int32((*Wal)(unsafe.Pointer(pWal)).FexclusiveMode) == WAL_HEAPMEMORY_MODE || (*Wal)(unsafe.Pointer(pWal)).FbShmUnreliable != 0 { var i int32 for i = 0; i < (*Wal)(unsafe.Pointer(pWal)).FnWiData; i++ { @@ -40062,7 +40072,7 @@ func walIndexClose(tls *libc.TLS, pWal uintptr, isDelete int32) { /* sqlite3.c:6 // If the log file is successfully opened, SQLITE_OK is returned and // *ppWal is set to point to a new WAL handle. If an error occurs, // an SQLite error code is returned and *ppWal is left unmodified. -func Xsqlite3WalOpen(tls *libc.TLS, pVfs uintptr, pDbFd uintptr, zWalName uintptr, bNoShm int32, mxWalSize I64, ppWal uintptr) int32 { /* sqlite3.c:62414:20: */ +func Xsqlite3WalOpen(tls *libc.TLS, pVfs uintptr, pDbFd uintptr, zWalName uintptr, bNoShm int32, mxWalSize I64, ppWal uintptr) int32 { /* sqlite3.c:62424:20: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -40134,7 +40144,7 @@ func Xsqlite3WalOpen(tls *libc.TLS, pVfs uintptr, pDbFd uintptr, zWalName uintpt } // Change the size to which the WAL file is trucated on each reset. -func Xsqlite3WalLimit(tls *libc.TLS, pWal uintptr, iLimit I64) { /* sqlite3.c:62517:21: */ +func Xsqlite3WalLimit(tls *libc.TLS, pWal uintptr, iLimit I64) { /* sqlite3.c:62527:21: */ if pWal != 0 { (*Wal)(unsafe.Pointer(pWal)).FmxWalSize = iLimit } @@ -40148,7 +40158,7 @@ func Xsqlite3WalLimit(tls *libc.TLS, pWal uintptr, iLimit I64) { /* sqlite3.c:62 // // Return 0 on success. If there are no pages in the WAL with a page // number larger than *piPage, then return 1. -func walIteratorNext(tls *libc.TLS, p uintptr, piPage uintptr, piFrame uintptr) int32 { /* sqlite3.c:62531:12: */ +func walIteratorNext(tls *libc.TLS, p uintptr, piPage uintptr, piFrame uintptr) int32 { /* sqlite3.c:62541:12: */ var iMin U32 // Result pgno must be greater than iMin var iRet U32 = 0xFFFFFFFF // 0xffffffff is never a valid page number var i int32 // For looping through segments @@ -40195,7 +40205,7 @@ func walIteratorNext(tls *libc.TLS, p uintptr, piPage uintptr, piFrame uintptr) // aLeft[X]!=aRight[Y] && aContent[aLeft[X]] == aContent[aRight[Y]] // // When that happens, omit the aLeft[X] and use the aRight[Y] index. -func walMerge(tls *libc.TLS, aContent uintptr, aLeft uintptr, nLeft int32, paRight uintptr, pnRight uintptr, aTmp uintptr) { /* sqlite3.c:62584:13: */ +func walMerge(tls *libc.TLS, aContent uintptr, aLeft uintptr, nLeft int32, paRight uintptr, pnRight uintptr, aTmp uintptr) { /* sqlite3.c:62594:13: */ var iLeft int32 = 0 // Current index in aLeft var iRight int32 = 0 // Current index in aRight var iOut int32 = 0 // Current index in output buffer @@ -40241,7 +40251,7 @@ func walMerge(tls *libc.TLS, aContent uintptr, aLeft uintptr, nLeft int32, paRig // // Keep the larger of the two values aList[X] and aList[Y] and discard // the smaller. -func walMergesort(tls *libc.TLS, aContent uintptr, aBuffer uintptr, aList uintptr, pnList uintptr) { /* sqlite3.c:62641:13: */ +func walMergesort(tls *libc.TLS, aContent uintptr, aBuffer uintptr, aList uintptr, pnList uintptr) { /* sqlite3.c:62651:13: */ bp := tls.Alloc(220) defer tls.Free(220) @@ -40287,10 +40297,10 @@ type Sublist = struct { FnList int32 F__ccgo_pad1 [4]byte FaList uintptr -} /* sqlite3.c:62647:3 */ +} /* sqlite3.c:62657:3 */ // Free an iterator allocated by walIteratorInit(). -func walIteratorFree(tls *libc.TLS, p uintptr) { /* sqlite3.c:62704:13: */ +func walIteratorFree(tls *libc.TLS, p uintptr) { /* sqlite3.c:62714:13: */ Xsqlite3_free(tls, p) } @@ -40305,7 +40315,7 @@ func walIteratorFree(tls *libc.TLS, p uintptr) { /* sqlite3.c:62704:13: */ // // The calling routine should invoke walIteratorFree() to destroy the // WalIterator object when it has finished with it. -func walIteratorInit(tls *libc.TLS, pWal uintptr, nBackfill U32, pp uintptr) int32 { /* sqlite3.c:62721:12: */ +func walIteratorInit(tls *libc.TLS, pWal uintptr, nBackfill U32, pp uintptr) int32 { /* sqlite3.c:62731:12: */ bp := tls.Alloc(28) defer tls.Free(28) @@ -40389,7 +40399,7 @@ func walIteratorInit(tls *libc.TLS, pWal uintptr, nBackfill U32, pp uintptr) int // n. If the attempt fails and parameter xBusy is not NULL, then it is a // 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) int32 { /* sqlite3.c:62884:12: */ +func walBusyLock(tls *libc.TLS, pWal uintptr, xBusy uintptr, pBusyArg uintptr, lockIdx int32, n int32) int32 { /* sqlite3.c:62894:12: */ var rc int32 for __ccgo := true; __ccgo; __ccgo = xBusy != 0 && rc == SQLITE_BUSY && (*struct { f func(*libc.TLS, uintptr) int32 @@ -40401,7 +40411,7 @@ func walBusyLock(tls *libc.TLS, pWal uintptr, xBusy uintptr, pBusyArg uintptr, l // The cache of the wal-index header must be valid to call this function. // Return the page-size in bytes used by the database. -func walPagesize(tls *libc.TLS, pWal uintptr) int32 { /* sqlite3.c:62908:12: */ +func walPagesize(tls *libc.TLS, pWal uintptr) int32 { /* sqlite3.c:62918:12: */ return int32((*Wal)(unsafe.Pointer(pWal)).Fhdr.FszPage)&0xfe00 + int32((*Wal)(unsafe.Pointer(pWal)).Fhdr.FszPage)&0x0001<<16 } @@ -40420,7 +40430,7 @@ func walPagesize(tls *libc.TLS, pWal uintptr) int32 { /* sqlite3.c:62908:12: */ // The value of parameter salt1 is used as the aSalt[1] value in the // new wal-index header. It should be passed a pseudo-random value (i.e. // one obtained from sqlite3_randomness()). -func walRestartHdr(tls *libc.TLS, pWal uintptr, salt1 U32) { /* sqlite3.c:62929:13: */ +func walRestartHdr(tls *libc.TLS, pWal uintptr, salt1 U32) { /* sqlite3.c:62939:13: */ bp := tls.Alloc(4) defer tls.Free(4) *(*U32)(unsafe.Pointer(bp)) = salt1 @@ -40471,7 +40481,7 @@ func walRestartHdr(tls *libc.TLS, pWal uintptr, salt1 U32) { /* sqlite3.c:62929: // The caller must be holding sufficient locks to ensure that no other // 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) int32 { /* sqlite3.c:62976:12: */ +func walCheckpoint(tls *libc.TLS, pWal uintptr, db uintptr, eMode int32, xBusy uintptr, pBusyArg uintptr, sync_flags int32, zBuf uintptr) int32 { /* sqlite3.c:62986:12: */ bp := tls.Alloc(36) defer tls.Free(36) @@ -40602,7 +40612,7 @@ __10: // 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 = Xsqlite3CorruptError(tls, 63060) + rc = Xsqlite3CorruptError(tls, 63070) goto __15 __14: Xsqlite3OsFileControlHint(tls, (*Wal)(unsafe.Pointer(pWal)).FpDbFd, SQLITE_FCNTL_SIZE_HINT, bp+16) @@ -40763,7 +40773,7 @@ walcheckpoint_out: // If the WAL file is currently larger than nMax bytes in size, truncate // it to exactly nMax bytes. If an error occurs while doing so, ignore it. -func walLimitSize(tls *libc.TLS, pWal uintptr, nMax I64) { /* sqlite3.c:63162:13: */ +func walLimitSize(tls *libc.TLS, pWal uintptr, nMax I64) { /* sqlite3.c:63172:13: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -40782,7 +40792,7 @@ func walLimitSize(tls *libc.TLS, pWal uintptr, nMax I64) { /* sqlite3.c:63162:13 } // Close a connection to a log file. -func Xsqlite3WalClose(tls *libc.TLS, pWal uintptr, db uintptr, sync_flags int32, nBuf int32, zBuf uintptr) int32 { /* sqlite3.c:63179:20: */ +func Xsqlite3WalClose(tls *libc.TLS, pWal uintptr, db uintptr, sync_flags int32, nBuf int32, zBuf uintptr) int32 { /* sqlite3.c:63189:20: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -40854,7 +40864,7 @@ func Xsqlite3WalClose(tls *libc.TLS, pWal uintptr, db uintptr, sync_flags int32, // // If the checksum cannot be verified return non-zero. If the header // is read successfully and the checksum verified, return zero. -func walIndexTryHdr(tls *libc.TLS, pWal uintptr, pChanged uintptr) int32 { /* sqlite3.c:63260:27: */ +func walIndexTryHdr(tls *libc.TLS, pWal uintptr, pChanged uintptr) int32 { /* sqlite3.c:63270:27: */ bp := tls.Alloc(104) defer tls.Free(104) @@ -40923,7 +40933,7 @@ func walIndexTryHdr(tls *libc.TLS, pWal uintptr, pChanged uintptr) int32 { /* sq // // If the wal-index header is successfully read, return SQLITE_OK. // Otherwise an SQLite error code. -func walIndexReadHdr(tls *libc.TLS, pWal uintptr, pChanged uintptr) int32 { /* sqlite3.c:63330:12: */ +func walIndexReadHdr(tls *libc.TLS, pWal uintptr, pChanged uintptr) int32 { /* sqlite3.c:63340:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -41003,7 +41013,7 @@ func walIndexReadHdr(tls *libc.TLS, pWal uintptr, pChanged uintptr) int32 { /* s // sure the wal-index was not constructed with some future format that // this version of SQLite cannot understand. if badHdr == 0 && (*Wal)(unsafe.Pointer(pWal)).Fhdr.FiVersion != U32(WALINDEX_MAX_VERSION) { - rc = Xsqlite3CantopenError(tls, 63409) + rc = Xsqlite3CantopenError(tls, 63419) } if (*Wal)(unsafe.Pointer(pWal)).FbShmUnreliable != 0 { if rc != SQLITE_OK { @@ -41048,7 +41058,7 @@ func walIndexReadHdr(tls *libc.TLS, pWal uintptr, pChanged uintptr) int32 { /* s // beginning (including attempting to map the *-shm file). // // If an error occurs, an SQLite error code is returned. -func walBeginShmUnreliable(tls *libc.TLS, pWal uintptr, pChanged uintptr) int32 { /* sqlite3.c:63454:12: */ +func walBeginShmUnreliable(tls *libc.TLS, pWal uintptr, pChanged uintptr) int32 { /* sqlite3.c:63464:12: */ bp := tls.Alloc(64) defer tls.Free(64) @@ -41314,7 +41324,7 @@ __15: // update values of the aReadMark[] array in the header, but if it does // so it takes care to hold an exclusive lock on the corresponding // WAL_READ_LOCK() while changing values. -func walTryBeginRead(tls *libc.TLS, pWal uintptr, pChanged uintptr, useWal int32, cnt int32) int32 { /* sqlite3.c:63651:12: */ +func walTryBeginRead(tls *libc.TLS, pWal uintptr, pChanged uintptr, useWal int32, cnt int32) int32 { /* sqlite3.c:63661:12: */ var pInfo uintptr // Checkpoint information in wal-index var mxReadMark U32 // Largest aReadMark[] value var mxI int32 // Index of largest aReadMark[] value @@ -41531,7 +41541,7 @@ func walTryBeginRead(tls *libc.TLS, pWal uintptr, pChanged uintptr, useWal int32 // SQLITE_OK is returned if successful, or an SQLite error code if an // error occurs. It is not an error if nBackfillAttempted cannot be // decreased at all. -func Xsqlite3WalSnapshotRecover(tls *libc.TLS, pWal uintptr) int32 { /* sqlite3.c:63881:20: */ +func Xsqlite3WalSnapshotRecover(tls *libc.TLS, pWal uintptr) int32 { /* sqlite3.c:63891:20: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -41605,7 +41615,7 @@ func Xsqlite3WalSnapshotRecover(tls *libc.TLS, pWal uintptr) int32 { /* sqlite3. // transaction, then *pChanged is set to 1 before returning. The // Pager layer will use this to know that its cache is stale and // needs to be flushed. -func Xsqlite3WalBeginReadTransaction(tls *libc.TLS, pWal uintptr, pChanged uintptr) int32 { /* sqlite3.c:63952:20: */ +func Xsqlite3WalBeginReadTransaction(tls *libc.TLS, pWal uintptr, pChanged uintptr) int32 { /* sqlite3.c:63962:20: */ var rc int32 // Return code var cnt int32 = 0 // Number of TryBeginRead attempts var bChanged int32 = 0 @@ -41693,7 +41703,7 @@ func Xsqlite3WalBeginReadTransaction(tls *libc.TLS, pWal uintptr, pChanged uintp // Finish with a read transaction. All this does is release the // read-lock. -func Xsqlite3WalEndReadTransaction(tls *libc.TLS, pWal uintptr) { /* sqlite3.c:64060:21: */ +func Xsqlite3WalEndReadTransaction(tls *libc.TLS, pWal uintptr) { /* sqlite3.c:64070:21: */ Xsqlite3WalEndWriteTransaction(tls, pWal) if int32((*Wal)(unsafe.Pointer(pWal)).FreadLock) >= 0 { walUnlockShared(tls, pWal, 3+int32((*Wal)(unsafe.Pointer(pWal)).FreadLock)) @@ -41707,7 +41717,7 @@ func Xsqlite3WalEndReadTransaction(tls *libc.TLS, pWal uintptr) { /* sqlite3.c:6 // // Return SQLITE_OK if successful, or an error code if an error occurs. If an // error does occur, the final value of *piRead is undefined. -func Xsqlite3WalFindFrame(tls *libc.TLS, pWal uintptr, pgno Pgno, piRead uintptr) int32 { /* sqlite3.c:64076:20: */ +func Xsqlite3WalFindFrame(tls *libc.TLS, pWal uintptr, pgno Pgno, piRead uintptr) int32 { /* sqlite3.c:64086:20: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -41774,7 +41784,7 @@ func Xsqlite3WalFindFrame(tls *libc.TLS, pWal uintptr, pgno Pgno, piRead uintptr iRead = iFrame } if libc.PostDecInt32(&nCollide, 1) == 0 { - return Xsqlite3CorruptError(tls, 64146) + return Xsqlite3CorruptError(tls, 64156) } iKey = walNextHash(tls, iKey) } @@ -41790,7 +41800,7 @@ func Xsqlite3WalFindFrame(tls *libc.TLS, pWal uintptr, pgno Pgno, piRead uintptr // Read the contents of frame iRead from the wal file into buffer pOut // (which is nOut bytes in size). Return SQLITE_OK if successful, or an // error code otherwise. -func Xsqlite3WalReadFrame(tls *libc.TLS, pWal uintptr, iRead U32, nOut int32, pOut uintptr) int32 { /* sqlite3.c:64180:20: */ +func Xsqlite3WalReadFrame(tls *libc.TLS, pWal uintptr, iRead U32, nOut int32, pOut uintptr) int32 { /* sqlite3.c:64190:20: */ var sz int32 var iOffset I64 sz = int32((*Wal)(unsafe.Pointer(pWal)).Fhdr.FszPage) @@ -41807,7 +41817,7 @@ func Xsqlite3WalReadFrame(tls *libc.TLS, pWal uintptr, iRead U32, nOut int32, pO } // Return the size of the database in pages (or zero, if unknown). -func Xsqlite3WalDbsize(tls *libc.TLS, pWal uintptr) Pgno { /* sqlite3.c:64200:21: */ +func Xsqlite3WalDbsize(tls *libc.TLS, pWal uintptr) Pgno { /* sqlite3.c:64210:21: */ if pWal != 0 && int32((*Wal)(unsafe.Pointer(pWal)).FreadLock) >= 0 { return (*Wal)(unsafe.Pointer(pWal)).Fhdr.FnPage } @@ -41825,7 +41835,7 @@ func Xsqlite3WalDbsize(tls *libc.TLS, pWal uintptr) Pgno { /* sqlite3.c:64200:21 // returns SQLITE_BUSY in that case and no write transaction is started. // // There can only be a single writer active at a time. -func Xsqlite3WalBeginWriteTransaction(tls *libc.TLS, pWal uintptr) int32 { /* sqlite3.c:64221:20: */ +func Xsqlite3WalBeginWriteTransaction(tls *libc.TLS, pWal uintptr) int32 { /* sqlite3.c:64231:20: */ var rc int32 // Cannot start a write transaction without first holding a read @@ -41857,7 +41867,7 @@ func Xsqlite3WalBeginWriteTransaction(tls *libc.TLS, pWal uintptr) int32 { /* sq // End a write transaction. The commit has already been done. This // routine merely releases the lock. -func Xsqlite3WalEndWriteTransaction(tls *libc.TLS, pWal uintptr) int32 { /* sqlite3.c:64269:20: */ +func Xsqlite3WalEndWriteTransaction(tls *libc.TLS, pWal uintptr) int32 { /* sqlite3.c:64279:20: */ if (*Wal)(unsafe.Pointer(pWal)).FwriteLock != 0 { walUnlockExclusive(tls, pWal, WAL_WRITE_LOCK, 1) (*Wal)(unsafe.Pointer(pWal)).FwriteLock = U8(0) @@ -41877,7 +41887,7 @@ func Xsqlite3WalEndWriteTransaction(tls *libc.TLS, pWal uintptr) int32 { /* sqli // // Otherwise, if the callback function does not return an error, this // function returns SQLITE_OK. -func Xsqlite3WalUndo(tls *libc.TLS, pWal uintptr, xUndo uintptr, pUndoCtx uintptr) int32 { /* sqlite3.c:64291:20: */ +func Xsqlite3WalUndo(tls *libc.TLS, pWal uintptr, xUndo uintptr, pUndoCtx uintptr) int32 { /* sqlite3.c:64301:20: */ var rc int32 = SQLITE_OK if (*Wal)(unsafe.Pointer(pWal)).FwriteLock != 0 { var iMax Pgno = (*Wal)(unsafe.Pointer(pWal)).Fhdr.FmxFrame @@ -41914,7 +41924,7 @@ func Xsqlite3WalUndo(tls *libc.TLS, pWal uintptr, xUndo uintptr, pUndoCtx uintpt // values. This function populates the array with values required to // "rollback" the write position of the WAL handle back to the current // point in the event of a savepoint rollback (via WalSavepointUndo()). -func Xsqlite3WalSavepoint(tls *libc.TLS, pWal uintptr, aWalData uintptr) { /* sqlite3.c:64331:21: */ +func Xsqlite3WalSavepoint(tls *libc.TLS, pWal uintptr, aWalData uintptr) { /* sqlite3.c:64341:21: */ *(*U32)(unsafe.Pointer(aWalData)) = (*Wal)(unsafe.Pointer(pWal)).Fhdr.FmxFrame *(*U32)(unsafe.Pointer(aWalData + 1*4)) = *(*U32)(unsafe.Pointer(pWal + 72 + 24)) @@ -41926,7 +41936,7 @@ func Xsqlite3WalSavepoint(tls *libc.TLS, pWal uintptr, aWalData uintptr) { /* sq // the values in the aWalData[] array. aWalData must point to an array // of WAL_SAVEPOINT_NDATA u32 values that has been previously populated // by a call to WalSavepoint(). -func Xsqlite3WalSavepointUndo(tls *libc.TLS, pWal uintptr, aWalData uintptr) int32 { /* sqlite3.c:64345:20: */ +func Xsqlite3WalSavepointUndo(tls *libc.TLS, pWal uintptr, aWalData uintptr) int32 { /* sqlite3.c:64355:20: */ var rc int32 = SQLITE_OK if *(*U32)(unsafe.Pointer(aWalData + 3*4)) != (*Wal)(unsafe.Pointer(pWal)).FnCkpt { @@ -41957,7 +41967,7 @@ func Xsqlite3WalSavepointUndo(tls *libc.TLS, pWal uintptr, aWalData uintptr) int // SQLITE_OK is returned if no error is encountered (regardless of whether // or not pWal->hdr.mxFrame is modified). An SQLite error code is returned // if an error occurs. -func walRestartLog(tls *libc.TLS, pWal uintptr) int32 { /* sqlite3.c:64382:12: */ +func walRestartLog(tls *libc.TLS, pWal uintptr) int32 { /* sqlite3.c:64392:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -42011,12 +42021,12 @@ type WalWriter1 = struct { FiSyncPoint Sqlite3_int64 FsyncFlags int32 FszPage int32 -} /* sqlite3.c:64429:9 */ +} /* sqlite3.c:64439:9 */ // Information about the current state of the WAL file and where // the next fsync should occur - passed from sqlite3WalFrames() into // walWriteToLog(). -type WalWriter = WalWriter1 /* sqlite3.c:64435:3 */ +type WalWriter = WalWriter1 /* sqlite3.c:64445:3 */ // Write iAmt bytes of content into the WAL file beginning at iOffset. // Do a sync when crossing the p->iSyncPoint boundary. @@ -42024,7 +42034,7 @@ type WalWriter = WalWriter1 /* sqlite3.c:64435:3 */ // In other words, if iSyncPoint is in between iOffset and iOffset+iAmt, // first write the part before iSyncPoint, then sync, then write the // rest. -func walWriteToLog(tls *libc.TLS, p uintptr, pContent uintptr, iAmt int32, iOffset Sqlite3_int64) int32 { /* sqlite3.c:64445:12: */ +func walWriteToLog(tls *libc.TLS, p uintptr, pContent uintptr, iAmt int32, iOffset Sqlite3_int64) int32 { /* sqlite3.c:64455:12: */ var rc int32 if iOffset < (*WalWriter)(unsafe.Pointer(p)).FiSyncPoint && iOffset+Sqlite3_int64(iAmt) >= (*WalWriter)(unsafe.Pointer(p)).FiSyncPoint { var iFirstAmt int32 = int32((*WalWriter)(unsafe.Pointer(p)).FiSyncPoint - iOffset) @@ -42046,7 +42056,7 @@ func walWriteToLog(tls *libc.TLS, p uintptr, pContent uintptr, iAmt int32, iOffs } // Write out a single frame of the WAL -func walWriteOneFrame(tls *libc.TLS, p uintptr, pPage uintptr, nTruncate int32, iOffset Sqlite3_int64) int32 { /* sqlite3.c:64470:12: */ +func walWriteOneFrame(tls *libc.TLS, p uintptr, pPage uintptr, nTruncate int32, iOffset Sqlite3_int64) int32 { /* sqlite3.c:64480:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -42071,7 +42081,7 @@ func walWriteOneFrame(tls *libc.TLS, p uintptr, pPage uintptr, nTruncate int32, // with the earliest to have been overwritten. // // SQLITE_OK is returned if successful, or an SQLite error code otherwise. -func walRewriteChecksums(tls *libc.TLS, pWal uintptr, iLast U32) int32 { /* sqlite3.c:64496:12: */ +func walRewriteChecksums(tls *libc.TLS, pWal uintptr, iLast U32) int32 { /* sqlite3.c:64506:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -42125,7 +42135,7 @@ func walRewriteChecksums(tls *libc.TLS, pWal uintptr, iLast U32) int32 { /* sqli // Write a set of frames to the log. The caller must hold the write-lock // on the log file (obtained using sqlite3WalBeginWriteTransaction()). -func Xsqlite3WalFrames(tls *libc.TLS, pWal uintptr, szPage int32, pList uintptr, nTruncate Pgno, isCommit int32, sync_flags int32) int32 { /* sqlite3.c:64545:20: */ +func Xsqlite3WalFrames(tls *libc.TLS, pWal uintptr, szPage int32, pList uintptr, nTruncate Pgno, isCommit int32, sync_flags int32) int32 { /* sqlite3.c:64555:20: */ bp := tls.Alloc(80) defer tls.Free(80) @@ -42358,7 +42368,7 @@ func Xsqlite3WalFrames(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 Xsqlite3WalCheckpoint(tls *libc.TLS, pWal uintptr, db uintptr, eMode int32, xBusy uintptr, pBusyArg uintptr, sync_flags int32, nBuf int32, zBuf uintptr, pnLog uintptr, pnCkpt uintptr) int32 { /* sqlite3.c:64783:20: */ +func Xsqlite3WalCheckpoint(tls *libc.TLS, pWal uintptr, db uintptr, eMode int32, xBusy uintptr, pBusyArg uintptr, sync_flags int32, nBuf int32, zBuf uintptr, pnLog uintptr, pnCkpt uintptr) int32 { /* sqlite3.c:64793:20: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -42423,7 +42433,7 @@ func Xsqlite3WalCheckpoint(tls *libc.TLS, pWal uintptr, db uintptr, eMode int32, if rc == SQLITE_OK { if (*Wal)(unsafe.Pointer(pWal)).Fhdr.FmxFrame != 0 && walPagesize(tls, pWal) != nBuf { - rc = Xsqlite3CorruptError(tls, 64865) + rc = Xsqlite3CorruptError(tls, 64875) } else { rc = walCheckpoint(tls, pWal, db, eMode2, xBusy2, pBusyArg, sync_flags, zBuf) } @@ -42467,7 +42477,7 @@ func Xsqlite3WalCheckpoint(tls *libc.TLS, pWal uintptr, db uintptr, eMode int32, // number of frames in the WAL at the point of the last commit since // sqlite3WalCallback() was called. If no commits have occurred since // the last call, then return 0. -func Xsqlite3WalCallback(tls *libc.TLS, pWal uintptr) int32 { /* sqlite3.c:64908:20: */ +func Xsqlite3WalCallback(tls *libc.TLS, pWal uintptr) int32 { /* sqlite3.c:64918:20: */ var ret U32 = U32(0) if pWal != 0 { ret = (*Wal)(unsafe.Pointer(pWal)).FiCallback @@ -42498,7 +42508,7 @@ func Xsqlite3WalCallback(tls *libc.TLS, pWal uintptr) int32 { /* sqlite3.c:64908 // not actually change anything. The pager uses this to see if it // should acquire the database exclusive lock prior to invoking // the op==1 case. -func Xsqlite3WalExclusiveMode(tls *libc.TLS, pWal uintptr, op int32) int32 { /* sqlite3.c:64941:20: */ +func Xsqlite3WalExclusiveMode(tls *libc.TLS, pWal uintptr, op int32) int32 { /* sqlite3.c:64951:20: */ var rc int32 // pWal->readLock is usually set, but might be -1 if there was a @@ -42532,14 +42542,14 @@ func Xsqlite3WalExclusiveMode(tls *libc.TLS, pWal uintptr, op int32) int32 { /* // Return true if the argument is non-NULL and the WAL module is using // heap-memory for the wal-index. Otherwise, if the argument is NULL or the // WAL module is using shared-memory, return false. -func Xsqlite3WalHeapMemory(tls *libc.TLS, pWal uintptr) int32 { /* sqlite3.c:64983:20: */ +func Xsqlite3WalHeapMemory(tls *libc.TLS, pWal uintptr) int32 { /* sqlite3.c:64993:20: */ return libc.Bool32(pWal != 0 && int32((*Wal)(unsafe.Pointer(pWal)).FexclusiveMode) == WAL_HEAPMEMORY_MODE) } // Create a snapshot object. The content of a snapshot is opaque to // every other subsystem, so the WAL module can put whatever it needs // in the object. -func Xsqlite3WalSnapshotGet(tls *libc.TLS, pWal uintptr, ppSnapshot uintptr) int32 { /* sqlite3.c:64992:20: */ +func Xsqlite3WalSnapshotGet(tls *libc.TLS, pWal uintptr, ppSnapshot uintptr) int32 { /* sqlite3.c:65002:20: */ var rc int32 = SQLITE_OK var pRet uintptr @@ -42558,16 +42568,16 @@ func Xsqlite3WalSnapshotGet(tls *libc.TLS, pWal uintptr, ppSnapshot uintptr) int return rc } -var aZero = [4]U32{U32(0), U32(0), U32(0), U32(0)} /* sqlite3.c:64995:20 */ +var aZero = [4]U32{U32(0), U32(0), U32(0), U32(0)} /* sqlite3.c:65005:20 */ // Try to open on pSnapshot when the next read-transaction starts -func Xsqlite3WalSnapshotOpen(tls *libc.TLS, pWal uintptr, pSnapshot uintptr) { /* sqlite3.c:65016:21: */ +func Xsqlite3WalSnapshotOpen(tls *libc.TLS, pWal uintptr, pSnapshot uintptr) { /* sqlite3.c:65026:21: */ (*Wal)(unsafe.Pointer(pWal)).FpSnapshot = pSnapshot } // Return a +ve value if snapshot p1 is newer than p2. A -ve value if // p1 is older than p2 and zero if p1 and p2 are the same snapshot. -func Xsqlite3_snapshot_cmp(tls *libc.TLS, p1 uintptr, p2 uintptr) int32 { /* sqlite3.c:65027:16: */ +func Xsqlite3_snapshot_cmp(tls *libc.TLS, p1 uintptr, p2 uintptr) int32 { /* sqlite3.c:65037:16: */ var pHdr1 uintptr = p1 var pHdr2 uintptr = p2 @@ -42597,7 +42607,7 @@ func Xsqlite3_snapshot_cmp(tls *libc.TLS, p1 uintptr, p2 uintptr) int32 { /* sql // the CHECKPOINTER lock cannot be obtained, SQLITE_BUSY. If any error // occurs (any value other than SQLITE_OK is returned), the CHECKPOINTER // lock is released before returning. -func Xsqlite3WalSnapshotCheck(tls *libc.TLS, pWal uintptr, pSnapshot uintptr) int32 { /* sqlite3.c:65051:20: */ +func Xsqlite3WalSnapshotCheck(tls *libc.TLS, pWal uintptr, pSnapshot uintptr) int32 { /* sqlite3.c:65061:20: */ var rc int32 rc = walLockShared(tls, pWal, WAL_CKPT_LOCK) if rc == SQLITE_OK { @@ -42613,13 +42623,13 @@ func Xsqlite3WalSnapshotCheck(tls *libc.TLS, pWal uintptr, pSnapshot uintptr) in // Release a lock obtained by an earlier successful call to // sqlite3WalSnapshotCheck(). -func Xsqlite3WalSnapshotUnlock(tls *libc.TLS, pWal uintptr) { /* sqlite3.c:65070:21: */ +func Xsqlite3WalSnapshotUnlock(tls *libc.TLS, pWal uintptr) { /* sqlite3.c:65080:21: */ walUnlockShared(tls, pWal, WAL_CKPT_LOCK) } // Return the sqlite3_file object for the WAL file -func Xsqlite3WalFile(tls *libc.TLS, pWal uintptr) uintptr { /* sqlite3.c:65092:29: */ +func Xsqlite3WalFile(tls *libc.TLS, pWal uintptr) uintptr { /* sqlite3.c:65102:29: */ return (*Wal)(unsafe.Pointer(pWal)).FpWalFd } @@ -43140,7 +43150,7 @@ type MemPage1 = struct { // small cells will be rare, but they are possible. // Forward declarations -type MemPage = MemPage1 /* sqlite3.c:65350:24 */ +type MemPage = MemPage1 /* sqlite3.c:65360:24 */ type BtLock1 = struct { FpBtree uintptr FiTable Pgno @@ -43149,7 +43159,7 @@ type BtLock1 = struct { FpNext uintptr } /* sqlite3.c:578:9 */ -type BtLock = BtLock1 /* sqlite3.c:65351:23 */ +type BtLock = BtLock1 /* sqlite3.c:65361:23 */ type CellInfo1 = struct { FnKey I64 FpPayload uintptr @@ -43158,7 +43168,7 @@ type CellInfo1 = struct { FnSize U16 } /* sqlite3.c:578:9 */ -type CellInfo = CellInfo1 /* sqlite3.c:65352:25 */ +type CellInfo = CellInfo1 /* sqlite3.c:65362:25 */ // Legal values for BtCursor.curFlags @@ -43268,7 +43278,7 @@ type IntegrityCk1 = struct { FerrMsg StrAccum Fheap uintptr Fdb uintptr -} /* sqlite3.c:65811:9 */ +} /* sqlite3.c:65821:9 */ // Legal values for BtCursor.curFlags @@ -43364,7 +43374,7 @@ type IntegrityCk1 = struct { // the database the corresponding bit is set. This allows integrity-check to // detect pages that are used twice and orphaned pages (both of which // indicate corruption). -type IntegrityCk = IntegrityCk1 /* sqlite3.c:65811:28 */ +type IntegrityCk = IntegrityCk1 /* sqlite3.c:65821:28 */ // Routines to read or write a two- and four-byte big-endian integer values. @@ -43378,7 +43388,7 @@ type IntegrityCk = IntegrityCk1 /* sqlite3.c:65811:28 */ // Obtain the BtShared mutex associated with B-Tree handle p. Also, // set BtShared.db to the database handle associated with p and the // p->locked boolean to true. -func lockBtreeMutex(tls *libc.TLS, p uintptr) { /* sqlite3.c:65861:13: */ +func lockBtreeMutex(tls *libc.TLS, p uintptr) { /* sqlite3.c:65871:13: */ Xsqlite3_mutex_enter(tls, (*BtShared)(unsafe.Pointer((*Btree)(unsafe.Pointer(p)).FpBt)).Fmutex) (*BtShared)(unsafe.Pointer((*Btree)(unsafe.Pointer(p)).FpBt)).Fdb = (*Btree)(unsafe.Pointer(p)).Fdb @@ -43387,7 +43397,7 @@ func lockBtreeMutex(tls *libc.TLS, p uintptr) { /* sqlite3.c:65861:13: */ // Release the BtShared mutex associated with B-Tree handle p and // clear the p->locked boolean. -func unlockBtreeMutex(tls *libc.TLS, p uintptr) { /* sqlite3.c:65875:29: */ +func unlockBtreeMutex(tls *libc.TLS, p uintptr) { /* sqlite3.c:65885:29: */ var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt Xsqlite3_mutex_leave(tls, (*BtShared)(unsafe.Pointer(pBt)).Fmutex) @@ -43408,7 +43418,7 @@ func unlockBtreeMutex(tls *libc.TLS, p uintptr) { /* sqlite3.c:65875:29: */ // p, then first unlock all of the others on p->pNext, then wait // for the lock to become available on p, then relock all of the // subsequent Btrees that desire a lock. -func Xsqlite3BtreeEnter(tls *libc.TLS, p uintptr) { /* sqlite3.c:65905:21: */ +func Xsqlite3BtreeEnter(tls *libc.TLS, p uintptr) { /* sqlite3.c:65915:21: */ // Some basic sanity checking on the Btree. The list of Btrees // connected by pNext and pPrev should be in sorted order by // Btree.pBt value. All elements of the list should belong to @@ -43436,7 +43446,7 @@ func Xsqlite3BtreeEnter(tls *libc.TLS, p uintptr) { /* sqlite3.c:65905:21: */ // into this routine, we avoid unnecessary stack pointer changes // and thus help the sqlite3BtreeLock() routine to run much faster // in the common case. -func btreeLockCarefully(tls *libc.TLS, p uintptr) { /* sqlite3.c:65939:29: */ +func btreeLockCarefully(tls *libc.TLS, p uintptr) { /* sqlite3.c:65949:29: */ var pLater uintptr // In most cases, we should be able to acquire the lock we @@ -43467,7 +43477,7 @@ func btreeLockCarefully(tls *libc.TLS, p uintptr) { /* sqlite3.c:65939:29: */ } // Exit the recursive mutex on a Btree. -func Xsqlite3BtreeLeave(tls *libc.TLS, p uintptr) { /* sqlite3.c:65977:21: */ +func Xsqlite3BtreeLeave(tls *libc.TLS, p uintptr) { /* sqlite3.c:65987:21: */ if (*Btree)(unsafe.Pointer(p)).Fsharable != 0 { @@ -43490,7 +43500,7 @@ func Xsqlite3BtreeLeave(tls *libc.TLS, p uintptr) { /* sqlite3.c:65977:21: */ // to avoid the possibility of deadlock when two threads with // two or more btrees in common both try to lock all their btrees // at the same instant. -func btreeEnterAll(tls *libc.TLS, db uintptr) { /* sqlite3.c:66020:29: */ +func btreeEnterAll(tls *libc.TLS, db uintptr) { /* sqlite3.c:66030:29: */ var i int32 var skipOk int32 = 1 var p uintptr @@ -43505,13 +43515,13 @@ func btreeEnterAll(tls *libc.TLS, db uintptr) { /* sqlite3.c:66020:29: */ (*Sqlite3)(unsafe.Pointer(db)).FnoSharedCache = U8(skipOk) } -func Xsqlite3BtreeEnterAll(tls *libc.TLS, db uintptr) { /* sqlite3.c:66034:21: */ +func Xsqlite3BtreeEnterAll(tls *libc.TLS, db uintptr) { /* sqlite3.c:66044:21: */ if int32((*Sqlite3)(unsafe.Pointer(db)).FnoSharedCache) == 0 { btreeEnterAll(tls, db) } } -func btreeLeaveAll(tls *libc.TLS, db uintptr) { /* sqlite3.c:66037:29: */ +func btreeLeaveAll(tls *libc.TLS, db uintptr) { /* sqlite3.c:66047:29: */ var i int32 var p uintptr @@ -43523,7 +43533,7 @@ func btreeLeaveAll(tls *libc.TLS, db uintptr) { /* sqlite3.c:66037:29: */ } } -func Xsqlite3BtreeLeaveAll(tls *libc.TLS, db uintptr) { /* sqlite3.c:66046:21: */ +func Xsqlite3BtreeLeaveAll(tls *libc.TLS, db uintptr) { /* sqlite3.c:66056:21: */ if int32((*Sqlite3)(unsafe.Pointer(db)).FnoSharedCache) == 0 { btreeLeaveAll(tls, db) } @@ -43534,11 +43544,11 @@ func Xsqlite3BtreeLeaveAll(tls *libc.TLS, db uintptr) { /* sqlite3.c:66046:21: * // These entry points are used by incremental I/O only. Enter() is required // any time OMIT_SHARED_CACHE is not defined, regardless of whether or not // the build is threadsafe. Leave() is only required by threadsafe builds. -func Xsqlite3BtreeEnterCursor(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:66132:21: */ +func Xsqlite3BtreeEnterCursor(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:66142:21: */ Xsqlite3BtreeEnter(tls, (*BtCursor)(unsafe.Pointer(pCur)).FpBtree) } -func Xsqlite3BtreeLeaveCursor(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:66136:21: */ +func Xsqlite3BtreeLeaveCursor(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:66146:21: */ Xsqlite3BtreeLeave(tls, (*BtCursor)(unsafe.Pointer(pCur)).FpBtree) } @@ -43561,7 +43571,7 @@ func Xsqlite3BtreeLeaveCursor(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:66136: // The header string that appears at the beginning of every // SQLite database. -var zMagicHeader = *(*[16]uint8)(unsafe.Pointer(ts + 3984)) /* sqlite3.c:66167:19 */ +var zMagicHeader = *(*[16]uint8)(unsafe.Pointer(ts + 3984)) /* sqlite3.c:66177:19 */ // Set this global variable to 1 to enable tracing using the TRACE // macro. @@ -43587,14 +43597,14 @@ var zMagicHeader = *(*[16]uint8)(unsafe.Pointer(ts + 3984)) /* sqlite3.c:66167:1 // test builds. // // Access to this variable is protected by SQLITE_MUTEX_STATIC_MAIN. -var sqlite3SharedCacheList uintptr = uintptr(0) /* sqlite3.c:66222:17 */ +var sqlite3SharedCacheList uintptr = uintptr(0) /* sqlite3.c:66232:17 */ // Enable or disable the shared pager and schema features. // // This routine has no effect on existing database connections. // The shared cache setting effects only future calls to // sqlite3_open(), sqlite3_open16(), or sqlite3_open_v2(). -func Xsqlite3_enable_shared_cache(tls *libc.TLS, enable int32) int32 { /* sqlite3.c:66234:16: */ +func Xsqlite3_enable_shared_cache(tls *libc.TLS, enable int32) int32 { /* sqlite3.c:66244:16: */ Xsqlite3Config.FsharedCacheEnabled = enable return SQLITE_OK } @@ -43611,7 +43621,7 @@ func Xsqlite3_enable_shared_cache(tls *libc.TLS, enable int32) int32 { /* sqlite // (READ_LOCK or WRITE_LOCK) on the table with root-page iTab. Return // SQLITE_OK if the lock may be obtained (by calling // setSharedCacheTableLock()), or SQLITE_LOCKED if not. -func querySharedCacheTableLock(tls *libc.TLS, p uintptr, iTab Pgno, eLock U8) int32 { /* sqlite3.c:66433:12: */ +func querySharedCacheTableLock(tls *libc.TLS, p uintptr, iTab Pgno, eLock U8) int32 { /* sqlite3.c:66443:12: */ var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt var pIter uintptr @@ -43668,7 +43678,7 @@ func querySharedCacheTableLock(tls *libc.TLS, p uintptr, iTab Pgno, eLock U8) in // // SQLITE_OK is returned if the lock is added successfully. SQLITE_NOMEM // is returned if a malloc attempt fails. -func setSharedCacheTableLock(tls *libc.TLS, p uintptr, iTable Pgno, eLock U8) int32 { /* sqlite3.c:66505:12: */ +func setSharedCacheTableLock(tls *libc.TLS, p uintptr, iTable Pgno, eLock U8) int32 { /* sqlite3.c:66515:12: */ var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt var pLock uintptr = uintptr(0) var pIter uintptr @@ -43719,7 +43729,7 @@ func setSharedCacheTableLock(tls *libc.TLS, p uintptr, iTable Pgno, eLock U8) in // This function assumes that Btree p has an open read or write // transaction. If it does not, then the BTS_PENDING flag // may be incorrectly cleared. -func clearAllSharedCacheTableLocks(tls *libc.TLS, p uintptr) { /* sqlite3.c:66569:13: */ +func clearAllSharedCacheTableLocks(tls *libc.TLS, p uintptr) { /* sqlite3.c:66579:13: */ var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt var ppIter uintptr = pBt + 120 @@ -43754,7 +43764,7 @@ func clearAllSharedCacheTableLocks(tls *libc.TLS, p uintptr) { /* sqlite3.c:6656 } // This function changes all write-locks held by Btree p into read-locks. -func downgradeAllSharedCacheTableLocks(tls *libc.TLS, p uintptr) { /* sqlite3.c:66613:13: */ +func downgradeAllSharedCacheTableLocks(tls *libc.TLS, p uintptr) { /* sqlite3.c:66623:13: */ var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt if (*BtShared)(unsafe.Pointer(pBt)).FpWriter == p { var pLock uintptr @@ -43778,7 +43788,7 @@ func downgradeAllSharedCacheTableLocks(tls *libc.TLS, p uintptr) { /* sqlite3.c: // Invalidate the overflow page-list cache for all cursors opened // on the shared btree structure pBt. -func invalidateAllOverflowCache(tls *libc.TLS, pBt uintptr) { /* sqlite3.c:66666:13: */ +func invalidateAllOverflowCache(tls *libc.TLS, pBt uintptr) { /* sqlite3.c:66676:13: */ var p uintptr for p = (*BtShared)(unsafe.Pointer(pBt)).FpCursor; p != 0; p = (*BtCursor)(unsafe.Pointer(p)).FpNext { @@ -43797,7 +43807,7 @@ func invalidateAllOverflowCache(tls *libc.TLS, pBt uintptr) { /* sqlite3.c:66666 // Otherwise, if argument isClearTable is false, then the row with // rowid iRow is being replaced or deleted. In this case invalidate // only those incrblob cursors open on that specific row. -func invalidateIncrblobCursors(tls *libc.TLS, pBtree uintptr, pgnoRoot Pgno, iRow I64, isClearTable int32) { /* sqlite3.c:66688:13: */ +func invalidateIncrblobCursors(tls *libc.TLS, pBtree uintptr, pgnoRoot Pgno, iRow I64, isClearTable int32) { /* sqlite3.c:66698:13: */ var p uintptr (*Btree)(unsafe.Pointer(pBtree)).FhasIncrblobCur = U8(0) @@ -43844,7 +43854,7 @@ func invalidateIncrblobCursors(tls *libc.TLS, pBtree uintptr, pgnoRoot Pgno, iRo // optimization 2 above is omitted if the corresponding bit is already // set in BtShared.pHasContent. The contents of the bitvec are cleared // at the end of every transaction. -func btreeSetHasContent(tls *libc.TLS, pBt uintptr, pgno Pgno) int32 { /* sqlite3.c:66748:12: */ +func btreeSetHasContent(tls *libc.TLS, pBt uintptr, pgno Pgno) int32 { /* sqlite3.c:66758:12: */ var rc int32 = SQLITE_OK if !(int32((*BtShared)(unsafe.Pointer(pBt)).FpHasContent) != 0) { @@ -43864,20 +43874,20 @@ func btreeSetHasContent(tls *libc.TLS, pBt uintptr, pgno Pgno) int32 { /* sqlite // This function is called when a free-list leaf page is removed from the // free-list for reuse. It returns false if it is safe to retrieve the // page from the pager layer with the 'no-content' flag set. True otherwise. -func btreeGetHasContent(tls *libc.TLS, pBt uintptr, pgno Pgno) int32 { /* sqlite3.c:66770:12: */ +func btreeGetHasContent(tls *libc.TLS, pBt uintptr, pgno Pgno) int32 { /* sqlite3.c:66780:12: */ var p uintptr = (*BtShared)(unsafe.Pointer(pBt)).FpHasContent return libc.Bool32(p != 0 && (pgno > Xsqlite3BitvecSize(tls, p) || Xsqlite3BitvecTestNotNull(tls, p, pgno) != 0)) } // Clear (destroy) the BtShared.pHasContent bitvec. This should be // invoked at the conclusion of each write-transaction. -func btreeClearHasContent(tls *libc.TLS, pBt uintptr) { /* sqlite3.c:66779:13: */ +func btreeClearHasContent(tls *libc.TLS, pBt uintptr) { /* sqlite3.c:66789:13: */ Xsqlite3BitvecDestroy(tls, (*BtShared)(unsafe.Pointer(pBt)).FpHasContent) (*BtShared)(unsafe.Pointer(pBt)).FpHasContent = uintptr(0) } // Release all of the apPage[] pages for a cursor. -func btreeReleaseAllCursorPages(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:66787:13: */ +func btreeReleaseAllCursorPages(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:66797:13: */ var i int32 if int32((*BtCursor)(unsafe.Pointer(pCur)).FiPage) >= 0 { for i = 0; i < int32((*BtCursor)(unsafe.Pointer(pCur)).FiPage); i++ { @@ -43899,7 +43909,7 @@ func btreeReleaseAllCursorPages(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:6678 // NULL. If the cursor is open on a non-intkey table, then pCur->pKey is // set to point to a malloced buffer pCur->nKey bytes in size containing // the key. -func saveCursorKey(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:66811:12: */ +func saveCursorKey(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:66821:12: */ var rc int32 = SQLITE_OK if (*BtCursor)(unsafe.Pointer(pCur)).FcurIntKey != 0 { @@ -43936,7 +43946,7 @@ func saveCursorKey(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:66811:12: * // // The caller must ensure that the cursor is valid (has eState==CURSOR_VALID) // prior to calling this routine. -func saveCursorPosition(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:66853:12: */ +func saveCursorPosition(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:66863:12: */ var rc int32 if int32((*BtCursor)(unsafe.Pointer(pCur)).FcurFlags)&BTCF_Pinned != 0 { @@ -43977,7 +43987,7 @@ func saveCursorPosition(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:66853: // Implementation note: This routine merely checks to see if any cursors // need to be saved. It calls out to saveCursorsOnList() in the (unusual) // event that cursors are in need to being saved. -func saveAllCursors(tls *libc.TLS, pBt uintptr, iRoot Pgno, pExcept uintptr) int32 { /* sqlite3.c:66903:12: */ +func saveAllCursors(tls *libc.TLS, pBt uintptr, iRoot Pgno, pExcept uintptr) int32 { /* sqlite3.c:66913:12: */ var p uintptr for p = (*BtShared)(unsafe.Pointer(pBt)).FpCursor; p != 0; p = (*BtCursor)(unsafe.Pointer(p)).FpNext { @@ -43998,7 +44008,7 @@ func saveAllCursors(tls *libc.TLS, pBt uintptr, iRoot Pgno, pExcept uintptr) int // the cursors if and when a cursor is found that actually requires saving. // The common case is that no cursors need to be saved, so this routine is // broken out from its caller to avoid unnecessary stack pointer movement. -func saveCursorsOnList(tls *libc.TLS, p uintptr, iRoot Pgno, pExcept uintptr) int32 { /* sqlite3.c:66920:28: */ +func saveCursorsOnList(tls *libc.TLS, p uintptr, iRoot Pgno, pExcept uintptr) int32 { /* sqlite3.c:66930:28: */ for __ccgo := true; __ccgo; __ccgo = p != 0 { if p != pExcept && (Pgno(0) == iRoot || (*BtCursor)(unsafe.Pointer(p)).FpgnoRoot == iRoot) { if int32((*BtCursor)(unsafe.Pointer(p)).FeState) == CURSOR_VALID || int32((*BtCursor)(unsafe.Pointer(p)).FeState) == CURSOR_SKIPNEXT { @@ -44017,7 +44027,7 @@ func saveCursorsOnList(tls *libc.TLS, p uintptr, iRoot Pgno, pExcept uintptr) in } // Clear the current cursor position. -func Xsqlite3BtreeClearCursor(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:66945:21: */ +func Xsqlite3BtreeClearCursor(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:66955:21: */ Xsqlite3_free(tls, (*BtCursor)(unsafe.Pointer(pCur)).FpKey) (*BtCursor)(unsafe.Pointer(pCur)).FpKey = uintptr(0) @@ -44027,7 +44037,7 @@ func Xsqlite3BtreeClearCursor(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:66945: // In this version of BtreeMoveto, pKey is a packed index record // such as is generated by the OP_MakeRecord opcode. Unpack the // record and then call BtreeMovetoUnpacked() to do the work. -func btreeMoveto(tls *libc.TLS, pCur uintptr, pKey uintptr, nKey I64, bias int32, pRes uintptr) int32 { /* sqlite3.c:66957:12: */ +func btreeMoveto(tls *libc.TLS, pCur uintptr, pKey uintptr, nKey I64, bias int32, pRes uintptr) int32 { /* sqlite3.c:66967:12: */ var rc int32 // Status code var pIdxKey uintptr // Unpacked index key @@ -44040,7 +44050,7 @@ func btreeMoveto(tls *libc.TLS, pCur uintptr, pKey uintptr, nKey I64, bias int32 } Xsqlite3VdbeRecordUnpack(tls, pKeyInfo, int32(nKey), pKey, pIdxKey) if int32((*UnpackedRecord)(unsafe.Pointer(pIdxKey)).FnField) == 0 || int32((*UnpackedRecord)(unsafe.Pointer(pIdxKey)).FnField) > int32((*KeyInfo)(unsafe.Pointer(pKeyInfo)).FnAllField) { - rc = Xsqlite3CorruptError(tls, 66974) + rc = Xsqlite3CorruptError(tls, 66984) } else { rc = Xsqlite3BtreeIndexMoveto(tls, pCur, pIdxKey, pRes) } @@ -44057,7 +44067,7 @@ func btreeMoveto(tls *libc.TLS, pCur uintptr, pKey uintptr, nKey I64, bias int32 // saved position info stored by saveCursorPosition(), so there can be // at most one effective restoreCursorPosition() call after each // saveCursorPosition(). -func btreeRestoreCursorPosition(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:66993:12: */ +func btreeRestoreCursorPosition(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:67003:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -44097,7 +44107,7 @@ func btreeRestoreCursorPosition(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3. // // Use the separate sqlite3BtreeCursorRestore() routine to restore a cursor // back to where it ought to be if this routine returns true. -func Xsqlite3BtreeCursorHasMoved(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:67036:20: */ +func Xsqlite3BtreeCursorHasMoved(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:67046:20: */ return libc.Bool32(CURSOR_VALID != int32(*(*U8)(unsafe.Pointer(pCur)))) } @@ -44105,12 +44115,12 @@ func Xsqlite3BtreeCursorHasMoved(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3 // Return a pointer to a fake BtCursor object that will always answer // false to the sqlite3BtreeCursorHasMoved() routine above. The fake // cursor returned must not be used with any other Btree interface. -func Xsqlite3BtreeFakeValidCursor(tls *libc.TLS) uintptr { /* sqlite3.c:67049:25: */ +func Xsqlite3BtreeFakeValidCursor(tls *libc.TLS) uintptr { /* sqlite3.c:67059:25: */ return uintptr(unsafe.Pointer(&fakeCursor)) } -var fakeCursor U8 = U8(CURSOR_VALID) /* sqlite3.c:67050:13 */ +var fakeCursor U8 = U8(CURSOR_VALID) /* sqlite3.c:67060:13 */ // This routine restores a cursor back to its original position after it // has been moved by some outside activity (such as a btree rebalance or @@ -44123,7 +44133,7 @@ var fakeCursor U8 = U8(CURSOR_VALID) /* sqlite3.c:67050:13 */ // // This routine should only be called for a cursor that just returned // TRUE from sqlite3BtreeCursorHasMoved(). -func Xsqlite3BtreeCursorRestore(tls *libc.TLS, pCur uintptr, pDifferentRow uintptr) int32 { /* sqlite3.c:67068:20: */ +func Xsqlite3BtreeCursorRestore(tls *libc.TLS, pCur uintptr, pDifferentRow uintptr) int32 { /* sqlite3.c:67078:20: */ var rc int32 rc = func() int32 { @@ -44145,7 +44155,7 @@ func Xsqlite3BtreeCursorRestore(tls *libc.TLS, pCur uintptr, pDifferentRow uintp } // Provide flag hints to the cursor. -func Xsqlite3BtreeCursorHintFlags(tls *libc.TLS, pCur uintptr, x uint32) { /* sqlite3.c:67100:21: */ +func Xsqlite3BtreeCursorHintFlags(tls *libc.TLS, pCur uintptr, x uint32) { /* sqlite3.c:67110:21: */ (*BtCursor)(unsafe.Pointer(pCur)).Fhints = U8(x) } @@ -44157,7 +44167,7 @@ func Xsqlite3BtreeCursorHintFlags(tls *libc.TLS, pCur uintptr, x uint32) { /* sq // Return 0 (not a valid page) for pgno==1 since there is // no pointer map associated with page 1. The integrity_check logic // requires that ptrmapPageno(*,1)!=1. -func ptrmapPageno(tls *libc.TLS, pBt uintptr, pgno Pgno) Pgno { /* sqlite3.c:67116:13: */ +func ptrmapPageno(tls *libc.TLS, pBt uintptr, pgno Pgno) Pgno { /* sqlite3.c:67126:13: */ var nPagesPerMapPage int32 var iPtrMap Pgno var ret Pgno @@ -44182,7 +44192,7 @@ func ptrmapPageno(tls *libc.TLS, pBt uintptr, pgno Pgno) Pgno { /* sqlite3.c:671 // If *pRC is initially non-zero (non-SQLITE_OK) then this routine is // a no-op. If an error occurs, the appropriate error code is written // into *pRC. -func ptrmapPut(tls *libc.TLS, pBt uintptr, key Pgno, eType U8, parent Pgno, pRC uintptr) { /* sqlite3.c:67140:13: */ +func ptrmapPut(tls *libc.TLS, pBt uintptr, key Pgno, eType U8, parent Pgno, pRC uintptr) { /* sqlite3.c:67150:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -44205,7 +44215,7 @@ __1: if !(key == Pgno(0)) { goto __2 } - *(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 67155) + *(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 67165) return __2: ; @@ -44224,7 +44234,7 @@ __3: // 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)) = Xsqlite3CorruptError(tls, 67168) + *(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 67178) goto ptrmap_exit __4: ; @@ -44232,7 +44242,7 @@ __4: if !(offset < 0) { goto __5 } - *(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 67173) + *(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 67183) goto ptrmap_exit __5: ; @@ -44263,7 +44273,7 @@ ptrmap_exit: // This routine retrieves the pointer map entry for page 'key', writing // the type and parent page number to *pEType and *pPgno respectively. // An error code is returned if something goes wrong, otherwise SQLITE_OK. -func ptrmapGet(tls *libc.TLS, pBt uintptr, key Pgno, pEType uintptr, pPgno uintptr) int32 { /* sqlite3.c:67199:12: */ +func ptrmapGet(tls *libc.TLS, pBt uintptr, key Pgno, pEType uintptr, pPgno uintptr) int32 { /* sqlite3.c:67209:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -44284,7 +44294,7 @@ func ptrmapGet(tls *libc.TLS, pBt uintptr, key Pgno, pEType uintptr, pPgno uintp offset = int32(Pgno(5) * (key - Pgno(iPtrmap) - Pgno(1))) if offset < 0 { Xsqlite3PagerUnref(tls, *(*uintptr)(unsafe.Pointer(bp /* pDbPage */))) - return Xsqlite3CorruptError(tls, 67218) + return Xsqlite3CorruptError(tls, 67228) } *(*U8)(unsafe.Pointer(pEType)) = *(*U8)(unsafe.Pointer(pPtrmap + uintptr(offset))) @@ -44294,7 +44304,7 @@ func ptrmapGet(tls *libc.TLS, pBt uintptr, key Pgno, pEType uintptr, pPgno uintp Xsqlite3PagerUnref(tls, *(*uintptr)(unsafe.Pointer(bp /* pDbPage */))) if int32(*(*U8)(unsafe.Pointer(pEType))) < 1 || int32(*(*U8)(unsafe.Pointer(pEType))) > 5 { - return Xsqlite3CorruptError(tls, 67226) + return Xsqlite3CorruptError(tls, 67236) } return SQLITE_OK } @@ -44312,7 +44322,7 @@ func ptrmapGet(tls *libc.TLS, pBt uintptr, key Pgno, pEType uintptr, pPgno uintp // btreeParseCellPtrIndex() for the case when the cell does not fit entirely // on a single B-tree page. Make necessary adjustments to the CellInfo // structure. -func btreeParseCellAdjustSizeForOverflow(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintptr) { /* sqlite3.c:67258:29: */ +func btreeParseCellAdjustSizeForOverflow(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintptr) { /* sqlite3.c:67268:29: */ // If the payload will not fit completely on the local page, we have // to decide how much to store locally and how much to spill onto // overflow pages. The strategy is to minimize the amount of unused @@ -44339,7 +44349,7 @@ func btreeParseCellAdjustSizeForOverflow(tls *libc.TLS, pPage uintptr, pCell uin // Given a record with nPayload bytes of payload stored within btree // page pPage, return the number of bytes of payload stored locally. -func btreePayloadToLocal(tls *libc.TLS, pPage uintptr, nPayload I64) int32 { /* sqlite3.c:67293:12: */ +func btreePayloadToLocal(tls *libc.TLS, pPage uintptr, nPayload I64) int32 { /* sqlite3.c:67303:12: */ var maxLocal int32 // Maximum amount of payload held locally maxLocal = int32((*MemPage)(unsafe.Pointer(pPage)).FmaxLocal) if nPayload <= I64(maxLocal) { @@ -44369,7 +44379,7 @@ func btreePayloadToLocal(tls *libc.TLS, pPage uintptr, nPayload I64) int32 { /* // There is also a wrapper function btreeParseCell() that works for // all MemPage types and that references the cell by index rather than // by pointer. -func btreeParseCellPtrNoPayload(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintptr) { /* sqlite3.c:67321:13: */ +func btreeParseCellPtrNoPayload(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintptr) { /* sqlite3.c:67331:13: */ _ = pPage (*CellInfo)(unsafe.Pointer(pInfo)).FnSize = U16(4 + int32(Xsqlite3GetVarint(tls, pCell+4, pInfo))) @@ -44379,7 +44389,7 @@ func btreeParseCellPtrNoPayload(tls *libc.TLS, pPage uintptr, pCell uintptr, pIn return } -func btreeParseCellPtr(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintptr) { /* sqlite3.c:67338:13: */ +func btreeParseCellPtr(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintptr) { /* sqlite3.c:67348:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -44456,7 +44466,7 @@ func btreeParseCellPtr(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintpt } } -func btreeParseCellPtrIndex(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintptr) { /* sqlite3.c:67420:13: */ +func btreeParseCellPtrIndex(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintptr) { /* sqlite3.c:67430:13: */ var pIter uintptr // For scanning through pCell var nPayload U32 // Number of bytes of cell payload @@ -44487,7 +44497,7 @@ func btreeParseCellPtrIndex(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo u } } -func btreeParseCell(tls *libc.TLS, pPage uintptr, iCell int32, pInfo uintptr) { /* sqlite3.c:67457:13: */ +func btreeParseCell(tls *libc.TLS, pPage uintptr, iCell int32, pInfo uintptr) { /* sqlite3.c:67467:13: */ (*struct { f func(*libc.TLS, uintptr, uintptr, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*MemPage)(unsafe.Pointer(pPage)).FxParseCell})).f(tls, pPage, (*MemPage)(unsafe.Pointer(pPage)).FaData+uintptr(int32((*MemPage)(unsafe.Pointer(pPage)).FmaskPage)&int32(libc.X__builtin_bswap16(tls, *(*U16)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPage)).FaCellIdx + uintptr(2*iCell)))))), pInfo) @@ -44503,7 +44513,7 @@ func btreeParseCell(tls *libc.TLS, pPage uintptr, iCell int32, pInfo uintptr) { // // cellSizePtrNoPayload() => table internal nodes // cellSizePtr() => all index nodes & table leaf nodes -func cellSizePtr(tls *libc.TLS, pPage uintptr, pCell uintptr) U16 { /* sqlite3.c:67477:12: */ +func cellSizePtr(tls *libc.TLS, pPage uintptr, pCell uintptr) U16 { /* sqlite3.c:67487:12: */ var pIter uintptr = pCell + uintptr((*MemPage)(unsafe.Pointer(pPage)).FchildPtrSize) // For looping over bytes of pCell var pEnd uintptr // End mark for a varint var nSize U32 // Size value to return @@ -44544,7 +44554,7 @@ func cellSizePtr(tls *libc.TLS, pPage uintptr, pCell uintptr) U16 { /* sqlite3.c return U16(nSize) } -func cellSizePtrNoPayload(tls *libc.TLS, pPage uintptr, pCell uintptr) U16 { /* sqlite3.c:67525:12: */ +func cellSizePtrNoPayload(tls *libc.TLS, pPage uintptr, pCell uintptr) U16 { /* sqlite3.c:67535:12: */ var pIter uintptr = pCell + uintptr(4) // For looping over bytes of pCell var pEnd uintptr // End mark for a varint @@ -44561,7 +44571,7 @@ func cellSizePtrNoPayload(tls *libc.TLS, pPage uintptr, pCell uintptr) U16 { /* // of pPage. (pSrc and pPager are often the same.) If pCell contains a // pointer to an overflow page, insert an entry into the pointer-map for // the overflow page that will be valid after pCell has been moved to pPage. -func ptrmapPutOvflPtr(tls *libc.TLS, pPage uintptr, pSrc uintptr, pCell uintptr, pRC uintptr) { /* sqlite3.c:67563:13: */ +func ptrmapPutOvflPtr(tls *libc.TLS, pPage uintptr, pSrc uintptr, pCell uintptr, pRC uintptr) { /* sqlite3.c:67573:13: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -44578,7 +44588,7 @@ func ptrmapPutOvflPtr(tls *libc.TLS, pPage uintptr, pSrc uintptr, pCell uintptr, var ovfl Pgno if Uptr((*MemPage)(unsafe.Pointer(pSrc)).FaDataEnd) >= Uptr(pCell) && Uptr((*MemPage)(unsafe.Pointer(pSrc)).FaDataEnd) < Uptr(pCell+uintptr((*CellInfo)(unsafe.Pointer(bp)).FnLocal)) { - *(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 67572) + *(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 67582) return } ovfl = Xsqlite3Get4byte(tls, pCell+uintptr(int32((*CellInfo)(unsafe.Pointer(bp)).FnSize)-4)) @@ -44596,7 +44606,7 @@ func ptrmapPutOvflPtr(tls *libc.TLS, pPage uintptr, pSrc uintptr, pCell uintptr, // b-tree page so that there are no freeblocks or fragment bytes, all // unused bytes are contained in the unallocated space region, and all // cells are packed tightly at the end of the page. -func defragmentPage(tls *libc.TLS, pPage uintptr, nMaxFrag int32) int32 { /* sqlite3.c:67594:12: */ +func defragmentPage(tls *libc.TLS, pPage uintptr, nMaxFrag int32) int32 { /* sqlite3.c:67604:12: */ var i int32 // Loop counter var pc int32 // Address of the i-th cell var hdr int32 // Offset to the page header @@ -44641,7 +44651,7 @@ func defragmentPage(tls *libc.TLS, pPage uintptr, nMaxFrag int32) int32 { /* sql if !(iFree > usableSize-4) { goto __2 } - return Xsqlite3CorruptError(tls, 67631) + return Xsqlite3CorruptError(tls, 67641) __2: ; if !(iFree != 0) { @@ -44651,7 +44661,7 @@ __2: if !(iFree2 > usableSize-4) { goto __4 } - return Xsqlite3CorruptError(tls, 67634) + return Xsqlite3CorruptError(tls, 67644) __4: ; if !(0 == iFree2 || int32(*(*uint8)(unsafe.Pointer(data + uintptr(iFree2)))) == 0 && int32(*(*uint8)(unsafe.Pointer(data + uintptr(iFree2+1)))) == 0) { @@ -44664,7 +44674,7 @@ __4: if !(top >= iFree) { goto __6 } - return Xsqlite3CorruptError(tls, 67642) + return Xsqlite3CorruptError(tls, 67652) __6: ; if !(iFree2 != 0) { @@ -44673,14 +44683,14 @@ __6: if !(iFree+sz > iFree2) { goto __9 } - return Xsqlite3CorruptError(tls, 67645) + return Xsqlite3CorruptError(tls, 67655) __9: ; sz2 = int32(*(*uint8)(unsafe.Pointer(data + uintptr(iFree2+2))))<<8 | int32(*(*uint8)(unsafe.Pointer(data + uintptr(iFree2+2) + 1))) if !(iFree2+sz2 > usableSize) { goto __10 } - return Xsqlite3CorruptError(tls, 67647) + return Xsqlite3CorruptError(tls, 67657) __10: ; libc.Xmemmove(tls, data+uintptr(iFree+sz+sz2), data+uintptr(iFree+sz), uint64(iFree2-(iFree+sz))) @@ -44690,7 +44700,7 @@ __7: if !(iFree+sz > usableSize) { goto __11 } - return Xsqlite3CorruptError(tls, 67651) + return Xsqlite3CorruptError(tls, 67661) __11: ; __8: @@ -44752,7 +44762,7 @@ __18: if !(pc < iCellStart || pc > iCellLast) { goto __21 } - return Xsqlite3CorruptError(tls, 67680) + return Xsqlite3CorruptError(tls, 67690) __21: ; @@ -44763,7 +44773,7 @@ __21: if !(cbrk < iCellStart || pc+size > usableSize) { goto __22 } - return Xsqlite3CorruptError(tls, 67686) + return Xsqlite3CorruptError(tls, 67696) __22: ; @@ -44798,7 +44808,7 @@ defragment_out: if !(int32(*(*uint8)(unsafe.Pointer(data + uintptr(hdr+7))))+cbrk-iCellFirst != (*MemPage)(unsafe.Pointer(pPage)).FnFree) { goto __25 } - return Xsqlite3CorruptError(tls, 67705) + return Xsqlite3CorruptError(tls, 67715) __25: ; @@ -44823,7 +44833,7 @@ __25: // Slots on the free list that are between 1 and 3 bytes larger than nByte // will be ignored if adding the extra space to the fragmentation count // causes the fragmentation count to exceed 60. -func pageFindSlot(tls *libc.TLS, pPg uintptr, nByte int32, pRc uintptr) uintptr { /* sqlite3.c:67730:11: */ +func pageFindSlot(tls *libc.TLS, pPg uintptr, nByte int32, pRc uintptr) uintptr { /* sqlite3.c:67740:11: */ var hdr int32 = int32((*MemPage)(unsafe.Pointer(pPg)).FhdrOffset) // Offset to page header var aData uintptr = (*MemPage)(unsafe.Pointer(pPg)).FaData // Page data var iAddr int32 = hdr + 1 // Address of ptr to pc @@ -44852,7 +44862,7 @@ func pageFindSlot(tls *libc.TLS, pPg uintptr, nByte int32, pRc uintptr) uintptr *(*U8)(unsafe.Pointer(aData + uintptr(hdr+7))) += U8(int32(U8(x))) } else if x+pc > maxPC { // This slot extends off the end of the usable part of the page - *(*int32)(unsafe.Pointer(pRc)) = Xsqlite3CorruptError(tls, 67759) + *(*int32)(unsafe.Pointer(pRc)) = Xsqlite3CorruptError(tls, 67769) return uintptr(0) } else { // The slot remains on the free-list. Reduce its size to account @@ -44867,14 +44877,14 @@ func pageFindSlot(tls *libc.TLS, pPg uintptr, nByte int32, pRc uintptr) uintptr if pc <= iAddr+size { if pc != 0 { // The next slot in the chain is not past the end of the current slot - *(*int32)(unsafe.Pointer(pRc)) = Xsqlite3CorruptError(tls, 67773) + *(*int32)(unsafe.Pointer(pRc)) = Xsqlite3CorruptError(tls, 67783) } return uintptr(0) } } if pc > maxPC+nByte-4 { // The free slot chain extends off the end of the page - *(*int32)(unsafe.Pointer(pRc)) = Xsqlite3CorruptError(tls, 67780) + *(*int32)(unsafe.Pointer(pRc)) = Xsqlite3CorruptError(tls, 67790) } return uintptr(0) } @@ -44890,7 +44900,7 @@ func pageFindSlot(tls *libc.TLS, pPg uintptr, nByte int32, pRc uintptr) uintptr // the first two bytes past the cell pointer area since presumably this // allocation is being made in order to insert a new cell, so we will // also end up needing a new cell pointer. -func allocateSpace(tls *libc.TLS, pPage uintptr, nByte int32, pIdx uintptr) int32 { /* sqlite3.c:67798:12: */ +func allocateSpace(tls *libc.TLS, pPage uintptr, nByte int32, pIdx uintptr) int32 { /* sqlite3.c:67808:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -44915,7 +44925,7 @@ func allocateSpace(tls *libc.TLS, pPage uintptr, nByte int32, pIdx uintptr) int3 if top == 0 && (*BtShared)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize == U32(65536) { top = 65536 } else { - return Xsqlite3CorruptError(tls, 67827) + return Xsqlite3CorruptError(tls, 67837) } } @@ -44930,7 +44940,7 @@ func allocateSpace(tls *libc.TLS, pPage uintptr, nByte int32, pIdx uintptr) int3 *(*int32)(unsafe.Pointer(pIdx)) = libc.AssignInt32(&g2, int32((int64(pSpace)-int64(data))/1)) if g2 <= gap { - return Xsqlite3CorruptError(tls, 67845) + return Xsqlite3CorruptError(tls, 67855) } else { return SQLITE_OK } @@ -44981,7 +44991,7 @@ func allocateSpace(tls *libc.TLS, pPage uintptr, nByte int32, pIdx uintptr) int3 // does it detect cells or freeblocks that encrouch into the reserved bytes // at the end of the page. So do additional corruption checks inside this // routine and return SQLITE_CORRUPT if any problems are found. -func freeSpace(tls *libc.TLS, pPage uintptr, iStart U16, iSize U16) int32 { /* sqlite3.c:67894:12: */ +func freeSpace(tls *libc.TLS, pPage uintptr, iStart U16, iSize U16) int32 { /* sqlite3.c:67904:12: */ var iPtr U16 // Address of ptr to next freeblock var iFreeBlk U16 // Address of the next freeblock var hdr U8 // Page header size. 0 or 100 @@ -45005,12 +45015,12 @@ func freeSpace(tls *libc.TLS, pPage uintptr, iStart U16, iSize U16) int32 { /* s if int32(iFreeBlk) == 0 { break } // TH3: corrupt082.100 - return Xsqlite3CorruptError(tls, 67923) + return Xsqlite3CorruptError(tls, 67933) } iPtr = iFreeBlk } if U32(iFreeBlk) > (*BtShared)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize-U32(4) { // TH3: corrupt081.100 - return Xsqlite3CorruptError(tls, 67928) + return Xsqlite3CorruptError(tls, 67938) } // At this point: @@ -45021,11 +45031,11 @@ func freeSpace(tls *libc.TLS, pPage uintptr, iStart U16, iSize U16) int32 { /* s if iFreeBlk != 0 && iEnd+U32(3) >= U32(iFreeBlk) { nFrag = U8(U32(iFreeBlk) - iEnd) if iEnd > U32(iFreeBlk) { - return Xsqlite3CorruptError(tls, 67940) + return Xsqlite3CorruptError(tls, 67950) } iEnd = U32(int32(iFreeBlk) + (int32(*(*uint8)(unsafe.Pointer(data + uintptr(int32(iFreeBlk)+2))))<<8 | int32(*(*uint8)(unsafe.Pointer(data + uintptr(int32(iFreeBlk)+2) + 1))))) if iEnd > (*BtShared)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize { - return Xsqlite3CorruptError(tls, 67943) + return Xsqlite3CorruptError(tls, 67953) } iSize = U16(iEnd - U32(iStart)) iFreeBlk = U16(int32(*(*uint8)(unsafe.Pointer(data + uintptr(iFreeBlk))))<<8 | int32(*(*uint8)(unsafe.Pointer(data + uintptr(iFreeBlk) + 1)))) @@ -45038,7 +45048,7 @@ func freeSpace(tls *libc.TLS, pPage uintptr, iStart U16, iSize U16) int32 { /* s var iPtrEnd int32 = int32(iPtr) + (int32(*(*uint8)(unsafe.Pointer(data + uintptr(int32(iPtr)+2))))<<8 | int32(*(*uint8)(unsafe.Pointer(data + uintptr(int32(iPtr)+2) + 1)))) if iPtrEnd+3 >= int32(iStart) { if iPtrEnd > int32(iStart) { - return Xsqlite3CorruptError(tls, 67956) + return Xsqlite3CorruptError(tls, 67966) } nFrag = U8(int32(nFrag) + (int32(iStart) - iPtrEnd)) iSize = U16(iEnd - U32(iPtr)) @@ -45046,7 +45056,7 @@ func freeSpace(tls *libc.TLS, pPage uintptr, iStart U16, iSize U16) int32 { /* s } } if int32(nFrag) > int32(*(*uint8)(unsafe.Pointer(data + uintptr(int32(hdr)+7)))) { - return Xsqlite3CorruptError(tls, 67962) + return Xsqlite3CorruptError(tls, 67972) } *(*uint8)(unsafe.Pointer(data + uintptr(int32(hdr)+7))) -= uint8(int32(nFrag)) } @@ -45056,10 +45066,10 @@ func freeSpace(tls *libc.TLS, pPage uintptr, iStart U16, iSize U16) int32 { /* s // so just extend the cell content area rather than create another // freelist entry if int32(iStart) < int32(x) { - return Xsqlite3CorruptError(tls, 67970) + return Xsqlite3CorruptError(tls, 67980) } if int32(iPtr) != int32(hdr)+1 { - return Xsqlite3CorruptError(tls, 67971) + return Xsqlite3CorruptError(tls, 67981) } *(*uint8)(unsafe.Pointer(data + uintptr(int32(hdr)+1))) = U8(int32(iFreeBlk) >> 8) *(*uint8)(unsafe.Pointer(data + uintptr(int32(hdr)+1) + 1)) = U8(iFreeBlk) @@ -45093,7 +45103,7 @@ func freeSpace(tls *libc.TLS, pPage uintptr, iStart U16, iSize U16) int32 { /* s // PTF_ZERODATA | PTF_LEAF // PTF_LEAFDATA | PTF_INTKEY // PTF_LEAFDATA | PTF_INTKEY | PTF_LEAF -func decodeFlags(tls *libc.TLS, pPage uintptr, flagByte int32) int32 { /* sqlite3.c:68001:12: */ +func decodeFlags(tls *libc.TLS, pPage uintptr, flagByte int32) int32 { /* sqlite3.c:68011:12: */ var pBt uintptr // A copy of pPage->pBt (*MemPage)(unsafe.Pointer(pPage)).Fleaf = U8(flagByte >> 3) @@ -45144,7 +45154,7 @@ func decodeFlags(tls *libc.TLS, pPage uintptr, flagByte int32) int32 { /* sqlite } else { // EVIDENCE-OF: R-47608-56469 Any other value for the b-tree page type is // an error. - return Xsqlite3CorruptError(tls, 68044) + return Xsqlite3CorruptError(tls, 68054) } (*MemPage)(unsafe.Pointer(pPage)).Fmax1bytePayload = (*BtShared)(unsafe.Pointer(pBt)).Fmax1bytePayload return SQLITE_OK @@ -45152,7 +45162,7 @@ func decodeFlags(tls *libc.TLS, pPage uintptr, flagByte int32) int32 { /* sqlite // Compute the amount of freespace on the page. In other words, fill // in the pPage->nFree field. -func btreeComputeFreeSpace(tls *libc.TLS, pPage uintptr) int32 { /* sqlite3.c:68054:12: */ +func btreeComputeFreeSpace(tls *libc.TLS, pPage uintptr) int32 { /* sqlite3.c:68064:12: */ var pc int32 // Address of a freeblock within pPage->aData[] var hdr U8 // Offset to beginning of page header var data uintptr // Equal to pPage->aData @@ -45184,12 +45194,12 @@ func btreeComputeFreeSpace(tls *libc.TLS, pPage uintptr) int32 { /* sqlite3.c:68 if pc < top { // 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 Xsqlite3CorruptError(tls, 68095) + return Xsqlite3CorruptError(tls, 68105) } for 1 != 0 { if pc > iCellLast { // Freeblock off the end of the page - return Xsqlite3CorruptError(tls, 68100) + return Xsqlite3CorruptError(tls, 68110) } next = U32(int32(*(*U8)(unsafe.Pointer(data + uintptr(pc))))<<8 | int32(*(*U8)(unsafe.Pointer(data + uintptr(pc) + 1)))) size = U32(int32(*(*U8)(unsafe.Pointer(data + uintptr(pc+2))))<<8 | int32(*(*U8)(unsafe.Pointer(data + uintptr(pc+2) + 1)))) @@ -45201,11 +45211,11 @@ func btreeComputeFreeSpace(tls *libc.TLS, pPage uintptr) int32 { /* sqlite3.c:68 } if next > U32(0) { // Freeblock not in ascending order - return Xsqlite3CorruptError(tls, 68110) + return Xsqlite3CorruptError(tls, 68120) } if U32(pc)+size > uint32(usableSize) { // Last freeblock extends past page end - return Xsqlite3CorruptError(tls, 68114) + return Xsqlite3CorruptError(tls, 68124) } } @@ -45216,7 +45226,7 @@ func btreeComputeFreeSpace(tls *libc.TLS, pPage uintptr) int32 { /* sqlite3.c:68 // serves to verify that the offset to the start of the cell-content // area, according to the page header, lies within the page. if nFree > usableSize || nFree < iCellFirst { - return Xsqlite3CorruptError(tls, 68126) + return Xsqlite3CorruptError(tls, 68136) } (*MemPage)(unsafe.Pointer(pPage)).FnFree = int32(U16(nFree - iCellFirst)) return SQLITE_OK @@ -45224,7 +45234,7 @@ func btreeComputeFreeSpace(tls *libc.TLS, pPage uintptr) int32 { /* sqlite3.c:68 // Do additional sanity check after btreeInitPage() if // PRAGMA cell_size_check=ON -func btreeCellSizeCheck(tls *libc.TLS, pPage uintptr) int32 { /* sqlite3.c:68136:28: */ +func btreeCellSizeCheck(tls *libc.TLS, pPage uintptr) int32 { /* sqlite3.c:68146:28: */ var iCellFirst int32 // First allowable cell or freeblock offset var iCellLast int32 // Last possible cell or freeblock offset var i int32 // Index into the cell pointer array @@ -45246,14 +45256,14 @@ func btreeCellSizeCheck(tls *libc.TLS, pPage uintptr) int32 { /* sqlite3.c:68136 pc = int32(libc.X__builtin_bswap16(tls, *(*U16)(unsafe.Pointer(data + uintptr(cellOffset+i*2))))) if pc < iCellFirst || pc > iCellLast { - return Xsqlite3CorruptError(tls, 68157) + return Xsqlite3CorruptError(tls, 68167) } sz = int32((*struct { f func(*libc.TLS, uintptr, uintptr) U16 })(unsafe.Pointer(&struct{ uintptr }{(*MemPage)(unsafe.Pointer(pPage)).FxCellSize})).f(tls, pPage, data+uintptr(pc))) if pc+sz > usableSize { - return Xsqlite3CorruptError(tls, 68162) + return Xsqlite3CorruptError(tls, 68172) } } return SQLITE_OK @@ -45266,7 +45276,7 @@ func btreeCellSizeCheck(tls *libc.TLS, pPage uintptr) int32 { /* sqlite3.c:68136 // SQLITE_CORRUPT. Note that a return of SQLITE_OK does not // guarantee that the page is well-formed. It only shows that // we failed to detect any corruption. -func btreeInitPage(tls *libc.TLS, pPage uintptr) int32 { /* sqlite3.c:68177:12: */ +func btreeInitPage(tls *libc.TLS, pPage uintptr) int32 { /* sqlite3.c:68187:12: */ var data uintptr // Equal to pPage->aData var pBt uintptr // The main btree structure @@ -45275,7 +45285,7 @@ func btreeInitPage(tls *libc.TLS, pPage uintptr) int32 { /* sqlite3.c:68177:12: // EVIDENCE-OF: R-28594-02890 The one-byte flag at offset 0 indicating // the b-tree page type. if decodeFlags(tls, pPage, int32(*(*U8)(unsafe.Pointer(data)))) != 0 { - return Xsqlite3CorruptError(tls, 68194) + return Xsqlite3CorruptError(tls, 68204) } (*MemPage)(unsafe.Pointer(pPage)).FmaskPage = U16((*BtShared)(unsafe.Pointer(pBt)).FpageSize - U32(1)) @@ -45289,7 +45299,7 @@ func btreeInitPage(tls *libc.TLS, pPage uintptr) int32 { /* sqlite3.c:68177:12: (*MemPage)(unsafe.Pointer(pPage)).FnCell = U16(int32(*(*U8)(unsafe.Pointer(data + 3)))<<8 | int32(*(*U8)(unsafe.Pointer(data + 3 + 1)))) if U32((*MemPage)(unsafe.Pointer(pPage)).FnCell) > ((*BtShared)(unsafe.Pointer(pBt)).FpageSize-U32(8))/U32(6) { // To many cells for a single page. The page must be corrupt - return Xsqlite3CorruptError(tls, 68208) + return Xsqlite3CorruptError(tls, 68218) } // EVIDENCE-OF: R-24089-57979 If a page contains no cells (which is only @@ -45307,7 +45317,7 @@ func btreeInitPage(tls *libc.TLS, pPage uintptr) int32 { /* sqlite3.c:68177:12: // Set up a raw page so that it looks like a database page holding // no entries. -func zeroPage(tls *libc.TLS, pPage uintptr, flags int32) { /* sqlite3.c:68230:13: */ +func zeroPage(tls *libc.TLS, pPage uintptr, flags int32) { /* sqlite3.c:68240:13: */ var data uintptr = (*MemPage)(unsafe.Pointer(pPage)).FaData var pBt uintptr = (*MemPage)(unsafe.Pointer(pPage)).FpBt var hdr U8 = (*MemPage)(unsafe.Pointer(pPage)).FhdrOffset @@ -45342,7 +45352,7 @@ func zeroPage(tls *libc.TLS, pPage uintptr, flags int32) { /* sqlite3.c:68230:13 // Convert a DbPage obtained from the pager into a MemPage used by // the btree layer. -func btreePageFromDbPage(tls *libc.TLS, pDbPage uintptr, pgno Pgno, pBt uintptr) uintptr { /* sqlite3.c:68267:16: */ +func btreePageFromDbPage(tls *libc.TLS, pDbPage uintptr, pgno Pgno, pBt uintptr) uintptr { /* sqlite3.c:68277:16: */ var pPage uintptr = Xsqlite3PagerGetExtra(tls, pDbPage) if pgno != (*MemPage)(unsafe.Pointer(pPage)).Fpgno { (*MemPage)(unsafe.Pointer(pPage)).FaData = Xsqlite3PagerGetData(tls, pDbPage) @@ -45369,7 +45379,7 @@ func btreePageFromDbPage(tls *libc.TLS, pDbPage uintptr, pgno Pgno, pBt uintptr) // If in the future we call sqlite3PagerWrite() on this page, that // means we have started to be concerned about content and the disk // read should occur at that point. -func btreeGetPage(tls *libc.TLS, pBt uintptr, pgno Pgno, ppPage uintptr, flags int32) int32 { /* sqlite3.c:68291:12: */ +func btreeGetPage(tls *libc.TLS, pBt uintptr, pgno Pgno, ppPage uintptr, flags int32) int32 { /* sqlite3.c:68301:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -45387,7 +45397,7 @@ func btreeGetPage(tls *libc.TLS, pBt uintptr, pgno Pgno, ppPage uintptr, flags i // Retrieve a page from the pager cache. If the requested page is not // already in the pager cache return NULL. Initialize the MemPage.pBt and // MemPage.aData elements if needed. -func btreePageLookup(tls *libc.TLS, pBt uintptr, pgno Pgno) uintptr { /* sqlite3.c:68313:16: */ +func btreePageLookup(tls *libc.TLS, pBt uintptr, pgno Pgno) uintptr { /* sqlite3.c:68323:16: */ var pDbPage uintptr pDbPage = Xsqlite3PagerLookup(tls, (*BtShared)(unsafe.Pointer(pBt)).FpPager, pgno) @@ -45399,11 +45409,11 @@ func btreePageLookup(tls *libc.TLS, pBt uintptr, pgno Pgno) uintptr { /* sqlite3 // Return the size of the database file in pages. If there is any kind of // error, return ((unsigned int)-1). -func btreePagecount(tls *libc.TLS, pBt uintptr) Pgno { /* sqlite3.c:68327:13: */ +func btreePagecount(tls *libc.TLS, pBt uintptr) Pgno { /* sqlite3.c:68337:13: */ return (*BtShared)(unsafe.Pointer(pBt)).FnPage } -func Xsqlite3BtreeLastPage(tls *libc.TLS, p uintptr) Pgno { /* sqlite3.c:68330:21: */ +func Xsqlite3BtreeLastPage(tls *libc.TLS, p uintptr) Pgno { /* sqlite3.c:68340:21: */ return btreePagecount(tls, (*Btree)(unsafe.Pointer(p)).FpBt) } @@ -45419,7 +45429,7 @@ func Xsqlite3BtreeLastPage(tls *libc.TLS, p uintptr) Pgno { /* sqlite3.c:68330:2 // // If an error occurs, then *ppPage is undefined. It // may remain unchanged, or it may be set to an invalid value. -func getAndInitPage(tls *libc.TLS, pBt uintptr, pgno Pgno, ppPage uintptr, pCur uintptr, bReadOnly int32) int32 { /* sqlite3.c:68348:12: */ +func getAndInitPage(tls *libc.TLS, pBt uintptr, pgno Pgno, ppPage uintptr, pCur uintptr, bReadOnly int32) int32 { /* sqlite3.c:68358:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -45429,7 +45439,7 @@ func getAndInitPage(tls *libc.TLS, pBt uintptr, pgno Pgno, ppPage uintptr, pCur if !(pgno > btreePagecount(tls, pBt)) { goto __1 } - rc = Xsqlite3CorruptError(tls, 68363) + rc = Xsqlite3CorruptError(tls, 68373) goto getAndInitPage_error1 __1: ; @@ -45460,7 +45470,7 @@ __3: if !(pCur != 0 && (int32((*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(ppPage)))).FnCell) < 1 || int32((*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(ppPage)))).FintKey) != int32((*BtCursor)(unsafe.Pointer(pCur)).FcurIntKey))) { goto __5 } - rc = Xsqlite3CorruptError(tls, 68384) + rc = Xsqlite3CorruptError(tls, 68394) goto getAndInitPage_error2 __5: ; @@ -45484,18 +45494,18 @@ __6: // call to btreeGetPage. // // Page1 is a special case and must be released using releasePageOne(). -func releasePageNotNull(tls *libc.TLS, pPage uintptr) { /* sqlite3.c:68407:13: */ +func releasePageNotNull(tls *libc.TLS, pPage uintptr) { /* sqlite3.c:68417:13: */ Xsqlite3PagerUnrefNotNull(tls, (*MemPage)(unsafe.Pointer(pPage)).FpDbPage) } -func releasePage(tls *libc.TLS, pPage uintptr) { /* sqlite3.c:68416:13: */ +func releasePage(tls *libc.TLS, pPage uintptr) { /* sqlite3.c:68426:13: */ if pPage != 0 { releasePageNotNull(tls, pPage) } } -func releasePageOne(tls *libc.TLS, pPage uintptr) { /* sqlite3.c:68419:13: */ +func releasePageOne(tls *libc.TLS, pPage uintptr) { /* sqlite3.c:68429:13: */ Xsqlite3PagerUnrefPageOne(tls, (*MemPage)(unsafe.Pointer(pPage)).FpDbPage) } @@ -45507,13 +45517,13 @@ func releasePageOne(tls *libc.TLS, pPage uintptr) { /* sqlite3.c:68419:13: */ // * If the page is already in use for some other purpose, immediately // release it and return an SQLITE_CURRUPT error. // * Make sure the isInit flag is clear -func btreeGetUnusedPage(tls *libc.TLS, pBt uintptr, pgno Pgno, ppPage uintptr, flags int32) int32 { /* sqlite3.c:68439:12: */ +func btreeGetUnusedPage(tls *libc.TLS, pBt uintptr, pgno Pgno, ppPage uintptr, flags int32) int32 { /* sqlite3.c:68449:12: */ var rc int32 = btreeGetPage(tls, pBt, pgno, ppPage, flags) if rc == SQLITE_OK { if Xsqlite3PagerPageRefcount(tls, (*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(ppPage)))).FpDbPage) > 1 { releasePage(tls, *(*uintptr)(unsafe.Pointer(ppPage))) *(*uintptr)(unsafe.Pointer(ppPage)) = uintptr(0) - return Xsqlite3CorruptError(tls, 68450) + return Xsqlite3CorruptError(tls, 68460) } (*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(ppPage)))).FisInit = U8(0) } else { @@ -45528,7 +45538,7 @@ func btreeGetUnusedPage(tls *libc.TLS, pBt uintptr, pgno Pgno, ppPage uintptr, f // // This routine needs to reset the extra data section at the end of the // page to agree with the restored data. -func pageReinit(tls *libc.TLS, pData uintptr) { /* sqlite3.c:68468:13: */ +func pageReinit(tls *libc.TLS, pData uintptr) { /* sqlite3.c:68478:13: */ var pPage uintptr pPage = Xsqlite3PagerGetExtra(tls, pData) @@ -45548,7 +45558,7 @@ func pageReinit(tls *libc.TLS, pData uintptr) { /* sqlite3.c:68468:13: */ } // Invoke the busy handler for a btree. -func btreeInvokeBusyHandler(tls *libc.TLS, pArg uintptr) int32 { /* sqlite3.c:68490:12: */ +func btreeInvokeBusyHandler(tls *libc.TLS, pArg uintptr) int32 { /* sqlite3.c:68500:12: */ var pBt uintptr = pArg return Xsqlite3InvokeBusyHandler(tls, (*BtShared)(unsafe.Pointer(pBt)).Fdb+664) @@ -45573,7 +45583,7 @@ func btreeInvokeBusyHandler(tls *libc.TLS, pArg uintptr) int32 { /* sqlite3.c:68 // SQLITE_CONSTRAINT error. We cannot allow two or more BtShared // objects in the same database connection since doing so will lead // to problems with locking. -func Xsqlite3BtreeOpen(tls *libc.TLS, pVfs uintptr, zFilename uintptr, db uintptr, ppBtree uintptr, flags int32, vfsFlags int32) int32 { /* sqlite3.c:68518:20: */ +func Xsqlite3BtreeOpen(tls *libc.TLS, pVfs uintptr, zFilename uintptr, db uintptr, ppBtree uintptr, flags int32, vfsFlags int32) int32 { /* sqlite3.c:68528:20: */ bp := tls.Alloc(100) defer tls.Free(100) @@ -45994,7 +46004,7 @@ __49: // remove the BtShared structure from the sharing list. Return // true if the BtShared.nRef counter reaches zero and return // false if it is still positive. -func removeFromSharingList(tls *libc.TLS, pBt uintptr) int32 { /* sqlite3.c:68816:12: */ +func removeFromSharingList(tls *libc.TLS, pBt uintptr) int32 { /* sqlite3.c:68826:12: */ var pMainMtx uintptr var pList uintptr var removed int32 = 0 @@ -46026,7 +46036,7 @@ func removeFromSharingList(tls *libc.TLS, pBt uintptr) int32 { /* sqlite3.c:6881 // Make sure pBt->pTmpSpace points to an allocation of // MX_CELL_SIZE(pBt) bytes with a 4-byte prefix for a left-child // pointer. -func allocateTempSpace(tls *libc.TLS, pBt uintptr) int32 { /* sqlite3.c:68855:28: */ +func allocateTempSpace(tls *libc.TLS, pBt uintptr) int32 { /* sqlite3.c:68865:28: */ // This routine is called only by btreeCursor() when allocating the // first write cursor for the BtShared object @@ -46059,7 +46069,7 @@ func allocateTempSpace(tls *libc.TLS, pBt uintptr) int32 { /* sqlite3.c:68855:28 } // Free the pBt->pTmpSpace allocation -func freeTempSpace(tls *libc.TLS, pBt uintptr) { /* sqlite3.c:68892:13: */ +func freeTempSpace(tls *libc.TLS, pBt uintptr) { /* sqlite3.c:68902:13: */ if (*BtShared)(unsafe.Pointer(pBt)).FpTmpSpace != 0 { *(*uintptr)(unsafe.Pointer(pBt + 136)) -= uintptr(4) Xsqlite3PageFree(tls, (*BtShared)(unsafe.Pointer(pBt)).FpTmpSpace) @@ -46068,7 +46078,7 @@ func freeTempSpace(tls *libc.TLS, pBt uintptr) { /* sqlite3.c:68892:13: */ } // Close an open database and invalidate all cursors. -func Xsqlite3BtreeClose(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:68903:20: */ +func Xsqlite3BtreeClose(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:68913:20: */ var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt // Close all cursors opened via this handle. @@ -46118,7 +46128,7 @@ func Xsqlite3BtreeClose(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:68903:20: // pages in the cache exceeds this soft limit. But the size of the // cache is allowed to grow larger than this limit if it contains // dirty pages or pages still in active use. -func Xsqlite3BtreeSetCacheSize(tls *libc.TLS, p uintptr, mxPage int32) int32 { /* sqlite3.c:68969:20: */ +func Xsqlite3BtreeSetCacheSize(tls *libc.TLS, p uintptr, mxPage int32) int32 { /* sqlite3.c:68979:20: */ var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt Xsqlite3BtreeEnter(tls, p) @@ -46135,7 +46145,7 @@ func Xsqlite3BtreeSetCacheSize(tls *libc.TLS, p uintptr, mxPage int32) int32 { / // The value returned is the current spill size. If zero is passed // as an argument, no changes are made to the spill size setting, so // using mxPage of 0 is a way to query the current spill size. -func Xsqlite3BtreeSetSpillSize(tls *libc.TLS, p uintptr, mxPage int32) int32 { /* sqlite3.c:68988:20: */ +func Xsqlite3BtreeSetSpillSize(tls *libc.TLS, p uintptr, mxPage int32) int32 { /* sqlite3.c:68998:20: */ var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt var res int32 @@ -46147,7 +46157,7 @@ func Xsqlite3BtreeSetSpillSize(tls *libc.TLS, p uintptr, mxPage int32) int32 { / // Change the limit on the amount of the database file that may be // memory mapped. -func Xsqlite3BtreeSetMmapLimit(tls *libc.TLS, p uintptr, szMmap Sqlite3_int64) int32 { /* sqlite3.c:69003:20: */ +func Xsqlite3BtreeSetMmapLimit(tls *libc.TLS, p uintptr, szMmap Sqlite3_int64) int32 { /* sqlite3.c:69013:20: */ var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt Xsqlite3BtreeEnter(tls, p) @@ -46162,7 +46172,7 @@ func Xsqlite3BtreeSetMmapLimit(tls *libc.TLS, p uintptr, szMmap Sqlite3_int64) i // there is a high probability of damage) Level 2 is the default. There // is a very low but non-zero probability of damage. Level 3 reduces the // probability of damage to near zero but with a write performance reduction. -func Xsqlite3BtreeSetPagerFlags(tls *libc.TLS, p uintptr, pgFlags uint32) int32 { /* sqlite3.c:69022:20: */ +func Xsqlite3BtreeSetPagerFlags(tls *libc.TLS, p uintptr, pgFlags uint32) int32 { /* sqlite3.c:69032:20: */ var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt Xsqlite3BtreeEnter(tls, p) @@ -46189,7 +46199,7 @@ func Xsqlite3BtreeSetPagerFlags(tls *libc.TLS, p uintptr, pgFlags uint32) int32 // // If the iFix!=0 then the BTS_PAGESIZE_FIXED flag is set so that the page size // and autovacuum mode can no longer be changed. -func Xsqlite3BtreeSetPageSize(tls *libc.TLS, p uintptr, pageSize int32, nReserve int32, iFix int32) int32 { /* sqlite3.c:69055:20: */ +func Xsqlite3BtreeSetPageSize(tls *libc.TLS, p uintptr, pageSize int32, nReserve int32, iFix int32) int32 { /* sqlite3.c:69065:20: */ var rc int32 = SQLITE_OK var x int32 var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt @@ -46223,7 +46233,7 @@ func Xsqlite3BtreeSetPageSize(tls *libc.TLS, p uintptr, pageSize int32, nReserve } // Return the currently defined page size -func Xsqlite3BtreeGetPageSize(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:69087:20: */ +func Xsqlite3BtreeGetPageSize(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:69097:20: */ return int32((*BtShared)(unsafe.Pointer((*Btree)(unsafe.Pointer(p)).FpBt)).FpageSize) } @@ -46236,7 +46246,7 @@ func Xsqlite3BtreeGetPageSize(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:690 // database handle that owns *p is not. In this case if sqlite3BtreeEnter() // were to be called, it might collide with some other operation on the // database handle that owns *p, causing undefined behavior. -func Xsqlite3BtreeGetReserveNoMutex(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:69102:20: */ +func Xsqlite3BtreeGetReserveNoMutex(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:69112:20: */ var n int32 n = int32((*BtShared)(unsafe.Pointer((*Btree)(unsafe.Pointer(p)).FpBt)).FpageSize - (*BtShared)(unsafe.Pointer((*Btree)(unsafe.Pointer(p)).FpBt)).FusableSize) @@ -46250,7 +46260,7 @@ func Xsqlite3BtreeGetReserveNoMutex(tls *libc.TLS, p uintptr) int32 { /* sqlite3 // The value returned is the larger of the current reserve size and // the latest reserve size requested by SQLITE_FILECTRL_RESERVE_BYTES. // The amount of reserve can only grow - never shrink. -func Xsqlite3BtreeGetRequestedReserve(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:69118:20: */ +func Xsqlite3BtreeGetRequestedReserve(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:69128:20: */ var n1 int32 var n2 int32 Xsqlite3BtreeEnter(tls, p) @@ -46266,7 +46276,7 @@ func Xsqlite3BtreeGetRequestedReserve(tls *libc.TLS, p uintptr) int32 { /* sqlit // Set the maximum page count for a database if mxPage is positive. // No changes are made if mxPage is 0 or negative. // Regardless of the value of mxPage, return the maximum page count. -func Xsqlite3BtreeMaxPageCount(tls *libc.TLS, p uintptr, mxPage Pgno) Pgno { /* sqlite3.c:69133:21: */ +func Xsqlite3BtreeMaxPageCount(tls *libc.TLS, p uintptr, mxPage Pgno) Pgno { /* sqlite3.c:69143:21: */ var n Pgno Xsqlite3BtreeEnter(tls, p) n = Xsqlite3PagerMaxPageCount(tls, (*BtShared)(unsafe.Pointer((*Btree)(unsafe.Pointer(p)).FpBt)).FpPager, mxPage) @@ -46290,7 +46300,7 @@ func Xsqlite3BtreeMaxPageCount(tls *libc.TLS, p uintptr, mxPage Pgno) Pgno { /* // With BTS_SECURE_DELETE, operation is like BTS_OVERWRITE with the addition // that freelist leaf pages are written back into the database, increasing // the amount of disk I/O. -func Xsqlite3BtreeSecureDelete(tls *libc.TLS, p uintptr, newFlag int32) int32 { /* sqlite3.c:69159:20: */ +func Xsqlite3BtreeSecureDelete(tls *libc.TLS, p uintptr, newFlag int32) int32 { /* sqlite3.c:69169:20: */ var b int32 if p == uintptr(0) { return 0 @@ -46310,7 +46320,7 @@ func Xsqlite3BtreeSecureDelete(tls *libc.TLS, p uintptr, newFlag int32) int32 { // parameter is non-zero, then auto-vacuum mode is enabled. If zero, it // is disabled. The default value for the auto-vacuum property is // determined by the SQLITE_DEFAULT_AUTOVACUUM macro. -func Xsqlite3BtreeSetAutoVacuum(tls *libc.TLS, p uintptr, autoVacuum int32) int32 { /* sqlite3.c:69180:20: */ +func Xsqlite3BtreeSetAutoVacuum(tls *libc.TLS, p uintptr, autoVacuum int32) int32 { /* sqlite3.c:69190:20: */ var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt var rc int32 = SQLITE_OK var av U8 = U8(autoVacuum) @@ -46343,7 +46353,7 @@ func Xsqlite3BtreeSetAutoVacuum(tls *libc.TLS, p uintptr, autoVacuum int32) int3 // Return the value of the 'auto-vacuum' property. If auto-vacuum is // enabled 1 is returned. Otherwise 0. -func Xsqlite3BtreeGetAutoVacuum(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:69204:20: */ +func Xsqlite3BtreeGetAutoVacuum(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:69214:20: */ var rc int32 Xsqlite3BtreeEnter(tls, p) rc = func() int32 { @@ -46368,7 +46378,7 @@ func Xsqlite3BtreeGetAutoVacuum(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:6 // well-formed database file, then SQLITE_CORRUPT is returned. // SQLITE_BUSY is returned if the database is locked. SQLITE_NOMEM // is returned if we run out of memory. -func lockBtree(tls *libc.TLS, pBt uintptr) int32 { /* sqlite3.c:69260:12: */ +func lockBtree(tls *libc.TLS, pBt uintptr) int32 { /* sqlite3.c:69270:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -46537,7 +46547,7 @@ __16: if !(Xsqlite3WritableSchema(tls, (*BtShared)(unsafe.Pointer(pBt)).Fdb) == 0) { goto __18 } - rc = Xsqlite3CorruptError(tls, 69385) + rc = Xsqlite3CorruptError(tls, 69395) goto page1_init_failed goto __19 __18: @@ -46614,7 +46624,7 @@ page1_init_failed: // has the effect of releasing the read lock. // // If there is a transaction in progress, this routine is a no-op. -func unlockBtreeIfUnused(tls *libc.TLS, pBt uintptr) { /* sqlite3.c:69470:13: */ +func unlockBtreeIfUnused(tls *libc.TLS, pBt uintptr) { /* sqlite3.c:69480:13: */ if int32((*BtShared)(unsafe.Pointer(pBt)).FinTransaction) == TRANS_NONE && (*BtShared)(unsafe.Pointer(pBt)).FpPage1 != uintptr(0) { var pPage1 uintptr = (*BtShared)(unsafe.Pointer(pBt)).FpPage1 @@ -46627,7 +46637,7 @@ func unlockBtreeIfUnused(tls *libc.TLS, pBt uintptr) { /* sqlite3.c:69470:13: */ // If pBt points to an empty file then convert that empty file // into a new empty database by initializing the first page of // the database. -func newDatabase(tls *libc.TLS, pBt uintptr) int32 { /* sqlite3.c:69487:12: */ +func newDatabase(tls *libc.TLS, pBt uintptr) int32 { /* sqlite3.c:69497:12: */ var pP1 uintptr var data uintptr var rc int32 @@ -46667,7 +46677,7 @@ func newDatabase(tls *libc.TLS, pBt uintptr) int32 { /* sqlite3.c:69487:12: */ // Initialize the first page of the database file (creating a database // consisting of a single page and no schema objects). Return SQLITE_OK // if successful, or an SQLite error code otherwise. -func Xsqlite3BtreeNewDb(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:69531:20: */ +func Xsqlite3BtreeNewDb(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:69541:20: */ var rc int32 Xsqlite3BtreeEnter(tls, p) (*BtShared)(unsafe.Pointer((*Btree)(unsafe.Pointer(p)).FpBt)).FnPage = U32(0) @@ -46709,7 +46719,7 @@ func Xsqlite3BtreeNewDb(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:69531:20: // no progress. By returning SQLITE_BUSY and not invoking the busy callback // when A already has a read lock, we encourage A to give up and let B // proceed. -func Xsqlite3BtreeBeginTrans(tls *libc.TLS, p uintptr, wrflag int32, pSchemaVersion uintptr) int32 { /* sqlite3.c:69575:20: */ +func Xsqlite3BtreeBeginTrans(tls *libc.TLS, p uintptr, wrflag int32, pSchemaVersion uintptr) int32 { /* sqlite3.c:69585:20: */ var pBt uintptr var pPager uintptr var rc int32 @@ -46973,7 +46983,7 @@ __34: // Set the pointer-map entries for all children of page pPage. Also, if // pPage contains cells that point to overflow pages, set the pointer // map entries for the overflow pages as well. -func setChildPtrmaps(tls *libc.TLS, pPage uintptr) int32 { /* sqlite3.c:69755:12: */ +func setChildPtrmaps(tls *libc.TLS, pPage uintptr) int32 { /* sqlite3.c:69765:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -47025,14 +47035,14 @@ func setChildPtrmaps(tls *libc.TLS, pPage uintptr) int32 { /* sqlite3.c:69755:12 // // PTRMAP_OVERFLOW2: pPage is an overflow-page. The pointer points at the next // overflow page in the list. -func modifyPagePointer(tls *libc.TLS, pPage uintptr, iFrom Pgno, iTo Pgno, eType U8) int32 { /* sqlite3.c:69800:12: */ +func modifyPagePointer(tls *libc.TLS, pPage uintptr, iFrom Pgno, iTo Pgno, eType U8) int32 { /* sqlite3.c:69810:12: */ bp := tls.Alloc(24) defer tls.Free(24) if int32(eType) == PTRMAP_OVERFLOW2 { // The pointer is always the first 4 bytes of the page in this case. if Xsqlite3Get4byte(tls, (*MemPage)(unsafe.Pointer(pPage)).FaData) != iFrom { - return Xsqlite3CorruptError(tls, 69806) + return Xsqlite3CorruptError(tls, 69816) } Xsqlite3Put4byte(tls, (*MemPage)(unsafe.Pointer(pPage)).FaData, iTo) } else { @@ -47060,7 +47070,7 @@ func modifyPagePointer(tls *libc.TLS, pPage uintptr, iFrom Pgno, iTo Pgno, eType })(unsafe.Pointer(&struct{ uintptr }{(*MemPage)(unsafe.Pointer(pPage)).FxParseCell})).f(tls, pPage, pCell, bp /* &info */) if U32((*CellInfo)(unsafe.Pointer(bp)).FnLocal) < (*CellInfo)(unsafe.Pointer(bp)).FnPayload { if pCell+uintptr((*CellInfo)(unsafe.Pointer(bp)).FnSize) > (*MemPage)(unsafe.Pointer(pPage)).FaData+uintptr((*BtShared)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize) { - return Xsqlite3CorruptError(tls, 69825) + return Xsqlite3CorruptError(tls, 69835) } if iFrom == Xsqlite3Get4byte(tls, pCell+uintptr((*CellInfo)(unsafe.Pointer(bp)).FnSize)-uintptr(4)) { Xsqlite3Put4byte(tls, pCell+uintptr((*CellInfo)(unsafe.Pointer(bp)).FnSize)-uintptr(4), iTo) @@ -47077,7 +47087,7 @@ func modifyPagePointer(tls *libc.TLS, pPage uintptr, iFrom Pgno, iTo Pgno, eType if i == nCell { if int32(eType) != PTRMAP_BTREE || Xsqlite3Get4byte(tls, (*MemPage)(unsafe.Pointer(pPage)).FaData+uintptr(int32((*MemPage)(unsafe.Pointer(pPage)).FhdrOffset)+8)) != iFrom { - return Xsqlite3CorruptError(tls, 69843) + return Xsqlite3CorruptError(tls, 69853) } Xsqlite3Put4byte(tls, (*MemPage)(unsafe.Pointer(pPage)).FaData+uintptr(int32((*MemPage)(unsafe.Pointer(pPage)).FhdrOffset)+8), iTo) } @@ -47092,7 +47102,7 @@ func modifyPagePointer(tls *libc.TLS, pPage uintptr, iFrom Pgno, iTo Pgno, eType // the journal needs to be sync()ed before database page pDbPage->pgno // can be written to. The caller has already promised not to write to that // page. -func relocatePage(tls *libc.TLS, pBt uintptr, pDbPage uintptr, eType U8, iPtrPage Pgno, iFreePage Pgno, isCommit int32) int32 { /* sqlite3.c:69861:12: */ +func relocatePage(tls *libc.TLS, pBt uintptr, pDbPage uintptr, eType U8, iPtrPage Pgno, iFreePage Pgno, isCommit int32) int32 { /* sqlite3.c:69871:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -47103,7 +47113,7 @@ func relocatePage(tls *libc.TLS, pBt uintptr, pDbPage uintptr, eType U8, iPtrPag // var rc int32 at bp, 4 if iDbPage < Pgno(3) { - return Xsqlite3CorruptError(tls, 69878) + return Xsqlite3CorruptError(tls, 69888) } // Move page iDbPage from its current location to page number iFreePage @@ -47173,7 +47183,7 @@ func relocatePage(tls *libc.TLS, pBt uintptr, pDbPage uintptr, eType U8, iPtrPag // caller will keep calling incrVacuumStep() until it returns SQLITE_DONE // or an error. bCommit is passed true for an auto-vacuum-on-commit // operation, or false for an incremental vacuum. -func incrVacuumStep(tls *libc.TLS, pBt uintptr, nFin Pgno, iLastPg Pgno, bCommit int32) int32 { /* sqlite3.c:69955:12: */ +func incrVacuumStep(tls *libc.TLS, pBt uintptr, nFin Pgno, iLastPg Pgno, bCommit int32) int32 { /* sqlite3.c:69965:12: */ bp := tls.Alloc(44) defer tls.Free(44) @@ -47195,7 +47205,7 @@ func incrVacuumStep(tls *libc.TLS, pBt uintptr, nFin Pgno, iLastPg Pgno, bCommit return rc } if int32(*(*U8)(unsafe.Pointer(bp))) == PTRMAP_ROOTPAGE { - return Xsqlite3CorruptError(tls, 69976) + return Xsqlite3CorruptError(tls, 69986) } if int32(*(*U8)(unsafe.Pointer(bp))) == PTRMAP_FREEPAGE { @@ -47270,7 +47280,7 @@ func incrVacuumStep(tls *libc.TLS, pBt uintptr, nFin Pgno, iLastPg Pgno, bCommit // The database opened by the first argument is an auto-vacuum database // nOrig pages in size containing nFree free pages. Return the expected // size of the database in pages following an auto-vacuum operation. -func finalDbSize(tls *libc.TLS, pBt uintptr, nOrig Pgno, nFree Pgno) Pgno { /* sqlite3.c:70051:13: */ +func finalDbSize(tls *libc.TLS, pBt uintptr, nOrig Pgno, nFree Pgno) Pgno { /* sqlite3.c:70061:13: */ var nEntry int32 // Number of entries on one ptrmap page var nPtrmap Pgno // Number of PtrMap pages to be freed var nFin Pgno // Return value @@ -47294,7 +47304,7 @@ func finalDbSize(tls *libc.TLS, pBt uintptr, nOrig Pgno, nFree Pgno) Pgno { /* s // If the incremental vacuum is finished after this function has run, // SQLITE_DONE is returned. If it is not finished, but no error occurred, // SQLITE_OK is returned. Otherwise an SQLite error code. -func Xsqlite3BtreeIncrVacuum(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:70077:20: */ +func Xsqlite3BtreeIncrVacuum(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:70087:20: */ var rc int32 var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt @@ -47308,7 +47318,7 @@ func Xsqlite3BtreeIncrVacuum(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:7007 var nFin Pgno = finalDbSize(tls, pBt, nOrig, nFree) if nOrig < nFin || nFree >= nOrig { - rc = Xsqlite3CorruptError(tls, 70091) + rc = Xsqlite3CorruptError(tls, 70101) } else if nFree > Pgno(0) { rc = saveAllCursors(tls, pBt, uint32(0), uintptr(0)) if rc == SQLITE_OK { @@ -47329,7 +47339,7 @@ func Xsqlite3BtreeIncrVacuum(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:7007 // This routine is called prior to sqlite3PagerCommit when a transaction // is committed for an auto-vacuum database. -func autoVacuumCommit(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:70114:12: */ +func autoVacuumCommit(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:70124:12: */ var rc int32 = SQLITE_OK var pPager uintptr var pBt uintptr @@ -47352,7 +47362,7 @@ func autoVacuumCommit(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:70114:12: * // It is not possible to create a database for which the final page // is either a pointer-map page or the pending-byte page. If one // is encountered, this indicates corruption. - return Xsqlite3CorruptError(tls, 70142) + return Xsqlite3CorruptError(tls, 70152) } nFree = Xsqlite3Get4byte(tls, (*MemPage)(unsafe.Pointer((*BtShared)(unsafe.Pointer(pBt)).FpPage1)).FaData+36) @@ -47383,7 +47393,7 @@ func autoVacuumCommit(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:70114:12: * } nFin = finalDbSize(tls, pBt, nOrig, nVac) if nFin > nOrig { - return Xsqlite3CorruptError(tls, 70169) + return Xsqlite3CorruptError(tls, 70179) } if nFin < nOrig { rc = saveAllCursors(tls, pBt, uint32(0), uintptr(0)) @@ -47433,7 +47443,7 @@ func autoVacuumCommit(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:70114:12: * // // Once this is routine has returned, the only thing required to commit // the write-transaction for this database file is to delete the journal. -func Xsqlite3BtreeCommitPhaseOne(tls *libc.TLS, p uintptr, zSuperJrnl uintptr) int32 { /* sqlite3.c:70225:20: */ +func Xsqlite3BtreeCommitPhaseOne(tls *libc.TLS, p uintptr, zSuperJrnl uintptr) int32 { /* sqlite3.c:70235:20: */ var rc int32 = SQLITE_OK if int32((*Btree)(unsafe.Pointer(p)).FinTrans) == TRANS_WRITE { var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt @@ -47456,7 +47466,7 @@ func Xsqlite3BtreeCommitPhaseOne(tls *libc.TLS, p uintptr, zSuperJrnl uintptr) i // This function is called from both BtreeCommitPhaseTwo() and BtreeRollback() // at the conclusion of a transaction. -func btreeEndTransaction(tls *libc.TLS, p uintptr) { /* sqlite3.c:70252:13: */ +func btreeEndTransaction(tls *libc.TLS, p uintptr) { /* sqlite3.c:70262:13: */ var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt var db uintptr = (*Btree)(unsafe.Pointer(p)).Fdb @@ -47512,7 +47522,7 @@ func btreeEndTransaction(tls *libc.TLS, p uintptr) { /* sqlite3.c:70252:13: */ // // This will release the write lock on the database file. If there // are no active cursors, it also releases the read lock. -func Xsqlite3BtreeCommitPhaseTwo(tls *libc.TLS, p uintptr, bCleanup int32) int32 { /* sqlite3.c:70314:20: */ +func Xsqlite3BtreeCommitPhaseTwo(tls *libc.TLS, p uintptr, bCleanup int32) int32 { /* sqlite3.c:70324:20: */ if int32((*Btree)(unsafe.Pointer(p)).FinTrans) == TRANS_NONE { return SQLITE_OK @@ -47541,7 +47551,7 @@ func Xsqlite3BtreeCommitPhaseTwo(tls *libc.TLS, p uintptr, bCleanup int32) int32 } // Do both phases of a commit. -func Xsqlite3BtreeCommit(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:70346:20: */ +func Xsqlite3BtreeCommit(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:70356:20: */ var rc int32 Xsqlite3BtreeEnter(tls, p) rc = Xsqlite3BtreeCommitPhaseOne(tls, p, uintptr(0)) @@ -47576,7 +47586,7 @@ func Xsqlite3BtreeCommit(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:70346:20 // // SQLITE_OK is returned if successful, or if an error occurs while // saving a cursor position, an SQLite error code. -func Xsqlite3BtreeTripAllCursors(tls *libc.TLS, pBtree uintptr, errCode int32, writeOnly int32) int32 { /* sqlite3.c:70383:20: */ +func Xsqlite3BtreeTripAllCursors(tls *libc.TLS, pBtree uintptr, errCode int32, writeOnly int32) int32 { /* sqlite3.c:70393:20: */ var p uintptr var rc int32 = SQLITE_OK @@ -47605,7 +47615,7 @@ func Xsqlite3BtreeTripAllCursors(tls *libc.TLS, pBtree uintptr, errCode int32, w // Set the pBt->nPage field correctly, according to the current // state of the database. Assume pBt->pPage1 is valid. -func btreeSetNPage(tls *libc.TLS, pBt uintptr, pPage1 uintptr) { /* sqlite3.c:70415:13: */ +func btreeSetNPage(tls *libc.TLS, pBt uintptr, pPage1 uintptr) { /* sqlite3.c:70425:13: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -47627,7 +47637,7 @@ func btreeSetNPage(tls *libc.TLS, pBt uintptr, pPage1 uintptr) { /* sqlite3.c:70 // // This will release the write lock on the database file. If there // are no active cursors, it also releases the read lock. -func Xsqlite3BtreeRollback(tls *libc.TLS, p uintptr, tripCode int32, writeOnly int32) int32 { /* sqlite3.c:70434:20: */ +func Xsqlite3BtreeRollback(tls *libc.TLS, p uintptr, tripCode int32, writeOnly int32) int32 { /* sqlite3.c:70444:20: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -47693,7 +47703,7 @@ func Xsqlite3BtreeRollback(tls *libc.TLS, p uintptr, tripCode int32, writeOnly i // are no active savepoints and no other statement-transactions open, // iStatement is 1. This anonymous savepoint can be released or rolled back // using the sqlite3BtreeSavepoint() function. -func Xsqlite3BtreeBeginStmt(tls *libc.TLS, p uintptr, iStatement int32) int32 { /* sqlite3.c:70499:20: */ +func Xsqlite3BtreeBeginStmt(tls *libc.TLS, p uintptr, iStatement int32) int32 { /* sqlite3.c:70509:20: */ var rc int32 var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt Xsqlite3BtreeEnter(tls, p) @@ -47717,7 +47727,7 @@ func Xsqlite3BtreeBeginStmt(tls *libc.TLS, p uintptr, iStatement int32) int32 { // contents of the entire transaction are rolled back. This is different // from a normal transaction rollback, as no locks are released and the // transaction remains open. -func Xsqlite3BtreeSavepoint(tls *libc.TLS, p uintptr, op int32, iSavepoint int32) int32 { /* sqlite3.c:70530:20: */ +func Xsqlite3BtreeSavepoint(tls *libc.TLS, p uintptr, op int32, iSavepoint int32) int32 { /* sqlite3.c:70540:20: */ var rc int32 = SQLITE_OK if p != 0 && int32((*Btree)(unsafe.Pointer(p)).FinTrans) == TRANS_WRITE { var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt @@ -47785,7 +47795,7 @@ func Xsqlite3BtreeSavepoint(tls *libc.TLS, p uintptr, op int32, iSavepoint int32 // // It is assumed that the sqlite3BtreeCursorZero() has been called // on pCur to initialize the memory space prior to invoking this routine. -func btreeCursor(tls *libc.TLS, p uintptr, iTable Pgno, wrFlag int32, pKeyInfo uintptr, pCur uintptr) int32 { /* sqlite3.c:70601:12: */ +func btreeCursor(tls *libc.TLS, p uintptr, iTable Pgno, wrFlag int32, pKeyInfo uintptr, pCur uintptr) int32 { /* sqlite3.c:70611:12: */ var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt // Shared b-tree handle var pX uintptr // Looping over other all cursors @@ -47798,7 +47808,7 @@ func btreeCursor(tls *libc.TLS, p uintptr, iTable Pgno, wrFlag int32, pKeyInfo u if iTable <= Pgno(1) { if iTable < Pgno(1) { - return Xsqlite3CorruptError(tls, 70633) + return Xsqlite3CorruptError(tls, 70643) } else if btreePagecount(tls, pBt) == Pgno(0) { iTable = Pgno(0) @@ -47836,7 +47846,7 @@ func btreeCursor(tls *libc.TLS, p uintptr, iTable Pgno, wrFlag int32, pKeyInfo u return SQLITE_OK } -func btreeCursorWithLock(tls *libc.TLS, p uintptr, iTable Pgno, wrFlag int32, pKeyInfo uintptr, pCur uintptr) int32 { /* sqlite3.c:70668:12: */ +func btreeCursorWithLock(tls *libc.TLS, p uintptr, iTable Pgno, wrFlag int32, pKeyInfo uintptr, pCur uintptr) int32 { /* sqlite3.c:70678:12: */ var rc int32 Xsqlite3BtreeEnter(tls, p) rc = btreeCursor(tls, p, iTable, wrFlag, pKeyInfo, pCur) @@ -47844,7 +47854,7 @@ func btreeCursorWithLock(tls *libc.TLS, p uintptr, iTable Pgno, wrFlag int32, pK return rc } -func Xsqlite3BtreeCursor(tls *libc.TLS, p uintptr, iTable Pgno, wrFlag int32, pKeyInfo uintptr, pCur uintptr) int32 { /* sqlite3.c:70681:20: */ +func Xsqlite3BtreeCursor(tls *libc.TLS, p uintptr, iTable Pgno, wrFlag int32, pKeyInfo uintptr, pCur uintptr) int32 { /* sqlite3.c:70691:20: */ if (*Btree)(unsafe.Pointer(p)).Fsharable != 0 { return btreeCursorWithLock(tls, p, iTable, wrFlag, pKeyInfo, pCur) } else { @@ -47859,7 +47869,7 @@ func Xsqlite3BtreeCursor(tls *libc.TLS, p uintptr, iTable Pgno, wrFlag int32, pK // sufficient storage to hold a cursor. The BtCursor object is opaque // to users so they cannot do the sizeof() themselves - they must call // this routine. -func Xsqlite3BtreeCursorSize(tls *libc.TLS) int32 { /* sqlite3.c:70703:20: */ +func Xsqlite3BtreeCursorSize(tls *libc.TLS) int32 { /* sqlite3.c:70713:20: */ return int32((uint64(unsafe.Sizeof(BtCursor{})) + uint64(7)) & libc.Uint64FromInt32(libc.CplInt32(7))) } @@ -47869,13 +47879,13 @@ func Xsqlite3BtreeCursorSize(tls *libc.TLS) int32 { /* sqlite3.c:70703:20: */ // to zero. But it turns out that the apPage[] and aiIdx[] arrays // do not need to be zeroed and they are large, so we can save a lot // of run-time by skipping the initialization of those elements. -func Xsqlite3BtreeCursorZero(tls *libc.TLS, p uintptr) { /* sqlite3.c:70715:21: */ +func Xsqlite3BtreeCursorZero(tls *libc.TLS, p uintptr) { /* sqlite3.c:70725:21: */ libc.Xmemset(tls, p, 0, uint64(uintptr(0)+32)) } // Close a cursor. The read lock on the database file is released // when the last cursor is closed. -func Xsqlite3BtreeCloseCursor(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:70723:20: */ +func Xsqlite3BtreeCloseCursor(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:70733:20: */ var pBtree uintptr = (*BtCursor)(unsafe.Pointer(pCur)).FpBtree if pBtree != 0 { var pBt uintptr = (*BtCursor)(unsafe.Pointer(pCur)).FpBt @@ -47916,7 +47926,7 @@ func Xsqlite3BtreeCloseCursor(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c: // // BtCursor.info is a cache of the information in the current cell. // Using this cache reduces the number of calls to btreeParseCell(). -func getCellInfo(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:70784:29: */ +func getCellInfo(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:70794:29: */ if int32((*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnSize) == 0 { *(*U8)(unsafe.Pointer(pCur + 1)) |= U8(BTCF_ValidNKey) btreeParseCell(tls, (*BtCursor)(unsafe.Pointer(pCur)).FpPage, int32((*BtCursor)(unsafe.Pointer(pCur)).Fix), pCur+48) @@ -47925,7 +47935,7 @@ func getCellInfo(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:70784:29: */ } } -func Xsqlite3BtreeCursorIsValidNN(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:70803:20: */ +func Xsqlite3BtreeCursorIsValidNN(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:70813:20: */ return libc.Bool32(int32((*BtCursor)(unsafe.Pointer(pCur)).FeState) == CURSOR_VALID) } @@ -47934,26 +47944,26 @@ func Xsqlite3BtreeCursorIsValidNN(tls *libc.TLS, pCur uintptr) int32 { /* sqlite // This routine is only valid for a cursor that is pointing into a // ordinary table btree. If the cursor points to an index btree or // is invalid, the result of this routine is undefined. -func Xsqlite3BtreeIntegerKey(tls *libc.TLS, pCur uintptr) I64 { /* sqlite3.c:70814:20: */ +func Xsqlite3BtreeIntegerKey(tls *libc.TLS, pCur uintptr) I64 { /* sqlite3.c:70824:20: */ getCellInfo(tls, pCur) return (*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnKey } // Pin or unpin a cursor. -func Xsqlite3BtreeCursorPin(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:70825:21: */ +func Xsqlite3BtreeCursorPin(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:70835:21: */ *(*U8)(unsafe.Pointer(pCur + 1)) |= U8(BTCF_Pinned) } -func Xsqlite3BtreeCursorUnpin(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:70829:21: */ +func Xsqlite3BtreeCursorUnpin(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:70839:21: */ *(*U8)(unsafe.Pointer(pCur + 1)) &= libc.Uint8FromInt32(libc.CplInt32(BTCF_Pinned)) } // Return the offset into the database file for the start of the // payload to which the cursor is pointing. -func Xsqlite3BtreeOffset(tls *libc.TLS, pCur uintptr) I64 { /* sqlite3.c:70839:20: */ +func Xsqlite3BtreeOffset(tls *libc.TLS, pCur uintptr) I64 { /* sqlite3.c:70849:20: */ getCellInfo(tls, pCur) return I64((*BtShared)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pCur)).FpBt)).FpageSize)*(I64((*MemPage)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pCur)).FpPage)).Fpgno)-int64(1)) + I64((int64((*BtCursor)(unsafe.Pointer(pCur)).Finfo.FpPayload)-int64((*MemPage)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pCur)).FpPage)).FaData))/1) @@ -47966,7 +47976,7 @@ func Xsqlite3BtreeOffset(tls *libc.TLS, pCur uintptr) I64 { /* sqlite3.c:70839:2 // The caller must guarantee that the cursor is pointing to a non-NULL // valid entry. In other words, the calling procedure must guarantee // that the cursor has Cursor.eState==CURSOR_VALID. -func Xsqlite3BtreePayloadSize(tls *libc.TLS, pCur uintptr) U32 { /* sqlite3.c:70857:20: */ +func Xsqlite3BtreePayloadSize(tls *libc.TLS, pCur uintptr) U32 { /* sqlite3.c:70867:20: */ getCellInfo(tls, pCur) return (*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnPayload @@ -47983,7 +47993,7 @@ func Xsqlite3BtreePayloadSize(tls *libc.TLS, pCur uintptr) U32 { /* sqlite3.c:70 // // The current implementation merely returns the size of the underlying // database file. -func Xsqlite3BtreeMaxRecordSize(tls *libc.TLS, pCur uintptr) Sqlite3_int64 { /* sqlite3.c:70877:30: */ +func Xsqlite3BtreeMaxRecordSize(tls *libc.TLS, pCur uintptr) Sqlite3_int64 { /* sqlite3.c:70887:30: */ return Sqlite3_int64((*BtShared)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pCur)).FpBt)).FpageSize) * Sqlite3_int64((*BtShared)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pCur)).FpBt)).FnPage) } @@ -48005,7 +48015,7 @@ func Xsqlite3BtreeMaxRecordSize(tls *libc.TLS, pCur uintptr) Sqlite3_int64 { /* // on *ppPage to free the reference. In no reference was obtained (because // the pointer-map was used to obtain the value for *pPgnoNext), then // *ppPage is set to zero. -func getOverflowPage(tls *libc.TLS, pBt uintptr, ovfl Pgno, ppPage uintptr, pPgnoNext uintptr) int32 { /* sqlite3.c:70902:12: */ +func getOverflowPage(tls *libc.TLS, pBt uintptr, ovfl Pgno, ppPage uintptr, pPgnoNext uintptr) int32 { /* sqlite3.c:70912:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -48073,7 +48083,7 @@ func getOverflowPage(tls *libc.TLS, pBt uintptr, ovfl Pgno, ppPage uintptr, pPgn // of data are copied from the buffer pBuf to pPayload. // // SQLITE_OK is returned on success, otherwise an error code. -func copyPayload(tls *libc.TLS, pPayload uintptr, pBuf uintptr, nByte int32, eOp int32, pDbPage uintptr) int32 { /* sqlite3.c:70970:12: */ +func copyPayload(tls *libc.TLS, pPayload uintptr, pBuf uintptr, nByte int32, eOp int32, pDbPage uintptr) int32 { /* sqlite3.c:70980:12: */ if eOp != 0 { // Copy data from buffer to page (a write operation) var rc int32 = Xsqlite3PagerWrite(tls, pDbPage) @@ -48115,7 +48125,7 @@ func copyPayload(tls *libc.TLS, pPayload uintptr, pBuf uintptr, nByte int32, eOp // * An incremental vacuum, // * A commit in auto_vacuum="full" mode, // * Creating a table (may require moving an overflow page). -func accessPayload(tls *libc.TLS, pCur uintptr, offset U32, amt U32, pBuf uintptr, eOp int32) int32 { /* sqlite3.c:71020:12: */ +func accessPayload(tls *libc.TLS, pCur uintptr, offset U32, amt U32, pBuf uintptr, eOp int32) int32 { /* sqlite3.c:71030:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -48126,7 +48136,7 @@ func accessPayload(tls *libc.TLS, pCur uintptr, offset U32, amt U32, pBuf uintpt var pBt uintptr = (*BtCursor)(unsafe.Pointer(pCur)).FpBt // Btree this cursor belongs to if int32((*BtCursor)(unsafe.Pointer(pCur)).Fix) >= int32((*MemPage)(unsafe.Pointer(pPage)).FnCell) { - return Xsqlite3CorruptError(tls, 71040) + return Xsqlite3CorruptError(tls, 71050) } getCellInfo(tls, pCur) @@ -48137,7 +48147,7 @@ func accessPayload(tls *libc.TLS, pCur uintptr, offset U32, amt U32, pBuf uintpt // conditional above is really: // &aPayload[pCur->info.nLocal] > &pPage->aData[pBt->usableSize] // but is recast into its current form to avoid integer overflow problems - return Xsqlite3CorruptError(tls, 71055) + return Xsqlite3CorruptError(tls, 71065) } // Check if data must be read/written to/from the btree page itself. @@ -48194,7 +48204,7 @@ func accessPayload(tls *libc.TLS, pCur uintptr, offset U32, amt U32, pBuf uintpt for *(*Pgno)(unsafe.Pointer(bp)) != 0 { // If required, populate the overflow page-list cache. if *(*Pgno)(unsafe.Pointer(bp)) > (*BtShared)(unsafe.Pointer(pBt)).FnPage { - return Xsqlite3CorruptError(tls, 71117) + return Xsqlite3CorruptError(tls, 71127) } *(*Pgno)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pCur)).FaOverflow + uintptr(iIdx)*4)) = *(*Pgno)(unsafe.Pointer(bp /* nextPage */)) @@ -48254,7 +48264,7 @@ func accessPayload(tls *libc.TLS, pCur uintptr, offset U32, amt U32, pBuf uintpt if rc == SQLITE_OK && amt > U32(0) { // Overflow chain ends prematurely - return Xsqlite3CorruptError(tls, 71202) + return Xsqlite3CorruptError(tls, 71212) } return rc } @@ -48274,7 +48284,7 @@ func accessPayload(tls *libc.TLS, pCur uintptr, offset U32, amt U32, pBuf uintpt // Return SQLITE_OK on success or an error code if anything goes // wrong. An error is returned if "offset+amt" is larger than // the available payload. -func Xsqlite3BtreePayload(tls *libc.TLS, pCur uintptr, offset U32, amt U32, pBuf uintptr) int32 { /* sqlite3.c:71224:20: */ +func Xsqlite3BtreePayload(tls *libc.TLS, pCur uintptr, offset U32, amt U32, pBuf uintptr) int32 { /* sqlite3.c:71234:20: */ return accessPayload(tls, pCur, offset, amt, pBuf, 0) } @@ -48282,7 +48292,7 @@ func Xsqlite3BtreePayload(tls *libc.TLS, pCur uintptr, offset U32, amt U32, pBuf // This variant of sqlite3BtreePayload() works even if the cursor has not // in the CURSOR_VALID state. It is only used by the sqlite3_blob_read() // interface. -func accessPayloadChecked(tls *libc.TLS, pCur uintptr, offset U32, amt U32, pBuf uintptr) int32 { /* sqlite3.c:71237:28: */ +func accessPayloadChecked(tls *libc.TLS, pCur uintptr, offset U32, amt U32, pBuf uintptr) int32 { /* sqlite3.c:71247:28: */ var rc int32 if int32((*BtCursor)(unsafe.Pointer(pCur)).FeState) == CURSOR_INVALID { return SQLITE_ABORT @@ -48295,7 +48305,7 @@ func accessPayloadChecked(tls *libc.TLS, pCur uintptr, offset U32, amt U32, pBuf return accessPayload(tls, pCur, offset, amt, pBuf, 0) } -func Xsqlite3BtreePayloadChecked(tls *libc.TLS, pCur uintptr, offset U32, amt U32, pBuf uintptr) int32 { /* sqlite3.c:71251:20: */ +func Xsqlite3BtreePayloadChecked(tls *libc.TLS, pCur uintptr, offset U32, amt U32, pBuf uintptr) int32 { /* sqlite3.c:71261:20: */ if int32((*BtCursor)(unsafe.Pointer(pCur)).FeState) == CURSOR_VALID { return accessPayload(tls, pCur, offset, amt, pBuf, 0) @@ -48322,7 +48332,7 @@ func Xsqlite3BtreePayloadChecked(tls *libc.TLS, pCur uintptr, offset U32, amt U3 // The pointer returned by this routine looks directly into the cached // page of the database. The data might change or move the next time // any btree routine is called. -func fetchPayload(tls *libc.TLS, pCur uintptr, pAmt uintptr) uintptr { /* sqlite3.c:71280:19: */ +func fetchPayload(tls *libc.TLS, pCur uintptr, pAmt uintptr) uintptr { /* sqlite3.c:71290:19: */ var amt int32 amt = int32((*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnLocal) @@ -48353,7 +48363,7 @@ func fetchPayload(tls *libc.TLS, pCur uintptr, pAmt uintptr) uintptr { /* sqlite // // These routines is used to get quick access to key and data // in the common case where no overflow pages are used. -func Xsqlite3BtreePayloadFetch(tls *libc.TLS, pCur uintptr, pAmt uintptr) uintptr { /* sqlite3.c:71319:27: */ +func Xsqlite3BtreePayloadFetch(tls *libc.TLS, pCur uintptr, pAmt uintptr) uintptr { /* sqlite3.c:71329:27: */ return fetchPayload(tls, pCur, pAmt) } @@ -48364,11 +48374,11 @@ func Xsqlite3BtreePayloadFetch(tls *libc.TLS, pCur uintptr, pAmt uintptr) uintpt // the new child page does not match the flags field of the parent (i.e. // if an intkey page appears to be the parent of a non-intkey page, or // vice-versa). -func moveToChild(tls *libc.TLS, pCur uintptr, newPgno U32) int32 { /* sqlite3.c:71333:12: */ +func moveToChild(tls *libc.TLS, pCur uintptr, newPgno U32) int32 { /* sqlite3.c:71343:12: */ var pBt uintptr = (*BtCursor)(unsafe.Pointer(pCur)).FpBt if int32((*BtCursor)(unsafe.Pointer(pCur)).FiPage) >= BTCURSOR_MAX_DEPTH-1 { - return Xsqlite3CorruptError(tls, 71341) + return Xsqlite3CorruptError(tls, 71351) } (*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnSize = U16(0) *(*U8)(unsafe.Pointer(pCur + 1)) &= libc.Uint8FromInt32(libc.CplInt32(BTCF_ValidNKey | BTCF_ValidOvfl)) @@ -48385,7 +48395,7 @@ func moveToChild(tls *libc.TLS, pCur uintptr, newPgno U32) int32 { /* sqlite3.c: // to the page we are coming from. If we are coming from the // right-most child page then pCur->idx is set to one more than // the largest cell index. -func moveToParent(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:71382:13: */ +func moveToParent(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:71392:13: */ var pLeaf uintptr (*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnSize = U16(0) @@ -48415,7 +48425,7 @@ func moveToParent(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:71382:13: */ // indicating a table b-tree, or if the caller did specify a KeyInfo // structure the flags byte is set to 0x02 or 0x0A, indicating an index // b-tree). -func moveToRoot(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:71423:12: */ +func moveToRoot(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:71433:12: */ var pRoot uintptr var rc int32 var subpage Pgno @@ -48494,7 +48504,7 @@ __2: if !(int32((*MemPage)(unsafe.Pointer(pRoot)).FisInit) == 0 || libc.Bool32((*BtCursor)(unsafe.Pointer(pCur)).FpKeyInfo == uintptr(0)) != int32((*MemPage)(unsafe.Pointer(pRoot)).FintKey)) { goto __11 } - return Xsqlite3CorruptError(tls, 71479) + return Xsqlite3CorruptError(tls, 71489) __11: ; @@ -48515,7 +48525,7 @@ __12: if !((*MemPage)(unsafe.Pointer(pRoot)).Fpgno != Pgno(1)) { goto __16 } - return Xsqlite3CorruptError(tls, 71491) + return Xsqlite3CorruptError(tls, 71501) __16: ; subpage = Xsqlite3Get4byte(tls, (*MemPage)(unsafe.Pointer(pRoot)).FaData+uintptr(int32((*MemPage)(unsafe.Pointer(pRoot)).FhdrOffset)+8)) @@ -48537,7 +48547,7 @@ __13: // // The left-most leaf is the one with the smallest key - the first // in ascending order. -func moveToLeftmost(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:71509:12: */ +func moveToLeftmost(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:71519:12: */ var pgno Pgno var rc int32 = SQLITE_OK var pPage uintptr @@ -48558,7 +48568,7 @@ func moveToLeftmost(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:71509:12: // // The right-most entry is the one with the largest key - the last // key in ascending order. -func moveToRightmost(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:71534:12: */ +func moveToRightmost(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:71544:12: */ var pgno Pgno var rc int32 = SQLITE_OK var pPage uintptr = uintptr(0) @@ -48579,7 +48589,7 @@ func moveToRightmost(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:71534:12: // Move the cursor to the first entry in the table. Return SQLITE_OK // on success. Set *pRes to 0 if the cursor actually points to something // or set *pRes to 1 if the table is empty. -func Xsqlite3BtreeFirst(tls *libc.TLS, pCur uintptr, pRes uintptr) int32 { /* sqlite3.c:71557:20: */ +func Xsqlite3BtreeFirst(tls *libc.TLS, pCur uintptr, pRes uintptr) int32 { /* sqlite3.c:71567:20: */ var rc int32 rc = moveToRoot(tls, pCur) @@ -48598,7 +48608,7 @@ func Xsqlite3BtreeFirst(tls *libc.TLS, pCur uintptr, pRes uintptr) int32 { /* sq // Move the cursor to the last entry in the table. Return SQLITE_OK // on success. Set *pRes to 0 if the cursor actually points to something // or set *pRes to 1 if the table is empty. -func Xsqlite3BtreeLast(tls *libc.TLS, pCur uintptr, pRes uintptr) int32 { /* sqlite3.c:71579:20: */ +func Xsqlite3BtreeLast(tls *libc.TLS, pCur uintptr, pRes uintptr) int32 { /* sqlite3.c:71589:20: */ var rc int32 // If the cursor already points to the last entry, this is a no-op. @@ -48647,7 +48657,7 @@ func Xsqlite3BtreeLast(tls *libc.TLS, pCur uintptr, pRes uintptr) int32 { /* sql // // *pRes>0 The cursor is left pointing at an entry that // is larger than intKey. -func Xsqlite3BtreeTableMoveto(tls *libc.TLS, pCur uintptr, intKey I64, biasRight int32, pRes uintptr) int32 { /* sqlite3.c:71644:20: */ +func Xsqlite3BtreeTableMoveto(tls *libc.TLS, pCur uintptr, intKey I64, biasRight int32, pRes uintptr) int32 { /* sqlite3.c:71654:20: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -48762,7 +48772,7 @@ __19: if !(pCell >= (*MemPage)(unsafe.Pointer(pPage)).FaDataEnd) { goto __21 } - return Xsqlite3CorruptError(tls, 71733) + return Xsqlite3CorruptError(tls, 71743) __21: ; goto __19 @@ -48891,7 +48901,7 @@ moveto_table_finish: // // The pIdxKey->eqSeen field is set to 1 if there // exists an entry in the table that exactly matches pIdxKey. -func Xsqlite3BtreeIndexMoveto(tls *libc.TLS, pCur uintptr, pIdxKey uintptr, pRes uintptr) int32 { /* sqlite3.c:71812:20: */ +func Xsqlite3BtreeIndexMoveto(tls *libc.TLS, pCur uintptr, pIdxKey uintptr, pRes uintptr) int32 { /* sqlite3.c:71822:20: */ var rc int32 var xRecordCompare RecordCompare // The record flows over onto one or more overflow pages. In @@ -48995,7 +49005,7 @@ __11: if !(nCell < 2 || U32(nCell)/(*BtShared)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pCur)).FpBt)).FusableSize > (*BtShared)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pCur)).FpBt)).FnPage) { goto __13 } - rc = Xsqlite3CorruptError(tls, 71914) + rc = Xsqlite3CorruptError(tls, 71924) goto moveto_index_finish __13: ; @@ -49044,7 +49054,7 @@ __18: if !((*UnpackedRecord)(unsafe.Pointer(pIdxKey)).FerrCode != 0) { goto __20 } - rc = Xsqlite3CorruptError(tls, 71946) + rc = Xsqlite3CorruptError(tls, 71956) __20: ; goto moveto_index_finish @@ -49111,7 +49121,7 @@ moveto_index_finish: // TRUE will be returned after a call to sqlite3BtreeNext() moves // past the last entry in the table or sqlite3BtreePrev() moves past // the first entry. TRUE is also returned if the table is empty. -func Xsqlite3BtreeEof(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:71985:20: */ +func Xsqlite3BtreeEof(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:71995:20: */ // TODO: What if the cursor is in CURSOR_REQUIRESEEK but all table entries // have been deleted? This API will need to change to return an error code // as well as the boolean result value. @@ -49121,7 +49131,7 @@ func Xsqlite3BtreeEof(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:71985:20 // Return an estimate for the number of rows in the table that pCur is // pointing to. Return a negative number if no estimate is currently // available. -func Xsqlite3BtreeRowCountEst(tls *libc.TLS, pCur uintptr) I64 { /* sqlite3.c:71998:20: */ +func Xsqlite3BtreeRowCountEst(tls *libc.TLS, pCur uintptr) I64 { /* sqlite3.c:72008:20: */ var n I64 var i U8 @@ -49160,7 +49170,7 @@ func Xsqlite3BtreeRowCountEst(tls *libc.TLS, pCur uintptr) I64 { /* sqlite3.c:71 // skipped if the SQL index had been a unique index. The F argument // is a hint to the implement. SQLite btree implementation does not use // this hint, but COMDB2 does. -func btreeNext(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:72038:28: */ +func btreeNext(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:72048:28: */ var rc int32 var idx int32 var pPage uintptr @@ -49197,7 +49207,7 @@ func btreeNext(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:72038:28: */ // has pages in common with the table being queried. See TH3 // module cov1/btree78.test testcase 220 (2018-06-08) for an // example. - return Xsqlite3CorruptError(tls, 72069) + return Xsqlite3CorruptError(tls, 72079) } if idx >= int32((*MemPage)(unsafe.Pointer(pPage)).FnCell) { @@ -49230,7 +49240,7 @@ func btreeNext(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:72038:28: */ return int32(0) } -func Xsqlite3BtreeNext(tls *libc.TLS, pCur uintptr, flags int32) int32 { /* sqlite3.c:72098:20: */ +func Xsqlite3BtreeNext(tls *libc.TLS, pCur uintptr, flags int32) int32 { /* sqlite3.c:72108:20: */ var pPage uintptr _ = flags // Used in COMDB2 but not native SQLite @@ -49270,7 +49280,7 @@ func Xsqlite3BtreeNext(tls *libc.TLS, pCur uintptr, flags int32) int32 { /* sqli // skipped if the SQL index had been a unique index. The F argument is a // hint to the implement. The native SQLite btree implementation does not // use this hint, but COMDB2 does. -func btreePrevious(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:72138:28: */ +func btreePrevious(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:72148:28: */ var rc int32 var pPage uintptr @@ -49324,7 +49334,7 @@ func btreePrevious(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:72138:28: * return rc } -func Xsqlite3BtreePrevious(tls *libc.TLS, pCur uintptr, flags int32) int32 { /* sqlite3.c:72187:20: */ +func Xsqlite3BtreePrevious(tls *libc.TLS, pCur uintptr, flags int32) int32 { /* sqlite3.c:72197:20: */ _ = flags // Used in COMDB2 but not native SQLite *(*U8)(unsafe.Pointer(pCur + 1)) &= libc.Uint8FromInt32(libc.CplInt32(BTCF_AtLast | BTCF_ValidOvfl | BTCF_ValidNKey)) @@ -49358,7 +49368,7 @@ func Xsqlite3BtreePrevious(tls *libc.TLS, pCur uintptr, flags int32) int32 { /* // eMode is BTALLOC_LT then the page returned will be less than or equal // to nearby if any such page exists. If eMode is BTALLOC_ANY then there // are no restrictions on which page is returned. -func allocateBtreePage(tls *libc.TLS, pBt uintptr, ppPage uintptr, pPgno uintptr, nearby Pgno, eMode U8) int32 { /* sqlite3.c:72225:12: */ +func allocateBtreePage(tls *libc.TLS, pBt uintptr, ppPage uintptr, pPgno uintptr, nearby Pgno, eMode U8) int32 { /* sqlite3.c:72235:12: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -49425,7 +49435,7 @@ func allocateBtreePage(tls *libc.TLS, pBt uintptr, ppPage uintptr, pPgno uintptr if !(n >= mxPage) { goto __1 } - return Xsqlite3CorruptError(tls, 72249) + return Xsqlite3CorruptError(tls, 72259) __1: ; if !(n > U32(0)) { @@ -49506,7 +49516,7 @@ __15: if !(iTrunk > mxPage || libc.PostIncUint32(&nSearch, 1) > n) { goto __16 } - rc = Xsqlite3CorruptError(tls, 72305) + rc = Xsqlite3CorruptError(tls, 72315) goto __17 __16: rc = btreeGetUnusedPage(tls, pBt, iTrunk, bp+8, 0) @@ -49548,7 +49558,7 @@ __19: goto __22 } // Value of k is out of range. Database corruption - rc = Xsqlite3CorruptError(tls, 72334) + rc = Xsqlite3CorruptError(tls, 72344) goto end_allocate_page goto __23 __22: @@ -49593,7 +49603,7 @@ __27: if !(iNewTrunk > mxPage) { goto __32 } - rc = Xsqlite3CorruptError(tls, 72368) + rc = Xsqlite3CorruptError(tls, 72378) goto end_allocate_page __32: ; @@ -49707,7 +49717,7 @@ __40: if !(iPage > mxPage || iPage < Pgno(2)) { goto __51 } - rc = Xsqlite3CorruptError(tls, 72433) + rc = Xsqlite3CorruptError(tls, 72443) goto end_allocate_page __51: ; @@ -49882,7 +49892,7 @@ end_allocate_page: // // If a pointer to a MemPage object is passed as the second argument, // its reference count is not altered by this function. -func freePage2(tls *libc.TLS, pBt uintptr, pMemPage uintptr, iPage Pgno) int32 { /* sqlite3.c:72547:12: */ +func freePage2(tls *libc.TLS, pBt uintptr, pMemPage uintptr, iPage Pgno) int32 { /* sqlite3.c:72557:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -49903,7 +49913,7 @@ func freePage2(tls *libc.TLS, pBt uintptr, pMemPage uintptr, iPage Pgno) int32 { if !(iPage < Pgno(2) || iPage > (*BtShared)(unsafe.Pointer(pBt)).FnPage) { goto __1 } - return Xsqlite3CorruptError(tls, 72560) + return Xsqlite3CorruptError(tls, 72570) __1: ; if !(pMemPage != 0) { @@ -49973,7 +49983,7 @@ __7: if !(iTrunk > btreePagecount(tls, pBt)) { goto __10 } - *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) = Xsqlite3CorruptError(tls, 72607) + *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) = Xsqlite3CorruptError(tls, 72617) goto freepage_out __10: ; @@ -49990,7 +50000,7 @@ __11: if !(nLeaf > (*BtShared)(unsafe.Pointer(pBt)).FusableSize/U32(4)-U32(2)) { goto __12 } - *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) = Xsqlite3CorruptError(tls, 72618) + *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) = Xsqlite3CorruptError(tls, 72628) goto freepage_out __12: ; @@ -50071,14 +50081,14 @@ __18: return *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) } -func freePage(tls *libc.TLS, pPage uintptr, pRC uintptr) { /* sqlite3.c:72681:13: */ +func freePage(tls *libc.TLS, pPage uintptr, pRC uintptr) { /* sqlite3.c:72691:13: */ if *(*int32)(unsafe.Pointer(pRC)) == SQLITE_OK { *(*int32)(unsafe.Pointer(pRC)) = freePage2(tls, (*MemPage)(unsafe.Pointer(pPage)).FpBt, pPage, (*MemPage)(unsafe.Pointer(pPage)).Fpgno) } } // Free the overflow pages associated with the given Cell. -func clearCellOverflow(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintptr) int32 { /* sqlite3.c:72690:28: */ +func clearCellOverflow(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintptr) int32 { /* sqlite3.c:72700:28: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -50090,7 +50100,7 @@ func clearCellOverflow(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintpt if pCell+uintptr((*CellInfo)(unsafe.Pointer(pInfo)).FnSize) > (*MemPage)(unsafe.Pointer(pPage)).FaDataEnd { // Cell extends past end of page - return Xsqlite3CorruptError(tls, 72707) + return Xsqlite3CorruptError(tls, 72717) } ovflPgno = Xsqlite3Get4byte(tls, pCell+uintptr((*CellInfo)(unsafe.Pointer(pInfo)).FnSize)-uintptr(4)) pBt = (*MemPage)(unsafe.Pointer(pPage)).FpBt @@ -50105,7 +50115,7 @@ func clearCellOverflow(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintpt // 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 Xsqlite3CorruptError(tls, 72724) + return Xsqlite3CorruptError(tls, 72734) } if nOvfl != 0 { rc = getOverflowPage(tls, pBt, ovflPgno, bp, bp+8) @@ -50125,7 +50135,7 @@ func clearCellOverflow(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintpt // enabled. If this 'overflow' page happens to be a page that the // caller is iterating through or using in some other way, this // can be problematic. - rc = Xsqlite3CorruptError(tls, 72744) + rc = Xsqlite3CorruptError(tls, 72754) } else { rc = freePage2(tls, pBt, *(*uintptr)(unsafe.Pointer(bp /* pOvfl */)), ovflPgno) } @@ -50157,7 +50167,7 @@ func clearCellOverflow(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintpt // area. pCell might point to some temporary storage. The cell will // be constructed in this temporary area then copied into pPage->aData // later. -func fillInCell(tls *libc.TLS, pPage uintptr, pCell uintptr, pX uintptr, pnSize uintptr) int32 { /* sqlite3.c:72785:12: */ +func fillInCell(tls *libc.TLS, pPage uintptr, pCell uintptr, pX uintptr, pnSize uintptr) int32 { /* sqlite3.c:72795:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -50339,7 +50349,7 @@ func fillInCell(tls *libc.TLS, pPage uintptr, pCell uintptr, pX uintptr, pnSize // removes the reference to the cell from pPage. // // "sz" must be the number of bytes in the cell. -func dropCell(tls *libc.TLS, pPage uintptr, idx int32, sz int32, pRC uintptr) { /* sqlite3.c:72975:13: */ +func dropCell(tls *libc.TLS, pPage uintptr, idx int32, sz int32, pRC uintptr) { /* sqlite3.c:72985:13: */ var pc U32 // Offset to cell content of cell being deleted var data uintptr // pPage->aData var ptr uintptr // Used to move bytes around within data[] @@ -50357,7 +50367,7 @@ func dropCell(tls *libc.TLS, pPage uintptr, idx int32, sz int32, pRC uintptr) { hdr = int32((*MemPage)(unsafe.Pointer(pPage)).FhdrOffset) if pc+U32(sz) > (*BtShared)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize { - *(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 73003) + *(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 73013) return } rc = freeSpace(tls, pPage, uint16(pc), uint16(sz)) @@ -50393,7 +50403,7 @@ func dropCell(tls *libc.TLS, pPage uintptr, idx int32, sz int32, pRC uintptr) { // pPage->nOverflow is incremented. // // *pRC must be SQLITE_OK when this routine is called. -func insertCell(tls *libc.TLS, pPage uintptr, i int32, pCell uintptr, sz int32, pTemp uintptr, iChild Pgno, pRC uintptr) { /* sqlite3.c:73039:13: */ +func insertCell(tls *libc.TLS, pPage uintptr, i int32, pCell uintptr, sz int32, pTemp uintptr, iChild Pgno, pRC uintptr) { /* sqlite3.c:73049:13: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -50554,7 +50564,7 @@ type CellArray1 = struct { FszCell uintptr FapEnd [6]uintptr FixNx [6]int32 -} /* sqlite3.c:73214:9 */ +} /* sqlite3.c:73224:9 */ // The following parameters determine how many adjacent pages get involved // in a balancing operation. NN is the number of neighbors on either side @@ -50631,11 +50641,11 @@ type CellArray1 = struct { // cases, ixNx[] entries with higher indexes, and the corresponding apEnd[] // entries, shift down. The end result is that each ixNx[] entry should // be larger than the previous -type CellArray = CellArray1 /* sqlite3.c:73214:26 */ +type CellArray = CellArray1 /* sqlite3.c:73224:26 */ // Make sure the cell sizes at idx, idx+1, ..., idx+N-1 have been // computed. -func populateCellCache(tls *libc.TLS, p uintptr, idx int32, N int32) { /* sqlite3.c:73228:13: */ +func populateCellCache(tls *libc.TLS, p uintptr, idx int32, N int32) { /* sqlite3.c:73238:13: */ for N > 0 { @@ -50652,7 +50662,7 @@ func populateCellCache(tls *libc.TLS, p uintptr, idx int32, N int32) { /* sqlite } // Return the size of the Nth element of the cell array -func computeCellSize(tls *libc.TLS, p uintptr, N int32) U16 { /* sqlite3.c:73246:28: */ +func computeCellSize(tls *libc.TLS, p uintptr, N int32) U16 { /* sqlite3.c:73256:28: */ *(*U16)(unsafe.Pointer((*CellArray)(unsafe.Pointer(p)).FszCell + uintptr(N)*2)) = (*struct { f func(*libc.TLS, uintptr, uintptr) U16 @@ -50660,7 +50670,7 @@ func computeCellSize(tls *libc.TLS, p uintptr, N int32) U16 { /* sqlite3.c:73246 return *(*U16)(unsafe.Pointer((*CellArray)(unsafe.Pointer(p)).FszCell + uintptr(N)*2)) } -func cachedCellSize(tls *libc.TLS, p uintptr, N int32) U16 { /* sqlite3.c:73252:12: */ +func cachedCellSize(tls *libc.TLS, p uintptr, N int32) U16 { /* sqlite3.c:73262:12: */ if *(*U16)(unsafe.Pointer((*CellArray)(unsafe.Pointer(p)).FszCell + uintptr(N)*2)) != 0 { return *(*U16)(unsafe.Pointer((*CellArray)(unsafe.Pointer(p)).FszCell + uintptr(N)*2)) @@ -50679,7 +50689,7 @@ func cachedCellSize(tls *libc.TLS, p uintptr, N int32) U16 { /* sqlite3.c:73252: // // The MemPage.nFree field is invalidated by this function. It is the // responsibility of the caller to set it correctly. -func rebuildPage(tls *libc.TLS, pCArray uintptr, iFirst int32, nCell int32, pPg uintptr) int32 { /* sqlite3.c:73271:12: */ +func rebuildPage(tls *libc.TLS, pCArray uintptr, iFirst int32, nCell int32, pPg uintptr) int32 { /* sqlite3.c:73281:12: */ var hdr int32 = int32((*MemPage)(unsafe.Pointer(pPg)).FhdrOffset) // Offset of header on pPg var aData uintptr = (*MemPage)(unsafe.Pointer(pPg)).FaData // Pointer to data for pPg var usableSize int32 = int32((*BtShared)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPg)).FpBt)).FusableSize) @@ -50710,12 +50720,12 @@ func rebuildPage(tls *libc.TLS, pCArray uintptr, iFirst int32, nCell int32, pPg if Uptr(pCell) >= Uptr(aData+uintptr(j)) && Uptr(pCell) < Uptr(pEnd) { if Uptr(pCell+uintptr(sz)) > Uptr(pEnd) { - return Xsqlite3CorruptError(tls, 73304) + return Xsqlite3CorruptError(tls, 73314) } pCell = pTmp + uintptr((int64(pCell)-int64(aData))/1) } else if Uptr(pCell+uintptr(sz)) > Uptr(pSrcEnd) && Uptr(pCell) < Uptr(pSrcEnd) { - return Xsqlite3CorruptError(tls, 73309) + return Xsqlite3CorruptError(tls, 73319) } pData -= uintptr(sz) @@ -50723,7 +50733,7 @@ func rebuildPage(tls *libc.TLS, pCArray uintptr, iFirst int32, nCell int32, pPg *(*U8)(unsafe.Pointer(pCellptr + 1)) = U8((int64(pData) - int64(aData)) / 1) pCellptr += uintptr(2) if pData < pCellptr { - return Xsqlite3CorruptError(tls, 73315) + return Xsqlite3CorruptError(tls, 73325) } libc.Xmemmove(tls, pData, pCell, uint64(sz)) @@ -50773,7 +50783,7 @@ func rebuildPage(tls *libc.TLS, pCArray uintptr, iFirst int32, nCell int32, pPg // all cells - not just those inserted by the current call). If the content // area must be extended to before this point in order to accomodate all // cells in apCell[], then the cells do not fit and non-zero is returned. -func pageInsertArray(tls *libc.TLS, pPg uintptr, pBegin uintptr, ppData uintptr, pCellptr uintptr, iFirst int32, nCell int32, pCArray uintptr) int32 { /* sqlite3.c:73361:12: */ +func pageInsertArray(tls *libc.TLS, pPg uintptr, pBegin uintptr, ppData uintptr, pCellptr uintptr, iFirst int32, nCell int32, pCArray uintptr) int32 { /* sqlite3.c:73371:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -50811,7 +50821,7 @@ func pageInsertArray(tls *libc.TLS, pPg uintptr, pBegin uintptr, ppData uintptr, if Uptr(*(*uintptr)(unsafe.Pointer((*CellArray)(unsafe.Pointer(pCArray)).FapCell + uintptr(i)*8))+uintptr(sz)) > Uptr(pEnd) && Uptr(*(*uintptr)(unsafe.Pointer((*CellArray)(unsafe.Pointer(pCArray)).FapCell + uintptr(i)*8))) < Uptr(pEnd) { - Xsqlite3CorruptError(tls, 73400) + Xsqlite3CorruptError(tls, 73410) return 1 } libc.Xmemmove(tls, pSlot, *(*uintptr)(unsafe.Pointer((*CellArray)(unsafe.Pointer(pCArray)).FapCell + uintptr(i)*8)), uint64(sz)) @@ -50838,7 +50848,7 @@ func pageInsertArray(tls *libc.TLS, pPg uintptr, pBegin uintptr, ppData uintptr, // The cell-pointers and other fields of the page are not updated. // // This function returns the total number of cells added to the free-list. -func pageFreeArray(tls *libc.TLS, pPg uintptr, iFirst int32, nCell int32, pCArray uintptr) int32 { /* sqlite3.c:73426:12: */ +func pageFreeArray(tls *libc.TLS, pPg uintptr, iFirst int32, nCell int32, pCArray uintptr) int32 { /* sqlite3.c:73436:12: */ var aData uintptr = (*MemPage)(unsafe.Pointer(pPg)).FaData var pEnd uintptr = aData + uintptr((*BtShared)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPg)).FpBt)).FusableSize) var pStart uintptr = aData + uintptr(int32((*MemPage)(unsafe.Pointer(pPg)).FhdrOffset)+8+int32((*MemPage)(unsafe.Pointer(pPg)).FchildPtrSize)) @@ -50890,7 +50900,7 @@ func pageFreeArray(tls *libc.TLS, pPg uintptr, iFirst int32, nCell int32, pCArra // // The pPg->nFree field is invalid when this function returns. It is the // responsibility of the caller to set it correctly. -func editPage(tls *libc.TLS, pPg uintptr, iOld int32, iNew int32, nNew int32, pCArray uintptr) int32 { /* sqlite3.c:73485:12: */ +func editPage(tls *libc.TLS, pPg uintptr, iOld int32, iNew int32, nNew int32, pCArray uintptr) int32 { /* sqlite3.c:73495:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -50924,7 +50934,7 @@ func editPage(tls *libc.TLS, pPg uintptr, iOld int32, iNew int32, nNew int32, pC if !(nShift > nCell) { goto __2 } - return Xsqlite3CorruptError(tls, 73511) + return Xsqlite3CorruptError(tls, 73521) __2: ; libc.Xmemmove(tls, (*MemPage)(unsafe.Pointer(pPg)).FaCellIdx, (*MemPage)(unsafe.Pointer(pPg)).FaCellIdx+uintptr(nShift*2), uint64(nCell*2)) @@ -51064,7 +51074,7 @@ editpage_fail: // byte page number followed by a variable length integer. In other // words, at most 13 bytes. Hence the pSpace buffer must be at // least 13 bytes in size. -func balance_quick(tls *libc.TLS, pParent uintptr, pPage uintptr, pSpace uintptr) int32 { /* sqlite3.c:73614:12: */ +func balance_quick(tls *libc.TLS, pParent uintptr, pPage uintptr, pSpace uintptr) int32 { /* sqlite3.c:73624:12: */ bp := tls.Alloc(140) defer tls.Free(140) @@ -51077,7 +51087,7 @@ func balance_quick(tls *libc.TLS, pParent uintptr, pPage uintptr, pSpace uintptr // Page number of pNew if int32((*MemPage)(unsafe.Pointer(pPage)).FnCell) == 0 { - return Xsqlite3CorruptError(tls, 73624) + return Xsqlite3CorruptError(tls, 73634) } // dbfuzz001.test // Allocate a new page. This page will become the right-sibling of @@ -51175,7 +51185,7 @@ func balance_quick(tls *libc.TLS, pParent uintptr, pPage uintptr, pSpace uintptr // The performance of this function is not critical. It is only used by // the balance_shallower() and balance_deeper() procedures, neither of // which are called often under normal circumstances. -func copyNodeContent(tls *libc.TLS, pFrom uintptr, pTo uintptr, pRC uintptr) { /* sqlite3.c:73769:13: */ +func copyNodeContent(tls *libc.TLS, pFrom uintptr, pTo uintptr, pRC uintptr) { /* sqlite3.c:73779:13: */ if *(*int32)(unsafe.Pointer(pRC)) == SQLITE_OK { var pBt uintptr = (*MemPage)(unsafe.Pointer(pFrom)).FpBt var aFrom uintptr = (*MemPage)(unsafe.Pointer(pFrom)).FaData @@ -51255,7 +51265,7 @@ func copyNodeContent(tls *libc.TLS, pFrom uintptr, pTo uintptr, pRC uintptr) { / // // If aOvflSpace is set to a null pointer, this function returns // SQLITE_NOMEM. -func balance_nonroot(tls *libc.TLS, pParent uintptr, iParentIdx int32, aOvflSpace uintptr, isRoot int32, bBulk int32) int32 { /* sqlite3.c:73851:12: */ +func balance_nonroot(tls *libc.TLS, pParent uintptr, iParentIdx int32, aOvflSpace uintptr, isRoot int32, bBulk int32) int32 { /* sqlite3.c:73861:12: */ bp := tls.Alloc(344) defer tls.Free(344) @@ -51557,7 +51567,7 @@ __22: if !(int32(*(*U8)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pOld)).FaData))) != int32(*(*U8)(unsafe.Pointer((*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 112)))).FaData)))) { goto __25 } - *(*int32)(unsafe.Pointer(bp + 172 /* rc */)) = Xsqlite3CorruptError(tls, 74047) + *(*int32)(unsafe.Pointer(bp + 172 /* rc */)) = Xsqlite3CorruptError(tls, 74057) goto balance_cleanup __25: ; @@ -51585,7 +51595,7 @@ __25: if !(limit < int32(*(*U16)(unsafe.Pointer(pOld + 28)))) { goto __27 } - *(*int32)(unsafe.Pointer(bp + 172 /* rc */)) = Xsqlite3CorruptError(tls, 74071) + *(*int32)(unsafe.Pointer(bp + 172 /* rc */)) = Xsqlite3CorruptError(tls, 74081) goto balance_cleanup __27: ; @@ -51764,7 +51774,7 @@ __52: if !(k > NB+2) { goto __55 } - *(*int32)(unsafe.Pointer(bp + 172 /* rc */)) = Xsqlite3CorruptError(tls, 74172) + *(*int32)(unsafe.Pointer(bp + 172 /* rc */)) = Xsqlite3CorruptError(tls, 74182) goto balance_cleanup __55: ; @@ -51838,7 +51848,7 @@ __65: }()) { goto __67 } - *(*int32)(unsafe.Pointer(bp + 172 /* rc */)) = Xsqlite3CorruptError(tls, 74205) + *(*int32)(unsafe.Pointer(bp + 172 /* rc */)) = Xsqlite3CorruptError(tls, 74215) goto balance_cleanup __67: ; @@ -51911,7 +51921,7 @@ __73: }()) { goto __75 } - *(*int32)(unsafe.Pointer(bp + 172 /* rc */)) = Xsqlite3CorruptError(tls, 74247) + *(*int32)(unsafe.Pointer(bp + 172 /* rc */)) = Xsqlite3CorruptError(tls, 74257) goto balance_cleanup __75: ; @@ -51948,7 +51958,7 @@ __76: *(*int32)(unsafe.Pointer(bp + 172)) == SQLITE_OK) { goto __81 } - *(*int32)(unsafe.Pointer(bp + 172 /* rc */)) = Xsqlite3CorruptError(tls, 74280) + *(*int32)(unsafe.Pointer(bp + 172 /* rc */)) = Xsqlite3CorruptError(tls, 74290) __81: ; if !(*(*int32)(unsafe.Pointer(bp + 172)) != 0) { @@ -52032,7 +52042,7 @@ __89: // cache with two separate objects associated with the same // page number. - *(*int32)(unsafe.Pointer(bp + 172 /* rc */)) = Xsqlite3CorruptError(tls, 74326) + *(*int32)(unsafe.Pointer(bp + 172 /* rc */)) = Xsqlite3CorruptError(tls, 74336) goto balance_cleanup __92: ; @@ -52285,7 +52295,7 @@ __125: if !(Uptr(pSrcEnd) >= Uptr(pCell1) && Uptr(pSrcEnd) < Uptr(pCell1+uintptr(sz2))) { goto __126 } - *(*int32)(unsafe.Pointer(bp + 172 /* rc */)) = Xsqlite3CorruptError(tls, 74483) + *(*int32)(unsafe.Pointer(bp + 172 /* rc */)) = Xsqlite3CorruptError(tls, 74493) goto balance_cleanup __126: ; @@ -52507,7 +52517,7 @@ __150: // page and SQLITE_OK is returned. In this case the caller is required // to call releasePage() on *ppChild exactly once. If an error occurs, // an error code is returned and *ppChild is set to 0. -func balance_deeper(tls *libc.TLS, pRoot uintptr, ppChild uintptr) int32 { /* sqlite3.c:74648:12: */ +func balance_deeper(tls *libc.TLS, pRoot uintptr, ppChild uintptr) int32 { /* sqlite3.c:74658:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -52558,13 +52568,13 @@ func balance_deeper(tls *libc.TLS, pRoot uintptr, ppChild uintptr) int32 { /* sq // table linked to the same b-tree. If the secondary insert causes a // rebalance, that can change content out from under the cursor on the // first SQL table, violating invariants on the first insert. -func anotherValidCursor(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:74706:12: */ +func anotherValidCursor(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:74716:12: */ var pOther uintptr for pOther = (*BtShared)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pCur)).FpBt)).FpCursor; pOther != 0; pOther = (*BtCursor)(unsafe.Pointer(pOther)).FpNext { if pOther != pCur && int32((*BtCursor)(unsafe.Pointer(pOther)).FeState) == CURSOR_VALID && (*BtCursor)(unsafe.Pointer(pOther)).FpPage == (*BtCursor)(unsafe.Pointer(pCur)).FpPage { - return Xsqlite3CorruptError(tls, 74713) + return Xsqlite3CorruptError(tls, 74723) } } return SQLITE_OK @@ -52578,7 +52588,7 @@ func anotherValidCursor(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:74706: // balance_quick() // balance_deeper() // balance_nonroot() -func balance(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:74729:12: */ +func balance(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:74739:12: */ bp := tls.Alloc(13) defer tls.Free(13) @@ -52697,7 +52707,7 @@ func balance(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:74729:12: */ // Overwrite content from pX into pDest. Only do the write if the // content is different from what is already there. -func btreeOverwriteContent(tls *libc.TLS, pPage uintptr, pDest uintptr, pX uintptr, iOffset int32, iAmt int32) int32 { /* sqlite3.c:74855:12: */ +func btreeOverwriteContent(tls *libc.TLS, pPage uintptr, pDest uintptr, pX uintptr, iOffset int32, iAmt int32) int32 { /* sqlite3.c:74865:12: */ var nData int32 = (*BtreePayload)(unsafe.Pointer(pX)).FnData - iOffset if nData <= 0 { // Overwritting with zeros @@ -52739,7 +52749,7 @@ func btreeOverwriteContent(tls *libc.TLS, pPage uintptr, pDest uintptr, pX uintp // Overwrite the cell that cursor pCur is pointing to with fresh content // contained in pX. -func btreeOverwriteCell(tls *libc.TLS, pCur uintptr, pX uintptr) int32 { /* sqlite3.c:74898:12: */ +func btreeOverwriteCell(tls *libc.TLS, pCur uintptr, pX uintptr) int32 { /* sqlite3.c:74908:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -52753,7 +52763,7 @@ func btreeOverwriteCell(tls *libc.TLS, pCur uintptr, pX uintptr) int32 { /* sqli if (*BtCursor)(unsafe.Pointer(pCur)).Finfo.FpPayload+uintptr((*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnLocal) > (*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FaDataEnd || (*BtCursor)(unsafe.Pointer(pCur)).Finfo.FpPayload < (*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FaData+uintptr((*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FcellOffset) { - return Xsqlite3CorruptError(tls, 74910) + return Xsqlite3CorruptError(tls, 74920) } // Overwrite the local portion first rc = btreeOverwriteContent(tls, *(*uintptr)(unsafe.Pointer(bp /* pPage */)), (*BtCursor)(unsafe.Pointer(pCur)).Finfo.FpPayload, pX, @@ -52777,7 +52787,7 @@ func btreeOverwriteCell(tls *libc.TLS, pCur uintptr, pX uintptr) int32 { /* sqli return rc } if Xsqlite3PagerPageRefcount(tls, (*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FpDbPage) != 1 || (*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FisInit != 0 { - rc = Xsqlite3CorruptError(tls, 74929) + rc = Xsqlite3CorruptError(tls, 74939) } else { if U32(iOffset)+ovflPageSize < U32(nTotal) { ovflPgno = Xsqlite3Get4byte(tls, (*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* pPage */)))).FaData) @@ -52824,7 +52834,7 @@ func btreeOverwriteCell(tls *libc.TLS, pCur uintptr, pX uintptr) int32 { /* sqli // if pX->nMem is non-zero, then pX->aMem contains pointers to the unpacked // key values and pX->aMem can be used instead of pX->pKey to avoid having // to decode the key. -func Xsqlite3BtreeInsert(tls *libc.TLS, pCur uintptr, pX uintptr, flags int32, seekResult int32) int32 { /* sqlite3.c:74977:20: */ +func Xsqlite3BtreeInsert(tls *libc.TLS, pCur uintptr, pX uintptr, flags int32, seekResult int32) int32 { /* sqlite3.c:74987:20: */ bp := tls.Alloc(136) defer tls.Free(136) @@ -52854,20 +52864,6 @@ func Xsqlite3BtreeInsert(tls *libc.TLS, pCur uintptr, pX uintptr, flags int32, s pBt = (*Btree)(unsafe.Pointer(p)).FpBt newCell = uintptr(0) - if !(int32((*BtCursor)(unsafe.Pointer(pCur)).FeState) == CURSOR_FAULT) { - goto __1 - } - - return (*BtCursor)(unsafe.Pointer(pCur)).FskipNext -__1: - ; - - // Assert that the caller has been consistent. If this cursor was opened - // expecting an index b-tree, then the caller should be inserting blob - // keys with no associated data. If the cursor was opened expecting an - // intkey table, the caller should be inserting integer keys with a - // blob of associated data. - // Save the positions of any other cursors open on this table. // // In some cases, the call to btreeMoveto() below is a no-op. For @@ -52879,40 +52875,59 @@ __1: // doing any work. To avoid thwarting these optimizations, it is important // not to clear the cursor here. if !(int32((*BtCursor)(unsafe.Pointer(pCur)).FcurFlags)&BTCF_Multiple != 0) { - goto __2 + goto __1 } *(*int32)(unsafe.Pointer(bp + 104 /* rc */)) = saveAllCursors(tls, pBt, (*BtCursor)(unsafe.Pointer(pCur)).FpgnoRoot, pCur) if !(*(*int32)(unsafe.Pointer(bp + 104)) != 0) { - goto __3 + goto __2 } return *(*int32)(unsafe.Pointer(bp + 104 /* rc */)) -__3: +__2: ; if !(*(*int32)(unsafe.Pointer(bp)) != 0 && int32((*BtCursor)(unsafe.Pointer(pCur)).FiPage) < 0) { - goto __4 + goto __3 } // This can only happen if the schema is corrupt such that there is more // than one table or index with the same root page as used by the cursor. // 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 Xsqlite3CorruptError(tls, 75034) -__4: + return Xsqlite3CorruptError(tls, 75026) +__3: ; -__2: +__1: ; - if !((*BtCursor)(unsafe.Pointer(pCur)).FpKeyInfo == uintptr(0)) { + if !(int32((*BtCursor)(unsafe.Pointer(pCur)).FeState) >= CURSOR_REQUIRESEEK) { + goto __4 + } + *(*int32)(unsafe.Pointer(bp + 104 /* rc */)) = moveToRoot(tls, pCur) + if !(*(*int32)(unsafe.Pointer(bp + 104)) != 0 && *(*int32)(unsafe.Pointer(bp + 104)) != SQLITE_EMPTY) { goto __5 } + return *(*int32)(unsafe.Pointer(bp + 104 /* rc */)) +__5: + ; +__4: + ; + + // Assert that the caller has been consistent. If this cursor was opened + // expecting an index b-tree, then the caller should be inserting blob + // keys with no associated data. If the cursor was opened expecting an + // intkey table, the caller should be inserting integer keys with a + // blob of associated data. + + if !((*BtCursor)(unsafe.Pointer(pCur)).FpKeyInfo == uintptr(0)) { + goto __6 + } // If this is an insert into a table b-tree, invalidate any incrblob // cursors open on the row being replaced if !((*Btree)(unsafe.Pointer(p)).FhasIncrblobCur != 0) { - goto __7 + goto __8 } invalidateIncrblobCursors(tls, p, (*BtCursor)(unsafe.Pointer(pCur)).FpgnoRoot, (*BtreePayload)(unsafe.Pointer(pX)).FnKey, 0) -__7: +__8: ; // If BTREE_SAVEPOSITION is set, the cursor must already be pointing @@ -52922,24 +52937,24 @@ __7: // that the cursor is not pointing to a row to be overwritten. // So do a complete check. if !(int32((*BtCursor)(unsafe.Pointer(pCur)).FcurFlags)&BTCF_ValidNKey != 0 && (*BtreePayload)(unsafe.Pointer(pX)).FnKey == (*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnKey) { - goto __8 + goto __9 } // The cursor is pointing to the entry that is to be // overwritten if !(int32((*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnSize) != 0 && (*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnPayload == U32((*BtreePayload)(unsafe.Pointer(pX)).FnData)+U32((*BtreePayload)(unsafe.Pointer(pX)).FnZero)) { - goto __10 + goto __11 } // New entry is the same size as the old. Do an overwrite return btreeOverwriteCell(tls, pCur, pX) -__10: +__11: ; - goto __9 -__8: + goto __10 +__9: if !(*(*int32)(unsafe.Pointer(bp)) == 0) { - goto __11 + goto __12 } // The cursor is *not* pointing to the cell to be overwritten, nor // to an adjacent cell. Move the cursor so that it is pointing either @@ -52947,17 +52962,17 @@ __8: *(*int32)(unsafe.Pointer(bp + 104 /* rc */)) = Xsqlite3BtreeTableMoveto(tls, pCur, (*BtreePayload)(unsafe.Pointer(pX)).FnKey, libc.Bool32(flags&BTREE_APPEND != 0), bp) if !(*(*int32)(unsafe.Pointer(bp + 104)) != 0) { - goto __12 + goto __13 } return *(*int32)(unsafe.Pointer(bp + 104 /* rc */)) -__12: +__13: ; -__11: +__12: ; -__9: +__10: ; - goto __6 -__5: + goto __7 +__6: // This is an index or a WITHOUT ROWID table // If BTREE_SAVEPOSITION is set, the cursor must already be pointing @@ -52969,10 +52984,10 @@ __5: // not pointing to an immediately adjacent cell, then move the cursor // so that it does. if !(*(*int32)(unsafe.Pointer(bp)) == 0 && flags&BTREE_SAVEPOSITION == 0) { - goto __13 + goto __14 } if !((*BtreePayload)(unsafe.Pointer(pX)).FnMem != 0) { - goto __14 + goto __15 } (*UnpackedRecord)(unsafe.Pointer(bp + 8 /* &r */)).FpKeyInfo = (*BtCursor)(unsafe.Pointer(pCur)).FpKeyInfo (*UnpackedRecord)(unsafe.Pointer(bp + 8 /* &r */)).FaMem = (*BtreePayload)(unsafe.Pointer(pX)).FaMem @@ -52980,147 +52995,147 @@ __5: (*UnpackedRecord)(unsafe.Pointer(bp + 8 /* &r */)).Fdefault_rc = int8(0) (*UnpackedRecord)(unsafe.Pointer(bp + 8 /* &r */)).FeqSeen = U8(0) *(*int32)(unsafe.Pointer(bp + 104 /* rc */)) = Xsqlite3BtreeIndexMoveto(tls, pCur, bp+8, bp) - goto __15 -__14: + goto __16 +__15: *(*int32)(unsafe.Pointer(bp + 104 /* rc */)) = btreeMoveto(tls, pCur, (*BtreePayload)(unsafe.Pointer(pX)).FpKey, (*BtreePayload)(unsafe.Pointer(pX)).FnKey, libc.Bool32(flags&BTREE_APPEND != 0), bp) -__15: +__16: ; if !(*(*int32)(unsafe.Pointer(bp + 104)) != 0) { - goto __16 + goto __17 } return *(*int32)(unsafe.Pointer(bp + 104 /* rc */)) -__16: +__17: ; -__13: +__14: ; // If the cursor is currently pointing to an entry to be overwritten // and the new content is the same as as the old, then use the // overwrite optimization. if !(*(*int32)(unsafe.Pointer(bp)) == 0) { - goto __17 + goto __18 } getCellInfo(tls, pCur) if !((*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnKey == (*BtreePayload)(unsafe.Pointer(pX)).FnKey) { - goto __18 + goto __19 } (*BtreePayload)(unsafe.Pointer(bp + 32 /* &x2 */)).FpData = (*BtreePayload)(unsafe.Pointer(pX)).FpKey (*BtreePayload)(unsafe.Pointer(bp + 32 /* &x2 */)).FnData = int32((*BtreePayload)(unsafe.Pointer(pX)).FnKey) (*BtreePayload)(unsafe.Pointer(bp + 32 /* &x2 */)).FnZero = 0 return btreeOverwriteCell(tls, pCur, bp+32) -__18: +__19: ; -__17: +__18: ; -__6: +__7: ; pPage = (*BtCursor)(unsafe.Pointer(pCur)).FpPage if !((*MemPage)(unsafe.Pointer(pPage)).FnFree < 0) { - goto __19 + goto __20 } if !(int32((*BtCursor)(unsafe.Pointer(pCur)).FeState) > CURSOR_INVALID) { - goto __20 + goto __21 } - *(*int32)(unsafe.Pointer(bp + 104 /* rc */)) = Xsqlite3CorruptError(tls, 75134) - goto __21 -__20: - *(*int32)(unsafe.Pointer(bp + 104 /* rc */)) = btreeComputeFreeSpace(tls, pPage) + *(*int32)(unsafe.Pointer(bp + 104 /* rc */)) = Xsqlite3CorruptError(tls, 75143) + goto __22 __21: + *(*int32)(unsafe.Pointer(bp + 104 /* rc */)) = btreeComputeFreeSpace(tls, pPage) +__22: ; if !(*(*int32)(unsafe.Pointer(bp + 104)) != 0) { - goto __22 + goto __23 } return *(*int32)(unsafe.Pointer(bp + 104 /* rc */)) -__22: +__23: ; -__19: +__20: ; newCell = (*BtShared)(unsafe.Pointer(pBt)).FpTmpSpace if !(flags&BTREE_PREFORMAT != 0) { - goto __23 + goto __24 } *(*int32)(unsafe.Pointer(bp + 104 /* rc */)) = SQLITE_OK *(*int32)(unsafe.Pointer(bp + 108 /* szNew */)) = (*BtShared)(unsafe.Pointer(pBt)).FnPreformatSize if !(*(*int32)(unsafe.Pointer(bp + 108)) < 4) { - goto __25 + goto __26 } *(*int32)(unsafe.Pointer(bp + 108 /* szNew */)) = 4 -__25: +__26: ; if !((*BtShared)(unsafe.Pointer(pBt)).FautoVacuum != 0 && *(*int32)(unsafe.Pointer(bp + 108)) > int32((*MemPage)(unsafe.Pointer(pPage)).FmaxLocal)) { - goto __26 + goto __27 } (*struct { f func(*libc.TLS, uintptr, uintptr, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*MemPage)(unsafe.Pointer(pPage)).FxParseCell})).f(tls, pPage, newCell, bp+80 /* &info */) if !((*CellInfo)(unsafe.Pointer(bp+80)).FnPayload != U32((*CellInfo)(unsafe.Pointer(bp+80)).FnLocal)) { - goto __27 + goto __28 } ovfl = Xsqlite3Get4byte(tls, newCell+uintptr(*(*int32)(unsafe.Pointer(bp + 108))-4)) ptrmapPut(tls, pBt, ovfl, uint8(PTRMAP_OVERFLOW1), (*MemPage)(unsafe.Pointer(pPage)).Fpgno, bp+104) -__27: +__28: ; -__26: +__27: ; - goto __24 -__23: - *(*int32)(unsafe.Pointer(bp + 104 /* rc */)) = fillInCell(tls, pPage, newCell, pX, bp+108) + goto __25 __24: + *(*int32)(unsafe.Pointer(bp + 104 /* rc */)) = fillInCell(tls, pPage, newCell, pX, bp+108) +__25: ; if !(*(*int32)(unsafe.Pointer(bp + 104)) != 0) { - goto __28 + goto __29 } goto end_insert -__28: +__29: ; idx = int32((*BtCursor)(unsafe.Pointer(pCur)).Fix) if !(*(*int32)(unsafe.Pointer(bp)) == 0) { - goto __29 + goto __30 } if !(idx >= int32((*MemPage)(unsafe.Pointer(pPage)).FnCell)) { - goto __31 + goto __32 } - return Xsqlite3CorruptError(tls, 75170) -__31: + return Xsqlite3CorruptError(tls, 75179) +__32: ; *(*int32)(unsafe.Pointer(bp + 104 /* rc */)) = Xsqlite3PagerWrite(tls, (*MemPage)(unsafe.Pointer(pPage)).FpDbPage) if !(*(*int32)(unsafe.Pointer(bp + 104)) != 0) { - goto __32 + goto __33 } goto end_insert -__32: +__33: ; oldCell = (*MemPage)(unsafe.Pointer(pPage)).FaData + uintptr(int32((*MemPage)(unsafe.Pointer(pPage)).FmaskPage)&int32(libc.X__builtin_bswap16(tls, *(*U16)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPage)).FaCellIdx + uintptr(2*idx)))))) if !!(int32((*MemPage)(unsafe.Pointer(pPage)).Fleaf) != 0) { - goto __33 + goto __34 } libc.Xmemcpy(tls, newCell, oldCell, uint64(4)) -__33: +__34: ; (*struct { f func(*libc.TLS, uintptr, uintptr, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*MemPage)(unsafe.Pointer(pPage)).FxParseCell})).f(tls, pPage, oldCell, bp+112 /* &info1 */) if !(U32((*CellInfo)(unsafe.Pointer(bp+112 /* &info1 */)).FnLocal) != (*CellInfo)(unsafe.Pointer(bp+112 /* &info1 */)).FnPayload) { - goto __34 + goto __35 } *(*int32)(unsafe.Pointer(bp + 104 /* rc */)) = clearCellOverflow(tls, pPage, oldCell, bp+112 /* &info1 */) - goto __35 -__34: - *(*int32)(unsafe.Pointer(bp + 104 /* rc */)) = SQLITE_OK + goto __36 __35: + *(*int32)(unsafe.Pointer(bp + 104 /* rc */)) = SQLITE_OK +__36: ; *(*U8)(unsafe.Pointer(pCur + 1)) &= libc.Uint8FromInt32(libc.CplInt32(BTCF_ValidOvfl)) if !(int32((*CellInfo)(unsafe.Pointer(bp+112)).FnSize) == *(*int32)(unsafe.Pointer(bp + 108)) && U32((*CellInfo)(unsafe.Pointer(bp+112)).FnLocal) == (*CellInfo)(unsafe.Pointer(bp+112)).FnPayload && (!(int32((*BtShared)(unsafe.Pointer(pBt)).FautoVacuum) != 0) || *(*int32)(unsafe.Pointer(bp + 108)) < int32((*MemPage)(unsafe.Pointer(pPage)).FminLocal))) { - goto __36 + goto __37 } // Overwrite the old cell with the new if they are the same size. // We could also try to do this if the old cell is smaller, then add @@ -53133,42 +53148,42 @@ __35: // necessary to add the PTRMAP_OVERFLOW1 pointer-map entry. // clearCell never fails when nLocal==nPayload if !(oldCell < (*MemPage)(unsafe.Pointer(pPage)).FaData+uintptr((*MemPage)(unsafe.Pointer(pPage)).FhdrOffset)+uintptr(10)) { - goto __37 + goto __38 } - return Xsqlite3CorruptError(tls, 75197) -__37: + return Xsqlite3CorruptError(tls, 75206) +__38: ; if !(oldCell+uintptr(*(*int32)(unsafe.Pointer(bp + 108))) > (*MemPage)(unsafe.Pointer(pPage)).FaDataEnd) { - goto __38 + goto __39 } - return Xsqlite3CorruptError(tls, 75200) -__38: + return Xsqlite3CorruptError(tls, 75209) +__39: ; libc.Xmemcpy(tls, oldCell, newCell, uint64(*(*int32)(unsafe.Pointer(bp + 108 /* szNew */)))) return SQLITE_OK -__36: +__37: ; dropCell(tls, pPage, idx, int32((*CellInfo)(unsafe.Pointer(bp+112 /* &info1 */)).FnSize), bp+104) if !(*(*int32)(unsafe.Pointer(bp + 104)) != 0) { - goto __39 + goto __40 } goto end_insert -__39: +__40: ; - goto __30 -__29: + goto __31 +__30: if !(*(*int32)(unsafe.Pointer(bp)) < 0 && int32((*MemPage)(unsafe.Pointer(pPage)).FnCell) > 0) { - goto __40 + goto __41 } idx = int32(libc.PreIncUint16(&(*BtCursor)(unsafe.Pointer(pCur)).Fix, 1)) *(*U8)(unsafe.Pointer(pCur + 1)) &= libc.Uint8FromInt32(libc.CplInt32(BTCF_ValidNKey)) - goto __41 -__40: - ; + goto __42 __41: ; -__30: +__42: + ; +__31: ; insertCell(tls, pPage, idx, newCell, *(*int32)(unsafe.Pointer(bp + 108 /* szNew */)), uintptr(0), uint32(0), bp+104) @@ -53193,7 +53208,7 @@ __30: // row without seeking the cursor. This can be a big performance boost. (*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnSize = U16(0) if !((*MemPage)(unsafe.Pointer(pPage)).FnOverflow != 0) { - goto __42 + goto __43 } *(*U8)(unsafe.Pointer(pCur + 1)) &= libc.Uint8FromInt32(libc.CplInt32(BTCF_ValidNKey)) @@ -53206,30 +53221,30 @@ __30: (*MemPage)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pCur)).FpPage)).FnOverflow = U8(0) (*BtCursor)(unsafe.Pointer(pCur)).FeState = U8(CURSOR_INVALID) if !(flags&BTREE_SAVEPOSITION != 0 && *(*int32)(unsafe.Pointer(bp + 104)) == SQLITE_OK) { - goto __43 + goto __44 } btreeReleaseAllCursorPages(tls, pCur) if !((*BtCursor)(unsafe.Pointer(pCur)).FpKeyInfo != 0) { - goto __44 + goto __45 } (*BtCursor)(unsafe.Pointer(pCur)).FpKey = Xsqlite3Malloc(tls, uint64((*BtreePayload)(unsafe.Pointer(pX)).FnKey)) if !((*BtCursor)(unsafe.Pointer(pCur)).FpKey == uintptr(0)) { - goto __45 + goto __46 } *(*int32)(unsafe.Pointer(bp + 104 /* rc */)) = SQLITE_NOMEM - goto __46 -__45: - libc.Xmemcpy(tls, (*BtCursor)(unsafe.Pointer(pCur)).FpKey, (*BtreePayload)(unsafe.Pointer(pX)).FpKey, uint64((*BtreePayload)(unsafe.Pointer(pX)).FnKey)) + goto __47 __46: + libc.Xmemcpy(tls, (*BtCursor)(unsafe.Pointer(pCur)).FpKey, (*BtreePayload)(unsafe.Pointer(pX)).FpKey, uint64((*BtreePayload)(unsafe.Pointer(pX)).FnKey)) +__47: ; -__44: +__45: ; (*BtCursor)(unsafe.Pointer(pCur)).FeState = U8(CURSOR_REQUIRESEEK) (*BtCursor)(unsafe.Pointer(pCur)).FnKey = (*BtreePayload)(unsafe.Pointer(pX)).FnKey -__43: +__44: ; -__42: +__43: ; end_insert: @@ -53249,7 +53264,7 @@ end_insert: // calling sqlite3BtreeInsert() with the BTREE_PREFORMAT flag specified. // // SQLITE_OK is returned if successful, or an SQLite error code otherwise. -func Xsqlite3BtreeTransferRow(tls *libc.TLS, pDest uintptr, pSrc uintptr, iKey I64) int32 { /* sqlite3.c:75286:20: */ +func Xsqlite3BtreeTransferRow(tls *libc.TLS, pDest uintptr, pSrc uintptr, iKey I64) int32 { /* sqlite3.c:75295:20: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -53276,7 +53291,7 @@ func Xsqlite3BtreeTransferRow(tls *libc.TLS, pDest uintptr, pSrc uintptr, iKey I nIn = U32((*BtCursor)(unsafe.Pointer(pSrc)).Finfo.FnLocal) aIn = (*BtCursor)(unsafe.Pointer(pSrc)).Finfo.FpPayload if aIn+uintptr(nIn) > (*MemPage)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pSrc)).FpPage)).FaDataEnd { - return Xsqlite3CorruptError(tls, 75300) + return Xsqlite3CorruptError(tls, 75309) } nRem = (*BtCursor)(unsafe.Pointer(pSrc)).Finfo.FnPayload if nIn == nRem && nIn < U32((*MemPage)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pDest)).FpPage)).FmaxLocal) { @@ -53299,7 +53314,7 @@ func Xsqlite3BtreeTransferRow(tls *libc.TLS, pDest uintptr, pSrc uintptr, iKey I if nRem > nIn { if aIn+uintptr(nIn)+uintptr(4) > (*MemPage)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pSrc)).FpPage)).FaDataEnd { - return Xsqlite3CorruptError(tls, 75323) + return Xsqlite3CorruptError(tls, 75332) } ovflIn = Xsqlite3Get4byte(tls, (*BtCursor)(unsafe.Pointer(pSrc)).Finfo.FpPayload+uintptr(nIn)) } @@ -53381,7 +53396,7 @@ func Xsqlite3BtreeTransferRow(tls *libc.TLS, pDest uintptr, pSrc uintptr, iKey I // operation on non-FORDELETE cursors is tagged with the AUXDELETE flag. // The BTREE_AUXDELETE bit is a hint that is not used by this implementation, // but which might be used by alternative storage engines. -func Xsqlite3BtreeDelete(tls *libc.TLS, pCur uintptr, flags U8) int32 { /* sqlite3.c:75396:20: */ +func Xsqlite3BtreeDelete(tls *libc.TLS, pCur uintptr, flags U8) int32 { /* sqlite3.c:75405:20: */ bp := tls.Alloc(28) defer tls.Free(28) @@ -53397,11 +53412,15 @@ func Xsqlite3BtreeDelete(tls *libc.TLS, pCur uintptr, flags U8) int32 { /* sqlit // Size of the cell being deleted var bPreserve U8 // Keep cursor valid. 2 for CURSOR_SKIPNEXT - if int32((*BtCursor)(unsafe.Pointer(pCur)).FeState) == CURSOR_REQUIRESEEK { - *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) = btreeRestoreCursorPosition(tls, pCur) + if int32((*BtCursor)(unsafe.Pointer(pCur)).FeState) != CURSOR_VALID { + if int32((*BtCursor)(unsafe.Pointer(pCur)).FeState) >= CURSOR_REQUIRESEEK { + *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) = btreeRestoreCursorPosition(tls, pCur) - if *(*int32)(unsafe.Pointer(bp + 24)) != 0 || int32((*BtCursor)(unsafe.Pointer(pCur)).FeState) != CURSOR_VALID { - return *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) + if *(*int32)(unsafe.Pointer(bp + 24)) != 0 || int32((*BtCursor)(unsafe.Pointer(pCur)).FeState) != CURSOR_VALID { + return *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) + } + } else { + return Xsqlite3CorruptError(tls, 75429) } } @@ -53409,11 +53428,11 @@ func Xsqlite3BtreeDelete(tls *libc.TLS, pCur uintptr, flags U8) int32 { /* sqlit iCellIdx = int32((*BtCursor)(unsafe.Pointer(pCur)).Fix) pPage = (*BtCursor)(unsafe.Pointer(pCur)).FpPage if int32((*MemPage)(unsafe.Pointer(pPage)).FnCell) <= iCellIdx { - return Xsqlite3CorruptError(tls, 75425) + return Xsqlite3CorruptError(tls, 75438) } pCell = (*MemPage)(unsafe.Pointer(pPage)).FaData + uintptr(int32((*MemPage)(unsafe.Pointer(pPage)).FmaskPage)&int32(libc.X__builtin_bswap16(tls, *(*U16)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPage)).FaCellIdx + uintptr(2*iCellIdx)))))) if (*MemPage)(unsafe.Pointer(pPage)).FnFree < 0 && btreeComputeFreeSpace(tls, pPage) != 0 { - return Xsqlite3CorruptError(tls, 75429) + return Xsqlite3CorruptError(tls, 75442) } // If the BTREE_SAVEPOSITION bit is on, then the cursor position must @@ -53522,7 +53541,7 @@ func Xsqlite3BtreeDelete(tls *libc.TLS, pCur uintptr, flags U8) int32 { /* sqlit } pCell = (*MemPage)(unsafe.Pointer(pLeaf)).FaData + uintptr(int32((*MemPage)(unsafe.Pointer(pLeaf)).FmaskPage)&int32(libc.X__builtin_bswap16(tls, *(*U16)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pLeaf)).FaCellIdx + uintptr(2*(int32((*MemPage)(unsafe.Pointer(pLeaf)).FnCell)-1))))))) if pCell < (*MemPage)(unsafe.Pointer(pLeaf)).FaData+4 { - return Xsqlite3CorruptError(tls, 75519) + return Xsqlite3CorruptError(tls, 75532) } nCell = int32((*struct { f func(*libc.TLS, uintptr, uintptr) U16 @@ -53599,7 +53618,7 @@ func Xsqlite3BtreeDelete(tls *libc.TLS, pCur uintptr, flags U8) int32 { /* sqlit // // BTREE_INTKEY|BTREE_LEAFDATA Used for SQL tables with rowid keys // BTREE_ZERODATA Used for SQL indices -func btreeCreateTable(tls *libc.TLS, p uintptr, piTable uintptr, createTabFlags int32) int32 { /* sqlite3.c:75593:12: */ +func btreeCreateTable(tls *libc.TLS, p uintptr, piTable uintptr, createTabFlags int32) int32 { /* sqlite3.c:75606:12: */ bp := tls.Alloc(44) defer tls.Free(44) @@ -53629,7 +53648,7 @@ func btreeCreateTable(tls *libc.TLS, p uintptr, piTable uintptr, createTabFlags // created so far, so the new root-page is (meta[3]+1). Xsqlite3BtreeGetMeta(tls, p, BTREE_LARGEST_ROOT_PAGE, bp) if *(*Pgno)(unsafe.Pointer(bp)) > btreePagecount(tls, pBt) { - return Xsqlite3CorruptError(tls, 75627) + return Xsqlite3CorruptError(tls, 75640) } *(*Pgno)(unsafe.Pointer(bp /* pgnoRoot */))++ @@ -53672,7 +53691,7 @@ func btreeCreateTable(tls *libc.TLS, p uintptr, piTable uintptr, createTabFlags } *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = ptrmapGet(tls, pBt, *(*Pgno)(unsafe.Pointer(bp /* pgnoRoot */)), bp+32, bp+36) if int32(*(*U8)(unsafe.Pointer(bp + 32))) == PTRMAP_ROOTPAGE || int32(*(*U8)(unsafe.Pointer(bp + 32))) == PTRMAP_FREEPAGE { - *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = Xsqlite3CorruptError(tls, 75675) + *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = Xsqlite3CorruptError(tls, 75688) } if *(*int32)(unsafe.Pointer(bp + 40)) != SQLITE_OK { releasePage(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* pRoot */))) @@ -53735,7 +53754,7 @@ func btreeCreateTable(tls *libc.TLS, p uintptr, piTable uintptr, createTabFlags return SQLITE_OK } -func Xsqlite3BtreeCreateTable(tls *libc.TLS, p uintptr, piTable uintptr, flags int32) int32 { /* sqlite3.c:75738:20: */ +func Xsqlite3BtreeCreateTable(tls *libc.TLS, p uintptr, piTable uintptr, flags int32) int32 { /* sqlite3.c:75751:20: */ var rc int32 Xsqlite3BtreeEnter(tls, p) rc = btreeCreateTable(tls, p, piTable, flags) @@ -53745,7 +53764,7 @@ func Xsqlite3BtreeCreateTable(tls *libc.TLS, p uintptr, piTable uintptr, flags i // Erase the given database page and all its children. Return // the page to the freelist. -func clearDatabasePage(tls *libc.TLS, pBt uintptr, pgno Pgno, freePageFlag int32, pnChange uintptr) int32 { /* sqlite3.c:75750:12: */ +func clearDatabasePage(tls *libc.TLS, pBt uintptr, pgno Pgno, freePageFlag int32, pnChange uintptr) int32 { /* sqlite3.c:75763:12: */ bp := tls.Alloc(36) defer tls.Free(36) @@ -53761,7 +53780,7 @@ func clearDatabasePage(tls *libc.TLS, pBt uintptr, pgno Pgno, freePageFlag int32 if !(pgno > btreePagecount(tls, pBt)) { goto __1 } - return Xsqlite3CorruptError(tls, 75765) + return Xsqlite3CorruptError(tls, 75778) __1: ; *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) = getAndInitPage(tls, pBt, pgno, bp, uintptr(0), 0) @@ -53775,7 +53794,7 @@ __2: Xsqlite3PagerPageRefcount(tls, (*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FpDbPage) != 1+libc.Bool32(pgno == Pgno(1))) { goto __3 } - *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) = Xsqlite3CorruptError(tls, 75772) + *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) = Xsqlite3CorruptError(tls, 75785) goto cleardatabasepage_out __3: ; @@ -53879,7 +53898,7 @@ cleardatabasepage_out: // // If pnChange is not NULL, then the integer value pointed to by pnChange // is incremented by the number of entries in the table. -func Xsqlite3BtreeClearTable(tls *libc.TLS, p uintptr, iTable int32, pnChange uintptr) int32 { /* sqlite3.c:75817:20: */ +func Xsqlite3BtreeClearTable(tls *libc.TLS, p uintptr, iTable int32, pnChange uintptr) int32 { /* sqlite3.c:75830:20: */ var rc int32 var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt Xsqlite3BtreeEnter(tls, p) @@ -53902,7 +53921,7 @@ func Xsqlite3BtreeClearTable(tls *libc.TLS, p uintptr, iTable int32, pnChange ui // Delete all information from the single table that pCur is open on. // // This routine only work for pCur on an ephemeral table. -func Xsqlite3BtreeClearTableOfCursor(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:75843:20: */ +func Xsqlite3BtreeClearTableOfCursor(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:75856:20: */ return Xsqlite3BtreeClearTable(tls, (*BtCursor)(unsafe.Pointer(pCur)).FpBtree, int32((*BtCursor)(unsafe.Pointer(pCur)).FpgnoRoot), uintptr(0)) } @@ -53924,7 +53943,7 @@ func Xsqlite3BtreeClearTableOfCursor(tls *libc.TLS, pCur uintptr) int32 { /* sql // the move. If no page gets moved, *piMoved is set to 0. // The last root page is recorded in meta[3] and the value of // meta[3] is updated by this procedure. -func btreeDropTable(tls *libc.TLS, p uintptr, iTable Pgno, piMoved uintptr) int32 { /* sqlite3.c:75867:12: */ +func btreeDropTable(tls *libc.TLS, p uintptr, iTable Pgno, piMoved uintptr) int32 { /* sqlite3.c:75880:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -53934,7 +53953,7 @@ func btreeDropTable(tls *libc.TLS, p uintptr, iTable Pgno, piMoved uintptr) int3 var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt if iTable > btreePagecount(tls, pBt) { - return Xsqlite3CorruptError(tls, 75876) + return Xsqlite3CorruptError(tls, 75889) } *(*int32)(unsafe.Pointer(bp + 12 /* rc */)) = Xsqlite3BtreeClearTable(tls, p, int32(iTable), uintptr(0)) @@ -54006,7 +54025,7 @@ func btreeDropTable(tls *libc.TLS, p uintptr, iTable Pgno, piMoved uintptr) int3 return *(*int32)(unsafe.Pointer(bp + 12 /* rc */)) } -func Xsqlite3BtreeDropTable(tls *libc.TLS, p uintptr, iTable int32, piMoved uintptr) int32 { /* sqlite3.c:75952:20: */ +func Xsqlite3BtreeDropTable(tls *libc.TLS, p uintptr, iTable int32, piMoved uintptr) int32 { /* sqlite3.c:75965:20: */ var rc int32 Xsqlite3BtreeEnter(tls, p) rc = btreeDropTable(tls, p, uint32(iTable), piMoved) @@ -54032,7 +54051,7 @@ func Xsqlite3BtreeDropTable(tls *libc.TLS, p uintptr, iTable int32, piMoved uint // database file. It is a number computed by the pager. But its access // pattern is the same as header meta values, and so it is convenient to // read it from this routine. -func Xsqlite3BtreeGetMeta(tls *libc.TLS, p uintptr, idx int32, pMeta uintptr) { /* sqlite3.c:75981:21: */ +func Xsqlite3BtreeGetMeta(tls *libc.TLS, p uintptr, idx int32, pMeta uintptr) { /* sqlite3.c:75994:21: */ var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt Xsqlite3BtreeEnter(tls, p) @@ -54051,7 +54070,7 @@ func Xsqlite3BtreeGetMeta(tls *libc.TLS, p uintptr, idx int32, pMeta uintptr) { // Write meta-information back into the database. Meta[0] is // read-only and may not be written. -func Xsqlite3BtreeUpdateMeta(tls *libc.TLS, p uintptr, idx int32, iMeta U32) int32 { /* sqlite3.c:76011:20: */ +func Xsqlite3BtreeUpdateMeta(tls *libc.TLS, p uintptr, idx int32, iMeta U32) int32 { /* sqlite3.c:76024:20: */ var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt var pP1 uintptr var rc int32 @@ -54077,7 +54096,7 @@ func Xsqlite3BtreeUpdateMeta(tls *libc.TLS, p uintptr, idx int32, iMeta U32) int // SQLITE_OK is returned if the operation is successfully executed. // Otherwise, if an error is encountered (i.e. an IO error or database // corruption) an SQLite error code is returned. -func Xsqlite3BtreeCount(tls *libc.TLS, db uintptr, pCur uintptr, pnEntry uintptr) int32 { /* sqlite3.c:76043:20: */ +func Xsqlite3BtreeCount(tls *libc.TLS, db uintptr, pCur uintptr, pnEntry uintptr) int32 { /* sqlite3.c:76056:20: */ var nEntry I64 = int64(0) // Value to return in *pnEntry var rc int32 // Return code @@ -54140,12 +54159,12 @@ func Xsqlite3BtreeCount(tls *libc.TLS, db uintptr, pCur uintptr, pnEntry uintptr // Return the pager associated with a BTree. This routine is used for // testing and debugging only. -func Xsqlite3BtreePager(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:76112:22: */ +func Xsqlite3BtreePager(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:76125:22: */ return (*BtShared)(unsafe.Pointer((*Btree)(unsafe.Pointer(p)).FpBt)).FpPager } // Append a message to the error message string. -func checkAppendMsg(tls *libc.TLS, pCheck uintptr, zFormat uintptr, va uintptr) { /* sqlite3.c:76120:13: */ +func checkAppendMsg(tls *libc.TLS, pCheck uintptr, zFormat uintptr, va uintptr) { /* sqlite3.c:76133:13: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -54172,13 +54191,13 @@ func checkAppendMsg(tls *libc.TLS, pCheck uintptr, zFormat uintptr, va uintptr) // Return non-zero if the bit in the IntegrityCk.aPgRef[] array that // corresponds to page iPg is already set. -func getPageReferenced(tls *libc.TLS, pCheck uintptr, iPg Pgno) int32 { /* sqlite3.c:76150:12: */ +func getPageReferenced(tls *libc.TLS, pCheck uintptr, iPg Pgno) int32 { /* sqlite3.c:76163:12: */ return int32(*(*U8)(unsafe.Pointer((*IntegrityCk)(unsafe.Pointer(pCheck)).FaPgRef + uintptr(iPg/Pgno(8))))) & (int32(1) << (iPg & Pgno(0x07))) } // Set the bit in the IntegrityCk.aPgRef[] array that corresponds to page iPg. -func setPageReferenced(tls *libc.TLS, pCheck uintptr, iPg Pgno) { /* sqlite3.c:76158:13: */ +func setPageReferenced(tls *libc.TLS, pCheck uintptr, iPg Pgno) { /* sqlite3.c:76171:13: */ *(*U8)(unsafe.Pointer((*IntegrityCk)(unsafe.Pointer(pCheck)).FaPgRef + uintptr(iPg/Pgno(8)))) |= U8(int32(1) << (iPg & Pgno(0x07))) } @@ -54189,7 +54208,7 @@ func setPageReferenced(tls *libc.TLS, pCheck uintptr, iPg Pgno) { /* sqlite3.c:7 // if this is the first reference to the page. // // Also check that the page number is in bounds. -func checkRef(tls *libc.TLS, pCheck uintptr, iPage Pgno) int32 { /* sqlite3.c:76172:12: */ +func checkRef(tls *libc.TLS, pCheck uintptr, iPage Pgno) int32 { /* sqlite3.c:76185:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -54211,7 +54230,7 @@ func checkRef(tls *libc.TLS, pCheck uintptr, iPage Pgno) int32 { /* sqlite3.c:76 // Check that the entry in the pointer-map for page iChild maps to // page iParent, pointer type ptrType. If not, append an error message // to pCheck. -func checkPtrmap(tls *libc.TLS, pCheck uintptr, iChild Pgno, eType U8, iParent Pgno) { /* sqlite3.c:76192:13: */ +func checkPtrmap(tls *libc.TLS, pCheck uintptr, iChild Pgno, eType U8, iParent Pgno) { /* sqlite3.c:76205:13: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -54238,7 +54257,7 @@ func checkPtrmap(tls *libc.TLS, pCheck uintptr, iChild Pgno, eType U8, iParent P // Check the integrity of the freelist or of an overflow page list. // Verify that the number of pages on the list is N. -func checkList(tls *libc.TLS, pCheck uintptr, isFreeList int32, iPage Pgno, N U32) { /* sqlite3.c:76221:13: */ +func checkList(tls *libc.TLS, pCheck uintptr, isFreeList int32, iPage Pgno, N U32) { /* sqlite3.c:76234:13: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -54322,7 +54341,7 @@ func checkList(tls *libc.TLS, pCheck uintptr, isFreeList int32, iPage Pgno, N U3 // entry represents the span of a cell or freeblock on a btree page. // The upper 16 bits are the index of the first byte of a range and the // lower 16 bits are the index of the last byte of that range. -func btreeHeapInsert(tls *libc.TLS, aHeap uintptr, x U32) { /* sqlite3.c:76310:13: */ +func btreeHeapInsert(tls *libc.TLS, aHeap uintptr, x U32) { /* sqlite3.c:76323:13: */ var j U32 var i U32 = libc.PreIncUint32(&*(*U32)(unsafe.Pointer(aHeap)), 1) *(*U32)(unsafe.Pointer(aHeap + uintptr(i)*4)) = x @@ -54334,7 +54353,7 @@ func btreeHeapInsert(tls *libc.TLS, aHeap uintptr, x U32) { /* sqlite3.c:76310:1 } } -func btreeHeapPull(tls *libc.TLS, aHeap uintptr, pOut uintptr) int32 { /* sqlite3.c:76320:12: */ +func btreeHeapPull(tls *libc.TLS, aHeap uintptr, pOut uintptr) int32 { /* sqlite3.c:76333:12: */ var j U32 var i U32 var x U32 @@ -54373,7 +54392,7 @@ func btreeHeapPull(tls *libc.TLS, aHeap uintptr, pOut uintptr) int32 { /* sqlite // 3. Check the integrity of overflow pages. // 4. Recursively call checkTreePage on all children. // 5. Verify that the depth of all children is the same. -func checkTreePage(tls *libc.TLS, pCheck uintptr, iPage Pgno, piMinKey uintptr, maxKey I64) int32 { /* sqlite3.c:76354:12: */ +func checkTreePage(tls *libc.TLS, pCheck uintptr, iPage Pgno, piMinKey uintptr, maxKey I64) int32 { /* sqlite3.c:76367:12: */ bp := tls.Alloc(140) defer tls.Free(140) *(*I64)(unsafe.Pointer(bp + 104)) = maxKey @@ -54762,7 +54781,7 @@ __34: // since obviously it is not possible to know which pages are covered by // the unverified btrees. Except, if aRoot[1] is 1, then the freelist // checks are still performed. -func Xsqlite3BtreeIntegrityCheck(tls *libc.TLS, db uintptr, p uintptr, aRoot uintptr, nRoot int32, mxErr int32, pnErr uintptr) uintptr { /* sqlite3.c:76633:21: */ +func Xsqlite3BtreeIntegrityCheck(tls *libc.TLS, db uintptr, p uintptr, aRoot uintptr, nRoot int32, mxErr int32, pnErr uintptr) uintptr { /* sqlite3.c:76646:21: */ bp := tls.Alloc(248) defer tls.Free(248) @@ -54996,7 +55015,7 @@ __29: // // The pager filename is invariant as long as the pager is // open so it is safe to access without the BtShared mutex. -func Xsqlite3BtreeGetFilename(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:76788:27: */ +func Xsqlite3BtreeGetFilename(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:76801:27: */ return Xsqlite3PagerFilename(tls, (*BtShared)(unsafe.Pointer((*Btree)(unsafe.Pointer(p)).FpBt)).FpPager, 1) } @@ -55007,14 +55026,14 @@ func Xsqlite3BtreeGetFilename(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:7 // // The pager journal filename is invariant as long as the pager is // open so it is safe to access without the BtShared mutex. -func Xsqlite3BtreeGetJournalname(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:76801:27: */ +func Xsqlite3BtreeGetJournalname(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:76814:27: */ return Xsqlite3PagerJournalname(tls, (*BtShared)(unsafe.Pointer((*Btree)(unsafe.Pointer(p)).FpBt)).FpPager) } // Return one of SQLITE_TXN_NONE, SQLITE_TXN_READ, or SQLITE_TXN_WRITE // to describe the current transaction state of Btree p. -func Xsqlite3BtreeTxnState(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:76810:20: */ +func Xsqlite3BtreeTxnState(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:76823:20: */ if p != 0 { return int32((*Btree)(unsafe.Pointer(p)).FinTrans) @@ -55028,7 +55047,7 @@ func Xsqlite3BtreeTxnState(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:76810: // transaction on the shared-cache the argument Btree is connected to. // // Parameter eMode is one of SQLITE_CHECKPOINT_PASSIVE, FULL or RESTART. -func Xsqlite3BtreeCheckpoint(tls *libc.TLS, p uintptr, eMode int32, pnLog uintptr, pnCkpt uintptr) int32 { /* sqlite3.c:76824:20: */ +func Xsqlite3BtreeCheckpoint(tls *libc.TLS, p uintptr, eMode int32, pnLog uintptr, pnCkpt uintptr) int32 { /* sqlite3.c:76837:20: */ var rc int32 = SQLITE_OK if p != 0 { var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt @@ -55044,7 +55063,7 @@ func Xsqlite3BtreeCheckpoint(tls *libc.TLS, p uintptr, eMode int32, pnLog uintpt } // Return true if there is currently a backup running on Btree p. -func Xsqlite3BtreeIsInBackup(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:76843:20: */ +func Xsqlite3BtreeIsInBackup(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:76856:20: */ return libc.Bool32((*Btree)(unsafe.Pointer(p)).FnBackup != 0) } @@ -55067,7 +55086,7 @@ func Xsqlite3BtreeIsInBackup(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:7684 // xFree argument when the memory allocation was made is invoked on the // blob of allocated memory. The xFree function should not call sqlite3_free() // on the memory, the btree layer does that. -func Xsqlite3BtreeSchema(tls *libc.TLS, p uintptr, nBytes int32, xFree uintptr) uintptr { /* sqlite3.c:76869:21: */ +func Xsqlite3BtreeSchema(tls *libc.TLS, p uintptr, nBytes int32, xFree uintptr) uintptr { /* sqlite3.c:76882:21: */ var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt Xsqlite3BtreeEnter(tls, p) if !(int32((*BtShared)(unsafe.Pointer(pBt)).FpSchema) != 0) && nBytes != 0 { @@ -55081,7 +55100,7 @@ func Xsqlite3BtreeSchema(tls *libc.TLS, p uintptr, nBytes int32, xFree uintptr) // Return SQLITE_LOCKED_SHAREDCACHE if another user of the same shared // btree as the argument handle holds an exclusive lock on the // sqlite_schema table. Otherwise SQLITE_OK. -func Xsqlite3BtreeSchemaLocked(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:76885:20: */ +func Xsqlite3BtreeSchemaLocked(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:76898:20: */ var rc int32 Xsqlite3BtreeEnter(tls, p) @@ -55094,7 +55113,7 @@ func Xsqlite3BtreeSchemaLocked(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:76 // Obtain a lock on the table whose root page is iTab. The // lock is a write lock if isWritelock is true or a read lock // if it is false. -func Xsqlite3BtreeLockTable(tls *libc.TLS, p uintptr, iTab int32, isWriteLock U8) int32 { /* sqlite3.c:76902:20: */ +func Xsqlite3BtreeLockTable(tls *libc.TLS, p uintptr, iTab int32, isWriteLock U8) int32 { /* sqlite3.c:76915:20: */ var rc int32 = SQLITE_OK if (*Btree)(unsafe.Pointer(p)).Fsharable != 0 { @@ -55118,7 +55137,7 @@ func Xsqlite3BtreeLockTable(tls *libc.TLS, p uintptr, iTab int32, isWriteLock U8 // change the length of the data stored. If this function is called with // parameters that attempt to write past the end of the existing data, // no modifications are made and SQLITE_CORRUPT is returned. -func Xsqlite3BtreePutData(tls *libc.TLS, pCsr uintptr, offset U32, amt U32, z uintptr) int32 { /* sqlite3.c:76932:20: */ +func Xsqlite3BtreePutData(tls *libc.TLS, pCsr uintptr, offset U32, amt U32, z uintptr) int32 { /* sqlite3.c:76945:20: */ var rc int32 rc = func() int32 { @@ -55158,7 +55177,7 @@ func Xsqlite3BtreePutData(tls *libc.TLS, pCsr uintptr, offset U32, amt U32, z ui } // Mark this cursor as an incremental blob cursor. -func Xsqlite3BtreeIncrblobCursor(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:76980:21: */ +func Xsqlite3BtreeIncrblobCursor(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:76993:21: */ *(*U8)(unsafe.Pointer(pCur + 1)) |= U8(BTCF_Incrblob) (*Btree)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pCur)).FpBtree)).FhasIncrblobCur = U8(1) } @@ -55166,7 +55185,7 @@ func Xsqlite3BtreeIncrblobCursor(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:769 // Set both the "read version" (single byte at byte offset 18) and // "write version" (single byte at byte offset 19) fields in the database // header to iVersion. -func Xsqlite3BtreeSetVersion(tls *libc.TLS, pBtree uintptr, iVersion int32) int32 { /* sqlite3.c:76991:20: */ +func Xsqlite3BtreeSetVersion(tls *libc.TLS, pBtree uintptr, iVersion int32) int32 { /* sqlite3.c:77004:20: */ var pBt uintptr = (*Btree)(unsafe.Pointer(pBtree)).FpBt var rc int32 // Return code @@ -55198,29 +55217,29 @@ func Xsqlite3BtreeSetVersion(tls *libc.TLS, pBtree uintptr, iVersion int32) int3 // Return true if the cursor has a hint specified. This routine is // only used from within assert() statements -func Xsqlite3BtreeCursorHasHint(tls *libc.TLS, pCsr uintptr, mask uint32) int32 { /* sqlite3.c:77026:20: */ +func Xsqlite3BtreeCursorHasHint(tls *libc.TLS, pCsr uintptr, mask uint32) int32 { /* sqlite3.c:77039:20: */ return libc.Bool32(uint32((*BtCursor)(unsafe.Pointer(pCsr)).Fhints)&mask != uint32(0)) } // Return true if the given Btree is read-only. -func Xsqlite3BtreeIsReadonly(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:77033:20: */ +func Xsqlite3BtreeIsReadonly(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:77046:20: */ return libc.Bool32(int32((*BtShared)(unsafe.Pointer((*Btree)(unsafe.Pointer(p)).FpBt)).FbtsFlags)&BTS_READ_ONLY != 0) } // Return the size of the header added to each page by this module. -func Xsqlite3HeaderSizeBtree(tls *libc.TLS) int32 { /* sqlite3.c:77040:20: */ +func Xsqlite3HeaderSizeBtree(tls *libc.TLS) int32 { /* sqlite3.c:77053:20: */ return int32((uint64(unsafe.Sizeof(MemPage{})) + uint64(7)) & libc.Uint64FromInt32(libc.CplInt32(7))) } // Return true if the Btree passed as the only argument is sharable. -func Xsqlite3BtreeSharable(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:77046:20: */ +func Xsqlite3BtreeSharable(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:77059:20: */ return int32((*Btree)(unsafe.Pointer(p)).Fsharable) } // Return the number of connections to the BtShared object accessed by // the Btree handle passed as the only argument. For private caches // this is always 1. For shared caches it may be 1 or greater. -func Xsqlite3BtreeConnectionCount(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:77055:20: */ +func Xsqlite3BtreeConnectionCount(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:77068:20: */ return (*BtShared)(unsafe.Pointer((*Btree)(unsafe.Pointer(p)).FpBt)).FnRef } @@ -55260,7 +55279,7 @@ func Xsqlite3BtreeConnectionCount(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c // If the "temp" database is requested, it may need to be opened by this // function. If an error occurs while doing so, return 0 and write an // error message to pErrorDb. -func findBtree(tls *libc.TLS, pErrorDb uintptr, pDb uintptr, zDb uintptr) uintptr { /* sqlite3.c:77144:14: */ +func findBtree(tls *libc.TLS, pErrorDb uintptr, pDb uintptr, zDb uintptr) uintptr { /* sqlite3.c:77157:14: */ bp := tls.Alloc(424) defer tls.Free(424) @@ -55292,7 +55311,7 @@ func findBtree(tls *libc.TLS, pErrorDb uintptr, pDb uintptr, zDb uintptr) uintpt // Attempt to set the page size of the destination to match the page size // of the source. -func setDestPgsz(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:77174:12: */ +func setDestPgsz(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:77187:12: */ var rc int32 rc = Xsqlite3BtreeSetPageSize(tls, (*Sqlite3_backup)(unsafe.Pointer(p)).FpDest, Xsqlite3BtreeGetPageSize(tls, (*Sqlite3_backup)(unsafe.Pointer(p)).FpSrc), 0, 0) return rc @@ -55302,7 +55321,7 @@ func setDestPgsz(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:77174:12: */ // second argument. If there is not, return SQLITE_OK. Otherwise, if there // is an open read-transaction, return SQLITE_ERROR and leave an error // message in database handle db. -func checkReadTransaction(tls *libc.TLS, db uintptr, p uintptr) int32 { /* sqlite3.c:77186:12: */ +func checkReadTransaction(tls *libc.TLS, db uintptr, p uintptr) int32 { /* sqlite3.c:77199:12: */ if Xsqlite3BtreeTxnState(tls, p) != SQLITE_TXN_NONE { Xsqlite3ErrorWithMsg(tls, db, SQLITE_ERROR, ts+4805, 0) return SQLITE_ERROR @@ -55316,7 +55335,7 @@ func checkReadTransaction(tls *libc.TLS, db uintptr, p uintptr) int32 { /* sqlit // // If an error occurs, NULL is returned and an error code and error message // stored in database handle pDestDb. -func Xsqlite3_backup_init(tls *libc.TLS, pDestDb uintptr, zDestDb uintptr, pSrcDb uintptr, zSrcDb uintptr) uintptr { /* sqlite3.c:77202:27: */ +func Xsqlite3_backup_init(tls *libc.TLS, pDestDb uintptr, zDestDb uintptr, pSrcDb uintptr, zSrcDb uintptr) uintptr { /* sqlite3.c:77215:27: */ var p uintptr // Value to return // Lock the source database handle. The destination database @@ -55376,14 +55395,14 @@ func Xsqlite3_backup_init(tls *libc.TLS, pDestDb uintptr, zDestDb uintptr, pSrcD // Argument rc is an SQLite error code. Return true if this error is // considered fatal if encountered during a backup operation. All errors // are considered fatal except for SQLITE_BUSY and SQLITE_LOCKED. -func isFatalError(tls *libc.TLS, rc int32) int32 { /* sqlite3.c:77279:12: */ +func isFatalError(tls *libc.TLS, rc int32) int32 { /* sqlite3.c:77292:12: */ return libc.Bool32(rc != SQLITE_OK && rc != SQLITE_BUSY && rc != SQLITE_LOCKED) } // Parameter zSrcData points to a buffer containing the data for // page iSrcPg from the source database. Copy this data into the // destination database. -func backupOnePage(tls *libc.TLS, p uintptr, iSrcPg Pgno, zSrcData uintptr, bUpdate int32) int32 { /* sqlite3.c:77288:12: */ +func backupOnePage(tls *libc.TLS, p uintptr, iSrcPg Pgno, zSrcData uintptr, bUpdate int32) int32 { /* sqlite3.c:77301:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -55445,7 +55464,7 @@ func backupOnePage(tls *libc.TLS, p uintptr, iSrcPg Pgno, zSrcData uintptr, bUpd // // Return SQLITE_OK if everything is successful, or an SQLite error // code if an error occurs. -func backupTruncateFile(tls *libc.TLS, pFile uintptr, iSize I64) int32 { /* sqlite3.c:77357:12: */ +func backupTruncateFile(tls *libc.TLS, pFile uintptr, iSize I64) int32 { /* sqlite3.c:77370:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -55460,7 +55479,7 @@ func backupTruncateFile(tls *libc.TLS, pFile uintptr, iSize I64) int32 { /* sqli // Register this backup object with the associated source pager for // callbacks when pages are changed or the cache invalidated. -func attachBackupObject(tls *libc.TLS, p uintptr) { /* sqlite3.c:77370:13: */ +func attachBackupObject(tls *libc.TLS, p uintptr) { /* sqlite3.c:77383:13: */ var pp uintptr pp = Xsqlite3PagerBackupPtr(tls, Xsqlite3BtreePager(tls, (*Sqlite3_backup)(unsafe.Pointer(p)).FpSrc)) @@ -55470,7 +55489,7 @@ func attachBackupObject(tls *libc.TLS, p uintptr) { /* sqlite3.c:77370:13: */ } // Copy nPage pages from the source b-tree to the destination. -func Xsqlite3_backup_step(tls *libc.TLS, p uintptr, nPage int32) int32 { /* sqlite3.c:77382:16: */ +func Xsqlite3_backup_step(tls *libc.TLS, p uintptr, nPage int32) int32 { /* sqlite3.c:77395:16: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -55708,7 +55727,7 @@ func Xsqlite3_backup_step(tls *libc.TLS, p uintptr, nPage int32) int32 { /* sqli } // Release all resources associated with an sqlite3_backup* handle. -func Xsqlite3_backup_finish(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:77636:16: */ +func Xsqlite3_backup_finish(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:77649:16: */ var pp uintptr // Ptr to head of pagers backup list var pSrcDb uintptr // Source database connection var rc int32 // Value to return @@ -55766,13 +55785,13 @@ func Xsqlite3_backup_finish(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:77636 // Return the number of pages still to be backed up as of the most recent // call to sqlite3_backup_step(). -func Xsqlite3_backup_remaining(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:77690:16: */ +func Xsqlite3_backup_remaining(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:77703:16: */ return int32((*Sqlite3_backup)(unsafe.Pointer(p)).FnRemaining) } // Return the total number of pages in the source database as of the most // recent call to sqlite3_backup_step(). -func Xsqlite3_backup_pagecount(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:77704:16: */ +func Xsqlite3_backup_pagecount(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:77717:16: */ return int32((*Sqlite3_backup)(unsafe.Pointer(p)).FnPagecount) } @@ -55786,7 +55805,7 @@ func Xsqlite3_backup_pagecount(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:77 // It is assumed that the mutex associated with the BtShared object // corresponding to the source database is held when this function is // called. -func backupUpdate(tls *libc.TLS, p uintptr, iPage Pgno, aData uintptr) { /* sqlite3.c:77726:29: */ +func backupUpdate(tls *libc.TLS, p uintptr, iPage Pgno, aData uintptr) { /* sqlite3.c:77739:29: */ for __ccgo := true; __ccgo; __ccgo = libc.AssignUintptr(&p, (*Sqlite3_backup)(unsafe.Pointer(p)).FpNext) != uintptr(0) { @@ -55807,7 +55826,7 @@ func backupUpdate(tls *libc.TLS, p uintptr, iPage Pgno, aData uintptr) { /* sqli } } -func Xsqlite3BackupUpdate(tls *libc.TLS, pBackup uintptr, iPage Pgno, aData uintptr) { /* sqlite3.c:77751:21: */ +func Xsqlite3BackupUpdate(tls *libc.TLS, pBackup uintptr, iPage Pgno, aData uintptr) { /* sqlite3.c:77764:21: */ if pBackup != 0 { backupUpdate(tls, pBackup, iPage, aData) } @@ -55822,7 +55841,7 @@ func Xsqlite3BackupUpdate(tls *libc.TLS, pBackup uintptr, iPage Pgno, aData uint // It is assumed that the mutex associated with the BtShared object // corresponding to the source database is held when this function is // called. -func Xsqlite3BackupRestart(tls *libc.TLS, pBackup uintptr) { /* sqlite3.c:77766:21: */ +func Xsqlite3BackupRestart(tls *libc.TLS, pBackup uintptr) { /* sqlite3.c:77779:21: */ var p uintptr // Iterator variable for p = pBackup; p != 0; p = (*Sqlite3_backup)(unsafe.Pointer(p)).FpNext { @@ -55836,7 +55855,7 @@ func Xsqlite3BackupRestart(tls *libc.TLS, pBackup uintptr) { /* sqlite3.c:77766: // The size of file pTo may be reduced by this operation. If anything // goes wrong, the transaction on pTo is rolled back. If successful, the // transaction is committed before returning. -func Xsqlite3BtreeCopyFile(tls *libc.TLS, pTo uintptr, pFrom uintptr) int32 { /* sqlite3.c:77783:20: */ +func Xsqlite3BtreeCopyFile(tls *libc.TLS, pTo uintptr, pFrom uintptr) int32 { /* sqlite3.c:77796:20: */ bp := tls.Alloc(80) defer tls.Free(80) @@ -55930,7 +55949,7 @@ copy_finished: // Render a Mem object which is one of MEM_Int, MEM_Real, or MEM_IntReal // into a buffer. -func vdbeMemRenderNum(tls *libc.TLS, sz int32, zBuf uintptr, p uintptr) { /* sqlite3.c:77941:13: */ +func vdbeMemRenderNum(tls *libc.TLS, sz int32, zBuf uintptr, p uintptr) { /* sqlite3.c:77954:13: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -55968,7 +55987,7 @@ func vdbeMemRenderNum(tls *libc.TLS, sz int32, zBuf uintptr, p uintptr) { /* sql // SQLITE_OK is returned if the conversion is successful (or not required). // SQLITE_NOMEM may be returned if a malloc() fails during conversion // between formats. -func Xsqlite3VdbeChangeEncoding(tls *libc.TLS, pMem uintptr, desiredEnc int32) int32 { /* sqlite3.c:78034:20: */ +func Xsqlite3VdbeChangeEncoding(tls *libc.TLS, pMem uintptr, desiredEnc int32) int32 { /* sqlite3.c:78047:20: */ var rc int32 if !(int32((*Mem)(unsafe.Pointer(pMem)).Fflags)&MEM_Str != 0) || int32((*Mem)(unsafe.Pointer(pMem)).Fenc) == desiredEnc { @@ -55988,7 +56007,7 @@ func Xsqlite3VdbeChangeEncoding(tls *libc.TLS, pMem uintptr, desiredEnc int32) i // pMem->z into the new allocation. pMem must be either a string or // blob if bPreserve is true. If bPreserve is false, any prior content // in pMem->z is discarded. -func Xsqlite3VdbeMemGrow(tls *libc.TLS, pMem uintptr, n int32, bPreserve int32) int32 { /* sqlite3.c:78069:36: */ +func Xsqlite3VdbeMemGrow(tls *libc.TLS, pMem uintptr, n int32, bPreserve int32) int32 { /* sqlite3.c:78082:36: */ // If the bPreserve flag is set to true, then the memory cell must already // contain a valid string or blob value. @@ -56044,7 +56063,7 @@ func Xsqlite3VdbeMemGrow(tls *libc.TLS, pMem uintptr, n int32, bPreserve int32) // // Return SQLITE_OK on success or an error code (probably SQLITE_NOMEM) // if unable to complete the resizing. -func Xsqlite3VdbeMemClearAndResize(tls *libc.TLS, pMem uintptr, szNew int32) int32 { /* sqlite3.c:78132:20: */ +func Xsqlite3VdbeMemClearAndResize(tls *libc.TLS, pMem uintptr, szNew int32) int32 { /* sqlite3.c:78145:20: */ if (*Mem)(unsafe.Pointer(pMem)).FszMalloc < szNew { return Xsqlite3VdbeMemGrow(tls, pMem, szNew, 0) @@ -56062,7 +56081,7 @@ func Xsqlite3VdbeMemClearAndResize(tls *libc.TLS, pMem uintptr, szNew int32) int // to be a double-zero byte at an even byte boundary in order to // terminate a UTF16 string, even if the initial size of the buffer // is an odd number of bytes. -func vdbeMemAddTerminator(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c:78153:28: */ +func vdbeMemAddTerminator(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c:78166:28: */ if Xsqlite3VdbeMemGrow(tls, pMem, (*Mem)(unsafe.Pointer(pMem)).Fn+3, 1) != 0 { return SQLITE_NOMEM } @@ -56077,7 +56096,7 @@ func vdbeMemAddTerminator(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c:7815 // MEM.zMalloc, where it can be safely written. // // Return SQLITE_OK on success or SQLITE_NOMEM if malloc fails. -func Xsqlite3VdbeMemMakeWriteable(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c:78170:20: */ +func Xsqlite3VdbeMemMakeWriteable(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c:78183:20: */ if int32((*Mem)(unsafe.Pointer(pMem)).Fflags)&(MEM_Str|MEM_Blob) != 0 { if func() int32 { @@ -56102,7 +56121,7 @@ func Xsqlite3VdbeMemMakeWriteable(tls *libc.TLS, pMem uintptr) int32 { /* sqlite // If the given Mem* has a zero-filled tail, turn it into an ordinary // blob stored in dynamically allocated space. -func Xsqlite3VdbeMemExpandBlob(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c:78194:20: */ +func Xsqlite3VdbeMemExpandBlob(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c:78207:20: */ var nByte int32 // Set nByte to the number of bytes required to store the expanded blob. @@ -56124,7 +56143,7 @@ func Xsqlite3VdbeMemExpandBlob(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c } // Make sure the given Mem is \u0000 terminated. -func Xsqlite3VdbeMemNulTerminate(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c:78225:20: */ +func Xsqlite3VdbeMemNulTerminate(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c:78238:20: */ if int32((*Mem)(unsafe.Pointer(pMem)).Fflags)&(MEM_Term|MEM_Str) != MEM_Str { return SQLITE_OK // Nothing to do @@ -56146,7 +56165,7 @@ func Xsqlite3VdbeMemNulTerminate(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3 // sqlite3_value_text()), or for ensuring that values to be used as btree // keys are strings. In the former case a NULL pointer is returned the // user and the latter is an internal programming error. -func Xsqlite3VdbeMemStringify(tls *libc.TLS, pMem uintptr, enc U8, bForce U8) int32 { /* sqlite3.c:78251:20: */ +func Xsqlite3VdbeMemStringify(tls *libc.TLS, pMem uintptr, enc U8, bForce U8) int32 { /* sqlite3.c:78264:20: */ var nByte int32 = 32 if Xsqlite3VdbeMemClearAndResize(tls, pMem, nByte) != 0 { @@ -56172,7 +56191,7 @@ func Xsqlite3VdbeMemStringify(tls *libc.TLS, pMem uintptr, enc U8, bForce U8) in // // Return SQLITE_ERROR if the finalizer reports an error. SQLITE_OK // otherwise. -func Xsqlite3VdbeMemFinalize(tls *libc.TLS, pMem uintptr, pFunc uintptr) int32 { /* sqlite3.c:78286:20: */ +func Xsqlite3VdbeMemFinalize(tls *libc.TLS, pMem uintptr, pFunc uintptr) int32 { /* sqlite3.c:78299:20: */ bp := tls.Alloc(112) defer tls.Free(112) @@ -56202,7 +56221,7 @@ func Xsqlite3VdbeMemFinalize(tls *libc.TLS, pMem uintptr, pFunc uintptr) int32 { // // SQLITE_ERROR is returned if xValue() reports an error. SQLITE_OK // otherwise. -func Xsqlite3VdbeMemAggValue(tls *libc.TLS, pAccum uintptr, pOut uintptr, pFunc uintptr) int32 { /* sqlite3.c:78317:20: */ +func Xsqlite3VdbeMemAggValue(tls *libc.TLS, pAccum uintptr, pOut uintptr, pFunc uintptr) int32 { /* sqlite3.c:78330:20: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -56224,7 +56243,7 @@ func Xsqlite3VdbeMemAggValue(tls *libc.TLS, pAccum uintptr, pOut uintptr, pFunc // This is a helper routine for sqlite3VdbeMemSetNull() and // for sqlite3VdbeMemRelease(). Use those other routines as the // entry point for releasing Mem resources. -func vdbeMemClearExternAndSetNull(tls *libc.TLS, p uintptr) { /* sqlite3.c:78342:29: */ +func vdbeMemClearExternAndSetNull(tls *libc.TLS, p uintptr) { /* sqlite3.c:78355:29: */ if int32((*Mem)(unsafe.Pointer(p)).Fflags)&MEM_Agg != 0 { Xsqlite3VdbeMemFinalize(tls, p, *(*uintptr)(unsafe.Pointer(p))) @@ -56243,7 +56262,7 @@ func vdbeMemClearExternAndSetNull(tls *libc.TLS, p uintptr) { /* sqlite3.c:78342 // This is a helper routine invoked by sqlite3VdbeMemRelease() in // the unusual case where there really is memory in p that needs // to be freed. -func vdbeMemClear(tls *libc.TLS, p uintptr) { /* sqlite3.c:78365:29: */ +func vdbeMemClear(tls *libc.TLS, p uintptr) { /* sqlite3.c:78378:29: */ if int32((*Mem)(unsafe.Pointer(p)).Fflags)&(MEM_Agg|MEM_Dyn) != 0 { vdbeMemClearExternAndSetNull(tls, p) } @@ -56262,7 +56281,7 @@ func vdbeMemClear(tls *libc.TLS, p uintptr) { /* sqlite3.c:78365:29: */ // // Use sqlite3VdbeMemSetNull() to release just the Mem.xDel space // prior to inserting new content into the Mem. -func Xsqlite3VdbeMemRelease(tls *libc.TLS, p uintptr) { /* sqlite3.c:78386:21: */ +func Xsqlite3VdbeMemRelease(tls *libc.TLS, p uintptr) { /* sqlite3.c:78399:21: */ if int32((*Mem)(unsafe.Pointer(p)).Fflags)&(MEM_Agg|MEM_Dyn) != 0 || (*Mem)(unsafe.Pointer(p)).FszMalloc != 0 { vdbeMemClear(tls, p) @@ -56272,7 +56291,7 @@ func Xsqlite3VdbeMemRelease(tls *libc.TLS, p uintptr) { /* sqlite3.c:78386:21: * // Convert a 64-bit IEEE double into a 64-bit signed integer. // If the double is out of range of a 64-bit signed integer then // return the closest available 64-bit signed integer. -func doubleToInt64(tls *libc.TLS, r float64) I64 { /* sqlite3.c:78398:28: */ +func doubleToInt64(tls *libc.TLS, r float64) I64 { /* sqlite3.c:78411:28: */ if r <= float64(minInt) { return minInt @@ -56284,8 +56303,8 @@ func doubleToInt64(tls *libc.TLS, r float64) I64 { /* sqlite3.c:78398:28: */ return I64(0) } -var maxInt I64 = int64(0xffffffff) | I64(int64(0x7fffffff))<<32 /* sqlite3.c:78410:20 */ -var minInt I64 = int64(-1) - (int64(0xffffffff) | I64(int64(0x7fffffff))<<32) /* sqlite3.c:78411:20 */ +var maxInt I64 = int64(0xffffffff) | I64(int64(0x7fffffff))<<32 /* sqlite3.c:78423:20 */ +var minInt I64 = int64(-1) - (int64(0xffffffff) | I64(int64(0x7fffffff))<<32) /* sqlite3.c:78424:20 */ // Return some kind of integer value which is the best we can do // at representing the value that *pMem describes as an integer. @@ -56296,7 +56315,7 @@ var minInt I64 = int64(-1) - (int64(0xffffffff) | I64(int64(0x7fffffff))<<32) /* // an SQL-NULL value, return 0. // // If pMem represents a string value, its encoding might be changed. -func memIntValue(tls *libc.TLS, pMem uintptr) I64 { /* sqlite3.c:78434:28: */ +func memIntValue(tls *libc.TLS, pMem uintptr) I64 { /* sqlite3.c:78447:28: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -56305,7 +56324,7 @@ func memIntValue(tls *libc.TLS, pMem uintptr) I64 { /* sqlite3.c:78434:28: */ return *(*I64)(unsafe.Pointer(bp /* value */)) } -func Xsqlite3VdbeIntValue(tls *libc.TLS, pMem uintptr) I64 { /* sqlite3.c:78439:20: */ +func Xsqlite3VdbeIntValue(tls *libc.TLS, pMem uintptr) I64 { /* sqlite3.c:78452:20: */ var flags int32 flags = int32((*Mem)(unsafe.Pointer(pMem)).Fflags) @@ -56326,7 +56345,7 @@ func Xsqlite3VdbeIntValue(tls *libc.TLS, pMem uintptr) I64 { /* sqlite3.c:78439: // double. If pMem is already a double or an integer, return its // value. If it is a string or blob, try to convert it to a double. // If it is a NULL, return 0.0. -func memRealValue(tls *libc.TLS, pMem uintptr) float64 { /* sqlite3.c:78463:31: */ +func memRealValue(tls *libc.TLS, pMem uintptr) float64 { /* sqlite3.c:78476:31: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -56336,7 +56355,7 @@ func memRealValue(tls *libc.TLS, pMem uintptr) float64 { /* sqlite3.c:78463:31: return *(*float64)(unsafe.Pointer(bp /* val */)) } -func Xsqlite3VdbeRealValue(tls *libc.TLS, pMem uintptr) float64 { /* sqlite3.c:78469:23: */ +func Xsqlite3VdbeRealValue(tls *libc.TLS, pMem uintptr) float64 { /* sqlite3.c:78482:23: */ if int32((*Mem)(unsafe.Pointer(pMem)).Fflags)&MEM_Real != 0 { return *(*float64)(unsafe.Pointer(pMem)) @@ -56354,7 +56373,7 @@ func Xsqlite3VdbeRealValue(tls *libc.TLS, pMem uintptr) float64 { /* sqlite3.c:7 // Return 1 if pMem represents true, and return 0 if pMem represents false. // Return the value ifNull if pMem is NULL. -func Xsqlite3VdbeBooleanValue(tls *libc.TLS, pMem uintptr, ifNull int32) int32 { /* sqlite3.c:78490:20: */ +func Xsqlite3VdbeBooleanValue(tls *libc.TLS, pMem uintptr, ifNull int32) int32 { /* sqlite3.c:78503:20: */ if int32((*Mem)(unsafe.Pointer(pMem)).Fflags)&(MEM_Int|MEM_IntReal) != 0 { return libc.Bool32(*(*I64)(unsafe.Pointer(pMem)) != int64(0)) @@ -56367,7 +56386,7 @@ func Xsqlite3VdbeBooleanValue(tls *libc.TLS, pMem uintptr, ifNull int32) int32 { // The MEM structure is already a MEM_Real. Try to also make it a // MEM_Int if we can. -func Xsqlite3VdbeIntegerAffinity(tls *libc.TLS, pMem uintptr) { /* sqlite3.c:78501:21: */ +func Xsqlite3VdbeIntegerAffinity(tls *libc.TLS, pMem uintptr) { /* sqlite3.c:78514:21: */ var ix I64 ix = doubleToInt64(tls, *(*float64)(unsafe.Pointer(pMem))) @@ -56388,7 +56407,7 @@ func Xsqlite3VdbeIntegerAffinity(tls *libc.TLS, pMem uintptr) { /* sqlite3.c:785 } // Convert pMem to type integer. Invalidate any prior representations. -func Xsqlite3VdbeMemIntegerify(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c:78530:20: */ +func Xsqlite3VdbeMemIntegerify(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c:78543:20: */ *(*I64)(unsafe.Pointer(pMem)) = Xsqlite3VdbeIntValue(tls, pMem) (*Mem)(unsafe.Pointer(pMem)).Fflags = U16(int32((*Mem)(unsafe.Pointer(pMem)).Fflags)&libc.CplInt32(MEM_TypeMask|MEM_Zero) | MEM_Int) @@ -56397,7 +56416,7 @@ func Xsqlite3VdbeMemIntegerify(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c // Convert pMem so that it is of type MEM_Real. // Invalidate any prior representations. -func Xsqlite3VdbeMemRealify(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c:78545:20: */ +func Xsqlite3VdbeMemRealify(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c:78558:20: */ *(*float64)(unsafe.Pointer(pMem)) = Xsqlite3VdbeRealValue(tls, pMem) (*Mem)(unsafe.Pointer(pMem)).Fflags = U16(int32((*Mem)(unsafe.Pointer(pMem)).Fflags)&libc.CplInt32(MEM_TypeMask|MEM_Zero) | MEM_Real) @@ -56412,7 +56431,7 @@ func Xsqlite3VdbeMemRealify(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c:78 // For some versions of GCC on 32-bit machines, if you do the more obvious // comparison of "r1==(double)i" you sometimes get an answer of false even // though the r1 and (double)i values are bit-for-bit the same. -func Xsqlite3RealSameAsInt(tls *libc.TLS, r1 float64, i Sqlite3_int64) int32 { /* sqlite3.c:78564:20: */ +func Xsqlite3RealSameAsInt(tls *libc.TLS, r1 float64, i Sqlite3_int64) int32 { /* sqlite3.c:78577:20: */ bp := tls.Alloc(16) defer tls.Free(16) *(*float64)(unsafe.Pointer(bp)) = r1 @@ -56429,7 +56448,7 @@ func Xsqlite3RealSameAsInt(tls *libc.TLS, r1 float64, i Sqlite3_int64) int32 { / // Every effort is made to force the conversion, even if the input // is a string that does not look completely like a number. Convert // as much of the string as we can and ignore the rest. -func Xsqlite3VdbeMemNumerify(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c:78579:20: */ +func Xsqlite3VdbeMemNumerify(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c:78592:20: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -56456,7 +56475,7 @@ func Xsqlite3VdbeMemNumerify(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c:7 // is forced. In other words, the value is converted into the desired // affinity even if that results in loss of data. This routine is // used (for example) to implement the SQL "cast()" operator. -func Xsqlite3VdbeMemCast(tls *libc.TLS, pMem uintptr, aff U8, encoding U8) int32 { /* sqlite3.c:78612:20: */ +func Xsqlite3VdbeMemCast(tls *libc.TLS, pMem uintptr, aff U8, encoding U8) int32 { /* sqlite3.c:78625:20: */ if int32((*Mem)(unsafe.Pointer(pMem)).Fflags)&MEM_Null != 0 { return SQLITE_OK } @@ -56510,7 +56529,7 @@ func Xsqlite3VdbeMemCast(tls *libc.TLS, pMem uintptr, aff U8, encoding U8) int32 // Initialize bulk memory to be a consistent Mem object. // // The minimum amount of initialization feasible is performed. -func Xsqlite3VdbeMemInit(tls *libc.TLS, pMem uintptr, db uintptr, flags U16) { /* sqlite3.c:78655:21: */ +func Xsqlite3VdbeMemInit(tls *libc.TLS, pMem uintptr, db uintptr, flags U16) { /* sqlite3.c:78668:21: */ (*Mem)(unsafe.Pointer(pMem)).Fflags = flags (*Mem)(unsafe.Pointer(pMem)).Fdb = db @@ -56527,7 +56546,7 @@ func Xsqlite3VdbeMemInit(tls *libc.TLS, pMem uintptr, db uintptr, flags U16) { / // Use this routine to reset the Mem prior to insert a new value. // // Use sqlite3VdbeMemRelease() to complete erase the Mem prior to abandoning it. -func Xsqlite3VdbeMemSetNull(tls *libc.TLS, pMem uintptr) { /* sqlite3.c:78675:21: */ +func Xsqlite3VdbeMemSetNull(tls *libc.TLS, pMem uintptr) { /* sqlite3.c:78688:21: */ if int32((*Mem)(unsafe.Pointer(pMem)).Fflags)&(MEM_Agg|MEM_Dyn) != 0 { vdbeMemClearExternAndSetNull(tls, pMem) } else { @@ -56535,13 +56554,13 @@ func Xsqlite3VdbeMemSetNull(tls *libc.TLS, pMem uintptr) { /* sqlite3.c:78675:21 } } -func Xsqlite3ValueSetNull(tls *libc.TLS, p uintptr) { /* sqlite3.c:78682:21: */ +func Xsqlite3ValueSetNull(tls *libc.TLS, p uintptr) { /* sqlite3.c:78695:21: */ Xsqlite3VdbeMemSetNull(tls, p) } // Delete any previous value and set the value to be a BLOB of length // n containing all zeros. -func Xsqlite3VdbeMemSetZeroBlob(tls *libc.TLS, pMem uintptr, n int32) { /* sqlite3.c:78691:21: */ +func Xsqlite3VdbeMemSetZeroBlob(tls *libc.TLS, pMem uintptr, n int32) { /* sqlite3.c:78704:21: */ Xsqlite3VdbeMemRelease(tls, pMem) (*Mem)(unsafe.Pointer(pMem)).Fflags = U16(MEM_Blob | MEM_Zero) (*Mem)(unsafe.Pointer(pMem)).Fn = 0 @@ -56556,7 +56575,7 @@ func Xsqlite3VdbeMemSetZeroBlob(tls *libc.TLS, pMem uintptr, n int32) { /* sqlit // The pMem is known to contain content that needs to be destroyed prior // to a value change. So invoke the destructor, then set the value to // a 64-bit integer. -func vdbeReleaseAndSetInt64(tls *libc.TLS, pMem uintptr, val I64) { /* sqlite3.c:78721:29: */ +func vdbeReleaseAndSetInt64(tls *libc.TLS, pMem uintptr, val I64) { /* sqlite3.c:78734:29: */ Xsqlite3VdbeMemSetNull(tls, pMem) *(*I64)(unsafe.Pointer(pMem)) = val (*Mem)(unsafe.Pointer(pMem)).Fflags = U16(MEM_Int) @@ -56564,7 +56583,7 @@ func vdbeReleaseAndSetInt64(tls *libc.TLS, pMem uintptr, val I64) { /* sqlite3.c // Delete any previous value and set the value stored in *pMem to val, // manifest type INTEGER. -func Xsqlite3VdbeMemSetInt64(tls *libc.TLS, pMem uintptr, val I64) { /* sqlite3.c:78731:21: */ +func Xsqlite3VdbeMemSetInt64(tls *libc.TLS, pMem uintptr, val I64) { /* sqlite3.c:78744:21: */ if int32((*Mem)(unsafe.Pointer(pMem)).Fflags)&(MEM_Agg|MEM_Dyn) != 0 { vdbeReleaseAndSetInt64(tls, pMem, val) } else { @@ -56574,13 +56593,13 @@ func Xsqlite3VdbeMemSetInt64(tls *libc.TLS, pMem uintptr, val I64) { /* sqlite3. } // A no-op destructor -func Xsqlite3NoopDestructor(tls *libc.TLS, p uintptr) { /* sqlite3.c:78741:21: */ +func Xsqlite3NoopDestructor(tls *libc.TLS, p uintptr) { /* sqlite3.c:78754:21: */ _ = p } // Set the value stored in *pMem should already be a NULL. // Also store a pointer to go with it. -func Xsqlite3VdbeMemSetPointer(tls *libc.TLS, pMem uintptr, pPtr uintptr, zPType uintptr, xDestructor uintptr) { /* sqlite3.c:78747:21: */ +func Xsqlite3VdbeMemSetPointer(tls *libc.TLS, pMem uintptr, pPtr uintptr, zPType uintptr, xDestructor uintptr) { /* sqlite3.c:78760:21: */ vdbeMemClear(tls, pMem) *(*uintptr)(unsafe.Pointer(pMem)) = func() uintptr { @@ -56602,7 +56621,7 @@ func Xsqlite3VdbeMemSetPointer(tls *libc.TLS, pMem uintptr, pPtr uintptr, zPType // Delete any previous value and set the value stored in *pMem to val, // manifest type REAL. -func Xsqlite3VdbeMemSetDouble(tls *libc.TLS, pMem uintptr, val float64) { /* sqlite3.c:78767:21: */ +func Xsqlite3VdbeMemSetDouble(tls *libc.TLS, pMem uintptr, val float64) { /* sqlite3.c:78780:21: */ Xsqlite3VdbeMemSetNull(tls, pMem) if !(Xsqlite3IsNaN(tls, val) != 0) { *(*float64)(unsafe.Pointer(pMem)) = val @@ -56615,7 +56634,7 @@ func Xsqlite3VdbeMemSetDouble(tls *libc.TLS, pMem uintptr, val float64) { /* sql // // Return SQLITE_OK on success and SQLITE_NOMEM if a memory allocation // error occurs. -func Xsqlite3VdbeMemSetRowSet(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c:78794:20: */ +func Xsqlite3VdbeMemSetRowSet(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c:78807:20: */ var db uintptr = (*Mem)(unsafe.Pointer(pMem)).Fdb var p uintptr @@ -56632,7 +56651,7 @@ func Xsqlite3VdbeMemSetRowSet(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c: // Return true if the Mem object contains a TEXT or BLOB that is // too large - whose size exceeds SQLITE_MAX_LENGTH. -func Xsqlite3VdbeMemTooBig(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:78812:20: */ +func Xsqlite3VdbeMemTooBig(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:78825:20: */ if int32((*Mem)(unsafe.Pointer(p)).Fflags)&(MEM_Str|MEM_Blob) != 0 { var n int32 = (*Mem)(unsafe.Pointer(p)).Fn @@ -56648,13 +56667,13 @@ func Xsqlite3VdbeMemTooBig(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:78812: // pTo are freed. The pFrom->z field is not duplicated. If // pFrom->z is used, then pTo->z points to the same thing as pFrom->z // and flags gets srcType (either MEM_Ephem or MEM_Static). -func vdbeClrCopy(tls *libc.TLS, pTo uintptr, pFrom uintptr, eType int32) { /* sqlite3.c:78868:29: */ +func vdbeClrCopy(tls *libc.TLS, pTo uintptr, pFrom uintptr, eType int32) { /* sqlite3.c:78881:29: */ vdbeMemClearExternAndSetNull(tls, pTo) Xsqlite3VdbeMemShallowCopy(tls, pTo, pFrom, eType) } -func Xsqlite3VdbeMemShallowCopy(tls *libc.TLS, pTo uintptr, pFrom uintptr, srcType int32) { /* sqlite3.c:78873:21: */ +func Xsqlite3VdbeMemShallowCopy(tls *libc.TLS, pTo uintptr, pFrom uintptr, srcType int32) { /* sqlite3.c:78886:21: */ if int32((*Mem)(unsafe.Pointer(pTo)).Fflags)&(MEM_Agg|MEM_Dyn) != 0 { vdbeClrCopy(tls, pTo, pFrom, srcType) @@ -56670,7 +56689,7 @@ func Xsqlite3VdbeMemShallowCopy(tls *libc.TLS, pTo uintptr, pFrom uintptr, srcTy // Make a full copy of pFrom into pTo. Prior contents of pTo are // freed before the copy is made. -func Xsqlite3VdbeMemCopy(tls *libc.TLS, pTo uintptr, pFrom uintptr) int32 { /* sqlite3.c:78889:20: */ +func Xsqlite3VdbeMemCopy(tls *libc.TLS, pTo uintptr, pFrom uintptr) int32 { /* sqlite3.c:78902:20: */ var rc int32 = SQLITE_OK if int32((*Mem)(unsafe.Pointer(pTo)).Fflags)&(MEM_Agg|MEM_Dyn) != 0 { @@ -56692,7 +56711,7 @@ func Xsqlite3VdbeMemCopy(tls *libc.TLS, pTo uintptr, pFrom uintptr) int32 { /* s // freed. If pFrom contains ephemeral data, a copy is made. // // pFrom contains an SQL NULL when this routine returns. -func Xsqlite3VdbeMemMove(tls *libc.TLS, pTo uintptr, pFrom uintptr) { /* sqlite3.c:78912:21: */ +func Xsqlite3VdbeMemMove(tls *libc.TLS, pTo uintptr, pFrom uintptr) { /* sqlite3.c:78925:21: */ Xsqlite3VdbeMemRelease(tls, pTo) libc.Xmemcpy(tls, pTo, pFrom, uint64(unsafe.Sizeof(Mem{}))) @@ -56713,7 +56732,7 @@ func Xsqlite3VdbeMemMove(tls *libc.TLS, pTo uintptr, pFrom uintptr) { /* sqlite3 // stored without allocating memory, then it is. If a memory allocation // is required to store the string, then value of pMem is unchanged. In // either case, SQLITE_TOOBIG is returned. -func Xsqlite3VdbeMemSetStr(tls *libc.TLS, pMem uintptr, z uintptr, n I64, enc U8, xDel uintptr) int32 { /* sqlite3.c:78938:20: */ +func Xsqlite3VdbeMemSetStr(tls *libc.TLS, pMem uintptr, z uintptr, n I64, enc U8, xDel uintptr) int32 { /* sqlite3.c:78951:20: */ var nByte I64 = n // New value for pMem->n var iLimit int32 // Maximum allowed string or blob size var flags U16 = U16(0) // New value for pMem->flags @@ -56826,11 +56845,11 @@ func Xsqlite3VdbeMemSetStr(tls *libc.TLS, pMem uintptr, z uintptr, n I64, enc U8 // // If this routine fails for any reason (malloc returns NULL or unable // to read from the disk) then the pMem is left in an inconsistent state. -func Xsqlite3VdbeMemFromBtree(tls *libc.TLS, pCur uintptr, offset U32, amt U32, pMem uintptr) int32 { /* sqlite3.c:79047:20: */ +func Xsqlite3VdbeMemFromBtree(tls *libc.TLS, pCur uintptr, offset U32, amt U32, pMem uintptr) int32 { /* sqlite3.c:79060:20: */ var rc int32 (*Mem)(unsafe.Pointer(pMem)).Fflags = U16(MEM_Null) if Xsqlite3BtreeMaxRecordSize(tls, pCur) < Sqlite3_int64(offset+amt) { - return Xsqlite3CorruptError(tls, 79056) + return Xsqlite3CorruptError(tls, 79069) } if SQLITE_OK == libc.AssignInt32(&rc, Xsqlite3VdbeMemClearAndResize(tls, pMem, int32(amt+U32(1)))) { rc = Xsqlite3BtreePayload(tls, pCur, offset, amt, (*Mem)(unsafe.Pointer(pMem)).Fz) @@ -56845,7 +56864,7 @@ func Xsqlite3VdbeMemFromBtree(tls *libc.TLS, pCur uintptr, offset U32, amt U32, return rc } -func Xsqlite3VdbeMemFromBtreeZeroOffset(tls *libc.TLS, pCur uintptr, amt U32, pMem uintptr) int32 { /* sqlite3.c:79070:20: */ +func Xsqlite3VdbeMemFromBtreeZeroOffset(tls *libc.TLS, pCur uintptr, amt U32, pMem uintptr) int32 { /* sqlite3.c:79083:20: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -56870,7 +56889,7 @@ func Xsqlite3VdbeMemFromBtreeZeroOffset(tls *libc.TLS, pCur uintptr, amt U32, pM // The pVal argument is known to be a value other than NULL. // Convert it into a string with encoding enc and return a pointer // to a zero-terminated version of that string. -func valueToText(tls *libc.TLS, pVal uintptr, enc U8) uintptr { /* sqlite3.c:79102:35: */ +func valueToText(tls *libc.TLS, pVal uintptr, enc U8) uintptr { /* sqlite3.c:79115:35: */ if int32((*Sqlite3_value)(unsafe.Pointer(pVal)).Fflags)&(MEM_Blob|MEM_Str) != 0 { if func() int32 { @@ -56915,7 +56934,7 @@ func valueToText(tls *libc.TLS, pVal uintptr, enc U8) uintptr { /* sqlite3.c:791 // (2006-02-16:) The enc value can be or-ed with SQLITE_UTF16_ALIGNED. // If that is the case, then the result must be aligned on an even byte // boundary. -func Xsqlite3ValueText(tls *libc.TLS, pVal uintptr, enc U8) uintptr { /* sqlite3.c:79145:27: */ +func Xsqlite3ValueText(tls *libc.TLS, pVal uintptr, enc U8) uintptr { /* sqlite3.c:79158:27: */ if !(pVal != 0) { return uintptr(0) } @@ -56931,7 +56950,7 @@ func Xsqlite3ValueText(tls *libc.TLS, pVal uintptr, enc U8) uintptr { /* sqlite3 } // Create a new sqlite3_value object. -func Xsqlite3ValueNew(tls *libc.TLS, db uintptr) uintptr { /* sqlite3.c:79163:30: */ +func Xsqlite3ValueNew(tls *libc.TLS, db uintptr) uintptr { /* sqlite3.c:79176:30: */ var p uintptr = Xsqlite3DbMallocZero(tls, db, uint64(unsafe.Sizeof(Mem{}))) if p != 0 { (*Mem)(unsafe.Pointer(p)).Fflags = U16(MEM_Null) @@ -56948,7 +56967,7 @@ type ValueNewStat4Ctx = struct { FppRec uintptr FiVal int32 F__ccgo_pad1 [4]byte -} /* sqlite3.c:79176:1 */ +} /* sqlite3.c:79189:1 */ // Allocate and return a pointer to a new sqlite3_value object. If // the second argument to this function is NULL, the object is allocated @@ -56959,7 +56978,7 @@ type ValueNewStat4Ctx = struct { // already been allocated, allocate the UnpackedRecord structure that // that function will return to its caller here. Then return a pointer to // an sqlite3_value within the UnpackedRecord.a[] array. -func valueNew(tls *libc.TLS, db uintptr, p uintptr) uintptr { /* sqlite3.c:79194:22: */ +func valueNew(tls *libc.TLS, db uintptr, p uintptr) uintptr { /* sqlite3.c:79207:22: */ if p != 0 { var pRec uintptr = *(*uintptr)(unsafe.Pointer((*ValueNewStat4Ctx)(unsafe.Pointer(p)).FppRec)) @@ -57015,7 +57034,7 @@ func valueNew(tls *libc.TLS, db uintptr, p uintptr) uintptr { /* sqlite3.c:79194 // If the conditions above are not met, this function returns SQLITE_OK // and sets (*ppVal) to NULL. Or, if an error occurs, (*ppVal) is set to // NULL and an SQLite error code returned. -func valueFromFunction(tls *libc.TLS, db uintptr, p uintptr, enc U8, aff U8, ppVal uintptr, pCtx uintptr) int32 { /* sqlite3.c:79256:12: */ +func valueFromFunction(tls *libc.TLS, db uintptr, p uintptr, enc U8, aff U8, ppVal uintptr, pCtx uintptr) int32 { /* sqlite3.c:79269:12: */ bp := tls.Alloc(64) defer tls.Free(64) @@ -57161,7 +57180,7 @@ __14: // has been allocated, it is freed before returning. Or, if pCtx is not // NULL, it is assumed that the caller will free any allocated object // in all cases. -func valueFromExpr(tls *libc.TLS, db uintptr, pExpr uintptr, enc U8, affinity U8, ppVal uintptr, pCtx uintptr) int32 { /* sqlite3.c:79352:12: */ +func valueFromExpr(tls *libc.TLS, db uintptr, pExpr uintptr, enc U8, affinity U8, ppVal uintptr, pCtx uintptr) int32 { /* sqlite3.c:79365:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -57409,7 +57428,7 @@ __35: // a pointer written to *ppVal. The caller is responsible for deallocating // the value by passing it to sqlite3ValueFree() later on. If the expression // cannot be converted to a value, then *ppVal is set to NULL. -func Xsqlite3ValueFromExpr(tls *libc.TLS, db uintptr, pExpr uintptr, enc U8, affinity U8, ppVal uintptr) int32 { /* sqlite3.c:79507:20: */ +func Xsqlite3ValueFromExpr(tls *libc.TLS, db uintptr, pExpr uintptr, enc U8, affinity U8, ppVal uintptr) int32 { /* sqlite3.c:79520:20: */ if pExpr != 0 { return valueFromExpr(tls, db, pExpr, enc, affinity, ppVal, uintptr(0)) } @@ -57432,7 +57451,7 @@ func Xsqlite3ValueFromExpr(tls *libc.TLS, db uintptr, pExpr uintptr, enc U8, aff // // On success, *ppVal is made to point to the extracted value. The caller // is responsible for ensuring that the value is eventually freed. -func stat4ValueFromExpr(tls *libc.TLS, pParse uintptr, pExpr uintptr, affinity U8, pAlloc uintptr, ppVal uintptr) int32 { /* sqlite3.c:79536:12: */ +func stat4ValueFromExpr(tls *libc.TLS, pParse uintptr, pExpr uintptr, affinity U8, pAlloc uintptr, ppVal uintptr) int32 { /* sqlite3.c:79549:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -57500,7 +57519,7 @@ func stat4ValueFromExpr(tls *libc.TLS, pParse uintptr, pExpr uintptr, affinity U // Unless an error is encountered, SQLITE_OK is returned. It is not an // error if a value cannot be extracted from pExpr. If an error does // occur, an SQLite error code is returned. -func Xsqlite3Stat4ProbeSetValue(tls *libc.TLS, pParse uintptr, pIdx uintptr, ppRec uintptr, pExpr uintptr, nElem int32, iVal int32, pnExtract uintptr) int32 { /* sqlite3.c:79611:20: */ +func Xsqlite3Stat4ProbeSetValue(tls *libc.TLS, pParse uintptr, pIdx uintptr, ppRec uintptr, pExpr uintptr, nElem int32, iVal int32, pnExtract uintptr) int32 { /* sqlite3.c:79624:20: */ bp := tls.Alloc(40) defer tls.Free(40) @@ -57545,7 +57564,7 @@ func Xsqlite3Stat4ProbeSetValue(tls *libc.TLS, pParse uintptr, pIdx uintptr, ppR // (e.g. OOM), return SQLITE_OK and set *ppVal to NULL. Or, if an error // does occur, return an SQLite error code. The final value of *ppVal // is undefined in this case. -func Xsqlite3Stat4ValueFromExpr(tls *libc.TLS, pParse uintptr, pExpr uintptr, affinity U8, ppVal uintptr) int32 { /* sqlite3.c:79656:20: */ +func Xsqlite3Stat4ValueFromExpr(tls *libc.TLS, pParse uintptr, pExpr uintptr, affinity U8, ppVal uintptr) int32 { /* sqlite3.c:79669:20: */ return stat4ValueFromExpr(tls, pParse, pExpr, affinity, uintptr(0), ppVal) } @@ -57555,7 +57574,7 @@ func Xsqlite3Stat4ValueFromExpr(tls *libc.TLS, pParse uintptr, pExpr uintptr, af // // If *ppVal is initially NULL then the caller is responsible for // ensuring that the value written into *ppVal is eventually freed. -func Xsqlite3Stat4Column(tls *libc.TLS, db uintptr, pRec uintptr, nRec int32, iCol int32, ppVal uintptr) int32 { /* sqlite3.c:79673:20: */ +func Xsqlite3Stat4Column(tls *libc.TLS, db uintptr, pRec uintptr, nRec int32, iCol int32, ppVal uintptr) int32 { /* sqlite3.c:79686:20: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -57576,7 +57595,7 @@ func Xsqlite3Stat4Column(tls *libc.TLS, db uintptr, pRec uintptr, nRec int32, iC return Xsqlite3GetVarint32(tls, a, bp) }()) if *(*int32)(unsafe.Pointer(bp)) > nRec || iHdr >= *(*int32)(unsafe.Pointer(bp)) { - return Xsqlite3CorruptError(tls, 79691) + return Xsqlite3CorruptError(tls, 79704) } iField = *(*int32)(unsafe.Pointer(bp /* nHdr */)) for i = 0; i <= iCol; i++ { @@ -57591,14 +57610,14 @@ func Xsqlite3Stat4Column(tls *libc.TLS, db uintptr, pRec uintptr, nRec int32, iC }()) if iHdr > *(*int32)(unsafe.Pointer(bp)) { - return Xsqlite3CorruptError(tls, 79697) + return Xsqlite3CorruptError(tls, 79710) } szField = int32(Xsqlite3VdbeSerialTypeLen(tls, *(*U32)(unsafe.Pointer(bp + 4 /* t */)))) iField = iField + szField } if iField > nRec { - return Xsqlite3CorruptError(tls, 79703) + return Xsqlite3CorruptError(tls, 79716) } if pMem == uintptr(0) { pMem = libc.AssignPtrUintptr(ppVal, Xsqlite3ValueNew(tls, db)) @@ -57614,7 +57633,7 @@ func Xsqlite3Stat4Column(tls *libc.TLS, db uintptr, pRec uintptr, nRec int32, iC // Unless it is NULL, the argument must be an UnpackedRecord object returned // by an earlier call to sqlite3Stat4ProbeSetValue(). This call deletes // the object. -func Xsqlite3Stat4ProbeFree(tls *libc.TLS, pRec uintptr) { /* sqlite3.c:79718:21: */ +func Xsqlite3Stat4ProbeFree(tls *libc.TLS, pRec uintptr) { /* sqlite3.c:79731:21: */ if pRec != 0 { var i int32 var nCol int32 = int32((*KeyInfo)(unsafe.Pointer((*UnpackedRecord)(unsafe.Pointer(pRec)).FpKeyInfo)).FnAllField) @@ -57629,14 +57648,14 @@ func Xsqlite3Stat4ProbeFree(tls *libc.TLS, pRec uintptr) { /* sqlite3.c:79718:21 } // Change the string value of an sqlite3_value object -func Xsqlite3ValueSetStr(tls *libc.TLS, v uintptr, n int32, z uintptr, enc U8, xDel uintptr) { /* sqlite3.c:79736:21: */ +func Xsqlite3ValueSetStr(tls *libc.TLS, v uintptr, n int32, z uintptr, enc U8, xDel uintptr) { /* sqlite3.c:79749:21: */ if v != 0 { Xsqlite3VdbeMemSetStr(tls, v, z, int64(n), enc, xDel) } } // Free an sqlite3_value object -func Xsqlite3ValueFree(tls *libc.TLS, v uintptr) { /* sqlite3.c:79749:21: */ +func Xsqlite3ValueFree(tls *libc.TLS, v uintptr) { /* sqlite3.c:79762:21: */ if !(v != 0) { return } @@ -57647,14 +57666,14 @@ func Xsqlite3ValueFree(tls *libc.TLS, v uintptr) { /* sqlite3.c:79749:21: */ // The sqlite3ValueBytes() routine returns the number of bytes in the // sqlite3_value object assuming that it uses the encoding "enc". // The valueBytes() routine is a helper function. -func valueBytes(tls *libc.TLS, pVal uintptr, enc U8) int32 { /* sqlite3.c:79760:28: */ +func valueBytes(tls *libc.TLS, pVal uintptr, enc U8) int32 { /* sqlite3.c:79773:28: */ if valueToText(tls, pVal, enc) != uintptr(0) { return (*Sqlite3_value)(unsafe.Pointer(pVal)).Fn } return 0 } -func Xsqlite3ValueBytes(tls *libc.TLS, pVal uintptr, enc U8) int32 { /* sqlite3.c:79763:20: */ +func Xsqlite3ValueBytes(tls *libc.TLS, pVal uintptr, enc U8) int32 { /* sqlite3.c:79776:20: */ var p uintptr = pVal if int32((*Mem)(unsafe.Pointer(p)).Fflags)&MEM_Str != 0 && int32((*Sqlite3_value)(unsafe.Pointer(pVal)).Fenc) == int32(enc) { @@ -57674,7 +57693,7 @@ func Xsqlite3ValueBytes(tls *libc.TLS, pVal uintptr, enc U8) int32 { /* sqlite3. } // Create a new virtual database engine. -func Xsqlite3VdbeCreate(tls *libc.TLS, pParse uintptr) uintptr { /* sqlite3.c:79806:21: */ +func Xsqlite3VdbeCreate(tls *libc.TLS, pParse uintptr) uintptr { /* sqlite3.c:79819:21: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb var p uintptr p = Xsqlite3DbMallocRawNN(tls, db, uint64(unsafe.Sizeof(Vdbe{}))) @@ -57698,12 +57717,12 @@ func Xsqlite3VdbeCreate(tls *libc.TLS, pParse uintptr) uintptr { /* sqlite3.c:79 } // Return the Parse object that owns a Vdbe object. -func Xsqlite3VdbeParser(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:79833:22: */ +func Xsqlite3VdbeParser(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:79846:22: */ return (*Vdbe)(unsafe.Pointer(p)).FpParse } // Change the error string stored in Vdbe.zErrMsg -func Xsqlite3VdbeError(tls *libc.TLS, p uintptr, zFormat uintptr, va uintptr) { /* sqlite3.c:79840:21: */ +func Xsqlite3VdbeError(tls *libc.TLS, p uintptr, zFormat uintptr, va uintptr) { /* sqlite3.c:79853:21: */ var ap Va_list _ = ap Xsqlite3DbFree(tls, (*Vdbe)(unsafe.Pointer(p)).Fdb, (*Vdbe)(unsafe.Pointer(p)).FzErrMsg) @@ -57713,7 +57732,7 @@ func Xsqlite3VdbeError(tls *libc.TLS, p uintptr, zFormat uintptr, va uintptr) { } // Remember the SQL string for a prepared statement. -func Xsqlite3VdbeSetSql(tls *libc.TLS, p uintptr, z uintptr, n int32, prepFlags U8) { /* sqlite3.c:79851:21: */ +func Xsqlite3VdbeSetSql(tls *libc.TLS, p uintptr, z uintptr, n int32, prepFlags U8) { /* sqlite3.c:79864:21: */ if p == uintptr(0) { return } @@ -57726,7 +57745,7 @@ func Xsqlite3VdbeSetSql(tls *libc.TLS, p uintptr, z uintptr, n int32, prepFlags } // Swap all content between two VDBE structures. -func Xsqlite3VdbeSwap(tls *libc.TLS, pA uintptr, pB uintptr) { /* sqlite3.c:79901:21: */ +func Xsqlite3VdbeSwap(tls *libc.TLS, pA uintptr, pB uintptr) { /* sqlite3.c:79914:21: */ var tmp Vdbe var pTmp uintptr var zTmp uintptr @@ -57757,7 +57776,7 @@ func Xsqlite3VdbeSwap(tls *libc.TLS, pA uintptr, pB uintptr) { /* sqlite3.c:7990 // SQLITE_NOMEM. In this case Vdbe.aOp and Vdbe.nOpAlloc remain // unchanged (this is so that any opcodes already allocated can be // correctly deallocated along with the rest of the Vdbe). -func growOpArray(tls *libc.TLS, v uintptr, nOp int32) int32 { /* sqlite3.c:79938:12: */ +func growOpArray(tls *libc.TLS, v uintptr, nOp int32) int32 { /* sqlite3.c:79951:12: */ var pNew uintptr var p uintptr = (*Vdbe)(unsafe.Pointer(v)).FpParse @@ -57810,7 +57829,7 @@ func growOpArray(tls *libc.TLS, v uintptr, nOp int32) int32 { /* sqlite3.c:79938 // Use the sqlite3VdbeResolveLabel() function to fix an address and // the sqlite3VdbeChangeP4() function to change the value of the P4 // operand. -func growOp3(tls *libc.TLS, p uintptr, op int32, p1 int32, p2 int32, p3 int32) int32 { /* sqlite3.c:80009:28: */ +func growOp3(tls *libc.TLS, p uintptr, op int32, p1 int32, p2 int32, p3 int32) int32 { /* sqlite3.c:80022:28: */ if growOpArray(tls, p, 1) != 0 { return 1 @@ -57819,7 +57838,7 @@ func growOp3(tls *libc.TLS, p uintptr, op int32, p1 int32, p2 int32, p3 int32) i return Xsqlite3VdbeAddOp3(tls, p, op, p1, p2, p3) } -func Xsqlite3VdbeAddOp3(tls *libc.TLS, p uintptr, op int32, p1 int32, p2 int32, p3 int32) int32 { /* sqlite3.c:80015:20: */ +func Xsqlite3VdbeAddOp3(tls *libc.TLS, p uintptr, op int32, p1 int32, p2 int32, p3 int32) int32 { /* sqlite3.c:80028:20: */ var i int32 var pOp uintptr @@ -57842,26 +57861,26 @@ func Xsqlite3VdbeAddOp3(tls *libc.TLS, p uintptr, op int32, p1 int32, p2 int32, return i } -func Xsqlite3VdbeAddOp0(tls *libc.TLS, p uintptr, op int32) int32 { /* sqlite3.c:80054:20: */ +func Xsqlite3VdbeAddOp0(tls *libc.TLS, p uintptr, op int32) int32 { /* sqlite3.c:80067:20: */ return Xsqlite3VdbeAddOp3(tls, p, op, 0, 0, 0) } -func Xsqlite3VdbeAddOp1(tls *libc.TLS, p uintptr, op int32, p1 int32) int32 { /* sqlite3.c:80057:20: */ +func Xsqlite3VdbeAddOp1(tls *libc.TLS, p uintptr, op int32, p1 int32) int32 { /* sqlite3.c:80070:20: */ return Xsqlite3VdbeAddOp3(tls, p, op, p1, 0, 0) } -func Xsqlite3VdbeAddOp2(tls *libc.TLS, p uintptr, op int32, p1 int32, p2 int32) int32 { /* sqlite3.c:80060:20: */ +func Xsqlite3VdbeAddOp2(tls *libc.TLS, p uintptr, op int32, p1 int32, p2 int32) int32 { /* sqlite3.c:80073:20: */ return Xsqlite3VdbeAddOp3(tls, p, op, p1, p2, 0) } // Generate code for an unconditional jump to instruction iDest -func Xsqlite3VdbeGoto(tls *libc.TLS, p uintptr, iDest int32) int32 { /* sqlite3.c:80066:20: */ +func Xsqlite3VdbeGoto(tls *libc.TLS, p uintptr, iDest int32) int32 { /* sqlite3.c:80079:20: */ return Xsqlite3VdbeAddOp3(tls, p, OP_Goto, 0, iDest, 0) } // Generate code to cause the string zStr to be loaded into // register iDest -func Xsqlite3VdbeLoadString(tls *libc.TLS, p uintptr, iDest int32, zStr uintptr) int32 { /* sqlite3.c:80073:20: */ +func Xsqlite3VdbeLoadString(tls *libc.TLS, p uintptr, iDest int32, zStr uintptr) int32 { /* sqlite3.c:80086:20: */ return Xsqlite3VdbeAddOp4(tls, p, OP_String8, 0, iDest, 0, zStr, 0) } @@ -57874,7 +57893,7 @@ func Xsqlite3VdbeLoadString(tls *libc.TLS, p uintptr, iDest int32, zStr uintptr) // // If the input string does not end with "X" then an OP_ResultRow instruction // is generated for the values inserted. -func Xsqlite3VdbeMultiLoad(tls *libc.TLS, p uintptr, iDest int32, zTypes uintptr, va uintptr) { /* sqlite3.c:80088:21: */ +func Xsqlite3VdbeMultiLoad(tls *libc.TLS, p uintptr, iDest int32, zTypes uintptr, va uintptr) { /* sqlite3.c:80101:21: */ var ap Va_list _ = ap var i int32 @@ -57922,7 +57941,7 @@ skip_op_resultrow: } // Add an opcode that includes the p4 value as a pointer. -func Xsqlite3VdbeAddOp4(tls *libc.TLS, p uintptr, op int32, p1 int32, p2 int32, p3 int32, zP4 uintptr, p4type int32) int32 { /* sqlite3.c:80111:20: */ +func Xsqlite3VdbeAddOp4(tls *libc.TLS, p uintptr, op int32, p1 int32, p2 int32, p3 int32, zP4 uintptr, p4type int32) int32 { /* sqlite3.c:80124:20: */ var addr int32 = Xsqlite3VdbeAddOp3(tls, p, op, p1, p2, p3) Xsqlite3VdbeChangeP4(tls, p, addr, zP4, p4type) return addr @@ -57936,7 +57955,7 @@ func Xsqlite3VdbeAddOp4(tls *libc.TLS, p uintptr, op int32, p1 int32, p2 int32, // NC_IdxExpr means called as part of an index expression. NC_PartIdx // means in the WHERE clause of a partial index. NC_GenCol means called // while computing a generated column value. 0 is the usual case. -func Xsqlite3VdbeAddFunctionCall(tls *libc.TLS, pParse uintptr, p1 int32, p2 int32, p3 int32, nArg int32, pFunc uintptr, eCallCtx int32) int32 { /* sqlite3.c:80135:20: */ +func Xsqlite3VdbeAddFunctionCall(tls *libc.TLS, pParse uintptr, p1 int32, p2 int32, p3 int32, nArg int32, pFunc uintptr, eCallCtx int32) int32 { /* sqlite3.c:80148:20: */ var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe var nByte int32 var addr int32 @@ -57968,7 +57987,7 @@ func Xsqlite3VdbeAddFunctionCall(tls *libc.TLS, pParse uintptr, p1 int32, p2 int // Add an opcode that includes the p4 value with a P4_INT64 or // P4_REAL type. -func Xsqlite3VdbeAddOp4Dup8(tls *libc.TLS, p uintptr, op int32, p1 int32, p2 int32, p3 int32, zP4 uintptr, p4type int32) int32 { /* sqlite3.c:80172:20: */ +func Xsqlite3VdbeAddOp4Dup8(tls *libc.TLS, p uintptr, op int32, p1 int32, p2 int32, p3 int32, zP4 uintptr, p4type int32) int32 { /* sqlite3.c:80185:20: */ var p4copy uintptr = Xsqlite3DbMallocRawNN(tls, Xsqlite3VdbeDb(tls, p), uint64(8)) if p4copy != 0 { libc.Xmemcpy(tls, p4copy, zP4, uint64(8)) @@ -57978,7 +57997,7 @@ func Xsqlite3VdbeAddOp4Dup8(tls *libc.TLS, p uintptr, op int32, p1 int32, p2 int // Return the address of the current EXPLAIN QUERY PLAN baseline. // 0 means "none". -func Xsqlite3VdbeExplainParent(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:80191:20: */ +func Xsqlite3VdbeExplainParent(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:80204:20: */ var pOp uintptr if (*Parse)(unsafe.Pointer(pParse)).FaddrExplain == 0 { return 0 @@ -57994,7 +58013,7 @@ func Xsqlite3VdbeExplainParent(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3 // // If the bPush flag is true, then make this opcode the parent for // subsequent Explains until sqlite3VdbeExplainPop() is called. -func Xsqlite3VdbeExplain(tls *libc.TLS, pParse uintptr, bPush U8, zFmt uintptr, va uintptr) { /* sqlite3.c:80215:21: */ +func Xsqlite3VdbeExplain(tls *libc.TLS, pParse uintptr, bPush U8, zFmt uintptr, va uintptr) { /* sqlite3.c:80228:21: */ // Always include the OP_Explain opcodes if SQLITE_DEBUG is defined. // But omit them (for performance) during production builds if int32((*Parse)(unsafe.Pointer(pParse)).Fexplain) == 2 { @@ -58018,7 +58037,7 @@ func Xsqlite3VdbeExplain(tls *libc.TLS, pParse uintptr, bPush U8, zFmt uintptr, } // Pop the EXPLAIN QUERY PLAN stack one level. -func Xsqlite3VdbeExplainPop(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:80243:21: */ +func Xsqlite3VdbeExplainPop(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:80256:21: */ (*Parse)(unsafe.Pointer(pParse)).FaddrExplain = Xsqlite3VdbeExplainParent(tls, pParse) } @@ -58029,7 +58048,7 @@ func Xsqlite3VdbeExplainPop(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:80243: // // The zWhere string must have been obtained from sqlite3_malloc(). // This routine will take ownership of the allocated memory. -func Xsqlite3VdbeAddParseSchemaOp(tls *libc.TLS, p uintptr, iDb int32, zWhere uintptr, p5 U16) { /* sqlite3.c:80257:21: */ +func Xsqlite3VdbeAddParseSchemaOp(tls *libc.TLS, p uintptr, iDb int32, zWhere uintptr, p5 U16) { /* sqlite3.c:80270:21: */ var j int32 Xsqlite3VdbeAddOp4(tls, p, OP_ParseSchema, iDb, 0, 0, zWhere, -7) Xsqlite3VdbeChangeP5(tls, p, p5) @@ -58040,7 +58059,7 @@ func Xsqlite3VdbeAddParseSchemaOp(tls *libc.TLS, p uintptr, iDb int32, zWhere ui } // Add an opcode that includes the p4 value as an integer. -func Xsqlite3VdbeAddOp4Int(tls *libc.TLS, p uintptr, op int32, p1 int32, p2 int32, p3 int32, p4 int32) int32 { /* sqlite3.c:80268:20: */ +func Xsqlite3VdbeAddOp4Int(tls *libc.TLS, p uintptr, op int32, p1 int32, p2 int32, p3 int32, p4 int32) int32 { /* sqlite3.c:80281:20: */ var addr int32 = Xsqlite3VdbeAddOp3(tls, p, op, p1, p2, p3) if int32((*Sqlite3)(unsafe.Pointer((*Vdbe)(unsafe.Pointer(p)).Fdb)).FmallocFailed) == 0 { var pOp uintptr = (*Vdbe)(unsafe.Pointer(p)).FaOp + uintptr(addr)*24 @@ -58051,7 +58070,7 @@ func Xsqlite3VdbeAddOp4Int(tls *libc.TLS, p uintptr, op int32, p1 int32, p2 int3 } // Insert the end of a co-routine -func Xsqlite3VdbeEndCoroutine(tls *libc.TLS, v uintptr, regYield int32) { /* sqlite3.c:80287:21: */ +func Xsqlite3VdbeEndCoroutine(tls *libc.TLS, v uintptr, regYield int32) { /* sqlite3.c:80300:21: */ Xsqlite3VdbeAddOp1(tls, v, OP_EndCoroutine, regYield) // Clear the temporary register cache, thereby ensuring that each @@ -58086,14 +58105,14 @@ func Xsqlite3VdbeEndCoroutine(tls *libc.TLS, v uintptr, regYield int32) { /* sql // been issued. The negative is stored because // that gives a performance improvement over storing // the equivalent positive value. -func Xsqlite3VdbeMakeLabel(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:80325:20: */ +func Xsqlite3VdbeMakeLabel(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:80338:20: */ return libc.PreDecInt32(&(*Parse)(unsafe.Pointer(pParse)).FnLabel, 1) } // Resolve label "x" to be the address of the next instruction to // be inserted. The parameter "x" must have been obtained from // a prior call to sqlite3VdbeMakeLabel(). -func resizeResolveLabel(tls *libc.TLS, p uintptr, v uintptr, j int32) { /* sqlite3.c:80334:29: */ +func resizeResolveLabel(tls *libc.TLS, p uintptr, v uintptr, j int32) { /* sqlite3.c:80347:29: */ var nNewSize int32 = 10 - (*Parse)(unsafe.Pointer(p)).FnLabel (*Parse)(unsafe.Pointer(p)).FaLabel = Xsqlite3DbReallocOrFree(tls, (*Parse)(unsafe.Pointer(p)).Fdb, (*Parse)(unsafe.Pointer(p)).FaLabel, uint64(uint64(nNewSize)*uint64(unsafe.Sizeof(int32(0))))) @@ -58105,7 +58124,7 @@ func resizeResolveLabel(tls *libc.TLS, p uintptr, v uintptr, j int32) { /* sqlit } } -func Xsqlite3VdbeResolveLabel(tls *libc.TLS, v uintptr, x int32) { /* sqlite3.c:80349:21: */ +func Xsqlite3VdbeResolveLabel(tls *libc.TLS, v uintptr, x int32) { /* sqlite3.c:80362:21: */ var p uintptr = (*Vdbe)(unsafe.Pointer(v)).FpParse var j int32 = ^x @@ -58118,12 +58137,12 @@ func Xsqlite3VdbeResolveLabel(tls *libc.TLS, v uintptr, x int32) { /* sqlite3.c: } // Mark the VDBE as one that can only be run one time. -func Xsqlite3VdbeRunOnlyOnce(tls *libc.TLS, p uintptr) { /* sqlite3.c:80371:21: */ +func Xsqlite3VdbeRunOnlyOnce(tls *libc.TLS, p uintptr) { /* sqlite3.c:80384:21: */ libc.SetBitFieldPtr16Uint32(p+208, Bft(1), 5, 0x20) } // Mark the VDBE as one that can only be run multiple times. -func Xsqlite3VdbeReusable(tls *libc.TLS, p uintptr) { /* sqlite3.c:80378:21: */ +func Xsqlite3VdbeReusable(tls *libc.TLS, p uintptr) { /* sqlite3.c:80391:21: */ libc.SetBitFieldPtr16Uint32(p+208, Bft(0), 5, 0x20) } @@ -58146,7 +58165,7 @@ func Xsqlite3VdbeReusable(tls *libc.TLS, p uintptr) { /* sqlite3.c:80378:21: */ // This routine will only function correctly if the mkopcodeh.tcl generator // script numbers the opcodes correctly. Changes to this routine must be // coordinated with changes to mkopcodeh.tcl. -func resolveP2Values(tls *libc.TLS, p uintptr, pMaxFuncArgs uintptr) { /* sqlite3.c:80574:13: */ +func resolveP2Values(tls *libc.TLS, p uintptr, pMaxFuncArgs uintptr) { /* sqlite3.c:80587:13: */ var nMaxArgs int32 = *(*int32)(unsafe.Pointer(pMaxFuncArgs)) var pOp uintptr var pParse uintptr = (*Vdbe)(unsafe.Pointer(p)).FpParse @@ -58275,7 +58294,7 @@ func resolveP2Values(tls *libc.TLS, p uintptr, pMaxFuncArgs uintptr) { /* sqlite } // Return the address of the next instruction to be inserted. -func Xsqlite3VdbeCurrentAddr(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:80676:20: */ +func Xsqlite3VdbeCurrentAddr(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:80689:20: */ return (*Vdbe)(unsafe.Pointer(p)).FnOp } @@ -58306,7 +58325,7 @@ func Xsqlite3VdbeCurrentAddr(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:8067 // array. Also, *pnMaxArg is set to the larger of its current value and // the number of entries in the Vdbe.apArg[] array required to execute the // returned program. -func Xsqlite3VdbeTakeOpArray(tls *libc.TLS, p uintptr, pnOp uintptr, pnMaxArg uintptr) uintptr { /* sqlite3.c:80733:23: */ +func Xsqlite3VdbeTakeOpArray(tls *libc.TLS, p uintptr, pnOp uintptr, pnMaxArg uintptr) uintptr { /* sqlite3.c:80746:23: */ var aOp uintptr = (*Vdbe)(unsafe.Pointer(p)).FaOp // Check that sqlite3VdbeUsesBtree() was not called on this VM @@ -58322,7 +58341,7 @@ func Xsqlite3VdbeTakeOpArray(tls *libc.TLS, p uintptr, pnOp uintptr, pnMaxArg ui // // Non-zero P2 arguments to jump instructions are automatically adjusted // so that the jump target is relative to the first operation inserted. -func Xsqlite3VdbeAddOpList(tls *libc.TLS, p uintptr, nOp int32, aOp uintptr, iLineno int32) uintptr { /* sqlite3.c:80753:23: */ +func Xsqlite3VdbeAddOpList(tls *libc.TLS, p uintptr, nOp int32, aOp uintptr, iLineno int32) uintptr { /* sqlite3.c:80766:23: */ var i int32 var pOut uintptr var pFirst uintptr @@ -58366,23 +58385,23 @@ __3: // Change the value of the opcode, or P1, P2, P3, or P5 operands // for a specific instruction. -func Xsqlite3VdbeChangeOpcode(tls *libc.TLS, p uintptr, addr int32, iNewOpcode U8) { /* sqlite3.c:80829:21: */ +func Xsqlite3VdbeChangeOpcode(tls *libc.TLS, p uintptr, addr int32, iNewOpcode U8) { /* sqlite3.c:80842:21: */ (*VdbeOp)(unsafe.Pointer(Xsqlite3VdbeGetOp(tls, p, addr))).Fopcode = iNewOpcode } -func Xsqlite3VdbeChangeP1(tls *libc.TLS, p uintptr, addr int32, val int32) { /* sqlite3.c:80832:21: */ +func Xsqlite3VdbeChangeP1(tls *libc.TLS, p uintptr, addr int32, val int32) { /* sqlite3.c:80845:21: */ (*VdbeOp)(unsafe.Pointer(Xsqlite3VdbeGetOp(tls, p, addr))).Fp1 = val } -func Xsqlite3VdbeChangeP2(tls *libc.TLS, p uintptr, addr int32, val int32) { /* sqlite3.c:80835:21: */ +func Xsqlite3VdbeChangeP2(tls *libc.TLS, p uintptr, addr int32, val int32) { /* sqlite3.c:80848:21: */ (*VdbeOp)(unsafe.Pointer(Xsqlite3VdbeGetOp(tls, p, addr))).Fp2 = val } -func Xsqlite3VdbeChangeP3(tls *libc.TLS, p uintptr, addr int32, val int32) { /* sqlite3.c:80838:21: */ +func Xsqlite3VdbeChangeP3(tls *libc.TLS, p uintptr, addr int32, val int32) { /* sqlite3.c:80851:21: */ (*VdbeOp)(unsafe.Pointer(Xsqlite3VdbeGetOp(tls, p, addr))).Fp3 = val } -func Xsqlite3VdbeChangeP5(tls *libc.TLS, p uintptr, p5 U16) { /* sqlite3.c:80841:21: */ +func Xsqlite3VdbeChangeP5(tls *libc.TLS, p uintptr, p5 U16) { /* sqlite3.c:80854:21: */ if (*Vdbe)(unsafe.Pointer(p)).FnOp > 0 { (*Op)(unsafe.Pointer((*Vdbe)(unsafe.Pointer(p)).FaOp + uintptr((*Vdbe)(unsafe.Pointer(p)).FnOp-1)*24)).Fp5 = p5 @@ -58391,7 +58410,7 @@ func Xsqlite3VdbeChangeP5(tls *libc.TLS, p uintptr, p5 U16) { /* sqlite3.c:80841 // Change the P2 operand of instruction addr so that it points to // the address of the next instruction to be coded. -func Xsqlite3VdbeJumpHere(tls *libc.TLS, p uintptr, addr int32) { /* sqlite3.c:80850:21: */ +func Xsqlite3VdbeJumpHere(tls *libc.TLS, p uintptr, addr int32) { /* sqlite3.c:80863:21: */ Xsqlite3VdbeChangeP2(tls, p, addr, (*Vdbe)(unsafe.Pointer(p)).FnOp) } @@ -58406,7 +58425,7 @@ func Xsqlite3VdbeJumpHere(tls *libc.TLS, p uintptr, addr int32) { /* sqlite3.c:8 // // 7 Once 0 8 0 // 8 ... -func Xsqlite3VdbeJumpHereOrPopInst(tls *libc.TLS, p uintptr, addr int32) { /* sqlite3.c:80867:21: */ +func Xsqlite3VdbeJumpHereOrPopInst(tls *libc.TLS, p uintptr, addr int32) { /* sqlite3.c:80880:21: */ if addr == (*Vdbe)(unsafe.Pointer(p)).FnOp-1 { (*Vdbe)(unsafe.Pointer(p)).FnOp-- @@ -58417,26 +58436,26 @@ func Xsqlite3VdbeJumpHereOrPopInst(tls *libc.TLS, p uintptr, addr int32) { /* sq // If the input FuncDef structure is ephemeral, then free it. If // the FuncDef is not ephermal, then do nothing. -func freeEphemeralFunction(tls *libc.TLS, db uintptr, pDef uintptr) { /* sqlite3.c:80887:13: */ +func freeEphemeralFunction(tls *libc.TLS, db uintptr, pDef uintptr) { /* sqlite3.c:80900:13: */ if (*FuncDef)(unsafe.Pointer(pDef)).FfuncFlags&U32(SQLITE_FUNC_EPHEM) != U32(0) { Xsqlite3DbFreeNN(tls, db, pDef) } } // Delete a P4 value if necessary. -func freeP4Mem(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:80896:29: */ +func freeP4Mem(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:80909:29: */ if (*Mem)(unsafe.Pointer(p)).FszMalloc != 0 { Xsqlite3DbFree(tls, db, (*Mem)(unsafe.Pointer(p)).FzMalloc) } Xsqlite3DbFreeNN(tls, db, p) } -func freeP4FuncCtx(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:80900:29: */ +func freeP4FuncCtx(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:80913:29: */ freeEphemeralFunction(tls, db, (*Sqlite3_context)(unsafe.Pointer(p)).FpFunc) Xsqlite3DbFreeNN(tls, db, p) } -func freeP4(tls *libc.TLS, db uintptr, p4type int32, p4 uintptr) { /* sqlite3.c:80904:13: */ +func freeP4(tls *libc.TLS, db uintptr, p4type int32, p4 uintptr) { /* sqlite3.c:80917:13: */ switch p4type { case -16: @@ -58497,7 +58516,7 @@ func freeP4(tls *libc.TLS, db uintptr, p4type int32, p4 uintptr) { /* sqlite3.c: // Free the space allocated for aOp and any p4 values allocated for the // opcodes contained within. If aOp is not NULL it is assumed to contain // nOp entries. -func vdbeFreeOpArray(tls *libc.TLS, db uintptr, aOp uintptr, nOp int32) { /* sqlite3.c:80953:13: */ +func vdbeFreeOpArray(tls *libc.TLS, db uintptr, aOp uintptr, nOp int32) { /* sqlite3.c:80966:13: */ if aOp != 0 { var pOp uintptr for pOp = aOp + uintptr(nOp-1)*24; pOp >= aOp; pOp -= 24 { @@ -58512,18 +58531,18 @@ func vdbeFreeOpArray(tls *libc.TLS, db uintptr, aOp uintptr, nOp int32) { /* sql // Link the SubProgram object passed as the second argument into the linked // list at Vdbe.pSubProgram. This list is used to delete all sub-program // objects when the VM is no longer required. -func Xsqlite3VdbeLinkSubProgram(tls *libc.TLS, pVdbe uintptr, p uintptr) { /* sqlite3.c:80971:21: */ +func Xsqlite3VdbeLinkSubProgram(tls *libc.TLS, pVdbe uintptr, p uintptr) { /* sqlite3.c:80984:21: */ (*SubProgram)(unsafe.Pointer(p)).FpNext = (*Vdbe)(unsafe.Pointer(pVdbe)).FpProgram (*Vdbe)(unsafe.Pointer(pVdbe)).FpProgram = p } // Return true if the given Vdbe has any SubPrograms. -func Xsqlite3VdbeHasSubProgram(tls *libc.TLS, pVdbe uintptr) int32 { /* sqlite3.c:80979:20: */ +func Xsqlite3VdbeHasSubProgram(tls *libc.TLS, pVdbe uintptr) int32 { /* sqlite3.c:80992:20: */ return libc.Bool32((*Vdbe)(unsafe.Pointer(pVdbe)).FpProgram != uintptr(0)) } // Change the opcode at addr into OP_Noop -func Xsqlite3VdbeChangeToNoop(tls *libc.TLS, p uintptr, addr int32) int32 { /* sqlite3.c:80986:20: */ +func Xsqlite3VdbeChangeToNoop(tls *libc.TLS, p uintptr, addr int32) int32 { /* sqlite3.c:80999:20: */ var pOp uintptr if (*Sqlite3)(unsafe.Pointer((*Vdbe)(unsafe.Pointer(p)).Fdb)).FmallocFailed != 0 { return 0 @@ -58539,7 +58558,7 @@ func Xsqlite3VdbeChangeToNoop(tls *libc.TLS, p uintptr, addr int32) int32 { /* s // If the last opcode is "op" and it is not a jump destination, // then remove it. Return true if and only if an opcode was removed. -func Xsqlite3VdbeDeletePriorOpcode(tls *libc.TLS, p uintptr, op U8) int32 { /* sqlite3.c:81002:20: */ +func Xsqlite3VdbeDeletePriorOpcode(tls *libc.TLS, p uintptr, op U8) int32 { /* sqlite3.c:81015:20: */ if (*Vdbe)(unsafe.Pointer(p)).FnOp > 0 && int32((*Op)(unsafe.Pointer((*Vdbe)(unsafe.Pointer(p)).FaOp+uintptr((*Vdbe)(unsafe.Pointer(p)).FnOp-1)*24)).Fopcode) == int32(op) { return Xsqlite3VdbeChangeToNoop(tls, p, (*Vdbe)(unsafe.Pointer(p)).FnOp-1) } else { @@ -58563,7 +58582,7 @@ func Xsqlite3VdbeDeletePriorOpcode(tls *libc.TLS, p uintptr, op U8) int32 { /* s // the Vdbe. In these cases we can just copy the pointer. // // If addr<0 then change P4 on the most recently inserted instruction. -func vdbeChangeP4Full(tls *libc.TLS, p uintptr, pOp uintptr, zP4 uintptr, n int32) { /* sqlite3.c:81062:29: */ +func vdbeChangeP4Full(tls *libc.TLS, p uintptr, pOp uintptr, zP4 uintptr, n int32) { /* sqlite3.c:81075:29: */ if (*Op)(unsafe.Pointer(pOp)).Fp4type != 0 { freeP4(tls, (*Vdbe)(unsafe.Pointer(p)).Fdb, int32((*Op)(unsafe.Pointer(pOp)).Fp4type), *(*uintptr)(unsafe.Pointer(pOp + 16))) (*Op)(unsafe.Pointer(pOp)).Fp4type = int8(0) @@ -58580,7 +58599,7 @@ func vdbeChangeP4Full(tls *libc.TLS, p uintptr, pOp uintptr, zP4 uintptr, n int3 } } -func Xsqlite3VdbeChangeP4(tls *libc.TLS, p uintptr, addr int32, zP4 uintptr, n int32) { /* sqlite3.c:81081:21: */ +func Xsqlite3VdbeChangeP4(tls *libc.TLS, p uintptr, addr int32, zP4 uintptr, n int32) { /* sqlite3.c:81094:21: */ bp := tls.Alloc(8) defer tls.Free(8) *(*uintptr)(unsafe.Pointer(bp)) = zP4 @@ -58627,7 +58646,7 @@ func Xsqlite3VdbeChangeP4(tls *libc.TLS, p uintptr, addr int32, zP4 uintptr, n i // The P4 operand must not have been previously defined. And the new // P4 must not be P4_INT32. Use sqlite3VdbeChangeP4() in either of // those cases. -func Xsqlite3VdbeAppendP4(tls *libc.TLS, p uintptr, pP4 uintptr, n int32) { /* sqlite3.c:81124:21: */ +func Xsqlite3VdbeAppendP4(tls *libc.TLS, p uintptr, pP4 uintptr, n int32) { /* sqlite3.c:81137:21: */ var pOp uintptr if (*Sqlite3)(unsafe.Pointer((*Vdbe)(unsafe.Pointer(p)).Fdb)).FmallocFailed != 0 { @@ -58643,7 +58662,7 @@ func Xsqlite3VdbeAppendP4(tls *libc.TLS, p uintptr, pP4 uintptr, n int32) { /* s // Set the P4 on the most recently added opcode to the KeyInfo for the // index given. -func Xsqlite3VdbeSetP4KeyInfo(tls *libc.TLS, pParse uintptr, pIdx uintptr) { /* sqlite3.c:81144:21: */ +func Xsqlite3VdbeSetP4KeyInfo(tls *libc.TLS, pParse uintptr, pIdx uintptr) { /* sqlite3.c:81157:21: */ var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe var pKeyInfo uintptr @@ -58664,7 +58683,7 @@ func Xsqlite3VdbeSetP4KeyInfo(tls *libc.TLS, pParse uintptr, pIdx uintptr) { /* // this routine is a valid pointer. But because the dummy.opcode is 0, // dummy will never be written to. This is verified by code inspection and // by running with Valgrind. -func Xsqlite3VdbeGetOp(tls *libc.TLS, p uintptr, addr int32) uintptr { /* sqlite3.c:81210:23: */ // Ignore the MSVC warning about no initializer +func Xsqlite3VdbeGetOp(tls *libc.TLS, p uintptr, addr int32) uintptr { /* sqlite3.c:81223:23: */ // Ignore the MSVC warning about no initializer if addr < 0 { addr = (*Vdbe)(unsafe.Pointer(p)).FnOp - 1 @@ -58678,11 +58697,11 @@ func Xsqlite3VdbeGetOp(tls *libc.TLS, p uintptr, addr int32) uintptr { /* sqlite return uintptr(0) } -var dummy VdbeOp /* sqlite3.c:81213:17: */ +var dummy VdbeOp /* sqlite3.c:81226:17: */ // Compute a string that describes the P4 parameter for an opcode. // Use zTemp for any required temporary buffer space. -func Xsqlite3VdbeDisplayP4(tls *libc.TLS, db uintptr, pOp uintptr) uintptr { /* sqlite3.c:81414:21: */ +func Xsqlite3VdbeDisplayP4(tls *libc.TLS, db uintptr, pOp uintptr) uintptr { /* sqlite3.c:81427:21: */ bp := tls.Alloc(176) defer tls.Free(176) @@ -58845,7 +58864,7 @@ func Xsqlite3VdbeDisplayP4(tls *libc.TLS, db uintptr, pOp uintptr) uintptr { /* return Xsqlite3StrAccumFinish(tls, bp+144) } -var encnames = [4]uintptr{ts + 4959, ts + 4961, ts + 4963, ts + 4968} /* sqlite3.c:81444:25 */ +var encnames = [4]uintptr{ts + 4959, ts + 4961, ts + 4963, ts + 4968} /* sqlite3.c:81457:25 */ // Declare to the Vdbe that the BTree object at db->aDb[i] is used. // @@ -58853,7 +58872,7 @@ var encnames = [4]uintptr{ts + 4959, ts + 4961, ts + 4963, ts + 4968} /* sqlite3 // attached databases that will be use. A mask of these databases // is maintained in p->btreeMask. The p->lockMask value is the subset of // p->btreeMask of databases that will require a lock. -func Xsqlite3VdbeUsesBtree(tls *libc.TLS, p uintptr, i int32) { /* sqlite3.c:81539:21: */ +func Xsqlite3VdbeUsesBtree(tls *libc.TLS, p uintptr, i int32) { /* sqlite3.c:81552:21: */ *(*YDbMask)(unsafe.Pointer(p + 212)) |= YDbMask(YDbMask(1)) << i if i != 1 && Xsqlite3BtreeSharable(tls, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer((*Vdbe)(unsafe.Pointer(p)).Fdb)).FaDb+uintptr(i)*32)).FpBt) != 0 { @@ -58880,7 +58899,7 @@ func Xsqlite3VdbeUsesBtree(tls *libc.TLS, p uintptr, i int32) { /* sqlite3.c:815 // corresponding to btrees that use shared cache. Then the runtime of // this routine is N*N. But as N is rarely more than 1, this should not // be a problem. -func Xsqlite3VdbeEnter(tls *libc.TLS, p uintptr) { /* sqlite3.c:81570:21: */ +func Xsqlite3VdbeEnter(tls *libc.TLS, p uintptr) { /* sqlite3.c:81583:21: */ var i int32 var db uintptr var aDb uintptr @@ -58899,7 +58918,7 @@ func Xsqlite3VdbeEnter(tls *libc.TLS, p uintptr) { /* sqlite3.c:81570:21: */ } // Unlock all of the btrees previously locked by a call to sqlite3VdbeEnter(). -func vdbeLeave(tls *libc.TLS, p uintptr) { /* sqlite3.c:81591:29: */ +func vdbeLeave(tls *libc.TLS, p uintptr) { /* sqlite3.c:81604:29: */ var i int32 var db uintptr var aDb uintptr @@ -58914,7 +58933,7 @@ func vdbeLeave(tls *libc.TLS, p uintptr) { /* sqlite3.c:81591:29: */ } } -func Xsqlite3VdbeLeave(tls *libc.TLS, p uintptr) { /* sqlite3.c:81605:21: */ +func Xsqlite3VdbeLeave(tls *libc.TLS, p uintptr) { /* sqlite3.c:81618:21: */ if (*Vdbe)(unsafe.Pointer(p)).FlockMask == YDbMask(0) { return } // The common case @@ -58922,7 +58941,7 @@ func Xsqlite3VdbeLeave(tls *libc.TLS, p uintptr) { /* sqlite3.c:81605:21: */ } // Initialize an array of N Mem element. -func initMemArray(tls *libc.TLS, p uintptr, N int32, db uintptr, flags U16) { /* sqlite3.c:81647:13: */ +func initMemArray(tls *libc.TLS, p uintptr, N int32, db uintptr, flags U16) { /* sqlite3.c:81660:13: */ for libc.PostDecInt32(&N, 1) > 0 { (*Mem)(unsafe.Pointer(p)).Fdb = db (*Mem)(unsafe.Pointer(p)).Fflags = flags @@ -58932,7 +58951,7 @@ func initMemArray(tls *libc.TLS, p uintptr, N int32, db uintptr, flags U16) { /* } // Release an array of N Mem elements -func releaseMemArray(tls *libc.TLS, p uintptr, N int32) { /* sqlite3.c:81662:13: */ +func releaseMemArray(tls *libc.TLS, p uintptr, N int32) { /* sqlite3.c:81675:13: */ if p != 0 && N != 0 { var pEnd uintptr = p + uintptr(N)*56 var db uintptr = (*Mem)(unsafe.Pointer(p)).Fdb @@ -58976,7 +58995,7 @@ func releaseMemArray(tls *libc.TLS, p uintptr, N int32) { /* sqlite3.c:81662:13: // // This routine does not delete the Frame right away. It merely adds the // frame to a list of frames to be deleted when the Vdbe halts. -func Xsqlite3VdbeFrameMemDel(tls *libc.TLS, pArg uintptr) { /* sqlite3.c:81724:21: */ +func Xsqlite3VdbeFrameMemDel(tls *libc.TLS, pArg uintptr) { /* sqlite3.c:81737:21: */ var pFrame uintptr = pArg (*VdbeFrame)(unsafe.Pointer(pFrame)).FpParent = (*Vdbe)(unsafe.Pointer((*VdbeFrame)(unsafe.Pointer(pFrame)).Fv)).FpDelFrame @@ -58988,7 +59007,7 @@ func Xsqlite3VdbeFrameMemDel(tls *libc.TLS, pArg uintptr) { /* sqlite3.c:81724:2 // // Return SQLITE_ROW on success. Return SQLITE_DONE if there are no // more opcodes to be displayed. -func Xsqlite3VdbeNextOpcode(tls *libc.TLS, p uintptr, pSub uintptr, eMode int32, piPc uintptr, piAddr uintptr, paOp uintptr) int32 { /* sqlite3.c:81739:20: */ +func Xsqlite3VdbeNextOpcode(tls *libc.TLS, p uintptr, pSub uintptr, eMode int32, piPc uintptr, piAddr uintptr, paOp uintptr) int32 { /* sqlite3.c:81752:20: */ var nRow int32 // Stop when row count reaches this var nSub int32 = 0 // Number of sub-vdbes seen so far var apSub uintptr = uintptr(0) // Array of sub-vdbes @@ -59087,7 +59106,7 @@ func Xsqlite3VdbeNextOpcode(tls *libc.TLS, p uintptr, pSub uintptr, eMode int32, // Delete a VdbeFrame object and its contents. VdbeFrame objects are // allocated by the OP_Program opcode in sqlite3VdbeExec(). -func Xsqlite3VdbeFrameDelete(tls *libc.TLS, p uintptr) { /* sqlite3.c:81851:21: */ +func Xsqlite3VdbeFrameDelete(tls *libc.TLS, p uintptr) { /* sqlite3.c:81864:21: */ var i int32 var aMem uintptr = p + 120 var apCsr uintptr = aMem + uintptr((*VdbeFrame)(unsafe.Pointer(p)).FnChildMem)*56 @@ -59116,7 +59135,7 @@ func Xsqlite3VdbeFrameDelete(tls *libc.TLS, p uintptr) { /* sqlite3.c:81851:21: // // When p->explain==1, first the main program is listed, then each of // the trigger subprograms are listed one by one. -func Xsqlite3VdbeList(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:81883:20: */ +func Xsqlite3VdbeList(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:81896:20: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -59205,7 +59224,7 @@ type ReusableSpace = struct { FpSpace uintptr FnFree Sqlite3_int64 FnNeeded Sqlite3_int64 -} /* sqlite3.c:82028:1 */ +} /* sqlite3.c:82041:1 */ // Try to allocate nByte bytes of 8-byte aligned bulk memory for pBuf // from the ReusableSpace object. Return a pointer to the allocated @@ -59220,7 +59239,7 @@ type ReusableSpace = struct { // This allocator is employed to repurpose unused slots at the end of the // opcode array of prepared state for other memory needs of the prepared // statement. -func allocSpace(tls *libc.TLS, p uintptr, pBuf uintptr, nByte Sqlite3_int64) uintptr { /* sqlite3.c:82048:13: */ +func allocSpace(tls *libc.TLS, p uintptr, pBuf uintptr, nByte Sqlite3_int64) uintptr { /* sqlite3.c:82061:13: */ if pBuf == uintptr(0) { nByte = (nByte + int64(7)) & int64(libc.CplInt32(7)) @@ -59237,7 +59256,7 @@ func allocSpace(tls *libc.TLS, p uintptr, pBuf uintptr, nByte Sqlite3_int64) uin // Rewind the VDBE back to the beginning in preparation for // running it. -func Xsqlite3VdbeRewind(tls *libc.TLS, p uintptr) { /* sqlite3.c:82071:21: */ +func Xsqlite3VdbeRewind(tls *libc.TLS, p uintptr) { /* sqlite3.c:82084:21: */ // There should be at least one opcode. @@ -59270,7 +59289,7 @@ func Xsqlite3VdbeRewind(tls *libc.TLS, p uintptr) { /* sqlite3.c:82071:21: */ // // Use the sqlite3VdbeRewind() procedure to restore a virtual machine back // to its initial state after it has been run. -func Xsqlite3VdbeMakeReady(tls *libc.TLS, p uintptr, pParse uintptr) { /* sqlite3.c:82124:21: */ +func Xsqlite3VdbeMakeReady(tls *libc.TLS, p uintptr, pParse uintptr) { /* sqlite3.c:82137:21: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -59379,11 +59398,11 @@ func Xsqlite3VdbeMakeReady(tls *libc.TLS, p uintptr, pParse uintptr) { /* sqlite var azColName = [12]uintptr{ ts + 4973, ts + 4978, ts + 4985, ts + 4988, ts + 4991, ts + 4994, ts + 4997, ts + 5000, ts + 5008, ts + 5011, ts + 5018, ts + 5026, -} /* sqlite3.c:82172:23 */ +} /* sqlite3.c:82185:23 */ // Close a VDBE cursor and release all the resources that cursor // happens to hold. -func Xsqlite3VdbeFreeCursor(tls *libc.TLS, p uintptr, pCx uintptr) { /* sqlite3.c:82249:21: */ +func Xsqlite3VdbeFreeCursor(tls *libc.TLS, p uintptr, pCx uintptr) { /* sqlite3.c:82262:21: */ if pCx == uintptr(0) { return } @@ -59417,7 +59436,7 @@ func Xsqlite3VdbeFreeCursor(tls *libc.TLS, p uintptr, pCx uintptr) { /* sqlite3. } // Close all cursors in the current frame. -func closeCursorsInFrame(tls *libc.TLS, p uintptr) { /* sqlite3.c:82279:13: */ +func closeCursorsInFrame(tls *libc.TLS, p uintptr) { /* sqlite3.c:82292:13: */ if (*Vdbe)(unsafe.Pointer(p)).FapCsr != 0 { var i int32 for i = 0; i < (*Vdbe)(unsafe.Pointer(p)).FnCursor; i++ { @@ -59433,7 +59452,7 @@ func closeCursorsInFrame(tls *libc.TLS, p uintptr) { /* sqlite3.c:82279:13: */ // Copy the values stored in the VdbeFrame structure to its Vdbe. This // is used, for example, when a trigger sub-program is halted to restore // control to the main program. -func Xsqlite3VdbeFrameRestore(tls *libc.TLS, pFrame uintptr) int32 { /* sqlite3.c:82297:20: */ +func Xsqlite3VdbeFrameRestore(tls *libc.TLS, pFrame uintptr) int32 { /* sqlite3.c:82310:20: */ var v uintptr = (*VdbeFrame)(unsafe.Pointer(pFrame)).Fv closeCursorsInFrame(tls, v) (*Vdbe)(unsafe.Pointer(v)).FaOp = (*VdbeFrame)(unsafe.Pointer(pFrame)).FaOp @@ -59457,7 +59476,7 @@ func Xsqlite3VdbeFrameRestore(tls *libc.TLS, pFrame uintptr) int32 { /* sqlite3. // cell array. This is necessary as the memory cell array may contain // pointers to VdbeFrame objects, which may in turn contain pointers to // open cursors. -func closeAllCursors(tls *libc.TLS, p uintptr) { /* sqlite3.c:82326:13: */ +func closeAllCursors(tls *libc.TLS, p uintptr) { /* sqlite3.c:82339:13: */ if (*Vdbe)(unsafe.Pointer(p)).FpFrame != 0 { var pFrame uintptr for pFrame = (*Vdbe)(unsafe.Pointer(p)).FpFrame; (*VdbeFrame)(unsafe.Pointer(pFrame)).FpParent != 0; pFrame = (*VdbeFrame)(unsafe.Pointer(pFrame)).FpParent { @@ -59488,7 +59507,7 @@ func closeAllCursors(tls *libc.TLS, p uintptr) { /* sqlite3.c:82326:13: */ // statement. This is now set at compile time, rather than during // execution of the vdbe program so that sqlite3_column_count() can // be called on an SQL statement before sqlite3_step(). -func Xsqlite3VdbeSetNumCols(tls *libc.TLS, p uintptr, nResColumn int32) { /* sqlite3.c:82356:21: */ +func Xsqlite3VdbeSetNumCols(tls *libc.TLS, p uintptr, nResColumn int32) { /* sqlite3.c:82369:21: */ var n int32 var db uintptr = (*Vdbe)(unsafe.Pointer(p)).Fdb @@ -59513,7 +59532,7 @@ func Xsqlite3VdbeSetNumCols(tls *libc.TLS, p uintptr, nResColumn int32) { /* sql // The final parameter, xDel, must be one of SQLITE_DYNAMIC, SQLITE_STATIC // 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 Xsqlite3VdbeSetColName(tls *libc.TLS, p uintptr, idx int32, var1 int32, zName uintptr, xDel uintptr) int32 { /* sqlite3.c:82381:20: */ +func Xsqlite3VdbeSetColName(tls *libc.TLS, p uintptr, idx int32, var1 int32, zName uintptr, xDel uintptr) int32 { /* sqlite3.c:82394:20: */ var rc int32 var pColName uintptr @@ -59532,7 +59551,7 @@ func Xsqlite3VdbeSetColName(tls *libc.TLS, p uintptr, idx int32, var1 int32, zNa // db. If a transaction is active, commit it. If there is a // write-transaction spanning more than one database file, this routine // takes care of the super-journal trickery. -func vdbeCommit(tls *libc.TLS, db uintptr, p uintptr) int32 { /* sqlite3.c:82409:12: */ +func vdbeCommit(tls *libc.TLS, db uintptr, p uintptr) int32 { /* sqlite3.c:82422:12: */ bp := tls.Alloc(72) defer tls.Free(72) @@ -59760,7 +59779,7 @@ var aMJNeeded = [6]U8{ /* TRUNCATE */ U8(1), /* MEMORY */ U8(0), /* WAL */ U8(0), -} /* sqlite3.c:82444:23 */ +} /* sqlite3.c:82457:23 */ // This routine checks that the sqlite3.nVdbeActive count variable // matches the number of vdbe's in the list sqlite3.pVdbe that are @@ -59778,7 +59797,7 @@ var aMJNeeded = [6]U8{ // // If an IO error occurs, an SQLITE_IOERR_XXX error code is returned. // Otherwise SQLITE_OK. -func vdbeCloseStatement(tls *libc.TLS, p uintptr, eOp int32) int32 { /* sqlite3.c:82705:28: */ +func vdbeCloseStatement(tls *libc.TLS, p uintptr, eOp int32) int32 { /* sqlite3.c:82718:28: */ var db uintptr = (*Vdbe)(unsafe.Pointer(p)).Fdb var rc int32 = SQLITE_OK var i int32 @@ -59821,7 +59840,7 @@ func vdbeCloseStatement(tls *libc.TLS, p uintptr, eOp int32) int32 { /* sqlite3. return rc } -func Xsqlite3VdbeCloseStatement(tls *libc.TLS, p uintptr, eOp int32) int32 { /* sqlite3.c:82751:20: */ +func Xsqlite3VdbeCloseStatement(tls *libc.TLS, p uintptr, eOp int32) int32 { /* sqlite3.c:82764:20: */ if (*Sqlite3)(unsafe.Pointer((*Vdbe)(unsafe.Pointer(p)).Fdb)).FnStatement != 0 && (*Vdbe)(unsafe.Pointer(p)).FiStatement != 0 { return vdbeCloseStatement(tls, p, eOp) } @@ -59836,7 +59855,7 @@ func Xsqlite3VdbeCloseStatement(tls *libc.TLS, p uintptr, eOp int32) int32 { /* // If there are outstanding FK violations and this function returns // SQLITE_ERROR, set the result of the VM to SQLITE_CONSTRAINT_FOREIGNKEY // and write an error message to it. Then return SQLITE_ERROR. -func Xsqlite3VdbeCheckFk(tls *libc.TLS, p uintptr, deferred int32) int32 { /* sqlite3.c:82770:20: */ +func Xsqlite3VdbeCheckFk(tls *libc.TLS, p uintptr, deferred int32) int32 { /* sqlite3.c:82783:20: */ var db uintptr = (*Vdbe)(unsafe.Pointer(p)).Fdb if deferred != 0 && (*Sqlite3)(unsafe.Pointer(db)).FnDeferredCons+(*Sqlite3)(unsafe.Pointer(db)).FnDeferredImmCons > int64(0) || !(deferred != 0) && (*Vdbe)(unsafe.Pointer(p)).FnFkConstraint > int64(0) { @@ -59859,7 +59878,7 @@ func Xsqlite3VdbeCheckFk(tls *libc.TLS, p uintptr, deferred int32) int32 { /* sq // Return an error code. If the commit could not complete because of // lock contention, return SQLITE_BUSY. If SQLITE_BUSY is returned, it // means the close did not happen and needs to be repeated. -func Xsqlite3VdbeHalt(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:82797:20: */ +func Xsqlite3VdbeHalt(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:82810:20: */ var rc int32 // Used to store transient return codes var db uintptr = (*Vdbe)(unsafe.Pointer(p)).Fdb @@ -60063,7 +60082,7 @@ func Xsqlite3VdbeHalt(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:82797:20: * // Each VDBE holds the result of the most recent sqlite3_step() call // in p->rc. This routine sets that result back to SQLITE_OK. -func Xsqlite3VdbeResetStepResult(tls *libc.TLS, p uintptr) { /* sqlite3.c:83007:21: */ +func Xsqlite3VdbeResetStepResult(tls *libc.TLS, p uintptr) { /* sqlite3.c:83020:21: */ (*Vdbe)(unsafe.Pointer(p)).Frc = SQLITE_OK } @@ -60073,7 +60092,7 @@ func Xsqlite3VdbeResetStepResult(tls *libc.TLS, p uintptr) { /* sqlite3.c:83007: // // This function does not clear the VDBE error code or message, just // copies them to the database handle. -func Xsqlite3VdbeTransferError(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:83019:20: */ +func Xsqlite3VdbeTransferError(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:83032:20: */ var db uintptr = (*Vdbe)(unsafe.Pointer(p)).Fdb var rc int32 = (*Vdbe)(unsafe.Pointer(p)).Frc if (*Vdbe)(unsafe.Pointer(p)).FzErrMsg != 0 { @@ -60102,7 +60121,7 @@ func Xsqlite3VdbeTransferError(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:83 // To look at it another way, this routine resets the state of the // virtual machine from VDBE_MAGIC_RUN or VDBE_MAGIC_HALT back to // VDBE_MAGIC_INIT. -func Xsqlite3VdbeReset(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:83069:20: */ +func Xsqlite3VdbeReset(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:83082:20: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -60154,7 +60173,7 @@ func Xsqlite3VdbeReset(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:83069:20: // Clean up and delete a VDBE after execution. Return an integer which is // the result code. Write any error message text into *pzErrMsg. -func Xsqlite3VdbeFinalize(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:83166:20: */ +func Xsqlite3VdbeFinalize(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:83179:20: */ var rc int32 = SQLITE_OK if (*Vdbe)(unsafe.Pointer(p)).FiVdbeMagic == U32(VDBE_MAGIC_RUN) || (*Vdbe)(unsafe.Pointer(p)).FiVdbeMagic == U32(VDBE_MAGIC_HALT) { rc = Xsqlite3VdbeReset(tls, p) @@ -60178,7 +60197,7 @@ func Xsqlite3VdbeFinalize(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:83166:2 // // * the corresponding bit in argument mask is clear (where the first // function parameter corresponds to bit 0 etc.). -func Xsqlite3VdbeDeleteAuxData(tls *libc.TLS, db uintptr, pp uintptr, iOp int32, mask int32) { /* sqlite3.c:83192:21: */ +func Xsqlite3VdbeDeleteAuxData(tls *libc.TLS, db uintptr, pp uintptr, iOp int32, mask int32) { /* sqlite3.c:83205:21: */ for *(*uintptr)(unsafe.Pointer(pp)) != 0 { var pAux uintptr = *(*uintptr)(unsafe.Pointer(pp)) if iOp < 0 || @@ -60203,7 +60222,7 @@ func Xsqlite3VdbeDeleteAuxData(tls *libc.TLS, db uintptr, pp uintptr, iOp int32, // The difference between this function and sqlite3VdbeDelete() is that // VdbeDelete() also unlinks the Vdbe from the list of VMs associated with // the database connection and frees the object itself. -func Xsqlite3VdbeClearObject(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:83220:21: */ +func Xsqlite3VdbeClearObject(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:83233:21: */ var pSub uintptr var pNext uintptr @@ -60224,7 +60243,7 @@ func Xsqlite3VdbeClearObject(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3. } // Delete an entire VDBE. -func Xsqlite3VdbeDelete(tls *libc.TLS, p uintptr) { /* sqlite3.c:83261:21: */ +func Xsqlite3VdbeDelete(tls *libc.TLS, p uintptr) { /* sqlite3.c:83274:21: */ var db uintptr db = (*Vdbe)(unsafe.Pointer(p)).Fdb @@ -60247,7 +60266,7 @@ func Xsqlite3VdbeDelete(tls *libc.TLS, p uintptr) { /* sqlite3.c:83261:21: */ // The cursor "p" has a pending seek operation that has not yet been // carried out. Seek the cursor now. If an error occurs, return // the appropriate error code. -func Xsqlite3VdbeFinishMoveto(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:83287:36: */ +func Xsqlite3VdbeFinishMoveto(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:83300:36: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -60260,7 +60279,7 @@ func Xsqlite3VdbeFinishMoveto(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:832 return rc } if *(*int32)(unsafe.Pointer(bp)) != 0 { - return Xsqlite3CorruptError(tls, 83297) + return Xsqlite3CorruptError(tls, 83310) } (*VdbeCursor)(unsafe.Pointer(p)).FdeferredMoveto = U8(0) (*VdbeCursor)(unsafe.Pointer(p)).FcacheStatus = U32(CACHE_STALE) @@ -60272,7 +60291,7 @@ func Xsqlite3VdbeFinishMoveto(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:832 // rebalanced. Whatever the cause, try to restore "p" to the place it // is supposed to be pointing. If the row was deleted out from under the // cursor, set the cursor to point to a NULL row. -func handleMovedCursor(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:83313:28: */ +func handleMovedCursor(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:83326:28: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -60290,7 +60309,7 @@ func handleMovedCursor(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:83313:28: // Check to ensure that the cursor is valid. Restore the cursor // if need be. Return any I/O error from the restore operation. -func Xsqlite3VdbeCursorRestore(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:83328:20: */ +func Xsqlite3VdbeCursorRestore(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:83341:20: */ if Xsqlite3BtreeCursorHasMoved(tls, *(*uintptr)(unsafe.Pointer(p + 48))) != 0 { return handleMovedCursor(tls, p) @@ -60309,7 +60328,7 @@ func Xsqlite3VdbeCursorRestore(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:83 // // If the cursor is already pointing to the correct row and that row has // not been deleted out from under the cursor, then this routine is a no-op. -func Xsqlite3VdbeCursorMoveto(tls *libc.TLS, pp uintptr, piCol uintptr) int32 { /* sqlite3.c:83349:20: */ +func Xsqlite3VdbeCursorMoveto(tls *libc.TLS, pp uintptr, piCol uintptr) int32 { /* sqlite3.c:83362:20: */ var p uintptr = *(*uintptr)(unsafe.Pointer(pp)) if (*VdbeCursor)(unsafe.Pointer(p)).FdeferredMoveto != 0 { @@ -60384,10 +60403,10 @@ var sqlite3SmallTypeSizes = [128]U8{ /* 100 */ U8(44), U8(44), U8(45), U8(45), U8(46), U8(46), U8(47), U8(47), U8(48), U8(48), /* 110 */ U8(49), U8(49), U8(50), U8(50), U8(51), U8(51), U8(52), U8(52), U8(53), U8(53), /* 120 */ U8(54), U8(54), U8(55), U8(55), U8(56), U8(56), U8(57), U8(57), -} /* sqlite3.c:83486:17 */ +} /* sqlite3.c:83499:17 */ // Return the length of the data corresponding to the supplied serial-type. -func Xsqlite3VdbeSerialTypeLen(tls *libc.TLS, serial_type U32) U32 { /* sqlite3.c:83506:20: */ +func Xsqlite3VdbeSerialTypeLen(tls *libc.TLS, serial_type U32) U32 { /* sqlite3.c:83519:20: */ if serial_type >= U32(128) { return (serial_type - U32(12)) / U32(2) } else { @@ -60397,7 +60416,7 @@ func Xsqlite3VdbeSerialTypeLen(tls *libc.TLS, serial_type U32) U32 { /* sqlite3. return U32(0) } -func Xsqlite3VdbeOneByteSerialTypeLen(tls *libc.TLS, serial_type U8) U8 { /* sqlite3.c:83515:19: */ +func Xsqlite3VdbeOneByteSerialTypeLen(tls *libc.TLS, serial_type U8) U8 { /* sqlite3.c:83528:19: */ return sqlite3SmallTypeSizes[serial_type] } @@ -60446,7 +60465,7 @@ func Xsqlite3VdbeOneByteSerialTypeLen(tls *libc.TLS, serial_type U8) U8 { /* sql // Return the number of bytes actually written into buf[]. The number // of bytes in the zero-filled tail is included in the return value only // if those bytes were zeroed in buf[]. -func Xsqlite3VdbeSerialPut(tls *libc.TLS, buf uintptr, pMem uintptr, serial_type U32) U32 { /* sqlite3.c:83586:20: */ +func Xsqlite3VdbeSerialPut(tls *libc.TLS, buf uintptr, pMem uintptr, serial_type U32) U32 { /* sqlite3.c:83599:20: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -60497,7 +60516,7 @@ func Xsqlite3VdbeSerialPut(tls *libc.TLS, buf uintptr, pMem uintptr, serial_type // The few cases that require local variables are broken out into a separate // routine so that in most cases the overhead of moving the stack pointer // is avoided. -func serialGet(tls *libc.TLS, buf uintptr, serial_type U32, pMem uintptr) { /* sqlite3.c:83640:13: */ +func serialGet(tls *libc.TLS, buf uintptr, serial_type U32, pMem uintptr) { /* sqlite3.c:83653:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -60524,7 +60543,7 @@ func serialGet(tls *libc.TLS, buf uintptr, serial_type U32, pMem uintptr) { /* s } } -func Xsqlite3VdbeSerialGet(tls *libc.TLS, buf uintptr, serial_type U32, pMem uintptr) { /* sqlite3.c:83675:21: */ +func Xsqlite3VdbeSerialGet(tls *libc.TLS, buf uintptr, serial_type U32, pMem uintptr) { /* sqlite3.c:83688:21: */ switch serial_type { case U32(10): { // Internal use only: NULL with virtual table @@ -60627,7 +60646,7 @@ func Xsqlite3VdbeSerialGet(tls *libc.TLS, buf uintptr, serial_type U32, pMem uin return } -var aFlag = [2]U16{U16(MEM_Blob | MEM_Ephem), U16(MEM_Str | MEM_Ephem)} /* sqlite3.c:83758:24 */ +var aFlag = [2]U16{U16(MEM_Blob | MEM_Ephem), U16(MEM_Str | MEM_Ephem)} /* sqlite3.c:83771:24 */ // This routine is used to allocate sufficient space for an UnpackedRecord // structure large enough to be used with sqlite3VdbeRecordUnpack() if @@ -60641,7 +60660,7 @@ var aFlag = [2]U16{U16(MEM_Blob | MEM_Ephem), U16(MEM_Str | MEM_Ephem)} /* sqlit // before returning. // // If an OOM error occurs, NULL is returned. -func Xsqlite3VdbeAllocUnpackedRecord(tls *libc.TLS, pKeyInfo uintptr) uintptr { /* sqlite3.c:83781:31: */ +func Xsqlite3VdbeAllocUnpackedRecord(tls *libc.TLS, pKeyInfo uintptr) uintptr { /* sqlite3.c:83794:31: */ var p uintptr // Unpacked record to return var nByte int32 // Number of bytes required for *p nByte = int32((uint64(unsafe.Sizeof(UnpackedRecord{}))+uint64(7))&libc.Uint64FromInt32(libc.CplInt32(7)) + uint64(unsafe.Sizeof(Mem{}))*uint64(int32((*KeyInfo)(unsafe.Pointer(pKeyInfo)).FnKeyField)+1)) @@ -60659,7 +60678,7 @@ func Xsqlite3VdbeAllocUnpackedRecord(tls *libc.TLS, pKeyInfo uintptr) uintptr { // Given the nKey-byte encoding of a record in pKey[], populate the // UnpackedRecord structure indicated by the fourth argument with the // contents of the decoded record. -func Xsqlite3VdbeRecordUnpack(tls *libc.TLS, pKeyInfo uintptr, nKey int32, pKey uintptr, p uintptr) { /* sqlite3.c:83801:21: */ +func Xsqlite3VdbeRecordUnpack(tls *libc.TLS, pKeyInfo uintptr, nKey int32, pKey uintptr, p uintptr) { /* sqlite3.c:83814:21: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -60720,7 +60739,7 @@ func Xsqlite3VdbeRecordUnpack(tls *libc.TLS, pKeyInfo uintptr, nKey int32, pKey // using the collation sequence pColl. As usual, return a negative , zero // or positive value if *pMem1 is less than, equal to or greater than // *pMem2, respectively. Similar in spirit to "rc = (*pMem1) - (*pMem2);". -func vdbeCompareMemString(tls *libc.TLS, pMem1 uintptr, pMem2 uintptr, pColl uintptr, prcErr uintptr) int32 { /* sqlite3.c:83998:12: */ +func vdbeCompareMemString(tls *libc.TLS, pMem1 uintptr, pMem2 uintptr, pColl uintptr, prcErr uintptr) int32 { /* sqlite3.c:84011:12: */ bp := tls.Alloc(112) defer tls.Free(112) @@ -60763,7 +60782,7 @@ func vdbeCompareMemString(tls *libc.TLS, pMem1 uintptr, pMem2 uintptr, pColl uin // The input pBlob is guaranteed to be a Blob that is not marked // with MEM_Zero. Return true if it could be a zero-blob. -func isAllZero(tls *libc.TLS, z uintptr, n int32) int32 { /* sqlite3.c:84035:12: */ +func isAllZero(tls *libc.TLS, z uintptr, n int32) int32 { /* sqlite3.c:84048:12: */ var i int32 for i = 0; i < n; i++ { if *(*uint8)(unsafe.Pointer(z + uintptr(i))) != 0 { @@ -60776,7 +60795,7 @@ func isAllZero(tls *libc.TLS, z uintptr, n int32) int32 { /* sqlite3.c:84035:12: // Compare two blobs. Return negative, zero, or positive if the first // is less than, equal to, or greater than the second, respectively. // If one blob is a prefix of the other, then the shorter is the lessor. -func Xsqlite3BlobCompare(tls *libc.TLS, pB1 uintptr, pB2 uintptr) int32 { /* sqlite3.c:84048:36: */ +func Xsqlite3BlobCompare(tls *libc.TLS, pB1 uintptr, pB2 uintptr) int32 { /* sqlite3.c:84061:36: */ var c int32 var n1 int32 = (*Mem)(unsafe.Pointer(pB1)).Fn var n2 int32 = (*Mem)(unsafe.Pointer(pB2)).Fn @@ -60816,7 +60835,7 @@ func Xsqlite3BlobCompare(tls *libc.TLS, pB1 uintptr, pB2 uintptr) int32 { /* sql // Do a comparison between a 64-bit signed integer and a 64-bit floating-point // number. Return negative, zero, or positive if the first (i64) is less than, // equal to, or greater than the second (double). -func Xsqlite3IntFloatCompare(tls *libc.TLS, i I64, r float64) int32 { /* sqlite3.c:84081:20: */ +func Xsqlite3IntFloatCompare(tls *libc.TLS, i I64, r float64) int32 { /* sqlite3.c:84094:20: */ if uint64(unsafe.Sizeof(float64(0))) > uint64(8) { var x float64 = float64(i) @@ -60862,7 +60881,7 @@ func Xsqlite3IntFloatCompare(tls *libc.TLS, i I64, r float64) int32 { /* sqlite3 // sequence pColl and finally blob's ordered by memcmp(). // // Two NULL values are considered equal by this function. -func Xsqlite3MemCompare(tls *libc.TLS, pMem1 uintptr, pMem2 uintptr, pColl uintptr) int32 { /* sqlite3.c:84114:20: */ +func Xsqlite3MemCompare(tls *libc.TLS, pMem1 uintptr, pMem2 uintptr, pColl uintptr) int32 { /* sqlite3.c:84127:20: */ var f1 int32 var f2 int32 var combined_flags int32 @@ -60956,7 +60975,7 @@ func Xsqlite3MemCompare(tls *libc.TLS, pMem1 uintptr, pMem2 uintptr, pColl uintp // except 7. The second points to a buffer containing an integer value // serialized according to serial_type. This function deserializes // and returns the value. -func vdbeRecordDecodeInt(tls *libc.TLS, serial_type U32, aKey uintptr) I64 { /* sqlite3.c:84213:12: */ +func vdbeRecordDecodeInt(tls *libc.TLS, serial_type U32, aKey uintptr) I64 { /* sqlite3.c:84226:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -61019,7 +61038,7 @@ func vdbeRecordDecodeInt(tls *libc.TLS, serial_type U32, aKey uintptr) I64 { /* // SQLITE_CORRUPT and return 0. If an OOM error is encountered, // pPKey2->errCode is set to SQLITE_NOMEM and, if it is not NULL, the // malloc-failed flag set on database handle (pPKey2->pKeyInfo->db). -func Xsqlite3VdbeRecordCompareWithSkip(tls *libc.TLS, nKey1 int32, pKey1 uintptr, pPKey2 uintptr, bSkip int32) int32 { /* sqlite3.c:84268:20: */ +func Xsqlite3VdbeRecordCompareWithSkip(tls *libc.TLS, nKey1 int32, pKey1 uintptr, pPKey2 uintptr, bSkip int32) int32 { /* sqlite3.c:84281:20: */ bp := tls.Alloc(68) defer tls.Free(68) @@ -61061,7 +61080,7 @@ func Xsqlite3VdbeRecordCompareWithSkip(tls *libc.TLS, nKey1 int32, pKey1 uintptr i = 0 } if d1 > uint32(nKey1) { - (*UnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = U8(Xsqlite3CorruptError(tls, 84299)) + (*UnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = U8(Xsqlite3CorruptError(tls, 84312)) return 0 // Corruption } @@ -61126,7 +61145,7 @@ func Xsqlite3VdbeRecordCompareWithSkip(tls *libc.TLS, nKey1 int32, pKey1 uintptr if d1+U32((*Mem)(unsafe.Pointer(bp+8)).Fn) > uint32(nKey1) || int32((*KeyInfo)(unsafe.Pointer(libc.AssignUintptr(&pKeyInfo, (*UnpackedRecord)(unsafe.Pointer(pPKey2)).FpKeyInfo))).FnAllField) <= i { - (*UnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = U8(Xsqlite3CorruptError(tls, 84376)) + (*UnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = U8(Xsqlite3CorruptError(tls, 84389)) return 0 // Corruption } else if *(*uintptr)(unsafe.Pointer(pKeyInfo + 32 + uintptr(i)*8)) != 0 { (*Mem)(unsafe.Pointer(bp + 8 /* &mem1 */)).Fenc = (*KeyInfo)(unsafe.Pointer(pKeyInfo)).Fenc @@ -61161,7 +61180,7 @@ func Xsqlite3VdbeRecordCompareWithSkip(tls *libc.TLS, nKey1 int32, pKey1 uintptr var nStr int32 = int32((*(*U32)(unsafe.Pointer(bp + 64)) - U32(12)) / U32(2)) if d1+U32(nStr) > uint32(nKey1) { - (*UnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = U8(Xsqlite3CorruptError(tls, 84406)) + (*UnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = U8(Xsqlite3CorruptError(tls, 84419)) return 0 // Corruption } else if int32((*Mem)(unsafe.Pointer(pRhs)).Fflags)&MEM_Zero != 0 { if !(isAllZero(tls, aKey1+uintptr(d1), nStr) != 0) { @@ -61222,7 +61241,7 @@ func Xsqlite3VdbeRecordCompareWithSkip(tls *libc.TLS, nKey1 int32, pKey1 uintptr return int32((*UnpackedRecord)(unsafe.Pointer(pPKey2)).Fdefault_rc) } -func Xsqlite3VdbeRecordCompare(tls *libc.TLS, nKey1 int32, pKey1 uintptr, pPKey2 uintptr) int32 { /* sqlite3.c:84465:20: */ +func Xsqlite3VdbeRecordCompare(tls *libc.TLS, nKey1 int32, pKey1 uintptr, pPKey2 uintptr) int32 { /* sqlite3.c:84478:20: */ return Xsqlite3VdbeRecordCompareWithSkip(tls, nKey1, pKey1, pPKey2, 0) } @@ -61233,7 +61252,7 @@ func Xsqlite3VdbeRecordCompare(tls *libc.TLS, nKey1 int32, pKey1 uintptr, pPKey2 // // To avoid concerns about buffer overreads, this routine is only used // on schemas where the maximum valid header size is 63 bytes or less. -func vdbeRecordCompareInt(tls *libc.TLS, nKey1 int32, pKey1 uintptr, pPKey2 uintptr) int32 { /* sqlite3.c:84482:12: */ +func vdbeRecordCompareInt(tls *libc.TLS, nKey1 int32, pKey1 uintptr, pPKey2 uintptr) int32 { /* sqlite3.c:84495:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -61338,7 +61357,7 @@ func vdbeRecordCompareInt(tls *libc.TLS, nKey1 int32, pKey1 uintptr, pPKey2 uint // that (a) the first field of pPKey2 is a string, that (b) the first field // uses the collation sequence BINARY and (c) that the size-of-header varint // at the start of (pKey1/nKey1) fits in a single byte. -func vdbeRecordCompareString(tls *libc.TLS, nKey1 int32, pKey1 uintptr, pPKey2 uintptr) int32 { /* sqlite3.c:84576:12: */ +func vdbeRecordCompareString(tls *libc.TLS, nKey1 int32, pKey1 uintptr, pPKey2 uintptr) int32 { /* sqlite3.c:84589:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -61362,7 +61381,7 @@ func vdbeRecordCompareString(tls *libc.TLS, nKey1 int32, pKey1 uintptr, pPKey2 u nStr = (*(*int32)(unsafe.Pointer(bp)) - 12) / 2 if szHdr+nStr > nKey1 { - (*UnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = U8(Xsqlite3CorruptError(tls, 84601)) + (*UnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = U8(Xsqlite3CorruptError(tls, 84614)) return 0 // Corruption } nCmp = func() int32 { @@ -61400,7 +61419,7 @@ func vdbeRecordCompareString(tls *libc.TLS, nKey1 int32, pKey1 uintptr, pPKey2 u // Return a pointer to an sqlite3VdbeRecordCompare() compatible function // suitable for comparing serialized records to the unpacked record passed // as the only argument. -func Xsqlite3VdbeFindCompare(tls *libc.TLS, p uintptr) RecordCompare { /* sqlite3.c:84640:30: */ +func Xsqlite3VdbeFindCompare(tls *libc.TLS, p uintptr) RecordCompare { /* sqlite3.c:84653:30: */ // varintRecordCompareInt() and varintRecordCompareString() both assume // that the size-of-header varint that occurs at the start of each record // fits in a single byte (i.e. is 127 or less). varintRecordCompareInt() @@ -61454,7 +61473,7 @@ func Xsqlite3VdbeFindCompare(tls *libc.TLS, p uintptr) RecordCompare { /* sqlite // // pCur might be pointing to text obtained from a corrupt database file. // So the content cannot be trusted. Do appropriate checks on the content. -func Xsqlite3VdbeIdxRowid(tls *libc.TLS, db uintptr, pCur uintptr, rowid uintptr) int32 { /* sqlite3.c:84691:20: */ +func Xsqlite3VdbeIdxRowid(tls *libc.TLS, db uintptr, pCur uintptr, rowid uintptr) int32 { /* sqlite3.c:84704:20: */ bp := tls.Alloc(120) defer tls.Free(120) @@ -61539,7 +61558,7 @@ __6: idx_rowid_corruption: ; Xsqlite3VdbeMemRelease(tls, bp) - return Xsqlite3CorruptError(tls, 84756) + return Xsqlite3CorruptError(tls, 84769) } // Compare the key of the index entry that cursor pC is pointing to against @@ -61551,7 +61570,7 @@ idx_rowid_corruption: // omits the rowid at the end. The rowid at the end of the index entry // is ignored as well. Hence, this routine only compares the prefixes // of the keys prior to the final rowid, not the entire key. -func Xsqlite3VdbeIdxKeyCompare(tls *libc.TLS, db uintptr, pC uintptr, pUnpacked uintptr, res uintptr) int32 { /* sqlite3.c:84770:20: */ +func Xsqlite3VdbeIdxKeyCompare(tls *libc.TLS, db uintptr, pC uintptr, pUnpacked uintptr, res uintptr) int32 { /* sqlite3.c:84783:20: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -61567,7 +61586,7 @@ func Xsqlite3VdbeIdxKeyCompare(tls *libc.TLS, db uintptr, pC uintptr, pUnpacked // that btreeParseCellPtr() and sqlite3GetVarint32() are implemented if nCellKey <= int64(0) || nCellKey > int64(0x7fffffff) { *(*int32)(unsafe.Pointer(res)) = 0 - return Xsqlite3CorruptError(tls, 84789) + return Xsqlite3CorruptError(tls, 84802) } Xsqlite3VdbeMemInit(tls, bp, db, uint16(0)) rc = Xsqlite3VdbeMemFromBtreeZeroOffset(tls, pCur, U32(nCellKey), bp) @@ -61581,7 +61600,7 @@ func Xsqlite3VdbeIdxKeyCompare(tls *libc.TLS, db uintptr, pC uintptr, pUnpacked // This routine sets the value to be returned by subsequent calls to // sqlite3_changes() on the database handle 'db'. -func Xsqlite3VdbeSetChanges(tls *libc.TLS, db uintptr, nChange I64) { /* sqlite3.c:84805:21: */ +func Xsqlite3VdbeSetChanges(tls *libc.TLS, db uintptr, nChange I64) { /* sqlite3.c:84818:21: */ (*Sqlite3)(unsafe.Pointer(db)).FnChange = nChange *(*I64)(unsafe.Pointer(db + 128)) += nChange @@ -61589,7 +61608,7 @@ func Xsqlite3VdbeSetChanges(tls *libc.TLS, db uintptr, nChange I64) { /* sqlite3 // Set a flag in the vdbe to update the change counter when it is finalised // or reset. -func Xsqlite3VdbeCountChanges(tls *libc.TLS, v uintptr) { /* sqlite3.c:84815:21: */ +func Xsqlite3VdbeCountChanges(tls *libc.TLS, v uintptr) { /* sqlite3.c:84828:21: */ libc.SetBitFieldPtr16Uint32(v+208, Bft(1), 4, 0x10) } @@ -61609,7 +61628,7 @@ func Xsqlite3VdbeCountChanges(tls *libc.TLS, v uintptr) { /* sqlite3.c:84815:21: // Internally, this function just sets the Vdbe.expired flag on all // prepared statements. The flag is set to 1 for an immediate expiration // and set to 2 for an advisory expiration. -func Xsqlite3ExpirePreparedStatements(tls *libc.TLS, db uintptr, iCode int32) { /* sqlite3.c:84837:21: */ +func Xsqlite3ExpirePreparedStatements(tls *libc.TLS, db uintptr, iCode int32) { /* sqlite3.c:84850:21: */ var p uintptr for p = (*Sqlite3)(unsafe.Pointer(db)).FpVdbe; p != 0; p = (*Vdbe)(unsafe.Pointer(p)).FpNext { libc.SetBitFieldPtr16Uint32(p+208, Bft(iCode+1), 0, 0x3) @@ -61617,12 +61636,12 @@ func Xsqlite3ExpirePreparedStatements(tls *libc.TLS, db uintptr, iCode int32) { } // Return the database associated with the Vdbe. -func Xsqlite3VdbeDb(tls *libc.TLS, v uintptr) uintptr { /* sqlite3.c:84847:24: */ +func Xsqlite3VdbeDb(tls *libc.TLS, v uintptr) uintptr { /* sqlite3.c:84860:24: */ return (*Vdbe)(unsafe.Pointer(v)).Fdb } // Return the SQLITE_PREPARE flags for a Vdbe. -func Xsqlite3VdbePrepareFlags(tls *libc.TLS, v uintptr) U8 { /* sqlite3.c:84854:19: */ +func Xsqlite3VdbePrepareFlags(tls *libc.TLS, v uintptr) U8 { /* sqlite3.c:84867:19: */ return (*Vdbe)(unsafe.Pointer(v)).FprepFlags } @@ -61632,7 +61651,7 @@ func Xsqlite3VdbePrepareFlags(tls *libc.TLS, v uintptr) U8 { /* sqlite3.c:84854: // constants) to the value before returning it. // // The returned value must be freed by the caller using sqlite3ValueFree(). -func Xsqlite3VdbeGetBoundValue(tls *libc.TLS, v uintptr, iVar int32, aff U8) uintptr { /* sqlite3.c:84866:30: */ +func Xsqlite3VdbeGetBoundValue(tls *libc.TLS, v uintptr, iVar int32, aff U8) uintptr { /* sqlite3.c:84879:30: */ if v != 0 { var pMem uintptr = (*Vdbe)(unsafe.Pointer(v)).FaVar + uintptr(iVar-1)*56 @@ -61652,7 +61671,7 @@ func Xsqlite3VdbeGetBoundValue(tls *libc.TLS, v uintptr, iVar int32, aff U8) uin // Configure SQL variable iVar so that binding a new value to it signals // to sqlite3_reoptimize() that re-preparing the statement may result // in a better query plan. -func Xsqlite3VdbeSetVarmask(tls *libc.TLS, v uintptr, iVar int32) { /* sqlite3.c:84888:21: */ +func Xsqlite3VdbeSetVarmask(tls *libc.TLS, v uintptr, iVar int32) { /* sqlite3.c:84901:21: */ if iVar >= 32 { *(*U32)(unsafe.Pointer(v + 292)) |= 0x80000000 @@ -61668,7 +61687,7 @@ func Xsqlite3VdbeSetVarmask(tls *libc.TLS, v uintptr, iVar int32) { /* sqlite3.c // throw an error if it is given inputs that would make it non-deterministic. // This routine is invoked by date/time functions that use non-deterministic // features such as 'now'. -func Xsqlite3NotPureFunc(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:84907:20: */ +func Xsqlite3NotPureFunc(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:84920:20: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -61699,7 +61718,7 @@ func Xsqlite3NotPureFunc(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:84907 // Transfer error message text from an sqlite3_vtab.zErrMsg (text stored // in memory obtained from sqlite3_malloc) into a Vdbe.zErrMsg (text stored // in memory obtained from sqlite3DbMalloc). -func Xsqlite3VtabImportErrmsg(tls *libc.TLS, p uintptr, pVtab uintptr) { /* sqlite3.c:84938:21: */ +func Xsqlite3VtabImportErrmsg(tls *libc.TLS, p uintptr, pVtab uintptr) { /* sqlite3.c:84951:21: */ if (*Sqlite3_vtab)(unsafe.Pointer(pVtab)).FzErrMsg != 0 { var db uintptr = (*Vdbe)(unsafe.Pointer(p)).Fdb Xsqlite3DbFree(tls, db, (*Vdbe)(unsafe.Pointer(p)).FzErrMsg) @@ -61715,7 +61734,7 @@ func Xsqlite3VtabImportErrmsg(tls *libc.TLS, p uintptr, pVtab uintptr) { /* sqli // // This function is used to free UnpackedRecord structures allocated by // the vdbeUnpackRecord() function found in vdbeapi.c. -func vdbeFreeUnpacked(tls *libc.TLS, db uintptr, nField int32, p uintptr) { /* sqlite3.c:84959:13: */ +func vdbeFreeUnpacked(tls *libc.TLS, db uintptr, nField int32, p uintptr) { /* sqlite3.c:84972:13: */ if p != 0 { var i int32 for i = 0; i < nField; i++ { @@ -61732,7 +61751,7 @@ func vdbeFreeUnpacked(tls *libc.TLS, db uintptr, nField int32, p uintptr) { /* s // then cursor passed as the second argument should point to the row about // to be update or deleted. If the application calls sqlite3_preupdate_old(), // the required value will be read from the row the cursor points to. -func Xsqlite3VdbePreUpdateHook(tls *libc.TLS, v uintptr, pCsr uintptr, op int32, zDb uintptr, pTab uintptr, iKey1 I64, iReg int32, iBlobWrite int32) { /* sqlite3.c:84978:21: */ +func Xsqlite3VdbePreUpdateHook(tls *libc.TLS, v uintptr, pCsr uintptr, op int32, zDb uintptr, pTab uintptr, iKey1 I64, iReg int32, iBlobWrite int32) { /* sqlite3.c:84991:21: */ bp := tls.Alloc(136) defer tls.Free(136) @@ -61784,7 +61803,7 @@ func Xsqlite3VdbePreUpdateHook(tls *libc.TLS, v uintptr, pCsr uintptr, op int32, } } -var fakeSortOrder U8 = U8(0) /* sqlite3.c:84992:19 */ +var fakeSortOrder U8 = U8(0) /* sqlite3.c:85005:19 */ //************* End of vdbeaux.c ******************************************** //************* Begin file vdbeapi.c **************************************** @@ -61810,7 +61829,7 @@ var fakeSortOrder U8 = U8(0) /* sqlite3.c:84992:19 */ // that sqlite3_prepare() generates. For example, if new functions or // collating sequences are registered or if an authorizer function is // added or changed. -func Xsqlite3_expired(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:85071:16: */ +func Xsqlite3_expired(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:85084:16: */ var p uintptr = pStmt return libc.Bool32(p == uintptr(0) || Bft(int32(*(*uint16)(unsafe.Pointer(p + 208))&0x3>>0)) != 0) } @@ -61818,7 +61837,7 @@ func Xsqlite3_expired(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:85071:1 // Check on a Vdbe to make sure it has not been finalized. Log // an error and return true if it has been finalized (or is otherwise // invalid). Return false if it is ok. -func vdbeSafety(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:85082:12: */ +func vdbeSafety(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:85095:12: */ if (*Vdbe)(unsafe.Pointer(p)).Fdb == uintptr(0) { Xsqlite3_log(tls, SQLITE_MISUSE, ts+5200, 0) return 1 @@ -61828,7 +61847,7 @@ func vdbeSafety(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:85082:12: */ return int32(0) } -func vdbeSafetyNotNull(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:85090:12: */ +func vdbeSafetyNotNull(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:85103:12: */ if p == uintptr(0) { Xsqlite3_log(tls, SQLITE_MISUSE, ts+5245, 0) return 1 @@ -61840,7 +61859,7 @@ func vdbeSafetyNotNull(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:85090:12: // Invoke the profile callback. This routine is only called if we already // know that the profile callback is defined and needs to be invoked. -func invokeProfileCallback(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:85104:29: */ +func invokeProfileCallback(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:85117:29: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -61873,7 +61892,7 @@ func invokeProfileCallback(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c: // // This routine sets the error code and string returned by // sqlite3_errcode(), sqlite3_errmsg() and sqlite3_errmsg16(). -func Xsqlite3_finalize(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:85142:16: */ +func Xsqlite3_finalize(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:85155:16: */ var rc int32 if pStmt == uintptr(0) { // IMPLEMENTATION-OF: R-57228-12904 Invoking sqlite3_finalize() on a NULL @@ -61883,7 +61902,7 @@ func Xsqlite3_finalize(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:85142: var v uintptr = pStmt var db uintptr = (*Vdbe)(unsafe.Pointer(v)).Fdb if vdbeSafety(tls, v) != 0 { - return Xsqlite3MisuseError(tls, 85151) + return Xsqlite3MisuseError(tls, 85164) } Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) if (*Vdbe)(unsafe.Pointer(v)).FstartTime > int64(0) { @@ -61903,7 +61922,7 @@ func Xsqlite3_finalize(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:85142: // // This routine sets the error code and string returned by // sqlite3_errcode(), sqlite3_errmsg() and sqlite3_errmsg16(). -func Xsqlite3_reset(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:85169:16: */ +func Xsqlite3_reset(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:85182:16: */ var rc int32 if pStmt == uintptr(0) { rc = SQLITE_OK @@ -61925,7 +61944,7 @@ func Xsqlite3_reset(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:85169:16: } // Set all the parameters in the compiled SQL statement to NULL. -func Xsqlite3_clear_bindings(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:85190:16: */ +func Xsqlite3_clear_bindings(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:85203:16: */ var i int32 var rc int32 = SQLITE_OK var p uintptr = pStmt @@ -61947,7 +61966,7 @@ func Xsqlite3_clear_bindings(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c: // // The following routines extract information from a Mem or sqlite3_value // structure. -func Xsqlite3_value_blob(tls *libc.TLS, pVal uintptr) uintptr { /* sqlite3.c:85215:23: */ +func Xsqlite3_value_blob(tls *libc.TLS, pVal uintptr) uintptr { /* sqlite3.c:85228:23: */ var p uintptr = pVal if int32((*Mem)(unsafe.Pointer(p)).Fflags)&(MEM_Blob|MEM_Str) != 0 { if func() int32 { @@ -61970,27 +61989,27 @@ func Xsqlite3_value_blob(tls *libc.TLS, pVal uintptr) uintptr { /* sqlite3.c:852 return uintptr(0) } -func Xsqlite3_value_bytes(tls *libc.TLS, pVal uintptr) int32 { /* sqlite3.c:85228:16: */ +func Xsqlite3_value_bytes(tls *libc.TLS, pVal uintptr) int32 { /* sqlite3.c:85241:16: */ return Xsqlite3ValueBytes(tls, pVal, uint8(SQLITE_UTF8)) } -func Xsqlite3_value_bytes16(tls *libc.TLS, pVal uintptr) int32 { /* sqlite3.c:85231:16: */ +func Xsqlite3_value_bytes16(tls *libc.TLS, pVal uintptr) int32 { /* sqlite3.c:85244:16: */ return Xsqlite3ValueBytes(tls, pVal, uint8(SQLITE_UTF16LE)) } -func Xsqlite3_value_double(tls *libc.TLS, pVal uintptr) float64 { /* sqlite3.c:85234:19: */ +func Xsqlite3_value_double(tls *libc.TLS, pVal uintptr) float64 { /* sqlite3.c:85247:19: */ return Xsqlite3VdbeRealValue(tls, pVal) } -func Xsqlite3_value_int(tls *libc.TLS, pVal uintptr) int32 { /* sqlite3.c:85237:16: */ +func Xsqlite3_value_int(tls *libc.TLS, pVal uintptr) int32 { /* sqlite3.c:85250:16: */ return int32(Xsqlite3VdbeIntValue(tls, pVal)) } -func Xsqlite3_value_int64(tls *libc.TLS, pVal uintptr) Sqlite_int64 { /* sqlite3.c:85240:25: */ +func Xsqlite3_value_int64(tls *libc.TLS, pVal uintptr) Sqlite_int64 { /* sqlite3.c:85253:25: */ return Xsqlite3VdbeIntValue(tls, pVal) } -func Xsqlite3_value_subtype(tls *libc.TLS, pVal uintptr) uint32 { /* sqlite3.c:85243:25: */ +func Xsqlite3_value_subtype(tls *libc.TLS, pVal uintptr) uint32 { /* sqlite3.c:85256:25: */ var pMem uintptr = pVal return func() uint32 { if int32((*Mem)(unsafe.Pointer(pMem)).Fflags)&MEM_Subtype != 0 { @@ -62000,7 +62019,7 @@ func Xsqlite3_value_subtype(tls *libc.TLS, pVal uintptr) uint32 { /* sqlite3.c:8 }() } -func Xsqlite3_value_pointer(tls *libc.TLS, pVal uintptr, zPType uintptr) uintptr { /* sqlite3.c:85247:17: */ +func Xsqlite3_value_pointer(tls *libc.TLS, pVal uintptr, zPType uintptr) uintptr { /* sqlite3.c:85260:17: */ var p uintptr = pVal if int32((*Mem)(unsafe.Pointer(p)).Fflags)&(MEM_TypeMask|MEM_Term|MEM_Subtype) == MEM_Null|MEM_Term|MEM_Subtype && zPType != uintptr(0) && @@ -62013,26 +62032,26 @@ func Xsqlite3_value_pointer(tls *libc.TLS, pVal uintptr, zPType uintptr) uintptr return uintptr(0) } -func Xsqlite3_value_text(tls *libc.TLS, pVal uintptr) uintptr { /* sqlite3.c:85260:32: */ +func Xsqlite3_value_text(tls *libc.TLS, pVal uintptr) uintptr { /* sqlite3.c:85273:32: */ return Xsqlite3ValueText(tls, pVal, uint8(SQLITE_UTF8)) } -func Xsqlite3_value_text16(tls *libc.TLS, pVal uintptr) uintptr { /* sqlite3.c:85264:23: */ +func Xsqlite3_value_text16(tls *libc.TLS, pVal uintptr) uintptr { /* sqlite3.c:85277:23: */ return Xsqlite3ValueText(tls, pVal, uint8(SQLITE_UTF16LE)) } -func Xsqlite3_value_text16be(tls *libc.TLS, pVal uintptr) uintptr { /* sqlite3.c:85267:23: */ +func Xsqlite3_value_text16be(tls *libc.TLS, pVal uintptr) uintptr { /* sqlite3.c:85280:23: */ return Xsqlite3ValueText(tls, pVal, uint8(SQLITE_UTF16BE)) } -func Xsqlite3_value_text16le(tls *libc.TLS, pVal uintptr) uintptr { /* sqlite3.c:85270:23: */ +func Xsqlite3_value_text16le(tls *libc.TLS, pVal uintptr) uintptr { /* sqlite3.c:85283:23: */ return Xsqlite3ValueText(tls, pVal, uint8(SQLITE_UTF16LE)) } // EVIDENCE-OF: R-12793-43283 Every value in SQLite has one of five // fundamental datatypes: 64-bit signed integer 64-bit IEEE floating // point number string BLOB NULL -func Xsqlite3_value_type(tls *libc.TLS, pVal uintptr) int32 { /* sqlite3.c:85278:16: */ +func Xsqlite3_value_type(tls *libc.TLS, pVal uintptr) int32 { /* sqlite3.c:85291:16: */ return int32(aType[int32((*Sqlite3_value)(unsafe.Pointer(pVal)).Fflags)&MEM_AffMask]) } @@ -62101,20 +62120,20 @@ var aType = [64]U8{ U8(SQLITE_NULL), // 0x3d (not possible) U8(SQLITE_FLOAT), // 0x3e (not possible) U8(SQLITE_NULL), // 0x3f (not possible) -} /* sqlite3.c:85279:19 */ +} /* sqlite3.c:85292:19 */ // Return true if a parameter to xUpdate represents an unchanged column -func Xsqlite3_value_nochange(tls *libc.TLS, pVal uintptr) int32 { /* sqlite3.c:85364:16: */ +func Xsqlite3_value_nochange(tls *libc.TLS, pVal uintptr) int32 { /* sqlite3.c:85377:16: */ return libc.Bool32(int32((*Sqlite3_value)(unsafe.Pointer(pVal)).Fflags)&(MEM_Null|MEM_Zero) == MEM_Null|MEM_Zero) } // Return true if a parameter value originated from an sqlite3_bind() -func Xsqlite3_value_frombind(tls *libc.TLS, pVal uintptr) int32 { /* sqlite3.c:85369:16: */ +func Xsqlite3_value_frombind(tls *libc.TLS, pVal uintptr) int32 { /* sqlite3.c:85382:16: */ return libc.Bool32(int32((*Sqlite3_value)(unsafe.Pointer(pVal)).Fflags)&MEM_FromBind != 0) } // Make a copy of an sqlite3_value object -func Xsqlite3_value_dup(tls *libc.TLS, pOrig uintptr) uintptr { /* sqlite3.c:85375:26: */ +func Xsqlite3_value_dup(tls *libc.TLS, pOrig uintptr) uintptr { /* sqlite3.c:85388:26: */ var pNew uintptr if pOrig == uintptr(0) { return uintptr(0) @@ -62140,7 +62159,7 @@ func Xsqlite3_value_dup(tls *libc.TLS, pOrig uintptr) uintptr { /* sqlite3.c:853 // Destroy an sqlite3_value object previously obtained from // sqlite3_value_dup(). -func Xsqlite3_value_free(tls *libc.TLS, pOld uintptr) { /* sqlite3.c:85398:17: */ +func Xsqlite3_value_free(tls *libc.TLS, pOld uintptr) { /* sqlite3.c:85411:17: */ Xsqlite3ValueFree(tls, pOld) } @@ -62155,7 +62174,7 @@ func Xsqlite3_value_free(tls *libc.TLS, pOld uintptr) { /* sqlite3.c:85398:17: * // // The invokeValueDestructor(P,X) routine invokes destructor function X() // on value P is not going to be used and need to be destroyed. -func setResultStrOrError(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, enc U8, xDel uintptr) { /* sqlite3.c:85414:13: */ +func setResultStrOrError(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, enc U8, xDel uintptr) { /* sqlite3.c:85427:13: */ var rc int32 = Xsqlite3VdbeMemSetStr(tls, (*Sqlite3_context)(unsafe.Pointer(pCtx)).FpOut, z, int64(n), enc, xDel) if rc != 0 { if rc == SQLITE_TOOBIG { @@ -62169,7 +62188,7 @@ func setResultStrOrError(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, enc U8 } } -func invokeValueDestructor(tls *libc.TLS, p uintptr, xDel uintptr, pCtx uintptr) int32 { /* sqlite3.c:85433:12: */ +func invokeValueDestructor(tls *libc.TLS, p uintptr, xDel uintptr, pCtx uintptr) int32 { /* sqlite3.c:85446:12: */ if xDel == uintptr(0) { // noop @@ -62182,12 +62201,12 @@ func invokeValueDestructor(tls *libc.TLS, p uintptr, xDel uintptr, pCtx uintptr) return SQLITE_TOOBIG } -func Xsqlite3_result_blob(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, xDel uintptr) { /* sqlite3.c:85449:17: */ +func Xsqlite3_result_blob(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, xDel uintptr) { /* sqlite3.c:85462:17: */ setResultStrOrError(tls, pCtx, z, n, uint8(0), xDel) } -func Xsqlite3_result_blob64(tls *libc.TLS, pCtx uintptr, z uintptr, n Sqlite3_uint64, xDel uintptr) { /* sqlite3.c:85459:17: */ +func Xsqlite3_result_blob64(tls *libc.TLS, pCtx uintptr, z uintptr, n Sqlite3_uint64, xDel uintptr) { /* sqlite3.c:85472:17: */ if n > uint64(0x7fffffff) { invokeValueDestructor(tls, z, xDel, pCtx) @@ -62196,39 +62215,39 @@ func Xsqlite3_result_blob64(tls *libc.TLS, pCtx uintptr, z uintptr, n Sqlite3_ui } } -func Xsqlite3_result_double(tls *libc.TLS, pCtx uintptr, rVal float64) { /* sqlite3.c:85473:17: */ +func Xsqlite3_result_double(tls *libc.TLS, pCtx uintptr, rVal float64) { /* sqlite3.c:85486:17: */ Xsqlite3VdbeMemSetDouble(tls, (*Sqlite3_context)(unsafe.Pointer(pCtx)).FpOut, rVal) } -func Xsqlite3_result_error(tls *libc.TLS, pCtx uintptr, z uintptr, n int32) { /* sqlite3.c:85477:17: */ +func Xsqlite3_result_error(tls *libc.TLS, pCtx uintptr, z uintptr, n int32) { /* sqlite3.c:85490:17: */ (*Sqlite3_context)(unsafe.Pointer(pCtx)).FisError = SQLITE_ERROR Xsqlite3VdbeMemSetStr(tls, (*Sqlite3_context)(unsafe.Pointer(pCtx)).FpOut, z, int64(n), uint8(SQLITE_UTF8), libc.UintptrFromInt32(-1)) } -func Xsqlite3_result_error16(tls *libc.TLS, pCtx uintptr, z uintptr, n int32) { /* sqlite3.c:85483:17: */ +func Xsqlite3_result_error16(tls *libc.TLS, pCtx uintptr, z uintptr, n int32) { /* sqlite3.c:85496:17: */ (*Sqlite3_context)(unsafe.Pointer(pCtx)).FisError = SQLITE_ERROR Xsqlite3VdbeMemSetStr(tls, (*Sqlite3_context)(unsafe.Pointer(pCtx)).FpOut, z, int64(n), uint8(SQLITE_UTF16LE), libc.UintptrFromInt32(-1)) } -func Xsqlite3_result_int(tls *libc.TLS, pCtx uintptr, iVal int32) { /* sqlite3.c:85489:17: */ +func Xsqlite3_result_int(tls *libc.TLS, pCtx uintptr, iVal int32) { /* sqlite3.c:85502:17: */ Xsqlite3VdbeMemSetInt64(tls, (*Sqlite3_context)(unsafe.Pointer(pCtx)).FpOut, I64(iVal)) } -func Xsqlite3_result_int64(tls *libc.TLS, pCtx uintptr, iVal I64) { /* sqlite3.c:85493:17: */ +func Xsqlite3_result_int64(tls *libc.TLS, pCtx uintptr, iVal I64) { /* sqlite3.c:85506:17: */ Xsqlite3VdbeMemSetInt64(tls, (*Sqlite3_context)(unsafe.Pointer(pCtx)).FpOut, iVal) } -func Xsqlite3_result_null(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:85497:17: */ +func Xsqlite3_result_null(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:85510:17: */ Xsqlite3VdbeMemSetNull(tls, (*Sqlite3_context)(unsafe.Pointer(pCtx)).FpOut) } -func Xsqlite3_result_pointer(tls *libc.TLS, pCtx uintptr, pPtr uintptr, zPType uintptr, xDestructor uintptr) { /* sqlite3.c:85501:17: */ +func Xsqlite3_result_pointer(tls *libc.TLS, pCtx uintptr, pPtr uintptr, zPType uintptr, xDestructor uintptr) { /* sqlite3.c:85514:17: */ var pOut uintptr = (*Sqlite3_context)(unsafe.Pointer(pCtx)).FpOut Xsqlite3VdbeMemRelease(tls, pOut) @@ -62236,19 +62255,19 @@ func Xsqlite3_result_pointer(tls *libc.TLS, pCtx uintptr, pPtr uintptr, zPType u Xsqlite3VdbeMemSetPointer(tls, pOut, pPtr, zPType, xDestructor) } -func Xsqlite3_result_subtype(tls *libc.TLS, pCtx uintptr, eSubtype uint32) { /* sqlite3.c:85513:17: */ +func Xsqlite3_result_subtype(tls *libc.TLS, pCtx uintptr, eSubtype uint32) { /* sqlite3.c:85526:17: */ var pOut uintptr = (*Sqlite3_context)(unsafe.Pointer(pCtx)).FpOut (*Mem)(unsafe.Pointer(pOut)).FeSubtype = U8(eSubtype & uint32(0xff)) *(*U16)(unsafe.Pointer(pOut + 8)) |= U16(MEM_Subtype) } -func Xsqlite3_result_text(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, xDel uintptr) { /* sqlite3.c:85519:17: */ +func Xsqlite3_result_text(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, xDel uintptr) { /* sqlite3.c:85532:17: */ setResultStrOrError(tls, pCtx, z, n, uint8(SQLITE_UTF8), xDel) } -func Xsqlite3_result_text64(tls *libc.TLS, pCtx uintptr, z uintptr, n Sqlite3_uint64, xDel uintptr, enc uint8) { /* sqlite3.c:85528:17: */ +func Xsqlite3_result_text64(tls *libc.TLS, pCtx uintptr, z uintptr, n Sqlite3_uint64, xDel uintptr, enc uint8) { /* sqlite3.c:85541:17: */ if int32(enc) == SQLITE_UTF16 { enc = uint8(SQLITE_UTF16LE) @@ -62260,32 +62279,32 @@ func Xsqlite3_result_text64(tls *libc.TLS, pCtx uintptr, z uintptr, n Sqlite3_ui } } -func Xsqlite3_result_text16(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, xDel uintptr) { /* sqlite3.c:85545:17: */ +func Xsqlite3_result_text16(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, xDel uintptr) { /* sqlite3.c:85558:17: */ setResultStrOrError(tls, pCtx, z, n, uint8(SQLITE_UTF16LE), xDel) } -func Xsqlite3_result_text16be(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, xDel uintptr) { /* sqlite3.c:85554:17: */ +func Xsqlite3_result_text16be(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, xDel uintptr) { /* sqlite3.c:85567:17: */ setResultStrOrError(tls, pCtx, z, n, uint8(SQLITE_UTF16BE), xDel) } -func Xsqlite3_result_text16le(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, xDel uintptr) { /* sqlite3.c:85563:17: */ +func Xsqlite3_result_text16le(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, xDel uintptr) { /* sqlite3.c:85576:17: */ setResultStrOrError(tls, pCtx, z, n, uint8(SQLITE_UTF16LE), xDel) } -func Xsqlite3_result_value(tls *libc.TLS, pCtx uintptr, pValue uintptr) { /* sqlite3.c:85573:17: */ +func Xsqlite3_result_value(tls *libc.TLS, pCtx uintptr, pValue uintptr) { /* sqlite3.c:85586:17: */ Xsqlite3VdbeMemCopy(tls, (*Sqlite3_context)(unsafe.Pointer(pCtx)).FpOut, pValue) } -func Xsqlite3_result_zeroblob(tls *libc.TLS, pCtx uintptr, n int32) { /* sqlite3.c:85577:17: */ +func Xsqlite3_result_zeroblob(tls *libc.TLS, pCtx uintptr, n int32) { /* sqlite3.c:85590:17: */ Xsqlite3VdbeMemSetZeroBlob(tls, (*Sqlite3_context)(unsafe.Pointer(pCtx)).FpOut, n) } -func Xsqlite3_result_zeroblob64(tls *libc.TLS, pCtx uintptr, n U64) int32 { /* sqlite3.c:85581:16: */ +func Xsqlite3_result_zeroblob64(tls *libc.TLS, pCtx uintptr, n U64) int32 { /* sqlite3.c:85594:16: */ var pOut uintptr = (*Sqlite3_context)(unsafe.Pointer(pCtx)).FpOut if n > U64(*(*int32)(unsafe.Pointer((*Mem)(unsafe.Pointer(pOut)).Fdb + 136))) { @@ -62295,7 +62314,7 @@ func Xsqlite3_result_zeroblob64(tls *libc.TLS, pCtx uintptr, n U64) int32 { /* s return SQLITE_OK } -func Xsqlite3_result_error_code(tls *libc.TLS, pCtx uintptr, errCode int32) { /* sqlite3.c:85594:17: */ +func Xsqlite3_result_error_code(tls *libc.TLS, pCtx uintptr, errCode int32) { /* sqlite3.c:85607:17: */ (*Sqlite3_context)(unsafe.Pointer(pCtx)).FisError = func() int32 { if errCode != 0 { return errCode @@ -62309,7 +62328,7 @@ func Xsqlite3_result_error_code(tls *libc.TLS, pCtx uintptr, errCode int32) { /* } // Force an SQLITE_TOOBIG error. -func Xsqlite3_result_error_toobig(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:85606:17: */ +func Xsqlite3_result_error_toobig(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:85619:17: */ (*Sqlite3_context)(unsafe.Pointer(pCtx)).FisError = SQLITE_TOOBIG Xsqlite3VdbeMemSetStr(tls, (*Sqlite3_context)(unsafe.Pointer(pCtx)).FpOut, ts+5285, int64(-1), @@ -62317,7 +62336,7 @@ func Xsqlite3_result_error_toobig(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:85 } // An SQLITE_NOMEM error. -func Xsqlite3_result_error_nomem(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:85614:17: */ +func Xsqlite3_result_error_nomem(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:85627:17: */ Xsqlite3VdbeMemSetNull(tls, (*Sqlite3_context)(unsafe.Pointer(pCtx)).FpOut) (*Sqlite3_context)(unsafe.Pointer(pCtx)).FisError = SQLITE_NOMEM @@ -62327,7 +62346,7 @@ func Xsqlite3_result_error_nomem(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:856 // Force the INT64 value currently stored as the result to be // a MEM_IntReal value. See the SQLITE_TESTCTRL_RESULT_INTREAL // test-control. -func Xsqlite3ResultIntReal(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:85626:21: */ +func Xsqlite3ResultIntReal(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:85639:21: */ if int32((*Mem)(unsafe.Pointer((*Sqlite3_context)(unsafe.Pointer(pCtx)).FpOut)).Fflags)&MEM_Int != 0 { *(*U16)(unsafe.Pointer((*Sqlite3_context)(unsafe.Pointer(pCtx)).FpOut + 8)) &= libc.Uint16FromInt32(libc.CplInt32(MEM_Int)) @@ -62337,7 +62356,7 @@ func Xsqlite3ResultIntReal(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:85626:21: // This function is called after a transaction has been committed. It // invokes callbacks registered with sqlite3_wal_hook() as required. -func doWalCallbacks(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:85640:12: */ +func doWalCallbacks(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:85653:12: */ var rc int32 = SQLITE_OK var i int32 for i = 0; i < (*Sqlite3)(unsafe.Pointer(db)).FnDb; i++ { @@ -62364,7 +62383,7 @@ func doWalCallbacks(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:85640:12: */ // API. The only thing omitted is the automatic recompile if a // schema change has occurred. That detail is handled by the // outer sqlite3_step() wrapper procedure. -func sqlite3Step(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:85670:12: */ +func sqlite3Step(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:85683:12: */ var db uintptr var rc int32 @@ -62531,14 +62550,14 @@ end_of_step: // This is the top-level implementation of sqlite3_step(). Call // sqlite3Step() to do most of the work. If a schema error occurs, // call sqlite3Reprepare() and try again. -func Xsqlite3_step(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:85804:16: */ +func Xsqlite3_step(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:85817:16: */ var rc int32 = SQLITE_OK // Result from sqlite3Step() var v uintptr = pStmt // the prepared statement var cnt int32 = 0 // Counter to prevent infinite loop of reprepares var db uintptr // The database connection if vdbeSafetyNotNull(tls, v) != 0 { - return Xsqlite3MisuseError(tls, 85811) + return Xsqlite3MisuseError(tls, 85824) } db = (*Vdbe)(unsafe.Pointer(v)).Fdb Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) @@ -62578,7 +62597,7 @@ func Xsqlite3_step(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:85804:16: // Extract the user data from a sqlite3_context structure and return a // pointer to it. -func Xsqlite3_user_data(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:85853:17: */ +func Xsqlite3_user_data(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:85866:17: */ return (*FuncDef)(unsafe.Pointer((*Sqlite3_context)(unsafe.Pointer(p)).FpFunc)).FpUserData } @@ -62591,7 +62610,7 @@ func Xsqlite3_user_data(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:85853:1 // parameter) of the sqlite3_create_function() and // sqlite3_create_function16() routines that originally registered the // application defined function. -func Xsqlite3_context_db_handle(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:85868:20: */ +func Xsqlite3_context_db_handle(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:85881:20: */ return (*Mem)(unsafe.Pointer((*Sqlite3_context)(unsafe.Pointer(p)).FpOut)).Fdb } @@ -62608,14 +62627,14 @@ func Xsqlite3_context_db_handle(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c // Virtual table implements might use this routine to optimize their // performance by substituting a NULL result, or some other light-weight // value, as a signal to the xUpdate routine that the column is unchanged. -func Xsqlite3_vtab_nochange(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:85887:16: */ +func Xsqlite3_vtab_nochange(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:85900:16: */ return Xsqlite3_value_nochange(tls, (*Sqlite3_context)(unsafe.Pointer(p)).FpOut) } // Implementation of sqlite3_vtab_in_first() (if bNext==0) and // sqlite3_vtab_in_next() (if bNext!=0). -func valueFromValueList(tls *libc.TLS, pVal uintptr, ppOut uintptr, bNext int32) int32 { /* sqlite3.c:85896:12: */ +func valueFromValueList(tls *libc.TLS, pVal uintptr, ppOut uintptr, bNext int32) int32 { /* sqlite3.c:85909:12: */ bp := tls.Alloc(68) defer tls.Free(68) @@ -62673,13 +62692,13 @@ func valueFromValueList(tls *libc.TLS, pVal uintptr, ppOut uintptr, bNext int32) // Set the iterator value pVal to point to the first value in the set. // Set (*ppOut) to point to this value before returning. -func Xsqlite3_vtab_in_first(tls *libc.TLS, pVal uintptr, ppOut uintptr) int32 { /* sqlite3.c:85944:16: */ +func Xsqlite3_vtab_in_first(tls *libc.TLS, pVal uintptr, ppOut uintptr) int32 { /* sqlite3.c:85957:16: */ return valueFromValueList(tls, pVal, ppOut, 0) } // Set the iterator value pVal to point to the next value in the set. // Set (*ppOut) to point to this value before returning. -func Xsqlite3_vtab_in_next(tls *libc.TLS, pVal uintptr, ppOut uintptr) int32 { /* sqlite3.c:85952:16: */ +func Xsqlite3_vtab_in_next(tls *libc.TLS, pVal uintptr, ppOut uintptr) int32 { /* sqlite3.c:85965:16: */ return valueFromValueList(tls, pVal, ppOut, 1) } @@ -62688,7 +62707,7 @@ func Xsqlite3_vtab_in_next(tls *libc.TLS, pVal uintptr, ppOut uintptr) int32 { / // statement, the exact same time is returned for each invocation regardless // of the amount of time that elapses between invocations. In other words, // the time returned is always the time of the first call. -func Xsqlite3StmtCurrentTime(tls *libc.TLS, p uintptr) Sqlite3_int64 { /* sqlite3.c:85963:30: */ +func Xsqlite3StmtCurrentTime(tls *libc.TLS, p uintptr) Sqlite3_int64 { /* sqlite3.c:85976:30: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -62711,7 +62730,7 @@ func Xsqlite3StmtCurrentTime(tls *libc.TLS, p uintptr) Sqlite3_int64 { /* sqlite // Create a new aggregate context for p and return a pointer to // its pMem->z element. -func createAggContext(tls *libc.TLS, p uintptr, nByte int32) uintptr { /* sqlite3.c:85983:29: */ +func createAggContext(tls *libc.TLS, p uintptr, nByte int32) uintptr { /* sqlite3.c:85996:29: */ var pMem uintptr = (*Sqlite3_context)(unsafe.Pointer(p)).FpMem if nByte <= 0 { @@ -62731,7 +62750,7 @@ func createAggContext(tls *libc.TLS, p uintptr, nByte int32) uintptr { /* sqlite // Allocate or return the aggregate context for a user function. A new // context is allocated on the first call. Subsequent calls return the // same context that was returned on prior calls. -func Xsqlite3_aggregate_context(tls *libc.TLS, p uintptr, nByte int32) uintptr { /* sqlite3.c:86005:17: */ +func Xsqlite3_aggregate_context(tls *libc.TLS, p uintptr, nByte int32) uintptr { /* sqlite3.c:86018:17: */ if int32((*Mem)(unsafe.Pointer((*Sqlite3_context)(unsafe.Pointer(p)).FpMem)).Fflags)&MEM_Agg == 0 { return createAggContext(tls, p, nByte) @@ -62749,7 +62768,7 @@ func Xsqlite3_aggregate_context(tls *libc.TLS, p uintptr, nByte int32) uintptr { // Undocumented behavior: If iArg is negative then access a cache of // auxiliary data pointers that is available to all functions within a // single prepared statement. The iArg values must match. -func Xsqlite3_get_auxdata(tls *libc.TLS, pCtx uintptr, iArg int32) uintptr { /* sqlite3.c:86026:17: */ +func Xsqlite3_get_auxdata(tls *libc.TLS, pCtx uintptr, iArg int32) uintptr { /* sqlite3.c:86039:17: */ var pAuxData uintptr if (*Sqlite3_context)(unsafe.Pointer(pCtx)).FpVdbe == uintptr(0) { @@ -62772,7 +62791,7 @@ func Xsqlite3_get_auxdata(tls *libc.TLS, pCtx uintptr, iArg int32) uintptr { /* // Undocumented behavior: If iArg is negative then make the data available // 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) { /* sqlite3.c:86054:17: */ +func Xsqlite3_set_auxdata(tls *libc.TLS, pCtx uintptr, iArg int32, pAux uintptr, xDelete uintptr) { /* sqlite3.c:86067:17: */ var pAuxData uintptr var pVdbe uintptr pVdbe = (*Sqlite3_context)(unsafe.Pointer(pCtx)).FpVdbe @@ -62852,13 +62871,13 @@ __11: // provide only to avoid breaking legacy code. New aggregate function // implementations should keep their own counts within their aggregate // context. -func Xsqlite3_aggregate_count(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:86107:16: */ +func Xsqlite3_aggregate_count(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:86120:16: */ return (*Mem)(unsafe.Pointer((*Sqlite3_context)(unsafe.Pointer(p)).FpMem)).Fn } // Return the number of columns in the result set for the statement pStmt. -func Xsqlite3_column_count(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:86116:16: */ +func Xsqlite3_column_count(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:86129:16: */ var pVm uintptr = pStmt if pVm != 0 { return int32((*Vdbe)(unsafe.Pointer(pVm)).FnResColumn) @@ -62868,7 +62887,7 @@ func Xsqlite3_column_count(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:86 // Return the number of values available from the current row of the // currently executing statement pStmt. -func Xsqlite3_data_count(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:86125:16: */ +func Xsqlite3_data_count(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:86138:16: */ var pVm uintptr = pStmt if pVm == uintptr(0) || (*Vdbe)(unsafe.Pointer(pVm)).FpResultSet == uintptr(0) { return 0 @@ -62877,19 +62896,19 @@ func Xsqlite3_data_count(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:8612 } // Return a pointer to static memory containing an SQL NULL value. -func columnNullValue(tls *libc.TLS) uintptr { /* sqlite3.c:86134:18: */ +func columnNullValue(tls *libc.TLS) uintptr { /* sqlite3.c:86147:18: */ return uintptr(unsafe.Pointer(&nullMem)) } var nullMem = Mem{ /* .flags = */ Fflags: U16(MEM_Null), -} /* sqlite3.c:86144:20 */ +} /* sqlite3.c:86157:20 */ // Check to see if column iCol of the given statement is valid. If // it is, return a pointer to the Mem for the value of that column. // If iCol is not valid, return a pointer to a Mem which has a value // of NULL. -func columnMem(tls *libc.TLS, pStmt uintptr, i int32) uintptr { /* sqlite3.c:86174:12: */ +func columnMem(tls *libc.TLS, pStmt uintptr, i int32) uintptr { /* sqlite3.c:86187:12: */ var pVm uintptr var pOut uintptr @@ -62924,7 +62943,7 @@ func columnMem(tls *libc.TLS, pStmt uintptr, i int32) uintptr { /* sqlite3.c:861 // sqlite3_column_bytes() // sqlite3_column_bytes16() // sqiite3_column_blob() -func columnMallocFailure(tls *libc.TLS, pStmt uintptr) { /* sqlite3.c:86209:13: */ +func columnMallocFailure(tls *libc.TLS, pStmt uintptr) { /* sqlite3.c:86222:13: */ // If malloc() failed during an encoding conversion within an // sqlite3_column_XXX API, then set the return code of the statement to // SQLITE_NOMEM. The next call to _step() (if any) will return SQLITE_ERROR @@ -62941,7 +62960,7 @@ func columnMallocFailure(tls *libc.TLS, pStmt uintptr) { /* sqlite3.c:86209:13: // // The following routines are used to access elements of the current row // in the result set. -func Xsqlite3_column_blob(tls *libc.TLS, pStmt uintptr, i int32) uintptr { /* sqlite3.c:86229:23: */ +func Xsqlite3_column_blob(tls *libc.TLS, pStmt uintptr, i int32) uintptr { /* sqlite3.c:86242:23: */ var val uintptr val = Xsqlite3_value_blob(tls, columnMem(tls, pStmt, i)) // Even though there is no encoding conversion, value_blob() might @@ -62951,43 +62970,43 @@ func Xsqlite3_column_blob(tls *libc.TLS, pStmt uintptr, i int32) uintptr { /* sq return val } -func Xsqlite3_column_bytes(tls *libc.TLS, pStmt uintptr, i int32) int32 { /* sqlite3.c:86239:16: */ +func Xsqlite3_column_bytes(tls *libc.TLS, pStmt uintptr, i int32) int32 { /* sqlite3.c:86252:16: */ var val int32 = Xsqlite3_value_bytes(tls, columnMem(tls, pStmt, i)) columnMallocFailure(tls, pStmt) return val } -func Xsqlite3_column_bytes16(tls *libc.TLS, pStmt uintptr, i int32) int32 { /* sqlite3.c:86244:16: */ +func Xsqlite3_column_bytes16(tls *libc.TLS, pStmt uintptr, i int32) int32 { /* sqlite3.c:86257:16: */ var val int32 = Xsqlite3_value_bytes16(tls, columnMem(tls, pStmt, i)) columnMallocFailure(tls, pStmt) return val } -func Xsqlite3_column_double(tls *libc.TLS, pStmt uintptr, i int32) float64 { /* sqlite3.c:86249:19: */ +func Xsqlite3_column_double(tls *libc.TLS, pStmt uintptr, i int32) float64 { /* sqlite3.c:86262:19: */ var val float64 = Xsqlite3_value_double(tls, columnMem(tls, pStmt, i)) columnMallocFailure(tls, pStmt) return val } -func Xsqlite3_column_int(tls *libc.TLS, pStmt uintptr, i int32) int32 { /* sqlite3.c:86254:16: */ +func Xsqlite3_column_int(tls *libc.TLS, pStmt uintptr, i int32) int32 { /* sqlite3.c:86267:16: */ var val int32 = Xsqlite3_value_int(tls, columnMem(tls, pStmt, i)) columnMallocFailure(tls, pStmt) return val } -func Xsqlite3_column_int64(tls *libc.TLS, pStmt uintptr, i int32) Sqlite_int64 { /* sqlite3.c:86259:25: */ +func Xsqlite3_column_int64(tls *libc.TLS, pStmt uintptr, i int32) Sqlite_int64 { /* sqlite3.c:86272:25: */ var val Sqlite_int64 = Xsqlite3_value_int64(tls, columnMem(tls, pStmt, i)) columnMallocFailure(tls, pStmt) return val } -func Xsqlite3_column_text(tls *libc.TLS, pStmt uintptr, i int32) uintptr { /* sqlite3.c:86264:32: */ +func Xsqlite3_column_text(tls *libc.TLS, pStmt uintptr, i int32) uintptr { /* sqlite3.c:86277:32: */ var val uintptr = Xsqlite3_value_text(tls, columnMem(tls, pStmt, i)) columnMallocFailure(tls, pStmt) return val } -func Xsqlite3_column_value(tls *libc.TLS, pStmt uintptr, i int32) uintptr { /* sqlite3.c:86269:26: */ +func Xsqlite3_column_value(tls *libc.TLS, pStmt uintptr, i int32) uintptr { /* sqlite3.c:86282:26: */ var pOut uintptr = columnMem(tls, pStmt, i) if int32((*Mem)(unsafe.Pointer(pOut)).Fflags)&MEM_Static != 0 { *(*U16)(unsafe.Pointer(pOut + 8)) &= libc.Uint16FromInt32(libc.CplInt32(MEM_Static)) @@ -62997,13 +63016,13 @@ func Xsqlite3_column_value(tls *libc.TLS, pStmt uintptr, i int32) uintptr { /* s return pOut } -func Xsqlite3_column_text16(tls *libc.TLS, pStmt uintptr, i int32) uintptr { /* sqlite3.c:86279:23: */ +func Xsqlite3_column_text16(tls *libc.TLS, pStmt uintptr, i int32) uintptr { /* sqlite3.c:86292:23: */ var val uintptr = Xsqlite3_value_text16(tls, columnMem(tls, pStmt, i)) columnMallocFailure(tls, pStmt) return val } -func Xsqlite3_column_type(tls *libc.TLS, pStmt uintptr, i int32) int32 { /* sqlite3.c:86285:16: */ +func Xsqlite3_column_type(tls *libc.TLS, pStmt uintptr, i int32) int32 { /* sqlite3.c:86298:16: */ var iType int32 = Xsqlite3_value_type(tls, columnMem(tls, pStmt, i)) columnMallocFailure(tls, pStmt) return iType @@ -63023,7 +63042,7 @@ func Xsqlite3_column_type(tls *libc.TLS, pStmt uintptr, i int32) int32 { /* sqli // // If the result is not a simple column reference (if it is an expression // or a constant) then useTypes 2, 3, and 4 return NULL. -func columnName(tls *libc.TLS, pStmt uintptr, N int32, useUtf16 int32, useType int32) uintptr { /* sqlite3.c:86307:19: */ +func columnName(tls *libc.TLS, pStmt uintptr, N int32, useUtf16 int32, useType int32) uintptr { /* sqlite3.c:86320:19: */ var ret uintptr var p uintptr var n int32 @@ -63055,11 +63074,11 @@ func columnName(tls *libc.TLS, pStmt uintptr, N int32, useUtf16 int32, useType i // Return the name of the Nth column of the result set returned by SQL // statement pStmt. -func Xsqlite3_column_name(tls *libc.TLS, pStmt uintptr, N int32) uintptr { /* sqlite3.c:86356:23: */ +func Xsqlite3_column_name(tls *libc.TLS, pStmt uintptr, N int32) uintptr { /* sqlite3.c:86369:23: */ return columnName(tls, pStmt, N, 0, COLNAME_NAME) } -func Xsqlite3_column_name16(tls *libc.TLS, pStmt uintptr, N int32) uintptr { /* sqlite3.c:86360:23: */ +func Xsqlite3_column_name16(tls *libc.TLS, pStmt uintptr, N int32) uintptr { /* sqlite3.c:86373:23: */ return columnName(tls, pStmt, N, 1, COLNAME_NAME) } @@ -63068,44 +63087,44 @@ func Xsqlite3_column_name16(tls *libc.TLS, pStmt uintptr, N int32) uintptr { /* // Return the column declaration type (if applicable) of the 'i'th column // of the result set of SQL statement pStmt. -func Xsqlite3_column_decltype(tls *libc.TLS, pStmt uintptr, N int32) uintptr { /* sqlite3.c:86379:23: */ +func Xsqlite3_column_decltype(tls *libc.TLS, pStmt uintptr, N int32) uintptr { /* sqlite3.c:86392:23: */ return columnName(tls, pStmt, N, 0, COLNAME_DECLTYPE) } -func Xsqlite3_column_decltype16(tls *libc.TLS, pStmt uintptr, N int32) uintptr { /* sqlite3.c:86383:23: */ +func Xsqlite3_column_decltype16(tls *libc.TLS, pStmt uintptr, N int32) uintptr { /* sqlite3.c:86396:23: */ return columnName(tls, pStmt, N, 1, COLNAME_DECLTYPE) } // Return the name of the database from which a result column derives. // NULL is returned if the result column is an expression or constant or // anything else which is not an unambiguous reference to a database column. -func Xsqlite3_column_database_name(tls *libc.TLS, pStmt uintptr, N int32) uintptr { /* sqlite3.c:86395:23: */ +func Xsqlite3_column_database_name(tls *libc.TLS, pStmt uintptr, N int32) uintptr { /* sqlite3.c:86408:23: */ return columnName(tls, pStmt, N, 0, COLNAME_DATABASE) } -func Xsqlite3_column_database_name16(tls *libc.TLS, pStmt uintptr, N int32) uintptr { /* sqlite3.c:86399:23: */ +func Xsqlite3_column_database_name16(tls *libc.TLS, pStmt uintptr, N int32) uintptr { /* sqlite3.c:86412:23: */ return columnName(tls, pStmt, N, 1, COLNAME_DATABASE) } // Return the name of the table from which a result column derives. // NULL is returned if the result column is an expression or constant or // anything else which is not an unambiguous reference to a database column. -func Xsqlite3_column_table_name(tls *libc.TLS, pStmt uintptr, N int32) uintptr { /* sqlite3.c:86409:23: */ +func Xsqlite3_column_table_name(tls *libc.TLS, pStmt uintptr, N int32) uintptr { /* sqlite3.c:86422:23: */ return columnName(tls, pStmt, N, 0, COLNAME_TABLE) } -func Xsqlite3_column_table_name16(tls *libc.TLS, pStmt uintptr, N int32) uintptr { /* sqlite3.c:86413:23: */ +func Xsqlite3_column_table_name16(tls *libc.TLS, pStmt uintptr, N int32) uintptr { /* sqlite3.c:86426:23: */ return columnName(tls, pStmt, N, 1, COLNAME_TABLE) } // Return the name of the table column from which a result column derives. // NULL is returned if the result column is an expression or constant or // anything else which is not an unambiguous reference to a database column. -func Xsqlite3_column_origin_name(tls *libc.TLS, pStmt uintptr, N int32) uintptr { /* sqlite3.c:86423:23: */ +func Xsqlite3_column_origin_name(tls *libc.TLS, pStmt uintptr, N int32) uintptr { /* sqlite3.c:86436:23: */ return columnName(tls, pStmt, N, 0, COLNAME_COLUMN) } -func Xsqlite3_column_origin_name16(tls *libc.TLS, pStmt uintptr, N int32) uintptr { /* sqlite3.c:86427:23: */ +func Xsqlite3_column_origin_name16(tls *libc.TLS, pStmt uintptr, N int32) uintptr { /* sqlite3.c:86440:23: */ return columnName(tls, pStmt, N, 1, COLNAME_COLUMN) } @@ -63122,13 +63141,13 @@ func Xsqlite3_column_origin_name16(tls *libc.TLS, pStmt uintptr, N int32) uintpt // // The error code stored in database p->db is overwritten with the return // value in any case. -func vdbeUnbind(tls *libc.TLS, p uintptr, i int32) int32 { /* sqlite3.c:86449:12: */ +func vdbeUnbind(tls *libc.TLS, p uintptr, i int32) int32 { /* sqlite3.c:86462:12: */ bp := tls.Alloc(8) defer tls.Free(8) var pVar uintptr if vdbeSafetyNotNull(tls, p) != 0 { - return Xsqlite3MisuseError(tls, 86452) + return Xsqlite3MisuseError(tls, 86465) } Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer((*Vdbe)(unsafe.Pointer(p)).Fdb)).Fmutex) if (*Vdbe)(unsafe.Pointer(p)).FiVdbeMagic != U32(VDBE_MAGIC_RUN) || (*Vdbe)(unsafe.Pointer(p)).Fpc >= 0 { @@ -63136,7 +63155,7 @@ func vdbeUnbind(tls *libc.TLS, p uintptr, i int32) int32 { /* sqlite3.c:86449:12 Xsqlite3_mutex_leave(tls, (*Sqlite3)(unsafe.Pointer((*Vdbe)(unsafe.Pointer(p)).Fdb)).Fmutex) Xsqlite3_log(tls, SQLITE_MISUSE, ts+5318, libc.VaList(bp, (*Vdbe)(unsafe.Pointer(p)).FzSql)) - return Xsqlite3MisuseError(tls, 86460) + return Xsqlite3MisuseError(tls, 86473) } if i < 1 || i > int32((*Vdbe)(unsafe.Pointer(p)).FnVar) { Xsqlite3Error(tls, (*Vdbe)(unsafe.Pointer(p)).Fdb, SQLITE_RANGE) @@ -63170,7 +63189,7 @@ func vdbeUnbind(tls *libc.TLS, p uintptr, i int32) int32 { /* sqlite3.c:86449:12 } // Bind a text or BLOB value. -func bindText(tls *libc.TLS, pStmt uintptr, i int32, zData uintptr, nData I64, xDel uintptr, encoding U8) int32 { /* sqlite3.c:86492:12: */ +func bindText(tls *libc.TLS, pStmt uintptr, i int32, zData uintptr, nData I64, xDel uintptr, encoding U8) int32 { /* sqlite3.c:86505:12: */ var p uintptr = pStmt var pVar uintptr var rc int32 @@ -63196,16 +63215,16 @@ func bindText(tls *libc.TLS, pStmt uintptr, i int32, zData uintptr, nData I64, x } // 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) int32 { /* sqlite3.c:86528:16: */ +func Xsqlite3_bind_blob(tls *libc.TLS, pStmt uintptr, i int32, zData uintptr, nData int32, xDel uintptr) int32 { /* sqlite3.c:86541:16: */ return bindText(tls, pStmt, i, zData, int64(nData), xDel, uint8(0)) } -func Xsqlite3_bind_blob64(tls *libc.TLS, pStmt uintptr, i int32, zData uintptr, nData Sqlite3_uint64, xDel uintptr) int32 { /* sqlite3.c:86540:16: */ +func Xsqlite3_bind_blob64(tls *libc.TLS, pStmt uintptr, i int32, zData uintptr, nData Sqlite3_uint64, xDel uintptr) int32 { /* sqlite3.c:86553:16: */ return bindText(tls, pStmt, i, zData, int64(nData), xDel, uint8(0)) } -func Xsqlite3_bind_double(tls *libc.TLS, pStmt uintptr, i int32, rValue float64) int32 { /* sqlite3.c:86550:16: */ +func Xsqlite3_bind_double(tls *libc.TLS, pStmt uintptr, i int32, rValue float64) int32 { /* sqlite3.c:86563:16: */ var rc int32 var p uintptr = pStmt rc = vdbeUnbind(tls, p, i) @@ -63216,11 +63235,11 @@ func Xsqlite3_bind_double(tls *libc.TLS, pStmt uintptr, i int32, rValue float64) return rc } -func Xsqlite3_bind_int(tls *libc.TLS, p uintptr, i int32, iValue int32) int32 { /* sqlite3.c:86560:16: */ +func Xsqlite3_bind_int(tls *libc.TLS, p uintptr, i int32, iValue int32) int32 { /* sqlite3.c:86573:16: */ return Xsqlite3_bind_int64(tls, p, i, I64(iValue)) } -func Xsqlite3_bind_int64(tls *libc.TLS, pStmt uintptr, i int32, iValue Sqlite_int64) int32 { /* sqlite3.c:86563:16: */ +func Xsqlite3_bind_int64(tls *libc.TLS, pStmt uintptr, i int32, iValue Sqlite_int64) int32 { /* sqlite3.c:86576:16: */ var rc int32 var p uintptr = pStmt rc = vdbeUnbind(tls, p, i) @@ -63231,7 +63250,7 @@ func Xsqlite3_bind_int64(tls *libc.TLS, pStmt uintptr, i int32, iValue Sqlite_in return rc } -func Xsqlite3_bind_null(tls *libc.TLS, pStmt uintptr, i int32) int32 { /* sqlite3.c:86573:16: */ +func Xsqlite3_bind_null(tls *libc.TLS, pStmt uintptr, i int32) int32 { /* sqlite3.c:86586:16: */ var rc int32 var p uintptr = pStmt rc = vdbeUnbind(tls, p, i) @@ -63241,7 +63260,7 @@ func Xsqlite3_bind_null(tls *libc.TLS, pStmt uintptr, i int32) int32 { /* sqlite return rc } -func Xsqlite3_bind_pointer(tls *libc.TLS, pStmt uintptr, i int32, pPtr uintptr, zPTtype uintptr, xDestructor uintptr) int32 { /* sqlite3.c:86582:16: */ +func Xsqlite3_bind_pointer(tls *libc.TLS, pStmt uintptr, i int32, pPtr uintptr, zPTtype uintptr, xDestructor uintptr) int32 { /* sqlite3.c:86595:16: */ var rc int32 var p uintptr = pStmt rc = vdbeUnbind(tls, p, i) @@ -63254,11 +63273,11 @@ func Xsqlite3_bind_pointer(tls *libc.TLS, pStmt uintptr, i int32, pPtr uintptr, return rc } -func Xsqlite3_bind_text(tls *libc.TLS, pStmt uintptr, i int32, zData uintptr, nData int32, xDel uintptr) int32 { /* sqlite3.c:86600:16: */ +func Xsqlite3_bind_text(tls *libc.TLS, pStmt uintptr, i int32, zData uintptr, nData int32, xDel uintptr) int32 { /* sqlite3.c:86613:16: */ return bindText(tls, pStmt, i, zData, int64(nData), xDel, uint8(SQLITE_UTF8)) } -func Xsqlite3_bind_text64(tls *libc.TLS, pStmt uintptr, i int32, zData uintptr, nData Sqlite3_uint64, xDel uintptr, enc uint8) int32 { /* sqlite3.c:86609:16: */ +func Xsqlite3_bind_text64(tls *libc.TLS, pStmt uintptr, i int32, zData uintptr, nData Sqlite3_uint64, xDel uintptr, enc uint8) int32 { /* sqlite3.c:86622:16: */ if int32(enc) == SQLITE_UTF16 { enc = uint8(SQLITE_UTF16LE) @@ -63266,11 +63285,11 @@ func Xsqlite3_bind_text64(tls *libc.TLS, pStmt uintptr, i int32, zData uintptr, return bindText(tls, pStmt, i, zData, int64(nData), xDel, enc) } -func Xsqlite3_bind_text16(tls *libc.TLS, pStmt uintptr, i int32, zData uintptr, nData int32, xDel uintptr) int32 { /* sqlite3.c:86622:16: */ +func Xsqlite3_bind_text16(tls *libc.TLS, pStmt uintptr, i int32, zData uintptr, nData int32, xDel uintptr) int32 { /* sqlite3.c:86635:16: */ return bindText(tls, pStmt, i, zData, int64(nData), xDel, uint8(SQLITE_UTF16LE)) } -func Xsqlite3_bind_value(tls *libc.TLS, pStmt uintptr, i int32, pValue uintptr) int32 { /* sqlite3.c:86632:16: */ +func Xsqlite3_bind_value(tls *libc.TLS, pStmt uintptr, i int32, pValue uintptr) int32 { /* sqlite3.c:86645:16: */ var rc int32 switch Xsqlite3_value_type(tls, pValue) { case SQLITE_INTEGER: @@ -63319,7 +63338,7 @@ func Xsqlite3_bind_value(tls *libc.TLS, pStmt uintptr, i int32, pValue uintptr) return rc } -func Xsqlite3_bind_zeroblob(tls *libc.TLS, pStmt uintptr, i int32, n int32) int32 { /* sqlite3.c:86666:16: */ +func Xsqlite3_bind_zeroblob(tls *libc.TLS, pStmt uintptr, i int32, n int32) int32 { /* sqlite3.c:86679:16: */ var rc int32 var p uintptr = pStmt rc = vdbeUnbind(tls, p, i) @@ -63330,7 +63349,7 @@ func Xsqlite3_bind_zeroblob(tls *libc.TLS, pStmt uintptr, i int32, n int32) int3 return rc } -func Xsqlite3_bind_zeroblob64(tls *libc.TLS, pStmt uintptr, i int32, n Sqlite3_uint64) int32 { /* sqlite3.c:86680:16: */ +func Xsqlite3_bind_zeroblob64(tls *libc.TLS, pStmt uintptr, i int32, n Sqlite3_uint64) int32 { /* sqlite3.c:86693:16: */ var rc int32 var p uintptr = pStmt Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer((*Vdbe)(unsafe.Pointer(p)).Fdb)).Fmutex) @@ -63347,7 +63366,7 @@ func Xsqlite3_bind_zeroblob64(tls *libc.TLS, pStmt uintptr, i int32, n Sqlite3_u // Return the number of wildcards that can be potentially bound to. // This routine is added to support DBD::SQLite. -func Xsqlite3_bind_parameter_count(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:86699:16: */ +func Xsqlite3_bind_parameter_count(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:86712:16: */ var p uintptr = pStmt if p != 0 { return int32((*Vdbe)(unsafe.Pointer(p)).FnVar) @@ -63359,7 +63378,7 @@ func Xsqlite3_bind_parameter_count(tls *libc.TLS, pStmt uintptr) int32 { /* sqli // is out of range or if the wildcard is unnamed. // // The result is always UTF-8. -func Xsqlite3_bind_parameter_name(tls *libc.TLS, pStmt uintptr, i int32) uintptr { /* sqlite3.c:86710:23: */ +func Xsqlite3_bind_parameter_name(tls *libc.TLS, pStmt uintptr, i int32) uintptr { /* sqlite3.c:86723:23: */ var p uintptr = pStmt if p == uintptr(0) { return uintptr(0) @@ -63370,19 +63389,19 @@ func Xsqlite3_bind_parameter_name(tls *libc.TLS, pStmt uintptr, i int32) uintptr // Given a wildcard parameter name, return the index of the variable // with that name. If there is no variable with the given name, // return 0. -func Xsqlite3VdbeParameterIndex(tls *libc.TLS, p uintptr, zName uintptr, nName int32) int32 { /* sqlite3.c:86721:20: */ +func Xsqlite3VdbeParameterIndex(tls *libc.TLS, p uintptr, zName uintptr, nName int32) int32 { /* sqlite3.c:86734:20: */ if p == uintptr(0) || zName == uintptr(0) { return 0 } return Xsqlite3VListNameToNum(tls, (*Vdbe)(unsafe.Pointer(p)).FpVList, zName, nName) } -func Xsqlite3_bind_parameter_index(tls *libc.TLS, pStmt uintptr, zName uintptr) int32 { /* sqlite3.c:86725:16: */ +func Xsqlite3_bind_parameter_index(tls *libc.TLS, pStmt uintptr, zName uintptr) int32 { /* sqlite3.c:86738:16: */ return Xsqlite3VdbeParameterIndex(tls, pStmt, zName, Xsqlite3Strlen30(tls, zName)) } // Transfer all bindings from the first statement over to the second. -func Xsqlite3TransferBindings(tls *libc.TLS, pFromStmt uintptr, pToStmt uintptr) int32 { /* sqlite3.c:86732:20: */ +func Xsqlite3TransferBindings(tls *libc.TLS, pFromStmt uintptr, pToStmt uintptr) int32 { /* sqlite3.c:86745:20: */ var pFrom uintptr = pFromStmt var pTo uintptr = pToStmt var i int32 @@ -63405,7 +63424,7 @@ func Xsqlite3TransferBindings(tls *libc.TLS, pFromStmt uintptr, pToStmt uintptr) // If the two statements contain a different number of bindings, then // an SQLITE_ERROR is returned. Nothing else can go wrong, so otherwise // SQLITE_OK is returned. -func Xsqlite3_transfer_bindings(tls *libc.TLS, pFromStmt uintptr, pToStmt uintptr) int32 { /* sqlite3.c:86759:16: */ +func Xsqlite3_transfer_bindings(tls *libc.TLS, pFromStmt uintptr, pToStmt uintptr) int32 { /* sqlite3.c:86772:16: */ var pFrom uintptr = pFromStmt var pTo uintptr = pToStmt if int32((*Vdbe)(unsafe.Pointer(pFrom)).FnVar) != int32((*Vdbe)(unsafe.Pointer(pTo)).FnVar) { @@ -63426,7 +63445,7 @@ func Xsqlite3_transfer_bindings(tls *libc.TLS, pFromStmt uintptr, pToStmt uintpt // in the argument belongs. This is the same database handle that was // the first argument to the sqlite3_prepare() that was used to create // the statement in the first place. -func Xsqlite3_db_handle(tls *libc.TLS, pStmt uintptr) uintptr { /* sqlite3.c:86783:20: */ +func Xsqlite3_db_handle(tls *libc.TLS, pStmt uintptr) uintptr { /* sqlite3.c:86796:20: */ if pStmt != 0 { return (*Vdbe)(unsafe.Pointer(pStmt)).Fdb } @@ -63435,7 +63454,7 @@ func Xsqlite3_db_handle(tls *libc.TLS, pStmt uintptr) uintptr { /* sqlite3.c:867 // Return true if the prepared statement is guaranteed to not modify the // database. -func Xsqlite3_stmt_readonly(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:86791:16: */ +func Xsqlite3_stmt_readonly(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:86804:16: */ if pStmt != 0 { return int32(*(*uint16)(unsafe.Pointer(pStmt + 208)) & 0x80 >> 7) } @@ -63444,7 +63463,7 @@ func Xsqlite3_stmt_readonly(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:8 // Return 1 if the statement is an EXPLAIN and return 2 if the // statement is an EXPLAIN QUERY PLAN -func Xsqlite3_stmt_isexplain(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:86799:16: */ +func Xsqlite3_stmt_isexplain(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:86812:16: */ if pStmt != 0 { return int32(*(*uint16)(unsafe.Pointer(pStmt + 208)) & 0xc >> 2) } @@ -63452,7 +63471,7 @@ func Xsqlite3_stmt_isexplain(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c: } // Return true if the prepared statement is in need of being reset. -func Xsqlite3_stmt_busy(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:86806:16: */ +func Xsqlite3_stmt_busy(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:86819:16: */ var v uintptr = pStmt return libc.Bool32(v != uintptr(0) && (*Vdbe)(unsafe.Pointer(v)).FiVdbeMagic == U32(VDBE_MAGIC_RUN) && (*Vdbe)(unsafe.Pointer(v)).Fpc >= 0) } @@ -63461,7 +63480,7 @@ func Xsqlite3_stmt_busy(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:86806 // with database connection pDb. If pStmt is NULL, return the first // prepared statement for the database connection. Return NULL if there // are no more. -func Xsqlite3_next_stmt(tls *libc.TLS, pDb uintptr, pStmt uintptr) uintptr { /* sqlite3.c:86817:25: */ +func Xsqlite3_next_stmt(tls *libc.TLS, pDb uintptr, pStmt uintptr) uintptr { /* sqlite3.c:86830:25: */ var pNext uintptr Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(pDb)).Fmutex) if pStmt == uintptr(0) { @@ -63474,7 +63493,7 @@ func Xsqlite3_next_stmt(tls *libc.TLS, pDb uintptr, pStmt uintptr) uintptr { /* } // Return the value of a status counter for a prepared statement -func Xsqlite3_stmt_status(tls *libc.TLS, pStmt uintptr, op int32, resetFlag int32) int32 { /* sqlite3.c:86838:16: */ +func Xsqlite3_stmt_status(tls *libc.TLS, pStmt uintptr, op int32, resetFlag int32) int32 { /* sqlite3.c:86851:16: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -63500,7 +63519,7 @@ func Xsqlite3_stmt_status(tls *libc.TLS, pStmt uintptr, op int32, resetFlag int3 } // Return the SQL associated with a prepared statement -func Xsqlite3_sql(tls *libc.TLS, pStmt uintptr) uintptr { /* sqlite3.c:86868:23: */ +func Xsqlite3_sql(tls *libc.TLS, pStmt uintptr) uintptr { /* sqlite3.c:86881:23: */ var p uintptr = pStmt if p != 0 { return (*Vdbe)(unsafe.Pointer(p)).FzSql @@ -63515,7 +63534,7 @@ func Xsqlite3_sql(tls *libc.TLS, pStmt uintptr) uintptr { /* sqlite3.c:86868:23: // // The SQLITE_TRACE_SIZE_LIMIT puts an upper bound on the size of // expanded bound parameters. -func Xsqlite3_expanded_sql(tls *libc.TLS, pStmt uintptr) uintptr { /* sqlite3.c:86882:17: */ +func Xsqlite3_expanded_sql(tls *libc.TLS, pStmt uintptr) uintptr { /* sqlite3.c:86895:17: */ var z uintptr = uintptr(0) var zSql uintptr = Xsqlite3_sql(tls, pStmt) if zSql != 0 { @@ -63530,7 +63549,7 @@ func Xsqlite3_expanded_sql(tls *libc.TLS, pStmt uintptr) uintptr { /* sqlite3.c: // Allocate and populate an UnpackedRecord structure based on the serialized // record in nKey/pKey. Return a pointer to the new UnpackedRecord structure // if successful, or a NULL pointer if an OOM error is encountered. -func vdbeUnpackRecord(tls *libc.TLS, pKeyInfo uintptr, nKey int32, pKey uintptr) uintptr { /* sqlite3.c:86920:23: */ +func vdbeUnpackRecord(tls *libc.TLS, pKeyInfo uintptr, nKey int32, pKey uintptr) uintptr { /* sqlite3.c:86933:23: */ var pRet uintptr // Return value pRet = Xsqlite3VdbeAllocUnpackedRecord(tls, pKeyInfo) @@ -63543,7 +63562,7 @@ func vdbeUnpackRecord(tls *libc.TLS, pKeyInfo uintptr, nKey int32, pKey uintptr) // This function is called from within a pre-update callback to retrieve // a field of the row currently being updated or deleted. -func Xsqlite3_preupdate_old(tls *libc.TLS, db uintptr, iIdx int32, ppValue uintptr) int32 { /* sqlite3.c:86939:16: */ +func Xsqlite3_preupdate_old(tls *libc.TLS, db uintptr, iIdx int32, ppValue uintptr) int32 { /* sqlite3.c:86952:16: */ var p uintptr var pMem uintptr var rc int32 @@ -63557,7 +63576,7 @@ func Xsqlite3_preupdate_old(tls *libc.TLS, db uintptr, iIdx int32, ppValue uintp if !(!(p != 0) || (*PreUpdate)(unsafe.Pointer(p)).Fop == SQLITE_INSERT) { goto __1 } - rc = Xsqlite3MisuseError(tls, 86947) + rc = Xsqlite3MisuseError(tls, 86960) goto preupdate_old_out __1: ; @@ -63649,7 +63668,7 @@ preupdate_old_out: // This function is called from within a pre-update callback to retrieve // the number of columns in the row being updated, deleted or inserted. -func Xsqlite3_preupdate_count(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:87003:16: */ +func Xsqlite3_preupdate_count(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:87016:16: */ var p uintptr = (*Sqlite3)(unsafe.Pointer(db)).FpPreUpdate return func() int32 { if p != 0 { @@ -63668,7 +63687,7 @@ func Xsqlite3_preupdate_count(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:87 // // For the purposes of the previous paragraph, a foreign key CASCADE, SET NULL // or SET DEFAULT action is considered a trigger. -func Xsqlite3_preupdate_depth(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:87021:16: */ +func Xsqlite3_preupdate_depth(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:87034:16: */ var p uintptr = (*Sqlite3)(unsafe.Pointer(db)).FpPreUpdate return func() int32 { if p != 0 { @@ -63680,7 +63699,7 @@ func Xsqlite3_preupdate_depth(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:87 // This function is designed to be called from within a pre-update callback // only. -func Xsqlite3_preupdate_blobwrite(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:87032:16: */ +func Xsqlite3_preupdate_blobwrite(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:87045:16: */ var p uintptr = (*Sqlite3)(unsafe.Pointer(db)).FpPreUpdate return func() int32 { if p != 0 { @@ -63692,7 +63711,7 @@ func Xsqlite3_preupdate_blobwrite(tls *libc.TLS, db uintptr) int32 { /* sqlite3. // This function is called from within a pre-update callback to retrieve // a field of the row currently being updated or inserted. -func Xsqlite3_preupdate_new(tls *libc.TLS, db uintptr, iIdx int32, ppValue uintptr) int32 { /* sqlite3.c:87043:16: */ +func Xsqlite3_preupdate_new(tls *libc.TLS, db uintptr, iIdx int32, ppValue uintptr) int32 { /* sqlite3.c:87056:16: */ var p uintptr var rc int32 var pMem uintptr @@ -63706,7 +63725,7 @@ func Xsqlite3_preupdate_new(tls *libc.TLS, db uintptr, iIdx int32, ppValue uintp if !(!(p != 0) || (*PreUpdate)(unsafe.Pointer(p)).Fop == SQLITE_DELETE) { goto __1 } - rc = Xsqlite3MisuseError(tls, 87049) + rc = Xsqlite3MisuseError(tls, 87062) goto preupdate_new_out __1: ; @@ -63847,7 +63866,7 @@ preupdate_new_out: // bytes in this text up to but excluding the first character in // a host parameter. If the text contains no host parameters, return // the total number of bytes in the text. -func findNextHostParameter(tls *libc.TLS, zSql uintptr, pnToken uintptr) int32 { /* sqlite3.c:87213:12: */ +func findNextHostParameter(tls *libc.TLS, zSql uintptr, pnToken uintptr) int32 { /* sqlite3.c:87226:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -63892,7 +63911,7 @@ func findNextHostParameter(tls *libc.TLS, zSql uintptr, pnToken uintptr) int32 { // statement for the corresponding OP_Variable opcode. Once the host // parameter index is known, locate the value in p->aVar[]. Then render // the value as a literal in place of the host parameter name. -func Xsqlite3VdbeExpandSql(tls *libc.TLS, p uintptr, zRawSql uintptr) uintptr { /* sqlite3.c:87256:21: */ +func Xsqlite3VdbeExpandSql(tls *libc.TLS, p uintptr, zRawSql uintptr) uintptr { /* sqlite3.c:87269:21: */ bp := tls.Alloc(144) defer tls.Free(144) @@ -64115,7 +64134,7 @@ func Xsqlite3VdbeExpandSql(tls *libc.TLS, p uintptr, zRawSql uintptr) uintptr { // Allocate VdbeCursor number iCur. Return a pointer to it. Return NULL // if we run out of memory. -func allocateCursor(tls *libc.TLS, p uintptr, iCur int32, nField int32, eCurType U8) uintptr { /* sqlite3.c:87619:19: */ +func allocateCursor(tls *libc.TLS, p uintptr, iCur int32, nField int32, eCurType U8) uintptr { /* sqlite3.c:87632:19: */ // Find the memory cell that will be used to store the blob of memory // required for this VdbeCursor structure. It is convenient to use a // vdbe memory cell to manage the memory allocation required for a @@ -64186,7 +64205,7 @@ func allocateCursor(tls *libc.TLS, p uintptr, iCur int32, nField int32, eCurType // floating point value of rValue. Return true and set *piValue to the // integer value if the string is in range to be an integer. Otherwise, // return false. -func alsoAnInt(tls *libc.TLS, pRec uintptr, rValue float64, piValue uintptr) int32 { /* sqlite3.c:87695:12: */ +func alsoAnInt(tls *libc.TLS, pRec uintptr, rValue float64, piValue uintptr) int32 { /* sqlite3.c:87708:12: */ var iValue I64 = I64(rValue) if Xsqlite3RealSameAsInt(tls, rValue, iValue) != 0 { *(*I64)(unsafe.Pointer(piValue)) = iValue @@ -64208,7 +64227,7 @@ func alsoAnInt(tls *libc.TLS, pRec uintptr, rValue float64, piValue uintptr) int // If bTryForInt is false, then if the input string contains a decimal // point or exponential notation, the result is only MEM_Real, even // if there is an exact integer representation of the quantity. -func applyNumericAffinity(tls *libc.TLS, pRec uintptr, bTryForInt int32) { /* sqlite3.c:87719:13: */ +func applyNumericAffinity(tls *libc.TLS, pRec uintptr, bTryForInt int32) { /* sqlite3.c:87732:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -64254,7 +64273,7 @@ func applyNumericAffinity(tls *libc.TLS, pRec uintptr, bTryForInt int32) { /* sq // SQLITE_AFF_BLOB: // SQLITE_AFF_NONE: // No-op. pRec is unchanged. -func applyAffinity(tls *libc.TLS, pRec uintptr, affinity uint8, enc U8) { /* sqlite3.c:87759:13: */ +func applyAffinity(tls *libc.TLS, pRec uintptr, affinity uint8, enc U8) { /* sqlite3.c:87772:13: */ if int32(affinity) >= SQLITE_AFF_NUMERIC { if int32((*Mem)(unsafe.Pointer(pRec)).Fflags)&MEM_Int == 0 { //OPTIMIZATION-IF-FALSE @@ -64286,7 +64305,7 @@ func applyAffinity(tls *libc.TLS, pRec uintptr, affinity uint8, enc U8) { /* sql // into a numeric representation. Use either INTEGER or REAL whichever // is appropriate. But only do the conversion if it is possible without // loss of information and return the revised type of the argument. -func Xsqlite3_value_numeric_type(tls *libc.TLS, pVal uintptr) int32 { /* sqlite3.c:87798:16: */ +func Xsqlite3_value_numeric_type(tls *libc.TLS, pVal uintptr) int32 { /* sqlite3.c:87811:16: */ var eType int32 = Xsqlite3_value_type(tls, pVal) if eType == SQLITE_TEXT { var pMem uintptr = pVal @@ -64298,7 +64317,7 @@ func Xsqlite3_value_numeric_type(tls *libc.TLS, pVal uintptr) int32 { /* sqlite3 // Exported version of applyAffinity(). This one works on sqlite3_value*, // not the internal Mem* type. -func Xsqlite3ValueApplyAffinity(tls *libc.TLS, pVal uintptr, affinity U8, enc U8) { /* sqlite3.c:87812:21: */ +func Xsqlite3ValueApplyAffinity(tls *libc.TLS, pVal uintptr, affinity U8, enc U8) { /* sqlite3.c:87825:21: */ applyAffinity(tls, pVal, uint8(affinity), enc) } @@ -64306,7 +64325,7 @@ func Xsqlite3ValueApplyAffinity(tls *libc.TLS, pVal uintptr, affinity U8, enc U8 // interpret as a string if we want to). Compute its corresponding // numeric type, if has one. Set the pMem->u.r and pMem->u.i fields // accordingly. -func computeNumericType(tls *libc.TLS, pMem uintptr) U16 { /* sqlite3.c:87826:28: */ +func computeNumericType(tls *libc.TLS, pMem uintptr) U16 { /* sqlite3.c:87839:28: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -64342,7 +64361,7 @@ func computeNumericType(tls *libc.TLS, pMem uintptr) U16 { /* sqlite3.c:87826:28 // // Unlike applyNumericAffinity(), this routine does not modify pMem->flags. // But it does set pMem->u.r and pMem->u.i appropriately. -func numericType(tls *libc.TLS, pMem uintptr) U16 { /* sqlite3.c:87857:12: */ +func numericType(tls *libc.TLS, pMem uintptr) U16 { /* sqlite3.c:87870:12: */ if int32((*Mem)(unsafe.Pointer(pMem)).Fflags)&(MEM_Int|MEM_Real|MEM_IntReal) != 0 { return U16(int32((*Mem)(unsafe.Pointer(pMem)).Fflags) & (MEM_Int | MEM_Real | MEM_IntReal)) @@ -64356,13 +64375,13 @@ func numericType(tls *libc.TLS, pMem uintptr) U16 { /* sqlite3.c:87857:12: */ // Return the register of pOp->p2 after first preparing it to be // overwritten with an integer value. -func out2PrereleaseWithClear(tls *libc.TLS, pOut uintptr) uintptr { /* sqlite3.c:88032:28: */ +func out2PrereleaseWithClear(tls *libc.TLS, pOut uintptr) uintptr { /* sqlite3.c:88045:28: */ Xsqlite3VdbeMemSetNull(tls, pOut) (*Mem)(unsafe.Pointer(pOut)).Fflags = U16(MEM_Int) return pOut } -func out2Prerelease(tls *libc.TLS, p uintptr, pOp uintptr) uintptr { /* sqlite3.c:88037:12: */ +func out2Prerelease(tls *libc.TLS, p uintptr, pOp uintptr) uintptr { /* sqlite3.c:88050:12: */ var pOut uintptr pOut = (*Vdbe)(unsafe.Pointer(p)).FaMem + uintptr((*VdbeOp)(unsafe.Pointer(pOp)).Fp2)*56 @@ -64378,7 +64397,7 @@ func out2Prerelease(tls *libc.TLS, p uintptr, pOp uintptr) uintptr { /* sqlite3. // Compute a bloom filter hash using pOp->p4.i registers from aMem[] beginning // with pOp->p3. Return the hash. -func filterHash(tls *libc.TLS, aMem uintptr, pOp uintptr) U64 { /* sqlite3.c:88055:12: */ +func filterHash(tls *libc.TLS, aMem uintptr, pOp uintptr) U64 { /* sqlite3.c:88068:12: */ var i int32 var mx int32 var h U64 = uint64(0) @@ -64402,7 +64421,7 @@ func filterHash(tls *libc.TLS, aMem uintptr, pOp uintptr) U64 { /* sqlite3.c:880 } // Return the symbolic name for the data type of a pMem -func vdbeMemTypeName(tls *libc.TLS, pMem uintptr) uintptr { /* sqlite3.c:88077:19: */ +func vdbeMemTypeName(tls *libc.TLS, pMem uintptr) uintptr { /* sqlite3.c:88090:19: */ return azTypes[Xsqlite3_value_type(tls, pMem)-1] } @@ -64412,11 +64431,11 @@ var azTypes = [5]uintptr{ ts + 1112, ts + 1090, ts + 1535, -} /* sqlite3.c:88078:21 */ +} /* sqlite3.c:88091:21 */ // Execute as much of a VDBE program as we can. // This is the core of sqlite3_step(). -func Xsqlite3VdbeExec(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:88092:20: */ +func Xsqlite3VdbeExec(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:88105:20: */ bp := tls.Alloc(976) defer tls.Free(976) @@ -69933,7 +69952,7 @@ op_column_corrupt: goto __8 goto __400 __399: - rc = Xsqlite3CorruptError(tls, 90310) + rc = Xsqlite3CorruptError(tls, 90323) goto abort_due_to_error __400: ; @@ -72428,7 +72447,7 @@ notExistsWithKey: if !((*Op)(unsafe.Pointer(pOp)).Fp2 == 0) { goto __642 } - rc = Xsqlite3CorruptError(tls, 92457) + rc = Xsqlite3CorruptError(tls, 92470) goto __643 __642: goto jump_to_p2 @@ -73590,7 +73609,7 @@ __724: if !((*Op)(unsafe.Pointer(pOp)).Fp5 != 0 && !(Xsqlite3WritableSchema(tls, db) != 0)) { goto __727 } - rc = Xsqlite3ReportError(tls, SQLITE_CORRUPT|int32(3)<<8, 93513, ts+5827) + rc = Xsqlite3ReportError(tls, SQLITE_CORRUPT|int32(3)<<8, 93526, ts+5827) goto abort_due_to_error __727: ; @@ -73782,7 +73801,7 @@ __737: if !(nCellKey <= int64(0) || nCellKey > int64(0x7fffffff)) { goto __738 } - rc = Xsqlite3CorruptError(tls, 93717) + rc = Xsqlite3CorruptError(tls, 93730) goto abort_due_to_error __738: ; @@ -74058,7 +74077,7 @@ __759: // 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 = Xsqlite3CorruptError(tls, 93969) + rc = Xsqlite3CorruptError(tls, 93982) __760: ; Xsqlite3DbFreeNN(tls, db, zSql) @@ -76069,7 +76088,7 @@ __916: if !(rc == SQLITE_IOERR|int32(33)<<8) { goto __918 } - rc = Xsqlite3CorruptError(tls, 95906) + rc = Xsqlite3CorruptError(tls, 95919) __918: ; __917: @@ -76158,11 +76177,11 @@ abort_due_to_interrupt: } var azType = [4]uintptr{ts + 6069, ts + 6078, ts + 6085, - ts + 6091} /* sqlite3.c:88537:25 */ -var and_logic = [9]uint8{uint8(0), uint8(0), uint8(0), uint8(0), uint8(1), uint8(2), uint8(0), uint8(2), uint8(2)} /* sqlite3.c:89761:32 */ -var or_logic = [9]uint8{uint8(0), uint8(1), uint8(2), uint8(1), uint8(1), uint8(1), uint8(2), uint8(1), uint8(2)} /* sqlite3.c:89764:32 */ -var aFlag1 = [2]U16{U16(MEM_Blob), U16(MEM_Str | MEM_Term)} /* sqlite3.c:90257:24 */ -var vfsFlags int32 = SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE | SQLITE_OPEN_EXCLUSIVE | SQLITE_OPEN_DELETEONCLOSE | SQLITE_OPEN_TRANSIENT_DB /* sqlite3.c:91512:20 */ + ts + 6091} /* sqlite3.c:88550:25 */ +var and_logic = [9]uint8{uint8(0), uint8(0), uint8(0), uint8(0), uint8(1), uint8(2), uint8(0), uint8(2), uint8(2)} /* sqlite3.c:89774:32 */ +var or_logic = [9]uint8{uint8(0), uint8(1), uint8(2), uint8(1), uint8(1), uint8(1), uint8(2), uint8(1), uint8(2)} /* sqlite3.c:89777:32 */ +var aFlag1 = [2]U16{U16(MEM_Blob), U16(MEM_Str | MEM_Term)} /* sqlite3.c:90270:24 */ +var vfsFlags int32 = SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE | SQLITE_OPEN_EXCLUSIVE | SQLITE_OPEN_DELETEONCLOSE | SQLITE_OPEN_TRANSIENT_DB /* sqlite3.c:91525:20 */ //************* End of vdbe.c *********************************************** //************* Begin file vdbeblob.c *************************************** @@ -76193,7 +76212,7 @@ type Incrblob1 = struct { Fdb uintptr FzDb uintptr FpTab uintptr -} /* sqlite3.c:96011:9 */ +} /* sqlite3.c:96024:9 */ //************* End of vdbe.c *********************************************** //************* Begin file vdbeblob.c *************************************** @@ -76214,7 +76233,7 @@ type Incrblob1 = struct { // #include "vdbeInt.h" // Valid sqlite3_blob* handles point to Incrblob structures. -type Incrblob = Incrblob1 /* sqlite3.c:96011:25 */ +type Incrblob = Incrblob1 /* sqlite3.c:96024:25 */ // This function is used by both blob_open() and blob_reopen(). It seeks // the b-tree cursor associated with blob handle p to point to row iRow. @@ -76231,7 +76250,7 @@ type Incrblob = Incrblob1 /* sqlite3.c:96011:25 */ // If an error does occur, then the b-tree cursor is closed. All subsequent // calls to sqlite3_blob_read(), blob_write() or blob_reopen() will // immediately return SQLITE_ABORT. -func blobSeekToRow(tls *libc.TLS, p uintptr, iRow Sqlite3_int64, pzErr uintptr) int32 { /* sqlite3.c:96041:12: */ +func blobSeekToRow(tls *libc.TLS, p uintptr, iRow Sqlite3_int64, pzErr uintptr) int32 { /* sqlite3.c:96054:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -76307,7 +76326,7 @@ func blobSeekToRow(tls *libc.TLS, p uintptr, iRow Sqlite3_int64, pzErr uintptr) } // Open a blob handle. -func Xsqlite3_blob_open(tls *libc.TLS, db uintptr, zDb uintptr, zTable uintptr, zColumn uintptr, iRow Sqlite_int64, wrFlag int32, ppBlob uintptr) int32 { /* sqlite3.c:96109:16: */ +func Xsqlite3_blob_open(tls *libc.TLS, db uintptr, zDb uintptr, zTable uintptr, zColumn uintptr, iRow Sqlite_int64, wrFlag int32, ppBlob uintptr) int32 { /* sqlite3.c:96122:16: */ bp := tls.Alloc(464) defer tls.Free(464) @@ -76628,7 +76647,7 @@ __38: return rc } -var iLn int32 = 0 /* sqlite3.c:96252:24 */ +var iLn int32 = 0 /* sqlite3.c:96265:24 */ var openBlob = [6]VdbeOpList{ {Fopcode: U8(OP_TableLock)}, // 0: Acquire a read or write lock {Fopcode: U8(OP_OpenRead)}, // 1: Open a cursor @@ -76637,11 +76656,11 @@ var openBlob = [6]VdbeOpList{ {Fopcode: U8(OP_Column), Fp3: int8(1)}, // 3 {Fopcode: U8(OP_ResultRow), Fp1: int8(1)}, // 4 {Fopcode: U8(OP_Halt)}, // 5 -} /* sqlite3.c:96253:31 */ +} /* sqlite3.c:96266:31 */ // Close a blob handle that was previously created using // sqlite3_blob_open(). -func Xsqlite3_blob_close(tls *libc.TLS, pBlob uintptr) int32 { /* sqlite3.c:96344:16: */ +func Xsqlite3_blob_close(tls *libc.TLS, pBlob uintptr) int32 { /* sqlite3.c:96357:16: */ var p uintptr = pBlob var rc int32 var db uintptr @@ -76660,14 +76679,14 @@ func Xsqlite3_blob_close(tls *libc.TLS, pBlob uintptr) int32 { /* sqlite3.c:9634 } // Perform a read or write operation on a blob -func blobReadWrite(tls *libc.TLS, pBlob uintptr, z uintptr, n int32, iOffset int32, xCall uintptr) int32 { /* sqlite3.c:96365:12: */ +func blobReadWrite(tls *libc.TLS, pBlob uintptr, z uintptr, n int32, iOffset int32, xCall uintptr) int32 { /* sqlite3.c:96378:12: */ var rc int32 var p uintptr = pBlob var v uintptr var db uintptr if p == uintptr(0) { - return Xsqlite3MisuseError(tls, 96377) + return Xsqlite3MisuseError(tls, 96390) } db = (*Incrblob)(unsafe.Pointer(p)).Fdb Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) @@ -76726,14 +76745,14 @@ func blobReadWrite(tls *libc.TLS, pBlob uintptr, z uintptr, n int32, iOffset int } // Read data from a blob handle. -func Xsqlite3_blob_read(tls *libc.TLS, pBlob uintptr, z uintptr, n int32, iOffset int32) int32 { /* sqlite3.c:96440:16: */ +func Xsqlite3_blob_read(tls *libc.TLS, pBlob uintptr, z uintptr, n int32, iOffset int32) int32 { /* sqlite3.c:96453:16: */ return blobReadWrite(tls, pBlob, z, n, iOffset, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, U32, U32, uintptr) int32 }{Xsqlite3BtreePayloadChecked}))) } // Write data to a blob handle. -func Xsqlite3_blob_write(tls *libc.TLS, pBlob uintptr, z uintptr, n int32, iOffset int32) int32 { /* sqlite3.c:96447:16: */ +func Xsqlite3_blob_write(tls *libc.TLS, pBlob uintptr, z uintptr, n int32, iOffset int32) int32 { /* sqlite3.c:96460:16: */ return blobReadWrite(tls, pBlob, z, n, iOffset, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, U32, U32, uintptr) int32 }{Xsqlite3BtreePutData}))) @@ -76743,7 +76762,7 @@ func Xsqlite3_blob_write(tls *libc.TLS, pBlob uintptr, z uintptr, n int32, iOffs // // The Incrblob.nByte field is fixed for the lifetime of the Incrblob // so no mutex is required for access. -func Xsqlite3_blob_bytes(tls *libc.TLS, pBlob uintptr) int32 { /* sqlite3.c:96457:16: */ +func Xsqlite3_blob_bytes(tls *libc.TLS, pBlob uintptr) int32 { /* sqlite3.c:96470:16: */ var p uintptr = pBlob if p != 0 && (*Incrblob)(unsafe.Pointer(p)).FpStmt != 0 { return (*Incrblob)(unsafe.Pointer(p)).FnByte @@ -76759,7 +76778,7 @@ func Xsqlite3_blob_bytes(tls *libc.TLS, pBlob uintptr) int32 { /* sqlite3.c:9645 // database handle error code and message set. If this happens, then all // subsequent calls to sqlite3_blob_xxx() functions (except blob_close()) // immediately return SQLITE_ABORT. -func Xsqlite3_blob_reopen(tls *libc.TLS, pBlob uintptr, iRow Sqlite3_int64) int32 { /* sqlite3.c:96472:16: */ +func Xsqlite3_blob_reopen(tls *libc.TLS, pBlob uintptr, iRow Sqlite3_int64) int32 { /* sqlite3.c:96485:16: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -76768,7 +76787,7 @@ func Xsqlite3_blob_reopen(tls *libc.TLS, pBlob uintptr, iRow Sqlite3_int64) int3 var db uintptr if p == uintptr(0) { - return Xsqlite3MisuseError(tls, 96477) + return Xsqlite3MisuseError(tls, 96490) } db = (*Incrblob)(unsafe.Pointer(p)).Fdb Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) @@ -77106,7 +77125,7 @@ type MergeEngine1 = struct { // overflows. 512MiB. // Private objects used by the sorter -type MergeEngine = MergeEngine1 /* sqlite3.c:96666:28 */ // Merge PMAs together +type MergeEngine = MergeEngine1 /* sqlite3.c:96679:28 */ // Merge PMAs together type PmaReader1 = struct { FiReadOff I64 FiEof I64 @@ -77123,7 +77142,7 @@ type PmaReader1 = struct { } /* sqlite3.c:22082:9 */ // Merge PMAs together -type PmaReader = PmaReader1 /* sqlite3.c:96667:26 */ // Incrementally read one PMA +type PmaReader = PmaReader1 /* sqlite3.c:96680:26 */ // Incrementally read one PMA type PmaWriter1 = struct { FeFWErr int32 F__ccgo_pad1 [4]byte @@ -77134,10 +77153,10 @@ type PmaWriter1 = struct { F__ccgo_pad2 [4]byte FiWriteOff I64 FpFd uintptr -} /* sqlite3.c:96668:9 */ +} /* sqlite3.c:96681:9 */ // Incrementally read one PMA -type PmaWriter = PmaWriter1 /* sqlite3.c:96668:26 */ // Incrementally write one PMA +type PmaWriter = PmaWriter1 /* sqlite3.c:96681:26 */ // Incrementally write one PMA type SorterRecord1 = struct { FnVal int32 F__ccgo_pad1 [4]byte @@ -77145,7 +77164,7 @@ type SorterRecord1 = struct { } /* sqlite3.c:22082:9 */ // Incrementally write one PMA -type SorterRecord = SorterRecord1 /* sqlite3.c:96669:29 */ // A record being sorted +type SorterRecord = SorterRecord1 /* sqlite3.c:96682:29 */ // A record being sorted type SortSubtask1 = struct { FpThread uintptr FbDone int32 @@ -77161,14 +77180,14 @@ type SortSubtask1 = struct { } /* sqlite3.c:22082:9 */ // A record being sorted -type SortSubtask = SortSubtask1 /* sqlite3.c:96670:28 */ // A sub-task in the sort process +type SortSubtask = SortSubtask1 /* sqlite3.c:96683:28 */ // A sub-task in the sort process type SorterFile1 = struct { FpFd uintptr FiEof I64 } /* sqlite3.c:22082:9 */ // A sub-task in the sort process -type SorterFile = SorterFile1 /* sqlite3.c:96671:27 */ // Temporary file object wrapper +type SorterFile = SorterFile1 /* sqlite3.c:96684:27 */ // Temporary file object wrapper type SorterList1 = struct { FpList uintptr FaMemory uintptr @@ -77177,7 +77196,7 @@ type SorterList1 = struct { } /* sqlite3.c:22082:9 */ // Temporary file object wrapper -type SorterList = SorterList1 /* sqlite3.c:96672:27 */ // In-memory list of records +type SorterList = SorterList1 /* sqlite3.c:96685:27 */ // In-memory list of records type IncrMerger1 = struct { FpTask uintptr FpMerger uintptr @@ -77190,7 +77209,7 @@ type IncrMerger1 = struct { } /* sqlite3.c:22082:9 */ // In-memory list of records -type IncrMerger = IncrMerger1 /* sqlite3.c:96673:27 */ +type IncrMerger = IncrMerger1 /* sqlite3.c:96686:27 */ // This object represents a single thread of control in a sort operation. // Exactly VdbeSorter.nTask instances of this object are allocated @@ -77221,11 +77240,11 @@ type IncrMerger = IncrMerger1 /* sqlite3.c:96673:27 */ // In both cases, the effects of the main thread seeing (bDone==0) even // after the thread has finished are not dire. So we don't worry about // memory barriers and such here. -type SorterCompare = uintptr /* sqlite3.c:96800:13 */ +type SorterCompare = uintptr /* sqlite3.c:96813:13 */ // Free all memory belonging to the PmaReader object passed as the // argument. All structure fields are set to zero before returning. -func vdbePmaReaderClear(tls *libc.TLS, pReadr uintptr) { /* sqlite3.c:96975:13: */ +func vdbePmaReaderClear(tls *libc.TLS, pReadr uintptr) { /* sqlite3.c:96988:13: */ Xsqlite3_free(tls, (*PmaReader)(unsafe.Pointer(pReadr)).FaAlloc) Xsqlite3_free(tls, (*PmaReader)(unsafe.Pointer(pReadr)).FaBuffer) if (*PmaReader)(unsafe.Pointer(pReadr)).FaMap != 0 { @@ -77242,7 +77261,7 @@ func vdbePmaReaderClear(tls *libc.TLS, pReadr uintptr) { /* sqlite3.c:96975:13: // // The buffer returned in *ppOut is only valid until the // next call to this function. -func vdbePmaReadBlob(tls *libc.TLS, p uintptr, nByte int32, ppOut uintptr) int32 { /* sqlite3.c:96992:12: */ +func vdbePmaReadBlob(tls *libc.TLS, p uintptr, nByte int32, ppOut uintptr) int32 { /* sqlite3.c:97005:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -77346,7 +77365,7 @@ func vdbePmaReadBlob(tls *libc.TLS, p uintptr, nByte int32, ppOut uintptr) int32 // Read a varint from the stream of data accessed by p. Set *pnOut to // the value read. -func vdbePmaReadVarint(tls *libc.TLS, p uintptr, pnOut uintptr) int32 { /* sqlite3.c:97086:12: */ +func vdbePmaReadVarint(tls *libc.TLS, p uintptr, pnOut uintptr) int32 { /* sqlite3.c:97099:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -77386,7 +77405,7 @@ func vdbePmaReadVarint(tls *libc.TLS, p uintptr, pnOut uintptr) int32 { /* sqlit // // Or, if an error occurs, return an SQLite error code. The final value of // *pp is undefined in this case. -func vdbeSorterMapFile(tls *libc.TLS, pTask uintptr, pFile uintptr, pp uintptr) int32 { /* sqlite3.c:97119:12: */ +func vdbeSorterMapFile(tls *libc.TLS, pTask uintptr, pFile uintptr, pp uintptr) int32 { /* sqlite3.c:97132:12: */ var rc int32 = SQLITE_OK if (*SorterFile)(unsafe.Pointer(pFile)).FiEof <= I64((*Sqlite3)(unsafe.Pointer((*VdbeSorter)(unsafe.Pointer((*SortSubtask)(unsafe.Pointer(pTask)).FpSorter)).Fdb)).FnMaxSorterMmap) { var pFd uintptr = (*SorterFile)(unsafe.Pointer(pFile)).FpFd @@ -77401,7 +77420,7 @@ func vdbeSorterMapFile(tls *libc.TLS, pTask uintptr, pFile uintptr, pp uintptr) // Attach PmaReader pReadr to file pFile (if it is not already attached to // that file) and seek it to offset iOff within the file. Return SQLITE_OK // if successful, or an SQLite error code if an error occurs. -func vdbePmaReaderSeek(tls *libc.TLS, pTask uintptr, pReadr uintptr, pFile uintptr, iOff I64) int32 { /* sqlite3.c:97136:12: */ +func vdbePmaReaderSeek(tls *libc.TLS, pTask uintptr, pReadr uintptr, pFile uintptr, iOff I64) int32 { /* sqlite3.c:97149:12: */ var rc int32 = SQLITE_OK if Xsqlite3FaultSim(tls, 201) != 0 { @@ -77442,7 +77461,7 @@ func vdbePmaReaderSeek(tls *libc.TLS, pTask uintptr, pReadr uintptr, pFile uintp // Advance PmaReader pReadr to the next key in its PMA. Return SQLITE_OK if // no error occurs, or an SQLite error code if one does. -func vdbePmaReaderNext(tls *libc.TLS, pReadr uintptr) int32 { /* sqlite3.c:97183:12: */ +func vdbePmaReaderNext(tls *libc.TLS, pReadr uintptr) int32 { /* sqlite3.c:97196:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -77488,7 +77507,7 @@ func vdbePmaReaderNext(tls *libc.TLS, pReadr uintptr) int32 { /* sqlite3.c:97183 // // If the pnByte parameter is NULL, then it is assumed that the file // contains a single PMA, and that that PMA omits the initial length varint. -func vdbePmaReaderInit(tls *libc.TLS, pTask uintptr, pFile uintptr, iStart I64, pReadr uintptr, pnByte uintptr) int32 { /* sqlite3.c:97230:12: */ +func vdbePmaReaderInit(tls *libc.TLS, pTask uintptr, pFile uintptr, iStart I64, pReadr uintptr, pnByte uintptr) int32 { /* sqlite3.c:97243:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -77511,7 +77530,7 @@ func vdbePmaReaderInit(tls *libc.TLS, pTask uintptr, pFile uintptr, iStart I64, // A version of vdbeSorterCompare() that assumes that it has already been // determined that the first field of key1 is equal to the first field of // key2. -func vdbeSorterCompareTail(tls *libc.TLS, pTask uintptr, pbKey2Cached uintptr, pKey1 uintptr, nKey1 int32, pKey2 uintptr, nKey2 int32) int32 { /* sqlite3.c:97263:12: */ +func vdbeSorterCompareTail(tls *libc.TLS, pTask uintptr, pbKey2Cached uintptr, pKey1 uintptr, nKey1 int32, pKey2 uintptr, nKey2 int32) int32 { /* sqlite3.c:97276:12: */ var r2 uintptr = (*SortSubtask)(unsafe.Pointer(pTask)).FpUnpacked if *(*int32)(unsafe.Pointer(pbKey2Cached)) == 0 { Xsqlite3VdbeRecordUnpack(tls, (*VdbeSorter)(unsafe.Pointer((*SortSubtask)(unsafe.Pointer(pTask)).FpSorter)).FpKeyInfo, nKey2, pKey2, r2) @@ -77531,7 +77550,7 @@ func vdbeSorterCompareTail(tls *libc.TLS, pTask uintptr, pbKey2Cached uintptr, p // // If an OOM error is encountered, (pTask->pUnpacked->error_rc) is set // to SQLITE_NOMEM. -func vdbeSorterCompare(tls *libc.TLS, pTask uintptr, pbKey2Cached uintptr, pKey1 uintptr, nKey1 int32, pKey2 uintptr, nKey2 int32) int32 { /* sqlite3.c:97290:12: */ +func vdbeSorterCompare(tls *libc.TLS, pTask uintptr, pbKey2Cached uintptr, pKey1 uintptr, nKey1 int32, pKey2 uintptr, nKey2 int32) int32 { /* sqlite3.c:97303:12: */ var r2 uintptr = (*SortSubtask)(unsafe.Pointer(pTask)).FpUnpacked if !(*(*int32)(unsafe.Pointer(pbKey2Cached)) != 0) { Xsqlite3VdbeRecordUnpack(tls, (*VdbeSorter)(unsafe.Pointer((*SortSubtask)(unsafe.Pointer(pTask)).FpSorter)).FpKeyInfo, nKey2, pKey2, r2) @@ -77543,7 +77562,7 @@ func vdbeSorterCompare(tls *libc.TLS, pTask uintptr, pbKey2Cached uintptr, pKey1 // A specially optimized version of vdbeSorterCompare() that assumes that // the first field of each key is a TEXT value and that the collation // sequence to compare them with is BINARY. -func vdbeSorterCompareText(tls *libc.TLS, pTask uintptr, pbKey2Cached uintptr, pKey1 uintptr, nKey1 int32, pKey2 uintptr, nKey2 int32) int32 { /* sqlite3.c:97309:12: */ +func vdbeSorterCompareText(tls *libc.TLS, pTask uintptr, pbKey2Cached uintptr, pKey1 uintptr, nKey1 int32, pKey2 uintptr, nKey2 int32) int32 { /* sqlite3.c:97322:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -77593,7 +77612,7 @@ func vdbeSorterCompareText(tls *libc.TLS, pTask uintptr, pbKey2Cached uintptr, p // A specially optimized version of vdbeSorterCompare() that assumes that // the first field of each key is an INTEGER value. -func vdbeSorterCompareInt(tls *libc.TLS, pTask uintptr, pbKey2Cached uintptr, pKey1 uintptr, nKey1 int32, pKey2 uintptr, nKey2 int32) int32 { /* sqlite3.c:97351:12: */ +func vdbeSorterCompareInt(tls *libc.TLS, pTask uintptr, pbKey2Cached uintptr, pKey1 uintptr, nKey1 int32, pKey2 uintptr, nKey2 int32) int32 { /* sqlite3.c:97364:12: */ var p1 uintptr = pKey1 var p2 uintptr = pKey2 var s1 int32 = int32(*(*U8)(unsafe.Pointer(p1 + 1))) // Left hand serial type @@ -77653,7 +77672,7 @@ func vdbeSorterCompareInt(tls *libc.TLS, pTask uintptr, pbKey2Cached uintptr, pK return res } -var aLen = [10]U8{U8(0), U8(1), U8(2), U8(3), U8(4), U8(6), U8(8), U8(0), U8(0), U8(0)} /* sqlite3.c:97370:21 */ +var aLen = [10]U8{U8(0), U8(1), U8(2), U8(3), U8(4), U8(6), U8(8), U8(0), U8(0), U8(0)} /* sqlite3.c:97383:21 */ // Initialize the temporary index cursor just opened as a sorter cursor. // @@ -77672,7 +77691,7 @@ var aLen = [10]U8{U8(0), U8(1), U8(2), U8(3), U8(4), U8(6), U8(8), U8(0), U8(0), // mode, but not in multi-threaded mode. // // SQLITE_OK is returned if successful, or an SQLite error code otherwise. -func Xsqlite3VdbeSorterInit(tls *libc.TLS, db uintptr, nField int32, pCsr uintptr) int32 { /* sqlite3.c:97434:20: */ +func Xsqlite3VdbeSorterInit(tls *libc.TLS, db uintptr, nField int32, pCsr uintptr) int32 { /* sqlite3.c:97447:20: */ var pgsz int32 // Page size of main database var i int32 // Used to iterate through aTask[] var pSorter uintptr // The new sorter @@ -77768,7 +77787,7 @@ func Xsqlite3VdbeSorterInit(tls *libc.TLS, db uintptr, nField int32, pCsr uintpt } // Free the list of sorted records starting at pRecord. -func vdbeSorterRecordFree(tls *libc.TLS, db uintptr, pRecord uintptr) { /* sqlite3.c:97540:13: */ +func vdbeSorterRecordFree(tls *libc.TLS, db uintptr, pRecord uintptr) { /* sqlite3.c:97553:13: */ var p uintptr var pNext uintptr for p = pRecord; p != 0; p = pNext { @@ -77779,7 +77798,7 @@ func vdbeSorterRecordFree(tls *libc.TLS, db uintptr, pRecord uintptr) { /* sqlit // Free all resources owned by the object indicated by argument pTask. All // fields of *pTask are zeroed before returning. -func vdbeSortSubtaskCleanup(tls *libc.TLS, db uintptr, pTask uintptr) { /* sqlite3.c:97553:13: */ +func vdbeSortSubtaskCleanup(tls *libc.TLS, db uintptr, pTask uintptr) { /* sqlite3.c:97566:13: */ Xsqlite3DbFree(tls, db, (*SortSubtask)(unsafe.Pointer(pTask)).FpUnpacked) // pTask->list.aMemory can only be non-zero if it was handed memory // from the main thread. That only occurs SQLITE_MAX_WORKER_THREADS>0 @@ -77799,7 +77818,7 @@ func vdbeSortSubtaskCleanup(tls *libc.TLS, db uintptr, pTask uintptr) { /* sqlit } // Join thread pTask->thread. -func vdbeSorterJoinThread(tls *libc.TLS, pTask uintptr) int32 { /* sqlite3.c:97619:12: */ +func vdbeSorterJoinThread(tls *libc.TLS, pTask uintptr) int32 { /* sqlite3.c:97632:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -77818,14 +77837,14 @@ func vdbeSorterJoinThread(tls *libc.TLS, pTask uintptr) int32 { /* sqlite3.c:976 } // Launch a background thread to run xTask(pIn). -func vdbeSorterCreateThread(tls *libc.TLS, pTask uintptr, xTask uintptr, pIn uintptr) int32 { /* sqlite3.c:97640:12: */ +func vdbeSorterCreateThread(tls *libc.TLS, pTask uintptr, xTask uintptr, pIn uintptr) int32 { /* sqlite3.c:97653:12: */ return Xsqlite3ThreadCreate(tls, pTask, xTask, pIn) } // Join all outstanding threads launched by SorterWrite() to create // level-0 PMAs. -func vdbeSorterJoinAll(tls *libc.TLS, pSorter uintptr, rcin int32) int32 { /* sqlite3.c:97653:12: */ +func vdbeSorterJoinAll(tls *libc.TLS, pSorter uintptr, rcin int32) int32 { /* sqlite3.c:97666:12: */ var rc int32 = rcin var i int32 @@ -77851,7 +77870,7 @@ func vdbeSorterJoinAll(tls *libc.TLS, pSorter uintptr, rcin int32) int32 { /* sq // // nReader is automatically rounded up to the next power of two. // nReader may not exceed SORTER_MAX_MERGE_COUNT even after rounding up. -func vdbeMergeEngineNew(tls *libc.TLS, nReader int32) uintptr { /* sqlite3.c:97683:20: */ +func vdbeMergeEngineNew(tls *libc.TLS, nReader int32) uintptr { /* sqlite3.c:97696:20: */ var N int32 = 2 // Smallest power of two >= nReader var nByte int32 // Total bytes of space to allocate var pNew uintptr // Pointer to allocated object to return @@ -77876,7 +77895,7 @@ func vdbeMergeEngineNew(tls *libc.TLS, nReader int32) uintptr { /* sqlite3.c:976 } // Free the MergeEngine object passed as the only argument. -func vdbeMergeEngineFree(tls *libc.TLS, pMerger uintptr) { /* sqlite3.c:97706:13: */ +func vdbeMergeEngineFree(tls *libc.TLS, pMerger uintptr) { /* sqlite3.c:97719:13: */ var i int32 if pMerger != 0 { for i = 0; i < (*MergeEngine)(unsafe.Pointer(pMerger)).FnTree; i++ { @@ -77888,7 +77907,7 @@ func vdbeMergeEngineFree(tls *libc.TLS, pMerger uintptr) { /* sqlite3.c:97706:13 // Free all resources associated with the IncrMerger object indicated by // the first argument. -func vdbeIncrFree(tls *libc.TLS, pIncr uintptr) { /* sqlite3.c:97720:13: */ +func vdbeIncrFree(tls *libc.TLS, pIncr uintptr) { /* sqlite3.c:97733:13: */ if pIncr != 0 { if (*IncrMerger)(unsafe.Pointer(pIncr)).FbUseThread != 0 { vdbeSorterJoinThread(tls, (*IncrMerger)(unsafe.Pointer(pIncr)).FpTask) @@ -77905,7 +77924,7 @@ func vdbeIncrFree(tls *libc.TLS, pIncr uintptr) { /* sqlite3.c:97720:13: */ } // Reset a sorting cursor back to its original empty state. -func Xsqlite3VdbeSorterReset(tls *libc.TLS, db uintptr, pSorter uintptr) { /* sqlite3.c:97737:21: */ +func Xsqlite3VdbeSorterReset(tls *libc.TLS, db uintptr, pSorter uintptr) { /* sqlite3.c:97750:21: */ var i int32 vdbeSorterJoinAll(tls, pSorter, SQLITE_OK) @@ -77934,7 +77953,7 @@ func Xsqlite3VdbeSorterReset(tls *libc.TLS, db uintptr, pSorter uintptr) { /* sq } // Free any cursor components allocated by sqlite3VdbeSorterXXX routines. -func Xsqlite3VdbeSorterClose(tls *libc.TLS, db uintptr, pCsr uintptr) { /* sqlite3.c:97770:21: */ +func Xsqlite3VdbeSorterClose(tls *libc.TLS, db uintptr, pCsr uintptr) { /* sqlite3.c:97783:21: */ var pSorter uintptr pSorter = *(*uintptr)(unsafe.Pointer(pCsr + 48)) @@ -77953,7 +77972,7 @@ func Xsqlite3VdbeSorterClose(tls *libc.TLS, db uintptr, pCsr uintptr) { /* sqlit // // Whether or not the file does end up memory mapped of course depends on // the specific VFS implementation. -func vdbeSorterExtendFile(tls *libc.TLS, db uintptr, pFd uintptr, nByte I64) { /* sqlite3.c:97792:13: */ +func vdbeSorterExtendFile(tls *libc.TLS, db uintptr, pFd uintptr, nByte I64) { /* sqlite3.c:97805:13: */ bp := tls.Alloc(24) defer tls.Free(24) *(*I64)(unsafe.Pointer(bp + 8)) = nByte @@ -77973,7 +77992,7 @@ func vdbeSorterExtendFile(tls *libc.TLS, db uintptr, pFd uintptr, nByte I64) { / // Allocate space for a file-handle and open a temporary file. If successful, // set *ppFd to point to the malloc'd file-handle and return SQLITE_OK. // Otherwise, set *ppFd to 0 and return an SQLite error code. -func vdbeSorterOpenTempFile(tls *libc.TLS, db uintptr, nExtend I64, ppFd uintptr) int32 { /* sqlite3.c:97811:12: */ +func vdbeSorterOpenTempFile(tls *libc.TLS, db uintptr, nExtend I64, ppFd uintptr) int32 { /* sqlite3.c:97824:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -77997,7 +78016,7 @@ func vdbeSorterOpenTempFile(tls *libc.TLS, db uintptr, nExtend I64, ppFd uintptr // If it has not already been allocated, allocate the UnpackedRecord // structure at pTask->pUnpacked. Return SQLITE_OK if successful (or // if no allocation was required), or SQLITE_NOMEM otherwise. -func vdbeSortAllocUnpacked(tls *libc.TLS, pTask uintptr) int32 { /* sqlite3.c:97838:12: */ +func vdbeSortAllocUnpacked(tls *libc.TLS, pTask uintptr) int32 { /* sqlite3.c:97851:12: */ if (*SortSubtask)(unsafe.Pointer(pTask)).FpUnpacked == uintptr(0) { (*SortSubtask)(unsafe.Pointer(pTask)).FpUnpacked = Xsqlite3VdbeAllocUnpackedRecord(tls, (*VdbeSorter)(unsafe.Pointer((*SortSubtask)(unsafe.Pointer(pTask)).FpSorter)).FpKeyInfo) if (*SortSubtask)(unsafe.Pointer(pTask)).FpUnpacked == uintptr(0) { @@ -78010,7 +78029,7 @@ func vdbeSortAllocUnpacked(tls *libc.TLS, pTask uintptr) int32 { /* sqlite3.c:97 } // Merge the two sorted lists p1 and p2 into a single list. -func vdbeSorterMerge(tls *libc.TLS, pTask uintptr, p1 uintptr, p2 uintptr) uintptr { /* sqlite3.c:97852:21: */ +func vdbeSorterMerge(tls *libc.TLS, pTask uintptr, p1 uintptr, p2 uintptr) uintptr { /* sqlite3.c:97865:21: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -78049,7 +78068,7 @@ func vdbeSorterMerge(tls *libc.TLS, pTask uintptr, p1 uintptr, p2 uintptr) uintp // Return the SorterCompare function to compare values collected by the // sorter object passed as the only argument. -func vdbeSorterGetCompare(tls *libc.TLS, p uintptr) SorterCompare { /* sqlite3.c:97894:22: */ +func vdbeSorterGetCompare(tls *libc.TLS, p uintptr) SorterCompare { /* sqlite3.c:97907:22: */ if int32((*VdbeSorter)(unsafe.Pointer(p)).FtypeMask) == SORTER_TYPE_INTEGER { return *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr, int32) int32 @@ -78067,7 +78086,7 @@ func vdbeSorterGetCompare(tls *libc.TLS, p uintptr) SorterCompare { /* sqlite3.c // Sort the linked list of records headed at pTask->pList. Return // SQLITE_OK if successful, or an SQLite error code (i.e. SQLITE_NOMEM) if // an error occurs. -func vdbeSorterSort(tls *libc.TLS, pTask uintptr, pList uintptr) int32 { /* sqlite3.c:97908:12: */ +func vdbeSorterSort(tls *libc.TLS, pTask uintptr, pList uintptr) int32 { /* sqlite3.c:97921:12: */ bp := tls.Alloc(512) defer tls.Free(512) @@ -78124,7 +78143,7 @@ func vdbeSorterSort(tls *libc.TLS, pTask uintptr, pList uintptr) int32 { /* sqli } // Initialize a PMA-writer object. -func vdbePmaWriterInit(tls *libc.TLS, pFd uintptr, p uintptr, nBuf int32, iStart I64) { /* sqlite3.c:97959:13: */ +func vdbePmaWriterInit(tls *libc.TLS, pFd uintptr, p uintptr, nBuf int32, iStart I64) { /* sqlite3.c:97972:13: */ libc.Xmemset(tls, p, 0, uint64(unsafe.Sizeof(PmaWriter{}))) (*PmaWriter)(unsafe.Pointer(p)).FaBuffer = Xsqlite3Malloc(tls, uint64(nBuf)) if !(int32((*PmaWriter)(unsafe.Pointer(p)).FaBuffer) != 0) { @@ -78139,7 +78158,7 @@ func vdbePmaWriterInit(tls *libc.TLS, pFd uintptr, p uintptr, nBuf int32, iStart // Write nData bytes of data to the PMA. Return SQLITE_OK // if successful, or an SQLite error code if an error occurs. -func vdbePmaWriteBlob(tls *libc.TLS, p uintptr, pData uintptr, nData int32) { /* sqlite3.c:97981:13: */ +func vdbePmaWriteBlob(tls *libc.TLS, p uintptr, pData uintptr, nData int32) { /* sqlite3.c:97994:13: */ var nRem int32 = nData for nRem > 0 && (*PmaWriter)(unsafe.Pointer(p)).FeFWErr == 0 { var nCopy int32 = nRem @@ -78168,7 +78187,7 @@ func vdbePmaWriteBlob(tls *libc.TLS, p uintptr, pData uintptr, nData int32) { /* // // Before returning, set *piEof to the offset immediately following the // last byte written to the file. -func vdbePmaWriterFinish(tls *libc.TLS, p uintptr, piEof uintptr) int32 { /* sqlite3.c:98014:12: */ +func vdbePmaWriterFinish(tls *libc.TLS, p uintptr, piEof uintptr) int32 { /* sqlite3.c:98027:12: */ var rc int32 if (*PmaWriter)(unsafe.Pointer(p)).FeFWErr == 0 && (*PmaWriter)(unsafe.Pointer(p)).FaBuffer != 0 && (*PmaWriter)(unsafe.Pointer(p)).FiBufEnd > (*PmaWriter)(unsafe.Pointer(p)).FiBufStart { (*PmaWriter)(unsafe.Pointer(p)).FeFWErr = Xsqlite3OsWrite(tls, (*PmaWriter)(unsafe.Pointer(p)).FpFd, @@ -78184,7 +78203,7 @@ func vdbePmaWriterFinish(tls *libc.TLS, p uintptr, piEof uintptr) int32 { /* sql // Write value iVal encoded as a varint to the PMA. Return // SQLITE_OK if successful, or an SQLite error code if an error occurs. -func vdbePmaWriteVarint(tls *libc.TLS, p uintptr, iVal U64) { /* sqlite3.c:98033:13: */ +func vdbePmaWriteVarint(tls *libc.TLS, p uintptr, iVal U64) { /* sqlite3.c:98046:13: */ bp := tls.Alloc(10) defer tls.Free(10) @@ -78207,7 +78226,7 @@ func vdbePmaWriteVarint(tls *libc.TLS, p uintptr, iVal U64) { /* sqlite3.c:98033 // * One or more records packed end-to-end in order of ascending keys. // Each record consists of a varint followed by a blob of data (the // key). The varint is the number of bytes in the blob of data. -func vdbeSorterListToPMA(tls *libc.TLS, pTask uintptr, pList uintptr) int32 { /* sqlite3.c:98054:12: */ +func vdbeSorterListToPMA(tls *libc.TLS, pTask uintptr, pList uintptr) int32 { /* sqlite3.c:98067:12: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -78262,7 +78281,7 @@ func vdbeSorterListToPMA(tls *libc.TLS, pTask uintptr, pList uintptr) int32 { /* // the MergeEngine has reached the end of all its inputs. // // Return SQLITE_OK if successful or an error code if an error occurs. -func vdbeMergeEngineStep(tls *libc.TLS, pMerger uintptr, pbEof uintptr) int32 { /* sqlite3.c:98118:12: */ +func vdbeMergeEngineStep(tls *libc.TLS, pMerger uintptr, pbEof uintptr) int32 { /* sqlite3.c:98131:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -78338,7 +78357,7 @@ func vdbeMergeEngineStep(tls *libc.TLS, pMerger uintptr, pbEof uintptr) int32 { } // The main routine for background threads that write level-0 PMAs. -func vdbeSorterFlushThread(tls *libc.TLS, pCtx uintptr) uintptr { /* sqlite3.c:98189:13: */ +func vdbeSorterFlushThread(tls *libc.TLS, pCtx uintptr) uintptr { /* sqlite3.c:98202:13: */ var pTask uintptr = pCtx var rc int32 // Return code @@ -78349,7 +78368,7 @@ func vdbeSorterFlushThread(tls *libc.TLS, pCtx uintptr) uintptr { /* sqlite3.c:9 // Flush the current contents of VdbeSorter.list to a new PMA, possibly // using a background thread. -func vdbeSorterFlushPMA(tls *libc.TLS, pSorter uintptr) int32 { /* sqlite3.c:98203:12: */ +func vdbeSorterFlushPMA(tls *libc.TLS, pSorter uintptr) int32 { /* sqlite3.c:98216:12: */ var rc int32 = SQLITE_OK var i int32 var pTask uintptr = uintptr(0) // Thread context used to create new PMA @@ -78413,7 +78432,7 @@ func vdbeSorterFlushPMA(tls *libc.TLS, pSorter uintptr) int32 { /* sqlite3.c:982 } // Add a record to the sorter. -func Xsqlite3VdbeSorterWrite(tls *libc.TLS, pCsr uintptr, pVal uintptr) int32 { /* sqlite3.c:98273:20: */ +func Xsqlite3VdbeSorterWrite(tls *libc.TLS, pCsr uintptr, pVal uintptr) int32 { /* sqlite3.c:98286:20: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -78529,7 +78548,7 @@ func Xsqlite3VdbeSorterWrite(tls *libc.TLS, pCsr uintptr, pVal uintptr) int32 { // Read keys from pIncr->pMerger and populate pIncr->aFile[1]. The format // of the data stored in aFile[1] is the same as that used by regular PMAs, // except that the number-of-bytes varint is omitted from the start. -func vdbeIncrPopulate(tls *libc.TLS, pIncr uintptr) int32 { /* sqlite3.c:98385:12: */ +func vdbeIncrPopulate(tls *libc.TLS, pIncr uintptr) int32 { /* sqlite3.c:98398:12: */ bp := tls.Alloc(52) defer tls.Free(52) @@ -78575,7 +78594,7 @@ func vdbeIncrPopulate(tls *libc.TLS, pIncr uintptr) int32 { /* sqlite3.c:98385:1 // The main routine for background threads that populate aFile[1] of // multi-threaded IncrMerger objects. -func vdbeIncrPopulateThread(tls *libc.TLS, pCtx uintptr) uintptr { /* sqlite3.c:98427:13: */ +func vdbeIncrPopulateThread(tls *libc.TLS, pCtx uintptr) uintptr { /* sqlite3.c:98440:13: */ var pIncr uintptr = pCtx var pRet uintptr = uintptr(int64(vdbeIncrPopulate(tls, pIncr))) (*SortSubtask)(unsafe.Pointer((*IncrMerger)(unsafe.Pointer(pIncr)).FpTask)).FbDone = 1 @@ -78583,7 +78602,7 @@ func vdbeIncrPopulateThread(tls *libc.TLS, pCtx uintptr) uintptr { /* sqlite3.c: } // Launch a background thread to populate aFile[1] of pIncr. -func vdbeIncrBgPopulate(tls *libc.TLS, pIncr uintptr) int32 { /* sqlite3.c:98437:12: */ +func vdbeIncrBgPopulate(tls *libc.TLS, pIncr uintptr) int32 { /* sqlite3.c:98450:12: */ var p uintptr = pIncr return vdbeSorterCreateThread(tls, (*IncrMerger)(unsafe.Pointer(pIncr)).FpTask, *(*uintptr)(unsafe.Pointer(&struct { @@ -78606,7 +78625,7 @@ func vdbeIncrBgPopulate(tls *libc.TLS, pIncr uintptr) int32 { /* sqlite3.c:98437 // to populate the new aFile[1]. // // SQLITE_OK is returned on success, or an SQLite error code otherwise. -func vdbeIncrSwap(tls *libc.TLS, pIncr uintptr) int32 { /* sqlite3.c:98461:12: */ +func vdbeIncrSwap(tls *libc.TLS, pIncr uintptr) int32 { /* sqlite3.c:98474:12: */ var rc int32 = SQLITE_OK if (*IncrMerger)(unsafe.Pointer(pIncr)).FbUseThread != 0 { @@ -78640,7 +78659,7 @@ func vdbeIncrSwap(tls *libc.TLS, pIncr uintptr) int32 { /* sqlite3.c:98461:12: * // // If an OOM condition is encountered, return NULL. In this case free the // pMerger argument before returning. -func vdbeIncrMergerNew(tls *libc.TLS, pTask uintptr, pMerger uintptr, ppOut uintptr) int32 { /* sqlite3.c:98500:12: */ +func vdbeIncrMergerNew(tls *libc.TLS, pTask uintptr, pMerger uintptr, ppOut uintptr) int32 { /* sqlite3.c:98513:12: */ var rc int32 = SQLITE_OK var pIncr uintptr = libc.AssignPtrUintptr(ppOut, func() uintptr { if Xsqlite3FaultSim(tls, 100) != 0 { @@ -78667,7 +78686,7 @@ func vdbeIncrMergerNew(tls *libc.TLS, pTask uintptr, pMerger uintptr, ppOut uint } // Set the "use-threads" flag on object pIncr. -func vdbeIncrMergerSetThreads(tls *libc.TLS, pIncr uintptr) { /* sqlite3.c:98525:13: */ +func vdbeIncrMergerSetThreads(tls *libc.TLS, pIncr uintptr) { /* sqlite3.c:98538:13: */ (*IncrMerger)(unsafe.Pointer(pIncr)).FbUseThread = 1 *(*I64)(unsafe.Pointer((*IncrMerger)(unsafe.Pointer(pIncr)).FpTask + 88 + 8)) -= I64((*IncrMerger)(unsafe.Pointer(pIncr)).FmxSz) } @@ -78675,7 +78694,7 @@ func vdbeIncrMergerSetThreads(tls *libc.TLS, pIncr uintptr) { /* sqlite3.c:98525 // Recompute pMerger->aTree[iOut] by comparing the next keys on the // two PmaReaders that feed that entry. Neither of the PmaReaders // are advanced. This routine merely does the comparison. -func vdbeMergeEngineCompare(tls *libc.TLS, pMerger uintptr, iOut int32) { /* sqlite3.c:98538:13: */ +func vdbeMergeEngineCompare(tls *libc.TLS, pMerger uintptr, iOut int32) { /* sqlite3.c:98551:13: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -78735,7 +78754,7 @@ func vdbeMergeEngineCompare(tls *libc.TLS, pMerger uintptr, iOut int32) { /* sql // to pMerger. // // SQLITE_OK is returned if successful, or an SQLite error code otherwise. -func vdbeMergeEngineInit(tls *libc.TLS, pTask uintptr, pMerger uintptr, eMode int32) int32 { /* sqlite3.c:98620:12: */ +func vdbeMergeEngineInit(tls *libc.TLS, pTask uintptr, pMerger uintptr, eMode int32) int32 { /* sqlite3.c:98633:12: */ var rc int32 = SQLITE_OK // Return code var i int32 // For looping over PmaReader objects var nTree int32 // Number of subtrees to merge @@ -78805,7 +78824,7 @@ func vdbeMergeEngineInit(tls *libc.TLS, pTask uintptr, pMerger uintptr, eMode in // the current PmaReader set to point to the first key in its range. // // SQLITE_OK is returned if successful, or an SQLite error code otherwise. -func vdbePmaReaderIncrMergeInit(tls *libc.TLS, pReadr uintptr, eMode int32) int32 { /* sqlite3.c:98696:12: */ +func vdbePmaReaderIncrMergeInit(tls *libc.TLS, pReadr uintptr, eMode int32) int32 { /* sqlite3.c:98709:12: */ var rc int32 = SQLITE_OK var pIncr uintptr = (*PmaReader)(unsafe.Pointer(pReadr)).FpIncr var pTask uintptr = (*IncrMerger)(unsafe.Pointer(pIncr)).FpTask @@ -78862,7 +78881,7 @@ func vdbePmaReaderIncrMergeInit(tls *libc.TLS, pReadr uintptr, eMode int32) int3 // The main routine for vdbePmaReaderIncrMergeInit() operations run in // background threads. -func vdbePmaReaderBgIncrInit(tls *libc.TLS, pCtx uintptr) uintptr { /* sqlite3.c:98763:13: */ +func vdbePmaReaderBgIncrInit(tls *libc.TLS, pCtx uintptr) uintptr { /* sqlite3.c:98776:13: */ var pReader uintptr = pCtx var pRet uintptr = uintptr(int64(vdbePmaReaderIncrMergeInit(tls, pReader, INCRINIT_TASK))) (*SortSubtask)(unsafe.Pointer((*IncrMerger)(unsafe.Pointer((*PmaReader)(unsafe.Pointer(pReader)).FpIncr)).FpTask)).FbDone = 1 @@ -78878,7 +78897,7 @@ func vdbePmaReaderBgIncrInit(tls *libc.TLS, pCtx uintptr) uintptr { /* sqlite3.c // then a background thread is launched to call vdbePmaReaderIncrMergeInit(). // Or, if the IncrMerger is single threaded, the same function is called // using the current thread. -func vdbePmaReaderIncrInit(tls *libc.TLS, pReadr uintptr, eMode int32) int32 { /* sqlite3.c:98784:12: */ +func vdbePmaReaderIncrInit(tls *libc.TLS, pReadr uintptr, eMode int32) int32 { /* sqlite3.c:98797:12: */ var pIncr uintptr = (*PmaReader)(unsafe.Pointer(pReadr)).FpIncr // Incremental merger var rc int32 = SQLITE_OK // Return code if pIncr != 0 { @@ -78905,7 +78924,7 @@ func vdbePmaReaderIncrInit(tls *libc.TLS, pReadr uintptr, eMode int32) int32 { / // set to the offset immediately following the last byte of the last // PMA before returning. If an error does occur, then the final value of // *piOffset is undefined. -func vdbeMergeEngineLevel0(tls *libc.TLS, pTask uintptr, nPMA int32, piOffset uintptr, ppOut uintptr) int32 { /* sqlite3.c:98814:12: */ +func vdbeMergeEngineLevel0(tls *libc.TLS, pTask uintptr, nPMA int32, piOffset uintptr, ppOut uintptr) int32 { /* sqlite3.c:98827:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -78942,7 +78961,7 @@ func vdbeMergeEngineLevel0(tls *libc.TLS, pTask uintptr, nPMA int32, piOffset ui // nPMA<=16 -> TreeDepth() == 0 // nPMA<=256 -> TreeDepth() == 1 // nPMA<=65536 -> TreeDepth() == 2 -func vdbeSorterTreeDepth(tls *libc.TLS, nPMA int32) int32 { /* sqlite3.c:98853:12: */ +func vdbeSorterTreeDepth(tls *libc.TLS, nPMA int32) int32 { /* sqlite3.c:98866:12: */ var nDepth int32 = 0 var nDiv I64 = int64(SORTER_MAX_MERGE_COUNT) for nDiv < I64(nPMA) { @@ -78958,7 +78977,7 @@ func vdbeSorterTreeDepth(tls *libc.TLS, nPMA int32) int32 { /* sqlite3.c:98853:1 // // If successful, SQLITE_OK is returned. If an error occurs, an SQLite error // code is returned and pLeaf is freed. -func vdbeSorterAddToTree(tls *libc.TLS, pTask uintptr, nDepth int32, iSeq int32, pRoot uintptr, pLeaf uintptr) int32 { /* sqlite3.c:98871:12: */ +func vdbeSorterAddToTree(tls *libc.TLS, pTask uintptr, nDepth int32, iSeq int32, pRoot uintptr, pLeaf uintptr) int32 { /* sqlite3.c:98884:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -79009,7 +79028,7 @@ func vdbeSorterAddToTree(tls *libc.TLS, pTask uintptr, nDepth int32, iSeq int32, // MergeEngine object at the root of the tree before returning. Or, if an // error occurs, an SQLite error code is returned and the final value // of *ppOut is undefined. -func vdbeSorterMergeTreeBuild(tls *libc.TLS, pSorter uintptr, ppOut uintptr) int32 { /* sqlite3.c:98927:12: */ +func vdbeSorterMergeTreeBuild(tls *libc.TLS, pSorter uintptr, ppOut uintptr) int32 { /* sqlite3.c:98940:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -79090,7 +79109,7 @@ func vdbeSorterMergeTreeBuild(tls *libc.TLS, pSorter uintptr, ppOut uintptr) int // all records stored in the sorter. // // SQLITE_OK is returned if successful, or an SQLite error code otherwise. -func vdbeSorterSetupMerge(tls *libc.TLS, pSorter uintptr) int32 { /* sqlite3.c:99006:12: */ +func vdbeSorterSetupMerge(tls *libc.TLS, pSorter uintptr) int32 { /* sqlite3.c:99019:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -79165,7 +79184,7 @@ func vdbeSorterSetupMerge(tls *libc.TLS, pSorter uintptr) int32 { /* sqlite3.c:9 // Once the sorter has been populated by calls to sqlite3VdbeSorterWrite, // this function is called to prepare for iterating through the records // in sorted order. -func Xsqlite3VdbeSorterRewind(tls *libc.TLS, pCsr uintptr, pbEof uintptr) int32 { /* sqlite3.c:99088:20: */ +func Xsqlite3VdbeSorterRewind(tls *libc.TLS, pCsr uintptr, pbEof uintptr) int32 { /* sqlite3.c:99101:20: */ var pSorter uintptr var rc int32 = SQLITE_OK // Return code @@ -79210,7 +79229,7 @@ func Xsqlite3VdbeSorterRewind(tls *libc.TLS, pCsr uintptr, pbEof uintptr) int32 // SQLITE_OK success // SQLITE_DONE end of data // otherwise some kind of error. -func Xsqlite3VdbeSorterNext(tls *libc.TLS, db uintptr, pCsr uintptr) int32 { /* sqlite3.c:99140:20: */ +func Xsqlite3VdbeSorterNext(tls *libc.TLS, db uintptr, pCsr uintptr) int32 { /* sqlite3.c:99153:20: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -79252,7 +79271,7 @@ func Xsqlite3VdbeSorterNext(tls *libc.TLS, db uintptr, pCsr uintptr) int32 { /* // Return a pointer to a buffer owned by the sorter that contains the // current key. -func vdbeSorterRowkey(tls *libc.TLS, pSorter uintptr, pnKey uintptr) uintptr { /* sqlite3.c:99178:13: */ +func vdbeSorterRowkey(tls *libc.TLS, pSorter uintptr, pnKey uintptr) uintptr { /* sqlite3.c:99191:13: */ var pKey uintptr if (*VdbeSorter)(unsafe.Pointer(pSorter)).FbUsePMA != 0 { var pReader uintptr @@ -79271,7 +79290,7 @@ func vdbeSorterRowkey(tls *libc.TLS, pSorter uintptr, pnKey uintptr) uintptr { / } // Copy the current sorter key into the memory cell pOut. -func Xsqlite3VdbeSorterRowkey(tls *libc.TLS, pCsr uintptr, pOut uintptr) int32 { /* sqlite3.c:99205:20: */ +func Xsqlite3VdbeSorterRowkey(tls *libc.TLS, pCsr uintptr, pOut uintptr) int32 { /* sqlite3.c:99218:20: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -79306,7 +79325,7 @@ func Xsqlite3VdbeSorterRowkey(tls *libc.TLS, pCsr uintptr, pOut uintptr) int32 { // // This routine forms the core of the OP_SorterCompare opcode, which in // turn is used to verify uniqueness when constructing a UNIQUE INDEX. -func Xsqlite3VdbeSorterCompare(tls *libc.TLS, pCsr uintptr, pVal uintptr, nKeyCol int32, pRes uintptr) int32 { /* sqlite3.c:99238:20: */ +func Xsqlite3VdbeSorterCompare(tls *libc.TLS, pCsr uintptr, pVal uintptr, nKeyCol int32, pRes uintptr) int32 { /* sqlite3.c:99251:20: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -79398,7 +79417,7 @@ type MemJournal1 = struct { F__ccgo_pad1 [4]byte FpVfs uintptr FzJournal uintptr -} /* sqlite3.c:99731:9 */ +} /* sqlite3.c:99744:9 */ //************* End of vdbesort.c ******************************************* //************* Begin file vdbevtab.c *************************************** @@ -79445,23 +79464,23 @@ type MemJournal1 = struct { // #include "sqliteInt.h" // Forward references to internal structures -type MemJournal = MemJournal1 /* sqlite3.c:99731:27 */ +type MemJournal = MemJournal1 /* sqlite3.c:99744:27 */ type FilePoint1 = struct { FiOffset Sqlite3_int64 FpChunk uintptr -} /* sqlite3.c:99731:9 */ +} /* sqlite3.c:99744:9 */ -type FilePoint = FilePoint1 /* sqlite3.c:99732:26 */ +type FilePoint = FilePoint1 /* sqlite3.c:99745:26 */ type FileChunk1 = struct { FpNext uintptr FzChunk [8]U8 -} /* sqlite3.c:99731:9 */ +} /* sqlite3.c:99744:9 */ -type FileChunk = FileChunk1 /* sqlite3.c:99733:26 */ +type FileChunk = FileChunk1 /* sqlite3.c:99746:26 */ // Read data from the in-memory journal file. This is the implementation // of the sqlite3_vfs.xRead method. -func memjrnlRead(tls *libc.TLS, pJfd uintptr, zBuf uintptr, iAmt int32, iOfst Sqlite_int64) int32 { /* sqlite3.c:99788:12: */ +func memjrnlRead(tls *libc.TLS, pJfd uintptr, zBuf uintptr, iAmt int32, iOfst Sqlite_int64) int32 { /* sqlite3.c:99801:12: */ var p uintptr = pJfd var zOut uintptr = zBuf var nRead int32 = iAmt @@ -79508,7 +79527,7 @@ func memjrnlRead(tls *libc.TLS, pJfd uintptr, zBuf uintptr, iAmt int32, iOfst Sq } // Free the list of FileChunk structures headed at MemJournal.pFirst. -func memjrnlFreeChunks(tls *libc.TLS, pFirst uintptr) { /* sqlite3.c:99835:13: */ +func memjrnlFreeChunks(tls *libc.TLS, pFirst uintptr) { /* sqlite3.c:99848:13: */ var pIter uintptr var pNext uintptr for pIter = pFirst; pIter != 0; pIter = pNext { @@ -79518,7 +79537,7 @@ func memjrnlFreeChunks(tls *libc.TLS, pFirst uintptr) { /* sqlite3.c:99835:13: * } // Flush the contents of memory to a real file on disk. -func memjrnlCreateFile(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:99847:12: */ +func memjrnlCreateFile(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:99860:12: */ var rc int32 var pReal uintptr = p var copy = *(*MemJournal)(unsafe.Pointer(p)) @@ -79556,7 +79575,7 @@ func memjrnlCreateFile(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:99847:12: } // Write data to the file. -func memjrnlWrite(tls *libc.TLS, pJfd uintptr, zBuf uintptr, iAmt int32, iOfst Sqlite_int64) int32 { /* sqlite3.c:99889:12: */ +func memjrnlWrite(tls *libc.TLS, pJfd uintptr, zBuf uintptr, iAmt int32, iOfst Sqlite_int64) int32 { /* sqlite3.c:99902:12: */ var p uintptr = pJfd var nWrite int32 = iAmt var zWrite uintptr = zBuf @@ -79622,7 +79641,7 @@ func memjrnlWrite(tls *libc.TLS, pJfd uintptr, zBuf uintptr, iAmt int32, iOfst S } // Truncate the in-memory file. -func memjrnlTruncate(tls *libc.TLS, pJfd uintptr, size Sqlite_int64) int32 { /* sqlite3.c:99962:12: */ +func memjrnlTruncate(tls *libc.TLS, pJfd uintptr, size Sqlite_int64) int32 { /* sqlite3.c:99975:12: */ var p uintptr = pJfd if size < (*MemJournal)(unsafe.Pointer(p)).Fendpoint.FiOffset { @@ -79650,7 +79669,7 @@ func memjrnlTruncate(tls *libc.TLS, pJfd uintptr, size Sqlite_int64) int32 { /* } // Close the file. -func memjrnlClose(tls *libc.TLS, pJfd uintptr) int32 { /* sqlite3.c:99992:12: */ +func memjrnlClose(tls *libc.TLS, pJfd uintptr) int32 { /* sqlite3.c:100005:12: */ var p uintptr = pJfd memjrnlFreeChunks(tls, (*MemJournal)(unsafe.Pointer(p)).FpFirst) return SQLITE_OK @@ -79660,14 +79679,14 @@ func memjrnlClose(tls *libc.TLS, pJfd uintptr) int32 { /* sqlite3.c:99992:12: */ // // If the real file has been created, call its xSync method. Otherwise, // syncing an in-memory journal is a no-op. -func memjrnlSync(tls *libc.TLS, pJfd uintptr, flags int32) int32 { /* sqlite3.c:100004:12: */ +func memjrnlSync(tls *libc.TLS, pJfd uintptr, flags int32) int32 { /* sqlite3.c:100017:12: */ _ = pJfd _ = flags return SQLITE_OK } // Query the size of the file in bytes. -func memjrnlFileSize(tls *libc.TLS, pJfd uintptr, pSize uintptr) int32 { /* sqlite3.c:100012:12: */ +func memjrnlFileSize(tls *libc.TLS, pJfd uintptr, pSize uintptr) int32 { /* sqlite3.c:100025:12: */ var p uintptr = pJfd *(*Sqlite_int64)(unsafe.Pointer(pSize)) = (*MemJournal)(unsafe.Pointer(p)).Fendpoint.FiOffset return SQLITE_OK @@ -79682,7 +79701,7 @@ var sMemJournalMethods = sqlite3_io_methods{ FxTruncate: 0, // xTruncate FxSync: 0, // xSync FxFileSize: 0, // xUnfetch -} /* sqlite3.c:100021:40 */ +} /* sqlite3.c:100034:40 */ // Open a journal file. // @@ -79694,7 +79713,7 @@ var sMemJournalMethods = sqlite3_io_methods{ // but may be flushed to disk later on. In this case the journal file is // flushed to disk either when it grows larger than nSpill bytes in size, // or when sqlite3JournalCreate() is called. -func Xsqlite3JournalOpen(tls *libc.TLS, pVfs uintptr, zName uintptr, pJfd uintptr, flags int32, nSpill int32) int32 { /* sqlite3.c:100055:20: */ +func Xsqlite3JournalOpen(tls *libc.TLS, pVfs uintptr, zName uintptr, pJfd uintptr, flags int32, nSpill int32) int32 { /* sqlite3.c:100068:20: */ var p uintptr = pJfd // Zero the file-handle object. If nSpill was passed zero, initialize @@ -79722,20 +79741,20 @@ func Xsqlite3JournalOpen(tls *libc.TLS, pVfs uintptr, zName uintptr, pJfd uintpt } // Open an in-memory journal file. -func Xsqlite3MemJournalOpen(tls *libc.TLS, pJfd uintptr) { /* sqlite3.c:100091:21: */ +func Xsqlite3MemJournalOpen(tls *libc.TLS, pJfd uintptr) { /* sqlite3.c:100104:21: */ Xsqlite3JournalOpen(tls, uintptr(0), uintptr(0), pJfd, 0, -1) } // The file-handle passed as the only argument is open on a journal file. // Return true if this "journal file" is currently stored in heap memory, // or false otherwise. -func Xsqlite3JournalIsInMemory(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:100130:20: */ +func Xsqlite3JournalIsInMemory(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:100143:20: */ return libc.Bool32((*Sqlite3_file)(unsafe.Pointer(p)).FpMethods == uintptr(unsafe.Pointer(&sMemJournalMethods))) } // Return the number of bytes required to store a JournalFile that uses vfs // pVfs to create the underlying on-disk files. -func Xsqlite3JournalSize(tls *libc.TLS, pVfs uintptr) int32 { /* sqlite3.c:100138:20: */ +func Xsqlite3JournalSize(tls *libc.TLS, pVfs uintptr) int32 { /* sqlite3.c:100151:20: */ return func() int32 { if (*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FszOsFile > int32(unsafe.Sizeof(MemJournal{})) { return (*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FszOsFile @@ -79764,7 +79783,7 @@ func Xsqlite3JournalSize(tls *libc.TLS, pVfs uintptr) int32 { /* sqlite3.c:10013 // Walk all expressions linked into the list of Window objects passed // as the second argument. -func walkWindowList(tls *libc.TLS, pWalker uintptr, pList uintptr, bOneOnly int32) int32 { /* sqlite3.c:100168:12: */ +func walkWindowList(tls *libc.TLS, pWalker uintptr, pList uintptr, bOneOnly int32) int32 { /* sqlite3.c:100181:12: */ var pWin uintptr for pWin = pList; pWin != 0; pWin = (*Window)(unsafe.Pointer(pWin)).FpNextWin { var rc int32 @@ -79812,7 +79831,7 @@ func walkWindowList(tls *libc.TLS, pWalker uintptr, pList uintptr, bOneOnly int3 // // The return value from this routine is WRC_Abort to abandon the tree walk // and WRC_Continue to continue. -func walkExpr(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:100207:28: */ +func walkExpr(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:100220:28: */ var rc int32 for 1 != 0 { @@ -79854,7 +79873,7 @@ func walkExpr(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3. return WRC_Continue } -func Xsqlite3WalkExpr(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:100239:20: */ +func Xsqlite3WalkExpr(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:100252:20: */ if pExpr != 0 { return walkExpr(tls, pWalker, pExpr) } @@ -79863,7 +79882,7 @@ func Xsqlite3WalkExpr(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* // Call sqlite3WalkExpr() for every expression in list p or until // an abort request is seen. -func Xsqlite3WalkExprList(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sqlite3.c:100247:20: */ +func Xsqlite3WalkExprList(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sqlite3.c:100260:20: */ var i int32 var pItem uintptr if p != 0 { @@ -79892,7 +79911,7 @@ func Xsqlite3WalkExprList(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* // This is a no-op callback for Walker->xSelectCallback2. If this // callback is set, then the Select->pWinDefn list is traversed. -func Xsqlite3WalkWinDefnDummyCallback(tls *libc.TLS, pWalker uintptr, p uintptr) { /* sqlite3.c:100262:21: */ +func Xsqlite3WalkWinDefnDummyCallback(tls *libc.TLS, pWalker uintptr, p uintptr) { /* sqlite3.c:100275:21: */ _ = pWalker _ = p // No-op @@ -79902,7 +79921,7 @@ func Xsqlite3WalkWinDefnDummyCallback(tls *libc.TLS, pWalker uintptr, p uintptr) // not invoke the SELECT callback on p, but do (of course) invoke // any expr callbacks and SELECT callbacks that come from subqueries. // Return WRC_Abort or WRC_Continue. -func Xsqlite3WalkSelectExpr(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sqlite3.c:100274:20: */ +func Xsqlite3WalkSelectExpr(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sqlite3.c:100287:20: */ if Xsqlite3WalkExprList(tls, pWalker, (*Select)(unsafe.Pointer(p)).FpEList) != 0 { return WRC_Abort } @@ -79944,7 +79963,7 @@ func Xsqlite3WalkSelectExpr(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { / // callback on p, but do invoke it on each FROM clause subquery // and on any subqueries further down in the tree. Return // WRC_Abort or WRC_Continue; -func Xsqlite3WalkSelectFrom(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sqlite3.c:100307:20: */ +func Xsqlite3WalkSelectFrom(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sqlite3.c:100320:20: */ var pSrc uintptr var i int32 var pItem uintptr @@ -79993,7 +80012,7 @@ func Xsqlite3WalkSelectFrom(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { / // // If the Walker does not have an xSelectCallback() then this routine // is a no-op returning WRC_Continue. -func Xsqlite3WalkSelect(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sqlite3.c:100345:20: */ +func Xsqlite3WalkSelect(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sqlite3.c:100358:20: */ var rc int32 if p == uintptr(0) { return WRC_Continue @@ -80024,13 +80043,13 @@ func Xsqlite3WalkSelect(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sq // Increase the walkerDepth when entering a subquery, and // descrease when leaving the subquery. -func Xsqlite3WalkerDepthIncrease(tls *libc.TLS, pWalker uintptr, pSelect uintptr) int32 { /* sqlite3.c:100368:20: */ +func Xsqlite3WalkerDepthIncrease(tls *libc.TLS, pWalker uintptr, pSelect uintptr) int32 { /* sqlite3.c:100381:20: */ _ = pSelect (*Walker)(unsafe.Pointer(pWalker)).FwalkerDepth++ return WRC_Continue } -func Xsqlite3WalkerDepthDecrease(tls *libc.TLS, pWalker uintptr, pSelect uintptr) { /* sqlite3.c:100373:21: */ +func Xsqlite3WalkerDepthDecrease(tls *libc.TLS, pWalker uintptr, pSelect uintptr) { /* sqlite3.c:100386:21: */ _ = pSelect (*Walker)(unsafe.Pointer(pWalker)).FwalkerDepth-- } @@ -80042,7 +80061,7 @@ func Xsqlite3WalkerDepthDecrease(tls *libc.TLS, pWalker uintptr, pSelect uintptr // when this routine is used for Walker.xExprCallback then // Walker.xSelectCallback is set to do something useful for every // subquery in the parser tree. -func Xsqlite3ExprWalkNoop(tls *libc.TLS, NotUsed uintptr, NotUsed2 uintptr) int32 { /* sqlite3.c:100388:20: */ +func Xsqlite3ExprWalkNoop(tls *libc.TLS, NotUsed uintptr, NotUsed2 uintptr) int32 { /* sqlite3.c:100401:20: */ _ = NotUsed _ = NotUsed2 return WRC_Continue @@ -80050,7 +80069,7 @@ func Xsqlite3ExprWalkNoop(tls *libc.TLS, NotUsed uintptr, NotUsed2 uintptr) int3 // No-op routine for the parse-tree walker for SELECT statements. // subquery in the parser tree. -func Xsqlite3SelectWalkNoop(tls *libc.TLS, NotUsed uintptr, NotUsed2 uintptr) int32 { /* sqlite3.c:100397:20: */ +func Xsqlite3SelectWalkNoop(tls *libc.TLS, NotUsed uintptr, NotUsed2 uintptr) int32 { /* sqlite3.c:100410:20: */ _ = NotUsed _ = NotUsed2 return WRC_Continue @@ -80085,14 +80104,14 @@ func Xsqlite3SelectWalkNoop(tls *libc.TLS, NotUsed uintptr, NotUsed2 uintptr) in // is a helper function - a callback for the tree walker. // // See also the sqlite3WindowExtraAggFuncDepth() routine in window.c -func incrAggDepth(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:100438:12: */ +func incrAggDepth(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:100451:12: */ if int32((*Expr)(unsafe.Pointer(pExpr)).Fop) == TK_AGG_FUNCTION { *(*U8)(unsafe.Pointer(pExpr + 2)) += U8(*(*int32)(unsafe.Pointer(pWalker + 40))) } return WRC_Continue } -func incrAggFunctionDepth(tls *libc.TLS, pExpr uintptr, N int32) { /* sqlite3.c:100442:13: */ +func incrAggFunctionDepth(tls *libc.TLS, pExpr uintptr, N int32) { /* sqlite3.c:100455:13: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -80125,7 +80144,7 @@ func incrAggFunctionDepth(tls *libc.TLS, pExpr uintptr, N int32) { /* sqlite3.c: // zero but it might be more if the alias is contained within a subquery // of the original expression. The Expr.op2 field of TK_AGG_FUNCTION // structures must be increased by the nSubquery amount. -func resolveAlias(tls *libc.TLS, pParse uintptr, pEList uintptr, iCol int32, pExpr uintptr, nSubquery int32) { /* sqlite3.c:100471:13: */ +func resolveAlias(tls *libc.TLS, pParse uintptr, pEList uintptr, iCol int32, pExpr uintptr, nSubquery int32) { /* sqlite3.c:100484:13: */ var pOrig uintptr // The iCol-th column of the result set var pDup uintptr // Copy of pOrig var db uintptr // The database connection @@ -80171,7 +80190,7 @@ func resolveAlias(tls *libc.TLS, pParse uintptr, pEList uintptr, iCol int32, pEx // // Return FALSE if the USING clause is NULL or if it does not contain // zCol. -func nameInUsingClause(tls *libc.TLS, pUsing uintptr, zCol uintptr) int32 { /* sqlite3.c:100528:12: */ +func nameInUsingClause(tls *libc.TLS, pUsing uintptr, zCol uintptr) int32 { /* sqlite3.c:100541:12: */ if pUsing != 0 { var k int32 for k = 0; k < (*IdList)(unsafe.Pointer(pUsing)).FnId; k++ { @@ -80188,7 +80207,7 @@ func nameInUsingClause(tls *libc.TLS, pUsing uintptr, zCol uintptr) int32 { /* s // Check to see if the zSpan given to this routine matches the zDb, zTab, // and zCol. If any of zDb, zTab, and zCol are NULL then those fields will // match anything. -func Xsqlite3MatchEName(tls *libc.TLS, pItem uintptr, zCol uintptr, zTab uintptr, zDb uintptr) int32 { /* sqlite3.c:100545:20: */ +func Xsqlite3MatchEName(tls *libc.TLS, pItem uintptr, zCol uintptr, zTab uintptr, zDb uintptr) int32 { /* sqlite3.c:100558:20: */ var n int32 var zSpan uintptr if int32(*(*uint8)(unsafe.Pointer(pItem + 20))&0x3>>0) != ENAME_TAB { @@ -80214,7 +80233,7 @@ func Xsqlite3MatchEName(tls *libc.TLS, pItem uintptr, zCol uintptr, zTab uintptr } // Return TRUE if the double-quoted string mis-feature should be supported. -func areDoubleQuotedStringsEnabled(tls *libc.TLS, db uintptr, pTopNC uintptr) int32 { /* sqlite3.c:100574:12: */ +func areDoubleQuotedStringsEnabled(tls *libc.TLS, db uintptr, pTopNC uintptr) int32 { /* sqlite3.c:100587:12: */ if (*Sqlite3)(unsafe.Pointer(db)).Finit.Fbusy != 0 { return 1 } // Always support for legacy schemas @@ -80233,7 +80252,7 @@ func areDoubleQuotedStringsEnabled(tls *libc.TLS, db uintptr, pTopNC uintptr) in // The argument is guaranteed to be a non-NULL Expr node of type TK_COLUMN. // return the appropriate colUsed mask. -func Xsqlite3ExprColUsed(tls *libc.TLS, pExpr uintptr) Bitmask { /* sqlite3.c:100592:24: */ +func Xsqlite3ExprColUsed(tls *libc.TLS, pExpr uintptr) Bitmask { /* sqlite3.c:100605:24: */ var n int32 var pExTab uintptr @@ -80283,7 +80302,7 @@ func Xsqlite3ExprColUsed(tls *libc.TLS, pExpr uintptr) Bitmask { /* sqlite3.c:10 // // If the name cannot be resolved unambiguously, leave an error message // in pParse and return WRC_Abort. Return WRC_Prune on success. -func lookupName(tls *libc.TLS, pParse uintptr, zDb uintptr, zTab uintptr, zCol uintptr, pNC uintptr, pExpr uintptr) int32 { /* sqlite3.c:100641:12: */ +func lookupName(tls *libc.TLS, pParse uintptr, zDb uintptr, zTab uintptr, zCol uintptr, pNC uintptr, pExpr uintptr) int32 { /* sqlite3.c:100654:12: */ bp := tls.Alloc(96) defer tls.Free(96) @@ -80998,7 +81017,7 @@ __88: // Allocate and return a pointer to an expression to load the column iCol // from datasource iSrc in SrcList pSrc. -func Xsqlite3CreateColumnExpr(tls *libc.TLS, db uintptr, pSrc uintptr, iSrc int32, iCol int32) uintptr { /* sqlite3.c:101087:21: */ +func Xsqlite3CreateColumnExpr(tls *libc.TLS, db uintptr, pSrc uintptr, iSrc int32, iCol int32) uintptr { /* sqlite3.c:101100:21: */ var p uintptr = Xsqlite3ExprAlloc(tls, db, TK_COLUMN, uintptr(0), 0) if p != 0 { var pItem uintptr = pSrc + 8 + uintptr(iSrc)*112 @@ -81047,7 +81066,7 @@ func Xsqlite3CreateColumnExpr(tls *libc.TLS, db uintptr, pSrc uintptr, iSrc int3 // As an optimization, since the conditional is almost always false // (because errors are rare), the conditional is moved outside of the // function call using a macro. -func notValidImpl(tls *libc.TLS, pParse uintptr, pNC uintptr, zMsg uintptr, pExpr uintptr, pError uintptr) { /* sqlite3.c:101131:13: */ +func notValidImpl(tls *libc.TLS, pParse uintptr, pNC uintptr, zMsg uintptr, pExpr uintptr, pError uintptr) { /* sqlite3.c:101144:13: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -81069,7 +81088,7 @@ func notValidImpl(tls *libc.TLS, pParse uintptr, pNC uintptr, zMsg uintptr, pExp // Expression p should encode a floating point value between 1.0 and 0.0. // Return 1024 times this value. Or return -1 if p is not a floating point // value between 1.0 and 0.0. -func exprProbability(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:101159:12: */ +func exprProbability(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:101172:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -81095,7 +81114,7 @@ func exprProbability(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:101159:12: * // This routine also does error checking and name resolution for // function names. The operator for aggregate functions is changed // to TK_AGG_FUNCTION. -func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:101180:12: */ +func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:101193:12: */ bp := tls.Alloc(96) defer tls.Free(96) @@ -81576,7 +81595,7 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* s // return 0. // // pEList has been resolved. pE has not. -func resolveAsName(tls *libc.TLS, pParse uintptr, pEList uintptr, pE uintptr) int32 { /* sqlite3.c:101638:12: */ +func resolveAsName(tls *libc.TLS, pParse uintptr, pEList uintptr, pE uintptr) int32 { /* sqlite3.c:101651:12: */ var i int32 // Loop counter _ = pParse @@ -81611,7 +81630,7 @@ func resolveAsName(tls *libc.TLS, pParse uintptr, pEList uintptr, pE uintptr) in // the column. // // If there is no match, return 0. Return -1 if an error occurs. -func resolveOrderByTermToExprList(tls *libc.TLS, pParse uintptr, pSelect uintptr, pE uintptr) int32 { /* sqlite3.c:101680:12: */ +func resolveOrderByTermToExprList(tls *libc.TLS, pParse uintptr, pSelect uintptr, pE uintptr) int32 { /* sqlite3.c:101693:12: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -81655,7 +81674,7 @@ func resolveOrderByTermToExprList(tls *libc.TLS, pParse uintptr, pSelect uintptr } // Generate an ORDER BY or GROUP BY term out-of-range error. -func resolveOutOfRangeError(tls *libc.TLS, pParse uintptr, zType uintptr, i int32, mx int32, pError uintptr) { /* sqlite3.c:101727:13: */ +func resolveOutOfRangeError(tls *libc.TLS, pParse uintptr, zType uintptr, i int32, mx int32, pError uintptr) { /* sqlite3.c:101740:13: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -81678,7 +81697,7 @@ func resolveOutOfRangeError(tls *libc.TLS, pParse uintptr, zType uintptr, i int3 // the integer column number. // // Return the number of errors seen. -func resolveCompoundOrderBy(tls *libc.TLS, pParse uintptr, pSelect uintptr) int32 { /* sqlite3.c:101755:12: */ +func resolveCompoundOrderBy(tls *libc.TLS, pParse uintptr, pSelect uintptr) int32 { /* sqlite3.c:101768:12: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -81815,7 +81834,7 @@ func resolveCompoundOrderBy(tls *libc.TLS, pParse uintptr, pSelect uintptr) int3 // // If any errors are detected, add an error message to pParse and // return non-zero. Return zero if no errors are seen. -func Xsqlite3ResolveOrderGroupBy(tls *libc.TLS, pParse uintptr, pSelect uintptr, pOrderBy uintptr, zType uintptr) int32 { /* sqlite3.c:101868:20: */ +func Xsqlite3ResolveOrderGroupBy(tls *libc.TLS, pParse uintptr, pSelect uintptr, pOrderBy uintptr, zType uintptr) int32 { /* sqlite3.c:101881:20: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -81861,7 +81880,7 @@ __3: } // Walker callback for windowRemoveExprFromSelect(). -func resolveRemoveWindowsCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:101902:12: */ +func resolveRemoveWindowsCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:101915:12: */ _ = pWalker if (*Expr)(unsafe.Pointer(pExpr)).Fflags&U32(EP_WinFunc) != U32(0) { var pWin uintptr = *(*uintptr)(unsafe.Pointer(pExpr + 64)) @@ -81872,7 +81891,7 @@ func resolveRemoveWindowsCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 // Remove any Window objects owned by the expression pExpr from the // Select.pWin list of Select object pSelect. -func windowRemoveExprFromSelect(tls *libc.TLS, pSelect uintptr, pExpr uintptr) { /* sqlite3.c:101915:13: */ +func windowRemoveExprFromSelect(tls *libc.TLS, pSelect uintptr, pExpr uintptr) { /* sqlite3.c:101928:13: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -81904,7 +81923,7 @@ func windowRemoveExprFromSelect(tls *libc.TLS, pSelect uintptr, pExpr uintptr) { // This routine returns the number of errors. If errors occur, then // an appropriate error message might be left in pParse. (OOM errors // excepted.) -func resolveOrderGroupBy(tls *libc.TLS, pNC uintptr, pSelect uintptr, pOrderBy uintptr, zType uintptr) int32 { /* sqlite3.c:101946:12: */ +func resolveOrderGroupBy(tls *libc.TLS, pNC uintptr, pSelect uintptr, pOrderBy uintptr, zType uintptr) int32 { /* sqlite3.c:101959:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -81981,7 +82000,7 @@ __3: } // Resolve names in the SELECT statement p and all of its descendants. -func resolveSelectStep(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sqlite3.c:102009:12: */ +func resolveSelectStep(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sqlite3.c:102022:12: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -82280,7 +82299,7 @@ func resolveSelectStep(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sql // // An error message is left in pParse if anything is amiss. The number // if errors is returned. -func Xsqlite3ResolveExprNames(tls *libc.TLS, pNC uintptr, pExpr uintptr) int32 { /* sqlite3.c:102297:20: */ +func Xsqlite3ResolveExprNames(tls *libc.TLS, pNC uintptr, pExpr uintptr) int32 { /* sqlite3.c:102310:20: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -82321,7 +82340,7 @@ func Xsqlite3ResolveExprNames(tls *libc.TLS, pNC uintptr, pExpr uintptr) int32 { // Resolve all names for all expression in an expression list. This is // just like sqlite3ResolveExprNames() except that it works for an expression // list rather than a single expression. -func Xsqlite3ResolveExprListNames(tls *libc.TLS, pNC uintptr, pList uintptr) int32 { /* sqlite3.c:102336:20: */ +func Xsqlite3ResolveExprListNames(tls *libc.TLS, pNC uintptr, pList uintptr) int32 { /* sqlite3.c:102349:20: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -82378,7 +82397,7 @@ func Xsqlite3ResolveExprListNames(tls *libc.TLS, pNC uintptr, pList uintptr) int // // All SELECT statements should have been expanded using // sqlite3SelectExpand() prior to invoking this routine. -func Xsqlite3ResolveSelectNames(tls *libc.TLS, pParse uintptr, p uintptr, pOuterNC uintptr) { /* sqlite3.c:102392:21: */ +func Xsqlite3ResolveSelectNames(tls *libc.TLS, pParse uintptr, p uintptr, pOuterNC uintptr) { /* sqlite3.c:102405:21: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -82412,7 +82431,7 @@ func Xsqlite3ResolveSelectNames(tls *libc.TLS, pParse uintptr, p uintptr, pOuter // set to the column number. In case (4), TK_COLUMN nodes cause an error. // // Any errors cause an error message to be set in pParse. -func Xsqlite3ResolveSelfReference(tls *libc.TLS, pParse uintptr, pTab uintptr, type1 int32, pExpr uintptr, pList uintptr) int32 { /* sqlite3.c:102426:20: */ +func Xsqlite3ResolveSelfReference(tls *libc.TLS, pParse uintptr, pTab uintptr, type1 int32, pExpr uintptr, pList uintptr) int32 { /* sqlite3.c:102439:20: */ bp := tls.Alloc(176) defer tls.Free(176) @@ -82448,7 +82467,7 @@ func Xsqlite3ResolveSelfReference(tls *libc.TLS, pParse uintptr, pTab uintptr, t } // Return the affinity character for a single column of a table. -func Xsqlite3TableColumnAffinity(tls *libc.TLS, pTab uintptr, iCol int32) uint8 { /* sqlite3.c:102486:21: */ +func Xsqlite3TableColumnAffinity(tls *libc.TLS, pTab uintptr, iCol int32) uint8 { /* sqlite3.c:102499:21: */ if iCol < 0 || iCol >= int32((*Table)(unsafe.Pointer(pTab)).FnCol) { return uint8(SQLITE_AFF_INTEGER) } @@ -82469,7 +82488,7 @@ func Xsqlite3TableColumnAffinity(tls *libc.TLS, pTab uintptr, iCol int32) uint8 // SELECT * FROM t1 WHERE a; // SELECT a AS b FROM t1 WHERE b; // SELECT * FROM t1 WHERE (select a from t1); -func Xsqlite3ExprAffinity(tls *libc.TLS, pExpr uintptr) uint8 { /* sqlite3.c:102507:21: */ +func Xsqlite3ExprAffinity(tls *libc.TLS, pExpr uintptr) uint8 { /* sqlite3.c:102520:21: */ var op int32 for (*Expr)(unsafe.Pointer(pExpr)).Fflags&U32(EP_Skip|EP_IfNullRow) != U32(0) { @@ -82512,7 +82531,7 @@ func Xsqlite3ExprAffinity(tls *libc.TLS, pExpr uintptr) uint8 { /* sqlite3.c:102 // // If a memory allocation error occurs, that fact is recorded in pParse->db // and the pExpr parameter is returned unchanged. -func Xsqlite3ExprAddCollateToken(tls *libc.TLS, pParse uintptr, pExpr uintptr, pCollName uintptr, dequote int32) uintptr { /* sqlite3.c:102560:21: */ +func Xsqlite3ExprAddCollateToken(tls *libc.TLS, pParse uintptr, pExpr uintptr, pCollName uintptr, dequote int32) uintptr { /* sqlite3.c:102573:21: */ if (*Token)(unsafe.Pointer(pCollName)).Fn > uint32(0) { var pNew uintptr = Xsqlite3ExprAlloc(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, TK_COLLATE, pCollName, dequote) if pNew != 0 { @@ -82524,7 +82543,7 @@ func Xsqlite3ExprAddCollateToken(tls *libc.TLS, pParse uintptr, pExpr uintptr, p return pExpr } -func Xsqlite3ExprAddCollateString(tls *libc.TLS, pParse uintptr, pExpr uintptr, zC uintptr) uintptr { /* sqlite3.c:102576:21: */ +func Xsqlite3ExprAddCollateString(tls *libc.TLS, pParse uintptr, pExpr uintptr, zC uintptr) uintptr { /* sqlite3.c:102589:21: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -82535,7 +82554,7 @@ func Xsqlite3ExprAddCollateString(tls *libc.TLS, pParse uintptr, pExpr uintptr, } // Skip over any TK_COLLATE operators. -func Xsqlite3ExprSkipCollate(tls *libc.TLS, pExpr uintptr) uintptr { /* sqlite3.c:102590:21: */ +func Xsqlite3ExprSkipCollate(tls *libc.TLS, pExpr uintptr) uintptr { /* sqlite3.c:102603:21: */ for pExpr != 0 && (*Expr)(unsafe.Pointer(pExpr)).Fflags&U32(EP_Skip) != U32(0) { pExpr = (*Expr)(unsafe.Pointer(pExpr)).FpLeft @@ -82546,7 +82565,7 @@ func Xsqlite3ExprSkipCollate(tls *libc.TLS, pExpr uintptr) uintptr { /* sqlite3. // Skip over any TK_COLLATE operators and/or any unlikely() // or likelihood() or likely() functions at the root of an // expression. -func Xsqlite3ExprSkipCollateAndLikely(tls *libc.TLS, pExpr uintptr) uintptr { /* sqlite3.c:102603:21: */ +func Xsqlite3ExprSkipCollateAndLikely(tls *libc.TLS, pExpr uintptr) uintptr { /* sqlite3.c:102616:21: */ for pExpr != 0 && (*Expr)(unsafe.Pointer(pExpr)).Fflags&U32(EP_Skip|EP_Unlikely) != U32(0) { if (*Expr)(unsafe.Pointer(pExpr)).Fflags&U32(EP_Unlikely) != U32(0) { @@ -82571,7 +82590,7 @@ func Xsqlite3ExprSkipCollateAndLikely(tls *libc.TLS, pExpr uintptr) uintptr { /* // or by the presence of a column with a defined collating sequence. // COLLATE operators take first precedence. Left operands take // precedence over right operands. -func Xsqlite3ExprCollSeq(tls *libc.TLS, pParse uintptr, pExpr uintptr) uintptr { /* sqlite3.c:102632:24: */ +func Xsqlite3ExprCollSeq(tls *libc.TLS, pParse uintptr, pExpr uintptr) uintptr { /* sqlite3.c:102645:24: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb var pColl uintptr = uintptr(0) var p uintptr = pExpr @@ -82643,7 +82662,7 @@ func Xsqlite3ExprCollSeq(tls *libc.TLS, pParse uintptr, pExpr uintptr) uintptr { // // The sqlite3ExprCollSeq() routine works the same except that it // returns NULL if there is no defined collation. -func Xsqlite3ExprNNCollSeq(tls *libc.TLS, pParse uintptr, pExpr uintptr) uintptr { /* sqlite3.c:102705:24: */ +func Xsqlite3ExprNNCollSeq(tls *libc.TLS, pParse uintptr, pExpr uintptr) uintptr { /* sqlite3.c:102718:24: */ var p uintptr = Xsqlite3ExprCollSeq(tls, pParse, pExpr) if p == uintptr(0) { p = (*Sqlite3)(unsafe.Pointer((*Parse)(unsafe.Pointer(pParse)).Fdb)).FpDfltColl @@ -82653,7 +82672,7 @@ func Xsqlite3ExprNNCollSeq(tls *libc.TLS, pParse uintptr, pExpr uintptr) uintptr } // Return TRUE if the two expressions have equivalent collating sequences. -func Xsqlite3ExprCollSeqMatch(tls *libc.TLS, pParse uintptr, pE1 uintptr, pE2 uintptr) int32 { /* sqlite3.c:102715:20: */ +func Xsqlite3ExprCollSeqMatch(tls *libc.TLS, pParse uintptr, pE1 uintptr, pE2 uintptr) int32 { /* sqlite3.c:102728:20: */ var pColl1 uintptr = Xsqlite3ExprNNCollSeq(tls, pParse, pE1) var pColl2 uintptr = Xsqlite3ExprNNCollSeq(tls, pParse, pE2) return libc.Bool32(Xsqlite3StrICmp(tls, (*CollSeq)(unsafe.Pointer(pColl1)).FzName, (*CollSeq)(unsafe.Pointer(pColl2)).FzName) == 0) @@ -82662,7 +82681,7 @@ func Xsqlite3ExprCollSeqMatch(tls *libc.TLS, pParse uintptr, pE1 uintptr, pE2 ui // pExpr is an operand of a comparison operator. aff2 is the // type affinity of the other operand. This routine returns the // type affinity that should be used for the comparison operator. -func Xsqlite3CompareAffinity(tls *libc.TLS, pExpr uintptr, aff2 uint8) uint8 { /* sqlite3.c:102726:21: */ +func Xsqlite3CompareAffinity(tls *libc.TLS, pExpr uintptr, aff2 uint8) uint8 { /* sqlite3.c:102739:21: */ var aff1 uint8 = Xsqlite3ExprAffinity(tls, pExpr) if int32(aff1) > SQLITE_AFF_NONE && int32(aff2) > SQLITE_AFF_NONE { // Both sides of the comparison are columns. If one has numeric @@ -82687,7 +82706,7 @@ func Xsqlite3CompareAffinity(tls *libc.TLS, pExpr uintptr, aff2 uint8) uint8 { / // pExpr is a comparison operator. Return the type affinity that should // be applied to both operands prior to doing the comparison. -func comparisonAffinity(tls *libc.TLS, pExpr uintptr) uint8 { /* sqlite3.c:102748:13: */ +func comparisonAffinity(tls *libc.TLS, pExpr uintptr) uint8 { /* sqlite3.c:102761:13: */ var aff uint8 aff = Xsqlite3ExprAffinity(tls, (*Expr)(unsafe.Pointer(pExpr)).FpLeft) @@ -82705,7 +82724,7 @@ func comparisonAffinity(tls *libc.TLS, pExpr uintptr) uint8 { /* sqlite3.c:10274 // idx_affinity is the affinity of an indexed column. Return true // if the index with affinity idx_affinity may be used to implement // the comparison in pExpr. -func Xsqlite3IndexAffinityOk(tls *libc.TLS, pExpr uintptr, idx_affinity uint8) int32 { /* sqlite3.c:102771:20: */ +func Xsqlite3IndexAffinityOk(tls *libc.TLS, pExpr uintptr, idx_affinity uint8) int32 { /* sqlite3.c:102784:20: */ var aff uint8 = comparisonAffinity(tls, pExpr) if int32(aff) < SQLITE_AFF_TEXT { return 1 @@ -82718,7 +82737,7 @@ func Xsqlite3IndexAffinityOk(tls *libc.TLS, pExpr uintptr, idx_affinity uint8) i // Return the P5 value that should be used for a binary comparison // opcode (OP_Eq, OP_Ge etc.) used to compare pExpr1 and pExpr2. -func binaryCompareP5(tls *libc.TLS, pExpr1 uintptr, pExpr2 uintptr, jumpIfNull int32) U8 { /* sqlite3.c:102786:11: */ +func binaryCompareP5(tls *libc.TLS, pExpr1 uintptr, pExpr2 uintptr, jumpIfNull int32) U8 { /* sqlite3.c:102799:11: */ var aff U8 = U8(Xsqlite3ExprAffinity(tls, pExpr2)) aff = U8(int32(U8(Xsqlite3CompareAffinity(tls, pExpr1, uint8(aff)))) | int32(U8(jumpIfNull))) return aff @@ -82734,7 +82753,7 @@ func binaryCompareP5(tls *libc.TLS, pExpr1 uintptr, pExpr2 uintptr, jumpIfNull i // // Argument pRight (but not pLeft) may be a null pointer. In this case, // it is not considered. -func Xsqlite3BinaryCompareCollSeq(tls *libc.TLS, pParse uintptr, pLeft uintptr, pRight uintptr) uintptr { /* sqlite3.c:102808:24: */ +func Xsqlite3BinaryCompareCollSeq(tls *libc.TLS, pParse uintptr, pLeft uintptr, pRight uintptr) uintptr { /* sqlite3.c:102821:24: */ var pColl uintptr if (*Expr)(unsafe.Pointer(pLeft)).Fflags&U32(EP_Collate) != 0 { @@ -82757,7 +82776,7 @@ func Xsqlite3BinaryCompareCollSeq(tls *libc.TLS, pParse uintptr, pLeft uintptr, // However, if the OP_Commuted flag is set, then the order of the operands // is reversed in the sqlite3BinaryCompareCollSeq() call so that the // correct collating sequence is found. -func Xsqlite3ExprCompareCollSeq(tls *libc.TLS, pParse uintptr, p uintptr) uintptr { /* sqlite3.c:102836:24: */ +func Xsqlite3ExprCompareCollSeq(tls *libc.TLS, pParse uintptr, p uintptr) uintptr { /* sqlite3.c:102849:24: */ if (*Expr)(unsafe.Pointer(p)).Fflags&U32(EP_Commuted) != U32(0) { return Xsqlite3BinaryCompareCollSeq(tls, pParse, (*Expr)(unsafe.Pointer(p)).FpRight, (*Expr)(unsafe.Pointer(p)).FpLeft) } else { @@ -82767,7 +82786,7 @@ func Xsqlite3ExprCompareCollSeq(tls *libc.TLS, pParse uintptr, p uintptr) uintpt } // Generate code for a comparison operator. -func codeCompare(tls *libc.TLS, pParse uintptr, pLeft uintptr, pRight uintptr, opcode int32, in1 int32, in2 int32, dest int32, jumpIfNull int32, isCommuted int32) int32 { /* sqlite3.c:102847:12: */ +func codeCompare(tls *libc.TLS, pParse uintptr, pLeft uintptr, pRight uintptr, opcode int32, in1 int32, in2 int32, dest int32, jumpIfNull int32, isCommuted int32) int32 { /* sqlite3.c:102860:12: */ var p5 int32 var addr int32 var p4 uintptr @@ -82794,7 +82813,7 @@ func codeCompare(tls *libc.TLS, pParse uintptr, pLeft uintptr, pRight uintptr, o // parser will not generate a TK_VECTOR with fewer than two entries. // But a TK_SELECT might be either a vector or a scalar. It is only // considered a vector if it has two or more result columns. -func Xsqlite3ExprIsVector(tls *libc.TLS, pExpr uintptr) int32 { /* sqlite3.c:102883:20: */ +func Xsqlite3ExprIsVector(tls *libc.TLS, pExpr uintptr) int32 { /* sqlite3.c:102896:20: */ return libc.Bool32(Xsqlite3ExprVectorSize(tls, pExpr) > 1) } @@ -82802,7 +82821,7 @@ func Xsqlite3ExprIsVector(tls *libc.TLS, pExpr uintptr) int32 { /* sqlite3.c:102 // return the number of expressions in the vector. Or, if the expression // is a sub-select, return the number of columns in the sub-select. For // any other type of expression, return 1. -func Xsqlite3ExprVectorSize(tls *libc.TLS, pExpr uintptr) int32 { /* sqlite3.c:102893:20: */ +func Xsqlite3ExprVectorSize(tls *libc.TLS, pExpr uintptr) int32 { /* sqlite3.c:102906:20: */ var op U8 = (*Expr)(unsafe.Pointer(pExpr)).Fop if int32(op) == TK_REGISTER { op = (*Expr)(unsafe.Pointer(pExpr)).Fop2 @@ -82832,7 +82851,7 @@ func Xsqlite3ExprVectorSize(tls *libc.TLS, pExpr uintptr) int32 { /* sqlite3.c:1 // just the expression for the i-th term of the result set, and may // not be ready for evaluation because the table cursor has not yet // been positioned. -func Xsqlite3VectorFieldSubexpr(tls *libc.TLS, pVector uintptr, i int32) uintptr { /* sqlite3.c:102922:21: */ +func Xsqlite3VectorFieldSubexpr(tls *libc.TLS, pVector uintptr, i int32) uintptr { /* sqlite3.c:102935:21: */ if Xsqlite3ExprIsVector(tls, pVector) != 0 { @@ -82866,7 +82885,7 @@ func Xsqlite3VectorFieldSubexpr(tls *libc.TLS, pVector uintptr, i int32) uintptr // A trick to cause a TK_SELECT pVector to be deleted together with // the returned Expr object is to attach the pVector to the pRight field // of the returned TK_SELECT_COLUMN Expr object. -func Xsqlite3ExprForVectorField(tls *libc.TLS, pParse uintptr, pVector uintptr, iField int32, nField int32) uintptr { /* sqlite3.c:102958:21: */ +func Xsqlite3ExprForVectorField(tls *libc.TLS, pParse uintptr, pVector uintptr, iField int32, nField int32) uintptr { /* sqlite3.c:102971:21: */ var pRet uintptr if int32((*Expr)(unsafe.Pointer(pVector)).Fop) == TK_SELECT { @@ -82914,7 +82933,7 @@ func Xsqlite3ExprForVectorField(tls *libc.TLS, pParse uintptr, pVector uintptr, // of registers in which the result is stored). // // If pExpr is not a TK_SELECT expression, return 0. -func exprCodeSubselect(tls *libc.TLS, pParse uintptr, pExpr uintptr) int32 { /* sqlite3.c:103014:12: */ +func exprCodeSubselect(tls *libc.TLS, pParse uintptr, pExpr uintptr) int32 { /* sqlite3.c:103027:12: */ var reg int32 = 0 if int32((*Expr)(unsafe.Pointer(pExpr)).Fop) == TK_SELECT { reg = Xsqlite3CodeSubselect(tls, pParse, pExpr) @@ -82938,7 +82957,7 @@ func exprCodeSubselect(tls *libc.TLS, pParse uintptr, pExpr uintptr) int32 { /* // // Before returning, output parameter (*ppExpr) is set to point to the // Expr object corresponding to element iElem of the vector. -func exprVectorRegister(tls *libc.TLS, pParse uintptr, pVector uintptr, iField int32, regSelect int32, ppExpr uintptr, pRegFree uintptr) int32 { /* sqlite3.c:103042:12: */ +func exprVectorRegister(tls *libc.TLS, pParse uintptr, pVector uintptr, iField int32, regSelect int32, ppExpr uintptr, pRegFree uintptr) int32 { /* sqlite3.c:103055:12: */ var op U8 = (*Expr)(unsafe.Pointer(pVector)).Fop if int32(op) == TK_REGISTER { @@ -82967,7 +82986,7 @@ func exprVectorRegister(tls *libc.TLS, pParse uintptr, pVector uintptr, iField i // if pExpr->op==TK_IS: op==TK_EQ and p5==SQLITE_NULLEQ // if pExpr->op==TK_ISNOT: op==TK_NE and p5==SQLITE_NULLEQ // otherwise: op==pExpr->op and p5==0 -func codeVectorCompare(tls *libc.TLS, pParse uintptr, pExpr uintptr, dest int32, op U8, p5 U8) { /* sqlite3.c:103080:13: */ +func codeVectorCompare(tls *libc.TLS, pParse uintptr, pExpr uintptr, dest int32, op U8, p5 U8) { /* sqlite3.c:103093:13: */ bp := tls.Alloc(28) defer tls.Free(28) @@ -83055,7 +83074,7 @@ func codeVectorCompare(tls *libc.TLS, pParse uintptr, pExpr uintptr, dest int32, // Check that argument nHeight is less than or equal to the maximum // expression depth allowed. If it is not, leave an error message in // pParse. -func Xsqlite3ExprCheckHeight(tls *libc.TLS, pParse uintptr, nHeight int32) int32 { /* sqlite3.c:103175:20: */ +func Xsqlite3ExprCheckHeight(tls *libc.TLS, pParse uintptr, nHeight int32) int32 { /* sqlite3.c:103188:20: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -83077,7 +83096,7 @@ func Xsqlite3ExprCheckHeight(tls *libc.TLS, pParse uintptr, nHeight int32) int32 // If this maximum height is greater than the current value pointed // to by pnHeight, the second parameter, then set *pnHeight to that // value. -func heightOfExpr(tls *libc.TLS, p uintptr, pnHeight uintptr) { /* sqlite3.c:103196:13: */ +func heightOfExpr(tls *libc.TLS, p uintptr, pnHeight uintptr) { /* sqlite3.c:103209:13: */ if p != 0 { if (*Expr)(unsafe.Pointer(p)).FnHeight > *(*int32)(unsafe.Pointer(pnHeight)) { *(*int32)(unsafe.Pointer(pnHeight)) = (*Expr)(unsafe.Pointer(p)).FnHeight @@ -83085,7 +83104,7 @@ func heightOfExpr(tls *libc.TLS, p uintptr, pnHeight uintptr) { /* sqlite3.c:103 } } -func heightOfExprList(tls *libc.TLS, p uintptr, pnHeight uintptr) { /* sqlite3.c:103203:13: */ +func heightOfExprList(tls *libc.TLS, p uintptr, pnHeight uintptr) { /* sqlite3.c:103216:13: */ if p != 0 { var i int32 for i = 0; i < (*ExprList)(unsafe.Pointer(p)).FnExpr; i++ { @@ -83094,7 +83113,7 @@ func heightOfExprList(tls *libc.TLS, p uintptr, pnHeight uintptr) { /* sqlite3.c } } -func heightOfSelect(tls *libc.TLS, pSelect uintptr, pnHeight uintptr) { /* sqlite3.c:103211:13: */ +func heightOfSelect(tls *libc.TLS, pSelect uintptr, pnHeight uintptr) { /* sqlite3.c:103224:13: */ var p uintptr for p = pSelect; p != 0; p = (*Select)(unsafe.Pointer(p)).FpPrior { heightOfExpr(tls, (*Select)(unsafe.Pointer(p)).FpWhere, pnHeight) @@ -83114,7 +83133,7 @@ func heightOfSelect(tls *libc.TLS, pSelect uintptr, pnHeight uintptr) { /* sqlit // // Also propagate EP_Propagate flags up from Expr.x.pList to Expr.flags, // if appropriate. -func exprSetHeight(tls *libc.TLS, p uintptr) { /* sqlite3.c:103233:13: */ +func exprSetHeight(tls *libc.TLS, p uintptr) { /* sqlite3.c:103246:13: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -83141,7 +83160,7 @@ func exprSetHeight(tls *libc.TLS, p uintptr) { /* sqlite3.c:103233:13: */ // // Also propagate all EP_Propagate flags from the Expr.x.pList into // Expr.flags. -func Xsqlite3ExprSetHeightAndFlags(tls *libc.TLS, pParse uintptr, p uintptr) { /* sqlite3.c:103253:21: */ +func Xsqlite3ExprSetHeightAndFlags(tls *libc.TLS, pParse uintptr, p uintptr) { /* sqlite3.c:103266:21: */ if (*Parse)(unsafe.Pointer(pParse)).FnErr != 0 { return } @@ -83151,7 +83170,7 @@ func Xsqlite3ExprSetHeightAndFlags(tls *libc.TLS, pParse uintptr, p uintptr) { / // Return the maximum height of any expression tree referenced // by the select statement passed as an argument. -func Xsqlite3SelectExprHeight(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:103263:20: */ +func Xsqlite3SelectExprHeight(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:103276:20: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -83178,7 +83197,7 @@ func Xsqlite3SelectExprHeight(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:103 // stored in u.zToken. Instead, the integer values is written // into u.iValue and the EP_IntValue flag is set. No extra storage // is allocated to hold the integer text and the dequote flag is ignored. -func Xsqlite3ExprAlloc(tls *libc.TLS, db uintptr, op int32, pToken uintptr, dequote int32) uintptr { /* sqlite3.c:103302:21: */ +func Xsqlite3ExprAlloc(tls *libc.TLS, db uintptr, op int32, pToken uintptr, dequote int32) uintptr { /* sqlite3.c:103315:21: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -83226,7 +83245,7 @@ func Xsqlite3ExprAlloc(tls *libc.TLS, db uintptr, op int32, pToken uintptr, dequ // Allocate a new expression node from a zero-terminated token that has // already been dequoted. -func Xsqlite3Expr(tls *libc.TLS, db uintptr, op int32, zToken uintptr) uintptr { /* sqlite3.c:103350:21: */ +func Xsqlite3Expr(tls *libc.TLS, db uintptr, op int32, zToken uintptr) uintptr { /* sqlite3.c:103363:21: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -83241,7 +83260,7 @@ func Xsqlite3Expr(tls *libc.TLS, db uintptr, op int32, zToken uintptr) uintptr { // // If pRoot==NULL that means that a memory allocation error has occurred. // In that case, delete the subtrees pLeft and pRight. -func Xsqlite3ExprAttachSubtrees(tls *libc.TLS, db uintptr, pRoot uintptr, pLeft uintptr, pRight uintptr) { /* sqlite3.c:103367:21: */ +func Xsqlite3ExprAttachSubtrees(tls *libc.TLS, db uintptr, pRoot uintptr, pLeft uintptr, pRight uintptr) { /* sqlite3.c:103380:21: */ if pRoot == uintptr(0) { Xsqlite3ExprDelete(tls, db, pLeft) @@ -83264,7 +83283,7 @@ func Xsqlite3ExprAttachSubtrees(tls *libc.TLS, db uintptr, pRoot uintptr, pLeft // One or both of the subtrees can be NULL. Return a pointer to the new // Expr node. Or, if an OOM error occurs, set pParse->db->mallocFailed, // free the subtrees and return NULL. -func Xsqlite3PExpr(tls *libc.TLS, pParse uintptr, op int32, pLeft uintptr, pRight uintptr) uintptr { /* sqlite3.c:103397:21: */ +func Xsqlite3PExpr(tls *libc.TLS, pParse uintptr, op int32, pLeft uintptr, pRight uintptr) uintptr { /* sqlite3.c:103410:21: */ var p uintptr p = Xsqlite3DbMallocRawNN(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, uint64(unsafe.Sizeof(Expr{}))) if p != 0 { @@ -83282,7 +83301,7 @@ func Xsqlite3PExpr(tls *libc.TLS, pParse uintptr, op int32, pLeft uintptr, pRigh // Add pSelect to the Expr.x.pSelect field. Or, if pExpr is NULL (due // do a memory allocation failure) then delete the pSelect object. -func Xsqlite3PExprAddSelect(tls *libc.TLS, pParse uintptr, pExpr uintptr, pSelect uintptr) { /* sqlite3.c:103422:21: */ +func Xsqlite3PExprAddSelect(tls *libc.TLS, pParse uintptr, pExpr uintptr, pSelect uintptr) { /* sqlite3.c:103435:21: */ if pExpr != 0 { *(*uintptr)(unsafe.Pointer(pExpr + 32)) = pSelect *(*U32)(unsafe.Pointer(pExpr + 4)) |= U32(EP_xIsSelect | EP_Subquery) @@ -83310,7 +83329,7 @@ func Xsqlite3PExprAddSelect(tls *libc.TLS, pParse uintptr, pExpr uintptr, pSelec // // This is used as part of processing IN(...) expressions with a list // of vectors on the RHS. e.g. "... IN ((1,2), (3,4), (5,6))". -func Xsqlite3ExprListToValues(tls *libc.TLS, pParse uintptr, nElem int32, pEList uintptr) uintptr { /* sqlite3.c:103452:23: */ +func Xsqlite3ExprListToValues(tls *libc.TLS, pParse uintptr, nElem int32, pEList uintptr) uintptr { /* sqlite3.c:103465:23: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -83362,7 +83381,7 @@ func Xsqlite3ExprListToValues(tls *libc.TLS, pParse uintptr, nElem int32, pEList // If one side or the other of the AND is known to be false, then instead // of returning an AND expression, just return a constant expression with // a value of false. -func Xsqlite3ExprAnd(tls *libc.TLS, pParse uintptr, pLeft uintptr, pRight uintptr) uintptr { /* sqlite3.c:103499:21: */ +func Xsqlite3ExprAnd(tls *libc.TLS, pParse uintptr, pLeft uintptr, pRight uintptr) uintptr { /* sqlite3.c:103512:21: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb if pLeft == uintptr(0) { return pRight @@ -83381,7 +83400,7 @@ func Xsqlite3ExprAnd(tls *libc.TLS, pParse uintptr, pLeft uintptr, pRight uintpt // Construct a new expression node for a function with multiple // arguments. -func Xsqlite3ExprFunction(tls *libc.TLS, pParse uintptr, pList uintptr, pToken uintptr, eDistinct int32) uintptr { /* sqlite3.c:103520:21: */ +func Xsqlite3ExprFunction(tls *libc.TLS, pParse uintptr, pList uintptr, pToken uintptr, eDistinct int32) uintptr { /* sqlite3.c:103533:21: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -83418,7 +83437,7 @@ func Xsqlite3ExprFunction(tls *libc.TLS, pParse uintptr, pList uintptr, pToken u // top-level SQL // // If the function is not usable, create an error. -func Xsqlite3ExprFunctionUsable(tls *libc.TLS, pParse uintptr, pExpr uintptr, pDef uintptr) { /* sqlite3.c:103560:21: */ +func Xsqlite3ExprFunctionUsable(tls *libc.TLS, pParse uintptr, pExpr uintptr, pDef uintptr) { /* sqlite3.c:103573:21: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -83450,7 +83469,7 @@ func Xsqlite3ExprFunctionUsable(tls *libc.TLS, pParse uintptr, pExpr uintptr, pD // as the previous instance of the same wildcard. Or if this is the first // instance of the wildcard, the next sequential variable number is // assigned. -func Xsqlite3ExprAssignVarNumber(tls *libc.TLS, pParse uintptr, pExpr uintptr, n U32) { /* sqlite3.c:103599:21: */ +func Xsqlite3ExprAssignVarNumber(tls *libc.TLS, pParse uintptr, pExpr uintptr, n U32) { /* sqlite3.c:103612:21: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -83518,7 +83537,7 @@ func Xsqlite3ExprAssignVarNumber(tls *libc.TLS, pParse uintptr, pExpr uintptr, n } // Recursively delete an expression tree. -func sqlite3ExprDeleteNN(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:103669:29: */ +func sqlite3ExprDeleteNN(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:103682:29: */ if !((*Expr)(unsafe.Pointer(p)).Fflags&U32(EP_TokenOnly|EP_Leaf) != U32(0)) { // The Expr.x union is never used at the same time as Expr.pRight @@ -83548,7 +83567,7 @@ func sqlite3ExprDeleteNN(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:10 } } -func Xsqlite3ExprDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:103710:21: */ +func Xsqlite3ExprDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:103723:21: */ if p != 0 { sqlite3ExprDeleteNN(tls, db, p) } @@ -83562,13 +83581,13 @@ func Xsqlite3ExprDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:103 // // The deferred delete is (currently) implemented by adding the // pExpr to the pParse->pConstExpr list with a register number of 0. -func Xsqlite3ExprDeferredDelete(tls *libc.TLS, pParse uintptr, pExpr uintptr) { /* sqlite3.c:103725:21: */ +func Xsqlite3ExprDeferredDelete(tls *libc.TLS, pParse uintptr, pExpr uintptr) { /* sqlite3.c:103738:21: */ (*Parse)(unsafe.Pointer(pParse)).FpConstExpr = Xsqlite3ExprListAppend(tls, pParse, (*Parse)(unsafe.Pointer(pParse)).FpConstExpr, pExpr) } // Invoke sqlite3RenameExprUnmap() and sqlite3ExprDelete() on the // expression. -func Xsqlite3ExprUnmapAndDelete(tls *libc.TLS, pParse uintptr, p uintptr) { /* sqlite3.c:103733:21: */ +func Xsqlite3ExprUnmapAndDelete(tls *libc.TLS, pParse uintptr, p uintptr) { /* sqlite3.c:103746:21: */ if p != 0 { if int32((*Parse)(unsafe.Pointer(pParse)).FeParseMode) >= PARSE_MODE_RENAME { Xsqlite3RenameExprUnmap(tls, pParse, p) @@ -83580,7 +83599,7 @@ func Xsqlite3ExprUnmapAndDelete(tls *libc.TLS, pParse uintptr, p uintptr) { /* s // Return the number of bytes allocated for the expression structure // passed as the first argument. This is always one of EXPR_FULLSIZE, // EXPR_REDUCEDSIZE or EXPR_TOKENONLYSIZE. -func exprStructSize(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:103747:12: */ +func exprStructSize(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:103760:12: */ if (*Expr)(unsafe.Pointer(p)).Fflags&U32(EP_TokenOnly) != U32(0) { return int32(uintptr(0) + 16) } @@ -83622,7 +83641,7 @@ func exprStructSize(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:103747:12: */ // to reduce a pristine expression tree from the parser. The implementation // of dupedExprStructSize() contain multiple assert() statements that attempt // to enforce this constraint. -func dupedExprStructSize(tls *libc.TLS, p uintptr, flags int32) int32 { /* sqlite3.c:103787:12: */ +func dupedExprStructSize(tls *libc.TLS, p uintptr, flags int32) int32 { /* sqlite3.c:103800:12: */ var nSize int32 // Only one flag value allowed @@ -83644,7 +83663,7 @@ func dupedExprStructSize(tls *libc.TLS, p uintptr, flags int32) int32 { /* sqlit // This function returns the space in bytes required to store the copy // of the Expr structure and a copy of the Expr.u.zToken string (if that // string is defined.) -func dupedExprNodeSize(tls *libc.TLS, p uintptr, flags int32) int32 { /* sqlite3.c:103818:12: */ +func dupedExprNodeSize(tls *libc.TLS, p uintptr, flags int32) int32 { /* sqlite3.c:103831:12: */ var nByte int32 = dupedExprStructSize(tls, p, flags) & 0xfff if !((*Expr)(unsafe.Pointer(p)).Fflags&U32(EP_IntValue) != U32(0)) && *(*uintptr)(unsafe.Pointer(p + 8)) != 0 { nByte = int32(Size_t(nByte) + (libc.Xstrlen(tls, *(*uintptr)(unsafe.Pointer(p + 8)))&uint64(0x3fffffff) + uint64(1))) @@ -83663,7 +83682,7 @@ func dupedExprNodeSize(tls *libc.TLS, p uintptr, flags int32) int32 { /* sqlite3 // space to duplicate all Expr nodes in the tree formed by Expr.pLeft // and Expr.pRight variables (but not for any structures pointed to or // descended from the Expr.x.pList or Expr.x.pSelect variables). -func dupedExprSize(tls *libc.TLS, p uintptr, flags int32) int32 { /* sqlite3.c:103839:12: */ +func dupedExprSize(tls *libc.TLS, p uintptr, flags int32) int32 { /* sqlite3.c:103852:12: */ var nByte int32 = 0 if p != 0 { nByte = dupedExprNodeSize(tls, p, flags) @@ -83680,7 +83699,7 @@ func dupedExprSize(tls *libc.TLS, p uintptr, flags int32) int32 { /* sqlite3.c:1 // (if applicable), and the copies of the p->pLeft and p->pRight expressions, // if any. Before returning, *pzBuffer is set to the first byte past the // portion of the buffer copied into by this function. -func exprDup(tls *libc.TLS, db uintptr, p uintptr, dupFlags int32, pzBuffer uintptr) uintptr { /* sqlite3.c:103858:13: */ +func exprDup(tls *libc.TLS, db uintptr, p uintptr, dupFlags int32, pzBuffer uintptr) uintptr { /* sqlite3.c:103871:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -83790,7 +83809,7 @@ func exprDup(tls *libc.TLS, db uintptr, p uintptr, dupFlags int32, pzBuffer uint // Create and return a deep copy of the object passed as the second // argument. If an OOM condition is encountered, NULL is returned // and the db->mallocFailed flag set. -func Xsqlite3WithDup(tls *libc.TLS, db uintptr, p uintptr) uintptr { /* sqlite3.c:103968:21: */ +func Xsqlite3WithDup(tls *libc.TLS, db uintptr, p uintptr) uintptr { /* sqlite3.c:103981:21: */ var pRet uintptr = uintptr(0) if p != 0 { var nByte Sqlite3_int64 = Sqlite3_int64(uint64(unsafe.Sizeof(With{})) + uint64(unsafe.Sizeof(Cte{}))*uint64((*With)(unsafe.Pointer(p)).FnCte-1)) @@ -83812,7 +83831,7 @@ func Xsqlite3WithDup(tls *libc.TLS, db uintptr, p uintptr) uintptr { /* sqlite3. // gatherSelectWindowsCallback() are used to scan all the expressions // an a newly duplicated SELECT statement and gather all of the Window // objects found there, assembling them onto the linked list at Select->pWin. -func gatherSelectWindowsCallback(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:103996:12: */ +func gatherSelectWindowsCallback(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:104009:12: */ if int32((*Expr)(unsafe.Pointer(pExpr)).Fop) == TK_FUNCTION && (*Expr)(unsafe.Pointer(pExpr)).Fflags&U32(EP_WinFunc) != U32(0) { var pSelect uintptr = *(*uintptr)(unsafe.Pointer(pWalker + 40)) var pWin uintptr = *(*uintptr)(unsafe.Pointer(pExpr + 64)) @@ -83822,14 +83841,14 @@ func gatherSelectWindowsCallback(tls *libc.TLS, pWalker uintptr, pExpr uintptr) return WRC_Continue } -func gatherSelectWindowsSelectCallback(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sqlite3.c:104007:12: */ +func gatherSelectWindowsSelectCallback(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sqlite3.c:104020:12: */ if p == *(*uintptr)(unsafe.Pointer(pWalker + 40)) { return WRC_Continue } return WRC_Prune } -func gatherSelectWindows(tls *libc.TLS, p uintptr) { /* sqlite3.c:104010:13: */ +func gatherSelectWindows(tls *libc.TLS, p uintptr) { /* sqlite3.c:104023:13: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -83862,7 +83881,7 @@ func gatherSelectWindows(tls *libc.TLS, p uintptr) { /* sqlite3.c:104010:13: */ // If the EXPRDUP_REDUCE flag is set, then the structure returned is a // truncated version of the usual Expr structure that will be stored as // part of the in-memory representation of the database schema. -func Xsqlite3ExprDup(tls *libc.TLS, db uintptr, p uintptr, flags int32) uintptr { /* sqlite3.c:104039:21: */ +func Xsqlite3ExprDup(tls *libc.TLS, db uintptr, p uintptr, flags int32) uintptr { /* sqlite3.c:104052:21: */ if p != 0 { return exprDup(tls, db, p, flags, uintptr(0)) @@ -83870,7 +83889,7 @@ func Xsqlite3ExprDup(tls *libc.TLS, db uintptr, p uintptr, flags int32) uintptr return uintptr(0) } -func Xsqlite3ExprListDup(tls *libc.TLS, db uintptr, p uintptr, flags int32) uintptr { /* sqlite3.c:104043:25: */ +func Xsqlite3ExprListDup(tls *libc.TLS, db uintptr, p uintptr, flags int32) uintptr { /* sqlite3.c:104056:25: */ var pNew uintptr var pItem uintptr var pOldItem uintptr @@ -83939,7 +83958,7 @@ __3: // the build, then none of the following routines, except for // sqlite3SelectDup(), can be called. sqlite3SelectDup() is sometimes // called with a NULL argument. -func Xsqlite3SrcListDup(tls *libc.TLS, db uintptr, p uintptr, flags int32) uintptr { /* sqlite3.c:104098:24: */ +func Xsqlite3SrcListDup(tls *libc.TLS, db uintptr, p uintptr, flags int32) uintptr { /* sqlite3.c:104111:24: */ var pNew uintptr var i int32 var nByte int32 @@ -83992,7 +84011,7 @@ func Xsqlite3SrcListDup(tls *libc.TLS, db uintptr, p uintptr, flags int32) uintp return pNew } -func Xsqlite3IdListDup(tls *libc.TLS, db uintptr, p uintptr) uintptr { /* sqlite3.c:104142:23: */ +func Xsqlite3IdListDup(tls *libc.TLS, db uintptr, p uintptr) uintptr { /* sqlite3.c:104155:23: */ var pNew uintptr var i int32 @@ -84021,7 +84040,7 @@ func Xsqlite3IdListDup(tls *libc.TLS, db uintptr, p uintptr) uintptr { /* sqlite return pNew } -func Xsqlite3SelectDup(tls *libc.TLS, db uintptr, pDup uintptr, flags int32) uintptr { /* sqlite3.c:104166:23: */ +func Xsqlite3SelectDup(tls *libc.TLS, db uintptr, pDup uintptr, flags int32) uintptr { /* sqlite3.c:104179:23: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -84087,9 +84106,9 @@ func Xsqlite3SelectDup(tls *libc.TLS, db uintptr, pDup uintptr, flags int32) uin // If a memory allocation error occurs, the entire list is freed and // NULL is returned. If non-NULL is returned, then it is guaranteed // that the new entry was successfully appended. -var zeroItem = ExprList_item{} /* sqlite3.c:104237:35 */ +var zeroItem = ExprList_item{} /* sqlite3.c:104250:35 */ -func Xsqlite3ExprListAppendNew(tls *libc.TLS, db uintptr, pExpr uintptr) uintptr { /* sqlite3.c:104238:41: */ +func Xsqlite3ExprListAppendNew(tls *libc.TLS, db uintptr, pExpr uintptr) uintptr { /* sqlite3.c:104251:41: */ var pItem uintptr var pList uintptr @@ -84106,7 +84125,7 @@ func Xsqlite3ExprListAppendNew(tls *libc.TLS, db uintptr, pExpr uintptr) uintptr return pList } -func Xsqlite3ExprListAppendGrow(tls *libc.TLS, db uintptr, pList uintptr, pExpr uintptr) uintptr { /* sqlite3.c:104257:41: */ +func Xsqlite3ExprListAppendGrow(tls *libc.TLS, db uintptr, pList uintptr, pExpr uintptr) uintptr { /* sqlite3.c:104270:41: */ var pItem uintptr var pNew uintptr *(*int32)(unsafe.Pointer(pList + 4)) *= 2 @@ -84125,7 +84144,7 @@ func Xsqlite3ExprListAppendGrow(tls *libc.TLS, db uintptr, pList uintptr, pExpr return pList } -func Xsqlite3ExprListAppend(tls *libc.TLS, pParse uintptr, pList uintptr, pExpr uintptr) uintptr { /* sqlite3.c:104279:25: */ +func Xsqlite3ExprListAppend(tls *libc.TLS, pParse uintptr, pList uintptr, pExpr uintptr) uintptr { /* sqlite3.c:104292:25: */ var pItem uintptr if pList == uintptr(0) { return Xsqlite3ExprListAppendNew(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, pExpr) @@ -84148,7 +84167,7 @@ func Xsqlite3ExprListAppend(tls *libc.TLS, pParse uintptr, pList uintptr, pExpr // For each term of the vector assignment, append new entries to the // expression list pList. In the case of a subquery on the RHS, append // TK_SELECT_COLUMN expressions. -func Xsqlite3ExprListAppendVector(tls *libc.TLS, pParse uintptr, pList uintptr, pColumns uintptr, pExpr uintptr) uintptr { /* sqlite3.c:104308:25: */ +func Xsqlite3ExprListAppendVector(tls *libc.TLS, pParse uintptr, pList uintptr, pColumns uintptr, pExpr uintptr) uintptr { /* sqlite3.c:104321:25: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -84245,7 +84264,7 @@ vector_append_error: } // Set the sort order for the last element on the given ExprList. -func Xsqlite3ExprListSetSortOrder(tls *libc.TLS, p uintptr, iSortOrder int32, eNulls int32) { /* sqlite3.c:104370:21: */ +func Xsqlite3ExprListSetSortOrder(tls *libc.TLS, p uintptr, iSortOrder int32, eNulls int32) { /* sqlite3.c:104383:21: */ var pItem uintptr if p == uintptr(0) { return @@ -84272,7 +84291,7 @@ func Xsqlite3ExprListSetSortOrder(tls *libc.TLS, p uintptr, iSortOrder int32, eN // pList might be NULL following an OOM error. But pName should never be // NULL. If a memory allocation fails, the pParse->db->mallocFailed flag // is set. -func Xsqlite3ExprListSetName(tls *libc.TLS, pParse uintptr, pList uintptr, pName uintptr, dequote int32) { /* sqlite3.c:104408:21: */ +func Xsqlite3ExprListSetName(tls *libc.TLS, pParse uintptr, pList uintptr, pName uintptr, dequote int32) { /* sqlite3.c:104421:21: */ if pList != 0 { var pItem uintptr @@ -84298,7 +84317,7 @@ func Xsqlite3ExprListSetName(tls *libc.TLS, pParse uintptr, pList uintptr, pName // pList might be NULL following an OOM error. But pSpan should never be // NULL. If a memory allocation fails, the pParse->db->mallocFailed flag // is set. -func Xsqlite3ExprListSetSpan(tls *libc.TLS, pParse uintptr, pList uintptr, zStart uintptr, zEnd uintptr) { /* sqlite3.c:104443:21: */ +func Xsqlite3ExprListSetSpan(tls *libc.TLS, pParse uintptr, pList uintptr, zStart uintptr, zEnd uintptr) { /* sqlite3.c:104456:21: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb if pList != 0 { @@ -84313,7 +84332,7 @@ func Xsqlite3ExprListSetSpan(tls *libc.TLS, pParse uintptr, pList uintptr, zStar // If the expression list pEList contains more than iLimit elements, // leave an error message in pParse. -func Xsqlite3ExprListCheckLength(tls *libc.TLS, pParse uintptr, pEList uintptr, zObject uintptr) { /* sqlite3.c:104465:21: */ +func Xsqlite3ExprListCheckLength(tls *libc.TLS, pParse uintptr, pEList uintptr, zObject uintptr) { /* sqlite3.c:104478:21: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -84325,7 +84344,7 @@ func Xsqlite3ExprListCheckLength(tls *libc.TLS, pParse uintptr, pEList uintptr, } // Delete an entire expression list. -func exprListDeleteNN(tls *libc.TLS, db uintptr, pList uintptr) { /* sqlite3.c:104481:29: */ +func exprListDeleteNN(tls *libc.TLS, db uintptr, pList uintptr) { /* sqlite3.c:104494:29: */ var i int32 = (*ExprList)(unsafe.Pointer(pList)).FnExpr var pItem uintptr = pList + 8 /* &.a */ @@ -84337,7 +84356,7 @@ func exprListDeleteNN(tls *libc.TLS, db uintptr, pList uintptr) { /* sqlite3.c:1 Xsqlite3DbFreeNN(tls, db, pList) } -func Xsqlite3ExprListDelete(tls *libc.TLS, db uintptr, pList uintptr) { /* sqlite3.c:104492:21: */ +func Xsqlite3ExprListDelete(tls *libc.TLS, db uintptr, pList uintptr) { /* sqlite3.c:104505:21: */ if pList != 0 { exprListDeleteNN(tls, db, pList) } @@ -84345,7 +84364,7 @@ func Xsqlite3ExprListDelete(tls *libc.TLS, db uintptr, pList uintptr) { /* sqlit // Return the bitwise-OR of all Expr.flags fields in the given // ExprList. -func Xsqlite3ExprListFlags(tls *libc.TLS, pList uintptr) U32 { /* sqlite3.c:104500:20: */ +func Xsqlite3ExprListFlags(tls *libc.TLS, pList uintptr) U32 { /* sqlite3.c:104513:20: */ var i int32 var m U32 = U32(0) @@ -84362,7 +84381,7 @@ func Xsqlite3ExprListFlags(tls *libc.TLS, pList uintptr) U32 { /* sqlite3.c:1045 // pWalker->eCode to zero and abort. // // This callback is used by multiple expression walkers. -func Xsqlite3SelectWalkFail(tls *libc.TLS, pWalker uintptr, NotUsed uintptr) int32 { /* sqlite3.c:104519:20: */ +func Xsqlite3SelectWalkFail(tls *libc.TLS, pWalker uintptr, NotUsed uintptr) int32 { /* sqlite3.c:104532:20: */ _ = NotUsed (*Walker)(unsafe.Pointer(pWalker)).FeCode = U16(0) return WRC_Abort @@ -84374,7 +84393,7 @@ func Xsqlite3SelectWalkFail(tls *libc.TLS, pWalker uintptr, NotUsed uintptr) int // "true" EP_IsTrue // "false" EP_IsFalse // anything else 0 -func Xsqlite3IsTrueOrFalse(tls *libc.TLS, zIn uintptr) U32 { /* sqlite3.c:104533:20: */ +func Xsqlite3IsTrueOrFalse(tls *libc.TLS, zIn uintptr) U32 { /* sqlite3.c:104546:20: */ if Xsqlite3StrICmp(tls, zIn, ts+6646) == 0 { return U32(EP_IsTrue) } @@ -84387,7 +84406,7 @@ func Xsqlite3IsTrueOrFalse(tls *libc.TLS, zIn uintptr) U32 { /* sqlite3.c:104533 // If the input expression is an ID with the name "true" or "false" // then convert it into an TK_TRUEFALSE term. Return non-zero if // the conversion happened, and zero if the expression is unaltered. -func Xsqlite3ExprIdToTrueFalse(tls *libc.TLS, pExpr uintptr) int32 { /* sqlite3.c:104545:20: */ +func Xsqlite3ExprIdToTrueFalse(tls *libc.TLS, pExpr uintptr) int32 { /* sqlite3.c:104558:20: */ var v U32 if !((*Expr)(unsafe.Pointer(pExpr)).Fflags&U32(EP_Quoted|EP_IntValue) != U32(0)) && @@ -84401,7 +84420,7 @@ func Xsqlite3ExprIdToTrueFalse(tls *libc.TLS, pExpr uintptr) int32 { /* sqlite3. // The argument must be a TK_TRUEFALSE Expr node. Return 1 if it is TRUE // and 0 if it is FALSE. -func Xsqlite3ExprTruthValue(tls *libc.TLS, pExpr uintptr) int32 { /* sqlite3.c:104562:20: */ +func Xsqlite3ExprTruthValue(tls *libc.TLS, pExpr uintptr) int32 { /* sqlite3.c:104575:20: */ pExpr = Xsqlite3ExprSkipCollate(tls, pExpr) return libc.Bool32(int32(*(*uint8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pExpr + 8)) + 4))) == 0) @@ -84418,7 +84437,7 @@ func Xsqlite3ExprTruthValue(tls *libc.TLS, pExpr uintptr) int32 { /* sqlite3.c:1 // (x<10) AND (y=22 OR false) => (x<10) AND (y=22) // (x<10) AND (y=22 OR true) => (x<10) // (y=22) OR true => true -func Xsqlite3ExprSimplifiedAndOr(tls *libc.TLS, pExpr uintptr) uintptr { /* sqlite3.c:104584:21: */ +func Xsqlite3ExprSimplifiedAndOr(tls *libc.TLS, pExpr uintptr) uintptr { /* sqlite3.c:104597:21: */ if int32((*Expr)(unsafe.Pointer(pExpr)).Fop) == TK_AND || int32((*Expr)(unsafe.Pointer(pExpr)).Fop) == TK_OR { var pRight uintptr = Xsqlite3ExprSimplifiedAndOr(tls, (*Expr)(unsafe.Pointer(pExpr)).FpRight) @@ -84464,7 +84483,7 @@ func Xsqlite3ExprSimplifiedAndOr(tls *libc.TLS, pExpr uintptr) uintptr { /* sqli // contain a bound parameter because they were generated by older versions // of SQLite to be parsed by newer versions of SQLite without raising a // malformed schema error. -func exprNodeIsConstant(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:104625:12: */ +func exprNodeIsConstant(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:104638:12: */ // If pWalker->eCode is 2 then any term of the expression that comes from // the ON or USING clauses of a left join disqualifies the expression @@ -84539,7 +84558,7 @@ func exprNodeIsConstant(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { / return int32(0) } -func exprIsConst(tls *libc.TLS, p uintptr, initFlag int32, iCur int32) int32 { /* sqlite3.c:104697:12: */ +func exprIsConst(tls *libc.TLS, p uintptr, initFlag int32, iCur int32) int32 { /* sqlite3.c:104710:12: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -84563,7 +84582,7 @@ func exprIsConst(tls *libc.TLS, p uintptr, initFlag int32, iCur int32) int32 { / // For the purposes of this function, a double-quoted string (ex: "abc") // is considered a variable but a single-quoted string (ex: 'abc') is // a constant. -func Xsqlite3ExprIsConstant(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:104718:20: */ +func Xsqlite3ExprIsConstant(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:104731:20: */ return exprIsConst(tls, p, 1, 0) } @@ -84578,7 +84597,7 @@ func Xsqlite3ExprIsConstant(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:10471 // When this routine returns true, it indicates that the expression // can be added to the pParse->pConstExpr list and evaluated once when // the prepared statement starts up. See sqlite3ExprCodeRunJustOnce(). -func Xsqlite3ExprIsConstantNotJoin(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:104735:20: */ +func Xsqlite3ExprIsConstantNotJoin(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:104748:20: */ return exprIsConst(tls, p, 2, 0) } @@ -84586,12 +84605,12 @@ func Xsqlite3ExprIsConstantNotJoin(tls *libc.TLS, p uintptr) int32 { /* sqlite3. // for any single row of the table with cursor iCur. In other words, the // expression must not refer to any non-deterministic function nor any // table other than iCur. -func Xsqlite3ExprIsTableConstant(tls *libc.TLS, p uintptr, iCur int32) int32 { /* sqlite3.c:104745:20: */ +func Xsqlite3ExprIsTableConstant(tls *libc.TLS, p uintptr, iCur int32) int32 { /* sqlite3.c:104758:20: */ return exprIsConst(tls, p, 3, iCur) } // sqlite3WalkExpr() callback used by sqlite3ExprIsConstantOrGroupBy(). -func exprNodeIsConstantOrGroupBy(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:104753:12: */ +func exprNodeIsConstantOrGroupBy(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:104766:12: */ var pGroupBy uintptr = *(*uintptr)(unsafe.Pointer(pWalker + 40)) var i int32 @@ -84633,7 +84652,7 @@ func exprNodeIsConstantOrGroupBy(tls *libc.TLS, pWalker uintptr, pExpr uintptr) // alternative collating sequences are uncommon, and this is only an // optimization, so we take the easy way out and simply require the // GROUP BY to use the BINARY collating sequence. -func Xsqlite3ExprIsConstantOrGroupBy(tls *libc.TLS, pParse uintptr, p uintptr, pGroupBy uintptr) int32 { /* sqlite3.c:104797:20: */ +func Xsqlite3ExprIsConstantOrGroupBy(tls *libc.TLS, pParse uintptr, p uintptr, pGroupBy uintptr) int32 { /* sqlite3.c:104810:20: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -84669,7 +84688,7 @@ func Xsqlite3ExprIsConstantOrGroupBy(tls *libc.TLS, pParse uintptr, p uintptr, p // For the purposes of this function, a double-quoted string (ex: "abc") // is considered a variable but a single-quoted string (ex: 'abc') is // a constant. -func Xsqlite3ExprIsConstantOrFunction(tls *libc.TLS, p uintptr, isInit U8) int32 { /* sqlite3.c:104829:20: */ +func Xsqlite3ExprIsConstantOrFunction(tls *libc.TLS, p uintptr, isInit U8) int32 { /* sqlite3.c:104842:20: */ return exprIsConst(tls, p, 4+int32(isInit), 0) } @@ -84678,7 +84697,7 @@ func Xsqlite3ExprIsConstantOrFunction(tls *libc.TLS, p uintptr, isInit U8) int32 // to fit in a 32-bit integer, return 1 and put the value of the integer // in *pValue. If the expression is not an integer or if it is too big // to fit in a signed 32-bit integer, return 0 and leave *pValue unchanged. -func Xsqlite3ExprIsInteger(tls *libc.TLS, p uintptr, pValue uintptr) int32 { /* sqlite3.c:104858:20: */ +func Xsqlite3ExprIsInteger(tls *libc.TLS, p uintptr, pValue uintptr) int32 { /* sqlite3.c:104871:20: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -84730,7 +84749,7 @@ func Xsqlite3ExprIsInteger(tls *libc.TLS, p uintptr, pValue uintptr) int32 { /* // hand, a false negative (returning FALSE when the result could be NULL) // will likely result in an incorrect answer. So when in doubt, return // TRUE. -func Xsqlite3ExprCanBeNull(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:104904:20: */ +func Xsqlite3ExprCanBeNull(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:104917:20: */ var op U8 for int32((*Expr)(unsafe.Pointer(p)).Fop) == TK_UPLUS || int32((*Expr)(unsafe.Pointer(p)).Fop) == TK_UMINUS { @@ -84769,7 +84788,7 @@ func Xsqlite3ExprCanBeNull(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:104904 // can be omitted. When in doubt return FALSE. A false negative // is harmless. A false positive, however, can result in the wrong // answer. -func Xsqlite3ExprNeedsNoAffinityChange(tls *libc.TLS, p uintptr, aff uint8) int32 { /* sqlite3.c:104941:20: */ +func Xsqlite3ExprNeedsNoAffinityChange(tls *libc.TLS, p uintptr, aff uint8) int32 { /* sqlite3.c:104954:20: */ var op U8 var unaryMinus int32 = 0 if int32(aff) == SQLITE_AFF_BLOB { @@ -84822,7 +84841,7 @@ func Xsqlite3ExprNeedsNoAffinityChange(tls *libc.TLS, p uintptr, aff uint8) int3 } // Return TRUE if the given string is a row-id column name. -func Xsqlite3IsRowid(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:104977:20: */ +func Xsqlite3IsRowid(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:104990:20: */ if Xsqlite3StrICmp(tls, z, ts+7592) == 0 { return 1 } @@ -84840,7 +84859,7 @@ func Xsqlite3IsRowid(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:104977:20: * // a pointer to the SELECT statement. If pX is not a SELECT statement, // or if the SELECT statement needs to be manifested into a transient // table, then return NULL. -func isCandidateForInOpt(tls *libc.TLS, pX uintptr) uintptr { /* sqlite3.c:104992:15: */ +func isCandidateForInOpt(tls *libc.TLS, pX uintptr) uintptr { /* sqlite3.c:105005:15: */ var p uintptr var pSrc uintptr var pEList uintptr @@ -84898,7 +84917,7 @@ func isCandidateForInOpt(tls *libc.TLS, pX uintptr) uintptr { /* sqlite3.c:10499 // it contains any NULL entries. Cause the register at regHasNull to be set // to a non-NULL value if iCur contains no NULLs. Cause register regHasNull // to be set to NULL if iCur contains one or more NULL values. -func sqlite3SetHasNullFlag(tls *libc.TLS, v uintptr, iCur int32, regHasNull int32) { /* sqlite3.c:105037:13: */ +func sqlite3SetHasNullFlag(tls *libc.TLS, v uintptr, iCur int32, regHasNull int32) { /* sqlite3.c:105050:13: */ var addr1 int32 Xsqlite3VdbeAddOp2(tls, v, OP_Integer, 0, regHasNull) addr1 = Xsqlite3VdbeAddOp1(tls, v, OP_Rewind, iCur) @@ -84910,7 +84929,7 @@ func sqlite3SetHasNullFlag(tls *libc.TLS, v uintptr, iCur int32, regHasNull int3 // The argument is an IN operator with a list (not a subquery) on the // right-hand side. Return TRUE if that list is constant. -func sqlite3InRhsIsConstant(tls *libc.TLS, pIn uintptr) int32 { /* sqlite3.c:105054:12: */ +func sqlite3InRhsIsConstant(tls *libc.TLS, pIn uintptr) int32 { /* sqlite3.c:105067:12: */ var pLHS uintptr var res int32 @@ -84999,7 +85018,7 @@ func sqlite3InRhsIsConstant(tls *libc.TLS, pIn uintptr) int32 { /* sqlite3.c:105 // CREATE INDEX i1 ON t1(b, c, a); // // then aiMap[] is populated with {2, 0, 1}. -func Xsqlite3FindInIndex(tls *libc.TLS, pParse uintptr, pX uintptr, inFlags U32, prRhsHasNull uintptr, aiMap uintptr, piTab uintptr) int32 { /* sqlite3.c:105147:20: */ +func Xsqlite3FindInIndex(tls *libc.TLS, pParse uintptr, pX uintptr, inFlags U32, prRhsHasNull uintptr, aiMap uintptr, piTab uintptr) int32 { /* sqlite3.c:105160:20: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -85217,7 +85236,7 @@ func Xsqlite3FindInIndex(tls *libc.TLS, pParse uintptr, pX uintptr, inFlags U32, // // It is the responsibility of the caller to ensure that the returned // string is eventually freed using sqlite3DbFree(). -func exprINAffinity(tls *libc.TLS, pParse uintptr, pExpr uintptr) uintptr { /* sqlite3.c:105370:13: */ +func exprINAffinity(tls *libc.TLS, pParse uintptr, pExpr uintptr) uintptr { /* sqlite3.c:105383:13: */ var pLeft uintptr = (*Expr)(unsafe.Pointer(pExpr)).FpLeft var nVal int32 = Xsqlite3ExprVectorSize(tls, pLeft) var pSelect uintptr @@ -85249,7 +85268,7 @@ func exprINAffinity(tls *libc.TLS, pParse uintptr, pExpr uintptr) uintptr { /* s // message of the form: // // "sub-select returns N columns - expected M" -func Xsqlite3SubselectError(tls *libc.TLS, pParse uintptr, nActual int32, nExpect int32) { /* sqlite3.c:105402:21: */ +func Xsqlite3SubselectError(tls *libc.TLS, pParse uintptr, nActual int32, nExpect int32) { /* sqlite3.c:105415:21: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -85268,7 +85287,7 @@ func Xsqlite3SubselectError(tls *libc.TLS, pParse uintptr, nActual int32, nExpec // Or, if it is a regular scalar vector: // // "row value misused" -func Xsqlite3VectorErrorMsg(tls *libc.TLS, pParse uintptr, pExpr uintptr) { /* sqlite3.c:105421:21: */ +func Xsqlite3VectorErrorMsg(tls *libc.TLS, pParse uintptr, pExpr uintptr) { /* sqlite3.c:105434:21: */ if (*Expr)(unsafe.Pointer(pExpr)).Fflags&U32(EP_xIsSelect) != U32(0) { Xsqlite3SubselectError(tls, pParse, (*ExprList)(unsafe.Pointer((*Select)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pExpr + 32)))).FpEList)).FnExpr, 1) } else { @@ -85296,7 +85315,7 @@ func Xsqlite3VectorErrorMsg(tls *libc.TLS, pParse uintptr, pExpr uintptr) { /* s // if either column has NUMERIC or INTEGER affinity. If neither // 'x' nor the SELECT... statement are columns, then numeric affinity // is used. -func Xsqlite3CodeRhsOfIN(tls *libc.TLS, pParse uintptr, pExpr uintptr, iTab int32) { /* sqlite3.c:105455:21: */ +func Xsqlite3CodeRhsOfIN(tls *libc.TLS, pParse uintptr, pExpr uintptr, iTab int32) { /* sqlite3.c:105468:21: */ bp := tls.Alloc(65) defer tls.Free(65) @@ -85491,7 +85510,7 @@ func Xsqlite3CodeRhsOfIN(tls *libc.TLS, pParse uintptr, pExpr uintptr, iTab int3 // the result is stored in a contiguous array of registers and the // return value is the register of the left-most result column. // Return 0 if an error occurs. -func Xsqlite3CodeSubselect(tls *libc.TLS, pParse uintptr, pExpr uintptr) int32 { /* sqlite3.c:105650:20: */ +func Xsqlite3CodeSubselect(tls *libc.TLS, pParse uintptr, pExpr uintptr) int32 { /* sqlite3.c:105663:20: */ bp := tls.Alloc(64) defer tls.Free(64) @@ -85614,7 +85633,7 @@ func Xsqlite3CodeSubselect(tls *libc.TLS, pParse uintptr, pExpr uintptr) int32 { // sub-select on the RHS of the IN() operator has the same number of // columns as the vector on the LHS. Or, if the RHS of the IN() is not // a sub-query, that the LHS is a vector of size 1. -func Xsqlite3ExprCheckIN(tls *libc.TLS, pParse uintptr, pIn uintptr) int32 { /* sqlite3.c:105772:20: */ +func Xsqlite3ExprCheckIN(tls *libc.TLS, pParse uintptr, pIn uintptr) int32 { /* sqlite3.c:105785:20: */ var nVector int32 = Xsqlite3ExprVectorSize(tls, (*Expr)(unsafe.Pointer(pIn)).FpLeft) if (*Expr)(unsafe.Pointer(pIn)).Fflags&U32(EP_xIsSelect) != U32(0) && !(int32((*Sqlite3)(unsafe.Pointer((*Parse)(unsafe.Pointer(pParse)).Fdb)).FmallocFailed) != 0) { if nVector != (*ExprList)(unsafe.Pointer((*Select)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pIn + 32)))).FpEList)).FnExpr { @@ -85651,7 +85670,7 @@ func Xsqlite3ExprCheckIN(tls *libc.TLS, pParse uintptr, pIn uintptr) int32 { /* // // See the separate in-operator.md documentation file in the canonical // SQLite source tree for additional information. -func sqlite3ExprCodeIN(tls *libc.TLS, pParse uintptr, pExpr uintptr, destIfFalse int32, destIfNull int32) { /* sqlite3.c:105813:13: */ +func sqlite3ExprCodeIN(tls *libc.TLS, pParse uintptr, pExpr uintptr, destIfFalse int32, destIfNull int32) { /* sqlite3.c:105826:13: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -86032,7 +86051,7 @@ sqlite3ExprCodeIN_oom_error: // The z[] string will probably not be zero-terminated. But the // z[n] character is guaranteed to be something that does not look // like the continuation of the number. -func codeReal(tls *libc.TLS, v uintptr, z uintptr, negateFlag int32, iMem int32) { /* sqlite3.c:106071:13: */ +func codeReal(tls *libc.TLS, v uintptr, z uintptr, negateFlag int32, iMem int32) { /* sqlite3.c:106084:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -86052,7 +86071,7 @@ func codeReal(tls *libc.TLS, v uintptr, z uintptr, negateFlag int32, iMem int32) // text z[0..n-1] into register iMem. // // Expr.u.zToken is always UTF8 and zero-terminated. -func codeInteger(tls *libc.TLS, pParse uintptr, pExpr uintptr, negFlag int32, iMem int32) { /* sqlite3.c:106089:13: */ +func codeInteger(tls *libc.TLS, pParse uintptr, pExpr uintptr, negFlag int32, iMem int32) { /* sqlite3.c:106102:13: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -86098,7 +86117,7 @@ func codeInteger(tls *libc.TLS, pParse uintptr, pExpr uintptr, negFlag int32, iM // Generate code that will load into register regOut a value that is // appropriate for the iIdxCol-th column of index pIdx. -func Xsqlite3ExprCodeLoadIndexColumn(tls *libc.TLS, pParse uintptr, pIdx uintptr, iTabCur int32, iIdxCol int32, regOut int32) { /* sqlite3.c:106127:21: */ +func Xsqlite3ExprCodeLoadIndexColumn(tls *libc.TLS, pParse uintptr, pIdx uintptr, iTabCur int32, iIdxCol int32, regOut int32) { /* sqlite3.c:106140:21: */ var iTabCol I16 = *(*I16)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FaiColumn + uintptr(iIdxCol)*2)) if int32(iTabCol) == -2 { @@ -86113,7 +86132,7 @@ func Xsqlite3ExprCodeLoadIndexColumn(tls *libc.TLS, pParse uintptr, pIdx uintptr // Generate code that will compute the value of generated column pCol // and store the result in register regOut -func Xsqlite3ExprCodeGeneratedColumn(tls *libc.TLS, pParse uintptr, pTab uintptr, pCol uintptr, regOut int32) { /* sqlite3.c:106152:21: */ +func Xsqlite3ExprCodeGeneratedColumn(tls *libc.TLS, pParse uintptr, pTab uintptr, pCol uintptr, regOut int32) { /* sqlite3.c:106165:21: */ var iAddr int32 var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe @@ -86132,7 +86151,7 @@ func Xsqlite3ExprCodeGeneratedColumn(tls *libc.TLS, pParse uintptr, pTab uintptr } // Generate code to extract the value of the iCol-th column of a table. -func Xsqlite3ExprCodeGetColumnOfTable(tls *libc.TLS, v uintptr, pTab uintptr, iTabCur int32, iCol int32, regOut int32) { /* sqlite3.c:106178:21: */ +func Xsqlite3ExprCodeGetColumnOfTable(tls *libc.TLS, v uintptr, pTab uintptr, iTabCur int32, iCol int32, regOut int32) { /* sqlite3.c:106191:21: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -86183,7 +86202,7 @@ func Xsqlite3ExprCodeGetColumnOfTable(tls *libc.TLS, v uintptr, pTab uintptr, iT // // There must be an open cursor to pTab in iTable when this routine // is called. If iColumn<0 then code is generated that extracts the rowid. -func Xsqlite3ExprCodeGetColumn(tls *libc.TLS, pParse uintptr, pTab uintptr, iColumn int32, iTable int32, iReg int32, p5 U8) int32 { /* sqlite3.c:106236:20: */ +func Xsqlite3ExprCodeGetColumn(tls *libc.TLS, pParse uintptr, pTab uintptr, iColumn int32, iTable int32, iReg int32, p5 U8) int32 { /* sqlite3.c:106249:20: */ Xsqlite3ExprCodeGetColumnOfTable(tls, (*Parse)(unsafe.Pointer(pParse)).FpVdbe, pTab, iTable, iColumn, iReg) if p5 != 0 { @@ -86197,14 +86216,14 @@ func Xsqlite3ExprCodeGetColumn(tls *libc.TLS, pParse uintptr, pTab uintptr, iCol // Generate code to move content from registers iFrom...iFrom+nReg-1 // over to iTo..iTo+nReg-1. -func Xsqlite3ExprCodeMove(tls *libc.TLS, pParse uintptr, iFrom int32, iTo int32, nReg int32) { /* sqlite3.c:106257:21: */ +func Xsqlite3ExprCodeMove(tls *libc.TLS, pParse uintptr, iFrom int32, iTo int32, nReg int32) { /* sqlite3.c:106270:21: */ Xsqlite3VdbeAddOp3(tls, (*Parse)(unsafe.Pointer(pParse)).FpVdbe, OP_Move, iFrom, iTo, nReg) } // Convert a scalar expression node to a TK_REGISTER referencing // register iReg. The caller must ensure that iReg already contains // the correct value for the expression. -func exprToRegister(tls *libc.TLS, pExpr uintptr, iReg int32) { /* sqlite3.c:106266:13: */ +func exprToRegister(tls *libc.TLS, pExpr uintptr, iReg int32) { /* sqlite3.c:106279:13: */ var p uintptr = Xsqlite3ExprSkipCollateAndLikely(tls, pExpr) if p == uintptr(0) { return @@ -86223,7 +86242,7 @@ func exprToRegister(tls *libc.TLS, pExpr uintptr, iReg int32) { /* sqlite3.c:106 // that register number into *piFreeable. If the returned result register // is not a temporary or if the expression is a vector set *piFreeable // to 0. -func exprCodeVector(tls *libc.TLS, pParse uintptr, p uintptr, piFreeable uintptr) int32 { /* sqlite3.c:106285:12: */ +func exprCodeVector(tls *libc.TLS, pParse uintptr, p uintptr, piFreeable uintptr) int32 { /* sqlite3.c:106298:12: */ var iResult int32 var nResult int32 = Xsqlite3ExprVectorSize(tls, p) if nResult == 1 { @@ -86247,7 +86266,7 @@ func exprCodeVector(tls *libc.TLS, pParse uintptr, p uintptr, piFreeable uintptr // If the last opcode is a OP_Copy, then set the do-not-merge flag (p5) // so that a subsequent copy will not be merged into this one. -func setDoNotMergeFlagOnCopy(tls *libc.TLS, v uintptr) { /* sqlite3.c:106315:13: */ +func setDoNotMergeFlagOnCopy(tls *libc.TLS, v uintptr) { /* sqlite3.c:106328:13: */ if int32((*VdbeOp)(unsafe.Pointer(Xsqlite3VdbeGetOp(tls, v, -1))).Fopcode) == OP_Copy { Xsqlite3VdbeChangeP5(tls, v, uint16(1)) // Tag trailing OP_Copy as not mergable } @@ -86255,7 +86274,7 @@ func setDoNotMergeFlagOnCopy(tls *libc.TLS, v uintptr) { /* sqlite3.c:106315:13: // Generate code to implement special SQL functions that are implemented // in-line rather than by using the usual callbacks. -func exprCodeInlineFunction(tls *libc.TLS, pParse uintptr, pFarg uintptr, iFuncId int32, target int32) int32 { /* sqlite3.c:106325:12: */ +func exprCodeInlineFunction(tls *libc.TLS, pParse uintptr, pFarg uintptr, iFuncId int32, target int32) int32 { /* sqlite3.c:106338:12: */ bp := tls.Alloc(112) defer tls.Free(112) @@ -86380,7 +86399,7 @@ func exprCodeInlineFunction(tls *libc.TLS, pParse uintptr, pFarg uintptr, iFuncI // register if it is convenient to do so. The calling function // must check the return code and move the results to the desired // register. -func Xsqlite3ExprCodeTarget(tls *libc.TLS, pParse uintptr, pExpr uintptr, target int32) int32 { /* sqlite3.c:106441:20: */ +func Xsqlite3ExprCodeTarget(tls *libc.TLS, pParse uintptr, pExpr uintptr, target int32) int32 { /* sqlite3.c:106454:20: */ bp := tls.Alloc(192) defer tls.Free(192) @@ -87449,7 +87468,7 @@ __3: return inReg } -var zAff = *(*[8]uint8)(unsafe.Pointer(ts + 8011)) /* sqlite3.c:106508:29 */ +var zAff = *(*[8]uint8)(unsafe.Pointer(ts + 8011)) /* sqlite3.c:106521:29 */ // Generate code that will evaluate expression pExpr just one time // per prepared statement execution. @@ -87466,7 +87485,7 @@ var zAff = *(*[8]uint8)(unsafe.Pointer(ts + 8011)) /* sqlite3.c:106508:29 */ // code to the same register, if they do not contain function calls and hence // are factored out into the initialization section at the end of the // prepared statement. -func Xsqlite3ExprCodeRunJustOnce(tls *libc.TLS, pParse uintptr, pExpr uintptr, regDest int32) int32 { /* sqlite3.c:107215:20: */ +func Xsqlite3ExprCodeRunJustOnce(tls *libc.TLS, pParse uintptr, pExpr uintptr, regDest int32) int32 { /* sqlite3.c:107228:20: */ var p uintptr p = (*Parse)(unsafe.Pointer(pParse)).FpConstExpr @@ -87535,7 +87554,7 @@ func Xsqlite3ExprCodeRunJustOnce(tls *libc.TLS, pParse uintptr, pExpr uintptr, r // If pExpr is a constant, then this routine might generate this // code to fill the register in the initialization section of the // VDBE program, in order to factor it out of the evaluation loop. -func Xsqlite3ExprCodeTemp(tls *libc.TLS, pParse uintptr, pExpr uintptr, pReg uintptr) int32 { /* sqlite3.c:107272:20: */ +func Xsqlite3ExprCodeTemp(tls *libc.TLS, pParse uintptr, pExpr uintptr, pReg uintptr) int32 { /* sqlite3.c:107285:20: */ var r2 int32 pExpr = Xsqlite3ExprSkipCollateAndLikely(tls, pExpr) if (*Parse)(unsafe.Pointer(pParse)).FokConstFactor != 0 && @@ -87560,7 +87579,7 @@ func Xsqlite3ExprCodeTemp(tls *libc.TLS, pParse uintptr, pExpr uintptr, pReg uin // Generate code that will evaluate expression pExpr and store the // results in register target. The results are guaranteed to appear // in register target. -func Xsqlite3ExprCode(tls *libc.TLS, pParse uintptr, pExpr uintptr, target int32) { /* sqlite3.c:107300:21: */ +func Xsqlite3ExprCode(tls *libc.TLS, pParse uintptr, pExpr uintptr, target int32) { /* sqlite3.c:107313:21: */ var inReg int32 if (*Parse)(unsafe.Pointer(pParse)).FpVdbe == uintptr(0) { @@ -87581,7 +87600,7 @@ func Xsqlite3ExprCode(tls *libc.TLS, pParse uintptr, pExpr uintptr, target int32 // Make a transient copy of expression pExpr and then code it using // sqlite3ExprCode(). This routine works just like sqlite3ExprCode() // except that the input expression is guaranteed to be unchanged. -func Xsqlite3ExprCodeCopy(tls *libc.TLS, pParse uintptr, pExpr uintptr, target int32) { /* sqlite3.c:107324:21: */ +func Xsqlite3ExprCodeCopy(tls *libc.TLS, pParse uintptr, pExpr uintptr, target int32) { /* sqlite3.c:107337:21: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb pExpr = Xsqlite3ExprDup(tls, db, pExpr, 0) if !(int32((*Sqlite3)(unsafe.Pointer(db)).FmallocFailed) != 0) { @@ -87594,7 +87613,7 @@ func Xsqlite3ExprCodeCopy(tls *libc.TLS, pParse uintptr, pExpr uintptr, target i // results in register target. The results are guaranteed to appear // in register target. If the expression is constant, then this routine // might choose to code the expression at initialization time. -func Xsqlite3ExprCodeFactorable(tls *libc.TLS, pParse uintptr, pExpr uintptr, target int32) { /* sqlite3.c:107337:21: */ +func Xsqlite3ExprCodeFactorable(tls *libc.TLS, pParse uintptr, pExpr uintptr, target int32) { /* sqlite3.c:107350:21: */ if (*Parse)(unsafe.Pointer(pParse)).FokConstFactor != 0 && Xsqlite3ExprIsConstantNotJoin(tls, pExpr) != 0 { Xsqlite3ExprCodeRunJustOnce(tls, pParse, pExpr, target) } else { @@ -87620,7 +87639,7 @@ func Xsqlite3ExprCodeFactorable(tls *libc.TLS, pParse uintptr, pExpr uintptr, ta // in registers at srcReg, and so the value can be copied from there. // If SQLITE_ECEL_OMITREF is also set, then the values with u.x.iOrderByCol>0 // are simply omitted rather than being copied from srcReg. -func Xsqlite3ExprCodeExprList(tls *libc.TLS, pParse uintptr, pList uintptr, target int32, srcReg int32, flags U8) int32 { /* sqlite3.c:107365:20: */ +func Xsqlite3ExprCodeExprList(tls *libc.TLS, pParse uintptr, pList uintptr, target int32, srcReg int32, flags U8) int32 { /* sqlite3.c:107378:20: */ var pItem uintptr var i int32 var j int32 @@ -87702,7 +87721,7 @@ __3: // sqlite3ExprIfFalse: Jump to dest if false // // The jumpIfNull parameter is ignored if xJumpIf is NULL. -func exprCodeBetween(tls *libc.TLS, pParse uintptr, pExpr uintptr, dest int32, xJump uintptr, jumpIfNull int32) { /* sqlite3.c:107440:13: */ +func exprCodeBetween(tls *libc.TLS, pParse uintptr, pExpr uintptr, dest int32, xJump uintptr, jumpIfNull int32) { /* sqlite3.c:107453:13: */ bp := tls.Alloc(220) defer tls.Free(220) @@ -87765,7 +87784,7 @@ func exprCodeBetween(tls *libc.TLS, pParse uintptr, pExpr uintptr, dest int32, x // operation. Special comments in vdbe.c and the mkopcodeh.awk script in // the make process cause these values to align. Assert()s in the code // below verify that the numbers are aligned correctly. -func Xsqlite3ExprIfTrue(tls *libc.TLS, pParse uintptr, pExpr uintptr, dest int32, jumpIfNull int32) { /* sqlite3.c:107512:21: */ +func Xsqlite3ExprIfTrue(tls *libc.TLS, pParse uintptr, pExpr uintptr, dest int32, jumpIfNull int32) { /* sqlite3.c:107525:21: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -87995,7 +88014,7 @@ __3: // If the expression evaluates to NULL (neither true nor false) then // jump if jumpIfNull is SQLITE_JUMPIFNULL or fall through if jumpIfNull // is 0. -func Xsqlite3ExprIfFalse(tls *libc.TLS, pParse uintptr, pExpr uintptr, dest int32, jumpIfNull int32) { /* sqlite3.c:107654:21: */ +func Xsqlite3ExprIfFalse(tls *libc.TLS, pParse uintptr, pExpr uintptr, dest int32, jumpIfNull int32) { /* sqlite3.c:107667:21: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -88243,7 +88262,7 @@ __3: // Like sqlite3ExprIfFalse() except that a copy is made of pExpr before // code generation, and that copy is deleted after code generation. This // ensures that the original pExpr is unchanged. -func Xsqlite3ExprIfFalseDup(tls *libc.TLS, pParse uintptr, pExpr uintptr, dest int32, jumpIfNull int32) { /* sqlite3.c:107826:21: */ +func Xsqlite3ExprIfFalseDup(tls *libc.TLS, pParse uintptr, pExpr uintptr, dest int32, jumpIfNull int32) { /* sqlite3.c:107839:21: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb var pCopy uintptr = Xsqlite3ExprDup(tls, db, pExpr, 0) if int32((*Sqlite3)(unsafe.Pointer(db)).FmallocFailed) == 0 { @@ -88263,7 +88282,7 @@ func Xsqlite3ExprIfFalseDup(tls *libc.TLS, pParse uintptr, pExpr uintptr, dest i // same as that currently bound to variable pVar, non-zero is returned. // Otherwise, if the values are not the same or if pExpr is not a simple // SQL value, zero is returned. -func exprCompareVariable(tls *libc.TLS, pParse uintptr, pVar uintptr, pExpr uintptr) int32 { /* sqlite3.c:107848:12: */ +func exprCompareVariable(tls *libc.TLS, pParse uintptr, pVar uintptr, pExpr uintptr) int32 { /* sqlite3.c:107861:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -88317,7 +88336,7 @@ func exprCompareVariable(tls *libc.TLS, pParse uintptr, pVar uintptr, pExpr uint // If pParse is NULL (the normal case) then any TK_VARIABLE term in // Argument pParse should normally be NULL. If it is not NULL and pA or // pB causes a return value of 2. -func Xsqlite3ExprCompare(tls *libc.TLS, pParse uintptr, pA uintptr, pB uintptr, iTab int32) int32 { /* sqlite3.c:107904:20: */ +func Xsqlite3ExprCompare(tls *libc.TLS, pParse uintptr, pA uintptr, pB uintptr, iTab int32) int32 { /* sqlite3.c:107917:20: */ var combinedFlags U32 if pA == uintptr(0) || pB == uintptr(0) { if pB == pA { @@ -88421,7 +88440,7 @@ func Xsqlite3ExprCompare(tls *libc.TLS, pParse uintptr, pA uintptr, pB uintptr, // // Two NULL pointers are considered to be the same. But a NULL pointer // always differs from a non-NULL pointer. -func Xsqlite3ExprListCompare(tls *libc.TLS, pA uintptr, pB uintptr, iTab int32) int32 { /* sqlite3.c:108000:20: */ +func Xsqlite3ExprListCompare(tls *libc.TLS, pA uintptr, pB uintptr, iTab int32) int32 { /* sqlite3.c:108013:20: */ var i int32 if pA == uintptr(0) && pB == uintptr(0) { return 0 @@ -88448,7 +88467,7 @@ func Xsqlite3ExprListCompare(tls *libc.TLS, pA uintptr, pB uintptr, iTab int32) // Like sqlite3ExprCompare() except COLLATE operators at the top-level // are ignored. -func Xsqlite3ExprCompareSkip(tls *libc.TLS, pA uintptr, pB uintptr, iTab int32) int32 { /* sqlite3.c:108019:20: */ +func Xsqlite3ExprCompareSkip(tls *libc.TLS, pA uintptr, pB uintptr, iTab int32) int32 { /* sqlite3.c:108032:20: */ return Xsqlite3ExprCompare(tls, uintptr(0), Xsqlite3ExprSkipCollateAndLikely(tls, pA), Xsqlite3ExprSkipCollateAndLikely(tls, pB), @@ -88459,7 +88478,7 @@ func Xsqlite3ExprCompareSkip(tls *libc.TLS, pA uintptr, pB uintptr, iTab int32) // // Or if seenNot is true, return non-zero if Expr p can only be // non-NULL if pNN is not NULL -func exprImpliesNotNull(tls *libc.TLS, pParse uintptr, p uintptr, pNN uintptr, iTab int32, seenNot int32) int32 { /* sqlite3.c:108032:12: */ +func exprImpliesNotNull(tls *libc.TLS, pParse uintptr, p uintptr, pNN uintptr, iTab int32, seenNot int32) int32 { /* sqlite3.c:108045:12: */ if Xsqlite3ExprCompare(tls, pParse, p, pNN, iTab) == 0 { return libc.Bool32(int32((*Expr)(unsafe.Pointer(pNN)).Fop) != TK_NULL) @@ -88585,7 +88604,7 @@ func exprImpliesNotNull(tls *libc.TLS, pParse uintptr, p uintptr, pNN uintptr, i // When in doubt, return false. Returning true might give a performance // improvement. Returning false might cause a performance reduction, but // it will always give the correct answer and is hence always safe. -func Xsqlite3ExprImpliesExpr(tls *libc.TLS, pParse uintptr, pE1 uintptr, pE2 uintptr, iTab int32) int32 { /* sqlite3.c:108129:20: */ +func Xsqlite3ExprImpliesExpr(tls *libc.TLS, pParse uintptr, pE1 uintptr, pE2 uintptr, iTab int32) int32 { /* sqlite3.c:108142:20: */ if Xsqlite3ExprCompare(tls, pParse, pE1, pE2, iTab) == 0 { return 1 } @@ -88608,7 +88627,7 @@ func Xsqlite3ExprImpliesExpr(tls *libc.TLS, pParse uintptr, pE1 uintptr, pE2 uin // This routine controls an optimization. False positives (setting // pWalker->eCode to 1 when it should not be) are deadly, but false-negatives // (never setting pWalker->eCode) is a harmless missed optimization. -func impliesNotNullRow(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:108161:12: */ +func impliesNotNullRow(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:108174:12: */ if (*Expr)(unsafe.Pointer(pExpr)).Fflags&U32(EP_FromJoin) != U32(0) { return WRC_Prune @@ -88717,7 +88736,7 @@ func impliesNotNullRow(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* // clause requires that some column of the right table of the LEFT JOIN // be non-NULL, then the LEFT JOIN can be safely converted into an // ordinary join. -func Xsqlite3ExprImpliesNonNullRow(tls *libc.TLS, p uintptr, iTab int32) int32 { /* sqlite3.c:108270:20: */ +func Xsqlite3ExprImpliesNonNullRow(tls *libc.TLS, p uintptr, iTab int32) int32 { /* sqlite3.c:108283:20: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -88751,7 +88770,7 @@ func Xsqlite3ExprImpliesNonNullRow(tls *libc.TLS, p uintptr, iTab int32) int32 { // Check to see if there are references to columns in table // pWalker->u.pIdxCover->iCur can be satisfied using the index // pWalker->u.pIdxCover->pIdx. -func exprIdxCover(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:108308:12: */ +func exprIdxCover(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:108321:12: */ if int32((*Expr)(unsafe.Pointer(pExpr)).Fop) == TK_COLUMN && (*Expr)(unsafe.Pointer(pExpr)).FiTable == (*IdxCover)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pWalker + 40)))).FiCur && int32(Xsqlite3TableColumnToIndex(tls, (*IdxCover)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pWalker + 40)))).FpIdx, (*Expr)(unsafe.Pointer(pExpr)).FiColumn)) < 0 { @@ -88769,7 +88788,7 @@ func exprIdxCover(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqli // An index covering an expression means that the expression can be // evaluated using only the index and without having to lookup the // corresponding table entry. -func Xsqlite3ExprCoveredByIndex(tls *libc.TLS, pExpr uintptr, iCur int32, pIdx uintptr) int32 { /* sqlite3.c:108329:20: */ +func Xsqlite3ExprCoveredByIndex(tls *libc.TLS, pExpr uintptr, iCur int32, pIdx uintptr) int32 { /* sqlite3.c:108342:20: */ bp := tls.Alloc(64) defer tls.Free(64) @@ -88794,7 +88813,7 @@ func Xsqlite3ExprCoveredByIndex(tls *libc.TLS, pExpr uintptr, iCur int32, pIdx u // entries for that subquery to the exclude list. // // When leaving the subquery, remove those entries from the exclude list. -func selectRefEnter(tls *libc.TLS, pWalker uintptr, pSelect uintptr) int32 { /* sqlite3.c:108364:12: */ +func selectRefEnter(tls *libc.TLS, pWalker uintptr, pSelect uintptr) int32 { /* sqlite3.c:108377:12: */ var p uintptr = *(*uintptr)(unsafe.Pointer(pWalker + 40)) var pSrc uintptr = (*Select)(unsafe.Pointer(pSelect)).FpSrc var i I64 @@ -88832,7 +88851,7 @@ __3: return WRC_Continue } -func selectRefLeave(tls *libc.TLS, pWalker uintptr, pSelect uintptr) { /* sqlite3.c:108384:13: */ +func selectRefLeave(tls *libc.TLS, pWalker uintptr, pSelect uintptr) { /* sqlite3.c:108397:13: */ var p uintptr = *(*uintptr)(unsafe.Pointer(pWalker + 40)) var pSrc uintptr = (*Select)(unsafe.Pointer(pSelect)).FpSrc if (*RefSrcList)(unsafe.Pointer(p)).FnExclude != 0 { @@ -88848,7 +88867,7 @@ func selectRefLeave(tls *libc.TLS, pWalker uintptr, pSelect uintptr) { /* sqlite // // Set the 0x02 bit of pWalker->eCode if there is a reference to a // table is in neither RefSrcList.pRef nor RefSrcList.aiExclude. -func exprRefToSrcList(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:108401:12: */ +func exprRefToSrcList(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:108414:12: */ if int32((*Expr)(unsafe.Pointer(pExpr)).Fop) == TK_COLUMN || int32((*Expr)(unsafe.Pointer(pExpr)).Fop) == TK_AGG_COLUMN { var i int32 @@ -88888,7 +88907,7 @@ func exprRefToSrcList(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* // // As currently used, pExpr is always an aggregate function call. That // fact is exploited for efficiency. -func Xsqlite3ReferencesSrcList(tls *libc.TLS, pParse uintptr, pExpr uintptr, pSrcList uintptr) int32 { /* sqlite3.c:108438:20: */ +func Xsqlite3ReferencesSrcList(tls *libc.TLS, pParse uintptr, pExpr uintptr, pSrcList uintptr) int32 { /* sqlite3.c:108451:20: */ bp := tls.Alloc(80) defer tls.Free(80) @@ -88937,7 +88956,7 @@ func Xsqlite3ReferencesSrcList(tls *libc.TLS, pParse uintptr, pExpr uintptr, pSr // This will cause the expression to be deleted automatically when the // Parse object is destroyed, but the zero register number means that it // will not generate any code in the preamble. -func agginfoPersistExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:108480:12: */ +func agginfoPersistExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:108493:12: */ if !((*Expr)(unsafe.Pointer(pExpr)).Fflags&U32(EP_TokenOnly|EP_Reduced) != U32(0)) && (*Expr)(unsafe.Pointer(pExpr)).FpAggInfo != uintptr(0) { var pAggInfo uintptr = (*Expr)(unsafe.Pointer(pExpr)).FpAggInfo @@ -88970,7 +88989,7 @@ func agginfoPersistExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { // Initialize a Walker object so that will persist AggInfo entries referenced // by the tree that is walked. -func Xsqlite3AggInfoPersistWalkerInit(tls *libc.TLS, pWalker uintptr, pParse uintptr) { /* sqlite3.c:108516:21: */ +func Xsqlite3AggInfoPersistWalkerInit(tls *libc.TLS, pWalker uintptr, pParse uintptr) { /* sqlite3.c:108529:21: */ libc.Xmemset(tls, pWalker, 0, uint64(unsafe.Sizeof(Walker{}))) (*Walker)(unsafe.Pointer(pWalker)).FpParse = pParse (*Walker)(unsafe.Pointer(pWalker)).FxExprCallback = *(*uintptr)(unsafe.Pointer(&struct { @@ -88983,7 +89002,7 @@ func Xsqlite3AggInfoPersistWalkerInit(tls *libc.TLS, pWalker uintptr, pParse uin // Add a new element to the pAggInfo->aCol[] array. Return the index of // the new element. Return a negative number if malloc fails. -func addAggInfoColumn(tls *libc.TLS, db uintptr, pInfo uintptr) int32 { /* sqlite3.c:108527:12: */ +func addAggInfoColumn(tls *libc.TLS, db uintptr, pInfo uintptr) int32 { /* sqlite3.c:108540:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -89000,7 +89019,7 @@ func addAggInfoColumn(tls *libc.TLS, db uintptr, pInfo uintptr) int32 { /* sqlit // Add a new element to the pAggInfo->aFunc[] array. Return the index of // the new element. Return a negative number if malloc fails. -func addAggInfoFunc(tls *libc.TLS, db uintptr, pInfo uintptr) int32 { /* sqlite3.c:108543:12: */ +func addAggInfoFunc(tls *libc.TLS, db uintptr, pInfo uintptr) int32 { /* sqlite3.c:108556:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -89018,7 +89037,7 @@ func addAggInfoFunc(tls *libc.TLS, db uintptr, pInfo uintptr) int32 { /* sqlite3 // This is the xExprCallback for a tree walker. It is used to // implement sqlite3ExprAnalyzeAggregates(). See sqlite3ExprAnalyzeAggregates // for additional information. -func analyzeAggregate(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:108560:12: */ +func analyzeAggregate(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:108573:12: */ var i int32 var pNC uintptr = *(*uintptr)(unsafe.Pointer(pWalker + 40)) var pParse uintptr = (*NameContext)(unsafe.Pointer(pNC)).FpParse @@ -89209,7 +89228,7 @@ func analyzeAggregate(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* // // This routine should only be called after the expression has been // analyzed by sqlite3ResolveExprNames(). -func Xsqlite3ExprAnalyzeAggregates(tls *libc.TLS, pNC uintptr, pExpr uintptr) { /* sqlite3.c:108698:21: */ +func Xsqlite3ExprAnalyzeAggregates(tls *libc.TLS, pNC uintptr, pExpr uintptr) { /* sqlite3.c:108711:21: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -89235,7 +89254,7 @@ func Xsqlite3ExprAnalyzeAggregates(tls *libc.TLS, pNC uintptr, pExpr uintptr) { // expression list. Return the number of errors. // // If an error is found, the analysis is cut short. -func Xsqlite3ExprAnalyzeAggList(tls *libc.TLS, pNC uintptr, pList uintptr) { /* sqlite3.c:108716:21: */ +func Xsqlite3ExprAnalyzeAggList(tls *libc.TLS, pNC uintptr, pList uintptr) { /* sqlite3.c:108729:21: */ var pItem uintptr var i int32 if pList != 0 { @@ -89260,7 +89279,7 @@ func Xsqlite3ExprAnalyzeAggList(tls *libc.TLS, pNC uintptr, pList uintptr) { /* } // Allocate a single new register for use to hold some intermediate result. -func Xsqlite3GetTempReg(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:108729:20: */ +func Xsqlite3GetTempReg(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:108742:20: */ if int32((*Parse)(unsafe.Pointer(pParse)).FnTempReg) == 0 { return libc.PreIncInt32(&(*Parse)(unsafe.Pointer(pParse)).FnMem, 1) } @@ -89269,7 +89288,7 @@ func Xsqlite3GetTempReg(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:1087 // Deallocate a register, making available for reuse for some other // purpose. -func Xsqlite3ReleaseTempReg(tls *libc.TLS, pParse uintptr, iReg int32) { /* sqlite3.c:108740:21: */ +func Xsqlite3ReleaseTempReg(tls *libc.TLS, pParse uintptr, iReg int32) { /* sqlite3.c:108753:21: */ if iReg != 0 { if int32((*Parse)(unsafe.Pointer(pParse)).FnTempReg) < int32(uint64(unsafe.Sizeof([8]int32{}))/uint64(unsafe.Sizeof(int32(0)))) { @@ -89279,7 +89298,7 @@ func Xsqlite3ReleaseTempReg(tls *libc.TLS, pParse uintptr, iReg int32) { /* sqli } // Allocate or deallocate a block of nReg consecutive registers. -func Xsqlite3GetTempRange(tls *libc.TLS, pParse uintptr, nReg int32) int32 { /* sqlite3.c:108752:20: */ +func Xsqlite3GetTempRange(tls *libc.TLS, pParse uintptr, nReg int32) int32 { /* sqlite3.c:108765:20: */ var i int32 var n int32 if nReg == 1 { @@ -89297,7 +89316,7 @@ func Xsqlite3GetTempRange(tls *libc.TLS, pParse uintptr, nReg int32) int32 { /* return i } -func Xsqlite3ReleaseTempRange(tls *libc.TLS, pParse uintptr, iReg int32, nReg int32) { /* sqlite3.c:108766:21: */ +func Xsqlite3ReleaseTempRange(tls *libc.TLS, pParse uintptr, iReg int32, nReg int32) { /* sqlite3.c:108779:21: */ if nReg == 1 { Xsqlite3ReleaseTempReg(tls, pParse, iReg) return @@ -89315,7 +89334,7 @@ func Xsqlite3ReleaseTempRange(tls *libc.TLS, pParse uintptr, iReg int32, nReg in // that might be invoked from other parts of the code, to ensure that // the sub/co-routine does not use registers in common with the code that // invokes the sub/co-routine. -func Xsqlite3ClearTempRegCache(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:108786:21: */ +func Xsqlite3ClearTempRegCache(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:108799:21: */ (*Parse)(unsafe.Pointer(pParse)).FnTempReg = U8(0) (*Parse)(unsafe.Pointer(pParse)).FnRangeReg = 0 } @@ -89349,7 +89368,7 @@ func Xsqlite3ClearTempRegCache(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:108 // in pParse->zErr (system tables may not be altered) and returns non-zero. // // Or, if zName is not a system table, zero is returned. -func isAlterableTable(tls *libc.TLS, pParse uintptr, pTab uintptr) int32 { /* sqlite3.c:108846:12: */ +func isAlterableTable(tls *libc.TLS, pParse uintptr, pTab uintptr) int32 { /* sqlite3.c:108859:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -89368,7 +89387,7 @@ func isAlterableTable(tls *libc.TLS, pParse uintptr, pTab uintptr) int32 { /* sq // called at the end of the generation of an ALTER TABLE ... RENAME ... // statement to ensure that the operation has not rendered any schema // objects unusable. -func renameTestSchema(tls *libc.TLS, pParse uintptr, zDb uintptr, bTemp int32, zWhen uintptr, bNoDQS int32) { /* sqlite3.c:108868:13: */ +func renameTestSchema(tls *libc.TLS, pParse uintptr, zDb uintptr, bTemp int32, zWhen uintptr, bNoDQS int32) { /* sqlite3.c:108881:13: */ bp := tls.Alloc(64) defer tls.Free(64) @@ -89392,7 +89411,7 @@ func renameTestSchema(tls *libc.TLS, pParse uintptr, zDb uintptr, bTemp int32, z // database zDb with their single-quoted equivalents. If argument bTemp is // not true, similarly update all SQL statements in the sqlite_schema table // of the temp db. -func renameFixQuotes(tls *libc.TLS, pParse uintptr, zDb uintptr, bTemp int32) { /* sqlite3.c:108905:13: */ +func renameFixQuotes(tls *libc.TLS, pParse uintptr, zDb uintptr, bTemp int32) { /* sqlite3.c:108918:13: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -89408,7 +89427,7 @@ func renameFixQuotes(tls *libc.TLS, pParse uintptr, zDb uintptr, bTemp int32) { // Generate code to reload the schema for database iDb. And, if iDb!=1, for // the temp database as well. -func renameReloadSchema(tls *libc.TLS, pParse uintptr, iDb int32, p5 U16) { /* sqlite3.c:108926:13: */ +func renameReloadSchema(tls *libc.TLS, pParse uintptr, iDb int32, p5 U16) { /* sqlite3.c:108939:13: */ var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe if v != 0 { Xsqlite3ChangeCookie(tls, pParse, iDb) @@ -89421,7 +89440,7 @@ func renameReloadSchema(tls *libc.TLS, pParse uintptr, iDb int32, p5 U16) { /* s // Generate code to implement the "ALTER TABLE xxx RENAME TO yyy" // command. -func Xsqlite3AlterRenameTable(tls *libc.TLS, pParse uintptr, pSrc uintptr, pName uintptr) { /* sqlite3.c:108939:21: */ +func Xsqlite3AlterRenameTable(tls *libc.TLS, pParse uintptr, pSrc uintptr, pName uintptr) { /* sqlite3.c:108952:21: */ bp := tls.Alloc(184) defer tls.Free(184) @@ -89606,7 +89625,7 @@ exit_rename_table: // Write code that will raise an error if the table described by // zDb and zTab is not empty. -func sqlite3ErrorIfNotEmpty(tls *libc.TLS, pParse uintptr, zDb uintptr, zTab uintptr, zErr uintptr) { /* sqlite3.c:109108:13: */ +func sqlite3ErrorIfNotEmpty(tls *libc.TLS, pParse uintptr, zDb uintptr, zTab uintptr, zErr uintptr) { /* sqlite3.c:109121:13: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -89621,7 +89640,7 @@ func sqlite3ErrorIfNotEmpty(tls *libc.TLS, pParse uintptr, zDb uintptr, zTab uin // // The Table structure pParse->pNewTable was extended to include // the new column during parsing. -func Xsqlite3AlterFinishAddColumn(tls *libc.TLS, pParse uintptr, pColDef uintptr) { /* sqlite3.c:109128:21: */ +func Xsqlite3AlterFinishAddColumn(tls *libc.TLS, pParse uintptr, pColDef uintptr) { /* sqlite3.c:109141:21: */ bp := tls.Alloc(64) defer tls.Free(64) @@ -89767,7 +89786,7 @@ func Xsqlite3AlterFinishAddColumn(tls *libc.TLS, pParse uintptr, pColDef uintptr // // Routine sqlite3AlterFinishAddColumn() will be called to complete // coding the "ALTER TABLE ... ADD" statement. -func Xsqlite3AlterBeginAddColumn(tls *libc.TLS, pParse uintptr, pSrc uintptr) { /* sqlite3.c:109293:21: */ +func Xsqlite3AlterBeginAddColumn(tls *libc.TLS, pParse uintptr, pSrc uintptr) { /* sqlite3.c:109306:21: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -89884,7 +89903,7 @@ exit_begin_add_column: // it loads an error message into pParse and returns non-zero. // // Or, if pTab is not a view or virtual table, zero is returned. -func isRealTable(tls *libc.TLS, pParse uintptr, pTab uintptr, bDrop int32) int32 { /* sqlite3.c:109376:12: */ +func isRealTable(tls *libc.TLS, pParse uintptr, pTab uintptr, bDrop int32) int32 { /* sqlite3.c:109389:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -89912,7 +89931,7 @@ func isRealTable(tls *libc.TLS, pParse uintptr, pTab uintptr, bDrop int32) int32 // Handles the following parser reduction: // // cmd ::= ALTER TABLE pSrc RENAME COLUMN pOld TO pNew -func Xsqlite3AlterRenameColumn(tls *libc.TLS, pParse uintptr, pSrc uintptr, pOld uintptr, pNew uintptr) { /* sqlite3.c:109406:21: */ +func Xsqlite3AlterRenameColumn(tls *libc.TLS, pParse uintptr, pSrc uintptr, pOld uintptr, pNew uintptr) { /* sqlite3.c:109419:21: */ bp := tls.Alloc(112) defer tls.Free(112) @@ -90041,7 +90060,7 @@ exit_rename_column: // The context of an ALTER TABLE RENAME COLUMN operation that gets passed // down into the Walker. -type RenameCtx = RenameCtx1 /* sqlite3.c:109521:26 */ +type RenameCtx = RenameCtx1 /* sqlite3.c:109534:26 */ // Remember that the parser tree element pPtr was created using // the token pToken. @@ -90053,7 +90072,7 @@ type RenameCtx = RenameCtx1 /* sqlite3.c:109521:26 */ // The pPtr argument is returned so that this routine can be used // with tail recursion in tokenExpr() routine, for a small performance // improvement. -func Xsqlite3RenameTokenMap(tls *libc.TLS, pParse uintptr, pPtr uintptr, pToken uintptr) uintptr { /* sqlite3.c:109584:27: */ +func Xsqlite3RenameTokenMap(tls *libc.TLS, pParse uintptr, pPtr uintptr, pToken uintptr) uintptr { /* sqlite3.c:109597:27: */ var pNew uintptr if int32((*Parse)(unsafe.Pointer(pParse)).FeParseMode) != PARSE_MODE_UNMAP { @@ -90072,7 +90091,7 @@ func Xsqlite3RenameTokenMap(tls *libc.TLS, pParse uintptr, pPtr uintptr, pToken // It is assumed that there is already a RenameToken object associated // with parse tree element pFrom. This function remaps the associated token // to parse tree element pTo. -func Xsqlite3RenameTokenRemap(tls *libc.TLS, pParse uintptr, pTo uintptr, pFrom uintptr) { /* sqlite3.c:109610:21: */ +func Xsqlite3RenameTokenRemap(tls *libc.TLS, pParse uintptr, pTo uintptr, pFrom uintptr) { /* sqlite3.c:109623:21: */ var p uintptr for p = (*Parse)(unsafe.Pointer(pParse)).FpRename; p != 0; p = (*RenameToken)(unsafe.Pointer(p)).FpNext { @@ -90084,7 +90103,7 @@ func Xsqlite3RenameTokenRemap(tls *libc.TLS, pParse uintptr, pTo uintptr, pFrom } // Walker callback used by sqlite3RenameExprUnmap(). -func renameUnmapExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:109624:12: */ +func renameUnmapExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:109637:12: */ var pParse uintptr = (*Walker)(unsafe.Pointer(pWalker)).FpParse Xsqlite3RenameTokenRemap(tls, pParse, uintptr(0), pExpr) if (*Expr)(unsafe.Pointer(pExpr)).Fflags&U32(EP_WinFunc|EP_Subrtn) == U32(0) { @@ -90095,7 +90114,7 @@ func renameUnmapExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* // Iterate through the Select objects that are part of WITH clauses attached // to select statement pSelect. -func renameWalkWith(tls *libc.TLS, pWalker uintptr, pSelect uintptr) { /* sqlite3.c:109637:13: */ +func renameWalkWith(tls *libc.TLS, pWalker uintptr, pSelect uintptr) { /* sqlite3.c:109650:13: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -90136,7 +90155,7 @@ func renameWalkWith(tls *libc.TLS, pWalker uintptr, pSelect uintptr) { /* sqlite } // Unmap all tokens in the IdList object passed as the second argument. -func unmapColumnIdlistNames(tls *libc.TLS, pParse uintptr, pIdList uintptr) { /* sqlite3.c:109672:13: */ +func unmapColumnIdlistNames(tls *libc.TLS, pParse uintptr, pIdList uintptr) { /* sqlite3.c:109685:13: */ if pIdList != 0 { var ii int32 for ii = 0; ii < (*IdList)(unsafe.Pointer(pIdList)).FnId; ii++ { @@ -90146,7 +90165,7 @@ func unmapColumnIdlistNames(tls *libc.TLS, pParse uintptr, pIdList uintptr) { /* } // Walker callback used by sqlite3RenameExprUnmap(). -func renameUnmapSelectCb(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sqlite3.c:109687:12: */ +func renameUnmapSelectCb(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sqlite3.c:109700:12: */ var pParse uintptr = (*Walker)(unsafe.Pointer(pWalker)).FpParse var i int32 if (*Parse)(unsafe.Pointer(pParse)).FnErr != 0 { @@ -90178,7 +90197,7 @@ func renameUnmapSelectCb(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* s } // Remove all nodes that are part of expression pExpr from the rename list. -func Xsqlite3RenameExprUnmap(tls *libc.TLS, pParse uintptr, pExpr uintptr) { /* sqlite3.c:109720:21: */ +func Xsqlite3RenameExprUnmap(tls *libc.TLS, pParse uintptr, pExpr uintptr) { /* sqlite3.c:109733:21: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -90200,7 +90219,7 @@ func Xsqlite3RenameExprUnmap(tls *libc.TLS, pParse uintptr, pExpr uintptr) { /* // Remove all nodes that are part of expression-list pEList from the // rename list. -func Xsqlite3RenameExprlistUnmap(tls *libc.TLS, pParse uintptr, pEList uintptr) { /* sqlite3.c:109736:21: */ +func Xsqlite3RenameExprlistUnmap(tls *libc.TLS, pParse uintptr, pEList uintptr) { /* sqlite3.c:109749:21: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -90223,7 +90242,7 @@ func Xsqlite3RenameExprlistUnmap(tls *libc.TLS, pParse uintptr, pEList uintptr) } // Free the list of RenameToken objects given in the second argument -func renameTokenFree(tls *libc.TLS, db uintptr, pToken uintptr) { /* sqlite3.c:109755:13: */ +func renameTokenFree(tls *libc.TLS, db uintptr, pToken uintptr) { /* sqlite3.c:109768:13: */ var pNext uintptr var p uintptr for p = pToken; p != 0; p = pNext { @@ -90239,7 +90258,7 @@ func renameTokenFree(tls *libc.TLS, db uintptr, pToken uintptr) { /* sqlite3.c:1 // If the second argument passed to this function is not NULL and a matching // RenameToken object is found, remove it from the Parse object and add it to // the list maintained by the RenameCtx object. -func renameTokenFind(tls *libc.TLS, pParse uintptr, pCtx uintptr, pPtr uintptr) uintptr { /* sqlite3.c:109773:20: */ +func renameTokenFind(tls *libc.TLS, pParse uintptr, pCtx uintptr, pPtr uintptr) uintptr { /* sqlite3.c:109786:20: */ var pp uintptr if pPtr == uintptr(0) { return uintptr(0) @@ -90262,7 +90281,7 @@ func renameTokenFind(tls *libc.TLS, pParse uintptr, pCtx uintptr, pPtr uintptr) // This is a Walker select callback. It does nothing. It is only required // because without a dummy callback, sqlite3WalkExpr() and similar do not // descend into sub-select statements. -func renameColumnSelectCb(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sqlite3.c:109802:12: */ +func renameColumnSelectCb(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sqlite3.c:109815:12: */ if (*Select)(unsafe.Pointer(p)).FselFlags&U32(SF_View|SF_CopyCte) != 0 { return WRC_Prune @@ -90278,7 +90297,7 @@ func renameColumnSelectCb(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* // ALTER TABLE statement. If it is, then attach its associated // RenameToken object to the list of RenameToken objects being // constructed in RenameCtx object at pWalker->u.pRename. -func renameColumnExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:109821:12: */ +func renameColumnExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:109834:12: */ var p uintptr = *(*uintptr)(unsafe.Pointer(pWalker + 40)) if int32((*Expr)(unsafe.Pointer(pExpr)).Fop) == TK_TRIGGER && int32((*Expr)(unsafe.Pointer(pExpr)).FiColumn) == (*RenameCtx)(unsafe.Pointer(p)).FiCol && @@ -90300,7 +90319,7 @@ func renameColumnExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { / // the input SQL is parsed from left to right. Repeated calls to this routine // return all column name tokens in the order that they are encountered // in the SQL statement. -func renameColumnTokenNext(tls *libc.TLS, pCtx uintptr) uintptr { /* sqlite3.c:109847:20: */ +func renameColumnTokenNext(tls *libc.TLS, pCtx uintptr) uintptr { /* sqlite3.c:109860:20: */ var pBest uintptr = (*RenameCtx)(unsafe.Pointer(pCtx)).FpList var pToken uintptr var pp uintptr @@ -90322,7 +90341,7 @@ func renameColumnTokenNext(tls *libc.TLS, pCtx uintptr) uintptr { /* sqlite3.c:1 // ALTER TABLE RENAME COLUMN program. The error message emitted by the // sub-routine is currently stored in pParse->zErrMsg. This function // adds context to the error message and then stores it in pCtx. -func renameColumnParseError(tls *libc.TLS, pCtx uintptr, zWhen uintptr, pType uintptr, pObject uintptr, pParse uintptr) { /* sqlite3.c:109868:13: */ +func renameColumnParseError(tls *libc.TLS, pCtx uintptr, zWhen uintptr, pType uintptr, pObject uintptr, pParse uintptr) { /* sqlite3.c:109881:13: */ bp := tls.Alloc(40) defer tls.Free(40) @@ -90346,7 +90365,7 @@ func renameColumnParseError(tls *libc.TLS, pCtx uintptr, zWhen uintptr, pType ui // pEList->a[i].zName) that matches the string in zOld, extract the // corresponding rename-token from Parse object pParse and add it // to the RenameCtx pCtx. -func renameColumnElistNames(tls *libc.TLS, pParse uintptr, pCtx uintptr, pEList uintptr, zOld uintptr) { /* sqlite3.c:109893:13: */ +func renameColumnElistNames(tls *libc.TLS, pParse uintptr, pCtx uintptr, pEList uintptr, zOld uintptr) { /* sqlite3.c:109906:13: */ if pEList != 0 { var i int32 for i = 0; i < (*ExprList)(unsafe.Pointer(pEList)).FnExpr; i++ { @@ -90363,7 +90382,7 @@ func renameColumnElistNames(tls *libc.TLS, pParse uintptr, pCtx uintptr, pEList // For each name in the the id-list pIdList (i.e. each pIdList->a[i].zName) // that matches the string in zOld, extract the corresponding rename-token // from Parse object pParse and add it to the RenameCtx pCtx. -func renameColumnIdlistNames(tls *libc.TLS, pParse uintptr, pCtx uintptr, pIdList uintptr, zOld uintptr) { /* sqlite3.c:109918:13: */ +func renameColumnIdlistNames(tls *libc.TLS, pParse uintptr, pCtx uintptr, pIdList uintptr, zOld uintptr) { /* sqlite3.c:109931:13: */ if pIdList != 0 { var i int32 for i = 0; i < (*IdList)(unsafe.Pointer(pIdList)).FnId; i++ { @@ -90377,7 +90396,7 @@ func renameColumnIdlistNames(tls *libc.TLS, pParse uintptr, pCtx uintptr, pIdLis // Parse the SQL statement zSql using Parse object (*p). The Parse object // is initialized by this function before it is used. -func renameParseSql(tls *libc.TLS, p uintptr, zDb uintptr, db uintptr, zSql uintptr, bTemp int32) int32 { /* sqlite3.c:109940:12: */ +func renameParseSql(tls *libc.TLS, p uintptr, zDb uintptr, db uintptr, zSql uintptr, bTemp int32) int32 { /* sqlite3.c:109953:12: */ var rc int32 Xsqlite3ParseObjectInit(tls, p, db) @@ -90385,7 +90404,7 @@ func renameParseSql(tls *libc.TLS, p uintptr, zDb uintptr, db uintptr, zSql uint return SQLITE_NOMEM } if Xsqlite3_strnicmp(tls, zSql, ts+10807, 7) != 0 { - return Xsqlite3CorruptError(tls, 109954) + return Xsqlite3CorruptError(tls, 109967) } (*Sqlite3)(unsafe.Pointer(db)).Finit.FiDb = func() uint8 { if bTemp != 0 { @@ -90402,7 +90421,7 @@ func renameParseSql(tls *libc.TLS, p uintptr, zDb uintptr, db uintptr, zSql uint } if rc == SQLITE_OK && ((*Parse)(unsafe.Pointer(p)).FpNewTable == uintptr(0) && (*Parse)(unsafe.Pointer(p)).FpNewIndex == uintptr(0) && (*Parse)(unsafe.Pointer(p)).FpNewTrigger == uintptr(0)) { - rc = Xsqlite3CorruptError(tls, 109965) + rc = Xsqlite3CorruptError(tls, 109978) } (*Sqlite3)(unsafe.Pointer(db)).Finit.FiDb = U8(0) @@ -90416,7 +90435,7 @@ func renameParseSql(tls *libc.TLS, p uintptr, zDb uintptr, db uintptr, zSql uint // // Or, if an error occurs (i.e. an OOM condition), an error is left in // pCtx and an SQLite error code returned. -func renameEditSql(tls *libc.TLS, pCtx uintptr, pRename uintptr, zSql uintptr, zNew uintptr, bQuote int32) int32 { /* sqlite3.c:109993:12: */ +func renameEditSql(tls *libc.TLS, pCtx uintptr, pRename uintptr, zSql uintptr, zNew uintptr, bQuote int32) int32 { /* sqlite3.c:110006:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -90522,7 +90541,7 @@ func renameEditSql(tls *libc.TLS, pCtx uintptr, pRename uintptr, zSql uintptr, z // it was read from the schema of database zDb. Return SQLITE_OK if // successful. Otherwise, return an SQLite error code and leave an error // message in the Parse object. -func renameResolveTrigger(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:110100:12: */ +func renameResolveTrigger(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:110113:12: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -90620,7 +90639,7 @@ func renameResolveTrigger(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:11 // Invoke sqlite3WalkExpr() or sqlite3WalkSelect() on all Select or Expr // objects that are part of the trigger passed as the second argument. -func renameWalkTrigger(tls *libc.TLS, pWalker uintptr, pTrigger uintptr) { /* sqlite3.c:110196:13: */ +func renameWalkTrigger(tls *libc.TLS, pWalker uintptr, pTrigger uintptr) { /* sqlite3.c:110209:13: */ var pStep uintptr // Find tokens to edit in WHEN clause @@ -90649,7 +90668,7 @@ func renameWalkTrigger(tls *libc.TLS, pWalker uintptr, pTrigger uintptr) { /* sq // Free the contents of Parse object (*pParse). Do not free the memory // occupied by the Parse object itself. -func renameParseCleanup(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:110227:13: */ +func renameParseCleanup(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:110240:13: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb var pIdx uintptr if (*Parse)(unsafe.Pointer(pParse)).FpVdbe != 0 { @@ -90688,7 +90707,7 @@ func renameParseCleanup(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:110227:13: // It is only accessible to SQL created using sqlite3NestedParse(). It is // not reachable from ordinary SQL passed into sqlite3_prepare() unless the // SQLITE_TESTCTRL_INTERNAL_FUNCTIONS test setting is enabled. -func renameColumnFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { /* sqlite3.c:110268:13: */ +func renameColumnFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { /* sqlite3.c:110281:13: */ bp := tls.Alloc(488) defer tls.Free(488) @@ -91031,7 +91050,7 @@ __44: } // Walker expression callback used by "RENAME TABLE". -func renameTableExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:110435:12: */ +func renameTableExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:110448:12: */ var p uintptr = *(*uintptr)(unsafe.Pointer(pWalker + 40)) if int32((*Expr)(unsafe.Pointer(pExpr)).Fop) == TK_COLUMN && (*Expr)(unsafe.Pointer(pExpr)).Fflags&U32(EP_WinFunc|EP_Subrtn) == U32(0) && @@ -91042,7 +91061,7 @@ func renameTableExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* } // Walker select callback used by "RENAME TABLE". -func renameTableSelectCb(tls *libc.TLS, pWalker uintptr, pSelect uintptr) int32 { /* sqlite3.c:110449:12: */ +func renameTableSelectCb(tls *libc.TLS, pWalker uintptr, pSelect uintptr) int32 { /* sqlite3.c:110462:12: */ var i int32 var p uintptr = *(*uintptr)(unsafe.Pointer(pWalker + 40)) var pSrc uintptr = (*Select)(unsafe.Pointer(pSelect)).FpSrc @@ -91082,7 +91101,7 @@ func renameTableSelectCb(tls *libc.TLS, pWalker uintptr, pSelect uintptr) int32 // // sqlite_rename_table('main', 'CREATE TABLE t1(a REFERENCES t2)','t2','t3',0) // -> 'CREATE TABLE t1(a REFERENCES t3)' -func renameTableFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { /* sqlite3.c:110493:13: */ +func renameTableFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { /* sqlite3.c:110506:13: */ bp := tls.Alloc(544) defer tls.Free(544) @@ -91216,7 +91235,7 @@ func renameTableFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr return } -func renameQuotefixExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:110636:12: */ +func renameQuotefixExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:110649:12: */ if int32((*Expr)(unsafe.Pointer(pExpr)).Fop) == TK_STRING && (*Expr)(unsafe.Pointer(pExpr)).Fflags&U32(EP_DblQuoted) != 0 { renameTokenFind(tls, (*Walker)(unsafe.Pointer(pWalker)).FpParse, *(*uintptr)(unsafe.Pointer(pWalker + 40)), pExpr) } @@ -91249,7 +91268,7 @@ func renameQuotefixExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { // If there is a error in the input SQL, then raise an error, except // if PRAGMA writable_schema=ON, then just return the input string // unmodified following an error. -func renameQuotefixFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { /* sqlite3.c:110670:13: */ +func renameQuotefixFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { /* sqlite3.c:110683:13: */ bp := tls.Alloc(488) defer tls.Free(488) @@ -91363,7 +91382,7 @@ func renameQuotefixFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uint // B. Else if a trigger is created and the the table that the trigger is // attached to is in database zDb, then return 1. // C. Otherwise return NULL. -func renameTableTest(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { /* sqlite3.c:110783:13: */ +func renameTableTest(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { /* sqlite3.c:110796:13: */ bp := tls.Alloc(464) defer tls.Free(464) @@ -91435,7 +91454,7 @@ func renameTableTest(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr // // The value returned is a string containing the CREATE TABLE statement // with column argv[2] removed. -func dropColumnFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { /* sqlite3.c:110858:13: */ +func dropColumnFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { /* sqlite3.c:110871:13: */ bp := tls.Alloc(432) defer tls.Free(432) @@ -91475,7 +91494,7 @@ __1: goto __2 } // This can happen if the sqlite_schema table is corrupt - rc = Xsqlite3CorruptError(tls, 110886) + rc = Xsqlite3CorruptError(tls, 110899) goto drop_column_done __2: ; @@ -91521,7 +91540,7 @@ __7: // // statement. Argument pSrc contains the possibly qualified name of the // table being edited, and token pName the name of the column to drop. -func Xsqlite3AlterDropColumn(tls *libc.TLS, pParse uintptr, pSrc uintptr, pName uintptr) { /* sqlite3.c:110923:21: */ +func Xsqlite3AlterDropColumn(tls *libc.TLS, pParse uintptr, pSrc uintptr, pName uintptr) { /* sqlite3.c:110936:21: */ bp := tls.Alloc(64) defer tls.Free(64) @@ -91754,7 +91773,7 @@ exit_drop_column: } // Register built-in functions used to help implement ALTER TABLE -func Xsqlite3AlterFunctions(tls *libc.TLS) { /* sqlite3.c:111065:21: */ +func Xsqlite3AlterFunctions(tls *libc.TLS) { /* sqlite3.c:111078:21: */ Xsqlite3InsertBuiltinFuncs(tls, uintptr(unsafe.Pointer(&aAlterTableFuncs)), int32(uint64(unsafe.Sizeof(aAlterTableFuncs))/uint64(unsafe.Sizeof(FuncDef{})))) } @@ -91763,7 +91782,7 @@ var aAlterTableFuncs = [5]FuncDef{ {FnArg: int8(7), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_FUNC_INTERNAL | SQLITE_UTF8 | SQLITE_FUNC_CONSTANT), FxSFunc: 0, FzName: ts + 11081}, {FnArg: int8(7), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_FUNC_INTERNAL | SQLITE_UTF8 | SQLITE_FUNC_CONSTANT), FxSFunc: 0, FzName: ts + 11101}, {FnArg: int8(3), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_FUNC_INTERNAL | SQLITE_UTF8 | SQLITE_FUNC_CONSTANT), FxSFunc: 0, FzName: ts + 11120}, - {FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_FUNC_INTERNAL | SQLITE_UTF8 | SQLITE_FUNC_CONSTANT), FxSFunc: 0, FzName: ts + 11139}} /* sqlite3.c:111066:18 */ + {FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_FUNC_INTERNAL | SQLITE_UTF8 | SQLITE_FUNC_CONSTANT), FxSFunc: 0, FzName: ts + 11139}} /* sqlite3.c:111079:18 */ //************* End of alter.c ********************************************** //************* Begin file analyze.c **************************************** @@ -91919,7 +91938,7 @@ var aAlterTableFuncs = [5]FuncDef{ // or it may be a NULL pointer. If it is not NULL, then all entries in // the sqlite_statN tables associated with the named table are deleted. // If zWhere==0, then code is generated to delete all stat table entries. -func openStatTable(tls *libc.TLS, pParse uintptr, iDb int32, iStatCur int32, zWhere uintptr, zWhereType uintptr) { /* sqlite3.c:111244:13: */ +func openStatTable(tls *libc.TLS, pParse uintptr, iDb int32, iStatCur int32, zWhere uintptr, zWhereType uintptr) { /* sqlite3.c:111257:13: */ bp := tls.Alloc(88) defer tls.Free(88) @@ -91999,7 +92018,7 @@ var aTable = [3]struct { {FzName: ts + 11233 /* "sqlite_stat1" */, FzCols: ts + 11246 /* "tbl,idx,stat" */}, {FzName: ts + 11259 /* "sqlite_stat4" */, FzCols: ts + 11272 /* "tbl,idx,neq,nlt,..." */}, {FzName: ts + 11300 /* "sqlite_stat3" */}, -} /* sqlite3.c:111254:5 */ +} /* sqlite3.c:111267:5 */ // Recommended number of samples for sqlite_stat4 @@ -92026,14 +92045,14 @@ type StatAccum1 = struct { FnMaxEqZero int32 FiGet int32 Fa uintptr -} /* sqlite3.c:111342:9 */ +} /* sqlite3.c:111355:9 */ // Recommended number of samples for sqlite_stat4 // Three SQL functions - stat_init(), stat_push(), and stat_get() - // share an instance of the following structure to hold their state // information. -type StatAccum = StatAccum1 /* sqlite3.c:111342:26 */ +type StatAccum = StatAccum1 /* sqlite3.c:111355:26 */ type StatSample1 = struct { FanEq uintptr FanDLt uintptr @@ -92044,12 +92063,12 @@ type StatSample1 = struct { F__ccgo_pad1 [3]byte FiCol int32 FiHash U32 -} /* sqlite3.c:111342:9 */ +} /* sqlite3.c:111355:9 */ -type StatSample = StatSample1 /* sqlite3.c:111343:27 */ +type StatSample = StatSample1 /* sqlite3.c:111356:27 */ // Reclaim memory used by a StatSample -func sampleClear(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:111384:13: */ +func sampleClear(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:111397:13: */ if (*StatSample)(unsafe.Pointer(p)).FnRowid != 0 { Xsqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(p + 24))) @@ -92058,7 +92077,7 @@ func sampleClear(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:111384:13: } // Initialize the BLOB value of a ROWID -func sampleSetRowid(tls *libc.TLS, db uintptr, p uintptr, n int32, pData uintptr) { /* sqlite3.c:111396:13: */ +func sampleSetRowid(tls *libc.TLS, db uintptr, p uintptr, n int32, pData uintptr) { /* sqlite3.c:111409:13: */ if (*StatSample)(unsafe.Pointer(p)).FnRowid != 0 { Xsqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(p + 24))) @@ -92073,7 +92092,7 @@ func sampleSetRowid(tls *libc.TLS, db uintptr, p uintptr, n int32, pData uintptr } // Initialize the INTEGER value of a ROWID. -func sampleSetRowidInt64(tls *libc.TLS, db uintptr, p uintptr, iRowid I64) { /* sqlite3.c:111412:13: */ +func sampleSetRowidInt64(tls *libc.TLS, db uintptr, p uintptr, iRowid I64) { /* sqlite3.c:111425:13: */ if (*StatSample)(unsafe.Pointer(p)).FnRowid != 0 { Xsqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(p + 24))) @@ -92083,7 +92102,7 @@ func sampleSetRowidInt64(tls *libc.TLS, db uintptr, p uintptr, iRowid I64) { /* } // Copy the contents of object (*pFrom) into (*pTo). -func sampleCopy(tls *libc.TLS, p uintptr, pTo uintptr, pFrom uintptr) { /* sqlite3.c:111425:13: */ +func sampleCopy(tls *libc.TLS, p uintptr, pTo uintptr, pFrom uintptr) { /* sqlite3.c:111438:13: */ (*StatSample)(unsafe.Pointer(pTo)).FisPSample = (*StatSample)(unsafe.Pointer(pFrom)).FisPSample (*StatSample)(unsafe.Pointer(pTo)).FiCol = (*StatSample)(unsafe.Pointer(pFrom)).FiCol (*StatSample)(unsafe.Pointer(pTo)).FiHash = (*StatSample)(unsafe.Pointer(pFrom)).FiHash @@ -92098,7 +92117,7 @@ func sampleCopy(tls *libc.TLS, p uintptr, pTo uintptr, pFrom uintptr) { /* sqlit } // Reclaim all memory of a StatAccum structure. -func statAccumDestructor(tls *libc.TLS, pOld uintptr) { /* sqlite3.c:111443:13: */ +func statAccumDestructor(tls *libc.TLS, pOld uintptr) { /* sqlite3.c:111456:13: */ var p uintptr = pOld if (*StatAccum)(unsafe.Pointer(p)).FmxSample != 0 { var i int32 @@ -92133,7 +92152,7 @@ func statAccumDestructor(tls *libc.TLS, pOld uintptr) { /* sqlite3.c:111443:13: // value is a pointer to the StatAccum object. The datatype of the // return value is BLOB, but it is really just a pointer to the StatAccum // object. -func statInit(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:111478:13: */ +func statInit(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:111491:13: */ var p uintptr var nCol int32 // Number of columns in index being sampled var nKeyCol int32 // Number of key columns @@ -92228,7 +92247,7 @@ var statInitFuncdef = FuncDef{ FnArg: int8(4), // nArg FfuncFlags: U32(SQLITE_UTF8), // pNext FxSFunc: 0, // xValue, xInverse - FzName: ts + 11313} /* sqlite3.c:111564:22 */ + FzName: ts + 11313} /* sqlite3.c:111577:22 */ // pNew and pOld are both candidate non-periodic samples selected for // the same column (pNew->iCol==pOld->iCol). Ignoring this column and @@ -92239,7 +92258,7 @@ var statInitFuncdef = FuncDef{ // // This function assumes that for each argument sample, the contents of // the anEq[] array from pSample->anEq[pSample->iCol+1] onwards are valid. -func sampleIsBetterPost(tls *libc.TLS, pAccum uintptr, pNew uintptr, pOld uintptr) int32 { /* sqlite3.c:111588:12: */ +func sampleIsBetterPost(tls *libc.TLS, pAccum uintptr, pNew uintptr, pOld uintptr) int32 { /* sqlite3.c:111601:12: */ var nCol int32 = (*StatAccum)(unsafe.Pointer(pAccum)).FnCol var i int32 @@ -92261,7 +92280,7 @@ func sampleIsBetterPost(tls *libc.TLS, pAccum uintptr, pNew uintptr, pOld uintpt // // This function assumes that for each argument sample, the contents of // the anEq[] array from pSample->anEq[pSample->iCol] onwards are valid. -func sampleIsBetter(tls *libc.TLS, pAccum uintptr, pNew uintptr, pOld uintptr) int32 { /* sqlite3.c:111612:12: */ +func sampleIsBetter(tls *libc.TLS, pAccum uintptr, pNew uintptr, pOld uintptr) int32 { /* sqlite3.c:111625:12: */ var nEqNew TRowcnt = *(*TRowcnt)(unsafe.Pointer((*StatSample)(unsafe.Pointer(pNew)).FanEq + uintptr((*StatSample)(unsafe.Pointer(pNew)).FiCol)*4)) var nEqOld TRowcnt = *(*TRowcnt)(unsafe.Pointer((*StatSample)(unsafe.Pointer(pOld)).FanEq + uintptr((*StatSample)(unsafe.Pointer(pOld)).FiCol)*4)) @@ -92279,7 +92298,7 @@ func sampleIsBetter(tls *libc.TLS, pAccum uintptr, pNew uintptr, pOld uintptr) i // Copy the contents of sample *pNew into the p->a[] array. If necessary, // remove the least desirable sample from p->a[] to make room. -func sampleInsert(tls *libc.TLS, p uintptr, pNew uintptr, nEqZero int32) { /* sqlite3.c:111635:13: */ +func sampleInsert(tls *libc.TLS, p uintptr, pNew uintptr, nEqZero int32) { /* sqlite3.c:111648:13: */ var pSample uintptr var i int32 var pOld uintptr @@ -92422,7 +92441,7 @@ __11: // p->current contains a sample that reflects the previous row of the // index. The value of anEq[iChng] and subsequent anEq[] elements are // correct at this point. -func samplePushPrevious(tls *libc.TLS, p uintptr, iChng int32) { /* sqlite3.c:111727:13: */ +func samplePushPrevious(tls *libc.TLS, p uintptr, iChng int32) { /* sqlite3.c:111740:13: */ var i int32 // Check if any samples from the aBest[] array should be pushed @@ -92474,7 +92493,7 @@ func samplePushPrevious(tls *libc.TLS, p uintptr, iChng int32) { /* sqlite3.c:11 // if it wants the byte-code to do special processing. // // The R parameter is only used for STAT4 -func statPush(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:111779:13: */ +func statPush(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:111792:13: */ var i int32 // The three function arguments @@ -92546,7 +92565,7 @@ var statPushFuncdef = FuncDef{ FnArg: int8(2 + IsStat4), FfuncFlags: U32(SQLITE_UTF8), // pNext FxSFunc: 0, // xValue, xInverse - FzName: ts + 11323} /* sqlite3.c:111854:22 */ + FzName: ts + 11323} /* sqlite3.c:111867:22 */ // Implementation of the stat_get(P,J) SQL function. This routine is // used to query statistical information that has been gathered into @@ -92565,7 +92584,7 @@ var statPushFuncdef = FuncDef{ // STAT_GET_STAT1 and is hence omitted and this routine becomes // a one-parameter function, stat_get(P), that always returns the // stat1 table entry information. -func statGet(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:111891:13: */ +func statGet(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:111904:13: */ bp := tls.Alloc(88) defer tls.Free(88) @@ -92666,9 +92685,9 @@ var statGetFuncdef = FuncDef{ FnArg: int8(1 + IsStat4), FfuncFlags: U32(SQLITE_UTF8), // pNext FxSFunc: 0, // xValue, xInverse - FzName: ts + 11350} /* sqlite3.c:111988:22 */ + FzName: ts + 11350} /* sqlite3.c:112001:22 */ -func callStatGet(tls *libc.TLS, pParse uintptr, regStat int32, iParam int32, regOut int32) { /* sqlite3.c:112000:13: */ +func callStatGet(tls *libc.TLS, pParse uintptr, regStat int32, iParam int32, regOut int32) { /* sqlite3.c:112013:13: */ Xsqlite3VdbeAddOp2(tls, (*Parse)(unsafe.Pointer(pParse)).FpVdbe, OP_Integer, iParam, regStat+1) Xsqlite3VdbeAddFunctionCall(tls, pParse, 0, regStat, regOut, 1+IsStat4, @@ -92677,7 +92696,7 @@ func callStatGet(tls *libc.TLS, pParse uintptr, regStat int32, iParam int32, reg // Generate code to do an analysis of all indices associated with // a single table. -func analyzeOneTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uintptr, iStatCur int32, iMem int32, iTab int32) { /* sqlite3.c:112041:13: */ +func analyzeOneTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uintptr, iStatCur int32, iMem int32, iTab int32) { /* sqlite3.c:112054:13: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb // Database handle var pIdx uintptr // An index to being analyzed var iIdxCur int32 // Cursor open on index being analyzed @@ -93037,7 +93056,7 @@ func analyzeOneTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uintp // Generate code that will cause the most recent index analysis to // be loaded into internal hash tables where is can be used. -func loadAnalysis(tls *libc.TLS, pParse uintptr, iDb int32) { /* sqlite3.c:112403:13: */ +func loadAnalysis(tls *libc.TLS, pParse uintptr, iDb int32) { /* sqlite3.c:112416:13: */ var v uintptr = Xsqlite3GetVdbe(tls, pParse) if v != 0 { Xsqlite3VdbeAddOp1(tls, v, OP_LoadAnalysis, iDb) @@ -93045,7 +93064,7 @@ func loadAnalysis(tls *libc.TLS, pParse uintptr, iDb int32) { /* sqlite3.c:11240 } // Generate code that will do an analysis of an entire database -func analyzeDatabase(tls *libc.TLS, pParse uintptr, iDb int32) { /* sqlite3.c:112413:13: */ +func analyzeDatabase(tls *libc.TLS, pParse uintptr, iDb int32) { /* sqlite3.c:112426:13: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb var pSchema uintptr = (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32)).FpSchema // Schema of database iDb var k uintptr @@ -93070,7 +93089,7 @@ func analyzeDatabase(tls *libc.TLS, pParse uintptr, iDb int32) { /* sqlite3.c:11 // Generate code that will do an analysis of a single table in // a database. If pOnlyIdx is not NULL then it is a single index // in pTab that should be analyzed. -func analyzeTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uintptr) { /* sqlite3.c:112440:13: */ +func analyzeTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uintptr) { /* sqlite3.c:112453:13: */ var iDb int32 var iStatCur int32 @@ -93097,7 +93116,7 @@ func analyzeTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uintptr) // Form 1 causes all indices in all attached databases to be analyzed. // Form 2 analyzes all indices the single database named. // Form 3 analyzes all indices associated with the named table. -func Xsqlite3Analyze(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 uintptr) { /* sqlite3.c:112471:21: */ +func Xsqlite3Analyze(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 uintptr) { /* sqlite3.c:112484:21: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -93160,16 +93179,16 @@ func Xsqlite3Analyze(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 uintp type analysisInfo = struct { Fdb uintptr FzDatabase uintptr -} /* sqlite3.c:112523:9 */ +} /* sqlite3.c:112536:9 */ // Used to pass information from the analyzer reader through to the // callback routine. -type AnalysisInfo = analysisInfo /* sqlite3.c:112523:29 */ +type AnalysisInfo = analysisInfo /* sqlite3.c:112536:29 */ // The first argument points to a nul-terminated string containing a // list of space separated integers. Read the first nOut of these into // the array aOut[]. -func decodeIntArray(tls *libc.TLS, zIntArray uintptr, nOut int32, aOut uintptr, aLog uintptr, pIndex uintptr) { /* sqlite3.c:112534:13: */ +func decodeIntArray(tls *libc.TLS, zIntArray uintptr, nOut int32, aOut uintptr, aLog uintptr, pIndex uintptr) { /* sqlite3.c:112547:13: */ var z uintptr = zIntArray var c int32 var i int32 @@ -93228,7 +93247,7 @@ func decodeIntArray(tls *libc.TLS, zIntArray uintptr, nOut int32, aOut uintptr, // // Entries for which argv[1]==NULL simply record the number of rows in // the table. -func analysisLoader(tls *libc.TLS, pData uintptr, argc int32, argv uintptr, NotUsed uintptr) int32 { /* sqlite3.c:112607:12: */ +func analysisLoader(tls *libc.TLS, pData uintptr, argc int32, argv uintptr, NotUsed uintptr) int32 { /* sqlite3.c:112620:12: */ bp := tls.Alloc(152) defer tls.Free(152) @@ -93290,7 +93309,7 @@ func analysisLoader(tls *libc.TLS, pData uintptr, argc int32, argv uintptr, NotU // If the Index.aSample variable is not NULL, delete the aSample[] array // and its contents. -func Xsqlite3DeleteIndexSamples(tls *libc.TLS, db uintptr, pIdx uintptr) { /* sqlite3.c:112670:21: */ +func Xsqlite3DeleteIndexSamples(tls *libc.TLS, db uintptr, pIdx uintptr) { /* sqlite3.c:112683:21: */ if (*Index)(unsafe.Pointer(pIdx)).FaSample != 0 { var j int32 for j = 0; j < (*Index)(unsafe.Pointer(pIdx)).FnSample; j++ { @@ -93307,7 +93326,7 @@ func Xsqlite3DeleteIndexSamples(tls *libc.TLS, db uintptr, pIdx uintptr) { /* sq // Populate the pIdx->aAvgEq[] array based on the samples currently // stored in pIdx->aSample[]. -func initAvgEq(tls *libc.TLS, pIdx uintptr) { /* sqlite3.c:112695:13: */ +func initAvgEq(tls *libc.TLS, pIdx uintptr) { /* sqlite3.c:112708:13: */ if pIdx != 0 { var aSample uintptr = (*Index)(unsafe.Pointer(pIdx)).FaSample var pFinal uintptr = aSample + uintptr((*Index)(unsafe.Pointer(pIdx)).FnSample-1)*40 @@ -93365,7 +93384,7 @@ func initAvgEq(tls *libc.TLS, pIdx uintptr) { /* sqlite3.c:112695:13: */ // Look up an index by name. Or, if the name of a WITHOUT ROWID table // is supplied instead, find the PRIMARY KEY index for that table. -func findIndexOrPrimaryKey(tls *libc.TLS, db uintptr, zName uintptr, zDb uintptr) uintptr { /* sqlite3.c:112754:14: */ +func findIndexOrPrimaryKey(tls *libc.TLS, db uintptr, zName uintptr, zDb uintptr) uintptr { /* sqlite3.c:112767:14: */ var pIdx uintptr = Xsqlite3FindIndex(tls, db, zName, zDb) if pIdx == uintptr(0) { var pTab uintptr = Xsqlite3FindTable(tls, db, zName, zDb) @@ -93386,7 +93405,7 @@ func findIndexOrPrimaryKey(tls *libc.TLS, db uintptr, zName uintptr, zDb uintptr // zSql2: SELECT idx,neq,nlt,ndlt,sample FROM %Q.sqlite_stat4 // // where %Q is replaced with the database name before the SQL is executed. -func loadStatTbl(tls *libc.TLS, db uintptr, zSql1 uintptr, zSql2 uintptr, zDb uintptr) int32 { /* sqlite3.c:112779:12: */ +func loadStatTbl(tls *libc.TLS, db uintptr, zSql1 uintptr, zSql2 uintptr, zDb uintptr) int32 { /* sqlite3.c:112792:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -93522,7 +93541,7 @@ func loadStatTbl(tls *libc.TLS, db uintptr, zSql1 uintptr, zSql2 uintptr, zDb ui // Load content from the sqlite_stat4 table into // the Index.aSample[] arrays of all indices. -func loadStat4(tls *libc.TLS, db uintptr, zDb uintptr) int32 { /* sqlite3.c:112900:12: */ +func loadStat4(tls *libc.TLS, db uintptr, zDb uintptr) int32 { /* sqlite3.c:112913:12: */ var rc int32 = SQLITE_OK // Result codes from subroutines var pStat4 uintptr @@ -93554,7 +93573,7 @@ func loadStat4(tls *libc.TLS, db uintptr, zDb uintptr) int32 { /* sqlite3.c:1129 // If an OOM error occurs, this function always sets db->mallocFailed. // This means if the caller does not care about other errors, the return // code may be ignored. -func Xsqlite3AnalysisLoad(tls *libc.TLS, db uintptr, iDb int32) int32 { /* sqlite3.c:112938:20: */ +func Xsqlite3AnalysisLoad(tls *libc.TLS, db uintptr, iDb int32) int32 { /* sqlite3.c:112951:20: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -93661,7 +93680,7 @@ func Xsqlite3AnalysisLoad(tls *libc.TLS, db uintptr, iDb int32) int32 { /* sqlit // ATTACH DATABASE abc||def AS 'db2' // // will fail because neither abc or def can be resolved. -func resolveAttachExpr(tls *libc.TLS, pName uintptr, pExpr uintptr) int32 { /* sqlite3.c:113046:12: */ +func resolveAttachExpr(tls *libc.TLS, pName uintptr, pExpr uintptr) int32 { /* sqlite3.c:113059:12: */ var rc int32 = SQLITE_OK if pExpr != 0 { if int32((*Expr)(unsafe.Pointer(pExpr)).Fop) != TK_ID { @@ -93675,7 +93694,7 @@ func resolveAttachExpr(tls *libc.TLS, pName uintptr, pExpr uintptr) int32 { /* s // Return true if zName points to a name that may be used to refer to // database iDb attached to handle db. -func Xsqlite3DbIsNamed(tls *libc.TLS, db uintptr, iDb int32, zName uintptr) int32 { /* sqlite3.c:113063:20: */ +func Xsqlite3DbIsNamed(tls *libc.TLS, db uintptr, iDb int32, zName uintptr) int32 { /* sqlite3.c:113076:20: */ return libc.Bool32(Xsqlite3StrICmp(tls, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(iDb)*32)).FzDbSName, zName) == 0 || iDb == 0 && Xsqlite3StrICmp(tls, ts+6332, zName) == 0) } @@ -93693,7 +93712,7 @@ func Xsqlite3DbIsNamed(tls *libc.TLS, db uintptr, iDb int32, zName uintptr) int3 // If the db->init.reopenMemdb flags is set, then instead of attaching a // new database, close the database on db->init.iDb and reopen it as an // empty MemDB. -func attachFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { /* sqlite3.c:113085:13: */ +func attachFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { /* sqlite3.c:113098:13: */ bp := tls.Alloc(64) defer tls.Free(64) @@ -93986,7 +94005,7 @@ __34: // DETACH DATABASE x // // SELECT sqlite_detach(x) -func detachFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { /* sqlite3.c:113278:13: */ +func detachFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { /* sqlite3.c:113291:13: */ bp := tls.Alloc(152) defer tls.Free(152) @@ -94091,7 +94110,7 @@ detach_error: // This procedure generates VDBE code for a single invocation of either the // sqlite_detach() or sqlite_attach() SQL user functions. -func codeAttach(tls *libc.TLS, pParse uintptr, type1 int32, pFunc uintptr, pAuthArg uintptr, pFilename uintptr, pDbname uintptr, pKey uintptr) { /* sqlite3.c:113340:13: */ +func codeAttach(tls *libc.TLS, pParse uintptr, type1 int32, pFunc uintptr, pAuthArg uintptr, pFilename uintptr, pDbname uintptr, pKey uintptr) { /* sqlite3.c:113353:13: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -94170,7 +94189,7 @@ attach_end: // Called by the parser to compile a DETACH statement. // // DETACH pDbname -func Xsqlite3Detach(tls *libc.TLS, pParse uintptr, pDbname uintptr) { /* sqlite3.c:113412:21: */ +func Xsqlite3Detach(tls *libc.TLS, pParse uintptr, pDbname uintptr) { /* sqlite3.c:113425:21: */ codeAttach(tls, pParse, SQLITE_DETACH, uintptr(unsafe.Pointer(&detach_func)), pDbname, uintptr(0), uintptr(0), pDbname) } @@ -94178,12 +94197,12 @@ var detach_func = FuncDef{ FnArg: int8(1), // nArg FfuncFlags: U32(SQLITE_UTF8), // pNext FxSFunc: 0, // xValue, xInverse - FzName: ts + 11825} /* sqlite3.c:113413:24 */ + FzName: ts + 11825} /* sqlite3.c:113426:24 */ // Called by the parser to compile an ATTACH statement. // // ATTACH p AS pDbname KEY pKey -func Xsqlite3Attach(tls *libc.TLS, pParse uintptr, p uintptr, pDbname uintptr, pKey uintptr) { /* sqlite3.c:113432:21: */ +func Xsqlite3Attach(tls *libc.TLS, pParse uintptr, p uintptr, pDbname uintptr, pKey uintptr) { /* sqlite3.c:113445:21: */ codeAttach(tls, pParse, SQLITE_ATTACH, uintptr(unsafe.Pointer(&attach_func)), p, p, pDbname, pKey) } @@ -94191,10 +94210,10 @@ var attach_func = FuncDef{ FnArg: int8(3), // nArg FfuncFlags: U32(SQLITE_UTF8), // pNext FxSFunc: 0, // xValue, xInverse - FzName: ts + 11839} /* sqlite3.c:113433:24 */ + FzName: ts + 11839} /* sqlite3.c:113446:24 */ // Expression callback used by sqlite3FixAAAA() routines. -func fixExprCb(tls *libc.TLS, p uintptr, pExpr uintptr) int32 { /* sqlite3.c:113451:12: */ +func fixExprCb(tls *libc.TLS, p uintptr, pExpr uintptr) int32 { /* sqlite3.c:113464:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -94214,7 +94233,7 @@ func fixExprCb(tls *libc.TLS, p uintptr, pExpr uintptr) int32 { /* sqlite3.c:113 } // Select callback used by sqlite3FixAAAA() routines. -func fixSelectCb(tls *libc.TLS, p uintptr, pSelect uintptr) int32 { /* sqlite3.c:113468:12: */ +func fixSelectCb(tls *libc.TLS, p uintptr, pSelect uintptr) int32 { /* sqlite3.c:113481:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -94275,7 +94294,7 @@ __3: // Initialize a DbFixer structure. This routine must be called prior // to passing the structure to one of the sqliteFixAAAA() routines below. -func Xsqlite3FixInit(tls *libc.TLS, pFix uintptr, pParse uintptr, iDb int32, zType uintptr, pName uintptr) { /* sqlite3.c:113511:21: */ +func Xsqlite3FixInit(tls *libc.TLS, pFix uintptr, pParse uintptr, iDb int32, zType uintptr, pName uintptr) { /* sqlite3.c:113524:21: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb (*DbFixer)(unsafe.Pointer(pFix)).FpParse = pParse @@ -94311,7 +94330,7 @@ func Xsqlite3FixInit(tls *libc.TLS, pFix uintptr, pParse uintptr, iDb int32, zTy // to an object in a different database, an error message is added to // pParse->zErrMsg and these routines return non-zero. If everything // checks out, these routines return 0. -func Xsqlite3FixSrcList(tls *libc.TLS, pFix uintptr, pList uintptr) int32 { /* sqlite3.c:113549:20: */ +func Xsqlite3FixSrcList(tls *libc.TLS, pFix uintptr, pList uintptr) int32 { /* sqlite3.c:113562:20: */ bp := tls.Alloc(128) defer tls.Free(128) @@ -94326,15 +94345,15 @@ func Xsqlite3FixSrcList(tls *libc.TLS, pFix uintptr, pList uintptr) int32 { /* s return res } -func Xsqlite3FixSelect(tls *libc.TLS, pFix uintptr, pSelect uintptr) int32 { /* sqlite3.c:113563:20: */ +func Xsqlite3FixSelect(tls *libc.TLS, pFix uintptr, pSelect uintptr) int32 { /* sqlite3.c:113576:20: */ return Xsqlite3WalkSelect(tls, pFix+8, pSelect) } -func Xsqlite3FixExpr(tls *libc.TLS, pFix uintptr, pExpr uintptr) int32 { /* sqlite3.c:113569:20: */ +func Xsqlite3FixExpr(tls *libc.TLS, pFix uintptr, pExpr uintptr) int32 { /* sqlite3.c:113582:20: */ return Xsqlite3WalkExpr(tls, pFix+8, pExpr) } -func Xsqlite3FixTriggerStep(tls *libc.TLS, pFix uintptr, pStep uintptr) int32 { /* sqlite3.c:113578:20: */ +func Xsqlite3FixTriggerStep(tls *libc.TLS, pFix uintptr, pStep uintptr) int32 { /* sqlite3.c:113591:20: */ for pStep != 0 { if Xsqlite3WalkSelect(tls, pFix+8, (*TriggerStep)(unsafe.Pointer(pStep)).FpSelect) != 0 || Xsqlite3WalkExpr(tls, pFix+8, (*TriggerStep)(unsafe.Pointer(pStep)).FpWhere) != 0 || @@ -94424,7 +94443,7 @@ func Xsqlite3FixTriggerStep(tls *libc.TLS, pFix uintptr, pStep uintptr) 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) int32 { /* sqlite3.c:113682:16: */ +func Xsqlite3_set_authorizer(tls *libc.TLS, db uintptr, xAuth uintptr, pArg uintptr) int32 { /* sqlite3.c:113695:16: */ Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) (*Sqlite3)(unsafe.Pointer(db)).FxAuth = xAuth (*Sqlite3)(unsafe.Pointer(db)).FpAuthArg = pArg @@ -94437,7 +94456,7 @@ func Xsqlite3_set_authorizer(tls *libc.TLS, db uintptr, xAuth uintptr, pArg uint // Write an error message into pParse->zErrMsg that explains that the // user-supplied authorization function returned an illegal value. -func sqliteAuthBadReturnCode(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:113702:13: */ +func sqliteAuthBadReturnCode(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:113715:13: */ Xsqlite3ErrorMsg(tls, pParse, ts+11923, 0) (*Parse)(unsafe.Pointer(pParse)).Frc = SQLITE_ERROR } @@ -94449,7 +94468,7 @@ func sqliteAuthBadReturnCode(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:11370 // If SQLITE_IGNORE is returned and pExpr is not NULL, then pExpr is changed // to an SQL NULL expression. Otherwise, if pExpr is NULL, then SQLITE_IGNORE // is treated as SQLITE_DENY. In this case an error is left in pParse. -func Xsqlite3AuthReadCol(tls *libc.TLS, pParse uintptr, zTab uintptr, zCol uintptr, iDb int32) int32 { /* sqlite3.c:113716:20: */ +func Xsqlite3AuthReadCol(tls *libc.TLS, pParse uintptr, zTab uintptr, zCol uintptr, iDb int32) int32 { /* sqlite3.c:113729:20: */ bp := tls.Alloc(40) defer tls.Free(40) @@ -94483,7 +94502,7 @@ func Xsqlite3AuthReadCol(tls *libc.TLS, pParse uintptr, zTab uintptr, zCol uintp // If the auth function returns SQLITE_IGNORE, change the TK_COLUMN // instruction into a TK_NULL. If the auth function returns SQLITE_DENY, // then generate an error. -func Xsqlite3AuthRead(tls *libc.TLS, pParse uintptr, pExpr uintptr, pSchema uintptr, pTabList uintptr) { /* sqlite3.c:113752:21: */ +func Xsqlite3AuthRead(tls *libc.TLS, pParse uintptr, pExpr uintptr, pSchema uintptr, pTabList uintptr) { /* sqlite3.c:113765:21: */ var pTab uintptr = uintptr(0) // The table being read var zCol uintptr // Name of the column of the table var iSrc int32 // Index in pTabList->a[] of table being read @@ -94532,7 +94551,7 @@ func Xsqlite3AuthRead(tls *libc.TLS, pParse uintptr, pExpr uintptr, pSchema uint // either SQLITE_OK (zero) or SQLITE_IGNORE or SQLITE_DENY. If SQLITE_DENY // is returned, then the error count and error message in pParse are // modified appropriately. -func Xsqlite3AuthCheck(tls *libc.TLS, pParse uintptr, code int32, zArg1 uintptr, zArg2 uintptr, zArg3 uintptr) int32 { /* sqlite3.c:113809:20: */ +func Xsqlite3AuthCheck(tls *libc.TLS, pParse uintptr, code int32, zArg1 uintptr, zArg2 uintptr, zArg3 uintptr) int32 { /* sqlite3.c:113822:20: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb var rc int32 @@ -94566,7 +94585,7 @@ func Xsqlite3AuthCheck(tls *libc.TLS, pParse uintptr, code int32, zArg1 uintptr, // Push an authorization context. After this routine is called, the // zArg3 argument to authorization callbacks will be zContext until // popped. Or if pParse==0, this routine is a no-op. -func Xsqlite3AuthContextPush(tls *libc.TLS, pParse uintptr, pContext uintptr, zContext uintptr) { /* sqlite3.c:113858:21: */ +func Xsqlite3AuthContextPush(tls *libc.TLS, pParse uintptr, pContext uintptr, zContext uintptr) { /* sqlite3.c:113871:21: */ (*AuthContext)(unsafe.Pointer(pContext)).FpParse = pParse (*AuthContext)(unsafe.Pointer(pContext)).FzAuthContext = (*Parse)(unsafe.Pointer(pParse)).FzAuthContext @@ -94575,7 +94594,7 @@ func Xsqlite3AuthContextPush(tls *libc.TLS, pParse uintptr, pContext uintptr, zC // Pop an authorization context that was previously pushed // by sqlite3AuthContextPush -func Xsqlite3AuthContextPop(tls *libc.TLS, pContext uintptr) { /* sqlite3.c:113873:21: */ +func Xsqlite3AuthContextPop(tls *libc.TLS, pContext uintptr) { /* sqlite3.c:113886:21: */ if (*AuthContext)(unsafe.Pointer(pContext)).FpParse != 0 { (*Parse)(unsafe.Pointer((*AuthContext)(unsafe.Pointer(pContext)).FpParse)).FzAuthContext = (*AuthContext)(unsafe.Pointer(pContext)).FzAuthContext (*AuthContext)(unsafe.Pointer(pContext)).FpParse = uintptr(0) @@ -94590,7 +94609,7 @@ func Xsqlite3AuthContextPop(tls *libc.TLS, pContext uintptr) { /* sqlite3.c:1138 // This routine just records the fact that the lock is desired. The // code to make the lock occur is generated by a later call to // codeTableLocks() which occurs during sqlite3FinishCoding(). -func lockTable(tls *libc.TLS, pParse uintptr, iDb int32, iTab Pgno, isWriteLock U8, zName uintptr) { /* sqlite3.c:113932:29: */ +func lockTable(tls *libc.TLS, pParse uintptr, iDb int32, iTab Pgno, isWriteLock U8, zName uintptr) { /* sqlite3.c:113945:29: */ var pToplevel uintptr var i int32 var nBytes int32 @@ -94624,7 +94643,7 @@ func lockTable(tls *libc.TLS, pParse uintptr, iDb int32, iTab Pgno, isWriteLock } } -func Xsqlite3TableLock(tls *libc.TLS, pParse uintptr, iDb int32, iTab Pgno, isWriteLock U8, zName uintptr) { /* sqlite3.c:113968:21: */ +func Xsqlite3TableLock(tls *libc.TLS, pParse uintptr, iDb int32, iTab Pgno, isWriteLock U8, zName uintptr) { /* sqlite3.c:113981:21: */ if iDb == 1 { return } @@ -94636,7 +94655,7 @@ func Xsqlite3TableLock(tls *libc.TLS, pParse uintptr, iDb int32, iTab Pgno, isWr // Code an OP_TableLock instruction for each table locked by the // statement (configured by calls to sqlite3TableLock()). -func codeTableLocks(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:113984:13: */ +func codeTableLocks(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:113997:13: */ var i int32 var pVdbe uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe @@ -94660,7 +94679,7 @@ func codeTableLocks(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:113984:13: */ // // Note that if an error occurred, it might be the case that // no VDBE code was generated. -func Xsqlite3FinishCoding(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:114023:21: */ +func Xsqlite3FinishCoding(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:114036:21: */ var db uintptr var v uintptr @@ -94813,7 +94832,7 @@ func Xsqlite3FinishCoding(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:114023:2 // * Built-in SQL functions always take precedence over application-defined // SQL functions. In other words, it is not possible to override a // built-in function. -func Xsqlite3NestedParse(tls *libc.TLS, pParse uintptr, zFormat uintptr, va uintptr) { /* sqlite3.c:114194:21: */ +func Xsqlite3NestedParse(tls *libc.TLS, pParse uintptr, zFormat uintptr, va uintptr) { /* sqlite3.c:114207:21: */ bp := tls.Alloc(136) defer tls.Free(136) @@ -94864,7 +94883,7 @@ func Xsqlite3NestedParse(tls *libc.TLS, pParse uintptr, zFormat uintptr, va uint // auxiliary databases added using the ATTACH command. // // See also sqlite3LocateTable(). -func Xsqlite3FindTable(tls *libc.TLS, db uintptr, zName uintptr, zDatabase uintptr) uintptr { /* sqlite3.c:114249:22: */ +func Xsqlite3FindTable(tls *libc.TLS, db uintptr, zName uintptr, zDatabase uintptr) uintptr { /* sqlite3.c:114262:22: */ var p uintptr = uintptr(0) var i int32 @@ -94940,7 +94959,7 @@ func Xsqlite3FindTable(tls *libc.TLS, db uintptr, zName uintptr, zDatabase uintp // The difference between this routine and sqlite3FindTable() is that this // routine leaves an error message in pParse->zErrMsg where // sqlite3FindTable() does not. -func Xsqlite3LocateTable(tls *libc.TLS, pParse uintptr, flags U32, zName uintptr, zDbase uintptr) uintptr { /* sqlite3.c:114327:22: */ +func Xsqlite3LocateTable(tls *libc.TLS, pParse uintptr, flags U32, zName uintptr, zDbase uintptr) uintptr { /* sqlite3.c:114340:22: */ bp := tls.Alloc(40) defer tls.Free(40) @@ -95003,7 +95022,7 @@ func Xsqlite3LocateTable(tls *libc.TLS, pParse uintptr, flags U32, zName uintptr // the search to schema (p->pSchema) if it is not NULL. p->pSchema may be // non-NULL if it is part of a view or trigger program definition. See // sqlite3FixSrcList() for details. -func Xsqlite3LocateTableItem(tls *libc.TLS, pParse uintptr, flags U32, p uintptr) uintptr { /* sqlite3.c:114390:22: */ +func Xsqlite3LocateTableItem(tls *libc.TLS, pParse uintptr, flags U32, p uintptr) uintptr { /* sqlite3.c:114403:22: */ var zDb uintptr if (*SrcItem)(unsafe.Pointer(p)).FpSchema != 0 { @@ -95017,7 +95036,7 @@ func Xsqlite3LocateTableItem(tls *libc.TLS, pParse uintptr, flags U32, p uintptr // Return the preferred table name for system tables. Translate legacy // names into the new preferred names, as appropriate. -func Xsqlite3PreferredTableName(tls *libc.TLS, zName uintptr) uintptr { /* sqlite3.c:114410:27: */ +func Xsqlite3PreferredTableName(tls *libc.TLS, zName uintptr) uintptr { /* sqlite3.c:114423:27: */ if Xsqlite3_strnicmp(tls, zName, ts+8019, 7) == 0 { if Xsqlite3StrICmp(tls, zName+uintptr(7), ts+5844+7) == 0 { return ts + 12019 /* "sqlite_schema" */ @@ -95039,7 +95058,7 @@ func Xsqlite3PreferredTableName(tls *libc.TLS, zName uintptr) uintptr { /* sqlit // for duplicate index names is done.) The search order is // TEMP first, then MAIN, then any auxiliary databases added // using the ATTACH command. -func Xsqlite3FindIndex(tls *libc.TLS, db uintptr, zName uintptr, zDb uintptr) uintptr { /* sqlite3.c:114434:22: */ +func Xsqlite3FindIndex(tls *libc.TLS, db uintptr, zName uintptr, zDb uintptr) uintptr { /* sqlite3.c:114447:22: */ var p uintptr = uintptr(0) var i int32 // All mutexes are required for schema access. Make sure we hold them. @@ -95066,7 +95085,7 @@ func Xsqlite3FindIndex(tls *libc.TLS, db uintptr, zName uintptr, zDb uintptr) ui } // Reclaim the memory used by an index -func Xsqlite3FreeIndex(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:114454:21: */ +func Xsqlite3FreeIndex(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:114467:21: */ Xsqlite3DeleteIndexSamples(tls, db, p) Xsqlite3ExprDelete(tls, db, (*Index)(unsafe.Pointer(p)).FpPartIdxWhere) Xsqlite3ExprListDelete(tls, db, (*Index)(unsafe.Pointer(p)).FaColExpr) @@ -95082,7 +95101,7 @@ func Xsqlite3FreeIndex(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:1144 // unlike that index from its Table then remove the index from // the index hash table and free all memory structures associated // with the index. -func Xsqlite3UnlinkAndDeleteIndex(tls *libc.TLS, db uintptr, iDb int32, zIdxName uintptr) { /* sqlite3.c:114474:21: */ +func Xsqlite3UnlinkAndDeleteIndex(tls *libc.TLS, db uintptr, iDb int32, zIdxName uintptr) { /* sqlite3.c:114487:21: */ var pIndex uintptr var pHash uintptr @@ -95114,7 +95133,7 @@ func Xsqlite3UnlinkAndDeleteIndex(tls *libc.TLS, db uintptr, iDb int32, zIdxName // // Entry 0 (the "main" database) and entry 1 (the "temp" database) // are never candidates for being collapsed. -func Xsqlite3CollapseDatabaseArray(tls *libc.TLS, db uintptr) { /* sqlite3.c:114507:21: */ +func Xsqlite3CollapseDatabaseArray(tls *libc.TLS, db uintptr) { /* sqlite3.c:114520:21: */ var i int32 var j int32 for i = libc.AssignInt32(&j, 2); i < (*Sqlite3)(unsafe.Pointer(db)).FnDb; i++ { @@ -95140,7 +95159,7 @@ func Xsqlite3CollapseDatabaseArray(tls *libc.TLS, db uintptr) { /* sqlite3.c:114 // Reset the schema for the database at index iDb. Also reset the // TEMP schema. The reset is deferred if db->nSchemaLock is not zero. // Deferred resets may be run by calling with iDb<0. -func Xsqlite3ResetOneSchema(tls *libc.TLS, db uintptr, iDb int32) { /* sqlite3.c:114534:21: */ +func Xsqlite3ResetOneSchema(tls *libc.TLS, db uintptr, iDb int32) { /* sqlite3.c:114547:21: */ var i int32 if iDb >= 0 { @@ -95161,7 +95180,7 @@ func Xsqlite3ResetOneSchema(tls *libc.TLS, db uintptr, iDb int32) { /* sqlite3.c // Erase all schema information from all attached databases (including // "main" and "temp") for a single database connection. -func Xsqlite3ResetAllSchemasOfConnection(tls *libc.TLS, db uintptr) { /* sqlite3.c:114558:21: */ +func Xsqlite3ResetAllSchemasOfConnection(tls *libc.TLS, db uintptr) { /* sqlite3.c:114571:21: */ var i int32 Xsqlite3BtreeEnterAll(tls, db) for i = 0; i < (*Sqlite3)(unsafe.Pointer(db)).FnDb; i++ { @@ -95183,14 +95202,14 @@ func Xsqlite3ResetAllSchemasOfConnection(tls *libc.TLS, db uintptr) { /* sqlite3 } // This routine is called when a commit occurs. -func Xsqlite3CommitInternalChanges(tls *libc.TLS, db uintptr) { /* sqlite3.c:114582:21: */ +func Xsqlite3CommitInternalChanges(tls *libc.TLS, db uintptr) { /* sqlite3.c:114595:21: */ *(*U32)(unsafe.Pointer(db + 44)) &= libc.Uint32FromInt32(libc.CplInt32(DBFLAG_SchemaChange)) } // Set the expression associated with a column. This is usually // the DEFAULT value, but might also be the expression that computes // the value for a generated column. -func Xsqlite3ColumnSetExpr(tls *libc.TLS, pParse uintptr, pTab uintptr, pCol uintptr, pExpr uintptr) { /* sqlite3.c:114591:21: */ +func Xsqlite3ColumnSetExpr(tls *libc.TLS, pParse uintptr, pTab uintptr, pCol uintptr, pExpr uintptr) { /* sqlite3.c:114604:21: */ var pList uintptr pList = *(*uintptr)(unsafe.Pointer(pTab + 64 + 16 /* &.pDfltList */)) @@ -95213,7 +95232,7 @@ func Xsqlite3ColumnSetExpr(tls *libc.TLS, pParse uintptr, pTab uintptr, pCol uin // Return the expression associated with a column. The expression might be // the DEFAULT clause or the AS clause of a generated column. // Return NULL if the column has no associated expression. -func Xsqlite3ColumnExpr(tls *libc.TLS, pTab uintptr, pCol uintptr) uintptr { /* sqlite3.c:114617:21: */ +func Xsqlite3ColumnExpr(tls *libc.TLS, pTab uintptr, pCol uintptr) uintptr { /* sqlite3.c:114630:21: */ if int32((*Column)(unsafe.Pointer(pCol)).FiDflt) == 0 { return uintptr(0) } @@ -95230,7 +95249,7 @@ func Xsqlite3ColumnExpr(tls *libc.TLS, pTab uintptr, pCol uintptr) uintptr { /* } // Set the collating sequence name for a column. -func Xsqlite3ColumnSetColl(tls *libc.TLS, db uintptr, pCol uintptr, zColl uintptr) { /* sqlite3.c:114628:21: */ +func Xsqlite3ColumnSetColl(tls *libc.TLS, db uintptr, pCol uintptr, zColl uintptr) { /* sqlite3.c:114641:21: */ var nColl I64 var n I64 var zNew uintptr @@ -95249,7 +95268,7 @@ func Xsqlite3ColumnSetColl(tls *libc.TLS, db uintptr, pCol uintptr, zColl uintpt } // Return the collating squence name for a column -func Xsqlite3ColumnColl(tls *libc.TLS, pCol uintptr) uintptr { /* sqlite3.c:114653:27: */ +func Xsqlite3ColumnColl(tls *libc.TLS, pCol uintptr) uintptr { /* sqlite3.c:114666:27: */ var z uintptr if int32((*Column)(unsafe.Pointer(pCol)).FcolFlags)&COLFLAG_HASCOLL == 0 { return uintptr(0) @@ -95268,7 +95287,7 @@ func Xsqlite3ColumnColl(tls *libc.TLS, pCol uintptr) uintptr { /* sqlite3.c:1146 // Delete memory allocated for the column names of a table or view (the // Table.aCol[] array). -func Xsqlite3DeleteColumnNames(tls *libc.TLS, db uintptr, pTable uintptr) { /* sqlite3.c:114668:21: */ +func Xsqlite3DeleteColumnNames(tls *libc.TLS, db uintptr, pTable uintptr) { /* sqlite3.c:114681:21: */ var i int32 var pCol uintptr @@ -95318,7 +95337,7 @@ func Xsqlite3DeleteColumnNames(tls *libc.TLS, db uintptr, pTable uintptr) { /* s // lookaside memory, but some ephemeral Table objects do.) Or the // db parameter can be used with db->pnBytesFreed to measure the memory // used by the Table object. -func deleteTable(tls *libc.TLS, db uintptr, pTable uintptr) { /* sqlite3.c:114706:29: */ +func deleteTable(tls *libc.TLS, db uintptr, pTable uintptr) { /* sqlite3.c:114719:29: */ var pIndex uintptr var pNext uintptr @@ -95355,7 +95374,7 @@ func deleteTable(tls *libc.TLS, db uintptr, pTable uintptr) { /* sqlite3.c:11470 } -func Xsqlite3DeleteTable(tls *libc.TLS, db uintptr, pTable uintptr) { /* sqlite3.c:114763:21: */ +func Xsqlite3DeleteTable(tls *libc.TLS, db uintptr, pTable uintptr) { /* sqlite3.c:114776:21: */ // Do not delete the table until the reference count reaches zero. if !(pTable != 0) { return @@ -95368,7 +95387,7 @@ func Xsqlite3DeleteTable(tls *libc.TLS, db uintptr, pTable uintptr) { /* sqlite3 // Unlink the given table from the hash tables and the delete the // table structure with all its indices and foreign keys. -func Xsqlite3UnlinkAndDeleteTable(tls *libc.TLS, db uintptr, iDb int32, zTabName uintptr) { /* sqlite3.c:114775:21: */ +func Xsqlite3UnlinkAndDeleteTable(tls *libc.TLS, db uintptr, iDb int32, zTabName uintptr) { /* sqlite3.c:114788:21: */ var p uintptr var pDb uintptr @@ -95390,7 +95409,7 @@ func Xsqlite3UnlinkAndDeleteTable(tls *libc.TLS, db uintptr, iDb int32, zTabName // Tokens are often just pointers into the original SQL text and so // are not \000 terminated and are not persistent. The returned string // is \000 terminated and is persistent. -func Xsqlite3NameFromToken(tls *libc.TLS, db uintptr, pName uintptr) uintptr { /* sqlite3.c:114803:21: */ +func Xsqlite3NameFromToken(tls *libc.TLS, db uintptr, pName uintptr) uintptr { /* sqlite3.c:114816:21: */ var zName uintptr if pName != 0 { zName = Xsqlite3DbStrNDup(tls, db, (*Token)(unsafe.Pointer(pName)).Fz, uint64((*Token)(unsafe.Pointer(pName)).Fn)) @@ -95403,7 +95422,7 @@ func Xsqlite3NameFromToken(tls *libc.TLS, db uintptr, pName uintptr) uintptr { / // Open the sqlite_schema table stored in database number iDb for // writing. The table is opened using cursor 0. -func Xsqlite3OpenSchemaTable(tls *libc.TLS, p uintptr, iDb int32) { /* sqlite3.c:114818:21: */ +func Xsqlite3OpenSchemaTable(tls *libc.TLS, p uintptr, iDb int32) { /* sqlite3.c:114831:21: */ var v uintptr = Xsqlite3GetVdbe(tls, p) Xsqlite3TableLock(tls, p, iDb, uint32(SCHEMA_ROOT), uint8(1), ts+5844) Xsqlite3VdbeAddOp4Int(tls, v, OP_OpenWrite, 0, SCHEMA_ROOT, iDb, 5) @@ -95416,7 +95435,7 @@ func Xsqlite3OpenSchemaTable(tls *libc.TLS, p uintptr, iDb int32) { /* sqlite3.c // of a database ("main", "temp" or the name of an attached db). This // function returns the index of the named database in db->aDb[], or // -1 if the named db cannot be found. -func Xsqlite3FindDbName(tls *libc.TLS, db uintptr, zName uintptr) int32 { /* sqlite3.c:114833:20: */ +func Xsqlite3FindDbName(tls *libc.TLS, db uintptr, zName uintptr) int32 { /* sqlite3.c:114846:20: */ var i int32 = -1 // Database number if zName != 0 { var pDb uintptr @@ -95452,7 +95471,7 @@ func Xsqlite3FindDbName(tls *libc.TLS, db uintptr, zName uintptr) int32 { /* sql // "temp" or the name of an attached db). This routine returns the // index of the named database in db->aDb[], or -1 if the named db // does not exist. -func Xsqlite3FindDb(tls *libc.TLS, db uintptr, pName uintptr) int32 { /* sqlite3.c:114853:20: */ +func Xsqlite3FindDb(tls *libc.TLS, db uintptr, pName uintptr) int32 { /* sqlite3.c:114866:20: */ var i int32 // Database number var zName uintptr // Name we are searching for zName = Xsqlite3NameFromToken(tls, db, pName) @@ -95476,7 +95495,7 @@ func Xsqlite3FindDb(tls *libc.TLS, db uintptr, pName uintptr) int32 { /* sqlite3 // This routine sets the *ppUnqual pointer to point at the token (pName1 or // pName2) that stores the unqualified table name. The index of the // database "xxx" is returned. -func Xsqlite3TwoPartName(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 uintptr, pUnqual uintptr) int32 { /* sqlite3.c:114878:20: */ +func Xsqlite3TwoPartName(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 uintptr, pUnqual uintptr) int32 { /* sqlite3.c:114891:20: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -95503,7 +95522,7 @@ func Xsqlite3TwoPartName(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 u } // True if PRAGMA writable_schema is ON -func Xsqlite3WritableSchema(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:114911:20: */ +func Xsqlite3WritableSchema(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:114924:20: */ return libc.Bool32((*Sqlite3)(unsafe.Pointer(db)).Fflags&uint64(SQLITE_WriteSchema|SQLITE_Defensive) == uint64(SQLITE_WriteSchema)) } @@ -95517,7 +95536,7 @@ func Xsqlite3WritableSchema(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:1149 // When parsing the sqlite_schema table, this routine also checks to // make sure the "type", "name", and "tbl_name" columns are consistent // with the SQL. -func Xsqlite3CheckObjectName(tls *libc.TLS, pParse uintptr, zName uintptr, zType uintptr, zTblName uintptr) int32 { /* sqlite3.c:114933:20: */ +func Xsqlite3CheckObjectName(tls *libc.TLS, pParse uintptr, zName uintptr, zType uintptr, zTblName uintptr) int32 { /* sqlite3.c:114946:20: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -95548,7 +95567,7 @@ func Xsqlite3CheckObjectName(tls *libc.TLS, pParse uintptr, zName uintptr, zType } // Return the PRIMARY KEY index of a table -func Xsqlite3PrimaryKeyIndex(tls *libc.TLS, pTab uintptr) uintptr { /* sqlite3.c:114971:22: */ +func Xsqlite3PrimaryKeyIndex(tls *libc.TLS, pTab uintptr) uintptr { /* sqlite3.c:114984:22: */ var p uintptr for p = (*Table)(unsafe.Pointer(pTab)).FpIndex; p != 0 && !(int32(*(*uint16)(unsafe.Pointer(p + 100 /* &.idxType */))&0x3>>0) == SQLITE_IDXTYPE_PRIMARYKEY); p = (*Index)(unsafe.Pointer(p)).FpNext { } @@ -95559,7 +95578,7 @@ func Xsqlite3PrimaryKeyIndex(tls *libc.TLS, pTab uintptr) uintptr { /* sqlite3.c // for the column iCol in the table (as defined by the CREATE TABLE statement) // find the (first) offset of that column in index pIdx. Or return -1 // if column iCol is not used in index pIdx. -func Xsqlite3TableColumnToIndex(tls *libc.TLS, pIdx uintptr, iCol I16) I16 { /* sqlite3.c:114983:20: */ +func Xsqlite3TableColumnToIndex(tls *libc.TLS, pIdx uintptr, iCol I16) I16 { /* sqlite3.c:114996:20: */ var i int32 for i = 0; i < int32((*Index)(unsafe.Pointer(pIdx)).FnColumn); i++ { if int32(iCol) == int32(*(*I16)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FaiColumn + uintptr(i)*2))) { @@ -95579,7 +95598,7 @@ func Xsqlite3TableColumnToIndex(tls *libc.TLS, pIdx uintptr, iCol I16) I16 { /* // and only there are VIRTUAL columns to the left. // // If SQLITE_OMIT_GENERATED_COLUMNS, this routine is a no-op macro. -func Xsqlite3StorageColumnToTable(tls *libc.TLS, pTab uintptr, iCol I16) I16 { /* sqlite3.c:115003:20: */ +func Xsqlite3StorageColumnToTable(tls *libc.TLS, pTab uintptr, iCol I16) I16 { /* sqlite3.c:115016:20: */ if (*Table)(unsafe.Pointer(pTab)).FtabFlags&U32(TF_HasVirtual) != 0 { var i int32 for i = 0; i <= int32(iCol); i++ { @@ -95626,7 +95645,7 @@ func Xsqlite3StorageColumnToTable(tls *libc.TLS, pTab uintptr, iCol I16) I16 { / // this routine is a no-op macro. If the pTab does not have any virtual // columns, then this routine is no-op that always return iCol. If iCol // is negative (indicating the ROWID column) then this routine return iCol. -func Xsqlite3TableColumnToStorage(tls *libc.TLS, pTab uintptr, iCol I16) I16 { /* sqlite3.c:115051:20: */ +func Xsqlite3TableColumnToStorage(tls *libc.TLS, pTab uintptr, iCol I16) I16 { /* sqlite3.c:115064:20: */ var i int32 var n I16 @@ -95656,7 +95675,7 @@ func Xsqlite3TableColumnToStorage(tls *libc.TLS, pTab uintptr, iCol I16) I16 { / // exists, so that the prepared statement for CREATE TABLE IF NOT EXISTS // will return false for sqlite3_stmt_readonly() even if that statement // is a read-only no-op. -func sqlite3ForceNotReadOnly(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:115077:13: */ +func sqlite3ForceNotReadOnly(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:115090:13: */ var iReg int32 = libc.PreIncInt32(&(*Parse)(unsafe.Pointer(pParse)).FnMem, 1) var v uintptr = Xsqlite3GetVdbe(tls, pParse) if v != 0 { @@ -95679,7 +95698,7 @@ func sqlite3ForceNotReadOnly(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:11507 // routines will be called to add more information to this record. // At the end of the CREATE TABLE statement, the sqlite3EndTable() routine // is called to complete the construction of the new table record. -func Xsqlite3StartTable(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 uintptr, isTemp int32, isView int32, isVirtual int32, noErr int32) { /* sqlite3.c:115102:21: */ +func Xsqlite3StartTable(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 uintptr, isTemp int32, isView int32, isVirtual int32, noErr int32) { /* sqlite3.c:115115:21: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -95937,8 +95956,8 @@ var aCode = [4]U8{ U8(SQLITE_CREATE_TEMP_TABLE), U8(SQLITE_CREATE_VIEW), U8(SQLITE_CREATE_TEMP_VIEW), -} /* sqlite3.c:115149:21 */ -var nullRow = [6]uint8{uint8(6), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0)} /* sqlite3.c:115228:23 */ +} /* sqlite3.c:115162:21 */ +var nullRow = [6]uint8{uint8(6), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0)} /* sqlite3.c:115241:23 */ // Set properties of a table column based on the (magical) // name of the column. @@ -95948,7 +95967,7 @@ var nullRow = [6]uint8{uint8(6), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0 // with any application-generated triggers. // Clean up the data structures associated with the RETURNING clause. -func sqlite3DeleteReturning(tls *libc.TLS, db uintptr, pRet uintptr) { /* sqlite3.c:115313:13: */ +func sqlite3DeleteReturning(tls *libc.TLS, db uintptr, pRet uintptr) { /* sqlite3.c:115326:13: */ var pHash uintptr pHash = (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+1*32)).FpSchema + 56 Xsqlite3HashInsert(tls, pHash, ts+12263, uintptr(0)) @@ -95970,7 +95989,7 @@ func sqlite3DeleteReturning(tls *libc.TLS, db uintptr, pRet uintptr) { /* sqlite // is attached to a DELETE, INSERT, or UPDATE, so construct it as a // RETURNING trigger instead. It will then be converted into the appropriate // type on the first call to sqlite3TriggersExist(). -func Xsqlite3AddReturning(tls *libc.TLS, pParse uintptr, pList uintptr) { /* sqlite3.c:115337:21: */ +func Xsqlite3AddReturning(tls *libc.TLS, pParse uintptr, pList uintptr) { /* sqlite3.c:115350:21: */ var pRet uintptr var pHash uintptr var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb @@ -96020,7 +96039,7 @@ func Xsqlite3AddReturning(tls *libc.TLS, pParse uintptr, pList uintptr) { /* sql // in a CREATE TABLE statement. sqlite3StartTable() gets called // first to get things going. Then this routine is called for each // column. -func Xsqlite3AddColumn(tls *libc.TLS, pParse uintptr, sName Token, sType Token) { /* sqlite3.c:115385:21: */ +func Xsqlite3AddColumn(tls *libc.TLS, pParse uintptr, sName Token, sType Token) { /* sqlite3.c:115398:21: */ bp := tls.Alloc(48) defer tls.Free(48) *(*Token)(unsafe.Pointer(bp + 16)) = sName @@ -96139,7 +96158,7 @@ func Xsqlite3AddColumn(tls *libc.TLS, pParse uintptr, sName Token, sType Token) // parsing a CREATE TABLE statement. A "NOT NULL" constraint has // been seen on a column. This routine sets the notNull flag on // the column currently under construction. -func Xsqlite3AddNotNull(tls *libc.TLS, pParse uintptr, onError int32) { /* sqlite3.c:115498:21: */ +func Xsqlite3AddNotNull(tls *libc.TLS, pParse uintptr, onError int32) { /* sqlite3.c:115511:21: */ var p uintptr var pCol uintptr p = (*Parse)(unsafe.Pointer(pParse)).FpNewTable @@ -96186,7 +96205,7 @@ func Xsqlite3AddNotNull(tls *libc.TLS, pParse uintptr, onError int32) { /* sqlit // // If none of the substrings in the above table are found, // SQLITE_AFF_NUMERIC is returned. -func Xsqlite3AffinityType(tls *libc.TLS, zIn uintptr, pCol uintptr) uint8 { /* sqlite3.c:115545:21: */ +func Xsqlite3AffinityType(tls *libc.TLS, zIn uintptr, pCol uintptr) uint8 { /* sqlite3.c:115558:21: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -96260,7 +96279,7 @@ func Xsqlite3AffinityType(tls *libc.TLS, zIn uintptr, pCol uintptr) uint8 { /* s // // This routine is called by the parser while in the middle of // parsing a CREATE TABLE statement. -func Xsqlite3AddDefaultValue(tls *libc.TLS, pParse uintptr, pExpr uintptr, zStart uintptr, zEnd uintptr) { /* sqlite3.c:115622:21: */ +func Xsqlite3AddDefaultValue(tls *libc.TLS, pParse uintptr, pExpr uintptr, zStart uintptr, zEnd uintptr) { /* sqlite3.c:115635:21: */ bp := tls.Alloc(80) defer tls.Free(80) @@ -96313,7 +96332,7 @@ func Xsqlite3AddDefaultValue(tls *libc.TLS, pParse uintptr, pExpr uintptr, zStar // if the expression is just a TK_STRING with an optional COLLATE clause. // If the expression is anything other than TK_STRING, the expression is // unchanged. -func sqlite3StringToId(tls *libc.TLS, p uintptr) { /* sqlite3.c:115681:13: */ +func sqlite3StringToId(tls *libc.TLS, p uintptr) { /* sqlite3.c:115694:13: */ if int32((*Expr)(unsafe.Pointer(p)).Fop) == TK_STRING { (*Expr)(unsafe.Pointer(p)).Fop = U8(TK_ID) } else if int32((*Expr)(unsafe.Pointer(p)).Fop) == TK_COLLATE && int32((*Expr)(unsafe.Pointer((*Expr)(unsafe.Pointer(p)).FpLeft)).Fop) == TK_STRING { @@ -96322,7 +96341,7 @@ func sqlite3StringToId(tls *libc.TLS, p uintptr) { /* sqlite3.c:115681:13: */ } // Tag the given column as being part of the PRIMARY KEY -func makeColumnPartOfPrimaryKey(tls *libc.TLS, pParse uintptr, pCol uintptr) { /* sqlite3.c:115692:13: */ +func makeColumnPartOfPrimaryKey(tls *libc.TLS, pParse uintptr, pCol uintptr) { /* sqlite3.c:115705:13: */ *(*U16)(unsafe.Pointer(pCol + 16)) |= U16(COLFLAG_PRIMKEY) if int32((*Column)(unsafe.Pointer(pCol)).FcolFlags)&COLFLAG_GENERATED != 0 { @@ -96347,7 +96366,7 @@ func makeColumnPartOfPrimaryKey(tls *libc.TLS, pParse uintptr, pCol uintptr) { / // // If the key is not an INTEGER PRIMARY KEY, then create a unique // index for the key. No index is created for INTEGER PRIMARY KEYs. -func Xsqlite3AddPrimaryKey(tls *libc.TLS, pParse uintptr, pList uintptr, onError int32, autoInc int32, sortOrder int32) { /* sqlite3.c:115722:21: */ +func Xsqlite3AddPrimaryKey(tls *libc.TLS, pParse uintptr, pList uintptr, onError int32, autoInc int32, sortOrder int32) { /* sqlite3.c:115735:21: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -96478,7 +96497,7 @@ primary_key_exit: } // Add a new CHECK constraint to the table currently under construction. -func Xsqlite3AddCheckConstraint(tls *libc.TLS, pParse uintptr, pCheckExpr uintptr, zStart uintptr, zEnd uintptr) { /* sqlite3.c:115799:21: */ +func Xsqlite3AddCheckConstraint(tls *libc.TLS, pParse uintptr, pCheckExpr uintptr, zStart uintptr, zEnd uintptr) { /* sqlite3.c:115812:21: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -96508,7 +96527,7 @@ func Xsqlite3AddCheckConstraint(tls *libc.TLS, pParse uintptr, pCheckExpr uintpt // Set the collation function of the most recently parsed table column // to the CollSeq given. -func Xsqlite3AddCollateType(tls *libc.TLS, pParse uintptr, pToken uintptr) { /* sqlite3.c:115833:21: */ +func Xsqlite3AddCollateType(tls *libc.TLS, pParse uintptr, pToken uintptr) { /* sqlite3.c:115846:21: */ var p uintptr var i int32 var zColl uintptr // Dequoted name of collation sequence @@ -96543,7 +96562,7 @@ func Xsqlite3AddCollateType(tls *libc.TLS, pParse uintptr, pToken uintptr) { /* // Change the most recently parsed column to be a GENERATED ALWAYS AS // column. -func Xsqlite3AddGenerated(tls *libc.TLS, pParse uintptr, pExpr uintptr, pType uintptr) { /* sqlite3.c:115866:21: */ +func Xsqlite3AddGenerated(tls *libc.TLS, pParse uintptr, pExpr uintptr, pType uintptr) { /* sqlite3.c:115879:21: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -96638,7 +96657,7 @@ generated_done: // // IMPLEMENTATION-OF: R-34230-56049 SQLite automatically increments // the schema-version whenever the schema changes. -func Xsqlite3ChangeCookie(tls *libc.TLS, pParse uintptr, iDb int32) { /* sqlite3.c:115934:21: */ +func Xsqlite3ChangeCookie(tls *libc.TLS, pParse uintptr, iDb int32) { /* sqlite3.c:115947:21: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe @@ -96652,7 +96671,7 @@ func Xsqlite3ChangeCookie(tls *libc.TLS, pParse uintptr, iDb int32) { /* sqlite3 // // The estimate is conservative. It might be larger that what is // really needed. -func identLength(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:115950:12: */ +func identLength(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:115963:12: */ var n int32 n = 0 __1: @@ -96687,7 +96706,7 @@ __3: // characters, does not begin with a digit and is not an SQL keyword, // then it is copied to the output buffer exactly as it is. Otherwise, // it is quoted using double-quotes. -func identPut(tls *libc.TLS, z uintptr, pIdx uintptr, zSignedIdent uintptr) { /* sqlite3.c:115971:13: */ +func identPut(tls *libc.TLS, z uintptr, pIdx uintptr, zSignedIdent uintptr) { /* sqlite3.c:115984:13: */ var zIdent uintptr = zSignedIdent var i int32 var j int32 @@ -96723,7 +96742,7 @@ func identPut(tls *libc.TLS, z uintptr, pIdx uintptr, zSignedIdent uintptr) { /* // Generate a CREATE TABLE statement appropriate for the given // table. Memory to hold the text of the statement is obtained // from sqliteMalloc() and must be freed by the calling function. -func createTableStmt(tls *libc.TLS, db uintptr, p uintptr) uintptr { /* sqlite3.c:115999:13: */ +func createTableStmt(tls *libc.TLS, db uintptr, p uintptr) uintptr { /* sqlite3.c:116012:13: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -96815,11 +96834,11 @@ var azType1 = [5]uintptr{ ts + 12738, ts + 12743, ts + 12748, -} /* sqlite3.c:116029:23 */ +} /* sqlite3.c:116042:23 */ // Resize an Index object to hold N columns total. Return SQLITE_OK // on success and SQLITE_NOMEM on an OOM error. -func resizeIndexObject(tls *libc.TLS, db uintptr, pIdx uintptr, N int32) int32 { /* sqlite3.c:116067:12: */ +func resizeIndexObject(tls *libc.TLS, db uintptr, pIdx uintptr, N int32) int32 { /* sqlite3.c:116080:12: */ var zExtra uintptr var nByte int32 if int32((*Index)(unsafe.Pointer(pIdx)).FnColumn) >= N { @@ -96848,7 +96867,7 @@ func resizeIndexObject(tls *libc.TLS, db uintptr, pIdx uintptr, N int32) int32 { } // Estimate the total row width for a table. -func estimateTableWidth(tls *libc.TLS, pTab uintptr) { /* sqlite3.c:116094:13: */ +func estimateTableWidth(tls *libc.TLS, pTab uintptr) { /* sqlite3.c:116107:13: */ var wTable uint32 = uint32(0) var pTabCol uintptr var i int32 @@ -96877,7 +96896,7 @@ __3: } // Estimate the average size of a row for an index. -func estimateIndexWidth(tls *libc.TLS, pIdx uintptr) { /* sqlite3.c:116108:13: */ +func estimateIndexWidth(tls *libc.TLS, pIdx uintptr) { /* sqlite3.c:116121:13: */ var wIndex uint32 = uint32(0) var i int32 var aCol uintptr = (*Table)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FpTable)).FaCol @@ -96897,7 +96916,7 @@ func estimateIndexWidth(tls *libc.TLS, pIdx uintptr) { /* sqlite3.c:116108:13: * // Return true if column number x is any of the first nCol entries of aiCol[]. // This is used to determine if the column number x appears in any of the // first nCol entries of an index. -func hasColumn(tls *libc.TLS, aiCol uintptr, nCol int32, x int32) int32 { /* sqlite3.c:116124:12: */ +func hasColumn(tls *libc.TLS, aiCol uintptr, nCol int32, x int32) int32 { /* sqlite3.c:116137:12: */ for libc.PostDecInt32(&nCol, 1) > 0 { if x == int32(*(*I16)(unsafe.Pointer(libc.PostIncUintptr(&aiCol, 2)))) { return 1 @@ -96917,7 +96936,7 @@ func hasColumn(tls *libc.TLS, aiCol uintptr, nCol int32, x int32) int32 { /* sql // This routine differs from hasColumn() in that both the column and the // collating sequence must match for this routine, but for hasColumn() only // the column name must match. -func isDupColumn(tls *libc.TLS, pIdx uintptr, nKey int32, pPk uintptr, iCol int32) int32 { /* sqlite3.c:116146:12: */ +func isDupColumn(tls *libc.TLS, pIdx uintptr, nKey int32, pPk uintptr, iCol int32) int32 { /* sqlite3.c:116159:12: */ var i int32 var j int32 @@ -96950,7 +96969,7 @@ func isDupColumn(tls *libc.TLS, pIdx uintptr, nKey int32, pPk uintptr, iCol int3 // // The colNotIdxed mask is AND-ed with the SrcList.a[].colUsed mask // to determine if the index is covering index. -func recomputeColumnsNotIndexed(tls *libc.TLS, pIdx uintptr) { /* sqlite3.c:116185:13: */ +func recomputeColumnsNotIndexed(tls *libc.TLS, pIdx uintptr) { /* sqlite3.c:116198:13: */ var m Bitmask = uint64(0) var j int32 var pTab uintptr = (*Index)(unsafe.Pointer(pIdx)).FpTable @@ -96989,7 +97008,7 @@ func recomputeColumnsNotIndexed(tls *libc.TLS, pIdx uintptr) { /* sqlite3.c:1161 // indices with the PRIMARY KEY columns. // // For virtual tables, only (1) is performed. -func convertToWithoutRowidTable(tls *libc.TLS, pParse uintptr, pTab uintptr) { /* sqlite3.c:116225:13: */ +func convertToWithoutRowidTable(tls *libc.TLS, pParse uintptr, pTab uintptr) { /* sqlite3.c:116238:13: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -97152,7 +97171,7 @@ func convertToWithoutRowidTable(tls *libc.TLS, pParse uintptr, pTab uintptr) { / // Return true if pTab is a virtual table and zName is a shadow table name // for that virtual table. -func Xsqlite3IsShadowTableOf(tls *libc.TLS, db uintptr, pTab uintptr, zName uintptr) int32 { /* sqlite3.c:116385:20: */ +func Xsqlite3IsShadowTableOf(tls *libc.TLS, db uintptr, pTab uintptr, zName uintptr) int32 { /* sqlite3.c:116398:20: */ var nName int32 // Length of zName var pMod uintptr // Module for the virtual table @@ -97185,7 +97204,7 @@ func Xsqlite3IsShadowTableOf(tls *libc.TLS, db uintptr, pTab uintptr, zName uint // exists and has an xShadowName method, then loop over all other ordinary // tables within the same schema looking for shadow tables of pTab, and mark // any shadow tables seen using the TF_Shadow flag. -func Xsqlite3MarkAllShadowTablesOf(tls *libc.TLS, db uintptr, pTab uintptr) { /* sqlite3.c:116408:21: */ +func Xsqlite3MarkAllShadowTablesOf(tls *libc.TLS, db uintptr, pTab uintptr) { /* sqlite3.c:116421:21: */ var nName int32 // Length of pTab->zName var pMod uintptr // Module for the virtual table var k uintptr // For looping through the symbol table @@ -97229,7 +97248,7 @@ func Xsqlite3MarkAllShadowTablesOf(tls *libc.TLS, db uintptr, pTab uintptr) { /* // // zName is temporarily modified while this routine is running, but is // restored to its original value prior to this routine returning. -func Xsqlite3ShadowTableName(tls *libc.TLS, db uintptr, zName uintptr) int32 { /* sqlite3.c:116444:20: */ +func Xsqlite3ShadowTableName(tls *libc.TLS, db uintptr, zName uintptr) int32 { /* sqlite3.c:116457:20: */ var zTail uintptr // Pointer to the last "_" in zName var pTab uintptr // Table that zName is a shadow of zTail = libc.Xstrrchr(tls, zName, '_') @@ -97266,7 +97285,7 @@ func Xsqlite3ShadowTableName(tls *libc.TLS, db uintptr, zName uintptr) int32 { / // was called to create a table generated from a // "CREATE TABLE ... AS SELECT ..." statement. The column names of // the new table will match the result set of the SELECT. -func Xsqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr, tabOpts U32, pSelect uintptr) { /* sqlite3.c:116505:21: */ +func Xsqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr, tabOpts U32, pSelect uintptr) { /* sqlite3.c:116518:21: */ bp := tls.Alloc(184) defer tls.Free(184) @@ -97587,7 +97606,7 @@ func Xsqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr } // The parser calls this routine in order to create a new VIEW -func Xsqlite3CreateView(tls *libc.TLS, pParse uintptr, pBegin uintptr, pName1 uintptr, pName2 uintptr, pCNames uintptr, pSelect uintptr, isTemp int32, noErr int32) { /* sqlite3.c:116847:21: */ +func Xsqlite3CreateView(tls *libc.TLS, pParse uintptr, pBegin uintptr, pName1 uintptr, pName2 uintptr, pCNames uintptr, pSelect uintptr, isTemp int32, noErr int32) { /* sqlite3.c:116860:21: */ bp := tls.Alloc(120) defer tls.Free(120) @@ -97705,7 +97724,7 @@ __10: // The Table structure pTable is really a VIEW. Fill in the names of // the columns of the view in the pTable structure. Return the number // of errors. If an error is seen leave an error message in pParse->zErrMsg. -func Xsqlite3ViewGetColumnNames(tls *libc.TLS, pParse uintptr, pTable uintptr) int32 { /* sqlite3.c:116939:20: */ +func Xsqlite3ViewGetColumnNames(tls *libc.TLS, pParse uintptr, pTable uintptr) int32 { /* sqlite3.c:116952:20: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -97820,7 +97839,7 @@ func Xsqlite3ViewGetColumnNames(tls *libc.TLS, pParse uintptr, pTable uintptr) i } // Clear the column names from every VIEW in database idx. -func sqliteViewResetAll(tls *libc.TLS, db uintptr, idx int32) { /* sqlite3.c:117067:13: */ +func sqliteViewResetAll(tls *libc.TLS, db uintptr, idx int32) { /* sqlite3.c:117080:13: */ var i uintptr if !(int32((*Schema)(unsafe.Pointer((*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(idx)*32)).FpSchema)).FschemaFlags)&DB_UnresetViews == DB_UnresetViews) { @@ -97850,7 +97869,7 @@ func sqliteViewResetAll(tls *libc.TLS, db uintptr, idx int32) { /* sqlite3.c:117 // We must continue looping until all tables and indices with // rootpage==iFrom have been converted to have a rootpage of iTo // in order to be certain that we got the right one. -func Xsqlite3RootPageMoved(tls *libc.TLS, db uintptr, iDb int32, iFrom Pgno, iTo Pgno) { /* sqlite3.c:117101:21: */ +func Xsqlite3RootPageMoved(tls *libc.TLS, db uintptr, iDb int32, iFrom Pgno, iTo Pgno) { /* sqlite3.c:117114:21: */ var pElem uintptr var pHash uintptr var pDb uintptr @@ -97876,7 +97895,7 @@ func Xsqlite3RootPageMoved(tls *libc.TLS, db uintptr, iDb int32, iFrom Pgno, iTo // Also write code to modify the sqlite_schema table and internal schema // if a root-page of another table is moved by the btree-layer whilst // erasing iTable (this can happen with an auto-vacuum database). -func destroyRootPage(tls *libc.TLS, pParse uintptr, iTable int32, iDb int32) { /* sqlite3.c:117131:13: */ +func destroyRootPage(tls *libc.TLS, pParse uintptr, iTable int32, iDb int32) { /* sqlite3.c:117144:13: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -97906,7 +97925,7 @@ func destroyRootPage(tls *libc.TLS, pParse uintptr, iTable int32, iDb int32) { / // Code to update the sqlite_schema tables and internal schema definitions // in case a root-page belonging to another table is moved by the btree layer // is also added (this can happen with an auto-vacuum database). -func destroyTable(tls *libc.TLS, pParse uintptr, pTab uintptr) { /* sqlite3.c:117161:13: */ +func destroyTable(tls *libc.TLS, pParse uintptr, pTab uintptr) { /* sqlite3.c:117174:13: */ // If the database may be auto-vacuum capable (if SQLITE_OMIT_AUTOVACUUM // is not defined), then it is important to call OP_Destroy on the // table and index root-pages in order, starting with the numerically @@ -97952,7 +97971,7 @@ func destroyTable(tls *libc.TLS, pParse uintptr, pTab uintptr) { /* sqlite3.c:11 // Remove entries from the sqlite_statN tables (for N in (1,2,3)) // after a DROP INDEX or DROP TABLE command. -func sqlite3ClearStatTables(tls *libc.TLS, pParse uintptr, iDb int32, zType uintptr, zName uintptr) { /* sqlite3.c:117210:13: */ +func sqlite3ClearStatTables(tls *libc.TLS, pParse uintptr, iDb int32, zType uintptr, zName uintptr) { /* sqlite3.c:117223:13: */ bp := tls.Alloc(64) defer tls.Free(64) @@ -97971,7 +97990,7 @@ func sqlite3ClearStatTables(tls *libc.TLS, pParse uintptr, iDb int32, zType uint } // Generate code to drop a table. -func Xsqlite3CodeDropTable(tls *libc.TLS, pParse uintptr, pTab uintptr, iDb int32, isView int32) { /* sqlite3.c:117233:21: */ +func Xsqlite3CodeDropTable(tls *libc.TLS, pParse uintptr, pTab uintptr, iDb int32, isView int32) { /* sqlite3.c:117246:21: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -98035,7 +98054,7 @@ func Xsqlite3CodeDropTable(tls *libc.TLS, pParse uintptr, pTab uintptr, iDb int3 // Return TRUE if shadow tables should be read-only in the current // context. -func Xsqlite3ReadOnlyShadowTables(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:117306:20: */ +func Xsqlite3ReadOnlyShadowTables(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:117319:20: */ if (*Sqlite3)(unsafe.Pointer(db)).Fflags&uint64(SQLITE_Defensive) != uint64(0) && (*Sqlite3)(unsafe.Pointer(db)).FpVtabCtx == uintptr(0) && (*Sqlite3)(unsafe.Pointer(db)).FnVdbeExec == 0 && @@ -98046,7 +98065,7 @@ func Xsqlite3ReadOnlyShadowTables(tls *libc.TLS, db uintptr) int32 { /* sqlite3. } // Return true if it is not allowed to drop the given table -func tableMayNotBeDropped(tls *libc.TLS, db uintptr, pTab uintptr) int32 { /* sqlite3.c:117322:12: */ +func tableMayNotBeDropped(tls *libc.TLS, db uintptr, pTab uintptr) int32 { /* sqlite3.c:117335:12: */ if Xsqlite3_strnicmp(tls, (*Table)(unsafe.Pointer(pTab)).FzName, ts+8019, 7) == 0 { if Xsqlite3_strnicmp(tls, (*Table)(unsafe.Pointer(pTab)).FzName+uintptr(7), ts+3237, 4) == 0 { return 0 @@ -98067,7 +98086,7 @@ func tableMayNotBeDropped(tls *libc.TLS, db uintptr, pTab uintptr) int32 { /* sq // This routine is called to do the work of a DROP TABLE statement. // pName is the name of the table to be dropped. -func Xsqlite3DropTable(tls *libc.TLS, pParse uintptr, pName uintptr, isView int32, noErr int32) { /* sqlite3.c:117341:21: */ +func Xsqlite3DropTable(tls *libc.TLS, pParse uintptr, pName uintptr, isView int32, noErr int32) { /* sqlite3.c:117354:21: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -98255,7 +98274,7 @@ exit_drop_table: // // The foreign key is set for IMMEDIATE processing. A subsequent call // to sqlite3DeferForeignKey() might change this to DEFERRED. -func Xsqlite3CreateForeignKey(tls *libc.TLS, pParse uintptr, pFromCol uintptr, pTo uintptr, pToCol uintptr, flags int32) { /* sqlite3.c:117461:21: */ +func Xsqlite3CreateForeignKey(tls *libc.TLS, pParse uintptr, pFromCol uintptr, pTo uintptr, pToCol uintptr, flags int32) { /* sqlite3.c:117474:21: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -98478,7 +98497,7 @@ fk_end: // parameter is 1 for INITIALLY DEFERRED and 0 for INITIALLY IMMEDIATE. // The behavior of the most recently created foreign key is adjusted // accordingly. -func Xsqlite3DeferForeignKey(tls *libc.TLS, pParse uintptr, isDeferred int32) { /* sqlite3.c:117593:21: */ +func Xsqlite3DeferForeignKey(tls *libc.TLS, pParse uintptr, isDeferred int32) { /* sqlite3.c:117606:21: */ var pTab uintptr var pFKey uintptr if libc.AssignUintptr(&pTab, (*Parse)(unsafe.Pointer(pParse)).FpNewTable) == uintptr(0) { @@ -98503,7 +98522,7 @@ func Xsqlite3DeferForeignKey(tls *libc.TLS, pParse uintptr, isDeferred int32) { // root page number of the index. If memRootPage is negative, then // the index already exists and must be cleared before being refilled and // the root page number of the index is taken from pIndex->tnum. -func sqlite3RefillIndex(tls *libc.TLS, pParse uintptr, pIndex uintptr, memRootPage int32) { /* sqlite3.c:117616:13: */ +func sqlite3RefillIndex(tls *libc.TLS, pParse uintptr, pIndex uintptr, memRootPage int32) { /* sqlite3.c:117629:13: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -98615,7 +98634,7 @@ func sqlite3RefillIndex(tls *libc.TLS, pParse uintptr, pIndex uintptr, memRootPa // Increase the allocation size to provide an extra nExtra bytes // of 8-byte aligned space after the Index object and return a // pointer to this extra space in *ppExtra. -func Xsqlite3AllocateIndexObject(tls *libc.TLS, db uintptr, nCol I16, nExtra int32, ppExtra uintptr) uintptr { /* sqlite3.c:117722:22: */ +func Xsqlite3AllocateIndexObject(tls *libc.TLS, db uintptr, nCol I16, nExtra int32, ppExtra uintptr) uintptr { /* sqlite3.c:117735:22: */ var p uintptr // Allocated index object var nByte int32 // Bytes of space for Index object + arrays @@ -98640,7 +98659,7 @@ func Xsqlite3AllocateIndexObject(tls *libc.TLS, db uintptr, nCol I16, nExtra int // If expression list pList contains an expression that was parsed with // an explicit "NULLS FIRST" or "NULLS LAST" clause, leave an error in // pParse and return non-zero. Otherwise, return zero. -func Xsqlite3HasExplicitNulls(tls *libc.TLS, pParse uintptr, pList uintptr) int32 { /* sqlite3.c:117755:20: */ +func Xsqlite3HasExplicitNulls(tls *libc.TLS, pParse uintptr, pList uintptr) int32 { /* sqlite3.c:117768:20: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -98673,7 +98692,7 @@ func Xsqlite3HasExplicitNulls(tls *libc.TLS, pParse uintptr, pList uintptr) int3 // pList is a list of columns to be indexed. pList will be NULL if this // is a primary key or unique-constraint on the most recent column added // to the table currently under construction. -func Xsqlite3CreateIndex(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 uintptr, pTblName uintptr, pList uintptr, onError int32, pStart uintptr, pPIWhere uintptr, sortOrder int32, ifNotExist int32, idxType U8) { /* sqlite3.c:117783:21: */ +func Xsqlite3CreateIndex(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 uintptr, pTblName uintptr, pList uintptr, onError int32, pStart uintptr, pPIWhere uintptr, sortOrder int32, ifNotExist int32, idxType U8) { /* sqlite3.c:117796:21: */ bp := tls.Alloc(256) defer tls.Free(256) @@ -99443,7 +99462,7 @@ __81: goto __101 } Xsqlite3ErrorMsg(tls, pParse, ts+14077, 0) - (*Parse)(unsafe.Pointer(pParse)).Frc = Xsqlite3CorruptError(tls, 118239) + (*Parse)(unsafe.Pointer(pParse)).Frc = Xsqlite3CorruptError(tls, 118252) goto exit_create_index __101: ; @@ -99629,7 +99648,7 @@ __113: // Apart from that, we have little to go on besides intuition as to // how aiRowEst[] should be initialized. The numbers generated here // are based on typical values found in actual indices. -func Xsqlite3DefaultRowEst(tls *libc.TLS, pIdx uintptr) { /* sqlite3.c:118394:21: */ +func Xsqlite3DefaultRowEst(tls *libc.TLS, pIdx uintptr) { /* sqlite3.c:118407:21: */ var a uintptr = (*Index)(unsafe.Pointer(pIdx)).FaiRowLogEst var x LogEst var nCopy int32 = func() int32 { @@ -99673,11 +99692,11 @@ func Xsqlite3DefaultRowEst(tls *libc.TLS, pIdx uintptr) { /* sqlite3.c:118394:21 } } -var aVal = [5]LogEst{int16(33), int16(32), int16(30), int16(28), int16(26)} /* sqlite3.c:118396:23 */ +var aVal = [5]LogEst{int16(33), int16(32), int16(30), int16(28), int16(26)} /* sqlite3.c:118409:23 */ // This routine will drop an existing named index. This routine // implements the DROP INDEX statement. -func Xsqlite3DropIndex(tls *libc.TLS, pParse uintptr, pName uintptr, ifExists int32) { /* sqlite3.c:118438:21: */ +func Xsqlite3DropIndex(tls *libc.TLS, pParse uintptr, pName uintptr, ifExists int32) { /* sqlite3.c:118451:21: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -99796,7 +99815,7 @@ exit_drop_index: // // Otherwise, if the realloc() fails, *pIdx is set to -1, *pnEntry remains // unchanged and a copy of pArray returned. -func Xsqlite3ArrayAllocate(tls *libc.TLS, db uintptr, pArray uintptr, szEntry int32, pnEntry uintptr, pIdx uintptr) uintptr { /* sqlite3.c:118520:21: */ +func Xsqlite3ArrayAllocate(tls *libc.TLS, db uintptr, pArray uintptr, szEntry int32, pnEntry uintptr, pIdx uintptr) uintptr { /* sqlite3.c:118533:21: */ var z uintptr var n Sqlite3_int64 = Sqlite3_int64(libc.AssignPtrInt32(pIdx, *(*int32)(unsafe.Pointer(pnEntry)))) if n&(n-int64(1)) == int64(0) { @@ -99823,7 +99842,7 @@ func Xsqlite3ArrayAllocate(tls *libc.TLS, db uintptr, pArray uintptr, szEntry in // need be. // // A new IdList is returned, or NULL if malloc() fails. -func Xsqlite3IdListAppend(tls *libc.TLS, pParse uintptr, pList uintptr, pToken uintptr) uintptr { /* sqlite3.c:118550:23: */ +func Xsqlite3IdListAppend(tls *libc.TLS, pParse uintptr, pList uintptr, pToken uintptr) uintptr { /* sqlite3.c:118563:23: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -99854,7 +99873,7 @@ func Xsqlite3IdListAppend(tls *libc.TLS, pParse uintptr, pList uintptr, pToken u } // Delete an IdList. -func Xsqlite3IdListDelete(tls *libc.TLS, db uintptr, pList uintptr) { /* sqlite3.c:118578:21: */ +func Xsqlite3IdListDelete(tls *libc.TLS, db uintptr, pList uintptr) { /* sqlite3.c:118591:21: */ var i int32 if pList == uintptr(0) { return @@ -99868,7 +99887,7 @@ func Xsqlite3IdListDelete(tls *libc.TLS, db uintptr, pList uintptr) { /* sqlite3 // Return the index in pList of the identifier named zId. Return -1 // if not found. -func Xsqlite3IdListIndex(tls *libc.TLS, pList uintptr, zName uintptr) int32 { /* sqlite3.c:118592:20: */ +func Xsqlite3IdListIndex(tls *libc.TLS, pList uintptr, zName uintptr) int32 { /* sqlite3.c:118605:20: */ var i int32 if pList == uintptr(0) { return -1 @@ -99906,7 +99925,7 @@ func Xsqlite3IdListIndex(tls *libc.TLS, pList uintptr, zName uintptr) int32 { /* // If a memory allocation fails or the SrcList becomes too large, leave // the original SrcList unchanged, return NULL, and leave an error message // in pParse. -func Xsqlite3SrcListEnlarge(tls *libc.TLS, pParse uintptr, pSrc uintptr, nExtra int32, iStart int32) uintptr { /* sqlite3.c:118633:24: */ +func Xsqlite3SrcListEnlarge(tls *libc.TLS, pParse uintptr, pSrc uintptr, nExtra int32, iStart int32) uintptr { /* sqlite3.c:118646:24: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -99988,7 +100007,7 @@ func Xsqlite3SrcListEnlarge(tls *libc.TLS, pParse uintptr, pSrc uintptr, nExtra // // Both pTable and pDatabase are assumed to be quoted. They are dequoted // before being added to the SrcList. -func Xsqlite3SrcListAppend(tls *libc.TLS, pParse uintptr, pList uintptr, pTable uintptr, pDatabase uintptr) uintptr { /* sqlite3.c:118722:24: */ +func Xsqlite3SrcListAppend(tls *libc.TLS, pParse uintptr, pList uintptr, pTable uintptr, pDatabase uintptr) uintptr { /* sqlite3.c:118735:24: */ var pItem uintptr var db uintptr // Cannot have C without B @@ -100027,7 +100046,7 @@ func Xsqlite3SrcListAppend(tls *libc.TLS, pParse uintptr, pList uintptr, pTable } // Assign VdbeCursor index numbers to all tables in a SrcList -func Xsqlite3SrcListAssignCursors(tls *libc.TLS, pParse uintptr, pList uintptr) { /* sqlite3.c:118767:21: */ +func Xsqlite3SrcListAssignCursors(tls *libc.TLS, pParse uintptr, pList uintptr) { /* sqlite3.c:118780:21: */ var i int32 var pItem uintptr @@ -100059,7 +100078,7 @@ func Xsqlite3SrcListAssignCursors(tls *libc.TLS, pParse uintptr, pList uintptr) } // Delete an entire SrcList including all its substructure. -func Xsqlite3SrcListDelete(tls *libc.TLS, db uintptr, pList uintptr) { /* sqlite3.c:118785:21: */ +func Xsqlite3SrcListDelete(tls *libc.TLS, db uintptr, pList uintptr) { /* sqlite3.c:118798:21: */ var i int32 var pItem uintptr if pList == uintptr(0) { @@ -100122,7 +100141,7 @@ __3: // // Return a new SrcList which encodes is the FROM with the new // term added. -func Xsqlite3SrcListAppendFromTerm(tls *libc.TLS, pParse uintptr, p uintptr, pTable uintptr, pDatabase uintptr, pAlias uintptr, pSubquery uintptr, pOn uintptr, pUsing uintptr) uintptr { /* sqlite3.c:118819:24: */ +func Xsqlite3SrcListAppendFromTerm(tls *libc.TLS, pParse uintptr, p uintptr, pTable uintptr, pDatabase uintptr, pAlias uintptr, pSubquery uintptr, pOn uintptr, pUsing uintptr) uintptr { /* sqlite3.c:118832:24: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -100186,7 +100205,7 @@ append_from_error: // Add an INDEXED BY or NOT INDEXED clause to the most recently added // element of the source-list passed as the second argument. -func Xsqlite3SrcListIndexedBy(tls *libc.TLS, pParse uintptr, p uintptr, pIndexedBy uintptr) { /* sqlite3.c:118870:21: */ +func Xsqlite3SrcListIndexedBy(tls *libc.TLS, pParse uintptr, p uintptr, pIndexedBy uintptr) { /* sqlite3.c:118883:21: */ if p != 0 && (*Token)(unsafe.Pointer(pIndexedBy)).Fn > uint32(0) { var pItem uintptr @@ -100208,7 +100227,7 @@ func Xsqlite3SrcListIndexedBy(tls *libc.TLS, pParse uintptr, p uintptr, pIndexed // Append the contents of SrcList p2 to SrcList p1 and return the resulting // SrcList. Or, if an error occurs, return NULL. In all cases, p1 and p2 // are deleted by this function. -func Xsqlite3SrcListAppendList(tls *libc.TLS, pParse uintptr, p1 uintptr, p2 uintptr) uintptr { /* sqlite3.c:118896:24: */ +func Xsqlite3SrcListAppendList(tls *libc.TLS, pParse uintptr, p1 uintptr, p2 uintptr) uintptr { /* sqlite3.c:118909:24: */ if p2 != 0 { var pNew uintptr = Xsqlite3SrcListEnlarge(tls, pParse, p1, (*SrcList)(unsafe.Pointer(p2)).FnSrc, 1) @@ -100225,7 +100244,7 @@ func Xsqlite3SrcListAppendList(tls *libc.TLS, pParse uintptr, p1 uintptr, p2 uin // Add the list of function arguments to the SrcList entry for a // table-valued-function. -func Xsqlite3SrcListFuncArgs(tls *libc.TLS, pParse uintptr, p uintptr, pList uintptr) { /* sqlite3.c:118915:21: */ +func Xsqlite3SrcListFuncArgs(tls *libc.TLS, pParse uintptr, p uintptr, pList uintptr) { /* sqlite3.c:118928:21: */ if p != 0 { var pItem uintptr = p + 8 + uintptr((*SrcList)(unsafe.Pointer(p)).FnSrc-1)*112 @@ -100249,7 +100268,7 @@ func Xsqlite3SrcListFuncArgs(tls *libc.TLS, pParse uintptr, p uintptr, pList uin // The operator is "natural cross join". The A and B operands are stored // in p->a[0] and p->a[1], respectively. The parser initially stores the // operator with A. This routine shifts that operator over to B. -func Xsqlite3SrcListShiftJoinType(tls *libc.TLS, p uintptr) { /* sqlite3.c:118943:21: */ +func Xsqlite3SrcListShiftJoinType(tls *libc.TLS, p uintptr) { /* sqlite3.c:118956:21: */ if p != 0 { var i int32 for i = (*SrcList)(unsafe.Pointer(p)).FnSrc - 1; i > 0; i-- { @@ -100260,7 +100279,7 @@ func Xsqlite3SrcListShiftJoinType(tls *libc.TLS, p uintptr) { /* sqlite3.c:11894 } // Generate VDBE code for a BEGIN statement. -func Xsqlite3BeginTransaction(tls *libc.TLS, pParse uintptr, type1 int32) { /* sqlite3.c:118956:21: */ +func Xsqlite3BeginTransaction(tls *libc.TLS, pParse uintptr, type1 int32) { /* sqlite3.c:118969:21: */ var db uintptr var v uintptr var i int32 @@ -100295,7 +100314,7 @@ func Xsqlite3BeginTransaction(tls *libc.TLS, pParse uintptr, type1 int32) { /* s // Generate VDBE code for a COMMIT or ROLLBACK statement. // Code for ROLLBACK is generated if eType==TK_ROLLBACK. Otherwise // code is generated for a COMMIT. -func Xsqlite3EndTransaction(tls *libc.TLS, pParse uintptr, eType int32) { /* sqlite3.c:118992:21: */ +func Xsqlite3EndTransaction(tls *libc.TLS, pParse uintptr, eType int32) { /* sqlite3.c:119005:21: */ var v uintptr var isRollback int32 @@ -100317,7 +100336,7 @@ func Xsqlite3EndTransaction(tls *libc.TLS, pParse uintptr, eType int32) { /* sql // This function is called by the parser when it parses a command to create, // release or rollback an SQL savepoint. -func Xsqlite3Savepoint(tls *libc.TLS, pParse uintptr, op int32, pName uintptr) { /* sqlite3.c:119014:21: */ +func Xsqlite3Savepoint(tls *libc.TLS, pParse uintptr, op int32, pName uintptr) { /* sqlite3.c:119027:21: */ var zName uintptr = Xsqlite3NameFromToken(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, pName) if zName != 0 { var v uintptr = Xsqlite3GetVdbe(tls, pParse) @@ -100330,11 +100349,11 @@ func Xsqlite3Savepoint(tls *libc.TLS, pParse uintptr, op int32, pName uintptr) { } } -var az = [3]uintptr{ts + 14440, ts + 14462, ts + 14446} /* sqlite3.c:119019:23 */ +var az = [3]uintptr{ts + 14440, ts + 14462, ts + 14446} /* sqlite3.c:119032:23 */ // Make sure the TEMP database is open and available for use. Return // the number of errors. Leave any error messages in the pParse structure. -func Xsqlite3OpenTempDatabase(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:119034:20: */ +func Xsqlite3OpenTempDatabase(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:119047:20: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -100360,13 +100379,13 @@ func Xsqlite3OpenTempDatabase(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3. return 0 } -var flags int32 = SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE | SQLITE_OPEN_EXCLUSIVE | SQLITE_OPEN_DELETEONCLOSE | SQLITE_OPEN_TEMP_DB /* sqlite3.c:119039:22 */ +var flags int32 = SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE | SQLITE_OPEN_EXCLUSIVE | SQLITE_OPEN_DELETEONCLOSE | SQLITE_OPEN_TEMP_DB /* sqlite3.c:119052:22 */ // Record the fact that the schema cookie will need to be verified // for database iDb. The code to actually verify the schema cookie // will occur at the end of the top-level VDBE and will be generated // later, by sqlite3FinishCoding(). -func sqlite3CodeVerifySchemaAtToplevel(tls *libc.TLS, pToplevel uintptr, iDb int32) { /* sqlite3.c:119069:13: */ +func sqlite3CodeVerifySchemaAtToplevel(tls *libc.TLS, pToplevel uintptr, iDb int32) { /* sqlite3.c:119082:13: */ if libc.Bool32((*Parse)(unsafe.Pointer(pToplevel)).FcookieMask&(YDbMask(YDbMask(1))< UTF-16 conversion if // possible. -func synthCollSeq(tls *libc.TLS, db uintptr, pColl uintptr) int32 { /* sqlite3.c:119579:12: */ +func synthCollSeq(tls *libc.TLS, db uintptr, pColl uintptr) int32 { /* sqlite3.c:119592:12: */ var pColl2 uintptr var z uintptr = (*CollSeq)(unsafe.Pointer(pColl)).FzName var i int32 @@ -100879,7 +100898,7 @@ func synthCollSeq(tls *libc.TLS, db uintptr, pColl uintptr) int32 { /* sqlite3.c return SQLITE_ERROR } -var aEnc = [3]U8{U8(SQLITE_UTF16BE), U8(SQLITE_UTF16LE), U8(SQLITE_UTF8)} /* sqlite3.c:119583:19 */ +var aEnc = [3]U8{U8(SQLITE_UTF16BE), U8(SQLITE_UTF16LE), U8(SQLITE_UTF8)} /* sqlite3.c:119596:19 */ // This routine is called on a collation sequence before it is used to // check that it is defined. An undefined collation sequence exists when @@ -100890,7 +100909,7 @@ var aEnc = [3]U8{U8(SQLITE_UTF16BE), U8(SQLITE_UTF16LE), U8(SQLITE_UTF8)} /* sql // request a definition of the collating sequence. If this doesn't work, // an equivalent collating sequence that uses a text encoding different // from the main database is substituted, if one is available. -func Xsqlite3CheckCollSeq(tls *libc.TLS, pParse uintptr, pColl uintptr) int32 { /* sqlite3.c:119606:20: */ +func Xsqlite3CheckCollSeq(tls *libc.TLS, pParse uintptr, pColl uintptr) int32 { /* sqlite3.c:119619:20: */ if pColl != 0 && (*CollSeq)(unsafe.Pointer(pColl)).FxCmp == uintptr(0) { var zName uintptr = (*CollSeq)(unsafe.Pointer(pColl)).FzName var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb @@ -100914,7 +100933,7 @@ func Xsqlite3CheckCollSeq(tls *libc.TLS, pParse uintptr, pColl uintptr) int32 { // Stored immediately after the three collation sequences is a copy of // the collation sequence name. A pointer to this string is stored in // each collation sequence structure. -func findCollSeqEntry(tls *libc.TLS, db uintptr, zName uintptr, create int32) uintptr { /* sqlite3.c:119634:16: */ +func findCollSeqEntry(tls *libc.TLS, db uintptr, zName uintptr, create int32) uintptr { /* sqlite3.c:119647:16: */ var pColl uintptr pColl = Xsqlite3HashFind(tls, db+640, zName) @@ -100959,7 +100978,7 @@ func findCollSeqEntry(tls *libc.TLS, db uintptr, zName uintptr, create int32) ui // cannot be found. // // See also: sqlite3LocateCollSeq(), sqlite3GetCollSeq() -func Xsqlite3FindCollSeq(tls *libc.TLS, db uintptr, enc U8, zName uintptr, create int32) uintptr { /* sqlite3.c:119686:24: */ +func Xsqlite3FindCollSeq(tls *libc.TLS, db uintptr, enc U8, zName uintptr, create int32) uintptr { /* sqlite3.c:119699:24: */ var pColl uintptr if zName != 0 { @@ -100975,7 +100994,7 @@ func Xsqlite3FindCollSeq(tls *libc.TLS, db uintptr, enc U8, zName uintptr, creat // Change the text encoding for a database connection. This means that // the pDfltColl must change as well. -func Xsqlite3SetTextEncoding(tls *libc.TLS, db uintptr, enc U8) { /* sqlite3.c:119708:21: */ +func Xsqlite3SetTextEncoding(tls *libc.TLS, db uintptr, enc U8) { /* sqlite3.c:119721:21: */ (*Sqlite3)(unsafe.Pointer(db)).Fenc = enc // EVIDENCE-OF: R-08308-17224 The default collating function for all @@ -100995,7 +101014,7 @@ func Xsqlite3SetTextEncoding(tls *libc.TLS, db uintptr, enc U8) { /* sqlite3.c:1 // sequence can be found. If no collation is found, leave an error message. // // See also: sqlite3LocateCollSeq(), sqlite3FindCollSeq() -func Xsqlite3GetCollSeq(tls *libc.TLS, pParse uintptr, enc U8, pColl uintptr, zName uintptr) uintptr { /* sqlite3.c:119731:24: */ +func Xsqlite3GetCollSeq(tls *libc.TLS, pParse uintptr, enc U8, pColl uintptr, zName uintptr) uintptr { /* sqlite3.c:119744:24: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -101041,7 +101060,7 @@ func Xsqlite3GetCollSeq(tls *libc.TLS, pParse uintptr, enc U8, pColl uintptr, zN // and generates an error message. // // See also: sqlite3FindCollSeq(), sqlite3GetCollSeq() -func Xsqlite3LocateCollSeq(tls *libc.TLS, pParse uintptr, zName uintptr) uintptr { /* sqlite3.c:119782:24: */ +func Xsqlite3LocateCollSeq(tls *libc.TLS, pParse uintptr, zName uintptr) uintptr { /* sqlite3.c:119795:24: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb var enc U8 = (*Sqlite3)(unsafe.Pointer(db)).Fenc var initbusy U8 = (*Sqlite3)(unsafe.Pointer(db)).Finit.Fbusy @@ -101082,7 +101101,7 @@ func Xsqlite3LocateCollSeq(tls *libc.TLS, pParse uintptr, zName uintptr) uintptr // If nArg==(-2) then any function with a non-null xSFunc is // a perfect match and any function with xSFunc NULL is // a non-match. -func matchQuality(tls *libc.TLS, p uintptr, nArg int32, enc U8) int32 { /* sqlite3.c:119825:12: */ +func matchQuality(tls *libc.TLS, p uintptr, nArg int32, enc U8) int32 { /* sqlite3.c:119838:12: */ var match int32 // Wrong number of arguments means "no match" @@ -101118,7 +101137,7 @@ func matchQuality(tls *libc.TLS, p uintptr, nArg int32, enc U8) int32 { /* sqlit // Search a FuncDefHash for a function with the given name. Return // a pointer to the matching FuncDef if found, or 0 if there is no match. -func Xsqlite3FunctionSearch(tls *libc.TLS, h int32, zFunc uintptr) uintptr { /* sqlite3.c:119861:24: */ +func Xsqlite3FunctionSearch(tls *libc.TLS, h int32, zFunc uintptr) uintptr { /* sqlite3.c:119874:24: */ var p uintptr for p = *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&Xsqlite3BuiltinFunctions)) + uintptr(h)*8)); p != 0; p = *(*uintptr)(unsafe.Pointer(p + 64)) { @@ -101130,7 +101149,7 @@ func Xsqlite3FunctionSearch(tls *libc.TLS, h int32, zFunc uintptr) uintptr { /* } // Insert a new FuncDef into a FuncDefHash hash table. -func Xsqlite3InsertBuiltinFuncs(tls *libc.TLS, aDef uintptr, nDef int32) { /* sqlite3.c:119878:21: */ +func Xsqlite3InsertBuiltinFuncs(tls *libc.TLS, aDef uintptr, nDef int32) { /* sqlite3.c:119891:21: */ var i int32 for i = 0; i < nDef; i++ { var pOther uintptr @@ -101168,7 +101187,7 @@ func Xsqlite3InsertBuiltinFuncs(tls *libc.TLS, aDef uintptr, nDef int32) { /* sq // If createFlag is false, then a function with the required name and // number of arguments may be returned even if the eTextRep flag does not // match that requested. -func Xsqlite3FindFunction(tls *libc.TLS, db uintptr, zName uintptr, nArg int32, enc U8, createFlag U8) uintptr { /* sqlite3.c:119923:24: */ +func Xsqlite3FindFunction(tls *libc.TLS, db uintptr, zName uintptr, nArg int32, enc U8, createFlag U8) uintptr { /* sqlite3.c:119936:24: */ var p uintptr // Iterator variable var pBest uintptr = uintptr(0) // Best match found so far var bestScore int32 = 0 // Score of best match @@ -101248,7 +101267,7 @@ func Xsqlite3FindFunction(tls *libc.TLS, db uintptr, zName uintptr, nArg int32, // of the schema hash tables). // // The Schema.cache_size variable is not cleared. -func Xsqlite3SchemaClear(tls *libc.TLS, p uintptr) { /* sqlite3.c:120015:21: */ +func Xsqlite3SchemaClear(tls *libc.TLS, p uintptr) { /* sqlite3.c:120028:21: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -101283,7 +101302,7 @@ func Xsqlite3SchemaClear(tls *libc.TLS, p uintptr) { /* sqlite3.c:120015:21: */ // Find and return the schema associated with a BTree. Create // a new one if necessary. -func Xsqlite3SchemaGet(tls *libc.TLS, db uintptr, pBt uintptr) uintptr { /* sqlite3.c:120047:23: */ +func Xsqlite3SchemaGet(tls *libc.TLS, db uintptr, pBt uintptr) uintptr { /* sqlite3.c:120060:23: */ var p uintptr if pBt != 0 { p = Xsqlite3BtreeSchema(tls, pBt, int32(unsafe.Sizeof(Schema{})), *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{Xsqlite3SchemaClear}))) @@ -101330,7 +101349,7 @@ func Xsqlite3SchemaGet(tls *libc.TLS, db uintptr, pBt uintptr) uintptr { /* sqli // pSrc->a[0].pTab Pointer to the Table object // pSrc->a[0].pIndex Pointer to the INDEXED BY index, if there is one // -func Xsqlite3SrcListLookup(tls *libc.TLS, pParse uintptr, pSrc uintptr) uintptr { /* sqlite3.c:120098:22: */ +func Xsqlite3SrcListLookup(tls *libc.TLS, pParse uintptr, pSrc uintptr) uintptr { /* sqlite3.c:120111:22: */ var pItem uintptr = pSrc + 8 /* &.a */ var pTab uintptr @@ -101348,7 +101367,7 @@ func Xsqlite3SrcListLookup(tls *libc.TLS, pParse uintptr, pSrc uintptr) uintptr // Generate byte-code that will report the number of rows modified // by a DELETE, INSERT, or UPDATE statement. -func Xsqlite3CodeChangeCount(tls *libc.TLS, v uintptr, regCounter int32, zColName uintptr) { /* sqlite3.c:120117:21: */ +func Xsqlite3CodeChangeCount(tls *libc.TLS, v uintptr, regCounter int32, zColName uintptr) { /* sqlite3.c:120130:21: */ Xsqlite3VdbeAddOp0(tls, v, OP_FkCheck) Xsqlite3VdbeAddOp2(tls, v, OP_ResultRow, regCounter, 1) Xsqlite3VdbeSetNumCols(tls, v, 1) @@ -101369,7 +101388,7 @@ func Xsqlite3CodeChangeCount(tls *libc.TLS, v uintptr, regCounter int32, zColNam // 3) The table is a shadow table, the database connection is in // defensive mode, and the current sqlite3_prepare() // is for a top-level SQL statement. -func tabIsReadOnly(tls *libc.TLS, pParse uintptr, pTab uintptr) int32 { /* sqlite3.c:120139:12: */ +func tabIsReadOnly(tls *libc.TLS, pParse uintptr, pTab uintptr) int32 { /* sqlite3.c:120152:12: */ var db uintptr if int32((*Table)(unsafe.Pointer(pTab)).FeTabType) == TABTYP_VTAB { return libc.Bool32((*Sqlite3_module)(unsafe.Pointer((*Module)(unsafe.Pointer((*VTable)(unsafe.Pointer(Xsqlite3GetVTable(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, pTab))).FpMod)).FpModule)).FxUpdate == uintptr(0)) @@ -101388,7 +101407,7 @@ func tabIsReadOnly(tls *libc.TLS, pParse uintptr, pTab uintptr) int32 { /* sqlit // Check to make sure the given table is writable. If it is not // writable, generate an error message and return 1. If it is // writable return 0; -func Xsqlite3IsReadOnly(tls *libc.TLS, pParse uintptr, pTab uintptr, viewOk int32) int32 { /* sqlite3.c:120158:20: */ +func Xsqlite3IsReadOnly(tls *libc.TLS, pParse uintptr, pTab uintptr, viewOk int32) int32 { /* sqlite3.c:120171:20: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -101406,7 +101425,7 @@ func Xsqlite3IsReadOnly(tls *libc.TLS, pParse uintptr, pTab uintptr, viewOk int3 // Evaluate a view and store its result in an ephemeral table. The // pWhere argument is an optional WHERE clause that restricts the // set of rows in the view that are to be added to the ephemeral table. -func Xsqlite3MaterializeView(tls *libc.TLS, pParse uintptr, pView uintptr, pWhere uintptr, pOrderBy uintptr, pLimit uintptr, iCur int32) { /* sqlite3.c:120179:21: */ +func Xsqlite3MaterializeView(tls *libc.TLS, pParse uintptr, pView uintptr, pWhere uintptr, pOrderBy uintptr, pLimit uintptr, iCur int32) { /* sqlite3.c:120192:21: */ bp := tls.Alloc(40) defer tls.Free(40) @@ -101438,7 +101457,7 @@ func Xsqlite3MaterializeView(tls *libc.TLS, pParse uintptr, pView uintptr, pWher // DELETE FROM table_wxyz WHERE a<5 AND b NOT NULL; // \________/ \________________/ // pTabList pWhere -func Xsqlite3DeleteFrom(tls *libc.TLS, pParse uintptr, pTabList uintptr, pWhere uintptr, pOrderBy uintptr, pLimit uintptr) { /* sqlite3.c:120318:21: */ +func Xsqlite3DeleteFrom(tls *libc.TLS, pParse uintptr, pTabList uintptr, pWhere uintptr, pOrderBy uintptr, pLimit uintptr) { /* sqlite3.c:120331:21: */ bp := tls.Alloc(88) defer tls.Free(88) @@ -102044,7 +102063,7 @@ delete_from_cleanup: // starting at iIdxCur) that already points to the index entry to be deleted. // Except, this optimization is disabled if there are BEFORE triggers since // the trigger body might have moved the cursor. -func Xsqlite3GenerateRowDelete(tls *libc.TLS, pParse uintptr, pTab uintptr, pTrigger uintptr, iDataCur int32, iIdxCur int32, iPk int32, nPk I16, count U8, onconf U8, eMode U8, iIdxNoSeek int32) { /* sqlite3.c:120766:21: */ +func Xsqlite3GenerateRowDelete(tls *libc.TLS, pParse uintptr, pTab uintptr, pTrigger uintptr, iDataCur int32, iIdxCur int32, iPk int32, nPk I16, count U8, onconf U8, eMode U8, iIdxNoSeek int32) { /* sqlite3.c:120779:21: */ var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe // Vdbe var iOld int32 = 0 // First register in OLD.* array var iLabel int32 // Label resolved to end of generated code @@ -102181,7 +102200,7 @@ func Xsqlite3GenerateRowDelete(tls *libc.TLS, pParse uintptr, pTab uintptr, pTri // // 3. The "iDataCur" cursor must be already be positioned on the row // that is to be deleted. -func Xsqlite3GenerateRowIndexDelete(tls *libc.TLS, pParse uintptr, pTab uintptr, iDataCur int32, iIdxCur int32, aRegIdx uintptr, iIdxNoSeek int32) { /* sqlite3.c:120918:21: */ +func Xsqlite3GenerateRowIndexDelete(tls *libc.TLS, pParse uintptr, pTab uintptr, iDataCur int32, iIdxCur int32, aRegIdx uintptr, iIdxNoSeek int32) { /* sqlite3.c:120931:21: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -102270,7 +102289,7 @@ __3: // This optimization is helpful when doing a DELETE or an INTEGRITY_CHECK // on a table with multiple indices, and especially with the ROWID or // PRIMARY KEY columns of the index. -func Xsqlite3GenerateIndexKey(tls *libc.TLS, pParse uintptr, pIdx uintptr, iDataCur int32, regOut int32, prefixOnly int32, piPartIdxLabel uintptr, pPrior uintptr, regPrior int32) int32 { /* sqlite3.c:120983:20: */ +func Xsqlite3GenerateIndexKey(tls *libc.TLS, pParse uintptr, pIdx uintptr, iDataCur int32, regOut int32, prefixOnly int32, piPartIdxLabel uintptr, pPrior uintptr, regPrior int32) int32 { /* sqlite3.c:120996:20: */ var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe var j int32 var regBase int32 @@ -102326,7 +102345,7 @@ func Xsqlite3GenerateIndexKey(tls *libc.TLS, pParse uintptr, pIdx uintptr, iData // If a prior call to sqlite3GenerateIndexKey() generated a jump-over label // because it was a partial index, then this routine should be called to // resolve that label. -func Xsqlite3ResolvePartIdxLabel(tls *libc.TLS, pParse uintptr, iLabel int32) { /* sqlite3.c:121045:21: */ +func Xsqlite3ResolvePartIdxLabel(tls *libc.TLS, pParse uintptr, iLabel int32) { /* sqlite3.c:121058:21: */ if iLabel != 0 { Xsqlite3VdbeResolveLabel(tls, (*Parse)(unsafe.Pointer(pParse)).FpVdbe, iLabel) } @@ -102354,7 +102373,7 @@ func Xsqlite3ResolvePartIdxLabel(tls *libc.TLS, pParse uintptr, iLabel int32) { // #include "vdbeInt.h" // Return the collating function associated with a function. -func sqlite3GetFuncCollSeq(tls *libc.TLS, context uintptr) uintptr { /* sqlite3.c:121079:16: */ +func sqlite3GetFuncCollSeq(tls *libc.TLS, context uintptr) uintptr { /* sqlite3.c:121092:16: */ var pOp uintptr pOp = (*Vdbe)(unsafe.Pointer((*Sqlite3_context)(unsafe.Pointer(context)).FpVdbe)).FaOp + uintptr((*Sqlite3_context)(unsafe.Pointer(context)).FiOp-1)*24 @@ -102364,14 +102383,14 @@ func sqlite3GetFuncCollSeq(tls *libc.TLS, context uintptr) uintptr { /* sqlite3. // Indicate that the accumulator load should be skipped on this // iteration of the aggregate loop. -func sqlite3SkipAccumulatorLoad(tls *libc.TLS, context uintptr) { /* sqlite3.c:121092:13: */ +func sqlite3SkipAccumulatorLoad(tls *libc.TLS, context uintptr) { /* sqlite3.c:121105:13: */ (*Sqlite3_context)(unsafe.Pointer(context)).FisError = -1 (*Sqlite3_context)(unsafe.Pointer(context)).FskipFlag = U8(1) } // Implementation of the non-aggregate min() and max() functions -func minmaxFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121101:13: */ +func minmaxFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121114:13: */ var i int32 var mask int32 // 0 for min() or 0xffffffff for max() var iBest int32 @@ -102401,7 +102420,7 @@ func minmaxFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* s } // Return the type of the argument. -func typeofFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { /* sqlite3.c:121131:13: */ +func typeofFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { /* sqlite3.c:121144:13: */ var i int32 = Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(argv))) - 1 _ = NotUsed @@ -102412,18 +102431,18 @@ func typeofFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { / Xsqlite3_result_text(tls, context, azType2[i], -1, uintptr(0)) } -var azType2 = [5]uintptr{ts + 6142, ts + 6137, ts + 7892, ts + 7887, ts + 6132} /* sqlite3.c:121136:21 */ +var azType2 = [5]uintptr{ts + 6142, ts + 6137, ts + 7892, ts + 7887, ts + 6132} /* sqlite3.c:121149:21 */ // subtype(X) // // Return the subtype of X -func subtypeFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121156:13: */ +func subtypeFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121169:13: */ _ = argc Xsqlite3_result_int(tls, context, int32(Xsqlite3_value_subtype(tls, *(*uintptr)(unsafe.Pointer(argv))))) } // Implementation of the length() function -func lengthFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121168:13: */ +func lengthFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121181:13: */ _ = argc switch Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(argv))) { @@ -102472,7 +102491,7 @@ func lengthFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* s // // IMP: R-23979-26855 The abs(X) function returns the absolute value of // the numeric argument X. -func absFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121210:13: */ +func absFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121223:13: */ _ = argc switch Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(argv))) { @@ -102526,7 +102545,7 @@ func absFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqli // If both haystack and needle are BLOBs, then the result is one more than // the number of bytes in haystack prior to the first occurrence of needle, // or 0 if needle never occurs in haystack. -func instrFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121259:13: */ +func instrFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121272:13: */ var zHaystack uintptr var zNeedle uintptr var nHaystack int32 @@ -102641,7 +102660,7 @@ endInstrOOM: } // Implementation of the printf() (a.k.a. format()) SQL function. -func printfFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121327:13: */ +func printfFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121340:13: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -102678,7 +102697,7 @@ func printfFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* s // If p1 is negative, then we begin abs(p1) from the end of x[]. // // If p2 is negative, return the p2 characters preceding p1. -func substrFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121363:13: */ +func substrFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121376:13: */ var z uintptr var z2 uintptr var len int32 @@ -102786,7 +102805,7 @@ func substrFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* s } // Implementation of the round() function -func roundFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121458:13: */ +func roundFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121471:13: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -102840,7 +102859,7 @@ func roundFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sq // the database handle that malloc() has failed and return NULL. // If nByte is larger than the maximum string or blob length, then // raise an SQLITE_TOOBIG exception and return NULL. -func contextMalloc(tls *libc.TLS, context uintptr, nByte I64) uintptr { /* sqlite3.c:121499:13: */ +func contextMalloc(tls *libc.TLS, context uintptr, nByte I64) uintptr { /* sqlite3.c:121512:13: */ var z uintptr var db uintptr = Xsqlite3_context_db_handle(tls, context) @@ -102857,7 +102876,7 @@ func contextMalloc(tls *libc.TLS, context uintptr, nByte I64) uintptr { /* sqlit } // Implementation of the upper() and lower() SQL functions. -func upperFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121520:13: */ +func upperFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121533:13: */ var z1 uintptr var z2 uintptr var i int32 @@ -102878,7 +102897,7 @@ func upperFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sq } } -func lowerFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121539:13: */ +func lowerFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121552:13: */ var z1 uintptr var z2 uintptr var i int32 @@ -102907,7 +102926,7 @@ func lowerFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sq // is. We might as well use the "version()" function as a substitute. // Implementation of random(). Return a random integer. -func randomFunc(tls *libc.TLS, context uintptr, NotUsed int32, NotUsed2 uintptr) { /* sqlite3.c:121572:13: */ +func randomFunc(tls *libc.TLS, context uintptr, NotUsed int32, NotUsed2 uintptr) { /* sqlite3.c:121585:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -102931,7 +102950,7 @@ func randomFunc(tls *libc.TLS, context uintptr, NotUsed int32, NotUsed2 uintptr) // Implementation of randomblob(N). Return a random blob // that is N bytes long. -func randomBlob(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121598:13: */ +func randomBlob(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121611:13: */ var n Sqlite3_int64 var p uintptr @@ -102949,7 +102968,7 @@ func randomBlob(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* s // Implementation of the last_insert_rowid() SQL function. The return // value is the same as the sqlite3_last_insert_rowid() API function. -func last_insert_rowid(tls *libc.TLS, context uintptr, NotUsed int32, NotUsed2 uintptr) { /* sqlite3.c:121622:13: */ +func last_insert_rowid(tls *libc.TLS, context uintptr, NotUsed int32, NotUsed2 uintptr) { /* sqlite3.c:121635:13: */ var db uintptr = Xsqlite3_context_db_handle(tls, context) _ = NotUsed _ = NotUsed2 @@ -102964,7 +102983,7 @@ func last_insert_rowid(tls *libc.TLS, context uintptr, NotUsed int32, NotUsed2 u // IMP: R-32760-32347 The changes() SQL function is a wrapper // around the sqlite3_changes64() C/C++ function and hence follows the // same rules for counting changes. -func changes(tls *libc.TLS, context uintptr, NotUsed int32, NotUsed2 uintptr) { /* sqlite3.c:121642:13: */ +func changes(tls *libc.TLS, context uintptr, NotUsed int32, NotUsed2 uintptr) { /* sqlite3.c:121655:13: */ var db uintptr = Xsqlite3_context_db_handle(tls, context) _ = NotUsed _ = NotUsed2 @@ -102973,7 +102992,7 @@ func changes(tls *libc.TLS, context uintptr, NotUsed int32, NotUsed2 uintptr) { // Implementation of the total_changes() SQL function. The return value is // the same as the sqlite3_total_changes64() API function. -func total_changes(tls *libc.TLS, context uintptr, NotUsed int32, NotUsed2 uintptr) { /* sqlite3.c:121656:13: */ +func total_changes(tls *libc.TLS, context uintptr, NotUsed int32, NotUsed2 uintptr) { /* sqlite3.c:121669:13: */ var db uintptr = Xsqlite3_context_db_handle(tls, context) _ = NotUsed _ = NotUsed2 @@ -102988,20 +103007,20 @@ type compareInfo = struct { FmatchOne U8 FmatchSet U8 FnoCase U8 -} /* sqlite3.c:121671:1 */ +} /* sqlite3.c:121684:1 */ // For LIKE and GLOB matching on EBCDIC machines, assume that every // character is exactly one byte in size. Also, provde the Utf8Read() // macro for fast reading of the next character in the common case where // the next character is ASCII. -var globInfo = compareInfo{FmatchAll: U8('*'), FmatchOne: U8('?'), FmatchSet: U8('[')} /* sqlite3.c:121691:33 */ +var globInfo = compareInfo{FmatchAll: U8('*'), FmatchOne: U8('?'), FmatchSet: U8('[')} /* sqlite3.c:121704:33 */ // The correct SQL-92 behavior is for the LIKE operator to ignore // case. Thus 'a' LIKE 'A' would be true. -var likeInfoNorm = compareInfo{FmatchAll: U8('%'), FmatchOne: U8('_'), FnoCase: U8(1)} /* sqlite3.c:121694:33 */ +var likeInfoNorm = compareInfo{FmatchAll: U8('%'), FmatchOne: U8('_'), FnoCase: U8(1)} /* sqlite3.c:121707:33 */ // If SQLITE_CASE_SENSITIVE_LIKE is defined, then the LIKE operator // is case sensitive causing 'a' LIKE 'A' to be false -var likeInfoAlt = compareInfo{FmatchAll: U8('%'), FmatchOne: U8('_')} /* sqlite3.c:121697:33 */ +var likeInfoAlt = compareInfo{FmatchAll: U8('%'), FmatchOne: U8('_')} /* sqlite3.c:121710:33 */ // Possible error returns from patternMatch() @@ -103041,7 +103060,7 @@ var likeInfoAlt = compareInfo{FmatchAll: U8('%'), FmatchOne: U8('_')} /* sqlite3 // The comments within this routine usually assume glob matching. // // This routine is usually quick, but can be N**2 in the worst case. -func patternCompare(tls *libc.TLS, zPattern uintptr, zString uintptr, pInfo uintptr, matchOther U32) int32 { /* sqlite3.c:121744:12: */ +func patternCompare(tls *libc.TLS, zPattern uintptr, zString uintptr, pInfo uintptr, matchOther U32) int32 { /* sqlite3.c:121757:12: */ bp := tls.Alloc(19) defer tls.Free(19) *(*uintptr)(unsafe.Pointer(bp)) = zPattern @@ -103227,13 +103246,13 @@ func patternCompare(tls *libc.TLS, zPattern uintptr, zString uintptr, pInfo uint // The sqlite3_strglob() interface. Return 0 on a match (like strcmp()) and // non-zero if there is no match. -func Xsqlite3_strglob(tls *libc.TLS, zGlobPattern uintptr, zString uintptr) int32 { /* sqlite3.c:121877:16: */ +func Xsqlite3_strglob(tls *libc.TLS, zGlobPattern uintptr, zString uintptr) int32 { /* sqlite3.c:121890:16: */ return patternCompare(tls, zGlobPattern, zString, uintptr(unsafe.Pointer(&globInfo)), uint32('[')) } // The sqlite3_strlike() interface. Return 0 on a match and non-zero for // a miss - like strcmp(). -func Xsqlite3_strlike(tls *libc.TLS, zPattern uintptr, zStr uintptr, esc uint32) int32 { /* sqlite3.c:121885:16: */ +func Xsqlite3_strlike(tls *libc.TLS, zPattern uintptr, zStr uintptr, esc uint32) int32 { /* sqlite3.c:121898:16: */ return patternCompare(tls, zPattern, zStr, uintptr(unsafe.Pointer(&likeInfoNorm)), esc) } @@ -103251,7 +103270,7 @@ func Xsqlite3_strlike(tls *libc.TLS, zPattern uintptr, zStr uintptr, esc uint32) // // This same function (with a different compareInfo structure) computes // the GLOB operator. -func likeFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121911:13: */ +func likeFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121924:13: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -103314,7 +103333,7 @@ func likeFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sql // Implementation of the NULLIF(x,y) function. The result is the first // argument if the arguments are different. The result is NULL if the // arguments are equal to each other. -func nullifFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { /* sqlite3.c:121982:13: */ +func nullifFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { /* sqlite3.c:121995:13: */ var pColl uintptr = sqlite3GetFuncCollSeq(tls, context) _ = NotUsed if Xsqlite3MemCompare(tls, *(*uintptr)(unsafe.Pointer(argv)), *(*uintptr)(unsafe.Pointer(argv + 1*8)), pColl) != 0 { @@ -103324,7 +103343,7 @@ func nullifFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { / // Implementation of the sqlite_version() function. The result is the version // of the SQLite library that is running. -func versionFunc(tls *libc.TLS, context uintptr, NotUsed int32, NotUsed2 uintptr) { /* sqlite3.c:121998:13: */ +func versionFunc(tls *libc.TLS, context uintptr, NotUsed int32, NotUsed2 uintptr) { /* sqlite3.c:122011:13: */ _ = NotUsed _ = NotUsed2 // IMP: R-48699-48617 This function is an SQL wrapper around the @@ -103335,7 +103354,7 @@ func versionFunc(tls *libc.TLS, context uintptr, NotUsed int32, NotUsed2 uintptr // Implementation of the sqlite_source_id() function. The result is a string // that identifies the particular version of the source code used to build // SQLite. -func sourceidFunc(tls *libc.TLS, context uintptr, NotUsed int32, NotUsed2 uintptr) { /* sqlite3.c:122014:13: */ +func sourceidFunc(tls *libc.TLS, context uintptr, NotUsed int32, NotUsed2 uintptr) { /* sqlite3.c:122027:13: */ _ = NotUsed _ = NotUsed2 // IMP: R-24470-31136 This function is an SQL wrapper around the @@ -103346,7 +103365,7 @@ func sourceidFunc(tls *libc.TLS, context uintptr, NotUsed int32, NotUsed2 uintpt // Implementation of the sqlite_log() function. This is a wrapper around // sqlite3_log(). The return value is NULL. The function exists purely for // its side-effects. -func errlogFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122030:13: */ +func errlogFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122043:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -103358,7 +103377,7 @@ func errlogFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* s // Implementation of the sqlite_compileoption_used() function. // The result is an integer that identifies if the compiler option // was used to build SQLite. -func compileoptionusedFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122046:13: */ +func compileoptionusedFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122059:13: */ var zOptName uintptr _ = argc @@ -103373,7 +103392,7 @@ func compileoptionusedFunc(tls *libc.TLS, context uintptr, argc int32, argv uint // Implementation of the sqlite_compileoption_get() function. // The result is a string that identifies the compiler options // used to build SQLite. -func compileoptiongetFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122070:13: */ +func compileoptiongetFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122083:13: */ var n int32 _ = argc @@ -103388,11 +103407,11 @@ func compileoptiongetFunc(tls *libc.TLS, context uintptr, argc int32, argv uintp var hexdigits = [16]uint8{ uint8('0'), uint8('1'), uint8('2'), uint8('3'), uint8('4'), uint8('5'), uint8('6'), uint8('7'), uint8('8'), uint8('9'), uint8('A'), uint8('B'), uint8('C'), uint8('D'), uint8('E'), uint8('F'), -} /* sqlite3.c:122088:19 */ +} /* sqlite3.c:122101:19 */ // Append to pStr text that is the SQL literal representation of the // value contained in pValue. -func Xsqlite3QuoteValue(tls *libc.TLS, pStr uintptr, pValue uintptr) { /* sqlite3.c:122097:21: */ +func Xsqlite3QuoteValue(tls *libc.TLS, pStr uintptr, pValue uintptr) { /* sqlite3.c:122110:21: */ bp := tls.Alloc(40) defer tls.Free(40) @@ -103473,7 +103492,7 @@ func Xsqlite3QuoteValue(tls *libc.TLS, pStr uintptr, pValue uintptr) { /* sqlite // as needed. BLOBs are encoded as hexadecimal literals. Strings with // embedded NUL characters cannot be represented as string literals in SQL // and hence the returned string literal is truncated prior to the first NUL. -func quoteFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122166:13: */ +func quoteFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122179:13: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -103496,7 +103515,7 @@ func quoteFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sq // The unicode() function. Return the integer unicode code-point value // for the first character of the input string. -func unicodeFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122185:13: */ +func unicodeFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122198:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -103510,7 +103529,7 @@ func unicodeFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* // The char() function takes zero or more arguments, each of which is // an integer. It constructs a string where each character of the string // is the unicode character for the corresponding integer argument. -func charFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122200:13: */ +func charFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122213:13: */ var z uintptr var zOut uintptr var i int32 @@ -103548,7 +103567,7 @@ func charFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sql // The hex() function. Interpret the argument as a blob. Return // a hexadecimal rendering as text. -func hexFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122241:13: */ +func hexFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122254:13: */ var i int32 var n int32 var pBlob uintptr @@ -103586,7 +103605,7 @@ func hexFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqli } // The zeroblob(N) function returns a zero-filled blob of size N bytes. -func zeroblobFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122269:13: */ +func zeroblobFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122282:13: */ var n I64 var rc int32 @@ -103605,7 +103624,7 @@ func zeroblobFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* // them A, B, and C. The result is also a string which is derived // from A by replacing every occurrence of B with C. The match // must be exact. Collating sequences are not used. -func replaceFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122292:13: */ +func replaceFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122305:13: */ var zStr uintptr // The input string A var zPattern uintptr // The pattern string B var zRep uintptr // The replacement string C @@ -103694,7 +103713,7 @@ func replaceFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* // Implementation of the TRIM(), LTRIM(), and RTRIM() functions. // The userdata is 0x1 for left trim, 0x2 for right trim, 0x3 for both. -func trimFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122385:13: */ +func trimFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122398:13: */ var zIn uintptr // Input string var zCharSet uintptr // Set of characters to trim var nIn uint32 // Number of bytes in input @@ -103797,8 +103816,8 @@ func trimFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sql Xsqlite3_result_text(tls, context, zIn, int32(nIn), libc.UintptrFromInt32(-1)) } -var lenOne = [1]uint32{uint32(1)} /* sqlite3.c:122407:27 */ -var azOne = [1]uintptr{uintptr(ts + 10805 /* " " */)} /* sqlite3.c:122408:26 */ +var lenOne = [1]uint32{uint32(1)} /* sqlite3.c:122420:27 */ +var azOne = [1]uintptr{uintptr(ts + 10805 /* " " */)} /* sqlite3.c:122421:26 */ // IMP: R-25361-16150 This function is omitted from SQLite by default. It // is only available if the SQLITE_SOUNDEX compile-time option is used @@ -103807,7 +103826,7 @@ var azOne = [1]uintptr{uintptr(ts + 10805 /* " " */)} /* sqlite3.c:122408:26 */ // // IMP: R-59782-00072 The soundex(X) function returns a string that is the // soundex encoding of the string X. -func soundexFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122498:13: */ +func soundexFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122511:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -103858,10 +103877,10 @@ var iCode = [128]uint8{ uint8(1), uint8(2), uint8(6), uint8(2), uint8(3), uint8(0), uint8(1), uint8(0), uint8(2), uint8(0), uint8(2), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(1), uint8(2), uint8(3), uint8(0), uint8(1), uint8(2), uint8(0), uint8(0), uint8(2), uint8(2), uint8(4), uint8(5), uint8(5), uint8(0), uint8(1), uint8(2), uint8(6), uint8(2), uint8(3), uint8(0), uint8(1), uint8(0), uint8(2), uint8(0), uint8(2), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), -} /* sqlite3.c:122506:30 */ +} /* sqlite3.c:122519:30 */ // A function that loads a shared-library extension then returns NULL. -func loadExt(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122551:13: */ +func loadExt(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122564:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -103897,11 +103916,11 @@ type SumCtx1 = struct { Foverflow U8 Fapprox U8 F__ccgo_pad1 [6]byte -} /* sqlite3.c:122582:9 */ +} /* sqlite3.c:122595:9 */ // An instance of the following structure holds the context of a // sum() or avg() aggregate computation. -type SumCtx = SumCtx1 /* sqlite3.c:122582:23 */ +type SumCtx = SumCtx1 /* sqlite3.c:122595:23 */ // Routines used to compute the sum, average, and total. // @@ -103911,7 +103930,7 @@ type SumCtx = SumCtx1 /* sqlite3.c:122582:23 */ // SUM might return an integer if it never encounters a floating point // value. TOTAL never fails, but SUM might through an exception if // it overflows an integer. -func sumStep(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122601:13: */ +func sumStep(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122614:13: */ var p uintptr var type1 int32 @@ -103933,7 +103952,7 @@ func sumStep(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqli } } -func sumInverse(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122623:13: */ +func sumInverse(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122636:13: */ var p uintptr var type1 int32 @@ -103956,7 +103975,7 @@ func sumInverse(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* s } } -func sumFinalize(tls *libc.TLS, context uintptr) { /* sqlite3.c:122648:13: */ +func sumFinalize(tls *libc.TLS, context uintptr) { /* sqlite3.c:122661:13: */ var p uintptr p = Xsqlite3_aggregate_context(tls, context, 0) if p != 0 && (*SumCtx)(unsafe.Pointer(p)).Fcnt > int64(0) { @@ -103970,7 +103989,7 @@ func sumFinalize(tls *libc.TLS, context uintptr) { /* sqlite3.c:122648:13: */ } } -func avgFinalize(tls *libc.TLS, context uintptr) { /* sqlite3.c:122661:13: */ +func avgFinalize(tls *libc.TLS, context uintptr) { /* sqlite3.c:122674:13: */ var p uintptr p = Xsqlite3_aggregate_context(tls, context, 0) if p != 0 && (*SumCtx)(unsafe.Pointer(p)).Fcnt > int64(0) { @@ -103978,7 +103997,7 @@ func avgFinalize(tls *libc.TLS, context uintptr) { /* sqlite3.c:122661:13: */ } } -func totalFinalize(tls *libc.TLS, context uintptr) { /* sqlite3.c:122668:13: */ +func totalFinalize(tls *libc.TLS, context uintptr) { /* sqlite3.c:122681:13: */ var p uintptr p = Xsqlite3_aggregate_context(tls, context, 0) // (double)0 In case of SQLITE_OMIT_FLOATING_POINT... @@ -103992,14 +104011,14 @@ func totalFinalize(tls *libc.TLS, context uintptr) { /* sqlite3.c:122668:13: */ // The following structure keeps track of state information for the // count() aggregate function. -type CountCtx1 = struct{ Fn I64 } /* sqlite3.c:122679:9 */ +type CountCtx1 = struct{ Fn I64 } /* sqlite3.c:122692:9 */ // The following structure keeps track of state information for the // count() aggregate function. -type CountCtx = CountCtx1 /* sqlite3.c:122679:25 */ +type CountCtx = CountCtx1 /* sqlite3.c:122692:25 */ // Routines to implement the count() aggregate function. -func countStep(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122690:13: */ +func countStep(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122703:13: */ var p uintptr p = Xsqlite3_aggregate_context(tls, context, int32(unsafe.Sizeof(CountCtx{}))) if (argc == 0 || SQLITE_NULL != Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(argv)))) && p != 0 { @@ -104013,7 +104032,7 @@ func countStep(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sq } -func countFinalize(tls *libc.TLS, context uintptr) { /* sqlite3.c:122706:13: */ +func countFinalize(tls *libc.TLS, context uintptr) { /* sqlite3.c:122719:13: */ var p uintptr p = Xsqlite3_aggregate_context(tls, context, 0) Xsqlite3_result_int64(tls, context, func() int64 { @@ -104024,7 +104043,7 @@ func countFinalize(tls *libc.TLS, context uintptr) { /* sqlite3.c:122706:13: */ }()) } -func countInverse(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:122712:13: */ +func countInverse(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:122725:13: */ var p uintptr p = Xsqlite3_aggregate_context(tls, ctx, int32(unsafe.Sizeof(CountCtx{}))) // p is always non-NULL since countStep() will have been called first @@ -104034,7 +104053,7 @@ func countInverse(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sql } // Routines to implement min() and max() aggregate functions. -func minmaxStep(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { /* sqlite3.c:122730:13: */ +func minmaxStep(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { /* sqlite3.c:122743:13: */ var pArg uintptr = *(*uintptr)(unsafe.Pointer(argv)) var pBest uintptr _ = NotUsed @@ -104072,7 +104091,7 @@ func minmaxStep(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { / } } -func minMaxValueFinalize(tls *libc.TLS, context uintptr, bValue int32) { /* sqlite3.c:122768:13: */ +func minMaxValueFinalize(tls *libc.TLS, context uintptr, bValue int32) { /* sqlite3.c:122781:13: */ var pRes uintptr pRes = Xsqlite3_aggregate_context(tls, context, 0) if pRes != 0 { @@ -104085,11 +104104,11 @@ func minMaxValueFinalize(tls *libc.TLS, context uintptr, bValue int32) { /* sqli } } -func minMaxValue(tls *libc.TLS, context uintptr) { /* sqlite3.c:122779:13: */ +func minMaxValue(tls *libc.TLS, context uintptr) { /* sqlite3.c:122792:13: */ minMaxValueFinalize(tls, context, 1) } -func minMaxFinalize(tls *libc.TLS, context uintptr) { /* sqlite3.c:122785:13: */ +func minMaxFinalize(tls *libc.TLS, context uintptr) { /* sqlite3.c:122798:13: */ minMaxValueFinalize(tls, context, 0) } @@ -104105,9 +104124,9 @@ type GroupConcatCtx = struct { FnAccum int32 FnFirstSepLength int32 FpnSepLengths uintptr -} /* sqlite3.c:122810:3 */ +} /* sqlite3.c:122823:3 */ -func groupConcatStep(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122812:13: */ +func groupConcatStep(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122825:13: */ var zVal uintptr var pGCC uintptr var zSep uintptr @@ -104172,7 +104191,7 @@ func groupConcatStep(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { } } -func groupConcatInverse(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122883:13: */ +func groupConcatInverse(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122896:13: */ var pGCC uintptr _ = argc // Suppress unused parameter warning @@ -104214,7 +104233,7 @@ func groupConcatInverse(tls *libc.TLS, context uintptr, argc int32, argv uintptr } } -func groupConcatFinalize(tls *libc.TLS, context uintptr) { /* sqlite3.c:122929:13: */ +func groupConcatFinalize(tls *libc.TLS, context uintptr) { /* sqlite3.c:122942:13: */ var pGCC uintptr = Xsqlite3_aggregate_context(tls, context, 0) if pGCC != 0 { Xsqlite3ResultStrAccum(tls, context, pGCC) @@ -104222,7 +104241,7 @@ func groupConcatFinalize(tls *libc.TLS, context uintptr) { /* sqlite3.c:122929:1 } } -func groupConcatValue(tls *libc.TLS, context uintptr) { /* sqlite3.c:122940:13: */ +func groupConcatValue(tls *libc.TLS, context uintptr) { /* sqlite3.c:122953:13: */ var pGCC uintptr = Xsqlite3_aggregate_context(tls, context, 0) if pGCC != 0 { var pAccum uintptr = pGCC @@ -104240,7 +104259,7 @@ func groupConcatValue(tls *libc.TLS, context uintptr) { /* sqlite3.c:122940:13: // This routine does per-connection function registration. Most // of the built-in functions above are part of the global function set. // This routine only deals with those that are not global. -func Xsqlite3RegisterPerConnectionBuiltinFunctions(tls *libc.TLS, db uintptr) { /* sqlite3.c:122964:21: */ +func Xsqlite3RegisterPerConnectionBuiltinFunctions(tls *libc.TLS, db uintptr) { /* sqlite3.c:122977:21: */ var rc int32 = Xsqlite3_overload_function(tls, db, ts+14865, 2) if rc == SQLITE_NOMEM { @@ -104251,7 +104270,7 @@ func Xsqlite3RegisterPerConnectionBuiltinFunctions(tls *libc.TLS, db uintptr) { // Re-register the built-in LIKE functions. The caseSensitive // parameter determines whether or not the LIKE operator is case // sensitive. -func Xsqlite3RegisterLikeFunctions(tls *libc.TLS, db uintptr, caseSensitive int32) { /* sqlite3.c:122977:21: */ +func Xsqlite3RegisterLikeFunctions(tls *libc.TLS, db uintptr, caseSensitive int32) { /* sqlite3.c:122990:21: */ var pInfo uintptr var flags int32 if caseSensitive != 0 { @@ -104286,7 +104305,7 @@ func Xsqlite3RegisterLikeFunctions(tls *libc.TLS, db uintptr, caseSensitive int3 // the function (default for LIKE). If the function makes the distinction // between uppercase and lowercase (as does GLOB) then *pIsNocase is set to // false. -func Xsqlite3IsLikeFunction(tls *libc.TLS, db uintptr, pExpr uintptr, pIsNocase uintptr, aWc uintptr) int32 { /* sqlite3.c:123010:20: */ +func Xsqlite3IsLikeFunction(tls *libc.TLS, db uintptr, pExpr uintptr, pIsNocase uintptr, aWc uintptr) int32 { /* sqlite3.c:123023:20: */ var pDef uintptr var nExpr int32 @@ -104342,7 +104361,7 @@ func Xsqlite3IsLikeFunction(tls *libc.TLS, db uintptr, pExpr uintptr, pIsNocase // // The sqlite3_user_data() pointer is a pointer to the libm implementation // of the underlying C function. -func ceilingFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:123081:13: */ +func ceilingFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:123094:13: */ switch Xsqlite3_value_numeric_type(tls, *(*uintptr)(unsafe.Pointer(argv))) { case SQLITE_INTEGER: @@ -104371,11 +104390,11 @@ func ceilingFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* // On some systems, ceil() and floor() are intrinsic function. You are // unable to take a pointer to these functions. Hence, we here wrap them // in our own actual functions. -func xCeil(tls *libc.TLS, x float64) float64 { /* sqlite3.c:123108:15: */ +func xCeil(tls *libc.TLS, x float64) float64 { /* sqlite3.c:123121:15: */ return libc.Xceil(tls, x) } -func xFloor(tls *libc.TLS, x float64) float64 { /* sqlite3.c:123109:15: */ +func xFloor(tls *libc.TLS, x float64) float64 { /* sqlite3.c:123122:15: */ return libc.Xfloor(tls, x) } @@ -104385,7 +104404,7 @@ func xFloor(tls *libc.TLS, x float64) float64 { /* sqlite3.c:123109:15: */ // log(X) - log X base 10 // log10(X) - log X base 10 // log(B,X) - log X base B -func logFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:123119:13: */ +func logFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:123132:13: */ var x float64 var b float64 var ans float64 @@ -104442,18 +104461,18 @@ func logFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqli } // Functions to converts degrees to radians and radians to degrees. -func degToRad(tls *libc.TLS, x float64) float64 { /* sqlite3.c:123169:15: */ +func degToRad(tls *libc.TLS, x float64) float64 { /* sqlite3.c:123182:15: */ return x * (float64(3.14159265358979323846) / 180.0) } -func radToDeg(tls *libc.TLS, x float64) float64 { /* sqlite3.c:123170:15: */ +func radToDeg(tls *libc.TLS, x float64) float64 { /* sqlite3.c:123183:15: */ return x * (float64(180.0) / 3.14159265358979323846) } // Implementation of 1-argument SQL math functions: // // exp(X) - Compute e to the X-th power -func math1Func(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:123177:13: */ +func math1Func(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:123190:13: */ var type0 int32 var v0 float64 var ans float64 @@ -104474,7 +104493,7 @@ func math1Func(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sq // Implementation of 2-argument SQL math functions: // // power(X,Y) - Compute X to the Y-th power -func math2Func(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:123199:13: */ +func math2Func(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:123212:13: */ var type0 int32 var type1 int32 var v0 float64 @@ -104500,13 +104519,13 @@ func math2Func(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sq } // Implementation of 0-argument pi() function. -func piFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:123222:13: */ +func piFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:123235:13: */ Xsqlite3_result_double(tls, context, 3.14159265358979323846) } // Implementation of sign(X) function. -func signFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:123236:13: */ +func signFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:123249:13: */ var type0 int32 var x float64 _ = argc @@ -104534,7 +104553,7 @@ func signFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sql // a consequence of calling sqlite3_initialize()). // // After this routine runs -func Xsqlite3RegisterBuiltinFunctions(tls *libc.TLS) { /* sqlite3.c:123258:21: */ +func Xsqlite3RegisterBuiltinFunctions(tls *libc.TLS) { /* sqlite3.c:123271:21: */ Xsqlite3AlterFunctions(tls) Xsqlite3WindowFunctions(tls) Xsqlite3RegisterDateTimeFunctions(tls) @@ -104647,7 +104666,7 @@ var aBuiltinFunc = [101]FuncDef{ {FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_FUNC_CONSTANT | SQLITE_UTF8 | 0*SQLITE_FUNC_NEEDCOLL), FxSFunc: 0, FzName: ts + 15507}, {FnArg: int8(1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_FUNC_CONSTANT | SQLITE_UTF8 | 0*SQLITE_FUNC_NEEDCOLL), FxSFunc: 0, FzName: ts + 15510}, {FnArg: int8(-1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_UTF8 | SQLITE_FUNC_INLINE | SQLITE_FUNC_CONSTANT | 0), FxSFunc: 0, FzName: ts + 15350}, - {FnArg: int8(3), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_UTF8 | SQLITE_FUNC_INLINE | SQLITE_FUNC_CONSTANT | 0), FpUserData: uintptr(int64(INLINEFUNC_iif)), FxSFunc: 0, FzName: ts + 15515}} /* sqlite3.c:123269:18 */ + {FnArg: int8(3), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_UTF8 | SQLITE_FUNC_INLINE | SQLITE_FUNC_CONSTANT | 0), FpUserData: uintptr(int64(INLINEFUNC_iif)), FxSFunc: 0, FzName: ts + 15515}} /* sqlite3.c:123282:18 */ //************* End of func.c *********************************************** //************* Begin file fkey.c ******************************************* @@ -104822,7 +104841,7 @@ var aBuiltinFunc = [101]FuncDef{ // then non-zero is returned, and a "foreign key mismatch" error loaded // into pParse. If an OOM error occurs, non-zero is returned and the // pParse->db->mallocFailed flag is set. -func Xsqlite3FkLocateIndex(tls *libc.TLS, pParse uintptr, pParent uintptr, pFKey uintptr, ppIdx uintptr, paiCol uintptr) int32 { /* sqlite3.c:123622:20: */ +func Xsqlite3FkLocateIndex(tls *libc.TLS, pParse uintptr, pParent uintptr, pFKey uintptr, ppIdx uintptr, paiCol uintptr) int32 { /* sqlite3.c:123635:20: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -104968,7 +104987,7 @@ func Xsqlite3FkLocateIndex(tls *libc.TLS, pParse uintptr, pParent uintptr, pFKey // // These operations are identified in the comment at the top of this file // (fkey.c) as "I.1" and "D.1". -func fkLookupParent(tls *libc.TLS, pParse uintptr, iDb int32, pTab uintptr, pIdx uintptr, pFKey uintptr, aiCol uintptr, regData int32, nIncr int32, isIgnore int32) { /* sqlite3.c:123759:13: */ +func fkLookupParent(tls *libc.TLS, pParse uintptr, iDb int32, pTab uintptr, pIdx uintptr, pFKey uintptr, aiCol uintptr, regData int32, nIncr int32, isIgnore int32) { /* sqlite3.c:123772:13: */ var i int32 // Iterator variable var v uintptr = Xsqlite3GetVdbe(tls, pParse) // Vdbe to add code to var iCur int32 = (*Parse)(unsafe.Pointer(pParse)).FnTab - 1 // Cursor number to use @@ -105098,7 +105117,7 @@ func fkLookupParent(tls *libc.TLS, pParse uintptr, iDb int32, pTab uintptr, pIdx // regBase is the first of an array of register that contains the data // for pTab. regBase itself holds the rowid. regBase+1 holds the first // column. regBase+2 holds the second column, and so forth. -func exprTableRegister(tls *libc.TLS, pParse uintptr, pTab uintptr, regBase int32, iCol I16) uintptr { /* sqlite3.c:123912:13: */ +func exprTableRegister(tls *libc.TLS, pParse uintptr, pTab uintptr, regBase int32, iCol I16) uintptr { /* sqlite3.c:123925:13: */ var pExpr uintptr var pCol uintptr var zColl uintptr @@ -105125,7 +105144,7 @@ func exprTableRegister(tls *libc.TLS, pParse uintptr, pTab uintptr, regBase int3 // Return an Expr object that refers to column iCol of table pTab which // has cursor iCur. -func exprTableColumn(tls *libc.TLS, db uintptr, pTab uintptr, iCursor int32, iCol I16) uintptr { /* sqlite3.c:123944:13: */ +func exprTableColumn(tls *libc.TLS, db uintptr, pTab uintptr, iCursor int32, iCol I16) uintptr { /* sqlite3.c:123957:13: */ var pExpr uintptr = Xsqlite3Expr(tls, db, TK_COLUMN, uintptr(0)) if pExpr != 0 { @@ -105166,7 +105185,7 @@ func exprTableColumn(tls *libc.TLS, db uintptr, pTab uintptr, iCursor int32, iCo // // These operations are identified in the comment at the top of this file // (fkey.c) as "I.2" and "D.2". -func fkScanChildren(tls *libc.TLS, pParse uintptr, pSrc uintptr, pTab uintptr, pIdx uintptr, pFKey uintptr, aiCol uintptr, regData int32, nIncr int32) { /* sqlite3.c:123992:13: */ +func fkScanChildren(tls *libc.TLS, pParse uintptr, pSrc uintptr, pTab uintptr, pIdx uintptr, pFKey uintptr, aiCol uintptr, regData int32, nIncr int32) { /* sqlite3.c:124005:13: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -105290,7 +105309,7 @@ func fkScanChildren(tls *libc.TLS, pParse uintptr, pSrc uintptr, pTab uintptr, p // "t2". Calling this function with "t2" as the argument would return a // NULL pointer (as there are no FK constraints for which t2 is the parent // table). -func Xsqlite3FkReferences(tls *libc.TLS, pTab uintptr) uintptr { /* sqlite3.c:124121:21: */ +func Xsqlite3FkReferences(tls *libc.TLS, pTab uintptr) uintptr { /* sqlite3.c:124134:21: */ return Xsqlite3HashFind(tls, (*Table)(unsafe.Pointer(pTab)).FpSchema+80, (*Table)(unsafe.Pointer(pTab)).FzName) } @@ -105300,7 +105319,7 @@ func Xsqlite3FkReferences(tls *libc.TLS, pTab uintptr) uintptr { /* sqlite3.c:12 // // The Trigger structure or any of its sub-components may be allocated from // the lookaside buffer belonging to database handle dbMem. -func fkTriggerDelete(tls *libc.TLS, dbMem uintptr, p uintptr) { /* sqlite3.c:124133:13: */ +func fkTriggerDelete(tls *libc.TLS, dbMem uintptr, p uintptr) { /* sqlite3.c:124146:13: */ if p != 0 { var pStep uintptr = (*Trigger)(unsafe.Pointer(p)).Fstep_list Xsqlite3ExprDelete(tls, dbMem, (*TriggerStep)(unsafe.Pointer(pStep)).FpWhere) @@ -105314,7 +105333,7 @@ func fkTriggerDelete(tls *libc.TLS, dbMem uintptr, p uintptr) { /* sqlite3.c:124 // Clear the apTrigger[] cache of CASCADE triggers for all foreign keys // in a particular database. This needs to happen when the schema // changes. -func Xsqlite3FkClearTriggerCache(tls *libc.TLS, db uintptr, iDb int32) { /* sqlite3.c:124149:21: */ +func Xsqlite3FkClearTriggerCache(tls *libc.TLS, db uintptr, iDb int32) { /* sqlite3.c:124162:21: */ var k uintptr var pHash uintptr = (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(iDb)*32)).FpSchema + 8 for k = (*Hash)(unsafe.Pointer(pHash)).Ffirst; k != 0; k = (*HashElem)(unsafe.Pointer(k)).Fnext { @@ -105347,7 +105366,7 @@ func Xsqlite3FkClearTriggerCache(tls *libc.TLS, db uintptr, iDb int32) { /* sqli // then the equivalent of "DELETE FROM " is executed before dropping // the table from the database. Triggers are disabled while running this // DELETE, but foreign key actions are not. -func Xsqlite3FkDropTable(tls *libc.TLS, pParse uintptr, pName uintptr, pTab uintptr) { /* sqlite3.c:124180:21: */ +func Xsqlite3FkDropTable(tls *libc.TLS, pParse uintptr, pName uintptr, pTab uintptr) { /* sqlite3.c:124193:21: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb if (*Sqlite3)(unsafe.Pointer(db)).Fflags&uint64(SQLITE_ForeignKeys) != 0 && int32((*Table)(unsafe.Pointer(pTab)).FeTabType) == TABTYP_NORM { var iSkip int32 = 0 @@ -105410,7 +105429,7 @@ func Xsqlite3FkDropTable(tls *libc.TLS, pParse uintptr, pName uintptr, pTab uint // // This function returns true if any of the columns that are part of the // child key for FK constraint *p are modified. -func fkChildIsModified(tls *libc.TLS, pTab uintptr, p uintptr, aChange uintptr, bChngRowid int32) int32 { /* sqlite3.c:124243:12: */ +func fkChildIsModified(tls *libc.TLS, pTab uintptr, p uintptr, aChange uintptr, bChngRowid int32) int32 { /* sqlite3.c:124256:12: */ var i int32 for i = 0; i < (*FKey)(unsafe.Pointer(p)).FnCol; i++ { var iChildKey int32 = (*sColMap)(unsafe.Pointer(p + 64 + uintptr(i)*16)).FiFrom @@ -105434,7 +105453,7 @@ func fkChildIsModified(tls *libc.TLS, pTab uintptr, p uintptr, aChange uintptr, // // This function returns true if any of the columns that are part of the // parent key for FK constraint *p are modified. -func fkParentIsModified(tls *libc.TLS, pTab uintptr, p uintptr, aChange uintptr, bChngRowid int32) int32 { /* sqlite3.c:124270:12: */ +func fkParentIsModified(tls *libc.TLS, pTab uintptr, p uintptr, aChange uintptr, bChngRowid int32) int32 { /* sqlite3.c:124283:12: */ var i int32 for i = 0; i < (*FKey)(unsafe.Pointer(p)).FnCol; i++ { var zKey uintptr = (*sColMap)(unsafe.Pointer(p + 64 + uintptr(i)*16)).FzCol @@ -105458,7 +105477,7 @@ func fkParentIsModified(tls *libc.TLS, pTab uintptr, p uintptr, aChange uintptr, // Return true if the parser passed as the first argument is being // used to code a trigger that is really a "SET NULL" action belonging // to trigger pFKey. -func isSetNullAction(tls *libc.TLS, pParse uintptr, pFKey uintptr) int32 { /* sqlite3.c:124299:12: */ +func isSetNullAction(tls *libc.TLS, pParse uintptr, pFKey uintptr) int32 { /* sqlite3.c:124312:12: */ var pTop uintptr = func() uintptr { if (*Parse)(unsafe.Pointer(pParse)).FpToplevel != 0 { return (*Parse)(unsafe.Pointer(pParse)).FpToplevel @@ -105493,7 +105512,7 @@ func isSetNullAction(tls *libc.TLS, pParse uintptr, pFKey uintptr) int32 { /* sq // the original record is deleted from the table using the calling convention // described for DELETE. Then again after the original record is deleted // but before the new record is inserted using the INSERT convention. -func Xsqlite3FkCheck(tls *libc.TLS, pParse uintptr, pTab uintptr, regOld int32, regNew int32, aChange uintptr, bChngRowid int32) { /* sqlite3.c:124332:21: */ +func Xsqlite3FkCheck(tls *libc.TLS, pParse uintptr, pTab uintptr, regOld int32, regNew int32, aChange uintptr, bChngRowid int32) { /* sqlite3.c:124345:21: */ bp := tls.Alloc(40) defer tls.Free(40) @@ -105695,7 +105714,7 @@ func Xsqlite3FkCheck(tls *libc.TLS, pParse uintptr, pTab uintptr, regOld int32, // This function is called before generating code to update or delete a // row contained in table pTab. -func Xsqlite3FkOldmask(tls *libc.TLS, pParse uintptr, pTab uintptr) U32 { /* sqlite3.c:124535:20: */ +func Xsqlite3FkOldmask(tls *libc.TLS, pParse uintptr, pTab uintptr) U32 { /* sqlite3.c:124548:20: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -105754,7 +105773,7 @@ func Xsqlite3FkOldmask(tls *libc.TLS, pParse uintptr, pTab uintptr) U32 { /* sql // not "NO ACTION" (i.e. is CASCADE, SET DEFAULT or SET NULL). // // Or, assuming some other foreign key processing is required, 1. -func Xsqlite3FkRequired(tls *libc.TLS, pParse uintptr, pTab uintptr, aChange uintptr, chngRowid int32) int32 { /* sqlite3.c:124585:20: */ +func Xsqlite3FkRequired(tls *libc.TLS, pParse uintptr, pTab uintptr, aChange uintptr, chngRowid int32) int32 { /* sqlite3.c:124598:20: */ var eRet int32 = 1 // Value to return if bHaveFK is true var bHaveFK int32 = 0 // If FK processing is required if (*Sqlite3)(unsafe.Pointer((*Parse)(unsafe.Pointer(pParse)).Fdb)).Fflags&uint64(SQLITE_ForeignKeys) != 0 && int32((*Table)(unsafe.Pointer(pTab)).FeTabType) == TABTYP_NORM { @@ -105822,7 +105841,7 @@ func Xsqlite3FkRequired(tls *libc.TLS, pParse uintptr, pTab uintptr, aChange uin // The returned pointer is cached as part of the foreign key object. It // is eventually freed along with the rest of the foreign key object by // sqlite3FkDelete(). -func fkActionTrigger(tls *libc.TLS, pParse uintptr, pTab uintptr, pFKey uintptr, pChanges uintptr) uintptr { /* sqlite3.c:124653:16: */ +func fkActionTrigger(tls *libc.TLS, pParse uintptr, pTab uintptr, pFKey uintptr, pChanges uintptr) uintptr { /* sqlite3.c:124666:16: */ bp := tls.Alloc(96) defer tls.Free(96) @@ -106024,7 +106043,7 @@ func fkActionTrigger(tls *libc.TLS, pParse uintptr, pTab uintptr, pFKey uintptr, // This function is called when deleting or updating a row to implement // any required CASCADE, SET NULL or SET DEFAULT actions. -func Xsqlite3FkActions(tls *libc.TLS, pParse uintptr, pTab uintptr, pChanges uintptr, regOld int32, aChange uintptr, bChngRowid int32) { /* sqlite3.c:124845:21: */ +func Xsqlite3FkActions(tls *libc.TLS, pParse uintptr, pTab uintptr, pChanges uintptr, regOld int32, aChange uintptr, bChngRowid int32) { /* sqlite3.c:124858:21: */ // If foreign-key support is enabled, iterate through all FKs that // refer to table pTab. If there is an action associated with the FK // for this operation (either update or delete), invoke the associated @@ -106045,7 +106064,7 @@ func Xsqlite3FkActions(tls *libc.TLS, pParse uintptr, pTab uintptr, pChanges uin // Free all memory associated with foreign key definitions attached to // table pTab. Remove the deleted foreign keys from the Schema.fkeyHash // hash table. -func Xsqlite3FkDelete(tls *libc.TLS, db uintptr, pTab uintptr) { /* sqlite3.c:124877:21: */ +func Xsqlite3FkDelete(tls *libc.TLS, db uintptr, pTab uintptr) { /* sqlite3.c:124890:21: */ var pFKey uintptr // Iterator variable var pNext uintptr // Copy of pFKey->pNextFrom @@ -106105,7 +106124,7 @@ func Xsqlite3FkDelete(tls *libc.TLS, db uintptr, pTab uintptr) { /* sqlite3.c:12 // // If pTab is a WITHOUT ROWID table, then it is the PRIMARY KEY index // for that table that is actually opened. -func Xsqlite3OpenTable(tls *libc.TLS, pParse uintptr, iCur int32, iDb int32, pTab uintptr, opcode int32) { /* sqlite3.c:124943:21: */ +func Xsqlite3OpenTable(tls *libc.TLS, pParse uintptr, iCur int32, iDb int32, pTab uintptr, opcode int32) { /* sqlite3.c:124956:21: */ var v uintptr v = (*Parse)(unsafe.Pointer(pParse)).FpVdbe @@ -106147,7 +106166,7 @@ func Xsqlite3OpenTable(tls *libc.TLS, pParse uintptr, iCur int32, iDb int32, pTa // Memory for the buffer containing the column index affinity string // is managed along with the rest of the Index structure. It will be // released when sqlite3DeleteIndex() is called. -func Xsqlite3IndexAffinityStr(tls *libc.TLS, db uintptr, pIdx uintptr) uintptr { /* sqlite3.c:124990:27: */ +func Xsqlite3IndexAffinityStr(tls *libc.TLS, db uintptr, pIdx uintptr) uintptr { /* sqlite3.c:125003:27: */ if !(int32((*Index)(unsafe.Pointer(pIdx)).FzColAff) != 0) { // The first time a column affinity string for a particular index is // required, it is allocated and populated here. It is then stored as @@ -106226,7 +106245,7 @@ func Xsqlite3IndexAffinityStr(tls *libc.TLS, db uintptr, pIdx uintptr) uintptr { // register set as the OP_MakeRecord. If iReg>0 then register iReg is // the first of a series of registers that will form the new record. // Apply the type checking to that array of registers. -func Xsqlite3TableAffinity(tls *libc.TLS, v uintptr, pTab uintptr, iReg int32) { /* sqlite3.c:125069:21: */ +func Xsqlite3TableAffinity(tls *libc.TLS, v uintptr, pTab uintptr, iReg int32) { /* sqlite3.c:125082:21: */ var i int32 var j int32 var zColAff uintptr @@ -106284,7 +106303,7 @@ func Xsqlite3TableAffinity(tls *libc.TLS, v uintptr, pTab uintptr, iReg int32) { // have been opened at any point in the VDBE program. This is used to see if // a statement of the form "INSERT INTO SELECT ..." can // run without using a temporary table for the results of the SELECT. -func readsTable(tls *libc.TLS, p uintptr, iDb int32, pTab uintptr) int32 { /* sqlite3.c:125130:12: */ +func readsTable(tls *libc.TLS, p uintptr, iDb int32, pTab uintptr) int32 { /* sqlite3.c:125143:12: */ var v uintptr = Xsqlite3GetVdbe(tls, p) var i int32 var iEnd int32 = Xsqlite3VdbeCurrentAddr(tls, v) @@ -106320,7 +106339,7 @@ func readsTable(tls *libc.TLS, p uintptr, iDb int32, pTab uintptr) int32 { /* sq // This walker callback will compute the union of colFlags flags for all // referenced columns in a CHECK constraint or generated column expression. -func exprColumnFlagUnion(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:125167:12: */ +func exprColumnFlagUnion(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:125180:12: */ if int32((*Expr)(unsafe.Pointer(pExpr)).Fop) == TK_COLUMN && int32((*Expr)(unsafe.Pointer(pExpr)).FiColumn) >= 0 { *(*U16)(unsafe.Pointer(pWalker + 36)) |= U16(int32((*Column)(unsafe.Pointer((*Table1)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pWalker + 40)))).FaCol + uintptr((*Expr)(unsafe.Pointer(pExpr)).FiColumn)*24)).FcolFlags)) @@ -106333,7 +106352,7 @@ func exprColumnFlagUnion(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { // or VIRTUAL columns have not yet been initialized. This routine goes // back and computes the values for those columns based on the previously // computed normal columns. -func Xsqlite3ComputeGeneratedColumns(tls *libc.TLS, pParse uintptr, iRegStore int32, pTab uintptr) { /* sqlite3.c:125183:21: */ +func Xsqlite3ComputeGeneratedColumns(tls *libc.TLS, pParse uintptr, iRegStore int32, pTab uintptr) { /* sqlite3.c:125196:21: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -106446,7 +106465,7 @@ func Xsqlite3ComputeGeneratedColumns(tls *libc.TLS, pParse uintptr, iRegStore in // // The 2nd register is the one that is returned. That is all the // insert routine needs to know about. -func autoIncBegin(tls *libc.TLS, pParse uintptr, iDb int32, pTab uintptr) int32 { /* sqlite3.c:125307:12: */ +func autoIncBegin(tls *libc.TLS, pParse uintptr, iDb int32, pTab uintptr) int32 { /* sqlite3.c:125320:12: */ var memId int32 = 0 // Register holding maximum rowid if (*Table)(unsafe.Pointer(pTab)).FtabFlags&U32(TF_Autoincrement) != U32(0) && @@ -106500,7 +106519,7 @@ func autoIncBegin(tls *libc.TLS, pParse uintptr, iDb int32, pTab uintptr) int32 // This routine generates code that will initialize all of the // register used by the autoincrement tracker. -func Xsqlite3AutoincrementBegin(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:125358:21: */ +func Xsqlite3AutoincrementBegin(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:125371:21: */ var p uintptr // Information about an AUTOINCREMENT var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb // The database connection var pDb uintptr // Database only autoinc table @@ -106540,7 +106559,7 @@ func Xsqlite3AutoincrementBegin(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:12 } } -var iLn1 int32 = 0 /* sqlite3.c:125372:22 */ +var iLn1 int32 = 0 /* sqlite3.c:125385:22 */ var autoInc = [12]VdbeOpList{ /* 0 */ {Fopcode: U8(OP_Null)}, /* 1 */ {Fopcode: U8(OP_Rewind), Fp2: int8(10)}, @@ -106554,7 +106573,7 @@ var autoInc = [12]VdbeOpList{ /* 9 */ {Fopcode: U8(OP_Next), Fp2: int8(2)}, /* 10 */ {Fopcode: U8(OP_Integer)}, /* 11 */ {Fopcode: U8(OP_Close)}, -} /* sqlite3.c:125373:29 */ +} /* sqlite3.c:125386:29 */ // Update the maximum rowid for an autoincrement calculation. // @@ -106562,7 +106581,7 @@ var autoInc = [12]VdbeOpList{ // new rowid that is about to be inserted. If that new rowid is // larger than the maximum rowid in the memId memory cell, then the // memory cell is updated. -func autoIncStep(tls *libc.TLS, pParse uintptr, memId int32, regRowid int32) { /* sqlite3.c:125419:13: */ +func autoIncStep(tls *libc.TLS, pParse uintptr, memId int32, regRowid int32) { /* sqlite3.c:125432:13: */ if memId > 0 { Xsqlite3VdbeAddOp2(tls, (*Parse)(unsafe.Pointer(pParse)).FpVdbe, OP_MemMax, memId, regRowid) } @@ -106573,7 +106592,7 @@ func autoIncStep(tls *libc.TLS, pParse uintptr, memId int32, regRowid int32) { / // Every statement that might do an INSERT into an autoincrement // table (either directly or through triggers) needs to call this // routine just before the "exit" code. -func autoIncrementEnd(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:125432:29: */ +func autoIncrementEnd(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:125445:29: */ var p uintptr var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb @@ -106604,16 +106623,16 @@ func autoIncrementEnd(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:125432:29: * } } -var iLn2 int32 = 0 /* sqlite3.c:125439:22 */ +var iLn2 int32 = 0 /* sqlite3.c:125452:22 */ var autoIncEnd = [5]VdbeOpList{ /* 0 */ {Fopcode: U8(OP_NotNull), Fp2: int8(2)}, /* 1 */ {Fopcode: U8(OP_NewRowid)}, /* 2 */ {Fopcode: U8(OP_MakeRecord), Fp2: int8(2)}, /* 3 */ {Fopcode: U8(OP_Insert)}, /* 4 */ {Fopcode: U8(OP_Close)}, -} /* sqlite3.c:125440:29 */ +} /* sqlite3.c:125453:29 */ -func Xsqlite3AutoincrementEnd(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:125469:21: */ +func Xsqlite3AutoincrementEnd(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:125482:21: */ if (*Parse)(unsafe.Pointer(pParse)).FpAinc != 0 { autoIncrementEnd(tls, pParse) } @@ -106714,7 +106733,7 @@ func Xsqlite3AutoincrementEnd(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:1254 // transfer values form intermediate table into
// end loop // D: cleanup -func Xsqlite3Insert(tls *libc.TLS, pParse uintptr, pTabList uintptr, pSelect uintptr, pColumn uintptr, onError int32, pUpsert uintptr) { /* sqlite3.c:125588:21: */ +func Xsqlite3Insert(tls *libc.TLS, pParse uintptr, pTabList uintptr, pSelect uintptr, pColumn uintptr, onError int32, pUpsert uintptr) { /* sqlite3.c:125601:21: */ bp := tls.Alloc(188) defer tls.Free(188) @@ -107768,7 +107787,7 @@ insert_cleanup: // Set bit 0x01 of pWalker->eCode if pWalker->eCode to 0 and if this // expression node references any of the // columns that are being modifed by an UPDATE statement. -func checkConstraintExprNode(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:126347:12: */ +func checkConstraintExprNode(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:126360:12: */ if int32((*Expr)(unsafe.Pointer(pExpr)).Fop) == TK_COLUMN { if int32((*Expr)(unsafe.Pointer(pExpr)).FiColumn) >= 0 { @@ -107795,7 +107814,7 @@ func checkConstraintExprNode(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int3 // The operation of this routine is the same - return true if an only if // the expression uses one or more of columns identified by the second and // third arguments. -func Xsqlite3ExprReferencesUpdatedColumn(tls *libc.TLS, pExpr uintptr, aiChng uintptr, chngRowid int32) int32 { /* sqlite3.c:126376:20: */ +func Xsqlite3ExprReferencesUpdatedColumn(tls *libc.TLS, pExpr uintptr, aiChng uintptr, chngRowid int32) int32 { /* sqlite3.c:126389:20: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -107829,7 +107848,7 @@ type IndexListTerm1 = struct { Fp uintptr Fix int32 F__ccgo_pad1 [4]byte -} /* sqlite3.c:126409:9 */ +} /* sqlite3.c:126422:9 */ // The sqlite3GenerateConstraintChecks() routine usually wants to visit // the indexes of a table in the order provided in the Table->pIndex list. @@ -107840,7 +107859,7 @@ type IndexListTerm1 = struct { // The IndexIterator object is used to walk through all of the indexes // of a table in either Index.pNext order, or in some other order established // by an array of IndexListTerm objects. -type IndexListTerm = IndexListTerm1 /* sqlite3.c:126409:30 */ +type IndexListTerm = IndexListTerm1 /* sqlite3.c:126422:30 */ type IndexIterator1 = struct { FeType int32 Fi int32 @@ -107848,12 +107867,12 @@ type IndexIterator1 = struct { Flx struct{ FpIdx uintptr } F__ccgo_pad1 [8]byte } -} /* sqlite3.c:126410:9 */ +} /* sqlite3.c:126423:9 */ -type IndexIterator = IndexIterator1 /* sqlite3.c:126410:30 */ +type IndexIterator = IndexIterator1 /* sqlite3.c:126423:30 */ // Return the first index on the list -func indexIteratorFirst(tls *libc.TLS, pIter uintptr, pIx uintptr) uintptr { /* sqlite3.c:126434:14: */ +func indexIteratorFirst(tls *libc.TLS, pIter uintptr, pIx uintptr) uintptr { /* sqlite3.c:126447:14: */ if (*IndexIterator)(unsafe.Pointer(pIter)).FeType != 0 { *(*int32)(unsafe.Pointer(pIx)) = (*IndexListTerm)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pIter + 8 + 8 /* &.aIdx */)))).Fix @@ -107866,7 +107885,7 @@ func indexIteratorFirst(tls *libc.TLS, pIter uintptr, pIx uintptr) uintptr { /* } // Return the next index from the list. Return NULL when out of indexes -func indexIteratorNext(tls *libc.TLS, pIter uintptr, pIx uintptr) uintptr { /* sqlite3.c:126446:14: */ +func indexIteratorNext(tls *libc.TLS, pIter uintptr, pIx uintptr) uintptr { /* sqlite3.c:126459:14: */ if (*IndexIterator)(unsafe.Pointer(pIter)).FeType != 0 { var i int32 = libc.PreIncInt32(&(*IndexIterator)(unsafe.Pointer(pIter)).Fi, 1) if i >= *(*int32)(unsafe.Pointer(pIter + 8)) { @@ -107972,7 +107991,7 @@ func indexIteratorNext(tls *libc.TLS, pIter uintptr, pIx uintptr) uintptr { /* s // Or if overrideError==OE_Default, then the pParse->onError parameter // is used. Or if pParse->onError==OE_Default then the onError value // for the constraint is used. -func Xsqlite3GenerateConstraintChecks(tls *libc.TLS, pParse uintptr, pTab uintptr, aRegIdx uintptr, iDataCur int32, iIdxCur int32, regNewData int32, regOldData int32, pkChng U8, overrideError U8, ignoreDest int32, pbMayReplace uintptr, aiChng uintptr, pUpsert uintptr) { /* sqlite3.c:126553:21: */ +func Xsqlite3GenerateConstraintChecks(tls *libc.TLS, pParse uintptr, pTab uintptr, aRegIdx uintptr, iDataCur int32, iIdxCur int32, regNewData int32, regOldData int32, pkChng U8, overrideError U8, ignoreDest int32, pbMayReplace uintptr, aiChng uintptr, pUpsert uintptr) { /* sqlite3.c:126566:21: */ bp := tls.Alloc(72) defer tls.Free(72) @@ -108830,7 +108849,7 @@ func Xsqlite3GenerateConstraintChecks(tls *libc.TLS, pParse uintptr, pTab uintpt // number is iCur, and register regData contains the new record for the // PK index. This function adds code to invoke the pre-update hook, // if one is registered. -func codeWithoutRowidPreupdate(tls *libc.TLS, pParse uintptr, pTab uintptr, iCur int32, regData int32) { /* sqlite3.c:127411:13: */ +func codeWithoutRowidPreupdate(tls *libc.TLS, pParse uintptr, pTab uintptr, iCur int32, regData int32) { /* sqlite3.c:127424:13: */ var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe var r int32 = Xsqlite3GetTempReg(tls, pParse) @@ -108847,7 +108866,7 @@ func codeWithoutRowidPreupdate(tls *libc.TLS, pParse uintptr, pTab uintptr, iCur // // The arguments to this routine should be the same as the first six // arguments to sqlite3GenerateConstraintChecks. -func Xsqlite3CompleteInsertion(tls *libc.TLS, pParse uintptr, pTab uintptr, iDataCur int32, iIdxCur int32, regNewData int32, aRegIdx uintptr, update_flags int32, appendBias int32, useSeekResult int32) { /* sqlite3.c:127439:21: */ +func Xsqlite3CompleteInsertion(tls *libc.TLS, pParse uintptr, pTab uintptr, iDataCur int32, iIdxCur int32, regNewData int32, aRegIdx uintptr, update_flags int32, appendBias int32, useSeekResult int32) { /* sqlite3.c:127452:21: */ var v uintptr // Prepared statements under construction var pIdx uintptr // An index being inserted or updated var pik_flags U8 // flag values passed to the btree insert @@ -108950,7 +108969,7 @@ __3: // // If pTab is a virtual table, then this routine is a no-op and the // *piDataCur and *piIdxCur values are left uninitialized. -func Xsqlite3OpenTableAndIndices(tls *libc.TLS, pParse uintptr, pTab uintptr, op int32, p5 U8, iBase int32, aToOpen uintptr, piDataCur uintptr, piIdxCur uintptr) int32 { /* sqlite3.c:127527:20: */ +func Xsqlite3OpenTableAndIndices(tls *libc.TLS, pParse uintptr, pTab uintptr, op int32, p5 U8, iBase int32, aToOpen uintptr, piDataCur uintptr, piIdxCur uintptr) int32 { /* sqlite3.c:127540:20: */ var i int32 var iDb int32 var iDataCur int32 @@ -109028,7 +109047,7 @@ __3: // * The same onError processing (OE_Abort, OE_Ignore, etc) // * The same collating sequence on each column // * The index has the exact same WHERE clause -func xferCompatibleIndex(tls *libc.TLS, pDest uintptr, pSrc uintptr) int32 { /* sqlite3.c:127606:12: */ +func xferCompatibleIndex(tls *libc.TLS, pDest uintptr, pSrc uintptr) int32 { /* sqlite3.c:127619:12: */ var i int32 if int32((*Index)(unsafe.Pointer(pDest)).FnKeyCol) != int32((*Index)(unsafe.Pointer(pSrc)).FnKeyCol) || int32((*Index)(unsafe.Pointer(pDest)).FnColumn) != int32((*Index)(unsafe.Pointer(pSrc)).FnColumn) { @@ -109086,7 +109105,7 @@ func xferCompatibleIndex(tls *libc.TLS, pDest uintptr, pSrc uintptr) int32 { /* // is no chance that the xfer optimization can be applied. // // This optimization is particularly useful at making VACUUM run faster. -func xferOptimization(tls *libc.TLS, pParse uintptr, pDest uintptr, pSelect uintptr, onError int32, iDbDest int32) int32 { /* sqlite3.c:127667:12: */ +func xferOptimization(tls *libc.TLS, pParse uintptr, pDest uintptr, pSelect uintptr, onError int32, iDbDest int32) int32 { /* sqlite3.c:127680:12: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb var pEList uintptr // The result set of the SELECT var pSrc uintptr // The table in the FROM clause of SELECT @@ -109466,7 +109485,7 @@ func xferOptimization(tls *libc.TLS, pParse uintptr, pDest uintptr, pSelect uint // the xCallback() function is called. pArg becomes the first // 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 Sqlite3_callback, pArg uintptr, pzErrMsg uintptr) int32 { /* sqlite3.c:128078:16: */ +func Xsqlite3_exec(tls *libc.TLS, db uintptr, zSql uintptr, xCallback Sqlite3_callback, pArg uintptr, pzErrMsg uintptr) int32 { /* sqlite3.c:128091:16: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -109487,7 +109506,7 @@ func Xsqlite3_exec(tls *libc.TLS, db uintptr, zSql uintptr, xCallback Sqlite3_ca if !!(Xsqlite3SafetyCheckOk(tls, db) != 0) { goto __1 } - return Xsqlite3MisuseError(tls, 128091) + return Xsqlite3MisuseError(tls, 128104) __1: ; if !(zSql == uintptr(0)) { @@ -109676,7 +109695,7 @@ __26: // This is the function signature used for all extension entry points. It // is also defined in the file "loadext.c". -type Sqlite3_loadext_entry = uintptr /* sqlite3.c:128572:13 */ +type Sqlite3_loadext_entry = uintptr /* sqlite3.c:128585:13 */ // The following macros redefine the API routines so that they are // redirected through the global sqlite3_api structure. @@ -110010,7 +110029,7 @@ var sqlite3Apis = Sqlite3_api_routines{ Fvtab_in: 0, Fvtab_in_first: 0, Fvtab_in_next: 0, -} /* sqlite3.c:129018:35 */ +} /* sqlite3.c:129031:35 */ // True if x is the directory separator character @@ -110024,7 +110043,7 @@ var sqlite3Apis = Sqlite3_api_routines{ // If an error occurs and pzErrMsg is not 0, then fill *pzErrMsg with // error message text. The calling function should free this memory // by calling sqlite3DbFree(db, ). -func sqlite3LoadExtension(tls *libc.TLS, db uintptr, zFile uintptr, zProc uintptr, pzErrMsg uintptr) int32 { /* sqlite3.c:129402:12: */ +func sqlite3LoadExtension(tls *libc.TLS, db uintptr, zFile uintptr, zProc uintptr, pzErrMsg uintptr) int32 { /* sqlite3.c:129415:12: */ bp := tls.Alloc(64) defer tls.Free(64) @@ -110278,9 +110297,9 @@ __28: var azEndings = [1]uintptr{ ts + 15949, -} /* sqlite3.c:129420:21 */ +} /* sqlite3.c:129433:21 */ -func Xsqlite3_load_extension(tls *libc.TLS, db uintptr, zFile uintptr, zProc uintptr, pzErrMsg uintptr) int32 { /* sqlite3.c:129553:16: */ +func Xsqlite3_load_extension(tls *libc.TLS, db uintptr, zFile uintptr, zProc uintptr, pzErrMsg uintptr) int32 { /* sqlite3.c:129566:16: */ var rc int32 Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) rc = sqlite3LoadExtension(tls, db, zFile, zProc, pzErrMsg) @@ -110291,7 +110310,7 @@ func Xsqlite3_load_extension(tls *libc.TLS, db uintptr, zFile uintptr, zProc uin // Call this routine when the database connection is closing in order // to clean up loaded extensions -func Xsqlite3CloseExtensions(tls *libc.TLS, db uintptr) { /* sqlite3.c:129571:21: */ +func Xsqlite3CloseExtensions(tls *libc.TLS, db uintptr) { /* sqlite3.c:129584:21: */ var i int32 for i = 0; i < (*Sqlite3)(unsafe.Pointer(db)).FnExtension; i++ { @@ -110302,7 +110321,7 @@ func Xsqlite3CloseExtensions(tls *libc.TLS, db uintptr) { /* sqlite3.c:129571:21 // Enable or disable extension loading. Extension loading is disabled by // default so as not to open security holes in older applications. -func Xsqlite3_enable_load_extension(tls *libc.TLS, db uintptr, onoff int32) int32 { /* sqlite3.c:129584:16: */ +func Xsqlite3_enable_load_extension(tls *libc.TLS, db uintptr, onoff int32) int32 { /* sqlite3.c:129597:16: */ Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) if onoff != 0 { *(*U64)(unsafe.Pointer(db + 48)) |= uint64(SQLITE_LoadExtension | SQLITE_LoadExtFunc) @@ -110322,15 +110341,15 @@ type sqlite3AutoExtList = struct { FnExt U32 F__ccgo_pad1 [4]byte FaExt uintptr -} /* sqlite3.c:129604:9 */ +} /* sqlite3.c:129617:9 */ // The following object holds the list of automatically loaded // extensions. // // This list is shared across threads. The SQLITE_MUTEX_STATIC_MAIN // mutex must be held while accessing this list. -type Sqlite3AutoExtList = sqlite3AutoExtList /* sqlite3.c:129604:35 */ -var sqlite3Autoext = sqlite3AutoExtList{} /* sqlite3.c:129608:3 */ +type Sqlite3AutoExtList = sqlite3AutoExtList /* sqlite3.c:129617:35 */ +var sqlite3Autoext = sqlite3AutoExtList{} /* sqlite3.c:129621:3 */ // The "wsdAutoext" macro will resolve to the autoextension // state vector. If writable static data is unsupported on the target, @@ -110340,7 +110359,7 @@ var sqlite3Autoext = sqlite3AutoExtList{} /* sqlite3.c:129608:3 */ // Register a statically linked extension that is automatically // loaded by every new database connection. -func Xsqlite3_auto_extension(tls *libc.TLS, xInit uintptr) int32 { /* sqlite3.c:129630:16: */ +func Xsqlite3_auto_extension(tls *libc.TLS, xInit uintptr) int32 { /* sqlite3.c:129643:16: */ var rc int32 = SQLITE_OK rc = Xsqlite3_initialize(tls) if rc != 0 { @@ -110381,7 +110400,7 @@ func Xsqlite3_auto_extension(tls *libc.TLS, xInit uintptr) int32 { /* sqlite3.c: // // 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) int32 { /* sqlite3.c:129677:16: */ +func Xsqlite3_cancel_auto_extension(tls *libc.TLS, xInit uintptr) int32 { /* sqlite3.c:129690:16: */ var mutex uintptr = Xsqlite3MutexAlloc(tls, SQLITE_MUTEX_STATIC_MAIN) var i int32 var n int32 = 0 @@ -110400,7 +110419,7 @@ func Xsqlite3_cancel_auto_extension(tls *libc.TLS, xInit uintptr) int32 { /* sql } // Reset the automatic extension loading mechanism. -func Xsqlite3_reset_auto_extension(tls *libc.TLS) { /* sqlite3.c:129702:17: */ +func Xsqlite3_reset_auto_extension(tls *libc.TLS) { /* sqlite3.c:129715:17: */ if Xsqlite3_initialize(tls) == SQLITE_OK { var mutex uintptr = Xsqlite3MutexAlloc(tls, SQLITE_MUTEX_STATIC_MAIN) @@ -110415,7 +110434,7 @@ func Xsqlite3_reset_auto_extension(tls *libc.TLS) { /* sqlite3.c:129702:17: */ // Load all automatic extensions. // // If anything goes wrong, set an error in the database connection. -func Xsqlite3AutoLoadExtensions(tls *libc.TLS, db uintptr) { /* sqlite3.c:129724:21: */ +func Xsqlite3AutoLoadExtensions(tls *libc.TLS, db uintptr) { /* sqlite3.c:129737:21: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -110552,7 +110571,7 @@ var pragCName = [57]uintptr{ ts + 16224, ts + 16235, -} /* sqlite3.c:129865:19 */ +} /* sqlite3.c:129878:19 */ // Definitions of all built-in pragmas type PragmaName1 = struct { @@ -110563,10 +110582,10 @@ type PragmaName1 = struct { FnPragCName U8 F__ccgo_pad1 [4]byte FiArg U64 -} /* sqlite3.c:129930:9 */ +} /* sqlite3.c:129943:9 */ // Definitions of all built-in pragmas -type PragmaName = PragmaName1 /* sqlite3.c:129937:3 */ +type PragmaName = PragmaName1 /* sqlite3.c:129950:3 */ var aPragmaName = [66]PragmaName{ { /* zName: */ FzName: ts + 16243, /* ePragTyp: */ FePragTyp: U8(PragTyp_ANALYSIS_LIMIT), @@ -110803,7 +110822,7 @@ var aPragmaName = [66]PragmaName{ /* ePragTyp: */ FePragTyp: U8(PragTyp_FLAG), /* ePragFlg: */ FmPragFlg: U8(PragFlg_Result0 | PragFlg_NoColumns1), /* iArg: */ FiArg: uint64(SQLITE_WriteSchema | SQLITE_NoSchemaError)}, -} /* sqlite3.c:129938:25 */ +} /* sqlite3.c:129951:25 */ // Number of pragmas: 68 on by default, 78 total. @@ -110819,7 +110838,7 @@ var aPragmaName = [66]PragmaName{ // should be passed into sqlite3BtreeSetSafetyLevel(). The is done // to support legacy SQL code. The safety level used to be boolean // and older scripts may have used numbers 0 for OFF and 1 for ON. -func getSafetyLevel(tls *libc.TLS, z uintptr, omitFull int32, dflt U8) U8 { /* sqlite3.c:130472:11: */ +func getSafetyLevel(tls *libc.TLS, z uintptr, omitFull int32, dflt U8) U8 { /* sqlite3.c:130485:11: */ // on no off false yes true extra full var i int32 var n int32 @@ -110836,13 +110855,13 @@ func getSafetyLevel(tls *libc.TLS, z uintptr, omitFull int32, dflt U8) U8 { /* s return dflt } -var zText = *(*[25]uint8)(unsafe.Pointer(ts + 17210)) /* sqlite3.c:130474:21 */ -var iOffset = [8]U8{U8(0), U8(1), U8(2), U8(4), U8(9), U8(12), U8(15), U8(20)} /* sqlite3.c:130475:19 */ -var iLength = [8]U8{U8(2), U8(2), U8(3), U8(5), U8(3), U8(4), U8(5), U8(4)} /* sqlite3.c:130476:19 */ -var iValue = [8]U8{U8(1), U8(0), U8(0), U8(0), U8(1), U8(1), U8(3), U8(2)} /* sqlite3.c:130477:19 */ +var zText = *(*[25]uint8)(unsafe.Pointer(ts + 17210)) /* sqlite3.c:130487:21 */ +var iOffset = [8]U8{U8(0), U8(1), U8(2), U8(4), U8(9), U8(12), U8(15), U8(20)} /* sqlite3.c:130488:19 */ +var iLength = [8]U8{U8(2), U8(2), U8(3), U8(5), U8(3), U8(4), U8(5), U8(4)} /* sqlite3.c:130489:19 */ +var iValue = [8]U8{U8(1), U8(0), U8(0), U8(0), U8(1), U8(1), U8(3), U8(2)} /* sqlite3.c:130490:19 */ // Interpret the given string as a boolean value. -func Xsqlite3GetBoolean(tls *libc.TLS, z uintptr, dflt U8) U8 { /* sqlite3.c:130497:19: */ +func Xsqlite3GetBoolean(tls *libc.TLS, z uintptr, dflt U8) U8 { /* sqlite3.c:130510:19: */ return U8(libc.Bool32(int32(getSafetyLevel(tls, z, 1, dflt)) != 0)) } @@ -110851,7 +110870,7 @@ func Xsqlite3GetBoolean(tls *libc.TLS, z uintptr, dflt U8) U8 { /* sqlite3.c:130 // the rest of the file if PRAGMAs are omitted from the build. // Interpret the given string as a locking mode value. -func getLockingMode(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:130510:12: */ +func getLockingMode(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:130523:12: */ if z != 0 { if 0 == Xsqlite3StrICmp(tls, z, ts+17235) { return PAGER_LOCKINGMODE_EXCLUSIVE @@ -110867,7 +110886,7 @@ func getLockingMode(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:130510:12: */ // // The following strings, "none", "full" and "incremental" are // acceptable, as are their numeric equivalents: 0, 1 and 2 respectively. -func getAutoVacuum(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:130525:12: */ +func getAutoVacuum(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:130538:12: */ var i int32 if 0 == Xsqlite3StrICmp(tls, z, ts+7905) { return BTREE_AUTOVACUUM_NONE @@ -110890,7 +110909,7 @@ func getAutoVacuum(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:130525:12: */ // Interpret the given string as a temp db location. Return 1 for file // backed temporary databases, 2 for the Red-Black tree in memory database // and 0 to use the compile-time default. -func getTempStore(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:130541:12: */ +func getTempStore(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:130554:12: */ if int32(*(*uint8)(unsafe.Pointer(z))) >= '0' && int32(*(*uint8)(unsafe.Pointer(z))) <= '2' { return int32(*(*uint8)(unsafe.Pointer(z))) - '0' } else if Xsqlite3StrICmp(tls, z, ts+16185) == 0 { @@ -110905,7 +110924,7 @@ func getTempStore(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:130541:12: */ // Invalidate temp storage, either when the temp storage is changed // from default, or when 'file' and the temp_store_directory has changed -func invalidateTempStorage(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:130559:12: */ +func invalidateTempStorage(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:130572:12: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb if (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+1*32)).FpBt != uintptr(0) { if !(int32((*Sqlite3)(unsafe.Pointer(db)).FautoCommit) != 0) || @@ -110924,7 +110943,7 @@ func invalidateTempStorage(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:1 // If the TEMP database is open, close it and mark the database schema // as needing reloading. This must be done when using the SQLITE_TEMP_STORE // or DEFAULT_TEMP_STORE pragmas. -func changeTempStorage(tls *libc.TLS, pParse uintptr, zStorageType uintptr) int32 { /* sqlite3.c:130583:12: */ +func changeTempStorage(tls *libc.TLS, pParse uintptr, zStorageType uintptr) int32 { /* sqlite3.c:130596:12: */ var ts int32 = getTempStore(tls, zStorageType) var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb if int32((*Sqlite3)(unsafe.Pointer(db)).Ftemp_store) == ts { @@ -110938,7 +110957,7 @@ func changeTempStorage(tls *libc.TLS, pParse uintptr, zStorageType uintptr) int3 } // Set result column names for a pragma. -func setPragmaResultColumnNames(tls *libc.TLS, v uintptr, pPragma uintptr) { /* sqlite3.c:130598:13: */ +func setPragmaResultColumnNames(tls *libc.TLS, v uintptr, pPragma uintptr) { /* sqlite3.c:130611:13: */ var n U8 = (*PragmaName)(unsafe.Pointer(pPragma)).FnPragCName Xsqlite3VdbeSetNumCols(tls, v, func() int32 { if int32(n) == 0 { @@ -110972,7 +110991,7 @@ func setPragmaResultColumnNames(tls *libc.TLS, v uintptr, pPragma uintptr) { /* } // Generate code to return a single integer value. -func returnSingleInt(tls *libc.TLS, v uintptr, value I64) { /* sqlite3.c:130617:13: */ +func returnSingleInt(tls *libc.TLS, v uintptr, value I64) { /* sqlite3.c:130630:13: */ bp := tls.Alloc(8) defer tls.Free(8) *(*I64)(unsafe.Pointer(bp)) = value @@ -110982,7 +111001,7 @@ func returnSingleInt(tls *libc.TLS, v uintptr, value I64) { /* sqlite3.c:130617: } // Generate code to return a single text value. -func returnSingleText(tls *libc.TLS, v uintptr, zValue uintptr) { /* sqlite3.c:130625:13: */ +func returnSingleText(tls *libc.TLS, v uintptr, zValue uintptr) { /* sqlite3.c:130638:13: */ if zValue != 0 { Xsqlite3VdbeLoadString(tls, v, 1, zValue) Xsqlite3VdbeAddOp2(tls, v, OP_ResultRow, 1, 1) @@ -110991,7 +111010,7 @@ func returnSingleText(tls *libc.TLS, v uintptr, zValue uintptr) { /* sqlite3.c:1 // Set the safety_level and pager flags for pager iDb. Or if iDb<0 // set these values for all pagers. -func setAllPagerFlags(tls *libc.TLS, db uintptr) { /* sqlite3.c:130641:13: */ +func setAllPagerFlags(tls *libc.TLS, db uintptr) { /* sqlite3.c:130654:13: */ if (*Sqlite3)(unsafe.Pointer(db)).FautoCommit != 0 { var pDb uintptr = (*Sqlite3)(unsafe.Pointer(db)).FaDb var n int32 = (*Sqlite3)(unsafe.Pointer(db)).FnDb @@ -111007,7 +111026,7 @@ func setAllPagerFlags(tls *libc.TLS, db uintptr) { /* sqlite3.c:130641:13: */ } // Return a human-readable name for a constraint resolution action. -func actionName(tls *libc.TLS, action U8) uintptr { /* sqlite3.c:130669:19: */ +func actionName(tls *libc.TLS, action U8) uintptr { /* sqlite3.c:130682:19: */ var zName uintptr switch int32(action) { case OE_SetNull: @@ -111032,7 +111051,7 @@ func actionName(tls *libc.TLS, action U8) uintptr { /* sqlite3.c:130669:19: */ // Parameter eMode must be one of the PAGER_JOURNALMODE_XXX constants // defined in pager.h. This function returns the associated lowercase // journal-mode name. -func Xsqlite3JournalModename(tls *libc.TLS, eMode int32) uintptr { /* sqlite3.c:130689:27: */ +func Xsqlite3JournalModename(tls *libc.TLS, eMode int32) uintptr { /* sqlite3.c:130702:27: */ if eMode == int32(uint64(unsafe.Sizeof(azModeName))/uint64(unsafe.Sizeof(uintptr(0)))) { return uintptr(0) @@ -111042,10 +111061,10 @@ func Xsqlite3JournalModename(tls *libc.TLS, eMode int32) uintptr { /* sqlite3.c: var azModeName = [6]uintptr{ ts + 17386, ts + 17393, ts + 17401, ts + 17405, ts + 17269, ts + 17414, -} /* sqlite3.c:130690:15 */ +} /* sqlite3.c:130703:15 */ // Locate a pragma in the aPragmaName[] array. -func pragmaLocate(tls *libc.TLS, zName uintptr) uintptr { /* sqlite3.c:130711:25: */ +func pragmaLocate(tls *libc.TLS, zName uintptr) uintptr { /* sqlite3.c:130724:25: */ var upr int32 var lwr int32 var mid int32 = 0 @@ -111072,7 +111091,7 @@ func pragmaLocate(tls *libc.TLS, zName uintptr) uintptr { /* sqlite3.c:130711:25 // Create zero or more entries in the output for the SQL functions // defined by FuncDef p. -func pragmaFunclistLine(tls *libc.TLS, v uintptr, p uintptr, isBuiltin int32, showInternFuncs int32) { /* sqlite3.c:130732:13: */ +func pragmaFunclistLine(tls *libc.TLS, v uintptr, p uintptr, isBuiltin int32, showInternFuncs int32) { /* sqlite3.c:130745:13: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -111101,15 +111120,15 @@ func pragmaFunclistLine(tls *libc.TLS, v uintptr, p uintptr, isBuiltin int32, sh } } -var mask U32 = U32(SQLITE_DETERMINISTIC | SQLITE_DIRECTONLY | SQLITE_SUBTYPE | SQLITE_INNOCUOUS | SQLITE_FUNC_INTERNAL) /* sqlite3.c:130740:22 */ -var azEnc = [4]uintptr{uintptr(0), ts + 17429, ts + 17434, ts + 17442 /* "utf16be" */} /* sqlite3.c:130747:23 */ +var mask U32 = U32(SQLITE_DETERMINISTIC | SQLITE_DIRECTONLY | SQLITE_SUBTYPE | SQLITE_INNOCUOUS | SQLITE_FUNC_INTERNAL) /* sqlite3.c:130753:22 */ +var azEnc = [4]uintptr{uintptr(0), ts + 17429, ts + 17434, ts + 17442 /* "utf16be" */} /* sqlite3.c:130760:23 */ // Helper subroutine for PRAGMA integrity_check: // // Generate code to output a single-column result row with a value of the // string held in register 3. Decrement the result count in register 1 // and halt if the maximum number of result rows have been issued. -func integrityCheckResultRow(tls *libc.TLS, v uintptr) int32 { /* sqlite3.c:130784:12: */ +func integrityCheckResultRow(tls *libc.TLS, v uintptr) int32 { /* sqlite3.c:130797:12: */ var addr int32 Xsqlite3VdbeAddOp2(tls, v, OP_ResultRow, 3, 1) addr = Xsqlite3VdbeAddOp3(tls, v, OP_IfPos, 1, Xsqlite3VdbeCurrentAddr(tls, v)+2, 1) @@ -111131,7 +111150,7 @@ func integrityCheckResultRow(tls *libc.TLS, v uintptr) int32 { /* sqlite3.c:1307 // If the left side is "database.id" then pId1 is the database name // and pId2 is the id. If the left side is just "id" then pId1 is the // id and pId2 is any empty string. -func Xsqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, pValue uintptr, minusFlag int32) { /* sqlite3.c:130808:21: */ +func Xsqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, pValue uintptr, minusFlag int32) { /* sqlite3.c:130821:21: */ bp := tls.Alloc(616) defer tls.Free(616) @@ -114514,9 +114533,9 @@ type EncName = struct { FzName uintptr Fenc U8 F__ccgo_pad1 [7]byte -} /* sqlite3.c:132383:18 */ +} /* sqlite3.c:132396:18 */ -var iLn3 int32 = 0 /* sqlite3.c:130937:22 */ +var iLn3 int32 = 0 /* sqlite3.c:130950:22 */ var getCacheSize = [9]VdbeOpList{ {Fopcode: U8(OP_Transaction)}, // 0 {Fopcode: U8(OP_ReadCookie), Fp2: int8(1), Fp3: int8(BTREE_DEFAULT_CACHE_SIZE)}, // 1 @@ -114527,16 +114546,16 @@ var getCacheSize = [9]VdbeOpList{ {Fopcode: U8(OP_Integer), Fp2: int8(1)}, // 6 {Fopcode: U8(OP_Noop)}, {Fopcode: U8(OP_ResultRow), Fp1: int8(1), Fp2: int8(1)}, -} /* sqlite3.c:130938:29 */ -var iLn4 int32 = 0 /* sqlite3.c:131206:26 */ +} /* sqlite3.c:130951:29 */ +var iLn4 int32 = 0 /* sqlite3.c:131219:26 */ var setMeta6 = [5]VdbeOpList{ {Fopcode: U8(OP_Transaction), Fp2: int8(1)}, // 0 {Fopcode: U8(OP_ReadCookie), Fp2: int8(1), Fp3: int8(BTREE_LARGEST_ROOT_PAGE)}, {Fopcode: U8(OP_If), Fp1: int8(1)}, // 2 {Fopcode: U8(OP_Halt), Fp2: int8(OE_Abort)}, // 3 {Fopcode: U8(OP_SetCookie), Fp2: int8(BTREE_INCR_VACUUM)}, // 4 -} /* sqlite3.c:131207:33 */ -var iLn5 int32 = 0 /* sqlite3.c:132333:24 */ +} /* sqlite3.c:131220:33 */ +var iLn5 int32 = 0 /* sqlite3.c:132346:24 */ var endCode = [7]VdbeOpList{ {Fopcode: U8(OP_AddImm), Fp1: int8(1)}, // 0 {Fopcode: U8(OP_IfNotZero), Fp1: int8(1), Fp2: int8(4)}, // 1 @@ -114545,7 +114564,7 @@ var endCode = [7]VdbeOpList{ {Fopcode: U8(OP_Halt)}, // 4 {Fopcode: U8(OP_String8), Fp2: int8(3)}, // 5 {Fopcode: U8(OP_Goto), Fp2: int8(3)}, // 6 -} /* sqlite3.c:132334:31 */ +} /* sqlite3.c:132347:31 */ var encnames1 = [9]EncName{ {FzName: ts + 17865, Fenc: U8(SQLITE_UTF8)}, {FzName: ts + 17870, Fenc: U8(SQLITE_UTF8)}, // Must be element [1] @@ -114556,16 +114575,16 @@ var encnames1 = [9]EncName{ {FzName: ts + 17910}, {FzName: ts + 17917}, {}, -} /* sqlite3.c:132386:7 */ +} /* sqlite3.c:132399:7 */ var setCookie = [2]VdbeOpList{ {Fopcode: U8(OP_Transaction), Fp2: int8(1)}, // 0 {Fopcode: U8(OP_SetCookie)}, // 1 -} /* sqlite3.c:132466:31 */ +} /* sqlite3.c:132479:31 */ var readCookie = [3]VdbeOpList{ {Fopcode: U8(OP_Transaction)}, // 0 {Fopcode: U8(OP_ReadCookie), Fp2: int8(1)}, // 1 {Fopcode: U8(OP_ResultRow), Fp1: int8(1), Fp2: int8(1)}, -} /* sqlite3.c:132481:31 */ +} /* sqlite3.c:132494:31 */ // **************************************************************************** // // Implementation of an eponymous virtual table that runs a pragma. @@ -114577,24 +114596,24 @@ type PragmaVtab1 = struct { FnHidden U8 FiHidden U8 F__ccgo_pad1 [6]byte -} /* sqlite3.c:132841:9 */ +} /* sqlite3.c:132854:9 */ // **************************************************************************** // // Implementation of an eponymous virtual table that runs a pragma. // -type PragmaVtab = PragmaVtab1 /* sqlite3.c:132841:27 */ +type PragmaVtab = PragmaVtab1 /* sqlite3.c:132854:27 */ type PragmaVtabCursor1 = struct { Fbase Sqlite3_vtab_cursor FpPragma uintptr FiRowid Sqlite_int64 FazArg [2]uintptr -} /* sqlite3.c:132842:9 */ +} /* sqlite3.c:132855:9 */ -type PragmaVtabCursor = PragmaVtabCursor1 /* sqlite3.c:132842:33 */ +type PragmaVtabCursor = PragmaVtabCursor1 /* sqlite3.c:132855:33 */ // Pragma virtual table module xConnect method. -func pragmaVtabConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 { /* sqlite3.c:132860:12: */ +func pragmaVtabConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 { /* sqlite3.c:132873:12: */ bp := tls.Alloc(264) defer tls.Free(264) @@ -114668,7 +114687,7 @@ __3: } // Pragma virtual table module xDisconnect method. -func pragmaVtabDisconnect(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:132922:12: */ +func pragmaVtabDisconnect(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:132935:12: */ var pTab uintptr = pVtab Xsqlite3_free(tls, pTab) return SQLITE_OK @@ -114680,7 +114699,7 @@ func pragmaVtabDisconnect(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:132 // query planner to give == constraints on as many hidden parameters as // possible, and especially on the first hidden parameter. So return a // high cost if hidden parameters are unconstrained. -func pragmaVtabBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 { /* sqlite3.c:132935:12: */ +func pragmaVtabBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 { /* sqlite3.c:132948:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -114745,7 +114764,7 @@ __3: } // Create a new cursor for the pragma virtual table -func pragmaVtabOpen(tls *libc.TLS, pVtab uintptr, ppCursor uintptr) int32 { /* sqlite3.c:132972:12: */ +func pragmaVtabOpen(tls *libc.TLS, pVtab uintptr, ppCursor uintptr) int32 { /* sqlite3.c:132985:12: */ var pCsr uintptr pCsr = Xsqlite3_malloc(tls, int32(unsafe.Sizeof(PragmaVtabCursor{}))) if pCsr == uintptr(0) { @@ -114758,7 +114777,7 @@ func pragmaVtabOpen(tls *libc.TLS, pVtab uintptr, ppCursor uintptr) int32 { /* s } // Clear all content from pragma virtual table cursor. -func pragmaVtabCursorClear(tls *libc.TLS, pCsr uintptr) { /* sqlite3.c:132983:13: */ +func pragmaVtabCursorClear(tls *libc.TLS, pCsr uintptr) { /* sqlite3.c:132996:13: */ var i int32 Xsqlite3_finalize(tls, (*PragmaVtabCursor)(unsafe.Pointer(pCsr)).FpPragma) (*PragmaVtabCursor)(unsafe.Pointer(pCsr)).FpPragma = uintptr(0) @@ -114769,7 +114788,7 @@ func pragmaVtabCursorClear(tls *libc.TLS, pCsr uintptr) { /* sqlite3.c:132983:13 } // Close a pragma virtual table cursor -func pragmaVtabClose(tls *libc.TLS, cur uintptr) int32 { /* sqlite3.c:132994:12: */ +func pragmaVtabClose(tls *libc.TLS, cur uintptr) int32 { /* sqlite3.c:133007:12: */ var pCsr uintptr = cur pragmaVtabCursorClear(tls, pCsr) Xsqlite3_free(tls, pCsr) @@ -114777,7 +114796,7 @@ func pragmaVtabClose(tls *libc.TLS, cur uintptr) int32 { /* sqlite3.c:132994:12: } // Advance the pragma virtual table cursor to the next row -func pragmaVtabNext(tls *libc.TLS, pVtabCursor uintptr) int32 { /* sqlite3.c:133002:12: */ +func pragmaVtabNext(tls *libc.TLS, pVtabCursor uintptr) int32 { /* sqlite3.c:133015:12: */ var pCsr uintptr = pVtabCursor var rc int32 = SQLITE_OK @@ -114793,7 +114812,7 @@ func pragmaVtabNext(tls *libc.TLS, pVtabCursor uintptr) int32 { /* sqlite3.c:133 } // Pragma virtual table module xFilter method. -func pragmaVtabFilter(tls *libc.TLS, pVtabCursor uintptr, idxNum int32, idxStr uintptr, argc int32, argv uintptr) int32 { /* sqlite3.c:133020:12: */ +func pragmaVtabFilter(tls *libc.TLS, pVtabCursor uintptr, idxNum int32, idxStr uintptr, argc int32, argv uintptr) int32 { /* sqlite3.c:133033:12: */ bp := tls.Alloc(64) defer tls.Free(64) @@ -114861,14 +114880,14 @@ __3: } // Pragma virtual table module xEof method. -func pragmaVtabEof(tls *libc.TLS, pVtabCursor uintptr) int32 { /* sqlite3.c:133070:12: */ +func pragmaVtabEof(tls *libc.TLS, pVtabCursor uintptr) int32 { /* sqlite3.c:133083:12: */ var pCsr uintptr = pVtabCursor return libc.Bool32((*PragmaVtabCursor)(unsafe.Pointer(pCsr)).FpPragma == uintptr(0)) } // The xColumn method simply returns the corresponding column from // the PRAGMA. -func pragmaVtabColumn(tls *libc.TLS, pVtabCursor uintptr, ctx uintptr, i int32) int32 { /* sqlite3.c:133078:12: */ +func pragmaVtabColumn(tls *libc.TLS, pVtabCursor uintptr, ctx uintptr, i int32) int32 { /* sqlite3.c:133091:12: */ var pCsr uintptr = pVtabCursor var pTab uintptr = (*Sqlite3_vtab_cursor)(unsafe.Pointer(pVtabCursor)).FpVtab if i < int32((*PragmaVtab)(unsafe.Pointer(pTab)).FiHidden) { @@ -114880,7 +114899,7 @@ func pragmaVtabColumn(tls *libc.TLS, pVtabCursor uintptr, ctx uintptr, i int32) } // Pragma virtual table module xRowid method. -func pragmaVtabRowid(tls *libc.TLS, pVtabCursor uintptr, p uintptr) int32 { /* sqlite3.c:133096:12: */ +func pragmaVtabRowid(tls *libc.TLS, pVtabCursor uintptr, p uintptr) int32 { /* sqlite3.c:133109:12: */ var pCsr uintptr = pVtabCursor *(*Sqlite_int64)(unsafe.Pointer(p)) = (*PragmaVtabCursor)(unsafe.Pointer(pCsr)).FiRowid return SQLITE_OK @@ -114898,12 +114917,12 @@ var pragmaVtabModule = Sqlite3_module{ // xCreate - create a table FxEof: 0, // xEof FxColumn: 0, // xColumn - read data FxRowid: 0, // xShadowName -} /* sqlite3.c:133103:29 */ +} /* sqlite3.c:133116:29 */ // Check to see if zTabName is really the name of a pragma. If it is, // then register an eponymous virtual table for that pragma and return // a pointer to the Module object for the new virtual table. -func Xsqlite3PragmaVtabRegister(tls *libc.TLS, db uintptr, zName uintptr) uintptr { /* sqlite3.c:133135:23: */ +func Xsqlite3PragmaVtabRegister(tls *libc.TLS, db uintptr, zName uintptr) uintptr { /* sqlite3.c:133148:23: */ var pName uintptr pName = pragmaLocate(tls, zName+uintptr(7)) @@ -114936,7 +114955,7 @@ func Xsqlite3PragmaVtabRegister(tls *libc.TLS, db uintptr, zName uintptr) uintpt // Fill the InitData structure with an error message that indicates // that the database is corrupt. -func corruptSchema(tls *libc.TLS, pData uintptr, azObj uintptr, zExtra uintptr) { /* sqlite3.c:133172:13: */ +func corruptSchema(tls *libc.TLS, pData uintptr, azObj uintptr, zExtra uintptr) { /* sqlite3.c:133185:13: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -114952,7 +114971,7 @@ func corruptSchema(tls *libc.TLS, pData uintptr, azObj uintptr, zExtra uintptr) zExtra)) (*InitData)(unsafe.Pointer(pData)).Frc = SQLITE_ERROR } else if (*Sqlite3)(unsafe.Pointer(db)).Fflags&uint64(SQLITE_WriteSchema) != 0 { - (*InitData)(unsafe.Pointer(pData)).Frc = Xsqlite3CorruptError(tls, 133195) + (*InitData)(unsafe.Pointer(pData)).Frc = Xsqlite3CorruptError(tls, 133208) } else { var z uintptr var zObj uintptr @@ -114966,7 +114985,7 @@ func corruptSchema(tls *libc.TLS, pData uintptr, azObj uintptr, zExtra uintptr) z = Xsqlite3MPrintf(tls, db, ts+18053, libc.VaList(bp+40, z, zExtra)) } *(*uintptr)(unsafe.Pointer((*InitData)(unsafe.Pointer(pData)).FpzErrMsg)) = z - (*InitData)(unsafe.Pointer(pData)).Frc = Xsqlite3CorruptError(tls, 133202) + (*InitData)(unsafe.Pointer(pData)).Frc = Xsqlite3CorruptError(tls, 133215) } } @@ -114974,12 +114993,12 @@ var azAlterType = [3]uintptr{ ts + 18061, ts + 18068, ts + 18080, -} /* sqlite3.c:133183:23 */ +} /* sqlite3.c:133196:23 */ // Check to see if any sibling index (another index on the same table) // of pIndex has the same root page number, and if it does, return true. // This would indicate a corrupt schema. -func Xsqlite3IndexHasDuplicateRootPage(tls *libc.TLS, pIndex uintptr) int32 { /* sqlite3.c:133211:20: */ +func Xsqlite3IndexHasDuplicateRootPage(tls *libc.TLS, pIndex uintptr) int32 { /* sqlite3.c:133224:20: */ var p uintptr for p = (*Table)(unsafe.Pointer((*Index)(unsafe.Pointer(pIndex)).FpTable)).FpIndex; p != 0; p = (*Index)(unsafe.Pointer(p)).FpNext { if (*Index)(unsafe.Pointer(p)).Ftnum == (*Index)(unsafe.Pointer(pIndex)).Ftnum && p != pIndex { @@ -115001,7 +115020,7 @@ func Xsqlite3IndexHasDuplicateRootPage(tls *libc.TLS, pIndex uintptr) int32 { /* // argv[3] = root page number for table or index. 0 for trigger or view. // argv[4] = SQL text for the CREATE statement. // -func Xsqlite3InitCallback(tls *libc.TLS, pInit uintptr, argc int32, argv uintptr, NotUsed uintptr) int32 { /* sqlite3.c:133245:20: */ +func Xsqlite3InitCallback(tls *libc.TLS, pInit uintptr, argc int32, argv uintptr, NotUsed uintptr) int32 { /* sqlite3.c:133258:20: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -115103,7 +115122,7 @@ func Xsqlite3InitCallback(tls *libc.TLS, pInit uintptr, argc int32, argv uintptr // database. iDb==1 should never be used. iDb>=2 is used for // auxiliary databases. Return one of the SQLITE_ error codes to // indicate success or failure. -func Xsqlite3InitOne(tls *libc.TLS, db uintptr, iDb int32, pzErrMsg uintptr, mFlags U32) int32 { /* sqlite3.c:133348:20: */ +func Xsqlite3InitOne(tls *libc.TLS, db uintptr, iDb int32, pzErrMsg uintptr, mFlags U32) int32 { /* sqlite3.c:133361:20: */ bp := tls.Alloc(124) defer tls.Free(124) @@ -115349,7 +115368,7 @@ __20: pDb = (*Sqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32 goto __22 __21: - if !(rc == SQLITE_OK || (*Sqlite3)(unsafe.Pointer(db)).Fflags&uint64(SQLITE_NoSchemaError) != 0) { + if !(rc == SQLITE_OK || (*Sqlite3)(unsafe.Pointer(db)).Fflags&uint64(SQLITE_NoSchemaError) != 0 && rc != SQLITE_NOMEM) { goto __23 } // Hack: If the SQLITE_NoSchemaError flag is set, then consider @@ -115404,7 +115423,7 @@ __25: // // After a database is initialized, the DB_SchemaLoaded bit is set // bit is set in the flags field of the Db structure. -func Xsqlite3Init(tls *libc.TLS, db uintptr, pzErrMsg uintptr) int32 { /* sqlite3.c:133587:20: */ +func Xsqlite3Init(tls *libc.TLS, db uintptr, pzErrMsg uintptr) int32 { /* sqlite3.c:133600:20: */ var i int32 var rc int32 var commit_internal int32 = libc.BoolInt32(!((*Sqlite3)(unsafe.Pointer(db)).FmDbFlags&U32(DBFLAG_SchemaChange) != 0)) @@ -115436,7 +115455,7 @@ func Xsqlite3Init(tls *libc.TLS, db uintptr, pzErrMsg uintptr) int32 { /* sqlite // This routine is a no-op if the database schema is already initialized. // Otherwise, the schema is loaded. An error code is returned. -func Xsqlite3ReadSchema(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:133619:20: */ +func Xsqlite3ReadSchema(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:133632:20: */ var rc int32 = SQLITE_OK var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb @@ -115455,7 +115474,7 @@ func Xsqlite3ReadSchema(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:1336 // Check schema cookies in all databases. If any cookie is out // of date set pParse->rc to SQLITE_SCHEMA. If all schema cookies // make no changes to pParse->rc. -func schemaIsValid(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:133641:13: */ +func schemaIsValid(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:133654:13: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -115508,7 +115527,7 @@ func schemaIsValid(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:133641:13: */ // // If the same database is attached more than once, the first // attached database is returned. -func Xsqlite3SchemaToIndex(tls *libc.TLS, db uintptr, pSchema uintptr) int32 { /* sqlite3.c:133691:20: */ +func Xsqlite3SchemaToIndex(tls *libc.TLS, db uintptr, pSchema uintptr) int32 { /* sqlite3.c:133704:20: */ var i int32 = -32768 // If pSchema is NULL, then return -32768. This happens when code in @@ -115535,7 +115554,7 @@ func Xsqlite3SchemaToIndex(tls *libc.TLS, db uintptr, pSchema uintptr) int32 { / } // Free all memory allocations in the pParse object -func Xsqlite3ParseObjectReset(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:133721:21: */ +func Xsqlite3ParseObjectReset(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:133734:21: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb Xsqlite3DbFree(tls, db, (*Parse)(unsafe.Pointer(pParse)).FaTableLock) @@ -115591,7 +115610,7 @@ func Xsqlite3ParseObjectReset(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:1337 // return value thereafter. Something like this: // // pObj = sqlite3ParserAddCleanup(pParse, destructor, pObj); -func Xsqlite3ParserAddCleanup(tls *libc.TLS, pParse uintptr, xCleanup uintptr, pPtr uintptr) uintptr { /* sqlite3.c:133776:21: */ +func Xsqlite3ParserAddCleanup(tls *libc.TLS, pParse uintptr, xCleanup uintptr, pPtr uintptr) uintptr { /* sqlite3.c:133789:21: */ var pCleanup uintptr = Xsqlite3DbMallocRaw(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, uint64(unsafe.Sizeof(ParseCleanup{}))) if pCleanup != 0 { (*ParseCleanup)(unsafe.Pointer(pCleanup)).FpNext = (*Parse)(unsafe.Pointer(pParse)).FpCleanup @@ -115614,7 +115633,7 @@ func Xsqlite3ParserAddCleanup(tls *libc.TLS, pParse uintptr, xCleanup uintptr, p // // Caution: Do not confuse this routine with sqlite3ParseObjectInit() which // is generated by Lemon. -func Xsqlite3ParseObjectInit(tls *libc.TLS, pParse uintptr, db uintptr) { /* sqlite3.c:133806:21: */ +func Xsqlite3ParseObjectInit(tls *libc.TLS, pParse uintptr, db uintptr) { /* sqlite3.c:133819:21: */ libc.Xmemset(tls, pParse+uintptr(uint64(uintptr(0)+8)), 0, uint64(uintptr(0)+216)-uint64(uintptr(0)+8)) libc.Xmemset(tls, pParse+uintptr(uint64(uintptr(0)+272)), 0, uint64(unsafe.Sizeof(Parse{}))-uint64(uintptr(0)+272)) @@ -115627,7 +115646,7 @@ func Xsqlite3ParseObjectInit(tls *libc.TLS, pParse uintptr, db uintptr) { /* sql } // Compile the UTF-8 encoded SQL statement zSql into a statement handle. -func sqlite3Prepare(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, prepFlags U32, pReprepare uintptr, ppStmt uintptr, pzTail uintptr) int32 { /* sqlite3.c:133819:12: */ +func sqlite3Prepare(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, prepFlags U32, pReprepare uintptr, ppStmt uintptr, pzTail uintptr) int32 { /* sqlite3.c:133832:12: */ bp := tls.Alloc(424) defer tls.Free(424) @@ -115833,13 +115852,13 @@ end_prepare: return rc } -func sqlite3LockAndPrepare(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, prepFlags U32, pOld uintptr, ppStmt uintptr, pzTail uintptr) int32 { /* sqlite3.c:133962:12: */ +func sqlite3LockAndPrepare(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, prepFlags U32, pOld uintptr, ppStmt uintptr, pzTail uintptr) int32 { /* sqlite3.c:133975:12: */ var rc int32 var cnt int32 = 0 *(*uintptr)(unsafe.Pointer(ppStmt)) = uintptr(0) if !(Xsqlite3SafetyCheckOk(tls, db) != 0) || zSql == uintptr(0) { - return Xsqlite3MisuseError(tls, 133979) + return Xsqlite3MisuseError(tls, 133992) } Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) Xsqlite3BtreeEnterAll(tls, db) @@ -115868,7 +115887,7 @@ func sqlite3LockAndPrepare(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32 // if the statement cannot be recompiled because another connection has // locked the sqlite3_schema table, return SQLITE_LOCKED. If any other error // occurs, return SQLITE_SCHEMA. -func Xsqlite3Reprepare(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:134009:20: */ +func Xsqlite3Reprepare(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:134022:20: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -115907,14 +115926,14 @@ func Xsqlite3Reprepare(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:134009:20: // sqlite3_step(). In the new version, the original SQL text is retained // and the statement is automatically recompiled if an schema change // occurs. -func Xsqlite3_prepare(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, ppStmt uintptr, pzTail uintptr) int32 { /* sqlite3.c:134048:16: */ +func Xsqlite3_prepare(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, ppStmt uintptr, pzTail uintptr) int32 { /* sqlite3.c:134061:16: */ var rc int32 rc = sqlite3LockAndPrepare(tls, db, zSql, nBytes, uint32(0), uintptr(0), ppStmt, pzTail) // VERIFY: F13021 return rc } -func Xsqlite3_prepare_v2(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, ppStmt uintptr, pzTail uintptr) int32 { /* sqlite3.c:134060:16: */ +func Xsqlite3_prepare_v2(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, ppStmt uintptr, pzTail uintptr) int32 { /* sqlite3.c:134073:16: */ var rc int32 // EVIDENCE-OF: R-37923-12173 The sqlite3_prepare_v2() interface works // exactly the same as sqlite3_prepare_v3() with a zero prepFlags @@ -115927,7 +115946,7 @@ func Xsqlite3_prepare_v2(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, return rc } -func Xsqlite3_prepare_v3(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, prepFlags uint32, ppStmt uintptr, pzTail uintptr) int32 { /* sqlite3.c:134078:16: */ +func Xsqlite3_prepare_v3(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, prepFlags uint32, ppStmt uintptr, pzTail uintptr) int32 { /* sqlite3.c:134091:16: */ var rc int32 // EVIDENCE-OF: R-56861-42673 sqlite3_prepare_v3() differs from // sqlite3_prepare_v2() only in having the extra prepFlags parameter, @@ -115944,7 +115963,7 @@ func Xsqlite3_prepare_v3(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, } // Compile the UTF-16 encoded SQL statement zSql into a statement handle. -func sqlite3Prepare16(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, prepFlags U32, ppStmt uintptr, pzTail uintptr) int32 { /* sqlite3.c:134106:12: */ +func sqlite3Prepare16(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, prepFlags U32, ppStmt uintptr, pzTail uintptr) int32 { /* sqlite3.c:134119:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -115957,7 +115976,7 @@ func sqlite3Prepare16(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, pre *(*uintptr)(unsafe.Pointer(ppStmt)) = uintptr(0) if !(Xsqlite3SafetyCheckOk(tls, db) != 0) || zSql == uintptr(0) { - return Xsqlite3MisuseError(tls, 134127) + return Xsqlite3MisuseError(tls, 134140) } if nBytes >= 0 { var sz int32 @@ -115992,21 +116011,21 @@ func sqlite3Prepare16(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, pre // sqlite3_step(). In the new version, the original SQL text is retained // and the statement is automatically recompiled if an schema change // occurs. -func Xsqlite3_prepare16(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, ppStmt uintptr, pzTail uintptr) int32 { /* sqlite3.c:134164:16: */ +func Xsqlite3_prepare16(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, ppStmt uintptr, pzTail uintptr) int32 { /* sqlite3.c:134177:16: */ var rc int32 rc = sqlite3Prepare16(tls, db, zSql, nBytes, uint32(0), ppStmt, pzTail) // VERIFY: F13021 return rc } -func Xsqlite3_prepare16_v2(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, ppStmt uintptr, pzTail uintptr) int32 { /* sqlite3.c:134176:16: */ +func Xsqlite3_prepare16_v2(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, ppStmt uintptr, pzTail uintptr) int32 { /* sqlite3.c:134189:16: */ var rc int32 rc = sqlite3Prepare16(tls, db, zSql, nBytes, uint32(SQLITE_PREPARE_SAVESQL), ppStmt, pzTail) // VERIFY: F13021 return rc } -func Xsqlite3_prepare16_v3(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, prepFlags uint32, ppStmt uintptr, pzTail uintptr) int32 { /* sqlite3.c:134188:16: */ +func Xsqlite3_prepare16_v3(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, prepFlags uint32, ppStmt uintptr, pzTail uintptr) int32 { /* sqlite3.c:134201:16: */ var rc int32 rc = sqlite3Prepare16(tls, db, zSql, nBytes, uint32(SQLITE_PREPARE_SAVESQL)|prepFlags&uint32(SQLITE_PREPARE_MASK), @@ -116040,7 +116059,7 @@ type DistinctCtx1 = struct { F__ccgo_pad1 [2]byte FtabTnct int32 FaddrTnct int32 -} /* sqlite3.c:134229:9 */ +} /* sqlite3.c:134242:9 */ //************* End of prepare.c ******************************************** //************* Begin file select.c ***************************************** @@ -116061,7 +116080,7 @@ type DistinctCtx1 = struct { // An instance of the following object is used to record information about // how to process the DISTINCT keyword, to simplify passing that information // into the selectInnerLoop() routine. -type DistinctCtx = DistinctCtx1 /* sqlite3.c:134229:28 */ +type DistinctCtx = DistinctCtx1 /* sqlite3.c:134242:28 */ // An instance of the following object is used to record information about // the ORDER BY (or GROUP BY) clause of query is being coded. @@ -116091,7 +116110,7 @@ type SortCtx1 = struct { FsortFlags U8 F__ccgo_pad1 [3]byte FpDeferredRowLoad uintptr -} /* sqlite3.c:134255:9 */ +} /* sqlite3.c:134268:9 */ // An instance of the following object is used to record information about // the ORDER BY (or GROUP BY) clause of query is being coded. @@ -116109,19 +116128,19 @@ type SortCtx1 = struct { // When the sorter-reference optimization is used, there is one entry in the // aDefer[] array for each database table that may be read as values are // extracted from the sorter. -type SortCtx = SortCtx1 /* sqlite3.c:134255:24 */ +type SortCtx = SortCtx1 /* sqlite3.c:134268:24 */ type RowLoadInfo1 = struct { FregResult int32 FecelFlags U8 F__ccgo_pad1 [3]byte -} /* sqlite3.c:134255:9 */ +} /* sqlite3.c:134268:9 */ // Delete all the content of a Select structure. Deallocate the structure // itself depending on the value of bFree // // If bFree==1, call sqlite3DbFree() on the p object. // If bFree==0, Leave the first Select object unfreed -func clearSelect(tls *libc.TLS, db uintptr, p uintptr, bFree int32) { /* sqlite3.c:134285:13: */ +func clearSelect(tls *libc.TLS, db uintptr, p uintptr, bFree int32) { /* sqlite3.c:134298:13: */ for p != 0 { var pPrior uintptr = (*Select)(unsafe.Pointer(p)).FpPrior Xsqlite3ExprListDelete(tls, db, (*Select)(unsafe.Pointer(p)).FpEList) @@ -116150,7 +116169,7 @@ func clearSelect(tls *libc.TLS, db uintptr, p uintptr, bFree int32) { /* sqlite3 } // Initialize a SelectDest structure. -func Xsqlite3SelectDestInit(tls *libc.TLS, pDest uintptr, eDest int32, iParm int32) { /* sqlite3.c:134314:21: */ +func Xsqlite3SelectDestInit(tls *libc.TLS, pDest uintptr, eDest int32, iParm int32) { /* sqlite3.c:134327:21: */ (*SelectDest)(unsafe.Pointer(pDest)).FeDest = U8(eDest) (*SelectDest)(unsafe.Pointer(pDest)).FiSDParm = iParm (*SelectDest)(unsafe.Pointer(pDest)).FiSDParm2 = 0 @@ -116161,7 +116180,7 @@ func Xsqlite3SelectDestInit(tls *libc.TLS, pDest uintptr, eDest int32, iParm int // Allocate a new Select structure and return a pointer to that // structure. -func Xsqlite3SelectNew(tls *libc.TLS, pParse uintptr, pEList uintptr, pSrc uintptr, pWhere uintptr, pGroupBy uintptr, pHaving uintptr, pOrderBy uintptr, selFlags U32, pLimit uintptr) uintptr { /* sqlite3.c:134328:23: */ +func Xsqlite3SelectNew(tls *libc.TLS, pParse uintptr, pEList uintptr, pSrc uintptr, pWhere uintptr, pGroupBy uintptr, pHaving uintptr, pOrderBy uintptr, selFlags U32, pLimit uintptr) uintptr { /* sqlite3.c:134341:23: */ bp := tls.Alloc(128) defer tls.Free(128) @@ -116211,14 +116230,14 @@ func Xsqlite3SelectNew(tls *libc.TLS, pParse uintptr, pEList uintptr, pSrc uintp } // Delete the given Select structure and all of its substructures. -func Xsqlite3SelectDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:134386:21: */ +func Xsqlite3SelectDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:134399:21: */ if p != 0 { clearSelect(tls, db, p, 1) } } // Return a pointer to the right-most SELECT statement in a compound. -func findRightmost(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:134393:15: */ +func findRightmost(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:134406:15: */ for (*Select)(unsafe.Pointer(p)).FpNext != 0 { p = (*Select)(unsafe.Pointer(p)).FpNext } @@ -116240,7 +116259,7 @@ func findRightmost(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:134393:15: * // // If an illegal or unsupported join type is seen, then still return // a join type, but put an error in the pParse structure. -func Xsqlite3JoinType(tls *libc.TLS, pParse uintptr, pA uintptr, pB uintptr, pC uintptr) int32 { /* sqlite3.c:134415:20: */ +func Xsqlite3JoinType(tls *libc.TLS, pParse uintptr, pA uintptr, pB uintptr, pC uintptr) int32 { /* sqlite3.c:134428:20: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -116294,7 +116313,7 @@ func Xsqlite3JoinType(tls *libc.TLS, pParse uintptr, pA uintptr, pB uintptr, pC return jointype } -var zKeyText = *(*[34]uint8)(unsafe.Pointer(ts + 18382)) /* sqlite3.c:134420:21 */ +var zKeyText = *(*[34]uint8)(unsafe.Pointer(ts + 18382)) /* sqlite3.c:134433:21 */ var aKeyword = [7]struct { Fi U8 FnChar U8 @@ -116307,11 +116326,11 @@ var aKeyword = [7]struct { /* full */ {Fi: U8(19), FnChar: U8(4), Fcode: U8(JT_LEFT | JT_RIGHT | JT_OUTER)}, /* inner */ {Fi: U8(23), FnChar: U8(5), Fcode: U8(JT_INNER)}, /* cross */ {Fi: U8(28), FnChar: U8(5), Fcode: U8(JT_INNER | JT_CROSS)}, -} /* sqlite3.c:134425:5 */ +} /* sqlite3.c:134438:5 */ // Return the index of a column in a table. Return -1 if the column // is not contained in the table. -func Xsqlite3ColumnIndex(tls *libc.TLS, pTab uintptr, zCol uintptr) int32 { /* sqlite3.c:134476:20: */ +func Xsqlite3ColumnIndex(tls *libc.TLS, pTab uintptr, zCol uintptr) int32 { /* sqlite3.c:134489:20: */ var i int32 var h U8 = Xsqlite3StrIHash(tls, zCol) var pCol uintptr @@ -116345,7 +116364,7 @@ __3: // of the matching column and return TRUE. // // If not found, return FALSE. -func tableAndColumnIndex(tls *libc.TLS, pSrc uintptr, N int32, zCol uintptr, piTab uintptr, piCol uintptr, bIgnoreHidden int32) int32 { /* sqlite3.c:134495:12: */ +func tableAndColumnIndex(tls *libc.TLS, pSrc uintptr, N int32, zCol uintptr, piTab uintptr, piCol uintptr, bIgnoreHidden int32) int32 { /* sqlite3.c:134508:12: */ var i int32 // For looping over tables in pSrc var iCol int32 // Index of column matching zCol @@ -116373,7 +116392,7 @@ func tableAndColumnIndex(tls *libc.TLS, pSrc uintptr, N int32, zCol uintptr, piT // where tab1 is the iSrc'th table in SrcList pSrc and tab2 is the // (iSrc+1)'th. Column col1 is column iColLeft of tab1, and col2 is // column iColRight of tab2. -func addWhereTerm(tls *libc.TLS, pParse uintptr, pSrc uintptr, iLeft int32, iColLeft int32, iRight int32, iColRight int32, isOuterJoin int32, ppWhere uintptr) { /* sqlite3.c:134533:13: */ +func addWhereTerm(tls *libc.TLS, pParse uintptr, pSrc uintptr, iLeft int32, iColLeft int32, iRight int32, iColRight int32, isOuterJoin int32, ppWhere uintptr) { /* sqlite3.c:134546:13: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb var pE1 uintptr var pE2 uintptr @@ -116418,7 +116437,7 @@ func addWhereTerm(tls *libc.TLS, pParse uintptr, pSrc uintptr, iLeft int32, iCol // defer the handling of t1.x=5, it will be processed immediately // after the t1 loop and rows with t1.x!=5 will never appear in // the output, which is incorrect. -func Xsqlite3SetJoinExpr(tls *libc.TLS, p uintptr, iTable int32) { /* sqlite3.c:134595:21: */ +func Xsqlite3SetJoinExpr(tls *libc.TLS, p uintptr, iTable int32) { /* sqlite3.c:134608:21: */ for p != 0 { *(*U32)(unsafe.Pointer(p + 4)) |= U32(EP_FromJoin) @@ -116442,7 +116461,7 @@ func Xsqlite3SetJoinExpr(tls *libc.TLS, p uintptr, iTable int32) { /* sqlite3.c: // an ordinary term that omits the EP_FromJoin mark. // // This happens when a LEFT JOIN is simplified into an ordinary JOIN. -func unsetJoinExpr(tls *libc.TLS, p uintptr, iTable int32) { /* sqlite3.c:134621:13: */ +func unsetJoinExpr(tls *libc.TLS, p uintptr, iTable int32) { /* sqlite3.c:134634:13: */ for p != 0 { if (*Expr)(unsafe.Pointer(p)).Fflags&U32(EP_FromJoin) != U32(0) && (iTable < 0 || *(*int32)(unsafe.Pointer(p + 52)) == iTable) { @@ -116477,7 +116496,7 @@ func unsetJoinExpr(tls *libc.TLS, p uintptr, iTable int32) { /* sqlite3.c:134621 // also attached to the left entry. // // This routine returns the number of errors encountered. -func sqliteProcessJoin(tls *libc.TLS, pParse uintptr, p uintptr) int32 { /* sqlite3.c:134658:12: */ +func sqliteProcessJoin(tls *libc.TLS, pParse uintptr, p uintptr) int32 { /* sqlite3.c:134671:12: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -116591,11 +116610,11 @@ __3: // An instance of this object holds information (beyond pParse and pSelect) // needed to load the next result row that is to be added to the sorter. -type RowLoadInfo = RowLoadInfo1 /* sqlite3.c:134750:28 */ +type RowLoadInfo = RowLoadInfo1 /* sqlite3.c:134763:28 */ // This routine does the work of loading query data into an array of // registers so that it can be added to the sorter. -func innerLoopLoadRow(tls *libc.TLS, pParse uintptr, pSelect uintptr, pInfo uintptr) { /* sqlite3.c:134764:13: */ +func innerLoopLoadRow(tls *libc.TLS, pParse uintptr, pSelect uintptr, pInfo uintptr) { /* sqlite3.c:134777:13: */ Xsqlite3ExprCodeExprList(tls, pParse, (*Select)(unsafe.Pointer(pSelect)).FpEList, (*RowLoadInfo)(unsafe.Pointer(pInfo)).FregResult, 0, (*RowLoadInfo)(unsafe.Pointer(pInfo)).FecelFlags) } @@ -116604,7 +116623,7 @@ func innerLoopLoadRow(tls *libc.TLS, pParse uintptr, pSelect uintptr, pInfo uint // added into the sorter. // // Return the register in which the result is stored. -func makeSorterRecord(tls *libc.TLS, pParse uintptr, pSort uintptr, pSelect uintptr, regBase int32, nBase int32) int32 { /* sqlite3.c:134785:12: */ +func makeSorterRecord(tls *libc.TLS, pParse uintptr, pSort uintptr, pSelect uintptr, regBase int32, nBase int32) int32 { /* sqlite3.c:134798:12: */ var nOBSat int32 = (*SortCtx)(unsafe.Pointer(pSort)).FnOBSat var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe var regOut int32 = libc.PreIncInt32(&(*Parse)(unsafe.Pointer(pParse)).FnMem, 1) @@ -116617,7 +116636,7 @@ func makeSorterRecord(tls *libc.TLS, pParse uintptr, pSort uintptr, pSelect uint // Generate code that will push the record in registers regData // through regData+nData-1 onto the sorter. -func pushOntoSorter(tls *libc.TLS, pParse uintptr, pSort uintptr, pSelect uintptr, regData int32, regOrigData int32, nData int32, nPrefixReg int32) { /* sqlite3.c:134806:13: */ +func pushOntoSorter(tls *libc.TLS, pParse uintptr, pSort uintptr, pSelect uintptr, regData int32, regOrigData int32, nData int32, nPrefixReg int32) { /* sqlite3.c:134819:13: */ var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe // Stmt under construction var bSeq int32 = libc.Bool32(int32((*SortCtx)(unsafe.Pointer(pSort)).FsortFlags)&SORTFLAG_UseSorter == 0) var nExpr int32 = (*ExprList)(unsafe.Pointer((*SortCtx)(unsafe.Pointer(pSort)).FpOrderBy)).FnExpr // No. of ORDER BY terms @@ -116760,7 +116779,7 @@ func pushOntoSorter(tls *libc.TLS, pParse uintptr, pSort uintptr, pSelect uintpt } // Add code to implement the OFFSET -func codeOffset(tls *libc.TLS, v uintptr, iOffset int32, iContinue int32) { /* sqlite3.c:134948:13: */ +func codeOffset(tls *libc.TLS, v uintptr, iOffset int32, iContinue int32) { /* sqlite3.c:134961:13: */ if iOffset > 0 { Xsqlite3VdbeAddOp3(tls, v, OP_IfPos, iOffset, iContinue, 1) @@ -116808,7 +116827,7 @@ func codeOffset(tls *libc.TLS, v uintptr, iOffset int32, iContinue int32) { /* s // how many elements there are in the array of registers and (b) the // collation sequences that should be used for the comparisons if // eTnctType is WHERE_DISTINCT_ORDERED. -func codeDistinct(tls *libc.TLS, pParse uintptr, eTnctType int32, iTab int32, addrRepeat int32, pEList uintptr, regElem int32) int32 { /* sqlite3.c:135002:12: */ +func codeDistinct(tls *libc.TLS, pParse uintptr, eTnctType int32, iTab int32, addrRepeat int32, pEList uintptr, regElem int32) int32 { /* sqlite3.c:135015:12: */ var iRet int32 = 0 var nResultCol int32 = (*ExprList)(unsafe.Pointer(pEList)).FnExpr var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe @@ -116889,7 +116908,7 @@ func codeDistinct(tls *libc.TLS, pParse uintptr, eTnctType int32, iTab int32, ad // The ephemeral table is not needed. But we do need register // iVal to be initialized to NULL. So change the OP_OpenEphemeral // into an OP_Null on the iVal register. -func fixDistinctOpenEph(tls *libc.TLS, pParse uintptr, eTnctType int32, iVal int32, iOpenEphAddr int32) { /* sqlite3.c:135086:13: */ +func fixDistinctOpenEph(tls *libc.TLS, pParse uintptr, eTnctType int32, iVal int32, iOpenEphAddr int32) { /* sqlite3.c:135099:13: */ if (*Parse)(unsafe.Pointer(pParse)).FnErr == 0 && (eTnctType == WHERE_DISTINCT_UNIQUE || eTnctType == WHERE_DISTINCT_ORDERED) { var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe @@ -116917,7 +116936,7 @@ func fixDistinctOpenEph(tls *libc.TLS, pParse uintptr, eTnctType int32, iVal int // are evaluated in order to get the data for this row. If srcTab is // zero or more, then data is pulled from srcTab and p->pEList is used only // to get the number of columns and the collation sequence for each column. -func selectInnerLoop(tls *libc.TLS, pParse uintptr, p uintptr, srcTab int32, pSort uintptr, pDistinct uintptr, pDest uintptr, iContinue int32, iBreak int32) { /* sqlite3.c:135208:13: */ +func selectInnerLoop(tls *libc.TLS, pParse uintptr, p uintptr, srcTab int32, pSort uintptr, pDistinct uintptr, pDest uintptr, iContinue int32, iBreak int32) { /* sqlite3.c:135221:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -117273,7 +117292,7 @@ func selectInnerLoop(tls *libc.TLS, pParse uintptr, p uintptr, srcTab int32, pSo // Allocate a KeyInfo object sufficient for an index of N key columns and // X extra columns. -func Xsqlite3KeyInfoAlloc(tls *libc.TLS, db uintptr, N int32, X int32) uintptr { /* sqlite3.c:135602:24: */ +func Xsqlite3KeyInfoAlloc(tls *libc.TLS, db uintptr, N int32, X int32) uintptr { /* sqlite3.c:135615:24: */ var nExtra int32 = int32(uint64(N+X)*(uint64(unsafe.Sizeof(uintptr(0)))+uint64(1)) - uint64(unsafe.Sizeof(uintptr(0)))) var p uintptr = Xsqlite3DbMallocRawNN(tls, db, uint64(uint64(unsafe.Sizeof(KeyInfo{}))+uint64(nExtra))) if p != 0 { @@ -117291,7 +117310,7 @@ func Xsqlite3KeyInfoAlloc(tls *libc.TLS, db uintptr, N int32, X int32) uintptr { } // Deallocate a KeyInfo object -func Xsqlite3KeyInfoUnref(tls *libc.TLS, p uintptr) { /* sqlite3.c:135622:21: */ +func Xsqlite3KeyInfoUnref(tls *libc.TLS, p uintptr) { /* sqlite3.c:135635:21: */ if p != 0 { (*KeyInfo)(unsafe.Pointer(p)).FnRef-- @@ -117302,7 +117321,7 @@ func Xsqlite3KeyInfoUnref(tls *libc.TLS, p uintptr) { /* sqlite3.c:135622:21: */ } // Make a new pointer to a KeyInfo object -func Xsqlite3KeyInfoRef(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:135633:24: */ +func Xsqlite3KeyInfoRef(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:135646:24: */ if p != 0 { (*KeyInfo)(unsafe.Pointer(p)).FnRef++ @@ -117322,7 +117341,7 @@ func Xsqlite3KeyInfoRef(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:135633: // Space to hold the KeyInfo structure is obtained from malloc. The calling // function is responsible for seeing that this structure is eventually // freed. -func Xsqlite3KeyInfoFromExprList(tls *libc.TLS, pParse uintptr, pList uintptr, iStart int32, nExtra int32) uintptr { /* sqlite3.c:135665:24: */ +func Xsqlite3KeyInfoFromExprList(tls *libc.TLS, pParse uintptr, pList uintptr, iStart int32, nExtra int32) uintptr { /* sqlite3.c:135678:24: */ var nExpr int32 var pInfo uintptr var pItem uintptr @@ -117356,7 +117375,7 @@ func Xsqlite3KeyInfoFromExprList(tls *libc.TLS, pParse uintptr, pList uintptr, i } // Name of the connection operator, used for error messages. -func Xsqlite3SelectOpName(tls *libc.TLS, id int32) uintptr { /* sqlite3.c:135692:27: */ +func Xsqlite3SelectOpName(tls *libc.TLS, id int32) uintptr { /* sqlite3.c:135705:27: */ var z uintptr switch id { case TK_ALL: @@ -117383,7 +117402,7 @@ func Xsqlite3SelectOpName(tls *libc.TLS, id int32) uintptr { /* sqlite3.c:135692 // // where xxx is one of "DISTINCT", "ORDER BY" or "GROUP BY". Exactly which // is determined by the zUsage argument. -func explainTempTable(tls *libc.TLS, pParse uintptr, zUsage uintptr) { /* sqlite3.c:135714:13: */ +func explainTempTable(tls *libc.TLS, pParse uintptr, zUsage uintptr) { /* sqlite3.c:135727:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -117400,7 +117419,7 @@ func explainTempTable(tls *libc.TLS, pParse uintptr, zUsage uintptr) { /* sqlite // then the results were placed in a sorter. After the loop is terminated // we need to run the sorter and output the results. The following // routine generates the code needed to do that. -func generateSortTail(tls *libc.TLS, pParse uintptr, p uintptr, pSort uintptr, nColumn int32, pDest uintptr) { /* sqlite3.c:135740:13: */ +func generateSortTail(tls *libc.TLS, pParse uintptr, p uintptr, pSort uintptr, nColumn int32, pDest uintptr) { /* sqlite3.c:135753:13: */ var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe // The prepared statement var addrBreak int32 = (*SortCtx)(unsafe.Pointer(pSort)).FlabelDone // Jump here to exit loop var addrContinue int32 = Xsqlite3VdbeMakeLabel(tls, pParse) // Jump here for next cycle @@ -117579,7 +117598,7 @@ func generateSortTail(tls *libc.TLS, pParse uintptr, p uintptr, pSort uintptr, n // // This routine has either 3 or 6 parameters depending on whether or not // the SQLITE_ENABLE_COLUMN_METADATA compile-time option is used. -func columnTypeImpl(tls *libc.TLS, pNC uintptr, pExpr uintptr, pzOrigDb uintptr, pzOrigTab uintptr, pzOrigCol uintptr) uintptr { /* sqlite3.c:135968:19: */ +func columnTypeImpl(tls *libc.TLS, pNC uintptr, pExpr uintptr, pzOrigDb uintptr, pzOrigTab uintptr, pzOrigCol uintptr) uintptr { /* sqlite3.c:135981:19: */ bp := tls.Alloc(136) defer tls.Free(136) @@ -117703,7 +117722,7 @@ func columnTypeImpl(tls *libc.TLS, pNC uintptr, pExpr uintptr, pzOrigDb uintptr, // Generate code that will tell the VDBE the declaration types of columns // in the result set. -func generateColumnTypes(tls *libc.TLS, pParse uintptr, pTabList uintptr, pEList uintptr) { /* sqlite3.c:136119:13: */ +func generateColumnTypes(tls *libc.TLS, pParse uintptr, pTabList uintptr, pEList uintptr) { /* sqlite3.c:136132:13: */ bp := tls.Alloc(80) defer tls.Free(80) @@ -117760,7 +117779,7 @@ func generateColumnTypes(tls *libc.TLS, pParse uintptr, pTabList uintptr, pEList // full=ON, short=ANY: If the result refers directly to a table column, // then the result column name with the table name // prefix, ex: TABLE.COLUMN. Otherwise use zSpan. -func Xsqlite3GenerateColumnNames(tls *libc.TLS, pParse uintptr, pSelect uintptr) { /* sqlite3.c:136186:21: */ +func Xsqlite3GenerateColumnNames(tls *libc.TLS, pParse uintptr, pSelect uintptr) { /* sqlite3.c:136199:21: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -117860,7 +117879,7 @@ func Xsqlite3GenerateColumnNames(tls *libc.TLS, pParse uintptr, pSelect uintptr) // when modifying this routine to avoid breaking legacy. // // See Also: sqlite3GenerateColumnNames() -func Xsqlite3ColumnsFromExprList(tls *libc.TLS, pParse uintptr, pEList uintptr, pnCol uintptr, paCol uintptr) int32 { /* sqlite3.c:136279:20: */ +func Xsqlite3ColumnsFromExprList(tls *libc.TLS, pParse uintptr, pEList uintptr, pnCol uintptr, paCol uintptr) int32 { /* sqlite3.c:136292:20: */ bp := tls.Alloc(60) defer tls.Free(60) @@ -117992,7 +118011,7 @@ __3: // // This routine requires that all identifiers in the SELECT // statement be resolved. -func Xsqlite3SelectAddColumnTypeAndCollation(tls *libc.TLS, pParse uintptr, pTab uintptr, pSelect uintptr, aff uint8) { /* sqlite3.c:136386:21: */ +func Xsqlite3SelectAddColumnTypeAndCollation(tls *libc.TLS, pParse uintptr, pTab uintptr, pSelect uintptr, aff uint8) { /* sqlite3.c:136399:21: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -118061,7 +118080,7 @@ __3: // Given a SELECT statement, generate a Table structure that describes // the result set of that SELECT. -func Xsqlite3ResultSetOfSelect(tls *libc.TLS, pParse uintptr, pSelect uintptr, aff uint8) uintptr { /* sqlite3.c:136441:22: */ +func Xsqlite3ResultSetOfSelect(tls *libc.TLS, pParse uintptr, pSelect uintptr, aff uint8) uintptr { /* sqlite3.c:136454:22: */ var pTab uintptr var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb var savedFlags U64 @@ -118096,7 +118115,7 @@ func Xsqlite3ResultSetOfSelect(tls *libc.TLS, pParse uintptr, pSelect uintptr, a // Get a VDBE for the given parser context. Create a new one if necessary. // If an error occurs, return NULL and leave a message in pParse. -func Xsqlite3GetVdbe(tls *libc.TLS, pParse uintptr) uintptr { /* sqlite3.c:136474:21: */ +func Xsqlite3GetVdbe(tls *libc.TLS, pParse uintptr) uintptr { /* sqlite3.c:136487:21: */ if (*Parse)(unsafe.Pointer(pParse)).FpVdbe != 0 { return (*Parse)(unsafe.Pointer(pParse)).FpVdbe } @@ -118128,7 +118147,7 @@ func Xsqlite3GetVdbe(tls *libc.TLS, pParse uintptr) uintptr { /* sqlite3.c:13647 // redefined. The UNION ALL operator uses this property to force // the reuse of the same limit and offset registers across multiple // SELECT statements. -func computeLimitRegisters(tls *libc.TLS, pParse uintptr, p uintptr, iBreak int32) { /* sqlite3.c:136510:13: */ +func computeLimitRegisters(tls *libc.TLS, pParse uintptr, p uintptr, iBreak int32) { /* sqlite3.c:136523:13: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -118185,7 +118204,7 @@ func computeLimitRegisters(tls *libc.TLS, pParse uintptr, p uintptr, iBreak int3 // // The collating sequence for the compound select is taken from the // left-most term of the select that has a collating sequence. -func multiSelectCollSeq(tls *libc.TLS, pParse uintptr, p uintptr, iCol int32) uintptr { /* sqlite3.c:136567:16: */ +func multiSelectCollSeq(tls *libc.TLS, pParse uintptr, p uintptr, iCol int32) uintptr { /* sqlite3.c:136580:16: */ var pRet uintptr if (*Select)(unsafe.Pointer(p)).FpPrior != 0 { pRet = multiSelectCollSeq(tls, pParse, (*Select)(unsafe.Pointer(p)).FpPrior, iCol) @@ -118209,7 +118228,7 @@ func multiSelectCollSeq(tls *libc.TLS, pParse uintptr, p uintptr, iCol int32) ui // Space to hold the KeyInfo structure is obtained from malloc. The calling // function is responsible for ensuring that this structure is eventually // freed. -func multiSelectOrderByKeyInfo(tls *libc.TLS, pParse uintptr, p uintptr, nExtra int32) uintptr { /* sqlite3.c:136593:16: */ +func multiSelectOrderByKeyInfo(tls *libc.TLS, pParse uintptr, p uintptr, nExtra int32) uintptr { /* sqlite3.c:136606:16: */ var pOrderBy uintptr = (*Select)(unsafe.Pointer(p)).FpOrderBy var nOrderBy int32 if pOrderBy != uintptr(0) { @@ -118278,7 +118297,7 @@ func multiSelectOrderByKeyInfo(tls *libc.TLS, pParse uintptr, p uintptr, nExtra // with a positive value, then the first OFFSET outputs are discarded rather // than being sent to pDest. The LIMIT count does not begin until after OFFSET // rows have been skipped. -func generateWithRecursiveQuery(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) { /* sqlite3.c:136659:13: */ +func generateWithRecursiveQuery(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) { /* sqlite3.c:136672:13: */ bp := tls.Alloc(40) defer tls.Free(40) @@ -118519,7 +118538,7 @@ end_of_recursive_query: // clause occurs within scalar expression (ex: "SELECT (VALUES(1),(2),(3))"). // The sqlite3CodeSubselect will have added the LIMIT 1 clause in tht case. // Since the limit is exactly 1, we only need to evalutes the left-most VALUES. -func multiSelectValues(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) int32 { /* sqlite3.c:136835:12: */ +func multiSelectValues(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) int32 { /* sqlite3.c:136848:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -118559,7 +118578,7 @@ func multiSelectValues(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) // Return true if the SELECT statement which is known to be the recursive // part of a recursive CTE still has its anchor terms attached. If the // anchor terms have already been removed, then return false. -func hasAnchor(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:136872:12: */ +func hasAnchor(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:136885:12: */ for p != 0 && (*Select)(unsafe.Pointer(p)).FselFlags&U32(SF_Recursive) != U32(0) { p = (*Select)(unsafe.Pointer(p)).FpPrior } @@ -118595,7 +118614,7 @@ func hasAnchor(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:136872:12: */ // // Notice that because of the way SQLite parses compound SELECTs, the // individual selects always group from left to right. -func multiSelect(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) int32 { /* sqlite3.c:136908:12: */ +func multiSelect(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) int32 { /* sqlite3.c:136921:12: */ bp := tls.Alloc(144) defer tls.Free(144) @@ -119058,7 +119077,7 @@ __44: // Error message for when two or more terms of a compound select have different // size result sets. -func Xsqlite3SelectWrongNumTermsError(tls *libc.TLS, pParse uintptr, p uintptr) { /* sqlite3.c:137264:21: */ +func Xsqlite3SelectWrongNumTermsError(tls *libc.TLS, pParse uintptr, p uintptr) { /* sqlite3.c:137277:21: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -119089,7 +119108,7 @@ func Xsqlite3SelectWrongNumTermsError(tls *libc.TLS, pParse uintptr, p uintptr) // // If the LIMIT found in p->iLimit is reached, jump immediately to // iBreak. -func generateOutputSubroutine(tls *libc.TLS, pParse uintptr, p uintptr, pIn uintptr, pDest uintptr, regReturn int32, regPrev int32, pKeyInfo uintptr, iBreak int32) int32 { /* sqlite3.c:137294:12: */ +func generateOutputSubroutine(tls *libc.TLS, pParse uintptr, p uintptr, pIn uintptr, pDest uintptr, regReturn int32, regPrev int32, pKeyInfo uintptr, iBreak int32) int32 { /* sqlite3.c:137307:12: */ var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe var iContinue int32 var addr int32 @@ -119285,7 +119304,7 @@ func generateOutputSubroutine(tls *libc.TLS, pParse uintptr, p uintptr, pIn uint // actually called using Gosub and they do not Return. EofA and EofB loop // until all data is exhausted then jump to the "end" labe. AltB, AeqB, // and AgtB jump to either L2 or to one of EofA or EofB. -func multiSelectOrderBy(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) int32 { /* sqlite3.c:137502:12: */ +func multiSelectOrderBy(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) int32 { /* sqlite3.c:137515:12: */ bp := tls.Alloc(88) defer tls.Free(88) @@ -119635,14 +119654,14 @@ type SubstContext1 = struct { FisLeftJoin int32 F__ccgo_pad1 [4]byte FpEList uintptr -} /* sqlite3.c:137827:9 */ +} /* sqlite3.c:137840:9 */ // An instance of the SubstContext object describes an substitution edit // to be performed on a parse tree. // // All references to columns in table iTable are to be replaced by corresponding // expressions in pEList. -type SubstContext = SubstContext1 /* sqlite3.c:137833:3 */ +type SubstContext = SubstContext1 /* sqlite3.c:137846:3 */ // Scan through the expression pExpr. Replace every reference to // a column in table number iTable with a copy of the iColumn-th @@ -119655,7 +119674,7 @@ type SubstContext = SubstContext1 /* sqlite3.c:137833:3 */ // FORM clause entry is iTable. This routine makes the necessary // changes to pExpr so that it refers directly to the source table // of the subquery rather the result set of the subquery. -func substExpr(tls *libc.TLS, pSubst uintptr, pExpr uintptr) uintptr { /* sqlite3.c:137852:13: */ +func substExpr(tls *libc.TLS, pSubst uintptr, pExpr uintptr) uintptr { /* sqlite3.c:137865:13: */ bp := tls.Alloc(72) defer tls.Free(72) @@ -119738,7 +119757,7 @@ func substExpr(tls *libc.TLS, pSubst uintptr, pExpr uintptr) uintptr { /* sqlite return pExpr } -func substExprList(tls *libc.TLS, pSubst uintptr, pList uintptr) { /* sqlite3.c:137937:13: */ +func substExprList(tls *libc.TLS, pSubst uintptr, pList uintptr) { /* sqlite3.c:137950:13: */ var i int32 if pList == uintptr(0) { return @@ -119748,7 +119767,7 @@ func substExprList(tls *libc.TLS, pSubst uintptr, pList uintptr) { /* sqlite3.c: } } -func substSelect(tls *libc.TLS, pSubst uintptr, p uintptr, doPrior int32) { /* sqlite3.c:137947:13: */ +func substSelect(tls *libc.TLS, pSubst uintptr, p uintptr, doPrior int32) { /* sqlite3.c:137960:13: */ var pSrc uintptr var pItem uintptr var i int32 @@ -119791,7 +119810,7 @@ func substSelect(tls *libc.TLS, pSubst uintptr, p uintptr, doPrior int32) { /* s // // This routine scans the entire SELECT statement and recomputes the // pSrcItem->colUsed mask. -func recomputeColumnsUsedExpr(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:137982:12: */ +func recomputeColumnsUsedExpr(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:137995:12: */ var pItem uintptr if int32((*Expr)(unsafe.Pointer(pExpr)).Fop) != TK_COLUMN { return WRC_Continue @@ -119807,7 +119826,7 @@ func recomputeColumnsUsedExpr(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int return WRC_Continue } -func recomputeColumnsUsed(tls *libc.TLS, pSelect uintptr, pSrcItem uintptr) { /* sqlite3.c:137991:13: */ +func recomputeColumnsUsed(tls *libc.TLS, pSelect uintptr, pSrcItem uintptr) { /* sqlite3.c:138004:13: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -119839,7 +119858,7 @@ func recomputeColumnsUsed(tls *libc.TLS, pSelect uintptr, pSrcItem uintptr) { /* // // If pSrc contains any sub-selects, call this routine recursively // on the FROM clause of each such sub-select, with iExcept set to -1. -func srclistRenumberCursors(tls *libc.TLS, pParse uintptr, aCsrMap uintptr, pSrc uintptr, iExcept int32) { /* sqlite3.c:138020:13: */ +func srclistRenumberCursors(tls *libc.TLS, pParse uintptr, aCsrMap uintptr, pSrc uintptr, iExcept int32) { /* sqlite3.c:138033:13: */ var i int32 var pItem uintptr i = 0 @@ -119872,7 +119891,7 @@ __3: } // *piCursor is a cursor number. Change it if it needs to be mapped. -func renumberCursorDoMapping(tls *libc.TLS, pWalker uintptr, piCursor uintptr) { /* sqlite3.c:138046:13: */ +func renumberCursorDoMapping(tls *libc.TLS, pWalker uintptr, piCursor uintptr) { /* sqlite3.c:138059:13: */ var aCsrMap uintptr = *(*uintptr)(unsafe.Pointer(pWalker + 40)) var iCsr int32 = *(*int32)(unsafe.Pointer(piCursor)) if iCsr < *(*int32)(unsafe.Pointer(aCsrMap)) && *(*int32)(unsafe.Pointer(aCsrMap + uintptr(iCsr+1)*4)) > 0 { @@ -119882,7 +119901,7 @@ func renumberCursorDoMapping(tls *libc.TLS, pWalker uintptr, piCursor uintptr) { // Expression walker callback used by renumberCursors() to update // Expr objects to match newly assigned cursor numbers. -func renumberCursorsCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:138058:12: */ +func renumberCursorsCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:138071:12: */ var op int32 = int32((*Expr)(unsafe.Pointer(pExpr)).Fop) if op == TK_COLUMN || op == TK_IF_NULL_ROW { renumberCursorDoMapping(tls, pWalker, pExpr+44) @@ -119909,7 +119928,7 @@ func renumberCursorsCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* // * the array entries for all cursor numbers that do *not* appear in // FROM clauses of the select statement as described above are // initialized to zero. -func renumberCursors(tls *libc.TLS, pParse uintptr, p uintptr, iExcept int32, aCsrMap uintptr) { /* sqlite3.c:138087:13: */ +func renumberCursors(tls *libc.TLS, pParse uintptr, p uintptr, iExcept int32, aCsrMap uintptr) { /* sqlite3.c:138100:13: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -120079,7 +120098,7 @@ func renumberCursors(tls *libc.TLS, pParse uintptr, p uintptr, iExcept int32, aC // // All of the expression analysis must occur on both the outer query and // the subquery before this routine runs. -func flattenSubquery(tls *libc.TLS, pParse uintptr, p uintptr, iFrom int32, isAgg int32) int32 { /* sqlite3.c:138258:12: */ +func flattenSubquery(tls *libc.TLS, pParse uintptr, p uintptr, iFrom int32, isAgg int32) int32 { /* sqlite3.c:138271:12: */ bp := tls.Alloc(80) defer tls.Free(80) @@ -120504,7 +120523,7 @@ __3: // A structure to keep track of all of the column values that are fixed to // a known value due to WHERE clause constraints of the form COLUMN=VALUE. -type WhereConst = WhereConst1 /* sqlite3.c:138682:27 */ +type WhereConst = WhereConst1 /* sqlite3.c:138695:27 */ // Add a new entry to the pConst object. Except, do not add duplicate // pColumn entires. Also, do not add if doing so would not be appropriate. @@ -120512,7 +120531,7 @@ type WhereConst = WhereConst1 /* sqlite3.c:138682:27 */ // The caller guarantees the pColumn is a column and pValue is a constant. // This routine has to do some additional checks before completing the // insert. -func constInsert(tls *libc.TLS, pConst uintptr, pColumn uintptr, pValue uintptr, pExpr uintptr) { /* sqlite3.c:138700:13: */ +func constInsert(tls *libc.TLS, pConst uintptr, pColumn uintptr, pValue uintptr, pExpr uintptr) { /* sqlite3.c:138713:13: */ var i int32 if (*Expr)(unsafe.Pointer(pColumn)).Fflags&U32(EP_FixedCol) != U32(0) { @@ -120554,7 +120573,7 @@ func constInsert(tls *libc.TLS, pConst uintptr, pColumn uintptr, pValue uintptr, // is a constant expression and where the term must be true because it // is part of the AND-connected terms of the expression. For each term // found, add it to the pConst structure. -func findConstInWhere(tls *libc.TLS, pConst uintptr, pExpr uintptr) { /* sqlite3.c:138748:13: */ +func findConstInWhere(tls *libc.TLS, pConst uintptr, pExpr uintptr) { /* sqlite3.c:138761:13: */ var pRight uintptr var pLeft uintptr if pExpr == uintptr(0) { @@ -120589,7 +120608,7 @@ func findConstInWhere(tls *libc.TLS, pConst uintptr, pExpr uintptr) { /* sqlite3 // then overwrite it with the corresponding value. Except, do not do so // if argument bIgnoreAffBlob is non-zero and the affinity of pExpr // is SQLITE_AFF_BLOB. -func propagateConstantExprRewriteOne(tls *libc.TLS, pConst uintptr, pExpr uintptr, bIgnoreAffBlob int32) int32 { /* sqlite3.c:138779:12: */ +func propagateConstantExprRewriteOne(tls *libc.TLS, pConst uintptr, pExpr uintptr, bIgnoreAffBlob int32) int32 { /* sqlite3.c:138792:12: */ var i int32 if *(*U8)(unsafe.Pointer((*WhereConst)(unsafe.Pointer(pConst)).FpOomFault)) != 0 { return WRC_Prune @@ -120643,7 +120662,7 @@ func propagateConstantExprRewriteOne(tls *libc.TLS, pConst uintptr, pExpr uintpt // uses an affinity other than TEXT and one of its immediate // children is a column that matches one of the columns in // pWalker->u.pConst. -func propagateConstantExprRewrite(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:138828:12: */ +func propagateConstantExprRewrite(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:138841:12: */ var pConst uintptr = *(*uintptr)(unsafe.Pointer(pWalker + 40)) if (*WhereConst)(unsafe.Pointer(pConst)).FbHasAffBlob != 0 { @@ -120710,7 +120729,7 @@ func propagateConstantExprRewrite(tls *libc.TLS, pWalker uintptr, pExpr uintptr) // operators ==, <=, <, >=, >, or IS in a way that will cause the correct // type conversions to occur. See logic associated with the bHasAffBlob flag // for details. -func propagateConstants(tls *libc.TLS, pParse uintptr, p uintptr) int32 { /* sqlite3.c:138899:12: */ +func propagateConstants(tls *libc.TLS, pParse uintptr, p uintptr) int32 { /* sqlite3.c:138912:12: */ bp := tls.Alloc(88) defer tls.Free(88) @@ -120763,7 +120782,7 @@ func propagateConstants(tls *libc.TLS, pParse uintptr, p uintptr) int32 { /* sql // // * the sub-query uses only one distinct window frame, and // * that the window frame has a PARTITION BY clase. -func pushDownWindowCheck(tls *libc.TLS, pParse uintptr, pSubq uintptr, pExpr uintptr) int32 { /* sqlite3.c:138950:12: */ +func pushDownWindowCheck(tls *libc.TLS, pParse uintptr, pSubq uintptr, pExpr uintptr) int32 { /* sqlite3.c:138963:12: */ return Xsqlite3ExprIsConstantOrGroupBy(tls, pParse, pExpr, (*Window)(unsafe.Pointer((*Select)(unsafe.Pointer(pSubq)).FpWin)).FpPartition) } @@ -120834,7 +120853,7 @@ func pushDownWindowCheck(tls *libc.TLS, pParse uintptr, pSubq uintptr, pExpr uin // // Return 0 if no changes are made and non-zero if one or more WHERE clause // terms are duplicated into the subquery. -func pushDownWhereTerms(tls *libc.TLS, pParse uintptr, pSubq uintptr, pWhere uintptr, iCursor int32, isLeftJoin int32) int32 { /* sqlite3.c:139028:12: */ +func pushDownWhereTerms(tls *libc.TLS, pParse uintptr, pSubq uintptr, pWhere uintptr, iCursor int32, isLeftJoin int32) int32 { /* sqlite3.c:139041:12: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -120922,7 +120941,7 @@ func pushDownWhereTerms(tls *libc.TLS, pParse uintptr, pSubq uintptr, pWhere uin // This routine must be called after aggregate functions have been // located but before their arguments have been subjected to aggregate // analysis. -func minMaxQuery(tls *libc.TLS, db uintptr, pFunc uintptr, ppMinMax uintptr) U8 { /* sqlite3.c:139132:11: */ +func minMaxQuery(tls *libc.TLS, db uintptr, pFunc uintptr, ppMinMax uintptr) U8 { /* sqlite3.c:139145:11: */ var eRet int32 = WHERE_ORDERBY_NORMAL // Return value var pEList uintptr // Arguments to agg function var zFunc uintptr // Name of aggregate function pFunc @@ -120972,7 +120991,7 @@ func minMaxQuery(tls *libc.TLS, db uintptr, pFunc uintptr, ppMinMax uintptr) U8 // this routine returns NULL when it could have returned a table pointer. // But returning the pointer when NULL should have been returned can // result in incorrect answers and/or crashes. So, when in doubt, return NULL. -func isSimpleCount(tls *libc.TLS, p uintptr, pAggInfo uintptr) uintptr { /* sqlite3.c:139187:14: */ +func isSimpleCount(tls *libc.TLS, p uintptr, pAggInfo uintptr) uintptr { /* sqlite3.c:139200:14: */ var pTab uintptr var pExpr uintptr @@ -121012,7 +121031,7 @@ func isSimpleCount(tls *libc.TLS, p uintptr, pAggInfo uintptr) uintptr { /* sqli // was such a clause and the named index cannot be found, return // SQLITE_ERROR and leave an error in pParse. Otherwise, populate // pFrom->pIndex and return SQLITE_OK. -func Xsqlite3IndexedByLookup(tls *libc.TLS, pParse uintptr, pFrom uintptr) int32 { /* sqlite3.c:139225:20: */ +func Xsqlite3IndexedByLookup(tls *libc.TLS, pParse uintptr, pFrom uintptr) int32 { /* sqlite3.c:139238:20: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -121051,7 +121070,7 @@ func Xsqlite3IndexedByLookup(tls *libc.TLS, pParse uintptr, pFrom uintptr) int32 // This transformation is only needed for EXCEPT, INTERSECT, and UNION. // The UNION ALL operator works fine with multiSelectOrderBy() even when // there are COLLATE terms in the ORDER BY. -func convertCompoundSelectToSubquery(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sqlite3.c:139267:12: */ +func convertCompoundSelectToSubquery(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sqlite3.c:139280:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -121130,7 +121149,7 @@ func convertCompoundSelectToSubquery(tls *libc.TLS, pWalker uintptr, p uintptr) // Check to see if the FROM clause term pFrom has table-valued function // arguments. If it does, leave an error message in pParse and return // non-zero, since pFrom is not allowed to be a table-valued function. -func cannotBeFunction(tls *libc.TLS, pParse uintptr, pFrom uintptr) int32 { /* sqlite3.c:139332:12: */ +func cannotBeFunction(tls *libc.TLS, pParse uintptr, pFrom uintptr) int32 { /* sqlite3.c:139345:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -121149,7 +121168,7 @@ func cannotBeFunction(tls *libc.TLS, pParse uintptr, pFrom uintptr) int32 { /* s // // If a non-NULL value is returned, set *ppContext to point to the With // object that the returned CTE belongs to. -func searchWith(tls *libc.TLS, pWith uintptr, pItem uintptr, ppContext uintptr) uintptr { /* sqlite3.c:139351:19: */ +func searchWith(tls *libc.TLS, pWith uintptr, pItem uintptr, ppContext uintptr) uintptr { /* sqlite3.c:139364:19: */ var zName uintptr = (*SrcItem)(unsafe.Pointer(pItem)).FzName var p uintptr @@ -121184,7 +121203,7 @@ func searchWith(tls *libc.TLS, pWith uintptr, pItem uintptr, ppContext uintptr) // // If bFree is true, do not continue to use the pWith pointer after // calling this routine, Instead, use only the return value. -func Xsqlite3WithPush(tls *libc.TLS, pParse uintptr, pWith uintptr, bFree U8) uintptr { /* sqlite3.c:139390:21: */ +func Xsqlite3WithPush(tls *libc.TLS, pParse uintptr, pWith uintptr, bFree U8) uintptr { /* sqlite3.c:139403:21: */ if pWith != 0 { if bFree != 0 { pWith = Xsqlite3ParserAddCleanup(tls, pParse, @@ -121217,7 +121236,7 @@ func Xsqlite3WithPush(tls *libc.TLS, pParse uintptr, pWith uintptr, bFree U8) ui // Return 0 if no match is found. // Return 1 if a match is found. // Return 2 if an error condition is detected. -func resolveFromTermToCte(tls *libc.TLS, pParse uintptr, pWalker uintptr, pFrom uintptr) int32 { /* sqlite3.c:139421:12: */ +func resolveFromTermToCte(tls *libc.TLS, pParse uintptr, pWalker uintptr, pFrom uintptr) int32 { /* sqlite3.c:139434:12: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -121399,7 +121418,7 @@ func resolveFromTermToCte(tls *libc.TLS, pParse uintptr, pWalker uintptr, pFrom // This function is used as the xSelectCallback2() callback by // sqlite3SelectExpand() when walking a SELECT tree to resolve table // names and other FROM clause elements. -func Xsqlite3SelectPopWith(tls *libc.TLS, pWalker uintptr, p uintptr) { /* sqlite3.c:139605:21: */ +func Xsqlite3SelectPopWith(tls *libc.TLS, pWalker uintptr, p uintptr) { /* sqlite3.c:139618:21: */ var pParse uintptr = (*Walker)(unsafe.Pointer(pWalker)).FpParse if (*Parse)(unsafe.Pointer(pParse)).FpWith != 0 && (*Select)(unsafe.Pointer(p)).FpPrior == uintptr(0) { var pWith uintptr = (*Select)(unsafe.Pointer(findRightmost(tls, p))).FpWith @@ -121415,7 +121434,7 @@ func Xsqlite3SelectPopWith(tls *libc.TLS, pWalker uintptr, p uintptr) { /* sqlit // allocates and populates the SrcList_item.pTab object. If successful, // SQLITE_OK is returned. Otherwise, if an OOM error is encountered, // SQLITE_NOMEM. -func Xsqlite3ExpandSubquery(tls *libc.TLS, pParse uintptr, pFrom uintptr) int32 { /* sqlite3.c:139624:20: */ +func Xsqlite3ExpandSubquery(tls *libc.TLS, pParse uintptr, pFrom uintptr) int32 { /* sqlite3.c:139637:20: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -121469,7 +121488,7 @@ func Xsqlite3ExpandSubquery(tls *libc.TLS, pParse uintptr, pFrom uintptr) int32 // If found, expand each "*" to be every column in every table // and TABLE.* to be every column in TABLE. // -func selectExpander(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sqlite3.c:139676:12: */ +func selectExpander(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sqlite3.c:139689:12: */ bp := tls.Alloc(88) defer tls.Free(88) @@ -121818,7 +121837,7 @@ __3: // If anything goes wrong, an error message is written into pParse. // The calling function can detect the problem by looking at pParse->nErr // and/or pParse->db->mallocFailed. -func sqlite3SelectExpand(tls *libc.TLS, pParse uintptr, pSelect uintptr) { /* sqlite3.c:140003:13: */ +func sqlite3SelectExpand(tls *libc.TLS, pParse uintptr, pSelect uintptr) { /* sqlite3.c:140016:13: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -121856,7 +121875,7 @@ func sqlite3SelectExpand(tls *libc.TLS, pParse uintptr, pSelect uintptr) { /* sq // by selectExpander() but the type and collation information was omitted // at that point because identifiers had not yet been resolved. This // routine is called after identifier resolution. -func selectAddSubqueryTypeInfo(tls *libc.TLS, pWalker uintptr, p uintptr) { /* sqlite3.c:140033:13: */ +func selectAddSubqueryTypeInfo(tls *libc.TLS, pWalker uintptr, p uintptr) { /* sqlite3.c:140046:13: */ var pParse uintptr var i int32 var pTabList uintptr @@ -121904,7 +121923,7 @@ __3: // SELECT statement. // // Use this routine after name resolution. -func sqlite3SelectAddTypeInfo(tls *libc.TLS, pParse uintptr, pSelect uintptr) { /* sqlite3.c:140068:13: */ +func sqlite3SelectAddTypeInfo(tls *libc.TLS, pParse uintptr, pSelect uintptr) { /* sqlite3.c:140081:13: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -121933,7 +121952,7 @@ func sqlite3SelectAddTypeInfo(tls *libc.TLS, pParse uintptr, pSelect uintptr) { // * Identifiers in expression are matched to tables. // // This routine acts recursively on all subqueries within the SELECT. -func Xsqlite3SelectPrep(tls *libc.TLS, pParse uintptr, p uintptr, pOuterNC uintptr) { /* sqlite3.c:140092:21: */ +func Xsqlite3SelectPrep(tls *libc.TLS, pParse uintptr, p uintptr, pOuterNC uintptr) { /* sqlite3.c:140105:21: */ if (*Sqlite3)(unsafe.Pointer((*Parse)(unsafe.Pointer(pParse)).Fdb)).FmallocFailed != 0 { return @@ -121958,7 +121977,7 @@ func Xsqlite3SelectPrep(tls *libc.TLS, pParse uintptr, p uintptr, pOuterNC uintp // intermediate results while calculating an aggregate. This // routine generates code that stores NULLs in all of those memory // cells. -func resetAccumulator(tls *libc.TLS, pParse uintptr, pAggInfo uintptr) { /* sqlite3.c:140116:13: */ +func resetAccumulator(tls *libc.TLS, pParse uintptr, pAggInfo uintptr) { /* sqlite3.c:140129:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -122008,7 +122027,7 @@ __3: // Invoke the OP_AggFinalize opcode for every aggregate function // in the AggInfo structure. -func finalizeAggFunctions(tls *libc.TLS, pParse uintptr, pAggInfo uintptr) { /* sqlite3.c:140162:13: */ +func finalizeAggFunctions(tls *libc.TLS, pParse uintptr, pAggInfo uintptr) { /* sqlite3.c:140175:13: */ var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe var i int32 var pF uintptr @@ -122047,7 +122066,7 @@ __3: // in pAggInfo, then only populate the pAggInfo->nAccumulator accumulator // registers if register regAcc contains 0. The caller will take care // of setting and clearing regAcc. -func updateAccumulator(tls *libc.TLS, pParse uintptr, regAcc int32, pAggInfo uintptr, eDistinctType int32) { /* sqlite3.c:140185:13: */ +func updateAccumulator(tls *libc.TLS, pParse uintptr, regAcc int32, pAggInfo uintptr, eDistinctType int32) { /* sqlite3.c:140198:13: */ var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe var i int32 var regHit int32 = 0 @@ -122188,7 +122207,7 @@ __9: // Add a single OP_Explain instruction to the VDBE to explain a simple // count(*) query ("SELECT count(*) FROM pTab"). -func explainSimpleCount(tls *libc.TLS, pParse uintptr, pTab uintptr, pIdx uintptr) { /* sqlite3.c:140287:13: */ +func explainSimpleCount(tls *libc.TLS, pParse uintptr, pTab uintptr, pIdx uintptr) { /* sqlite3.c:140300:13: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -122220,7 +122239,7 @@ func explainSimpleCount(tls *libc.TLS, pParse uintptr, pTab uintptr, pIdx uintpt // sub-expression matches the criteria for being moved to the WHERE // clause. If so, add it to the WHERE clause and replace the sub-expression // within the HAVING expression with a constant "1". -func havingToWhereExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:140316:12: */ +func havingToWhereExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:140329:12: */ if int32((*Expr)(unsafe.Pointer(pExpr)).Fop) != TK_AND { var pS uintptr = *(*uintptr)(unsafe.Pointer(pWalker + 40)) // This routine is called before the HAVING clause of the current @@ -122266,7 +122285,7 @@ func havingToWhereExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { // A term of the HAVING expression is eligible for transfer if it consists // entirely of constants and expressions that are also GROUP BY terms that // use the "BINARY" collation sequence. -func havingToWhere(tls *libc.TLS, pParse uintptr, p uintptr) { /* sqlite3.c:140360:13: */ +func havingToWhere(tls *libc.TLS, pParse uintptr, p uintptr) { /* sqlite3.c:140373:13: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -122284,7 +122303,7 @@ func havingToWhere(tls *libc.TLS, pParse uintptr, p uintptr) { /* sqlite3.c:1403 // Check to see if the pThis entry of pTabList is a self-join of a prior view. // If it is, then return the SrcList_item for the prior view. If it is not, // then return 0. -func isSelfJoinView(tls *libc.TLS, pTabList uintptr, pThis uintptr) uintptr { /* sqlite3.c:140380:16: */ +func isSelfJoinView(tls *libc.TLS, pTabList uintptr, pThis uintptr) uintptr { /* sqlite3.c:140393:16: */ var pItem uintptr if (*Select)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pThis)).FpSelect)).FselFlags&U32(SF_PushDown) != 0 { @@ -122325,7 +122344,7 @@ func isSelfJoinView(tls *libc.TLS, pTabList uintptr, pThis uintptr) uintptr { /* } // Deallocate a single AggInfo object -func agginfoFree(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:140415:13: */ +func agginfoFree(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:140428:13: */ Xsqlite3DbFree(tls, db, (*AggInfo)(unsafe.Pointer(p)).FaCol) Xsqlite3DbFree(tls, db, (*AggInfo)(unsafe.Pointer(p)).FaFunc) Xsqlite3DbFreeNN(tls, db, p) @@ -122342,7 +122361,7 @@ func agginfoFree(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:140415:13: // // This routine does NOT free the Select structure passed in. The // calling function needs to do that. -func Xsqlite3Select(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) int32 { /* sqlite3.c:140523:20: */ +func Xsqlite3Select(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) int32 { /* sqlite3.c:140536:20: */ bp := tls.Alloc(216) defer tls.Free(216) @@ -123939,7 +123958,7 @@ type TabResult1 = struct { FnData U32 Frc int32 F__ccgo_pad1 [4]byte -} /* sqlite3.c:141786:9 */ +} /* sqlite3.c:141799:9 */ //************* End of select.c ********************************************* //************* Begin file table.c ****************************************** @@ -123963,12 +123982,12 @@ type TabResult1 = struct { // This structure is used to pass data from sqlite3_get_table() through // to the callback function is uses to build the result. -type TabResult = TabResult1 /* sqlite3.c:141794:3 */ +type TabResult = TabResult1 /* sqlite3.c:141807:3 */ // This routine is called once for each row in the result table. Its job // is to fill in the TabResult structure appropriately, allocating new // memory as necessary. -func sqlite3_get_table_cb(tls *libc.TLS, pArg uintptr, nCol int32, argv uintptr, colv uintptr) int32 { /* sqlite3.c:141801:12: */ +func sqlite3_get_table_cb(tls *libc.TLS, pArg uintptr, nCol int32, argv uintptr, colv uintptr) int32 { /* sqlite3.c:141814:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -124099,7 +124118,7 @@ malloc_failed: // from malloc(). But the caller cannot free this memory directly. // Instead, the entire table should be passed to sqlite3_free_table() when // the calling procedure is finished using it. -func Xsqlite3_get_table(tls *libc.TLS, db uintptr, zSql uintptr, pazResult uintptr, pnRow uintptr, pnColumn uintptr, pzErrMsg uintptr) int32 { /* sqlite3.c:141875:16: */ +func Xsqlite3_get_table(tls *libc.TLS, db uintptr, zSql uintptr, pazResult uintptr, pnRow uintptr, pnColumn uintptr, pzErrMsg uintptr) int32 { /* sqlite3.c:141888:16: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -124171,7 +124190,7 @@ func Xsqlite3_get_table(tls *libc.TLS, db uintptr, zSql uintptr, pazResult uintp } // This routine frees the space the sqlite3_get_table() malloced. -func Xsqlite3_free_table(tls *libc.TLS, azResult uintptr) { /* sqlite3.c:141944:17: */ +func Xsqlite3_free_table(tls *libc.TLS, azResult uintptr) { /* sqlite3.c:141957:17: */ if azResult != 0 { var i int32 var n int32 @@ -124202,7 +124221,7 @@ func Xsqlite3_free_table(tls *libc.TLS, azResult uintptr) { /* sqlite3.c:141944: // #include "sqliteInt.h" // Delete a linked list of TriggerStep structures. -func Xsqlite3DeleteTriggerStep(tls *libc.TLS, db uintptr, pTriggerStep uintptr) { /* sqlite3.c:141979:21: */ +func Xsqlite3DeleteTriggerStep(tls *libc.TLS, db uintptr, pTriggerStep uintptr) { /* sqlite3.c:141992:21: */ for pTriggerStep != 0 { var pTmp uintptr = pTriggerStep pTriggerStep = (*TriggerStep)(unsafe.Pointer(pTriggerStep)).FpNext @@ -124231,7 +124250,7 @@ func Xsqlite3DeleteTriggerStep(tls *libc.TLS, db uintptr, pTriggerStep uintptr) // To state it another way: This routine returns a list of all triggers // that fire off of pTab. The list will include any TEMP triggers on // pTab as well as the triggers lised in pTab->pTrigger. -func Xsqlite3TriggerList(tls *libc.TLS, pParse uintptr, pTab uintptr) uintptr { /* sqlite3.c:142010:24: */ +func Xsqlite3TriggerList(tls *libc.TLS, pParse uintptr, pTab uintptr) uintptr { /* sqlite3.c:142023:24: */ var pTmpSchema uintptr // Schema of the pTab table var pList uintptr // List of triggers to return var p uintptr // Loop variable for TEMP triggers @@ -124269,7 +124288,7 @@ func Xsqlite3TriggerList(tls *libc.TLS, pParse uintptr, pTab uintptr) uintptr { // in pParse->pNewTrigger. After the trigger actions have been parsed, the // sqlite3FinishTrigger() function is called to complete the trigger // construction process. -func Xsqlite3BeginTrigger(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 uintptr, tr_tm int32, op int32, pColumns uintptr, pTableName uintptr, pWhen uintptr, isTemp int32, noErr int32) { /* sqlite3.c:142066:21: */ +func Xsqlite3BeginTrigger(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 uintptr, tr_tm int32, op int32, pColumns uintptr, pTableName uintptr, pWhen uintptr, isTemp int32, noErr int32) { /* sqlite3.c:142079:21: */ bp := tls.Alloc(136) defer tls.Free(136) @@ -124576,7 +124595,7 @@ __31: // This routine is called after all of the trigger actions have been parsed // in order to complete the process of building the trigger. -func Xsqlite3FinishTrigger(tls *libc.TLS, pParse uintptr, pStepList uintptr, pAll uintptr) { /* sqlite3.c:142273:21: */ +func Xsqlite3FinishTrigger(tls *libc.TLS, pParse uintptr, pStepList uintptr, pAll uintptr) { /* sqlite3.c:142286:21: */ bp := tls.Alloc(152) defer tls.Free(152) @@ -124700,7 +124719,7 @@ triggerfinish_cleanup: // Duplicate a range of text from an SQL statement, then convert all // whitespace characters into ordinary space characters. -func triggerSpanDup(tls *libc.TLS, db uintptr, zStart uintptr, zEnd uintptr) uintptr { /* sqlite3.c:142361:13: */ +func triggerSpanDup(tls *libc.TLS, db uintptr, zStart uintptr, zEnd uintptr) uintptr { /* sqlite3.c:142374:13: */ var z uintptr = Xsqlite3DbSpanDup(tls, db, zStart, zEnd) var i int32 if z != 0 { @@ -124718,7 +124737,7 @@ func triggerSpanDup(tls *libc.TLS, db uintptr, zStart uintptr, zEnd uintptr) uin // // The parser calls this routine when it finds a SELECT statement in // body of a TRIGGER. -func Xsqlite3TriggerSelectStep(tls *libc.TLS, db uintptr, pSelect uintptr, zStart uintptr, zEnd uintptr) uintptr { /* sqlite3.c:142375:28: */ +func Xsqlite3TriggerSelectStep(tls *libc.TLS, db uintptr, pSelect uintptr, zStart uintptr, zEnd uintptr) uintptr { /* sqlite3.c:142388:28: */ var pTriggerStep uintptr = Xsqlite3DbMallocZero(tls, db, uint64(unsafe.Sizeof(TriggerStep{}))) if pTriggerStep == uintptr(0) { Xsqlite3SelectDelete(tls, db, pSelect) @@ -124735,7 +124754,7 @@ func Xsqlite3TriggerSelectStep(tls *libc.TLS, db uintptr, pSelect uintptr, zStar // holds both the TriggerStep object and the TriggerStep.target.z string. // // If an OOM error occurs, NULL is returned and db->mallocFailed is set. -func triggerStepAllocate(tls *libc.TLS, pParse uintptr, op U8, pName uintptr, zStart uintptr, zEnd uintptr) uintptr { /* sqlite3.c:142399:20: */ +func triggerStepAllocate(tls *libc.TLS, pParse uintptr, op U8, pName uintptr, zStart uintptr, zEnd uintptr) uintptr { /* sqlite3.c:142412:20: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb var pTriggerStep uintptr @@ -124762,7 +124781,7 @@ func triggerStepAllocate(tls *libc.TLS, pParse uintptr, op U8, pName uintptr, zS // // The parser calls this routine when it sees an INSERT inside the // body of a trigger. -func Xsqlite3TriggerInsertStep(tls *libc.TLS, pParse uintptr, pTableName uintptr, pColumn uintptr, pSelect uintptr, orconf U8, pUpsert uintptr, zStart uintptr, zEnd uintptr) uintptr { /* sqlite3.c:142432:28: */ +func Xsqlite3TriggerInsertStep(tls *libc.TLS, pParse uintptr, pTableName uintptr, pColumn uintptr, pSelect uintptr, orconf U8, pUpsert uintptr, zStart uintptr, zEnd uintptr) uintptr { /* sqlite3.c:142445:28: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb var pTriggerStep uintptr @@ -124794,7 +124813,7 @@ func Xsqlite3TriggerInsertStep(tls *libc.TLS, pParse uintptr, pTableName uintptr // Construct a trigger step that implements an UPDATE statement and return // a pointer to that trigger step. The parser calls this routine when it // sees an UPDATE statement inside the body of a CREATE TRIGGER. -func Xsqlite3TriggerUpdateStep(tls *libc.TLS, pParse uintptr, pTableName uintptr, pFrom uintptr, pEList uintptr, pWhere uintptr, orconf U8, zStart uintptr, zEnd uintptr) uintptr { /* sqlite3.c:142477:28: */ +func Xsqlite3TriggerUpdateStep(tls *libc.TLS, pParse uintptr, pTableName uintptr, pFrom uintptr, pEList uintptr, pWhere uintptr, orconf U8, zStart uintptr, zEnd uintptr) uintptr { /* sqlite3.c:142490:28: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb var pTriggerStep uintptr @@ -124823,7 +124842,7 @@ func Xsqlite3TriggerUpdateStep(tls *libc.TLS, pParse uintptr, pTableName uintptr // Construct a trigger step that implements a DELETE statement and return // a pointer to that trigger step. The parser calls this routine when it // sees a DELETE statement inside the body of a CREATE TRIGGER. -func Xsqlite3TriggerDeleteStep(tls *libc.TLS, pParse uintptr, pTableName uintptr, pWhere uintptr, zStart uintptr, zEnd uintptr) uintptr { /* sqlite3.c:142517:28: */ +func Xsqlite3TriggerDeleteStep(tls *libc.TLS, pParse uintptr, pTableName uintptr, pWhere uintptr, zStart uintptr, zEnd uintptr) uintptr { /* sqlite3.c:142530:28: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb var pTriggerStep uintptr @@ -124842,7 +124861,7 @@ func Xsqlite3TriggerDeleteStep(tls *libc.TLS, pParse uintptr, pTableName uintptr } // Recursively delete a Trigger structure -func Xsqlite3DeleteTrigger(tls *libc.TLS, db uintptr, pTrigger uintptr) { /* sqlite3.c:142544:21: */ +func Xsqlite3DeleteTrigger(tls *libc.TLS, db uintptr, pTrigger uintptr) { /* sqlite3.c:142557:21: */ if pTrigger == uintptr(0) || (*Trigger)(unsafe.Pointer(pTrigger)).FbReturning != 0 { return } @@ -124862,7 +124881,7 @@ func Xsqlite3DeleteTrigger(tls *libc.TLS, db uintptr, pTrigger uintptr) { /* sql // same job as this routine except it takes a pointer to the trigger // instead of the trigger name. // -func Xsqlite3DropTrigger(tls *libc.TLS, pParse uintptr, pName uintptr, noErr int32) { /* sqlite3.c:142562:21: */ +func Xsqlite3DropTrigger(tls *libc.TLS, pParse uintptr, pName uintptr, noErr int32) { /* sqlite3.c:142575:21: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -124946,12 +124965,12 @@ drop_trigger_cleanup: // Return a pointer to the Table structure for the table that a trigger // is set on. -func tableOfTrigger(tls *libc.TLS, pTrigger uintptr) uintptr { /* sqlite3.c:142604:14: */ +func tableOfTrigger(tls *libc.TLS, pTrigger uintptr) uintptr { /* sqlite3.c:142617:14: */ return Xsqlite3HashFind(tls, (*Trigger)(unsafe.Pointer(pTrigger)).FpTabSchema+8, (*Trigger)(unsafe.Pointer(pTrigger)).Ftable) } // Drop a trigger given a pointer to that trigger. -func Xsqlite3DropTriggerPtr(tls *libc.TLS, pParse uintptr, pTrigger uintptr) { /* sqlite3.c:142612:21: */ +func Xsqlite3DropTriggerPtr(tls *libc.TLS, pParse uintptr, pTrigger uintptr) { /* sqlite3.c:142625:21: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -124992,7 +125011,7 @@ func Xsqlite3DropTriggerPtr(tls *libc.TLS, pParse uintptr, pTrigger uintptr) { / } // Remove a trigger from the hash tables of the sqlite* pointer. -func Xsqlite3UnlinkAndDeleteTrigger(tls *libc.TLS, db uintptr, iDb int32, zName uintptr) { /* sqlite3.c:142650:21: */ +func Xsqlite3UnlinkAndDeleteTrigger(tls *libc.TLS, db uintptr, iDb int32, zName uintptr) { /* sqlite3.c:142663:21: */ var pTrigger uintptr var pHash uintptr @@ -125023,7 +125042,7 @@ func Xsqlite3UnlinkAndDeleteTrigger(tls *libc.TLS, db uintptr, iDb int32, zName // wildcard that matches anything. Likewise if pEList==NULL then // it matches anything so always return true. Return false only // if there is no match. -func checkColumnOverlap(tls *libc.TLS, pIdList uintptr, pEList uintptr) int32 { /* sqlite3.c:142684:12: */ +func checkColumnOverlap(tls *libc.TLS, pIdList uintptr, pEList uintptr) int32 { /* sqlite3.c:142697:12: */ var e int32 if pIdList == uintptr(0) || pEList == uintptr(0) { return 1 @@ -125040,7 +125059,7 @@ func checkColumnOverlap(tls *libc.TLS, pIdList uintptr, pEList uintptr) int32 { // one trigger that must be fired when an operation of type 'op' is // performed on the table, and, if that operation is an UPDATE, if at // least one of the columns in pChanges is being modified. -func Xsqlite3TriggersExist(tls *libc.TLS, pParse uintptr, pTab uintptr, op int32, pChanges uintptr, pMask uintptr) uintptr { /* sqlite3.c:142699:24: */ +func Xsqlite3TriggersExist(tls *libc.TLS, pParse uintptr, pTab uintptr, op int32, pChanges uintptr, pMask uintptr) uintptr { /* sqlite3.c:142712:24: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -125167,7 +125186,7 @@ __17: // referring to a target in another database. An exception is when the // trigger is in TEMP in which case it can refer to any other database it // wants. -func Xsqlite3TriggerStepSrc(tls *libc.TLS, pParse uintptr, pStep uintptr) uintptr { /* sqlite3.c:142773:24: */ +func Xsqlite3TriggerStepSrc(tls *libc.TLS, pParse uintptr, pStep uintptr) uintptr { /* sqlite3.c:142786:24: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb var pSrc uintptr // SrcList to be returned var zName uintptr = Xsqlite3DbStrDup(tls, db, (*TriggerStep)(unsafe.Pointer(pStep)).FzTarget) @@ -125192,7 +125211,7 @@ func Xsqlite3TriggerStepSrc(tls *libc.TLS, pParse uintptr, pStep uintptr) uintpt // Return true if the pExpr term from the RETURNING clause argument // list is of the form "*". Raise an error if the terms if of the // form "table.*". -func isAsteriskTerm(tls *libc.TLS, pParse uintptr, pTerm uintptr) int32 { /* sqlite3.c:142804:12: */ +func isAsteriskTerm(tls *libc.TLS, pParse uintptr, pTerm uintptr) int32 { /* sqlite3.c:142817:12: */ if int32((*Expr)(unsafe.Pointer(pTerm)).Fop) == TK_ASTERISK { return 1 @@ -125213,7 +125232,7 @@ func isAsteriskTerm(tls *libc.TLS, pParse uintptr, pTerm uintptr) int32 { /* sql // // This routine makes a copy of the pList, and at the same time expands // any "*" wildcards to be the complete set of columns from pTab. -func sqlite3ExpandReturning(tls *libc.TLS, pParse uintptr, pList uintptr, pTab uintptr) uintptr { /* sqlite3.c:142824:17: */ +func sqlite3ExpandReturning(tls *libc.TLS, pParse uintptr, pList uintptr, pTab uintptr) uintptr { /* sqlite3.c:142837:17: */ var pNew uintptr = uintptr(0) var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb var i int32 @@ -125254,7 +125273,7 @@ func sqlite3ExpandReturning(tls *libc.TLS, pParse uintptr, pList uintptr, pTab u // Generate code for the RETURNING trigger. Unlike other triggers // that invoke a subprogram in the bytecode, the code for RETURNING // is generated in-line. -func codeReturningTrigger(tls *libc.TLS, pParse uintptr, pTrigger uintptr, pTab uintptr, regIn int32) { /* sqlite3.c:142867:13: */ +func codeReturningTrigger(tls *libc.TLS, pParse uintptr, pTrigger uintptr, pTab uintptr, regIn int32) { /* sqlite3.c:142880:13: */ bp := tls.Alloc(304) defer tls.Free(304) @@ -125322,7 +125341,7 @@ func codeReturningTrigger(tls *libc.TLS, pParse uintptr, pTrigger uintptr, pTab // Generate VDBE code for the statements inside the body of a single // trigger. -func codeTriggerProgram(tls *libc.TLS, pParse uintptr, pStepList uintptr, orconf int32) int32 { /* sqlite3.c:142943:12: */ +func codeTriggerProgram(tls *libc.TLS, pParse uintptr, pStepList uintptr, orconf int32) int32 { /* sqlite3.c:142956:12: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -125409,7 +125428,7 @@ func codeTriggerProgram(tls *libc.TLS, pParse uintptr, pStepList uintptr, orconf // Parse context structure pFrom has just been used to create a sub-vdbe // (trigger program). If an error has occurred, transfer error information // from pFrom to pTo. -func transferParseError(tls *libc.TLS, pTo uintptr, pFrom uintptr) { /* sqlite3.c:143047:13: */ +func transferParseError(tls *libc.TLS, pTo uintptr, pFrom uintptr) { /* sqlite3.c:143060:13: */ if (*Parse)(unsafe.Pointer(pTo)).FnErr == 0 { (*Parse)(unsafe.Pointer(pTo)).FzErrMsg = (*Parse)(unsafe.Pointer(pFrom)).FzErrMsg @@ -125422,7 +125441,7 @@ func transferParseError(tls *libc.TLS, pTo uintptr, pFrom uintptr) { /* sqlite3. // Create and populate a new TriggerPrg object with a sub-program // implementing trigger pTrigger with ON CONFLICT policy orconf. -func codeRowTrigger(tls *libc.TLS, pParse uintptr, pTrigger uintptr, pTab uintptr, orconf int32) uintptr { /* sqlite3.c:143063:19: */ +func codeRowTrigger(tls *libc.TLS, pParse uintptr, pTrigger uintptr, pTab uintptr, orconf int32) uintptr { /* sqlite3.c:143076:19: */ bp := tls.Alloc(472) defer tls.Free(472) @@ -125528,7 +125547,7 @@ func codeRowTrigger(tls *libc.TLS, pParse uintptr, pTrigger uintptr, pTab uintpt // trigger pTrigger with default ON CONFLICT algorithm orconf. If no such // TriggerPrg object exists, a new object is allocated and populated before // being returned. -func getRowTrigger(tls *libc.TLS, pParse uintptr, pTrigger uintptr, pTab uintptr, orconf int32) uintptr { /* sqlite3.c:143177:19: */ +func getRowTrigger(tls *libc.TLS, pParse uintptr, pTrigger uintptr, pTab uintptr, orconf int32) uintptr { /* sqlite3.c:143190:19: */ var pRoot uintptr = func() uintptr { if (*Parse)(unsafe.Pointer(pParse)).FpToplevel != 0 { return (*Parse)(unsafe.Pointer(pParse)).FpToplevel @@ -125557,7 +125576,7 @@ func getRowTrigger(tls *libc.TLS, pParse uintptr, pTrigger uintptr, pTab uintptr // table pTab. The reg, orconf and ignoreJump parameters passed to this // function are the same as those described in the header function for // sqlite3CodeRowTrigger() -func Xsqlite3CodeRowTriggerDirect(tls *libc.TLS, pParse uintptr, p uintptr, pTab uintptr, reg int32, orconf int32, ignoreJump int32) { /* sqlite3.c:143212:21: */ +func Xsqlite3CodeRowTriggerDirect(tls *libc.TLS, pParse uintptr, p uintptr, pTab uintptr, reg int32, orconf int32, ignoreJump int32) { /* sqlite3.c:143225:21: */ var v uintptr = Xsqlite3GetVdbe(tls, pParse) // Main VM var pPrg uintptr pPrg = getRowTrigger(tls, pParse, p, pTab, orconf) @@ -125617,7 +125636,7 @@ func Xsqlite3CodeRowTriggerDirect(tls *libc.TLS, pParse uintptr, p uintptr, pTab // trigger program to use (REPLACE, IGNORE etc.). Parameter ignoreJump // is the instruction that control should jump to if a trigger program // raises an IGNORE exception. -func Xsqlite3CodeRowTrigger(tls *libc.TLS, pParse uintptr, pTrigger uintptr, op int32, pChanges uintptr, tr_tm int32, pTab uintptr, reg int32, orconf int32, ignoreJump int32) { /* sqlite3.c:143284:21: */ +func Xsqlite3CodeRowTrigger(tls *libc.TLS, pParse uintptr, pTrigger uintptr, op int32, pChanges uintptr, tr_tm int32, pTab uintptr, reg int32, orconf int32, ignoreJump int32) { /* sqlite3.c:143297:21: */ var p uintptr // Used to iterate through pTrigger list for p = pTrigger; p != 0; p = (*Trigger)(unsafe.Pointer(p)).FpNext { @@ -125665,7 +125684,7 @@ func Xsqlite3CodeRowTrigger(tls *libc.TLS, pParse uintptr, pTrigger uintptr, op // included in the returned mask if the TRIGGER_BEFORE bit is set in the // tr_tm parameter. Similarly, values accessed by AFTER triggers are only // included in the returned mask if the TRIGGER_AFTER bit is set in tr_tm. -func Xsqlite3TriggerColmask(tls *libc.TLS, pParse uintptr, pTrigger uintptr, pChanges uintptr, isNew int32, tr_tm int32, pTab uintptr, orconf int32) U32 { /* sqlite3.c:143354:20: */ +func Xsqlite3TriggerColmask(tls *libc.TLS, pParse uintptr, pTrigger uintptr, pChanges uintptr, isNew int32, tr_tm int32, pTab uintptr, orconf int32) U32 { /* sqlite3.c:143367:20: */ var op int32 if pChanges != 0 { op = TK_UPDATE @@ -125722,7 +125741,7 @@ func Xsqlite3TriggerColmask(tls *libc.TLS, pParse uintptr, pTrigger uintptr, pCh // (not a virtual table) then the value might have been stored as an // integer. In that case, add an OP_RealAffinity opcode to make sure // it has been converted into REAL. -func Xsqlite3ColumnDefault(tls *libc.TLS, v uintptr, pTab uintptr, i int32, iReg int32) { /* sqlite3.c:143452:21: */ +func Xsqlite3ColumnDefault(tls *libc.TLS, v uintptr, pTab uintptr, i int32, iReg int32) { /* sqlite3.c:143465:21: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -125752,7 +125771,7 @@ func Xsqlite3ColumnDefault(tls *libc.TLS, v uintptr, pTab uintptr, i int32, iReg // aXRef[j] will be non-negative if column j of the original table is // being updated. chngRowid will be true if the rowid of the table is // being updated. -func indexColumnIsBeingUpdated(tls *libc.TLS, pIdx uintptr, iCol int32, aXRef uintptr, chngRowid int32) int32 { /* sqlite3.c:143485:12: */ +func indexColumnIsBeingUpdated(tls *libc.TLS, pIdx uintptr, iCol int32, aXRef uintptr, chngRowid int32) int32 { /* sqlite3.c:143498:12: */ var iIdxCol I16 = *(*I16)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FaiColumn + uintptr(iCol)*2)) // Cannot index rowid if int32(iIdxCol) >= 0 { @@ -125773,7 +125792,7 @@ func indexColumnIsBeingUpdated(tls *libc.TLS, pIdx uintptr, iCol int32, aXRef ui // aXRef[j] will be non-negative if column j of the original table is // being updated. chngRowid will be true if the rowid of the table is // being updated. -func indexWhereClauseMightChange(tls *libc.TLS, pIdx uintptr, aXRef uintptr, chngRowid int32) int32 { /* sqlite3.c:143515:12: */ +func indexWhereClauseMightChange(tls *libc.TLS, pIdx uintptr, aXRef uintptr, chngRowid int32) int32 { /* sqlite3.c:143528:12: */ if (*Index)(unsafe.Pointer(pIdx)).FpPartIdxWhere == uintptr(0) { return 0 } @@ -125785,7 +125804,7 @@ func indexWhereClauseMightChange(tls *libc.TLS, pIdx uintptr, aXRef uintptr, chn // Expr.iColumn set to value (iCol+1). The resolver will modify the // expression to be a TK_COLUMN reading column iCol of the first // table in the source-list (pSrc->a[0]). -func exprRowColumn(tls *libc.TLS, pParse uintptr, iCol int32) uintptr { /* sqlite3.c:143531:13: */ +func exprRowColumn(tls *libc.TLS, pParse uintptr, iCol int32) uintptr { /* sqlite3.c:143544:13: */ var pRet uintptr = Xsqlite3PExpr(tls, pParse, TK_ROW, uintptr(0), uintptr(0)) if pRet != 0 { (*Expr)(unsafe.Pointer(pRet)).FiColumn = YnVar(iCol + 1) @@ -125829,7 +125848,7 @@ func exprRowColumn(tls *libc.TLS, pParse uintptr, iCol int32) uintptr { /* sqlit // records with automatically assigned integer keys For intkey tables, the // rowid value in is used as the integer key, and the // remaining fields make up the table record. -func updateFromSelect(tls *libc.TLS, pParse uintptr, iEph int32, pPk uintptr, pChanges uintptr, pTabList uintptr, pWhere uintptr, pOrderBy uintptr, pLimit uintptr) { /* sqlite3.c:143575:13: */ +func updateFromSelect(tls *libc.TLS, pParse uintptr, iEph int32, pPk uintptr, pChanges uintptr, pTabList uintptr, pWhere uintptr, pOrderBy uintptr, pLimit uintptr) { /* sqlite3.c:143588:13: */ bp := tls.Alloc(40) defer tls.Free(40) @@ -125912,7 +125931,7 @@ func updateFromSelect(tls *libc.TLS, pParse uintptr, iEph int32, pPk uintptr, pC // onError | pChanges | pWhere // \_______________________/ // pTabList -func Xsqlite3Update(tls *libc.TLS, pParse uintptr, pTabList uintptr, pChanges uintptr, pWhere uintptr, onError int32, pOrderBy uintptr, pLimit uintptr, pUpsert uintptr) { /* sqlite3.c:143672:21: */ +func Xsqlite3Update(tls *libc.TLS, pParse uintptr, pTabList uintptr, pChanges uintptr, pWhere uintptr, onError int32, pOrderBy uintptr, pLimit uintptr, pUpsert uintptr) { /* sqlite3.c:143685:21: */ bp := tls.Alloc(108) defer tls.Free(108) @@ -127302,7 +127321,7 @@ update_cleanup: // The "onepass" strategy does not use an ephemeral table. Instead, it // stores the same values (A, B and C above) in a register array and // makes a single invocation of VUpdate. -func updateVirtualTable(tls *libc.TLS, pParse uintptr, pSrc uintptr, pTab uintptr, pChanges uintptr, pRowid uintptr, aXRef uintptr, pWhere uintptr, onError int32) { /* sqlite3.c:144564:13: */ +func updateVirtualTable(tls *libc.TLS, pParse uintptr, pSrc uintptr, pTab uintptr, pChanges uintptr, pRowid uintptr, aXRef uintptr, pWhere uintptr, onError int32) { /* sqlite3.c:144577:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -127475,7 +127494,7 @@ func updateVirtualTable(tls *libc.TLS, pParse uintptr, pSrc uintptr, pTab uintpt // #include "sqliteInt.h" // Free a list of Upsert objects -func upsertDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:144752:29: */ +func upsertDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:144765:29: */ for __ccgo := true; __ccgo; __ccgo = p != 0 { var pNext uintptr = (*Upsert)(unsafe.Pointer(p)).FpNextUpsert Xsqlite3ExprListDelete(tls, db, (*Upsert)(unsafe.Pointer(p)).FpUpsertTarget) @@ -127488,14 +127507,14 @@ func upsertDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:144752:29 } } -func Xsqlite3UpsertDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:144764:21: */ +func Xsqlite3UpsertDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:144777:21: */ if p != 0 { upsertDelete(tls, db, p) } } // Duplicate an Upsert object. -func Xsqlite3UpsertDup(tls *libc.TLS, db uintptr, p uintptr) uintptr { /* sqlite3.c:144772:23: */ +func Xsqlite3UpsertDup(tls *libc.TLS, db uintptr, p uintptr) uintptr { /* sqlite3.c:144785:23: */ if p == uintptr(0) { return uintptr(0) } @@ -127508,7 +127527,7 @@ func Xsqlite3UpsertDup(tls *libc.TLS, db uintptr, p uintptr) uintptr { /* sqlite } // Create a new Upsert object. -func Xsqlite3UpsertNew(tls *libc.TLS, db uintptr, pTarget uintptr, pTargetWhere uintptr, pSet uintptr, pWhere uintptr, pNext uintptr) uintptr { /* sqlite3.c:144786:23: */ +func Xsqlite3UpsertNew(tls *libc.TLS, db uintptr, pTarget uintptr, pTargetWhere uintptr, pSet uintptr, pWhere uintptr, pNext uintptr) uintptr { /* sqlite3.c:144799:23: */ var pNew uintptr pNew = Xsqlite3DbMallocZero(tls, db, uint64(unsafe.Sizeof(Upsert{}))) if pNew == uintptr(0) { @@ -127534,7 +127553,7 @@ func Xsqlite3UpsertNew(tls *libc.TLS, db uintptr, pTarget uintptr, pTargetWhere // // Return SQLITE_OK if everything works, or an error code is something // is wrong. -func Xsqlite3UpsertAnalyzeTarget(tls *libc.TLS, pParse uintptr, pTabList uintptr, pUpsert uintptr) int32 { /* sqlite3.c:144821:20: */ +func Xsqlite3UpsertAnalyzeTarget(tls *libc.TLS, pParse uintptr, pTabList uintptr, pUpsert uintptr) int32 { /* sqlite3.c:144834:20: */ bp := tls.Alloc(232) defer tls.Free(232) @@ -127676,7 +127695,7 @@ __3: // Return true if pUpsert is the last ON CONFLICT clause with a // conflict target, or if pUpsert is followed by another ON CONFLICT // clause that targets the INTEGER PRIMARY KEY. -func Xsqlite3UpsertNextIsIPK(tls *libc.TLS, pUpsert uintptr) int32 { /* sqlite3.c:144948:20: */ +func Xsqlite3UpsertNextIsIPK(tls *libc.TLS, pUpsert uintptr) int32 { /* sqlite3.c:144961:20: */ var pNext uintptr if pUpsert == uintptr(0) { return 0 @@ -127698,7 +127717,7 @@ func Xsqlite3UpsertNextIsIPK(tls *libc.TLS, pUpsert uintptr) int32 { /* sqlite3. // a particular index pIdx, return a pointer to the particular ON CONFLICT // clause that applies to the index. Or, if the index is not subject to // any ON CONFLICT clause, return NULL. -func Xsqlite3UpsertOfIndex(tls *libc.TLS, pUpsert uintptr, pIdx uintptr) uintptr { /* sqlite3.c:144964:23: */ +func Xsqlite3UpsertOfIndex(tls *libc.TLS, pUpsert uintptr, pIdx uintptr) uintptr { /* sqlite3.c:144977:23: */ for pUpsert != 0 && (*Upsert)(unsafe.Pointer(pUpsert)).FpUpsertTarget != uintptr(0) && (*Upsert)(unsafe.Pointer(pUpsert)).FpUpsertIdx != pIdx { @@ -127714,7 +127733,7 @@ func Xsqlite3UpsertOfIndex(tls *libc.TLS, pUpsert uintptr, pIdx uintptr) uintptr // currently points to the conflicting table row. Otherwise, if pIdx // is not NULL, then pIdx is the constraint that failed and iCur is a // cursor points to the conflicting row. -func Xsqlite3UpsertDoUpdate(tls *libc.TLS, pParse uintptr, pUpsert uintptr, pTab uintptr, pIdx uintptr, iCur int32) { /* sqlite3.c:144984:21: */ +func Xsqlite3UpsertDoUpdate(tls *libc.TLS, pParse uintptr, pUpsert uintptr, pTab uintptr, pIdx uintptr, iCur int32) { /* sqlite3.c:144997:21: */ var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb var pSrc uintptr // FROM clause for the UPDATE @@ -127794,7 +127813,7 @@ func Xsqlite3UpsertDoUpdate(tls *libc.TLS, pParse uintptr, pUpsert uintptr, pTab // // The execSqlF() routine does the same thing, except it accepts // a format string as its third argument -func execSql(tls *libc.TLS, db uintptr, pzErrMsg uintptr, zSql uintptr) int32 { /* sqlite3.c:145081:12: */ +func execSql(tls *libc.TLS, db uintptr, pzErrMsg uintptr, zSql uintptr) int32 { /* sqlite3.c:145094:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -127834,7 +127853,7 @@ func execSql(tls *libc.TLS, db uintptr, pzErrMsg uintptr, zSql uintptr) int32 { return rc } -func execSqlF(tls *libc.TLS, db uintptr, pzErrMsg uintptr, zSql uintptr, va uintptr) int32 { /* sqlite3.c:145111:12: */ +func execSqlF(tls *libc.TLS, db uintptr, pzErrMsg uintptr, zSql uintptr, va uintptr) int32 { /* sqlite3.c:145124:12: */ var z uintptr var ap Va_list _ = ap @@ -127878,7 +127897,7 @@ func execSqlF(tls *libc.TLS, db uintptr, pzErrMsg uintptr, zSql uintptr, va uint // And a power loss in between deleting the original and renaming the // transient would cause the database file to appear to be deleted // following reboot. -func Xsqlite3Vacuum(tls *libc.TLS, pParse uintptr, pNm uintptr, pInto uintptr) { /* sqlite3.c:145154:21: */ +func Xsqlite3Vacuum(tls *libc.TLS, pParse uintptr, pNm uintptr, pInto uintptr) { /* sqlite3.c:145167:21: */ bp := tls.Alloc(8) defer tls.Free(8) *(*uintptr)(unsafe.Pointer(bp)) = pNm @@ -127935,7 +127954,7 @@ build_vacuum_end: } // This routine implements the OP_Vacuum opcode of the VDBE. -func Xsqlite3RunVacuum(tls *libc.TLS, pzErrMsg uintptr, db uintptr, iDb int32, pOut uintptr) int32 { /* sqlite3.c:145192:36: */ +func Xsqlite3RunVacuum(tls *libc.TLS, pzErrMsg uintptr, db uintptr, iDb int32, pOut uintptr) int32 { /* sqlite3.c:145205:36: */ bp := tls.Alloc(52) defer tls.Free(52) @@ -128273,7 +128292,7 @@ var aCopy = [10]uint8{ uint8(BTREE_TEXT_ENCODING), uint8(0), // Preserve the text encoding uint8(BTREE_USER_VERSION), uint8(0), // Preserve the user version uint8(BTREE_APPLICATION_ID), uint8(0), // Preserve the application id -} /* sqlite3.c:145385:32 */ +} /* sqlite3.c:145398:32 */ // Construct and install a Module object for a virtual table. When this // routine is called, it is guaranteed that all appropriate locks are held @@ -128281,7 +128300,7 @@ var aCopy = [10]uint8{ // // 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 Xsqlite3VtabCreateModule(tls *libc.TLS, db uintptr, zName uintptr, pModule uintptr, pAux uintptr, xDestroy uintptr) uintptr { /* sqlite3.c:145497:23: */ +func Xsqlite3VtabCreateModule(tls *libc.TLS, db uintptr, zName uintptr, pModule uintptr, pAux uintptr, xDestroy uintptr) uintptr { /* sqlite3.c:145510:23: */ var pMod uintptr var pDel uintptr var zCopy uintptr @@ -128321,7 +128340,7 @@ func Xsqlite3VtabCreateModule(tls *libc.TLS, db uintptr, zName uintptr, pModule // The actual function that does the work of creating a new module. // 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) int32 { /* sqlite3.c:145545:12: */ +func createModule(tls *libc.TLS, db uintptr, zName uintptr, pModule uintptr, pAux uintptr, xDestroy uintptr) int32 { /* sqlite3.c:145558:12: */ var rc int32 = SQLITE_OK Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) @@ -128335,18 +128354,18 @@ func createModule(tls *libc.TLS, db uintptr, zName uintptr, pModule uintptr, pAu } // External API function used to create a new virtual-table module. -func Xsqlite3_create_module(tls *libc.TLS, db uintptr, zName uintptr, pModule uintptr, pAux uintptr) int32 { /* sqlite3.c:145566:16: */ +func Xsqlite3_create_module(tls *libc.TLS, db uintptr, zName uintptr, pModule uintptr, pAux uintptr) int32 { /* sqlite3.c:145579:16: */ return createModule(tls, db, zName, pModule, pAux, uintptr(0)) } // 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) int32 { /* sqlite3.c:145581:16: */ +func Xsqlite3_create_module_v2(tls *libc.TLS, db uintptr, zName uintptr, pModule uintptr, pAux uintptr, xDestroy uintptr) int32 { /* sqlite3.c:145594:16: */ return createModule(tls, db, zName, pModule, pAux, xDestroy) } // External API to drop all virtual-table modules, except those named // on the azNames list. -func Xsqlite3_drop_modules(tls *libc.TLS, db uintptr, azNames uintptr) int32 { /* sqlite3.c:145598:16: */ +func Xsqlite3_drop_modules(tls *libc.TLS, db uintptr, azNames uintptr) int32 { /* sqlite3.c:145611:16: */ var pThis uintptr var pNext uintptr for pThis = (*Hash)(unsafe.Pointer(db + 568)).Ffirst; pThis != 0; pThis = pNext { @@ -128367,7 +128386,7 @@ func Xsqlite3_drop_modules(tls *libc.TLS, db uintptr, azNames uintptr) int32 { / // Decrement the reference count on a Module object. Destroy the // module when the reference count reaches zero. -func Xsqlite3VtabModuleUnref(tls *libc.TLS, db uintptr, pMod uintptr) { /* sqlite3.c:145620:21: */ +func Xsqlite3VtabModuleUnref(tls *libc.TLS, db uintptr, pMod uintptr) { /* sqlite3.c:145633:21: */ (*Module)(unsafe.Pointer(pMod)).FnRefModule-- if (*Module)(unsafe.Pointer(pMod)).FnRefModule == 0 { @@ -128385,14 +128404,14 @@ func Xsqlite3VtabModuleUnref(tls *libc.TLS, db uintptr, pMod uintptr) { /* sqlit // // If a disconnect is attempted while a virtual table is locked, // the disconnect is deferred until all locks have been removed. -func Xsqlite3VtabLock(tls *libc.TLS, pVTab uintptr) { /* sqlite3.c:145640:21: */ +func Xsqlite3VtabLock(tls *libc.TLS, pVTab uintptr) { /* sqlite3.c:145653:21: */ (*VTable)(unsafe.Pointer(pVTab)).FnRef++ } // pTab is a pointer to a Table structure representing a virtual-table. // Return a pointer to the VTable object used by connection db to access // this virtual-table, if one has been created, or NULL otherwise. -func Xsqlite3GetVTable(tls *libc.TLS, db uintptr, pTab uintptr) uintptr { /* sqlite3.c:145650:23: */ +func Xsqlite3GetVTable(tls *libc.TLS, db uintptr, pTab uintptr) uintptr { /* sqlite3.c:145663:23: */ var pVtab uintptr for pVtab = *(*uintptr)(unsafe.Pointer(pTab + 64 + 16 /* &.p */)); pVtab != 0 && (*VTable)(unsafe.Pointer(pVtab)).Fdb != db; pVtab = (*VTable)(unsafe.Pointer(pVtab)).FpNext { @@ -128402,7 +128421,7 @@ func Xsqlite3GetVTable(tls *libc.TLS, db uintptr, pTab uintptr) uintptr { /* sql // Decrement the ref-count on a virtual table object. When the ref-count // reaches zero, call the xDisconnect() method to delete the object. -func Xsqlite3VtabUnlock(tls *libc.TLS, pVTab uintptr) { /* sqlite3.c:145661:21: */ +func Xsqlite3VtabUnlock(tls *libc.TLS, pVTab uintptr) { /* sqlite3.c:145674:21: */ var db uintptr = (*VTable)(unsafe.Pointer(pVTab)).Fdb (*VTable)(unsafe.Pointer(pVTab)).FnRef-- @@ -128423,7 +128442,7 @@ func Xsqlite3VtabUnlock(tls *libc.TLS, pVTab uintptr) { /* sqlite3.c:145661:21: // database connections to be disconnected at the next opportunity. // Except, if argument db is not NULL, then the entry associated with // connection db is left in the p->u.vtab.p list. -func vtabDisconnectAll(tls *libc.TLS, db uintptr, p uintptr) uintptr { /* sqlite3.c:145687:15: */ +func vtabDisconnectAll(tls *libc.TLS, db uintptr, p uintptr) uintptr { /* sqlite3.c:145700:15: */ var pRet uintptr = uintptr(0) var pVTable uintptr @@ -128460,7 +128479,7 @@ func vtabDisconnectAll(tls *libc.TLS, db uintptr, p uintptr) uintptr { /* sqlite // used when closing database connection db to free all of its VTable // objects without disturbing the rest of the Schema object (which may // be being used by other shared-cache connections). -func Xsqlite3VtabDisconnect(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:145730:21: */ +func Xsqlite3VtabDisconnect(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:145743:21: */ var ppVTab uintptr for ppVTab = p + 64 + 16; *(*uintptr)(unsafe.Pointer(ppVTab)) != 0; ppVTab = *(*uintptr)(unsafe.Pointer(ppVTab)) + 40 { @@ -128491,7 +128510,7 @@ func Xsqlite3VtabDisconnect(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c // // As a result, a sqlite3.pDisconnect cannot be accessed simultaneously // by multiple threads. It is thread-safe. -func Xsqlite3VtabUnlockList(tls *libc.TLS, db uintptr) { /* sqlite3.c:145768:21: */ +func Xsqlite3VtabUnlockList(tls *libc.TLS, db uintptr) { /* sqlite3.c:145781:21: */ var p uintptr = (*Sqlite3)(unsafe.Pointer(db)).FpDisconnect if p != 0 { @@ -128517,7 +128536,7 @@ func Xsqlite3VtabUnlockList(tls *libc.TLS, db uintptr) { /* sqlite3.c:145768:21: // structure being xDisconnected and free). Any other VTable structures // in the list are moved to the sqlite3.pDisconnect list of the associated // database connection. -func Xsqlite3VtabClear(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:145799:21: */ +func Xsqlite3VtabClear(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:145812:21: */ if !(db != 0) || (*Sqlite3)(unsafe.Pointer(db)).FpnBytesFreed == uintptr(0) { vtabDisconnectAll(tls, uintptr(0), p) @@ -128537,7 +128556,7 @@ func Xsqlite3VtabClear(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:1457 // The string is not copied - the pointer is stored. The // string will be freed automatically when the table is // deleted. -func addModuleArgument(tls *libc.TLS, pParse uintptr, pTable uintptr, zArg uintptr) { /* sqlite3.c:145817:13: */ +func addModuleArgument(tls *libc.TLS, pParse uintptr, pTable uintptr, zArg uintptr) { /* sqlite3.c:145830:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -128563,7 +128582,7 @@ func addModuleArgument(tls *libc.TLS, pParse uintptr, pTable uintptr, zArg uintp // The parser calls this routine when it first sees a CREATE VIRTUAL TABLE // statement. The module name has been parsed, but the optional list // of parameters that follow the module name are still pending. -func Xsqlite3VtabBeginParse(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 uintptr, pModuleName uintptr, ifNotExists int32) { /* sqlite3.c:145843:21: */ +func Xsqlite3VtabBeginParse(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 uintptr, pModuleName uintptr, ifNotExists int32) { /* sqlite3.c:145856:21: */ var pTable uintptr // The new virtual table var db uintptr // Database connection @@ -128598,7 +128617,7 @@ func Xsqlite3VtabBeginParse(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName // This routine takes the module argument that has been accumulating // in pParse->zArg[] and appends it to the list of arguments on the // virtual table currently under construction in pParse->pTable. -func addArgumentToVtab(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:145892:13: */ +func addArgumentToVtab(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:145905:13: */ if (*Parse)(unsafe.Pointer(pParse)).FsArg.Fz != 0 && (*Parse)(unsafe.Pointer(pParse)).FpNewTable != 0 { var z uintptr = (*Parse)(unsafe.Pointer(pParse)).FsArg.Fz var n int32 = int32((*Parse)(unsafe.Pointer(pParse)).FsArg.Fn) @@ -128609,7 +128628,7 @@ func addArgumentToVtab(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:145892:13: // The parser calls this routine after the CREATE VIRTUAL TABLE statement // has been completely parsed. -func Xsqlite3VtabFinishParse(tls *libc.TLS, pParse uintptr, pEnd uintptr) { /* sqlite3.c:145905:21: */ +func Xsqlite3VtabFinishParse(tls *libc.TLS, pParse uintptr, pEnd uintptr) { /* sqlite3.c:145918:21: */ bp := tls.Alloc(64) defer tls.Free(64) @@ -128693,7 +128712,7 @@ func Xsqlite3VtabFinishParse(tls *libc.TLS, pParse uintptr, pEnd uintptr) { /* s // The parser calls this routine when it sees the first token // of an argument to the module name in a CREATE VIRTUAL TABLE statement. -func Xsqlite3VtabArgInit(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:145988:21: */ +func Xsqlite3VtabArgInit(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:146001:21: */ addArgumentToVtab(tls, pParse) (*Parse)(unsafe.Pointer(pParse)).FsArg.Fz = uintptr(0) (*Parse)(unsafe.Pointer(pParse)).FsArg.Fn = uint32(0) @@ -128701,7 +128720,7 @@ func Xsqlite3VtabArgInit(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:145988:21 // The parser calls this routine for each token after the first token // in an argument to the module name in a CREATE VIRTUAL TABLE statement. -func Xsqlite3VtabArgExtend(tls *libc.TLS, pParse uintptr, p uintptr) { /* sqlite3.c:145998:21: */ +func Xsqlite3VtabArgExtend(tls *libc.TLS, pParse uintptr, p uintptr) { /* sqlite3.c:146011:21: */ var pArg uintptr = pParse + 368 if (*Token)(unsafe.Pointer(pArg)).Fz == uintptr(0) { (*Token)(unsafe.Pointer(pArg)).Fz = (*Token)(unsafe.Pointer(p)).Fz @@ -128715,7 +128734,7 @@ func Xsqlite3VtabArgExtend(tls *libc.TLS, pParse uintptr, p uintptr) { /* sqlite // Invoke a virtual table constructor (either xCreate or xConnect). The // 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) int32 { /* sqlite3.c:146014:12: */ +func vtabCallConstructor(tls *libc.TLS, db uintptr, pTab uintptr, pMod uintptr, xConstruct uintptr, pzErr uintptr) int32 { /* sqlite3.c:146027:12: */ bp := tls.Alloc(72) defer tls.Free(72) @@ -128851,7 +128870,7 @@ func vtabCallConstructor(tls *libc.TLS, db uintptr, pTab uintptr, pMod uintptr, // and an error left in pParse. // // This call is a no-op if table pTab is not a virtual table. -func Xsqlite3VtabCallConnect(tls *libc.TLS, pParse uintptr, pTab uintptr) int32 { /* sqlite3.c:146150:20: */ +func Xsqlite3VtabCallConnect(tls *libc.TLS, pParse uintptr, pTab uintptr) int32 { /* sqlite3.c:146163:20: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -128887,7 +128906,7 @@ func Xsqlite3VtabCallConnect(tls *libc.TLS, pParse uintptr, pTab uintptr) int32 // Grow the db->aVTrans[] array so that there is room for at least one // more v-table. Return SQLITE_NOMEM if a malloc fails, or SQLITE_OK otherwise. -func growVTrans(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:146186:12: */ +func growVTrans(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:146199:12: */ var ARRAY_INCR int32 = 5 // Grow the sqlite3.aVTrans array if required @@ -128907,7 +128926,7 @@ func growVTrans(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:146186:12: */ // Add the virtual table pVTab to the array sqlite3.aVTrans[]. Space should // have already been reserved using growVTrans(). -func addToVTrans(tls *libc.TLS, db uintptr, pVTab uintptr) { /* sqlite3.c:146209:13: */ +func addToVTrans(tls *libc.TLS, db uintptr, pVTab uintptr) { /* sqlite3.c:146222:13: */ // Add pVtab to the end of sqlite3.aVTrans *(*uintptr)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaVTrans + uintptr(libc.PostIncInt32(&(*Sqlite3)(unsafe.Pointer(db)).FnVTrans, 1))*8)) = pVTab Xsqlite3VtabLock(tls, pVTab) @@ -128919,7 +128938,7 @@ func addToVTrans(tls *libc.TLS, db uintptr, pVTab uintptr) { /* sqlite3.c:146209 // If an error occurs, *pzErr is set to point to an English language // description of the error and an SQLITE_XXX error code is returned. // In this case the caller must call sqlite3DbFree(db, ) on *pzErr. -func Xsqlite3VtabCallCreate(tls *libc.TLS, db uintptr, iDb int32, zTab uintptr, pzErr uintptr) int32 { /* sqlite3.c:146223:20: */ +func Xsqlite3VtabCallCreate(tls *libc.TLS, db uintptr, iDb int32, zTab uintptr, pzErr uintptr) int32 { /* sqlite3.c:146236:20: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -128959,7 +128978,7 @@ func Xsqlite3VtabCallCreate(tls *libc.TLS, db uintptr, iDb int32, zTab uintptr, // This function is used to set the schema of a virtual table. It is only // valid to call this function from within the xCreate() or xConnect() of a // virtual table module. -func Xsqlite3_declare_vtab(tls *libc.TLS, db uintptr, zCreateTable uintptr) int32 { /* sqlite3.c:146264:16: */ +func Xsqlite3_declare_vtab(tls *libc.TLS, db uintptr, zCreateTable uintptr) int32 { /* sqlite3.c:146277:16: */ bp := tls.Alloc(416) defer tls.Free(416) @@ -128975,12 +128994,13 @@ func Xsqlite3_declare_vtab(tls *libc.TLS, db uintptr, zCreateTable uintptr) int3 if !(pCtx != 0) || (*VtabCtx)(unsafe.Pointer(pCtx)).FbDeclared != 0 { Xsqlite3Error(tls, db, SQLITE_MISUSE) Xsqlite3_mutex_leave(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) - return Xsqlite3MisuseError(tls, 146281) + return Xsqlite3MisuseError(tls, 146294) } pTab = (*VtabCtx)(unsafe.Pointer(pCtx)).FpTab Xsqlite3ParseObjectInit(tls, bp+8, db) (*Parse)(unsafe.Pointer(bp + 8 /* &sParse */)).FeParseMode = U8(PARSE_MODE_DECLARE_VTAB) + (*Parse)(unsafe.Pointer(bp + 8 /* &sParse */)).FdisableTriggers = U8(1) // We should never be able to reach this point while loading the // schema. Nevertheless, defend against that (turn off db->init.busy) // in case a bug arises. @@ -129049,7 +129069,7 @@ func Xsqlite3_declare_vtab(tls *libc.TLS, db uintptr, zCreateTable uintptr) int3 // when a DROP TABLE is mentioned. // // This call is a no-op if zTab is not a virtual table. -func Xsqlite3VtabCallDestroy(tls *libc.TLS, db uintptr, iDb int32, zTab uintptr) int32 { /* sqlite3.c:146357:20: */ +func Xsqlite3VtabCallDestroy(tls *libc.TLS, db uintptr, iDb int32, zTab uintptr) int32 { /* sqlite3.c:146371:20: */ var rc int32 = SQLITE_OK var pTab uintptr @@ -129094,7 +129114,7 @@ func Xsqlite3VtabCallDestroy(tls *libc.TLS, db uintptr, iDb int32, zTab uintptr) // the offset of the method to call in the sqlite3_module structure. // // The array is cleared after invoking the callbacks. -func callFinaliser(tls *libc.TLS, db uintptr, offset int32) { /* sqlite3.c:146401:13: */ +func callFinaliser(tls *libc.TLS, db uintptr, offset int32) { /* sqlite3.c:146415:13: */ var i int32 if (*Sqlite3)(unsafe.Pointer(db)).FaVTrans != 0 { var aVTrans uintptr = (*Sqlite3)(unsafe.Pointer(db)).FaVTrans @@ -129124,7 +129144,7 @@ func callFinaliser(tls *libc.TLS, db uintptr, offset int32) { /* sqlite3.c:14640 // SQLITE_OK if all xSync operations are successful. // // If an error message is available, leave it in p->zErrMsg. -func Xsqlite3VtabSync(tls *libc.TLS, db uintptr, p uintptr) int32 { /* sqlite3.c:146429:20: */ +func Xsqlite3VtabSync(tls *libc.TLS, db uintptr, p uintptr) int32 { /* sqlite3.c:146443:20: */ var i int32 var rc int32 = SQLITE_OK var aVTrans uintptr = (*Sqlite3)(unsafe.Pointer(db)).FaVTrans @@ -129146,14 +129166,14 @@ func Xsqlite3VtabSync(tls *libc.TLS, db uintptr, p uintptr) int32 { /* sqlite3.c // Invoke the xRollback method of all virtual tables in the // sqlite3.aVTrans array. Then clear the array itself. -func Xsqlite3VtabRollback(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:146451:20: */ +func Xsqlite3VtabRollback(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:146465:20: */ callFinaliser(tls, db, int32(uintptr(0)+136)) return SQLITE_OK } // Invoke the xCommit method of all virtual tables in the // sqlite3.aVTrans array. Then clear the array itself. -func Xsqlite3VtabCommit(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:146460:20: */ +func Xsqlite3VtabCommit(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:146474:20: */ callFinaliser(tls, db, int32(uintptr(0)+128)) return SQLITE_OK } @@ -129164,7 +129184,7 @@ func Xsqlite3VtabCommit(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:146460:2 // // If the xBegin call is successful, place the sqlite3_vtab pointer // in the sqlite3.aVTrans array. -func Xsqlite3VtabBegin(tls *libc.TLS, db uintptr, pVTab uintptr) int32 { /* sqlite3.c:146473:20: */ +func Xsqlite3VtabBegin(tls *libc.TLS, db uintptr, pVTab uintptr) int32 { /* sqlite3.c:146487:20: */ var rc int32 = SQLITE_OK var pModule uintptr @@ -129225,7 +129245,7 @@ func Xsqlite3VtabBegin(tls *libc.TLS, db uintptr, pVTab uintptr) int32 { /* sqli // processing is abandoned and the error returned to the caller of this // function immediately. If all calls to virtual table methods are successful, // SQLITE_OK is returned. -func Xsqlite3VtabSavepoint(tls *libc.TLS, db uintptr, op int32, iSavepoint int32) int32 { /* sqlite3.c:146533:20: */ +func Xsqlite3VtabSavepoint(tls *libc.TLS, db uintptr, op int32, iSavepoint int32) int32 { /* sqlite3.c:146547:20: */ var rc int32 = SQLITE_OK if (*Sqlite3)(unsafe.Pointer(db)).FaVTrans != 0 { @@ -129273,7 +129293,7 @@ func Xsqlite3VtabSavepoint(tls *libc.TLS, db uintptr, op int32, iSavepoint int32 // Return either the pDef argument (indicating no change) or a // new FuncDef structure that is marked as ephemeral using the // SQLITE_FUNC_EPHEM flag. -func Xsqlite3VtabOverloadFunction(tls *libc.TLS, db uintptr, pDef uintptr, nArg int32, pExpr uintptr) uintptr { /* sqlite3.c:146581:24: */ +func Xsqlite3VtabOverloadFunction(tls *libc.TLS, db uintptr, pDef uintptr, nArg int32, pExpr uintptr) uintptr { /* sqlite3.c:146595:24: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -129340,7 +129360,7 @@ func Xsqlite3VtabOverloadFunction(tls *libc.TLS, db uintptr, pDef uintptr, nArg // array so that an OP_VBegin will get generated for it. Add pTab to the // array if it is missing. If pTab is already in the array, this routine // is a no-op. -func Xsqlite3VtabMakeWritable(tls *libc.TLS, pParse uintptr, pTab uintptr) { /* sqlite3.c:146651:21: */ +func Xsqlite3VtabMakeWritable(tls *libc.TLS, pParse uintptr, pTab uintptr) { /* sqlite3.c:146665:21: */ var pToplevel uintptr = func() uintptr { if (*Parse)(unsafe.Pointer(pParse)).FpToplevel != 0 { return (*Parse)(unsafe.Pointer(pParse)).FpToplevel @@ -129379,7 +129399,7 @@ func Xsqlite3VtabMakeWritable(tls *libc.TLS, pParse uintptr, pTab uintptr) { /* // // Any virtual table module for which xConnect and xCreate are the same // method can have an eponymous virtual table instance. -func Xsqlite3VtabEponymousTableInit(tls *libc.TLS, pParse uintptr, pMod uintptr) int32 { /* sqlite3.c:146685:20: */ +func Xsqlite3VtabEponymousTableInit(tls *libc.TLS, pParse uintptr, pMod uintptr) int32 { /* sqlite3.c:146699:20: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -129424,7 +129444,7 @@ func Xsqlite3VtabEponymousTableInit(tls *libc.TLS, pParse uintptr, pMod uintptr) // Erase the eponymous virtual table instance associated with // virtual table module pMod, if it exists. -func Xsqlite3VtabEponymousTableClear(tls *libc.TLS, db uintptr, pMod uintptr) { /* sqlite3.c:146723:21: */ +func Xsqlite3VtabEponymousTableClear(tls *libc.TLS, db uintptr, pMod uintptr) { /* sqlite3.c:146737:21: */ var pTab uintptr = (*Module)(unsafe.Pointer(pMod)).FpEpoTab if pTab != uintptr(0) { // Mark the table as Ephemeral prior to deleting it, so that the @@ -129441,19 +129461,19 @@ func Xsqlite3VtabEponymousTableClear(tls *libc.TLS, db uintptr, pMod uintptr) { // // The results of this routine are undefined unless it is called from // within an xUpdate method. -func Xsqlite3_vtab_on_conflict(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:146742:16: */ +func Xsqlite3_vtab_on_conflict(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:146756:16: */ return int32(aMap[int32((*Sqlite3)(unsafe.Pointer(db)).FvtabOnConflict)-1]) } var aMap = [5]uint8{ uint8(SQLITE_ROLLBACK), uint8(SQLITE_ABORT), uint8(SQLITE_FAIL), uint8(SQLITE_IGNORE), uint8(SQLITE_REPLACE), -} /* sqlite3.c:146743:30 */ +} /* sqlite3.c:146757:30 */ // Call from within the xCreate() or xConnect() methods to provide // the SQLite core with additional information about the behavior // of the virtual table being implemented. -func Xsqlite3_vtab_config(tls *libc.TLS, db uintptr, op int32, va uintptr) int32 { /* sqlite3.c:146760:16: */ +func Xsqlite3_vtab_config(tls *libc.TLS, db uintptr, op int32, va uintptr) int32 { /* sqlite3.c:146774:16: */ var ap Va_list _ = ap var rc int32 = SQLITE_OK @@ -129462,7 +129482,7 @@ func Xsqlite3_vtab_config(tls *libc.TLS, db uintptr, op int32, va uintptr) int32 Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) p = (*Sqlite3)(unsafe.Pointer(db)).FpVtabCtx if !(p != 0) { - rc = Xsqlite3MisuseError(tls, 146771) + rc = Xsqlite3MisuseError(tls, 146785) } else { ap = va @@ -129490,7 +129510,7 @@ func Xsqlite3_vtab_config(tls *libc.TLS, db uintptr, op int32, va uintptr) int32 fallthrough default: { - rc = Xsqlite3MisuseError(tls, 146789) + rc = Xsqlite3MisuseError(tls, 146803) break } @@ -129594,23 +129614,23 @@ type WhereClause1 = struct { // a separate source file for easier editing. // Forward references -type WhereClause = WhereClause1 /* sqlite3.c:146849:28 */ +type WhereClause = WhereClause1 /* sqlite3.c:146863:28 */ type WhereMaskSet1 = struct { FbVarSelect int32 Fn int32 Fix [64]int32 } /* sqlite3.c:14626:9 */ -type WhereMaskSet = WhereMaskSet1 /* sqlite3.c:146850:29 */ +type WhereMaskSet = WhereMaskSet1 /* sqlite3.c:146864:29 */ type WhereOrInfo1 = struct { Fwc WhereClause Findexable Bitmask -} /* sqlite3.c:146851:9 */ +} /* sqlite3.c:146865:9 */ -type WhereOrInfo = WhereOrInfo1 /* sqlite3.c:146851:28 */ -type WhereAndInfo1 = struct{ Fwc WhereClause } /* sqlite3.c:146852:9 */ +type WhereOrInfo = WhereOrInfo1 /* sqlite3.c:146865:28 */ +type WhereAndInfo1 = struct{ Fwc WhereClause } /* sqlite3.c:146866:9 */ -type WhereAndInfo = WhereAndInfo1 /* sqlite3.c:146852:29 */ +type WhereAndInfo = WhereAndInfo1 /* sqlite3.c:146866:29 */ type WhereLevel1 = struct { FiLeftJoin int32 FiTabCur int32 @@ -129642,7 +129662,7 @@ type WhereLevel1 = struct { FnotReady Bitmask } /* sqlite3.c:14626:9 */ -type WhereLevel = WhereLevel1 /* sqlite3.c:146853:27 */ +type WhereLevel = WhereLevel1 /* sqlite3.c:146867:27 */ type WhereLoop1 = struct { Fprereq Bitmask FmaskSelf Bitmask @@ -129671,7 +129691,7 @@ type WhereLoop1 = struct { FaLTermSpace [3]uintptr } /* sqlite3.c:14626:9 */ -type WhereLoop = WhereLoop1 /* sqlite3.c:146854:26 */ +type WhereLoop = WhereLoop1 /* sqlite3.c:146868:26 */ type WherePath1 = struct { FmaskLoop Bitmask FrevLoop Bitmask @@ -129681,9 +129701,9 @@ type WherePath1 = struct { FisOrdered I8 F__ccgo_pad1 [1]byte FaLoop uintptr -} /* sqlite3.c:146855:9 */ +} /* sqlite3.c:146869:9 */ -type WherePath = WherePath1 /* sqlite3.c:146855:26 */ +type WherePath = WherePath1 /* sqlite3.c:146869:26 */ type WhereTerm1 = struct { FpExpr uintptr FpWC uintptr @@ -129705,7 +129725,7 @@ type WhereTerm1 = struct { FprereqAll Bitmask } /* sqlite3.c:14626:9 */ -type WhereTerm = WhereTerm1 /* sqlite3.c:146856:26 */ +type WhereTerm = WhereTerm1 /* sqlite3.c:146870:26 */ type WhereLoopBuilder1 = struct { FpWInfo uintptr FpWC uintptr @@ -129718,9 +129738,9 @@ type WhereLoopBuilder1 = struct { F__ccgo_pad1 [2]byte FiPlanLimit uint32 F__ccgo_pad2 [4]byte -} /* sqlite3.c:146857:9 */ +} /* sqlite3.c:146871:9 */ -type WhereLoopBuilder = WhereLoopBuilder1 /* sqlite3.c:146857:33 */ +type WhereLoopBuilder = WhereLoopBuilder1 /* sqlite3.c:146871:33 */ type WhereScan1 = struct { FpOrigWC uintptr FpWC uintptr @@ -129735,24 +129755,24 @@ type WhereScan1 = struct { FaiCur [11]int32 FaiColumn [11]I16 F__ccgo_pad2 [2]byte -} /* sqlite3.c:146858:9 */ +} /* sqlite3.c:146872:9 */ -type WhereScan = WhereScan1 /* sqlite3.c:146858:26 */ +type WhereScan = WhereScan1 /* sqlite3.c:146872:26 */ type WhereOrCost1 = struct { Fprereq Bitmask FrRun LogEst FnOut LogEst F__ccgo_pad1 [4]byte -} /* sqlite3.c:146857:9 */ +} /* sqlite3.c:146871:9 */ -type WhereOrCost = WhereOrCost1 /* sqlite3.c:146859:28 */ +type WhereOrCost = WhereOrCost1 /* sqlite3.c:146873:28 */ type WhereOrSet1 = struct { Fn U16 F__ccgo_pad1 [6]byte Fa [3]WhereOrCost -} /* sqlite3.c:146857:9 */ +} /* sqlite3.c:146871:9 */ -type WhereOrSet = WhereOrSet1 /* sqlite3.c:146860:27 */ +type WhereOrSet = WhereOrSet1 /* sqlite3.c:146874:27 */ // This object contains information needed to implement a single nested // loop in WHERE clause. @@ -129774,7 +129794,7 @@ type InLoop = struct { FnPrefix int32 FeEndLoopOp U8 F__ccgo_pad1 [3]byte -} /* sqlite3.c:146900:7 */ +} /* sqlite3.c:146914:7 */ // Allowed values for WhereLoopBuider.bldFlags @@ -129822,7 +129842,7 @@ type WhereExprMod1 = struct { // of an index rather than an expression or a virtual column. All // such transformations need to be undone at the end of WHERE clause // processing. -type WhereExprMod = WhereExprMod1 /* sqlite3.c:147262:29 */ +type WhereExprMod = WhereExprMod1 /* sqlite3.c:147276:29 */ // Bitmasks for the operators on WhereTerm objects. These are all // operators that are of interest to the query planner. An @@ -129844,7 +129864,7 @@ type WhereExprMod = WhereExprMod1 /* sqlite3.c:147262:29 */ //************* Continuing where we left off in wherecode.c ***************** // Return the name of the i-th column of the pIdx index. -func explainIndexColumnName(tls *libc.TLS, pIdx uintptr, i int32) uintptr { /* sqlite3.c:147456:19: */ +func explainIndexColumnName(tls *libc.TLS, pIdx uintptr, i int32) uintptr { /* sqlite3.c:147470:19: */ i = int32(*(*I16)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FaiColumn + uintptr(i)*2))) if i == -2 { return ts + 21374 /* "" */ @@ -129861,7 +129881,7 @@ func explainIndexColumnName(tls *libc.TLS, pIdx uintptr, i int32) uintptr { /* s // at a time. This routine adds a new term to the end of the expression. // Terms are separated by AND so add the "AND" text for second and subsequent // terms only. -func explainAppendTerm(tls *libc.TLS, pStr uintptr, pIdx uintptr, nTerm int32, iTerm int32, bAnd int32, zOp uintptr) { /* sqlite3.c:147471:13: */ +func explainAppendTerm(tls *libc.TLS, pStr uintptr, pIdx uintptr, nTerm int32, iTerm int32, bAnd int32, zOp uintptr) { /* sqlite3.c:147485:13: */ var i int32 if bAnd != 0 { @@ -129909,7 +129929,7 @@ func explainAppendTerm(tls *libc.TLS, pStr uintptr, pIdx uintptr, nTerm int32, i // string similar to: // // "a=? AND b>?" -func explainIndexRange(tls *libc.TLS, pStr uintptr, pLoop uintptr) { /* sqlite3.c:147515:13: */ +func explainIndexRange(tls *libc.TLS, pStr uintptr, pLoop uintptr) { /* sqlite3.c:147529:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -129954,7 +129974,7 @@ func explainIndexRange(tls *libc.TLS, pStr uintptr, pLoop uintptr) { /* sqlite3. // // If an OP_Explain opcode is added to the VM, its address is returned. // Otherwise, if no OP_Explain is coded, zero is returned. -func Xsqlite3WhereExplainOneScan(tls *libc.TLS, pParse uintptr, pTabList uintptr, pLevel uintptr, wctrlFlags U16) int32 { /* sqlite3.c:147549:20: */ +func Xsqlite3WhereExplainOneScan(tls *libc.TLS, pParse uintptr, pTabList uintptr, pLevel uintptr, wctrlFlags U16) int32 { /* sqlite3.c:147563:20: */ bp := tls.Alloc(196) defer tls.Free(196) @@ -130055,7 +130075,7 @@ func Xsqlite3WhereExplainOneScan(tls *libc.TLS, pParse uintptr, pTabList uintptr // // If an OP_Explain opcode is added to the VM, its address is returned. // Otherwise, if no OP_Explain is coded, zero is returned. -func Xsqlite3WhereExplainBloomFilter(tls *libc.TLS, pParse uintptr, pWInfo uintptr, pLevel uintptr) int32 { /* sqlite3.c:147661:20: */ +func Xsqlite3WhereExplainBloomFilter(tls *libc.TLS, pParse uintptr, pWInfo uintptr, pLevel uintptr) int32 { /* sqlite3.c:147675:20: */ bp := tls.Alloc(156) defer tls.Free(156) @@ -130138,7 +130158,7 @@ func Xsqlite3WhereExplainBloomFilter(tls *libc.TLS, pParse uintptr, pWInfo uintp // The TERM_LIKECOND marking indicates that the term should be coded inside // a conditional such that is only evaluated on the second pass of a // LIKE-optimization loop, when scanning BLOBs instead of strings. -func disableTerm(tls *libc.TLS, pLevel uintptr, pTerm uintptr) { /* sqlite3.c:147774:13: */ +func disableTerm(tls *libc.TLS, pLevel uintptr, pTerm uintptr) { /* sqlite3.c:147788:13: */ var nLoop int32 = 0 for int32((*WhereTerm)(unsafe.Pointer(pTerm)).FwtFlags)&TERM_CODED == 0 && @@ -130171,7 +130191,7 @@ func disableTerm(tls *libc.TLS, pLevel uintptr, pTerm uintptr) { /* sqlite3.c:14 // // This routine makes its own copy of zAff so that the caller is free // to modify zAff after this routine returns. -func codeApplyAffinity(tls *libc.TLS, pParse uintptr, base int32, n int32, zAff uintptr) { /* sqlite3.c:147812:13: */ +func codeApplyAffinity(tls *libc.TLS, pParse uintptr, base int32, n int32, zAff uintptr) { /* sqlite3.c:147826:13: */ var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe if zAff == uintptr(0) { @@ -130204,7 +130224,7 @@ func codeApplyAffinity(tls *libc.TLS, pParse uintptr, base int32, n int32, zAff // // * the comparison will be performed with no affinity, or // * the affinity change in zAff is guaranteed not to change the value. -func updateRangeAffinityStr(tls *libc.TLS, pRight uintptr, n int32, zAff uintptr) { /* sqlite3.c:147849:13: */ +func updateRangeAffinityStr(tls *libc.TLS, pRight uintptr, n int32, zAff uintptr) { /* sqlite3.c:147863:13: */ var i int32 for i = 0; i < n; i++ { var p uintptr = Xsqlite3VectorFieldSubexpr(tls, pRight, i) @@ -130242,7 +130262,7 @@ func updateRangeAffinityStr(tls *libc.TLS, pRight uintptr, n int32, zAff uintptr // The reduced pX is different from the original (obviously) and thus is // only used for indexing, to improve performance. The original unaltered // IN expression must also be run on each output row for correctness. -func removeUnindexableInClauseTerms(tls *libc.TLS, pParse uintptr, iEq int32, pLoop uintptr, pX uintptr) uintptr { /* sqlite3.c:147895:13: */ +func removeUnindexableInClauseTerms(tls *libc.TLS, pParse uintptr, iEq int32, pLoop uintptr, pX uintptr) uintptr { /* sqlite3.c:147909:13: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb var pNew uintptr pNew = Xsqlite3ExprDup(tls, db, pX, 0) @@ -130317,7 +130337,7 @@ func removeUnindexableInClauseTerms(tls *libc.TLS, pParse uintptr, iEq int32, pL // For a constraint of the form X=expr, the expression is evaluated in // straight-line code. For constraints of the form X IN (...) // this routine sets up a loop that will iterate over all values of X. -func codeEqualityTerm(tls *libc.TLS, pParse uintptr, pTerm uintptr, pLevel uintptr, iEq int32, bRev int32, iTarget int32) int32 { /* sqlite3.c:147984:12: */ +func codeEqualityTerm(tls *libc.TLS, pParse uintptr, pTerm uintptr, pLevel uintptr, iEq int32, bRev int32, iTarget int32) int32 { /* sqlite3.c:147998:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -130510,7 +130530,7 @@ func codeEqualityTerm(tls *libc.TLS, pParse uintptr, pTerm uintptr, pLevel uintp // no conversion should be attempted before using a t2.b value as part of // a key to search the index. Hence the first byte in the returned affinity // string in this example would be set to SQLITE_AFF_BLOB. -func codeAllEqualityTerms(tls *libc.TLS, pParse uintptr, pLevel uintptr, bRev int32, nExtraReg int32, pzAff uintptr) int32 { /* sqlite3.c:148180:12: */ +func codeAllEqualityTerms(tls *libc.TLS, pParse uintptr, pLevel uintptr, bRev int32, nExtraReg int32, pzAff uintptr) int32 { /* sqlite3.c:148194:12: */ var nEq U16 // The number of == or IN constraints to code var nSkip U16 // Number of left-most columns to skip var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe // The vm under construction @@ -130631,7 +130651,7 @@ func codeAllEqualityTerms(tls *libc.TLS, pParse uintptr, pLevel uintptr, bRev in // on. For each table column, if the column is the i'th column of the // index, then the corresponding array entry is set to (i+1). If the column // does not appear in the index at all, the array entry is set to 0. -func codeDeferredSeek(tls *libc.TLS, pWInfo uintptr, pIdx uintptr, iCur int32, iIdxCur int32) { /* sqlite3.c:148558:13: */ +func codeDeferredSeek(tls *libc.TLS, pWInfo uintptr, pIdx uintptr, iCur int32, iIdxCur int32) { /* sqlite3.c:148572:13: */ var pParse uintptr = (*WhereInfo)(unsafe.Pointer(pWInfo)).FpParse // Parse context var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe // Vdbe to generate code within @@ -130672,7 +130692,7 @@ func codeDeferredSeek(tls *libc.TLS, pWInfo uintptr, pIdx uintptr, iCur int32, i // If the expression is not a vector, then nReg must be passed 1. In // this case, generate code to evaluate the expression and leave the // result in register iReg. -func codeExprOrVector(tls *libc.TLS, pParse uintptr, p uintptr, iReg int32, nReg int32) { /* sqlite3.c:148602:13: */ +func codeExprOrVector(tls *libc.TLS, pParse uintptr, p uintptr, iReg int32, nReg int32) { /* sqlite3.c:148616:13: */ if p != 0 && Xsqlite3ExprIsVector(tls, p) != 0 { if (*Expr)(unsafe.Pointer(p)).Fflags&U32(EP_xIsSelect) != U32(0) { @@ -130700,10 +130720,10 @@ func codeExprOrVector(tls *libc.TLS, pParse uintptr, p uintptr, iReg int32, nReg // An instance of the IdxExprTrans object carries information about a // mapping from an expression on table columns into a column in an index // down through the Walker. -type IdxExprTrans = IdxExprTrans1 /* sqlite3.c:148642:3 */ +type IdxExprTrans = IdxExprTrans1 /* sqlite3.c:148656:3 */ // Preserve pExpr on the WhereETrans list of the WhereInfo. -func preserveExpr(tls *libc.TLS, pTrans uintptr, pExpr uintptr) { /* sqlite3.c:148647:13: */ +func preserveExpr(tls *libc.TLS, pTrans uintptr, pExpr uintptr) { /* sqlite3.c:148661:13: */ var pNew uintptr pNew = Xsqlite3DbMallocRaw(tls, (*IdxExprTrans)(unsafe.Pointer(pTrans)).Fdb, uint64(unsafe.Sizeof(WhereExprMod{}))) if pNew == uintptr(0) { @@ -130720,7 +130740,7 @@ func preserveExpr(tls *libc.TLS, pTrans uintptr, pExpr uintptr) { /* sqlite3.c:1 // // If pExpr matches, then transform it into a reference to the index column // that contains the value of pExpr. -func whereIndexExprTransNode(tls *libc.TLS, p uintptr, pExpr uintptr) int32 { /* sqlite3.c:148663:12: */ +func whereIndexExprTransNode(tls *libc.TLS, p uintptr, pExpr uintptr) int32 { /* sqlite3.c:148677:12: */ var pX uintptr = *(*uintptr)(unsafe.Pointer(p + 40)) if Xsqlite3ExprCompare(tls, uintptr(0), pExpr, (*IdxExprTrans)(unsafe.Pointer(pX)).FpIdxExpr, (*IdxExprTrans)(unsafe.Pointer(pX)).FiTabCur) == 0 { preserveExpr(tls, pX, pExpr) @@ -130740,7 +130760,7 @@ func whereIndexExprTransNode(tls *libc.TLS, p uintptr, pExpr uintptr) int32 { /* // A walker node callback that translates a column reference to a table // into a corresponding column reference of an index. -func whereIndexExprTransColumn(tls *libc.TLS, p uintptr, pExpr uintptr) int32 { /* sqlite3.c:148685:12: */ +func whereIndexExprTransColumn(tls *libc.TLS, p uintptr, pExpr uintptr) int32 { /* sqlite3.c:148699:12: */ if int32((*Expr)(unsafe.Pointer(pExpr)).Fop) == TK_COLUMN { var pX uintptr = *(*uintptr)(unsafe.Pointer(p + 40)) if (*Expr)(unsafe.Pointer(pExpr)).FiTable == (*IdxExprTrans)(unsafe.Pointer(pX)).FiTabCur && int32((*Expr)(unsafe.Pointer(pExpr)).FiColumn) == (*IdxExprTrans)(unsafe.Pointer(pX)).FiTabCol { @@ -130762,7 +130782,7 @@ func whereIndexExprTransColumn(tls *libc.TLS, p uintptr, pExpr uintptr) int32 { // 2019-10-24: Updated to also translate references to a VIRTUAL column in // the table into references to the corresponding (stored) column of the // index. -func whereIndexExprTrans(tls *libc.TLS, pIdx uintptr, iTabCur int32, iIdxCur int32, pWInfo uintptr) { /* sqlite3.c:148710:13: */ +func whereIndexExprTrans(tls *libc.TLS, pIdx uintptr, iTabCur int32, iIdxCur int32, pWInfo uintptr) { /* sqlite3.c:148724:13: */ bp := tls.Alloc(88) defer tls.Free(88) @@ -130827,7 +130847,7 @@ func whereIndexExprTrans(tls *libc.TLS, pIdx uintptr, iTabCur int32, iIdxCur int // WHERE clause terms on the query, and if any of those terms must be // true because pTruth is true, then mark those WHERE clause terms as // coded. -func whereApplyPartialIndexConstraints(tls *libc.TLS, pTruth uintptr, iTabCur int32, pWC uintptr) { /* sqlite3.c:148774:13: */ +func whereApplyPartialIndexConstraints(tls *libc.TLS, pTruth uintptr, iTabCur int32, pWC uintptr) { /* sqlite3.c:148788:13: */ var i int32 var pTerm uintptr for int32((*Expr)(unsafe.Pointer(pTruth)).Fop) == TK_AND { @@ -130873,7 +130893,7 @@ __3: // WhereLevel.regFilter set. If an inner-loop Bloom filter is checked, // then clear the WhereLevel.regFilter value to prevent the Bloom filter // from being checked a second time when the inner loop is evaluated. -func filterPullDown(tls *libc.TLS, pParse uintptr, pWInfo uintptr, iLevel int32, addrNxt int32, notReady Bitmask) { /* sqlite3.c:148810:29: */ +func filterPullDown(tls *libc.TLS, pParse uintptr, pWInfo uintptr, iLevel int32, addrNxt int32, notReady Bitmask) { /* sqlite3.c:148824:29: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -130918,7 +130938,7 @@ func filterPullDown(tls *libc.TLS, pParse uintptr, pWInfo uintptr, iLevel int32, // Generate code for the start of the iLevel-th loop in the WHERE clause // implementation described by pWInfo. -func Xsqlite3WhereCodeOneLoopStart(tls *libc.TLS, pParse uintptr, v uintptr, pWInfo uintptr, iLevel int32, pLevel uintptr, notReady Bitmask) Bitmask { /* sqlite3.c:148858:24: */ +func Xsqlite3WhereCodeOneLoopStart(tls *libc.TLS, pParse uintptr, v uintptr, pWInfo uintptr, iLevel int32, pLevel uintptr, notReady Bitmask) Bitmask { /* sqlite3.c:148872:24: */ bp := tls.Alloc(96) defer tls.Free(96) @@ -132148,24 +132168,24 @@ var aStartOp = [8]U8{ U8(OP_SeekLT), // 5: (start_constraints && !startEq && bRev) U8(OP_SeekGE), // 6: (start_constraints && startEq && !bRev) U8(OP_SeekLE), // 7: (start_constraints && startEq && bRev) -} /* sqlite3.c:149238:21 */ +} /* sqlite3.c:149252:21 */ var aEndOp = [4]U8{ U8(OP_IdxGE), // 0: (end_constraints && !bRev && !endEq) U8(OP_IdxGT), // 1: (end_constraints && !bRev && endEq) U8(OP_IdxLE), // 2: (end_constraints && bRev && !endEq) U8(OP_IdxLT), // 3: (end_constraints && bRev && endEq) -} /* sqlite3.c:149248:21 */ -var aStep = [2]U8{U8(OP_Next), U8(OP_Prev)} /* sqlite3.c:149966:21 */ -var aStart = [2]U8{U8(OP_Rewind), U8(OP_Last)} /* sqlite3.c:149967:21 */ +} /* sqlite3.c:149262:21 */ +var aStep = [2]U8{U8(OP_Next), U8(OP_Prev)} /* sqlite3.c:149980:21 */ +var aStart = [2]U8{U8(OP_Rewind), U8(OP_Last)} /* sqlite3.c:149981:21 */ // Deallocate all memory associated with a WhereOrInfo object. -func whereOrInfoDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:150176:13: */ +func whereOrInfoDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:150190:13: */ Xsqlite3WhereClauseClear(tls, p) Xsqlite3DbFree(tls, db, p) } // Deallocate all memory associated with a WhereAndInfo object. -func whereAndInfoDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:150184:13: */ +func whereAndInfoDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:150198:13: */ Xsqlite3WhereClauseClear(tls, p) Xsqlite3DbFree(tls, db, p) } @@ -132187,7 +132207,7 @@ func whereAndInfoDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:150 // WhereTerms. All pointers to WhereTerms should be invalidated after // calling this routine. Such pointers may be reinitialized by referencing // the pWC->a[] array. -func whereClauseInsert(tls *libc.TLS, pWC uintptr, p uintptr, wtFlags U16) int32 { /* sqlite3.c:150208:12: */ +func whereClauseInsert(tls *libc.TLS, pWC uintptr, p uintptr, wtFlags U16) int32 { /* sqlite3.c:150222:12: */ var pTerm uintptr var idx int32 @@ -132229,14 +132249,14 @@ func whereClauseInsert(tls *libc.TLS, pWC uintptr, p uintptr, wtFlags U16) int32 // Return TRUE if the given operator is one of the operators that is // allowed for an indexable WHERE clause term. The allowed operators are // "=", "<", ">", "<=", ">=", "IN", "IS", and "IS NULL" -func allowedOp(tls *libc.TLS, op int32) int32 { /* sqlite3.c:150250:12: */ +func allowedOp(tls *libc.TLS, op int32) int32 { /* sqlite3.c:150264:12: */ return libc.Bool32(op == TK_IN || op >= TK_EQ && op <= TK_GE || op == TK_ISNULL || op == TK_IS) } // Commute a comparison operator. Expressions of the form "X op Y" // are converted into "Y op X". -func exprCommute(tls *libc.TLS, pParse uintptr, pExpr uintptr) U16 { /* sqlite3.c:150262:12: */ +func exprCommute(tls *libc.TLS, pParse uintptr, pExpr uintptr) U16 { /* sqlite3.c:150276:12: */ if int32((*Expr)(unsafe.Pointer((*Expr)(unsafe.Pointer(pExpr)).FpLeft)).Fop) == TK_VECTOR || int32((*Expr)(unsafe.Pointer((*Expr)(unsafe.Pointer(pExpr)).FpRight)).Fop) == TK_VECTOR || Xsqlite3BinaryCompareCollSeq(tls, pParse, (*Expr)(unsafe.Pointer(pExpr)).FpLeft, (*Expr)(unsafe.Pointer(pExpr)).FpRight) != Xsqlite3BinaryCompareCollSeq(tls, pParse, (*Expr)(unsafe.Pointer(pExpr)).FpRight, (*Expr)(unsafe.Pointer(pExpr)).FpLeft) { @@ -132256,7 +132276,7 @@ func exprCommute(tls *libc.TLS, pParse uintptr, pExpr uintptr) U16 { /* sqlite3. } // Translate from TK_xx operator to WO_xx bitmask. -func operatorMask(tls *libc.TLS, op int32) U16 { /* sqlite3.c:150285:12: */ +func operatorMask(tls *libc.TLS, op int32) U16 { /* sqlite3.c:150299:12: */ var c U16 if op == TK_IN { @@ -132283,7 +132303,7 @@ func operatorMask(tls *libc.TLS, op int32) U16 { /* sqlite3.c:150285:12: */ // that virtual tables cannot participate in the LIKE optimization.) The // collating sequence for the column on the LHS must be appropriate for // the operator. -func isLikeOrGlob(tls *libc.TLS, pParse uintptr, pExpr uintptr, ppPrefix uintptr, pisComplete uintptr, pnoCase uintptr) int32 { /* sqlite3.c:150323:12: */ +func isLikeOrGlob(tls *libc.TLS, pParse uintptr, pExpr uintptr, ppPrefix uintptr, pisComplete uintptr, pnoCase uintptr) int32 { /* sqlite3.c:150337:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -132455,7 +132475,7 @@ func isLikeOrGlob(tls *libc.TLS, pParse uintptr, pExpr uintptr, ppPrefix uintptr // of virtual table in forms (5) or (7) then return 2. // // If the expression matches none of the patterns above, return 0. -func isAuxiliaryVtabOperator(tls *libc.TLS, db uintptr, pExpr uintptr, peOp2 uintptr, ppLeft uintptr, ppRight uintptr) int32 { /* sqlite3.c:150502:12: */ +func isAuxiliaryVtabOperator(tls *libc.TLS, db uintptr, pExpr uintptr, peOp2 uintptr, ppLeft uintptr, ppRight uintptr) int32 { /* sqlite3.c:150516:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -132560,18 +132580,18 @@ type Op2 = struct { FzOp uintptr FeOp2 uint8 F__ccgo_pad1 [7]byte -} /* sqlite3.c:150510:18 */ +} /* sqlite3.c:150524:18 */ var aOp = [4]Op2{ {FzOp: ts + 16023, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_MATCH)}, {FzOp: ts + 15345, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_GLOB)}, {FzOp: ts + 14871, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_LIKE)}, {FzOp: ts + 21646, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_REGEXP)}, -} /* sqlite3.c:150513:7 */ +} /* sqlite3.c:150527:7 */ // If the pBase expression originated in the ON or USING clause of // a join, then transfer the appropriate markings over to derived. -func transferJoinMarkings(tls *libc.TLS, pDerived uintptr, pBase uintptr) { /* sqlite3.c:150614:13: */ +func transferJoinMarkings(tls *libc.TLS, pDerived uintptr, pBase uintptr) { /* sqlite3.c:150628:13: */ if pDerived != 0 { *(*U32)(unsafe.Pointer(pDerived + 4)) |= (*Expr)(unsafe.Pointer(pBase)).Fflags & U32(EP_FromJoin) *(*int32)(unsafe.Pointer(pDerived + 52)) = *(*int32)(unsafe.Pointer(pBase + 52)) @@ -132579,7 +132599,7 @@ func transferJoinMarkings(tls *libc.TLS, pDerived uintptr, pBase uintptr) { /* s } // Mark term iChild as being a child of term iParent -func markTermAsChild(tls *libc.TLS, pWC uintptr, iChild int32, iParent int32) { /* sqlite3.c:150624:13: */ +func markTermAsChild(tls *libc.TLS, pWC uintptr, iChild int32, iParent int32) { /* sqlite3.c:150638:13: */ (*WhereTerm)(unsafe.Pointer((*WhereClause)(unsafe.Pointer(pWC)).Fa + uintptr(iChild)*56)).FiParent = iParent (*WhereTerm)(unsafe.Pointer((*WhereClause)(unsafe.Pointer(pWC)).Fa + uintptr(iChild)*56)).FtruthProb = (*WhereTerm)(unsafe.Pointer((*WhereClause)(unsafe.Pointer(pWC)).Fa + uintptr(iParent)*56)).FtruthProb (*WhereTerm)(unsafe.Pointer((*WhereClause)(unsafe.Pointer(pWC)).Fa+uintptr(iParent)*56)).FnChild++ @@ -132588,7 +132608,7 @@ func markTermAsChild(tls *libc.TLS, pWC uintptr, iChild int32, iParent int32) { // Return the N-th AND-connected subterm of pTerm. Or if pTerm is not // a conjunction, then return just pTerm when N==0. If N is exceeds // the number of available subterms, return NULL. -func whereNthSubterm(tls *libc.TLS, pTerm uintptr, N int32) uintptr { /* sqlite3.c:150635:18: */ +func whereNthSubterm(tls *libc.TLS, pTerm uintptr, N int32) uintptr { /* sqlite3.c:150649:18: */ if int32((*WhereTerm)(unsafe.Pointer(pTerm)).FeOperator) != WO_AND { if N == 0 { return pTerm @@ -132619,7 +132639,7 @@ func whereNthSubterm(tls *libc.TLS, pTerm uintptr, N int32) uintptr { /* sqlite3 // The following is NOT generated: // // xy --> x!=y -func whereCombineDisjuncts(tls *libc.TLS, pSrc uintptr, pWC uintptr, pOne uintptr, pTwo uintptr) { /* sqlite3.c:150665:13: */ +func whereCombineDisjuncts(tls *libc.TLS, pSrc uintptr, pWC uintptr, pOne uintptr, pTwo uintptr) { /* sqlite3.c:150679:13: */ var eOp U16 = U16(int32((*WhereTerm)(unsafe.Pointer(pOne)).FeOperator) | int32((*WhereTerm)(unsafe.Pointer(pTwo)).FeOperator)) var db uintptr // Database connection (for malloc) var pNew uintptr // New virtual expression @@ -132752,7 +132772,7 @@ func whereCombineDisjuncts(tls *libc.TLS, pSrc uintptr, pWC uintptr, pOne uintpt // // If none of cases 1, 2, or 3 apply, then leave the eOperator set to // zero. This term is not useful for search. -func exprAnalyzeOrTerm(tls *libc.TLS, pSrc uintptr, pWC uintptr, idxTerm int32) { /* sqlite3.c:150792:13: */ +func exprAnalyzeOrTerm(tls *libc.TLS, pSrc uintptr, pWC uintptr, idxTerm int32) { /* sqlite3.c:150806:13: */ var pWInfo uintptr = (*WhereClause)(unsafe.Pointer(pWC)).FpWInfo // WHERE clause processing context var pParse uintptr = (*WhereInfo)(unsafe.Pointer(pWInfo)).FpParse // Parser context var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb // Database connection @@ -133071,7 +133091,7 @@ __3: // for the LHS anyplace else in the WHERE clause where the LHS column occurs. // This is an optimization. No harm comes from returning 0. But if 1 is // returned when it should not be, then incorrect answers might result. -func termIsEquivalence(tls *libc.TLS, pParse uintptr, pExpr uintptr) int32 { /* sqlite3.c:151066:12: */ +func termIsEquivalence(tls *libc.TLS, pParse uintptr, pExpr uintptr) int32 { /* sqlite3.c:151080:12: */ var aff1 uint8 var aff2 uint8 var pColl uintptr @@ -133100,7 +133120,7 @@ func termIsEquivalence(tls *libc.TLS, pParse uintptr, pExpr uintptr) int32 { /* // Recursively walk the expressions of a SELECT statement and generate // a bitmask indicating which tables are used in that expression // tree. -func exprSelectUsage(tls *libc.TLS, pMaskSet uintptr, pS uintptr) Bitmask { /* sqlite3.c:151089:16: */ +func exprSelectUsage(tls *libc.TLS, pMaskSet uintptr, pS uintptr) Bitmask { /* sqlite3.c:151103:16: */ var mask Bitmask = uint64(0) for pS != 0 { var pSrc uintptr = (*Select)(unsafe.Pointer(pS)).FpSrc @@ -133135,7 +133155,7 @@ func exprSelectUsage(tls *libc.TLS, pMaskSet uintptr, pS uintptr) Bitmask { /* s // If pExpr is a TK_COLUMN column reference, then this routine always returns // true even if that particular column is not indexed, because the column // might be added to an automatic index later. -func exprMightBeIndexed2(tls *libc.TLS, pFrom uintptr, mPrereq Bitmask, aiCurCol uintptr, pExpr uintptr) int32 { /* sqlite3.c:151126:28: */ +func exprMightBeIndexed2(tls *libc.TLS, pFrom uintptr, mPrereq Bitmask, aiCurCol uintptr, pExpr uintptr) int32 { /* sqlite3.c:151140:28: */ var pIdx uintptr var i int32 var iCur int32 @@ -133173,7 +133193,7 @@ __3: return 0 } -func exprMightBeIndexed(tls *libc.TLS, pFrom uintptr, mPrereq Bitmask, aiCurCol uintptr, pExpr uintptr, op int32) int32 { /* sqlite3.c:151150:12: */ +func exprMightBeIndexed(tls *libc.TLS, pFrom uintptr, mPrereq Bitmask, aiCurCol uintptr, pExpr uintptr, op int32) int32 { /* sqlite3.c:151164:12: */ // If this expression is a vector to the left or right of a // inequality constraint (>, <, >= or <=), perform the processing // on the first element of the vector. @@ -133214,7 +133234,7 @@ func exprMightBeIndexed(tls *libc.TLS, pFrom uintptr, mPrereq Bitmask, aiCurCol // needs to be freed with the WhereClause) and TERM_VIRTUAL (because it // is a commuted copy of a prior term.) The original term has nChild=1 // and the copy has idxParent set to the index of the original term. -func exprAnalyze(tls *libc.TLS, pSrc uintptr, pWC uintptr, idxTerm int32) { /* sqlite3.c:151198:13: */ +func exprAnalyze(tls *libc.TLS, pSrc uintptr, pWC uintptr, idxTerm int32) { /* sqlite3.c:151212:13: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -133582,7 +133602,7 @@ func exprAnalyze(tls *libc.TLS, pSrc uintptr, pWC uintptr, idxTerm int32) { /* s *(*Bitmask)(unsafe.Pointer(pTerm + 40)) |= extraRight } -var ops = [2]U8{U8(TK_GE), U8(TK_LE)} /* sqlite3.c:151367:21 */ +var ops = [2]U8{U8(TK_GE), U8(TK_LE)} /* sqlite3.c:151381:21 */ // ************************************************************************** // @@ -133605,7 +133625,7 @@ var ops = [2]U8{U8(TK_GE), U8(TK_LE)} /* sqlite3.c:151367:21 */ // In the previous sentence and in the diagram, "slot[]" refers to // the WhereClause.a[] array. The slot[] array grows as needed to contain // all terms of the WHERE clause. -func Xsqlite3WhereSplit(tls *libc.TLS, pWC uintptr, pExpr uintptr, op U8) { /* sqlite3.c:151663:21: */ +func Xsqlite3WhereSplit(tls *libc.TLS, pWC uintptr, pExpr uintptr, op U8) { /* sqlite3.c:151677:21: */ var pE2 uintptr = Xsqlite3ExprSkipCollateAndLikely(tls, pExpr) (*WhereClause)(unsafe.Pointer(pWC)).Fop = op @@ -133629,7 +133649,7 @@ func Xsqlite3WhereSplit(tls *libc.TLS, pWC uintptr, pExpr uintptr, op U8) { /* s // (example: "LIMIT 5 OFFSET 10") then the expression codes as a // TK_INTEGER so that it will be available to sqlite3_vtab_rhs_value(). // If not, then it codes as a TK_REGISTER expression. -func whereAddLimitExpr(tls *libc.TLS, pWC uintptr, iReg int32, pExpr uintptr, iCsr int32, eMatchOp int32) { /* sqlite3.c:151687:13: */ +func whereAddLimitExpr(tls *libc.TLS, pWC uintptr, iReg int32, pExpr uintptr, iCsr int32, eMatchOp int32) { /* sqlite3.c:151701:13: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -133681,7 +133701,7 @@ func whereAddLimitExpr(tls *libc.TLS, pWC uintptr, iReg int32, pExpr uintptr, iC // LIMIT and OFFSET terms are ignored by most of the planner code. They // exist only so that they may be passed to the xBestIndex method of the // single virtual table in the FROM clause of the SELECT. -func Xsqlite3WhereAddLimit(tls *libc.TLS, pWC uintptr, p uintptr) { /* sqlite3.c:151740:21: */ +func Xsqlite3WhereAddLimit(tls *libc.TLS, pWC uintptr, p uintptr) { /* sqlite3.c:151754:21: */ if p != 0 && (*Select)(unsafe.Pointer(p)).FpLimit != 0 && (*Select)(unsafe.Pointer(p)).FselFlags&U32(SF_Distinct|SF_Aggregate) == U32(0) && @@ -133731,7 +133751,7 @@ func Xsqlite3WhereAddLimit(tls *libc.TLS, pWC uintptr, p uintptr) { /* sqlite3.c } // Initialize a preallocated WhereClause structure. -func Xsqlite3WhereClauseInit(tls *libc.TLS, pWC uintptr, pWInfo uintptr) { /* sqlite3.c:151786:21: */ +func Xsqlite3WhereClauseInit(tls *libc.TLS, pWC uintptr, pWInfo uintptr) { /* sqlite3.c:151800:21: */ (*WhereClause)(unsafe.Pointer(pWC)).FpWInfo = pWInfo (*WhereClause)(unsafe.Pointer(pWC)).FhasOr = U8(0) (*WhereClause)(unsafe.Pointer(pWC)).FpOuter = uintptr(0) @@ -133744,7 +133764,7 @@ func Xsqlite3WhereClauseInit(tls *libc.TLS, pWC uintptr, pWInfo uintptr) { /* sq // Deallocate a WhereClause structure. The WhereClause structure // itself is not freed. This routine is the inverse of // sqlite3WhereClauseInit(). -func Xsqlite3WhereClauseClear(tls *libc.TLS, pWC uintptr) { /* sqlite3.c:151804:21: */ +func Xsqlite3WhereClauseClear(tls *libc.TLS, pWC uintptr) { /* sqlite3.c:151818:21: */ var db uintptr = (*Parse)(unsafe.Pointer((*WhereInfo)(unsafe.Pointer((*WhereClause)(unsafe.Pointer(pWC)).FpWInfo)).FpParse)).Fdb if (*WhereClause)(unsafe.Pointer(pWC)).FnTerm > 0 { @@ -133804,7 +133824,7 @@ func Xsqlite3WhereClauseClear(tls *libc.TLS, pWC uintptr) { /* sqlite3.c:151804: // computations done by this routine are broken out into a separate // "no-inline" function to avoid the stack push overhead in the // common case where it is not needed. -func sqlite3WhereExprUsageFull(tls *libc.TLS, pMaskSet uintptr, p uintptr) Bitmask { /* sqlite3.c:151872:32: */ +func sqlite3WhereExprUsageFull(tls *libc.TLS, pMaskSet uintptr, p uintptr) Bitmask { /* sqlite3.c:151886:32: */ var mask Bitmask if int32((*Expr)(unsafe.Pointer(p)).Fop) == TK_IF_NULL_ROW { mask = Xsqlite3WhereGetMask(tls, pMaskSet, (*Expr)(unsafe.Pointer(p)).FiTable) @@ -133834,7 +133854,7 @@ func sqlite3WhereExprUsageFull(tls *libc.TLS, pMaskSet uintptr, p uintptr) Bitma return mask } -func Xsqlite3WhereExprUsageNN(tls *libc.TLS, pMaskSet uintptr, p uintptr) Bitmask { /* sqlite3.c:151898:24: */ +func Xsqlite3WhereExprUsageNN(tls *libc.TLS, pMaskSet uintptr, p uintptr) Bitmask { /* sqlite3.c:151912:24: */ if int32((*Expr)(unsafe.Pointer(p)).Fop) == TK_COLUMN && !((*Expr)(unsafe.Pointer(p)).Fflags&U32(EP_FixedCol) != U32(0)) { return Xsqlite3WhereGetMask(tls, pMaskSet, (*Expr)(unsafe.Pointer(p)).FiTable) } else if (*Expr)(unsafe.Pointer(p)).Fflags&U32(EP_TokenOnly|EP_Leaf) != U32(0) { @@ -133844,14 +133864,14 @@ func Xsqlite3WhereExprUsageNN(tls *libc.TLS, pMaskSet uintptr, p uintptr) Bitmas return sqlite3WhereExprUsageFull(tls, pMaskSet, p) } -func Xsqlite3WhereExprUsage(tls *libc.TLS, pMaskSet uintptr, p uintptr) Bitmask { /* sqlite3.c:151907:24: */ +func Xsqlite3WhereExprUsage(tls *libc.TLS, pMaskSet uintptr, p uintptr) Bitmask { /* sqlite3.c:151921:24: */ if p != 0 { return Xsqlite3WhereExprUsageNN(tls, pMaskSet, p) } return uint64(0) } -func Xsqlite3WhereExprListUsage(tls *libc.TLS, pMaskSet uintptr, pList uintptr) Bitmask { /* sqlite3.c:151910:24: */ +func Xsqlite3WhereExprListUsage(tls *libc.TLS, pMaskSet uintptr, pList uintptr) Bitmask { /* sqlite3.c:151924:24: */ var i int32 var mask Bitmask = uint64(0) if pList != 0 { @@ -133868,7 +133888,7 @@ func Xsqlite3WhereExprListUsage(tls *libc.TLS, pMaskSet uintptr, pList uintptr) // end of the WHERE clause. We do not want to analyze these new // virtual terms, so start analyzing at the end and work forward // so that the added virtual terms are never processed. -func Xsqlite3WhereExprAnalyze(tls *libc.TLS, pTabList uintptr, pWC uintptr) { /* sqlite3.c:151930:21: */ +func Xsqlite3WhereExprAnalyze(tls *libc.TLS, pTabList uintptr, pWC uintptr) { /* sqlite3.c:151944:21: */ var i int32 for i = (*WhereClause)(unsafe.Pointer(pWC)).FnTerm - 1; i >= 0; i-- { exprAnalyze(tls, pTabList, pWC, i) @@ -133880,7 +133900,7 @@ func Xsqlite3WhereExprAnalyze(tls *libc.TLS, pTabList uintptr, pWC uintptr) { /* // // Each function argument translates into an equality constraint against // a HIDDEN column in the table. -func Xsqlite3WhereTabFuncArgs(tls *libc.TLS, pParse uintptr, pItem uintptr, pWC uintptr) { /* sqlite3.c:151947:21: */ +func Xsqlite3WhereTabFuncArgs(tls *libc.TLS, pParse uintptr, pItem uintptr, pWC uintptr) { /* sqlite3.c:151961:21: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -133964,7 +133984,7 @@ type HiddenIndexInfo1 = struct { FmHandleIn U32 F__ccgo_pad1 [4]byte FaRhs [1]uintptr -} /* sqlite3.c:152019:9 */ +} /* sqlite3.c:152033:9 */ //************* End of whereexpr.c ****************************************** //************* Begin file where.c ****************************************** @@ -133994,16 +134014,16 @@ type HiddenIndexInfo1 = struct { // This object is not an API and can be changed from one release to the // next. As long as allocateIndexInfo() and sqlite3_vtab_collation() // agree on the structure, all will be well. -type HiddenIndexInfo = HiddenIndexInfo1 /* sqlite3.c:152019:32 */ +type HiddenIndexInfo = HiddenIndexInfo1 /* sqlite3.c:152033:32 */ // Return the estimated number of output rows from a WHERE clause -func Xsqlite3WhereOutputRowCount(tls *libc.TLS, pWInfo uintptr) LogEst { /* sqlite3.c:152037:23: */ +func Xsqlite3WhereOutputRowCount(tls *libc.TLS, pWInfo uintptr) LogEst { /* sqlite3.c:152051:23: */ return (*WhereInfo)(unsafe.Pointer(pWInfo)).FnRowOut } // Return one of the WHERE_DISTINCT_xxxxx values to indicate how this // WHERE clause returns outputs for DISTINCT processing. -func Xsqlite3WhereIsDistinct(tls *libc.TLS, pWInfo uintptr) int32 { /* sqlite3.c:152045:20: */ +func Xsqlite3WhereIsDistinct(tls *libc.TLS, pWInfo uintptr) int32 { /* sqlite3.c:152059:20: */ return int32((*WhereInfo)(unsafe.Pointer(pWInfo)).FeDistinct) } @@ -134013,7 +134033,7 @@ func Xsqlite3WhereIsDistinct(tls *libc.TLS, pWInfo uintptr) int32 { /* sqlite3.c // terms means that no sorting is needed at all. A return that // is positive but less than the number of ORDER BY terms means that // block sorting is required. -func Xsqlite3WhereIsOrdered(tls *libc.TLS, pWInfo uintptr) int32 { /* sqlite3.c:152057:20: */ +func Xsqlite3WhereIsOrdered(tls *libc.TLS, pWInfo uintptr) int32 { /* sqlite3.c:152071:20: */ return int32((*WhereInfo)(unsafe.Pointer(pWInfo)).FnOBSat) } @@ -134038,7 +134058,7 @@ func Xsqlite3WhereIsOrdered(tls *libc.TLS, pWInfo uintptr) int32 { /* sqlite3.c: // Returning the continuation the second inner loop is an optimization // that might make the code run a little faster, but should not change // the final answer. -func Xsqlite3WhereOrderByLimitOptLabel(tls *libc.TLS, pWInfo uintptr) int32 { /* sqlite3.c:152084:20: */ +func Xsqlite3WhereOrderByLimitOptLabel(tls *libc.TLS, pWInfo uintptr) int32 { /* sqlite3.c:152098:20: */ var pInner uintptr if !(int32(*(*uint8)(unsafe.Pointer(pWInfo + 76))&0x4>>2) != 0) { // The ORDER BY LIMIT optimization does not apply. Jump to the @@ -134059,7 +134079,7 @@ func Xsqlite3WhereOrderByLimitOptLabel(tls *libc.TLS, pWInfo uintptr) int32 { /* // Any extra OP_Goto that is coded here is an optimization. The // correct answer should be obtained regardless. This OP_Goto just // makes the answer appear faster. -func Xsqlite3WhereMinMaxOptEarlyOut(tls *libc.TLS, v uintptr, pWInfo uintptr) { /* sqlite3.c:152107:21: */ +func Xsqlite3WhereMinMaxOptEarlyOut(tls *libc.TLS, v uintptr, pWInfo uintptr) { /* sqlite3.c:152121:21: */ var pInner uintptr var i int32 if !(int32(*(*uint8)(unsafe.Pointer(pWInfo + 76))&0x4>>2) != 0) { @@ -134080,14 +134100,14 @@ func Xsqlite3WhereMinMaxOptEarlyOut(tls *libc.TLS, v uintptr, pWInfo uintptr) { // Return the VDBE address or label to jump to in order to continue // immediately with the next row of a WHERE clause. -func Xsqlite3WhereContinueLabel(tls *libc.TLS, pWInfo uintptr) int32 { /* sqlite3.c:152126:20: */ +func Xsqlite3WhereContinueLabel(tls *libc.TLS, pWInfo uintptr) int32 { /* sqlite3.c:152140:20: */ return (*WhereInfo)(unsafe.Pointer(pWInfo)).FiContinue } // Return the VDBE address or label to jump to in order to break // out of a WHERE loop. -func Xsqlite3WhereBreakLabel(tls *libc.TLS, pWInfo uintptr) int32 { /* sqlite3.c:152135:20: */ +func Xsqlite3WhereBreakLabel(tls *libc.TLS, pWInfo uintptr) int32 { /* sqlite3.c:152149:20: */ return (*WhereInfo)(unsafe.Pointer(pWInfo)).FiBreak } @@ -134106,19 +134126,19 @@ func Xsqlite3WhereBreakLabel(tls *libc.TLS, pWInfo uintptr) int32 { /* sqlite3.c // // aiCur[0] and aiCur[1] both get -1 if the where-clause logic is // unable to use the ONEPASS optimization. -func Xsqlite3WhereOkOnePass(tls *libc.TLS, pWInfo uintptr, aiCur uintptr) int32 { /* sqlite3.c:152156:20: */ +func Xsqlite3WhereOkOnePass(tls *libc.TLS, pWInfo uintptr, aiCur uintptr) int32 { /* sqlite3.c:152170:20: */ libc.Xmemcpy(tls, aiCur, pWInfo+48, uint64(unsafe.Sizeof(int32(0)))*uint64(2)) return int32((*WhereInfo)(unsafe.Pointer(pWInfo)).FeOnePass) } // Return TRUE if the WHERE loop uses the OP_DeferredSeek opcode to move // the data cursor to the row selected by the index cursor. -func Xsqlite3WhereUsesDeferredSeek(tls *libc.TLS, pWInfo uintptr) int32 { /* sqlite3.c:152172:20: */ +func Xsqlite3WhereUsesDeferredSeek(tls *libc.TLS, pWInfo uintptr) int32 { /* sqlite3.c:152186:20: */ return int32(*(*uint8)(unsafe.Pointer(pWInfo + 76)) & 0x1 >> 0) } // Move the content of pSrc into pDest -func whereOrMove(tls *libc.TLS, pDest uintptr, pSrc uintptr) { /* sqlite3.c:152179:13: */ +func whereOrMove(tls *libc.TLS, pDest uintptr, pSrc uintptr) { /* sqlite3.c:152193:13: */ (*WhereOrSet)(unsafe.Pointer(pDest)).Fn = (*WhereOrSet)(unsafe.Pointer(pSrc)).Fn libc.Xmemcpy(tls, pDest+8, pSrc+8, uint64((*WhereOrSet)(unsafe.Pointer(pDest)).Fn)*uint64(unsafe.Sizeof(WhereOrCost{}))) } @@ -134128,7 +134148,7 @@ func whereOrMove(tls *libc.TLS, pDest uintptr, pSrc uintptr) { /* sqlite3.c:1521 // The new entry might overwrite an existing entry, or it might be // appended, or it might be discarded. Do whatever is the right thing // so that pSet keeps the N_OR_COST best entries seen so far. -func whereOrInsert(tls *libc.TLS, pSet uintptr, prereq Bitmask, rRun LogEst, nOut LogEst) int32 { /* sqlite3.c:152191:12: */ +func whereOrInsert(tls *libc.TLS, pSet uintptr, prereq Bitmask, rRun LogEst, nOut LogEst) int32 { /* sqlite3.c:152205:12: */ var i U16 var p uintptr i = (*WhereOrSet)(unsafe.Pointer(pSet)).Fn @@ -134205,7 +134225,7 @@ __13: // Return the bitmask for the given cursor number. Return 0 if // iCursor is not in the set. -func Xsqlite3WhereGetMask(tls *libc.TLS, pMaskSet uintptr, iCursor int32) Bitmask { /* sqlite3.c:152228:24: */ +func Xsqlite3WhereGetMask(tls *libc.TLS, pMaskSet uintptr, iCursor int32) Bitmask { /* sqlite3.c:152242:24: */ var i int32 if *(*int32)(unsafe.Pointer(pMaskSet + 8)) == iCursor { @@ -134225,14 +134245,14 @@ func Xsqlite3WhereGetMask(tls *libc.TLS, pMaskSet uintptr, iCursor int32) Bitmas // tables in the FROM clause is limited by a test early in the // sqlite3WhereBegin() routine. So we know that the pMaskSet->ix[] // array will never overflow. -func createMask(tls *libc.TLS, pMaskSet uintptr, iCursor int32) { /* sqlite3.c:152252:13: */ +func createMask(tls *libc.TLS, pMaskSet uintptr, iCursor int32) { /* sqlite3.c:152266:13: */ *(*int32)(unsafe.Pointer(pMaskSet + 8 + uintptr(libc.PostIncInt32(&(*WhereMaskSet)(unsafe.Pointer(pMaskSet)).Fn, 1))*4)) = iCursor } // If the right-hand branch of the expression is a TK_COLUMN, then return // a pointer to the right-hand branch. Otherwise, return NULL. -func whereRightSubexprIsColumn(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:152261:13: */ +func whereRightSubexprIsColumn(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:152275:13: */ p = Xsqlite3ExprSkipCollateAndLikely(tls, (*Expr)(unsafe.Pointer(p)).FpRight) if p != uintptr(0) && int32((*Expr)(unsafe.Pointer(p)).Fop) == TK_COLUMN && !((*Expr)(unsafe.Pointer(p)).Fflags&U32(EP_FixedCol) != U32(0)) { return p @@ -134243,7 +134263,7 @@ func whereRightSubexprIsColumn(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c: // Advance to the next WhereTerm that matches according to the criteria // established when the pScan object was initialized by whereScanInit(). // Return NULL if there are no more matching WhereTerms. -func whereScanNext(tls *libc.TLS, pScan uintptr) uintptr { /* sqlite3.c:152274:18: */ +func whereScanNext(tls *libc.TLS, pScan uintptr) uintptr { /* sqlite3.c:152288:18: */ var iCur int32 // The cursor on the LHS of the term var iColumn I16 // The column on the LHS of the term. -1 for IPK var pX uintptr // An expression being tested @@ -134347,7 +134367,7 @@ func whereScanNext(tls *libc.TLS, pScan uintptr) uintptr { /* sqlite3.c:152274:1 // It is factored out into a separate tail-recursion subroutine so that // the normal whereScanInit() routine, which is a high-runner, does not // need to push registers onto the stack as part of its prologue. -func whereScanInitIndexExpr(tls *libc.TLS, pScan uintptr) uintptr { /* sqlite3.c:152376:34: */ +func whereScanInitIndexExpr(tls *libc.TLS, pScan uintptr) uintptr { /* sqlite3.c:152390:34: */ (*WhereScan)(unsafe.Pointer(pScan)).Fidxaff = Xsqlite3ExprAffinity(tls, (*WhereScan)(unsafe.Pointer(pScan)).FpIdxExpr) return whereScanNext(tls, pScan) } @@ -134369,7 +134389,7 @@ func whereScanInitIndexExpr(tls *libc.TLS, pScan uintptr) uintptr { /* sqlite3.c // // If X is not the INTEGER PRIMARY KEY then X must be compatible with // index pIdx. -func whereScanInit(tls *libc.TLS, pScan uintptr, pWC uintptr, iCur int32, iColumn int32, opMask U32, pIdx uintptr) uintptr { /* sqlite3.c:152400:18: */ +func whereScanInit(tls *libc.TLS, pScan uintptr, pWC uintptr, iCur int32, iColumn int32, opMask U32, pIdx uintptr) uintptr { /* sqlite3.c:152414:18: */ (*WhereScan)(unsafe.Pointer(pScan)).FpOrigWC = pWC (*WhereScan)(unsafe.Pointer(pScan)).FpWC = pWC (*WhereScan)(unsafe.Pointer(pScan)).FpIdxExpr = uintptr(0) @@ -134424,7 +134444,7 @@ func whereScanInit(tls *libc.TLS, pScan uintptr, pWC uintptr, iCur int32, iColum // the form "X Y" where Y is a column in another table if no terms of // the form "X " exist. If no terms with a constant RHS // exist, try to return a term that does not use WO_EQUIV. -func Xsqlite3WhereFindTerm(tls *libc.TLS, pWC uintptr, iCur int32, iColumn int32, notReady Bitmask, op U32, pIdx uintptr) uintptr { /* sqlite3.c:152464:26: */ +func Xsqlite3WhereFindTerm(tls *libc.TLS, pWC uintptr, iCur int32, iColumn int32, notReady Bitmask, op U32, pIdx uintptr) uintptr { /* sqlite3.c:152478:26: */ bp := tls.Alloc(112) defer tls.Free(112) @@ -134454,7 +134474,7 @@ func Xsqlite3WhereFindTerm(tls *libc.TLS, pWC uintptr, iCur int32, iColumn int32 // // If such an expression is found, its index in pList->a[] is returned. If // no expression is found, -1 is returned. -func findIndexCol(tls *libc.TLS, pParse uintptr, pList uintptr, iBase int32, pIdx uintptr, iCol int32) int32 { /* sqlite3.c:152498:12: */ +func findIndexCol(tls *libc.TLS, pParse uintptr, pList uintptr, iBase int32, pIdx uintptr, iCol int32) int32 { /* sqlite3.c:152512:12: */ var i int32 var zColl uintptr = *(*uintptr)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FazColl + uintptr(iCol)*8)) @@ -134475,7 +134495,7 @@ func findIndexCol(tls *libc.TLS, pParse uintptr, pList uintptr, iBase int32, pId } // Return TRUE if the iCol-th column of index pIdx is NOT NULL -func indexColumnNotNull(tls *libc.TLS, pIdx uintptr, iCol int32) int32 { /* sqlite3.c:152528:12: */ +func indexColumnNotNull(tls *libc.TLS, pIdx uintptr, iCol int32) int32 { /* sqlite3.c:152542:12: */ var j int32 j = int32(*(*I16)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FaiColumn + uintptr(iCol)*2))) @@ -134496,7 +134516,7 @@ func indexColumnNotNull(tls *libc.TLS, pIdx uintptr, iCol int32) int32 { /* sqli // // A DISTINCT list is redundant if any subset of the columns in the // DISTINCT list are collectively unique and individually non-null. -func isDistinctRedundant(tls *libc.TLS, pParse uintptr, pTabList uintptr, pWC uintptr, pDistinct uintptr) int32 { /* sqlite3.c:152551:12: */ +func isDistinctRedundant(tls *libc.TLS, pParse uintptr, pTabList uintptr, pWC uintptr, pDistinct uintptr) int32 { /* sqlite3.c:152565:12: */ var pTab uintptr var pIdx uintptr var i int32 @@ -134566,7 +134586,7 @@ func isDistinctRedundant(tls *libc.TLS, pParse uintptr, pTabList uintptr, pWC ui } // Estimate the logarithm of the input value to base 2. -func estLog(tls *libc.TLS, N LogEst) LogEst { /* sqlite3.c:152615:15: */ +func estLog(tls *libc.TLS, N LogEst) LogEst { /* sqlite3.c:152629:15: */ if int32(N) <= 10 { return int16(0) } @@ -134583,7 +134603,7 @@ func estLog(tls *libc.TLS, N LogEst) LogEst { /* sqlite3.c:152615:15: */ // cursor iTabCur are transformed into OP_Sequence opcode for the // iAutoidxCur cursor, in order to generate unique rowids for the // automatic index being generated. -func translateColumnToCopy(tls *libc.TLS, pParse uintptr, iStart int32, iTabCur int32, iRegister int32, iAutoidxCur int32) { /* sqlite3.c:152631:13: */ +func translateColumnToCopy(tls *libc.TLS, pParse uintptr, iStart int32, iTabCur int32, iRegister int32, iAutoidxCur int32) { /* sqlite3.c:152645:13: */ var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe var pOp uintptr = Xsqlite3VdbeGetOp(tls, v, iStart) var iEnd int32 = Xsqlite3VdbeCurrentAddr(tls, v) @@ -134626,7 +134646,7 @@ __3: // Return TRUE if the WHERE clause term pTerm is of a form where it // could be used with an index to access pSrc, assuming an appropriate // index existed. -func termCanDriveIndex(tls *libc.TLS, pTerm uintptr, pSrc uintptr, notReady Bitmask) int32 { /* sqlite3.c:152715:12: */ +func termCanDriveIndex(tls *libc.TLS, pTerm uintptr, pSrc uintptr, notReady Bitmask) int32 { /* sqlite3.c:152729:12: */ var aff uint8 if (*WhereTerm)(unsafe.Pointer(pTerm)).FleftCursor != (*SrcItem)(unsafe.Pointer(pSrc)).FiCursor { return 0 @@ -134660,7 +134680,7 @@ func termCanDriveIndex(tls *libc.TLS, pTerm uintptr, pSrc uintptr, notReady Bitm // Generate code to construct the Index object for an automatic index // and to set up the WhereLevel object pLevel so that the code generator // makes use of the automatic index. -func constructAutomaticIndex(tls *libc.TLS, pParse uintptr, pWC uintptr, pSrc uintptr, notReady Bitmask, pLevel uintptr) { /* sqlite3.c:152749:29: */ +func constructAutomaticIndex(tls *libc.TLS, pParse uintptr, pWC uintptr, pSrc uintptr, notReady Bitmask, pLevel uintptr) { /* sqlite3.c:152763:29: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -135018,7 +135038,7 @@ end_auto_index_create: // This routine may only be called if it has previously been determined that // the loop would benefit from a Bloom filter, and the WHERE_BLOOMFILTER bit // is set. -func sqlite3ConstructBloomFilter(tls *libc.TLS, pWInfo uintptr, iLevel int32, pLevel uintptr, notReady Bitmask) { /* sqlite3.c:152984:29: */ +func sqlite3ConstructBloomFilter(tls *libc.TLS, pWInfo uintptr, iLevel int32, pLevel uintptr, notReady Bitmask) { /* sqlite3.c:152998:29: */ var addrOnce int32 // Address of opening OP_Once var addrTop int32 // Address of OP_Rewind var addrCont int32 // Jump here to skip a row @@ -135123,7 +135143,7 @@ func sqlite3ConstructBloomFilter(tls *libc.TLS, pWInfo uintptr, iLevel int32, pL // Allocate and populate an sqlite3_index_info structure. It is the // responsibility of the caller to eventually release the structure // by passing the pointer returned by this function to freeIndexInfo(). -func allocateIndexInfo(tls *libc.TLS, pWInfo uintptr, pWC uintptr, mUnusable Bitmask, pSrc uintptr, pmNoOmit uintptr) uintptr { /* sqlite3.c:153097:27: */ +func allocateIndexInfo(tls *libc.TLS, pWInfo uintptr, pWC uintptr, mUnusable Bitmask, pSrc uintptr, pmNoOmit uintptr) uintptr { /* sqlite3.c:153111:27: */ var i int32 var j int32 var nTerm int32 @@ -135349,7 +135369,7 @@ __6: // Free an sqlite3_index_info structure allocated by allocateIndexInfo() // and possibly modified by xBestIndex methods. -func freeIndexInfo(tls *libc.TLS, db uintptr, pIdxInfo uintptr) { /* sqlite3.c:153296:13: */ +func freeIndexInfo(tls *libc.TLS, db uintptr, pIdxInfo uintptr) { /* sqlite3.c:153310:13: */ var pHidden uintptr var i int32 @@ -135376,7 +135396,7 @@ func freeIndexInfo(tls *libc.TLS, db uintptr, pIdxInfo uintptr) { /* sqlite3.c:1 // Whether or not an error is returned, it is the responsibility of the // caller to eventually free p->idxStr if p->needToFreeIdxStr indicates // that this is required. -func vtabBestIndex(tls *libc.TLS, pParse uintptr, pTab uintptr, p uintptr) int32 { /* sqlite3.c:153326:12: */ +func vtabBestIndex(tls *libc.TLS, pParse uintptr, pTab uintptr, p uintptr) int32 { /* sqlite3.c:153340:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -135414,7 +135434,7 @@ func vtabBestIndex(tls *libc.TLS, pParse uintptr, pTab uintptr, p uintptr) int32 // into the aSample[] array - it is an index into a virtual set of samples // based on the contents of aSample[] and the number of fields in record // pRec. -func whereKeyStats(tls *libc.TLS, pParse uintptr, pIdx uintptr, pRec uintptr, roundUp int32, aStat uintptr) int32 { /* sqlite3.c:153365:12: */ +func whereKeyStats(tls *libc.TLS, pParse uintptr, pIdx uintptr, pRec uintptr, roundUp int32, aStat uintptr) int32 { /* sqlite3.c:153379:12: */ var aSample uintptr = (*Index)(unsafe.Pointer(pIdx)).FaSample var iCol int32 // Index of required stats in anEq[] etc. var i int32 // Index of first sample >= pRec @@ -135553,7 +135573,7 @@ func whereKeyStats(tls *libc.TLS, pParse uintptr, pIdx uintptr, pRec uintptr, ro // then the return value is the likelihood multiplied by the number of // input rows. Otherwise, this function assumes that an "IS NOT NULL" term // has a likelihood of 0.50, and any other term a likelihood of 0.25. -func whereRangeAdjust(tls *libc.TLS, pTerm uintptr, nNew LogEst) LogEst { /* sqlite3.c:153557:15: */ +func whereRangeAdjust(tls *libc.TLS, pTerm uintptr, nNew LogEst) LogEst { /* sqlite3.c:153571:15: */ var nRet LogEst = nNew if pTerm != 0 { if int32((*WhereTerm)(unsafe.Pointer(pTerm)).FtruthProb) <= 0 { @@ -135566,7 +135586,7 @@ func whereRangeAdjust(tls *libc.TLS, pTerm uintptr, nNew LogEst) LogEst { /* sql } // Return the affinity for a single column of an index. -func Xsqlite3IndexColumnAffinity(tls *libc.TLS, db uintptr, pIdx uintptr, iCol int32) uint8 { /* sqlite3.c:153574:21: */ +func Xsqlite3IndexColumnAffinity(tls *libc.TLS, db uintptr, pIdx uintptr, iCol int32) uint8 { /* sqlite3.c:153588:21: */ if !(int32((*Index)(unsafe.Pointer(pIdx)).FzColAff) != 0) { if Xsqlite3IndexAffinityStr(tls, db, pIdx) == uintptr(0) { @@ -135610,7 +135630,7 @@ func Xsqlite3IndexColumnAffinity(tls *libc.TLS, db uintptr, pIdx uintptr, iCol i // // If an error occurs, an SQLite error code is returned. Otherwise, // SQLITE_OK. -func whereRangeSkipScanEst(tls *libc.TLS, pParse uintptr, pLower uintptr, pUpper uintptr, pLoop uintptr, pbDone uintptr) int32 { /* sqlite3.c:153621:12: */ +func whereRangeSkipScanEst(tls *libc.TLS, pParse uintptr, pLower uintptr, pUpper uintptr, pLoop uintptr, pbDone uintptr) int32 { /* sqlite3.c:153635:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -135725,7 +135745,7 @@ func whereRangeSkipScanEst(tls *libc.TLS, pParse uintptr, pLower uintptr, pUpper // used, a single range inequality reduces the search space by a factor of 4. // and a pair of constraints (x>? AND x>0)) != 0 { Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(p + 24 + 16 /* &.idxStr */))) @@ -136033,7 +136053,7 @@ func whereLoopClearUnion(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:15 } // Deallocate internal memory used by a WhereLoop object -func whereLoopClear(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:154152:13: */ +func whereLoopClear(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:154166:13: */ if (*WhereLoop)(unsafe.Pointer(p)).FaLTerm != p+88 { Xsqlite3DbFreeNN(tls, db, (*WhereLoop)(unsafe.Pointer(p)).FaLTerm) } @@ -136042,7 +136062,7 @@ func whereLoopClear(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:154152: } // Increase the memory allocation for pLoop->aLTerm[] to be at least n. -func whereLoopResize(tls *libc.TLS, db uintptr, p uintptr, n int32) int32 { /* sqlite3.c:154161:12: */ +func whereLoopResize(tls *libc.TLS, db uintptr, p uintptr, n int32) int32 { /* sqlite3.c:154175:12: */ var paNew uintptr if int32((*WhereLoop)(unsafe.Pointer(p)).FnLSlot) >= n { return SQLITE_OK @@ -136062,7 +136082,7 @@ func whereLoopResize(tls *libc.TLS, db uintptr, p uintptr, n int32) int32 { /* s } // Transfer content from the second pLoop into the first. -func whereLoopXfer(tls *libc.TLS, db uintptr, pTo uintptr, pFrom uintptr) int32 { /* sqlite3.c:154177:12: */ +func whereLoopXfer(tls *libc.TLS, db uintptr, pTo uintptr, pFrom uintptr) int32 { /* sqlite3.c:154191:12: */ whereLoopClearUnion(tls, db, pTo) if whereLoopResize(tls, db, pTo, int32((*WhereLoop)(unsafe.Pointer(pFrom)).FnLTerm)) != 0 { libc.Xmemset(tls, pTo, 0, uint64(uintptr(0)+64)) @@ -136079,13 +136099,13 @@ func whereLoopXfer(tls *libc.TLS, db uintptr, pTo uintptr, pFrom uintptr) int32 } // Delete a WhereLoop object -func whereLoopDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:154196:13: */ +func whereLoopDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:154210:13: */ whereLoopClear(tls, db, p) Xsqlite3DbFreeNN(tls, db, p) } // Free a WhereInfo structure -func whereInfoFree(tls *libc.TLS, db uintptr, pWInfo uintptr) { /* sqlite3.c:154204:13: */ +func whereInfoFree(tls *libc.TLS, db uintptr, pWInfo uintptr) { /* sqlite3.c:154218:13: */ var i int32 for i = 0; i < int32((*WhereInfo)(unsafe.Pointer(pWInfo)).FnLevel); i++ { @@ -136106,7 +136126,7 @@ func whereInfoFree(tls *libc.TLS, db uintptr, pWInfo uintptr) { /* sqlite3.c:154 } // Undo all Expr node modifications -func whereUndoExprMods(tls *libc.TLS, pWInfo uintptr) { /* sqlite3.c:154226:13: */ +func whereUndoExprMods(tls *libc.TLS, pWInfo uintptr) { /* sqlite3.c:154240:13: */ for (*WhereInfo)(unsafe.Pointer(pWInfo)).FpExprMods != 0 { var p uintptr = (*WhereInfo)(unsafe.Pointer(pWInfo)).FpExprMods (*WhereInfo)(unsafe.Pointer(pWInfo)).FpExprMods = (*WhereExprMod)(unsafe.Pointer(p)).FpNext @@ -136132,7 +136152,7 @@ func whereUndoExprMods(tls *libc.TLS, pWInfo uintptr) { /* sqlite3.c:154226:13: // deserve a lower cost even if it is a proper subset of Y. Constraint (5) // was added because a covering index probably deserves to have a lower cost // than a non-covering index even if it is a proper subset. -func whereLoopCheaperProperSubset(tls *libc.TLS, pX uintptr, pY uintptr) int32 { /* sqlite3.c:154254:12: */ +func whereLoopCheaperProperSubset(tls *libc.TLS, pX uintptr, pY uintptr) int32 { /* sqlite3.c:154268:12: */ var i int32 var j int32 if int32((*WhereLoop)(unsafe.Pointer(pX)).FnLTerm)-int32((*WhereLoop)(unsafe.Pointer(pX)).FnSkip) >= int32((*WhereLoop)(unsafe.Pointer(pY)).FnLTerm)-int32((*WhereLoop)(unsafe.Pointer(pY)).FnSkip) { @@ -136176,7 +136196,7 @@ func whereLoopCheaperProperSubset(tls *libc.TLS, pX uintptr, pY uintptr) int32 { // To say "WhereLoop X is a proper subset of Y" means that X uses fewer // WHERE clause terms than Y and that every WHERE clause term used by X is // also used by Y. -func whereLoopAdjustCost(tls *libc.TLS, p uintptr, pTemplate uintptr) { /* sqlite3.c:154292:13: */ +func whereLoopAdjustCost(tls *libc.TLS, p uintptr, pTemplate uintptr) { /* sqlite3.c:154306:13: */ if (*WhereLoop)(unsafe.Pointer(pTemplate)).FwsFlags&U32(WHERE_INDEXED) == U32(0) { return } @@ -136235,7 +136255,7 @@ func whereLoopAdjustCost(tls *libc.TLS, p uintptr, pTemplate uintptr) { /* sqlit // If pTemplate cannot replace any existing element of the list but needs // to be added to the list as a new entry, then return a pointer to the // tail of the list. -func whereLoopFindLesser(tls *libc.TLS, ppPrev uintptr, pTemplate uintptr) uintptr { /* sqlite3.c:154333:18: */ +func whereLoopFindLesser(tls *libc.TLS, ppPrev uintptr, pTemplate uintptr) uintptr { /* sqlite3.c:154347:18: */ var p uintptr p = *(*uintptr)(unsafe.Pointer(ppPrev)) __1: @@ -136324,7 +136344,7 @@ __3: // (2) They have the same iSortIdx. // (3) The template has same or fewer dependencies than the current loop // (4) The template has the same or lower cost than the current loop -func whereLoopInsert(tls *libc.TLS, pBuilder uintptr, pTemplate uintptr) int32 { /* sqlite3.c:154421:12: */ +func whereLoopInsert(tls *libc.TLS, pBuilder uintptr, pTemplate uintptr) int32 { /* sqlite3.c:154435:12: */ var ppPrev uintptr var p uintptr var pWInfo uintptr = (*WhereLoopBuilder)(unsafe.Pointer(pBuilder)).FpWInfo @@ -136431,7 +136451,7 @@ func whereLoopInsert(tls *libc.TLS, pBuilder uintptr, pTemplate uintptr) int32 { // "x" column is boolean or else -1 or 0 or 1 is a common default value // on the "x" column and so in that case only cap the output row estimate // at 1/2 instead of 1/4. -func whereLoopOutputAdjust(tls *libc.TLS, pWC uintptr, pLoop uintptr, nRow LogEst) { /* sqlite3.c:154558:13: */ +func whereLoopOutputAdjust(tls *libc.TLS, pWC uintptr, pLoop uintptr, nRow LogEst) { /* sqlite3.c:154572:13: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -136477,7 +136497,14 @@ __1: // that depend only on the table being scanned, and that will tend to // cause many rows to be omitted, then mark that table as // "self-culling". - *(*U32)(unsafe.Pointer(pLoop + 56)) |= U32(WHERE_SELFCULL) + // + // 2022-03-24: Self-culling only applies if either the extra terms + // are straight comparison operators that are non-true with NULL + // operand, or if the loop is not a LEFT JOIN. + if int32((*WhereTerm)(unsafe.Pointer(pTerm)).FeOperator)&0x3f != 0 || + int32((*SrcItem)(unsafe.Pointer((*WhereInfo)(unsafe.Pointer((*WhereClause)(unsafe.Pointer(pWC)).FpWInfo)).FpTabList+8+uintptr((*WhereLoop)(unsafe.Pointer(pLoop)).FiTab)*112)).Ffg.Fjointype)&JT_LEFT == 0 { + *(*U32)(unsafe.Pointer(pLoop + 56)) |= U32(WHERE_SELFCULL) + } } if int32((*WhereTerm)(unsafe.Pointer(pTerm)).FtruthProb) <= 0 { // If a truth probability is specified using the likelihood() hints, @@ -136534,7 +136561,7 @@ __3: // // then this function would be invoked with nEq=1. The value returned in // this case is 3. -func whereRangeVectorLen(tls *libc.TLS, pParse uintptr, iCur int32, pIdx uintptr, nEq int32, pTerm uintptr) int32 { /* sqlite3.c:154637:12: */ +func whereRangeVectorLen(tls *libc.TLS, pParse uintptr, iCur int32, pIdx uintptr, nEq int32, pTerm uintptr) int32 { /* sqlite3.c:154660:12: */ var nCmp int32 = Xsqlite3ExprVectorSize(tls, (*Expr)(unsafe.Pointer((*WhereTerm)(unsafe.Pointer(pTerm)).FpExpr)).FpLeft) var i int32 @@ -136602,7 +136629,7 @@ func whereRangeVectorLen(tls *libc.TLS, pParse uintptr, iCur int32, pIdx uintptr // // If pProbe->idxType==SQLITE_IDXTYPE_IPK, that means pIndex is // a fake index used for the INTEGER PRIMARY KEY. -func whereLoopAddBtreeIndex(tls *libc.TLS, pBuilder uintptr, pSrc uintptr, pProbe uintptr, nInMul LogEst) int32 { /* sqlite3.c:154711:12: */ +func whereLoopAddBtreeIndex(tls *libc.TLS, pBuilder uintptr, pSrc uintptr, pProbe uintptr, nInMul LogEst) int32 { /* sqlite3.c:154734:12: */ bp := tls.Alloc(116) defer tls.Free(116) @@ -136962,7 +136989,7 @@ func whereLoopAddBtreeIndex(tls *libc.TLS, pBuilder uintptr, pSrc uintptr, pProb // Return False if pBuilder does not contain an ORDER BY clause or // if there is no way for pIndex to be useful in implementing that // ORDER BY clause. -func indexMightHelpWithOrderBy(tls *libc.TLS, pBuilder uintptr, pIndex uintptr, iCursor int32) int32 { /* sqlite3.c:155111:12: */ +func indexMightHelpWithOrderBy(tls *libc.TLS, pBuilder uintptr, pIndex uintptr, iCursor int32) int32 { /* sqlite3.c:155134:12: */ var pOB uintptr var aColExpr uintptr var ii int32 @@ -137004,7 +137031,7 @@ func indexMightHelpWithOrderBy(tls *libc.TLS, pBuilder uintptr, pIndex uintptr, // Check to see if a partial index with pPartIndexWhere can be used // in the current query. Return true if it can be and false if not. -func whereUsablePartialIndex(tls *libc.TLS, iTab int32, isLeft int32, pWC uintptr, pWhere uintptr) int32 { /* sqlite3.c:155145:12: */ +func whereUsablePartialIndex(tls *libc.TLS, iTab int32, isLeft int32, pWC uintptr, pWhere uintptr) int32 { /* sqlite3.c:155168:12: */ var i int32 var pTerm uintptr var pParse uintptr = (*WhereInfo)(unsafe.Pointer((*WhereClause)(unsafe.Pointer(pWC)).FpWInfo)).FpParse @@ -137079,7 +137106,7 @@ __3: // bias the scoring in favor of using an index, since the worst-case // performance of using an index is far better than the worst-case performance // of a full table scan. -func whereLoopAddBtree(tls *libc.TLS, pBuilder uintptr, mPrereq Bitmask) int32 { /* sqlite3.c:155209:12: */ +func whereLoopAddBtree(tls *libc.TLS, pBuilder uintptr, mPrereq Bitmask) int32 { /* sqlite3.c:155232:12: */ bp := tls.Alloc(158) defer tls.Free(158) @@ -137364,7 +137391,7 @@ __3: } // Return true if pTerm is a virtual table LIMIT or OFFSET term. -func isLimitTerm(tls *libc.TLS, pTerm uintptr) int32 { /* sqlite3.c:155467:12: */ +func isLimitTerm(tls *libc.TLS, pTerm uintptr) int32 { /* sqlite3.c:155490:12: */ return libc.Bool32(int32((*WhereTerm)(unsafe.Pointer(pTerm)).FeMatchOp) >= SQLITE_INDEX_CONSTRAINT_LIMIT && int32((*WhereTerm)(unsafe.Pointer(pTerm)).FeMatchOp) <= SQLITE_INDEX_CONSTRAINT_OFFSET) @@ -137388,7 +137415,7 @@ func isLimitTerm(tls *libc.TLS, pTerm uintptr) int32 { /* sqlite3.c:155467:12: * // // Output parameter *pbIn is set to true if the plan added to pBuilder // uses one or more WO_IN terms, or false otherwise. -func whereLoopAddVirtualOne(tls *libc.TLS, pBuilder uintptr, mPrereq Bitmask, mUsable Bitmask, mExclude U16, pIdxInfo uintptr, mNoOmit U16, pbIn uintptr, pbRetryLimit uintptr) int32 { /* sqlite3.c:155493:12: */ +func whereLoopAddVirtualOne(tls *libc.TLS, pBuilder uintptr, mPrereq Bitmask, mUsable Bitmask, mExclude U16, pIdxInfo uintptr, mNoOmit U16, pbIn uintptr, pbRetryLimit uintptr) int32 { /* sqlite3.c:155516:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -137612,7 +137639,7 @@ __6: // 2. Else, if the column has an alternative collation, return that. // // 3. Otherwise, return "BINARY". -func Xsqlite3_vtab_collation(tls *libc.TLS, pIdxInfo uintptr, iCons int32) uintptr { /* sqlite3.c:155685:23: */ +func Xsqlite3_vtab_collation(tls *libc.TLS, pIdxInfo uintptr, iCons int32) uintptr { /* sqlite3.c:155708:23: */ var pHidden uintptr = pIdxInfo + 1*96 var zRet uintptr = uintptr(0) if iCons >= 0 && iCons < (*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FnConstraint { @@ -137635,7 +137662,7 @@ func Xsqlite3_vtab_collation(tls *libc.TLS, pIdxInfo uintptr, iCons int32) uintp // Return true if constraint iCons is really an IN(...) constraint, or // false otherwise. If iCons is an IN(...) constraint, set (if bHandle!=0) // or clear (if bHandle==0) the flag to handle it using an iterator. -func Xsqlite3_vtab_in(tls *libc.TLS, pIdxInfo uintptr, iCons int32, bHandle int32) int32 { /* sqlite3.c:155705:16: */ +func Xsqlite3_vtab_in(tls *libc.TLS, pIdxInfo uintptr, iCons int32, bHandle int32) int32 { /* sqlite3.c:155728:16: */ var pHidden uintptr = pIdxInfo + 1*96 var m U32 = func() uint32 { if iCons <= 31 { @@ -137658,7 +137685,7 @@ func Xsqlite3_vtab_in(tls *libc.TLS, pIdxInfo uintptr, iCons int32, bHandle int3 // // If possible, set (*ppVal) to point to an object containing the value // on the right-hand-side of constraint iCons. -func Xsqlite3_vtab_rhs_value(tls *libc.TLS, pIdxInfo uintptr, iCons int32, ppVal uintptr) int32 { /* sqlite3.c:155725:16: */ +func Xsqlite3_vtab_rhs_value(tls *libc.TLS, pIdxInfo uintptr, iCons int32, ppVal uintptr) int32 { /* sqlite3.c:155748:16: */ var pH uintptr = pIdxInfo + 1*96 var pVal uintptr = uintptr(0) var rc int32 = SQLITE_OK @@ -137684,7 +137711,7 @@ func Xsqlite3_vtab_rhs_value(tls *libc.TLS, pIdxInfo uintptr, iCons int32, ppVal } // Return true if ORDER BY clause may be handled as DISTINCT. -func Xsqlite3_vtab_distinct(tls *libc.TLS, pIdxInfo uintptr) int32 { /* sqlite3.c:155758:16: */ +func Xsqlite3_vtab_distinct(tls *libc.TLS, pIdxInfo uintptr) int32 { /* sqlite3.c:155781:16: */ var pHidden uintptr = pIdxInfo + 1*96 return (*HiddenIndexInfo)(unsafe.Pointer(pHidden)).FeDistinct @@ -137713,7 +137740,7 @@ func Xsqlite3_vtab_distinct(tls *libc.TLS, pIdxInfo uintptr) int32 { /* sqlite3. // Conversely, all tables in mUnusable must be scanned after the current // virtual table, so any terms for which the prerequisites overlap with // mUnusable should always be configured as "not-usable" for xBestIndex. -func whereLoopAddVirtual(tls *libc.TLS, pBuilder uintptr, mPrereq Bitmask, mUnusable Bitmask) int32 { /* sqlite3.c:155807:12: */ +func whereLoopAddVirtual(tls *libc.TLS, pBuilder uintptr, mPrereq Bitmask, mUnusable Bitmask) int32 { /* sqlite3.c:155830:12: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -137849,7 +137876,7 @@ func whereLoopAddVirtual(tls *libc.TLS, pBuilder uintptr, mPrereq Bitmask, mUnus // Add WhereLoop entries to handle OR terms. This works for either // btrees or virtual tables. -func whereLoopAddOr(tls *libc.TLS, pBuilder uintptr, mPrereq Bitmask, mUnusable Bitmask) int32 { /* sqlite3.c:155938:12: */ +func whereLoopAddOr(tls *libc.TLS, pBuilder uintptr, mPrereq Bitmask, mUnusable Bitmask) int32 { /* sqlite3.c:155961:12: */ bp := tls.Alloc(712) defer tls.Free(712) @@ -137974,7 +138001,7 @@ func whereLoopAddOr(tls *libc.TLS, pBuilder uintptr, mPrereq Bitmask, mUnusable } // Add all WhereLoop objects for all tables -func whereLoopAddAll(tls *libc.TLS, pBuilder uintptr) int32 { /* sqlite3.c:156064:12: */ +func whereLoopAddAll(tls *libc.TLS, pBuilder uintptr) int32 { /* sqlite3.c:156087:12: */ var pWInfo uintptr = (*WhereLoopBuilder)(unsafe.Pointer(pBuilder)).FpWInfo var mPrereq Bitmask = uint64(0) var mPrior Bitmask = uint64(0) @@ -138062,7 +138089,7 @@ __3: // as equivalent rows are grouped together. Thus for GROUP BY and DISTINCT // the pOrderBy terms can be matched in any order. With ORDER BY, the // pOrderBy terms must be matched in strict left-to-right order. -func wherePathSatisfiesOrderBy(tls *libc.TLS, pWInfo uintptr, pOrderBy uintptr, pPath uintptr, wctrlFlags U16, nLoop U16, pLast uintptr, pRevMask uintptr) I8 { /* sqlite3.c:156142:11: */ +func wherePathSatisfiesOrderBy(tls *libc.TLS, pWInfo uintptr, pOrderBy uintptr, pPath uintptr, wctrlFlags U16, nLoop U16, pLast uintptr, pRevMask uintptr) I8 { /* sqlite3.c:156165:11: */ var revSet U8 // True if rev is known var rev U8 // Composite sort order var revIdx U8 // Index sort order @@ -138430,7 +138457,7 @@ func wherePathSatisfiesOrderBy(tls *libc.TLS, pWInfo uintptr, pOrderBy uintptr, // // SELECT * FROM t1 GROUP BY x,y ORDER BY x,y; -- IsSorted()==1 // SELECT * FROM t1 GROUP BY y,x ORDER BY y,x; -- IsSorted()==0 -func Xsqlite3WhereIsSorted(tls *libc.TLS, pWInfo uintptr) int32 { /* sqlite3.c:156487:20: */ +func Xsqlite3WhereIsSorted(tls *libc.TLS, pWInfo uintptr) int32 { /* sqlite3.c:156510:20: */ return int32(*(*uint8)(unsafe.Pointer(pWInfo + 76)) & 0x8 >> 3) } @@ -138438,7 +138465,7 @@ func Xsqlite3WhereIsSorted(tls *libc.TLS, pWInfo uintptr) int32 { /* sqlite3.c:1 // Return the cost of sorting nRow rows, assuming that the keys have // nOrderby columns and that the first nSorted columns are already in // order. -func whereSortingCost(tls *libc.TLS, pWInfo uintptr, nRow LogEst, nOrderBy int32, nSorted int32) LogEst { /* sqlite3.c:156510:15: */ +func whereSortingCost(tls *libc.TLS, pWInfo uintptr, nRow LogEst, nOrderBy int32, nSorted int32) LogEst { /* sqlite3.c:156533:15: */ // TUNING: Estimated cost of a full external sort, where N is // the number of rows to sort is: // @@ -138485,7 +138512,7 @@ func whereSortingCost(tls *libc.TLS, pWInfo uintptr, nRow LogEst, nOrderBy int32 // // Return SQLITE_OK on success or SQLITE_NOMEM of a memory allocation // error occurs. -func wherePathSolver(tls *libc.TLS, pWInfo uintptr, nRowEst LogEst) int32 { /* sqlite3.c:156563:12: */ +func wherePathSolver(tls *libc.TLS, pWInfo uintptr, nRowEst LogEst) int32 { /* sqlite3.c:156586:12: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -138892,7 +138919,7 @@ __3: // Return non-zero on success, if this query can be handled by this // no-frills query planner. Return zero if this query needs the // general-purpose query planner. -func whereShortCut(tls *libc.TLS, pBuilder uintptr) int32 { /* sqlite3.c:156955:12: */ +func whereShortCut(tls *libc.TLS, pBuilder uintptr) int32 { /* sqlite3.c:156978:12: */ bp := tls.Alloc(112) defer tls.Free(112) @@ -138999,7 +139026,7 @@ func whereShortCut(tls *libc.TLS, pBuilder uintptr) int32 { /* sqlite3.c:156955: } // Helper function for exprIsDeterministic(). -func exprNodeIsDeterministic(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:157046:12: */ +func exprNodeIsDeterministic(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:157069:12: */ if int32((*Expr)(unsafe.Pointer(pExpr)).Fop) == TK_FUNCTION && libc.Bool32((*Expr)(unsafe.Pointer(pExpr)).Fflags&U32(EP_ConstFunc) != U32(0)) == 0 { (*Walker)(unsafe.Pointer(pWalker)).FeCode = U16(0) return WRC_Abort @@ -139010,7 +139037,7 @@ func exprNodeIsDeterministic(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int3 // Return true if the expression contains no non-deterministic SQL // functions. Do not consider non-deterministic SQL functions that are // part of sub-select statements. -func exprIsDeterministic(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:157059:12: */ +func exprIsDeterministic(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:157082:12: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -139056,7 +139083,7 @@ func exprIsDeterministic(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:157059:1 // SELECT DISTINCT v1, v3 FROM t1 // LEFT JOIN t2 // LEFT JOIN t3 ON (t1.ipk=t3.ipk) -func whereOmitNoopJoin(tls *libc.TLS, pWInfo uintptr, notReady Bitmask) Bitmask { /* sqlite3.c:157120:32: */ +func whereOmitNoopJoin(tls *libc.TLS, pWInfo uintptr, notReady Bitmask) Bitmask { /* sqlite3.c:157143:32: */ var i int32 var tabUsed Bitmask @@ -139131,7 +139158,7 @@ func whereOmitNoopJoin(tls *libc.TLS, pWInfo uintptr, notReady Bitmask) Bitmask // appropriate, and if so sets the WHERE_BLOOMFILTER flag on the // WhereLoop. The implementation of the Bloom filter comes further // down where the code for each WhereLoop is generated. -func whereCheckIfBloomFilterIsUseful(tls *libc.TLS, pWInfo uintptr) { /* sqlite3.c:157199:29: */ +func whereCheckIfBloomFilterIsUseful(tls *libc.TLS, pWInfo uintptr) { /* sqlite3.c:157222:29: */ var i int32 var nSearch LogEst @@ -139243,7 +139270,7 @@ func whereCheckIfBloomFilterIsUseful(tls *libc.TLS, pWInfo uintptr) { /* sqlite3 // the first cursor in an array of cursors for all indices. iIdxCur should // be used to compute the appropriate cursor depending on which index is // used. -func Xsqlite3WhereBegin(tls *libc.TLS, pParse uintptr, pTabList uintptr, pWhere uintptr, pOrderBy uintptr, pResultSet uintptr, pLimit uintptr, wctrlFlags U16, iAuxArg int32) uintptr { /* sqlite3.c:157323:26: */ +func Xsqlite3WhereBegin(tls *libc.TLS, pParse uintptr, pTabList uintptr, pWhere uintptr, pOrderBy uintptr, pResultSet uintptr, pLimit uintptr, wctrlFlags U16, iAuxArg int32) uintptr { /* sqlite3.c:157346:26: */ bp := tls.Alloc(64) defer tls.Free(64) @@ -139928,7 +139955,7 @@ __78: // Generate the end of the WHERE loop. See comments on // sqlite3WhereBegin() for additional information. -func Xsqlite3WhereEnd(tls *libc.TLS, pWInfo uintptr) { /* sqlite3.c:157889:21: */ +func Xsqlite3WhereEnd(tls *libc.TLS, pWInfo uintptr) { /* sqlite3.c:157932:21: */ var pParse uintptr = (*WhereInfo)(unsafe.Pointer(pWInfo)).FpParse var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe var i int32 @@ -140141,12 +140168,12 @@ __4: int32((*VdbeOp)(unsafe.Pointer(pOp)).Fopcode) == OP_Offset { var x int32 = (*VdbeOp)(unsafe.Pointer(pOp)).Fp2 - if !((*Table)(unsafe.Pointer(pTab)).FtabFlags&U32(TF_WithoutRowid) == U32(0)) { + if int32((*VdbeOp)(unsafe.Pointer(pOp)).Fopcode) == OP_Offset { + // Do not need to translate the column number + } else if !((*Table)(unsafe.Pointer(pTab)).FtabFlags&U32(TF_WithoutRowid) == U32(0)) { var pPk uintptr = Xsqlite3PrimaryKeyIndex(tls, pTab) x = int32(*(*I16)(unsafe.Pointer((*Index)(unsafe.Pointer(pPk)).FaiColumn + uintptr(x)*2))) - } else if int32((*VdbeOp)(unsafe.Pointer(pOp)).Fopcode) == OP_Offset { - // Do not need to translate the column number } else { x = int32(Xsqlite3StorageColumnToTable(tls, pTab, int16(x))) @@ -140156,8 +140183,12 @@ __4: (*VdbeOp)(unsafe.Pointer(pOp)).Fp2 = x (*VdbeOp)(unsafe.Pointer(pOp)).Fp1 = (*WhereLevel)(unsafe.Pointer(pLevel)).FiIdxCur - } + } else { + // Unable to translate the table reference into an index + // reference. Verify that this is harmless - that the + // table being referenced really is open. + } } else if int32((*VdbeOp)(unsafe.Pointer(pOp)).Fopcode) == OP_Rowid { (*VdbeOp)(unsafe.Pointer(pOp)).Fp1 = (*WhereLevel)(unsafe.Pointer(pLevel)).FiIdxCur (*VdbeOp)(unsafe.Pointer(pOp)).Fopcode = U8(OP_IdxRowid) @@ -140328,7 +140359,7 @@ __6: // window frame has been coerced to: // // ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW -func row_numberStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158331:13: */ +func row_numberStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158388:13: */ var p uintptr = Xsqlite3_aggregate_context(tls, pCtx, int32(unsafe.Sizeof(I64(0)))) if p != 0 { *(*I64)(unsafe.Pointer(p))++ @@ -140337,7 +140368,7 @@ func row_numberStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) _ = apArg } -func row_numberValueFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158341:13: */ +func row_numberValueFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158398:13: */ var p uintptr = Xsqlite3_aggregate_context(tls, pCtx, int32(unsafe.Sizeof(I64(0)))) Xsqlite3_result_int64(tls, pCtx, func() int64 { if p != 0 { @@ -140353,13 +140384,13 @@ type CallCount = struct { FnValue I64 FnStep I64 FnTotal I64 -} /* sqlite3.c:158350:1 */ +} /* sqlite3.c:158407:1 */ // Implementation of built-in window function dense_rank(). Assumes that // the window frame has been set to: // // RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW -func dense_rankStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158362:13: */ +func dense_rankStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158419:13: */ var p uintptr p = Xsqlite3_aggregate_context(tls, pCtx, int32(unsafe.Sizeof(CallCount{}))) if p != 0 { @@ -140369,7 +140400,7 @@ func dense_rankStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) _ = apArg } -func dense_rankValueFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158373:13: */ +func dense_rankValueFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158430:13: */ var p uintptr p = Xsqlite3_aggregate_context(tls, pCtx, int32(unsafe.Sizeof(CallCount{}))) if p != 0 { @@ -140387,9 +140418,9 @@ func dense_rankValueFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158373:13: type NthValueCtx = struct { FnStep I64 FpValue uintptr -} /* sqlite3.c:158390:1 */ +} /* sqlite3.c:158447:1 */ -func nth_valueStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158394:13: */ +func nth_valueStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158451:13: */ var p uintptr var fVal float64 var iVal I64 @@ -140455,7 +140486,7 @@ error_out: pCtx, ts+21899, -1) } -func nth_valueFinalizeFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158435:13: */ +func nth_valueFinalizeFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158492:13: */ var p uintptr p = Xsqlite3_aggregate_context(tls, pCtx, 0) if p != 0 && (*NthValueCtx)(unsafe.Pointer(p)).FpValue != 0 { @@ -140465,7 +140496,7 @@ func nth_valueFinalizeFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158435:13 } } -func first_valueStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158447:13: */ +func first_valueStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158504:13: */ var p uintptr p = Xsqlite3_aggregate_context(tls, pCtx, int32(unsafe.Sizeof(NthValueCtx{}))) if p != 0 && (*NthValueCtx)(unsafe.Pointer(p)).FpValue == uintptr(0) { @@ -140478,7 +140509,7 @@ func first_valueStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) _ = apArg } -func first_valueFinalizeFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158463:13: */ +func first_valueFinalizeFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158520:13: */ var p uintptr p = Xsqlite3_aggregate_context(tls, pCtx, int32(unsafe.Sizeof(NthValueCtx{}))) if p != 0 && (*NthValueCtx)(unsafe.Pointer(p)).FpValue != 0 { @@ -140492,7 +140523,7 @@ func first_valueFinalizeFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158463: // the window frame has been set to: // // RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW -func rankStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158481:13: */ +func rankStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158538:13: */ var p uintptr p = Xsqlite3_aggregate_context(tls, pCtx, int32(unsafe.Sizeof(CallCount{}))) if p != 0 { @@ -140505,7 +140536,7 @@ func rankStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* s _ = apArg } -func rankValueFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158497:13: */ +func rankValueFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158554:13: */ var p uintptr p = Xsqlite3_aggregate_context(tls, pCtx, int32(unsafe.Sizeof(CallCount{}))) if p != 0 { @@ -140518,7 +140549,7 @@ func rankValueFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158497:13: */ // the window frame has been set to: // // GROUPS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING -func percent_rankStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158512:13: */ +func percent_rankStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158569:13: */ var p uintptr _ = nArg _ = apArg @@ -140528,7 +140559,7 @@ func percent_rankStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr } } -func percent_rankInvFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158525:13: */ +func percent_rankInvFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158582:13: */ var p uintptr _ = nArg _ = apArg @@ -140536,7 +140567,7 @@ func percent_rankInvFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) (*CallCount)(unsafe.Pointer(p)).FnStep++ } -func percent_rankValueFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158536:13: */ +func percent_rankValueFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158593:13: */ var p uintptr p = Xsqlite3_aggregate_context(tls, pCtx, int32(unsafe.Sizeof(CallCount{}))) if p != 0 { @@ -140554,7 +140585,7 @@ func percent_rankValueFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158536:13 // the window frame has been set to: // // GROUPS BETWEEN 1 FOLLOWING AND UNBOUNDED FOLLOWING -func cume_distStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158557:13: */ +func cume_distStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158614:13: */ var p uintptr _ = nArg _ = apArg @@ -140564,7 +140595,7 @@ func cume_distStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { } } -func cume_distInvFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158570:13: */ +func cume_distInvFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158627:13: */ var p uintptr _ = nArg _ = apArg @@ -140572,7 +140603,7 @@ func cume_distInvFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { (*CallCount)(unsafe.Pointer(p)).FnStep++ } -func cume_distValueFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158581:13: */ +func cume_distValueFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158638:13: */ var p uintptr p = Xsqlite3_aggregate_context(tls, pCtx, 0) if p != 0 { @@ -140586,13 +140617,13 @@ type NtileCtx = struct { FnTotal I64 FnParam I64 FiRow I64 -} /* sqlite3.c:158594:1 */ +} /* sqlite3.c:158651:1 */ // Implementation of ntile(). This assumes that the window frame has // been coerced to: // // ROWS CURRENT ROW AND UNBOUNDED FOLLOWING -func ntileStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158606:13: */ +func ntileStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158663:13: */ var p uintptr _ = nArg p = Xsqlite3_aggregate_context(tls, pCtx, int32(unsafe.Sizeof(NtileCtx{}))) @@ -140608,7 +140639,7 @@ func ntileStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* } } -func ntileInvFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158626:13: */ +func ntileInvFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158683:13: */ var p uintptr _ = nArg _ = apArg @@ -140616,7 +140647,7 @@ func ntileInvFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* s (*NtileCtx)(unsafe.Pointer(p)).FiRow++ } -func ntileValueFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158637:13: */ +func ntileValueFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158694:13: */ var p uintptr p = Xsqlite3_aggregate_context(tls, pCtx, int32(unsafe.Sizeof(NtileCtx{}))) if p != 0 && (*NtileCtx)(unsafe.Pointer(p)).FnParam > int64(0) { @@ -140642,10 +140673,10 @@ type LastValueCtx = struct { FpVal uintptr FnVal int32 F__ccgo_pad1 [4]byte -} /* sqlite3.c:158664:1 */ +} /* sqlite3.c:158721:1 */ // Implementation of last_value(). -func last_valueStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158672:13: */ +func last_valueStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158729:13: */ var p uintptr _ = nArg p = Xsqlite3_aggregate_context(tls, pCtx, int32(unsafe.Sizeof(LastValueCtx{}))) @@ -140660,7 +140691,7 @@ func last_valueStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) } } -func last_valueInvFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158690:13: */ +func last_valueInvFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158747:13: */ var p uintptr _ = nArg _ = apArg @@ -140674,7 +140705,7 @@ func last_valueInvFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { } } -func last_valueValueFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158707:13: */ +func last_valueValueFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158764:13: */ var p uintptr p = Xsqlite3_aggregate_context(tls, pCtx, 0) if p != 0 && (*LastValueCtx)(unsafe.Pointer(p)).FpVal != 0 { @@ -140682,7 +140713,7 @@ func last_valueValueFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158707:13: } } -func last_valueFinalizeFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158714:13: */ +func last_valueFinalizeFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158771:13: */ var p uintptr p = Xsqlite3_aggregate_context(tls, pCtx, int32(unsafe.Sizeof(LastValueCtx{}))) if p != 0 && (*LastValueCtx)(unsafe.Pointer(p)).FpVal != 0 { @@ -140698,17 +140729,17 @@ func last_valueFinalizeFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158714:1 // comparison of the zName pointer. Example: // // if( pFuncDef->zName==row_valueName ){ ... } -var row_numberName = *(*[11]uint8)(unsafe.Pointer(ts + 22000)) /* sqlite3.c:158732:19 */ -var dense_rankName = *(*[11]uint8)(unsafe.Pointer(ts + 22011)) /* sqlite3.c:158733:19 */ -var rankName = *(*[5]uint8)(unsafe.Pointer(ts + 22022)) /* sqlite3.c:158734:19 */ -var percent_rankName = *(*[13]uint8)(unsafe.Pointer(ts + 22027)) /* sqlite3.c:158735:19 */ -var cume_distName = *(*[10]uint8)(unsafe.Pointer(ts + 22040)) /* sqlite3.c:158736:19 */ -var ntileName = *(*[6]uint8)(unsafe.Pointer(ts + 22050)) /* sqlite3.c:158737:19 */ -var last_valueName = *(*[11]uint8)(unsafe.Pointer(ts + 22056)) /* sqlite3.c:158738:19 */ -var nth_valueName = *(*[10]uint8)(unsafe.Pointer(ts + 22067)) /* sqlite3.c:158739:19 */ -var first_valueName = *(*[12]uint8)(unsafe.Pointer(ts + 22077)) /* sqlite3.c:158740:19 */ -var leadName = *(*[5]uint8)(unsafe.Pointer(ts + 22089)) /* sqlite3.c:158741:19 */ -var lagName = *(*[4]uint8)(unsafe.Pointer(ts + 22094 /* "lag" */)) /* sqlite3.c:158742:19 */ +var row_numberName = *(*[11]uint8)(unsafe.Pointer(ts + 22000)) /* sqlite3.c:158789:19 */ +var dense_rankName = *(*[11]uint8)(unsafe.Pointer(ts + 22011)) /* sqlite3.c:158790:19 */ +var rankName = *(*[5]uint8)(unsafe.Pointer(ts + 22022)) /* sqlite3.c:158791:19 */ +var percent_rankName = *(*[13]uint8)(unsafe.Pointer(ts + 22027)) /* sqlite3.c:158792:19 */ +var cume_distName = *(*[10]uint8)(unsafe.Pointer(ts + 22040)) /* sqlite3.c:158793:19 */ +var ntileName = *(*[6]uint8)(unsafe.Pointer(ts + 22050)) /* sqlite3.c:158794:19 */ +var last_valueName = *(*[11]uint8)(unsafe.Pointer(ts + 22056)) /* sqlite3.c:158795:19 */ +var nth_valueName = *(*[10]uint8)(unsafe.Pointer(ts + 22067)) /* sqlite3.c:158796:19 */ +var first_valueName = *(*[12]uint8)(unsafe.Pointer(ts + 22077)) /* sqlite3.c:158797:19 */ +var leadName = *(*[5]uint8)(unsafe.Pointer(ts + 22089)) /* sqlite3.c:158798:19 */ +var lagName = *(*[4]uint8)(unsafe.Pointer(ts + 22094 /* "lag" */)) /* sqlite3.c:158799:19 */ // No-op implementations of xStep() and xFinalize(). Used as place-holders // for built-in window functions that never call those interfaces. @@ -140717,7 +140748,7 @@ var lagName = *(*[4]uint8)(unsafe.Pointer(ts + 22094 /* "lag" */)) /* sqlite3.c: // noopStepFunc() is never called, and so it is marked with NO_TEST to // let the test coverage routine know not to expect this function to be // invoked. -func noopStepFunc(tls *libc.TLS, p uintptr, n int32, a uintptr) { /* sqlite3.c:158753:13: */ //NO_TEST +func noopStepFunc(tls *libc.TLS, p uintptr, n int32, a uintptr) { /* sqlite3.c:158810:13: */ //NO_TEST _ = p //NO_TEST _ = n //NO_TEST _ = a //NO_TEST @@ -140725,7 +140756,7 @@ func noopStepFunc(tls *libc.TLS, p uintptr, n int32, a uintptr) { /* sqlite3.c:1 } //NO_TEST -func noopValueFunc(tls *libc.TLS, p uintptr) { /* sqlite3.c:158763:13: */ +func noopValueFunc(tls *libc.TLS, p uintptr) { /* sqlite3.c:158820:13: */ _ = p /*no-op*/ } @@ -140740,7 +140771,7 @@ func noopValueFunc(tls *libc.TLS, p uintptr) { /* sqlite3.c:158763:13: */ // xInverse. // Register those built-in window functions that are not also aggregates. -func Xsqlite3WindowFunctions(tls *libc.TLS) { /* sqlite3.c:158794:21: */ +func Xsqlite3WindowFunctions(tls *libc.TLS) { /* sqlite3.c:158851:21: */ Xsqlite3InsertBuiltinFuncs(tls, uintptr(unsafe.Pointer(&aWindowFuncs)), int32(uint64(unsafe.Sizeof(aWindowFuncs))/uint64(unsafe.Sizeof(FuncDef{})))) } @@ -140759,9 +140790,9 @@ var aWindowFuncs = [15]FuncDef{ {FnArg: int8(3), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_UTF8 | SQLITE_FUNC_WINDOW | 0), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: 0}, {FnArg: int8(1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_UTF8 | SQLITE_FUNC_WINDOW | 0), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: 0}, {FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_UTF8 | SQLITE_FUNC_WINDOW | 0), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: 0}, - {FnArg: int8(3), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_UTF8 | SQLITE_FUNC_WINDOW | 0), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: 0}} /* sqlite3.c:158795:18 */ + {FnArg: int8(3), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_UTF8 | SQLITE_FUNC_WINDOW | 0), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: 0}} /* sqlite3.c:158852:18 */ -func windowFind(tls *libc.TLS, pParse uintptr, pList uintptr, zName uintptr) uintptr { /* sqlite3.c:158815:15: */ +func windowFind(tls *libc.TLS, pParse uintptr, pList uintptr, zName uintptr) uintptr { /* sqlite3.c:158872:15: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -140792,7 +140823,7 @@ func windowFind(tls *libc.TLS, pParse uintptr, pList uintptr, zName uintptr) uin // * If the function is a built-in window function that requires the // window to be coerced (see "BUILT-IN WINDOW FUNCTIONS" at the top // of this file), pWin is updated here. -func Xsqlite3WindowUpdate(tls *libc.TLS, pParse uintptr, pList uintptr, pWin uintptr, pFunc uintptr) { /* sqlite3.c:158843:21: */ +func Xsqlite3WindowUpdate(tls *libc.TLS, pParse uintptr, pList uintptr, pWin uintptr, pFunc uintptr) { /* sqlite3.c:158900:21: */ bp := tls.Alloc(192) defer tls.Free(192) @@ -140860,16 +140891,16 @@ type WindowUpdate = struct { FeStart int32 FeEnd int32 F__ccgo_pad1 [4]byte -} /* sqlite3.c:158878:7 */ +} /* sqlite3.c:158935:7 */ // Context object passed through sqlite3WalkExprList() to // selectWindowRewriteExprCb() by selectWindowRewriteEList(). -type WindowRewrite = WindowRewrite1 /* sqlite3.c:158918:30 */ +type WindowRewrite = WindowRewrite1 /* sqlite3.c:158975:30 */ // Callback function used by selectWindowRewriteEList(). If necessary, // this function appends to the output expression-list and updates // expression (*ppExpr) in place. -func selectWindowRewriteExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:158932:12: */ +func selectWindowRewriteExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:158989:12: */ var p uintptr = *(*uintptr)(unsafe.Pointer(pWalker + 40)) var pParse uintptr = (*Walker)(unsafe.Pointer(pWalker)).FpParse @@ -140968,7 +140999,7 @@ func selectWindowRewriteExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) in return WRC_Continue } -func selectWindowRewriteSelectCb(tls *libc.TLS, pWalker uintptr, pSelect uintptr) int32 { /* sqlite3.c:159014:12: */ +func selectWindowRewriteSelectCb(tls *libc.TLS, pWalker uintptr, pSelect uintptr) int32 { /* sqlite3.c:159071:12: */ var p uintptr = *(*uintptr)(unsafe.Pointer(pWalker + 40)) var pSave uintptr = (*WindowRewrite1)(unsafe.Pointer(p)).FpSubSelect if pSave == pSelect { @@ -140992,7 +141023,7 @@ func selectWindowRewriteSelectCb(tls *libc.TLS, pWalker uintptr, pSelect uintptr // with a TK_COLUMN that reads the (N-1)th element of table // pWin->iEphCsr, where N is the number of elements in (*ppSub) after // appending the new one. -func selectWindowRewriteEList(tls *libc.TLS, pParse uintptr, pWin uintptr, pSrc uintptr, pEList uintptr, pTab uintptr, ppSub uintptr) { /* sqlite3.c:159041:13: */ +func selectWindowRewriteEList(tls *libc.TLS, pParse uintptr, pWin uintptr, pSrc uintptr, pEList uintptr, pTab uintptr, ppSub uintptr) { /* sqlite3.c:159098:13: */ bp := tls.Alloc(88) defer tls.Free(88) @@ -141024,7 +141055,7 @@ func selectWindowRewriteEList(tls *libc.TLS, pParse uintptr, pWin uintptr, pSrc // Append a copy of each expression in expression-list pAppend to // expression list pList. Return a pointer to the result list. -func exprListAppendList(tls *libc.TLS, pParse uintptr, pList uintptr, pAppend uintptr, bIntToNull int32) uintptr { /* sqlite3.c:159075:17: */ +func exprListAppendList(tls *libc.TLS, pParse uintptr, pList uintptr, pAppend uintptr, bIntToNull int32) uintptr { /* sqlite3.c:159132:17: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -141070,7 +141101,7 @@ func exprListAppendList(tls *libc.TLS, pParse uintptr, pList uintptr, pAppend ui // due to the extra subquery layer that was added. // // See also the incrAggDepth() routine in resolve.c -func sqlite3WindowExtraAggFuncDepth(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:159117:12: */ +func sqlite3WindowExtraAggFuncDepth(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:159174:12: */ if int32((*Expr)(unsafe.Pointer(pExpr)).Fop) == TK_AGG_FUNCTION && int32((*Expr)(unsafe.Pointer(pExpr)).Fop2) >= (*Walker)(unsafe.Pointer(pWalker)).FwalkerDepth { (*Expr)(unsafe.Pointer(pExpr)).Fop2++ @@ -141078,7 +141109,7 @@ func sqlite3WindowExtraAggFuncDepth(tls *libc.TLS, pWalker uintptr, pExpr uintpt return WRC_Continue } -func disallowAggregatesInOrderByCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:159126:12: */ +func disallowAggregatesInOrderByCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:159183:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -141095,7 +141126,7 @@ func disallowAggregatesInOrderByCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr // rewrites the SELECT statement so that window function xStep functions // are invoked in the correct order as described under "SELECT REWRITING" // at the top of this file. -func Xsqlite3WindowRewrite(tls *libc.TLS, pParse uintptr, p uintptr) int32 { /* sqlite3.c:159142:20: */ +func Xsqlite3WindowRewrite(tls *libc.TLS, pParse uintptr, p uintptr) int32 { /* sqlite3.c:159199:20: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -141279,7 +141310,7 @@ func Xsqlite3WindowRewrite(tls *libc.TLS, pParse uintptr, p uintptr) int32 { /* // Unlink the Window object from the Select to which it is attached, // if it is attached. -func Xsqlite3WindowUnlinkFromSelect(tls *libc.TLS, p uintptr) { /* sqlite3.c:159306:21: */ +func Xsqlite3WindowUnlinkFromSelect(tls *libc.TLS, p uintptr) { /* sqlite3.c:159363:21: */ if (*Window)(unsafe.Pointer(p)).FppThis != 0 { *(*uintptr)(unsafe.Pointer((*Window)(unsafe.Pointer(p)).FppThis)) = (*Window)(unsafe.Pointer(p)).FpNextWin if (*Window)(unsafe.Pointer(p)).FpNextWin != 0 { @@ -141290,7 +141321,7 @@ func Xsqlite3WindowUnlinkFromSelect(tls *libc.TLS, p uintptr) { /* sqlite3.c:159 } // Free the Window object passed as the second argument. -func Xsqlite3WindowDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:159317:21: */ +func Xsqlite3WindowDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:159374:21: */ if p != 0 { Xsqlite3WindowUnlinkFromSelect(tls, p) Xsqlite3ExprDelete(tls, db, (*Window)(unsafe.Pointer(p)).FpFilter) @@ -141305,7 +141336,7 @@ func Xsqlite3WindowDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:1 } // Free the linked list of Window objects starting at the second argument. -func Xsqlite3WindowListDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:159334:21: */ +func Xsqlite3WindowListDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:159391:21: */ for p != 0 { var pNext uintptr = (*Window)(unsafe.Pointer(p)).FpNextWin Xsqlite3WindowDelete(tls, db, p) @@ -141318,7 +141349,7 @@ func Xsqlite3WindowListDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3 // constant, change it to NULL. The fact that it is then a non-negative // integer will be caught later. But it is important not to leave // variable values in the expression tree. -func sqlite3WindowOffsetExpr(tls *libc.TLS, pParse uintptr, pExpr uintptr) uintptr { /* sqlite3.c:159349:13: */ +func sqlite3WindowOffsetExpr(tls *libc.TLS, pParse uintptr, pExpr uintptr) uintptr { /* sqlite3.c:159406:13: */ if 0 == Xsqlite3ExprIsConstant(tls, pExpr) { if int32((*Parse)(unsafe.Pointer(pParse)).FeParseMode) >= PARSE_MODE_RENAME { Xsqlite3RenameExprUnmap(tls, pParse, pExpr) @@ -141330,7 +141361,7 @@ func sqlite3WindowOffsetExpr(tls *libc.TLS, pParse uintptr, pExpr uintptr) uintp } // Allocate and return a new Window object describing a Window Definition. -func Xsqlite3WindowAlloc(tls *libc.TLS, pParse uintptr, eType int32, eStart int32, pStart uintptr, eEnd int32, pEnd uintptr, eExclude U8) uintptr { /* sqlite3.c:159361:23: */ +func Xsqlite3WindowAlloc(tls *libc.TLS, pParse uintptr, eType int32, eStart int32, pStart uintptr, eEnd int32, pEnd uintptr, eExclude U8) uintptr { /* sqlite3.c:159418:23: */ var pWin uintptr var bImplicitFrame int32 pWin = uintptr(0) @@ -141399,7 +141430,7 @@ windowAllocErr: // Attach PARTITION and ORDER BY clauses pPartition and pOrderBy to window // pWin. Also, if parameter pBase is not NULL, set pWin->zBase to the // equivalent nul-terminated string. -func Xsqlite3WindowAssemble(tls *libc.TLS, pParse uintptr, pWin uintptr, pPartition uintptr, pOrderBy uintptr, pBase uintptr) uintptr { /* sqlite3.c:159433:23: */ +func Xsqlite3WindowAssemble(tls *libc.TLS, pParse uintptr, pWin uintptr, pPartition uintptr, pOrderBy uintptr, pBase uintptr) uintptr { /* sqlite3.c:159490:23: */ if pWin != 0 { (*Window)(unsafe.Pointer(pWin)).FpPartition = pPartition (*Window)(unsafe.Pointer(pWin)).FpOrderBy = pOrderBy @@ -141418,7 +141449,7 @@ func Xsqlite3WindowAssemble(tls *libc.TLS, pParse uintptr, pWin uintptr, pPartit // stored in the linked list starting at pWin->pNextWin. This function // either updates *pWin according to the base specification, or else // leaves an error in pParse. -func Xsqlite3WindowChain(tls *libc.TLS, pParse uintptr, pWin uintptr, pList uintptr) { /* sqlite3.c:159460:21: */ +func Xsqlite3WindowChain(tls *libc.TLS, pParse uintptr, pWin uintptr, pList uintptr) { /* sqlite3.c:159517:21: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -141452,7 +141483,7 @@ func Xsqlite3WindowChain(tls *libc.TLS, pParse uintptr, pWin uintptr, pList uint } // Attach window object pWin to expression p. -func Xsqlite3WindowAttach(tls *libc.TLS, pParse uintptr, p uintptr, pWin uintptr) { /* sqlite3.c:159494:21: */ +func Xsqlite3WindowAttach(tls *libc.TLS, pParse uintptr, p uintptr, pWin uintptr) { /* sqlite3.c:159551:21: */ if p != 0 { *(*uintptr)(unsafe.Pointer(p + 64)) = pWin @@ -141471,7 +141502,7 @@ func Xsqlite3WindowAttach(tls *libc.TLS, pParse uintptr, p uintptr, pWin uintptr // to be processed as part of SELECT statement pSel). The window is linked // in if either (a) there are no other windows already linked to this // SELECT, or (b) the windows already linked use a compatible window frame. -func Xsqlite3WindowLink(tls *libc.TLS, pSel uintptr, pWin uintptr) { /* sqlite3.c:159517:21: */ +func Xsqlite3WindowLink(tls *libc.TLS, pSel uintptr, pWin uintptr) { /* sqlite3.c:159574:21: */ if pSel != 0 { if uintptr(0) == (*Select)(unsafe.Pointer(pSel)).FpWin || 0 == Xsqlite3WindowCompare(tls, uintptr(0), (*Select)(unsafe.Pointer(pSel)).FpWin, pWin, 0) { (*Window)(unsafe.Pointer(pWin)).FpNextWin = (*Select)(unsafe.Pointer(pSel)).FpWin @@ -141491,7 +141522,7 @@ func Xsqlite3WindowLink(tls *libc.TLS, pSel uintptr, pWin uintptr) { /* sqlite3. // Return 0 if the two window objects are identical, 1 if they are // different, or 2 if it cannot be determined if the objects are identical // or not. Identical window objects can be processed in a single scan. -func Xsqlite3WindowCompare(tls *libc.TLS, pParse uintptr, p1 uintptr, p2 uintptr, bFilter int32) int32 { /* sqlite3.c:159539:20: */ +func Xsqlite3WindowCompare(tls *libc.TLS, pParse uintptr, p1 uintptr, p2 uintptr, bFilter int32) int32 { /* sqlite3.c:159596:20: */ var res int32 if p1 == uintptr(0) || p2 == uintptr(0) { return 1 @@ -141531,7 +141562,7 @@ func Xsqlite3WindowCompare(tls *libc.TLS, pParse uintptr, p1 uintptr, p2 uintptr // This is called by code in select.c before it calls sqlite3WhereBegin() // to begin iterating through the sub-query results. It is used to allocate // and initialize registers and cursors used by sqlite3WindowCodeStep(). -func Xsqlite3WindowCodeInit(tls *libc.TLS, pParse uintptr, pSelect uintptr) { /* sqlite3.c:159573:21: */ +func Xsqlite3WindowCodeInit(tls *libc.TLS, pParse uintptr, pSelect uintptr) { /* sqlite3.c:159630:21: */ var nEphExpr int32 = (*ExprList)(unsafe.Pointer((*Select)(unsafe.Pointer((*SrcItem)(unsafe.Pointer((*Select)(unsafe.Pointer(pSelect)).FpSrc + 8)).FpSelect)).FpEList)).FnExpr var pMWin uintptr = (*Select)(unsafe.Pointer(pSelect)).FpWin var pWin uintptr @@ -141607,7 +141638,7 @@ func Xsqlite3WindowCodeInit(tls *libc.TLS, pParse uintptr, pSelect uintptr) { /* // evaluated and the result left in register reg. This function generates VM // code to check that the value is a non-negative integer and throws an // exception if it is not. -func windowCheckValue(tls *libc.TLS, pParse uintptr, reg int32, eCond int32) { /* sqlite3.c:159660:13: */ +func windowCheckValue(tls *libc.TLS, pParse uintptr, reg int32, eCond int32) { /* sqlite3.c:159717:13: */ var v uintptr = Xsqlite3GetVdbe(tls, pParse) var regZero int32 = Xsqlite3GetTempReg(tls, pParse) @@ -141641,12 +141672,12 @@ var azErr = [5]uintptr{ ts + 21899, ts + 22546, ts + 22598, -} /* sqlite3.c:159661:21 */ -var aOp1 = [5]int32{OP_Ge, OP_Ge, OP_Gt, OP_Ge, OP_Ge} /* sqlite3.c:159668:14 */ +} /* sqlite3.c:159718:21 */ +var aOp1 = [5]int32{OP_Ge, OP_Ge, OP_Gt, OP_Ge, OP_Ge} /* sqlite3.c:159725:14 */ // Return the number of arguments passed to the window-function associated // with the object passed as the only argument to this function. -func windowArgCount(tls *libc.TLS, pWin uintptr) int32 { /* sqlite3.c:159707:12: */ +func windowArgCount(tls *libc.TLS, pWin uintptr) int32 { /* sqlite3.c:159764:12: */ var pList uintptr pList = *(*uintptr)(unsafe.Pointer((*Window)(unsafe.Pointer(pWin)).FpOwner + 32)) @@ -141671,19 +141702,19 @@ type WindowCodeArg1 = struct { Fcurrent WindowCsrAndReg Fend WindowCsrAndReg F__ccgo_pad1 [4]byte -} /* sqlite3.c:159714:9 */ +} /* sqlite3.c:159771:9 */ -type WindowCodeArg = WindowCodeArg1 /* sqlite3.c:159714:30 */ +type WindowCodeArg = WindowCodeArg1 /* sqlite3.c:159771:30 */ type WindowCsrAndReg1 = struct { Fcsr int32 Freg int32 -} /* sqlite3.c:159714:9 */ +} /* sqlite3.c:159771:9 */ -type WindowCsrAndReg = WindowCsrAndReg1 /* sqlite3.c:159715:32 */ +type WindowCsrAndReg = WindowCsrAndReg1 /* sqlite3.c:159772:32 */ // Generate VM code to read the window frames peer values from cursor csr into // an array of registers starting at reg. -func windowReadPeerValues(tls *libc.TLS, p uintptr, csr int32, reg int32) { /* sqlite3.c:159799:13: */ +func windowReadPeerValues(tls *libc.TLS, p uintptr, csr int32, reg int32) { /* sqlite3.c:159856:13: */ var pMWin uintptr = (*WindowCodeArg)(unsafe.Pointer(p)).FpMWin var pOrderBy uintptr = (*Window)(unsafe.Pointer(pMWin)).FpOrderBy if pOrderBy != 0 { @@ -141719,7 +141750,7 @@ func windowReadPeerValues(tls *libc.TLS, p uintptr, csr int32, reg int32) { /* s // // If argument regPartSize is non-zero, then it is a register containing the // number of rows in the current partition. -func windowAggStep(tls *libc.TLS, p uintptr, pMWin uintptr, csr int32, bInverse int32, reg int32) { /* sqlite3.c:159836:13: */ +func windowAggStep(tls *libc.TLS, p uintptr, pMWin uintptr, csr int32, bInverse int32, reg int32) { /* sqlite3.c:159893:13: */ var pParse uintptr = (*WindowCodeArg)(unsafe.Pointer(p)).FpParse var v uintptr = Xsqlite3GetVdbe(tls, pParse) var pWin uintptr @@ -141826,7 +141857,7 @@ func windowAggStep(tls *libc.TLS, p uintptr, pMWin uintptr, csr int32, bInverse // (bFin==1) for each window function in the linked list starting at // pMWin. Or, for built-in window-functions that do not use the standard // API, generate the equivalent VM code. -func windowAggFinal(tls *libc.TLS, p uintptr, bFin int32) { /* sqlite3.c:159953:13: */ +func windowAggFinal(tls *libc.TLS, p uintptr, bFin int32) { /* sqlite3.c:160010:13: */ var pParse uintptr = (*WindowCodeArg)(unsafe.Pointer(p)).FpParse var pMWin uintptr = (*WindowCodeArg)(unsafe.Pointer(p)).FpMWin var v uintptr = Xsqlite3GetVdbe(tls, pParse) @@ -141862,7 +141893,7 @@ func windowAggFinal(tls *libc.TLS, p uintptr, bFin int32) { /* sqlite3.c:159953: // p->pMWin list by doing a full scan of the current window frame. Store the // results in the Window.regResult registers, ready to return the upper // layer. -func windowFullScan(tls *libc.TLS, p uintptr) { /* sqlite3.c:159992:13: */ +func windowFullScan(tls *libc.TLS, p uintptr) { /* sqlite3.c:160049:13: */ var pWin uintptr var pParse uintptr = (*WindowCodeArg)(unsafe.Pointer(p)).FpParse var pMWin uintptr = (*WindowCodeArg)(unsafe.Pointer(p)).FpMWin @@ -141969,7 +142000,7 @@ func windowFullScan(tls *libc.TLS, p uintptr) { /* sqlite3.c:159992:13: */ // first_value() // lag() // lead() -func windowReturnOneRow(tls *libc.TLS, p uintptr) { /* sqlite3.c:160098:13: */ +func windowReturnOneRow(tls *libc.TLS, p uintptr) { /* sqlite3.c:160155:13: */ var pMWin uintptr = (*WindowCodeArg)(unsafe.Pointer(p)).FpMWin var v uintptr = (*WindowCodeArg)(unsafe.Pointer(p)).FpVdbe @@ -142052,7 +142083,7 @@ func windowReturnOneRow(tls *libc.TLS, p uintptr) { /* sqlite3.c:160098:13: */ // in the linked list passed as the second argument to NULL. And perform // any equivalent initialization required by any built-in window functions // in the list. -func windowInitAccum(tls *libc.TLS, pParse uintptr, pMWin uintptr) int32 { /* sqlite3.c:160175:12: */ +func windowInitAccum(tls *libc.TLS, pParse uintptr, pMWin uintptr) int32 { /* sqlite3.c:160232:12: */ var v uintptr = Xsqlite3GetVdbe(tls, pParse) var regArg int32 var nArg int32 = 0 @@ -142087,7 +142118,7 @@ func windowInitAccum(tls *libc.TLS, pParse uintptr, pMWin uintptr) int32 { /* sq // Return true if the current frame should be cached in the ephemeral table, // even if there are no xInverse() calls required. -func windowCacheFrame(tls *libc.TLS, pMWin uintptr) int32 { /* sqlite3.c:160207:12: */ +func windowCacheFrame(tls *libc.TLS, pMWin uintptr) int32 { /* sqlite3.c:160264:12: */ var pWin uintptr if (*Window)(unsafe.Pointer(pMWin)).FregStartRowid != 0 { return 1 @@ -142112,7 +142143,7 @@ func windowCacheFrame(tls *libc.TLS, pMWin uintptr) int32 { /* sqlite3.c:160207: // If the two arrays are not equal, the contents of regNew is copied to // regOld and control falls through. Otherwise, if the contents of the arrays // are equal, an OP_Goto is executed. The address of the OP_Goto is returned. -func windowIfNewPeer(tls *libc.TLS, pParse uintptr, pOrderBy uintptr, regNew int32, regOld int32, addr int32) { /* sqlite3.c:160233:13: */ +func windowIfNewPeer(tls *libc.TLS, pParse uintptr, pOrderBy uintptr, regNew int32, regOld int32, addr int32) { /* sqlite3.c:160290:13: */ var v uintptr = Xsqlite3GetVdbe(tls, pParse) if pOrderBy != 0 { var nVal int32 = (*ExprList)(unsafe.Pointer(pOrderBy)).FnExpr @@ -142149,7 +142180,7 @@ func windowIfNewPeer(tls *libc.TLS, pParse uintptr, pOrderBy uintptr, regNew int // A special type of arithmetic is used such that if csr1.peerVal is not // a numeric type (real or integer), then the result of the addition // or subtraction is a a copy of csr1.peerVal. -func windowCodeRangeTest(tls *libc.TLS, p uintptr, op int32, csr1 int32, regVal int32, csr2 int32, lbl int32) { /* sqlite3.c:160279:13: */ +func windowCodeRangeTest(tls *libc.TLS, p uintptr, op int32, csr1 int32, regVal int32, csr2 int32, lbl int32) { /* sqlite3.c:160336:13: */ var pParse uintptr = (*WindowCodeArg)(unsafe.Pointer(p)).FpParse var v uintptr = Xsqlite3GetVdbe(tls, pParse) var pOrderBy uintptr = (*Window)(unsafe.Pointer((*WindowCodeArg)(unsafe.Pointer(p)).FpMWin)).FpOrderBy // ORDER BY clause for window @@ -142272,7 +142303,7 @@ func windowCodeRangeTest(tls *libc.TLS, p uintptr, op int32, csr1 int32, regVal // generates VM code for a single RETURN_ROW, AGGSTEP or AGGINVERSE // operation. Refer to the header comment for sqlite3WindowCodeStep() for // details. -func windowCodeOp(tls *libc.TLS, p uintptr, op int32, regCountdown int32, jumpOnEof int32) int32 { /* sqlite3.c:160412:12: */ +func windowCodeOp(tls *libc.TLS, p uintptr, op int32, regCountdown int32, jumpOnEof int32) int32 { /* sqlite3.c:160469:12: */ var csr int32 var reg int32 var pParse uintptr = (*WindowCodeArg)(unsafe.Pointer(p)).FpParse @@ -142420,7 +142451,7 @@ func windowCodeOp(tls *libc.TLS, p uintptr, op int32, regCountdown int32, jumpOn // Allocate and return a duplicate of the Window object indicated by the // third argument. Set the Window.pOwner field of the new object to // pOwner. -func Xsqlite3WindowDup(tls *libc.TLS, db uintptr, pOwner uintptr, p uintptr) uintptr { /* sqlite3.c:160561:23: */ +func Xsqlite3WindowDup(tls *libc.TLS, db uintptr, pOwner uintptr, p uintptr) uintptr { /* sqlite3.c:160618:23: */ var pNew uintptr = uintptr(0) if p != 0 { pNew = Xsqlite3DbMallocZero(tls, db, uint64(unsafe.Sizeof(Window{}))) @@ -142451,7 +142482,7 @@ func Xsqlite3WindowDup(tls *libc.TLS, db uintptr, pOwner uintptr, p uintptr) uin // Return a copy of the linked list of Window objects passed as the // second argument. -func Xsqlite3WindowListDup(tls *libc.TLS, db uintptr, p uintptr) uintptr { /* sqlite3.c:160594:23: */ +func Xsqlite3WindowListDup(tls *libc.TLS, db uintptr, p uintptr) uintptr { /* sqlite3.c:160651:23: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -142476,7 +142507,7 @@ func Xsqlite3WindowListDup(tls *libc.TLS, db uintptr, p uintptr) uintptr { /* sq // // If an OOM error occurs, this function sets the Parse.db.mallocFailed // flag and returns zero. -func windowExprGtZero(tls *libc.TLS, pParse uintptr, pExpr uintptr) int32 { /* sqlite3.c:160616:12: */ +func windowExprGtZero(tls *libc.TLS, pParse uintptr, pExpr uintptr) int32 { /* sqlite3.c:160673:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -142824,7 +142855,7 @@ func windowExprGtZero(tls *libc.TLS, pParse uintptr, pExpr uintptr) int32 { /* s // // The text above leaves out many details. Refer to the code and comments // below for a more complete picture. -func Xsqlite3WindowCodeStep(tls *libc.TLS, pParse uintptr, p uintptr, pWInfo uintptr, regGosub int32, addrGosub int32) { /* sqlite3.c:160963:21: */ +func Xsqlite3WindowCodeStep(tls *libc.TLS, pParse uintptr, p uintptr, pWInfo uintptr, regGosub int32, addrGosub int32) { /* sqlite3.c:161020:21: */ bp := tls.Alloc(72) defer tls.Free(72) @@ -143221,17 +143252,17 @@ type TrigEvent = struct { Fa int32 F__ccgo_pad1 [4]byte Fb uintptr -} /* sqlite3.c:161363:1 */ +} /* sqlite3.c:161420:1 */ type FrameBound = struct { FeType int32 F__ccgo_pad1 [4]byte FpExpr uintptr -} /* sqlite3.c:161365:1 */ +} /* sqlite3.c:161422:1 */ // Disable lookaside memory allocation for objects that might be // shared across database connections. -func disableLookaside(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:161371:13: */ +func disableLookaside(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:161428:13: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb (*Parse)(unsafe.Pointer(pParse)).FdisableLookaside++ (*Sqlite3)(unsafe.Pointer(db)).Flookaside.FbDisable++ @@ -143241,7 +143272,7 @@ func disableLookaside(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:161371:13: * // For a compound SELECT statement, make sure p->pPrior->pNext==p for // all elements in the list. And make sure list length does not exceed // SQLITE_LIMIT_COMPOUND_SELECT. -func parserDoubleLinkSelect(tls *libc.TLS, pParse uintptr, p uintptr) { /* sqlite3.c:161404:15: */ +func parserDoubleLinkSelect(tls *libc.TLS, pParse uintptr, p uintptr) { /* sqlite3.c:161461:15: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -143280,7 +143311,7 @@ func parserDoubleLinkSelect(tls *libc.TLS, pParse uintptr, p uintptr) { /* sqlit // Attach a With object describing the WITH clause to a Select // object describing the query for which the WITH clause is a prefix. -func attachWithToSelect(tls *libc.TLS, pParse uintptr, pSelect uintptr, pWith uintptr) uintptr { /* sqlite3.c:161435:17: */ +func attachWithToSelect(tls *libc.TLS, pParse uintptr, pSelect uintptr, pWith uintptr) uintptr { /* sqlite3.c:161492:17: */ if pSelect != 0 { (*Select)(unsafe.Pointer(pSelect)).FpWith = pWith parserDoubleLinkSelect(tls, pParse, pSelect) @@ -143292,7 +143323,7 @@ func attachWithToSelect(tls *libc.TLS, pParse uintptr, pSelect uintptr, pWith ui } // Construct a new Expr object from a single token -func tokenExpr(tls *libc.TLS, pParse uintptr, op int32, t Token) uintptr { /* sqlite3.c:161447:15: */ +func tokenExpr(tls *libc.TLS, pParse uintptr, op int32, t Token) uintptr { /* sqlite3.c:161504:15: */ bp := tls.Alloc(16) defer tls.Free(16) *(*Token)(unsafe.Pointer(bp)) = t @@ -143330,7 +143361,7 @@ func tokenExpr(tls *libc.TLS, pParse uintptr, op int32, t Token) uintptr { /* sq // A routine to convert a binary TK_IS or TK_ISNOT expression into a // unary TK_ISNULL or TK_NOTNULL expression. -func binaryToUnaryIfNull(tls *libc.TLS, pParse uintptr, pY uintptr, pA uintptr, op int32) { /* sqlite3.c:161483:15: */ +func binaryToUnaryIfNull(tls *libc.TLS, pParse uintptr, pY uintptr, pA uintptr, op int32) { /* sqlite3.c:161540:15: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb if pA != 0 && pY != 0 && int32((*Expr)(unsafe.Pointer(pY)).Fop) == TK_NULL && !(int32((*Parse)(unsafe.Pointer(pParse)).FeParseMode) >= PARSE_MODE_RENAME) { (*Expr)(unsafe.Pointer(pA)).Fop = U8(op) @@ -143344,7 +143375,7 @@ func binaryToUnaryIfNull(tls *libc.TLS, pParse uintptr, pY uintptr, pA uintptr, // list of identifiers. Report an error if the ID list contains // a COLLATE clause or an ASC or DESC keyword, except ignore the // error while parsing a legacy schema. -func parserAddExprIdListTerm(tls *libc.TLS, pParse uintptr, pPrior uintptr, pIdToken uintptr, hasCollate int32, sortOrder int32) uintptr { /* sqlite3.c:161497:19: */ +func parserAddExprIdListTerm(tls *libc.TLS, pParse uintptr, pPrior uintptr, pIdToken uintptr, hasCollate int32, sortOrder int32) uintptr { /* sqlite3.c:161554:19: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -143419,7 +143450,7 @@ type YYMINORTYPE = struct { F__ccgo_pad1 [0]uint64 Fyyinit int32 F__ccgo_pad2 [12]byte -} /* sqlite3.c:161789:3 */ +} /* sqlite3.c:161846:3 */ //************ End control #defines ****************************************** // Define the yytestcase() macro to be a no-op if is not already defined @@ -143688,7 +143719,7 @@ var yy_action = [2070]uint16{ /* 2040 */ uint16(29), uint16(921), uint16(390), uint16(1176), uint16(172), uint16(139), uint16(1175), uint16(1235), uint16(261), uint16(1235), /* 2050 */ uint16(1235), uint16(1235), uint16(1235), uint16(1235), uint16(1235), uint16(1235), uint16(1235), uint16(262), uint16(1235), uint16(1235), /* 2060 */ uint16(1235), uint16(1235), uint16(1235), uint16(1235), uint16(1235), uint16(1235), uint16(1235), uint16(1235), uint16(1593), uint16(1592), -} /* sqlite3.c:161883:27 */ +} /* sqlite3.c:161940:27 */ var yy_lookahead = [2255]uint16{ /* 0 */ uint16(193), uint16(223), uint16(193), uint16(225), uint16(193), uint16(193), uint16(193), uint16(274), uint16(275), uint16(276), /* 10 */ uint16(193), uint16(233), uint16(219), uint16(193), uint16(274), uint16(275), uint16(276), uint16(206), uint16(206), uint16(19), @@ -143916,7 +143947,7 @@ var yy_lookahead = [2255]uint16{ /* 2230 */ uint16(319), uint16(319), uint16(319), uint16(319), uint16(319), uint16(319), uint16(319), uint16(319), uint16(319), uint16(319), /* 2240 */ uint16(319), uint16(319), uint16(319), uint16(319), uint16(319), uint16(319), uint16(319), uint16(319), uint16(319), uint16(319), /* 2250 */ uint16(319), uint16(319), uint16(319), uint16(319), uint16(319), -} /* sqlite3.c:162092:25 */ +} /* sqlite3.c:162149:25 */ var yy_shift_ofst = [574]uint16{ /* 0 */ uint16(1648), uint16(1477), uint16(1272), uint16(322), uint16(322), uint16(262), uint16(1319), uint16(1478), uint16(1491), uint16(1662), /* 10 */ uint16(1662), uint16(1662), uint16(317), uint16(0), uint16(0), uint16(214), uint16(1093), uint16(1662), uint16(1662), uint16(1662), @@ -143976,7 +144007,7 @@ var yy_shift_ofst = [574]uint16{ /* 550 */ uint16(2005), uint16(2006), uint16(2007), uint16(2008), uint16(2009), uint16(2001), uint16(2020), uint16(2012), uint16(2013), uint16(2014), /* 560 */ uint16(2015), uint16(2017), uint16(2018), uint16(2011), uint16(1906), uint16(1907), uint16(1916), uint16(1927), uint16(1928), uint16(2019), /* 570 */ uint16(2022), uint16(2027), uint16(2042), uint16(2045), -} /* sqlite3.c:162323:33 */ +} /* sqlite3.c:162380:33 */ var yy_reduce_ofst = [409]int16{ /* 0 */ int16(-125), int16(733), int16(789), int16(241), int16(293), int16(-123), int16(-193), int16(-191), int16(-183), int16(-187), /* 10 */ int16(-180), int16(83), int16(133), int16(-207), int16(-198), int16(-267), int16(-175), int16(-6), int16(166), int16(313), @@ -144019,7 +144050,7 @@ var yy_reduce_ofst = [409]int16{ /* 380 */ int16(1641), int16(1602), int16(1676), int16(1642), int16(1646), int16(1644), int16(1650), int16(1654), int16(1683), int16(1694), /* 390 */ int16(1707), int16(1711), int16(1712), int16(1714), int16(1643), int16(1647), int16(1652), int16(1698), int16(1695), int16(1696), /* 400 */ int16(1697), int16(1699), int16(1700), int16(1689), int16(1691), int16(1701), int16(1702), int16(1704), int16(1715), -} /* sqlite3.c:162386:20 */ +} /* sqlite3.c:162443:20 */ var yy_default = [574]uint16{ /* 0 */ uint16(1637), uint16(1637), uint16(1637), uint16(1466), uint16(1233), uint16(1344), uint16(1233), uint16(1233), uint16(1233), uint16(1466), /* 10 */ uint16(1466), uint16(1466), uint16(1233), uint16(1374), uint16(1374), uint16(1519), uint16(1266), uint16(1233), uint16(1233), uint16(1233), @@ -144079,7 +144110,7 @@ var yy_default = [574]uint16{ /* 550 */ uint16(1233), uint16(1233), uint16(1233), uint16(1233), uint16(1233), uint16(1233), uint16(1233), uint16(1233), uint16(1233), uint16(1233), /* 560 */ uint16(1233), uint16(1233), uint16(1233), uint16(1610), uint16(1325), uint16(1416), uint16(1233), uint16(1415), uint16(1419), uint16(1255), /* 570 */ uint16(1233), uint16(1245), uint16(1233), uint16(1233), -} /* sqlite3.c:162429:27 */ +} /* sqlite3.c:162486:27 */ //********* End of lemon-generated parsing tables **************************** // The next table maps tokens (terminal symbols) into fallback tokens. @@ -144281,7 +144312,7 @@ var yyFallback = [185]uint16{ uint16(0), // ERROR => nothing uint16(0), // SPACE => nothing uint16(0), // ILLEGAL => nothing -} /* sqlite3.c:162506:25 */ +} /* sqlite3.c:162563:25 */ // The following structure represents a single element of the // parser's stack. Information stored includes: @@ -144303,9 +144334,9 @@ type yyStackEntry = struct { Fmajor uint16 F__ccgo_pad1 [4]byte Fminor YYMINORTYPE -} /* sqlite3.c:162711:1 */ +} /* sqlite3.c:162768:1 */ -type YyStackEntry = yyStackEntry /* sqlite3.c:162718:29 */ +type YyStackEntry = yyStackEntry /* sqlite3.c:162775:29 */ // The state of the parser is completely contained in an instance of // the following structure @@ -144314,9 +144345,9 @@ type yyParser = struct { FpParse uintptr Fyystack [100]YyStackEntry FyystackEnd uintptr -} /* sqlite3.c:162722:1 */ +} /* sqlite3.c:162779:1 */ -type YyParser = yyParser /* sqlite3.c:162741:25 */ +type YyParser = yyParser /* sqlite3.c:162798:25 */ // #include @@ -144326,7 +144357,7 @@ type YyParser = yyParser /* sqlite3.c:162741:25 */ // grammar. // Initialize a new parser that has already been allocated. -func Xsqlite3ParserInit(tls *libc.TLS, yypRawParser uintptr, pParse uintptr) { /* sqlite3.c:163556:21: */ +func Xsqlite3ParserInit(tls *libc.TLS, yypRawParser uintptr, pParse uintptr) { /* sqlite3.c:163613:21: */ var yypParser uintptr = yypRawParser (*YyParser)(unsafe.Pointer(yypParser)).FpParse = pParse (*YyParser)(unsafe.Pointer(yypParser)).Fyytos = yypParser + 16 /* &.yystack */ @@ -144341,7 +144372,7 @@ func Xsqlite3ParserInit(tls *libc.TLS, yypRawParser uintptr, pParse uintptr) { / // a pointer to the value to be deleted. The code used to do the // deletions is derived from the %destructor and/or %token_destructor // directives of the input grammar. -func yy_destructor(tls *libc.TLS, yypParser uintptr, yymajor uint16, yypminor uintptr) { /* sqlite3.c:163614:13: */ +func yy_destructor(tls *libc.TLS, yypParser uintptr, yymajor uint16, yypminor uintptr) { /* sqlite3.c:163671:13: */ var pParse uintptr = (*YyParser)(unsafe.Pointer(yypParser)).FpParse switch int32(yymajor) { @@ -144500,7 +144531,7 @@ func yy_destructor(tls *libc.TLS, yypParser uintptr, yymajor uint16, yypminor ui // // If there is a destructor routine associated with the token which // is popped from the stack, then call it. -func yy_pop_parser_stack(tls *libc.TLS, pParser uintptr) { /* sqlite3.c:163739:13: */ +func yy_pop_parser_stack(tls *libc.TLS, pParser uintptr) { /* sqlite3.c:163796:13: */ var yytos uintptr yytos = libc.PostDecUintptr(&(*YyParser)(unsafe.Pointer(pParser)).Fyytos, 24) @@ -144508,7 +144539,7 @@ func yy_pop_parser_stack(tls *libc.TLS, pParser uintptr) { /* sqlite3.c:163739:1 } // Clear all secondary memory allocations from the parser -func Xsqlite3ParserFinalize(tls *libc.TLS, p uintptr) { /* sqlite3.c:163757:21: */ +func Xsqlite3ParserFinalize(tls *libc.TLS, p uintptr) { /* sqlite3.c:163814:21: */ var pParser uintptr = p for (*YyParser)(unsafe.Pointer(pParser)).Fyytos > pParser+16 { yy_pop_parser_stack(tls, pParser) @@ -144531,7 +144562,7 @@ func Xsqlite3ParserFinalize(tls *libc.TLS, p uintptr) { /* sqlite3.c:163757:21: // Find the appropriate action for a parser given the terminal // look-ahead token iLookAhead. -func yy_find_shift_action(tls *libc.TLS, iLookAhead uint16, stateno uint16) uint16 { /* sqlite3.c:163837:21: */ +func yy_find_shift_action(tls *libc.TLS, iLookAhead uint16, stateno uint16) uint16 { /* sqlite3.c:163894:21: */ var i int32 if int32(stateno) > YY_MAX_SHIFT { @@ -144571,7 +144602,7 @@ func yy_find_shift_action(tls *libc.TLS, iLookAhead uint16, stateno uint16) uint // Find the appropriate action for a parser given the non-terminal // look-ahead token iLookAhead. -func yy_find_reduce_action(tls *libc.TLS, stateno uint16, iLookAhead uint16) uint16 { /* sqlite3.c:163902:21: */ +func yy_find_reduce_action(tls *libc.TLS, stateno uint16, iLookAhead uint16) uint16 { /* sqlite3.c:163959:21: */ var i int32 i = int32(yy_reduce_ofst[stateno]) @@ -144582,7 +144613,7 @@ func yy_find_reduce_action(tls *libc.TLS, stateno uint16, iLookAhead uint16) uin } // The following routine is called if the stack overflows. -func yyStackOverflow(tls *libc.TLS, yypParser uintptr) { /* sqlite3.c:163931:13: */ +func yyStackOverflow(tls *libc.TLS, yypParser uintptr) { /* sqlite3.c:163988:13: */ var pParse uintptr = (*YyParser)(unsafe.Pointer(yypParser)).FpParse for (*YyParser)(unsafe.Pointer(yypParser)).Fyytos > yypParser+16 { @@ -144601,7 +144632,7 @@ func yyStackOverflow(tls *libc.TLS, yypParser uintptr) { /* sqlite3.c:163931:13: // Print tracing information for a SHIFT action // Perform a shift action. -func yy_shift(tls *libc.TLS, yypParser uintptr, yyNewState uint16, yyMajor uint16, yyMinor Token) { /* sqlite3.c:163974:13: */ +func yy_shift(tls *libc.TLS, yypParser uintptr, yyNewState uint16, yyMajor uint16, yyMinor Token) { /* sqlite3.c:164031:13: */ var yytos uintptr (*YyParser)(unsafe.Pointer(yypParser)).Fyytos += 24 if (*YyParser)(unsafe.Pointer(yypParser)).Fyytos > (*YyParser)(unsafe.Pointer(yypParser)).FyystackEnd { @@ -145024,7 +145055,7 @@ var yyRuleInfoLhs = [402]uint16{ uint16(303), // (399) anylist ::= anylist LP anylist RP uint16(303), // (400) anylist ::= anylist ANY uint16(266), // (401) with ::= -} /* sqlite3.c:164015:25 */ +} /* sqlite3.c:164072:25 */ // For rule J, yyRuleInfoNRhs[J] contains the negative of the number // of symbols on the right-hand side of that rule. @@ -145431,7 +145462,7 @@ var yyRuleInfoNRhs = [402]int8{ int8(-4), // (399) anylist ::= anylist LP anylist RP int8(-2), // (400) anylist ::= anylist ANY int8(0), // (401) with ::= -} /* sqlite3.c:164422:26 */ +} /* sqlite3.c:164479:26 */ // Forward Declaration @@ -145443,7 +145474,7 @@ var yyRuleInfoNRhs = [402]int8{ // if the lookahead token has already been consumed. As this procedure is // only called from one place, optimizing compilers will in-line it, which // means that the extra parameters have no performance impact. -func yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead int32, yyLookaheadToken Token, pParse uintptr) uint16 { /* sqlite3.c:164839:21: */ +func yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead int32, yyLookaheadToken Token, pParse uintptr) uint16 { /* sqlite3.c:164896:21: */ bp := tls.Alloc(144) defer tls.Free(144) @@ -147438,7 +147469,7 @@ func yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead in // The following code executes when the parse fails // The following code executes when a syntax error first occurs. -func yy_syntax_error(tls *libc.TLS, yypParser uintptr, yymajor int32, yyminor Token) { /* sqlite3.c:166395:13: */ +func yy_syntax_error(tls *libc.TLS, yypParser uintptr, yymajor int32, yyminor Token) { /* sqlite3.c:166452:13: */ bp := tls.Alloc(24) defer tls.Free(24) *(*Token)(unsafe.Pointer(bp + 8)) = yyminor @@ -147458,7 +147489,7 @@ func yy_syntax_error(tls *libc.TLS, yypParser uintptr, yymajor int32, yyminor To } // The following is executed when the parser accepts -func yy_accept(tls *libc.TLS, yypParser uintptr) { /* sqlite3.c:166419:13: */ +func yy_accept(tls *libc.TLS, yypParser uintptr) { /* sqlite3.c:166476:13: */ var pParse uintptr = (*YyParser)(unsafe.Pointer(yypParser)).FpParse @@ -147488,7 +147519,7 @@ func yy_accept(tls *libc.TLS, yypParser uintptr) { /* sqlite3.c:166419:13: */ // // Outputs: // None. -func Xsqlite3Parser(tls *libc.TLS, yyp uintptr, yymajor int32, yyminor Token) { /* sqlite3.c:166460:21: */ +func Xsqlite3Parser(tls *libc.TLS, yyp uintptr, yymajor int32, yyminor Token) { /* sqlite3.c:166517:21: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -147542,7 +147573,7 @@ func Xsqlite3Parser(tls *libc.TLS, yyp uintptr, yymajor int32, yyminor Token) { // Return the fallback token corresponding to canonical token iToken, or // 0 if iToken has no fallback. -func Xsqlite3ParserFallback(tls *libc.TLS, iToken int32) int32 { /* sqlite3.c:166677:20: */ +func Xsqlite3ParserFallback(tls *libc.TLS, iToken int32) int32 { /* sqlite3.c:166734:20: */ return int32(yyFallback[iToken]) } @@ -147593,7 +147624,7 @@ var aiClass = [256]uint8{ /* Dx */ uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), /* Ex */ uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(30), /* Fx */ uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), -} /* sqlite3.c:166749:28 */ +} /* sqlite3.c:166806:28 */ // The charMap() macro maps alphabetic characters (only) into their // lower-case ASCII equivalent. On ASCII machines, this is just @@ -147679,7 +147710,7 @@ var zKWText = [666]uint8{ uint8('W'), uint8('S'), uint8('U'), uint8('N'), uint8('B'), uint8('O'), uint8('U'), uint8('N'), uint8('D'), uint8('E'), uint8('D'), uint8('U'), uint8('N'), uint8('I'), uint8('O'), uint8('N'), uint8('U'), uint8('S'), uint8('I'), uint8('N'), uint8('G'), uint8('V'), uint8('A'), uint8('C'), uint8('U'), uint8('U'), uint8('M'), uint8('V'), uint8('I'), uint8('E'), uint8('W'), uint8('I'), uint8('N'), uint8('D'), uint8('O'), uint8('W'), uint8('B'), uint8('Y'), uint8('I'), uint8('N'), uint8('I'), uint8('T'), uint8('I'), uint8('A'), uint8('L'), uint8('L'), uint8('Y'), uint8('P'), uint8('R'), uint8('I'), uint8('M'), uint8('A'), uint8('R'), uint8('Y'), -} /* sqlite3.c:166865:19 */ +} /* sqlite3.c:166922:19 */ // aKWHash[i] is the hash value for the i-th keyword var aKWHash = [127]uint8{ uint8(84), uint8(92), uint8(134), uint8(82), uint8(105), uint8(29), uint8(0), uint8(0), uint8(94), uint8(0), uint8(85), uint8(72), uint8(0), @@ -147692,7 +147723,7 @@ var aKWHash = [127]uint8{ uint8(50), uint8(124), uint8(0), uint8(100), uint8(0), uint8(18), uint8(121), uint8(144), uint8(56), uint8(130), uint8(139), uint8(88), uint8(83), uint8(37), uint8(30), uint8(126), uint8(0), uint8(0), uint8(108), uint8(51), uint8(131), uint8(128), uint8(0), uint8(34), uint8(0), uint8(0), uint8(132), uint8(0), uint8(98), uint8(38), uint8(39), uint8(0), uint8(20), uint8(45), uint8(117), uint8(93), -} /* sqlite3.c:166905:28 */ +} /* sqlite3.c:166962:28 */ // aKWNext[] forms the hash collision chain. If aKWHash[i]==0 // then the i-th keyword has no more hash collisions. Otherwise, // the next keyword with the same hash is aKWHash[i]-1. @@ -147709,7 +147740,7 @@ var aKWNext = [147]uint8{ uint8(112), uint8(21), uint8(7), uint8(67), uint8(0), uint8(79), uint8(96), uint8(118), uint8(0), uint8(0), uint8(68), uint8(0), uint8(0), uint8(99), uint8(44), uint8(0), uint8(55), uint8(0), uint8(76), uint8(0), uint8(95), uint8(32), uint8(33), uint8(57), uint8(25), uint8(0), uint8(102), uint8(0), uint8(0), uint8(87), -} /* sqlite3.c:166920:28 */ +} /* sqlite3.c:166977:28 */ // aKWLen[i] is the length (in bytes) of the i-th keyword var aKWLen = [147]uint8{ uint8(7), uint8(7), uint8(5), uint8(4), uint8(6), uint8(4), uint8(5), uint8(3), uint8(6), uint8(7), uint8(3), uint8(6), uint8(6), @@ -147724,7 +147755,7 @@ var aKWLen = [147]uint8{ uint8(4), uint8(4), uint8(6), uint8(7), uint8(5), uint8(9), uint8(4), uint8(4), uint8(5), uint8(2), uint8(5), uint8(8), uint8(6), uint8(4), uint8(9), uint8(5), uint8(8), uint8(4), uint8(3), uint8(9), uint8(5), uint8(5), uint8(6), uint8(4), uint8(6), uint8(2), uint8(2), uint8(9), uint8(3), uint8(7), -} /* sqlite3.c:166935:28 */ +} /* sqlite3.c:166992:28 */ // aKWOffset[i] is the index into zKWText[] of the start of // the text for the i-th keyword. var aKWOffset = [147]uint16{ @@ -147740,7 +147771,7 @@ var aKWOffset = [147]uint16{ uint16(520), uint16(523), uint16(527), uint16(532), uint16(539), uint16(544), uint16(553), uint16(557), uint16(560), uint16(565), uint16(567), uint16(571), uint16(579), uint16(585), uint16(588), uint16(597), uint16(602), uint16(610), uint16(610), uint16(614), uint16(623), uint16(628), uint16(633), uint16(639), uint16(642), uint16(645), uint16(648), uint16(650), uint16(655), uint16(659), -} /* sqlite3.c:166951:33 */ +} /* sqlite3.c:167008:33 */ // aKWCode[i] is the parser symbol code for the i-th keyword var aKWCode = [147]uint8{ uint8(TK_REINDEX), uint8(TK_INDEXED), uint8(TK_INDEX), uint8(TK_DESC), uint8(TK_ESCAPE), @@ -147773,7 +147804,7 @@ var aKWCode = [147]uint8{ uint8(TK_ROW), uint8(TK_UNBOUNDED), uint8(TK_UNION), uint8(TK_USING), uint8(TK_VACUUM), uint8(TK_VIEW), uint8(TK_WINDOW), uint8(TK_DO), uint8(TK_BY), uint8(TK_INITIALLY), uint8(TK_ALL), uint8(TK_PRIMARY), -} /* sqlite3.c:166966:28 */ +} /* sqlite3.c:167023:28 */ // Hash table decoded: // 0: INSERT @@ -147906,7 +147937,7 @@ var aKWCode = [147]uint8{ // Check to see if z[0..n-1] is a keyword. If it is, write the // parser symbol code for that keyword into *pType. Always // return the integer n (the length of the token). -func keywordCode(tls *libc.TLS, z uintptr, n int32, pType uintptr) int32 { /* sqlite3.c:167130:12: */ +func keywordCode(tls *libc.TLS, z uintptr, n int32, pType uintptr) int32 { /* sqlite3.c:167187:12: */ var i int32 var j int32 var zKW uintptr @@ -148084,7 +148115,7 @@ func keywordCode(tls *libc.TLS, z uintptr, n int32, pType uintptr) int32 { /* sq return n } -func Xsqlite3KeywordCode(tls *libc.TLS, z uintptr, n int32) int32 { /* sqlite3.c:167304:20: */ +func Xsqlite3KeywordCode(tls *libc.TLS, z uintptr, n int32) int32 { /* sqlite3.c:167361:20: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -148093,7 +148124,7 @@ func Xsqlite3KeywordCode(tls *libc.TLS, z uintptr, n int32) int32 { /* sqlite3.c return *(*int32)(unsafe.Pointer(bp /* id */)) } -func Xsqlite3_keyword_name(tls *libc.TLS, i int32, pzName uintptr, pnName uintptr) int32 { /* sqlite3.c:167310:16: */ +func Xsqlite3_keyword_name(tls *libc.TLS, i int32, pzName uintptr, pnName uintptr) int32 { /* sqlite3.c:167367:16: */ if i < 0 || i >= SQLITE_N_KEYWORD { return SQLITE_ERROR } @@ -148102,11 +148133,11 @@ func Xsqlite3_keyword_name(tls *libc.TLS, i int32, pzName uintptr, pnName uintpt return SQLITE_OK } -func Xsqlite3_keyword_count(tls *libc.TLS) int32 { /* sqlite3.c:167316:16: */ +func Xsqlite3_keyword_count(tls *libc.TLS) int32 { /* sqlite3.c:167373:16: */ return SQLITE_N_KEYWORD } -func Xsqlite3_keyword_check(tls *libc.TLS, zName uintptr, nName int32) int32 { /* sqlite3.c:167317:16: */ +func Xsqlite3_keyword_check(tls *libc.TLS, zName uintptr, nName int32) int32 { /* sqlite3.c:167374:16: */ return libc.Bool32(TK_ID != Xsqlite3KeywordCode(tls, zName, nName)) } @@ -148129,13 +148160,13 @@ func Xsqlite3_keyword_check(tls *libc.TLS, zName uintptr, nName int32) int32 { / // But the feature is undocumented. // Make the IdChar function accessible from ctime.c and alter.c -func Xsqlite3IsIdChar(tls *libc.TLS, c U8) int32 { /* sqlite3.c:167364:20: */ +func Xsqlite3IsIdChar(tls *libc.TLS, c U8) int32 { /* sqlite3.c:167421:20: */ return libc.Bool32(int32(Xsqlite3CtypeMap[c])&0x46 != 0) } // Return the id of the next token in string (*pz). Before returning, set // (*pz) to point to the byte following the parsed token. -func getToken(tls *libc.TLS, pz uintptr) int32 { /* sqlite3.c:167371:12: */ +func getToken(tls *libc.TLS, pz uintptr) int32 { /* sqlite3.c:167428:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -148185,7 +148216,7 @@ func getToken(tls *libc.TLS, pz uintptr) int32 { /* sqlite3.c:167371:12: */ // // * the previous token was TK_RP, and // * the next token is TK_LP. -func analyzeWindowKeyword(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:167420:12: */ +func analyzeWindowKeyword(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:167477:12: */ bp := tls.Alloc(8) defer tls.Free(8) *(*uintptr)(unsafe.Pointer(bp)) = z @@ -148202,7 +148233,7 @@ func analyzeWindowKeyword(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:167420: return TK_WINDOW } -func analyzeOverKeyword(tls *libc.TLS, z uintptr, lastToken int32) int32 { /* sqlite3.c:167428:12: */ +func analyzeOverKeyword(tls *libc.TLS, z uintptr, lastToken int32) int32 { /* sqlite3.c:167485:12: */ bp := tls.Alloc(8) defer tls.Free(8) *(*uintptr)(unsafe.Pointer(bp)) = z @@ -148216,7 +148247,7 @@ func analyzeOverKeyword(tls *libc.TLS, z uintptr, lastToken int32) int32 { /* sq return TK_ID } -func analyzeFilterKeyword(tls *libc.TLS, z uintptr, lastToken int32) int32 { /* sqlite3.c:167435:12: */ +func analyzeFilterKeyword(tls *libc.TLS, z uintptr, lastToken int32) int32 { /* sqlite3.c:167492:12: */ bp := tls.Alloc(8) defer tls.Free(8) *(*uintptr)(unsafe.Pointer(bp)) = z @@ -148229,7 +148260,7 @@ func analyzeFilterKeyword(tls *libc.TLS, z uintptr, lastToken int32) int32 { /* // Return the length (in bytes) of the token that begins at z[0]. // Store the token type in *tokenType before returning. -func Xsqlite3GetToken(tls *libc.TLS, z uintptr, tokenType uintptr) int32 { /* sqlite3.c:167447:20: */ +func Xsqlite3GetToken(tls *libc.TLS, z uintptr, tokenType uintptr) int32 { /* sqlite3.c:167504:20: */ var i int32 var c int32 switch int32(aiClass[*(*uint8)(unsafe.Pointer(z))]) { // Switch on the character-class of the first byte @@ -148591,7 +148622,7 @@ func Xsqlite3GetToken(tls *libc.TLS, z uintptr, tokenType uintptr) int32 { /* sq } // Run the parser on the given SQL string. -func Xsqlite3RunParser(tls *libc.TLS, pParse uintptr, zSql uintptr) int32 { /* sqlite3.c:167741:20: */ +func Xsqlite3RunParser(tls *libc.TLS, pParse uintptr, zSql uintptr) int32 { /* sqlite3.c:167798:20: */ bp := tls.Alloc(2480) defer tls.Free(2480) @@ -148781,7 +148812,7 @@ func Xsqlite3RunParser(tls *libc.TLS, pParse uintptr, zSql uintptr) int32 { /* s // If we compile with SQLITE_OMIT_TRIGGER, all of the computation needed // to recognize the end of a trigger can be omitted. All we have to do // is look for a semicolon that is not part of an string or comment. -func Xsqlite3_complete(tls *libc.TLS, zSql uintptr) int32 { /* sqlite3.c:168133:16: */ +func Xsqlite3_complete(tls *libc.TLS, zSql uintptr) int32 { /* sqlite3.c:168190:16: */ var state U8 = U8(0) // Current state, using numbers defined in header comment var token U8 @@ -148958,12 +148989,12 @@ var trans = [8][8]U8{ /* 5 TRIGGER: */ {U8(6), U8(5), U8(5), U8(5), U8(5), U8(5), U8(5), U8(5)}, /* 6 SEMI: */ {U8(6), U8(6), U8(5), U8(5), U8(5), U8(5), U8(5), U8(7)}, /* 7 END: */ {U8(1), U8(7), U8(5), U8(5), U8(5), U8(5), U8(5), U8(5)}, -} /* sqlite3.c:168141:19 */ +} /* sqlite3.c:168198:19 */ // This routine is the same as the sqlite3_complete() routine described // above, except that the parameter is required to be UTF-16 encoded, not // UTF-8. -func Xsqlite3_complete16(tls *libc.TLS, zSql uintptr) int32 { /* sqlite3.c:168298:16: */ +func Xsqlite3_complete16(tls *libc.TLS, zSql uintptr) int32 { /* sqlite3.c:168355:16: */ var pVal uintptr var zSql8 uintptr var rc int32 @@ -148990,7 +149021,7 @@ func Xsqlite3_complete16(tls *libc.TLS, zSql uintptr) int32 { /* sqlite3.c:16829 // This is an extension initializer that is a no-op and always // succeeds, except that it fails if the fault-simulation is set // to 500. -func sqlite3TestExtInit(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:168450:12: */ +func sqlite3TestExtInit(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:168507:12: */ _ = db return Xsqlite3FaultSim(tls, 500) } @@ -149002,11 +149033,11 @@ var sqlite3BuiltinExtensions = [4]uintptr{ 0, 0, 0, -} /* sqlite3.c:168477:12 */ +} /* sqlite3.c:168534:12 */ // IMPLEMENTATION-OF: R-53536-42575 The sqlite3_libversion() function returns // a pointer to the to the sqlite3_version[] string constant. -func Xsqlite3_libversion(tls *libc.TLS) uintptr { /* sqlite3.c:168524:23: */ +func Xsqlite3_libversion(tls *libc.TLS) uintptr { /* sqlite3.c:168581:23: */ return uintptr(unsafe.Pointer(&Xsqlite3_version)) } @@ -149019,14 +149050,14 @@ func Xsqlite3_libversion(tls *libc.TLS) uintptr { /* sqlite3.c:168524:23: */ // IMPLEMENTATION-OF: R-35210-63508 The sqlite3_libversion_number() function // returns an integer equal to SQLITE_VERSION_NUMBER. -func Xsqlite3_libversion_number(tls *libc.TLS) int32 { /* sqlite3.c:168537:16: */ +func Xsqlite3_libversion_number(tls *libc.TLS) int32 { /* sqlite3.c:168594:16: */ return SQLITE_VERSION_NUMBER } // IMPLEMENTATION-OF: R-20790-14025 The sqlite3_threadsafe() function returns // zero if and only if SQLite was compiled with mutexing code omitted due to // the SQLITE_THREADSAFE compile-time option being set to 0. -func Xsqlite3_threadsafe(tls *libc.TLS) int32 { /* sqlite3.c:168543:16: */ +func Xsqlite3_threadsafe(tls *libc.TLS) int32 { /* sqlite3.c:168600:16: */ return SQLITE_THREADSAFE } @@ -149039,14 +149070,14 @@ func Xsqlite3_threadsafe(tls *libc.TLS) int32 { /* sqlite3.c:168543:16: */ // temporary files. // // See also the "PRAGMA temp_store_directory" SQL command. -var Xsqlite3_temp_directory uintptr = uintptr(0) /* sqlite3.c:168574:17 */ +var Xsqlite3_temp_directory uintptr = uintptr(0) /* sqlite3.c:168631:17 */ // If the following global variable points to a string which is the // name of a directory, then that directory will be used to store // all database files specified with a relative pathname. // // See also the "PRAGMA data_store_directory" SQL command. -var Xsqlite3_data_directory uintptr = uintptr(0) /* sqlite3.c:168583:17 */ +var Xsqlite3_data_directory uintptr = uintptr(0) /* sqlite3.c:168640:17 */ // Initialize SQLite. // @@ -149077,7 +149108,7 @@ var Xsqlite3_data_directory uintptr = uintptr(0) /* sqlite3.c:168583:17 */ // // * Recursive calls to this routine from thread X return immediately // without blocking. -func Xsqlite3_initialize(tls *libc.TLS) int32 { /* sqlite3.c:168616:16: */ +func Xsqlite3_initialize(tls *libc.TLS) int32 { /* sqlite3.c:168673:16: */ var pMainMtx uintptr // The main static mutex var rc int32 // Result code @@ -149203,7 +149234,7 @@ func Xsqlite3_initialize(tls *libc.TLS) int32 { /* sqlite3.c:168616:16: */ // routine is not threadsafe. But it is safe to invoke this routine // on when SQLite is already shut down. If SQLite is already shut down // when this routine is invoked, then this routine is a harmless no-op. -func Xsqlite3_shutdown(tls *libc.TLS) int32 { /* sqlite3.c:168791:16: */ +func Xsqlite3_shutdown(tls *libc.TLS) int32 { /* sqlite3.c:168848:16: */ if Xsqlite3Config.FisInit != 0 { Xsqlite3_os_end(tls) @@ -149242,7 +149273,7 @@ func Xsqlite3_shutdown(tls *libc.TLS) int32 { /* sqlite3.c:168791:16: */ // database connections or memory allocations. This routine is not // threadsafe. Failure to heed these warnings can lead to unpredictable // behavior. -func Xsqlite3_config(tls *libc.TLS, op int32, va uintptr) int32 { /* sqlite3.c:168845:16: */ +func Xsqlite3_config(tls *libc.TLS, op int32, va uintptr) int32 { /* sqlite3.c:168902:16: */ var ap Va_list _ = ap var rc int32 = SQLITE_OK @@ -149250,7 +149281,7 @@ func Xsqlite3_config(tls *libc.TLS, op int32, va uintptr) int32 { /* sqlite3.c:1 // sqlite3_config() shall return SQLITE_MISUSE if it is invoked while // the SQLite library is in use. if Xsqlite3Config.FisInit != 0 { - return Xsqlite3MisuseError(tls, 168851) + return Xsqlite3MisuseError(tls, 168908) } ap = va @@ -149520,7 +149551,7 @@ func Xsqlite3_config(tls *libc.TLS, op int32, va uintptr) int32 { /* sqlite3.c:1 // space for the lookaside memory is obtained from sqlite3_malloc(). // If pStart is not NULL then it is sz*cnt bytes of memory to use for // the lookaside memory. -func setupLookaside(tls *libc.TLS, db uintptr, pBuf uintptr, sz int32, cnt int32) int32 { /* sqlite3.c:169163:12: */ +func setupLookaside(tls *libc.TLS, db uintptr, pBuf uintptr, sz int32, cnt int32) int32 { /* sqlite3.c:169220:12: */ var pStart uintptr var szAlloc Sqlite3_int64 = Sqlite3_int64(sz) * Sqlite3_int64(cnt) var nBig int32 // Number of full-size slots @@ -149618,13 +149649,13 @@ func setupLookaside(tls *libc.TLS, db uintptr, pBuf uintptr, sz int32, cnt int32 } // Return the mutex associated with a database connection. -func Xsqlite3_db_mutex(tls *libc.TLS, db uintptr) uintptr { /* sqlite3.c:169263:26: */ +func Xsqlite3_db_mutex(tls *libc.TLS, db uintptr) uintptr { /* sqlite3.c:169320:26: */ return (*Sqlite3)(unsafe.Pointer(db)).Fmutex } // Free up as much memory as we can from the given database // connection. -func Xsqlite3_db_release_memory(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:169277:16: */ +func Xsqlite3_db_release_memory(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:169334:16: */ var i int32 Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) @@ -149643,7 +149674,7 @@ func Xsqlite3_db_release_memory(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c: // Flush any dirty pages in the pager-cache for any attached database // to disk. -func Xsqlite3_db_cacheflush(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:169301:16: */ +func Xsqlite3_db_cacheflush(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:169358:16: */ var i int32 var rc int32 = SQLITE_OK var bSeenBusy int32 = 0 @@ -149672,7 +149703,7 @@ func Xsqlite3_db_cacheflush(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:1693 } // Configuration settings for an individual database connection -func Xsqlite3_db_config(tls *libc.TLS, db uintptr, op int32, va uintptr) int32 { /* sqlite3.c:169330:16: */ +func Xsqlite3_db_config(tls *libc.TLS, db uintptr, op int32, va uintptr) int32 { /* sqlite3.c:169387:16: */ var ap Va_list _ = ap var rc int32 @@ -149751,11 +149782,11 @@ var aFlagOp = [16]struct { {Fop: SQLITE_DBCONFIG_DQS_DML, Fmask: U32(SQLITE_DqsDML)}, {Fop: SQLITE_DBCONFIG_LEGACY_FILE_FORMAT, Fmask: U32(SQLITE_LegacyFileFmt)}, {Fop: SQLITE_DBCONFIG_TRUSTED_SCHEMA, Fmask: U32(SQLITE_TrustedSchema)}, -} /* sqlite3.c:169353:9 */ +} /* sqlite3.c:169410:9 */ // This is the default collating function named "BINARY" which is always // available. -func binCollFunc(tls *libc.TLS, NotUsed uintptr, nKey1 int32, pKey1 uintptr, nKey2 int32, pKey2 uintptr) int32 { /* sqlite3.c:169405:12: */ +func binCollFunc(tls *libc.TLS, NotUsed uintptr, nKey1 int32, pKey1 uintptr, nKey2 int32, pKey2 uintptr) int32 { /* sqlite3.c:169462:12: */ var rc int32 var n int32 _ = NotUsed @@ -149777,7 +149808,7 @@ func binCollFunc(tls *libc.TLS, NotUsed uintptr, nKey1 int32, pKey1 uintptr, nKe // This is the collating function named "RTRIM" which is always // available. Ignore trailing spaces. -func rtrimCollFunc(tls *libc.TLS, pUser uintptr, nKey1 int32, pKey1 uintptr, nKey2 int32, pKey2 uintptr) int32 { /* sqlite3.c:169428:12: */ +func rtrimCollFunc(tls *libc.TLS, pUser uintptr, nKey1 int32, pKey1 uintptr, nKey2 int32, pKey2 uintptr) int32 { /* sqlite3.c:169485:12: */ var pK1 uintptr = pKey1 var pK2 uintptr = pKey2 for nKey1 != 0 && int32(*(*U8)(unsafe.Pointer(pK1 + uintptr(nKey1-1)))) == ' ' { @@ -149790,7 +149821,7 @@ func rtrimCollFunc(tls *libc.TLS, pUser uintptr, nKey1 int32, pKey1 uintptr, nKe } // Return true if CollSeq is the default built-in BINARY. -func Xsqlite3IsBinary(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:169443:20: */ +func Xsqlite3IsBinary(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:169500:20: */ return libc.Bool32(p == uintptr(0) || (*CollSeq)(unsafe.Pointer(p)).FxCmp == *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32 @@ -149804,7 +149835,7 @@ func Xsqlite3IsBinary(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:169443:20: // extends only to the 26 characters used in the English language. // // At the moment there is only a UTF-8 implementation. -func nocaseCollatingFunc(tls *libc.TLS, NotUsed uintptr, nKey1 int32, pKey1 uintptr, nKey2 int32, pKey2 uintptr) int32 { /* sqlite3.c:169457:12: */ +func nocaseCollatingFunc(tls *libc.TLS, NotUsed uintptr, nKey1 int32, pKey1 uintptr, nKey2 int32, pKey2 uintptr) int32 { /* sqlite3.c:169514:12: */ var r int32 = Xsqlite3_strnicmp(tls, pKey1, pKey2, func() int32 { if nKey1 < nKey2 { @@ -149820,39 +149851,39 @@ func nocaseCollatingFunc(tls *libc.TLS, NotUsed uintptr, nKey1 int32, pKey1 uint } // Return the ROWID of the most recent insert -func Xsqlite3_last_insert_rowid(tls *libc.TLS, db uintptr) Sqlite_int64 { /* sqlite3.c:169474:25: */ +func Xsqlite3_last_insert_rowid(tls *libc.TLS, db uintptr) Sqlite_int64 { /* sqlite3.c:169531:25: */ return (*Sqlite3)(unsafe.Pointer(db)).FlastRowid } // Set the value returned by the sqlite3_last_insert_rowid() API function. -func Xsqlite3_set_last_insert_rowid(tls *libc.TLS, db uintptr, iRowid Sqlite3_int64) { /* sqlite3.c:169487:17: */ +func Xsqlite3_set_last_insert_rowid(tls *libc.TLS, db uintptr, iRowid Sqlite3_int64) { /* sqlite3.c:169544:17: */ Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) (*Sqlite3)(unsafe.Pointer(db)).FlastRowid = iRowid Xsqlite3_mutex_leave(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) } // Return the number of changes in the most recent call to sqlite3_exec(). -func Xsqlite3_changes64(tls *libc.TLS, db uintptr) Sqlite3_int64 { /* sqlite3.c:169502:26: */ +func Xsqlite3_changes64(tls *libc.TLS, db uintptr) Sqlite3_int64 { /* sqlite3.c:169559:26: */ return (*Sqlite3)(unsafe.Pointer(db)).FnChange } -func Xsqlite3_changes(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:169511:16: */ +func Xsqlite3_changes(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:169568:16: */ return int32(Xsqlite3_changes64(tls, db)) } // Return the number of changes since the database handle was opened. -func Xsqlite3_total_changes64(tls *libc.TLS, db uintptr) Sqlite3_int64 { /* sqlite3.c:169518:26: */ +func Xsqlite3_total_changes64(tls *libc.TLS, db uintptr) Sqlite3_int64 { /* sqlite3.c:169575:26: */ return (*Sqlite3)(unsafe.Pointer(db)).FnTotalChange } -func Xsqlite3_total_changes(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:169527:16: */ +func Xsqlite3_total_changes(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:169584:16: */ return int32(Xsqlite3_total_changes64(tls, db)) } // Close all open savepoints. This function only manipulates fields of the // database handle object, it does not close any savepoints that may be open // at the b-tree/pager level. -func Xsqlite3CloseSavepoints(tls *libc.TLS, db uintptr) { /* sqlite3.c:169536:21: */ +func Xsqlite3CloseSavepoints(tls *libc.TLS, db uintptr) { /* sqlite3.c:169593:21: */ for (*Sqlite3)(unsafe.Pointer(db)).FpSavepoint != 0 { var pTmp uintptr = (*Sqlite3)(unsafe.Pointer(db)).FpSavepoint (*Sqlite3)(unsafe.Pointer(db)).FpSavepoint = (*Savepoint)(unsafe.Pointer(pTmp)).FpNext @@ -149867,7 +149898,7 @@ func Xsqlite3CloseSavepoints(tls *libc.TLS, db uintptr) { /* sqlite3.c:169536:21 // if this is not the last copy of the function, do not invoke it. Multiple // copies of a single function are created when create_function() is called // with SQLITE_ANY as the encoding. -func functionDestroy(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:169553:13: */ +func functionDestroy(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:169610:13: */ var pDestructor uintptr pDestructor = *(*uintptr)(unsafe.Pointer(p + 64)) @@ -149882,7 +149913,7 @@ func functionDestroy(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:169553 // Disconnect all sqlite3_vtab objects that belong to database connection // db. This is called when db is being closed. -func disconnectAllVtab(tls *libc.TLS, db uintptr) { /* sqlite3.c:169570:13: */ +func disconnectAllVtab(tls *libc.TLS, db uintptr) { /* sqlite3.c:169627:13: */ var i int32 var p uintptr Xsqlite3BtreeEnterAll(tls, db) @@ -149909,7 +149940,7 @@ func disconnectAllVtab(tls *libc.TLS, db uintptr) { /* sqlite3.c:169570:13: */ // Return TRUE if database connection db has unfinalized prepared // statements or unfinished sqlite3_backup objects. -func connectionIsBusy(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:169601:12: */ +func connectionIsBusy(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:169658:12: */ var j int32 if (*Sqlite3)(unsafe.Pointer(db)).FpVdbe != 0 { @@ -149925,14 +149956,14 @@ func connectionIsBusy(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:169601:12: } // Close an existing SQLite database -func sqlite3Close(tls *libc.TLS, db uintptr, forceZombie int32) int32 { /* sqlite3.c:169615:12: */ +func sqlite3Close(tls *libc.TLS, db uintptr, forceZombie int32) int32 { /* sqlite3.c:169672:12: */ if !(db != 0) { // EVIDENCE-OF: R-63257-11740 Calling sqlite3_close() or // sqlite3_close_v2() with a NULL pointer argument is a harmless no-op. return SQLITE_OK } if !(Xsqlite3SafetyCheckSickOrOk(tls, db) != 0) { - return Xsqlite3MisuseError(tls, 169622) + return Xsqlite3MisuseError(tls, 169679) } Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) if int32((*Sqlite3)(unsafe.Pointer(db)).FmTrace)&SQLITE_TRACE_CLOSE != 0 { @@ -149969,7 +150000,7 @@ func sqlite3Close(tls *libc.TLS, db uintptr, forceZombie int32) int32 { /* sqlit // Return the transaction state for a single databse, or the maximum // transaction state over all attached databases if zSchema is null. -func Xsqlite3_txn_state(tls *libc.TLS, db uintptr, zSchema uintptr) int32 { /* sqlite3.c:169669:16: */ +func Xsqlite3_txn_state(tls *libc.TLS, db uintptr, zSchema uintptr) int32 { /* sqlite3.c:169726:16: */ var iDb int32 var nDb int32 var iTxn int32 = -1 @@ -150006,11 +150037,11 @@ func Xsqlite3_txn_state(tls *libc.TLS, db uintptr, zSchema uintptr) int32 { /* s // version forces the connection to become a zombie if there are // unclosed resources, and arranges for deallocation when the last // prepare statement or sqlite3_backup closes. -func Xsqlite3_close(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:169704:16: */ +func Xsqlite3_close(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:169761:16: */ return sqlite3Close(tls, db, 0) } -func Xsqlite3_close_v2(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:169705:16: */ +func Xsqlite3_close_v2(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:169762:16: */ return sqlite3Close(tls, db, 1) } @@ -150020,7 +150051,7 @@ func Xsqlite3_close_v2(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:169705:16 // has been a prior call to sqlite3_close(db) or sqlite3_close_v2(db)) and // every sqlite3_stmt has now been finalized and every sqlite3_backup has // finished, then free all resources. -func Xsqlite3LeaveMutexAndCloseZombie(tls *libc.TLS, db uintptr) { /* sqlite3.c:169716:21: */ +func Xsqlite3LeaveMutexAndCloseZombie(tls *libc.TLS, db uintptr) { /* sqlite3.c:169773:21: */ var i uintptr // Hash table iterator var j int32 @@ -150130,7 +150161,7 @@ func Xsqlite3LeaveMutexAndCloseZombie(tls *libc.TLS, db uintptr) { /* sqlite3.c: // breaker") and made to return tripCode if there are any further // attempts to use that cursor. Read cursors remain open and valid // but are "saved" in case the table pages are moved around. -func Xsqlite3RollbackAll(tls *libc.TLS, db uintptr, tripCode int32) { /* sqlite3.c:169839:21: */ +func Xsqlite3RollbackAll(tls *libc.TLS, db uintptr, tripCode int32) { /* sqlite3.c:169896:21: */ var i int32 var inTrans int32 = 0 var schemaChange int32 @@ -150180,7 +150211,7 @@ func Xsqlite3RollbackAll(tls *libc.TLS, db uintptr, tripCode int32) { /* sqlite3 // Return a static string that describes the kind of error specified in the // argument. -func Xsqlite3ErrStr(tls *libc.TLS, rc int32) uintptr { /* sqlite3.c:170000:27: */ +func Xsqlite3ErrStr(tls *libc.TLS, rc int32) uintptr { /* sqlite3.c:170057:27: */ var zErr uintptr = ts + 23269 /* "unknown error" */ switch rc { case SQLITE_ABORT | int32(2)<<8: @@ -150244,7 +150275,7 @@ var aMsg = [29]uintptr{ ts + 23765, ts + 23788, ts + 23809, -} /* sqlite3.c:170001:20 */ +} /* sqlite3.c:170058:20 */ // This routine implements a busy callback that sleeps and tries // again until a timeout value is reached. The timeout value is @@ -150253,7 +150284,7 @@ var aMsg = [29]uintptr{ // // Return non-zero to retry the lock. Return zero to stop trying // and cause SQLite to return SQLITE_BUSY. -func sqliteDefaultBusyCallback(tls *libc.TLS, ptr uintptr, count int32) int32 { /* sqlite3.c:170070:12: */ +func sqliteDefaultBusyCallback(tls *libc.TLS, ptr uintptr, count int32) int32 { /* sqlite3.c:170127:12: */ var db uintptr = ptr var tmout int32 = (*Sqlite3)(unsafe.Pointer(db)).FbusyTimeout var delay int32 @@ -150276,8 +150307,8 @@ func sqliteDefaultBusyCallback(tls *libc.TLS, ptr uintptr, count int32) int32 { return 1 } -var delays = [12]U8{U8(1), U8(2), U8(5), U8(10), U8(15), U8(20), U8(25), U8(25), U8(25), U8(50), U8(50), U8(100)} /* sqlite3.c:170077:19 */ -var totals = [12]U8{U8(0), U8(1), U8(3), U8(8), U8(18), U8(33), U8(53), U8(78), U8(103), U8(128), U8(178), U8(228)} /* sqlite3.c:170079:19 */ +var delays = [12]U8{U8(1), U8(2), U8(5), U8(10), U8(15), U8(20), U8(25), U8(25), U8(25), U8(50), U8(50), U8(100)} /* sqlite3.c:170134:19 */ +var totals = [12]U8{U8(0), U8(1), U8(3), U8(8), U8(18), U8(33), U8(53), U8(78), U8(103), U8(128), U8(178), U8(228)} /* sqlite3.c:170136:19 */ // Invoke the given busy handler. // @@ -150286,7 +150317,7 @@ var totals = [12]U8{U8(0), U8(1), U8(3), U8(8), U8(18), U8(33), U8(53), U8(78), // // If this routine returns non-zero, the lock is retried. If it // returns 0, the operation aborts with an SQLITE_BUSY error. -func Xsqlite3InvokeBusyHandler(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:170122:20: */ +func Xsqlite3InvokeBusyHandler(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:170179:20: */ var rc int32 if (*BusyHandler)(unsafe.Pointer(p)).FxBusyHandler == uintptr(0) || (*BusyHandler)(unsafe.Pointer(p)).FnBusy < 0 { return 0 @@ -150304,7 +150335,7 @@ func Xsqlite3InvokeBusyHandler(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:17 // This routine sets the busy callback for an Sqlite database to the // given callback function with the given argument. -func Xsqlite3_busy_handler(tls *libc.TLS, db uintptr, xBusy uintptr, pArg uintptr) int32 { /* sqlite3.c:170138:16: */ +func Xsqlite3_busy_handler(tls *libc.TLS, db uintptr, xBusy uintptr, pArg uintptr) int32 { /* sqlite3.c:170195:16: */ Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) (*Sqlite3)(unsafe.Pointer(db)).FbusyHandler.FxBusyHandler = xBusy (*Sqlite3)(unsafe.Pointer(db)).FbusyHandler.FpBusyArg = pArg @@ -150317,7 +150348,7 @@ func Xsqlite3_busy_handler(tls *libc.TLS, db uintptr, xBusy uintptr, pArg uintpt // This routine sets the progress callback for an Sqlite database to the // given callback function with the given argument. The progress callback will // be invoked every nOps opcodes. -func Xsqlite3_progress_handler(tls *libc.TLS, db uintptr, nOps int32, xProgress uintptr, pArg uintptr) { /* sqlite3.c:170161:17: */ +func Xsqlite3_progress_handler(tls *libc.TLS, db uintptr, nOps int32, xProgress uintptr, pArg uintptr) { /* sqlite3.c:170218:17: */ Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) if nOps > 0 { (*Sqlite3)(unsafe.Pointer(db)).FxProgress = xProgress @@ -150333,7 +150364,7 @@ func Xsqlite3_progress_handler(tls *libc.TLS, db uintptr, nOps int32, xProgress // This routine installs a default busy handler that waits for the // specified number of milliseconds before returning 0. -func Xsqlite3_busy_timeout(tls *libc.TLS, db uintptr, ms int32) int32 { /* sqlite3.c:170192:16: */ +func Xsqlite3_busy_timeout(tls *libc.TLS, db uintptr, ms int32) int32 { /* sqlite3.c:170249:16: */ if ms > 0 { Xsqlite3_busy_handler(tls, db, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32) int32 @@ -150347,7 +150378,7 @@ func Xsqlite3_busy_timeout(tls *libc.TLS, db uintptr, ms int32) int32 { /* sqlit } // Cause any pending operation to stop at its earliest opportunity. -func Xsqlite3_interrupt(tls *libc.TLS, db uintptr) { /* sqlite3.c:170209:17: */ +func Xsqlite3_interrupt(tls *libc.TLS, db uintptr) { /* sqlite3.c:170266:17: */ libc.AtomicStoreNInt32(db+432, int32(1), 0) } @@ -150355,7 +150386,7 @@ func Xsqlite3_interrupt(tls *libc.TLS, db uintptr) { /* sqlite3.c:170209:17: */ // that it is designed to be called by internal code. The difference is // that if a malloc() fails in sqlite3_create_function(), an error code // is returned and the mallocFailed flag cleared. -func Xsqlite3CreateFunc(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) int32 { /* sqlite3.c:170226:20: */ +func Xsqlite3CreateFunc(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) int32 { /* sqlite3.c:170283:20: */ var p uintptr var extraFlags int32 @@ -150365,7 +150396,7 @@ func Xsqlite3CreateFunc(tls *libc.TLS, db uintptr, zFunctionName uintptr, nArg i libc.Bool32(xValue == uintptr(0)) != libc.Bool32(xInverse == uintptr(0)) || (nArg < -1 || nArg > SQLITE_MAX_FUNCTION_ARG) || 255 < Xsqlite3Strlen30(tls, zFunctionName) { - return Xsqlite3MisuseError(tls, 170251) + return Xsqlite3MisuseError(tls, 170308) } extraFlags = enc & (SQLITE_DETERMINISTIC | SQLITE_DIRECTONLY | SQLITE_SUBTYPE | SQLITE_INNOCUOUS) @@ -150470,7 +150501,7 @@ func Xsqlite3CreateFunc(tls *libc.TLS, db uintptr, zFunctionName uintptr, nArg i // sqlite3_create_function() // 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) int32 { /* sqlite3.c:170360:12: */ +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) int32 { /* sqlite3.c:170417:12: */ var rc int32 var pArg uintptr rc = SQLITE_ERROR @@ -150512,22 +150543,22 @@ out: } // 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) int32 { /* sqlite3.c:170411:16: */ +func Xsqlite3_create_function(tls *libc.TLS, db uintptr, zFunc uintptr, nArg int32, enc int32, p uintptr, xSFunc uintptr, xStep uintptr, xFinal uintptr) int32 { /* sqlite3.c:170468:16: */ return createFunctionApi(tls, db, zFunc, nArg, enc, p, xSFunc, xStep, 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) int32 { /* sqlite3.c:170424:16: */ +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) int32 { /* sqlite3.c:170481:16: */ return createFunctionApi(tls, db, zFunc, nArg, enc, p, xSFunc, xStep, xFinal, uintptr(0), uintptr(0), 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) int32 { /* sqlite3.c:170438:16: */ +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) int32 { /* sqlite3.c:170495:16: */ return createFunctionApi(tls, db, zFunc, nArg, enc, p, uintptr(0), xStep, xFinal, xValue, xInverse, xDestroy) } -func Xsqlite3_create_function16(tls *libc.TLS, db uintptr, zFunctionName uintptr, nArg int32, eTextRep int32, p uintptr, xSFunc uintptr, xStep uintptr, xFinal uintptr) int32 { /* sqlite3.c:170455:16: */ +func Xsqlite3_create_function16(tls *libc.TLS, db uintptr, zFunctionName uintptr, nArg int32, eTextRep int32, p uintptr, xSFunc uintptr, xStep uintptr, xFinal uintptr) int32 { /* sqlite3.c:170512:16: */ var rc int32 var zFunc8 uintptr @@ -150547,7 +150578,7 @@ func Xsqlite3_create_function16(tls *libc.TLS, db uintptr, zFunctionName uintptr // SQL function that use this routine so that the functions will exist // for name resolution but are actually overloaded by the xFindFunction // method of virtual tables. -func sqlite3InvalidFunction(tls *libc.TLS, context uintptr, NotUsed int32, NotUsed2 uintptr) { /* sqlite3.c:170491:13: */ +func sqlite3InvalidFunction(tls *libc.TLS, context uintptr, NotUsed int32, NotUsed2 uintptr) { /* sqlite3.c:170548:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -150571,7 +150602,7 @@ func sqlite3InvalidFunction(tls *libc.TLS, context uintptr, NotUsed int32, NotUs // should call this routine to make sure the global function exists. // A global function must exist in order for name resolution to work // properly. -func Xsqlite3_overload_function(tls *libc.TLS, db uintptr, zName uintptr, nArg int32) int32 { /* sqlite3.c:170517:16: */ +func Xsqlite3_overload_function(tls *libc.TLS, db uintptr, zName uintptr, nArg int32) int32 { /* sqlite3.c:170574:16: */ var rc int32 var zCopy uintptr @@ -150597,7 +150628,7 @@ func Xsqlite3_overload_function(tls *libc.TLS, db uintptr, zName uintptr, nArg i // A NULL trace function means that no tracing is executes. A non-NULL // 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) uintptr { /* sqlite3.c:170550:17: */ +func Xsqlite3_trace(tls *libc.TLS, db uintptr, xTrace uintptr, pArg uintptr) uintptr { /* sqlite3.c:170607:17: */ var pOld uintptr Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) @@ -150615,7 +150646,7 @@ func Xsqlite3_trace(tls *libc.TLS, db uintptr, xTrace uintptr, pArg uintptr) uin } // Register a trace callback using the version-2 interface. -func Xsqlite3_trace_v2(tls *libc.TLS, db uintptr, mTrace uint32, xTrace uintptr, pArg uintptr) int32 { /* sqlite3.c:170571:16: */ +func Xsqlite3_trace_v2(tls *libc.TLS, db uintptr, mTrace uint32, xTrace uintptr, pArg uintptr) int32 { /* sqlite3.c:170628:16: */ Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) if mTrace == uint32(0) { xTrace = uintptr(0) @@ -150636,7 +150667,7 @@ func Xsqlite3_trace_v2(tls *libc.TLS, db uintptr, mTrace uint32, xTrace uintptr, // A NULL profile function means that no profiling is executes. A non-NULL // 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) uintptr { /* sqlite3.c:170601:17: */ +func Xsqlite3_profile(tls *libc.TLS, db uintptr, xProfile uintptr, pArg uintptr) uintptr { /* sqlite3.c:170658:17: */ var pOld uintptr Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) @@ -150654,7 +150685,7 @@ func Xsqlite3_profile(tls *libc.TLS, db uintptr, xProfile uintptr, pArg uintptr) // Register a function to be invoked when a transaction commits. // 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) uintptr { /* sqlite3.c:170631:17: */ +func Xsqlite3_commit_hook(tls *libc.TLS, db uintptr, xCallback uintptr, pArg uintptr) uintptr { /* sqlite3.c:170688:17: */ var pOld uintptr Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) @@ -150667,7 +150698,7 @@ func Xsqlite3_commit_hook(tls *libc.TLS, db uintptr, xCallback uintptr, pArg uin // 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) uintptr { /* sqlite3.c:170656:17: */ +func Xsqlite3_update_hook(tls *libc.TLS, db uintptr, xCallback uintptr, pArg uintptr) uintptr { /* sqlite3.c:170713:17: */ var pRet uintptr Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) @@ -150680,7 +150711,7 @@ func Xsqlite3_update_hook(tls *libc.TLS, db uintptr, xCallback uintptr, pArg uin // 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) uintptr { /* sqlite3.c:170681:17: */ +func Xsqlite3_rollback_hook(tls *libc.TLS, db uintptr, xCallback uintptr, pArg uintptr) uintptr { /* sqlite3.c:170738:17: */ var pRet uintptr Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) @@ -150693,7 +150724,7 @@ func Xsqlite3_rollback_hook(tls *libc.TLS, db uintptr, xCallback uintptr, pArg u // 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) uintptr { /* sqlite3.c:170707:17: */ +func Xsqlite3_preupdate_hook(tls *libc.TLS, db uintptr, xCallback uintptr, pArg uintptr) uintptr { /* sqlite3.c:170764:17: */ var pRet uintptr Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) pRet = (*Sqlite3)(unsafe.Pointer(db)).FpPreUpdateArg @@ -150705,7 +150736,7 @@ func Xsqlite3_preupdate_hook(tls *libc.TLS, db uintptr, xCallback uintptr, pArg // 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) int32 { /* sqlite3.c:170727:16: */ +func Xsqlite3_autovacuum_pages(tls *libc.TLS, db uintptr, xCallback uintptr, pArg uintptr, xDestructor uintptr) int32 { /* sqlite3.c:170784:16: */ Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) if (*Sqlite3)(unsafe.Pointer(db)).FxAutovacDestr != 0 { (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3)(unsafe.Pointer(db)).FxAutovacDestr})).f(tls, (*Sqlite3)(unsafe.Pointer(db)).FpAutovacPagesArg) @@ -150721,7 +150752,7 @@ func Xsqlite3_autovacuum_pages(tls *libc.TLS, db uintptr, xCallback uintptr, pAr // Invoke sqlite3_wal_checkpoint if the number of frames in the log file // is greater than sqlite3.pWalArg cast to an integer (the value configured by // wal_autocheckpoint()). -func Xsqlite3WalDefaultHook(tls *libc.TLS, pClientData uintptr, db uintptr, zDb uintptr, nFrame int32) int32 { /* sqlite3.c:170758:20: */ +func Xsqlite3WalDefaultHook(tls *libc.TLS, pClientData uintptr, db uintptr, zDb uintptr, nFrame int32) int32 { /* sqlite3.c:170815:20: */ if nFrame >= int32(pClientData) { Xsqlite3BeginBenignMalloc(tls) Xsqlite3_wal_checkpoint(tls, db, zDb) @@ -150739,7 +150770,7 @@ func Xsqlite3WalDefaultHook(tls *libc.TLS, pClientData uintptr, db uintptr, zDb // registered using sqlite3_wal_hook(). Likewise, registering a callback // using sqlite3_wal_hook() disables the automatic checkpoint mechanism // configured by this function. -func Xsqlite3_wal_autocheckpoint(tls *libc.TLS, db uintptr, nFrame int32) int32 { /* sqlite3.c:170784:16: */ +func Xsqlite3_wal_autocheckpoint(tls *libc.TLS, db uintptr, nFrame int32) int32 { /* sqlite3.c:170841:16: */ if nFrame > 0 { Xsqlite3_wal_hook(tls, db, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, uintptr, int32) int32 @@ -150752,7 +150783,7 @@ func Xsqlite3_wal_autocheckpoint(tls *libc.TLS, db uintptr, nFrame int32) int32 // 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) uintptr { /* sqlite3.c:170805:17: */ +func Xsqlite3_wal_hook(tls *libc.TLS, db uintptr, xCallback uintptr, pArg uintptr) uintptr { /* sqlite3.c:170862:17: */ var pRet uintptr Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) pRet = (*Sqlite3)(unsafe.Pointer(db)).FpWalArg @@ -150763,7 +150794,7 @@ func Xsqlite3_wal_hook(tls *libc.TLS, db uintptr, xCallback uintptr, pArg uintpt } // Checkpoint database zDb. -func Xsqlite3_wal_checkpoint_v2(tls *libc.TLS, db uintptr, zDb uintptr, eMode int32, pnLog uintptr, pnCkpt uintptr) int32 { /* sqlite3.c:170832:16: */ +func Xsqlite3_wal_checkpoint_v2(tls *libc.TLS, db uintptr, zDb uintptr, eMode int32, pnLog uintptr, pnCkpt uintptr) int32 { /* sqlite3.c:170889:16: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -150813,7 +150844,7 @@ func Xsqlite3_wal_checkpoint_v2(tls *libc.TLS, db uintptr, zDb uintptr, eMode in // Checkpoint database zDb. If zDb is NULL, or if the buffer zDb points // to contains a zero-length string, all attached databases are // checkpointed. -func Xsqlite3_wal_checkpoint(tls *libc.TLS, db uintptr, zDb uintptr) int32 { /* sqlite3.c:170896:16: */ +func Xsqlite3_wal_checkpoint(tls *libc.TLS, db uintptr, zDb uintptr) int32 { /* sqlite3.c:170953:16: */ // EVIDENCE-OF: R-41613-20553 The sqlite3_wal_checkpoint(D,X) is equivalent to // sqlite3_wal_checkpoint_v2(D,X,SQLITE_CHECKPOINT_PASSIVE,0,0). return Xsqlite3_wal_checkpoint_v2(tls, db, zDb, SQLITE_CHECKPOINT_PASSIVE, uintptr(0), uintptr(0)) @@ -150837,7 +150868,7 @@ func Xsqlite3_wal_checkpoint(tls *libc.TLS, db uintptr, zDb uintptr) int32 { /* // // Parameter eMode is one of SQLITE_CHECKPOINT_PASSIVE, FULL, RESTART // or TRUNCATE. -func Xsqlite3Checkpoint(tls *libc.TLS, db uintptr, iDb int32, eMode int32, pnLog uintptr, pnCkpt uintptr) int32 { /* sqlite3.c:170923:20: */ +func Xsqlite3Checkpoint(tls *libc.TLS, db uintptr, iDb int32, eMode int32, pnLog uintptr, pnCkpt uintptr) int32 { /* sqlite3.c:170980:20: */ var rc int32 = SQLITE_OK // Return code var i int32 // Used to iterate through attached dbs var bBusy int32 = 0 // True if SQLITE_BUSY has been encountered @@ -150879,19 +150910,19 @@ func Xsqlite3Checkpoint(tls *libc.TLS, db uintptr, iDb int32, eMode int32, pnLog // 2 2 memory (return 1) // 2 0 memory (return 1) // 3 any memory (return 1) -func Xsqlite3TempInMemory(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:170969:20: */ +func Xsqlite3TempInMemory(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:171026:20: */ return libc.Bool32(int32((*Sqlite3)(unsafe.Pointer(db)).Ftemp_store) == 2) } // Return UTF-8 encoded English language explanation of the most recent // error. -func Xsqlite3_errmsg(tls *libc.TLS, db uintptr) uintptr { /* sqlite3.c:170990:23: */ +func Xsqlite3_errmsg(tls *libc.TLS, db uintptr) uintptr { /* sqlite3.c:171047:23: */ var z uintptr if !(db != 0) { return Xsqlite3ErrStr(tls, SQLITE_NOMEM) } if !(Xsqlite3SafetyCheckSickOrOk(tls, db) != 0) { - return Xsqlite3ErrStr(tls, Xsqlite3MisuseError(tls, 170996)) + return Xsqlite3ErrStr(tls, Xsqlite3MisuseError(tls, 171053)) } Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) if (*Sqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 { @@ -150913,7 +150944,7 @@ func Xsqlite3_errmsg(tls *libc.TLS, db uintptr) uintptr { /* sqlite3.c:170990:23 } // Return the byte offset of the most recent error -func Xsqlite3_error_offset(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:171016:16: */ +func Xsqlite3_error_offset(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:171073:16: */ var iOffset int32 = -1 if db != 0 && Xsqlite3SafetyCheckSickOrOk(tls, db) != 0 && (*Sqlite3)(unsafe.Pointer(db)).FerrCode != 0 { Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) @@ -150925,7 +150956,7 @@ func Xsqlite3_error_offset(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:17101 // Return UTF-16 encoded English language explanation of the most recent // error. -func Xsqlite3_errmsg16(tls *libc.TLS, db uintptr) uintptr { /* sqlite3.c:171031:23: */ +func Xsqlite3_errmsg16(tls *libc.TLS, db uintptr) uintptr { /* sqlite3.c:171088:23: */ var z uintptr if !(db != 0) { return uintptr(uintptr(unsafe.Pointer(&outOfMem))) @@ -150954,18 +150985,18 @@ func Xsqlite3_errmsg16(tls *libc.TLS, db uintptr) uintptr { /* sqlite3.c:171031: var outOfMem = [14]U16{ U16('o'), U16('u'), U16('t'), U16(' '), U16('o'), U16('f'), U16(' '), U16('m'), U16('e'), U16('m'), U16('o'), U16('r'), U16('y'), U16(0), -} /* sqlite3.c:171032:20 */ +} /* sqlite3.c:171089:20 */ var misuse = [34]U16{ U16('b'), U16('a'), U16('d'), U16(' '), U16('p'), U16('a'), U16('r'), U16('a'), U16('m'), U16('e'), U16('t'), U16('e'), U16('r'), U16(' '), U16('o'), U16('r'), U16(' '), U16('o'), U16('t'), U16('h'), U16('e'), U16('r'), U16(' '), U16('A'), U16('P'), U16('I'), U16(' '), U16('m'), U16('i'), U16('s'), U16('u'), U16('s'), U16('e'), U16(0), -} /* sqlite3.c:171035:20 */ +} /* sqlite3.c:171092:20 */ // Return the most recent error code generated by an SQLite routine. If NULL is // passed to this function, we assume a malloc() failed during sqlite3_open(). -func Xsqlite3_errcode(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:171073:16: */ +func Xsqlite3_errcode(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:171130:16: */ if db != 0 && !(Xsqlite3SafetyCheckSickOrOk(tls, db) != 0) { - return Xsqlite3MisuseError(tls, 171075) + return Xsqlite3MisuseError(tls, 171132) } if !(db != 0) || (*Sqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 { return SQLITE_NOMEM @@ -150973,9 +151004,9 @@ func Xsqlite3_errcode(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:171073:16: return (*Sqlite3)(unsafe.Pointer(db)).FerrCode & (*Sqlite3)(unsafe.Pointer(db)).FerrMask } -func Xsqlite3_extended_errcode(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:171082:16: */ +func Xsqlite3_extended_errcode(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:171139:16: */ if db != 0 && !(Xsqlite3SafetyCheckSickOrOk(tls, db) != 0) { - return Xsqlite3MisuseError(tls, 171084) + return Xsqlite3MisuseError(tls, 171141) } if !(db != 0) || (*Sqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 { return SQLITE_NOMEM @@ -150983,7 +151014,7 @@ func Xsqlite3_extended_errcode(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:1 return (*Sqlite3)(unsafe.Pointer(db)).FerrCode } -func Xsqlite3_system_errno(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:171091:16: */ +func Xsqlite3_system_errno(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:171148:16: */ if db != 0 { return (*Sqlite3)(unsafe.Pointer(db)).FiSysErrno } @@ -150993,13 +151024,13 @@ func Xsqlite3_system_errno(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:17109 // Return a string that describes the kind of error specified in the // argument. For now, this simply calls the internal sqlite3ErrStr() // function. -func Xsqlite3_errstr(tls *libc.TLS, rc int32) uintptr { /* sqlite3.c:171100:23: */ +func Xsqlite3_errstr(tls *libc.TLS, rc int32) uintptr { /* sqlite3.c:171157:23: */ return Xsqlite3ErrStr(tls, rc) } // 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 U8, pCtx uintptr, xCompare uintptr, xDel uintptr) int32 { /* sqlite3.c:171108:12: */ +func createCollation(tls *libc.TLS, db uintptr, zName uintptr, enc U8, pCtx uintptr, xCompare uintptr, xDel uintptr) int32 { /* sqlite3.c:171165:12: */ var pColl uintptr var enc2 int32 @@ -151012,7 +151043,7 @@ func createCollation(tls *libc.TLS, db uintptr, zName uintptr, enc U8, pCtx uint enc2 = SQLITE_UTF16LE } if enc2 < SQLITE_UTF8 || enc2 > SQLITE_UTF16BE { - return Xsqlite3MisuseError(tls, 171132) + return Xsqlite3MisuseError(tls, 171189) } // Check if this call is removing or replacing an existing collation @@ -151075,7 +151106,7 @@ var aHardLimit = [12]int32{ SQLITE_MAX_VARIABLE_NUMBER, // IMP: R-38091-32352 SQLITE_MAX_TRIGGER_DEPTH, SQLITE_MAX_WORKER_THREADS, -} /* sqlite3.c:171185:18 */ +} /* sqlite3.c:171242:18 */ // Make sure the hard limits are set to reasonable values @@ -151087,7 +151118,7 @@ var aHardLimit = [12]int32{ // A new lower limit does not shrink existing constructs. // It merely prevents new constructs that exceed the limit // from forming. -func Xsqlite3_limit(tls *libc.TLS, db uintptr, limitId int32, newLimit int32) int32 { /* sqlite3.c:171248:16: */ +func Xsqlite3_limit(tls *libc.TLS, db uintptr, limitId int32, newLimit int32) int32 { /* sqlite3.c:171305:16: */ var oldLimit int32 // EVIDENCE-OF: R-30189-54097 For each limit category SQLITE_LIMIT_NAME @@ -151134,7 +151165,7 @@ func Xsqlite3_limit(tls *libc.TLS, db uintptr, limitId int32, newLimit int32) in // may be set to point to a buffer containing an English language error // message. It is the responsibility of the caller to eventually release // this buffer by calling sqlite3_free(). -func Xsqlite3ParseUri(tls *libc.TLS, zDefaultVfs uintptr, zUri uintptr, pFlags uintptr, ppVfs uintptr, pzFile uintptr, pzErrMsg uintptr) int32 { /* sqlite3.c:171320:20: */ +func Xsqlite3ParseUri(tls *libc.TLS, zDefaultVfs uintptr, zUri uintptr, pFlags uintptr, ppVfs uintptr, pzFile uintptr, pzErrMsg uintptr) int32 { /* sqlite3.c:171377:20: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -151472,24 +151503,24 @@ type OpenMode = struct { Fz uintptr Fmode int32 F__ccgo_pad1 [4]byte -} /* sqlite3.c:171462:9 */ +} /* sqlite3.c:171519:9 */ var aCacheMode = [3]OpenMode{ {Fz: ts + 24147, Fmode: SQLITE_OPEN_SHAREDCACHE}, {Fz: ts + 24154, Fmode: SQLITE_OPEN_PRIVATECACHE}, {}, -} /* sqlite3.c:171471:34 */ +} /* sqlite3.c:171528:34 */ var aOpenMode = [5]OpenMode{ {Fz: ts + 24162, Fmode: SQLITE_OPEN_READONLY}, {Fz: ts + 24165, Fmode: SQLITE_OPEN_READWRITE}, {Fz: ts + 24168, Fmode: SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE}, {Fz: ts + 17269, Fmode: SQLITE_OPEN_MEMORY}, {}, -} /* sqlite3.c:171483:34 */ +} /* sqlite3.c:171540:34 */ // This routine does the core work of extracting URI parameters from a // database filename for the sqlite3_uri_parameter() interface. -func uriParameter(tls *libc.TLS, zFilename uintptr, zParam uintptr) uintptr { /* sqlite3.c:171557:19: */ +func uriParameter(tls *libc.TLS, zFilename uintptr, zParam uintptr) uintptr { /* sqlite3.c:171614:19: */ zFilename += uintptr(Xsqlite3Strlen30(tls, zFilename) + 1) for zFilename != uintptr(0) && *(*uint8)(unsafe.Pointer(zFilename)) != 0 { var x int32 = libc.Xstrcmp(tls, zFilename, zParam) @@ -151505,7 +151536,7 @@ func uriParameter(tls *libc.TLS, zFilename uintptr, zParam uintptr) uintptr { /* // This routine does the work of opening a database on behalf of // sqlite3_open() and sqlite3_open16(). The database filename "zFilename" // is UTF-8 encoded. -func openDatabase(tls *libc.TLS, zFilename uintptr, ppDb uintptr, flags uint32, zVfs uintptr) int32 { /* sqlite3.c:171575:12: */ +func openDatabase(tls *libc.TLS, zFilename uintptr, ppDb uintptr, flags uint32, zVfs uintptr) int32 { /* sqlite3.c:171632:12: */ bp := tls.Alloc(32) defer tls.Free(32) *(*uint32)(unsafe.Pointer(bp + 8)) = flags @@ -151689,7 +151720,7 @@ __15: if !(int32(1)<<(*(*uint32)(unsafe.Pointer(bp + 8))&uint32(7))&0x46 == 0) { goto __16 } - rc = Xsqlite3MisuseError(tls, 171788) // IMP: R-18321-05872 + rc = Xsqlite3MisuseError(tls, 171845) // IMP: R-18321-05872 goto __17 __16: rc = Xsqlite3ParseUri(tls, zVfs, zFilename, bp+8, db, bp+16, bp+24) @@ -151845,17 +151876,17 @@ __32: } // Open a new database handle. -func Xsqlite3_open(tls *libc.TLS, zFilename uintptr, ppDb uintptr) int32 { /* sqlite3.c:171910:16: */ +func Xsqlite3_open(tls *libc.TLS, zFilename uintptr, ppDb uintptr) int32 { /* sqlite3.c:171967:16: */ return openDatabase(tls, zFilename, ppDb, uint32(SQLITE_OPEN_READWRITE|SQLITE_OPEN_CREATE), uintptr(0)) } -func Xsqlite3_open_v2(tls *libc.TLS, filename uintptr, ppDb uintptr, flags int32, zVfs uintptr) int32 { /* sqlite3.c:171917:16: */ +func Xsqlite3_open_v2(tls *libc.TLS, filename uintptr, ppDb uintptr, flags int32, zVfs uintptr) int32 { /* sqlite3.c:171974:16: */ return openDatabase(tls, filename, ppDb, uint32(flags), zVfs) } // Open a new database handle. -func Xsqlite3_open16(tls *libc.TLS, zFilename uintptr, ppDb uintptr) int32 { /* sqlite3.c:171930:16: */ +func Xsqlite3_open16(tls *libc.TLS, zFilename uintptr, ppDb uintptr) int32 { /* sqlite3.c:171987:16: */ var zFilename8 uintptr // zFilename encoded in UTF-8 instead of UTF-16 var pVal uintptr var rc int32 @@ -151887,12 +151918,12 @@ func Xsqlite3_open16(tls *libc.TLS, zFilename uintptr, ppDb uintptr) int32 { /* } // 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) int32 { /* sqlite3.c:171969:16: */ +func Xsqlite3_create_collation(tls *libc.TLS, db uintptr, zName uintptr, enc int32, pCtx uintptr, xCompare uintptr) int32 { /* sqlite3.c:172026:16: */ return Xsqlite3_create_collation_v2(tls, db, zName, enc, pCtx, xCompare, uintptr(0)) } // 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) int32 { /* sqlite3.c:171982:16: */ +func Xsqlite3_create_collation_v2(tls *libc.TLS, db uintptr, zName uintptr, enc int32, pCtx uintptr, xCompare uintptr, xDel uintptr) int32 { /* sqlite3.c:172039:16: */ var rc int32 Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) @@ -151904,7 +151935,7 @@ func Xsqlite3_create_collation_v2(tls *libc.TLS, db uintptr, zName uintptr, enc } // 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) int32 { /* sqlite3.c:172007:16: */ +func Xsqlite3_create_collation16(tls *libc.TLS, db uintptr, zName uintptr, enc int32, pCtx uintptr, xCompare uintptr) int32 { /* sqlite3.c:172064:16: */ var rc int32 = SQLITE_OK var zName8 uintptr @@ -151922,7 +151953,7 @@ func Xsqlite3_create_collation16(tls *libc.TLS, db uintptr, zName uintptr, enc i // 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) int32 { /* sqlite3.c:172037:16: */ +func Xsqlite3_collation_needed(tls *libc.TLS, db uintptr, pCollNeededArg uintptr, xCollNeeded uintptr) int32 { /* sqlite3.c:172094:16: */ Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) (*Sqlite3)(unsafe.Pointer(db)).FxCollNeeded = xCollNeeded (*Sqlite3)(unsafe.Pointer(db)).FxCollNeeded16 = uintptr(0) @@ -151933,7 +151964,7 @@ func Xsqlite3_collation_needed(tls *libc.TLS, db uintptr, pCollNeededArg uintptr // 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) int32 { /* sqlite3.c:172058:16: */ +func Xsqlite3_collation_needed16(tls *libc.TLS, db uintptr, pCollNeededArg uintptr, xCollNeeded16 uintptr) int32 { /* sqlite3.c:172115:16: */ Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) (*Sqlite3)(unsafe.Pointer(db)).FxCollNeeded = uintptr(0) (*Sqlite3)(unsafe.Pointer(db)).FxCollNeeded16 = xCollNeeded16 @@ -151944,7 +151975,7 @@ func Xsqlite3_collation_needed16(tls *libc.TLS, db uintptr, pCollNeededArg uintp // This function is now an anachronism. It used to be used to recover from a // malloc() failure, but SQLite now does this automatically. -func Xsqlite3_global_recover(tls *libc.TLS) int32 { /* sqlite3.c:172080:16: */ +func Xsqlite3_global_recover(tls *libc.TLS) int32 { /* sqlite3.c:172137:16: */ return SQLITE_OK } @@ -151952,7 +151983,7 @@ func Xsqlite3_global_recover(tls *libc.TLS) int32 { /* sqlite3.c:172080:16: */ // mode. Return TRUE if it is and FALSE if not. Autocommit mode is on // by default. Autocommit is disabled by a BEGIN statement and reenabled // by the next COMMIT or ROLLBACK. -func Xsqlite3_get_autocommit(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:172091:16: */ +func Xsqlite3_get_autocommit(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:172148:16: */ return int32((*Sqlite3)(unsafe.Pointer(db)).FautoCommit) } @@ -151965,7 +151996,7 @@ func Xsqlite3_get_autocommit(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:172 // // 2. Invoke sqlite3_log() to provide the source code location where // a low-level error is first detected. -func Xsqlite3ReportError(tls *libc.TLS, iErr int32, lineno int32, zType uintptr) int32 { /* sqlite3.c:172112:20: */ +func Xsqlite3ReportError(tls *libc.TLS, iErr int32, lineno int32, zType uintptr) int32 { /* sqlite3.c:172169:20: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -151974,17 +152005,17 @@ func Xsqlite3ReportError(tls *libc.TLS, iErr int32, lineno int32, zType uintptr) return iErr } -func Xsqlite3CorruptError(tls *libc.TLS, lineno int32) int32 { /* sqlite3.c:172117:20: */ +func Xsqlite3CorruptError(tls *libc.TLS, lineno int32) int32 { /* sqlite3.c:172174:20: */ return Xsqlite3ReportError(tls, SQLITE_CORRUPT, lineno, ts+24206) } -func Xsqlite3MisuseError(tls *libc.TLS, lineno int32) int32 { /* sqlite3.c:172121:20: */ +func Xsqlite3MisuseError(tls *libc.TLS, lineno int32) int32 { /* sqlite3.c:172178:20: */ return Xsqlite3ReportError(tls, SQLITE_MISUSE, lineno, ts+24226) } -func Xsqlite3CantopenError(tls *libc.TLS, lineno int32) int32 { /* sqlite3.c:172125:20: */ +func Xsqlite3CantopenError(tls *libc.TLS, lineno int32) int32 { /* sqlite3.c:172182:20: */ return Xsqlite3ReportError(tls, SQLITE_CANTOPEN, lineno, ts+24233) } @@ -151994,12 +152025,12 @@ func Xsqlite3CantopenError(tls *libc.TLS, lineno int32) int32 { /* sqlite3.c:172 // // SQLite no longer uses thread-specific data so this routine is now a // no-op. It is retained for historical compatibility. -func Xsqlite3_thread_cleanup(tls *libc.TLS) { /* sqlite3.c:172156:17: */ +func Xsqlite3_thread_cleanup(tls *libc.TLS) { /* sqlite3.c:172213:17: */ } // Return meta information about a specific column of a database table. // See comment in sqlite3.h (sqlite.h.in) for details. -func Xsqlite3_table_column_metadata(tls *libc.TLS, db uintptr, zDbName uintptr, zTableName uintptr, zColumnName uintptr, pzDataType uintptr, pzCollSeq uintptr, pNotNull uintptr, pPrimaryKey uintptr, pAutoinc uintptr) int32 { /* sqlite3.c:172164:16: */ +func Xsqlite3_table_column_metadata(tls *libc.TLS, db uintptr, zDbName uintptr, zTableName uintptr, zColumnName uintptr, pzDataType uintptr, pzCollSeq uintptr, pNotNull uintptr, pPrimaryKey uintptr, pAutoinc uintptr) int32 { /* sqlite3.c:172221:16: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -152183,7 +152214,7 @@ __20: } // Sleep for a little while. Return the amount of time slept. -func Xsqlite3_sleep(tls *libc.TLS, ms int32) int32 { /* sqlite3.c:172282:16: */ +func Xsqlite3_sleep(tls *libc.TLS, ms int32) int32 { /* sqlite3.c:172339:16: */ var pVfs uintptr var rc int32 pVfs = Xsqlite3_vfs_find(tls, uintptr(0)) @@ -152198,7 +152229,7 @@ func Xsqlite3_sleep(tls *libc.TLS, ms int32) int32 { /* sqlite3.c:172282:16: */ } // Enable or disable the extended result codes. -func Xsqlite3_extended_result_codes(tls *libc.TLS, db uintptr, onoff int32) int32 { /* sqlite3.c:172298:16: */ +func Xsqlite3_extended_result_codes(tls *libc.TLS, db uintptr, onoff int32) int32 { /* sqlite3.c:172355:16: */ Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) (*Sqlite3)(unsafe.Pointer(db)).FerrMask = func() int32 { if onoff != 0 { @@ -152211,7 +152242,7 @@ func Xsqlite3_extended_result_codes(tls *libc.TLS, db uintptr, onoff int32) int3 } // Invoke the xFileControl method on a particular database. -func Xsqlite3_file_control(tls *libc.TLS, db uintptr, zDbName uintptr, op int32, pArg uintptr) int32 { /* sqlite3.c:172311:16: */ +func Xsqlite3_file_control(tls *libc.TLS, db uintptr, zDbName uintptr, op int32, pArg uintptr) int32 { /* sqlite3.c:172368:16: */ var rc int32 = SQLITE_ERROR var pBtree uintptr @@ -152256,7 +152287,7 @@ func Xsqlite3_file_control(tls *libc.TLS, db uintptr, zDbName uintptr, op int32, } // Interface to the testing logic. -func Xsqlite3_test_control(tls *libc.TLS, op int32, va uintptr) int32 { /* sqlite3.c:172361:16: */ +func Xsqlite3_test_control(tls *libc.TLS, op int32, va uintptr) int32 { /* sqlite3.c:172418:16: */ var rc int32 = 0 var ap Va_list _ = ap @@ -152715,7 +152746,7 @@ func Xsqlite3_test_control(tls *libc.TLS, op int32, va uintptr) int32 { /* sqlit // backwards for the first byte following four consecutive zero bytes. // // This only works if the filename passed in was obtained from the Pager. -func databaseName(tls *libc.TLS, zName uintptr) uintptr { /* sqlite3.c:172857:19: */ +func databaseName(tls *libc.TLS, zName uintptr) uintptr { /* sqlite3.c:172914:19: */ for int32(*(*uint8)(unsafe.Pointer(zName + libc.UintptrFromInt32(-1)))) != 0 || int32(*(*uint8)(unsafe.Pointer(zName + libc.UintptrFromInt32(-2)))) != 0 || int32(*(*uint8)(unsafe.Pointer(zName + libc.UintptrFromInt32(-3)))) != 0 || int32(*(*uint8)(unsafe.Pointer(zName + libc.UintptrFromInt32(-4)))) != 0 { zName-- } @@ -152724,7 +152755,7 @@ func databaseName(tls *libc.TLS, zName uintptr) uintptr { /* sqlite3.c:172857:19 // Append text z[] to the end of p[]. Return a pointer to the first // character after then zero terminator on the new text in p[]. -func appendText(tls *libc.TLS, p uintptr, z uintptr) uintptr { /* sqlite3.c:172868:13: */ +func appendText(tls *libc.TLS, p uintptr, z uintptr) uintptr { /* sqlite3.c:172925:13: */ var n Size_t = libc.Xstrlen(tls, z) libc.Xmemcpy(tls, p, z, n+uint64(1)) return p + uintptr(n) + uintptr(1) @@ -152737,7 +152768,7 @@ func appendText(tls *libc.TLS, p uintptr, z uintptr) uintptr { /* sqlite3.c:1728 // // Memory layout must be compatible with that generated by the pager // and expected by sqlite3_uri_parameter() and databaseName(). -func Xsqlite3_create_filename(tls *libc.TLS, zDatabase uintptr, zJournal uintptr, zWal uintptr, nParam int32, azParam uintptr) uintptr { /* sqlite3.c:172883:17: */ +func Xsqlite3_create_filename(tls *libc.TLS, zDatabase uintptr, zJournal uintptr, zWal uintptr, nParam int32, azParam uintptr) uintptr { /* sqlite3.c:172940:17: */ var nByte Sqlite3_int64 var i int32 var pResult uintptr @@ -152768,7 +152799,7 @@ func Xsqlite3_create_filename(tls *libc.TLS, zDatabase uintptr, zJournal uintptr // Free memory obtained from sqlite3_create_filename(). It is a severe // error to call this routine with any parameter other than a pointer // previously obtained from sqlite3_create_filename() or a NULL pointer. -func Xsqlite3_free_filename(tls *libc.TLS, p uintptr) { /* sqlite3.c:172919:17: */ +func Xsqlite3_free_filename(tls *libc.TLS, p uintptr) { /* sqlite3.c:172976:17: */ if p == uintptr(0) { return } @@ -152785,7 +152816,7 @@ func Xsqlite3_free_filename(tls *libc.TLS, p uintptr) { /* sqlite3.c:172919:17: // query parameter we seek. This routine returns the value of the zParam // parameter if it exists. If the parameter does not exist, this routine // returns a NULL pointer. -func Xsqlite3_uri_parameter(tls *libc.TLS, zFilename uintptr, zParam uintptr) uintptr { /* sqlite3.c:172937:23: */ +func Xsqlite3_uri_parameter(tls *libc.TLS, zFilename uintptr, zParam uintptr) uintptr { /* sqlite3.c:172994:23: */ if zFilename == uintptr(0) || zParam == uintptr(0) { return uintptr(0) } @@ -152794,7 +152825,7 @@ func Xsqlite3_uri_parameter(tls *libc.TLS, zFilename uintptr, zParam uintptr) ui } // Return a pointer to the name of Nth query parameter of the filename. -func Xsqlite3_uri_key(tls *libc.TLS, zFilename uintptr, N int32) uintptr { /* sqlite3.c:172946:23: */ +func Xsqlite3_uri_key(tls *libc.TLS, zFilename uintptr, N int32) uintptr { /* sqlite3.c:173003:23: */ if zFilename == uintptr(0) || N < 0 { return uintptr(0) } @@ -152811,7 +152842,7 @@ func Xsqlite3_uri_key(tls *libc.TLS, zFilename uintptr, N int32) uintptr { /* sq } // Return a boolean value for a query parameter. -func Xsqlite3_uri_boolean(tls *libc.TLS, zFilename uintptr, zParam uintptr, bDflt int32) int32 { /* sqlite3.c:172960:16: */ +func Xsqlite3_uri_boolean(tls *libc.TLS, zFilename uintptr, zParam uintptr, bDflt int32) int32 { /* sqlite3.c:173017:16: */ var z uintptr = Xsqlite3_uri_parameter(tls, zFilename, zParam) bDflt = libc.Bool32(bDflt != 0) if z != 0 { @@ -152821,7 +152852,7 @@ func Xsqlite3_uri_boolean(tls *libc.TLS, zFilename uintptr, zParam uintptr, bDfl } // Return a 64-bit integer value for a query parameter. -func Xsqlite3_uri_int64(tls *libc.TLS, zFilename uintptr, zParam uintptr, bDflt Sqlite3_int64) Sqlite3_int64 { /* sqlite3.c:172969:26: */ +func Xsqlite3_uri_int64(tls *libc.TLS, zFilename uintptr, zParam uintptr, bDflt Sqlite3_int64) Sqlite3_int64 { /* sqlite3.c:173026:26: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -152842,14 +152873,14 @@ func Xsqlite3_uri_int64(tls *libc.TLS, zFilename uintptr, zParam uintptr, bDflt // passing free() a pointer that was not obtained from malloc() - it is // an error that we cannot easily detect but that will likely cause memory // corruption. -func Xsqlite3_filename_database(tls *libc.TLS, zFilename uintptr) uintptr { /* sqlite3.c:172992:23: */ +func Xsqlite3_filename_database(tls *libc.TLS, zFilename uintptr) uintptr { /* sqlite3.c:173049:23: */ if zFilename == uintptr(0) { return uintptr(0) } return databaseName(tls, zFilename) } -func Xsqlite3_filename_journal(tls *libc.TLS, zFilename uintptr) uintptr { /* sqlite3.c:172996:23: */ +func Xsqlite3_filename_journal(tls *libc.TLS, zFilename uintptr) uintptr { /* sqlite3.c:173053:23: */ if zFilename == uintptr(0) { return uintptr(0) } @@ -152862,7 +152893,7 @@ func Xsqlite3_filename_journal(tls *libc.TLS, zFilename uintptr) uintptr { /* sq return zFilename + uintptr(1) } -func Xsqlite3_filename_wal(tls *libc.TLS, zFilename uintptr) uintptr { /* sqlite3.c:173006:23: */ +func Xsqlite3_filename_wal(tls *libc.TLS, zFilename uintptr) uintptr { /* sqlite3.c:173063:23: */ zFilename = Xsqlite3_filename_journal(tls, zFilename) if zFilename != 0 { zFilename += uintptr(Xsqlite3Strlen30(tls, zFilename) + 1) @@ -152871,7 +152902,7 @@ func Xsqlite3_filename_wal(tls *libc.TLS, zFilename uintptr) uintptr { /* sqlite } // Return the Btree pointer identified by zDbName. Return NULL if not found. -func Xsqlite3DbNameToBtree(tls *libc.TLS, db uintptr, zDbName uintptr) uintptr { /* sqlite3.c:173019:22: */ +func Xsqlite3DbNameToBtree(tls *libc.TLS, db uintptr, zDbName uintptr) uintptr { /* sqlite3.c:173076:22: */ var iDb int32 if zDbName != 0 { iDb = Xsqlite3FindDbName(tls, db, zDbName) @@ -152886,7 +152917,7 @@ func Xsqlite3DbNameToBtree(tls *libc.TLS, db uintptr, zDbName uintptr) uintptr { // Return the filename of the database associated with a database // connection. -func Xsqlite3_db_filename(tls *libc.TLS, db uintptr, zDbName uintptr) uintptr { /* sqlite3.c:173028:23: */ +func Xsqlite3_db_filename(tls *libc.TLS, db uintptr, zDbName uintptr) uintptr { /* sqlite3.c:173085:23: */ var pBt uintptr pBt = Xsqlite3DbNameToBtree(tls, db, zDbName) if pBt != 0 { @@ -152897,7 +152928,7 @@ func Xsqlite3_db_filename(tls *libc.TLS, db uintptr, zDbName uintptr) uintptr { // Return 1 if database is read-only or 0 if read/write. Return -1 if // no such database exists. -func Xsqlite3_db_readonly(tls *libc.TLS, db uintptr, zDbName uintptr) int32 { /* sqlite3.c:173044:16: */ +func Xsqlite3_db_readonly(tls *libc.TLS, db uintptr, zDbName uintptr) int32 { /* sqlite3.c:173101:16: */ var pBt uintptr pBt = Xsqlite3DbNameToBtree(tls, db, zDbName) if pBt != 0 { @@ -152908,7 +152939,7 @@ func Xsqlite3_db_readonly(tls *libc.TLS, db uintptr, zDbName uintptr) int32 { /* // Obtain a snapshot handle for the snapshot of database zDb currently // being read by handle db. -func Xsqlite3_snapshot_get(tls *libc.TLS, db uintptr, zDb uintptr, ppSnapshot uintptr) int32 { /* sqlite3.c:173061:16: */ +func Xsqlite3_snapshot_get(tls *libc.TLS, db uintptr, zDb uintptr, ppSnapshot uintptr) int32 { /* sqlite3.c:173118:16: */ var rc int32 = SQLITE_ERROR Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) @@ -152931,7 +152962,7 @@ func Xsqlite3_snapshot_get(tls *libc.TLS, db uintptr, zDb uintptr, ppSnapshot ui } // Open a read-transaction on the snapshot idendified by pSnapshot. -func Xsqlite3_snapshot_open(tls *libc.TLS, db uintptr, zDb uintptr, pSnapshot uintptr) int32 { /* sqlite3.c:173097:16: */ +func Xsqlite3_snapshot_open(tls *libc.TLS, db uintptr, zDb uintptr, pSnapshot uintptr) int32 { /* sqlite3.c:173154:16: */ var rc int32 = SQLITE_ERROR Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) @@ -152974,7 +153005,7 @@ func Xsqlite3_snapshot_open(tls *libc.TLS, db uintptr, zDb uintptr, pSnapshot ui // Recover as many snapshots as possible from the wal file associated with // schema zDb of database db. -func Xsqlite3_snapshot_recover(tls *libc.TLS, db uintptr, zDb uintptr) int32 { /* sqlite3.c:173153:16: */ +func Xsqlite3_snapshot_recover(tls *libc.TLS, db uintptr, zDb uintptr) int32 { /* sqlite3.c:173210:16: */ var rc int32 = SQLITE_ERROR var iDb int32 @@ -152995,7 +153026,7 @@ func Xsqlite3_snapshot_recover(tls *libc.TLS, db uintptr, zDb uintptr) int32 { / } // Free a snapshot handle obtained from sqlite3_snapshot_get(). -func Xsqlite3_snapshot_free(tls *libc.TLS, pSnapshot uintptr) { /* sqlite3.c:173184:17: */ +func Xsqlite3_snapshot_free(tls *libc.TLS, pSnapshot uintptr) { /* sqlite3.c:173241:17: */ Xsqlite3_free(tls, pSnapshot) } @@ -153004,7 +153035,7 @@ func Xsqlite3_snapshot_free(tls *libc.TLS, pSnapshot uintptr) { /* sqlite3.c:173 // // The name can optionally begin with "SQLITE_" but the "SQLITE_" prefix // is not required for a match. -func Xsqlite3_compileoption_used(tls *libc.TLS, zOptName uintptr) int32 { /* sqlite3.c:173197:16: */ +func Xsqlite3_compileoption_used(tls *libc.TLS, zOptName uintptr) int32 { /* sqlite3.c:173254:16: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -153034,7 +153065,7 @@ func Xsqlite3_compileoption_used(tls *libc.TLS, zOptName uintptr) int32 { /* sql // Return the N-th compile-time option string. If N is out of range, // return a NULL pointer. -func Xsqlite3_compileoption_get(tls *libc.TLS, N int32) uintptr { /* sqlite3.c:173230:23: */ +func Xsqlite3_compileoption_get(tls *libc.TLS, N int32) uintptr { /* sqlite3.c:173287:23: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -153079,11 +153110,11 @@ func Xsqlite3_compileoption_get(tls *libc.TLS, N int32) uintptr { /* sqlite3.c:1 // for which either sqlite3.pBlockingConnection or sqlite3.pUnlockConnection // is not NULL. This variable may only accessed while the STATIC_MAIN // mutex is held. -var sqlite3BlockedList uintptr = uintptr(0) /* sqlite3.c:173282:16 */ +var sqlite3BlockedList uintptr = uintptr(0) /* sqlite3.c:173339:16 */ // Remove connection db from the blocked connections list. If connection // db is not currently a part of the list, this function is a no-op. -func removeFromBlockedList(tls *libc.TLS, db uintptr) { /* sqlite3.c:173325:13: */ +func removeFromBlockedList(tls *libc.TLS, db uintptr) { /* sqlite3.c:173382:13: */ var pp uintptr for pp = uintptr(unsafe.Pointer(&sqlite3BlockedList)); *(*uintptr)(unsafe.Pointer(pp)) != 0; pp = *(*uintptr)(unsafe.Pointer(pp)) + 832 { @@ -153096,7 +153127,7 @@ func removeFromBlockedList(tls *libc.TLS, db uintptr) { /* sqlite3.c:173325:13: // Add connection db to the blocked connections list. It is assumed // that it is not already a part of the list. -func addToBlockedList(tls *libc.TLS, db uintptr) { /* sqlite3.c:173340:13: */ +func addToBlockedList(tls *libc.TLS, db uintptr) { /* sqlite3.c:173397:13: */ var pp uintptr for pp = uintptr(unsafe.Pointer(&sqlite3BlockedList)); *(*uintptr)(unsafe.Pointer(pp)) != 0 && (*Sqlite3)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pp)))).FxUnlockNotify != (*Sqlite3)(unsafe.Pointer(db)).FxUnlockNotify; pp = *(*uintptr)(unsafe.Pointer(pp)) + 832 { @@ -153106,13 +153137,13 @@ func addToBlockedList(tls *libc.TLS, db uintptr) { /* sqlite3.c:173340:13: */ } // Obtain the STATIC_MAIN mutex. -func enterMutex(tls *libc.TLS) { /* sqlite3.c:173355:13: */ +func enterMutex(tls *libc.TLS) { /* sqlite3.c:173412:13: */ Xsqlite3_mutex_enter(tls, Xsqlite3MutexAlloc(tls, SQLITE_MUTEX_STATIC_MAIN)) } // Release the STATIC_MAIN mutex. -func leaveMutex(tls *libc.TLS) { /* sqlite3.c:173363:13: */ +func leaveMutex(tls *libc.TLS) { /* sqlite3.c:173420:13: */ Xsqlite3_mutex_leave(tls, Xsqlite3MutexAlloc(tls, SQLITE_MUTEX_STATIC_MAIN)) } @@ -153136,7 +153167,7 @@ func leaveMutex(tls *libc.TLS) { /* sqlite3.c:173363:13: */ // Each call to this routine overrides any prior callbacks registered // 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) int32 { /* sqlite3.c:173390:16: */ +func Xsqlite3_unlock_notify(tls *libc.TLS, db uintptr, xNotify uintptr, pArg uintptr) int32 { /* sqlite3.c:173447:16: */ bp := tls.Alloc(8) defer tls.Free(8) *(*uintptr)(unsafe.Pointer(bp)) = pArg @@ -153191,7 +153222,7 @@ func Xsqlite3_unlock_notify(tls *libc.TLS, db uintptr, xNotify uintptr, pArg uin // associated with connection db. The operation will return SQLITE_LOCKED // to the user because it requires a lock that will not be available // until connection pBlocker concludes its current transaction. -func Xsqlite3ConnectionBlocked(tls *libc.TLS, db uintptr, pBlocker uintptr) { /* sqlite3.c:173440:21: */ +func Xsqlite3ConnectionBlocked(tls *libc.TLS, db uintptr, pBlocker uintptr) { /* sqlite3.c:173497:21: */ enterMutex(tls) if (*Sqlite3)(unsafe.Pointer(db)).FpBlockingConnection == uintptr(0) && (*Sqlite3)(unsafe.Pointer(db)).FpUnlockConnection == uintptr(0) { addToBlockedList(tls, db) @@ -153217,7 +153248,7 @@ func Xsqlite3ConnectionBlocked(tls *libc.TLS, db uintptr, pBlocker uintptr) { /* // 3) If the two steps above mean that pBlockingConnection==0 and // pUnlockConnection==0, remove the entry from the blocked connections // list. -func Xsqlite3ConnectionUnlocked(tls *libc.TLS, db uintptr) { /* sqlite3.c:173468:21: */ +func Xsqlite3ConnectionUnlocked(tls *libc.TLS, db uintptr) { /* sqlite3.c:173525:21: */ bp := tls.Alloc(128) defer tls.Free(128) @@ -153321,7 +153352,7 @@ func Xsqlite3ConnectionUnlocked(tls *libc.TLS, db uintptr) { /* sqlite3.c:173468 // This is called when the database connection passed as an argument is // being closed. The connection is removed from the blocked list. -func Xsqlite3ConnectionClosed(tls *libc.TLS, db uintptr) { /* sqlite3.c:173567:21: */ +func Xsqlite3ConnectionClosed(tls *libc.TLS, db uintptr) { /* sqlite3.c:173624:21: */ Xsqlite3ConnectionUnlocked(tls, db) enterMutex(tls) removeFromBlockedList(tls, db) @@ -153926,7 +153957,7 @@ var jsonIsSpace = [256]uint8{ uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), -} /* sqlite3.c:193144:19 */ +} /* sqlite3.c:193201:19 */ // Objects type JsonString1 = struct { @@ -153938,10 +153969,10 @@ type JsonString1 = struct { FbErr U8 FzSpace [100]uint8 F__ccgo_pad1 [2]byte -} /* sqlite3.c:193171:9 */ +} /* sqlite3.c:193228:9 */ // Objects -type JsonString = JsonString1 /* sqlite3.c:193171:27 */ +type JsonString = JsonString1 /* sqlite3.c:193228:27 */ type JsonNode1 = struct { FeType U8 FjnFlags U8 @@ -153949,9 +153980,9 @@ type JsonNode1 = struct { F__ccgo_pad1 [1]byte Fn U32 Fu struct{ FzJContent uintptr } -} /* sqlite3.c:193172:9 */ +} /* sqlite3.c:193229:9 */ -type JsonNode = JsonNode1 /* sqlite3.c:193172:25 */ +type JsonNode = JsonNode1 /* sqlite3.c:193229:25 */ type JsonParse1 = struct { FnNode U32 FnAlloc U32 @@ -153964,9 +153995,9 @@ type JsonParse1 = struct { FnJson int32 FiHold U32 F__ccgo_pad1 [4]byte -} /* sqlite3.c:193173:9 */ +} /* sqlite3.c:193230:9 */ -type JsonParse = JsonParse1 /* sqlite3.c:193173:26 */ +type JsonParse = JsonParse1 /* sqlite3.c:193230:26 */ // JSON type values @@ -153975,7 +154006,7 @@ type JsonParse = JsonParse1 /* sqlite3.c:193173:26 */ // Names of the various JSON types: var jsonType = [8]uintptr{ ts + 6132, ts + 6646, ts + 6651, ts + 6142, ts + 6137, ts + 7892, ts + 24309, ts + 24315, -} /* sqlite3.c:193206:19 */ +} /* sqlite3.c:193263:19 */ // Maximum nesting depth of JSON for this implementation. // @@ -153989,7 +154020,7 @@ var jsonType = [8]uintptr{ // // Set the JsonString object to an empty string -func jsonZero(tls *libc.TLS, p uintptr) { /* sqlite3.c:193267:13: */ +func jsonZero(tls *libc.TLS, p uintptr) { /* sqlite3.c:193324:13: */ (*JsonString)(unsafe.Pointer(p)).FzBuf = p + 34 /* &.zSpace */ (*JsonString)(unsafe.Pointer(p)).FnAlloc = U64(unsafe.Sizeof([100]uint8{})) (*JsonString)(unsafe.Pointer(p)).FnUsed = uint64(0) @@ -153997,7 +154028,7 @@ func jsonZero(tls *libc.TLS, p uintptr) { /* sqlite3.c:193267:13: */ } // Initialize the JsonString object -func jsonInit(tls *libc.TLS, p uintptr, pCtx uintptr) { /* sqlite3.c:193276:13: */ +func jsonInit(tls *libc.TLS, p uintptr, pCtx uintptr) { /* sqlite3.c:193333:13: */ (*JsonString)(unsafe.Pointer(p)).FpCtx = pCtx (*JsonString)(unsafe.Pointer(p)).FbErr = U8(0) jsonZero(tls, p) @@ -154005,7 +154036,7 @@ func jsonInit(tls *libc.TLS, p uintptr, pCtx uintptr) { /* sqlite3.c:193276:13: // Free all allocated memory and reset the JsonString object back to its // initial state. -func jsonReset(tls *libc.TLS, p uintptr) { /* sqlite3.c:193286:13: */ +func jsonReset(tls *libc.TLS, p uintptr) { /* sqlite3.c:193343:13: */ if !(int32((*JsonString)(unsafe.Pointer(p)).FbStatic) != 0) { Xsqlite3_free(tls, (*JsonString)(unsafe.Pointer(p)).FzBuf) } @@ -154013,7 +154044,7 @@ func jsonReset(tls *libc.TLS, p uintptr) { /* sqlite3.c:193286:13: */ } // Report an out-of-memory (OOM) condition -func jsonOom(tls *libc.TLS, p uintptr) { /* sqlite3.c:193294:13: */ +func jsonOom(tls *libc.TLS, p uintptr) { /* sqlite3.c:193351:13: */ (*JsonString)(unsafe.Pointer(p)).FbErr = U8(1) Xsqlite3_result_error_nomem(tls, (*JsonString)(unsafe.Pointer(p)).FpCtx) jsonReset(tls, p) @@ -154021,7 +154052,7 @@ func jsonOom(tls *libc.TLS, p uintptr) { /* sqlite3.c:193294:13: */ // Enlarge pJson->zBuf so that it can hold at least N more bytes. // Return zero on success. Return non-zero on an OOM error -func jsonGrow(tls *libc.TLS, p uintptr, N U32) int32 { /* sqlite3.c:193303:12: */ +func jsonGrow(tls *libc.TLS, p uintptr, N U32) int32 { /* sqlite3.c:193360:12: */ var nTotal U64 if U64(N) < (*JsonString)(unsafe.Pointer(p)).FnAlloc { nTotal = (*JsonString)(unsafe.Pointer(p)).FnAlloc * uint64(2) @@ -154054,7 +154085,7 @@ func jsonGrow(tls *libc.TLS, p uintptr, N U32) int32 { /* sqlite3.c:193303:12: * } // Append N bytes from zIn onto the end of the JsonString string. -func jsonAppendRaw(tls *libc.TLS, p uintptr, zIn uintptr, N U32) { /* sqlite3.c:193330:13: */ +func jsonAppendRaw(tls *libc.TLS, p uintptr, zIn uintptr, N U32) { /* sqlite3.c:193387:13: */ if N == U32(0) { return } @@ -154066,7 +154097,7 @@ func jsonAppendRaw(tls *libc.TLS, p uintptr, zIn uintptr, N U32) { /* sqlite3.c: } // Append formatted text (not to exceed N bytes) to the JsonString. -func jsonPrintf(tls *libc.TLS, N int32, p uintptr, zFormat uintptr, va uintptr) { /* sqlite3.c:193339:13: */ +func jsonPrintf(tls *libc.TLS, N int32, p uintptr, zFormat uintptr, va uintptr) { /* sqlite3.c:193396:13: */ var ap Va_list _ = ap if (*JsonString)(unsafe.Pointer(p)).FnUsed+U64(N) >= (*JsonString)(unsafe.Pointer(p)).FnAlloc && jsonGrow(tls, p, uint32(N)) != 0 { @@ -154079,7 +154110,7 @@ func jsonPrintf(tls *libc.TLS, N int32, p uintptr, zFormat uintptr, va uintptr) } // Append a single character -func jsonAppendChar(tls *libc.TLS, p uintptr, c uint8) { /* sqlite3.c:193350:13: */ +func jsonAppendChar(tls *libc.TLS, p uintptr, c uint8) { /* sqlite3.c:193407:13: */ if (*JsonString)(unsafe.Pointer(p)).FnUsed >= (*JsonString)(unsafe.Pointer(p)).FnAlloc && jsonGrow(tls, p, uint32(1)) != 0 { return } @@ -154088,7 +154119,7 @@ func jsonAppendChar(tls *libc.TLS, p uintptr, c uint8) { /* sqlite3.c:193350:13: // Append a comma separator to the output buffer, if the previous // character is not '[' or '{'. -func jsonAppendSeparator(tls *libc.TLS, p uintptr) { /* sqlite3.c:193358:13: */ +func jsonAppendSeparator(tls *libc.TLS, p uintptr) { /* sqlite3.c:193415:13: */ var c uint8 if (*JsonString)(unsafe.Pointer(p)).FnUsed == uint64(0) { return @@ -154103,7 +154134,7 @@ func jsonAppendSeparator(tls *libc.TLS, p uintptr) { /* sqlite3.c:193358:13: */ // under construction. Enclose the string in "..." and escape // any double-quotes or backslash characters contained within the // string. -func jsonAppendString(tls *libc.TLS, p uintptr, zIn uintptr, N U32) { /* sqlite3.c:193370:13: */ +func jsonAppendString(tls *libc.TLS, p uintptr, zIn uintptr, N U32) { /* sqlite3.c:193427:13: */ var i U32 var c uint8 if !(zIn == uintptr(0) || U64(N)+(*JsonString)(unsafe.Pointer(p)).FnUsed+uint64(2) >= (*JsonString)(unsafe.Pointer(p)).FnAlloc && jsonGrow(tls, p, N+U32(2)) != 0) { @@ -154174,11 +154205,11 @@ __4: var aSpecial = [32]uint8{ uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8('b'), uint8('t'), uint8('n'), uint8(0), uint8('f'), uint8('r'), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), -} /* sqlite3.c:193381:25 */ +} /* sqlite3.c:193438:25 */ // Append a function parameter value to the JSON string under // construction. -func jsonAppendValue(tls *libc.TLS, p uintptr, pValue uintptr) { /* sqlite3.c:193413:13: */ +func jsonAppendValue(tls *libc.TLS, p uintptr, pValue uintptr) { /* sqlite3.c:193470:13: */ switch Xsqlite3_value_type(tls, pValue) { case SQLITE_NULL: { @@ -154222,7 +154253,7 @@ func jsonAppendValue(tls *libc.TLS, p uintptr, pValue uintptr) { /* sqlite3.c:19 } // Make the JSON in p the result of the SQL function. -func jsonResult(tls *libc.TLS, p uintptr) { /* sqlite3.c:193453:13: */ +func jsonResult(tls *libc.TLS, p uintptr) { /* sqlite3.c:193510:13: */ if int32((*JsonString)(unsafe.Pointer(p)).FbErr) == 0 { Xsqlite3_result_text64(tls, (*JsonString)(unsafe.Pointer(p)).FpCtx, (*JsonString)(unsafe.Pointer(p)).FzBuf, (*JsonString)(unsafe.Pointer(p)).FnUsed, func() uintptr { @@ -154249,7 +154280,7 @@ func jsonResult(tls *libc.TLS, p uintptr) { /* sqlite3.c:193453:13: */ // Appended elements are not counted. The value returned is the number // by which the JsonNode counter should increment in order to go to the // next peer value. -func jsonNodeSize(tls *libc.TLS, pNode uintptr) U32 { /* sqlite3.c:193476:12: */ +func jsonNodeSize(tls *libc.TLS, pNode uintptr) U32 { /* sqlite3.c:193533:12: */ if int32((*JsonNode)(unsafe.Pointer(pNode)).FeType) >= JSON_ARRAY { return (*JsonNode)(unsafe.Pointer(pNode)).Fn + U32(1) } @@ -154258,7 +154289,7 @@ func jsonNodeSize(tls *libc.TLS, pNode uintptr) U32 { /* sqlite3.c:193476:12: */ // Reclaim all memory allocated by a JsonParse object. But do not // delete the JsonParse object itself. -func jsonParseReset(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:193484:13: */ +func jsonParseReset(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:193541:13: */ Xsqlite3_free(tls, (*JsonParse)(unsafe.Pointer(pParse)).FaNode) (*JsonParse)(unsafe.Pointer(pParse)).FaNode = uintptr(0) (*JsonParse)(unsafe.Pointer(pParse)).FnNode = U32(0) @@ -154268,7 +154299,7 @@ func jsonParseReset(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:193484:13: */ } // Free a JsonParse object that was obtained from sqlite3_malloc(). -func jsonParseFree(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:193496:13: */ +func jsonParseFree(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:193553:13: */ jsonParseReset(tls, pParse) Xsqlite3_free(tls, pParse) } @@ -154276,7 +154307,7 @@ func jsonParseFree(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:193496:13: */ // Convert the JsonNode pNode into a pure JSON string and // append to pOut. Subsubstructure is also included. Return // the number of JsonNode objects that are encoded. -func jsonRenderNode(tls *libc.TLS, pNode uintptr, pOut uintptr, aReplace uintptr) { /* sqlite3.c:193506:13: */ +func jsonRenderNode(tls *libc.TLS, pNode uintptr, pOut uintptr, aReplace uintptr) { /* sqlite3.c:193563:13: */ if int32((*JsonNode)(unsafe.Pointer(pNode)).FjnFlags)&(JNODE_REPLACE|JNODE_PATCH) != 0 { if int32((*JsonNode)(unsafe.Pointer(pNode)).FjnFlags)&JNODE_REPLACE != 0 && aReplace != uintptr(0) { @@ -154378,7 +154409,7 @@ func jsonRenderNode(tls *libc.TLS, pNode uintptr, pOut uintptr, aReplace uintptr } // Return a JsonNode and all its descendents as a JSON string. -func jsonReturnJson(tls *libc.TLS, pNode uintptr, pCtx uintptr, aReplace uintptr) { /* sqlite3.c:193595:13: */ +func jsonReturnJson(tls *libc.TLS, pNode uintptr, pCtx uintptr, aReplace uintptr) { /* sqlite3.c:193652:13: */ bp := tls.Alloc(136) defer tls.Free(136) @@ -154393,14 +154424,14 @@ func jsonReturnJson(tls *libc.TLS, pNode uintptr, pCtx uintptr, aReplace uintptr // Translate a single byte of Hex into an integer. // This routine only works if h really is a valid hexadecimal // character: 0..9a..fA..F -func jsonHexToInt(tls *libc.TLS, h int32) U8 { /* sqlite3.c:193612:11: */ +func jsonHexToInt(tls *libc.TLS, h int32) U8 { /* sqlite3.c:193669:11: */ h = h + 9*(1&(h>>6)) return U8(h & 0xf) } // Convert a 4-byte hex string into an integer -func jsonHexToInt4(tls *libc.TLS, z uintptr) U32 { /* sqlite3.c:193625:12: */ +func jsonHexToInt4(tls *libc.TLS, z uintptr) U32 { /* sqlite3.c:193682:12: */ var v U32 v = U32(int32(jsonHexToInt(tls, int32(*(*uint8)(unsafe.Pointer(z)))))<<12 + @@ -154411,7 +154442,7 @@ func jsonHexToInt4(tls *libc.TLS, z uintptr) U32 { /* sqlite3.c:193625:12: */ } // Make the JsonNode the return value of the function. -func jsonReturn(tls *libc.TLS, pNode uintptr, pCtx uintptr, aReplace uintptr) { /* sqlite3.c:193641:13: */ +func jsonReturn(tls *libc.TLS, pNode uintptr, pCtx uintptr, aReplace uintptr) { /* sqlite3.c:193698:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -154692,7 +154723,7 @@ __1: // A macro to hint to the compiler that a function should not be // inlined. -func jsonParseAddNodeExpand(tls *libc.TLS, pParse uintptr, eType U32, n U32, zContent uintptr) int32 { /* sqlite3.c:193814:26: */ +func jsonParseAddNodeExpand(tls *libc.TLS, pParse uintptr, eType U32, n U32, zContent uintptr) int32 { /* sqlite3.c:193871:26: */ var nNew U32 var pNew uintptr @@ -154714,7 +154745,7 @@ func jsonParseAddNodeExpand(tls *libc.TLS, pParse uintptr, eType U32, n U32, zCo // Create a new JsonNode instance based on the arguments and append that // instance to the JsonParse. Return the index in pParse->aNode[] of the // new node, or -1 if a memory allocation fails. -func jsonParseAddNode(tls *libc.TLS, pParse uintptr, eType U32, n U32, zContent uintptr) int32 { /* sqlite3.c:193841:12: */ +func jsonParseAddNode(tls *libc.TLS, pParse uintptr, eType U32, n U32, zContent uintptr) int32 { /* sqlite3.c:193898:12: */ var p uintptr if (*JsonParse)(unsafe.Pointer(pParse)).FaNode == uintptr(0) || (*JsonParse)(unsafe.Pointer(pParse)).FnNode >= (*JsonParse)(unsafe.Pointer(pParse)).FnAlloc { return jsonParseAddNodeExpand(tls, pParse, eType, n, zContent) @@ -154729,7 +154760,7 @@ func jsonParseAddNode(tls *libc.TLS, pParse uintptr, eType U32, n U32, zContent } // Return true if z[] begins with 4 (or more) hexadecimal digits -func jsonIs4Hex(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:193863:12: */ +func jsonIs4Hex(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:193920:12: */ var i int32 for i = 0; i < 4; i++ { if !(int32(Xsqlite3CtypeMap[uint8(*(*uint8)(unsafe.Pointer(z + uintptr(i))))])&0x08 != 0) { @@ -154745,7 +154776,7 @@ func jsonIs4Hex(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:193863:12: */ // Return negative for a syntax error. Special cases: return -2 if the // first non-whitespace character is '}' and return -3 if the first // non-whitespace character is ']'. -func jsonParseValue(tls *libc.TLS, pParse uintptr, i U32) int32 { /* sqlite3.c:193877:12: */ +func jsonParseValue(tls *libc.TLS, pParse uintptr, i U32) int32 { /* sqlite3.c:193934:12: */ var c uint8 var j U32 var iThis int32 @@ -154972,7 +155003,7 @@ func jsonParseValue(tls *libc.TLS, pParse uintptr, i U32) int32 { /* sqlite3.c:1 // pParse. // // pParse is uninitialized when this routine is called. -func jsonParse(tls *libc.TLS, pParse uintptr, pCtx uintptr, zJson uintptr) int32 { /* sqlite3.c:194038:12: */ +func jsonParse(tls *libc.TLS, pParse uintptr, pCtx uintptr, zJson uintptr) int32 { /* sqlite3.c:194095:12: */ var i int32 libc.Xmemset(tls, pParse, 0, uint64(unsafe.Sizeof(JsonParse{}))) if zJson == uintptr(0) { @@ -155008,7 +155039,7 @@ func jsonParse(tls *libc.TLS, pParse uintptr, pCtx uintptr, zJson uintptr) int32 // Mark node i of pParse as being a child of iParent. Call recursively // to fill in all the descendants of node i. -func jsonParseFillInParentage(tls *libc.TLS, pParse uintptr, i U32, iParent U32) { /* sqlite3.c:194071:13: */ +func jsonParseFillInParentage(tls *libc.TLS, pParse uintptr, i U32, iParent U32) { /* sqlite3.c:194128:13: */ var pNode uintptr = (*JsonParse)(unsafe.Pointer(pParse)).FaNode + uintptr(i)*16 var j U32 *(*U32)(unsafe.Pointer((*JsonParse)(unsafe.Pointer(pParse)).FaUp + uintptr(i)*4)) = iParent @@ -155039,7 +155070,7 @@ func jsonParseFillInParentage(tls *libc.TLS, pParse uintptr, i U32, iParent U32) } // Compute the parentage of all nodes in a completed parse. -func jsonParseFindParents(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:194098:12: */ +func jsonParseFindParents(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:194155:12: */ var aUp uintptr aUp = libc.AssignPtrUintptr(pParse+24, Xsqlite3_malloc64(tls, uint64(uint64(unsafe.Sizeof(U32(0)))*uint64((*JsonParse)(unsafe.Pointer(pParse)).FnNode)))) @@ -155059,7 +155090,7 @@ func jsonParseFindParents(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:19 // is no longer valid, parse the JSON again and return the new parse, // and also register the new parse so that it will be available for // future sqlite3_get_auxdata() calls. -func jsonParseCached(tls *libc.TLS, pCtx uintptr, argv uintptr, pErrCtx uintptr) uintptr { /* sqlite3.c:194124:18: */ +func jsonParseCached(tls *libc.TLS, pCtx uintptr, argv uintptr, pErrCtx uintptr) uintptr { /* sqlite3.c:194181:18: */ var zJson uintptr = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv))) var nJson int32 = Xsqlite3_value_bytes(tls, *(*uintptr)(unsafe.Pointer(argv))) var p uintptr @@ -155116,7 +155147,7 @@ func jsonParseCached(tls *libc.TLS, pCtx uintptr, argv uintptr, pErrCtx uintptr) // Compare the OBJECT label at pNode against zKey,nKey. Return true on // a match. -func jsonLabelCompare(tls *libc.TLS, pNode uintptr, zKey uintptr, nKey U32) int32 { /* sqlite3.c:194186:12: */ +func jsonLabelCompare(tls *libc.TLS, pNode uintptr, zKey uintptr, nKey U32) int32 { /* sqlite3.c:194243:12: */ if int32((*JsonNode)(unsafe.Pointer(pNode)).FjnFlags)&JNODE_RAW != 0 { if (*JsonNode)(unsafe.Pointer(pNode)).Fn != nKey { @@ -155139,7 +155170,7 @@ func jsonLabelCompare(tls *libc.TLS, pNode uintptr, zKey uintptr, nKey U32) int3 // If pApnd!=0, then try to append new nodes to complete zPath if it is // possible to do so and if no existing node corresponds to zPath. If // new nodes are appended *pApnd is set to 1. -func jsonLookupStep(tls *libc.TLS, pParse uintptr, iRoot U32, zPath uintptr, pApnd uintptr, pzErr uintptr) uintptr { /* sqlite3.c:194209:17: */ +func jsonLookupStep(tls *libc.TLS, pParse uintptr, iRoot U32, zPath uintptr, pApnd uintptr, pzErr uintptr) uintptr { /* sqlite3.c:194266:17: */ var i U32 var j U32 var nKey U32 @@ -155314,7 +155345,7 @@ func jsonLookupStep(tls *libc.TLS, pParse uintptr, iRoot U32, zPath uintptr, pAp // Append content to pParse that will complete zPath. Return a pointer // to the inserted node, or return NULL if the append fails. -func jsonLookupAppend(tls *libc.TLS, pParse uintptr, zPath uintptr, pApnd uintptr, pzErr uintptr) uintptr { /* sqlite3.c:194361:17: */ +func jsonLookupAppend(tls *libc.TLS, pParse uintptr, zPath uintptr, pApnd uintptr, pzErr uintptr) uintptr { /* sqlite3.c:194418:17: */ *(*int32)(unsafe.Pointer(pApnd)) = 1 if int32(*(*uint8)(unsafe.Pointer(zPath))) == 0 { jsonParseAddNode(tls, pParse, uint32(JSON_NULL), uint32(0), uintptr(0)) @@ -155338,7 +155369,7 @@ func jsonLookupAppend(tls *libc.TLS, pParse uintptr, zPath uintptr, pApnd uintpt // Return the text of a syntax error message on a JSON path. Space is // obtained from sqlite3_malloc(). -func jsonPathSyntaxError(tls *libc.TLS, zErr uintptr) uintptr { /* sqlite3.c:194387:13: */ +func jsonPathSyntaxError(tls *libc.TLS, zErr uintptr) uintptr { /* sqlite3.c:194444:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -155353,7 +155384,7 @@ func jsonPathSyntaxError(tls *libc.TLS, zErr uintptr) uintptr { /* sqlite3.c:194 // // If pApnd!=NULL then try to append missing nodes and set *pApnd = 1 if // nodes are appended. -func jsonLookup(tls *libc.TLS, pParse uintptr, zPath uintptr, pApnd uintptr, pCtx uintptr) uintptr { /* sqlite3.c:194401:17: */ +func jsonLookup(tls *libc.TLS, pParse uintptr, zPath uintptr, pApnd uintptr, pCtx uintptr) uintptr { /* sqlite3.c:194458:17: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -155405,7 +155436,7 @@ __5: // Report the wrong number of arguments for json_insert(), json_replace() // or json_set(). -func jsonWrongNumArgs(tls *libc.TLS, pCtx uintptr, zFuncName uintptr) { /* sqlite3.c:194438:13: */ +func jsonWrongNumArgs(tls *libc.TLS, pCtx uintptr, zFuncName uintptr) { /* sqlite3.c:194495:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -155416,7 +155447,7 @@ func jsonWrongNumArgs(tls *libc.TLS, pCtx uintptr, zFuncName uintptr) { /* sqlit } // Mark all NULL entries in the Object passed in as JNODE_REMOVE. -func jsonRemoveAllNulls(tls *libc.TLS, pNode uintptr) { /* sqlite3.c:194451:13: */ +func jsonRemoveAllNulls(tls *libc.TLS, pNode uintptr) { /* sqlite3.c:194508:13: */ var i int32 var n int32 @@ -155447,7 +155478,7 @@ func jsonRemoveAllNulls(tls *libc.TLS, pNode uintptr) { /* sqlite3.c:194451:13: // corresponding to the SQL value input. Mostly this means putting // double-quotes around strings and returning the unquoted string "null" // when given a NULL input. -func jsonQuoteFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:194540:13: */ +func jsonQuoteFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:194597:13: */ bp := tls.Alloc(136) defer tls.Free(136) @@ -155464,7 +155495,7 @@ func jsonQuoteFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sq // Implementation of the json_array(VALUE,...) function. Return a JSON // array that contains all values given in arguments. Or if any argument // is a BLOB, throw an error. -func jsonArrayFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:194559:13: */ +func jsonArrayFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:194616:13: */ bp := tls.Alloc(136) defer tls.Free(136) @@ -155487,7 +155518,7 @@ func jsonArrayFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sq // // Return the number of elements in the top-level JSON array. // Return 0 if the input is not a well-formed JSON array. -func jsonArrayLengthFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:194586:13: */ +func jsonArrayLengthFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:194643:13: */ var p uintptr // The parse var n Sqlite3_int64 = int64(0) var i U32 @@ -155537,7 +155568,7 @@ func jsonArrayLengthFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { // // Abbreviated JSON path expressions are allows if JSON_ABPATH, for // compatibility with PG. -func jsonExtractFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:194646:13: */ +func jsonExtractFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:194703:13: */ bp := tls.Alloc(136) defer tls.Free(136) @@ -155631,7 +155662,7 @@ func jsonExtractFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* } // This is the RFC 7396 MergePatch algorithm. -func jsonMergePatch(tls *libc.TLS, pParse uintptr, iTarget U32, pPatch uintptr) uintptr { /* sqlite3.c:194729:17: */ +func jsonMergePatch(tls *libc.TLS, pParse uintptr, iTarget U32, pPatch uintptr) uintptr { /* sqlite3.c:194786:17: */ var i U32 var j U32 var iRoot U32 @@ -155704,7 +155735,7 @@ func jsonMergePatch(tls *libc.TLS, pParse uintptr, iTarget U32, pPatch uintptr) // Implementation of the json_mergepatch(JSON1,JSON2) function. Return a JSON // object that is the result of running the RFC 7396 MergePatch() algorithm // on the two arguments. -func jsonPatchFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:194811:13: */ +func jsonPatchFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:194868:13: */ bp := tls.Alloc(96) defer tls.Free(96) @@ -155736,7 +155767,7 @@ func jsonPatchFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sq // Implementation of the json_object(NAME,VALUE,...) function. Return a JSON // object that contains all name/value given in arguments. Or if any name // is not a string or if any value is a BLOB, throw an error. -func jsonObjectFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:194843:13: */ +func jsonObjectFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:194900:13: */ bp := tls.Alloc(136) defer tls.Free(136) @@ -155775,7 +155806,7 @@ func jsonObjectFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* s // // Remove the named elements from JSON and return the result. malformed // JSON or PATH arguments result in an error. -func jsonRemoveFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:194885:13: */ +func jsonRemoveFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:194942:13: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -155844,7 +155875,7 @@ remove_done: // // Replace the value at PATH with VALUE. If PATH does not already exist, // this routine is a no-op. If JSON or PATH is malformed, throw an error. -func jsonReplaceFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:194918:13: */ +func jsonReplaceFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:194975:13: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -155927,7 +155958,7 @@ replace_err: // // Create PATH and initialize it to VALUE. If PATH already exists, this // routine is a no-op. If JSON or PATH is malformed, throw an error. -func jsonSetFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:194970:13: */ +func jsonSetFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:195027:13: */ bp := tls.Alloc(52) defer tls.Free(52) @@ -156025,7 +156056,7 @@ jsonSetDone: // // Return the top-level "type" of a JSON string. json_type() raises an // error if either the JSON or PATH inputs are not well-formed. -func jsonTypeFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:195023:13: */ +func jsonTypeFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:195080:13: */ var p uintptr // The parse var zPath uintptr var pNode uintptr @@ -156049,7 +156080,7 @@ func jsonTypeFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sql // // Return 1 if JSON is a well-formed JSON string according to RFC-7159. // Return 0 otherwise. -func jsonValidFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:195051:13: */ +func jsonValidFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:195108:13: */ var p uintptr // The parse _ = argc p = jsonParseCached(tls, ctx, argv, uintptr(0)) @@ -156063,7 +156094,7 @@ func jsonValidFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sq // json_group_array(VALUE) // // Return a JSON array composed of all values in the aggregate. -func jsonArrayStep(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:195071:13: */ +func jsonArrayStep(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:195128:13: */ var pStr uintptr _ = argc pStr = Xsqlite3_aggregate_context(tls, ctx, int32(unsafe.Sizeof(JsonString{}))) @@ -156079,7 +156110,7 @@ func jsonArrayStep(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sq } } -func jsonArrayCompute(tls *libc.TLS, ctx uintptr, isFinal int32) { /* sqlite3.c:195090:13: */ +func jsonArrayCompute(tls *libc.TLS, ctx uintptr, isFinal int32) { /* sqlite3.c:195147:13: */ var pStr uintptr pStr = Xsqlite3_aggregate_context(tls, ctx, 0) if pStr != 0 { @@ -156109,11 +156140,11 @@ func jsonArrayCompute(tls *libc.TLS, ctx uintptr, isFinal int32) { /* sqlite3.c: Xsqlite3_result_subtype(tls, ctx, uint32(JSON_SUBTYPE)) } -func jsonArrayValue(tls *libc.TLS, ctx uintptr) { /* sqlite3.c:195112:13: */ +func jsonArrayValue(tls *libc.TLS, ctx uintptr) { /* sqlite3.c:195169:13: */ jsonArrayCompute(tls, ctx, 0) } -func jsonArrayFinal(tls *libc.TLS, ctx uintptr) { /* sqlite3.c:195115:13: */ +func jsonArrayFinal(tls *libc.TLS, ctx uintptr) { /* sqlite3.c:195172:13: */ jsonArrayCompute(tls, ctx, 1) } @@ -156121,7 +156152,7 @@ func jsonArrayFinal(tls *libc.TLS, ctx uintptr) { /* sqlite3.c:195115:13: */ // It works by removing the first element of the group by searching forward // to the first comma (",") that is not within a string and deleting all // text through that comma. -func jsonGroupInverse(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:195126:13: */ +func jsonGroupInverse(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:195183:13: */ var i uint32 var inStr int32 = 0 var nNest int32 = 0 @@ -156163,7 +156194,7 @@ func jsonGroupInverse(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* // json_group_obj(NAME,VALUE) // // Return a JSON object composed of all names and values in the aggregate. -func jsonObjectStep(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:195174:13: */ +func jsonObjectStep(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:195231:13: */ var pStr uintptr var z uintptr var n U32 @@ -156185,7 +156216,7 @@ func jsonObjectStep(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* s } } -func jsonObjectCompute(tls *libc.TLS, ctx uintptr, isFinal int32) { /* sqlite3.c:195199:13: */ +func jsonObjectCompute(tls *libc.TLS, ctx uintptr, isFinal int32) { /* sqlite3.c:195256:13: */ var pStr uintptr pStr = Xsqlite3_aggregate_context(tls, ctx, 0) if pStr != 0 { @@ -156214,11 +156245,11 @@ func jsonObjectCompute(tls *libc.TLS, ctx uintptr, isFinal int32) { /* sqlite3.c Xsqlite3_result_subtype(tls, ctx, uint32(JSON_SUBTYPE)) } -func jsonObjectValue(tls *libc.TLS, ctx uintptr) { /* sqlite3.c:195220:13: */ +func jsonObjectValue(tls *libc.TLS, ctx uintptr) { /* sqlite3.c:195277:13: */ jsonObjectCompute(tls, ctx, 0) } -func jsonObjectFinal(tls *libc.TLS, ctx uintptr) { /* sqlite3.c:195223:13: */ +func jsonObjectFinal(tls *libc.TLS, ctx uintptr) { /* sqlite3.c:195280:13: */ jsonObjectCompute(tls, ctx, 1) } @@ -156238,16 +156269,16 @@ type JsonEachCursor1 = struct { FzJson uintptr FzRoot uintptr FsParse JsonParse -} /* sqlite3.c:195233:9 */ +} /* sqlite3.c:195290:9 */ // *************************************************************************** // // The json_each virtual table // -type JsonEachCursor = JsonEachCursor1 /* sqlite3.c:195233:31 */ +type JsonEachCursor = JsonEachCursor1 /* sqlite3.c:195290:31 */ // Constructor for the json_each virtual table -func jsonEachConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 { /* sqlite3.c:195248:12: */ +func jsonEachConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 { /* sqlite3.c:195305:12: */ var pNew uintptr var rc int32 @@ -156275,13 +156306,13 @@ func jsonEachConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv u } // destructor for json_each virtual table -func jsonEachDisconnect(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:195290:12: */ +func jsonEachDisconnect(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:195347:12: */ Xsqlite3_free(tls, pVtab) return SQLITE_OK } // constructor for a JsonEachCursor object for json_each(). -func jsonEachOpenEach(tls *libc.TLS, p uintptr, ppCursor uintptr) int32 { /* sqlite3.c:195296:12: */ +func jsonEachOpenEach(tls *libc.TLS, p uintptr, ppCursor uintptr) int32 { /* sqlite3.c:195353:12: */ var pCur uintptr _ = p @@ -156295,7 +156326,7 @@ func jsonEachOpenEach(tls *libc.TLS, p uintptr, ppCursor uintptr) int32 { /* sql } // constructor for a JsonEachCursor object for json_tree(). -func jsonEachOpenTree(tls *libc.TLS, p uintptr, ppCursor uintptr) int32 { /* sqlite3.c:195308:12: */ +func jsonEachOpenTree(tls *libc.TLS, p uintptr, ppCursor uintptr) int32 { /* sqlite3.c:195365:12: */ var rc int32 = jsonEachOpenEach(tls, p, ppCursor) if rc == SQLITE_OK { var pCur uintptr = *(*uintptr)(unsafe.Pointer(ppCursor)) @@ -156306,7 +156337,7 @@ func jsonEachOpenTree(tls *libc.TLS, p uintptr, ppCursor uintptr) int32 { /* sql // Reset a JsonEachCursor back to its original state. Free any memory // held. -func jsonEachCursorReset(tls *libc.TLS, p uintptr) { /* sqlite3.c:195319:13: */ +func jsonEachCursorReset(tls *libc.TLS, p uintptr) { /* sqlite3.c:195376:13: */ Xsqlite3_free(tls, (*JsonEachCursor)(unsafe.Pointer(p)).FzJson) Xsqlite3_free(tls, (*JsonEachCursor)(unsafe.Pointer(p)).FzRoot) jsonParseReset(tls, p+48) @@ -156319,7 +156350,7 @@ func jsonEachCursorReset(tls *libc.TLS, p uintptr) { /* sqlite3.c:195319:13: */ } // Destructor for a jsonEachCursor object -func jsonEachClose(tls *libc.TLS, cur uintptr) int32 { /* sqlite3.c:195332:12: */ +func jsonEachClose(tls *libc.TLS, cur uintptr) int32 { /* sqlite3.c:195389:12: */ var p uintptr = cur jsonEachCursorReset(tls, p) Xsqlite3_free(tls, cur) @@ -156328,13 +156359,13 @@ func jsonEachClose(tls *libc.TLS, cur uintptr) int32 { /* sqlite3.c:195332:12: * // Return TRUE if the jsonEachCursor object has been advanced off the end // of the JSON object -func jsonEachEof(tls *libc.TLS, cur uintptr) int32 { /* sqlite3.c:195341:12: */ +func jsonEachEof(tls *libc.TLS, cur uintptr) int32 { /* sqlite3.c:195398:12: */ var p uintptr = cur return libc.Bool32((*JsonEachCursor)(unsafe.Pointer(p)).Fi >= (*JsonEachCursor)(unsafe.Pointer(p)).FiEnd) } // Advance the cursor to the next element for json_tree() -func jsonEachNext(tls *libc.TLS, cur uintptr) int32 { /* sqlite3.c:195347:12: */ +func jsonEachNext(tls *libc.TLS, cur uintptr) int32 { /* sqlite3.c:195404:12: */ var p uintptr = cur if (*JsonEachCursor)(unsafe.Pointer(p)).FbRecursive != 0 { if int32((*JsonNode)(unsafe.Pointer((*JsonEachCursor)(unsafe.Pointer(p)).FsParse.FaNode+uintptr((*JsonEachCursor)(unsafe.Pointer(p)).Fi)*16)).FjnFlags)&JNODE_LABEL != 0 { @@ -156385,7 +156416,7 @@ func jsonEachNext(tls *libc.TLS, cur uintptr) int32 { /* sqlite3.c:195347:12: */ } // Append the name of the path for element i to pStr -func jsonEachComputePath(tls *libc.TLS, p uintptr, pStr uintptr, i U32) { /* sqlite3.c:195391:13: */ +func jsonEachComputePath(tls *libc.TLS, p uintptr, pStr uintptr, i U32) { /* sqlite3.c:195448:13: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -156414,7 +156445,7 @@ func jsonEachComputePath(tls *libc.TLS, p uintptr, pStr uintptr, i U32) { /* sql } // Return the value of a column -func jsonEachColumn(tls *libc.TLS, cur uintptr, ctx uintptr, i int32) int32 { /* sqlite3.c:195421:12: */ +func jsonEachColumn(tls *libc.TLS, cur uintptr, ctx uintptr, i int32) int32 { /* sqlite3.c:195478:12: */ bp := tls.Alloc(296) defer tls.Free(296) @@ -156548,7 +156579,7 @@ func jsonEachColumn(tls *libc.TLS, cur uintptr, ctx uintptr, i int32) int32 { /* } // Return the current rowid value -func jsonEachRowid(tls *libc.TLS, cur uintptr, pRowid uintptr) int32 { /* sqlite3.c:195522:12: */ +func jsonEachRowid(tls *libc.TLS, cur uintptr, pRowid uintptr) int32 { /* sqlite3.c:195579:12: */ var p uintptr = cur *(*Sqlite_int64)(unsafe.Pointer(pRowid)) = Sqlite_int64((*JsonEachCursor)(unsafe.Pointer(p)).FiRowid) return SQLITE_OK @@ -156558,7 +156589,7 @@ func jsonEachRowid(tls *libc.TLS, cur uintptr, pRowid uintptr) int32 { /* sqlite // column. Without such a constraint, the table cannot operate. idxNum is // 1 if the constraint is found, 3 if the constraint and zRoot are found, // and 0 otherwise. -func jsonEachBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 { /* sqlite3.c:195533:12: */ +func jsonEachBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 { /* sqlite3.c:195590:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -156633,7 +156664,7 @@ __3: } // Start a search on a new JSON string -func jsonEachFilter(tls *libc.TLS, cur uintptr, idxNum int32, idxStr uintptr, argc int32, argv uintptr) int32 { /* sqlite3.c:195592:12: */ +func jsonEachFilter(tls *libc.TLS, cur uintptr, idxNum int32, idxStr uintptr, argc int32, argv uintptr) int32 { /* sqlite3.c:195649:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -156738,7 +156769,7 @@ var jsonEachModule = Sqlite3_module{ // xCreate FxEof: 0, // xEof - check for end of scan FxColumn: 0, // xColumn - read data FxRowid: 0, // xShadowName -} /* sqlite3.c:195673:23 */ +} /* sqlite3.c:195730:23 */ // The methods of the json_tree virtual table. var jsonTreeModule = Sqlite3_module{ // xCreate @@ -156752,10 +156783,10 @@ var jsonTreeModule = Sqlite3_module{ // xCreate FxEof: 0, // xEof - check for end of scan FxColumn: 0, // xColumn - read data FxRowid: 0, // xShadowName -} /* sqlite3.c:195701:23 */ +} /* sqlite3.c:195758:23 */ // Register JSON functions. -func Xsqlite3RegisterJsonFunctions(tls *libc.TLS) { /* sqlite3.c:195733:21: */ +func Xsqlite3RegisterJsonFunctions(tls *libc.TLS) { /* sqlite3.c:195790:21: */ Xsqlite3InsertBuiltinFuncs(tls, uintptr(unsafe.Pointer(&aJsonFunc)), int32(uint64(unsafe.Sizeof(aJsonFunc))/uint64(unsafe.Sizeof(FuncDef{})))) } @@ -156778,10 +156809,10 @@ var aJsonFunc = [19]FuncDef{ {FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_INNOCUOUS | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24794}, {FnArg: int8(1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_INNOCUOUS | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24804}, {FnArg: int8(1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_UTF8 | 0*SQLITE_FUNC_NEEDCOLL | SQLITE_SUBTYPE | SQLITE_UTF8 | SQLITE_DETERMINISTIC | SQLITE_INNOCUOUS), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 24815}, - {FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_UTF8 | 0*SQLITE_FUNC_NEEDCOLL | SQLITE_SUBTYPE | SQLITE_UTF8 | SQLITE_DETERMINISTIC | SQLITE_INNOCUOUS), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 24832}} /* sqlite3.c:195735:18 */ + {FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_UTF8 | 0*SQLITE_FUNC_NEEDCOLL | SQLITE_SUBTYPE | SQLITE_UTF8 | SQLITE_DETERMINISTIC | SQLITE_INNOCUOUS), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 24832}} /* sqlite3.c:195792:18 */ // Register the JSON table-valued functions -func Xsqlite3JsonTableFunctions(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:195772:20: */ +func Xsqlite3JsonTableFunctions(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:195829:20: */ var rc int32 = SQLITE_OK var i uint32 for i = uint32(0); uint64(i) < uint64(unsafe.Sizeof(aMod))/uint64(unsafe.Sizeof(struct { @@ -156799,7 +156830,7 @@ var aMod = [2]struct { }{ {FzName: ts + 24850 /* "json_each" */, FpModule: 0}, {FzName: ts + 24860 /* "json_tree" */, FpModule: 0}, -} /* sqlite3.c:195777:5 */ // In the SQLite core +} /* sqlite3.c:195834:5 */ // In the SQLite core // If building separately, we will need some setup that is normally // found in sqliteInt.h @@ -156846,7 +156877,7 @@ type Rtree1 = struct { FpDeleteParent uintptr FpWriteAux uintptr FaHash [97]uintptr -} /* sqlite3.c:195900:9 */ +} /* sqlite3.c:195957:9 */ // In the SQLite core @@ -156860,7 +156891,7 @@ type Rtree1 = struct { // The following macro is used to suppress compiler warnings. -type Rtree = Rtree1 /* sqlite3.c:195900:22 */ +type Rtree = Rtree1 /* sqlite3.c:195957:22 */ type RtreeCursor1 = struct { Fbase Sqlite3_vtab_cursor FatEOF U8 @@ -156881,9 +156912,9 @@ type RtreeCursor1 = struct { FaNode [5]uintptr FanQueue [41]U32 F__ccgo_pad4 [4]byte -} /* sqlite3.c:195901:9 */ +} /* sqlite3.c:195958:9 */ -type RtreeCursor = RtreeCursor1 /* sqlite3.c:195901:28 */ +type RtreeCursor = RtreeCursor1 /* sqlite3.c:195958:28 */ type RtreeNode1 = struct { FpParent uintptr FiNode I64 @@ -156891,23 +156922,23 @@ type RtreeNode1 = struct { FisDirty int32 FzData uintptr FpNext uintptr -} /* sqlite3.c:195900:9 */ +} /* sqlite3.c:195957:9 */ -type RtreeNode = RtreeNode1 /* sqlite3.c:195902:26 */ +type RtreeNode = RtreeNode1 /* sqlite3.c:195959:26 */ type RtreeCell1 = struct { FiRowid I64 FaCoord [10]RtreeCoord -} /* sqlite3.c:195903:9 */ +} /* sqlite3.c:195960:9 */ -type RtreeCell = RtreeCell1 /* sqlite3.c:195903:26 */ +type RtreeCell = RtreeCell1 /* sqlite3.c:195960:26 */ type RtreeConstraint1 = struct { FiCoord int32 Fop int32 Fu struct{ FrValue RtreeDValue } FpInfo uintptr -} /* sqlite3.c:195901:9 */ +} /* sqlite3.c:195958:9 */ -type RtreeConstraint = RtreeConstraint1 /* sqlite3.c:195904:32 */ +type RtreeConstraint = RtreeConstraint1 /* sqlite3.c:195961:32 */ type RtreeMatchArg1 = struct { FiSize U32 F__ccgo_pad1 [4]byte @@ -156916,20 +156947,20 @@ type RtreeMatchArg1 = struct { F__ccgo_pad2 [4]byte FapSqlParam uintptr FaParam [1]RtreeDValue -} /* sqlite3.c:195905:9 */ +} /* sqlite3.c:195962:9 */ -type RtreeMatchArg = RtreeMatchArg1 /* sqlite3.c:195905:30 */ +type RtreeMatchArg = RtreeMatchArg1 /* sqlite3.c:195962:30 */ type RtreeGeomCallback1 = struct { FxGeom uintptr FxQueryFunc uintptr FxDestructor uintptr FpContext uintptr -} /* sqlite3.c:195905:9 */ +} /* sqlite3.c:195962:9 */ -type RtreeGeomCallback = RtreeGeomCallback1 /* sqlite3.c:195906:34 */ -type RtreeCoord1 = struct{ Ff RtreeValue } /* sqlite3.c:195903:9 */ +type RtreeGeomCallback = RtreeGeomCallback1 /* sqlite3.c:195963:34 */ +type RtreeCoord1 = struct{ Ff RtreeValue } /* sqlite3.c:195960:9 */ -type RtreeCoord = RtreeCoord1 /* sqlite3.c:195907:26 */ +type RtreeCoord = RtreeCoord1 /* sqlite3.c:195964:26 */ type RtreeSearchPoint1 = struct { FrScore RtreeDValue Fid Sqlite3_int64 @@ -156937,17 +156968,17 @@ type RtreeSearchPoint1 = struct { FeWithin U8 FiCell U8 F__ccgo_pad1 [5]byte -} /* sqlite3.c:195901:9 */ +} /* sqlite3.c:195958:9 */ -type RtreeSearchPoint = RtreeSearchPoint1 /* sqlite3.c:195908:33 */ +type RtreeSearchPoint = RtreeSearchPoint1 /* sqlite3.c:195965:33 */ // Possible values for Rtree.eCoordType: // 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 RtreeDValue = float64 /* sqlite3.c:196005:18 */ // High accuracy coordinate -type RtreeValue = float32 /* sqlite3.c:196006:17 */ +type RtreeDValue = float64 /* sqlite3.c:196062:18 */ // High accuracy coordinate +type RtreeValue = float32 /* sqlite3.c:196063:17 */ // What version of GCC is being used. 0 means GCC is not being used . // Note that the GCC_VERSION macro will also be set correctly when using @@ -156973,16 +157004,16 @@ type RtreeValue = float32 /* sqlite3.c:196006:17 */ // Functions to deserialize a 16 bit integer, 32 bit real number and // 64 bit integer. The deserialized value is returned. -func readInt16(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:196290:12: */ +func readInt16(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:196347:12: */ return int32(*(*U8)(unsafe.Pointer(p)))<<8 + int32(*(*U8)(unsafe.Pointer(p + 1))) } -func readCoord(tls *libc.TLS, p uintptr, pCoord uintptr) { /* sqlite3.c:196293:13: */ +func readCoord(tls *libc.TLS, p uintptr, pCoord uintptr) { /* sqlite3.c:196350:13: */ // p is always 4-byte aligned *(*U32)(unsafe.Pointer(pCoord)) = libc.X__builtin_bswap32(tls, *(*U32)(unsafe.Pointer(p))) } -func readInt64(tls *libc.TLS, p uintptr) I64 { /* sqlite3.c:196310:12: */ +func readInt64(tls *libc.TLS, p uintptr) I64 { /* sqlite3.c:196367:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -156995,12 +157026,12 @@ func readInt64(tls *libc.TLS, p uintptr) I64 { /* sqlite3.c:196310:12: */ // Functions to serialize a 16 bit integer, 32 bit real number and // 64 bit integer. The value returned is the number of bytes written // to the argument buffer (always 2, 4 and 8 respectively). -func writeInt16(tls *libc.TLS, p uintptr, i int32) { /* sqlite3.c:196342:13: */ +func writeInt16(tls *libc.TLS, p uintptr, i int32) { /* sqlite3.c:196399:13: */ *(*U8)(unsafe.Pointer(p)) = U8(i >> 8 & 0xFF) *(*U8)(unsafe.Pointer(p + 1)) = U8(i >> 0 & 0xFF) } -func writeCoord(tls *libc.TLS, p uintptr, pCoord uintptr) int32 { /* sqlite3.c:196346:12: */ +func writeCoord(tls *libc.TLS, p uintptr, pCoord uintptr) int32 { /* sqlite3.c:196403:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -157013,7 +157044,7 @@ func writeCoord(tls *libc.TLS, p uintptr, pCoord uintptr) int32 { /* sqlite3.c:1 return 4 } -func writeInt64(tls *libc.TLS, p uintptr, i I64) int32 { /* sqlite3.c:196369:12: */ +func writeInt64(tls *libc.TLS, p uintptr, i I64) int32 { /* sqlite3.c:196426:12: */ bp := tls.Alloc(8) defer tls.Free(8) *(*I64)(unsafe.Pointer(bp)) = i @@ -157024,7 +157055,7 @@ func writeInt64(tls *libc.TLS, p uintptr, i I64) int32 { /* sqlite3.c:196369:12: } // Increment the reference count of node p. -func nodeReference(tls *libc.TLS, p uintptr) { /* sqlite3.c:196394:13: */ +func nodeReference(tls *libc.TLS, p uintptr) { /* sqlite3.c:196451:13: */ if p != 0 { (*RtreeNode)(unsafe.Pointer(p)).FnRef++ @@ -157032,20 +157063,20 @@ func nodeReference(tls *libc.TLS, p uintptr) { /* sqlite3.c:196394:13: */ } // Clear the content of node p (set all bytes to 0x00). -func nodeZero(tls *libc.TLS, pRtree uintptr, p uintptr) { /* sqlite3.c:196404:13: */ +func nodeZero(tls *libc.TLS, pRtree uintptr, p uintptr) { /* sqlite3.c:196461:13: */ libc.Xmemset(tls, (*RtreeNode)(unsafe.Pointer(p)).FzData+2, 0, uint64((*Rtree)(unsafe.Pointer(pRtree)).FiNodeSize-2)) (*RtreeNode)(unsafe.Pointer(p)).FisDirty = 1 } // Given a node number iNode, return the corresponding key to use // in the Rtree.aHash table. -func nodeHash(tls *libc.TLS, iNode I64) uint32 { /* sqlite3.c:196413:21: */ +func nodeHash(tls *libc.TLS, iNode I64) uint32 { /* sqlite3.c:196470:21: */ return uint32(iNode) % uint32(HASHSIZE) } // Search the node hash table for node iNode. If found, return a pointer // to it. Otherwise, return 0. -func nodeHashLookup(tls *libc.TLS, pRtree uintptr, iNode I64) uintptr { /* sqlite3.c:196421:18: */ +func nodeHashLookup(tls *libc.TLS, pRtree uintptr, iNode I64) uintptr { /* sqlite3.c:196478:18: */ var p uintptr for p = *(*uintptr)(unsafe.Pointer(pRtree + 192 + uintptr(nodeHash(tls, iNode))*8)); p != 0 && (*RtreeNode)(unsafe.Pointer(p)).FiNode != iNode; p = (*RtreeNode)(unsafe.Pointer(p)).FpNext { } @@ -157053,7 +157084,7 @@ func nodeHashLookup(tls *libc.TLS, pRtree uintptr, iNode I64) uintptr { /* sqlit } // Add node pNode to the node hash table. -func nodeHashInsert(tls *libc.TLS, pRtree uintptr, pNode uintptr) { /* sqlite3.c:196430:13: */ +func nodeHashInsert(tls *libc.TLS, pRtree uintptr, pNode uintptr) { /* sqlite3.c:196487:13: */ var iHash int32 iHash = int32(nodeHash(tls, (*RtreeNode)(unsafe.Pointer(pNode)).FiNode)) @@ -157062,7 +157093,7 @@ func nodeHashInsert(tls *libc.TLS, pRtree uintptr, pNode uintptr) { /* sqlite3.c } // Remove node pNode from the node hash table. -func nodeHashDelete(tls *libc.TLS, pRtree uintptr, pNode uintptr) { /* sqlite3.c:196441:13: */ +func nodeHashDelete(tls *libc.TLS, pRtree uintptr, pNode uintptr) { /* sqlite3.c:196498:13: */ var pp uintptr if (*RtreeNode)(unsafe.Pointer(pNode)).FiNode != int64(0) { pp = pRtree + 192 + uintptr(nodeHash(tls, (*RtreeNode)(unsafe.Pointer(pNode)).FiNode))*8 @@ -157077,7 +157108,7 @@ func nodeHashDelete(tls *libc.TLS, pRtree uintptr, pNode uintptr) { /* sqlite3.c // indicating that node has not yet been assigned a node number. It is // assigned a node number when nodeWrite() is called to write the // node contents out to the database. -func nodeNew(tls *libc.TLS, pRtree uintptr, pParent uintptr) uintptr { /* sqlite3.c:196457:18: */ +func nodeNew(tls *libc.TLS, pRtree uintptr, pParent uintptr) uintptr { /* sqlite3.c:196514:18: */ var pNode uintptr pNode = Xsqlite3_malloc64(tls, uint64(uint64(unsafe.Sizeof(RtreeNode{}))+uint64((*Rtree)(unsafe.Pointer(pRtree)).FiNodeSize))) if pNode != 0 { @@ -157093,7 +157124,7 @@ func nodeNew(tls *libc.TLS, pRtree uintptr, pParent uintptr) uintptr { /* sqlite } // Clear the Rtree.pNodeBlob object -func nodeBlobReset(tls *libc.TLS, pRtree uintptr) { /* sqlite3.c:196475:13: */ +func nodeBlobReset(tls *libc.TLS, pRtree uintptr) { /* sqlite3.c:196532:13: */ if (*Rtree)(unsafe.Pointer(pRtree)).FpNodeBlob != 0 && int32((*Rtree)(unsafe.Pointer(pRtree)).FinWrTrans) == 0 && (*Rtree)(unsafe.Pointer(pRtree)).FnCursor == U32(0) { var pBlob uintptr = (*Rtree)(unsafe.Pointer(pRtree)).FpNodeBlob (*Rtree)(unsafe.Pointer(pRtree)).FpNodeBlob = uintptr(0) @@ -157102,7 +157133,7 @@ func nodeBlobReset(tls *libc.TLS, pRtree uintptr) { /* sqlite3.c:196475:13: */ } // Obtain a reference to an r-tree node. -func nodeAcquire(tls *libc.TLS, pRtree uintptr, iNode I64, pParent uintptr, ppNode uintptr) int32 { /* sqlite3.c:196486:12: */ +func nodeAcquire(tls *libc.TLS, pRtree uintptr, iNode I64, pParent uintptr, ppNode uintptr) int32 { /* sqlite3.c:196543:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -157212,7 +157243,7 @@ func nodeAcquire(tls *libc.TLS, pRtree uintptr, iNode I64, pParent uintptr, ppNo } // Overwrite cell iCell of node pNode with the contents of pCell. -func nodeOverwriteCell(tls *libc.TLS, pRtree uintptr, pNode uintptr, pCell uintptr, iCell int32) { /* sqlite3.c:196599:13: */ +func nodeOverwriteCell(tls *libc.TLS, pRtree uintptr, pNode uintptr, pCell uintptr, iCell int32) { /* sqlite3.c:196656:13: */ var ii int32 var p uintptr = (*RtreeNode)(unsafe.Pointer(pNode)).FzData + uintptr(4+int32((*Rtree)(unsafe.Pointer(pRtree)).FnBytesPerCell)*iCell) p += uintptr(writeInt64(tls, p, (*RtreeCell)(unsafe.Pointer(pCell)).FiRowid)) @@ -157223,7 +157254,7 @@ func nodeOverwriteCell(tls *libc.TLS, pRtree uintptr, pNode uintptr, pCell uintp } // Remove the cell with index iCell from node pNode. -func nodeDeleteCell(tls *libc.TLS, pRtree uintptr, pNode uintptr, iCell int32) { /* sqlite3.c:196617:13: */ +func nodeDeleteCell(tls *libc.TLS, pRtree uintptr, pNode uintptr, iCell int32) { /* sqlite3.c:196674:13: */ var pDst uintptr = (*RtreeNode)(unsafe.Pointer(pNode)).FzData + uintptr(4+int32((*Rtree)(unsafe.Pointer(pRtree)).FnBytesPerCell)*iCell) var pSrc uintptr = pDst + uintptr((*Rtree)(unsafe.Pointer(pRtree)).FnBytesPerCell) var nByte int32 = (readInt16(tls, (*RtreeNode)(unsafe.Pointer(pNode)).FzData+2) - iCell - 1) * int32((*Rtree)(unsafe.Pointer(pRtree)).FnBytesPerCell) @@ -157236,7 +157267,7 @@ func nodeDeleteCell(tls *libc.TLS, pRtree uintptr, pNode uintptr, iCell int32) { // is successful, return SQLITE_OK. // // If there is not enough free space in pNode, return SQLITE_FULL. -func nodeInsertCell(tls *libc.TLS, pRtree uintptr, pNode uintptr, pCell uintptr) int32 { /* sqlite3.c:196632:12: */ +func nodeInsertCell(tls *libc.TLS, pRtree uintptr, pNode uintptr, pCell uintptr) int32 { /* sqlite3.c:196689:12: */ var nCell int32 // Current number of cells in pNode var nMaxCell int32 // Maximum number of cells for pNode @@ -157253,7 +157284,7 @@ func nodeInsertCell(tls *libc.TLS, pRtree uintptr, pNode uintptr, pCell uintptr) } // If the node is dirty, write it out to the database. -func nodeWrite(tls *libc.TLS, pRtree uintptr, pNode uintptr) int32 { /* sqlite3.c:196656:12: */ +func nodeWrite(tls *libc.TLS, pRtree uintptr, pNode uintptr) int32 { /* sqlite3.c:196713:12: */ var rc int32 = SQLITE_OK if (*RtreeNode)(unsafe.Pointer(pNode)).FisDirty != 0 { var p uintptr = (*Rtree)(unsafe.Pointer(pRtree)).FpWriteNode @@ -157277,7 +157308,7 @@ func nodeWrite(tls *libc.TLS, pRtree uintptr, pNode uintptr) int32 { /* sqlite3. // Release a reference to a node. If the node is dirty and the reference // count drops to zero, the node data is written to the database. -func nodeRelease(tls *libc.TLS, pRtree uintptr, pNode uintptr) int32 { /* sqlite3.c:196682:12: */ +func nodeRelease(tls *libc.TLS, pRtree uintptr, pNode uintptr) int32 { /* sqlite3.c:196739:12: */ var rc int32 = SQLITE_OK if pNode != 0 { @@ -157303,19 +157334,19 @@ func nodeRelease(tls *libc.TLS, pRtree uintptr, pNode uintptr) int32 { /* sqlite // Return the 64-bit integer value associated with cell iCell of // node pNode. If pNode is a leaf node, this is a rowid. If it is // an internal node, then the 64-bit integer is a child page number. -func nodeGetRowid(tls *libc.TLS, pRtree uintptr, pNode uintptr, iCell int32) I64 { /* sqlite3.c:196711:12: */ +func nodeGetRowid(tls *libc.TLS, pRtree uintptr, pNode uintptr, iCell int32) I64 { /* sqlite3.c:196768:12: */ return readInt64(tls, (*RtreeNode)(unsafe.Pointer(pNode)).FzData+uintptr(4+int32((*Rtree)(unsafe.Pointer(pRtree)).FnBytesPerCell)*iCell)) } // Return coordinate iCoord from cell iCell in node pNode. -func nodeGetCoord(tls *libc.TLS, pRtree uintptr, pNode uintptr, iCell int32, iCoord int32, pCoord uintptr) { /* sqlite3.c:196723:13: */ +func nodeGetCoord(tls *libc.TLS, pRtree uintptr, pNode uintptr, iCell int32, iCoord int32, pCoord uintptr) { /* sqlite3.c:196780:13: */ readCoord(tls, (*RtreeNode)(unsafe.Pointer(pNode)).FzData+uintptr(12+int32((*Rtree)(unsafe.Pointer(pRtree)).FnBytesPerCell)*iCell+4*iCoord), pCoord) } // Deserialize cell iCell of node pNode. Populate the structure pointed // to by pCell with the results. -func nodeGetCell(tls *libc.TLS, pRtree uintptr, pNode uintptr, iCell int32, pCell uintptr) { /* sqlite3.c:196737:13: */ +func nodeGetCell(tls *libc.TLS, pRtree uintptr, pNode uintptr, iCell int32, pCell uintptr) { /* sqlite3.c:196794:13: */ var pData uintptr var pCoord uintptr var ii int32 = 0 @@ -157331,23 +157362,23 @@ func nodeGetCell(tls *libc.TLS, pRtree uintptr, pNode uintptr, iCell int32, pCel } // Rtree virtual table module xCreate method. -func rtreeCreate(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 { /* sqlite3.c:196768:12: */ +func rtreeCreate(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 { /* sqlite3.c:196825:12: */ return rtreeInit(tls, db, pAux, argc, argv, ppVtab, pzErr, 1) } // Rtree virtual table module xConnect method. -func rtreeConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 { /* sqlite3.c:196781:12: */ +func rtreeConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 { /* sqlite3.c:196838:12: */ return rtreeInit(tls, db, pAux, argc, argv, ppVtab, pzErr, 0) } // Increment the r-tree reference count. -func rtreeReference(tls *libc.TLS, pRtree uintptr) { /* sqlite3.c:196794:13: */ +func rtreeReference(tls *libc.TLS, pRtree uintptr) { /* sqlite3.c:196851:13: */ (*Rtree)(unsafe.Pointer(pRtree)).FnBusy++ } // Decrement the r-tree reference count. When the reference count reaches // zero the structure is deleted. -func rtreeRelease(tls *libc.TLS, pRtree uintptr) { /* sqlite3.c:196802:13: */ +func rtreeRelease(tls *libc.TLS, pRtree uintptr) { /* sqlite3.c:196859:13: */ (*Rtree)(unsafe.Pointer(pRtree)).FnBusy-- if (*Rtree)(unsafe.Pointer(pRtree)).FnBusy == U32(0) { (*Rtree)(unsafe.Pointer(pRtree)).FinWrTrans = U8(0) @@ -157369,13 +157400,13 @@ func rtreeRelease(tls *libc.TLS, pRtree uintptr) { /* sqlite3.c:196802:13: */ } // Rtree virtual table module xDisconnect method. -func rtreeDisconnect(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:196826:12: */ +func rtreeDisconnect(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:196883:12: */ rtreeRelease(tls, pVtab) return SQLITE_OK } // Rtree virtual table module xDestroy method. -func rtreeDestroy(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:196834:12: */ +func rtreeDestroy(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:196891:12: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -157402,7 +157433,7 @@ func rtreeDestroy(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:196834:12: } // Rtree virtual table module xOpen method. -func rtreeOpen(tls *libc.TLS, pVTab uintptr, ppCursor uintptr) int32 { /* sqlite3.c:196862:12: */ +func rtreeOpen(tls *libc.TLS, pVTab uintptr, ppCursor uintptr) int32 { /* sqlite3.c:196919:12: */ var rc int32 = SQLITE_NOMEM var pRtree uintptr = pVTab var pCsr uintptr @@ -157420,7 +157451,7 @@ func rtreeOpen(tls *libc.TLS, pVTab uintptr, ppCursor uintptr) int32 { /* sqlite } // Reset a cursor back to its initial state. -func resetCursor(tls *libc.TLS, pCsr uintptr) { /* sqlite3.c:196883:13: */ +func resetCursor(tls *libc.TLS, pCsr uintptr) { /* sqlite3.c:196940:13: */ var pRtree uintptr = (*RtreeCursor)(unsafe.Pointer(pCsr)).Fbase.FpVtab var ii int32 var pStmt uintptr @@ -157450,7 +157481,7 @@ func resetCursor(tls *libc.TLS, pCsr uintptr) { /* sqlite3.c:196883:13: */ } // Rtree virtual table module xClose method. -func rtreeClose(tls *libc.TLS, cur uintptr) int32 { /* sqlite3.c:196911:12: */ +func rtreeClose(tls *libc.TLS, cur uintptr) int32 { /* sqlite3.c:196968:12: */ var pRtree uintptr = (*Sqlite3_vtab_cursor)(unsafe.Pointer(cur)).FpVtab var pCsr uintptr = cur @@ -157466,7 +157497,7 @@ func rtreeClose(tls *libc.TLS, cur uintptr) int32 { /* sqlite3.c:196911:12: */ // // Return non-zero if the cursor does not currently point to a valid // record (i.e if the scan has finished), or zero otherwise. -func rtreeEof(tls *libc.TLS, cur uintptr) int32 { /* sqlite3.c:196929:12: */ +func rtreeEof(tls *libc.TLS, cur uintptr) int32 { /* sqlite3.c:196986:12: */ var pCsr uintptr = cur return int32((*RtreeCursor)(unsafe.Pointer(pCsr)).FatEOF) } @@ -157483,7 +157514,7 @@ func rtreeEof(tls *libc.TLS, cur uintptr) int32 { /* sqlite3.c:196929:12: */ // Check the RTree node or entry given by pCellData and p against the MATCH // constraint pConstraint. -func rtreeCallbackConstraint(tls *libc.TLS, pConstraint uintptr, eInt int32, pCellData uintptr, pSearch uintptr, prScore uintptr, peWithin uintptr) int32 { /* sqlite3.c:196984:12: */ +func rtreeCallbackConstraint(tls *libc.TLS, pConstraint uintptr, eInt int32, pCellData uintptr, pSearch uintptr, prScore uintptr, peWithin uintptr) int32 { /* sqlite3.c:197041:12: */ bp := tls.Alloc(92) defer tls.Free(92) @@ -157595,7 +157626,7 @@ func rtreeCallbackConstraint(tls *libc.TLS, pConstraint uintptr, eInt int32, pCe // Check the internal RTree node given by pCellData against constraint p. // If this constraint cannot be satisfied by any child within the node, // set *peWithin to NOT_WITHIN. -func rtreeNonleafConstraint(tls *libc.TLS, p uintptr, eInt int32, pCellData uintptr, peWithin uintptr) { /* sqlite3.c:197060:13: */ +func rtreeNonleafConstraint(tls *libc.TLS, p uintptr, eInt int32, pCellData uintptr, peWithin uintptr) { /* sqlite3.c:197117:13: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -157693,7 +157724,7 @@ func rtreeNonleafConstraint(tls *libc.TLS, p uintptr, eInt int32, pCellData uint // // The op is given by p->op. The xN is p->iCoord-th coordinate in // pCellData. $val is given by p->u.rValue. -func rtreeLeafConstraint(tls *libc.TLS, p uintptr, eInt int32, pCellData uintptr, peWithin uintptr) { /* sqlite3.c:197117:13: */ +func rtreeLeafConstraint(tls *libc.TLS, p uintptr, eInt int32, pCellData uintptr, peWithin uintptr) { /* sqlite3.c:197174:13: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -157748,7 +157779,7 @@ func rtreeLeafConstraint(tls *libc.TLS, p uintptr, eInt int32, pCellData uintptr // One of the cells in node pNode is guaranteed to have a 64-bit // integer value equal to iRowid. Return the index of this cell. -func nodeRowidIndex(tls *libc.TLS, pRtree uintptr, pNode uintptr, iRowid I64, piIndex uintptr) int32 { /* sqlite3.c:197147:12: */ +func nodeRowidIndex(tls *libc.TLS, pRtree uintptr, pNode uintptr, iRowid I64, piIndex uintptr) int32 { /* sqlite3.c:197204:12: */ var ii int32 var nCell int32 = readInt16(tls, (*RtreeNode)(unsafe.Pointer(pNode)).FzData+2) @@ -157764,7 +157795,7 @@ func nodeRowidIndex(tls *libc.TLS, pRtree uintptr, pNode uintptr, iRowid I64, pi // Return the index of the cell containing a pointer to node pNode // in its parent. If pNode is the root node, return -1. -func nodeParentIndex(tls *libc.TLS, pRtree uintptr, pNode uintptr, piIndex uintptr) int32 { /* sqlite3.c:197170:12: */ +func nodeParentIndex(tls *libc.TLS, pRtree uintptr, pNode uintptr, piIndex uintptr) int32 { /* sqlite3.c:197227:12: */ var pParent uintptr = (*RtreeNode)(unsafe.Pointer(pNode)).FpParent if pParent != 0 { return nodeRowidIndex(tls, pRtree, pParent, (*RtreeNode)(unsafe.Pointer(pNode)).FiNode, piIndex) @@ -157783,7 +157814,7 @@ func nodeParentIndex(tls *libc.TLS, pRtree uintptr, pNode uintptr, piIndex uintp // iLevel values coming first. In this way, if rScore is the same for all // SearchPoints, then iLevel becomes the deciding factor and the result // is a depth-first search, which is the desired default behavior. -func rtreeSearchPointCompare(tls *libc.TLS, pA uintptr, pB uintptr) int32 { /* sqlite3.c:197190:12: */ +func rtreeSearchPointCompare(tls *libc.TLS, pA uintptr, pB uintptr) int32 { /* sqlite3.c:197247:12: */ if (*RtreeSearchPoint)(unsafe.Pointer(pA)).FrScore < (*RtreeSearchPoint)(unsafe.Pointer(pB)).FrScore { return -1 } @@ -157800,7 +157831,7 @@ func rtreeSearchPointCompare(tls *libc.TLS, pA uintptr, pB uintptr) int32 { /* s } // Interchange two search points in a cursor. -func rtreeSearchPointSwap(tls *libc.TLS, p uintptr, i int32, j int32) { /* sqlite3.c:197204:13: */ +func rtreeSearchPointSwap(tls *libc.TLS, p uintptr, i int32, j int32) { /* sqlite3.c:197261:13: */ var t = *(*RtreeSearchPoint)(unsafe.Pointer((*RtreeCursor)(unsafe.Pointer(p)).FaPoint + uintptr(i)*24)) *(*RtreeSearchPoint)(unsafe.Pointer((*RtreeCursor)(unsafe.Pointer(p)).FaPoint + uintptr(i)*24)) = *(*RtreeSearchPoint)(unsafe.Pointer((*RtreeCursor)(unsafe.Pointer(p)).FaPoint + uintptr(j)*24)) @@ -157820,7 +157851,7 @@ func rtreeSearchPointSwap(tls *libc.TLS, p uintptr, i int32, j int32) { /* sqlit } // Return the search point with the lowest current score. -func rtreeSearchPointFirst(tls *libc.TLS, pCur uintptr) uintptr { /* sqlite3.c:197225:25: */ +func rtreeSearchPointFirst(tls *libc.TLS, pCur uintptr) uintptr { /* sqlite3.c:197282:25: */ if (*RtreeCursor)(unsafe.Pointer(pCur)).FbPoint != 0 { return pCur + 64 } @@ -157831,7 +157862,7 @@ func rtreeSearchPointFirst(tls *libc.TLS, pCur uintptr) uintptr { /* sqlite3.c:1 } // Get the RtreeNode for the search point with the lowest score. -func rtreeNodeOfFirstSearchPoint(tls *libc.TLS, pCur uintptr, pRC uintptr) uintptr { /* sqlite3.c:197232:18: */ +func rtreeNodeOfFirstSearchPoint(tls *libc.TLS, pCur uintptr, pRC uintptr) uintptr { /* sqlite3.c:197289:18: */ var id Sqlite3_int64 var ii int32 = 1 - int32((*RtreeCursor)(unsafe.Pointer(pCur)).FbPoint) @@ -157848,7 +157879,7 @@ func rtreeNodeOfFirstSearchPoint(tls *libc.TLS, pCur uintptr, pRC uintptr) uintp } // Push a new element onto the priority queue -func rtreeEnqueue(tls *libc.TLS, pCur uintptr, rScore RtreeDValue, iLevel U8) uintptr { /* sqlite3.c:197248:25: */ +func rtreeEnqueue(tls *libc.TLS, pCur uintptr, rScore RtreeDValue, iLevel U8) uintptr { /* sqlite3.c:197305:25: */ var i int32 var j int32 var pNew uintptr @@ -157882,7 +157913,7 @@ func rtreeEnqueue(tls *libc.TLS, pCur uintptr, rScore RtreeDValue, iLevel U8) ui // Allocate a new RtreeSearchPoint and return a pointer to it. Return // NULL if malloc fails. -func rtreeSearchPointNew(tls *libc.TLS, pCur uintptr, rScore RtreeDValue, iLevel U8) uintptr { /* sqlite3.c:197283:25: */ +func rtreeSearchPointNew(tls *libc.TLS, pCur uintptr, rScore RtreeDValue, iLevel U8) uintptr { /* sqlite3.c:197340:25: */ var pNew uintptr var pFirst uintptr pFirst = rtreeSearchPointFirst(tls, pCur) @@ -157918,7 +157949,7 @@ func rtreeSearchPointNew(tls *libc.TLS, pCur uintptr, rScore RtreeDValue, iLevel } // Remove the search point with the lowest current score. -func rtreeSearchPointPop(tls *libc.TLS, p uintptr) { /* sqlite3.c:197351:13: */ +func rtreeSearchPointPop(tls *libc.TLS, p uintptr) { /* sqlite3.c:197408:13: */ var i int32 var j int32 var k int32 @@ -157966,7 +157997,7 @@ func rtreeSearchPointPop(tls *libc.TLS, p uintptr) { /* sqlite3.c:197351:13: */ // contains an entry suitable for returning as a result-set row, // or until the RtreeSearchPoint queue is empty, indicating that the // query has completed. -func rtreeStepToLeaf(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:197399:12: */ +func rtreeStepToLeaf(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:197456:12: */ bp := tls.Alloc(20) defer tls.Free(20) @@ -158059,7 +158090,7 @@ func rtreeStepToLeaf(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:197399:12 } // Rtree virtual table module xNext method. -func rtreeNext(tls *libc.TLS, pVtabCursor uintptr) int32 { /* sqlite3.c:197480:12: */ +func rtreeNext(tls *libc.TLS, pVtabCursor uintptr) int32 { /* sqlite3.c:197537:12: */ var pCsr uintptr = pVtabCursor var rc int32 = SQLITE_OK @@ -158075,7 +158106,7 @@ func rtreeNext(tls *libc.TLS, pVtabCursor uintptr) int32 { /* sqlite3.c:197480:1 } // Rtree virtual table module xRowid method. -func rtreeRowid(tls *libc.TLS, pVtabCursor uintptr, pRowid uintptr) int32 { /* sqlite3.c:197498:12: */ +func rtreeRowid(tls *libc.TLS, pVtabCursor uintptr, pRowid uintptr) int32 { /* sqlite3.c:197555:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -158090,7 +158121,7 @@ func rtreeRowid(tls *libc.TLS, pVtabCursor uintptr, pRowid uintptr) int32 { /* s } // Rtree virtual table module xColumn method. -func rtreeColumn(tls *libc.TLS, cur uintptr, ctx uintptr, i int32) int32 { /* sqlite3.c:197512:12: */ +func rtreeColumn(tls *libc.TLS, cur uintptr, ctx uintptr, i int32) int32 { /* sqlite3.c:197569:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -158151,7 +158182,7 @@ func rtreeColumn(tls *libc.TLS, cur uintptr, ctx uintptr, i int32) int32 { /* sq // return SQLITE_OK. If there is no such record in the table, set // *ppLeaf to 0 and return SQLITE_OK. If an error occurs, set *ppLeaf // to zero and return an SQLite error code. -func findLeafNode(tls *libc.TLS, pRtree uintptr, iRowid I64, ppLeaf uintptr, piNode uintptr) int32 { /* sqlite3.c:197566:12: */ +func findLeafNode(tls *libc.TLS, pRtree uintptr, iRowid I64, ppLeaf uintptr, piNode uintptr) int32 { /* sqlite3.c:197623:12: */ var rc int32 *(*uintptr)(unsafe.Pointer(ppLeaf)) = uintptr(0) Xsqlite3_bind_int64(tls, (*Rtree)(unsafe.Pointer(pRtree)).FpReadRowid, 1, iRowid) @@ -158172,7 +158203,7 @@ func findLeafNode(tls *libc.TLS, pRtree uintptr, iRowid I64, ppLeaf uintptr, piN // as the second argument for a MATCH constraint. The value passed as the // first argument to this function is the right-hand operand to the MATCH // operator. -func deserializeGeometry(tls *libc.TLS, pValue uintptr, pCons uintptr) int32 { /* sqlite3.c:197592:12: */ +func deserializeGeometry(tls *libc.TLS, pValue uintptr, pCons uintptr) int32 { /* sqlite3.c:197649:12: */ var pBlob uintptr var pSrc uintptr // BLOB returned by geometry function var pInfo uintptr // Callback information @@ -158204,7 +158235,7 @@ func deserializeGeometry(tls *libc.TLS, pValue uintptr, pCons uintptr) int32 { / } // Rtree virtual table module xFilter method. -func rtreeFilter(tls *libc.TLS, pVtabCursor uintptr, idxNum int32, idxStr uintptr, argc int32, argv uintptr) int32 { /* sqlite3.c:197622:12: */ +func rtreeFilter(tls *libc.TLS, pVtabCursor uintptr, idxNum int32, idxStr uintptr, argc int32, argv uintptr) int32 { /* sqlite3.c:197679:12: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -158347,7 +158378,7 @@ func rtreeFilter(tls *libc.TLS, pVtabCursor uintptr, idxNum int32, idxStr uintpt // The second of each pair of bytes identifies the coordinate column // to which the constraint applies. The leftmost coordinate column // is 'a', the second from the left 'b' etc. -func rtreeBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 { /* sqlite3.c:197775:12: */ +func rtreeBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 { /* sqlite3.c:197832:12: */ bp := tls.Alloc(49) defer tls.Free(49) @@ -158454,7 +158485,7 @@ func rtreeBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 { /* sql } // Return the N-dimensional volumn of the cell stored in *p. -func cellArea(tls *libc.TLS, pRtree uintptr, p uintptr) RtreeDValue { /* sqlite3.c:197864:20: */ +func cellArea(tls *libc.TLS, pRtree uintptr, p uintptr) RtreeDValue { /* sqlite3.c:197921:20: */ var area RtreeDValue = RtreeDValue(1) if int32((*Rtree)(unsafe.Pointer(pRtree)).FeCoordType) == RTREE_COORD_REAL32 { @@ -158497,7 +158528,7 @@ func cellArea(tls *libc.TLS, pRtree uintptr, p uintptr) RtreeDValue { /* sqlite3 // Return the margin length of cell p. The margin length is the sum // of the objects size in each dimension. -func cellMargin(tls *libc.TLS, pRtree uintptr, p uintptr) RtreeDValue { /* sqlite3.c:197894:20: */ +func cellMargin(tls *libc.TLS, pRtree uintptr, p uintptr) RtreeDValue { /* sqlite3.c:197951:20: */ var margin RtreeDValue = RtreeDValue(0) var ii int32 = int32((*Rtree)(unsafe.Pointer(pRtree)).FnDim2) - 2 for __ccgo := true; __ccgo; __ccgo = ii >= 0 { @@ -158518,7 +158549,7 @@ func cellMargin(tls *libc.TLS, pRtree uintptr, p uintptr) RtreeDValue { /* sqlit } // Store the union of cells p1 and p2 in p1. -func cellUnion(tls *libc.TLS, pRtree uintptr, p1 uintptr, p2 uintptr) { /* sqlite3.c:197907:13: */ +func cellUnion(tls *libc.TLS, pRtree uintptr, p1 uintptr, p2 uintptr) { /* sqlite3.c:197964:13: */ var ii int32 = 0 if int32((*Rtree)(unsafe.Pointer(pRtree)).FeCoordType) == RTREE_COORD_REAL32 { for __ccgo := true; __ccgo; __ccgo = ii < int32((*Rtree)(unsafe.Pointer(pRtree)).FnDim2) { @@ -158557,7 +158588,7 @@ func cellUnion(tls *libc.TLS, pRtree uintptr, p1 uintptr, p2 uintptr) { /* sqlit // Return true if the area covered by p2 is a subset of the area covered // by p1. False otherwise. -func cellContains(tls *libc.TLS, pRtree uintptr, p1 uintptr, p2 uintptr) int32 { /* sqlite3.c:197928:12: */ +func cellContains(tls *libc.TLS, pRtree uintptr, p1 uintptr, p2 uintptr) int32 { /* sqlite3.c:197985:12: */ var ii int32 var isInt int32 = libc.Bool32(int32((*Rtree)(unsafe.Pointer(pRtree)).FeCoordType) == RTREE_COORD_INT32) for ii = 0; ii < int32((*Rtree)(unsafe.Pointer(pRtree)).FnDim2); ii = ii + 2 { @@ -158572,7 +158603,7 @@ func cellContains(tls *libc.TLS, pRtree uintptr, p1 uintptr, p2 uintptr) int32 { } // Return the amount cell p would grow by if it were unioned with pCell. -func cellGrowth(tls *libc.TLS, pRtree uintptr, p uintptr, pCell uintptr) RtreeDValue { /* sqlite3.c:197946:20: */ +func cellGrowth(tls *libc.TLS, pRtree uintptr, p uintptr, pCell uintptr) RtreeDValue { /* sqlite3.c:198003:20: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -158585,7 +158616,7 @@ func cellGrowth(tls *libc.TLS, pRtree uintptr, p uintptr, pCell uintptr) RtreeDV return cellArea(tls, pRtree, bp) - area } -func cellOverlap(tls *libc.TLS, pRtree uintptr, p uintptr, aCell uintptr, nCell int32) RtreeDValue { /* sqlite3.c:197955:20: */ +func cellOverlap(tls *libc.TLS, pRtree uintptr, p uintptr, aCell uintptr, nCell int32) RtreeDValue { /* sqlite3.c:198012:20: */ var ii int32 var overlap RtreeDValue = 0.0 for ii = 0; ii < nCell; ii++ { @@ -158660,7 +158691,7 @@ func cellOverlap(tls *libc.TLS, pRtree uintptr, p uintptr, aCell uintptr, nCell // This function implements the ChooseLeaf algorithm from Gutman[84]. // ChooseSubTree in r*tree terminology. -func sChooseLeaf(tls *libc.TLS, pRtree uintptr, pCell uintptr, iHeight int32, ppLeaf uintptr) int32 { /* sqlite3.c:197987:12: */ +func sChooseLeaf(tls *libc.TLS, pRtree uintptr, pCell uintptr, iHeight int32, ppLeaf uintptr) int32 { /* sqlite3.c:198044:12: */ bp := tls.Alloc(64) defer tls.Free(64) @@ -158716,7 +158747,7 @@ func sChooseLeaf(tls *libc.TLS, pRtree uintptr, pCell uintptr, iHeight int32, pp // A cell with the same content as pCell has just been inserted into // the node pNode. This function updates the bounding box cells in // all ancestor elements. -func sAdjustTree(tls *libc.TLS, pRtree uintptr, pNode uintptr, pCell uintptr) int32 { /* sqlite3.c:198047:12: */ +func sAdjustTree(tls *libc.TLS, pRtree uintptr, pNode uintptr, pCell uintptr) int32 { /* sqlite3.c:198104:12: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -158752,7 +158783,7 @@ func sAdjustTree(tls *libc.TLS, pRtree uintptr, pNode uintptr, pCell uintptr) in } // Write mapping (iRowid->iNode) to the _rowid table. -func rowidWrite(tls *libc.TLS, pRtree uintptr, iRowid Sqlite3_int64, iNode Sqlite3_int64) int32 { /* sqlite3.c:198085:12: */ +func rowidWrite(tls *libc.TLS, pRtree uintptr, iRowid Sqlite3_int64, iNode Sqlite3_int64) int32 { /* sqlite3.c:198142:12: */ Xsqlite3_bind_int64(tls, (*Rtree)(unsafe.Pointer(pRtree)).FpWriteRowid, 1, iRowid) Xsqlite3_bind_int64(tls, (*Rtree)(unsafe.Pointer(pRtree)).FpWriteRowid, 2, iNode) Xsqlite3_step(tls, (*Rtree)(unsafe.Pointer(pRtree)).FpWriteRowid) @@ -158760,7 +158791,7 @@ func rowidWrite(tls *libc.TLS, pRtree uintptr, iRowid Sqlite3_int64, iNode Sqlit } // Write mapping (iNode->iPar) to the _parent table. -func parentWrite(tls *libc.TLS, pRtree uintptr, iNode Sqlite3_int64, iPar Sqlite3_int64) int32 { /* sqlite3.c:198095:12: */ +func parentWrite(tls *libc.TLS, pRtree uintptr, iNode Sqlite3_int64, iPar Sqlite3_int64) int32 { /* sqlite3.c:198152:12: */ Xsqlite3_bind_int64(tls, (*Rtree)(unsafe.Pointer(pRtree)).FpWriteParent, 1, iNode) Xsqlite3_bind_int64(tls, (*Rtree)(unsafe.Pointer(pRtree)).FpWriteParent, 2, iPar) Xsqlite3_step(tls, (*Rtree)(unsafe.Pointer(pRtree)).FpWriteParent) @@ -158782,7 +158813,7 @@ func parentWrite(tls *libc.TLS, pRtree uintptr, iNode Sqlite3_int64, iPar Sqlite // // The aSpare array is used as temporary working space by the // sorting algorithm. -func sSortByDistance(tls *libc.TLS, aIdx uintptr, nIdx int32, aDistance uintptr, aSpare uintptr) { /* sqlite3.c:198122:13: */ +func sSortByDistance(tls *libc.TLS, aIdx uintptr, nIdx int32, aDistance uintptr, aSpare uintptr) { /* sqlite3.c:198179:13: */ if nIdx > 1 { var iLeft int32 = 0 var iRight int32 = 0 @@ -158830,7 +158861,7 @@ func sSortByDistance(tls *libc.TLS, aIdx uintptr, nIdx int32, aDistance uintptr, // // The aSpare array is used as temporary working space by the // sorting algorithm. -func sSortByDimension(tls *libc.TLS, pRtree uintptr, aIdx uintptr, nIdx int32, iDim int32, aCell uintptr, aSpare uintptr) { /* sqlite3.c:198188:13: */ +func sSortByDimension(tls *libc.TLS, pRtree uintptr, aIdx uintptr, nIdx int32, iDim int32, aCell uintptr, aSpare uintptr) { /* sqlite3.c:198245:13: */ if nIdx > 1 { var iLeft int32 = 0 @@ -158886,7 +158917,7 @@ func sSortByDimension(tls *libc.TLS, pRtree uintptr, aIdx uintptr, nIdx int32, i } // Implementation of the R*-tree variant of SplitNode from Beckman[1990]. -func splitNodeStartree(tls *libc.TLS, pRtree uintptr, aCell uintptr, nCell int32, pLeft uintptr, pRight uintptr, pBboxLeft uintptr, pBboxRight uintptr) int32 { /* sqlite3.c:198247:12: */ +func splitNodeStartree(tls *libc.TLS, pRtree uintptr, aCell uintptr, nCell int32, pLeft uintptr, pRight uintptr, pBboxLeft uintptr, pBboxRight uintptr) int32 { /* sqlite3.c:198304:12: */ bp := tls.Alloc(96) defer tls.Free(96) @@ -158985,7 +159016,7 @@ func splitNodeStartree(tls *libc.TLS, pRtree uintptr, aCell uintptr, nCell int32 return SQLITE_OK } -func updateMapping(tls *libc.TLS, pRtree uintptr, iRowid I64, pNode uintptr, iHeight int32) int32 { /* sqlite3.c:198345:12: */ +func updateMapping(tls *libc.TLS, pRtree uintptr, iRowid I64, pNode uintptr, iHeight int32) int32 { /* sqlite3.c:198402:12: */ var xSetMapping uintptr xSetMapping = func() uintptr { if iHeight == 0 { @@ -159019,7 +159050,7 @@ func updateMapping(tls *libc.TLS, pRtree uintptr, iRowid I64, pNode uintptr, iHe })(unsafe.Pointer(&struct{ uintptr }{xSetMapping})).f(tls, pRtree, iRowid, (*RtreeNode)(unsafe.Pointer(pNode)).FiNode) } -func sSplitNode(tls *libc.TLS, pRtree uintptr, pNode uintptr, pCell uintptr, iHeight int32) int32 { /* sqlite3.c:198369:12: */ +func sSplitNode(tls *libc.TLS, pRtree uintptr, pNode uintptr, pCell uintptr, iHeight int32) int32 { /* sqlite3.c:198426:12: */ bp := tls.Alloc(100) defer tls.Free(100) @@ -159254,7 +159285,7 @@ splitnode_out: // rowid of the row to delete, which can be used to find the leaf on which // the entry resides (argument pLeaf). Once the leaf is located, this // function is called to determine its ancestry. -func fixLeafParent(tls *libc.TLS, pRtree uintptr, pLeaf uintptr) int32 { /* sqlite3.c:198517:12: */ +func fixLeafParent(tls *libc.TLS, pRtree uintptr, pLeaf uintptr) int32 { /* sqlite3.c:198574:12: */ var rc int32 = SQLITE_OK var pChild uintptr = pLeaf for rc == SQLITE_OK && (*RtreeNode)(unsafe.Pointer(pChild)).FiNode != int64(1) && (*RtreeNode)(unsafe.Pointer(pChild)).FpParent == uintptr(0) { @@ -159289,7 +159320,7 @@ func fixLeafParent(tls *libc.TLS, pRtree uintptr, pLeaf uintptr) int32 { /* sqli return rc } -func removeNode(tls *libc.TLS, pRtree uintptr, pNode uintptr, iHeight int32) int32 { /* sqlite3.c:198552:12: */ +func removeNode(tls *libc.TLS, pRtree uintptr, pNode uintptr, iHeight int32) int32 { /* sqlite3.c:198609:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -159339,7 +159370,7 @@ func removeNode(tls *libc.TLS, pRtree uintptr, pNode uintptr, iHeight int32) int return SQLITE_OK } -func fixBoundingBox(tls *libc.TLS, pRtree uintptr, pNode uintptr) int32 { /* sqlite3.c:198602:12: */ +func fixBoundingBox(tls *libc.TLS, pRtree uintptr, pNode uintptr) int32 { /* sqlite3.c:198659:12: */ bp := tls.Alloc(100) defer tls.Free(100) @@ -159370,7 +159401,7 @@ func fixBoundingBox(tls *libc.TLS, pRtree uintptr, pNode uintptr) int32 { /* sql // Delete the cell at index iCell of node pNode. After removing the // cell, adjust the r-tree data structure if required. -func deleteCell(tls *libc.TLS, pRtree uintptr, pNode uintptr, iCell int32, iHeight int32) int32 { /* sqlite3.c:198629:12: */ +func deleteCell(tls *libc.TLS, pRtree uintptr, pNode uintptr, iCell int32, iHeight int32) int32 { /* sqlite3.c:198686:12: */ var pParent uintptr var rc int32 @@ -159399,7 +159430,7 @@ func deleteCell(tls *libc.TLS, pRtree uintptr, pNode uintptr, iCell int32, iHeig return rc } -func sReinsert(tls *libc.TLS, pRtree uintptr, pNode uintptr, pCell uintptr, iHeight int32) int32 { /* sqlite3.c:198660:12: */ +func sReinsert(tls *libc.TLS, pRtree uintptr, pNode uintptr, pCell uintptr, iHeight int32) int32 { /* sqlite3.c:198717:12: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -159514,7 +159545,7 @@ func sReinsert(tls *libc.TLS, pRtree uintptr, pNode uintptr, pCell uintptr, iHei // Insert cell pCell into node pNode. Node pNode is the head of a // subtree iHeight high (leaf nodes have iHeight==0). -func rtreeInsertCell(tls *libc.TLS, pRtree uintptr, pNode uintptr, pCell uintptr, iHeight int32) int32 { /* sqlite3.c:198765:12: */ +func rtreeInsertCell(tls *libc.TLS, pRtree uintptr, pNode uintptr, pCell uintptr, iHeight int32) int32 { /* sqlite3.c:198822:12: */ var rc int32 = SQLITE_OK if iHeight > 0 { var pChild uintptr = nodeHashLookup(tls, pRtree, (*RtreeCell)(unsafe.Pointer(pCell)).FiRowid) @@ -159544,7 +159575,7 @@ func rtreeInsertCell(tls *libc.TLS, pRtree uintptr, pNode uintptr, pCell uintptr return rc } -func reinsertNodeContent(tls *libc.TLS, pRtree uintptr, pNode uintptr) int32 { /* sqlite3.c:198800:12: */ +func reinsertNodeContent(tls *libc.TLS, pRtree uintptr, pNode uintptr) int32 { /* sqlite3.c:198857:12: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -159575,7 +159606,7 @@ func reinsertNodeContent(tls *libc.TLS, pRtree uintptr, pNode uintptr) int32 { / } // Select a currently unused rowid for a new r-tree record. -func rtreeNewRowid(tls *libc.TLS, pRtree uintptr, piRowid uintptr) int32 { /* sqlite3.c:198829:12: */ +func rtreeNewRowid(tls *libc.TLS, pRtree uintptr, piRowid uintptr) int32 { /* sqlite3.c:198886:12: */ var rc int32 Xsqlite3_bind_null(tls, (*Rtree)(unsafe.Pointer(pRtree)).FpWriteRowid, 1) Xsqlite3_bind_null(tls, (*Rtree)(unsafe.Pointer(pRtree)).FpWriteRowid, 2) @@ -159586,7 +159617,7 @@ func rtreeNewRowid(tls *libc.TLS, pRtree uintptr, piRowid uintptr) int32 { /* sq } // Remove the entry with rowid=iDelete from the r-tree structure. -func rtreeDeleteRowid(tls *libc.TLS, pRtree uintptr, iDelete Sqlite3_int64) int32 { /* sqlite3.c:198842:12: */ +func rtreeDeleteRowid(tls *libc.TLS, pRtree uintptr, iDelete Sqlite3_int64) int32 { /* sqlite3.c:198899:12: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -159675,7 +159706,7 @@ func rtreeDeleteRowid(tls *libc.TLS, pRtree uintptr, iDelete Sqlite3_int64) int3 // Convert an sqlite3_value into an RtreeValue (presumably a float) // while taking care to round toward negative or positive, respectively. -func rtreeValueDown(tls *libc.TLS, v uintptr) RtreeValue { /* sqlite3.c:198939:19: */ +func rtreeValueDown(tls *libc.TLS, v uintptr) RtreeValue { /* sqlite3.c:198996:19: */ var d float64 = Xsqlite3_value_double(tls, v) var f float32 = float32(d) if float64(f) > d { @@ -159689,7 +159720,7 @@ func rtreeValueDown(tls *libc.TLS, v uintptr) RtreeValue { /* sqlite3.c:198939:1 return f } -func rtreeValueUp(tls *libc.TLS, v uintptr) RtreeValue { /* sqlite3.c:198947:19: */ +func rtreeValueUp(tls *libc.TLS, v uintptr) RtreeValue { /* sqlite3.c:199004:19: */ var d float64 = Xsqlite3_value_double(tls, v) var f float32 = float32(d) if float64(f) < d { @@ -159714,7 +159745,7 @@ func rtreeValueUp(tls *libc.TLS, v uintptr) RtreeValue { /* sqlite3.c:198947:19: // (c1<=c2) constraint on columns iCol and iCol+1 that has failed. // // If an OOM occurs, SQLITE_NOMEM is returned instead of SQLITE_CONSTRAINT. -func rtreeConstraintError(tls *libc.TLS, pRtree uintptr, iCol int32) int32 { /* sqlite3.c:198970:12: */ +func rtreeConstraintError(tls *libc.TLS, pRtree uintptr, iCol int32) int32 { /* sqlite3.c:199027:12: */ bp := tls.Alloc(64) defer tls.Free(64) @@ -159753,7 +159784,7 @@ func rtreeConstraintError(tls *libc.TLS, pRtree uintptr, iCol int32) int32 { /* } // The xUpdate method for rtree module virtual tables. -func rtreeUpdate(tls *libc.TLS, pVtab uintptr, nData int32, aData uintptr, pRowid uintptr) int32 { /* sqlite3.c:199008:12: */ +func rtreeUpdate(tls *libc.TLS, pVtab uintptr, nData int32, aData uintptr, pRowid uintptr) int32 { /* sqlite3.c:199065:12: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -159982,7 +160013,7 @@ constraint: } // Called when a transaction starts. -func rtreeBeginTransaction(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:199156:12: */ +func rtreeBeginTransaction(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:199213:12: */ var pRtree uintptr = pVtab (*Rtree)(unsafe.Pointer(pRtree)).FinWrTrans++ @@ -159991,7 +160022,7 @@ func rtreeBeginTransaction(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:19 // Called when a transaction completes (either by COMMIT or ROLLBACK). // The sqlite3_blob object should be released at this point. -func rtreeEndTransaction(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:199167:12: */ +func rtreeEndTransaction(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:199224:12: */ var pRtree uintptr = pVtab (*Rtree)(unsafe.Pointer(pRtree)).FinWrTrans = U8(0) nodeBlobReset(tls, pRtree) @@ -159999,7 +160030,7 @@ func rtreeEndTransaction(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:1991 } // The xRename method for rtree module virtual tables. -func rtreeRename(tls *libc.TLS, pVtab uintptr, zNewName uintptr) int32 { /* sqlite3.c:199177:12: */ +func rtreeRename(tls *libc.TLS, pVtab uintptr, zNewName uintptr) int32 { /* sqlite3.c:199234:12: */ bp := tls.Alloc(72) defer tls.Free(72) @@ -160028,7 +160059,7 @@ func rtreeRename(tls *libc.TLS, pVtab uintptr, zNewName uintptr) int32 { /* sqli // INSERT INTO rtree... // DROP TABLE ; -- Would fail with SQLITE_LOCKED // COMMIT; -func rtreeSavepoint(tls *libc.TLS, pVtab uintptr, iSavepoint int32) int32 { /* sqlite3.c:199210:12: */ +func rtreeSavepoint(tls *libc.TLS, pVtab uintptr, iSavepoint int32) int32 { /* sqlite3.c:199267:12: */ var pRtree uintptr = pVtab var iwt U8 = (*Rtree)(unsafe.Pointer(pRtree)).FinWrTrans _ = iSavepoint @@ -160041,7 +160072,7 @@ func rtreeSavepoint(tls *libc.TLS, pVtab uintptr, iSavepoint int32) int32 { /* s // This function populates the pRtree->nRowEst variable with an estimate // of the number of rows in the virtual table. If possible, this is based // on sqlite_stat1 data. Otherwise, use RTREE_DEFAULT_ROWEST. -func rtreeQueryStat1(tls *libc.TLS, db uintptr, pRtree uintptr) int32 { /* sqlite3.c:199225:12: */ +func rtreeQueryStat1(tls *libc.TLS, db uintptr, pRtree uintptr) int32 { /* sqlite3.c:199282:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -160085,7 +160116,7 @@ func rtreeQueryStat1(tls *libc.TLS, db uintptr, pRtree uintptr) int32 { /* sqlit // Return true if zName is the extension on one of the shadow tables used // by this module. -func rtreeShadowName(tls *libc.TLS, zName uintptr) int32 { /* sqlite3.c:199259:12: */ +func rtreeShadowName(tls *libc.TLS, zName uintptr) int32 { /* sqlite3.c:199316:12: */ var i uint32 for i = uint32(0); uint64(i) < uint64(unsafe.Sizeof(azName1))/uint64(unsafe.Sizeof(uintptr(0))); i++ { if Xsqlite3_stricmp(tls, zName, azName1[i]) == 0 { @@ -160097,7 +160128,7 @@ func rtreeShadowName(tls *libc.TLS, zName uintptr) int32 { /* sqlite3.c:199259:1 var azName1 = [3]uintptr{ ts + 25269, ts + 5011, ts + 16174, -} /* sqlite3.c:199260:21 */ +} /* sqlite3.c:199317:21 */ var rtreeModule = Sqlite3_module{ FiVersion: 3, // iVersion @@ -160121,9 +160152,9 @@ var rtreeModule = Sqlite3_module{ FxRename: 0, // xRename - rename the table FxSavepoint: 0, // xRollbackTo FxShadowName: 0, // xShadowName -} /* sqlite3.c:199270:23 */ +} /* sqlite3.c:199327:23 */ -func rtreeSqlInit(tls *libc.TLS, pRtree uintptr, db uintptr, zDb uintptr, zPrefix uintptr, isCreate int32) int32 { /* sqlite3.c:199297:12: */ +func rtreeSqlInit(tls *libc.TLS, pRtree uintptr, db uintptr, zDb uintptr, zPrefix uintptr, isCreate int32) int32 { /* sqlite3.c:199354:12: */ bp := tls.Alloc(232) defer tls.Free(232) @@ -160240,14 +160271,14 @@ var azSql = [8]uintptr{ ts + 25999, ts + 26057, ts + 26112, -} /* sqlite3.c:199307:21 */ +} /* sqlite3.c:199364:21 */ // The second argument to this function contains the text of an SQL statement // that returns a single integer value. The statement is compiled and executed // using database connection db. If successful, the integer value returned // is written to *piVal and SQLITE_OK returned. Otherwise, an SQLite error // code is returned and the value of *piVal after returning is not defined. -func getIntFromStmt(tls *libc.TLS, db uintptr, zSql uintptr, piVal uintptr) int32 { /* sqlite3.c:199430:12: */ +func getIntFromStmt(tls *libc.TLS, db uintptr, zSql uintptr, piVal uintptr) int32 { /* sqlite3.c:199487:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -160278,7 +160309,7 @@ func getIntFromStmt(tls *libc.TLS, db uintptr, zSql uintptr, piVal uintptr) int3 // This ensures that each node is stored on a single database page. If the // database page-size is so large that more than RTREE_MAXCELLS entries // would fit in a single node, use a smaller node-size. -func getNodeSize(tls *libc.TLS, db uintptr, pRtree uintptr, isCreate int32, pzErr uintptr) int32 { /* sqlite3.c:199460:12: */ +func getNodeSize(tls *libc.TLS, db uintptr, pRtree uintptr, isCreate int32, pzErr uintptr) int32 { /* sqlite3.c:199517:12: */ bp := tls.Alloc(52) defer tls.Free(52) @@ -160316,7 +160347,7 @@ func getNodeSize(tls *libc.TLS, db uintptr, pRtree uintptr, isCreate int32, pzEr } // Return the length of a token -func rtreeTokenLength(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:199503:12: */ +func rtreeTokenLength(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:199560:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -160331,7 +160362,7 @@ func rtreeTokenLength(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:199503:12: // argv[1] -> database name // argv[2] -> table name // argv[...] -> column names... -func rtreeInit(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr, isCreate int32) int32 { /* sqlite3.c:199517:12: */ +func rtreeInit(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr, isCreate int32) int32 { /* sqlite3.c:199574:12: */ bp := tls.Alloc(136) defer tls.Free(136) @@ -160531,7 +160562,7 @@ __25: return rc } -var azFormat = [2]uintptr{ts + 26455, ts + 26466} /* sqlite3.c:199583:25 */ +var azFormat = [2]uintptr{ts + 26455, ts + 26466} /* sqlite3.c:199640:25 */ // Implementation of a scalar function that decodes r-tree nodes to // human readable strings. This can be used for debugging and analysis. @@ -160547,7 +160578,7 @@ var azFormat = [2]uintptr{ts + 26455, ts + 26466} /* sqlite3.c:199583:25 */ // entry for each cell in the r-tree node. Each entry is itself a // list, containing the 8-byte rowid/pageno followed by the // *2 coordinates. -func rtreenode(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:199654:13: */ +func rtreenode(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:199711:13: */ bp := tls.Alloc(1072) defer tls.Free(1072) @@ -160610,7 +160641,7 @@ func rtreenode(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) { /* sqlit // The depth value is 0 for all nodes other than the root node, and the root // node always has nodeno=1, so the example above is the primary use for this // routine. This routine is intended for testing and analysis only. -func rtreedepth(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:199706:13: */ +func rtreedepth(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:199763:13: */ _ = nArg if Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(apArg))) != SQLITE_BLOB || Xsqlite3_value_bytes(tls, *(*uintptr)(unsafe.Pointer(apArg))) < 2 { @@ -160642,15 +160673,15 @@ type RtreeCheck1 = struct { FzReport uintptr FnErr int32 F__ccgo_pad2 [4]byte -} /* sqlite3.c:199727:9 */ +} /* sqlite3.c:199784:9 */ // Context object passed between the various routines that make up the // implementation of integrity-check function rtreecheck(). -type RtreeCheck = RtreeCheck1 /* sqlite3.c:199727:27 */ +type RtreeCheck = RtreeCheck1 /* sqlite3.c:199784:27 */ // Reset SQL statement pStmt. If the sqlite3_reset() call returns an error, // and RtreeCheck.rc==SQLITE_OK, set RtreeCheck.rc to the error code. -func rtreeCheckReset(tls *libc.TLS, pCheck uintptr, pStmt uintptr) { /* sqlite3.c:199749:13: */ +func rtreeCheckReset(tls *libc.TLS, pCheck uintptr, pStmt uintptr) { /* sqlite3.c:199806:13: */ var rc int32 = Xsqlite3_reset(tls, pStmt) if (*RtreeCheck)(unsafe.Pointer(pCheck)).Frc == SQLITE_OK { (*RtreeCheck)(unsafe.Pointer(pCheck)).Frc = rc @@ -160663,7 +160694,7 @@ func rtreeCheckReset(tls *libc.TLS, pCheck uintptr, pStmt uintptr) { /* sqlite3. // // If successful, a pointer to the new SQL statement is returned. Otherwise, // NULL is returned and an error code left in RtreeCheck.rc. -func rtreeCheckPrepare(tls *libc.TLS, pCheck uintptr, zFmt uintptr, va uintptr) uintptr { /* sqlite3.c:199762:21: */ +func rtreeCheckPrepare(tls *libc.TLS, pCheck uintptr, zFmt uintptr, va uintptr) uintptr { /* sqlite3.c:199819:21: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -160691,7 +160722,7 @@ func rtreeCheckPrepare(tls *libc.TLS, pCheck uintptr, zFmt uintptr, va uintptr) // The second and subsequent arguments to this function are a printf() // style format string and arguments. This function formats the string and // appends it to the report being accumuated in pCheck. -func rtreeCheckAppendMsg(tls *libc.TLS, pCheck uintptr, zFmt uintptr, va uintptr) { /* sqlite3.c:199791:13: */ +func rtreeCheckAppendMsg(tls *libc.TLS, pCheck uintptr, zFmt uintptr, va uintptr) { /* sqlite3.c:199848:13: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -160731,7 +160762,7 @@ func rtreeCheckAppendMsg(tls *libc.TLS, pCheck uintptr, zFmt uintptr, va uintptr // Or, if an error does occur, NULL is returned and an error code left // in the RtreeCheck object. The final value of *pnNode is undefined in // this case. -func rtreeCheckGetNode(tls *libc.TLS, pCheck uintptr, iNode I64, pnNode uintptr) uintptr { /* sqlite3.c:199825:11: */ +func rtreeCheckGetNode(tls *libc.TLS, pCheck uintptr, iNode I64, pnNode uintptr) uintptr { /* sqlite3.c:199882:11: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -160775,7 +160806,7 @@ func rtreeCheckGetNode(tls *libc.TLS, pCheck uintptr, iNode I64, pnNode uintptr) // In both cases, this function checks that there exists an entry with // IPK value iKey and the second column set to iVal. // -func rtreeCheckMapping(tls *libc.TLS, pCheck uintptr, bLeaf int32, iKey I64, iVal I64) { /* sqlite3.c:199869:13: */ +func rtreeCheckMapping(tls *libc.TLS, pCheck uintptr, bLeaf int32, iKey I64, iVal I64) { /* sqlite3.c:199926:13: */ bp := tls.Alloc(96) defer tls.Free(96) @@ -160831,7 +160862,7 @@ func rtreeCheckMapping(tls *libc.TLS, pCheck uintptr, bLeaf int32, iKey I64, iVa // containing pCell. In this case it is also verified that the two // sets of coordinates are mutually consistent and an error message added // to the RtreeCheck object if they are not. -func rtreeCheckCellCoord(tls *libc.TLS, pCheck uintptr, iNode I64, iCell int32, pCell uintptr, pParent uintptr) { /* sqlite3.c:199921:13: */ +func rtreeCheckCellCoord(tls *libc.TLS, pCheck uintptr, iNode I64, iCell int32, pCell uintptr, pParent uintptr) { /* sqlite3.c:199978:13: */ bp := tls.Alloc(64) defer tls.Free(64) @@ -160889,7 +160920,7 @@ func rtreeCheckCellCoord(tls *libc.TLS, pCheck uintptr, iNode I64, iCell int32, // // If any problems are discovered, an error message is appended to the // report accumulated in the RtreeCheck object. -func rtreeCheckNode(tls *libc.TLS, pCheck uintptr, iDepth int32, aParent uintptr, iNode I64) { /* sqlite3.c:199967:13: */ +func rtreeCheckNode(tls *libc.TLS, pCheck uintptr, iDepth int32, aParent uintptr, iNode I64) { /* sqlite3.c:200024:13: */ bp := tls.Alloc(52) defer tls.Free(52) @@ -160943,7 +160974,7 @@ func rtreeCheckNode(tls *libc.TLS, pCheck uintptr, iDepth int32, aParent uintptr // %_rowid or %_parent table is exactly nExpect. If not, it adds // an error message to the report in the RtreeCheck object indicated // by the first argument. -func rtreeCheckCount(tls *libc.TLS, pCheck uintptr, zTbl uintptr, nExpect I64) { /* sqlite3.c:200030:13: */ +func rtreeCheckCount(tls *libc.TLS, pCheck uintptr, zTbl uintptr, nExpect I64) { /* sqlite3.c:200087:13: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -160966,7 +160997,7 @@ func rtreeCheckCount(tls *libc.TLS, pCheck uintptr, zTbl uintptr, nExpect I64) { // This function does the bulk of the work for the rtree integrity-check. // It is called by rtreecheck(), which is the SQL function implementation. -func rtreeCheckTable(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, pzReport uintptr) int32 { /* sqlite3.c:200054:12: */ +func rtreeCheckTable(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, pzReport uintptr) int32 { /* sqlite3.c:200111:12: */ bp := tls.Alloc(120) defer tls.Free(120) @@ -161073,7 +161104,7 @@ func rtreeCheckTable(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, pzRep // as there are non-leaf cells in the r-tree structure, and that // there is a non-leaf cell that corresponds to each entry in the // %_parent table. -func rtreecheck(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:200161:13: */ +func rtreecheck(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:200218:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -161136,7 +161167,7 @@ func rtreecheck(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) { /* sqli // Compiler and version // Datatype for coordinates -type GeoCoord = float32 /* sqlite3.c:200282:15 */ +type GeoCoord = float32 /* sqlite3.c:200339:15 */ // Internal representation of a polygon. // @@ -161162,7 +161193,7 @@ type GeoPoly1 = struct { FnVertex int32 Fhdr [4]uint8 Fa [8]GeoCoord -} /* sqlite3.c:200306:9 */ +} /* sqlite3.c:200363:9 */ // Internal representation of a polygon. // @@ -161184,7 +161215,7 @@ type GeoPoly1 = struct { // warnings coming from some compiler (notably, clang). In reality, the size // of each GeoPoly memory allocate is adjusted as necessary so that the // GeoPoly.a[] array at the end is the appropriate size. -type GeoPoly = GeoPoly1 /* sqlite3.c:200306:24 */ +type GeoPoly = GeoPoly1 /* sqlite3.c:200363:24 */ // The size of a memory allocation needed for a GeoPoly object sufficient // to hold N coordinate pairs. @@ -161201,7 +161232,7 @@ type GeoParse1 = struct { FnErr int32 F__ccgo_pad1 [4]byte Fa uintptr -} /* sqlite3.c:200329:9 */ +} /* sqlite3.c:200386:9 */ // The size of a memory allocation needed for a GeoPoly object sufficient // to hold N coordinate pairs. @@ -161211,10 +161242,10 @@ type GeoParse1 = struct { // to silence (incorrect) UBSAN warnings if the array index is too large. // State of a parse of a GeoJSON input. -type GeoParse = GeoParse1 /* sqlite3.c:200329:25 */ +type GeoParse = GeoParse1 /* sqlite3.c:200386:25 */ // Do a 4-byte byte swap -func geopolySwab32(tls *libc.TLS, a uintptr) { /* sqlite3.c:200339:13: */ +func geopolySwab32(tls *libc.TLS, a uintptr) { /* sqlite3.c:200396:13: */ var t uint8 = *(*uint8)(unsafe.Pointer(a)) *(*uint8)(unsafe.Pointer(a)) = *(*uint8)(unsafe.Pointer(a + 3)) *(*uint8)(unsafe.Pointer(a + 3)) = t @@ -161224,7 +161255,7 @@ func geopolySwab32(tls *libc.TLS, a uintptr) { /* sqlite3.c:200339:13: */ } // Skip whitespace. Return the next non-whitespace character. -func geopolySkipSpace(tls *libc.TLS, p uintptr) uint8 { /* sqlite3.c:200349:13: */ +func geopolySkipSpace(tls *libc.TLS, p uintptr) uint8 { /* sqlite3.c:200406:13: */ for jsonIsSpace[*(*uint8)(unsafe.Pointer((*GeoParse)(unsafe.Pointer(p)).Fz))] != 0 { (*GeoParse)(unsafe.Pointer(p)).Fz++ } @@ -161233,7 +161264,7 @@ func geopolySkipSpace(tls *libc.TLS, p uintptr) uint8 { /* sqlite3.c:200349:13: // Parse out a number. Write the value into *pVal if pVal!=0. // return non-zero on success and zero if the next token is not a number. -func geopolyParseNumber(tls *libc.TLS, p uintptr, pVal uintptr) int32 { /* sqlite3.c:200357:12: */ +func geopolyParseNumber(tls *libc.TLS, p uintptr, pVal uintptr) int32 { /* sqlite3.c:200414:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -161305,7 +161336,7 @@ func geopolyParseNumber(tls *libc.TLS, p uintptr, pVal uintptr) int32 { /* sqlit // that object. // // If any error occurs, return NULL. -func geopolyParseJson(tls *libc.TLS, z uintptr, pRc uintptr) uintptr { /* sqlite3.c:200415:16: */ +func geopolyParseJson(tls *libc.TLS, z uintptr, pRc uintptr) uintptr { /* sqlite3.c:200472:16: */ bp := tls.Alloc(36) defer tls.Free(36) @@ -161447,7 +161478,7 @@ __16: // in the binary format or JSON text. Compute a GeoPoly object and // return a pointer to that object. Or if the input is not a well-formed // polygon, put an error message in sqlite3_context and return NULL. -func geopolyFuncParam(tls *libc.TLS, pCtx uintptr, pVal uintptr, pRc uintptr) uintptr { /* sqlite3.c:200492:16: */ +func geopolyFuncParam(tls *libc.TLS, pCtx uintptr, pVal uintptr, pRc uintptr) uintptr { /* sqlite3.c:200549:16: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -161516,7 +161547,7 @@ func geopolyFuncParam(tls *libc.TLS, pCtx uintptr, pVal uintptr, pRc uintptr) ui // If the input is a well-formed Geopoly BLOB or JSON string // then return the BLOB representation of the polygon. Otherwise // return NULL. -func geopolyBlobFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:200553:13: */ +func geopolyBlobFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:200610:13: */ var p uintptr = geopolyFuncParam(tls, context, *(*uintptr)(unsafe.Pointer(argv)), uintptr(0)) if p != 0 { Xsqlite3_result_blob(tls, context, p+4, @@ -161529,7 +161560,7 @@ func geopolyBlobFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { // // Interpret X as a polygon and render it as a JSON array // of coordinates. Or, if X is not a valid polygon, return NULL. -func geopolyJsonFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:200572:13: */ +func geopolyJsonFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:200629:13: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -161552,7 +161583,7 @@ func geopolyJsonFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { // // Interpret X as a polygon and render it as a SVG . // Additional arguments are added as attributes to the . -func geopolySvgFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:200598:13: */ +func geopolySvgFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:200655:13: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -161598,7 +161629,7 @@ func geopolySvgFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { // Rotate by R around the point (0,0): // // geopoly_xform(poly, cos(R), sin(R), -sin(R), cos(R), 0, 0) -func geopolyXformFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:200645:13: */ +func geopolyXformFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:200702:13: */ var p uintptr = geopolyFuncParam(tls, context, *(*uintptr)(unsafe.Pointer(argv)), uintptr(0)) var A float64 = Xsqlite3_value_double(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))) var B float64 = Xsqlite3_value_double(tls, *(*uintptr)(unsafe.Pointer(argv + 2*8))) @@ -161631,7 +161662,7 @@ func geopolyXformFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) // This routine can also be used to detect polygons that rotate in // the wrong direction. Polygons are suppose to be counter-clockwise (CCW). // This routine returns a negative value for clockwise (CW) polygons. -func geopolyArea(tls *libc.TLS, p uintptr) float64 { /* sqlite3.c:200681:15: */ +func geopolyArea(tls *libc.TLS, p uintptr) float64 { /* sqlite3.c:200738:15: */ var rArea float64 = 0.0 var ii int32 for ii = 0; ii < (*GeoPoly)(unsafe.Pointer(p)).FnVertex-1; ii++ { @@ -161651,7 +161682,7 @@ func geopolyArea(tls *libc.TLS, p uintptr) float64 { /* sqlite3.c:200681:15: */ // enclosed by the polygon. If the polygon circulates clockwise instead // of counterclockwise (as it should) then return the negative of the // enclosed area. Otherwise return NULL. -func geopolyAreaFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:200703:13: */ +func geopolyAreaFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:200760:13: */ var p uintptr = geopolyFuncParam(tls, context, *(*uintptr)(unsafe.Pointer(argv)), uintptr(0)) if p != 0 { Xsqlite3_result_double(tls, context, geopolyArea(tls, p)) @@ -161670,7 +161701,7 @@ func geopolyAreaFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { // // Use this routine to sanitize historical inputs that that sometimes // contain polygons that wind in the wrong direction. -func geopolyCcwFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:200728:13: */ +func geopolyCcwFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:200785:13: */ var p uintptr = geopolyFuncParam(tls, context, *(*uintptr)(unsafe.Pointer(argv)), uintptr(0)) if p != 0 { if geopolyArea(tls, p) < 0.0 { @@ -161706,7 +161737,7 @@ func geopolyCcwFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { } // Fast approximation for sine(X) for X between -0.5*pi and 2*pi -func geopolySine(tls *libc.TLS, r float64) float64 { /* sqlite3.c:200756:15: */ +func geopolySine(tls *libc.TLS, r float64) float64 { /* sqlite3.c:200813:15: */ if r >= float64(1.5)*3.1415926535897932385 { r = r - float64(2.0)*3.1415926535897932385 @@ -161726,7 +161757,7 @@ func geopolySine(tls *libc.TLS, r float64) float64 { /* sqlite3.c:200756:15: */ // // Construct a simple, convex, regular polygon centered at X, Y // with circumradius R and with N sides. -func geopolyRegularFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:200777:13: */ +func geopolyRegularFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:200834:13: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -161771,7 +161802,7 @@ func geopolyRegularFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr // // If pPoly is NULL but aCoord is not NULL, then compute a new GeoPoly from // the bounding box in aCoord and return a pointer to that GeoPoly. -func geopolyBBox(tls *libc.TLS, context uintptr, pPoly uintptr, aCoord uintptr, pRc uintptr) uintptr { /* sqlite3.c:200820:16: */ +func geopolyBBox(tls *libc.TLS, context uintptr, pPoly uintptr, aCoord uintptr, pRc uintptr) uintptr { /* sqlite3.c:200877:16: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -161912,7 +161943,7 @@ __4: } // Implementation of the geopoly_bbox(X) SQL function. -func geopolyBBoxFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:200891:13: */ +func geopolyBBoxFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:200948:13: */ var p uintptr = geopolyBBox(tls, context, *(*uintptr)(unsafe.Pointer(argv)), uintptr(0), uintptr(0)) if p != 0 { Xsqlite3_result_blob(tls, context, p+4, @@ -161925,13 +161956,13 @@ func geopolyBBoxFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { type GeoBBox1 = struct { FisInit int32 Fa [4]RtreeCoord -} /* sqlite3.c:200907:9 */ +} /* sqlite3.c:200964:9 */ // State vector for the geopoly_group_bbox() aggregate function. -type GeoBBox = GeoBBox1 /* sqlite3.c:200907:24 */ +type GeoBBox = GeoBBox1 /* sqlite3.c:200964:24 */ // Implementation of the geopoly_group_bbox(X) aggregate SQL function. -func geopolyBBoxStep(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:200917:13: */ +func geopolyBBoxStep(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:200974:13: */ bp := tls.Alloc(20) defer tls.Free(20) @@ -161965,7 +161996,7 @@ func geopolyBBoxStep(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { } } -func geopolyBBoxFinal(tls *libc.TLS, context uintptr) { /* sqlite3.c:200940:13: */ +func geopolyBBoxFinal(tls *libc.TLS, context uintptr) { /* sqlite3.c:200997:13: */ var p uintptr var pBBox uintptr pBBox = Xsqlite3_aggregate_context(tls, context, 0) @@ -161992,7 +162023,7 @@ func geopolyBBoxFinal(tls *libc.TLS, context uintptr) { /* sqlite3.c:200940:13: // // The left-most coordinate min(x1,x2) is not considered to be part of // the line segment for the purposes of this analysis. -func pointBeneathLine(tls *libc.TLS, x0 float64, y0 float64, x1 float64, y1 float64, x2 float64, y2 float64) int32 { /* sqlite3.c:200970:12: */ +func pointBeneathLine(tls *libc.TLS, x0 float64, y0 float64, x1 float64, y1 float64, x2 float64, y2 float64) int32 { /* sqlite3.c:201027:12: */ var y float64 if x0 == x1 && y0 == y1 { return 2 @@ -162033,7 +162064,7 @@ func pointBeneathLine(tls *libc.TLS, x0 float64, y0 float64, x1 float64, y1 floa // Return +2 if point X,Y is within polygon P. // Return +1 if point X,Y is on the polygon boundary. // Return 0 if point X,Y is outside the polygon -func geopolyContainsPointFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:201001:13: */ +func geopolyContainsPointFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:201058:13: */ var p1 uintptr = geopolyFuncParam(tls, context, *(*uintptr)(unsafe.Pointer(argv)), uintptr(0)) var x0 float64 = Xsqlite3_value_double(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))) var y0 float64 = Xsqlite3_value_double(tls, *(*uintptr)(unsafe.Pointer(argv + 2*8))) @@ -162071,7 +162102,7 @@ func geopolyContainsPointFunc(tls *libc.TLS, context uintptr, argc int32, argv u // Return +1 if P2 is contained within P1 // Return 0 if any part of P2 is on the outside of P1 // -func geopolyWithinFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:201044:13: */ +func geopolyWithinFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:201101:13: */ var p1 uintptr = geopolyFuncParam(tls, context, *(*uintptr)(unsafe.Pointer(argv)), uintptr(0)) var p2 uintptr = geopolyFuncParam(tls, context, *(*uintptr)(unsafe.Pointer(argv + 1*8)), uintptr(0)) if p1 != 0 && p2 != 0 { @@ -162103,10 +162134,10 @@ type GeoEvent1 = struct { F__ccgo_pad1 [4]byte FpSeg uintptr FpNext uintptr -} /* sqlite3.c:201064:9 */ +} /* sqlite3.c:201121:9 */ // Objects used by the overlap algorihm. -type GeoEvent = GeoEvent1 /* sqlite3.c:201064:25 */ +type GeoEvent = GeoEvent1 /* sqlite3.c:201121:25 */ type GeoSegment1 = struct { FC float64 FB float64 @@ -162117,20 +162148,20 @@ type GeoSegment1 = struct { Fidx uint32 F__ccgo_pad2 [4]byte FpNext uintptr -} /* sqlite3.c:201064:9 */ +} /* sqlite3.c:201121:9 */ -type GeoSegment = GeoSegment1 /* sqlite3.c:201065:27 */ +type GeoSegment = GeoSegment1 /* sqlite3.c:201122:27 */ type GeoOverlap1 = struct { FaEvent uintptr FaSegment uintptr FnEvent int32 FnSegment int32 -} /* sqlite3.c:201066:9 */ +} /* sqlite3.c:201123:9 */ -type GeoOverlap = GeoOverlap1 /* sqlite3.c:201066:27 */ +type GeoOverlap = GeoOverlap1 /* sqlite3.c:201123:27 */ // Add a single segment and its associated events. -func geopolyAddOneSegment(tls *libc.TLS, p uintptr, x0 GeoCoord, y0 GeoCoord, x1 GeoCoord, y1 GeoCoord, side uint8, idx uint32) { /* sqlite3.c:201091:13: */ +func geopolyAddOneSegment(tls *libc.TLS, p uintptr, x0 GeoCoord, y0 GeoCoord, x1 GeoCoord, y1 GeoCoord, side uint8, idx uint32) { /* sqlite3.c:201148:13: */ var pSeg uintptr var pEvent uintptr if x0 == x1 { @@ -162164,7 +162195,7 @@ func geopolyAddOneSegment(tls *libc.TLS, p uintptr, x0 GeoCoord, y0 GeoCoord, x1 } // Insert all segments and events for polygon pPoly. -func geopolyAddSegments(tls *libc.TLS, p uintptr, pPoly uintptr, side uint8) { /* sqlite3.c:201135:13: */ +func geopolyAddSegments(tls *libc.TLS, p uintptr, pPoly uintptr, side uint8) { /* sqlite3.c:201192:13: */ var i uint32 var x uintptr for i = uint32(0); i < uint32((*GeoPoly)(unsafe.Pointer(pPoly)).FnVertex)-uint32(1); i++ { @@ -162176,7 +162207,7 @@ func geopolyAddSegments(tls *libc.TLS, p uintptr, pPoly uintptr, side uint8) { / } // Merge two lists of sorted events by X coordinate -func geopolyEventMerge(tls *libc.TLS, pLeft uintptr, pRight uintptr) uintptr { /* sqlite3.c:201153:17: */ +func geopolyEventMerge(tls *libc.TLS, pLeft uintptr, pRight uintptr) uintptr { /* sqlite3.c:201210:17: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -162206,7 +162237,7 @@ func geopolyEventMerge(tls *libc.TLS, pLeft uintptr, pRight uintptr) uintptr { / } // Sort an array of nEvent event objects into a list. -func geopolySortEventsByX(tls *libc.TLS, aEvent uintptr, nEvent int32) uintptr { /* sqlite3.c:201175:17: */ +func geopolySortEventsByX(tls *libc.TLS, aEvent uintptr, nEvent int32) uintptr { /* sqlite3.c:201232:17: */ bp := tls.Alloc(400) defer tls.Free(400) @@ -162236,7 +162267,7 @@ func geopolySortEventsByX(tls *libc.TLS, aEvent uintptr, nEvent int32) uintptr { } // Merge two lists of sorted segments by Y, and then by C. -func geopolySegmentMerge(tls *libc.TLS, pLeft uintptr, pRight uintptr) uintptr { /* sqlite3.c:201200:19: */ +func geopolySegmentMerge(tls *libc.TLS, pLeft uintptr, pRight uintptr) uintptr { /* sqlite3.c:201257:19: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -162271,7 +162302,7 @@ func geopolySegmentMerge(tls *libc.TLS, pLeft uintptr, pRight uintptr) uintptr { // Sort a list of GeoSegments in order of increasing Y and in the event of // a tie, increasing C (slope). -func geopolySortSegmentsByYAndC(tls *libc.TLS, pList uintptr) uintptr { /* sqlite3.c:201225:19: */ +func geopolySortSegmentsByYAndC(tls *libc.TLS, pList uintptr) uintptr { /* sqlite3.c:201282:19: */ bp := tls.Alloc(400) defer tls.Free(400) @@ -162301,7 +162332,7 @@ func geopolySortSegmentsByYAndC(tls *libc.TLS, pList uintptr) uintptr { /* sqlit } // Determine the overlap between two polygons -func geopolyOverlap(tls *libc.TLS, p1 uintptr, p2 uintptr) int32 { /* sqlite3.c:201251:12: */ +func geopolyOverlap(tls *libc.TLS, p1 uintptr, p2 uintptr) int32 { /* sqlite3.c:201308:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -162537,7 +162568,7 @@ geopolyOverlapDone: // 3 P2 is completely contained within P1 // 4 P1 and P2 are the same polygon // NULL Either P1 or P2 or both are not valid polygons -func geopolyOverlapFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:201374:13: */ +func geopolyOverlapFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:201431:13: */ var p1 uintptr = geopolyFuncParam(tls, context, *(*uintptr)(unsafe.Pointer(argv)), uintptr(0)) var p2 uintptr = geopolyFuncParam(tls, context, *(*uintptr)(unsafe.Pointer(argv + 1*8)), uintptr(0)) if p1 != 0 && p2 != 0 { @@ -162553,7 +162584,7 @@ func geopolyOverlapFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr } // Enable or disable debugging output -func geopolyDebugFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:201396:13: */ +func geopolyDebugFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:201453:13: */ } // This function is the implementation of both the xConnect and xCreate @@ -162563,7 +162594,7 @@ func geopolyDebugFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) // argv[1] -> database name // argv[2] -> table name // argv[...] -> column names... -func geopolyInit(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr, isCreate int32) int32 { /* sqlite3.c:201415:12: */ +func geopolyInit(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr, isCreate int32) int32 { /* sqlite3.c:201472:12: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -162678,12 +162709,12 @@ __11: } // GEOPOLY virtual table module xCreate method. -func geopolyCreate(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 { /* sqlite3.c:201499:12: */ +func geopolyCreate(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 { /* sqlite3.c:201556:12: */ return geopolyInit(tls, db, pAux, argc, argv, ppVtab, pzErr, 1) } // GEOPOLY virtual table module xConnect method. -func geopolyConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 { /* sqlite3.c:201512:12: */ +func geopolyConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 { /* sqlite3.c:201569:12: */ return geopolyInit(tls, db, pAux, argc, argv, ppVtab, pzErr, 0) } @@ -162697,7 +162728,7 @@ func geopolyConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv ui // 3 search for objects overlapping the same bounding box // that contains polygon argv[0] // 4 full table scan -func geopolyFilter(tls *libc.TLS, pVtabCursor uintptr, idxNum int32, idxStr uintptr, argc int32, argv uintptr) int32 { /* sqlite3.c:201535:12: */ +func geopolyFilter(tls *libc.TLS, pVtabCursor uintptr, idxNum int32, idxStr uintptr, argc int32, argv uintptr) int32 { /* sqlite3.c:201592:12: */ bp := tls.Alloc(52) defer tls.Free(52) @@ -162864,7 +162895,7 @@ geopoly_filter_end: // 3 "rtree" R-tree within query using geopoly_within() // 4 "fullscan" full-table scan. // ------------------------------------------------ -func geopolyBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 { /* sqlite3.c:201667:12: */ +func geopolyBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 { /* sqlite3.c:201724:12: */ var ii int32 var iRowidTerm int32 = -1 var iFuncTerm int32 = -1 @@ -162915,7 +162946,7 @@ func geopolyBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 { /* s } // GEOPOLY virtual table module xColumn method. -func geopolyColumn(tls *libc.TLS, cur uintptr, ctx uintptr, i int32) int32 { /* sqlite3.c:201719:12: */ +func geopolyColumn(tls *libc.TLS, cur uintptr, ctx uintptr, i int32) int32 { /* sqlite3.c:201776:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -162980,7 +163011,7 @@ func geopolyColumn(tls *libc.TLS, cur uintptr, ctx uintptr, i int32) int32 { /* // argv[1] = rowid after the change. Never NULL // argv[2] = new value for _shape // argv[3] = new value for first application-defined column.... -func geopolyUpdate(tls *libc.TLS, pVtab uintptr, nData int32, aData uintptr, pRowid uintptr) int32 { /* sqlite3.c:201774:12: */ +func geopolyUpdate(tls *libc.TLS, pVtab uintptr, nData int32, aData uintptr, pRowid uintptr) int32 { /* sqlite3.c:201831:12: */ bp := tls.Alloc(64) defer tls.Free(64) @@ -163191,7 +163222,7 @@ 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) int32 { /* sqlite3.c:201911:12: */ +func geopolyFindFunction(tls *libc.TLS, pVtab uintptr, nArg int32, zName uintptr, pxFunc uintptr, ppArg uintptr) int32 { /* sqlite3.c:201968:12: */ if Xsqlite3_stricmp(tls, zName, ts+27444) == 0 { *(*uintptr)(unsafe.Pointer(pxFunc)) = *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) @@ -163232,9 +163263,9 @@ var geopolyModule = Sqlite3_module{ FxRename: 0, // xRename - rename the table FxSavepoint: 0, // xRollbackTo FxShadowName: 0, // xShadowName -} /* sqlite3.c:201932:23 */ +} /* sqlite3.c:201989:23 */ -func sqlite3_geopoly_init(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:201959:12: */ +func sqlite3_geopoly_init(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:202016:12: */ var rc int32 = SQLITE_OK var i int32 for i = 0; uint64(i) < uint64(unsafe.Sizeof(aFunc))/uint64(unsafe.Sizeof(struct { @@ -163288,14 +163319,14 @@ var aFunc = [12]struct { {FxFunc: 0, FnArg: int8(7), FbPure: uint8(1), FzName: ts + 27584 /* "geopoly_xform" */}, {FxFunc: 0, FnArg: int8(4), FbPure: uint8(1), FzName: ts + 27598 /* "geopoly_regular" */}, {FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 27614 /* "geopoly_ccw" */}, -} /* sqlite3.c:201966:5 */ +} /* sqlite3.c:202023:5 */ var aAgg = [1]struct { FxStep uintptr FxFinal uintptr FzName uintptr }{ {FxStep: 0, FxFinal: 0, FzName: ts + 27626 /* "geopoly_group_bb..." */}, -} /* sqlite3.c:201984:5 */ +} /* sqlite3.c:202041:5 */ //************* End of geopoly.c ******************************************** //************* Continuing where we left off in rtree.c ********************* @@ -163303,7 +163334,7 @@ var aAgg = [1]struct { // Register the r-tree module with database handle db. This creates the // virtual table module "rtree" and the debugging/analysis scalar // function "rtreenode". -func Xsqlite3RtreeInit(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:202019:20: */ +func Xsqlite3RtreeInit(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:202076:20: */ var utf8 int32 = SQLITE_UTF8 var rc int32 @@ -163340,7 +163371,7 @@ func Xsqlite3RtreeInit(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:202019:20 // or sqlite3_rtree_query_callback(). In other words, this routine is the // destructor for an RtreeGeomCallback objecct. This routine is called when // the corresponding SQL function is deleted. -func rtreeFreeCallback(tls *libc.TLS, p uintptr) { /* sqlite3.c:202058:13: */ +func rtreeFreeCallback(tls *libc.TLS, p uintptr) { /* sqlite3.c:202115:13: */ var pInfo uintptr = p if (*RtreeGeomCallback)(unsafe.Pointer(pInfo)).FxDestructor != 0 { (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*RtreeGeomCallback)(unsafe.Pointer(pInfo)).FxDestructor})).f(tls, (*RtreeGeomCallback)(unsafe.Pointer(pInfo)).FpContext) @@ -163349,7 +163380,7 @@ func rtreeFreeCallback(tls *libc.TLS, p uintptr) { /* sqlite3.c:202058:13: */ } // This routine frees the BLOB that is returned by geomCallback(). -func rtreeMatchArgFree(tls *libc.TLS, pArg uintptr) { /* sqlite3.c:202067:13: */ +func rtreeMatchArgFree(tls *libc.TLS, pArg uintptr) { /* sqlite3.c:202124:13: */ var i int32 var p uintptr = pArg for i = 0; i < (*RtreeMatchArg)(unsafe.Pointer(p)).FnParam; i++ { @@ -163370,7 +163401,7 @@ func rtreeMatchArgFree(tls *libc.TLS, pArg uintptr) { /* sqlite3.c:202067:13: */ // The R-Tree MATCH operator will read the returned BLOB, deserialize // the RtreeMatchArg object, and use the RtreeMatchArg object to figure // out which elements of the R-Tree should be returned by the query. -func geomCallback(tls *libc.TLS, ctx uintptr, nArg int32, aArg uintptr) { /* sqlite3.c:202090:13: */ +func geomCallback(tls *libc.TLS, ctx uintptr, nArg int32, aArg uintptr) { /* sqlite3.c:202147:13: */ var pGeomCtx uintptr = Xsqlite3_user_data(tls, ctx) var pBlob uintptr var nBlob Sqlite3_int64 @@ -163404,7 +163435,7 @@ func geomCallback(tls *libc.TLS, ctx uintptr, nArg int32, aArg uintptr) { /* sql } // 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) int32 { /* sqlite3.c:202128:16: */ +func Xsqlite3_rtree_geometry_callback(tls *libc.TLS, db uintptr, zGeom uintptr, xGeom uintptr, pContext uintptr) int32 { /* sqlite3.c:202185:16: */ var pGeomCtx uintptr // Context object for new user-function // Allocate and populate the context object. @@ -163424,7 +163455,7 @@ func Xsqlite3_rtree_geometry_callback(tls *libc.TLS, db uintptr, zGeom uintptr, // 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) int32 { /* sqlite3.c:202152:16: */ +func Xsqlite3_rtree_query_callback(tls *libc.TLS, db uintptr, zQueryFunc uintptr, xQueryFunc uintptr, pContext uintptr, xDestructor uintptr) int32 { /* sqlite3.c:202209:16: */ var pGeomCtx uintptr // Context object for new user-function // Allocate and populate the context object. @@ -163880,7 +163911,7 @@ type sqlite3rbu = struct { FnRbu int32 F__ccgo_pad6 [4]byte FpRbuFd uintptr -} /* sqlite3.c:203382:9 */ +} /* sqlite3.c:203439:9 */ //************* End of rtree.c ********************************************** //************* Begin file icu.c ******************************************** @@ -164281,7 +164312,7 @@ type sqlite3rbu = struct { // #include "sqlite3.h" ** Required for error code definitions ** -type Sqlite3rbu = sqlite3rbu /* sqlite3.c:203382:27 */ +type Sqlite3rbu = sqlite3rbu /* sqlite3.c:203439:27 */ //************* End of sqlite3rbu.h ***************************************** //************* Continuing where we left off in sqlite3rbu.c **************** @@ -164346,7 +164377,7 @@ type Sqlite3rbu = sqlite3rbu /* sqlite3.c:203382:27 */ type RbuFrame1 = struct { FiDbPage U32 FiWalFrame U32 -} /* sqlite3.c:203382:9 */ +} /* sqlite3.c:203439:9 */ //************* End of sqlite3rbu.h ***************************************** //************* Continuing where we left off in sqlite3rbu.c **************** @@ -164408,7 +164439,7 @@ type RbuFrame1 = struct { // Only valid if STAGE==1. The RBU database name of the table // currently being read. -type RbuFrame = RbuFrame1 /* sqlite3.c:203813:25 */ +type RbuFrame = RbuFrame1 /* sqlite3.c:203870:25 */ type RbuObjIter1 = struct { FpTblIter uintptr FpIdxIter uintptr @@ -164440,9 +164471,9 @@ type RbuObjIter1 = struct { FaIdxCol uintptr FzIdxSql uintptr FpRbuUpdate uintptr -} /* sqlite3.c:203382:9 */ +} /* sqlite3.c:203439:9 */ -type RbuObjIter = RbuObjIter1 /* sqlite3.c:203814:27 */ +type RbuObjIter = RbuObjIter1 /* sqlite3.c:203871:27 */ type RbuState1 = struct { FeStage int32 F__ccgo_pad1 [4]byte @@ -164457,16 +164488,16 @@ type RbuState1 = struct { F__ccgo_pad3 [4]byte FiOalSz I64 FnPhaseOneStep I64 -} /* sqlite3.c:203815:9 */ +} /* sqlite3.c:203872:9 */ -type RbuState = RbuState1 /* sqlite3.c:203815:25 */ +type RbuState = RbuState1 /* sqlite3.c:203872:25 */ type RbuSpan1 = struct { FzSpan uintptr FnSpan int32 F__ccgo_pad1 [4]byte -} /* sqlite3.c:203382:9 */ +} /* sqlite3.c:203439:9 */ -type RbuSpan = RbuSpan1 /* sqlite3.c:203816:24 */ +type RbuSpan = RbuSpan1 /* sqlite3.c:203873:24 */ type rbu_vfs = struct { Fbase Sqlite3_vfs FpRealVfs uintptr @@ -164474,9 +164505,9 @@ type rbu_vfs = struct { FpRbu uintptr FpMain uintptr FpMainRbu uintptr -} /* sqlite3.c:203382:9 */ +} /* sqlite3.c:203439:9 */ -type Rbu_vfs = rbu_vfs /* sqlite3.c:203817:24 */ +type Rbu_vfs = rbu_vfs /* sqlite3.c:203874:24 */ type rbu_file = struct { Fbase Sqlite3_file FpReal uintptr @@ -164495,16 +164526,16 @@ type rbu_file = struct { FpWalFd uintptr FpMainNext uintptr FpMainRbuNext uintptr -} /* sqlite3.c:203382:9 */ +} /* sqlite3.c:203439:9 */ -type Rbu_file = rbu_file /* sqlite3.c:203818:25 */ +type Rbu_file = rbu_file /* sqlite3.c:203875:25 */ type RbuUpdateStmt1 = struct { FzMask uintptr FpUpdate uintptr FpNext uintptr -} /* sqlite3.c:203382:9 */ +} /* sqlite3.c:203439:9 */ -type RbuUpdateStmt = RbuUpdateStmt1 /* sqlite3.c:203819:30 */ +type RbuUpdateStmt = RbuUpdateStmt1 /* sqlite3.c:203876:30 */ // True for an RBU vacuum handle, or false otherwise. @@ -164523,7 +164554,7 @@ type RbuUpdateStmt = RbuUpdateStmt1 /* sqlite3.c:203819:30 */ // finished, leave *pz pointing to the first character past the end of // the integer. The *pLen parameter holds the length of the string // in *pz and is decremented once for each character in the integer. -func rbuDeltaGetInt(tls *libc.TLS, pz uintptr, pLen uintptr) uint32 { /* sqlite3.c:204109:21: */ +func rbuDeltaGetInt(tls *libc.TLS, pz uintptr, pLen uintptr) uint32 { /* sqlite3.c:204166:21: */ var v uint32 = uint32(0) var c int32 var z uintptr = *(*uintptr)(unsafe.Pointer(pz)) @@ -164546,7 +164577,7 @@ var zValue = [128]int8{ int8(25), int8(26), int8(27), int8(28), int8(29), int8(30), int8(31), int8(32), int8(33), int8(34), int8(35), int8(-1), int8(-1), int8(-1), int8(-1), int8(36), int8(-1), int8(37), int8(38), int8(39), int8(40), int8(41), int8(42), int8(43), int8(44), int8(45), int8(46), int8(47), int8(48), int8(49), int8(50), int8(51), int8(52), int8(53), int8(54), int8(55), int8(56), int8(57), int8(58), int8(59), int8(60), int8(61), int8(62), int8(-1), int8(-1), int8(-1), int8(63), int8(-1), -} /* sqlite3.c:204110:28 */ +} /* sqlite3.c:204167:28 */ // Apply a delta. // @@ -164566,7 +164597,7 @@ var zValue = [128]int8{ // // Refer to the delta_create() documentation above for a description // of the delta file format. -func rbuDeltaApply(tls *libc.TLS, zSrc uintptr, lenSrc int32, zDelta uintptr, lenDelta int32, zOut uintptr) int32 { /* sqlite3.c:204190:12: */ +func rbuDeltaApply(tls *libc.TLS, zSrc uintptr, lenSrc int32, zDelta uintptr, lenDelta int32, zOut uintptr) int32 { /* sqlite3.c:204247:12: */ bp := tls.Alloc(12) defer tls.Free(12) *(*uintptr)(unsafe.Pointer(bp)) = zDelta @@ -164656,7 +164687,7 @@ func rbuDeltaApply(tls *libc.TLS, zSrc uintptr, lenSrc int32, zDelta uintptr, le return -1 } -func rbuDeltaOutputSize(tls *libc.TLS, zDelta uintptr, lenDelta int32) int32 { /* sqlite3.c:204276:12: */ +func rbuDeltaOutputSize(tls *libc.TLS, zDelta uintptr, lenDelta int32) int32 { /* sqlite3.c:204333:12: */ bp := tls.Alloc(12) defer tls.Free(12) *(*uintptr)(unsafe.Pointer(bp)) = zDelta @@ -164681,7 +164712,7 @@ func rbuDeltaOutputSize(tls *libc.TLS, zDelta uintptr, lenDelta int32) int32 { / // arguments must be passed to this function. The first is the blob to // patch and the second the patch to apply. If no error occurs, this // function returns the patched blob. -func rbuFossilDeltaFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:204298:13: */ +func rbuFossilDeltaFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:204355:13: */ var aDelta uintptr var nDelta int32 var aOrig uintptr @@ -164724,7 +164755,7 @@ func rbuFossilDeltaFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr // an SQLite error code. Additionally, set output variable *pzErrmsg to // point to a buffer containing an error message. It is the responsibility // of the caller to (eventually) free this buffer using sqlite3_free(). -func prepareAndCollectError(tls *libc.TLS, db uintptr, ppStmt uintptr, pzErrmsg uintptr, zSql uintptr) int32 { /* sqlite3.c:204351:12: */ +func prepareAndCollectError(tls *libc.TLS, db uintptr, ppStmt uintptr, pzErrmsg uintptr, zSql uintptr) int32 { /* sqlite3.c:204408:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -164742,7 +164773,7 @@ func prepareAndCollectError(tls *libc.TLS, db uintptr, ppStmt uintptr, pzErrmsg // If an error has occurred, then set *pzErrmsg to point to a buffer // containing an error message. It is the responsibility of the caller // to eventually free this buffer using sqlite3_free(). -func resetAndCollectError(tls *libc.TLS, pStmt uintptr, pzErrmsg uintptr) int32 { /* sqlite3.c:204373:12: */ +func resetAndCollectError(tls *libc.TLS, pStmt uintptr, pzErrmsg uintptr) int32 { /* sqlite3.c:204430:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -164766,7 +164797,7 @@ func resetAndCollectError(tls *libc.TLS, pStmt uintptr, pzErrmsg uintptr) int32 // // If argument zSql is NULL, this function assumes that an OOM has occurred. // In this case SQLITE_NOMEM is returned and *ppStmt set to NULL. -func prepareFreeAndCollectError(tls *libc.TLS, db uintptr, ppStmt uintptr, pzErrmsg uintptr, zSql uintptr) int32 { /* sqlite3.c:204396:12: */ +func prepareFreeAndCollectError(tls *libc.TLS, db uintptr, ppStmt uintptr, pzErrmsg uintptr, zSql uintptr) int32 { /* sqlite3.c:204453:12: */ var rc int32 if zSql == uintptr(0) { @@ -164781,7 +164812,7 @@ func prepareFreeAndCollectError(tls *libc.TLS, db uintptr, ppStmt uintptr, pzErr // Free the RbuObjIter.azTblCol[] and RbuObjIter.abTblPk[] arrays allocated // by an earlier call to rbuObjIterCacheTableInfo(). -func rbuObjIterFreeCols(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:204418:13: */ +func rbuObjIterFreeCols(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:204475:13: */ var i int32 for i = 0; i < (*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol; i++ { Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8))) @@ -164799,7 +164830,7 @@ func rbuObjIterFreeCols(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:204418:13: // Finalize all statements and free all allocations that are specific to // the current object (table/index pair). -func rbuObjIterClearStatements(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:204438:13: */ +func rbuObjIterClearStatements(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:204495:13: */ var pUp uintptr Xsqlite3_finalize(tls, (*RbuObjIter)(unsafe.Pointer(pIter)).FpSelect) @@ -164829,7 +164860,7 @@ func rbuObjIterClearStatements(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:2044 // Clean up any resources allocated as part of the iterator object passed // as the only argument. -func rbuObjIterFinalize(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:204470:13: */ +func rbuObjIterFinalize(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:204527:13: */ rbuObjIterClearStatements(tls, pIter) Xsqlite3_finalize(tls, (*RbuObjIter)(unsafe.Pointer(pIter)).FpTblIter) Xsqlite3_finalize(tls, (*RbuObjIter)(unsafe.Pointer(pIter)).FpIdxIter) @@ -164843,7 +164874,7 @@ func rbuObjIterFinalize(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:204470:13: // pointing to the next entry. Otherwise, an error code and message is // left in the RBU handle passed as the first argument. A copy of the // error code is returned. -func rbuObjIterNext(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlite3.c:204486:12: */ +func rbuObjIterNext(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlite3.c:204543:12: */ var rc int32 = (*Sqlite3rbu)(unsafe.Pointer(p)).Frc if rc == SQLITE_OK { @@ -164924,7 +164955,7 @@ func rbuObjIterNext(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlite3. // // For an rbu vacuum handle, a copy of the first argument is returned if // the second argument is either missing or 0 (not a view). -func rbuTargetNameFunc(tls *libc.TLS, pCtx uintptr, argc int32, argv uintptr) { /* sqlite3.c:204566:13: */ +func rbuTargetNameFunc(tls *libc.TLS, pCtx uintptr, argc int32, argv uintptr) { /* sqlite3.c:204623:13: */ var p uintptr = Xsqlite3_user_data(tls, pCtx) var zIn uintptr @@ -164954,7 +164985,7 @@ func rbuTargetNameFunc(tls *libc.TLS, pCtx uintptr, argc int32, argv uintptr) { // pointing to the first entry. Otherwise, an error code and message is // left in the RBU handle passed as the first argument. A copy of the // error code is returned. -func rbuObjIterFirst(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlite3.c:204602:12: */ +func rbuObjIterFirst(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlite3.c:204659:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -164989,7 +165020,7 @@ func rbuObjIterFirst(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlite3 // than SQLITE_OK), then this function returns NULL without modifying the // stored error code. In this case it still calls sqlite3_free() on any // printf() parameters associated with %z conversions. -func rbuMPrintf(tls *libc.TLS, p uintptr, zFmt uintptr, va uintptr) uintptr { /* sqlite3.c:204637:13: */ +func rbuMPrintf(tls *libc.TLS, p uintptr, zFmt uintptr, va uintptr) uintptr { /* sqlite3.c:204694:13: */ var zSql uintptr = uintptr(0) var ap Va_list _ = ap @@ -165015,7 +165046,7 @@ func rbuMPrintf(tls *libc.TLS, p uintptr, zFmt uintptr, va uintptr) uintptr { /* // If an error occurs, an error code and error message is stored in the // RBU handle. If an error has already occurred when this function is // called, it is a no-op. -func rbuMPrintfExec(tls *libc.TLS, p uintptr, db uintptr, zFmt uintptr, va uintptr) int32 { /* sqlite3.c:204662:12: */ +func rbuMPrintfExec(tls *libc.TLS, p uintptr, db uintptr, zFmt uintptr, va uintptr) int32 { /* sqlite3.c:204719:12: */ var ap Va_list _ = ap var zSql uintptr @@ -165041,7 +165072,7 @@ func rbuMPrintfExec(tls *libc.TLS, p uintptr, db uintptr, zFmt uintptr, va uintp // error has already occurred when this function is called, return NULL // immediately without attempting the allocation or modifying the stored // error code. -func rbuMalloc(tls *libc.TLS, p uintptr, nByte Sqlite3_int64) uintptr { /* sqlite3.c:204689:13: */ +func rbuMalloc(tls *libc.TLS, p uintptr, nByte Sqlite3_int64) uintptr { /* sqlite3.c:204746:13: */ var pRet uintptr = uintptr(0) if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { @@ -165058,7 +165089,7 @@ func rbuMalloc(tls *libc.TLS, p uintptr, nByte Sqlite3_int64) uintptr { /* sqlit // Allocate and zero the pIter->azTblCol[] and abTblPk[] arrays so that // there is room for at least nCol elements. If an OOM occurs, store an // error code in the RBU handle passed as the first argument. -func rbuAllocateIterArrays(tls *libc.TLS, p uintptr, pIter uintptr, nCol int32) { /* sqlite3.c:204709:13: */ +func rbuAllocateIterArrays(tls *libc.TLS, p uintptr, pIter uintptr, nCol int32) { /* sqlite3.c:204766:13: */ var nByte Sqlite3_int64 = Sqlite3_int64((uint64(2)*uint64(unsafe.Sizeof(uintptr(0))) + uint64(unsafe.Sizeof(int32(0))) + uint64(3)*uint64(unsafe.Sizeof(U8(0)))) * uint64(nCol)) var azNew uintptr @@ -165081,7 +165112,7 @@ func rbuAllocateIterArrays(tls *libc.TLS, p uintptr, pIter uintptr, nCol int32) // If an OOM condition is encountered when attempting to allocate memory, // output variable (*pRc) is set to SQLITE_NOMEM before returning. Otherwise, // if the allocation succeeds, (*pRc) is left unchanged. -func rbuStrndup(tls *libc.TLS, zStr uintptr, pRc uintptr) uintptr { /* sqlite3.c:204734:13: */ +func rbuStrndup(tls *libc.TLS, zStr uintptr, pRc uintptr) uintptr { /* sqlite3.c:204791:13: */ var zRet uintptr = uintptr(0) if *(*int32)(unsafe.Pointer(pRc)) == SQLITE_OK { @@ -165104,7 +165135,7 @@ func rbuStrndup(tls *libc.TLS, zStr uintptr, pRc uintptr) uintptr { /* sqlite3.c // If the sqlite3_finalize() call indicates that an error occurs, and the // rbu handle error code is not already set, set the error code and error // message accordingly. -func rbuFinalize(tls *libc.TLS, p uintptr, pStmt uintptr) { /* sqlite3.c:204759:13: */ +func rbuFinalize(tls *libc.TLS, p uintptr, pStmt uintptr) { /* sqlite3.c:204816:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -165154,7 +165185,7 @@ func rbuFinalize(tls *libc.TLS, p uintptr, pStmt uintptr) { /* sqlite3.c:204759: // }else{ // return RBU_PK_NONE // } -func rbuTableType(tls *libc.TLS, p uintptr, zTab uintptr, peType uintptr, piTnum uintptr, piPk uintptr) { /* sqlite3.c:204807:13: */ +func rbuTableType(tls *libc.TLS, p uintptr, zTab uintptr, peType uintptr, piTnum uintptr, piPk uintptr) { /* sqlite3.c:204864:13: */ bp := tls.Alloc(64) defer tls.Free(64) @@ -165274,7 +165305,7 @@ __16: // This is a helper function for rbuObjIterCacheTableInfo(). It populates // the pIter->abIndexed[] array. -func rbuObjIterCacheIndexedCols(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:204893:13: */ +func rbuObjIterCacheIndexedCols(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:204950:13: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -165332,7 +165363,7 @@ func rbuObjIterCacheIndexedCols(tls *libc.TLS, p uintptr, pIter uintptr) { /* sq // Return SQLITE_OK if successful, or an SQLite error code otherwise. If // an error does occur, an error code and error message are also left in // the RBU handle. -func rbuObjIterCacheTableInfo(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlite3.c:204947:12: */ +func rbuObjIterCacheTableInfo(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlite3.c:205004:12: */ bp := tls.Alloc(72) defer tls.Free(72) @@ -165454,7 +165485,7 @@ func rbuObjIterCacheTableInfo(tls *libc.TLS, p uintptr, pIter uintptr) int32 { / // This function constructs and returns a pointer to a nul-terminated // string containing some SQL clause or list based on one or more of the // column names currently stored in the pIter->azTblCol[] array. -func rbuObjIterGetCollist(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { /* sqlite3.c:205057:13: */ +func rbuObjIterGetCollist(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { /* sqlite3.c:205114:13: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -165473,7 +165504,7 @@ func rbuObjIterGetCollist(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { /* // in order, for the current table. Before each column name, add the text // zPre. After each column name, add the zPost text. Use zSeparator as // the separator text (usually ", "). -func rbuObjIterGetPkList(tls *libc.TLS, p uintptr, pIter uintptr, zPre uintptr, zSeparator uintptr, zPost uintptr) uintptr { /* sqlite3.c:205078:13: */ +func rbuObjIterGetPkList(tls *libc.TLS, p uintptr, pIter uintptr, zPre uintptr, zSeparator uintptr, zPost uintptr) uintptr { /* sqlite3.c:205135:13: */ bp := tls.Alloc(40) defer tls.Free(40) @@ -165515,7 +165546,7 @@ func rbuObjIterGetPkList(tls *libc.TLS, p uintptr, pIter uintptr, zPre uintptr, // // Instead of "?" placeholders, the actual WHERE clauses created by // this function contain literal SQL values. -func rbuVacuumTableStart(tls *libc.TLS, p uintptr, pIter uintptr, bRowid int32, zWrite uintptr) uintptr { /* sqlite3.c:205123:13: */ +func rbuVacuumTableStart(tls *libc.TLS, p uintptr, pIter uintptr, bRowid int32, zWrite uintptr) uintptr { /* sqlite3.c:205180:13: */ bp := tls.Alloc(80) defer tls.Free(80) @@ -165574,7 +165605,7 @@ func rbuVacuumTableStart(tls *libc.TLS, p uintptr, pIter uintptr, bRowid int32, // If the expression cannot be created, NULL is returned. In this case, // the caller has to use an OFFSET clause to extract only the required // rows from the sourct table, just as it does for an RBU update operation. -func rbuVacuumIndexStart(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { /* sqlite3.c:205190:13: */ +func rbuVacuumIndexStart(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { /* sqlite3.c:205247:13: */ bp := tls.Alloc(192) defer tls.Free(192) @@ -165755,7 +165786,7 @@ index_start_out: // pzImposterCols: ... // pzImposterPk: ... // pzWhere: ... -func rbuObjIterGetIndexCols(tls *libc.TLS, p uintptr, pIter uintptr, pzImposterCols uintptr, pzImposterPk uintptr, pzWhere uintptr, pnBind uintptr) uintptr { /* sqlite3.c:205305:13: */ +func rbuObjIterGetIndexCols(tls *libc.TLS, p uintptr, pIter uintptr, pzImposterCols uintptr, pzImposterPk uintptr, pzWhere uintptr, pnBind uintptr) uintptr { /* sqlite3.c:205362:13: */ bp := tls.Alloc(208) defer tls.Free(208) @@ -165866,7 +165897,7 @@ func rbuObjIterGetIndexCols(tls *libc.TLS, p uintptr, pIter uintptr, pzImposterC // // For tables with implicit rowids - RBU_PK_EXTERNAL and RBU_PK_NONE, append // the text ", old._rowid_" to the returned value. -func rbuObjIterGetOldlist(tls *libc.TLS, p uintptr, pIter uintptr, zObj uintptr) uintptr { /* sqlite3.c:205417:13: */ +func rbuObjIterGetOldlist(tls *libc.TLS, p uintptr, pIter uintptr, zObj uintptr) uintptr { /* sqlite3.c:205474:13: */ bp := tls.Alloc(64) defer tls.Free(64) @@ -165904,7 +165935,7 @@ func rbuObjIterGetOldlist(tls *libc.TLS, p uintptr, pIter uintptr, zObj uintptr) // Return the string: // // "b = ?1 AND c = ?2" -func rbuObjIterGetWhere(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { /* sqlite3.c:205458:13: */ +func rbuObjIterGetWhere(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { /* sqlite3.c:205515:13: */ bp := tls.Alloc(80) defer tls.Free(80) @@ -165942,7 +165973,7 @@ func rbuObjIterGetWhere(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { /* sq // is something wrong with the rbu_control value in the rbu_control value // stored in the (p->nCol+1)'th column. Set the error code and error message // of the RBU handle to something reflecting this. -func rbuBadControlError(tls *libc.TLS, p uintptr) { /* sqlite3.c:205499:13: */ +func rbuBadControlError(tls *libc.TLS, p uintptr) { /* sqlite3.c:205556:13: */ (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_ERROR (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+29162, 0) } @@ -165962,7 +165993,7 @@ func rbuBadControlError(tls *libc.TLS, p uintptr) { /* sqlite3.c:205499:13: */ // argument and NULL is returned. Or, if an error has already occurred // when this function is called, NULL is returned immediately, without // attempting the allocation or modifying the stored error code. -func rbuObjIterGetSetlist(tls *libc.TLS, p uintptr, pIter uintptr, zMask uintptr) uintptr { /* sqlite3.c:205522:13: */ +func rbuObjIterGetSetlist(tls *libc.TLS, p uintptr, pIter uintptr, zMask uintptr) uintptr { /* sqlite3.c:205579:13: */ bp := tls.Alloc(112) defer tls.Free(112) @@ -166008,7 +166039,7 @@ func rbuObjIterGetSetlist(tls *libc.TLS, p uintptr, pIter uintptr, zMask uintptr // argument and NULL is returned. Or, if an error has already occurred // when this function is called, NULL is returned immediately, without // attempting the allocation or modifying the stored error code. -func rbuObjIterGetBindlist(tls *libc.TLS, p uintptr, nBind int32) uintptr { /* sqlite3.c:205576:13: */ +func rbuObjIterGetBindlist(tls *libc.TLS, p uintptr, nBind int32) uintptr { /* sqlite3.c:205633:13: */ var zRet uintptr = uintptr(0) var nByte Sqlite3_int64 = int64(2)*Sqlite3_int64(nBind) + int64(1) @@ -166038,7 +166069,7 @@ func rbuObjIterGetBindlist(tls *libc.TLS, p uintptr, nBind int32) uintptr { /* s // this function returns: // // PRIMARY KEY("b", "a" DESC) -func rbuWithoutRowidPK(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { /* sqlite3.c:205603:13: */ +func rbuWithoutRowidPK(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { /* sqlite3.c:205660:13: */ bp := tls.Alloc(72) defer tls.Free(72) @@ -166101,7 +166132,7 @@ func rbuWithoutRowidPK(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { /* sql // // CREATE TABLE rbu_imposter2(c1 TEXT, c2 REAL, id INTEGER) WITHOUT ROWID; // -func rbuCreateImposterTable2(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:205662:13: */ +func rbuCreateImposterTable2(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:205719:13: */ bp := tls.Alloc(184) defer tls.Free(184) @@ -166177,7 +166208,7 @@ func rbuCreateImposterTable2(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlit // More precisely, the "same schema" means the same columns, types, // collation sequences. For tables that do not have an external PRIMARY // KEY, it also means the same PRIMARY KEY declaration. -func rbuCreateImposterTable(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:205736:13: */ +func rbuCreateImposterTable(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:205793:13: */ bp := tls.Alloc(200) defer tls.Free(200) @@ -166241,7 +166272,7 @@ func rbuCreateImposterTable(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite // the target table, plus one (for the rbu_control column), plus one more // (for the rbu_rowid column) if the target table is an implicit IPK or // virtual table. -func rbuObjIterPrepareTmpInsert(tls *libc.TLS, p uintptr, pIter uintptr, zCollist uintptr, zRbuRowid uintptr) { /* sqlite3.c:205792:13: */ +func rbuObjIterPrepareTmpInsert(tls *libc.TLS, p uintptr, pIter uintptr, zCollist uintptr, zRbuRowid uintptr) { /* sqlite3.c:205849:13: */ bp := tls.Alloc(40) defer tls.Free(40) @@ -166256,7 +166287,7 @@ func rbuObjIterPrepareTmpInsert(tls *libc.TLS, p uintptr, pIter uintptr, zCollis } } -func rbuTmpInsertFunc(tls *libc.TLS, pCtx uintptr, nVal int32, apVal uintptr) { /* sqlite3.c:205810:13: */ +func rbuTmpInsertFunc(tls *libc.TLS, pCtx uintptr, nVal int32, apVal uintptr) { /* sqlite3.c:205867:13: */ var p uintptr = Xsqlite3_user_data(tls, pCtx) var rc int32 = SQLITE_OK var i int32 @@ -166278,7 +166309,7 @@ func rbuTmpInsertFunc(tls *libc.TLS, pCtx uintptr, nVal int32, apVal uintptr) { } } -func rbuObjIterGetIndexWhere(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { /* sqlite3.c:205840:13: */ +func rbuObjIterGetIndexWhere(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { /* sqlite3.c:205897:13: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -166386,7 +166417,7 @@ func rbuObjIterGetIndexWhere(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { // Ensure that the SQLite statement handles required to update the // target database object currently indicated by the iterator passed // as the second argument are available. -func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32) int32 { /* sqlite3.c:205940:12: */ +func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32) int32 { /* sqlite3.c:205997:12: */ bp := tls.Alloc(628) defer tls.Free(628) @@ -166661,7 +166692,7 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32 // // If the zMask string does not specify any columns to update, then this // is not an error. Output variable *ppStmt is set to NULL in this case. -func rbuGetUpdateStmt(tls *libc.TLS, p uintptr, pIter uintptr, zMask uintptr, ppStmt uintptr) int32 { /* sqlite3.c:206207:12: */ +func rbuGetUpdateStmt(tls *libc.TLS, p uintptr, pIter uintptr, zMask uintptr, ppStmt uintptr) int32 { /* sqlite3.c:206264:12: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -166727,7 +166758,7 @@ func rbuGetUpdateStmt(tls *libc.TLS, p uintptr, pIter uintptr, zMask uintptr, pp return (*Sqlite3rbu)(unsafe.Pointer(p)).Frc } -func rbuOpenDbhandle(tls *libc.TLS, p uintptr, zName uintptr, bUseVfs int32) uintptr { /* sqlite3.c:206275:16: */ +func rbuOpenDbhandle(tls *libc.TLS, p uintptr, zName uintptr, bUseVfs int32) uintptr { /* sqlite3.c:206332:16: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -166750,7 +166781,7 @@ func rbuOpenDbhandle(tls *libc.TLS, p uintptr, zName uintptr, bUseVfs int32) uin } // Free an RbuState object allocated by rbuLoadState(). -func rbuFreeState(tls *libc.TLS, p uintptr) { /* sqlite3.c:206296:13: */ +func rbuFreeState(tls *libc.TLS, p uintptr) { /* sqlite3.c:206353:13: */ if p != 0 { Xsqlite3_free(tls, (*RbuState)(unsafe.Pointer(p)).FzTbl) Xsqlite3_free(tls, (*RbuState)(unsafe.Pointer(p)).FzDataTbl) @@ -166766,7 +166797,7 @@ func rbuFreeState(tls *libc.TLS, p uintptr) { /* sqlite3.c:206296:13: */ // // If an error occurs, leave an error code and message in the rbu handle // and return NULL. -func rbuLoadState(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:206314:17: */ +func rbuLoadState(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:206371:17: */ bp := tls.Alloc(20) defer tls.Free(20) @@ -166850,7 +166881,7 @@ func rbuLoadState(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:206314:17: */ // If argument dbMain is not NULL, then it is a database handle already // open on the target database. Use this handle instead of opening a new // one. -func rbuOpenDatabase(tls *libc.TLS, p uintptr, dbMain uintptr, pbRetry uintptr) { /* sqlite3.c:206395:13: */ +func rbuOpenDatabase(tls *libc.TLS, p uintptr, dbMain uintptr, pbRetry uintptr) { /* sqlite3.c:206452:13: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -167012,7 +167043,7 @@ func rbuOpenDatabase(tls *libc.TLS, p uintptr, dbMain uintptr, pbRetry uintptr) // test.db-wal => test.wal // test.db-shm => test.shm // test.db-mj7f3319fa => test.9fa -func rbuFileSuffix3(tls *libc.TLS, zBase uintptr, z uintptr) { /* sqlite3.c:206576:13: */ +func rbuFileSuffix3(tls *libc.TLS, zBase uintptr, z uintptr) { /* sqlite3.c:206633:13: */ } // Return the current wal-index header checksum for the target database @@ -167020,7 +167051,7 @@ func rbuFileSuffix3(tls *libc.TLS, zBase uintptr, z uintptr) { /* sqlite3.c:2065 // // The checksum is store in the first page of xShmMap memory as an 8-byte // blob starting at byte offset 40. -func rbuShmChecksum(tls *libc.TLS, p uintptr) I64 { /* sqlite3.c:206597:12: */ +func rbuShmChecksum(tls *libc.TLS, p uintptr) I64 { /* sqlite3.c:206654:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -167053,7 +167084,7 @@ func rbuShmChecksum(tls *libc.TLS, p uintptr) I64 { /* sqlite3.c:206597:12: */ // object, then the rbu handle is set to DONE state. This occurs if some // other client appends a transaction to the wal file in the middle of // an incremental checkpoint. -func rbuSetupCheckpoint(tls *libc.TLS, p uintptr, pState uintptr) { /* sqlite3.c:206626:13: */ +func rbuSetupCheckpoint(tls *libc.TLS, p uintptr, pState uintptr) { /* sqlite3.c:206683:13: */ // If pState is NULL, then the wal file may not have been opened and // recovered. Running a read-statement here to ensure that doing so @@ -167145,7 +167176,7 @@ func rbuSetupCheckpoint(tls *libc.TLS, p uintptr, pState uintptr) { /* sqlite3.c // Called when iAmt bytes are read from offset iOff of the wal file while // the rbu object is in capture mode. Record the frame number of the frame // being read in the aFrame[] array. -func rbuCaptureWalRead(tls *libc.TLS, pRbu uintptr, iOff I64, iAmt int32) int32 { /* sqlite3.c:206710:12: */ +func rbuCaptureWalRead(tls *libc.TLS, pRbu uintptr, iOff I64, iAmt int32) int32 { /* sqlite3.c:206767:12: */ var mReq U32 = U32(int32(1)<dbMain to one more than the schema cookie of the main // db opened by p->dbRbu. -func rbuIncrSchemaCookie(tls *libc.TLS, p uintptr) { /* sqlite3.c:207135:13: */ +func rbuIncrSchemaCookie(tls *libc.TLS, p uintptr) { /* sqlite3.c:207192:13: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -167552,7 +167583,7 @@ func rbuIncrSchemaCookie(tls *libc.TLS, p uintptr) { /* sqlite3.c:207135:13: */ // Update the contents of the rbu_state table within the rbu database. The // value stored in the RBU_STATE_STAGE column is eStage. All other values // are determined by inspecting the rbu handle passed as the first argument. -func rbuSaveState(tls *libc.TLS, p uintptr, eStage int32) { /* sqlite3.c:207166:13: */ +func rbuSaveState(tls *libc.TLS, p uintptr, eStage int32) { /* sqlite3.c:207223:13: */ bp := tls.Alloc(176) defer tls.Free(176) @@ -167607,7 +167638,7 @@ func rbuSaveState(tls *libc.TLS, p uintptr, eStage int32) { /* sqlite3.c:207166: // // In short, it copies the value of the specified PRAGMA setting from // dbRbu to dbMain. -func rbuCopyPragma(tls *libc.TLS, p uintptr, zPragma uintptr) { /* sqlite3.c:207227:13: */ +func rbuCopyPragma(tls *libc.TLS, p uintptr, zPragma uintptr) { /* sqlite3.c:207284:13: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -167626,7 +167657,7 @@ func rbuCopyPragma(tls *libc.TLS, p uintptr, zPragma uintptr) { /* sqlite3.c:207 // The RBU handle passed as the only argument has just been opened and // the state database is empty. If this RBU handle was opened for an // RBU vacuum operation, create the schema in the target db. -func rbuCreateTargetSchema(tls *libc.TLS, p uintptr) { /* sqlite3.c:207247:13: */ +func rbuCreateTargetSchema(tls *libc.TLS, p uintptr) { /* sqlite3.c:207304:13: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -167676,7 +167707,7 @@ func rbuCreateTargetSchema(tls *libc.TLS, p uintptr) { /* sqlite3.c:207247:13: * } // Step the RBU object. -func Xsqlite3rbu_step(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:207299:16: */ +func Xsqlite3rbu_step(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:207356:16: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -167819,7 +167850,7 @@ func Xsqlite3rbu_step(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:207299:16: // Compare strings z1 and z2, returning 0 if they are identical, or non-zero // otherwise. Either or both argument may be NULL. Two NULL values are // considered equal, and NULL is considered distinct from all other values. -func rbuStrCompare(tls *libc.TLS, z1 uintptr, z2 uintptr) int32 { /* sqlite3.c:207428:12: */ +func rbuStrCompare(tls *libc.TLS, z1 uintptr, z2 uintptr) int32 { /* sqlite3.c:207485:12: */ if z1 == uintptr(0) && z2 == uintptr(0) { return 0 } @@ -167837,7 +167868,7 @@ func rbuStrCompare(tls *libc.TLS, z1 uintptr, z2 uintptr) int32 { /* sqlite3.c:2 // // If an error occurs, an error code and error message are left in the // rbu handle passed as the first argument. -func rbuSetupOal(tls *libc.TLS, p uintptr, pState uintptr) { /* sqlite3.c:207444:13: */ +func rbuSetupOal(tls *libc.TLS, p uintptr, pState uintptr) { /* sqlite3.c:207501:13: */ if (*RbuState)(unsafe.Pointer(pState)).FzTbl != 0 { var pIter uintptr = p + 80 @@ -167867,7 +167898,7 @@ func rbuSetupOal(tls *libc.TLS, p uintptr, pState uintptr) { /* sqlite3.c:207444 // If there is a "*-oal" file in the file-system corresponding to the // target database in the file-system, delete it. If an error occurs, // leave an error code and error message in the rbu handle. -func rbuDeleteOalFile(tls *libc.TLS, p uintptr) { /* sqlite3.c:207477:13: */ +func rbuDeleteOalFile(tls *libc.TLS, p uintptr) { /* sqlite3.c:207534:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -167886,7 +167917,7 @@ func rbuDeleteOalFile(tls *libc.TLS, p uintptr) { /* sqlite3.c:207477:13: */ // argument. This VFS will be used unless the call to sqlite3rbu_open() // specified a URI with a vfs=? option in place of a target database // file name. -func rbuCreateVfs(tls *libc.TLS, p uintptr) { /* sqlite3.c:207493:13: */ +func rbuCreateVfs(tls *libc.TLS, p uintptr) { /* sqlite3.c:207550:13: */ bp := tls.Alloc(76) defer tls.Free(76) @@ -167907,7 +167938,7 @@ func rbuCreateVfs(tls *libc.TLS, p uintptr) { /* sqlite3.c:207493:13: */ // Destroy the private VFS created for the rbu handle passed as the only // argument by an earlier call to rbuCreateVfs(). -func rbuDeleteVfs(tls *libc.TLS, p uintptr) { /* sqlite3.c:207513:13: */ +func rbuDeleteVfs(tls *libc.TLS, p uintptr) { /* sqlite3.c:207570:13: */ if (*Sqlite3rbu)(unsafe.Pointer(p)).FzVfsName != 0 { Xsqlite3rbu_destroy_vfs(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FzVfsName) (*Sqlite3rbu)(unsafe.Pointer(p)).FzVfsName = uintptr(0) @@ -167917,7 +167948,7 @@ func rbuDeleteVfs(tls *libc.TLS, p uintptr) { /* sqlite3.c:207513:13: */ // This user-defined SQL function is invoked with a single argument - the // name of a table expected to appear in the target database. It returns // the number of auxilliary indexes on the table. -func rbuIndexCntFunc(tls *libc.TLS, pCtx uintptr, nVal int32, apVal uintptr) { /* sqlite3.c:207525:13: */ +func rbuIndexCntFunc(tls *libc.TLS, pCtx uintptr, nVal int32, apVal uintptr) { /* sqlite3.c:207582:13: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -167966,7 +167997,7 @@ func rbuIndexCntFunc(tls *libc.TLS, pCtx uintptr, nVal int32, apVal uintptr) { / // sqlite3rbu.nPhaseOneStep is initialized to the sum of (1 + nIndex) * cnt // for all rows in the rbu_count table, where nIndex is the number of // indexes on the corresponding target database table. -func rbuInitPhaseOneSteps(tls *libc.TLS, p uintptr) { /* sqlite3.c:207575:13: */ +func rbuInitPhaseOneSteps(tls *libc.TLS, p uintptr) { /* sqlite3.c:207632:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -168008,7 +168039,7 @@ func rbuInitPhaseOneSteps(tls *libc.TLS, p uintptr) { /* sqlite3.c:207575:13: */ } } -func openRbuHandle(tls *libc.TLS, zTarget uintptr, zRbu uintptr, zState uintptr) uintptr { /* sqlite3.c:207616:19: */ +func openRbuHandle(tls *libc.TLS, zTarget uintptr, zRbu uintptr, zState uintptr) uintptr { /* sqlite3.c:207673:19: */ bp := tls.Alloc(20) defer tls.Free(20) @@ -168181,7 +168212,7 @@ func openRbuHandle(tls *libc.TLS, zTarget uintptr, zRbu uintptr, zState uintptr) // Allocate and return an RBU handle with all fields zeroed except for the // error code, which is set to SQLITE_MISUSE. -func rbuMisuseError(tls *libc.TLS) uintptr { /* sqlite3.c:207780:19: */ +func rbuMisuseError(tls *libc.TLS) uintptr { /* sqlite3.c:207837:19: */ var pRet uintptr pRet = Xsqlite3_malloc64(tls, uint64(unsafe.Sizeof(Sqlite3rbu{}))) if pRet != 0 { @@ -168192,7 +168223,7 @@ func rbuMisuseError(tls *libc.TLS) uintptr { /* sqlite3.c:207780:19: */ } // Open and return a new RBU handle. -func Xsqlite3rbu_open(tls *libc.TLS, zTarget uintptr, zRbu uintptr, zState uintptr) uintptr { /* sqlite3.c:207793:23: */ +func Xsqlite3rbu_open(tls *libc.TLS, zTarget uintptr, zRbu uintptr, zState uintptr) uintptr { /* sqlite3.c:207850:23: */ if zTarget == uintptr(0) || zRbu == uintptr(0) { return rbuMisuseError(tls) } @@ -168200,7 +168231,7 @@ func Xsqlite3rbu_open(tls *libc.TLS, zTarget uintptr, zRbu uintptr, zState uintp } // Open a handle to begin or resume an RBU VACUUM operation. -func Xsqlite3rbu_vacuum(tls *libc.TLS, zTarget uintptr, zState uintptr) uintptr { /* sqlite3.c:207805:23: */ +func Xsqlite3rbu_vacuum(tls *libc.TLS, zTarget uintptr, zState uintptr) uintptr { /* sqlite3.c:207862:23: */ if zTarget == uintptr(0) { return rbuMisuseError(tls) } @@ -168215,7 +168246,7 @@ func Xsqlite3rbu_vacuum(tls *libc.TLS, zTarget uintptr, zState uintptr) uintptr } // Return the database handle used by pRbu. -func Xsqlite3rbu_db(tls *libc.TLS, pRbu uintptr, bRbu int32) uintptr { /* sqlite3.c:207823:20: */ +func Xsqlite3rbu_db(tls *libc.TLS, pRbu uintptr, bRbu int32) uintptr { /* sqlite3.c:207880:20: */ var db uintptr = uintptr(0) if pRbu != 0 { db = func() uintptr { @@ -168231,7 +168262,7 @@ func Xsqlite3rbu_db(tls *libc.TLS, pRbu uintptr, bRbu int32) uintptr { /* sqlite // If the error code currently stored in the RBU handle is SQLITE_CONSTRAINT, // then edit any error message string so as to remove all occurrences of // the pattern "rbu_imp_[0-9]*". -func rbuEditErrmsg(tls *libc.TLS, p uintptr) { /* sqlite3.c:207837:13: */ +func rbuEditErrmsg(tls *libc.TLS, p uintptr) { /* sqlite3.c:207894:13: */ if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_CONSTRAINT && (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg != 0 { var i uint32 var nErrmsg Size_t = libc.Xstrlen(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg) @@ -168249,7 +168280,7 @@ func rbuEditErrmsg(tls *libc.TLS, p uintptr) { /* sqlite3.c:207837:13: */ } // Close the RBU handle. -func Xsqlite3rbu_close(tls *libc.TLS, p uintptr, pzErrmsg uintptr) int32 { /* sqlite3.c:207855:16: */ +func Xsqlite3rbu_close(tls *libc.TLS, p uintptr, pzErrmsg uintptr) int32 { /* sqlite3.c:207912:16: */ var rc int32 if p != 0 { @@ -168314,13 +168345,13 @@ func Xsqlite3rbu_close(tls *libc.TLS, p uintptr, pzErrmsg uintptr) int32 { /* sq // Return the total number of key-value operations (inserts, deletes or // updates) that have been performed on the target database since the // current RBU update was started. -func Xsqlite3rbu_progress(tls *libc.TLS, pRbu uintptr) Sqlite3_int64 { /* sqlite3.c:207918:26: */ +func Xsqlite3rbu_progress(tls *libc.TLS, pRbu uintptr) Sqlite3_int64 { /* sqlite3.c:207975:26: */ return Sqlite3_int64((*Sqlite3rbu)(unsafe.Pointer(pRbu)).FnProgress) } // Return permyriadage progress indications for the two main stages of // an RBU update. -func Xsqlite3rbu_bp_progress(tls *libc.TLS, p uintptr, pnOne uintptr, pnTwo uintptr) { /* sqlite3.c:207926:17: */ +func Xsqlite3rbu_bp_progress(tls *libc.TLS, p uintptr, pnOne uintptr, pnTwo uintptr) { /* sqlite3.c:207983:17: */ var MAX_PROGRESS int32 = 10000 switch (*Sqlite3rbu)(unsafe.Pointer(p)).FeStage { case RBU_STAGE_OAL: @@ -168353,7 +168384,7 @@ func Xsqlite3rbu_bp_progress(tls *libc.TLS, p uintptr, pnOne uintptr, pnTwo uint } // Return the current state of the RBU vacuum or update operation. -func Xsqlite3rbu_state(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:207961:16: */ +func Xsqlite3rbu_state(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:208018:16: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -168371,7 +168402,7 @@ func Xsqlite3rbu_state(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:207961:16: return int32(0) } -func Xsqlite3rbu_savestate(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:207989:16: */ +func Xsqlite3rbu_savestate(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:208046:16: */ var rc int32 = (*Sqlite3rbu)(unsafe.Pointer(p)).Frc if rc == SQLITE_DONE { return SQLITE_OK @@ -168478,7 +168509,7 @@ func Xsqlite3rbu_savestate(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:207989 // relinquished). Finally, calls to xSync() on the target database // file fail with SQLITE_INTERNAL errors. -func rbuUnlockShm(tls *libc.TLS, p uintptr) { /* sqlite3.c:208082:13: */ +func rbuUnlockShm(tls *libc.TLS, p uintptr) { /* sqlite3.c:208139:13: */ if (*Rbu_file)(unsafe.Pointer(p)).FpRbu != 0 { var xShmLock uintptr = (*sqlite3_io_methods)(unsafe.Pointer((*Sqlite3_file)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer(p)).FpReal)).FpMethods)).FxShmLock @@ -168495,7 +168526,7 @@ func rbuUnlockShm(tls *libc.TLS, p uintptr) { /* sqlite3.c:208082:13: */ } // -func rbuUpdateTempSize(tls *libc.TLS, pFd uintptr, nNew Sqlite3_int64) int32 { /* sqlite3.c:208098:12: */ +func rbuUpdateTempSize(tls *libc.TLS, pFd uintptr, nNew Sqlite3_int64) int32 { /* sqlite3.c:208155:12: */ var pRbu uintptr = (*Rbu_file)(unsafe.Pointer(pFd)).FpRbu var nDiff I64 = nNew - (*Rbu_file)(unsafe.Pointer(pFd)).Fsz *(*I64)(unsafe.Pointer(pRbu + 360)) += nDiff @@ -168513,7 +168544,7 @@ func rbuUpdateTempSize(tls *libc.TLS, pFd uintptr, nNew Sqlite3_int64) int32 { / // for all file descriptors with rbu_file.pDb!=0. If the argument has // rbu_file.pDb!=0, then it is assumed to already be present on the // main list and is only added to the pDb!=0 list. -func rbuMainlistAdd(tls *libc.TLS, p uintptr) { /* sqlite3.c:208116:13: */ +func rbuMainlistAdd(tls *libc.TLS, p uintptr) { /* sqlite3.c:208173:13: */ var pRbuVfs uintptr = (*Rbu_file)(unsafe.Pointer(p)).FpRbuVfs var pIter uintptr @@ -168535,7 +168566,7 @@ func rbuMainlistAdd(tls *libc.TLS, p uintptr) { /* sqlite3.c:208116:13: */ } // Remove an item from the main-db lists. -func rbuMainlistRemove(tls *libc.TLS, p uintptr) { /* sqlite3.c:208138:13: */ +func rbuMainlistRemove(tls *libc.TLS, p uintptr) { /* sqlite3.c:208195:13: */ var pp uintptr Xsqlite3_mutex_enter(tls, (*Rbu_vfs)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer(p)).FpRbuVfs)).Fmutex) for pp = (*Rbu_file)(unsafe.Pointer(p)).FpRbuVfs + 192; *(*uintptr)(unsafe.Pointer(pp)) != 0 && *(*uintptr)(unsafe.Pointer(pp)) != p; pp = *(*uintptr)(unsafe.Pointer(pp)) + 88 { @@ -168560,7 +168591,7 @@ func rbuMainlistRemove(tls *libc.TLS, p uintptr) { /* sqlite3.c:208138:13: */ // // If parameter bRbu is true, only search for file-descriptors with // rbu_file.pDb!=0. -func rbuFindMaindb(tls *libc.TLS, pRbuVfs uintptr, zWal uintptr, bRbu int32) uintptr { /* sqlite3.c:208159:17: */ +func rbuFindMaindb(tls *libc.TLS, pRbuVfs uintptr, zWal uintptr, bRbu int32) uintptr { /* sqlite3.c:208216:17: */ var pDb uintptr Xsqlite3_mutex_enter(tls, (*Rbu_vfs)(unsafe.Pointer(pRbuVfs)).Fmutex) if bRbu != 0 { @@ -168575,7 +168606,7 @@ func rbuFindMaindb(tls *libc.TLS, pRbuVfs uintptr, zWal uintptr, bRbu int32) uin } // Close an rbu file. -func rbuVfsClose(tls *libc.TLS, pFile uintptr) int32 { /* sqlite3.c:208174:12: */ +func rbuVfsClose(tls *libc.TLS, pFile uintptr) int32 { /* sqlite3.c:208231:12: */ var p uintptr = pFile var rc int32 var i int32 @@ -168607,7 +168638,7 @@ func rbuVfsClose(tls *libc.TLS, pFile uintptr) int32 { /* sqlite3.c:208174:12: * // Read and return an unsigned 32-bit big-endian integer from the buffer // passed as the only argument. -func rbuGetU32(tls *libc.TLS, aBuf uintptr) U32 { /* sqlite3.c:208207:12: */ +func rbuGetU32(tls *libc.TLS, aBuf uintptr) U32 { /* sqlite3.c:208264:12: */ return U32(*(*U8)(unsafe.Pointer(aBuf)))<<24 + U32(*(*U8)(unsafe.Pointer(aBuf + 1)))<<16 + U32(*(*U8)(unsafe.Pointer(aBuf + 2)))<<8 + @@ -168616,20 +168647,20 @@ func rbuGetU32(tls *libc.TLS, aBuf uintptr) U32 { /* sqlite3.c:208207:12: */ // Write an unsigned 32-bit value in big-endian format to the supplied // buffer. -func rbuPutU32(tls *libc.TLS, aBuf uintptr, iVal U32) { /* sqlite3.c:208218:13: */ +func rbuPutU32(tls *libc.TLS, aBuf uintptr, iVal U32) { /* sqlite3.c:208275:13: */ *(*U8)(unsafe.Pointer(aBuf)) = U8(iVal >> 24 & U32(0xFF)) *(*U8)(unsafe.Pointer(aBuf + 1)) = U8(iVal >> 16 & U32(0xFF)) *(*U8)(unsafe.Pointer(aBuf + 2)) = U8(iVal >> 8 & U32(0xFF)) *(*U8)(unsafe.Pointer(aBuf + 3)) = U8(iVal >> 0 & U32(0xFF)) } -func rbuPutU16(tls *libc.TLS, aBuf uintptr, iVal U16) { /* sqlite3.c:208225:13: */ +func rbuPutU16(tls *libc.TLS, aBuf uintptr, iVal U16) { /* sqlite3.c:208282:13: */ *(*U8)(unsafe.Pointer(aBuf)) = U8(int32(iVal) >> 8 & 0xFF) *(*U8)(unsafe.Pointer(aBuf + 1)) = U8(int32(iVal) >> 0 & 0xFF) } // Read data from an rbuVfs-file. -func rbuVfsRead(tls *libc.TLS, pFile uintptr, zBuf uintptr, iAmt int32, iOfst Sqlite_int64) int32 { /* sqlite3.c:208233:12: */ +func rbuVfsRead(tls *libc.TLS, pFile uintptr, zBuf uintptr, iAmt int32, iOfst Sqlite_int64) int32 { /* sqlite3.c:208290:12: */ var p uintptr = pFile var pRbu uintptr = (*Rbu_file)(unsafe.Pointer(p)).FpRbu var rc int32 @@ -168693,7 +168724,7 @@ func rbuVfsRead(tls *libc.TLS, pFile uintptr, zBuf uintptr, iAmt int32, iOfst Sq } // Write data to an rbuVfs-file. -func rbuVfsWrite(tls *libc.TLS, pFile uintptr, zBuf uintptr, iAmt int32, iOfst Sqlite_int64) int32 { /* sqlite3.c:208299:12: */ +func rbuVfsWrite(tls *libc.TLS, pFile uintptr, zBuf uintptr, iAmt int32, iOfst Sqlite_int64) int32 { /* sqlite3.c:208356:12: */ var p uintptr = pFile var pRbu uintptr = (*Rbu_file)(unsafe.Pointer(p)).FpRbu var rc int32 @@ -168732,7 +168763,7 @@ func rbuVfsWrite(tls *libc.TLS, pFile uintptr, zBuf uintptr, iAmt int32, iOfst S } // Truncate an rbuVfs-file. -func rbuVfsTruncate(tls *libc.TLS, pFile uintptr, size Sqlite_int64) int32 { /* sqlite3.c:208342:12: */ +func rbuVfsTruncate(tls *libc.TLS, pFile uintptr, size Sqlite_int64) int32 { /* sqlite3.c:208399:12: */ var p uintptr = pFile if (*Rbu_file)(unsafe.Pointer(p)).FopenFlags&SQLITE_OPEN_DELETEONCLOSE != 0 && (*Rbu_file)(unsafe.Pointer(p)).FpRbu != 0 { var rc int32 = rbuUpdateTempSize(tls, p, size) @@ -168746,7 +168777,7 @@ func rbuVfsTruncate(tls *libc.TLS, pFile uintptr, size Sqlite_int64) int32 { /* } // Sync an rbuVfs-file. -func rbuVfsSync(tls *libc.TLS, pFile uintptr, flags int32) int32 { /* sqlite3.c:208354:12: */ +func rbuVfsSync(tls *libc.TLS, pFile uintptr, flags int32) int32 { /* sqlite3.c:208411:12: */ var p uintptr = pFile if (*Rbu_file)(unsafe.Pointer(p)).FpRbu != 0 && (*Sqlite3rbu)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer(p)).FpRbu)).FeStage == RBU_STAGE_CAPTURE { if (*Rbu_file)(unsafe.Pointer(p)).FopenFlags&SQLITE_OPEN_MAIN_DB != 0 { @@ -168760,7 +168791,7 @@ func rbuVfsSync(tls *libc.TLS, pFile uintptr, flags int32) int32 { /* sqlite3.c: } // Return the current file-size of an rbuVfs-file. -func rbuVfsFileSize(tls *libc.TLS, pFile uintptr, pSize uintptr) int32 { /* sqlite3.c:208368:12: */ +func rbuVfsFileSize(tls *libc.TLS, pFile uintptr, pSize uintptr) int32 { /* sqlite3.c:208425:12: */ var p uintptr = pFile var rc int32 rc = (*struct { @@ -168780,7 +168811,7 @@ func rbuVfsFileSize(tls *libc.TLS, pFile uintptr, pSize uintptr) int32 { /* sqli } // Lock an rbuVfs-file. -func rbuVfsLock(tls *libc.TLS, pFile uintptr, eLock int32) int32 { /* sqlite3.c:208389:12: */ +func rbuVfsLock(tls *libc.TLS, pFile uintptr, eLock int32) int32 { /* sqlite3.c:208446:12: */ var p uintptr = pFile var pRbu uintptr = (*Rbu_file)(unsafe.Pointer(p)).FpRbu var rc int32 = SQLITE_OK @@ -168800,7 +168831,7 @@ func rbuVfsLock(tls *libc.TLS, pFile uintptr, eLock int32) int32 { /* sqlite3.c: } // Unlock an rbuVfs-file. -func rbuVfsUnlock(tls *libc.TLS, pFile uintptr, eLock int32) int32 { /* sqlite3.c:208411:12: */ +func rbuVfsUnlock(tls *libc.TLS, pFile uintptr, eLock int32) int32 { /* sqlite3.c:208468:12: */ var p uintptr = pFile return (*struct { f func(*libc.TLS, uintptr, int32) int32 @@ -168808,7 +168839,7 @@ func rbuVfsUnlock(tls *libc.TLS, pFile uintptr, eLock int32) int32 { /* sqlite3. } // Check if another file-handle holds a RESERVED lock on an rbuVfs-file. -func rbuVfsCheckReservedLock(tls *libc.TLS, pFile uintptr, pResOut uintptr) int32 { /* sqlite3.c:208419:12: */ +func rbuVfsCheckReservedLock(tls *libc.TLS, pFile uintptr, pResOut uintptr) int32 { /* sqlite3.c:208476:12: */ var p uintptr = pFile return (*struct { f func(*libc.TLS, uintptr, uintptr) int32 @@ -168816,7 +168847,7 @@ func rbuVfsCheckReservedLock(tls *libc.TLS, pFile uintptr, pResOut uintptr) int3 } // File control method. For custom operations on an rbuVfs-file. -func rbuVfsFileControl(tls *libc.TLS, pFile uintptr, op int32, pArg uintptr) int32 { /* sqlite3.c:208427:12: */ +func rbuVfsFileControl(tls *libc.TLS, pFile uintptr, op int32, pArg uintptr) int32 { /* sqlite3.c:208484:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -168879,7 +168910,7 @@ func rbuVfsFileControl(tls *libc.TLS, pFile uintptr, op int32, pArg uintptr) int } // Return the sector-size in bytes for an rbuVfs-file. -func rbuVfsSectorSize(tls *libc.TLS, pFile uintptr) int32 { /* sqlite3.c:208483:12: */ +func rbuVfsSectorSize(tls *libc.TLS, pFile uintptr) int32 { /* sqlite3.c:208540:12: */ var p uintptr = pFile return (*struct { f func(*libc.TLS, uintptr) int32 @@ -168887,7 +168918,7 @@ func rbuVfsSectorSize(tls *libc.TLS, pFile uintptr) int32 { /* sqlite3.c:208483: } // Return the device characteristic flags supported by an rbuVfs-file. -func rbuVfsDeviceCharacteristics(tls *libc.TLS, pFile uintptr) int32 { /* sqlite3.c:208491:12: */ +func rbuVfsDeviceCharacteristics(tls *libc.TLS, pFile uintptr) int32 { /* sqlite3.c:208548:12: */ var p uintptr = pFile return (*struct { f func(*libc.TLS, uintptr) int32 @@ -168895,7 +168926,7 @@ func rbuVfsDeviceCharacteristics(tls *libc.TLS, pFile uintptr) int32 { /* sqlite } // Take or release a shared-memory lock. -func rbuVfsShmLock(tls *libc.TLS, pFile uintptr, ofst int32, n int32, flags int32) int32 { /* sqlite3.c:208499:12: */ +func rbuVfsShmLock(tls *libc.TLS, pFile uintptr, ofst int32, n int32, flags int32) int32 { /* sqlite3.c:208556:12: */ var p uintptr = pFile var pRbu uintptr = (*Rbu_file)(unsafe.Pointer(p)).FpRbu var rc int32 = SQLITE_OK @@ -168928,7 +168959,7 @@ func rbuVfsShmLock(tls *libc.TLS, pFile uintptr, ofst int32, n int32, flags int3 } // Obtain a pointer to a mapping of a single 32KiB page of the *-shm file. -func rbuVfsShmMap(tls *libc.TLS, pFile uintptr, iRegion int32, szRegion int32, isWrite int32, pp uintptr) int32 { /* sqlite3.c:208537:12: */ +func rbuVfsShmMap(tls *libc.TLS, pFile uintptr, iRegion int32, szRegion int32, isWrite int32, pp uintptr) int32 { /* sqlite3.c:208594:12: */ var p uintptr = pFile var rc int32 = SQLITE_OK var eStage int32 = func() int32 { @@ -168985,13 +169016,13 @@ func rbuVfsShmMap(tls *libc.TLS, pFile uintptr, iRegion int32, szRegion int32, i } // Memory barrier. -func rbuVfsShmBarrier(tls *libc.TLS, pFile uintptr) { /* sqlite3.c:208595:13: */ +func rbuVfsShmBarrier(tls *libc.TLS, pFile uintptr) { /* sqlite3.c:208652:13: */ var p uintptr = pFile (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods)(unsafe.Pointer((*Sqlite3_file)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer(p)).FpReal)).FpMethods)).FxShmBarrier})).f(tls, (*Rbu_file)(unsafe.Pointer(p)).FpReal) } // The xShmUnmap method. -func rbuVfsShmUnmap(tls *libc.TLS, pFile uintptr, delFlag int32) int32 { /* sqlite3.c:208603:12: */ +func rbuVfsShmUnmap(tls *libc.TLS, pFile uintptr, delFlag int32) int32 { /* sqlite3.c:208660:12: */ var p uintptr = pFile var rc int32 = SQLITE_OK var eStage int32 = func() int32 { @@ -169014,7 +169045,7 @@ func rbuVfsShmUnmap(tls *libc.TLS, pFile uintptr, delFlag int32) int32 { /* sqli } // Open an rbu file handle. -func rbuVfsOpen(tls *libc.TLS, pVfs uintptr, zName uintptr, pFile uintptr, flags int32, pOutFlags uintptr) int32 { /* sqlite3.c:208622:12: */ +func rbuVfsOpen(tls *libc.TLS, pVfs uintptr, zName uintptr, pFile uintptr, flags int32, pOutFlags uintptr) int32 { /* sqlite3.c:208679:12: */ var pRbuVfs uintptr = pVfs var pRealVfs uintptr = (*Rbu_vfs)(unsafe.Pointer(pRbuVfs)).FpRealVfs var pFd uintptr = pFile @@ -169100,10 +169131,10 @@ var rbuvfs_io_methods = Sqlite3_io_methods{ FxShmLock: 0, // xShmLock FxShmBarrier: 0, // xShmBarrier FxShmUnmap: 0, // xFetch, xUnfetch -} /* sqlite3.c:208629:29 */ +} /* sqlite3.c:208686:29 */ // Delete the file located at zPath. -func rbuVfsDelete(tls *libc.TLS, pVfs uintptr, zPath uintptr, dirSync int32) int32 { /* sqlite3.c:208720:12: */ +func rbuVfsDelete(tls *libc.TLS, pVfs uintptr, zPath uintptr, dirSync int32) int32 { /* sqlite3.c:208777:12: */ var pRealVfs uintptr = (*Rbu_vfs)(unsafe.Pointer(pVfs)).FpRealVfs return (*struct { f func(*libc.TLS, uintptr, uintptr, int32) int32 @@ -169112,7 +169143,7 @@ func rbuVfsDelete(tls *libc.TLS, pVfs uintptr, zPath uintptr, dirSync int32) int // Test for access permissions. Return true if the requested permission // is available, or false otherwise. -func rbuVfsAccess(tls *libc.TLS, pVfs uintptr, zPath uintptr, flags int32, pResOut uintptr) int32 { /* sqlite3.c:208729:12: */ +func rbuVfsAccess(tls *libc.TLS, pVfs uintptr, zPath uintptr, flags int32, pResOut uintptr) int32 { /* sqlite3.c:208786:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -169157,7 +169188,7 @@ func rbuVfsAccess(tls *libc.TLS, pVfs uintptr, zPath uintptr, flags int32, pResO // Populate buffer zOut with the full canonical pathname corresponding // to the pathname in zPath. zOut is guaranteed to point to a buffer // of at least (DEVSYM_MAX_PATHNAME+1) bytes. -func rbuVfsFullPathname(tls *libc.TLS, pVfs uintptr, zPath uintptr, nOut int32, zOut uintptr) int32 { /* sqlite3.c:208777:12: */ +func rbuVfsFullPathname(tls *libc.TLS, pVfs uintptr, zPath uintptr, nOut int32, zOut uintptr) int32 { /* sqlite3.c:208834:12: */ var pRealVfs uintptr = (*Rbu_vfs)(unsafe.Pointer(pVfs)).FpRealVfs return (*struct { f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 @@ -169165,7 +169196,7 @@ func rbuVfsFullPathname(tls *libc.TLS, pVfs uintptr, zPath uintptr, nOut int32, } // Open the dynamic library located at zPath and return a handle. -func rbuVfsDlOpen(tls *libc.TLS, pVfs uintptr, zPath uintptr) uintptr { /* sqlite3.c:208791:13: */ +func rbuVfsDlOpen(tls *libc.TLS, pVfs uintptr, zPath uintptr) uintptr { /* sqlite3.c:208848:13: */ var pRealVfs uintptr = (*Rbu_vfs)(unsafe.Pointer(pVfs)).FpRealVfs return (*struct { f func(*libc.TLS, uintptr, uintptr) uintptr @@ -169175,7 +169206,7 @@ func rbuVfsDlOpen(tls *libc.TLS, pVfs uintptr, zPath uintptr) uintptr { /* sqlit // Populate the buffer zErrMsg (size nByte bytes) with a human readable // utf-8 string describing the most recent error encountered associated // with dynamic libraries. -func rbuVfsDlError(tls *libc.TLS, pVfs uintptr, nByte int32, zErrMsg uintptr) { /* sqlite3.c:208801:13: */ +func rbuVfsDlError(tls *libc.TLS, pVfs uintptr, nByte int32, zErrMsg uintptr) { /* sqlite3.c:208858:13: */ var pRealVfs uintptr = (*Rbu_vfs)(unsafe.Pointer(pVfs)).FpRealVfs (*struct { f func(*libc.TLS, uintptr, int32, uintptr) @@ -169183,7 +169214,7 @@ func rbuVfsDlError(tls *libc.TLS, pVfs uintptr, nByte int32, zErrMsg uintptr) { } // Return a pointer to the symbol zSymbol in the dynamic library pHandle. -func rbuVfsDlSym(tls *libc.TLS, pVfs uintptr, pArg uintptr, zSym uintptr) uintptr { /* sqlite3.c:208809:13: */ +func rbuVfsDlSym(tls *libc.TLS, pVfs uintptr, pArg uintptr, zSym uintptr) uintptr { /* sqlite3.c:208866:13: */ var pRealVfs uintptr = (*Rbu_vfs)(unsafe.Pointer(pVfs)).FpRealVfs return (*struct { f func(*libc.TLS, uintptr, uintptr, uintptr) uintptr @@ -169191,7 +169222,7 @@ func rbuVfsDlSym(tls *libc.TLS, pVfs uintptr, pArg uintptr, zSym uintptr) uintpt } // Close the dynamic library handle pHandle. -func rbuVfsDlClose(tls *libc.TLS, pVfs uintptr, pHandle uintptr) { /* sqlite3.c:208821:13: */ +func rbuVfsDlClose(tls *libc.TLS, pVfs uintptr, pHandle uintptr) { /* sqlite3.c:208878:13: */ var pRealVfs uintptr = (*Rbu_vfs)(unsafe.Pointer(pVfs)).FpRealVfs (*struct { f func(*libc.TLS, uintptr, uintptr) @@ -169200,7 +169231,7 @@ func rbuVfsDlClose(tls *libc.TLS, pVfs uintptr, pHandle uintptr) { /* sqlite3.c: // Populate the buffer pointed to by zBufOut with nByte bytes of // random data. -func rbuVfsRandomness(tls *libc.TLS, pVfs uintptr, nByte int32, zBufOut uintptr) int32 { /* sqlite3.c:208831:12: */ +func rbuVfsRandomness(tls *libc.TLS, pVfs uintptr, nByte int32, zBufOut uintptr) int32 { /* sqlite3.c:208888:12: */ var pRealVfs uintptr = (*Rbu_vfs)(unsafe.Pointer(pVfs)).FpRealVfs return (*struct { f func(*libc.TLS, uintptr, int32, uintptr) int32 @@ -169209,7 +169240,7 @@ func rbuVfsRandomness(tls *libc.TLS, pVfs uintptr, nByte int32, zBufOut uintptr) // Sleep for nMicro microseconds. Return the number of microseconds // actually slept. -func rbuVfsSleep(tls *libc.TLS, pVfs uintptr, nMicro int32) int32 { /* sqlite3.c:208840:12: */ +func rbuVfsSleep(tls *libc.TLS, pVfs uintptr, nMicro int32) int32 { /* sqlite3.c:208897:12: */ var pRealVfs uintptr = (*Rbu_vfs)(unsafe.Pointer(pVfs)).FpRealVfs return (*struct { f func(*libc.TLS, uintptr, int32) int32 @@ -169217,7 +169248,7 @@ func rbuVfsSleep(tls *libc.TLS, pVfs uintptr, nMicro int32) int32 { /* sqlite3.c } // Return the current time as a Julian Day number in *pTimeOut. -func rbuVfsCurrentTime(tls *libc.TLS, pVfs uintptr, pTimeOut uintptr) int32 { /* sqlite3.c:208848:12: */ +func rbuVfsCurrentTime(tls *libc.TLS, pVfs uintptr, pTimeOut uintptr) int32 { /* sqlite3.c:208905:12: */ var pRealVfs uintptr = (*Rbu_vfs)(unsafe.Pointer(pVfs)).FpRealVfs return (*struct { f func(*libc.TLS, uintptr, uintptr) int32 @@ -169225,13 +169256,13 @@ func rbuVfsCurrentTime(tls *libc.TLS, pVfs uintptr, pTimeOut uintptr) int32 { /* } // No-op. -func rbuVfsGetLastError(tls *libc.TLS, pVfs uintptr, a int32, b uintptr) int32 { /* sqlite3.c:208856:12: */ +func rbuVfsGetLastError(tls *libc.TLS, pVfs uintptr, a int32, b uintptr) int32 { /* sqlite3.c:208913:12: */ return 0 } // Deregister and destroy an RBU vfs created by an earlier call to // sqlite3rbu_create_vfs(). -func Xsqlite3rbu_destroy_vfs(tls *libc.TLS, zName uintptr) { /* sqlite3.c:208864:17: */ +func Xsqlite3rbu_destroy_vfs(tls *libc.TLS, zName uintptr) { /* sqlite3.c:208921:17: */ var pVfs uintptr = Xsqlite3_vfs_find(tls, zName) if pVfs != 0 && (*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FxOpen == *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32 @@ -169245,7 +169276,7 @@ func Xsqlite3rbu_destroy_vfs(tls *libc.TLS, zName uintptr) { /* sqlite3.c:208864 // Create an RBU VFS named zName that accesses the underlying file-system // via existing VFS zParent. The new object is registered as a non-default // VFS with SQLite before returning. -func Xsqlite3rbu_create_vfs(tls *libc.TLS, zName uintptr, zParent uintptr) int32 { /* sqlite3.c:208878:16: */ +func Xsqlite3rbu_create_vfs(tls *libc.TLS, zName uintptr, zParent uintptr) int32 { /* sqlite3.c:208935:16: */ var pNew uintptr = uintptr(0) // Newly allocated VFS var rc int32 = SQLITE_OK @@ -169306,17 +169337,17 @@ var vfs_template = Sqlite3_vfs{ FxSleep: 0, // xSleep FxCurrentTime: 0, // xCurrentTime FxGetLastError: 0, // Unimplemented version 3 methods -} /* sqlite3.c:208881:22 */ +} /* sqlite3.c:208938:22 */ // Configure the aggregate temp file size limit for this RBU handle. -func Xsqlite3rbu_temp_size_limit(tls *libc.TLS, pRbu uintptr, n Sqlite3_int64) Sqlite3_int64 { /* sqlite3.c:208956:26: */ +func Xsqlite3rbu_temp_size_limit(tls *libc.TLS, pRbu uintptr, n Sqlite3_int64) Sqlite3_int64 { /* sqlite3.c:209013:26: */ if n >= int64(0) { (*Sqlite3rbu)(unsafe.Pointer(pRbu)).FszTempLimit = n } return (*Sqlite3rbu)(unsafe.Pointer(pRbu)).FszTempLimit } -func Xsqlite3rbu_temp_size(tls *libc.TLS, pRbu uintptr) Sqlite3_int64 { /* sqlite3.c:208963:26: */ +func Xsqlite3rbu_temp_size(tls *libc.TLS, pRbu uintptr) Sqlite3_int64 { /* sqlite3.c:209020:26: */ return (*Sqlite3rbu)(unsafe.Pointer(pRbu)).FszTemp } @@ -169470,7 +169501,7 @@ type SessionTable1 = struct { // #include // #include -type SessionTable = SessionTable1 /* sqlite3.c:210308:29 */ +type SessionTable = SessionTable1 /* sqlite3.c:210365:29 */ type SessionChange1 = struct { Fop U8 FbIndirect U8 @@ -169482,14 +169513,14 @@ type SessionChange1 = struct { FpNext uintptr } /* sqlite3.c:10832:9 */ -type SessionChange = SessionChange1 /* sqlite3.c:210309:30 */ +type SessionChange = SessionChange1 /* sqlite3.c:210366:30 */ type SessionBuffer1 = struct { FaBuf uintptr FnBuf int32 FnAlloc int32 } /* sqlite3.c:10840:9 */ -type SessionBuffer = SessionBuffer1 /* sqlite3.c:210310:30 */ +type SessionBuffer = SessionBuffer1 /* sqlite3.c:210367:30 */ type SessionInput1 = struct { FbNoDiscard int32 FiCurrent int32 @@ -169505,11 +169536,11 @@ type SessionInput1 = struct { F__ccgo_pad3 [4]byte } /* sqlite3.c:10840:9 */ -type SessionInput = SessionInput1 /* sqlite3.c:210311:29 */ +type SessionInput = SessionInput1 /* sqlite3.c:210368:29 */ // Minimum chunk size used by streaming versions of functions. -var sessions_strm_chunk_size int32 = SESSIONS_STRM_CHUNK_SIZE /* sqlite3.c:210324:12 */ +var sessions_strm_chunk_size int32 = SESSIONS_STRM_CHUNK_SIZE /* sqlite3.c:210381:12 */ type SessionHook1 = struct { FpCtx uintptr @@ -169519,11 +169550,11 @@ type SessionHook1 = struct { FxDepth uintptr } /* sqlite3.c:10832:9 */ -type SessionHook = SessionHook1 /* sqlite3.c:210326:28 */ +type SessionHook = SessionHook1 /* sqlite3.c:210383:28 */ // Write a varint with value iVal into the buffer at aBuf. Return the // number of bytes written. -func sessionVarintPut(tls *libc.TLS, aBuf uintptr, iVal int32) int32 { /* sqlite3.c:210604:12: */ +func sessionVarintPut(tls *libc.TLS, aBuf uintptr, iVal int32) int32 { /* sqlite3.c:210661:12: */ return int32(func() uint8 { if U32(iVal) < U32(0x80) { return uint8(func() int32 { *(*U8)(unsafe.Pointer(aBuf)) = uint8(iVal); return 1 }()) @@ -169533,13 +169564,13 @@ func sessionVarintPut(tls *libc.TLS, aBuf uintptr, iVal int32) int32 { /* sqlite } // Return the number of bytes required to store value iVal as a varint. -func sessionVarintLen(tls *libc.TLS, iVal int32) int32 { /* sqlite3.c:210611:12: */ +func sessionVarintLen(tls *libc.TLS, iVal int32) int32 { /* sqlite3.c:210668:12: */ return Xsqlite3VarintLen(tls, uint64(iVal)) } // Read a varint value from aBuf[] into *piVal. Return the number of // bytes read. -func sessionVarintGet(tls *libc.TLS, aBuf uintptr, piVal uintptr) int32 { /* sqlite3.c:210619:12: */ +func sessionVarintGet(tls *libc.TLS, aBuf uintptr, piVal uintptr) int32 { /* sqlite3.c:210676:12: */ return int32(func() uint8 { if int32(*(*U8)(unsafe.Pointer(aBuf))) < int32(U8(0x80)) { return uint8(func() int32 { *(*int32)(unsafe.Pointer(piVal)) = int32(U32(*(*U8)(unsafe.Pointer(aBuf)))); return 1 }()) @@ -169552,7 +169583,7 @@ func sessionVarintGet(tls *libc.TLS, aBuf uintptr, piVal uintptr) int32 { /* sql // Read a 64-bit big-endian integer value from buffer aRec[]. Return // the value read. -func sessionGetI64(tls *libc.TLS, aRec uintptr) Sqlite3_int64 { /* sqlite3.c:210630:22: */ +func sessionGetI64(tls *libc.TLS, aRec uintptr) Sqlite3_int64 { /* sqlite3.c:210687:22: */ var x U64 = U64(U32(*(*U8)(unsafe.Pointer(aRec)))<<24 | U32(int32(*(*U8)(unsafe.Pointer(aRec + 1)))<<16) | U32(int32(*(*U8)(unsafe.Pointer(aRec + 2)))<<8) | U32(*(*U8)(unsafe.Pointer(aRec + 3)))) var y U32 = U32(*(*U8)(unsafe.Pointer(aRec + uintptr(4))))<<24 | U32(int32(*(*U8)(unsafe.Pointer(aRec + uintptr(4) + 1)))<<16) | U32(int32(*(*U8)(unsafe.Pointer(aRec + uintptr(4) + 2)))<<8) | U32(*(*U8)(unsafe.Pointer(aRec + uintptr(4) + 3))) x = x<<32 + U64(y) @@ -169560,7 +169591,7 @@ func sessionGetI64(tls *libc.TLS, aRec uintptr) Sqlite3_int64 { /* sqlite3.c:210 } // Write a 64-bit big-endian integer value to the buffer aBuf[]. -func sessionPutI64(tls *libc.TLS, aBuf uintptr, i Sqlite3_int64) { /* sqlite3.c:210640:13: */ +func sessionPutI64(tls *libc.TLS, aBuf uintptr, i Sqlite3_int64) { /* sqlite3.c:210697:13: */ *(*U8)(unsafe.Pointer(aBuf)) = U8(i >> 56 & int64(0xFF)) *(*U8)(unsafe.Pointer(aBuf + 1)) = U8(i >> 48 & int64(0xFF)) *(*U8)(unsafe.Pointer(aBuf + 2)) = U8(i >> 40 & int64(0xFF)) @@ -169582,7 +169613,7 @@ func sessionPutI64(tls *libc.TLS, aBuf uintptr, i Sqlite3_int64) { /* sqlite3.c: // If no error occurs, SQLITE_OK is returned. Or, if an OOM error occurs // within a call to sqlite3_value_text() (may fail if the db is utf-16)) // SQLITE_NOMEM is returned. -func sessionSerializeValue(tls *libc.TLS, aBuf uintptr, pValue uintptr, pnWrite uintptr) int32 { /* sqlite3.c:210664:12: */ +func sessionSerializeValue(tls *libc.TLS, aBuf uintptr, pValue uintptr, pnWrite uintptr) int32 { /* sqlite3.c:210721:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -169670,7 +169701,7 @@ func sessionSerializeValue(tls *libc.TLS, aBuf uintptr, pValue uintptr, pnWrite // Allocate and return a pointer to a buffer nByte bytes in size. If // pSession is not NULL, increase the sqlite3_session.nMalloc variable // by the number of bytes allocated. -func sessionMalloc64(tls *libc.TLS, pSession uintptr, nByte I64) uintptr { /* sqlite3.c:210740:13: */ +func sessionMalloc64(tls *libc.TLS, pSession uintptr, nByte I64) uintptr { /* sqlite3.c:210797:13: */ var pRet uintptr = Xsqlite3_malloc64(tls, uint64(nByte)) if pSession != 0 { *(*I64)(unsafe.Pointer(pSession + 56)) += I64(Xsqlite3_msize(tls, pRet)) @@ -169681,7 +169712,7 @@ func sessionMalloc64(tls *libc.TLS, pSession uintptr, nByte I64) uintptr { /* sq // Free buffer pFree, which must have been allocated by an earlier // call to sessionMalloc64(). If pSession is not NULL, decrease the // sqlite3_session.nMalloc counter by the number of bytes freed. -func sessionFree(tls *libc.TLS, pSession uintptr, pFree uintptr) { /* sqlite3.c:210751:13: */ +func sessionFree(tls *libc.TLS, pSession uintptr, pFree uintptr) { /* sqlite3.c:210808:13: */ if pSession != 0 { *(*I64)(unsafe.Pointer(pSession + 56)) -= I64(Xsqlite3_msize(tls, pFree)) } @@ -169704,14 +169735,14 @@ func sessionFree(tls *libc.TLS, pSession uintptr, pFree uintptr) { /* sqlite3.c: // Append the hash of the 64-bit integer passed as the second argument to the // hash-key value passed as the first. Return the new hash-key value. -func sessionHashAppendI64(tls *libc.TLS, h uint32, i I64) uint32 { /* sqlite3.c:210777:21: */ +func sessionHashAppendI64(tls *libc.TLS, h uint32, i I64) uint32 { /* sqlite3.c:210834:21: */ h = h<<3 ^ h ^ uint32(i&int64(0xFFFFFFFF)) return h<<3 ^ h ^ uint32(i>>32&int64(0xFFFFFFFF)) } // Append the hash of the blob passed via the second and third arguments to // the hash-key value passed as the first. Return the new hash-key value. -func sessionHashAppendBlob(tls *libc.TLS, h uint32, n int32, z uintptr) uint32 { /* sqlite3.c:210786:21: */ +func sessionHashAppendBlob(tls *libc.TLS, h uint32, n int32, z uintptr) uint32 { /* sqlite3.c:210843:21: */ var i int32 for i = 0; i < n; i++ { h = h<<3 ^ h ^ uint32(*(*U8)(unsafe.Pointer(z + uintptr(i)))) @@ -169721,7 +169752,7 @@ func sessionHashAppendBlob(tls *libc.TLS, h uint32, n int32, z uintptr) uint32 { // Append the hash of the data type passed as the second argument to the // hash-key value passed as the first. Return the new hash-key value. -func sessionHashAppendType(tls *libc.TLS, h uint32, eType int32) uint32 { /* sqlite3.c:210796:21: */ +func sessionHashAppendType(tls *libc.TLS, h uint32, eType int32) uint32 { /* sqlite3.c:210853:21: */ return h<<3 ^ h ^ uint32(eType) } @@ -169734,7 +169765,7 @@ func sessionHashAppendType(tls *libc.TLS, h uint32, eType int32) uint32 { /* sql // If an error occurs, an SQLite error code is returned and the final values // of *piHash asn *pbNullPK are undefined. Otherwise, SQLITE_OK is returned // and the output variables are set as described above. -func sessionPreupdateHash(tls *libc.TLS, pSession uintptr, pTab uintptr, bNew int32, piHash uintptr, pbNullPK uintptr) int32 { /* sqlite3.c:210811:12: */ +func sessionPreupdateHash(tls *libc.TLS, pSession uintptr, pTab uintptr, bNew int32, piHash uintptr, pbNullPK uintptr) int32 { /* sqlite3.c:210868:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -169800,7 +169831,7 @@ func sessionPreupdateHash(tls *libc.TLS, pSession uintptr, pTab uintptr, bNew in // The buffer that the argument points to contains a serialized SQL value. // Return the number of bytes of space occupied by the value (including // the type byte). -func sessionSerialLen(tls *libc.TLS, a uintptr) int32 { /* sqlite3.c:210876:12: */ +func sessionSerialLen(tls *libc.TLS, a uintptr) int32 { /* sqlite3.c:210933:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -169826,7 +169857,7 @@ func sessionSerialLen(tls *libc.TLS, a uintptr) int32 { /* sqlite3.c:210876:12: // // The bPkOnly argument is non-zero if the record at aRecord[] is from // a patchset DELETE. In this case the non-PK fields are omitted entirely. -func sessionChangeHash(tls *libc.TLS, pTab uintptr, bPkOnly int32, aRecord uintptr, nBucket int32) uint32 { /* sqlite3.c:210894:21: */ +func sessionChangeHash(tls *libc.TLS, pTab uintptr, bPkOnly int32, aRecord uintptr, nBucket int32) uint32 { /* sqlite3.c:210951:21: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -169869,7 +169900,7 @@ func sessionChangeHash(tls *libc.TLS, pTab uintptr, bPkOnly int32, aRecord uintp // This function returns true if the two records apply to the same row (i.e. // have the same values stored in the primary key columns), or false // otherwise. -func sessionChangeEqual(tls *libc.TLS, pTab uintptr, bLeftPkOnly int32, aLeft uintptr, bRightPkOnly int32, aRight uintptr) int32 { /* sqlite3.c:210943:12: */ +func sessionChangeEqual(tls *libc.TLS, pTab uintptr, bLeftPkOnly int32, aLeft uintptr, bRightPkOnly int32, aRight uintptr) int32 { /* sqlite3.c:211000:12: */ var a1 uintptr = aLeft // Cursor to iterate through aLeft var a2 uintptr = aRight // Cursor to iterate through aRight var iCol int32 // Used to iterate through table columns @@ -169908,7 +169939,7 @@ func sessionChangeEqual(tls *libc.TLS, pTab uintptr, bLeftPkOnly int32, aLeft ui // their. Otherwise, if aLeft contains a value, copy it. If neither // record contains a value for a given column, then neither does the // output record. -func sessionMergeRecord(tls *libc.TLS, paOut uintptr, nCol int32, aLeft uintptr, aRight uintptr) { /* sqlite3.c:210986:13: */ +func sessionMergeRecord(tls *libc.TLS, paOut uintptr, nCol int32, aLeft uintptr, aRight uintptr) { /* sqlite3.c:211043:13: */ var a1 uintptr = aLeft // Cursor used to iterate through aLeft var a2 uintptr = aRight // Cursor used to iterate through aRight var aOut uintptr = *(*uintptr)(unsafe.Pointer(paOut)) // Output cursor @@ -169947,7 +169978,7 @@ func sessionMergeRecord(tls *libc.TLS, paOut uintptr, nCol int32, aLeft uintptr, // if( *paTwo is valid ) return *paTwo; // return *paOne; // -func sessionMergeValue(tls *libc.TLS, paOne uintptr, paTwo uintptr, pnVal uintptr) uintptr { /* sqlite3.c:211032:11: */ +func sessionMergeValue(tls *libc.TLS, paOne uintptr, paTwo uintptr, pnVal uintptr) uintptr { /* sqlite3.c:211089:11: */ var a1 uintptr = *(*uintptr)(unsafe.Pointer(paOne)) var a2 uintptr = *(*uintptr)(unsafe.Pointer(paTwo)) var pRet uintptr = uintptr(0) @@ -169974,7 +170005,7 @@ func sessionMergeValue(tls *libc.TLS, paOne uintptr, paTwo uintptr, pnVal uintpt // This function is used by changeset_concat() to merge two UPDATE changes // on the same row. -func sessionMergeUpdate(tls *libc.TLS, paOut uintptr, pTab uintptr, bPatchset int32, aOldRecord1 uintptr, aOldRecord2 uintptr, aNewRecord1 uintptr, aNewRecord2 uintptr) int32 { /* sqlite3.c:211066:12: */ +func sessionMergeUpdate(tls *libc.TLS, paOut uintptr, pTab uintptr, bPatchset int32, aOldRecord1 uintptr, aOldRecord2 uintptr, aNewRecord1 uintptr, aNewRecord2 uintptr) int32 { /* sqlite3.c:211123:12: */ bp := tls.Alloc(52) defer tls.Free(52) @@ -170049,7 +170080,7 @@ func sessionMergeUpdate(tls *libc.TLS, paOut uintptr, pTab uintptr, bPatchset in // as the change stored in argument pChange. If so, it returns true. Otherwise // if the pre-update-hook does not affect the same row as pChange, it returns // false. -func sessionPreupdateEqual(tls *libc.TLS, pSession uintptr, pTab uintptr, pChange uintptr, op int32) int32 { /* sqlite3.c:211143:12: */ +func sessionPreupdateEqual(tls *libc.TLS, pSession uintptr, pTab uintptr, pChange uintptr, op int32) int32 { /* sqlite3.c:211200:12: */ bp := tls.Alloc(28) defer tls.Free(28) @@ -170137,7 +170168,7 @@ func sessionPreupdateEqual(tls *libc.TLS, pSession uintptr, pTab uintptr, pChang // that case the hash-table does not grow, but SQLITE_OK is returned anyway. // Growing the hash table in this case is a performance optimization only, // it is not required for correct operation. -func sessionGrowHash(tls *libc.TLS, pSession uintptr, bPatchset int32, pTab uintptr) int32 { /* sqlite3.c:211222:12: */ +func sessionGrowHash(tls *libc.TLS, pSession uintptr, bPatchset int32, pTab uintptr) int32 { /* sqlite3.c:211279:12: */ if (*SessionTable)(unsafe.Pointer(pTab)).FnChange == 0 || (*SessionTable)(unsafe.Pointer(pTab)).FnEntry >= (*SessionTable)(unsafe.Pointer(pTab)).FnChange/2 { var i int32 var apNew uintptr @@ -170201,7 +170232,7 @@ func sessionGrowHash(tls *libc.TLS, pSession uintptr, bPatchset int32, pTab uint // // All returned buffers are part of the same single allocation, which must // be freed using sqlite3_free() by the caller -func sessionTableInfo(tls *libc.TLS, pSession uintptr, db uintptr, zDb uintptr, zThis uintptr, pnCol uintptr, pzTab uintptr, pazCol uintptr, pabPK uintptr) int32 { /* sqlite3.c:211288:12: */ +func sessionTableInfo(tls *libc.TLS, pSession uintptr, db uintptr, zDb uintptr, zThis uintptr, pnCol uintptr, pzTab uintptr, pazCol uintptr, pabPK uintptr) int32 { /* sqlite3.c:211345:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -170332,7 +170363,7 @@ func sessionTableInfo(tls *libc.TLS, pSession uintptr, db uintptr, zDb uintptr, // key, sqlite3_session.rc is left set to SQLITE_OK and non-zero returned to // indicate that updates on this table should be ignored. SessionTable.abPK // is set to NULL in this case. -func sessionInitTable(tls *libc.TLS, pSession uintptr, pTab uintptr) int32 { /* sqlite3.c:211421:12: */ +func sessionInitTable(tls *libc.TLS, pSession uintptr, pTab uintptr) int32 { /* sqlite3.c:211478:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -170368,15 +170399,15 @@ func sessionInitTable(tls *libc.TLS, pSession uintptr, pTab uintptr) int32 { /* type SessionStat1Ctx1 = struct { Fhook SessionHook FpSession uintptr -} /* sqlite3.c:211456:9 */ +} /* sqlite3.c:211513:9 */ // Versions of the four methods in object SessionHook for use with the // sqlite_stat1 table. The purpose of this is to substitute a zero-length // blob each time a NULL value is read from the "idx" column of the // sqlite_stat1 table. -type SessionStat1Ctx = SessionStat1Ctx1 /* sqlite3.c:211456:32 */ +type SessionStat1Ctx = SessionStat1Ctx1 /* sqlite3.c:211513:32 */ -func sessionStat1Old(tls *libc.TLS, pCtx uintptr, iCol int32, ppVal uintptr) int32 { /* sqlite3.c:211461:12: */ +func sessionStat1Old(tls *libc.TLS, pCtx uintptr, iCol int32, ppVal uintptr) int32 { /* sqlite3.c:211518:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -170392,7 +170423,7 @@ func sessionStat1Old(tls *libc.TLS, pCtx uintptr, iCol int32, ppVal uintptr) int return rc } -func sessionStat1New(tls *libc.TLS, pCtx uintptr, iCol int32, ppVal uintptr) int32 { /* sqlite3.c:211471:12: */ +func sessionStat1New(tls *libc.TLS, pCtx uintptr, iCol int32, ppVal uintptr) int32 { /* sqlite3.c:211528:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -170408,21 +170439,21 @@ func sessionStat1New(tls *libc.TLS, pCtx uintptr, iCol int32, ppVal uintptr) int return rc } -func sessionStat1Count(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:211481:12: */ +func sessionStat1Count(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:211538:12: */ var p uintptr = pCtx return (*struct { f func(*libc.TLS, uintptr) int32 })(unsafe.Pointer(&struct{ uintptr }{(*SessionStat1Ctx)(unsafe.Pointer(p)).Fhook.FxCount})).f(tls, (*SessionStat1Ctx)(unsafe.Pointer(p)).Fhook.FpCtx) } -func sessionStat1Depth(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:211485:12: */ +func sessionStat1Depth(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:211542:12: */ var p uintptr = pCtx return (*struct { f func(*libc.TLS, uintptr) int32 })(unsafe.Pointer(&struct{ uintptr }{(*SessionStat1Ctx)(unsafe.Pointer(p)).Fhook.FxDepth})).f(tls, (*SessionStat1Ctx)(unsafe.Pointer(p)).Fhook.FpCtx) } -func sessionUpdateMaxSize(tls *libc.TLS, op int32, pSession uintptr, pTab uintptr, pC uintptr) int32 { /* sqlite3.c:211490:12: */ +func sessionUpdateMaxSize(tls *libc.TLS, op int32, pSession uintptr, pTab uintptr, pC uintptr) int32 { /* sqlite3.c:211547:12: */ bp := tls.Alloc(44) defer tls.Free(44) @@ -170536,7 +170567,7 @@ func sessionUpdateMaxSize(tls *libc.TLS, op int32, pSession uintptr, pTab uintpt // // Unless one is already present or an error occurs, an entry is added // to the changed-rows hash table associated with table pTab. -func sessionPreupdateOneChange(tls *libc.TLS, op int32, pSession uintptr, pTab uintptr) { /* sqlite3.c:211596:13: */ +func sessionPreupdateOneChange(tls *libc.TLS, op int32, pSession uintptr, pTab uintptr) { /* sqlite3.c:211653:13: */ bp := tls.Alloc(80) defer tls.Free(80) @@ -170832,7 +170863,7 @@ __35: __36: } -func sessionFindTable(tls *libc.TLS, pSession uintptr, zName uintptr, ppTab uintptr) int32 { /* sqlite3.c:211745:12: */ +func sessionFindTable(tls *libc.TLS, pSession uintptr, zName uintptr, ppTab uintptr) int32 { /* sqlite3.c:211802:12: */ var rc int32 = SQLITE_OK var nName int32 = Xsqlite3Strlen30(tls, zName) var pRet uintptr @@ -170867,7 +170898,7 @@ func sessionFindTable(tls *libc.TLS, pSession uintptr, zName uintptr, ppTab uint } // The 'pre-update' hook registered by this module with SQLite databases. -func xPreUpdate(tls *libc.TLS, pCtx uintptr, db uintptr, op int32, zDb uintptr, zName uintptr, iKey1 Sqlite3_int64, iKey2 Sqlite3_int64) { /* sqlite3.c:211785:13: */ +func xPreUpdate(tls *libc.TLS, pCtx uintptr, db uintptr, op int32, zDb uintptr, zName uintptr, iKey1 Sqlite3_int64, iKey2 Sqlite3_int64) { /* sqlite3.c:211842:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -170902,25 +170933,25 @@ func xPreUpdate(tls *libc.TLS, pCtx uintptr, db uintptr, op int32, zDb uintptr, } // The pre-update hook implementations. -func sessionPreupdateOld(tls *libc.TLS, pCtx uintptr, iVal int32, ppVal uintptr) int32 { /* sqlite3.c:211823:12: */ +func sessionPreupdateOld(tls *libc.TLS, pCtx uintptr, iVal int32, ppVal uintptr) int32 { /* sqlite3.c:211880:12: */ return Xsqlite3_preupdate_old(tls, pCtx, iVal, ppVal) } -func sessionPreupdateNew(tls *libc.TLS, pCtx uintptr, iVal int32, ppVal uintptr) int32 { /* sqlite3.c:211826:12: */ +func sessionPreupdateNew(tls *libc.TLS, pCtx uintptr, iVal int32, ppVal uintptr) int32 { /* sqlite3.c:211883:12: */ return Xsqlite3_preupdate_new(tls, pCtx, iVal, ppVal) } -func sessionPreupdateCount(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:211829:12: */ +func sessionPreupdateCount(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:211886:12: */ return Xsqlite3_preupdate_count(tls, pCtx) } -func sessionPreupdateDepth(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:211832:12: */ +func sessionPreupdateDepth(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:211889:12: */ return Xsqlite3_preupdate_depth(tls, pCtx) } // Install the pre-update hooks on the session object passed as the only // argument. -func sessionPreupdateHooks(tls *libc.TLS, pSession uintptr) { /* sqlite3.c:211840:13: */ +func sessionPreupdateHooks(tls *libc.TLS, pSession uintptr) { /* sqlite3.c:211897:13: */ (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx = (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FxOld = *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) int32 @@ -170940,24 +170971,24 @@ type SessionDiffCtx1 = struct { FpStmt uintptr FnOldOff int32 F__ccgo_pad1 [4]byte -} /* sqlite3.c:211850:9 */ +} /* sqlite3.c:211907:9 */ -type SessionDiffCtx = SessionDiffCtx1 /* sqlite3.c:211850:31 */ +type SessionDiffCtx = SessionDiffCtx1 /* sqlite3.c:211907:31 */ // The diff hook implementations. -func sessionDiffOld(tls *libc.TLS, pCtx uintptr, iVal int32, ppVal uintptr) int32 { /* sqlite3.c:211859:12: */ +func sessionDiffOld(tls *libc.TLS, pCtx uintptr, iVal int32, ppVal uintptr) int32 { /* sqlite3.c:211916:12: */ var p uintptr = pCtx *(*uintptr)(unsafe.Pointer(ppVal)) = Xsqlite3_column_value(tls, (*SessionDiffCtx)(unsafe.Pointer(p)).FpStmt, iVal+(*SessionDiffCtx)(unsafe.Pointer(p)).FnOldOff) return SQLITE_OK } -func sessionDiffNew(tls *libc.TLS, pCtx uintptr, iVal int32, ppVal uintptr) int32 { /* sqlite3.c:211864:12: */ +func sessionDiffNew(tls *libc.TLS, pCtx uintptr, iVal int32, ppVal uintptr) int32 { /* sqlite3.c:211921:12: */ var p uintptr = pCtx *(*uintptr)(unsafe.Pointer(ppVal)) = Xsqlite3_column_value(tls, (*SessionDiffCtx)(unsafe.Pointer(p)).FpStmt, iVal) return SQLITE_OK } -func sessionDiffCount(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:211869:12: */ +func sessionDiffCount(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:211926:12: */ var p uintptr = pCtx if (*SessionDiffCtx)(unsafe.Pointer(p)).FnOldOff != 0 { return (*SessionDiffCtx)(unsafe.Pointer(p)).FnOldOff @@ -170965,13 +170996,13 @@ func sessionDiffCount(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:211869:1 return Xsqlite3_column_count(tls, (*SessionDiffCtx)(unsafe.Pointer(p)).FpStmt) } -func sessionDiffDepth(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:211873:12: */ +func sessionDiffDepth(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:211930:12: */ return 0 } // Install the diff hooks on the session object passed as the only // argument. -func sessionDiffHooks(tls *libc.TLS, pSession uintptr, pDiffCtx uintptr) { /* sqlite3.c:211881:13: */ +func sessionDiffHooks(tls *libc.TLS, pSession uintptr, pDiffCtx uintptr) { /* sqlite3.c:211938:13: */ (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx = pDiffCtx (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FxOld = *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) int32 @@ -170987,7 +171018,7 @@ func sessionDiffHooks(tls *libc.TLS, pSession uintptr, pDiffCtx uintptr) { /* sq }{sessionDiffDepth})) } -func sessionExprComparePK(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uintptr, zTab uintptr, azCol uintptr, abPK uintptr) uintptr { /* sqlite3.c:211892:13: */ +func sessionExprComparePK(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uintptr, zTab uintptr, azCol uintptr, abPK uintptr) uintptr { /* sqlite3.c:211949:13: */ bp := tls.Alloc(64) defer tls.Free(64) @@ -171009,7 +171040,7 @@ func sessionExprComparePK(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uintptr, return zRet } -func sessionExprCompareOther(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uintptr, zTab uintptr, azCol uintptr, abPK uintptr) uintptr { /* sqlite3.c:211915:13: */ +func sessionExprCompareOther(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uintptr, zTab uintptr, azCol uintptr, abPK uintptr) uintptr { /* sqlite3.c:211972:13: */ bp := tls.Alloc(64) defer tls.Free(64) @@ -171039,7 +171070,7 @@ func sessionExprCompareOther(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uintp return zRet } -func sessionSelectFindNew(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uintptr, zTbl uintptr, zExpr uintptr) uintptr { /* sqlite3.c:211946:13: */ +func sessionSelectFindNew(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uintptr, zTbl uintptr, zExpr uintptr) uintptr { /* sqlite3.c:212003:13: */ bp := tls.Alloc(40) defer tls.Free(40) @@ -171050,7 +171081,7 @@ func sessionSelectFindNew(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uintptr, return zRet } -func sessionDiffFindNew(tls *libc.TLS, op int32, pSession uintptr, pTab uintptr, zDb1 uintptr, zDb2 uintptr, zExpr uintptr) int32 { /* sqlite3.c:211962:12: */ +func sessionDiffFindNew(tls *libc.TLS, op int32, pSession uintptr, pTab uintptr, zDb1 uintptr, zDb2 uintptr, zExpr uintptr) int32 { /* sqlite3.c:212019:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -171078,7 +171109,7 @@ func sessionDiffFindNew(tls *libc.TLS, op int32, pSession uintptr, pTab uintptr, return rc } -func sessionDiffFindModified(tls *libc.TLS, pSession uintptr, pTab uintptr, zFrom uintptr, zExpr uintptr) int32 { /* sqlite3.c:211993:12: */ +func sessionDiffFindModified(tls *libc.TLS, pSession uintptr, pTab uintptr, zFrom uintptr, zExpr uintptr) int32 { /* sqlite3.c:212050:12: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -171115,7 +171146,7 @@ func sessionDiffFindModified(tls *libc.TLS, pSession uintptr, pTab uintptr, zFro return rc } -func Xsqlite3session_diff(tls *libc.TLS, pSession uintptr, zFrom uintptr, zTbl uintptr, pzErrMsg uintptr) int32 { /* sqlite3.c:212033:16: */ +func Xsqlite3session_diff(tls *libc.TLS, pSession uintptr, zFrom uintptr, zTbl uintptr, pzErrMsg uintptr) int32 { /* sqlite3.c:212090:16: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -171288,7 +171319,7 @@ diff_out: // Create a session object. This session object will record changes to // database zDb attached to connection db. -func Xsqlite3session_create(tls *libc.TLS, db uintptr, zDb uintptr, ppSession uintptr) int32 { /* sqlite3.c:212128:16: */ +func Xsqlite3session_create(tls *libc.TLS, db uintptr, zDb uintptr, ppSession uintptr) int32 { /* sqlite3.c:212185:16: */ var pNew uintptr // Newly allocated session object var pOld uintptr // Session object already attached to db var nDb int32 = Xsqlite3Strlen30(tls, zDb) // Length of zDb in bytes @@ -171324,7 +171355,7 @@ func Xsqlite3session_create(tls *libc.TLS, db uintptr, zDb uintptr, ppSession ui // Free the list of table objects passed as the first argument. The contents // of the changed-rows hash tables are also deleted. -func sessionDeleteTable(tls *libc.TLS, pSession uintptr, pList uintptr) { /* sqlite3.c:212166:13: */ +func sessionDeleteTable(tls *libc.TLS, pSession uintptr, pList uintptr) { /* sqlite3.c:212223:13: */ var pNext uintptr var pTab uintptr @@ -171346,7 +171377,7 @@ func sessionDeleteTable(tls *libc.TLS, pSession uintptr, pList uintptr) { /* sql } // Delete a session object previously allocated using sqlite3session_create(). -func Xsqlite3session_delete(tls *libc.TLS, pSession uintptr) { /* sqlite3.c:212190:17: */ +func Xsqlite3session_delete(tls *libc.TLS, pSession uintptr) { /* sqlite3.c:212247:17: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -171384,7 +171415,7 @@ func Xsqlite3session_delete(tls *libc.TLS, pSession uintptr) { /* sqlite3.c:2121 } // Set a table filter on a Session Object. -func Xsqlite3session_table_filter(tls *libc.TLS, pSession uintptr, xFilter uintptr, pCtx uintptr) { /* sqlite3.c:212222:17: */ +func Xsqlite3session_table_filter(tls *libc.TLS, pSession uintptr, xFilter uintptr, pCtx uintptr) { /* sqlite3.c:212279:17: */ (*Sqlite3_session)(unsafe.Pointer(pSession)).FbAutoAttach = 1 (*Sqlite3_session)(unsafe.Pointer(pSession)).FpFilterCtx = pCtx (*Sqlite3_session)(unsafe.Pointer(pSession)).FxTableFilter = xFilter @@ -171396,7 +171427,7 @@ func Xsqlite3session_table_filter(tls *libc.TLS, pSession uintptr, xFilter uintp // Only tables that have a PRIMARY KEY defined may be attached. It does // not matter if the PRIMARY KEY is an "INTEGER PRIMARY KEY" (rowid alias) // or not. -func Xsqlite3session_attach(tls *libc.TLS, pSession uintptr, zName uintptr) int32 { /* sqlite3.c:212240:16: */ +func Xsqlite3session_attach(tls *libc.TLS, pSession uintptr, zName uintptr) int32 { /* sqlite3.c:212297:16: */ var rc int32 = SQLITE_OK Xsqlite3_mutex_enter(tls, Xsqlite3_db_mutex(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb)) @@ -171447,7 +171478,7 @@ func Xsqlite3session_attach(tls *libc.TLS, pSession uintptr, zName uintptr) int3 // // If successful, return zero. Otherwise, if an OOM condition is encountered, // set *pRc to SQLITE_NOMEM and return non-zero. -func sessionBufferGrow(tls *libc.TLS, p uintptr, nByte I64, pRc uintptr) int32 { /* sqlite3.c:212293:12: */ +func sessionBufferGrow(tls *libc.TLS, p uintptr, nByte I64, pRc uintptr) int32 { /* sqlite3.c:212350:12: */ var nReq I64 = I64((*SessionBuffer)(unsafe.Pointer(p)).FnBuf) + nByte if *(*int32)(unsafe.Pointer(pRc)) == SQLITE_OK && nReq > I64((*SessionBuffer)(unsafe.Pointer(p)).FnAlloc) { var aNew uintptr @@ -171492,7 +171523,7 @@ func sessionBufferGrow(tls *libc.TLS, p uintptr, nByte I64, pRc uintptr) int32 { // This function is a no-op if *pRc is non-zero when it is called. // Otherwise, if an error occurs, *pRc is set to an SQLite error code // before returning. -func sessionAppendValue(tls *libc.TLS, p uintptr, pVal uintptr, pRc uintptr) { /* sqlite3.c:212336:13: */ +func sessionAppendValue(tls *libc.TLS, p uintptr, pVal uintptr, pRc uintptr) { /* sqlite3.c:212393:13: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -171515,7 +171546,7 @@ func sessionAppendValue(tls *libc.TLS, p uintptr, pVal uintptr, pRc uintptr) { / // // If an OOM condition is encountered, set *pRc to SQLITE_NOMEM before // returning. -func sessionAppendByte(tls *libc.TLS, p uintptr, v U8, pRc uintptr) { /* sqlite3.c:212358:13: */ +func sessionAppendByte(tls *libc.TLS, p uintptr, v U8, pRc uintptr) { /* sqlite3.c:212415:13: */ if 0 == sessionBufferGrow(tls, p, int64(1), pRc) { *(*U8)(unsafe.Pointer((*SessionBuffer)(unsafe.Pointer(p)).FaBuf + uintptr(libc.PostIncInt32(&(*SessionBuffer)(unsafe.Pointer(p)).FnBuf, 1)))) = v } @@ -171526,7 +171557,7 @@ func sessionAppendByte(tls *libc.TLS, p uintptr, v U8, pRc uintptr) { /* sqlite3 // // If an OOM condition is encountered, set *pRc to SQLITE_NOMEM before // returning. -func sessionAppendVarint(tls *libc.TLS, p uintptr, v int32, pRc uintptr) { /* sqlite3.c:212371:13: */ +func sessionAppendVarint(tls *libc.TLS, p uintptr, v int32, pRc uintptr) { /* sqlite3.c:212428:13: */ if 0 == sessionBufferGrow(tls, p, int64(9), pRc) { *(*int32)(unsafe.Pointer(p + 8)) += sessionVarintPut(tls, (*SessionBuffer)(unsafe.Pointer(p)).FaBuf+uintptr((*SessionBuffer)(unsafe.Pointer(p)).FnBuf), v) } @@ -171537,7 +171568,7 @@ func sessionAppendVarint(tls *libc.TLS, p uintptr, v int32, pRc uintptr) { /* sq // // If an OOM condition is encountered, set *pRc to SQLITE_NOMEM before // returning. -func sessionAppendBlob(tls *libc.TLS, p uintptr, aBlob uintptr, nBlob int32, pRc uintptr) { /* sqlite3.c:212384:13: */ +func sessionAppendBlob(tls *libc.TLS, p uintptr, aBlob uintptr, nBlob int32, pRc uintptr) { /* sqlite3.c:212441:13: */ if nBlob > 0 && 0 == sessionBufferGrow(tls, p, int64(nBlob), pRc) { libc.Xmemcpy(tls, (*SessionBuffer)(unsafe.Pointer(p)).FaBuf+uintptr((*SessionBuffer)(unsafe.Pointer(p)).FnBuf), aBlob, uint64(nBlob)) *(*int32)(unsafe.Pointer(p + 8)) += nBlob @@ -171550,7 +171581,7 @@ func sessionAppendBlob(tls *libc.TLS, p uintptr, aBlob uintptr, nBlob int32, pRc // // If an OOM condition is encountered, set *pRc to SQLITE_NOMEM before // returning. -func sessionAppendStr(tls *libc.TLS, p uintptr, zStr uintptr, pRc uintptr) { /* sqlite3.c:212404:13: */ +func sessionAppendStr(tls *libc.TLS, p uintptr, zStr uintptr, pRc uintptr) { /* sqlite3.c:212461:13: */ var nStr int32 = Xsqlite3Strlen30(tls, zStr) if 0 == sessionBufferGrow(tls, p, int64(nStr), pRc) { libc.Xmemcpy(tls, (*SessionBuffer)(unsafe.Pointer(p)).FaBuf+uintptr((*SessionBuffer)(unsafe.Pointer(p)).FnBuf), zStr, uint64(nStr)) @@ -171564,7 +171595,7 @@ func sessionAppendStr(tls *libc.TLS, p uintptr, zStr uintptr, pRc uintptr) { /* // // If an OOM condition is encountered, set *pRc to SQLITE_NOMEM before // returning. -func sessionAppendInteger(tls *libc.TLS, p uintptr, iVal int32, pRc uintptr) { /* sqlite3.c:212424:13: */ +func sessionAppendInteger(tls *libc.TLS, p uintptr, iVal int32, pRc uintptr) { /* sqlite3.c:212481:13: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -171581,7 +171612,7 @@ func sessionAppendInteger(tls *libc.TLS, p uintptr, iVal int32, pRc uintptr) { / // // If an OOM condition is encountered, set *pRc to SQLITE_NOMEM before // returning. -func sessionAppendIdent(tls *libc.TLS, p uintptr, zStr uintptr, pRc uintptr) { /* sqlite3.c:212443:13: */ +func sessionAppendIdent(tls *libc.TLS, p uintptr, zStr uintptr, pRc uintptr) { /* sqlite3.c:212500:13: */ var nStr int32 = Xsqlite3Strlen30(tls, zStr)*2 + 2 + 1 if 0 == sessionBufferGrow(tls, p, int64(nStr), pRc) { var zOut uintptr = (*SessionBuffer)(unsafe.Pointer(p)).FaBuf + uintptr((*SessionBuffer)(unsafe.Pointer(p)).FnBuf) @@ -171602,7 +171633,7 @@ func sessionAppendIdent(tls *libc.TLS, p uintptr, zStr uintptr, pRc uintptr) { / // called. Otherwse, it appends the serialized version of the value stored // in column iCol of the row that SQL statement pStmt currently points // to to the buffer. -func sessionAppendCol(tls *libc.TLS, p uintptr, pStmt uintptr, iCol int32, pRc uintptr) { /* sqlite3.c:212468:13: */ +func sessionAppendCol(tls *libc.TLS, p uintptr, pStmt uintptr, iCol int32, pRc uintptr) { /* sqlite3.c:212525:13: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -171662,7 +171693,7 @@ func sessionAppendCol(tls *libc.TLS, p uintptr, pStmt uintptr, iCol int32, pRc u // Otherwise, the old.* record contains all primary key values and the // original values of any fields that have been modified. The new.* record // contains the new values of only those fields that have been modified. -func sessionAppendUpdate(tls *libc.TLS, pBuf uintptr, bPatchset int32, pStmt uintptr, p uintptr, abPK uintptr) int32 { /* sqlite3.c:212530:12: */ +func sessionAppendUpdate(tls *libc.TLS, pBuf uintptr, bPatchset int32, pStmt uintptr, p uintptr, abPK uintptr) int32 { /* sqlite3.c:212587:12: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -171768,7 +171799,7 @@ func sessionAppendUpdate(tls *libc.TLS, pBuf uintptr, bPatchset int32, pStmt uin // Append a DELETE change to the buffer passed as the first argument. Use // the changeset format if argument bPatchset is zero, or the patchset // format otherwise. -func sessionAppendDelete(tls *libc.TLS, pBuf uintptr, bPatchset int32, p uintptr, nCol int32, abPK uintptr) int32 { /* sqlite3.c:212630:12: */ +func sessionAppendDelete(tls *libc.TLS, pBuf uintptr, bPatchset int32, p uintptr, nCol int32, abPK uintptr) int32 { /* sqlite3.c:212687:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -171825,7 +171856,7 @@ func sessionAppendDelete(tls *libc.TLS, pBuf uintptr, bPatchset int32, p uintptr // zTab in database zDb based on its primary key. i.e. // // SELECT * FROM zDb.zTab WHERE pk1 = ? AND pk2 = ? AND ... -func sessionSelectStmt(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, nCol int32, azCol uintptr, abPK uintptr, ppStmt uintptr) int32 { /* sqlite3.c:212685:12: */ +func sessionSelectStmt(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, nCol int32, azCol uintptr, abPK uintptr, ppStmt uintptr) int32 { /* sqlite3.c:212742:12: */ bp := tls.Alloc(28) defer tls.Free(28) @@ -171876,7 +171907,7 @@ func sessionSelectStmt(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, nCo // // Return SQLITE_OK if all PK values are successfully bound, or an SQLite // error code (e.g. SQLITE_NOMEM) otherwise. -func sessionSelectBind(tls *libc.TLS, pSelect uintptr, nCol int32, abPK uintptr, pChange uintptr) int32 { /* sqlite3.c:212742:12: */ +func sessionSelectBind(tls *libc.TLS, pSelect uintptr, nCol int32, abPK uintptr, pChange uintptr) int32 { /* sqlite3.c:212799:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -171954,7 +171985,7 @@ func sessionSelectBind(tls *libc.TLS, pSelect uintptr, nCol int32, abPK uintptr, // is called. Otherwise, append a serialized table header (part of the binary // changeset format) to buffer *pBuf. If an error occurs, set *pRc to an // SQLite error code before returning. -func sessionAppendTableHdr(tls *libc.TLS, pBuf uintptr, bPatchset int32, pTab uintptr, pRc uintptr) { /* sqlite3.c:212813:13: */ +func sessionAppendTableHdr(tls *libc.TLS, pBuf uintptr, bPatchset int32, pTab uintptr, pRc uintptr) { /* sqlite3.c:212870:13: */ // Write a table header sessionAppendByte(tls, pBuf, func() uint8 { if bPatchset != 0 { @@ -171975,7 +172006,7 @@ func sessionAppendTableHdr(tls *libc.TLS, pBuf uintptr, bPatchset int32, pTab ui // stored in output variables *pnChangeset and *ppChangeset. Or, if an error // 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) int32 { /* sqlite3.c:212836:12: */ +func sessionGenerateChangeset(tls *libc.TLS, pSession uintptr, bPatchset int32, xOutput uintptr, pOut uintptr, pnChangeset uintptr, ppChangeset uintptr) int32 { /* sqlite3.c:212893:12: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -172105,7 +172136,7 @@ func sessionGenerateChangeset(tls *libc.TLS, pSession uintptr, bPatchset int32, // // It is the responsibility of the caller to eventually free the buffer // using sqlite3_free(). -func Xsqlite3session_changeset(tls *libc.TLS, pSession uintptr, pnChangeset uintptr, ppChangeset uintptr) int32 { /* sqlite3.c:212965:16: */ +func Xsqlite3session_changeset(tls *libc.TLS, pSession uintptr, pnChangeset uintptr, ppChangeset uintptr) int32 { /* sqlite3.c:213022:16: */ var rc int32 if pnChangeset == uintptr(0) || ppChangeset == uintptr(0) { @@ -172117,7 +172148,7 @@ func Xsqlite3session_changeset(tls *libc.TLS, pSession uintptr, pnChangeset uint } // Streaming version of sqlite3session_changeset(). -func Xsqlite3session_changeset_strm(tls *libc.TLS, pSession uintptr, xOutput uintptr, pOut uintptr) int32 { /* sqlite3.c:212983:16: */ +func Xsqlite3session_changeset_strm(tls *libc.TLS, pSession uintptr, xOutput uintptr, pOut uintptr) int32 { /* sqlite3.c:213040:16: */ if xOutput == uintptr(0) { return SQLITE_MISUSE } @@ -172125,7 +172156,7 @@ func Xsqlite3session_changeset_strm(tls *libc.TLS, pSession uintptr, xOutput uin } // Streaming version of sqlite3session_patchset(). -func Xsqlite3session_patchset_strm(tls *libc.TLS, pSession uintptr, xOutput uintptr, pOut uintptr) int32 { /* sqlite3.c:212995:16: */ +func Xsqlite3session_patchset_strm(tls *libc.TLS, pSession uintptr, xOutput uintptr, pOut uintptr) int32 { /* sqlite3.c:213052:16: */ if xOutput == uintptr(0) { return SQLITE_MISUSE } @@ -172137,7 +172168,7 @@ func Xsqlite3session_patchset_strm(tls *libc.TLS, pSession uintptr, xOutput uint // // It is the responsibility of the caller to eventually free the buffer // using sqlite3_free(). -func Xsqlite3session_patchset(tls *libc.TLS, pSession uintptr, pnPatchset uintptr, ppPatchset uintptr) int32 { /* sqlite3.c:213011:16: */ +func Xsqlite3session_patchset(tls *libc.TLS, pSession uintptr, pnPatchset uintptr, ppPatchset uintptr) int32 { /* sqlite3.c:213068:16: */ if pnPatchset == uintptr(0) || ppPatchset == uintptr(0) { return SQLITE_MISUSE } @@ -172145,7 +172176,7 @@ func Xsqlite3session_patchset(tls *libc.TLS, pSession uintptr, pnPatchset uintpt } // Enable or disable the session object passed as the first argument. -func Xsqlite3session_enable(tls *libc.TLS, pSession uintptr, bEnable int32) int32 { /* sqlite3.c:213023:16: */ +func Xsqlite3session_enable(tls *libc.TLS, pSession uintptr, bEnable int32) int32 { /* sqlite3.c:213080:16: */ var ret int32 Xsqlite3_mutex_enter(tls, Xsqlite3_db_mutex(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb)) if bEnable >= 0 { @@ -172157,7 +172188,7 @@ func Xsqlite3session_enable(tls *libc.TLS, pSession uintptr, bEnable int32) int3 } // Enable or disable the session object passed as the first argument. -func Xsqlite3session_indirect(tls *libc.TLS, pSession uintptr, bIndirect int32) int32 { /* sqlite3.c:213037:16: */ +func Xsqlite3session_indirect(tls *libc.TLS, pSession uintptr, bIndirect int32) int32 { /* sqlite3.c:213094:16: */ var ret int32 Xsqlite3_mutex_enter(tls, Xsqlite3_db_mutex(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb)) if bIndirect >= 0 { @@ -172170,7 +172201,7 @@ func Xsqlite3session_indirect(tls *libc.TLS, pSession uintptr, bIndirect int32) // Return true if there have been no changes to monitored tables recorded // by the session object passed as the only argument. -func Xsqlite3session_isempty(tls *libc.TLS, pSession uintptr) int32 { /* sqlite3.c:213052:16: */ +func Xsqlite3session_isempty(tls *libc.TLS, pSession uintptr) int32 { /* sqlite3.c:213109:16: */ var ret int32 = 0 var pTab uintptr @@ -172184,12 +172215,12 @@ func Xsqlite3session_isempty(tls *libc.TLS, pSession uintptr) int32 { /* sqlite3 } // Return the amount of heap memory in use. -func Xsqlite3session_memory_used(tls *libc.TLS, pSession uintptr) Sqlite3_int64 { /* sqlite3.c:213068:26: */ +func Xsqlite3session_memory_used(tls *libc.TLS, pSession uintptr) Sqlite3_int64 { /* sqlite3.c:213125:26: */ return (*Sqlite3_session)(unsafe.Pointer(pSession)).FnMalloc } // Configure the session object passed as the first argument. -func Xsqlite3session_object_config(tls *libc.TLS, pSession uintptr, op int32, pArg uintptr) int32 { /* sqlite3.c:213075:16: */ +func Xsqlite3session_object_config(tls *libc.TLS, pSession uintptr, op int32, pArg uintptr) int32 { /* sqlite3.c:213132:16: */ var rc int32 = SQLITE_OK switch op { case SQLITE_SESSION_OBJCONFIG_SIZE: @@ -172215,12 +172246,12 @@ func Xsqlite3session_object_config(tls *libc.TLS, pSession uintptr, op int32, pA } // Return the maximum size of sqlite3session_changeset() output. -func Xsqlite3session_changeset_size(tls *libc.TLS, pSession uintptr) Sqlite3_int64 { /* sqlite3.c:213101:26: */ +func Xsqlite3session_changeset_size(tls *libc.TLS, pSession uintptr) Sqlite3_int64 { /* sqlite3.c:213158:26: */ return (*Sqlite3_session)(unsafe.Pointer(pSession)).FnMaxChangesetSize } // 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) int32 { /* sqlite3.c:213108:12: */ +func sessionChangesetStart(tls *libc.TLS, pp uintptr, xInput uintptr, pIn uintptr, nChangeset int32, pChangeset uintptr, bInvert int32, bSkipEmpty int32) int32 { /* sqlite3.c:213165:12: */ var pRet uintptr // Iterator to return var nByte int32 // Number of bytes to allocate for iterator @@ -172253,28 +172284,28 @@ func sessionChangesetStart(tls *libc.TLS, pp uintptr, xInput uintptr, pIn uintpt } // Create an iterator used to iterate through the contents of a changeset. -func Xsqlite3changeset_start(tls *libc.TLS, pp uintptr, nChangeset int32, pChangeset uintptr) int32 { /* sqlite3.c:213146:16: */ +func Xsqlite3changeset_start(tls *libc.TLS, pp uintptr, nChangeset int32, pChangeset uintptr) int32 { /* sqlite3.c:213203:16: */ return sessionChangesetStart(tls, pp, uintptr(0), uintptr(0), nChangeset, pChangeset, 0, 0) } -func Xsqlite3changeset_start_v2(tls *libc.TLS, pp uintptr, nChangeset int32, pChangeset uintptr, flags int32) int32 { /* sqlite3.c:213153:16: */ +func Xsqlite3changeset_start_v2(tls *libc.TLS, pp uintptr, nChangeset int32, pChangeset uintptr, flags int32) int32 { /* sqlite3.c:213210:16: */ var bInvert int32 = libc.BoolInt32(!!(flags&SQLITE_CHANGESETSTART_INVERT != 0)) return sessionChangesetStart(tls, pp, uintptr(0), uintptr(0), nChangeset, pChangeset, bInvert, 0) } // Streaming version of sqlite3changeset_start(). -func Xsqlite3changeset_start_strm(tls *libc.TLS, pp uintptr, xInput uintptr, pIn uintptr) int32 { /* sqlite3.c:213166:16: */ +func Xsqlite3changeset_start_strm(tls *libc.TLS, pp uintptr, xInput uintptr, pIn uintptr) int32 { /* sqlite3.c:213223:16: */ return sessionChangesetStart(tls, pp, xInput, pIn, 0, uintptr(0), 0, 0) } -func Xsqlite3changeset_start_v2_strm(tls *libc.TLS, pp uintptr, xInput uintptr, pIn uintptr, flags int32) int32 { /* sqlite3.c:213173:16: */ +func Xsqlite3changeset_start_v2_strm(tls *libc.TLS, pp uintptr, xInput uintptr, pIn uintptr, flags int32) int32 { /* sqlite3.c:213230:16: */ var bInvert int32 = libc.BoolInt32(!!(flags&SQLITE_CHANGESETSTART_INVERT != 0)) return sessionChangesetStart(tls, pp, xInput, pIn, 0, uintptr(0), bInvert, 0) } // If the SessionInput object passed as the only argument is a streaming // object and the buffer is full, discard some data to free up space. -func sessionDiscardData(tls *libc.TLS, pIn uintptr) { /* sqlite3.c:213187:13: */ +func sessionDiscardData(tls *libc.TLS, pIn uintptr) { /* sqlite3.c:213244:13: */ if (*SessionInput)(unsafe.Pointer(pIn)).FxInput != 0 && (*SessionInput)(unsafe.Pointer(pIn)).FiNext >= sessions_strm_chunk_size { var nMove int32 = (*SessionInput)(unsafe.Pointer(pIn)).Fbuf.FnBuf - (*SessionInput)(unsafe.Pointer(pIn)).FiNext @@ -172292,7 +172323,7 @@ func sessionDiscardData(tls *libc.TLS, pIn uintptr) { /* sqlite3.c:213187:13: */ // data is in the buffer. // // Return an SQLite error code if an error occurs, or SQLITE_OK otherwise. -func sessionInputBuffer(tls *libc.TLS, pIn uintptr, nByte int32) int32 { /* sqlite3.c:213207:12: */ +func sessionInputBuffer(tls *libc.TLS, pIn uintptr, nByte int32) int32 { /* sqlite3.c:213264:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -172325,7 +172356,7 @@ func sessionInputBuffer(tls *libc.TLS, pIn uintptr, nByte int32) int32 { /* sqli // When this function is called, *ppRec points to the start of a record // that contains nCol values. This function advances the pointer *ppRec // until it points to the byte immediately following that record. -func sessionSkipRecord(tls *libc.TLS, ppRec uintptr, nCol int32) { /* sqlite3.c:213235:13: */ +func sessionSkipRecord(tls *libc.TLS, ppRec uintptr, nCol int32) { /* sqlite3.c:213292:13: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -172350,7 +172381,7 @@ func sessionSkipRecord(tls *libc.TLS, ppRec uintptr, nCol int32) { /* sqlite3.c: // first argument to a copy of the string or blob held in the aData[] // buffer. SQLITE_OK is returned if successful, or SQLITE_NOMEM if an OOM // error occurs. -func sessionValueSetStr(tls *libc.TLS, pVal uintptr, aData uintptr, nData int32, enc U8) int32 { /* sqlite3.c:213261:12: */ +func sessionValueSetStr(tls *libc.TLS, pVal uintptr, aData uintptr, nData int32, enc U8) int32 { /* sqlite3.c:213318:12: */ // In theory this code could just pass SQLITE_TRANSIENT as the final // argument to sqlite3ValueSetStr() and have the copy created // automatically. But doing so makes it difficult to detect any OOM @@ -172386,7 +172417,7 @@ func sessionValueSetStr(tls *libc.TLS, pVal uintptr, aData uintptr, nData int32, // // If an error occurs, an SQLite error code (e.g. SQLITE_NOMEM) is returned. // The apOut[] array may have been partially populated in this case. -func sessionReadRecord(tls *libc.TLS, pIn uintptr, nCol int32, abPK uintptr, apOut uintptr, pbEmpty uintptr) int32 { /* sqlite3.c:213302:12: */ +func sessionReadRecord(tls *libc.TLS, pIn uintptr, nCol int32, abPK uintptr, apOut uintptr, pbEmpty uintptr) int32 { /* sqlite3.c:213359:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -172404,7 +172435,7 @@ func sessionReadRecord(tls *libc.TLS, pIn uintptr, nCol int32, abPK uintptr, apO rc = sessionInputBuffer(tls, pIn, 9) if rc == SQLITE_OK { if (*SessionInput)(unsafe.Pointer(pIn)).FiNext >= (*SessionInput)(unsafe.Pointer(pIn)).FnData { - rc = Xsqlite3CorruptError(tls, 213320) + rc = Xsqlite3CorruptError(tls, 213377) } else { eType = int32(*(*U8)(unsafe.Pointer((*SessionInput)(unsafe.Pointer(pIn)).FaData + uintptr(libc.PostIncInt32(&(*SessionInput)(unsafe.Pointer(pIn)).FiNext, 1))))) @@ -172429,7 +172460,7 @@ func sessionReadRecord(tls *libc.TLS, pIn uintptr, nCol int32, abPK uintptr, apO rc = sessionInputBuffer(tls, pIn, *(*int32)(unsafe.Pointer(bp /* nByte */))) if rc == SQLITE_OK { if *(*int32)(unsafe.Pointer(bp)) < 0 || *(*int32)(unsafe.Pointer(bp)) > (*SessionInput)(unsafe.Pointer(pIn)).FnData-(*SessionInput)(unsafe.Pointer(pIn)).FiNext { - rc = Xsqlite3CorruptError(tls, 213340) + rc = Xsqlite3CorruptError(tls, 213397) } else { var enc U8 = func() uint8 { if eType == SQLITE_TEXT { @@ -172471,7 +172502,7 @@ func sessionReadRecord(tls *libc.TLS, pIn uintptr, nCol int32, abPK uintptr, apO // buffer (i.e. that it can be accessed without any calls to xInput()). // If successful, SQLITE_OK is returned. Otherwise, an SQLite error code. // The input pointer is not moved. -func sessionChangesetBufferTblhdr(tls *libc.TLS, pIn uintptr, pnByte uintptr) int32 { /* sqlite3.c:213378:12: */ +func sessionChangesetBufferTblhdr(tls *libc.TLS, pIn uintptr, pnByte uintptr) int32 { /* sqlite3.c:213435:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -172490,7 +172521,7 @@ func sessionChangesetBufferTblhdr(tls *libc.TLS, pIn uintptr, pnByte uintptr) in // 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)) > 65536 { - rc = Xsqlite3CorruptError(tls, 213394) + rc = Xsqlite3CorruptError(tls, 213451) } else { rc = sessionInputBuffer(tls, pIn, nRead+*(*int32)(unsafe.Pointer(bp))+100) nRead = nRead + *(*int32)(unsafe.Pointer(bp)) @@ -172517,7 +172548,7 @@ func sessionChangesetBufferTblhdr(tls *libc.TLS, pIn uintptr, pnByte uintptr) in // If successful, SQLITE_OK is returned and *pnByte is set to the size of // the record in bytes. Otherwise, an SQLite error code is returned. The // final value of *pnByte is undefined in this case. -func sessionChangesetBufferRecord(tls *libc.TLS, pIn uintptr, nCol int32, pnByte uintptr) int32 { /* sqlite3.c:213421:12: */ +func sessionChangesetBufferRecord(tls *libc.TLS, pIn uintptr, nCol int32, pnByte uintptr) int32 { /* sqlite3.c:213478:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -172559,7 +172590,7 @@ func sessionChangesetBufferRecord(tls *libc.TLS, pIn uintptr, nCol int32, pnByte // If successful, SQLITE_OK is returned. Otherwise, an SQLite error code // is returned and the final values of the various fields enumerated above // are undefined. -func sessionChangesetReadTblhdr(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:213465:12: */ +func sessionChangesetReadTblhdr(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:213522:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -172579,7 +172610,7 @@ func sessionChangesetReadTblhdr(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:2 (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Ftblhdr.FnBuf = 0 sessionBufferGrow(tls, p+72, int64(nByte), bp+4) } else { - *(*int32)(unsafe.Pointer(bp + 4 /* rc */)) = Xsqlite3CorruptError(tls, 213482) + *(*int32)(unsafe.Pointer(bp + 4 /* rc */)) = Xsqlite3CorruptError(tls, 213539) } } @@ -172614,7 +172645,7 @@ func sessionChangesetReadTblhdr(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:2 // // * If the iterator is configured to skip no-op UPDATEs, // sessionChangesetNext() does that. This function does not. -func sessionChangesetNextOne(tls *libc.TLS, p uintptr, paRec uintptr, pnRec uintptr, pbNew uintptr, pbEmpty uintptr) int32 { /* sqlite3.c:213514:12: */ +func sessionChangesetNextOne(tls *libc.TLS, p uintptr, paRec uintptr, pnRec uintptr, pbNew uintptr, pbEmpty uintptr) int32 { /* sqlite3.c:213571:12: */ var i int32 var op U8 @@ -172671,13 +172702,13 @@ func sessionChangesetNextOne(tls *libc.TLS, p uintptr, paRec uintptr, pnRec uint // The first record in the changeset is not a table header. Must be a // corrupt changeset. - return libc.AssignPtrInt32(p+100, Xsqlite3CorruptError(tls, 213568)) + return libc.AssignPtrInt32(p+100, Xsqlite3CorruptError(tls, 213625)) } (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fop = int32(op) (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FbIndirect = int32(*(*U8)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FaData + uintptr(libc.PostIncInt32(&(*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FiNext, 1))))) if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fop != SQLITE_UPDATE && (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fop != SQLITE_DELETE && (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fop != SQLITE_INSERT { - return libc.AssignPtrInt32(p+100, Xsqlite3CorruptError(tls, 213574)) + return libc.AssignPtrInt32(p+100, Xsqlite3CorruptError(tls, 213631)) } if paRec != 0 { @@ -172747,7 +172778,7 @@ func sessionChangesetNextOne(tls *libc.TLS, p uintptr, paRec uintptr, pnRec uint *(*uintptr)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue + uintptr(i)*8)) = *(*uintptr)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue + uintptr(i+(*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol)*8)) if *(*uintptr)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue + uintptr(i)*8)) == uintptr(0) { - return libc.AssignPtrInt32(p+100, Xsqlite3CorruptError(tls, 213618)) + return libc.AssignPtrInt32(p+100, Xsqlite3CorruptError(tls, 213675)) } *(*uintptr)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue + uintptr(i+(*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol)*8)) = uintptr(0) } @@ -172778,7 +172809,7 @@ func sessionChangesetNextOne(tls *libc.TLS, p uintptr, paRec uintptr, pnRec uint // successfully advanced to the next change in the changeset, an SQLite // error code if an error occurs, or SQLITE_DONE if there are no further // changes in the changeset. -func sessionChangesetNext(tls *libc.TLS, p uintptr, paRec uintptr, pnRec uintptr, pbNew uintptr) int32 { /* sqlite3.c:213647:12: */ +func sessionChangesetNext(tls *libc.TLS, p uintptr, paRec uintptr, pnRec uintptr, pbNew uintptr) int32 { /* sqlite3.c:213704:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -172798,14 +172829,14 @@ func sessionChangesetNext(tls *libc.TLS, p uintptr, paRec uintptr, pnRec uintptr // // This function may not be called on iterators passed to a conflict handler // callback by changeset_apply(). -func Xsqlite3changeset_next(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:213670:16: */ +func Xsqlite3changeset_next(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:213727:16: */ return sessionChangesetNext(tls, p, uintptr(0), uintptr(0), uintptr(0)) } // The following function extracts information on the current change // from a changeset iterator. It may only be called after changeset_next() // has returned SQLITE_ROW. -func Xsqlite3changeset_op(tls *libc.TLS, pIter uintptr, pzTab uintptr, pnCol uintptr, pOp uintptr, pbIndirect uintptr) int32 { /* sqlite3.c:213679:16: */ +func Xsqlite3changeset_op(tls *libc.TLS, pIter uintptr, pzTab uintptr, pnCol uintptr, pOp uintptr, pbIndirect uintptr) int32 { /* sqlite3.c:213736:16: */ *(*int32)(unsafe.Pointer(pOp)) = (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fop *(*int32)(unsafe.Pointer(pnCol)) = (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol *(*uintptr)(unsafe.Pointer(pzTab)) = (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FzTab @@ -172819,7 +172850,7 @@ func Xsqlite3changeset_op(tls *libc.TLS, pIter uintptr, pzTab uintptr, pnCol uin // the database table affected by the change that pIter currently points // to. This function may only be called after changeset_next() returns // SQLITE_ROW. -func Xsqlite3changeset_pk(tls *libc.TLS, pIter uintptr, pabPK uintptr, pnCol uintptr) int32 { /* sqlite3.c:213699:16: */ +func Xsqlite3changeset_pk(tls *libc.TLS, pIter uintptr, pabPK uintptr, pnCol uintptr) int32 { /* sqlite3.c:213756:16: */ *(*uintptr)(unsafe.Pointer(pabPK)) = (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FabPK if pnCol != 0 { *(*int32)(unsafe.Pointer(pnCol)) = (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol @@ -172838,7 +172869,7 @@ func Xsqlite3changeset_pk(tls *libc.TLS, pIter uintptr, pabPK uintptr, pnCol uin // // If value iVal is out-of-range, SQLITE_RANGE is returned and *ppValue is // not modified. Otherwise, SQLITE_OK. -func Xsqlite3changeset_old(tls *libc.TLS, pIter uintptr, iVal int32, ppValue uintptr) int32 { /* sqlite3.c:213722:16: */ +func Xsqlite3changeset_old(tls *libc.TLS, pIter uintptr, iVal int32, ppValue uintptr) int32 { /* sqlite3.c:213779:16: */ if (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fop != SQLITE_UPDATE && (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fop != SQLITE_DELETE { return SQLITE_MISUSE } @@ -172860,7 +172891,7 @@ func Xsqlite3changeset_old(tls *libc.TLS, pIter uintptr, iVal int32, ppValue uin // // If value iVal is out-of-range, SQLITE_RANGE is returned and *ppValue is // not modified. Otherwise, SQLITE_OK. -func Xsqlite3changeset_new(tls *libc.TLS, pIter uintptr, iVal int32, ppValue uintptr) int32 { /* sqlite3.c:213750:16: */ +func Xsqlite3changeset_new(tls *libc.TLS, pIter uintptr, iVal int32, ppValue uintptr) int32 { /* sqlite3.c:213807:16: */ if (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fop != SQLITE_UPDATE && (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fop != SQLITE_INSERT { return SQLITE_MISUSE } @@ -172884,7 +172915,7 @@ func Xsqlite3changeset_new(tls *libc.TLS, pIter uintptr, iVal int32, ppValue uin // // If value iVal is out-of-range or some other error occurs, an SQLite error // code is returned. Otherwise, SQLITE_OK. -func Xsqlite3changeset_conflict(tls *libc.TLS, pIter uintptr, iVal int32, ppValue uintptr) int32 { /* sqlite3.c:213784:16: */ +func Xsqlite3changeset_conflict(tls *libc.TLS, pIter uintptr, iVal int32, ppValue uintptr) int32 { /* sqlite3.c:213841:16: */ if !(int32((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FpConflict) != 0) { return SQLITE_MISUSE } @@ -172901,7 +172932,7 @@ func Xsqlite3changeset_conflict(tls *libc.TLS, pIter uintptr, iVal int32, ppValu // violations in the destination database and returns SQLITE_OK. // // In all other cases this function returns SQLITE_MISUSE. -func Xsqlite3changeset_fk_conflicts(tls *libc.TLS, pIter uintptr, pnOut uintptr) int32 { /* sqlite3.c:213807:16: */ +func Xsqlite3changeset_fk_conflicts(tls *libc.TLS, pIter uintptr, pnOut uintptr) int32 { /* sqlite3.c:213864:16: */ if (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FpConflict != 0 || (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FapValue != 0 { return SQLITE_MISUSE } @@ -172913,7 +172944,7 @@ func Xsqlite3changeset_fk_conflicts(tls *libc.TLS, pIter uintptr, pnOut uintptr) // // This function may not be called on iterators passed to a conflict handler // callback by changeset_apply(). -func Xsqlite3changeset_finalize(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:213825:16: */ +func Xsqlite3changeset_finalize(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:213882:16: */ var rc int32 = SQLITE_OK if p != 0 { var i int32 // Used to iterate through p->apValue[] @@ -172930,7 +172961,7 @@ func Xsqlite3changeset_finalize(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:2 return rc } -func sessionChangesetInvert(tls *libc.TLS, pInput uintptr, xOutput uintptr, pOut uintptr, pnInverted uintptr, ppInverted uintptr) int32 { /* sqlite3.c:213840:12: */ +func sessionChangesetInvert(tls *libc.TLS, pInput uintptr, xOutput uintptr, pOut uintptr, pnInverted uintptr, ppInverted uintptr) int32 { /* sqlite3.c:213897:12: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -173166,7 +173197,7 @@ __27: goto __6 __11: - *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = Xsqlite3CorruptError(tls, 213967) + *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = Xsqlite3CorruptError(tls, 214024) goto finished_invert __6: ; @@ -173217,7 +173248,7 @@ finished_invert: } // Invert a changeset object. -func Xsqlite3changeset_invert(tls *libc.TLS, nChangeset int32, pChangeset uintptr, pnInverted uintptr, ppInverted uintptr) int32 { /* sqlite3.c:213999:16: */ +func Xsqlite3changeset_invert(tls *libc.TLS, nChangeset int32, pChangeset uintptr, pnInverted uintptr, ppInverted uintptr) int32 { /* sqlite3.c:214056:16: */ bp := tls.Alloc(72) defer tls.Free(72) @@ -173232,7 +173263,7 @@ func Xsqlite3changeset_invert(tls *libc.TLS, nChangeset int32, pChangeset uintpt } // Streaming version of sqlite3changeset_invert(). -func Xsqlite3changeset_invert_strm(tls *libc.TLS, xInput uintptr, pIn uintptr, xOutput uintptr, pOut uintptr) int32 { /* sqlite3.c:214018:16: */ +func Xsqlite3changeset_invert_strm(tls *libc.TLS, xInput uintptr, pIn uintptr, xOutput uintptr, pOut uintptr) int32 { /* sqlite3.c:214075:16: */ bp := tls.Alloc(72) defer tls.Free(72) @@ -173254,9 +173285,9 @@ type SessionUpdate1 = struct { FpStmt uintptr FaMask uintptr FpNext uintptr -} /* sqlite3.c:214038:9 */ +} /* sqlite3.c:214095:9 */ -type SessionUpdate = SessionUpdate1 /* sqlite3.c:214038:30 */ +type SessionUpdate = SessionUpdate1 /* sqlite3.c:214095:30 */ type SessionApplyCtx1 = struct { Fdb uintptr @@ -173278,9 +173309,9 @@ type SessionApplyCtx1 = struct { FbRebaseStarted U8 FbRebase U8 F__ccgo_pad3 [6]byte -} /* sqlite3.c:214045:9 */ +} /* sqlite3.c:214102:9 */ -type SessionApplyCtx = SessionApplyCtx1 /* sqlite3.c:214045:32 */ +type SessionApplyCtx = SessionApplyCtx1 /* sqlite3.c:214102:32 */ // Number of prepared UPDATE statements to cache. @@ -173288,7 +173319,7 @@ type SessionApplyCtx = SessionApplyCtx1 /* sqlite3.c:214045:32 */ // being visited by the iterator. The UPDATE is of the form: // // UPDATE tbl SET col = ?, col2 = ? WHERE pk1 IS ? AND pk2 IS ? -func sessionUpdateFind(tls *libc.TLS, pIter uintptr, p uintptr, bPatchset int32, ppStmt uintptr) int32 { /* sqlite3.c:214074:12: */ +func sessionUpdateFind(tls *libc.TLS, pIter uintptr, p uintptr, bPatchset int32, ppStmt uintptr) int32 { /* sqlite3.c:214131:12: */ bp := tls.Alloc(20) defer tls.Free(20) @@ -173422,7 +173453,7 @@ func sessionUpdateFind(tls *libc.TLS, pIter uintptr, p uintptr, bPatchset int32, } // Free all cached UPDATE statements. -func sessionUpdateFree(tls *libc.TLS, p uintptr) { /* sqlite3.c:214213:13: */ +func sessionUpdateFree(tls *libc.TLS, p uintptr) { /* sqlite3.c:214270:13: */ var pUp uintptr var pNext uintptr for pUp = (*SessionApplyCtx)(unsafe.Pointer(p)).FpUp; pUp != 0; pUp = pNext { @@ -173450,7 +173481,7 @@ func sessionUpdateFree(tls *libc.TLS, p uintptr) { /* sqlite3.c:214213:13: */ // // If successful, SQLITE_OK is returned and SessionApplyCtx.pDelete is left // pointing to the prepared version of the SQL statement. -func sessionDeleteRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) int32 { /* sqlite3.c:214243:12: */ +func sessionDeleteRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) int32 { /* sqlite3.c:214300:12: */ bp := tls.Alloc(20) defer tls.Free(20) @@ -173512,7 +173543,7 @@ func sessionDeleteRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) int32 // // If successful, SQLITE_OK is returned and SessionApplyCtx.pSelect is left // pointing to the prepared version of the SQL statement. -func sessionSelectRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) int32 { /* sqlite3.c:214308:12: */ +func sessionSelectRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) int32 { /* sqlite3.c:214365:12: */ return sessionSelectStmt(tls, db, ts+6332, zTab, (*SessionApplyCtx)(unsafe.Pointer(p)).FnCol, (*SessionApplyCtx)(unsafe.Pointer(p)).FazCol, (*SessionApplyCtx)(unsafe.Pointer(p)).FabPK, p+24) } @@ -173524,7 +173555,7 @@ func sessionSelectRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) int32 // // If successful, SQLITE_OK is returned and SessionApplyCtx.pInsert is left // pointing to the prepared version of the SQL statement. -func sessionInsertRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) int32 { /* sqlite3.c:214326:12: */ +func sessionInsertRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) int32 { /* sqlite3.c:214383:12: */ bp := tls.Alloc(20) defer tls.Free(20) @@ -173555,7 +173586,7 @@ func sessionInsertRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) int32 return *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) } -func sessionPrepare(tls *libc.TLS, db uintptr, pp uintptr, zSql uintptr) int32 { /* sqlite3.c:214356:12: */ +func sessionPrepare(tls *libc.TLS, db uintptr, pp uintptr, zSql uintptr) int32 { /* sqlite3.c:214413:12: */ return Xsqlite3_prepare_v2(tls, db, zSql, -1, pp, uintptr(0)) } @@ -173563,7 +173594,7 @@ func sessionPrepare(tls *libc.TLS, db uintptr, pp uintptr, zSql uintptr) int32 { // These are similar to those created by sessionSelectRow(), // sessionInsertRow(), sessionUpdateRow() and sessionDeleteRow() for // other tables. -func sessionStat1Sql(tls *libc.TLS, db uintptr, p uintptr) int32 { /* sqlite3.c:214366:12: */ +func sessionStat1Sql(tls *libc.TLS, db uintptr, p uintptr) int32 { /* sqlite3.c:214423:12: */ var rc int32 = sessionSelectRow(tls, db, ts+11233, p) if rc == SQLITE_OK { rc = sessionPrepare(tls, db, p+16, @@ -173580,7 +173611,7 @@ func sessionStat1Sql(tls *libc.TLS, db uintptr, p uintptr) int32 { /* sqlite3.c: // A wrapper around sqlite3_bind_value() that detects an extra problem. // See comments in the body of this function for details. -func sessionBindValue(tls *libc.TLS, pStmt uintptr, i int32, pVal uintptr) int32 { /* sqlite3.c:214389:12: */ +func sessionBindValue(tls *libc.TLS, pStmt uintptr, i int32, pVal uintptr) int32 { /* sqlite3.c:214446:12: */ var eType int32 = Xsqlite3_value_type(tls, pVal) // COVERAGE: The (pVal->z==0) branch is never true using current versions // of SQLite. If a malloc fails in an sqlite3_value_xxx() function, either @@ -173607,7 +173638,7 @@ func sessionBindValue(tls *libc.TLS, pStmt uintptr, i int32, pVal uintptr) int32 // statement. // // 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) int32 { /* sqlite3.c:214422:12: */ +func sessionBindRow(tls *libc.TLS, pIter uintptr, xValue uintptr, nCol int32, abPK uintptr, pStmt uintptr) int32 { /* sqlite3.c:214479:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -173628,7 +173659,7 @@ func sessionBindRow(tls *libc.TLS, pIter uintptr, xValue uintptr, nCol int32, ab if *(*uintptr)(unsafe.Pointer(bp)) == uintptr(0) { // The value in the changeset was "undefined". This indicates a // corrupt changeset blob. - rc = Xsqlite3CorruptError(tls, 214445) + rc = Xsqlite3CorruptError(tls, 214502) } else { rc = sessionBindValue(tls, pStmt, i+1, *(*uintptr)(unsafe.Pointer(bp /* pVal */))) } @@ -173652,7 +173683,7 @@ func sessionBindRow(tls *libc.TLS, pIter uintptr, xValue uintptr, nCol int32, ab // If the iterator currently points to an INSERT record, bind values from the // new.* record to the SELECT statement. Or, if it points to a DELETE or // UPDATE, bind values from the old.* record. -func sessionSeekToRow(tls *libc.TLS, db uintptr, pIter uintptr, abPK uintptr, pSelect uintptr) int32 { /* sqlite3.c:214471:12: */ +func sessionSeekToRow(tls *libc.TLS, db uintptr, pIter uintptr, abPK uintptr, pSelect uintptr) int32 { /* sqlite3.c:214528:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -173696,7 +173727,7 @@ func sessionSeekToRow(tls *libc.TLS, db uintptr, pIter uintptr, abPK uintptr, pS // of apply_v2() as the "rebase" buffer. // // Return SQLITE_OK if successful, or an SQLite error code otherwise. -func sessionRebaseAdd(tls *libc.TLS, p uintptr, eType int32, pIter uintptr) int32 { /* sqlite3.c:214506:12: */ +func sessionRebaseAdd(tls *libc.TLS, p uintptr, eType int32, pIter uintptr) int32 { /* sqlite3.c:214563:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -173768,7 +173799,7 @@ func sessionRebaseAdd(tls *libc.TLS, p uintptr, eType int32, pIter uintptr) int3 // returned. Or, if the conflict handler returns an invalid value, // 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) int32 { /* sqlite3.c:214580:12: */ +func sessionConflictHandler(tls *libc.TLS, eType int32, p uintptr, pIter uintptr, xConflict uintptr, pCtx uintptr, pbReplace uintptr) int32 { /* sqlite3.c:214637:12: */ bp := tls.Alloc(20) defer tls.Free(20) @@ -173868,7 +173899,7 @@ func sessionConflictHandler(tls *libc.TLS, eType int32, p uintptr, pIter uintptr // If any conflict handler returns SQLITE_CHANGESET_ABORT, this function // 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) int32 { /* sqlite3.c:214678:12: */ +func sessionApplyOneOp(tls *libc.TLS, pIter uintptr, p uintptr, xConflict uintptr, pCtx uintptr, pbReplace uintptr, pbRetry uintptr) int32 { /* sqlite3.c:214735:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -174003,7 +174034,7 @@ func sessionApplyOneOp(tls *libc.TLS, pIter uintptr, p uintptr, xConflict uintpt // function handles the case where the conflict-handler is invoked and // 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) int32 { /* sqlite3.c:214811:12: */ +func sessionApplyOneWithRetry(tls *libc.TLS, db uintptr, pIter uintptr, pApply uintptr, xConflict uintptr, pCtx uintptr) int32 { /* sqlite3.c:214868:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -174050,7 +174081,7 @@ func sessionApplyOneWithRetry(tls *libc.TLS, db uintptr, pIter uintptr, pApply u } // 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) int32 { /* sqlite3.c:214868:12: */ +func sessionRetryConstraints(tls *libc.TLS, db uintptr, bPatchset int32, zTab uintptr, pApply uintptr, xConflict uintptr, pCtx uintptr) int32 { /* sqlite3.c:214925:12: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -174104,7 +174135,7 @@ func sessionRetryConstraints(tls *libc.TLS, db uintptr, bPatchset int32, zTab ui // changeset to the main database attached to handle "db". The supplied // 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) int32 { /* sqlite3.c:214924:12: */ +func sessionChangesetApply(tls *libc.TLS, db uintptr, pIter uintptr, xFilter uintptr, xConflict uintptr, pCtx uintptr, ppRebase uintptr, pnRebase uintptr, flags int32) int32 { /* sqlite3.c:214981:12: */ bp := tls.Alloc(368) defer tls.Free(368) @@ -174295,7 +174326,7 @@ func sessionChangesetApply(tls *libc.TLS, db uintptr, pIter uintptr, xFilter uin // 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) int32 { /* sqlite3.c:215122:16: */ +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) int32 { /* sqlite3.c:215179:16: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -174313,7 +174344,7 @@ func Xsqlite3changeset_apply_v2(tls *libc.TLS, db uintptr, nChangeset int32, pCh // Apply the changeset passed via pChangeset/nChangeset to the main database // 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) int32 { /* sqlite3.c:215155:16: */ +func Xsqlite3changeset_apply(tls *libc.TLS, db uintptr, nChangeset int32, pChangeset uintptr, xFilter uintptr, xConflict uintptr, pCtx uintptr) int32 { /* sqlite3.c:215212:16: */ return Xsqlite3changeset_apply_v2(tls, db, nChangeset, pChangeset, xFilter, xConflict, pCtx, uintptr(0), uintptr(0), 0) } @@ -174321,7 +174352,7 @@ func Xsqlite3changeset_apply(tls *libc.TLS, db uintptr, nChangeset int32, pChang // Apply the changeset passed via xInput/pIn to the main database // 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) int32 { /* sqlite3.c:215180:16: */ +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) int32 { /* sqlite3.c:215237:16: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -174336,7 +174367,7 @@ func Xsqlite3changeset_apply_v2_strm(tls *libc.TLS, db uintptr, xInput uintptr, return rc } -func Xsqlite3changeset_apply_strm(tls *libc.TLS, db uintptr, xInput uintptr, pIn uintptr, xFilter uintptr, xConflict uintptr, pCtx uintptr) int32 { /* sqlite3.c:215207:16: */ +func Xsqlite3changeset_apply_strm(tls *libc.TLS, db uintptr, xInput uintptr, pIn uintptr, xFilter uintptr, xConflict uintptr, pCtx uintptr) int32 { /* sqlite3.c:215264:16: */ return Xsqlite3changeset_apply_v2_strm(tls, db, xInput, pIn, xFilter, xConflict, pCtx, uintptr(0), uintptr(0), 0) } @@ -174344,7 +174375,7 @@ func Xsqlite3changeset_apply_strm(tls *libc.TLS, db uintptr, xInput uintptr, pIn // This function is called to merge two changes to the same row together as // part of an sqlite3changeset_concat() operation. A new change object is // allocated and a pointer to it stored in *ppNew. -func sessionChangeMerge(tls *libc.TLS, pTab uintptr, bRebase int32, bPatchset int32, pExist uintptr, op2 int32, bIndirect int32, aRec uintptr, nRec int32, ppNew uintptr) int32 { /* sqlite3.c:215241:12: */ +func sessionChangeMerge(tls *libc.TLS, pTab uintptr, bRebase int32, bPatchset int32, pExist uintptr, op2 int32, bIndirect int32, aRec uintptr, nRec int32, ppNew uintptr) int32 { /* sqlite3.c:215298:12: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -174516,7 +174547,7 @@ func sessionChangeMerge(tls *libc.TLS, pTab uintptr, bRebase int32, bPatchset in // Add all changes in the changeset traversed by the iterator passed as // the first argument to the changegroup hash tables. -func sessionChangesetToHash(tls *libc.TLS, pIter uintptr, pGrp uintptr, bRebase int32) int32 { /* sqlite3.c:215423:12: */ +func sessionChangesetToHash(tls *libc.TLS, pIter uintptr, pGrp uintptr, bRebase int32) int32 { /* sqlite3.c:215480:12: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -174647,7 +174678,7 @@ func sessionChangesetToHash(tls *libc.TLS, pIter uintptr, pGrp uintptr, bRebase // If successful, SQLITE_OK is returned. Or, if an error occurs, an SQLite // 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) int32 { /* sqlite3.c:215546:12: */ +func sessionChangegroupOutput(tls *libc.TLS, pGrp uintptr, xOutput uintptr, pOut uintptr, pnOut uintptr, ppOut uintptr) int32 { /* sqlite3.c:215603:12: */ bp := tls.Alloc(20) defer tls.Free(20) @@ -174701,7 +174732,7 @@ func sessionChangegroupOutput(tls *libc.TLS, pGrp uintptr, xOutput uintptr, pOut } // Allocate a new, empty, sqlite3_changegroup. -func Xsqlite3changegroup_new(tls *libc.TLS, pp uintptr) int32 { /* sqlite3.c:215597:16: */ +func Xsqlite3changegroup_new(tls *libc.TLS, pp uintptr) int32 { /* sqlite3.c:215654:16: */ var rc int32 = SQLITE_OK // Return code var p uintptr // New object p = Xsqlite3_malloc(tls, int32(unsafe.Sizeof(Sqlite3_changegroup{}))) @@ -174716,7 +174747,7 @@ func Xsqlite3changegroup_new(tls *libc.TLS, pp uintptr) int32 { /* sqlite3.c:215 // Add the changeset currently stored in buffer pData, size nData bytes, // to changeset-group p. -func Xsqlite3changegroup_add(tls *libc.TLS, pGrp uintptr, nData int32, pData uintptr) int32 { /* sqlite3.c:215614:16: */ +func Xsqlite3changegroup_add(tls *libc.TLS, pGrp uintptr, nData int32, pData uintptr) int32 { /* sqlite3.c:215671:16: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -174734,12 +174765,12 @@ func Xsqlite3changegroup_add(tls *libc.TLS, pGrp uintptr, nData int32, pData uin // Obtain a buffer containing a changeset representing the concatenation // of all changesets added to the group so far. -func Xsqlite3changegroup_output(tls *libc.TLS, pGrp uintptr, pnData uintptr, ppData uintptr) int32 { /* sqlite3.c:215630:16: */ +func Xsqlite3changegroup_output(tls *libc.TLS, pGrp uintptr, pnData uintptr, ppData uintptr) int32 { /* sqlite3.c:215687:16: */ return sessionChangegroupOutput(tls, pGrp, uintptr(0), uintptr(0), pnData, ppData) } // Streaming versions of changegroup_add(). -func Xsqlite3changegroup_add_strm(tls *libc.TLS, pGrp uintptr, xInput uintptr, pIn uintptr) int32 { /* sqlite3.c:215641:16: */ +func Xsqlite3changegroup_add_strm(tls *libc.TLS, pGrp uintptr, xInput uintptr, pIn uintptr) int32 { /* sqlite3.c:215698:16: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -174756,12 +174787,12 @@ func Xsqlite3changegroup_add_strm(tls *libc.TLS, pGrp uintptr, xInput uintptr, p } // Streaming versions of changegroup_output(). -func Xsqlite3changegroup_output_strm(tls *libc.TLS, pGrp uintptr, xOutput uintptr, pOut uintptr) int32 { /* sqlite3.c:215660:16: */ +func Xsqlite3changegroup_output_strm(tls *libc.TLS, pGrp uintptr, xOutput uintptr, pOut uintptr) int32 { /* sqlite3.c:215717:16: */ return sessionChangegroupOutput(tls, pGrp, xOutput, pOut, uintptr(0), uintptr(0)) } // Delete a changegroup object. -func Xsqlite3changegroup_delete(tls *libc.TLS, pGrp uintptr) { /* sqlite3.c:215671:17: */ +func Xsqlite3changegroup_delete(tls *libc.TLS, pGrp uintptr) { /* sqlite3.c:215728:17: */ if pGrp != 0 { sessionDeleteTable(tls, uintptr(0), (*Sqlite3_changegroup)(unsafe.Pointer(pGrp)).FpList) Xsqlite3_free(tls, pGrp) @@ -174769,7 +174800,7 @@ func Xsqlite3changegroup_delete(tls *libc.TLS, pGrp uintptr) { /* sqlite3.c:2156 } // Combine two changesets together. -func Xsqlite3changeset_concat(tls *libc.TLS, nLeft int32, pLeft uintptr, nRight int32, pRight uintptr, pnOut uintptr, ppOut uintptr) int32 { /* sqlite3.c:215681:16: */ +func Xsqlite3changeset_concat(tls *libc.TLS, nLeft int32, pLeft uintptr, nRight int32, pRight uintptr, pnOut uintptr, ppOut uintptr) int32 { /* sqlite3.c:215738:16: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -174793,7 +174824,7 @@ func Xsqlite3changeset_concat(tls *libc.TLS, nLeft int32, pLeft uintptr, nRight } // Streaming version of sqlite3changeset_concat(). -func Xsqlite3changeset_concat_strm(tls *libc.TLS, xInputA uintptr, pInA uintptr, xInputB uintptr, pInB uintptr, xOutput uintptr, pOut uintptr) int32 { /* sqlite3.c:215710:16: */ +func Xsqlite3changeset_concat_strm(tls *libc.TLS, xInputA uintptr, pInA uintptr, xInputB uintptr, pInB uintptr, xOutput uintptr, pOut uintptr) int32 { /* sqlite3.c:215767:16: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -174820,7 +174851,7 @@ func Xsqlite3changeset_concat_strm(tls *libc.TLS, xInputA uintptr, pInA uintptr, // fields in size. This function appends an nCol sessions module // record to buffer pBuf that is a copy of a1, except that for // each field that is undefined in a1[], swap in the field from a2[]. -func sessionAppendRecordMerge(tls *libc.TLS, pBuf uintptr, nCol int32, a1 uintptr, n1 int32, a2 uintptr, n2 int32, pRc uintptr) { /* sqlite3.c:215749:13: */ +func sessionAppendRecordMerge(tls *libc.TLS, pBuf uintptr, nCol int32, a1 uintptr, n1 int32, a2 uintptr, n2 int32, pRc uintptr) { /* sqlite3.c:215806:13: */ sessionBufferGrow(tls, pBuf, int64(n1+n2), pRc) if *(*int32)(unsafe.Pointer(pRc)) == SQLITE_OK { var i int32 @@ -174861,7 +174892,7 @@ func sessionAppendRecordMerge(tls *libc.TLS, pBuf uintptr, nCol int32, a1 uintpt // corresponding field in the rebase buffer is not "undefined" (0x00) // or "replaced" (0xFF), the old.* value is replaced by the value // in the rebase buffer. -func sessionAppendPartialUpdate(tls *libc.TLS, pBuf uintptr, pIter uintptr, aRec uintptr, nRec int32, aChange uintptr, nChange int32, pRc uintptr) { /* sqlite3.c:215798:13: */ +func sessionAppendPartialUpdate(tls *libc.TLS, pBuf uintptr, pIter uintptr, aRec uintptr, nRec int32, aChange uintptr, nChange int32, pRc uintptr) { /* sqlite3.c:215855:13: */ sessionBufferGrow(tls, pBuf, int64(2+nRec+nChange), pRc) if *(*int32)(unsafe.Pointer(pRc)) == SQLITE_OK { var bData int32 = 0 @@ -174923,7 +174954,7 @@ func sessionAppendPartialUpdate(tls *libc.TLS, pBuf uintptr, pIter uintptr, aRec // If an error occurs, an SQLite error code is returned. If ppOut and // 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) int32 { /* sqlite3.c:215866:12: */ +func sessionRebase(tls *libc.TLS, p uintptr, pIter uintptr, xOutput uintptr, pOut uintptr, pnOut uintptr, ppOut uintptr) int32 { /* sqlite3.c:215923:12: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -175061,7 +175092,7 @@ func sessionRebase(tls *libc.TLS, p uintptr, pIter uintptr, xOutput uintptr, pOu } // Create a new rebaser object. -func Xsqlite3rebaser_create(tls *libc.TLS, ppNew uintptr) int32 { /* sqlite3.c:215998:16: */ +func Xsqlite3rebaser_create(tls *libc.TLS, ppNew uintptr) int32 { /* sqlite3.c:216055:16: */ var rc int32 = SQLITE_OK var pNew uintptr @@ -175076,7 +175107,7 @@ func Xsqlite3rebaser_create(tls *libc.TLS, ppNew uintptr) int32 { /* sqlite3.c:2 } // Call this one or more times to configure a rebaser. -func Xsqlite3rebaser_configure(tls *libc.TLS, p uintptr, nRebase int32, pRebase uintptr) int32 { /* sqlite3.c:216015:16: */ +func Xsqlite3rebaser_configure(tls *libc.TLS, p uintptr, nRebase int32, pRebase uintptr) int32 { /* sqlite3.c:216072:16: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -175091,7 +175122,7 @@ func Xsqlite3rebaser_configure(tls *libc.TLS, p uintptr, nRebase int32, pRebase } // Rebase a changeset according to current rebaser configuration -func Xsqlite3rebaser_rebase(tls *libc.TLS, p uintptr, nIn int32, pIn uintptr, pnOut uintptr, ppOut uintptr) int32 { /* sqlite3.c:216032:16: */ +func Xsqlite3rebaser_rebase(tls *libc.TLS, p uintptr, nIn int32, pIn uintptr, pnOut uintptr, ppOut uintptr) int32 { /* sqlite3.c:216089:16: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -175107,7 +175138,7 @@ func Xsqlite3rebaser_rebase(tls *libc.TLS, p uintptr, nIn int32, pIn uintptr, pn } // 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) int32 { /* sqlite3.c:216051:16: */ +func Xsqlite3rebaser_rebase_strm(tls *libc.TLS, p uintptr, xInput uintptr, pIn uintptr, xOutput uintptr, pOut uintptr) int32 { /* sqlite3.c:216108:16: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -175123,7 +175154,7 @@ func Xsqlite3rebaser_rebase_strm(tls *libc.TLS, p uintptr, xInput uintptr, pIn u } // Destroy a rebaser object -func Xsqlite3rebaser_delete(tls *libc.TLS, p uintptr) { /* sqlite3.c:216072:17: */ +func Xsqlite3rebaser_delete(tls *libc.TLS, p uintptr) { /* sqlite3.c:216129:17: */ if p != 0 { sessionDeleteTable(tls, uintptr(0), (*Sqlite3_rebaser)(unsafe.Pointer(p)).Fgrp.FpList) Xsqlite3_free(tls, p) @@ -175131,7 +175162,7 @@ func Xsqlite3rebaser_delete(tls *libc.TLS, p uintptr) { /* sqlite3.c:216072:17: } // Global configuration -func Xsqlite3session_config(tls *libc.TLS, op int32, pArg uintptr) int32 { /* sqlite3.c:216082:16: */ +func Xsqlite3session_config(tls *libc.TLS, op int32, pArg uintptr) int32 { /* sqlite3.c:216139:16: */ var rc int32 = SQLITE_OK switch op { case SQLITE_SESSION_CONFIG_STRMSIZE: @@ -175219,7 +175250,7 @@ type Fts5Global1 = struct { FpTok uintptr FpDfltTok uintptr FpCsr uintptr -} /* sqlite3.c:216813:9 */ +} /* sqlite3.c:216870:9 */ //************* End of sqlite3session.c ************************************* //************* Begin file fts5.c ******************************************* @@ -175281,13 +175312,13 @@ type Fts5Global1 = struct { // Mark a function parameter as unused, to suppress nuisance compiler // warnings. -type Fts5Global = Fts5Global1 /* sqlite3.c:216813:27 */ +type Fts5Global = Fts5Global1 /* sqlite3.c:216870:27 */ type Fts5Colset1 = struct { FnCol int32 FaiCol [1]int32 -} /* sqlite3.c:216813:9 */ +} /* sqlite3.c:216870:9 */ -type Fts5Colset = Fts5Colset1 /* sqlite3.c:216814:27 */ +type Fts5Colset = Fts5Colset1 /* sqlite3.c:216871:27 */ // ************************************************************************* // @@ -175325,14 +175356,14 @@ type Fts5Config1 = struct { FzRank uintptr FzRankArgs uintptr FpzErrmsg uintptr -} /* sqlite3.c:216813:9 */ +} /* sqlite3.c:216870:9 */ // ************************************************************************* // // Interface to code in fts5_config.c. fts5_config.c contains contains code // to parse the arguments passed to the CREATE VIRTUAL TABLE statement. -type Fts5Config = Fts5Config1 /* sqlite3.c:216834:27 */ +type Fts5Config = Fts5Config1 /* sqlite3.c:216891:27 */ // // End of interface to code in fts5_config.c. @@ -175347,7 +175378,7 @@ type Fts5Buffer1 = struct { Fp uintptr Fn int32 FnSpace int32 -} /* sqlite3.c:216813:9 */ +} /* sqlite3.c:216870:9 */ // // End of interface to code in fts5_config.c. @@ -175358,7 +175389,7 @@ type Fts5Buffer1 = struct { // Interface to code in fts5_buffer.c. // Buffer object for the incremental building of string data. -type Fts5Buffer = Fts5Buffer1 /* sqlite3.c:216960:27 */ +type Fts5Buffer = Fts5Buffer1 /* sqlite3.c:217017:27 */ type Fts5PoslistReader1 = struct { Fa uintptr @@ -175368,19 +175399,19 @@ type Fts5PoslistReader1 = struct { FbEof U8 F__ccgo_pad1 [6]byte FiPos I64 -} /* sqlite3.c:216813:9 */ +} /* sqlite3.c:216870:9 */ -type Fts5PoslistReader = Fts5PoslistReader1 /* sqlite3.c:216996:34 */ +type Fts5PoslistReader = Fts5PoslistReader1 /* sqlite3.c:217053:34 */ -type Fts5PoslistWriter1 = struct{ FiPrev I64 } /* sqlite3.c:217015:9 */ +type Fts5PoslistWriter1 = struct{ FiPrev I64 } /* sqlite3.c:217072:9 */ -type Fts5PoslistWriter = Fts5PoslistWriter1 /* sqlite3.c:217015:34 */ +type Fts5PoslistWriter = Fts5PoslistWriter1 /* sqlite3.c:217072:34 */ // Bucket of terms object used by the integrity-check in offsets=0 mode. -type Fts5Termset1 = struct{ FapHash [512]uintptr } /* sqlite3.c:217037:9 */ +type Fts5Termset1 = struct{ FapHash [512]uintptr } /* sqlite3.c:217094:9 */ // Bucket of terms object used by the integrity-check in offsets=0 mode. -type Fts5Termset = Fts5Termset1 /* sqlite3.c:217037:28 */ +type Fts5Termset = Fts5Termset1 /* sqlite3.c:217094:28 */ // // End of interface to code in fts5_buffer.c. @@ -175413,7 +175444,7 @@ type Fts5Index1 = struct { FpDataVersion uintptr FiStructVersion I64 FpStruct uintptr -} /* sqlite3.c:216813:9 */ +} /* sqlite3.c:216870:9 */ // // End of interface to code in fts5_buffer.c. @@ -175424,16 +175455,16 @@ type Fts5Index1 = struct { // Interface to code in fts5_index.c. fts5_index.c contains contains code // to access the data stored in the %_data table. -type Fts5Index = Fts5Index1 /* sqlite3.c:217051:26 */ +type Fts5Index = Fts5Index1 /* sqlite3.c:217108:26 */ type Fts5IndexIter1 = struct { FiRowid I64 FpData uintptr FnData int32 FbEof U8 F__ccgo_pad1 [3]byte -} /* sqlite3.c:216813:9 */ +} /* sqlite3.c:216870:9 */ -type Fts5IndexIter = Fts5IndexIter1 /* sqlite3.c:217052:30 */ +type Fts5IndexIter = Fts5IndexIter1 /* sqlite3.c:217109:30 */ // // End of interface to code in fts5_varint.c. @@ -175448,7 +175479,7 @@ type Fts5Table1 = struct { Fbase Sqlite3_vtab FpConfig uintptr FpIndex uintptr -} /* sqlite3.c:217254:9 */ +} /* sqlite3.c:217311:9 */ // // End of interface to code in fts5_varint.c. @@ -175459,7 +175490,7 @@ type Fts5Table1 = struct { // Interface to code in fts5_main.c. // Virtual-table object. -type Fts5Table = Fts5Table1 /* sqlite3.c:217254:26 */ +type Fts5Table = Fts5Table1 /* sqlite3.c:217311:26 */ // // End of interface to code in fts5.c. @@ -175476,7 +175507,7 @@ type Fts5Hash1 = struct { FnSlot int32 FpScan uintptr FaSlot uintptr -} /* sqlite3.c:216813:9 */ +} /* sqlite3.c:216870:9 */ // // End of interface to code in fts5.c. @@ -175485,7 +175516,7 @@ type Fts5Hash1 = struct { // ************************************************************************* // // Interface to code in fts5_hash.c. -type Fts5Hash = Fts5Hash1 /* sqlite3.c:217280:25 */ +type Fts5Hash = Fts5Hash1 /* sqlite3.c:217337:25 */ // // End of interface to code in fts5_hash.c. @@ -175504,7 +175535,7 @@ type Fts5Storage1 = struct { FnTotalRow I64 FaTotalSize uintptr FaStmt [11]uintptr -} /* sqlite3.c:217336:9 */ +} /* sqlite3.c:217393:9 */ // // End of interface to code in fts5_hash.c. @@ -175515,7 +175546,7 @@ type Fts5Storage1 = struct { // Interface to code in fts5_storage.c. fts5_storage.c contains contains // code to access the data stored in the %_content and %_docsize tables. -type Fts5Storage = Fts5Storage1 /* sqlite3.c:217336:28 */ +type Fts5Storage = Fts5Storage1 /* sqlite3.c:217393:28 */ // // End of interface to code in fts5_storage.c. @@ -175531,7 +175562,7 @@ type Fts5Expr1 = struct { FbDesc int32 FnPhrase int32 FapExprPhrase uintptr -} /* sqlite3.c:216813:9 */ +} /* sqlite3.c:216870:9 */ // // End of interface to code in fts5_storage.c. @@ -175540,7 +175571,7 @@ type Fts5Expr1 = struct { // ************************************************************************* // // Interface to code in fts5_expr.c. -type Fts5Expr = Fts5Expr1 /* sqlite3.c:217379:25 */ +type Fts5Expr = Fts5Expr1 /* sqlite3.c:217436:25 */ type Fts5ExprNode1 = struct { FeType int32 FbEof int32 @@ -175552,9 +175583,9 @@ type Fts5ExprNode1 = struct { FnChild int32 F__ccgo_pad2 [4]byte FapChild [1]uintptr -} /* sqlite3.c:216813:9 */ +} /* sqlite3.c:216870:9 */ -type Fts5ExprNode = Fts5ExprNode1 /* sqlite3.c:217380:29 */ +type Fts5ExprNode = Fts5ExprNode1 /* sqlite3.c:217437:29 */ type Fts5Parse1 = struct { FpConfig uintptr FzErr uintptr @@ -175564,25 +175595,25 @@ type Fts5Parse1 = struct { FpExpr uintptr FbPhraseToAnd int32 F__ccgo_pad1 [4]byte -} /* sqlite3.c:217381:9 */ +} /* sqlite3.c:217438:9 */ -type Fts5Parse = Fts5Parse1 /* sqlite3.c:217381:26 */ +type Fts5Parse = Fts5Parse1 /* sqlite3.c:217438:26 */ type Fts5Token1 = struct { Fp uintptr Fn int32 F__ccgo_pad1 [4]byte -} /* sqlite3.c:217382:9 */ +} /* sqlite3.c:217439:9 */ -type Fts5Token = Fts5Token1 /* sqlite3.c:217382:26 */ +type Fts5Token = Fts5Token1 /* sqlite3.c:217439:26 */ type Fts5ExprPhrase1 = struct { FpNode uintptr Fposlist Fts5Buffer FnTerm int32 F__ccgo_pad1 [4]byte FaTerm [1]Fts5ExprTerm -} /* sqlite3.c:216813:9 */ +} /* sqlite3.c:216870:9 */ -type Fts5ExprPhrase = Fts5ExprPhrase1 /* sqlite3.c:217383:31 */ +type Fts5ExprPhrase = Fts5ExprPhrase1 /* sqlite3.c:217440:31 */ type Fts5ExprNearset1 = struct { FnNear int32 F__ccgo_pad1 [4]byte @@ -175590,17 +175621,17 @@ type Fts5ExprNearset1 = struct { FnPhrase int32 F__ccgo_pad2 [4]byte FapPhrase [1]uintptr -} /* sqlite3.c:216813:9 */ +} /* sqlite3.c:216870:9 */ -type Fts5ExprNearset = Fts5ExprNearset1 /* sqlite3.c:217384:32 */ +type Fts5ExprNearset = Fts5ExprNearset1 /* sqlite3.c:217441:32 */ type Fts5PoslistPopulator1 = struct { Fwriter Fts5PoslistWriter FbOk int32 FbMiss int32 -} /* sqlite3.c:217432:9 */ +} /* sqlite3.c:217489:9 */ -type Fts5PoslistPopulator = Fts5PoslistPopulator1 /* sqlite3.c:217432:37 */ +type Fts5PoslistPopulator = Fts5PoslistPopulator1 /* sqlite3.c:217489:37 */ // // End of interface to code in fts5_unicode2.c. // @@ -175705,7 +175736,7 @@ type Fts5YYMINORTYPE = struct { F__ccgo_pad1 [0]uint64 Ffts5yyinit int32 F__ccgo_pad2 [12]byte -} /* sqlite3.c:217708:3 */ +} /* sqlite3.c:217765:3 */ //************ End control #defines ****************************************** // Define the fts5yytestcase() macro to be a no-op if is not already defined @@ -175778,7 +175809,7 @@ var fts5yy_action = [105]uint8{ /* 80 */ uint8(5), uint8(3), uint8(63), uint8(5), uint8(3), uint8(62), uint8(12), uint8(2), uint8(86), uint8(13), /* 90 */ uint8(9), uint8(30), uint8(10), uint8(10), uint8(54), uint8(57), uint8(75), uint8(78), uint8(78), uint8(53), /* 100 */ uint8(57), uint8(15), uint8(82), uint8(82), uint8(71), -} /* sqlite3.c:217801:31 */ +} /* sqlite3.c:217858:31 */ var fts5yy_lookahead = [121]uint8{ /* 0 */ uint8(16), uint8(17), uint8(18), uint8(19), uint8(20), uint8(22), uint8(22), uint8(24), uint8(24), uint8(17), /* 10 */ uint8(18), uint8(19), uint8(20), uint8(7), uint8(22), uint8(9), uint8(24), uint8(17), uint8(18), uint8(19), @@ -175793,23 +175824,23 @@ var fts5yy_lookahead = [121]uint8{ /* 100 */ uint8(9), uint8(9), uint8(27), uint8(27), uint8(11), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), /* 110 */ uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), /* 120 */ uint8(27), -} /* sqlite3.c:217814:29 */ +} /* sqlite3.c:217871:29 */ var fts5yy_shift_ofst = [35]uint8{ /* 0 */ uint8(44), uint8(44), uint8(44), uint8(44), uint8(44), uint8(44), uint8(51), uint8(77), uint8(43), uint8(12), /* 10 */ uint8(14), uint8(83), uint8(82), uint8(14), uint8(23), uint8(23), uint8(31), uint8(31), uint8(71), uint8(74), /* 20 */ uint8(78), uint8(81), uint8(86), uint8(91), uint8(6), uint8(53), uint8(53), uint8(60), uint8(64), uint8(68), /* 30 */ uint8(53), uint8(87), uint8(92), uint8(53), uint8(93), -} /* sqlite3.c:217832:28 */ +} /* sqlite3.c:217889:28 */ var fts5yy_reduce_ofst = [18]int8{ /* 0 */ int8(-16), int8(-8), int8(0), int8(9), int8(17), int8(25), int8(46), int8(-17), int8(-17), int8(37), /* 10 */ int8(67), int8(4), int8(4), int8(8), int8(4), int8(20), int8(27), int8(38), -} /* sqlite3.c:217841:26 */ +} /* sqlite3.c:217898:26 */ var fts5yy_default = [35]uint8{ /* 0 */ uint8(80), uint8(80), uint8(80), uint8(80), uint8(80), uint8(80), uint8(95), uint8(80), uint8(80), uint8(105), /* 10 */ uint8(80), uint8(110), uint8(110), uint8(80), uint8(110), uint8(110), uint8(80), uint8(80), uint8(80), uint8(80), /* 20 */ uint8(80), uint8(91), uint8(80), uint8(80), uint8(80), uint8(101), uint8(100), uint8(80), uint8(80), uint8(90), /* 30 */ uint8(103), uint8(80), uint8(80), uint8(104), uint8(80), -} /* sqlite3.c:217845:31 */ +} /* sqlite3.c:217902:31 */ //********* End of lemon-generated parsing tables **************************** // The next table maps tokens (terminal symbols) into fallback tokens. @@ -175846,9 +175877,9 @@ type fts5yyStackEntry = struct { Fmajor uint8 F__ccgo_pad1 [6]byte Fminor Fts5YYMINORTYPE -} /* sqlite3.c:217888:1 */ +} /* sqlite3.c:217945:1 */ -type Fts5yyStackEntry = fts5yyStackEntry /* sqlite3.c:217895:33 */ +type Fts5yyStackEntry = fts5yyStackEntry /* sqlite3.c:217952:33 */ // The state of the parser is completely contained in an instance of // the following structure @@ -175857,9 +175888,9 @@ type fts5yyParser = struct { FpParse uintptr Ffts5yystack [100]Fts5yyStackEntry Ffts5yystackEnd uintptr -} /* sqlite3.c:217899:1 */ +} /* sqlite3.c:217956:1 */ -type Fts5yyParser = fts5yyParser /* sqlite3.c:217918:29 */ +type Fts5yyParser = fts5yyParser /* sqlite3.c:217975:29 */ // #include @@ -175869,7 +175900,7 @@ type Fts5yyParser = fts5yyParser /* sqlite3.c:217918:29 */ // grammar. // Initialize a new parser that has already been allocated. -func sqlite3Fts5ParserInit(tls *libc.TLS, fts5yypRawParser uintptr) { /* sqlite3.c:218067:13: */ +func sqlite3Fts5ParserInit(tls *libc.TLS, fts5yypRawParser uintptr) { /* sqlite3.c:218124:13: */ var fts5yypParser uintptr = fts5yypRawParser (*Fts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yytos = fts5yypParser + 16 /* &.fts5yystack */ @@ -175888,7 +175919,7 @@ func sqlite3Fts5ParserInit(tls *libc.TLS, fts5yypRawParser uintptr) { /* sqlite3 // Outputs: // A pointer to a parser. This pointer is used in subsequent calls // to sqlite3Fts5Parser and sqlite3Fts5ParserFree. -func sqlite3Fts5ParserAlloc(tls *libc.TLS, mallocProc uintptr) uintptr { /* sqlite3.c:218106:13: */ +func sqlite3Fts5ParserAlloc(tls *libc.TLS, mallocProc uintptr) uintptr { /* sqlite3.c:218163:13: */ var fts5yypParser uintptr fts5yypParser = (*struct{ f func(*libc.TLS, U64) uintptr })(unsafe.Pointer(&struct{ uintptr }{mallocProc})).f(tls, U64(unsafe.Sizeof(Fts5yyParser{}))) if fts5yypParser != 0 { @@ -175904,7 +175935,7 @@ func sqlite3Fts5ParserAlloc(tls *libc.TLS, mallocProc uintptr) uintptr { /* sqli // a pointer to the value to be deleted. The code used to do the // deletions is derived from the %destructor and/or %token_destructor // directives of the input grammar. -func fts5yy_destructor(tls *libc.TLS, fts5yypParser uintptr, fts5yymajor uint8, fts5yypminor uintptr) { /* sqlite3.c:218125:13: */ +func fts5yy_destructor(tls *libc.TLS, fts5yypParser uintptr, fts5yymajor uint8, fts5yypminor uintptr) { /* sqlite3.c:218182:13: */ var pParse uintptr = (*Fts5yyParser)(unsafe.Pointer(fts5yypParser)).FpParse _ = pParse @@ -175962,7 +175993,7 @@ func fts5yy_destructor(tls *libc.TLS, fts5yypParser uintptr, fts5yymajor uint8, // // If there is a destructor routine associated with the token which // is popped from the stack, then call it. -func fts5yy_pop_parser_stack(tls *libc.TLS, pParser uintptr) { /* sqlite3.c:218184:13: */ +func fts5yy_pop_parser_stack(tls *libc.TLS, pParser uintptr) { /* sqlite3.c:218241:13: */ var fts5yytos uintptr fts5yytos = libc.PostDecUintptr(&(*Fts5yyParser)(unsafe.Pointer(pParser)).Ffts5yytos, 24) @@ -175970,7 +176001,7 @@ func fts5yy_pop_parser_stack(tls *libc.TLS, pParser uintptr) { /* sqlite3.c:2181 } // Clear all secondary memory allocations from the parser -func sqlite3Fts5ParserFinalize(tls *libc.TLS, p uintptr) { /* sqlite3.c:218202:13: */ +func sqlite3Fts5ParserFinalize(tls *libc.TLS, p uintptr) { /* sqlite3.c:218259:13: */ var pParser uintptr = p for (*Fts5yyParser)(unsafe.Pointer(pParser)).Ffts5yytos > pParser+16 { fts5yy_pop_parser_stack(tls, pParser) @@ -175983,7 +176014,7 @@ func sqlite3Fts5ParserFinalize(tls *libc.TLS, p uintptr) { /* sqlite3.c:218202:1 // If the fts5YYPARSEFREENEVERNULL macro exists (for example because it // 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) { /* sqlite3.c:218219:13: */ +func sqlite3Fts5ParserFree(tls *libc.TLS, p uintptr, freeProc uintptr) { /* sqlite3.c:218276:13: */ if p == uintptr(0) { return } @@ -176007,7 +176038,7 @@ func sqlite3Fts5ParserFree(tls *libc.TLS, p uintptr, freeProc uintptr) { /* sqli // Find the appropriate action for a parser given the terminal // look-ahead token iLookAhead. -func fts5yy_find_shift_action(tls *libc.TLS, iLookAhead uint8, stateno uint8) uint8 { /* sqlite3.c:218282:25: */ +func fts5yy_find_shift_action(tls *libc.TLS, iLookAhead uint8, stateno uint8) uint8 { /* sqlite3.c:218339:25: */ var i int32 if int32(stateno) > Fts5YY_MAX_SHIFT { @@ -176031,7 +176062,7 @@ func fts5yy_find_shift_action(tls *libc.TLS, iLookAhead uint8, stateno uint8) ui // Find the appropriate action for a parser given the non-terminal // look-ahead token iLookAhead. -func fts5yy_find_reduce_action(tls *libc.TLS, stateno uint8, iLookAhead uint8) uint8 { /* sqlite3.c:218347:25: */ +func fts5yy_find_reduce_action(tls *libc.TLS, stateno uint8, iLookAhead uint8) uint8 { /* sqlite3.c:218404:25: */ var i int32 i = int32(fts5yy_reduce_ofst[stateno]) @@ -176042,7 +176073,7 @@ func fts5yy_find_reduce_action(tls *libc.TLS, stateno uint8, iLookAhead uint8) u } // The following routine is called if the stack overflows. -func fts5yyStackOverflow(tls *libc.TLS, fts5yypParser uintptr) { /* sqlite3.c:218376:13: */ +func fts5yyStackOverflow(tls *libc.TLS, fts5yypParser uintptr) { /* sqlite3.c:218433:13: */ var pParse uintptr = (*Fts5yyParser)(unsafe.Pointer(fts5yypParser)).FpParse for (*Fts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yytos > fts5yypParser+16 { @@ -176061,7 +176092,7 @@ func fts5yyStackOverflow(tls *libc.TLS, fts5yypParser uintptr) { /* sqlite3.c:21 // Print tracing information for a SHIFT action // Perform a shift action. -func fts5yy_shift(tls *libc.TLS, fts5yypParser uintptr, fts5yyNewState uint8, fts5yyMajor uint8, fts5yyMinor Fts5Token) { /* sqlite3.c:218419:13: */ +func fts5yy_shift(tls *libc.TLS, fts5yypParser uintptr, fts5yyNewState uint8, fts5yyMajor uint8, fts5yyMinor Fts5Token) { /* sqlite3.c:218476:13: */ var fts5yytos uintptr (*Fts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yytos += 24 if (*Fts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yytos > (*Fts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yystackEnd { @@ -176110,7 +176141,7 @@ var fts5yyRuleInfoLhs = [28]uint8{ uint8(24), // (25) phrase ::= STRING star_opt uint8(26), // (26) star_opt ::= STAR uint8(26), // (27) star_opt ::= -} /* sqlite3.c:218460:29 */ +} /* sqlite3.c:218517:29 */ // For rule J, fts5yyRuleInfoNRhs[J] contains the negative of the number // of symbols on the right-hand side of that rule. @@ -176143,7 +176174,7 @@ var fts5yyRuleInfoNRhs = [28]int8{ int8(-2), // (25) phrase ::= STRING star_opt int8(-1), // (26) star_opt ::= STAR int8(0), // (27) star_opt ::= -} /* sqlite3.c:218493:26 */ +} /* sqlite3.c:218550:26 */ // Forward Declaration @@ -176155,7 +176186,7 @@ var fts5yyRuleInfoNRhs = [28]int8{ // if the lookahead token has already been consumed. As this procedure is // only called from one place, optimizing compilers will in-line it, which // means that the extra parameters have no performance impact. -func fts5yy_reduce(tls *libc.TLS, fts5yypParser uintptr, fts5yyruleno uint32, fts5yyLookahead int32, fts5yyLookaheadToken Fts5Token) uint8 { /* sqlite3.c:218536:25: */ +func fts5yy_reduce(tls *libc.TLS, fts5yypParser uintptr, fts5yyruleno uint32, fts5yyLookahead int32, fts5yyLookaheadToken Fts5Token) uint8 { /* sqlite3.c:218593:25: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -176365,7 +176396,7 @@ func fts5yy_reduce(tls *libc.TLS, fts5yypParser uintptr, fts5yyruleno uint32, ft // The following code executes when the parse fails // The following code executes when a syntax error first occurs. -func fts5yy_syntax_error(tls *libc.TLS, fts5yypParser uintptr, fts5yymajor int32, fts5yyminor Fts5Token) { /* sqlite3.c:218754:13: */ +func fts5yy_syntax_error(tls *libc.TLS, fts5yypParser uintptr, fts5yymajor int32, fts5yyminor Fts5Token) { /* sqlite3.c:218811:13: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -176382,7 +176413,7 @@ func fts5yy_syntax_error(tls *libc.TLS, fts5yypParser uintptr, fts5yymajor int32 } // The following is executed when the parser accepts -func fts5yy_accept(tls *libc.TLS, fts5yypParser uintptr) { /* sqlite3.c:218776:13: */ +func fts5yy_accept(tls *libc.TLS, fts5yypParser uintptr) { /* sqlite3.c:218833:13: */ var pParse uintptr = (*Fts5yyParser)(unsafe.Pointer(fts5yypParser)).FpParse // Here code is inserted which will be executed whenever the @@ -176411,7 +176442,7 @@ func fts5yy_accept(tls *libc.TLS, fts5yypParser uintptr) { /* sqlite3.c:218776:1 // // Outputs: // None. -func sqlite3Fts5Parser(tls *libc.TLS, fts5yyp uintptr, fts5yymajor int32, fts5yyminor Fts5Token, pParse uintptr) { /* sqlite3.c:218817:13: */ +func sqlite3Fts5Parser(tls *libc.TLS, fts5yyp uintptr, fts5yymajor int32, fts5yyminor Fts5Token, pParse uintptr) { /* sqlite3.c:218874:13: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -176466,7 +176497,7 @@ func sqlite3Fts5Parser(tls *libc.TLS, fts5yyp uintptr, fts5yymajor int32, fts5yy // Return the fallback token corresponding to canonical token iToken, or // 0 if iToken has no fallback. -func sqlite3Fts5ParserFallback(tls *libc.TLS, iToken int32) int32 { /* sqlite3.c:219034:12: */ +func sqlite3Fts5ParserFallback(tls *libc.TLS, iToken int32) int32 { /* sqlite3.c:219091:12: */ _ = iToken return 0 } @@ -176529,7 +176560,7 @@ type CInstIter1 = struct { FiStart int32 FiEnd int32 F__ccgo_pad1 [4]byte -} /* sqlite3.c:219080:9 */ +} /* sqlite3.c:219137:9 */ // 2014 May 31 // @@ -176580,11 +176611,11 @@ type CInstIter1 = struct { // printf("instance starts at %d, ends at %d\n", iter.iStart, iter.iEnd); // } // -type CInstIter = CInstIter1 /* sqlite3.c:219080:26 */ +type CInstIter = CInstIter1 /* sqlite3.c:219137:26 */ // Advance the iterator to the next coalesced phrase instance. Return // an SQLite error code if an error occurs, or SQLITE_OK otherwise. -func fts5CInstIterNext(tls *libc.TLS, pIter uintptr) int32 { /* sqlite3.c:219097:12: */ +func fts5CInstIterNext(tls *libc.TLS, pIter uintptr) int32 { /* sqlite3.c:219154:12: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -176627,7 +176658,7 @@ func fts5CInstIterNext(tls *libc.TLS, pIter uintptr) int32 { /* sqlite3.c:219097 // Initialize the iterator object indicated by the final parameter to // iterate through coalesced phrase instances in column iCol. -func fts5CInstIterInit(tls *libc.TLS, pApi uintptr, pFts uintptr, iCol int32, pIter uintptr) int32 { /* sqlite3.c:219128:12: */ +func fts5CInstIterInit(tls *libc.TLS, pApi uintptr, pFts uintptr, iCol int32, pIter uintptr) int32 { /* sqlite3.c:219185:12: */ var rc int32 libc.Xmemset(tls, pIter, 0, uint64(unsafe.Sizeof(CInstIter{}))) @@ -176660,12 +176691,12 @@ type HighlightContext1 = struct { FnIn int32 FiOff int32 FzOut uintptr -} /* sqlite3.c:219154:9 */ +} /* sqlite3.c:219211:9 */ // ************************************************************************ // // Start of highlight() implementation. -type HighlightContext = HighlightContext1 /* sqlite3.c:219154:33 */ +type HighlightContext = HighlightContext1 /* sqlite3.c:219211:33 */ // Append text to the HighlightContext output string - p->zOut. Argument // z points to a buffer containing n bytes of text to append. If n is @@ -176674,7 +176705,7 @@ type HighlightContext = HighlightContext1 /* sqlite3.c:219154:33 */ // If *pRc is set to any value other than SQLITE_OK when this function is // called, it is a no-op. If an error (i.e. an OOM condition) is encountered, // *pRc is set to an error code before returning. -func fts5HighlightAppend(tls *libc.TLS, pRc uintptr, p uintptr, z uintptr, n int32) { /* sqlite3.c:219177:13: */ +func fts5HighlightAppend(tls *libc.TLS, pRc uintptr, p uintptr, z uintptr, n int32) { /* sqlite3.c:219234:13: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -176690,7 +176721,7 @@ func fts5HighlightAppend(tls *libc.TLS, pRc uintptr, p uintptr, z uintptr, n int } // Tokenizer callback used by implementation of highlight() function. -func fts5HighlightCb(tls *libc.TLS, pContext uintptr, tflags int32, pToken uintptr, nToken int32, iStartOff int32, iEndOff int32) int32 { /* sqlite3.c:219192:12: */ +func fts5HighlightCb(tls *libc.TLS, pContext uintptr, tflags int32, pToken uintptr, nToken int32, iStartOff int32, iEndOff int32) int32 { /* sqlite3.c:219249:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -176745,7 +176776,7 @@ func fts5HighlightCb(tls *libc.TLS, pContext uintptr, tflags int32, pToken uintp } // Implementation of highlight() function. -func fts5HighlightFunction(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uintptr, nVal int32, apVal uintptr) { /* sqlite3.c:219246:13: */ +func fts5HighlightFunction(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uintptr, nVal int32, apVal uintptr) { /* sqlite3.c:219303:13: */ bp := tls.Alloc(100) defer tls.Free(100) @@ -176805,19 +176836,19 @@ type Fts5SFinder1 = struct { F__ccgo_pad1 [4]byte FaFirst uintptr FzDoc uintptr -} /* sqlite3.c:219295:9 */ +} /* sqlite3.c:219352:9 */ // // End of highlight() implementation. // // Context object passed to the fts5SentenceFinderCb() function. -type Fts5SFinder = Fts5SFinder1 /* sqlite3.c:219295:28 */ +type Fts5SFinder = Fts5SFinder1 /* sqlite3.c:219352:28 */ // Add an entry to the Fts5SFinder.aFirst[] array. Grow the array if // necessary. Return SQLITE_OK if successful, or SQLITE_NOMEM if an // error occurs. -func fts5SentenceFinderAdd(tls *libc.TLS, p uintptr, iAdd int32) int32 { /* sqlite3.c:219309:12: */ +func fts5SentenceFinderAdd(tls *libc.TLS, p uintptr, iAdd int32) int32 { /* sqlite3.c:219366:12: */ if (*Fts5SFinder)(unsafe.Pointer(p)).FnFirstAlloc == (*Fts5SFinder)(unsafe.Pointer(p)).FnFirst { var nNew int32 if (*Fts5SFinder)(unsafe.Pointer(p)).FnFirstAlloc != 0 { @@ -176841,7 +176872,7 @@ func fts5SentenceFinderAdd(tls *libc.TLS, p uintptr, iAdd int32) int32 { /* sqli // This function is an xTokenize() callback used by the auxiliary snippet() // function. Its job is to identify tokens that are the first in a sentence. // For each such token, an entry is added to the SFinder.aFirst[] array. -func fts5SentenceFinderCb(tls *libc.TLS, pContext uintptr, tflags int32, pToken uintptr, nToken int32, iStartOff int32, iEndOff int32) int32 { /* sqlite3.c:219328:12: */ +func fts5SentenceFinderCb(tls *libc.TLS, pContext uintptr, tflags int32, pToken uintptr, nToken int32, iStartOff int32, iEndOff int32) int32 { /* sqlite3.c:219385:12: */ var rc int32 = SQLITE_OK _ = pToken @@ -176870,7 +176901,7 @@ func fts5SentenceFinderCb(tls *libc.TLS, pContext uintptr, tflags int32, pToken return rc } -func fts5SnippetScore(tls *libc.TLS, pApi uintptr, pFts uintptr, nDocsize int32, aSeen uintptr, iCol int32, iPos int32, nToken int32, pnScore uintptr, piPos uintptr) int32 { /* sqlite3.c:219361:12: */ +func fts5SnippetScore(tls *libc.TLS, pApi uintptr, pFts uintptr, nDocsize int32, aSeen uintptr, iCol int32, iPos int32, nToken int32, pnScore uintptr, piPos uintptr) int32 { /* sqlite3.c:219418:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -176928,7 +176959,7 @@ func fts5SnippetScore(tls *libc.TLS, pApi uintptr, pFts uintptr, nDocsize int32, // Return the value in pVal interpreted as utf-8 text. Except, if pVal // contains a NULL value, return a pointer to a static string zero // bytes in length instead of a NULL pointer. -func fts5ValueToText(tls *libc.TLS, pVal uintptr) uintptr { /* sqlite3.c:219410:19: */ +func fts5ValueToText(tls *libc.TLS, pVal uintptr) uintptr { /* sqlite3.c:219467:19: */ var zRet uintptr = Xsqlite3_value_text(tls, pVal) if zRet != 0 { return zRet @@ -176937,7 +176968,7 @@ func fts5ValueToText(tls *libc.TLS, pVal uintptr) uintptr { /* sqlite3.c:219410: } // Implementation of snippet() function. -func fts5SnippetFunction(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uintptr, nVal int32, apVal uintptr) { /* sqlite3.c:219418:13: */ +func fts5SnippetFunction(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uintptr, nVal int32, apVal uintptr) { /* sqlite3.c:219475:13: */ bp := tls.Alloc(172) defer tls.Free(172) @@ -177152,17 +177183,17 @@ type Fts5Bm25Data1 = struct { Favgdl float64 FaIDF uintptr FaFreq uintptr -} /* sqlite3.c:219576:9 */ +} /* sqlite3.c:219633:9 */ //********************************************************************** // The first time the bm25() function is called for a query, an instance // of the following structure is allocated and populated. -type Fts5Bm25Data = Fts5Bm25Data1 /* sqlite3.c:219576:29 */ +type Fts5Bm25Data = Fts5Bm25Data1 /* sqlite3.c:219633:29 */ // Callback used by fts5Bm25GetData() to count the number of rows in the // table matched by each individual phrase within the query. -func fts5CountCb(tls *libc.TLS, pApi uintptr, pFts uintptr, pUserData uintptr) int32 { /* sqlite3.c:219588:12: */ +func fts5CountCb(tls *libc.TLS, pApi uintptr, pFts uintptr, pUserData uintptr) int32 { /* sqlite3.c:219645:12: */ var pn uintptr = pUserData _ = pApi _ = pFts @@ -177173,7 +177204,7 @@ func fts5CountCb(tls *libc.TLS, pApi uintptr, pFts uintptr, pUserData uintptr) i // Set *ppData to point to the Fts5Bm25Data object for the current query. // If the object has not already been allocated, allocate and populate it // now. -func fts5Bm25GetData(tls *libc.TLS, pApi uintptr, pFts uintptr, ppData uintptr) int32 { /* sqlite3.c:219604:12: */ +func fts5Bm25GetData(tls *libc.TLS, pApi uintptr, pFts uintptr, ppData uintptr) int32 { /* sqlite3.c:219661:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -177267,7 +177298,7 @@ func fts5Bm25GetData(tls *libc.TLS, pApi uintptr, pFts uintptr, ppData uintptr) } // Implementation of bm25() function. -func fts5Bm25Function(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uintptr, nVal int32, apVal uintptr) { /* sqlite3.c:219677:13: */ +func fts5Bm25Function(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uintptr, nVal int32, apVal uintptr) { /* sqlite3.c:219734:13: */ bp := tls.Alloc(28) defer tls.Free(28) @@ -177335,7 +177366,7 @@ func fts5Bm25Function(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uintptr, n } } -func sqlite3Fts5AuxInit(tls *libc.TLS, pApi uintptr) int32 { /* sqlite3.c:219733:12: */ +func sqlite3Fts5AuxInit(tls *libc.TLS, pApi uintptr) int32 { /* sqlite3.c:219790:12: */ bp := tls.Alloc(96) defer tls.Free(96) @@ -177371,7 +177402,7 @@ type Builtin = struct { FpUserData uintptr FxFunc Fts5_extension_function FxDestroy uintptr -} /* sqlite3.c:219734:3 */ +} /* sqlite3.c:219791:3 */ // 2014 May 31 // @@ -177386,7 +177417,7 @@ type Builtin = struct { // #include "fts5Int.h" -func sqlite3Fts5BufferSize(tls *libc.TLS, pRc uintptr, pBuf uintptr, nByte U32) int32 { /* sqlite3.c:219776:12: */ +func sqlite3Fts5BufferSize(tls *libc.TLS, pRc uintptr, pBuf uintptr, nByte U32) int32 { /* sqlite3.c:219833:12: */ if U32((*Fts5Buffer)(unsafe.Pointer(pBuf)).FnSpace) < nByte { var nNew U64 if (*Fts5Buffer)(unsafe.Pointer(pBuf)).FnSpace != 0 { @@ -177412,7 +177443,7 @@ func sqlite3Fts5BufferSize(tls *libc.TLS, pRc uintptr, pBuf uintptr, nByte U32) // Encode value iVal as an SQLite varint and append it to the buffer object // pBuf. If an OOM error occurs, set the error code in p. -func sqlite3Fts5BufferAppendVarint(tls *libc.TLS, pRc uintptr, pBuf uintptr, iVal I64) { /* sqlite3.c:219800:13: */ +func sqlite3Fts5BufferAppendVarint(tls *libc.TLS, pRc uintptr, pBuf uintptr, iVal I64) { /* sqlite3.c:219857:13: */ if func() int32 { if U32((*Fts5Buffer)(unsafe.Pointer(pBuf)).Fn)+U32(9) <= U32((*Fts5Buffer)(unsafe.Pointer(pBuf)).FnSpace) { return 0 @@ -177424,21 +177455,21 @@ func sqlite3Fts5BufferAppendVarint(tls *libc.TLS, pRc uintptr, pBuf uintptr, iVa *(*int32)(unsafe.Pointer(pBuf + 8)) += sqlite3Fts5PutVarint(tls, (*Fts5Buffer)(unsafe.Pointer(pBuf)).Fp+uintptr((*Fts5Buffer)(unsafe.Pointer(pBuf)).Fn), uint64(iVal)) } -func sqlite3Fts5Put32(tls *libc.TLS, aBuf uintptr, iVal int32) { /* sqlite3.c:219805:13: */ +func sqlite3Fts5Put32(tls *libc.TLS, aBuf uintptr, iVal int32) { /* sqlite3.c:219862:13: */ *(*U8)(unsafe.Pointer(aBuf)) = U8(iVal >> 24 & 0x00FF) *(*U8)(unsafe.Pointer(aBuf + 1)) = U8(iVal >> 16 & 0x00FF) *(*U8)(unsafe.Pointer(aBuf + 2)) = U8(iVal >> 8 & 0x00FF) *(*U8)(unsafe.Pointer(aBuf + 3)) = U8(iVal >> 0 & 0x00FF) } -func sqlite3Fts5Get32(tls *libc.TLS, aBuf uintptr) int32 { /* sqlite3.c:219812:12: */ +func sqlite3Fts5Get32(tls *libc.TLS, aBuf uintptr) int32 { /* sqlite3.c:219869:12: */ return int32(U32(*(*U8)(unsafe.Pointer(aBuf)))<<24 + U32(int32(*(*U8)(unsafe.Pointer(aBuf + 1)))<<16) + U32(int32(*(*U8)(unsafe.Pointer(aBuf + 2)))<<8) + U32(*(*U8)(unsafe.Pointer(aBuf + 3)))) } // Append buffer nData/pData to buffer pBuf. If an OOM error occurs, set // the error code in p. If an error has already occurred when this function // is called, it is a no-op. -func sqlite3Fts5BufferAppendBlob(tls *libc.TLS, pRc uintptr, pBuf uintptr, nData U32, pData uintptr) { /* sqlite3.c:219821:13: */ +func sqlite3Fts5BufferAppendBlob(tls *libc.TLS, pRc uintptr, pBuf uintptr, nData U32, pData uintptr) { /* sqlite3.c:219878:13: */ if nData != 0 { if func() int32 { if U32((*Fts5Buffer)(unsafe.Pointer(pBuf)).Fn)+nData <= U32((*Fts5Buffer)(unsafe.Pointer(pBuf)).FnSpace) { @@ -177456,7 +177487,7 @@ func sqlite3Fts5BufferAppendBlob(tls *libc.TLS, pRc uintptr, pBuf uintptr, nData // Append the nul-terminated string zStr to the buffer pBuf. This function // ensures that the byte following the buffer data is set to 0x00, even // though this byte is not included in the pBuf->n count. -func sqlite3Fts5BufferAppendString(tls *libc.TLS, pRc uintptr, pBuf uintptr, zStr uintptr) { /* sqlite3.c:219839:13: */ +func sqlite3Fts5BufferAppendString(tls *libc.TLS, pRc uintptr, pBuf uintptr, zStr uintptr) { /* sqlite3.c:219896:13: */ var nStr int32 = int32(libc.Xstrlen(tls, zStr)) sqlite3Fts5BufferAppendBlob(tls, pRc, pBuf, uint32(nStr+1), zStr) (*Fts5Buffer)(unsafe.Pointer(pBuf)).Fn-- @@ -177468,7 +177499,7 @@ func sqlite3Fts5BufferAppendString(tls *libc.TLS, pRc uintptr, pBuf uintptr, zSt // Like sqlite3Fts5BufferAppendString(), this function ensures that the byte // following the buffer data is set to 0x00, even though this byte is not // included in the pBuf->n count. -func sqlite3Fts5BufferAppendPrintf(tls *libc.TLS, pRc uintptr, pBuf uintptr, zFmt uintptr, va uintptr) { /* sqlite3.c:219857:13: */ +func sqlite3Fts5BufferAppendPrintf(tls *libc.TLS, pRc uintptr, pBuf uintptr, zFmt uintptr, va uintptr) { /* sqlite3.c:219914:13: */ if *(*int32)(unsafe.Pointer(pRc)) == SQLITE_OK { var zTmp uintptr var ap Va_list @@ -177486,7 +177517,7 @@ func sqlite3Fts5BufferAppendPrintf(tls *libc.TLS, pRc uintptr, pBuf uintptr, zFm } } -func sqlite3Fts5Mprintf(tls *libc.TLS, pRc uintptr, zFmt uintptr, va uintptr) uintptr { /* sqlite3.c:219878:13: */ +func sqlite3Fts5Mprintf(tls *libc.TLS, pRc uintptr, zFmt uintptr, va uintptr) uintptr { /* sqlite3.c:219935:13: */ var zRet uintptr = uintptr(0) if *(*int32)(unsafe.Pointer(pRc)) == SQLITE_OK { var ap Va_list @@ -177502,26 +177533,26 @@ func sqlite3Fts5Mprintf(tls *libc.TLS, pRc uintptr, zFmt uintptr, va uintptr) ui } // Free any buffer allocated by pBuf. Zero the structure before returning. -func sqlite3Fts5BufferFree(tls *libc.TLS, pBuf uintptr) { /* sqlite3.c:219896:13: */ +func sqlite3Fts5BufferFree(tls *libc.TLS, pBuf uintptr) { /* sqlite3.c:219953:13: */ Xsqlite3_free(tls, (*Fts5Buffer)(unsafe.Pointer(pBuf)).Fp) libc.Xmemset(tls, pBuf, 0, uint64(unsafe.Sizeof(Fts5Buffer{}))) } // Zero the contents of the buffer object. But do not free the associated // memory allocation. -func sqlite3Fts5BufferZero(tls *libc.TLS, pBuf uintptr) { /* sqlite3.c:219905:13: */ +func sqlite3Fts5BufferZero(tls *libc.TLS, pBuf uintptr) { /* sqlite3.c:219962:13: */ (*Fts5Buffer)(unsafe.Pointer(pBuf)).Fn = 0 } // Set the buffer to contain nData/pData. If an OOM error occurs, leave an // the error code in p. If an error has already occurred when this function // is called, it is a no-op. -func sqlite3Fts5BufferSet(tls *libc.TLS, pRc uintptr, pBuf uintptr, nData int32, pData uintptr) { /* sqlite3.c:219914:13: */ +func sqlite3Fts5BufferSet(tls *libc.TLS, pRc uintptr, pBuf uintptr, nData int32, pData uintptr) { /* sqlite3.c:219971:13: */ (*Fts5Buffer)(unsafe.Pointer(pBuf)).Fn = 0 sqlite3Fts5BufferAppendBlob(tls, pRc, pBuf, uint32(nData), pData) } -func sqlite3Fts5PoslistNext64(tls *libc.TLS, a uintptr, n int32, pi uintptr, piOff uintptr) int32 { /* sqlite3.c:219924:12: */ +func sqlite3Fts5PoslistNext64(tls *libc.TLS, a uintptr, n int32, pi uintptr, piOff uintptr) int32 { /* sqlite3.c:219981:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -177583,14 +177614,14 @@ func sqlite3Fts5PoslistNext64(tls *libc.TLS, a uintptr, n int32, pi uintptr, piO // Advance the iterator object passed as the only argument. Return true // if the iterator reaches EOF, or false otherwise. -func sqlite3Fts5PoslistReaderNext(tls *libc.TLS, pIter uintptr) int32 { /* sqlite3.c:219967:12: */ +func sqlite3Fts5PoslistReaderNext(tls *libc.TLS, pIter uintptr) int32 { /* sqlite3.c:220024:12: */ if sqlite3Fts5PoslistNext64(tls, (*Fts5PoslistReader)(unsafe.Pointer(pIter)).Fa, (*Fts5PoslistReader)(unsafe.Pointer(pIter)).Fn, pIter+12, pIter+24) != 0 { (*Fts5PoslistReader)(unsafe.Pointer(pIter)).FbEof = U8(1) } return int32((*Fts5PoslistReader)(unsafe.Pointer(pIter)).FbEof) } -func sqlite3Fts5PoslistReaderInit(tls *libc.TLS, a uintptr, n int32, pIter uintptr) int32 { /* sqlite3.c:219974:12: */ +func sqlite3Fts5PoslistReaderInit(tls *libc.TLS, a uintptr, n int32, pIter uintptr) int32 { /* sqlite3.c:220031:12: */ libc.Xmemset(tls, pIter, 0, uint64(unsafe.Sizeof(Fts5PoslistReader{}))) (*Fts5PoslistReader)(unsafe.Pointer(pIter)).Fa = a (*Fts5PoslistReader)(unsafe.Pointer(pIter)).Fn = n @@ -177602,7 +177633,7 @@ func sqlite3Fts5PoslistReaderInit(tls *libc.TLS, a uintptr, n int32, pIter uintp // pBuf, which must be already be large enough to hold the new data. // The previous position written to this list is *piPrev. *piPrev is set // to iPos before returning. -func sqlite3Fts5PoslistSafeAppend(tls *libc.TLS, pBuf uintptr, piPrev uintptr, iPos I64) { /* sqlite3.c:219991:13: */ +func sqlite3Fts5PoslistSafeAppend(tls *libc.TLS, pBuf uintptr, piPrev uintptr, iPos I64) { /* sqlite3.c:220048:13: */ if iPos >= *(*I64)(unsafe.Pointer(piPrev)) { if iPos&colmask != *(*I64)(unsafe.Pointer(piPrev))&colmask { *(*U8)(unsafe.Pointer((*Fts5Buffer)(unsafe.Pointer(pBuf)).Fp + uintptr(libc.PostIncInt32(&(*Fts5Buffer)(unsafe.Pointer(pBuf)).Fn, 1)))) = U8(1) @@ -177614,9 +177645,9 @@ func sqlite3Fts5PoslistSafeAppend(tls *libc.TLS, pBuf uintptr, piPrev uintptr, i } } -var colmask I64 = I64(int64(0x7FFFFFFF)) << 32 /* sqlite3.c:219997:22 */ +var colmask I64 = I64(int64(0x7FFFFFFF)) << 32 /* sqlite3.c:220054:22 */ -func sqlite3Fts5PoslistWriterAppend(tls *libc.TLS, pBuf uintptr, pWriter uintptr, iPos I64) int32 { /* sqlite3.c:220008:12: */ +func sqlite3Fts5PoslistWriterAppend(tls *libc.TLS, pBuf uintptr, pWriter uintptr, iPos I64) int32 { /* sqlite3.c:220065:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -177633,7 +177664,7 @@ func sqlite3Fts5PoslistWriterAppend(tls *libc.TLS, pBuf uintptr, pWriter uintptr return SQLITE_OK } -func sqlite3Fts5MallocZero(tls *libc.TLS, pRc uintptr, nByte Sqlite3_int64) uintptr { /* sqlite3.c:220019:13: */ +func sqlite3Fts5MallocZero(tls *libc.TLS, pRc uintptr, nByte Sqlite3_int64) uintptr { /* sqlite3.c:220076:13: */ var pRet uintptr = uintptr(0) if *(*int32)(unsafe.Pointer(pRc)) == SQLITE_OK { pRet = Xsqlite3_malloc64(tls, uint64(nByte)) @@ -177654,7 +177685,7 @@ func sqlite3Fts5MallocZero(tls *libc.TLS, pRc uintptr, nByte Sqlite3_int64) uint // // It is the responsibility of the caller to eventually free the returned // buffer using sqlite3_free(). If an OOM error occurs, NULL is returned. -func sqlite3Fts5Strndup(tls *libc.TLS, pRc uintptr, pIn uintptr, nIn int32) uintptr { /* sqlite3.c:220040:13: */ +func sqlite3Fts5Strndup(tls *libc.TLS, pRc uintptr, pIn uintptr, nIn int32) uintptr { /* sqlite3.c:220097:13: */ var zRet uintptr = uintptr(0) if *(*int32)(unsafe.Pointer(pRc)) == SQLITE_OK { if nIn < 0 { @@ -177679,7 +177710,7 @@ func sqlite3Fts5Strndup(tls *libc.TLS, pRc uintptr, pIn uintptr, nIn int32) uint // * The 10 integer ASCII characters. // * The underscore character "_" (0x5F). // * The unicode "subsitute" character (0x1A). -func sqlite3Fts5IsBareword(tls *libc.TLS, t uint8) int32 { /* sqlite3.c:220068:12: */ +func sqlite3Fts5IsBareword(tls *libc.TLS, t uint8) int32 { /* sqlite3.c:220125:12: */ bp := tls.Alloc(128) defer tls.Free(128) @@ -177704,13 +177735,13 @@ type Fts5TermsetEntry1 = struct { FnTerm int32 FiIdx int32 FpNext uintptr -} /* sqlite3.c:217037:9 */ +} /* sqlite3.c:217094:9 */ // ************************************************************************ // -type Fts5TermsetEntry = Fts5TermsetEntry1 /* sqlite3.c:220086:33 */ +type Fts5TermsetEntry = Fts5TermsetEntry1 /* sqlite3.c:220143:33 */ -func sqlite3Fts5TermsetNew(tls *libc.TLS, pp uintptr) int32 { /* sqlite3.c:220098:12: */ +func sqlite3Fts5TermsetNew(tls *libc.TLS, pp uintptr) int32 { /* sqlite3.c:220155:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -177719,7 +177750,7 @@ func sqlite3Fts5TermsetNew(tls *libc.TLS, pp uintptr) int32 { /* sqlite3.c:22009 return *(*int32)(unsafe.Pointer(bp /* rc */)) } -func sqlite3Fts5TermsetAdd(tls *libc.TLS, p uintptr, iIdx int32, pTerm uintptr, nTerm int32, pbPresent uintptr) int32 { /* sqlite3.c:220104:12: */ +func sqlite3Fts5TermsetAdd(tls *libc.TLS, p uintptr, iIdx int32, pTerm uintptr, nTerm int32, pbPresent uintptr) int32 { /* sqlite3.c:220161:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -177765,7 +177796,7 @@ func sqlite3Fts5TermsetAdd(tls *libc.TLS, p uintptr, iIdx int32, pTerm uintptr, return *(*int32)(unsafe.Pointer(bp /* rc */)) } -func sqlite3Fts5TermsetFree(tls *libc.TLS, p uintptr) { /* sqlite3.c:220153:13: */ +func sqlite3Fts5TermsetFree(tls *libc.TLS, p uintptr) { /* sqlite3.c:220210:13: */ if p != 0 { var i U32 for i = U32(0); i < U32(int32(uint64(unsafe.Sizeof([512]uintptr{}))/uint64(unsafe.Sizeof(uintptr(0))))); i++ { @@ -177797,18 +177828,18 @@ func sqlite3Fts5TermsetFree(tls *libc.TLS, p uintptr) { /* sqlite3.c:220153:13: // Maximum allowed page size -func fts5_iswhitespace(tls *libc.TLS, x uint8) int32 { /* sqlite3.c:220195:12: */ +func fts5_iswhitespace(tls *libc.TLS, x uint8) int32 { /* sqlite3.c:220252:12: */ return libc.Bool32(int32(x) == ' ') } -func fts5_isopenquote(tls *libc.TLS, x uint8) int32 { /* sqlite3.c:220199:12: */ +func fts5_isopenquote(tls *libc.TLS, x uint8) int32 { /* sqlite3.c:220256:12: */ return libc.Bool32(int32(x) == '"' || int32(x) == '\'' || int32(x) == '[' || int32(x) == '`') } // Argument pIn points to a character that is part of a nul-terminated // string. Return a pointer to the first character following *pIn in // the string that is not a white-space character. -func fts5ConfigSkipWhitespace(tls *libc.TLS, pIn uintptr) uintptr { /* sqlite3.c:220208:19: */ +func fts5ConfigSkipWhitespace(tls *libc.TLS, pIn uintptr) uintptr { /* sqlite3.c:220265:19: */ var p uintptr = pIn if p != 0 { for fts5_iswhitespace(tls, *(*uint8)(unsafe.Pointer(p))) != 0 { @@ -177821,7 +177852,7 @@ func fts5ConfigSkipWhitespace(tls *libc.TLS, pIn uintptr) uintptr { /* sqlite3.c // Argument pIn points to a character that is part of a nul-terminated // string. Return a pointer to the first character following *pIn in // the string that is not a "bareword" character. -func fts5ConfigSkipBareword(tls *libc.TLS, pIn uintptr) uintptr { /* sqlite3.c:220221:19: */ +func fts5ConfigSkipBareword(tls *libc.TLS, pIn uintptr) uintptr { /* sqlite3.c:220278:19: */ var p uintptr = pIn for sqlite3Fts5IsBareword(tls, *(*uint8)(unsafe.Pointer(p))) != 0 { p++ @@ -177832,11 +177863,11 @@ func fts5ConfigSkipBareword(tls *libc.TLS, pIn uintptr) uintptr { /* sqlite3.c:2 return p } -func fts5_isdigit(tls *libc.TLS, a uint8) int32 { /* sqlite3.c:220228:12: */ +func fts5_isdigit(tls *libc.TLS, a uint8) int32 { /* sqlite3.c:220285:12: */ return libc.Bool32(int32(a) >= '0' && int32(a) <= '9') } -func fts5ConfigSkipLiteral(tls *libc.TLS, pIn uintptr) uintptr { /* sqlite3.c:220234:19: */ +func fts5ConfigSkipLiteral(tls *libc.TLS, pIn uintptr) uintptr { /* sqlite3.c:220291:19: */ var p uintptr = pIn switch int32(*(*uint8)(unsafe.Pointer(p))) { case 'n': @@ -177925,7 +177956,7 @@ func fts5ConfigSkipLiteral(tls *libc.TLS, pIn uintptr) uintptr { /* sqlite3.c:22 // the character immediately following it. Or, if the close-quote is not // found, -1 is returned. If -1 is returned, the buffer is left in an // undefined state. -func fts5Dequote(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:220310:12: */ +func fts5Dequote(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:220367:12: */ var q uint8 var iIn int32 = 1 var iOut int32 = 0 @@ -177970,7 +178001,7 @@ func fts5Dequote(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:220310:12: */ // 'xyz' becomes xyz // [pqr] becomes pqr // `mno` becomes mno -func sqlite3Fts5Dequote(tls *libc.TLS, z uintptr) { /* sqlite3.c:220355:13: */ +func sqlite3Fts5Dequote(tls *libc.TLS, z uintptr) { /* sqlite3.c:220412:13: */ var quote uint8 // Quote character (if any ) quote = *(*uint8)(unsafe.Pointer(z)) @@ -177983,11 +178014,11 @@ type Fts5Enum1 = struct { FzName uintptr FeVal int32 F__ccgo_pad1 [4]byte -} /* sqlite3.c:220366:1 */ +} /* sqlite3.c:220423:1 */ -type Fts5Enum = Fts5Enum1 /* sqlite3.c:220370:25 */ +type Fts5Enum = Fts5Enum1 /* sqlite3.c:220427:25 */ -func fts5ConfigSetEnum(tls *libc.TLS, aEnum uintptr, zEnum uintptr, peVal uintptr) int32 { /* sqlite3.c:220372:12: */ +func fts5ConfigSetEnum(tls *libc.TLS, aEnum uintptr, zEnum uintptr, peVal uintptr) int32 { /* sqlite3.c:220429:12: */ var nEnum int32 = int32(libc.Xstrlen(tls, zEnum)) var i int32 var iVal int32 = -1 @@ -178015,7 +178046,7 @@ func fts5ConfigSetEnum(tls *libc.TLS, aEnum uintptr, zEnum uintptr, peVal uintpt // an error occurs, an SQLite error code is returned and an error message // may be left in *pzErr. It is the responsibility of the caller to // eventually free any such error message using sqlite3_free(). -func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCmd uintptr, zArg uintptr, pzErr uintptr) int32 { /* sqlite3.c:220401:12: */ +func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCmd uintptr, zArg uintptr, pzErr uintptr) int32 { /* sqlite3.c:220458:12: */ bp := tls.Alloc(112) defer tls.Free(112) @@ -178178,7 +178209,7 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm // Allocate an instance of the default tokenizer ("simple") at // Fts5Config.pTokenizer. Return SQLITE_OK if successful, or an SQLite error // code if an error occurs. -func fts5ConfigDefaultTokenizer(tls *libc.TLS, pGlobal uintptr, pConfig uintptr) int32 { /* sqlite3.c:220565:12: */ +func fts5ConfigDefaultTokenizer(tls *libc.TLS, pGlobal uintptr, pConfig uintptr) int32 { /* sqlite3.c:220622:12: */ return sqlite3Fts5GetTokenizer(tls, pGlobal, uintptr(0), 0, pConfig, uintptr(0)) } @@ -178196,7 +178227,7 @@ func fts5ConfigDefaultTokenizer(tls *libc.TLS, pGlobal uintptr, pConfig uintptr) // a no-op (NULL is returned). Otherwise, if an OOM occurs within this // function, *pRc is set to SQLITE_NOMEM before returning. *pRc is *not* // set if a parse error (failed to find close quote) occurs. -func fts5ConfigGobbleWord(tls *libc.TLS, pRc uintptr, zIn uintptr, pzOut uintptr, pbQuoted uintptr) uintptr { /* sqlite3.c:220585:19: */ +func fts5ConfigGobbleWord(tls *libc.TLS, pRc uintptr, zIn uintptr, pzOut uintptr, pbQuoted uintptr) uintptr { /* sqlite3.c:220642:19: */ var zRet uintptr = uintptr(0) var nIn Sqlite3_int64 = Sqlite3_int64(libc.Xstrlen(tls, zIn)) @@ -178230,7 +178261,7 @@ func fts5ConfigGobbleWord(tls *libc.TLS, pRc uintptr, zIn uintptr, pzOut uintptr return zRet } -func fts5ConfigParseColumn(tls *libc.TLS, p uintptr, zCol uintptr, zArg uintptr, pzErr uintptr) int32 { /* sqlite3.c:220625:12: */ +func fts5ConfigParseColumn(tls *libc.TLS, p uintptr, zCol uintptr, zArg uintptr, pzErr uintptr) int32 { /* sqlite3.c:220682:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -178253,7 +178284,7 @@ func fts5ConfigParseColumn(tls *libc.TLS, p uintptr, zCol uintptr, zArg uintptr, } // Populate the Fts5Config.zContentExprlist string. -func fts5ConfigMakeExprlist(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:220653:12: */ +func fts5ConfigMakeExprlist(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:220710:12: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -178286,7 +178317,7 @@ func fts5ConfigMakeExprlist(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:22065 // returned, *ppOut is set to NULL and an error message may be left in // *pzErr. It is the responsibility of the caller to eventually free any // such error message using sqlite3_free(). -func sqlite3Fts5ConfigParse(tls *libc.TLS, pGlobal uintptr, db uintptr, nArg int32, azArg uintptr, ppOut uintptr, pzErr uintptr) int32 { /* sqlite3.c:220686:12: */ +func sqlite3Fts5ConfigParse(tls *libc.TLS, pGlobal uintptr, db uintptr, nArg int32, azArg uintptr, ppOut uintptr, pzErr uintptr) int32 { /* sqlite3.c:220743:12: */ bp := tls.Alloc(76) defer tls.Free(76) @@ -178419,7 +178450,7 @@ func sqlite3Fts5ConfigParse(tls *libc.TLS, pGlobal uintptr, db uintptr, nArg int } // Free the configuration object passed as the only argument. -func sqlite3Fts5ConfigFree(tls *libc.TLS, pConfig uintptr) { /* sqlite3.c:220810:13: */ +func sqlite3Fts5ConfigFree(tls *libc.TLS, pConfig uintptr) { /* sqlite3.c:220867:13: */ if pConfig != 0 { var i int32 if (*Fts5Config)(unsafe.Pointer(pConfig)).FpTok != 0 { @@ -178444,7 +178475,7 @@ func sqlite3Fts5ConfigFree(tls *libc.TLS, pConfig uintptr) { /* sqlite3.c:220810 // Call sqlite3_declare_vtab() based on the contents of the configuration // object passed as the only argument. Return SQLITE_OK if successful, or // an SQLite error code if an error occurs. -func sqlite3Fts5ConfigDeclareVtab(tls *libc.TLS, pConfig uintptr) int32 { /* sqlite3.c:220837:12: */ +func sqlite3Fts5ConfigDeclareVtab(tls *libc.TLS, pConfig uintptr) int32 { /* sqlite3.c:220894:12: */ bp := tls.Alloc(52) defer tls.Free(52) @@ -178494,7 +178525,7 @@ func sqlite3Fts5ConfigDeclareVtab(tls *libc.TLS, pConfig uintptr) int32 { /* sql // still returns SQLITE_OK. Or, if the tokenization was abandoned early // 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) int32 { /* sqlite3.c:220883:12: */ +func sqlite3Fts5Tokenize(tls *libc.TLS, pConfig uintptr, flags int32, pText uintptr, nText int32, pCtx uintptr, xToken uintptr) int32 { /* sqlite3.c:220940:12: */ if pText == uintptr(0) { return SQLITE_OK } @@ -178508,7 +178539,7 @@ func sqlite3Fts5Tokenize(tls *libc.TLS, pConfig uintptr, flags int32, pText uint // a comma-separated list of SQL literals followed by a ')' character. // If it actually is this, return a pointer to the ')'. Otherwise, return // NULL to indicate a parse error. -func fts5ConfigSkipArgs(tls *libc.TLS, pIn uintptr) uintptr { /* sqlite3.c:220902:19: */ +func fts5ConfigSkipArgs(tls *libc.TLS, pIn uintptr) uintptr { /* sqlite3.c:220959:19: */ var p uintptr = pIn for 1 != 0 { @@ -178535,7 +178566,7 @@ func fts5ConfigSkipArgs(tls *libc.TLS, pIn uintptr) uintptr { /* sqlite3.c:22090 // + Open parenthesis - "(" // + Zero or more SQL literals in a comma separated list // + Close parenthesis - ")" -func sqlite3Fts5ConfigParseRank(tls *libc.TLS, zIn uintptr, pzRank uintptr, pzRankArgs uintptr) int32 { /* sqlite3.c:220929:12: */ +func sqlite3Fts5ConfigParseRank(tls *libc.TLS, zIn uintptr, pzRank uintptr, pzRankArgs uintptr) int32 { /* sqlite3.c:220986:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -178599,7 +178630,7 @@ func sqlite3Fts5ConfigParseRank(tls *libc.TLS, zIn uintptr, pzRank uintptr, pzRa return *(*int32)(unsafe.Pointer(bp /* rc */)) } -func sqlite3Fts5ConfigSetValue(tls *libc.TLS, pConfig uintptr, zKey uintptr, pVal uintptr, pbBadkey uintptr) int32 { /* sqlite3.c:220988:12: */ +func sqlite3Fts5ConfigSetValue(tls *libc.TLS, pConfig uintptr, zKey uintptr, pVal uintptr, pbBadkey uintptr) int32 { /* sqlite3.c:221045:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -178687,7 +178718,7 @@ func sqlite3Fts5ConfigSetValue(tls *libc.TLS, pConfig uintptr, zKey uintptr, pVa } // Load the contents of the %_config table into memory. -func sqlite3Fts5ConfigLoad(tls *libc.TLS, pConfig uintptr, iCookie int32) int32 { /* sqlite3.c:221082:12: */ +func sqlite3Fts5ConfigLoad(tls *libc.TLS, pConfig uintptr, iCookie int32) int32 { /* sqlite3.c:221139:12: */ bp := tls.Alloc(52) defer tls.Free(52) @@ -178764,7 +178795,7 @@ type Fts5ExprTerm1 = struct { FzTerm uintptr FpIter uintptr FpSynonym uintptr -} /* sqlite3.c:216813:9 */ +} /* sqlite3.c:216870:9 */ // 2014 May 31 // @@ -178783,9 +178814,9 @@ type Fts5ExprTerm1 = struct { // All token types in the generated fts5parse.h file are greater than 0. -type Fts5ExprTerm = Fts5ExprTerm1 /* sqlite3.c:221160:29 */ +type Fts5ExprTerm = Fts5ExprTerm1 /* sqlite3.c:221217:29 */ -func sqlite3Fts5ParseError(tls *libc.TLS, pParse uintptr, zFmt uintptr, va uintptr) { /* sqlite3.c:221267:13: */ +func sqlite3Fts5ParseError(tls *libc.TLS, pParse uintptr, zFmt uintptr, va uintptr) { /* sqlite3.c:221324:13: */ var ap Va_list _ = ap ap = va @@ -178797,12 +178828,12 @@ func sqlite3Fts5ParseError(tls *libc.TLS, pParse uintptr, zFmt uintptr, va uintp _ = ap } -func fts5ExprIsspace(tls *libc.TLS, t uint8) int32 { /* sqlite3.c:221278:12: */ +func fts5ExprIsspace(tls *libc.TLS, t uint8) int32 { /* sqlite3.c:221335:12: */ return libc.Bool32(int32(t) == ' ' || int32(t) == '\t' || int32(t) == '\n' || int32(t) == '\r') } // Read the first token from the nul-terminated string at *pz. -func fts5ExprGetToken(tls *libc.TLS, pParse uintptr, pz uintptr, pToken uintptr) int32 { /* sqlite3.c:221285:12: */ +func fts5ExprGetToken(tls *libc.TLS, pParse uintptr, pz uintptr, pToken uintptr) int32 { /* sqlite3.c:221342:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -178902,15 +178933,15 @@ func fts5ExprGetToken(tls *libc.TLS, pParse uintptr, pz uintptr, pToken uintptr) return tok } -func fts5ParseAlloc(tls *libc.TLS, t U64) uintptr { /* sqlite3.c:221349:13: */ +func fts5ParseAlloc(tls *libc.TLS, t U64) uintptr { /* sqlite3.c:221406:13: */ return Xsqlite3_malloc64(tls, uint64(Sqlite3_int64(t))) } -func fts5ParseFree(tls *libc.TLS, p uintptr) { /* sqlite3.c:221350:13: */ +func fts5ParseFree(tls *libc.TLS, p uintptr) { /* sqlite3.c:221407:13: */ Xsqlite3_free(tls, p) } -func sqlite3Fts5ExprNew(tls *libc.TLS, pConfig uintptr, bPhraseToAnd int32, iCol int32, zExpr uintptr, ppNew uintptr, pzErr uintptr) int32 { /* sqlite3.c:221352:12: */ +func sqlite3Fts5ExprNew(tls *libc.TLS, pConfig uintptr, bPhraseToAnd int32, iCol int32, zExpr uintptr, ppNew uintptr, pzErr uintptr) int32 { /* sqlite3.c:221409:12: */ bp := tls.Alloc(72) defer tls.Free(72) @@ -178988,7 +179019,7 @@ func sqlite3Fts5ExprNew(tls *libc.TLS, pConfig uintptr, bPhraseToAnd int32, iCol // expression that will match a superset of the rows matched by the LIKE or // GLOB. If successful, SQLITE_OK is returned. Otherwise, an SQLite error // code. -func sqlite3Fts5ExprPattern(tls *libc.TLS, pConfig uintptr, bGlob int32, iCol int32, zText uintptr, pp uintptr) int32 { /* sqlite3.c:221433:12: */ +func sqlite3Fts5ExprPattern(tls *libc.TLS, pConfig uintptr, bGlob int32, iCol int32, zText uintptr, pp uintptr) int32 { /* sqlite3.c:221490:12: */ bp := tls.Alloc(3) defer tls.Free(3) @@ -179063,7 +179094,7 @@ func sqlite3Fts5ExprPattern(tls *libc.TLS, pConfig uintptr, bGlob int32, iCol in } // Free the expression node object passed as the only argument. -func sqlite3Fts5ParseNodeFree(tls *libc.TLS, p uintptr) { /* sqlite3.c:221503:13: */ +func sqlite3Fts5ParseNodeFree(tls *libc.TLS, p uintptr) { /* sqlite3.c:221560:13: */ if p != 0 { var i int32 for i = 0; i < (*Fts5ExprNode)(unsafe.Pointer(p)).FnChild; i++ { @@ -179075,7 +179106,7 @@ func sqlite3Fts5ParseNodeFree(tls *libc.TLS, p uintptr) { /* sqlite3.c:221503:13 } // Free the expression object passed as the only argument. -func sqlite3Fts5ExprFree(tls *libc.TLS, p uintptr) { /* sqlite3.c:221517:13: */ +func sqlite3Fts5ExprFree(tls *libc.TLS, p uintptr) { /* sqlite3.c:221574:13: */ if p != 0 { sqlite3Fts5ParseNodeFree(tls, (*Fts5Expr)(unsafe.Pointer(p)).FpRoot) Xsqlite3_free(tls, (*Fts5Expr)(unsafe.Pointer(p)).FapExprPhrase) @@ -179083,7 +179114,7 @@ func sqlite3Fts5ExprFree(tls *libc.TLS, p uintptr) { /* sqlite3.c:221517:13: */ } } -func sqlite3Fts5ExprAnd(tls *libc.TLS, pp1 uintptr, p2 uintptr) int32 { /* sqlite3.c:221525:12: */ +func sqlite3Fts5ExprAnd(tls *libc.TLS, pp1 uintptr, p2 uintptr) int32 { /* sqlite3.c:221582:12: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -179124,7 +179155,7 @@ func sqlite3Fts5ExprAnd(tls *libc.TLS, pp1 uintptr, p2 uintptr) int32 { /* sqlit // Argument pTerm must be a synonym iterator. Return the current rowid // that it points to. -func fts5ExprSynonymRowid(tls *libc.TLS, pTerm uintptr, bDesc int32, pbEof uintptr) I64 { /* sqlite3.c:221565:12: */ +func fts5ExprSynonymRowid(tls *libc.TLS, pTerm uintptr, bDesc int32, pbEof uintptr) I64 { /* sqlite3.c:221622:12: */ var iRet I64 = int64(0) var bRetValid int32 = 0 var p uintptr @@ -179146,7 +179177,7 @@ func fts5ExprSynonymRowid(tls *libc.TLS, pTerm uintptr, bDesc int32, pbEof uintp } // Argument pTerm must be a synonym iterator. -func fts5ExprSynonymList(tls *libc.TLS, pTerm uintptr, iRowid I64, pBuf uintptr, pa uintptr, pn uintptr) int32 { /* sqlite3.c:221590:12: */ +func fts5ExprSynonymList(tls *libc.TLS, pTerm uintptr, iRowid I64, pBuf uintptr, pa uintptr, pn uintptr) int32 { /* sqlite3.c:221647:12: */ bp := tls.Alloc(136) defer tls.Free(136) @@ -179310,7 +179341,7 @@ __22: // SQLITE_OK is returned if an error occurs, or an SQLite error code // otherwise. It is not considered an error code if the current rowid is // not a match. -func fts5ExprPhraseIsMatch(tls *libc.TLS, pNode uintptr, pPhrase uintptr, pbMatch uintptr) int32 { /* sqlite3.c:221673:12: */ +func fts5ExprPhraseIsMatch(tls *libc.TLS, pNode uintptr, pPhrase uintptr, pbMatch uintptr) int32 { /* sqlite3.c:221730:12: */ bp := tls.Alloc(168) defer tls.Free(168) @@ -179535,11 +179566,11 @@ type Fts5LookaheadReader1 = struct { Fi int32 FiPos I64 FiLookahead I64 -} /* sqlite3.c:221757:9 */ +} /* sqlite3.c:221814:9 */ -type Fts5LookaheadReader = Fts5LookaheadReader1 /* sqlite3.c:221757:36 */ +type Fts5LookaheadReader = Fts5LookaheadReader1 /* sqlite3.c:221814:36 */ -func fts5LookaheadReaderNext(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:221768:12: */ +func fts5LookaheadReaderNext(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:221825:12: */ (*Fts5LookaheadReader)(unsafe.Pointer(p)).FiPos = (*Fts5LookaheadReader)(unsafe.Pointer(p)).FiLookahead if sqlite3Fts5PoslistNext64(tls, (*Fts5LookaheadReader)(unsafe.Pointer(p)).Fa, (*Fts5LookaheadReader)(unsafe.Pointer(p)).Fn, p+12, p+24) != 0 { (*Fts5LookaheadReader)(unsafe.Pointer(p)).FiLookahead = I64(int64(1)) << 62 @@ -179547,7 +179578,7 @@ func fts5LookaheadReaderNext(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:2217 return libc.Bool32((*Fts5LookaheadReader)(unsafe.Pointer(p)).FiPos == I64(int64(1))<<62) } -func fts5LookaheadReaderInit(tls *libc.TLS, a uintptr, n int32, p uintptr) int32 { /* sqlite3.c:221776:12: */ +func fts5LookaheadReaderInit(tls *libc.TLS, a uintptr, n int32, p uintptr) int32 { /* sqlite3.c:221833:12: */ libc.Xmemset(tls, p, 0, uint64(unsafe.Sizeof(Fts5LookaheadReader{}))) (*Fts5LookaheadReader)(unsafe.Pointer(p)).Fa = a (*Fts5LookaheadReader)(unsafe.Pointer(p)).Fn = n @@ -179559,9 +179590,9 @@ type Fts5NearTrimmer1 = struct { Freader Fts5LookaheadReader Fwriter Fts5PoslistWriter FpOut uintptr -} /* sqlite3.c:221787:9 */ +} /* sqlite3.c:221844:9 */ -type Fts5NearTrimmer = Fts5NearTrimmer1 /* sqlite3.c:221787:32 */ +type Fts5NearTrimmer = Fts5NearTrimmer1 /* sqlite3.c:221844:32 */ // The near-set object passed as the first argument contains more than // one phrase. All phrases currently point to the same row. The @@ -179578,7 +179609,7 @@ type Fts5NearTrimmer = Fts5NearTrimmer1 /* sqlite3.c:221787:32 */ // If no error occurs and non-zero (a match) is returned, the position-list // of each phrase object is edited to contain only those entries that // meet the constraint before returning. -func fts5ExprNearIsMatch(tls *libc.TLS, pRc uintptr, pNear uintptr) int32 { /* sqlite3.c:221811:12: */ +func fts5ExprNearIsMatch(tls *libc.TLS, pRc uintptr, pNear uintptr) int32 { /* sqlite3.c:221868:12: */ bp := tls.Alloc(196) defer tls.Free(196) @@ -179780,7 +179811,7 @@ __29: // If the iterator reaches EOF, set *pbEof to true before returning. If // an error occurs, set *pRc to an error code. If either *pbEof or *pRc // are set, return a non-zero value. Otherwise, return zero. -func fts5ExprAdvanceto(tls *libc.TLS, pIter uintptr, bDesc int32, piLast uintptr, pRc uintptr, pbEof uintptr) int32 { /* sqlite3.c:221910:12: */ +func fts5ExprAdvanceto(tls *libc.TLS, pIter uintptr, bDesc int32, piLast uintptr, pRc uintptr, pbEof uintptr) int32 { /* sqlite3.c:221967:12: */ var iLast I64 = *(*I64)(unsafe.Pointer(piLast)) var iRowid I64 @@ -179800,7 +179831,7 @@ func fts5ExprAdvanceto(tls *libc.TLS, pIter uintptr, bDesc int32, piLast uintptr return 0 } -func fts5ExprSynonymAdvanceto(tls *libc.TLS, pTerm uintptr, bDesc int32, piLast uintptr, pRc uintptr) int32 { /* sqlite3.c:221936:12: */ +func fts5ExprSynonymAdvanceto(tls *libc.TLS, pTerm uintptr, bDesc int32, piLast uintptr, pRc uintptr) int32 { /* sqlite3.c:221993:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -179827,7 +179858,7 @@ func fts5ExprSynonymAdvanceto(tls *libc.TLS, pTerm uintptr, bDesc int32, piLast return *(*int32)(unsafe.Pointer(bp /* bEof */)) } -func fts5ExprNearTest(tls *libc.TLS, pRc uintptr, pExpr uintptr, pNode uintptr) int32 { /* sqlite3.c:221966:12: */ +func fts5ExprNearTest(tls *libc.TLS, pRc uintptr, pExpr uintptr, pNode uintptr) int32 { /* sqlite3.c:222023:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -179884,7 +179915,7 @@ func fts5ExprNearTest(tls *libc.TLS, pRc uintptr, pExpr uintptr, pNode uintptr) // If an error occurs, return an SQLite error code. Otherwise, return // SQLITE_OK. It is not considered an error if some term matches zero // documents. -func fts5ExprNearInitAll(tls *libc.TLS, pExpr uintptr, pNode uintptr) int32 { /* sqlite3.c:222025:12: */ +func fts5ExprNearInitAll(tls *libc.TLS, pExpr uintptr, pNode uintptr) int32 { /* sqlite3.c:222082:12: */ var pNear uintptr = (*Fts5ExprNode)(unsafe.Pointer(pNode)).FpNear var i int32 @@ -179950,7 +179981,7 @@ func fts5ExprNearInitAll(tls *libc.TLS, pExpr uintptr, pNode uintptr) int32 { /* // Otherwise, if this is a DESC iterator, the opposite is returned: // // (iRhs - iLhs) -func fts5RowidCmp(tls *libc.TLS, pExpr uintptr, iLhs I64, iRhs I64) int32 { /* sqlite3.c:222087:12: */ +func fts5RowidCmp(tls *libc.TLS, pExpr uintptr, iLhs I64, iRhs I64) int32 { /* sqlite3.c:222144:12: */ if (*Fts5Expr)(unsafe.Pointer(pExpr)).FbDesc == 0 { if iLhs < iRhs { @@ -179966,7 +179997,7 @@ func fts5RowidCmp(tls *libc.TLS, pExpr uintptr, iLhs I64, iRhs I64) int32 { /* s return int32(0) } -func fts5ExprSetEof(tls *libc.TLS, pNode uintptr) { /* sqlite3.c:222102:13: */ +func fts5ExprSetEof(tls *libc.TLS, pNode uintptr) { /* sqlite3.c:222159:13: */ var i int32 (*Fts5ExprNode)(unsafe.Pointer(pNode)).FbEof = 1 (*Fts5ExprNode)(unsafe.Pointer(pNode)).FbNomatch = 0 @@ -179975,7 +180006,7 @@ func fts5ExprSetEof(tls *libc.TLS, pNode uintptr) { /* sqlite3.c:222102:13: */ } } -func fts5ExprNodeZeroPoslist(tls *libc.TLS, pNode uintptr) { /* sqlite3.c:222111:13: */ +func fts5ExprNodeZeroPoslist(tls *libc.TLS, pNode uintptr) { /* sqlite3.c:222168:13: */ if (*Fts5ExprNode)(unsafe.Pointer(pNode)).FeType == FTS5_STRING || (*Fts5ExprNode)(unsafe.Pointer(pNode)).FeType == FTS5_TERM { var pNear uintptr = (*Fts5ExprNode)(unsafe.Pointer(pNode)).FpNear var i int32 @@ -180001,7 +180032,7 @@ func fts5ExprNodeZeroPoslist(tls *libc.TLS, pNode uintptr) { /* sqlite3.c:222111 // This means that if the iteration order is ASC, then numerically larger // rowids are considered larger. Or if it is the default DESC, numerically // smaller rowids are larger. -func fts5NodeCompare(tls *libc.TLS, pExpr uintptr, p1 uintptr, p2 uintptr) int32 { /* sqlite3.c:222141:12: */ +func fts5NodeCompare(tls *libc.TLS, pExpr uintptr, p1 uintptr, p2 uintptr) int32 { /* sqlite3.c:222198:12: */ if (*Fts5ExprNode)(unsafe.Pointer(p2)).FbEof != 0 { return -1 } @@ -180020,7 +180051,7 @@ func fts5NodeCompare(tls *libc.TLS, pExpr uintptr, p1 uintptr, p2 uintptr) int32 // SQLITE_OK is returned if an error occurs, or an SQLite error code // otherwise. It is not considered an error code if an iterator reaches // EOF. -func fts5ExprNodeTest_STRING(tls *libc.TLS, pExpr uintptr, pNode uintptr) int32 { /* sqlite3.c:222162:12: */ +func fts5ExprNodeTest_STRING(tls *libc.TLS, pExpr uintptr, pNode uintptr) int32 { /* sqlite3.c:222219:12: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -180088,7 +180119,7 @@ func fts5ExprNodeTest_STRING(tls *libc.TLS, pExpr uintptr, pNode uintptr) int32 // // Return SQLITE_OK if successful, or an SQLite error code if an error // occurs. -func fts5ExprNodeNext_STRING(tls *libc.TLS, pExpr uintptr, pNode uintptr, bFromValid int32, iFrom I64) int32 { /* sqlite3.c:222232:12: */ +func fts5ExprNodeNext_STRING(tls *libc.TLS, pExpr uintptr, pNode uintptr, bFromValid int32, iFrom I64) int32 { /* sqlite3.c:222289:12: */ var pTerm uintptr = *(*uintptr)(unsafe.Pointer((*Fts5ExprNode)(unsafe.Pointer(pNode)).FpNear + 24)) + 32 var rc int32 = SQLITE_OK @@ -180147,7 +180178,7 @@ func fts5ExprNodeNext_STRING(tls *libc.TLS, pExpr uintptr, pNode uintptr, bFromV return rc } -func fts5ExprNodeTest_TERM(tls *libc.TLS, pExpr uintptr, pNode uintptr) int32 { /* sqlite3.c:222297:12: */ +func fts5ExprNodeTest_TERM(tls *libc.TLS, pExpr uintptr, pNode uintptr) int32 { /* sqlite3.c:222354:12: */ // As this "NEAR" object is actually a single phrase that consists // of a single term only, grab pointers into the poslist managed by the // fts5_index.c iterator object. This is much faster than synthesizing @@ -180166,7 +180197,7 @@ func fts5ExprNodeTest_TERM(tls *libc.TLS, pExpr uintptr, pNode uintptr) int32 { } // xNext() method for a node of type FTS5_TERM. -func fts5ExprNodeNext_TERM(tls *libc.TLS, pExpr uintptr, pNode uintptr, bFromValid int32, iFrom I64) int32 { /* sqlite3.c:222325:12: */ +func fts5ExprNodeNext_TERM(tls *libc.TLS, pExpr uintptr, pNode uintptr, bFromValid int32, iFrom I64) int32 { /* sqlite3.c:222382:12: */ var rc int32 var pIter uintptr = (*Fts5ExprTerm)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer((*Fts5ExprNode)(unsafe.Pointer(pNode)).FpNear + 24)) + 32)).FpIter @@ -180184,7 +180215,7 @@ func fts5ExprNodeNext_TERM(tls *libc.TLS, pExpr uintptr, pNode uintptr, bFromVal return rc } -func fts5ExprNodeTest_OR(tls *libc.TLS, pExpr uintptr, pNode uintptr) { /* sqlite3.c:222349:13: */ +func fts5ExprNodeTest_OR(tls *libc.TLS, pExpr uintptr, pNode uintptr) { /* sqlite3.c:222406:13: */ var pNext uintptr = *(*uintptr)(unsafe.Pointer(pNode + 48)) var i int32 @@ -180200,7 +180231,7 @@ func fts5ExprNodeTest_OR(tls *libc.TLS, pExpr uintptr, pNode uintptr) { /* sqlit (*Fts5ExprNode)(unsafe.Pointer(pNode)).FbNomatch = (*Fts5ExprNode)(unsafe.Pointer(pNext)).FbNomatch } -func fts5ExprNodeNext_OR(tls *libc.TLS, pExpr uintptr, pNode uintptr, bFromValid int32, iFrom I64) int32 { /* sqlite3.c:222368:12: */ +func fts5ExprNodeNext_OR(tls *libc.TLS, pExpr uintptr, pNode uintptr, bFromValid int32, iFrom I64) int32 { /* sqlite3.c:222425:12: */ var i int32 var iLast I64 = (*Fts5ExprNode)(unsafe.Pointer(pNode)).FiRowid @@ -180226,7 +180257,7 @@ func fts5ExprNodeNext_OR(tls *libc.TLS, pExpr uintptr, pNode uintptr, bFromValid } // Argument pNode is an FTS5_AND node. -func fts5ExprNodeTest_AND(tls *libc.TLS, pExpr uintptr, pAnd uintptr) int32 { /* sqlite3.c:222400:12: */ +func fts5ExprNodeTest_AND(tls *libc.TLS, pExpr uintptr, pAnd uintptr) int32 { /* sqlite3.c:222457:12: */ var iChild int32 var iLast I64 = (*Fts5ExprNode)(unsafe.Pointer(pAnd)).FiRowid var rc int32 = SQLITE_OK @@ -180276,7 +180307,7 @@ func fts5ExprNodeTest_AND(tls *libc.TLS, pExpr uintptr, pAnd uintptr) int32 { /* return SQLITE_OK } -func fts5ExprNodeNext_AND(tls *libc.TLS, pExpr uintptr, pNode uintptr, bFromValid int32, iFrom I64) int32 { /* sqlite3.c:222452:12: */ +func fts5ExprNodeNext_AND(tls *libc.TLS, pExpr uintptr, pNode uintptr, bFromValid int32, iFrom I64) int32 { /* sqlite3.c:222509:12: */ var rc int32 = (*struct { f func(*libc.TLS, uintptr, uintptr, int32, I64) int32 })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExprNode)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pNode + 48 /* &.apChild */)))).FxNext})).f(tls, pExpr, *(*uintptr)(unsafe.Pointer(pNode + 48 /* &.apChild */)), bFromValid, iFrom) @@ -180288,7 +180319,7 @@ func fts5ExprNodeNext_AND(tls *libc.TLS, pExpr uintptr, pNode uintptr, bFromVali return rc } -func fts5ExprNodeTest_NOT(tls *libc.TLS, pExpr uintptr, pNode uintptr) int32 { /* sqlite3.c:222467:12: */ +func fts5ExprNodeTest_NOT(tls *libc.TLS, pExpr uintptr, pNode uintptr) int32 { /* sqlite3.c:222524:12: */ var rc int32 = SQLITE_OK var p1 uintptr = *(*uintptr)(unsafe.Pointer(pNode + 48)) var p2 uintptr = *(*uintptr)(unsafe.Pointer(pNode + 48 + 1*8)) @@ -180318,7 +180349,7 @@ func fts5ExprNodeTest_NOT(tls *libc.TLS, pExpr uintptr, pNode uintptr) int32 { / return rc } -func fts5ExprNodeNext_NOT(tls *libc.TLS, pExpr uintptr, pNode uintptr, bFromValid int32, iFrom I64) int32 { /* sqlite3.c:222495:12: */ +func fts5ExprNodeNext_NOT(tls *libc.TLS, pExpr uintptr, pNode uintptr, bFromValid int32, iFrom I64) int32 { /* sqlite3.c:222552:12: */ var rc int32 = (*struct { f func(*libc.TLS, uintptr, uintptr, int32, I64) int32 })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExprNode)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pNode + 48 /* &.apChild */)))).FxNext})).f(tls, pExpr, *(*uintptr)(unsafe.Pointer(pNode + 48 /* &.apChild */)), bFromValid, iFrom) @@ -180334,7 +180365,7 @@ func fts5ExprNodeNext_NOT(tls *libc.TLS, pExpr uintptr, pNode uintptr, bFromVali // If pNode currently points to a match, this function returns SQLITE_OK // without modifying it. Otherwise, pNode is advanced until it does point // to a match or EOF is reached. -func fts5ExprNodeTest(tls *libc.TLS, pExpr uintptr, pNode uintptr) int32 { /* sqlite3.c:222516:12: */ +func fts5ExprNodeTest(tls *libc.TLS, pExpr uintptr, pNode uintptr) int32 { /* sqlite3.c:222573:12: */ var rc int32 = SQLITE_OK if (*Fts5ExprNode)(unsafe.Pointer(pNode)).FbEof == 0 { switch (*Fts5ExprNode)(unsafe.Pointer(pNode)).FeType { @@ -180387,7 +180418,7 @@ func fts5ExprNodeTest(tls *libc.TLS, pExpr uintptr, pNode uintptr) int32 { /* sq // // Return an SQLite error code if an error occurs, or SQLITE_OK otherwise. // It is not an error if there are no matches. -func fts5ExprNodeFirst(tls *libc.TLS, pExpr uintptr, pNode uintptr) int32 { /* sqlite3.c:222561:12: */ +func fts5ExprNodeFirst(tls *libc.TLS, pExpr uintptr, pNode uintptr) int32 { /* sqlite3.c:222618:12: */ var rc int32 = SQLITE_OK (*Fts5ExprNode)(unsafe.Pointer(pNode)).FbEof = 0 (*Fts5ExprNode)(unsafe.Pointer(pNode)).FbNomatch = 0 @@ -180449,7 +180480,7 @@ func fts5ExprNodeFirst(tls *libc.TLS, pExpr uintptr, pNode uintptr) int32 { /* s // // Return SQLITE_OK if successful, or an SQLite error code otherwise. It // is not considered an error if the query does not match any documents. -func sqlite3Fts5ExprFirst(tls *libc.TLS, p uintptr, pIdx uintptr, iFirst I64, bDesc int32) int32 { /* sqlite3.c:222620:12: */ +func sqlite3Fts5ExprFirst(tls *libc.TLS, p uintptr, pIdx uintptr, iFirst I64, bDesc int32) int32 { /* sqlite3.c:222677:12: */ var pRoot uintptr = (*Fts5Expr)(unsafe.Pointer(p)).FpRoot var rc int32 // Return code @@ -180481,7 +180512,7 @@ func sqlite3Fts5ExprFirst(tls *libc.TLS, p uintptr, pIdx uintptr, iFirst I64, bD // // Return SQLITE_OK if successful, or an SQLite error code otherwise. It // is not considered an error if the query does not match any documents. -func sqlite3Fts5ExprNext(tls *libc.TLS, p uintptr, iLast I64) int32 { /* sqlite3.c:222651:12: */ +func sqlite3Fts5ExprNext(tls *libc.TLS, p uintptr, iLast I64) int32 { /* sqlite3.c:222708:12: */ var rc int32 var pRoot uintptr = (*Fts5Expr)(unsafe.Pointer(p)).FpRoot @@ -180497,15 +180528,15 @@ func sqlite3Fts5ExprNext(tls *libc.TLS, p uintptr, iLast I64) int32 { /* sqlite3 return rc } -func sqlite3Fts5ExprEof(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:222665:12: */ +func sqlite3Fts5ExprEof(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:222722:12: */ return (*Fts5ExprNode)(unsafe.Pointer((*Fts5Expr)(unsafe.Pointer(p)).FpRoot)).FbEof } -func sqlite3Fts5ExprRowid(tls *libc.TLS, p uintptr) I64 { /* sqlite3.c:222669:12: */ +func sqlite3Fts5ExprRowid(tls *libc.TLS, p uintptr) I64 { /* sqlite3.c:222726:12: */ return (*Fts5ExprNode)(unsafe.Pointer((*Fts5Expr)(unsafe.Pointer(p)).FpRoot)).FiRowid } -func fts5ParseStringFromToken(tls *libc.TLS, pToken uintptr, pz uintptr) int32 { /* sqlite3.c:222673:12: */ +func fts5ParseStringFromToken(tls *libc.TLS, pToken uintptr, pz uintptr) int32 { /* sqlite3.c:222730:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -180515,7 +180546,7 @@ func fts5ParseStringFromToken(tls *libc.TLS, pToken uintptr, pz uintptr) int32 { } // Free the phrase object passed as the only argument. -func fts5ExprPhraseFree(tls *libc.TLS, pPhrase uintptr) { /* sqlite3.c:222682:13: */ +func fts5ExprPhraseFree(tls *libc.TLS, pPhrase uintptr) { /* sqlite3.c:222739:13: */ if pPhrase != 0 { var i int32 for i = 0; i < (*Fts5ExprPhrase)(unsafe.Pointer(pPhrase)).FnTerm; i++ { @@ -180540,7 +180571,7 @@ func fts5ExprPhraseFree(tls *libc.TLS, pPhrase uintptr) { /* sqlite3.c:222682:13 // Set the "bFirst" flag on the first token of the phrase passed as the // only argument. -func sqlite3Fts5ParseSetCaret(tls *libc.TLS, pPhrase uintptr) { /* sqlite3.c:222707:13: */ +func sqlite3Fts5ParseSetCaret(tls *libc.TLS, pPhrase uintptr) { /* sqlite3.c:222764:13: */ if pPhrase != 0 && (*Fts5ExprPhrase)(unsafe.Pointer(pPhrase)).FnTerm != 0 { (*Fts5ExprTerm)(unsafe.Pointer(pPhrase + 32)).FbFirst = U8(1) } @@ -180552,7 +180583,7 @@ func sqlite3Fts5ParseSetCaret(tls *libc.TLS, pPhrase uintptr) { /* sqlite3.c:222 // // If an OOM error occurs, both the pNear and pPhrase objects are freed and // NULL returned. -func sqlite3Fts5ParseNearset(tls *libc.TLS, pParse uintptr, pNear uintptr, pPhrase uintptr) uintptr { /* sqlite3.c:222721:24: */ +func sqlite3Fts5ParseNearset(tls *libc.TLS, pParse uintptr, pNear uintptr, pPhrase uintptr) uintptr { /* sqlite3.c:222778:24: */ var SZALLOC int32 = 8 var pRet uintptr = uintptr(0) @@ -180612,12 +180643,12 @@ type TokenCtx1 = struct { FpPhrase uintptr Frc int32 F__ccgo_pad1 [4]byte -} /* sqlite3.c:222781:9 */ +} /* sqlite3.c:222838:9 */ -type TokenCtx = TokenCtx1 /* sqlite3.c:222781:25 */ +type TokenCtx = TokenCtx1 /* sqlite3.c:222838:25 */ // Callback for tokenizing terms used by ParseTerm(). -func fts5ParseTokenize(tls *libc.TLS, pContext uintptr, tflags int32, pToken uintptr, nToken int32, iUnused1 int32, iUnused2 int32) int32 { /* sqlite3.c:222790:12: */ +func fts5ParseTokenize(tls *libc.TLS, pContext uintptr, tflags int32, pToken uintptr, nToken int32, iUnused1 int32, iUnused2 int32) int32 { /* sqlite3.c:222847:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -180686,12 +180717,12 @@ func fts5ParseTokenize(tls *libc.TLS, pContext uintptr, tflags int32, pToken uin } // Free the phrase object passed as the only argument. -func sqlite3Fts5ParsePhraseFree(tls *libc.TLS, pPhrase uintptr) { /* sqlite3.c:222855:13: */ +func sqlite3Fts5ParsePhraseFree(tls *libc.TLS, pPhrase uintptr) { /* sqlite3.c:222912:13: */ fts5ExprPhraseFree(tls, pPhrase) } // Free the phrase object passed as the second argument. -func sqlite3Fts5ParseNearsetFree(tls *libc.TLS, pNear uintptr) { /* sqlite3.c:222862:13: */ +func sqlite3Fts5ParseNearsetFree(tls *libc.TLS, pNear uintptr) { /* sqlite3.c:222919:13: */ if pNear != 0 { var i int32 for i = 0; i < (*Fts5ExprNearset)(unsafe.Pointer(pNear)).FnPhrase; i++ { @@ -180702,12 +180733,12 @@ func sqlite3Fts5ParseNearsetFree(tls *libc.TLS, pNear uintptr) { /* sqlite3.c:22 } } -func sqlite3Fts5ParseFinished(tls *libc.TLS, pParse uintptr, p uintptr) { /* sqlite3.c:222873:13: */ +func sqlite3Fts5ParseFinished(tls *libc.TLS, pParse uintptr, p uintptr) { /* sqlite3.c:222930:13: */ (*Fts5Parse)(unsafe.Pointer(pParse)).FpExpr = p } -func parseGrowPhraseArray(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:222878:12: */ +func parseGrowPhraseArray(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:222935:12: */ if (*Fts5Parse)(unsafe.Pointer(pParse)).FnPhrase%8 == 0 { var nByte Sqlite3_int64 = Sqlite3_int64(uint64(unsafe.Sizeof(uintptr(0))) * uint64((*Fts5Parse)(unsafe.Pointer(pParse)).FnPhrase+8)) var apNew uintptr @@ -180724,7 +180755,7 @@ func parseGrowPhraseArray(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:22 // This function is called by the parser to process a string token. The // string may or may not be quoted. In any case it is tokenized and a // phrase object consisting of all tokens returned. -func sqlite3Fts5ParseTerm(tls *libc.TLS, pParse uintptr, pAppend uintptr, pToken uintptr, bPrefix int32) uintptr { /* sqlite3.c:222897:23: */ +func sqlite3Fts5ParseTerm(tls *libc.TLS, pParse uintptr, pAppend uintptr, pToken uintptr, bPrefix int32) uintptr { /* sqlite3.c:222954:23: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -180782,7 +180813,7 @@ func sqlite3Fts5ParseTerm(tls *libc.TLS, pParse uintptr, pAppend uintptr, pToken // Create a new FTS5 expression by cloning phrase iPhrase of the // expression passed as the second argument. -func sqlite3Fts5ExprClonePhrase(tls *libc.TLS, pExpr uintptr, iPhrase int32, ppNew uintptr) int32 { /* sqlite3.c:222951:12: */ +func sqlite3Fts5ExprClonePhrase(tls *libc.TLS, pExpr uintptr, iPhrase int32, ppNew uintptr) int32 { /* sqlite3.c:223008:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -180877,7 +180908,7 @@ func sqlite3Fts5ExprClonePhrase(tls *libc.TLS, pExpr uintptr, iPhrase int32, ppN // Token pTok has appeared in a MATCH expression where the NEAR operator // is expected. If token pTok does not contain "NEAR", store an error // in the pParse object. -func sqlite3Fts5ParseNear(tls *libc.TLS, pParse uintptr, pTok uintptr) { /* sqlite3.c:223047:13: */ +func sqlite3Fts5ParseNear(tls *libc.TLS, pParse uintptr, pTok uintptr) { /* sqlite3.c:223104:13: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -180887,7 +180918,7 @@ func sqlite3Fts5ParseNear(tls *libc.TLS, pParse uintptr, pTok uintptr) { /* sqli } } -func sqlite3Fts5ParseSetDistance(tls *libc.TLS, pParse uintptr, pNear uintptr, p uintptr) { /* sqlite3.c:223055:13: */ +func sqlite3Fts5ParseSetDistance(tls *libc.TLS, pParse uintptr, pNear uintptr, p uintptr) { /* sqlite3.c:223112:13: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -180918,7 +180949,7 @@ func sqlite3Fts5ParseSetDistance(tls *libc.TLS, pParse uintptr, pNear uintptr, p // // If an OOM error occurs, store an error code in pParse and return NULL. // The old colset object (if any) is not freed in this case. -func fts5ParseColset(tls *libc.TLS, pParse uintptr, p uintptr, iCol int32) uintptr { /* sqlite3.c:223090:19: */ +func fts5ParseColset(tls *libc.TLS, pParse uintptr, p uintptr, iCol int32) uintptr { /* sqlite3.c:223147:19: */ var nCol int32 if p != 0 { nCol = (*Fts5Colset)(unsafe.Pointer(p)).FnCol @@ -180956,7 +180987,7 @@ func fts5ParseColset(tls *libc.TLS, pParse uintptr, p uintptr, iCol int32) uintp // Allocate and return an Fts5Colset object specifying the inverse of // the colset passed as the second argument. Free the colset passed // as the second argument before returning. -func sqlite3Fts5ParseColsetInvert(tls *libc.TLS, pParse uintptr, p uintptr) uintptr { /* sqlite3.c:223131:19: */ +func sqlite3Fts5ParseColsetInvert(tls *libc.TLS, pParse uintptr, p uintptr) uintptr { /* sqlite3.c:223188:19: */ var pRet uintptr var nCol int32 = (*Fts5Config)(unsafe.Pointer((*Fts5Parse)(unsafe.Pointer(pParse)).FpConfig)).FnCol @@ -180978,7 +181009,7 @@ func sqlite3Fts5ParseColsetInvert(tls *libc.TLS, pParse uintptr, p uintptr) uint return pRet } -func sqlite3Fts5ParseColset(tls *libc.TLS, pParse uintptr, pColset uintptr, p uintptr) uintptr { /* sqlite3.c:223154:19: */ +func sqlite3Fts5ParseColset(tls *libc.TLS, pParse uintptr, pColset uintptr, p uintptr) uintptr { /* sqlite3.c:223211:19: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -181017,7 +181048,7 @@ func sqlite3Fts5ParseColset(tls *libc.TLS, pParse uintptr, pColset uintptr, p ui // Otherwise, a copy of (*pOrig) is made into memory obtained from // sqlite3Fts5MallocZero() and a pointer to it returned. If the allocation // fails, (*pRc) is set to SQLITE_NOMEM and NULL is returned. -func fts5CloneColset(tls *libc.TLS, pRc uintptr, pOrig uintptr) uintptr { /* sqlite3.c:223194:19: */ +func fts5CloneColset(tls *libc.TLS, pRc uintptr, pOrig uintptr) uintptr { /* sqlite3.c:223251:19: */ var pRet uintptr if pOrig != 0 { var nByte Sqlite3_int64 = Sqlite3_int64(uint64(unsafe.Sizeof(Fts5Colset{})) + uint64((*Fts5Colset)(unsafe.Pointer(pOrig)).FnCol-1)*uint64(unsafe.Sizeof(int32(0)))) @@ -181032,7 +181063,7 @@ func fts5CloneColset(tls *libc.TLS, pRc uintptr, pOrig uintptr) uintptr { /* sql } // Remove from colset pColset any columns that are not also in colset pMerge. -func fts5MergeColset(tls *libc.TLS, pColset uintptr, pMerge uintptr) { /* sqlite3.c:223211:13: */ +func fts5MergeColset(tls *libc.TLS, pColset uintptr, pMerge uintptr) { /* sqlite3.c:223268:13: */ var iIn int32 = 0 // Next input in pColset var iMerge int32 = 0 // Next input in pMerge var iOut int32 = 0 // Next output slot in pColset @@ -181056,7 +181087,7 @@ func fts5MergeColset(tls *libc.TLS, pColset uintptr, pMerge uintptr) { /* sqlite // its decendents. If (*ppFree) is not NULL, it contains a spare copy // of pColset. This function may use the spare copy and set (*ppFree) to // zero, or it may create copies of pColset using fts5CloneColset(). -func fts5ParseSetColset(tls *libc.TLS, pParse uintptr, pNode uintptr, pColset uintptr, ppFree uintptr) { /* sqlite3.c:223237:13: */ +func fts5ParseSetColset(tls *libc.TLS, pParse uintptr, pNode uintptr, pColset uintptr, ppFree uintptr) { /* sqlite3.c:223294:13: */ if (*Fts5Parse)(unsafe.Pointer(pParse)).Frc == SQLITE_OK { if (*Fts5ExprNode)(unsafe.Pointer(pNode)).FeType == FTS5_STRING || (*Fts5ExprNode)(unsafe.Pointer(pNode)).FeType == FTS5_TERM { @@ -181084,7 +181115,7 @@ func fts5ParseSetColset(tls *libc.TLS, pParse uintptr, pNode uintptr, pColset ui } // Apply colset pColset to expression node pExpr and all of its descendents. -func sqlite3Fts5ParseSetColset(tls *libc.TLS, pParse uintptr, pExpr uintptr, pColset uintptr) { /* sqlite3.c:223275:13: */ +func sqlite3Fts5ParseSetColset(tls *libc.TLS, pParse uintptr, pExpr uintptr, pColset uintptr) { /* sqlite3.c:223332:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -181098,7 +181129,7 @@ func sqlite3Fts5ParseSetColset(tls *libc.TLS, pParse uintptr, pExpr uintptr, pCo Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp /* pFree */))) } -func fts5ExprAssignXNext(tls *libc.TLS, pNode uintptr) { /* sqlite3.c:223291:13: */ +func fts5ExprAssignXNext(tls *libc.TLS, pNode uintptr) { /* sqlite3.c:223348:13: */ switch (*Fts5ExprNode)(unsafe.Pointer(pNode)).FeType { case FTS5_STRING: { @@ -181149,7 +181180,7 @@ func fts5ExprAssignXNext(tls *libc.TLS, pNode uintptr) { /* sqlite3.c:223291:13: } } -func fts5ExprAddChildren(tls *libc.TLS, p uintptr, pSub uintptr) { /* sqlite3.c:223324:13: */ +func fts5ExprAddChildren(tls *libc.TLS, p uintptr, pSub uintptr) { /* sqlite3.c:223381:13: */ if (*Fts5ExprNode)(unsafe.Pointer(p)).FeType != FTS5_NOT && (*Fts5ExprNode)(unsafe.Pointer(pSub)).FeType == (*Fts5ExprNode)(unsafe.Pointer(p)).FeType { var nByte int32 = int32(uint64(unsafe.Sizeof(uintptr(0))) * uint64((*Fts5ExprNode)(unsafe.Pointer(pSub)).FnChild)) libc.Xmemcpy(tls, p+48+uintptr((*Fts5ExprNode)(unsafe.Pointer(p)).FnChild)*8, pSub+48, uint64(nByte)) @@ -181169,7 +181200,7 @@ func fts5ExprAddChildren(tls *libc.TLS, p uintptr, pSub uintptr) { /* sqlite3.c: // into an AND tree: // // abc AND def AND ghi -func fts5ParsePhraseToAnd(tls *libc.TLS, pParse uintptr, pNear uintptr) uintptr { /* sqlite3.c:223346:21: */ +func fts5ParsePhraseToAnd(tls *libc.TLS, pParse uintptr, pNear uintptr) uintptr { /* sqlite3.c:223403:21: */ var nTerm int32 = (*Fts5ExprPhrase)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pNear + 24)))).FnTerm var ii int32 var nByte int32 @@ -181212,7 +181243,7 @@ func fts5ParsePhraseToAnd(tls *libc.TLS, pParse uintptr, pNear uintptr) uintptr // Allocate and return a new expression object. If anything goes wrong (i.e. // OOM error), leave an error code in pParse and return NULL. -func sqlite3Fts5ParseNode(tls *libc.TLS, pParse uintptr, eType int32, pLeft uintptr, pRight uintptr, pNear uintptr) uintptr { /* sqlite3.c:223400:21: */ +func sqlite3Fts5ParseNode(tls *libc.TLS, pParse uintptr, eType int32, pLeft uintptr, pRight uintptr, pNear uintptr) uintptr { /* sqlite3.c:223457:21: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -181300,7 +181331,7 @@ func sqlite3Fts5ParseNode(tls *libc.TLS, pParse uintptr, eType int32, pLeft uint return pRet } -func sqlite3Fts5ParseImplicitAnd(tls *libc.TLS, pParse uintptr, pLeft uintptr, pRight uintptr) uintptr { /* sqlite3.c:223482:21: */ +func sqlite3Fts5ParseImplicitAnd(tls *libc.TLS, pParse uintptr, pLeft uintptr, pRight uintptr) uintptr { /* sqlite3.c:223539:21: */ var pRet uintptr = uintptr(0) var pPrev uintptr @@ -181346,7 +181377,7 @@ func sqlite3Fts5ParseImplicitAnd(tls *libc.TLS, pParse uintptr, pLeft uintptr, p // This is called during initialization to register the fts5_expr() scalar // UDF with the SQLite handle passed as the only argument. -func sqlite3Fts5ExprInit(tls *libc.TLS, pGlobal uintptr, db uintptr) int32 { /* sqlite3.c:223919:12: */ +func sqlite3Fts5ExprInit(tls *libc.TLS, pGlobal uintptr, db uintptr) int32 { /* sqlite3.c:223976:12: */ var rc int32 = SQLITE_OK _ = pGlobal _ = db @@ -181359,7 +181390,7 @@ func sqlite3Fts5ExprInit(tls *libc.TLS, pGlobal uintptr, db uintptr) int32 { /* } // Return the number of phrases in expression pExpr. -func sqlite3Fts5ExprPhraseCount(tls *libc.TLS, pExpr uintptr) int32 { /* sqlite3.c:223956:12: */ +func sqlite3Fts5ExprPhraseCount(tls *libc.TLS, pExpr uintptr) int32 { /* sqlite3.c:224013:12: */ return func() int32 { if pExpr != 0 { return (*Fts5Expr)(unsafe.Pointer(pExpr)).FnPhrase @@ -181369,7 +181400,7 @@ func sqlite3Fts5ExprPhraseCount(tls *libc.TLS, pExpr uintptr) int32 { /* sqlite3 } // Return the number of terms in the iPhrase'th phrase in pExpr. -func sqlite3Fts5ExprPhraseSize(tls *libc.TLS, pExpr uintptr, iPhrase int32) int32 { /* sqlite3.c:223963:12: */ +func sqlite3Fts5ExprPhraseSize(tls *libc.TLS, pExpr uintptr, iPhrase int32) int32 { /* sqlite3.c:224020:12: */ if iPhrase < 0 || iPhrase >= (*Fts5Expr)(unsafe.Pointer(pExpr)).FnPhrase { return 0 } @@ -181378,7 +181409,7 @@ func sqlite3Fts5ExprPhraseSize(tls *libc.TLS, pExpr uintptr, iPhrase int32) int3 // This function is used to access the current position list for phrase // iPhrase. -func sqlite3Fts5ExprPoslist(tls *libc.TLS, pExpr uintptr, iPhrase int32, pa uintptr) int32 { /* sqlite3.c:223972:12: */ +func sqlite3Fts5ExprPoslist(tls *libc.TLS, pExpr uintptr, iPhrase int32, pa uintptr) int32 { /* sqlite3.c:224029:12: */ var nRet int32 var pPhrase uintptr = *(*uintptr)(unsafe.Pointer((*Fts5Expr)(unsafe.Pointer(pExpr)).FapExprPhrase + uintptr(iPhrase)*8)) var pNode uintptr = (*Fts5ExprPhrase)(unsafe.Pointer(pPhrase)).FpNode @@ -181399,7 +181430,7 @@ func sqlite3Fts5ExprPoslist(tls *libc.TLS, pExpr uintptr, iPhrase int32, pa uint // At present this function is only used for detail=col and detail=none // fts5 tables. This implies that all phrases must be at most 1 token // in size, as phrase matches are not supported without detail=full. -func sqlite3Fts5ExprClearPoslists(tls *libc.TLS, pExpr uintptr, bLive int32) uintptr { /* sqlite3.c:224001:29: */ +func sqlite3Fts5ExprClearPoslists(tls *libc.TLS, pExpr uintptr, bLive int32) uintptr { /* sqlite3.c:224058:29: */ var pRet uintptr pRet = Xsqlite3_malloc64(tls, uint64(uint64(unsafe.Sizeof(Fts5PoslistPopulator{}))*uint64((*Fts5Expr)(unsafe.Pointer(pExpr)).FnPhrase))) if pRet != 0 { @@ -181423,12 +181454,12 @@ type Fts5ExprCtx1 = struct { FpExpr uintptr FaPopulator uintptr FiOff I64 -} /* sqlite3.c:224023:1 */ +} /* sqlite3.c:224080:1 */ -type Fts5ExprCtx = Fts5ExprCtx1 /* sqlite3.c:224028:28 */ +type Fts5ExprCtx = Fts5ExprCtx1 /* sqlite3.c:224085:28 */ // TODO: Make this more efficient! -func fts5ExprColsetTest(tls *libc.TLS, pColset uintptr, iCol int32) int32 { /* sqlite3.c:224033:12: */ +func fts5ExprColsetTest(tls *libc.TLS, pColset uintptr, iCol int32) int32 { /* sqlite3.c:224090:12: */ var i int32 for i = 0; i < (*Fts5Colset)(unsafe.Pointer(pColset)).FnCol; i++ { if *(*int32)(unsafe.Pointer(pColset + 4 + uintptr(i)*4)) == iCol { @@ -181438,7 +181469,7 @@ func fts5ExprColsetTest(tls *libc.TLS, pColset uintptr, iCol int32) int32 { /* s return 0 } -func fts5ExprPopulatePoslistsCb(tls *libc.TLS, pCtx uintptr, tflags int32, pToken uintptr, nToken int32, iUnused1 int32, iUnused2 int32) int32 { /* sqlite3.c:224041:12: */ +func fts5ExprPopulatePoslistsCb(tls *libc.TLS, pCtx uintptr, tflags int32, pToken uintptr, nToken int32, iUnused1 int32, iUnused2 int32) int32 { /* sqlite3.c:224098:12: */ var p uintptr = pCtx var pExpr uintptr = (*Fts5ExprCtx)(unsafe.Pointer(p)).FpExpr var i int32 @@ -181473,7 +181504,7 @@ func fts5ExprPopulatePoslistsCb(tls *libc.TLS, pCtx uintptr, tflags int32, pToke return SQLITE_OK } -func sqlite3Fts5ExprPopulatePoslists(tls *libc.TLS, pConfig uintptr, pExpr uintptr, aPopulator uintptr, iCol int32, z uintptr, n int32) int32 { /* sqlite3.c:224076:12: */ +func sqlite3Fts5ExprPopulatePoslists(tls *libc.TLS, pConfig uintptr, pExpr uintptr, aPopulator uintptr, iCol int32, z uintptr, n int32) int32 { /* sqlite3.c:224133:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -181501,7 +181532,7 @@ func sqlite3Fts5ExprPopulatePoslists(tls *libc.TLS, pConfig uintptr, pExpr uintp }{fts5ExprPopulatePoslistsCb}))) } -func fts5ExprClearPoslists(tls *libc.TLS, pNode uintptr) { /* sqlite3.c:224106:13: */ +func fts5ExprClearPoslists(tls *libc.TLS, pNode uintptr) { /* sqlite3.c:224163:13: */ if (*Fts5ExprNode)(unsafe.Pointer(pNode)).FeType == FTS5_TERM || (*Fts5ExprNode)(unsafe.Pointer(pNode)).FeType == FTS5_STRING { (*Fts5ExprPhrase)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer((*Fts5ExprNode)(unsafe.Pointer(pNode)).FpNear + 24)))).Fposlist.Fn = 0 } else { @@ -181512,7 +181543,7 @@ func fts5ExprClearPoslists(tls *libc.TLS, pNode uintptr) { /* sqlite3.c:224106:1 } } -func fts5ExprCheckPoslists(tls *libc.TLS, pNode uintptr, iRowid I64) int32 { /* sqlite3.c:224117:12: */ +func fts5ExprCheckPoslists(tls *libc.TLS, pNode uintptr, iRowid I64) int32 { /* sqlite3.c:224174:12: */ (*Fts5ExprNode)(unsafe.Pointer(pNode)).FiRowid = iRowid (*Fts5ExprNode)(unsafe.Pointer(pNode)).FbEof = 0 switch (*Fts5ExprNode)(unsafe.Pointer(pNode)).FeType { @@ -181562,12 +181593,12 @@ func fts5ExprCheckPoslists(tls *libc.TLS, pNode uintptr, iRowid I64) int32 { /* return 1 } -func sqlite3Fts5ExprCheckPoslists(tls *libc.TLS, pExpr uintptr, iRowid I64) { /* sqlite3.c:224161:13: */ +func sqlite3Fts5ExprCheckPoslists(tls *libc.TLS, pExpr uintptr, iRowid I64) { /* sqlite3.c:224218:13: */ fts5ExprCheckPoslists(tls, (*Fts5Expr)(unsafe.Pointer(pExpr)).FpRoot, iRowid) } // This function is only called for detail=columns tables. -func sqlite3Fts5ExprPhraseCollist(tls *libc.TLS, pExpr uintptr, iPhrase int32, ppCollist uintptr, pnCollist uintptr) int32 { /* sqlite3.c:224168:12: */ +func sqlite3Fts5ExprPhraseCollist(tls *libc.TLS, pExpr uintptr, iPhrase int32, ppCollist uintptr, pnCollist uintptr) int32 { /* sqlite3.c:224225:12: */ var pPhrase uintptr = *(*uintptr)(unsafe.Pointer((*Fts5Expr)(unsafe.Pointer(pExpr)).FapExprPhrase + uintptr(iPhrase)*8)) var pNode uintptr = (*Fts5ExprPhrase)(unsafe.Pointer(pPhrase)).FpNode var rc int32 = SQLITE_OK @@ -181618,7 +181649,7 @@ type Fts5HashEntry1 = struct { FiCol I16 FiPos int32 FiRowid I64 -} /* sqlite3.c:216813:9 */ +} /* sqlite3.c:216870:9 */ // 2014 August 11 // @@ -181634,14 +181665,14 @@ type Fts5HashEntry1 = struct { // #include "fts5Int.h" -type Fts5HashEntry = Fts5HashEntry1 /* sqlite3.c:224221:30 */ +type Fts5HashEntry = Fts5HashEntry1 /* sqlite3.c:224278:30 */ // Eqivalent to: // // char *fts5EntryKey(Fts5HashEntry *pEntry){ return zKey; } // Allocate a new hash table. -func sqlite3Fts5HashNew(tls *libc.TLS, pConfig uintptr, ppNew uintptr, pnByte uintptr) int32 { /* sqlite3.c:224287:12: */ +func sqlite3Fts5HashNew(tls *libc.TLS, pConfig uintptr, ppNew uintptr, pnByte uintptr) int32 { /* sqlite3.c:224344:12: */ var rc int32 = SQLITE_OK var pNew uintptr @@ -181669,7 +181700,7 @@ func sqlite3Fts5HashNew(tls *libc.TLS, pConfig uintptr, ppNew uintptr, pnByte ui } // Free a hash table object. -func sqlite3Fts5HashFree(tls *libc.TLS, pHash uintptr) { /* sqlite3.c:224317:13: */ +func sqlite3Fts5HashFree(tls *libc.TLS, pHash uintptr) { /* sqlite3.c:224374:13: */ if pHash != 0 { sqlite3Fts5HashClear(tls, pHash) Xsqlite3_free(tls, (*Fts5Hash)(unsafe.Pointer(pHash)).FaSlot) @@ -181678,7 +181709,7 @@ func sqlite3Fts5HashFree(tls *libc.TLS, pHash uintptr) { /* sqlite3.c:224317:13: } // Empty (but do not delete) a hash table. -func sqlite3Fts5HashClear(tls *libc.TLS, pHash uintptr) { /* sqlite3.c:224328:13: */ +func sqlite3Fts5HashClear(tls *libc.TLS, pHash uintptr) { /* sqlite3.c:224385:13: */ var i int32 for i = 0; i < (*Fts5Hash)(unsafe.Pointer(pHash)).FnSlot; i++ { var pNext uintptr @@ -181692,7 +181723,7 @@ func sqlite3Fts5HashClear(tls *libc.TLS, pHash uintptr) { /* sqlite3.c:224328:13 (*Fts5Hash)(unsafe.Pointer(pHash)).FnEntry = 0 } -func fts5HashKey(tls *libc.TLS, nSlot int32, p uintptr, n int32) uint32 { /* sqlite3.c:224342:21: */ +func fts5HashKey(tls *libc.TLS, nSlot int32, p uintptr, n int32) uint32 { /* sqlite3.c:224399:21: */ var i int32 var h uint32 = uint32(13) for i = n - 1; i >= 0; i-- { @@ -181701,7 +181732,7 @@ func fts5HashKey(tls *libc.TLS, nSlot int32, p uintptr, n int32) uint32 { /* sql return h % uint32(nSlot) } -func fts5HashKey2(tls *libc.TLS, nSlot int32, b U8, p uintptr, n int32) uint32 { /* sqlite3.c:224351:21: */ +func fts5HashKey2(tls *libc.TLS, nSlot int32, b U8, p uintptr, n int32) uint32 { /* sqlite3.c:224408:21: */ var i int32 var h uint32 = uint32(13) for i = n - 1; i >= 0; i-- { @@ -181712,7 +181743,7 @@ func fts5HashKey2(tls *libc.TLS, nSlot int32, b U8, p uintptr, n int32) uint32 { } // Resize the hash table by doubling the number of slots. -func fts5HashResize(tls *libc.TLS, pHash uintptr) int32 { /* sqlite3.c:224364:12: */ +func fts5HashResize(tls *libc.TLS, pHash uintptr) int32 { /* sqlite3.c:224421:12: */ var nNew int32 = (*Fts5Hash)(unsafe.Pointer(pHash)).FnSlot * 2 var i int32 var apNew uintptr @@ -181742,7 +181773,7 @@ func fts5HashResize(tls *libc.TLS, pHash uintptr) int32 { /* sqlite3.c:224364:12 return SQLITE_OK } -func fts5HashAddPoslistSize(tls *libc.TLS, pHash uintptr, p uintptr, p2 uintptr) int32 { /* sqlite3.c:224392:12: */ +func fts5HashAddPoslistSize(tls *libc.TLS, pHash uintptr, p uintptr, p2 uintptr) int32 { /* sqlite3.c:224449:12: */ var nRet int32 = 0 if (*Fts5HashEntry)(unsafe.Pointer(p)).FiSzPoslist != 0 { var pPtr uintptr @@ -181791,7 +181822,7 @@ func fts5HashAddPoslistSize(tls *libc.TLS, pHash uintptr, p uintptr, p2 uintptr) // (bByte || pToken) -> (iRowid,iCol,iPos) // // Or, if iCol is negative, then the value is a delete marker. -func sqlite3Fts5HashWrite(tls *libc.TLS, pHash uintptr, iRowid I64, iCol int32, iPos int32, bByte uint8, pToken uintptr, nToken int32) int32 { /* sqlite3.c:224443:12: */ +func sqlite3Fts5HashWrite(tls *libc.TLS, pHash uintptr, iRowid I64, iCol int32, iPos int32, bByte uint8, pToken uintptr, nToken int32) int32 { /* sqlite3.c:224500:12: */ var iHash uint32 var p uintptr var pPtr uintptr @@ -181950,7 +181981,7 @@ func sqlite3Fts5HashWrite(tls *libc.TLS, pHash uintptr, iRowid I64, iCol int32, // Arguments pLeft and pRight point to linked-lists of hash-entry objects, // each sorted in key order. This function merges the two lists into a // single list and returns a pointer to its first element. -func fts5HashEntryMerge(tls *libc.TLS, pLeft uintptr, pRight uintptr) uintptr { /* sqlite3.c:224596:22: */ +func fts5HashEntryMerge(tls *libc.TLS, pLeft uintptr, pRight uintptr) uintptr { /* sqlite3.c:224653:22: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -181996,7 +182027,7 @@ func fts5HashEntryMerge(tls *libc.TLS, pLeft uintptr, pRight uintptr) uintptr { // in sorted order. The hash table is cleared before returning. It is // the responsibility of the caller to free the elements of the returned // list. -func fts5HashEntrySort(tls *libc.TLS, pHash uintptr, pTerm uintptr, nTerm int32, ppSorted uintptr) int32 { /* sqlite3.c:224642:12: */ +func fts5HashEntrySort(tls *libc.TLS, pHash uintptr, pTerm uintptr, nTerm int32, ppSorted uintptr) int32 { /* sqlite3.c:224699:12: */ var nMergeSlot int32 = 32 var ap uintptr var pList uintptr @@ -182038,7 +182069,7 @@ func fts5HashEntrySort(tls *libc.TLS, pHash uintptr, pTerm uintptr, nTerm int32, } // Query the hash table for a doclist associated with term pTerm/nTerm. -func sqlite3Fts5HashQuery(tls *libc.TLS, pHash uintptr, nPre int32, pTerm uintptr, nTerm int32, ppOut uintptr, pnDoclist uintptr) int32 { /* sqlite3.c:224689:12: */ +func sqlite3Fts5HashQuery(tls *libc.TLS, pHash uintptr, nPre int32, pTerm uintptr, nTerm int32, ppOut uintptr, pnDoclist uintptr) int32 { /* sqlite3.c:224746:12: */ var iHash uint32 = fts5HashKey(tls, (*Fts5Hash)(unsafe.Pointer(pHash)).FnSlot, pTerm, nTerm) var zKey uintptr = uintptr(0) var p uintptr @@ -182072,20 +182103,20 @@ func sqlite3Fts5HashQuery(tls *libc.TLS, pHash uintptr, nPre int32, pTerm uintpt return SQLITE_OK } -func sqlite3Fts5HashScanInit(tls *libc.TLS, p uintptr, pTerm uintptr, nTerm int32) int32 { /* sqlite3.c:224727:12: */ +func sqlite3Fts5HashScanInit(tls *libc.TLS, p uintptr, pTerm uintptr, nTerm int32) int32 { /* sqlite3.c:224784:12: */ return fts5HashEntrySort(tls, p, pTerm, nTerm, p+24) } -func sqlite3Fts5HashScanNext(tls *libc.TLS, p uintptr) { /* sqlite3.c:224734:13: */ +func sqlite3Fts5HashScanNext(tls *libc.TLS, p uintptr) { /* sqlite3.c:224791:13: */ (*Fts5Hash)(unsafe.Pointer(p)).FpScan = (*Fts5HashEntry)(unsafe.Pointer((*Fts5Hash)(unsafe.Pointer(p)).FpScan)).FpScanNext } -func sqlite3Fts5HashScanEof(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:224739:12: */ +func sqlite3Fts5HashScanEof(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:224796:12: */ return libc.Bool32((*Fts5Hash)(unsafe.Pointer(p)).FpScan == uintptr(0)) } -func sqlite3Fts5HashScanEntry(tls *libc.TLS, pHash uintptr, pzTerm uintptr, ppDoclist uintptr, pnDoclist uintptr) { /* sqlite3.c:224743:13: */ +func sqlite3Fts5HashScanEntry(tls *libc.TLS, pHash uintptr, pzTerm uintptr, ppDoclist uintptr, pnDoclist uintptr) { /* sqlite3.c:224800:13: */ var p uintptr if libc.AssignUintptr(&p, (*Fts5Hash)(unsafe.Pointer(pHash)).FpScan) != 0 { var zKey uintptr = p + 1*48 @@ -182311,7 +182342,7 @@ type Fts5Data1 = struct { Fp uintptr Fnn int32 FszLeaf int32 -} /* sqlite3.c:225018:9 */ +} /* sqlite3.c:225075:9 */ // 2014 May 31 // @@ -182519,14 +182550,14 @@ type Fts5Data1 = struct { // many zero bytes. This makes it easier to decode the various record formats // without overreading if the records are corrupt. -type Fts5Data = Fts5Data1 /* sqlite3.c:225018:25 */ +type Fts5Data = Fts5Data1 /* sqlite3.c:225075:25 */ type Fts5DlidxIter1 = struct { FnLvl int32 FiSegid int32 FaLvl [1]Fts5DlidxLvl -} /* sqlite3.c:225019:9 */ +} /* sqlite3.c:225076:9 */ -type Fts5DlidxIter = Fts5DlidxIter1 /* sqlite3.c:225019:30 */ +type Fts5DlidxIter = Fts5DlidxIter1 /* sqlite3.c:225076:30 */ type Fts5DlidxLvl1 = struct { FpData uintptr FiOff int32 @@ -182534,17 +182565,17 @@ type Fts5DlidxLvl1 = struct { FiFirstOff int32 FiLeafPgno int32 FiRowid I64 -} /* sqlite3.c:225019:9 */ +} /* sqlite3.c:225076:9 */ -type Fts5DlidxLvl = Fts5DlidxLvl1 /* sqlite3.c:225020:29 */ +type Fts5DlidxLvl = Fts5DlidxLvl1 /* sqlite3.c:225077:29 */ type Fts5DlidxWriter1 = struct { Fpgno int32 FbPrevValid int32 FiPrev I64 Fbuf Fts5Buffer -} /* sqlite3.c:225021:9 */ +} /* sqlite3.c:225078:9 */ -type Fts5DlidxWriter = Fts5DlidxWriter1 /* sqlite3.c:225021:32 */ +type Fts5DlidxWriter = Fts5DlidxWriter1 /* sqlite3.c:225078:32 */ type Fts5Iter1 = struct { Fbase Fts5IndexIter FpIndex uintptr @@ -182558,18 +182589,18 @@ type Fts5Iter1 = struct { FiSwitchRowid I64 FaFirst uintptr FaSeg [1]Fts5SegIter -} /* sqlite3.c:225022:9 */ +} /* sqlite3.c:225079:9 */ -type Fts5Iter = Fts5Iter1 /* sqlite3.c:225022:25 */ +type Fts5Iter = Fts5Iter1 /* sqlite3.c:225079:25 */ type Fts5PageWriter1 = struct { Fpgno int32 FiPrevPgidx int32 Fbuf Fts5Buffer Fpgidx Fts5Buffer Fterm Fts5Buffer -} /* sqlite3.c:225023:9 */ +} /* sqlite3.c:225080:9 */ -type Fts5PageWriter = Fts5PageWriter1 /* sqlite3.c:225023:31 */ +type Fts5PageWriter = Fts5PageWriter1 /* sqlite3.c:225080:31 */ type Fts5SegIter1 = struct { FpSeg uintptr Fflags int32 @@ -182591,18 +182622,18 @@ type Fts5SegIter1 = struct { FnPos int32 FbDel U8 F__ccgo_pad1 [3]byte -} /* sqlite3.c:225022:9 */ +} /* sqlite3.c:225079:9 */ -type Fts5SegIter = Fts5SegIter1 /* sqlite3.c:225024:28 */ +type Fts5SegIter = Fts5SegIter1 /* sqlite3.c:225081:28 */ type Fts5DoclistIter1 = struct { FaEof uintptr FiRowid I64 FaPoslist uintptr FnPoslist int32 FnSize int32 -} /* sqlite3.c:225025:9 */ +} /* sqlite3.c:225082:9 */ -type Fts5DoclistIter = Fts5DoclistIter1 /* sqlite3.c:225025:32 */ +type Fts5DoclistIter = Fts5DoclistIter1 /* sqlite3.c:225082:32 */ type Fts5SegWriter1 = struct { FiSegid int32 F__ccgo_pad1 [4]byte @@ -182619,9 +182650,9 @@ type Fts5SegWriter1 = struct { Fbtterm Fts5Buffer FiBtPage int32 F__ccgo_pad3 [4]byte -} /* sqlite3.c:225026:9 */ +} /* sqlite3.c:225083:9 */ -type Fts5SegWriter = Fts5SegWriter1 /* sqlite3.c:225026:30 */ +type Fts5SegWriter = Fts5SegWriter1 /* sqlite3.c:225083:30 */ type Fts5Structure1 = struct { FnRef int32 F__ccgo_pad1 [4]byte @@ -182629,38 +182660,38 @@ type Fts5Structure1 = struct { FnSegment int32 FnLevel int32 FaLevel [1]Fts5StructureLevel -} /* sqlite3.c:216813:9 */ +} /* sqlite3.c:216870:9 */ -type Fts5Structure = Fts5Structure1 /* sqlite3.c:225027:30 */ +type Fts5Structure = Fts5Structure1 /* sqlite3.c:225084:30 */ type Fts5StructureLevel1 = struct { FnMerge int32 FnSeg int32 FaSeg uintptr -} /* sqlite3.c:216813:9 */ +} /* sqlite3.c:216870:9 */ -type Fts5StructureLevel = Fts5StructureLevel1 /* sqlite3.c:225028:35 */ +type Fts5StructureLevel = Fts5StructureLevel1 /* sqlite3.c:225085:35 */ type Fts5StructureSegment1 = struct { FiSegid int32 FpgnoFirst int32 FpgnoLast int32 -} /* sqlite3.c:216813:9 */ +} /* sqlite3.c:216870:9 */ -type Fts5StructureSegment = Fts5StructureSegment1 /* sqlite3.c:225029:37 */ +type Fts5StructureSegment = Fts5StructureSegment1 /* sqlite3.c:225086:37 */ type Fts5CResult1 = struct { FiFirst U16 FbTermEq U8 F__ccgo_pad1 [1]byte -} /* sqlite3.c:225022:9 */ +} /* sqlite3.c:225079:9 */ -type Fts5CResult = Fts5CResult1 /* sqlite3.c:225139:28 */ +type Fts5CResult = Fts5CResult1 /* sqlite3.c:225196:28 */ -func fts5PutU16(tls *libc.TLS, aOut uintptr, iVal U16) { /* sqlite3.c:225318:13: */ +func fts5PutU16(tls *libc.TLS, aOut uintptr, iVal U16) { /* sqlite3.c:225375:13: */ *(*U8)(unsafe.Pointer(aOut)) = U8(int32(iVal) >> 8) *(*U8)(unsafe.Pointer(aOut + 1)) = U8(int32(iVal) & 0xFF) } -func fts5GetU16(tls *libc.TLS, aIn uintptr) U16 { /* sqlite3.c:225323:12: */ +func fts5GetU16(tls *libc.TLS, aIn uintptr) U16 { /* sqlite3.c:225380:12: */ return U16(int32(U16(*(*U8)(unsafe.Pointer(aIn))))<<8 + int32(*(*U8)(unsafe.Pointer(aIn + 1)))) } @@ -182668,7 +182699,7 @@ func fts5GetU16(tls *libc.TLS, aIn uintptr) U16 { /* sqlite3.c:225323:12: */ // // If an OOM error is encountered, return NULL and set the error code in // the Fts5Index handle passed as the first argument. -func fts5IdxMalloc(tls *libc.TLS, p uintptr, nByte Sqlite3_int64) uintptr { /* sqlite3.c:225333:13: */ +func fts5IdxMalloc(tls *libc.TLS, p uintptr, nByte Sqlite3_int64) uintptr { /* sqlite3.c:225390:13: */ return sqlite3Fts5MallocZero(tls, p+52, nByte) } @@ -182686,7 +182717,7 @@ func fts5IdxMalloc(tls *libc.TLS, p uintptr, nByte Sqlite3_int64) uintptr { /* s // +ve if pRight is smaller than pLeft. In other words: // // res = *pLeft - *pRight -func fts5BufferCompare(tls *libc.TLS, pLeft uintptr, pRight uintptr) int32 { /* sqlite3.c:225365:12: */ +func fts5BufferCompare(tls *libc.TLS, pLeft uintptr, pRight uintptr) int32 { /* sqlite3.c:225422:12: */ var nCmp int32 var res int32 nCmp = func() int32 { @@ -182710,7 +182741,7 @@ func fts5BufferCompare(tls *libc.TLS, pLeft uintptr, pRight uintptr) int32 { /* }() } -func fts5LeafFirstTermOff(tls *libc.TLS, pLeaf uintptr) int32 { /* sqlite3.c:225374:12: */ +func fts5LeafFirstTermOff(tls *libc.TLS, pLeaf uintptr) int32 { /* sqlite3.c:225431:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -182721,7 +182752,7 @@ func fts5LeafFirstTermOff(tls *libc.TLS, pLeaf uintptr) int32 { /* sqlite3.c:225 } // Close the read-only blob handle, if it is open. -func sqlite3Fts5IndexCloseReader(tls *libc.TLS, p uintptr) { /* sqlite3.c:225383:13: */ +func sqlite3Fts5IndexCloseReader(tls *libc.TLS, p uintptr) { /* sqlite3.c:225440:13: */ if (*Fts5Index)(unsafe.Pointer(p)).FpReader != 0 { var pReader uintptr = (*Fts5Index)(unsafe.Pointer(p)).FpReader (*Fts5Index)(unsafe.Pointer(p)).FpReader = uintptr(0) @@ -182733,7 +182764,7 @@ func sqlite3Fts5IndexCloseReader(tls *libc.TLS, p uintptr) { /* sqlite3.c:225383 // // If an error occurs, NULL is returned and an error left in the // Fts5Index object. -func fts5DataRead(tls *libc.TLS, p uintptr, iRowid I64) uintptr { /* sqlite3.c:225397:17: */ +func fts5DataRead(tls *libc.TLS, p uintptr, iRowid I64) uintptr { /* sqlite3.c:225454:17: */ var pRet uintptr = uintptr(0) if (*Fts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK { var rc int32 = SQLITE_OK @@ -182806,11 +182837,11 @@ func fts5DataRead(tls *libc.TLS, p uintptr, iRowid I64) uintptr { /* sqlite3.c:2 // Release a reference to data record returned by an earlier call to // fts5DataRead(). -func fts5DataRelease(tls *libc.TLS, pData uintptr) { /* sqlite3.c:225471:13: */ +func fts5DataRelease(tls *libc.TLS, pData uintptr) { /* sqlite3.c:225528:13: */ Xsqlite3_free(tls, pData) } -func fts5LeafRead(tls *libc.TLS, p uintptr, iRowid I64) uintptr { /* sqlite3.c:225475:17: */ +func fts5LeafRead(tls *libc.TLS, p uintptr, iRowid I64) uintptr { /* sqlite3.c:225532:17: */ var pRet uintptr = fts5DataRead(tls, p, iRowid) if pRet != 0 { if (*Fts5Data)(unsafe.Pointer(pRet)).Fnn < 4 || (*Fts5Data)(unsafe.Pointer(pRet)).FszLeaf > (*Fts5Data)(unsafe.Pointer(pRet)).Fnn { @@ -182822,7 +182853,7 @@ func fts5LeafRead(tls *libc.TLS, p uintptr, iRowid I64) uintptr { /* sqlite3.c:2 return pRet } -func fts5IndexPrepareStmt(tls *libc.TLS, p uintptr, ppStmt uintptr, zSql uintptr) int32 { /* sqlite3.c:225487:12: */ +func fts5IndexPrepareStmt(tls *libc.TLS, p uintptr, ppStmt uintptr, zSql uintptr) int32 { /* sqlite3.c:225544:12: */ if (*Fts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK { if zSql != 0 { (*Fts5Index)(unsafe.Pointer(p)).Frc = Xsqlite3_prepare_v3(tls, (*Fts5Config)(unsafe.Pointer((*Fts5Index)(unsafe.Pointer(p)).FpConfig)).Fdb, zSql, -1, @@ -182837,7 +182868,7 @@ func fts5IndexPrepareStmt(tls *libc.TLS, p uintptr, ppStmt uintptr, zSql uintptr } // INSERT OR REPLACE a record into the %_data table. -func fts5DataWrite(tls *libc.TLS, p uintptr, iRowid I64, pData uintptr, nData int32) { /* sqlite3.c:225509:13: */ +func fts5DataWrite(tls *libc.TLS, p uintptr, iRowid I64, pData uintptr, nData int32) { /* sqlite3.c:225566:13: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -182865,7 +182896,7 @@ func fts5DataWrite(tls *libc.TLS, p uintptr, iRowid I64, pData uintptr, nData in // Execute the following SQL: // // DELETE FROM %_data WHERE id BETWEEN $iFirst AND $iLast -func fts5DataDelete(tls *libc.TLS, p uintptr, iFirst I64, iLast I64) { /* sqlite3.c:225533:13: */ +func fts5DataDelete(tls *libc.TLS, p uintptr, iFirst I64, iLast I64) { /* sqlite3.c:225590:13: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -182890,7 +182921,7 @@ func fts5DataDelete(tls *libc.TLS, p uintptr, iFirst I64, iLast I64) { /* sqlite } // Remove all records associated with segment iSegid. -func fts5DataRemoveSegment(tls *libc.TLS, p uintptr, iSegid int32) { /* sqlite3.c:225554:13: */ +func fts5DataRemoveSegment(tls *libc.TLS, p uintptr, iSegid int32) { /* sqlite3.c:225611:13: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -182912,7 +182943,7 @@ func fts5DataRemoveSegment(tls *libc.TLS, p uintptr, iSegid int32) { /* sqlite3. // Release a reference to an Fts5Structure object returned by an earlier // call to fts5StructureRead() or fts5StructureDecode(). -func fts5StructureRelease(tls *libc.TLS, pStruct uintptr) { /* sqlite3.c:225576:13: */ +func fts5StructureRelease(tls *libc.TLS, pStruct uintptr) { /* sqlite3.c:225633:13: */ if pStruct != 0 && 0 >= libc.PreDecInt32(&(*Fts5Structure)(unsafe.Pointer(pStruct)).FnRef, 1) { var i int32 @@ -182923,22 +182954,22 @@ func fts5StructureRelease(tls *libc.TLS, pStruct uintptr) { /* sqlite3.c:225576: } } -func fts5StructureRef(tls *libc.TLS, pStruct uintptr) { /* sqlite3.c:225587:13: */ +func fts5StructureRef(tls *libc.TLS, pStruct uintptr) { /* sqlite3.c:225644:13: */ (*Fts5Structure)(unsafe.Pointer(pStruct)).FnRef++ } -func sqlite3Fts5StructureRef(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:225591:13: */ +func sqlite3Fts5StructureRef(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:225648:13: */ fts5StructureRef(tls, (*Fts5Index)(unsafe.Pointer(p)).FpStruct) return (*Fts5Index)(unsafe.Pointer(p)).FpStruct } -func sqlite3Fts5StructureRelease(tls *libc.TLS, p uintptr) { /* sqlite3.c:225595:13: */ +func sqlite3Fts5StructureRelease(tls *libc.TLS, p uintptr) { /* sqlite3.c:225652:13: */ if p != 0 { fts5StructureRelease(tls, p) } } -func sqlite3Fts5StructureTest(tls *libc.TLS, p uintptr, pStruct uintptr) int32 { /* sqlite3.c:225600:12: */ +func sqlite3Fts5StructureTest(tls *libc.TLS, p uintptr, pStruct uintptr) int32 { /* sqlite3.c:225657:12: */ if (*Fts5Index)(unsafe.Pointer(p)).FpStruct != pStruct { return SQLITE_ABORT } @@ -182949,7 +182980,7 @@ func sqlite3Fts5StructureTest(tls *libc.TLS, p uintptr, pStruct uintptr) int32 { // // This function is a no-op if (*pRc) is not SQLITE_OK when it is called. If // an error occurs, (*pRc) is set to an SQLite error code before returning. -func fts5StructureMakeWritable(tls *libc.TLS, pRc uintptr, pp uintptr) { /* sqlite3.c:225613:13: */ +func fts5StructureMakeWritable(tls *libc.TLS, pRc uintptr, pp uintptr) { /* sqlite3.c:225670:13: */ var p uintptr = *(*uintptr)(unsafe.Pointer(pp)) if *(*int32)(unsafe.Pointer(pRc)) == SQLITE_OK && (*Fts5Structure)(unsafe.Pointer(p)).FnRef > 1 { var nByte I64 = I64(uint64(unsafe.Sizeof(Fts5Structure{})) + uint64((*Fts5Structure)(unsafe.Pointer(p)).FnLevel-1)*uint64(unsafe.Sizeof(Fts5StructureLevel{}))) @@ -182991,7 +183022,7 @@ func fts5StructureMakeWritable(tls *libc.TLS, pRc uintptr, pp uintptr) { /* sqli // If an error occurs, *ppOut is set to NULL and an SQLite error code // returned. Otherwise, *ppOut is set to point to the new object and // SQLITE_OK returned. -func fts5StructureDecode(tls *libc.TLS, pData uintptr, nData int32, piCookie uintptr, ppOut uintptr) int32 { /* sqlite3.c:225655:12: */ +func fts5StructureDecode(tls *libc.TLS, pData uintptr, nData int32, piCookie uintptr, ppOut uintptr) int32 { /* sqlite3.c:225712:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -183084,7 +183115,7 @@ func fts5StructureDecode(tls *libc.TLS, pData uintptr, nData int32, piCookie uin // Add a level to the Fts5Structure.aLevel[] array of structure object // (*ppStruct). -func fts5StructureAddLevel(tls *libc.TLS, pRc uintptr, ppStruct uintptr) { /* sqlite3.c:225747:13: */ +func fts5StructureAddLevel(tls *libc.TLS, pRc uintptr, ppStruct uintptr) { /* sqlite3.c:225804:13: */ fts5StructureMakeWritable(tls, pRc, ppStruct) if *(*int32)(unsafe.Pointer(pRc)) == SQLITE_OK { var pStruct uintptr = *(*uintptr)(unsafe.Pointer(ppStruct)) @@ -183104,7 +183135,7 @@ func fts5StructureAddLevel(tls *libc.TLS, pRc uintptr, ppStruct uintptr) { /* sq // Extend level iLvl so that there is room for at least nExtra more // segments. -func fts5StructureExtendLevel(tls *libc.TLS, pRc uintptr, pStruct uintptr, iLvl int32, nExtra int32, bInsert int32) { /* sqlite3.c:225772:13: */ +func fts5StructureExtendLevel(tls *libc.TLS, pRc uintptr, pStruct uintptr, iLvl int32, nExtra int32, bInsert int32) { /* sqlite3.c:225829:13: */ if *(*int32)(unsafe.Pointer(pRc)) == SQLITE_OK { var pLvl uintptr = pStruct + 24 + uintptr(iLvl)*16 var aNew uintptr @@ -183127,7 +183158,7 @@ func fts5StructureExtendLevel(tls *libc.TLS, pRc uintptr, pStruct uintptr, iLvl } } -func fts5StructureReadUncached(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:225801:22: */ +func fts5StructureReadUncached(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:225858:22: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -183155,7 +183186,7 @@ func fts5StructureReadUncached(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c: return *(*uintptr)(unsafe.Pointer(bp + 8 /* pRet */)) } -func fts5IndexDataVersion(tls *libc.TLS, p uintptr) I64 { /* sqlite3.c:225825:12: */ +func fts5IndexDataVersion(tls *libc.TLS, p uintptr) I64 { /* sqlite3.c:225882:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -183188,7 +183219,7 @@ func fts5IndexDataVersion(tls *libc.TLS, p uintptr) I64 { /* sqlite3.c:225825:12 // If an error occurs, NULL is returned and an error code left in the // Fts5Index handle. If an error has already occurred when this function // is called, it is a no-op. -func fts5StructureRead(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:225856:22: */ +func fts5StructureRead(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:225913:22: */ if (*Fts5Index)(unsafe.Pointer(p)).FpStruct == uintptr(0) { (*Fts5Index)(unsafe.Pointer(p)).FiStructVersion = fts5IndexDataVersion(tls, p) @@ -183205,7 +183236,7 @@ func fts5StructureRead(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:225856:2 return (*Fts5Index)(unsafe.Pointer(p)).FpStruct } -func fts5StructureInvalidate(tls *libc.TLS, p uintptr) { /* sqlite3.c:225895:13: */ +func fts5StructureInvalidate(tls *libc.TLS, p uintptr) { /* sqlite3.c:225952:13: */ if (*Fts5Index)(unsafe.Pointer(p)).FpStruct != 0 { fts5StructureRelease(tls, (*Fts5Index)(unsafe.Pointer(p)).FpStruct) (*Fts5Index)(unsafe.Pointer(p)).FpStruct = uintptr(0) @@ -183219,7 +183250,7 @@ func fts5StructureInvalidate(tls *libc.TLS, p uintptr) { /* sqlite3.c:225895:13: // // If an error occurs, leave an error code in the Fts5Index object. If an // error has already occurred, this function is a no-op. -func fts5StructureWrite(tls *libc.TLS, p uintptr, pStruct uintptr) { /* sqlite3.c:225938:13: */ +func fts5StructureWrite(tls *libc.TLS, p uintptr, pStruct uintptr) { /* sqlite3.c:225995:13: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -183272,14 +183303,14 @@ func fts5StructureWrite(tls *libc.TLS, p uintptr, pStruct uintptr) { /* sqlite3. } } -func fts5SegmentSize(tls *libc.TLS, pSeg uintptr) int32 { /* sqlite3.c:225993:12: */ +func fts5SegmentSize(tls *libc.TLS, pSeg uintptr) int32 { /* sqlite3.c:226050:12: */ return 1 + (*Fts5StructureSegment)(unsafe.Pointer(pSeg)).FpgnoLast - (*Fts5StructureSegment)(unsafe.Pointer(pSeg)).FpgnoFirst } // Return a copy of index structure pStruct. Except, promote as many // segments as possible to level iPromote. If an OOM occurs, NULL is // returned. -func fts5StructurePromoteTo(tls *libc.TLS, p uintptr, iPromote int32, szPromote int32, pStruct uintptr) { /* sqlite3.c:226002:13: */ +func fts5StructurePromoteTo(tls *libc.TLS, p uintptr, iPromote int32, szPromote int32, pStruct uintptr) { /* sqlite3.c:226059:13: */ var il int32 var is int32 var pOut uintptr = pStruct + 24 + uintptr(iPromote)*16 @@ -183322,7 +183353,7 @@ func fts5StructurePromoteTo(tls *libc.TLS, p uintptr, iPromote int32, szPromote // // If one or more segments are promoted, the structure object is updated // to reflect this. -func fts5StructurePromote(tls *libc.TLS, p uintptr, iLvl int32, pStruct uintptr) { /* sqlite3.c:226045:13: */ +func fts5StructurePromote(tls *libc.TLS, p uintptr, iLvl int32, pStruct uintptr) { /* sqlite3.c:226102:13: */ if (*Fts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK { var iTst int32 var iPromote int32 = -1 @@ -183371,7 +183402,7 @@ func fts5StructurePromote(tls *libc.TLS, p uintptr, iLvl int32, pStruct uintptr) // Advance the iterator passed as the only argument. If the end of the // doclist-index page is reached, return non-zero. -func fts5DlidxLvlNext(tls *libc.TLS, pLvl uintptr) int32 { /* sqlite3.c:226096:12: */ +func fts5DlidxLvlNext(tls *libc.TLS, pLvl uintptr) int32 { /* sqlite3.c:226153:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -183407,7 +183438,7 @@ func fts5DlidxLvlNext(tls *libc.TLS, pLvl uintptr) int32 { /* sqlite3.c:226096:1 } // Advance the iterator passed as the only argument. -func fts5DlidxIterNextR(tls *libc.TLS, p uintptr, pIter uintptr, iLvl int32) int32 { /* sqlite3.c:226128:12: */ +func fts5DlidxIterNextR(tls *libc.TLS, p uintptr, pIter uintptr, iLvl int32) int32 { /* sqlite3.c:226185:12: */ var pLvl uintptr = pIter + 8 + uintptr(iLvl)*32 if fts5DlidxLvlNext(tls, pLvl) != 0 { @@ -183428,7 +183459,7 @@ func fts5DlidxIterNextR(tls *libc.TLS, p uintptr, pIter uintptr, iLvl int32) int return (*Fts5DlidxLvl)(unsafe.Pointer(pIter + 8)).FbEof } -func fts5DlidxIterNext(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlite3.c:226148:12: */ +func fts5DlidxIterNext(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlite3.c:226205:12: */ return fts5DlidxIterNextR(tls, p, pIter, 0) } @@ -183441,7 +183472,7 @@ func fts5DlidxIterNext(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlit // // When this function is called pIter->iLeafPgno is the page number the // doclist is associated with (the one featuring the term). -func fts5DlidxIterFirst(tls *libc.TLS, pIter uintptr) int32 { /* sqlite3.c:226163:12: */ +func fts5DlidxIterFirst(tls *libc.TLS, pIter uintptr) int32 { /* sqlite3.c:226220:12: */ var i int32 for i = 0; i < (*Fts5DlidxIter)(unsafe.Pointer(pIter)).FnLvl; i++ { fts5DlidxLvlNext(tls, pIter+8+uintptr(i)*32) @@ -183449,11 +183480,11 @@ func fts5DlidxIterFirst(tls *libc.TLS, pIter uintptr) int32 { /* sqlite3.c:22616 return (*Fts5DlidxLvl)(unsafe.Pointer(pIter + 8)).FbEof } -func fts5DlidxIterEof(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlite3.c:226172:12: */ +func fts5DlidxIterEof(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlite3.c:226229:12: */ return libc.Bool32((*Fts5Index)(unsafe.Pointer(p)).Frc != SQLITE_OK || (*Fts5DlidxLvl)(unsafe.Pointer(pIter+8)).FbEof != 0) } -func fts5DlidxIterLast(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:226176:13: */ +func fts5DlidxIterLast(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:226233:13: */ var i int32 // Advance each level to the last entry on the last page @@ -183474,7 +183505,7 @@ func fts5DlidxIterLast(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:2 } // Move the iterator passed as the only argument to the previous entry. -func fts5DlidxLvlPrev(tls *libc.TLS, pLvl uintptr) int32 { /* sqlite3.c:226199:12: */ +func fts5DlidxLvlPrev(tls *libc.TLS, pLvl uintptr) int32 { /* sqlite3.c:226256:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -183536,7 +183567,7 @@ func fts5DlidxLvlPrev(tls *libc.TLS, pLvl uintptr) int32 { /* sqlite3.c:226199:1 return (*Fts5DlidxLvl)(unsafe.Pointer(pLvl)).FbEof } -func fts5DlidxIterPrevR(tls *libc.TLS, p uintptr, pIter uintptr, iLvl int32) int32 { /* sqlite3.c:226248:12: */ +func fts5DlidxIterPrevR(tls *libc.TLS, p uintptr, pIter uintptr, iLvl int32) int32 { /* sqlite3.c:226305:12: */ var pLvl uintptr = pIter + 8 + uintptr(iLvl)*32 if fts5DlidxLvlPrev(tls, pLvl) != 0 { @@ -183559,12 +183590,12 @@ func fts5DlidxIterPrevR(tls *libc.TLS, p uintptr, pIter uintptr, iLvl int32) int return (*Fts5DlidxLvl)(unsafe.Pointer(pIter + 8)).FbEof } -func fts5DlidxIterPrev(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlite3.c:226271:12: */ +func fts5DlidxIterPrev(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlite3.c:226328:12: */ return fts5DlidxIterPrevR(tls, p, pIter, 0) } // Free a doclist-index iterator object allocated by fts5DlidxIterInit(). -func fts5DlidxIterFree(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:226278:13: */ +func fts5DlidxIterFree(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:226335:13: */ if pIter != 0 { var i int32 for i = 0; i < (*Fts5DlidxIter)(unsafe.Pointer(pIter)).FnLvl; i++ { @@ -183574,7 +183605,7 @@ func fts5DlidxIterFree(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:226278:13: * } } -func fts5DlidxIterInit(tls *libc.TLS, p uintptr, bRev int32, iSegid int32, iLeafPg int32) uintptr { /* sqlite3.c:226288:22: */ +func fts5DlidxIterInit(tls *libc.TLS, p uintptr, bRev int32, iSegid int32, iLeafPg int32) uintptr { /* sqlite3.c:226345:22: */ var pIter uintptr = uintptr(0) var i int32 var bDone int32 = 0 @@ -183616,16 +183647,16 @@ func fts5DlidxIterInit(tls *libc.TLS, p uintptr, bRev int32, iSegid int32, iLeaf return pIter } -func fts5DlidxIterRowid(tls *libc.TLS, pIter uintptr) I64 { /* sqlite3.c:226335:12: */ +func fts5DlidxIterRowid(tls *libc.TLS, pIter uintptr) I64 { /* sqlite3.c:226392:12: */ return (*Fts5DlidxLvl)(unsafe.Pointer(pIter + 8)).FiRowid } -func fts5DlidxIterPgno(tls *libc.TLS, pIter uintptr) int32 { /* sqlite3.c:226338:12: */ +func fts5DlidxIterPgno(tls *libc.TLS, pIter uintptr) int32 { /* sqlite3.c:226395:12: */ return (*Fts5DlidxLvl)(unsafe.Pointer(pIter + 8)).FiLeafPgno } // Load the next leaf page into the segment iterator. -func fts5SegIterNextPage(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:226345:13: */ +func fts5SegIterNextPage(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:226402:13: */ var pLeaf uintptr var pSeg uintptr = (*Fts5SegIter)(unsafe.Pointer(pIter)).FpSeg fts5DataRelease(tls, (*Fts5SegIter)(unsafe.Pointer(pIter)).FpLeaf) @@ -183655,7 +183686,7 @@ func fts5SegIterNextPage(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c // position list size field. Read the varint and return the number of bytes // read. Before returning, set *pnSz to the number of bytes in the position // list, and *pbDel to true if the delete flag is set, or false otherwise. -func fts5GetPoslistSize(tls *libc.TLS, p uintptr, pnSz uintptr, pbDel uintptr) int32 { /* sqlite3.c:226383:12: */ +func fts5GetPoslistSize(tls *libc.TLS, p uintptr, pnSz uintptr, pbDel uintptr) int32 { /* sqlite3.c:226440:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -183684,7 +183715,7 @@ func fts5GetPoslistSize(tls *libc.TLS, p uintptr, pnSz uintptr, pbDel uintptr) i // // Leave Fts5SegIter.iLeafOffset pointing to the first byte of the // position list content (if any). -func fts5SegIterLoadNPos(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:226404:13: */ +func fts5SegIterLoadNPos(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:226461:13: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -183729,7 +183760,7 @@ func fts5SegIterLoadNPos(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c } } -func fts5SegIterLoadRowid(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:226433:13: */ +func fts5SegIterLoadRowid(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:226490:13: */ var a uintptr = (*Fts5Data)(unsafe.Pointer((*Fts5SegIter)(unsafe.Pointer(pIter)).FpLeaf)).Fp // Buffer to read data from var iOff I64 = (*Fts5SegIter)(unsafe.Pointer(pIter)).FiLeafOffset @@ -183761,7 +183792,7 @@ func fts5SegIterLoadRowid(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3. // accordingly and leaves (Fts5SegIter.iLeafOffset) set to the content of // the first position list. The position list belonging to document // (Fts5SegIter.iRowid). -func fts5SegIterLoadTerm(tls *libc.TLS, p uintptr, pIter uintptr, nKeep int32) { /* sqlite3.c:226466:13: */ +func fts5SegIterLoadTerm(tls *libc.TLS, p uintptr, pIter uintptr, nKeep int32) { /* sqlite3.c:226523:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -183795,7 +183826,7 @@ func fts5SegIterLoadTerm(tls *libc.TLS, p uintptr, pIter uintptr, nKeep int32) { fts5SegIterLoadRowid(tls, p, pIter) } -func fts5SegIterSetNext(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:226499:13: */ +func fts5SegIterSetNext(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:226556:13: */ if (*Fts5SegIter)(unsafe.Pointer(pIter)).Fflags&FTS5_SEGITER_REVERSE != 0 { (*Fts5SegIter)(unsafe.Pointer(pIter)).FxNext = *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, uintptr) @@ -183817,7 +183848,7 @@ func fts5SegIterSetNext(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c: // // If an error occurs, Fts5Index.rc is set to an appropriate error code. If // an error has already occurred when this function is called, it is a no-op. -func fts5SegIterInit(tls *libc.TLS, p uintptr, pSeg uintptr, pIter uintptr) { /* sqlite3.c:226517:13: */ +func fts5SegIterInit(tls *libc.TLS, p uintptr, pSeg uintptr, pIter uintptr) { /* sqlite3.c:226574:13: */ if (*Fts5StructureSegment)(unsafe.Pointer(pSeg)).FpgnoFirst == 0 { // This happens if the segment is being used as an input to an incremental // merge and all data has already been "trimmed". See function @@ -183858,7 +183889,7 @@ func fts5SegIterInit(tls *libc.TLS, p uintptr, pSeg uintptr, pIter uintptr) { /* // aRowidOffset[] and iRowidOffset variables. At this point the iterator // is in its regular state - Fts5SegIter.iLeafOffset points to the first // byte of the position list content associated with said rowid. -func fts5SegIterReverseInitPage(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:226566:13: */ +func fts5SegIterReverseInitPage(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:226623:13: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -183917,7 +183948,7 @@ func fts5SegIterReverseInitPage(tls *libc.TLS, p uintptr, pIter uintptr) { /* sq } // -func fts5SegIterReverseNewPage(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:226619:13: */ +func fts5SegIterReverseNewPage(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:226676:13: */ fts5DataRelease(tls, (*Fts5SegIter)(unsafe.Pointer(pIter)).FpLeaf) (*Fts5SegIter)(unsafe.Pointer(pIter)).FpLeaf = uintptr(0) @@ -183967,7 +183998,7 @@ func fts5SegIterReverseNewPage(tls *libc.TLS, p uintptr, pIter uintptr) { /* sql // Return true if the iterator passed as the second argument currently // points to a delete marker. A delete marker is an entry with a 0 byte // position-list. -func fts5MultiIterIsEmpty(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlite3.c:226675:12: */ +func fts5MultiIterIsEmpty(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlite3.c:226732:12: */ var pSeg uintptr = pIter + 96 + uintptr((*Fts5CResult)(unsafe.Pointer((*Fts5Iter)(unsafe.Pointer(pIter)).FaFirst+1*4)).FiFirst)*120 return libc.Bool32((*Fts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK && (*Fts5SegIter)(unsafe.Pointer(pSeg)).FpLeaf != 0 && (*Fts5SegIter)(unsafe.Pointer(pSeg)).FnPos == 0) } @@ -183975,7 +184006,7 @@ func fts5MultiIterIsEmpty(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sq // Advance iterator pIter to the next entry. // // This version of fts5SegIterNext() is only used by reverse iterators. -func fts5SegIterNext_Reverse(tls *libc.TLS, p uintptr, pIter uintptr, pbUnused uintptr) { /* sqlite3.c:226685:13: */ +func fts5SegIterNext_Reverse(tls *libc.TLS, p uintptr, pIter uintptr, pbUnused uintptr) { /* sqlite3.c:226742:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -184004,7 +184035,7 @@ func fts5SegIterNext_Reverse(tls *libc.TLS, p uintptr, pIter uintptr, pbUnused u // // This version of fts5SegIterNext() is only used if detail=none and the // iterator is not a reverse direction iterator. -func fts5SegIterNext_None(tls *libc.TLS, p uintptr, pIter uintptr, pbNewTerm uintptr) { /* sqlite3.c:226719:13: */ +func fts5SegIterNext_None(tls *libc.TLS, p uintptr, pIter uintptr, pbNewTerm uintptr) { /* sqlite3.c:226776:13: */ bp := tls.Alloc(36) defer tls.Free(36) @@ -184109,7 +184140,7 @@ next_none_eof: // If an error occurs, Fts5Index.rc is set to an appropriate error code. It // is not considered an error if the iterator reaches EOF. If an error has // already occurred when this function is called, it is a no-op. -func fts5SegIterNext(tls *libc.TLS, p uintptr, pIter uintptr, pbNewTerm uintptr) { /* sqlite3.c:226791:13: */ +func fts5SegIterNext(tls *libc.TLS, p uintptr, pIter uintptr, pbNewTerm uintptr) { /* sqlite3.c:226848:13: */ bp := tls.Alloc(44) defer tls.Free(44) @@ -184234,7 +184265,7 @@ func fts5SegIterNext(tls *libc.TLS, p uintptr, pIter uintptr, pbNewTerm uintptr) // Iterator pIter currently points to the first rowid in a doclist. This // function sets the iterator up so that iterates in reverse order through // the doclist. -func fts5SegIterReverse(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:226922:13: */ +func fts5SegIterReverse(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:226979:13: */ var pDlidx uintptr = (*Fts5SegIter)(unsafe.Pointer(pIter)).FpDlidx var pLast uintptr = uintptr(0) var pgnoLast int32 = 0 @@ -184334,7 +184365,7 @@ func fts5SegIterReverse(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c: // There is a doclist-index associated with the final term on the current // page. If the current term is the last term on the page, load the // doclist-index from disk and initialize an iterator at (pIter->pDlidx). -func fts5SegIterLoadDlidx(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:227011:13: */ +func fts5SegIterLoadDlidx(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:227068:13: */ var iSeg int32 = (*Fts5StructureSegment)(unsafe.Pointer((*Fts5SegIter)(unsafe.Pointer(pIter)).FpSeg)).FiSegid var bRev int32 = (*Fts5SegIter)(unsafe.Pointer(pIter)).Fflags & FTS5_SEGITER_REVERSE var pLeaf uintptr = (*Fts5SegIter)(unsafe.Pointer(pIter)).FpLeaf // Current leaf data @@ -184362,7 +184393,7 @@ func fts5SegIterLoadDlidx(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3. // iterator is left pointing to the smallest term in the segment that // is larger than the specified term, even if this term is not on the // current page. -func fts5LeafSeek(tls *libc.TLS, p uintptr, bGe int32, pIter uintptr, pTerm uintptr, nTerm int32) { /* sqlite3.c:227045:13: */ +func fts5LeafSeek(tls *libc.TLS, p uintptr, bGe int32, pIter uintptr, pTerm uintptr, nTerm int32) { /* sqlite3.c:227102:13: */ bp := tls.Alloc(20) defer tls.Free(20) @@ -184596,7 +184627,7 @@ __31: fts5SegIterLoadNPos(tls, p, pIter) } -func fts5IdxSelectStmt(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:227171:21: */ +func fts5IdxSelectStmt(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:227228:21: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -184615,7 +184646,7 @@ func fts5IdxSelectStmt(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:227171:2 // // If an error occurs, Fts5Index.rc is set to an appropriate error code. If // an error has already occurred when this function is called, it is a no-op. -func fts5SegIterSeekInit(tls *libc.TLS, p uintptr, pTerm uintptr, nTerm int32, flags int32, pSeg uintptr, pIter uintptr) { /* sqlite3.c:227190:13: */ +func fts5SegIterSeekInit(tls *libc.TLS, p uintptr, pTerm uintptr, nTerm int32, flags int32, pSeg uintptr, pIter uintptr) { /* sqlite3.c:227247:13: */ var iPg int32 = 1 var bGe int32 = flags & FTS5INDEX_QUERY_SCAN var bDlidx int32 = 0 // True if there is a doclist-index @@ -184685,7 +184716,7 @@ func fts5SegIterSeekInit(tls *libc.TLS, p uintptr, pTerm uintptr, nTerm int32, f // // If an error occurs, Fts5Index.rc is set to an appropriate error code. If // an error has already occurred when this function is called, it is a no-op. -func fts5SegIterHashInit(tls *libc.TLS, p uintptr, pTerm uintptr, nTerm int32, flags int32, pIter uintptr) { /* sqlite3.c:227273:13: */ +func fts5SegIterHashInit(tls *libc.TLS, p uintptr, pTerm uintptr, nTerm int32, flags int32, pIter uintptr) { /* sqlite3.c:227330:13: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -184741,7 +184772,7 @@ func fts5SegIterHashInit(tls *libc.TLS, p uintptr, pTerm uintptr, nTerm int32, f } // Zero the iterator passed as the only argument. -func fts5SegIterClear(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:227332:13: */ +func fts5SegIterClear(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:227389:13: */ sqlite3Fts5BufferFree(tls, pIter+88) fts5DataRelease(tls, (*Fts5SegIter)(unsafe.Pointer(pIter)).FpLeaf) fts5DataRelease(tls, (*Fts5SegIter)(unsafe.Pointer(pIter)).FpNextLeaf) @@ -184756,7 +184787,7 @@ func fts5SegIterClear(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:227332:13: */ // in the pIter->aSeg[] array that is (a) not at EOF, and (b) pointing // to a key that is a duplicate of another, higher priority, // segment-iterator in the pSeg->aSeg[] array. -func fts5MultiIterDoCompare(tls *libc.TLS, pIter uintptr, iOut int32) int32 { /* sqlite3.c:227436:12: */ +func fts5MultiIterDoCompare(tls *libc.TLS, pIter uintptr, iOut int32) int32 { /* sqlite3.c:227493:12: */ var i1 int32 // Index of left-hand Fts5SegIter var i2 int32 // Index of right-hand Fts5SegIter var iRes int32 @@ -184808,7 +184839,7 @@ func fts5MultiIterDoCompare(tls *libc.TLS, pIter uintptr, iOut int32) int32 { /* // Move the seg-iter so that it points to the first rowid on page iLeafPgno. // It is an error if leaf iLeafPgno does not exist or contains no rowids. -func fts5SegIterGotoPage(tls *libc.TLS, p uintptr, pIter uintptr, iLeafPgno int32) { /* sqlite3.c:227490:13: */ +func fts5SegIterGotoPage(tls *libc.TLS, p uintptr, pIter uintptr, iLeafPgno int32) { /* sqlite3.c:227547:13: */ if iLeafPgno > (*Fts5StructureSegment)(unsafe.Pointer((*Fts5SegIter)(unsafe.Pointer(pIter)).FpSeg)).FpgnoLast { (*Fts5Index)(unsafe.Pointer(p)).Frc = SQLITE_CORRUPT | int32(1)<<8 @@ -184838,7 +184869,7 @@ func fts5SegIterGotoPage(tls *libc.TLS, p uintptr, pIter uintptr, iLeafPgno int3 // Advance the iterator passed as the second argument until it is at or // past rowid iFrom. Regardless of the value of iFrom, the iterator is // always advanced at least once. -func fts5SegIterNextFrom(tls *libc.TLS, p uintptr, pIter uintptr, iMatch I64) { /* sqlite3.c:227528:13: */ +func fts5SegIterNextFrom(tls *libc.TLS, p uintptr, pIter uintptr, iMatch I64) { /* sqlite3.c:227585:13: */ var bRev int32 = (*Fts5SegIter)(unsafe.Pointer(pIter)).Fflags & FTS5_SEGITER_REVERSE var pDlidx uintptr = (*Fts5SegIter)(unsafe.Pointer(pIter)).FpDlidx var iLeafPgno int32 = (*Fts5SegIter)(unsafe.Pointer(pIter)).FiLeafPgno @@ -184888,7 +184919,7 @@ func fts5SegIterNextFrom(tls *libc.TLS, p uintptr, pIter uintptr, iMatch I64) { } // Free the iterator object passed as the second argument. -func fts5MultiIterFree(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:227582:13: */ +func fts5MultiIterFree(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:227639:13: */ if pIter != 0 { var i int32 for i = 0; i < (*Fts5Iter)(unsafe.Pointer(pIter)).FnSeg; i++ { @@ -184899,7 +184930,7 @@ func fts5MultiIterFree(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:227582:13: * } } -func fts5MultiIterAdvanced(tls *libc.TLS, p uintptr, pIter uintptr, iChanged int32, iMinset int32) { /* sqlite3.c:227593:13: */ +func fts5MultiIterAdvanced(tls *libc.TLS, p uintptr, pIter uintptr, iChanged int32, iMinset int32) { /* sqlite3.c:227650:13: */ var i int32 for i = ((*Fts5Iter)(unsafe.Pointer(pIter)).FnSeg + iChanged) / 2; i >= iMinset && (*Fts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK; i = i / 2 { var iEq int32 @@ -184922,7 +184953,7 @@ func fts5MultiIterAdvanced(tls *libc.TLS, p uintptr, pIter uintptr, iChanged int // If non-zero is returned, the caller should call fts5MultiIterAdvanced() // on the iterator instead. That function does the same as this one, except // that it deals with more complicated cases as well. -func fts5MultiIterAdvanceRowid(tls *libc.TLS, pIter uintptr, iChanged int32, ppFirst uintptr) int32 { /* sqlite3.c:227621:12: */ +func fts5MultiIterAdvanceRowid(tls *libc.TLS, pIter uintptr, iChanged int32, ppFirst uintptr) int32 { /* sqlite3.c:227678:12: */ var pNew uintptr = pIter + 96 + uintptr(iChanged)*120 if (*Fts5SegIter)(unsafe.Pointer(pNew)).FiRowid == (*Fts5Iter)(unsafe.Pointer(pIter)).FiSwitchRowid || @@ -184962,7 +184993,7 @@ func fts5MultiIterAdvanceRowid(tls *libc.TLS, pIter uintptr, iChanged int32, ppF } // Set the pIter->bEof variable based on the state of the sub-iterators. -func fts5MultiIterSetEof(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:227664:13: */ +func fts5MultiIterSetEof(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:227721:13: */ var pSeg uintptr = pIter + 96 + uintptr((*Fts5CResult)(unsafe.Pointer((*Fts5Iter)(unsafe.Pointer(pIter)).FaFirst+1*4)).FiFirst)*120 (*Fts5Iter)(unsafe.Pointer(pIter)).Fbase.FbEof = U8(libc.Bool32((*Fts5SegIter)(unsafe.Pointer(pSeg)).FpLeaf == uintptr(0))) (*Fts5Iter)(unsafe.Pointer(pIter)).FiSwitchRowid = (*Fts5SegIter)(unsafe.Pointer(pSeg)).FiRowid @@ -184973,7 +185004,7 @@ func fts5MultiIterSetEof(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:227664:13: // If an error occurs, an error code is left in Fts5Index.rc. It is not // considered an error if the iterator reaches EOF, or if it is already at // EOF when this function is called. -func fts5MultiIterNext(tls *libc.TLS, p uintptr, pIter uintptr, bFrom int32, iFrom I64) { /* sqlite3.c:227677:13: */ +func fts5MultiIterNext(tls *libc.TLS, p uintptr, pIter uintptr, bFrom int32, iFrom I64) { /* sqlite3.c:227734:13: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -185012,7 +185043,7 @@ func fts5MultiIterNext(tls *libc.TLS, p uintptr, pIter uintptr, bFrom int32, iFr } } -func fts5MultiIterNext2(tls *libc.TLS, p uintptr, pIter uintptr, pbNewTerm uintptr) { /* sqlite3.c:227715:13: */ +func fts5MultiIterNext2(tls *libc.TLS, p uintptr, pIter uintptr, pbNewTerm uintptr) { /* sqlite3.c:227772:13: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -185037,12 +185068,12 @@ func fts5MultiIterNext2(tls *libc.TLS, p uintptr, pIter uintptr, pbNewTerm uintp } } -func fts5IterSetOutputs_Noop(tls *libc.TLS, pUnused1 uintptr, pUnused2 uintptr) { /* sqlite3.c:227743:13: */ +func fts5IterSetOutputs_Noop(tls *libc.TLS, pUnused1 uintptr, pUnused2 uintptr) { /* sqlite3.c:227800:13: */ _ = pUnused1 _ = pUnused2 } -func fts5MultiIterAlloc(tls *libc.TLS, p uintptr, nSeg int32) uintptr { /* sqlite3.c:227747:17: */ +func fts5MultiIterAlloc(tls *libc.TLS, p uintptr, nSeg int32) uintptr { /* sqlite3.c:227804:17: */ var pNew uintptr var nSlot int32 // Power of two >= nSeg @@ -185061,7 +185092,7 @@ func fts5MultiIterAlloc(tls *libc.TLS, p uintptr, nSeg int32) uintptr { /* sqlit return pNew } -func fts5PoslistCallback(tls *libc.TLS, pUnused uintptr, pContext uintptr, pChunk uintptr, nChunk int32) { /* sqlite3.c:227769:13: */ +func fts5PoslistCallback(tls *libc.TLS, pUnused uintptr, pContext uintptr, pChunk uintptr, nChunk int32) { /* sqlite3.c:227826:13: */ _ = pUnused if nChunk > 0 { @@ -185078,21 +185109,21 @@ type PoslistCallbackCtx1 = struct { FpColset uintptr FeState int32 F__ccgo_pad1 [4]byte -} /* sqlite3.c:227781:9 */ +} /* sqlite3.c:227838:9 */ -type PoslistCallbackCtx = PoslistCallbackCtx1 /* sqlite3.c:227781:35 */ +type PoslistCallbackCtx = PoslistCallbackCtx1 /* sqlite3.c:227838:35 */ type PoslistOffsetsCtx1 = struct { FpBuf uintptr FpColset uintptr FiRead int32 FiWrite int32 -} /* sqlite3.c:227788:9 */ +} /* sqlite3.c:227845:9 */ -type PoslistOffsetsCtx = PoslistOffsetsCtx1 /* sqlite3.c:227788:34 */ +type PoslistOffsetsCtx = PoslistOffsetsCtx1 /* sqlite3.c:227845:34 */ // TODO: Make this more efficient! -func fts5IndexColsetTest(tls *libc.TLS, pColset uintptr, iCol int32) int32 { /* sqlite3.c:227799:12: */ +func fts5IndexColsetTest(tls *libc.TLS, pColset uintptr, iCol int32) int32 { /* sqlite3.c:227856:12: */ var i int32 for i = 0; i < (*Fts5Colset)(unsafe.Pointer(pColset)).FnCol; i++ { if *(*int32)(unsafe.Pointer(pColset + 4 + uintptr(i)*4)) == iCol { @@ -185102,7 +185133,7 @@ func fts5IndexColsetTest(tls *libc.TLS, pColset uintptr, iCol int32) int32 { /* return 0 } -func fts5PoslistOffsetsCallback(tls *libc.TLS, pUnused uintptr, pContext uintptr, pChunk uintptr, nChunk int32) { /* sqlite3.c:227807:13: */ +func fts5PoslistOffsetsCallback(tls *libc.TLS, pUnused uintptr, pContext uintptr, pChunk uintptr, nChunk int32) { /* sqlite3.c:227864:13: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -185128,7 +185159,7 @@ func fts5PoslistOffsetsCallback(tls *libc.TLS, pUnused uintptr, pContext uintptr } } -func fts5PoslistFilterCallback(tls *libc.TLS, pUnused uintptr, pContext uintptr, pChunk uintptr, nChunk int32) { /* sqlite3.c:227830:13: */ +func fts5PoslistFilterCallback(tls *libc.TLS, pUnused uintptr, pContext uintptr, pChunk uintptr, nChunk int32) { /* sqlite3.c:227887:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -185208,7 +185239,7 @@ func fts5PoslistFilterCallback(tls *libc.TLS, pUnused uintptr, pContext uintptr, } } -func fts5ChunkIterate(tls *libc.TLS, p uintptr, pSeg uintptr, pCtx uintptr, xChunk uintptr) { /* sqlite3.c:227882:13: */ +func fts5ChunkIterate(tls *libc.TLS, p uintptr, pSeg uintptr, pCtx uintptr, xChunk uintptr) { /* sqlite3.c:227939:13: */ var nRem int32 = (*Fts5SegIter)(unsafe.Pointer(pSeg)).FnPos // Number of bytes still to come var pData uintptr = uintptr(0) var pChunk uintptr = (*Fts5Data)(unsafe.Pointer((*Fts5SegIter)(unsafe.Pointer(pSeg)).FpLeaf)).Fp + uintptr((*Fts5SegIter)(unsafe.Pointer(pSeg)).FiLeafOffset) @@ -185264,7 +185295,7 @@ func fts5ChunkIterate(tls *libc.TLS, p uintptr, pSeg uintptr, pCtx uintptr, xChu // function appends the position list data for the current entry to // buffer pBuf. It does not make a copy of the position-list size // field. -func fts5SegiterPoslist(tls *libc.TLS, p uintptr, pSeg uintptr, pColset uintptr, pBuf uintptr) { /* sqlite3.c:227932:13: */ +func fts5SegiterPoslist(tls *libc.TLS, p uintptr, pSeg uintptr, pColset uintptr, pBuf uintptr) { /* sqlite3.c:227989:13: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -185315,7 +185346,7 @@ func fts5SegiterPoslist(tls *libc.TLS, p uintptr, pSeg uintptr, pColset uintptr, // This function is a no-op if *pRc is other than SQLITE_OK when it is // called. If an OOM error is encountered, *pRc is set to SQLITE_NOMEM // before returning. -func fts5IndexExtractColset(tls *libc.TLS, pRc uintptr, pColset uintptr, pPos uintptr, nPos int32, pIter uintptr) { /* sqlite3.c:227977:13: */ +func fts5IndexExtractColset(tls *libc.TLS, pRc uintptr, pColset uintptr, pPos uintptr, nPos int32, pIter uintptr) { /* sqlite3.c:228034:13: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -185376,7 +185407,7 @@ func fts5IndexExtractColset(tls *libc.TLS, pRc uintptr, pColset uintptr, pPos ui } // xSetOutputs callback used by detail=none tables. -func fts5IterSetOutputs_None(tls *libc.TLS, pIter uintptr, pSeg uintptr) { /* sqlite3.c:228037:13: */ +func fts5IterSetOutputs_None(tls *libc.TLS, pIter uintptr, pSeg uintptr) { /* sqlite3.c:228094:13: */ (*Fts5Iter)(unsafe.Pointer(pIter)).Fbase.FiRowid = (*Fts5SegIter)(unsafe.Pointer(pSeg)).FiRowid (*Fts5Iter)(unsafe.Pointer(pIter)).Fbase.FnData = (*Fts5SegIter)(unsafe.Pointer(pSeg)).FnPos @@ -185384,7 +185415,7 @@ func fts5IterSetOutputs_None(tls *libc.TLS, pIter uintptr, pSeg uintptr) { /* sq // xSetOutputs callback used by detail=full and detail=col tables when no // column filters are specified. -func fts5IterSetOutputs_Nocolset(tls *libc.TLS, pIter uintptr, pSeg uintptr) { /* sqlite3.c:228047:13: */ +func fts5IterSetOutputs_Nocolset(tls *libc.TLS, pIter uintptr, pSeg uintptr) { /* sqlite3.c:228104:13: */ (*Fts5Iter)(unsafe.Pointer(pIter)).Fbase.FiRowid = (*Fts5SegIter)(unsafe.Pointer(pSeg)).FiRowid (*Fts5Iter)(unsafe.Pointer(pIter)).Fbase.FnData = (*Fts5SegIter)(unsafe.Pointer(pSeg)).FnPos @@ -185404,7 +185435,7 @@ func fts5IterSetOutputs_Nocolset(tls *libc.TLS, pIter uintptr, pSeg uintptr) { / // xSetOutputs callback used when the Fts5Colset object has nCol==0 (match // against no columns at all). -func fts5IterSetOutputs_ZeroColset(tls *libc.TLS, pIter uintptr, pSeg uintptr) { /* sqlite3.c:228072:13: */ +func fts5IterSetOutputs_ZeroColset(tls *libc.TLS, pIter uintptr, pSeg uintptr) { /* sqlite3.c:228129:13: */ _ = pSeg (*Fts5Iter)(unsafe.Pointer(pIter)).Fbase.FnData = 0 } @@ -185412,7 +185443,7 @@ func fts5IterSetOutputs_ZeroColset(tls *libc.TLS, pIter uintptr, pSeg uintptr) { // xSetOutputs callback used by detail=col when there is a column filter // and there are 100 or more columns. Also called as a fallback from // fts5IterSetOutputs_Col100 if the column-list spans more than one page. -func fts5IterSetOutputs_Col(tls *libc.TLS, pIter uintptr, pSeg uintptr) { /* sqlite3.c:228082:13: */ +func fts5IterSetOutputs_Col(tls *libc.TLS, pIter uintptr, pSeg uintptr) { /* sqlite3.c:228139:13: */ sqlite3Fts5BufferZero(tls, pIter+32) fts5SegiterPoslist(tls, (*Fts5Iter)(unsafe.Pointer(pIter)).FpIndex, pSeg, (*Fts5Iter)(unsafe.Pointer(pIter)).FpColset, pIter+32) (*Fts5Iter)(unsafe.Pointer(pIter)).Fbase.FiRowid = (*Fts5SegIter)(unsafe.Pointer(pSeg)).FiRowid @@ -185428,7 +185459,7 @@ func fts5IterSetOutputs_Col(tls *libc.TLS, pIter uintptr, pSeg uintptr) { /* sql // // The last point is to ensure all column numbers are stored as // single-byte varints. -func fts5IterSetOutputs_Col100(tls *libc.TLS, pIter uintptr, pSeg uintptr) { /* sqlite3.c:228100:13: */ +func fts5IterSetOutputs_Col100(tls *libc.TLS, pIter uintptr, pSeg uintptr) { /* sqlite3.c:228157:13: */ var a uintptr var pEnd uintptr var iPrev int32 @@ -185490,7 +185521,7 @@ __2: } // xSetOutputs callback used by detail=full when there is a column filter. -func fts5IterSetOutputs_Full(tls *libc.TLS, pIter uintptr, pSeg uintptr) { /* sqlite3.c:228140:13: */ +func fts5IterSetOutputs_Full(tls *libc.TLS, pIter uintptr, pSeg uintptr) { /* sqlite3.c:228197:13: */ var pColset uintptr = (*Fts5Iter)(unsafe.Pointer(pIter)).FpColset (*Fts5Iter)(unsafe.Pointer(pIter)).Fbase.FiRowid = (*Fts5SegIter)(unsafe.Pointer(pSeg)).FiRowid @@ -185512,7 +185543,7 @@ func fts5IterSetOutputs_Full(tls *libc.TLS, pIter uintptr, pSeg uintptr) { /* sq } } -func fts5IterSetOutputCb(tls *libc.TLS, pRc uintptr, pIter uintptr) { /* sqlite3.c:228165:13: */ +func fts5IterSetOutputCb(tls *libc.TLS, pRc uintptr, pIter uintptr) { /* sqlite3.c:228222:13: */ if *(*int32)(unsafe.Pointer(pRc)) == SQLITE_OK { var pConfig uintptr = (*Fts5Index)(unsafe.Pointer((*Fts5Iter)(unsafe.Pointer(pIter)).FpIndex)).FpConfig @@ -185557,7 +185588,7 @@ func fts5IterSetOutputCb(tls *libc.TLS, pRc uintptr, pIter uintptr) { /* sqlite3 // // The iterator initially points to the first term/rowid entry in the // iterated data. -func fts5MultiIterNew(tls *libc.TLS, p uintptr, pStruct uintptr, flags int32, pColset uintptr, pTerm uintptr, nTerm int32, iLevel int32, nSegment int32, ppOut uintptr) { /* sqlite3.c:228209:13: */ +func fts5MultiIterNew(tls *libc.TLS, p uintptr, pStruct uintptr, flags int32, pColset uintptr, pTerm uintptr, nTerm int32, iLevel int32, nSegment int32, ppOut uintptr) { /* sqlite3.c:228266:13: */ var nSeg int32 // Number of segment-iters in use var iIter int32 // var iSeg int32 // Used to iterate through segments @@ -185760,7 +185791,7 @@ fts5MultiIterNew_post_check: // Create an Fts5Iter that iterates through the doclist provided // as the second argument. -func fts5MultiIterNew2(tls *libc.TLS, p uintptr, pData uintptr, bDesc int32, ppOut uintptr) { /* sqlite3.c:228315:13: */ +func fts5MultiIterNew2(tls *libc.TLS, p uintptr, pData uintptr, bDesc int32, ppOut uintptr) { /* sqlite3.c:228372:13: */ var pNew uintptr pNew = fts5MultiIterAlloc(tls, p, 2) if pNew != 0 { @@ -185793,7 +185824,7 @@ func fts5MultiIterNew2(tls *libc.TLS, p uintptr, pData uintptr, bDesc int32, ppO // Return true if the iterator is at EOF or if an error has occurred. // False otherwise. -func fts5MultiIterEof(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlite3.c:228355:12: */ +func fts5MultiIterEof(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlite3.c:228412:12: */ return libc.Bool32((*Fts5Index)(unsafe.Pointer(p)).Frc != 0 || (*Fts5Iter)(unsafe.Pointer(pIter)).Fbase.FbEof != 0) } @@ -185801,13 +185832,13 @@ func fts5MultiIterEof(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlite // Return the rowid of the entry that the iterator currently points // to. If the iterator points to EOF when this function is called the // results are undefined. -func fts5MultiIterRowid(tls *libc.TLS, pIter uintptr) I64 { /* sqlite3.c:228368:12: */ +func fts5MultiIterRowid(tls *libc.TLS, pIter uintptr) I64 { /* sqlite3.c:228425:12: */ return (*Fts5SegIter)(unsafe.Pointer(pIter + 96 + uintptr((*Fts5CResult)(unsafe.Pointer((*Fts5Iter)(unsafe.Pointer(pIter)).FaFirst+1*4)).FiFirst)*120)).FiRowid } // Move the iterator to the next entry at or following iMatch. -func fts5MultiIterNextFrom(tls *libc.TLS, p uintptr, pIter uintptr, iMatch I64) { /* sqlite3.c:228376:13: */ +func fts5MultiIterNextFrom(tls *libc.TLS, p uintptr, pIter uintptr, iMatch I64) { /* sqlite3.c:228433:13: */ for 1 != 0 { var iRowid I64 fts5MultiIterNext(tls, p, pIter, 1, iMatch) @@ -185826,7 +185857,7 @@ func fts5MultiIterNextFrom(tls *libc.TLS, p uintptr, pIter uintptr, iMatch I64) // Return a pointer to a buffer containing the term associated with the // entry that the iterator currently points to. -func fts5MultiIterTerm(tls *libc.TLS, pIter uintptr, pn uintptr) uintptr { /* sqlite3.c:228395:17: */ +func fts5MultiIterTerm(tls *libc.TLS, pIter uintptr, pn uintptr) uintptr { /* sqlite3.c:228452:17: */ var p uintptr = pIter + 96 + uintptr((*Fts5CResult)(unsafe.Pointer((*Fts5Iter)(unsafe.Pointer(pIter)).FaFirst+1*4)).FiFirst)*120 *(*int32)(unsafe.Pointer(pn)) = (*Fts5SegIter)(unsafe.Pointer(p)).Fterm.Fn return (*Fts5SegIter)(unsafe.Pointer(p)).Fterm.Fp @@ -185839,7 +185870,7 @@ func fts5MultiIterTerm(tls *libc.TLS, pIter uintptr, pn uintptr) uintptr { /* sq // // If an error has already occurred, this function is a no-op. 0 is // returned in this case. -func fts5AllocateSegid(tls *libc.TLS, p uintptr, pStruct uintptr) int32 { /* sqlite3.c:228410:12: */ +func fts5AllocateSegid(tls *libc.TLS, p uintptr, pStruct uintptr) int32 { /* sqlite3.c:228467:12: */ bp := tls.Alloc(252) defer tls.Free(252) @@ -185881,7 +185912,7 @@ func fts5AllocateSegid(tls *libc.TLS, p uintptr, pStruct uintptr) int32 { /* sql } // Discard all data currently cached in the hash-tables. -func fts5IndexDiscardData(tls *libc.TLS, p uintptr) { /* sqlite3.c:228467:13: */ +func fts5IndexDiscardData(tls *libc.TLS, p uintptr) { /* sqlite3.c:228524:13: */ if (*Fts5Index)(unsafe.Pointer(p)).FpHash != 0 { sqlite3Fts5HashClear(tls, (*Fts5Index)(unsafe.Pointer(p)).FpHash) @@ -185894,7 +185925,7 @@ func fts5IndexDiscardData(tls *libc.TLS, p uintptr) { /* sqlite3.c:228467:13: */ // // Buffer (pNew/) is guaranteed to be greater // than buffer (pOld/nOld). -func fts5PrefixCompress(tls *libc.TLS, nOld int32, pOld uintptr, pNew uintptr) int32 { /* sqlite3.c:228482:12: */ +func fts5PrefixCompress(tls *libc.TLS, nOld int32, pOld uintptr, pNew uintptr) int32 { /* sqlite3.c:228539:12: */ var i int32 for i = 0; i < nOld; i++ { if int32(*(*U8)(unsafe.Pointer(pOld + uintptr(i)))) != int32(*(*U8)(unsafe.Pointer(pNew + uintptr(i)))) { @@ -185904,7 +185935,7 @@ func fts5PrefixCompress(tls *libc.TLS, nOld int32, pOld uintptr, pNew uintptr) i return i } -func fts5WriteDlidxClear(tls *libc.TLS, p uintptr, pWriter uintptr, bFlush int32) { /* sqlite3.c:228490:13: */ +func fts5WriteDlidxClear(tls *libc.TLS, p uintptr, pWriter uintptr, bFlush int32) { /* sqlite3.c:228547:13: */ var i int32 for i = 0; i < (*Fts5SegWriter)(unsafe.Pointer(pWriter)).FnDlidx; i++ { @@ -185925,7 +185956,7 @@ func fts5WriteDlidxClear(tls *libc.TLS, p uintptr, pWriter uintptr, bFlush int32 // Grow the pWriter->aDlidx[] array to at least nLvl elements in size. // Any new array elements are zeroed before returning. -func fts5WriteDlidxGrow(tls *libc.TLS, p uintptr, pWriter uintptr, nLvl int32) int32 { /* sqlite3.c:228516:12: */ +func fts5WriteDlidxGrow(tls *libc.TLS, p uintptr, pWriter uintptr, nLvl int32) int32 { /* sqlite3.c:228573:12: */ if (*Fts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK && nLvl >= (*Fts5SegWriter)(unsafe.Pointer(pWriter)).FnDlidx { var aDlidx uintptr = Xsqlite3_realloc64(tls, (*Fts5SegWriter)(unsafe.Pointer(pWriter)).FaDlidx, uint64(uint64(unsafe.Sizeof(Fts5DlidxWriter{}))*uint64(nLvl))) @@ -185944,7 +185975,7 @@ func fts5WriteDlidxGrow(tls *libc.TLS, p uintptr, pWriter uintptr, nLvl int32) i // If the current doclist-index accumulating in pWriter->aDlidx[] is large // enough, flush it to disk and return 1. Otherwise discard it and return // zero. -func fts5WriteFlushDlidx(tls *libc.TLS, p uintptr, pWriter uintptr) int32 { /* sqlite3.c:228542:12: */ +func fts5WriteFlushDlidx(tls *libc.TLS, p uintptr, pWriter uintptr) int32 { /* sqlite3.c:228599:12: */ var bFlag int32 = 0 // If there were FTS5_MIN_DLIDX_SIZE or more empty leaf pages written @@ -185966,7 +185997,7 @@ func fts5WriteFlushDlidx(tls *libc.TLS, p uintptr, pWriter uintptr) int32 { /* s // it. // // Fts5SegWriter.btterm currently contains the first term on page iBtPage. -func fts5WriteFlushBtree(tls *libc.TLS, p uintptr, pWriter uintptr) { /* sqlite3.c:228566:13: */ +func fts5WriteFlushBtree(tls *libc.TLS, p uintptr, pWriter uintptr) { /* sqlite3.c:228623:13: */ var bFlag int32 if (*Fts5SegWriter)(unsafe.Pointer(pWriter)).FiBtPage == 0 { @@ -185999,7 +186030,7 @@ func fts5WriteFlushBtree(tls *libc.TLS, p uintptr, pWriter uintptr) { /* sqlite3 // // If an error occurs, an error code is left in Fts5Index.rc. If an error // has already occurred when this function is called, it is a no-op. -func fts5WriteBtreeTerm(tls *libc.TLS, p uintptr, pWriter uintptr, nTerm int32, pTerm uintptr) { /* sqlite3.c:228595:13: */ +func fts5WriteBtreeTerm(tls *libc.TLS, p uintptr, pWriter uintptr, nTerm int32, pTerm uintptr) { /* sqlite3.c:228652:13: */ fts5WriteFlushBtree(tls, p, pWriter) if (*Fts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK { sqlite3Fts5BufferSet(tls, p+52, pWriter+96, nTerm, pTerm) @@ -186009,7 +186040,7 @@ func fts5WriteBtreeTerm(tls *libc.TLS, p uintptr, pWriter uintptr, nTerm int32, // This function is called when flushing a leaf page that contains no // terms at all to disk. -func fts5WriteBtreeNoTerm(tls *libc.TLS, p uintptr, pWriter uintptr) { /* sqlite3.c:228611:13: */ +func fts5WriteBtreeNoTerm(tls *libc.TLS, p uintptr, pWriter uintptr) { /* sqlite3.c:228668:13: */ // If there were no rowids on the leaf page either and the doclist-index // has already been started, append an 0x00 byte to it. if (*Fts5SegWriter)(unsafe.Pointer(pWriter)).FbFirstRowidInPage != 0 && (*Fts5DlidxWriter)(unsafe.Pointer((*Fts5SegWriter)(unsafe.Pointer(pWriter)).FaDlidx)).Fbuf.Fn > 0 { @@ -186022,7 +186053,7 @@ func fts5WriteBtreeNoTerm(tls *libc.TLS, p uintptr, pWriter uintptr) { /* sqlite (*Fts5SegWriter)(unsafe.Pointer(pWriter)).FnEmpty++ } -func fts5DlidxExtractFirstRowid(tls *libc.TLS, pBuf uintptr) I64 { /* sqlite3.c:228627:12: */ +func fts5DlidxExtractFirstRowid(tls *libc.TLS, pBuf uintptr) I64 { /* sqlite3.c:228684:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -186038,7 +186069,7 @@ func fts5DlidxExtractFirstRowid(tls *libc.TLS, pBuf uintptr) I64 { /* sqlite3.c: // Rowid iRowid has just been appended to the current leaf page. It is the // first on the page. This function appends an appropriate entry to the current // doclist-index. -func fts5WriteDlidxAppend(tls *libc.TLS, p uintptr, pWriter uintptr, iRowid I64) { /* sqlite3.c:228641:13: */ +func fts5WriteDlidxAppend(tls *libc.TLS, p uintptr, pWriter uintptr, iRowid I64) { /* sqlite3.c:228698:13: */ var i int32 var bDone int32 = 0 @@ -186098,7 +186129,7 @@ func fts5WriteDlidxAppend(tls *libc.TLS, p uintptr, pWriter uintptr, iRowid I64) } } -func fts5WriteFlushLeaf(tls *libc.TLS, p uintptr, pWriter uintptr) { /* sqlite3.c:228701:13: */ +func fts5WriteFlushLeaf(tls *libc.TLS, p uintptr, pWriter uintptr) { /* sqlite3.c:228758:13: */ var pPage uintptr = pWriter + 8 var iRowid I64 @@ -186134,14 +186165,14 @@ func fts5WriteFlushLeaf(tls *libc.TLS, p uintptr, pWriter uintptr) { /* sqlite3. (*Fts5SegWriter)(unsafe.Pointer(pWriter)).FbFirstRowidInPage = U8(1) } -var zero = [4]U8{U8(0x00), U8(0x00), U8(0x00), U8(0x00)} /* sqlite3.c:228702:19 */ +var zero = [4]U8{U8(0x00), U8(0x00), U8(0x00), U8(0x00)} /* sqlite3.c:228759:19 */ // Append term pTerm/nTerm to the segment being written by the writer passed // as the second argument. // // If an error occurs, set the Fts5Index.rc error code. If an error has // already occurred, this function is a no-op. -func fts5WriteAppendTerm(tls *libc.TLS, p uintptr, pWriter uintptr, nTerm int32, pTerm uintptr) { /* sqlite3.c:228747:13: */ +func fts5WriteAppendTerm(tls *libc.TLS, p uintptr, pWriter uintptr, nTerm int32, pTerm uintptr) { /* sqlite3.c:228804:13: */ var nPrefix int32 // Bytes of prefix compression for term var pPage uintptr = pWriter + 8 var pPgidx uintptr = pWriter + 8 + 24 @@ -186217,7 +186248,7 @@ func fts5WriteAppendTerm(tls *libc.TLS, p uintptr, pWriter uintptr, nTerm int32, } // Append a rowid and position-list size field to the writers output. -func fts5WriteAppendRowid(tls *libc.TLS, p uintptr, pWriter uintptr, iRowid I64) { /* sqlite3.c:228828:13: */ +func fts5WriteAppendRowid(tls *libc.TLS, p uintptr, pWriter uintptr, iRowid I64) { /* sqlite3.c:228885:13: */ if (*Fts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK { var pPage uintptr = pWriter + 8 @@ -186246,7 +186277,7 @@ func fts5WriteAppendRowid(tls *libc.TLS, p uintptr, pWriter uintptr, iRowid I64) } } -func fts5WriteAppendPoslistData(tls *libc.TLS, p uintptr, pWriter uintptr, aData uintptr, nData int32) { /* sqlite3.c:228861:13: */ +func fts5WriteAppendPoslistData(tls *libc.TLS, p uintptr, pWriter uintptr, aData uintptr, nData int32) { /* sqlite3.c:228918:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -186275,7 +186306,7 @@ func fts5WriteAppendPoslistData(tls *libc.TLS, p uintptr, pWriter uintptr, aData // Flush any data cached by the writer object to the database. Free any // allocations associated with the writer. -func fts5WriteFinish(tls *libc.TLS, p uintptr, pWriter uintptr, pnLeaf uintptr) { /* sqlite3.c:228895:13: */ +func fts5WriteFinish(tls *libc.TLS, p uintptr, pWriter uintptr, pnLeaf uintptr) { /* sqlite3.c:228952:13: */ var i int32 var pLeaf uintptr = pWriter + 8 if (*Fts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK { @@ -186299,7 +186330,7 @@ func fts5WriteFinish(tls *libc.TLS, p uintptr, pWriter uintptr, pnLeaf uintptr) Xsqlite3_free(tls, (*Fts5SegWriter)(unsafe.Pointer(pWriter)).FaDlidx) } -func fts5WriteInit(tls *libc.TLS, p uintptr, pWriter uintptr, iSegid int32) { /* sqlite3.c:228923:13: */ +func fts5WriteInit(tls *libc.TLS, p uintptr, pWriter uintptr, iSegid int32) { /* sqlite3.c:228980:13: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -186339,7 +186370,7 @@ func fts5WriteInit(tls *libc.TLS, p uintptr, pWriter uintptr, iSegid int32) { /* // Iterator pIter was used to iterate through the input segments of on an // incremental merge operation. This function is called if the incremental // merge step has finished but the input has not been completely exhausted. -func fts5TrimSegments(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:228970:13: */ +func fts5TrimSegments(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:229027:13: */ bp := tls.Alloc(20) defer tls.Free(20) @@ -186408,13 +186439,13 @@ func fts5TrimSegments(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:22 sqlite3Fts5BufferFree(tls, bp) } -func fts5MergeChunkCallback(tls *libc.TLS, p uintptr, pCtx uintptr, pChunk uintptr, nChunk int32) { /* sqlite3.c:229036:13: */ +func fts5MergeChunkCallback(tls *libc.TLS, p uintptr, pCtx uintptr, pChunk uintptr, nChunk int32) { /* sqlite3.c:229093:13: */ var pWriter uintptr = pCtx fts5WriteAppendPoslistData(tls, p, pWriter, pChunk, nChunk) } // -func fts5IndexMergeLevel(tls *libc.TLS, p uintptr, ppStruct uintptr, iLvl int32, pnRem uintptr) { /* sqlite3.c:229048:13: */ +func fts5IndexMergeLevel(tls *libc.TLS, p uintptr, ppStruct uintptr, iLvl int32, pnRem uintptr) { /* sqlite3.c:229105:13: */ bp := tls.Alloc(148) defer tls.Free(148) @@ -186573,7 +186604,7 @@ func fts5IndexMergeLevel(tls *libc.TLS, p uintptr, ppStruct uintptr, iLvl int32, // Do up to nPg pages of automerge work on the index. // // Return true if any changes were actually made, or false otherwise. -func fts5IndexMerge(tls *libc.TLS, p uintptr, ppStruct uintptr, nPg int32, nMin int32) int32 { /* sqlite3.c:229198:12: */ +func fts5IndexMerge(tls *libc.TLS, p uintptr, ppStruct uintptr, nPg int32, nMin int32) int32 { /* sqlite3.c:229255:12: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -186623,7 +186654,7 @@ func fts5IndexMerge(tls *libc.TLS, p uintptr, ppStruct uintptr, nPg int32, nMin // // If an error occurs, set the Fts5Index.rc error code. If an error has // already occurred, this function is a no-op. -func fts5IndexAutomerge(tls *libc.TLS, p uintptr, ppStruct uintptr, nLeaf int32) { /* sqlite3.c:229257:13: */ +func fts5IndexAutomerge(tls *libc.TLS, p uintptr, ppStruct uintptr, nLeaf int32) { /* sqlite3.c:229314:13: */ if (*Fts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK && (*Fts5Config)(unsafe.Pointer((*Fts5Index)(unsafe.Pointer(p)).FpConfig)).FnAutomerge > 0 && *(*uintptr)(unsafe.Pointer(ppStruct)) != uintptr(0) { var pStruct uintptr = *(*uintptr)(unsafe.Pointer(ppStruct)) var nWrite U64 // Initial value of write-counter @@ -186640,7 +186671,7 @@ func fts5IndexAutomerge(tls *libc.TLS, p uintptr, ppStruct uintptr, nLeaf int32) } } -func fts5IndexCrisismerge(tls *libc.TLS, p uintptr, ppStruct uintptr) { /* sqlite3.c:229278:13: */ +func fts5IndexCrisismerge(tls *libc.TLS, p uintptr, ppStruct uintptr) { /* sqlite3.c:229335:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -186657,7 +186688,7 @@ func fts5IndexCrisismerge(tls *libc.TLS, p uintptr, ppStruct uintptr) { /* sqlit *(*uintptr)(unsafe.Pointer(ppStruct)) = *(*uintptr)(unsafe.Pointer(bp /* pStruct */)) } -func fts5IndexReturn(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:229296:12: */ +func fts5IndexReturn(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:229353:12: */ var rc int32 = (*Fts5Index)(unsafe.Pointer(p)).Frc (*Fts5Index)(unsafe.Pointer(p)).Frc = SQLITE_OK return rc @@ -186666,14 +186697,14 @@ func fts5IndexReturn(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:229296:12: * type Fts5FlushCtx1 = struct { FpIdx uintptr Fwriter Fts5SegWriter -} /* sqlite3.c:229302:9 */ +} /* sqlite3.c:229359:9 */ -type Fts5FlushCtx = Fts5FlushCtx1 /* sqlite3.c:229302:29 */ +type Fts5FlushCtx = Fts5FlushCtx1 /* sqlite3.c:229359:29 */ // Buffer aBuf[] contains a list of varints, all small enough to fit // in a 32-bit integer. Return the size of the largest prefix of this // list nMax bytes or less in size. -func fts5PoslistPrefix(tls *libc.TLS, aBuf uintptr, nMax int32) int32 { /* sqlite3.c:229313:12: */ +func fts5PoslistPrefix(tls *libc.TLS, aBuf uintptr, nMax int32) int32 { /* sqlite3.c:229370:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -186698,7 +186729,7 @@ func fts5PoslistPrefix(tls *libc.TLS, aBuf uintptr, nMax int32) int32 { /* sqlit // // If an error occurs, set the Fts5Index.rc error code. If an error has // already occurred, this function is a no-op. -func fts5FlushOneHash(tls *libc.TLS, p uintptr) { /* sqlite3.c:229334:13: */ +func fts5FlushOneHash(tls *libc.TLS, p uintptr) { /* sqlite3.c:229391:13: */ bp := tls.Alloc(176) defer tls.Free(176) @@ -186876,7 +186907,7 @@ func fts5FlushOneHash(tls *libc.TLS, p uintptr) { /* sqlite3.c:229334:13: */ } // Flush any data stored in the in-memory hash tables to the database. -func fts5IndexFlush(tls *libc.TLS, p uintptr) { /* sqlite3.c:229488:13: */ +func fts5IndexFlush(tls *libc.TLS, p uintptr) { /* sqlite3.c:229545:13: */ // Unless it is empty, flush the hash table to disk if (*Fts5Index)(unsafe.Pointer(p)).FnPendingData != 0 { @@ -186885,7 +186916,7 @@ func fts5IndexFlush(tls *libc.TLS, p uintptr) { /* sqlite3.c:229488:13: */ } } -func fts5IndexOptimizeStruct(tls *libc.TLS, p uintptr, pStruct uintptr) uintptr { /* sqlite3.c:229497:22: */ +func fts5IndexOptimizeStruct(tls *libc.TLS, p uintptr, pStruct uintptr) uintptr { /* sqlite3.c:229554:22: */ var pNew uintptr = uintptr(0) var nByte Sqlite3_int64 = Sqlite3_int64(unsafe.Sizeof(Fts5Structure{})) var nSeg int32 = (*Fts5Structure)(unsafe.Pointer(pStruct)).FnSegment @@ -186946,7 +186977,7 @@ func fts5IndexOptimizeStruct(tls *libc.TLS, p uintptr, pStruct uintptr) uintptr return pNew } -func sqlite3Fts5IndexOptimize(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:229559:12: */ +func sqlite3Fts5IndexOptimize(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:229616:12: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -186980,7 +187011,7 @@ func sqlite3Fts5IndexOptimize(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:229 // This is called to implement the special "VALUES('merge', $nMerge)" // INSERT command. -func sqlite3Fts5IndexMerge(tls *libc.TLS, p uintptr, nMerge int32) int32 { /* sqlite3.c:229593:12: */ +func sqlite3Fts5IndexMerge(tls *libc.TLS, p uintptr, nMerge int32) int32 { /* sqlite3.c:229650:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -187005,12 +187036,12 @@ func sqlite3Fts5IndexMerge(tls *libc.TLS, p uintptr, nMerge int32) int32 { /* sq return fts5IndexReturn(tls, p) } -func fts5AppendRowid(tls *libc.TLS, p uintptr, iDelta I64, pUnused uintptr, pBuf uintptr) { /* sqlite3.c:229615:13: */ +func fts5AppendRowid(tls *libc.TLS, p uintptr, iDelta I64, pUnused uintptr, pBuf uintptr) { /* sqlite3.c:229672:13: */ _ = pUnused sqlite3Fts5BufferAppendVarint(tls, p+52, pBuf, iDelta) } -func fts5AppendPoslist(tls *libc.TLS, p uintptr, iDelta I64, pMulti uintptr, pBuf uintptr) { /* sqlite3.c:229625:13: */ +func fts5AppendPoslist(tls *libc.TLS, p uintptr, iDelta I64, pMulti uintptr, pBuf uintptr) { /* sqlite3.c:229682:13: */ var nData int32 = (*Fts5Iter)(unsafe.Pointer(pMulti)).Fbase.FnData var nByte int32 = nData + 9 + 9 + FTS5_DATA_ZERO_PADDING @@ -187037,7 +187068,7 @@ func fts5AppendPoslist(tls *libc.TLS, p uintptr, iDelta I64, pMulti uintptr, pBu } } -func fts5DoclistIterNext(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:229643:13: */ +func fts5DoclistIterNext(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:229700:13: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -187069,7 +187100,7 @@ func fts5DoclistIterNext(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:229643:13: } } -func fts5DoclistIterInit(tls *libc.TLS, pBuf uintptr, pIter uintptr) { /* sqlite3.c:229672:13: */ +func fts5DoclistIterInit(tls *libc.TLS, pBuf uintptr, pIter uintptr) { /* sqlite3.c:229729:13: */ libc.Xmemset(tls, pIter, 0, uint64(unsafe.Sizeof(Fts5DoclistIter{}))) if (*Fts5Buffer)(unsafe.Pointer(pBuf)).Fn > 0 { (*Fts5DoclistIter)(unsafe.Pointer(pIter)).FaPoslist = (*Fts5Buffer)(unsafe.Pointer(pBuf)).Fp @@ -187079,13 +187110,13 @@ func fts5DoclistIterInit(tls *libc.TLS, pBuf uintptr, pIter uintptr) { /* sqlite } // Swap the contents of buffer *p1 with that of *p2. -func fts5BufferSwap(tls *libc.TLS, p1 uintptr, p2 uintptr) { /* sqlite3.c:229711:13: */ +func fts5BufferSwap(tls *libc.TLS, p1 uintptr, p2 uintptr) { /* sqlite3.c:229768:13: */ var tmp = *(*Fts5Buffer)(unsafe.Pointer(p1)) *(*Fts5Buffer)(unsafe.Pointer(p1)) = *(*Fts5Buffer)(unsafe.Pointer(p2)) *(*Fts5Buffer)(unsafe.Pointer(p2)) = tmp } -func fts5NextRowid(tls *libc.TLS, pBuf uintptr, piOff uintptr, piRowid uintptr) { /* sqlite3.c:229717:13: */ +func fts5NextRowid(tls *libc.TLS, pBuf uintptr, piOff uintptr, piRowid uintptr) { /* sqlite3.c:229774:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -187102,7 +187133,7 @@ func fts5NextRowid(tls *libc.TLS, pBuf uintptr, piOff uintptr, piRowid uintptr) // This is the equivalent of fts5MergePrefixLists() for detail=none mode. // In this case the buffers consist of a delta-encoded list of rowids only. -func fts5MergeRowidLists(tls *libc.TLS, p uintptr, p1 uintptr, nBuf int32, aBuf uintptr) { /* sqlite3.c:229732:13: */ +func fts5MergeRowidLists(tls *libc.TLS, p uintptr, p1 uintptr, nBuf int32, aBuf uintptr) { /* sqlite3.c:229789:13: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -187158,11 +187189,11 @@ type PrefixMerger1 = struct { F__ccgo_pad1 [4]byte FaPos uintptr FpNext uintptr -} /* sqlite3.c:229775:9 */ +} /* sqlite3.c:229832:9 */ -type PrefixMerger = PrefixMerger1 /* sqlite3.c:229775:29 */ +type PrefixMerger = PrefixMerger1 /* sqlite3.c:229832:29 */ -func fts5PrefixMergerInsertByRowid(tls *libc.TLS, ppHead uintptr, p uintptr) { /* sqlite3.c:229784:13: */ +func fts5PrefixMergerInsertByRowid(tls *libc.TLS, ppHead uintptr, p uintptr) { /* sqlite3.c:229841:13: */ if (*PrefixMerger)(unsafe.Pointer(p)).Fiter.FaPoslist != 0 { var pp uintptr = ppHead for *(*uintptr)(unsafe.Pointer(pp)) != 0 && (*PrefixMerger)(unsafe.Pointer(p)).Fiter.FiRowid > (*PrefixMerger)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pp)))).Fiter.FiRowid { @@ -187173,7 +187204,7 @@ func fts5PrefixMergerInsertByRowid(tls *libc.TLS, ppHead uintptr, p uintptr) { / } } -func fts5PrefixMergerInsertByPosition(tls *libc.TLS, ppHead uintptr, p uintptr) { /* sqlite3.c:229798:13: */ +func fts5PrefixMergerInsertByPosition(tls *libc.TLS, ppHead uintptr, p uintptr) { /* sqlite3.c:229855:13: */ if (*PrefixMerger)(unsafe.Pointer(p)).FiPos >= int64(0) { var pp uintptr = ppHead for *(*uintptr)(unsafe.Pointer(pp)) != 0 && (*PrefixMerger)(unsafe.Pointer(p)).FiPos > (*PrefixMerger)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pp)))).FiPos { @@ -187186,7 +187217,7 @@ func fts5PrefixMergerInsertByPosition(tls *libc.TLS, ppHead uintptr, p uintptr) // Array aBuf[] contains nBuf doclists. These are all merged in with the // doclist in buffer p1. -func fts5MergePrefixLists(tls *libc.TLS, p uintptr, p1 uintptr, nBuf int32, aBuf uintptr) { /* sqlite3.c:229817:13: */ +func fts5MergePrefixLists(tls *libc.TLS, p uintptr, p1 uintptr, nBuf int32, aBuf uintptr) { /* sqlite3.c:229874:13: */ bp := tls.Alloc(1072) defer tls.Free(1072) @@ -187351,7 +187382,7 @@ func fts5MergePrefixLists(tls *libc.TLS, p uintptr, p1 uintptr, nBuf int32, aBuf *(*Fts5Buffer)(unsafe.Pointer(p1)) = *(*Fts5Buffer)(unsafe.Pointer(bp + 1032 /* out */)) } -func fts5SetupPrefixIter(tls *libc.TLS, p uintptr, bDesc int32, iIdx int32, pToken uintptr, nToken int32, pColset uintptr, ppIter uintptr) { /* sqlite3.c:229961:13: */ +func fts5SetupPrefixIter(tls *libc.TLS, p uintptr, bDesc int32, iIdx int32, pToken uintptr, nToken int32, pColset uintptr, ppIter uintptr) { /* sqlite3.c:230018:13: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -187498,7 +187529,7 @@ func fts5SetupPrefixIter(tls *libc.TLS, p uintptr, bDesc int32, iIdx int32, pTok // Indicate that all subsequent calls to sqlite3Fts5IndexWrite() pertain // to the document with rowid iRowid. -func sqlite3Fts5IndexBeginWrite(tls *libc.TLS, p uintptr, bDelete int32, iRowid I64) int32 { /* sqlite3.c:230098:12: */ +func sqlite3Fts5IndexBeginWrite(tls *libc.TLS, p uintptr, bDelete int32, iRowid I64) int32 { /* sqlite3.c:230155:12: */ // Allocate the hash table if it has not already been allocated if (*Fts5Index)(unsafe.Pointer(p)).FpHash == uintptr(0) { @@ -187518,7 +187549,7 @@ func sqlite3Fts5IndexBeginWrite(tls *libc.TLS, p uintptr, bDelete int32, iRowid } // Commit data to disk. -func sqlite3Fts5IndexSync(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:230122:12: */ +func sqlite3Fts5IndexSync(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:230179:12: */ fts5IndexFlush(tls, p) sqlite3Fts5IndexCloseReader(tls, p) @@ -187529,7 +187560,7 @@ func sqlite3Fts5IndexSync(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:230122: // to the database. Additionally, assume that the contents of the %_data // table may have changed on disk. So any in-memory caches of %_data // records must be invalidated. -func sqlite3Fts5IndexRollback(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:230135:12: */ +func sqlite3Fts5IndexRollback(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:230192:12: */ sqlite3Fts5IndexCloseReader(tls, p) fts5IndexDiscardData(tls, p) fts5StructureInvalidate(tls, p) @@ -187540,7 +187571,7 @@ func sqlite3Fts5IndexRollback(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:230 // The %_data table is completely empty when this function is called. This // function populates it with the initial structure objects for each index, // and the initial version of the "averages" record (a zero-byte blob). -func sqlite3Fts5IndexReinit(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:230148:12: */ +func sqlite3Fts5IndexReinit(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:230205:12: */ bp := tls.Alloc(40) defer tls.Free(40) @@ -187559,7 +187590,7 @@ func sqlite3Fts5IndexReinit(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:23014 // // If successful, set *pp to point to the new object and return SQLITE_OK. // Otherwise, set *pp to NULL and return an SQLite error code. -func sqlite3Fts5IndexOpen(tls *libc.TLS, pConfig uintptr, bCreate int32, pp uintptr, pzErr uintptr) int32 { /* sqlite3.c:230165:12: */ +func sqlite3Fts5IndexOpen(tls *libc.TLS, pConfig uintptr, bCreate int32, pp uintptr, pzErr uintptr) int32 { /* sqlite3.c:230222:12: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -187593,7 +187624,7 @@ func sqlite3Fts5IndexOpen(tls *libc.TLS, pConfig uintptr, bCreate int32, pp uint } // Close a handle opened by an earlier call to sqlite3Fts5IndexOpen(). -func sqlite3Fts5IndexClose(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:230206:12: */ +func sqlite3Fts5IndexClose(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:230263:12: */ var rc int32 = SQLITE_OK if p != 0 { @@ -187614,7 +187645,7 @@ func sqlite3Fts5IndexClose(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:230206 // Argument p points to a buffer containing utf-8 text that is n bytes in // size. Return the number of bytes in the nChar character prefix of the // buffer, or 0 if there are less than nChar characters in total. -func sqlite3Fts5IndexCharlenToBytelen(tls *libc.TLS, p uintptr, nByte int32, nChar int32) int32 { /* sqlite3.c:230229:12: */ +func sqlite3Fts5IndexCharlenToBytelen(tls *libc.TLS, p uintptr, nByte int32, nChar int32) int32 { /* sqlite3.c:230286:12: */ var n int32 = 0 var i int32 for i = 0; i < nChar; i++ { @@ -187641,7 +187672,7 @@ func sqlite3Fts5IndexCharlenToBytelen(tls *libc.TLS, p uintptr, nByte int32, nCh // pIn is a UTF-8 encoded string, nIn bytes in size. Return the number of // unicode characters in the string. -func fts5IndexCharlen(tls *libc.TLS, pIn uintptr, nIn int32) int32 { /* sqlite3.c:230256:12: */ +func fts5IndexCharlen(tls *libc.TLS, pIn uintptr, nIn int32) int32 { /* sqlite3.c:230313:12: */ var nChar int32 = 0 var i int32 = 0 for i < nIn { @@ -187663,7 +187694,7 @@ func fts5IndexCharlen(tls *libc.TLS, pIn uintptr, nIn int32) int32 { /* sqlite3. // If the operation is a delete, it must be called (at least) once for each // unique token in the document with an iCol value less than zero. The iPos // argument is ignored for a delete. -func sqlite3Fts5IndexWrite(tls *libc.TLS, p uintptr, iCol int32, iPos int32, pToken uintptr, nToken int32) int32 { /* sqlite3.c:230278:12: */ +func sqlite3Fts5IndexWrite(tls *libc.TLS, p uintptr, iCol int32, iPos int32, pToken uintptr, nToken int32) int32 { /* sqlite3.c:230335:12: */ var i int32 // Used to iterate through indexes var rc int32 = SQLITE_OK // Return code var pConfig uintptr = (*Fts5Index)(unsafe.Pointer(p)).FpConfig @@ -187687,7 +187718,7 @@ func sqlite3Fts5IndexWrite(tls *libc.TLS, p uintptr, iCol int32, iPos int32, pTo // Open a new iterator to iterate though all rowid that match the // specified token or token prefix. -func sqlite3Fts5IndexQuery(tls *libc.TLS, p uintptr, pToken uintptr, nToken int32, flags int32, pColset uintptr, ppIter uintptr) int32 { /* sqlite3.c:230314:12: */ +func sqlite3Fts5IndexQuery(tls *libc.TLS, p uintptr, pToken uintptr, nToken int32, flags int32, pColset uintptr, ppIter uintptr) int32 { /* sqlite3.c:230371:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -187770,7 +187801,7 @@ func sqlite3Fts5IndexQuery(tls *libc.TLS, p uintptr, pToken uintptr, nToken int3 // Return true if the iterator passed as the only argument is at EOF. // Move to the next matching rowid. -func sqlite3Fts5IterNext(tls *libc.TLS, pIndexIter uintptr) int32 { /* sqlite3.c:230402:12: */ +func sqlite3Fts5IterNext(tls *libc.TLS, pIndexIter uintptr) int32 { /* sqlite3.c:230459:12: */ var pIter uintptr = pIndexIter fts5MultiIterNext(tls, (*Fts5Iter)(unsafe.Pointer(pIter)).FpIndex, pIter, 0, int64(0)) @@ -187778,7 +187809,7 @@ func sqlite3Fts5IterNext(tls *libc.TLS, pIndexIter uintptr) int32 { /* sqlite3.c } // Move to the next matching term/rowid. Used by the fts5vocab module. -func sqlite3Fts5IterNextScan(tls *libc.TLS, pIndexIter uintptr) int32 { /* sqlite3.c:230412:12: */ +func sqlite3Fts5IterNextScan(tls *libc.TLS, pIndexIter uintptr) int32 { /* sqlite3.c:230469:12: */ var pIter uintptr = pIndexIter var p uintptr = (*Fts5Iter)(unsafe.Pointer(pIter)).FpIndex @@ -187798,14 +187829,14 @@ func sqlite3Fts5IterNextScan(tls *libc.TLS, pIndexIter uintptr) int32 { /* sqlit // Move to the next matching rowid that occurs at or after iMatch. The // definition of "at or after" depends on whether this iterator iterates // in ascending or descending rowid order. -func sqlite3Fts5IterNextFrom(tls *libc.TLS, pIndexIter uintptr, iMatch I64) int32 { /* sqlite3.c:230436:12: */ +func sqlite3Fts5IterNextFrom(tls *libc.TLS, pIndexIter uintptr, iMatch I64) int32 { /* sqlite3.c:230493:12: */ var pIter uintptr = pIndexIter fts5MultiIterNextFrom(tls, (*Fts5Iter)(unsafe.Pointer(pIter)).FpIndex, pIter, iMatch) return fts5IndexReturn(tls, (*Fts5Iter)(unsafe.Pointer(pIter)).FpIndex) } // Return the current term. -func sqlite3Fts5IterTerm(tls *libc.TLS, pIndexIter uintptr, pn uintptr) uintptr { /* sqlite3.c:230445:19: */ +func sqlite3Fts5IterTerm(tls *libc.TLS, pIndexIter uintptr, pn uintptr) uintptr { /* sqlite3.c:230502:19: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -187823,7 +187854,7 @@ func sqlite3Fts5IterTerm(tls *libc.TLS, pIndexIter uintptr, pn uintptr) uintptr } // Close an iterator opened by an earlier call to sqlite3Fts5IndexQuery(). -func sqlite3Fts5IterClose(tls *libc.TLS, pIndexIter uintptr) { /* sqlite3.c:230456:13: */ +func sqlite3Fts5IterClose(tls *libc.TLS, pIndexIter uintptr) { /* sqlite3.c:230513:13: */ if pIndexIter != 0 { var pIter uintptr = pIndexIter var pIndex uintptr = (*Fts5Iter)(unsafe.Pointer(pIter)).FpIndex @@ -187836,7 +187867,7 @@ func sqlite3Fts5IterClose(tls *libc.TLS, pIndexIter uintptr) { /* sqlite3.c:2304 // // Parameter anSize must point to an array of size nCol, where nCol is // the number of user defined columns in the FTS table. -func sqlite3Fts5IndexGetAverages(tls *libc.TLS, p uintptr, pnRow uintptr, anSize uintptr) int32 { /* sqlite3.c:230471:12: */ +func sqlite3Fts5IndexGetAverages(tls *libc.TLS, p uintptr, pnRow uintptr, anSize uintptr) int32 { /* sqlite3.c:230528:12: */ var nCol int32 = (*Fts5Config)(unsafe.Pointer((*Fts5Index)(unsafe.Pointer(p)).FpConfig)).FnCol var pData uintptr @@ -187858,7 +187889,7 @@ func sqlite3Fts5IndexGetAverages(tls *libc.TLS, p uintptr, pnRow uintptr, anSize // Replace the current "averages" record with the contents of the buffer // supplied as the second argument. -func sqlite3Fts5IndexSetAverages(tls *libc.TLS, p uintptr, pData uintptr, nData int32) int32 { /* sqlite3.c:230495:12: */ +func sqlite3Fts5IndexSetAverages(tls *libc.TLS, p uintptr, pData uintptr, nData int32) int32 { /* sqlite3.c:230552:12: */ fts5DataWrite(tls, p, int64(FTS5_AVERAGES_ROWID), pData, nData) return fts5IndexReturn(tls, p) @@ -187866,7 +187897,7 @@ func sqlite3Fts5IndexSetAverages(tls *libc.TLS, p uintptr, pData uintptr, nData // Return the total number of blocks this module has read from the %_data // table since it was created. -func sqlite3Fts5IndexReads(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:230505:12: */ +func sqlite3Fts5IndexReads(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:230562:12: */ return (*Fts5Index)(unsafe.Pointer(p)).FnRead } @@ -187875,7 +187906,7 @@ func sqlite3Fts5IndexReads(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:230505 // // Return SQLITE_OK if successful, or an SQLite error code if an error // occurs. -func sqlite3Fts5IndexSetCookie(tls *libc.TLS, p uintptr, iNew int32) int32 { /* sqlite3.c:230516:12: */ +func sqlite3Fts5IndexSetCookie(tls *libc.TLS, p uintptr, iNew int32) int32 { /* sqlite3.c:230573:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -187897,7 +187928,7 @@ func sqlite3Fts5IndexSetCookie(tls *libc.TLS, p uintptr, iNew int32) int32 { /* return rc } -func sqlite3Fts5IndexLoadConfig(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:230536:12: */ +func sqlite3Fts5IndexLoadConfig(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:230593:12: */ var pStruct uintptr pStruct = fts5StructureRead(tls, p) fts5StructureRelease(tls, pStruct) @@ -187911,7 +187942,7 @@ func sqlite3Fts5IndexLoadConfig(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:2 // functionality. // Return a simple checksum value based on the arguments. -func sqlite3Fts5IndexEntryCksum(tls *libc.TLS, iRowid I64, iCol int32, iPos int32, iIdx int32, pTerm uintptr, nTerm int32) U64 { /* sqlite3.c:230553:12: */ +func sqlite3Fts5IndexEntryCksum(tls *libc.TLS, iRowid I64, iCol int32, iPos int32, iIdx int32, pTerm uintptr, nTerm int32) U64 { /* sqlite3.c:230610:12: */ var i int32 var ret U64 = U64(iRowid) ret = ret + (ret<<3 + U64(iCol)) @@ -187931,7 +187962,7 @@ func sqlite3Fts5IndexEntryCksum(tls *libc.TLS, iRowid I64, iCol int32, iPos int3 // contain zero terms. // 2) All leaves of pSeg between iNoRowid and iLast (inclusive) exist and // contain zero rowids. -func fts5IndexIntegrityCheckEmpty(tls *libc.TLS, p uintptr, pSeg uintptr, iFirst int32, iNoRowid int32, iLast int32) { /* sqlite3.c:230771:13: */ +func fts5IndexIntegrityCheckEmpty(tls *libc.TLS, p uintptr, pSeg uintptr, iFirst int32, iNoRowid int32, iLast int32) { /* sqlite3.c:230828:13: */ var i int32 // Now check that the iter.nEmpty leaves following the current leaf @@ -187950,7 +187981,7 @@ func fts5IndexIntegrityCheckEmpty(tls *libc.TLS, p uintptr, pSeg uintptr, iFirst } } -func fts5IntegrityCheckPgidx(tls *libc.TLS, p uintptr, pLeaf uintptr) { /* sqlite3.c:230792:13: */ +func fts5IntegrityCheckPgidx(tls *libc.TLS, p uintptr, pLeaf uintptr) { /* sqlite3.c:230849:13: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -188009,7 +188040,7 @@ func fts5IntegrityCheckPgidx(tls *libc.TLS, p uintptr, pLeaf uintptr) { /* sqlit sqlite3Fts5BufferFree(tls, bp+32) } -func fts5IndexIntegrityCheckSegment(tls *libc.TLS, p uintptr, pSeg uintptr) { /* sqlite3.c:230842:13: */ +func fts5IndexIntegrityCheckSegment(tls *libc.TLS, p uintptr, pSeg uintptr) { /* sqlite3.c:230899:13: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -188178,7 +188209,7 @@ func fts5IndexIntegrityCheckSegment(tls *libc.TLS, p uintptr, pSeg uintptr) { /* // checksum does not match. Return SQLITE_OK if all checks pass without // error, or some other SQLite error code if another error (e.g. OOM) // occurs. -func sqlite3Fts5IndexIntegrityCheck(tls *libc.TLS, p uintptr, cksum U64, bUseCksum int32) int32 { /* sqlite3.c:230987:12: */ +func sqlite3Fts5IndexIntegrityCheck(tls *libc.TLS, p uintptr, cksum U64, bUseCksum int32) int32 { /* sqlite3.c:231044:12: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -188268,13 +188299,13 @@ func sqlite3Fts5IndexIntegrityCheck(tls *libc.TLS, p uintptr, cksum U64, bUseCks // // If successful, SQLITE_OK is returned. If an error occurs, some other // SQLite error code is returned instead. -func sqlite3Fts5IndexInit(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:231550:12: */ +func sqlite3Fts5IndexInit(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:231607:12: */ return SQLITE_OK _ = db return int32(0) } -func sqlite3Fts5IndexReset(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:231576:12: */ +func sqlite3Fts5IndexReset(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:231633:12: */ if fts5IndexDataVersion(tls, p) != (*Fts5Index)(unsafe.Pointer(p)).FiStructVersion { fts5StructureInvalidate(tls, p) @@ -188307,7 +188338,7 @@ type Fts5Auxdata1 = struct { FpPtr uintptr FxDelete uintptr FpNext uintptr -} /* sqlite3.c:216813:9 */ +} /* sqlite3.c:216870:9 */ // 2014 Jun 09 // @@ -188329,7 +188360,7 @@ type Fts5Auxdata1 = struct { // assert() conditions in the fts5 code are activated - conditions that are // only true if it is guaranteed that the fts5 database is not corrupt. -type Fts5Auxdata = Fts5Auxdata1 /* sqlite3.c:231613:28 */ +type Fts5Auxdata = Fts5Auxdata1 /* sqlite3.c:231670:28 */ type Fts5Auxiliary1 = struct { FpGlobal uintptr FzFunc uintptr @@ -188337,9 +188368,9 @@ type Fts5Auxiliary1 = struct { FxFunc Fts5_extension_function FxDestroy uintptr FpNext uintptr -} /* sqlite3.c:216813:9 */ +} /* sqlite3.c:216870:9 */ -type Fts5Auxiliary = Fts5Auxiliary1 /* sqlite3.c:231614:30 */ +type Fts5Auxiliary = Fts5Auxiliary1 /* sqlite3.c:231671:30 */ type Fts5Cursor1 = struct { Fbase Sqlite3_vtab_cursor FpNext uintptr @@ -188368,35 +188399,35 @@ type Fts5Cursor1 = struct { FnInstAlloc int32 FnInstCount int32 FaInst uintptr -} /* sqlite3.c:216813:9 */ +} /* sqlite3.c:216870:9 */ -type Fts5Cursor = Fts5Cursor1 /* sqlite3.c:231615:27 */ +type Fts5Cursor = Fts5Cursor1 /* sqlite3.c:231672:27 */ type Fts5FullTable1 = struct { Fp Fts5Table FpStorage uintptr FpGlobal uintptr FpSortCsr uintptr -} /* sqlite3.c:231616:9 */ +} /* sqlite3.c:231673:9 */ -type Fts5FullTable = Fts5FullTable1 /* sqlite3.c:231616:30 */ +type Fts5FullTable = Fts5FullTable1 /* sqlite3.c:231673:30 */ type Fts5Sorter1 = struct { FpStmt uintptr FiRowid I64 FaPoslist uintptr FnIdx int32 FaIdx [1]int32 -} /* sqlite3.c:216813:9 */ +} /* sqlite3.c:216870:9 */ -type Fts5Sorter = Fts5Sorter1 /* sqlite3.c:231617:27 */ +type Fts5Sorter = Fts5Sorter1 /* sqlite3.c:231674:27 */ type Fts5TokenizerModule1 = struct { FzName uintptr FpUserData uintptr Fx Fts5_tokenizer FxDestroy uintptr FpNext uintptr -} /* sqlite3.c:216813:9 */ +} /* sqlite3.c:216870:9 */ -type Fts5TokenizerModule = Fts5TokenizerModule1 /* sqlite3.c:231618:36 */ +type Fts5TokenizerModule = Fts5TokenizerModule1 /* sqlite3.c:231675:36 */ // NOTES ON TRANSACTIONS: // @@ -188430,21 +188461,21 @@ type Fts5TokenizerModule = Fts5TokenizerModule1 /* sqlite3.c:231618:36 */ type Fts5TransactionState = struct { FeState int32 FiSavepoint int32 -} /* sqlite3.c:231651:1 */ +} /* sqlite3.c:231708:1 */ type Fts5MatchPhrase = struct { FpPoslist uintptr FnTerm int32 F__ccgo_pad1 [4]byte -} /* sqlite3.c:231708:1 */ +} /* sqlite3.c:231765:1 */ // Return true if pTab is a contentless table. -func fts5IsContentless(tls *libc.TLS, pTab uintptr) int32 { /* sqlite3.c:231892:12: */ +func fts5IsContentless(tls *libc.TLS, pTab uintptr) int32 { /* sqlite3.c:231949:12: */ return libc.Bool32((*Fts5Config)(unsafe.Pointer((*Fts5FullTable)(unsafe.Pointer(pTab)).Fp.FpConfig)).FeContent == FTS5_CONTENT_NONE) } // Delete a virtual table handle allocated by fts5InitVtab(). -func fts5FreeVtab(tls *libc.TLS, pTab uintptr) { /* sqlite3.c:231899:13: */ +func fts5FreeVtab(tls *libc.TLS, pTab uintptr) { /* sqlite3.c:231956:13: */ if pTab != 0 { sqlite3Fts5IndexClose(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).Fp.FpIndex) sqlite3Fts5StorageClose(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).FpStorage) @@ -188454,13 +188485,13 @@ func fts5FreeVtab(tls *libc.TLS, pTab uintptr) { /* sqlite3.c:231899:13: */ } // The xDisconnect() virtual table method. -func fts5DisconnectMethod(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:231911:12: */ +func fts5DisconnectMethod(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:231968:12: */ fts5FreeVtab(tls, pVtab) return SQLITE_OK } // The xDestroy() virtual table method. -func fts5DestroyMethod(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:231919:12: */ +func fts5DestroyMethod(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:231976:12: */ var pTab uintptr = pVtab var rc int32 = sqlite3Fts5DropAll(tls, (*Fts5Table)(unsafe.Pointer(pTab)).FpConfig) if rc == SQLITE_OK { @@ -188478,7 +188509,7 @@ func fts5DestroyMethod(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:231919 // argv[1] -> database name // argv[2] -> table name // argv[...] -> "column name" and other module argument fields. -func fts5InitVtab(tls *libc.TLS, bCreate int32, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVTab uintptr, pzErr uintptr) int32 { /* sqlite3.c:231939:12: */ +func fts5InitVtab(tls *libc.TLS, bCreate int32, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVTab uintptr, pzErr uintptr) int32 { /* sqlite3.c:231996:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -188536,11 +188567,11 @@ func fts5InitVtab(tls *libc.TLS, bCreate int32, db uintptr, pAux uintptr, argc i // The xConnect() and xCreate() methods for the virtual table. All the // work is done in function fts5InitVtab(). -func fts5ConnectMethod(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 { /* sqlite3.c:232005:12: */ +func fts5ConnectMethod(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 { /* sqlite3.c:232062:12: */ return fts5InitVtab(tls, 0, db, pAux, argc, argv, ppVtab, pzErr) } -func fts5CreateMethod(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 { /* sqlite3.c:232015:12: */ +func fts5CreateMethod(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 { /* sqlite3.c:232072:12: */ return fts5InitVtab(tls, 1, db, pAux, argc, argv, ppVtab, pzErr) } @@ -188549,14 +188580,14 @@ func fts5CreateMethod(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv // Set the SQLITE_INDEX_SCAN_UNIQUE flag in pIdxInfo->flags. Unless this // extension is currently being used by a version of SQLite too old to // support index-info flags. In that case this function is a no-op. -func fts5SetUniqueFlag(tls *libc.TLS, pIdxInfo uintptr) { /* sqlite3.c:232041:13: */ +func fts5SetUniqueFlag(tls *libc.TLS, pIdxInfo uintptr) { /* sqlite3.c:232098:13: */ { *(*int32)(unsafe.Pointer(pIdxInfo + 80)) |= SQLITE_INDEX_SCAN_UNIQUE } } -func fts5UsePatternMatch(tls *libc.TLS, pConfig uintptr, p uintptr) int32 { /* sqlite3.c:232052:12: */ +func fts5UsePatternMatch(tls *libc.TLS, pConfig uintptr, p uintptr) int32 { /* sqlite3.c:232109:12: */ if (*Fts5Config)(unsafe.Pointer(pConfig)).FePattern == FTS5_PATTERN_GLOB && int32((*sqlite3_index_constraint)(unsafe.Pointer(p)).Fop) == FTS5_PATTERN_GLOB { return 1 @@ -188627,7 +188658,7 @@ func fts5UsePatternMatch(tls *libc.TLS, pConfig uintptr, p uintptr) int32 { /* s // * An == rowid constraint: cost=10.0 // // Costs are not modified by the ORDER BY clause. -func fts5BestIndexMethod(tls *libc.TLS, pVTab uintptr, pInfo uintptr) int32 { /* sqlite3.c:232130:12: */ +func fts5BestIndexMethod(tls *libc.TLS, pVTab uintptr, pInfo uintptr) int32 { /* sqlite3.c:232187:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -188789,7 +188820,7 @@ func fts5BestIndexMethod(tls *libc.TLS, pVTab uintptr, pInfo uintptr) int32 { /* return SQLITE_OK } -func fts5NewTransaction(tls *libc.TLS, pTab uintptr) int32 { /* sqlite3.c:232265:12: */ +func fts5NewTransaction(tls *libc.TLS, pTab uintptr) int32 { /* sqlite3.c:232322:12: */ var pCsr uintptr for pCsr = (*Fts5Global)(unsafe.Pointer((*Fts5FullTable)(unsafe.Pointer(pTab)).FpGlobal)).FpCsr; pCsr != 0; pCsr = (*Fts5Cursor)(unsafe.Pointer(pCsr)).FpNext { if (*Fts5Cursor)(unsafe.Pointer(pCsr)).Fbase.FpVtab == pTab { @@ -188800,7 +188831,7 @@ func fts5NewTransaction(tls *libc.TLS, pTab uintptr) int32 { /* sqlite3.c:232265 } // Implementation of xOpen method. -func fts5OpenMethod(tls *libc.TLS, pVTab uintptr, ppCsr uintptr) int32 { /* sqlite3.c:232276:12: */ +func fts5OpenMethod(tls *libc.TLS, pVTab uintptr, ppCsr uintptr) int32 { /* sqlite3.c:232333:12: */ var pTab uintptr = pVTab var pConfig uintptr = (*Fts5FullTable)(unsafe.Pointer(pTab)).Fp.FpConfig var pCsr uintptr = uintptr(0) // New cursor object @@ -188826,7 +188857,7 @@ func fts5OpenMethod(tls *libc.TLS, pVTab uintptr, ppCsr uintptr) int32 { /* sqli return rc } -func fts5StmtType(tls *libc.TLS, pCsr uintptr) int32 { /* sqlite3.c:232302:12: */ +func fts5StmtType(tls *libc.TLS, pCsr uintptr) int32 { /* sqlite3.c:232359:12: */ if (*Fts5Cursor)(unsafe.Pointer(pCsr)).FePlan == FTS5_PLAN_SCAN { if (*Fts5Cursor)(unsafe.Pointer(pCsr)).FbDesc != 0 { return FTS5_STMT_SCAN_DESC @@ -188839,11 +188870,11 @@ func fts5StmtType(tls *libc.TLS, pCsr uintptr) int32 { /* sqlite3.c:232302:12: * // This function is called after the cursor passed as the only argument // is moved to point at a different row. It clears all cached data // specific to the previous row stored by the cursor object. -func fts5CsrNewrow(tls *libc.TLS, pCsr uintptr) { /* sqlite3.c:232314:13: */ +func fts5CsrNewrow(tls *libc.TLS, pCsr uintptr) { /* sqlite3.c:232371:13: */ *(*int32)(unsafe.Pointer(pCsr + 80)) |= FTS5CSR_REQUIRE_CONTENT | FTS5CSR_REQUIRE_DOCSIZE | FTS5CSR_REQUIRE_INST | FTS5CSR_REQUIRE_POSLIST } -func fts5FreeCursorComponents(tls *libc.TLS, pCsr uintptr) { /* sqlite3.c:232323:13: */ +func fts5FreeCursorComponents(tls *libc.TLS, pCsr uintptr) { /* sqlite3.c:232380:13: */ var pTab uintptr = (*Fts5Cursor)(unsafe.Pointer(pCsr)).Fbase.FpVtab var pData uintptr var pNext uintptr @@ -188886,7 +188917,7 @@ func fts5FreeCursorComponents(tls *libc.TLS, pCsr uintptr) { /* sqlite3.c:232323 // Close the cursor. For additional information see the documentation // on the xClose method of the virtual table interface. -func fts5CloseMethod(tls *libc.TLS, pCursor uintptr) int32 { /* sqlite3.c:232367:12: */ +func fts5CloseMethod(tls *libc.TLS, pCursor uintptr) int32 { /* sqlite3.c:232424:12: */ if pCursor != 0 { var pTab uintptr = (*Sqlite3_vtab_cursor)(unsafe.Pointer(pCursor)).FpVtab var pCsr uintptr = pCursor @@ -188903,7 +188934,7 @@ func fts5CloseMethod(tls *libc.TLS, pCursor uintptr) int32 { /* sqlite3.c:232367 return SQLITE_OK } -func fts5SorterNext(tls *libc.TLS, pCsr uintptr) int32 { /* sqlite3.c:232383:12: */ +func fts5SorterNext(tls *libc.TLS, pCsr uintptr) int32 { /* sqlite3.c:232440:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -188947,7 +188978,7 @@ func fts5SorterNext(tls *libc.TLS, pCsr uintptr) int32 { /* sqlite3.c:232383:12: // Set the FTS5CSR_REQUIRE_RESEEK flag on all FTS5_PLAN_MATCH cursors // open on table pTab. -func fts5TripCursors(tls *libc.TLS, pTab uintptr) { /* sqlite3.c:232426:13: */ +func fts5TripCursors(tls *libc.TLS, pTab uintptr) { /* sqlite3.c:232483:13: */ var pCsr uintptr for pCsr = (*Fts5Global)(unsafe.Pointer((*Fts5FullTable)(unsafe.Pointer(pTab)).FpGlobal)).FpCsr; pCsr != 0; pCsr = (*Fts5Cursor)(unsafe.Pointer(pCsr)).FpNext { if (*Fts5Cursor)(unsafe.Pointer(pCsr)).FePlan == FTS5_PLAN_MATCH && @@ -188967,7 +188998,7 @@ func fts5TripCursors(tls *libc.TLS, pTab uintptr) { /* sqlite3.c:232426:13: */ // // Return SQLITE_OK if successful or if no reseek was required, or an // error code if an error occurred. -func fts5CursorReseek(tls *libc.TLS, pCsr uintptr, pbSkip uintptr) int32 { /* sqlite3.c:232449:12: */ +func fts5CursorReseek(tls *libc.TLS, pCsr uintptr, pbSkip uintptr) int32 { /* sqlite3.c:232506:12: */ var rc int32 = SQLITE_OK if (*Fts5Cursor)(unsafe.Pointer(pCsr)).Fcsrflags&FTS5CSR_REQUIRE_RESEEK != 0 { @@ -188996,7 +189027,7 @@ func fts5CursorReseek(tls *libc.TLS, pCsr uintptr, pbSkip uintptr) int32 { /* sq // Return SQLITE_OK if nothing goes wrong. SQLITE_OK is returned // even if we reach end-of-file. The fts5EofMethod() will be called // subsequently to determine whether or not an EOF was hit. -func fts5NextMethod(tls *libc.TLS, pCursor uintptr) int32 { /* sqlite3.c:232481:12: */ +func fts5NextMethod(tls *libc.TLS, pCursor uintptr) int32 { /* sqlite3.c:232538:12: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -189055,7 +189086,7 @@ func fts5NextMethod(tls *libc.TLS, pCursor uintptr) int32 { /* sqlite3.c:232481: return rc } -func fts5PrepareStatement(tls *libc.TLS, ppStmt uintptr, pConfig uintptr, zFmt uintptr, va uintptr) int32 { /* sqlite3.c:232534:12: */ +func fts5PrepareStatement(tls *libc.TLS, ppStmt uintptr, pConfig uintptr, zFmt uintptr, va uintptr) int32 { /* sqlite3.c:232591:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -189083,7 +189114,7 @@ func fts5PrepareStatement(tls *libc.TLS, ppStmt uintptr, pConfig uintptr, zFmt u return rc } -func fts5CursorFirstSorted(tls *libc.TLS, pTab uintptr, pCsr uintptr, bDesc int32) int32 { /* sqlite3.c:232563:12: */ +func fts5CursorFirstSorted(tls *libc.TLS, pTab uintptr, pCsr uintptr, bDesc int32) int32 { /* sqlite3.c:232620:12: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -189150,7 +189181,7 @@ func fts5CursorFirstSorted(tls *libc.TLS, pTab uintptr, pCsr uintptr, bDesc int3 return rc } -func fts5CursorFirst(tls *libc.TLS, pTab uintptr, pCsr uintptr, bDesc int32) int32 { /* sqlite3.c:232615:12: */ +func fts5CursorFirst(tls *libc.TLS, pTab uintptr, pCsr uintptr, bDesc int32) int32 { /* sqlite3.c:232672:12: */ var rc int32 var pExpr uintptr = (*Fts5Cursor)(unsafe.Pointer(pCsr)).FpExpr rc = sqlite3Fts5ExprFirst(tls, pExpr, (*Fts5FullTable)(unsafe.Pointer(pTab)).Fp.FpIndex, (*Fts5Cursor)(unsafe.Pointer(pCsr)).FiFirstRowid, bDesc) @@ -189165,7 +189196,7 @@ func fts5CursorFirst(tls *libc.TLS, pTab uintptr, pCsr uintptr, bDesc int32) int // MATCH expression that begins with a '*' character. The remainder of // the text passed to the MATCH operator are used as the special query // parameters. -func fts5SpecialMatch(tls *libc.TLS, pTab uintptr, pCsr uintptr, zQuery uintptr) int32 { /* sqlite3.c:232632:12: */ +func fts5SpecialMatch(tls *libc.TLS, pTab uintptr, pCsr uintptr, zQuery uintptr) int32 { /* sqlite3.c:232689:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -189197,7 +189228,7 @@ func fts5SpecialMatch(tls *libc.TLS, pTab uintptr, pCsr uintptr, zQuery uintptr) // Search for an auxiliary function named zName that can be used with table // pTab. If one is found, return a pointer to the corresponding Fts5Auxiliary // structure. Otherwise, if no such function exists, return NULL. -func fts5FindAuxiliary(tls *libc.TLS, pTab uintptr, zName uintptr) uintptr { /* sqlite3.c:232667:22: */ +func fts5FindAuxiliary(tls *libc.TLS, pTab uintptr, zName uintptr) uintptr { /* sqlite3.c:232724:22: */ var pAux uintptr for pAux = (*Fts5Global)(unsafe.Pointer((*Fts5FullTable)(unsafe.Pointer(pTab)).FpGlobal)).FpAux; pAux != 0; pAux = (*Fts5Auxiliary)(unsafe.Pointer(pAux)).FpNext { @@ -189210,7 +189241,7 @@ func fts5FindAuxiliary(tls *libc.TLS, pTab uintptr, zName uintptr) uintptr { /* return uintptr(0) } -func fts5FindRankFunction(tls *libc.TLS, pCsr uintptr) int32 { /* sqlite3.c:232679:12: */ +func fts5FindRankFunction(tls *libc.TLS, pCsr uintptr) int32 { /* sqlite3.c:232736:12: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -189263,7 +189294,7 @@ func fts5FindRankFunction(tls *libc.TLS, pCsr uintptr) int32 { /* sqlite3.c:2326 return *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) } -func fts5CursorParseRank(tls *libc.TLS, pConfig uintptr, pCsr uintptr, pRank uintptr) int32 { /* sqlite3.c:232730:12: */ +func fts5CursorParseRank(tls *libc.TLS, pConfig uintptr, pCsr uintptr, pRank uintptr) int32 { /* sqlite3.c:232787:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -189300,7 +189331,7 @@ func fts5CursorParseRank(tls *libc.TLS, pConfig uintptr, pCsr uintptr, pRank uin return rc } -func fts5GetRowidLimit(tls *libc.TLS, pVal uintptr, iDefault I64) I64 { /* sqlite3.c:232767:12: */ +func fts5GetRowidLimit(tls *libc.TLS, pVal uintptr, iDefault I64) I64 { /* sqlite3.c:232824:12: */ if pVal != 0 { var eType int32 = Xsqlite3_value_numeric_type(tls, pVal) if eType == SQLITE_INTEGER { @@ -189319,7 +189350,7 @@ func fts5GetRowidLimit(tls *libc.TLS, pVal uintptr, iDefault I64) I64 { /* sqlit // 1. Full-text search using a MATCH operator. // 2. A by-rowid lookup. // 3. A full-table scan. -func fts5FilterMethod(tls *libc.TLS, pCursor uintptr, idxNum int32, idxStr uintptr, nVal int32, apVal uintptr) int32 { /* sqlite3.c:232788:12: */ +func fts5FilterMethod(tls *libc.TLS, pCursor uintptr, idxNum int32, idxStr uintptr, nVal int32, apVal uintptr) int32 { /* sqlite3.c:232845:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -189640,7 +189671,7 @@ filter_out: // This is the xEof method of the virtual table. SQLite calls this // routine to find out if it has reached the end of a result set. -func fts5EofMethod(tls *libc.TLS, pCursor uintptr) int32 { /* sqlite3.c:232981:12: */ +func fts5EofMethod(tls *libc.TLS, pCursor uintptr) int32 { /* sqlite3.c:233038:12: */ var pCsr uintptr = pCursor return func() int32 { if (*Fts5Cursor)(unsafe.Pointer(pCsr)).Fcsrflags&FTS5CSR_EOF != 0 { @@ -189651,7 +189682,7 @@ func fts5EofMethod(tls *libc.TLS, pCursor uintptr) int32 { /* sqlite3.c:232981:1 } // Return the rowid that the cursor currently points to. -func fts5CursorRowid(tls *libc.TLS, pCsr uintptr) I64 { /* sqlite3.c:232989:12: */ +func fts5CursorRowid(tls *libc.TLS, pCsr uintptr) I64 { /* sqlite3.c:233046:12: */ if (*Fts5Cursor)(unsafe.Pointer(pCsr)).FpSorter != 0 { return (*Fts5Sorter)(unsafe.Pointer((*Fts5Cursor)(unsafe.Pointer(pCsr)).FpSorter)).FiRowid @@ -189665,7 +189696,7 @@ func fts5CursorRowid(tls *libc.TLS, pCsr uintptr) I64 { /* sqlite3.c:232989:12: // retrieve the rowid for the current row of the result set. fts5 // exposes %_content.rowid as the rowid for the virtual table. The // rowid should be written to *pRowid. -func fts5RowidMethod(tls *libc.TLS, pCursor uintptr, pRowid uintptr) int32 { /* sqlite3.c:233007:12: */ +func fts5RowidMethod(tls *libc.TLS, pCursor uintptr, pRowid uintptr) int32 { /* sqlite3.c:233064:12: */ var pCsr uintptr = pCursor var ePlan int32 = (*Fts5Cursor)(unsafe.Pointer(pCsr)).FePlan @@ -189695,7 +189726,7 @@ func fts5RowidMethod(tls *libc.TLS, pCursor uintptr, pRowid uintptr) int32 { /* // // If argument bErrormsg is true and an error occurs, an error message may // be left in sqlite3_vtab.zErrMsg. -func fts5SeekCursor(tls *libc.TLS, pCsr uintptr, bErrormsg int32) int32 { /* sqlite3.c:233038:12: */ +func fts5SeekCursor(tls *libc.TLS, pCsr uintptr, bErrormsg int32) int32 { /* sqlite3.c:233095:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -189739,7 +189770,7 @@ func fts5SeekCursor(tls *libc.TLS, pCsr uintptr, bErrormsg int32) int32 { /* sql return rc } -func fts5SetVtabError(tls *libc.TLS, p uintptr, zFormat uintptr, va uintptr) { /* sqlite3.c:233077:13: */ +func fts5SetVtabError(tls *libc.TLS, p uintptr, zFormat uintptr, va uintptr) { /* sqlite3.c:233134:13: */ var ap Va_list _ = ap // ... printf arguments ap = va @@ -189761,7 +189792,7 @@ func fts5SetVtabError(tls *libc.TLS, p uintptr, zFormat uintptr, va uintptr) { / // The commands implemented by this function are documented in the "Special // INSERT Directives" section of the documentation. It should be updated if // more commands are added to this function. -func fts5SpecialInsert(tls *libc.TLS, pTab uintptr, zCmd uintptr, pVal uintptr) int32 { /* sqlite3.c:233100:12: */ +func fts5SpecialInsert(tls *libc.TLS, pTab uintptr, zCmd uintptr, pVal uintptr) int32 { /* sqlite3.c:233157:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -189810,7 +189841,7 @@ func fts5SpecialInsert(tls *libc.TLS, pTab uintptr, zCmd uintptr, pVal uintptr) return rc } -func fts5SpecialDelete(tls *libc.TLS, pTab uintptr, apVal uintptr) int32 { /* sqlite3.c:233156:12: */ +func fts5SpecialDelete(tls *libc.TLS, pTab uintptr, apVal uintptr) int32 { /* sqlite3.c:233213:12: */ var rc int32 = SQLITE_OK var eType1 int32 = Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(apVal + 1*8))) if eType1 == SQLITE_INTEGER { @@ -189820,7 +189851,7 @@ func fts5SpecialDelete(tls *libc.TLS, pTab uintptr, apVal uintptr) int32 { /* sq return rc } -func fts5StorageInsert(tls *libc.TLS, pRc uintptr, pTab uintptr, apVal uintptr, piRowid uintptr) { /* sqlite3.c:233169:13: */ +func fts5StorageInsert(tls *libc.TLS, pRc uintptr, pTab uintptr, apVal uintptr, piRowid uintptr) { /* sqlite3.c:233226:13: */ var rc int32 = *(*int32)(unsafe.Pointer(pRc)) if rc == SQLITE_OK { rc = sqlite3Fts5StorageContentInsert(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).FpStorage, apVal, piRowid) @@ -189843,7 +189874,7 @@ func fts5StorageInsert(tls *libc.TLS, pRc uintptr, pTab uintptr, apVal uintptr, // 2. The "new" rowid. // 3. Values for each of the nCol matchable columns. // 4. Values for the two hidden columns ( and "rank"). -func fts5UpdateMethod(tls *libc.TLS, pVtab uintptr, nArg int32, apVal uintptr, pRowid uintptr) int32 { /* sqlite3.c:233199:12: */ +func fts5UpdateMethod(tls *libc.TLS, pVtab uintptr, nArg int32, apVal uintptr, pRowid uintptr) int32 { /* sqlite3.c:233256:12: */ bp := tls.Alloc(20) defer tls.Free(20) @@ -189945,7 +189976,7 @@ func fts5UpdateMethod(tls *libc.TLS, pVtab uintptr, nArg int32, apVal uintptr, p } // Implementation of xSync() method. -func fts5SyncMethod(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:233325:12: */ +func fts5SyncMethod(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:233382:12: */ var rc int32 var pTab uintptr = pVtab @@ -189957,7 +189988,7 @@ func fts5SyncMethod(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:233325:12 } // Implementation of xBegin() method. -func fts5BeginMethod(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:233339:12: */ +func fts5BeginMethod(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:233396:12: */ fts5NewTransaction(tls, pVtab) return SQLITE_OK @@ -189966,7 +189997,7 @@ func fts5BeginMethod(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:233339:1 // Implementation of xCommit() method. This is a no-op. The contents of // the pending-terms hash-table have already been flushed into the database // by fts5SyncMethod(). -func fts5CommitMethod(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:233350:12: */ +func fts5CommitMethod(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:233407:12: */ _ = pVtab // Call below is a no-op for NDEBUG builds return SQLITE_OK @@ -189974,7 +190005,7 @@ func fts5CommitMethod(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:233350: // Implementation of xRollback(). Discard the contents of the pending-terms // hash-table. Any changes made to the database are reverted by SQLite. -func fts5RollbackMethod(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:233360:12: */ +func fts5RollbackMethod(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:233417:12: */ var rc int32 var pTab uintptr = pVtab @@ -189982,46 +190013,46 @@ func fts5RollbackMethod(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:23336 return rc } -func fts5ApiUserData(tls *libc.TLS, pCtx uintptr) uintptr { /* sqlite3.c:233370:13: */ +func fts5ApiUserData(tls *libc.TLS, pCtx uintptr) uintptr { /* sqlite3.c:233427:13: */ var pCsr uintptr = pCtx return (*Fts5Auxiliary)(unsafe.Pointer((*Fts5Cursor)(unsafe.Pointer(pCsr)).FpAux)).FpUserData } -func fts5ApiColumnCount(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:233375:12: */ +func fts5ApiColumnCount(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:233432:12: */ var pCsr uintptr = pCtx return (*Fts5Config)(unsafe.Pointer((*Fts5Table)(unsafe.Pointer((*Fts5Cursor)(unsafe.Pointer(pCsr)).Fbase.FpVtab)).FpConfig)).FnCol } -func fts5ApiColumnTotalSize(tls *libc.TLS, pCtx uintptr, iCol int32, pnToken uintptr) int32 { /* sqlite3.c:233380:12: */ +func fts5ApiColumnTotalSize(tls *libc.TLS, pCtx uintptr, iCol int32, pnToken uintptr) int32 { /* sqlite3.c:233437:12: */ var pCsr uintptr = pCtx var pTab uintptr = (*Fts5Cursor)(unsafe.Pointer(pCsr)).Fbase.FpVtab return sqlite3Fts5StorageSize(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).FpStorage, iCol, pnToken) } -func fts5ApiRowCount(tls *libc.TLS, pCtx uintptr, pnRow uintptr) int32 { /* sqlite3.c:233390:12: */ +func fts5ApiRowCount(tls *libc.TLS, pCtx uintptr, pnRow uintptr) int32 { /* sqlite3.c:233447:12: */ var pCsr uintptr = pCtx var pTab uintptr = (*Fts5Cursor)(unsafe.Pointer(pCsr)).Fbase.FpVtab return sqlite3Fts5StorageRowCount(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).FpStorage, pnRow) } -func fts5ApiTokenize(tls *libc.TLS, pCtx uintptr, pText uintptr, nText int32, pUserData uintptr, xToken uintptr) int32 { /* sqlite3.c:233396:12: */ +func fts5ApiTokenize(tls *libc.TLS, pCtx uintptr, pText uintptr, nText int32, pUserData uintptr, xToken uintptr) int32 { /* sqlite3.c:233453:12: */ var pCsr uintptr = pCtx var pTab uintptr = (*Fts5Cursor)(unsafe.Pointer(pCsr)).Fbase.FpVtab return sqlite3Fts5Tokenize(tls, (*Fts5Table)(unsafe.Pointer(pTab)).FpConfig, FTS5_TOKENIZE_AUX, pText, nText, pUserData, xToken) } -func fts5ApiPhraseCount(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:233409:12: */ +func fts5ApiPhraseCount(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:233466:12: */ var pCsr uintptr = pCtx return sqlite3Fts5ExprPhraseCount(tls, (*Fts5Cursor)(unsafe.Pointer(pCsr)).FpExpr) } -func fts5ApiPhraseSize(tls *libc.TLS, pCtx uintptr, iPhrase int32) int32 { /* sqlite3.c:233414:12: */ +func fts5ApiPhraseSize(tls *libc.TLS, pCtx uintptr, iPhrase int32) int32 { /* sqlite3.c:233471:12: */ var pCsr uintptr = pCtx return sqlite3Fts5ExprPhraseSize(tls, (*Fts5Cursor)(unsafe.Pointer(pCsr)).FpExpr, iPhrase) } -func fts5ApiColumnText(tls *libc.TLS, pCtx uintptr, iCol int32, pz uintptr, pn uintptr) int32 { /* sqlite3.c:233419:12: */ +func fts5ApiColumnText(tls *libc.TLS, pCtx uintptr, iCol int32, pz uintptr, pn uintptr) int32 { /* sqlite3.c:233476:12: */ var rc int32 = SQLITE_OK var pCsr uintptr = pCtx if fts5IsContentless(tls, (*Fts5Cursor)(unsafe.Pointer(pCsr)).Fbase.FpVtab) != 0 || @@ -190038,7 +190069,7 @@ func fts5ApiColumnText(tls *libc.TLS, pCtx uintptr, iCol int32, pz uintptr, pn u return rc } -func fts5CsrPoslist(tls *libc.TLS, pCsr uintptr, iPhrase int32, pa uintptr, pn uintptr) int32 { /* sqlite3.c:233442:12: */ +func fts5CsrPoslist(tls *libc.TLS, pCsr uintptr, iPhrase int32, pa uintptr, pn uintptr) int32 { /* sqlite3.c:233499:12: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -190095,7 +190126,7 @@ func fts5CsrPoslist(tls *libc.TLS, pCsr uintptr, iPhrase int32, pa uintptr, pn u // Ensure that the Fts5Cursor.nInstCount and aInst[] variables are populated // correctly for the current view. Return SQLITE_OK if successful, or an // SQLite error code otherwise. -func fts5CacheInstArray(tls *libc.TLS, pCsr uintptr) int32 { /* sqlite3.c:233494:12: */ +func fts5CacheInstArray(tls *libc.TLS, pCsr uintptr) int32 { /* sqlite3.c:233551:12: */ bp := tls.Alloc(20) defer tls.Free(20) @@ -190179,7 +190210,7 @@ func fts5CacheInstArray(tls *libc.TLS, pCsr uintptr) int32 { /* sqlite3.c:233494 return *(*int32)(unsafe.Pointer(bp /* rc */)) } -func fts5ApiInstCount(tls *libc.TLS, pCtx uintptr, pnInst uintptr) int32 { /* sqlite3.c:233568:12: */ +func fts5ApiInstCount(tls *libc.TLS, pCtx uintptr, pnInst uintptr) int32 { /* sqlite3.c:233625:12: */ var pCsr uintptr = pCtx var rc int32 = SQLITE_OK if (*Fts5Cursor)(unsafe.Pointer(pCsr)).Fcsrflags&FTS5CSR_REQUIRE_INST == 0 || @@ -190189,7 +190220,7 @@ func fts5ApiInstCount(tls *libc.TLS, pCtx uintptr, pnInst uintptr) int32 { /* sq return rc } -func fts5ApiInst(tls *libc.TLS, pCtx uintptr, iIdx int32, piPhrase uintptr, piCol uintptr, piOff uintptr) int32 { /* sqlite3.c:233578:12: */ +func fts5ApiInst(tls *libc.TLS, pCtx uintptr, iIdx int32, piPhrase uintptr, piCol uintptr, piOff uintptr) int32 { /* sqlite3.c:233635:12: */ var pCsr uintptr = pCtx var rc int32 = SQLITE_OK if (*Fts5Cursor)(unsafe.Pointer(pCsr)).Fcsrflags&FTS5CSR_REQUIRE_INST == 0 || @@ -190205,11 +190236,11 @@ func fts5ApiInst(tls *libc.TLS, pCtx uintptr, iIdx int32, piPhrase uintptr, piCo return rc } -func fts5ApiRowid(tls *libc.TLS, pCtx uintptr) Sqlite3_int64 { /* sqlite3.c:233607:22: */ +func fts5ApiRowid(tls *libc.TLS, pCtx uintptr) Sqlite3_int64 { /* sqlite3.c:233664:22: */ return fts5CursorRowid(tls, pCtx) } -func fts5ColumnSizeCb(tls *libc.TLS, pContext uintptr, tflags int32, pUnused uintptr, nUnused int32, iUnused1 int32, iUnused2 int32) int32 { /* sqlite3.c:233611:12: */ +func fts5ColumnSizeCb(tls *libc.TLS, pContext uintptr, tflags int32, pUnused uintptr, nUnused int32, iUnused1 int32, iUnused2 int32) int32 { /* sqlite3.c:233668:12: */ var pCnt uintptr = pContext _ = pUnused _ = nUnused @@ -190221,7 +190252,7 @@ func fts5ColumnSizeCb(tls *libc.TLS, pContext uintptr, tflags int32, pUnused uin return SQLITE_OK } -func fts5ApiColumnSize(tls *libc.TLS, pCtx uintptr, iCol int32, pnToken uintptr) int32 { /* sqlite3.c:233628:12: */ +func fts5ApiColumnSize(tls *libc.TLS, pCtx uintptr, iCol int32, pnToken uintptr) int32 { /* sqlite3.c:233685:12: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -190279,7 +190310,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) int32 { /* sqlite3.c:233681:12: */ +func fts5ApiSetAuxdata(tls *libc.TLS, pCtx uintptr, pPtr uintptr, xDelete uintptr) int32 { /* sqlite3.c:233738:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -190317,7 +190348,7 @@ func fts5ApiSetAuxdata(tls *libc.TLS, pCtx uintptr, pPtr uintptr, xDelete uintpt return SQLITE_OK } -func fts5ApiGetAuxdata(tls *libc.TLS, pCtx uintptr, bClear int32) uintptr { /* sqlite3.c:233716:13: */ +func fts5ApiGetAuxdata(tls *libc.TLS, pCtx uintptr, bClear int32) uintptr { /* sqlite3.c:233773:13: */ var pCsr uintptr = pCtx var pData uintptr var pRet uintptr = uintptr(0) @@ -190339,7 +190370,7 @@ func fts5ApiGetAuxdata(tls *libc.TLS, pCtx uintptr, bClear int32) uintptr { /* s return pRet } -func fts5ApiPhraseNext(tls *libc.TLS, pUnused uintptr, pIter uintptr, piCol uintptr, piOff uintptr) { /* sqlite3.c:233736:13: */ +func fts5ApiPhraseNext(tls *libc.TLS, pUnused uintptr, pIter uintptr, piCol uintptr, piOff uintptr) { /* sqlite3.c:233793:13: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -190361,7 +190392,7 @@ func fts5ApiPhraseNext(tls *libc.TLS, pUnused uintptr, pIter uintptr, piCol uint } } -func fts5ApiPhraseFirst(tls *libc.TLS, pCtx uintptr, iPhrase int32, pIter uintptr, piCol uintptr, piOff uintptr) int32 { /* sqlite3.c:233758:12: */ +func fts5ApiPhraseFirst(tls *libc.TLS, pCtx uintptr, iPhrase int32, pIter uintptr, piCol uintptr, piOff uintptr) int32 { /* sqlite3.c:233815:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -190384,7 +190415,7 @@ func fts5ApiPhraseFirst(tls *libc.TLS, pCtx uintptr, iPhrase int32, pIter uintpt return rc } -func fts5ApiPhraseNextColumn(tls *libc.TLS, pCtx uintptr, pIter uintptr, piCol uintptr) { /* sqlite3.c:233777:13: */ +func fts5ApiPhraseNextColumn(tls *libc.TLS, pCtx uintptr, pIter uintptr, piCol uintptr) { /* sqlite3.c:233834:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -190417,7 +190448,7 @@ func fts5ApiPhraseNextColumn(tls *libc.TLS, pCtx uintptr, pIter uintptr, piCol u } } -func fts5ApiPhraseFirstColumn(tls *libc.TLS, pCtx uintptr, iPhrase int32, pIter uintptr, piCol uintptr) int32 { /* sqlite3.c:233807:12: */ +func fts5ApiPhraseFirstColumn(tls *libc.TLS, pCtx uintptr, iPhrase int32, pIter uintptr, piCol uintptr) int32 { /* sqlite3.c:233864:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -190498,10 +190529,10 @@ var sFts5Api = Fts5ExtensionApi{ FxPhraseNext: 0, FxPhraseFirstColumn: 0, FxPhraseNextColumn: 0, -} /* sqlite3.c:233857:31 */ +} /* sqlite3.c:233914:31 */ // Implementation of API function xQueryPhrase(). -func fts5ApiQueryPhrase(tls *libc.TLS, pCtx uintptr, iPhrase int32, pUserData uintptr, xCallback uintptr) int32 { /* sqlite3.c:233883:12: */ +func fts5ApiQueryPhrase(tls *libc.TLS, pCtx uintptr, iPhrase int32, pUserData uintptr, xCallback uintptr) int32 { /* sqlite3.c:233940:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -190537,7 +190568,7 @@ func fts5ApiQueryPhrase(tls *libc.TLS, pCtx uintptr, iPhrase int32, pUserData ui return rc } -func fts5ApiInvoke(tls *libc.TLS, pAux uintptr, pCsr uintptr, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:233920:13: */ +func fts5ApiInvoke(tls *libc.TLS, pAux uintptr, pCsr uintptr, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:233977:13: */ (*Fts5Cursor)(unsafe.Pointer(pCsr)).FpAux = pAux (*struct { @@ -190546,7 +190577,7 @@ func fts5ApiInvoke(tls *libc.TLS, pAux uintptr, pCsr uintptr, context uintptr, a (*Fts5Cursor)(unsafe.Pointer(pCsr)).FpAux = uintptr(0) } -func fts5CursorFromCsrid(tls *libc.TLS, pGlobal uintptr, iCsrId I64) uintptr { /* sqlite3.c:233933:19: */ +func fts5CursorFromCsrid(tls *libc.TLS, pGlobal uintptr, iCsrId I64) uintptr { /* sqlite3.c:233990:19: */ var pCsr uintptr for pCsr = (*Fts5Global)(unsafe.Pointer(pGlobal)).FpCsr; pCsr != 0; pCsr = (*Fts5Cursor)(unsafe.Pointer(pCsr)).FpNext { if (*Fts5Cursor)(unsafe.Pointer(pCsr)).FiCsrId == iCsrId { @@ -190556,7 +190587,7 @@ func fts5CursorFromCsrid(tls *libc.TLS, pGlobal uintptr, iCsrId I64) uintptr { / return pCsr } -func fts5ApiCallback(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:233941:13: */ +func fts5ApiCallback(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:233998:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -190579,7 +190610,7 @@ func fts5ApiCallback(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { // Given cursor id iId, return a pointer to the corresponding Fts5Table // object. Or NULL If the cursor id does not exist. -func sqlite3Fts5TableFromCsrid(tls *libc.TLS, pGlobal uintptr, iCsrId I64) uintptr { /* sqlite3.c:233970:18: */ +func sqlite3Fts5TableFromCsrid(tls *libc.TLS, pGlobal uintptr, iCsrId I64) uintptr { /* sqlite3.c:234027:18: */ var pCsr uintptr pCsr = fts5CursorFromCsrid(tls, pGlobal, iCsrId) if pCsr != 0 { @@ -190601,7 +190632,7 @@ func sqlite3Fts5TableFromCsrid(tls *libc.TLS, pGlobal uintptr, iCsrId I64) uintp // for phrase 0. The second (same disclaimer) contains the size of position // list 1. And so on. There is no size field for the final position list, // as it can be derived from the total size of the blob. -func fts5PoslistBlob(tls *libc.TLS, pCtx uintptr, pCsr uintptr) int32 { /* sqlite3.c:233997:12: */ +func fts5PoslistBlob(tls *libc.TLS, pCtx uintptr, pCsr uintptr) int32 { /* sqlite3.c:234054:12: */ bp := tls.Alloc(68) defer tls.Free(68) @@ -190665,7 +190696,7 @@ func fts5PoslistBlob(tls *libc.TLS, pCtx uintptr, pCsr uintptr) int32 { /* sqlit // This is the xColumn method, called by SQLite to request a value from // the row that the supplied cursor currently points to. -func fts5ColumnMethod(tls *libc.TLS, pCursor uintptr, pCtx uintptr, iCol int32) int32 { /* sqlite3.c:234054:12: */ +func fts5ColumnMethod(tls *libc.TLS, pCursor uintptr, pCtx uintptr, iCol int32) int32 { /* sqlite3.c:234111:12: */ var pTab uintptr = (*Sqlite3_vtab_cursor)(unsafe.Pointer(pCursor)).FpVtab var pConfig uintptr = (*Fts5FullTable)(unsafe.Pointer(pTab)).Fp.FpConfig var pCsr uintptr = pCursor @@ -190705,7 +190736,7 @@ 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) int32 { /* sqlite3.c:234107:12: */ +func fts5FindFunctionMethod(tls *libc.TLS, pVtab uintptr, nUnused int32, zName uintptr, pxFunc uintptr, ppArg uintptr) int32 { /* sqlite3.c:234164:12: */ var pTab uintptr = pVtab var pAux uintptr @@ -190724,12 +190755,12 @@ func fts5FindFunctionMethod(tls *libc.TLS, pVtab uintptr, nUnused int32, zName u } // Implementation of FTS5 xRename method. Rename an fts5 table. -func fts5RenameMethod(tls *libc.TLS, pVtab uintptr, zName uintptr) int32 { /* sqlite3.c:234132:12: */ +func fts5RenameMethod(tls *libc.TLS, pVtab uintptr, zName uintptr) int32 { /* sqlite3.c:234189:12: */ var pTab uintptr = pVtab return sqlite3Fts5StorageRename(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).FpStorage, zName) } -func sqlite3Fts5FlushToDisk(tls *libc.TLS, pTab uintptr) int32 { /* sqlite3.c:234140:12: */ +func sqlite3Fts5FlushToDisk(tls *libc.TLS, pTab uintptr) int32 { /* sqlite3.c:234197:12: */ fts5TripCursors(tls, pTab) return sqlite3Fts5StorageSync(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).FpStorage) } @@ -190737,7 +190768,7 @@ func sqlite3Fts5FlushToDisk(tls *libc.TLS, pTab uintptr) int32 { /* sqlite3.c:23 // The xSavepoint() method. // // Flush the contents of the pending-terms table to disk. -func fts5SavepointMethod(tls *libc.TLS, pVtab uintptr, iSavepoint int32) int32 { /* sqlite3.c:234150:12: */ +func fts5SavepointMethod(tls *libc.TLS, pVtab uintptr, iSavepoint int32) int32 { /* sqlite3.c:234207:12: */ _ = iSavepoint // Call below is a no-op for NDEBUG builds return sqlite3Fts5FlushToDisk(tls, pVtab) @@ -190746,7 +190777,7 @@ func fts5SavepointMethod(tls *libc.TLS, pVtab uintptr, iSavepoint int32) int32 { // The xRelease() method. // // This is a no-op. -func fts5ReleaseMethod(tls *libc.TLS, pVtab uintptr, iSavepoint int32) int32 { /* sqlite3.c:234161:12: */ +func fts5ReleaseMethod(tls *libc.TLS, pVtab uintptr, iSavepoint int32) int32 { /* sqlite3.c:234218:12: */ _ = iSavepoint // Call below is a no-op for NDEBUG builds return sqlite3Fts5FlushToDisk(tls, pVtab) @@ -190755,7 +190786,7 @@ func fts5ReleaseMethod(tls *libc.TLS, pVtab uintptr, iSavepoint int32) int32 { / // The xRollbackTo() method. // // Discard the contents of the pending terms table. -func fts5RollbackToMethod(tls *libc.TLS, pVtab uintptr, iSavepoint int32) int32 { /* sqlite3.c:234172:12: */ +func fts5RollbackToMethod(tls *libc.TLS, pVtab uintptr, iSavepoint int32) int32 { /* sqlite3.c:234229:12: */ var pTab uintptr = pVtab _ = iSavepoint // Call below is a no-op for NDEBUG builds @@ -190764,7 +190795,7 @@ func fts5RollbackToMethod(tls *libc.TLS, pVtab uintptr, iSavepoint int32) int32 } // Register a new auxiliary function with global context pGlobal. -func fts5CreateAux(tls *libc.TLS, pApi uintptr, zName uintptr, pUserData uintptr, xFunc Fts5_extension_function, xDestroy uintptr) int32 { /* sqlite3.c:234183:12: */ +func fts5CreateAux(tls *libc.TLS, pApi uintptr, zName uintptr, pUserData uintptr, xFunc Fts5_extension_function, xDestroy uintptr) int32 { /* sqlite3.c:234240:12: */ var pGlobal uintptr = pApi var rc int32 = Xsqlite3_overload_function(tls, (*Fts5Global)(unsafe.Pointer(pGlobal)).Fdb, zName, -1) if rc == SQLITE_OK { @@ -190795,7 +190826,7 @@ func fts5CreateAux(tls *libc.TLS, pApi uintptr, zName uintptr, pUserData uintptr // Register a new tokenizer. This is the implementation of the // fts5_api.xCreateTokenizer() method. -func fts5CreateTokenizer(tls *libc.TLS, pApi uintptr, zName uintptr, pUserData uintptr, pTokenizer uintptr, xDestroy uintptr) int32 { /* sqlite3.c:234222:12: */ +func fts5CreateTokenizer(tls *libc.TLS, pApi uintptr, zName uintptr, pUserData uintptr, pTokenizer uintptr, xDestroy uintptr) int32 { /* sqlite3.c:234279:12: */ var pGlobal uintptr = pApi var pNew uintptr var nName Sqlite3_int64 // Size of zName and its \0 terminator @@ -190824,7 +190855,7 @@ func fts5CreateTokenizer(tls *libc.TLS, pApi uintptr, zName uintptr, pUserData u return rc } -func fts5LocateTokenizer(tls *libc.TLS, pGlobal uintptr, zName uintptr) uintptr { /* sqlite3.c:234257:28: */ +func fts5LocateTokenizer(tls *libc.TLS, pGlobal uintptr, zName uintptr) uintptr { /* sqlite3.c:234314:28: */ var pMod uintptr = uintptr(0) if zName == uintptr(0) { @@ -190842,7 +190873,7 @@ func fts5LocateTokenizer(tls *libc.TLS, pGlobal uintptr, zName uintptr) uintptr // Find a tokenizer. This is the implementation of the // fts5_api.xFindTokenizer() method. -func fts5FindTokenizer(tls *libc.TLS, pApi uintptr, zName uintptr, ppUserData uintptr, pTokenizer uintptr) int32 { /* sqlite3.c:234278:12: */ +func fts5FindTokenizer(tls *libc.TLS, pApi uintptr, zName uintptr, ppUserData uintptr, pTokenizer uintptr) int32 { /* sqlite3.c:234335:12: */ var rc int32 = SQLITE_OK var pMod uintptr @@ -190858,7 +190889,7 @@ func fts5FindTokenizer(tls *libc.TLS, pApi uintptr, zName uintptr, ppUserData ui return rc } -func sqlite3Fts5GetTokenizer(tls *libc.TLS, pGlobal uintptr, azArg uintptr, nArg int32, pConfig uintptr, pzErr uintptr) int32 { /* sqlite3.c:234299:12: */ +func sqlite3Fts5GetTokenizer(tls *libc.TLS, pGlobal uintptr, azArg uintptr, nArg int32, pConfig uintptr, pzErr uintptr) int32 { /* sqlite3.c:234356:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -190909,7 +190940,7 @@ func sqlite3Fts5GetTokenizer(tls *libc.TLS, pGlobal uintptr, azArg uintptr, nArg return rc } -func fts5ModuleDestroy(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:234336:13: */ +func fts5ModuleDestroy(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:234393:13: */ var pTok uintptr var pNextTok uintptr var pAux uintptr @@ -190935,7 +190966,7 @@ func fts5ModuleDestroy(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:234336:13: */ Xsqlite3_free(tls, pGlobal) } -func fts5Fts5Func(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:234356:13: */ +func fts5Fts5Func(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:234413:13: */ var pGlobal uintptr = Xsqlite3_user_data(tls, pCtx) var ppApi uintptr _ = nArg @@ -190947,7 +190978,7 @@ func fts5Fts5Func(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* s } // Implementation of fts5_source_id() function. -func fts5SourceIdFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apUnused uintptr) { /* sqlite3.c:234372:13: */ +func fts5SourceIdFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apUnused uintptr) { /* sqlite3.c:234429:13: */ _ = nArg _ = apUnused @@ -190956,7 +190987,7 @@ func fts5SourceIdFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apUnused uintptr) // Return true if zName is the extension on one of the shadow tables used // by this module. -func fts5ShadowName(tls *libc.TLS, zName uintptr) int32 { /* sqlite3.c:234386:12: */ +func fts5ShadowName(tls *libc.TLS, zName uintptr) int32 { /* sqlite3.c:234443:12: */ var i uint32 for i = uint32(0); uint64(i) < uint64(unsafe.Sizeof(azName2))/uint64(unsafe.Sizeof(uintptr(0))); i++ { if Xsqlite3_stricmp(tls, zName, azName2[i]) == 0 { @@ -190968,9 +190999,9 @@ func fts5ShadowName(tls *libc.TLS, zName uintptr) int32 { /* sqlite3.c:234386:12 var azName2 = [5]uintptr{ ts + 35779, ts + 33878, ts + 24878, ts + 34229, ts + 11373, -} /* sqlite3.c:234387:21 */ +} /* sqlite3.c:234444:21 */ -func fts5Init(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:234397:12: */ +func fts5Init(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:234454:12: */ var rc int32 var pGlobal uintptr = uintptr(0) @@ -191053,7 +191084,7 @@ var fts5Mod = Sqlite3_module{ /* xRelease */ FxRelease: 0, /* xRollbackTo */ FxRollbackTo: 0, /* xShadowName */ FxShadowName: 0, -} /* sqlite3.c:234398:31 */ +} /* sqlite3.c:234455:31 */ // The following functions are used to register the module with SQLite. If // this module is being built as part of the SQLite core (SQLITE_CORE is @@ -191062,7 +191093,7 @@ var fts5Mod = Sqlite3_module{ // Or, if this module is being built as a loadable extension, // sqlite3Fts5Init() is omitted and the two standard entry points // sqlite3_fts_init() and sqlite3_fts5_init() defined instead. -func Xsqlite3Fts5Init(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:234506:20: */ +func Xsqlite3Fts5Init(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:234563:20: */ return fts5Init(tls, db) } @@ -191070,7 +191101,7 @@ func Xsqlite3Fts5Init(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:234506:20: // Fts5Storage.pInsertDocsize - if they have not already been prepared. // Return SQLITE_OK if successful, or an SQLite error code if an error // occurs. -func fts5StorageGetStmt(tls *libc.TLS, p uintptr, eStmt int32, ppStmt uintptr, pzErrMsg uintptr) int32 { /* sqlite3.c:234564:12: */ +func fts5StorageGetStmt(tls *libc.TLS, p uintptr, eStmt int32, ppStmt uintptr, pzErrMsg uintptr) int32 { /* sqlite3.c:234621:12: */ bp := tls.Alloc(216) defer tls.Free(216) @@ -191171,7 +191202,7 @@ func fts5StorageGetStmt(tls *libc.TLS, p uintptr, eStmt int32, ppStmt uintptr, p return rc } -func fts5ExecPrintf(tls *libc.TLS, db uintptr, pzErr uintptr, zFormat uintptr, va uintptr) int32 { /* sqlite3.c:234667:12: */ +func fts5ExecPrintf(tls *libc.TLS, db uintptr, pzErr uintptr, zFormat uintptr, va uintptr) int32 { /* sqlite3.c:234724:12: */ var rc int32 var ap Va_list _ = ap // ... printf arguments @@ -191193,7 +191224,7 @@ func fts5ExecPrintf(tls *libc.TLS, db uintptr, pzErr uintptr, zFormat uintptr, v // Drop all shadow tables. Return SQLITE_OK if successful or an SQLite error // code otherwise. -func sqlite3Fts5DropAll(tls *libc.TLS, pConfig uintptr) int32 { /* sqlite3.c:234695:12: */ +func sqlite3Fts5DropAll(tls *libc.TLS, pConfig uintptr) int32 { /* sqlite3.c:234752:12: */ bp := tls.Alloc(80) defer tls.Free(80) @@ -191216,7 +191247,7 @@ func sqlite3Fts5DropAll(tls *libc.TLS, pConfig uintptr) int32 { /* sqlite3.c:234 return rc } -func fts5StorageRenameOne(tls *libc.TLS, pConfig uintptr, pRc uintptr, zTail uintptr, zName uintptr) { /* sqlite3.c:234719:13: */ +func fts5StorageRenameOne(tls *libc.TLS, pConfig uintptr, pRc uintptr, zTail uintptr, zName uintptr) { /* sqlite3.c:234776:13: */ bp := tls.Alloc(40) defer tls.Free(40) @@ -191227,7 +191258,7 @@ func fts5StorageRenameOne(tls *libc.TLS, pConfig uintptr, pRc uintptr, zTail uin } } -func sqlite3Fts5StorageRename(tls *libc.TLS, pStorage uintptr, zName uintptr) int32 { /* sqlite3.c:234733:12: */ +func sqlite3Fts5StorageRename(tls *libc.TLS, pStorage uintptr, zName uintptr) int32 { /* sqlite3.c:234790:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -191248,7 +191279,7 @@ func sqlite3Fts5StorageRename(tls *libc.TLS, pStorage uintptr, zName uintptr) in // Create the shadow table named zPost, with definition zDefn. Return // SQLITE_OK if successful, or an SQLite error code otherwise. -func sqlite3Fts5CreateTable(tls *libc.TLS, pConfig uintptr, zPost uintptr, zDefn uintptr, bWithout int32, pzErr uintptr) int32 { /* sqlite3.c:234753:12: */ +func sqlite3Fts5CreateTable(tls *libc.TLS, pConfig uintptr, zPost uintptr, zDefn uintptr, bWithout int32, pzErr uintptr) int32 { /* sqlite3.c:234810:12: */ bp := tls.Alloc(72) defer tls.Free(72) @@ -191278,7 +191309,7 @@ func sqlite3Fts5CreateTable(tls *libc.TLS, pConfig uintptr, zPost uintptr, zDefn // // If successful, set *pp to point to the new object and return SQLITE_OK. // Otherwise, set *pp to NULL and return an SQLite error code. -func sqlite3Fts5StorageOpen(tls *libc.TLS, pConfig uintptr, pIndex uintptr, bCreate int32, pp uintptr, pzErr uintptr) int32 { /* sqlite3.c:234788:12: */ +func sqlite3Fts5StorageOpen(tls *libc.TLS, pConfig uintptr, pIndex uintptr, bCreate int32, pp uintptr, pzErr uintptr) int32 { /* sqlite3.c:234845:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -191339,7 +191370,7 @@ func sqlite3Fts5StorageOpen(tls *libc.TLS, pConfig uintptr, pIndex uintptr, bCre } // Close a handle opened by an earlier call to sqlite3Fts5StorageOpen(). -func sqlite3Fts5StorageClose(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:234854:12: */ +func sqlite3Fts5StorageClose(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:234911:12: */ var rc int32 = SQLITE_OK if p != 0 { var i int32 @@ -191358,12 +191389,12 @@ type Fts5InsertCtx1 = struct { FpStorage uintptr FiCol int32 FszCol int32 -} /* sqlite3.c:234869:9 */ +} /* sqlite3.c:234926:9 */ -type Fts5InsertCtx = Fts5InsertCtx1 /* sqlite3.c:234869:30 */ +type Fts5InsertCtx = Fts5InsertCtx1 /* sqlite3.c:234926:30 */ // Tokenization callback used when inserting tokens into the FTS index. -func fts5StorageInsertCallback(tls *libc.TLS, pContext uintptr, tflags int32, pToken uintptr, nToken int32, iUnused1 int32, iUnused2 int32) int32 { /* sqlite3.c:234879:12: */ +func fts5StorageInsertCallback(tls *libc.TLS, pContext uintptr, tflags int32, pToken uintptr, nToken int32, iUnused1 int32, iUnused2 int32) int32 { /* sqlite3.c:234936:12: */ var pCtx uintptr = pContext var pIdx uintptr = (*Fts5Storage)(unsafe.Pointer((*Fts5InsertCtx)(unsafe.Pointer(pCtx)).FpStorage)).FpIndex _ = iUnused1 @@ -191380,7 +191411,7 @@ func fts5StorageInsertCallback(tls *libc.TLS, pContext uintptr, tflags int32, pT // If a row with rowid iDel is present in the %_content table, add the // delete-markers to the FTS index necessary to delete it. Do not actually // remove the %_content row at this time though. -func fts5StorageDeleteFromIndex(tls *libc.TLS, p uintptr, iDel I64, apVal uintptr) int32 { /* sqlite3.c:234902:12: */ +func fts5StorageDeleteFromIndex(tls *libc.TLS, p uintptr, iDel I64, apVal uintptr) int32 { /* sqlite3.c:234959:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -191449,7 +191480,7 @@ func fts5StorageDeleteFromIndex(tls *libc.TLS, p uintptr, iDel I64, apVal uintpt // // If there is no %_docsize table (as happens if the columnsize=0 option // is specified when the FTS5 table is created), this function is a no-op. -func fts5StorageInsertDocsize(tls *libc.TLS, p uintptr, iRowid I64, pBuf uintptr) int32 { /* sqlite3.c:234971:12: */ +func fts5StorageInsertDocsize(tls *libc.TLS, p uintptr, iRowid I64, pBuf uintptr) int32 { /* sqlite3.c:235028:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -191476,7 +191507,7 @@ func fts5StorageInsertDocsize(tls *libc.TLS, p uintptr, iRowid I64, pBuf uintptr // // Return SQLITE_OK if successful, or an SQLite error code if an error // occurs. -func fts5StorageLoadTotals(tls *libc.TLS, p uintptr, bCache int32) int32 { /* sqlite3.c:235001:12: */ +func fts5StorageLoadTotals(tls *libc.TLS, p uintptr, bCache int32) int32 { /* sqlite3.c:235058:12: */ var rc int32 = SQLITE_OK if (*Fts5Storage)(unsafe.Pointer(p)).FbTotalsValid == 0 { rc = sqlite3Fts5IndexGetAverages(tls, (*Fts5Storage)(unsafe.Pointer(p)).FpIndex, p+24, (*Fts5Storage)(unsafe.Pointer(p)).FaTotalSize) @@ -191490,7 +191521,7 @@ func fts5StorageLoadTotals(tls *libc.TLS, p uintptr, bCache int32) int32 { /* sq // // Return SQLITE_OK if successful, or an SQLite error code if an error // occurs. -func fts5StorageSaveTotals(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:235017:12: */ +func fts5StorageSaveTotals(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:235074:12: */ bp := tls.Alloc(20) defer tls.Free(20) @@ -191514,7 +191545,7 @@ func fts5StorageSaveTotals(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:235017 } // Remove a row from the FTS table. -func sqlite3Fts5StorageDelete(tls *libc.TLS, p uintptr, iDel I64, apVal uintptr) int32 { /* sqlite3.c:235039:12: */ +func sqlite3Fts5StorageDelete(tls *libc.TLS, p uintptr, iDel I64, apVal uintptr) int32 { /* sqlite3.c:235096:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -191555,7 +191586,7 @@ func sqlite3Fts5StorageDelete(tls *libc.TLS, p uintptr, iDel I64, apVal uintptr) } // Delete all entries in the FTS5 index. -func sqlite3Fts5StorageDeleteAll(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:235080:12: */ +func sqlite3Fts5StorageDeleteAll(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:235137:12: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -191587,7 +191618,7 @@ func sqlite3Fts5StorageDeleteAll(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c: return rc } -func sqlite3Fts5StorageRebuild(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:235111:12: */ +func sqlite3Fts5StorageRebuild(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:235168:12: */ bp := tls.Alloc(44) defer tls.Free(44) @@ -191651,15 +191682,15 @@ func sqlite3Fts5StorageRebuild(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:23 return *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) } -func sqlite3Fts5StorageOptimize(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:235166:12: */ +func sqlite3Fts5StorageOptimize(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:235223:12: */ return sqlite3Fts5IndexOptimize(tls, (*Fts5Storage)(unsafe.Pointer(p)).FpIndex) } -func sqlite3Fts5StorageMerge(tls *libc.TLS, p uintptr, nMerge int32) int32 { /* sqlite3.c:235170:12: */ +func sqlite3Fts5StorageMerge(tls *libc.TLS, p uintptr, nMerge int32) int32 { /* sqlite3.c:235227:12: */ return sqlite3Fts5IndexMerge(tls, (*Fts5Storage)(unsafe.Pointer(p)).FpIndex, nMerge) } -func sqlite3Fts5StorageReset(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:235174:12: */ +func sqlite3Fts5StorageReset(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:235231:12: */ return sqlite3Fts5IndexReset(tls, (*Fts5Storage)(unsafe.Pointer(p)).FpIndex) } @@ -191670,7 +191701,7 @@ func sqlite3Fts5StorageReset(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:2351 // // If the %_docsize table does not exist, SQLITE_MISMATCH is returned. In // this case the user is required to provide a rowid explicitly. -func fts5StorageNewRowid(tls *libc.TLS, p uintptr, piRowid uintptr) int32 { /* sqlite3.c:235187:12: */ +func fts5StorageNewRowid(tls *libc.TLS, p uintptr, piRowid uintptr) int32 { /* sqlite3.c:235244:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -191692,7 +191723,7 @@ func fts5StorageNewRowid(tls *libc.TLS, p uintptr, piRowid uintptr) int32 { /* s } // Insert a new row into the FTS content table. -func sqlite3Fts5StorageContentInsert(tls *libc.TLS, p uintptr, apVal uintptr, piRowid uintptr) int32 { /* sqlite3.c:235208:12: */ +func sqlite3Fts5StorageContentInsert(tls *libc.TLS, p uintptr, apVal uintptr, piRowid uintptr) int32 { /* sqlite3.c:235265:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -191724,7 +191755,7 @@ func sqlite3Fts5StorageContentInsert(tls *libc.TLS, p uintptr, apVal uintptr, pi } // Insert new entries into the FTS index and %_docsize table. -func sqlite3Fts5StorageIndexInsert(tls *libc.TLS, p uintptr, apVal uintptr, iRowid I64) int32 { /* sqlite3.c:235243:12: */ +func sqlite3Fts5StorageIndexInsert(tls *libc.TLS, p uintptr, apVal uintptr, iRowid I64) int32 { /* sqlite3.c:235300:12: */ bp := tls.Alloc(36) defer tls.Free(36) @@ -191769,7 +191800,7 @@ func sqlite3Fts5StorageIndexInsert(tls *libc.TLS, p uintptr, apVal uintptr, iRow return *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) } -func fts5StorageCount(tls *libc.TLS, p uintptr, zSuffix uintptr, pnRow uintptr) int32 { /* sqlite3.c:235286:12: */ +func fts5StorageCount(tls *libc.TLS, p uintptr, zSuffix uintptr, pnRow uintptr) int32 { /* sqlite3.c:235343:12: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -191804,13 +191835,13 @@ type Fts5IntegrityCtx1 = struct { Fcksum U64 FpTermset uintptr FpConfig uintptr -} /* sqlite3.c:235314:9 */ +} /* sqlite3.c:235371:9 */ // Context object used by sqlite3Fts5StorageIntegrity(). -type Fts5IntegrityCtx = Fts5IntegrityCtx1 /* sqlite3.c:235314:33 */ +type Fts5IntegrityCtx = Fts5IntegrityCtx1 /* sqlite3.c:235371:33 */ // Tokenization callback used by integrity check. -func fts5StorageIntegrityCallback(tls *libc.TLS, pContext uintptr, tflags int32, pToken uintptr, nToken int32, iUnused1 int32, iUnused2 int32) int32 { /* sqlite3.c:235328:12: */ +func fts5StorageIntegrityCallback(tls *libc.TLS, pContext uintptr, tflags int32, pToken uintptr, nToken int32, iUnused1 int32, iUnused2 int32) int32 { /* sqlite3.c:235385:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -191876,7 +191907,7 @@ func fts5StorageIntegrityCallback(tls *libc.TLS, pContext uintptr, tflags int32, // table. Return SQLITE_OK if they do, or SQLITE_CORRUPT if not. Return // some other SQLite error code if an error occurs while attempting to // determine this. -func sqlite3Fts5StorageIntegrity(tls *libc.TLS, p uintptr, iArg int32) int32 { /* sqlite3.c:235398:12: */ +func sqlite3Fts5StorageIntegrity(tls *libc.TLS, p uintptr, iArg int32) int32 { /* sqlite3.c:235455:12: */ bp := tls.Alloc(64) defer tls.Free(64) @@ -192001,7 +192032,7 @@ func sqlite3Fts5StorageIntegrity(tls *libc.TLS, p uintptr, iArg int32) int32 { / // Obtain an SQLite statement handle that may be used to read data from the // %_content table. -func sqlite3Fts5StorageStmt(tls *libc.TLS, p uintptr, eStmt int32, pp uintptr, pzErrMsg uintptr) int32 { /* sqlite3.c:235506:12: */ +func sqlite3Fts5StorageStmt(tls *libc.TLS, p uintptr, eStmt int32, pp uintptr, pzErrMsg uintptr) int32 { /* sqlite3.c:235563:12: */ var rc int32 rc = fts5StorageGetStmt(tls, p, eStmt, pp, pzErrMsg) @@ -192015,7 +192046,7 @@ func sqlite3Fts5StorageStmt(tls *libc.TLS, p uintptr, eStmt int32, pp uintptr, p // Release an SQLite statement handle obtained via an earlier call to // sqlite3Fts5StorageStmt(). The eStmt parameter passed to this function // must match that passed to the sqlite3Fts5StorageStmt() call. -func sqlite3Fts5StorageStmtRelease(tls *libc.TLS, p uintptr, eStmt int32, pStmt uintptr) { /* sqlite3.c:235530:13: */ +func sqlite3Fts5StorageStmtRelease(tls *libc.TLS, p uintptr, eStmt int32, pStmt uintptr) { /* sqlite3.c:235587:13: */ if *(*uintptr)(unsafe.Pointer(p + 40 + uintptr(eStmt)*8)) == uintptr(0) { Xsqlite3_reset(tls, pStmt) @@ -192025,7 +192056,7 @@ func sqlite3Fts5StorageStmtRelease(tls *libc.TLS, p uintptr, eStmt int32, pStmt } } -func fts5StorageDecodeSizeArray(tls *libc.TLS, aCol uintptr, nCol int32, aBlob uintptr, nBlob int32) int32 { /* sqlite3.c:235547:12: */ +func fts5StorageDecodeSizeArray(tls *libc.TLS, aCol uintptr, nCol int32, aBlob uintptr, nBlob int32) int32 { /* sqlite3.c:235604:12: */ var i int32 var iOff int32 = 0 for i = 0; i < nCol; i++ { @@ -192043,7 +192074,7 @@ func fts5StorageDecodeSizeArray(tls *libc.TLS, aCol uintptr, nCol int32, aBlob u // // An SQLite error code is returned if an error occurs, or SQLITE_OK // otherwise. -func sqlite3Fts5StorageDocsize(tls *libc.TLS, p uintptr, iRowid I64, aCol uintptr) int32 { /* sqlite3.c:235568:12: */ +func sqlite3Fts5StorageDocsize(tls *libc.TLS, p uintptr, iRowid I64, aCol uintptr) int32 { /* sqlite3.c:235625:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -192074,7 +192105,7 @@ func sqlite3Fts5StorageDocsize(tls *libc.TLS, p uintptr, iRowid I64, aCol uintpt return rc } -func sqlite3Fts5StorageSize(tls *libc.TLS, p uintptr, iCol int32, pnToken uintptr) int32 { /* sqlite3.c:235597:12: */ +func sqlite3Fts5StorageSize(tls *libc.TLS, p uintptr, iCol int32, pnToken uintptr) int32 { /* sqlite3.c:235654:12: */ var rc int32 = fts5StorageLoadTotals(tls, p, 0) if rc == SQLITE_OK { *(*I64)(unsafe.Pointer(pnToken)) = int64(0) @@ -192092,7 +192123,7 @@ func sqlite3Fts5StorageSize(tls *libc.TLS, p uintptr, iCol int32, pnToken uintpt return rc } -func sqlite3Fts5StorageRowCount(tls *libc.TLS, p uintptr, pnRow uintptr) int32 { /* sqlite3.c:235615:12: */ +func sqlite3Fts5StorageRowCount(tls *libc.TLS, p uintptr, pnRow uintptr) int32 { /* sqlite3.c:235672:12: */ var rc int32 = fts5StorageLoadTotals(tls, p, 0) if rc == SQLITE_OK { // nTotalRow being zero does not necessarily indicate a corrupt @@ -192109,7 +192140,7 @@ func sqlite3Fts5StorageRowCount(tls *libc.TLS, p uintptr, pnRow uintptr) int32 { } // Flush any data currently held in-memory to disk. -func sqlite3Fts5StorageSync(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:235632:12: */ +func sqlite3Fts5StorageSync(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:235689:12: */ var rc int32 = SQLITE_OK var iLastRowid I64 = Xsqlite3_last_insert_rowid(tls, (*Fts5Config)(unsafe.Pointer((*Fts5Storage)(unsafe.Pointer(p)).FpConfig)).Fdb) if (*Fts5Storage)(unsafe.Pointer(p)).FbTotalsValid != 0 { @@ -192123,12 +192154,12 @@ func sqlite3Fts5StorageSync(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:23563 return rc } -func sqlite3Fts5StorageRollback(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:235646:12: */ +func sqlite3Fts5StorageRollback(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:235703:12: */ (*Fts5Storage)(unsafe.Pointer(p)).FbTotalsValid = 0 return sqlite3Fts5IndexRollback(tls, (*Fts5Storage)(unsafe.Pointer(p)).FpIndex) } -func sqlite3Fts5StorageConfigValue(tls *libc.TLS, p uintptr, z uintptr, pVal uintptr, iVal int32) int32 { /* sqlite3.c:235651:12: */ +func sqlite3Fts5StorageConfigValue(tls *libc.TLS, p uintptr, z uintptr, pVal uintptr, iVal int32) int32 { /* sqlite3.c:235708:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -192183,13 +192214,13 @@ var aAsciiTokenChar = [128]uint8{ uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), // 0x50..0x5F uint8(0), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), // 0x60..0x6F uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), // 0x70..0x7F -} /* sqlite3.c:235704:22 */ +} /* sqlite3.c:235761:22 */ -type AsciiTokenizer1 = struct{ FaTokenChar [128]uint8 } /* sqlite3.c:235715:9 */ +type AsciiTokenizer1 = struct{ FaTokenChar [128]uint8 } /* sqlite3.c:235772:9 */ -type AsciiTokenizer = AsciiTokenizer1 /* sqlite3.c:235715:31 */ +type AsciiTokenizer = AsciiTokenizer1 /* sqlite3.c:235772:31 */ -func fts5AsciiAddExceptions(tls *libc.TLS, p uintptr, zArg uintptr, bTokenChars int32) { /* sqlite3.c:235720:13: */ +func fts5AsciiAddExceptions(tls *libc.TLS, p uintptr, zArg uintptr, bTokenChars int32) { /* sqlite3.c:235777:13: */ var i int32 for i = 0; *(*uint8)(unsafe.Pointer(zArg + uintptr(i))) != 0; i++ { if int32(*(*uint8)(unsafe.Pointer(zArg + uintptr(i))))&0x80 == 0 { @@ -192199,12 +192230,12 @@ func fts5AsciiAddExceptions(tls *libc.TLS, p uintptr, zArg uintptr, bTokenChars } // Delete a "ascii" tokenizer. -func fts5AsciiDelete(tls *libc.TLS, p uintptr) { /* sqlite3.c:235736:13: */ +func fts5AsciiDelete(tls *libc.TLS, p uintptr) { /* sqlite3.c:235793:13: */ Xsqlite3_free(tls, p) } // Create an "ascii" tokenizer. -func fts5AsciiCreate(tls *libc.TLS, pUnused uintptr, azArg uintptr, nArg int32, ppOut uintptr) int32 { /* sqlite3.c:235743:12: */ +func fts5AsciiCreate(tls *libc.TLS, pUnused uintptr, azArg uintptr, nArg int32, ppOut uintptr) int32 { /* sqlite3.c:235800:12: */ var rc int32 = SQLITE_OK var p uintptr = uintptr(0) _ = pUnused @@ -192239,7 +192270,7 @@ func fts5AsciiCreate(tls *libc.TLS, pUnused uintptr, azArg uintptr, nArg int32, return rc } -func asciiFold(tls *libc.TLS, aOut uintptr, aIn uintptr, nByte int32) { /* sqlite3.c:235784:13: */ +func asciiFold(tls *libc.TLS, aOut uintptr, aIn uintptr, nByte int32) { /* sqlite3.c:235841:13: */ var i int32 for i = 0; i < nByte; i++ { var c uint8 = *(*uint8)(unsafe.Pointer(aIn + uintptr(i))) @@ -192251,7 +192282,7 @@ func asciiFold(tls *libc.TLS, aOut uintptr, aIn uintptr, nByte int32) { /* sqlit } // Tokenize some text using the ascii tokenizer. -func fts5AsciiTokenize(tls *libc.TLS, pTokenizer uintptr, pCtx uintptr, iUnused int32, pText uintptr, nText int32, xToken uintptr) int32 { /* sqlite3.c:235796:12: */ +func fts5AsciiTokenize(tls *libc.TLS, pTokenizer uintptr, pCtx uintptr, iUnused int32, pText uintptr, nText int32, xToken uintptr) int32 { /* sqlite3.c:235853:12: */ bp := tls.Alloc(64) defer tls.Free(64) @@ -192332,7 +192363,7 @@ type Unicode61Tokenizer1 = struct { F__ccgo_pad1 [4]byte FaiException uintptr FaCategory [32]uint8 -} /* sqlite3.c:235911:9 */ +} /* sqlite3.c:235968:9 */ // ************************************************************************* // @@ -192342,11 +192373,11 @@ type Unicode61Tokenizer1 = struct { // from the sqlite3 source file utf.c. If this file is compiled as part // of the amalgamation, they are not required. -type Unicode61Tokenizer = Unicode61Tokenizer1 /* sqlite3.c:235911:35 */ +type Unicode61Tokenizer = Unicode61Tokenizer1 /* sqlite3.c:235968:35 */ // Values for eRemoveDiacritic (must match internals of fts5_unicode2.c) -func fts5UnicodeAddExceptions(tls *libc.TLS, p uintptr, z uintptr, bTokenChars int32) int32 { /* sqlite3.c:235928:12: */ +func fts5UnicodeAddExceptions(tls *libc.TLS, p uintptr, z uintptr, bTokenChars int32) int32 { /* sqlite3.c:235985:12: */ var rc int32 = SQLITE_OK var n int32 = int32(libc.Xstrlen(tls, z)) var aNew uintptr @@ -192401,7 +192432,7 @@ func fts5UnicodeAddExceptions(tls *libc.TLS, p uintptr, z uintptr, bTokenChars i } // Return true if the p->aiException[] array contains the value iCode. -func fts5UnicodeIsException(tls *libc.TLS, p uintptr, iCode int32) int32 { /* sqlite3.c:235978:12: */ +func fts5UnicodeIsException(tls *libc.TLS, p uintptr, iCode int32) int32 { /* sqlite3.c:236035:12: */ if (*Unicode61Tokenizer)(unsafe.Pointer(p)).FnException > 0 { var a uintptr = (*Unicode61Tokenizer)(unsafe.Pointer(p)).FaiException var iLo int32 = 0 @@ -192423,7 +192454,7 @@ func fts5UnicodeIsException(tls *libc.TLS, p uintptr, iCode int32) int32 { /* sq } // Delete a "unicode61" tokenizer. -func fts5UnicodeDelete(tls *libc.TLS, pTok uintptr) { /* sqlite3.c:236002:13: */ +func fts5UnicodeDelete(tls *libc.TLS, pTok uintptr) { /* sqlite3.c:236059:13: */ if pTok != 0 { var p uintptr = pTok Xsqlite3_free(tls, (*Unicode61Tokenizer)(unsafe.Pointer(p)).FaiException) @@ -192433,7 +192464,7 @@ func fts5UnicodeDelete(tls *libc.TLS, pTok uintptr) { /* sqlite3.c:236002:13: */ return } -func unicodeSetCategories(tls *libc.TLS, p uintptr, zCat uintptr) int32 { /* sqlite3.c:236012:12: */ +func unicodeSetCategories(tls *libc.TLS, p uintptr, zCat uintptr) int32 { /* sqlite3.c:236069:12: */ var z uintptr = zCat for *(*uint8)(unsafe.Pointer(z)) != 0 { @@ -192453,7 +192484,7 @@ func unicodeSetCategories(tls *libc.TLS, p uintptr, zCat uintptr) int32 { /* sql } // Create a "unicode61" tokenizer. -func fts5UnicodeCreate(tls *libc.TLS, pUnused uintptr, azArg uintptr, nArg int32, ppOut uintptr) int32 { /* sqlite3.c:236030:12: */ +func fts5UnicodeCreate(tls *libc.TLS, pUnused uintptr, azArg uintptr, nArg int32, ppOut uintptr) int32 { /* sqlite3.c:236087:12: */ var rc int32 = SQLITE_OK // Return code var p uintptr = uintptr(0) // New tokenizer object @@ -192521,12 +192552,12 @@ func fts5UnicodeCreate(tls *libc.TLS, pUnused uintptr, azArg uintptr, nArg int32 // Return true if, for the purposes of tokenizing with the tokenizer // passed as the first argument, codepoint iCode is considered a token // character (not a separator). -func fts5UnicodeIsAlnum(tls *libc.TLS, p uintptr, iCode int32) int32 { /* sqlite3.c:236110:12: */ +func fts5UnicodeIsAlnum(tls *libc.TLS, p uintptr, iCode int32) int32 { /* sqlite3.c:236167:12: */ return int32(*(*uint8)(unsafe.Pointer(p + 160 + uintptr(sqlite3Fts5UnicodeCategory(tls, U32(iCode)))))) ^ fts5UnicodeIsException(tls, p, iCode) } -func fts5UnicodeTokenize(tls *libc.TLS, pTokenizer uintptr, pCtx uintptr, iUnused int32, pText uintptr, nText int32, xToken uintptr) int32 { /* sqlite3.c:236117:12: */ +func fts5UnicodeTokenize(tls *libc.TLS, pTokenizer uintptr, pCtx uintptr, iUnused int32, pText uintptr, nText int32, xToken uintptr) int32 { /* sqlite3.c:236174:12: */ var p uintptr var rc int32 var a uintptr @@ -192782,7 +192813,7 @@ type PorterTokenizer1 = struct { Ftokenizer Fts5_tokenizer FpTokenizer uintptr FaBuf [128]uint8 -} /* sqlite3.c:236229:9 */ +} /* sqlite3.c:236286:9 */ // ************************************************************************* // @@ -192791,10 +192822,10 @@ type PorterTokenizer1 = struct { // Any tokens larger than this (in bytes) are passed through without // stemming. -type PorterTokenizer = PorterTokenizer1 /* sqlite3.c:236229:32 */ +type PorterTokenizer = PorterTokenizer1 /* sqlite3.c:236286:32 */ // Delete a "porter" tokenizer. -func fts5PorterDelete(tls *libc.TLS, pTok uintptr) { /* sqlite3.c:236239:13: */ +func fts5PorterDelete(tls *libc.TLS, pTok uintptr) { /* sqlite3.c:236296:13: */ if pTok != 0 { var p uintptr = pTok if (*PorterTokenizer)(unsafe.Pointer(p)).FpTokenizer != 0 { @@ -192805,7 +192836,7 @@ func fts5PorterDelete(tls *libc.TLS, pTok uintptr) { /* sqlite3.c:236239:13: */ } // Create a "porter" tokenizer. -func fts5PorterCreate(tls *libc.TLS, pCtx uintptr, azArg uintptr, nArg int32, ppOut uintptr) int32 { /* sqlite3.c:236252:12: */ +func fts5PorterCreate(tls *libc.TLS, pCtx uintptr, azArg uintptr, nArg int32, ppOut uintptr) int32 { /* sqlite3.c:236309:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -192858,9 +192889,9 @@ type PorterContext1 = struct { FpCtx uintptr FxToken uintptr FaBuf uintptr -} /* sqlite3.c:236288:9 */ +} /* sqlite3.c:236345:9 */ -type PorterContext = PorterContext1 /* sqlite3.c:236288:30 */ +type PorterContext = PorterContext1 /* sqlite3.c:236345:30 */ type PorterRule1 = struct { FzSuffix uintptr @@ -192870,15 +192901,15 @@ type PorterRule1 = struct { FzOutput uintptr FnOutput int32 F__ccgo_pad2 [4]byte -} /* sqlite3.c:236295:9 */ +} /* sqlite3.c:236352:9 */ -type PorterRule = PorterRule1 /* sqlite3.c:236295:27 */ +type PorterRule = PorterRule1 /* sqlite3.c:236352:27 */ -func fts5PorterIsVowel(tls *libc.TLS, c uint8, bYIsVowel int32) int32 { /* sqlite3.c:236330:12: */ +func fts5PorterIsVowel(tls *libc.TLS, c uint8, bYIsVowel int32) int32 { /* sqlite3.c:236387:12: */ return libc.Bool32(int32(c) == 'a' || int32(c) == 'e' || int32(c) == 'i' || int32(c) == 'o' || int32(c) == 'u' || bYIsVowel != 0 && int32(c) == 'y') } -func fts5PorterGobbleVC(tls *libc.TLS, zStem uintptr, nStem int32, bPrevCons int32) int32 { /* sqlite3.c:236336:12: */ +func fts5PorterGobbleVC(tls *libc.TLS, zStem uintptr, nStem int32, bPrevCons int32) int32 { /* sqlite3.c:236393:12: */ var i int32 var bCons int32 = bPrevCons @@ -192899,12 +192930,12 @@ func fts5PorterGobbleVC(tls *libc.TLS, zStem uintptr, nStem int32, bPrevCons int } // porter rule condition: (m > 0) -func fts5Porter_MGt0(tls *libc.TLS, zStem uintptr, nStem int32) int32 { /* sqlite3.c:236353:12: */ +func fts5Porter_MGt0(tls *libc.TLS, zStem uintptr, nStem int32) int32 { /* sqlite3.c:236410:12: */ return libc.BoolInt32(!!(fts5PorterGobbleVC(tls, zStem, nStem, 0) != 0)) } // porter rule condition: (m > 1) -func fts5Porter_MGt1(tls *libc.TLS, zStem uintptr, nStem int32) int32 { /* sqlite3.c:236358:12: */ +func fts5Porter_MGt1(tls *libc.TLS, zStem uintptr, nStem int32) int32 { /* sqlite3.c:236415:12: */ var n int32 n = fts5PorterGobbleVC(tls, zStem, nStem, 0) if n != 0 && fts5PorterGobbleVC(tls, zStem+uintptr(n), nStem-n, 1) != 0 { @@ -192914,7 +192945,7 @@ func fts5Porter_MGt1(tls *libc.TLS, zStem uintptr, nStem int32) int32 { /* sqlit } // porter rule condition: (m = 1) -func fts5Porter_MEq1(tls *libc.TLS, zStem uintptr, nStem int32) int32 { /* sqlite3.c:236368:12: */ +func fts5Porter_MEq1(tls *libc.TLS, zStem uintptr, nStem int32) int32 { /* sqlite3.c:236425:12: */ var n int32 n = fts5PorterGobbleVC(tls, zStem, nStem, 0) if n != 0 && 0 == fts5PorterGobbleVC(tls, zStem+uintptr(n), nStem-n, 1) { @@ -192924,7 +192955,7 @@ func fts5Porter_MEq1(tls *libc.TLS, zStem uintptr, nStem int32) int32 { /* sqlit } // porter rule condition: (*o) -func fts5Porter_Ostar(tls *libc.TLS, zStem uintptr, nStem int32) int32 { /* sqlite3.c:236378:12: */ +func fts5Porter_Ostar(tls *libc.TLS, zStem uintptr, nStem int32) int32 { /* sqlite3.c:236435:12: */ if int32(*(*uint8)(unsafe.Pointer(zStem + uintptr(nStem-1)))) == 'w' || int32(*(*uint8)(unsafe.Pointer(zStem + uintptr(nStem-1)))) == 'x' || int32(*(*uint8)(unsafe.Pointer(zStem + uintptr(nStem-1)))) == 'y' { return 0 } else { @@ -192942,14 +192973,14 @@ func fts5Porter_Ostar(tls *libc.TLS, zStem uintptr, nStem int32) int32 { /* sqli } // porter rule condition: (m > 1 and (*S or *T)) -func fts5Porter_MGt1_and_S_or_T(tls *libc.TLS, zStem uintptr, nStem int32) int32 { /* sqlite3.c:236395:12: */ +func fts5Porter_MGt1_and_S_or_T(tls *libc.TLS, zStem uintptr, nStem int32) int32 { /* sqlite3.c:236452:12: */ return libc.Bool32((int32(*(*uint8)(unsafe.Pointer(zStem + uintptr(nStem-1)))) == 's' || int32(*(*uint8)(unsafe.Pointer(zStem + uintptr(nStem-1)))) == 't') && fts5Porter_MGt1(tls, zStem, nStem) != 0) } // porter rule condition: (*v*) -func fts5Porter_Vowel(tls *libc.TLS, zStem uintptr, nStem int32) int32 { /* sqlite3.c:236402:12: */ +func fts5Porter_Vowel(tls *libc.TLS, zStem uintptr, nStem int32) int32 { /* sqlite3.c:236459:12: */ var i int32 for i = 0; i < nStem; i++ { if fts5PorterIsVowel(tls, *(*uint8)(unsafe.Pointer(zStem + uintptr(i))), libc.Bool32(i > 0)) != 0 { @@ -192964,7 +192995,7 @@ func fts5Porter_Vowel(tls *libc.TLS, zStem uintptr, nStem int32) int32 { /* sqli // // GENERATED CODE STARTS HERE (mkportersteps.tcl) -func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqlite3.c:236418:12: */ +func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqlite3.c:236475:12: */ var ret int32 = 0 var nBuf int32 = *(*int32)(unsafe.Pointer(pnBuf)) switch int32(*(*uint8)(unsafe.Pointer(aBuf + uintptr(nBuf-2)))) { @@ -193097,7 +193128,7 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli return ret } -func fts5PorterStep1B2(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqlite3.c:236552:12: */ +func fts5PorterStep1B2(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqlite3.c:236609:12: */ var ret int32 = 0 var nBuf int32 = *(*int32)(unsafe.Pointer(pnBuf)) switch int32(*(*uint8)(unsafe.Pointer(aBuf + uintptr(nBuf-2)))) { @@ -193130,7 +193161,7 @@ func fts5PorterStep1B2(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sq return ret } -func fts5PorterStep2(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqlite3.c:236586:12: */ +func fts5PorterStep2(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqlite3.c:236643:12: */ var ret int32 = 0 var nBuf int32 = *(*int32)(unsafe.Pointer(pnBuf)) switch int32(*(*uint8)(unsafe.Pointer(aBuf + uintptr(nBuf-2)))) { @@ -193276,7 +193307,7 @@ func fts5PorterStep2(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli return ret } -func fts5PorterStep3(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqlite3.c:236733:12: */ +func fts5PorterStep3(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqlite3.c:236790:12: */ var ret int32 = 0 var nBuf int32 = *(*int32)(unsafe.Pointer(pnBuf)) switch int32(*(*uint8)(unsafe.Pointer(aBuf + uintptr(nBuf-2)))) { @@ -193341,7 +193372,7 @@ func fts5PorterStep3(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli return ret } -func fts5PorterStep1B(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqlite3.c:236799:12: */ +func fts5PorterStep1B(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqlite3.c:236856:12: */ var ret int32 = 0 var nBuf int32 = *(*int32)(unsafe.Pointer(pnBuf)) switch int32(*(*uint8)(unsafe.Pointer(aBuf + uintptr(nBuf-2)))) { @@ -193378,7 +193409,7 @@ func fts5PorterStep1B(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sql // // -func fts5PorterStep1A(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) { /* sqlite3.c:236836:13: */ +func fts5PorterStep1A(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) { /* sqlite3.c:236893:13: */ var nBuf int32 = *(*int32)(unsafe.Pointer(pnBuf)) if int32(*(*uint8)(unsafe.Pointer(aBuf + uintptr(nBuf-1)))) == 's' { if int32(*(*uint8)(unsafe.Pointer(aBuf + uintptr(nBuf-2)))) == 'e' { @@ -193394,7 +193425,7 @@ func fts5PorterStep1A(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) { /* sqlite3.c } } -func fts5PorterCb(tls *libc.TLS, pCtx uintptr, tflags int32, pToken uintptr, nToken int32, iStart int32, iEnd int32) int32 { /* sqlite3.c:236854:12: */ +func fts5PorterCb(tls *libc.TLS, pCtx uintptr, tflags int32, pToken uintptr, nToken int32, iStart int32, iEnd int32) int32 { /* sqlite3.c:236911:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -193492,7 +193523,7 @@ pass_through: } // Tokenize using the porter tokenizer. -func fts5PorterTokenize(tls *libc.TLS, pTokenizer uintptr, pCtx uintptr, flags int32, pText uintptr, nText int32, xToken uintptr) int32 { /* sqlite3.c:236923:12: */ +func fts5PorterTokenize(tls *libc.TLS, pTokenizer uintptr, pCtx uintptr, flags int32, pText uintptr, nText int32, xToken uintptr) int32 { /* sqlite3.c:236980:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -193513,20 +193544,20 @@ func fts5PorterTokenize(tls *libc.TLS, pTokenizer uintptr, pCtx uintptr, flags i // ************************************************************************* // // Start of trigram implementation. -type TrigramTokenizer1 = struct{ FbFold int32 } /* sqlite3.c:236943:9 */ +type TrigramTokenizer1 = struct{ FbFold int32 } /* sqlite3.c:237000:9 */ // ************************************************************************* // // Start of trigram implementation. -type TrigramTokenizer = TrigramTokenizer1 /* sqlite3.c:236943:33 */ +type TrigramTokenizer = TrigramTokenizer1 /* sqlite3.c:237000:33 */ // Free a trigram tokenizer. -func fts5TriDelete(tls *libc.TLS, p uintptr) { /* sqlite3.c:236951:13: */ +func fts5TriDelete(tls *libc.TLS, p uintptr) { /* sqlite3.c:237008:13: */ Xsqlite3_free(tls, p) } // Allocate a trigram tokenizer. -func fts5TriCreate(tls *libc.TLS, pUnused uintptr, azArg uintptr, nArg int32, ppOut uintptr) int32 { /* sqlite3.c:236958:12: */ +func fts5TriCreate(tls *libc.TLS, pUnused uintptr, azArg uintptr, nArg int32, ppOut uintptr) int32 { /* sqlite3.c:237015:12: */ var rc int32 = SQLITE_OK var pNew uintptr = Xsqlite3_malloc(tls, int32(unsafe.Sizeof(TrigramTokenizer{}))) _ = pUnused @@ -193557,7 +193588,7 @@ func fts5TriCreate(tls *libc.TLS, pUnused uintptr, azArg uintptr, nArg int32, pp } // Trigram tokenizer tokenize routine. -func fts5TriTokenize(tls *libc.TLS, pTok uintptr, pCtx uintptr, unusedFlags int32, pText uintptr, nText int32, xToken uintptr) int32 { /* sqlite3.c:236996:12: */ +func fts5TriTokenize(tls *libc.TLS, pTok uintptr, pCtx uintptr, unusedFlags int32, pText uintptr, nText int32, xToken uintptr) int32 { /* sqlite3.c:237053:12: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -193710,7 +193741,7 @@ func fts5TriTokenize(tls *libc.TLS, pTok uintptr, pCtx uintptr, unusedFlags int3 // "trigram" tokenizer, case_sensitive=1 - FTS5_PATTERN_GLOB // "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) int32 { /* sqlite3.c:237056:12: */ +func sqlite3Fts5TokenizerPattern(tls *libc.TLS, xCreate uintptr, pTok uintptr) int32 { /* sqlite3.c:237113:12: */ if xCreate == *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 }{fts5TriCreate})) { @@ -193724,7 +193755,7 @@ func sqlite3Fts5TokenizerPattern(tls *libc.TLS, xCreate uintptr, pTok uintptr) i } // Register all built-in tokenizers with FTS5. -func sqlite3Fts5TokenizerInit(tls *libc.TLS, pApi uintptr) int32 { /* sqlite3.c:237070:12: */ +func sqlite3Fts5TokenizerInit(tls *libc.TLS, pApi uintptr) int32 { /* sqlite3.c:237127:12: */ bp := tls.Alloc(128) defer tls.Free(128) @@ -193770,7 +193801,7 @@ func sqlite3Fts5TokenizerInit(tls *libc.TLS, pApi uintptr) int32 { /* sqlite3.c: type BuiltinTokenizer = struct { FzName uintptr Fx Fts5_tokenizer -} /* sqlite3.c:237071:3 */ +} /* sqlite3.c:237128:3 */ // 2012-05-25 // @@ -193793,7 +193824,7 @@ type BuiltinTokenizer = struct { // SMALL LETTER E WITH DIAERESIS" - return 65 ("LATIN SMALL LETTER // E"). The resuls of passing a codepoint that corresponds to an // uppercase letter are undefined. -func fts5_remove_diacritic(tls *libc.TLS, c int32, bComplex int32) int32 { /* sqlite3.c:237126:12: */ +func fts5_remove_diacritic(tls *libc.TLS, c int32, bComplex int32) int32 { /* sqlite3.c:237183:12: */ bp := tls.Alloc(378) defer tls.Free(378) @@ -193864,7 +193895,7 @@ func fts5_remove_diacritic(tls *libc.TLS, c int32, bComplex int32) int32 { /* sq // Return true if the argument interpreted as a unicode codepoint // is a diacritical modifier character. -func sqlite3Fts5UnicodeIsdiacritic(tls *libc.TLS, c int32) int32 { /* sqlite3.c:237193:12: */ +func sqlite3Fts5UnicodeIsdiacritic(tls *libc.TLS, c int32) int32 { /* sqlite3.c:237250:12: */ var mask0 uint32 = uint32(0x08029FDF) var mask1 uint32 = uint32(0x000361F8) if c < 768 || c > 817 { @@ -193883,7 +193914,7 @@ func sqlite3Fts5UnicodeIsdiacritic(tls *libc.TLS, c int32) int32 { /* sqlite3.c: // // The results are undefined if the value passed to this function // is less than zero. -func sqlite3Fts5UnicodeFold(tls *libc.TLS, c int32, eRemoveDiacritic int32) int32 { /* sqlite3.c:237212:12: */ +func sqlite3Fts5UnicodeFold(tls *libc.TLS, c int32, eRemoveDiacritic int32) int32 { /* sqlite3.c:237269:12: */ var ret int32 = c @@ -193944,7 +193975,7 @@ type TableEntry = struct { FiCode uint16 Fflags uint8 FnRange uint8 -} /* sqlite3.c:237230:16 */ +} /* sqlite3.c:237287:16 */ var aEntry = [163]TableEntry{ {FiCode: uint16(65), Fflags: uint8(14), FnRange: uint8(26)}, {FiCode: uint16(181), Fflags: uint8(64), FnRange: uint8(1)}, {FiCode: uint16(192), Fflags: uint8(14), FnRange: uint8(23)}, @@ -194002,7 +194033,7 @@ var aEntry = [163]TableEntry{ {FiCode: uint16(42878), Fflags: uint8(1), FnRange: uint8(10)}, {FiCode: uint16(42891), FnRange: uint8(1)}, {FiCode: uint16(42893), Fflags: uint8(74), FnRange: uint8(1)}, {FiCode: uint16(42896), Fflags: uint8(1), FnRange: uint8(4)}, {FiCode: uint16(42912), Fflags: uint8(1), FnRange: uint8(10)}, {FiCode: uint16(42922), Fflags: uint8(72), FnRange: uint8(1)}, {FiCode: uint16(65313), Fflags: uint8(14), FnRange: uint8(26)}, -} /* sqlite3.c:237234:5 */ +} /* sqlite3.c:237291:5 */ var aiOff = [77]uint16{ uint16(1), uint16(2), uint16(8), uint16(15), uint16(16), uint16(26), uint16(28), uint16(32), uint16(37), uint16(38), uint16(40), uint16(48), uint16(63), uint16(64), uint16(69), uint16(71), @@ -194014,9 +194045,9 @@ var aiOff = [77]uint16{ uint16(65408), uint16(65410), uint16(65415), uint16(65424), uint16(65436), uint16(65439), uint16(65450), uint16(65462), uint16(65472), uint16(65476), uint16(65478), uint16(65480), uint16(65482), uint16(65488), uint16(65506), uint16(65511), uint16(65514), uint16(65521), uint16(65527), uint16(65528), uint16(65529), -} /* sqlite3.c:237291:31 */ +} /* sqlite3.c:237348:31 */ -func sqlite3Fts5UnicodeCatParse(tls *libc.TLS, zCat uintptr, aArray uintptr) int32 { /* sqlite3.c:237348:12: */ +func sqlite3Fts5UnicodeCatParse(tls *libc.TLS, zCat uintptr, aArray uintptr) int32 { /* sqlite3.c:237405:12: */ *(*U8)(unsafe.Pointer(aArray)) = U8(1) switch int32(*(*uint8)(unsafe.Pointer(zCat))) { case 'C': @@ -194213,7 +194244,7 @@ func sqlite3Fts5UnicodeCatParse(tls *libc.TLS, zCat uintptr, aArray uintptr) int var aFts5UnicodeBlock = [17]U16{ U16(0), U16(1471), U16(1753), U16(1760), U16(1760), U16(1760), U16(1760), U16(1760), U16(1760), U16(1760), U16(1760), U16(1760), U16(1760), U16(1760), U16(1760), U16(1763), U16(1765), -} /* sqlite3.c:237466:12 */ +} /* sqlite3.c:237523:12 */ var aFts5UnicodeMap = [1765]U16{ U16(0), U16(32), U16(33), U16(36), U16(37), U16(40), U16(41), U16(42), U16(43), U16(44), U16(45), U16(46), U16(48), U16(58), U16(60), U16(63), U16(65), U16(91), U16(92), U16(93), @@ -194392,7 +194423,7 @@ var aFts5UnicodeMap = [1765]U16{ U16(62406), U16(62432), U16(62464), U16(62528), U16(62530), U16(62713), U16(62720), U16(62784), U16(62800), U16(62971), U16(63045), U16(63104), U16(63232), U16(0), U16(42710), U16(42752), U16(46900), U16(46912), U16(47133), U16(63488), U16(1), U16(32), U16(256), U16(0), U16(65533), -} /* sqlite3.c:237470:12 */ +} /* sqlite3.c:237527:12 */ var aFts5UnicodeData = [1765]U16{ U16(1025), U16(61), U16(117), U16(55), U16(117), U16(54), U16(50), U16(53), U16(57), U16(53), U16(49), U16(85), U16(333), U16(85), U16(121), U16(85), U16(841), U16(54), U16(53), U16(50), @@ -194571,9 +194602,9 @@ var aFts5UnicodeData = [1765]U16{ U16(186), U16(570), U16(2042), U16(58), U16(5850), U16(154), U16(2010), U16(154), U16(794), U16(2266), U16(378), U16(2266), U16(3738), U16(39), U16(39), U16(39), U16(39), U16(39), U16(39), U16(17351), U16(34), U16(3074), U16(7692), U16(63), U16(63), -} /* sqlite3.c:237649:12 */ +} /* sqlite3.c:237706:12 */ -func sqlite3Fts5UnicodeCategory(tls *libc.TLS, iCode U32) int32 { /* sqlite3.c:237829:12: */ +func sqlite3Fts5UnicodeCategory(tls *libc.TLS, iCode U32) int32 { /* sqlite3.c:237886:12: */ var iRes int32 = -1 var iHi int32 var iLo int32 @@ -194613,7 +194644,7 @@ func sqlite3Fts5UnicodeCategory(tls *libc.TLS, iCode U32) int32 { /* sqlite3.c:2 return 9 } -func sqlite3Fts5UnicodeAscii(tls *libc.TLS, aArray uintptr, aAscii uintptr) { /* sqlite3.c:237860:13: */ +func sqlite3Fts5UnicodeAscii(tls *libc.TLS, aArray uintptr, aAscii uintptr) { /* sqlite3.c:237917:13: */ var i int32 = 0 var iTbl int32 = 0 for i < 128 { @@ -194645,7 +194676,7 @@ func sqlite3Fts5UnicodeAscii(tls *libc.TLS, aArray uintptr, aAscii uintptr) { /* // This is a copy of the sqlite3GetVarint32() routine from the SQLite core. // Except, this version does handle the single byte case that the core // version depends on being handled before its function is called. -func sqlite3Fts5GetVarint32(tls *libc.TLS, p uintptr, v uintptr) int32 { /* sqlite3.c:237898:12: */ +func sqlite3Fts5GetVarint32(tls *libc.TLS, p uintptr, v uintptr) int32 { /* sqlite3.c:237955:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -194720,7 +194751,7 @@ func sqlite3Fts5GetVarint32(tls *libc.TLS, p uintptr, v uintptr) int32 { /* sqli // Read a 64-bit variable-length integer from memory starting at p[0]. // Return the number of bytes read. The value is stored in *v. -func sqlite3Fts5GetVarint(tls *libc.TLS, p uintptr, v uintptr) U8 { /* sqlite3.c:237976:11: */ +func sqlite3Fts5GetVarint(tls *libc.TLS, p uintptr, v uintptr) U8 { /* sqlite3.c:238033:11: */ var a U32 var b U32 var s U32 @@ -194896,7 +194927,7 @@ func sqlite3Fts5GetVarint(tls *libc.TLS, p uintptr, v uintptr) U8 { /* sqlite3.c // for all bytes that have the 8th bit set and one byte with the 8th // bit clear. Except, if we get to the 9th byte, it stores the full // 8 bits and is the last byte. -func fts5PutVarint64(tls *libc.TLS, p uintptr, v U64) int32 { /* sqlite3.c:238170:26: */ +func fts5PutVarint64(tls *libc.TLS, p uintptr, v U64) int32 { /* sqlite3.c:238227:26: */ bp := tls.Alloc(10) defer tls.Free(10) @@ -194942,7 +194973,7 @@ __3: return n } -func sqlite3Fts5PutVarint(tls *libc.TLS, p uintptr, v U64) int32 { /* sqlite3.c:238195:12: */ +func sqlite3Fts5PutVarint(tls *libc.TLS, p uintptr, v U64) int32 { /* sqlite3.c:238252:12: */ if v <= uint64(0x7f) { *(*uint8)(unsafe.Pointer(p)) = uint8(v & uint64(0x7f)) return 1 @@ -194955,7 +194986,7 @@ func sqlite3Fts5PutVarint(tls *libc.TLS, p uintptr, v U64) int32 { /* sqlite3.c: return fts5PutVarint64(tls, p, v) } -func sqlite3Fts5GetVarintLen(tls *libc.TLS, iVal U32) int32 { /* sqlite3.c:238209:12: */ +func sqlite3Fts5GetVarintLen(tls *libc.TLS, iVal U32) int32 { /* sqlite3.c:238266:12: */ if iVal < U32(int32(1)<<14) { return 2 @@ -195015,7 +195046,7 @@ type Fts5VocabTable1 = struct { FpGlobal uintptr FeType int32 FbBusy uint32 -} /* sqlite3.c:238262:9 */ +} /* sqlite3.c:238319:9 */ // 2015 May 08 // @@ -195055,7 +195086,7 @@ type Fts5VocabTable1 = struct { // #include "fts5Int.h" -type Fts5VocabTable = Fts5VocabTable1 /* sqlite3.c:238262:31 */ +type Fts5VocabTable = Fts5VocabTable1 /* sqlite3.c:238319:31 */ type Fts5VocabCursor1 = struct { Fbase Sqlite3_vtab_cursor FpStmt uintptr @@ -195076,9 +195107,9 @@ type Fts5VocabCursor1 = struct { FiInstPos I64 FiInstOff int32 F__ccgo_pad4 [4]byte -} /* sqlite3.c:238263:9 */ +} /* sqlite3.c:238320:9 */ -type Fts5VocabCursor = Fts5VocabCursor1 /* sqlite3.c:238263:32 */ +type Fts5VocabCursor = Fts5VocabCursor1 /* sqlite3.c:238320:32 */ // Bits for the mask used as the idxNum value by xBestIndex/xFilter. @@ -195086,7 +195117,7 @@ type Fts5VocabCursor = Fts5VocabCursor1 /* sqlite3.c:238263:32 */ // FTS5_VOCAB_XXX constant. If successful, set *peType to the output // value and return SQLITE_OK. Otherwise, set *pzErr to an error message // and return SQLITE_ERROR. -func fts5VocabTableType(tls *libc.TLS, zType uintptr, pzErr uintptr, peType uintptr) int32 { /* sqlite3.c:238323:12: */ +func fts5VocabTableType(tls *libc.TLS, zType uintptr, pzErr uintptr, peType uintptr) int32 { /* sqlite3.c:238380:12: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -195111,14 +195142,14 @@ func fts5VocabTableType(tls *libc.TLS, zType uintptr, pzErr uintptr, peType uint } // The xDisconnect() virtual table method. -func fts5VocabDisconnectMethod(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:238352:12: */ +func fts5VocabDisconnectMethod(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:238409:12: */ var pTab uintptr = pVtab Xsqlite3_free(tls, pTab) return SQLITE_OK } // The xDestroy() virtual table method. -func fts5VocabDestroyMethod(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:238361:12: */ +func fts5VocabDestroyMethod(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:238418:12: */ var pTab uintptr = pVtab Xsqlite3_free(tls, pTab) return SQLITE_OK @@ -195143,7 +195174,7 @@ func fts5VocabDestroyMethod(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:2 // argv[3] -> name of fts5 tables database // argv[4] -> name of fts5 table // argv[5] -> type of fts5vocab table -func fts5VocabInitVtab(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVTab uintptr, pzErr uintptr) int32 { /* sqlite3.c:238388:12: */ +func fts5VocabInitVtab(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVTab uintptr, pzErr uintptr) int32 { /* sqlite3.c:238445:12: */ bp := tls.Alloc(36) defer tls.Free(36) @@ -195213,11 +195244,11 @@ func fts5VocabInitVtab(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv // The xConnect() and xCreate() methods for the virtual table. All the // work is done in function fts5VocabInitVtab(). -func fts5VocabConnectMethod(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 { /* sqlite3.c:238450:12: */ +func fts5VocabConnectMethod(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 { /* sqlite3.c:238507:12: */ return fts5VocabInitVtab(tls, db, pAux, argc, argv, ppVtab, pzErr) } -func fts5VocabCreateMethod(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 { /* sqlite3.c:238460:12: */ +func fts5VocabCreateMethod(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 { /* sqlite3.c:238517:12: */ return fts5VocabInitVtab(tls, db, pAux, argc, argv, ppVtab, pzErr) } @@ -195231,7 +195262,7 @@ func fts5VocabCreateMethod(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, // // are interpreted. Less-than and less-than-or-equal are treated // identically, as are greater-than and greater-than-or-equal. -func fts5VocabBestIndexMethod(tls *libc.TLS, pUnused uintptr, pInfo uintptr) int32 { /* sqlite3.c:238483:12: */ +func fts5VocabBestIndexMethod(tls *libc.TLS, pUnused uintptr, pInfo uintptr) int32 { /* sqlite3.c:238540:12: */ var i int32 var iTermEq int32 = -1 var iTermGe int32 = -1 @@ -195299,7 +195330,7 @@ func fts5VocabBestIndexMethod(tls *libc.TLS, pUnused uintptr, pInfo uintptr) int } // Implementation of xOpen method. -func fts5VocabOpenMethod(tls *libc.TLS, pVTab uintptr, ppCsr uintptr) int32 { /* sqlite3.c:238545:12: */ +func fts5VocabOpenMethod(tls *libc.TLS, pVTab uintptr, ppCsr uintptr) int32 { /* sqlite3.c:238602:12: */ bp := tls.Alloc(80) defer tls.Free(80) @@ -195366,7 +195397,7 @@ func fts5VocabOpenMethod(tls *libc.TLS, pVTab uintptr, ppCsr uintptr) int32 { /* return *(*int32)(unsafe.Pointer(bp + 64 /* rc */)) } -func fts5VocabResetCursor(tls *libc.TLS, pCsr uintptr) { /* sqlite3.c:238613:13: */ +func fts5VocabResetCursor(tls *libc.TLS, pCsr uintptr) { /* sqlite3.c:238670:13: */ (*Fts5VocabCursor)(unsafe.Pointer(pCsr)).Frowid = int64(0) sqlite3Fts5IterClose(tls, (*Fts5VocabCursor)(unsafe.Pointer(pCsr)).FpIter) sqlite3Fts5StructureRelease(tls, (*Fts5VocabCursor)(unsafe.Pointer(pCsr)).FpStruct) @@ -195380,7 +195411,7 @@ func fts5VocabResetCursor(tls *libc.TLS, pCsr uintptr) { /* sqlite3.c:238613:13: // Close the cursor. For additional information see the documentation // on the xClose method of the virtual table interface. -func fts5VocabCloseMethod(tls *libc.TLS, pCursor uintptr) int32 { /* sqlite3.c:238629:12: */ +func fts5VocabCloseMethod(tls *libc.TLS, pCursor uintptr) int32 { /* sqlite3.c:238686:12: */ var pCsr uintptr = pCursor fts5VocabResetCursor(tls, pCsr) sqlite3Fts5BufferFree(tls, pCsr+96) @@ -195389,7 +195420,7 @@ func fts5VocabCloseMethod(tls *libc.TLS, pCursor uintptr) int32 { /* sqlite3.c:2 return SQLITE_OK } -func fts5VocabInstanceNewTerm(tls *libc.TLS, pCsr uintptr) int32 { /* sqlite3.c:238638:12: */ +func fts5VocabInstanceNewTerm(tls *libc.TLS, pCsr uintptr) int32 { /* sqlite3.c:238695:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -195420,7 +195451,7 @@ func fts5VocabInstanceNewTerm(tls *libc.TLS, pCsr uintptr) int32 { /* sqlite3.c: return *(*int32)(unsafe.Pointer(bp + 4 /* rc */)) } -func fts5VocabInstanceNext(tls *libc.TLS, pCsr uintptr) int32 { /* sqlite3.c:238660:12: */ +func fts5VocabInstanceNext(tls *libc.TLS, pCsr uintptr) int32 { /* sqlite3.c:238717:12: */ var eDetail int32 = (*Fts5Config)(unsafe.Pointer((*Fts5Table)(unsafe.Pointer((*Fts5VocabCursor)(unsafe.Pointer(pCsr)).FpFts5)).FpConfig)).FeDetail var rc int32 = SQLITE_OK var pIter uintptr = (*Fts5VocabCursor)(unsafe.Pointer(pCsr)).FpIter @@ -195449,7 +195480,7 @@ func fts5VocabInstanceNext(tls *libc.TLS, pCsr uintptr) int32 { /* sqlite3.c:238 } // Advance the cursor to the next row in the table. -func fts5VocabNextMethod(tls *libc.TLS, pCursor uintptr) int32 { /* sqlite3.c:238692:12: */ +func fts5VocabNextMethod(tls *libc.TLS, pCursor uintptr) int32 { /* sqlite3.c:238749:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -195593,7 +195624,7 @@ func fts5VocabNextMethod(tls *libc.TLS, pCursor uintptr) int32 { /* sqlite3.c:23 } // This is the xFilter implementation for the virtual table. -func fts5VocabFilterMethod(tls *libc.TLS, pCursor uintptr, idxNum int32, zUnused uintptr, nUnused int32, apVal uintptr) int32 { /* sqlite3.c:238820:12: */ +func fts5VocabFilterMethod(tls *libc.TLS, pCursor uintptr, idxNum int32, zUnused uintptr, nUnused int32, apVal uintptr) int32 { /* sqlite3.c:238877:12: */ var pTab uintptr = (*Sqlite3_vtab_cursor)(unsafe.Pointer(pCursor)).FpVtab var pCsr uintptr = pCursor var eType int32 = (*Fts5VocabTable)(unsafe.Pointer(pTab)).FeType @@ -195667,12 +195698,12 @@ func fts5VocabFilterMethod(tls *libc.TLS, pCursor uintptr, idxNum int32, zUnused // This is the xEof method of the virtual table. SQLite calls this // routine to find out if it has reached the end of a result set. -func fts5VocabEofMethod(tls *libc.TLS, pCursor uintptr) int32 { /* sqlite3.c:238894:12: */ +func fts5VocabEofMethod(tls *libc.TLS, pCursor uintptr) int32 { /* sqlite3.c:238951:12: */ var pCsr uintptr = pCursor return (*Fts5VocabCursor)(unsafe.Pointer(pCsr)).FbEof } -func fts5VocabColumnMethod(tls *libc.TLS, pCursor uintptr, pCtx uintptr, iCol int32) int32 { /* sqlite3.c:238899:12: */ +func fts5VocabColumnMethod(tls *libc.TLS, pCursor uintptr, pCtx uintptr, iCol int32) int32 { /* sqlite3.c:238956:12: */ var pCsr uintptr = pCursor var eDetail int32 = (*Fts5Config)(unsafe.Pointer((*Fts5Table)(unsafe.Pointer((*Fts5VocabCursor)(unsafe.Pointer(pCsr)).FpFts5)).FpConfig)).FeDetail var eType int32 = (*Fts5VocabTable)(unsafe.Pointer((*Sqlite3_vtab_cursor)(unsafe.Pointer(pCursor)).FpVtab)).FeType @@ -195745,13 +195776,13 @@ func fts5VocabColumnMethod(tls *libc.TLS, pCursor uintptr, pCtx uintptr, iCol in // This is the xRowid method. The SQLite core calls this routine to // retrieve the rowid for the current row of the result set. The // rowid should be written to *pRowid. -func fts5VocabRowidMethod(tls *libc.TLS, pCursor uintptr, pRowid uintptr) int32 { /* sqlite3.c:238971:12: */ +func fts5VocabRowidMethod(tls *libc.TLS, pCursor uintptr, pRowid uintptr) int32 { /* sqlite3.c:239028:12: */ var pCsr uintptr = pCursor *(*Sqlite_int64)(unsafe.Pointer(pRowid)) = (*Fts5VocabCursor)(unsafe.Pointer(pCsr)).Frowid return SQLITE_OK } -func sqlite3Fts5VocabInit(tls *libc.TLS, pGlobal uintptr, db uintptr) int32 { /* sqlite3.c:238980:12: */ +func sqlite3Fts5VocabInit(tls *libc.TLS, pGlobal uintptr, db uintptr) int32 { /* sqlite3.c:239037:12: */ var p uintptr = pGlobal return Xsqlite3_create_module_v2(tls, db, ts+37459, uintptr(unsafe.Pointer(&fts5Vocab)), p, uintptr(0)) @@ -195771,7 +195802,7 @@ var fts5Vocab = Sqlite3_module{ /* xEof */ FxEof: 0, /* xColumn */ FxColumn: 0, /* xRowid */ FxRowid: 0, -} /* sqlite3.c:238981:31 */ +} /* sqlite3.c:239038:31 */ //************* End of fts5.c *********************************************** //************* Begin file stmt.c ******************************************* @@ -195798,8 +195829,8 @@ var fts5Vocab = Sqlite3_module{ //************* End of stmt.c *********************************************** // Return the source-id for this library -func Xsqlite3_sourceid(tls *libc.TLS) uintptr { /* sqlite3.c:239321:23: */ - return ts + 37469 /* "2022-03-12 13:37..." */ +func Xsqlite3_sourceid(tls *libc.TLS) uintptr { /* sqlite3.c:239378:23: */ + return ts + 37469 /* "2022-03-26 13:51..." */ } //************************* End of sqlite3.c ***************************** @@ -195808,162 +195839,162 @@ func init() { *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&Xsqlite3aEQb)) + 0)) = uintptr(unsafe.Pointer(&Xsqlite3UpperToLower)) + 210 // sqlite3.c:21690:51: *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&Xsqlite3aGTb)) + 0)) = uintptr(unsafe.Pointer(&Xsqlite3UpperToLower)) + 216 // sqlite3.c:21691:51: *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&Xsqlite3aLTb)) + 0)) = uintptr(unsafe.Pointer(&Xsqlite3UpperToLower)) + 204 // sqlite3.c:21689:51: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aAgg)) + 0)) = geopolyBBoxStep // sqlite3.c:201985:8: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aAgg)) + 8)) = geopolyBBoxFinal // sqlite3.c:201985:25: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aAlterTableFuncs)) + 24)) = renameColumnFunc // sqlite3.c:111067:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aAlterTableFuncs)) + 96)) = renameTableFunc // sqlite3.c:111068:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aAlterTableFuncs)) + 168)) = renameTableTest // sqlite3.c:111069:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aAlterTableFuncs)) + 240)) = dropColumnFunc // sqlite3.c:111070:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aAlterTableFuncs)) + 312)) = renameQuotefixFunc // sqlite3.c:111071:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 24)) = versionFunc // sqlite3.c:123272:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 96)) = versionFunc // sqlite3.c:123273:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 168)) = versionFunc // sqlite3.c:123274:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 240)) = versionFunc // sqlite3.c:123275:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 312)) = soundexFunc // sqlite3.c:123279:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 384)) = loadExt // sqlite3.c:123282:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 456)) = loadExt // sqlite3.c:123283:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 528)) = compileoptionusedFunc // sqlite3.c:123289:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 600)) = compileoptiongetFunc // sqlite3.c:123290:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 672)) = versionFunc // sqlite3.c:123292:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 744)) = versionFunc // sqlite3.c:123293:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 816)) = versionFunc // sqlite3.c:123294:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 888)) = versionFunc // sqlite3.c:123297:12: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 960)) = trimFunc // sqlite3.c:123299:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1032)) = trimFunc // sqlite3.c:123300:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1104)) = trimFunc // sqlite3.c:123301:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1176)) = trimFunc // sqlite3.c:123302:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1248)) = trimFunc // sqlite3.c:123303:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1320)) = trimFunc // sqlite3.c:123304:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1392)) = minmaxFunc // sqlite3.c:123305:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1536)) = minmaxStep // sqlite3.c:123307:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1544)) = minMaxFinalize // sqlite3.c:123307:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1552)) = minMaxValue // sqlite3.c:123307:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1608)) = minmaxFunc // sqlite3.c:123309:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1752)) = minmaxStep // sqlite3.c:123311:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1760)) = minMaxFinalize // sqlite3.c:123311:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1768)) = minMaxValue // sqlite3.c:123311:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1824)) = typeofFunc // sqlite3.c:123313:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1896)) = subtypeFunc // sqlite3.c:123314:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1968)) = lengthFunc // sqlite3.c:123315:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2040)) = instrFunc // sqlite3.c:123316:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2112)) = printfFunc // sqlite3.c:123317:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2184)) = printfFunc // sqlite3.c:123318:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2256)) = unicodeFunc // sqlite3.c:123319:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2328)) = charFunc // sqlite3.c:123320:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2400)) = absFunc // sqlite3.c:123321:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2472)) = roundFunc // sqlite3.c:123323:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2544)) = roundFunc // sqlite3.c:123324:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2616)) = upperFunc // sqlite3.c:123326:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2688)) = lowerFunc // sqlite3.c:123327:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2760)) = hexFunc // sqlite3.c:123328:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2832)) = versionFunc // sqlite3.c:123329:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2904)) = randomFunc // sqlite3.c:123330:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2976)) = randomBlob // sqlite3.c:123331:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3048)) = nullifFunc // sqlite3.c:123332:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3120)) = versionFunc // sqlite3.c:123333:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3192)) = sourceidFunc // sqlite3.c:123334:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3264)) = errlogFunc // sqlite3.c:123335:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3336)) = quoteFunc // sqlite3.c:123336:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3408)) = last_insert_rowid // sqlite3.c:123337:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3480)) = changes // sqlite3.c:123338:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3552)) = total_changes // sqlite3.c:123339:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3624)) = replaceFunc // sqlite3.c:123340:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3696)) = zeroblobFunc // sqlite3.c:123341:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3768)) = substrFunc // sqlite3.c:123342:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3840)) = substrFunc // sqlite3.c:123343:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3912)) = substrFunc // sqlite3.c:123344:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3984)) = substrFunc // sqlite3.c:123345:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4056)) = sumStep // sqlite3.c:123346:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4064)) = sumFinalize // sqlite3.c:123346:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4072)) = sumFinalize // sqlite3.c:123346:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4080)) = sumInverse // sqlite3.c:123346:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4128)) = sumStep // sqlite3.c:123347:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4136)) = totalFinalize // sqlite3.c:123347:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4144)) = totalFinalize // sqlite3.c:123347:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4152)) = sumInverse // sqlite3.c:123347:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4200)) = sumStep // sqlite3.c:123348:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4208)) = avgFinalize // sqlite3.c:123348:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4216)) = avgFinalize // sqlite3.c:123348:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4224)) = sumInverse // sqlite3.c:123348:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4272)) = countStep // sqlite3.c:123349:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4280)) = countFinalize // sqlite3.c:123349:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4288)) = countFinalize // sqlite3.c:123349:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4296)) = countInverse // sqlite3.c:123349:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4344)) = countStep // sqlite3.c:123352:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4352)) = countFinalize // sqlite3.c:123352:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4360)) = countFinalize // sqlite3.c:123352:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4368)) = countInverse // sqlite3.c:123352:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4416)) = groupConcatStep // sqlite3.c:123354:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4424)) = groupConcatFinalize // sqlite3.c:123354:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4432)) = groupConcatValue // sqlite3.c:123354:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4440)) = groupConcatInverse // sqlite3.c:123354:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4488)) = groupConcatStep // sqlite3.c:123356:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4496)) = groupConcatFinalize // sqlite3.c:123356:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4504)) = groupConcatValue // sqlite3.c:123356:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4512)) = groupConcatInverse // sqlite3.c:123356:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4544 /* .pUserData */)) = uintptr(unsafe.Pointer(&globInfo)) // sqlite3.c:123359:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4560)) = likeFunc // sqlite3.c:123359:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4616 /* .pUserData */)) = uintptr(unsafe.Pointer(&likeInfoNorm)) // sqlite3.c:123364:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4632)) = likeFunc // sqlite3.c:123364:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4688 /* .pUserData */)) = uintptr(unsafe.Pointer(&likeInfoNorm)) // sqlite3.c:123365:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4704)) = likeFunc // sqlite3.c:123365:5: - *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4904)) = xCeil // sqlite3.c:123373:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4920)) = ceilingFunc // sqlite3.c:123373:5: - *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4976)) = xCeil // sqlite3.c:123374:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4992)) = ceilingFunc // sqlite3.c:123374:5: - *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5048)) = xFloor // sqlite3.c:123375:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5064)) = ceilingFunc // sqlite3.c:123375:5: - *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5120)) = libc.Xtrunc // sqlite3.c:123377:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5136)) = ceilingFunc // sqlite3.c:123377:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5208)) = logFunc // sqlite3.c:123379:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5280)) = logFunc // sqlite3.c:123380:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5352)) = logFunc // sqlite3.c:123381:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5424)) = logFunc // sqlite3.c:123382:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5496)) = logFunc // sqlite3.c:123383:5: - *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5552)) = libc.Xexp // sqlite3.c:123384:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5568)) = math1Func // sqlite3.c:123384:5: - *(*func(*libc.TLS, float64, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5624)) = libc.Xpow // sqlite3.c:123385:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5640)) = math2Func // sqlite3.c:123385:5: - *(*func(*libc.TLS, float64, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5696)) = libc.Xpow // sqlite3.c:123386:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5712)) = math2Func // sqlite3.c:123386:5: - *(*func(*libc.TLS, float64, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5768)) = libc.Xfmod // sqlite3.c:123387:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5784)) = math2Func // sqlite3.c:123387:5: - *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5840)) = libc.Xacos // sqlite3.c:123388:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5856)) = math1Func // sqlite3.c:123388:5: - *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5912)) = libc.Xasin // sqlite3.c:123389:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5928)) = math1Func // sqlite3.c:123389:5: - *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5984)) = libc.Xatan // sqlite3.c:123390:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6000)) = math1Func // sqlite3.c:123390:5: - *(*func(*libc.TLS, float64, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6056)) = libc.Xatan2 // sqlite3.c:123391:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6072)) = math2Func // sqlite3.c:123391:5: - *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6128)) = libc.Xcos // sqlite3.c:123392:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6144)) = math1Func // sqlite3.c:123392:5: - *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6200)) = libc.Xsin // sqlite3.c:123393:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6216)) = math1Func // sqlite3.c:123393:5: - *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6272)) = libc.Xtan // sqlite3.c:123394:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6288)) = math1Func // sqlite3.c:123394:5: - *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6344)) = libc.Xcosh // sqlite3.c:123395:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6360)) = math1Func // sqlite3.c:123395:5: - *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6416)) = libc.Xsinh // sqlite3.c:123396:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6432)) = math1Func // sqlite3.c:123396:5: - *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6488)) = libc.Xtanh // sqlite3.c:123397:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6504)) = math1Func // sqlite3.c:123397:5: - *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6560)) = libc.Xacosh // sqlite3.c:123399:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6576)) = math1Func // sqlite3.c:123399:5: - *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6632)) = libc.Xasinh // sqlite3.c:123400:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6648)) = math1Func // sqlite3.c:123400:5: - *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6704)) = libc.Xatanh // sqlite3.c:123401:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6720)) = math1Func // sqlite3.c:123401:5: - *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6776)) = libc.Xsqrt // sqlite3.c:123403:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6792)) = math1Func // sqlite3.c:123403:5: - *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6848)) = degToRad // sqlite3.c:123404:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6864)) = math1Func // sqlite3.c:123404:5: - *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6920)) = radToDeg // sqlite3.c:123405:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6936)) = math1Func // sqlite3.c:123405:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 7008)) = piFunc // sqlite3.c:123406:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 7080)) = signFunc // sqlite3.c:123408:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 7152)) = versionFunc // sqlite3.c:123409:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 7224)) = versionFunc // sqlite3.c:123410:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aAgg)) + 0)) = geopolyBBoxStep // sqlite3.c:202042:8: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aAgg)) + 8)) = geopolyBBoxFinal // sqlite3.c:202042:25: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aAlterTableFuncs)) + 24)) = renameColumnFunc // sqlite3.c:111080:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aAlterTableFuncs)) + 96)) = renameTableFunc // sqlite3.c:111081:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aAlterTableFuncs)) + 168)) = renameTableTest // sqlite3.c:111082:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aAlterTableFuncs)) + 240)) = dropColumnFunc // sqlite3.c:111083:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aAlterTableFuncs)) + 312)) = renameQuotefixFunc // sqlite3.c:111084:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 24)) = versionFunc // sqlite3.c:123285:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 96)) = versionFunc // sqlite3.c:123286:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 168)) = versionFunc // sqlite3.c:123287:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 240)) = versionFunc // sqlite3.c:123288:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 312)) = soundexFunc // sqlite3.c:123292:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 384)) = loadExt // sqlite3.c:123295:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 456)) = loadExt // sqlite3.c:123296:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 528)) = compileoptionusedFunc // sqlite3.c:123302:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 600)) = compileoptiongetFunc // sqlite3.c:123303:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 672)) = versionFunc // sqlite3.c:123305:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 744)) = versionFunc // sqlite3.c:123306:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 816)) = versionFunc // sqlite3.c:123307:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 888)) = versionFunc // sqlite3.c:123310:12: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 960)) = trimFunc // sqlite3.c:123312:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1032)) = trimFunc // sqlite3.c:123313:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1104)) = trimFunc // sqlite3.c:123314:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1176)) = trimFunc // sqlite3.c:123315:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1248)) = trimFunc // sqlite3.c:123316:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1320)) = trimFunc // sqlite3.c:123317:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1392)) = minmaxFunc // sqlite3.c:123318:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1536)) = minmaxStep // sqlite3.c:123320:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1544)) = minMaxFinalize // sqlite3.c:123320:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1552)) = minMaxValue // sqlite3.c:123320:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1608)) = minmaxFunc // sqlite3.c:123322:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1752)) = minmaxStep // sqlite3.c:123324:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1760)) = minMaxFinalize // sqlite3.c:123324:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1768)) = minMaxValue // sqlite3.c:123324:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1824)) = typeofFunc // sqlite3.c:123326:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1896)) = subtypeFunc // sqlite3.c:123327:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1968)) = lengthFunc // sqlite3.c:123328:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2040)) = instrFunc // sqlite3.c:123329:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2112)) = printfFunc // sqlite3.c:123330:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2184)) = printfFunc // sqlite3.c:123331:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2256)) = unicodeFunc // sqlite3.c:123332:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2328)) = charFunc // sqlite3.c:123333:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2400)) = absFunc // sqlite3.c:123334:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2472)) = roundFunc // sqlite3.c:123336:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2544)) = roundFunc // sqlite3.c:123337:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2616)) = upperFunc // sqlite3.c:123339:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2688)) = lowerFunc // sqlite3.c:123340:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2760)) = hexFunc // sqlite3.c:123341:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2832)) = versionFunc // sqlite3.c:123342:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2904)) = randomFunc // sqlite3.c:123343:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2976)) = randomBlob // sqlite3.c:123344:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3048)) = nullifFunc // sqlite3.c:123345:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3120)) = versionFunc // sqlite3.c:123346:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3192)) = sourceidFunc // sqlite3.c:123347:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3264)) = errlogFunc // sqlite3.c:123348:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3336)) = quoteFunc // sqlite3.c:123349:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3408)) = last_insert_rowid // sqlite3.c:123350:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3480)) = changes // sqlite3.c:123351:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3552)) = total_changes // sqlite3.c:123352:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3624)) = replaceFunc // sqlite3.c:123353:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3696)) = zeroblobFunc // sqlite3.c:123354:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3768)) = substrFunc // sqlite3.c:123355:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3840)) = substrFunc // sqlite3.c:123356:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3912)) = substrFunc // sqlite3.c:123357:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3984)) = substrFunc // sqlite3.c:123358:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4056)) = sumStep // sqlite3.c:123359:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4064)) = sumFinalize // sqlite3.c:123359:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4072)) = sumFinalize // sqlite3.c:123359:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4080)) = sumInverse // sqlite3.c:123359:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4128)) = sumStep // sqlite3.c:123360:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4136)) = totalFinalize // sqlite3.c:123360:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4144)) = totalFinalize // sqlite3.c:123360:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4152)) = sumInverse // sqlite3.c:123360:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4200)) = sumStep // sqlite3.c:123361:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4208)) = avgFinalize // sqlite3.c:123361:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4216)) = avgFinalize // sqlite3.c:123361:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4224)) = sumInverse // sqlite3.c:123361:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4272)) = countStep // sqlite3.c:123362:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4280)) = countFinalize // sqlite3.c:123362:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4288)) = countFinalize // sqlite3.c:123362:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4296)) = countInverse // sqlite3.c:123362:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4344)) = countStep // sqlite3.c:123365:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4352)) = countFinalize // sqlite3.c:123365:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4360)) = countFinalize // sqlite3.c:123365:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4368)) = countInverse // sqlite3.c:123365:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4416)) = groupConcatStep // sqlite3.c:123367:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4424)) = groupConcatFinalize // sqlite3.c:123367:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4432)) = groupConcatValue // sqlite3.c:123367:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4440)) = groupConcatInverse // sqlite3.c:123367:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4488)) = groupConcatStep // sqlite3.c:123369:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4496)) = groupConcatFinalize // sqlite3.c:123369:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4504)) = groupConcatValue // sqlite3.c:123369:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4512)) = groupConcatInverse // sqlite3.c:123369:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4544 /* .pUserData */)) = uintptr(unsafe.Pointer(&globInfo)) // sqlite3.c:123372:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4560)) = likeFunc // sqlite3.c:123372:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4616 /* .pUserData */)) = uintptr(unsafe.Pointer(&likeInfoNorm)) // sqlite3.c:123377:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4632)) = likeFunc // sqlite3.c:123377:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4688 /* .pUserData */)) = uintptr(unsafe.Pointer(&likeInfoNorm)) // sqlite3.c:123378:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4704)) = likeFunc // sqlite3.c:123378:5: + *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4904)) = xCeil // sqlite3.c:123386:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4920)) = ceilingFunc // sqlite3.c:123386:5: + *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4976)) = xCeil // sqlite3.c:123387:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4992)) = ceilingFunc // sqlite3.c:123387:5: + *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5048)) = xFloor // sqlite3.c:123388:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5064)) = ceilingFunc // sqlite3.c:123388:5: + *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5120)) = libc.Xtrunc // sqlite3.c:123390:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5136)) = ceilingFunc // sqlite3.c:123390:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5208)) = logFunc // sqlite3.c:123392:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5280)) = logFunc // sqlite3.c:123393:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5352)) = logFunc // sqlite3.c:123394:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5424)) = logFunc // sqlite3.c:123395:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5496)) = logFunc // sqlite3.c:123396:5: + *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5552)) = libc.Xexp // sqlite3.c:123397:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5568)) = math1Func // sqlite3.c:123397:5: + *(*func(*libc.TLS, float64, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5624)) = libc.Xpow // sqlite3.c:123398:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5640)) = math2Func // sqlite3.c:123398:5: + *(*func(*libc.TLS, float64, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5696)) = libc.Xpow // sqlite3.c:123399:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5712)) = math2Func // sqlite3.c:123399:5: + *(*func(*libc.TLS, float64, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5768)) = libc.Xfmod // sqlite3.c:123400:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5784)) = math2Func // sqlite3.c:123400:5: + *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5840)) = libc.Xacos // sqlite3.c:123401:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5856)) = math1Func // sqlite3.c:123401:5: + *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5912)) = libc.Xasin // sqlite3.c:123402:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5928)) = math1Func // sqlite3.c:123402:5: + *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5984)) = libc.Xatan // sqlite3.c:123403:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6000)) = math1Func // sqlite3.c:123403:5: + *(*func(*libc.TLS, float64, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6056)) = libc.Xatan2 // sqlite3.c:123404:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6072)) = math2Func // sqlite3.c:123404:5: + *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6128)) = libc.Xcos // sqlite3.c:123405:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6144)) = math1Func // sqlite3.c:123405:5: + *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6200)) = libc.Xsin // sqlite3.c:123406:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6216)) = math1Func // sqlite3.c:123406:5: + *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6272)) = libc.Xtan // sqlite3.c:123407:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6288)) = math1Func // sqlite3.c:123407:5: + *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6344)) = libc.Xcosh // sqlite3.c:123408:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6360)) = math1Func // sqlite3.c:123408:5: + *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6416)) = libc.Xsinh // sqlite3.c:123409:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6432)) = math1Func // sqlite3.c:123409:5: + *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6488)) = libc.Xtanh // sqlite3.c:123410:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6504)) = math1Func // sqlite3.c:123410:5: + *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6560)) = libc.Xacosh // sqlite3.c:123412:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6576)) = math1Func // sqlite3.c:123412:5: + *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6632)) = libc.Xasinh // sqlite3.c:123413:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6648)) = math1Func // sqlite3.c:123413:5: + *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6704)) = libc.Xatanh // sqlite3.c:123414:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6720)) = math1Func // sqlite3.c:123414:5: + *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6776)) = libc.Xsqrt // sqlite3.c:123416:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6792)) = math1Func // sqlite3.c:123416:5: + *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6848)) = degToRad // sqlite3.c:123417:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6864)) = math1Func // sqlite3.c:123417:5: + *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6920)) = radToDeg // sqlite3.c:123418:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6936)) = math1Func // sqlite3.c:123418:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 7008)) = piFunc // sqlite3.c:123419:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 7080)) = signFunc // sqlite3.c:123421:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 7152)) = versionFunc // sqlite3.c:123422:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 7224)) = versionFunc // sqlite3.c:123423:5: *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aDateTimeFuncs)) + 8 /* .pUserData */)) = uintptr(unsafe.Pointer(&Xsqlite3Config)) // sqlite3.c:24402:5: *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aDateTimeFuncs)) + 24)) = juliandayFunc // sqlite3.c:24402:5: *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aDateTimeFuncs)) + 80 /* .pUserData */)) = uintptr(unsafe.Pointer(&Xsqlite3Config)) // sqlite3.c:24403:5: @@ -195979,45 +196010,45 @@ func init() { *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aDateTimeFuncs)) + 456)) = ctimeFunc // sqlite3.c:24408:5: *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aDateTimeFuncs)) + 528)) = ctimestampFunc // sqlite3.c:24409:5: *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aDateTimeFuncs)) + 600)) = cdateFunc // sqlite3.c:24410:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 0)) = geopolyAreaFunc // sqlite3.c:201967:8: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 24)) = geopolyBlobFunc // sqlite3.c:201968:8: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 48)) = geopolyJsonFunc // sqlite3.c:201969:8: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 72)) = geopolySvgFunc // sqlite3.c:201970:8: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 96)) = geopolyWithinFunc // sqlite3.c:201971:8: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 120)) = geopolyContainsPointFunc // sqlite3.c:201972:8: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 144)) = geopolyOverlapFunc // sqlite3.c:201973:8: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 168)) = geopolyDebugFunc // sqlite3.c:201974:8: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 192)) = geopolyBBoxFunc // sqlite3.c:201975:8: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 216)) = geopolyXformFunc // sqlite3.c:201976:8: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 240)) = geopolyRegularFunc // sqlite3.c:201977:8: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 264)) = geopolyCcwFunc // sqlite3.c:201978:8: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 24)) = jsonRemoveFunc // sqlite3.c:195736:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 96)) = jsonArrayFunc // sqlite3.c:195737:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 168)) = jsonArrayLengthFunc // sqlite3.c:195738:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 240)) = jsonArrayLengthFunc // sqlite3.c:195739:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 312)) = jsonExtractFunc // sqlite3.c:195740:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 384)) = jsonExtractFunc // sqlite3.c:195741:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 456)) = jsonExtractFunc // sqlite3.c:195742:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 528)) = jsonSetFunc // sqlite3.c:195743:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 600)) = jsonObjectFunc // sqlite3.c:195744:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 672)) = jsonPatchFunc // sqlite3.c:195745:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 744)) = jsonQuoteFunc // sqlite3.c:195746:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 816)) = jsonRemoveFunc // sqlite3.c:195747:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 888)) = jsonReplaceFunc // sqlite3.c:195748:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 960)) = jsonSetFunc // sqlite3.c:195749:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 1032)) = jsonTypeFunc // sqlite3.c:195750:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 1104)) = jsonTypeFunc // sqlite3.c:195751:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 1176)) = jsonValidFunc // sqlite3.c:195752:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 1248)) = jsonArrayStep // sqlite3.c:195757:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 1256)) = jsonArrayFinal // sqlite3.c:195757:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 1264)) = jsonArrayValue // sqlite3.c:195757:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 1272)) = jsonGroupInverse // sqlite3.c:195757:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 1320)) = jsonObjectStep // sqlite3.c:195760:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 1328)) = jsonObjectFinal // sqlite3.c:195760:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 1336)) = jsonObjectValue // sqlite3.c:195760:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 1344)) = jsonGroupInverse // sqlite3.c:195760:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aMod)) + 8 /* .pModule */)) = uintptr(unsafe.Pointer(&jsonEachModule)) // sqlite3.c:195778:31: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aMod)) + 24 /* .pModule */)) = uintptr(unsafe.Pointer(&jsonTreeModule)) // sqlite3.c:195779:31: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 0)) = geopolyAreaFunc // sqlite3.c:202024:8: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 24)) = geopolyBlobFunc // sqlite3.c:202025:8: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 48)) = geopolyJsonFunc // sqlite3.c:202026:8: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 72)) = geopolySvgFunc // sqlite3.c:202027:8: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 96)) = geopolyWithinFunc // sqlite3.c:202028:8: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 120)) = geopolyContainsPointFunc // sqlite3.c:202029:8: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 144)) = geopolyOverlapFunc // sqlite3.c:202030:8: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 168)) = geopolyDebugFunc // sqlite3.c:202031:8: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 192)) = geopolyBBoxFunc // sqlite3.c:202032:8: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 216)) = geopolyXformFunc // sqlite3.c:202033:8: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 240)) = geopolyRegularFunc // sqlite3.c:202034:8: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 264)) = geopolyCcwFunc // sqlite3.c:202035:8: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 24)) = jsonRemoveFunc // sqlite3.c:195793:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 96)) = jsonArrayFunc // sqlite3.c:195794:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 168)) = jsonArrayLengthFunc // sqlite3.c:195795:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 240)) = jsonArrayLengthFunc // sqlite3.c:195796:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 312)) = jsonExtractFunc // sqlite3.c:195797:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 384)) = jsonExtractFunc // sqlite3.c:195798:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 456)) = jsonExtractFunc // sqlite3.c:195799:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 528)) = jsonSetFunc // sqlite3.c:195800:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 600)) = jsonObjectFunc // sqlite3.c:195801:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 672)) = jsonPatchFunc // sqlite3.c:195802:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 744)) = jsonQuoteFunc // sqlite3.c:195803:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 816)) = jsonRemoveFunc // sqlite3.c:195804:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 888)) = jsonReplaceFunc // sqlite3.c:195805:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 960)) = jsonSetFunc // sqlite3.c:195806:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 1032)) = jsonTypeFunc // sqlite3.c:195807:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 1104)) = jsonTypeFunc // sqlite3.c:195808:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 1176)) = jsonValidFunc // sqlite3.c:195809:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 1248)) = jsonArrayStep // sqlite3.c:195814:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 1256)) = jsonArrayFinal // sqlite3.c:195814:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 1264)) = jsonArrayValue // sqlite3.c:195814:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 1272)) = jsonGroupInverse // sqlite3.c:195814:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 1320)) = jsonObjectStep // sqlite3.c:195817:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 1328)) = jsonObjectFinal // sqlite3.c:195817:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 1336)) = jsonObjectValue // sqlite3.c:195817:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 1344)) = jsonGroupInverse // sqlite3.c:195817:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aMod)) + 8 /* .pModule */)) = uintptr(unsafe.Pointer(&jsonEachModule)) // sqlite3.c:195835:31: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aMod)) + 24 /* .pModule */)) = uintptr(unsafe.Pointer(&jsonTreeModule)) // sqlite3.c:195836:31: *(*Sqlite3_syscall_ptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 8 /* .pCurrent */)) = *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, int32) int32 }{posixOpen})) // sqlite3.c:35170:21: @@ -196081,150 +196112,150 @@ func init() { *(*Sqlite3_syscall_ptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 656 /* .pCurrent */)) = *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr) int32 }{libc.Xlstat})) // sqlite3.c:35313:22: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 32 /* .pAppData */)) = uintptr(unsafe.Pointer(&posixIoFinder)) // sqlite3.c:42842:5: - *(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 40)) = unixOpen // sqlite3.c:42842:5: - *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 48)) = unixDelete // sqlite3.c:42842:5: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 56)) = unixAccess // sqlite3.c:42842:5: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 64)) = unixFullPathname // sqlite3.c:42842:5: - *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 72)) = unixDlOpen // sqlite3.c:42842:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 80)) = unixDlError // sqlite3.c:42842:5: - *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 88)) = unixDlSym // sqlite3.c:42842:5: - *(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 96)) = unixDlClose // sqlite3.c:42842:5: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 104)) = unixRandomness // sqlite3.c:42842:5: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 112)) = unixSleep // sqlite3.c:42842:5: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 120)) = unixCurrentTime // sqlite3.c:42842:5: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 128)) = unixGetLastError // sqlite3.c:42842:5: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 136)) = unixCurrentTimeInt64 // sqlite3.c:42842:5: - *(*func(*libc.TLS, uintptr, uintptr, Sqlite3_syscall_ptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 144)) = unixSetSystemCall // sqlite3.c:42842:5: - *(*func(*libc.TLS, uintptr, uintptr) Sqlite3_syscall_ptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 152)) = unixGetSystemCall // sqlite3.c:42842:5: - *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 160)) = unixNextSystemCall // sqlite3.c:42842:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 200 /* .pAppData */)) = uintptr(unsafe.Pointer(&nolockIoFinder)) // sqlite3.c:42844:5: - *(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 208)) = unixOpen // sqlite3.c:42844:5: - *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 216)) = unixDelete // sqlite3.c:42844:5: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 224)) = unixAccess // sqlite3.c:42844:5: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 232)) = unixFullPathname // sqlite3.c:42844:5: - *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 240)) = unixDlOpen // sqlite3.c:42844:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 248)) = unixDlError // sqlite3.c:42844:5: - *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 256)) = unixDlSym // sqlite3.c:42844:5: - *(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 264)) = unixDlClose // sqlite3.c:42844:5: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 272)) = unixRandomness // sqlite3.c:42844:5: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 280)) = unixSleep // sqlite3.c:42844:5: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 288)) = unixCurrentTime // sqlite3.c:42844:5: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 296)) = unixGetLastError // sqlite3.c:42844:5: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 304)) = unixCurrentTimeInt64 // sqlite3.c:42844:5: - *(*func(*libc.TLS, uintptr, uintptr, Sqlite3_syscall_ptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 312)) = unixSetSystemCall // sqlite3.c:42844:5: - *(*func(*libc.TLS, uintptr, uintptr) Sqlite3_syscall_ptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 320)) = unixGetSystemCall // sqlite3.c:42844:5: - *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 328)) = unixNextSystemCall // sqlite3.c:42844:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 368 /* .pAppData */)) = uintptr(unsafe.Pointer(&dotlockIoFinder)) // sqlite3.c:42845:5: - *(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 376)) = unixOpen // sqlite3.c:42845:5: - *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 384)) = unixDelete // sqlite3.c:42845:5: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 392)) = unixAccess // sqlite3.c:42845:5: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 400)) = unixFullPathname // sqlite3.c:42845:5: - *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 408)) = unixDlOpen // sqlite3.c:42845:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 416)) = unixDlError // sqlite3.c:42845:5: - *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 424)) = unixDlSym // sqlite3.c:42845:5: - *(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 432)) = unixDlClose // sqlite3.c:42845:5: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 440)) = unixRandomness // sqlite3.c:42845:5: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 448)) = unixSleep // sqlite3.c:42845:5: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 456)) = unixCurrentTime // sqlite3.c:42845:5: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 464)) = unixGetLastError // sqlite3.c:42845:5: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 472)) = unixCurrentTimeInt64 // sqlite3.c:42845:5: - *(*func(*libc.TLS, uintptr, uintptr, Sqlite3_syscall_ptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 480)) = unixSetSystemCall // sqlite3.c:42845:5: - *(*func(*libc.TLS, uintptr, uintptr) Sqlite3_syscall_ptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 488)) = unixGetSystemCall // sqlite3.c:42845:5: - *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 496)) = unixNextSystemCall // sqlite3.c:42845:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 536 /* .pAppData */)) = uintptr(unsafe.Pointer(&posixIoFinder)) // sqlite3.c:42846:5: - *(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 544)) = unixOpen // sqlite3.c:42846:5: - *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 552)) = unixDelete // sqlite3.c:42846:5: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 560)) = unixAccess // sqlite3.c:42846:5: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 568)) = unixFullPathname // sqlite3.c:42846:5: - *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 576)) = unixDlOpen // sqlite3.c:42846:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 584)) = unixDlError // sqlite3.c:42846:5: - *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 592)) = unixDlSym // sqlite3.c:42846:5: - *(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 600)) = unixDlClose // sqlite3.c:42846:5: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 608)) = unixRandomness // sqlite3.c:42846:5: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 616)) = unixSleep // sqlite3.c:42846:5: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 624)) = unixCurrentTime // sqlite3.c:42846:5: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 632)) = unixGetLastError // sqlite3.c:42846:5: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 640)) = unixCurrentTimeInt64 // sqlite3.c:42846:5: - *(*func(*libc.TLS, uintptr, uintptr, Sqlite3_syscall_ptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 648)) = unixSetSystemCall // sqlite3.c:42846:5: - *(*func(*libc.TLS, uintptr, uintptr) Sqlite3_syscall_ptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 656)) = unixGetSystemCall // sqlite3.c:42846:5: - *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 664)) = unixNextSystemCall // sqlite3.c:42846:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 24)) = row_numberStepFunc // sqlite3.c:158796:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 32)) = row_numberValueFunc // sqlite3.c:158796:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 40)) = row_numberValueFunc // sqlite3.c:158796:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 48)) = noopStepFunc // sqlite3.c:158796:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 56 /* .zName */)) = uintptr(unsafe.Pointer(&row_numberName)) // sqlite3.c:158796:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 96)) = dense_rankStepFunc // sqlite3.c:158797:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 104)) = dense_rankValueFunc // sqlite3.c:158797:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 112)) = dense_rankValueFunc // sqlite3.c:158797:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 120)) = noopStepFunc // sqlite3.c:158797:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 128 /* .zName */)) = uintptr(unsafe.Pointer(&dense_rankName)) // sqlite3.c:158797:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 168)) = rankStepFunc // sqlite3.c:158798:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 176)) = rankValueFunc // sqlite3.c:158798:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 184)) = rankValueFunc // sqlite3.c:158798:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 192)) = noopStepFunc // sqlite3.c:158798:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 200 /* .zName */)) = uintptr(unsafe.Pointer(&rankName)) // sqlite3.c:158798:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 240)) = percent_rankStepFunc // sqlite3.c:158799:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 248)) = percent_rankValueFunc // sqlite3.c:158799:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 256)) = percent_rankValueFunc // sqlite3.c:158799:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 264)) = percent_rankInvFunc // sqlite3.c:158799:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 272 /* .zName */)) = uintptr(unsafe.Pointer(&percent_rankName)) // sqlite3.c:158799:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 312)) = cume_distStepFunc // sqlite3.c:158800:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 320)) = cume_distValueFunc // sqlite3.c:158800:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 328)) = cume_distValueFunc // sqlite3.c:158800:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 336)) = cume_distInvFunc // sqlite3.c:158800:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 344 /* .zName */)) = uintptr(unsafe.Pointer(&cume_distName)) // sqlite3.c:158800:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 384)) = ntileStepFunc // sqlite3.c:158801:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 392)) = ntileValueFunc // sqlite3.c:158801:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 400)) = ntileValueFunc // sqlite3.c:158801:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 408)) = ntileInvFunc // sqlite3.c:158801:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 416 /* .zName */)) = uintptr(unsafe.Pointer(&ntileName)) // sqlite3.c:158801:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 456)) = last_valueStepFunc // sqlite3.c:158802:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 464)) = last_valueFinalizeFunc // sqlite3.c:158802:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 472)) = last_valueValueFunc // sqlite3.c:158802:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 480)) = last_valueInvFunc // sqlite3.c:158802:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 488 /* .zName */)) = uintptr(unsafe.Pointer(&last_valueName)) // sqlite3.c:158802:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 528)) = nth_valueStepFunc // sqlite3.c:158803:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 536)) = nth_valueFinalizeFunc // sqlite3.c:158803:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 544)) = noopValueFunc // sqlite3.c:158803:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 552)) = noopStepFunc // sqlite3.c:158803:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 560 /* .zName */)) = uintptr(unsafe.Pointer(&nth_valueName)) // sqlite3.c:158803:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 600)) = first_valueStepFunc // sqlite3.c:158804:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 608)) = first_valueFinalizeFunc // sqlite3.c:158804:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 616)) = noopValueFunc // sqlite3.c:158804:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 624)) = noopStepFunc // sqlite3.c:158804:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 632 /* .zName */)) = uintptr(unsafe.Pointer(&first_valueName)) // sqlite3.c:158804:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 672)) = noopStepFunc // sqlite3.c:158805:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 680)) = noopValueFunc // sqlite3.c:158805:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 688)) = noopValueFunc // sqlite3.c:158805:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 696)) = noopStepFunc // sqlite3.c:158805:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 704 /* .zName */)) = uintptr(unsafe.Pointer(&leadName)) // sqlite3.c:158805:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 744)) = noopStepFunc // sqlite3.c:158806:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 752)) = noopValueFunc // sqlite3.c:158806:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 760)) = noopValueFunc // sqlite3.c:158806:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 768)) = noopStepFunc // sqlite3.c:158806:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 776 /* .zName */)) = uintptr(unsafe.Pointer(&leadName)) // sqlite3.c:158806:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 816)) = noopStepFunc // sqlite3.c:158807:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 824)) = noopValueFunc // sqlite3.c:158807:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 832)) = noopValueFunc // sqlite3.c:158807:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 840)) = noopStepFunc // sqlite3.c:158807:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 848 /* .zName */)) = uintptr(unsafe.Pointer(&leadName)) // sqlite3.c:158807:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 888)) = noopStepFunc // sqlite3.c:158808:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 896)) = noopValueFunc // sqlite3.c:158808:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 904)) = noopValueFunc // sqlite3.c:158808:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 912)) = noopStepFunc // sqlite3.c:158808:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 920 /* .zName */)) = uintptr(unsafe.Pointer(&lagName)) // sqlite3.c:158808:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 960)) = noopStepFunc // sqlite3.c:158809:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 968)) = noopValueFunc // sqlite3.c:158809:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 976)) = noopValueFunc // sqlite3.c:158809:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 984)) = noopStepFunc // sqlite3.c:158809:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 992 /* .zName */)) = uintptr(unsafe.Pointer(&lagName)) // sqlite3.c:158809:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 1032)) = noopStepFunc // sqlite3.c:158810:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 1040)) = noopValueFunc // sqlite3.c:158810:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 1048)) = noopValueFunc // sqlite3.c:158810:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 1056)) = noopStepFunc // sqlite3.c:158810:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 1064 /* .zName */)) = uintptr(unsafe.Pointer(&lagName)) // sqlite3.c:158810:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&attach_func)) + 24)) = attachFunc // sqlite3.c:113438:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 32 /* .pAppData */)) = uintptr(unsafe.Pointer(&posixIoFinder)) // sqlite3.c:42848:5: + *(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 40)) = unixOpen // sqlite3.c:42848:5: + *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 48)) = unixDelete // sqlite3.c:42848:5: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 56)) = unixAccess // sqlite3.c:42848:5: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 64)) = unixFullPathname // sqlite3.c:42848:5: + *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 72)) = unixDlOpen // sqlite3.c:42848:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 80)) = unixDlError // sqlite3.c:42848:5: + *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 88)) = unixDlSym // sqlite3.c:42848:5: + *(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 96)) = unixDlClose // sqlite3.c:42848:5: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 104)) = unixRandomness // sqlite3.c:42848:5: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 112)) = unixSleep // sqlite3.c:42848:5: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 120)) = unixCurrentTime // sqlite3.c:42848:5: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 128)) = unixGetLastError // sqlite3.c:42848:5: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 136)) = unixCurrentTimeInt64 // sqlite3.c:42848:5: + *(*func(*libc.TLS, uintptr, uintptr, Sqlite3_syscall_ptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 144)) = unixSetSystemCall // sqlite3.c:42848:5: + *(*func(*libc.TLS, uintptr, uintptr) Sqlite3_syscall_ptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 152)) = unixGetSystemCall // sqlite3.c:42848:5: + *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 160)) = unixNextSystemCall // sqlite3.c:42848:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 200 /* .pAppData */)) = uintptr(unsafe.Pointer(&nolockIoFinder)) // sqlite3.c:42850:5: + *(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 208)) = unixOpen // sqlite3.c:42850:5: + *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 216)) = unixDelete // sqlite3.c:42850:5: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 224)) = unixAccess // sqlite3.c:42850:5: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 232)) = unixFullPathname // sqlite3.c:42850:5: + *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 240)) = unixDlOpen // sqlite3.c:42850:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 248)) = unixDlError // sqlite3.c:42850:5: + *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 256)) = unixDlSym // sqlite3.c:42850:5: + *(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 264)) = unixDlClose // sqlite3.c:42850:5: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 272)) = unixRandomness // sqlite3.c:42850:5: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 280)) = unixSleep // sqlite3.c:42850:5: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 288)) = unixCurrentTime // sqlite3.c:42850:5: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 296)) = unixGetLastError // sqlite3.c:42850:5: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 304)) = unixCurrentTimeInt64 // sqlite3.c:42850:5: + *(*func(*libc.TLS, uintptr, uintptr, Sqlite3_syscall_ptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 312)) = unixSetSystemCall // sqlite3.c:42850:5: + *(*func(*libc.TLS, uintptr, uintptr) Sqlite3_syscall_ptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 320)) = unixGetSystemCall // sqlite3.c:42850:5: + *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 328)) = unixNextSystemCall // sqlite3.c:42850:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 368 /* .pAppData */)) = uintptr(unsafe.Pointer(&dotlockIoFinder)) // sqlite3.c:42851:5: + *(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 376)) = unixOpen // sqlite3.c:42851:5: + *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 384)) = unixDelete // sqlite3.c:42851:5: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 392)) = unixAccess // sqlite3.c:42851:5: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 400)) = unixFullPathname // sqlite3.c:42851:5: + *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 408)) = unixDlOpen // sqlite3.c:42851:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 416)) = unixDlError // sqlite3.c:42851:5: + *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 424)) = unixDlSym // sqlite3.c:42851:5: + *(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 432)) = unixDlClose // sqlite3.c:42851:5: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 440)) = unixRandomness // sqlite3.c:42851:5: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 448)) = unixSleep // sqlite3.c:42851:5: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 456)) = unixCurrentTime // sqlite3.c:42851:5: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 464)) = unixGetLastError // sqlite3.c:42851:5: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 472)) = unixCurrentTimeInt64 // sqlite3.c:42851:5: + *(*func(*libc.TLS, uintptr, uintptr, Sqlite3_syscall_ptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 480)) = unixSetSystemCall // sqlite3.c:42851:5: + *(*func(*libc.TLS, uintptr, uintptr) Sqlite3_syscall_ptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 488)) = unixGetSystemCall // sqlite3.c:42851:5: + *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 496)) = unixNextSystemCall // sqlite3.c:42851:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 536 /* .pAppData */)) = uintptr(unsafe.Pointer(&posixIoFinder)) // sqlite3.c:42852:5: + *(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 544)) = unixOpen // sqlite3.c:42852:5: + *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 552)) = unixDelete // sqlite3.c:42852:5: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 560)) = unixAccess // sqlite3.c:42852:5: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 568)) = unixFullPathname // sqlite3.c:42852:5: + *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 576)) = unixDlOpen // sqlite3.c:42852:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 584)) = unixDlError // sqlite3.c:42852:5: + *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 592)) = unixDlSym // sqlite3.c:42852:5: + *(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 600)) = unixDlClose // sqlite3.c:42852:5: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 608)) = unixRandomness // sqlite3.c:42852:5: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 616)) = unixSleep // sqlite3.c:42852:5: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 624)) = unixCurrentTime // sqlite3.c:42852:5: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 632)) = unixGetLastError // sqlite3.c:42852:5: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 640)) = unixCurrentTimeInt64 // sqlite3.c:42852:5: + *(*func(*libc.TLS, uintptr, uintptr, Sqlite3_syscall_ptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 648)) = unixSetSystemCall // sqlite3.c:42852:5: + *(*func(*libc.TLS, uintptr, uintptr) Sqlite3_syscall_ptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 656)) = unixGetSystemCall // sqlite3.c:42852:5: + *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 664)) = unixNextSystemCall // sqlite3.c:42852:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 24)) = row_numberStepFunc // sqlite3.c:158853:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 32)) = row_numberValueFunc // sqlite3.c:158853:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 40)) = row_numberValueFunc // sqlite3.c:158853:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 48)) = noopStepFunc // sqlite3.c:158853:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 56 /* .zName */)) = uintptr(unsafe.Pointer(&row_numberName)) // sqlite3.c:158853:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 96)) = dense_rankStepFunc // sqlite3.c:158854:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 104)) = dense_rankValueFunc // sqlite3.c:158854:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 112)) = dense_rankValueFunc // sqlite3.c:158854:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 120)) = noopStepFunc // sqlite3.c:158854:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 128 /* .zName */)) = uintptr(unsafe.Pointer(&dense_rankName)) // sqlite3.c:158854:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 168)) = rankStepFunc // sqlite3.c:158855:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 176)) = rankValueFunc // sqlite3.c:158855:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 184)) = rankValueFunc // sqlite3.c:158855:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 192)) = noopStepFunc // sqlite3.c:158855:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 200 /* .zName */)) = uintptr(unsafe.Pointer(&rankName)) // sqlite3.c:158855:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 240)) = percent_rankStepFunc // sqlite3.c:158856:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 248)) = percent_rankValueFunc // sqlite3.c:158856:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 256)) = percent_rankValueFunc // sqlite3.c:158856:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 264)) = percent_rankInvFunc // sqlite3.c:158856:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 272 /* .zName */)) = uintptr(unsafe.Pointer(&percent_rankName)) // sqlite3.c:158856:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 312)) = cume_distStepFunc // sqlite3.c:158857:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 320)) = cume_distValueFunc // sqlite3.c:158857:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 328)) = cume_distValueFunc // sqlite3.c:158857:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 336)) = cume_distInvFunc // sqlite3.c:158857:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 344 /* .zName */)) = uintptr(unsafe.Pointer(&cume_distName)) // sqlite3.c:158857:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 384)) = ntileStepFunc // sqlite3.c:158858:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 392)) = ntileValueFunc // sqlite3.c:158858:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 400)) = ntileValueFunc // sqlite3.c:158858:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 408)) = ntileInvFunc // sqlite3.c:158858:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 416 /* .zName */)) = uintptr(unsafe.Pointer(&ntileName)) // sqlite3.c:158858:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 456)) = last_valueStepFunc // sqlite3.c:158859:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 464)) = last_valueFinalizeFunc // sqlite3.c:158859:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 472)) = last_valueValueFunc // sqlite3.c:158859:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 480)) = last_valueInvFunc // sqlite3.c:158859:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 488 /* .zName */)) = uintptr(unsafe.Pointer(&last_valueName)) // sqlite3.c:158859:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 528)) = nth_valueStepFunc // sqlite3.c:158860:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 536)) = nth_valueFinalizeFunc // sqlite3.c:158860:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 544)) = noopValueFunc // sqlite3.c:158860:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 552)) = noopStepFunc // sqlite3.c:158860:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 560 /* .zName */)) = uintptr(unsafe.Pointer(&nth_valueName)) // sqlite3.c:158860:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 600)) = first_valueStepFunc // sqlite3.c:158861:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 608)) = first_valueFinalizeFunc // sqlite3.c:158861:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 616)) = noopValueFunc // sqlite3.c:158861:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 624)) = noopStepFunc // sqlite3.c:158861:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 632 /* .zName */)) = uintptr(unsafe.Pointer(&first_valueName)) // sqlite3.c:158861:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 672)) = noopStepFunc // sqlite3.c:158862:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 680)) = noopValueFunc // sqlite3.c:158862:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 688)) = noopValueFunc // sqlite3.c:158862:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 696)) = noopStepFunc // sqlite3.c:158862:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 704 /* .zName */)) = uintptr(unsafe.Pointer(&leadName)) // sqlite3.c:158862:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 744)) = noopStepFunc // sqlite3.c:158863:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 752)) = noopValueFunc // sqlite3.c:158863:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 760)) = noopValueFunc // sqlite3.c:158863:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 768)) = noopStepFunc // sqlite3.c:158863:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 776 /* .zName */)) = uintptr(unsafe.Pointer(&leadName)) // sqlite3.c:158863:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 816)) = noopStepFunc // sqlite3.c:158864:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 824)) = noopValueFunc // sqlite3.c:158864:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 832)) = noopValueFunc // sqlite3.c:158864:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 840)) = noopStepFunc // sqlite3.c:158864:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 848 /* .zName */)) = uintptr(unsafe.Pointer(&leadName)) // sqlite3.c:158864:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 888)) = noopStepFunc // sqlite3.c:158865:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 896)) = noopValueFunc // sqlite3.c:158865:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 904)) = noopValueFunc // sqlite3.c:158865:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 912)) = noopStepFunc // sqlite3.c:158865:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 920 /* .zName */)) = uintptr(unsafe.Pointer(&lagName)) // sqlite3.c:158865:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 960)) = noopStepFunc // sqlite3.c:158866:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 968)) = noopValueFunc // sqlite3.c:158866:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 976)) = noopValueFunc // sqlite3.c:158866:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 984)) = noopStepFunc // sqlite3.c:158866:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 992 /* .zName */)) = uintptr(unsafe.Pointer(&lagName)) // sqlite3.c:158866:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 1032)) = noopStepFunc // sqlite3.c:158867:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 1040)) = noopValueFunc // sqlite3.c:158867:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 1048)) = noopValueFunc // sqlite3.c:158867:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 1056)) = noopStepFunc // sqlite3.c:158867:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 1064 /* .zName */)) = uintptr(unsafe.Pointer(&lagName)) // sqlite3.c:158867:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&attach_func)) + 24)) = attachFunc // sqlite3.c:113451:5: *(*func(*libc.TLS, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods)) + 0)) = sqlite3MemMalloc // sqlite3.c:25299:6: *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods)) + 8)) = sqlite3MemFree // sqlite3.c:25300:6: *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods)) + 16)) = sqlite3MemRealloc // sqlite3.c:25301:6: @@ -196232,243 +196263,243 @@ func init() { *(*func(*libc.TLS, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods)) + 32)) = sqlite3MemRoundup // sqlite3.c:25303:6: *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods)) + 40)) = sqlite3MemInit // sqlite3.c:25304:6: *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods)) + 48)) = sqlite3MemShutdown // sqlite3.c:25305:6: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods1)) + 16)) = pcache1Init // sqlite3.c:52453:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods1)) + 24)) = pcache1Shutdown // sqlite3.c:52454:5: - *(*func(*libc.TLS, int32, int32, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods1)) + 32)) = pcache1Create // sqlite3.c:52455:5: - *(*func(*libc.TLS, uintptr, int32))(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods1)) + 40)) = pcache1Cachesize // sqlite3.c:52456:5: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods1)) + 48)) = pcache1Pagecount // sqlite3.c:52457:5: - *(*func(*libc.TLS, uintptr, uint32, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods1)) + 56)) = pcache1Fetch // sqlite3.c:52458:5: - *(*func(*libc.TLS, uintptr, uintptr, int32))(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods1)) + 64)) = pcache1Unpin // sqlite3.c:52459:5: - *(*func(*libc.TLS, uintptr, uintptr, uint32, uint32))(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods1)) + 72)) = pcache1Rekey // sqlite3.c:52460:5: - *(*func(*libc.TLS, uintptr, uint32))(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods1)) + 80)) = pcache1Truncate // sqlite3.c:52461:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods1)) + 88)) = pcache1Destroy // sqlite3.c:52462:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods1)) + 96)) = pcache1Shrink // sqlite3.c:52463:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&detach_func)) + 24)) = detachFunc // sqlite3.c:113418:5: - *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoFinder)) + 0)) = dotlockIoFinderImpl // sqlite3.c:40202:1: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 8)) = dotlockClose // sqlite3.c:40202:1: - *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 16)) = unixRead // sqlite3.c:40202:1: - *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 24)) = unixWrite // sqlite3.c:40202:1: - *(*func(*libc.TLS, uintptr, I64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 32)) = unixTruncate // sqlite3.c:40202:1: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 40)) = unixSync // sqlite3.c:40202:1: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 48)) = unixFileSize // sqlite3.c:40202:1: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 56)) = dotlockLock // sqlite3.c:40202:1: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 64)) = dotlockUnlock // sqlite3.c:40202:1: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 72)) = dotlockCheckReservedLock // sqlite3.c:40202:1: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 80)) = unixFileControl // sqlite3.c:40202:1: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 88)) = unixSectorSize // sqlite3.c:40202:1: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 96)) = unixDeviceCharacteristics // sqlite3.c:40202:1: - *(*func(*libc.TLS, uintptr, int32, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 112)) = unixShmLock // sqlite3.c:40202:1: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 120)) = unixShmBarrier // sqlite3.c:40202:1: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 128)) = unixShmUnmap // sqlite3.c:40202:1: - *(*func(*libc.TLS, uintptr, I64, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 136)) = unixFetch // sqlite3.c:40202:1: - *(*func(*libc.TLS, uintptr, I64, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 144)) = unixUnfetch // sqlite3.c:40202:1: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 8)) = fts5CreateMethod // sqlite3.c:234400:25: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 16)) = fts5ConnectMethod // sqlite3.c:234401:25: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 24)) = fts5BestIndexMethod // sqlite3.c:234402:25: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 32)) = fts5DisconnectMethod // sqlite3.c:234403:25: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 40)) = fts5DestroyMethod // sqlite3.c:234404:25: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 48)) = fts5OpenMethod // sqlite3.c:234405:25: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 56)) = fts5CloseMethod // sqlite3.c:234406:25: - *(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 64)) = fts5FilterMethod // sqlite3.c:234407:25: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 72)) = fts5NextMethod // sqlite3.c:234408:25: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 80)) = fts5EofMethod // sqlite3.c:234409:25: - *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 88)) = fts5ColumnMethod // sqlite3.c:234410:25: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 96)) = fts5RowidMethod // sqlite3.c:234411:25: - *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 104)) = fts5UpdateMethod // sqlite3.c:234412:25: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 112)) = fts5BeginMethod // sqlite3.c:234413:25: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 120)) = fts5SyncMethod // sqlite3.c:234414:25: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 128)) = fts5CommitMethod // sqlite3.c:234415:25: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 136)) = fts5RollbackMethod // sqlite3.c:234416:25: - *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 144)) = fts5FindFunctionMethod // sqlite3.c:234417:25: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 152)) = fts5RenameMethod // sqlite3.c:234418:25: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 160)) = fts5SavepointMethod // sqlite3.c:234419:25: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 168)) = fts5ReleaseMethod // sqlite3.c:234420:25: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 176)) = fts5RollbackToMethod // sqlite3.c:234421:25: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 184)) = fts5ShadowName // sqlite3.c:234422:25: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 8)) = fts5VocabCreateMethod // sqlite3.c:238983:25: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 16)) = fts5VocabConnectMethod // sqlite3.c:238984:25: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 24)) = fts5VocabBestIndexMethod // sqlite3.c:238985:25: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 32)) = fts5VocabDisconnectMethod // sqlite3.c:238986:25: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 40)) = fts5VocabDestroyMethod // sqlite3.c:238987:25: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 48)) = fts5VocabOpenMethod // sqlite3.c:238988:25: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 56)) = fts5VocabCloseMethod // sqlite3.c:238989:25: - *(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 64)) = fts5VocabFilterMethod // sqlite3.c:238990:25: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 72)) = fts5VocabNextMethod // sqlite3.c:238991:25: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 80)) = fts5VocabEofMethod // sqlite3.c:238992:25: - *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 88)) = fts5VocabColumnMethod // sqlite3.c:238993:25: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 96)) = fts5VocabRowidMethod // sqlite3.c:238994:25: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 8)) = geopolyCreate // sqlite3.c:201934:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 16)) = geopolyConnect // sqlite3.c:201935:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 24)) = geopolyBestIndex // sqlite3.c:201936:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 32)) = rtreeDisconnect // sqlite3.c:201937:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 40)) = rtreeDestroy // sqlite3.c:201938:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 48)) = rtreeOpen // sqlite3.c:201939:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 56)) = rtreeClose // sqlite3.c:201940:3: - *(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 64)) = geopolyFilter // sqlite3.c:201941:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 72)) = rtreeNext // sqlite3.c:201942:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 80)) = rtreeEof // sqlite3.c:201943:3: - *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 88)) = geopolyColumn // sqlite3.c:201944:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 96)) = rtreeRowid // sqlite3.c:201945:3: - *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 104)) = geopolyUpdate // sqlite3.c:201946:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 112)) = rtreeBeginTransaction // sqlite3.c:201947:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 120)) = rtreeEndTransaction // sqlite3.c:201948:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 128)) = rtreeEndTransaction // sqlite3.c:201949:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 136)) = rtreeEndTransaction // sqlite3.c:201950:3: - *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 144)) = geopolyFindFunction // sqlite3.c:201951:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 152)) = rtreeRename // sqlite3.c:201952:3: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 160)) = rtreeSavepoint // sqlite3.c:201953:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 184)) = rtreeShadowName // sqlite3.c:201956:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonEachModule)) + 16)) = jsonEachConnect // sqlite3.c:195676:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonEachModule)) + 24)) = jsonEachBestIndex // sqlite3.c:195677:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonEachModule)) + 32)) = jsonEachDisconnect // sqlite3.c:195678:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonEachModule)) + 48)) = jsonEachOpenEach // sqlite3.c:195680:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonEachModule)) + 56)) = jsonEachClose // sqlite3.c:195681:3: - *(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonEachModule)) + 64)) = jsonEachFilter // sqlite3.c:195682:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonEachModule)) + 72)) = jsonEachNext // sqlite3.c:195683:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonEachModule)) + 80)) = jsonEachEof // sqlite3.c:195684:3: - *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonEachModule)) + 88)) = jsonEachColumn // sqlite3.c:195685:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonEachModule)) + 96)) = jsonEachRowid // sqlite3.c:195686:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonTreeModule)) + 16)) = jsonEachConnect // sqlite3.c:195704:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonTreeModule)) + 24)) = jsonEachBestIndex // sqlite3.c:195705:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonTreeModule)) + 32)) = jsonEachDisconnect // sqlite3.c:195706:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonTreeModule)) + 48)) = jsonEachOpenTree // sqlite3.c:195708:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonTreeModule)) + 56)) = jsonEachClose // sqlite3.c:195709:3: - *(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonTreeModule)) + 64)) = jsonEachFilter // sqlite3.c:195710:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonTreeModule)) + 72)) = jsonEachNext // sqlite3.c:195711:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonTreeModule)) + 80)) = jsonEachEof // sqlite3.c:195712:3: - *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonTreeModule)) + 88)) = jsonEachColumn // sqlite3.c:195713:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonTreeModule)) + 96)) = jsonEachRowid // sqlite3.c:195714:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 8)) = memdbClose // sqlite3.c:49233:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 16)) = memdbRead // sqlite3.c:49234:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 24)) = memdbWrite // sqlite3.c:49235:3: - *(*func(*libc.TLS, uintptr, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 32)) = memdbTruncate // sqlite3.c:49236:3: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 40)) = memdbSync // sqlite3.c:49237:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 48)) = memdbFileSize // sqlite3.c:49238:3: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 56)) = memdbLock // sqlite3.c:49239:3: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 64)) = memdbLock // sqlite3.c:49240:3: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 80)) = memdbFileControl // sqlite3.c:49242:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 96)) = memdbDeviceCharacteristics // sqlite3.c:49244:3: - *(*func(*libc.TLS, uintptr, Sqlite3_int64, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 136)) = memdbFetch // sqlite3.c:49249:3: - *(*func(*libc.TLS, uintptr, Sqlite3_int64, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 144)) = memdbUnfetch // sqlite3.c:49250:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_vfs)) + 40)) = memdbOpen // sqlite3.c:49213:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_vfs)) + 56)) = memdbAccess // sqlite3.c:49215:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_vfs)) + 64)) = memdbFullPathname // sqlite3.c:49216:3: - *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_vfs)) + 72)) = memdbDlOpen // sqlite3.c:49217:3: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_vfs)) + 80)) = memdbDlError // sqlite3.c:49218:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_vfs)) + 88)) = memdbDlSym // sqlite3.c:49219:3: - *(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_vfs)) + 96)) = memdbDlClose // sqlite3.c:49220:3: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_vfs)) + 104)) = memdbRandomness // sqlite3.c:49221:3: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_vfs)) + 112)) = memdbSleep // sqlite3.c:49222:3: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_vfs)) + 128)) = memdbGetLastError // sqlite3.c:49224:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_vfs)) + 136)) = memdbCurrentTimeInt64 // sqlite3.c:49225:3: - *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoFinder)) + 0)) = nolockIoFinderImpl // sqlite3.c:40192:1: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 8)) = nolockClose // sqlite3.c:40192:1: - *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 16)) = unixRead // sqlite3.c:40192:1: - *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 24)) = unixWrite // sqlite3.c:40192:1: - *(*func(*libc.TLS, uintptr, I64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 32)) = unixTruncate // sqlite3.c:40192:1: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 40)) = unixSync // sqlite3.c:40192:1: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 48)) = unixFileSize // sqlite3.c:40192:1: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 56)) = nolockLock // sqlite3.c:40192:1: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 64)) = nolockUnlock // sqlite3.c:40192:1: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 72)) = nolockCheckReservedLock // sqlite3.c:40192:1: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 80)) = unixFileControl // sqlite3.c:40192:1: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 88)) = unixSectorSize // sqlite3.c:40192:1: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 96)) = unixDeviceCharacteristics // sqlite3.c:40192:1: - *(*func(*libc.TLS, uintptr, int32, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 112)) = unixShmLock // sqlite3.c:40192:1: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 120)) = unixShmBarrier // sqlite3.c:40192:1: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 128)) = unixShmUnmap // sqlite3.c:40192:1: - *(*func(*libc.TLS, uintptr, I64, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 136)) = unixFetch // sqlite3.c:40192:1: - *(*func(*libc.TLS, uintptr, I64, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 144)) = unixUnfetch // sqlite3.c:40192:1: - *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoFinder)) + 0)) = posixIoFinderImpl // sqlite3.c:40182:1: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 8)) = unixClose // sqlite3.c:40182:1: - *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 16)) = unixRead // sqlite3.c:40182:1: - *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 24)) = unixWrite // sqlite3.c:40182:1: - *(*func(*libc.TLS, uintptr, I64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 32)) = unixTruncate // sqlite3.c:40182:1: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 40)) = unixSync // sqlite3.c:40182:1: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 48)) = unixFileSize // sqlite3.c:40182:1: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 56)) = unixLock // sqlite3.c:40182:1: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 64)) = unixUnlock // sqlite3.c:40182:1: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 72)) = unixCheckReservedLock // sqlite3.c:40182:1: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 80)) = unixFileControl // sqlite3.c:40182:1: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 88)) = unixSectorSize // sqlite3.c:40182:1: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 96)) = unixDeviceCharacteristics // sqlite3.c:40182:1: - *(*func(*libc.TLS, uintptr, int32, int32, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 104)) = unixShmMap // sqlite3.c:40182:1: - *(*func(*libc.TLS, uintptr, int32, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 112)) = unixShmLock // sqlite3.c:40182:1: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 120)) = unixShmBarrier // sqlite3.c:40182:1: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 128)) = unixShmUnmap // sqlite3.c:40182:1: - *(*func(*libc.TLS, uintptr, I64, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 136)) = unixFetch // sqlite3.c:40182:1: - *(*func(*libc.TLS, uintptr, I64, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 144)) = unixUnfetch // sqlite3.c:40182:1: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&pragmaVtabModule)) + 16)) = pragmaVtabConnect // sqlite3.c:133106:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&pragmaVtabModule)) + 24)) = pragmaVtabBestIndex // sqlite3.c:133107:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&pragmaVtabModule)) + 32)) = pragmaVtabDisconnect // sqlite3.c:133108:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&pragmaVtabModule)) + 48)) = pragmaVtabOpen // sqlite3.c:133110:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&pragmaVtabModule)) + 56)) = pragmaVtabClose // sqlite3.c:133111:3: - *(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&pragmaVtabModule)) + 64)) = pragmaVtabFilter // sqlite3.c:133112:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&pragmaVtabModule)) + 72)) = pragmaVtabNext // sqlite3.c:133113:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&pragmaVtabModule)) + 80)) = pragmaVtabEof // sqlite3.c:133114:3: - *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&pragmaVtabModule)) + 88)) = pragmaVtabColumn // sqlite3.c:133115:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&pragmaVtabModule)) + 96)) = pragmaVtabRowid // sqlite3.c:133116:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 8)) = rbuVfsClose // sqlite3.c:208631:5: - *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 16)) = rbuVfsRead // sqlite3.c:208632:5: - *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 24)) = rbuVfsWrite // sqlite3.c:208633:5: - *(*func(*libc.TLS, uintptr, Sqlite_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 32)) = rbuVfsTruncate // sqlite3.c:208634:5: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 40)) = rbuVfsSync // sqlite3.c:208635:5: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 48)) = rbuVfsFileSize // sqlite3.c:208636:5: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 56)) = rbuVfsLock // sqlite3.c:208637:5: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 64)) = rbuVfsUnlock // sqlite3.c:208638:5: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 72)) = rbuVfsCheckReservedLock // sqlite3.c:208639:5: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 80)) = rbuVfsFileControl // sqlite3.c:208640:5: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 88)) = rbuVfsSectorSize // sqlite3.c:208641:5: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 96)) = rbuVfsDeviceCharacteristics // sqlite3.c:208642:5: - *(*func(*libc.TLS, uintptr, int32, int32, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 104)) = rbuVfsShmMap // sqlite3.c:208643:5: - *(*func(*libc.TLS, uintptr, int32, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 112)) = rbuVfsShmLock // sqlite3.c:208644:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 120)) = rbuVfsShmBarrier // sqlite3.c:208645:5: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 128)) = rbuVfsShmUnmap // sqlite3.c:208646:5: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 8)) = rtreeCreate // sqlite3.c:199272:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 16)) = rtreeConnect // sqlite3.c:199273:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 24)) = rtreeBestIndex // sqlite3.c:199274:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 32)) = rtreeDisconnect // sqlite3.c:199275:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 40)) = rtreeDestroy // sqlite3.c:199276:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 48)) = rtreeOpen // sqlite3.c:199277:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 56)) = rtreeClose // sqlite3.c:199278:3: - *(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 64)) = rtreeFilter // sqlite3.c:199279:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 72)) = rtreeNext // sqlite3.c:199280:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 80)) = rtreeEof // sqlite3.c:199281:3: - *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 88)) = rtreeColumn // sqlite3.c:199282:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 96)) = rtreeRowid // sqlite3.c:199283:3: - *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 104)) = rtreeUpdate // sqlite3.c:199284:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 112)) = rtreeBeginTransaction // sqlite3.c:199285:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 120)) = rtreeEndTransaction // sqlite3.c:199286:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 128)) = rtreeEndTransaction // sqlite3.c:199287:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 136)) = rtreeEndTransaction // sqlite3.c:199288:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 152)) = rtreeRename // sqlite3.c:199290:3: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 160)) = rtreeSavepoint // sqlite3.c:199291:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 184)) = rtreeShadowName // sqlite3.c:199294:3: - *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 8)) = fts5ApiUserData // sqlite3.c:233859:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 16)) = fts5ApiColumnCount // sqlite3.c:233860:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 24)) = fts5ApiRowCount // sqlite3.c:233861:3: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 32)) = fts5ApiColumnTotalSize // sqlite3.c:233862:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 40)) = fts5ApiTokenize // sqlite3.c:233863:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 48)) = fts5ApiPhraseCount // sqlite3.c:233864:3: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 56)) = fts5ApiPhraseSize // sqlite3.c:233865:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 64)) = fts5ApiInstCount // sqlite3.c:233866:3: - *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 72)) = fts5ApiInst // sqlite3.c:233867:3: - *(*func(*libc.TLS, uintptr) Sqlite3_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 80)) = fts5ApiRowid // sqlite3.c:233868:3: - *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 88)) = fts5ApiColumnText // sqlite3.c:233869:3: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 96)) = fts5ApiColumnSize // sqlite3.c:233870:3: - *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 104)) = fts5ApiQueryPhrase // sqlite3.c:233871:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 112)) = fts5ApiSetAuxdata // sqlite3.c:233872:3: - *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 120)) = fts5ApiGetAuxdata // sqlite3.c:233873:3: - *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 128)) = fts5ApiPhraseFirst // sqlite3.c:233874:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 136)) = fts5ApiPhraseNext // sqlite3.c:233875:3: - *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 144)) = fts5ApiPhraseFirstColumn // sqlite3.c:233876:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 152)) = fts5ApiPhraseNextColumn // sqlite3.c:233877:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sMemJournalMethods)) + 8)) = memjrnlClose // sqlite3.c:100023:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sMemJournalMethods)) + 16)) = memjrnlRead // sqlite3.c:100024:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sMemJournalMethods)) + 24)) = memjrnlWrite // sqlite3.c:100025:3: - *(*func(*libc.TLS, uintptr, Sqlite_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sMemJournalMethods)) + 32)) = memjrnlTruncate // sqlite3.c:100026:3: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sMemJournalMethods)) + 40)) = memjrnlSync // sqlite3.c:100027:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sMemJournalMethods)) + 48)) = memjrnlFileSize // sqlite3.c:100028:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods1)) + 16)) = pcache1Init // sqlite3.c:52463:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods1)) + 24)) = pcache1Shutdown // sqlite3.c:52464:5: + *(*func(*libc.TLS, int32, int32, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods1)) + 32)) = pcache1Create // sqlite3.c:52465:5: + *(*func(*libc.TLS, uintptr, int32))(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods1)) + 40)) = pcache1Cachesize // sqlite3.c:52466:5: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods1)) + 48)) = pcache1Pagecount // sqlite3.c:52467:5: + *(*func(*libc.TLS, uintptr, uint32, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods1)) + 56)) = pcache1Fetch // sqlite3.c:52468:5: + *(*func(*libc.TLS, uintptr, uintptr, int32))(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods1)) + 64)) = pcache1Unpin // sqlite3.c:52469:5: + *(*func(*libc.TLS, uintptr, uintptr, uint32, uint32))(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods1)) + 72)) = pcache1Rekey // sqlite3.c:52470:5: + *(*func(*libc.TLS, uintptr, uint32))(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods1)) + 80)) = pcache1Truncate // sqlite3.c:52471:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods1)) + 88)) = pcache1Destroy // sqlite3.c:52472:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods1)) + 96)) = pcache1Shrink // sqlite3.c:52473:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&detach_func)) + 24)) = detachFunc // sqlite3.c:113431:5: + *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoFinder)) + 0)) = dotlockIoFinderImpl // sqlite3.c:40208:1: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 8)) = dotlockClose // sqlite3.c:40208:1: + *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 16)) = unixRead // sqlite3.c:40208:1: + *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 24)) = unixWrite // sqlite3.c:40208:1: + *(*func(*libc.TLS, uintptr, I64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 32)) = unixTruncate // sqlite3.c:40208:1: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 40)) = unixSync // sqlite3.c:40208:1: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 48)) = unixFileSize // sqlite3.c:40208:1: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 56)) = dotlockLock // sqlite3.c:40208:1: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 64)) = dotlockUnlock // sqlite3.c:40208:1: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 72)) = dotlockCheckReservedLock // sqlite3.c:40208:1: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 80)) = unixFileControl // sqlite3.c:40208:1: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 88)) = unixSectorSize // sqlite3.c:40208:1: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 96)) = unixDeviceCharacteristics // sqlite3.c:40208:1: + *(*func(*libc.TLS, uintptr, int32, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 112)) = unixShmLock // sqlite3.c:40208:1: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 120)) = unixShmBarrier // sqlite3.c:40208:1: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 128)) = unixShmUnmap // sqlite3.c:40208:1: + *(*func(*libc.TLS, uintptr, I64, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 136)) = unixFetch // sqlite3.c:40208:1: + *(*func(*libc.TLS, uintptr, I64, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 144)) = unixUnfetch // sqlite3.c:40208:1: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 8)) = fts5CreateMethod // sqlite3.c:234457:25: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 16)) = fts5ConnectMethod // sqlite3.c:234458:25: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 24)) = fts5BestIndexMethod // sqlite3.c:234459:25: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 32)) = fts5DisconnectMethod // sqlite3.c:234460:25: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 40)) = fts5DestroyMethod // sqlite3.c:234461:25: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 48)) = fts5OpenMethod // sqlite3.c:234462:25: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 56)) = fts5CloseMethod // sqlite3.c:234463:25: + *(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 64)) = fts5FilterMethod // sqlite3.c:234464:25: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 72)) = fts5NextMethod // sqlite3.c:234465:25: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 80)) = fts5EofMethod // sqlite3.c:234466:25: + *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 88)) = fts5ColumnMethod // sqlite3.c:234467:25: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 96)) = fts5RowidMethod // sqlite3.c:234468:25: + *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 104)) = fts5UpdateMethod // sqlite3.c:234469:25: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 112)) = fts5BeginMethod // sqlite3.c:234470:25: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 120)) = fts5SyncMethod // sqlite3.c:234471:25: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 128)) = fts5CommitMethod // sqlite3.c:234472:25: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 136)) = fts5RollbackMethod // sqlite3.c:234473:25: + *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 144)) = fts5FindFunctionMethod // sqlite3.c:234474:25: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 152)) = fts5RenameMethod // sqlite3.c:234475:25: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 160)) = fts5SavepointMethod // sqlite3.c:234476:25: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 168)) = fts5ReleaseMethod // sqlite3.c:234477:25: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 176)) = fts5RollbackToMethod // sqlite3.c:234478:25: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 184)) = fts5ShadowName // sqlite3.c:234479:25: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 8)) = fts5VocabCreateMethod // sqlite3.c:239040:25: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 16)) = fts5VocabConnectMethod // sqlite3.c:239041:25: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 24)) = fts5VocabBestIndexMethod // sqlite3.c:239042:25: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 32)) = fts5VocabDisconnectMethod // sqlite3.c:239043:25: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 40)) = fts5VocabDestroyMethod // sqlite3.c:239044:25: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 48)) = fts5VocabOpenMethod // sqlite3.c:239045:25: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 56)) = fts5VocabCloseMethod // sqlite3.c:239046:25: + *(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 64)) = fts5VocabFilterMethod // sqlite3.c:239047:25: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 72)) = fts5VocabNextMethod // sqlite3.c:239048:25: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 80)) = fts5VocabEofMethod // sqlite3.c:239049:25: + *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 88)) = fts5VocabColumnMethod // sqlite3.c:239050:25: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 96)) = fts5VocabRowidMethod // sqlite3.c:239051:25: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 8)) = geopolyCreate // sqlite3.c:201991:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 16)) = geopolyConnect // sqlite3.c:201992:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 24)) = geopolyBestIndex // sqlite3.c:201993:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 32)) = rtreeDisconnect // sqlite3.c:201994:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 40)) = rtreeDestroy // sqlite3.c:201995:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 48)) = rtreeOpen // sqlite3.c:201996:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 56)) = rtreeClose // sqlite3.c:201997:3: + *(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 64)) = geopolyFilter // sqlite3.c:201998:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 72)) = rtreeNext // sqlite3.c:201999:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 80)) = rtreeEof // sqlite3.c:202000:3: + *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 88)) = geopolyColumn // sqlite3.c:202001:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 96)) = rtreeRowid // sqlite3.c:202002:3: + *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 104)) = geopolyUpdate // sqlite3.c:202003:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 112)) = rtreeBeginTransaction // sqlite3.c:202004:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 120)) = rtreeEndTransaction // sqlite3.c:202005:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 128)) = rtreeEndTransaction // sqlite3.c:202006:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 136)) = rtreeEndTransaction // sqlite3.c:202007:3: + *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 144)) = geopolyFindFunction // sqlite3.c:202008:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 152)) = rtreeRename // sqlite3.c:202009:3: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 160)) = rtreeSavepoint // sqlite3.c:202010:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 184)) = rtreeShadowName // sqlite3.c:202013:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonEachModule)) + 16)) = jsonEachConnect // sqlite3.c:195733:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonEachModule)) + 24)) = jsonEachBestIndex // sqlite3.c:195734:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonEachModule)) + 32)) = jsonEachDisconnect // sqlite3.c:195735:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonEachModule)) + 48)) = jsonEachOpenEach // sqlite3.c:195737:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonEachModule)) + 56)) = jsonEachClose // sqlite3.c:195738:3: + *(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonEachModule)) + 64)) = jsonEachFilter // sqlite3.c:195739:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonEachModule)) + 72)) = jsonEachNext // sqlite3.c:195740:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonEachModule)) + 80)) = jsonEachEof // sqlite3.c:195741:3: + *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonEachModule)) + 88)) = jsonEachColumn // sqlite3.c:195742:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonEachModule)) + 96)) = jsonEachRowid // sqlite3.c:195743:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonTreeModule)) + 16)) = jsonEachConnect // sqlite3.c:195761:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonTreeModule)) + 24)) = jsonEachBestIndex // sqlite3.c:195762:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonTreeModule)) + 32)) = jsonEachDisconnect // sqlite3.c:195763:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonTreeModule)) + 48)) = jsonEachOpenTree // sqlite3.c:195765:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonTreeModule)) + 56)) = jsonEachClose // sqlite3.c:195766:3: + *(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonTreeModule)) + 64)) = jsonEachFilter // sqlite3.c:195767:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonTreeModule)) + 72)) = jsonEachNext // sqlite3.c:195768:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonTreeModule)) + 80)) = jsonEachEof // sqlite3.c:195769:3: + *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonTreeModule)) + 88)) = jsonEachColumn // sqlite3.c:195770:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonTreeModule)) + 96)) = jsonEachRowid // sqlite3.c:195771:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 8)) = memdbClose // sqlite3.c:49243:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 16)) = memdbRead // sqlite3.c:49244:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 24)) = memdbWrite // sqlite3.c:49245:3: + *(*func(*libc.TLS, uintptr, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 32)) = memdbTruncate // sqlite3.c:49246:3: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 40)) = memdbSync // sqlite3.c:49247:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 48)) = memdbFileSize // sqlite3.c:49248:3: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 56)) = memdbLock // sqlite3.c:49249:3: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 64)) = memdbLock // sqlite3.c:49250:3: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 80)) = memdbFileControl // sqlite3.c:49252:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 96)) = memdbDeviceCharacteristics // sqlite3.c:49254:3: + *(*func(*libc.TLS, uintptr, Sqlite3_int64, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 136)) = memdbFetch // sqlite3.c:49259:3: + *(*func(*libc.TLS, uintptr, Sqlite3_int64, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 144)) = memdbUnfetch // sqlite3.c:49260:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_vfs)) + 40)) = memdbOpen // sqlite3.c:49223:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_vfs)) + 56)) = memdbAccess // sqlite3.c:49225:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_vfs)) + 64)) = memdbFullPathname // sqlite3.c:49226:3: + *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_vfs)) + 72)) = memdbDlOpen // sqlite3.c:49227:3: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_vfs)) + 80)) = memdbDlError // sqlite3.c:49228:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_vfs)) + 88)) = memdbDlSym // sqlite3.c:49229:3: + *(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_vfs)) + 96)) = memdbDlClose // sqlite3.c:49230:3: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_vfs)) + 104)) = memdbRandomness // sqlite3.c:49231:3: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_vfs)) + 112)) = memdbSleep // sqlite3.c:49232:3: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_vfs)) + 128)) = memdbGetLastError // sqlite3.c:49234:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_vfs)) + 136)) = memdbCurrentTimeInt64 // sqlite3.c:49235:3: + *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoFinder)) + 0)) = nolockIoFinderImpl // sqlite3.c:40198:1: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 8)) = nolockClose // sqlite3.c:40198:1: + *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 16)) = unixRead // sqlite3.c:40198:1: + *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 24)) = unixWrite // sqlite3.c:40198:1: + *(*func(*libc.TLS, uintptr, I64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 32)) = unixTruncate // sqlite3.c:40198:1: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 40)) = unixSync // sqlite3.c:40198:1: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 48)) = unixFileSize // sqlite3.c:40198:1: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 56)) = nolockLock // sqlite3.c:40198:1: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 64)) = nolockUnlock // sqlite3.c:40198:1: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 72)) = nolockCheckReservedLock // sqlite3.c:40198:1: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 80)) = unixFileControl // sqlite3.c:40198:1: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 88)) = unixSectorSize // sqlite3.c:40198:1: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 96)) = unixDeviceCharacteristics // sqlite3.c:40198:1: + *(*func(*libc.TLS, uintptr, int32, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 112)) = unixShmLock // sqlite3.c:40198:1: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 120)) = unixShmBarrier // sqlite3.c:40198:1: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 128)) = unixShmUnmap // sqlite3.c:40198:1: + *(*func(*libc.TLS, uintptr, I64, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 136)) = unixFetch // sqlite3.c:40198:1: + *(*func(*libc.TLS, uintptr, I64, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 144)) = unixUnfetch // sqlite3.c:40198:1: + *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoFinder)) + 0)) = posixIoFinderImpl // sqlite3.c:40188:1: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 8)) = unixClose // sqlite3.c:40188:1: + *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 16)) = unixRead // sqlite3.c:40188:1: + *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 24)) = unixWrite // sqlite3.c:40188:1: + *(*func(*libc.TLS, uintptr, I64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 32)) = unixTruncate // sqlite3.c:40188:1: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 40)) = unixSync // sqlite3.c:40188:1: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 48)) = unixFileSize // sqlite3.c:40188:1: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 56)) = unixLock // sqlite3.c:40188:1: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 64)) = unixUnlock // sqlite3.c:40188:1: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 72)) = unixCheckReservedLock // sqlite3.c:40188:1: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 80)) = unixFileControl // sqlite3.c:40188:1: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 88)) = unixSectorSize // sqlite3.c:40188:1: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 96)) = unixDeviceCharacteristics // sqlite3.c:40188:1: + *(*func(*libc.TLS, uintptr, int32, int32, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 104)) = unixShmMap // sqlite3.c:40188:1: + *(*func(*libc.TLS, uintptr, int32, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 112)) = unixShmLock // sqlite3.c:40188:1: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 120)) = unixShmBarrier // sqlite3.c:40188:1: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 128)) = unixShmUnmap // sqlite3.c:40188:1: + *(*func(*libc.TLS, uintptr, I64, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 136)) = unixFetch // sqlite3.c:40188:1: + *(*func(*libc.TLS, uintptr, I64, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 144)) = unixUnfetch // sqlite3.c:40188:1: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&pragmaVtabModule)) + 16)) = pragmaVtabConnect // sqlite3.c:133119:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&pragmaVtabModule)) + 24)) = pragmaVtabBestIndex // sqlite3.c:133120:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&pragmaVtabModule)) + 32)) = pragmaVtabDisconnect // sqlite3.c:133121:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&pragmaVtabModule)) + 48)) = pragmaVtabOpen // sqlite3.c:133123:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&pragmaVtabModule)) + 56)) = pragmaVtabClose // sqlite3.c:133124:3: + *(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&pragmaVtabModule)) + 64)) = pragmaVtabFilter // sqlite3.c:133125:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&pragmaVtabModule)) + 72)) = pragmaVtabNext // sqlite3.c:133126:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&pragmaVtabModule)) + 80)) = pragmaVtabEof // sqlite3.c:133127:3: + *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&pragmaVtabModule)) + 88)) = pragmaVtabColumn // sqlite3.c:133128:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&pragmaVtabModule)) + 96)) = pragmaVtabRowid // sqlite3.c:133129:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 8)) = rbuVfsClose // sqlite3.c:208688:5: + *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 16)) = rbuVfsRead // sqlite3.c:208689:5: + *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 24)) = rbuVfsWrite // sqlite3.c:208690:5: + *(*func(*libc.TLS, uintptr, Sqlite_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 32)) = rbuVfsTruncate // sqlite3.c:208691:5: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 40)) = rbuVfsSync // sqlite3.c:208692:5: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 48)) = rbuVfsFileSize // sqlite3.c:208693:5: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 56)) = rbuVfsLock // sqlite3.c:208694:5: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 64)) = rbuVfsUnlock // sqlite3.c:208695:5: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 72)) = rbuVfsCheckReservedLock // sqlite3.c:208696:5: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 80)) = rbuVfsFileControl // sqlite3.c:208697:5: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 88)) = rbuVfsSectorSize // sqlite3.c:208698:5: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 96)) = rbuVfsDeviceCharacteristics // sqlite3.c:208699:5: + *(*func(*libc.TLS, uintptr, int32, int32, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 104)) = rbuVfsShmMap // sqlite3.c:208700:5: + *(*func(*libc.TLS, uintptr, int32, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 112)) = rbuVfsShmLock // sqlite3.c:208701:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 120)) = rbuVfsShmBarrier // sqlite3.c:208702:5: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 128)) = rbuVfsShmUnmap // sqlite3.c:208703:5: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 8)) = rtreeCreate // sqlite3.c:199329:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 16)) = rtreeConnect // sqlite3.c:199330:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 24)) = rtreeBestIndex // sqlite3.c:199331:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 32)) = rtreeDisconnect // sqlite3.c:199332:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 40)) = rtreeDestroy // sqlite3.c:199333:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 48)) = rtreeOpen // sqlite3.c:199334:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 56)) = rtreeClose // sqlite3.c:199335:3: + *(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 64)) = rtreeFilter // sqlite3.c:199336:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 72)) = rtreeNext // sqlite3.c:199337:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 80)) = rtreeEof // sqlite3.c:199338:3: + *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 88)) = rtreeColumn // sqlite3.c:199339:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 96)) = rtreeRowid // sqlite3.c:199340:3: + *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 104)) = rtreeUpdate // sqlite3.c:199341:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 112)) = rtreeBeginTransaction // sqlite3.c:199342:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 120)) = rtreeEndTransaction // sqlite3.c:199343:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 128)) = rtreeEndTransaction // sqlite3.c:199344:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 136)) = rtreeEndTransaction // sqlite3.c:199345:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 152)) = rtreeRename // sqlite3.c:199347:3: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 160)) = rtreeSavepoint // sqlite3.c:199348:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 184)) = rtreeShadowName // sqlite3.c:199351:3: + *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 8)) = fts5ApiUserData // sqlite3.c:233916:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 16)) = fts5ApiColumnCount // sqlite3.c:233917:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 24)) = fts5ApiRowCount // sqlite3.c:233918:3: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 32)) = fts5ApiColumnTotalSize // sqlite3.c:233919:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 40)) = fts5ApiTokenize // sqlite3.c:233920:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 48)) = fts5ApiPhraseCount // sqlite3.c:233921:3: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 56)) = fts5ApiPhraseSize // sqlite3.c:233922:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 64)) = fts5ApiInstCount // sqlite3.c:233923:3: + *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 72)) = fts5ApiInst // sqlite3.c:233924:3: + *(*func(*libc.TLS, uintptr) Sqlite3_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 80)) = fts5ApiRowid // sqlite3.c:233925:3: + *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 88)) = fts5ApiColumnText // sqlite3.c:233926:3: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 96)) = fts5ApiColumnSize // sqlite3.c:233927:3: + *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 104)) = fts5ApiQueryPhrase // sqlite3.c:233928:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 112)) = fts5ApiSetAuxdata // sqlite3.c:233929:3: + *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 120)) = fts5ApiGetAuxdata // sqlite3.c:233930:3: + *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 128)) = fts5ApiPhraseFirst // sqlite3.c:233931:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 136)) = fts5ApiPhraseNext // sqlite3.c:233932:3: + *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 144)) = fts5ApiPhraseFirstColumn // sqlite3.c:233933:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 152)) = fts5ApiPhraseNextColumn // sqlite3.c:233934:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sMemJournalMethods)) + 8)) = memjrnlClose // sqlite3.c:100036:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sMemJournalMethods)) + 16)) = memjrnlRead // sqlite3.c:100037:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sMemJournalMethods)) + 24)) = memjrnlWrite // sqlite3.c:100038:3: + *(*func(*libc.TLS, uintptr, Sqlite_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sMemJournalMethods)) + 32)) = memjrnlTruncate // sqlite3.c:100039:3: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sMemJournalMethods)) + 40)) = memjrnlSync // sqlite3.c:100040:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sMemJournalMethods)) + 48)) = memjrnlFileSize // sqlite3.c:100041:3: *(*func(*libc.TLS) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sMutex)) + 0)) = noopMutexInit // sqlite3.c:27532:5: *(*func(*libc.TLS) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sMutex)) + 8)) = noopMutexEnd // sqlite3.c:27533:5: *(*func(*libc.TLS, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sMutex)) + 16)) = noopMutexAlloc // sqlite3.c:27534:5: @@ -196476,288 +196507,288 @@ func init() { *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sMutex)) + 32)) = noopMutexEnter // sqlite3.c:27536:5: *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sMutex)) + 40)) = noopMutexTry // sqlite3.c:27537:5: *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sMutex)) + 48)) = noopMutexLeave // sqlite3.c:27538:5: - *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 0)) = Xsqlite3_aggregate_context // sqlite3.c:129019:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 8)) = Xsqlite3_aggregate_count // sqlite3.c:129021:3: - *(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 16)) = Xsqlite3_bind_blob // sqlite3.c:129025:3: - *(*func(*libc.TLS, uintptr, int32, float64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 24)) = Xsqlite3_bind_double // sqlite3.c:129026:3: - *(*func(*libc.TLS, uintptr, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 32)) = Xsqlite3_bind_int // sqlite3.c:129027:3: - *(*func(*libc.TLS, uintptr, int32, Sqlite_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 40)) = Xsqlite3_bind_int64 // sqlite3.c:129028:3: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 48)) = Xsqlite3_bind_null // sqlite3.c:129029:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 56)) = Xsqlite3_bind_parameter_count // sqlite3.c:129030:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 64)) = Xsqlite3_bind_parameter_index // sqlite3.c:129031:3: - *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 72)) = Xsqlite3_bind_parameter_name // sqlite3.c:129032:3: - *(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 80)) = Xsqlite3_bind_text // sqlite3.c:129033:3: - *(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 88)) = Xsqlite3_bind_text16 // sqlite3.c:129034:3: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 96)) = Xsqlite3_bind_value // sqlite3.c:129035:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 104)) = Xsqlite3_busy_handler // sqlite3.c:129036:3: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 112)) = Xsqlite3_busy_timeout // sqlite3.c:129037:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 120)) = Xsqlite3_changes // sqlite3.c:129038:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 128)) = Xsqlite3_close // sqlite3.c:129039:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 136)) = Xsqlite3_collation_needed // sqlite3.c:129040:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 144)) = Xsqlite3_collation_needed16 // sqlite3.c:129041:3: - *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 152)) = Xsqlite3_column_blob // sqlite3.c:129042:3: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 160)) = Xsqlite3_column_bytes // sqlite3.c:129043:3: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 168)) = Xsqlite3_column_bytes16 // sqlite3.c:129044:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 176)) = Xsqlite3_column_count // sqlite3.c:129045:3: - *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 184)) = Xsqlite3_column_database_name // sqlite3.c:129046:3: - *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 192)) = Xsqlite3_column_database_name16 // sqlite3.c:129047:3: - *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 200)) = Xsqlite3_column_decltype // sqlite3.c:129048:3: - *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 208)) = Xsqlite3_column_decltype16 // sqlite3.c:129049:3: - *(*func(*libc.TLS, uintptr, int32) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 216)) = Xsqlite3_column_double // sqlite3.c:129050:3: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 224)) = Xsqlite3_column_int // sqlite3.c:129051:3: - *(*func(*libc.TLS, uintptr, int32) Sqlite_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 232)) = Xsqlite3_column_int64 // sqlite3.c:129052:3: - *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 240)) = Xsqlite3_column_name // sqlite3.c:129053:3: - *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 248)) = Xsqlite3_column_name16 // sqlite3.c:129054:3: - *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 256)) = Xsqlite3_column_origin_name // sqlite3.c:129055:3: - *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 264)) = Xsqlite3_column_origin_name16 // sqlite3.c:129056:3: - *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 272)) = Xsqlite3_column_table_name // sqlite3.c:129057:3: - *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 280)) = Xsqlite3_column_table_name16 // sqlite3.c:129058:3: - *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 288)) = Xsqlite3_column_text // sqlite3.c:129059:3: - *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 296)) = Xsqlite3_column_text16 // sqlite3.c:129060:3: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 304)) = Xsqlite3_column_type // sqlite3.c:129061:3: - *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 312)) = Xsqlite3_column_value // sqlite3.c:129062:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 320)) = Xsqlite3_commit_hook // sqlite3.c:129063:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 328)) = Xsqlite3_complete // sqlite3.c:129064:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 336)) = Xsqlite3_complete16 // sqlite3.c:129065:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 344)) = Xsqlite3_create_collation // sqlite3.c:129066:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 352)) = Xsqlite3_create_collation16 // sqlite3.c:129067:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, int32, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 360)) = Xsqlite3_create_function // sqlite3.c:129068:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, int32, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 368)) = Xsqlite3_create_function16 // sqlite3.c:129069:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 376)) = Xsqlite3_create_module // sqlite3.c:129070:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 384)) = Xsqlite3_data_count // sqlite3.c:129071:3: - *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 392)) = Xsqlite3_db_handle // sqlite3.c:129072:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 400)) = Xsqlite3_declare_vtab // sqlite3.c:129073:3: - *(*func(*libc.TLS, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 408)) = Xsqlite3_enable_shared_cache // sqlite3.c:129074:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 416)) = Xsqlite3_errcode // sqlite3.c:129075:3: - *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 424)) = Xsqlite3_errmsg // sqlite3.c:129076:3: - *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 432)) = Xsqlite3_errmsg16 // sqlite3.c:129077:3: - *(*func(*libc.TLS, uintptr, uintptr, Sqlite3_callback, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 440)) = Xsqlite3_exec // sqlite3.c:129078:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 448)) = Xsqlite3_expired // sqlite3.c:129080:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 456)) = Xsqlite3_finalize // sqlite3.c:129084:3: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 464)) = Xsqlite3_free // sqlite3.c:129085:3: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 472)) = Xsqlite3_free_table // sqlite3.c:129086:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 480)) = Xsqlite3_get_autocommit // sqlite3.c:129087:3: - *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 488)) = Xsqlite3_get_auxdata // sqlite3.c:129088:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 496)) = Xsqlite3_get_table // sqlite3.c:129089:3: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 512)) = Xsqlite3_interrupt // sqlite3.c:129091:3: - *(*func(*libc.TLS, uintptr) Sqlite3_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 520)) = Xsqlite3_last_insert_rowid // sqlite3.c:129092:3: - *(*func(*libc.TLS) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 528)) = Xsqlite3_libversion // sqlite3.c:129093:3: - *(*func(*libc.TLS) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 536)) = Xsqlite3_libversion_number // sqlite3.c:129094:3: - *(*func(*libc.TLS, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 544)) = Xsqlite3_malloc // sqlite3.c:129095:3: - *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 552)) = Xsqlite3_mprintf // sqlite3.c:129096:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 560)) = Xsqlite3_open // sqlite3.c:129097:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 568)) = Xsqlite3_open16 // sqlite3.c:129098:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 576)) = Xsqlite3_prepare // sqlite3.c:129099:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 584)) = Xsqlite3_prepare16 // sqlite3.c:129100:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 592)) = Xsqlite3_profile // sqlite3.c:129101:3: - *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 600)) = Xsqlite3_progress_handler // sqlite3.c:129102:3: - *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 608)) = Xsqlite3_realloc // sqlite3.c:129103:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 616)) = Xsqlite3_reset // sqlite3.c:129104:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 624)) = Xsqlite3_result_blob // sqlite3.c:129105:3: - *(*func(*libc.TLS, uintptr, float64))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 632)) = Xsqlite3_result_double // sqlite3.c:129106:3: - *(*func(*libc.TLS, uintptr, uintptr, int32))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 640)) = Xsqlite3_result_error // sqlite3.c:129107:3: - *(*func(*libc.TLS, uintptr, uintptr, int32))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 648)) = Xsqlite3_result_error16 // sqlite3.c:129108:3: - *(*func(*libc.TLS, uintptr, int32))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 656)) = Xsqlite3_result_int // sqlite3.c:129109:3: - *(*func(*libc.TLS, uintptr, I64))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 664)) = Xsqlite3_result_int64 // sqlite3.c:129110:3: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 672)) = Xsqlite3_result_null // sqlite3.c:129111:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 680)) = Xsqlite3_result_text // sqlite3.c:129112:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 688)) = Xsqlite3_result_text16 // sqlite3.c:129113:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 696)) = Xsqlite3_result_text16be // sqlite3.c:129114:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 704)) = Xsqlite3_result_text16le // sqlite3.c:129115:3: - *(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 712)) = Xsqlite3_result_value // sqlite3.c:129116:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 720)) = Xsqlite3_rollback_hook // sqlite3.c:129117:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 728)) = Xsqlite3_set_authorizer // sqlite3.c:129118:3: - *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 736)) = Xsqlite3_set_auxdata // sqlite3.c:129119:3: - *(*func(*libc.TLS, int32, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 744)) = Xsqlite3_snprintf // sqlite3.c:129120:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 752)) = Xsqlite3_step // sqlite3.c:129121:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr, uintptr, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 760)) = Xsqlite3_table_column_metadata // sqlite3.c:129122:3: - *(*func(*libc.TLS))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 768)) = Xsqlite3_thread_cleanup // sqlite3.c:129124:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 776)) = Xsqlite3_total_changes // sqlite3.c:129128:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 784)) = Xsqlite3_trace // sqlite3.c:129129:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 792)) = Xsqlite3_transfer_bindings // sqlite3.c:129131:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 800)) = Xsqlite3_update_hook // sqlite3.c:129135:3: - *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 808)) = Xsqlite3_user_data // sqlite3.c:129136:3: - *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 816)) = Xsqlite3_value_blob // sqlite3.c:129137:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 824)) = Xsqlite3_value_bytes // sqlite3.c:129138:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 832)) = Xsqlite3_value_bytes16 // sqlite3.c:129139:3: - *(*func(*libc.TLS, uintptr) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 840)) = Xsqlite3_value_double // sqlite3.c:129140:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 848)) = Xsqlite3_value_int // sqlite3.c:129141:3: - *(*func(*libc.TLS, uintptr) Sqlite_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 856)) = Xsqlite3_value_int64 // sqlite3.c:129142:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 864)) = Xsqlite3_value_numeric_type // sqlite3.c:129143:3: - *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 872)) = Xsqlite3_value_text // sqlite3.c:129144:3: - *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 880)) = Xsqlite3_value_text16 // sqlite3.c:129145:3: - *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 888)) = Xsqlite3_value_text16be // sqlite3.c:129146:3: - *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 896)) = Xsqlite3_value_text16le // sqlite3.c:129147:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 904)) = Xsqlite3_value_type // sqlite3.c:129148:3: - *(*func(*libc.TLS, uintptr, Va_list) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 912)) = Xsqlite3_vmprintf // sqlite3.c:129149:3: - *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 920)) = Xsqlite3_overload_function // sqlite3.c:129158:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 928)) = Xsqlite3_prepare_v2 // sqlite3.c:129163:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 936)) = Xsqlite3_prepare16_v2 // sqlite3.c:129164:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 944)) = Xsqlite3_clear_bindings // sqlite3.c:129165:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 952)) = Xsqlite3_create_module_v2 // sqlite3.c:129170:3: - *(*func(*libc.TLS, uintptr, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 960)) = Xsqlite3_bind_zeroblob // sqlite3.c:129175:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 968)) = Xsqlite3_blob_bytes // sqlite3.c:129176:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 976)) = Xsqlite3_blob_close // sqlite3.c:129177:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr, Sqlite_int64, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 984)) = Xsqlite3_blob_open // sqlite3.c:129178:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 992)) = Xsqlite3_blob_read // sqlite3.c:129179:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1000)) = Xsqlite3_blob_write // sqlite3.c:129180:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1008)) = Xsqlite3_create_collation_v2 // sqlite3.c:129181:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1016)) = Xsqlite3_file_control // sqlite3.c:129182:3: - *(*func(*libc.TLS, int32) Sqlite3_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1024)) = Xsqlite3_memory_highwater // sqlite3.c:129183:3: - *(*func(*libc.TLS) Sqlite3_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1032)) = Xsqlite3_memory_used // sqlite3.c:129184:3: - *(*func(*libc.TLS, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1040)) = Xsqlite3_mutex_alloc // sqlite3.c:129192:3: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1048)) = Xsqlite3_mutex_enter // sqlite3.c:129193:3: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1056)) = Xsqlite3_mutex_free // sqlite3.c:129194:3: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1064)) = Xsqlite3_mutex_leave // sqlite3.c:129195:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1072)) = Xsqlite3_mutex_try // sqlite3.c:129196:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1080)) = Xsqlite3_open_v2 // sqlite3.c:129198:3: - *(*func(*libc.TLS, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1088)) = Xsqlite3_release_memory // sqlite3.c:129199:3: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1096)) = Xsqlite3_result_error_nomem // sqlite3.c:129200:3: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1104)) = Xsqlite3_result_error_toobig // sqlite3.c:129201:3: - *(*func(*libc.TLS, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1112)) = Xsqlite3_sleep // sqlite3.c:129202:3: - *(*func(*libc.TLS, int32))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1120)) = Xsqlite3_soft_heap_limit // sqlite3.c:129203:3: - *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1128)) = Xsqlite3_vfs_find // sqlite3.c:129204:3: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1136)) = Xsqlite3_vfs_register // sqlite3.c:129205:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1144)) = Xsqlite3_vfs_unregister // sqlite3.c:129206:3: - *(*func(*libc.TLS) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1152)) = Xsqlite3_threadsafe // sqlite3.c:129211:3: - *(*func(*libc.TLS, uintptr, int32))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1160)) = Xsqlite3_result_zeroblob // sqlite3.c:129212:3: - *(*func(*libc.TLS, uintptr, int32))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1168)) = Xsqlite3_result_error_code // sqlite3.c:129213:3: - *(*func(*libc.TLS, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1176)) = Xsqlite3_test_control // sqlite3.c:129214:3: - *(*func(*libc.TLS, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1184)) = Xsqlite3_randomness // sqlite3.c:129215:3: - *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1192)) = Xsqlite3_context_db_handle // sqlite3.c:129216:3: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1200)) = Xsqlite3_extended_result_codes // sqlite3.c:129221:3: - *(*func(*libc.TLS, uintptr, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1208)) = Xsqlite3_limit // sqlite3.c:129222:3: - *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1216)) = Xsqlite3_next_stmt // sqlite3.c:129223:3: - *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1224)) = Xsqlite3_sql // sqlite3.c:129224:3: - *(*func(*libc.TLS, int32, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1232)) = Xsqlite3_status // sqlite3.c:129225:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1240)) = Xsqlite3_backup_finish // sqlite3.c:129230:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1248)) = Xsqlite3_backup_init // sqlite3.c:129231:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1256)) = Xsqlite3_backup_pagecount // sqlite3.c:129232:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1264)) = Xsqlite3_backup_remaining // sqlite3.c:129233:3: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1272)) = Xsqlite3_backup_step // sqlite3.c:129234:3: - *(*func(*libc.TLS, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1280)) = Xsqlite3_compileoption_get // sqlite3.c:129236:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1288)) = Xsqlite3_compileoption_used // sqlite3.c:129237:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, int32, uintptr, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1296)) = Xsqlite3_create_function_v2 // sqlite3.c:129242:3: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1304)) = Xsqlite3_db_config // sqlite3.c:129243:3: - *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1312)) = Xsqlite3_db_mutex // sqlite3.c:129244:3: - *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1320)) = Xsqlite3_db_status // sqlite3.c:129245:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1328)) = Xsqlite3_extended_errcode // sqlite3.c:129246:3: - *(*func(*libc.TLS, int32, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1336)) = Xsqlite3_log // sqlite3.c:129247:3: - *(*func(*libc.TLS, Sqlite3_int64) Sqlite3_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1344)) = Xsqlite3_soft_heap_limit64 // sqlite3.c:129248:3: - *(*func(*libc.TLS) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1352)) = Xsqlite3_sourceid // sqlite3.c:129249:3: - *(*func(*libc.TLS, uintptr, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1360)) = Xsqlite3_stmt_status // sqlite3.c:129250:3: - *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1368)) = Xsqlite3_strnicmp // sqlite3.c:129251:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1376)) = Xsqlite3_unlock_notify // sqlite3.c:129253:3: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1384)) = Xsqlite3_wal_autocheckpoint // sqlite3.c:129258:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1392)) = Xsqlite3_wal_checkpoint // sqlite3.c:129259:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1400)) = Xsqlite3_wal_hook // sqlite3.c:129260:3: - *(*func(*libc.TLS, uintptr, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1408)) = Xsqlite3_blob_reopen // sqlite3.c:129266:3: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1416)) = Xsqlite3_vtab_config // sqlite3.c:129267:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1424)) = Xsqlite3_vtab_on_conflict // sqlite3.c:129268:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1432)) = Xsqlite3_close_v2 // sqlite3.c:129269:3: - *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1440)) = Xsqlite3_db_filename // sqlite3.c:129270:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1448)) = Xsqlite3_db_readonly // sqlite3.c:129271:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1456)) = Xsqlite3_db_release_memory // sqlite3.c:129272:3: - *(*func(*libc.TLS, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1464)) = Xsqlite3_errstr // sqlite3.c:129273:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1472)) = Xsqlite3_stmt_busy // sqlite3.c:129274:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1480)) = Xsqlite3_stmt_readonly // sqlite3.c:129275:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1488)) = Xsqlite3_stricmp // sqlite3.c:129276:3: - *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1496)) = Xsqlite3_uri_boolean // sqlite3.c:129277:3: - *(*func(*libc.TLS, uintptr, uintptr, Sqlite3_int64) Sqlite3_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1504)) = Xsqlite3_uri_int64 // sqlite3.c:129278:3: - *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1512)) = Xsqlite3_uri_parameter // sqlite3.c:129279:3: - *(*func(*libc.TLS, int32, uintptr, uintptr, Va_list) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1520)) = Xsqlite3_vsnprintf // sqlite3.c:129280:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1528)) = Xsqlite3_wal_checkpoint_v2 // sqlite3.c:129281:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1536)) = Xsqlite3_auto_extension // sqlite3.c:129283:3: - *(*func(*libc.TLS, uintptr, int32, uintptr, Sqlite3_uint64, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1544)) = Xsqlite3_bind_blob64 // sqlite3.c:129284:3: - *(*func(*libc.TLS, uintptr, int32, uintptr, Sqlite3_uint64, uintptr, uint8) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1552)) = Xsqlite3_bind_text64 // sqlite3.c:129285:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1560)) = Xsqlite3_cancel_auto_extension // sqlite3.c:129286:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1568)) = Xsqlite3_load_extension // sqlite3.c:129287:3: - *(*func(*libc.TLS, Sqlite3_uint64) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1576)) = Xsqlite3_malloc64 // sqlite3.c:129288:3: - *(*func(*libc.TLS, uintptr) Sqlite3_uint64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1584)) = Xsqlite3_msize // sqlite3.c:129289:3: - *(*func(*libc.TLS, uintptr, Sqlite3_uint64) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1592)) = Xsqlite3_realloc64 // sqlite3.c:129290:3: - *(*func(*libc.TLS))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1600)) = Xsqlite3_reset_auto_extension // sqlite3.c:129291:3: - *(*func(*libc.TLS, uintptr, uintptr, Sqlite3_uint64, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1608)) = Xsqlite3_result_blob64 // sqlite3.c:129292:3: - *(*func(*libc.TLS, uintptr, uintptr, Sqlite3_uint64, uintptr, uint8))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1616)) = Xsqlite3_result_text64 // sqlite3.c:129293:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1624)) = Xsqlite3_strglob // sqlite3.c:129294:3: + *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 0)) = Xsqlite3_aggregate_context // sqlite3.c:129032:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 8)) = Xsqlite3_aggregate_count // sqlite3.c:129034:3: + *(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 16)) = Xsqlite3_bind_blob // sqlite3.c:129038:3: + *(*func(*libc.TLS, uintptr, int32, float64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 24)) = Xsqlite3_bind_double // sqlite3.c:129039:3: + *(*func(*libc.TLS, uintptr, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 32)) = Xsqlite3_bind_int // sqlite3.c:129040:3: + *(*func(*libc.TLS, uintptr, int32, Sqlite_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 40)) = Xsqlite3_bind_int64 // sqlite3.c:129041:3: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 48)) = Xsqlite3_bind_null // sqlite3.c:129042:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 56)) = Xsqlite3_bind_parameter_count // sqlite3.c:129043:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 64)) = Xsqlite3_bind_parameter_index // sqlite3.c:129044:3: + *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 72)) = Xsqlite3_bind_parameter_name // sqlite3.c:129045:3: + *(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 80)) = Xsqlite3_bind_text // sqlite3.c:129046:3: + *(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 88)) = Xsqlite3_bind_text16 // sqlite3.c:129047:3: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 96)) = Xsqlite3_bind_value // sqlite3.c:129048:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 104)) = Xsqlite3_busy_handler // sqlite3.c:129049:3: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 112)) = Xsqlite3_busy_timeout // sqlite3.c:129050:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 120)) = Xsqlite3_changes // sqlite3.c:129051:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 128)) = Xsqlite3_close // sqlite3.c:129052:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 136)) = Xsqlite3_collation_needed // sqlite3.c:129053:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 144)) = Xsqlite3_collation_needed16 // sqlite3.c:129054:3: + *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 152)) = Xsqlite3_column_blob // sqlite3.c:129055:3: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 160)) = Xsqlite3_column_bytes // sqlite3.c:129056:3: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 168)) = Xsqlite3_column_bytes16 // sqlite3.c:129057:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 176)) = Xsqlite3_column_count // sqlite3.c:129058:3: + *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 184)) = Xsqlite3_column_database_name // sqlite3.c:129059:3: + *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 192)) = Xsqlite3_column_database_name16 // sqlite3.c:129060:3: + *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 200)) = Xsqlite3_column_decltype // sqlite3.c:129061:3: + *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 208)) = Xsqlite3_column_decltype16 // sqlite3.c:129062:3: + *(*func(*libc.TLS, uintptr, int32) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 216)) = Xsqlite3_column_double // sqlite3.c:129063:3: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 224)) = Xsqlite3_column_int // sqlite3.c:129064:3: + *(*func(*libc.TLS, uintptr, int32) Sqlite_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 232)) = Xsqlite3_column_int64 // sqlite3.c:129065:3: + *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 240)) = Xsqlite3_column_name // sqlite3.c:129066:3: + *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 248)) = Xsqlite3_column_name16 // sqlite3.c:129067:3: + *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 256)) = Xsqlite3_column_origin_name // sqlite3.c:129068:3: + *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 264)) = Xsqlite3_column_origin_name16 // sqlite3.c:129069:3: + *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 272)) = Xsqlite3_column_table_name // sqlite3.c:129070:3: + *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 280)) = Xsqlite3_column_table_name16 // sqlite3.c:129071:3: + *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 288)) = Xsqlite3_column_text // sqlite3.c:129072:3: + *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 296)) = Xsqlite3_column_text16 // sqlite3.c:129073:3: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 304)) = Xsqlite3_column_type // sqlite3.c:129074:3: + *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 312)) = Xsqlite3_column_value // sqlite3.c:129075:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 320)) = Xsqlite3_commit_hook // sqlite3.c:129076:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 328)) = Xsqlite3_complete // sqlite3.c:129077:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 336)) = Xsqlite3_complete16 // sqlite3.c:129078:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 344)) = Xsqlite3_create_collation // sqlite3.c:129079:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 352)) = Xsqlite3_create_collation16 // sqlite3.c:129080:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, int32, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 360)) = Xsqlite3_create_function // sqlite3.c:129081:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, int32, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 368)) = Xsqlite3_create_function16 // sqlite3.c:129082:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 376)) = Xsqlite3_create_module // sqlite3.c:129083:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 384)) = Xsqlite3_data_count // sqlite3.c:129084:3: + *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 392)) = Xsqlite3_db_handle // sqlite3.c:129085:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 400)) = Xsqlite3_declare_vtab // sqlite3.c:129086:3: + *(*func(*libc.TLS, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 408)) = Xsqlite3_enable_shared_cache // sqlite3.c:129087:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 416)) = Xsqlite3_errcode // sqlite3.c:129088:3: + *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 424)) = Xsqlite3_errmsg // sqlite3.c:129089:3: + *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 432)) = Xsqlite3_errmsg16 // sqlite3.c:129090:3: + *(*func(*libc.TLS, uintptr, uintptr, Sqlite3_callback, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 440)) = Xsqlite3_exec // sqlite3.c:129091:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 448)) = Xsqlite3_expired // sqlite3.c:129093:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 456)) = Xsqlite3_finalize // sqlite3.c:129097:3: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 464)) = Xsqlite3_free // sqlite3.c:129098:3: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 472)) = Xsqlite3_free_table // sqlite3.c:129099:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 480)) = Xsqlite3_get_autocommit // sqlite3.c:129100:3: + *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 488)) = Xsqlite3_get_auxdata // sqlite3.c:129101:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 496)) = Xsqlite3_get_table // sqlite3.c:129102:3: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 512)) = Xsqlite3_interrupt // sqlite3.c:129104:3: + *(*func(*libc.TLS, uintptr) Sqlite3_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 520)) = Xsqlite3_last_insert_rowid // sqlite3.c:129105:3: + *(*func(*libc.TLS) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 528)) = Xsqlite3_libversion // sqlite3.c:129106:3: + *(*func(*libc.TLS) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 536)) = Xsqlite3_libversion_number // sqlite3.c:129107:3: + *(*func(*libc.TLS, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 544)) = Xsqlite3_malloc // sqlite3.c:129108:3: + *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 552)) = Xsqlite3_mprintf // sqlite3.c:129109:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 560)) = Xsqlite3_open // sqlite3.c:129110:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 568)) = Xsqlite3_open16 // sqlite3.c:129111:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 576)) = Xsqlite3_prepare // sqlite3.c:129112:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 584)) = Xsqlite3_prepare16 // sqlite3.c:129113:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 592)) = Xsqlite3_profile // sqlite3.c:129114:3: + *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 600)) = Xsqlite3_progress_handler // sqlite3.c:129115:3: + *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 608)) = Xsqlite3_realloc // sqlite3.c:129116:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 616)) = Xsqlite3_reset // sqlite3.c:129117:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 624)) = Xsqlite3_result_blob // sqlite3.c:129118:3: + *(*func(*libc.TLS, uintptr, float64))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 632)) = Xsqlite3_result_double // sqlite3.c:129119:3: + *(*func(*libc.TLS, uintptr, uintptr, int32))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 640)) = Xsqlite3_result_error // sqlite3.c:129120:3: + *(*func(*libc.TLS, uintptr, uintptr, int32))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 648)) = Xsqlite3_result_error16 // sqlite3.c:129121:3: + *(*func(*libc.TLS, uintptr, int32))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 656)) = Xsqlite3_result_int // sqlite3.c:129122:3: + *(*func(*libc.TLS, uintptr, I64))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 664)) = Xsqlite3_result_int64 // sqlite3.c:129123:3: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 672)) = Xsqlite3_result_null // sqlite3.c:129124:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 680)) = Xsqlite3_result_text // sqlite3.c:129125:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 688)) = Xsqlite3_result_text16 // sqlite3.c:129126:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 696)) = Xsqlite3_result_text16be // sqlite3.c:129127:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 704)) = Xsqlite3_result_text16le // sqlite3.c:129128:3: + *(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 712)) = Xsqlite3_result_value // sqlite3.c:129129:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 720)) = Xsqlite3_rollback_hook // sqlite3.c:129130:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 728)) = Xsqlite3_set_authorizer // sqlite3.c:129131:3: + *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 736)) = Xsqlite3_set_auxdata // sqlite3.c:129132:3: + *(*func(*libc.TLS, int32, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 744)) = Xsqlite3_snprintf // sqlite3.c:129133:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 752)) = Xsqlite3_step // sqlite3.c:129134:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr, uintptr, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 760)) = Xsqlite3_table_column_metadata // sqlite3.c:129135:3: + *(*func(*libc.TLS))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 768)) = Xsqlite3_thread_cleanup // sqlite3.c:129137:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 776)) = Xsqlite3_total_changes // sqlite3.c:129141:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 784)) = Xsqlite3_trace // sqlite3.c:129142:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 792)) = Xsqlite3_transfer_bindings // sqlite3.c:129144:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 800)) = Xsqlite3_update_hook // sqlite3.c:129148:3: + *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 808)) = Xsqlite3_user_data // sqlite3.c:129149:3: + *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 816)) = Xsqlite3_value_blob // sqlite3.c:129150:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 824)) = Xsqlite3_value_bytes // sqlite3.c:129151:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 832)) = Xsqlite3_value_bytes16 // sqlite3.c:129152:3: + *(*func(*libc.TLS, uintptr) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 840)) = Xsqlite3_value_double // sqlite3.c:129153:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 848)) = Xsqlite3_value_int // sqlite3.c:129154:3: + *(*func(*libc.TLS, uintptr) Sqlite_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 856)) = Xsqlite3_value_int64 // sqlite3.c:129155:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 864)) = Xsqlite3_value_numeric_type // sqlite3.c:129156:3: + *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 872)) = Xsqlite3_value_text // sqlite3.c:129157:3: + *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 880)) = Xsqlite3_value_text16 // sqlite3.c:129158:3: + *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 888)) = Xsqlite3_value_text16be // sqlite3.c:129159:3: + *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 896)) = Xsqlite3_value_text16le // sqlite3.c:129160:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 904)) = Xsqlite3_value_type // sqlite3.c:129161:3: + *(*func(*libc.TLS, uintptr, Va_list) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 912)) = Xsqlite3_vmprintf // sqlite3.c:129162:3: + *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 920)) = Xsqlite3_overload_function // sqlite3.c:129171:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 928)) = Xsqlite3_prepare_v2 // sqlite3.c:129176:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 936)) = Xsqlite3_prepare16_v2 // sqlite3.c:129177:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 944)) = Xsqlite3_clear_bindings // sqlite3.c:129178:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 952)) = Xsqlite3_create_module_v2 // sqlite3.c:129183:3: + *(*func(*libc.TLS, uintptr, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 960)) = Xsqlite3_bind_zeroblob // sqlite3.c:129188:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 968)) = Xsqlite3_blob_bytes // sqlite3.c:129189:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 976)) = Xsqlite3_blob_close // sqlite3.c:129190:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr, Sqlite_int64, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 984)) = Xsqlite3_blob_open // sqlite3.c:129191:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 992)) = Xsqlite3_blob_read // sqlite3.c:129192:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1000)) = Xsqlite3_blob_write // sqlite3.c:129193:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1008)) = Xsqlite3_create_collation_v2 // sqlite3.c:129194:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1016)) = Xsqlite3_file_control // sqlite3.c:129195:3: + *(*func(*libc.TLS, int32) Sqlite3_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1024)) = Xsqlite3_memory_highwater // sqlite3.c:129196:3: + *(*func(*libc.TLS) Sqlite3_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1032)) = Xsqlite3_memory_used // sqlite3.c:129197:3: + *(*func(*libc.TLS, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1040)) = Xsqlite3_mutex_alloc // sqlite3.c:129205:3: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1048)) = Xsqlite3_mutex_enter // sqlite3.c:129206:3: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1056)) = Xsqlite3_mutex_free // sqlite3.c:129207:3: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1064)) = Xsqlite3_mutex_leave // sqlite3.c:129208:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1072)) = Xsqlite3_mutex_try // sqlite3.c:129209:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1080)) = Xsqlite3_open_v2 // sqlite3.c:129211:3: + *(*func(*libc.TLS, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1088)) = Xsqlite3_release_memory // sqlite3.c:129212:3: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1096)) = Xsqlite3_result_error_nomem // sqlite3.c:129213:3: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1104)) = Xsqlite3_result_error_toobig // sqlite3.c:129214:3: + *(*func(*libc.TLS, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1112)) = Xsqlite3_sleep // sqlite3.c:129215:3: + *(*func(*libc.TLS, int32))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1120)) = Xsqlite3_soft_heap_limit // sqlite3.c:129216:3: + *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1128)) = Xsqlite3_vfs_find // sqlite3.c:129217:3: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1136)) = Xsqlite3_vfs_register // sqlite3.c:129218:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1144)) = Xsqlite3_vfs_unregister // sqlite3.c:129219:3: + *(*func(*libc.TLS) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1152)) = Xsqlite3_threadsafe // sqlite3.c:129224:3: + *(*func(*libc.TLS, uintptr, int32))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1160)) = Xsqlite3_result_zeroblob // sqlite3.c:129225:3: + *(*func(*libc.TLS, uintptr, int32))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1168)) = Xsqlite3_result_error_code // sqlite3.c:129226:3: + *(*func(*libc.TLS, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1176)) = Xsqlite3_test_control // sqlite3.c:129227:3: + *(*func(*libc.TLS, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1184)) = Xsqlite3_randomness // sqlite3.c:129228:3: + *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1192)) = Xsqlite3_context_db_handle // sqlite3.c:129229:3: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1200)) = Xsqlite3_extended_result_codes // sqlite3.c:129234:3: + *(*func(*libc.TLS, uintptr, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1208)) = Xsqlite3_limit // sqlite3.c:129235:3: + *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1216)) = Xsqlite3_next_stmt // sqlite3.c:129236:3: + *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1224)) = Xsqlite3_sql // sqlite3.c:129237:3: + *(*func(*libc.TLS, int32, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1232)) = Xsqlite3_status // sqlite3.c:129238:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1240)) = Xsqlite3_backup_finish // sqlite3.c:129243:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1248)) = Xsqlite3_backup_init // sqlite3.c:129244:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1256)) = Xsqlite3_backup_pagecount // sqlite3.c:129245:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1264)) = Xsqlite3_backup_remaining // sqlite3.c:129246:3: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1272)) = Xsqlite3_backup_step // sqlite3.c:129247:3: + *(*func(*libc.TLS, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1280)) = Xsqlite3_compileoption_get // sqlite3.c:129249:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1288)) = Xsqlite3_compileoption_used // sqlite3.c:129250:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, int32, uintptr, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1296)) = Xsqlite3_create_function_v2 // sqlite3.c:129255:3: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1304)) = Xsqlite3_db_config // sqlite3.c:129256:3: + *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1312)) = Xsqlite3_db_mutex // sqlite3.c:129257:3: + *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1320)) = Xsqlite3_db_status // sqlite3.c:129258:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1328)) = Xsqlite3_extended_errcode // sqlite3.c:129259:3: + *(*func(*libc.TLS, int32, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1336)) = Xsqlite3_log // sqlite3.c:129260:3: + *(*func(*libc.TLS, Sqlite3_int64) Sqlite3_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1344)) = Xsqlite3_soft_heap_limit64 // sqlite3.c:129261:3: + *(*func(*libc.TLS) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1352)) = Xsqlite3_sourceid // sqlite3.c:129262:3: + *(*func(*libc.TLS, uintptr, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1360)) = Xsqlite3_stmt_status // sqlite3.c:129263:3: + *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1368)) = Xsqlite3_strnicmp // sqlite3.c:129264:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1376)) = Xsqlite3_unlock_notify // sqlite3.c:129266:3: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1384)) = Xsqlite3_wal_autocheckpoint // sqlite3.c:129271:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1392)) = Xsqlite3_wal_checkpoint // sqlite3.c:129272:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1400)) = Xsqlite3_wal_hook // sqlite3.c:129273:3: + *(*func(*libc.TLS, uintptr, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1408)) = Xsqlite3_blob_reopen // sqlite3.c:129279:3: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1416)) = Xsqlite3_vtab_config // sqlite3.c:129280:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1424)) = Xsqlite3_vtab_on_conflict // sqlite3.c:129281:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1432)) = Xsqlite3_close_v2 // sqlite3.c:129282:3: + *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1440)) = Xsqlite3_db_filename // sqlite3.c:129283:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1448)) = Xsqlite3_db_readonly // sqlite3.c:129284:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1456)) = Xsqlite3_db_release_memory // sqlite3.c:129285:3: + *(*func(*libc.TLS, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1464)) = Xsqlite3_errstr // sqlite3.c:129286:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1472)) = Xsqlite3_stmt_busy // sqlite3.c:129287:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1480)) = Xsqlite3_stmt_readonly // sqlite3.c:129288:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1488)) = Xsqlite3_stricmp // sqlite3.c:129289:3: + *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1496)) = Xsqlite3_uri_boolean // sqlite3.c:129290:3: + *(*func(*libc.TLS, uintptr, uintptr, Sqlite3_int64) Sqlite3_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1504)) = Xsqlite3_uri_int64 // sqlite3.c:129291:3: + *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1512)) = Xsqlite3_uri_parameter // sqlite3.c:129292:3: + *(*func(*libc.TLS, int32, uintptr, uintptr, Va_list) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1520)) = Xsqlite3_vsnprintf // sqlite3.c:129293:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1528)) = Xsqlite3_wal_checkpoint_v2 // sqlite3.c:129294:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1536)) = Xsqlite3_auto_extension // sqlite3.c:129296:3: + *(*func(*libc.TLS, uintptr, int32, uintptr, Sqlite3_uint64, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1544)) = Xsqlite3_bind_blob64 // sqlite3.c:129297:3: + *(*func(*libc.TLS, uintptr, int32, uintptr, Sqlite3_uint64, uintptr, uint8) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1552)) = Xsqlite3_bind_text64 // sqlite3.c:129298:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1560)) = Xsqlite3_cancel_auto_extension // sqlite3.c:129299:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1568)) = Xsqlite3_load_extension // sqlite3.c:129300:3: + *(*func(*libc.TLS, Sqlite3_uint64) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1576)) = Xsqlite3_malloc64 // sqlite3.c:129301:3: + *(*func(*libc.TLS, uintptr) Sqlite3_uint64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1584)) = Xsqlite3_msize // sqlite3.c:129302:3: + *(*func(*libc.TLS, uintptr, Sqlite3_uint64) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1592)) = Xsqlite3_realloc64 // sqlite3.c:129303:3: + *(*func(*libc.TLS))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1600)) = Xsqlite3_reset_auto_extension // sqlite3.c:129304:3: + *(*func(*libc.TLS, uintptr, uintptr, Sqlite3_uint64, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1608)) = Xsqlite3_result_blob64 // sqlite3.c:129305:3: + *(*func(*libc.TLS, uintptr, uintptr, Sqlite3_uint64, uintptr, uint8))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1616)) = Xsqlite3_result_text64 // sqlite3.c:129306:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1624)) = Xsqlite3_strglob // sqlite3.c:129307:3: *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1632 /* .value_dup */)) = *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr) uintptr - }{Xsqlite3_value_dup})) // sqlite3.c:129296:3: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1640)) = Xsqlite3_value_free // sqlite3.c:129297:3: - *(*func(*libc.TLS, uintptr, U64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1648)) = Xsqlite3_result_zeroblob64 // sqlite3.c:129298:3: - *(*func(*libc.TLS, uintptr, int32, Sqlite3_uint64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1656)) = Xsqlite3_bind_zeroblob64 // sqlite3.c:129299:3: - *(*func(*libc.TLS, uintptr) uint32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1664)) = Xsqlite3_value_subtype // sqlite3.c:129301:3: - *(*func(*libc.TLS, uintptr, uint32))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1672)) = Xsqlite3_result_subtype // sqlite3.c:129302:3: - *(*func(*libc.TLS, int32, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1680)) = Xsqlite3_status64 // sqlite3.c:129304:3: - *(*func(*libc.TLS, uintptr, uintptr, uint32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1688)) = Xsqlite3_strlike // sqlite3.c:129305:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1696)) = Xsqlite3_db_cacheflush // sqlite3.c:129306:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1704)) = Xsqlite3_system_errno // sqlite3.c:129308:3: - *(*func(*libc.TLS, uintptr, uint32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1712)) = Xsqlite3_trace_v2 // sqlite3.c:129310:3: - *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1720)) = Xsqlite3_expanded_sql // sqlite3.c:129311:3: - *(*func(*libc.TLS, uintptr, Sqlite3_int64))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1728)) = Xsqlite3_set_last_insert_rowid // sqlite3.c:129313:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uint32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1736)) = Xsqlite3_prepare_v3 // sqlite3.c:129315:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uint32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1744)) = Xsqlite3_prepare16_v3 // sqlite3.c:129316:3: - *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1752)) = Xsqlite3_bind_pointer // sqlite3.c:129317:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1760)) = Xsqlite3_result_pointer // sqlite3.c:129318:3: - *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1768)) = Xsqlite3_value_pointer // sqlite3.c:129319:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1776)) = Xsqlite3_vtab_nochange // sqlite3.c:129321:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1784)) = Xsqlite3_value_nochange // sqlite3.c:129322:3: - *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1792)) = Xsqlite3_vtab_collation // sqlite3.c:129323:3: - *(*func(*libc.TLS) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1800)) = Xsqlite3_keyword_count // sqlite3.c:129325:3: - *(*func(*libc.TLS, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1808)) = Xsqlite3_keyword_name // sqlite3.c:129326:3: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1816)) = Xsqlite3_keyword_check // sqlite3.c:129327:3: - *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1824)) = Xsqlite3_str_new // sqlite3.c:129328:3: - *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1832)) = Xsqlite3_str_finish // sqlite3.c:129329:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1840)) = Xsqlite3_str_appendf // sqlite3.c:129330:3: - *(*func(*libc.TLS, uintptr, uintptr, Va_list))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1848)) = Xsqlite3_str_vappendf // sqlite3.c:129331:3: - *(*func(*libc.TLS, uintptr, uintptr, int32))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1856)) = Xsqlite3_str_append // sqlite3.c:129332:3: - *(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1864)) = Xsqlite3_str_appendall // sqlite3.c:129333:3: - *(*func(*libc.TLS, uintptr, int32, uint8))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1872)) = Xsqlite3_str_appendchar // sqlite3.c:129334:3: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1880)) = Xsqlite3_str_reset // sqlite3.c:129335:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1888)) = Xsqlite3_str_errcode // sqlite3.c:129336:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1896)) = Xsqlite3_str_length // sqlite3.c:129337:3: - *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1904)) = Xsqlite3_str_value // sqlite3.c:129338:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, int32, uintptr, uintptr, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1912)) = Xsqlite3_create_window_function // sqlite3.c:129340:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1928)) = Xsqlite3_stmt_isexplain // sqlite3.c:129348:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1936)) = Xsqlite3_value_frombind // sqlite3.c:129349:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1944)) = Xsqlite3_drop_modules // sqlite3.c:129352:3: - *(*func(*libc.TLS, Sqlite3_int64) Sqlite3_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1952)) = Xsqlite3_hard_heap_limit64 // sqlite3.c:129357:3: - *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1960)) = Xsqlite3_uri_key // sqlite3.c:129358:3: - *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1968)) = Xsqlite3_filename_database // sqlite3.c:129359:3: - *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1976)) = Xsqlite3_filename_journal // sqlite3.c:129360:3: - *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1984)) = Xsqlite3_filename_wal // sqlite3.c:129361:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1992)) = Xsqlite3_create_filename // sqlite3.c:129363:3: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 2000)) = Xsqlite3_free_filename // sqlite3.c:129364:3: - *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 2008)) = Xsqlite3_database_file_object // sqlite3.c:129365:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 2016)) = Xsqlite3_txn_state // sqlite3.c:129367:3: - *(*func(*libc.TLS, uintptr) Sqlite3_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 2024)) = Xsqlite3_changes64 // sqlite3.c:129369:3: - *(*func(*libc.TLS, uintptr) Sqlite3_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 2032)) = Xsqlite3_total_changes64 // sqlite3.c:129370:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 2040)) = Xsqlite3_autovacuum_pages // sqlite3.c:129372:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 2048)) = Xsqlite3_error_offset // sqlite3.c:129374:3: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 2056)) = Xsqlite3_vtab_rhs_value // sqlite3.c:129375:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 2064)) = Xsqlite3_vtab_distinct // sqlite3.c:129376:3: - *(*func(*libc.TLS, uintptr, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 2072)) = Xsqlite3_vtab_in // sqlite3.c:129377:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 2080)) = Xsqlite3_vtab_in_first // sqlite3.c:129378:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 2088)) = Xsqlite3_vtab_in_next // sqlite3.c:129379:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3BuiltinExtensions)) + 0)) = Xsqlite3Fts5Init // sqlite3.c:168488:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3BuiltinExtensions)) + 8)) = Xsqlite3RtreeInit // sqlite3.c:168494:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3BuiltinExtensions)) + 16)) = sqlite3TestExtInit // sqlite3.c:168502:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3BuiltinExtensions)) + 24)) = Xsqlite3JsonTableFunctions // sqlite3.c:168504:3: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&statGetFuncdef)) + 24)) = statGet // sqlite3.c:111993:3: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&statInitFuncdef)) + 24)) = statInit // sqlite3.c:111569:3: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&statPushFuncdef)) + 24)) = statPush // sqlite3.c:111859:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 40)) = rbuVfsOpen // sqlite3.c:208888:5: - *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 48)) = rbuVfsDelete // sqlite3.c:208889:5: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 56)) = rbuVfsAccess // sqlite3.c:208890:5: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 64)) = rbuVfsFullPathname // sqlite3.c:208891:5: - *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 72)) = rbuVfsDlOpen // sqlite3.c:208894:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 80)) = rbuVfsDlError // sqlite3.c:208895:5: - *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 88)) = rbuVfsDlSym // sqlite3.c:208896:5: - *(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 96)) = rbuVfsDlClose // sqlite3.c:208897:5: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 104)) = rbuVfsRandomness // sqlite3.c:208902:5: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 112)) = rbuVfsSleep // sqlite3.c:208903:5: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 120)) = rbuVfsCurrentTime // sqlite3.c:208904:5: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 128)) = rbuVfsGetLastError // sqlite3.c:208905:5: -} - -var ts1 = "3.38.1\x00ATOMIC_INTRINSICS=1\x00COMPILER=gcc-10.2.1 20210110\x00DEFAULT_AUTOVACUUM\x00DEFAULT_CACHE_SIZE=-2000\x00DEFAULT_FILE_FORMAT=4\x00DEFAULT_JOURNAL_SIZE_LIMIT=-1\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\x00ENABLE_COLUMN_METADATA\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=127\x00MAX_LENGTH=1000000000\x00MAX_LIKE_PATTERN_LENGTH=50000\x00MAX_MMAP_SIZE=0x7fff0000\x00MAX_PAGE_COUNT=1073741823\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\x00BINARY\x00ANY\x00BLOB\x00INT\x00INTEGER\x00REAL\x00TEXT\x0020b:20e\x0020c:20e\x0020e\x0040f-21a-21d\x00now\x00local time unavailable\x00second\x00minute\x00hour\x00\x00\x00day\x00\x00\x00\x00month\x00\x00year\x00\x00\x00auto\x00julianday\x00localtime\x00unixepoch\x00utc\x00weekday \x00start of \x00month\x00year\x00day\x00%02d\x00%06.3f\x00%03d\x00%.16g\x00%lld\x00%04d\x00date\x00time\x00datetime\x00strftime\x00current_time\x00current_timestamp\x00current_date\x00failed to allocate %u bytes of memory\x00failed memory resize %u to %u bytes\x00out of memory\x000123456789ABCDEF0123456789abcdef\x00-x0\x00X0\x00%\x00NaN\x00Inf\x00\x00NULL\x00(NULL)\x00.\x00SUBQUERY %u\x00thstndrd\x00922337203685477580\x00API call with %s database connection pointer\x00unopened\x00invalid\x00Savepoint\x00AutoCommit\x00Transaction\x00SorterNext\x00Prev\x00Next\x00Checkpoint\x00JournalMode\x00Vacuum\x00VFilter\x00VUpdate\x00Goto\x00Gosub\x00InitCoroutine\x00Yield\x00MustBeInt\x00Jump\x00Once\x00If\x00Not\x00IfNot\x00IsNullOrType\x00IfNullRow\x00SeekLT\x00SeekLE\x00SeekGE\x00SeekGT\x00IfNotOpen\x00IfNoHope\x00NoConflict\x00NotFound\x00Found\x00SeekRowid\x00NotExists\x00Last\x00IfSmaller\x00SorterSort\x00Sort\x00Rewind\x00IdxLE\x00IdxGT\x00IdxLT\x00IdxGE\x00Or\x00And\x00RowSetRead\x00RowSetTest\x00Program\x00FkIfZero\x00IfPos\x00IsNull\x00NotNull\x00Ne\x00Eq\x00Gt\x00Le\x00Lt\x00Ge\x00ElseEq\x00IfNotZero\x00DecrJumpZero\x00IncrVacuum\x00VNext\x00Filter\x00Init\x00PureFunc\x00Function\x00Return\x00EndCoroutine\x00HaltIfNull\x00Halt\x00Integer\x00Int64\x00String\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\x00VInitIn\x00VColumn\x00VRename\x00Pagecount\x00MaxPgcnt\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\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\x00SQLite format 3\x00:memory:\x00@ \x00\n\x00invalid page number %d\x002nd reference to page %d\x00Failed to read ptrmap key=%d\x00Bad ptr map entry key=%d expected=(%d,%d) got=(%d,%d)\x00failed to get page %d\x00freelist leaf count too big on page %d\x00%s is %d but should be %d\x00size\x00overflow list length\x00Page %u: \x00unable to get the page. error code=%d\x00btreeInitPage() returns error code %d\x00free space corruption\x00On tree page %u cell %d: \x00On page %u at right child: \x00Offset %d out of range %d..%d\x00Extends off end of page\x00Rowid %lld out of order\x00Child page depth differs\x00Multiple uses for byte %u of page %u\x00Fragmentation of %d bytes reported as %d on page %u\x00Main freelist: \x00max rootpage (%d) disagrees with header (%d)\x00incremental_vacuum enabled with a max rootpage of zero\x00Page %d is never used\x00Pointer map page %d is referenced\x00unknown database %s\x00destination database is in use\x00source and destination must be distinct\x00%!.15g\x00-\x00%s%s\x00k(%d\x00B\x00,%s%s%s\x00N.\x00)\x00%.18s-%s\x00%s(%d)\x00%d\x00(blob)\x00vtab:%p\x00%c%u\x00]\x00program\x00?\x008\x0016LE\x0016BE\x00addr\x00opcode\x00p1\x00p2\x00p3\x00p4\x00p5\x00comment\x00id\x00parent\x00notused\x00detail\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\x00ValueList\x00bind on a busy prepared statement: [%s]\x00-- \x00'%.*q'\x00zeroblob(%d)\x00x'\x00%02x\x00'\x00%s constraint failed\x00%z: %s\x00abort at %d in [%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\x00cannot change %s wal mode from within a transaction\x00into\x00out of\x00database table is locked: %s\x00-- %s\x00statement aborts at %d: [%s] %s\x00NOT NULL\x00UNIQUE\x00CHECK\x00FOREIGN KEY\x00cannot open value of type %s\x00null\x00real\x00integer\x00no such rowid: %lld\x00cannot open virtual table: %s\x00cannot open table without rowid: %s\x00cannot open view: %s\x00no such column: \"%s\"\x00foreign key\x00indexed\x00cannot open %s column for writing\x00main\x00*\x00new\x00old\x00excluded\x00misuse of aliased aggregate %s\x00misuse of aliased window function %s\x00row value misused\x00double-quoted string literal: \"%w\"\x00no such column\x00ambiguous column name\x00%s: %s.%s.%s\x00%s: %s.%s\x00%s: %s\x00partial index WHERE clauses\x00index expressions\x00CHECK constraints\x00generated columns\x00%s prohibited in %s\x00true\x00false\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\x00a GROUP BY clause is required before HAVING\x00GROUP\x00aggregate functions are not allowed in the GROUP BY clause\x00Expression tree is too large (maximum depth %d)\x00IN(...) element has %d term%s - expected %d\x00s\x000\x00too many arguments on function %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\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\x00%sLIST SUBQUERY %d\x00CORRELATED \x00REUSE SUBQUERY %d\x00%sSCALAR SUBQUERY %d\x001\x000x\x00hex literal too big: %s%#T\x00generated column loop on \"%s\"\x00blob\x00text\x00numeric\x00none\x00misuse of aggregate: %#T()\x00unknown function: %#T()\x00RAISE() may only be used within a trigger-program\x00B\x00C\x00D\x00E\x00sqlite_\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') ELSE raise(ABORT,'NOT NULL constraint failed') END FROM pragma_quick_check(%Q,%Q) WHERE quick_check GLOB 'CHECK*' OR quick_check GLOB 'NULL*'\x00virtual tables may not be altered\x00Cannot add a column to a view\x00sqlite_altertab_%s\x00view\x00virtual table\x00cannot %s %s \"%s\"\x00drop column from\x00rename columns of\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')\x00error in %s %s%s%s: %s\x00 \x00CREATE \x00\"%w\" \x00%Q%s\x00%.*s%s\x00cannot drop %s column: \"%s\"\x00PRIMARY KEY\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\x00CREATE TABLE %Q.%s(%s)\x00DELETE FROM %Q.%s WHERE %s=%Q\x00DELETE FROM %Q.%s\x00sqlite_stat1\x00tbl,idx,stat\x00sqlite_stat4\x00tbl,idx,neq,nlt,ndlt,sample\x00sqlite_stat3\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\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\x00sqlite_temp_schema\x00sqlite_schema\x00sqlite_temp_master\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\x00sqlite_returning\x00cannot use RETURNING in a trigger\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'\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\x00unsupported use of NULLS %s\x00FIRST\x00LAST\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\x00CREATE%s INDEX %.*s\x00 UNIQUE\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\x00a JOIN clause is required before %s\x00ON\x00USING\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\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%!.20e\x00%Q\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\x00instr\x00printf\x00format\x00unicode\x00char\x00abs\x00round\x00upper\x00lower\x00hex\x00ifnull\x00random\x00randomblob\x00nullif\x00sqlite_version\x00sqlite_source_id\x00sqlite_log\x00quote\x00last_insert_rowid\x00changes\x00total_changes\x00replace\x00zeroblob\x00substr\x00substring\x00sum\x00total\x00avg\x00count\x00group_concat\x00glob\x00coalesce\x00ceil\x00ceiling\x00floor\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\x00foreign key mismatch - \"%w\" referencing \"%w\"\x00cannot INSERT into generated column \"%s\"\x00table %S has no column named %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\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]\x00so\x00automatic extension loading failed: %s\x00seq\x00from\x00to\x00on_update\x00on_delete\x00match\x00cid\x00name\x00type\x00notnull\x00dflt_value\x00pk\x00hidden\x00schema\x00ncol\x00wr\x00strict\x00seqno\x00desc\x00coll\x00key\x00builtin\x00enc\x00narg\x00flags\x00wdth\x00hght\x00flgs\x00unique\x00origin\x00partial\x00rowid\x00fkid\x00file\x00busy\x00checkpointed\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\x00onoffalseyestruextrafull\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\x00w\x00a\x00sissii\x00utf8\x00utf16le\x00utf16be\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\x00NULL value in %s.%s\x00non-%s value in %s.%s\x00CHECK constraint failed in %s\x00row \x00 missing from index \x00non-unique entry in index \x00wrong # of entries in index \x00ok\x00unsupported encoding: %s\x00restart\x00ANALYZE \"%w\".\"%w\"\x00UTF8\x00UTF-8\x00UTF-16le\x00UTF-16be\x00UTF16le\x00UTF16be\x00UTF-16\x00UTF16\x00CREATE TABLE x\x00%c\"%s\"\x00(\"%s\"\x00,arg HIDDEN\x00,schema HIDDEN\x00PRAGMA \x00%Q.\x00=%Q\x00error in %s %s after %s: %s\x00malformed database schema (%s)\x00%z - %s\x00rename\x00drop column\x00add column\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 or unsupported join type: %T %T%s%T\x00RIGHT and FULL OUTER JOINs are not currently supported\x00naturaleftouterightfullinnercross\x00a NATURAL join may not have an ON or USING clause\x00cannot have both ON and USING clauses in the same join\x00cannot join using column %s - column not present in both tables\x00UNION ALL\x00INTERSECT\x00EXCEPT\x00UNION\x00USE TEMP B-TREE FOR %s\x00column%d\x00%.*z:%u\x00cannot use window functions in recursive queries\x00recursive aggregate queries not supported\x00SETUP\x00RECURSIVE STEP\x00SCAN %d CONSTANT ROW%s\x00S\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\x00subquery_%u\x00too many references to \"%s\": max 65535\x00access to view \"%s\" prohibited\x00unsafe use of virtual table \"%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)\x00SCAN %s%s%s\x00 USING COVERING INDEX \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\x00RIGHT PART OF ORDER BY\x00ORDER 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\x00trigger %T already exists\x00cannot create trigger on system table\x00cannot create %s trigger on view: %S\x00BEFORE\x00AFTER\x00cannot create INSTEAD OF trigger on 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'\x00%s RETURNING is not available on virtual tables\x00DELETE\x00UPDATE\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\x00ATTACH %Q AS vacuum_db\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 vacuum_db.'||quote(name)||' SELECT*FROM\"%w\".'||quote(name)FROM vacuum_db.sqlite_schema WHERE type='table'AND coalesce(rootpage,1)>0\x00INSERT INTO vacuum_db.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\x00\x00 AND \x00(\x00 (\x00%s=?\x00ANY(%s)\x00>\x00<\x00%s %S\x00SEARCH\x00SCAN\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 %d:%s\x00BLOOM FILTER ON %S (\x00rowid=?\x00MULTI-INDEX OR\x00INDEX %d\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\x00second argument to nth_value must be a positive integer\x00argument of ntile must be a positive integer\x00row_number\x00dense_rank\x00rank\x00percent_rank\x00cume_dist\x00ntile\x00last_value\x00nth_value\x00first_value\x00lead\x00lag\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\x00%s clause should come after %s not before\x00LIMIT\x00too many terms in compound SELECT\x00syntax error after column name \"%.*s\"\x00parser stack overflow\x00unknown table option: %.*s\x00set list\x00near \"%T\": syntax error\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\x00unknown error\x00abort due to ROLLBACK\x00another row available\x00no more rows available\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\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\x00mode\x00no such %s mode: %s\x00%s mode not allowed: %s\x00no such vfs: %s\x00shared\x00private\x00ro\x00rw\x00rwc\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\x000123456789abcdef\x00JSON cannot hold BLOB values\x00malformed JSON\x00[0]\x00JSON path error near '%q'\x00json_%s() needs an odd number of arguments\x00$[\x00$.\x00json_object() requires an even number of arguments\x00json_object() labels must be TEXT\x00set\x00insert\x00[]\x00{}\x00CREATE TABLE x(key,value,type,atom,id,parent,fullkey,path,json HIDDEN,root HIDDEN)\x00[%d]\x00.%.*s\x00$\x00json\x00json_array\x00json_array_length\x00json_extract\x00->\x00->>\x00json_insert\x00json_object\x00json_patch\x00json_quote\x00json_remove\x00json_replace\x00json_set\x00json_type\x00json_valid\x00json_group_array\x00json_group_object\x00json_each\x00json_tree\x00%s_node\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\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\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\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\x00CREATE TABLE x(%.*s INT\x00,%.*s\x00);\x00,%.*s REAL\x00,%.*s INT\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\x00Mapping (%lld -> %lld) missing from %s table\x00%_rowid\x00%_parent\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\x00END\x00wrong number of arguments to function rtreecheck()\x00[\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\x00geopoly_area\x00geopoly_blob\x00geopoly_json\x00geopoly_svg\x00geopoly_contains_point\x00geopoly_debug\x00geopoly_bbox\x00geopoly_xform\x00geopoly_regular\x00geopoly_ccw\x00geopoly_group_bbox\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;\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\x00AND rootpage!=0 AND rootpage IS NOT NULL\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\x00table %q %s rbu_rowid column\x00may not have\x00requires\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%z%s\"%w\" %s %sCOLLATE %Q%s\x00 NOT NULL\x00%z, %z\x00CREATE TABLE \"rbu_imp_%w\"(%z)%s\x00 WITHOUT ROWID\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\x00SELECT %s, 0 AS rbu_control FROM '%q' %s %s %s ORDER BY %s%s\x00AND\x00WHERE\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_\x00INSERT INTO \"%s%w\"(%s%s) VALUES(%s)\x00, _rowid_\x00DELETE FROM \"%s%w\" WHERE %s\x00, rbu_rowid\x00CREATE TABLE IF NOT EXISTS %s.'rbu_tmp_%q' AS SELECT *%s FROM '%q' WHERE 0;\x00, 0 AS rbu_rowid\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\x00SELECT %s,%s rbu_control%s FROM '%q'%s %s %s %s\x000 AS \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\x00file:%s-vactmp?rbu_memory=1%s%s\x00&\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, %d), (%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\x00database modified during rbu %s\x00vacuum\x00update\x00BEGIN IMMEDIATE\x00PRAGMA journal_mode=off\x00-vactmp\x00DELETE FROM stat.rbu_state\x00rbu/zipvfs setup error\x00rbu(%s)/%z\x00rbu_memory\x00SELECT 0, 'tbl', '', 0, '', 1 UNION ALL SELECT 1, 'idx', '', 0, '', 2 UNION ALL SELECT 2, 'stat', '', 0, '', 0\x00PRAGMA '%q'.table_info('%q')\x00%z%s\"%w\".\"%w\".\"%w\"=\"%w\".\"%w\".\"%w\"\x00%z%s\"%w\".\"%w\".\"%w\" IS NOT \"%w\".\"%w\".\"%w\"\x00 OR \x00SELECT * FROM \"%w\".\"%w\" WHERE NOT EXISTS ( SELECT 1 FROM \"%w\".\"%w\" WHERE %s)\x00SELECT * FROM \"%w\".\"%w\", \"%w\".\"%w\" WHERE %s AND (%z)\x00table schemas do not match\x00SELECT tbl, ?2, stat FROM %Q.sqlite_stat1 WHERE tbl IS ?1 AND idx IS (CASE WHEN ?2=X'' THEN NULL ELSE ?2 END)\x00SELECT * FROM \x00 WHERE \x00 IS ?\x00SAVEPOINT changeset\x00RELEASE changeset\x00UPDATE main.\x00 SET \x00 = ?\x00idx IS CASE WHEN length(?4)=0 AND typeof(?4)='blob' THEN NULL ELSE ?4 END \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()\x00snippet\x00highlight\x00bm25\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\x00content_rowid\x00multiple content_rowid=... directives\x00columnsize\x00malformed columnsize=... directive\x00columns\x00malformed detail=... directive\x00unrecognized option: \"%.*s\"\x00reserved fts5 column name: %s\x00unindexed\x00unrecognized column option: %s\x00T.%Q\x00, T.%Q\x00, T.c%d\x00reserved fts5 table name: %s\x00parse error in \"%s\"\x00docsize\x00%Q.'%q_%s'\x00CREATE TABLE x(\x00%z%s%Q\x00%z, %Q HIDDEN, %s HIDDEN)\x00pgsz\x00hashsize\x00automerge\x00usermerge\x00crisismerge\x00SELECT k, v FROM %Q.'%q_config'\x00version\x00invalid fts5 file format (found %d, expected %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)\x00fts5: %s queries are not supported (detail!=full)\x00phrase\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=?\x00PRAGMA %Q.data_version\x00SELECT pgno FROM '%q'.'%q_idx' WHERE segid=? AND term<=? ORDER BY term DESC LIMIT 1\x00INSERT INTO '%q'.'%q_idx'(segid,term,pgno) VALUES(?,?,?)\x00%s_data\x00id INTEGER PRIMARY KEY, block BLOB\x00segid, term, pgno, PRIMARY KEY(segid, term)\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\x00SELECT rowid, rank FROM %Q.%Q ORDER BY %s(\"%w\"%s%s) %s\x00DESC\x00ASC\x00reads\x00unknown special query: %.*s\x00SELECT %s\x00no such function: %s\x00parse error in rank function: %s\x00%s: table does not support scanning\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\x00cannot %s contentless fts5 table: %s\x00DELETE from\x00no such cursor: %lld\x00no such tokenizer: %s\x00error in tokenizer constructor\x00fts5_api_ptr\x00fts5: 2022-03-12 13:37:29 38c210fdd258658321c85ec9c01a072fda3ada94540e3239d29b34dc547a8cbc\x00config\x00fts5\x00fts5_source_id\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(?,?)\x00DELETE FROM %Q.'%q_docsize' WHERE id=?\x00SELECT sz FROM %Q.'%q_docsize' WHERE id=?\x00REPLACE INTO %Q.'%q_config' VALUES(?,?)\x00SELECT %s FROM %s AS T\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\x00id INTEGER PRIMARY KEY, sz BLOB\x00k PRIMARY KEY, v\x00DELETE FROM %Q.'%q_data';DELETE FROM %Q.'%q_idx';\x00DELETE FROM %Q.'%q_docsize';\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\x00ascii\x00porter\x00trigram\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\x002022-03-12 13:37:29 38c210fdd258658321c85ec9c01a072fda3ada94540e3239d29b34dc547a8cbc\x00" + }{Xsqlite3_value_dup})) // sqlite3.c:129309:3: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1640)) = Xsqlite3_value_free // sqlite3.c:129310:3: + *(*func(*libc.TLS, uintptr, U64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1648)) = Xsqlite3_result_zeroblob64 // sqlite3.c:129311:3: + *(*func(*libc.TLS, uintptr, int32, Sqlite3_uint64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1656)) = Xsqlite3_bind_zeroblob64 // sqlite3.c:129312:3: + *(*func(*libc.TLS, uintptr) uint32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1664)) = Xsqlite3_value_subtype // sqlite3.c:129314:3: + *(*func(*libc.TLS, uintptr, uint32))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1672)) = Xsqlite3_result_subtype // sqlite3.c:129315:3: + *(*func(*libc.TLS, int32, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1680)) = Xsqlite3_status64 // sqlite3.c:129317:3: + *(*func(*libc.TLS, uintptr, uintptr, uint32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1688)) = Xsqlite3_strlike // sqlite3.c:129318:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1696)) = Xsqlite3_db_cacheflush // sqlite3.c:129319:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1704)) = Xsqlite3_system_errno // sqlite3.c:129321:3: + *(*func(*libc.TLS, uintptr, uint32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1712)) = Xsqlite3_trace_v2 // sqlite3.c:129323:3: + *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1720)) = Xsqlite3_expanded_sql // sqlite3.c:129324:3: + *(*func(*libc.TLS, uintptr, Sqlite3_int64))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1728)) = Xsqlite3_set_last_insert_rowid // sqlite3.c:129326:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uint32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1736)) = Xsqlite3_prepare_v3 // sqlite3.c:129328:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uint32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1744)) = Xsqlite3_prepare16_v3 // sqlite3.c:129329:3: + *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1752)) = Xsqlite3_bind_pointer // sqlite3.c:129330:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1760)) = Xsqlite3_result_pointer // sqlite3.c:129331:3: + *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1768)) = Xsqlite3_value_pointer // sqlite3.c:129332:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1776)) = Xsqlite3_vtab_nochange // sqlite3.c:129334:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1784)) = Xsqlite3_value_nochange // sqlite3.c:129335:3: + *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1792)) = Xsqlite3_vtab_collation // sqlite3.c:129336:3: + *(*func(*libc.TLS) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1800)) = Xsqlite3_keyword_count // sqlite3.c:129338:3: + *(*func(*libc.TLS, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1808)) = Xsqlite3_keyword_name // sqlite3.c:129339:3: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1816)) = Xsqlite3_keyword_check // sqlite3.c:129340:3: + *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1824)) = Xsqlite3_str_new // sqlite3.c:129341:3: + *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1832)) = Xsqlite3_str_finish // sqlite3.c:129342:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1840)) = Xsqlite3_str_appendf // sqlite3.c:129343:3: + *(*func(*libc.TLS, uintptr, uintptr, Va_list))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1848)) = Xsqlite3_str_vappendf // sqlite3.c:129344:3: + *(*func(*libc.TLS, uintptr, uintptr, int32))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1856)) = Xsqlite3_str_append // sqlite3.c:129345:3: + *(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1864)) = Xsqlite3_str_appendall // sqlite3.c:129346:3: + *(*func(*libc.TLS, uintptr, int32, uint8))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1872)) = Xsqlite3_str_appendchar // sqlite3.c:129347:3: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1880)) = Xsqlite3_str_reset // sqlite3.c:129348:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1888)) = Xsqlite3_str_errcode // sqlite3.c:129349:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1896)) = Xsqlite3_str_length // sqlite3.c:129350:3: + *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1904)) = Xsqlite3_str_value // sqlite3.c:129351:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, int32, uintptr, uintptr, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1912)) = Xsqlite3_create_window_function // sqlite3.c:129353:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1928)) = Xsqlite3_stmt_isexplain // sqlite3.c:129361:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1936)) = Xsqlite3_value_frombind // sqlite3.c:129362:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1944)) = Xsqlite3_drop_modules // sqlite3.c:129365:3: + *(*func(*libc.TLS, Sqlite3_int64) Sqlite3_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1952)) = Xsqlite3_hard_heap_limit64 // sqlite3.c:129370:3: + *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1960)) = Xsqlite3_uri_key // sqlite3.c:129371:3: + *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1968)) = Xsqlite3_filename_database // sqlite3.c:129372:3: + *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1976)) = Xsqlite3_filename_journal // sqlite3.c:129373:3: + *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1984)) = Xsqlite3_filename_wal // sqlite3.c:129374:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1992)) = Xsqlite3_create_filename // sqlite3.c:129376:3: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 2000)) = Xsqlite3_free_filename // sqlite3.c:129377:3: + *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 2008)) = Xsqlite3_database_file_object // sqlite3.c:129378:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 2016)) = Xsqlite3_txn_state // sqlite3.c:129380:3: + *(*func(*libc.TLS, uintptr) Sqlite3_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 2024)) = Xsqlite3_changes64 // sqlite3.c:129382:3: + *(*func(*libc.TLS, uintptr) Sqlite3_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 2032)) = Xsqlite3_total_changes64 // sqlite3.c:129383:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 2040)) = Xsqlite3_autovacuum_pages // sqlite3.c:129385:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 2048)) = Xsqlite3_error_offset // sqlite3.c:129387:3: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 2056)) = Xsqlite3_vtab_rhs_value // sqlite3.c:129388:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 2064)) = Xsqlite3_vtab_distinct // sqlite3.c:129389:3: + *(*func(*libc.TLS, uintptr, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 2072)) = Xsqlite3_vtab_in // sqlite3.c:129390:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 2080)) = Xsqlite3_vtab_in_first // sqlite3.c:129391:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 2088)) = Xsqlite3_vtab_in_next // sqlite3.c:129392:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3BuiltinExtensions)) + 0)) = Xsqlite3Fts5Init // sqlite3.c:168545:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3BuiltinExtensions)) + 8)) = Xsqlite3RtreeInit // sqlite3.c:168551:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3BuiltinExtensions)) + 16)) = sqlite3TestExtInit // sqlite3.c:168559:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3BuiltinExtensions)) + 24)) = Xsqlite3JsonTableFunctions // sqlite3.c:168561:3: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&statGetFuncdef)) + 24)) = statGet // sqlite3.c:112006:3: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&statInitFuncdef)) + 24)) = statInit // sqlite3.c:111582:3: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&statPushFuncdef)) + 24)) = statPush // sqlite3.c:111872:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 40)) = rbuVfsOpen // sqlite3.c:208945:5: + *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 48)) = rbuVfsDelete // sqlite3.c:208946:5: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 56)) = rbuVfsAccess // sqlite3.c:208947:5: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 64)) = rbuVfsFullPathname // sqlite3.c:208948:5: + *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 72)) = rbuVfsDlOpen // sqlite3.c:208951:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 80)) = rbuVfsDlError // sqlite3.c:208952:5: + *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 88)) = rbuVfsDlSym // sqlite3.c:208953:5: + *(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 96)) = rbuVfsDlClose // sqlite3.c:208954:5: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 104)) = rbuVfsRandomness // sqlite3.c:208959:5: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 112)) = rbuVfsSleep // sqlite3.c:208960:5: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 120)) = rbuVfsCurrentTime // sqlite3.c:208961:5: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 128)) = rbuVfsGetLastError // sqlite3.c:208962:5: +} + +var ts1 = "3.38.2\x00ATOMIC_INTRINSICS=1\x00COMPILER=gcc-10.2.1 20210110\x00DEFAULT_AUTOVACUUM\x00DEFAULT_CACHE_SIZE=-2000\x00DEFAULT_FILE_FORMAT=4\x00DEFAULT_JOURNAL_SIZE_LIMIT=-1\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\x00ENABLE_COLUMN_METADATA\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=127\x00MAX_LENGTH=1000000000\x00MAX_LIKE_PATTERN_LENGTH=50000\x00MAX_MMAP_SIZE=0x7fff0000\x00MAX_PAGE_COUNT=1073741823\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\x00BINARY\x00ANY\x00BLOB\x00INT\x00INTEGER\x00REAL\x00TEXT\x0020b:20e\x0020c:20e\x0020e\x0040f-21a-21d\x00now\x00local time unavailable\x00second\x00minute\x00hour\x00\x00\x00day\x00\x00\x00\x00month\x00\x00year\x00\x00\x00auto\x00julianday\x00localtime\x00unixepoch\x00utc\x00weekday \x00start of \x00month\x00year\x00day\x00%02d\x00%06.3f\x00%03d\x00%.16g\x00%lld\x00%04d\x00date\x00time\x00datetime\x00strftime\x00current_time\x00current_timestamp\x00current_date\x00failed to allocate %u bytes of memory\x00failed memory resize %u to %u bytes\x00out of memory\x000123456789ABCDEF0123456789abcdef\x00-x0\x00X0\x00%\x00NaN\x00Inf\x00\x00NULL\x00(NULL)\x00.\x00SUBQUERY %u\x00thstndrd\x00922337203685477580\x00API call with %s database connection pointer\x00unopened\x00invalid\x00Savepoint\x00AutoCommit\x00Transaction\x00SorterNext\x00Prev\x00Next\x00Checkpoint\x00JournalMode\x00Vacuum\x00VFilter\x00VUpdate\x00Goto\x00Gosub\x00InitCoroutine\x00Yield\x00MustBeInt\x00Jump\x00Once\x00If\x00Not\x00IfNot\x00IsNullOrType\x00IfNullRow\x00SeekLT\x00SeekLE\x00SeekGE\x00SeekGT\x00IfNotOpen\x00IfNoHope\x00NoConflict\x00NotFound\x00Found\x00SeekRowid\x00NotExists\x00Last\x00IfSmaller\x00SorterSort\x00Sort\x00Rewind\x00IdxLE\x00IdxGT\x00IdxLT\x00IdxGE\x00Or\x00And\x00RowSetRead\x00RowSetTest\x00Program\x00FkIfZero\x00IfPos\x00IsNull\x00NotNull\x00Ne\x00Eq\x00Gt\x00Le\x00Lt\x00Ge\x00ElseEq\x00IfNotZero\x00DecrJumpZero\x00IncrVacuum\x00VNext\x00Filter\x00Init\x00PureFunc\x00Function\x00Return\x00EndCoroutine\x00HaltIfNull\x00Halt\x00Integer\x00Int64\x00String\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\x00VInitIn\x00VColumn\x00VRename\x00Pagecount\x00MaxPgcnt\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\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\x00SQLite format 3\x00:memory:\x00@ \x00\n\x00invalid page number %d\x002nd reference to page %d\x00Failed to read ptrmap key=%d\x00Bad ptr map entry key=%d expected=(%d,%d) got=(%d,%d)\x00failed to get page %d\x00freelist leaf count too big on page %d\x00%s is %d but should be %d\x00size\x00overflow list length\x00Page %u: \x00unable to get the page. error code=%d\x00btreeInitPage() returns error code %d\x00free space corruption\x00On tree page %u cell %d: \x00On page %u at right child: \x00Offset %d out of range %d..%d\x00Extends off end of page\x00Rowid %lld out of order\x00Child page depth differs\x00Multiple uses for byte %u of page %u\x00Fragmentation of %d bytes reported as %d on page %u\x00Main freelist: \x00max rootpage (%d) disagrees with header (%d)\x00incremental_vacuum enabled with a max rootpage of zero\x00Page %d is never used\x00Pointer map page %d is referenced\x00unknown database %s\x00destination database is in use\x00source and destination must be distinct\x00%!.15g\x00-\x00%s%s\x00k(%d\x00B\x00,%s%s%s\x00N.\x00)\x00%.18s-%s\x00%s(%d)\x00%d\x00(blob)\x00vtab:%p\x00%c%u\x00]\x00program\x00?\x008\x0016LE\x0016BE\x00addr\x00opcode\x00p1\x00p2\x00p3\x00p4\x00p5\x00comment\x00id\x00parent\x00notused\x00detail\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\x00ValueList\x00bind on a busy prepared statement: [%s]\x00-- \x00'%.*q'\x00zeroblob(%d)\x00x'\x00%02x\x00'\x00%s constraint failed\x00%z: %s\x00abort at %d in [%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\x00cannot change %s wal mode from within a transaction\x00into\x00out of\x00database table is locked: %s\x00-- %s\x00statement aborts at %d: [%s] %s\x00NOT NULL\x00UNIQUE\x00CHECK\x00FOREIGN KEY\x00cannot open value of type %s\x00null\x00real\x00integer\x00no such rowid: %lld\x00cannot open virtual table: %s\x00cannot open table without rowid: %s\x00cannot open view: %s\x00no such column: \"%s\"\x00foreign key\x00indexed\x00cannot open %s column for writing\x00main\x00*\x00new\x00old\x00excluded\x00misuse of aliased aggregate %s\x00misuse of aliased window function %s\x00row value misused\x00double-quoted string literal: \"%w\"\x00no such column\x00ambiguous column name\x00%s: %s.%s.%s\x00%s: %s.%s\x00%s: %s\x00partial index WHERE clauses\x00index expressions\x00CHECK constraints\x00generated columns\x00%s prohibited in %s\x00true\x00false\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\x00a GROUP BY clause is required before HAVING\x00GROUP\x00aggregate functions are not allowed in the GROUP BY clause\x00Expression tree is too large (maximum depth %d)\x00IN(...) element has %d term%s - expected %d\x00s\x000\x00too many arguments on function %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\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\x00%sLIST SUBQUERY %d\x00CORRELATED \x00REUSE SUBQUERY %d\x00%sSCALAR SUBQUERY %d\x001\x000x\x00hex literal too big: %s%#T\x00generated column loop on \"%s\"\x00blob\x00text\x00numeric\x00none\x00misuse of aggregate: %#T()\x00unknown function: %#T()\x00RAISE() may only be used within a trigger-program\x00B\x00C\x00D\x00E\x00sqlite_\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') ELSE raise(ABORT,'NOT NULL constraint failed') END FROM pragma_quick_check(%Q,%Q) WHERE quick_check GLOB 'CHECK*' OR quick_check GLOB 'NULL*'\x00virtual tables may not be altered\x00Cannot add a column to a view\x00sqlite_altertab_%s\x00view\x00virtual table\x00cannot %s %s \"%s\"\x00drop column from\x00rename columns of\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')\x00error in %s %s%s%s: %s\x00 \x00CREATE \x00\"%w\" \x00%Q%s\x00%.*s%s\x00cannot drop %s column: \"%s\"\x00PRIMARY KEY\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\x00CREATE TABLE %Q.%s(%s)\x00DELETE FROM %Q.%s WHERE %s=%Q\x00DELETE FROM %Q.%s\x00sqlite_stat1\x00tbl,idx,stat\x00sqlite_stat4\x00tbl,idx,neq,nlt,ndlt,sample\x00sqlite_stat3\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\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\x00sqlite_temp_schema\x00sqlite_schema\x00sqlite_temp_master\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\x00sqlite_returning\x00cannot use RETURNING in a trigger\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'\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\x00unsupported use of NULLS %s\x00FIRST\x00LAST\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\x00CREATE%s INDEX %.*s\x00 UNIQUE\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\x00a JOIN clause is required before %s\x00ON\x00USING\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\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%!.20e\x00%Q\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\x00instr\x00printf\x00format\x00unicode\x00char\x00abs\x00round\x00upper\x00lower\x00hex\x00ifnull\x00random\x00randomblob\x00nullif\x00sqlite_version\x00sqlite_source_id\x00sqlite_log\x00quote\x00last_insert_rowid\x00changes\x00total_changes\x00replace\x00zeroblob\x00substr\x00substring\x00sum\x00total\x00avg\x00count\x00group_concat\x00glob\x00coalesce\x00ceil\x00ceiling\x00floor\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\x00foreign key mismatch - \"%w\" referencing \"%w\"\x00cannot INSERT into generated column \"%s\"\x00table %S has no column named %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\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]\x00so\x00automatic extension loading failed: %s\x00seq\x00from\x00to\x00on_update\x00on_delete\x00match\x00cid\x00name\x00type\x00notnull\x00dflt_value\x00pk\x00hidden\x00schema\x00ncol\x00wr\x00strict\x00seqno\x00desc\x00coll\x00key\x00builtin\x00enc\x00narg\x00flags\x00wdth\x00hght\x00flgs\x00unique\x00origin\x00partial\x00rowid\x00fkid\x00file\x00busy\x00checkpointed\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\x00onoffalseyestruextrafull\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\x00w\x00a\x00sissii\x00utf8\x00utf16le\x00utf16be\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\x00NULL value in %s.%s\x00non-%s value in %s.%s\x00CHECK constraint failed in %s\x00row \x00 missing from index \x00non-unique entry in index \x00wrong # of entries in index \x00ok\x00unsupported encoding: %s\x00restart\x00ANALYZE \"%w\".\"%w\"\x00UTF8\x00UTF-8\x00UTF-16le\x00UTF-16be\x00UTF16le\x00UTF16be\x00UTF-16\x00UTF16\x00CREATE TABLE x\x00%c\"%s\"\x00(\"%s\"\x00,arg HIDDEN\x00,schema HIDDEN\x00PRAGMA \x00%Q.\x00=%Q\x00error in %s %s after %s: %s\x00malformed database schema (%s)\x00%z - %s\x00rename\x00drop column\x00add column\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 or unsupported join type: %T %T%s%T\x00RIGHT and FULL OUTER JOINs are not currently supported\x00naturaleftouterightfullinnercross\x00a NATURAL join may not have an ON or USING clause\x00cannot have both ON and USING clauses in the same join\x00cannot join using column %s - column not present in both tables\x00UNION ALL\x00INTERSECT\x00EXCEPT\x00UNION\x00USE TEMP B-TREE FOR %s\x00column%d\x00%.*z:%u\x00cannot use window functions in recursive queries\x00recursive aggregate queries not supported\x00SETUP\x00RECURSIVE STEP\x00SCAN %d CONSTANT ROW%s\x00S\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\x00subquery_%u\x00too many references to \"%s\": max 65535\x00access to view \"%s\" prohibited\x00unsafe use of virtual table \"%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)\x00SCAN %s%s%s\x00 USING COVERING INDEX \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\x00RIGHT PART OF ORDER BY\x00ORDER 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\x00trigger %T already exists\x00cannot create trigger on system table\x00cannot create %s trigger on view: %S\x00BEFORE\x00AFTER\x00cannot create INSTEAD OF trigger on 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'\x00%s RETURNING is not available on virtual tables\x00DELETE\x00UPDATE\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\x00ATTACH %Q AS vacuum_db\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 vacuum_db.'||quote(name)||' SELECT*FROM\"%w\".'||quote(name)FROM vacuum_db.sqlite_schema WHERE type='table'AND coalesce(rootpage,1)>0\x00INSERT INTO vacuum_db.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\x00\x00 AND \x00(\x00 (\x00%s=?\x00ANY(%s)\x00>\x00<\x00%s %S\x00SEARCH\x00SCAN\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 %d:%s\x00BLOOM FILTER ON %S (\x00rowid=?\x00MULTI-INDEX OR\x00INDEX %d\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\x00second argument to nth_value must be a positive integer\x00argument of ntile must be a positive integer\x00row_number\x00dense_rank\x00rank\x00percent_rank\x00cume_dist\x00ntile\x00last_value\x00nth_value\x00first_value\x00lead\x00lag\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\x00%s clause should come after %s not before\x00LIMIT\x00too many terms in compound SELECT\x00syntax error after column name \"%.*s\"\x00parser stack overflow\x00unknown table option: %.*s\x00set list\x00near \"%T\": syntax error\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\x00unknown error\x00abort due to ROLLBACK\x00another row available\x00no more rows available\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\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\x00mode\x00no such %s mode: %s\x00%s mode not allowed: %s\x00no such vfs: %s\x00shared\x00private\x00ro\x00rw\x00rwc\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\x000123456789abcdef\x00JSON cannot hold BLOB values\x00malformed JSON\x00[0]\x00JSON path error near '%q'\x00json_%s() needs an odd number of arguments\x00$[\x00$.\x00json_object() requires an even number of arguments\x00json_object() labels must be TEXT\x00set\x00insert\x00[]\x00{}\x00CREATE TABLE x(key,value,type,atom,id,parent,fullkey,path,json HIDDEN,root HIDDEN)\x00[%d]\x00.%.*s\x00$\x00json\x00json_array\x00json_array_length\x00json_extract\x00->\x00->>\x00json_insert\x00json_object\x00json_patch\x00json_quote\x00json_remove\x00json_replace\x00json_set\x00json_type\x00json_valid\x00json_group_array\x00json_group_object\x00json_each\x00json_tree\x00%s_node\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\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\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\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\x00CREATE TABLE x(%.*s INT\x00,%.*s\x00);\x00,%.*s REAL\x00,%.*s INT\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\x00Mapping (%lld -> %lld) missing from %s table\x00%_rowid\x00%_parent\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\x00END\x00wrong number of arguments to function rtreecheck()\x00[\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\x00geopoly_area\x00geopoly_blob\x00geopoly_json\x00geopoly_svg\x00geopoly_contains_point\x00geopoly_debug\x00geopoly_bbox\x00geopoly_xform\x00geopoly_regular\x00geopoly_ccw\x00geopoly_group_bbox\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;\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\x00AND rootpage!=0 AND rootpage IS NOT NULL\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\x00table %q %s rbu_rowid column\x00may not have\x00requires\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%z%s\"%w\" %s %sCOLLATE %Q%s\x00 NOT NULL\x00%z, %z\x00CREATE TABLE \"rbu_imp_%w\"(%z)%s\x00 WITHOUT ROWID\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\x00SELECT %s, 0 AS rbu_control FROM '%q' %s %s %s ORDER BY %s%s\x00AND\x00WHERE\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_\x00INSERT INTO \"%s%w\"(%s%s) VALUES(%s)\x00, _rowid_\x00DELETE FROM \"%s%w\" WHERE %s\x00, rbu_rowid\x00CREATE TABLE IF NOT EXISTS %s.'rbu_tmp_%q' AS SELECT *%s FROM '%q' WHERE 0;\x00, 0 AS rbu_rowid\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\x00SELECT %s,%s rbu_control%s FROM '%q'%s %s %s %s\x000 AS \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\x00file:%s-vactmp?rbu_memory=1%s%s\x00&\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, %d), (%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\x00database modified during rbu %s\x00vacuum\x00update\x00BEGIN IMMEDIATE\x00PRAGMA journal_mode=off\x00-vactmp\x00DELETE FROM stat.rbu_state\x00rbu/zipvfs setup error\x00rbu(%s)/%z\x00rbu_memory\x00SELECT 0, 'tbl', '', 0, '', 1 UNION ALL SELECT 1, 'idx', '', 0, '', 2 UNION ALL SELECT 2, 'stat', '', 0, '', 0\x00PRAGMA '%q'.table_info('%q')\x00%z%s\"%w\".\"%w\".\"%w\"=\"%w\".\"%w\".\"%w\"\x00%z%s\"%w\".\"%w\".\"%w\" IS NOT \"%w\".\"%w\".\"%w\"\x00 OR \x00SELECT * FROM \"%w\".\"%w\" WHERE NOT EXISTS ( SELECT 1 FROM \"%w\".\"%w\" WHERE %s)\x00SELECT * FROM \"%w\".\"%w\", \"%w\".\"%w\" WHERE %s AND (%z)\x00table schemas do not match\x00SELECT tbl, ?2, stat FROM %Q.sqlite_stat1 WHERE tbl IS ?1 AND idx IS (CASE WHEN ?2=X'' THEN NULL ELSE ?2 END)\x00SELECT * FROM \x00 WHERE \x00 IS ?\x00SAVEPOINT changeset\x00RELEASE changeset\x00UPDATE main.\x00 SET \x00 = ?\x00idx IS CASE WHEN length(?4)=0 AND typeof(?4)='blob' THEN NULL ELSE ?4 END \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()\x00snippet\x00highlight\x00bm25\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\x00content_rowid\x00multiple content_rowid=... directives\x00columnsize\x00malformed columnsize=... directive\x00columns\x00malformed detail=... directive\x00unrecognized option: \"%.*s\"\x00reserved fts5 column name: %s\x00unindexed\x00unrecognized column option: %s\x00T.%Q\x00, T.%Q\x00, T.c%d\x00reserved fts5 table name: %s\x00parse error in \"%s\"\x00docsize\x00%Q.'%q_%s'\x00CREATE TABLE x(\x00%z%s%Q\x00%z, %Q HIDDEN, %s HIDDEN)\x00pgsz\x00hashsize\x00automerge\x00usermerge\x00crisismerge\x00SELECT k, v FROM %Q.'%q_config'\x00version\x00invalid fts5 file format (found %d, expected %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)\x00fts5: %s queries are not supported (detail!=full)\x00phrase\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=?\x00PRAGMA %Q.data_version\x00SELECT pgno FROM '%q'.'%q_idx' WHERE segid=? AND term<=? ORDER BY term DESC LIMIT 1\x00INSERT INTO '%q'.'%q_idx'(segid,term,pgno) VALUES(?,?,?)\x00%s_data\x00id INTEGER PRIMARY KEY, block BLOB\x00segid, term, pgno, PRIMARY KEY(segid, term)\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\x00SELECT rowid, rank FROM %Q.%Q ORDER BY %s(\"%w\"%s%s) %s\x00DESC\x00ASC\x00reads\x00unknown special query: %.*s\x00SELECT %s\x00no such function: %s\x00parse error in rank function: %s\x00%s: table does not support scanning\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\x00cannot %s contentless fts5 table: %s\x00DELETE from\x00no such cursor: %lld\x00no such tokenizer: %s\x00error in tokenizer constructor\x00fts5_api_ptr\x00fts5: 2022-03-26 13:51:10 d33c709cc0af66bc5b6dc6216eba9f1f0b40960b9ae83694c986fbf4c1d6f08f\x00config\x00fts5\x00fts5_source_id\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(?,?)\x00DELETE FROM %Q.'%q_docsize' WHERE id=?\x00SELECT sz FROM %Q.'%q_docsize' WHERE id=?\x00REPLACE INTO %Q.'%q_config' VALUES(?,?)\x00SELECT %s FROM %s AS T\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\x00id INTEGER PRIMARY KEY, sz BLOB\x00k PRIMARY KEY, v\x00DELETE FROM %Q.'%q_data';DELETE FROM %Q.'%q_idx';\x00DELETE FROM %Q.'%q_docsize';\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\x00ascii\x00porter\x00trigram\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\x002022-03-26 13:51:10 d33c709cc0af66bc5b6dc6216eba9f1f0b40960b9ae83694c986fbf4c1d6f08f\x00" var ts = (*reflect.StringHeader)(unsafe.Pointer(&ts1)).Data diff --git a/vendor/modernc.org/sqlite/lib/sqlite_linux_riscv64.go b/vendor/modernc.org/sqlite/lib/sqlite_linux_riscv64.go index e7cfcc67..82043c45 100644 --- a/vendor/modernc.org/sqlite/lib/sqlite_linux_riscv64.go +++ b/vendor/modernc.org/sqlite/lib/sqlite_linux_riscv64.go @@ -1,4 +1,4 @@ -// Code generated by 'ccgo -DSQLITE_PRIVATE= -export-defines "" -export-enums "" -export-externs X -export-fields F -export-typedefs "" -ignore-unsupported-alignment -pkgname sqlite3 -o lib/sqlite_linux_riscv64.go -trace-translation-units testdata/sqlite-amalgamation-3380100/sqlite3.c -DNDEBUG -DHAVE_USLEEP -DLONGDOUBLE_TYPE=double -DSQLITE_CORE -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_GEOPOLY -DSQLITE_ENABLE_MATH_FUNCTIONS -DSQLITE_ENABLE_MEMORY_MANAGEMENT -DSQLITE_ENABLE_OFFSET_SQL_FUNC -DSQLITE_ENABLE_PREUPDATE_HOOK -DSQLITE_ENABLE_RBU -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_SESSION -DSQLITE_ENABLE_SNAPSHOT -DSQLITE_ENABLE_STAT4 -DSQLITE_ENABLE_UNLOCK_NOTIFY -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_MUTEX_APPDEF=1 -DSQLITE_MUTEX_NOOP -DSQLITE_SOUNDEX -DSQLITE_THREADSAFE=1 -DSQLITE_OS_UNIX=1', DO NOT EDIT. +// Code generated by 'ccgo -DSQLITE_PRIVATE= -export-defines "" -export-enums "" -export-externs X -export-fields F -export-typedefs "" -ignore-unsupported-alignment -pkgname sqlite3 -o lib/sqlite_linux_riscv64.go -trace-translation-units testdata/sqlite-amalgamation-3380200/sqlite3.c -DNDEBUG -DHAVE_USLEEP -DLONGDOUBLE_TYPE=double -DSQLITE_CORE -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_GEOPOLY -DSQLITE_ENABLE_MATH_FUNCTIONS -DSQLITE_ENABLE_MEMORY_MANAGEMENT -DSQLITE_ENABLE_OFFSET_SQL_FUNC -DSQLITE_ENABLE_PREUPDATE_HOOK -DSQLITE_ENABLE_RBU -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_SESSION -DSQLITE_ENABLE_SNAPSHOT -DSQLITE_ENABLE_STAT4 -DSQLITE_ENABLE_UNLOCK_NOTIFY -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_MUTEX_APPDEF=1 -DSQLITE_MUTEX_NOOP -DSQLITE_SOUNDEX -DSQLITE_THREADSAFE=1 -DSQLITE_OS_UNIX=1', DO NOT EDIT. package sqlite3 @@ -2147,7 +2147,7 @@ const ( SQLITE_SHM_UNLOCK = 1 SQLITE_SORTER_PMASZ = 250 SQLITE_SOUNDEX = 1 - SQLITE_SOURCE_ID = "2022-03-12 13:37:29 38c210fdd258658321c85ec9c01a072fda3ada94540e3239d29b34dc547a8cbc" + SQLITE_SOURCE_ID = "2022-03-26 13:51:10 d33c709cc0af66bc5b6dc6216eba9f1f0b40960b9ae83694c986fbf4c1d6f08f" SQLITE_SO_ASC = 0 SQLITE_SO_DESC = 1 SQLITE_SO_UNDEFINED = -1 @@ -2254,8 +2254,8 @@ const ( SQLITE_UTF8 = 1 SQLITE_VDBEINT_H = 0 SQLITE_VDBE_H = 0 - SQLITE_VERSION = "3.38.1" - SQLITE_VERSION_NUMBER = 3038001 + SQLITE_VERSION = "3.38.2" + SQLITE_VERSION_NUMBER = 3038002 SQLITE_VTABRISK_High = 2 SQLITE_VTABRISK_Low = 0 SQLITE_VTABRISK_Normal = 1 @@ -3717,7 +3717,7 @@ type X__float128 = float64 /* :47:21 */ // ***************************************************************************** // // This file is an amalgamation of many separate C source files from SQLite -// version 3.38.1. By combining all the individual C code files into this +// version 3.38.2. By combining all the individual C code files into this // single large file, the entire code can be compiled as a single translation // unit. This allows many compilers to do optimizations that would not be // possible if the files were compiled separately. Performance improvements @@ -26187,12 +26187,22 @@ var pgsz int32 = 4096 /* sqlite3.c:39581:28 */ // to shared and back or from unlocked to exclusive and back. But one may // not go from shared to exclusive or from exclusive to shared. func unixShmLock(tls *libc.TLS, fd uintptr, ofst int32, n int32, flags int32) int32 { /* sqlite3.c:39687:12: */ - var pDbFd uintptr = fd // Connection holding shared memory - var p uintptr = (*UnixFile)(unsafe.Pointer(pDbFd)).FpShm // The shared memory being locked - var pShmNode uintptr = (*UnixShm)(unsafe.Pointer(p)).FpShmNode // The underlying file iNode - var rc int32 = SQLITE_OK // Result code - var mask U16 // Mask of locks to take or release - var aLock uintptr = pShmNode + 64 /* &.aLock */ + var pDbFd uintptr = fd // Connection holding shared memory + var p uintptr // The shared memory being locked + var pShmNode uintptr // The underlying file iNode + var rc int32 = SQLITE_OK // Result code + var mask U16 // Mask of locks to take or release + var aLock uintptr + + p = (*UnixFile)(unsafe.Pointer(pDbFd)).FpShm + if p == uintptr(0) { + return SQLITE_IOERR | int32(20)<<8 + } + pShmNode = (*UnixShm)(unsafe.Pointer(p)).FpShmNode + if pShmNode == uintptr(0) { + return SQLITE_IOERR | int32(20)<<8 + } + aLock = pShmNode + 64 /* &.aLock */ // Check that, if this to be a blocking lock, no locks that occur later // in the following list than the lock being obtained are already held: @@ -26293,7 +26303,7 @@ func unixShmLock(tls *libc.TLS, fd uintptr, ofst int32, n int32, flags int32) in // // All loads and stores begun before the barrier must complete before // any load or store begun after the barrier. -func unixShmBarrier(tls *libc.TLS, fd uintptr) { /* sqlite3.c:39819:13: */ +func unixShmBarrier(tls *libc.TLS, fd uintptr) { /* sqlite3.c:39825:13: */ _ = fd // compiler-defined memory barrier @@ -26306,7 +26316,7 @@ func unixShmBarrier(tls *libc.TLS, fd uintptr) { /* sqlite3.c:39819:13: */ // // If there is no shared memory associated with the connection then this // routine is a harmless no-op. -func unixShmUnmap(tls *libc.TLS, fd uintptr, deleteFlag int32) int32 { /* sqlite3.c:39838:12: */ +func unixShmUnmap(tls *libc.TLS, fd uintptr, deleteFlag int32) int32 { /* sqlite3.c:39844:12: */ var p uintptr // The connection to be closed var pShmNode uintptr // The underlying shared-memory file var pp uintptr // For looping over sibling connections @@ -26349,7 +26359,7 @@ func unixShmUnmap(tls *libc.TLS, fd uintptr, deleteFlag int32) int32 { /* sqlite } // If it is currently memory mapped, unmap file pFd. -func unixUnmapfile(tls *libc.TLS, pFd uintptr) { /* sqlite3.c:39895:13: */ +func unixUnmapfile(tls *libc.TLS, pFd uintptr) { /* sqlite3.c:39901:13: */ if (*UnixFile)(unsafe.Pointer(pFd)).FpMapRegion != 0 { (*(*func(*libc.TLS, uintptr, Size_t) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 23*24 + 8)))(tls, (*UnixFile)(unsafe.Pointer(pFd)).FpMapRegion, uint64((*UnixFile)(unsafe.Pointer(pFd)).FmmapSizeActual)) @@ -26372,7 +26382,7 @@ func unixUnmapfile(tls *libc.TLS, pFd uintptr) { /* sqlite3.c:39895:13: */ // the three variables above are zeroed. In this case SQLite should // continue accessing the database using the xRead() and xWrite() // methods. -func unixRemapfile(tls *libc.TLS, pFd uintptr, nNew I64) { /* sqlite3.c:39920:13: */ +func unixRemapfile(tls *libc.TLS, pFd uintptr, nNew I64) { /* sqlite3.c:39926:13: */ var zErr uintptr = ts + 3361 /* "mmap" */ var h int32 = (*UnixFile)(unsafe.Pointer(pFd)).Fh // File descriptor open on db file var pOrig uintptr = (*UnixFile)(unsafe.Pointer(pFd)).FpMapRegion // Pointer to current file mapping @@ -26406,7 +26416,7 @@ func unixRemapfile(tls *libc.TLS, pFd uintptr, nNew I64) { /* sqlite3.c:39920:13 if pNew == libc.UintptrFromInt32(-1) { pNew = uintptr(0) nNew = int64(0) - unixLogErrorAtLine(tls, SQLITE_OK, zErr, (*UnixFile)(unsafe.Pointer(pFd)).FzPath, 39985) + unixLogErrorAtLine(tls, SQLITE_OK, zErr, (*UnixFile)(unsafe.Pointer(pFd)).FzPath, 39991) // If the mmap() above failed, assume that all subsequent mmap() calls // will probably fail too. Fall back to using xRead/xWrite exclusively @@ -26431,7 +26441,7 @@ func unixRemapfile(tls *libc.TLS, pFd uintptr, nNew I64) { /* sqlite3.c:39920:13 // SQLITE_OK is returned if no error occurs (even if the mapping is not // recreated as a result of outstanding references) or an SQLite error // code otherwise. -func unixMapfile(tls *libc.TLS, pFd uintptr, nMap I64) int32 { /* sqlite3.c:40012:12: */ +func unixMapfile(tls *libc.TLS, pFd uintptr, nMap I64) int32 { /* sqlite3.c:40018:12: */ bp := tls.Alloc(128) defer tls.Free(128) @@ -26468,7 +26478,7 @@ func unixMapfile(tls *libc.TLS, pFd uintptr, nMap I64) int32 { /* sqlite3.c:4001 // // If this function does return a pointer, the caller must eventually // release the reference by calling unixUnfetch(). -func unixFetch(tls *libc.TLS, fd uintptr, iOff I64, nAmt int32, pp uintptr) int32 { /* sqlite3.c:40049:12: */ +func unixFetch(tls *libc.TLS, fd uintptr, iOff I64, nAmt int32, pp uintptr) int32 { /* sqlite3.c:40055:12: */ var pFd uintptr = fd // The underlying database file *(*uintptr)(unsafe.Pointer(pp)) = uintptr(0) @@ -26495,7 +26505,7 @@ func unixFetch(tls *libc.TLS, fd uintptr, iOff I64, nAmt int32, pp uintptr) int3 // Or, if the third argument is NULL, then this function is being called // to inform the VFS layer that, according to POSIX, any existing mapping // may now be invalid and should be unmapped. -func unixUnfetch(tls *libc.TLS, fd uintptr, iOff I64, p uintptr) int32 { /* sqlite3.c:40080:12: */ +func unixUnfetch(tls *libc.TLS, fd uintptr, iOff I64, p uintptr) int32 { /* sqlite3.c:40086:12: */ var pFd uintptr = fd // The underlying database file _ = iOff @@ -26556,33 +26566,33 @@ func unixUnfetch(tls *libc.TLS, fd uintptr, iOff I64, p uintptr) int32 { /* sqli // Here are all of the sqlite3_io_methods objects for each of the // locking strategies. Functions that return pointers to these methods // are also created. -var posixIoMethods = Sqlite3_io_methods{FiVersion: 3 /* iVersion */, FxClose: 0 /* xClose */, FxRead: 0 /* xRead */, FxWrite: 0 /* xWrite */, FxTruncate: 0 /* xTruncate */, FxSync: 0 /* xSync */, FxFileSize: 0 /* xFileSize */, FxLock: 0 /* xLock */, FxUnlock: 0 /* xUnlock */, FxCheckReservedLock: 0 /* xCheckReservedLock */, FxFileControl: 0 /* xFileControl */, FxSectorSize: 0 /* xSectorSize */, FxDeviceCharacteristics: 0 /* xDeviceCapabilities */, FxShmMap: 0 /* xShmMap */, FxShmLock: 0 /* xShmLock */, FxShmBarrier: 0 /* xShmBarrier */, FxShmUnmap: 0 /* xShmUnmap */, FxFetch: 0 /* xFetch */, FxUnfetch: 0 /* xUnfetch */} /* sqlite3.c:40182:1 */ +var posixIoMethods = Sqlite3_io_methods{FiVersion: 3 /* iVersion */, FxClose: 0 /* xClose */, FxRead: 0 /* xRead */, FxWrite: 0 /* xWrite */, FxTruncate: 0 /* xTruncate */, FxSync: 0 /* xSync */, FxFileSize: 0 /* xFileSize */, FxLock: 0 /* xLock */, FxUnlock: 0 /* xUnlock */, FxCheckReservedLock: 0 /* xCheckReservedLock */, FxFileControl: 0 /* xFileControl */, FxSectorSize: 0 /* xSectorSize */, FxDeviceCharacteristics: 0 /* xDeviceCapabilities */, FxShmMap: 0 /* xShmMap */, FxShmLock: 0 /* xShmLock */, FxShmBarrier: 0 /* xShmBarrier */, FxShmUnmap: 0 /* xShmUnmap */, FxFetch: 0 /* xFetch */, FxUnfetch: 0 /* xUnfetch */} /* sqlite3.c:40188:1 */ -func posixIoFinderImpl(tls *libc.TLS, z uintptr, p uintptr) uintptr { /* sqlite3.c:40182:1: */ +func posixIoFinderImpl(tls *libc.TLS, z uintptr, p uintptr) uintptr { /* sqlite3.c:40188:1: */ _ = z _ = p return uintptr(unsafe.Pointer(&posixIoMethods)) } -var posixIoFinder uintptr = 0 /* sqlite3.c:40182:1 */ -var nolockIoMethods = Sqlite3_io_methods{FiVersion: 3 /* iVersion */, FxClose: 0 /* xClose */, FxRead: 0 /* xRead */, FxWrite: 0 /* xWrite */, FxTruncate: 0 /* xTruncate */, FxSync: 0 /* xSync */, FxFileSize: 0 /* xFileSize */, FxLock: 0 /* xLock */, FxUnlock: 0 /* xUnlock */, FxCheckReservedLock: 0 /* xCheckReservedLock */, FxFileControl: 0 /* xFileControl */, FxSectorSize: 0 /* xSectorSize */, FxDeviceCharacteristics: 0 /* xShmMap */, FxShmLock: 0 /* xShmLock */, FxShmBarrier: 0 /* xShmBarrier */, FxShmUnmap: 0 /* xShmUnmap */, FxFetch: 0 /* xFetch */, FxUnfetch: 0 /* xUnfetch */} /* sqlite3.c:40192:1 */ +var posixIoFinder uintptr = 0 /* sqlite3.c:40188:1 */ +var nolockIoMethods = Sqlite3_io_methods{FiVersion: 3 /* iVersion */, FxClose: 0 /* xClose */, FxRead: 0 /* xRead */, FxWrite: 0 /* xWrite */, FxTruncate: 0 /* xTruncate */, FxSync: 0 /* xSync */, FxFileSize: 0 /* xFileSize */, FxLock: 0 /* xLock */, FxUnlock: 0 /* xUnlock */, FxCheckReservedLock: 0 /* xCheckReservedLock */, FxFileControl: 0 /* xFileControl */, FxSectorSize: 0 /* xSectorSize */, FxDeviceCharacteristics: 0 /* xShmMap */, FxShmLock: 0 /* xShmLock */, FxShmBarrier: 0 /* xShmBarrier */, FxShmUnmap: 0 /* xShmUnmap */, FxFetch: 0 /* xFetch */, FxUnfetch: 0 /* xUnfetch */} /* sqlite3.c:40198:1 */ -func nolockIoFinderImpl(tls *libc.TLS, z uintptr, p uintptr) uintptr { /* sqlite3.c:40192:1: */ +func nolockIoFinderImpl(tls *libc.TLS, z uintptr, p uintptr) uintptr { /* sqlite3.c:40198:1: */ _ = z _ = p return uintptr(unsafe.Pointer(&nolockIoMethods)) } -var nolockIoFinder uintptr = 0 /* sqlite3.c:40192:1 */ -var dotlockIoMethods = Sqlite3_io_methods{FiVersion: 1 /* iVersion */, FxClose: 0 /* xClose */, FxRead: 0 /* xRead */, FxWrite: 0 /* xWrite */, FxTruncate: 0 /* xTruncate */, FxSync: 0 /* xSync */, FxFileSize: 0 /* xFileSize */, FxLock: 0 /* xLock */, FxUnlock: 0 /* xUnlock */, FxCheckReservedLock: 0 /* xCheckReservedLock */, FxFileControl: 0 /* xFileControl */, FxSectorSize: 0 /* xSectorSize */, FxDeviceCharacteristics: 0 /* xShmMap */, FxShmLock: 0 /* xShmLock */, FxShmBarrier: 0 /* xShmBarrier */, FxShmUnmap: 0 /* xShmUnmap */, FxFetch: 0 /* xFetch */, FxUnfetch: 0 /* xUnfetch */} /* sqlite3.c:40202:1 */ +var nolockIoFinder uintptr = 0 /* sqlite3.c:40198:1 */ +var dotlockIoMethods = Sqlite3_io_methods{FiVersion: 1 /* iVersion */, FxClose: 0 /* xClose */, FxRead: 0 /* xRead */, FxWrite: 0 /* xWrite */, FxTruncate: 0 /* xTruncate */, FxSync: 0 /* xSync */, FxFileSize: 0 /* xFileSize */, FxLock: 0 /* xLock */, FxUnlock: 0 /* xUnlock */, FxCheckReservedLock: 0 /* xCheckReservedLock */, FxFileControl: 0 /* xFileControl */, FxSectorSize: 0 /* xSectorSize */, FxDeviceCharacteristics: 0 /* xShmMap */, FxShmLock: 0 /* xShmLock */, FxShmBarrier: 0 /* xShmBarrier */, FxShmUnmap: 0 /* xShmUnmap */, FxFetch: 0 /* xFetch */, FxUnfetch: 0 /* xUnfetch */} /* sqlite3.c:40208:1 */ -func dotlockIoFinderImpl(tls *libc.TLS, z uintptr, p uintptr) uintptr { /* sqlite3.c:40202:1: */ +func dotlockIoFinderImpl(tls *libc.TLS, z uintptr, p uintptr) uintptr { /* sqlite3.c:40208:1: */ _ = z _ = p return uintptr(unsafe.Pointer(&dotlockIoMethods)) } -var dotlockIoFinder uintptr = 0 /* sqlite3.c:40202:1 */ +var dotlockIoFinder uintptr = 0 /* sqlite3.c:40208:1 */ // The proxy locking method is a "super-method" in the sense that it // opens secondary file descriptors for the conch and lock files and @@ -26595,7 +26605,7 @@ var dotlockIoFinder uintptr = 0 /* sqlite3.c:40202:1 */ // nfs lockd on OSX 10.3+ doesn't clear write locks when a read lock is set // An abstract type for a pointer to an IO method finder function: -type Finder_type = uintptr /* sqlite3.c:40397:34 */ +type Finder_type = uintptr /* sqlite3.c:40403:34 */ // *************************************************************************** // @@ -26605,7 +26615,7 @@ type Finder_type = uintptr /* sqlite3.c:40397:34 */ // sqlite3_vfs object. // Initialize the contents of the unixFile structure pointed to by pId. -func fillInUnixFile(tls *libc.TLS, pVfs uintptr, h int32, pId uintptr, zFilename uintptr, ctrlFlags int32) int32 { /* sqlite3.c:40410:12: */ +func fillInUnixFile(tls *libc.TLS, pVfs uintptr, h int32, pId uintptr, zFilename uintptr, ctrlFlags int32) int32 { /* sqlite3.c:40416:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -26662,7 +26672,7 @@ func fillInUnixFile(tls *libc.TLS, pVfs uintptr, h int32, pId uintptr, zFilename // If scenario (a) caused the error then things are not so safe. The // implicit assumption here is that if fstat() fails, things are in // such bad shape that dropping a lock or two doesn't matter much. - robust_close(tls, pNew, h, 40488) + robust_close(tls, pNew, h, 40494) h = -1 } unixLeaveMutex(tls) @@ -26685,7 +26695,7 @@ func fillInUnixFile(tls *libc.TLS, pVfs uintptr, h int32, pId uintptr, zFilename storeLastErrno(tls, pNew, 0) if rc != SQLITE_OK { if h >= 0 { - robust_close(tls, pNew, h, 40573) + robust_close(tls, pNew, h, 40579) } } else { (*Sqlite3_file)(unsafe.Pointer(pId)).FpMethods = pLockingStyle @@ -26703,17 +26713,17 @@ var azTempDirs = [6]uintptr{ ts + 3671, ts + 3680, ts + 1538, -} /* sqlite3.c:40585:19 */ +} /* sqlite3.c:40591:19 */ // Initialize first two members of azTempDirs[] array. -func unixTempFileInit(tls *libc.TLS) { /* sqlite3.c:40597:13: */ +func unixTempFileInit(tls *libc.TLS) { /* sqlite3.c:40603:13: */ azTempDirs[0] = libc.Xgetenv(tls, ts+3685) azTempDirs[1] = libc.Xgetenv(tls, ts+3699) } // Return the name of a directory in which to put temporary files. // If no suitable temporary file directory can be found, return NULL. -func unixTempFileDir(tls *libc.TLS) uintptr { /* sqlite3.c:40606:19: */ +func unixTempFileDir(tls *libc.TLS) uintptr { /* sqlite3.c:40612:19: */ bp := tls.Alloc(128) defer tls.Free(128) @@ -26740,7 +26750,7 @@ func unixTempFileDir(tls *libc.TLS) uintptr { /* sqlite3.c:40606:19: */ // Create a temporary file name in zBuf. zBuf must be allocated // by the calling process and must be big enough to hold at least // pVfs->mxPathname bytes. -func unixGetTempname(tls *libc.TLS, nBuf int32, zBuf uintptr) int32 { /* sqlite3.c:40630:12: */ +func unixGetTempname(tls *libc.TLS, nBuf int32, zBuf uintptr) int32 { /* sqlite3.c:40636:12: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -26784,7 +26794,7 @@ func unixGetTempname(tls *libc.TLS, nBuf int32, zBuf uintptr) int32 { /* sqlite3 // // If a suitable file descriptor is found, then it is returned. If no // such file descriptor is located, -1 is returned. -func findReusableFd(tls *libc.TLS, zPath uintptr, flags int32) uintptr { /* sqlite3.c:40680:21: */ +func findReusableFd(tls *libc.TLS, zPath uintptr, flags int32) uintptr { /* sqlite3.c:40686:21: */ bp := tls.Alloc(128) defer tls.Free(128) @@ -26835,7 +26845,7 @@ func findReusableFd(tls *libc.TLS, zPath uintptr, flags int32) uintptr { /* sqli } // Find the mode, uid and gid of file zFile. -func getFileMode(tls *libc.TLS, zFile uintptr, pMode uintptr, pUid uintptr, pGid uintptr) int32 { /* sqlite3.c:40730:12: */ +func getFileMode(tls *libc.TLS, zFile uintptr, pMode uintptr, pUid uintptr, pGid uintptr) int32 { /* sqlite3.c:40736:12: */ bp := tls.Alloc(128) defer tls.Free(128) @@ -26871,7 +26881,7 @@ func getFileMode(tls *libc.TLS, zFile uintptr, pMode uintptr, pUid uintptr, pGid // original filename is unavailable. But 8_3_NAMES is only used for // FAT filesystems and permissions do not matter there, so just use // the default permissions. In 8_3_NAMES mode, leave *pMode set to zero. -func findCreateFileMode(tls *libc.TLS, zPath uintptr, flags int32, pMode uintptr, pUid uintptr, pGid uintptr) int32 { /* sqlite3.c:40769:12: */ +func findCreateFileMode(tls *libc.TLS, zPath uintptr, flags int32, pMode uintptr, pUid uintptr, pGid uintptr) int32 { /* sqlite3.c:40775:12: */ bp := tls.Alloc(513) defer tls.Free(513) @@ -26945,7 +26955,7 @@ func findCreateFileMode(tls *libc.TLS, zPath uintptr, flags int32, pMode uintptr // file handle closed. To achieve the same effect using this new // interface, add the DELETEONCLOSE flag to those specified above for // OpenExclusive(). -func unixOpen(tls *libc.TLS, pVfs uintptr, zPath uintptr, pFile uintptr, flags int32, pOutFlags uintptr) int32 { /* sqlite3.c:40846:12: */ +func unixOpen(tls *libc.TLS, pVfs uintptr, zPath uintptr, pFile uintptr, flags int32, pOutFlags uintptr) int32 { /* sqlite3.c:40852:12: */ bp := tls.Alloc(528) defer tls.Free(528) @@ -27143,7 +27153,7 @@ __15: if !(fd < 0) { goto __19 } - rc2 = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 41002), ts+3203, zName, 41002) + rc2 = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 41008), ts+3203, zName, 41008) if !(rc == SQLITE_OK) { goto __20 } @@ -27243,7 +27253,7 @@ __30: // Delete the file at zPath. If the dirSync argument is true, fsync() // the directory after deleting the file. -func unixDelete(tls *libc.TLS, NotUsed uintptr, zPath uintptr, dirSync int32) int32 { /* sqlite3.c:41125:12: */ +func unixDelete(tls *libc.TLS, NotUsed uintptr, zPath uintptr, dirSync int32) int32 { /* sqlite3.c:41131:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -27254,7 +27264,7 @@ func unixDelete(tls *libc.TLS, NotUsed uintptr, zPath uintptr, dirSync int32) in if *(*int32)(unsafe.Pointer(libc.X__errno_location(tls))) == ENOENT { rc = SQLITE_IOERR | int32(23)<<8 } else { - rc = unixLogErrorAtLine(tls, SQLITE_IOERR|int32(10)<<8, ts+3313, zPath, 41141) + rc = unixLogErrorAtLine(tls, SQLITE_IOERR|int32(10)<<8, ts+3313, zPath, 41147) } return rc } @@ -27264,9 +27274,9 @@ func unixDelete(tls *libc.TLS, NotUsed uintptr, zPath uintptr, dirSync int32) in rc = (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 17*24 + 8)))(tls, zPath, bp) if rc == SQLITE_OK { if full_fsync(tls, *(*int32)(unsafe.Pointer(bp)), 0, 0) != 0 { - rc = unixLogErrorAtLine(tls, SQLITE_IOERR|int32(5)<<8, ts+3730, zPath, 41151) + rc = unixLogErrorAtLine(tls, SQLITE_IOERR|int32(5)<<8, ts+3730, zPath, 41157) } - robust_close(tls, uintptr(0), *(*int32)(unsafe.Pointer(bp /* fd */)), 41153) + robust_close(tls, uintptr(0), *(*int32)(unsafe.Pointer(bp /* fd */)), 41159) } else { rc = SQLITE_OK @@ -27283,7 +27293,7 @@ func unixDelete(tls *libc.TLS, NotUsed uintptr, zPath uintptr, dirSync int32) in // SQLITE_ACCESS_READONLY: Return 1 if the file is readable. // // Otherwise return 0. -func unixAccess(tls *libc.TLS, NotUsed uintptr, zPath uintptr, flags int32, pResOut uintptr) int32 { /* sqlite3.c:41173:12: */ +func unixAccess(tls *libc.TLS, NotUsed uintptr, zPath uintptr, flags int32, pResOut uintptr) int32 { /* sqlite3.c:41179:12: */ bp := tls.Alloc(128) defer tls.Free(128) @@ -27305,7 +27315,7 @@ func unixAccess(tls *libc.TLS, NotUsed uintptr, zPath uintptr, flags int32, pRes // If the last component of the pathname in z[0]..z[j-1] is something // other than ".." then back it out and return true. If the last // component is empty or if it is ".." then return false. -func unixBackupDir(tls *libc.TLS, z uintptr, pJ uintptr) int32 { /* sqlite3.c:41202:12: */ +func unixBackupDir(tls *libc.TLS, z uintptr, pJ uintptr) int32 { /* sqlite3.c:41208:12: */ var j int32 = *(*int32)(unsafe.Pointer(pJ)) var i int32 if j <= 0 { @@ -27328,7 +27338,7 @@ func unixBackupDir(tls *libc.TLS, z uintptr, pJ uintptr) int32 { /* sqlite3.c:41 // // Remove all instances of /./ // Remove all isntances of /X/../ for any X -func mkFullPathname(tls *libc.TLS, zPath uintptr, zOut uintptr, nOut int32) int32 { /* sqlite3.c:41220:12: */ +func mkFullPathname(tls *libc.TLS, zPath uintptr, zOut uintptr, nOut int32) int32 { /* sqlite3.c:41226:12: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -27339,7 +27349,7 @@ func mkFullPathname(tls *libc.TLS, zPath uintptr, zOut uintptr, nOut int32) int3 if int32(*(*uint8)(unsafe.Pointer(zPath))) != '/' { if (*(*func(*libc.TLS, uintptr, Size_t) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 3*24 + 8)))(tls, zOut, uint64(nOut-2)) == uintptr(0) { - return unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 41230), ts+3221, zPath, 41230) + return unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 41236), ts+3221, zPath, 41236) } iOff = Xsqlite3Strlen30(tls, zOut) *(*uint8)(unsafe.Pointer(zOut + uintptr(libc.PostIncInt32(&iOff, 1)))) = uint8('/') @@ -27348,7 +27358,7 @@ func mkFullPathname(tls *libc.TLS, zPath uintptr, zOut uintptr, nOut int32) int3 // SQLite assumes that xFullPathname() nul-terminates the output buffer // even if it returns an error. *(*uint8)(unsafe.Pointer(zOut + uintptr(iOff))) = uint8(0) - return Xsqlite3CantopenError(tls, 41239) + return Xsqlite3CantopenError(tls, 41245) } Xsqlite3_snprintf(tls, nOut-iOff, zOut+uintptr(iOff), ts+3605, libc.VaList(bp, zPath)) @@ -27399,7 +27409,7 @@ func mkFullPathname(tls *libc.TLS, zPath uintptr, zOut uintptr, nOut int32) int3 // zOut points to a buffer of at least sqlite3_vfs.mxPathname bytes // (in this case, MAX_PATHNAME bytes). The full-path is written to // this buffer before returning. -func unixFullPathname(tls *libc.TLS, pVfs uintptr, zPath uintptr, nOut int32, zOut uintptr) int32 { /* sqlite3.c:41289:12: */ +func unixFullPathname(tls *libc.TLS, pVfs uintptr, zPath uintptr, nOut int32, zOut uintptr) int32 { /* sqlite3.c:41295:12: */ bp := tls.Alloc(128) defer tls.Free(128) @@ -27425,7 +27435,7 @@ func unixFullPathname(tls *libc.TLS, pVfs uintptr, zPath uintptr, nOut int32, zO if (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 27*24 + 8)))(tls, zIn, bp) != 0 { if *(*int32)(unsafe.Pointer(libc.X__errno_location(tls))) != ENOENT { - rc = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 41322), ts+3401, zIn, 41322) + rc = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 41328), ts+3401, zIn, 41328) } } else { bLink = libc.Bool32((*stat)(unsafe.Pointer(bp)).Fst_mode&X__mode_t(0170000) == X__mode_t(0120000)) @@ -27439,20 +27449,20 @@ func unixFullPathname(tls *libc.TLS, pVfs uintptr, zPath uintptr, nOut int32, zO rc = SQLITE_NOMEM } } else if nLink >= SQLITE_MAX_SYMLINKS { - rc = Xsqlite3CantopenError(tls, 41334) + rc = Xsqlite3CantopenError(tls, 41340) } if rc == SQLITE_OK { nByte = int32((*(*func(*libc.TLS, uintptr, uintptr, Size_t) Ssize_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 26*24 + 8)))(tls, zIn, zDel, uint64(nOut-1))) if nByte < 0 { - rc = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 41340), ts+3392, zIn, 41340) + rc = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 41346), ts+3392, zIn, 41346) } else { if int32(*(*uint8)(unsafe.Pointer(zDel))) != '/' { var n int32 for n = Xsqlite3Strlen30(tls, zIn); n > 0 && int32(*(*uint8)(unsafe.Pointer(zIn + uintptr(n-1)))) != '/'; n-- { } if nByte+n+1 > nOut { - rc = Xsqlite3CantopenError(tls, 41346) + rc = Xsqlite3CantopenError(tls, 41352) } else { libc.Xmemmove(tls, zDel+uintptr(n), zDel, uint64(nByte+1)) libc.Xmemcpy(tls, zDel, zIn, uint64(n)) @@ -27524,7 +27534,7 @@ type Dl_serinfo = struct { } } /* dlfcn.h:196:3 */ -func unixDlOpen(tls *libc.TLS, NotUsed uintptr, zFilename uintptr) uintptr { /* sqlite3.c:41381:13: */ +func unixDlOpen(tls *libc.TLS, NotUsed uintptr, zFilename uintptr) uintptr { /* sqlite3.c:41387:13: */ _ = NotUsed return libc.Xdlopen(tls, zFilename, RTLD_NOW|RTLD_GLOBAL) } @@ -27534,7 +27544,7 @@ func unixDlOpen(tls *libc.TLS, NotUsed uintptr, zFilename uintptr) uintptr { /* // message is available, it is written to zBufOut. If no error message // is available, zBufOut is left unmodified and SQLite uses a default // error message. -func unixDlError(tls *libc.TLS, NotUsed uintptr, nBuf int32, zBufOut uintptr) { /* sqlite3.c:41393:13: */ +func unixDlError(tls *libc.TLS, NotUsed uintptr, nBuf int32, zBufOut uintptr) { /* sqlite3.c:41399:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -27548,7 +27558,7 @@ func unixDlError(tls *libc.TLS, NotUsed uintptr, nBuf int32, zBufOut uintptr) { unixLeaveMutex(tls) } -func unixDlSym(tls *libc.TLS, NotUsed uintptr, p uintptr, zSym uintptr) uintptr { /* sqlite3.c:41403:13: */ +func unixDlSym(tls *libc.TLS, NotUsed uintptr, p uintptr, zSym uintptr) uintptr { /* sqlite3.c:41409:13: */ // GCC with -pedantic-errors says that C90 does not allow a void* to be // cast into a pointer to a function. And yet the library dlsym() routine // returns a void* which is really a pointer to a function. So how do we @@ -27574,13 +27584,13 @@ func unixDlSym(tls *libc.TLS, NotUsed uintptr, p uintptr, zSym uintptr) uintptr })(unsafe.Pointer(&struct{ uintptr }{x})).f(tls, p, zSym) } -func unixDlClose(tls *libc.TLS, NotUsed uintptr, pHandle uintptr) { /* sqlite3.c:41426:13: */ +func unixDlClose(tls *libc.TLS, NotUsed uintptr, pHandle uintptr) { /* sqlite3.c:41432:13: */ _ = NotUsed libc.Xdlclose(tls, pHandle) } // Write nBuf bytes of random data to the supplied buffer zBuf. -func unixRandomness(tls *libc.TLS, NotUsed uintptr, nBuf int32, zBuf uintptr) int32 { /* sqlite3.c:41440:12: */ +func unixRandomness(tls *libc.TLS, NotUsed uintptr, nBuf int32, zBuf uintptr) int32 { /* sqlite3.c:41446:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -27615,7 +27625,7 @@ func unixRandomness(tls *libc.TLS, NotUsed uintptr, nBuf int32, zBuf uintptr) in for __ccgo := true; __ccgo; __ccgo = got < 0 && *(*int32)(unsafe.Pointer(libc.X__errno_location(tls))) == EINTR { got = int32((*(*func(*libc.TLS, int32, uintptr, Size_t) Ssize_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 8*24 + 8)))(tls, fd, zBuf, uint64(nBuf))) } - robust_close(tls, uintptr(0), fd, 41471) + robust_close(tls, uintptr(0), fd, 41477) } } @@ -27628,7 +27638,7 @@ func unixRandomness(tls *libc.TLS, NotUsed uintptr, nBuf int32, zBuf uintptr) in // requested from the underlying operating system, a number which // might be greater than or equal to the argument, but not less // than the argument. -func unixSleep(tls *libc.TLS, NotUsed uintptr, microseconds int32) int32 { /* sqlite3.c:41487:12: */ +func unixSleep(tls *libc.TLS, NotUsed uintptr, microseconds int32) int32 { /* sqlite3.c:41493:12: */ if microseconds >= 1000000 { libc.Xsleep(tls, uint32(microseconds/1000000)) } @@ -27651,7 +27661,7 @@ func unixSleep(tls *libc.TLS, NotUsed uintptr, microseconds int32) int32 { /* sq // // On success, return SQLITE_OK. Return SQLITE_ERROR if the time and date // cannot be found. -func unixCurrentTimeInt64(tls *libc.TLS, NotUsed uintptr, piNow uintptr) int32 { /* sqlite3.c:41528:12: */ +func unixCurrentTimeInt64(tls *libc.TLS, NotUsed uintptr, piNow uintptr) int32 { /* sqlite3.c:41534:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -27665,12 +27675,12 @@ func unixCurrentTimeInt64(tls *libc.TLS, NotUsed uintptr, piNow uintptr) int32 { return rc } -var unixEpoch Sqlite3_int64 = int64(24405875) * int64(8640000) /* sqlite3.c:41529:30 */ +var unixEpoch Sqlite3_int64 = int64(24405875) * int64(8640000) /* sqlite3.c:41535:30 */ // Find the current time (in Universal Coordinated Time). Write the // current time and date as a Julian Day number into *prNow and // return 0. Return 1 if the time and date cannot be found. -func unixCurrentTime(tls *libc.TLS, NotUsed uintptr, prNow uintptr) int32 { /* sqlite3.c:41560:12: */ +func unixCurrentTime(tls *libc.TLS, NotUsed uintptr, prNow uintptr) int32 { /* sqlite3.c:41566:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -27686,7 +27696,7 @@ func unixCurrentTime(tls *libc.TLS, NotUsed uintptr, prNow uintptr) int32 { /* s // low-level error message when operating-system problems come up // during SQLite operation. Only the integer return code is currently // used. -func unixGetLastError(tls *libc.TLS, NotUsed uintptr, NotUsed2 int32, NotUsed3 uintptr) int32 { /* sqlite3.c:41578:12: */ +func unixGetLastError(tls *libc.TLS, NotUsed uintptr, NotUsed2 int32, NotUsed3 uintptr) int32 { /* sqlite3.c:41584:12: */ _ = NotUsed _ = NotUsed2 _ = NotUsed3 @@ -27868,7 +27878,7 @@ func unixGetLastError(tls *libc.TLS, NotUsed uintptr, NotUsed2 int32, NotUsed3 u // single thread. The memory allocation and mutex subsystems have not // necessarily been initialized when this routine is called, and so they // should not be used. -func Xsqlite3_os_init(tls *libc.TLS) int32 { /* sqlite3.c:42783:16: */ +func Xsqlite3_os_init(tls *libc.TLS) int32 { /* sqlite3.c:42789:16: */ var i uint32 // Loop counter // Double-check that the aSyscall[] array has been constructed @@ -27906,14 +27916,14 @@ var aVfs = [4]Sqlite3_vfs{ {FiVersion: 3 /* iVersion */, FszOsFile: int32(unsafe.Sizeof(UnixFile{})) /* szOsFile */, FmxPathname: MAX_PATHNAME /* pNext */, FzName: ts + 3754, FpAppData: 0 /* pAppData */, FxOpen: 0 /* xOpen */, FxDelete: 0 /* xDelete */, FxAccess: 0 /* xAccess */, FxFullPathname: 0 /* xFullPathname */, FxDlOpen: 0 /* xDlOpen */, FxDlError: 0 /* xDlError */, FxDlSym: 0 /* xDlSym */, FxDlClose: 0 /* xDlClose */, FxRandomness: 0 /* xRandomness */, FxSleep: 0 /* xSleep */, FxCurrentTime: 0 /* xCurrentTime */, FxGetLastError: 0 /* xGetLastError */, FxCurrentTimeInt64: 0 /* xCurrentTimeInt64 */, FxSetSystemCall: 0 /* xSetSystemCall */, FxGetSystemCall: 0 /* xGetSystemCall */, FxNextSystemCall: 0 /* xNextSystemCall */}, {FiVersion: 3 /* iVersion */, FszOsFile: int32(unsafe.Sizeof(UnixFile{})) /* szOsFile */, FmxPathname: MAX_PATHNAME /* pNext */, FzName: ts + 3764, FpAppData: 0 /* pAppData */, FxOpen: 0 /* xOpen */, FxDelete: 0 /* xDelete */, FxAccess: 0 /* xAccess */, FxFullPathname: 0 /* xFullPathname */, FxDlOpen: 0 /* xDlOpen */, FxDlError: 0 /* xDlError */, FxDlSym: 0 /* xDlSym */, FxDlClose: 0 /* xDlClose */, FxRandomness: 0 /* xRandomness */, FxSleep: 0 /* xSleep */, FxCurrentTime: 0 /* xCurrentTime */, FxGetLastError: 0 /* xGetLastError */, FxCurrentTimeInt64: 0 /* xCurrentTimeInt64 */, FxSetSystemCall: 0 /* xSetSystemCall */, FxGetSystemCall: 0 /* xGetSystemCall */, FxNextSystemCall: 0 /* xNextSystemCall */}, {FiVersion: 3 /* iVersion */, FszOsFile: int32(unsafe.Sizeof(UnixFile{})) /* szOsFile */, FmxPathname: MAX_PATHNAME /* pNext */, FzName: ts + 3644, FpAppData: 0 /* pAppData */, FxOpen: 0 /* xOpen */, FxDelete: 0 /* xDelete */, FxAccess: 0 /* xAccess */, FxFullPathname: 0 /* xFullPathname */, FxDlOpen: 0 /* xDlOpen */, FxDlError: 0 /* xDlError */, FxDlSym: 0 /* xDlSym */, FxDlClose: 0 /* xDlClose */, FxRandomness: 0 /* xRandomness */, FxSleep: 0 /* xSleep */, FxCurrentTime: 0 /* xCurrentTime */, FxGetLastError: 0 /* xGetLastError */, FxCurrentTimeInt64: 0 /* xCurrentTimeInt64 */, FxSetSystemCall: 0 /* xSetSystemCall */, FxGetSystemCall: 0 /* xGetSystemCall */, FxNextSystemCall: 0 /* xNextSystemCall */}, -} /* sqlite3.c:42836:22 */ +} /* sqlite3.c:42842:22 */ // Shutdown the operating system interface. // // Some operating systems might need to do some cleanup in this routine, // to release dynamically allocated objects. But not on unix. // This routine is a no-op for unix. -func Xsqlite3_os_end(tls *libc.TLS) int32 { /* sqlite3.c:42905:16: */ +func Xsqlite3_os_end(tls *libc.TLS) int32 { /* sqlite3.c:42911:16: */ unixBigLock = uintptr(0) return SQLITE_OK } @@ -27955,15 +27965,15 @@ func Xsqlite3_os_end(tls *libc.TLS) int32 { /* sqlite3.c:42905:16: */ // #include "sqliteInt.h" // Forward declaration of objects used by this utility -type MemVfs = sqlite3_vfs /* sqlite3.c:49095:28 */ +type MemVfs = sqlite3_vfs /* sqlite3.c:49105:28 */ type MemFile1 = struct { Fbase Sqlite3_file FpStore uintptr FeLock int32 F__ccgo_pad1 [4]byte -} /* sqlite3.c:49096:9 */ +} /* sqlite3.c:49106:9 */ -type MemFile = MemFile1 /* sqlite3.c:49096:24 */ +type MemFile = MemFile1 /* sqlite3.c:49106:24 */ type MemStore1 = struct { Fsz Sqlite3_int64 FszAlloc Sqlite3_int64 @@ -27977,9 +27987,9 @@ type MemStore1 = struct { FnRef int32 F__ccgo_pad1 [4]byte FzFName uintptr -} /* sqlite3.c:49096:9 */ +} /* sqlite3.c:49106:9 */ -type MemStore = MemStore1 /* sqlite3.c:49097:25 */ +type MemStore = MemStore1 /* sqlite3.c:49107:25 */ // File-scope variables for holding the memdb files that are accessible // to multiple database connections in separate threads. @@ -27989,13 +27999,13 @@ type MemFS = struct { FnMemStore int32 F__ccgo_pad1 [4]byte FapMemStore uintptr -} /* sqlite3.c:49167:8 */ +} /* sqlite3.c:49177:8 */ // File-scope variables for holding the memdb files that are accessible // to multiple database connections in separate threads. // // Must hold SQLITE_MUTEX_STATIC_VFS1 to access any part of this object. -var memdb_g MemFS /* sqlite3.c:49170:3: */ +var memdb_g MemFS /* sqlite3.c:49180:3: */ var memdb_vfs = Sqlite3_vfs{ FiVersion: 2, // szOsFile (set when registered) @@ -28012,7 +28022,7 @@ var memdb_vfs = Sqlite3_vfs{ FxSleep: 0, /* memdbCurrentTime, */ // xCurrentTime FxGetLastError: 0, // xGetLastError FxCurrentTimeInt64: 0, // xNextSystemCall -} /* sqlite3.c:49206:20 */ +} /* sqlite3.c:49216:20 */ var memdb_io_methods = Sqlite3_io_methods{ FiVersion: 3, // iVersion @@ -28028,21 +28038,21 @@ var memdb_io_methods = Sqlite3_io_methods{ FxDeviceCharacteristics: 0, // xShmUnmap FxFetch: 0, // xFetch FxUnfetch: 0, // xUnfetch -} /* sqlite3.c:49231:33 */ +} /* sqlite3.c:49241:33 */ // Enter/leave the mutex on a MemStore -func memdbEnter(tls *libc.TLS, p uintptr) { /* sqlite3.c:49264:13: */ +func memdbEnter(tls *libc.TLS, p uintptr) { /* sqlite3.c:49274:13: */ Xsqlite3_mutex_enter(tls, (*MemStore)(unsafe.Pointer(p)).FpMutex) } -func memdbLeave(tls *libc.TLS, p uintptr) { /* sqlite3.c:49267:13: */ +func memdbLeave(tls *libc.TLS, p uintptr) { /* sqlite3.c:49277:13: */ Xsqlite3_mutex_leave(tls, (*MemStore)(unsafe.Pointer(p)).FpMutex) } // Close an memdb-file. // Free the underlying MemStore object when its refcount drops to zero // or less. -func memdbClose(tls *libc.TLS, pFile uintptr) int32 { /* sqlite3.c:49279:12: */ +func memdbClose(tls *libc.TLS, pFile uintptr) int32 { /* sqlite3.c:49289:12: */ var p uintptr = (*MemFile)(unsafe.Pointer(pFile)).FpStore if (*MemStore)(unsafe.Pointer(p)).FzFName != 0 { var i int32 @@ -28080,7 +28090,7 @@ func memdbClose(tls *libc.TLS, pFile uintptr) int32 { /* sqlite3.c:49279:12: */ } // Read data from an memdb-file. -func memdbRead(tls *libc.TLS, pFile uintptr, zBuf uintptr, iAmt int32, iOfst Sqlite_int64) int32 { /* sqlite3.c:49321:12: */ +func memdbRead(tls *libc.TLS, pFile uintptr, zBuf uintptr, iAmt int32, iOfst Sqlite_int64) int32 { /* sqlite3.c:49331:12: */ var p uintptr = (*MemFile)(unsafe.Pointer(pFile)).FpStore memdbEnter(tls, p) if iOfst+Sqlite_int64(iAmt) > (*MemStore)(unsafe.Pointer(p)).Fsz { @@ -28097,7 +28107,7 @@ func memdbRead(tls *libc.TLS, pFile uintptr, zBuf uintptr, iAmt int32, iOfst Sql } // Try to enlarge the memory allocation to hold at least sz bytes -func memdbEnlarge(tls *libc.TLS, p uintptr, newSz Sqlite3_int64) int32 { /* sqlite3.c:49343:12: */ +func memdbEnlarge(tls *libc.TLS, p uintptr, newSz Sqlite3_int64) int32 { /* sqlite3.c:49353:12: */ var pNew uintptr if (*MemStore)(unsafe.Pointer(p)).FmFlags&uint32(SQLITE_DESERIALIZE_RESIZEABLE) == uint32(0) || (*MemStore)(unsafe.Pointer(p)).FnMmap > 0 { return SQLITE_FULL @@ -28119,7 +28129,7 @@ func memdbEnlarge(tls *libc.TLS, p uintptr, newSz Sqlite3_int64) int32 { /* sqli } // Write data to an memdb-file. -func memdbWrite(tls *libc.TLS, pFile uintptr, z uintptr, iAmt int32, iOfst Sqlite_int64) int32 { /* sqlite3.c:49363:12: */ +func memdbWrite(tls *libc.TLS, pFile uintptr, z uintptr, iAmt int32, iOfst Sqlite_int64) int32 { /* sqlite3.c:49373:12: */ var p uintptr = (*MemFile)(unsafe.Pointer(pFile)).FpStore memdbEnter(tls, p) if (*MemStore)(unsafe.Pointer(p)).FmFlags&uint32(SQLITE_DESERIALIZE_READONLY) != 0 { @@ -28150,7 +28160,7 @@ func memdbWrite(tls *libc.TLS, pFile uintptr, z uintptr, iAmt int32, iOfst Sqlit // In rollback mode (which is always the case for memdb, as it does not // support WAL mode) the truncate() method is only used to reduce // the size of a file, never to increase the size. -func memdbTruncate(tls *libc.TLS, pFile uintptr, size Sqlite_int64) int32 { /* sqlite3.c:49400:12: */ +func memdbTruncate(tls *libc.TLS, pFile uintptr, size Sqlite_int64) int32 { /* sqlite3.c:49410:12: */ var p uintptr = (*MemFile)(unsafe.Pointer(pFile)).FpStore var rc int32 = SQLITE_OK memdbEnter(tls, p) @@ -28165,14 +28175,14 @@ func memdbTruncate(tls *libc.TLS, pFile uintptr, size Sqlite_int64) int32 { /* s } // Sync an memdb-file. -func memdbSync(tls *libc.TLS, pFile uintptr, flags int32) int32 { /* sqlite3.c:49417:12: */ +func memdbSync(tls *libc.TLS, pFile uintptr, flags int32) int32 { /* sqlite3.c:49427:12: */ _ = pFile _ = flags return SQLITE_OK } // Return the current file-size of an memdb-file. -func memdbFileSize(tls *libc.TLS, pFile uintptr, pSize uintptr) int32 { /* sqlite3.c:49426:12: */ +func memdbFileSize(tls *libc.TLS, pFile uintptr, pSize uintptr) int32 { /* sqlite3.c:49436:12: */ var p uintptr = (*MemFile)(unsafe.Pointer(pFile)).FpStore memdbEnter(tls, p) *(*Sqlite_int64)(unsafe.Pointer(pSize)) = (*MemStore)(unsafe.Pointer(p)).Fsz @@ -28181,7 +28191,7 @@ func memdbFileSize(tls *libc.TLS, pFile uintptr, pSize uintptr) int32 { /* sqlit } // Lock an memdb-file. -func memdbLock(tls *libc.TLS, pFile uintptr, eLock int32) int32 { /* sqlite3.c:49437:12: */ +func memdbLock(tls *libc.TLS, pFile uintptr, eLock int32) int32 { /* sqlite3.c:49447:12: */ var pThis uintptr = pFile var p uintptr = (*MemFile)(unsafe.Pointer(pThis)).FpStore var rc int32 = SQLITE_OK @@ -28225,7 +28235,7 @@ func memdbLock(tls *libc.TLS, pFile uintptr, eLock int32) int32 { /* sqlite3.c:4 } // File control method. For custom operations on an memdb-file. -func memdbFileControl(tls *libc.TLS, pFile uintptr, op int32, pArg uintptr) int32 { /* sqlite3.c:49491:12: */ +func memdbFileControl(tls *libc.TLS, pFile uintptr, op int32, pArg uintptr) int32 { /* sqlite3.c:49501:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -28254,13 +28264,13 @@ func memdbFileControl(tls *libc.TLS, pFile uintptr, op int32, pArg uintptr) int3 } // Return the device characteristic flags supported by an memdb-file. -func memdbDeviceCharacteristics(tls *libc.TLS, pFile uintptr) int32 { /* sqlite3.c:49528:12: */ +func memdbDeviceCharacteristics(tls *libc.TLS, pFile uintptr) int32 { /* sqlite3.c:49538:12: */ _ = pFile return SQLITE_IOCAP_ATOMIC | SQLITE_IOCAP_POWERSAFE_OVERWRITE | SQLITE_IOCAP_SAFE_APPEND | SQLITE_IOCAP_SEQUENTIAL } // Fetch a page of a memory-mapped file -func memdbFetch(tls *libc.TLS, pFile uintptr, iOfst Sqlite3_int64, iAmt int32, pp uintptr) int32 { /* sqlite3.c:49537:12: */ +func memdbFetch(tls *libc.TLS, pFile uintptr, iOfst Sqlite3_int64, iAmt int32, pp uintptr) int32 { /* sqlite3.c:49547:12: */ var p uintptr = (*MemFile)(unsafe.Pointer(pFile)).FpStore memdbEnter(tls, p) if iOfst+Sqlite3_int64(iAmt) > (*MemStore)(unsafe.Pointer(p)).Fsz || (*MemStore)(unsafe.Pointer(p)).FmFlags&uint32(SQLITE_DESERIALIZE_RESIZEABLE) != uint32(0) { @@ -28274,7 +28284,7 @@ func memdbFetch(tls *libc.TLS, pFile uintptr, iOfst Sqlite3_int64, iAmt int32, p } // Release a memory-mapped page -func memdbUnfetch(tls *libc.TLS, pFile uintptr, iOfst Sqlite3_int64, pPage uintptr) int32 { /* sqlite3.c:49556:12: */ +func memdbUnfetch(tls *libc.TLS, pFile uintptr, iOfst Sqlite3_int64, pPage uintptr) int32 { /* sqlite3.c:49566:12: */ var p uintptr = (*MemFile)(unsafe.Pointer(pFile)).FpStore _ = iOfst _ = pPage @@ -28285,7 +28295,7 @@ func memdbUnfetch(tls *libc.TLS, pFile uintptr, iOfst Sqlite3_int64, pPage uintp } // Open an mem file handle. -func memdbOpen(tls *libc.TLS, pVfs uintptr, zName uintptr, pFd uintptr, flags int32, pOutFlags uintptr) int32 { /* sqlite3.c:49569:12: */ +func memdbOpen(tls *libc.TLS, pVfs uintptr, zName uintptr, pFd uintptr, flags int32, pOutFlags uintptr) int32 { /* sqlite3.c:49579:12: */ var pFile uintptr = pFd var p uintptr = uintptr(0) var szName int32 @@ -28360,7 +28370,7 @@ func memdbOpen(tls *libc.TLS, pVfs uintptr, zName uintptr, pFd uintptr, flags in // is available, or false otherwise. // // With memdb, no files ever exist on disk. So always return false. -func memdbAccess(tls *libc.TLS, pVfs uintptr, zPath uintptr, flags int32, pResOut uintptr) int32 { /* sqlite3.c:49666:12: */ +func memdbAccess(tls *libc.TLS, pVfs uintptr, zPath uintptr, flags int32, pResOut uintptr) int32 { /* sqlite3.c:49676:12: */ _ = pVfs _ = zPath _ = flags @@ -28371,7 +28381,7 @@ func memdbAccess(tls *libc.TLS, pVfs uintptr, zPath uintptr, flags int32, pResOu // Populate buffer zOut with the full canonical pathname corresponding // to the pathname in zPath. zOut is guaranteed to point to a buffer // of at least (INST_MAX_PATHNAME+1) bytes. -func memdbFullPathname(tls *libc.TLS, pVfs uintptr, zPath uintptr, nOut int32, zOut uintptr) int32 { /* sqlite3.c:49684:12: */ +func memdbFullPathname(tls *libc.TLS, pVfs uintptr, zPath uintptr, nOut int32, zOut uintptr) int32 { /* sqlite3.c:49694:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -28381,7 +28391,7 @@ func memdbFullPathname(tls *libc.TLS, pVfs uintptr, zPath uintptr, nOut int32, z } // Open the dynamic library located at zPath and return a handle. -func memdbDlOpen(tls *libc.TLS, pVfs uintptr, zPath uintptr) uintptr { /* sqlite3.c:49698:13: */ +func memdbDlOpen(tls *libc.TLS, pVfs uintptr, zPath uintptr) uintptr { /* sqlite3.c:49708:13: */ return (*struct { f func(*libc.TLS, uintptr, uintptr) uintptr })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer((*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData)).FxDlOpen})).f(tls, (*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, zPath) @@ -28390,21 +28400,21 @@ func memdbDlOpen(tls *libc.TLS, pVfs uintptr, zPath uintptr) uintptr { /* sqlite // Populate the buffer zErrMsg (size nByte bytes) with a human readable // utf-8 string describing the most recent error encountered associated // with dynamic libraries. -func memdbDlError(tls *libc.TLS, pVfs uintptr, nByte int32, zErrMsg uintptr) { /* sqlite3.c:49707:13: */ +func memdbDlError(tls *libc.TLS, pVfs uintptr, nByte int32, zErrMsg uintptr) { /* sqlite3.c:49717:13: */ (*struct { f func(*libc.TLS, uintptr, int32, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer((*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData)).FxDlError})).f(tls, (*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, nByte, zErrMsg) } // Return a pointer to the symbol zSymbol in the dynamic library pHandle. -func memdbDlSym(tls *libc.TLS, pVfs uintptr, p uintptr, zSym uintptr) uintptr { /* sqlite3.c:49714:13: */ +func memdbDlSym(tls *libc.TLS, pVfs uintptr, p uintptr, zSym uintptr) uintptr { /* sqlite3.c:49724:13: */ return (*struct { f func(*libc.TLS, uintptr, uintptr, uintptr) uintptr })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer((*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData)).FxDlSym})).f(tls, (*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, p, zSym) } // Close the dynamic library handle pHandle. -func memdbDlClose(tls *libc.TLS, pVfs uintptr, pHandle uintptr) { /* sqlite3.c:49721:13: */ +func memdbDlClose(tls *libc.TLS, pVfs uintptr, pHandle uintptr) { /* sqlite3.c:49731:13: */ (*struct { f func(*libc.TLS, uintptr, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer((*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData)).FxDlClose})).f(tls, (*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, pHandle) @@ -28412,7 +28422,7 @@ func memdbDlClose(tls *libc.TLS, pVfs uintptr, pHandle uintptr) { /* sqlite3.c:4 // Populate the buffer pointed to by zBufOut with nByte bytes of // random data. -func memdbRandomness(tls *libc.TLS, pVfs uintptr, nByte int32, zBufOut uintptr) int32 { /* sqlite3.c:49729:12: */ +func memdbRandomness(tls *libc.TLS, pVfs uintptr, nByte int32, zBufOut uintptr) int32 { /* sqlite3.c:49739:12: */ return (*struct { f func(*libc.TLS, uintptr, int32, uintptr) int32 })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer((*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData)).FxRandomness})).f(tls, (*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, nByte, zBufOut) @@ -28420,19 +28430,19 @@ func memdbRandomness(tls *libc.TLS, pVfs uintptr, nByte int32, zBufOut uintptr) // Sleep for nMicro microseconds. Return the number of microseconds // actually slept. -func memdbSleep(tls *libc.TLS, pVfs uintptr, nMicro int32) int32 { /* sqlite3.c:49737:12: */ +func memdbSleep(tls *libc.TLS, pVfs uintptr, nMicro int32) int32 { /* sqlite3.c:49747:12: */ return (*struct { f func(*libc.TLS, uintptr, int32) int32 })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer((*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData)).FxSleep})).f(tls, (*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, nMicro) } -func memdbGetLastError(tls *libc.TLS, pVfs uintptr, a int32, b uintptr) int32 { /* sqlite3.c:49750:12: */ +func memdbGetLastError(tls *libc.TLS, pVfs uintptr, a int32, b uintptr) int32 { /* sqlite3.c:49760:12: */ return (*struct { f func(*libc.TLS, uintptr, int32, uintptr) int32 })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer((*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData)).FxGetLastError})).f(tls, (*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, a, b) } -func memdbCurrentTimeInt64(tls *libc.TLS, pVfs uintptr, p uintptr) int32 { /* sqlite3.c:49753:12: */ +func memdbCurrentTimeInt64(tls *libc.TLS, pVfs uintptr, p uintptr) int32 { /* sqlite3.c:49763:12: */ return (*struct { f func(*libc.TLS, uintptr, uintptr) int32 })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer((*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData)).FxCurrentTimeInt64})).f(tls, (*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, p) @@ -28440,7 +28450,7 @@ func memdbCurrentTimeInt64(tls *libc.TLS, pVfs uintptr, p uintptr) int32 { /* sq // Translate a database connection pointer and schema name into a // MemFile pointer. -func memdbFromDbSchema(tls *libc.TLS, db uintptr, zSchema uintptr) uintptr { /* sqlite3.c:49761:16: */ +func memdbFromDbSchema(tls *libc.TLS, db uintptr, zSchema uintptr) uintptr { /* sqlite3.c:49771:16: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -28463,7 +28473,7 @@ func memdbFromDbSchema(tls *libc.TLS, db uintptr, zSchema uintptr) uintptr { /* } // Return the serialization of a database -func Xsqlite3_serialize(tls *libc.TLS, db uintptr, zSchema uintptr, piSize uintptr, mFlags uint32) uintptr { /* sqlite3.c:49777:26: */ +func Xsqlite3_serialize(tls *libc.TLS, db uintptr, zSchema uintptr, piSize uintptr, mFlags uint32) uintptr { /* sqlite3.c:49787:26: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -28554,7 +28564,7 @@ func Xsqlite3_serialize(tls *libc.TLS, db uintptr, zSchema uintptr, piSize uintp } // Convert zSchema to a MemDB and initialize its content. -func Xsqlite3_deserialize(tls *libc.TLS, db uintptr, zSchema uintptr, pData uintptr, szDb Sqlite3_int64, szBuf Sqlite3_int64, mFlags uint32) int32 { /* sqlite3.c:49858:16: */ +func Xsqlite3_deserialize(tls *libc.TLS, db uintptr, zSchema uintptr, pData uintptr, szDb Sqlite3_int64, szBuf Sqlite3_int64, mFlags uint32) int32 { /* sqlite3.c:49868:16: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -28649,7 +28659,7 @@ __10: // This routine is called when the extension is loaded. // Register the new VFS. -func Xsqlite3MemdbInit(tls *libc.TLS) int32 { /* sqlite3.c:49934:20: */ +func Xsqlite3MemdbInit(tls *libc.TLS) int32 { /* sqlite3.c:49944:20: */ var pLower uintptr = Xsqlite3_vfs_find(tls, uintptr(0)) var sz uint32 if pLower == uintptr(0) { @@ -28671,7 +28681,7 @@ func Xsqlite3MemdbInit(tls *libc.TLS) int32 { /* sqlite3.c:49934:20: */ // Create a new bitmap object able to handle bits between 0 and iSize, // inclusive. Return a pointer to the new object. Return NULL if // malloc fails. -func Xsqlite3BitvecCreate(tls *libc.TLS, iSize U32) uintptr { /* sqlite3.c:50066:23: */ +func Xsqlite3BitvecCreate(tls *libc.TLS, iSize U32) uintptr { /* sqlite3.c:50076:23: */ var p uintptr p = Xsqlite3MallocZero(tls, uint64(unsafe.Sizeof(Bitvec{}))) @@ -28684,7 +28694,7 @@ func Xsqlite3BitvecCreate(tls *libc.TLS, iSize U32) uintptr { /* sqlite3.c:50066 // Check to see if the i-th bit is set. Return true or false. // If p is NULL (if the bitmap has not been created) or if // i is out of range, then return false. -func Xsqlite3BitvecTestNotNull(tls *libc.TLS, p uintptr, i U32) int32 { /* sqlite3.c:50081:20: */ +func Xsqlite3BitvecTestNotNull(tls *libc.TLS, p uintptr, i U32) int32 { /* sqlite3.c:50091:20: */ i-- if i >= (*Bitvec)(unsafe.Pointer(p)).FiSize { @@ -28713,7 +28723,7 @@ func Xsqlite3BitvecTestNotNull(tls *libc.TLS, p uintptr, i U32) int32 { /* sqlit return int32(0) } -func Xsqlite3BitvecTest(tls *libc.TLS, p uintptr, i U32) int32 { /* sqlite3.c:50104:20: */ +func Xsqlite3BitvecTest(tls *libc.TLS, p uintptr, i U32) int32 { /* sqlite3.c:50114:20: */ return libc.Bool32(p != uintptr(0) && Xsqlite3BitvecTestNotNull(tls, p, i) != 0) } @@ -28727,7 +28737,7 @@ func Xsqlite3BitvecTest(tls *libc.TLS, p uintptr, i U32) int32 { /* sqlite3.c:50 // The calling function must ensure that p is a valid Bitvec object // and that the value for "i" is within range of the Bitvec object. // Otherwise the behavior is undefined. -func Xsqlite3BitvecSet(tls *libc.TLS, p uintptr, i U32) int32 { /* sqlite3.c:50120:20: */ +func Xsqlite3BitvecSet(tls *libc.TLS, p uintptr, i U32) int32 { /* sqlite3.c:50130:20: */ var h U32 var bin U32 var j uint32 @@ -28864,7 +28874,7 @@ bitvec_set_end: // // pBuf must be a pointer to at least BITVEC_SZ bytes of temporary storage // that BitvecClear can use to rebuilt its hash table. -func Xsqlite3BitvecClear(tls *libc.TLS, p uintptr, i U32, pBuf uintptr) { /* sqlite3.c:50191:21: */ +func Xsqlite3BitvecClear(tls *libc.TLS, p uintptr, i U32, pBuf uintptr) { /* sqlite3.c:50201:21: */ if p == uintptr(0) { return } @@ -28903,7 +28913,7 @@ func Xsqlite3BitvecClear(tls *libc.TLS, p uintptr, i U32, pBuf uintptr) { /* sql } // Destroy a bitmap object. Reclaim all memory used. -func Xsqlite3BitvecDestroy(tls *libc.TLS, p uintptr) { /* sqlite3.c:50228:21: */ +func Xsqlite3BitvecDestroy(tls *libc.TLS, p uintptr) { /* sqlite3.c:50238:21: */ if p == uintptr(0) { return } @@ -28918,7 +28928,7 @@ func Xsqlite3BitvecDestroy(tls *libc.TLS, p uintptr) { /* sqlite3.c:50228:21: */ // Return the value of the iSize parameter specified when Bitvec *p // was created. -func Xsqlite3BitvecSize(tls *libc.TLS, p uintptr) U32 { /* sqlite3.c:50243:20: */ +func Xsqlite3BitvecSize(tls *libc.TLS, p uintptr) U32 { /* sqlite3.c:50253:20: */ return (*Bitvec)(unsafe.Pointer(p)).FiSize } @@ -28955,7 +28965,7 @@ func Xsqlite3BitvecSize(tls *libc.TLS, p uintptr) U32 { /* sqlite3.c:50243:20: * // an error is returned. If they are the same, zero is returned. // // If a memory allocation error occurs, return -1. -func Xsqlite3BitvecBuiltinTest(tls *libc.TLS, sz int32, aOp uintptr) int32 { /* sqlite3.c:50288:20: */ +func Xsqlite3BitvecBuiltinTest(tls *libc.TLS, sz int32, aOp uintptr) int32 { /* sqlite3.c:50298:20: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -29118,7 +29128,7 @@ bitvec_end: // argument determines what operation to do. The 0x01 bit means first // remove pPage from the dirty list. The 0x02 means add pPage back to // the dirty list. Doing both moves pPage to the front of the dirty list. -func pcacheManageDirtyList(tls *libc.TLS, pPage uintptr, addRemove U8) { /* sqlite3.c:50523:13: */ +func pcacheManageDirtyList(tls *libc.TLS, pPage uintptr, addRemove U8) { /* sqlite3.c:50533:13: */ var p uintptr = (*PgHdr)(unsafe.Pointer(pPage)).FpCache if int32(addRemove)&PCACHE_DIRTYLIST_REMOVE != 0 { @@ -29180,7 +29190,7 @@ func pcacheManageDirtyList(tls *libc.TLS, pPage uintptr, addRemove U8) { /* sqli // Wrapper around the pluggable caches xUnpin method. If the cache is // being used for an in-memory database, this function is a no-op. -func pcacheUnpin(tls *libc.TLS, p uintptr) { /* sqlite3.c:50593:13: */ +func pcacheUnpin(tls *libc.TLS, p uintptr) { /* sqlite3.c:50603:13: */ if (*PCache)(unsafe.Pointer((*PgHdr)(unsafe.Pointer(p)).FpCache)).FbPurgeable != 0 { (*struct { @@ -29192,7 +29202,7 @@ func pcacheUnpin(tls *libc.TLS, p uintptr) { /* sqlite3.c:50593:13: */ // Compute the number of pages of cache requested. p->szCache is the // cache size requested by the "PRAGMA cache_size" statement. -func numberOfCachePages(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:50605:12: */ +func numberOfCachePages(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:50615:12: */ if (*PCache)(unsafe.Pointer(p)).FszCache >= 0 { // IMPLEMENTATION-OF: R-42059-47211 If the argument N is positive then the // suggested cache size is set to N. @@ -29217,7 +29227,7 @@ func numberOfCachePages(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:50605:12: // // Initialize and shutdown the page cache subsystem. Neither of these // functions are threadsafe. -func Xsqlite3PcacheInitialize(tls *libc.TLS) int32 { /* sqlite3.c:50627:20: */ +func Xsqlite3PcacheInitialize(tls *libc.TLS) int32 { /* sqlite3.c:50637:20: */ if Xsqlite3Config.Fpcache2.FxInit == uintptr(0) { // IMPLEMENTATION-OF: R-26801-64137 If the xInit() method is NULL, then the // built-in default page cache is used instead of the application defined @@ -29230,7 +29240,7 @@ func Xsqlite3PcacheInitialize(tls *libc.TLS) int32 { /* sqlite3.c:50627:20: */ })(unsafe.Pointer(&struct{ uintptr }{Xsqlite3Config.Fpcache2.FxInit})).f(tls, Xsqlite3Config.Fpcache2.FpArg) } -func Xsqlite3PcacheShutdown(tls *libc.TLS) { /* sqlite3.c:50637:21: */ +func Xsqlite3PcacheShutdown(tls *libc.TLS) { /* sqlite3.c:50647:21: */ if Xsqlite3Config.Fpcache2.FxShutdown != 0 { // IMPLEMENTATION-OF: R-26000-56589 The xShutdown() method may be NULL. (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{Xsqlite3Config.Fpcache2.FxShutdown})).f(tls, Xsqlite3Config.Fpcache2.FpArg) @@ -29238,7 +29248,7 @@ func Xsqlite3PcacheShutdown(tls *libc.TLS) { /* sqlite3.c:50637:21: */ } // Return the size in bytes of a PCache object. -func Xsqlite3PcacheSize(tls *libc.TLS) int32 { /* sqlite3.c:50647:20: */ +func Xsqlite3PcacheSize(tls *libc.TLS) int32 { /* sqlite3.c:50657:20: */ return int32(unsafe.Sizeof(PCache{})) } @@ -29252,7 +29262,7 @@ func Xsqlite3PcacheSize(tls *libc.TLS) int32 { /* sqlite3.c:50647:20: */ // but remaining content will be uninitialized. Though it is opaque // to this module, the extra space really ends up being the MemPage // structure in the pager. -func Xsqlite3PcacheOpen(tls *libc.TLS, szPage int32, szExtra int32, bPurgeable int32, xStress uintptr, pStress uintptr, p uintptr) int32 { /* sqlite3.c:50661:20: */ +func Xsqlite3PcacheOpen(tls *libc.TLS, szPage int32, szExtra int32, bPurgeable int32, xStress uintptr, pStress uintptr, p uintptr) int32 { /* sqlite3.c:50671:20: */ libc.Xmemset(tls, p, 0, uint64(unsafe.Sizeof(PCache{}))) (*PCache)(unsafe.Pointer(p)).FszPage = 1 (*PCache)(unsafe.Pointer(p)).FszExtra = szExtra @@ -29269,7 +29279,7 @@ func Xsqlite3PcacheOpen(tls *libc.TLS, szPage int32, szExtra int32, bPurgeable i // Change the page size for PCache object. The caller must ensure that there // are no outstanding page references when this function is called. -func Xsqlite3PcacheSetPageSize(tls *libc.TLS, pCache uintptr, szPage int32) int32 { /* sqlite3.c:50687:20: */ +func Xsqlite3PcacheSetPageSize(tls *libc.TLS, pCache uintptr, szPage int32) int32 { /* sqlite3.c:50697:20: */ if (*PCache)(unsafe.Pointer(pCache)).FszPage != 0 { var pNew uintptr @@ -29316,7 +29326,7 @@ func Xsqlite3PcacheSetPageSize(tls *libc.TLS, pCache uintptr, szPage int32) int3 // they can both (usually) operate without having to push values to // the stack on entry and pop them back off on exit, which saves a // lot of pushing and popping. -func Xsqlite3PcacheFetch(tls *libc.TLS, pCache uintptr, pgno Pgno, createFlag int32) uintptr { /* sqlite3.c:50731:36: */ +func Xsqlite3PcacheFetch(tls *libc.TLS, pCache uintptr, pgno Pgno, createFlag int32) uintptr { /* sqlite3.c:50741:36: */ var eCreate int32 var pRes uintptr @@ -29344,7 +29354,7 @@ func Xsqlite3PcacheFetch(tls *libc.TLS, pCache uintptr, pgno Pgno, createFlag in // an OOM error. // // This routine should be invoked only after sqlite3PcacheFetch() fails. -func Xsqlite3PcacheFetchStress(tls *libc.TLS, pCache uintptr, pgno Pgno, ppPage uintptr) int32 { /* sqlite3.c:50772:20: */ +func Xsqlite3PcacheFetchStress(tls *libc.TLS, pCache uintptr, pgno Pgno, ppPage uintptr) int32 { /* sqlite3.c:50782:20: */ var pPg uintptr if int32((*PCache)(unsafe.Pointer(pCache)).FeCreate) == 2 { return 0 @@ -29395,7 +29405,7 @@ func Xsqlite3PcacheFetchStress(tls *libc.TLS, pCache uintptr, pgno Pgno, ppPage // This routine is broken out into a separate function since it // requires extra stack manipulation that can be avoided in the common // case. -func pcacheFetchFinishWithInit(tls *libc.TLS, pCache uintptr, pgno Pgno, pPage uintptr) uintptr { /* sqlite3.c:50828:30: */ +func pcacheFetchFinishWithInit(tls *libc.TLS, pCache uintptr, pgno Pgno, pPage uintptr) uintptr { /* sqlite3.c:50838:30: */ var pPgHdr uintptr pPgHdr = (*Sqlite3_pcache_page)(unsafe.Pointer(pPage)).FpExtra @@ -29415,7 +29425,7 @@ func pcacheFetchFinishWithInit(tls *libc.TLS, pCache uintptr, pgno Pgno, pPage u // sqlite3PcacheFetch() into an initialized PgHdr object. This routine // must be called after sqlite3PcacheFetch() in order to get a usable // result. -func Xsqlite3PcacheFetchFinish(tls *libc.TLS, pCache uintptr, pgno Pgno, pPage uintptr) uintptr { /* sqlite3.c:50854:22: */ +func Xsqlite3PcacheFetchFinish(tls *libc.TLS, pCache uintptr, pgno Pgno, pPage uintptr) uintptr { /* sqlite3.c:50864:22: */ var pPgHdr uintptr pPgHdr = (*Sqlite3_pcache_page)(unsafe.Pointer(pPage)).FpExtra @@ -29431,7 +29441,7 @@ func Xsqlite3PcacheFetchFinish(tls *libc.TLS, pCache uintptr, pgno Pgno, pPage u // Decrement the reference count on a page. If the page is clean and the // reference count drops to 0, then it is made eligible for recycling. -func Xsqlite3PcacheRelease(tls *libc.TLS, p uintptr) { /* sqlite3.c:50877:37: */ +func Xsqlite3PcacheRelease(tls *libc.TLS, p uintptr) { /* sqlite3.c:50887:37: */ (*PCache)(unsafe.Pointer((*PgHdr)(unsafe.Pointer(p)).FpCache)).FnRefSum-- if int32(libc.PreDecInt16(&(*PgHdr)(unsafe.Pointer(p)).FnRef, 1)) == 0 { @@ -29444,7 +29454,7 @@ func Xsqlite3PcacheRelease(tls *libc.TLS, p uintptr) { /* sqlite3.c:50877:37: */ } // Increase the reference count of a supplied page by 1. -func Xsqlite3PcacheRef(tls *libc.TLS, p uintptr) { /* sqlite3.c:50892:21: */ +func Xsqlite3PcacheRef(tls *libc.TLS, p uintptr) { /* sqlite3.c:50902:21: */ (*PgHdr)(unsafe.Pointer(p)).FnRef++ (*PCache)(unsafe.Pointer((*PgHdr)(unsafe.Pointer(p)).FpCache)).FnRefSum++ @@ -29453,7 +29463,7 @@ func Xsqlite3PcacheRef(tls *libc.TLS, p uintptr) { /* sqlite3.c:50892:21: */ // Drop a page from the cache. There must be exactly one reference to the // page. This function deletes that reference, so after it returns the // page pointed to by p is invalid. -func Xsqlite3PcacheDrop(tls *libc.TLS, p uintptr) { /* sqlite3.c:50904:21: */ +func Xsqlite3PcacheDrop(tls *libc.TLS, p uintptr) { /* sqlite3.c:50914:21: */ if int32((*PgHdr)(unsafe.Pointer(p)).Fflags)&PGHDR_DIRTY != 0 { pcacheManageDirtyList(tls, p, uint8(PCACHE_DIRTYLIST_REMOVE)) @@ -29466,7 +29476,7 @@ func Xsqlite3PcacheDrop(tls *libc.TLS, p uintptr) { /* sqlite3.c:50904:21: */ // Make sure the page is marked as dirty. If it isn't dirty already, // make it so. -func Xsqlite3PcacheMakeDirty(tls *libc.TLS, p uintptr) { /* sqlite3.c:50918:21: */ +func Xsqlite3PcacheMakeDirty(tls *libc.TLS, p uintptr) { /* sqlite3.c:50928:21: */ if int32((*PgHdr)(unsafe.Pointer(p)).Fflags)&(PGHDR_CLEAN|PGHDR_DONT_WRITE) != 0 { //OPTIMIZATION-IF-FALSE *(*U16)(unsafe.Pointer(p + 52)) &= libc.Uint16FromInt32(libc.CplInt32(PGHDR_DONT_WRITE)) @@ -29481,7 +29491,7 @@ func Xsqlite3PcacheMakeDirty(tls *libc.TLS, p uintptr) { /* sqlite3.c:50918:21: // Make sure the page is marked as clean. If it isn't clean already, // make it so. -func Xsqlite3PcacheMakeClean(tls *libc.TLS, p uintptr) { /* sqlite3.c:50938:21: */ +func Xsqlite3PcacheMakeClean(tls *libc.TLS, p uintptr) { /* sqlite3.c:50948:21: */ pcacheManageDirtyList(tls, p, uint8(PCACHE_DIRTYLIST_REMOVE)) *(*U16)(unsafe.Pointer(p + 52)) &= libc.Uint16FromInt32(libc.CplInt32(PGHDR_DIRTY | PGHDR_NEED_SYNC | PGHDR_WRITEABLE)) @@ -29493,7 +29503,7 @@ func Xsqlite3PcacheMakeClean(tls *libc.TLS, p uintptr) { /* sqlite3.c:50938:21: } // Make every page in the cache clean. -func Xsqlite3PcacheCleanAll(tls *libc.TLS, pCache uintptr) { /* sqlite3.c:50955:21: */ +func Xsqlite3PcacheCleanAll(tls *libc.TLS, pCache uintptr) { /* sqlite3.c:50965:21: */ var p uintptr for libc.AssignUintptr(&p, (*PCache)(unsafe.Pointer(pCache)).FpDirty) != uintptr(0) { @@ -29502,7 +29512,7 @@ func Xsqlite3PcacheCleanAll(tls *libc.TLS, pCache uintptr) { /* sqlite3.c:50955: } // Clear the PGHDR_NEED_SYNC and PGHDR_WRITEABLE flag from all dirty pages. -func Xsqlite3PcacheClearWritable(tls *libc.TLS, pCache uintptr) { /* sqlite3.c:50966:21: */ +func Xsqlite3PcacheClearWritable(tls *libc.TLS, pCache uintptr) { /* sqlite3.c:50976:21: */ var p uintptr for p = (*PCache)(unsafe.Pointer(pCache)).FpDirty; p != 0; p = (*PgHdr)(unsafe.Pointer(p)).FpDirtyNext { @@ -29512,7 +29522,7 @@ func Xsqlite3PcacheClearWritable(tls *libc.TLS, pCache uintptr) { /* sqlite3.c:5 } // Clear the PGHDR_NEED_SYNC flag from all dirty pages. -func Xsqlite3PcacheClearSyncFlags(tls *libc.TLS, pCache uintptr) { /* sqlite3.c:50978:21: */ +func Xsqlite3PcacheClearSyncFlags(tls *libc.TLS, pCache uintptr) { /* sqlite3.c:50988:21: */ var p uintptr for p = (*PCache)(unsafe.Pointer(pCache)).FpDirty; p != 0; p = (*PgHdr)(unsafe.Pointer(p)).FpDirtyNext { *(*U16)(unsafe.Pointer(p + 52)) &= libc.Uint16FromInt32(libc.CplInt32(PGHDR_NEED_SYNC)) @@ -29521,7 +29531,7 @@ func Xsqlite3PcacheClearSyncFlags(tls *libc.TLS, pCache uintptr) { /* sqlite3.c: } // Change the page number of page p to newPgno. -func Xsqlite3PcacheMove(tls *libc.TLS, p uintptr, newPgno Pgno) { /* sqlite3.c:50989:21: */ +func Xsqlite3PcacheMove(tls *libc.TLS, p uintptr, newPgno Pgno) { /* sqlite3.c:50999:21: */ var pCache uintptr = (*PgHdr)(unsafe.Pointer(p)).FpCache (*struct { @@ -29540,7 +29550,7 @@ func Xsqlite3PcacheMove(tls *libc.TLS, p uintptr, newPgno Pgno) { /* sqlite3.c:5 // If there is a reference to page 1 and the pgno parameter passed to this // function is 0, then the data area associated with page 1 is zeroed, but // the page object is not dropped. -func Xsqlite3PcacheTruncate(tls *libc.TLS, pCache uintptr, pgno Pgno) { /* sqlite3.c:51011:21: */ +func Xsqlite3PcacheTruncate(tls *libc.TLS, pCache uintptr, pgno Pgno) { /* sqlite3.c:51021:21: */ if (*PCache)(unsafe.Pointer(pCache)).FpCache != 0 { var p uintptr var pNext uintptr @@ -29574,19 +29584,19 @@ func Xsqlite3PcacheTruncate(tls *libc.TLS, pCache uintptr, pgno Pgno) { /* sqlit } // Close a cache. -func Xsqlite3PcacheClose(tls *libc.TLS, pCache uintptr) { /* sqlite3.c:51044:21: */ +func Xsqlite3PcacheClose(tls *libc.TLS, pCache uintptr) { /* sqlite3.c:51054:21: */ (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{Xsqlite3Config.Fpcache2.FxDestroy})).f(tls, (*PCache)(unsafe.Pointer(pCache)).FpCache) } // Discard the contents of the cache. -func Xsqlite3PcacheClear(tls *libc.TLS, pCache uintptr) { /* sqlite3.c:51053:21: */ +func Xsqlite3PcacheClear(tls *libc.TLS, pCache uintptr) { /* sqlite3.c:51063:21: */ Xsqlite3PcacheTruncate(tls, pCache, uint32(0)) } // Merge two lists of pages connected by pDirty and in pgno order. // Do not bother fixing the pDirtyPrev pointers. -func pcacheMergeDirtyList(tls *libc.TLS, pA uintptr, pB uintptr) uintptr { /* sqlite3.c:51061:14: */ +func pcacheMergeDirtyList(tls *libc.TLS, pA uintptr, pB uintptr) uintptr { /* sqlite3.c:51071:14: */ bp := tls.Alloc(72) defer tls.Free(72) @@ -29625,7 +29635,7 @@ func pcacheMergeDirtyList(tls *libc.TLS, pA uintptr, pB uintptr) uintptr { /* sq // there cannot be more than 31 buckets required by the merge sorter. // One extra bucket is added to catch overflow in case something // ever changes to make the previous sentence incorrect. -func pcacheSortDirtyList(tls *libc.TLS, pIn uintptr) uintptr { /* sqlite3.c:51098:14: */ +func pcacheSortDirtyList(tls *libc.TLS, pIn uintptr) uintptr { /* sqlite3.c:51108:14: */ bp := tls.Alloc(256) defer tls.Free(256) @@ -29668,7 +29678,7 @@ func pcacheSortDirtyList(tls *libc.TLS, pIn uintptr) uintptr { /* sqlite3.c:5109 } // Return a list of all dirty pages in the cache, sorted by page number. -func Xsqlite3PcacheDirtyList(tls *libc.TLS, pCache uintptr) uintptr { /* sqlite3.c:51133:22: */ +func Xsqlite3PcacheDirtyList(tls *libc.TLS, pCache uintptr) uintptr { /* sqlite3.c:51143:22: */ var p uintptr for p = (*PCache)(unsafe.Pointer(pCache)).FpDirty; p != 0; p = (*PgHdr)(unsafe.Pointer(p)).FpDirtyNext { (*PgHdr)(unsafe.Pointer(p)).FpDirty = (*PgHdr)(unsafe.Pointer(p)).FpDirtyNext @@ -29680,17 +29690,17 @@ func Xsqlite3PcacheDirtyList(tls *libc.TLS, pCache uintptr) uintptr { /* sqlite3 // // This is not the total number of pages referenced, but the sum of the // reference count for all pages. -func Xsqlite3PcacheRefCount(tls *libc.TLS, pCache uintptr) int32 { /* sqlite3.c:51147:20: */ +func Xsqlite3PcacheRefCount(tls *libc.TLS, pCache uintptr) int32 { /* sqlite3.c:51157:20: */ return (*PCache)(unsafe.Pointer(pCache)).FnRefSum } // Return the number of references to the page supplied as an argument. -func Xsqlite3PcachePageRefcount(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:51154:20: */ +func Xsqlite3PcachePageRefcount(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:51164:20: */ return int32((*PgHdr)(unsafe.Pointer(p)).FnRef) } // Return the total number of pages in the cache. -func Xsqlite3PcachePagecount(tls *libc.TLS, pCache uintptr) int32 { /* sqlite3.c:51161:20: */ +func Xsqlite3PcachePagecount(tls *libc.TLS, pCache uintptr) int32 { /* sqlite3.c:51171:20: */ return (*struct { f func(*libc.TLS, uintptr) int32 @@ -29698,7 +29708,7 @@ func Xsqlite3PcachePagecount(tls *libc.TLS, pCache uintptr) int32 { /* sqlite3.c } // Set the suggested cache-size value. -func Xsqlite3PcacheSetCachesize(tls *libc.TLS, pCache uintptr, mxPage int32) { /* sqlite3.c:51178:21: */ +func Xsqlite3PcacheSetCachesize(tls *libc.TLS, pCache uintptr, mxPage int32) { /* sqlite3.c:51188:21: */ (*PCache)(unsafe.Pointer(pCache)).FszCache = mxPage (*struct { @@ -29710,7 +29720,7 @@ func Xsqlite3PcacheSetCachesize(tls *libc.TLS, pCache uintptr, mxPage int32) { / // Set the suggested cache-spill value. Make no changes if if the // argument is zero. Return the effective cache-spill size, which will // be the larger of the szSpill and szCache. -func Xsqlite3PcacheSetSpillsize(tls *libc.TLS, p uintptr, mxPage int32) int32 { /* sqlite3.c:51190:20: */ +func Xsqlite3PcacheSetSpillsize(tls *libc.TLS, p uintptr, mxPage int32) int32 { /* sqlite3.c:51200:20: */ var res int32 if mxPage != 0 { @@ -29727,20 +29737,20 @@ func Xsqlite3PcacheSetSpillsize(tls *libc.TLS, p uintptr, mxPage int32) int32 { } // Free up as much memory as possible from the page cache. -func Xsqlite3PcacheShrink(tls *libc.TLS, pCache uintptr) { /* sqlite3.c:51207:21: */ +func Xsqlite3PcacheShrink(tls *libc.TLS, pCache uintptr) { /* sqlite3.c:51217:21: */ (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{Xsqlite3Config.Fpcache2.FxShrink})).f(tls, (*PCache)(unsafe.Pointer(pCache)).FpCache) } // Return the size of the header added by this middleware layer // in the page-cache hierarchy. -func Xsqlite3HeaderSizePcache(tls *libc.TLS) int32 { /* sqlite3.c:51216:20: */ +func Xsqlite3HeaderSizePcache(tls *libc.TLS) int32 { /* sqlite3.c:51226:20: */ return int32((uint64(unsafe.Sizeof(PgHdr{})) + uint64(7)) & libc.Uint64FromInt32(libc.CplInt32(7))) } // Return the number of dirty pages currently in the cache, as a percentage // of the configured cache size. -func Xsqlite3PCachePercentDirty(tls *libc.TLS, pCache uintptr) int32 { /* sqlite3.c:51222:20: */ +func Xsqlite3PCachePercentDirty(tls *libc.TLS, pCache uintptr) int32 { /* sqlite3.c:51232:20: */ var pDirty uintptr var nDirty int32 = 0 var nCache int32 = numberOfCachePages(tls, pCache) @@ -29855,7 +29865,7 @@ type PCache11 = struct { FapHash uintptr FpFree uintptr FpBulk uintptr -} /* sqlite3.c:51339:9 */ +} /* sqlite3.c:51349:9 */ //************* End of pcache.c ********************************************* //************* Begin file pcache1.c **************************************** @@ -29941,7 +29951,7 @@ type PCache11 = struct { // common workloads. // #include "sqliteInt.h" -type PCache1 = PCache11 /* sqlite3.c:51339:24 */ +type PCache1 = PCache11 /* sqlite3.c:51349:24 */ type PgHdr11 = struct { Fpage Sqlite3_pcache_page FiKey uint32 @@ -29951,12 +29961,12 @@ type PgHdr11 = struct { FpCache uintptr FpLruNext uintptr FpLruPrev uintptr -} /* sqlite3.c:51339:9 */ +} /* sqlite3.c:51349:9 */ -type PgHdr1 = PgHdr11 /* sqlite3.c:51340:23 */ -type PgFreeslot1 = struct{ FpNext uintptr } /* sqlite3.c:51341:9 */ +type PgHdr1 = PgHdr11 /* sqlite3.c:51350:23 */ +type PgFreeslot1 = struct{ FpNext uintptr } /* sqlite3.c:51351:9 */ -type PgFreeslot = PgFreeslot1 /* sqlite3.c:51341:27 */ +type PgFreeslot = PgFreeslot1 /* sqlite3.c:51351:27 */ type PGroup1 = struct { Fmutex uintptr FnMaxPage uint32 @@ -29964,9 +29974,9 @@ type PGroup1 = struct { FmxPinned uint32 FnPurgeable uint32 Flru PgHdr1 -} /* sqlite3.c:51339:9 */ +} /* sqlite3.c:51349:9 */ -type PGroup = PGroup1 /* sqlite3.c:51342:23 */ +type PGroup = PGroup1 /* sqlite3.c:51352:23 */ // Global data used by this cache. type PCacheGlobal = struct { @@ -29983,10 +29993,10 @@ type PCacheGlobal = struct { FpFree uintptr FnFreeSlot int32 FbUnderPressure int32 -} /* sqlite3.c:51459:19 */ +} /* sqlite3.c:51469:19 */ // Global data used by this cache. -var pcache1_g PCacheGlobal /* sqlite3.c:51483:3: */ +var pcache1_g PCacheGlobal /* sqlite3.c:51493:3: */ // All code in this file should access the global structure above via the // alias "pcache1". This ensures that the WSD emulation is used when @@ -30004,7 +30014,7 @@ var pcache1_g PCacheGlobal /* sqlite3.c:51483:3: */ // // This routine is called from sqlite3_initialize() and so it is guaranteed // to be serialized already. There is no need for further mutexing. -func Xsqlite3PCacheBufferSetup(tls *libc.TLS, pBuf uintptr, sz int32, n int32) { /* sqlite3.c:51518:21: */ +func Xsqlite3PCacheBufferSetup(tls *libc.TLS, pBuf uintptr, sz int32, n int32) { /* sqlite3.c:51528:21: */ if pcache1_g.FisInit != 0 { var p uintptr if pBuf == uintptr(0) { @@ -30037,7 +30047,7 @@ func Xsqlite3PCacheBufferSetup(tls *libc.TLS, pBuf uintptr, sz int32, n int32) { // Try to initialize the pCache->pFree and pCache->pBulk fields. Return // true if pCache->pFree ends up containing one or more free pages. -func pcache1InitBulk(tls *libc.TLS, pCache uintptr) int32 { /* sqlite3.c:51544:12: */ +func pcache1InitBulk(tls *libc.TLS, pCache uintptr) int32 { /* sqlite3.c:51554:12: */ var szBulk I64 var zBulk uintptr if pcache1_g.FnInitPage == 0 { @@ -30082,7 +30092,7 @@ func pcache1InitBulk(tls *libc.TLS, pCache uintptr) int32 { /* sqlite3.c:51544:1 // // Multiple threads can run this routine at the same time. Global variables // in pcache1 need to be protected via mutex. -func pcache1Alloc(tls *libc.TLS, nByte int32) uintptr { /* sqlite3.c:51587:13: */ +func pcache1Alloc(tls *libc.TLS, nByte int32) uintptr { /* sqlite3.c:51597:13: */ var p uintptr = uintptr(0) if nByte <= pcache1_g.FszSlot { @@ -30115,7 +30125,7 @@ func pcache1Alloc(tls *libc.TLS, nByte int32) uintptr { /* sqlite3.c:51587:13: * } // Free an allocated buffer obtained from pcache1Alloc(). -func pcache1Free(tls *libc.TLS, p uintptr) { /* sqlite3.c:51625:13: */ +func pcache1Free(tls *libc.TLS, p uintptr) { /* sqlite3.c:51635:13: */ if p == uintptr(0) { return } @@ -30145,7 +30155,7 @@ func pcache1Free(tls *libc.TLS, p uintptr) { /* sqlite3.c:51625:13: */ } // Return the size of a pcache allocation -func pcache1MemSize(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:51658:12: */ +func pcache1MemSize(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:51668:12: */ if p >= pcache1_g.FpStart && p < pcache1_g.FpEnd { return pcache1_g.FszSlot } else { @@ -30159,7 +30169,7 @@ func pcache1MemSize(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:51658:12: */ } // Allocate a new page object initially associated with cache pCache. -func pcache1AllocPage(tls *libc.TLS, pCache uintptr, benignMalloc int32) uintptr { /* sqlite3.c:51675:15: */ +func pcache1AllocPage(tls *libc.TLS, pCache uintptr, benignMalloc int32) uintptr { /* sqlite3.c:51685:15: */ var p uintptr = uintptr(0) var pPg uintptr @@ -30197,7 +30207,7 @@ func pcache1AllocPage(tls *libc.TLS, pCache uintptr, benignMalloc int32) uintptr } // Free a page object allocated by pcache1AllocPage(). -func pcache1FreePage(tls *libc.TLS, p uintptr) { /* sqlite3.c:51727:13: */ +func pcache1FreePage(tls *libc.TLS, p uintptr) { /* sqlite3.c:51737:13: */ var pCache uintptr pCache = (*PgHdr1)(unsafe.Pointer(p)).FpCache @@ -30214,13 +30224,13 @@ func pcache1FreePage(tls *libc.TLS, p uintptr) { /* sqlite3.c:51727:13: */ // Malloc function used by SQLite to obtain space from the buffer configured // using sqlite3_config(SQLITE_CONFIG_PAGECACHE) option. If no such buffer // exists, this function falls back to sqlite3Malloc(). -func Xsqlite3PageMalloc(tls *libc.TLS, sz int32) uintptr { /* sqlite3.c:51749:21: */ +func Xsqlite3PageMalloc(tls *libc.TLS, sz int32) uintptr { /* sqlite3.c:51759:21: */ // These allocations are never very large return pcache1Alloc(tls, sz) } // Free an allocated buffer obtained from sqlite3PageMalloc(). -func Xsqlite3PageFree(tls *libc.TLS, p uintptr) { /* sqlite3.c:51757:21: */ +func Xsqlite3PageFree(tls *libc.TLS, p uintptr) { /* sqlite3.c:51767:21: */ pcache1Free(tls, p) } @@ -30238,7 +30248,7 @@ func Xsqlite3PageFree(tls *libc.TLS, p uintptr) { /* sqlite3.c:51757:21: */ // under memory pressure, then again it is desirable to avoid // allocating a new page cache entry in order to avoid stressing // the heap even further. -func pcache1UnderMemoryPressure(tls *libc.TLS, pCache uintptr) int32 { /* sqlite3.c:51778:12: */ +func pcache1UnderMemoryPressure(tls *libc.TLS, pCache uintptr) int32 { /* sqlite3.c:51788:12: */ if pcache1_g.FnSlot != 0 && (*PCache1)(unsafe.Pointer(pCache)).FszPage+(*PCache1)(unsafe.Pointer(pCache)).FszExtra <= pcache1_g.FszSlot { return pcache1_g.FbUnderPressure } else { @@ -30254,7 +30264,7 @@ func pcache1UnderMemoryPressure(tls *libc.TLS, pCache uintptr) int32 { /* sqlite // as the first argument. // // The PCache mutex must be held when this function is called. -func pcache1ResizeHash(tls *libc.TLS, p uintptr) { /* sqlite3.c:51795:13: */ +func pcache1ResizeHash(tls *libc.TLS, p uintptr) { /* sqlite3.c:51805:13: */ var apNew uintptr var nNew uint32 var i uint32 @@ -30295,7 +30305,7 @@ func pcache1ResizeHash(tls *libc.TLS, p uintptr) { /* sqlite3.c:51795:13: */ // LRU list, then this function is a no-op. // // The PGroup mutex must be held when this function is called. -func pcache1PinPage(tls *libc.TLS, pPage uintptr) uintptr { /* sqlite3.c:51836:15: */ +func pcache1PinPage(tls *libc.TLS, pPage uintptr) uintptr { /* sqlite3.c:51846:15: */ (*PgHdr1)(unsafe.Pointer((*PgHdr1)(unsafe.Pointer(pPage)).FpLruPrev)).FpLruNext = (*PgHdr1)(unsafe.Pointer(pPage)).FpLruNext (*PgHdr1)(unsafe.Pointer((*PgHdr1)(unsafe.Pointer(pPage)).FpLruNext)).FpLruPrev = (*PgHdr1)(unsafe.Pointer(pPage)).FpLruPrev @@ -30312,7 +30322,7 @@ func pcache1PinPage(tls *libc.TLS, pPage uintptr) uintptr { /* sqlite3.c:51836:1 // Also free the page if freePage is true. // // The PGroup mutex must be held when this function is called. -func pcache1RemoveFromHash(tls *libc.TLS, pPage uintptr, freeFlag int32) { /* sqlite3.c:51861:13: */ +func pcache1RemoveFromHash(tls *libc.TLS, pPage uintptr, freeFlag int32) { /* sqlite3.c:51871:13: */ var h uint32 var pCache uintptr = (*PgHdr1)(unsafe.Pointer(pPage)).FpCache var pp uintptr @@ -30330,7 +30340,7 @@ func pcache1RemoveFromHash(tls *libc.TLS, pPage uintptr, freeFlag int32) { /* sq // If there are currently more than nMaxPage pages allocated, try // to recycle pages to reduce the number allocated to nMaxPage. -func pcache1EnforceMaxPage(tls *libc.TLS, pCache uintptr) { /* sqlite3.c:51879:13: */ +func pcache1EnforceMaxPage(tls *libc.TLS, pCache uintptr) { /* sqlite3.c:51889:13: */ var pGroup uintptr = (*PCache1)(unsafe.Pointer(pCache)).FpGroup var p uintptr @@ -30351,7 +30361,7 @@ func pcache1EnforceMaxPage(tls *libc.TLS, pCache uintptr) { /* sqlite3.c:51879:1 // criteria are unpinned before they are discarded. // // The PCache mutex must be held when this function is called. -func pcache1TruncateUnsafe(tls *libc.TLS, pCache uintptr, iLimit uint32) { /* sqlite3.c:51904:13: */ +func pcache1TruncateUnsafe(tls *libc.TLS, pCache uintptr, iLimit uint32) { /* sqlite3.c:51914:13: */ var h uint32 var iStop uint32 @@ -30399,7 +30409,7 @@ func pcache1TruncateUnsafe(tls *libc.TLS, pCache uintptr, iLimit uint32) { /* sq //******* sqlite3_pcache Methods ********************************************* // Implementation of the sqlite3_pcache.xInit method. -func pcache1Init(tls *libc.TLS, NotUsed uintptr) int32 { /* sqlite3.c:51955:12: */ +func pcache1Init(tls *libc.TLS, NotUsed uintptr) int32 { /* sqlite3.c:51965:12: */ _ = NotUsed libc.Xmemset(tls, uintptr(unsafe.Pointer(&pcache1_g)), 0, uint64(unsafe.Sizeof(pcache1_g))) @@ -30437,7 +30447,7 @@ func pcache1Init(tls *libc.TLS, NotUsed uintptr) int32 { /* sqlite3.c:51955:12: // Implementation of the sqlite3_pcache.xShutdown method. // Note that the static mutex allocated in xInit does // not need to be freed. -func pcache1Shutdown(tls *libc.TLS, NotUsed uintptr) { /* sqlite3.c:52008:13: */ +func pcache1Shutdown(tls *libc.TLS, NotUsed uintptr) { /* sqlite3.c:52018:13: */ _ = NotUsed libc.Xmemset(tls, uintptr(unsafe.Pointer(&pcache1_g)), 0, uint64(unsafe.Sizeof(pcache1_g))) @@ -30446,7 +30456,7 @@ func pcache1Shutdown(tls *libc.TLS, NotUsed uintptr) { /* sqlite3.c:52008:13: */ // Implementation of the sqlite3_pcache.xCreate method. // // Allocate a new cache. -func pcache1Create(tls *libc.TLS, szPage int32, szExtra int32, bPurgeable int32) uintptr { /* sqlite3.c:52022:23: */ +func pcache1Create(tls *libc.TLS, szPage int32, szExtra int32, bPurgeable int32) uintptr { /* sqlite3.c:52032:23: */ var pCache uintptr // The newly created page cache var pGroup uintptr // The group the new page cache will belong to var sz int32 // Bytes of memory required to allocate the new cache @@ -30496,7 +30506,7 @@ func pcache1Create(tls *libc.TLS, szPage int32, szExtra int32, bPurgeable int32) // Implementation of the sqlite3_pcache.xCachesize method. // // Configure the cache_size limit for a cache. -func pcache1Cachesize(tls *libc.TLS, p uintptr, nMax int32) { /* sqlite3.c:52072:13: */ +func pcache1Cachesize(tls *libc.TLS, p uintptr, nMax int32) { /* sqlite3.c:52082:13: */ var pCache uintptr = p var n U32 @@ -30519,7 +30529,7 @@ func pcache1Cachesize(tls *libc.TLS, p uintptr, nMax int32) { /* sqlite3.c:52072 // Implementation of the sqlite3_pcache.xShrink method. // // Free up as much memory as possible. -func pcache1Shrink(tls *libc.TLS, p uintptr) { /* sqlite3.c:52097:13: */ +func pcache1Shrink(tls *libc.TLS, p uintptr) { /* sqlite3.c:52107:13: */ var pCache uintptr = p if (*PCache1)(unsafe.Pointer(pCache)).FbPurgeable != 0 { var pGroup uintptr = (*PCache1)(unsafe.Pointer(pCache)).FpGroup @@ -30534,7 +30544,7 @@ func pcache1Shrink(tls *libc.TLS, p uintptr) { /* sqlite3.c:52097:13: */ } // Implementation of the sqlite3_pcache.xPagecount method. -func pcache1Pagecount(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:52114:12: */ +func pcache1Pagecount(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:52124:12: */ var n int32 var pCache uintptr = p Xsqlite3_mutex_enter(tls, (*PGroup)(unsafe.Pointer((*PCache1)(unsafe.Pointer(pCache)).FpGroup)).Fmutex) @@ -30549,7 +30559,7 @@ func pcache1Pagecount(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:52114:12: * // This steps are broken out into a separate procedure because they are // usually not needed, and by avoiding the stack initialization required // for these steps, the main pcache1Fetch() procedure can run faster. -func pcache1FetchStage2(tls *libc.TLS, pCache uintptr, iKey uint32, createFlag int32) uintptr { /* sqlite3.c:52132:31: */ +func pcache1FetchStage2(tls *libc.TLS, pCache uintptr, iKey uint32, createFlag int32) uintptr { /* sqlite3.c:52142:31: */ var nPinned uint32 var pGroup uintptr = (*PCache1)(unsafe.Pointer(pCache)).FpGroup var pPage uintptr = uintptr(0) @@ -30667,7 +30677,7 @@ func pcache1FetchStage2(tls *libc.TLS, pCache uintptr, iKey uint32, createFlag i // the general case. pcache1FetchNoMutex() is a faster implementation for // the common case where pGroup->mutex is NULL. The pcache1Fetch() wrapper // invokes the appropriate routine. -func pcache1FetchNoMutex(tls *libc.TLS, p uintptr, iKey uint32, createFlag int32) uintptr { /* sqlite3.c:52260:15: */ +func pcache1FetchNoMutex(tls *libc.TLS, p uintptr, iKey uint32, createFlag int32) uintptr { /* sqlite3.c:52270:15: */ var pCache uintptr = p var pPage uintptr = uintptr(0) @@ -30696,7 +30706,7 @@ func pcache1FetchNoMutex(tls *libc.TLS, p uintptr, iKey uint32, createFlag int32 return uintptr(0) } -func pcache1FetchWithMutex(tls *libc.TLS, p uintptr, iKey uint32, createFlag int32) uintptr { /* sqlite3.c:52290:15: */ +func pcache1FetchWithMutex(tls *libc.TLS, p uintptr, iKey uint32, createFlag int32) uintptr { /* sqlite3.c:52300:15: */ var pCache uintptr = p var pPage uintptr @@ -30707,7 +30717,7 @@ func pcache1FetchWithMutex(tls *libc.TLS, p uintptr, iKey uint32, createFlag int return pPage } -func pcache1Fetch(tls *libc.TLS, p uintptr, iKey uint32, createFlag int32) uintptr { /* sqlite3.c:52305:28: */ +func pcache1Fetch(tls *libc.TLS, p uintptr, iKey uint32, createFlag int32) uintptr { /* sqlite3.c:52315:28: */ var pCache uintptr = p if (*PGroup)(unsafe.Pointer((*PCache1)(unsafe.Pointer(pCache)).FpGroup)).Fmutex != 0 { @@ -30721,7 +30731,7 @@ func pcache1Fetch(tls *libc.TLS, p uintptr, iKey uint32, createFlag int32) uintp // Implementation of the sqlite3_pcache.xUnpin method. // // Mark a page as unpinned (eligible for asynchronous recycling). -func pcache1Unpin(tls *libc.TLS, p uintptr, pPg uintptr, reuseUnlikely int32) { /* sqlite3.c:52336:13: */ +func pcache1Unpin(tls *libc.TLS, p uintptr, pPg uintptr, reuseUnlikely int32) { /* sqlite3.c:52346:13: */ var pCache uintptr = p var pPage uintptr = pPg var pGroup uintptr = (*PCache1)(unsafe.Pointer(pCache)).FpGroup @@ -30746,7 +30756,7 @@ func pcache1Unpin(tls *libc.TLS, p uintptr, pPg uintptr, reuseUnlikely int32) { } // Implementation of the sqlite3_pcache.xRekey method. -func pcache1Rekey(tls *libc.TLS, p uintptr, pPg uintptr, iOld uint32, iNew uint32) { /* sqlite3.c:52371:13: */ +func pcache1Rekey(tls *libc.TLS, p uintptr, pPg uintptr, iOld uint32, iNew uint32) { /* sqlite3.c:52381:13: */ var pCache uintptr = p var pPage uintptr = pPg var pp uintptr @@ -30777,7 +30787,7 @@ func pcache1Rekey(tls *libc.TLS, p uintptr, pPg uintptr, iOld uint32, iNew uint3 // Discard all unpinned pages in the cache with a page number equal to // or greater than parameter iLimit. Any pinned pages with a page number // equal to or greater than iLimit are implicitly unpinned. -func pcache1Truncate(tls *libc.TLS, p uintptr, iLimit uint32) { /* sqlite3.c:52411:13: */ +func pcache1Truncate(tls *libc.TLS, p uintptr, iLimit uint32) { /* sqlite3.c:52421:13: */ var pCache uintptr = p Xsqlite3_mutex_enter(tls, (*PGroup)(unsafe.Pointer((*PCache1)(unsafe.Pointer(pCache)).FpGroup)).Fmutex) if iLimit <= (*PCache1)(unsafe.Pointer(pCache)).FiMaxKey { @@ -30790,7 +30800,7 @@ func pcache1Truncate(tls *libc.TLS, p uintptr, iLimit uint32) { /* sqlite3.c:524 // Implementation of the sqlite3_pcache.xDestroy method. // // Destroy a cache allocated using pcache1Create(). -func pcache1Destroy(tls *libc.TLS, p uintptr) { /* sqlite3.c:52426:13: */ +func pcache1Destroy(tls *libc.TLS, p uintptr) { /* sqlite3.c:52436:13: */ var pCache uintptr = p var pGroup uintptr = (*PCache1)(unsafe.Pointer(pCache)).FpGroup @@ -30813,7 +30823,7 @@ func pcache1Destroy(tls *libc.TLS, p uintptr) { /* sqlite3.c:52426:13: */ // This function is called during initialization (sqlite3_initialize()) to // install the default pluggable cache module, assuming the user has not // already provided an alternative. -func Xsqlite3PCacheSetDefault(tls *libc.TLS) { /* sqlite3.c:52449:21: */ +func Xsqlite3PCacheSetDefault(tls *libc.TLS) { /* sqlite3.c:52459:21: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -30833,16 +30843,16 @@ var defaultMethods1 = Sqlite3_pcache_methods2{ FxTruncate: 0, // xTruncate FxDestroy: 0, // xDestroy FxShrink: 0, // xShrink -} /* sqlite3.c:52450:40 */ +} /* sqlite3.c:52460:40 */ // Return the size of the header on each page of this PCACHE implementation. -func Xsqlite3HeaderSizePcache1(tls *libc.TLS) int32 { /* sqlite3.c:52471:20: */ +func Xsqlite3HeaderSizePcache1(tls *libc.TLS) int32 { /* sqlite3.c:52481:20: */ return int32((uint64(unsafe.Sizeof(PgHdr1{})) + uint64(7)) & libc.Uint64FromInt32(libc.CplInt32(7))) } // Return the global mutex used by this PCACHE implementation. The // sqlite3_status() routine needs access to this mutex. -func Xsqlite3Pcache1Mutex(tls *libc.TLS) uintptr { /* sqlite3.c:52477:30: */ +func Xsqlite3Pcache1Mutex(tls *libc.TLS) uintptr { /* sqlite3.c:52487:30: */ return pcache1_g.Fmutex } @@ -30853,7 +30863,7 @@ func Xsqlite3Pcache1Mutex(tls *libc.TLS) uintptr { /* sqlite3.c:52477:30: */ // nReq is the number of bytes of memory required. Once this much has // been released, the function returns. The return value is the total number // of bytes of memory released. -func Xsqlite3PcacheReleaseMemory(tls *libc.TLS, nReq int32) int32 { /* sqlite3.c:52491:20: */ +func Xsqlite3PcacheReleaseMemory(tls *libc.TLS, nReq int32) int32 { /* sqlite3.c:52501:20: */ var nFree int32 = 0 if Xsqlite3Config.FpPage == uintptr(0) { @@ -30970,7 +30980,7 @@ type RowSetChunk = struct { // Allocate a RowSet object. Return NULL if a memory allocation // error occurs. -func Xsqlite3RowSetInit(tls *libc.TLS, db uintptr) uintptr { /* sqlite3.c:52671:23: */ +func Xsqlite3RowSetInit(tls *libc.TLS, db uintptr) uintptr { /* sqlite3.c:52681:23: */ var p uintptr = Xsqlite3DbMallocRawNN(tls, db, uint64(unsafe.Sizeof(RowSet{}))) if p != 0 { var N int32 = Xsqlite3DbMallocSize(tls, db, p) @@ -30990,7 +31000,7 @@ func Xsqlite3RowSetInit(tls *libc.TLS, db uintptr) uintptr { /* sqlite3.c:52671: // Deallocate all chunks from a RowSet. This frees all memory that // the RowSet has allocated over its lifetime. This routine is // the destructor for the RowSet. -func Xsqlite3RowSetClear(tls *libc.TLS, pArg uintptr) { /* sqlite3.c:52693:21: */ +func Xsqlite3RowSetClear(tls *libc.TLS, pArg uintptr) { /* sqlite3.c:52703:21: */ var p uintptr = pArg var pChunk uintptr var pNextChunk uintptr @@ -31009,7 +31019,7 @@ func Xsqlite3RowSetClear(tls *libc.TLS, pArg uintptr) { /* sqlite3.c:52693:21: * // Deallocate all chunks from a RowSet. This frees all memory that // the RowSet has allocated over its lifetime. This routine is // the destructor for the RowSet. -func Xsqlite3RowSetDelete(tls *libc.TLS, pArg uintptr) { /* sqlite3.c:52713:21: */ +func Xsqlite3RowSetDelete(tls *libc.TLS, pArg uintptr) { /* sqlite3.c:52723:21: */ Xsqlite3RowSetClear(tls, pArg) Xsqlite3DbFree(tls, (*RowSet)(unsafe.Pointer(pArg)).Fdb, pArg) } @@ -31020,7 +31030,7 @@ func Xsqlite3RowSetDelete(tls *libc.TLS, pArg uintptr) { /* sqlite3.c:52713:21: // // In an OOM situation, the RowSet.db->mallocFailed flag is set and this // routine returns NULL. -func rowSetEntryAlloc(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:52726:27: */ +func rowSetEntryAlloc(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:52736:27: */ if int32((*RowSet)(unsafe.Pointer(p)).FnFresh) == 0 { //OPTIMIZATION-IF-FALSE // We could allocate a fresh RowSetEntry each time one is needed, but it @@ -31043,7 +31053,7 @@ func rowSetEntryAlloc(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:52726:27: // // The mallocFailed flag of the database connection is set if a // memory allocation fails. -func Xsqlite3RowSetInsert(tls *libc.TLS, p uintptr, rowid I64) { /* sqlite3.c:52751:21: */ +func Xsqlite3RowSetInsert(tls *libc.TLS, p uintptr, rowid I64) { /* sqlite3.c:52761:21: */ var pEntry uintptr // The new entry var pLast uintptr // The last prior entry @@ -31073,7 +31083,7 @@ func Xsqlite3RowSetInsert(tls *libc.TLS, p uintptr, rowid I64) { /* sqlite3.c:52 // // The input lists are connected via pRight pointers and are // assumed to each already be in sorted order. -func rowSetEntryMerge(tls *libc.TLS, pA uintptr, pB uintptr) uintptr { /* sqlite3.c:52782:27: */ +func rowSetEntryMerge(tls *libc.TLS, pA uintptr, pB uintptr) uintptr { /* sqlite3.c:52792:27: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -31108,7 +31118,7 @@ func rowSetEntryMerge(tls *libc.TLS, pA uintptr, pB uintptr) uintptr { /* sqlite // Sort all elements on the list of RowSetEntry objects into order of // increasing v. -func rowSetEntrySort(tls *libc.TLS, pIn uintptr) uintptr { /* sqlite3.c:52817:27: */ +func rowSetEntrySort(tls *libc.TLS, pIn uintptr) uintptr { /* sqlite3.c:52827:27: */ bp := tls.Alloc(320) defer tls.Free(320) @@ -31144,7 +31154,7 @@ func rowSetEntrySort(tls *libc.TLS, pIn uintptr) uintptr { /* sqlite3.c:52817:27 // The input, pIn, is a binary tree (or subtree) of RowSetEntry objects. // Convert this tree into a linked list connected by the pRight pointers // and return pointers to the first and last elements of the new list. -func rowSetTreeToList(tls *libc.TLS, pIn uintptr, ppFirst uintptr, ppLast uintptr) { /* sqlite3.c:52846:13: */ +func rowSetTreeToList(tls *libc.TLS, pIn uintptr, ppFirst uintptr, ppLast uintptr) { /* sqlite3.c:52856:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -31175,7 +31185,7 @@ func rowSetTreeToList(tls *libc.TLS, pIn uintptr, ppFirst uintptr, ppLast uintpt // and leave *ppList set to NULL. // // Return a pointer to the root of the constructed binary tree. -func rowSetNDeepTree(tls *libc.TLS, ppList uintptr, iDepth int32) uintptr { /* sqlite3.c:52881:27: */ +func rowSetNDeepTree(tls *libc.TLS, ppList uintptr, iDepth int32) uintptr { /* sqlite3.c:52891:27: */ var p uintptr // Root of the new tree var pLeft uintptr // Left subtree if *(*uintptr)(unsafe.Pointer(ppList)) == uintptr(0) { //OPTIMIZATION-IF-TRUE @@ -31206,7 +31216,7 @@ func rowSetNDeepTree(tls *libc.TLS, ppList uintptr, iDepth int32) uintptr { /* s // Convert a sorted list of elements into a binary tree. Make the tree // as deep as it needs to be in order to contain the entire list. -func rowSetListToTree(tls *libc.TLS, pList uintptr) uintptr { /* sqlite3.c:52917:27: */ +func rowSetListToTree(tls *libc.TLS, pList uintptr) uintptr { /* sqlite3.c:52927:27: */ bp := tls.Alloc(8) defer tls.Free(8) *(*uintptr)(unsafe.Pointer(bp)) = pList @@ -31239,7 +31249,7 @@ func rowSetListToTree(tls *libc.TLS, pList uintptr) uintptr { /* sqlite3.c:52917 // been used. Older versions of RowSet allowed that, but as the // capability was not used by the code generator, it was removed // for code economy. -func Xsqlite3RowSetNext(tls *libc.TLS, p uintptr, pRowid uintptr) int32 { /* sqlite3.c:52949:20: */ +func Xsqlite3RowSetNext(tls *libc.TLS, p uintptr, pRowid uintptr) int32 { /* sqlite3.c:52959:20: */ // Cannot be used with sqlite3RowSetText() @@ -31272,7 +31282,7 @@ func Xsqlite3RowSetNext(tls *libc.TLS, p uintptr, pRowid uintptr) int32 { /* sql // If this is the first test of a new batch and if there exist entries // on pRowSet->pEntry, then sort those entries into the forest at // pRowSet->pForest so that they can be tested. -func Xsqlite3RowSetTest(tls *libc.TLS, pRowSet uintptr, iBatch int32, iRowid Sqlite3_int64) int32 { /* sqlite3.c:52983:20: */ +func Xsqlite3RowSetTest(tls *libc.TLS, pRowSet uintptr, iBatch int32, iRowid Sqlite3_int64) int32 { /* sqlite3.c:52993:20: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -31457,7 +31467,7 @@ type Wal1 = struct { // Connection to a write-ahead log (WAL) file. // There is one object of this type for each pager. -type Wal = Wal1 /* sqlite3.c:53125:20 */ +type Wal = Wal1 /* sqlite3.c:53135:20 */ //************* End of wal.h ************************************************ //************* Continuing where we left off in pager.c ********************* @@ -32226,7 +32236,7 @@ type PagerSavepoint1 = struct { // immediately following the last journal record written into the main // journal before the journal-header. This is required during savepoint // rollback (see pagerPlaybackSavepoint()). -type PagerSavepoint = PagerSavepoint1 /* sqlite3.c:53636:31 */ +type PagerSavepoint = PagerSavepoint1 /* sqlite3.c:53646:31 */ // Indexes for use with Pager.aStat[]. The Pager.aStat[] array contains // the values accessed by passing SQLITE_DBSTATUS_CACHE_HIT, CACHE_MISS @@ -32259,11 +32269,11 @@ type PagerSavepoint = PagerSavepoint1 /* sqlite3.c:53636:31 */ // is different for every journal, we minimize that risk. var aJournalMagic = [8]uint8{ uint8(0xd9), uint8(0xd5), uint8(0x05), uint8(0xf9), uint8(0x20), uint8(0xa1), uint8(0x63), uint8(0xd7), -} /* sqlite3.c:53958:28 */ +} /* sqlite3.c:53968:28 */ // Set the Pager.xGet method for the appropriate routine used to fetch // content from the pager. -func setGetterMethod(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:54251:13: */ +func setGetterMethod(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:54261:13: */ if (*Pager)(unsafe.Pointer(pPager)).FerrCode != 0 { (*Pager)(unsafe.Pointer(pPager)).FxGet = *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, Pgno, uintptr, int32) int32 @@ -32286,7 +32296,7 @@ func setGetterMethod(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:54251:13: */ // * The page-number is less than or equal to PagerSavepoint.nOrig, and // * The bit corresponding to the page-number is not set in // PagerSavepoint.pInSavepoint. -func subjRequiresPage(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:54272:12: */ +func subjRequiresPage(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:54282:12: */ var pPager uintptr = (*PgHdr)(unsafe.Pointer(pPg)).FpPager var p uintptr var pgno Pgno = (*PgHdr)(unsafe.Pointer(pPg)).Fpgno @@ -32308,7 +32318,7 @@ func subjRequiresPage(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:54272:12: // error code is something goes wrong. // // All values are stored on disk as big-endian. -func read32bits(tls *libc.TLS, fd uintptr, offset I64, pRes uintptr) int32 { /* sqlite3.c:54305:12: */ +func read32bits(tls *libc.TLS, fd uintptr, offset I64, pRes uintptr) int32 { /* sqlite3.c:54315:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -32325,7 +32335,7 @@ func read32bits(tls *libc.TLS, fd uintptr, offset I64, pRes uintptr) int32 { /* // Write a 32-bit integer into the given file descriptor. Return SQLITE_OK // on success or an error code is something goes wrong. -func write32bits(tls *libc.TLS, fd uintptr, offset I64, val U32) int32 { /* sqlite3.c:54324:12: */ +func write32bits(tls *libc.TLS, fd uintptr, offset I64, val U32) int32 { /* sqlite3.c:54334:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -32342,7 +32352,7 @@ func write32bits(tls *libc.TLS, fd uintptr, offset I64, val U32) int32 { /* sqli // Except, if Pager.eLock is set to UNKNOWN_LOCK when this function is // called, do not modify it. See the comment above the #define of // UNKNOWN_LOCK for an explanation of this. -func pagerUnlockDb(tls *libc.TLS, pPager uintptr, eLock int32) int32 { /* sqlite3.c:54339:12: */ +func pagerUnlockDb(tls *libc.TLS, pPager uintptr, eLock int32) int32 { /* sqlite3.c:54349:12: */ var rc int32 = SQLITE_OK if (*Sqlite3_file)(unsafe.Pointer((*Pager)(unsafe.Pointer(pPager)).Ffd)).FpMethods != uintptr(0) { @@ -32369,7 +32379,7 @@ func pagerUnlockDb(tls *libc.TLS, pPager uintptr, eLock int32) int32 { /* sqlite // called, do not modify it unless the new locking state is EXCLUSIVE_LOCK. // See the comment above the #define of UNKNOWN_LOCK for an explanation // of this. -func pagerLockDb(tls *libc.TLS, pPager uintptr, eLock int32) int32 { /* sqlite3.c:54367:12: */ +func pagerLockDb(tls *libc.TLS, pPager uintptr, eLock int32) int32 { /* sqlite3.c:54377:12: */ var rc int32 = SQLITE_OK if int32((*Pager)(unsafe.Pointer(pPager)).FeLock) < eLock || int32((*Pager)(unsafe.Pointer(pPager)).FeLock) == EXCLUSIVE_LOCK+1 { @@ -32403,7 +32413,7 @@ func pagerLockDb(tls *libc.TLS, pPager uintptr, eLock int32) int32 { /* sqlite3. // returned in this case. // // If neither optimization can be used, 0 is returned. -func jrnlBufferSize(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:54400:12: */ +func jrnlBufferSize(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:54410:12: */ _ = pPager @@ -32437,7 +32447,7 @@ func jrnlBufferSize(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:54400:12 // // If an error occurs while reading from the journal file, an SQLite // error code is returned. -func readSuperJournal(tls *libc.TLS, pJrnl uintptr, zSuper uintptr, nSuper U32) int32 { /* sqlite3.c:54505:12: */ +func readSuperJournal(tls *libc.TLS, pJrnl uintptr, zSuper uintptr, nSuper U32) int32 { /* sqlite3.c:54515:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -32496,7 +32506,7 @@ func readSuperJournal(tls *libc.TLS, pJrnl uintptr, zSuper uintptr, nSuper U32) // 100 512 // 2000 2048 // -func journalHdrOffset(tls *libc.TLS, pPager uintptr) I64 { /* sqlite3.c:54561:12: */ +func journalHdrOffset(tls *libc.TLS, pPager uintptr) I64 { /* sqlite3.c:54571:12: */ var offset I64 = int64(0) var c I64 = (*Pager)(unsafe.Pointer(pPager)).FjournalOff if c != 0 { @@ -32525,7 +32535,7 @@ func journalHdrOffset(tls *libc.TLS, pPager uintptr) I64 { /* sqlite3.c:54561:12 // // If an IO error occurs, abandon processing and return the IO error code. // Otherwise, return SQLITE_OK. -func zeroJournalHdr(tls *libc.TLS, pPager uintptr, doTruncate int32) int32 { /* sqlite3.c:54594:12: */ +func zeroJournalHdr(tls *libc.TLS, pPager uintptr, doTruncate int32) int32 { /* sqlite3.c:54604:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -32560,7 +32570,7 @@ func zeroJournalHdr(tls *libc.TLS, pPager uintptr, doTruncate int32) int32 { /* return rc } -var zeroHdr = [28]uint8{0: uint8(0)} /* sqlite3.c:54605:25 */ +var zeroHdr = [28]uint8{0: uint8(0)} /* sqlite3.c:54615:25 */ // The journal file must be open when this routine is called. A journal // header (JOURNAL_HDR_SZ bytes) is written into the journal file at the @@ -32575,7 +32585,7 @@ var zeroHdr = [28]uint8{0: uint8(0)} /* sqlite3.c:54605:25 */ // - 4 bytes: Database page size. // // Followed by (JOURNAL_HDR_SZ - 28) bytes of unused space. -func writeJournalHdr(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:54644:12: */ +func writeJournalHdr(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:54654:12: */ var rc int32 = SQLITE_OK // Return code var zHeader uintptr = (*Pager)(unsafe.Pointer(pPager)).FpTmpSpace // Temporary space used to build header var nHeader U32 = U32((*Pager)(unsafe.Pointer(pPager)).FpageSize) // Size of buffer pointed to by zHeader @@ -32685,7 +32695,7 @@ func writeJournalHdr(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:54644:1 // If the journal header file appears to be corrupted, SQLITE_DONE is // returned and *pNRec and *PDbSize are undefined. If JOURNAL_HDR_SZ bytes // cannot be read from the journal file an error code is returned. -func readJournalHdr(tls *libc.TLS, pPager uintptr, isHot int32, journalSize I64, pNRec uintptr, pDbSize uintptr) int32 { /* sqlite3.c:54762:12: */ +func readJournalHdr(tls *libc.TLS, pPager uintptr, isHot int32, journalSize I64, pNRec uintptr, pDbSize uintptr) int32 { /* sqlite3.c:54772:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -32795,7 +32805,7 @@ func readJournalHdr(tls *libc.TLS, pPager uintptr, isHot int32, journalSize I64, // // If zSuper is a NULL pointer (occurs for a single database transaction), // this call is a no-op. -func writeSuperJournal(tls *libc.TLS, pPager uintptr, zSuper uintptr) int32 { /* sqlite3.c:54887:12: */ +func writeSuperJournal(tls *libc.TLS, pPager uintptr, zSuper uintptr) int32 { /* sqlite3.c:54897:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -32855,21 +32865,21 @@ func writeSuperJournal(tls *libc.TLS, pPager uintptr, zSuper uintptr) int32 { /* } // Discard the entire contents of the in-memory page-cache. -func pager_reset(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:54955:13: */ +func pager_reset(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:54965:13: */ (*Pager)(unsafe.Pointer(pPager)).FiDataVersion++ Xsqlite3BackupRestart(tls, (*Pager)(unsafe.Pointer(pPager)).FpBackup) Xsqlite3PcacheClear(tls, (*Pager)(unsafe.Pointer(pPager)).FpPCache) } // Return the pPager->iDataVersion value -func Xsqlite3PagerDataVersion(tls *libc.TLS, pPager uintptr) U32 { /* sqlite3.c:54964:20: */ +func Xsqlite3PagerDataVersion(tls *libc.TLS, pPager uintptr) U32 { /* sqlite3.c:54974:20: */ return (*Pager)(unsafe.Pointer(pPager)).FiDataVersion } // Free all structures in the Pager.aSavepoint[] array and set both // Pager.aSavepoint and Pager.nSavepoint to zero. Close the sub-journal // if it is open and the pager is not in exclusive mode. -func releaseAllSavepoints(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:54973:13: */ +func releaseAllSavepoints(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:54983:13: */ var ii int32 // Iterator for looping through Pager.aSavepoint for ii = 0; ii < (*Pager)(unsafe.Pointer(pPager)).FnSavepoint; ii++ { Xsqlite3BitvecDestroy(tls, (*PagerSavepoint)(unsafe.Pointer((*Pager)(unsafe.Pointer(pPager)).FaSavepoint+uintptr(ii)*56)).FpInSavepoint) @@ -32886,7 +32896,7 @@ func releaseAllSavepoints(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:54973:13 // Set the bit number pgno in the PagerSavepoint.pInSavepoint // bitvecs of all open savepoints. Return SQLITE_OK if successful // or SQLITE_NOMEM if a malloc failure occurs. -func addToSavepointBitvecs(tls *libc.TLS, pPager uintptr, pgno Pgno) int32 { /* sqlite3.c:54992:12: */ +func addToSavepointBitvecs(tls *libc.TLS, pPager uintptr, pgno Pgno) int32 { /* sqlite3.c:55002:12: */ var ii int32 // Loop counter var rc int32 = SQLITE_OK // Result code @@ -32915,7 +32925,7 @@ func addToSavepointBitvecs(tls *libc.TLS, pPager uintptr, pgno Pgno) int32 { /* // or not, any journal file left in the file-system will be treated // as a hot-journal and rolled back the next time a read-transaction // is opened (by this or by any other connection). -func pager_unlock(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:55024:13: */ +func pager_unlock(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:55034:13: */ Xsqlite3BitvecDestroy(tls, (*Pager)(unsafe.Pointer(pPager)).FpInJournal) (*Pager)(unsafe.Pointer(pPager)).FpInJournal = uintptr(0) @@ -33007,7 +33017,7 @@ func pager_unlock(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:55024:13: */ // the persistent error occurred, then the rollback journal may need // to be replayed to restore the contents of the database file (as if // it were a hot-journal). -func pager_error(tls *libc.TLS, pPager uintptr, rc int32) int32 { /* sqlite3.c:55121:12: */ +func pager_error(tls *libc.TLS, pPager uintptr, rc int32) int32 { /* sqlite3.c:55131:12: */ var rc2 int32 = rc & 0xff if rc2 == SQLITE_FULL || rc2 == SQLITE_IOERR { @@ -33032,7 +33042,7 @@ func pager_error(tls *libc.TLS, pPager uintptr, rc int32) int32 { /* sqlite3.c:5 // file has been created already (via a spill on pagerStress()) and // when the number of dirty pages in memory exceeds 25% of the total // cache size. -func pagerFlushOnCommit(tls *libc.TLS, pPager uintptr, bCommit int32) int32 { /* sqlite3.c:55155:12: */ +func pagerFlushOnCommit(tls *libc.TLS, pPager uintptr, bCommit int32) int32 { /* sqlite3.c:55165:12: */ if int32((*Pager)(unsafe.Pointer(pPager)).FtempFile) == 0 { return 1 } @@ -33096,7 +33106,7 @@ func pagerFlushOnCommit(tls *libc.TLS, pPager uintptr, bCommit int32) int32 { /* // unlock operation fails as well, then the first error code related // to the first error encountered (the journal finalization one) is // returned. -func pager_end_transaction(tls *libc.TLS, pPager uintptr, hasSuper int32, bCommit int32) int32 { /* sqlite3.c:55215:12: */ +func pager_end_transaction(tls *libc.TLS, pPager uintptr, hasSuper int32, bCommit int32) int32 { /* sqlite3.c:55225:12: */ var rc int32 = SQLITE_OK // Error code from journal finalization operation var rc2 int32 = SQLITE_OK // Error code from db file unlock operation @@ -33223,7 +33233,7 @@ func pager_end_transaction(tls *libc.TLS, pPager uintptr, hasSuper int32, bCommi // malloc error occurs during a rollback, then this will itself cause // the pager to enter the ERROR state. Which will be cleared by the // call to pager_unlock(), as described above. -func pagerUnlockAndRollback(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:55362:13: */ +func pagerUnlockAndRollback(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:55372:13: */ if int32((*Pager)(unsafe.Pointer(pPager)).FeState) != PAGER_ERROR && int32((*Pager)(unsafe.Pointer(pPager)).FeState) != PAGER_OPEN { if int32((*Pager)(unsafe.Pointer(pPager)).FeState) >= PAGER_WRITER_LOCKED { @@ -33255,7 +33265,7 @@ func pagerUnlockAndRollback(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:55362: // It is much less likely that the two ends of the journal record will be // correct and the middle be corrupt. Thus, this "checksum" scheme, // though fast and simple, catches the mostly likely kind of corruption. -func pager_cksum(tls *libc.TLS, pPager uintptr, aData uintptr) U32 { /* sqlite3.c:55396:12: */ +func pager_cksum(tls *libc.TLS, pPager uintptr, aData uintptr) U32 { /* sqlite3.c:55406:12: */ var cksum U32 = (*Pager)(unsafe.Pointer(pPager)).FcksumInit // Checksum value to return var i int32 = int32((*Pager)(unsafe.Pointer(pPager)).FpageSize - int64(200)) // Loop counter for i > 0 { @@ -33300,7 +33310,7 @@ func pager_cksum(tls *libc.TLS, pPager uintptr, aData uintptr) U32 { /* sqlite3. // If this is a savepoint rollback, then memory may have to be dynamically // allocated by this function. If this is the case and an allocation fails, // SQLITE_NOMEM is returned. -func pager_playback_one_page(tls *libc.TLS, pPager uintptr, pOffset uintptr, pDone uintptr, isMainJrnl int32, isSavepnt int32) int32 { /* sqlite3.c:55443:12: */ +func pager_playback_one_page(tls *libc.TLS, pPager uintptr, pOffset uintptr, pDone uintptr, isMainJrnl int32, isSavepnt int32) int32 { /* sqlite3.c:55453:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -33534,7 +33544,7 @@ func pager_playback_one_page(tls *libc.TLS, pPager uintptr, pOffset uintptr, pDo // the entire contents of the super-journal file. This could be // a couple of kilobytes or so - potentially larger than the page // size. -func pager_delsuper(tls *libc.TLS, pPager uintptr, zSuper uintptr) int32 { /* sqlite3.c:55690:12: */ +func pager_delsuper(tls *libc.TLS, pPager uintptr, zSuper uintptr) int32 { /* sqlite3.c:55700:12: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -33700,7 +33710,7 @@ __14: // // If successful, return SQLITE_OK. If an IO error occurs while modifying // the database file, return the error code to the caller. -func pager_truncate(tls *libc.TLS, pPager uintptr, nPage Pgno) int32 { /* sqlite3.c:55808:12: */ +func pager_truncate(tls *libc.TLS, pPager uintptr, nPage Pgno) int32 { /* sqlite3.c:55818:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -33735,7 +33745,7 @@ func pager_truncate(tls *libc.TLS, pPager uintptr, nPage Pgno) int32 { /* sqlite // Return a sanitized version of the sector-size of OS file pFile. The // return value is guaranteed to lie between 32 and MAX_SECTOR_SIZE. -func Xsqlite3SectorSize(tls *libc.TLS, pFile uintptr) int32 { /* sqlite3.c:55844:20: */ +func Xsqlite3SectorSize(tls *libc.TLS, pFile uintptr) int32 { /* sqlite3.c:55854:20: */ var iRet int32 = Xsqlite3OsSectorSize(tls, pFile) if iRet < 32 { iRet = 512 @@ -33767,7 +33777,7 @@ func Xsqlite3SectorSize(tls *libc.TLS, pFile uintptr) int32 { /* sqlite3.c:55844 // (that is what POWERSAFE_OVERWRITE means), so we minimize the sector // size. For backwards compatibility of the rollback journal file format, // we cannot reduce the effective sector size below 512. -func setSectorSize(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:55878:13: */ +func setSectorSize(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:55888:13: */ if (*Pager)(unsafe.Pointer(pPager)).FtempFile != 0 || Xsqlite3OsDeviceCharacteristics(tls, (*Pager)(unsafe.Pointer(pPager)).Ffd)&SQLITE_IOCAP_POWERSAFE_OVERWRITE != 0 { @@ -33835,7 +33845,7 @@ func setSectorSize(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:55878:13: */ // If the journal really is hot, reset the pager cache prior rolling // back any content. If the journal is merely persistent, no reset is // needed. -func pager_playback(tls *libc.TLS, pPager uintptr, isHot int32) int32 { /* sqlite3.c:55951:12: */ +func pager_playback(tls *libc.TLS, pPager uintptr, isHot int32) int32 { /* sqlite3.c:55961:12: */ bp := tls.Alloc(40) defer tls.Free(40) @@ -34126,7 +34136,7 @@ __28: // // If an IO error occurs, then the IO error is returned to the caller. // Otherwise, SQLITE_OK is returned. -func readDbPage(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:56171:12: */ +func readDbPage(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:56181:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -34180,7 +34190,7 @@ func readDbPage(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:56171:12: */ // This is an unconditional update. See also the pager_incr_changecounter() // routine which only updates the change-counter if the update is actually // needed, as determined by the pPager->changeCountDone state variable. -func pager_write_changecounter(tls *libc.TLS, pPg uintptr) { /* sqlite3.c:56234:13: */ +func pager_write_changecounter(tls *libc.TLS, pPg uintptr) { /* sqlite3.c:56244:13: */ var change_counter U32 if pPg == uintptr(0) { return @@ -34207,7 +34217,7 @@ func pager_write_changecounter(tls *libc.TLS, pPg uintptr) { /* sqlite3.c:56234: // references, the page content is reloaded from the database. If the // attempt to reload content from the database is required and fails, // return an SQLite error code. Otherwise, SQLITE_OK. -func pagerUndoCallback(tls *libc.TLS, pCtx uintptr, iPg Pgno) int32 { /* sqlite3.c:56262:12: */ +func pagerUndoCallback(tls *libc.TLS, pCtx uintptr, iPg Pgno) int32 { /* sqlite3.c:56272:12: */ var rc int32 = SQLITE_OK var pPager uintptr = pCtx var pPg uintptr @@ -34238,7 +34248,7 @@ func pagerUndoCallback(tls *libc.TLS, pCtx uintptr, iPg Pgno) int32 { /* sqlite3 } // This function is called to rollback a transaction on a WAL database. -func pagerRollbackWal(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:56297:12: */ +func pagerRollbackWal(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:56307:12: */ var rc int32 // Return Code var pList uintptr // List of dirty pages to revert @@ -34269,7 +34279,7 @@ func pagerRollbackWal(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:56297: // // The list of pages passed into this routine is always sorted by page number. // Hence, if page 1 appears anywhere on the list, it will be the first page. -func pagerWalFrames(tls *libc.TLS, pPager uintptr, pList uintptr, nTruncate Pgno, isCommit int32) int32 { /* sqlite3.c:56329:12: */ +func pagerWalFrames(tls *libc.TLS, pPager uintptr, pList uintptr, nTruncate Pgno, isCommit int32) int32 { /* sqlite3.c:56339:12: */ bp := tls.Alloc(8) defer tls.Free(8) *(*uintptr)(unsafe.Pointer(bp)) = pList @@ -34317,7 +34327,7 @@ func pagerWalFrames(tls *libc.TLS, pPager uintptr, pList uintptr, nTruncate Pgno // makes a snapshot of the database at the current point in time and preserves // that snapshot for use by the reader in spite of concurrently changes by // other writers or checkpointers. -func pagerBeginReadTransaction(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:56396:12: */ +func pagerBeginReadTransaction(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:56406:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -34348,7 +34358,7 @@ func pagerBeginReadTransaction(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3 // If no error occurs, SQLITE_OK is returned and the size of the database // in pages is stored in *pnPage. Otherwise, an error code (perhaps // SQLITE_IOERR_FSTAT) is returned and *pnPage is left unmodified. -func pagerPagecount(tls *libc.TLS, pPager uintptr, pnPage uintptr) int32 { /* sqlite3.c:56429:12: */ +func pagerPagecount(tls *libc.TLS, pPager uintptr, pnPage uintptr) int32 { /* sqlite3.c:56439:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -34402,7 +34412,7 @@ func pagerPagecount(tls *libc.TLS, pPager uintptr, pnPage uintptr) int32 { /* sq // a WAL on a none-empty database, this ensures there is no race condition // between the xAccess() below and an xDelete() being executed by some // other connection. -func pagerOpenWalIfPresent(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:56489:12: */ +func pagerOpenWalIfPresent(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:56499:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -34470,7 +34480,7 @@ func pagerOpenWalIfPresent(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:5 // is reset to the value that it held at the start of the savepoint // (or transaction). No page with a page-number greater than this value // is played back. If one is encountered it is simply skipped. -func pagerPlaybackSavepoint(tls *libc.TLS, pPager uintptr, pSavepoint uintptr) int32 { /* sqlite3.c:56556:12: */ +func pagerPlaybackSavepoint(tls *libc.TLS, pPager uintptr, pSavepoint uintptr) int32 { /* sqlite3.c:56566:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -34579,18 +34589,18 @@ func pagerPlaybackSavepoint(tls *libc.TLS, pPager uintptr, pSavepoint uintptr) i // Change the maximum number of in-memory pages that are allowed // before attempting to recycle clean and unused pages. -func Xsqlite3PagerSetCachesize(tls *libc.TLS, pPager uintptr, mxPage int32) { /* sqlite3.c:56668:21: */ +func Xsqlite3PagerSetCachesize(tls *libc.TLS, pPager uintptr, mxPage int32) { /* sqlite3.c:56678:21: */ Xsqlite3PcacheSetCachesize(tls, (*Pager)(unsafe.Pointer(pPager)).FpPCache, mxPage) } // Change the maximum number of in-memory pages that are allowed // before attempting to spill pages to journal. -func Xsqlite3PagerSetSpillsize(tls *libc.TLS, pPager uintptr, mxPage int32) int32 { /* sqlite3.c:56676:20: */ +func Xsqlite3PagerSetSpillsize(tls *libc.TLS, pPager uintptr, mxPage int32) int32 { /* sqlite3.c:56686:20: */ return Xsqlite3PcacheSetSpillsize(tls, (*Pager)(unsafe.Pointer(pPager)).FpPCache, mxPage) } // Invoke SQLITE_FCNTL_MMAP_SIZE based on the current value of szMmap. -func pagerFixMaplimit(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:56683:13: */ +func pagerFixMaplimit(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:56693:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -34606,13 +34616,13 @@ func pagerFixMaplimit(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:56683:13: */ } // Change the maximum size of any memory mapping made of the database file. -func Xsqlite3PagerSetMmapLimit(tls *libc.TLS, pPager uintptr, szMmap Sqlite3_int64) { /* sqlite3.c:56699:21: */ +func Xsqlite3PagerSetMmapLimit(tls *libc.TLS, pPager uintptr, szMmap Sqlite3_int64) { /* sqlite3.c:56709:21: */ (*Pager)(unsafe.Pointer(pPager)).FszMmap = szMmap pagerFixMaplimit(tls, pPager) } // Free as much memory as possible from the pager. -func Xsqlite3PagerShrink(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:56707:21: */ +func Xsqlite3PagerShrink(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:56717:21: */ Xsqlite3PcacheShrink(tls, (*Pager)(unsafe.Pointer(pPager)).FpPCache) } @@ -34665,7 +34675,7 @@ func Xsqlite3PagerShrink(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:56707:21: // // Numeric values associated with these states are OFF==1, NORMAL=2, // and FULL=3. -func Xsqlite3PagerSetFlags(tls *libc.TLS, pPager uintptr, pgFlags uint32) { /* sqlite3.c:56763:21: */ +func Xsqlite3PagerSetFlags(tls *libc.TLS, pPager uintptr, pgFlags uint32) { /* sqlite3.c:56773:21: */ var level uint32 = pgFlags & uint32(PAGER_SYNCHRONOUS_MASK) if (*Pager)(unsafe.Pointer(pPager)).FtempFile != 0 { (*Pager)(unsafe.Pointer(pPager)).FnoSync = U8(1) @@ -34729,7 +34739,7 @@ func Xsqlite3PagerSetFlags(tls *libc.TLS, pPager uintptr, pgFlags uint32) { /* s // SQLITE_OPEN_CREATE // SQLITE_OPEN_EXCLUSIVE // SQLITE_OPEN_DELETEONCLOSE -func pagerOpentemp(tls *libc.TLS, pPager uintptr, pFile uintptr, vfsFlags int32) int32 { /* sqlite3.c:56823:12: */ +func pagerOpentemp(tls *libc.TLS, pPager uintptr, pFile uintptr, vfsFlags int32) int32 { /* sqlite3.c:56833:12: */ var rc int32 // Return code vfsFlags = vfsFlags | (SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE | SQLITE_OPEN_EXCLUSIVE | SQLITE_OPEN_DELETEONCLOSE) @@ -34757,7 +34767,7 @@ func pagerOpentemp(tls *libc.TLS, pPager uintptr, pFile uintptr, vfsFlags int32) // If the busy-handler callback returns non-zero, the lock is // retried. If it returns zero, then the SQLITE_BUSY error is // returned to the caller of the pager API function. -func Xsqlite3PagerSetBusyHandler(tls *libc.TLS, pPager uintptr, xBusyHandler uintptr, pBusyHandlerArg uintptr) { /* sqlite3.c:56862:21: */ +func Xsqlite3PagerSetBusyHandler(tls *libc.TLS, pPager uintptr, xBusyHandler uintptr, pBusyHandlerArg uintptr) { /* sqlite3.c:56872:21: */ var ap uintptr (*Pager)(unsafe.Pointer(pPager)).FxBusyHandler = xBusyHandler (*Pager)(unsafe.Pointer(pPager)).FpBusyHandlerArg = pBusyHandlerArg @@ -34794,7 +34804,7 @@ func Xsqlite3PagerSetBusyHandler(tls *libc.TLS, pPager uintptr, xBusyHandler uin // conditions above is not true, the pager was in error state when this // function was called, or because the memory allocation attempt failed, // then *pPageSize is set to the old, retained page size before returning. -func Xsqlite3PagerSetPagesize(tls *libc.TLS, pPager uintptr, pPageSize uintptr, nReserve int32) int32 { /* sqlite3.c:56906:20: */ +func Xsqlite3PagerSetPagesize(tls *libc.TLS, pPager uintptr, pPageSize uintptr, nReserve int32) int32 { /* sqlite3.c:56916:20: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -34863,7 +34873,7 @@ func Xsqlite3PagerSetPagesize(tls *libc.TLS, pPager uintptr, pPageSize uintptr, // during rollback and will be overwritten whenever a rollback // occurs. But other modules are free to use it too, as long as // no rollbacks are happening. -func Xsqlite3PagerTempSpace(tls *libc.TLS, pPager uintptr) uintptr { /* sqlite3.c:56974:21: */ +func Xsqlite3PagerTempSpace(tls *libc.TLS, pPager uintptr) uintptr { /* sqlite3.c:56984:21: */ return (*Pager)(unsafe.Pointer(pPager)).FpTmpSpace } @@ -34872,7 +34882,7 @@ func Xsqlite3PagerTempSpace(tls *libc.TLS, pPager uintptr) uintptr { /* sqlite3. // maximum page count below the current size of the database. // // Regardless of mxPage, return the current maximum page count. -func Xsqlite3PagerMaxPageCount(tls *libc.TLS, pPager uintptr, mxPage Pgno) Pgno { /* sqlite3.c:56985:21: */ +func Xsqlite3PagerMaxPageCount(tls *libc.TLS, pPager uintptr, mxPage Pgno) Pgno { /* sqlite3.c:56995:21: */ if mxPage > Pgno(0) { (*Pager)(unsafe.Pointer(pPager)).FmxPgno = mxPage } @@ -34903,7 +34913,7 @@ func Xsqlite3PagerMaxPageCount(tls *libc.TLS, pPager uintptr, mxPage Pgno) Pgno // If any IO error apart from SQLITE_IOERR_SHORT_READ is encountered, // the error code is returned to the caller and the contents of the // output buffer undefined. -func Xsqlite3PagerReadFileheader(tls *libc.TLS, pPager uintptr, N int32, pDest uintptr) int32 { /* sqlite3.c:57035:20: */ +func Xsqlite3PagerReadFileheader(tls *libc.TLS, pPager uintptr, N int32, pDest uintptr) int32 { /* sqlite3.c:57045:20: */ var rc int32 = SQLITE_OK libc.Xmemset(tls, pDest, 0, uint64(N)) @@ -34926,7 +34936,7 @@ func Xsqlite3PagerReadFileheader(tls *libc.TLS, pPager uintptr, N int32, pDest u // // However, if the file is between 1 and bytes in size, then // this is considered a 1 page file. -func Xsqlite3PagerPagecount(tls *libc.TLS, pPager uintptr, pnPage uintptr) { /* sqlite3.c:57063:21: */ +func Xsqlite3PagerPagecount(tls *libc.TLS, pPager uintptr, pnPage uintptr) { /* sqlite3.c:57073:21: */ *(*int32)(unsafe.Pointer(pnPage)) = int32((*Pager)(unsafe.Pointer(pPager)).FdbSize) } @@ -34943,7 +34953,7 @@ func Xsqlite3PagerPagecount(tls *libc.TLS, pPager uintptr, pnPage uintptr) { /* // Return SQLITE_OK on success and an error code if we cannot obtain // the lock. If the lock is obtained successfully, set the Pager.state // variable to locktype before returning. -func pager_wait_on_lock(tls *libc.TLS, pPager uintptr, locktype int32) int32 { /* sqlite3.c:57084:12: */ +func pager_wait_on_lock(tls *libc.TLS, pPager uintptr, locktype int32) int32 { /* sqlite3.c:57094:12: */ var rc int32 // Return code // Check that this is either a no-op (because the requested lock is @@ -34988,7 +34998,7 @@ func pager_wait_on_lock(tls *libc.TLS, pPager uintptr, locktype int32) int32 { / // Once this function has been called, the transaction must either be // rolled back or committed. It is not safe to call this function and // then continue writing to the database. -func Xsqlite3PagerTruncateImage(tls *libc.TLS, pPager uintptr, nPage Pgno) { /* sqlite3.c:57155:21: */ +func Xsqlite3PagerTruncateImage(tls *libc.TLS, pPager uintptr, nPage Pgno) { /* sqlite3.c:57165:21: */ (*Pager)(unsafe.Pointer(pPager)).FdbSize = nPage @@ -35015,7 +35025,7 @@ func Xsqlite3PagerTruncateImage(tls *libc.TLS, pPager uintptr, nPage Pgno) { /* // // If everything goes as planned, SQLITE_OK is returned. Otherwise, // an SQLite error code. -func pagerSyncHotJournal(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:57186:12: */ +func pagerSyncHotJournal(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:57196:12: */ var rc int32 = SQLITE_OK if !(int32((*Pager)(unsafe.Pointer(pPager)).FnoSync) != 0) { rc = Xsqlite3OsSync(tls, (*Pager)(unsafe.Pointer(pPager)).Fjfd, SQLITE_SYNC_NORMAL) @@ -35034,7 +35044,7 @@ func pagerSyncHotJournal(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:571 // // Page references obtained by calling this function should be released // by calling pagerReleaseMapPage(). -func pagerAcquireMapPage(tls *libc.TLS, pPager uintptr, pgno Pgno, pData uintptr, ppPage uintptr) int32 { /* sqlite3.c:57208:12: */ +func pagerAcquireMapPage(tls *libc.TLS, pPager uintptr, pgno Pgno, pData uintptr, ppPage uintptr) int32 { /* sqlite3.c:57218:12: */ var p uintptr // Memory mapped page to return if (*Pager)(unsafe.Pointer(pPager)).FpMmapFreelist != 0 { @@ -35064,7 +35074,7 @@ func pagerAcquireMapPage(tls *libc.TLS, pPager uintptr, pgno Pgno, pData uintptr // Release a reference to page pPg. pPg must have been returned by an // earlier call to pagerAcquireMapPage(). -func pagerReleaseMapPage(tls *libc.TLS, pPg uintptr) { /* sqlite3.c:57252:13: */ +func pagerReleaseMapPage(tls *libc.TLS, pPg uintptr) { /* sqlite3.c:57262:13: */ var pPager uintptr = (*PgHdr)(unsafe.Pointer(pPg)).FpPager (*Pager)(unsafe.Pointer(pPager)).FnMmapOut-- (*PgHdr)(unsafe.Pointer(pPg)).FpDirty = (*Pager)(unsafe.Pointer(pPager)).FpMmapFreelist @@ -35074,7 +35084,7 @@ func pagerReleaseMapPage(tls *libc.TLS, pPg uintptr) { /* sqlite3.c:57252:13: */ } // Free all PgHdr objects stored in the Pager.pMmapFreelist list. -func pagerFreeMapHdrs(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:57265:13: */ +func pagerFreeMapHdrs(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:57275:13: */ var p uintptr var pNext uintptr for p = (*Pager)(unsafe.Pointer(pPager)).FpMmapFreelist; p != 0; p = pNext { @@ -35087,7 +35097,7 @@ func pagerFreeMapHdrs(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:57265:13: */ // under the pager. Return SQLITE_OK if the database is still where it ought // to be on disk. Return non-zero (SQLITE_READONLY_DBMOVED or some other error // code from sqlite3OsAccess()) if the database has gone missing. -func databaseIsUnmoved(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:57279:12: */ +func databaseIsUnmoved(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:57289:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -35125,7 +35135,7 @@ func databaseIsUnmoved(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:57279 // is made to roll it back. If an error occurs during the rollback // a hot journal may be left in the filesystem but no error is returned // to the caller. -func Xsqlite3PagerClose(tls *libc.TLS, pPager uintptr, db uintptr) int32 { /* sqlite3.c:57313:20: */ +func Xsqlite3PagerClose(tls *libc.TLS, pPager uintptr, db uintptr) int32 { /* sqlite3.c:57323:20: */ var pTmp uintptr = (*Pager)(unsafe.Pointer(pPager)).FpTmpSpace Xsqlite3BeginBenignMalloc(tls) @@ -35174,7 +35184,7 @@ func Xsqlite3PagerClose(tls *libc.TLS, pPager uintptr, db uintptr) int32 { /* sq } // Increment the reference count for page pPg. -func Xsqlite3PagerRef(tls *libc.TLS, pPg uintptr) { /* sqlite3.c:57382:21: */ +func Xsqlite3PagerRef(tls *libc.TLS, pPg uintptr) { /* sqlite3.c:57392:21: */ Xsqlite3PcacheRef(tls, pPg) } @@ -35211,7 +35221,7 @@ func Xsqlite3PagerRef(tls *libc.TLS, pPg uintptr) { /* sqlite3.c:57382:21: */ // If successful, this routine clears the PGHDR_NEED_SYNC flag of every // page currently held in memory before returning SQLITE_OK. If an IO // error is encountered, then the IO error code is returned to the caller. -func syncJournal(tls *libc.TLS, pPager uintptr, newHdr int32) int32 { /* sqlite3.c:57421:12: */ +func syncJournal(tls *libc.TLS, pPager uintptr, newHdr int32) int32 { /* sqlite3.c:57431:12: */ bp := tls.Alloc(20) defer tls.Free(20) @@ -35325,7 +35335,7 @@ func syncJournal(tls *libc.TLS, pPager uintptr, newHdr int32) int32 { /* sqlite3 return SQLITE_OK } -var zerobyte U8 = U8(0) /* sqlite3.c:57472:27 */ +var zerobyte U8 = U8(0) /* sqlite3.c:57482:27 */ // The argument is the first in a linked list of dirty pages connected // by the PgHdr.pDirty pointer. This function writes each one of the @@ -35357,7 +35367,7 @@ var zerobyte U8 = U8(0) /* sqlite3.c:57472:27 */ // If everything is successful, SQLITE_OK is returned. If an IO error // occurs, an IO error code is returned. Or, if the EXCLUSIVE lock cannot // be obtained, SQLITE_BUSY is returned. -func pager_write_pagelist(tls *libc.TLS, pPager uintptr, pList uintptr) int32 { /* sqlite3.c:57564:12: */ +func pager_write_pagelist(tls *libc.TLS, pPager uintptr, pList uintptr) int32 { /* sqlite3.c:57574:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -35437,7 +35447,7 @@ func pager_write_pagelist(tls *libc.TLS, pPager uintptr, pList uintptr) int32 { // SQLITE_OK is returned if everything goes according to plan. An // SQLITE_IOERR_XXX error code is returned if a call to sqlite3OsOpen() // fails. -func openSubJournal(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:57655:12: */ +func openSubJournal(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:57665:12: */ var rc int32 = SQLITE_OK if !((*Sqlite3_file)(unsafe.Pointer((*Pager)(unsafe.Pointer(pPager)).Fsjfd)).FpMethods != uintptr(0)) { var flags int32 = SQLITE_OPEN_SUBJOURNAL | SQLITE_OPEN_READWRITE | @@ -35461,7 +35471,7 @@ func openSubJournal(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:57655:12 // error code if the attempt to write to the sub-journal fails, or // SQLITE_NOMEM if a malloc fails while setting a bit in a savepoint // bitvec. -func subjournalPage(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:57681:12: */ +func subjournalPage(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:57691:12: */ var rc int32 = SQLITE_OK var pPager uintptr = (*PgHdr)(unsafe.Pointer(pPg)).FpPager if int32((*Pager)(unsafe.Pointer(pPager)).FjournalMode) != PAGER_JOURNALMODE_OFF { @@ -35492,7 +35502,7 @@ func subjournalPage(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:57681:12: * return rc } -func subjournalPageIfRequired(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:57717:12: */ +func subjournalPageIfRequired(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:57727:12: */ if subjRequiresPage(tls, pPg) != 0 { return subjournalPage(tls, pPg) } else { @@ -35518,7 +35528,7 @@ func subjournalPageIfRequired(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:5 // page clean, the IO error code is returned. If the page cannot be // made clean for some other reason, but no error occurs, then SQLITE_OK // is returned by sqlite3PcacheMakeClean() is not called. -func pagerStress(tls *libc.TLS, p uintptr, pPg uintptr) int32 { /* sqlite3.c:57744:12: */ +func pagerStress(tls *libc.TLS, p uintptr, pPg uintptr) int32 { /* sqlite3.c:57754:12: */ var pPager uintptr = p var rc int32 = SQLITE_OK @@ -35580,7 +35590,7 @@ func pagerStress(tls *libc.TLS, p uintptr, pPg uintptr) int32 { /* sqlite3.c:577 } // Flush all unreferenced dirty pages to disk. -func Xsqlite3PagerFlush(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:57821:20: */ +func Xsqlite3PagerFlush(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:57831:20: */ var rc int32 = (*Pager)(unsafe.Pointer(pPager)).FerrCode if !(int32((*Pager)(unsafe.Pointer(pPager)).FmemDb) != 0) { var pList uintptr = Xsqlite3PcacheDirtyList(tls, (*Pager)(unsafe.Pointer(pPager)).FpPCache) @@ -35627,7 +35637,7 @@ func Xsqlite3PagerFlush(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:5782 // and error code returned. This function may return SQLITE_NOMEM // (sqlite3Malloc() is used to allocate memory), SQLITE_CANTOPEN or // various SQLITE_IO_XXX errors. -func Xsqlite3PagerOpen(tls *libc.TLS, pVfs uintptr, ppPager uintptr, zFilename uintptr, nExtra int32, flags int32, vfsFlags int32, xReinit uintptr) int32 { /* sqlite3.c:57870:20: */ +func Xsqlite3PagerOpen(tls *libc.TLS, pVfs uintptr, ppPager uintptr, zFilename uintptr, nExtra int32, flags int32, vfsFlags int32, xReinit uintptr) int32 { /* sqlite3.c:57880:20: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -35753,7 +35763,7 @@ __11: // bytes in length. This means the database cannot be opened, // as it will not be possible to open the journal file or even // check for a hot-journal before reading. - rc = Xsqlite3CantopenError(tls, 57957) + rc = Xsqlite3CantopenError(tls, 57967) __12: ; if !(rc != SQLITE_OK) { @@ -36072,7 +36082,7 @@ __37: // Return the sqlite3_file for the main database given the name // of the corresonding WAL or Journal name as passed into // xOpen. -func Xsqlite3_database_file_object(tls *libc.TLS, zName uintptr) uintptr { /* sqlite3.c:58242:25: */ +func Xsqlite3_database_file_object(tls *libc.TLS, zName uintptr) uintptr { /* sqlite3.c:58252:25: */ var pPager uintptr for int32(*(*uint8)(unsafe.Pointer(zName + libc.UintptrFromInt32(-1)))) != 0 || int32(*(*uint8)(unsafe.Pointer(zName + libc.UintptrFromInt32(-2)))) != 0 || int32(*(*uint8)(unsafe.Pointer(zName + libc.UintptrFromInt32(-3)))) != 0 || int32(*(*uint8)(unsafe.Pointer(zName + libc.UintptrFromInt32(-4)))) != 0 { zName-- @@ -36110,7 +36120,7 @@ func Xsqlite3_database_file_object(tls *libc.TLS, zName uintptr) uintptr { /* sq // set to 0 and SQLITE_OK returned. If an IO error occurs while trying // to determine whether or not a hot-journal file exists, the IO error // code is returned and the value of *pExists is undefined. -func hasHotJournal(tls *libc.TLS, pPager uintptr, pExists uintptr) int32 { /* sqlite3.c:58283:12: */ +func hasHotJournal(tls *libc.TLS, pPager uintptr, pExists uintptr) int32 { /* sqlite3.c:58293:12: */ bp := tls.Alloc(17) defer tls.Free(17) @@ -36221,7 +36231,7 @@ func hasHotJournal(tls *libc.TLS, pPager uintptr, pExists uintptr) int32 { /* sq // If everything is successful, SQLITE_OK is returned. If an IO error // occurs while locking the database, checking for a hot-journal file or // rolling back a journal file, the IO error code is returned. -func Xsqlite3PagerSharedLock(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:58403:20: */ +func Xsqlite3PagerSharedLock(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:58413:20: */ bp := tls.Alloc(28) defer tls.Free(28) @@ -36347,7 +36357,7 @@ __7: if !(rc == SQLITE_OK && *(*int32)(unsafe.Pointer(bp + 8))&SQLITE_OPEN_READONLY != 0) { goto __10 } - rc = Xsqlite3CantopenError(tls, 58487) + rc = Xsqlite3CantopenError(tls, 58497) Xsqlite3OsClose(tls, (*Pager)(unsafe.Pointer(pPager)).Fjfd) __10: ; @@ -36496,7 +36506,7 @@ __24: // Except, in locking_mode=EXCLUSIVE when there is nothing to in // the rollback journal, the unlock is not performed and there is // nothing to rollback, so this routine is a no-op. -func pagerUnlockIfUnused(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:58620:13: */ +func pagerUnlockIfUnused(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:58630:13: */ if Xsqlite3PcacheRefCount(tls, (*Pager)(unsafe.Pointer(pPager)).FpPCache) == 0 { // because page1 is never memory mapped pagerUnlockAndRollback(tls, pPager) @@ -36558,7 +36568,7 @@ func pagerUnlockIfUnused(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:58620:13: // has to go to disk, and could also playback an old journal if necessary. // Since Lookup() never goes to disk, it never has to deal with locks // or journal files. -func getPageNormal(tls *libc.TLS, pPager uintptr, pgno Pgno, ppPage uintptr, flags int32) int32 { /* sqlite3.c:58684:12: */ +func getPageNormal(tls *libc.TLS, pPager uintptr, pgno Pgno, ppPage uintptr, flags int32) int32 { /* sqlite3.c:58694:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -36571,7 +36581,7 @@ func getPageNormal(tls *libc.TLS, pPager uintptr, pgno Pgno, ppPage uintptr, fla if !(pgno == Pgno(0)) { goto __1 } - return Xsqlite3CorruptError(tls, 58700) + return Xsqlite3CorruptError(tls, 58710) __1: ; *(*uintptr)(unsafe.Pointer(bp /* pBase */)) = Xsqlite3PcacheFetch(tls, (*Pager)(unsafe.Pointer(pPager)).FpPCache, pgno, 3) @@ -36617,7 +36627,7 @@ __5: if !(pgno == Pgno(I64(Xsqlite3PendingByte)/(*Pager)(unsafe.Pointer(pPager)).FpageSize+int64(1))) { goto __7 } - rc = Xsqlite3CorruptError(tls, 58732) + rc = Xsqlite3CorruptError(tls, 58742) goto pager_acquire_err __7: ; @@ -36689,7 +36699,7 @@ __14: } // The page getter for when memory-mapped I/O is enabled -func getPageMMap(tls *libc.TLS, pPager uintptr, pgno Pgno, ppPage uintptr, flags int32) int32 { /* sqlite3.c:58786:12: */ +func getPageMMap(tls *libc.TLS, pPager uintptr, pgno Pgno, ppPage uintptr, flags int32) int32 { /* sqlite3.c:58796:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -36709,7 +36719,7 @@ func getPageMMap(tls *libc.TLS, pPager uintptr, pgno Pgno, ppPage uintptr, flags // test in the previous statement, and avoid testing pgno==0 in the // common case where pgno is large. if pgno <= Pgno(1) && pgno == Pgno(0) { - return Xsqlite3CorruptError(tls, 58811) + return Xsqlite3CorruptError(tls, 58821) } if bMmapOk != 0 && (*Pager)(unsafe.Pointer(pPager)).FpWal != uintptr(0) { @@ -36747,7 +36757,7 @@ func getPageMMap(tls *libc.TLS, pPager uintptr, pgno Pgno, ppPage uintptr, flags } // The page getter method for when the pager is an error state -func getPageError(tls *libc.TLS, pPager uintptr, pgno Pgno, ppPage uintptr, flags int32) int32 { /* sqlite3.c:58855:12: */ +func getPageError(tls *libc.TLS, pPager uintptr, pgno Pgno, ppPage uintptr, flags int32) int32 { /* sqlite3.c:58865:12: */ _ = pgno _ = flags @@ -36756,7 +36766,7 @@ func getPageError(tls *libc.TLS, pPager uintptr, pgno Pgno, ppPage uintptr, flag } // Dispatch all page fetch requests to the appropriate getter method. -func Xsqlite3PagerGet(tls *libc.TLS, pPager uintptr, pgno Pgno, ppPage uintptr, flags int32) int32 { /* sqlite3.c:58871:20: */ +func Xsqlite3PagerGet(tls *libc.TLS, pPager uintptr, pgno Pgno, ppPage uintptr, flags int32) int32 { /* sqlite3.c:58881:20: */ // printf("PAGE %u\n", pgno); fflush(stdout); return (*struct { f func(*libc.TLS, uintptr, Pgno, uintptr, int32) int32 @@ -36772,7 +36782,7 @@ func Xsqlite3PagerGet(tls *libc.TLS, pPager uintptr, pgno Pgno, ppPage uintptr, // in the page if the page is not already in cache. This routine // returns NULL if the page is not in cache or if a disk I/O error // has ever happened. -func Xsqlite3PagerLookup(tls *libc.TLS, pPager uintptr, pgno Pgno) uintptr { /* sqlite3.c:58892:23: */ +func Xsqlite3PagerLookup(tls *libc.TLS, pPager uintptr, pgno Pgno) uintptr { /* sqlite3.c:58902:23: */ var pPage uintptr pPage = Xsqlite3PcacheFetch(tls, (*Pager)(unsafe.Pointer(pPager)).FpPCache, pgno, 0) @@ -36793,7 +36803,7 @@ func Xsqlite3PagerLookup(tls *libc.TLS, pPager uintptr, pgno Pgno) uintptr { /* // Use sqlite3PagerUnrefPageOne() to release page1. This latter routine // checks the total number of outstanding pages and if the number of // pages reaches zero it drops the database lock. -func Xsqlite3PagerUnrefNotNull(tls *libc.TLS, pPg uintptr) { /* sqlite3.c:58915:21: */ +func Xsqlite3PagerUnrefNotNull(tls *libc.TLS, pPg uintptr) { /* sqlite3.c:58925:21: */ if int32((*DbPage)(unsafe.Pointer(pPg)).Fflags)&PGHDR_MMAP != 0 { // Page1 is never memory mapped @@ -36805,13 +36815,13 @@ func Xsqlite3PagerUnrefNotNull(tls *libc.TLS, pPg uintptr) { /* sqlite3.c:58915: } -func Xsqlite3PagerUnref(tls *libc.TLS, pPg uintptr) { /* sqlite3.c:58927:21: */ +func Xsqlite3PagerUnref(tls *libc.TLS, pPg uintptr) { /* sqlite3.c:58937:21: */ if pPg != 0 { Xsqlite3PagerUnrefNotNull(tls, pPg) } } -func Xsqlite3PagerUnrefPageOne(tls *libc.TLS, pPg uintptr) { /* sqlite3.c:58930:21: */ +func Xsqlite3PagerUnrefPageOne(tls *libc.TLS, pPg uintptr) { /* sqlite3.c:58940:21: */ var pPager uintptr // Page1 is never memory mapped @@ -36840,7 +36850,7 @@ func Xsqlite3PagerUnrefPageOne(tls *libc.TLS, pPg uintptr) { /* sqlite3.c:58930: // Return SQLITE_OK if everything is successful. Otherwise, return // SQLITE_NOMEM if the attempt to allocate Pager.pInJournal fails, or // an IO error code if opening or writing the journal file fails. -func pager_open_journal(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:58962:12: */ +func pager_open_journal(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:58972:12: */ var rc int32 = SQLITE_OK // Return code var pVfs uintptr = (*Pager)(unsafe.Pointer(pPager)).FpVfs // Local cache of vfs pointer @@ -36922,7 +36932,7 @@ func pager_open_journal(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:5896 // sub-journal. If the subjInMemory argument is zero, then any required // sub-journal is implemented in-memory if pPager is an in-memory database, // or using a temporary file otherwise. -func Xsqlite3PagerBegin(tls *libc.TLS, pPager uintptr, exFlag int32, subjInMemory int32) int32 { /* sqlite3.c:59051:20: */ +func Xsqlite3PagerBegin(tls *libc.TLS, pPager uintptr, exFlag int32, subjInMemory int32) int32 { /* sqlite3.c:59061:20: */ var rc int32 = SQLITE_OK if (*Pager)(unsafe.Pointer(pPager)).FerrCode != 0 { @@ -36982,7 +36992,7 @@ func Xsqlite3PagerBegin(tls *libc.TLS, pPager uintptr, exFlag int32, subjInMemor } // Write page pPg onto the end of the rollback journal. -func pagerAddPageToRollbackJournal(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:59120:28: */ +func pagerAddPageToRollbackJournal(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:59130:28: */ var pPager uintptr = (*PgHdr)(unsafe.Pointer(pPg)).FpPager var rc int32 var cksum U32 @@ -37032,7 +37042,7 @@ func pagerAddPageToRollbackJournal(tls *libc.TLS, pPg uintptr) int32 { /* sqlite // one of the journals, the corresponding bit is set in the // Pager.pInJournal bitvec and the PagerSavepoint.pInSavepoint bitvecs // of any open savepoints as appropriate. -func pager_write(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:59177:12: */ +func pager_write(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:59187:12: */ var pPager uintptr = (*PgHdr)(unsafe.Pointer(pPg)).FpPager var rc int32 = SQLITE_OK @@ -37106,7 +37116,7 @@ func pager_write(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:59177:12: */ // Usually, the sector size is less than or equal to the page size, in which // case pages can be individually written. This routine only runs in the // exceptional case where the page size is smaller than the sector size. -func pagerWriteLargeSector(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:59269:28: */ +func pagerWriteLargeSector(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:59279:28: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -37194,7 +37204,7 @@ func pagerWriteLargeSector(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:5926 // // If an error occurs, SQLITE_NOMEM or an IO error code is returned // as appropriate. Otherwise, SQLITE_OK. -func Xsqlite3PagerWrite(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:59363:20: */ +func Xsqlite3PagerWrite(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:59373:20: */ var pPager uintptr = (*PgHdr)(unsafe.Pointer(pPg)).FpPager if int32((*PgHdr)(unsafe.Pointer(pPg)).Fflags)&PGHDR_WRITEABLE != 0 && (*Pager)(unsafe.Pointer(pPager)).FdbSize >= (*PgHdr)(unsafe.Pointer(pPg)).Fpgno { @@ -37235,7 +37245,7 @@ func Xsqlite3PagerWrite(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:59363:2 // memory pressure forces page pPg out of the cache, the data does need // to be written out to disk so that it may be read back in if the // current transaction is rolled back. -func Xsqlite3PagerDontWrite(tls *libc.TLS, pPg uintptr) { /* sqlite3.c:59412:21: */ +func Xsqlite3PagerDontWrite(tls *libc.TLS, pPg uintptr) { /* sqlite3.c:59422:21: */ var pPager uintptr = (*PgHdr)(unsafe.Pointer(pPg)).FpPager if !(int32((*Pager)(unsafe.Pointer(pPager)).FtempFile) != 0) && int32((*PgHdr)(unsafe.Pointer(pPg)).Fflags)&PGHDR_DIRTY != 0 && (*Pager)(unsafe.Pointer(pPager)).FnSavepoint == 0 { @@ -37265,7 +37275,7 @@ func Xsqlite3PagerDontWrite(tls *libc.TLS, pPg uintptr) { /* sqlite3.c:59412:21: // if isDirect is non-zero, then the database file is updated directly // by writing an updated version of page 1 using a call to the // sqlite3OsWrite() function. -func pager_incr_changecounter(tls *libc.TLS, pPager uintptr, isDirectMode int32) int32 { /* sqlite3.c:59446:12: */ +func pager_incr_changecounter(tls *libc.TLS, pPager uintptr, isDirectMode int32) int32 { /* sqlite3.c:59456:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -37335,7 +37345,7 @@ func pager_incr_changecounter(tls *libc.TLS, pPager uintptr, isDirectMode int32) // // If successful, or if called on a pager for which it is a no-op, this // function returns SQLITE_OK. Otherwise, an IO error code is returned. -func Xsqlite3PagerSync(tls *libc.TLS, pPager uintptr, zSuper uintptr) int32 { /* sqlite3.c:59529:20: */ +func Xsqlite3PagerSync(tls *libc.TLS, pPager uintptr, zSuper uintptr) int32 { /* sqlite3.c:59539:20: */ var rc int32 = SQLITE_OK var pArg uintptr = zSuper rc = Xsqlite3OsFileControl(tls, (*Pager)(unsafe.Pointer(pPager)).Ffd, SQLITE_FCNTL_SYNC, pArg) @@ -37358,7 +37368,7 @@ func Xsqlite3PagerSync(tls *libc.TLS, pPager uintptr, zSuper uintptr) int32 { /* // successful, or the connection is in WAL mode, SQLITE_OK is returned. // Otherwise, either SQLITE_BUSY or an SQLITE_IOERR_XXX error code is // returned. -func Xsqlite3PagerExclusiveLock(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:59552:20: */ +func Xsqlite3PagerExclusiveLock(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:59562:20: */ var rc int32 = (*Pager)(unsafe.Pointer(pPager)).FerrCode if rc == SQLITE_OK { @@ -37394,7 +37404,7 @@ func Xsqlite3PagerExclusiveLock(tls *libc.TLS, pPager uintptr) int32 { /* sqlite // is not synced. The caller must call sqlite3PagerSync() directly to // sync the database file before calling CommitPhaseTwo() to delete the // journal file in this case. -func Xsqlite3PagerCommitPhaseOne(tls *libc.TLS, pPager uintptr, zSuper uintptr, noSync int32) int32 { /* sqlite3.c:59594:20: */ +func Xsqlite3PagerCommitPhaseOne(tls *libc.TLS, pPager uintptr, zSuper uintptr, noSync int32) int32 { /* sqlite3.c:59604:20: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -37584,7 +37594,7 @@ __19: // // If an error occurs, an IO error code is returned and the pager // moves into the error state. Otherwise, SQLITE_OK is returned. -func Xsqlite3PagerCommitPhaseTwo(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:59824:20: */ +func Xsqlite3PagerCommitPhaseTwo(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:59834:20: */ var rc int32 = SQLITE_OK // Return code // This routine should not be called if a prior error has occurred. @@ -37641,7 +37651,7 @@ func Xsqlite3PagerCommitPhaseTwo(tls *libc.TLS, pPager uintptr) int32 { /* sqlit // current transaction are either expelled from the cache or reverted to // their pre-transaction state by re-reading data from the database or // WAL files. The WAL transaction is then closed. -func Xsqlite3PagerRollback(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:59890:20: */ +func Xsqlite3PagerRollback(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:59900:20: */ var rc int32 = SQLITE_OK // Return code // PagerRollback() is a no-op if called in READER or OPEN state. If @@ -37685,13 +37695,13 @@ func Xsqlite3PagerRollback(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:5 // Return TRUE if the database file is opened read-only. Return FALSE // if the database is (in theory) writable. -func Xsqlite3PagerIsreadonly(tls *libc.TLS, pPager uintptr) U8 { /* sqlite3.c:59940:19: */ +func Xsqlite3PagerIsreadonly(tls *libc.TLS, pPager uintptr) U8 { /* sqlite3.c:59950:19: */ return (*Pager)(unsafe.Pointer(pPager)).FreadOnly } // Return the approximate number of bytes of memory currently // used by the pager and its associated cache. -func Xsqlite3PagerMemUsed(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:59957:20: */ +func Xsqlite3PagerMemUsed(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:59967:20: */ var perPageSize int32 = int32((*Pager)(unsafe.Pointer(pPager)).FpageSize + I64((*Pager)(unsafe.Pointer(pPager)).FnExtra) + I64(int32(uint64(unsafe.Sizeof(PgHdr{}))+uint64(5)*uint64(unsafe.Sizeof(uintptr(0)))))) return int32(I64(perPageSize*Xsqlite3PcachePagecount(tls, (*Pager)(unsafe.Pointer(pPager)).FpPCache)+ @@ -37700,7 +37710,7 @@ func Xsqlite3PagerMemUsed(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:59 } // Return the number of references to the specified page. -func Xsqlite3PagerPageRefcount(tls *libc.TLS, pPage uintptr) int32 { /* sqlite3.c:59968:20: */ +func Xsqlite3PagerPageRefcount(tls *libc.TLS, pPage uintptr) int32 { /* sqlite3.c:59978:20: */ return Xsqlite3PcachePageRefcount(tls, pPage) } @@ -37713,7 +37723,7 @@ func Xsqlite3PagerPageRefcount(tls *libc.TLS, pPage uintptr) int32 { /* sqlite3. // current cache hit or miss count, according to the value of eStat. If the // reset parameter is non-zero, the cache hit or miss count is zeroed before // returning. -func Xsqlite3PagerCacheStat(tls *libc.TLS, pPager uintptr, eStat int32, reset int32, pnVal uintptr) { /* sqlite3.c:60004:21: */ +func Xsqlite3PagerCacheStat(tls *libc.TLS, pPager uintptr, eStat int32, reset int32, pnVal uintptr) { /* sqlite3.c:60014:21: */ eStat = eStat - SQLITE_DBSTATUS_CACHE_HIT *(*int32)(unsafe.Pointer(pnVal)) += *(*int32)(unsafe.Pointer(pPager + 240 + uintptr(eStat)*4)) @@ -37723,7 +37733,7 @@ func Xsqlite3PagerCacheStat(tls *libc.TLS, pPager uintptr, eStat int32, reset in } // Return true if this is an in-memory or temp-file backed pager. -func Xsqlite3PagerIsMemdb(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:60027:20: */ +func Xsqlite3PagerIsMemdb(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:60037:20: */ return libc.Bool32((*Pager)(unsafe.Pointer(pPager)).FtempFile != 0 || (*Pager)(unsafe.Pointer(pPager)).FmemVfs != 0) } @@ -37735,7 +37745,7 @@ func Xsqlite3PagerIsMemdb(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:60 // If a memory allocation fails, SQLITE_NOMEM is returned. If an error // occurs while opening the sub-journal file, then an IO error code is // returned. Otherwise, SQLITE_OK. -func pagerOpenSavepoint(tls *libc.TLS, pPager uintptr, nSavepoint int32) int32 { /* sqlite3.c:60041:28: */ +func pagerOpenSavepoint(tls *libc.TLS, pPager uintptr, nSavepoint int32) int32 { /* sqlite3.c:60051:28: */ var rc int32 = SQLITE_OK // Return code var nCurrent int32 = (*Pager)(unsafe.Pointer(pPager)).FnSavepoint // Current number of savepoints var ii int32 // Iterator variable @@ -37775,7 +37785,7 @@ func pagerOpenSavepoint(tls *libc.TLS, pPager uintptr, nSavepoint int32) int32 { return rc } -func Xsqlite3PagerOpenSavepoint(tls *libc.TLS, pPager uintptr, nSavepoint int32) int32 { /* sqlite3.c:60087:20: */ +func Xsqlite3PagerOpenSavepoint(tls *libc.TLS, pPager uintptr, nSavepoint int32) int32 { /* sqlite3.c:60097:20: */ if nSavepoint > (*Pager)(unsafe.Pointer(pPager)).FnSavepoint && (*Pager)(unsafe.Pointer(pPager)).FuseJournal != 0 { return pagerOpenSavepoint(tls, pPager, nSavepoint) @@ -37813,7 +37823,7 @@ func Xsqlite3PagerOpenSavepoint(tls *libc.TLS, pPager uintptr, nSavepoint int32) // This function may return SQLITE_NOMEM if a memory allocation fails, // or an IO error code if an IO error occurs while rolling back a // savepoint. If no errors occur, SQLITE_OK is returned. -func Xsqlite3PagerSavepoint(tls *libc.TLS, pPager uintptr, op int32, iSavepoint int32) int32 { /* sqlite3.c:60129:20: */ +func Xsqlite3PagerSavepoint(tls *libc.TLS, pPager uintptr, op int32, iSavepoint int32) int32 { /* sqlite3.c:60139:20: */ var rc int32 = (*Pager)(unsafe.Pointer(pPager)).FerrCode if rc == SQLITE_OK && iSavepoint < (*Pager)(unsafe.Pointer(pPager)).FnSavepoint { @@ -37874,30 +37884,30 @@ func Xsqlite3PagerSavepoint(tls *libc.TLS, pPager uintptr, op int32, iSavepoint // // The return value to this routine is always safe to use with // sqlite3_uri_parameter() and sqlite3_filename_database() and friends. -func Xsqlite3PagerFilename(tls *libc.TLS, pPager uintptr, nullIfMemDb int32) uintptr { /* sqlite3.c:60210:27: */ +func Xsqlite3PagerFilename(tls *libc.TLS, pPager uintptr, nullIfMemDb int32) uintptr { /* sqlite3.c:60220:27: */ if nullIfMemDb != 0 && (*Pager)(unsafe.Pointer(pPager)).FmemDb != 0 { return uintptr(unsafe.Pointer(&zFake)) + 4 } return (*Pager)(unsafe.Pointer(pPager)).FzFilename } -var zFake = [8]uint8{uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0)} /* sqlite3.c:60211:21 */ +var zFake = [8]uint8{uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0)} /* sqlite3.c:60221:21 */ // Return the VFS structure for the pager. -func Xsqlite3PagerVfs(tls *libc.TLS, pPager uintptr) uintptr { /* sqlite3.c:60218:28: */ +func Xsqlite3PagerVfs(tls *libc.TLS, pPager uintptr) uintptr { /* sqlite3.c:60228:28: */ return (*Pager)(unsafe.Pointer(pPager)).FpVfs } // Return the file handle for the database file associated // with the pager. This might return NULL if the file has // not yet been opened. -func Xsqlite3PagerFile(tls *libc.TLS, pPager uintptr) uintptr { /* sqlite3.c:60227:29: */ +func Xsqlite3PagerFile(tls *libc.TLS, pPager uintptr) uintptr { /* sqlite3.c:60237:29: */ return (*Pager)(unsafe.Pointer(pPager)).Ffd } // Return the file handle for the journal file (if it exists). // This will be either the rollback journal or the WAL file. -func Xsqlite3PagerJrnlFile(tls *libc.TLS, pPager uintptr) uintptr { /* sqlite3.c:60235:29: */ +func Xsqlite3PagerJrnlFile(tls *libc.TLS, pPager uintptr) uintptr { /* sqlite3.c:60245:29: */ if (*Pager)(unsafe.Pointer(pPager)).FpWal != 0 { return Xsqlite3WalFile(tls, (*Pager)(unsafe.Pointer(pPager)).FpWal) } @@ -37905,7 +37915,7 @@ func Xsqlite3PagerJrnlFile(tls *libc.TLS, pPager uintptr) uintptr { /* sqlite3.c } // Return the full pathname of the journal file. -func Xsqlite3PagerJournalname(tls *libc.TLS, pPager uintptr) uintptr { /* sqlite3.c:60246:27: */ +func Xsqlite3PagerJournalname(tls *libc.TLS, pPager uintptr) uintptr { /* sqlite3.c:60256:27: */ return (*Pager)(unsafe.Pointer(pPager)).FzJournal } @@ -37932,7 +37942,7 @@ func Xsqlite3PagerJournalname(tls *libc.TLS, pPager uintptr) uintptr { /* sqlite // // This function may return SQLITE_NOMEM or an IO error code if an error // occurs. Otherwise, it returns SQLITE_OK. -func Xsqlite3PagerMovepage(tls *libc.TLS, pPager uintptr, pPg uintptr, pgno Pgno, isCommit int32) int32 { /* sqlite3.c:60276:20: */ +func Xsqlite3PagerMovepage(tls *libc.TLS, pPager uintptr, pPg uintptr, pgno Pgno, isCommit int32) int32 { /* sqlite3.c:60286:20: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -37994,7 +38004,7 @@ func Xsqlite3PagerMovepage(tls *libc.TLS, pPager uintptr, pPg uintptr, pgno Pgno if pPgOld != 0 { if int32((*PgHdr)(unsafe.Pointer(pPgOld)).FnRef) > 1 { Xsqlite3PagerUnrefNotNull(tls, pPgOld) - return Xsqlite3CorruptError(tls, 60350) + return Xsqlite3CorruptError(tls, 60360) } *(*U16)(unsafe.Pointer(pPg + 52)) |= U16(int32((*PgHdr)(unsafe.Pointer(pPgOld)).Fflags) & PGHDR_NEED_SYNC) if (*Pager)(unsafe.Pointer(pPager)).FtempFile != 0 { @@ -38054,21 +38064,21 @@ func Xsqlite3PagerMovepage(tls *libc.TLS, pPager uintptr, pPg uintptr, pgno Pgno // with a page number other than iNew. This function changes the page's // page number to iNew and sets the value of the PgHdr.flags field to // the value passed as the third parameter. -func Xsqlite3PagerRekey(tls *libc.TLS, pPg uintptr, iNew Pgno, flags U16) { /* sqlite3.c:60414:21: */ +func Xsqlite3PagerRekey(tls *libc.TLS, pPg uintptr, iNew Pgno, flags U16) { /* sqlite3.c:60424:21: */ (*DbPage)(unsafe.Pointer(pPg)).Fflags = flags Xsqlite3PcacheMove(tls, pPg, iNew) } // Return a pointer to the data for the specified page. -func Xsqlite3PagerGetData(tls *libc.TLS, pPg uintptr) uintptr { /* sqlite3.c:60423:21: */ +func Xsqlite3PagerGetData(tls *libc.TLS, pPg uintptr) uintptr { /* sqlite3.c:60433:21: */ return (*DbPage)(unsafe.Pointer(pPg)).FpData } // Return a pointer to the Pager.nExtra bytes of "extra" space // allocated along with the specified page. -func Xsqlite3PagerGetExtra(tls *libc.TLS, pPg uintptr) uintptr { /* sqlite3.c:60432:21: */ +func Xsqlite3PagerGetExtra(tls *libc.TLS, pPg uintptr) uintptr { /* sqlite3.c:60442:21: */ return (*DbPage)(unsafe.Pointer(pPg)).FpExtra } @@ -38080,7 +38090,7 @@ func Xsqlite3PagerGetExtra(tls *libc.TLS, pPg uintptr) uintptr { /* sqlite3.c:60 // The returned value is either PAGER_LOCKINGMODE_NORMAL or // PAGER_LOCKINGMODE_EXCLUSIVE, indicating the current (possibly updated) // locking-mode. -func Xsqlite3PagerLockingMode(tls *libc.TLS, pPager uintptr, eMode int32) int32 { /* sqlite3.c:60446:20: */ +func Xsqlite3PagerLockingMode(tls *libc.TLS, pPager uintptr, eMode int32) int32 { /* sqlite3.c:60456:20: */ if eMode >= 0 && !(int32((*Pager)(unsafe.Pointer(pPager)).FtempFile) != 0) && !(Xsqlite3WalHeapMemory(tls, (*Pager)(unsafe.Pointer(pPager)).FpWal) != 0) { (*Pager)(unsafe.Pointer(pPager)).FexclusiveMode = U8(eMode) @@ -38106,7 +38116,7 @@ func Xsqlite3PagerLockingMode(tls *libc.TLS, pPager uintptr, eMode int32) int32 // * Temporary databases cannot have _WAL journalmode. // // The returned indicate the current (possibly updated) journal-mode. -func Xsqlite3PagerSetJournalMode(tls *libc.TLS, pPager uintptr, eMode int32) int32 { /* sqlite3.c:60479:20: */ +func Xsqlite3PagerSetJournalMode(tls *libc.TLS, pPager uintptr, eMode int32) int32 { /* sqlite3.c:60489:20: */ var eOld U8 = (*Pager)(unsafe.Pointer(pPager)).FjournalMode // Prior journalmode // The eMode parameter is always valid @@ -38176,14 +38186,14 @@ func Xsqlite3PagerSetJournalMode(tls *libc.TLS, pPager uintptr, eMode int32) int } // Return the current journal mode. -func Xsqlite3PagerGetJournalMode(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:60569:20: */ +func Xsqlite3PagerGetJournalMode(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:60579:20: */ return int32((*Pager)(unsafe.Pointer(pPager)).FjournalMode) } // Return TRUE if the pager is in a state where it is OK to change the // journalmode. Journalmode changes can only happen when the database // is unmodified. -func Xsqlite3PagerOkToChangeJournalMode(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:60578:20: */ +func Xsqlite3PagerOkToChangeJournalMode(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:60588:20: */ if int32((*Pager)(unsafe.Pointer(pPager)).FeState) >= PAGER_WRITER_CACHEMOD { return 0 @@ -38198,7 +38208,7 @@ func Xsqlite3PagerOkToChangeJournalMode(tls *libc.TLS, pPager uintptr) int32 { / // // Setting the size limit to -1 means no limit is enforced. // An attempt to set a limit smaller than -1 is a no-op. -func Xsqlite3PagerJournalSizeLimit(tls *libc.TLS, pPager uintptr, iLimit I64) I64 { /* sqlite3.c:60591:20: */ +func Xsqlite3PagerJournalSizeLimit(tls *libc.TLS, pPager uintptr, iLimit I64) I64 { /* sqlite3.c:60601:20: */ if iLimit >= int64(-1) { (*Pager)(unsafe.Pointer(pPager)).FjournalSizeLimit = iLimit Xsqlite3WalLimit(tls, (*Pager)(unsafe.Pointer(pPager)).FpWal, iLimit) @@ -38210,12 +38220,12 @@ func Xsqlite3PagerJournalSizeLimit(tls *libc.TLS, pPager uintptr, iLimit I64) I6 // in backup.c maintains the content of this variable. This module // uses it opaquely as an argument to sqlite3BackupRestart() and // sqlite3BackupUpdate() only. -func Xsqlite3PagerBackupPtr(tls *libc.TLS, pPager uintptr) uintptr { /* sqlite3.c:60605:31: */ +func Xsqlite3PagerBackupPtr(tls *libc.TLS, pPager uintptr) uintptr { /* sqlite3.c:60615:31: */ return pPager + 112 } // Unless this is an in-memory or temporary database, clear the pager cache. -func Xsqlite3PagerClearCache(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:60613:21: */ +func Xsqlite3PagerClearCache(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:60623:21: */ if int32((*Pager)(unsafe.Pointer(pPager)).FtempFile) == 0 { pager_reset(tls, pPager) @@ -38227,7 +38237,7 @@ func Xsqlite3PagerClearCache(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:60613 // or wal_blocking_checkpoint() API functions. // // Parameter eMode is one of SQLITE_CHECKPOINT_PASSIVE, FULL or RESTART. -func Xsqlite3PagerCheckpoint(tls *libc.TLS, pPager uintptr, db uintptr, eMode int32, pnLog uintptr, pnCkpt uintptr) int32 { /* sqlite3.c:60628:20: */ +func Xsqlite3PagerCheckpoint(tls *libc.TLS, pPager uintptr, db uintptr, eMode int32, pnLog uintptr, pnCkpt uintptr) int32 { /* sqlite3.c:60638:20: */ var rc int32 = SQLITE_OK if (*Pager)(unsafe.Pointer(pPager)).FpWal == uintptr(0) && int32((*Pager)(unsafe.Pointer(pPager)).FjournalMode) == PAGER_JOURNALMODE_WAL { // This only happens when a database file is zero bytes in size opened and @@ -38255,13 +38265,13 @@ func Xsqlite3PagerCheckpoint(tls *libc.TLS, pPager uintptr, db uintptr, eMode in return rc } -func Xsqlite3PagerWalCallback(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:60659:20: */ +func Xsqlite3PagerWalCallback(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:60669:20: */ return Xsqlite3WalCallback(tls, (*Pager)(unsafe.Pointer(pPager)).FpWal) } // Return true if the underlying VFS for the given pager supports the // primitives necessary for write-ahead logging. -func Xsqlite3PagerWalSupported(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:60667:20: */ +func Xsqlite3PagerWalSupported(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:60677:20: */ var pMethods uintptr = (*Sqlite3_file)(unsafe.Pointer((*Pager)(unsafe.Pointer(pPager)).Ffd)).FpMethods if (*Pager)(unsafe.Pointer(pPager)).FnoLock != 0 { return 0 @@ -38271,7 +38281,7 @@ func Xsqlite3PagerWalSupported(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3 // Attempt to take an exclusive lock on the database file. If a PENDING lock // is obtained instead, immediately release it. -func pagerExclusiveLock(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:60677:12: */ +func pagerExclusiveLock(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:60687:12: */ var rc int32 // Return code rc = pagerLockDb(tls, pPager, EXCLUSIVE_LOCK) @@ -38288,7 +38298,7 @@ func pagerExclusiveLock(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:6067 // exclusive-locking mode when this function is called, take an EXCLUSIVE // lock on the database file and use heap-memory to store the wal-index // in. Otherwise, use the normal shared-memory. -func pagerOpenWal(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:60697:12: */ +func pagerOpenWal(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:60707:12: */ var rc int32 = SQLITE_OK // If the pager is already in exclusive-mode, the WAL module will use @@ -38324,7 +38334,7 @@ func pagerOpenWal(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:60697:12: // If the pager is open on a temp-file (or in-memory database), or if // the WAL file is already open, set *pbOpen to 1 and return SQLITE_OK // without doing anything. -func Xsqlite3PagerOpenWal(tls *libc.TLS, pPager uintptr, pbOpen uintptr) int32 { /* sqlite3.c:60742:20: */ +func Xsqlite3PagerOpenWal(tls *libc.TLS, pPager uintptr, pbOpen uintptr) int32 { /* sqlite3.c:60752:20: */ var rc int32 = SQLITE_OK // Return code if !(int32((*Pager)(unsafe.Pointer(pPager)).FtempFile) != 0) && !(int32((*Pager)(unsafe.Pointer(pPager)).FpWal) != 0) { @@ -38354,7 +38364,7 @@ func Xsqlite3PagerOpenWal(tls *libc.TLS, pPager uintptr, pbOpen uintptr) int32 { // EXCLUSIVE lock on the database file. If this cannot be obtained, an // error (SQLITE_BUSY) is returned and the log connection is not closed. // If successful, the EXCLUSIVE lock is not released before returning. -func Xsqlite3PagerCloseWal(tls *libc.TLS, pPager uintptr, db uintptr) int32 { /* sqlite3.c:60781:20: */ +func Xsqlite3PagerCloseWal(tls *libc.TLS, pPager uintptr, db uintptr) int32 { /* sqlite3.c:60791:20: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -38394,7 +38404,7 @@ func Xsqlite3PagerCloseWal(tls *libc.TLS, pPager uintptr, db uintptr) int32 { /* // If this is a WAL database, obtain a snapshot handle for the snapshot // currently open. Otherwise, return an error. -func Xsqlite3PagerSnapshotGet(tls *libc.TLS, pPager uintptr, ppSnapshot uintptr) int32 { /* sqlite3.c:60850:20: */ +func Xsqlite3PagerSnapshotGet(tls *libc.TLS, pPager uintptr, ppSnapshot uintptr) int32 { /* sqlite3.c:60860:20: */ var rc int32 = SQLITE_ERROR if (*Pager)(unsafe.Pointer(pPager)).FpWal != 0 { rc = Xsqlite3WalSnapshotGet(tls, (*Pager)(unsafe.Pointer(pPager)).FpWal, ppSnapshot) @@ -38405,7 +38415,7 @@ func Xsqlite3PagerSnapshotGet(tls *libc.TLS, pPager uintptr, ppSnapshot uintptr) // If this is a WAL database, store a pointer to pSnapshot. Next time a // read transaction is opened, attempt to read from the snapshot it // identifies. If this is not a WAL database, return an error. -func Xsqlite3PagerSnapshotOpen(tls *libc.TLS, pPager uintptr, pSnapshot uintptr) int32 { /* sqlite3.c:60863:20: */ +func Xsqlite3PagerSnapshotOpen(tls *libc.TLS, pPager uintptr, pSnapshot uintptr) int32 { /* sqlite3.c:60873:20: */ var rc int32 = SQLITE_OK if (*Pager)(unsafe.Pointer(pPager)).FpWal != 0 { Xsqlite3WalSnapshotOpen(tls, (*Pager)(unsafe.Pointer(pPager)).FpWal, pSnapshot) @@ -38417,7 +38427,7 @@ func Xsqlite3PagerSnapshotOpen(tls *libc.TLS, pPager uintptr, pSnapshot uintptr) // If this is a WAL database, call sqlite3WalSnapshotRecover(). If this // is not a WAL database, return an error. -func Xsqlite3PagerSnapshotRecover(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:60880:20: */ +func Xsqlite3PagerSnapshotRecover(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:60890:20: */ var rc int32 if (*Pager)(unsafe.Pointer(pPager)).FpWal != 0 { rc = Xsqlite3WalSnapshotRecover(tls, (*Pager)(unsafe.Pointer(pPager)).FpWal) @@ -38437,7 +38447,7 @@ func Xsqlite3PagerSnapshotRecover(tls *libc.TLS, pPager uintptr) int32 { /* sqli // the CHECKPOINTER lock cannot be obtained, SQLITE_BUSY. If any error // occurs (any value other than SQLITE_OK is returned), the CHECKPOINTER // lock is released before returning. -func Xsqlite3PagerSnapshotCheck(tls *libc.TLS, pPager uintptr, pSnapshot uintptr) int32 { /* sqlite3.c:60902:20: */ +func Xsqlite3PagerSnapshotCheck(tls *libc.TLS, pPager uintptr, pSnapshot uintptr) int32 { /* sqlite3.c:60912:20: */ var rc int32 if (*Pager)(unsafe.Pointer(pPager)).FpWal != 0 { rc = Xsqlite3WalSnapshotCheck(tls, (*Pager)(unsafe.Pointer(pPager)).FpWal, pSnapshot) @@ -38449,7 +38459,7 @@ func Xsqlite3PagerSnapshotCheck(tls *libc.TLS, pPager uintptr, pSnapshot uintptr // Release a lock obtained by an earlier successful call to // sqlite3PagerSnapshotCheck(). -func Xsqlite3PagerSnapshotUnlock(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:60916:21: */ +func Xsqlite3PagerSnapshotUnlock(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:60926:21: */ Xsqlite3WalSnapshotUnlock(tls, (*Pager)(unsafe.Pointer(pPager)).FpWal) } @@ -39028,7 +39038,7 @@ type WalIndexHdr1 = struct { // byte. // Object declarations -type WalIndexHdr = WalIndexHdr1 /* sqlite3.c:61244:28 */ +type WalIndexHdr = WalIndexHdr1 /* sqlite3.c:61254:28 */ type WalIterator1 = struct { FiPrior U32 FnSegment int32 @@ -39040,18 +39050,18 @@ type WalIterator1 = struct { FnEntry int32 FiZero int32 } -} /* sqlite3.c:61245:9 */ +} /* sqlite3.c:61255:9 */ -type WalIterator = WalIterator1 /* sqlite3.c:61245:28 */ +type WalIterator = WalIterator1 /* sqlite3.c:61255:28 */ type WalCkptInfo1 = struct { FnBackfill U32 FaReadMark [5]U32 FaLock [8]U8 FnBackfillAttempted U32 FnotUsed0 U32 -} /* sqlite3.c:61246:9 */ +} /* sqlite3.c:61256:9 */ -type WalCkptInfo = WalCkptInfo1 /* sqlite3.c:61246:28 */ +type WalCkptInfo = WalCkptInfo1 /* sqlite3.c:61256:28 */ // Candidate values for Wal.exclusiveMode. @@ -39059,7 +39069,7 @@ type WalCkptInfo = WalCkptInfo1 /* sqlite3.c:61246:28 */ // Each page of the wal-index mapping contains a hash-table made up of // an array of HASHTABLE_NSLOT elements of the following type. -type Ht_slot = U16 /* sqlite3.c:61501:13 */ +type Ht_slot = U16 /* sqlite3.c:61511:13 */ // 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 @@ -39081,7 +39091,7 @@ type WalSegment = struct { FaPgno uintptr FnEntry int32 FiZero int32 -} /* sqlite3.c:61245:9 */ +} /* sqlite3.c:61255:9 */ // Define the parameters of the hash tables in the wal-index file. There // is a hash-table following every HASHTABLE_NPAGE page numbers in the @@ -39112,7 +39122,7 @@ type WalSegment = struct { // (3) rc==SQLITE_OK and *ppPage==NULL // only if iPage==0 // // Scenario (3) can only occur when pWal->writeLock is false and iPage==0 -func walIndexPageRealloc(tls *libc.TLS, pWal uintptr, iPage int32, ppPage uintptr) int32 { /* sqlite3.c:61572:28: */ +func walIndexPageRealloc(tls *libc.TLS, pWal uintptr, iPage int32, ppPage uintptr) int32 { /* sqlite3.c:61582:28: */ var rc int32 = SQLITE_OK // Enlarge the pWal->apWiData[] array if required @@ -39158,7 +39168,7 @@ func walIndexPageRealloc(tls *libc.TLS, pWal uintptr, iPage int32, ppPage uintpt return rc } -func walIndexPage(tls *libc.TLS, pWal uintptr, iPage int32, ppPage uintptr) int32 { /* sqlite3.c:61621:12: */ +func walIndexPage(tls *libc.TLS, pWal uintptr, iPage int32, ppPage uintptr) int32 { /* sqlite3.c:61631:12: */ if (*Wal)(unsafe.Pointer(pWal)).FnWiData <= iPage || libc.AssignPtrUintptr(ppPage, *(*uintptr)(unsafe.Pointer((*Wal)(unsafe.Pointer(pWal)).FapWiData + uintptr(iPage)*8))) == uintptr(0) { return walIndexPageRealloc(tls, pWal, iPage, ppPage) } @@ -39166,13 +39176,13 @@ func walIndexPage(tls *libc.TLS, pWal uintptr, iPage int32, ppPage uintptr) int3 } // Return a pointer to the WalCkptInfo structure in the wal-index. -func walCkptInfo(tls *libc.TLS, pWal uintptr) uintptr { /* sqlite3.c:61635:29: */ +func walCkptInfo(tls *libc.TLS, pWal uintptr) uintptr { /* sqlite3.c:61645:29: */ return *(*uintptr)(unsafe.Pointer((*Wal)(unsafe.Pointer(pWal)).FapWiData)) + 24*4 } // Return a pointer to the WalIndexHdr structure in the wal-index. -func walIndexHdr(tls *libc.TLS, pWal uintptr) uintptr { /* sqlite3.c:61643:29: */ +func walIndexHdr(tls *libc.TLS, pWal uintptr) uintptr { /* sqlite3.c:61653:29: */ return *(*uintptr)(unsafe.Pointer((*Wal)(unsafe.Pointer(pWal)).FapWiData)) } @@ -39190,7 +39200,7 @@ func walIndexHdr(tls *libc.TLS, pWal uintptr) uintptr { /* sqlite3.c:61643:29: * // The checksum is written back into aOut[] before returning. // // nByte must be a positive multiple of 8. -func walChecksumBytes(tls *libc.TLS, nativeCksum int32, a uintptr, nByte int32, aIn uintptr, aOut uintptr) { /* sqlite3.c:61669:13: */ +func walChecksumBytes(tls *libc.TLS, nativeCksum int32, a uintptr, nByte int32, aIn uintptr, aOut uintptr) { /* sqlite3.c:61679:13: */ var s1 U32 var s2 U32 var aData uintptr = a @@ -39222,7 +39232,7 @@ func walChecksumBytes(tls *libc.TLS, nativeCksum int32, a uintptr, nByte int32, // If there is the possibility of concurrent access to the SHM file // from multiple threads and/or processes, then do a memory barrier. -func walShmBarrier(tls *libc.TLS, pWal uintptr) { /* sqlite3.c:61712:13: */ +func walShmBarrier(tls *libc.TLS, pWal uintptr) { /* sqlite3.c:61722:13: */ if int32((*Wal)(unsafe.Pointer(pWal)).FexclusiveMode) != WAL_HEAPMEMORY_MODE { Xsqlite3OsShmBarrier(tls, (*Wal)(unsafe.Pointer(pWal)).FpDbFd) } @@ -39237,7 +39247,7 @@ func walShmBarrier(tls *libc.TLS, pWal uintptr) { /* sqlite3.c:61712:13: */ // Write the header information in pWal->hdr into the wal-index. // // The checksum on pWal->hdr is updated before it is written. -func walIndexWriteHdr(tls *libc.TLS, pWal uintptr) { /* sqlite3.c:61736:28: */ +func walIndexWriteHdr(tls *libc.TLS, pWal uintptr) { /* sqlite3.c:61746:28: */ var aHdr uintptr = walIndexHdr(tls, pWal) var nCksum int32 = int32(uintptr(0) + 40) @@ -39261,7 +39271,7 @@ func walIndexWriteHdr(tls *libc.TLS, pWal uintptr) { /* sqlite3.c:61736:28: */ // 12: Salt-2 (copied from the wal-header) // 16: Checksum-1. // 20: Checksum-2. -func walEncodeFrame(tls *libc.TLS, pWal uintptr, iPage U32, nTruncate U32, aData uintptr, aFrame uintptr) { /* sqlite3.c:61763:13: */ +func walEncodeFrame(tls *libc.TLS, pWal uintptr, iPage U32, nTruncate U32, aData uintptr, aFrame uintptr) { /* sqlite3.c:61773:13: */ var nativeCksum int32 // True for native byte-order checksums var aCksum uintptr = pWal + 72 + 24 @@ -39284,7 +39294,7 @@ func walEncodeFrame(tls *libc.TLS, pWal uintptr, iPage U32, nTruncate U32, aData // Check to see if the frame with header in aFrame[] and content // in aData[] is valid. If it is a valid frame, fill *piPage and // *pnTruncate and return true. Return if the frame is not valid. -func walDecodeFrame(tls *libc.TLS, pWal uintptr, piPage uintptr, pnTruncate uintptr, aData uintptr, aFrame uintptr) int32 { /* sqlite3.c:61794:12: */ +func walDecodeFrame(tls *libc.TLS, pWal uintptr, piPage uintptr, pnTruncate uintptr, aData uintptr, aFrame uintptr) int32 { /* sqlite3.c:61804:12: */ var nativeCksum int32 // True for native byte-order checksums var aCksum uintptr = pWal + 72 + 24 var pgno U32 // Page number of the frame @@ -39326,7 +39336,7 @@ func walDecodeFrame(tls *libc.TLS, pWal uintptr, piPage uintptr, pnTruncate uint // through the unlocked state first. // // In locking_mode=EXCLUSIVE, all of these routines become no-ops. -func walLockShared(tls *libc.TLS, pWal uintptr, lockIdx int32) int32 { /* sqlite3.c:61873:12: */ +func walLockShared(tls *libc.TLS, pWal uintptr, lockIdx int32) int32 { /* sqlite3.c:61883:12: */ var rc int32 if (*Wal)(unsafe.Pointer(pWal)).FexclusiveMode != 0 { return SQLITE_OK @@ -39337,7 +39347,7 @@ func walLockShared(tls *libc.TLS, pWal uintptr, lockIdx int32) int32 { /* sqlite return rc } -func walUnlockShared(tls *libc.TLS, pWal uintptr, lockIdx int32) { /* sqlite3.c:61883:13: */ +func walUnlockShared(tls *libc.TLS, pWal uintptr, lockIdx int32) { /* sqlite3.c:61893:13: */ if (*Wal)(unsafe.Pointer(pWal)).FexclusiveMode != 0 { return } @@ -39346,7 +39356,7 @@ func walUnlockShared(tls *libc.TLS, pWal uintptr, lockIdx int32) { /* sqlite3.c: } -func walLockExclusive(tls *libc.TLS, pWal uintptr, lockIdx int32, n int32) int32 { /* sqlite3.c:61889:12: */ +func walLockExclusive(tls *libc.TLS, pWal uintptr, lockIdx int32, n int32) int32 { /* sqlite3.c:61899:12: */ var rc int32 if (*Wal)(unsafe.Pointer(pWal)).FexclusiveMode != 0 { return SQLITE_OK @@ -39357,7 +39367,7 @@ func walLockExclusive(tls *libc.TLS, pWal uintptr, lockIdx int32, n int32) int32 return rc } -func walUnlockExclusive(tls *libc.TLS, pWal uintptr, lockIdx int32, n int32) { /* sqlite3.c:61899:13: */ +func walUnlockExclusive(tls *libc.TLS, pWal uintptr, lockIdx int32, n int32) { /* sqlite3.c:61909:13: */ if (*Wal)(unsafe.Pointer(pWal)).FexclusiveMode != 0 { return } @@ -39369,12 +39379,12 @@ func walUnlockExclusive(tls *libc.TLS, pWal uintptr, lockIdx int32, n int32) { / // Compute a hash on a page number. The resulting hash value must land // between 0 and (HASHTABLE_NSLOT-1). The walHashNext() function advances // the hash to the next value in the event of a collision. -func walHash(tls *libc.TLS, iPage U32) int32 { /* sqlite3.c:61912:12: */ +func walHash(tls *libc.TLS, iPage U32) int32 { /* sqlite3.c:61922:12: */ return int32(iPage * U32(HASHTABLE_HASH_1) & U32(HASHTABLE_NPAGE*2-1)) } -func walNextHash(tls *libc.TLS, iPriorHash int32) int32 { /* sqlite3.c:61917:12: */ +func walNextHash(tls *libc.TLS, iPriorHash int32) int32 { /* sqlite3.c:61927:12: */ return (iPriorHash + 1) & (HASHTABLE_NPAGE*2 - 1) } @@ -39386,12 +39396,12 @@ type WalHashLoc1 = struct { FaPgno uintptr FiZero U32 F__ccgo_pad1 [4]byte -} /* sqlite3.c:61926:9 */ +} /* sqlite3.c:61936:9 */ // An instance of the WalHashLoc object is used to describe the location // of a page hash table in the wal-index. This becomes the return value // from walHashGet(). -type WalHashLoc = WalHashLoc1 /* sqlite3.c:61926:27 */ +type WalHashLoc = WalHashLoc1 /* sqlite3.c:61936:27 */ // Return pointers to the hash table and page number array stored on // page iHash of the wal-index. The wal-index is broken into 32KB pages @@ -39405,7 +39415,7 @@ type WalHashLoc = WalHashLoc1 /* sqlite3.c:61926:27 */ // // Finally, set pLoc->aPgno so that pLoc->aPgno[0] is the page number of the // first frame indexed by the hash table, frame (pLoc->iZero). -func walHashGet(tls *libc.TLS, pWal uintptr, iHash int32, pLoc uintptr) int32 { /* sqlite3.c:61947:12: */ +func walHashGet(tls *libc.TLS, pWal uintptr, iHash int32, pLoc uintptr) int32 { /* sqlite3.c:61957:12: */ var rc int32 // Return code rc = walIndexPage(tls, pWal, iHash, pLoc+8) @@ -39428,14 +39438,14 @@ func walHashGet(tls *libc.TLS, pWal uintptr, iHash int32, pLoc uintptr) int32 { // and page-number array that contain entries corresponding to WAL frame // iFrame. The wal-index is broken up into 32KB pages. Wal-index pages // are numbered starting from 0. -func walFramePage(tls *libc.TLS, iFrame U32) int32 { /* sqlite3.c:61977:12: */ +func walFramePage(tls *libc.TLS, iFrame U32) int32 { /* sqlite3.c:61987:12: */ var iHash int32 = int32((uint64(iFrame+U32(HASHTABLE_NPAGE)) - (uint64(HASHTABLE_NPAGE) - (uint64(unsafe.Sizeof(WalIndexHdr{}))*uint64(2)+uint64(unsafe.Sizeof(WalCkptInfo{})))/uint64(unsafe.Sizeof(U32(0)))) - uint64(1)) / uint64(HASHTABLE_NPAGE)) return iHash } // Return the page number associated with frame iFrame in this WAL. -func walFramePgno(tls *libc.TLS, pWal uintptr, iFrame U32) U32 { /* sqlite3.c:61992:12: */ +func walFramePgno(tls *libc.TLS, pWal uintptr, iFrame U32) U32 { /* sqlite3.c:62002:12: */ var iHash int32 = walFramePage(tls, iFrame) if iHash == 0 { return *(*U32)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer((*Wal)(unsafe.Pointer(pWal)).FapWiData)) + uintptr((uint64(unsafe.Sizeof(WalIndexHdr{}))*uint64(2)+uint64(unsafe.Sizeof(WalCkptInfo{})))/uint64(unsafe.Sizeof(U32(0)))+uint64(iFrame)-uint64(1))*4)) @@ -39453,7 +39463,7 @@ func walFramePgno(tls *libc.TLS, pWal uintptr, iFrame U32) U32 { /* sqlite3.c:61 // updated. Any later hash tables will be automatically cleared when // pWal->hdr.mxFrame advances to the point where those hash tables are // actually needed. -func walCleanupHash(tls *libc.TLS, pWal uintptr) { /* sqlite3.c:62012:13: */ +func walCleanupHash(tls *libc.TLS, pWal uintptr) { /* sqlite3.c:62022:13: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -39496,7 +39506,7 @@ func walCleanupHash(tls *libc.TLS, pWal uintptr) { /* sqlite3.c:62012:13: */ // Set an entry in the wal-index that will map database page number // pPage into WAL frame iFrame. -func walIndexAppend(tls *libc.TLS, pWal uintptr, iFrame U32, iPage U32) int32 { /* sqlite3.c:62074:12: */ +func walIndexAppend(tls *libc.TLS, pWal uintptr, iFrame U32, iPage U32) int32 { /* sqlite3.c:62084:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -39537,7 +39547,7 @@ func walIndexAppend(tls *libc.TLS, pWal uintptr, iFrame U32, iPage U32) int32 { nCollide = idx for iKey = walHash(tls, iPage); *(*Ht_slot)(unsafe.Pointer((*WalHashLoc)(unsafe.Pointer(bp /* &sLoc */)).FaHash + uintptr(iKey)*2)) != 0; iKey = walNextHash(tls, iKey) { if libc.PostDecInt32(&nCollide, 1) == 0 { - return Xsqlite3CorruptError(tls, 62114) + return Xsqlite3CorruptError(tls, 62124) } } *(*U32)(unsafe.Pointer((*WalHashLoc)(unsafe.Pointer(bp /* &sLoc */)).FaPgno + uintptr(idx-1)*4)) = iPage @@ -39556,7 +39566,7 @@ func walIndexAppend(tls *libc.TLS, pWal uintptr, iFrame U32, iPage U32) int32 { // WAL_RECOVER_LOCK is also held so that other threads will know // that this thread is running recovery. If unable to establish // the necessary locks, this routine returns SQLITE_BUSY. -func walIndexRecover(tls *libc.TLS, pWal uintptr) int32 { /* sqlite3.c:62163:12: */ +func walIndexRecover(tls *libc.TLS, pWal uintptr) int32 { /* sqlite3.c:62173:12: */ bp := tls.Alloc(80) defer tls.Free(80) @@ -39671,7 +39681,7 @@ __6: if !(version != U32(WAL_MAX_VERSION)) { goto __7 } - rc = Xsqlite3CantopenError(tls, 62246) + rc = Xsqlite3CantopenError(tls, 62256) goto finished __7: ; @@ -39875,7 +39885,7 @@ recovery_error: } // Close an open wal-index. -func walIndexClose(tls *libc.TLS, pWal uintptr, isDelete int32) { /* sqlite3.c:62386:13: */ +func walIndexClose(tls *libc.TLS, pWal uintptr, isDelete int32) { /* sqlite3.c:62396:13: */ if int32((*Wal)(unsafe.Pointer(pWal)).FexclusiveMode) == WAL_HEAPMEMORY_MODE || (*Wal)(unsafe.Pointer(pWal)).FbShmUnreliable != 0 { var i int32 for i = 0; i < (*Wal)(unsafe.Pointer(pWal)).FnWiData; i++ { @@ -39901,7 +39911,7 @@ func walIndexClose(tls *libc.TLS, pWal uintptr, isDelete int32) { /* sqlite3.c:6 // If the log file is successfully opened, SQLITE_OK is returned and // *ppWal is set to point to a new WAL handle. If an error occurs, // an SQLite error code is returned and *ppWal is left unmodified. -func Xsqlite3WalOpen(tls *libc.TLS, pVfs uintptr, pDbFd uintptr, zWalName uintptr, bNoShm int32, mxWalSize I64, ppWal uintptr) int32 { /* sqlite3.c:62414:20: */ +func Xsqlite3WalOpen(tls *libc.TLS, pVfs uintptr, pDbFd uintptr, zWalName uintptr, bNoShm int32, mxWalSize I64, ppWal uintptr) int32 { /* sqlite3.c:62424:20: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -39973,7 +39983,7 @@ func Xsqlite3WalOpen(tls *libc.TLS, pVfs uintptr, pDbFd uintptr, zWalName uintpt } // Change the size to which the WAL file is trucated on each reset. -func Xsqlite3WalLimit(tls *libc.TLS, pWal uintptr, iLimit I64) { /* sqlite3.c:62517:21: */ +func Xsqlite3WalLimit(tls *libc.TLS, pWal uintptr, iLimit I64) { /* sqlite3.c:62527:21: */ if pWal != 0 { (*Wal)(unsafe.Pointer(pWal)).FmxWalSize = iLimit } @@ -39987,7 +39997,7 @@ func Xsqlite3WalLimit(tls *libc.TLS, pWal uintptr, iLimit I64) { /* sqlite3.c:62 // // Return 0 on success. If there are no pages in the WAL with a page // number larger than *piPage, then return 1. -func walIteratorNext(tls *libc.TLS, p uintptr, piPage uintptr, piFrame uintptr) int32 { /* sqlite3.c:62531:12: */ +func walIteratorNext(tls *libc.TLS, p uintptr, piPage uintptr, piFrame uintptr) int32 { /* sqlite3.c:62541:12: */ var iMin U32 // Result pgno must be greater than iMin var iRet U32 = 0xFFFFFFFF // 0xffffffff is never a valid page number var i int32 // For looping through segments @@ -40034,7 +40044,7 @@ func walIteratorNext(tls *libc.TLS, p uintptr, piPage uintptr, piFrame uintptr) // aLeft[X]!=aRight[Y] && aContent[aLeft[X]] == aContent[aRight[Y]] // // When that happens, omit the aLeft[X] and use the aRight[Y] index. -func walMerge(tls *libc.TLS, aContent uintptr, aLeft uintptr, nLeft int32, paRight uintptr, pnRight uintptr, aTmp uintptr) { /* sqlite3.c:62584:13: */ +func walMerge(tls *libc.TLS, aContent uintptr, aLeft uintptr, nLeft int32, paRight uintptr, pnRight uintptr, aTmp uintptr) { /* sqlite3.c:62594:13: */ var iLeft int32 = 0 // Current index in aLeft var iRight int32 = 0 // Current index in aRight var iOut int32 = 0 // Current index in output buffer @@ -40080,7 +40090,7 @@ func walMerge(tls *libc.TLS, aContent uintptr, aLeft uintptr, nLeft int32, paRig // // Keep the larger of the two values aList[X] and aList[Y] and discard // the smaller. -func walMergesort(tls *libc.TLS, aContent uintptr, aBuffer uintptr, aList uintptr, pnList uintptr) { /* sqlite3.c:62641:13: */ +func walMergesort(tls *libc.TLS, aContent uintptr, aBuffer uintptr, aList uintptr, pnList uintptr) { /* sqlite3.c:62651:13: */ bp := tls.Alloc(220) defer tls.Free(220) @@ -40126,10 +40136,10 @@ type Sublist = struct { FnList int32 F__ccgo_pad1 [4]byte FaList uintptr -} /* sqlite3.c:62647:3 */ +} /* sqlite3.c:62657:3 */ // Free an iterator allocated by walIteratorInit(). -func walIteratorFree(tls *libc.TLS, p uintptr) { /* sqlite3.c:62704:13: */ +func walIteratorFree(tls *libc.TLS, p uintptr) { /* sqlite3.c:62714:13: */ Xsqlite3_free(tls, p) } @@ -40144,7 +40154,7 @@ func walIteratorFree(tls *libc.TLS, p uintptr) { /* sqlite3.c:62704:13: */ // // The calling routine should invoke walIteratorFree() to destroy the // WalIterator object when it has finished with it. -func walIteratorInit(tls *libc.TLS, pWal uintptr, nBackfill U32, pp uintptr) int32 { /* sqlite3.c:62721:12: */ +func walIteratorInit(tls *libc.TLS, pWal uintptr, nBackfill U32, pp uintptr) int32 { /* sqlite3.c:62731:12: */ bp := tls.Alloc(28) defer tls.Free(28) @@ -40228,7 +40238,7 @@ func walIteratorInit(tls *libc.TLS, pWal uintptr, nBackfill U32, pp uintptr) int // n. If the attempt fails and parameter xBusy is not NULL, then it is a // 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) int32 { /* sqlite3.c:62884:12: */ +func walBusyLock(tls *libc.TLS, pWal uintptr, xBusy uintptr, pBusyArg uintptr, lockIdx int32, n int32) int32 { /* sqlite3.c:62894:12: */ var rc int32 for __ccgo := true; __ccgo; __ccgo = xBusy != 0 && rc == SQLITE_BUSY && (*struct { f func(*libc.TLS, uintptr) int32 @@ -40240,7 +40250,7 @@ func walBusyLock(tls *libc.TLS, pWal uintptr, xBusy uintptr, pBusyArg uintptr, l // The cache of the wal-index header must be valid to call this function. // Return the page-size in bytes used by the database. -func walPagesize(tls *libc.TLS, pWal uintptr) int32 { /* sqlite3.c:62908:12: */ +func walPagesize(tls *libc.TLS, pWal uintptr) int32 { /* sqlite3.c:62918:12: */ return int32((*Wal)(unsafe.Pointer(pWal)).Fhdr.FszPage)&0xfe00 + int32((*Wal)(unsafe.Pointer(pWal)).Fhdr.FszPage)&0x0001<<16 } @@ -40259,7 +40269,7 @@ func walPagesize(tls *libc.TLS, pWal uintptr) int32 { /* sqlite3.c:62908:12: */ // The value of parameter salt1 is used as the aSalt[1] value in the // new wal-index header. It should be passed a pseudo-random value (i.e. // one obtained from sqlite3_randomness()). -func walRestartHdr(tls *libc.TLS, pWal uintptr, salt1 U32) { /* sqlite3.c:62929:13: */ +func walRestartHdr(tls *libc.TLS, pWal uintptr, salt1 U32) { /* sqlite3.c:62939:13: */ bp := tls.Alloc(4) defer tls.Free(4) *(*U32)(unsafe.Pointer(bp)) = salt1 @@ -40310,7 +40320,7 @@ func walRestartHdr(tls *libc.TLS, pWal uintptr, salt1 U32) { /* sqlite3.c:62929: // The caller must be holding sufficient locks to ensure that no other // 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) int32 { /* sqlite3.c:62976:12: */ +func walCheckpoint(tls *libc.TLS, pWal uintptr, db uintptr, eMode int32, xBusy uintptr, pBusyArg uintptr, sync_flags int32, zBuf uintptr) int32 { /* sqlite3.c:62986:12: */ bp := tls.Alloc(36) defer tls.Free(36) @@ -40441,7 +40451,7 @@ __10: // 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 = Xsqlite3CorruptError(tls, 63060) + rc = Xsqlite3CorruptError(tls, 63070) goto __15 __14: Xsqlite3OsFileControlHint(tls, (*Wal)(unsafe.Pointer(pWal)).FpDbFd, SQLITE_FCNTL_SIZE_HINT, bp+16) @@ -40602,7 +40612,7 @@ walcheckpoint_out: // If the WAL file is currently larger than nMax bytes in size, truncate // it to exactly nMax bytes. If an error occurs while doing so, ignore it. -func walLimitSize(tls *libc.TLS, pWal uintptr, nMax I64) { /* sqlite3.c:63162:13: */ +func walLimitSize(tls *libc.TLS, pWal uintptr, nMax I64) { /* sqlite3.c:63172:13: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -40621,7 +40631,7 @@ func walLimitSize(tls *libc.TLS, pWal uintptr, nMax I64) { /* sqlite3.c:63162:13 } // Close a connection to a log file. -func Xsqlite3WalClose(tls *libc.TLS, pWal uintptr, db uintptr, sync_flags int32, nBuf int32, zBuf uintptr) int32 { /* sqlite3.c:63179:20: */ +func Xsqlite3WalClose(tls *libc.TLS, pWal uintptr, db uintptr, sync_flags int32, nBuf int32, zBuf uintptr) int32 { /* sqlite3.c:63189:20: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -40693,7 +40703,7 @@ func Xsqlite3WalClose(tls *libc.TLS, pWal uintptr, db uintptr, sync_flags int32, // // If the checksum cannot be verified return non-zero. If the header // is read successfully and the checksum verified, return zero. -func walIndexTryHdr(tls *libc.TLS, pWal uintptr, pChanged uintptr) int32 { /* sqlite3.c:63260:27: */ +func walIndexTryHdr(tls *libc.TLS, pWal uintptr, pChanged uintptr) int32 { /* sqlite3.c:63270:27: */ bp := tls.Alloc(104) defer tls.Free(104) @@ -40762,7 +40772,7 @@ func walIndexTryHdr(tls *libc.TLS, pWal uintptr, pChanged uintptr) int32 { /* sq // // If the wal-index header is successfully read, return SQLITE_OK. // Otherwise an SQLite error code. -func walIndexReadHdr(tls *libc.TLS, pWal uintptr, pChanged uintptr) int32 { /* sqlite3.c:63330:12: */ +func walIndexReadHdr(tls *libc.TLS, pWal uintptr, pChanged uintptr) int32 { /* sqlite3.c:63340:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -40842,7 +40852,7 @@ func walIndexReadHdr(tls *libc.TLS, pWal uintptr, pChanged uintptr) int32 { /* s // sure the wal-index was not constructed with some future format that // this version of SQLite cannot understand. if badHdr == 0 && (*Wal)(unsafe.Pointer(pWal)).Fhdr.FiVersion != U32(WALINDEX_MAX_VERSION) { - rc = Xsqlite3CantopenError(tls, 63409) + rc = Xsqlite3CantopenError(tls, 63419) } if (*Wal)(unsafe.Pointer(pWal)).FbShmUnreliable != 0 { if rc != SQLITE_OK { @@ -40887,7 +40897,7 @@ func walIndexReadHdr(tls *libc.TLS, pWal uintptr, pChanged uintptr) int32 { /* s // beginning (including attempting to map the *-shm file). // // If an error occurs, an SQLite error code is returned. -func walBeginShmUnreliable(tls *libc.TLS, pWal uintptr, pChanged uintptr) int32 { /* sqlite3.c:63454:12: */ +func walBeginShmUnreliable(tls *libc.TLS, pWal uintptr, pChanged uintptr) int32 { /* sqlite3.c:63464:12: */ bp := tls.Alloc(64) defer tls.Free(64) @@ -41153,7 +41163,7 @@ __15: // update values of the aReadMark[] array in the header, but if it does // so it takes care to hold an exclusive lock on the corresponding // WAL_READ_LOCK() while changing values. -func walTryBeginRead(tls *libc.TLS, pWal uintptr, pChanged uintptr, useWal int32, cnt int32) int32 { /* sqlite3.c:63651:12: */ +func walTryBeginRead(tls *libc.TLS, pWal uintptr, pChanged uintptr, useWal int32, cnt int32) int32 { /* sqlite3.c:63661:12: */ var pInfo uintptr // Checkpoint information in wal-index var mxReadMark U32 // Largest aReadMark[] value var mxI int32 // Index of largest aReadMark[] value @@ -41370,7 +41380,7 @@ func walTryBeginRead(tls *libc.TLS, pWal uintptr, pChanged uintptr, useWal int32 // SQLITE_OK is returned if successful, or an SQLite error code if an // error occurs. It is not an error if nBackfillAttempted cannot be // decreased at all. -func Xsqlite3WalSnapshotRecover(tls *libc.TLS, pWal uintptr) int32 { /* sqlite3.c:63881:20: */ +func Xsqlite3WalSnapshotRecover(tls *libc.TLS, pWal uintptr) int32 { /* sqlite3.c:63891:20: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -41444,7 +41454,7 @@ func Xsqlite3WalSnapshotRecover(tls *libc.TLS, pWal uintptr) int32 { /* sqlite3. // transaction, then *pChanged is set to 1 before returning. The // Pager layer will use this to know that its cache is stale and // needs to be flushed. -func Xsqlite3WalBeginReadTransaction(tls *libc.TLS, pWal uintptr, pChanged uintptr) int32 { /* sqlite3.c:63952:20: */ +func Xsqlite3WalBeginReadTransaction(tls *libc.TLS, pWal uintptr, pChanged uintptr) int32 { /* sqlite3.c:63962:20: */ var rc int32 // Return code var cnt int32 = 0 // Number of TryBeginRead attempts var bChanged int32 = 0 @@ -41532,7 +41542,7 @@ func Xsqlite3WalBeginReadTransaction(tls *libc.TLS, pWal uintptr, pChanged uintp // Finish with a read transaction. All this does is release the // read-lock. -func Xsqlite3WalEndReadTransaction(tls *libc.TLS, pWal uintptr) { /* sqlite3.c:64060:21: */ +func Xsqlite3WalEndReadTransaction(tls *libc.TLS, pWal uintptr) { /* sqlite3.c:64070:21: */ Xsqlite3WalEndWriteTransaction(tls, pWal) if int32((*Wal)(unsafe.Pointer(pWal)).FreadLock) >= 0 { walUnlockShared(tls, pWal, 3+int32((*Wal)(unsafe.Pointer(pWal)).FreadLock)) @@ -41546,7 +41556,7 @@ func Xsqlite3WalEndReadTransaction(tls *libc.TLS, pWal uintptr) { /* sqlite3.c:6 // // Return SQLITE_OK if successful, or an error code if an error occurs. If an // error does occur, the final value of *piRead is undefined. -func Xsqlite3WalFindFrame(tls *libc.TLS, pWal uintptr, pgno Pgno, piRead uintptr) int32 { /* sqlite3.c:64076:20: */ +func Xsqlite3WalFindFrame(tls *libc.TLS, pWal uintptr, pgno Pgno, piRead uintptr) int32 { /* sqlite3.c:64086:20: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -41613,7 +41623,7 @@ func Xsqlite3WalFindFrame(tls *libc.TLS, pWal uintptr, pgno Pgno, piRead uintptr iRead = iFrame } if libc.PostDecInt32(&nCollide, 1) == 0 { - return Xsqlite3CorruptError(tls, 64146) + return Xsqlite3CorruptError(tls, 64156) } iKey = walNextHash(tls, iKey) } @@ -41629,7 +41639,7 @@ func Xsqlite3WalFindFrame(tls *libc.TLS, pWal uintptr, pgno Pgno, piRead uintptr // Read the contents of frame iRead from the wal file into buffer pOut // (which is nOut bytes in size). Return SQLITE_OK if successful, or an // error code otherwise. -func Xsqlite3WalReadFrame(tls *libc.TLS, pWal uintptr, iRead U32, nOut int32, pOut uintptr) int32 { /* sqlite3.c:64180:20: */ +func Xsqlite3WalReadFrame(tls *libc.TLS, pWal uintptr, iRead U32, nOut int32, pOut uintptr) int32 { /* sqlite3.c:64190:20: */ var sz int32 var iOffset I64 sz = int32((*Wal)(unsafe.Pointer(pWal)).Fhdr.FszPage) @@ -41646,7 +41656,7 @@ func Xsqlite3WalReadFrame(tls *libc.TLS, pWal uintptr, iRead U32, nOut int32, pO } // Return the size of the database in pages (or zero, if unknown). -func Xsqlite3WalDbsize(tls *libc.TLS, pWal uintptr) Pgno { /* sqlite3.c:64200:21: */ +func Xsqlite3WalDbsize(tls *libc.TLS, pWal uintptr) Pgno { /* sqlite3.c:64210:21: */ if pWal != 0 && int32((*Wal)(unsafe.Pointer(pWal)).FreadLock) >= 0 { return (*Wal)(unsafe.Pointer(pWal)).Fhdr.FnPage } @@ -41664,7 +41674,7 @@ func Xsqlite3WalDbsize(tls *libc.TLS, pWal uintptr) Pgno { /* sqlite3.c:64200:21 // returns SQLITE_BUSY in that case and no write transaction is started. // // There can only be a single writer active at a time. -func Xsqlite3WalBeginWriteTransaction(tls *libc.TLS, pWal uintptr) int32 { /* sqlite3.c:64221:20: */ +func Xsqlite3WalBeginWriteTransaction(tls *libc.TLS, pWal uintptr) int32 { /* sqlite3.c:64231:20: */ var rc int32 // Cannot start a write transaction without first holding a read @@ -41696,7 +41706,7 @@ func Xsqlite3WalBeginWriteTransaction(tls *libc.TLS, pWal uintptr) int32 { /* sq // End a write transaction. The commit has already been done. This // routine merely releases the lock. -func Xsqlite3WalEndWriteTransaction(tls *libc.TLS, pWal uintptr) int32 { /* sqlite3.c:64269:20: */ +func Xsqlite3WalEndWriteTransaction(tls *libc.TLS, pWal uintptr) int32 { /* sqlite3.c:64279:20: */ if (*Wal)(unsafe.Pointer(pWal)).FwriteLock != 0 { walUnlockExclusive(tls, pWal, WAL_WRITE_LOCK, 1) (*Wal)(unsafe.Pointer(pWal)).FwriteLock = U8(0) @@ -41716,7 +41726,7 @@ func Xsqlite3WalEndWriteTransaction(tls *libc.TLS, pWal uintptr) int32 { /* sqli // // Otherwise, if the callback function does not return an error, this // function returns SQLITE_OK. -func Xsqlite3WalUndo(tls *libc.TLS, pWal uintptr, xUndo uintptr, pUndoCtx uintptr) int32 { /* sqlite3.c:64291:20: */ +func Xsqlite3WalUndo(tls *libc.TLS, pWal uintptr, xUndo uintptr, pUndoCtx uintptr) int32 { /* sqlite3.c:64301:20: */ var rc int32 = SQLITE_OK if (*Wal)(unsafe.Pointer(pWal)).FwriteLock != 0 { var iMax Pgno = (*Wal)(unsafe.Pointer(pWal)).Fhdr.FmxFrame @@ -41753,7 +41763,7 @@ func Xsqlite3WalUndo(tls *libc.TLS, pWal uintptr, xUndo uintptr, pUndoCtx uintpt // values. This function populates the array with values required to // "rollback" the write position of the WAL handle back to the current // point in the event of a savepoint rollback (via WalSavepointUndo()). -func Xsqlite3WalSavepoint(tls *libc.TLS, pWal uintptr, aWalData uintptr) { /* sqlite3.c:64331:21: */ +func Xsqlite3WalSavepoint(tls *libc.TLS, pWal uintptr, aWalData uintptr) { /* sqlite3.c:64341:21: */ *(*U32)(unsafe.Pointer(aWalData)) = (*Wal)(unsafe.Pointer(pWal)).Fhdr.FmxFrame *(*U32)(unsafe.Pointer(aWalData + 1*4)) = *(*U32)(unsafe.Pointer(pWal + 72 + 24)) @@ -41765,7 +41775,7 @@ func Xsqlite3WalSavepoint(tls *libc.TLS, pWal uintptr, aWalData uintptr) { /* sq // the values in the aWalData[] array. aWalData must point to an array // of WAL_SAVEPOINT_NDATA u32 values that has been previously populated // by a call to WalSavepoint(). -func Xsqlite3WalSavepointUndo(tls *libc.TLS, pWal uintptr, aWalData uintptr) int32 { /* sqlite3.c:64345:20: */ +func Xsqlite3WalSavepointUndo(tls *libc.TLS, pWal uintptr, aWalData uintptr) int32 { /* sqlite3.c:64355:20: */ var rc int32 = SQLITE_OK if *(*U32)(unsafe.Pointer(aWalData + 3*4)) != (*Wal)(unsafe.Pointer(pWal)).FnCkpt { @@ -41796,7 +41806,7 @@ func Xsqlite3WalSavepointUndo(tls *libc.TLS, pWal uintptr, aWalData uintptr) int // SQLITE_OK is returned if no error is encountered (regardless of whether // or not pWal->hdr.mxFrame is modified). An SQLite error code is returned // if an error occurs. -func walRestartLog(tls *libc.TLS, pWal uintptr) int32 { /* sqlite3.c:64382:12: */ +func walRestartLog(tls *libc.TLS, pWal uintptr) int32 { /* sqlite3.c:64392:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -41850,12 +41860,12 @@ type WalWriter1 = struct { FiSyncPoint Sqlite3_int64 FsyncFlags int32 FszPage int32 -} /* sqlite3.c:64429:9 */ +} /* sqlite3.c:64439:9 */ // Information about the current state of the WAL file and where // the next fsync should occur - passed from sqlite3WalFrames() into // walWriteToLog(). -type WalWriter = WalWriter1 /* sqlite3.c:64435:3 */ +type WalWriter = WalWriter1 /* sqlite3.c:64445:3 */ // Write iAmt bytes of content into the WAL file beginning at iOffset. // Do a sync when crossing the p->iSyncPoint boundary. @@ -41863,7 +41873,7 @@ type WalWriter = WalWriter1 /* sqlite3.c:64435:3 */ // In other words, if iSyncPoint is in between iOffset and iOffset+iAmt, // first write the part before iSyncPoint, then sync, then write the // rest. -func walWriteToLog(tls *libc.TLS, p uintptr, pContent uintptr, iAmt int32, iOffset Sqlite3_int64) int32 { /* sqlite3.c:64445:12: */ +func walWriteToLog(tls *libc.TLS, p uintptr, pContent uintptr, iAmt int32, iOffset Sqlite3_int64) int32 { /* sqlite3.c:64455:12: */ var rc int32 if iOffset < (*WalWriter)(unsafe.Pointer(p)).FiSyncPoint && iOffset+Sqlite3_int64(iAmt) >= (*WalWriter)(unsafe.Pointer(p)).FiSyncPoint { var iFirstAmt int32 = int32((*WalWriter)(unsafe.Pointer(p)).FiSyncPoint - iOffset) @@ -41885,7 +41895,7 @@ func walWriteToLog(tls *libc.TLS, p uintptr, pContent uintptr, iAmt int32, iOffs } // Write out a single frame of the WAL -func walWriteOneFrame(tls *libc.TLS, p uintptr, pPage uintptr, nTruncate int32, iOffset Sqlite3_int64) int32 { /* sqlite3.c:64470:12: */ +func walWriteOneFrame(tls *libc.TLS, p uintptr, pPage uintptr, nTruncate int32, iOffset Sqlite3_int64) int32 { /* sqlite3.c:64480:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -41910,7 +41920,7 @@ func walWriteOneFrame(tls *libc.TLS, p uintptr, pPage uintptr, nTruncate int32, // with the earliest to have been overwritten. // // SQLITE_OK is returned if successful, or an SQLite error code otherwise. -func walRewriteChecksums(tls *libc.TLS, pWal uintptr, iLast U32) int32 { /* sqlite3.c:64496:12: */ +func walRewriteChecksums(tls *libc.TLS, pWal uintptr, iLast U32) int32 { /* sqlite3.c:64506:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -41964,7 +41974,7 @@ func walRewriteChecksums(tls *libc.TLS, pWal uintptr, iLast U32) int32 { /* sqli // Write a set of frames to the log. The caller must hold the write-lock // on the log file (obtained using sqlite3WalBeginWriteTransaction()). -func Xsqlite3WalFrames(tls *libc.TLS, pWal uintptr, szPage int32, pList uintptr, nTruncate Pgno, isCommit int32, sync_flags int32) int32 { /* sqlite3.c:64545:20: */ +func Xsqlite3WalFrames(tls *libc.TLS, pWal uintptr, szPage int32, pList uintptr, nTruncate Pgno, isCommit int32, sync_flags int32) int32 { /* sqlite3.c:64555:20: */ bp := tls.Alloc(80) defer tls.Free(80) @@ -42197,7 +42207,7 @@ func Xsqlite3WalFrames(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 Xsqlite3WalCheckpoint(tls *libc.TLS, pWal uintptr, db uintptr, eMode int32, xBusy uintptr, pBusyArg uintptr, sync_flags int32, nBuf int32, zBuf uintptr, pnLog uintptr, pnCkpt uintptr) int32 { /* sqlite3.c:64783:20: */ +func Xsqlite3WalCheckpoint(tls *libc.TLS, pWal uintptr, db uintptr, eMode int32, xBusy uintptr, pBusyArg uintptr, sync_flags int32, nBuf int32, zBuf uintptr, pnLog uintptr, pnCkpt uintptr) int32 { /* sqlite3.c:64793:20: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -42262,7 +42272,7 @@ func Xsqlite3WalCheckpoint(tls *libc.TLS, pWal uintptr, db uintptr, eMode int32, if rc == SQLITE_OK { if (*Wal)(unsafe.Pointer(pWal)).Fhdr.FmxFrame != 0 && walPagesize(tls, pWal) != nBuf { - rc = Xsqlite3CorruptError(tls, 64865) + rc = Xsqlite3CorruptError(tls, 64875) } else { rc = walCheckpoint(tls, pWal, db, eMode2, xBusy2, pBusyArg, sync_flags, zBuf) } @@ -42306,7 +42316,7 @@ func Xsqlite3WalCheckpoint(tls *libc.TLS, pWal uintptr, db uintptr, eMode int32, // number of frames in the WAL at the point of the last commit since // sqlite3WalCallback() was called. If no commits have occurred since // the last call, then return 0. -func Xsqlite3WalCallback(tls *libc.TLS, pWal uintptr) int32 { /* sqlite3.c:64908:20: */ +func Xsqlite3WalCallback(tls *libc.TLS, pWal uintptr) int32 { /* sqlite3.c:64918:20: */ var ret U32 = U32(0) if pWal != 0 { ret = (*Wal)(unsafe.Pointer(pWal)).FiCallback @@ -42337,7 +42347,7 @@ func Xsqlite3WalCallback(tls *libc.TLS, pWal uintptr) int32 { /* sqlite3.c:64908 // not actually change anything. The pager uses this to see if it // should acquire the database exclusive lock prior to invoking // the op==1 case. -func Xsqlite3WalExclusiveMode(tls *libc.TLS, pWal uintptr, op int32) int32 { /* sqlite3.c:64941:20: */ +func Xsqlite3WalExclusiveMode(tls *libc.TLS, pWal uintptr, op int32) int32 { /* sqlite3.c:64951:20: */ var rc int32 // pWal->readLock is usually set, but might be -1 if there was a @@ -42371,14 +42381,14 @@ func Xsqlite3WalExclusiveMode(tls *libc.TLS, pWal uintptr, op int32) int32 { /* // Return true if the argument is non-NULL and the WAL module is using // heap-memory for the wal-index. Otherwise, if the argument is NULL or the // WAL module is using shared-memory, return false. -func Xsqlite3WalHeapMemory(tls *libc.TLS, pWal uintptr) int32 { /* sqlite3.c:64983:20: */ +func Xsqlite3WalHeapMemory(tls *libc.TLS, pWal uintptr) int32 { /* sqlite3.c:64993:20: */ return libc.Bool32(pWal != 0 && int32((*Wal)(unsafe.Pointer(pWal)).FexclusiveMode) == WAL_HEAPMEMORY_MODE) } // Create a snapshot object. The content of a snapshot is opaque to // every other subsystem, so the WAL module can put whatever it needs // in the object. -func Xsqlite3WalSnapshotGet(tls *libc.TLS, pWal uintptr, ppSnapshot uintptr) int32 { /* sqlite3.c:64992:20: */ +func Xsqlite3WalSnapshotGet(tls *libc.TLS, pWal uintptr, ppSnapshot uintptr) int32 { /* sqlite3.c:65002:20: */ var rc int32 = SQLITE_OK var pRet uintptr @@ -42397,16 +42407,16 @@ func Xsqlite3WalSnapshotGet(tls *libc.TLS, pWal uintptr, ppSnapshot uintptr) int return rc } -var aZero = [4]U32{U32(0), U32(0), U32(0), U32(0)} /* sqlite3.c:64995:20 */ +var aZero = [4]U32{U32(0), U32(0), U32(0), U32(0)} /* sqlite3.c:65005:20 */ // Try to open on pSnapshot when the next read-transaction starts -func Xsqlite3WalSnapshotOpen(tls *libc.TLS, pWal uintptr, pSnapshot uintptr) { /* sqlite3.c:65016:21: */ +func Xsqlite3WalSnapshotOpen(tls *libc.TLS, pWal uintptr, pSnapshot uintptr) { /* sqlite3.c:65026:21: */ (*Wal)(unsafe.Pointer(pWal)).FpSnapshot = pSnapshot } // Return a +ve value if snapshot p1 is newer than p2. A -ve value if // p1 is older than p2 and zero if p1 and p2 are the same snapshot. -func Xsqlite3_snapshot_cmp(tls *libc.TLS, p1 uintptr, p2 uintptr) int32 { /* sqlite3.c:65027:16: */ +func Xsqlite3_snapshot_cmp(tls *libc.TLS, p1 uintptr, p2 uintptr) int32 { /* sqlite3.c:65037:16: */ var pHdr1 uintptr = p1 var pHdr2 uintptr = p2 @@ -42436,7 +42446,7 @@ func Xsqlite3_snapshot_cmp(tls *libc.TLS, p1 uintptr, p2 uintptr) int32 { /* sql // the CHECKPOINTER lock cannot be obtained, SQLITE_BUSY. If any error // occurs (any value other than SQLITE_OK is returned), the CHECKPOINTER // lock is released before returning. -func Xsqlite3WalSnapshotCheck(tls *libc.TLS, pWal uintptr, pSnapshot uintptr) int32 { /* sqlite3.c:65051:20: */ +func Xsqlite3WalSnapshotCheck(tls *libc.TLS, pWal uintptr, pSnapshot uintptr) int32 { /* sqlite3.c:65061:20: */ var rc int32 rc = walLockShared(tls, pWal, WAL_CKPT_LOCK) if rc == SQLITE_OK { @@ -42452,13 +42462,13 @@ func Xsqlite3WalSnapshotCheck(tls *libc.TLS, pWal uintptr, pSnapshot uintptr) in // Release a lock obtained by an earlier successful call to // sqlite3WalSnapshotCheck(). -func Xsqlite3WalSnapshotUnlock(tls *libc.TLS, pWal uintptr) { /* sqlite3.c:65070:21: */ +func Xsqlite3WalSnapshotUnlock(tls *libc.TLS, pWal uintptr) { /* sqlite3.c:65080:21: */ walUnlockShared(tls, pWal, WAL_CKPT_LOCK) } // Return the sqlite3_file object for the WAL file -func Xsqlite3WalFile(tls *libc.TLS, pWal uintptr) uintptr { /* sqlite3.c:65092:29: */ +func Xsqlite3WalFile(tls *libc.TLS, pWal uintptr) uintptr { /* sqlite3.c:65102:29: */ return (*Wal)(unsafe.Pointer(pWal)).FpWalFd } @@ -42979,7 +42989,7 @@ type MemPage1 = struct { // small cells will be rare, but they are possible. // Forward declarations -type MemPage = MemPage1 /* sqlite3.c:65350:24 */ +type MemPage = MemPage1 /* sqlite3.c:65360:24 */ type BtLock1 = struct { FpBtree uintptr FiTable Pgno @@ -42988,7 +42998,7 @@ type BtLock1 = struct { FpNext uintptr } /* sqlite3.c:578:9 */ -type BtLock = BtLock1 /* sqlite3.c:65351:23 */ +type BtLock = BtLock1 /* sqlite3.c:65361:23 */ type CellInfo1 = struct { FnKey I64 FpPayload uintptr @@ -42997,7 +43007,7 @@ type CellInfo1 = struct { FnSize U16 } /* sqlite3.c:578:9 */ -type CellInfo = CellInfo1 /* sqlite3.c:65352:25 */ +type CellInfo = CellInfo1 /* sqlite3.c:65362:25 */ // Legal values for BtCursor.curFlags @@ -43107,7 +43117,7 @@ type IntegrityCk1 = struct { FerrMsg StrAccum Fheap uintptr Fdb uintptr -} /* sqlite3.c:65811:9 */ +} /* sqlite3.c:65821:9 */ // Legal values for BtCursor.curFlags @@ -43203,7 +43213,7 @@ type IntegrityCk1 = struct { // the database the corresponding bit is set. This allows integrity-check to // detect pages that are used twice and orphaned pages (both of which // indicate corruption). -type IntegrityCk = IntegrityCk1 /* sqlite3.c:65811:28 */ +type IntegrityCk = IntegrityCk1 /* sqlite3.c:65821:28 */ // Routines to read or write a two- and four-byte big-endian integer values. @@ -43217,7 +43227,7 @@ type IntegrityCk = IntegrityCk1 /* sqlite3.c:65811:28 */ // Obtain the BtShared mutex associated with B-Tree handle p. Also, // set BtShared.db to the database handle associated with p and the // p->locked boolean to true. -func lockBtreeMutex(tls *libc.TLS, p uintptr) { /* sqlite3.c:65861:13: */ +func lockBtreeMutex(tls *libc.TLS, p uintptr) { /* sqlite3.c:65871:13: */ Xsqlite3_mutex_enter(tls, (*BtShared)(unsafe.Pointer((*Btree)(unsafe.Pointer(p)).FpBt)).Fmutex) (*BtShared)(unsafe.Pointer((*Btree)(unsafe.Pointer(p)).FpBt)).Fdb = (*Btree)(unsafe.Pointer(p)).Fdb @@ -43226,7 +43236,7 @@ func lockBtreeMutex(tls *libc.TLS, p uintptr) { /* sqlite3.c:65861:13: */ // Release the BtShared mutex associated with B-Tree handle p and // clear the p->locked boolean. -func unlockBtreeMutex(tls *libc.TLS, p uintptr) { /* sqlite3.c:65875:29: */ +func unlockBtreeMutex(tls *libc.TLS, p uintptr) { /* sqlite3.c:65885:29: */ var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt Xsqlite3_mutex_leave(tls, (*BtShared)(unsafe.Pointer(pBt)).Fmutex) @@ -43247,7 +43257,7 @@ func unlockBtreeMutex(tls *libc.TLS, p uintptr) { /* sqlite3.c:65875:29: */ // p, then first unlock all of the others on p->pNext, then wait // for the lock to become available on p, then relock all of the // subsequent Btrees that desire a lock. -func Xsqlite3BtreeEnter(tls *libc.TLS, p uintptr) { /* sqlite3.c:65905:21: */ +func Xsqlite3BtreeEnter(tls *libc.TLS, p uintptr) { /* sqlite3.c:65915:21: */ // Some basic sanity checking on the Btree. The list of Btrees // connected by pNext and pPrev should be in sorted order by // Btree.pBt value. All elements of the list should belong to @@ -43275,7 +43285,7 @@ func Xsqlite3BtreeEnter(tls *libc.TLS, p uintptr) { /* sqlite3.c:65905:21: */ // into this routine, we avoid unnecessary stack pointer changes // and thus help the sqlite3BtreeLock() routine to run much faster // in the common case. -func btreeLockCarefully(tls *libc.TLS, p uintptr) { /* sqlite3.c:65939:29: */ +func btreeLockCarefully(tls *libc.TLS, p uintptr) { /* sqlite3.c:65949:29: */ var pLater uintptr // In most cases, we should be able to acquire the lock we @@ -43306,7 +43316,7 @@ func btreeLockCarefully(tls *libc.TLS, p uintptr) { /* sqlite3.c:65939:29: */ } // Exit the recursive mutex on a Btree. -func Xsqlite3BtreeLeave(tls *libc.TLS, p uintptr) { /* sqlite3.c:65977:21: */ +func Xsqlite3BtreeLeave(tls *libc.TLS, p uintptr) { /* sqlite3.c:65987:21: */ if (*Btree)(unsafe.Pointer(p)).Fsharable != 0 { @@ -43329,7 +43339,7 @@ func Xsqlite3BtreeLeave(tls *libc.TLS, p uintptr) { /* sqlite3.c:65977:21: */ // to avoid the possibility of deadlock when two threads with // two or more btrees in common both try to lock all their btrees // at the same instant. -func btreeEnterAll(tls *libc.TLS, db uintptr) { /* sqlite3.c:66020:29: */ +func btreeEnterAll(tls *libc.TLS, db uintptr) { /* sqlite3.c:66030:29: */ var i int32 var skipOk int32 = 1 var p uintptr @@ -43344,13 +43354,13 @@ func btreeEnterAll(tls *libc.TLS, db uintptr) { /* sqlite3.c:66020:29: */ (*Sqlite3)(unsafe.Pointer(db)).FnoSharedCache = U8(skipOk) } -func Xsqlite3BtreeEnterAll(tls *libc.TLS, db uintptr) { /* sqlite3.c:66034:21: */ +func Xsqlite3BtreeEnterAll(tls *libc.TLS, db uintptr) { /* sqlite3.c:66044:21: */ if int32((*Sqlite3)(unsafe.Pointer(db)).FnoSharedCache) == 0 { btreeEnterAll(tls, db) } } -func btreeLeaveAll(tls *libc.TLS, db uintptr) { /* sqlite3.c:66037:29: */ +func btreeLeaveAll(tls *libc.TLS, db uintptr) { /* sqlite3.c:66047:29: */ var i int32 var p uintptr @@ -43362,7 +43372,7 @@ func btreeLeaveAll(tls *libc.TLS, db uintptr) { /* sqlite3.c:66037:29: */ } } -func Xsqlite3BtreeLeaveAll(tls *libc.TLS, db uintptr) { /* sqlite3.c:66046:21: */ +func Xsqlite3BtreeLeaveAll(tls *libc.TLS, db uintptr) { /* sqlite3.c:66056:21: */ if int32((*Sqlite3)(unsafe.Pointer(db)).FnoSharedCache) == 0 { btreeLeaveAll(tls, db) } @@ -43373,11 +43383,11 @@ func Xsqlite3BtreeLeaveAll(tls *libc.TLS, db uintptr) { /* sqlite3.c:66046:21: * // These entry points are used by incremental I/O only. Enter() is required // any time OMIT_SHARED_CACHE is not defined, regardless of whether or not // the build is threadsafe. Leave() is only required by threadsafe builds. -func Xsqlite3BtreeEnterCursor(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:66132:21: */ +func Xsqlite3BtreeEnterCursor(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:66142:21: */ Xsqlite3BtreeEnter(tls, (*BtCursor)(unsafe.Pointer(pCur)).FpBtree) } -func Xsqlite3BtreeLeaveCursor(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:66136:21: */ +func Xsqlite3BtreeLeaveCursor(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:66146:21: */ Xsqlite3BtreeLeave(tls, (*BtCursor)(unsafe.Pointer(pCur)).FpBtree) } @@ -43400,7 +43410,7 @@ func Xsqlite3BtreeLeaveCursor(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:66136: // The header string that appears at the beginning of every // SQLite database. -var zMagicHeader = *(*[16]uint8)(unsafe.Pointer(ts + 3975)) /* sqlite3.c:66167:19 */ +var zMagicHeader = *(*[16]uint8)(unsafe.Pointer(ts + 3975)) /* sqlite3.c:66177:19 */ // Set this global variable to 1 to enable tracing using the TRACE // macro. @@ -43426,14 +43436,14 @@ var zMagicHeader = *(*[16]uint8)(unsafe.Pointer(ts + 3975)) /* sqlite3.c:66167:1 // test builds. // // Access to this variable is protected by SQLITE_MUTEX_STATIC_MAIN. -var sqlite3SharedCacheList uintptr = uintptr(0) /* sqlite3.c:66222:17 */ +var sqlite3SharedCacheList uintptr = uintptr(0) /* sqlite3.c:66232:17 */ // Enable or disable the shared pager and schema features. // // This routine has no effect on existing database connections. // The shared cache setting effects only future calls to // sqlite3_open(), sqlite3_open16(), or sqlite3_open_v2(). -func Xsqlite3_enable_shared_cache(tls *libc.TLS, enable int32) int32 { /* sqlite3.c:66234:16: */ +func Xsqlite3_enable_shared_cache(tls *libc.TLS, enable int32) int32 { /* sqlite3.c:66244:16: */ Xsqlite3Config.FsharedCacheEnabled = enable return SQLITE_OK } @@ -43450,7 +43460,7 @@ func Xsqlite3_enable_shared_cache(tls *libc.TLS, enable int32) int32 { /* sqlite // (READ_LOCK or WRITE_LOCK) on the table with root-page iTab. Return // SQLITE_OK if the lock may be obtained (by calling // setSharedCacheTableLock()), or SQLITE_LOCKED if not. -func querySharedCacheTableLock(tls *libc.TLS, p uintptr, iTab Pgno, eLock U8) int32 { /* sqlite3.c:66433:12: */ +func querySharedCacheTableLock(tls *libc.TLS, p uintptr, iTab Pgno, eLock U8) int32 { /* sqlite3.c:66443:12: */ var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt var pIter uintptr @@ -43507,7 +43517,7 @@ func querySharedCacheTableLock(tls *libc.TLS, p uintptr, iTab Pgno, eLock U8) in // // SQLITE_OK is returned if the lock is added successfully. SQLITE_NOMEM // is returned if a malloc attempt fails. -func setSharedCacheTableLock(tls *libc.TLS, p uintptr, iTable Pgno, eLock U8) int32 { /* sqlite3.c:66505:12: */ +func setSharedCacheTableLock(tls *libc.TLS, p uintptr, iTable Pgno, eLock U8) int32 { /* sqlite3.c:66515:12: */ var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt var pLock uintptr = uintptr(0) var pIter uintptr @@ -43558,7 +43568,7 @@ func setSharedCacheTableLock(tls *libc.TLS, p uintptr, iTable Pgno, eLock U8) in // This function assumes that Btree p has an open read or write // transaction. If it does not, then the BTS_PENDING flag // may be incorrectly cleared. -func clearAllSharedCacheTableLocks(tls *libc.TLS, p uintptr) { /* sqlite3.c:66569:13: */ +func clearAllSharedCacheTableLocks(tls *libc.TLS, p uintptr) { /* sqlite3.c:66579:13: */ var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt var ppIter uintptr = pBt + 120 @@ -43593,7 +43603,7 @@ func clearAllSharedCacheTableLocks(tls *libc.TLS, p uintptr) { /* sqlite3.c:6656 } // This function changes all write-locks held by Btree p into read-locks. -func downgradeAllSharedCacheTableLocks(tls *libc.TLS, p uintptr) { /* sqlite3.c:66613:13: */ +func downgradeAllSharedCacheTableLocks(tls *libc.TLS, p uintptr) { /* sqlite3.c:66623:13: */ var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt if (*BtShared)(unsafe.Pointer(pBt)).FpWriter == p { var pLock uintptr @@ -43617,7 +43627,7 @@ func downgradeAllSharedCacheTableLocks(tls *libc.TLS, p uintptr) { /* sqlite3.c: // Invalidate the overflow page-list cache for all cursors opened // on the shared btree structure pBt. -func invalidateAllOverflowCache(tls *libc.TLS, pBt uintptr) { /* sqlite3.c:66666:13: */ +func invalidateAllOverflowCache(tls *libc.TLS, pBt uintptr) { /* sqlite3.c:66676:13: */ var p uintptr for p = (*BtShared)(unsafe.Pointer(pBt)).FpCursor; p != 0; p = (*BtCursor)(unsafe.Pointer(p)).FpNext { @@ -43636,7 +43646,7 @@ func invalidateAllOverflowCache(tls *libc.TLS, pBt uintptr) { /* sqlite3.c:66666 // Otherwise, if argument isClearTable is false, then the row with // rowid iRow is being replaced or deleted. In this case invalidate // only those incrblob cursors open on that specific row. -func invalidateIncrblobCursors(tls *libc.TLS, pBtree uintptr, pgnoRoot Pgno, iRow I64, isClearTable int32) { /* sqlite3.c:66688:13: */ +func invalidateIncrblobCursors(tls *libc.TLS, pBtree uintptr, pgnoRoot Pgno, iRow I64, isClearTable int32) { /* sqlite3.c:66698:13: */ var p uintptr (*Btree)(unsafe.Pointer(pBtree)).FhasIncrblobCur = U8(0) @@ -43683,7 +43693,7 @@ func invalidateIncrblobCursors(tls *libc.TLS, pBtree uintptr, pgnoRoot Pgno, iRo // optimization 2 above is omitted if the corresponding bit is already // set in BtShared.pHasContent. The contents of the bitvec are cleared // at the end of every transaction. -func btreeSetHasContent(tls *libc.TLS, pBt uintptr, pgno Pgno) int32 { /* sqlite3.c:66748:12: */ +func btreeSetHasContent(tls *libc.TLS, pBt uintptr, pgno Pgno) int32 { /* sqlite3.c:66758:12: */ var rc int32 = SQLITE_OK if !(int32((*BtShared)(unsafe.Pointer(pBt)).FpHasContent) != 0) { @@ -43703,20 +43713,20 @@ func btreeSetHasContent(tls *libc.TLS, pBt uintptr, pgno Pgno) int32 { /* sqlite // This function is called when a free-list leaf page is removed from the // free-list for reuse. It returns false if it is safe to retrieve the // page from the pager layer with the 'no-content' flag set. True otherwise. -func btreeGetHasContent(tls *libc.TLS, pBt uintptr, pgno Pgno) int32 { /* sqlite3.c:66770:12: */ +func btreeGetHasContent(tls *libc.TLS, pBt uintptr, pgno Pgno) int32 { /* sqlite3.c:66780:12: */ var p uintptr = (*BtShared)(unsafe.Pointer(pBt)).FpHasContent return libc.Bool32(p != 0 && (pgno > Xsqlite3BitvecSize(tls, p) || Xsqlite3BitvecTestNotNull(tls, p, pgno) != 0)) } // Clear (destroy) the BtShared.pHasContent bitvec. This should be // invoked at the conclusion of each write-transaction. -func btreeClearHasContent(tls *libc.TLS, pBt uintptr) { /* sqlite3.c:66779:13: */ +func btreeClearHasContent(tls *libc.TLS, pBt uintptr) { /* sqlite3.c:66789:13: */ Xsqlite3BitvecDestroy(tls, (*BtShared)(unsafe.Pointer(pBt)).FpHasContent) (*BtShared)(unsafe.Pointer(pBt)).FpHasContent = uintptr(0) } // Release all of the apPage[] pages for a cursor. -func btreeReleaseAllCursorPages(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:66787:13: */ +func btreeReleaseAllCursorPages(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:66797:13: */ var i int32 if int32((*BtCursor)(unsafe.Pointer(pCur)).FiPage) >= 0 { for i = 0; i < int32((*BtCursor)(unsafe.Pointer(pCur)).FiPage); i++ { @@ -43738,7 +43748,7 @@ func btreeReleaseAllCursorPages(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:6678 // NULL. If the cursor is open on a non-intkey table, then pCur->pKey is // set to point to a malloced buffer pCur->nKey bytes in size containing // the key. -func saveCursorKey(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:66811:12: */ +func saveCursorKey(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:66821:12: */ var rc int32 = SQLITE_OK if (*BtCursor)(unsafe.Pointer(pCur)).FcurIntKey != 0 { @@ -43775,7 +43785,7 @@ func saveCursorKey(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:66811:12: * // // The caller must ensure that the cursor is valid (has eState==CURSOR_VALID) // prior to calling this routine. -func saveCursorPosition(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:66853:12: */ +func saveCursorPosition(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:66863:12: */ var rc int32 if int32((*BtCursor)(unsafe.Pointer(pCur)).FcurFlags)&BTCF_Pinned != 0 { @@ -43816,7 +43826,7 @@ func saveCursorPosition(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:66853: // Implementation note: This routine merely checks to see if any cursors // need to be saved. It calls out to saveCursorsOnList() in the (unusual) // event that cursors are in need to being saved. -func saveAllCursors(tls *libc.TLS, pBt uintptr, iRoot Pgno, pExcept uintptr) int32 { /* sqlite3.c:66903:12: */ +func saveAllCursors(tls *libc.TLS, pBt uintptr, iRoot Pgno, pExcept uintptr) int32 { /* sqlite3.c:66913:12: */ var p uintptr for p = (*BtShared)(unsafe.Pointer(pBt)).FpCursor; p != 0; p = (*BtCursor)(unsafe.Pointer(p)).FpNext { @@ -43837,7 +43847,7 @@ func saveAllCursors(tls *libc.TLS, pBt uintptr, iRoot Pgno, pExcept uintptr) int // the cursors if and when a cursor is found that actually requires saving. // The common case is that no cursors need to be saved, so this routine is // broken out from its caller to avoid unnecessary stack pointer movement. -func saveCursorsOnList(tls *libc.TLS, p uintptr, iRoot Pgno, pExcept uintptr) int32 { /* sqlite3.c:66920:28: */ +func saveCursorsOnList(tls *libc.TLS, p uintptr, iRoot Pgno, pExcept uintptr) int32 { /* sqlite3.c:66930:28: */ for __ccgo := true; __ccgo; __ccgo = p != 0 { if p != pExcept && (Pgno(0) == iRoot || (*BtCursor)(unsafe.Pointer(p)).FpgnoRoot == iRoot) { if int32((*BtCursor)(unsafe.Pointer(p)).FeState) == CURSOR_VALID || int32((*BtCursor)(unsafe.Pointer(p)).FeState) == CURSOR_SKIPNEXT { @@ -43856,7 +43866,7 @@ func saveCursorsOnList(tls *libc.TLS, p uintptr, iRoot Pgno, pExcept uintptr) in } // Clear the current cursor position. -func Xsqlite3BtreeClearCursor(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:66945:21: */ +func Xsqlite3BtreeClearCursor(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:66955:21: */ Xsqlite3_free(tls, (*BtCursor)(unsafe.Pointer(pCur)).FpKey) (*BtCursor)(unsafe.Pointer(pCur)).FpKey = uintptr(0) @@ -43866,7 +43876,7 @@ func Xsqlite3BtreeClearCursor(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:66945: // In this version of BtreeMoveto, pKey is a packed index record // such as is generated by the OP_MakeRecord opcode. Unpack the // record and then call BtreeMovetoUnpacked() to do the work. -func btreeMoveto(tls *libc.TLS, pCur uintptr, pKey uintptr, nKey I64, bias int32, pRes uintptr) int32 { /* sqlite3.c:66957:12: */ +func btreeMoveto(tls *libc.TLS, pCur uintptr, pKey uintptr, nKey I64, bias int32, pRes uintptr) int32 { /* sqlite3.c:66967:12: */ var rc int32 // Status code var pIdxKey uintptr // Unpacked index key @@ -43879,7 +43889,7 @@ func btreeMoveto(tls *libc.TLS, pCur uintptr, pKey uintptr, nKey I64, bias int32 } Xsqlite3VdbeRecordUnpack(tls, pKeyInfo, int32(nKey), pKey, pIdxKey) if int32((*UnpackedRecord)(unsafe.Pointer(pIdxKey)).FnField) == 0 || int32((*UnpackedRecord)(unsafe.Pointer(pIdxKey)).FnField) > int32((*KeyInfo)(unsafe.Pointer(pKeyInfo)).FnAllField) { - rc = Xsqlite3CorruptError(tls, 66974) + rc = Xsqlite3CorruptError(tls, 66984) } else { rc = Xsqlite3BtreeIndexMoveto(tls, pCur, pIdxKey, pRes) } @@ -43896,7 +43906,7 @@ func btreeMoveto(tls *libc.TLS, pCur uintptr, pKey uintptr, nKey I64, bias int32 // saved position info stored by saveCursorPosition(), so there can be // at most one effective restoreCursorPosition() call after each // saveCursorPosition(). -func btreeRestoreCursorPosition(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:66993:12: */ +func btreeRestoreCursorPosition(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:67003:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -43936,7 +43946,7 @@ func btreeRestoreCursorPosition(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3. // // Use the separate sqlite3BtreeCursorRestore() routine to restore a cursor // back to where it ought to be if this routine returns true. -func Xsqlite3BtreeCursorHasMoved(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:67036:20: */ +func Xsqlite3BtreeCursorHasMoved(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:67046:20: */ return libc.Bool32(CURSOR_VALID != int32(*(*U8)(unsafe.Pointer(pCur)))) } @@ -43944,12 +43954,12 @@ func Xsqlite3BtreeCursorHasMoved(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3 // Return a pointer to a fake BtCursor object that will always answer // false to the sqlite3BtreeCursorHasMoved() routine above. The fake // cursor returned must not be used with any other Btree interface. -func Xsqlite3BtreeFakeValidCursor(tls *libc.TLS) uintptr { /* sqlite3.c:67049:25: */ +func Xsqlite3BtreeFakeValidCursor(tls *libc.TLS) uintptr { /* sqlite3.c:67059:25: */ return uintptr(unsafe.Pointer(&fakeCursor)) } -var fakeCursor U8 = U8(CURSOR_VALID) /* sqlite3.c:67050:13 */ +var fakeCursor U8 = U8(CURSOR_VALID) /* sqlite3.c:67060:13 */ // This routine restores a cursor back to its original position after it // has been moved by some outside activity (such as a btree rebalance or @@ -43962,7 +43972,7 @@ var fakeCursor U8 = U8(CURSOR_VALID) /* sqlite3.c:67050:13 */ // // This routine should only be called for a cursor that just returned // TRUE from sqlite3BtreeCursorHasMoved(). -func Xsqlite3BtreeCursorRestore(tls *libc.TLS, pCur uintptr, pDifferentRow uintptr) int32 { /* sqlite3.c:67068:20: */ +func Xsqlite3BtreeCursorRestore(tls *libc.TLS, pCur uintptr, pDifferentRow uintptr) int32 { /* sqlite3.c:67078:20: */ var rc int32 rc = func() int32 { @@ -43984,7 +43994,7 @@ func Xsqlite3BtreeCursorRestore(tls *libc.TLS, pCur uintptr, pDifferentRow uintp } // Provide flag hints to the cursor. -func Xsqlite3BtreeCursorHintFlags(tls *libc.TLS, pCur uintptr, x uint32) { /* sqlite3.c:67100:21: */ +func Xsqlite3BtreeCursorHintFlags(tls *libc.TLS, pCur uintptr, x uint32) { /* sqlite3.c:67110:21: */ (*BtCursor)(unsafe.Pointer(pCur)).Fhints = U8(x) } @@ -43996,7 +44006,7 @@ func Xsqlite3BtreeCursorHintFlags(tls *libc.TLS, pCur uintptr, x uint32) { /* sq // Return 0 (not a valid page) for pgno==1 since there is // no pointer map associated with page 1. The integrity_check logic // requires that ptrmapPageno(*,1)!=1. -func ptrmapPageno(tls *libc.TLS, pBt uintptr, pgno Pgno) Pgno { /* sqlite3.c:67116:13: */ +func ptrmapPageno(tls *libc.TLS, pBt uintptr, pgno Pgno) Pgno { /* sqlite3.c:67126:13: */ var nPagesPerMapPage int32 var iPtrMap Pgno var ret Pgno @@ -44021,7 +44031,7 @@ func ptrmapPageno(tls *libc.TLS, pBt uintptr, pgno Pgno) Pgno { /* sqlite3.c:671 // If *pRC is initially non-zero (non-SQLITE_OK) then this routine is // a no-op. If an error occurs, the appropriate error code is written // into *pRC. -func ptrmapPut(tls *libc.TLS, pBt uintptr, key Pgno, eType U8, parent Pgno, pRC uintptr) { /* sqlite3.c:67140:13: */ +func ptrmapPut(tls *libc.TLS, pBt uintptr, key Pgno, eType U8, parent Pgno, pRC uintptr) { /* sqlite3.c:67150:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -44044,7 +44054,7 @@ __1: if !(key == Pgno(0)) { goto __2 } - *(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 67155) + *(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 67165) return __2: ; @@ -44063,7 +44073,7 @@ __3: // 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)) = Xsqlite3CorruptError(tls, 67168) + *(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 67178) goto ptrmap_exit __4: ; @@ -44071,7 +44081,7 @@ __4: if !(offset < 0) { goto __5 } - *(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 67173) + *(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 67183) goto ptrmap_exit __5: ; @@ -44102,7 +44112,7 @@ ptrmap_exit: // This routine retrieves the pointer map entry for page 'key', writing // the type and parent page number to *pEType and *pPgno respectively. // An error code is returned if something goes wrong, otherwise SQLITE_OK. -func ptrmapGet(tls *libc.TLS, pBt uintptr, key Pgno, pEType uintptr, pPgno uintptr) int32 { /* sqlite3.c:67199:12: */ +func ptrmapGet(tls *libc.TLS, pBt uintptr, key Pgno, pEType uintptr, pPgno uintptr) int32 { /* sqlite3.c:67209:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -44123,7 +44133,7 @@ func ptrmapGet(tls *libc.TLS, pBt uintptr, key Pgno, pEType uintptr, pPgno uintp offset = int32(Pgno(5) * (key - Pgno(iPtrmap) - Pgno(1))) if offset < 0 { Xsqlite3PagerUnref(tls, *(*uintptr)(unsafe.Pointer(bp /* pDbPage */))) - return Xsqlite3CorruptError(tls, 67218) + return Xsqlite3CorruptError(tls, 67228) } *(*U8)(unsafe.Pointer(pEType)) = *(*U8)(unsafe.Pointer(pPtrmap + uintptr(offset))) @@ -44133,7 +44143,7 @@ func ptrmapGet(tls *libc.TLS, pBt uintptr, key Pgno, pEType uintptr, pPgno uintp Xsqlite3PagerUnref(tls, *(*uintptr)(unsafe.Pointer(bp /* pDbPage */))) if int32(*(*U8)(unsafe.Pointer(pEType))) < 1 || int32(*(*U8)(unsafe.Pointer(pEType))) > 5 { - return Xsqlite3CorruptError(tls, 67226) + return Xsqlite3CorruptError(tls, 67236) } return SQLITE_OK } @@ -44151,7 +44161,7 @@ func ptrmapGet(tls *libc.TLS, pBt uintptr, key Pgno, pEType uintptr, pPgno uintp // btreeParseCellPtrIndex() for the case when the cell does not fit entirely // on a single B-tree page. Make necessary adjustments to the CellInfo // structure. -func btreeParseCellAdjustSizeForOverflow(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintptr) { /* sqlite3.c:67258:29: */ +func btreeParseCellAdjustSizeForOverflow(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintptr) { /* sqlite3.c:67268:29: */ // If the payload will not fit completely on the local page, we have // to decide how much to store locally and how much to spill onto // overflow pages. The strategy is to minimize the amount of unused @@ -44178,7 +44188,7 @@ func btreeParseCellAdjustSizeForOverflow(tls *libc.TLS, pPage uintptr, pCell uin // Given a record with nPayload bytes of payload stored within btree // page pPage, return the number of bytes of payload stored locally. -func btreePayloadToLocal(tls *libc.TLS, pPage uintptr, nPayload I64) int32 { /* sqlite3.c:67293:12: */ +func btreePayloadToLocal(tls *libc.TLS, pPage uintptr, nPayload I64) int32 { /* sqlite3.c:67303:12: */ var maxLocal int32 // Maximum amount of payload held locally maxLocal = int32((*MemPage)(unsafe.Pointer(pPage)).FmaxLocal) if nPayload <= I64(maxLocal) { @@ -44208,7 +44218,7 @@ func btreePayloadToLocal(tls *libc.TLS, pPage uintptr, nPayload I64) int32 { /* // There is also a wrapper function btreeParseCell() that works for // all MemPage types and that references the cell by index rather than // by pointer. -func btreeParseCellPtrNoPayload(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintptr) { /* sqlite3.c:67321:13: */ +func btreeParseCellPtrNoPayload(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintptr) { /* sqlite3.c:67331:13: */ _ = pPage (*CellInfo)(unsafe.Pointer(pInfo)).FnSize = U16(4 + int32(Xsqlite3GetVarint(tls, pCell+4, pInfo))) @@ -44218,7 +44228,7 @@ func btreeParseCellPtrNoPayload(tls *libc.TLS, pPage uintptr, pCell uintptr, pIn return } -func btreeParseCellPtr(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintptr) { /* sqlite3.c:67338:13: */ +func btreeParseCellPtr(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintptr) { /* sqlite3.c:67348:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -44295,7 +44305,7 @@ func btreeParseCellPtr(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintpt } } -func btreeParseCellPtrIndex(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintptr) { /* sqlite3.c:67420:13: */ +func btreeParseCellPtrIndex(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintptr) { /* sqlite3.c:67430:13: */ var pIter uintptr // For scanning through pCell var nPayload U32 // Number of bytes of cell payload @@ -44326,7 +44336,7 @@ func btreeParseCellPtrIndex(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo u } } -func btreeParseCell(tls *libc.TLS, pPage uintptr, iCell int32, pInfo uintptr) { /* sqlite3.c:67457:13: */ +func btreeParseCell(tls *libc.TLS, pPage uintptr, iCell int32, pInfo uintptr) { /* sqlite3.c:67467:13: */ (*struct { f func(*libc.TLS, uintptr, uintptr, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*MemPage)(unsafe.Pointer(pPage)).FxParseCell})).f(tls, pPage, (*MemPage)(unsafe.Pointer(pPage)).FaData+uintptr(int32((*MemPage)(unsafe.Pointer(pPage)).FmaskPage)&(int32(*(*U8)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPage)).FaCellIdx + uintptr(2*iCell))))<<8|int32(*(*U8)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPage)).FaCellIdx + uintptr(2*iCell) + 1))))), pInfo) @@ -44342,7 +44352,7 @@ func btreeParseCell(tls *libc.TLS, pPage uintptr, iCell int32, pInfo uintptr) { // // cellSizePtrNoPayload() => table internal nodes // cellSizePtr() => all index nodes & table leaf nodes -func cellSizePtr(tls *libc.TLS, pPage uintptr, pCell uintptr) U16 { /* sqlite3.c:67477:12: */ +func cellSizePtr(tls *libc.TLS, pPage uintptr, pCell uintptr) U16 { /* sqlite3.c:67487:12: */ var pIter uintptr = pCell + uintptr((*MemPage)(unsafe.Pointer(pPage)).FchildPtrSize) // For looping over bytes of pCell var pEnd uintptr // End mark for a varint var nSize U32 // Size value to return @@ -44383,7 +44393,7 @@ func cellSizePtr(tls *libc.TLS, pPage uintptr, pCell uintptr) U16 { /* sqlite3.c return U16(nSize) } -func cellSizePtrNoPayload(tls *libc.TLS, pPage uintptr, pCell uintptr) U16 { /* sqlite3.c:67525:12: */ +func cellSizePtrNoPayload(tls *libc.TLS, pPage uintptr, pCell uintptr) U16 { /* sqlite3.c:67535:12: */ var pIter uintptr = pCell + uintptr(4) // For looping over bytes of pCell var pEnd uintptr // End mark for a varint @@ -44400,7 +44410,7 @@ func cellSizePtrNoPayload(tls *libc.TLS, pPage uintptr, pCell uintptr) U16 { /* // of pPage. (pSrc and pPager are often the same.) If pCell contains a // pointer to an overflow page, insert an entry into the pointer-map for // the overflow page that will be valid after pCell has been moved to pPage. -func ptrmapPutOvflPtr(tls *libc.TLS, pPage uintptr, pSrc uintptr, pCell uintptr, pRC uintptr) { /* sqlite3.c:67563:13: */ +func ptrmapPutOvflPtr(tls *libc.TLS, pPage uintptr, pSrc uintptr, pCell uintptr, pRC uintptr) { /* sqlite3.c:67573:13: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -44417,7 +44427,7 @@ func ptrmapPutOvflPtr(tls *libc.TLS, pPage uintptr, pSrc uintptr, pCell uintptr, var ovfl Pgno if Uptr((*MemPage)(unsafe.Pointer(pSrc)).FaDataEnd) >= Uptr(pCell) && Uptr((*MemPage)(unsafe.Pointer(pSrc)).FaDataEnd) < Uptr(pCell+uintptr((*CellInfo)(unsafe.Pointer(bp)).FnLocal)) { - *(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 67572) + *(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 67582) return } ovfl = Xsqlite3Get4byte(tls, pCell+uintptr(int32((*CellInfo)(unsafe.Pointer(bp)).FnSize)-4)) @@ -44435,7 +44445,7 @@ func ptrmapPutOvflPtr(tls *libc.TLS, pPage uintptr, pSrc uintptr, pCell uintptr, // b-tree page so that there are no freeblocks or fragment bytes, all // unused bytes are contained in the unallocated space region, and all // cells are packed tightly at the end of the page. -func defragmentPage(tls *libc.TLS, pPage uintptr, nMaxFrag int32) int32 { /* sqlite3.c:67594:12: */ +func defragmentPage(tls *libc.TLS, pPage uintptr, nMaxFrag int32) int32 { /* sqlite3.c:67604:12: */ var i int32 // Loop counter var pc int32 // Address of the i-th cell var hdr int32 // Offset to the page header @@ -44480,7 +44490,7 @@ func defragmentPage(tls *libc.TLS, pPage uintptr, nMaxFrag int32) int32 { /* sql if !(iFree > usableSize-4) { goto __2 } - return Xsqlite3CorruptError(tls, 67631) + return Xsqlite3CorruptError(tls, 67641) __2: ; if !(iFree != 0) { @@ -44490,7 +44500,7 @@ __2: if !(iFree2 > usableSize-4) { goto __4 } - return Xsqlite3CorruptError(tls, 67634) + return Xsqlite3CorruptError(tls, 67644) __4: ; if !(0 == iFree2 || int32(*(*uint8)(unsafe.Pointer(data + uintptr(iFree2)))) == 0 && int32(*(*uint8)(unsafe.Pointer(data + uintptr(iFree2+1)))) == 0) { @@ -44503,7 +44513,7 @@ __4: if !(top >= iFree) { goto __6 } - return Xsqlite3CorruptError(tls, 67642) + return Xsqlite3CorruptError(tls, 67652) __6: ; if !(iFree2 != 0) { @@ -44512,14 +44522,14 @@ __6: if !(iFree+sz > iFree2) { goto __9 } - return Xsqlite3CorruptError(tls, 67645) + return Xsqlite3CorruptError(tls, 67655) __9: ; sz2 = int32(*(*uint8)(unsafe.Pointer(data + uintptr(iFree2+2))))<<8 | int32(*(*uint8)(unsafe.Pointer(data + uintptr(iFree2+2) + 1))) if !(iFree2+sz2 > usableSize) { goto __10 } - return Xsqlite3CorruptError(tls, 67647) + return Xsqlite3CorruptError(tls, 67657) __10: ; libc.Xmemmove(tls, data+uintptr(iFree+sz+sz2), data+uintptr(iFree+sz), uint64(iFree2-(iFree+sz))) @@ -44529,7 +44539,7 @@ __7: if !(iFree+sz > usableSize) { goto __11 } - return Xsqlite3CorruptError(tls, 67651) + return Xsqlite3CorruptError(tls, 67661) __11: ; __8: @@ -44591,7 +44601,7 @@ __18: if !(pc < iCellStart || pc > iCellLast) { goto __21 } - return Xsqlite3CorruptError(tls, 67680) + return Xsqlite3CorruptError(tls, 67690) __21: ; @@ -44602,7 +44612,7 @@ __21: if !(cbrk < iCellStart || pc+size > usableSize) { goto __22 } - return Xsqlite3CorruptError(tls, 67686) + return Xsqlite3CorruptError(tls, 67696) __22: ; @@ -44637,7 +44647,7 @@ defragment_out: if !(int32(*(*uint8)(unsafe.Pointer(data + uintptr(hdr+7))))+cbrk-iCellFirst != (*MemPage)(unsafe.Pointer(pPage)).FnFree) { goto __25 } - return Xsqlite3CorruptError(tls, 67705) + return Xsqlite3CorruptError(tls, 67715) __25: ; @@ -44662,7 +44672,7 @@ __25: // Slots on the free list that are between 1 and 3 bytes larger than nByte // will be ignored if adding the extra space to the fragmentation count // causes the fragmentation count to exceed 60. -func pageFindSlot(tls *libc.TLS, pPg uintptr, nByte int32, pRc uintptr) uintptr { /* sqlite3.c:67730:11: */ +func pageFindSlot(tls *libc.TLS, pPg uintptr, nByte int32, pRc uintptr) uintptr { /* sqlite3.c:67740:11: */ var hdr int32 = int32((*MemPage)(unsafe.Pointer(pPg)).FhdrOffset) // Offset to page header var aData uintptr = (*MemPage)(unsafe.Pointer(pPg)).FaData // Page data var iAddr int32 = hdr + 1 // Address of ptr to pc @@ -44691,7 +44701,7 @@ func pageFindSlot(tls *libc.TLS, pPg uintptr, nByte int32, pRc uintptr) uintptr *(*U8)(unsafe.Pointer(aData + uintptr(hdr+7))) += U8(int32(U8(x))) } else if x+pc > maxPC { // This slot extends off the end of the usable part of the page - *(*int32)(unsafe.Pointer(pRc)) = Xsqlite3CorruptError(tls, 67759) + *(*int32)(unsafe.Pointer(pRc)) = Xsqlite3CorruptError(tls, 67769) return uintptr(0) } else { // The slot remains on the free-list. Reduce its size to account @@ -44706,14 +44716,14 @@ func pageFindSlot(tls *libc.TLS, pPg uintptr, nByte int32, pRc uintptr) uintptr if pc <= iAddr+size { if pc != 0 { // The next slot in the chain is not past the end of the current slot - *(*int32)(unsafe.Pointer(pRc)) = Xsqlite3CorruptError(tls, 67773) + *(*int32)(unsafe.Pointer(pRc)) = Xsqlite3CorruptError(tls, 67783) } return uintptr(0) } } if pc > maxPC+nByte-4 { // The free slot chain extends off the end of the page - *(*int32)(unsafe.Pointer(pRc)) = Xsqlite3CorruptError(tls, 67780) + *(*int32)(unsafe.Pointer(pRc)) = Xsqlite3CorruptError(tls, 67790) } return uintptr(0) } @@ -44729,7 +44739,7 @@ func pageFindSlot(tls *libc.TLS, pPg uintptr, nByte int32, pRc uintptr) uintptr // the first two bytes past the cell pointer area since presumably this // allocation is being made in order to insert a new cell, so we will // also end up needing a new cell pointer. -func allocateSpace(tls *libc.TLS, pPage uintptr, nByte int32, pIdx uintptr) int32 { /* sqlite3.c:67798:12: */ +func allocateSpace(tls *libc.TLS, pPage uintptr, nByte int32, pIdx uintptr) int32 { /* sqlite3.c:67808:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -44754,7 +44764,7 @@ func allocateSpace(tls *libc.TLS, pPage uintptr, nByte int32, pIdx uintptr) int3 if top == 0 && (*BtShared)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize == U32(65536) { top = 65536 } else { - return Xsqlite3CorruptError(tls, 67827) + return Xsqlite3CorruptError(tls, 67837) } } @@ -44769,7 +44779,7 @@ func allocateSpace(tls *libc.TLS, pPage uintptr, nByte int32, pIdx uintptr) int3 *(*int32)(unsafe.Pointer(pIdx)) = libc.AssignInt32(&g2, int32((int64(pSpace)-int64(data))/1)) if g2 <= gap { - return Xsqlite3CorruptError(tls, 67845) + return Xsqlite3CorruptError(tls, 67855) } else { return SQLITE_OK } @@ -44820,7 +44830,7 @@ func allocateSpace(tls *libc.TLS, pPage uintptr, nByte int32, pIdx uintptr) int3 // does it detect cells or freeblocks that encrouch into the reserved bytes // at the end of the page. So do additional corruption checks inside this // routine and return SQLITE_CORRUPT if any problems are found. -func freeSpace(tls *libc.TLS, pPage uintptr, iStart U16, iSize U16) int32 { /* sqlite3.c:67894:12: */ +func freeSpace(tls *libc.TLS, pPage uintptr, iStart U16, iSize U16) int32 { /* sqlite3.c:67904:12: */ var iPtr U16 // Address of ptr to next freeblock var iFreeBlk U16 // Address of the next freeblock var hdr U8 // Page header size. 0 or 100 @@ -44844,12 +44854,12 @@ func freeSpace(tls *libc.TLS, pPage uintptr, iStart U16, iSize U16) int32 { /* s if int32(iFreeBlk) == 0 { break } // TH3: corrupt082.100 - return Xsqlite3CorruptError(tls, 67923) + return Xsqlite3CorruptError(tls, 67933) } iPtr = iFreeBlk } if U32(iFreeBlk) > (*BtShared)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize-U32(4) { // TH3: corrupt081.100 - return Xsqlite3CorruptError(tls, 67928) + return Xsqlite3CorruptError(tls, 67938) } // At this point: @@ -44860,11 +44870,11 @@ func freeSpace(tls *libc.TLS, pPage uintptr, iStart U16, iSize U16) int32 { /* s if iFreeBlk != 0 && iEnd+U32(3) >= U32(iFreeBlk) { nFrag = U8(U32(iFreeBlk) - iEnd) if iEnd > U32(iFreeBlk) { - return Xsqlite3CorruptError(tls, 67940) + return Xsqlite3CorruptError(tls, 67950) } iEnd = U32(int32(iFreeBlk) + (int32(*(*uint8)(unsafe.Pointer(data + uintptr(int32(iFreeBlk)+2))))<<8 | int32(*(*uint8)(unsafe.Pointer(data + uintptr(int32(iFreeBlk)+2) + 1))))) if iEnd > (*BtShared)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize { - return Xsqlite3CorruptError(tls, 67943) + return Xsqlite3CorruptError(tls, 67953) } iSize = U16(iEnd - U32(iStart)) iFreeBlk = U16(int32(*(*uint8)(unsafe.Pointer(data + uintptr(iFreeBlk))))<<8 | int32(*(*uint8)(unsafe.Pointer(data + uintptr(iFreeBlk) + 1)))) @@ -44877,7 +44887,7 @@ func freeSpace(tls *libc.TLS, pPage uintptr, iStart U16, iSize U16) int32 { /* s var iPtrEnd int32 = int32(iPtr) + (int32(*(*uint8)(unsafe.Pointer(data + uintptr(int32(iPtr)+2))))<<8 | int32(*(*uint8)(unsafe.Pointer(data + uintptr(int32(iPtr)+2) + 1)))) if iPtrEnd+3 >= int32(iStart) { if iPtrEnd > int32(iStart) { - return Xsqlite3CorruptError(tls, 67956) + return Xsqlite3CorruptError(tls, 67966) } nFrag = U8(int32(nFrag) + (int32(iStart) - iPtrEnd)) iSize = U16(iEnd - U32(iPtr)) @@ -44885,7 +44895,7 @@ func freeSpace(tls *libc.TLS, pPage uintptr, iStart U16, iSize U16) int32 { /* s } } if int32(nFrag) > int32(*(*uint8)(unsafe.Pointer(data + uintptr(int32(hdr)+7)))) { - return Xsqlite3CorruptError(tls, 67962) + return Xsqlite3CorruptError(tls, 67972) } *(*uint8)(unsafe.Pointer(data + uintptr(int32(hdr)+7))) -= uint8(int32(nFrag)) } @@ -44895,10 +44905,10 @@ func freeSpace(tls *libc.TLS, pPage uintptr, iStart U16, iSize U16) int32 { /* s // so just extend the cell content area rather than create another // freelist entry if int32(iStart) < int32(x) { - return Xsqlite3CorruptError(tls, 67970) + return Xsqlite3CorruptError(tls, 67980) } if int32(iPtr) != int32(hdr)+1 { - return Xsqlite3CorruptError(tls, 67971) + return Xsqlite3CorruptError(tls, 67981) } *(*uint8)(unsafe.Pointer(data + uintptr(int32(hdr)+1))) = U8(int32(iFreeBlk) >> 8) *(*uint8)(unsafe.Pointer(data + uintptr(int32(hdr)+1) + 1)) = U8(iFreeBlk) @@ -44932,7 +44942,7 @@ func freeSpace(tls *libc.TLS, pPage uintptr, iStart U16, iSize U16) int32 { /* s // PTF_ZERODATA | PTF_LEAF // PTF_LEAFDATA | PTF_INTKEY // PTF_LEAFDATA | PTF_INTKEY | PTF_LEAF -func decodeFlags(tls *libc.TLS, pPage uintptr, flagByte int32) int32 { /* sqlite3.c:68001:12: */ +func decodeFlags(tls *libc.TLS, pPage uintptr, flagByte int32) int32 { /* sqlite3.c:68011:12: */ var pBt uintptr // A copy of pPage->pBt (*MemPage)(unsafe.Pointer(pPage)).Fleaf = U8(flagByte >> 3) @@ -44983,7 +44993,7 @@ func decodeFlags(tls *libc.TLS, pPage uintptr, flagByte int32) int32 { /* sqlite } else { // EVIDENCE-OF: R-47608-56469 Any other value for the b-tree page type is // an error. - return Xsqlite3CorruptError(tls, 68044) + return Xsqlite3CorruptError(tls, 68054) } (*MemPage)(unsafe.Pointer(pPage)).Fmax1bytePayload = (*BtShared)(unsafe.Pointer(pBt)).Fmax1bytePayload return SQLITE_OK @@ -44991,7 +45001,7 @@ func decodeFlags(tls *libc.TLS, pPage uintptr, flagByte int32) int32 { /* sqlite // Compute the amount of freespace on the page. In other words, fill // in the pPage->nFree field. -func btreeComputeFreeSpace(tls *libc.TLS, pPage uintptr) int32 { /* sqlite3.c:68054:12: */ +func btreeComputeFreeSpace(tls *libc.TLS, pPage uintptr) int32 { /* sqlite3.c:68064:12: */ var pc int32 // Address of a freeblock within pPage->aData[] var hdr U8 // Offset to beginning of page header var data uintptr // Equal to pPage->aData @@ -45023,12 +45033,12 @@ func btreeComputeFreeSpace(tls *libc.TLS, pPage uintptr) int32 { /* sqlite3.c:68 if pc < top { // 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 Xsqlite3CorruptError(tls, 68095) + return Xsqlite3CorruptError(tls, 68105) } for 1 != 0 { if pc > iCellLast { // Freeblock off the end of the page - return Xsqlite3CorruptError(tls, 68100) + return Xsqlite3CorruptError(tls, 68110) } next = U32(int32(*(*U8)(unsafe.Pointer(data + uintptr(pc))))<<8 | int32(*(*U8)(unsafe.Pointer(data + uintptr(pc) + 1)))) size = U32(int32(*(*U8)(unsafe.Pointer(data + uintptr(pc+2))))<<8 | int32(*(*U8)(unsafe.Pointer(data + uintptr(pc+2) + 1)))) @@ -45040,11 +45050,11 @@ func btreeComputeFreeSpace(tls *libc.TLS, pPage uintptr) int32 { /* sqlite3.c:68 } if next > U32(0) { // Freeblock not in ascending order - return Xsqlite3CorruptError(tls, 68110) + return Xsqlite3CorruptError(tls, 68120) } if U32(pc)+size > uint32(usableSize) { // Last freeblock extends past page end - return Xsqlite3CorruptError(tls, 68114) + return Xsqlite3CorruptError(tls, 68124) } } @@ -45055,7 +45065,7 @@ func btreeComputeFreeSpace(tls *libc.TLS, pPage uintptr) int32 { /* sqlite3.c:68 // serves to verify that the offset to the start of the cell-content // area, according to the page header, lies within the page. if nFree > usableSize || nFree < iCellFirst { - return Xsqlite3CorruptError(tls, 68126) + return Xsqlite3CorruptError(tls, 68136) } (*MemPage)(unsafe.Pointer(pPage)).FnFree = int32(U16(nFree - iCellFirst)) return SQLITE_OK @@ -45063,7 +45073,7 @@ func btreeComputeFreeSpace(tls *libc.TLS, pPage uintptr) int32 { /* sqlite3.c:68 // Do additional sanity check after btreeInitPage() if // PRAGMA cell_size_check=ON -func btreeCellSizeCheck(tls *libc.TLS, pPage uintptr) int32 { /* sqlite3.c:68136:28: */ +func btreeCellSizeCheck(tls *libc.TLS, pPage uintptr) int32 { /* sqlite3.c:68146:28: */ var iCellFirst int32 // First allowable cell or freeblock offset var iCellLast int32 // Last possible cell or freeblock offset var i int32 // Index into the cell pointer array @@ -45085,14 +45095,14 @@ func btreeCellSizeCheck(tls *libc.TLS, pPage uintptr) int32 { /* sqlite3.c:68136 pc = int32(*(*U8)(unsafe.Pointer(data + uintptr(cellOffset+i*2))))<<8 | int32(*(*U8)(unsafe.Pointer(data + uintptr(cellOffset+i*2) + 1))) if pc < iCellFirst || pc > iCellLast { - return Xsqlite3CorruptError(tls, 68157) + return Xsqlite3CorruptError(tls, 68167) } sz = int32((*struct { f func(*libc.TLS, uintptr, uintptr) U16 })(unsafe.Pointer(&struct{ uintptr }{(*MemPage)(unsafe.Pointer(pPage)).FxCellSize})).f(tls, pPage, data+uintptr(pc))) if pc+sz > usableSize { - return Xsqlite3CorruptError(tls, 68162) + return Xsqlite3CorruptError(tls, 68172) } } return SQLITE_OK @@ -45105,7 +45115,7 @@ func btreeCellSizeCheck(tls *libc.TLS, pPage uintptr) int32 { /* sqlite3.c:68136 // SQLITE_CORRUPT. Note that a return of SQLITE_OK does not // guarantee that the page is well-formed. It only shows that // we failed to detect any corruption. -func btreeInitPage(tls *libc.TLS, pPage uintptr) int32 { /* sqlite3.c:68177:12: */ +func btreeInitPage(tls *libc.TLS, pPage uintptr) int32 { /* sqlite3.c:68187:12: */ var data uintptr // Equal to pPage->aData var pBt uintptr // The main btree structure @@ -45114,7 +45124,7 @@ func btreeInitPage(tls *libc.TLS, pPage uintptr) int32 { /* sqlite3.c:68177:12: // EVIDENCE-OF: R-28594-02890 The one-byte flag at offset 0 indicating // the b-tree page type. if decodeFlags(tls, pPage, int32(*(*U8)(unsafe.Pointer(data)))) != 0 { - return Xsqlite3CorruptError(tls, 68194) + return Xsqlite3CorruptError(tls, 68204) } (*MemPage)(unsafe.Pointer(pPage)).FmaskPage = U16((*BtShared)(unsafe.Pointer(pBt)).FpageSize - U32(1)) @@ -45128,7 +45138,7 @@ func btreeInitPage(tls *libc.TLS, pPage uintptr) int32 { /* sqlite3.c:68177:12: (*MemPage)(unsafe.Pointer(pPage)).FnCell = U16(int32(*(*U8)(unsafe.Pointer(data + 3)))<<8 | int32(*(*U8)(unsafe.Pointer(data + 3 + 1)))) if U32((*MemPage)(unsafe.Pointer(pPage)).FnCell) > ((*BtShared)(unsafe.Pointer(pBt)).FpageSize-U32(8))/U32(6) { // To many cells for a single page. The page must be corrupt - return Xsqlite3CorruptError(tls, 68208) + return Xsqlite3CorruptError(tls, 68218) } // EVIDENCE-OF: R-24089-57979 If a page contains no cells (which is only @@ -45146,7 +45156,7 @@ func btreeInitPage(tls *libc.TLS, pPage uintptr) int32 { /* sqlite3.c:68177:12: // Set up a raw page so that it looks like a database page holding // no entries. -func zeroPage(tls *libc.TLS, pPage uintptr, flags int32) { /* sqlite3.c:68230:13: */ +func zeroPage(tls *libc.TLS, pPage uintptr, flags int32) { /* sqlite3.c:68240:13: */ var data uintptr = (*MemPage)(unsafe.Pointer(pPage)).FaData var pBt uintptr = (*MemPage)(unsafe.Pointer(pPage)).FpBt var hdr U8 = (*MemPage)(unsafe.Pointer(pPage)).FhdrOffset @@ -45181,7 +45191,7 @@ func zeroPage(tls *libc.TLS, pPage uintptr, flags int32) { /* sqlite3.c:68230:13 // Convert a DbPage obtained from the pager into a MemPage used by // the btree layer. -func btreePageFromDbPage(tls *libc.TLS, pDbPage uintptr, pgno Pgno, pBt uintptr) uintptr { /* sqlite3.c:68267:16: */ +func btreePageFromDbPage(tls *libc.TLS, pDbPage uintptr, pgno Pgno, pBt uintptr) uintptr { /* sqlite3.c:68277:16: */ var pPage uintptr = Xsqlite3PagerGetExtra(tls, pDbPage) if pgno != (*MemPage)(unsafe.Pointer(pPage)).Fpgno { (*MemPage)(unsafe.Pointer(pPage)).FaData = Xsqlite3PagerGetData(tls, pDbPage) @@ -45208,7 +45218,7 @@ func btreePageFromDbPage(tls *libc.TLS, pDbPage uintptr, pgno Pgno, pBt uintptr) // If in the future we call sqlite3PagerWrite() on this page, that // means we have started to be concerned about content and the disk // read should occur at that point. -func btreeGetPage(tls *libc.TLS, pBt uintptr, pgno Pgno, ppPage uintptr, flags int32) int32 { /* sqlite3.c:68291:12: */ +func btreeGetPage(tls *libc.TLS, pBt uintptr, pgno Pgno, ppPage uintptr, flags int32) int32 { /* sqlite3.c:68301:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -45226,7 +45236,7 @@ func btreeGetPage(tls *libc.TLS, pBt uintptr, pgno Pgno, ppPage uintptr, flags i // Retrieve a page from the pager cache. If the requested page is not // already in the pager cache return NULL. Initialize the MemPage.pBt and // MemPage.aData elements if needed. -func btreePageLookup(tls *libc.TLS, pBt uintptr, pgno Pgno) uintptr { /* sqlite3.c:68313:16: */ +func btreePageLookup(tls *libc.TLS, pBt uintptr, pgno Pgno) uintptr { /* sqlite3.c:68323:16: */ var pDbPage uintptr pDbPage = Xsqlite3PagerLookup(tls, (*BtShared)(unsafe.Pointer(pBt)).FpPager, pgno) @@ -45238,11 +45248,11 @@ func btreePageLookup(tls *libc.TLS, pBt uintptr, pgno Pgno) uintptr { /* sqlite3 // Return the size of the database file in pages. If there is any kind of // error, return ((unsigned int)-1). -func btreePagecount(tls *libc.TLS, pBt uintptr) Pgno { /* sqlite3.c:68327:13: */ +func btreePagecount(tls *libc.TLS, pBt uintptr) Pgno { /* sqlite3.c:68337:13: */ return (*BtShared)(unsafe.Pointer(pBt)).FnPage } -func Xsqlite3BtreeLastPage(tls *libc.TLS, p uintptr) Pgno { /* sqlite3.c:68330:21: */ +func Xsqlite3BtreeLastPage(tls *libc.TLS, p uintptr) Pgno { /* sqlite3.c:68340:21: */ return btreePagecount(tls, (*Btree)(unsafe.Pointer(p)).FpBt) } @@ -45258,7 +45268,7 @@ func Xsqlite3BtreeLastPage(tls *libc.TLS, p uintptr) Pgno { /* sqlite3.c:68330:2 // // If an error occurs, then *ppPage is undefined. It // may remain unchanged, or it may be set to an invalid value. -func getAndInitPage(tls *libc.TLS, pBt uintptr, pgno Pgno, ppPage uintptr, pCur uintptr, bReadOnly int32) int32 { /* sqlite3.c:68348:12: */ +func getAndInitPage(tls *libc.TLS, pBt uintptr, pgno Pgno, ppPage uintptr, pCur uintptr, bReadOnly int32) int32 { /* sqlite3.c:68358:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -45268,7 +45278,7 @@ func getAndInitPage(tls *libc.TLS, pBt uintptr, pgno Pgno, ppPage uintptr, pCur if !(pgno > btreePagecount(tls, pBt)) { goto __1 } - rc = Xsqlite3CorruptError(tls, 68363) + rc = Xsqlite3CorruptError(tls, 68373) goto getAndInitPage_error1 __1: ; @@ -45299,7 +45309,7 @@ __3: if !(pCur != 0 && (int32((*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(ppPage)))).FnCell) < 1 || int32((*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(ppPage)))).FintKey) != int32((*BtCursor)(unsafe.Pointer(pCur)).FcurIntKey))) { goto __5 } - rc = Xsqlite3CorruptError(tls, 68384) + rc = Xsqlite3CorruptError(tls, 68394) goto getAndInitPage_error2 __5: ; @@ -45323,18 +45333,18 @@ __6: // call to btreeGetPage. // // Page1 is a special case and must be released using releasePageOne(). -func releasePageNotNull(tls *libc.TLS, pPage uintptr) { /* sqlite3.c:68407:13: */ +func releasePageNotNull(tls *libc.TLS, pPage uintptr) { /* sqlite3.c:68417:13: */ Xsqlite3PagerUnrefNotNull(tls, (*MemPage)(unsafe.Pointer(pPage)).FpDbPage) } -func releasePage(tls *libc.TLS, pPage uintptr) { /* sqlite3.c:68416:13: */ +func releasePage(tls *libc.TLS, pPage uintptr) { /* sqlite3.c:68426:13: */ if pPage != 0 { releasePageNotNull(tls, pPage) } } -func releasePageOne(tls *libc.TLS, pPage uintptr) { /* sqlite3.c:68419:13: */ +func releasePageOne(tls *libc.TLS, pPage uintptr) { /* sqlite3.c:68429:13: */ Xsqlite3PagerUnrefPageOne(tls, (*MemPage)(unsafe.Pointer(pPage)).FpDbPage) } @@ -45346,13 +45356,13 @@ func releasePageOne(tls *libc.TLS, pPage uintptr) { /* sqlite3.c:68419:13: */ // * If the page is already in use for some other purpose, immediately // release it and return an SQLITE_CURRUPT error. // * Make sure the isInit flag is clear -func btreeGetUnusedPage(tls *libc.TLS, pBt uintptr, pgno Pgno, ppPage uintptr, flags int32) int32 { /* sqlite3.c:68439:12: */ +func btreeGetUnusedPage(tls *libc.TLS, pBt uintptr, pgno Pgno, ppPage uintptr, flags int32) int32 { /* sqlite3.c:68449:12: */ var rc int32 = btreeGetPage(tls, pBt, pgno, ppPage, flags) if rc == SQLITE_OK { if Xsqlite3PagerPageRefcount(tls, (*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(ppPage)))).FpDbPage) > 1 { releasePage(tls, *(*uintptr)(unsafe.Pointer(ppPage))) *(*uintptr)(unsafe.Pointer(ppPage)) = uintptr(0) - return Xsqlite3CorruptError(tls, 68450) + return Xsqlite3CorruptError(tls, 68460) } (*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(ppPage)))).FisInit = U8(0) } else { @@ -45367,7 +45377,7 @@ func btreeGetUnusedPage(tls *libc.TLS, pBt uintptr, pgno Pgno, ppPage uintptr, f // // This routine needs to reset the extra data section at the end of the // page to agree with the restored data. -func pageReinit(tls *libc.TLS, pData uintptr) { /* sqlite3.c:68468:13: */ +func pageReinit(tls *libc.TLS, pData uintptr) { /* sqlite3.c:68478:13: */ var pPage uintptr pPage = Xsqlite3PagerGetExtra(tls, pData) @@ -45387,7 +45397,7 @@ func pageReinit(tls *libc.TLS, pData uintptr) { /* sqlite3.c:68468:13: */ } // Invoke the busy handler for a btree. -func btreeInvokeBusyHandler(tls *libc.TLS, pArg uintptr) int32 { /* sqlite3.c:68490:12: */ +func btreeInvokeBusyHandler(tls *libc.TLS, pArg uintptr) int32 { /* sqlite3.c:68500:12: */ var pBt uintptr = pArg return Xsqlite3InvokeBusyHandler(tls, (*BtShared)(unsafe.Pointer(pBt)).Fdb+664) @@ -45412,7 +45422,7 @@ func btreeInvokeBusyHandler(tls *libc.TLS, pArg uintptr) int32 { /* sqlite3.c:68 // SQLITE_CONSTRAINT error. We cannot allow two or more BtShared // objects in the same database connection since doing so will lead // to problems with locking. -func Xsqlite3BtreeOpen(tls *libc.TLS, pVfs uintptr, zFilename uintptr, db uintptr, ppBtree uintptr, flags int32, vfsFlags int32) int32 { /* sqlite3.c:68518:20: */ +func Xsqlite3BtreeOpen(tls *libc.TLS, pVfs uintptr, zFilename uintptr, db uintptr, ppBtree uintptr, flags int32, vfsFlags int32) int32 { /* sqlite3.c:68528:20: */ bp := tls.Alloc(100) defer tls.Free(100) @@ -45833,7 +45843,7 @@ __49: // remove the BtShared structure from the sharing list. Return // true if the BtShared.nRef counter reaches zero and return // false if it is still positive. -func removeFromSharingList(tls *libc.TLS, pBt uintptr) int32 { /* sqlite3.c:68816:12: */ +func removeFromSharingList(tls *libc.TLS, pBt uintptr) int32 { /* sqlite3.c:68826:12: */ var pMainMtx uintptr var pList uintptr var removed int32 = 0 @@ -45865,7 +45875,7 @@ func removeFromSharingList(tls *libc.TLS, pBt uintptr) int32 { /* sqlite3.c:6881 // Make sure pBt->pTmpSpace points to an allocation of // MX_CELL_SIZE(pBt) bytes with a 4-byte prefix for a left-child // pointer. -func allocateTempSpace(tls *libc.TLS, pBt uintptr) int32 { /* sqlite3.c:68855:28: */ +func allocateTempSpace(tls *libc.TLS, pBt uintptr) int32 { /* sqlite3.c:68865:28: */ // This routine is called only by btreeCursor() when allocating the // first write cursor for the BtShared object @@ -45898,7 +45908,7 @@ func allocateTempSpace(tls *libc.TLS, pBt uintptr) int32 { /* sqlite3.c:68855:28 } // Free the pBt->pTmpSpace allocation -func freeTempSpace(tls *libc.TLS, pBt uintptr) { /* sqlite3.c:68892:13: */ +func freeTempSpace(tls *libc.TLS, pBt uintptr) { /* sqlite3.c:68902:13: */ if (*BtShared)(unsafe.Pointer(pBt)).FpTmpSpace != 0 { *(*uintptr)(unsafe.Pointer(pBt + 136)) -= uintptr(4) Xsqlite3PageFree(tls, (*BtShared)(unsafe.Pointer(pBt)).FpTmpSpace) @@ -45907,7 +45917,7 @@ func freeTempSpace(tls *libc.TLS, pBt uintptr) { /* sqlite3.c:68892:13: */ } // Close an open database and invalidate all cursors. -func Xsqlite3BtreeClose(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:68903:20: */ +func Xsqlite3BtreeClose(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:68913:20: */ var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt // Close all cursors opened via this handle. @@ -45957,7 +45967,7 @@ func Xsqlite3BtreeClose(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:68903:20: // pages in the cache exceeds this soft limit. But the size of the // cache is allowed to grow larger than this limit if it contains // dirty pages or pages still in active use. -func Xsqlite3BtreeSetCacheSize(tls *libc.TLS, p uintptr, mxPage int32) int32 { /* sqlite3.c:68969:20: */ +func Xsqlite3BtreeSetCacheSize(tls *libc.TLS, p uintptr, mxPage int32) int32 { /* sqlite3.c:68979:20: */ var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt Xsqlite3BtreeEnter(tls, p) @@ -45974,7 +45984,7 @@ func Xsqlite3BtreeSetCacheSize(tls *libc.TLS, p uintptr, mxPage int32) int32 { / // The value returned is the current spill size. If zero is passed // as an argument, no changes are made to the spill size setting, so // using mxPage of 0 is a way to query the current spill size. -func Xsqlite3BtreeSetSpillSize(tls *libc.TLS, p uintptr, mxPage int32) int32 { /* sqlite3.c:68988:20: */ +func Xsqlite3BtreeSetSpillSize(tls *libc.TLS, p uintptr, mxPage int32) int32 { /* sqlite3.c:68998:20: */ var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt var res int32 @@ -45986,7 +45996,7 @@ func Xsqlite3BtreeSetSpillSize(tls *libc.TLS, p uintptr, mxPage int32) int32 { / // Change the limit on the amount of the database file that may be // memory mapped. -func Xsqlite3BtreeSetMmapLimit(tls *libc.TLS, p uintptr, szMmap Sqlite3_int64) int32 { /* sqlite3.c:69003:20: */ +func Xsqlite3BtreeSetMmapLimit(tls *libc.TLS, p uintptr, szMmap Sqlite3_int64) int32 { /* sqlite3.c:69013:20: */ var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt Xsqlite3BtreeEnter(tls, p) @@ -46001,7 +46011,7 @@ func Xsqlite3BtreeSetMmapLimit(tls *libc.TLS, p uintptr, szMmap Sqlite3_int64) i // there is a high probability of damage) Level 2 is the default. There // is a very low but non-zero probability of damage. Level 3 reduces the // probability of damage to near zero but with a write performance reduction. -func Xsqlite3BtreeSetPagerFlags(tls *libc.TLS, p uintptr, pgFlags uint32) int32 { /* sqlite3.c:69022:20: */ +func Xsqlite3BtreeSetPagerFlags(tls *libc.TLS, p uintptr, pgFlags uint32) int32 { /* sqlite3.c:69032:20: */ var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt Xsqlite3BtreeEnter(tls, p) @@ -46028,7 +46038,7 @@ func Xsqlite3BtreeSetPagerFlags(tls *libc.TLS, p uintptr, pgFlags uint32) int32 // // If the iFix!=0 then the BTS_PAGESIZE_FIXED flag is set so that the page size // and autovacuum mode can no longer be changed. -func Xsqlite3BtreeSetPageSize(tls *libc.TLS, p uintptr, pageSize int32, nReserve int32, iFix int32) int32 { /* sqlite3.c:69055:20: */ +func Xsqlite3BtreeSetPageSize(tls *libc.TLS, p uintptr, pageSize int32, nReserve int32, iFix int32) int32 { /* sqlite3.c:69065:20: */ var rc int32 = SQLITE_OK var x int32 var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt @@ -46062,7 +46072,7 @@ func Xsqlite3BtreeSetPageSize(tls *libc.TLS, p uintptr, pageSize int32, nReserve } // Return the currently defined page size -func Xsqlite3BtreeGetPageSize(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:69087:20: */ +func Xsqlite3BtreeGetPageSize(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:69097:20: */ return int32((*BtShared)(unsafe.Pointer((*Btree)(unsafe.Pointer(p)).FpBt)).FpageSize) } @@ -46075,7 +46085,7 @@ func Xsqlite3BtreeGetPageSize(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:690 // database handle that owns *p is not. In this case if sqlite3BtreeEnter() // were to be called, it might collide with some other operation on the // database handle that owns *p, causing undefined behavior. -func Xsqlite3BtreeGetReserveNoMutex(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:69102:20: */ +func Xsqlite3BtreeGetReserveNoMutex(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:69112:20: */ var n int32 n = int32((*BtShared)(unsafe.Pointer((*Btree)(unsafe.Pointer(p)).FpBt)).FpageSize - (*BtShared)(unsafe.Pointer((*Btree)(unsafe.Pointer(p)).FpBt)).FusableSize) @@ -46089,7 +46099,7 @@ func Xsqlite3BtreeGetReserveNoMutex(tls *libc.TLS, p uintptr) int32 { /* sqlite3 // The value returned is the larger of the current reserve size and // the latest reserve size requested by SQLITE_FILECTRL_RESERVE_BYTES. // The amount of reserve can only grow - never shrink. -func Xsqlite3BtreeGetRequestedReserve(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:69118:20: */ +func Xsqlite3BtreeGetRequestedReserve(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:69128:20: */ var n1 int32 var n2 int32 Xsqlite3BtreeEnter(tls, p) @@ -46105,7 +46115,7 @@ func Xsqlite3BtreeGetRequestedReserve(tls *libc.TLS, p uintptr) int32 { /* sqlit // Set the maximum page count for a database if mxPage is positive. // No changes are made if mxPage is 0 or negative. // Regardless of the value of mxPage, return the maximum page count. -func Xsqlite3BtreeMaxPageCount(tls *libc.TLS, p uintptr, mxPage Pgno) Pgno { /* sqlite3.c:69133:21: */ +func Xsqlite3BtreeMaxPageCount(tls *libc.TLS, p uintptr, mxPage Pgno) Pgno { /* sqlite3.c:69143:21: */ var n Pgno Xsqlite3BtreeEnter(tls, p) n = Xsqlite3PagerMaxPageCount(tls, (*BtShared)(unsafe.Pointer((*Btree)(unsafe.Pointer(p)).FpBt)).FpPager, mxPage) @@ -46129,7 +46139,7 @@ func Xsqlite3BtreeMaxPageCount(tls *libc.TLS, p uintptr, mxPage Pgno) Pgno { /* // With BTS_SECURE_DELETE, operation is like BTS_OVERWRITE with the addition // that freelist leaf pages are written back into the database, increasing // the amount of disk I/O. -func Xsqlite3BtreeSecureDelete(tls *libc.TLS, p uintptr, newFlag int32) int32 { /* sqlite3.c:69159:20: */ +func Xsqlite3BtreeSecureDelete(tls *libc.TLS, p uintptr, newFlag int32) int32 { /* sqlite3.c:69169:20: */ var b int32 if p == uintptr(0) { return 0 @@ -46149,7 +46159,7 @@ func Xsqlite3BtreeSecureDelete(tls *libc.TLS, p uintptr, newFlag int32) int32 { // parameter is non-zero, then auto-vacuum mode is enabled. If zero, it // is disabled. The default value for the auto-vacuum property is // determined by the SQLITE_DEFAULT_AUTOVACUUM macro. -func Xsqlite3BtreeSetAutoVacuum(tls *libc.TLS, p uintptr, autoVacuum int32) int32 { /* sqlite3.c:69180:20: */ +func Xsqlite3BtreeSetAutoVacuum(tls *libc.TLS, p uintptr, autoVacuum int32) int32 { /* sqlite3.c:69190:20: */ var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt var rc int32 = SQLITE_OK var av U8 = U8(autoVacuum) @@ -46182,7 +46192,7 @@ func Xsqlite3BtreeSetAutoVacuum(tls *libc.TLS, p uintptr, autoVacuum int32) int3 // Return the value of the 'auto-vacuum' property. If auto-vacuum is // enabled 1 is returned. Otherwise 0. -func Xsqlite3BtreeGetAutoVacuum(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:69204:20: */ +func Xsqlite3BtreeGetAutoVacuum(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:69214:20: */ var rc int32 Xsqlite3BtreeEnter(tls, p) rc = func() int32 { @@ -46207,7 +46217,7 @@ func Xsqlite3BtreeGetAutoVacuum(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:6 // well-formed database file, then SQLITE_CORRUPT is returned. // SQLITE_BUSY is returned if the database is locked. SQLITE_NOMEM // is returned if we run out of memory. -func lockBtree(tls *libc.TLS, pBt uintptr) int32 { /* sqlite3.c:69260:12: */ +func lockBtree(tls *libc.TLS, pBt uintptr) int32 { /* sqlite3.c:69270:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -46376,7 +46386,7 @@ __16: if !(Xsqlite3WritableSchema(tls, (*BtShared)(unsafe.Pointer(pBt)).Fdb) == 0) { goto __18 } - rc = Xsqlite3CorruptError(tls, 69385) + rc = Xsqlite3CorruptError(tls, 69395) goto page1_init_failed goto __19 __18: @@ -46453,7 +46463,7 @@ page1_init_failed: // has the effect of releasing the read lock. // // If there is a transaction in progress, this routine is a no-op. -func unlockBtreeIfUnused(tls *libc.TLS, pBt uintptr) { /* sqlite3.c:69470:13: */ +func unlockBtreeIfUnused(tls *libc.TLS, pBt uintptr) { /* sqlite3.c:69480:13: */ if int32((*BtShared)(unsafe.Pointer(pBt)).FinTransaction) == TRANS_NONE && (*BtShared)(unsafe.Pointer(pBt)).FpPage1 != uintptr(0) { var pPage1 uintptr = (*BtShared)(unsafe.Pointer(pBt)).FpPage1 @@ -46466,7 +46476,7 @@ func unlockBtreeIfUnused(tls *libc.TLS, pBt uintptr) { /* sqlite3.c:69470:13: */ // If pBt points to an empty file then convert that empty file // into a new empty database by initializing the first page of // the database. -func newDatabase(tls *libc.TLS, pBt uintptr) int32 { /* sqlite3.c:69487:12: */ +func newDatabase(tls *libc.TLS, pBt uintptr) int32 { /* sqlite3.c:69497:12: */ var pP1 uintptr var data uintptr var rc int32 @@ -46506,7 +46516,7 @@ func newDatabase(tls *libc.TLS, pBt uintptr) int32 { /* sqlite3.c:69487:12: */ // Initialize the first page of the database file (creating a database // consisting of a single page and no schema objects). Return SQLITE_OK // if successful, or an SQLite error code otherwise. -func Xsqlite3BtreeNewDb(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:69531:20: */ +func Xsqlite3BtreeNewDb(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:69541:20: */ var rc int32 Xsqlite3BtreeEnter(tls, p) (*BtShared)(unsafe.Pointer((*Btree)(unsafe.Pointer(p)).FpBt)).FnPage = U32(0) @@ -46548,7 +46558,7 @@ func Xsqlite3BtreeNewDb(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:69531:20: // no progress. By returning SQLITE_BUSY and not invoking the busy callback // when A already has a read lock, we encourage A to give up and let B // proceed. -func Xsqlite3BtreeBeginTrans(tls *libc.TLS, p uintptr, wrflag int32, pSchemaVersion uintptr) int32 { /* sqlite3.c:69575:20: */ +func Xsqlite3BtreeBeginTrans(tls *libc.TLS, p uintptr, wrflag int32, pSchemaVersion uintptr) int32 { /* sqlite3.c:69585:20: */ var pBt uintptr var pPager uintptr var rc int32 @@ -46812,7 +46822,7 @@ __34: // Set the pointer-map entries for all children of page pPage. Also, if // pPage contains cells that point to overflow pages, set the pointer // map entries for the overflow pages as well. -func setChildPtrmaps(tls *libc.TLS, pPage uintptr) int32 { /* sqlite3.c:69755:12: */ +func setChildPtrmaps(tls *libc.TLS, pPage uintptr) int32 { /* sqlite3.c:69765:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -46864,14 +46874,14 @@ func setChildPtrmaps(tls *libc.TLS, pPage uintptr) int32 { /* sqlite3.c:69755:12 // // PTRMAP_OVERFLOW2: pPage is an overflow-page. The pointer points at the next // overflow page in the list. -func modifyPagePointer(tls *libc.TLS, pPage uintptr, iFrom Pgno, iTo Pgno, eType U8) int32 { /* sqlite3.c:69800:12: */ +func modifyPagePointer(tls *libc.TLS, pPage uintptr, iFrom Pgno, iTo Pgno, eType U8) int32 { /* sqlite3.c:69810:12: */ bp := tls.Alloc(24) defer tls.Free(24) if int32(eType) == PTRMAP_OVERFLOW2 { // The pointer is always the first 4 bytes of the page in this case. if Xsqlite3Get4byte(tls, (*MemPage)(unsafe.Pointer(pPage)).FaData) != iFrom { - return Xsqlite3CorruptError(tls, 69806) + return Xsqlite3CorruptError(tls, 69816) } Xsqlite3Put4byte(tls, (*MemPage)(unsafe.Pointer(pPage)).FaData, iTo) } else { @@ -46899,7 +46909,7 @@ func modifyPagePointer(tls *libc.TLS, pPage uintptr, iFrom Pgno, iTo Pgno, eType })(unsafe.Pointer(&struct{ uintptr }{(*MemPage)(unsafe.Pointer(pPage)).FxParseCell})).f(tls, pPage, pCell, bp /* &info */) if U32((*CellInfo)(unsafe.Pointer(bp)).FnLocal) < (*CellInfo)(unsafe.Pointer(bp)).FnPayload { if pCell+uintptr((*CellInfo)(unsafe.Pointer(bp)).FnSize) > (*MemPage)(unsafe.Pointer(pPage)).FaData+uintptr((*BtShared)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize) { - return Xsqlite3CorruptError(tls, 69825) + return Xsqlite3CorruptError(tls, 69835) } if iFrom == Xsqlite3Get4byte(tls, pCell+uintptr((*CellInfo)(unsafe.Pointer(bp)).FnSize)-uintptr(4)) { Xsqlite3Put4byte(tls, pCell+uintptr((*CellInfo)(unsafe.Pointer(bp)).FnSize)-uintptr(4), iTo) @@ -46916,7 +46926,7 @@ func modifyPagePointer(tls *libc.TLS, pPage uintptr, iFrom Pgno, iTo Pgno, eType if i == nCell { if int32(eType) != PTRMAP_BTREE || Xsqlite3Get4byte(tls, (*MemPage)(unsafe.Pointer(pPage)).FaData+uintptr(int32((*MemPage)(unsafe.Pointer(pPage)).FhdrOffset)+8)) != iFrom { - return Xsqlite3CorruptError(tls, 69843) + return Xsqlite3CorruptError(tls, 69853) } Xsqlite3Put4byte(tls, (*MemPage)(unsafe.Pointer(pPage)).FaData+uintptr(int32((*MemPage)(unsafe.Pointer(pPage)).FhdrOffset)+8), iTo) } @@ -46931,7 +46941,7 @@ func modifyPagePointer(tls *libc.TLS, pPage uintptr, iFrom Pgno, iTo Pgno, eType // the journal needs to be sync()ed before database page pDbPage->pgno // can be written to. The caller has already promised not to write to that // page. -func relocatePage(tls *libc.TLS, pBt uintptr, pDbPage uintptr, eType U8, iPtrPage Pgno, iFreePage Pgno, isCommit int32) int32 { /* sqlite3.c:69861:12: */ +func relocatePage(tls *libc.TLS, pBt uintptr, pDbPage uintptr, eType U8, iPtrPage Pgno, iFreePage Pgno, isCommit int32) int32 { /* sqlite3.c:69871:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -46942,7 +46952,7 @@ func relocatePage(tls *libc.TLS, pBt uintptr, pDbPage uintptr, eType U8, iPtrPag // var rc int32 at bp, 4 if iDbPage < Pgno(3) { - return Xsqlite3CorruptError(tls, 69878) + return Xsqlite3CorruptError(tls, 69888) } // Move page iDbPage from its current location to page number iFreePage @@ -47012,7 +47022,7 @@ func relocatePage(tls *libc.TLS, pBt uintptr, pDbPage uintptr, eType U8, iPtrPag // caller will keep calling incrVacuumStep() until it returns SQLITE_DONE // or an error. bCommit is passed true for an auto-vacuum-on-commit // operation, or false for an incremental vacuum. -func incrVacuumStep(tls *libc.TLS, pBt uintptr, nFin Pgno, iLastPg Pgno, bCommit int32) int32 { /* sqlite3.c:69955:12: */ +func incrVacuumStep(tls *libc.TLS, pBt uintptr, nFin Pgno, iLastPg Pgno, bCommit int32) int32 { /* sqlite3.c:69965:12: */ bp := tls.Alloc(44) defer tls.Free(44) @@ -47034,7 +47044,7 @@ func incrVacuumStep(tls *libc.TLS, pBt uintptr, nFin Pgno, iLastPg Pgno, bCommit return rc } if int32(*(*U8)(unsafe.Pointer(bp))) == PTRMAP_ROOTPAGE { - return Xsqlite3CorruptError(tls, 69976) + return Xsqlite3CorruptError(tls, 69986) } if int32(*(*U8)(unsafe.Pointer(bp))) == PTRMAP_FREEPAGE { @@ -47109,7 +47119,7 @@ func incrVacuumStep(tls *libc.TLS, pBt uintptr, nFin Pgno, iLastPg Pgno, bCommit // The database opened by the first argument is an auto-vacuum database // nOrig pages in size containing nFree free pages. Return the expected // size of the database in pages following an auto-vacuum operation. -func finalDbSize(tls *libc.TLS, pBt uintptr, nOrig Pgno, nFree Pgno) Pgno { /* sqlite3.c:70051:13: */ +func finalDbSize(tls *libc.TLS, pBt uintptr, nOrig Pgno, nFree Pgno) Pgno { /* sqlite3.c:70061:13: */ var nEntry int32 // Number of entries on one ptrmap page var nPtrmap Pgno // Number of PtrMap pages to be freed var nFin Pgno // Return value @@ -47133,7 +47143,7 @@ func finalDbSize(tls *libc.TLS, pBt uintptr, nOrig Pgno, nFree Pgno) Pgno { /* s // If the incremental vacuum is finished after this function has run, // SQLITE_DONE is returned. If it is not finished, but no error occurred, // SQLITE_OK is returned. Otherwise an SQLite error code. -func Xsqlite3BtreeIncrVacuum(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:70077:20: */ +func Xsqlite3BtreeIncrVacuum(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:70087:20: */ var rc int32 var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt @@ -47147,7 +47157,7 @@ func Xsqlite3BtreeIncrVacuum(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:7007 var nFin Pgno = finalDbSize(tls, pBt, nOrig, nFree) if nOrig < nFin || nFree >= nOrig { - rc = Xsqlite3CorruptError(tls, 70091) + rc = Xsqlite3CorruptError(tls, 70101) } else if nFree > Pgno(0) { rc = saveAllCursors(tls, pBt, uint32(0), uintptr(0)) if rc == SQLITE_OK { @@ -47168,7 +47178,7 @@ func Xsqlite3BtreeIncrVacuum(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:7007 // This routine is called prior to sqlite3PagerCommit when a transaction // is committed for an auto-vacuum database. -func autoVacuumCommit(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:70114:12: */ +func autoVacuumCommit(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:70124:12: */ var rc int32 = SQLITE_OK var pPager uintptr var pBt uintptr @@ -47191,7 +47201,7 @@ func autoVacuumCommit(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:70114:12: * // It is not possible to create a database for which the final page // is either a pointer-map page or the pending-byte page. If one // is encountered, this indicates corruption. - return Xsqlite3CorruptError(tls, 70142) + return Xsqlite3CorruptError(tls, 70152) } nFree = Xsqlite3Get4byte(tls, (*MemPage)(unsafe.Pointer((*BtShared)(unsafe.Pointer(pBt)).FpPage1)).FaData+36) @@ -47222,7 +47232,7 @@ func autoVacuumCommit(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:70114:12: * } nFin = finalDbSize(tls, pBt, nOrig, nVac) if nFin > nOrig { - return Xsqlite3CorruptError(tls, 70169) + return Xsqlite3CorruptError(tls, 70179) } if nFin < nOrig { rc = saveAllCursors(tls, pBt, uint32(0), uintptr(0)) @@ -47272,7 +47282,7 @@ func autoVacuumCommit(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:70114:12: * // // Once this is routine has returned, the only thing required to commit // the write-transaction for this database file is to delete the journal. -func Xsqlite3BtreeCommitPhaseOne(tls *libc.TLS, p uintptr, zSuperJrnl uintptr) int32 { /* sqlite3.c:70225:20: */ +func Xsqlite3BtreeCommitPhaseOne(tls *libc.TLS, p uintptr, zSuperJrnl uintptr) int32 { /* sqlite3.c:70235:20: */ var rc int32 = SQLITE_OK if int32((*Btree)(unsafe.Pointer(p)).FinTrans) == TRANS_WRITE { var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt @@ -47295,7 +47305,7 @@ func Xsqlite3BtreeCommitPhaseOne(tls *libc.TLS, p uintptr, zSuperJrnl uintptr) i // This function is called from both BtreeCommitPhaseTwo() and BtreeRollback() // at the conclusion of a transaction. -func btreeEndTransaction(tls *libc.TLS, p uintptr) { /* sqlite3.c:70252:13: */ +func btreeEndTransaction(tls *libc.TLS, p uintptr) { /* sqlite3.c:70262:13: */ var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt var db uintptr = (*Btree)(unsafe.Pointer(p)).Fdb @@ -47351,7 +47361,7 @@ func btreeEndTransaction(tls *libc.TLS, p uintptr) { /* sqlite3.c:70252:13: */ // // This will release the write lock on the database file. If there // are no active cursors, it also releases the read lock. -func Xsqlite3BtreeCommitPhaseTwo(tls *libc.TLS, p uintptr, bCleanup int32) int32 { /* sqlite3.c:70314:20: */ +func Xsqlite3BtreeCommitPhaseTwo(tls *libc.TLS, p uintptr, bCleanup int32) int32 { /* sqlite3.c:70324:20: */ if int32((*Btree)(unsafe.Pointer(p)).FinTrans) == TRANS_NONE { return SQLITE_OK @@ -47380,7 +47390,7 @@ func Xsqlite3BtreeCommitPhaseTwo(tls *libc.TLS, p uintptr, bCleanup int32) int32 } // Do both phases of a commit. -func Xsqlite3BtreeCommit(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:70346:20: */ +func Xsqlite3BtreeCommit(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:70356:20: */ var rc int32 Xsqlite3BtreeEnter(tls, p) rc = Xsqlite3BtreeCommitPhaseOne(tls, p, uintptr(0)) @@ -47415,7 +47425,7 @@ func Xsqlite3BtreeCommit(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:70346:20 // // SQLITE_OK is returned if successful, or if an error occurs while // saving a cursor position, an SQLite error code. -func Xsqlite3BtreeTripAllCursors(tls *libc.TLS, pBtree uintptr, errCode int32, writeOnly int32) int32 { /* sqlite3.c:70383:20: */ +func Xsqlite3BtreeTripAllCursors(tls *libc.TLS, pBtree uintptr, errCode int32, writeOnly int32) int32 { /* sqlite3.c:70393:20: */ var p uintptr var rc int32 = SQLITE_OK @@ -47444,7 +47454,7 @@ func Xsqlite3BtreeTripAllCursors(tls *libc.TLS, pBtree uintptr, errCode int32, w // Set the pBt->nPage field correctly, according to the current // state of the database. Assume pBt->pPage1 is valid. -func btreeSetNPage(tls *libc.TLS, pBt uintptr, pPage1 uintptr) { /* sqlite3.c:70415:13: */ +func btreeSetNPage(tls *libc.TLS, pBt uintptr, pPage1 uintptr) { /* sqlite3.c:70425:13: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -47466,7 +47476,7 @@ func btreeSetNPage(tls *libc.TLS, pBt uintptr, pPage1 uintptr) { /* sqlite3.c:70 // // This will release the write lock on the database file. If there // are no active cursors, it also releases the read lock. -func Xsqlite3BtreeRollback(tls *libc.TLS, p uintptr, tripCode int32, writeOnly int32) int32 { /* sqlite3.c:70434:20: */ +func Xsqlite3BtreeRollback(tls *libc.TLS, p uintptr, tripCode int32, writeOnly int32) int32 { /* sqlite3.c:70444:20: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -47532,7 +47542,7 @@ func Xsqlite3BtreeRollback(tls *libc.TLS, p uintptr, tripCode int32, writeOnly i // are no active savepoints and no other statement-transactions open, // iStatement is 1. This anonymous savepoint can be released or rolled back // using the sqlite3BtreeSavepoint() function. -func Xsqlite3BtreeBeginStmt(tls *libc.TLS, p uintptr, iStatement int32) int32 { /* sqlite3.c:70499:20: */ +func Xsqlite3BtreeBeginStmt(tls *libc.TLS, p uintptr, iStatement int32) int32 { /* sqlite3.c:70509:20: */ var rc int32 var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt Xsqlite3BtreeEnter(tls, p) @@ -47556,7 +47566,7 @@ func Xsqlite3BtreeBeginStmt(tls *libc.TLS, p uintptr, iStatement int32) int32 { // contents of the entire transaction are rolled back. This is different // from a normal transaction rollback, as no locks are released and the // transaction remains open. -func Xsqlite3BtreeSavepoint(tls *libc.TLS, p uintptr, op int32, iSavepoint int32) int32 { /* sqlite3.c:70530:20: */ +func Xsqlite3BtreeSavepoint(tls *libc.TLS, p uintptr, op int32, iSavepoint int32) int32 { /* sqlite3.c:70540:20: */ var rc int32 = SQLITE_OK if p != 0 && int32((*Btree)(unsafe.Pointer(p)).FinTrans) == TRANS_WRITE { var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt @@ -47624,7 +47634,7 @@ func Xsqlite3BtreeSavepoint(tls *libc.TLS, p uintptr, op int32, iSavepoint int32 // // It is assumed that the sqlite3BtreeCursorZero() has been called // on pCur to initialize the memory space prior to invoking this routine. -func btreeCursor(tls *libc.TLS, p uintptr, iTable Pgno, wrFlag int32, pKeyInfo uintptr, pCur uintptr) int32 { /* sqlite3.c:70601:12: */ +func btreeCursor(tls *libc.TLS, p uintptr, iTable Pgno, wrFlag int32, pKeyInfo uintptr, pCur uintptr) int32 { /* sqlite3.c:70611:12: */ var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt // Shared b-tree handle var pX uintptr // Looping over other all cursors @@ -47637,7 +47647,7 @@ func btreeCursor(tls *libc.TLS, p uintptr, iTable Pgno, wrFlag int32, pKeyInfo u if iTable <= Pgno(1) { if iTable < Pgno(1) { - return Xsqlite3CorruptError(tls, 70633) + return Xsqlite3CorruptError(tls, 70643) } else if btreePagecount(tls, pBt) == Pgno(0) { iTable = Pgno(0) @@ -47675,7 +47685,7 @@ func btreeCursor(tls *libc.TLS, p uintptr, iTable Pgno, wrFlag int32, pKeyInfo u return SQLITE_OK } -func btreeCursorWithLock(tls *libc.TLS, p uintptr, iTable Pgno, wrFlag int32, pKeyInfo uintptr, pCur uintptr) int32 { /* sqlite3.c:70668:12: */ +func btreeCursorWithLock(tls *libc.TLS, p uintptr, iTable Pgno, wrFlag int32, pKeyInfo uintptr, pCur uintptr) int32 { /* sqlite3.c:70678:12: */ var rc int32 Xsqlite3BtreeEnter(tls, p) rc = btreeCursor(tls, p, iTable, wrFlag, pKeyInfo, pCur) @@ -47683,7 +47693,7 @@ func btreeCursorWithLock(tls *libc.TLS, p uintptr, iTable Pgno, wrFlag int32, pK return rc } -func Xsqlite3BtreeCursor(tls *libc.TLS, p uintptr, iTable Pgno, wrFlag int32, pKeyInfo uintptr, pCur uintptr) int32 { /* sqlite3.c:70681:20: */ +func Xsqlite3BtreeCursor(tls *libc.TLS, p uintptr, iTable Pgno, wrFlag int32, pKeyInfo uintptr, pCur uintptr) int32 { /* sqlite3.c:70691:20: */ if (*Btree)(unsafe.Pointer(p)).Fsharable != 0 { return btreeCursorWithLock(tls, p, iTable, wrFlag, pKeyInfo, pCur) } else { @@ -47698,7 +47708,7 @@ func Xsqlite3BtreeCursor(tls *libc.TLS, p uintptr, iTable Pgno, wrFlag int32, pK // sufficient storage to hold a cursor. The BtCursor object is opaque // to users so they cannot do the sizeof() themselves - they must call // this routine. -func Xsqlite3BtreeCursorSize(tls *libc.TLS) int32 { /* sqlite3.c:70703:20: */ +func Xsqlite3BtreeCursorSize(tls *libc.TLS) int32 { /* sqlite3.c:70713:20: */ return int32((uint64(unsafe.Sizeof(BtCursor{})) + uint64(7)) & libc.Uint64FromInt32(libc.CplInt32(7))) } @@ -47708,13 +47718,13 @@ func Xsqlite3BtreeCursorSize(tls *libc.TLS) int32 { /* sqlite3.c:70703:20: */ // to zero. But it turns out that the apPage[] and aiIdx[] arrays // do not need to be zeroed and they are large, so we can save a lot // of run-time by skipping the initialization of those elements. -func Xsqlite3BtreeCursorZero(tls *libc.TLS, p uintptr) { /* sqlite3.c:70715:21: */ +func Xsqlite3BtreeCursorZero(tls *libc.TLS, p uintptr) { /* sqlite3.c:70725:21: */ libc.Xmemset(tls, p, 0, uint64(uintptr(0)+32)) } // Close a cursor. The read lock on the database file is released // when the last cursor is closed. -func Xsqlite3BtreeCloseCursor(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:70723:20: */ +func Xsqlite3BtreeCloseCursor(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:70733:20: */ var pBtree uintptr = (*BtCursor)(unsafe.Pointer(pCur)).FpBtree if pBtree != 0 { var pBt uintptr = (*BtCursor)(unsafe.Pointer(pCur)).FpBt @@ -47755,7 +47765,7 @@ func Xsqlite3BtreeCloseCursor(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c: // // BtCursor.info is a cache of the information in the current cell. // Using this cache reduces the number of calls to btreeParseCell(). -func getCellInfo(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:70784:29: */ +func getCellInfo(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:70794:29: */ if int32((*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnSize) == 0 { *(*U8)(unsafe.Pointer(pCur + 1)) |= U8(BTCF_ValidNKey) btreeParseCell(tls, (*BtCursor)(unsafe.Pointer(pCur)).FpPage, int32((*BtCursor)(unsafe.Pointer(pCur)).Fix), pCur+48) @@ -47764,7 +47774,7 @@ func getCellInfo(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:70784:29: */ } } -func Xsqlite3BtreeCursorIsValidNN(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:70803:20: */ +func Xsqlite3BtreeCursorIsValidNN(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:70813:20: */ return libc.Bool32(int32((*BtCursor)(unsafe.Pointer(pCur)).FeState) == CURSOR_VALID) } @@ -47773,26 +47783,26 @@ func Xsqlite3BtreeCursorIsValidNN(tls *libc.TLS, pCur uintptr) int32 { /* sqlite // This routine is only valid for a cursor that is pointing into a // ordinary table btree. If the cursor points to an index btree or // is invalid, the result of this routine is undefined. -func Xsqlite3BtreeIntegerKey(tls *libc.TLS, pCur uintptr) I64 { /* sqlite3.c:70814:20: */ +func Xsqlite3BtreeIntegerKey(tls *libc.TLS, pCur uintptr) I64 { /* sqlite3.c:70824:20: */ getCellInfo(tls, pCur) return (*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnKey } // Pin or unpin a cursor. -func Xsqlite3BtreeCursorPin(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:70825:21: */ +func Xsqlite3BtreeCursorPin(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:70835:21: */ *(*U8)(unsafe.Pointer(pCur + 1)) |= U8(BTCF_Pinned) } -func Xsqlite3BtreeCursorUnpin(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:70829:21: */ +func Xsqlite3BtreeCursorUnpin(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:70839:21: */ *(*U8)(unsafe.Pointer(pCur + 1)) &= libc.Uint8FromInt32(libc.CplInt32(BTCF_Pinned)) } // Return the offset into the database file for the start of the // payload to which the cursor is pointing. -func Xsqlite3BtreeOffset(tls *libc.TLS, pCur uintptr) I64 { /* sqlite3.c:70839:20: */ +func Xsqlite3BtreeOffset(tls *libc.TLS, pCur uintptr) I64 { /* sqlite3.c:70849:20: */ getCellInfo(tls, pCur) return I64((*BtShared)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pCur)).FpBt)).FpageSize)*(I64((*MemPage)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pCur)).FpPage)).Fpgno)-int64(1)) + I64((int64((*BtCursor)(unsafe.Pointer(pCur)).Finfo.FpPayload)-int64((*MemPage)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pCur)).FpPage)).FaData))/1) @@ -47805,7 +47815,7 @@ func Xsqlite3BtreeOffset(tls *libc.TLS, pCur uintptr) I64 { /* sqlite3.c:70839:2 // The caller must guarantee that the cursor is pointing to a non-NULL // valid entry. In other words, the calling procedure must guarantee // that the cursor has Cursor.eState==CURSOR_VALID. -func Xsqlite3BtreePayloadSize(tls *libc.TLS, pCur uintptr) U32 { /* sqlite3.c:70857:20: */ +func Xsqlite3BtreePayloadSize(tls *libc.TLS, pCur uintptr) U32 { /* sqlite3.c:70867:20: */ getCellInfo(tls, pCur) return (*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnPayload @@ -47822,7 +47832,7 @@ func Xsqlite3BtreePayloadSize(tls *libc.TLS, pCur uintptr) U32 { /* sqlite3.c:70 // // The current implementation merely returns the size of the underlying // database file. -func Xsqlite3BtreeMaxRecordSize(tls *libc.TLS, pCur uintptr) Sqlite3_int64 { /* sqlite3.c:70877:30: */ +func Xsqlite3BtreeMaxRecordSize(tls *libc.TLS, pCur uintptr) Sqlite3_int64 { /* sqlite3.c:70887:30: */ return Sqlite3_int64((*BtShared)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pCur)).FpBt)).FpageSize) * Sqlite3_int64((*BtShared)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pCur)).FpBt)).FnPage) } @@ -47844,7 +47854,7 @@ func Xsqlite3BtreeMaxRecordSize(tls *libc.TLS, pCur uintptr) Sqlite3_int64 { /* // on *ppPage to free the reference. In no reference was obtained (because // the pointer-map was used to obtain the value for *pPgnoNext), then // *ppPage is set to zero. -func getOverflowPage(tls *libc.TLS, pBt uintptr, ovfl Pgno, ppPage uintptr, pPgnoNext uintptr) int32 { /* sqlite3.c:70902:12: */ +func getOverflowPage(tls *libc.TLS, pBt uintptr, ovfl Pgno, ppPage uintptr, pPgnoNext uintptr) int32 { /* sqlite3.c:70912:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -47912,7 +47922,7 @@ func getOverflowPage(tls *libc.TLS, pBt uintptr, ovfl Pgno, ppPage uintptr, pPgn // of data are copied from the buffer pBuf to pPayload. // // SQLITE_OK is returned on success, otherwise an error code. -func copyPayload(tls *libc.TLS, pPayload uintptr, pBuf uintptr, nByte int32, eOp int32, pDbPage uintptr) int32 { /* sqlite3.c:70970:12: */ +func copyPayload(tls *libc.TLS, pPayload uintptr, pBuf uintptr, nByte int32, eOp int32, pDbPage uintptr) int32 { /* sqlite3.c:70980:12: */ if eOp != 0 { // Copy data from buffer to page (a write operation) var rc int32 = Xsqlite3PagerWrite(tls, pDbPage) @@ -47954,7 +47964,7 @@ func copyPayload(tls *libc.TLS, pPayload uintptr, pBuf uintptr, nByte int32, eOp // * An incremental vacuum, // * A commit in auto_vacuum="full" mode, // * Creating a table (may require moving an overflow page). -func accessPayload(tls *libc.TLS, pCur uintptr, offset U32, amt U32, pBuf uintptr, eOp int32) int32 { /* sqlite3.c:71020:12: */ +func accessPayload(tls *libc.TLS, pCur uintptr, offset U32, amt U32, pBuf uintptr, eOp int32) int32 { /* sqlite3.c:71030:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -47965,7 +47975,7 @@ func accessPayload(tls *libc.TLS, pCur uintptr, offset U32, amt U32, pBuf uintpt var pBt uintptr = (*BtCursor)(unsafe.Pointer(pCur)).FpBt // Btree this cursor belongs to if int32((*BtCursor)(unsafe.Pointer(pCur)).Fix) >= int32((*MemPage)(unsafe.Pointer(pPage)).FnCell) { - return Xsqlite3CorruptError(tls, 71040) + return Xsqlite3CorruptError(tls, 71050) } getCellInfo(tls, pCur) @@ -47976,7 +47986,7 @@ func accessPayload(tls *libc.TLS, pCur uintptr, offset U32, amt U32, pBuf uintpt // conditional above is really: // &aPayload[pCur->info.nLocal] > &pPage->aData[pBt->usableSize] // but is recast into its current form to avoid integer overflow problems - return Xsqlite3CorruptError(tls, 71055) + return Xsqlite3CorruptError(tls, 71065) } // Check if data must be read/written to/from the btree page itself. @@ -48033,7 +48043,7 @@ func accessPayload(tls *libc.TLS, pCur uintptr, offset U32, amt U32, pBuf uintpt for *(*Pgno)(unsafe.Pointer(bp)) != 0 { // If required, populate the overflow page-list cache. if *(*Pgno)(unsafe.Pointer(bp)) > (*BtShared)(unsafe.Pointer(pBt)).FnPage { - return Xsqlite3CorruptError(tls, 71117) + return Xsqlite3CorruptError(tls, 71127) } *(*Pgno)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pCur)).FaOverflow + uintptr(iIdx)*4)) = *(*Pgno)(unsafe.Pointer(bp /* nextPage */)) @@ -48093,7 +48103,7 @@ func accessPayload(tls *libc.TLS, pCur uintptr, offset U32, amt U32, pBuf uintpt if rc == SQLITE_OK && amt > U32(0) { // Overflow chain ends prematurely - return Xsqlite3CorruptError(tls, 71202) + return Xsqlite3CorruptError(tls, 71212) } return rc } @@ -48113,7 +48123,7 @@ func accessPayload(tls *libc.TLS, pCur uintptr, offset U32, amt U32, pBuf uintpt // Return SQLITE_OK on success or an error code if anything goes // wrong. An error is returned if "offset+amt" is larger than // the available payload. -func Xsqlite3BtreePayload(tls *libc.TLS, pCur uintptr, offset U32, amt U32, pBuf uintptr) int32 { /* sqlite3.c:71224:20: */ +func Xsqlite3BtreePayload(tls *libc.TLS, pCur uintptr, offset U32, amt U32, pBuf uintptr) int32 { /* sqlite3.c:71234:20: */ return accessPayload(tls, pCur, offset, amt, pBuf, 0) } @@ -48121,7 +48131,7 @@ func Xsqlite3BtreePayload(tls *libc.TLS, pCur uintptr, offset U32, amt U32, pBuf // This variant of sqlite3BtreePayload() works even if the cursor has not // in the CURSOR_VALID state. It is only used by the sqlite3_blob_read() // interface. -func accessPayloadChecked(tls *libc.TLS, pCur uintptr, offset U32, amt U32, pBuf uintptr) int32 { /* sqlite3.c:71237:28: */ +func accessPayloadChecked(tls *libc.TLS, pCur uintptr, offset U32, amt U32, pBuf uintptr) int32 { /* sqlite3.c:71247:28: */ var rc int32 if int32((*BtCursor)(unsafe.Pointer(pCur)).FeState) == CURSOR_INVALID { return SQLITE_ABORT @@ -48134,7 +48144,7 @@ func accessPayloadChecked(tls *libc.TLS, pCur uintptr, offset U32, amt U32, pBuf return accessPayload(tls, pCur, offset, amt, pBuf, 0) } -func Xsqlite3BtreePayloadChecked(tls *libc.TLS, pCur uintptr, offset U32, amt U32, pBuf uintptr) int32 { /* sqlite3.c:71251:20: */ +func Xsqlite3BtreePayloadChecked(tls *libc.TLS, pCur uintptr, offset U32, amt U32, pBuf uintptr) int32 { /* sqlite3.c:71261:20: */ if int32((*BtCursor)(unsafe.Pointer(pCur)).FeState) == CURSOR_VALID { return accessPayload(tls, pCur, offset, amt, pBuf, 0) @@ -48161,7 +48171,7 @@ func Xsqlite3BtreePayloadChecked(tls *libc.TLS, pCur uintptr, offset U32, amt U3 // The pointer returned by this routine looks directly into the cached // page of the database. The data might change or move the next time // any btree routine is called. -func fetchPayload(tls *libc.TLS, pCur uintptr, pAmt uintptr) uintptr { /* sqlite3.c:71280:19: */ +func fetchPayload(tls *libc.TLS, pCur uintptr, pAmt uintptr) uintptr { /* sqlite3.c:71290:19: */ var amt int32 amt = int32((*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnLocal) @@ -48192,7 +48202,7 @@ func fetchPayload(tls *libc.TLS, pCur uintptr, pAmt uintptr) uintptr { /* sqlite // // These routines is used to get quick access to key and data // in the common case where no overflow pages are used. -func Xsqlite3BtreePayloadFetch(tls *libc.TLS, pCur uintptr, pAmt uintptr) uintptr { /* sqlite3.c:71319:27: */ +func Xsqlite3BtreePayloadFetch(tls *libc.TLS, pCur uintptr, pAmt uintptr) uintptr { /* sqlite3.c:71329:27: */ return fetchPayload(tls, pCur, pAmt) } @@ -48203,11 +48213,11 @@ func Xsqlite3BtreePayloadFetch(tls *libc.TLS, pCur uintptr, pAmt uintptr) uintpt // the new child page does not match the flags field of the parent (i.e. // if an intkey page appears to be the parent of a non-intkey page, or // vice-versa). -func moveToChild(tls *libc.TLS, pCur uintptr, newPgno U32) int32 { /* sqlite3.c:71333:12: */ +func moveToChild(tls *libc.TLS, pCur uintptr, newPgno U32) int32 { /* sqlite3.c:71343:12: */ var pBt uintptr = (*BtCursor)(unsafe.Pointer(pCur)).FpBt if int32((*BtCursor)(unsafe.Pointer(pCur)).FiPage) >= BTCURSOR_MAX_DEPTH-1 { - return Xsqlite3CorruptError(tls, 71341) + return Xsqlite3CorruptError(tls, 71351) } (*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnSize = U16(0) *(*U8)(unsafe.Pointer(pCur + 1)) &= libc.Uint8FromInt32(libc.CplInt32(BTCF_ValidNKey | BTCF_ValidOvfl)) @@ -48224,7 +48234,7 @@ func moveToChild(tls *libc.TLS, pCur uintptr, newPgno U32) int32 { /* sqlite3.c: // to the page we are coming from. If we are coming from the // right-most child page then pCur->idx is set to one more than // the largest cell index. -func moveToParent(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:71382:13: */ +func moveToParent(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:71392:13: */ var pLeaf uintptr (*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnSize = U16(0) @@ -48254,7 +48264,7 @@ func moveToParent(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:71382:13: */ // indicating a table b-tree, or if the caller did specify a KeyInfo // structure the flags byte is set to 0x02 or 0x0A, indicating an index // b-tree). -func moveToRoot(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:71423:12: */ +func moveToRoot(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:71433:12: */ var pRoot uintptr var rc int32 var subpage Pgno @@ -48333,7 +48343,7 @@ __2: if !(int32((*MemPage)(unsafe.Pointer(pRoot)).FisInit) == 0 || libc.Bool32((*BtCursor)(unsafe.Pointer(pCur)).FpKeyInfo == uintptr(0)) != int32((*MemPage)(unsafe.Pointer(pRoot)).FintKey)) { goto __11 } - return Xsqlite3CorruptError(tls, 71479) + return Xsqlite3CorruptError(tls, 71489) __11: ; @@ -48354,7 +48364,7 @@ __12: if !((*MemPage)(unsafe.Pointer(pRoot)).Fpgno != Pgno(1)) { goto __16 } - return Xsqlite3CorruptError(tls, 71491) + return Xsqlite3CorruptError(tls, 71501) __16: ; subpage = Xsqlite3Get4byte(tls, (*MemPage)(unsafe.Pointer(pRoot)).FaData+uintptr(int32((*MemPage)(unsafe.Pointer(pRoot)).FhdrOffset)+8)) @@ -48376,7 +48386,7 @@ __13: // // The left-most leaf is the one with the smallest key - the first // in ascending order. -func moveToLeftmost(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:71509:12: */ +func moveToLeftmost(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:71519:12: */ var pgno Pgno var rc int32 = SQLITE_OK var pPage uintptr @@ -48397,7 +48407,7 @@ func moveToLeftmost(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:71509:12: // // The right-most entry is the one with the largest key - the last // key in ascending order. -func moveToRightmost(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:71534:12: */ +func moveToRightmost(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:71544:12: */ var pgno Pgno var rc int32 = SQLITE_OK var pPage uintptr = uintptr(0) @@ -48418,7 +48428,7 @@ func moveToRightmost(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:71534:12: // Move the cursor to the first entry in the table. Return SQLITE_OK // on success. Set *pRes to 0 if the cursor actually points to something // or set *pRes to 1 if the table is empty. -func Xsqlite3BtreeFirst(tls *libc.TLS, pCur uintptr, pRes uintptr) int32 { /* sqlite3.c:71557:20: */ +func Xsqlite3BtreeFirst(tls *libc.TLS, pCur uintptr, pRes uintptr) int32 { /* sqlite3.c:71567:20: */ var rc int32 rc = moveToRoot(tls, pCur) @@ -48437,7 +48447,7 @@ func Xsqlite3BtreeFirst(tls *libc.TLS, pCur uintptr, pRes uintptr) int32 { /* sq // Move the cursor to the last entry in the table. Return SQLITE_OK // on success. Set *pRes to 0 if the cursor actually points to something // or set *pRes to 1 if the table is empty. -func Xsqlite3BtreeLast(tls *libc.TLS, pCur uintptr, pRes uintptr) int32 { /* sqlite3.c:71579:20: */ +func Xsqlite3BtreeLast(tls *libc.TLS, pCur uintptr, pRes uintptr) int32 { /* sqlite3.c:71589:20: */ var rc int32 // If the cursor already points to the last entry, this is a no-op. @@ -48486,7 +48496,7 @@ func Xsqlite3BtreeLast(tls *libc.TLS, pCur uintptr, pRes uintptr) int32 { /* sql // // *pRes>0 The cursor is left pointing at an entry that // is larger than intKey. -func Xsqlite3BtreeTableMoveto(tls *libc.TLS, pCur uintptr, intKey I64, biasRight int32, pRes uintptr) int32 { /* sqlite3.c:71644:20: */ +func Xsqlite3BtreeTableMoveto(tls *libc.TLS, pCur uintptr, intKey I64, biasRight int32, pRes uintptr) int32 { /* sqlite3.c:71654:20: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -48601,7 +48611,7 @@ __19: if !(pCell >= (*MemPage)(unsafe.Pointer(pPage)).FaDataEnd) { goto __21 } - return Xsqlite3CorruptError(tls, 71733) + return Xsqlite3CorruptError(tls, 71743) __21: ; goto __19 @@ -48730,7 +48740,7 @@ moveto_table_finish: // // The pIdxKey->eqSeen field is set to 1 if there // exists an entry in the table that exactly matches pIdxKey. -func Xsqlite3BtreeIndexMoveto(tls *libc.TLS, pCur uintptr, pIdxKey uintptr, pRes uintptr) int32 { /* sqlite3.c:71812:20: */ +func Xsqlite3BtreeIndexMoveto(tls *libc.TLS, pCur uintptr, pIdxKey uintptr, pRes uintptr) int32 { /* sqlite3.c:71822:20: */ var rc int32 var xRecordCompare RecordCompare // The record flows over onto one or more overflow pages. In @@ -48834,7 +48844,7 @@ __11: if !(nCell < 2 || U32(nCell)/(*BtShared)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pCur)).FpBt)).FusableSize > (*BtShared)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pCur)).FpBt)).FnPage) { goto __13 } - rc = Xsqlite3CorruptError(tls, 71914) + rc = Xsqlite3CorruptError(tls, 71924) goto moveto_index_finish __13: ; @@ -48883,7 +48893,7 @@ __18: if !((*UnpackedRecord)(unsafe.Pointer(pIdxKey)).FerrCode != 0) { goto __20 } - rc = Xsqlite3CorruptError(tls, 71946) + rc = Xsqlite3CorruptError(tls, 71956) __20: ; goto moveto_index_finish @@ -48950,7 +48960,7 @@ moveto_index_finish: // TRUE will be returned after a call to sqlite3BtreeNext() moves // past the last entry in the table or sqlite3BtreePrev() moves past // the first entry. TRUE is also returned if the table is empty. -func Xsqlite3BtreeEof(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:71985:20: */ +func Xsqlite3BtreeEof(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:71995:20: */ // TODO: What if the cursor is in CURSOR_REQUIRESEEK but all table entries // have been deleted? This API will need to change to return an error code // as well as the boolean result value. @@ -48960,7 +48970,7 @@ func Xsqlite3BtreeEof(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:71985:20 // Return an estimate for the number of rows in the table that pCur is // pointing to. Return a negative number if no estimate is currently // available. -func Xsqlite3BtreeRowCountEst(tls *libc.TLS, pCur uintptr) I64 { /* sqlite3.c:71998:20: */ +func Xsqlite3BtreeRowCountEst(tls *libc.TLS, pCur uintptr) I64 { /* sqlite3.c:72008:20: */ var n I64 var i U8 @@ -48999,7 +49009,7 @@ func Xsqlite3BtreeRowCountEst(tls *libc.TLS, pCur uintptr) I64 { /* sqlite3.c:71 // skipped if the SQL index had been a unique index. The F argument // is a hint to the implement. SQLite btree implementation does not use // this hint, but COMDB2 does. -func btreeNext(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:72038:28: */ +func btreeNext(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:72048:28: */ var rc int32 var idx int32 var pPage uintptr @@ -49036,7 +49046,7 @@ func btreeNext(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:72038:28: */ // has pages in common with the table being queried. See TH3 // module cov1/btree78.test testcase 220 (2018-06-08) for an // example. - return Xsqlite3CorruptError(tls, 72069) + return Xsqlite3CorruptError(tls, 72079) } if idx >= int32((*MemPage)(unsafe.Pointer(pPage)).FnCell) { @@ -49069,7 +49079,7 @@ func btreeNext(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:72038:28: */ return int32(0) } -func Xsqlite3BtreeNext(tls *libc.TLS, pCur uintptr, flags int32) int32 { /* sqlite3.c:72098:20: */ +func Xsqlite3BtreeNext(tls *libc.TLS, pCur uintptr, flags int32) int32 { /* sqlite3.c:72108:20: */ var pPage uintptr _ = flags // Used in COMDB2 but not native SQLite @@ -49109,7 +49119,7 @@ func Xsqlite3BtreeNext(tls *libc.TLS, pCur uintptr, flags int32) int32 { /* sqli // skipped if the SQL index had been a unique index. The F argument is a // hint to the implement. The native SQLite btree implementation does not // use this hint, but COMDB2 does. -func btreePrevious(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:72138:28: */ +func btreePrevious(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:72148:28: */ var rc int32 var pPage uintptr @@ -49163,7 +49173,7 @@ func btreePrevious(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:72138:28: * return rc } -func Xsqlite3BtreePrevious(tls *libc.TLS, pCur uintptr, flags int32) int32 { /* sqlite3.c:72187:20: */ +func Xsqlite3BtreePrevious(tls *libc.TLS, pCur uintptr, flags int32) int32 { /* sqlite3.c:72197:20: */ _ = flags // Used in COMDB2 but not native SQLite *(*U8)(unsafe.Pointer(pCur + 1)) &= libc.Uint8FromInt32(libc.CplInt32(BTCF_AtLast | BTCF_ValidOvfl | BTCF_ValidNKey)) @@ -49197,7 +49207,7 @@ func Xsqlite3BtreePrevious(tls *libc.TLS, pCur uintptr, flags int32) int32 { /* // eMode is BTALLOC_LT then the page returned will be less than or equal // to nearby if any such page exists. If eMode is BTALLOC_ANY then there // are no restrictions on which page is returned. -func allocateBtreePage(tls *libc.TLS, pBt uintptr, ppPage uintptr, pPgno uintptr, nearby Pgno, eMode U8) int32 { /* sqlite3.c:72225:12: */ +func allocateBtreePage(tls *libc.TLS, pBt uintptr, ppPage uintptr, pPgno uintptr, nearby Pgno, eMode U8) int32 { /* sqlite3.c:72235:12: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -49264,7 +49274,7 @@ func allocateBtreePage(tls *libc.TLS, pBt uintptr, ppPage uintptr, pPgno uintptr if !(n >= mxPage) { goto __1 } - return Xsqlite3CorruptError(tls, 72249) + return Xsqlite3CorruptError(tls, 72259) __1: ; if !(n > U32(0)) { @@ -49345,7 +49355,7 @@ __15: if !(iTrunk > mxPage || libc.PostIncUint32(&nSearch, 1) > n) { goto __16 } - rc = Xsqlite3CorruptError(tls, 72305) + rc = Xsqlite3CorruptError(tls, 72315) goto __17 __16: rc = btreeGetUnusedPage(tls, pBt, iTrunk, bp+8, 0) @@ -49387,7 +49397,7 @@ __19: goto __22 } // Value of k is out of range. Database corruption - rc = Xsqlite3CorruptError(tls, 72334) + rc = Xsqlite3CorruptError(tls, 72344) goto end_allocate_page goto __23 __22: @@ -49432,7 +49442,7 @@ __27: if !(iNewTrunk > mxPage) { goto __32 } - rc = Xsqlite3CorruptError(tls, 72368) + rc = Xsqlite3CorruptError(tls, 72378) goto end_allocate_page __32: ; @@ -49546,7 +49556,7 @@ __40: if !(iPage > mxPage || iPage < Pgno(2)) { goto __51 } - rc = Xsqlite3CorruptError(tls, 72433) + rc = Xsqlite3CorruptError(tls, 72443) goto end_allocate_page __51: ; @@ -49721,7 +49731,7 @@ end_allocate_page: // // If a pointer to a MemPage object is passed as the second argument, // its reference count is not altered by this function. -func freePage2(tls *libc.TLS, pBt uintptr, pMemPage uintptr, iPage Pgno) int32 { /* sqlite3.c:72547:12: */ +func freePage2(tls *libc.TLS, pBt uintptr, pMemPage uintptr, iPage Pgno) int32 { /* sqlite3.c:72557:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -49742,7 +49752,7 @@ func freePage2(tls *libc.TLS, pBt uintptr, pMemPage uintptr, iPage Pgno) int32 { if !(iPage < Pgno(2) || iPage > (*BtShared)(unsafe.Pointer(pBt)).FnPage) { goto __1 } - return Xsqlite3CorruptError(tls, 72560) + return Xsqlite3CorruptError(tls, 72570) __1: ; if !(pMemPage != 0) { @@ -49812,7 +49822,7 @@ __7: if !(iTrunk > btreePagecount(tls, pBt)) { goto __10 } - *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) = Xsqlite3CorruptError(tls, 72607) + *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) = Xsqlite3CorruptError(tls, 72617) goto freepage_out __10: ; @@ -49829,7 +49839,7 @@ __11: if !(nLeaf > (*BtShared)(unsafe.Pointer(pBt)).FusableSize/U32(4)-U32(2)) { goto __12 } - *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) = Xsqlite3CorruptError(tls, 72618) + *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) = Xsqlite3CorruptError(tls, 72628) goto freepage_out __12: ; @@ -49910,14 +49920,14 @@ __18: return *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) } -func freePage(tls *libc.TLS, pPage uintptr, pRC uintptr) { /* sqlite3.c:72681:13: */ +func freePage(tls *libc.TLS, pPage uintptr, pRC uintptr) { /* sqlite3.c:72691:13: */ if *(*int32)(unsafe.Pointer(pRC)) == SQLITE_OK { *(*int32)(unsafe.Pointer(pRC)) = freePage2(tls, (*MemPage)(unsafe.Pointer(pPage)).FpBt, pPage, (*MemPage)(unsafe.Pointer(pPage)).Fpgno) } } // Free the overflow pages associated with the given Cell. -func clearCellOverflow(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintptr) int32 { /* sqlite3.c:72690:28: */ +func clearCellOverflow(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintptr) int32 { /* sqlite3.c:72700:28: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -49929,7 +49939,7 @@ func clearCellOverflow(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintpt if pCell+uintptr((*CellInfo)(unsafe.Pointer(pInfo)).FnSize) > (*MemPage)(unsafe.Pointer(pPage)).FaDataEnd { // Cell extends past end of page - return Xsqlite3CorruptError(tls, 72707) + return Xsqlite3CorruptError(tls, 72717) } ovflPgno = Xsqlite3Get4byte(tls, pCell+uintptr((*CellInfo)(unsafe.Pointer(pInfo)).FnSize)-uintptr(4)) pBt = (*MemPage)(unsafe.Pointer(pPage)).FpBt @@ -49944,7 +49954,7 @@ func clearCellOverflow(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintpt // 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 Xsqlite3CorruptError(tls, 72724) + return Xsqlite3CorruptError(tls, 72734) } if nOvfl != 0 { rc = getOverflowPage(tls, pBt, ovflPgno, bp, bp+8) @@ -49964,7 +49974,7 @@ func clearCellOverflow(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintpt // enabled. If this 'overflow' page happens to be a page that the // caller is iterating through or using in some other way, this // can be problematic. - rc = Xsqlite3CorruptError(tls, 72744) + rc = Xsqlite3CorruptError(tls, 72754) } else { rc = freePage2(tls, pBt, *(*uintptr)(unsafe.Pointer(bp /* pOvfl */)), ovflPgno) } @@ -49996,7 +50006,7 @@ func clearCellOverflow(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintpt // area. pCell might point to some temporary storage. The cell will // be constructed in this temporary area then copied into pPage->aData // later. -func fillInCell(tls *libc.TLS, pPage uintptr, pCell uintptr, pX uintptr, pnSize uintptr) int32 { /* sqlite3.c:72785:12: */ +func fillInCell(tls *libc.TLS, pPage uintptr, pCell uintptr, pX uintptr, pnSize uintptr) int32 { /* sqlite3.c:72795:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -50178,7 +50188,7 @@ func fillInCell(tls *libc.TLS, pPage uintptr, pCell uintptr, pX uintptr, pnSize // removes the reference to the cell from pPage. // // "sz" must be the number of bytes in the cell. -func dropCell(tls *libc.TLS, pPage uintptr, idx int32, sz int32, pRC uintptr) { /* sqlite3.c:72975:13: */ +func dropCell(tls *libc.TLS, pPage uintptr, idx int32, sz int32, pRC uintptr) { /* sqlite3.c:72985:13: */ var pc U32 // Offset to cell content of cell being deleted var data uintptr // pPage->aData var ptr uintptr // Used to move bytes around within data[] @@ -50196,7 +50206,7 @@ func dropCell(tls *libc.TLS, pPage uintptr, idx int32, sz int32, pRC uintptr) { hdr = int32((*MemPage)(unsafe.Pointer(pPage)).FhdrOffset) if pc+U32(sz) > (*BtShared)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize { - *(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 73003) + *(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 73013) return } rc = freeSpace(tls, pPage, uint16(pc), uint16(sz)) @@ -50232,7 +50242,7 @@ func dropCell(tls *libc.TLS, pPage uintptr, idx int32, sz int32, pRC uintptr) { // pPage->nOverflow is incremented. // // *pRC must be SQLITE_OK when this routine is called. -func insertCell(tls *libc.TLS, pPage uintptr, i int32, pCell uintptr, sz int32, pTemp uintptr, iChild Pgno, pRC uintptr) { /* sqlite3.c:73039:13: */ +func insertCell(tls *libc.TLS, pPage uintptr, i int32, pCell uintptr, sz int32, pTemp uintptr, iChild Pgno, pRC uintptr) { /* sqlite3.c:73049:13: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -50393,7 +50403,7 @@ type CellArray1 = struct { FszCell uintptr FapEnd [6]uintptr FixNx [6]int32 -} /* sqlite3.c:73214:9 */ +} /* sqlite3.c:73224:9 */ // The following parameters determine how many adjacent pages get involved // in a balancing operation. NN is the number of neighbors on either side @@ -50470,11 +50480,11 @@ type CellArray1 = struct { // cases, ixNx[] entries with higher indexes, and the corresponding apEnd[] // entries, shift down. The end result is that each ixNx[] entry should // be larger than the previous -type CellArray = CellArray1 /* sqlite3.c:73214:26 */ +type CellArray = CellArray1 /* sqlite3.c:73224:26 */ // Make sure the cell sizes at idx, idx+1, ..., idx+N-1 have been // computed. -func populateCellCache(tls *libc.TLS, p uintptr, idx int32, N int32) { /* sqlite3.c:73228:13: */ +func populateCellCache(tls *libc.TLS, p uintptr, idx int32, N int32) { /* sqlite3.c:73238:13: */ for N > 0 { @@ -50491,7 +50501,7 @@ func populateCellCache(tls *libc.TLS, p uintptr, idx int32, N int32) { /* sqlite } // Return the size of the Nth element of the cell array -func computeCellSize(tls *libc.TLS, p uintptr, N int32) U16 { /* sqlite3.c:73246:28: */ +func computeCellSize(tls *libc.TLS, p uintptr, N int32) U16 { /* sqlite3.c:73256:28: */ *(*U16)(unsafe.Pointer((*CellArray)(unsafe.Pointer(p)).FszCell + uintptr(N)*2)) = (*struct { f func(*libc.TLS, uintptr, uintptr) U16 @@ -50499,7 +50509,7 @@ func computeCellSize(tls *libc.TLS, p uintptr, N int32) U16 { /* sqlite3.c:73246 return *(*U16)(unsafe.Pointer((*CellArray)(unsafe.Pointer(p)).FszCell + uintptr(N)*2)) } -func cachedCellSize(tls *libc.TLS, p uintptr, N int32) U16 { /* sqlite3.c:73252:12: */ +func cachedCellSize(tls *libc.TLS, p uintptr, N int32) U16 { /* sqlite3.c:73262:12: */ if *(*U16)(unsafe.Pointer((*CellArray)(unsafe.Pointer(p)).FszCell + uintptr(N)*2)) != 0 { return *(*U16)(unsafe.Pointer((*CellArray)(unsafe.Pointer(p)).FszCell + uintptr(N)*2)) @@ -50518,7 +50528,7 @@ func cachedCellSize(tls *libc.TLS, p uintptr, N int32) U16 { /* sqlite3.c:73252: // // The MemPage.nFree field is invalidated by this function. It is the // responsibility of the caller to set it correctly. -func rebuildPage(tls *libc.TLS, pCArray uintptr, iFirst int32, nCell int32, pPg uintptr) int32 { /* sqlite3.c:73271:12: */ +func rebuildPage(tls *libc.TLS, pCArray uintptr, iFirst int32, nCell int32, pPg uintptr) int32 { /* sqlite3.c:73281:12: */ var hdr int32 = int32((*MemPage)(unsafe.Pointer(pPg)).FhdrOffset) // Offset of header on pPg var aData uintptr = (*MemPage)(unsafe.Pointer(pPg)).FaData // Pointer to data for pPg var usableSize int32 = int32((*BtShared)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPg)).FpBt)).FusableSize) @@ -50549,12 +50559,12 @@ func rebuildPage(tls *libc.TLS, pCArray uintptr, iFirst int32, nCell int32, pPg if Uptr(pCell) >= Uptr(aData+uintptr(j)) && Uptr(pCell) < Uptr(pEnd) { if Uptr(pCell+uintptr(sz)) > Uptr(pEnd) { - return Xsqlite3CorruptError(tls, 73304) + return Xsqlite3CorruptError(tls, 73314) } pCell = pTmp + uintptr((int64(pCell)-int64(aData))/1) } else if Uptr(pCell+uintptr(sz)) > Uptr(pSrcEnd) && Uptr(pCell) < Uptr(pSrcEnd) { - return Xsqlite3CorruptError(tls, 73309) + return Xsqlite3CorruptError(tls, 73319) } pData -= uintptr(sz) @@ -50562,7 +50572,7 @@ func rebuildPage(tls *libc.TLS, pCArray uintptr, iFirst int32, nCell int32, pPg *(*U8)(unsafe.Pointer(pCellptr + 1)) = U8((int64(pData) - int64(aData)) / 1) pCellptr += uintptr(2) if pData < pCellptr { - return Xsqlite3CorruptError(tls, 73315) + return Xsqlite3CorruptError(tls, 73325) } libc.Xmemmove(tls, pData, pCell, uint64(sz)) @@ -50612,7 +50622,7 @@ func rebuildPage(tls *libc.TLS, pCArray uintptr, iFirst int32, nCell int32, pPg // all cells - not just those inserted by the current call). If the content // area must be extended to before this point in order to accomodate all // cells in apCell[], then the cells do not fit and non-zero is returned. -func pageInsertArray(tls *libc.TLS, pPg uintptr, pBegin uintptr, ppData uintptr, pCellptr uintptr, iFirst int32, nCell int32, pCArray uintptr) int32 { /* sqlite3.c:73361:12: */ +func pageInsertArray(tls *libc.TLS, pPg uintptr, pBegin uintptr, ppData uintptr, pCellptr uintptr, iFirst int32, nCell int32, pCArray uintptr) int32 { /* sqlite3.c:73371:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -50650,7 +50660,7 @@ func pageInsertArray(tls *libc.TLS, pPg uintptr, pBegin uintptr, ppData uintptr, if Uptr(*(*uintptr)(unsafe.Pointer((*CellArray)(unsafe.Pointer(pCArray)).FapCell + uintptr(i)*8))+uintptr(sz)) > Uptr(pEnd) && Uptr(*(*uintptr)(unsafe.Pointer((*CellArray)(unsafe.Pointer(pCArray)).FapCell + uintptr(i)*8))) < Uptr(pEnd) { - Xsqlite3CorruptError(tls, 73400) + Xsqlite3CorruptError(tls, 73410) return 1 } libc.Xmemmove(tls, pSlot, *(*uintptr)(unsafe.Pointer((*CellArray)(unsafe.Pointer(pCArray)).FapCell + uintptr(i)*8)), uint64(sz)) @@ -50677,7 +50687,7 @@ func pageInsertArray(tls *libc.TLS, pPg uintptr, pBegin uintptr, ppData uintptr, // The cell-pointers and other fields of the page are not updated. // // This function returns the total number of cells added to the free-list. -func pageFreeArray(tls *libc.TLS, pPg uintptr, iFirst int32, nCell int32, pCArray uintptr) int32 { /* sqlite3.c:73426:12: */ +func pageFreeArray(tls *libc.TLS, pPg uintptr, iFirst int32, nCell int32, pCArray uintptr) int32 { /* sqlite3.c:73436:12: */ var aData uintptr = (*MemPage)(unsafe.Pointer(pPg)).FaData var pEnd uintptr = aData + uintptr((*BtShared)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPg)).FpBt)).FusableSize) var pStart uintptr = aData + uintptr(int32((*MemPage)(unsafe.Pointer(pPg)).FhdrOffset)+8+int32((*MemPage)(unsafe.Pointer(pPg)).FchildPtrSize)) @@ -50729,7 +50739,7 @@ func pageFreeArray(tls *libc.TLS, pPg uintptr, iFirst int32, nCell int32, pCArra // // The pPg->nFree field is invalid when this function returns. It is the // responsibility of the caller to set it correctly. -func editPage(tls *libc.TLS, pPg uintptr, iOld int32, iNew int32, nNew int32, pCArray uintptr) int32 { /* sqlite3.c:73485:12: */ +func editPage(tls *libc.TLS, pPg uintptr, iOld int32, iNew int32, nNew int32, pCArray uintptr) int32 { /* sqlite3.c:73495:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -50763,7 +50773,7 @@ func editPage(tls *libc.TLS, pPg uintptr, iOld int32, iNew int32, nNew int32, pC if !(nShift > nCell) { goto __2 } - return Xsqlite3CorruptError(tls, 73511) + return Xsqlite3CorruptError(tls, 73521) __2: ; libc.Xmemmove(tls, (*MemPage)(unsafe.Pointer(pPg)).FaCellIdx, (*MemPage)(unsafe.Pointer(pPg)).FaCellIdx+uintptr(nShift*2), uint64(nCell*2)) @@ -50903,7 +50913,7 @@ editpage_fail: // byte page number followed by a variable length integer. In other // words, at most 13 bytes. Hence the pSpace buffer must be at // least 13 bytes in size. -func balance_quick(tls *libc.TLS, pParent uintptr, pPage uintptr, pSpace uintptr) int32 { /* sqlite3.c:73614:12: */ +func balance_quick(tls *libc.TLS, pParent uintptr, pPage uintptr, pSpace uintptr) int32 { /* sqlite3.c:73624:12: */ bp := tls.Alloc(140) defer tls.Free(140) @@ -50916,7 +50926,7 @@ func balance_quick(tls *libc.TLS, pParent uintptr, pPage uintptr, pSpace uintptr // Page number of pNew if int32((*MemPage)(unsafe.Pointer(pPage)).FnCell) == 0 { - return Xsqlite3CorruptError(tls, 73624) + return Xsqlite3CorruptError(tls, 73634) } // dbfuzz001.test // Allocate a new page. This page will become the right-sibling of @@ -51014,7 +51024,7 @@ func balance_quick(tls *libc.TLS, pParent uintptr, pPage uintptr, pSpace uintptr // The performance of this function is not critical. It is only used by // the balance_shallower() and balance_deeper() procedures, neither of // which are called often under normal circumstances. -func copyNodeContent(tls *libc.TLS, pFrom uintptr, pTo uintptr, pRC uintptr) { /* sqlite3.c:73769:13: */ +func copyNodeContent(tls *libc.TLS, pFrom uintptr, pTo uintptr, pRC uintptr) { /* sqlite3.c:73779:13: */ if *(*int32)(unsafe.Pointer(pRC)) == SQLITE_OK { var pBt uintptr = (*MemPage)(unsafe.Pointer(pFrom)).FpBt var aFrom uintptr = (*MemPage)(unsafe.Pointer(pFrom)).FaData @@ -51094,7 +51104,7 @@ func copyNodeContent(tls *libc.TLS, pFrom uintptr, pTo uintptr, pRC uintptr) { / // // If aOvflSpace is set to a null pointer, this function returns // SQLITE_NOMEM. -func balance_nonroot(tls *libc.TLS, pParent uintptr, iParentIdx int32, aOvflSpace uintptr, isRoot int32, bBulk int32) int32 { /* sqlite3.c:73851:12: */ +func balance_nonroot(tls *libc.TLS, pParent uintptr, iParentIdx int32, aOvflSpace uintptr, isRoot int32, bBulk int32) int32 { /* sqlite3.c:73861:12: */ bp := tls.Alloc(344) defer tls.Free(344) @@ -51396,7 +51406,7 @@ __22: if !(int32(*(*U8)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pOld)).FaData))) != int32(*(*U8)(unsafe.Pointer((*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 112)))).FaData)))) { goto __25 } - *(*int32)(unsafe.Pointer(bp + 172 /* rc */)) = Xsqlite3CorruptError(tls, 74047) + *(*int32)(unsafe.Pointer(bp + 172 /* rc */)) = Xsqlite3CorruptError(tls, 74057) goto balance_cleanup __25: ; @@ -51424,7 +51434,7 @@ __25: if !(limit < int32(*(*U16)(unsafe.Pointer(pOld + 28)))) { goto __27 } - *(*int32)(unsafe.Pointer(bp + 172 /* rc */)) = Xsqlite3CorruptError(tls, 74071) + *(*int32)(unsafe.Pointer(bp + 172 /* rc */)) = Xsqlite3CorruptError(tls, 74081) goto balance_cleanup __27: ; @@ -51603,7 +51613,7 @@ __52: if !(k > NB+2) { goto __55 } - *(*int32)(unsafe.Pointer(bp + 172 /* rc */)) = Xsqlite3CorruptError(tls, 74172) + *(*int32)(unsafe.Pointer(bp + 172 /* rc */)) = Xsqlite3CorruptError(tls, 74182) goto balance_cleanup __55: ; @@ -51677,7 +51687,7 @@ __65: }()) { goto __67 } - *(*int32)(unsafe.Pointer(bp + 172 /* rc */)) = Xsqlite3CorruptError(tls, 74205) + *(*int32)(unsafe.Pointer(bp + 172 /* rc */)) = Xsqlite3CorruptError(tls, 74215) goto balance_cleanup __67: ; @@ -51750,7 +51760,7 @@ __73: }()) { goto __75 } - *(*int32)(unsafe.Pointer(bp + 172 /* rc */)) = Xsqlite3CorruptError(tls, 74247) + *(*int32)(unsafe.Pointer(bp + 172 /* rc */)) = Xsqlite3CorruptError(tls, 74257) goto balance_cleanup __75: ; @@ -51787,7 +51797,7 @@ __76: *(*int32)(unsafe.Pointer(bp + 172)) == SQLITE_OK) { goto __81 } - *(*int32)(unsafe.Pointer(bp + 172 /* rc */)) = Xsqlite3CorruptError(tls, 74280) + *(*int32)(unsafe.Pointer(bp + 172 /* rc */)) = Xsqlite3CorruptError(tls, 74290) __81: ; if !(*(*int32)(unsafe.Pointer(bp + 172)) != 0) { @@ -51871,7 +51881,7 @@ __89: // cache with two separate objects associated with the same // page number. - *(*int32)(unsafe.Pointer(bp + 172 /* rc */)) = Xsqlite3CorruptError(tls, 74326) + *(*int32)(unsafe.Pointer(bp + 172 /* rc */)) = Xsqlite3CorruptError(tls, 74336) goto balance_cleanup __92: ; @@ -52124,7 +52134,7 @@ __125: if !(Uptr(pSrcEnd) >= Uptr(pCell1) && Uptr(pSrcEnd) < Uptr(pCell1+uintptr(sz2))) { goto __126 } - *(*int32)(unsafe.Pointer(bp + 172 /* rc */)) = Xsqlite3CorruptError(tls, 74483) + *(*int32)(unsafe.Pointer(bp + 172 /* rc */)) = Xsqlite3CorruptError(tls, 74493) goto balance_cleanup __126: ; @@ -52346,7 +52356,7 @@ __150: // page and SQLITE_OK is returned. In this case the caller is required // to call releasePage() on *ppChild exactly once. If an error occurs, // an error code is returned and *ppChild is set to 0. -func balance_deeper(tls *libc.TLS, pRoot uintptr, ppChild uintptr) int32 { /* sqlite3.c:74648:12: */ +func balance_deeper(tls *libc.TLS, pRoot uintptr, ppChild uintptr) int32 { /* sqlite3.c:74658:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -52397,13 +52407,13 @@ func balance_deeper(tls *libc.TLS, pRoot uintptr, ppChild uintptr) int32 { /* sq // table linked to the same b-tree. If the secondary insert causes a // rebalance, that can change content out from under the cursor on the // first SQL table, violating invariants on the first insert. -func anotherValidCursor(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:74706:12: */ +func anotherValidCursor(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:74716:12: */ var pOther uintptr for pOther = (*BtShared)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pCur)).FpBt)).FpCursor; pOther != 0; pOther = (*BtCursor)(unsafe.Pointer(pOther)).FpNext { if pOther != pCur && int32((*BtCursor)(unsafe.Pointer(pOther)).FeState) == CURSOR_VALID && (*BtCursor)(unsafe.Pointer(pOther)).FpPage == (*BtCursor)(unsafe.Pointer(pCur)).FpPage { - return Xsqlite3CorruptError(tls, 74713) + return Xsqlite3CorruptError(tls, 74723) } } return SQLITE_OK @@ -52417,7 +52427,7 @@ func anotherValidCursor(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:74706: // balance_quick() // balance_deeper() // balance_nonroot() -func balance(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:74729:12: */ +func balance(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:74739:12: */ bp := tls.Alloc(13) defer tls.Free(13) @@ -52536,7 +52546,7 @@ func balance(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:74729:12: */ // Overwrite content from pX into pDest. Only do the write if the // content is different from what is already there. -func btreeOverwriteContent(tls *libc.TLS, pPage uintptr, pDest uintptr, pX uintptr, iOffset int32, iAmt int32) int32 { /* sqlite3.c:74855:12: */ +func btreeOverwriteContent(tls *libc.TLS, pPage uintptr, pDest uintptr, pX uintptr, iOffset int32, iAmt int32) int32 { /* sqlite3.c:74865:12: */ var nData int32 = (*BtreePayload)(unsafe.Pointer(pX)).FnData - iOffset if nData <= 0 { // Overwritting with zeros @@ -52578,7 +52588,7 @@ func btreeOverwriteContent(tls *libc.TLS, pPage uintptr, pDest uintptr, pX uintp // Overwrite the cell that cursor pCur is pointing to with fresh content // contained in pX. -func btreeOverwriteCell(tls *libc.TLS, pCur uintptr, pX uintptr) int32 { /* sqlite3.c:74898:12: */ +func btreeOverwriteCell(tls *libc.TLS, pCur uintptr, pX uintptr) int32 { /* sqlite3.c:74908:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -52592,7 +52602,7 @@ func btreeOverwriteCell(tls *libc.TLS, pCur uintptr, pX uintptr) int32 { /* sqli if (*BtCursor)(unsafe.Pointer(pCur)).Finfo.FpPayload+uintptr((*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnLocal) > (*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FaDataEnd || (*BtCursor)(unsafe.Pointer(pCur)).Finfo.FpPayload < (*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FaData+uintptr((*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FcellOffset) { - return Xsqlite3CorruptError(tls, 74910) + return Xsqlite3CorruptError(tls, 74920) } // Overwrite the local portion first rc = btreeOverwriteContent(tls, *(*uintptr)(unsafe.Pointer(bp /* pPage */)), (*BtCursor)(unsafe.Pointer(pCur)).Finfo.FpPayload, pX, @@ -52616,7 +52626,7 @@ func btreeOverwriteCell(tls *libc.TLS, pCur uintptr, pX uintptr) int32 { /* sqli return rc } if Xsqlite3PagerPageRefcount(tls, (*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FpDbPage) != 1 || (*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FisInit != 0 { - rc = Xsqlite3CorruptError(tls, 74929) + rc = Xsqlite3CorruptError(tls, 74939) } else { if U32(iOffset)+ovflPageSize < U32(nTotal) { ovflPgno = Xsqlite3Get4byte(tls, (*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* pPage */)))).FaData) @@ -52663,7 +52673,7 @@ func btreeOverwriteCell(tls *libc.TLS, pCur uintptr, pX uintptr) int32 { /* sqli // if pX->nMem is non-zero, then pX->aMem contains pointers to the unpacked // key values and pX->aMem can be used instead of pX->pKey to avoid having // to decode the key. -func Xsqlite3BtreeInsert(tls *libc.TLS, pCur uintptr, pX uintptr, flags int32, seekResult int32) int32 { /* sqlite3.c:74977:20: */ +func Xsqlite3BtreeInsert(tls *libc.TLS, pCur uintptr, pX uintptr, flags int32, seekResult int32) int32 { /* sqlite3.c:74987:20: */ bp := tls.Alloc(136) defer tls.Free(136) @@ -52693,20 +52703,6 @@ func Xsqlite3BtreeInsert(tls *libc.TLS, pCur uintptr, pX uintptr, flags int32, s pBt = (*Btree)(unsafe.Pointer(p)).FpBt newCell = uintptr(0) - if !(int32((*BtCursor)(unsafe.Pointer(pCur)).FeState) == CURSOR_FAULT) { - goto __1 - } - - return (*BtCursor)(unsafe.Pointer(pCur)).FskipNext -__1: - ; - - // Assert that the caller has been consistent. If this cursor was opened - // expecting an index b-tree, then the caller should be inserting blob - // keys with no associated data. If the cursor was opened expecting an - // intkey table, the caller should be inserting integer keys with a - // blob of associated data. - // Save the positions of any other cursors open on this table. // // In some cases, the call to btreeMoveto() below is a no-op. For @@ -52718,40 +52714,59 @@ __1: // doing any work. To avoid thwarting these optimizations, it is important // not to clear the cursor here. if !(int32((*BtCursor)(unsafe.Pointer(pCur)).FcurFlags)&BTCF_Multiple != 0) { - goto __2 + goto __1 } *(*int32)(unsafe.Pointer(bp + 104 /* rc */)) = saveAllCursors(tls, pBt, (*BtCursor)(unsafe.Pointer(pCur)).FpgnoRoot, pCur) if !(*(*int32)(unsafe.Pointer(bp + 104)) != 0) { - goto __3 + goto __2 } return *(*int32)(unsafe.Pointer(bp + 104 /* rc */)) -__3: +__2: ; if !(*(*int32)(unsafe.Pointer(bp)) != 0 && int32((*BtCursor)(unsafe.Pointer(pCur)).FiPage) < 0) { - goto __4 + goto __3 } // This can only happen if the schema is corrupt such that there is more // than one table or index with the same root page as used by the cursor. // 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 Xsqlite3CorruptError(tls, 75034) -__4: + return Xsqlite3CorruptError(tls, 75026) +__3: ; -__2: +__1: ; - if !((*BtCursor)(unsafe.Pointer(pCur)).FpKeyInfo == uintptr(0)) { + if !(int32((*BtCursor)(unsafe.Pointer(pCur)).FeState) >= CURSOR_REQUIRESEEK) { + goto __4 + } + *(*int32)(unsafe.Pointer(bp + 104 /* rc */)) = moveToRoot(tls, pCur) + if !(*(*int32)(unsafe.Pointer(bp + 104)) != 0 && *(*int32)(unsafe.Pointer(bp + 104)) != SQLITE_EMPTY) { goto __5 } + return *(*int32)(unsafe.Pointer(bp + 104 /* rc */)) +__5: + ; +__4: + ; + + // Assert that the caller has been consistent. If this cursor was opened + // expecting an index b-tree, then the caller should be inserting blob + // keys with no associated data. If the cursor was opened expecting an + // intkey table, the caller should be inserting integer keys with a + // blob of associated data. + + if !((*BtCursor)(unsafe.Pointer(pCur)).FpKeyInfo == uintptr(0)) { + goto __6 + } // If this is an insert into a table b-tree, invalidate any incrblob // cursors open on the row being replaced if !((*Btree)(unsafe.Pointer(p)).FhasIncrblobCur != 0) { - goto __7 + goto __8 } invalidateIncrblobCursors(tls, p, (*BtCursor)(unsafe.Pointer(pCur)).FpgnoRoot, (*BtreePayload)(unsafe.Pointer(pX)).FnKey, 0) -__7: +__8: ; // If BTREE_SAVEPOSITION is set, the cursor must already be pointing @@ -52761,24 +52776,24 @@ __7: // that the cursor is not pointing to a row to be overwritten. // So do a complete check. if !(int32((*BtCursor)(unsafe.Pointer(pCur)).FcurFlags)&BTCF_ValidNKey != 0 && (*BtreePayload)(unsafe.Pointer(pX)).FnKey == (*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnKey) { - goto __8 + goto __9 } // The cursor is pointing to the entry that is to be // overwritten if !(int32((*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnSize) != 0 && (*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnPayload == U32((*BtreePayload)(unsafe.Pointer(pX)).FnData)+U32((*BtreePayload)(unsafe.Pointer(pX)).FnZero)) { - goto __10 + goto __11 } // New entry is the same size as the old. Do an overwrite return btreeOverwriteCell(tls, pCur, pX) -__10: +__11: ; - goto __9 -__8: + goto __10 +__9: if !(*(*int32)(unsafe.Pointer(bp)) == 0) { - goto __11 + goto __12 } // The cursor is *not* pointing to the cell to be overwritten, nor // to an adjacent cell. Move the cursor so that it is pointing either @@ -52786,17 +52801,17 @@ __8: *(*int32)(unsafe.Pointer(bp + 104 /* rc */)) = Xsqlite3BtreeTableMoveto(tls, pCur, (*BtreePayload)(unsafe.Pointer(pX)).FnKey, libc.Bool32(flags&BTREE_APPEND != 0), bp) if !(*(*int32)(unsafe.Pointer(bp + 104)) != 0) { - goto __12 + goto __13 } return *(*int32)(unsafe.Pointer(bp + 104 /* rc */)) -__12: +__13: ; -__11: +__12: ; -__9: +__10: ; - goto __6 -__5: + goto __7 +__6: // This is an index or a WITHOUT ROWID table // If BTREE_SAVEPOSITION is set, the cursor must already be pointing @@ -52808,10 +52823,10 @@ __5: // not pointing to an immediately adjacent cell, then move the cursor // so that it does. if !(*(*int32)(unsafe.Pointer(bp)) == 0 && flags&BTREE_SAVEPOSITION == 0) { - goto __13 + goto __14 } if !((*BtreePayload)(unsafe.Pointer(pX)).FnMem != 0) { - goto __14 + goto __15 } (*UnpackedRecord)(unsafe.Pointer(bp + 8 /* &r */)).FpKeyInfo = (*BtCursor)(unsafe.Pointer(pCur)).FpKeyInfo (*UnpackedRecord)(unsafe.Pointer(bp + 8 /* &r */)).FaMem = (*BtreePayload)(unsafe.Pointer(pX)).FaMem @@ -52819,147 +52834,147 @@ __5: (*UnpackedRecord)(unsafe.Pointer(bp + 8 /* &r */)).Fdefault_rc = int8(0) (*UnpackedRecord)(unsafe.Pointer(bp + 8 /* &r */)).FeqSeen = U8(0) *(*int32)(unsafe.Pointer(bp + 104 /* rc */)) = Xsqlite3BtreeIndexMoveto(tls, pCur, bp+8, bp) - goto __15 -__14: + goto __16 +__15: *(*int32)(unsafe.Pointer(bp + 104 /* rc */)) = btreeMoveto(tls, pCur, (*BtreePayload)(unsafe.Pointer(pX)).FpKey, (*BtreePayload)(unsafe.Pointer(pX)).FnKey, libc.Bool32(flags&BTREE_APPEND != 0), bp) -__15: +__16: ; if !(*(*int32)(unsafe.Pointer(bp + 104)) != 0) { - goto __16 + goto __17 } return *(*int32)(unsafe.Pointer(bp + 104 /* rc */)) -__16: +__17: ; -__13: +__14: ; // If the cursor is currently pointing to an entry to be overwritten // and the new content is the same as as the old, then use the // overwrite optimization. if !(*(*int32)(unsafe.Pointer(bp)) == 0) { - goto __17 + goto __18 } getCellInfo(tls, pCur) if !((*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnKey == (*BtreePayload)(unsafe.Pointer(pX)).FnKey) { - goto __18 + goto __19 } (*BtreePayload)(unsafe.Pointer(bp + 32 /* &x2 */)).FpData = (*BtreePayload)(unsafe.Pointer(pX)).FpKey (*BtreePayload)(unsafe.Pointer(bp + 32 /* &x2 */)).FnData = int32((*BtreePayload)(unsafe.Pointer(pX)).FnKey) (*BtreePayload)(unsafe.Pointer(bp + 32 /* &x2 */)).FnZero = 0 return btreeOverwriteCell(tls, pCur, bp+32) -__18: +__19: ; -__17: +__18: ; -__6: +__7: ; pPage = (*BtCursor)(unsafe.Pointer(pCur)).FpPage if !((*MemPage)(unsafe.Pointer(pPage)).FnFree < 0) { - goto __19 + goto __20 } if !(int32((*BtCursor)(unsafe.Pointer(pCur)).FeState) > CURSOR_INVALID) { - goto __20 + goto __21 } - *(*int32)(unsafe.Pointer(bp + 104 /* rc */)) = Xsqlite3CorruptError(tls, 75134) - goto __21 -__20: - *(*int32)(unsafe.Pointer(bp + 104 /* rc */)) = btreeComputeFreeSpace(tls, pPage) + *(*int32)(unsafe.Pointer(bp + 104 /* rc */)) = Xsqlite3CorruptError(tls, 75143) + goto __22 __21: + *(*int32)(unsafe.Pointer(bp + 104 /* rc */)) = btreeComputeFreeSpace(tls, pPage) +__22: ; if !(*(*int32)(unsafe.Pointer(bp + 104)) != 0) { - goto __22 + goto __23 } return *(*int32)(unsafe.Pointer(bp + 104 /* rc */)) -__22: +__23: ; -__19: +__20: ; newCell = (*BtShared)(unsafe.Pointer(pBt)).FpTmpSpace if !(flags&BTREE_PREFORMAT != 0) { - goto __23 + goto __24 } *(*int32)(unsafe.Pointer(bp + 104 /* rc */)) = SQLITE_OK *(*int32)(unsafe.Pointer(bp + 108 /* szNew */)) = (*BtShared)(unsafe.Pointer(pBt)).FnPreformatSize if !(*(*int32)(unsafe.Pointer(bp + 108)) < 4) { - goto __25 + goto __26 } *(*int32)(unsafe.Pointer(bp + 108 /* szNew */)) = 4 -__25: +__26: ; if !((*BtShared)(unsafe.Pointer(pBt)).FautoVacuum != 0 && *(*int32)(unsafe.Pointer(bp + 108)) > int32((*MemPage)(unsafe.Pointer(pPage)).FmaxLocal)) { - goto __26 + goto __27 } (*struct { f func(*libc.TLS, uintptr, uintptr, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*MemPage)(unsafe.Pointer(pPage)).FxParseCell})).f(tls, pPage, newCell, bp+80 /* &info */) if !((*CellInfo)(unsafe.Pointer(bp+80)).FnPayload != U32((*CellInfo)(unsafe.Pointer(bp+80)).FnLocal)) { - goto __27 + goto __28 } ovfl = Xsqlite3Get4byte(tls, newCell+uintptr(*(*int32)(unsafe.Pointer(bp + 108))-4)) ptrmapPut(tls, pBt, ovfl, uint8(PTRMAP_OVERFLOW1), (*MemPage)(unsafe.Pointer(pPage)).Fpgno, bp+104) -__27: +__28: ; -__26: +__27: ; - goto __24 -__23: - *(*int32)(unsafe.Pointer(bp + 104 /* rc */)) = fillInCell(tls, pPage, newCell, pX, bp+108) + goto __25 __24: + *(*int32)(unsafe.Pointer(bp + 104 /* rc */)) = fillInCell(tls, pPage, newCell, pX, bp+108) +__25: ; if !(*(*int32)(unsafe.Pointer(bp + 104)) != 0) { - goto __28 + goto __29 } goto end_insert -__28: +__29: ; idx = int32((*BtCursor)(unsafe.Pointer(pCur)).Fix) if !(*(*int32)(unsafe.Pointer(bp)) == 0) { - goto __29 + goto __30 } if !(idx >= int32((*MemPage)(unsafe.Pointer(pPage)).FnCell)) { - goto __31 + goto __32 } - return Xsqlite3CorruptError(tls, 75170) -__31: + return Xsqlite3CorruptError(tls, 75179) +__32: ; *(*int32)(unsafe.Pointer(bp + 104 /* rc */)) = Xsqlite3PagerWrite(tls, (*MemPage)(unsafe.Pointer(pPage)).FpDbPage) if !(*(*int32)(unsafe.Pointer(bp + 104)) != 0) { - goto __32 + goto __33 } goto end_insert -__32: +__33: ; oldCell = (*MemPage)(unsafe.Pointer(pPage)).FaData + uintptr(int32((*MemPage)(unsafe.Pointer(pPage)).FmaskPage)&(int32(*(*U8)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPage)).FaCellIdx + uintptr(2*idx))))<<8|int32(*(*U8)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPage)).FaCellIdx + uintptr(2*idx) + 1))))) if !!(int32((*MemPage)(unsafe.Pointer(pPage)).Fleaf) != 0) { - goto __33 + goto __34 } libc.Xmemcpy(tls, newCell, oldCell, uint64(4)) -__33: +__34: ; (*struct { f func(*libc.TLS, uintptr, uintptr, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*MemPage)(unsafe.Pointer(pPage)).FxParseCell})).f(tls, pPage, oldCell, bp+112 /* &info1 */) if !(U32((*CellInfo)(unsafe.Pointer(bp+112 /* &info1 */)).FnLocal) != (*CellInfo)(unsafe.Pointer(bp+112 /* &info1 */)).FnPayload) { - goto __34 + goto __35 } *(*int32)(unsafe.Pointer(bp + 104 /* rc */)) = clearCellOverflow(tls, pPage, oldCell, bp+112 /* &info1 */) - goto __35 -__34: - *(*int32)(unsafe.Pointer(bp + 104 /* rc */)) = SQLITE_OK + goto __36 __35: + *(*int32)(unsafe.Pointer(bp + 104 /* rc */)) = SQLITE_OK +__36: ; *(*U8)(unsafe.Pointer(pCur + 1)) &= libc.Uint8FromInt32(libc.CplInt32(BTCF_ValidOvfl)) if !(int32((*CellInfo)(unsafe.Pointer(bp+112)).FnSize) == *(*int32)(unsafe.Pointer(bp + 108)) && U32((*CellInfo)(unsafe.Pointer(bp+112)).FnLocal) == (*CellInfo)(unsafe.Pointer(bp+112)).FnPayload && (!(int32((*BtShared)(unsafe.Pointer(pBt)).FautoVacuum) != 0) || *(*int32)(unsafe.Pointer(bp + 108)) < int32((*MemPage)(unsafe.Pointer(pPage)).FminLocal))) { - goto __36 + goto __37 } // Overwrite the old cell with the new if they are the same size. // We could also try to do this if the old cell is smaller, then add @@ -52972,42 +52987,42 @@ __35: // necessary to add the PTRMAP_OVERFLOW1 pointer-map entry. // clearCell never fails when nLocal==nPayload if !(oldCell < (*MemPage)(unsafe.Pointer(pPage)).FaData+uintptr((*MemPage)(unsafe.Pointer(pPage)).FhdrOffset)+uintptr(10)) { - goto __37 + goto __38 } - return Xsqlite3CorruptError(tls, 75197) -__37: + return Xsqlite3CorruptError(tls, 75206) +__38: ; if !(oldCell+uintptr(*(*int32)(unsafe.Pointer(bp + 108))) > (*MemPage)(unsafe.Pointer(pPage)).FaDataEnd) { - goto __38 + goto __39 } - return Xsqlite3CorruptError(tls, 75200) -__38: + return Xsqlite3CorruptError(tls, 75209) +__39: ; libc.Xmemcpy(tls, oldCell, newCell, uint64(*(*int32)(unsafe.Pointer(bp + 108 /* szNew */)))) return SQLITE_OK -__36: +__37: ; dropCell(tls, pPage, idx, int32((*CellInfo)(unsafe.Pointer(bp+112 /* &info1 */)).FnSize), bp+104) if !(*(*int32)(unsafe.Pointer(bp + 104)) != 0) { - goto __39 + goto __40 } goto end_insert -__39: +__40: ; - goto __30 -__29: + goto __31 +__30: if !(*(*int32)(unsafe.Pointer(bp)) < 0 && int32((*MemPage)(unsafe.Pointer(pPage)).FnCell) > 0) { - goto __40 + goto __41 } idx = int32(libc.PreIncUint16(&(*BtCursor)(unsafe.Pointer(pCur)).Fix, 1)) *(*U8)(unsafe.Pointer(pCur + 1)) &= libc.Uint8FromInt32(libc.CplInt32(BTCF_ValidNKey)) - goto __41 -__40: - ; + goto __42 __41: ; -__30: +__42: + ; +__31: ; insertCell(tls, pPage, idx, newCell, *(*int32)(unsafe.Pointer(bp + 108 /* szNew */)), uintptr(0), uint32(0), bp+104) @@ -53032,7 +53047,7 @@ __30: // row without seeking the cursor. This can be a big performance boost. (*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnSize = U16(0) if !((*MemPage)(unsafe.Pointer(pPage)).FnOverflow != 0) { - goto __42 + goto __43 } *(*U8)(unsafe.Pointer(pCur + 1)) &= libc.Uint8FromInt32(libc.CplInt32(BTCF_ValidNKey)) @@ -53045,30 +53060,30 @@ __30: (*MemPage)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pCur)).FpPage)).FnOverflow = U8(0) (*BtCursor)(unsafe.Pointer(pCur)).FeState = U8(CURSOR_INVALID) if !(flags&BTREE_SAVEPOSITION != 0 && *(*int32)(unsafe.Pointer(bp + 104)) == SQLITE_OK) { - goto __43 + goto __44 } btreeReleaseAllCursorPages(tls, pCur) if !((*BtCursor)(unsafe.Pointer(pCur)).FpKeyInfo != 0) { - goto __44 + goto __45 } (*BtCursor)(unsafe.Pointer(pCur)).FpKey = Xsqlite3Malloc(tls, uint64((*BtreePayload)(unsafe.Pointer(pX)).FnKey)) if !((*BtCursor)(unsafe.Pointer(pCur)).FpKey == uintptr(0)) { - goto __45 + goto __46 } *(*int32)(unsafe.Pointer(bp + 104 /* rc */)) = SQLITE_NOMEM - goto __46 -__45: - libc.Xmemcpy(tls, (*BtCursor)(unsafe.Pointer(pCur)).FpKey, (*BtreePayload)(unsafe.Pointer(pX)).FpKey, uint64((*BtreePayload)(unsafe.Pointer(pX)).FnKey)) + goto __47 __46: + libc.Xmemcpy(tls, (*BtCursor)(unsafe.Pointer(pCur)).FpKey, (*BtreePayload)(unsafe.Pointer(pX)).FpKey, uint64((*BtreePayload)(unsafe.Pointer(pX)).FnKey)) +__47: ; -__44: +__45: ; (*BtCursor)(unsafe.Pointer(pCur)).FeState = U8(CURSOR_REQUIRESEEK) (*BtCursor)(unsafe.Pointer(pCur)).FnKey = (*BtreePayload)(unsafe.Pointer(pX)).FnKey -__43: +__44: ; -__42: +__43: ; end_insert: @@ -53088,7 +53103,7 @@ end_insert: // calling sqlite3BtreeInsert() with the BTREE_PREFORMAT flag specified. // // SQLITE_OK is returned if successful, or an SQLite error code otherwise. -func Xsqlite3BtreeTransferRow(tls *libc.TLS, pDest uintptr, pSrc uintptr, iKey I64) int32 { /* sqlite3.c:75286:20: */ +func Xsqlite3BtreeTransferRow(tls *libc.TLS, pDest uintptr, pSrc uintptr, iKey I64) int32 { /* sqlite3.c:75295:20: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -53115,7 +53130,7 @@ func Xsqlite3BtreeTransferRow(tls *libc.TLS, pDest uintptr, pSrc uintptr, iKey I nIn = U32((*BtCursor)(unsafe.Pointer(pSrc)).Finfo.FnLocal) aIn = (*BtCursor)(unsafe.Pointer(pSrc)).Finfo.FpPayload if aIn+uintptr(nIn) > (*MemPage)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pSrc)).FpPage)).FaDataEnd { - return Xsqlite3CorruptError(tls, 75300) + return Xsqlite3CorruptError(tls, 75309) } nRem = (*BtCursor)(unsafe.Pointer(pSrc)).Finfo.FnPayload if nIn == nRem && nIn < U32((*MemPage)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pDest)).FpPage)).FmaxLocal) { @@ -53138,7 +53153,7 @@ func Xsqlite3BtreeTransferRow(tls *libc.TLS, pDest uintptr, pSrc uintptr, iKey I if nRem > nIn { if aIn+uintptr(nIn)+uintptr(4) > (*MemPage)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pSrc)).FpPage)).FaDataEnd { - return Xsqlite3CorruptError(tls, 75323) + return Xsqlite3CorruptError(tls, 75332) } ovflIn = Xsqlite3Get4byte(tls, (*BtCursor)(unsafe.Pointer(pSrc)).Finfo.FpPayload+uintptr(nIn)) } @@ -53220,7 +53235,7 @@ func Xsqlite3BtreeTransferRow(tls *libc.TLS, pDest uintptr, pSrc uintptr, iKey I // operation on non-FORDELETE cursors is tagged with the AUXDELETE flag. // The BTREE_AUXDELETE bit is a hint that is not used by this implementation, // but which might be used by alternative storage engines. -func Xsqlite3BtreeDelete(tls *libc.TLS, pCur uintptr, flags U8) int32 { /* sqlite3.c:75396:20: */ +func Xsqlite3BtreeDelete(tls *libc.TLS, pCur uintptr, flags U8) int32 { /* sqlite3.c:75405:20: */ bp := tls.Alloc(28) defer tls.Free(28) @@ -53236,11 +53251,15 @@ func Xsqlite3BtreeDelete(tls *libc.TLS, pCur uintptr, flags U8) int32 { /* sqlit // Size of the cell being deleted var bPreserve U8 // Keep cursor valid. 2 for CURSOR_SKIPNEXT - if int32((*BtCursor)(unsafe.Pointer(pCur)).FeState) == CURSOR_REQUIRESEEK { - *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) = btreeRestoreCursorPosition(tls, pCur) + if int32((*BtCursor)(unsafe.Pointer(pCur)).FeState) != CURSOR_VALID { + if int32((*BtCursor)(unsafe.Pointer(pCur)).FeState) >= CURSOR_REQUIRESEEK { + *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) = btreeRestoreCursorPosition(tls, pCur) - if *(*int32)(unsafe.Pointer(bp + 24)) != 0 || int32((*BtCursor)(unsafe.Pointer(pCur)).FeState) != CURSOR_VALID { - return *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) + if *(*int32)(unsafe.Pointer(bp + 24)) != 0 || int32((*BtCursor)(unsafe.Pointer(pCur)).FeState) != CURSOR_VALID { + return *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) + } + } else { + return Xsqlite3CorruptError(tls, 75429) } } @@ -53248,11 +53267,11 @@ func Xsqlite3BtreeDelete(tls *libc.TLS, pCur uintptr, flags U8) int32 { /* sqlit iCellIdx = int32((*BtCursor)(unsafe.Pointer(pCur)).Fix) pPage = (*BtCursor)(unsafe.Pointer(pCur)).FpPage if int32((*MemPage)(unsafe.Pointer(pPage)).FnCell) <= iCellIdx { - return Xsqlite3CorruptError(tls, 75425) + return Xsqlite3CorruptError(tls, 75438) } pCell = (*MemPage)(unsafe.Pointer(pPage)).FaData + uintptr(int32((*MemPage)(unsafe.Pointer(pPage)).FmaskPage)&(int32(*(*U8)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPage)).FaCellIdx + uintptr(2*iCellIdx))))<<8|int32(*(*U8)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPage)).FaCellIdx + uintptr(2*iCellIdx) + 1))))) if (*MemPage)(unsafe.Pointer(pPage)).FnFree < 0 && btreeComputeFreeSpace(tls, pPage) != 0 { - return Xsqlite3CorruptError(tls, 75429) + return Xsqlite3CorruptError(tls, 75442) } // If the BTREE_SAVEPOSITION bit is on, then the cursor position must @@ -53361,7 +53380,7 @@ func Xsqlite3BtreeDelete(tls *libc.TLS, pCur uintptr, flags U8) int32 { /* sqlit } pCell = (*MemPage)(unsafe.Pointer(pLeaf)).FaData + uintptr(int32((*MemPage)(unsafe.Pointer(pLeaf)).FmaskPage)&(int32(*(*U8)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pLeaf)).FaCellIdx + uintptr(2*(int32((*MemPage)(unsafe.Pointer(pLeaf)).FnCell)-1)))))<<8|int32(*(*U8)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pLeaf)).FaCellIdx + uintptr(2*(int32((*MemPage)(unsafe.Pointer(pLeaf)).FnCell)-1)) + 1))))) if pCell < (*MemPage)(unsafe.Pointer(pLeaf)).FaData+4 { - return Xsqlite3CorruptError(tls, 75519) + return Xsqlite3CorruptError(tls, 75532) } nCell = int32((*struct { f func(*libc.TLS, uintptr, uintptr) U16 @@ -53438,7 +53457,7 @@ func Xsqlite3BtreeDelete(tls *libc.TLS, pCur uintptr, flags U8) int32 { /* sqlit // // BTREE_INTKEY|BTREE_LEAFDATA Used for SQL tables with rowid keys // BTREE_ZERODATA Used for SQL indices -func btreeCreateTable(tls *libc.TLS, p uintptr, piTable uintptr, createTabFlags int32) int32 { /* sqlite3.c:75593:12: */ +func btreeCreateTable(tls *libc.TLS, p uintptr, piTable uintptr, createTabFlags int32) int32 { /* sqlite3.c:75606:12: */ bp := tls.Alloc(44) defer tls.Free(44) @@ -53468,7 +53487,7 @@ func btreeCreateTable(tls *libc.TLS, p uintptr, piTable uintptr, createTabFlags // created so far, so the new root-page is (meta[3]+1). Xsqlite3BtreeGetMeta(tls, p, BTREE_LARGEST_ROOT_PAGE, bp) if *(*Pgno)(unsafe.Pointer(bp)) > btreePagecount(tls, pBt) { - return Xsqlite3CorruptError(tls, 75627) + return Xsqlite3CorruptError(tls, 75640) } *(*Pgno)(unsafe.Pointer(bp /* pgnoRoot */))++ @@ -53511,7 +53530,7 @@ func btreeCreateTable(tls *libc.TLS, p uintptr, piTable uintptr, createTabFlags } *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = ptrmapGet(tls, pBt, *(*Pgno)(unsafe.Pointer(bp /* pgnoRoot */)), bp+32, bp+36) if int32(*(*U8)(unsafe.Pointer(bp + 32))) == PTRMAP_ROOTPAGE || int32(*(*U8)(unsafe.Pointer(bp + 32))) == PTRMAP_FREEPAGE { - *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = Xsqlite3CorruptError(tls, 75675) + *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = Xsqlite3CorruptError(tls, 75688) } if *(*int32)(unsafe.Pointer(bp + 40)) != SQLITE_OK { releasePage(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* pRoot */))) @@ -53574,7 +53593,7 @@ func btreeCreateTable(tls *libc.TLS, p uintptr, piTable uintptr, createTabFlags return SQLITE_OK } -func Xsqlite3BtreeCreateTable(tls *libc.TLS, p uintptr, piTable uintptr, flags int32) int32 { /* sqlite3.c:75738:20: */ +func Xsqlite3BtreeCreateTable(tls *libc.TLS, p uintptr, piTable uintptr, flags int32) int32 { /* sqlite3.c:75751:20: */ var rc int32 Xsqlite3BtreeEnter(tls, p) rc = btreeCreateTable(tls, p, piTable, flags) @@ -53584,7 +53603,7 @@ func Xsqlite3BtreeCreateTable(tls *libc.TLS, p uintptr, piTable uintptr, flags i // Erase the given database page and all its children. Return // the page to the freelist. -func clearDatabasePage(tls *libc.TLS, pBt uintptr, pgno Pgno, freePageFlag int32, pnChange uintptr) int32 { /* sqlite3.c:75750:12: */ +func clearDatabasePage(tls *libc.TLS, pBt uintptr, pgno Pgno, freePageFlag int32, pnChange uintptr) int32 { /* sqlite3.c:75763:12: */ bp := tls.Alloc(36) defer tls.Free(36) @@ -53600,7 +53619,7 @@ func clearDatabasePage(tls *libc.TLS, pBt uintptr, pgno Pgno, freePageFlag int32 if !(pgno > btreePagecount(tls, pBt)) { goto __1 } - return Xsqlite3CorruptError(tls, 75765) + return Xsqlite3CorruptError(tls, 75778) __1: ; *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) = getAndInitPage(tls, pBt, pgno, bp, uintptr(0), 0) @@ -53614,7 +53633,7 @@ __2: Xsqlite3PagerPageRefcount(tls, (*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FpDbPage) != 1+libc.Bool32(pgno == Pgno(1))) { goto __3 } - *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) = Xsqlite3CorruptError(tls, 75772) + *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) = Xsqlite3CorruptError(tls, 75785) goto cleardatabasepage_out __3: ; @@ -53718,7 +53737,7 @@ cleardatabasepage_out: // // If pnChange is not NULL, then the integer value pointed to by pnChange // is incremented by the number of entries in the table. -func Xsqlite3BtreeClearTable(tls *libc.TLS, p uintptr, iTable int32, pnChange uintptr) int32 { /* sqlite3.c:75817:20: */ +func Xsqlite3BtreeClearTable(tls *libc.TLS, p uintptr, iTable int32, pnChange uintptr) int32 { /* sqlite3.c:75830:20: */ var rc int32 var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt Xsqlite3BtreeEnter(tls, p) @@ -53741,7 +53760,7 @@ func Xsqlite3BtreeClearTable(tls *libc.TLS, p uintptr, iTable int32, pnChange ui // Delete all information from the single table that pCur is open on. // // This routine only work for pCur on an ephemeral table. -func Xsqlite3BtreeClearTableOfCursor(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:75843:20: */ +func Xsqlite3BtreeClearTableOfCursor(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:75856:20: */ return Xsqlite3BtreeClearTable(tls, (*BtCursor)(unsafe.Pointer(pCur)).FpBtree, int32((*BtCursor)(unsafe.Pointer(pCur)).FpgnoRoot), uintptr(0)) } @@ -53763,7 +53782,7 @@ func Xsqlite3BtreeClearTableOfCursor(tls *libc.TLS, pCur uintptr) int32 { /* sql // the move. If no page gets moved, *piMoved is set to 0. // The last root page is recorded in meta[3] and the value of // meta[3] is updated by this procedure. -func btreeDropTable(tls *libc.TLS, p uintptr, iTable Pgno, piMoved uintptr) int32 { /* sqlite3.c:75867:12: */ +func btreeDropTable(tls *libc.TLS, p uintptr, iTable Pgno, piMoved uintptr) int32 { /* sqlite3.c:75880:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -53773,7 +53792,7 @@ func btreeDropTable(tls *libc.TLS, p uintptr, iTable Pgno, piMoved uintptr) int3 var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt if iTable > btreePagecount(tls, pBt) { - return Xsqlite3CorruptError(tls, 75876) + return Xsqlite3CorruptError(tls, 75889) } *(*int32)(unsafe.Pointer(bp + 12 /* rc */)) = Xsqlite3BtreeClearTable(tls, p, int32(iTable), uintptr(0)) @@ -53845,7 +53864,7 @@ func btreeDropTable(tls *libc.TLS, p uintptr, iTable Pgno, piMoved uintptr) int3 return *(*int32)(unsafe.Pointer(bp + 12 /* rc */)) } -func Xsqlite3BtreeDropTable(tls *libc.TLS, p uintptr, iTable int32, piMoved uintptr) int32 { /* sqlite3.c:75952:20: */ +func Xsqlite3BtreeDropTable(tls *libc.TLS, p uintptr, iTable int32, piMoved uintptr) int32 { /* sqlite3.c:75965:20: */ var rc int32 Xsqlite3BtreeEnter(tls, p) rc = btreeDropTable(tls, p, uint32(iTable), piMoved) @@ -53871,7 +53890,7 @@ func Xsqlite3BtreeDropTable(tls *libc.TLS, p uintptr, iTable int32, piMoved uint // database file. It is a number computed by the pager. But its access // pattern is the same as header meta values, and so it is convenient to // read it from this routine. -func Xsqlite3BtreeGetMeta(tls *libc.TLS, p uintptr, idx int32, pMeta uintptr) { /* sqlite3.c:75981:21: */ +func Xsqlite3BtreeGetMeta(tls *libc.TLS, p uintptr, idx int32, pMeta uintptr) { /* sqlite3.c:75994:21: */ var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt Xsqlite3BtreeEnter(tls, p) @@ -53890,7 +53909,7 @@ func Xsqlite3BtreeGetMeta(tls *libc.TLS, p uintptr, idx int32, pMeta uintptr) { // Write meta-information back into the database. Meta[0] is // read-only and may not be written. -func Xsqlite3BtreeUpdateMeta(tls *libc.TLS, p uintptr, idx int32, iMeta U32) int32 { /* sqlite3.c:76011:20: */ +func Xsqlite3BtreeUpdateMeta(tls *libc.TLS, p uintptr, idx int32, iMeta U32) int32 { /* sqlite3.c:76024:20: */ var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt var pP1 uintptr var rc int32 @@ -53916,7 +53935,7 @@ func Xsqlite3BtreeUpdateMeta(tls *libc.TLS, p uintptr, idx int32, iMeta U32) int // SQLITE_OK is returned if the operation is successfully executed. // Otherwise, if an error is encountered (i.e. an IO error or database // corruption) an SQLite error code is returned. -func Xsqlite3BtreeCount(tls *libc.TLS, db uintptr, pCur uintptr, pnEntry uintptr) int32 { /* sqlite3.c:76043:20: */ +func Xsqlite3BtreeCount(tls *libc.TLS, db uintptr, pCur uintptr, pnEntry uintptr) int32 { /* sqlite3.c:76056:20: */ var nEntry I64 = int64(0) // Value to return in *pnEntry var rc int32 // Return code @@ -53979,12 +53998,12 @@ func Xsqlite3BtreeCount(tls *libc.TLS, db uintptr, pCur uintptr, pnEntry uintptr // Return the pager associated with a BTree. This routine is used for // testing and debugging only. -func Xsqlite3BtreePager(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:76112:22: */ +func Xsqlite3BtreePager(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:76125:22: */ return (*BtShared)(unsafe.Pointer((*Btree)(unsafe.Pointer(p)).FpBt)).FpPager } // Append a message to the error message string. -func checkAppendMsg(tls *libc.TLS, pCheck uintptr, zFormat uintptr, va uintptr) { /* sqlite3.c:76120:13: */ +func checkAppendMsg(tls *libc.TLS, pCheck uintptr, zFormat uintptr, va uintptr) { /* sqlite3.c:76133:13: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -54011,13 +54030,13 @@ func checkAppendMsg(tls *libc.TLS, pCheck uintptr, zFormat uintptr, va uintptr) // Return non-zero if the bit in the IntegrityCk.aPgRef[] array that // corresponds to page iPg is already set. -func getPageReferenced(tls *libc.TLS, pCheck uintptr, iPg Pgno) int32 { /* sqlite3.c:76150:12: */ +func getPageReferenced(tls *libc.TLS, pCheck uintptr, iPg Pgno) int32 { /* sqlite3.c:76163:12: */ return int32(*(*U8)(unsafe.Pointer((*IntegrityCk)(unsafe.Pointer(pCheck)).FaPgRef + uintptr(iPg/Pgno(8))))) & (int32(1) << (iPg & Pgno(0x07))) } // Set the bit in the IntegrityCk.aPgRef[] array that corresponds to page iPg. -func setPageReferenced(tls *libc.TLS, pCheck uintptr, iPg Pgno) { /* sqlite3.c:76158:13: */ +func setPageReferenced(tls *libc.TLS, pCheck uintptr, iPg Pgno) { /* sqlite3.c:76171:13: */ *(*U8)(unsafe.Pointer((*IntegrityCk)(unsafe.Pointer(pCheck)).FaPgRef + uintptr(iPg/Pgno(8)))) |= U8(int32(1) << (iPg & Pgno(0x07))) } @@ -54028,7 +54047,7 @@ func setPageReferenced(tls *libc.TLS, pCheck uintptr, iPg Pgno) { /* sqlite3.c:7 // if this is the first reference to the page. // // Also check that the page number is in bounds. -func checkRef(tls *libc.TLS, pCheck uintptr, iPage Pgno) int32 { /* sqlite3.c:76172:12: */ +func checkRef(tls *libc.TLS, pCheck uintptr, iPage Pgno) int32 { /* sqlite3.c:76185:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -54050,7 +54069,7 @@ func checkRef(tls *libc.TLS, pCheck uintptr, iPage Pgno) int32 { /* sqlite3.c:76 // Check that the entry in the pointer-map for page iChild maps to // page iParent, pointer type ptrType. If not, append an error message // to pCheck. -func checkPtrmap(tls *libc.TLS, pCheck uintptr, iChild Pgno, eType U8, iParent Pgno) { /* sqlite3.c:76192:13: */ +func checkPtrmap(tls *libc.TLS, pCheck uintptr, iChild Pgno, eType U8, iParent Pgno) { /* sqlite3.c:76205:13: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -54077,7 +54096,7 @@ func checkPtrmap(tls *libc.TLS, pCheck uintptr, iChild Pgno, eType U8, iParent P // Check the integrity of the freelist or of an overflow page list. // Verify that the number of pages on the list is N. -func checkList(tls *libc.TLS, pCheck uintptr, isFreeList int32, iPage Pgno, N U32) { /* sqlite3.c:76221:13: */ +func checkList(tls *libc.TLS, pCheck uintptr, isFreeList int32, iPage Pgno, N U32) { /* sqlite3.c:76234:13: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -54161,7 +54180,7 @@ func checkList(tls *libc.TLS, pCheck uintptr, isFreeList int32, iPage Pgno, N U3 // entry represents the span of a cell or freeblock on a btree page. // The upper 16 bits are the index of the first byte of a range and the // lower 16 bits are the index of the last byte of that range. -func btreeHeapInsert(tls *libc.TLS, aHeap uintptr, x U32) { /* sqlite3.c:76310:13: */ +func btreeHeapInsert(tls *libc.TLS, aHeap uintptr, x U32) { /* sqlite3.c:76323:13: */ var j U32 var i U32 = libc.PreIncUint32(&*(*U32)(unsafe.Pointer(aHeap)), 1) *(*U32)(unsafe.Pointer(aHeap + uintptr(i)*4)) = x @@ -54173,7 +54192,7 @@ func btreeHeapInsert(tls *libc.TLS, aHeap uintptr, x U32) { /* sqlite3.c:76310:1 } } -func btreeHeapPull(tls *libc.TLS, aHeap uintptr, pOut uintptr) int32 { /* sqlite3.c:76320:12: */ +func btreeHeapPull(tls *libc.TLS, aHeap uintptr, pOut uintptr) int32 { /* sqlite3.c:76333:12: */ var j U32 var i U32 var x U32 @@ -54212,7 +54231,7 @@ func btreeHeapPull(tls *libc.TLS, aHeap uintptr, pOut uintptr) int32 { /* sqlite // 3. Check the integrity of overflow pages. // 4. Recursively call checkTreePage on all children. // 5. Verify that the depth of all children is the same. -func checkTreePage(tls *libc.TLS, pCheck uintptr, iPage Pgno, piMinKey uintptr, maxKey I64) int32 { /* sqlite3.c:76354:12: */ +func checkTreePage(tls *libc.TLS, pCheck uintptr, iPage Pgno, piMinKey uintptr, maxKey I64) int32 { /* sqlite3.c:76367:12: */ bp := tls.Alloc(140) defer tls.Free(140) *(*I64)(unsafe.Pointer(bp + 104)) = maxKey @@ -54601,7 +54620,7 @@ __34: // since obviously it is not possible to know which pages are covered by // the unverified btrees. Except, if aRoot[1] is 1, then the freelist // checks are still performed. -func Xsqlite3BtreeIntegrityCheck(tls *libc.TLS, db uintptr, p uintptr, aRoot uintptr, nRoot int32, mxErr int32, pnErr uintptr) uintptr { /* sqlite3.c:76633:21: */ +func Xsqlite3BtreeIntegrityCheck(tls *libc.TLS, db uintptr, p uintptr, aRoot uintptr, nRoot int32, mxErr int32, pnErr uintptr) uintptr { /* sqlite3.c:76646:21: */ bp := tls.Alloc(248) defer tls.Free(248) @@ -54835,7 +54854,7 @@ __29: // // The pager filename is invariant as long as the pager is // open so it is safe to access without the BtShared mutex. -func Xsqlite3BtreeGetFilename(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:76788:27: */ +func Xsqlite3BtreeGetFilename(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:76801:27: */ return Xsqlite3PagerFilename(tls, (*BtShared)(unsafe.Pointer((*Btree)(unsafe.Pointer(p)).FpBt)).FpPager, 1) } @@ -54846,14 +54865,14 @@ func Xsqlite3BtreeGetFilename(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:7 // // The pager journal filename is invariant as long as the pager is // open so it is safe to access without the BtShared mutex. -func Xsqlite3BtreeGetJournalname(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:76801:27: */ +func Xsqlite3BtreeGetJournalname(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:76814:27: */ return Xsqlite3PagerJournalname(tls, (*BtShared)(unsafe.Pointer((*Btree)(unsafe.Pointer(p)).FpBt)).FpPager) } // Return one of SQLITE_TXN_NONE, SQLITE_TXN_READ, or SQLITE_TXN_WRITE // to describe the current transaction state of Btree p. -func Xsqlite3BtreeTxnState(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:76810:20: */ +func Xsqlite3BtreeTxnState(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:76823:20: */ if p != 0 { return int32((*Btree)(unsafe.Pointer(p)).FinTrans) @@ -54867,7 +54886,7 @@ func Xsqlite3BtreeTxnState(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:76810: // transaction on the shared-cache the argument Btree is connected to. // // Parameter eMode is one of SQLITE_CHECKPOINT_PASSIVE, FULL or RESTART. -func Xsqlite3BtreeCheckpoint(tls *libc.TLS, p uintptr, eMode int32, pnLog uintptr, pnCkpt uintptr) int32 { /* sqlite3.c:76824:20: */ +func Xsqlite3BtreeCheckpoint(tls *libc.TLS, p uintptr, eMode int32, pnLog uintptr, pnCkpt uintptr) int32 { /* sqlite3.c:76837:20: */ var rc int32 = SQLITE_OK if p != 0 { var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt @@ -54883,7 +54902,7 @@ func Xsqlite3BtreeCheckpoint(tls *libc.TLS, p uintptr, eMode int32, pnLog uintpt } // Return true if there is currently a backup running on Btree p. -func Xsqlite3BtreeIsInBackup(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:76843:20: */ +func Xsqlite3BtreeIsInBackup(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:76856:20: */ return libc.Bool32((*Btree)(unsafe.Pointer(p)).FnBackup != 0) } @@ -54906,7 +54925,7 @@ func Xsqlite3BtreeIsInBackup(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:7684 // xFree argument when the memory allocation was made is invoked on the // blob of allocated memory. The xFree function should not call sqlite3_free() // on the memory, the btree layer does that. -func Xsqlite3BtreeSchema(tls *libc.TLS, p uintptr, nBytes int32, xFree uintptr) uintptr { /* sqlite3.c:76869:21: */ +func Xsqlite3BtreeSchema(tls *libc.TLS, p uintptr, nBytes int32, xFree uintptr) uintptr { /* sqlite3.c:76882:21: */ var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt Xsqlite3BtreeEnter(tls, p) if !(int32((*BtShared)(unsafe.Pointer(pBt)).FpSchema) != 0) && nBytes != 0 { @@ -54920,7 +54939,7 @@ func Xsqlite3BtreeSchema(tls *libc.TLS, p uintptr, nBytes int32, xFree uintptr) // Return SQLITE_LOCKED_SHAREDCACHE if another user of the same shared // btree as the argument handle holds an exclusive lock on the // sqlite_schema table. Otherwise SQLITE_OK. -func Xsqlite3BtreeSchemaLocked(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:76885:20: */ +func Xsqlite3BtreeSchemaLocked(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:76898:20: */ var rc int32 Xsqlite3BtreeEnter(tls, p) @@ -54933,7 +54952,7 @@ func Xsqlite3BtreeSchemaLocked(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:76 // Obtain a lock on the table whose root page is iTab. The // lock is a write lock if isWritelock is true or a read lock // if it is false. -func Xsqlite3BtreeLockTable(tls *libc.TLS, p uintptr, iTab int32, isWriteLock U8) int32 { /* sqlite3.c:76902:20: */ +func Xsqlite3BtreeLockTable(tls *libc.TLS, p uintptr, iTab int32, isWriteLock U8) int32 { /* sqlite3.c:76915:20: */ var rc int32 = SQLITE_OK if (*Btree)(unsafe.Pointer(p)).Fsharable != 0 { @@ -54957,7 +54976,7 @@ func Xsqlite3BtreeLockTable(tls *libc.TLS, p uintptr, iTab int32, isWriteLock U8 // change the length of the data stored. If this function is called with // parameters that attempt to write past the end of the existing data, // no modifications are made and SQLITE_CORRUPT is returned. -func Xsqlite3BtreePutData(tls *libc.TLS, pCsr uintptr, offset U32, amt U32, z uintptr) int32 { /* sqlite3.c:76932:20: */ +func Xsqlite3BtreePutData(tls *libc.TLS, pCsr uintptr, offset U32, amt U32, z uintptr) int32 { /* sqlite3.c:76945:20: */ var rc int32 rc = func() int32 { @@ -54997,7 +55016,7 @@ func Xsqlite3BtreePutData(tls *libc.TLS, pCsr uintptr, offset U32, amt U32, z ui } // Mark this cursor as an incremental blob cursor. -func Xsqlite3BtreeIncrblobCursor(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:76980:21: */ +func Xsqlite3BtreeIncrblobCursor(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:76993:21: */ *(*U8)(unsafe.Pointer(pCur + 1)) |= U8(BTCF_Incrblob) (*Btree)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pCur)).FpBtree)).FhasIncrblobCur = U8(1) } @@ -55005,7 +55024,7 @@ func Xsqlite3BtreeIncrblobCursor(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:769 // Set both the "read version" (single byte at byte offset 18) and // "write version" (single byte at byte offset 19) fields in the database // header to iVersion. -func Xsqlite3BtreeSetVersion(tls *libc.TLS, pBtree uintptr, iVersion int32) int32 { /* sqlite3.c:76991:20: */ +func Xsqlite3BtreeSetVersion(tls *libc.TLS, pBtree uintptr, iVersion int32) int32 { /* sqlite3.c:77004:20: */ var pBt uintptr = (*Btree)(unsafe.Pointer(pBtree)).FpBt var rc int32 // Return code @@ -55037,29 +55056,29 @@ func Xsqlite3BtreeSetVersion(tls *libc.TLS, pBtree uintptr, iVersion int32) int3 // Return true if the cursor has a hint specified. This routine is // only used from within assert() statements -func Xsqlite3BtreeCursorHasHint(tls *libc.TLS, pCsr uintptr, mask uint32) int32 { /* sqlite3.c:77026:20: */ +func Xsqlite3BtreeCursorHasHint(tls *libc.TLS, pCsr uintptr, mask uint32) int32 { /* sqlite3.c:77039:20: */ return libc.Bool32(uint32((*BtCursor)(unsafe.Pointer(pCsr)).Fhints)&mask != uint32(0)) } // Return true if the given Btree is read-only. -func Xsqlite3BtreeIsReadonly(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:77033:20: */ +func Xsqlite3BtreeIsReadonly(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:77046:20: */ return libc.Bool32(int32((*BtShared)(unsafe.Pointer((*Btree)(unsafe.Pointer(p)).FpBt)).FbtsFlags)&BTS_READ_ONLY != 0) } // Return the size of the header added to each page by this module. -func Xsqlite3HeaderSizeBtree(tls *libc.TLS) int32 { /* sqlite3.c:77040:20: */ +func Xsqlite3HeaderSizeBtree(tls *libc.TLS) int32 { /* sqlite3.c:77053:20: */ return int32((uint64(unsafe.Sizeof(MemPage{})) + uint64(7)) & libc.Uint64FromInt32(libc.CplInt32(7))) } // Return true if the Btree passed as the only argument is sharable. -func Xsqlite3BtreeSharable(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:77046:20: */ +func Xsqlite3BtreeSharable(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:77059:20: */ return int32((*Btree)(unsafe.Pointer(p)).Fsharable) } // Return the number of connections to the BtShared object accessed by // the Btree handle passed as the only argument. For private caches // this is always 1. For shared caches it may be 1 or greater. -func Xsqlite3BtreeConnectionCount(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:77055:20: */ +func Xsqlite3BtreeConnectionCount(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:77068:20: */ return (*BtShared)(unsafe.Pointer((*Btree)(unsafe.Pointer(p)).FpBt)).FnRef } @@ -55099,7 +55118,7 @@ func Xsqlite3BtreeConnectionCount(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c // If the "temp" database is requested, it may need to be opened by this // function. If an error occurs while doing so, return 0 and write an // error message to pErrorDb. -func findBtree(tls *libc.TLS, pErrorDb uintptr, pDb uintptr, zDb uintptr) uintptr { /* sqlite3.c:77144:14: */ +func findBtree(tls *libc.TLS, pErrorDb uintptr, pDb uintptr, zDb uintptr) uintptr { /* sqlite3.c:77157:14: */ bp := tls.Alloc(424) defer tls.Free(424) @@ -55131,7 +55150,7 @@ func findBtree(tls *libc.TLS, pErrorDb uintptr, pDb uintptr, zDb uintptr) uintpt // Attempt to set the page size of the destination to match the page size // of the source. -func setDestPgsz(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:77174:12: */ +func setDestPgsz(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:77187:12: */ var rc int32 rc = Xsqlite3BtreeSetPageSize(tls, (*Sqlite3_backup)(unsafe.Pointer(p)).FpDest, Xsqlite3BtreeGetPageSize(tls, (*Sqlite3_backup)(unsafe.Pointer(p)).FpSrc), 0, 0) return rc @@ -55141,7 +55160,7 @@ func setDestPgsz(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:77174:12: */ // second argument. If there is not, return SQLITE_OK. Otherwise, if there // is an open read-transaction, return SQLITE_ERROR and leave an error // message in database handle db. -func checkReadTransaction(tls *libc.TLS, db uintptr, p uintptr) int32 { /* sqlite3.c:77186:12: */ +func checkReadTransaction(tls *libc.TLS, db uintptr, p uintptr) int32 { /* sqlite3.c:77199:12: */ if Xsqlite3BtreeTxnState(tls, p) != SQLITE_TXN_NONE { Xsqlite3ErrorWithMsg(tls, db, SQLITE_ERROR, ts+4796, 0) return SQLITE_ERROR @@ -55155,7 +55174,7 @@ func checkReadTransaction(tls *libc.TLS, db uintptr, p uintptr) int32 { /* sqlit // // If an error occurs, NULL is returned and an error code and error message // stored in database handle pDestDb. -func Xsqlite3_backup_init(tls *libc.TLS, pDestDb uintptr, zDestDb uintptr, pSrcDb uintptr, zSrcDb uintptr) uintptr { /* sqlite3.c:77202:27: */ +func Xsqlite3_backup_init(tls *libc.TLS, pDestDb uintptr, zDestDb uintptr, pSrcDb uintptr, zSrcDb uintptr) uintptr { /* sqlite3.c:77215:27: */ var p uintptr // Value to return // Lock the source database handle. The destination database @@ -55215,14 +55234,14 @@ func Xsqlite3_backup_init(tls *libc.TLS, pDestDb uintptr, zDestDb uintptr, pSrcD // Argument rc is an SQLite error code. Return true if this error is // considered fatal if encountered during a backup operation. All errors // are considered fatal except for SQLITE_BUSY and SQLITE_LOCKED. -func isFatalError(tls *libc.TLS, rc int32) int32 { /* sqlite3.c:77279:12: */ +func isFatalError(tls *libc.TLS, rc int32) int32 { /* sqlite3.c:77292:12: */ return libc.Bool32(rc != SQLITE_OK && rc != SQLITE_BUSY && rc != SQLITE_LOCKED) } // Parameter zSrcData points to a buffer containing the data for // page iSrcPg from the source database. Copy this data into the // destination database. -func backupOnePage(tls *libc.TLS, p uintptr, iSrcPg Pgno, zSrcData uintptr, bUpdate int32) int32 { /* sqlite3.c:77288:12: */ +func backupOnePage(tls *libc.TLS, p uintptr, iSrcPg Pgno, zSrcData uintptr, bUpdate int32) int32 { /* sqlite3.c:77301:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -55284,7 +55303,7 @@ func backupOnePage(tls *libc.TLS, p uintptr, iSrcPg Pgno, zSrcData uintptr, bUpd // // Return SQLITE_OK if everything is successful, or an SQLite error // code if an error occurs. -func backupTruncateFile(tls *libc.TLS, pFile uintptr, iSize I64) int32 { /* sqlite3.c:77357:12: */ +func backupTruncateFile(tls *libc.TLS, pFile uintptr, iSize I64) int32 { /* sqlite3.c:77370:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -55299,7 +55318,7 @@ func backupTruncateFile(tls *libc.TLS, pFile uintptr, iSize I64) int32 { /* sqli // Register this backup object with the associated source pager for // callbacks when pages are changed or the cache invalidated. -func attachBackupObject(tls *libc.TLS, p uintptr) { /* sqlite3.c:77370:13: */ +func attachBackupObject(tls *libc.TLS, p uintptr) { /* sqlite3.c:77383:13: */ var pp uintptr pp = Xsqlite3PagerBackupPtr(tls, Xsqlite3BtreePager(tls, (*Sqlite3_backup)(unsafe.Pointer(p)).FpSrc)) @@ -55309,7 +55328,7 @@ func attachBackupObject(tls *libc.TLS, p uintptr) { /* sqlite3.c:77370:13: */ } // Copy nPage pages from the source b-tree to the destination. -func Xsqlite3_backup_step(tls *libc.TLS, p uintptr, nPage int32) int32 { /* sqlite3.c:77382:16: */ +func Xsqlite3_backup_step(tls *libc.TLS, p uintptr, nPage int32) int32 { /* sqlite3.c:77395:16: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -55547,7 +55566,7 @@ func Xsqlite3_backup_step(tls *libc.TLS, p uintptr, nPage int32) int32 { /* sqli } // Release all resources associated with an sqlite3_backup* handle. -func Xsqlite3_backup_finish(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:77636:16: */ +func Xsqlite3_backup_finish(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:77649:16: */ var pp uintptr // Ptr to head of pagers backup list var pSrcDb uintptr // Source database connection var rc int32 // Value to return @@ -55605,13 +55624,13 @@ func Xsqlite3_backup_finish(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:77636 // Return the number of pages still to be backed up as of the most recent // call to sqlite3_backup_step(). -func Xsqlite3_backup_remaining(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:77690:16: */ +func Xsqlite3_backup_remaining(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:77703:16: */ return int32((*Sqlite3_backup)(unsafe.Pointer(p)).FnRemaining) } // Return the total number of pages in the source database as of the most // recent call to sqlite3_backup_step(). -func Xsqlite3_backup_pagecount(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:77704:16: */ +func Xsqlite3_backup_pagecount(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:77717:16: */ return int32((*Sqlite3_backup)(unsafe.Pointer(p)).FnPagecount) } @@ -55625,7 +55644,7 @@ func Xsqlite3_backup_pagecount(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:77 // It is assumed that the mutex associated with the BtShared object // corresponding to the source database is held when this function is // called. -func backupUpdate(tls *libc.TLS, p uintptr, iPage Pgno, aData uintptr) { /* sqlite3.c:77726:29: */ +func backupUpdate(tls *libc.TLS, p uintptr, iPage Pgno, aData uintptr) { /* sqlite3.c:77739:29: */ for __ccgo := true; __ccgo; __ccgo = libc.AssignUintptr(&p, (*Sqlite3_backup)(unsafe.Pointer(p)).FpNext) != uintptr(0) { @@ -55646,7 +55665,7 @@ func backupUpdate(tls *libc.TLS, p uintptr, iPage Pgno, aData uintptr) { /* sqli } } -func Xsqlite3BackupUpdate(tls *libc.TLS, pBackup uintptr, iPage Pgno, aData uintptr) { /* sqlite3.c:77751:21: */ +func Xsqlite3BackupUpdate(tls *libc.TLS, pBackup uintptr, iPage Pgno, aData uintptr) { /* sqlite3.c:77764:21: */ if pBackup != 0 { backupUpdate(tls, pBackup, iPage, aData) } @@ -55661,7 +55680,7 @@ func Xsqlite3BackupUpdate(tls *libc.TLS, pBackup uintptr, iPage Pgno, aData uint // It is assumed that the mutex associated with the BtShared object // corresponding to the source database is held when this function is // called. -func Xsqlite3BackupRestart(tls *libc.TLS, pBackup uintptr) { /* sqlite3.c:77766:21: */ +func Xsqlite3BackupRestart(tls *libc.TLS, pBackup uintptr) { /* sqlite3.c:77779:21: */ var p uintptr // Iterator variable for p = pBackup; p != 0; p = (*Sqlite3_backup)(unsafe.Pointer(p)).FpNext { @@ -55675,7 +55694,7 @@ func Xsqlite3BackupRestart(tls *libc.TLS, pBackup uintptr) { /* sqlite3.c:77766: // The size of file pTo may be reduced by this operation. If anything // goes wrong, the transaction on pTo is rolled back. If successful, the // transaction is committed before returning. -func Xsqlite3BtreeCopyFile(tls *libc.TLS, pTo uintptr, pFrom uintptr) int32 { /* sqlite3.c:77783:20: */ +func Xsqlite3BtreeCopyFile(tls *libc.TLS, pTo uintptr, pFrom uintptr) int32 { /* sqlite3.c:77796:20: */ bp := tls.Alloc(80) defer tls.Free(80) @@ -55769,7 +55788,7 @@ copy_finished: // Render a Mem object which is one of MEM_Int, MEM_Real, or MEM_IntReal // into a buffer. -func vdbeMemRenderNum(tls *libc.TLS, sz int32, zBuf uintptr, p uintptr) { /* sqlite3.c:77941:13: */ +func vdbeMemRenderNum(tls *libc.TLS, sz int32, zBuf uintptr, p uintptr) { /* sqlite3.c:77954:13: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -55807,7 +55826,7 @@ func vdbeMemRenderNum(tls *libc.TLS, sz int32, zBuf uintptr, p uintptr) { /* sql // SQLITE_OK is returned if the conversion is successful (or not required). // SQLITE_NOMEM may be returned if a malloc() fails during conversion // between formats. -func Xsqlite3VdbeChangeEncoding(tls *libc.TLS, pMem uintptr, desiredEnc int32) int32 { /* sqlite3.c:78034:20: */ +func Xsqlite3VdbeChangeEncoding(tls *libc.TLS, pMem uintptr, desiredEnc int32) int32 { /* sqlite3.c:78047:20: */ var rc int32 if !(int32((*Mem)(unsafe.Pointer(pMem)).Fflags)&MEM_Str != 0) || int32((*Mem)(unsafe.Pointer(pMem)).Fenc) == desiredEnc { @@ -55827,7 +55846,7 @@ func Xsqlite3VdbeChangeEncoding(tls *libc.TLS, pMem uintptr, desiredEnc int32) i // pMem->z into the new allocation. pMem must be either a string or // blob if bPreserve is true. If bPreserve is false, any prior content // in pMem->z is discarded. -func Xsqlite3VdbeMemGrow(tls *libc.TLS, pMem uintptr, n int32, bPreserve int32) int32 { /* sqlite3.c:78069:36: */ +func Xsqlite3VdbeMemGrow(tls *libc.TLS, pMem uintptr, n int32, bPreserve int32) int32 { /* sqlite3.c:78082:36: */ // If the bPreserve flag is set to true, then the memory cell must already // contain a valid string or blob value. @@ -55883,7 +55902,7 @@ func Xsqlite3VdbeMemGrow(tls *libc.TLS, pMem uintptr, n int32, bPreserve int32) // // Return SQLITE_OK on success or an error code (probably SQLITE_NOMEM) // if unable to complete the resizing. -func Xsqlite3VdbeMemClearAndResize(tls *libc.TLS, pMem uintptr, szNew int32) int32 { /* sqlite3.c:78132:20: */ +func Xsqlite3VdbeMemClearAndResize(tls *libc.TLS, pMem uintptr, szNew int32) int32 { /* sqlite3.c:78145:20: */ if (*Mem)(unsafe.Pointer(pMem)).FszMalloc < szNew { return Xsqlite3VdbeMemGrow(tls, pMem, szNew, 0) @@ -55901,7 +55920,7 @@ func Xsqlite3VdbeMemClearAndResize(tls *libc.TLS, pMem uintptr, szNew int32) int // to be a double-zero byte at an even byte boundary in order to // terminate a UTF16 string, even if the initial size of the buffer // is an odd number of bytes. -func vdbeMemAddTerminator(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c:78153:28: */ +func vdbeMemAddTerminator(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c:78166:28: */ if Xsqlite3VdbeMemGrow(tls, pMem, (*Mem)(unsafe.Pointer(pMem)).Fn+3, 1) != 0 { return SQLITE_NOMEM } @@ -55916,7 +55935,7 @@ func vdbeMemAddTerminator(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c:7815 // MEM.zMalloc, where it can be safely written. // // Return SQLITE_OK on success or SQLITE_NOMEM if malloc fails. -func Xsqlite3VdbeMemMakeWriteable(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c:78170:20: */ +func Xsqlite3VdbeMemMakeWriteable(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c:78183:20: */ if int32((*Mem)(unsafe.Pointer(pMem)).Fflags)&(MEM_Str|MEM_Blob) != 0 { if func() int32 { @@ -55941,7 +55960,7 @@ func Xsqlite3VdbeMemMakeWriteable(tls *libc.TLS, pMem uintptr) int32 { /* sqlite // If the given Mem* has a zero-filled tail, turn it into an ordinary // blob stored in dynamically allocated space. -func Xsqlite3VdbeMemExpandBlob(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c:78194:20: */ +func Xsqlite3VdbeMemExpandBlob(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c:78207:20: */ var nByte int32 // Set nByte to the number of bytes required to store the expanded blob. @@ -55963,7 +55982,7 @@ func Xsqlite3VdbeMemExpandBlob(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c } // Make sure the given Mem is \u0000 terminated. -func Xsqlite3VdbeMemNulTerminate(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c:78225:20: */ +func Xsqlite3VdbeMemNulTerminate(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c:78238:20: */ if int32((*Mem)(unsafe.Pointer(pMem)).Fflags)&(MEM_Term|MEM_Str) != MEM_Str { return SQLITE_OK // Nothing to do @@ -55985,7 +56004,7 @@ func Xsqlite3VdbeMemNulTerminate(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3 // sqlite3_value_text()), or for ensuring that values to be used as btree // keys are strings. In the former case a NULL pointer is returned the // user and the latter is an internal programming error. -func Xsqlite3VdbeMemStringify(tls *libc.TLS, pMem uintptr, enc U8, bForce U8) int32 { /* sqlite3.c:78251:20: */ +func Xsqlite3VdbeMemStringify(tls *libc.TLS, pMem uintptr, enc U8, bForce U8) int32 { /* sqlite3.c:78264:20: */ var nByte int32 = 32 if Xsqlite3VdbeMemClearAndResize(tls, pMem, nByte) != 0 { @@ -56011,7 +56030,7 @@ func Xsqlite3VdbeMemStringify(tls *libc.TLS, pMem uintptr, enc U8, bForce U8) in // // Return SQLITE_ERROR if the finalizer reports an error. SQLITE_OK // otherwise. -func Xsqlite3VdbeMemFinalize(tls *libc.TLS, pMem uintptr, pFunc uintptr) int32 { /* sqlite3.c:78286:20: */ +func Xsqlite3VdbeMemFinalize(tls *libc.TLS, pMem uintptr, pFunc uintptr) int32 { /* sqlite3.c:78299:20: */ bp := tls.Alloc(112) defer tls.Free(112) @@ -56041,7 +56060,7 @@ func Xsqlite3VdbeMemFinalize(tls *libc.TLS, pMem uintptr, pFunc uintptr) int32 { // // SQLITE_ERROR is returned if xValue() reports an error. SQLITE_OK // otherwise. -func Xsqlite3VdbeMemAggValue(tls *libc.TLS, pAccum uintptr, pOut uintptr, pFunc uintptr) int32 { /* sqlite3.c:78317:20: */ +func Xsqlite3VdbeMemAggValue(tls *libc.TLS, pAccum uintptr, pOut uintptr, pFunc uintptr) int32 { /* sqlite3.c:78330:20: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -56063,7 +56082,7 @@ func Xsqlite3VdbeMemAggValue(tls *libc.TLS, pAccum uintptr, pOut uintptr, pFunc // This is a helper routine for sqlite3VdbeMemSetNull() and // for sqlite3VdbeMemRelease(). Use those other routines as the // entry point for releasing Mem resources. -func vdbeMemClearExternAndSetNull(tls *libc.TLS, p uintptr) { /* sqlite3.c:78342:29: */ +func vdbeMemClearExternAndSetNull(tls *libc.TLS, p uintptr) { /* sqlite3.c:78355:29: */ if int32((*Mem)(unsafe.Pointer(p)).Fflags)&MEM_Agg != 0 { Xsqlite3VdbeMemFinalize(tls, p, *(*uintptr)(unsafe.Pointer(p))) @@ -56082,7 +56101,7 @@ func vdbeMemClearExternAndSetNull(tls *libc.TLS, p uintptr) { /* sqlite3.c:78342 // This is a helper routine invoked by sqlite3VdbeMemRelease() in // the unusual case where there really is memory in p that needs // to be freed. -func vdbeMemClear(tls *libc.TLS, p uintptr) { /* sqlite3.c:78365:29: */ +func vdbeMemClear(tls *libc.TLS, p uintptr) { /* sqlite3.c:78378:29: */ if int32((*Mem)(unsafe.Pointer(p)).Fflags)&(MEM_Agg|MEM_Dyn) != 0 { vdbeMemClearExternAndSetNull(tls, p) } @@ -56101,7 +56120,7 @@ func vdbeMemClear(tls *libc.TLS, p uintptr) { /* sqlite3.c:78365:29: */ // // Use sqlite3VdbeMemSetNull() to release just the Mem.xDel space // prior to inserting new content into the Mem. -func Xsqlite3VdbeMemRelease(tls *libc.TLS, p uintptr) { /* sqlite3.c:78386:21: */ +func Xsqlite3VdbeMemRelease(tls *libc.TLS, p uintptr) { /* sqlite3.c:78399:21: */ if int32((*Mem)(unsafe.Pointer(p)).Fflags)&(MEM_Agg|MEM_Dyn) != 0 || (*Mem)(unsafe.Pointer(p)).FszMalloc != 0 { vdbeMemClear(tls, p) @@ -56111,7 +56130,7 @@ func Xsqlite3VdbeMemRelease(tls *libc.TLS, p uintptr) { /* sqlite3.c:78386:21: * // Convert a 64-bit IEEE double into a 64-bit signed integer. // If the double is out of range of a 64-bit signed integer then // return the closest available 64-bit signed integer. -func doubleToInt64(tls *libc.TLS, r float64) I64 { /* sqlite3.c:78398:28: */ +func doubleToInt64(tls *libc.TLS, r float64) I64 { /* sqlite3.c:78411:28: */ if r <= float64(minInt) { return minInt @@ -56123,8 +56142,8 @@ func doubleToInt64(tls *libc.TLS, r float64) I64 { /* sqlite3.c:78398:28: */ return I64(0) } -var maxInt I64 = int64(0xffffffff) | I64(int64(0x7fffffff))<<32 /* sqlite3.c:78410:20 */ -var minInt I64 = int64(-1) - (int64(0xffffffff) | I64(int64(0x7fffffff))<<32) /* sqlite3.c:78411:20 */ +var maxInt I64 = int64(0xffffffff) | I64(int64(0x7fffffff))<<32 /* sqlite3.c:78423:20 */ +var minInt I64 = int64(-1) - (int64(0xffffffff) | I64(int64(0x7fffffff))<<32) /* sqlite3.c:78424:20 */ // Return some kind of integer value which is the best we can do // at representing the value that *pMem describes as an integer. @@ -56135,7 +56154,7 @@ var minInt I64 = int64(-1) - (int64(0xffffffff) | I64(int64(0x7fffffff))<<32) /* // an SQL-NULL value, return 0. // // If pMem represents a string value, its encoding might be changed. -func memIntValue(tls *libc.TLS, pMem uintptr) I64 { /* sqlite3.c:78434:28: */ +func memIntValue(tls *libc.TLS, pMem uintptr) I64 { /* sqlite3.c:78447:28: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -56144,7 +56163,7 @@ func memIntValue(tls *libc.TLS, pMem uintptr) I64 { /* sqlite3.c:78434:28: */ return *(*I64)(unsafe.Pointer(bp /* value */)) } -func Xsqlite3VdbeIntValue(tls *libc.TLS, pMem uintptr) I64 { /* sqlite3.c:78439:20: */ +func Xsqlite3VdbeIntValue(tls *libc.TLS, pMem uintptr) I64 { /* sqlite3.c:78452:20: */ var flags int32 flags = int32((*Mem)(unsafe.Pointer(pMem)).Fflags) @@ -56165,7 +56184,7 @@ func Xsqlite3VdbeIntValue(tls *libc.TLS, pMem uintptr) I64 { /* sqlite3.c:78439: // double. If pMem is already a double or an integer, return its // value. If it is a string or blob, try to convert it to a double. // If it is a NULL, return 0.0. -func memRealValue(tls *libc.TLS, pMem uintptr) float64 { /* sqlite3.c:78463:31: */ +func memRealValue(tls *libc.TLS, pMem uintptr) float64 { /* sqlite3.c:78476:31: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -56175,7 +56194,7 @@ func memRealValue(tls *libc.TLS, pMem uintptr) float64 { /* sqlite3.c:78463:31: return *(*float64)(unsafe.Pointer(bp /* val */)) } -func Xsqlite3VdbeRealValue(tls *libc.TLS, pMem uintptr) float64 { /* sqlite3.c:78469:23: */ +func Xsqlite3VdbeRealValue(tls *libc.TLS, pMem uintptr) float64 { /* sqlite3.c:78482:23: */ if int32((*Mem)(unsafe.Pointer(pMem)).Fflags)&MEM_Real != 0 { return *(*float64)(unsafe.Pointer(pMem)) @@ -56193,7 +56212,7 @@ func Xsqlite3VdbeRealValue(tls *libc.TLS, pMem uintptr) float64 { /* sqlite3.c:7 // Return 1 if pMem represents true, and return 0 if pMem represents false. // Return the value ifNull if pMem is NULL. -func Xsqlite3VdbeBooleanValue(tls *libc.TLS, pMem uintptr, ifNull int32) int32 { /* sqlite3.c:78490:20: */ +func Xsqlite3VdbeBooleanValue(tls *libc.TLS, pMem uintptr, ifNull int32) int32 { /* sqlite3.c:78503:20: */ if int32((*Mem)(unsafe.Pointer(pMem)).Fflags)&(MEM_Int|MEM_IntReal) != 0 { return libc.Bool32(*(*I64)(unsafe.Pointer(pMem)) != int64(0)) @@ -56206,7 +56225,7 @@ func Xsqlite3VdbeBooleanValue(tls *libc.TLS, pMem uintptr, ifNull int32) int32 { // The MEM structure is already a MEM_Real. Try to also make it a // MEM_Int if we can. -func Xsqlite3VdbeIntegerAffinity(tls *libc.TLS, pMem uintptr) { /* sqlite3.c:78501:21: */ +func Xsqlite3VdbeIntegerAffinity(tls *libc.TLS, pMem uintptr) { /* sqlite3.c:78514:21: */ var ix I64 ix = doubleToInt64(tls, *(*float64)(unsafe.Pointer(pMem))) @@ -56227,7 +56246,7 @@ func Xsqlite3VdbeIntegerAffinity(tls *libc.TLS, pMem uintptr) { /* sqlite3.c:785 } // Convert pMem to type integer. Invalidate any prior representations. -func Xsqlite3VdbeMemIntegerify(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c:78530:20: */ +func Xsqlite3VdbeMemIntegerify(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c:78543:20: */ *(*I64)(unsafe.Pointer(pMem)) = Xsqlite3VdbeIntValue(tls, pMem) (*Mem)(unsafe.Pointer(pMem)).Fflags = U16(int32((*Mem)(unsafe.Pointer(pMem)).Fflags)&libc.CplInt32(MEM_TypeMask|MEM_Zero) | MEM_Int) @@ -56236,7 +56255,7 @@ func Xsqlite3VdbeMemIntegerify(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c // Convert pMem so that it is of type MEM_Real. // Invalidate any prior representations. -func Xsqlite3VdbeMemRealify(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c:78545:20: */ +func Xsqlite3VdbeMemRealify(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c:78558:20: */ *(*float64)(unsafe.Pointer(pMem)) = Xsqlite3VdbeRealValue(tls, pMem) (*Mem)(unsafe.Pointer(pMem)).Fflags = U16(int32((*Mem)(unsafe.Pointer(pMem)).Fflags)&libc.CplInt32(MEM_TypeMask|MEM_Zero) | MEM_Real) @@ -56251,7 +56270,7 @@ func Xsqlite3VdbeMemRealify(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c:78 // For some versions of GCC on 32-bit machines, if you do the more obvious // comparison of "r1==(double)i" you sometimes get an answer of false even // though the r1 and (double)i values are bit-for-bit the same. -func Xsqlite3RealSameAsInt(tls *libc.TLS, r1 float64, i Sqlite3_int64) int32 { /* sqlite3.c:78564:20: */ +func Xsqlite3RealSameAsInt(tls *libc.TLS, r1 float64, i Sqlite3_int64) int32 { /* sqlite3.c:78577:20: */ bp := tls.Alloc(16) defer tls.Free(16) *(*float64)(unsafe.Pointer(bp)) = r1 @@ -56268,7 +56287,7 @@ func Xsqlite3RealSameAsInt(tls *libc.TLS, r1 float64, i Sqlite3_int64) int32 { / // Every effort is made to force the conversion, even if the input // is a string that does not look completely like a number. Convert // as much of the string as we can and ignore the rest. -func Xsqlite3VdbeMemNumerify(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c:78579:20: */ +func Xsqlite3VdbeMemNumerify(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c:78592:20: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -56295,7 +56314,7 @@ func Xsqlite3VdbeMemNumerify(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c:7 // is forced. In other words, the value is converted into the desired // affinity even if that results in loss of data. This routine is // used (for example) to implement the SQL "cast()" operator. -func Xsqlite3VdbeMemCast(tls *libc.TLS, pMem uintptr, aff U8, encoding U8) int32 { /* sqlite3.c:78612:20: */ +func Xsqlite3VdbeMemCast(tls *libc.TLS, pMem uintptr, aff U8, encoding U8) int32 { /* sqlite3.c:78625:20: */ if int32((*Mem)(unsafe.Pointer(pMem)).Fflags)&MEM_Null != 0 { return SQLITE_OK } @@ -56349,7 +56368,7 @@ func Xsqlite3VdbeMemCast(tls *libc.TLS, pMem uintptr, aff U8, encoding U8) int32 // Initialize bulk memory to be a consistent Mem object. // // The minimum amount of initialization feasible is performed. -func Xsqlite3VdbeMemInit(tls *libc.TLS, pMem uintptr, db uintptr, flags U16) { /* sqlite3.c:78655:21: */ +func Xsqlite3VdbeMemInit(tls *libc.TLS, pMem uintptr, db uintptr, flags U16) { /* sqlite3.c:78668:21: */ (*Mem)(unsafe.Pointer(pMem)).Fflags = flags (*Mem)(unsafe.Pointer(pMem)).Fdb = db @@ -56366,7 +56385,7 @@ func Xsqlite3VdbeMemInit(tls *libc.TLS, pMem uintptr, db uintptr, flags U16) { / // Use this routine to reset the Mem prior to insert a new value. // // Use sqlite3VdbeMemRelease() to complete erase the Mem prior to abandoning it. -func Xsqlite3VdbeMemSetNull(tls *libc.TLS, pMem uintptr) { /* sqlite3.c:78675:21: */ +func Xsqlite3VdbeMemSetNull(tls *libc.TLS, pMem uintptr) { /* sqlite3.c:78688:21: */ if int32((*Mem)(unsafe.Pointer(pMem)).Fflags)&(MEM_Agg|MEM_Dyn) != 0 { vdbeMemClearExternAndSetNull(tls, pMem) } else { @@ -56374,13 +56393,13 @@ func Xsqlite3VdbeMemSetNull(tls *libc.TLS, pMem uintptr) { /* sqlite3.c:78675:21 } } -func Xsqlite3ValueSetNull(tls *libc.TLS, p uintptr) { /* sqlite3.c:78682:21: */ +func Xsqlite3ValueSetNull(tls *libc.TLS, p uintptr) { /* sqlite3.c:78695:21: */ Xsqlite3VdbeMemSetNull(tls, p) } // Delete any previous value and set the value to be a BLOB of length // n containing all zeros. -func Xsqlite3VdbeMemSetZeroBlob(tls *libc.TLS, pMem uintptr, n int32) { /* sqlite3.c:78691:21: */ +func Xsqlite3VdbeMemSetZeroBlob(tls *libc.TLS, pMem uintptr, n int32) { /* sqlite3.c:78704:21: */ Xsqlite3VdbeMemRelease(tls, pMem) (*Mem)(unsafe.Pointer(pMem)).Fflags = U16(MEM_Blob | MEM_Zero) (*Mem)(unsafe.Pointer(pMem)).Fn = 0 @@ -56395,7 +56414,7 @@ func Xsqlite3VdbeMemSetZeroBlob(tls *libc.TLS, pMem uintptr, n int32) { /* sqlit // The pMem is known to contain content that needs to be destroyed prior // to a value change. So invoke the destructor, then set the value to // a 64-bit integer. -func vdbeReleaseAndSetInt64(tls *libc.TLS, pMem uintptr, val I64) { /* sqlite3.c:78721:29: */ +func vdbeReleaseAndSetInt64(tls *libc.TLS, pMem uintptr, val I64) { /* sqlite3.c:78734:29: */ Xsqlite3VdbeMemSetNull(tls, pMem) *(*I64)(unsafe.Pointer(pMem)) = val (*Mem)(unsafe.Pointer(pMem)).Fflags = U16(MEM_Int) @@ -56403,7 +56422,7 @@ func vdbeReleaseAndSetInt64(tls *libc.TLS, pMem uintptr, val I64) { /* sqlite3.c // Delete any previous value and set the value stored in *pMem to val, // manifest type INTEGER. -func Xsqlite3VdbeMemSetInt64(tls *libc.TLS, pMem uintptr, val I64) { /* sqlite3.c:78731:21: */ +func Xsqlite3VdbeMemSetInt64(tls *libc.TLS, pMem uintptr, val I64) { /* sqlite3.c:78744:21: */ if int32((*Mem)(unsafe.Pointer(pMem)).Fflags)&(MEM_Agg|MEM_Dyn) != 0 { vdbeReleaseAndSetInt64(tls, pMem, val) } else { @@ -56413,13 +56432,13 @@ func Xsqlite3VdbeMemSetInt64(tls *libc.TLS, pMem uintptr, val I64) { /* sqlite3. } // A no-op destructor -func Xsqlite3NoopDestructor(tls *libc.TLS, p uintptr) { /* sqlite3.c:78741:21: */ +func Xsqlite3NoopDestructor(tls *libc.TLS, p uintptr) { /* sqlite3.c:78754:21: */ _ = p } // Set the value stored in *pMem should already be a NULL. // Also store a pointer to go with it. -func Xsqlite3VdbeMemSetPointer(tls *libc.TLS, pMem uintptr, pPtr uintptr, zPType uintptr, xDestructor uintptr) { /* sqlite3.c:78747:21: */ +func Xsqlite3VdbeMemSetPointer(tls *libc.TLS, pMem uintptr, pPtr uintptr, zPType uintptr, xDestructor uintptr) { /* sqlite3.c:78760:21: */ vdbeMemClear(tls, pMem) *(*uintptr)(unsafe.Pointer(pMem)) = func() uintptr { @@ -56441,7 +56460,7 @@ func Xsqlite3VdbeMemSetPointer(tls *libc.TLS, pMem uintptr, pPtr uintptr, zPType // Delete any previous value and set the value stored in *pMem to val, // manifest type REAL. -func Xsqlite3VdbeMemSetDouble(tls *libc.TLS, pMem uintptr, val float64) { /* sqlite3.c:78767:21: */ +func Xsqlite3VdbeMemSetDouble(tls *libc.TLS, pMem uintptr, val float64) { /* sqlite3.c:78780:21: */ Xsqlite3VdbeMemSetNull(tls, pMem) if !(Xsqlite3IsNaN(tls, val) != 0) { *(*float64)(unsafe.Pointer(pMem)) = val @@ -56454,7 +56473,7 @@ func Xsqlite3VdbeMemSetDouble(tls *libc.TLS, pMem uintptr, val float64) { /* sql // // Return SQLITE_OK on success and SQLITE_NOMEM if a memory allocation // error occurs. -func Xsqlite3VdbeMemSetRowSet(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c:78794:20: */ +func Xsqlite3VdbeMemSetRowSet(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c:78807:20: */ var db uintptr = (*Mem)(unsafe.Pointer(pMem)).Fdb var p uintptr @@ -56471,7 +56490,7 @@ func Xsqlite3VdbeMemSetRowSet(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c: // Return true if the Mem object contains a TEXT or BLOB that is // too large - whose size exceeds SQLITE_MAX_LENGTH. -func Xsqlite3VdbeMemTooBig(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:78812:20: */ +func Xsqlite3VdbeMemTooBig(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:78825:20: */ if int32((*Mem)(unsafe.Pointer(p)).Fflags)&(MEM_Str|MEM_Blob) != 0 { var n int32 = (*Mem)(unsafe.Pointer(p)).Fn @@ -56487,13 +56506,13 @@ func Xsqlite3VdbeMemTooBig(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:78812: // pTo are freed. The pFrom->z field is not duplicated. If // pFrom->z is used, then pTo->z points to the same thing as pFrom->z // and flags gets srcType (either MEM_Ephem or MEM_Static). -func vdbeClrCopy(tls *libc.TLS, pTo uintptr, pFrom uintptr, eType int32) { /* sqlite3.c:78868:29: */ +func vdbeClrCopy(tls *libc.TLS, pTo uintptr, pFrom uintptr, eType int32) { /* sqlite3.c:78881:29: */ vdbeMemClearExternAndSetNull(tls, pTo) Xsqlite3VdbeMemShallowCopy(tls, pTo, pFrom, eType) } -func Xsqlite3VdbeMemShallowCopy(tls *libc.TLS, pTo uintptr, pFrom uintptr, srcType int32) { /* sqlite3.c:78873:21: */ +func Xsqlite3VdbeMemShallowCopy(tls *libc.TLS, pTo uintptr, pFrom uintptr, srcType int32) { /* sqlite3.c:78886:21: */ if int32((*Mem)(unsafe.Pointer(pTo)).Fflags)&(MEM_Agg|MEM_Dyn) != 0 { vdbeClrCopy(tls, pTo, pFrom, srcType) @@ -56509,7 +56528,7 @@ func Xsqlite3VdbeMemShallowCopy(tls *libc.TLS, pTo uintptr, pFrom uintptr, srcTy // Make a full copy of pFrom into pTo. Prior contents of pTo are // freed before the copy is made. -func Xsqlite3VdbeMemCopy(tls *libc.TLS, pTo uintptr, pFrom uintptr) int32 { /* sqlite3.c:78889:20: */ +func Xsqlite3VdbeMemCopy(tls *libc.TLS, pTo uintptr, pFrom uintptr) int32 { /* sqlite3.c:78902:20: */ var rc int32 = SQLITE_OK if int32((*Mem)(unsafe.Pointer(pTo)).Fflags)&(MEM_Agg|MEM_Dyn) != 0 { @@ -56531,7 +56550,7 @@ func Xsqlite3VdbeMemCopy(tls *libc.TLS, pTo uintptr, pFrom uintptr) int32 { /* s // freed. If pFrom contains ephemeral data, a copy is made. // // pFrom contains an SQL NULL when this routine returns. -func Xsqlite3VdbeMemMove(tls *libc.TLS, pTo uintptr, pFrom uintptr) { /* sqlite3.c:78912:21: */ +func Xsqlite3VdbeMemMove(tls *libc.TLS, pTo uintptr, pFrom uintptr) { /* sqlite3.c:78925:21: */ Xsqlite3VdbeMemRelease(tls, pTo) libc.Xmemcpy(tls, pTo, pFrom, uint64(unsafe.Sizeof(Mem{}))) @@ -56552,7 +56571,7 @@ func Xsqlite3VdbeMemMove(tls *libc.TLS, pTo uintptr, pFrom uintptr) { /* sqlite3 // stored without allocating memory, then it is. If a memory allocation // is required to store the string, then value of pMem is unchanged. In // either case, SQLITE_TOOBIG is returned. -func Xsqlite3VdbeMemSetStr(tls *libc.TLS, pMem uintptr, z uintptr, n I64, enc U8, xDel uintptr) int32 { /* sqlite3.c:78938:20: */ +func Xsqlite3VdbeMemSetStr(tls *libc.TLS, pMem uintptr, z uintptr, n I64, enc U8, xDel uintptr) int32 { /* sqlite3.c:78951:20: */ var nByte I64 = n // New value for pMem->n var iLimit int32 // Maximum allowed string or blob size var flags U16 = U16(0) // New value for pMem->flags @@ -56665,11 +56684,11 @@ func Xsqlite3VdbeMemSetStr(tls *libc.TLS, pMem uintptr, z uintptr, n I64, enc U8 // // If this routine fails for any reason (malloc returns NULL or unable // to read from the disk) then the pMem is left in an inconsistent state. -func Xsqlite3VdbeMemFromBtree(tls *libc.TLS, pCur uintptr, offset U32, amt U32, pMem uintptr) int32 { /* sqlite3.c:79047:20: */ +func Xsqlite3VdbeMemFromBtree(tls *libc.TLS, pCur uintptr, offset U32, amt U32, pMem uintptr) int32 { /* sqlite3.c:79060:20: */ var rc int32 (*Mem)(unsafe.Pointer(pMem)).Fflags = U16(MEM_Null) if Xsqlite3BtreeMaxRecordSize(tls, pCur) < Sqlite3_int64(offset+amt) { - return Xsqlite3CorruptError(tls, 79056) + return Xsqlite3CorruptError(tls, 79069) } if SQLITE_OK == libc.AssignInt32(&rc, Xsqlite3VdbeMemClearAndResize(tls, pMem, int32(amt+U32(1)))) { rc = Xsqlite3BtreePayload(tls, pCur, offset, amt, (*Mem)(unsafe.Pointer(pMem)).Fz) @@ -56684,7 +56703,7 @@ func Xsqlite3VdbeMemFromBtree(tls *libc.TLS, pCur uintptr, offset U32, amt U32, return rc } -func Xsqlite3VdbeMemFromBtreeZeroOffset(tls *libc.TLS, pCur uintptr, amt U32, pMem uintptr) int32 { /* sqlite3.c:79070:20: */ +func Xsqlite3VdbeMemFromBtreeZeroOffset(tls *libc.TLS, pCur uintptr, amt U32, pMem uintptr) int32 { /* sqlite3.c:79083:20: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -56709,7 +56728,7 @@ func Xsqlite3VdbeMemFromBtreeZeroOffset(tls *libc.TLS, pCur uintptr, amt U32, pM // The pVal argument is known to be a value other than NULL. // Convert it into a string with encoding enc and return a pointer // to a zero-terminated version of that string. -func valueToText(tls *libc.TLS, pVal uintptr, enc U8) uintptr { /* sqlite3.c:79102:35: */ +func valueToText(tls *libc.TLS, pVal uintptr, enc U8) uintptr { /* sqlite3.c:79115:35: */ if int32((*Sqlite3_value)(unsafe.Pointer(pVal)).Fflags)&(MEM_Blob|MEM_Str) != 0 { if func() int32 { @@ -56754,7 +56773,7 @@ func valueToText(tls *libc.TLS, pVal uintptr, enc U8) uintptr { /* sqlite3.c:791 // (2006-02-16:) The enc value can be or-ed with SQLITE_UTF16_ALIGNED. // If that is the case, then the result must be aligned on an even byte // boundary. -func Xsqlite3ValueText(tls *libc.TLS, pVal uintptr, enc U8) uintptr { /* sqlite3.c:79145:27: */ +func Xsqlite3ValueText(tls *libc.TLS, pVal uintptr, enc U8) uintptr { /* sqlite3.c:79158:27: */ if !(pVal != 0) { return uintptr(0) } @@ -56770,7 +56789,7 @@ func Xsqlite3ValueText(tls *libc.TLS, pVal uintptr, enc U8) uintptr { /* sqlite3 } // Create a new sqlite3_value object. -func Xsqlite3ValueNew(tls *libc.TLS, db uintptr) uintptr { /* sqlite3.c:79163:30: */ +func Xsqlite3ValueNew(tls *libc.TLS, db uintptr) uintptr { /* sqlite3.c:79176:30: */ var p uintptr = Xsqlite3DbMallocZero(tls, db, uint64(unsafe.Sizeof(Mem{}))) if p != 0 { (*Mem)(unsafe.Pointer(p)).Fflags = U16(MEM_Null) @@ -56787,7 +56806,7 @@ type ValueNewStat4Ctx = struct { FppRec uintptr FiVal int32 F__ccgo_pad1 [4]byte -} /* sqlite3.c:79176:1 */ +} /* sqlite3.c:79189:1 */ // Allocate and return a pointer to a new sqlite3_value object. If // the second argument to this function is NULL, the object is allocated @@ -56798,7 +56817,7 @@ type ValueNewStat4Ctx = struct { // already been allocated, allocate the UnpackedRecord structure that // that function will return to its caller here. Then return a pointer to // an sqlite3_value within the UnpackedRecord.a[] array. -func valueNew(tls *libc.TLS, db uintptr, p uintptr) uintptr { /* sqlite3.c:79194:22: */ +func valueNew(tls *libc.TLS, db uintptr, p uintptr) uintptr { /* sqlite3.c:79207:22: */ if p != 0 { var pRec uintptr = *(*uintptr)(unsafe.Pointer((*ValueNewStat4Ctx)(unsafe.Pointer(p)).FppRec)) @@ -56854,7 +56873,7 @@ func valueNew(tls *libc.TLS, db uintptr, p uintptr) uintptr { /* sqlite3.c:79194 // If the conditions above are not met, this function returns SQLITE_OK // and sets (*ppVal) to NULL. Or, if an error occurs, (*ppVal) is set to // NULL and an SQLite error code returned. -func valueFromFunction(tls *libc.TLS, db uintptr, p uintptr, enc U8, aff U8, ppVal uintptr, pCtx uintptr) int32 { /* sqlite3.c:79256:12: */ +func valueFromFunction(tls *libc.TLS, db uintptr, p uintptr, enc U8, aff U8, ppVal uintptr, pCtx uintptr) int32 { /* sqlite3.c:79269:12: */ bp := tls.Alloc(64) defer tls.Free(64) @@ -57000,7 +57019,7 @@ __14: // has been allocated, it is freed before returning. Or, if pCtx is not // NULL, it is assumed that the caller will free any allocated object // in all cases. -func valueFromExpr(tls *libc.TLS, db uintptr, pExpr uintptr, enc U8, affinity U8, ppVal uintptr, pCtx uintptr) int32 { /* sqlite3.c:79352:12: */ +func valueFromExpr(tls *libc.TLS, db uintptr, pExpr uintptr, enc U8, affinity U8, ppVal uintptr, pCtx uintptr) int32 { /* sqlite3.c:79365:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -57248,7 +57267,7 @@ __35: // a pointer written to *ppVal. The caller is responsible for deallocating // the value by passing it to sqlite3ValueFree() later on. If the expression // cannot be converted to a value, then *ppVal is set to NULL. -func Xsqlite3ValueFromExpr(tls *libc.TLS, db uintptr, pExpr uintptr, enc U8, affinity U8, ppVal uintptr) int32 { /* sqlite3.c:79507:20: */ +func Xsqlite3ValueFromExpr(tls *libc.TLS, db uintptr, pExpr uintptr, enc U8, affinity U8, ppVal uintptr) int32 { /* sqlite3.c:79520:20: */ if pExpr != 0 { return valueFromExpr(tls, db, pExpr, enc, affinity, ppVal, uintptr(0)) } @@ -57271,7 +57290,7 @@ func Xsqlite3ValueFromExpr(tls *libc.TLS, db uintptr, pExpr uintptr, enc U8, aff // // On success, *ppVal is made to point to the extracted value. The caller // is responsible for ensuring that the value is eventually freed. -func stat4ValueFromExpr(tls *libc.TLS, pParse uintptr, pExpr uintptr, affinity U8, pAlloc uintptr, ppVal uintptr) int32 { /* sqlite3.c:79536:12: */ +func stat4ValueFromExpr(tls *libc.TLS, pParse uintptr, pExpr uintptr, affinity U8, pAlloc uintptr, ppVal uintptr) int32 { /* sqlite3.c:79549:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -57339,7 +57358,7 @@ func stat4ValueFromExpr(tls *libc.TLS, pParse uintptr, pExpr uintptr, affinity U // Unless an error is encountered, SQLITE_OK is returned. It is not an // error if a value cannot be extracted from pExpr. If an error does // occur, an SQLite error code is returned. -func Xsqlite3Stat4ProbeSetValue(tls *libc.TLS, pParse uintptr, pIdx uintptr, ppRec uintptr, pExpr uintptr, nElem int32, iVal int32, pnExtract uintptr) int32 { /* sqlite3.c:79611:20: */ +func Xsqlite3Stat4ProbeSetValue(tls *libc.TLS, pParse uintptr, pIdx uintptr, ppRec uintptr, pExpr uintptr, nElem int32, iVal int32, pnExtract uintptr) int32 { /* sqlite3.c:79624:20: */ bp := tls.Alloc(40) defer tls.Free(40) @@ -57384,7 +57403,7 @@ func Xsqlite3Stat4ProbeSetValue(tls *libc.TLS, pParse uintptr, pIdx uintptr, ppR // (e.g. OOM), return SQLITE_OK and set *ppVal to NULL. Or, if an error // does occur, return an SQLite error code. The final value of *ppVal // is undefined in this case. -func Xsqlite3Stat4ValueFromExpr(tls *libc.TLS, pParse uintptr, pExpr uintptr, affinity U8, ppVal uintptr) int32 { /* sqlite3.c:79656:20: */ +func Xsqlite3Stat4ValueFromExpr(tls *libc.TLS, pParse uintptr, pExpr uintptr, affinity U8, ppVal uintptr) int32 { /* sqlite3.c:79669:20: */ return stat4ValueFromExpr(tls, pParse, pExpr, affinity, uintptr(0), ppVal) } @@ -57394,7 +57413,7 @@ func Xsqlite3Stat4ValueFromExpr(tls *libc.TLS, pParse uintptr, pExpr uintptr, af // // If *ppVal is initially NULL then the caller is responsible for // ensuring that the value written into *ppVal is eventually freed. -func Xsqlite3Stat4Column(tls *libc.TLS, db uintptr, pRec uintptr, nRec int32, iCol int32, ppVal uintptr) int32 { /* sqlite3.c:79673:20: */ +func Xsqlite3Stat4Column(tls *libc.TLS, db uintptr, pRec uintptr, nRec int32, iCol int32, ppVal uintptr) int32 { /* sqlite3.c:79686:20: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -57415,7 +57434,7 @@ func Xsqlite3Stat4Column(tls *libc.TLS, db uintptr, pRec uintptr, nRec int32, iC return Xsqlite3GetVarint32(tls, a, bp) }()) if *(*int32)(unsafe.Pointer(bp)) > nRec || iHdr >= *(*int32)(unsafe.Pointer(bp)) { - return Xsqlite3CorruptError(tls, 79691) + return Xsqlite3CorruptError(tls, 79704) } iField = *(*int32)(unsafe.Pointer(bp /* nHdr */)) for i = 0; i <= iCol; i++ { @@ -57430,14 +57449,14 @@ func Xsqlite3Stat4Column(tls *libc.TLS, db uintptr, pRec uintptr, nRec int32, iC }()) if iHdr > *(*int32)(unsafe.Pointer(bp)) { - return Xsqlite3CorruptError(tls, 79697) + return Xsqlite3CorruptError(tls, 79710) } szField = int32(Xsqlite3VdbeSerialTypeLen(tls, *(*U32)(unsafe.Pointer(bp + 4 /* t */)))) iField = iField + szField } if iField > nRec { - return Xsqlite3CorruptError(tls, 79703) + return Xsqlite3CorruptError(tls, 79716) } if pMem == uintptr(0) { pMem = libc.AssignPtrUintptr(ppVal, Xsqlite3ValueNew(tls, db)) @@ -57453,7 +57472,7 @@ func Xsqlite3Stat4Column(tls *libc.TLS, db uintptr, pRec uintptr, nRec int32, iC // Unless it is NULL, the argument must be an UnpackedRecord object returned // by an earlier call to sqlite3Stat4ProbeSetValue(). This call deletes // the object. -func Xsqlite3Stat4ProbeFree(tls *libc.TLS, pRec uintptr) { /* sqlite3.c:79718:21: */ +func Xsqlite3Stat4ProbeFree(tls *libc.TLS, pRec uintptr) { /* sqlite3.c:79731:21: */ if pRec != 0 { var i int32 var nCol int32 = int32((*KeyInfo)(unsafe.Pointer((*UnpackedRecord)(unsafe.Pointer(pRec)).FpKeyInfo)).FnAllField) @@ -57468,14 +57487,14 @@ func Xsqlite3Stat4ProbeFree(tls *libc.TLS, pRec uintptr) { /* sqlite3.c:79718:21 } // Change the string value of an sqlite3_value object -func Xsqlite3ValueSetStr(tls *libc.TLS, v uintptr, n int32, z uintptr, enc U8, xDel uintptr) { /* sqlite3.c:79736:21: */ +func Xsqlite3ValueSetStr(tls *libc.TLS, v uintptr, n int32, z uintptr, enc U8, xDel uintptr) { /* sqlite3.c:79749:21: */ if v != 0 { Xsqlite3VdbeMemSetStr(tls, v, z, int64(n), enc, xDel) } } // Free an sqlite3_value object -func Xsqlite3ValueFree(tls *libc.TLS, v uintptr) { /* sqlite3.c:79749:21: */ +func Xsqlite3ValueFree(tls *libc.TLS, v uintptr) { /* sqlite3.c:79762:21: */ if !(v != 0) { return } @@ -57486,14 +57505,14 @@ func Xsqlite3ValueFree(tls *libc.TLS, v uintptr) { /* sqlite3.c:79749:21: */ // The sqlite3ValueBytes() routine returns the number of bytes in the // sqlite3_value object assuming that it uses the encoding "enc". // The valueBytes() routine is a helper function. -func valueBytes(tls *libc.TLS, pVal uintptr, enc U8) int32 { /* sqlite3.c:79760:28: */ +func valueBytes(tls *libc.TLS, pVal uintptr, enc U8) int32 { /* sqlite3.c:79773:28: */ if valueToText(tls, pVal, enc) != uintptr(0) { return (*Sqlite3_value)(unsafe.Pointer(pVal)).Fn } return 0 } -func Xsqlite3ValueBytes(tls *libc.TLS, pVal uintptr, enc U8) int32 { /* sqlite3.c:79763:20: */ +func Xsqlite3ValueBytes(tls *libc.TLS, pVal uintptr, enc U8) int32 { /* sqlite3.c:79776:20: */ var p uintptr = pVal if int32((*Mem)(unsafe.Pointer(p)).Fflags)&MEM_Str != 0 && int32((*Sqlite3_value)(unsafe.Pointer(pVal)).Fenc) == int32(enc) { @@ -57513,7 +57532,7 @@ func Xsqlite3ValueBytes(tls *libc.TLS, pVal uintptr, enc U8) int32 { /* sqlite3. } // Create a new virtual database engine. -func Xsqlite3VdbeCreate(tls *libc.TLS, pParse uintptr) uintptr { /* sqlite3.c:79806:21: */ +func Xsqlite3VdbeCreate(tls *libc.TLS, pParse uintptr) uintptr { /* sqlite3.c:79819:21: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb var p uintptr p = Xsqlite3DbMallocRawNN(tls, db, uint64(unsafe.Sizeof(Vdbe{}))) @@ -57537,12 +57556,12 @@ func Xsqlite3VdbeCreate(tls *libc.TLS, pParse uintptr) uintptr { /* sqlite3.c:79 } // Return the Parse object that owns a Vdbe object. -func Xsqlite3VdbeParser(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:79833:22: */ +func Xsqlite3VdbeParser(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:79846:22: */ return (*Vdbe)(unsafe.Pointer(p)).FpParse } // Change the error string stored in Vdbe.zErrMsg -func Xsqlite3VdbeError(tls *libc.TLS, p uintptr, zFormat uintptr, va uintptr) { /* sqlite3.c:79840:21: */ +func Xsqlite3VdbeError(tls *libc.TLS, p uintptr, zFormat uintptr, va uintptr) { /* sqlite3.c:79853:21: */ var ap Va_list _ = ap Xsqlite3DbFree(tls, (*Vdbe)(unsafe.Pointer(p)).Fdb, (*Vdbe)(unsafe.Pointer(p)).FzErrMsg) @@ -57552,7 +57571,7 @@ func Xsqlite3VdbeError(tls *libc.TLS, p uintptr, zFormat uintptr, va uintptr) { } // Remember the SQL string for a prepared statement. -func Xsqlite3VdbeSetSql(tls *libc.TLS, p uintptr, z uintptr, n int32, prepFlags U8) { /* sqlite3.c:79851:21: */ +func Xsqlite3VdbeSetSql(tls *libc.TLS, p uintptr, z uintptr, n int32, prepFlags U8) { /* sqlite3.c:79864:21: */ if p == uintptr(0) { return } @@ -57565,7 +57584,7 @@ func Xsqlite3VdbeSetSql(tls *libc.TLS, p uintptr, z uintptr, n int32, prepFlags } // Swap all content between two VDBE structures. -func Xsqlite3VdbeSwap(tls *libc.TLS, pA uintptr, pB uintptr) { /* sqlite3.c:79901:21: */ +func Xsqlite3VdbeSwap(tls *libc.TLS, pA uintptr, pB uintptr) { /* sqlite3.c:79914:21: */ var tmp Vdbe var pTmp uintptr var zTmp uintptr @@ -57596,7 +57615,7 @@ func Xsqlite3VdbeSwap(tls *libc.TLS, pA uintptr, pB uintptr) { /* sqlite3.c:7990 // SQLITE_NOMEM. In this case Vdbe.aOp and Vdbe.nOpAlloc remain // unchanged (this is so that any opcodes already allocated can be // correctly deallocated along with the rest of the Vdbe). -func growOpArray(tls *libc.TLS, v uintptr, nOp int32) int32 { /* sqlite3.c:79938:12: */ +func growOpArray(tls *libc.TLS, v uintptr, nOp int32) int32 { /* sqlite3.c:79951:12: */ var pNew uintptr var p uintptr = (*Vdbe)(unsafe.Pointer(v)).FpParse @@ -57649,7 +57668,7 @@ func growOpArray(tls *libc.TLS, v uintptr, nOp int32) int32 { /* sqlite3.c:79938 // Use the sqlite3VdbeResolveLabel() function to fix an address and // the sqlite3VdbeChangeP4() function to change the value of the P4 // operand. -func growOp3(tls *libc.TLS, p uintptr, op int32, p1 int32, p2 int32, p3 int32) int32 { /* sqlite3.c:80009:28: */ +func growOp3(tls *libc.TLS, p uintptr, op int32, p1 int32, p2 int32, p3 int32) int32 { /* sqlite3.c:80022:28: */ if growOpArray(tls, p, 1) != 0 { return 1 @@ -57658,7 +57677,7 @@ func growOp3(tls *libc.TLS, p uintptr, op int32, p1 int32, p2 int32, p3 int32) i return Xsqlite3VdbeAddOp3(tls, p, op, p1, p2, p3) } -func Xsqlite3VdbeAddOp3(tls *libc.TLS, p uintptr, op int32, p1 int32, p2 int32, p3 int32) int32 { /* sqlite3.c:80015:20: */ +func Xsqlite3VdbeAddOp3(tls *libc.TLS, p uintptr, op int32, p1 int32, p2 int32, p3 int32) int32 { /* sqlite3.c:80028:20: */ var i int32 var pOp uintptr @@ -57681,26 +57700,26 @@ func Xsqlite3VdbeAddOp3(tls *libc.TLS, p uintptr, op int32, p1 int32, p2 int32, return i } -func Xsqlite3VdbeAddOp0(tls *libc.TLS, p uintptr, op int32) int32 { /* sqlite3.c:80054:20: */ +func Xsqlite3VdbeAddOp0(tls *libc.TLS, p uintptr, op int32) int32 { /* sqlite3.c:80067:20: */ return Xsqlite3VdbeAddOp3(tls, p, op, 0, 0, 0) } -func Xsqlite3VdbeAddOp1(tls *libc.TLS, p uintptr, op int32, p1 int32) int32 { /* sqlite3.c:80057:20: */ +func Xsqlite3VdbeAddOp1(tls *libc.TLS, p uintptr, op int32, p1 int32) int32 { /* sqlite3.c:80070:20: */ return Xsqlite3VdbeAddOp3(tls, p, op, p1, 0, 0) } -func Xsqlite3VdbeAddOp2(tls *libc.TLS, p uintptr, op int32, p1 int32, p2 int32) int32 { /* sqlite3.c:80060:20: */ +func Xsqlite3VdbeAddOp2(tls *libc.TLS, p uintptr, op int32, p1 int32, p2 int32) int32 { /* sqlite3.c:80073:20: */ return Xsqlite3VdbeAddOp3(tls, p, op, p1, p2, 0) } // Generate code for an unconditional jump to instruction iDest -func Xsqlite3VdbeGoto(tls *libc.TLS, p uintptr, iDest int32) int32 { /* sqlite3.c:80066:20: */ +func Xsqlite3VdbeGoto(tls *libc.TLS, p uintptr, iDest int32) int32 { /* sqlite3.c:80079:20: */ return Xsqlite3VdbeAddOp3(tls, p, OP_Goto, 0, iDest, 0) } // Generate code to cause the string zStr to be loaded into // register iDest -func Xsqlite3VdbeLoadString(tls *libc.TLS, p uintptr, iDest int32, zStr uintptr) int32 { /* sqlite3.c:80073:20: */ +func Xsqlite3VdbeLoadString(tls *libc.TLS, p uintptr, iDest int32, zStr uintptr) int32 { /* sqlite3.c:80086:20: */ return Xsqlite3VdbeAddOp4(tls, p, OP_String8, 0, iDest, 0, zStr, 0) } @@ -57713,7 +57732,7 @@ func Xsqlite3VdbeLoadString(tls *libc.TLS, p uintptr, iDest int32, zStr uintptr) // // If the input string does not end with "X" then an OP_ResultRow instruction // is generated for the values inserted. -func Xsqlite3VdbeMultiLoad(tls *libc.TLS, p uintptr, iDest int32, zTypes uintptr, va uintptr) { /* sqlite3.c:80088:21: */ +func Xsqlite3VdbeMultiLoad(tls *libc.TLS, p uintptr, iDest int32, zTypes uintptr, va uintptr) { /* sqlite3.c:80101:21: */ var ap Va_list _ = ap var i int32 @@ -57761,7 +57780,7 @@ skip_op_resultrow: } // Add an opcode that includes the p4 value as a pointer. -func Xsqlite3VdbeAddOp4(tls *libc.TLS, p uintptr, op int32, p1 int32, p2 int32, p3 int32, zP4 uintptr, p4type int32) int32 { /* sqlite3.c:80111:20: */ +func Xsqlite3VdbeAddOp4(tls *libc.TLS, p uintptr, op int32, p1 int32, p2 int32, p3 int32, zP4 uintptr, p4type int32) int32 { /* sqlite3.c:80124:20: */ var addr int32 = Xsqlite3VdbeAddOp3(tls, p, op, p1, p2, p3) Xsqlite3VdbeChangeP4(tls, p, addr, zP4, p4type) return addr @@ -57775,7 +57794,7 @@ func Xsqlite3VdbeAddOp4(tls *libc.TLS, p uintptr, op int32, p1 int32, p2 int32, // NC_IdxExpr means called as part of an index expression. NC_PartIdx // means in the WHERE clause of a partial index. NC_GenCol means called // while computing a generated column value. 0 is the usual case. -func Xsqlite3VdbeAddFunctionCall(tls *libc.TLS, pParse uintptr, p1 int32, p2 int32, p3 int32, nArg int32, pFunc uintptr, eCallCtx int32) int32 { /* sqlite3.c:80135:20: */ +func Xsqlite3VdbeAddFunctionCall(tls *libc.TLS, pParse uintptr, p1 int32, p2 int32, p3 int32, nArg int32, pFunc uintptr, eCallCtx int32) int32 { /* sqlite3.c:80148:20: */ var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe var nByte int32 var addr int32 @@ -57807,7 +57826,7 @@ func Xsqlite3VdbeAddFunctionCall(tls *libc.TLS, pParse uintptr, p1 int32, p2 int // Add an opcode that includes the p4 value with a P4_INT64 or // P4_REAL type. -func Xsqlite3VdbeAddOp4Dup8(tls *libc.TLS, p uintptr, op int32, p1 int32, p2 int32, p3 int32, zP4 uintptr, p4type int32) int32 { /* sqlite3.c:80172:20: */ +func Xsqlite3VdbeAddOp4Dup8(tls *libc.TLS, p uintptr, op int32, p1 int32, p2 int32, p3 int32, zP4 uintptr, p4type int32) int32 { /* sqlite3.c:80185:20: */ var p4copy uintptr = Xsqlite3DbMallocRawNN(tls, Xsqlite3VdbeDb(tls, p), uint64(8)) if p4copy != 0 { libc.Xmemcpy(tls, p4copy, zP4, uint64(8)) @@ -57817,7 +57836,7 @@ func Xsqlite3VdbeAddOp4Dup8(tls *libc.TLS, p uintptr, op int32, p1 int32, p2 int // Return the address of the current EXPLAIN QUERY PLAN baseline. // 0 means "none". -func Xsqlite3VdbeExplainParent(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:80191:20: */ +func Xsqlite3VdbeExplainParent(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:80204:20: */ var pOp uintptr if (*Parse)(unsafe.Pointer(pParse)).FaddrExplain == 0 { return 0 @@ -57833,7 +57852,7 @@ func Xsqlite3VdbeExplainParent(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3 // // If the bPush flag is true, then make this opcode the parent for // subsequent Explains until sqlite3VdbeExplainPop() is called. -func Xsqlite3VdbeExplain(tls *libc.TLS, pParse uintptr, bPush U8, zFmt uintptr, va uintptr) { /* sqlite3.c:80215:21: */ +func Xsqlite3VdbeExplain(tls *libc.TLS, pParse uintptr, bPush U8, zFmt uintptr, va uintptr) { /* sqlite3.c:80228:21: */ // Always include the OP_Explain opcodes if SQLITE_DEBUG is defined. // But omit them (for performance) during production builds if int32((*Parse)(unsafe.Pointer(pParse)).Fexplain) == 2 { @@ -57857,7 +57876,7 @@ func Xsqlite3VdbeExplain(tls *libc.TLS, pParse uintptr, bPush U8, zFmt uintptr, } // Pop the EXPLAIN QUERY PLAN stack one level. -func Xsqlite3VdbeExplainPop(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:80243:21: */ +func Xsqlite3VdbeExplainPop(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:80256:21: */ (*Parse)(unsafe.Pointer(pParse)).FaddrExplain = Xsqlite3VdbeExplainParent(tls, pParse) } @@ -57868,7 +57887,7 @@ func Xsqlite3VdbeExplainPop(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:80243: // // The zWhere string must have been obtained from sqlite3_malloc(). // This routine will take ownership of the allocated memory. -func Xsqlite3VdbeAddParseSchemaOp(tls *libc.TLS, p uintptr, iDb int32, zWhere uintptr, p5 U16) { /* sqlite3.c:80257:21: */ +func Xsqlite3VdbeAddParseSchemaOp(tls *libc.TLS, p uintptr, iDb int32, zWhere uintptr, p5 U16) { /* sqlite3.c:80270:21: */ var j int32 Xsqlite3VdbeAddOp4(tls, p, OP_ParseSchema, iDb, 0, 0, zWhere, -7) Xsqlite3VdbeChangeP5(tls, p, p5) @@ -57879,7 +57898,7 @@ func Xsqlite3VdbeAddParseSchemaOp(tls *libc.TLS, p uintptr, iDb int32, zWhere ui } // Add an opcode that includes the p4 value as an integer. -func Xsqlite3VdbeAddOp4Int(tls *libc.TLS, p uintptr, op int32, p1 int32, p2 int32, p3 int32, p4 int32) int32 { /* sqlite3.c:80268:20: */ +func Xsqlite3VdbeAddOp4Int(tls *libc.TLS, p uintptr, op int32, p1 int32, p2 int32, p3 int32, p4 int32) int32 { /* sqlite3.c:80281:20: */ var addr int32 = Xsqlite3VdbeAddOp3(tls, p, op, p1, p2, p3) if int32((*Sqlite3)(unsafe.Pointer((*Vdbe)(unsafe.Pointer(p)).Fdb)).FmallocFailed) == 0 { var pOp uintptr = (*Vdbe)(unsafe.Pointer(p)).FaOp + uintptr(addr)*24 @@ -57890,7 +57909,7 @@ func Xsqlite3VdbeAddOp4Int(tls *libc.TLS, p uintptr, op int32, p1 int32, p2 int3 } // Insert the end of a co-routine -func Xsqlite3VdbeEndCoroutine(tls *libc.TLS, v uintptr, regYield int32) { /* sqlite3.c:80287:21: */ +func Xsqlite3VdbeEndCoroutine(tls *libc.TLS, v uintptr, regYield int32) { /* sqlite3.c:80300:21: */ Xsqlite3VdbeAddOp1(tls, v, OP_EndCoroutine, regYield) // Clear the temporary register cache, thereby ensuring that each @@ -57925,14 +57944,14 @@ func Xsqlite3VdbeEndCoroutine(tls *libc.TLS, v uintptr, regYield int32) { /* sql // been issued. The negative is stored because // that gives a performance improvement over storing // the equivalent positive value. -func Xsqlite3VdbeMakeLabel(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:80325:20: */ +func Xsqlite3VdbeMakeLabel(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:80338:20: */ return libc.PreDecInt32(&(*Parse)(unsafe.Pointer(pParse)).FnLabel, 1) } // Resolve label "x" to be the address of the next instruction to // be inserted. The parameter "x" must have been obtained from // a prior call to sqlite3VdbeMakeLabel(). -func resizeResolveLabel(tls *libc.TLS, p uintptr, v uintptr, j int32) { /* sqlite3.c:80334:29: */ +func resizeResolveLabel(tls *libc.TLS, p uintptr, v uintptr, j int32) { /* sqlite3.c:80347:29: */ var nNewSize int32 = 10 - (*Parse)(unsafe.Pointer(p)).FnLabel (*Parse)(unsafe.Pointer(p)).FaLabel = Xsqlite3DbReallocOrFree(tls, (*Parse)(unsafe.Pointer(p)).Fdb, (*Parse)(unsafe.Pointer(p)).FaLabel, uint64(uint64(nNewSize)*uint64(unsafe.Sizeof(int32(0))))) @@ -57944,7 +57963,7 @@ func resizeResolveLabel(tls *libc.TLS, p uintptr, v uintptr, j int32) { /* sqlit } } -func Xsqlite3VdbeResolveLabel(tls *libc.TLS, v uintptr, x int32) { /* sqlite3.c:80349:21: */ +func Xsqlite3VdbeResolveLabel(tls *libc.TLS, v uintptr, x int32) { /* sqlite3.c:80362:21: */ var p uintptr = (*Vdbe)(unsafe.Pointer(v)).FpParse var j int32 = ^x @@ -57957,12 +57976,12 @@ func Xsqlite3VdbeResolveLabel(tls *libc.TLS, v uintptr, x int32) { /* sqlite3.c: } // Mark the VDBE as one that can only be run one time. -func Xsqlite3VdbeRunOnlyOnce(tls *libc.TLS, p uintptr) { /* sqlite3.c:80371:21: */ +func Xsqlite3VdbeRunOnlyOnce(tls *libc.TLS, p uintptr) { /* sqlite3.c:80384:21: */ libc.SetBitFieldPtr16Uint32(p+208, Bft(1), 5, 0x20) } // Mark the VDBE as one that can only be run multiple times. -func Xsqlite3VdbeReusable(tls *libc.TLS, p uintptr) { /* sqlite3.c:80378:21: */ +func Xsqlite3VdbeReusable(tls *libc.TLS, p uintptr) { /* sqlite3.c:80391:21: */ libc.SetBitFieldPtr16Uint32(p+208, Bft(0), 5, 0x20) } @@ -57985,7 +58004,7 @@ func Xsqlite3VdbeReusable(tls *libc.TLS, p uintptr) { /* sqlite3.c:80378:21: */ // This routine will only function correctly if the mkopcodeh.tcl generator // script numbers the opcodes correctly. Changes to this routine must be // coordinated with changes to mkopcodeh.tcl. -func resolveP2Values(tls *libc.TLS, p uintptr, pMaxFuncArgs uintptr) { /* sqlite3.c:80574:13: */ +func resolveP2Values(tls *libc.TLS, p uintptr, pMaxFuncArgs uintptr) { /* sqlite3.c:80587:13: */ var nMaxArgs int32 = *(*int32)(unsafe.Pointer(pMaxFuncArgs)) var pOp uintptr var pParse uintptr = (*Vdbe)(unsafe.Pointer(p)).FpParse @@ -58114,7 +58133,7 @@ func resolveP2Values(tls *libc.TLS, p uintptr, pMaxFuncArgs uintptr) { /* sqlite } // Return the address of the next instruction to be inserted. -func Xsqlite3VdbeCurrentAddr(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:80676:20: */ +func Xsqlite3VdbeCurrentAddr(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:80689:20: */ return (*Vdbe)(unsafe.Pointer(p)).FnOp } @@ -58145,7 +58164,7 @@ func Xsqlite3VdbeCurrentAddr(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:8067 // array. Also, *pnMaxArg is set to the larger of its current value and // the number of entries in the Vdbe.apArg[] array required to execute the // returned program. -func Xsqlite3VdbeTakeOpArray(tls *libc.TLS, p uintptr, pnOp uintptr, pnMaxArg uintptr) uintptr { /* sqlite3.c:80733:23: */ +func Xsqlite3VdbeTakeOpArray(tls *libc.TLS, p uintptr, pnOp uintptr, pnMaxArg uintptr) uintptr { /* sqlite3.c:80746:23: */ var aOp uintptr = (*Vdbe)(unsafe.Pointer(p)).FaOp // Check that sqlite3VdbeUsesBtree() was not called on this VM @@ -58161,7 +58180,7 @@ func Xsqlite3VdbeTakeOpArray(tls *libc.TLS, p uintptr, pnOp uintptr, pnMaxArg ui // // Non-zero P2 arguments to jump instructions are automatically adjusted // so that the jump target is relative to the first operation inserted. -func Xsqlite3VdbeAddOpList(tls *libc.TLS, p uintptr, nOp int32, aOp uintptr, iLineno int32) uintptr { /* sqlite3.c:80753:23: */ +func Xsqlite3VdbeAddOpList(tls *libc.TLS, p uintptr, nOp int32, aOp uintptr, iLineno int32) uintptr { /* sqlite3.c:80766:23: */ var i int32 var pOut uintptr var pFirst uintptr @@ -58205,23 +58224,23 @@ __3: // Change the value of the opcode, or P1, P2, P3, or P5 operands // for a specific instruction. -func Xsqlite3VdbeChangeOpcode(tls *libc.TLS, p uintptr, addr int32, iNewOpcode U8) { /* sqlite3.c:80829:21: */ +func Xsqlite3VdbeChangeOpcode(tls *libc.TLS, p uintptr, addr int32, iNewOpcode U8) { /* sqlite3.c:80842:21: */ (*VdbeOp)(unsafe.Pointer(Xsqlite3VdbeGetOp(tls, p, addr))).Fopcode = iNewOpcode } -func Xsqlite3VdbeChangeP1(tls *libc.TLS, p uintptr, addr int32, val int32) { /* sqlite3.c:80832:21: */ +func Xsqlite3VdbeChangeP1(tls *libc.TLS, p uintptr, addr int32, val int32) { /* sqlite3.c:80845:21: */ (*VdbeOp)(unsafe.Pointer(Xsqlite3VdbeGetOp(tls, p, addr))).Fp1 = val } -func Xsqlite3VdbeChangeP2(tls *libc.TLS, p uintptr, addr int32, val int32) { /* sqlite3.c:80835:21: */ +func Xsqlite3VdbeChangeP2(tls *libc.TLS, p uintptr, addr int32, val int32) { /* sqlite3.c:80848:21: */ (*VdbeOp)(unsafe.Pointer(Xsqlite3VdbeGetOp(tls, p, addr))).Fp2 = val } -func Xsqlite3VdbeChangeP3(tls *libc.TLS, p uintptr, addr int32, val int32) { /* sqlite3.c:80838:21: */ +func Xsqlite3VdbeChangeP3(tls *libc.TLS, p uintptr, addr int32, val int32) { /* sqlite3.c:80851:21: */ (*VdbeOp)(unsafe.Pointer(Xsqlite3VdbeGetOp(tls, p, addr))).Fp3 = val } -func Xsqlite3VdbeChangeP5(tls *libc.TLS, p uintptr, p5 U16) { /* sqlite3.c:80841:21: */ +func Xsqlite3VdbeChangeP5(tls *libc.TLS, p uintptr, p5 U16) { /* sqlite3.c:80854:21: */ if (*Vdbe)(unsafe.Pointer(p)).FnOp > 0 { (*Op)(unsafe.Pointer((*Vdbe)(unsafe.Pointer(p)).FaOp + uintptr((*Vdbe)(unsafe.Pointer(p)).FnOp-1)*24)).Fp5 = p5 @@ -58230,7 +58249,7 @@ func Xsqlite3VdbeChangeP5(tls *libc.TLS, p uintptr, p5 U16) { /* sqlite3.c:80841 // Change the P2 operand of instruction addr so that it points to // the address of the next instruction to be coded. -func Xsqlite3VdbeJumpHere(tls *libc.TLS, p uintptr, addr int32) { /* sqlite3.c:80850:21: */ +func Xsqlite3VdbeJumpHere(tls *libc.TLS, p uintptr, addr int32) { /* sqlite3.c:80863:21: */ Xsqlite3VdbeChangeP2(tls, p, addr, (*Vdbe)(unsafe.Pointer(p)).FnOp) } @@ -58245,7 +58264,7 @@ func Xsqlite3VdbeJumpHere(tls *libc.TLS, p uintptr, addr int32) { /* sqlite3.c:8 // // 7 Once 0 8 0 // 8 ... -func Xsqlite3VdbeJumpHereOrPopInst(tls *libc.TLS, p uintptr, addr int32) { /* sqlite3.c:80867:21: */ +func Xsqlite3VdbeJumpHereOrPopInst(tls *libc.TLS, p uintptr, addr int32) { /* sqlite3.c:80880:21: */ if addr == (*Vdbe)(unsafe.Pointer(p)).FnOp-1 { (*Vdbe)(unsafe.Pointer(p)).FnOp-- @@ -58256,26 +58275,26 @@ func Xsqlite3VdbeJumpHereOrPopInst(tls *libc.TLS, p uintptr, addr int32) { /* sq // If the input FuncDef structure is ephemeral, then free it. If // the FuncDef is not ephermal, then do nothing. -func freeEphemeralFunction(tls *libc.TLS, db uintptr, pDef uintptr) { /* sqlite3.c:80887:13: */ +func freeEphemeralFunction(tls *libc.TLS, db uintptr, pDef uintptr) { /* sqlite3.c:80900:13: */ if (*FuncDef)(unsafe.Pointer(pDef)).FfuncFlags&U32(SQLITE_FUNC_EPHEM) != U32(0) { Xsqlite3DbFreeNN(tls, db, pDef) } } // Delete a P4 value if necessary. -func freeP4Mem(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:80896:29: */ +func freeP4Mem(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:80909:29: */ if (*Mem)(unsafe.Pointer(p)).FszMalloc != 0 { Xsqlite3DbFree(tls, db, (*Mem)(unsafe.Pointer(p)).FzMalloc) } Xsqlite3DbFreeNN(tls, db, p) } -func freeP4FuncCtx(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:80900:29: */ +func freeP4FuncCtx(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:80913:29: */ freeEphemeralFunction(tls, db, (*Sqlite3_context)(unsafe.Pointer(p)).FpFunc) Xsqlite3DbFreeNN(tls, db, p) } -func freeP4(tls *libc.TLS, db uintptr, p4type int32, p4 uintptr) { /* sqlite3.c:80904:13: */ +func freeP4(tls *libc.TLS, db uintptr, p4type int32, p4 uintptr) { /* sqlite3.c:80917:13: */ switch p4type { case -16: @@ -58336,7 +58355,7 @@ func freeP4(tls *libc.TLS, db uintptr, p4type int32, p4 uintptr) { /* sqlite3.c: // Free the space allocated for aOp and any p4 values allocated for the // opcodes contained within. If aOp is not NULL it is assumed to contain // nOp entries. -func vdbeFreeOpArray(tls *libc.TLS, db uintptr, aOp uintptr, nOp int32) { /* sqlite3.c:80953:13: */ +func vdbeFreeOpArray(tls *libc.TLS, db uintptr, aOp uintptr, nOp int32) { /* sqlite3.c:80966:13: */ if aOp != 0 { var pOp uintptr for pOp = aOp + uintptr(nOp-1)*24; pOp >= aOp; pOp -= 24 { @@ -58351,18 +58370,18 @@ func vdbeFreeOpArray(tls *libc.TLS, db uintptr, aOp uintptr, nOp int32) { /* sql // Link the SubProgram object passed as the second argument into the linked // list at Vdbe.pSubProgram. This list is used to delete all sub-program // objects when the VM is no longer required. -func Xsqlite3VdbeLinkSubProgram(tls *libc.TLS, pVdbe uintptr, p uintptr) { /* sqlite3.c:80971:21: */ +func Xsqlite3VdbeLinkSubProgram(tls *libc.TLS, pVdbe uintptr, p uintptr) { /* sqlite3.c:80984:21: */ (*SubProgram)(unsafe.Pointer(p)).FpNext = (*Vdbe)(unsafe.Pointer(pVdbe)).FpProgram (*Vdbe)(unsafe.Pointer(pVdbe)).FpProgram = p } // Return true if the given Vdbe has any SubPrograms. -func Xsqlite3VdbeHasSubProgram(tls *libc.TLS, pVdbe uintptr) int32 { /* sqlite3.c:80979:20: */ +func Xsqlite3VdbeHasSubProgram(tls *libc.TLS, pVdbe uintptr) int32 { /* sqlite3.c:80992:20: */ return libc.Bool32((*Vdbe)(unsafe.Pointer(pVdbe)).FpProgram != uintptr(0)) } // Change the opcode at addr into OP_Noop -func Xsqlite3VdbeChangeToNoop(tls *libc.TLS, p uintptr, addr int32) int32 { /* sqlite3.c:80986:20: */ +func Xsqlite3VdbeChangeToNoop(tls *libc.TLS, p uintptr, addr int32) int32 { /* sqlite3.c:80999:20: */ var pOp uintptr if (*Sqlite3)(unsafe.Pointer((*Vdbe)(unsafe.Pointer(p)).Fdb)).FmallocFailed != 0 { return 0 @@ -58378,7 +58397,7 @@ func Xsqlite3VdbeChangeToNoop(tls *libc.TLS, p uintptr, addr int32) int32 { /* s // If the last opcode is "op" and it is not a jump destination, // then remove it. Return true if and only if an opcode was removed. -func Xsqlite3VdbeDeletePriorOpcode(tls *libc.TLS, p uintptr, op U8) int32 { /* sqlite3.c:81002:20: */ +func Xsqlite3VdbeDeletePriorOpcode(tls *libc.TLS, p uintptr, op U8) int32 { /* sqlite3.c:81015:20: */ if (*Vdbe)(unsafe.Pointer(p)).FnOp > 0 && int32((*Op)(unsafe.Pointer((*Vdbe)(unsafe.Pointer(p)).FaOp+uintptr((*Vdbe)(unsafe.Pointer(p)).FnOp-1)*24)).Fopcode) == int32(op) { return Xsqlite3VdbeChangeToNoop(tls, p, (*Vdbe)(unsafe.Pointer(p)).FnOp-1) } else { @@ -58402,7 +58421,7 @@ func Xsqlite3VdbeDeletePriorOpcode(tls *libc.TLS, p uintptr, op U8) int32 { /* s // the Vdbe. In these cases we can just copy the pointer. // // If addr<0 then change P4 on the most recently inserted instruction. -func vdbeChangeP4Full(tls *libc.TLS, p uintptr, pOp uintptr, zP4 uintptr, n int32) { /* sqlite3.c:81062:29: */ +func vdbeChangeP4Full(tls *libc.TLS, p uintptr, pOp uintptr, zP4 uintptr, n int32) { /* sqlite3.c:81075:29: */ if (*Op)(unsafe.Pointer(pOp)).Fp4type != 0 { freeP4(tls, (*Vdbe)(unsafe.Pointer(p)).Fdb, int32((*Op)(unsafe.Pointer(pOp)).Fp4type), *(*uintptr)(unsafe.Pointer(pOp + 16))) (*Op)(unsafe.Pointer(pOp)).Fp4type = int8(0) @@ -58419,7 +58438,7 @@ func vdbeChangeP4Full(tls *libc.TLS, p uintptr, pOp uintptr, zP4 uintptr, n int3 } } -func Xsqlite3VdbeChangeP4(tls *libc.TLS, p uintptr, addr int32, zP4 uintptr, n int32) { /* sqlite3.c:81081:21: */ +func Xsqlite3VdbeChangeP4(tls *libc.TLS, p uintptr, addr int32, zP4 uintptr, n int32) { /* sqlite3.c:81094:21: */ bp := tls.Alloc(8) defer tls.Free(8) *(*uintptr)(unsafe.Pointer(bp)) = zP4 @@ -58466,7 +58485,7 @@ func Xsqlite3VdbeChangeP4(tls *libc.TLS, p uintptr, addr int32, zP4 uintptr, n i // The P4 operand must not have been previously defined. And the new // P4 must not be P4_INT32. Use sqlite3VdbeChangeP4() in either of // those cases. -func Xsqlite3VdbeAppendP4(tls *libc.TLS, p uintptr, pP4 uintptr, n int32) { /* sqlite3.c:81124:21: */ +func Xsqlite3VdbeAppendP4(tls *libc.TLS, p uintptr, pP4 uintptr, n int32) { /* sqlite3.c:81137:21: */ var pOp uintptr if (*Sqlite3)(unsafe.Pointer((*Vdbe)(unsafe.Pointer(p)).Fdb)).FmallocFailed != 0 { @@ -58482,7 +58501,7 @@ func Xsqlite3VdbeAppendP4(tls *libc.TLS, p uintptr, pP4 uintptr, n int32) { /* s // Set the P4 on the most recently added opcode to the KeyInfo for the // index given. -func Xsqlite3VdbeSetP4KeyInfo(tls *libc.TLS, pParse uintptr, pIdx uintptr) { /* sqlite3.c:81144:21: */ +func Xsqlite3VdbeSetP4KeyInfo(tls *libc.TLS, pParse uintptr, pIdx uintptr) { /* sqlite3.c:81157:21: */ var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe var pKeyInfo uintptr @@ -58503,7 +58522,7 @@ func Xsqlite3VdbeSetP4KeyInfo(tls *libc.TLS, pParse uintptr, pIdx uintptr) { /* // this routine is a valid pointer. But because the dummy.opcode is 0, // dummy will never be written to. This is verified by code inspection and // by running with Valgrind. -func Xsqlite3VdbeGetOp(tls *libc.TLS, p uintptr, addr int32) uintptr { /* sqlite3.c:81210:23: */ // Ignore the MSVC warning about no initializer +func Xsqlite3VdbeGetOp(tls *libc.TLS, p uintptr, addr int32) uintptr { /* sqlite3.c:81223:23: */ // Ignore the MSVC warning about no initializer if addr < 0 { addr = (*Vdbe)(unsafe.Pointer(p)).FnOp - 1 @@ -58517,11 +58536,11 @@ func Xsqlite3VdbeGetOp(tls *libc.TLS, p uintptr, addr int32) uintptr { /* sqlite return uintptr(0) } -var dummy VdbeOp /* sqlite3.c:81213:17: */ +var dummy VdbeOp /* sqlite3.c:81226:17: */ // Compute a string that describes the P4 parameter for an opcode. // Use zTemp for any required temporary buffer space. -func Xsqlite3VdbeDisplayP4(tls *libc.TLS, db uintptr, pOp uintptr) uintptr { /* sqlite3.c:81414:21: */ +func Xsqlite3VdbeDisplayP4(tls *libc.TLS, db uintptr, pOp uintptr) uintptr { /* sqlite3.c:81427:21: */ bp := tls.Alloc(176) defer tls.Free(176) @@ -58684,7 +58703,7 @@ func Xsqlite3VdbeDisplayP4(tls *libc.TLS, db uintptr, pOp uintptr) uintptr { /* return Xsqlite3StrAccumFinish(tls, bp+144) } -var encnames = [4]uintptr{ts + 4950, ts + 4952, ts + 4954, ts + 4959} /* sqlite3.c:81444:25 */ +var encnames = [4]uintptr{ts + 4950, ts + 4952, ts + 4954, ts + 4959} /* sqlite3.c:81457:25 */ // Declare to the Vdbe that the BTree object at db->aDb[i] is used. // @@ -58692,7 +58711,7 @@ var encnames = [4]uintptr{ts + 4950, ts + 4952, ts + 4954, ts + 4959} /* sqlite3 // attached databases that will be use. A mask of these databases // is maintained in p->btreeMask. The p->lockMask value is the subset of // p->btreeMask of databases that will require a lock. -func Xsqlite3VdbeUsesBtree(tls *libc.TLS, p uintptr, i int32) { /* sqlite3.c:81539:21: */ +func Xsqlite3VdbeUsesBtree(tls *libc.TLS, p uintptr, i int32) { /* sqlite3.c:81552:21: */ *(*YDbMask)(unsafe.Pointer(p + 212)) |= YDbMask(YDbMask(1)) << i if i != 1 && Xsqlite3BtreeSharable(tls, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer((*Vdbe)(unsafe.Pointer(p)).Fdb)).FaDb+uintptr(i)*32)).FpBt) != 0 { @@ -58719,7 +58738,7 @@ func Xsqlite3VdbeUsesBtree(tls *libc.TLS, p uintptr, i int32) { /* sqlite3.c:815 // corresponding to btrees that use shared cache. Then the runtime of // this routine is N*N. But as N is rarely more than 1, this should not // be a problem. -func Xsqlite3VdbeEnter(tls *libc.TLS, p uintptr) { /* sqlite3.c:81570:21: */ +func Xsqlite3VdbeEnter(tls *libc.TLS, p uintptr) { /* sqlite3.c:81583:21: */ var i int32 var db uintptr var aDb uintptr @@ -58738,7 +58757,7 @@ func Xsqlite3VdbeEnter(tls *libc.TLS, p uintptr) { /* sqlite3.c:81570:21: */ } // Unlock all of the btrees previously locked by a call to sqlite3VdbeEnter(). -func vdbeLeave(tls *libc.TLS, p uintptr) { /* sqlite3.c:81591:29: */ +func vdbeLeave(tls *libc.TLS, p uintptr) { /* sqlite3.c:81604:29: */ var i int32 var db uintptr var aDb uintptr @@ -58753,7 +58772,7 @@ func vdbeLeave(tls *libc.TLS, p uintptr) { /* sqlite3.c:81591:29: */ } } -func Xsqlite3VdbeLeave(tls *libc.TLS, p uintptr) { /* sqlite3.c:81605:21: */ +func Xsqlite3VdbeLeave(tls *libc.TLS, p uintptr) { /* sqlite3.c:81618:21: */ if (*Vdbe)(unsafe.Pointer(p)).FlockMask == YDbMask(0) { return } // The common case @@ -58761,7 +58780,7 @@ func Xsqlite3VdbeLeave(tls *libc.TLS, p uintptr) { /* sqlite3.c:81605:21: */ } // Initialize an array of N Mem element. -func initMemArray(tls *libc.TLS, p uintptr, N int32, db uintptr, flags U16) { /* sqlite3.c:81647:13: */ +func initMemArray(tls *libc.TLS, p uintptr, N int32, db uintptr, flags U16) { /* sqlite3.c:81660:13: */ for libc.PostDecInt32(&N, 1) > 0 { (*Mem)(unsafe.Pointer(p)).Fdb = db (*Mem)(unsafe.Pointer(p)).Fflags = flags @@ -58771,7 +58790,7 @@ func initMemArray(tls *libc.TLS, p uintptr, N int32, db uintptr, flags U16) { /* } // Release an array of N Mem elements -func releaseMemArray(tls *libc.TLS, p uintptr, N int32) { /* sqlite3.c:81662:13: */ +func releaseMemArray(tls *libc.TLS, p uintptr, N int32) { /* sqlite3.c:81675:13: */ if p != 0 && N != 0 { var pEnd uintptr = p + uintptr(N)*56 var db uintptr = (*Mem)(unsafe.Pointer(p)).Fdb @@ -58815,7 +58834,7 @@ func releaseMemArray(tls *libc.TLS, p uintptr, N int32) { /* sqlite3.c:81662:13: // // This routine does not delete the Frame right away. It merely adds the // frame to a list of frames to be deleted when the Vdbe halts. -func Xsqlite3VdbeFrameMemDel(tls *libc.TLS, pArg uintptr) { /* sqlite3.c:81724:21: */ +func Xsqlite3VdbeFrameMemDel(tls *libc.TLS, pArg uintptr) { /* sqlite3.c:81737:21: */ var pFrame uintptr = pArg (*VdbeFrame)(unsafe.Pointer(pFrame)).FpParent = (*Vdbe)(unsafe.Pointer((*VdbeFrame)(unsafe.Pointer(pFrame)).Fv)).FpDelFrame @@ -58827,7 +58846,7 @@ func Xsqlite3VdbeFrameMemDel(tls *libc.TLS, pArg uintptr) { /* sqlite3.c:81724:2 // // Return SQLITE_ROW on success. Return SQLITE_DONE if there are no // more opcodes to be displayed. -func Xsqlite3VdbeNextOpcode(tls *libc.TLS, p uintptr, pSub uintptr, eMode int32, piPc uintptr, piAddr uintptr, paOp uintptr) int32 { /* sqlite3.c:81739:20: */ +func Xsqlite3VdbeNextOpcode(tls *libc.TLS, p uintptr, pSub uintptr, eMode int32, piPc uintptr, piAddr uintptr, paOp uintptr) int32 { /* sqlite3.c:81752:20: */ var nRow int32 // Stop when row count reaches this var nSub int32 = 0 // Number of sub-vdbes seen so far var apSub uintptr = uintptr(0) // Array of sub-vdbes @@ -58926,7 +58945,7 @@ func Xsqlite3VdbeNextOpcode(tls *libc.TLS, p uintptr, pSub uintptr, eMode int32, // Delete a VdbeFrame object and its contents. VdbeFrame objects are // allocated by the OP_Program opcode in sqlite3VdbeExec(). -func Xsqlite3VdbeFrameDelete(tls *libc.TLS, p uintptr) { /* sqlite3.c:81851:21: */ +func Xsqlite3VdbeFrameDelete(tls *libc.TLS, p uintptr) { /* sqlite3.c:81864:21: */ var i int32 var aMem uintptr = p + 120 var apCsr uintptr = aMem + uintptr((*VdbeFrame)(unsafe.Pointer(p)).FnChildMem)*56 @@ -58955,7 +58974,7 @@ func Xsqlite3VdbeFrameDelete(tls *libc.TLS, p uintptr) { /* sqlite3.c:81851:21: // // When p->explain==1, first the main program is listed, then each of // the trigger subprograms are listed one by one. -func Xsqlite3VdbeList(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:81883:20: */ +func Xsqlite3VdbeList(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:81896:20: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -59044,7 +59063,7 @@ type ReusableSpace = struct { FpSpace uintptr FnFree Sqlite3_int64 FnNeeded Sqlite3_int64 -} /* sqlite3.c:82028:1 */ +} /* sqlite3.c:82041:1 */ // Try to allocate nByte bytes of 8-byte aligned bulk memory for pBuf // from the ReusableSpace object. Return a pointer to the allocated @@ -59059,7 +59078,7 @@ type ReusableSpace = struct { // This allocator is employed to repurpose unused slots at the end of the // opcode array of prepared state for other memory needs of the prepared // statement. -func allocSpace(tls *libc.TLS, p uintptr, pBuf uintptr, nByte Sqlite3_int64) uintptr { /* sqlite3.c:82048:13: */ +func allocSpace(tls *libc.TLS, p uintptr, pBuf uintptr, nByte Sqlite3_int64) uintptr { /* sqlite3.c:82061:13: */ if pBuf == uintptr(0) { nByte = (nByte + int64(7)) & int64(libc.CplInt32(7)) @@ -59076,7 +59095,7 @@ func allocSpace(tls *libc.TLS, p uintptr, pBuf uintptr, nByte Sqlite3_int64) uin // Rewind the VDBE back to the beginning in preparation for // running it. -func Xsqlite3VdbeRewind(tls *libc.TLS, p uintptr) { /* sqlite3.c:82071:21: */ +func Xsqlite3VdbeRewind(tls *libc.TLS, p uintptr) { /* sqlite3.c:82084:21: */ // There should be at least one opcode. @@ -59109,7 +59128,7 @@ func Xsqlite3VdbeRewind(tls *libc.TLS, p uintptr) { /* sqlite3.c:82071:21: */ // // Use the sqlite3VdbeRewind() procedure to restore a virtual machine back // to its initial state after it has been run. -func Xsqlite3VdbeMakeReady(tls *libc.TLS, p uintptr, pParse uintptr) { /* sqlite3.c:82124:21: */ +func Xsqlite3VdbeMakeReady(tls *libc.TLS, p uintptr, pParse uintptr) { /* sqlite3.c:82137:21: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -59218,11 +59237,11 @@ func Xsqlite3VdbeMakeReady(tls *libc.TLS, p uintptr, pParse uintptr) { /* sqlite var azColName = [12]uintptr{ ts + 4964, ts + 4969, ts + 4976, ts + 4979, ts + 4982, ts + 4985, ts + 4988, ts + 4991, ts + 4999, ts + 5002, ts + 5009, ts + 5017, -} /* sqlite3.c:82172:23 */ +} /* sqlite3.c:82185:23 */ // Close a VDBE cursor and release all the resources that cursor // happens to hold. -func Xsqlite3VdbeFreeCursor(tls *libc.TLS, p uintptr, pCx uintptr) { /* sqlite3.c:82249:21: */ +func Xsqlite3VdbeFreeCursor(tls *libc.TLS, p uintptr, pCx uintptr) { /* sqlite3.c:82262:21: */ if pCx == uintptr(0) { return } @@ -59256,7 +59275,7 @@ func Xsqlite3VdbeFreeCursor(tls *libc.TLS, p uintptr, pCx uintptr) { /* sqlite3. } // Close all cursors in the current frame. -func closeCursorsInFrame(tls *libc.TLS, p uintptr) { /* sqlite3.c:82279:13: */ +func closeCursorsInFrame(tls *libc.TLS, p uintptr) { /* sqlite3.c:82292:13: */ if (*Vdbe)(unsafe.Pointer(p)).FapCsr != 0 { var i int32 for i = 0; i < (*Vdbe)(unsafe.Pointer(p)).FnCursor; i++ { @@ -59272,7 +59291,7 @@ func closeCursorsInFrame(tls *libc.TLS, p uintptr) { /* sqlite3.c:82279:13: */ // Copy the values stored in the VdbeFrame structure to its Vdbe. This // is used, for example, when a trigger sub-program is halted to restore // control to the main program. -func Xsqlite3VdbeFrameRestore(tls *libc.TLS, pFrame uintptr) int32 { /* sqlite3.c:82297:20: */ +func Xsqlite3VdbeFrameRestore(tls *libc.TLS, pFrame uintptr) int32 { /* sqlite3.c:82310:20: */ var v uintptr = (*VdbeFrame)(unsafe.Pointer(pFrame)).Fv closeCursorsInFrame(tls, v) (*Vdbe)(unsafe.Pointer(v)).FaOp = (*VdbeFrame)(unsafe.Pointer(pFrame)).FaOp @@ -59296,7 +59315,7 @@ func Xsqlite3VdbeFrameRestore(tls *libc.TLS, pFrame uintptr) int32 { /* sqlite3. // cell array. This is necessary as the memory cell array may contain // pointers to VdbeFrame objects, which may in turn contain pointers to // open cursors. -func closeAllCursors(tls *libc.TLS, p uintptr) { /* sqlite3.c:82326:13: */ +func closeAllCursors(tls *libc.TLS, p uintptr) { /* sqlite3.c:82339:13: */ if (*Vdbe)(unsafe.Pointer(p)).FpFrame != 0 { var pFrame uintptr for pFrame = (*Vdbe)(unsafe.Pointer(p)).FpFrame; (*VdbeFrame)(unsafe.Pointer(pFrame)).FpParent != 0; pFrame = (*VdbeFrame)(unsafe.Pointer(pFrame)).FpParent { @@ -59327,7 +59346,7 @@ func closeAllCursors(tls *libc.TLS, p uintptr) { /* sqlite3.c:82326:13: */ // statement. This is now set at compile time, rather than during // execution of the vdbe program so that sqlite3_column_count() can // be called on an SQL statement before sqlite3_step(). -func Xsqlite3VdbeSetNumCols(tls *libc.TLS, p uintptr, nResColumn int32) { /* sqlite3.c:82356:21: */ +func Xsqlite3VdbeSetNumCols(tls *libc.TLS, p uintptr, nResColumn int32) { /* sqlite3.c:82369:21: */ var n int32 var db uintptr = (*Vdbe)(unsafe.Pointer(p)).Fdb @@ -59352,7 +59371,7 @@ func Xsqlite3VdbeSetNumCols(tls *libc.TLS, p uintptr, nResColumn int32) { /* sql // The final parameter, xDel, must be one of SQLITE_DYNAMIC, SQLITE_STATIC // 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 Xsqlite3VdbeSetColName(tls *libc.TLS, p uintptr, idx int32, var1 int32, zName uintptr, xDel uintptr) int32 { /* sqlite3.c:82381:20: */ +func Xsqlite3VdbeSetColName(tls *libc.TLS, p uintptr, idx int32, var1 int32, zName uintptr, xDel uintptr) int32 { /* sqlite3.c:82394:20: */ var rc int32 var pColName uintptr @@ -59371,7 +59390,7 @@ func Xsqlite3VdbeSetColName(tls *libc.TLS, p uintptr, idx int32, var1 int32, zNa // db. If a transaction is active, commit it. If there is a // write-transaction spanning more than one database file, this routine // takes care of the super-journal trickery. -func vdbeCommit(tls *libc.TLS, db uintptr, p uintptr) int32 { /* sqlite3.c:82409:12: */ +func vdbeCommit(tls *libc.TLS, db uintptr, p uintptr) int32 { /* sqlite3.c:82422:12: */ bp := tls.Alloc(72) defer tls.Free(72) @@ -59599,7 +59618,7 @@ var aMJNeeded = [6]U8{ /* TRUNCATE */ U8(1), /* MEMORY */ U8(0), /* WAL */ U8(0), -} /* sqlite3.c:82444:23 */ +} /* sqlite3.c:82457:23 */ // This routine checks that the sqlite3.nVdbeActive count variable // matches the number of vdbe's in the list sqlite3.pVdbe that are @@ -59617,7 +59636,7 @@ var aMJNeeded = [6]U8{ // // If an IO error occurs, an SQLITE_IOERR_XXX error code is returned. // Otherwise SQLITE_OK. -func vdbeCloseStatement(tls *libc.TLS, p uintptr, eOp int32) int32 { /* sqlite3.c:82705:28: */ +func vdbeCloseStatement(tls *libc.TLS, p uintptr, eOp int32) int32 { /* sqlite3.c:82718:28: */ var db uintptr = (*Vdbe)(unsafe.Pointer(p)).Fdb var rc int32 = SQLITE_OK var i int32 @@ -59660,7 +59679,7 @@ func vdbeCloseStatement(tls *libc.TLS, p uintptr, eOp int32) int32 { /* sqlite3. return rc } -func Xsqlite3VdbeCloseStatement(tls *libc.TLS, p uintptr, eOp int32) int32 { /* sqlite3.c:82751:20: */ +func Xsqlite3VdbeCloseStatement(tls *libc.TLS, p uintptr, eOp int32) int32 { /* sqlite3.c:82764:20: */ if (*Sqlite3)(unsafe.Pointer((*Vdbe)(unsafe.Pointer(p)).Fdb)).FnStatement != 0 && (*Vdbe)(unsafe.Pointer(p)).FiStatement != 0 { return vdbeCloseStatement(tls, p, eOp) } @@ -59675,7 +59694,7 @@ func Xsqlite3VdbeCloseStatement(tls *libc.TLS, p uintptr, eOp int32) int32 { /* // If there are outstanding FK violations and this function returns // SQLITE_ERROR, set the result of the VM to SQLITE_CONSTRAINT_FOREIGNKEY // and write an error message to it. Then return SQLITE_ERROR. -func Xsqlite3VdbeCheckFk(tls *libc.TLS, p uintptr, deferred int32) int32 { /* sqlite3.c:82770:20: */ +func Xsqlite3VdbeCheckFk(tls *libc.TLS, p uintptr, deferred int32) int32 { /* sqlite3.c:82783:20: */ var db uintptr = (*Vdbe)(unsafe.Pointer(p)).Fdb if deferred != 0 && (*Sqlite3)(unsafe.Pointer(db)).FnDeferredCons+(*Sqlite3)(unsafe.Pointer(db)).FnDeferredImmCons > int64(0) || !(deferred != 0) && (*Vdbe)(unsafe.Pointer(p)).FnFkConstraint > int64(0) { @@ -59698,7 +59717,7 @@ func Xsqlite3VdbeCheckFk(tls *libc.TLS, p uintptr, deferred int32) int32 { /* sq // Return an error code. If the commit could not complete because of // lock contention, return SQLITE_BUSY. If SQLITE_BUSY is returned, it // means the close did not happen and needs to be repeated. -func Xsqlite3VdbeHalt(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:82797:20: */ +func Xsqlite3VdbeHalt(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:82810:20: */ var rc int32 // Used to store transient return codes var db uintptr = (*Vdbe)(unsafe.Pointer(p)).Fdb @@ -59902,7 +59921,7 @@ func Xsqlite3VdbeHalt(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:82797:20: * // Each VDBE holds the result of the most recent sqlite3_step() call // in p->rc. This routine sets that result back to SQLITE_OK. -func Xsqlite3VdbeResetStepResult(tls *libc.TLS, p uintptr) { /* sqlite3.c:83007:21: */ +func Xsqlite3VdbeResetStepResult(tls *libc.TLS, p uintptr) { /* sqlite3.c:83020:21: */ (*Vdbe)(unsafe.Pointer(p)).Frc = SQLITE_OK } @@ -59912,7 +59931,7 @@ func Xsqlite3VdbeResetStepResult(tls *libc.TLS, p uintptr) { /* sqlite3.c:83007: // // This function does not clear the VDBE error code or message, just // copies them to the database handle. -func Xsqlite3VdbeTransferError(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:83019:20: */ +func Xsqlite3VdbeTransferError(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:83032:20: */ var db uintptr = (*Vdbe)(unsafe.Pointer(p)).Fdb var rc int32 = (*Vdbe)(unsafe.Pointer(p)).Frc if (*Vdbe)(unsafe.Pointer(p)).FzErrMsg != 0 { @@ -59941,7 +59960,7 @@ func Xsqlite3VdbeTransferError(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:83 // To look at it another way, this routine resets the state of the // virtual machine from VDBE_MAGIC_RUN or VDBE_MAGIC_HALT back to // VDBE_MAGIC_INIT. -func Xsqlite3VdbeReset(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:83069:20: */ +func Xsqlite3VdbeReset(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:83082:20: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -59993,7 +60012,7 @@ func Xsqlite3VdbeReset(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:83069:20: // Clean up and delete a VDBE after execution. Return an integer which is // the result code. Write any error message text into *pzErrMsg. -func Xsqlite3VdbeFinalize(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:83166:20: */ +func Xsqlite3VdbeFinalize(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:83179:20: */ var rc int32 = SQLITE_OK if (*Vdbe)(unsafe.Pointer(p)).FiVdbeMagic == U32(VDBE_MAGIC_RUN) || (*Vdbe)(unsafe.Pointer(p)).FiVdbeMagic == U32(VDBE_MAGIC_HALT) { rc = Xsqlite3VdbeReset(tls, p) @@ -60017,7 +60036,7 @@ func Xsqlite3VdbeFinalize(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:83166:2 // // * the corresponding bit in argument mask is clear (where the first // function parameter corresponds to bit 0 etc.). -func Xsqlite3VdbeDeleteAuxData(tls *libc.TLS, db uintptr, pp uintptr, iOp int32, mask int32) { /* sqlite3.c:83192:21: */ +func Xsqlite3VdbeDeleteAuxData(tls *libc.TLS, db uintptr, pp uintptr, iOp int32, mask int32) { /* sqlite3.c:83205:21: */ for *(*uintptr)(unsafe.Pointer(pp)) != 0 { var pAux uintptr = *(*uintptr)(unsafe.Pointer(pp)) if iOp < 0 || @@ -60042,7 +60061,7 @@ func Xsqlite3VdbeDeleteAuxData(tls *libc.TLS, db uintptr, pp uintptr, iOp int32, // The difference between this function and sqlite3VdbeDelete() is that // VdbeDelete() also unlinks the Vdbe from the list of VMs associated with // the database connection and frees the object itself. -func Xsqlite3VdbeClearObject(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:83220:21: */ +func Xsqlite3VdbeClearObject(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:83233:21: */ var pSub uintptr var pNext uintptr @@ -60063,7 +60082,7 @@ func Xsqlite3VdbeClearObject(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3. } // Delete an entire VDBE. -func Xsqlite3VdbeDelete(tls *libc.TLS, p uintptr) { /* sqlite3.c:83261:21: */ +func Xsqlite3VdbeDelete(tls *libc.TLS, p uintptr) { /* sqlite3.c:83274:21: */ var db uintptr db = (*Vdbe)(unsafe.Pointer(p)).Fdb @@ -60086,7 +60105,7 @@ func Xsqlite3VdbeDelete(tls *libc.TLS, p uintptr) { /* sqlite3.c:83261:21: */ // The cursor "p" has a pending seek operation that has not yet been // carried out. Seek the cursor now. If an error occurs, return // the appropriate error code. -func Xsqlite3VdbeFinishMoveto(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:83287:36: */ +func Xsqlite3VdbeFinishMoveto(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:83300:36: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -60099,7 +60118,7 @@ func Xsqlite3VdbeFinishMoveto(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:832 return rc } if *(*int32)(unsafe.Pointer(bp)) != 0 { - return Xsqlite3CorruptError(tls, 83297) + return Xsqlite3CorruptError(tls, 83310) } (*VdbeCursor)(unsafe.Pointer(p)).FdeferredMoveto = U8(0) (*VdbeCursor)(unsafe.Pointer(p)).FcacheStatus = U32(CACHE_STALE) @@ -60111,7 +60130,7 @@ func Xsqlite3VdbeFinishMoveto(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:832 // rebalanced. Whatever the cause, try to restore "p" to the place it // is supposed to be pointing. If the row was deleted out from under the // cursor, set the cursor to point to a NULL row. -func handleMovedCursor(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:83313:28: */ +func handleMovedCursor(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:83326:28: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -60129,7 +60148,7 @@ func handleMovedCursor(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:83313:28: // Check to ensure that the cursor is valid. Restore the cursor // if need be. Return any I/O error from the restore operation. -func Xsqlite3VdbeCursorRestore(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:83328:20: */ +func Xsqlite3VdbeCursorRestore(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:83341:20: */ if Xsqlite3BtreeCursorHasMoved(tls, *(*uintptr)(unsafe.Pointer(p + 48))) != 0 { return handleMovedCursor(tls, p) @@ -60148,7 +60167,7 @@ func Xsqlite3VdbeCursorRestore(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:83 // // If the cursor is already pointing to the correct row and that row has // not been deleted out from under the cursor, then this routine is a no-op. -func Xsqlite3VdbeCursorMoveto(tls *libc.TLS, pp uintptr, piCol uintptr) int32 { /* sqlite3.c:83349:20: */ +func Xsqlite3VdbeCursorMoveto(tls *libc.TLS, pp uintptr, piCol uintptr) int32 { /* sqlite3.c:83362:20: */ var p uintptr = *(*uintptr)(unsafe.Pointer(pp)) if (*VdbeCursor)(unsafe.Pointer(p)).FdeferredMoveto != 0 { @@ -60223,10 +60242,10 @@ var sqlite3SmallTypeSizes = [128]U8{ /* 100 */ U8(44), U8(44), U8(45), U8(45), U8(46), U8(46), U8(47), U8(47), U8(48), U8(48), /* 110 */ U8(49), U8(49), U8(50), U8(50), U8(51), U8(51), U8(52), U8(52), U8(53), U8(53), /* 120 */ U8(54), U8(54), U8(55), U8(55), U8(56), U8(56), U8(57), U8(57), -} /* sqlite3.c:83486:17 */ +} /* sqlite3.c:83499:17 */ // Return the length of the data corresponding to the supplied serial-type. -func Xsqlite3VdbeSerialTypeLen(tls *libc.TLS, serial_type U32) U32 { /* sqlite3.c:83506:20: */ +func Xsqlite3VdbeSerialTypeLen(tls *libc.TLS, serial_type U32) U32 { /* sqlite3.c:83519:20: */ if serial_type >= U32(128) { return (serial_type - U32(12)) / U32(2) } else { @@ -60236,7 +60255,7 @@ func Xsqlite3VdbeSerialTypeLen(tls *libc.TLS, serial_type U32) U32 { /* sqlite3. return U32(0) } -func Xsqlite3VdbeOneByteSerialTypeLen(tls *libc.TLS, serial_type U8) U8 { /* sqlite3.c:83515:19: */ +func Xsqlite3VdbeOneByteSerialTypeLen(tls *libc.TLS, serial_type U8) U8 { /* sqlite3.c:83528:19: */ return sqlite3SmallTypeSizes[serial_type] } @@ -60285,7 +60304,7 @@ func Xsqlite3VdbeOneByteSerialTypeLen(tls *libc.TLS, serial_type U8) U8 { /* sql // Return the number of bytes actually written into buf[]. The number // of bytes in the zero-filled tail is included in the return value only // if those bytes were zeroed in buf[]. -func Xsqlite3VdbeSerialPut(tls *libc.TLS, buf uintptr, pMem uintptr, serial_type U32) U32 { /* sqlite3.c:83586:20: */ +func Xsqlite3VdbeSerialPut(tls *libc.TLS, buf uintptr, pMem uintptr, serial_type U32) U32 { /* sqlite3.c:83599:20: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -60336,7 +60355,7 @@ func Xsqlite3VdbeSerialPut(tls *libc.TLS, buf uintptr, pMem uintptr, serial_type // The few cases that require local variables are broken out into a separate // routine so that in most cases the overhead of moving the stack pointer // is avoided. -func serialGet(tls *libc.TLS, buf uintptr, serial_type U32, pMem uintptr) { /* sqlite3.c:83640:13: */ +func serialGet(tls *libc.TLS, buf uintptr, serial_type U32, pMem uintptr) { /* sqlite3.c:83653:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -60363,7 +60382,7 @@ func serialGet(tls *libc.TLS, buf uintptr, serial_type U32, pMem uintptr) { /* s } } -func Xsqlite3VdbeSerialGet(tls *libc.TLS, buf uintptr, serial_type U32, pMem uintptr) { /* sqlite3.c:83675:21: */ +func Xsqlite3VdbeSerialGet(tls *libc.TLS, buf uintptr, serial_type U32, pMem uintptr) { /* sqlite3.c:83688:21: */ switch serial_type { case U32(10): { // Internal use only: NULL with virtual table @@ -60466,7 +60485,7 @@ func Xsqlite3VdbeSerialGet(tls *libc.TLS, buf uintptr, serial_type U32, pMem uin return } -var aFlag = [2]U16{U16(MEM_Blob | MEM_Ephem), U16(MEM_Str | MEM_Ephem)} /* sqlite3.c:83758:24 */ +var aFlag = [2]U16{U16(MEM_Blob | MEM_Ephem), U16(MEM_Str | MEM_Ephem)} /* sqlite3.c:83771:24 */ // This routine is used to allocate sufficient space for an UnpackedRecord // structure large enough to be used with sqlite3VdbeRecordUnpack() if @@ -60480,7 +60499,7 @@ var aFlag = [2]U16{U16(MEM_Blob | MEM_Ephem), U16(MEM_Str | MEM_Ephem)} /* sqlit // before returning. // // If an OOM error occurs, NULL is returned. -func Xsqlite3VdbeAllocUnpackedRecord(tls *libc.TLS, pKeyInfo uintptr) uintptr { /* sqlite3.c:83781:31: */ +func Xsqlite3VdbeAllocUnpackedRecord(tls *libc.TLS, pKeyInfo uintptr) uintptr { /* sqlite3.c:83794:31: */ var p uintptr // Unpacked record to return var nByte int32 // Number of bytes required for *p nByte = int32((uint64(unsafe.Sizeof(UnpackedRecord{}))+uint64(7))&libc.Uint64FromInt32(libc.CplInt32(7)) + uint64(unsafe.Sizeof(Mem{}))*uint64(int32((*KeyInfo)(unsafe.Pointer(pKeyInfo)).FnKeyField)+1)) @@ -60498,7 +60517,7 @@ func Xsqlite3VdbeAllocUnpackedRecord(tls *libc.TLS, pKeyInfo uintptr) uintptr { // Given the nKey-byte encoding of a record in pKey[], populate the // UnpackedRecord structure indicated by the fourth argument with the // contents of the decoded record. -func Xsqlite3VdbeRecordUnpack(tls *libc.TLS, pKeyInfo uintptr, nKey int32, pKey uintptr, p uintptr) { /* sqlite3.c:83801:21: */ +func Xsqlite3VdbeRecordUnpack(tls *libc.TLS, pKeyInfo uintptr, nKey int32, pKey uintptr, p uintptr) { /* sqlite3.c:83814:21: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -60559,7 +60578,7 @@ func Xsqlite3VdbeRecordUnpack(tls *libc.TLS, pKeyInfo uintptr, nKey int32, pKey // using the collation sequence pColl. As usual, return a negative , zero // or positive value if *pMem1 is less than, equal to or greater than // *pMem2, respectively. Similar in spirit to "rc = (*pMem1) - (*pMem2);". -func vdbeCompareMemString(tls *libc.TLS, pMem1 uintptr, pMem2 uintptr, pColl uintptr, prcErr uintptr) int32 { /* sqlite3.c:83998:12: */ +func vdbeCompareMemString(tls *libc.TLS, pMem1 uintptr, pMem2 uintptr, pColl uintptr, prcErr uintptr) int32 { /* sqlite3.c:84011:12: */ bp := tls.Alloc(112) defer tls.Free(112) @@ -60602,7 +60621,7 @@ func vdbeCompareMemString(tls *libc.TLS, pMem1 uintptr, pMem2 uintptr, pColl uin // The input pBlob is guaranteed to be a Blob that is not marked // with MEM_Zero. Return true if it could be a zero-blob. -func isAllZero(tls *libc.TLS, z uintptr, n int32) int32 { /* sqlite3.c:84035:12: */ +func isAllZero(tls *libc.TLS, z uintptr, n int32) int32 { /* sqlite3.c:84048:12: */ var i int32 for i = 0; i < n; i++ { if *(*uint8)(unsafe.Pointer(z + uintptr(i))) != 0 { @@ -60615,7 +60634,7 @@ func isAllZero(tls *libc.TLS, z uintptr, n int32) int32 { /* sqlite3.c:84035:12: // Compare two blobs. Return negative, zero, or positive if the first // is less than, equal to, or greater than the second, respectively. // If one blob is a prefix of the other, then the shorter is the lessor. -func Xsqlite3BlobCompare(tls *libc.TLS, pB1 uintptr, pB2 uintptr) int32 { /* sqlite3.c:84048:36: */ +func Xsqlite3BlobCompare(tls *libc.TLS, pB1 uintptr, pB2 uintptr) int32 { /* sqlite3.c:84061:36: */ var c int32 var n1 int32 = (*Mem)(unsafe.Pointer(pB1)).Fn var n2 int32 = (*Mem)(unsafe.Pointer(pB2)).Fn @@ -60655,7 +60674,7 @@ func Xsqlite3BlobCompare(tls *libc.TLS, pB1 uintptr, pB2 uintptr) int32 { /* sql // Do a comparison between a 64-bit signed integer and a 64-bit floating-point // number. Return negative, zero, or positive if the first (i64) is less than, // equal to, or greater than the second (double). -func Xsqlite3IntFloatCompare(tls *libc.TLS, i I64, r float64) int32 { /* sqlite3.c:84081:20: */ +func Xsqlite3IntFloatCompare(tls *libc.TLS, i I64, r float64) int32 { /* sqlite3.c:84094:20: */ if uint64(unsafe.Sizeof(float64(0))) > uint64(8) { var x float64 = float64(i) @@ -60701,7 +60720,7 @@ func Xsqlite3IntFloatCompare(tls *libc.TLS, i I64, r float64) int32 { /* sqlite3 // sequence pColl and finally blob's ordered by memcmp(). // // Two NULL values are considered equal by this function. -func Xsqlite3MemCompare(tls *libc.TLS, pMem1 uintptr, pMem2 uintptr, pColl uintptr) int32 { /* sqlite3.c:84114:20: */ +func Xsqlite3MemCompare(tls *libc.TLS, pMem1 uintptr, pMem2 uintptr, pColl uintptr) int32 { /* sqlite3.c:84127:20: */ var f1 int32 var f2 int32 var combined_flags int32 @@ -60795,7 +60814,7 @@ func Xsqlite3MemCompare(tls *libc.TLS, pMem1 uintptr, pMem2 uintptr, pColl uintp // except 7. The second points to a buffer containing an integer value // serialized according to serial_type. This function deserializes // and returns the value. -func vdbeRecordDecodeInt(tls *libc.TLS, serial_type U32, aKey uintptr) I64 { /* sqlite3.c:84213:12: */ +func vdbeRecordDecodeInt(tls *libc.TLS, serial_type U32, aKey uintptr) I64 { /* sqlite3.c:84226:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -60858,7 +60877,7 @@ func vdbeRecordDecodeInt(tls *libc.TLS, serial_type U32, aKey uintptr) I64 { /* // SQLITE_CORRUPT and return 0. If an OOM error is encountered, // pPKey2->errCode is set to SQLITE_NOMEM and, if it is not NULL, the // malloc-failed flag set on database handle (pPKey2->pKeyInfo->db). -func Xsqlite3VdbeRecordCompareWithSkip(tls *libc.TLS, nKey1 int32, pKey1 uintptr, pPKey2 uintptr, bSkip int32) int32 { /* sqlite3.c:84268:20: */ +func Xsqlite3VdbeRecordCompareWithSkip(tls *libc.TLS, nKey1 int32, pKey1 uintptr, pPKey2 uintptr, bSkip int32) int32 { /* sqlite3.c:84281:20: */ bp := tls.Alloc(68) defer tls.Free(68) @@ -60900,7 +60919,7 @@ func Xsqlite3VdbeRecordCompareWithSkip(tls *libc.TLS, nKey1 int32, pKey1 uintptr i = 0 } if d1 > uint32(nKey1) { - (*UnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = U8(Xsqlite3CorruptError(tls, 84299)) + (*UnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = U8(Xsqlite3CorruptError(tls, 84312)) return 0 // Corruption } @@ -60965,7 +60984,7 @@ func Xsqlite3VdbeRecordCompareWithSkip(tls *libc.TLS, nKey1 int32, pKey1 uintptr if d1+U32((*Mem)(unsafe.Pointer(bp+8)).Fn) > uint32(nKey1) || int32((*KeyInfo)(unsafe.Pointer(libc.AssignUintptr(&pKeyInfo, (*UnpackedRecord)(unsafe.Pointer(pPKey2)).FpKeyInfo))).FnAllField) <= i { - (*UnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = U8(Xsqlite3CorruptError(tls, 84376)) + (*UnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = U8(Xsqlite3CorruptError(tls, 84389)) return 0 // Corruption } else if *(*uintptr)(unsafe.Pointer(pKeyInfo + 32 + uintptr(i)*8)) != 0 { (*Mem)(unsafe.Pointer(bp + 8 /* &mem1 */)).Fenc = (*KeyInfo)(unsafe.Pointer(pKeyInfo)).Fenc @@ -61000,7 +61019,7 @@ func Xsqlite3VdbeRecordCompareWithSkip(tls *libc.TLS, nKey1 int32, pKey1 uintptr var nStr int32 = int32((*(*U32)(unsafe.Pointer(bp + 64)) - U32(12)) / U32(2)) if d1+U32(nStr) > uint32(nKey1) { - (*UnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = U8(Xsqlite3CorruptError(tls, 84406)) + (*UnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = U8(Xsqlite3CorruptError(tls, 84419)) return 0 // Corruption } else if int32((*Mem)(unsafe.Pointer(pRhs)).Fflags)&MEM_Zero != 0 { if !(isAllZero(tls, aKey1+uintptr(d1), nStr) != 0) { @@ -61061,7 +61080,7 @@ func Xsqlite3VdbeRecordCompareWithSkip(tls *libc.TLS, nKey1 int32, pKey1 uintptr return int32((*UnpackedRecord)(unsafe.Pointer(pPKey2)).Fdefault_rc) } -func Xsqlite3VdbeRecordCompare(tls *libc.TLS, nKey1 int32, pKey1 uintptr, pPKey2 uintptr) int32 { /* sqlite3.c:84465:20: */ +func Xsqlite3VdbeRecordCompare(tls *libc.TLS, nKey1 int32, pKey1 uintptr, pPKey2 uintptr) int32 { /* sqlite3.c:84478:20: */ return Xsqlite3VdbeRecordCompareWithSkip(tls, nKey1, pKey1, pPKey2, 0) } @@ -61072,7 +61091,7 @@ func Xsqlite3VdbeRecordCompare(tls *libc.TLS, nKey1 int32, pKey1 uintptr, pPKey2 // // To avoid concerns about buffer overreads, this routine is only used // on schemas where the maximum valid header size is 63 bytes or less. -func vdbeRecordCompareInt(tls *libc.TLS, nKey1 int32, pKey1 uintptr, pPKey2 uintptr) int32 { /* sqlite3.c:84482:12: */ +func vdbeRecordCompareInt(tls *libc.TLS, nKey1 int32, pKey1 uintptr, pPKey2 uintptr) int32 { /* sqlite3.c:84495:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -61177,7 +61196,7 @@ func vdbeRecordCompareInt(tls *libc.TLS, nKey1 int32, pKey1 uintptr, pPKey2 uint // that (a) the first field of pPKey2 is a string, that (b) the first field // uses the collation sequence BINARY and (c) that the size-of-header varint // at the start of (pKey1/nKey1) fits in a single byte. -func vdbeRecordCompareString(tls *libc.TLS, nKey1 int32, pKey1 uintptr, pPKey2 uintptr) int32 { /* sqlite3.c:84576:12: */ +func vdbeRecordCompareString(tls *libc.TLS, nKey1 int32, pKey1 uintptr, pPKey2 uintptr) int32 { /* sqlite3.c:84589:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -61201,7 +61220,7 @@ func vdbeRecordCompareString(tls *libc.TLS, nKey1 int32, pKey1 uintptr, pPKey2 u nStr = (*(*int32)(unsafe.Pointer(bp)) - 12) / 2 if szHdr+nStr > nKey1 { - (*UnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = U8(Xsqlite3CorruptError(tls, 84601)) + (*UnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = U8(Xsqlite3CorruptError(tls, 84614)) return 0 // Corruption } nCmp = func() int32 { @@ -61239,7 +61258,7 @@ func vdbeRecordCompareString(tls *libc.TLS, nKey1 int32, pKey1 uintptr, pPKey2 u // Return a pointer to an sqlite3VdbeRecordCompare() compatible function // suitable for comparing serialized records to the unpacked record passed // as the only argument. -func Xsqlite3VdbeFindCompare(tls *libc.TLS, p uintptr) RecordCompare { /* sqlite3.c:84640:30: */ +func Xsqlite3VdbeFindCompare(tls *libc.TLS, p uintptr) RecordCompare { /* sqlite3.c:84653:30: */ // varintRecordCompareInt() and varintRecordCompareString() both assume // that the size-of-header varint that occurs at the start of each record // fits in a single byte (i.e. is 127 or less). varintRecordCompareInt() @@ -61293,7 +61312,7 @@ func Xsqlite3VdbeFindCompare(tls *libc.TLS, p uintptr) RecordCompare { /* sqlite // // pCur might be pointing to text obtained from a corrupt database file. // So the content cannot be trusted. Do appropriate checks on the content. -func Xsqlite3VdbeIdxRowid(tls *libc.TLS, db uintptr, pCur uintptr, rowid uintptr) int32 { /* sqlite3.c:84691:20: */ +func Xsqlite3VdbeIdxRowid(tls *libc.TLS, db uintptr, pCur uintptr, rowid uintptr) int32 { /* sqlite3.c:84704:20: */ bp := tls.Alloc(120) defer tls.Free(120) @@ -61378,7 +61397,7 @@ __6: idx_rowid_corruption: ; Xsqlite3VdbeMemRelease(tls, bp) - return Xsqlite3CorruptError(tls, 84756) + return Xsqlite3CorruptError(tls, 84769) } // Compare the key of the index entry that cursor pC is pointing to against @@ -61390,7 +61409,7 @@ idx_rowid_corruption: // omits the rowid at the end. The rowid at the end of the index entry // is ignored as well. Hence, this routine only compares the prefixes // of the keys prior to the final rowid, not the entire key. -func Xsqlite3VdbeIdxKeyCompare(tls *libc.TLS, db uintptr, pC uintptr, pUnpacked uintptr, res uintptr) int32 { /* sqlite3.c:84770:20: */ +func Xsqlite3VdbeIdxKeyCompare(tls *libc.TLS, db uintptr, pC uintptr, pUnpacked uintptr, res uintptr) int32 { /* sqlite3.c:84783:20: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -61406,7 +61425,7 @@ func Xsqlite3VdbeIdxKeyCompare(tls *libc.TLS, db uintptr, pC uintptr, pUnpacked // that btreeParseCellPtr() and sqlite3GetVarint32() are implemented if nCellKey <= int64(0) || nCellKey > int64(0x7fffffff) { *(*int32)(unsafe.Pointer(res)) = 0 - return Xsqlite3CorruptError(tls, 84789) + return Xsqlite3CorruptError(tls, 84802) } Xsqlite3VdbeMemInit(tls, bp, db, uint16(0)) rc = Xsqlite3VdbeMemFromBtreeZeroOffset(tls, pCur, U32(nCellKey), bp) @@ -61420,7 +61439,7 @@ func Xsqlite3VdbeIdxKeyCompare(tls *libc.TLS, db uintptr, pC uintptr, pUnpacked // This routine sets the value to be returned by subsequent calls to // sqlite3_changes() on the database handle 'db'. -func Xsqlite3VdbeSetChanges(tls *libc.TLS, db uintptr, nChange I64) { /* sqlite3.c:84805:21: */ +func Xsqlite3VdbeSetChanges(tls *libc.TLS, db uintptr, nChange I64) { /* sqlite3.c:84818:21: */ (*Sqlite3)(unsafe.Pointer(db)).FnChange = nChange *(*I64)(unsafe.Pointer(db + 128)) += nChange @@ -61428,7 +61447,7 @@ func Xsqlite3VdbeSetChanges(tls *libc.TLS, db uintptr, nChange I64) { /* sqlite3 // Set a flag in the vdbe to update the change counter when it is finalised // or reset. -func Xsqlite3VdbeCountChanges(tls *libc.TLS, v uintptr) { /* sqlite3.c:84815:21: */ +func Xsqlite3VdbeCountChanges(tls *libc.TLS, v uintptr) { /* sqlite3.c:84828:21: */ libc.SetBitFieldPtr16Uint32(v+208, Bft(1), 4, 0x10) } @@ -61448,7 +61467,7 @@ func Xsqlite3VdbeCountChanges(tls *libc.TLS, v uintptr) { /* sqlite3.c:84815:21: // Internally, this function just sets the Vdbe.expired flag on all // prepared statements. The flag is set to 1 for an immediate expiration // and set to 2 for an advisory expiration. -func Xsqlite3ExpirePreparedStatements(tls *libc.TLS, db uintptr, iCode int32) { /* sqlite3.c:84837:21: */ +func Xsqlite3ExpirePreparedStatements(tls *libc.TLS, db uintptr, iCode int32) { /* sqlite3.c:84850:21: */ var p uintptr for p = (*Sqlite3)(unsafe.Pointer(db)).FpVdbe; p != 0; p = (*Vdbe)(unsafe.Pointer(p)).FpNext { libc.SetBitFieldPtr16Uint32(p+208, Bft(iCode+1), 0, 0x3) @@ -61456,12 +61475,12 @@ func Xsqlite3ExpirePreparedStatements(tls *libc.TLS, db uintptr, iCode int32) { } // Return the database associated with the Vdbe. -func Xsqlite3VdbeDb(tls *libc.TLS, v uintptr) uintptr { /* sqlite3.c:84847:24: */ +func Xsqlite3VdbeDb(tls *libc.TLS, v uintptr) uintptr { /* sqlite3.c:84860:24: */ return (*Vdbe)(unsafe.Pointer(v)).Fdb } // Return the SQLITE_PREPARE flags for a Vdbe. -func Xsqlite3VdbePrepareFlags(tls *libc.TLS, v uintptr) U8 { /* sqlite3.c:84854:19: */ +func Xsqlite3VdbePrepareFlags(tls *libc.TLS, v uintptr) U8 { /* sqlite3.c:84867:19: */ return (*Vdbe)(unsafe.Pointer(v)).FprepFlags } @@ -61471,7 +61490,7 @@ func Xsqlite3VdbePrepareFlags(tls *libc.TLS, v uintptr) U8 { /* sqlite3.c:84854: // constants) to the value before returning it. // // The returned value must be freed by the caller using sqlite3ValueFree(). -func Xsqlite3VdbeGetBoundValue(tls *libc.TLS, v uintptr, iVar int32, aff U8) uintptr { /* sqlite3.c:84866:30: */ +func Xsqlite3VdbeGetBoundValue(tls *libc.TLS, v uintptr, iVar int32, aff U8) uintptr { /* sqlite3.c:84879:30: */ if v != 0 { var pMem uintptr = (*Vdbe)(unsafe.Pointer(v)).FaVar + uintptr(iVar-1)*56 @@ -61491,7 +61510,7 @@ func Xsqlite3VdbeGetBoundValue(tls *libc.TLS, v uintptr, iVar int32, aff U8) uin // Configure SQL variable iVar so that binding a new value to it signals // to sqlite3_reoptimize() that re-preparing the statement may result // in a better query plan. -func Xsqlite3VdbeSetVarmask(tls *libc.TLS, v uintptr, iVar int32) { /* sqlite3.c:84888:21: */ +func Xsqlite3VdbeSetVarmask(tls *libc.TLS, v uintptr, iVar int32) { /* sqlite3.c:84901:21: */ if iVar >= 32 { *(*U32)(unsafe.Pointer(v + 292)) |= 0x80000000 @@ -61507,7 +61526,7 @@ func Xsqlite3VdbeSetVarmask(tls *libc.TLS, v uintptr, iVar int32) { /* sqlite3.c // throw an error if it is given inputs that would make it non-deterministic. // This routine is invoked by date/time functions that use non-deterministic // features such as 'now'. -func Xsqlite3NotPureFunc(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:84907:20: */ +func Xsqlite3NotPureFunc(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:84920:20: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -61538,7 +61557,7 @@ func Xsqlite3NotPureFunc(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:84907 // Transfer error message text from an sqlite3_vtab.zErrMsg (text stored // in memory obtained from sqlite3_malloc) into a Vdbe.zErrMsg (text stored // in memory obtained from sqlite3DbMalloc). -func Xsqlite3VtabImportErrmsg(tls *libc.TLS, p uintptr, pVtab uintptr) { /* sqlite3.c:84938:21: */ +func Xsqlite3VtabImportErrmsg(tls *libc.TLS, p uintptr, pVtab uintptr) { /* sqlite3.c:84951:21: */ if (*Sqlite3_vtab)(unsafe.Pointer(pVtab)).FzErrMsg != 0 { var db uintptr = (*Vdbe)(unsafe.Pointer(p)).Fdb Xsqlite3DbFree(tls, db, (*Vdbe)(unsafe.Pointer(p)).FzErrMsg) @@ -61554,7 +61573,7 @@ func Xsqlite3VtabImportErrmsg(tls *libc.TLS, p uintptr, pVtab uintptr) { /* sqli // // This function is used to free UnpackedRecord structures allocated by // the vdbeUnpackRecord() function found in vdbeapi.c. -func vdbeFreeUnpacked(tls *libc.TLS, db uintptr, nField int32, p uintptr) { /* sqlite3.c:84959:13: */ +func vdbeFreeUnpacked(tls *libc.TLS, db uintptr, nField int32, p uintptr) { /* sqlite3.c:84972:13: */ if p != 0 { var i int32 for i = 0; i < nField; i++ { @@ -61571,7 +61590,7 @@ func vdbeFreeUnpacked(tls *libc.TLS, db uintptr, nField int32, p uintptr) { /* s // then cursor passed as the second argument should point to the row about // to be update or deleted. If the application calls sqlite3_preupdate_old(), // the required value will be read from the row the cursor points to. -func Xsqlite3VdbePreUpdateHook(tls *libc.TLS, v uintptr, pCsr uintptr, op int32, zDb uintptr, pTab uintptr, iKey1 I64, iReg int32, iBlobWrite int32) { /* sqlite3.c:84978:21: */ +func Xsqlite3VdbePreUpdateHook(tls *libc.TLS, v uintptr, pCsr uintptr, op int32, zDb uintptr, pTab uintptr, iKey1 I64, iReg int32, iBlobWrite int32) { /* sqlite3.c:84991:21: */ bp := tls.Alloc(136) defer tls.Free(136) @@ -61623,7 +61642,7 @@ func Xsqlite3VdbePreUpdateHook(tls *libc.TLS, v uintptr, pCsr uintptr, op int32, } } -var fakeSortOrder U8 = U8(0) /* sqlite3.c:84992:19 */ +var fakeSortOrder U8 = U8(0) /* sqlite3.c:85005:19 */ //************* End of vdbeaux.c ******************************************** //************* Begin file vdbeapi.c **************************************** @@ -61649,7 +61668,7 @@ var fakeSortOrder U8 = U8(0) /* sqlite3.c:84992:19 */ // that sqlite3_prepare() generates. For example, if new functions or // collating sequences are registered or if an authorizer function is // added or changed. -func Xsqlite3_expired(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:85071:16: */ +func Xsqlite3_expired(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:85084:16: */ var p uintptr = pStmt return libc.Bool32(p == uintptr(0) || Bft(int32(*(*uint16)(unsafe.Pointer(p + 208))&0x3>>0)) != 0) } @@ -61657,7 +61676,7 @@ func Xsqlite3_expired(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:85071:1 // Check on a Vdbe to make sure it has not been finalized. Log // an error and return true if it has been finalized (or is otherwise // invalid). Return false if it is ok. -func vdbeSafety(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:85082:12: */ +func vdbeSafety(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:85095:12: */ if (*Vdbe)(unsafe.Pointer(p)).Fdb == uintptr(0) { Xsqlite3_log(tls, SQLITE_MISUSE, ts+5191, 0) return 1 @@ -61667,7 +61686,7 @@ func vdbeSafety(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:85082:12: */ return int32(0) } -func vdbeSafetyNotNull(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:85090:12: */ +func vdbeSafetyNotNull(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:85103:12: */ if p == uintptr(0) { Xsqlite3_log(tls, SQLITE_MISUSE, ts+5236, 0) return 1 @@ -61679,7 +61698,7 @@ func vdbeSafetyNotNull(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:85090:12: // Invoke the profile callback. This routine is only called if we already // know that the profile callback is defined and needs to be invoked. -func invokeProfileCallback(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:85104:29: */ +func invokeProfileCallback(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:85117:29: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -61712,7 +61731,7 @@ func invokeProfileCallback(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c: // // This routine sets the error code and string returned by // sqlite3_errcode(), sqlite3_errmsg() and sqlite3_errmsg16(). -func Xsqlite3_finalize(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:85142:16: */ +func Xsqlite3_finalize(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:85155:16: */ var rc int32 if pStmt == uintptr(0) { // IMPLEMENTATION-OF: R-57228-12904 Invoking sqlite3_finalize() on a NULL @@ -61722,7 +61741,7 @@ func Xsqlite3_finalize(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:85142: var v uintptr = pStmt var db uintptr = (*Vdbe)(unsafe.Pointer(v)).Fdb if vdbeSafety(tls, v) != 0 { - return Xsqlite3MisuseError(tls, 85151) + return Xsqlite3MisuseError(tls, 85164) } Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) if (*Vdbe)(unsafe.Pointer(v)).FstartTime > int64(0) { @@ -61742,7 +61761,7 @@ func Xsqlite3_finalize(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:85142: // // This routine sets the error code and string returned by // sqlite3_errcode(), sqlite3_errmsg() and sqlite3_errmsg16(). -func Xsqlite3_reset(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:85169:16: */ +func Xsqlite3_reset(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:85182:16: */ var rc int32 if pStmt == uintptr(0) { rc = SQLITE_OK @@ -61764,7 +61783,7 @@ func Xsqlite3_reset(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:85169:16: } // Set all the parameters in the compiled SQL statement to NULL. -func Xsqlite3_clear_bindings(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:85190:16: */ +func Xsqlite3_clear_bindings(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:85203:16: */ var i int32 var rc int32 = SQLITE_OK var p uintptr = pStmt @@ -61786,7 +61805,7 @@ func Xsqlite3_clear_bindings(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c: // // The following routines extract information from a Mem or sqlite3_value // structure. -func Xsqlite3_value_blob(tls *libc.TLS, pVal uintptr) uintptr { /* sqlite3.c:85215:23: */ +func Xsqlite3_value_blob(tls *libc.TLS, pVal uintptr) uintptr { /* sqlite3.c:85228:23: */ var p uintptr = pVal if int32((*Mem)(unsafe.Pointer(p)).Fflags)&(MEM_Blob|MEM_Str) != 0 { if func() int32 { @@ -61809,11 +61828,11 @@ func Xsqlite3_value_blob(tls *libc.TLS, pVal uintptr) uintptr { /* sqlite3.c:852 return uintptr(0) } -func Xsqlite3_value_bytes(tls *libc.TLS, pVal uintptr) int32 { /* sqlite3.c:85228:16: */ +func Xsqlite3_value_bytes(tls *libc.TLS, pVal uintptr) int32 { /* sqlite3.c:85241:16: */ return Xsqlite3ValueBytes(tls, pVal, uint8(SQLITE_UTF8)) } -func Xsqlite3_value_bytes16(tls *libc.TLS, pVal uintptr) int32 { /* sqlite3.c:85231:16: */ +func Xsqlite3_value_bytes16(tls *libc.TLS, pVal uintptr) int32 { /* sqlite3.c:85244:16: */ return Xsqlite3ValueBytes(tls, pVal, func() uint8 { if int32(*(*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer(&Xsqlite3one))))) == 0 { return uint8(SQLITE_UTF16BE) @@ -61822,19 +61841,19 @@ func Xsqlite3_value_bytes16(tls *libc.TLS, pVal uintptr) int32 { /* sqlite3.c:85 }()) } -func Xsqlite3_value_double(tls *libc.TLS, pVal uintptr) float64 { /* sqlite3.c:85234:19: */ +func Xsqlite3_value_double(tls *libc.TLS, pVal uintptr) float64 { /* sqlite3.c:85247:19: */ return Xsqlite3VdbeRealValue(tls, pVal) } -func Xsqlite3_value_int(tls *libc.TLS, pVal uintptr) int32 { /* sqlite3.c:85237:16: */ +func Xsqlite3_value_int(tls *libc.TLS, pVal uintptr) int32 { /* sqlite3.c:85250:16: */ return int32(Xsqlite3VdbeIntValue(tls, pVal)) } -func Xsqlite3_value_int64(tls *libc.TLS, pVal uintptr) Sqlite_int64 { /* sqlite3.c:85240:25: */ +func Xsqlite3_value_int64(tls *libc.TLS, pVal uintptr) Sqlite_int64 { /* sqlite3.c:85253:25: */ return Xsqlite3VdbeIntValue(tls, pVal) } -func Xsqlite3_value_subtype(tls *libc.TLS, pVal uintptr) uint32 { /* sqlite3.c:85243:25: */ +func Xsqlite3_value_subtype(tls *libc.TLS, pVal uintptr) uint32 { /* sqlite3.c:85256:25: */ var pMem uintptr = pVal return func() uint32 { if int32((*Mem)(unsafe.Pointer(pMem)).Fflags)&MEM_Subtype != 0 { @@ -61844,7 +61863,7 @@ func Xsqlite3_value_subtype(tls *libc.TLS, pVal uintptr) uint32 { /* sqlite3.c:8 }() } -func Xsqlite3_value_pointer(tls *libc.TLS, pVal uintptr, zPType uintptr) uintptr { /* sqlite3.c:85247:17: */ +func Xsqlite3_value_pointer(tls *libc.TLS, pVal uintptr, zPType uintptr) uintptr { /* sqlite3.c:85260:17: */ var p uintptr = pVal if int32((*Mem)(unsafe.Pointer(p)).Fflags)&(MEM_TypeMask|MEM_Term|MEM_Subtype) == MEM_Null|MEM_Term|MEM_Subtype && zPType != uintptr(0) && @@ -61857,11 +61876,11 @@ func Xsqlite3_value_pointer(tls *libc.TLS, pVal uintptr, zPType uintptr) uintptr return uintptr(0) } -func Xsqlite3_value_text(tls *libc.TLS, pVal uintptr) uintptr { /* sqlite3.c:85260:32: */ +func Xsqlite3_value_text(tls *libc.TLS, pVal uintptr) uintptr { /* sqlite3.c:85273:32: */ return Xsqlite3ValueText(tls, pVal, uint8(SQLITE_UTF8)) } -func Xsqlite3_value_text16(tls *libc.TLS, pVal uintptr) uintptr { /* sqlite3.c:85264:23: */ +func Xsqlite3_value_text16(tls *libc.TLS, pVal uintptr) uintptr { /* sqlite3.c:85277:23: */ return Xsqlite3ValueText(tls, pVal, func() uint8 { if int32(*(*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer(&Xsqlite3one))))) == 0 { return uint8(SQLITE_UTF16BE) @@ -61870,18 +61889,18 @@ func Xsqlite3_value_text16(tls *libc.TLS, pVal uintptr) uintptr { /* sqlite3.c:8 }()) } -func Xsqlite3_value_text16be(tls *libc.TLS, pVal uintptr) uintptr { /* sqlite3.c:85267:23: */ +func Xsqlite3_value_text16be(tls *libc.TLS, pVal uintptr) uintptr { /* sqlite3.c:85280:23: */ return Xsqlite3ValueText(tls, pVal, uint8(SQLITE_UTF16BE)) } -func Xsqlite3_value_text16le(tls *libc.TLS, pVal uintptr) uintptr { /* sqlite3.c:85270:23: */ +func Xsqlite3_value_text16le(tls *libc.TLS, pVal uintptr) uintptr { /* sqlite3.c:85283:23: */ return Xsqlite3ValueText(tls, pVal, uint8(SQLITE_UTF16LE)) } // EVIDENCE-OF: R-12793-43283 Every value in SQLite has one of five // fundamental datatypes: 64-bit signed integer 64-bit IEEE floating // point number string BLOB NULL -func Xsqlite3_value_type(tls *libc.TLS, pVal uintptr) int32 { /* sqlite3.c:85278:16: */ +func Xsqlite3_value_type(tls *libc.TLS, pVal uintptr) int32 { /* sqlite3.c:85291:16: */ return int32(aType[int32((*Sqlite3_value)(unsafe.Pointer(pVal)).Fflags)&MEM_AffMask]) } @@ -61950,20 +61969,20 @@ var aType = [64]U8{ U8(SQLITE_NULL), // 0x3d (not possible) U8(SQLITE_FLOAT), // 0x3e (not possible) U8(SQLITE_NULL), // 0x3f (not possible) -} /* sqlite3.c:85279:19 */ +} /* sqlite3.c:85292:19 */ // Return true if a parameter to xUpdate represents an unchanged column -func Xsqlite3_value_nochange(tls *libc.TLS, pVal uintptr) int32 { /* sqlite3.c:85364:16: */ +func Xsqlite3_value_nochange(tls *libc.TLS, pVal uintptr) int32 { /* sqlite3.c:85377:16: */ return libc.Bool32(int32((*Sqlite3_value)(unsafe.Pointer(pVal)).Fflags)&(MEM_Null|MEM_Zero) == MEM_Null|MEM_Zero) } // Return true if a parameter value originated from an sqlite3_bind() -func Xsqlite3_value_frombind(tls *libc.TLS, pVal uintptr) int32 { /* sqlite3.c:85369:16: */ +func Xsqlite3_value_frombind(tls *libc.TLS, pVal uintptr) int32 { /* sqlite3.c:85382:16: */ return libc.Bool32(int32((*Sqlite3_value)(unsafe.Pointer(pVal)).Fflags)&MEM_FromBind != 0) } // Make a copy of an sqlite3_value object -func Xsqlite3_value_dup(tls *libc.TLS, pOrig uintptr) uintptr { /* sqlite3.c:85375:26: */ +func Xsqlite3_value_dup(tls *libc.TLS, pOrig uintptr) uintptr { /* sqlite3.c:85388:26: */ var pNew uintptr if pOrig == uintptr(0) { return uintptr(0) @@ -61989,7 +62008,7 @@ func Xsqlite3_value_dup(tls *libc.TLS, pOrig uintptr) uintptr { /* sqlite3.c:853 // Destroy an sqlite3_value object previously obtained from // sqlite3_value_dup(). -func Xsqlite3_value_free(tls *libc.TLS, pOld uintptr) { /* sqlite3.c:85398:17: */ +func Xsqlite3_value_free(tls *libc.TLS, pOld uintptr) { /* sqlite3.c:85411:17: */ Xsqlite3ValueFree(tls, pOld) } @@ -62004,7 +62023,7 @@ func Xsqlite3_value_free(tls *libc.TLS, pOld uintptr) { /* sqlite3.c:85398:17: * // // The invokeValueDestructor(P,X) routine invokes destructor function X() // on value P is not going to be used and need to be destroyed. -func setResultStrOrError(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, enc U8, xDel uintptr) { /* sqlite3.c:85414:13: */ +func setResultStrOrError(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, enc U8, xDel uintptr) { /* sqlite3.c:85427:13: */ var rc int32 = Xsqlite3VdbeMemSetStr(tls, (*Sqlite3_context)(unsafe.Pointer(pCtx)).FpOut, z, int64(n), enc, xDel) if rc != 0 { if rc == SQLITE_TOOBIG { @@ -62018,7 +62037,7 @@ func setResultStrOrError(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, enc U8 } } -func invokeValueDestructor(tls *libc.TLS, p uintptr, xDel uintptr, pCtx uintptr) int32 { /* sqlite3.c:85433:12: */ +func invokeValueDestructor(tls *libc.TLS, p uintptr, xDel uintptr, pCtx uintptr) int32 { /* sqlite3.c:85446:12: */ if xDel == uintptr(0) { // noop @@ -62031,12 +62050,12 @@ func invokeValueDestructor(tls *libc.TLS, p uintptr, xDel uintptr, pCtx uintptr) return SQLITE_TOOBIG } -func Xsqlite3_result_blob(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, xDel uintptr) { /* sqlite3.c:85449:17: */ +func Xsqlite3_result_blob(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, xDel uintptr) { /* sqlite3.c:85462:17: */ setResultStrOrError(tls, pCtx, z, n, uint8(0), xDel) } -func Xsqlite3_result_blob64(tls *libc.TLS, pCtx uintptr, z uintptr, n Sqlite3_uint64, xDel uintptr) { /* sqlite3.c:85459:17: */ +func Xsqlite3_result_blob64(tls *libc.TLS, pCtx uintptr, z uintptr, n Sqlite3_uint64, xDel uintptr) { /* sqlite3.c:85472:17: */ if n > uint64(0x7fffffff) { invokeValueDestructor(tls, z, xDel, pCtx) @@ -62045,18 +62064,18 @@ func Xsqlite3_result_blob64(tls *libc.TLS, pCtx uintptr, z uintptr, n Sqlite3_ui } } -func Xsqlite3_result_double(tls *libc.TLS, pCtx uintptr, rVal float64) { /* sqlite3.c:85473:17: */ +func Xsqlite3_result_double(tls *libc.TLS, pCtx uintptr, rVal float64) { /* sqlite3.c:85486:17: */ Xsqlite3VdbeMemSetDouble(tls, (*Sqlite3_context)(unsafe.Pointer(pCtx)).FpOut, rVal) } -func Xsqlite3_result_error(tls *libc.TLS, pCtx uintptr, z uintptr, n int32) { /* sqlite3.c:85477:17: */ +func Xsqlite3_result_error(tls *libc.TLS, pCtx uintptr, z uintptr, n int32) { /* sqlite3.c:85490:17: */ (*Sqlite3_context)(unsafe.Pointer(pCtx)).FisError = SQLITE_ERROR Xsqlite3VdbeMemSetStr(tls, (*Sqlite3_context)(unsafe.Pointer(pCtx)).FpOut, z, int64(n), uint8(SQLITE_UTF8), libc.UintptrFromInt32(-1)) } -func Xsqlite3_result_error16(tls *libc.TLS, pCtx uintptr, z uintptr, n int32) { /* sqlite3.c:85483:17: */ +func Xsqlite3_result_error16(tls *libc.TLS, pCtx uintptr, z uintptr, n int32) { /* sqlite3.c:85496:17: */ (*Sqlite3_context)(unsafe.Pointer(pCtx)).FisError = SQLITE_ERROR Xsqlite3VdbeMemSetStr(tls, (*Sqlite3_context)(unsafe.Pointer(pCtx)).FpOut, z, int64(n), func() uint8 { @@ -62067,22 +62086,22 @@ func Xsqlite3_result_error16(tls *libc.TLS, pCtx uintptr, z uintptr, n int32) { }(), libc.UintptrFromInt32(-1)) } -func Xsqlite3_result_int(tls *libc.TLS, pCtx uintptr, iVal int32) { /* sqlite3.c:85489:17: */ +func Xsqlite3_result_int(tls *libc.TLS, pCtx uintptr, iVal int32) { /* sqlite3.c:85502:17: */ Xsqlite3VdbeMemSetInt64(tls, (*Sqlite3_context)(unsafe.Pointer(pCtx)).FpOut, I64(iVal)) } -func Xsqlite3_result_int64(tls *libc.TLS, pCtx uintptr, iVal I64) { /* sqlite3.c:85493:17: */ +func Xsqlite3_result_int64(tls *libc.TLS, pCtx uintptr, iVal I64) { /* sqlite3.c:85506:17: */ Xsqlite3VdbeMemSetInt64(tls, (*Sqlite3_context)(unsafe.Pointer(pCtx)).FpOut, iVal) } -func Xsqlite3_result_null(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:85497:17: */ +func Xsqlite3_result_null(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:85510:17: */ Xsqlite3VdbeMemSetNull(tls, (*Sqlite3_context)(unsafe.Pointer(pCtx)).FpOut) } -func Xsqlite3_result_pointer(tls *libc.TLS, pCtx uintptr, pPtr uintptr, zPType uintptr, xDestructor uintptr) { /* sqlite3.c:85501:17: */ +func Xsqlite3_result_pointer(tls *libc.TLS, pCtx uintptr, pPtr uintptr, zPType uintptr, xDestructor uintptr) { /* sqlite3.c:85514:17: */ var pOut uintptr = (*Sqlite3_context)(unsafe.Pointer(pCtx)).FpOut Xsqlite3VdbeMemRelease(tls, pOut) @@ -62090,19 +62109,19 @@ func Xsqlite3_result_pointer(tls *libc.TLS, pCtx uintptr, pPtr uintptr, zPType u Xsqlite3VdbeMemSetPointer(tls, pOut, pPtr, zPType, xDestructor) } -func Xsqlite3_result_subtype(tls *libc.TLS, pCtx uintptr, eSubtype uint32) { /* sqlite3.c:85513:17: */ +func Xsqlite3_result_subtype(tls *libc.TLS, pCtx uintptr, eSubtype uint32) { /* sqlite3.c:85526:17: */ var pOut uintptr = (*Sqlite3_context)(unsafe.Pointer(pCtx)).FpOut (*Mem)(unsafe.Pointer(pOut)).FeSubtype = U8(eSubtype & uint32(0xff)) *(*U16)(unsafe.Pointer(pOut + 8)) |= U16(MEM_Subtype) } -func Xsqlite3_result_text(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, xDel uintptr) { /* sqlite3.c:85519:17: */ +func Xsqlite3_result_text(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, xDel uintptr) { /* sqlite3.c:85532:17: */ setResultStrOrError(tls, pCtx, z, n, uint8(SQLITE_UTF8), xDel) } -func Xsqlite3_result_text64(tls *libc.TLS, pCtx uintptr, z uintptr, n Sqlite3_uint64, xDel uintptr, enc uint8) { /* sqlite3.c:85528:17: */ +func Xsqlite3_result_text64(tls *libc.TLS, pCtx uintptr, z uintptr, n Sqlite3_uint64, xDel uintptr, enc uint8) { /* sqlite3.c:85541:17: */ if int32(enc) == SQLITE_UTF16 { enc = func() uint8 { @@ -62119,7 +62138,7 @@ func Xsqlite3_result_text64(tls *libc.TLS, pCtx uintptr, z uintptr, n Sqlite3_ui } } -func Xsqlite3_result_text16(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, xDel uintptr) { /* sqlite3.c:85545:17: */ +func Xsqlite3_result_text16(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, xDel uintptr) { /* sqlite3.c:85558:17: */ setResultStrOrError(tls, pCtx, z, n, func() uint8 { if int32(*(*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer(&Xsqlite3one))))) == 0 { @@ -62129,27 +62148,27 @@ func Xsqlite3_result_text16(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, xDe }(), xDel) } -func Xsqlite3_result_text16be(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, xDel uintptr) { /* sqlite3.c:85554:17: */ +func Xsqlite3_result_text16be(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, xDel uintptr) { /* sqlite3.c:85567:17: */ setResultStrOrError(tls, pCtx, z, n, uint8(SQLITE_UTF16BE), xDel) } -func Xsqlite3_result_text16le(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, xDel uintptr) { /* sqlite3.c:85563:17: */ +func Xsqlite3_result_text16le(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, xDel uintptr) { /* sqlite3.c:85576:17: */ setResultStrOrError(tls, pCtx, z, n, uint8(SQLITE_UTF16LE), xDel) } -func Xsqlite3_result_value(tls *libc.TLS, pCtx uintptr, pValue uintptr) { /* sqlite3.c:85573:17: */ +func Xsqlite3_result_value(tls *libc.TLS, pCtx uintptr, pValue uintptr) { /* sqlite3.c:85586:17: */ Xsqlite3VdbeMemCopy(tls, (*Sqlite3_context)(unsafe.Pointer(pCtx)).FpOut, pValue) } -func Xsqlite3_result_zeroblob(tls *libc.TLS, pCtx uintptr, n int32) { /* sqlite3.c:85577:17: */ +func Xsqlite3_result_zeroblob(tls *libc.TLS, pCtx uintptr, n int32) { /* sqlite3.c:85590:17: */ Xsqlite3VdbeMemSetZeroBlob(tls, (*Sqlite3_context)(unsafe.Pointer(pCtx)).FpOut, n) } -func Xsqlite3_result_zeroblob64(tls *libc.TLS, pCtx uintptr, n U64) int32 { /* sqlite3.c:85581:16: */ +func Xsqlite3_result_zeroblob64(tls *libc.TLS, pCtx uintptr, n U64) int32 { /* sqlite3.c:85594:16: */ var pOut uintptr = (*Sqlite3_context)(unsafe.Pointer(pCtx)).FpOut if n > U64(*(*int32)(unsafe.Pointer((*Mem)(unsafe.Pointer(pOut)).Fdb + 136))) { @@ -62159,7 +62178,7 @@ func Xsqlite3_result_zeroblob64(tls *libc.TLS, pCtx uintptr, n U64) int32 { /* s return SQLITE_OK } -func Xsqlite3_result_error_code(tls *libc.TLS, pCtx uintptr, errCode int32) { /* sqlite3.c:85594:17: */ +func Xsqlite3_result_error_code(tls *libc.TLS, pCtx uintptr, errCode int32) { /* sqlite3.c:85607:17: */ (*Sqlite3_context)(unsafe.Pointer(pCtx)).FisError = func() int32 { if errCode != 0 { return errCode @@ -62173,7 +62192,7 @@ func Xsqlite3_result_error_code(tls *libc.TLS, pCtx uintptr, errCode int32) { /* } // Force an SQLITE_TOOBIG error. -func Xsqlite3_result_error_toobig(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:85606:17: */ +func Xsqlite3_result_error_toobig(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:85619:17: */ (*Sqlite3_context)(unsafe.Pointer(pCtx)).FisError = SQLITE_TOOBIG Xsqlite3VdbeMemSetStr(tls, (*Sqlite3_context)(unsafe.Pointer(pCtx)).FpOut, ts+5276, int64(-1), @@ -62181,7 +62200,7 @@ func Xsqlite3_result_error_toobig(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:85 } // An SQLITE_NOMEM error. -func Xsqlite3_result_error_nomem(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:85614:17: */ +func Xsqlite3_result_error_nomem(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:85627:17: */ Xsqlite3VdbeMemSetNull(tls, (*Sqlite3_context)(unsafe.Pointer(pCtx)).FpOut) (*Sqlite3_context)(unsafe.Pointer(pCtx)).FisError = SQLITE_NOMEM @@ -62191,7 +62210,7 @@ func Xsqlite3_result_error_nomem(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:856 // Force the INT64 value currently stored as the result to be // a MEM_IntReal value. See the SQLITE_TESTCTRL_RESULT_INTREAL // test-control. -func Xsqlite3ResultIntReal(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:85626:21: */ +func Xsqlite3ResultIntReal(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:85639:21: */ if int32((*Mem)(unsafe.Pointer((*Sqlite3_context)(unsafe.Pointer(pCtx)).FpOut)).Fflags)&MEM_Int != 0 { *(*U16)(unsafe.Pointer((*Sqlite3_context)(unsafe.Pointer(pCtx)).FpOut + 8)) &= libc.Uint16FromInt32(libc.CplInt32(MEM_Int)) @@ -62201,7 +62220,7 @@ func Xsqlite3ResultIntReal(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:85626:21: // This function is called after a transaction has been committed. It // invokes callbacks registered with sqlite3_wal_hook() as required. -func doWalCallbacks(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:85640:12: */ +func doWalCallbacks(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:85653:12: */ var rc int32 = SQLITE_OK var i int32 for i = 0; i < (*Sqlite3)(unsafe.Pointer(db)).FnDb; i++ { @@ -62228,7 +62247,7 @@ func doWalCallbacks(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:85640:12: */ // API. The only thing omitted is the automatic recompile if a // schema change has occurred. That detail is handled by the // outer sqlite3_step() wrapper procedure. -func sqlite3Step(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:85670:12: */ +func sqlite3Step(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:85683:12: */ var db uintptr var rc int32 @@ -62395,14 +62414,14 @@ end_of_step: // This is the top-level implementation of sqlite3_step(). Call // sqlite3Step() to do most of the work. If a schema error occurs, // call sqlite3Reprepare() and try again. -func Xsqlite3_step(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:85804:16: */ +func Xsqlite3_step(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:85817:16: */ var rc int32 = SQLITE_OK // Result from sqlite3Step() var v uintptr = pStmt // the prepared statement var cnt int32 = 0 // Counter to prevent infinite loop of reprepares var db uintptr // The database connection if vdbeSafetyNotNull(tls, v) != 0 { - return Xsqlite3MisuseError(tls, 85811) + return Xsqlite3MisuseError(tls, 85824) } db = (*Vdbe)(unsafe.Pointer(v)).Fdb Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) @@ -62442,7 +62461,7 @@ func Xsqlite3_step(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:85804:16: // Extract the user data from a sqlite3_context structure and return a // pointer to it. -func Xsqlite3_user_data(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:85853:17: */ +func Xsqlite3_user_data(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:85866:17: */ return (*FuncDef)(unsafe.Pointer((*Sqlite3_context)(unsafe.Pointer(p)).FpFunc)).FpUserData } @@ -62455,7 +62474,7 @@ func Xsqlite3_user_data(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:85853:1 // parameter) of the sqlite3_create_function() and // sqlite3_create_function16() routines that originally registered the // application defined function. -func Xsqlite3_context_db_handle(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:85868:20: */ +func Xsqlite3_context_db_handle(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:85881:20: */ return (*Mem)(unsafe.Pointer((*Sqlite3_context)(unsafe.Pointer(p)).FpOut)).Fdb } @@ -62472,14 +62491,14 @@ func Xsqlite3_context_db_handle(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c // Virtual table implements might use this routine to optimize their // performance by substituting a NULL result, or some other light-weight // value, as a signal to the xUpdate routine that the column is unchanged. -func Xsqlite3_vtab_nochange(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:85887:16: */ +func Xsqlite3_vtab_nochange(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:85900:16: */ return Xsqlite3_value_nochange(tls, (*Sqlite3_context)(unsafe.Pointer(p)).FpOut) } // Implementation of sqlite3_vtab_in_first() (if bNext==0) and // sqlite3_vtab_in_next() (if bNext!=0). -func valueFromValueList(tls *libc.TLS, pVal uintptr, ppOut uintptr, bNext int32) int32 { /* sqlite3.c:85896:12: */ +func valueFromValueList(tls *libc.TLS, pVal uintptr, ppOut uintptr, bNext int32) int32 { /* sqlite3.c:85909:12: */ bp := tls.Alloc(68) defer tls.Free(68) @@ -62537,13 +62556,13 @@ func valueFromValueList(tls *libc.TLS, pVal uintptr, ppOut uintptr, bNext int32) // Set the iterator value pVal to point to the first value in the set. // Set (*ppOut) to point to this value before returning. -func Xsqlite3_vtab_in_first(tls *libc.TLS, pVal uintptr, ppOut uintptr) int32 { /* sqlite3.c:85944:16: */ +func Xsqlite3_vtab_in_first(tls *libc.TLS, pVal uintptr, ppOut uintptr) int32 { /* sqlite3.c:85957:16: */ return valueFromValueList(tls, pVal, ppOut, 0) } // Set the iterator value pVal to point to the next value in the set. // Set (*ppOut) to point to this value before returning. -func Xsqlite3_vtab_in_next(tls *libc.TLS, pVal uintptr, ppOut uintptr) int32 { /* sqlite3.c:85952:16: */ +func Xsqlite3_vtab_in_next(tls *libc.TLS, pVal uintptr, ppOut uintptr) int32 { /* sqlite3.c:85965:16: */ return valueFromValueList(tls, pVal, ppOut, 1) } @@ -62552,7 +62571,7 @@ func Xsqlite3_vtab_in_next(tls *libc.TLS, pVal uintptr, ppOut uintptr) int32 { / // statement, the exact same time is returned for each invocation regardless // of the amount of time that elapses between invocations. In other words, // the time returned is always the time of the first call. -func Xsqlite3StmtCurrentTime(tls *libc.TLS, p uintptr) Sqlite3_int64 { /* sqlite3.c:85963:30: */ +func Xsqlite3StmtCurrentTime(tls *libc.TLS, p uintptr) Sqlite3_int64 { /* sqlite3.c:85976:30: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -62575,7 +62594,7 @@ func Xsqlite3StmtCurrentTime(tls *libc.TLS, p uintptr) Sqlite3_int64 { /* sqlite // Create a new aggregate context for p and return a pointer to // its pMem->z element. -func createAggContext(tls *libc.TLS, p uintptr, nByte int32) uintptr { /* sqlite3.c:85983:29: */ +func createAggContext(tls *libc.TLS, p uintptr, nByte int32) uintptr { /* sqlite3.c:85996:29: */ var pMem uintptr = (*Sqlite3_context)(unsafe.Pointer(p)).FpMem if nByte <= 0 { @@ -62595,7 +62614,7 @@ func createAggContext(tls *libc.TLS, p uintptr, nByte int32) uintptr { /* sqlite // Allocate or return the aggregate context for a user function. A new // context is allocated on the first call. Subsequent calls return the // same context that was returned on prior calls. -func Xsqlite3_aggregate_context(tls *libc.TLS, p uintptr, nByte int32) uintptr { /* sqlite3.c:86005:17: */ +func Xsqlite3_aggregate_context(tls *libc.TLS, p uintptr, nByte int32) uintptr { /* sqlite3.c:86018:17: */ if int32((*Mem)(unsafe.Pointer((*Sqlite3_context)(unsafe.Pointer(p)).FpMem)).Fflags)&MEM_Agg == 0 { return createAggContext(tls, p, nByte) @@ -62613,7 +62632,7 @@ func Xsqlite3_aggregate_context(tls *libc.TLS, p uintptr, nByte int32) uintptr { // Undocumented behavior: If iArg is negative then access a cache of // auxiliary data pointers that is available to all functions within a // single prepared statement. The iArg values must match. -func Xsqlite3_get_auxdata(tls *libc.TLS, pCtx uintptr, iArg int32) uintptr { /* sqlite3.c:86026:17: */ +func Xsqlite3_get_auxdata(tls *libc.TLS, pCtx uintptr, iArg int32) uintptr { /* sqlite3.c:86039:17: */ var pAuxData uintptr if (*Sqlite3_context)(unsafe.Pointer(pCtx)).FpVdbe == uintptr(0) { @@ -62636,7 +62655,7 @@ func Xsqlite3_get_auxdata(tls *libc.TLS, pCtx uintptr, iArg int32) uintptr { /* // Undocumented behavior: If iArg is negative then make the data available // 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) { /* sqlite3.c:86054:17: */ +func Xsqlite3_set_auxdata(tls *libc.TLS, pCtx uintptr, iArg int32, pAux uintptr, xDelete uintptr) { /* sqlite3.c:86067:17: */ var pAuxData uintptr var pVdbe uintptr pVdbe = (*Sqlite3_context)(unsafe.Pointer(pCtx)).FpVdbe @@ -62716,13 +62735,13 @@ __11: // provide only to avoid breaking legacy code. New aggregate function // implementations should keep their own counts within their aggregate // context. -func Xsqlite3_aggregate_count(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:86107:16: */ +func Xsqlite3_aggregate_count(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:86120:16: */ return (*Mem)(unsafe.Pointer((*Sqlite3_context)(unsafe.Pointer(p)).FpMem)).Fn } // Return the number of columns in the result set for the statement pStmt. -func Xsqlite3_column_count(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:86116:16: */ +func Xsqlite3_column_count(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:86129:16: */ var pVm uintptr = pStmt if pVm != 0 { return int32((*Vdbe)(unsafe.Pointer(pVm)).FnResColumn) @@ -62732,7 +62751,7 @@ func Xsqlite3_column_count(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:86 // Return the number of values available from the current row of the // currently executing statement pStmt. -func Xsqlite3_data_count(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:86125:16: */ +func Xsqlite3_data_count(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:86138:16: */ var pVm uintptr = pStmt if pVm == uintptr(0) || (*Vdbe)(unsafe.Pointer(pVm)).FpResultSet == uintptr(0) { return 0 @@ -62741,19 +62760,19 @@ func Xsqlite3_data_count(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:8612 } // Return a pointer to static memory containing an SQL NULL value. -func columnNullValue(tls *libc.TLS) uintptr { /* sqlite3.c:86134:18: */ +func columnNullValue(tls *libc.TLS) uintptr { /* sqlite3.c:86147:18: */ return uintptr(unsafe.Pointer(&nullMem)) } var nullMem = Mem{ /* .flags = */ Fflags: U16(MEM_Null), -} /* sqlite3.c:86144:20 */ +} /* sqlite3.c:86157:20 */ // Check to see if column iCol of the given statement is valid. If // it is, return a pointer to the Mem for the value of that column. // If iCol is not valid, return a pointer to a Mem which has a value // of NULL. -func columnMem(tls *libc.TLS, pStmt uintptr, i int32) uintptr { /* sqlite3.c:86174:12: */ +func columnMem(tls *libc.TLS, pStmt uintptr, i int32) uintptr { /* sqlite3.c:86187:12: */ var pVm uintptr var pOut uintptr @@ -62788,7 +62807,7 @@ func columnMem(tls *libc.TLS, pStmt uintptr, i int32) uintptr { /* sqlite3.c:861 // sqlite3_column_bytes() // sqlite3_column_bytes16() // sqiite3_column_blob() -func columnMallocFailure(tls *libc.TLS, pStmt uintptr) { /* sqlite3.c:86209:13: */ +func columnMallocFailure(tls *libc.TLS, pStmt uintptr) { /* sqlite3.c:86222:13: */ // If malloc() failed during an encoding conversion within an // sqlite3_column_XXX API, then set the return code of the statement to // SQLITE_NOMEM. The next call to _step() (if any) will return SQLITE_ERROR @@ -62805,7 +62824,7 @@ func columnMallocFailure(tls *libc.TLS, pStmt uintptr) { /* sqlite3.c:86209:13: // // The following routines are used to access elements of the current row // in the result set. -func Xsqlite3_column_blob(tls *libc.TLS, pStmt uintptr, i int32) uintptr { /* sqlite3.c:86229:23: */ +func Xsqlite3_column_blob(tls *libc.TLS, pStmt uintptr, i int32) uintptr { /* sqlite3.c:86242:23: */ var val uintptr val = Xsqlite3_value_blob(tls, columnMem(tls, pStmt, i)) // Even though there is no encoding conversion, value_blob() might @@ -62815,43 +62834,43 @@ func Xsqlite3_column_blob(tls *libc.TLS, pStmt uintptr, i int32) uintptr { /* sq return val } -func Xsqlite3_column_bytes(tls *libc.TLS, pStmt uintptr, i int32) int32 { /* sqlite3.c:86239:16: */ +func Xsqlite3_column_bytes(tls *libc.TLS, pStmt uintptr, i int32) int32 { /* sqlite3.c:86252:16: */ var val int32 = Xsqlite3_value_bytes(tls, columnMem(tls, pStmt, i)) columnMallocFailure(tls, pStmt) return val } -func Xsqlite3_column_bytes16(tls *libc.TLS, pStmt uintptr, i int32) int32 { /* sqlite3.c:86244:16: */ +func Xsqlite3_column_bytes16(tls *libc.TLS, pStmt uintptr, i int32) int32 { /* sqlite3.c:86257:16: */ var val int32 = Xsqlite3_value_bytes16(tls, columnMem(tls, pStmt, i)) columnMallocFailure(tls, pStmt) return val } -func Xsqlite3_column_double(tls *libc.TLS, pStmt uintptr, i int32) float64 { /* sqlite3.c:86249:19: */ +func Xsqlite3_column_double(tls *libc.TLS, pStmt uintptr, i int32) float64 { /* sqlite3.c:86262:19: */ var val float64 = Xsqlite3_value_double(tls, columnMem(tls, pStmt, i)) columnMallocFailure(tls, pStmt) return val } -func Xsqlite3_column_int(tls *libc.TLS, pStmt uintptr, i int32) int32 { /* sqlite3.c:86254:16: */ +func Xsqlite3_column_int(tls *libc.TLS, pStmt uintptr, i int32) int32 { /* sqlite3.c:86267:16: */ var val int32 = Xsqlite3_value_int(tls, columnMem(tls, pStmt, i)) columnMallocFailure(tls, pStmt) return val } -func Xsqlite3_column_int64(tls *libc.TLS, pStmt uintptr, i int32) Sqlite_int64 { /* sqlite3.c:86259:25: */ +func Xsqlite3_column_int64(tls *libc.TLS, pStmt uintptr, i int32) Sqlite_int64 { /* sqlite3.c:86272:25: */ var val Sqlite_int64 = Xsqlite3_value_int64(tls, columnMem(tls, pStmt, i)) columnMallocFailure(tls, pStmt) return val } -func Xsqlite3_column_text(tls *libc.TLS, pStmt uintptr, i int32) uintptr { /* sqlite3.c:86264:32: */ +func Xsqlite3_column_text(tls *libc.TLS, pStmt uintptr, i int32) uintptr { /* sqlite3.c:86277:32: */ var val uintptr = Xsqlite3_value_text(tls, columnMem(tls, pStmt, i)) columnMallocFailure(tls, pStmt) return val } -func Xsqlite3_column_value(tls *libc.TLS, pStmt uintptr, i int32) uintptr { /* sqlite3.c:86269:26: */ +func Xsqlite3_column_value(tls *libc.TLS, pStmt uintptr, i int32) uintptr { /* sqlite3.c:86282:26: */ var pOut uintptr = columnMem(tls, pStmt, i) if int32((*Mem)(unsafe.Pointer(pOut)).Fflags)&MEM_Static != 0 { *(*U16)(unsafe.Pointer(pOut + 8)) &= libc.Uint16FromInt32(libc.CplInt32(MEM_Static)) @@ -62861,13 +62880,13 @@ func Xsqlite3_column_value(tls *libc.TLS, pStmt uintptr, i int32) uintptr { /* s return pOut } -func Xsqlite3_column_text16(tls *libc.TLS, pStmt uintptr, i int32) uintptr { /* sqlite3.c:86279:23: */ +func Xsqlite3_column_text16(tls *libc.TLS, pStmt uintptr, i int32) uintptr { /* sqlite3.c:86292:23: */ var val uintptr = Xsqlite3_value_text16(tls, columnMem(tls, pStmt, i)) columnMallocFailure(tls, pStmt) return val } -func Xsqlite3_column_type(tls *libc.TLS, pStmt uintptr, i int32) int32 { /* sqlite3.c:86285:16: */ +func Xsqlite3_column_type(tls *libc.TLS, pStmt uintptr, i int32) int32 { /* sqlite3.c:86298:16: */ var iType int32 = Xsqlite3_value_type(tls, columnMem(tls, pStmt, i)) columnMallocFailure(tls, pStmt) return iType @@ -62887,7 +62906,7 @@ func Xsqlite3_column_type(tls *libc.TLS, pStmt uintptr, i int32) int32 { /* sqli // // If the result is not a simple column reference (if it is an expression // or a constant) then useTypes 2, 3, and 4 return NULL. -func columnName(tls *libc.TLS, pStmt uintptr, N int32, useUtf16 int32, useType int32) uintptr { /* sqlite3.c:86307:19: */ +func columnName(tls *libc.TLS, pStmt uintptr, N int32, useUtf16 int32, useType int32) uintptr { /* sqlite3.c:86320:19: */ var ret uintptr var p uintptr var n int32 @@ -62919,11 +62938,11 @@ func columnName(tls *libc.TLS, pStmt uintptr, N int32, useUtf16 int32, useType i // Return the name of the Nth column of the result set returned by SQL // statement pStmt. -func Xsqlite3_column_name(tls *libc.TLS, pStmt uintptr, N int32) uintptr { /* sqlite3.c:86356:23: */ +func Xsqlite3_column_name(tls *libc.TLS, pStmt uintptr, N int32) uintptr { /* sqlite3.c:86369:23: */ return columnName(tls, pStmt, N, 0, COLNAME_NAME) } -func Xsqlite3_column_name16(tls *libc.TLS, pStmt uintptr, N int32) uintptr { /* sqlite3.c:86360:23: */ +func Xsqlite3_column_name16(tls *libc.TLS, pStmt uintptr, N int32) uintptr { /* sqlite3.c:86373:23: */ return columnName(tls, pStmt, N, 1, COLNAME_NAME) } @@ -62932,44 +62951,44 @@ func Xsqlite3_column_name16(tls *libc.TLS, pStmt uintptr, N int32) uintptr { /* // Return the column declaration type (if applicable) of the 'i'th column // of the result set of SQL statement pStmt. -func Xsqlite3_column_decltype(tls *libc.TLS, pStmt uintptr, N int32) uintptr { /* sqlite3.c:86379:23: */ +func Xsqlite3_column_decltype(tls *libc.TLS, pStmt uintptr, N int32) uintptr { /* sqlite3.c:86392:23: */ return columnName(tls, pStmt, N, 0, COLNAME_DECLTYPE) } -func Xsqlite3_column_decltype16(tls *libc.TLS, pStmt uintptr, N int32) uintptr { /* sqlite3.c:86383:23: */ +func Xsqlite3_column_decltype16(tls *libc.TLS, pStmt uintptr, N int32) uintptr { /* sqlite3.c:86396:23: */ return columnName(tls, pStmt, N, 1, COLNAME_DECLTYPE) } // Return the name of the database from which a result column derives. // NULL is returned if the result column is an expression or constant or // anything else which is not an unambiguous reference to a database column. -func Xsqlite3_column_database_name(tls *libc.TLS, pStmt uintptr, N int32) uintptr { /* sqlite3.c:86395:23: */ +func Xsqlite3_column_database_name(tls *libc.TLS, pStmt uintptr, N int32) uintptr { /* sqlite3.c:86408:23: */ return columnName(tls, pStmt, N, 0, COLNAME_DATABASE) } -func Xsqlite3_column_database_name16(tls *libc.TLS, pStmt uintptr, N int32) uintptr { /* sqlite3.c:86399:23: */ +func Xsqlite3_column_database_name16(tls *libc.TLS, pStmt uintptr, N int32) uintptr { /* sqlite3.c:86412:23: */ return columnName(tls, pStmt, N, 1, COLNAME_DATABASE) } // Return the name of the table from which a result column derives. // NULL is returned if the result column is an expression or constant or // anything else which is not an unambiguous reference to a database column. -func Xsqlite3_column_table_name(tls *libc.TLS, pStmt uintptr, N int32) uintptr { /* sqlite3.c:86409:23: */ +func Xsqlite3_column_table_name(tls *libc.TLS, pStmt uintptr, N int32) uintptr { /* sqlite3.c:86422:23: */ return columnName(tls, pStmt, N, 0, COLNAME_TABLE) } -func Xsqlite3_column_table_name16(tls *libc.TLS, pStmt uintptr, N int32) uintptr { /* sqlite3.c:86413:23: */ +func Xsqlite3_column_table_name16(tls *libc.TLS, pStmt uintptr, N int32) uintptr { /* sqlite3.c:86426:23: */ return columnName(tls, pStmt, N, 1, COLNAME_TABLE) } // Return the name of the table column from which a result column derives. // NULL is returned if the result column is an expression or constant or // anything else which is not an unambiguous reference to a database column. -func Xsqlite3_column_origin_name(tls *libc.TLS, pStmt uintptr, N int32) uintptr { /* sqlite3.c:86423:23: */ +func Xsqlite3_column_origin_name(tls *libc.TLS, pStmt uintptr, N int32) uintptr { /* sqlite3.c:86436:23: */ return columnName(tls, pStmt, N, 0, COLNAME_COLUMN) } -func Xsqlite3_column_origin_name16(tls *libc.TLS, pStmt uintptr, N int32) uintptr { /* sqlite3.c:86427:23: */ +func Xsqlite3_column_origin_name16(tls *libc.TLS, pStmt uintptr, N int32) uintptr { /* sqlite3.c:86440:23: */ return columnName(tls, pStmt, N, 1, COLNAME_COLUMN) } @@ -62986,13 +63005,13 @@ func Xsqlite3_column_origin_name16(tls *libc.TLS, pStmt uintptr, N int32) uintpt // // The error code stored in database p->db is overwritten with the return // value in any case. -func vdbeUnbind(tls *libc.TLS, p uintptr, i int32) int32 { /* sqlite3.c:86449:12: */ +func vdbeUnbind(tls *libc.TLS, p uintptr, i int32) int32 { /* sqlite3.c:86462:12: */ bp := tls.Alloc(8) defer tls.Free(8) var pVar uintptr if vdbeSafetyNotNull(tls, p) != 0 { - return Xsqlite3MisuseError(tls, 86452) + return Xsqlite3MisuseError(tls, 86465) } Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer((*Vdbe)(unsafe.Pointer(p)).Fdb)).Fmutex) if (*Vdbe)(unsafe.Pointer(p)).FiVdbeMagic != U32(VDBE_MAGIC_RUN) || (*Vdbe)(unsafe.Pointer(p)).Fpc >= 0 { @@ -63000,7 +63019,7 @@ func vdbeUnbind(tls *libc.TLS, p uintptr, i int32) int32 { /* sqlite3.c:86449:12 Xsqlite3_mutex_leave(tls, (*Sqlite3)(unsafe.Pointer((*Vdbe)(unsafe.Pointer(p)).Fdb)).Fmutex) Xsqlite3_log(tls, SQLITE_MISUSE, ts+5309, libc.VaList(bp, (*Vdbe)(unsafe.Pointer(p)).FzSql)) - return Xsqlite3MisuseError(tls, 86460) + return Xsqlite3MisuseError(tls, 86473) } if i < 1 || i > int32((*Vdbe)(unsafe.Pointer(p)).FnVar) { Xsqlite3Error(tls, (*Vdbe)(unsafe.Pointer(p)).Fdb, SQLITE_RANGE) @@ -63034,7 +63053,7 @@ func vdbeUnbind(tls *libc.TLS, p uintptr, i int32) int32 { /* sqlite3.c:86449:12 } // Bind a text or BLOB value. -func bindText(tls *libc.TLS, pStmt uintptr, i int32, zData uintptr, nData I64, xDel uintptr, encoding U8) int32 { /* sqlite3.c:86492:12: */ +func bindText(tls *libc.TLS, pStmt uintptr, i int32, zData uintptr, nData I64, xDel uintptr, encoding U8) int32 { /* sqlite3.c:86505:12: */ var p uintptr = pStmt var pVar uintptr var rc int32 @@ -63060,16 +63079,16 @@ func bindText(tls *libc.TLS, pStmt uintptr, i int32, zData uintptr, nData I64, x } // 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) int32 { /* sqlite3.c:86528:16: */ +func Xsqlite3_bind_blob(tls *libc.TLS, pStmt uintptr, i int32, zData uintptr, nData int32, xDel uintptr) int32 { /* sqlite3.c:86541:16: */ return bindText(tls, pStmt, i, zData, int64(nData), xDel, uint8(0)) } -func Xsqlite3_bind_blob64(tls *libc.TLS, pStmt uintptr, i int32, zData uintptr, nData Sqlite3_uint64, xDel uintptr) int32 { /* sqlite3.c:86540:16: */ +func Xsqlite3_bind_blob64(tls *libc.TLS, pStmt uintptr, i int32, zData uintptr, nData Sqlite3_uint64, xDel uintptr) int32 { /* sqlite3.c:86553:16: */ return bindText(tls, pStmt, i, zData, int64(nData), xDel, uint8(0)) } -func Xsqlite3_bind_double(tls *libc.TLS, pStmt uintptr, i int32, rValue float64) int32 { /* sqlite3.c:86550:16: */ +func Xsqlite3_bind_double(tls *libc.TLS, pStmt uintptr, i int32, rValue float64) int32 { /* sqlite3.c:86563:16: */ var rc int32 var p uintptr = pStmt rc = vdbeUnbind(tls, p, i) @@ -63080,11 +63099,11 @@ func Xsqlite3_bind_double(tls *libc.TLS, pStmt uintptr, i int32, rValue float64) return rc } -func Xsqlite3_bind_int(tls *libc.TLS, p uintptr, i int32, iValue int32) int32 { /* sqlite3.c:86560:16: */ +func Xsqlite3_bind_int(tls *libc.TLS, p uintptr, i int32, iValue int32) int32 { /* sqlite3.c:86573:16: */ return Xsqlite3_bind_int64(tls, p, i, I64(iValue)) } -func Xsqlite3_bind_int64(tls *libc.TLS, pStmt uintptr, i int32, iValue Sqlite_int64) int32 { /* sqlite3.c:86563:16: */ +func Xsqlite3_bind_int64(tls *libc.TLS, pStmt uintptr, i int32, iValue Sqlite_int64) int32 { /* sqlite3.c:86576:16: */ var rc int32 var p uintptr = pStmt rc = vdbeUnbind(tls, p, i) @@ -63095,7 +63114,7 @@ func Xsqlite3_bind_int64(tls *libc.TLS, pStmt uintptr, i int32, iValue Sqlite_in return rc } -func Xsqlite3_bind_null(tls *libc.TLS, pStmt uintptr, i int32) int32 { /* sqlite3.c:86573:16: */ +func Xsqlite3_bind_null(tls *libc.TLS, pStmt uintptr, i int32) int32 { /* sqlite3.c:86586:16: */ var rc int32 var p uintptr = pStmt rc = vdbeUnbind(tls, p, i) @@ -63105,7 +63124,7 @@ func Xsqlite3_bind_null(tls *libc.TLS, pStmt uintptr, i int32) int32 { /* sqlite return rc } -func Xsqlite3_bind_pointer(tls *libc.TLS, pStmt uintptr, i int32, pPtr uintptr, zPTtype uintptr, xDestructor uintptr) int32 { /* sqlite3.c:86582:16: */ +func Xsqlite3_bind_pointer(tls *libc.TLS, pStmt uintptr, i int32, pPtr uintptr, zPTtype uintptr, xDestructor uintptr) int32 { /* sqlite3.c:86595:16: */ var rc int32 var p uintptr = pStmt rc = vdbeUnbind(tls, p, i) @@ -63118,11 +63137,11 @@ func Xsqlite3_bind_pointer(tls *libc.TLS, pStmt uintptr, i int32, pPtr uintptr, return rc } -func Xsqlite3_bind_text(tls *libc.TLS, pStmt uintptr, i int32, zData uintptr, nData int32, xDel uintptr) int32 { /* sqlite3.c:86600:16: */ +func Xsqlite3_bind_text(tls *libc.TLS, pStmt uintptr, i int32, zData uintptr, nData int32, xDel uintptr) int32 { /* sqlite3.c:86613:16: */ return bindText(tls, pStmt, i, zData, int64(nData), xDel, uint8(SQLITE_UTF8)) } -func Xsqlite3_bind_text64(tls *libc.TLS, pStmt uintptr, i int32, zData uintptr, nData Sqlite3_uint64, xDel uintptr, enc uint8) int32 { /* sqlite3.c:86609:16: */ +func Xsqlite3_bind_text64(tls *libc.TLS, pStmt uintptr, i int32, zData uintptr, nData Sqlite3_uint64, xDel uintptr, enc uint8) int32 { /* sqlite3.c:86622:16: */ if int32(enc) == SQLITE_UTF16 { enc = func() uint8 { @@ -63135,7 +63154,7 @@ func Xsqlite3_bind_text64(tls *libc.TLS, pStmt uintptr, i int32, zData uintptr, return bindText(tls, pStmt, i, zData, int64(nData), xDel, enc) } -func Xsqlite3_bind_text16(tls *libc.TLS, pStmt uintptr, i int32, zData uintptr, nData int32, xDel uintptr) int32 { /* sqlite3.c:86622:16: */ +func Xsqlite3_bind_text16(tls *libc.TLS, pStmt uintptr, i int32, zData uintptr, nData int32, xDel uintptr) int32 { /* sqlite3.c:86635:16: */ return bindText(tls, pStmt, i, zData, int64(nData), xDel, func() uint8 { if int32(*(*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer(&Xsqlite3one))))) == 0 { return uint8(SQLITE_UTF16BE) @@ -63144,7 +63163,7 @@ func Xsqlite3_bind_text16(tls *libc.TLS, pStmt uintptr, i int32, zData uintptr, }()) } -func Xsqlite3_bind_value(tls *libc.TLS, pStmt uintptr, i int32, pValue uintptr) int32 { /* sqlite3.c:86632:16: */ +func Xsqlite3_bind_value(tls *libc.TLS, pStmt uintptr, i int32, pValue uintptr) int32 { /* sqlite3.c:86645:16: */ var rc int32 switch Xsqlite3_value_type(tls, pValue) { case SQLITE_INTEGER: @@ -63193,7 +63212,7 @@ func Xsqlite3_bind_value(tls *libc.TLS, pStmt uintptr, i int32, pValue uintptr) return rc } -func Xsqlite3_bind_zeroblob(tls *libc.TLS, pStmt uintptr, i int32, n int32) int32 { /* sqlite3.c:86666:16: */ +func Xsqlite3_bind_zeroblob(tls *libc.TLS, pStmt uintptr, i int32, n int32) int32 { /* sqlite3.c:86679:16: */ var rc int32 var p uintptr = pStmt rc = vdbeUnbind(tls, p, i) @@ -63204,7 +63223,7 @@ func Xsqlite3_bind_zeroblob(tls *libc.TLS, pStmt uintptr, i int32, n int32) int3 return rc } -func Xsqlite3_bind_zeroblob64(tls *libc.TLS, pStmt uintptr, i int32, n Sqlite3_uint64) int32 { /* sqlite3.c:86680:16: */ +func Xsqlite3_bind_zeroblob64(tls *libc.TLS, pStmt uintptr, i int32, n Sqlite3_uint64) int32 { /* sqlite3.c:86693:16: */ var rc int32 var p uintptr = pStmt Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer((*Vdbe)(unsafe.Pointer(p)).Fdb)).Fmutex) @@ -63221,7 +63240,7 @@ func Xsqlite3_bind_zeroblob64(tls *libc.TLS, pStmt uintptr, i int32, n Sqlite3_u // Return the number of wildcards that can be potentially bound to. // This routine is added to support DBD::SQLite. -func Xsqlite3_bind_parameter_count(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:86699:16: */ +func Xsqlite3_bind_parameter_count(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:86712:16: */ var p uintptr = pStmt if p != 0 { return int32((*Vdbe)(unsafe.Pointer(p)).FnVar) @@ -63233,7 +63252,7 @@ func Xsqlite3_bind_parameter_count(tls *libc.TLS, pStmt uintptr) int32 { /* sqli // is out of range or if the wildcard is unnamed. // // The result is always UTF-8. -func Xsqlite3_bind_parameter_name(tls *libc.TLS, pStmt uintptr, i int32) uintptr { /* sqlite3.c:86710:23: */ +func Xsqlite3_bind_parameter_name(tls *libc.TLS, pStmt uintptr, i int32) uintptr { /* sqlite3.c:86723:23: */ var p uintptr = pStmt if p == uintptr(0) { return uintptr(0) @@ -63244,19 +63263,19 @@ func Xsqlite3_bind_parameter_name(tls *libc.TLS, pStmt uintptr, i int32) uintptr // Given a wildcard parameter name, return the index of the variable // with that name. If there is no variable with the given name, // return 0. -func Xsqlite3VdbeParameterIndex(tls *libc.TLS, p uintptr, zName uintptr, nName int32) int32 { /* sqlite3.c:86721:20: */ +func Xsqlite3VdbeParameterIndex(tls *libc.TLS, p uintptr, zName uintptr, nName int32) int32 { /* sqlite3.c:86734:20: */ if p == uintptr(0) || zName == uintptr(0) { return 0 } return Xsqlite3VListNameToNum(tls, (*Vdbe)(unsafe.Pointer(p)).FpVList, zName, nName) } -func Xsqlite3_bind_parameter_index(tls *libc.TLS, pStmt uintptr, zName uintptr) int32 { /* sqlite3.c:86725:16: */ +func Xsqlite3_bind_parameter_index(tls *libc.TLS, pStmt uintptr, zName uintptr) int32 { /* sqlite3.c:86738:16: */ return Xsqlite3VdbeParameterIndex(tls, pStmt, zName, Xsqlite3Strlen30(tls, zName)) } // Transfer all bindings from the first statement over to the second. -func Xsqlite3TransferBindings(tls *libc.TLS, pFromStmt uintptr, pToStmt uintptr) int32 { /* sqlite3.c:86732:20: */ +func Xsqlite3TransferBindings(tls *libc.TLS, pFromStmt uintptr, pToStmt uintptr) int32 { /* sqlite3.c:86745:20: */ var pFrom uintptr = pFromStmt var pTo uintptr = pToStmt var i int32 @@ -63279,7 +63298,7 @@ func Xsqlite3TransferBindings(tls *libc.TLS, pFromStmt uintptr, pToStmt uintptr) // If the two statements contain a different number of bindings, then // an SQLITE_ERROR is returned. Nothing else can go wrong, so otherwise // SQLITE_OK is returned. -func Xsqlite3_transfer_bindings(tls *libc.TLS, pFromStmt uintptr, pToStmt uintptr) int32 { /* sqlite3.c:86759:16: */ +func Xsqlite3_transfer_bindings(tls *libc.TLS, pFromStmt uintptr, pToStmt uintptr) int32 { /* sqlite3.c:86772:16: */ var pFrom uintptr = pFromStmt var pTo uintptr = pToStmt if int32((*Vdbe)(unsafe.Pointer(pFrom)).FnVar) != int32((*Vdbe)(unsafe.Pointer(pTo)).FnVar) { @@ -63300,7 +63319,7 @@ func Xsqlite3_transfer_bindings(tls *libc.TLS, pFromStmt uintptr, pToStmt uintpt // in the argument belongs. This is the same database handle that was // the first argument to the sqlite3_prepare() that was used to create // the statement in the first place. -func Xsqlite3_db_handle(tls *libc.TLS, pStmt uintptr) uintptr { /* sqlite3.c:86783:20: */ +func Xsqlite3_db_handle(tls *libc.TLS, pStmt uintptr) uintptr { /* sqlite3.c:86796:20: */ if pStmt != 0 { return (*Vdbe)(unsafe.Pointer(pStmt)).Fdb } @@ -63309,7 +63328,7 @@ func Xsqlite3_db_handle(tls *libc.TLS, pStmt uintptr) uintptr { /* sqlite3.c:867 // Return true if the prepared statement is guaranteed to not modify the // database. -func Xsqlite3_stmt_readonly(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:86791:16: */ +func Xsqlite3_stmt_readonly(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:86804:16: */ if pStmt != 0 { return int32(*(*uint16)(unsafe.Pointer(pStmt + 208)) & 0x80 >> 7) } @@ -63318,7 +63337,7 @@ func Xsqlite3_stmt_readonly(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:8 // Return 1 if the statement is an EXPLAIN and return 2 if the // statement is an EXPLAIN QUERY PLAN -func Xsqlite3_stmt_isexplain(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:86799:16: */ +func Xsqlite3_stmt_isexplain(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:86812:16: */ if pStmt != 0 { return int32(*(*uint16)(unsafe.Pointer(pStmt + 208)) & 0xc >> 2) } @@ -63326,7 +63345,7 @@ func Xsqlite3_stmt_isexplain(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c: } // Return true if the prepared statement is in need of being reset. -func Xsqlite3_stmt_busy(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:86806:16: */ +func Xsqlite3_stmt_busy(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:86819:16: */ var v uintptr = pStmt return libc.Bool32(v != uintptr(0) && (*Vdbe)(unsafe.Pointer(v)).FiVdbeMagic == U32(VDBE_MAGIC_RUN) && (*Vdbe)(unsafe.Pointer(v)).Fpc >= 0) } @@ -63335,7 +63354,7 @@ func Xsqlite3_stmt_busy(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:86806 // with database connection pDb. If pStmt is NULL, return the first // prepared statement for the database connection. Return NULL if there // are no more. -func Xsqlite3_next_stmt(tls *libc.TLS, pDb uintptr, pStmt uintptr) uintptr { /* sqlite3.c:86817:25: */ +func Xsqlite3_next_stmt(tls *libc.TLS, pDb uintptr, pStmt uintptr) uintptr { /* sqlite3.c:86830:25: */ var pNext uintptr Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(pDb)).Fmutex) if pStmt == uintptr(0) { @@ -63348,7 +63367,7 @@ func Xsqlite3_next_stmt(tls *libc.TLS, pDb uintptr, pStmt uintptr) uintptr { /* } // Return the value of a status counter for a prepared statement -func Xsqlite3_stmt_status(tls *libc.TLS, pStmt uintptr, op int32, resetFlag int32) int32 { /* sqlite3.c:86838:16: */ +func Xsqlite3_stmt_status(tls *libc.TLS, pStmt uintptr, op int32, resetFlag int32) int32 { /* sqlite3.c:86851:16: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -63374,7 +63393,7 @@ func Xsqlite3_stmt_status(tls *libc.TLS, pStmt uintptr, op int32, resetFlag int3 } // Return the SQL associated with a prepared statement -func Xsqlite3_sql(tls *libc.TLS, pStmt uintptr) uintptr { /* sqlite3.c:86868:23: */ +func Xsqlite3_sql(tls *libc.TLS, pStmt uintptr) uintptr { /* sqlite3.c:86881:23: */ var p uintptr = pStmt if p != 0 { return (*Vdbe)(unsafe.Pointer(p)).FzSql @@ -63389,7 +63408,7 @@ func Xsqlite3_sql(tls *libc.TLS, pStmt uintptr) uintptr { /* sqlite3.c:86868:23: // // The SQLITE_TRACE_SIZE_LIMIT puts an upper bound on the size of // expanded bound parameters. -func Xsqlite3_expanded_sql(tls *libc.TLS, pStmt uintptr) uintptr { /* sqlite3.c:86882:17: */ +func Xsqlite3_expanded_sql(tls *libc.TLS, pStmt uintptr) uintptr { /* sqlite3.c:86895:17: */ var z uintptr = uintptr(0) var zSql uintptr = Xsqlite3_sql(tls, pStmt) if zSql != 0 { @@ -63404,7 +63423,7 @@ func Xsqlite3_expanded_sql(tls *libc.TLS, pStmt uintptr) uintptr { /* sqlite3.c: // Allocate and populate an UnpackedRecord structure based on the serialized // record in nKey/pKey. Return a pointer to the new UnpackedRecord structure // if successful, or a NULL pointer if an OOM error is encountered. -func vdbeUnpackRecord(tls *libc.TLS, pKeyInfo uintptr, nKey int32, pKey uintptr) uintptr { /* sqlite3.c:86920:23: */ +func vdbeUnpackRecord(tls *libc.TLS, pKeyInfo uintptr, nKey int32, pKey uintptr) uintptr { /* sqlite3.c:86933:23: */ var pRet uintptr // Return value pRet = Xsqlite3VdbeAllocUnpackedRecord(tls, pKeyInfo) @@ -63417,7 +63436,7 @@ func vdbeUnpackRecord(tls *libc.TLS, pKeyInfo uintptr, nKey int32, pKey uintptr) // This function is called from within a pre-update callback to retrieve // a field of the row currently being updated or deleted. -func Xsqlite3_preupdate_old(tls *libc.TLS, db uintptr, iIdx int32, ppValue uintptr) int32 { /* sqlite3.c:86939:16: */ +func Xsqlite3_preupdate_old(tls *libc.TLS, db uintptr, iIdx int32, ppValue uintptr) int32 { /* sqlite3.c:86952:16: */ var p uintptr var pMem uintptr var rc int32 @@ -63431,7 +63450,7 @@ func Xsqlite3_preupdate_old(tls *libc.TLS, db uintptr, iIdx int32, ppValue uintp if !(!(p != 0) || (*PreUpdate)(unsafe.Pointer(p)).Fop == SQLITE_INSERT) { goto __1 } - rc = Xsqlite3MisuseError(tls, 86947) + rc = Xsqlite3MisuseError(tls, 86960) goto preupdate_old_out __1: ; @@ -63523,7 +63542,7 @@ preupdate_old_out: // This function is called from within a pre-update callback to retrieve // the number of columns in the row being updated, deleted or inserted. -func Xsqlite3_preupdate_count(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:87003:16: */ +func Xsqlite3_preupdate_count(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:87016:16: */ var p uintptr = (*Sqlite3)(unsafe.Pointer(db)).FpPreUpdate return func() int32 { if p != 0 { @@ -63542,7 +63561,7 @@ func Xsqlite3_preupdate_count(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:87 // // For the purposes of the previous paragraph, a foreign key CASCADE, SET NULL // or SET DEFAULT action is considered a trigger. -func Xsqlite3_preupdate_depth(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:87021:16: */ +func Xsqlite3_preupdate_depth(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:87034:16: */ var p uintptr = (*Sqlite3)(unsafe.Pointer(db)).FpPreUpdate return func() int32 { if p != 0 { @@ -63554,7 +63573,7 @@ func Xsqlite3_preupdate_depth(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:87 // This function is designed to be called from within a pre-update callback // only. -func Xsqlite3_preupdate_blobwrite(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:87032:16: */ +func Xsqlite3_preupdate_blobwrite(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:87045:16: */ var p uintptr = (*Sqlite3)(unsafe.Pointer(db)).FpPreUpdate return func() int32 { if p != 0 { @@ -63566,7 +63585,7 @@ func Xsqlite3_preupdate_blobwrite(tls *libc.TLS, db uintptr) int32 { /* sqlite3. // This function is called from within a pre-update callback to retrieve // a field of the row currently being updated or inserted. -func Xsqlite3_preupdate_new(tls *libc.TLS, db uintptr, iIdx int32, ppValue uintptr) int32 { /* sqlite3.c:87043:16: */ +func Xsqlite3_preupdate_new(tls *libc.TLS, db uintptr, iIdx int32, ppValue uintptr) int32 { /* sqlite3.c:87056:16: */ var p uintptr var rc int32 var pMem uintptr @@ -63580,7 +63599,7 @@ func Xsqlite3_preupdate_new(tls *libc.TLS, db uintptr, iIdx int32, ppValue uintp if !(!(p != 0) || (*PreUpdate)(unsafe.Pointer(p)).Fop == SQLITE_DELETE) { goto __1 } - rc = Xsqlite3MisuseError(tls, 87049) + rc = Xsqlite3MisuseError(tls, 87062) goto preupdate_new_out __1: ; @@ -63721,7 +63740,7 @@ preupdate_new_out: // bytes in this text up to but excluding the first character in // a host parameter. If the text contains no host parameters, return // the total number of bytes in the text. -func findNextHostParameter(tls *libc.TLS, zSql uintptr, pnToken uintptr) int32 { /* sqlite3.c:87213:12: */ +func findNextHostParameter(tls *libc.TLS, zSql uintptr, pnToken uintptr) int32 { /* sqlite3.c:87226:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -63766,7 +63785,7 @@ func findNextHostParameter(tls *libc.TLS, zSql uintptr, pnToken uintptr) int32 { // statement for the corresponding OP_Variable opcode. Once the host // parameter index is known, locate the value in p->aVar[]. Then render // the value as a literal in place of the host parameter name. -func Xsqlite3VdbeExpandSql(tls *libc.TLS, p uintptr, zRawSql uintptr) uintptr { /* sqlite3.c:87256:21: */ +func Xsqlite3VdbeExpandSql(tls *libc.TLS, p uintptr, zRawSql uintptr) uintptr { /* sqlite3.c:87269:21: */ bp := tls.Alloc(144) defer tls.Free(144) @@ -63989,7 +64008,7 @@ func Xsqlite3VdbeExpandSql(tls *libc.TLS, p uintptr, zRawSql uintptr) uintptr { // Allocate VdbeCursor number iCur. Return a pointer to it. Return NULL // if we run out of memory. -func allocateCursor(tls *libc.TLS, p uintptr, iCur int32, nField int32, eCurType U8) uintptr { /* sqlite3.c:87619:19: */ +func allocateCursor(tls *libc.TLS, p uintptr, iCur int32, nField int32, eCurType U8) uintptr { /* sqlite3.c:87632:19: */ // Find the memory cell that will be used to store the blob of memory // required for this VdbeCursor structure. It is convenient to use a // vdbe memory cell to manage the memory allocation required for a @@ -64060,7 +64079,7 @@ func allocateCursor(tls *libc.TLS, p uintptr, iCur int32, nField int32, eCurType // floating point value of rValue. Return true and set *piValue to the // integer value if the string is in range to be an integer. Otherwise, // return false. -func alsoAnInt(tls *libc.TLS, pRec uintptr, rValue float64, piValue uintptr) int32 { /* sqlite3.c:87695:12: */ +func alsoAnInt(tls *libc.TLS, pRec uintptr, rValue float64, piValue uintptr) int32 { /* sqlite3.c:87708:12: */ var iValue I64 = I64(rValue) if Xsqlite3RealSameAsInt(tls, rValue, iValue) != 0 { *(*I64)(unsafe.Pointer(piValue)) = iValue @@ -64082,7 +64101,7 @@ func alsoAnInt(tls *libc.TLS, pRec uintptr, rValue float64, piValue uintptr) int // If bTryForInt is false, then if the input string contains a decimal // point or exponential notation, the result is only MEM_Real, even // if there is an exact integer representation of the quantity. -func applyNumericAffinity(tls *libc.TLS, pRec uintptr, bTryForInt int32) { /* sqlite3.c:87719:13: */ +func applyNumericAffinity(tls *libc.TLS, pRec uintptr, bTryForInt int32) { /* sqlite3.c:87732:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -64128,7 +64147,7 @@ func applyNumericAffinity(tls *libc.TLS, pRec uintptr, bTryForInt int32) { /* sq // SQLITE_AFF_BLOB: // SQLITE_AFF_NONE: // No-op. pRec is unchanged. -func applyAffinity(tls *libc.TLS, pRec uintptr, affinity uint8, enc U8) { /* sqlite3.c:87759:13: */ +func applyAffinity(tls *libc.TLS, pRec uintptr, affinity uint8, enc U8) { /* sqlite3.c:87772:13: */ if int32(affinity) >= SQLITE_AFF_NUMERIC { if int32((*Mem)(unsafe.Pointer(pRec)).Fflags)&MEM_Int == 0 { //OPTIMIZATION-IF-FALSE @@ -64160,7 +64179,7 @@ func applyAffinity(tls *libc.TLS, pRec uintptr, affinity uint8, enc U8) { /* sql // into a numeric representation. Use either INTEGER or REAL whichever // is appropriate. But only do the conversion if it is possible without // loss of information and return the revised type of the argument. -func Xsqlite3_value_numeric_type(tls *libc.TLS, pVal uintptr) int32 { /* sqlite3.c:87798:16: */ +func Xsqlite3_value_numeric_type(tls *libc.TLS, pVal uintptr) int32 { /* sqlite3.c:87811:16: */ var eType int32 = Xsqlite3_value_type(tls, pVal) if eType == SQLITE_TEXT { var pMem uintptr = pVal @@ -64172,7 +64191,7 @@ func Xsqlite3_value_numeric_type(tls *libc.TLS, pVal uintptr) int32 { /* sqlite3 // Exported version of applyAffinity(). This one works on sqlite3_value*, // not the internal Mem* type. -func Xsqlite3ValueApplyAffinity(tls *libc.TLS, pVal uintptr, affinity U8, enc U8) { /* sqlite3.c:87812:21: */ +func Xsqlite3ValueApplyAffinity(tls *libc.TLS, pVal uintptr, affinity U8, enc U8) { /* sqlite3.c:87825:21: */ applyAffinity(tls, pVal, uint8(affinity), enc) } @@ -64180,7 +64199,7 @@ func Xsqlite3ValueApplyAffinity(tls *libc.TLS, pVal uintptr, affinity U8, enc U8 // interpret as a string if we want to). Compute its corresponding // numeric type, if has one. Set the pMem->u.r and pMem->u.i fields // accordingly. -func computeNumericType(tls *libc.TLS, pMem uintptr) U16 { /* sqlite3.c:87826:28: */ +func computeNumericType(tls *libc.TLS, pMem uintptr) U16 { /* sqlite3.c:87839:28: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -64216,7 +64235,7 @@ func computeNumericType(tls *libc.TLS, pMem uintptr) U16 { /* sqlite3.c:87826:28 // // Unlike applyNumericAffinity(), this routine does not modify pMem->flags. // But it does set pMem->u.r and pMem->u.i appropriately. -func numericType(tls *libc.TLS, pMem uintptr) U16 { /* sqlite3.c:87857:12: */ +func numericType(tls *libc.TLS, pMem uintptr) U16 { /* sqlite3.c:87870:12: */ if int32((*Mem)(unsafe.Pointer(pMem)).Fflags)&(MEM_Int|MEM_Real|MEM_IntReal) != 0 { return U16(int32((*Mem)(unsafe.Pointer(pMem)).Fflags) & (MEM_Int | MEM_Real | MEM_IntReal)) @@ -64230,13 +64249,13 @@ func numericType(tls *libc.TLS, pMem uintptr) U16 { /* sqlite3.c:87857:12: */ // Return the register of pOp->p2 after first preparing it to be // overwritten with an integer value. -func out2PrereleaseWithClear(tls *libc.TLS, pOut uintptr) uintptr { /* sqlite3.c:88032:28: */ +func out2PrereleaseWithClear(tls *libc.TLS, pOut uintptr) uintptr { /* sqlite3.c:88045:28: */ Xsqlite3VdbeMemSetNull(tls, pOut) (*Mem)(unsafe.Pointer(pOut)).Fflags = U16(MEM_Int) return pOut } -func out2Prerelease(tls *libc.TLS, p uintptr, pOp uintptr) uintptr { /* sqlite3.c:88037:12: */ +func out2Prerelease(tls *libc.TLS, p uintptr, pOp uintptr) uintptr { /* sqlite3.c:88050:12: */ var pOut uintptr pOut = (*Vdbe)(unsafe.Pointer(p)).FaMem + uintptr((*VdbeOp)(unsafe.Pointer(pOp)).Fp2)*56 @@ -64252,7 +64271,7 @@ func out2Prerelease(tls *libc.TLS, p uintptr, pOp uintptr) uintptr { /* sqlite3. // Compute a bloom filter hash using pOp->p4.i registers from aMem[] beginning // with pOp->p3. Return the hash. -func filterHash(tls *libc.TLS, aMem uintptr, pOp uintptr) U64 { /* sqlite3.c:88055:12: */ +func filterHash(tls *libc.TLS, aMem uintptr, pOp uintptr) U64 { /* sqlite3.c:88068:12: */ var i int32 var mx int32 var h U64 = uint64(0) @@ -64276,7 +64295,7 @@ func filterHash(tls *libc.TLS, aMem uintptr, pOp uintptr) U64 { /* sqlite3.c:880 } // Return the symbolic name for the data type of a pMem -func vdbeMemTypeName(tls *libc.TLS, pMem uintptr) uintptr { /* sqlite3.c:88077:19: */ +func vdbeMemTypeName(tls *libc.TLS, pMem uintptr) uintptr { /* sqlite3.c:88090:19: */ return azTypes[Xsqlite3_value_type(tls, pMem)-1] } @@ -64286,11 +64305,11 @@ var azTypes = [5]uintptr{ ts + 1103, ts + 1081, ts + 1526, -} /* sqlite3.c:88078:21 */ +} /* sqlite3.c:88091:21 */ // Execute as much of a VDBE program as we can. // This is the core of sqlite3_step(). -func Xsqlite3VdbeExec(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:88092:20: */ +func Xsqlite3VdbeExec(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:88105:20: */ bp := tls.Alloc(976) defer tls.Free(976) @@ -69807,7 +69826,7 @@ op_column_corrupt: goto __8 goto __400 __399: - rc = Xsqlite3CorruptError(tls, 90310) + rc = Xsqlite3CorruptError(tls, 90323) goto abort_due_to_error __400: ; @@ -72302,7 +72321,7 @@ notExistsWithKey: if !((*Op)(unsafe.Pointer(pOp)).Fp2 == 0) { goto __642 } - rc = Xsqlite3CorruptError(tls, 92457) + rc = Xsqlite3CorruptError(tls, 92470) goto __643 __642: goto jump_to_p2 @@ -73464,7 +73483,7 @@ __724: if !((*Op)(unsafe.Pointer(pOp)).Fp5 != 0 && !(Xsqlite3WritableSchema(tls, db) != 0)) { goto __727 } - rc = Xsqlite3ReportError(tls, SQLITE_CORRUPT|int32(3)<<8, 93513, ts+5818) + rc = Xsqlite3ReportError(tls, SQLITE_CORRUPT|int32(3)<<8, 93526, ts+5818) goto abort_due_to_error __727: ; @@ -73656,7 +73675,7 @@ __737: if !(nCellKey <= int64(0) || nCellKey > int64(0x7fffffff)) { goto __738 } - rc = Xsqlite3CorruptError(tls, 93717) + rc = Xsqlite3CorruptError(tls, 93730) goto abort_due_to_error __738: ; @@ -73932,7 +73951,7 @@ __759: // 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 = Xsqlite3CorruptError(tls, 93969) + rc = Xsqlite3CorruptError(tls, 93982) __760: ; Xsqlite3DbFreeNN(tls, db, zSql) @@ -75943,7 +75962,7 @@ __916: if !(rc == SQLITE_IOERR|int32(33)<<8) { goto __918 } - rc = Xsqlite3CorruptError(tls, 95906) + rc = Xsqlite3CorruptError(tls, 95919) __918: ; __917: @@ -76032,11 +76051,11 @@ abort_due_to_interrupt: } var azType = [4]uintptr{ts + 6060, ts + 6069, ts + 6076, - ts + 6082} /* sqlite3.c:88537:25 */ -var and_logic = [9]uint8{uint8(0), uint8(0), uint8(0), uint8(0), uint8(1), uint8(2), uint8(0), uint8(2), uint8(2)} /* sqlite3.c:89761:32 */ -var or_logic = [9]uint8{uint8(0), uint8(1), uint8(2), uint8(1), uint8(1), uint8(1), uint8(2), uint8(1), uint8(2)} /* sqlite3.c:89764:32 */ -var aFlag1 = [2]U16{U16(MEM_Blob), U16(MEM_Str | MEM_Term)} /* sqlite3.c:90257:24 */ -var vfsFlags int32 = SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE | SQLITE_OPEN_EXCLUSIVE | SQLITE_OPEN_DELETEONCLOSE | SQLITE_OPEN_TRANSIENT_DB /* sqlite3.c:91512:20 */ + ts + 6082} /* sqlite3.c:88550:25 */ +var and_logic = [9]uint8{uint8(0), uint8(0), uint8(0), uint8(0), uint8(1), uint8(2), uint8(0), uint8(2), uint8(2)} /* sqlite3.c:89774:32 */ +var or_logic = [9]uint8{uint8(0), uint8(1), uint8(2), uint8(1), uint8(1), uint8(1), uint8(2), uint8(1), uint8(2)} /* sqlite3.c:89777:32 */ +var aFlag1 = [2]U16{U16(MEM_Blob), U16(MEM_Str | MEM_Term)} /* sqlite3.c:90270:24 */ +var vfsFlags int32 = SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE | SQLITE_OPEN_EXCLUSIVE | SQLITE_OPEN_DELETEONCLOSE | SQLITE_OPEN_TRANSIENT_DB /* sqlite3.c:91525:20 */ //************* End of vdbe.c *********************************************** //************* Begin file vdbeblob.c *************************************** @@ -76067,7 +76086,7 @@ type Incrblob1 = struct { Fdb uintptr FzDb uintptr FpTab uintptr -} /* sqlite3.c:96011:9 */ +} /* sqlite3.c:96024:9 */ //************* End of vdbe.c *********************************************** //************* Begin file vdbeblob.c *************************************** @@ -76088,7 +76107,7 @@ type Incrblob1 = struct { // #include "vdbeInt.h" // Valid sqlite3_blob* handles point to Incrblob structures. -type Incrblob = Incrblob1 /* sqlite3.c:96011:25 */ +type Incrblob = Incrblob1 /* sqlite3.c:96024:25 */ // This function is used by both blob_open() and blob_reopen(). It seeks // the b-tree cursor associated with blob handle p to point to row iRow. @@ -76105,7 +76124,7 @@ type Incrblob = Incrblob1 /* sqlite3.c:96011:25 */ // If an error does occur, then the b-tree cursor is closed. All subsequent // calls to sqlite3_blob_read(), blob_write() or blob_reopen() will // immediately return SQLITE_ABORT. -func blobSeekToRow(tls *libc.TLS, p uintptr, iRow Sqlite3_int64, pzErr uintptr) int32 { /* sqlite3.c:96041:12: */ +func blobSeekToRow(tls *libc.TLS, p uintptr, iRow Sqlite3_int64, pzErr uintptr) int32 { /* sqlite3.c:96054:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -76181,7 +76200,7 @@ func blobSeekToRow(tls *libc.TLS, p uintptr, iRow Sqlite3_int64, pzErr uintptr) } // Open a blob handle. -func Xsqlite3_blob_open(tls *libc.TLS, db uintptr, zDb uintptr, zTable uintptr, zColumn uintptr, iRow Sqlite_int64, wrFlag int32, ppBlob uintptr) int32 { /* sqlite3.c:96109:16: */ +func Xsqlite3_blob_open(tls *libc.TLS, db uintptr, zDb uintptr, zTable uintptr, zColumn uintptr, iRow Sqlite_int64, wrFlag int32, ppBlob uintptr) int32 { /* sqlite3.c:96122:16: */ bp := tls.Alloc(464) defer tls.Free(464) @@ -76502,7 +76521,7 @@ __38: return rc } -var iLn int32 = 0 /* sqlite3.c:96252:24 */ +var iLn int32 = 0 /* sqlite3.c:96265:24 */ var openBlob = [6]VdbeOpList{ {Fopcode: U8(OP_TableLock)}, // 0: Acquire a read or write lock {Fopcode: U8(OP_OpenRead)}, // 1: Open a cursor @@ -76511,11 +76530,11 @@ var openBlob = [6]VdbeOpList{ {Fopcode: U8(OP_Column), Fp3: int8(1)}, // 3 {Fopcode: U8(OP_ResultRow), Fp1: int8(1)}, // 4 {Fopcode: U8(OP_Halt)}, // 5 -} /* sqlite3.c:96253:31 */ +} /* sqlite3.c:96266:31 */ // Close a blob handle that was previously created using // sqlite3_blob_open(). -func Xsqlite3_blob_close(tls *libc.TLS, pBlob uintptr) int32 { /* sqlite3.c:96344:16: */ +func Xsqlite3_blob_close(tls *libc.TLS, pBlob uintptr) int32 { /* sqlite3.c:96357:16: */ var p uintptr = pBlob var rc int32 var db uintptr @@ -76534,14 +76553,14 @@ func Xsqlite3_blob_close(tls *libc.TLS, pBlob uintptr) int32 { /* sqlite3.c:9634 } // Perform a read or write operation on a blob -func blobReadWrite(tls *libc.TLS, pBlob uintptr, z uintptr, n int32, iOffset int32, xCall uintptr) int32 { /* sqlite3.c:96365:12: */ +func blobReadWrite(tls *libc.TLS, pBlob uintptr, z uintptr, n int32, iOffset int32, xCall uintptr) int32 { /* sqlite3.c:96378:12: */ var rc int32 var p uintptr = pBlob var v uintptr var db uintptr if p == uintptr(0) { - return Xsqlite3MisuseError(tls, 96377) + return Xsqlite3MisuseError(tls, 96390) } db = (*Incrblob)(unsafe.Pointer(p)).Fdb Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) @@ -76600,14 +76619,14 @@ func blobReadWrite(tls *libc.TLS, pBlob uintptr, z uintptr, n int32, iOffset int } // Read data from a blob handle. -func Xsqlite3_blob_read(tls *libc.TLS, pBlob uintptr, z uintptr, n int32, iOffset int32) int32 { /* sqlite3.c:96440:16: */ +func Xsqlite3_blob_read(tls *libc.TLS, pBlob uintptr, z uintptr, n int32, iOffset int32) int32 { /* sqlite3.c:96453:16: */ return blobReadWrite(tls, pBlob, z, n, iOffset, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, U32, U32, uintptr) int32 }{Xsqlite3BtreePayloadChecked}))) } // Write data to a blob handle. -func Xsqlite3_blob_write(tls *libc.TLS, pBlob uintptr, z uintptr, n int32, iOffset int32) int32 { /* sqlite3.c:96447:16: */ +func Xsqlite3_blob_write(tls *libc.TLS, pBlob uintptr, z uintptr, n int32, iOffset int32) int32 { /* sqlite3.c:96460:16: */ return blobReadWrite(tls, pBlob, z, n, iOffset, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, U32, U32, uintptr) int32 }{Xsqlite3BtreePutData}))) @@ -76617,7 +76636,7 @@ func Xsqlite3_blob_write(tls *libc.TLS, pBlob uintptr, z uintptr, n int32, iOffs // // The Incrblob.nByte field is fixed for the lifetime of the Incrblob // so no mutex is required for access. -func Xsqlite3_blob_bytes(tls *libc.TLS, pBlob uintptr) int32 { /* sqlite3.c:96457:16: */ +func Xsqlite3_blob_bytes(tls *libc.TLS, pBlob uintptr) int32 { /* sqlite3.c:96470:16: */ var p uintptr = pBlob if p != 0 && (*Incrblob)(unsafe.Pointer(p)).FpStmt != 0 { return (*Incrblob)(unsafe.Pointer(p)).FnByte @@ -76633,7 +76652,7 @@ func Xsqlite3_blob_bytes(tls *libc.TLS, pBlob uintptr) int32 { /* sqlite3.c:9645 // database handle error code and message set. If this happens, then all // subsequent calls to sqlite3_blob_xxx() functions (except blob_close()) // immediately return SQLITE_ABORT. -func Xsqlite3_blob_reopen(tls *libc.TLS, pBlob uintptr, iRow Sqlite3_int64) int32 { /* sqlite3.c:96472:16: */ +func Xsqlite3_blob_reopen(tls *libc.TLS, pBlob uintptr, iRow Sqlite3_int64) int32 { /* sqlite3.c:96485:16: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -76642,7 +76661,7 @@ func Xsqlite3_blob_reopen(tls *libc.TLS, pBlob uintptr, iRow Sqlite3_int64) int3 var db uintptr if p == uintptr(0) { - return Xsqlite3MisuseError(tls, 96477) + return Xsqlite3MisuseError(tls, 96490) } db = (*Incrblob)(unsafe.Pointer(p)).Fdb Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) @@ -76980,7 +76999,7 @@ type MergeEngine1 = struct { // overflows. 512MiB. // Private objects used by the sorter -type MergeEngine = MergeEngine1 /* sqlite3.c:96666:28 */ // Merge PMAs together +type MergeEngine = MergeEngine1 /* sqlite3.c:96679:28 */ // Merge PMAs together type PmaReader1 = struct { FiReadOff I64 FiEof I64 @@ -76997,7 +77016,7 @@ type PmaReader1 = struct { } /* sqlite3.c:22082:9 */ // Merge PMAs together -type PmaReader = PmaReader1 /* sqlite3.c:96667:26 */ // Incrementally read one PMA +type PmaReader = PmaReader1 /* sqlite3.c:96680:26 */ // Incrementally read one PMA type PmaWriter1 = struct { FeFWErr int32 F__ccgo_pad1 [4]byte @@ -77008,10 +77027,10 @@ type PmaWriter1 = struct { F__ccgo_pad2 [4]byte FiWriteOff I64 FpFd uintptr -} /* sqlite3.c:96668:9 */ +} /* sqlite3.c:96681:9 */ // Incrementally read one PMA -type PmaWriter = PmaWriter1 /* sqlite3.c:96668:26 */ // Incrementally write one PMA +type PmaWriter = PmaWriter1 /* sqlite3.c:96681:26 */ // Incrementally write one PMA type SorterRecord1 = struct { FnVal int32 F__ccgo_pad1 [4]byte @@ -77019,7 +77038,7 @@ type SorterRecord1 = struct { } /* sqlite3.c:22082:9 */ // Incrementally write one PMA -type SorterRecord = SorterRecord1 /* sqlite3.c:96669:29 */ // A record being sorted +type SorterRecord = SorterRecord1 /* sqlite3.c:96682:29 */ // A record being sorted type SortSubtask1 = struct { FpThread uintptr FbDone int32 @@ -77035,14 +77054,14 @@ type SortSubtask1 = struct { } /* sqlite3.c:22082:9 */ // A record being sorted -type SortSubtask = SortSubtask1 /* sqlite3.c:96670:28 */ // A sub-task in the sort process +type SortSubtask = SortSubtask1 /* sqlite3.c:96683:28 */ // A sub-task in the sort process type SorterFile1 = struct { FpFd uintptr FiEof I64 } /* sqlite3.c:22082:9 */ // A sub-task in the sort process -type SorterFile = SorterFile1 /* sqlite3.c:96671:27 */ // Temporary file object wrapper +type SorterFile = SorterFile1 /* sqlite3.c:96684:27 */ // Temporary file object wrapper type SorterList1 = struct { FpList uintptr FaMemory uintptr @@ -77051,7 +77070,7 @@ type SorterList1 = struct { } /* sqlite3.c:22082:9 */ // Temporary file object wrapper -type SorterList = SorterList1 /* sqlite3.c:96672:27 */ // In-memory list of records +type SorterList = SorterList1 /* sqlite3.c:96685:27 */ // In-memory list of records type IncrMerger1 = struct { FpTask uintptr FpMerger uintptr @@ -77064,7 +77083,7 @@ type IncrMerger1 = struct { } /* sqlite3.c:22082:9 */ // In-memory list of records -type IncrMerger = IncrMerger1 /* sqlite3.c:96673:27 */ +type IncrMerger = IncrMerger1 /* sqlite3.c:96686:27 */ // This object represents a single thread of control in a sort operation. // Exactly VdbeSorter.nTask instances of this object are allocated @@ -77095,11 +77114,11 @@ type IncrMerger = IncrMerger1 /* sqlite3.c:96673:27 */ // In both cases, the effects of the main thread seeing (bDone==0) even // after the thread has finished are not dire. So we don't worry about // memory barriers and such here. -type SorterCompare = uintptr /* sqlite3.c:96800:13 */ +type SorterCompare = uintptr /* sqlite3.c:96813:13 */ // Free all memory belonging to the PmaReader object passed as the // argument. All structure fields are set to zero before returning. -func vdbePmaReaderClear(tls *libc.TLS, pReadr uintptr) { /* sqlite3.c:96975:13: */ +func vdbePmaReaderClear(tls *libc.TLS, pReadr uintptr) { /* sqlite3.c:96988:13: */ Xsqlite3_free(tls, (*PmaReader)(unsafe.Pointer(pReadr)).FaAlloc) Xsqlite3_free(tls, (*PmaReader)(unsafe.Pointer(pReadr)).FaBuffer) if (*PmaReader)(unsafe.Pointer(pReadr)).FaMap != 0 { @@ -77116,7 +77135,7 @@ func vdbePmaReaderClear(tls *libc.TLS, pReadr uintptr) { /* sqlite3.c:96975:13: // // The buffer returned in *ppOut is only valid until the // next call to this function. -func vdbePmaReadBlob(tls *libc.TLS, p uintptr, nByte int32, ppOut uintptr) int32 { /* sqlite3.c:96992:12: */ +func vdbePmaReadBlob(tls *libc.TLS, p uintptr, nByte int32, ppOut uintptr) int32 { /* sqlite3.c:97005:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -77220,7 +77239,7 @@ func vdbePmaReadBlob(tls *libc.TLS, p uintptr, nByte int32, ppOut uintptr) int32 // Read a varint from the stream of data accessed by p. Set *pnOut to // the value read. -func vdbePmaReadVarint(tls *libc.TLS, p uintptr, pnOut uintptr) int32 { /* sqlite3.c:97086:12: */ +func vdbePmaReadVarint(tls *libc.TLS, p uintptr, pnOut uintptr) int32 { /* sqlite3.c:97099:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -77260,7 +77279,7 @@ func vdbePmaReadVarint(tls *libc.TLS, p uintptr, pnOut uintptr) int32 { /* sqlit // // Or, if an error occurs, return an SQLite error code. The final value of // *pp is undefined in this case. -func vdbeSorterMapFile(tls *libc.TLS, pTask uintptr, pFile uintptr, pp uintptr) int32 { /* sqlite3.c:97119:12: */ +func vdbeSorterMapFile(tls *libc.TLS, pTask uintptr, pFile uintptr, pp uintptr) int32 { /* sqlite3.c:97132:12: */ var rc int32 = SQLITE_OK if (*SorterFile)(unsafe.Pointer(pFile)).FiEof <= I64((*Sqlite3)(unsafe.Pointer((*VdbeSorter)(unsafe.Pointer((*SortSubtask)(unsafe.Pointer(pTask)).FpSorter)).Fdb)).FnMaxSorterMmap) { var pFd uintptr = (*SorterFile)(unsafe.Pointer(pFile)).FpFd @@ -77275,7 +77294,7 @@ func vdbeSorterMapFile(tls *libc.TLS, pTask uintptr, pFile uintptr, pp uintptr) // Attach PmaReader pReadr to file pFile (if it is not already attached to // that file) and seek it to offset iOff within the file. Return SQLITE_OK // if successful, or an SQLite error code if an error occurs. -func vdbePmaReaderSeek(tls *libc.TLS, pTask uintptr, pReadr uintptr, pFile uintptr, iOff I64) int32 { /* sqlite3.c:97136:12: */ +func vdbePmaReaderSeek(tls *libc.TLS, pTask uintptr, pReadr uintptr, pFile uintptr, iOff I64) int32 { /* sqlite3.c:97149:12: */ var rc int32 = SQLITE_OK if Xsqlite3FaultSim(tls, 201) != 0 { @@ -77316,7 +77335,7 @@ func vdbePmaReaderSeek(tls *libc.TLS, pTask uintptr, pReadr uintptr, pFile uintp // Advance PmaReader pReadr to the next key in its PMA. Return SQLITE_OK if // no error occurs, or an SQLite error code if one does. -func vdbePmaReaderNext(tls *libc.TLS, pReadr uintptr) int32 { /* sqlite3.c:97183:12: */ +func vdbePmaReaderNext(tls *libc.TLS, pReadr uintptr) int32 { /* sqlite3.c:97196:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -77362,7 +77381,7 @@ func vdbePmaReaderNext(tls *libc.TLS, pReadr uintptr) int32 { /* sqlite3.c:97183 // // If the pnByte parameter is NULL, then it is assumed that the file // contains a single PMA, and that that PMA omits the initial length varint. -func vdbePmaReaderInit(tls *libc.TLS, pTask uintptr, pFile uintptr, iStart I64, pReadr uintptr, pnByte uintptr) int32 { /* sqlite3.c:97230:12: */ +func vdbePmaReaderInit(tls *libc.TLS, pTask uintptr, pFile uintptr, iStart I64, pReadr uintptr, pnByte uintptr) int32 { /* sqlite3.c:97243:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -77385,7 +77404,7 @@ func vdbePmaReaderInit(tls *libc.TLS, pTask uintptr, pFile uintptr, iStart I64, // A version of vdbeSorterCompare() that assumes that it has already been // determined that the first field of key1 is equal to the first field of // key2. -func vdbeSorterCompareTail(tls *libc.TLS, pTask uintptr, pbKey2Cached uintptr, pKey1 uintptr, nKey1 int32, pKey2 uintptr, nKey2 int32) int32 { /* sqlite3.c:97263:12: */ +func vdbeSorterCompareTail(tls *libc.TLS, pTask uintptr, pbKey2Cached uintptr, pKey1 uintptr, nKey1 int32, pKey2 uintptr, nKey2 int32) int32 { /* sqlite3.c:97276:12: */ var r2 uintptr = (*SortSubtask)(unsafe.Pointer(pTask)).FpUnpacked if *(*int32)(unsafe.Pointer(pbKey2Cached)) == 0 { Xsqlite3VdbeRecordUnpack(tls, (*VdbeSorter)(unsafe.Pointer((*SortSubtask)(unsafe.Pointer(pTask)).FpSorter)).FpKeyInfo, nKey2, pKey2, r2) @@ -77405,7 +77424,7 @@ func vdbeSorterCompareTail(tls *libc.TLS, pTask uintptr, pbKey2Cached uintptr, p // // If an OOM error is encountered, (pTask->pUnpacked->error_rc) is set // to SQLITE_NOMEM. -func vdbeSorterCompare(tls *libc.TLS, pTask uintptr, pbKey2Cached uintptr, pKey1 uintptr, nKey1 int32, pKey2 uintptr, nKey2 int32) int32 { /* sqlite3.c:97290:12: */ +func vdbeSorterCompare(tls *libc.TLS, pTask uintptr, pbKey2Cached uintptr, pKey1 uintptr, nKey1 int32, pKey2 uintptr, nKey2 int32) int32 { /* sqlite3.c:97303:12: */ var r2 uintptr = (*SortSubtask)(unsafe.Pointer(pTask)).FpUnpacked if !(*(*int32)(unsafe.Pointer(pbKey2Cached)) != 0) { Xsqlite3VdbeRecordUnpack(tls, (*VdbeSorter)(unsafe.Pointer((*SortSubtask)(unsafe.Pointer(pTask)).FpSorter)).FpKeyInfo, nKey2, pKey2, r2) @@ -77417,7 +77436,7 @@ func vdbeSorterCompare(tls *libc.TLS, pTask uintptr, pbKey2Cached uintptr, pKey1 // A specially optimized version of vdbeSorterCompare() that assumes that // the first field of each key is a TEXT value and that the collation // sequence to compare them with is BINARY. -func vdbeSorterCompareText(tls *libc.TLS, pTask uintptr, pbKey2Cached uintptr, pKey1 uintptr, nKey1 int32, pKey2 uintptr, nKey2 int32) int32 { /* sqlite3.c:97309:12: */ +func vdbeSorterCompareText(tls *libc.TLS, pTask uintptr, pbKey2Cached uintptr, pKey1 uintptr, nKey1 int32, pKey2 uintptr, nKey2 int32) int32 { /* sqlite3.c:97322:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -77467,7 +77486,7 @@ func vdbeSorterCompareText(tls *libc.TLS, pTask uintptr, pbKey2Cached uintptr, p // A specially optimized version of vdbeSorterCompare() that assumes that // the first field of each key is an INTEGER value. -func vdbeSorterCompareInt(tls *libc.TLS, pTask uintptr, pbKey2Cached uintptr, pKey1 uintptr, nKey1 int32, pKey2 uintptr, nKey2 int32) int32 { /* sqlite3.c:97351:12: */ +func vdbeSorterCompareInt(tls *libc.TLS, pTask uintptr, pbKey2Cached uintptr, pKey1 uintptr, nKey1 int32, pKey2 uintptr, nKey2 int32) int32 { /* sqlite3.c:97364:12: */ var p1 uintptr = pKey1 var p2 uintptr = pKey2 var s1 int32 = int32(*(*U8)(unsafe.Pointer(p1 + 1))) // Left hand serial type @@ -77527,7 +77546,7 @@ func vdbeSorterCompareInt(tls *libc.TLS, pTask uintptr, pbKey2Cached uintptr, pK return res } -var aLen = [10]U8{U8(0), U8(1), U8(2), U8(3), U8(4), U8(6), U8(8), U8(0), U8(0), U8(0)} /* sqlite3.c:97370:21 */ +var aLen = [10]U8{U8(0), U8(1), U8(2), U8(3), U8(4), U8(6), U8(8), U8(0), U8(0), U8(0)} /* sqlite3.c:97383:21 */ // Initialize the temporary index cursor just opened as a sorter cursor. // @@ -77546,7 +77565,7 @@ var aLen = [10]U8{U8(0), U8(1), U8(2), U8(3), U8(4), U8(6), U8(8), U8(0), U8(0), // mode, but not in multi-threaded mode. // // SQLITE_OK is returned if successful, or an SQLite error code otherwise. -func Xsqlite3VdbeSorterInit(tls *libc.TLS, db uintptr, nField int32, pCsr uintptr) int32 { /* sqlite3.c:97434:20: */ +func Xsqlite3VdbeSorterInit(tls *libc.TLS, db uintptr, nField int32, pCsr uintptr) int32 { /* sqlite3.c:97447:20: */ var pgsz int32 // Page size of main database var i int32 // Used to iterate through aTask[] var pSorter uintptr // The new sorter @@ -77642,7 +77661,7 @@ func Xsqlite3VdbeSorterInit(tls *libc.TLS, db uintptr, nField int32, pCsr uintpt } // Free the list of sorted records starting at pRecord. -func vdbeSorterRecordFree(tls *libc.TLS, db uintptr, pRecord uintptr) { /* sqlite3.c:97540:13: */ +func vdbeSorterRecordFree(tls *libc.TLS, db uintptr, pRecord uintptr) { /* sqlite3.c:97553:13: */ var p uintptr var pNext uintptr for p = pRecord; p != 0; p = pNext { @@ -77653,7 +77672,7 @@ func vdbeSorterRecordFree(tls *libc.TLS, db uintptr, pRecord uintptr) { /* sqlit // Free all resources owned by the object indicated by argument pTask. All // fields of *pTask are zeroed before returning. -func vdbeSortSubtaskCleanup(tls *libc.TLS, db uintptr, pTask uintptr) { /* sqlite3.c:97553:13: */ +func vdbeSortSubtaskCleanup(tls *libc.TLS, db uintptr, pTask uintptr) { /* sqlite3.c:97566:13: */ Xsqlite3DbFree(tls, db, (*SortSubtask)(unsafe.Pointer(pTask)).FpUnpacked) // pTask->list.aMemory can only be non-zero if it was handed memory // from the main thread. That only occurs SQLITE_MAX_WORKER_THREADS>0 @@ -77673,7 +77692,7 @@ func vdbeSortSubtaskCleanup(tls *libc.TLS, db uintptr, pTask uintptr) { /* sqlit } // Join thread pTask->thread. -func vdbeSorterJoinThread(tls *libc.TLS, pTask uintptr) int32 { /* sqlite3.c:97619:12: */ +func vdbeSorterJoinThread(tls *libc.TLS, pTask uintptr) int32 { /* sqlite3.c:97632:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -77692,14 +77711,14 @@ func vdbeSorterJoinThread(tls *libc.TLS, pTask uintptr) int32 { /* sqlite3.c:976 } // Launch a background thread to run xTask(pIn). -func vdbeSorterCreateThread(tls *libc.TLS, pTask uintptr, xTask uintptr, pIn uintptr) int32 { /* sqlite3.c:97640:12: */ +func vdbeSorterCreateThread(tls *libc.TLS, pTask uintptr, xTask uintptr, pIn uintptr) int32 { /* sqlite3.c:97653:12: */ return Xsqlite3ThreadCreate(tls, pTask, xTask, pIn) } // Join all outstanding threads launched by SorterWrite() to create // level-0 PMAs. -func vdbeSorterJoinAll(tls *libc.TLS, pSorter uintptr, rcin int32) int32 { /* sqlite3.c:97653:12: */ +func vdbeSorterJoinAll(tls *libc.TLS, pSorter uintptr, rcin int32) int32 { /* sqlite3.c:97666:12: */ var rc int32 = rcin var i int32 @@ -77725,7 +77744,7 @@ func vdbeSorterJoinAll(tls *libc.TLS, pSorter uintptr, rcin int32) int32 { /* sq // // nReader is automatically rounded up to the next power of two. // nReader may not exceed SORTER_MAX_MERGE_COUNT even after rounding up. -func vdbeMergeEngineNew(tls *libc.TLS, nReader int32) uintptr { /* sqlite3.c:97683:20: */ +func vdbeMergeEngineNew(tls *libc.TLS, nReader int32) uintptr { /* sqlite3.c:97696:20: */ var N int32 = 2 // Smallest power of two >= nReader var nByte int32 // Total bytes of space to allocate var pNew uintptr // Pointer to allocated object to return @@ -77750,7 +77769,7 @@ func vdbeMergeEngineNew(tls *libc.TLS, nReader int32) uintptr { /* sqlite3.c:976 } // Free the MergeEngine object passed as the only argument. -func vdbeMergeEngineFree(tls *libc.TLS, pMerger uintptr) { /* sqlite3.c:97706:13: */ +func vdbeMergeEngineFree(tls *libc.TLS, pMerger uintptr) { /* sqlite3.c:97719:13: */ var i int32 if pMerger != 0 { for i = 0; i < (*MergeEngine)(unsafe.Pointer(pMerger)).FnTree; i++ { @@ -77762,7 +77781,7 @@ func vdbeMergeEngineFree(tls *libc.TLS, pMerger uintptr) { /* sqlite3.c:97706:13 // Free all resources associated with the IncrMerger object indicated by // the first argument. -func vdbeIncrFree(tls *libc.TLS, pIncr uintptr) { /* sqlite3.c:97720:13: */ +func vdbeIncrFree(tls *libc.TLS, pIncr uintptr) { /* sqlite3.c:97733:13: */ if pIncr != 0 { if (*IncrMerger)(unsafe.Pointer(pIncr)).FbUseThread != 0 { vdbeSorterJoinThread(tls, (*IncrMerger)(unsafe.Pointer(pIncr)).FpTask) @@ -77779,7 +77798,7 @@ func vdbeIncrFree(tls *libc.TLS, pIncr uintptr) { /* sqlite3.c:97720:13: */ } // Reset a sorting cursor back to its original empty state. -func Xsqlite3VdbeSorterReset(tls *libc.TLS, db uintptr, pSorter uintptr) { /* sqlite3.c:97737:21: */ +func Xsqlite3VdbeSorterReset(tls *libc.TLS, db uintptr, pSorter uintptr) { /* sqlite3.c:97750:21: */ var i int32 vdbeSorterJoinAll(tls, pSorter, SQLITE_OK) @@ -77808,7 +77827,7 @@ func Xsqlite3VdbeSorterReset(tls *libc.TLS, db uintptr, pSorter uintptr) { /* sq } // Free any cursor components allocated by sqlite3VdbeSorterXXX routines. -func Xsqlite3VdbeSorterClose(tls *libc.TLS, db uintptr, pCsr uintptr) { /* sqlite3.c:97770:21: */ +func Xsqlite3VdbeSorterClose(tls *libc.TLS, db uintptr, pCsr uintptr) { /* sqlite3.c:97783:21: */ var pSorter uintptr pSorter = *(*uintptr)(unsafe.Pointer(pCsr + 48)) @@ -77827,7 +77846,7 @@ func Xsqlite3VdbeSorterClose(tls *libc.TLS, db uintptr, pCsr uintptr) { /* sqlit // // Whether or not the file does end up memory mapped of course depends on // the specific VFS implementation. -func vdbeSorterExtendFile(tls *libc.TLS, db uintptr, pFd uintptr, nByte I64) { /* sqlite3.c:97792:13: */ +func vdbeSorterExtendFile(tls *libc.TLS, db uintptr, pFd uintptr, nByte I64) { /* sqlite3.c:97805:13: */ bp := tls.Alloc(24) defer tls.Free(24) *(*I64)(unsafe.Pointer(bp + 8)) = nByte @@ -77847,7 +77866,7 @@ func vdbeSorterExtendFile(tls *libc.TLS, db uintptr, pFd uintptr, nByte I64) { / // Allocate space for a file-handle and open a temporary file. If successful, // set *ppFd to point to the malloc'd file-handle and return SQLITE_OK. // Otherwise, set *ppFd to 0 and return an SQLite error code. -func vdbeSorterOpenTempFile(tls *libc.TLS, db uintptr, nExtend I64, ppFd uintptr) int32 { /* sqlite3.c:97811:12: */ +func vdbeSorterOpenTempFile(tls *libc.TLS, db uintptr, nExtend I64, ppFd uintptr) int32 { /* sqlite3.c:97824:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -77871,7 +77890,7 @@ func vdbeSorterOpenTempFile(tls *libc.TLS, db uintptr, nExtend I64, ppFd uintptr // If it has not already been allocated, allocate the UnpackedRecord // structure at pTask->pUnpacked. Return SQLITE_OK if successful (or // if no allocation was required), or SQLITE_NOMEM otherwise. -func vdbeSortAllocUnpacked(tls *libc.TLS, pTask uintptr) int32 { /* sqlite3.c:97838:12: */ +func vdbeSortAllocUnpacked(tls *libc.TLS, pTask uintptr) int32 { /* sqlite3.c:97851:12: */ if (*SortSubtask)(unsafe.Pointer(pTask)).FpUnpacked == uintptr(0) { (*SortSubtask)(unsafe.Pointer(pTask)).FpUnpacked = Xsqlite3VdbeAllocUnpackedRecord(tls, (*VdbeSorter)(unsafe.Pointer((*SortSubtask)(unsafe.Pointer(pTask)).FpSorter)).FpKeyInfo) if (*SortSubtask)(unsafe.Pointer(pTask)).FpUnpacked == uintptr(0) { @@ -77884,7 +77903,7 @@ func vdbeSortAllocUnpacked(tls *libc.TLS, pTask uintptr) int32 { /* sqlite3.c:97 } // Merge the two sorted lists p1 and p2 into a single list. -func vdbeSorterMerge(tls *libc.TLS, pTask uintptr, p1 uintptr, p2 uintptr) uintptr { /* sqlite3.c:97852:21: */ +func vdbeSorterMerge(tls *libc.TLS, pTask uintptr, p1 uintptr, p2 uintptr) uintptr { /* sqlite3.c:97865:21: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -77923,7 +77942,7 @@ func vdbeSorterMerge(tls *libc.TLS, pTask uintptr, p1 uintptr, p2 uintptr) uintp // Return the SorterCompare function to compare values collected by the // sorter object passed as the only argument. -func vdbeSorterGetCompare(tls *libc.TLS, p uintptr) SorterCompare { /* sqlite3.c:97894:22: */ +func vdbeSorterGetCompare(tls *libc.TLS, p uintptr) SorterCompare { /* sqlite3.c:97907:22: */ if int32((*VdbeSorter)(unsafe.Pointer(p)).FtypeMask) == SORTER_TYPE_INTEGER { return *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr, int32) int32 @@ -77941,7 +77960,7 @@ func vdbeSorterGetCompare(tls *libc.TLS, p uintptr) SorterCompare { /* sqlite3.c // Sort the linked list of records headed at pTask->pList. Return // SQLITE_OK if successful, or an SQLite error code (i.e. SQLITE_NOMEM) if // an error occurs. -func vdbeSorterSort(tls *libc.TLS, pTask uintptr, pList uintptr) int32 { /* sqlite3.c:97908:12: */ +func vdbeSorterSort(tls *libc.TLS, pTask uintptr, pList uintptr) int32 { /* sqlite3.c:97921:12: */ bp := tls.Alloc(512) defer tls.Free(512) @@ -77998,7 +78017,7 @@ func vdbeSorterSort(tls *libc.TLS, pTask uintptr, pList uintptr) int32 { /* sqli } // Initialize a PMA-writer object. -func vdbePmaWriterInit(tls *libc.TLS, pFd uintptr, p uintptr, nBuf int32, iStart I64) { /* sqlite3.c:97959:13: */ +func vdbePmaWriterInit(tls *libc.TLS, pFd uintptr, p uintptr, nBuf int32, iStart I64) { /* sqlite3.c:97972:13: */ libc.Xmemset(tls, p, 0, uint64(unsafe.Sizeof(PmaWriter{}))) (*PmaWriter)(unsafe.Pointer(p)).FaBuffer = Xsqlite3Malloc(tls, uint64(nBuf)) if !(int32((*PmaWriter)(unsafe.Pointer(p)).FaBuffer) != 0) { @@ -78013,7 +78032,7 @@ func vdbePmaWriterInit(tls *libc.TLS, pFd uintptr, p uintptr, nBuf int32, iStart // Write nData bytes of data to the PMA. Return SQLITE_OK // if successful, or an SQLite error code if an error occurs. -func vdbePmaWriteBlob(tls *libc.TLS, p uintptr, pData uintptr, nData int32) { /* sqlite3.c:97981:13: */ +func vdbePmaWriteBlob(tls *libc.TLS, p uintptr, pData uintptr, nData int32) { /* sqlite3.c:97994:13: */ var nRem int32 = nData for nRem > 0 && (*PmaWriter)(unsafe.Pointer(p)).FeFWErr == 0 { var nCopy int32 = nRem @@ -78042,7 +78061,7 @@ func vdbePmaWriteBlob(tls *libc.TLS, p uintptr, pData uintptr, nData int32) { /* // // Before returning, set *piEof to the offset immediately following the // last byte written to the file. -func vdbePmaWriterFinish(tls *libc.TLS, p uintptr, piEof uintptr) int32 { /* sqlite3.c:98014:12: */ +func vdbePmaWriterFinish(tls *libc.TLS, p uintptr, piEof uintptr) int32 { /* sqlite3.c:98027:12: */ var rc int32 if (*PmaWriter)(unsafe.Pointer(p)).FeFWErr == 0 && (*PmaWriter)(unsafe.Pointer(p)).FaBuffer != 0 && (*PmaWriter)(unsafe.Pointer(p)).FiBufEnd > (*PmaWriter)(unsafe.Pointer(p)).FiBufStart { (*PmaWriter)(unsafe.Pointer(p)).FeFWErr = Xsqlite3OsWrite(tls, (*PmaWriter)(unsafe.Pointer(p)).FpFd, @@ -78058,7 +78077,7 @@ func vdbePmaWriterFinish(tls *libc.TLS, p uintptr, piEof uintptr) int32 { /* sql // Write value iVal encoded as a varint to the PMA. Return // SQLITE_OK if successful, or an SQLite error code if an error occurs. -func vdbePmaWriteVarint(tls *libc.TLS, p uintptr, iVal U64) { /* sqlite3.c:98033:13: */ +func vdbePmaWriteVarint(tls *libc.TLS, p uintptr, iVal U64) { /* sqlite3.c:98046:13: */ bp := tls.Alloc(10) defer tls.Free(10) @@ -78081,7 +78100,7 @@ func vdbePmaWriteVarint(tls *libc.TLS, p uintptr, iVal U64) { /* sqlite3.c:98033 // * One or more records packed end-to-end in order of ascending keys. // Each record consists of a varint followed by a blob of data (the // key). The varint is the number of bytes in the blob of data. -func vdbeSorterListToPMA(tls *libc.TLS, pTask uintptr, pList uintptr) int32 { /* sqlite3.c:98054:12: */ +func vdbeSorterListToPMA(tls *libc.TLS, pTask uintptr, pList uintptr) int32 { /* sqlite3.c:98067:12: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -78136,7 +78155,7 @@ func vdbeSorterListToPMA(tls *libc.TLS, pTask uintptr, pList uintptr) int32 { /* // the MergeEngine has reached the end of all its inputs. // // Return SQLITE_OK if successful or an error code if an error occurs. -func vdbeMergeEngineStep(tls *libc.TLS, pMerger uintptr, pbEof uintptr) int32 { /* sqlite3.c:98118:12: */ +func vdbeMergeEngineStep(tls *libc.TLS, pMerger uintptr, pbEof uintptr) int32 { /* sqlite3.c:98131:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -78212,7 +78231,7 @@ func vdbeMergeEngineStep(tls *libc.TLS, pMerger uintptr, pbEof uintptr) int32 { } // The main routine for background threads that write level-0 PMAs. -func vdbeSorterFlushThread(tls *libc.TLS, pCtx uintptr) uintptr { /* sqlite3.c:98189:13: */ +func vdbeSorterFlushThread(tls *libc.TLS, pCtx uintptr) uintptr { /* sqlite3.c:98202:13: */ var pTask uintptr = pCtx var rc int32 // Return code @@ -78223,7 +78242,7 @@ func vdbeSorterFlushThread(tls *libc.TLS, pCtx uintptr) uintptr { /* sqlite3.c:9 // Flush the current contents of VdbeSorter.list to a new PMA, possibly // using a background thread. -func vdbeSorterFlushPMA(tls *libc.TLS, pSorter uintptr) int32 { /* sqlite3.c:98203:12: */ +func vdbeSorterFlushPMA(tls *libc.TLS, pSorter uintptr) int32 { /* sqlite3.c:98216:12: */ var rc int32 = SQLITE_OK var i int32 var pTask uintptr = uintptr(0) // Thread context used to create new PMA @@ -78287,7 +78306,7 @@ func vdbeSorterFlushPMA(tls *libc.TLS, pSorter uintptr) int32 { /* sqlite3.c:982 } // Add a record to the sorter. -func Xsqlite3VdbeSorterWrite(tls *libc.TLS, pCsr uintptr, pVal uintptr) int32 { /* sqlite3.c:98273:20: */ +func Xsqlite3VdbeSorterWrite(tls *libc.TLS, pCsr uintptr, pVal uintptr) int32 { /* sqlite3.c:98286:20: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -78403,7 +78422,7 @@ func Xsqlite3VdbeSorterWrite(tls *libc.TLS, pCsr uintptr, pVal uintptr) int32 { // Read keys from pIncr->pMerger and populate pIncr->aFile[1]. The format // of the data stored in aFile[1] is the same as that used by regular PMAs, // except that the number-of-bytes varint is omitted from the start. -func vdbeIncrPopulate(tls *libc.TLS, pIncr uintptr) int32 { /* sqlite3.c:98385:12: */ +func vdbeIncrPopulate(tls *libc.TLS, pIncr uintptr) int32 { /* sqlite3.c:98398:12: */ bp := tls.Alloc(52) defer tls.Free(52) @@ -78449,7 +78468,7 @@ func vdbeIncrPopulate(tls *libc.TLS, pIncr uintptr) int32 { /* sqlite3.c:98385:1 // The main routine for background threads that populate aFile[1] of // multi-threaded IncrMerger objects. -func vdbeIncrPopulateThread(tls *libc.TLS, pCtx uintptr) uintptr { /* sqlite3.c:98427:13: */ +func vdbeIncrPopulateThread(tls *libc.TLS, pCtx uintptr) uintptr { /* sqlite3.c:98440:13: */ var pIncr uintptr = pCtx var pRet uintptr = uintptr(int64(vdbeIncrPopulate(tls, pIncr))) (*SortSubtask)(unsafe.Pointer((*IncrMerger)(unsafe.Pointer(pIncr)).FpTask)).FbDone = 1 @@ -78457,7 +78476,7 @@ func vdbeIncrPopulateThread(tls *libc.TLS, pCtx uintptr) uintptr { /* sqlite3.c: } // Launch a background thread to populate aFile[1] of pIncr. -func vdbeIncrBgPopulate(tls *libc.TLS, pIncr uintptr) int32 { /* sqlite3.c:98437:12: */ +func vdbeIncrBgPopulate(tls *libc.TLS, pIncr uintptr) int32 { /* sqlite3.c:98450:12: */ var p uintptr = pIncr return vdbeSorterCreateThread(tls, (*IncrMerger)(unsafe.Pointer(pIncr)).FpTask, *(*uintptr)(unsafe.Pointer(&struct { @@ -78480,7 +78499,7 @@ func vdbeIncrBgPopulate(tls *libc.TLS, pIncr uintptr) int32 { /* sqlite3.c:98437 // to populate the new aFile[1]. // // SQLITE_OK is returned on success, or an SQLite error code otherwise. -func vdbeIncrSwap(tls *libc.TLS, pIncr uintptr) int32 { /* sqlite3.c:98461:12: */ +func vdbeIncrSwap(tls *libc.TLS, pIncr uintptr) int32 { /* sqlite3.c:98474:12: */ var rc int32 = SQLITE_OK if (*IncrMerger)(unsafe.Pointer(pIncr)).FbUseThread != 0 { @@ -78514,7 +78533,7 @@ func vdbeIncrSwap(tls *libc.TLS, pIncr uintptr) int32 { /* sqlite3.c:98461:12: * // // If an OOM condition is encountered, return NULL. In this case free the // pMerger argument before returning. -func vdbeIncrMergerNew(tls *libc.TLS, pTask uintptr, pMerger uintptr, ppOut uintptr) int32 { /* sqlite3.c:98500:12: */ +func vdbeIncrMergerNew(tls *libc.TLS, pTask uintptr, pMerger uintptr, ppOut uintptr) int32 { /* sqlite3.c:98513:12: */ var rc int32 = SQLITE_OK var pIncr uintptr = libc.AssignPtrUintptr(ppOut, func() uintptr { if Xsqlite3FaultSim(tls, 100) != 0 { @@ -78541,7 +78560,7 @@ func vdbeIncrMergerNew(tls *libc.TLS, pTask uintptr, pMerger uintptr, ppOut uint } // Set the "use-threads" flag on object pIncr. -func vdbeIncrMergerSetThreads(tls *libc.TLS, pIncr uintptr) { /* sqlite3.c:98525:13: */ +func vdbeIncrMergerSetThreads(tls *libc.TLS, pIncr uintptr) { /* sqlite3.c:98538:13: */ (*IncrMerger)(unsafe.Pointer(pIncr)).FbUseThread = 1 *(*I64)(unsafe.Pointer((*IncrMerger)(unsafe.Pointer(pIncr)).FpTask + 88 + 8)) -= I64((*IncrMerger)(unsafe.Pointer(pIncr)).FmxSz) } @@ -78549,7 +78568,7 @@ func vdbeIncrMergerSetThreads(tls *libc.TLS, pIncr uintptr) { /* sqlite3.c:98525 // Recompute pMerger->aTree[iOut] by comparing the next keys on the // two PmaReaders that feed that entry. Neither of the PmaReaders // are advanced. This routine merely does the comparison. -func vdbeMergeEngineCompare(tls *libc.TLS, pMerger uintptr, iOut int32) { /* sqlite3.c:98538:13: */ +func vdbeMergeEngineCompare(tls *libc.TLS, pMerger uintptr, iOut int32) { /* sqlite3.c:98551:13: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -78609,7 +78628,7 @@ func vdbeMergeEngineCompare(tls *libc.TLS, pMerger uintptr, iOut int32) { /* sql // to pMerger. // // SQLITE_OK is returned if successful, or an SQLite error code otherwise. -func vdbeMergeEngineInit(tls *libc.TLS, pTask uintptr, pMerger uintptr, eMode int32) int32 { /* sqlite3.c:98620:12: */ +func vdbeMergeEngineInit(tls *libc.TLS, pTask uintptr, pMerger uintptr, eMode int32) int32 { /* sqlite3.c:98633:12: */ var rc int32 = SQLITE_OK // Return code var i int32 // For looping over PmaReader objects var nTree int32 // Number of subtrees to merge @@ -78679,7 +78698,7 @@ func vdbeMergeEngineInit(tls *libc.TLS, pTask uintptr, pMerger uintptr, eMode in // the current PmaReader set to point to the first key in its range. // // SQLITE_OK is returned if successful, or an SQLite error code otherwise. -func vdbePmaReaderIncrMergeInit(tls *libc.TLS, pReadr uintptr, eMode int32) int32 { /* sqlite3.c:98696:12: */ +func vdbePmaReaderIncrMergeInit(tls *libc.TLS, pReadr uintptr, eMode int32) int32 { /* sqlite3.c:98709:12: */ var rc int32 = SQLITE_OK var pIncr uintptr = (*PmaReader)(unsafe.Pointer(pReadr)).FpIncr var pTask uintptr = (*IncrMerger)(unsafe.Pointer(pIncr)).FpTask @@ -78736,7 +78755,7 @@ func vdbePmaReaderIncrMergeInit(tls *libc.TLS, pReadr uintptr, eMode int32) int3 // The main routine for vdbePmaReaderIncrMergeInit() operations run in // background threads. -func vdbePmaReaderBgIncrInit(tls *libc.TLS, pCtx uintptr) uintptr { /* sqlite3.c:98763:13: */ +func vdbePmaReaderBgIncrInit(tls *libc.TLS, pCtx uintptr) uintptr { /* sqlite3.c:98776:13: */ var pReader uintptr = pCtx var pRet uintptr = uintptr(int64(vdbePmaReaderIncrMergeInit(tls, pReader, INCRINIT_TASK))) (*SortSubtask)(unsafe.Pointer((*IncrMerger)(unsafe.Pointer((*PmaReader)(unsafe.Pointer(pReader)).FpIncr)).FpTask)).FbDone = 1 @@ -78752,7 +78771,7 @@ func vdbePmaReaderBgIncrInit(tls *libc.TLS, pCtx uintptr) uintptr { /* sqlite3.c // then a background thread is launched to call vdbePmaReaderIncrMergeInit(). // Or, if the IncrMerger is single threaded, the same function is called // using the current thread. -func vdbePmaReaderIncrInit(tls *libc.TLS, pReadr uintptr, eMode int32) int32 { /* sqlite3.c:98784:12: */ +func vdbePmaReaderIncrInit(tls *libc.TLS, pReadr uintptr, eMode int32) int32 { /* sqlite3.c:98797:12: */ var pIncr uintptr = (*PmaReader)(unsafe.Pointer(pReadr)).FpIncr // Incremental merger var rc int32 = SQLITE_OK // Return code if pIncr != 0 { @@ -78779,7 +78798,7 @@ func vdbePmaReaderIncrInit(tls *libc.TLS, pReadr uintptr, eMode int32) int32 { / // set to the offset immediately following the last byte of the last // PMA before returning. If an error does occur, then the final value of // *piOffset is undefined. -func vdbeMergeEngineLevel0(tls *libc.TLS, pTask uintptr, nPMA int32, piOffset uintptr, ppOut uintptr) int32 { /* sqlite3.c:98814:12: */ +func vdbeMergeEngineLevel0(tls *libc.TLS, pTask uintptr, nPMA int32, piOffset uintptr, ppOut uintptr) int32 { /* sqlite3.c:98827:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -78816,7 +78835,7 @@ func vdbeMergeEngineLevel0(tls *libc.TLS, pTask uintptr, nPMA int32, piOffset ui // nPMA<=16 -> TreeDepth() == 0 // nPMA<=256 -> TreeDepth() == 1 // nPMA<=65536 -> TreeDepth() == 2 -func vdbeSorterTreeDepth(tls *libc.TLS, nPMA int32) int32 { /* sqlite3.c:98853:12: */ +func vdbeSorterTreeDepth(tls *libc.TLS, nPMA int32) int32 { /* sqlite3.c:98866:12: */ var nDepth int32 = 0 var nDiv I64 = int64(SORTER_MAX_MERGE_COUNT) for nDiv < I64(nPMA) { @@ -78832,7 +78851,7 @@ func vdbeSorterTreeDepth(tls *libc.TLS, nPMA int32) int32 { /* sqlite3.c:98853:1 // // If successful, SQLITE_OK is returned. If an error occurs, an SQLite error // code is returned and pLeaf is freed. -func vdbeSorterAddToTree(tls *libc.TLS, pTask uintptr, nDepth int32, iSeq int32, pRoot uintptr, pLeaf uintptr) int32 { /* sqlite3.c:98871:12: */ +func vdbeSorterAddToTree(tls *libc.TLS, pTask uintptr, nDepth int32, iSeq int32, pRoot uintptr, pLeaf uintptr) int32 { /* sqlite3.c:98884:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -78883,7 +78902,7 @@ func vdbeSorterAddToTree(tls *libc.TLS, pTask uintptr, nDepth int32, iSeq int32, // MergeEngine object at the root of the tree before returning. Or, if an // error occurs, an SQLite error code is returned and the final value // of *ppOut is undefined. -func vdbeSorterMergeTreeBuild(tls *libc.TLS, pSorter uintptr, ppOut uintptr) int32 { /* sqlite3.c:98927:12: */ +func vdbeSorterMergeTreeBuild(tls *libc.TLS, pSorter uintptr, ppOut uintptr) int32 { /* sqlite3.c:98940:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -78964,7 +78983,7 @@ func vdbeSorterMergeTreeBuild(tls *libc.TLS, pSorter uintptr, ppOut uintptr) int // all records stored in the sorter. // // SQLITE_OK is returned if successful, or an SQLite error code otherwise. -func vdbeSorterSetupMerge(tls *libc.TLS, pSorter uintptr) int32 { /* sqlite3.c:99006:12: */ +func vdbeSorterSetupMerge(tls *libc.TLS, pSorter uintptr) int32 { /* sqlite3.c:99019:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -79039,7 +79058,7 @@ func vdbeSorterSetupMerge(tls *libc.TLS, pSorter uintptr) int32 { /* sqlite3.c:9 // Once the sorter has been populated by calls to sqlite3VdbeSorterWrite, // this function is called to prepare for iterating through the records // in sorted order. -func Xsqlite3VdbeSorterRewind(tls *libc.TLS, pCsr uintptr, pbEof uintptr) int32 { /* sqlite3.c:99088:20: */ +func Xsqlite3VdbeSorterRewind(tls *libc.TLS, pCsr uintptr, pbEof uintptr) int32 { /* sqlite3.c:99101:20: */ var pSorter uintptr var rc int32 = SQLITE_OK // Return code @@ -79084,7 +79103,7 @@ func Xsqlite3VdbeSorterRewind(tls *libc.TLS, pCsr uintptr, pbEof uintptr) int32 // SQLITE_OK success // SQLITE_DONE end of data // otherwise some kind of error. -func Xsqlite3VdbeSorterNext(tls *libc.TLS, db uintptr, pCsr uintptr) int32 { /* sqlite3.c:99140:20: */ +func Xsqlite3VdbeSorterNext(tls *libc.TLS, db uintptr, pCsr uintptr) int32 { /* sqlite3.c:99153:20: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -79126,7 +79145,7 @@ func Xsqlite3VdbeSorterNext(tls *libc.TLS, db uintptr, pCsr uintptr) int32 { /* // Return a pointer to a buffer owned by the sorter that contains the // current key. -func vdbeSorterRowkey(tls *libc.TLS, pSorter uintptr, pnKey uintptr) uintptr { /* sqlite3.c:99178:13: */ +func vdbeSorterRowkey(tls *libc.TLS, pSorter uintptr, pnKey uintptr) uintptr { /* sqlite3.c:99191:13: */ var pKey uintptr if (*VdbeSorter)(unsafe.Pointer(pSorter)).FbUsePMA != 0 { var pReader uintptr @@ -79145,7 +79164,7 @@ func vdbeSorterRowkey(tls *libc.TLS, pSorter uintptr, pnKey uintptr) uintptr { / } // Copy the current sorter key into the memory cell pOut. -func Xsqlite3VdbeSorterRowkey(tls *libc.TLS, pCsr uintptr, pOut uintptr) int32 { /* sqlite3.c:99205:20: */ +func Xsqlite3VdbeSorterRowkey(tls *libc.TLS, pCsr uintptr, pOut uintptr) int32 { /* sqlite3.c:99218:20: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -79180,7 +79199,7 @@ func Xsqlite3VdbeSorterRowkey(tls *libc.TLS, pCsr uintptr, pOut uintptr) int32 { // // This routine forms the core of the OP_SorterCompare opcode, which in // turn is used to verify uniqueness when constructing a UNIQUE INDEX. -func Xsqlite3VdbeSorterCompare(tls *libc.TLS, pCsr uintptr, pVal uintptr, nKeyCol int32, pRes uintptr) int32 { /* sqlite3.c:99238:20: */ +func Xsqlite3VdbeSorterCompare(tls *libc.TLS, pCsr uintptr, pVal uintptr, nKeyCol int32, pRes uintptr) int32 { /* sqlite3.c:99251:20: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -79272,7 +79291,7 @@ type MemJournal1 = struct { F__ccgo_pad1 [4]byte FpVfs uintptr FzJournal uintptr -} /* sqlite3.c:99731:9 */ +} /* sqlite3.c:99744:9 */ //************* End of vdbesort.c ******************************************* //************* Begin file vdbevtab.c *************************************** @@ -79319,23 +79338,23 @@ type MemJournal1 = struct { // #include "sqliteInt.h" // Forward references to internal structures -type MemJournal = MemJournal1 /* sqlite3.c:99731:27 */ +type MemJournal = MemJournal1 /* sqlite3.c:99744:27 */ type FilePoint1 = struct { FiOffset Sqlite3_int64 FpChunk uintptr -} /* sqlite3.c:99731:9 */ +} /* sqlite3.c:99744:9 */ -type FilePoint = FilePoint1 /* sqlite3.c:99732:26 */ +type FilePoint = FilePoint1 /* sqlite3.c:99745:26 */ type FileChunk1 = struct { FpNext uintptr FzChunk [8]U8 -} /* sqlite3.c:99731:9 */ +} /* sqlite3.c:99744:9 */ -type FileChunk = FileChunk1 /* sqlite3.c:99733:26 */ +type FileChunk = FileChunk1 /* sqlite3.c:99746:26 */ // Read data from the in-memory journal file. This is the implementation // of the sqlite3_vfs.xRead method. -func memjrnlRead(tls *libc.TLS, pJfd uintptr, zBuf uintptr, iAmt int32, iOfst Sqlite_int64) int32 { /* sqlite3.c:99788:12: */ +func memjrnlRead(tls *libc.TLS, pJfd uintptr, zBuf uintptr, iAmt int32, iOfst Sqlite_int64) int32 { /* sqlite3.c:99801:12: */ var p uintptr = pJfd var zOut uintptr = zBuf var nRead int32 = iAmt @@ -79382,7 +79401,7 @@ func memjrnlRead(tls *libc.TLS, pJfd uintptr, zBuf uintptr, iAmt int32, iOfst Sq } // Free the list of FileChunk structures headed at MemJournal.pFirst. -func memjrnlFreeChunks(tls *libc.TLS, pFirst uintptr) { /* sqlite3.c:99835:13: */ +func memjrnlFreeChunks(tls *libc.TLS, pFirst uintptr) { /* sqlite3.c:99848:13: */ var pIter uintptr var pNext uintptr for pIter = pFirst; pIter != 0; pIter = pNext { @@ -79392,7 +79411,7 @@ func memjrnlFreeChunks(tls *libc.TLS, pFirst uintptr) { /* sqlite3.c:99835:13: * } // Flush the contents of memory to a real file on disk. -func memjrnlCreateFile(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:99847:12: */ +func memjrnlCreateFile(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:99860:12: */ var rc int32 var pReal uintptr = p var copy = *(*MemJournal)(unsafe.Pointer(p)) @@ -79430,7 +79449,7 @@ func memjrnlCreateFile(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:99847:12: } // Write data to the file. -func memjrnlWrite(tls *libc.TLS, pJfd uintptr, zBuf uintptr, iAmt int32, iOfst Sqlite_int64) int32 { /* sqlite3.c:99889:12: */ +func memjrnlWrite(tls *libc.TLS, pJfd uintptr, zBuf uintptr, iAmt int32, iOfst Sqlite_int64) int32 { /* sqlite3.c:99902:12: */ var p uintptr = pJfd var nWrite int32 = iAmt var zWrite uintptr = zBuf @@ -79496,7 +79515,7 @@ func memjrnlWrite(tls *libc.TLS, pJfd uintptr, zBuf uintptr, iAmt int32, iOfst S } // Truncate the in-memory file. -func memjrnlTruncate(tls *libc.TLS, pJfd uintptr, size Sqlite_int64) int32 { /* sqlite3.c:99962:12: */ +func memjrnlTruncate(tls *libc.TLS, pJfd uintptr, size Sqlite_int64) int32 { /* sqlite3.c:99975:12: */ var p uintptr = pJfd if size < (*MemJournal)(unsafe.Pointer(p)).Fendpoint.FiOffset { @@ -79524,7 +79543,7 @@ func memjrnlTruncate(tls *libc.TLS, pJfd uintptr, size Sqlite_int64) int32 { /* } // Close the file. -func memjrnlClose(tls *libc.TLS, pJfd uintptr) int32 { /* sqlite3.c:99992:12: */ +func memjrnlClose(tls *libc.TLS, pJfd uintptr) int32 { /* sqlite3.c:100005:12: */ var p uintptr = pJfd memjrnlFreeChunks(tls, (*MemJournal)(unsafe.Pointer(p)).FpFirst) return SQLITE_OK @@ -79534,14 +79553,14 @@ func memjrnlClose(tls *libc.TLS, pJfd uintptr) int32 { /* sqlite3.c:99992:12: */ // // If the real file has been created, call its xSync method. Otherwise, // syncing an in-memory journal is a no-op. -func memjrnlSync(tls *libc.TLS, pJfd uintptr, flags int32) int32 { /* sqlite3.c:100004:12: */ +func memjrnlSync(tls *libc.TLS, pJfd uintptr, flags int32) int32 { /* sqlite3.c:100017:12: */ _ = pJfd _ = flags return SQLITE_OK } // Query the size of the file in bytes. -func memjrnlFileSize(tls *libc.TLS, pJfd uintptr, pSize uintptr) int32 { /* sqlite3.c:100012:12: */ +func memjrnlFileSize(tls *libc.TLS, pJfd uintptr, pSize uintptr) int32 { /* sqlite3.c:100025:12: */ var p uintptr = pJfd *(*Sqlite_int64)(unsafe.Pointer(pSize)) = (*MemJournal)(unsafe.Pointer(p)).Fendpoint.FiOffset return SQLITE_OK @@ -79556,7 +79575,7 @@ var sMemJournalMethods = sqlite3_io_methods{ FxTruncate: 0, // xTruncate FxSync: 0, // xSync FxFileSize: 0, // xUnfetch -} /* sqlite3.c:100021:40 */ +} /* sqlite3.c:100034:40 */ // Open a journal file. // @@ -79568,7 +79587,7 @@ var sMemJournalMethods = sqlite3_io_methods{ // but may be flushed to disk later on. In this case the journal file is // flushed to disk either when it grows larger than nSpill bytes in size, // or when sqlite3JournalCreate() is called. -func Xsqlite3JournalOpen(tls *libc.TLS, pVfs uintptr, zName uintptr, pJfd uintptr, flags int32, nSpill int32) int32 { /* sqlite3.c:100055:20: */ +func Xsqlite3JournalOpen(tls *libc.TLS, pVfs uintptr, zName uintptr, pJfd uintptr, flags int32, nSpill int32) int32 { /* sqlite3.c:100068:20: */ var p uintptr = pJfd // Zero the file-handle object. If nSpill was passed zero, initialize @@ -79596,20 +79615,20 @@ func Xsqlite3JournalOpen(tls *libc.TLS, pVfs uintptr, zName uintptr, pJfd uintpt } // Open an in-memory journal file. -func Xsqlite3MemJournalOpen(tls *libc.TLS, pJfd uintptr) { /* sqlite3.c:100091:21: */ +func Xsqlite3MemJournalOpen(tls *libc.TLS, pJfd uintptr) { /* sqlite3.c:100104:21: */ Xsqlite3JournalOpen(tls, uintptr(0), uintptr(0), pJfd, 0, -1) } // The file-handle passed as the only argument is open on a journal file. // Return true if this "journal file" is currently stored in heap memory, // or false otherwise. -func Xsqlite3JournalIsInMemory(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:100130:20: */ +func Xsqlite3JournalIsInMemory(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:100143:20: */ return libc.Bool32((*Sqlite3_file)(unsafe.Pointer(p)).FpMethods == uintptr(unsafe.Pointer(&sMemJournalMethods))) } // Return the number of bytes required to store a JournalFile that uses vfs // pVfs to create the underlying on-disk files. -func Xsqlite3JournalSize(tls *libc.TLS, pVfs uintptr) int32 { /* sqlite3.c:100138:20: */ +func Xsqlite3JournalSize(tls *libc.TLS, pVfs uintptr) int32 { /* sqlite3.c:100151:20: */ return func() int32 { if (*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FszOsFile > int32(unsafe.Sizeof(MemJournal{})) { return (*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FszOsFile @@ -79638,7 +79657,7 @@ func Xsqlite3JournalSize(tls *libc.TLS, pVfs uintptr) int32 { /* sqlite3.c:10013 // Walk all expressions linked into the list of Window objects passed // as the second argument. -func walkWindowList(tls *libc.TLS, pWalker uintptr, pList uintptr, bOneOnly int32) int32 { /* sqlite3.c:100168:12: */ +func walkWindowList(tls *libc.TLS, pWalker uintptr, pList uintptr, bOneOnly int32) int32 { /* sqlite3.c:100181:12: */ var pWin uintptr for pWin = pList; pWin != 0; pWin = (*Window)(unsafe.Pointer(pWin)).FpNextWin { var rc int32 @@ -79686,7 +79705,7 @@ func walkWindowList(tls *libc.TLS, pWalker uintptr, pList uintptr, bOneOnly int3 // // The return value from this routine is WRC_Abort to abandon the tree walk // and WRC_Continue to continue. -func walkExpr(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:100207:28: */ +func walkExpr(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:100220:28: */ var rc int32 for 1 != 0 { @@ -79728,7 +79747,7 @@ func walkExpr(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3. return WRC_Continue } -func Xsqlite3WalkExpr(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:100239:20: */ +func Xsqlite3WalkExpr(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:100252:20: */ if pExpr != 0 { return walkExpr(tls, pWalker, pExpr) } @@ -79737,7 +79756,7 @@ func Xsqlite3WalkExpr(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* // Call sqlite3WalkExpr() for every expression in list p or until // an abort request is seen. -func Xsqlite3WalkExprList(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sqlite3.c:100247:20: */ +func Xsqlite3WalkExprList(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sqlite3.c:100260:20: */ var i int32 var pItem uintptr if p != 0 { @@ -79766,7 +79785,7 @@ func Xsqlite3WalkExprList(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* // This is a no-op callback for Walker->xSelectCallback2. If this // callback is set, then the Select->pWinDefn list is traversed. -func Xsqlite3WalkWinDefnDummyCallback(tls *libc.TLS, pWalker uintptr, p uintptr) { /* sqlite3.c:100262:21: */ +func Xsqlite3WalkWinDefnDummyCallback(tls *libc.TLS, pWalker uintptr, p uintptr) { /* sqlite3.c:100275:21: */ _ = pWalker _ = p // No-op @@ -79776,7 +79795,7 @@ func Xsqlite3WalkWinDefnDummyCallback(tls *libc.TLS, pWalker uintptr, p uintptr) // not invoke the SELECT callback on p, but do (of course) invoke // any expr callbacks and SELECT callbacks that come from subqueries. // Return WRC_Abort or WRC_Continue. -func Xsqlite3WalkSelectExpr(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sqlite3.c:100274:20: */ +func Xsqlite3WalkSelectExpr(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sqlite3.c:100287:20: */ if Xsqlite3WalkExprList(tls, pWalker, (*Select)(unsafe.Pointer(p)).FpEList) != 0 { return WRC_Abort } @@ -79818,7 +79837,7 @@ func Xsqlite3WalkSelectExpr(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { / // callback on p, but do invoke it on each FROM clause subquery // and on any subqueries further down in the tree. Return // WRC_Abort or WRC_Continue; -func Xsqlite3WalkSelectFrom(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sqlite3.c:100307:20: */ +func Xsqlite3WalkSelectFrom(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sqlite3.c:100320:20: */ var pSrc uintptr var i int32 var pItem uintptr @@ -79867,7 +79886,7 @@ func Xsqlite3WalkSelectFrom(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { / // // If the Walker does not have an xSelectCallback() then this routine // is a no-op returning WRC_Continue. -func Xsqlite3WalkSelect(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sqlite3.c:100345:20: */ +func Xsqlite3WalkSelect(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sqlite3.c:100358:20: */ var rc int32 if p == uintptr(0) { return WRC_Continue @@ -79898,13 +79917,13 @@ func Xsqlite3WalkSelect(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sq // Increase the walkerDepth when entering a subquery, and // descrease when leaving the subquery. -func Xsqlite3WalkerDepthIncrease(tls *libc.TLS, pWalker uintptr, pSelect uintptr) int32 { /* sqlite3.c:100368:20: */ +func Xsqlite3WalkerDepthIncrease(tls *libc.TLS, pWalker uintptr, pSelect uintptr) int32 { /* sqlite3.c:100381:20: */ _ = pSelect (*Walker)(unsafe.Pointer(pWalker)).FwalkerDepth++ return WRC_Continue } -func Xsqlite3WalkerDepthDecrease(tls *libc.TLS, pWalker uintptr, pSelect uintptr) { /* sqlite3.c:100373:21: */ +func Xsqlite3WalkerDepthDecrease(tls *libc.TLS, pWalker uintptr, pSelect uintptr) { /* sqlite3.c:100386:21: */ _ = pSelect (*Walker)(unsafe.Pointer(pWalker)).FwalkerDepth-- } @@ -79916,7 +79935,7 @@ func Xsqlite3WalkerDepthDecrease(tls *libc.TLS, pWalker uintptr, pSelect uintptr // when this routine is used for Walker.xExprCallback then // Walker.xSelectCallback is set to do something useful for every // subquery in the parser tree. -func Xsqlite3ExprWalkNoop(tls *libc.TLS, NotUsed uintptr, NotUsed2 uintptr) int32 { /* sqlite3.c:100388:20: */ +func Xsqlite3ExprWalkNoop(tls *libc.TLS, NotUsed uintptr, NotUsed2 uintptr) int32 { /* sqlite3.c:100401:20: */ _ = NotUsed _ = NotUsed2 return WRC_Continue @@ -79924,7 +79943,7 @@ func Xsqlite3ExprWalkNoop(tls *libc.TLS, NotUsed uintptr, NotUsed2 uintptr) int3 // No-op routine for the parse-tree walker for SELECT statements. // subquery in the parser tree. -func Xsqlite3SelectWalkNoop(tls *libc.TLS, NotUsed uintptr, NotUsed2 uintptr) int32 { /* sqlite3.c:100397:20: */ +func Xsqlite3SelectWalkNoop(tls *libc.TLS, NotUsed uintptr, NotUsed2 uintptr) int32 { /* sqlite3.c:100410:20: */ _ = NotUsed _ = NotUsed2 return WRC_Continue @@ -79959,14 +79978,14 @@ func Xsqlite3SelectWalkNoop(tls *libc.TLS, NotUsed uintptr, NotUsed2 uintptr) in // is a helper function - a callback for the tree walker. // // See also the sqlite3WindowExtraAggFuncDepth() routine in window.c -func incrAggDepth(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:100438:12: */ +func incrAggDepth(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:100451:12: */ if int32((*Expr)(unsafe.Pointer(pExpr)).Fop) == TK_AGG_FUNCTION { *(*U8)(unsafe.Pointer(pExpr + 2)) += U8(*(*int32)(unsafe.Pointer(pWalker + 40))) } return WRC_Continue } -func incrAggFunctionDepth(tls *libc.TLS, pExpr uintptr, N int32) { /* sqlite3.c:100442:13: */ +func incrAggFunctionDepth(tls *libc.TLS, pExpr uintptr, N int32) { /* sqlite3.c:100455:13: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -79999,7 +80018,7 @@ func incrAggFunctionDepth(tls *libc.TLS, pExpr uintptr, N int32) { /* sqlite3.c: // zero but it might be more if the alias is contained within a subquery // of the original expression. The Expr.op2 field of TK_AGG_FUNCTION // structures must be increased by the nSubquery amount. -func resolveAlias(tls *libc.TLS, pParse uintptr, pEList uintptr, iCol int32, pExpr uintptr, nSubquery int32) { /* sqlite3.c:100471:13: */ +func resolveAlias(tls *libc.TLS, pParse uintptr, pEList uintptr, iCol int32, pExpr uintptr, nSubquery int32) { /* sqlite3.c:100484:13: */ var pOrig uintptr // The iCol-th column of the result set var pDup uintptr // Copy of pOrig var db uintptr // The database connection @@ -80045,7 +80064,7 @@ func resolveAlias(tls *libc.TLS, pParse uintptr, pEList uintptr, iCol int32, pEx // // Return FALSE if the USING clause is NULL or if it does not contain // zCol. -func nameInUsingClause(tls *libc.TLS, pUsing uintptr, zCol uintptr) int32 { /* sqlite3.c:100528:12: */ +func nameInUsingClause(tls *libc.TLS, pUsing uintptr, zCol uintptr) int32 { /* sqlite3.c:100541:12: */ if pUsing != 0 { var k int32 for k = 0; k < (*IdList)(unsafe.Pointer(pUsing)).FnId; k++ { @@ -80062,7 +80081,7 @@ func nameInUsingClause(tls *libc.TLS, pUsing uintptr, zCol uintptr) int32 { /* s // Check to see if the zSpan given to this routine matches the zDb, zTab, // and zCol. If any of zDb, zTab, and zCol are NULL then those fields will // match anything. -func Xsqlite3MatchEName(tls *libc.TLS, pItem uintptr, zCol uintptr, zTab uintptr, zDb uintptr) int32 { /* sqlite3.c:100545:20: */ +func Xsqlite3MatchEName(tls *libc.TLS, pItem uintptr, zCol uintptr, zTab uintptr, zDb uintptr) int32 { /* sqlite3.c:100558:20: */ var n int32 var zSpan uintptr if int32(*(*uint8)(unsafe.Pointer(pItem + 20))&0x3>>0) != ENAME_TAB { @@ -80088,7 +80107,7 @@ func Xsqlite3MatchEName(tls *libc.TLS, pItem uintptr, zCol uintptr, zTab uintptr } // Return TRUE if the double-quoted string mis-feature should be supported. -func areDoubleQuotedStringsEnabled(tls *libc.TLS, db uintptr, pTopNC uintptr) int32 { /* sqlite3.c:100574:12: */ +func areDoubleQuotedStringsEnabled(tls *libc.TLS, db uintptr, pTopNC uintptr) int32 { /* sqlite3.c:100587:12: */ if (*Sqlite3)(unsafe.Pointer(db)).Finit.Fbusy != 0 { return 1 } // Always support for legacy schemas @@ -80107,7 +80126,7 @@ func areDoubleQuotedStringsEnabled(tls *libc.TLS, db uintptr, pTopNC uintptr) in // The argument is guaranteed to be a non-NULL Expr node of type TK_COLUMN. // return the appropriate colUsed mask. -func Xsqlite3ExprColUsed(tls *libc.TLS, pExpr uintptr) Bitmask { /* sqlite3.c:100592:24: */ +func Xsqlite3ExprColUsed(tls *libc.TLS, pExpr uintptr) Bitmask { /* sqlite3.c:100605:24: */ var n int32 var pExTab uintptr @@ -80157,7 +80176,7 @@ func Xsqlite3ExprColUsed(tls *libc.TLS, pExpr uintptr) Bitmask { /* sqlite3.c:10 // // If the name cannot be resolved unambiguously, leave an error message // in pParse and return WRC_Abort. Return WRC_Prune on success. -func lookupName(tls *libc.TLS, pParse uintptr, zDb uintptr, zTab uintptr, zCol uintptr, pNC uintptr, pExpr uintptr) int32 { /* sqlite3.c:100641:12: */ +func lookupName(tls *libc.TLS, pParse uintptr, zDb uintptr, zTab uintptr, zCol uintptr, pNC uintptr, pExpr uintptr) int32 { /* sqlite3.c:100654:12: */ bp := tls.Alloc(96) defer tls.Free(96) @@ -80872,7 +80891,7 @@ __88: // Allocate and return a pointer to an expression to load the column iCol // from datasource iSrc in SrcList pSrc. -func Xsqlite3CreateColumnExpr(tls *libc.TLS, db uintptr, pSrc uintptr, iSrc int32, iCol int32) uintptr { /* sqlite3.c:101087:21: */ +func Xsqlite3CreateColumnExpr(tls *libc.TLS, db uintptr, pSrc uintptr, iSrc int32, iCol int32) uintptr { /* sqlite3.c:101100:21: */ var p uintptr = Xsqlite3ExprAlloc(tls, db, TK_COLUMN, uintptr(0), 0) if p != 0 { var pItem uintptr = pSrc + 8 + uintptr(iSrc)*112 @@ -80921,7 +80940,7 @@ func Xsqlite3CreateColumnExpr(tls *libc.TLS, db uintptr, pSrc uintptr, iSrc int3 // As an optimization, since the conditional is almost always false // (because errors are rare), the conditional is moved outside of the // function call using a macro. -func notValidImpl(tls *libc.TLS, pParse uintptr, pNC uintptr, zMsg uintptr, pExpr uintptr, pError uintptr) { /* sqlite3.c:101131:13: */ +func notValidImpl(tls *libc.TLS, pParse uintptr, pNC uintptr, zMsg uintptr, pExpr uintptr, pError uintptr) { /* sqlite3.c:101144:13: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -80943,7 +80962,7 @@ func notValidImpl(tls *libc.TLS, pParse uintptr, pNC uintptr, zMsg uintptr, pExp // Expression p should encode a floating point value between 1.0 and 0.0. // Return 1024 times this value. Or return -1 if p is not a floating point // value between 1.0 and 0.0. -func exprProbability(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:101159:12: */ +func exprProbability(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:101172:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -80969,7 +80988,7 @@ func exprProbability(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:101159:12: * // This routine also does error checking and name resolution for // function names. The operator for aggregate functions is changed // to TK_AGG_FUNCTION. -func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:101180:12: */ +func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:101193:12: */ bp := tls.Alloc(96) defer tls.Free(96) @@ -81450,7 +81469,7 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* s // return 0. // // pEList has been resolved. pE has not. -func resolveAsName(tls *libc.TLS, pParse uintptr, pEList uintptr, pE uintptr) int32 { /* sqlite3.c:101638:12: */ +func resolveAsName(tls *libc.TLS, pParse uintptr, pEList uintptr, pE uintptr) int32 { /* sqlite3.c:101651:12: */ var i int32 // Loop counter _ = pParse @@ -81485,7 +81504,7 @@ func resolveAsName(tls *libc.TLS, pParse uintptr, pEList uintptr, pE uintptr) in // the column. // // If there is no match, return 0. Return -1 if an error occurs. -func resolveOrderByTermToExprList(tls *libc.TLS, pParse uintptr, pSelect uintptr, pE uintptr) int32 { /* sqlite3.c:101680:12: */ +func resolveOrderByTermToExprList(tls *libc.TLS, pParse uintptr, pSelect uintptr, pE uintptr) int32 { /* sqlite3.c:101693:12: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -81529,7 +81548,7 @@ func resolveOrderByTermToExprList(tls *libc.TLS, pParse uintptr, pSelect uintptr } // Generate an ORDER BY or GROUP BY term out-of-range error. -func resolveOutOfRangeError(tls *libc.TLS, pParse uintptr, zType uintptr, i int32, mx int32, pError uintptr) { /* sqlite3.c:101727:13: */ +func resolveOutOfRangeError(tls *libc.TLS, pParse uintptr, zType uintptr, i int32, mx int32, pError uintptr) { /* sqlite3.c:101740:13: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -81552,7 +81571,7 @@ func resolveOutOfRangeError(tls *libc.TLS, pParse uintptr, zType uintptr, i int3 // the integer column number. // // Return the number of errors seen. -func resolveCompoundOrderBy(tls *libc.TLS, pParse uintptr, pSelect uintptr) int32 { /* sqlite3.c:101755:12: */ +func resolveCompoundOrderBy(tls *libc.TLS, pParse uintptr, pSelect uintptr) int32 { /* sqlite3.c:101768:12: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -81689,7 +81708,7 @@ func resolveCompoundOrderBy(tls *libc.TLS, pParse uintptr, pSelect uintptr) int3 // // If any errors are detected, add an error message to pParse and // return non-zero. Return zero if no errors are seen. -func Xsqlite3ResolveOrderGroupBy(tls *libc.TLS, pParse uintptr, pSelect uintptr, pOrderBy uintptr, zType uintptr) int32 { /* sqlite3.c:101868:20: */ +func Xsqlite3ResolveOrderGroupBy(tls *libc.TLS, pParse uintptr, pSelect uintptr, pOrderBy uintptr, zType uintptr) int32 { /* sqlite3.c:101881:20: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -81735,7 +81754,7 @@ __3: } // Walker callback for windowRemoveExprFromSelect(). -func resolveRemoveWindowsCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:101902:12: */ +func resolveRemoveWindowsCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:101915:12: */ _ = pWalker if (*Expr)(unsafe.Pointer(pExpr)).Fflags&U32(EP_WinFunc) != U32(0) { var pWin uintptr = *(*uintptr)(unsafe.Pointer(pExpr + 64)) @@ -81746,7 +81765,7 @@ func resolveRemoveWindowsCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 // Remove any Window objects owned by the expression pExpr from the // Select.pWin list of Select object pSelect. -func windowRemoveExprFromSelect(tls *libc.TLS, pSelect uintptr, pExpr uintptr) { /* sqlite3.c:101915:13: */ +func windowRemoveExprFromSelect(tls *libc.TLS, pSelect uintptr, pExpr uintptr) { /* sqlite3.c:101928:13: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -81778,7 +81797,7 @@ func windowRemoveExprFromSelect(tls *libc.TLS, pSelect uintptr, pExpr uintptr) { // This routine returns the number of errors. If errors occur, then // an appropriate error message might be left in pParse. (OOM errors // excepted.) -func resolveOrderGroupBy(tls *libc.TLS, pNC uintptr, pSelect uintptr, pOrderBy uintptr, zType uintptr) int32 { /* sqlite3.c:101946:12: */ +func resolveOrderGroupBy(tls *libc.TLS, pNC uintptr, pSelect uintptr, pOrderBy uintptr, zType uintptr) int32 { /* sqlite3.c:101959:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -81855,7 +81874,7 @@ __3: } // Resolve names in the SELECT statement p and all of its descendants. -func resolveSelectStep(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sqlite3.c:102009:12: */ +func resolveSelectStep(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sqlite3.c:102022:12: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -82154,7 +82173,7 @@ func resolveSelectStep(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sql // // An error message is left in pParse if anything is amiss. The number // if errors is returned. -func Xsqlite3ResolveExprNames(tls *libc.TLS, pNC uintptr, pExpr uintptr) int32 { /* sqlite3.c:102297:20: */ +func Xsqlite3ResolveExprNames(tls *libc.TLS, pNC uintptr, pExpr uintptr) int32 { /* sqlite3.c:102310:20: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -82195,7 +82214,7 @@ func Xsqlite3ResolveExprNames(tls *libc.TLS, pNC uintptr, pExpr uintptr) int32 { // Resolve all names for all expression in an expression list. This is // just like sqlite3ResolveExprNames() except that it works for an expression // list rather than a single expression. -func Xsqlite3ResolveExprListNames(tls *libc.TLS, pNC uintptr, pList uintptr) int32 { /* sqlite3.c:102336:20: */ +func Xsqlite3ResolveExprListNames(tls *libc.TLS, pNC uintptr, pList uintptr) int32 { /* sqlite3.c:102349:20: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -82252,7 +82271,7 @@ func Xsqlite3ResolveExprListNames(tls *libc.TLS, pNC uintptr, pList uintptr) int // // All SELECT statements should have been expanded using // sqlite3SelectExpand() prior to invoking this routine. -func Xsqlite3ResolveSelectNames(tls *libc.TLS, pParse uintptr, p uintptr, pOuterNC uintptr) { /* sqlite3.c:102392:21: */ +func Xsqlite3ResolveSelectNames(tls *libc.TLS, pParse uintptr, p uintptr, pOuterNC uintptr) { /* sqlite3.c:102405:21: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -82286,7 +82305,7 @@ func Xsqlite3ResolveSelectNames(tls *libc.TLS, pParse uintptr, p uintptr, pOuter // set to the column number. In case (4), TK_COLUMN nodes cause an error. // // Any errors cause an error message to be set in pParse. -func Xsqlite3ResolveSelfReference(tls *libc.TLS, pParse uintptr, pTab uintptr, type1 int32, pExpr uintptr, pList uintptr) int32 { /* sqlite3.c:102426:20: */ +func Xsqlite3ResolveSelfReference(tls *libc.TLS, pParse uintptr, pTab uintptr, type1 int32, pExpr uintptr, pList uintptr) int32 { /* sqlite3.c:102439:20: */ bp := tls.Alloc(176) defer tls.Free(176) @@ -82322,7 +82341,7 @@ func Xsqlite3ResolveSelfReference(tls *libc.TLS, pParse uintptr, pTab uintptr, t } // Return the affinity character for a single column of a table. -func Xsqlite3TableColumnAffinity(tls *libc.TLS, pTab uintptr, iCol int32) uint8 { /* sqlite3.c:102486:21: */ +func Xsqlite3TableColumnAffinity(tls *libc.TLS, pTab uintptr, iCol int32) uint8 { /* sqlite3.c:102499:21: */ if iCol < 0 || iCol >= int32((*Table)(unsafe.Pointer(pTab)).FnCol) { return uint8(SQLITE_AFF_INTEGER) } @@ -82343,7 +82362,7 @@ func Xsqlite3TableColumnAffinity(tls *libc.TLS, pTab uintptr, iCol int32) uint8 // SELECT * FROM t1 WHERE a; // SELECT a AS b FROM t1 WHERE b; // SELECT * FROM t1 WHERE (select a from t1); -func Xsqlite3ExprAffinity(tls *libc.TLS, pExpr uintptr) uint8 { /* sqlite3.c:102507:21: */ +func Xsqlite3ExprAffinity(tls *libc.TLS, pExpr uintptr) uint8 { /* sqlite3.c:102520:21: */ var op int32 for (*Expr)(unsafe.Pointer(pExpr)).Fflags&U32(EP_Skip|EP_IfNullRow) != U32(0) { @@ -82386,7 +82405,7 @@ func Xsqlite3ExprAffinity(tls *libc.TLS, pExpr uintptr) uint8 { /* sqlite3.c:102 // // If a memory allocation error occurs, that fact is recorded in pParse->db // and the pExpr parameter is returned unchanged. -func Xsqlite3ExprAddCollateToken(tls *libc.TLS, pParse uintptr, pExpr uintptr, pCollName uintptr, dequote int32) uintptr { /* sqlite3.c:102560:21: */ +func Xsqlite3ExprAddCollateToken(tls *libc.TLS, pParse uintptr, pExpr uintptr, pCollName uintptr, dequote int32) uintptr { /* sqlite3.c:102573:21: */ if (*Token)(unsafe.Pointer(pCollName)).Fn > uint32(0) { var pNew uintptr = Xsqlite3ExprAlloc(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, TK_COLLATE, pCollName, dequote) if pNew != 0 { @@ -82398,7 +82417,7 @@ func Xsqlite3ExprAddCollateToken(tls *libc.TLS, pParse uintptr, pExpr uintptr, p return pExpr } -func Xsqlite3ExprAddCollateString(tls *libc.TLS, pParse uintptr, pExpr uintptr, zC uintptr) uintptr { /* sqlite3.c:102576:21: */ +func Xsqlite3ExprAddCollateString(tls *libc.TLS, pParse uintptr, pExpr uintptr, zC uintptr) uintptr { /* sqlite3.c:102589:21: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -82409,7 +82428,7 @@ func Xsqlite3ExprAddCollateString(tls *libc.TLS, pParse uintptr, pExpr uintptr, } // Skip over any TK_COLLATE operators. -func Xsqlite3ExprSkipCollate(tls *libc.TLS, pExpr uintptr) uintptr { /* sqlite3.c:102590:21: */ +func Xsqlite3ExprSkipCollate(tls *libc.TLS, pExpr uintptr) uintptr { /* sqlite3.c:102603:21: */ for pExpr != 0 && (*Expr)(unsafe.Pointer(pExpr)).Fflags&U32(EP_Skip) != U32(0) { pExpr = (*Expr)(unsafe.Pointer(pExpr)).FpLeft @@ -82420,7 +82439,7 @@ func Xsqlite3ExprSkipCollate(tls *libc.TLS, pExpr uintptr) uintptr { /* sqlite3. // Skip over any TK_COLLATE operators and/or any unlikely() // or likelihood() or likely() functions at the root of an // expression. -func Xsqlite3ExprSkipCollateAndLikely(tls *libc.TLS, pExpr uintptr) uintptr { /* sqlite3.c:102603:21: */ +func Xsqlite3ExprSkipCollateAndLikely(tls *libc.TLS, pExpr uintptr) uintptr { /* sqlite3.c:102616:21: */ for pExpr != 0 && (*Expr)(unsafe.Pointer(pExpr)).Fflags&U32(EP_Skip|EP_Unlikely) != U32(0) { if (*Expr)(unsafe.Pointer(pExpr)).Fflags&U32(EP_Unlikely) != U32(0) { @@ -82445,7 +82464,7 @@ func Xsqlite3ExprSkipCollateAndLikely(tls *libc.TLS, pExpr uintptr) uintptr { /* // or by the presence of a column with a defined collating sequence. // COLLATE operators take first precedence. Left operands take // precedence over right operands. -func Xsqlite3ExprCollSeq(tls *libc.TLS, pParse uintptr, pExpr uintptr) uintptr { /* sqlite3.c:102632:24: */ +func Xsqlite3ExprCollSeq(tls *libc.TLS, pParse uintptr, pExpr uintptr) uintptr { /* sqlite3.c:102645:24: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb var pColl uintptr = uintptr(0) var p uintptr = pExpr @@ -82517,7 +82536,7 @@ func Xsqlite3ExprCollSeq(tls *libc.TLS, pParse uintptr, pExpr uintptr) uintptr { // // The sqlite3ExprCollSeq() routine works the same except that it // returns NULL if there is no defined collation. -func Xsqlite3ExprNNCollSeq(tls *libc.TLS, pParse uintptr, pExpr uintptr) uintptr { /* sqlite3.c:102705:24: */ +func Xsqlite3ExprNNCollSeq(tls *libc.TLS, pParse uintptr, pExpr uintptr) uintptr { /* sqlite3.c:102718:24: */ var p uintptr = Xsqlite3ExprCollSeq(tls, pParse, pExpr) if p == uintptr(0) { p = (*Sqlite3)(unsafe.Pointer((*Parse)(unsafe.Pointer(pParse)).Fdb)).FpDfltColl @@ -82527,7 +82546,7 @@ func Xsqlite3ExprNNCollSeq(tls *libc.TLS, pParse uintptr, pExpr uintptr) uintptr } // Return TRUE if the two expressions have equivalent collating sequences. -func Xsqlite3ExprCollSeqMatch(tls *libc.TLS, pParse uintptr, pE1 uintptr, pE2 uintptr) int32 { /* sqlite3.c:102715:20: */ +func Xsqlite3ExprCollSeqMatch(tls *libc.TLS, pParse uintptr, pE1 uintptr, pE2 uintptr) int32 { /* sqlite3.c:102728:20: */ var pColl1 uintptr = Xsqlite3ExprNNCollSeq(tls, pParse, pE1) var pColl2 uintptr = Xsqlite3ExprNNCollSeq(tls, pParse, pE2) return libc.Bool32(Xsqlite3StrICmp(tls, (*CollSeq)(unsafe.Pointer(pColl1)).FzName, (*CollSeq)(unsafe.Pointer(pColl2)).FzName) == 0) @@ -82536,7 +82555,7 @@ func Xsqlite3ExprCollSeqMatch(tls *libc.TLS, pParse uintptr, pE1 uintptr, pE2 ui // pExpr is an operand of a comparison operator. aff2 is the // type affinity of the other operand. This routine returns the // type affinity that should be used for the comparison operator. -func Xsqlite3CompareAffinity(tls *libc.TLS, pExpr uintptr, aff2 uint8) uint8 { /* sqlite3.c:102726:21: */ +func Xsqlite3CompareAffinity(tls *libc.TLS, pExpr uintptr, aff2 uint8) uint8 { /* sqlite3.c:102739:21: */ var aff1 uint8 = Xsqlite3ExprAffinity(tls, pExpr) if int32(aff1) > SQLITE_AFF_NONE && int32(aff2) > SQLITE_AFF_NONE { // Both sides of the comparison are columns. If one has numeric @@ -82561,7 +82580,7 @@ func Xsqlite3CompareAffinity(tls *libc.TLS, pExpr uintptr, aff2 uint8) uint8 { / // pExpr is a comparison operator. Return the type affinity that should // be applied to both operands prior to doing the comparison. -func comparisonAffinity(tls *libc.TLS, pExpr uintptr) uint8 { /* sqlite3.c:102748:13: */ +func comparisonAffinity(tls *libc.TLS, pExpr uintptr) uint8 { /* sqlite3.c:102761:13: */ var aff uint8 aff = Xsqlite3ExprAffinity(tls, (*Expr)(unsafe.Pointer(pExpr)).FpLeft) @@ -82579,7 +82598,7 @@ func comparisonAffinity(tls *libc.TLS, pExpr uintptr) uint8 { /* sqlite3.c:10274 // idx_affinity is the affinity of an indexed column. Return true // if the index with affinity idx_affinity may be used to implement // the comparison in pExpr. -func Xsqlite3IndexAffinityOk(tls *libc.TLS, pExpr uintptr, idx_affinity uint8) int32 { /* sqlite3.c:102771:20: */ +func Xsqlite3IndexAffinityOk(tls *libc.TLS, pExpr uintptr, idx_affinity uint8) int32 { /* sqlite3.c:102784:20: */ var aff uint8 = comparisonAffinity(tls, pExpr) if int32(aff) < SQLITE_AFF_TEXT { return 1 @@ -82592,7 +82611,7 @@ func Xsqlite3IndexAffinityOk(tls *libc.TLS, pExpr uintptr, idx_affinity uint8) i // Return the P5 value that should be used for a binary comparison // opcode (OP_Eq, OP_Ge etc.) used to compare pExpr1 and pExpr2. -func binaryCompareP5(tls *libc.TLS, pExpr1 uintptr, pExpr2 uintptr, jumpIfNull int32) U8 { /* sqlite3.c:102786:11: */ +func binaryCompareP5(tls *libc.TLS, pExpr1 uintptr, pExpr2 uintptr, jumpIfNull int32) U8 { /* sqlite3.c:102799:11: */ var aff U8 = U8(Xsqlite3ExprAffinity(tls, pExpr2)) aff = U8(int32(U8(Xsqlite3CompareAffinity(tls, pExpr1, uint8(aff)))) | int32(U8(jumpIfNull))) return aff @@ -82608,7 +82627,7 @@ func binaryCompareP5(tls *libc.TLS, pExpr1 uintptr, pExpr2 uintptr, jumpIfNull i // // Argument pRight (but not pLeft) may be a null pointer. In this case, // it is not considered. -func Xsqlite3BinaryCompareCollSeq(tls *libc.TLS, pParse uintptr, pLeft uintptr, pRight uintptr) uintptr { /* sqlite3.c:102808:24: */ +func Xsqlite3BinaryCompareCollSeq(tls *libc.TLS, pParse uintptr, pLeft uintptr, pRight uintptr) uintptr { /* sqlite3.c:102821:24: */ var pColl uintptr if (*Expr)(unsafe.Pointer(pLeft)).Fflags&U32(EP_Collate) != 0 { @@ -82631,7 +82650,7 @@ func Xsqlite3BinaryCompareCollSeq(tls *libc.TLS, pParse uintptr, pLeft uintptr, // However, if the OP_Commuted flag is set, then the order of the operands // is reversed in the sqlite3BinaryCompareCollSeq() call so that the // correct collating sequence is found. -func Xsqlite3ExprCompareCollSeq(tls *libc.TLS, pParse uintptr, p uintptr) uintptr { /* sqlite3.c:102836:24: */ +func Xsqlite3ExprCompareCollSeq(tls *libc.TLS, pParse uintptr, p uintptr) uintptr { /* sqlite3.c:102849:24: */ if (*Expr)(unsafe.Pointer(p)).Fflags&U32(EP_Commuted) != U32(0) { return Xsqlite3BinaryCompareCollSeq(tls, pParse, (*Expr)(unsafe.Pointer(p)).FpRight, (*Expr)(unsafe.Pointer(p)).FpLeft) } else { @@ -82641,7 +82660,7 @@ func Xsqlite3ExprCompareCollSeq(tls *libc.TLS, pParse uintptr, p uintptr) uintpt } // Generate code for a comparison operator. -func codeCompare(tls *libc.TLS, pParse uintptr, pLeft uintptr, pRight uintptr, opcode int32, in1 int32, in2 int32, dest int32, jumpIfNull int32, isCommuted int32) int32 { /* sqlite3.c:102847:12: */ +func codeCompare(tls *libc.TLS, pParse uintptr, pLeft uintptr, pRight uintptr, opcode int32, in1 int32, in2 int32, dest int32, jumpIfNull int32, isCommuted int32) int32 { /* sqlite3.c:102860:12: */ var p5 int32 var addr int32 var p4 uintptr @@ -82668,7 +82687,7 @@ func codeCompare(tls *libc.TLS, pParse uintptr, pLeft uintptr, pRight uintptr, o // parser will not generate a TK_VECTOR with fewer than two entries. // But a TK_SELECT might be either a vector or a scalar. It is only // considered a vector if it has two or more result columns. -func Xsqlite3ExprIsVector(tls *libc.TLS, pExpr uintptr) int32 { /* sqlite3.c:102883:20: */ +func Xsqlite3ExprIsVector(tls *libc.TLS, pExpr uintptr) int32 { /* sqlite3.c:102896:20: */ return libc.Bool32(Xsqlite3ExprVectorSize(tls, pExpr) > 1) } @@ -82676,7 +82695,7 @@ func Xsqlite3ExprIsVector(tls *libc.TLS, pExpr uintptr) int32 { /* sqlite3.c:102 // return the number of expressions in the vector. Or, if the expression // is a sub-select, return the number of columns in the sub-select. For // any other type of expression, return 1. -func Xsqlite3ExprVectorSize(tls *libc.TLS, pExpr uintptr) int32 { /* sqlite3.c:102893:20: */ +func Xsqlite3ExprVectorSize(tls *libc.TLS, pExpr uintptr) int32 { /* sqlite3.c:102906:20: */ var op U8 = (*Expr)(unsafe.Pointer(pExpr)).Fop if int32(op) == TK_REGISTER { op = (*Expr)(unsafe.Pointer(pExpr)).Fop2 @@ -82706,7 +82725,7 @@ func Xsqlite3ExprVectorSize(tls *libc.TLS, pExpr uintptr) int32 { /* sqlite3.c:1 // just the expression for the i-th term of the result set, and may // not be ready for evaluation because the table cursor has not yet // been positioned. -func Xsqlite3VectorFieldSubexpr(tls *libc.TLS, pVector uintptr, i int32) uintptr { /* sqlite3.c:102922:21: */ +func Xsqlite3VectorFieldSubexpr(tls *libc.TLS, pVector uintptr, i int32) uintptr { /* sqlite3.c:102935:21: */ if Xsqlite3ExprIsVector(tls, pVector) != 0 { @@ -82740,7 +82759,7 @@ func Xsqlite3VectorFieldSubexpr(tls *libc.TLS, pVector uintptr, i int32) uintptr // A trick to cause a TK_SELECT pVector to be deleted together with // the returned Expr object is to attach the pVector to the pRight field // of the returned TK_SELECT_COLUMN Expr object. -func Xsqlite3ExprForVectorField(tls *libc.TLS, pParse uintptr, pVector uintptr, iField int32, nField int32) uintptr { /* sqlite3.c:102958:21: */ +func Xsqlite3ExprForVectorField(tls *libc.TLS, pParse uintptr, pVector uintptr, iField int32, nField int32) uintptr { /* sqlite3.c:102971:21: */ var pRet uintptr if int32((*Expr)(unsafe.Pointer(pVector)).Fop) == TK_SELECT { @@ -82788,7 +82807,7 @@ func Xsqlite3ExprForVectorField(tls *libc.TLS, pParse uintptr, pVector uintptr, // of registers in which the result is stored). // // If pExpr is not a TK_SELECT expression, return 0. -func exprCodeSubselect(tls *libc.TLS, pParse uintptr, pExpr uintptr) int32 { /* sqlite3.c:103014:12: */ +func exprCodeSubselect(tls *libc.TLS, pParse uintptr, pExpr uintptr) int32 { /* sqlite3.c:103027:12: */ var reg int32 = 0 if int32((*Expr)(unsafe.Pointer(pExpr)).Fop) == TK_SELECT { reg = Xsqlite3CodeSubselect(tls, pParse, pExpr) @@ -82812,7 +82831,7 @@ func exprCodeSubselect(tls *libc.TLS, pParse uintptr, pExpr uintptr) int32 { /* // // Before returning, output parameter (*ppExpr) is set to point to the // Expr object corresponding to element iElem of the vector. -func exprVectorRegister(tls *libc.TLS, pParse uintptr, pVector uintptr, iField int32, regSelect int32, ppExpr uintptr, pRegFree uintptr) int32 { /* sqlite3.c:103042:12: */ +func exprVectorRegister(tls *libc.TLS, pParse uintptr, pVector uintptr, iField int32, regSelect int32, ppExpr uintptr, pRegFree uintptr) int32 { /* sqlite3.c:103055:12: */ var op U8 = (*Expr)(unsafe.Pointer(pVector)).Fop if int32(op) == TK_REGISTER { @@ -82841,7 +82860,7 @@ func exprVectorRegister(tls *libc.TLS, pParse uintptr, pVector uintptr, iField i // if pExpr->op==TK_IS: op==TK_EQ and p5==SQLITE_NULLEQ // if pExpr->op==TK_ISNOT: op==TK_NE and p5==SQLITE_NULLEQ // otherwise: op==pExpr->op and p5==0 -func codeVectorCompare(tls *libc.TLS, pParse uintptr, pExpr uintptr, dest int32, op U8, p5 U8) { /* sqlite3.c:103080:13: */ +func codeVectorCompare(tls *libc.TLS, pParse uintptr, pExpr uintptr, dest int32, op U8, p5 U8) { /* sqlite3.c:103093:13: */ bp := tls.Alloc(28) defer tls.Free(28) @@ -82929,7 +82948,7 @@ func codeVectorCompare(tls *libc.TLS, pParse uintptr, pExpr uintptr, dest int32, // Check that argument nHeight is less than or equal to the maximum // expression depth allowed. If it is not, leave an error message in // pParse. -func Xsqlite3ExprCheckHeight(tls *libc.TLS, pParse uintptr, nHeight int32) int32 { /* sqlite3.c:103175:20: */ +func Xsqlite3ExprCheckHeight(tls *libc.TLS, pParse uintptr, nHeight int32) int32 { /* sqlite3.c:103188:20: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -82951,7 +82970,7 @@ func Xsqlite3ExprCheckHeight(tls *libc.TLS, pParse uintptr, nHeight int32) int32 // If this maximum height is greater than the current value pointed // to by pnHeight, the second parameter, then set *pnHeight to that // value. -func heightOfExpr(tls *libc.TLS, p uintptr, pnHeight uintptr) { /* sqlite3.c:103196:13: */ +func heightOfExpr(tls *libc.TLS, p uintptr, pnHeight uintptr) { /* sqlite3.c:103209:13: */ if p != 0 { if (*Expr)(unsafe.Pointer(p)).FnHeight > *(*int32)(unsafe.Pointer(pnHeight)) { *(*int32)(unsafe.Pointer(pnHeight)) = (*Expr)(unsafe.Pointer(p)).FnHeight @@ -82959,7 +82978,7 @@ func heightOfExpr(tls *libc.TLS, p uintptr, pnHeight uintptr) { /* sqlite3.c:103 } } -func heightOfExprList(tls *libc.TLS, p uintptr, pnHeight uintptr) { /* sqlite3.c:103203:13: */ +func heightOfExprList(tls *libc.TLS, p uintptr, pnHeight uintptr) { /* sqlite3.c:103216:13: */ if p != 0 { var i int32 for i = 0; i < (*ExprList)(unsafe.Pointer(p)).FnExpr; i++ { @@ -82968,7 +82987,7 @@ func heightOfExprList(tls *libc.TLS, p uintptr, pnHeight uintptr) { /* sqlite3.c } } -func heightOfSelect(tls *libc.TLS, pSelect uintptr, pnHeight uintptr) { /* sqlite3.c:103211:13: */ +func heightOfSelect(tls *libc.TLS, pSelect uintptr, pnHeight uintptr) { /* sqlite3.c:103224:13: */ var p uintptr for p = pSelect; p != 0; p = (*Select)(unsafe.Pointer(p)).FpPrior { heightOfExpr(tls, (*Select)(unsafe.Pointer(p)).FpWhere, pnHeight) @@ -82988,7 +83007,7 @@ func heightOfSelect(tls *libc.TLS, pSelect uintptr, pnHeight uintptr) { /* sqlit // // Also propagate EP_Propagate flags up from Expr.x.pList to Expr.flags, // if appropriate. -func exprSetHeight(tls *libc.TLS, p uintptr) { /* sqlite3.c:103233:13: */ +func exprSetHeight(tls *libc.TLS, p uintptr) { /* sqlite3.c:103246:13: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -83015,7 +83034,7 @@ func exprSetHeight(tls *libc.TLS, p uintptr) { /* sqlite3.c:103233:13: */ // // Also propagate all EP_Propagate flags from the Expr.x.pList into // Expr.flags. -func Xsqlite3ExprSetHeightAndFlags(tls *libc.TLS, pParse uintptr, p uintptr) { /* sqlite3.c:103253:21: */ +func Xsqlite3ExprSetHeightAndFlags(tls *libc.TLS, pParse uintptr, p uintptr) { /* sqlite3.c:103266:21: */ if (*Parse)(unsafe.Pointer(pParse)).FnErr != 0 { return } @@ -83025,7 +83044,7 @@ func Xsqlite3ExprSetHeightAndFlags(tls *libc.TLS, pParse uintptr, p uintptr) { / // Return the maximum height of any expression tree referenced // by the select statement passed as an argument. -func Xsqlite3SelectExprHeight(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:103263:20: */ +func Xsqlite3SelectExprHeight(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:103276:20: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -83052,7 +83071,7 @@ func Xsqlite3SelectExprHeight(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:103 // stored in u.zToken. Instead, the integer values is written // into u.iValue and the EP_IntValue flag is set. No extra storage // is allocated to hold the integer text and the dequote flag is ignored. -func Xsqlite3ExprAlloc(tls *libc.TLS, db uintptr, op int32, pToken uintptr, dequote int32) uintptr { /* sqlite3.c:103302:21: */ +func Xsqlite3ExprAlloc(tls *libc.TLS, db uintptr, op int32, pToken uintptr, dequote int32) uintptr { /* sqlite3.c:103315:21: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -83100,7 +83119,7 @@ func Xsqlite3ExprAlloc(tls *libc.TLS, db uintptr, op int32, pToken uintptr, dequ // Allocate a new expression node from a zero-terminated token that has // already been dequoted. -func Xsqlite3Expr(tls *libc.TLS, db uintptr, op int32, zToken uintptr) uintptr { /* sqlite3.c:103350:21: */ +func Xsqlite3Expr(tls *libc.TLS, db uintptr, op int32, zToken uintptr) uintptr { /* sqlite3.c:103363:21: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -83115,7 +83134,7 @@ func Xsqlite3Expr(tls *libc.TLS, db uintptr, op int32, zToken uintptr) uintptr { // // If pRoot==NULL that means that a memory allocation error has occurred. // In that case, delete the subtrees pLeft and pRight. -func Xsqlite3ExprAttachSubtrees(tls *libc.TLS, db uintptr, pRoot uintptr, pLeft uintptr, pRight uintptr) { /* sqlite3.c:103367:21: */ +func Xsqlite3ExprAttachSubtrees(tls *libc.TLS, db uintptr, pRoot uintptr, pLeft uintptr, pRight uintptr) { /* sqlite3.c:103380:21: */ if pRoot == uintptr(0) { Xsqlite3ExprDelete(tls, db, pLeft) @@ -83138,7 +83157,7 @@ func Xsqlite3ExprAttachSubtrees(tls *libc.TLS, db uintptr, pRoot uintptr, pLeft // One or both of the subtrees can be NULL. Return a pointer to the new // Expr node. Or, if an OOM error occurs, set pParse->db->mallocFailed, // free the subtrees and return NULL. -func Xsqlite3PExpr(tls *libc.TLS, pParse uintptr, op int32, pLeft uintptr, pRight uintptr) uintptr { /* sqlite3.c:103397:21: */ +func Xsqlite3PExpr(tls *libc.TLS, pParse uintptr, op int32, pLeft uintptr, pRight uintptr) uintptr { /* sqlite3.c:103410:21: */ var p uintptr p = Xsqlite3DbMallocRawNN(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, uint64(unsafe.Sizeof(Expr{}))) if p != 0 { @@ -83156,7 +83175,7 @@ func Xsqlite3PExpr(tls *libc.TLS, pParse uintptr, op int32, pLeft uintptr, pRigh // Add pSelect to the Expr.x.pSelect field. Or, if pExpr is NULL (due // do a memory allocation failure) then delete the pSelect object. -func Xsqlite3PExprAddSelect(tls *libc.TLS, pParse uintptr, pExpr uintptr, pSelect uintptr) { /* sqlite3.c:103422:21: */ +func Xsqlite3PExprAddSelect(tls *libc.TLS, pParse uintptr, pExpr uintptr, pSelect uintptr) { /* sqlite3.c:103435:21: */ if pExpr != 0 { *(*uintptr)(unsafe.Pointer(pExpr + 32)) = pSelect *(*U32)(unsafe.Pointer(pExpr + 4)) |= U32(EP_xIsSelect | EP_Subquery) @@ -83184,7 +83203,7 @@ func Xsqlite3PExprAddSelect(tls *libc.TLS, pParse uintptr, pExpr uintptr, pSelec // // This is used as part of processing IN(...) expressions with a list // of vectors on the RHS. e.g. "... IN ((1,2), (3,4), (5,6))". -func Xsqlite3ExprListToValues(tls *libc.TLS, pParse uintptr, nElem int32, pEList uintptr) uintptr { /* sqlite3.c:103452:23: */ +func Xsqlite3ExprListToValues(tls *libc.TLS, pParse uintptr, nElem int32, pEList uintptr) uintptr { /* sqlite3.c:103465:23: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -83236,7 +83255,7 @@ func Xsqlite3ExprListToValues(tls *libc.TLS, pParse uintptr, nElem int32, pEList // If one side or the other of the AND is known to be false, then instead // of returning an AND expression, just return a constant expression with // a value of false. -func Xsqlite3ExprAnd(tls *libc.TLS, pParse uintptr, pLeft uintptr, pRight uintptr) uintptr { /* sqlite3.c:103499:21: */ +func Xsqlite3ExprAnd(tls *libc.TLS, pParse uintptr, pLeft uintptr, pRight uintptr) uintptr { /* sqlite3.c:103512:21: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb if pLeft == uintptr(0) { return pRight @@ -83255,7 +83274,7 @@ func Xsqlite3ExprAnd(tls *libc.TLS, pParse uintptr, pLeft uintptr, pRight uintpt // Construct a new expression node for a function with multiple // arguments. -func Xsqlite3ExprFunction(tls *libc.TLS, pParse uintptr, pList uintptr, pToken uintptr, eDistinct int32) uintptr { /* sqlite3.c:103520:21: */ +func Xsqlite3ExprFunction(tls *libc.TLS, pParse uintptr, pList uintptr, pToken uintptr, eDistinct int32) uintptr { /* sqlite3.c:103533:21: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -83292,7 +83311,7 @@ func Xsqlite3ExprFunction(tls *libc.TLS, pParse uintptr, pList uintptr, pToken u // top-level SQL // // If the function is not usable, create an error. -func Xsqlite3ExprFunctionUsable(tls *libc.TLS, pParse uintptr, pExpr uintptr, pDef uintptr) { /* sqlite3.c:103560:21: */ +func Xsqlite3ExprFunctionUsable(tls *libc.TLS, pParse uintptr, pExpr uintptr, pDef uintptr) { /* sqlite3.c:103573:21: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -83324,7 +83343,7 @@ func Xsqlite3ExprFunctionUsable(tls *libc.TLS, pParse uintptr, pExpr uintptr, pD // as the previous instance of the same wildcard. Or if this is the first // instance of the wildcard, the next sequential variable number is // assigned. -func Xsqlite3ExprAssignVarNumber(tls *libc.TLS, pParse uintptr, pExpr uintptr, n U32) { /* sqlite3.c:103599:21: */ +func Xsqlite3ExprAssignVarNumber(tls *libc.TLS, pParse uintptr, pExpr uintptr, n U32) { /* sqlite3.c:103612:21: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -83392,7 +83411,7 @@ func Xsqlite3ExprAssignVarNumber(tls *libc.TLS, pParse uintptr, pExpr uintptr, n } // Recursively delete an expression tree. -func sqlite3ExprDeleteNN(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:103669:29: */ +func sqlite3ExprDeleteNN(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:103682:29: */ if !((*Expr)(unsafe.Pointer(p)).Fflags&U32(EP_TokenOnly|EP_Leaf) != U32(0)) { // The Expr.x union is never used at the same time as Expr.pRight @@ -83422,7 +83441,7 @@ func sqlite3ExprDeleteNN(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:10 } } -func Xsqlite3ExprDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:103710:21: */ +func Xsqlite3ExprDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:103723:21: */ if p != 0 { sqlite3ExprDeleteNN(tls, db, p) } @@ -83436,13 +83455,13 @@ func Xsqlite3ExprDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:103 // // The deferred delete is (currently) implemented by adding the // pExpr to the pParse->pConstExpr list with a register number of 0. -func Xsqlite3ExprDeferredDelete(tls *libc.TLS, pParse uintptr, pExpr uintptr) { /* sqlite3.c:103725:21: */ +func Xsqlite3ExprDeferredDelete(tls *libc.TLS, pParse uintptr, pExpr uintptr) { /* sqlite3.c:103738:21: */ (*Parse)(unsafe.Pointer(pParse)).FpConstExpr = Xsqlite3ExprListAppend(tls, pParse, (*Parse)(unsafe.Pointer(pParse)).FpConstExpr, pExpr) } // Invoke sqlite3RenameExprUnmap() and sqlite3ExprDelete() on the // expression. -func Xsqlite3ExprUnmapAndDelete(tls *libc.TLS, pParse uintptr, p uintptr) { /* sqlite3.c:103733:21: */ +func Xsqlite3ExprUnmapAndDelete(tls *libc.TLS, pParse uintptr, p uintptr) { /* sqlite3.c:103746:21: */ if p != 0 { if int32((*Parse)(unsafe.Pointer(pParse)).FeParseMode) >= PARSE_MODE_RENAME { Xsqlite3RenameExprUnmap(tls, pParse, p) @@ -83454,7 +83473,7 @@ func Xsqlite3ExprUnmapAndDelete(tls *libc.TLS, pParse uintptr, p uintptr) { /* s // Return the number of bytes allocated for the expression structure // passed as the first argument. This is always one of EXPR_FULLSIZE, // EXPR_REDUCEDSIZE or EXPR_TOKENONLYSIZE. -func exprStructSize(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:103747:12: */ +func exprStructSize(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:103760:12: */ if (*Expr)(unsafe.Pointer(p)).Fflags&U32(EP_TokenOnly) != U32(0) { return int32(uintptr(0) + 16) } @@ -83496,7 +83515,7 @@ func exprStructSize(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:103747:12: */ // to reduce a pristine expression tree from the parser. The implementation // of dupedExprStructSize() contain multiple assert() statements that attempt // to enforce this constraint. -func dupedExprStructSize(tls *libc.TLS, p uintptr, flags int32) int32 { /* sqlite3.c:103787:12: */ +func dupedExprStructSize(tls *libc.TLS, p uintptr, flags int32) int32 { /* sqlite3.c:103800:12: */ var nSize int32 // Only one flag value allowed @@ -83518,7 +83537,7 @@ func dupedExprStructSize(tls *libc.TLS, p uintptr, flags int32) int32 { /* sqlit // This function returns the space in bytes required to store the copy // of the Expr structure and a copy of the Expr.u.zToken string (if that // string is defined.) -func dupedExprNodeSize(tls *libc.TLS, p uintptr, flags int32) int32 { /* sqlite3.c:103818:12: */ +func dupedExprNodeSize(tls *libc.TLS, p uintptr, flags int32) int32 { /* sqlite3.c:103831:12: */ var nByte int32 = dupedExprStructSize(tls, p, flags) & 0xfff if !((*Expr)(unsafe.Pointer(p)).Fflags&U32(EP_IntValue) != U32(0)) && *(*uintptr)(unsafe.Pointer(p + 8)) != 0 { nByte = int32(Size_t(nByte) + (libc.Xstrlen(tls, *(*uintptr)(unsafe.Pointer(p + 8)))&uint64(0x3fffffff) + uint64(1))) @@ -83537,7 +83556,7 @@ func dupedExprNodeSize(tls *libc.TLS, p uintptr, flags int32) int32 { /* sqlite3 // space to duplicate all Expr nodes in the tree formed by Expr.pLeft // and Expr.pRight variables (but not for any structures pointed to or // descended from the Expr.x.pList or Expr.x.pSelect variables). -func dupedExprSize(tls *libc.TLS, p uintptr, flags int32) int32 { /* sqlite3.c:103839:12: */ +func dupedExprSize(tls *libc.TLS, p uintptr, flags int32) int32 { /* sqlite3.c:103852:12: */ var nByte int32 = 0 if p != 0 { nByte = dupedExprNodeSize(tls, p, flags) @@ -83554,7 +83573,7 @@ func dupedExprSize(tls *libc.TLS, p uintptr, flags int32) int32 { /* sqlite3.c:1 // (if applicable), and the copies of the p->pLeft and p->pRight expressions, // if any. Before returning, *pzBuffer is set to the first byte past the // portion of the buffer copied into by this function. -func exprDup(tls *libc.TLS, db uintptr, p uintptr, dupFlags int32, pzBuffer uintptr) uintptr { /* sqlite3.c:103858:13: */ +func exprDup(tls *libc.TLS, db uintptr, p uintptr, dupFlags int32, pzBuffer uintptr) uintptr { /* sqlite3.c:103871:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -83664,7 +83683,7 @@ func exprDup(tls *libc.TLS, db uintptr, p uintptr, dupFlags int32, pzBuffer uint // Create and return a deep copy of the object passed as the second // argument. If an OOM condition is encountered, NULL is returned // and the db->mallocFailed flag set. -func Xsqlite3WithDup(tls *libc.TLS, db uintptr, p uintptr) uintptr { /* sqlite3.c:103968:21: */ +func Xsqlite3WithDup(tls *libc.TLS, db uintptr, p uintptr) uintptr { /* sqlite3.c:103981:21: */ var pRet uintptr = uintptr(0) if p != 0 { var nByte Sqlite3_int64 = Sqlite3_int64(uint64(unsafe.Sizeof(With{})) + uint64(unsafe.Sizeof(Cte{}))*uint64((*With)(unsafe.Pointer(p)).FnCte-1)) @@ -83686,7 +83705,7 @@ func Xsqlite3WithDup(tls *libc.TLS, db uintptr, p uintptr) uintptr { /* sqlite3. // gatherSelectWindowsCallback() are used to scan all the expressions // an a newly duplicated SELECT statement and gather all of the Window // objects found there, assembling them onto the linked list at Select->pWin. -func gatherSelectWindowsCallback(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:103996:12: */ +func gatherSelectWindowsCallback(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:104009:12: */ if int32((*Expr)(unsafe.Pointer(pExpr)).Fop) == TK_FUNCTION && (*Expr)(unsafe.Pointer(pExpr)).Fflags&U32(EP_WinFunc) != U32(0) { var pSelect uintptr = *(*uintptr)(unsafe.Pointer(pWalker + 40)) var pWin uintptr = *(*uintptr)(unsafe.Pointer(pExpr + 64)) @@ -83696,14 +83715,14 @@ func gatherSelectWindowsCallback(tls *libc.TLS, pWalker uintptr, pExpr uintptr) return WRC_Continue } -func gatherSelectWindowsSelectCallback(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sqlite3.c:104007:12: */ +func gatherSelectWindowsSelectCallback(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sqlite3.c:104020:12: */ if p == *(*uintptr)(unsafe.Pointer(pWalker + 40)) { return WRC_Continue } return WRC_Prune } -func gatherSelectWindows(tls *libc.TLS, p uintptr) { /* sqlite3.c:104010:13: */ +func gatherSelectWindows(tls *libc.TLS, p uintptr) { /* sqlite3.c:104023:13: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -83736,7 +83755,7 @@ func gatherSelectWindows(tls *libc.TLS, p uintptr) { /* sqlite3.c:104010:13: */ // If the EXPRDUP_REDUCE flag is set, then the structure returned is a // truncated version of the usual Expr structure that will be stored as // part of the in-memory representation of the database schema. -func Xsqlite3ExprDup(tls *libc.TLS, db uintptr, p uintptr, flags int32) uintptr { /* sqlite3.c:104039:21: */ +func Xsqlite3ExprDup(tls *libc.TLS, db uintptr, p uintptr, flags int32) uintptr { /* sqlite3.c:104052:21: */ if p != 0 { return exprDup(tls, db, p, flags, uintptr(0)) @@ -83744,7 +83763,7 @@ func Xsqlite3ExprDup(tls *libc.TLS, db uintptr, p uintptr, flags int32) uintptr return uintptr(0) } -func Xsqlite3ExprListDup(tls *libc.TLS, db uintptr, p uintptr, flags int32) uintptr { /* sqlite3.c:104043:25: */ +func Xsqlite3ExprListDup(tls *libc.TLS, db uintptr, p uintptr, flags int32) uintptr { /* sqlite3.c:104056:25: */ var pNew uintptr var pItem uintptr var pOldItem uintptr @@ -83813,7 +83832,7 @@ __3: // the build, then none of the following routines, except for // sqlite3SelectDup(), can be called. sqlite3SelectDup() is sometimes // called with a NULL argument. -func Xsqlite3SrcListDup(tls *libc.TLS, db uintptr, p uintptr, flags int32) uintptr { /* sqlite3.c:104098:24: */ +func Xsqlite3SrcListDup(tls *libc.TLS, db uintptr, p uintptr, flags int32) uintptr { /* sqlite3.c:104111:24: */ var pNew uintptr var i int32 var nByte int32 @@ -83866,7 +83885,7 @@ func Xsqlite3SrcListDup(tls *libc.TLS, db uintptr, p uintptr, flags int32) uintp return pNew } -func Xsqlite3IdListDup(tls *libc.TLS, db uintptr, p uintptr) uintptr { /* sqlite3.c:104142:23: */ +func Xsqlite3IdListDup(tls *libc.TLS, db uintptr, p uintptr) uintptr { /* sqlite3.c:104155:23: */ var pNew uintptr var i int32 @@ -83895,7 +83914,7 @@ func Xsqlite3IdListDup(tls *libc.TLS, db uintptr, p uintptr) uintptr { /* sqlite return pNew } -func Xsqlite3SelectDup(tls *libc.TLS, db uintptr, pDup uintptr, flags int32) uintptr { /* sqlite3.c:104166:23: */ +func Xsqlite3SelectDup(tls *libc.TLS, db uintptr, pDup uintptr, flags int32) uintptr { /* sqlite3.c:104179:23: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -83961,9 +83980,9 @@ func Xsqlite3SelectDup(tls *libc.TLS, db uintptr, pDup uintptr, flags int32) uin // If a memory allocation error occurs, the entire list is freed and // NULL is returned. If non-NULL is returned, then it is guaranteed // that the new entry was successfully appended. -var zeroItem = ExprList_item{} /* sqlite3.c:104237:35 */ +var zeroItem = ExprList_item{} /* sqlite3.c:104250:35 */ -func Xsqlite3ExprListAppendNew(tls *libc.TLS, db uintptr, pExpr uintptr) uintptr { /* sqlite3.c:104238:41: */ +func Xsqlite3ExprListAppendNew(tls *libc.TLS, db uintptr, pExpr uintptr) uintptr { /* sqlite3.c:104251:41: */ var pItem uintptr var pList uintptr @@ -83980,7 +83999,7 @@ func Xsqlite3ExprListAppendNew(tls *libc.TLS, db uintptr, pExpr uintptr) uintptr return pList } -func Xsqlite3ExprListAppendGrow(tls *libc.TLS, db uintptr, pList uintptr, pExpr uintptr) uintptr { /* sqlite3.c:104257:41: */ +func Xsqlite3ExprListAppendGrow(tls *libc.TLS, db uintptr, pList uintptr, pExpr uintptr) uintptr { /* sqlite3.c:104270:41: */ var pItem uintptr var pNew uintptr *(*int32)(unsafe.Pointer(pList + 4)) *= 2 @@ -83999,7 +84018,7 @@ func Xsqlite3ExprListAppendGrow(tls *libc.TLS, db uintptr, pList uintptr, pExpr return pList } -func Xsqlite3ExprListAppend(tls *libc.TLS, pParse uintptr, pList uintptr, pExpr uintptr) uintptr { /* sqlite3.c:104279:25: */ +func Xsqlite3ExprListAppend(tls *libc.TLS, pParse uintptr, pList uintptr, pExpr uintptr) uintptr { /* sqlite3.c:104292:25: */ var pItem uintptr if pList == uintptr(0) { return Xsqlite3ExprListAppendNew(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, pExpr) @@ -84022,7 +84041,7 @@ func Xsqlite3ExprListAppend(tls *libc.TLS, pParse uintptr, pList uintptr, pExpr // For each term of the vector assignment, append new entries to the // expression list pList. In the case of a subquery on the RHS, append // TK_SELECT_COLUMN expressions. -func Xsqlite3ExprListAppendVector(tls *libc.TLS, pParse uintptr, pList uintptr, pColumns uintptr, pExpr uintptr) uintptr { /* sqlite3.c:104308:25: */ +func Xsqlite3ExprListAppendVector(tls *libc.TLS, pParse uintptr, pList uintptr, pColumns uintptr, pExpr uintptr) uintptr { /* sqlite3.c:104321:25: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -84119,7 +84138,7 @@ vector_append_error: } // Set the sort order for the last element on the given ExprList. -func Xsqlite3ExprListSetSortOrder(tls *libc.TLS, p uintptr, iSortOrder int32, eNulls int32) { /* sqlite3.c:104370:21: */ +func Xsqlite3ExprListSetSortOrder(tls *libc.TLS, p uintptr, iSortOrder int32, eNulls int32) { /* sqlite3.c:104383:21: */ var pItem uintptr if p == uintptr(0) { return @@ -84146,7 +84165,7 @@ func Xsqlite3ExprListSetSortOrder(tls *libc.TLS, p uintptr, iSortOrder int32, eN // pList might be NULL following an OOM error. But pName should never be // NULL. If a memory allocation fails, the pParse->db->mallocFailed flag // is set. -func Xsqlite3ExprListSetName(tls *libc.TLS, pParse uintptr, pList uintptr, pName uintptr, dequote int32) { /* sqlite3.c:104408:21: */ +func Xsqlite3ExprListSetName(tls *libc.TLS, pParse uintptr, pList uintptr, pName uintptr, dequote int32) { /* sqlite3.c:104421:21: */ if pList != 0 { var pItem uintptr @@ -84172,7 +84191,7 @@ func Xsqlite3ExprListSetName(tls *libc.TLS, pParse uintptr, pList uintptr, pName // pList might be NULL following an OOM error. But pSpan should never be // NULL. If a memory allocation fails, the pParse->db->mallocFailed flag // is set. -func Xsqlite3ExprListSetSpan(tls *libc.TLS, pParse uintptr, pList uintptr, zStart uintptr, zEnd uintptr) { /* sqlite3.c:104443:21: */ +func Xsqlite3ExprListSetSpan(tls *libc.TLS, pParse uintptr, pList uintptr, zStart uintptr, zEnd uintptr) { /* sqlite3.c:104456:21: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb if pList != 0 { @@ -84187,7 +84206,7 @@ func Xsqlite3ExprListSetSpan(tls *libc.TLS, pParse uintptr, pList uintptr, zStar // If the expression list pEList contains more than iLimit elements, // leave an error message in pParse. -func Xsqlite3ExprListCheckLength(tls *libc.TLS, pParse uintptr, pEList uintptr, zObject uintptr) { /* sqlite3.c:104465:21: */ +func Xsqlite3ExprListCheckLength(tls *libc.TLS, pParse uintptr, pEList uintptr, zObject uintptr) { /* sqlite3.c:104478:21: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -84199,7 +84218,7 @@ func Xsqlite3ExprListCheckLength(tls *libc.TLS, pParse uintptr, pEList uintptr, } // Delete an entire expression list. -func exprListDeleteNN(tls *libc.TLS, db uintptr, pList uintptr) { /* sqlite3.c:104481:29: */ +func exprListDeleteNN(tls *libc.TLS, db uintptr, pList uintptr) { /* sqlite3.c:104494:29: */ var i int32 = (*ExprList)(unsafe.Pointer(pList)).FnExpr var pItem uintptr = pList + 8 /* &.a */ @@ -84211,7 +84230,7 @@ func exprListDeleteNN(tls *libc.TLS, db uintptr, pList uintptr) { /* sqlite3.c:1 Xsqlite3DbFreeNN(tls, db, pList) } -func Xsqlite3ExprListDelete(tls *libc.TLS, db uintptr, pList uintptr) { /* sqlite3.c:104492:21: */ +func Xsqlite3ExprListDelete(tls *libc.TLS, db uintptr, pList uintptr) { /* sqlite3.c:104505:21: */ if pList != 0 { exprListDeleteNN(tls, db, pList) } @@ -84219,7 +84238,7 @@ func Xsqlite3ExprListDelete(tls *libc.TLS, db uintptr, pList uintptr) { /* sqlit // Return the bitwise-OR of all Expr.flags fields in the given // ExprList. -func Xsqlite3ExprListFlags(tls *libc.TLS, pList uintptr) U32 { /* sqlite3.c:104500:20: */ +func Xsqlite3ExprListFlags(tls *libc.TLS, pList uintptr) U32 { /* sqlite3.c:104513:20: */ var i int32 var m U32 = U32(0) @@ -84236,7 +84255,7 @@ func Xsqlite3ExprListFlags(tls *libc.TLS, pList uintptr) U32 { /* sqlite3.c:1045 // pWalker->eCode to zero and abort. // // This callback is used by multiple expression walkers. -func Xsqlite3SelectWalkFail(tls *libc.TLS, pWalker uintptr, NotUsed uintptr) int32 { /* sqlite3.c:104519:20: */ +func Xsqlite3SelectWalkFail(tls *libc.TLS, pWalker uintptr, NotUsed uintptr) int32 { /* sqlite3.c:104532:20: */ _ = NotUsed (*Walker)(unsafe.Pointer(pWalker)).FeCode = U16(0) return WRC_Abort @@ -84248,7 +84267,7 @@ func Xsqlite3SelectWalkFail(tls *libc.TLS, pWalker uintptr, NotUsed uintptr) int // "true" EP_IsTrue // "false" EP_IsFalse // anything else 0 -func Xsqlite3IsTrueOrFalse(tls *libc.TLS, zIn uintptr) U32 { /* sqlite3.c:104533:20: */ +func Xsqlite3IsTrueOrFalse(tls *libc.TLS, zIn uintptr) U32 { /* sqlite3.c:104546:20: */ if Xsqlite3StrICmp(tls, zIn, ts+6637) == 0 { return U32(EP_IsTrue) } @@ -84261,7 +84280,7 @@ func Xsqlite3IsTrueOrFalse(tls *libc.TLS, zIn uintptr) U32 { /* sqlite3.c:104533 // If the input expression is an ID with the name "true" or "false" // then convert it into an TK_TRUEFALSE term. Return non-zero if // the conversion happened, and zero if the expression is unaltered. -func Xsqlite3ExprIdToTrueFalse(tls *libc.TLS, pExpr uintptr) int32 { /* sqlite3.c:104545:20: */ +func Xsqlite3ExprIdToTrueFalse(tls *libc.TLS, pExpr uintptr) int32 { /* sqlite3.c:104558:20: */ var v U32 if !((*Expr)(unsafe.Pointer(pExpr)).Fflags&U32(EP_Quoted|EP_IntValue) != U32(0)) && @@ -84275,7 +84294,7 @@ func Xsqlite3ExprIdToTrueFalse(tls *libc.TLS, pExpr uintptr) int32 { /* sqlite3. // The argument must be a TK_TRUEFALSE Expr node. Return 1 if it is TRUE // and 0 if it is FALSE. -func Xsqlite3ExprTruthValue(tls *libc.TLS, pExpr uintptr) int32 { /* sqlite3.c:104562:20: */ +func Xsqlite3ExprTruthValue(tls *libc.TLS, pExpr uintptr) int32 { /* sqlite3.c:104575:20: */ pExpr = Xsqlite3ExprSkipCollate(tls, pExpr) return libc.Bool32(int32(*(*uint8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pExpr + 8)) + 4))) == 0) @@ -84292,7 +84311,7 @@ func Xsqlite3ExprTruthValue(tls *libc.TLS, pExpr uintptr) int32 { /* sqlite3.c:1 // (x<10) AND (y=22 OR false) => (x<10) AND (y=22) // (x<10) AND (y=22 OR true) => (x<10) // (y=22) OR true => true -func Xsqlite3ExprSimplifiedAndOr(tls *libc.TLS, pExpr uintptr) uintptr { /* sqlite3.c:104584:21: */ +func Xsqlite3ExprSimplifiedAndOr(tls *libc.TLS, pExpr uintptr) uintptr { /* sqlite3.c:104597:21: */ if int32((*Expr)(unsafe.Pointer(pExpr)).Fop) == TK_AND || int32((*Expr)(unsafe.Pointer(pExpr)).Fop) == TK_OR { var pRight uintptr = Xsqlite3ExprSimplifiedAndOr(tls, (*Expr)(unsafe.Pointer(pExpr)).FpRight) @@ -84338,7 +84357,7 @@ func Xsqlite3ExprSimplifiedAndOr(tls *libc.TLS, pExpr uintptr) uintptr { /* sqli // contain a bound parameter because they were generated by older versions // of SQLite to be parsed by newer versions of SQLite without raising a // malformed schema error. -func exprNodeIsConstant(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:104625:12: */ +func exprNodeIsConstant(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:104638:12: */ // If pWalker->eCode is 2 then any term of the expression that comes from // the ON or USING clauses of a left join disqualifies the expression @@ -84413,7 +84432,7 @@ func exprNodeIsConstant(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { / return int32(0) } -func exprIsConst(tls *libc.TLS, p uintptr, initFlag int32, iCur int32) int32 { /* sqlite3.c:104697:12: */ +func exprIsConst(tls *libc.TLS, p uintptr, initFlag int32, iCur int32) int32 { /* sqlite3.c:104710:12: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -84437,7 +84456,7 @@ func exprIsConst(tls *libc.TLS, p uintptr, initFlag int32, iCur int32) int32 { / // For the purposes of this function, a double-quoted string (ex: "abc") // is considered a variable but a single-quoted string (ex: 'abc') is // a constant. -func Xsqlite3ExprIsConstant(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:104718:20: */ +func Xsqlite3ExprIsConstant(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:104731:20: */ return exprIsConst(tls, p, 1, 0) } @@ -84452,7 +84471,7 @@ func Xsqlite3ExprIsConstant(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:10471 // When this routine returns true, it indicates that the expression // can be added to the pParse->pConstExpr list and evaluated once when // the prepared statement starts up. See sqlite3ExprCodeRunJustOnce(). -func Xsqlite3ExprIsConstantNotJoin(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:104735:20: */ +func Xsqlite3ExprIsConstantNotJoin(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:104748:20: */ return exprIsConst(tls, p, 2, 0) } @@ -84460,12 +84479,12 @@ func Xsqlite3ExprIsConstantNotJoin(tls *libc.TLS, p uintptr) int32 { /* sqlite3. // for any single row of the table with cursor iCur. In other words, the // expression must not refer to any non-deterministic function nor any // table other than iCur. -func Xsqlite3ExprIsTableConstant(tls *libc.TLS, p uintptr, iCur int32) int32 { /* sqlite3.c:104745:20: */ +func Xsqlite3ExprIsTableConstant(tls *libc.TLS, p uintptr, iCur int32) int32 { /* sqlite3.c:104758:20: */ return exprIsConst(tls, p, 3, iCur) } // sqlite3WalkExpr() callback used by sqlite3ExprIsConstantOrGroupBy(). -func exprNodeIsConstantOrGroupBy(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:104753:12: */ +func exprNodeIsConstantOrGroupBy(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:104766:12: */ var pGroupBy uintptr = *(*uintptr)(unsafe.Pointer(pWalker + 40)) var i int32 @@ -84507,7 +84526,7 @@ func exprNodeIsConstantOrGroupBy(tls *libc.TLS, pWalker uintptr, pExpr uintptr) // alternative collating sequences are uncommon, and this is only an // optimization, so we take the easy way out and simply require the // GROUP BY to use the BINARY collating sequence. -func Xsqlite3ExprIsConstantOrGroupBy(tls *libc.TLS, pParse uintptr, p uintptr, pGroupBy uintptr) int32 { /* sqlite3.c:104797:20: */ +func Xsqlite3ExprIsConstantOrGroupBy(tls *libc.TLS, pParse uintptr, p uintptr, pGroupBy uintptr) int32 { /* sqlite3.c:104810:20: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -84543,7 +84562,7 @@ func Xsqlite3ExprIsConstantOrGroupBy(tls *libc.TLS, pParse uintptr, p uintptr, p // For the purposes of this function, a double-quoted string (ex: "abc") // is considered a variable but a single-quoted string (ex: 'abc') is // a constant. -func Xsqlite3ExprIsConstantOrFunction(tls *libc.TLS, p uintptr, isInit U8) int32 { /* sqlite3.c:104829:20: */ +func Xsqlite3ExprIsConstantOrFunction(tls *libc.TLS, p uintptr, isInit U8) int32 { /* sqlite3.c:104842:20: */ return exprIsConst(tls, p, 4+int32(isInit), 0) } @@ -84552,7 +84571,7 @@ func Xsqlite3ExprIsConstantOrFunction(tls *libc.TLS, p uintptr, isInit U8) int32 // to fit in a 32-bit integer, return 1 and put the value of the integer // in *pValue. If the expression is not an integer or if it is too big // to fit in a signed 32-bit integer, return 0 and leave *pValue unchanged. -func Xsqlite3ExprIsInteger(tls *libc.TLS, p uintptr, pValue uintptr) int32 { /* sqlite3.c:104858:20: */ +func Xsqlite3ExprIsInteger(tls *libc.TLS, p uintptr, pValue uintptr) int32 { /* sqlite3.c:104871:20: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -84604,7 +84623,7 @@ func Xsqlite3ExprIsInteger(tls *libc.TLS, p uintptr, pValue uintptr) int32 { /* // hand, a false negative (returning FALSE when the result could be NULL) // will likely result in an incorrect answer. So when in doubt, return // TRUE. -func Xsqlite3ExprCanBeNull(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:104904:20: */ +func Xsqlite3ExprCanBeNull(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:104917:20: */ var op U8 for int32((*Expr)(unsafe.Pointer(p)).Fop) == TK_UPLUS || int32((*Expr)(unsafe.Pointer(p)).Fop) == TK_UMINUS { @@ -84643,7 +84662,7 @@ func Xsqlite3ExprCanBeNull(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:104904 // can be omitted. When in doubt return FALSE. A false negative // is harmless. A false positive, however, can result in the wrong // answer. -func Xsqlite3ExprNeedsNoAffinityChange(tls *libc.TLS, p uintptr, aff uint8) int32 { /* sqlite3.c:104941:20: */ +func Xsqlite3ExprNeedsNoAffinityChange(tls *libc.TLS, p uintptr, aff uint8) int32 { /* sqlite3.c:104954:20: */ var op U8 var unaryMinus int32 = 0 if int32(aff) == SQLITE_AFF_BLOB { @@ -84696,7 +84715,7 @@ func Xsqlite3ExprNeedsNoAffinityChange(tls *libc.TLS, p uintptr, aff uint8) int3 } // Return TRUE if the given string is a row-id column name. -func Xsqlite3IsRowid(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:104977:20: */ +func Xsqlite3IsRowid(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:104990:20: */ if Xsqlite3StrICmp(tls, z, ts+7583) == 0 { return 1 } @@ -84714,7 +84733,7 @@ func Xsqlite3IsRowid(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:104977:20: * // a pointer to the SELECT statement. If pX is not a SELECT statement, // or if the SELECT statement needs to be manifested into a transient // table, then return NULL. -func isCandidateForInOpt(tls *libc.TLS, pX uintptr) uintptr { /* sqlite3.c:104992:15: */ +func isCandidateForInOpt(tls *libc.TLS, pX uintptr) uintptr { /* sqlite3.c:105005:15: */ var p uintptr var pSrc uintptr var pEList uintptr @@ -84772,7 +84791,7 @@ func isCandidateForInOpt(tls *libc.TLS, pX uintptr) uintptr { /* sqlite3.c:10499 // it contains any NULL entries. Cause the register at regHasNull to be set // to a non-NULL value if iCur contains no NULLs. Cause register regHasNull // to be set to NULL if iCur contains one or more NULL values. -func sqlite3SetHasNullFlag(tls *libc.TLS, v uintptr, iCur int32, regHasNull int32) { /* sqlite3.c:105037:13: */ +func sqlite3SetHasNullFlag(tls *libc.TLS, v uintptr, iCur int32, regHasNull int32) { /* sqlite3.c:105050:13: */ var addr1 int32 Xsqlite3VdbeAddOp2(tls, v, OP_Integer, 0, regHasNull) addr1 = Xsqlite3VdbeAddOp1(tls, v, OP_Rewind, iCur) @@ -84784,7 +84803,7 @@ func sqlite3SetHasNullFlag(tls *libc.TLS, v uintptr, iCur int32, regHasNull int3 // The argument is an IN operator with a list (not a subquery) on the // right-hand side. Return TRUE if that list is constant. -func sqlite3InRhsIsConstant(tls *libc.TLS, pIn uintptr) int32 { /* sqlite3.c:105054:12: */ +func sqlite3InRhsIsConstant(tls *libc.TLS, pIn uintptr) int32 { /* sqlite3.c:105067:12: */ var pLHS uintptr var res int32 @@ -84873,7 +84892,7 @@ func sqlite3InRhsIsConstant(tls *libc.TLS, pIn uintptr) int32 { /* sqlite3.c:105 // CREATE INDEX i1 ON t1(b, c, a); // // then aiMap[] is populated with {2, 0, 1}. -func Xsqlite3FindInIndex(tls *libc.TLS, pParse uintptr, pX uintptr, inFlags U32, prRhsHasNull uintptr, aiMap uintptr, piTab uintptr) int32 { /* sqlite3.c:105147:20: */ +func Xsqlite3FindInIndex(tls *libc.TLS, pParse uintptr, pX uintptr, inFlags U32, prRhsHasNull uintptr, aiMap uintptr, piTab uintptr) int32 { /* sqlite3.c:105160:20: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -85091,7 +85110,7 @@ func Xsqlite3FindInIndex(tls *libc.TLS, pParse uintptr, pX uintptr, inFlags U32, // // It is the responsibility of the caller to ensure that the returned // string is eventually freed using sqlite3DbFree(). -func exprINAffinity(tls *libc.TLS, pParse uintptr, pExpr uintptr) uintptr { /* sqlite3.c:105370:13: */ +func exprINAffinity(tls *libc.TLS, pParse uintptr, pExpr uintptr) uintptr { /* sqlite3.c:105383:13: */ var pLeft uintptr = (*Expr)(unsafe.Pointer(pExpr)).FpLeft var nVal int32 = Xsqlite3ExprVectorSize(tls, pLeft) var pSelect uintptr @@ -85123,7 +85142,7 @@ func exprINAffinity(tls *libc.TLS, pParse uintptr, pExpr uintptr) uintptr { /* s // message of the form: // // "sub-select returns N columns - expected M" -func Xsqlite3SubselectError(tls *libc.TLS, pParse uintptr, nActual int32, nExpect int32) { /* sqlite3.c:105402:21: */ +func Xsqlite3SubselectError(tls *libc.TLS, pParse uintptr, nActual int32, nExpect int32) { /* sqlite3.c:105415:21: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -85142,7 +85161,7 @@ func Xsqlite3SubselectError(tls *libc.TLS, pParse uintptr, nActual int32, nExpec // Or, if it is a regular scalar vector: // // "row value misused" -func Xsqlite3VectorErrorMsg(tls *libc.TLS, pParse uintptr, pExpr uintptr) { /* sqlite3.c:105421:21: */ +func Xsqlite3VectorErrorMsg(tls *libc.TLS, pParse uintptr, pExpr uintptr) { /* sqlite3.c:105434:21: */ if (*Expr)(unsafe.Pointer(pExpr)).Fflags&U32(EP_xIsSelect) != U32(0) { Xsqlite3SubselectError(tls, pParse, (*ExprList)(unsafe.Pointer((*Select)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pExpr + 32)))).FpEList)).FnExpr, 1) } else { @@ -85170,7 +85189,7 @@ func Xsqlite3VectorErrorMsg(tls *libc.TLS, pParse uintptr, pExpr uintptr) { /* s // if either column has NUMERIC or INTEGER affinity. If neither // 'x' nor the SELECT... statement are columns, then numeric affinity // is used. -func Xsqlite3CodeRhsOfIN(tls *libc.TLS, pParse uintptr, pExpr uintptr, iTab int32) { /* sqlite3.c:105455:21: */ +func Xsqlite3CodeRhsOfIN(tls *libc.TLS, pParse uintptr, pExpr uintptr, iTab int32) { /* sqlite3.c:105468:21: */ bp := tls.Alloc(65) defer tls.Free(65) @@ -85365,7 +85384,7 @@ func Xsqlite3CodeRhsOfIN(tls *libc.TLS, pParse uintptr, pExpr uintptr, iTab int3 // the result is stored in a contiguous array of registers and the // return value is the register of the left-most result column. // Return 0 if an error occurs. -func Xsqlite3CodeSubselect(tls *libc.TLS, pParse uintptr, pExpr uintptr) int32 { /* sqlite3.c:105650:20: */ +func Xsqlite3CodeSubselect(tls *libc.TLS, pParse uintptr, pExpr uintptr) int32 { /* sqlite3.c:105663:20: */ bp := tls.Alloc(64) defer tls.Free(64) @@ -85488,7 +85507,7 @@ func Xsqlite3CodeSubselect(tls *libc.TLS, pParse uintptr, pExpr uintptr) int32 { // sub-select on the RHS of the IN() operator has the same number of // columns as the vector on the LHS. Or, if the RHS of the IN() is not // a sub-query, that the LHS is a vector of size 1. -func Xsqlite3ExprCheckIN(tls *libc.TLS, pParse uintptr, pIn uintptr) int32 { /* sqlite3.c:105772:20: */ +func Xsqlite3ExprCheckIN(tls *libc.TLS, pParse uintptr, pIn uintptr) int32 { /* sqlite3.c:105785:20: */ var nVector int32 = Xsqlite3ExprVectorSize(tls, (*Expr)(unsafe.Pointer(pIn)).FpLeft) if (*Expr)(unsafe.Pointer(pIn)).Fflags&U32(EP_xIsSelect) != U32(0) && !(int32((*Sqlite3)(unsafe.Pointer((*Parse)(unsafe.Pointer(pParse)).Fdb)).FmallocFailed) != 0) { if nVector != (*ExprList)(unsafe.Pointer((*Select)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pIn + 32)))).FpEList)).FnExpr { @@ -85525,7 +85544,7 @@ func Xsqlite3ExprCheckIN(tls *libc.TLS, pParse uintptr, pIn uintptr) int32 { /* // // See the separate in-operator.md documentation file in the canonical // SQLite source tree for additional information. -func sqlite3ExprCodeIN(tls *libc.TLS, pParse uintptr, pExpr uintptr, destIfFalse int32, destIfNull int32) { /* sqlite3.c:105813:13: */ +func sqlite3ExprCodeIN(tls *libc.TLS, pParse uintptr, pExpr uintptr, destIfFalse int32, destIfNull int32) { /* sqlite3.c:105826:13: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -85906,7 +85925,7 @@ sqlite3ExprCodeIN_oom_error: // The z[] string will probably not be zero-terminated. But the // z[n] character is guaranteed to be something that does not look // like the continuation of the number. -func codeReal(tls *libc.TLS, v uintptr, z uintptr, negateFlag int32, iMem int32) { /* sqlite3.c:106071:13: */ +func codeReal(tls *libc.TLS, v uintptr, z uintptr, negateFlag int32, iMem int32) { /* sqlite3.c:106084:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -85926,7 +85945,7 @@ func codeReal(tls *libc.TLS, v uintptr, z uintptr, negateFlag int32, iMem int32) // text z[0..n-1] into register iMem. // // Expr.u.zToken is always UTF8 and zero-terminated. -func codeInteger(tls *libc.TLS, pParse uintptr, pExpr uintptr, negFlag int32, iMem int32) { /* sqlite3.c:106089:13: */ +func codeInteger(tls *libc.TLS, pParse uintptr, pExpr uintptr, negFlag int32, iMem int32) { /* sqlite3.c:106102:13: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -85972,7 +85991,7 @@ func codeInteger(tls *libc.TLS, pParse uintptr, pExpr uintptr, negFlag int32, iM // Generate code that will load into register regOut a value that is // appropriate for the iIdxCol-th column of index pIdx. -func Xsqlite3ExprCodeLoadIndexColumn(tls *libc.TLS, pParse uintptr, pIdx uintptr, iTabCur int32, iIdxCol int32, regOut int32) { /* sqlite3.c:106127:21: */ +func Xsqlite3ExprCodeLoadIndexColumn(tls *libc.TLS, pParse uintptr, pIdx uintptr, iTabCur int32, iIdxCol int32, regOut int32) { /* sqlite3.c:106140:21: */ var iTabCol I16 = *(*I16)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FaiColumn + uintptr(iIdxCol)*2)) if int32(iTabCol) == -2 { @@ -85987,7 +86006,7 @@ func Xsqlite3ExprCodeLoadIndexColumn(tls *libc.TLS, pParse uintptr, pIdx uintptr // Generate code that will compute the value of generated column pCol // and store the result in register regOut -func Xsqlite3ExprCodeGeneratedColumn(tls *libc.TLS, pParse uintptr, pTab uintptr, pCol uintptr, regOut int32) { /* sqlite3.c:106152:21: */ +func Xsqlite3ExprCodeGeneratedColumn(tls *libc.TLS, pParse uintptr, pTab uintptr, pCol uintptr, regOut int32) { /* sqlite3.c:106165:21: */ var iAddr int32 var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe @@ -86006,7 +86025,7 @@ func Xsqlite3ExprCodeGeneratedColumn(tls *libc.TLS, pParse uintptr, pTab uintptr } // Generate code to extract the value of the iCol-th column of a table. -func Xsqlite3ExprCodeGetColumnOfTable(tls *libc.TLS, v uintptr, pTab uintptr, iTabCur int32, iCol int32, regOut int32) { /* sqlite3.c:106178:21: */ +func Xsqlite3ExprCodeGetColumnOfTable(tls *libc.TLS, v uintptr, pTab uintptr, iTabCur int32, iCol int32, regOut int32) { /* sqlite3.c:106191:21: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -86057,7 +86076,7 @@ func Xsqlite3ExprCodeGetColumnOfTable(tls *libc.TLS, v uintptr, pTab uintptr, iT // // There must be an open cursor to pTab in iTable when this routine // is called. If iColumn<0 then code is generated that extracts the rowid. -func Xsqlite3ExprCodeGetColumn(tls *libc.TLS, pParse uintptr, pTab uintptr, iColumn int32, iTable int32, iReg int32, p5 U8) int32 { /* sqlite3.c:106236:20: */ +func Xsqlite3ExprCodeGetColumn(tls *libc.TLS, pParse uintptr, pTab uintptr, iColumn int32, iTable int32, iReg int32, p5 U8) int32 { /* sqlite3.c:106249:20: */ Xsqlite3ExprCodeGetColumnOfTable(tls, (*Parse)(unsafe.Pointer(pParse)).FpVdbe, pTab, iTable, iColumn, iReg) if p5 != 0 { @@ -86071,14 +86090,14 @@ func Xsqlite3ExprCodeGetColumn(tls *libc.TLS, pParse uintptr, pTab uintptr, iCol // Generate code to move content from registers iFrom...iFrom+nReg-1 // over to iTo..iTo+nReg-1. -func Xsqlite3ExprCodeMove(tls *libc.TLS, pParse uintptr, iFrom int32, iTo int32, nReg int32) { /* sqlite3.c:106257:21: */ +func Xsqlite3ExprCodeMove(tls *libc.TLS, pParse uintptr, iFrom int32, iTo int32, nReg int32) { /* sqlite3.c:106270:21: */ Xsqlite3VdbeAddOp3(tls, (*Parse)(unsafe.Pointer(pParse)).FpVdbe, OP_Move, iFrom, iTo, nReg) } // Convert a scalar expression node to a TK_REGISTER referencing // register iReg. The caller must ensure that iReg already contains // the correct value for the expression. -func exprToRegister(tls *libc.TLS, pExpr uintptr, iReg int32) { /* sqlite3.c:106266:13: */ +func exprToRegister(tls *libc.TLS, pExpr uintptr, iReg int32) { /* sqlite3.c:106279:13: */ var p uintptr = Xsqlite3ExprSkipCollateAndLikely(tls, pExpr) if p == uintptr(0) { return @@ -86097,7 +86116,7 @@ func exprToRegister(tls *libc.TLS, pExpr uintptr, iReg int32) { /* sqlite3.c:106 // that register number into *piFreeable. If the returned result register // is not a temporary or if the expression is a vector set *piFreeable // to 0. -func exprCodeVector(tls *libc.TLS, pParse uintptr, p uintptr, piFreeable uintptr) int32 { /* sqlite3.c:106285:12: */ +func exprCodeVector(tls *libc.TLS, pParse uintptr, p uintptr, piFreeable uintptr) int32 { /* sqlite3.c:106298:12: */ var iResult int32 var nResult int32 = Xsqlite3ExprVectorSize(tls, p) if nResult == 1 { @@ -86121,7 +86140,7 @@ func exprCodeVector(tls *libc.TLS, pParse uintptr, p uintptr, piFreeable uintptr // If the last opcode is a OP_Copy, then set the do-not-merge flag (p5) // so that a subsequent copy will not be merged into this one. -func setDoNotMergeFlagOnCopy(tls *libc.TLS, v uintptr) { /* sqlite3.c:106315:13: */ +func setDoNotMergeFlagOnCopy(tls *libc.TLS, v uintptr) { /* sqlite3.c:106328:13: */ if int32((*VdbeOp)(unsafe.Pointer(Xsqlite3VdbeGetOp(tls, v, -1))).Fopcode) == OP_Copy { Xsqlite3VdbeChangeP5(tls, v, uint16(1)) // Tag trailing OP_Copy as not mergable } @@ -86129,7 +86148,7 @@ func setDoNotMergeFlagOnCopy(tls *libc.TLS, v uintptr) { /* sqlite3.c:106315:13: // Generate code to implement special SQL functions that are implemented // in-line rather than by using the usual callbacks. -func exprCodeInlineFunction(tls *libc.TLS, pParse uintptr, pFarg uintptr, iFuncId int32, target int32) int32 { /* sqlite3.c:106325:12: */ +func exprCodeInlineFunction(tls *libc.TLS, pParse uintptr, pFarg uintptr, iFuncId int32, target int32) int32 { /* sqlite3.c:106338:12: */ bp := tls.Alloc(112) defer tls.Free(112) @@ -86254,7 +86273,7 @@ func exprCodeInlineFunction(tls *libc.TLS, pParse uintptr, pFarg uintptr, iFuncI // register if it is convenient to do so. The calling function // must check the return code and move the results to the desired // register. -func Xsqlite3ExprCodeTarget(tls *libc.TLS, pParse uintptr, pExpr uintptr, target int32) int32 { /* sqlite3.c:106441:20: */ +func Xsqlite3ExprCodeTarget(tls *libc.TLS, pParse uintptr, pExpr uintptr, target int32) int32 { /* sqlite3.c:106454:20: */ bp := tls.Alloc(192) defer tls.Free(192) @@ -87323,7 +87342,7 @@ __3: return inReg } -var zAff = *(*[8]uint8)(unsafe.Pointer(ts + 8002)) /* sqlite3.c:106508:29 */ +var zAff = *(*[8]uint8)(unsafe.Pointer(ts + 8002)) /* sqlite3.c:106521:29 */ // Generate code that will evaluate expression pExpr just one time // per prepared statement execution. @@ -87340,7 +87359,7 @@ var zAff = *(*[8]uint8)(unsafe.Pointer(ts + 8002)) /* sqlite3.c:106508:29 */ // code to the same register, if they do not contain function calls and hence // are factored out into the initialization section at the end of the // prepared statement. -func Xsqlite3ExprCodeRunJustOnce(tls *libc.TLS, pParse uintptr, pExpr uintptr, regDest int32) int32 { /* sqlite3.c:107215:20: */ +func Xsqlite3ExprCodeRunJustOnce(tls *libc.TLS, pParse uintptr, pExpr uintptr, regDest int32) int32 { /* sqlite3.c:107228:20: */ var p uintptr p = (*Parse)(unsafe.Pointer(pParse)).FpConstExpr @@ -87409,7 +87428,7 @@ func Xsqlite3ExprCodeRunJustOnce(tls *libc.TLS, pParse uintptr, pExpr uintptr, r // If pExpr is a constant, then this routine might generate this // code to fill the register in the initialization section of the // VDBE program, in order to factor it out of the evaluation loop. -func Xsqlite3ExprCodeTemp(tls *libc.TLS, pParse uintptr, pExpr uintptr, pReg uintptr) int32 { /* sqlite3.c:107272:20: */ +func Xsqlite3ExprCodeTemp(tls *libc.TLS, pParse uintptr, pExpr uintptr, pReg uintptr) int32 { /* sqlite3.c:107285:20: */ var r2 int32 pExpr = Xsqlite3ExprSkipCollateAndLikely(tls, pExpr) if (*Parse)(unsafe.Pointer(pParse)).FokConstFactor != 0 && @@ -87434,7 +87453,7 @@ func Xsqlite3ExprCodeTemp(tls *libc.TLS, pParse uintptr, pExpr uintptr, pReg uin // Generate code that will evaluate expression pExpr and store the // results in register target. The results are guaranteed to appear // in register target. -func Xsqlite3ExprCode(tls *libc.TLS, pParse uintptr, pExpr uintptr, target int32) { /* sqlite3.c:107300:21: */ +func Xsqlite3ExprCode(tls *libc.TLS, pParse uintptr, pExpr uintptr, target int32) { /* sqlite3.c:107313:21: */ var inReg int32 if (*Parse)(unsafe.Pointer(pParse)).FpVdbe == uintptr(0) { @@ -87455,7 +87474,7 @@ func Xsqlite3ExprCode(tls *libc.TLS, pParse uintptr, pExpr uintptr, target int32 // Make a transient copy of expression pExpr and then code it using // sqlite3ExprCode(). This routine works just like sqlite3ExprCode() // except that the input expression is guaranteed to be unchanged. -func Xsqlite3ExprCodeCopy(tls *libc.TLS, pParse uintptr, pExpr uintptr, target int32) { /* sqlite3.c:107324:21: */ +func Xsqlite3ExprCodeCopy(tls *libc.TLS, pParse uintptr, pExpr uintptr, target int32) { /* sqlite3.c:107337:21: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb pExpr = Xsqlite3ExprDup(tls, db, pExpr, 0) if !(int32((*Sqlite3)(unsafe.Pointer(db)).FmallocFailed) != 0) { @@ -87468,7 +87487,7 @@ func Xsqlite3ExprCodeCopy(tls *libc.TLS, pParse uintptr, pExpr uintptr, target i // results in register target. The results are guaranteed to appear // in register target. If the expression is constant, then this routine // might choose to code the expression at initialization time. -func Xsqlite3ExprCodeFactorable(tls *libc.TLS, pParse uintptr, pExpr uintptr, target int32) { /* sqlite3.c:107337:21: */ +func Xsqlite3ExprCodeFactorable(tls *libc.TLS, pParse uintptr, pExpr uintptr, target int32) { /* sqlite3.c:107350:21: */ if (*Parse)(unsafe.Pointer(pParse)).FokConstFactor != 0 && Xsqlite3ExprIsConstantNotJoin(tls, pExpr) != 0 { Xsqlite3ExprCodeRunJustOnce(tls, pParse, pExpr, target) } else { @@ -87494,7 +87513,7 @@ func Xsqlite3ExprCodeFactorable(tls *libc.TLS, pParse uintptr, pExpr uintptr, ta // in registers at srcReg, and so the value can be copied from there. // If SQLITE_ECEL_OMITREF is also set, then the values with u.x.iOrderByCol>0 // are simply omitted rather than being copied from srcReg. -func Xsqlite3ExprCodeExprList(tls *libc.TLS, pParse uintptr, pList uintptr, target int32, srcReg int32, flags U8) int32 { /* sqlite3.c:107365:20: */ +func Xsqlite3ExprCodeExprList(tls *libc.TLS, pParse uintptr, pList uintptr, target int32, srcReg int32, flags U8) int32 { /* sqlite3.c:107378:20: */ var pItem uintptr var i int32 var j int32 @@ -87576,7 +87595,7 @@ __3: // sqlite3ExprIfFalse: Jump to dest if false // // The jumpIfNull parameter is ignored if xJumpIf is NULL. -func exprCodeBetween(tls *libc.TLS, pParse uintptr, pExpr uintptr, dest int32, xJump uintptr, jumpIfNull int32) { /* sqlite3.c:107440:13: */ +func exprCodeBetween(tls *libc.TLS, pParse uintptr, pExpr uintptr, dest int32, xJump uintptr, jumpIfNull int32) { /* sqlite3.c:107453:13: */ bp := tls.Alloc(220) defer tls.Free(220) @@ -87639,7 +87658,7 @@ func exprCodeBetween(tls *libc.TLS, pParse uintptr, pExpr uintptr, dest int32, x // operation. Special comments in vdbe.c and the mkopcodeh.awk script in // the make process cause these values to align. Assert()s in the code // below verify that the numbers are aligned correctly. -func Xsqlite3ExprIfTrue(tls *libc.TLS, pParse uintptr, pExpr uintptr, dest int32, jumpIfNull int32) { /* sqlite3.c:107512:21: */ +func Xsqlite3ExprIfTrue(tls *libc.TLS, pParse uintptr, pExpr uintptr, dest int32, jumpIfNull int32) { /* sqlite3.c:107525:21: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -87869,7 +87888,7 @@ __3: // If the expression evaluates to NULL (neither true nor false) then // jump if jumpIfNull is SQLITE_JUMPIFNULL or fall through if jumpIfNull // is 0. -func Xsqlite3ExprIfFalse(tls *libc.TLS, pParse uintptr, pExpr uintptr, dest int32, jumpIfNull int32) { /* sqlite3.c:107654:21: */ +func Xsqlite3ExprIfFalse(tls *libc.TLS, pParse uintptr, pExpr uintptr, dest int32, jumpIfNull int32) { /* sqlite3.c:107667:21: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -88117,7 +88136,7 @@ __3: // Like sqlite3ExprIfFalse() except that a copy is made of pExpr before // code generation, and that copy is deleted after code generation. This // ensures that the original pExpr is unchanged. -func Xsqlite3ExprIfFalseDup(tls *libc.TLS, pParse uintptr, pExpr uintptr, dest int32, jumpIfNull int32) { /* sqlite3.c:107826:21: */ +func Xsqlite3ExprIfFalseDup(tls *libc.TLS, pParse uintptr, pExpr uintptr, dest int32, jumpIfNull int32) { /* sqlite3.c:107839:21: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb var pCopy uintptr = Xsqlite3ExprDup(tls, db, pExpr, 0) if int32((*Sqlite3)(unsafe.Pointer(db)).FmallocFailed) == 0 { @@ -88137,7 +88156,7 @@ func Xsqlite3ExprIfFalseDup(tls *libc.TLS, pParse uintptr, pExpr uintptr, dest i // same as that currently bound to variable pVar, non-zero is returned. // Otherwise, if the values are not the same or if pExpr is not a simple // SQL value, zero is returned. -func exprCompareVariable(tls *libc.TLS, pParse uintptr, pVar uintptr, pExpr uintptr) int32 { /* sqlite3.c:107848:12: */ +func exprCompareVariable(tls *libc.TLS, pParse uintptr, pVar uintptr, pExpr uintptr) int32 { /* sqlite3.c:107861:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -88191,7 +88210,7 @@ func exprCompareVariable(tls *libc.TLS, pParse uintptr, pVar uintptr, pExpr uint // If pParse is NULL (the normal case) then any TK_VARIABLE term in // Argument pParse should normally be NULL. If it is not NULL and pA or // pB causes a return value of 2. -func Xsqlite3ExprCompare(tls *libc.TLS, pParse uintptr, pA uintptr, pB uintptr, iTab int32) int32 { /* sqlite3.c:107904:20: */ +func Xsqlite3ExprCompare(tls *libc.TLS, pParse uintptr, pA uintptr, pB uintptr, iTab int32) int32 { /* sqlite3.c:107917:20: */ var combinedFlags U32 if pA == uintptr(0) || pB == uintptr(0) { if pB == pA { @@ -88295,7 +88314,7 @@ func Xsqlite3ExprCompare(tls *libc.TLS, pParse uintptr, pA uintptr, pB uintptr, // // Two NULL pointers are considered to be the same. But a NULL pointer // always differs from a non-NULL pointer. -func Xsqlite3ExprListCompare(tls *libc.TLS, pA uintptr, pB uintptr, iTab int32) int32 { /* sqlite3.c:108000:20: */ +func Xsqlite3ExprListCompare(tls *libc.TLS, pA uintptr, pB uintptr, iTab int32) int32 { /* sqlite3.c:108013:20: */ var i int32 if pA == uintptr(0) && pB == uintptr(0) { return 0 @@ -88322,7 +88341,7 @@ func Xsqlite3ExprListCompare(tls *libc.TLS, pA uintptr, pB uintptr, iTab int32) // Like sqlite3ExprCompare() except COLLATE operators at the top-level // are ignored. -func Xsqlite3ExprCompareSkip(tls *libc.TLS, pA uintptr, pB uintptr, iTab int32) int32 { /* sqlite3.c:108019:20: */ +func Xsqlite3ExprCompareSkip(tls *libc.TLS, pA uintptr, pB uintptr, iTab int32) int32 { /* sqlite3.c:108032:20: */ return Xsqlite3ExprCompare(tls, uintptr(0), Xsqlite3ExprSkipCollateAndLikely(tls, pA), Xsqlite3ExprSkipCollateAndLikely(tls, pB), @@ -88333,7 +88352,7 @@ func Xsqlite3ExprCompareSkip(tls *libc.TLS, pA uintptr, pB uintptr, iTab int32) // // Or if seenNot is true, return non-zero if Expr p can only be // non-NULL if pNN is not NULL -func exprImpliesNotNull(tls *libc.TLS, pParse uintptr, p uintptr, pNN uintptr, iTab int32, seenNot int32) int32 { /* sqlite3.c:108032:12: */ +func exprImpliesNotNull(tls *libc.TLS, pParse uintptr, p uintptr, pNN uintptr, iTab int32, seenNot int32) int32 { /* sqlite3.c:108045:12: */ if Xsqlite3ExprCompare(tls, pParse, p, pNN, iTab) == 0 { return libc.Bool32(int32((*Expr)(unsafe.Pointer(pNN)).Fop) != TK_NULL) @@ -88459,7 +88478,7 @@ func exprImpliesNotNull(tls *libc.TLS, pParse uintptr, p uintptr, pNN uintptr, i // When in doubt, return false. Returning true might give a performance // improvement. Returning false might cause a performance reduction, but // it will always give the correct answer and is hence always safe. -func Xsqlite3ExprImpliesExpr(tls *libc.TLS, pParse uintptr, pE1 uintptr, pE2 uintptr, iTab int32) int32 { /* sqlite3.c:108129:20: */ +func Xsqlite3ExprImpliesExpr(tls *libc.TLS, pParse uintptr, pE1 uintptr, pE2 uintptr, iTab int32) int32 { /* sqlite3.c:108142:20: */ if Xsqlite3ExprCompare(tls, pParse, pE1, pE2, iTab) == 0 { return 1 } @@ -88482,7 +88501,7 @@ func Xsqlite3ExprImpliesExpr(tls *libc.TLS, pParse uintptr, pE1 uintptr, pE2 uin // This routine controls an optimization. False positives (setting // pWalker->eCode to 1 when it should not be) are deadly, but false-negatives // (never setting pWalker->eCode) is a harmless missed optimization. -func impliesNotNullRow(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:108161:12: */ +func impliesNotNullRow(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:108174:12: */ if (*Expr)(unsafe.Pointer(pExpr)).Fflags&U32(EP_FromJoin) != U32(0) { return WRC_Prune @@ -88591,7 +88610,7 @@ func impliesNotNullRow(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* // clause requires that some column of the right table of the LEFT JOIN // be non-NULL, then the LEFT JOIN can be safely converted into an // ordinary join. -func Xsqlite3ExprImpliesNonNullRow(tls *libc.TLS, p uintptr, iTab int32) int32 { /* sqlite3.c:108270:20: */ +func Xsqlite3ExprImpliesNonNullRow(tls *libc.TLS, p uintptr, iTab int32) int32 { /* sqlite3.c:108283:20: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -88625,7 +88644,7 @@ func Xsqlite3ExprImpliesNonNullRow(tls *libc.TLS, p uintptr, iTab int32) int32 { // Check to see if there are references to columns in table // pWalker->u.pIdxCover->iCur can be satisfied using the index // pWalker->u.pIdxCover->pIdx. -func exprIdxCover(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:108308:12: */ +func exprIdxCover(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:108321:12: */ if int32((*Expr)(unsafe.Pointer(pExpr)).Fop) == TK_COLUMN && (*Expr)(unsafe.Pointer(pExpr)).FiTable == (*IdxCover)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pWalker + 40)))).FiCur && int32(Xsqlite3TableColumnToIndex(tls, (*IdxCover)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pWalker + 40)))).FpIdx, (*Expr)(unsafe.Pointer(pExpr)).FiColumn)) < 0 { @@ -88643,7 +88662,7 @@ func exprIdxCover(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqli // An index covering an expression means that the expression can be // evaluated using only the index and without having to lookup the // corresponding table entry. -func Xsqlite3ExprCoveredByIndex(tls *libc.TLS, pExpr uintptr, iCur int32, pIdx uintptr) int32 { /* sqlite3.c:108329:20: */ +func Xsqlite3ExprCoveredByIndex(tls *libc.TLS, pExpr uintptr, iCur int32, pIdx uintptr) int32 { /* sqlite3.c:108342:20: */ bp := tls.Alloc(64) defer tls.Free(64) @@ -88668,7 +88687,7 @@ func Xsqlite3ExprCoveredByIndex(tls *libc.TLS, pExpr uintptr, iCur int32, pIdx u // entries for that subquery to the exclude list. // // When leaving the subquery, remove those entries from the exclude list. -func selectRefEnter(tls *libc.TLS, pWalker uintptr, pSelect uintptr) int32 { /* sqlite3.c:108364:12: */ +func selectRefEnter(tls *libc.TLS, pWalker uintptr, pSelect uintptr) int32 { /* sqlite3.c:108377:12: */ var p uintptr = *(*uintptr)(unsafe.Pointer(pWalker + 40)) var pSrc uintptr = (*Select)(unsafe.Pointer(pSelect)).FpSrc var i I64 @@ -88706,7 +88725,7 @@ __3: return WRC_Continue } -func selectRefLeave(tls *libc.TLS, pWalker uintptr, pSelect uintptr) { /* sqlite3.c:108384:13: */ +func selectRefLeave(tls *libc.TLS, pWalker uintptr, pSelect uintptr) { /* sqlite3.c:108397:13: */ var p uintptr = *(*uintptr)(unsafe.Pointer(pWalker + 40)) var pSrc uintptr = (*Select)(unsafe.Pointer(pSelect)).FpSrc if (*RefSrcList)(unsafe.Pointer(p)).FnExclude != 0 { @@ -88722,7 +88741,7 @@ func selectRefLeave(tls *libc.TLS, pWalker uintptr, pSelect uintptr) { /* sqlite // // Set the 0x02 bit of pWalker->eCode if there is a reference to a // table is in neither RefSrcList.pRef nor RefSrcList.aiExclude. -func exprRefToSrcList(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:108401:12: */ +func exprRefToSrcList(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:108414:12: */ if int32((*Expr)(unsafe.Pointer(pExpr)).Fop) == TK_COLUMN || int32((*Expr)(unsafe.Pointer(pExpr)).Fop) == TK_AGG_COLUMN { var i int32 @@ -88762,7 +88781,7 @@ func exprRefToSrcList(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* // // As currently used, pExpr is always an aggregate function call. That // fact is exploited for efficiency. -func Xsqlite3ReferencesSrcList(tls *libc.TLS, pParse uintptr, pExpr uintptr, pSrcList uintptr) int32 { /* sqlite3.c:108438:20: */ +func Xsqlite3ReferencesSrcList(tls *libc.TLS, pParse uintptr, pExpr uintptr, pSrcList uintptr) int32 { /* sqlite3.c:108451:20: */ bp := tls.Alloc(80) defer tls.Free(80) @@ -88811,7 +88830,7 @@ func Xsqlite3ReferencesSrcList(tls *libc.TLS, pParse uintptr, pExpr uintptr, pSr // This will cause the expression to be deleted automatically when the // Parse object is destroyed, but the zero register number means that it // will not generate any code in the preamble. -func agginfoPersistExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:108480:12: */ +func agginfoPersistExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:108493:12: */ if !((*Expr)(unsafe.Pointer(pExpr)).Fflags&U32(EP_TokenOnly|EP_Reduced) != U32(0)) && (*Expr)(unsafe.Pointer(pExpr)).FpAggInfo != uintptr(0) { var pAggInfo uintptr = (*Expr)(unsafe.Pointer(pExpr)).FpAggInfo @@ -88844,7 +88863,7 @@ func agginfoPersistExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { // Initialize a Walker object so that will persist AggInfo entries referenced // by the tree that is walked. -func Xsqlite3AggInfoPersistWalkerInit(tls *libc.TLS, pWalker uintptr, pParse uintptr) { /* sqlite3.c:108516:21: */ +func Xsqlite3AggInfoPersistWalkerInit(tls *libc.TLS, pWalker uintptr, pParse uintptr) { /* sqlite3.c:108529:21: */ libc.Xmemset(tls, pWalker, 0, uint64(unsafe.Sizeof(Walker{}))) (*Walker)(unsafe.Pointer(pWalker)).FpParse = pParse (*Walker)(unsafe.Pointer(pWalker)).FxExprCallback = *(*uintptr)(unsafe.Pointer(&struct { @@ -88857,7 +88876,7 @@ func Xsqlite3AggInfoPersistWalkerInit(tls *libc.TLS, pWalker uintptr, pParse uin // Add a new element to the pAggInfo->aCol[] array. Return the index of // the new element. Return a negative number if malloc fails. -func addAggInfoColumn(tls *libc.TLS, db uintptr, pInfo uintptr) int32 { /* sqlite3.c:108527:12: */ +func addAggInfoColumn(tls *libc.TLS, db uintptr, pInfo uintptr) int32 { /* sqlite3.c:108540:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -88874,7 +88893,7 @@ func addAggInfoColumn(tls *libc.TLS, db uintptr, pInfo uintptr) int32 { /* sqlit // Add a new element to the pAggInfo->aFunc[] array. Return the index of // the new element. Return a negative number if malloc fails. -func addAggInfoFunc(tls *libc.TLS, db uintptr, pInfo uintptr) int32 { /* sqlite3.c:108543:12: */ +func addAggInfoFunc(tls *libc.TLS, db uintptr, pInfo uintptr) int32 { /* sqlite3.c:108556:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -88892,7 +88911,7 @@ func addAggInfoFunc(tls *libc.TLS, db uintptr, pInfo uintptr) int32 { /* sqlite3 // This is the xExprCallback for a tree walker. It is used to // implement sqlite3ExprAnalyzeAggregates(). See sqlite3ExprAnalyzeAggregates // for additional information. -func analyzeAggregate(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:108560:12: */ +func analyzeAggregate(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:108573:12: */ var i int32 var pNC uintptr = *(*uintptr)(unsafe.Pointer(pWalker + 40)) var pParse uintptr = (*NameContext)(unsafe.Pointer(pNC)).FpParse @@ -89083,7 +89102,7 @@ func analyzeAggregate(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* // // This routine should only be called after the expression has been // analyzed by sqlite3ResolveExprNames(). -func Xsqlite3ExprAnalyzeAggregates(tls *libc.TLS, pNC uintptr, pExpr uintptr) { /* sqlite3.c:108698:21: */ +func Xsqlite3ExprAnalyzeAggregates(tls *libc.TLS, pNC uintptr, pExpr uintptr) { /* sqlite3.c:108711:21: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -89109,7 +89128,7 @@ func Xsqlite3ExprAnalyzeAggregates(tls *libc.TLS, pNC uintptr, pExpr uintptr) { // expression list. Return the number of errors. // // If an error is found, the analysis is cut short. -func Xsqlite3ExprAnalyzeAggList(tls *libc.TLS, pNC uintptr, pList uintptr) { /* sqlite3.c:108716:21: */ +func Xsqlite3ExprAnalyzeAggList(tls *libc.TLS, pNC uintptr, pList uintptr) { /* sqlite3.c:108729:21: */ var pItem uintptr var i int32 if pList != 0 { @@ -89134,7 +89153,7 @@ func Xsqlite3ExprAnalyzeAggList(tls *libc.TLS, pNC uintptr, pList uintptr) { /* } // Allocate a single new register for use to hold some intermediate result. -func Xsqlite3GetTempReg(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:108729:20: */ +func Xsqlite3GetTempReg(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:108742:20: */ if int32((*Parse)(unsafe.Pointer(pParse)).FnTempReg) == 0 { return libc.PreIncInt32(&(*Parse)(unsafe.Pointer(pParse)).FnMem, 1) } @@ -89143,7 +89162,7 @@ func Xsqlite3GetTempReg(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:1087 // Deallocate a register, making available for reuse for some other // purpose. -func Xsqlite3ReleaseTempReg(tls *libc.TLS, pParse uintptr, iReg int32) { /* sqlite3.c:108740:21: */ +func Xsqlite3ReleaseTempReg(tls *libc.TLS, pParse uintptr, iReg int32) { /* sqlite3.c:108753:21: */ if iReg != 0 { if int32((*Parse)(unsafe.Pointer(pParse)).FnTempReg) < int32(uint64(unsafe.Sizeof([8]int32{}))/uint64(unsafe.Sizeof(int32(0)))) { @@ -89153,7 +89172,7 @@ func Xsqlite3ReleaseTempReg(tls *libc.TLS, pParse uintptr, iReg int32) { /* sqli } // Allocate or deallocate a block of nReg consecutive registers. -func Xsqlite3GetTempRange(tls *libc.TLS, pParse uintptr, nReg int32) int32 { /* sqlite3.c:108752:20: */ +func Xsqlite3GetTempRange(tls *libc.TLS, pParse uintptr, nReg int32) int32 { /* sqlite3.c:108765:20: */ var i int32 var n int32 if nReg == 1 { @@ -89171,7 +89190,7 @@ func Xsqlite3GetTempRange(tls *libc.TLS, pParse uintptr, nReg int32) int32 { /* return i } -func Xsqlite3ReleaseTempRange(tls *libc.TLS, pParse uintptr, iReg int32, nReg int32) { /* sqlite3.c:108766:21: */ +func Xsqlite3ReleaseTempRange(tls *libc.TLS, pParse uintptr, iReg int32, nReg int32) { /* sqlite3.c:108779:21: */ if nReg == 1 { Xsqlite3ReleaseTempReg(tls, pParse, iReg) return @@ -89189,7 +89208,7 @@ func Xsqlite3ReleaseTempRange(tls *libc.TLS, pParse uintptr, iReg int32, nReg in // that might be invoked from other parts of the code, to ensure that // the sub/co-routine does not use registers in common with the code that // invokes the sub/co-routine. -func Xsqlite3ClearTempRegCache(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:108786:21: */ +func Xsqlite3ClearTempRegCache(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:108799:21: */ (*Parse)(unsafe.Pointer(pParse)).FnTempReg = U8(0) (*Parse)(unsafe.Pointer(pParse)).FnRangeReg = 0 } @@ -89223,7 +89242,7 @@ func Xsqlite3ClearTempRegCache(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:108 // in pParse->zErr (system tables may not be altered) and returns non-zero. // // Or, if zName is not a system table, zero is returned. -func isAlterableTable(tls *libc.TLS, pParse uintptr, pTab uintptr) int32 { /* sqlite3.c:108846:12: */ +func isAlterableTable(tls *libc.TLS, pParse uintptr, pTab uintptr) int32 { /* sqlite3.c:108859:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -89242,7 +89261,7 @@ func isAlterableTable(tls *libc.TLS, pParse uintptr, pTab uintptr) int32 { /* sq // called at the end of the generation of an ALTER TABLE ... RENAME ... // statement to ensure that the operation has not rendered any schema // objects unusable. -func renameTestSchema(tls *libc.TLS, pParse uintptr, zDb uintptr, bTemp int32, zWhen uintptr, bNoDQS int32) { /* sqlite3.c:108868:13: */ +func renameTestSchema(tls *libc.TLS, pParse uintptr, zDb uintptr, bTemp int32, zWhen uintptr, bNoDQS int32) { /* sqlite3.c:108881:13: */ bp := tls.Alloc(64) defer tls.Free(64) @@ -89266,7 +89285,7 @@ func renameTestSchema(tls *libc.TLS, pParse uintptr, zDb uintptr, bTemp int32, z // database zDb with their single-quoted equivalents. If argument bTemp is // not true, similarly update all SQL statements in the sqlite_schema table // of the temp db. -func renameFixQuotes(tls *libc.TLS, pParse uintptr, zDb uintptr, bTemp int32) { /* sqlite3.c:108905:13: */ +func renameFixQuotes(tls *libc.TLS, pParse uintptr, zDb uintptr, bTemp int32) { /* sqlite3.c:108918:13: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -89282,7 +89301,7 @@ func renameFixQuotes(tls *libc.TLS, pParse uintptr, zDb uintptr, bTemp int32) { // Generate code to reload the schema for database iDb. And, if iDb!=1, for // the temp database as well. -func renameReloadSchema(tls *libc.TLS, pParse uintptr, iDb int32, p5 U16) { /* sqlite3.c:108926:13: */ +func renameReloadSchema(tls *libc.TLS, pParse uintptr, iDb int32, p5 U16) { /* sqlite3.c:108939:13: */ var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe if v != 0 { Xsqlite3ChangeCookie(tls, pParse, iDb) @@ -89295,7 +89314,7 @@ func renameReloadSchema(tls *libc.TLS, pParse uintptr, iDb int32, p5 U16) { /* s // Generate code to implement the "ALTER TABLE xxx RENAME TO yyy" // command. -func Xsqlite3AlterRenameTable(tls *libc.TLS, pParse uintptr, pSrc uintptr, pName uintptr) { /* sqlite3.c:108939:21: */ +func Xsqlite3AlterRenameTable(tls *libc.TLS, pParse uintptr, pSrc uintptr, pName uintptr) { /* sqlite3.c:108952:21: */ bp := tls.Alloc(184) defer tls.Free(184) @@ -89480,7 +89499,7 @@ exit_rename_table: // Write code that will raise an error if the table described by // zDb and zTab is not empty. -func sqlite3ErrorIfNotEmpty(tls *libc.TLS, pParse uintptr, zDb uintptr, zTab uintptr, zErr uintptr) { /* sqlite3.c:109108:13: */ +func sqlite3ErrorIfNotEmpty(tls *libc.TLS, pParse uintptr, zDb uintptr, zTab uintptr, zErr uintptr) { /* sqlite3.c:109121:13: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -89495,7 +89514,7 @@ func sqlite3ErrorIfNotEmpty(tls *libc.TLS, pParse uintptr, zDb uintptr, zTab uin // // The Table structure pParse->pNewTable was extended to include // the new column during parsing. -func Xsqlite3AlterFinishAddColumn(tls *libc.TLS, pParse uintptr, pColDef uintptr) { /* sqlite3.c:109128:21: */ +func Xsqlite3AlterFinishAddColumn(tls *libc.TLS, pParse uintptr, pColDef uintptr) { /* sqlite3.c:109141:21: */ bp := tls.Alloc(64) defer tls.Free(64) @@ -89641,7 +89660,7 @@ func Xsqlite3AlterFinishAddColumn(tls *libc.TLS, pParse uintptr, pColDef uintptr // // Routine sqlite3AlterFinishAddColumn() will be called to complete // coding the "ALTER TABLE ... ADD" statement. -func Xsqlite3AlterBeginAddColumn(tls *libc.TLS, pParse uintptr, pSrc uintptr) { /* sqlite3.c:109293:21: */ +func Xsqlite3AlterBeginAddColumn(tls *libc.TLS, pParse uintptr, pSrc uintptr) { /* sqlite3.c:109306:21: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -89758,7 +89777,7 @@ exit_begin_add_column: // it loads an error message into pParse and returns non-zero. // // Or, if pTab is not a view or virtual table, zero is returned. -func isRealTable(tls *libc.TLS, pParse uintptr, pTab uintptr, bDrop int32) int32 { /* sqlite3.c:109376:12: */ +func isRealTable(tls *libc.TLS, pParse uintptr, pTab uintptr, bDrop int32) int32 { /* sqlite3.c:109389:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -89786,7 +89805,7 @@ func isRealTable(tls *libc.TLS, pParse uintptr, pTab uintptr, bDrop int32) int32 // Handles the following parser reduction: // // cmd ::= ALTER TABLE pSrc RENAME COLUMN pOld TO pNew -func Xsqlite3AlterRenameColumn(tls *libc.TLS, pParse uintptr, pSrc uintptr, pOld uintptr, pNew uintptr) { /* sqlite3.c:109406:21: */ +func Xsqlite3AlterRenameColumn(tls *libc.TLS, pParse uintptr, pSrc uintptr, pOld uintptr, pNew uintptr) { /* sqlite3.c:109419:21: */ bp := tls.Alloc(112) defer tls.Free(112) @@ -89915,7 +89934,7 @@ exit_rename_column: // The context of an ALTER TABLE RENAME COLUMN operation that gets passed // down into the Walker. -type RenameCtx = RenameCtx1 /* sqlite3.c:109521:26 */ +type RenameCtx = RenameCtx1 /* sqlite3.c:109534:26 */ // Remember that the parser tree element pPtr was created using // the token pToken. @@ -89927,7 +89946,7 @@ type RenameCtx = RenameCtx1 /* sqlite3.c:109521:26 */ // The pPtr argument is returned so that this routine can be used // with tail recursion in tokenExpr() routine, for a small performance // improvement. -func Xsqlite3RenameTokenMap(tls *libc.TLS, pParse uintptr, pPtr uintptr, pToken uintptr) uintptr { /* sqlite3.c:109584:27: */ +func Xsqlite3RenameTokenMap(tls *libc.TLS, pParse uintptr, pPtr uintptr, pToken uintptr) uintptr { /* sqlite3.c:109597:27: */ var pNew uintptr if int32((*Parse)(unsafe.Pointer(pParse)).FeParseMode) != PARSE_MODE_UNMAP { @@ -89946,7 +89965,7 @@ func Xsqlite3RenameTokenMap(tls *libc.TLS, pParse uintptr, pPtr uintptr, pToken // It is assumed that there is already a RenameToken object associated // with parse tree element pFrom. This function remaps the associated token // to parse tree element pTo. -func Xsqlite3RenameTokenRemap(tls *libc.TLS, pParse uintptr, pTo uintptr, pFrom uintptr) { /* sqlite3.c:109610:21: */ +func Xsqlite3RenameTokenRemap(tls *libc.TLS, pParse uintptr, pTo uintptr, pFrom uintptr) { /* sqlite3.c:109623:21: */ var p uintptr for p = (*Parse)(unsafe.Pointer(pParse)).FpRename; p != 0; p = (*RenameToken)(unsafe.Pointer(p)).FpNext { @@ -89958,7 +89977,7 @@ func Xsqlite3RenameTokenRemap(tls *libc.TLS, pParse uintptr, pTo uintptr, pFrom } // Walker callback used by sqlite3RenameExprUnmap(). -func renameUnmapExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:109624:12: */ +func renameUnmapExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:109637:12: */ var pParse uintptr = (*Walker)(unsafe.Pointer(pWalker)).FpParse Xsqlite3RenameTokenRemap(tls, pParse, uintptr(0), pExpr) if (*Expr)(unsafe.Pointer(pExpr)).Fflags&U32(EP_WinFunc|EP_Subrtn) == U32(0) { @@ -89969,7 +89988,7 @@ func renameUnmapExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* // Iterate through the Select objects that are part of WITH clauses attached // to select statement pSelect. -func renameWalkWith(tls *libc.TLS, pWalker uintptr, pSelect uintptr) { /* sqlite3.c:109637:13: */ +func renameWalkWith(tls *libc.TLS, pWalker uintptr, pSelect uintptr) { /* sqlite3.c:109650:13: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -90010,7 +90029,7 @@ func renameWalkWith(tls *libc.TLS, pWalker uintptr, pSelect uintptr) { /* sqlite } // Unmap all tokens in the IdList object passed as the second argument. -func unmapColumnIdlistNames(tls *libc.TLS, pParse uintptr, pIdList uintptr) { /* sqlite3.c:109672:13: */ +func unmapColumnIdlistNames(tls *libc.TLS, pParse uintptr, pIdList uintptr) { /* sqlite3.c:109685:13: */ if pIdList != 0 { var ii int32 for ii = 0; ii < (*IdList)(unsafe.Pointer(pIdList)).FnId; ii++ { @@ -90020,7 +90039,7 @@ func unmapColumnIdlistNames(tls *libc.TLS, pParse uintptr, pIdList uintptr) { /* } // Walker callback used by sqlite3RenameExprUnmap(). -func renameUnmapSelectCb(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sqlite3.c:109687:12: */ +func renameUnmapSelectCb(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sqlite3.c:109700:12: */ var pParse uintptr = (*Walker)(unsafe.Pointer(pWalker)).FpParse var i int32 if (*Parse)(unsafe.Pointer(pParse)).FnErr != 0 { @@ -90052,7 +90071,7 @@ func renameUnmapSelectCb(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* s } // Remove all nodes that are part of expression pExpr from the rename list. -func Xsqlite3RenameExprUnmap(tls *libc.TLS, pParse uintptr, pExpr uintptr) { /* sqlite3.c:109720:21: */ +func Xsqlite3RenameExprUnmap(tls *libc.TLS, pParse uintptr, pExpr uintptr) { /* sqlite3.c:109733:21: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -90074,7 +90093,7 @@ func Xsqlite3RenameExprUnmap(tls *libc.TLS, pParse uintptr, pExpr uintptr) { /* // Remove all nodes that are part of expression-list pEList from the // rename list. -func Xsqlite3RenameExprlistUnmap(tls *libc.TLS, pParse uintptr, pEList uintptr) { /* sqlite3.c:109736:21: */ +func Xsqlite3RenameExprlistUnmap(tls *libc.TLS, pParse uintptr, pEList uintptr) { /* sqlite3.c:109749:21: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -90097,7 +90116,7 @@ func Xsqlite3RenameExprlistUnmap(tls *libc.TLS, pParse uintptr, pEList uintptr) } // Free the list of RenameToken objects given in the second argument -func renameTokenFree(tls *libc.TLS, db uintptr, pToken uintptr) { /* sqlite3.c:109755:13: */ +func renameTokenFree(tls *libc.TLS, db uintptr, pToken uintptr) { /* sqlite3.c:109768:13: */ var pNext uintptr var p uintptr for p = pToken; p != 0; p = pNext { @@ -90113,7 +90132,7 @@ func renameTokenFree(tls *libc.TLS, db uintptr, pToken uintptr) { /* sqlite3.c:1 // If the second argument passed to this function is not NULL and a matching // RenameToken object is found, remove it from the Parse object and add it to // the list maintained by the RenameCtx object. -func renameTokenFind(tls *libc.TLS, pParse uintptr, pCtx uintptr, pPtr uintptr) uintptr { /* sqlite3.c:109773:20: */ +func renameTokenFind(tls *libc.TLS, pParse uintptr, pCtx uintptr, pPtr uintptr) uintptr { /* sqlite3.c:109786:20: */ var pp uintptr if pPtr == uintptr(0) { return uintptr(0) @@ -90136,7 +90155,7 @@ func renameTokenFind(tls *libc.TLS, pParse uintptr, pCtx uintptr, pPtr uintptr) // This is a Walker select callback. It does nothing. It is only required // because without a dummy callback, sqlite3WalkExpr() and similar do not // descend into sub-select statements. -func renameColumnSelectCb(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sqlite3.c:109802:12: */ +func renameColumnSelectCb(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sqlite3.c:109815:12: */ if (*Select)(unsafe.Pointer(p)).FselFlags&U32(SF_View|SF_CopyCte) != 0 { return WRC_Prune @@ -90152,7 +90171,7 @@ func renameColumnSelectCb(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* // ALTER TABLE statement. If it is, then attach its associated // RenameToken object to the list of RenameToken objects being // constructed in RenameCtx object at pWalker->u.pRename. -func renameColumnExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:109821:12: */ +func renameColumnExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:109834:12: */ var p uintptr = *(*uintptr)(unsafe.Pointer(pWalker + 40)) if int32((*Expr)(unsafe.Pointer(pExpr)).Fop) == TK_TRIGGER && int32((*Expr)(unsafe.Pointer(pExpr)).FiColumn) == (*RenameCtx)(unsafe.Pointer(p)).FiCol && @@ -90174,7 +90193,7 @@ func renameColumnExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { / // the input SQL is parsed from left to right. Repeated calls to this routine // return all column name tokens in the order that they are encountered // in the SQL statement. -func renameColumnTokenNext(tls *libc.TLS, pCtx uintptr) uintptr { /* sqlite3.c:109847:20: */ +func renameColumnTokenNext(tls *libc.TLS, pCtx uintptr) uintptr { /* sqlite3.c:109860:20: */ var pBest uintptr = (*RenameCtx)(unsafe.Pointer(pCtx)).FpList var pToken uintptr var pp uintptr @@ -90196,7 +90215,7 @@ func renameColumnTokenNext(tls *libc.TLS, pCtx uintptr) uintptr { /* sqlite3.c:1 // ALTER TABLE RENAME COLUMN program. The error message emitted by the // sub-routine is currently stored in pParse->zErrMsg. This function // adds context to the error message and then stores it in pCtx. -func renameColumnParseError(tls *libc.TLS, pCtx uintptr, zWhen uintptr, pType uintptr, pObject uintptr, pParse uintptr) { /* sqlite3.c:109868:13: */ +func renameColumnParseError(tls *libc.TLS, pCtx uintptr, zWhen uintptr, pType uintptr, pObject uintptr, pParse uintptr) { /* sqlite3.c:109881:13: */ bp := tls.Alloc(40) defer tls.Free(40) @@ -90220,7 +90239,7 @@ func renameColumnParseError(tls *libc.TLS, pCtx uintptr, zWhen uintptr, pType ui // pEList->a[i].zName) that matches the string in zOld, extract the // corresponding rename-token from Parse object pParse and add it // to the RenameCtx pCtx. -func renameColumnElistNames(tls *libc.TLS, pParse uintptr, pCtx uintptr, pEList uintptr, zOld uintptr) { /* sqlite3.c:109893:13: */ +func renameColumnElistNames(tls *libc.TLS, pParse uintptr, pCtx uintptr, pEList uintptr, zOld uintptr) { /* sqlite3.c:109906:13: */ if pEList != 0 { var i int32 for i = 0; i < (*ExprList)(unsafe.Pointer(pEList)).FnExpr; i++ { @@ -90237,7 +90256,7 @@ func renameColumnElistNames(tls *libc.TLS, pParse uintptr, pCtx uintptr, pEList // For each name in the the id-list pIdList (i.e. each pIdList->a[i].zName) // that matches the string in zOld, extract the corresponding rename-token // from Parse object pParse and add it to the RenameCtx pCtx. -func renameColumnIdlistNames(tls *libc.TLS, pParse uintptr, pCtx uintptr, pIdList uintptr, zOld uintptr) { /* sqlite3.c:109918:13: */ +func renameColumnIdlistNames(tls *libc.TLS, pParse uintptr, pCtx uintptr, pIdList uintptr, zOld uintptr) { /* sqlite3.c:109931:13: */ if pIdList != 0 { var i int32 for i = 0; i < (*IdList)(unsafe.Pointer(pIdList)).FnId; i++ { @@ -90251,7 +90270,7 @@ func renameColumnIdlistNames(tls *libc.TLS, pParse uintptr, pCtx uintptr, pIdLis // Parse the SQL statement zSql using Parse object (*p). The Parse object // is initialized by this function before it is used. -func renameParseSql(tls *libc.TLS, p uintptr, zDb uintptr, db uintptr, zSql uintptr, bTemp int32) int32 { /* sqlite3.c:109940:12: */ +func renameParseSql(tls *libc.TLS, p uintptr, zDb uintptr, db uintptr, zSql uintptr, bTemp int32) int32 { /* sqlite3.c:109953:12: */ var rc int32 Xsqlite3ParseObjectInit(tls, p, db) @@ -90259,7 +90278,7 @@ func renameParseSql(tls *libc.TLS, p uintptr, zDb uintptr, db uintptr, zSql uint return SQLITE_NOMEM } if Xsqlite3_strnicmp(tls, zSql, ts+10798, 7) != 0 { - return Xsqlite3CorruptError(tls, 109954) + return Xsqlite3CorruptError(tls, 109967) } (*Sqlite3)(unsafe.Pointer(db)).Finit.FiDb = func() uint8 { if bTemp != 0 { @@ -90276,7 +90295,7 @@ func renameParseSql(tls *libc.TLS, p uintptr, zDb uintptr, db uintptr, zSql uint } if rc == SQLITE_OK && ((*Parse)(unsafe.Pointer(p)).FpNewTable == uintptr(0) && (*Parse)(unsafe.Pointer(p)).FpNewIndex == uintptr(0) && (*Parse)(unsafe.Pointer(p)).FpNewTrigger == uintptr(0)) { - rc = Xsqlite3CorruptError(tls, 109965) + rc = Xsqlite3CorruptError(tls, 109978) } (*Sqlite3)(unsafe.Pointer(db)).Finit.FiDb = U8(0) @@ -90290,7 +90309,7 @@ func renameParseSql(tls *libc.TLS, p uintptr, zDb uintptr, db uintptr, zSql uint // // Or, if an error occurs (i.e. an OOM condition), an error is left in // pCtx and an SQLite error code returned. -func renameEditSql(tls *libc.TLS, pCtx uintptr, pRename uintptr, zSql uintptr, zNew uintptr, bQuote int32) int32 { /* sqlite3.c:109993:12: */ +func renameEditSql(tls *libc.TLS, pCtx uintptr, pRename uintptr, zSql uintptr, zNew uintptr, bQuote int32) int32 { /* sqlite3.c:110006:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -90396,7 +90415,7 @@ func renameEditSql(tls *libc.TLS, pCtx uintptr, pRename uintptr, zSql uintptr, z // it was read from the schema of database zDb. Return SQLITE_OK if // successful. Otherwise, return an SQLite error code and leave an error // message in the Parse object. -func renameResolveTrigger(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:110100:12: */ +func renameResolveTrigger(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:110113:12: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -90494,7 +90513,7 @@ func renameResolveTrigger(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:11 // Invoke sqlite3WalkExpr() or sqlite3WalkSelect() on all Select or Expr // objects that are part of the trigger passed as the second argument. -func renameWalkTrigger(tls *libc.TLS, pWalker uintptr, pTrigger uintptr) { /* sqlite3.c:110196:13: */ +func renameWalkTrigger(tls *libc.TLS, pWalker uintptr, pTrigger uintptr) { /* sqlite3.c:110209:13: */ var pStep uintptr // Find tokens to edit in WHEN clause @@ -90523,7 +90542,7 @@ func renameWalkTrigger(tls *libc.TLS, pWalker uintptr, pTrigger uintptr) { /* sq // Free the contents of Parse object (*pParse). Do not free the memory // occupied by the Parse object itself. -func renameParseCleanup(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:110227:13: */ +func renameParseCleanup(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:110240:13: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb var pIdx uintptr if (*Parse)(unsafe.Pointer(pParse)).FpVdbe != 0 { @@ -90562,7 +90581,7 @@ func renameParseCleanup(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:110227:13: // It is only accessible to SQL created using sqlite3NestedParse(). It is // not reachable from ordinary SQL passed into sqlite3_prepare() unless the // SQLITE_TESTCTRL_INTERNAL_FUNCTIONS test setting is enabled. -func renameColumnFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { /* sqlite3.c:110268:13: */ +func renameColumnFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { /* sqlite3.c:110281:13: */ bp := tls.Alloc(488) defer tls.Free(488) @@ -90905,7 +90924,7 @@ __44: } // Walker expression callback used by "RENAME TABLE". -func renameTableExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:110435:12: */ +func renameTableExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:110448:12: */ var p uintptr = *(*uintptr)(unsafe.Pointer(pWalker + 40)) if int32((*Expr)(unsafe.Pointer(pExpr)).Fop) == TK_COLUMN && (*Expr)(unsafe.Pointer(pExpr)).Fflags&U32(EP_WinFunc|EP_Subrtn) == U32(0) && @@ -90916,7 +90935,7 @@ func renameTableExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* } // Walker select callback used by "RENAME TABLE". -func renameTableSelectCb(tls *libc.TLS, pWalker uintptr, pSelect uintptr) int32 { /* sqlite3.c:110449:12: */ +func renameTableSelectCb(tls *libc.TLS, pWalker uintptr, pSelect uintptr) int32 { /* sqlite3.c:110462:12: */ var i int32 var p uintptr = *(*uintptr)(unsafe.Pointer(pWalker + 40)) var pSrc uintptr = (*Select)(unsafe.Pointer(pSelect)).FpSrc @@ -90956,7 +90975,7 @@ func renameTableSelectCb(tls *libc.TLS, pWalker uintptr, pSelect uintptr) int32 // // sqlite_rename_table('main', 'CREATE TABLE t1(a REFERENCES t2)','t2','t3',0) // -> 'CREATE TABLE t1(a REFERENCES t3)' -func renameTableFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { /* sqlite3.c:110493:13: */ +func renameTableFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { /* sqlite3.c:110506:13: */ bp := tls.Alloc(544) defer tls.Free(544) @@ -91090,7 +91109,7 @@ func renameTableFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr return } -func renameQuotefixExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:110636:12: */ +func renameQuotefixExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:110649:12: */ if int32((*Expr)(unsafe.Pointer(pExpr)).Fop) == TK_STRING && (*Expr)(unsafe.Pointer(pExpr)).Fflags&U32(EP_DblQuoted) != 0 { renameTokenFind(tls, (*Walker)(unsafe.Pointer(pWalker)).FpParse, *(*uintptr)(unsafe.Pointer(pWalker + 40)), pExpr) } @@ -91123,7 +91142,7 @@ func renameQuotefixExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { // If there is a error in the input SQL, then raise an error, except // if PRAGMA writable_schema=ON, then just return the input string // unmodified following an error. -func renameQuotefixFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { /* sqlite3.c:110670:13: */ +func renameQuotefixFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { /* sqlite3.c:110683:13: */ bp := tls.Alloc(488) defer tls.Free(488) @@ -91237,7 +91256,7 @@ func renameQuotefixFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uint // B. Else if a trigger is created and the the table that the trigger is // attached to is in database zDb, then return 1. // C. Otherwise return NULL. -func renameTableTest(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { /* sqlite3.c:110783:13: */ +func renameTableTest(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { /* sqlite3.c:110796:13: */ bp := tls.Alloc(464) defer tls.Free(464) @@ -91309,7 +91328,7 @@ func renameTableTest(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr // // The value returned is a string containing the CREATE TABLE statement // with column argv[2] removed. -func dropColumnFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { /* sqlite3.c:110858:13: */ +func dropColumnFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { /* sqlite3.c:110871:13: */ bp := tls.Alloc(432) defer tls.Free(432) @@ -91349,7 +91368,7 @@ __1: goto __2 } // This can happen if the sqlite_schema table is corrupt - rc = Xsqlite3CorruptError(tls, 110886) + rc = Xsqlite3CorruptError(tls, 110899) goto drop_column_done __2: ; @@ -91395,7 +91414,7 @@ __7: // // statement. Argument pSrc contains the possibly qualified name of the // table being edited, and token pName the name of the column to drop. -func Xsqlite3AlterDropColumn(tls *libc.TLS, pParse uintptr, pSrc uintptr, pName uintptr) { /* sqlite3.c:110923:21: */ +func Xsqlite3AlterDropColumn(tls *libc.TLS, pParse uintptr, pSrc uintptr, pName uintptr) { /* sqlite3.c:110936:21: */ bp := tls.Alloc(64) defer tls.Free(64) @@ -91628,7 +91647,7 @@ exit_drop_column: } // Register built-in functions used to help implement ALTER TABLE -func Xsqlite3AlterFunctions(tls *libc.TLS) { /* sqlite3.c:111065:21: */ +func Xsqlite3AlterFunctions(tls *libc.TLS) { /* sqlite3.c:111078:21: */ Xsqlite3InsertBuiltinFuncs(tls, uintptr(unsafe.Pointer(&aAlterTableFuncs)), int32(uint64(unsafe.Sizeof(aAlterTableFuncs))/uint64(unsafe.Sizeof(FuncDef{})))) } @@ -91637,7 +91656,7 @@ var aAlterTableFuncs = [5]FuncDef{ {FnArg: int8(7), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_FUNC_INTERNAL | SQLITE_UTF8 | SQLITE_FUNC_CONSTANT), FxSFunc: 0, FzName: ts + 11072}, {FnArg: int8(7), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_FUNC_INTERNAL | SQLITE_UTF8 | SQLITE_FUNC_CONSTANT), FxSFunc: 0, FzName: ts + 11092}, {FnArg: int8(3), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_FUNC_INTERNAL | SQLITE_UTF8 | SQLITE_FUNC_CONSTANT), FxSFunc: 0, FzName: ts + 11111}, - {FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_FUNC_INTERNAL | SQLITE_UTF8 | SQLITE_FUNC_CONSTANT), FxSFunc: 0, FzName: ts + 11130}} /* sqlite3.c:111066:18 */ + {FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_FUNC_INTERNAL | SQLITE_UTF8 | SQLITE_FUNC_CONSTANT), FxSFunc: 0, FzName: ts + 11130}} /* sqlite3.c:111079:18 */ //************* End of alter.c ********************************************** //************* Begin file analyze.c **************************************** @@ -91793,7 +91812,7 @@ var aAlterTableFuncs = [5]FuncDef{ // or it may be a NULL pointer. If it is not NULL, then all entries in // the sqlite_statN tables associated with the named table are deleted. // If zWhere==0, then code is generated to delete all stat table entries. -func openStatTable(tls *libc.TLS, pParse uintptr, iDb int32, iStatCur int32, zWhere uintptr, zWhereType uintptr) { /* sqlite3.c:111244:13: */ +func openStatTable(tls *libc.TLS, pParse uintptr, iDb int32, iStatCur int32, zWhere uintptr, zWhereType uintptr) { /* sqlite3.c:111257:13: */ bp := tls.Alloc(88) defer tls.Free(88) @@ -91873,7 +91892,7 @@ var aTable = [3]struct { {FzName: ts + 11224 /* "sqlite_stat1" */, FzCols: ts + 11237 /* "tbl,idx,stat" */}, {FzName: ts + 11250 /* "sqlite_stat4" */, FzCols: ts + 11263 /* "tbl,idx,neq,nlt,..." */}, {FzName: ts + 11291 /* "sqlite_stat3" */}, -} /* sqlite3.c:111254:5 */ +} /* sqlite3.c:111267:5 */ // Recommended number of samples for sqlite_stat4 @@ -91900,14 +91919,14 @@ type StatAccum1 = struct { FnMaxEqZero int32 FiGet int32 Fa uintptr -} /* sqlite3.c:111342:9 */ +} /* sqlite3.c:111355:9 */ // Recommended number of samples for sqlite_stat4 // Three SQL functions - stat_init(), stat_push(), and stat_get() - // share an instance of the following structure to hold their state // information. -type StatAccum = StatAccum1 /* sqlite3.c:111342:26 */ +type StatAccum = StatAccum1 /* sqlite3.c:111355:26 */ type StatSample1 = struct { FanEq uintptr FanDLt uintptr @@ -91918,12 +91937,12 @@ type StatSample1 = struct { F__ccgo_pad1 [3]byte FiCol int32 FiHash U32 -} /* sqlite3.c:111342:9 */ +} /* sqlite3.c:111355:9 */ -type StatSample = StatSample1 /* sqlite3.c:111343:27 */ +type StatSample = StatSample1 /* sqlite3.c:111356:27 */ // Reclaim memory used by a StatSample -func sampleClear(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:111384:13: */ +func sampleClear(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:111397:13: */ if (*StatSample)(unsafe.Pointer(p)).FnRowid != 0 { Xsqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(p + 24))) @@ -91932,7 +91951,7 @@ func sampleClear(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:111384:13: } // Initialize the BLOB value of a ROWID -func sampleSetRowid(tls *libc.TLS, db uintptr, p uintptr, n int32, pData uintptr) { /* sqlite3.c:111396:13: */ +func sampleSetRowid(tls *libc.TLS, db uintptr, p uintptr, n int32, pData uintptr) { /* sqlite3.c:111409:13: */ if (*StatSample)(unsafe.Pointer(p)).FnRowid != 0 { Xsqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(p + 24))) @@ -91947,7 +91966,7 @@ func sampleSetRowid(tls *libc.TLS, db uintptr, p uintptr, n int32, pData uintptr } // Initialize the INTEGER value of a ROWID. -func sampleSetRowidInt64(tls *libc.TLS, db uintptr, p uintptr, iRowid I64) { /* sqlite3.c:111412:13: */ +func sampleSetRowidInt64(tls *libc.TLS, db uintptr, p uintptr, iRowid I64) { /* sqlite3.c:111425:13: */ if (*StatSample)(unsafe.Pointer(p)).FnRowid != 0 { Xsqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(p + 24))) @@ -91957,7 +91976,7 @@ func sampleSetRowidInt64(tls *libc.TLS, db uintptr, p uintptr, iRowid I64) { /* } // Copy the contents of object (*pFrom) into (*pTo). -func sampleCopy(tls *libc.TLS, p uintptr, pTo uintptr, pFrom uintptr) { /* sqlite3.c:111425:13: */ +func sampleCopy(tls *libc.TLS, p uintptr, pTo uintptr, pFrom uintptr) { /* sqlite3.c:111438:13: */ (*StatSample)(unsafe.Pointer(pTo)).FisPSample = (*StatSample)(unsafe.Pointer(pFrom)).FisPSample (*StatSample)(unsafe.Pointer(pTo)).FiCol = (*StatSample)(unsafe.Pointer(pFrom)).FiCol (*StatSample)(unsafe.Pointer(pTo)).FiHash = (*StatSample)(unsafe.Pointer(pFrom)).FiHash @@ -91972,7 +91991,7 @@ func sampleCopy(tls *libc.TLS, p uintptr, pTo uintptr, pFrom uintptr) { /* sqlit } // Reclaim all memory of a StatAccum structure. -func statAccumDestructor(tls *libc.TLS, pOld uintptr) { /* sqlite3.c:111443:13: */ +func statAccumDestructor(tls *libc.TLS, pOld uintptr) { /* sqlite3.c:111456:13: */ var p uintptr = pOld if (*StatAccum)(unsafe.Pointer(p)).FmxSample != 0 { var i int32 @@ -92007,7 +92026,7 @@ func statAccumDestructor(tls *libc.TLS, pOld uintptr) { /* sqlite3.c:111443:13: // value is a pointer to the StatAccum object. The datatype of the // return value is BLOB, but it is really just a pointer to the StatAccum // object. -func statInit(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:111478:13: */ +func statInit(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:111491:13: */ var p uintptr var nCol int32 // Number of columns in index being sampled var nKeyCol int32 // Number of key columns @@ -92102,7 +92121,7 @@ var statInitFuncdef = FuncDef{ FnArg: int8(4), // nArg FfuncFlags: U32(SQLITE_UTF8), // pNext FxSFunc: 0, // xValue, xInverse - FzName: ts + 11304} /* sqlite3.c:111564:22 */ + FzName: ts + 11304} /* sqlite3.c:111577:22 */ // pNew and pOld are both candidate non-periodic samples selected for // the same column (pNew->iCol==pOld->iCol). Ignoring this column and @@ -92113,7 +92132,7 @@ var statInitFuncdef = FuncDef{ // // This function assumes that for each argument sample, the contents of // the anEq[] array from pSample->anEq[pSample->iCol+1] onwards are valid. -func sampleIsBetterPost(tls *libc.TLS, pAccum uintptr, pNew uintptr, pOld uintptr) int32 { /* sqlite3.c:111588:12: */ +func sampleIsBetterPost(tls *libc.TLS, pAccum uintptr, pNew uintptr, pOld uintptr) int32 { /* sqlite3.c:111601:12: */ var nCol int32 = (*StatAccum)(unsafe.Pointer(pAccum)).FnCol var i int32 @@ -92135,7 +92154,7 @@ func sampleIsBetterPost(tls *libc.TLS, pAccum uintptr, pNew uintptr, pOld uintpt // // This function assumes that for each argument sample, the contents of // the anEq[] array from pSample->anEq[pSample->iCol] onwards are valid. -func sampleIsBetter(tls *libc.TLS, pAccum uintptr, pNew uintptr, pOld uintptr) int32 { /* sqlite3.c:111612:12: */ +func sampleIsBetter(tls *libc.TLS, pAccum uintptr, pNew uintptr, pOld uintptr) int32 { /* sqlite3.c:111625:12: */ var nEqNew TRowcnt = *(*TRowcnt)(unsafe.Pointer((*StatSample)(unsafe.Pointer(pNew)).FanEq + uintptr((*StatSample)(unsafe.Pointer(pNew)).FiCol)*4)) var nEqOld TRowcnt = *(*TRowcnt)(unsafe.Pointer((*StatSample)(unsafe.Pointer(pOld)).FanEq + uintptr((*StatSample)(unsafe.Pointer(pOld)).FiCol)*4)) @@ -92153,7 +92172,7 @@ func sampleIsBetter(tls *libc.TLS, pAccum uintptr, pNew uintptr, pOld uintptr) i // Copy the contents of sample *pNew into the p->a[] array. If necessary, // remove the least desirable sample from p->a[] to make room. -func sampleInsert(tls *libc.TLS, p uintptr, pNew uintptr, nEqZero int32) { /* sqlite3.c:111635:13: */ +func sampleInsert(tls *libc.TLS, p uintptr, pNew uintptr, nEqZero int32) { /* sqlite3.c:111648:13: */ var pSample uintptr var i int32 var pOld uintptr @@ -92296,7 +92315,7 @@ __11: // p->current contains a sample that reflects the previous row of the // index. The value of anEq[iChng] and subsequent anEq[] elements are // correct at this point. -func samplePushPrevious(tls *libc.TLS, p uintptr, iChng int32) { /* sqlite3.c:111727:13: */ +func samplePushPrevious(tls *libc.TLS, p uintptr, iChng int32) { /* sqlite3.c:111740:13: */ var i int32 // Check if any samples from the aBest[] array should be pushed @@ -92348,7 +92367,7 @@ func samplePushPrevious(tls *libc.TLS, p uintptr, iChng int32) { /* sqlite3.c:11 // if it wants the byte-code to do special processing. // // The R parameter is only used for STAT4 -func statPush(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:111779:13: */ +func statPush(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:111792:13: */ var i int32 // The three function arguments @@ -92420,7 +92439,7 @@ var statPushFuncdef = FuncDef{ FnArg: int8(2 + IsStat4), FfuncFlags: U32(SQLITE_UTF8), // pNext FxSFunc: 0, // xValue, xInverse - FzName: ts + 11314} /* sqlite3.c:111854:22 */ + FzName: ts + 11314} /* sqlite3.c:111867:22 */ // Implementation of the stat_get(P,J) SQL function. This routine is // used to query statistical information that has been gathered into @@ -92439,7 +92458,7 @@ var statPushFuncdef = FuncDef{ // STAT_GET_STAT1 and is hence omitted and this routine becomes // a one-parameter function, stat_get(P), that always returns the // stat1 table entry information. -func statGet(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:111891:13: */ +func statGet(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:111904:13: */ bp := tls.Alloc(88) defer tls.Free(88) @@ -92540,9 +92559,9 @@ var statGetFuncdef = FuncDef{ FnArg: int8(1 + IsStat4), FfuncFlags: U32(SQLITE_UTF8), // pNext FxSFunc: 0, // xValue, xInverse - FzName: ts + 11341} /* sqlite3.c:111988:22 */ + FzName: ts + 11341} /* sqlite3.c:112001:22 */ -func callStatGet(tls *libc.TLS, pParse uintptr, regStat int32, iParam int32, regOut int32) { /* sqlite3.c:112000:13: */ +func callStatGet(tls *libc.TLS, pParse uintptr, regStat int32, iParam int32, regOut int32) { /* sqlite3.c:112013:13: */ Xsqlite3VdbeAddOp2(tls, (*Parse)(unsafe.Pointer(pParse)).FpVdbe, OP_Integer, iParam, regStat+1) Xsqlite3VdbeAddFunctionCall(tls, pParse, 0, regStat, regOut, 1+IsStat4, @@ -92551,7 +92570,7 @@ func callStatGet(tls *libc.TLS, pParse uintptr, regStat int32, iParam int32, reg // Generate code to do an analysis of all indices associated with // a single table. -func analyzeOneTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uintptr, iStatCur int32, iMem int32, iTab int32) { /* sqlite3.c:112041:13: */ +func analyzeOneTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uintptr, iStatCur int32, iMem int32, iTab int32) { /* sqlite3.c:112054:13: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb // Database handle var pIdx uintptr // An index to being analyzed var iIdxCur int32 // Cursor open on index being analyzed @@ -92911,7 +92930,7 @@ func analyzeOneTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uintp // Generate code that will cause the most recent index analysis to // be loaded into internal hash tables where is can be used. -func loadAnalysis(tls *libc.TLS, pParse uintptr, iDb int32) { /* sqlite3.c:112403:13: */ +func loadAnalysis(tls *libc.TLS, pParse uintptr, iDb int32) { /* sqlite3.c:112416:13: */ var v uintptr = Xsqlite3GetVdbe(tls, pParse) if v != 0 { Xsqlite3VdbeAddOp1(tls, v, OP_LoadAnalysis, iDb) @@ -92919,7 +92938,7 @@ func loadAnalysis(tls *libc.TLS, pParse uintptr, iDb int32) { /* sqlite3.c:11240 } // Generate code that will do an analysis of an entire database -func analyzeDatabase(tls *libc.TLS, pParse uintptr, iDb int32) { /* sqlite3.c:112413:13: */ +func analyzeDatabase(tls *libc.TLS, pParse uintptr, iDb int32) { /* sqlite3.c:112426:13: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb var pSchema uintptr = (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32)).FpSchema // Schema of database iDb var k uintptr @@ -92944,7 +92963,7 @@ func analyzeDatabase(tls *libc.TLS, pParse uintptr, iDb int32) { /* sqlite3.c:11 // Generate code that will do an analysis of a single table in // a database. If pOnlyIdx is not NULL then it is a single index // in pTab that should be analyzed. -func analyzeTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uintptr) { /* sqlite3.c:112440:13: */ +func analyzeTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uintptr) { /* sqlite3.c:112453:13: */ var iDb int32 var iStatCur int32 @@ -92971,7 +92990,7 @@ func analyzeTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uintptr) // Form 1 causes all indices in all attached databases to be analyzed. // Form 2 analyzes all indices the single database named. // Form 3 analyzes all indices associated with the named table. -func Xsqlite3Analyze(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 uintptr) { /* sqlite3.c:112471:21: */ +func Xsqlite3Analyze(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 uintptr) { /* sqlite3.c:112484:21: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -93034,16 +93053,16 @@ func Xsqlite3Analyze(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 uintp type analysisInfo = struct { Fdb uintptr FzDatabase uintptr -} /* sqlite3.c:112523:9 */ +} /* sqlite3.c:112536:9 */ // Used to pass information from the analyzer reader through to the // callback routine. -type AnalysisInfo = analysisInfo /* sqlite3.c:112523:29 */ +type AnalysisInfo = analysisInfo /* sqlite3.c:112536:29 */ // The first argument points to a nul-terminated string containing a // list of space separated integers. Read the first nOut of these into // the array aOut[]. -func decodeIntArray(tls *libc.TLS, zIntArray uintptr, nOut int32, aOut uintptr, aLog uintptr, pIndex uintptr) { /* sqlite3.c:112534:13: */ +func decodeIntArray(tls *libc.TLS, zIntArray uintptr, nOut int32, aOut uintptr, aLog uintptr, pIndex uintptr) { /* sqlite3.c:112547:13: */ var z uintptr = zIntArray var c int32 var i int32 @@ -93102,7 +93121,7 @@ func decodeIntArray(tls *libc.TLS, zIntArray uintptr, nOut int32, aOut uintptr, // // Entries for which argv[1]==NULL simply record the number of rows in // the table. -func analysisLoader(tls *libc.TLS, pData uintptr, argc int32, argv uintptr, NotUsed uintptr) int32 { /* sqlite3.c:112607:12: */ +func analysisLoader(tls *libc.TLS, pData uintptr, argc int32, argv uintptr, NotUsed uintptr) int32 { /* sqlite3.c:112620:12: */ bp := tls.Alloc(152) defer tls.Free(152) @@ -93164,7 +93183,7 @@ func analysisLoader(tls *libc.TLS, pData uintptr, argc int32, argv uintptr, NotU // If the Index.aSample variable is not NULL, delete the aSample[] array // and its contents. -func Xsqlite3DeleteIndexSamples(tls *libc.TLS, db uintptr, pIdx uintptr) { /* sqlite3.c:112670:21: */ +func Xsqlite3DeleteIndexSamples(tls *libc.TLS, db uintptr, pIdx uintptr) { /* sqlite3.c:112683:21: */ if (*Index)(unsafe.Pointer(pIdx)).FaSample != 0 { var j int32 for j = 0; j < (*Index)(unsafe.Pointer(pIdx)).FnSample; j++ { @@ -93181,7 +93200,7 @@ func Xsqlite3DeleteIndexSamples(tls *libc.TLS, db uintptr, pIdx uintptr) { /* sq // Populate the pIdx->aAvgEq[] array based on the samples currently // stored in pIdx->aSample[]. -func initAvgEq(tls *libc.TLS, pIdx uintptr) { /* sqlite3.c:112695:13: */ +func initAvgEq(tls *libc.TLS, pIdx uintptr) { /* sqlite3.c:112708:13: */ if pIdx != 0 { var aSample uintptr = (*Index)(unsafe.Pointer(pIdx)).FaSample var pFinal uintptr = aSample + uintptr((*Index)(unsafe.Pointer(pIdx)).FnSample-1)*40 @@ -93239,7 +93258,7 @@ func initAvgEq(tls *libc.TLS, pIdx uintptr) { /* sqlite3.c:112695:13: */ // Look up an index by name. Or, if the name of a WITHOUT ROWID table // is supplied instead, find the PRIMARY KEY index for that table. -func findIndexOrPrimaryKey(tls *libc.TLS, db uintptr, zName uintptr, zDb uintptr) uintptr { /* sqlite3.c:112754:14: */ +func findIndexOrPrimaryKey(tls *libc.TLS, db uintptr, zName uintptr, zDb uintptr) uintptr { /* sqlite3.c:112767:14: */ var pIdx uintptr = Xsqlite3FindIndex(tls, db, zName, zDb) if pIdx == uintptr(0) { var pTab uintptr = Xsqlite3FindTable(tls, db, zName, zDb) @@ -93260,7 +93279,7 @@ func findIndexOrPrimaryKey(tls *libc.TLS, db uintptr, zName uintptr, zDb uintptr // zSql2: SELECT idx,neq,nlt,ndlt,sample FROM %Q.sqlite_stat4 // // where %Q is replaced with the database name before the SQL is executed. -func loadStatTbl(tls *libc.TLS, db uintptr, zSql1 uintptr, zSql2 uintptr, zDb uintptr) int32 { /* sqlite3.c:112779:12: */ +func loadStatTbl(tls *libc.TLS, db uintptr, zSql1 uintptr, zSql2 uintptr, zDb uintptr) int32 { /* sqlite3.c:112792:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -93396,7 +93415,7 @@ func loadStatTbl(tls *libc.TLS, db uintptr, zSql1 uintptr, zSql2 uintptr, zDb ui // Load content from the sqlite_stat4 table into // the Index.aSample[] arrays of all indices. -func loadStat4(tls *libc.TLS, db uintptr, zDb uintptr) int32 { /* sqlite3.c:112900:12: */ +func loadStat4(tls *libc.TLS, db uintptr, zDb uintptr) int32 { /* sqlite3.c:112913:12: */ var rc int32 = SQLITE_OK // Result codes from subroutines var pStat4 uintptr @@ -93428,7 +93447,7 @@ func loadStat4(tls *libc.TLS, db uintptr, zDb uintptr) int32 { /* sqlite3.c:1129 // If an OOM error occurs, this function always sets db->mallocFailed. // This means if the caller does not care about other errors, the return // code may be ignored. -func Xsqlite3AnalysisLoad(tls *libc.TLS, db uintptr, iDb int32) int32 { /* sqlite3.c:112938:20: */ +func Xsqlite3AnalysisLoad(tls *libc.TLS, db uintptr, iDb int32) int32 { /* sqlite3.c:112951:20: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -93535,7 +93554,7 @@ func Xsqlite3AnalysisLoad(tls *libc.TLS, db uintptr, iDb int32) int32 { /* sqlit // ATTACH DATABASE abc||def AS 'db2' // // will fail because neither abc or def can be resolved. -func resolveAttachExpr(tls *libc.TLS, pName uintptr, pExpr uintptr) int32 { /* sqlite3.c:113046:12: */ +func resolveAttachExpr(tls *libc.TLS, pName uintptr, pExpr uintptr) int32 { /* sqlite3.c:113059:12: */ var rc int32 = SQLITE_OK if pExpr != 0 { if int32((*Expr)(unsafe.Pointer(pExpr)).Fop) != TK_ID { @@ -93549,7 +93568,7 @@ func resolveAttachExpr(tls *libc.TLS, pName uintptr, pExpr uintptr) int32 { /* s // Return true if zName points to a name that may be used to refer to // database iDb attached to handle db. -func Xsqlite3DbIsNamed(tls *libc.TLS, db uintptr, iDb int32, zName uintptr) int32 { /* sqlite3.c:113063:20: */ +func Xsqlite3DbIsNamed(tls *libc.TLS, db uintptr, iDb int32, zName uintptr) int32 { /* sqlite3.c:113076:20: */ return libc.Bool32(Xsqlite3StrICmp(tls, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(iDb)*32)).FzDbSName, zName) == 0 || iDb == 0 && Xsqlite3StrICmp(tls, ts+6323, zName) == 0) } @@ -93567,7 +93586,7 @@ func Xsqlite3DbIsNamed(tls *libc.TLS, db uintptr, iDb int32, zName uintptr) int3 // If the db->init.reopenMemdb flags is set, then instead of attaching a // new database, close the database on db->init.iDb and reopen it as an // empty MemDB. -func attachFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { /* sqlite3.c:113085:13: */ +func attachFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { /* sqlite3.c:113098:13: */ bp := tls.Alloc(64) defer tls.Free(64) @@ -93860,7 +93879,7 @@ __34: // DETACH DATABASE x // // SELECT sqlite_detach(x) -func detachFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { /* sqlite3.c:113278:13: */ +func detachFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { /* sqlite3.c:113291:13: */ bp := tls.Alloc(152) defer tls.Free(152) @@ -93965,7 +93984,7 @@ detach_error: // This procedure generates VDBE code for a single invocation of either the // sqlite_detach() or sqlite_attach() SQL user functions. -func codeAttach(tls *libc.TLS, pParse uintptr, type1 int32, pFunc uintptr, pAuthArg uintptr, pFilename uintptr, pDbname uintptr, pKey uintptr) { /* sqlite3.c:113340:13: */ +func codeAttach(tls *libc.TLS, pParse uintptr, type1 int32, pFunc uintptr, pAuthArg uintptr, pFilename uintptr, pDbname uintptr, pKey uintptr) { /* sqlite3.c:113353:13: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -94044,7 +94063,7 @@ attach_end: // Called by the parser to compile a DETACH statement. // // DETACH pDbname -func Xsqlite3Detach(tls *libc.TLS, pParse uintptr, pDbname uintptr) { /* sqlite3.c:113412:21: */ +func Xsqlite3Detach(tls *libc.TLS, pParse uintptr, pDbname uintptr) { /* sqlite3.c:113425:21: */ codeAttach(tls, pParse, SQLITE_DETACH, uintptr(unsafe.Pointer(&detach_func)), pDbname, uintptr(0), uintptr(0), pDbname) } @@ -94052,12 +94071,12 @@ var detach_func = FuncDef{ FnArg: int8(1), // nArg FfuncFlags: U32(SQLITE_UTF8), // pNext FxSFunc: 0, // xValue, xInverse - FzName: ts + 11816} /* sqlite3.c:113413:24 */ + FzName: ts + 11816} /* sqlite3.c:113426:24 */ // Called by the parser to compile an ATTACH statement. // // ATTACH p AS pDbname KEY pKey -func Xsqlite3Attach(tls *libc.TLS, pParse uintptr, p uintptr, pDbname uintptr, pKey uintptr) { /* sqlite3.c:113432:21: */ +func Xsqlite3Attach(tls *libc.TLS, pParse uintptr, p uintptr, pDbname uintptr, pKey uintptr) { /* sqlite3.c:113445:21: */ codeAttach(tls, pParse, SQLITE_ATTACH, uintptr(unsafe.Pointer(&attach_func)), p, p, pDbname, pKey) } @@ -94065,10 +94084,10 @@ var attach_func = FuncDef{ FnArg: int8(3), // nArg FfuncFlags: U32(SQLITE_UTF8), // pNext FxSFunc: 0, // xValue, xInverse - FzName: ts + 11830} /* sqlite3.c:113433:24 */ + FzName: ts + 11830} /* sqlite3.c:113446:24 */ // Expression callback used by sqlite3FixAAAA() routines. -func fixExprCb(tls *libc.TLS, p uintptr, pExpr uintptr) int32 { /* sqlite3.c:113451:12: */ +func fixExprCb(tls *libc.TLS, p uintptr, pExpr uintptr) int32 { /* sqlite3.c:113464:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -94088,7 +94107,7 @@ func fixExprCb(tls *libc.TLS, p uintptr, pExpr uintptr) int32 { /* sqlite3.c:113 } // Select callback used by sqlite3FixAAAA() routines. -func fixSelectCb(tls *libc.TLS, p uintptr, pSelect uintptr) int32 { /* sqlite3.c:113468:12: */ +func fixSelectCb(tls *libc.TLS, p uintptr, pSelect uintptr) int32 { /* sqlite3.c:113481:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -94149,7 +94168,7 @@ __3: // Initialize a DbFixer structure. This routine must be called prior // to passing the structure to one of the sqliteFixAAAA() routines below. -func Xsqlite3FixInit(tls *libc.TLS, pFix uintptr, pParse uintptr, iDb int32, zType uintptr, pName uintptr) { /* sqlite3.c:113511:21: */ +func Xsqlite3FixInit(tls *libc.TLS, pFix uintptr, pParse uintptr, iDb int32, zType uintptr, pName uintptr) { /* sqlite3.c:113524:21: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb (*DbFixer)(unsafe.Pointer(pFix)).FpParse = pParse @@ -94185,7 +94204,7 @@ func Xsqlite3FixInit(tls *libc.TLS, pFix uintptr, pParse uintptr, iDb int32, zTy // to an object in a different database, an error message is added to // pParse->zErrMsg and these routines return non-zero. If everything // checks out, these routines return 0. -func Xsqlite3FixSrcList(tls *libc.TLS, pFix uintptr, pList uintptr) int32 { /* sqlite3.c:113549:20: */ +func Xsqlite3FixSrcList(tls *libc.TLS, pFix uintptr, pList uintptr) int32 { /* sqlite3.c:113562:20: */ bp := tls.Alloc(128) defer tls.Free(128) @@ -94200,15 +94219,15 @@ func Xsqlite3FixSrcList(tls *libc.TLS, pFix uintptr, pList uintptr) int32 { /* s return res } -func Xsqlite3FixSelect(tls *libc.TLS, pFix uintptr, pSelect uintptr) int32 { /* sqlite3.c:113563:20: */ +func Xsqlite3FixSelect(tls *libc.TLS, pFix uintptr, pSelect uintptr) int32 { /* sqlite3.c:113576:20: */ return Xsqlite3WalkSelect(tls, pFix+8, pSelect) } -func Xsqlite3FixExpr(tls *libc.TLS, pFix uintptr, pExpr uintptr) int32 { /* sqlite3.c:113569:20: */ +func Xsqlite3FixExpr(tls *libc.TLS, pFix uintptr, pExpr uintptr) int32 { /* sqlite3.c:113582:20: */ return Xsqlite3WalkExpr(tls, pFix+8, pExpr) } -func Xsqlite3FixTriggerStep(tls *libc.TLS, pFix uintptr, pStep uintptr) int32 { /* sqlite3.c:113578:20: */ +func Xsqlite3FixTriggerStep(tls *libc.TLS, pFix uintptr, pStep uintptr) int32 { /* sqlite3.c:113591:20: */ for pStep != 0 { if Xsqlite3WalkSelect(tls, pFix+8, (*TriggerStep)(unsafe.Pointer(pStep)).FpSelect) != 0 || Xsqlite3WalkExpr(tls, pFix+8, (*TriggerStep)(unsafe.Pointer(pStep)).FpWhere) != 0 || @@ -94298,7 +94317,7 @@ func Xsqlite3FixTriggerStep(tls *libc.TLS, pFix uintptr, pStep uintptr) 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) int32 { /* sqlite3.c:113682:16: */ +func Xsqlite3_set_authorizer(tls *libc.TLS, db uintptr, xAuth uintptr, pArg uintptr) int32 { /* sqlite3.c:113695:16: */ Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) (*Sqlite3)(unsafe.Pointer(db)).FxAuth = xAuth (*Sqlite3)(unsafe.Pointer(db)).FpAuthArg = pArg @@ -94311,7 +94330,7 @@ func Xsqlite3_set_authorizer(tls *libc.TLS, db uintptr, xAuth uintptr, pArg uint // Write an error message into pParse->zErrMsg that explains that the // user-supplied authorization function returned an illegal value. -func sqliteAuthBadReturnCode(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:113702:13: */ +func sqliteAuthBadReturnCode(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:113715:13: */ Xsqlite3ErrorMsg(tls, pParse, ts+11914, 0) (*Parse)(unsafe.Pointer(pParse)).Frc = SQLITE_ERROR } @@ -94323,7 +94342,7 @@ func sqliteAuthBadReturnCode(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:11370 // If SQLITE_IGNORE is returned and pExpr is not NULL, then pExpr is changed // to an SQL NULL expression. Otherwise, if pExpr is NULL, then SQLITE_IGNORE // is treated as SQLITE_DENY. In this case an error is left in pParse. -func Xsqlite3AuthReadCol(tls *libc.TLS, pParse uintptr, zTab uintptr, zCol uintptr, iDb int32) int32 { /* sqlite3.c:113716:20: */ +func Xsqlite3AuthReadCol(tls *libc.TLS, pParse uintptr, zTab uintptr, zCol uintptr, iDb int32) int32 { /* sqlite3.c:113729:20: */ bp := tls.Alloc(40) defer tls.Free(40) @@ -94357,7 +94376,7 @@ func Xsqlite3AuthReadCol(tls *libc.TLS, pParse uintptr, zTab uintptr, zCol uintp // If the auth function returns SQLITE_IGNORE, change the TK_COLUMN // instruction into a TK_NULL. If the auth function returns SQLITE_DENY, // then generate an error. -func Xsqlite3AuthRead(tls *libc.TLS, pParse uintptr, pExpr uintptr, pSchema uintptr, pTabList uintptr) { /* sqlite3.c:113752:21: */ +func Xsqlite3AuthRead(tls *libc.TLS, pParse uintptr, pExpr uintptr, pSchema uintptr, pTabList uintptr) { /* sqlite3.c:113765:21: */ var pTab uintptr = uintptr(0) // The table being read var zCol uintptr // Name of the column of the table var iSrc int32 // Index in pTabList->a[] of table being read @@ -94406,7 +94425,7 @@ func Xsqlite3AuthRead(tls *libc.TLS, pParse uintptr, pExpr uintptr, pSchema uint // either SQLITE_OK (zero) or SQLITE_IGNORE or SQLITE_DENY. If SQLITE_DENY // is returned, then the error count and error message in pParse are // modified appropriately. -func Xsqlite3AuthCheck(tls *libc.TLS, pParse uintptr, code int32, zArg1 uintptr, zArg2 uintptr, zArg3 uintptr) int32 { /* sqlite3.c:113809:20: */ +func Xsqlite3AuthCheck(tls *libc.TLS, pParse uintptr, code int32, zArg1 uintptr, zArg2 uintptr, zArg3 uintptr) int32 { /* sqlite3.c:113822:20: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb var rc int32 @@ -94440,7 +94459,7 @@ func Xsqlite3AuthCheck(tls *libc.TLS, pParse uintptr, code int32, zArg1 uintptr, // Push an authorization context. After this routine is called, the // zArg3 argument to authorization callbacks will be zContext until // popped. Or if pParse==0, this routine is a no-op. -func Xsqlite3AuthContextPush(tls *libc.TLS, pParse uintptr, pContext uintptr, zContext uintptr) { /* sqlite3.c:113858:21: */ +func Xsqlite3AuthContextPush(tls *libc.TLS, pParse uintptr, pContext uintptr, zContext uintptr) { /* sqlite3.c:113871:21: */ (*AuthContext)(unsafe.Pointer(pContext)).FpParse = pParse (*AuthContext)(unsafe.Pointer(pContext)).FzAuthContext = (*Parse)(unsafe.Pointer(pParse)).FzAuthContext @@ -94449,7 +94468,7 @@ func Xsqlite3AuthContextPush(tls *libc.TLS, pParse uintptr, pContext uintptr, zC // Pop an authorization context that was previously pushed // by sqlite3AuthContextPush -func Xsqlite3AuthContextPop(tls *libc.TLS, pContext uintptr) { /* sqlite3.c:113873:21: */ +func Xsqlite3AuthContextPop(tls *libc.TLS, pContext uintptr) { /* sqlite3.c:113886:21: */ if (*AuthContext)(unsafe.Pointer(pContext)).FpParse != 0 { (*Parse)(unsafe.Pointer((*AuthContext)(unsafe.Pointer(pContext)).FpParse)).FzAuthContext = (*AuthContext)(unsafe.Pointer(pContext)).FzAuthContext (*AuthContext)(unsafe.Pointer(pContext)).FpParse = uintptr(0) @@ -94464,7 +94483,7 @@ func Xsqlite3AuthContextPop(tls *libc.TLS, pContext uintptr) { /* sqlite3.c:1138 // This routine just records the fact that the lock is desired. The // code to make the lock occur is generated by a later call to // codeTableLocks() which occurs during sqlite3FinishCoding(). -func lockTable(tls *libc.TLS, pParse uintptr, iDb int32, iTab Pgno, isWriteLock U8, zName uintptr) { /* sqlite3.c:113932:29: */ +func lockTable(tls *libc.TLS, pParse uintptr, iDb int32, iTab Pgno, isWriteLock U8, zName uintptr) { /* sqlite3.c:113945:29: */ var pToplevel uintptr var i int32 var nBytes int32 @@ -94498,7 +94517,7 @@ func lockTable(tls *libc.TLS, pParse uintptr, iDb int32, iTab Pgno, isWriteLock } } -func Xsqlite3TableLock(tls *libc.TLS, pParse uintptr, iDb int32, iTab Pgno, isWriteLock U8, zName uintptr) { /* sqlite3.c:113968:21: */ +func Xsqlite3TableLock(tls *libc.TLS, pParse uintptr, iDb int32, iTab Pgno, isWriteLock U8, zName uintptr) { /* sqlite3.c:113981:21: */ if iDb == 1 { return } @@ -94510,7 +94529,7 @@ func Xsqlite3TableLock(tls *libc.TLS, pParse uintptr, iDb int32, iTab Pgno, isWr // Code an OP_TableLock instruction for each table locked by the // statement (configured by calls to sqlite3TableLock()). -func codeTableLocks(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:113984:13: */ +func codeTableLocks(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:113997:13: */ var i int32 var pVdbe uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe @@ -94534,7 +94553,7 @@ func codeTableLocks(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:113984:13: */ // // Note that if an error occurred, it might be the case that // no VDBE code was generated. -func Xsqlite3FinishCoding(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:114023:21: */ +func Xsqlite3FinishCoding(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:114036:21: */ var db uintptr var v uintptr @@ -94687,7 +94706,7 @@ func Xsqlite3FinishCoding(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:114023:2 // * Built-in SQL functions always take precedence over application-defined // SQL functions. In other words, it is not possible to override a // built-in function. -func Xsqlite3NestedParse(tls *libc.TLS, pParse uintptr, zFormat uintptr, va uintptr) { /* sqlite3.c:114194:21: */ +func Xsqlite3NestedParse(tls *libc.TLS, pParse uintptr, zFormat uintptr, va uintptr) { /* sqlite3.c:114207:21: */ bp := tls.Alloc(136) defer tls.Free(136) @@ -94738,7 +94757,7 @@ func Xsqlite3NestedParse(tls *libc.TLS, pParse uintptr, zFormat uintptr, va uint // auxiliary databases added using the ATTACH command. // // See also sqlite3LocateTable(). -func Xsqlite3FindTable(tls *libc.TLS, db uintptr, zName uintptr, zDatabase uintptr) uintptr { /* sqlite3.c:114249:22: */ +func Xsqlite3FindTable(tls *libc.TLS, db uintptr, zName uintptr, zDatabase uintptr) uintptr { /* sqlite3.c:114262:22: */ var p uintptr = uintptr(0) var i int32 @@ -94814,7 +94833,7 @@ func Xsqlite3FindTable(tls *libc.TLS, db uintptr, zName uintptr, zDatabase uintp // The difference between this routine and sqlite3FindTable() is that this // routine leaves an error message in pParse->zErrMsg where // sqlite3FindTable() does not. -func Xsqlite3LocateTable(tls *libc.TLS, pParse uintptr, flags U32, zName uintptr, zDbase uintptr) uintptr { /* sqlite3.c:114327:22: */ +func Xsqlite3LocateTable(tls *libc.TLS, pParse uintptr, flags U32, zName uintptr, zDbase uintptr) uintptr { /* sqlite3.c:114340:22: */ bp := tls.Alloc(40) defer tls.Free(40) @@ -94877,7 +94896,7 @@ func Xsqlite3LocateTable(tls *libc.TLS, pParse uintptr, flags U32, zName uintptr // the search to schema (p->pSchema) if it is not NULL. p->pSchema may be // non-NULL if it is part of a view or trigger program definition. See // sqlite3FixSrcList() for details. -func Xsqlite3LocateTableItem(tls *libc.TLS, pParse uintptr, flags U32, p uintptr) uintptr { /* sqlite3.c:114390:22: */ +func Xsqlite3LocateTableItem(tls *libc.TLS, pParse uintptr, flags U32, p uintptr) uintptr { /* sqlite3.c:114403:22: */ var zDb uintptr if (*SrcItem)(unsafe.Pointer(p)).FpSchema != 0 { @@ -94891,7 +94910,7 @@ func Xsqlite3LocateTableItem(tls *libc.TLS, pParse uintptr, flags U32, p uintptr // Return the preferred table name for system tables. Translate legacy // names into the new preferred names, as appropriate. -func Xsqlite3PreferredTableName(tls *libc.TLS, zName uintptr) uintptr { /* sqlite3.c:114410:27: */ +func Xsqlite3PreferredTableName(tls *libc.TLS, zName uintptr) uintptr { /* sqlite3.c:114423:27: */ if Xsqlite3_strnicmp(tls, zName, ts+8010, 7) == 0 { if Xsqlite3StrICmp(tls, zName+uintptr(7), ts+5835+7) == 0 { return ts + 12010 /* "sqlite_schema" */ @@ -94913,7 +94932,7 @@ func Xsqlite3PreferredTableName(tls *libc.TLS, zName uintptr) uintptr { /* sqlit // for duplicate index names is done.) The search order is // TEMP first, then MAIN, then any auxiliary databases added // using the ATTACH command. -func Xsqlite3FindIndex(tls *libc.TLS, db uintptr, zName uintptr, zDb uintptr) uintptr { /* sqlite3.c:114434:22: */ +func Xsqlite3FindIndex(tls *libc.TLS, db uintptr, zName uintptr, zDb uintptr) uintptr { /* sqlite3.c:114447:22: */ var p uintptr = uintptr(0) var i int32 // All mutexes are required for schema access. Make sure we hold them. @@ -94940,7 +94959,7 @@ func Xsqlite3FindIndex(tls *libc.TLS, db uintptr, zName uintptr, zDb uintptr) ui } // Reclaim the memory used by an index -func Xsqlite3FreeIndex(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:114454:21: */ +func Xsqlite3FreeIndex(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:114467:21: */ Xsqlite3DeleteIndexSamples(tls, db, p) Xsqlite3ExprDelete(tls, db, (*Index)(unsafe.Pointer(p)).FpPartIdxWhere) Xsqlite3ExprListDelete(tls, db, (*Index)(unsafe.Pointer(p)).FaColExpr) @@ -94956,7 +94975,7 @@ func Xsqlite3FreeIndex(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:1144 // unlike that index from its Table then remove the index from // the index hash table and free all memory structures associated // with the index. -func Xsqlite3UnlinkAndDeleteIndex(tls *libc.TLS, db uintptr, iDb int32, zIdxName uintptr) { /* sqlite3.c:114474:21: */ +func Xsqlite3UnlinkAndDeleteIndex(tls *libc.TLS, db uintptr, iDb int32, zIdxName uintptr) { /* sqlite3.c:114487:21: */ var pIndex uintptr var pHash uintptr @@ -94988,7 +95007,7 @@ func Xsqlite3UnlinkAndDeleteIndex(tls *libc.TLS, db uintptr, iDb int32, zIdxName // // Entry 0 (the "main" database) and entry 1 (the "temp" database) // are never candidates for being collapsed. -func Xsqlite3CollapseDatabaseArray(tls *libc.TLS, db uintptr) { /* sqlite3.c:114507:21: */ +func Xsqlite3CollapseDatabaseArray(tls *libc.TLS, db uintptr) { /* sqlite3.c:114520:21: */ var i int32 var j int32 for i = libc.AssignInt32(&j, 2); i < (*Sqlite3)(unsafe.Pointer(db)).FnDb; i++ { @@ -95014,7 +95033,7 @@ func Xsqlite3CollapseDatabaseArray(tls *libc.TLS, db uintptr) { /* sqlite3.c:114 // Reset the schema for the database at index iDb. Also reset the // TEMP schema. The reset is deferred if db->nSchemaLock is not zero. // Deferred resets may be run by calling with iDb<0. -func Xsqlite3ResetOneSchema(tls *libc.TLS, db uintptr, iDb int32) { /* sqlite3.c:114534:21: */ +func Xsqlite3ResetOneSchema(tls *libc.TLS, db uintptr, iDb int32) { /* sqlite3.c:114547:21: */ var i int32 if iDb >= 0 { @@ -95035,7 +95054,7 @@ func Xsqlite3ResetOneSchema(tls *libc.TLS, db uintptr, iDb int32) { /* sqlite3.c // Erase all schema information from all attached databases (including // "main" and "temp") for a single database connection. -func Xsqlite3ResetAllSchemasOfConnection(tls *libc.TLS, db uintptr) { /* sqlite3.c:114558:21: */ +func Xsqlite3ResetAllSchemasOfConnection(tls *libc.TLS, db uintptr) { /* sqlite3.c:114571:21: */ var i int32 Xsqlite3BtreeEnterAll(tls, db) for i = 0; i < (*Sqlite3)(unsafe.Pointer(db)).FnDb; i++ { @@ -95057,14 +95076,14 @@ func Xsqlite3ResetAllSchemasOfConnection(tls *libc.TLS, db uintptr) { /* sqlite3 } // This routine is called when a commit occurs. -func Xsqlite3CommitInternalChanges(tls *libc.TLS, db uintptr) { /* sqlite3.c:114582:21: */ +func Xsqlite3CommitInternalChanges(tls *libc.TLS, db uintptr) { /* sqlite3.c:114595:21: */ *(*U32)(unsafe.Pointer(db + 44)) &= libc.Uint32FromInt32(libc.CplInt32(DBFLAG_SchemaChange)) } // Set the expression associated with a column. This is usually // the DEFAULT value, but might also be the expression that computes // the value for a generated column. -func Xsqlite3ColumnSetExpr(tls *libc.TLS, pParse uintptr, pTab uintptr, pCol uintptr, pExpr uintptr) { /* sqlite3.c:114591:21: */ +func Xsqlite3ColumnSetExpr(tls *libc.TLS, pParse uintptr, pTab uintptr, pCol uintptr, pExpr uintptr) { /* sqlite3.c:114604:21: */ var pList uintptr pList = *(*uintptr)(unsafe.Pointer(pTab + 64 + 16 /* &.pDfltList */)) @@ -95087,7 +95106,7 @@ func Xsqlite3ColumnSetExpr(tls *libc.TLS, pParse uintptr, pTab uintptr, pCol uin // Return the expression associated with a column. The expression might be // the DEFAULT clause or the AS clause of a generated column. // Return NULL if the column has no associated expression. -func Xsqlite3ColumnExpr(tls *libc.TLS, pTab uintptr, pCol uintptr) uintptr { /* sqlite3.c:114617:21: */ +func Xsqlite3ColumnExpr(tls *libc.TLS, pTab uintptr, pCol uintptr) uintptr { /* sqlite3.c:114630:21: */ if int32((*Column)(unsafe.Pointer(pCol)).FiDflt) == 0 { return uintptr(0) } @@ -95104,7 +95123,7 @@ func Xsqlite3ColumnExpr(tls *libc.TLS, pTab uintptr, pCol uintptr) uintptr { /* } // Set the collating sequence name for a column. -func Xsqlite3ColumnSetColl(tls *libc.TLS, db uintptr, pCol uintptr, zColl uintptr) { /* sqlite3.c:114628:21: */ +func Xsqlite3ColumnSetColl(tls *libc.TLS, db uintptr, pCol uintptr, zColl uintptr) { /* sqlite3.c:114641:21: */ var nColl I64 var n I64 var zNew uintptr @@ -95123,7 +95142,7 @@ func Xsqlite3ColumnSetColl(tls *libc.TLS, db uintptr, pCol uintptr, zColl uintpt } // Return the collating squence name for a column -func Xsqlite3ColumnColl(tls *libc.TLS, pCol uintptr) uintptr { /* sqlite3.c:114653:27: */ +func Xsqlite3ColumnColl(tls *libc.TLS, pCol uintptr) uintptr { /* sqlite3.c:114666:27: */ var z uintptr if int32((*Column)(unsafe.Pointer(pCol)).FcolFlags)&COLFLAG_HASCOLL == 0 { return uintptr(0) @@ -95142,7 +95161,7 @@ func Xsqlite3ColumnColl(tls *libc.TLS, pCol uintptr) uintptr { /* sqlite3.c:1146 // Delete memory allocated for the column names of a table or view (the // Table.aCol[] array). -func Xsqlite3DeleteColumnNames(tls *libc.TLS, db uintptr, pTable uintptr) { /* sqlite3.c:114668:21: */ +func Xsqlite3DeleteColumnNames(tls *libc.TLS, db uintptr, pTable uintptr) { /* sqlite3.c:114681:21: */ var i int32 var pCol uintptr @@ -95192,7 +95211,7 @@ func Xsqlite3DeleteColumnNames(tls *libc.TLS, db uintptr, pTable uintptr) { /* s // lookaside memory, but some ephemeral Table objects do.) Or the // db parameter can be used with db->pnBytesFreed to measure the memory // used by the Table object. -func deleteTable(tls *libc.TLS, db uintptr, pTable uintptr) { /* sqlite3.c:114706:29: */ +func deleteTable(tls *libc.TLS, db uintptr, pTable uintptr) { /* sqlite3.c:114719:29: */ var pIndex uintptr var pNext uintptr @@ -95229,7 +95248,7 @@ func deleteTable(tls *libc.TLS, db uintptr, pTable uintptr) { /* sqlite3.c:11470 } -func Xsqlite3DeleteTable(tls *libc.TLS, db uintptr, pTable uintptr) { /* sqlite3.c:114763:21: */ +func Xsqlite3DeleteTable(tls *libc.TLS, db uintptr, pTable uintptr) { /* sqlite3.c:114776:21: */ // Do not delete the table until the reference count reaches zero. if !(pTable != 0) { return @@ -95242,7 +95261,7 @@ func Xsqlite3DeleteTable(tls *libc.TLS, db uintptr, pTable uintptr) { /* sqlite3 // Unlink the given table from the hash tables and the delete the // table structure with all its indices and foreign keys. -func Xsqlite3UnlinkAndDeleteTable(tls *libc.TLS, db uintptr, iDb int32, zTabName uintptr) { /* sqlite3.c:114775:21: */ +func Xsqlite3UnlinkAndDeleteTable(tls *libc.TLS, db uintptr, iDb int32, zTabName uintptr) { /* sqlite3.c:114788:21: */ var p uintptr var pDb uintptr @@ -95264,7 +95283,7 @@ func Xsqlite3UnlinkAndDeleteTable(tls *libc.TLS, db uintptr, iDb int32, zTabName // Tokens are often just pointers into the original SQL text and so // are not \000 terminated and are not persistent. The returned string // is \000 terminated and is persistent. -func Xsqlite3NameFromToken(tls *libc.TLS, db uintptr, pName uintptr) uintptr { /* sqlite3.c:114803:21: */ +func Xsqlite3NameFromToken(tls *libc.TLS, db uintptr, pName uintptr) uintptr { /* sqlite3.c:114816:21: */ var zName uintptr if pName != 0 { zName = Xsqlite3DbStrNDup(tls, db, (*Token)(unsafe.Pointer(pName)).Fz, uint64((*Token)(unsafe.Pointer(pName)).Fn)) @@ -95277,7 +95296,7 @@ func Xsqlite3NameFromToken(tls *libc.TLS, db uintptr, pName uintptr) uintptr { / // Open the sqlite_schema table stored in database number iDb for // writing. The table is opened using cursor 0. -func Xsqlite3OpenSchemaTable(tls *libc.TLS, p uintptr, iDb int32) { /* sqlite3.c:114818:21: */ +func Xsqlite3OpenSchemaTable(tls *libc.TLS, p uintptr, iDb int32) { /* sqlite3.c:114831:21: */ var v uintptr = Xsqlite3GetVdbe(tls, p) Xsqlite3TableLock(tls, p, iDb, uint32(SCHEMA_ROOT), uint8(1), ts+5835) Xsqlite3VdbeAddOp4Int(tls, v, OP_OpenWrite, 0, SCHEMA_ROOT, iDb, 5) @@ -95290,7 +95309,7 @@ func Xsqlite3OpenSchemaTable(tls *libc.TLS, p uintptr, iDb int32) { /* sqlite3.c // of a database ("main", "temp" or the name of an attached db). This // function returns the index of the named database in db->aDb[], or // -1 if the named db cannot be found. -func Xsqlite3FindDbName(tls *libc.TLS, db uintptr, zName uintptr) int32 { /* sqlite3.c:114833:20: */ +func Xsqlite3FindDbName(tls *libc.TLS, db uintptr, zName uintptr) int32 { /* sqlite3.c:114846:20: */ var i int32 = -1 // Database number if zName != 0 { var pDb uintptr @@ -95326,7 +95345,7 @@ func Xsqlite3FindDbName(tls *libc.TLS, db uintptr, zName uintptr) int32 { /* sql // "temp" or the name of an attached db). This routine returns the // index of the named database in db->aDb[], or -1 if the named db // does not exist. -func Xsqlite3FindDb(tls *libc.TLS, db uintptr, pName uintptr) int32 { /* sqlite3.c:114853:20: */ +func Xsqlite3FindDb(tls *libc.TLS, db uintptr, pName uintptr) int32 { /* sqlite3.c:114866:20: */ var i int32 // Database number var zName uintptr // Name we are searching for zName = Xsqlite3NameFromToken(tls, db, pName) @@ -95350,7 +95369,7 @@ func Xsqlite3FindDb(tls *libc.TLS, db uintptr, pName uintptr) int32 { /* sqlite3 // This routine sets the *ppUnqual pointer to point at the token (pName1 or // pName2) that stores the unqualified table name. The index of the // database "xxx" is returned. -func Xsqlite3TwoPartName(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 uintptr, pUnqual uintptr) int32 { /* sqlite3.c:114878:20: */ +func Xsqlite3TwoPartName(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 uintptr, pUnqual uintptr) int32 { /* sqlite3.c:114891:20: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -95377,7 +95396,7 @@ func Xsqlite3TwoPartName(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 u } // True if PRAGMA writable_schema is ON -func Xsqlite3WritableSchema(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:114911:20: */ +func Xsqlite3WritableSchema(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:114924:20: */ return libc.Bool32((*Sqlite3)(unsafe.Pointer(db)).Fflags&uint64(SQLITE_WriteSchema|SQLITE_Defensive) == uint64(SQLITE_WriteSchema)) } @@ -95391,7 +95410,7 @@ func Xsqlite3WritableSchema(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:1149 // When parsing the sqlite_schema table, this routine also checks to // make sure the "type", "name", and "tbl_name" columns are consistent // with the SQL. -func Xsqlite3CheckObjectName(tls *libc.TLS, pParse uintptr, zName uintptr, zType uintptr, zTblName uintptr) int32 { /* sqlite3.c:114933:20: */ +func Xsqlite3CheckObjectName(tls *libc.TLS, pParse uintptr, zName uintptr, zType uintptr, zTblName uintptr) int32 { /* sqlite3.c:114946:20: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -95422,7 +95441,7 @@ func Xsqlite3CheckObjectName(tls *libc.TLS, pParse uintptr, zName uintptr, zType } // Return the PRIMARY KEY index of a table -func Xsqlite3PrimaryKeyIndex(tls *libc.TLS, pTab uintptr) uintptr { /* sqlite3.c:114971:22: */ +func Xsqlite3PrimaryKeyIndex(tls *libc.TLS, pTab uintptr) uintptr { /* sqlite3.c:114984:22: */ var p uintptr for p = (*Table)(unsafe.Pointer(pTab)).FpIndex; p != 0 && !(int32(*(*uint16)(unsafe.Pointer(p + 100 /* &.idxType */))&0x3>>0) == SQLITE_IDXTYPE_PRIMARYKEY); p = (*Index)(unsafe.Pointer(p)).FpNext { } @@ -95433,7 +95452,7 @@ func Xsqlite3PrimaryKeyIndex(tls *libc.TLS, pTab uintptr) uintptr { /* sqlite3.c // for the column iCol in the table (as defined by the CREATE TABLE statement) // find the (first) offset of that column in index pIdx. Or return -1 // if column iCol is not used in index pIdx. -func Xsqlite3TableColumnToIndex(tls *libc.TLS, pIdx uintptr, iCol I16) I16 { /* sqlite3.c:114983:20: */ +func Xsqlite3TableColumnToIndex(tls *libc.TLS, pIdx uintptr, iCol I16) I16 { /* sqlite3.c:114996:20: */ var i int32 for i = 0; i < int32((*Index)(unsafe.Pointer(pIdx)).FnColumn); i++ { if int32(iCol) == int32(*(*I16)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FaiColumn + uintptr(i)*2))) { @@ -95453,7 +95472,7 @@ func Xsqlite3TableColumnToIndex(tls *libc.TLS, pIdx uintptr, iCol I16) I16 { /* // and only there are VIRTUAL columns to the left. // // If SQLITE_OMIT_GENERATED_COLUMNS, this routine is a no-op macro. -func Xsqlite3StorageColumnToTable(tls *libc.TLS, pTab uintptr, iCol I16) I16 { /* sqlite3.c:115003:20: */ +func Xsqlite3StorageColumnToTable(tls *libc.TLS, pTab uintptr, iCol I16) I16 { /* sqlite3.c:115016:20: */ if (*Table)(unsafe.Pointer(pTab)).FtabFlags&U32(TF_HasVirtual) != 0 { var i int32 for i = 0; i <= int32(iCol); i++ { @@ -95500,7 +95519,7 @@ func Xsqlite3StorageColumnToTable(tls *libc.TLS, pTab uintptr, iCol I16) I16 { / // this routine is a no-op macro. If the pTab does not have any virtual // columns, then this routine is no-op that always return iCol. If iCol // is negative (indicating the ROWID column) then this routine return iCol. -func Xsqlite3TableColumnToStorage(tls *libc.TLS, pTab uintptr, iCol I16) I16 { /* sqlite3.c:115051:20: */ +func Xsqlite3TableColumnToStorage(tls *libc.TLS, pTab uintptr, iCol I16) I16 { /* sqlite3.c:115064:20: */ var i int32 var n I16 @@ -95530,7 +95549,7 @@ func Xsqlite3TableColumnToStorage(tls *libc.TLS, pTab uintptr, iCol I16) I16 { / // exists, so that the prepared statement for CREATE TABLE IF NOT EXISTS // will return false for sqlite3_stmt_readonly() even if that statement // is a read-only no-op. -func sqlite3ForceNotReadOnly(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:115077:13: */ +func sqlite3ForceNotReadOnly(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:115090:13: */ var iReg int32 = libc.PreIncInt32(&(*Parse)(unsafe.Pointer(pParse)).FnMem, 1) var v uintptr = Xsqlite3GetVdbe(tls, pParse) if v != 0 { @@ -95553,7 +95572,7 @@ func sqlite3ForceNotReadOnly(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:11507 // routines will be called to add more information to this record. // At the end of the CREATE TABLE statement, the sqlite3EndTable() routine // is called to complete the construction of the new table record. -func Xsqlite3StartTable(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 uintptr, isTemp int32, isView int32, isVirtual int32, noErr int32) { /* sqlite3.c:115102:21: */ +func Xsqlite3StartTable(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 uintptr, isTemp int32, isView int32, isVirtual int32, noErr int32) { /* sqlite3.c:115115:21: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -95811,8 +95830,8 @@ var aCode = [4]U8{ U8(SQLITE_CREATE_TEMP_TABLE), U8(SQLITE_CREATE_VIEW), U8(SQLITE_CREATE_TEMP_VIEW), -} /* sqlite3.c:115149:21 */ -var nullRow = [6]uint8{uint8(6), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0)} /* sqlite3.c:115228:23 */ +} /* sqlite3.c:115162:21 */ +var nullRow = [6]uint8{uint8(6), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0)} /* sqlite3.c:115241:23 */ // Set properties of a table column based on the (magical) // name of the column. @@ -95822,7 +95841,7 @@ var nullRow = [6]uint8{uint8(6), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0 // with any application-generated triggers. // Clean up the data structures associated with the RETURNING clause. -func sqlite3DeleteReturning(tls *libc.TLS, db uintptr, pRet uintptr) { /* sqlite3.c:115313:13: */ +func sqlite3DeleteReturning(tls *libc.TLS, db uintptr, pRet uintptr) { /* sqlite3.c:115326:13: */ var pHash uintptr pHash = (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+1*32)).FpSchema + 56 Xsqlite3HashInsert(tls, pHash, ts+12254, uintptr(0)) @@ -95844,7 +95863,7 @@ func sqlite3DeleteReturning(tls *libc.TLS, db uintptr, pRet uintptr) { /* sqlite // is attached to a DELETE, INSERT, or UPDATE, so construct it as a // RETURNING trigger instead. It will then be converted into the appropriate // type on the first call to sqlite3TriggersExist(). -func Xsqlite3AddReturning(tls *libc.TLS, pParse uintptr, pList uintptr) { /* sqlite3.c:115337:21: */ +func Xsqlite3AddReturning(tls *libc.TLS, pParse uintptr, pList uintptr) { /* sqlite3.c:115350:21: */ var pRet uintptr var pHash uintptr var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb @@ -95894,7 +95913,7 @@ func Xsqlite3AddReturning(tls *libc.TLS, pParse uintptr, pList uintptr) { /* sql // in a CREATE TABLE statement. sqlite3StartTable() gets called // first to get things going. Then this routine is called for each // column. -func Xsqlite3AddColumn(tls *libc.TLS, pParse uintptr, sName Token, sType Token) { /* sqlite3.c:115385:21: */ +func Xsqlite3AddColumn(tls *libc.TLS, pParse uintptr, sName Token, sType Token) { /* sqlite3.c:115398:21: */ bp := tls.Alloc(48) defer tls.Free(48) *(*Token)(unsafe.Pointer(bp + 16)) = sName @@ -96013,7 +96032,7 @@ func Xsqlite3AddColumn(tls *libc.TLS, pParse uintptr, sName Token, sType Token) // parsing a CREATE TABLE statement. A "NOT NULL" constraint has // been seen on a column. This routine sets the notNull flag on // the column currently under construction. -func Xsqlite3AddNotNull(tls *libc.TLS, pParse uintptr, onError int32) { /* sqlite3.c:115498:21: */ +func Xsqlite3AddNotNull(tls *libc.TLS, pParse uintptr, onError int32) { /* sqlite3.c:115511:21: */ var p uintptr var pCol uintptr p = (*Parse)(unsafe.Pointer(pParse)).FpNewTable @@ -96060,7 +96079,7 @@ func Xsqlite3AddNotNull(tls *libc.TLS, pParse uintptr, onError int32) { /* sqlit // // If none of the substrings in the above table are found, // SQLITE_AFF_NUMERIC is returned. -func Xsqlite3AffinityType(tls *libc.TLS, zIn uintptr, pCol uintptr) uint8 { /* sqlite3.c:115545:21: */ +func Xsqlite3AffinityType(tls *libc.TLS, zIn uintptr, pCol uintptr) uint8 { /* sqlite3.c:115558:21: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -96134,7 +96153,7 @@ func Xsqlite3AffinityType(tls *libc.TLS, zIn uintptr, pCol uintptr) uint8 { /* s // // This routine is called by the parser while in the middle of // parsing a CREATE TABLE statement. -func Xsqlite3AddDefaultValue(tls *libc.TLS, pParse uintptr, pExpr uintptr, zStart uintptr, zEnd uintptr) { /* sqlite3.c:115622:21: */ +func Xsqlite3AddDefaultValue(tls *libc.TLS, pParse uintptr, pExpr uintptr, zStart uintptr, zEnd uintptr) { /* sqlite3.c:115635:21: */ bp := tls.Alloc(80) defer tls.Free(80) @@ -96187,7 +96206,7 @@ func Xsqlite3AddDefaultValue(tls *libc.TLS, pParse uintptr, pExpr uintptr, zStar // if the expression is just a TK_STRING with an optional COLLATE clause. // If the expression is anything other than TK_STRING, the expression is // unchanged. -func sqlite3StringToId(tls *libc.TLS, p uintptr) { /* sqlite3.c:115681:13: */ +func sqlite3StringToId(tls *libc.TLS, p uintptr) { /* sqlite3.c:115694:13: */ if int32((*Expr)(unsafe.Pointer(p)).Fop) == TK_STRING { (*Expr)(unsafe.Pointer(p)).Fop = U8(TK_ID) } else if int32((*Expr)(unsafe.Pointer(p)).Fop) == TK_COLLATE && int32((*Expr)(unsafe.Pointer((*Expr)(unsafe.Pointer(p)).FpLeft)).Fop) == TK_STRING { @@ -96196,7 +96215,7 @@ func sqlite3StringToId(tls *libc.TLS, p uintptr) { /* sqlite3.c:115681:13: */ } // Tag the given column as being part of the PRIMARY KEY -func makeColumnPartOfPrimaryKey(tls *libc.TLS, pParse uintptr, pCol uintptr) { /* sqlite3.c:115692:13: */ +func makeColumnPartOfPrimaryKey(tls *libc.TLS, pParse uintptr, pCol uintptr) { /* sqlite3.c:115705:13: */ *(*U16)(unsafe.Pointer(pCol + 16)) |= U16(COLFLAG_PRIMKEY) if int32((*Column)(unsafe.Pointer(pCol)).FcolFlags)&COLFLAG_GENERATED != 0 { @@ -96221,7 +96240,7 @@ func makeColumnPartOfPrimaryKey(tls *libc.TLS, pParse uintptr, pCol uintptr) { / // // If the key is not an INTEGER PRIMARY KEY, then create a unique // index for the key. No index is created for INTEGER PRIMARY KEYs. -func Xsqlite3AddPrimaryKey(tls *libc.TLS, pParse uintptr, pList uintptr, onError int32, autoInc int32, sortOrder int32) { /* sqlite3.c:115722:21: */ +func Xsqlite3AddPrimaryKey(tls *libc.TLS, pParse uintptr, pList uintptr, onError int32, autoInc int32, sortOrder int32) { /* sqlite3.c:115735:21: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -96352,7 +96371,7 @@ primary_key_exit: } // Add a new CHECK constraint to the table currently under construction. -func Xsqlite3AddCheckConstraint(tls *libc.TLS, pParse uintptr, pCheckExpr uintptr, zStart uintptr, zEnd uintptr) { /* sqlite3.c:115799:21: */ +func Xsqlite3AddCheckConstraint(tls *libc.TLS, pParse uintptr, pCheckExpr uintptr, zStart uintptr, zEnd uintptr) { /* sqlite3.c:115812:21: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -96382,7 +96401,7 @@ func Xsqlite3AddCheckConstraint(tls *libc.TLS, pParse uintptr, pCheckExpr uintpt // Set the collation function of the most recently parsed table column // to the CollSeq given. -func Xsqlite3AddCollateType(tls *libc.TLS, pParse uintptr, pToken uintptr) { /* sqlite3.c:115833:21: */ +func Xsqlite3AddCollateType(tls *libc.TLS, pParse uintptr, pToken uintptr) { /* sqlite3.c:115846:21: */ var p uintptr var i int32 var zColl uintptr // Dequoted name of collation sequence @@ -96417,7 +96436,7 @@ func Xsqlite3AddCollateType(tls *libc.TLS, pParse uintptr, pToken uintptr) { /* // Change the most recently parsed column to be a GENERATED ALWAYS AS // column. -func Xsqlite3AddGenerated(tls *libc.TLS, pParse uintptr, pExpr uintptr, pType uintptr) { /* sqlite3.c:115866:21: */ +func Xsqlite3AddGenerated(tls *libc.TLS, pParse uintptr, pExpr uintptr, pType uintptr) { /* sqlite3.c:115879:21: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -96512,7 +96531,7 @@ generated_done: // // IMPLEMENTATION-OF: R-34230-56049 SQLite automatically increments // the schema-version whenever the schema changes. -func Xsqlite3ChangeCookie(tls *libc.TLS, pParse uintptr, iDb int32) { /* sqlite3.c:115934:21: */ +func Xsqlite3ChangeCookie(tls *libc.TLS, pParse uintptr, iDb int32) { /* sqlite3.c:115947:21: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe @@ -96526,7 +96545,7 @@ func Xsqlite3ChangeCookie(tls *libc.TLS, pParse uintptr, iDb int32) { /* sqlite3 // // The estimate is conservative. It might be larger that what is // really needed. -func identLength(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:115950:12: */ +func identLength(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:115963:12: */ var n int32 n = 0 __1: @@ -96561,7 +96580,7 @@ __3: // characters, does not begin with a digit and is not an SQL keyword, // then it is copied to the output buffer exactly as it is. Otherwise, // it is quoted using double-quotes. -func identPut(tls *libc.TLS, z uintptr, pIdx uintptr, zSignedIdent uintptr) { /* sqlite3.c:115971:13: */ +func identPut(tls *libc.TLS, z uintptr, pIdx uintptr, zSignedIdent uintptr) { /* sqlite3.c:115984:13: */ var zIdent uintptr = zSignedIdent var i int32 var j int32 @@ -96597,7 +96616,7 @@ func identPut(tls *libc.TLS, z uintptr, pIdx uintptr, zSignedIdent uintptr) { /* // Generate a CREATE TABLE statement appropriate for the given // table. Memory to hold the text of the statement is obtained // from sqliteMalloc() and must be freed by the calling function. -func createTableStmt(tls *libc.TLS, db uintptr, p uintptr) uintptr { /* sqlite3.c:115999:13: */ +func createTableStmt(tls *libc.TLS, db uintptr, p uintptr) uintptr { /* sqlite3.c:116012:13: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -96689,11 +96708,11 @@ var azType1 = [5]uintptr{ ts + 12729, ts + 12734, ts + 12739, -} /* sqlite3.c:116029:23 */ +} /* sqlite3.c:116042:23 */ // Resize an Index object to hold N columns total. Return SQLITE_OK // on success and SQLITE_NOMEM on an OOM error. -func resizeIndexObject(tls *libc.TLS, db uintptr, pIdx uintptr, N int32) int32 { /* sqlite3.c:116067:12: */ +func resizeIndexObject(tls *libc.TLS, db uintptr, pIdx uintptr, N int32) int32 { /* sqlite3.c:116080:12: */ var zExtra uintptr var nByte int32 if int32((*Index)(unsafe.Pointer(pIdx)).FnColumn) >= N { @@ -96722,7 +96741,7 @@ func resizeIndexObject(tls *libc.TLS, db uintptr, pIdx uintptr, N int32) int32 { } // Estimate the total row width for a table. -func estimateTableWidth(tls *libc.TLS, pTab uintptr) { /* sqlite3.c:116094:13: */ +func estimateTableWidth(tls *libc.TLS, pTab uintptr) { /* sqlite3.c:116107:13: */ var wTable uint32 = uint32(0) var pTabCol uintptr var i int32 @@ -96751,7 +96770,7 @@ __3: } // Estimate the average size of a row for an index. -func estimateIndexWidth(tls *libc.TLS, pIdx uintptr) { /* sqlite3.c:116108:13: */ +func estimateIndexWidth(tls *libc.TLS, pIdx uintptr) { /* sqlite3.c:116121:13: */ var wIndex uint32 = uint32(0) var i int32 var aCol uintptr = (*Table)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FpTable)).FaCol @@ -96771,7 +96790,7 @@ func estimateIndexWidth(tls *libc.TLS, pIdx uintptr) { /* sqlite3.c:116108:13: * // Return true if column number x is any of the first nCol entries of aiCol[]. // This is used to determine if the column number x appears in any of the // first nCol entries of an index. -func hasColumn(tls *libc.TLS, aiCol uintptr, nCol int32, x int32) int32 { /* sqlite3.c:116124:12: */ +func hasColumn(tls *libc.TLS, aiCol uintptr, nCol int32, x int32) int32 { /* sqlite3.c:116137:12: */ for libc.PostDecInt32(&nCol, 1) > 0 { if x == int32(*(*I16)(unsafe.Pointer(libc.PostIncUintptr(&aiCol, 2)))) { return 1 @@ -96791,7 +96810,7 @@ func hasColumn(tls *libc.TLS, aiCol uintptr, nCol int32, x int32) int32 { /* sql // This routine differs from hasColumn() in that both the column and the // collating sequence must match for this routine, but for hasColumn() only // the column name must match. -func isDupColumn(tls *libc.TLS, pIdx uintptr, nKey int32, pPk uintptr, iCol int32) int32 { /* sqlite3.c:116146:12: */ +func isDupColumn(tls *libc.TLS, pIdx uintptr, nKey int32, pPk uintptr, iCol int32) int32 { /* sqlite3.c:116159:12: */ var i int32 var j int32 @@ -96824,7 +96843,7 @@ func isDupColumn(tls *libc.TLS, pIdx uintptr, nKey int32, pPk uintptr, iCol int3 // // The colNotIdxed mask is AND-ed with the SrcList.a[].colUsed mask // to determine if the index is covering index. -func recomputeColumnsNotIndexed(tls *libc.TLS, pIdx uintptr) { /* sqlite3.c:116185:13: */ +func recomputeColumnsNotIndexed(tls *libc.TLS, pIdx uintptr) { /* sqlite3.c:116198:13: */ var m Bitmask = uint64(0) var j int32 var pTab uintptr = (*Index)(unsafe.Pointer(pIdx)).FpTable @@ -96863,7 +96882,7 @@ func recomputeColumnsNotIndexed(tls *libc.TLS, pIdx uintptr) { /* sqlite3.c:1161 // indices with the PRIMARY KEY columns. // // For virtual tables, only (1) is performed. -func convertToWithoutRowidTable(tls *libc.TLS, pParse uintptr, pTab uintptr) { /* sqlite3.c:116225:13: */ +func convertToWithoutRowidTable(tls *libc.TLS, pParse uintptr, pTab uintptr) { /* sqlite3.c:116238:13: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -97026,7 +97045,7 @@ func convertToWithoutRowidTable(tls *libc.TLS, pParse uintptr, pTab uintptr) { / // Return true if pTab is a virtual table and zName is a shadow table name // for that virtual table. -func Xsqlite3IsShadowTableOf(tls *libc.TLS, db uintptr, pTab uintptr, zName uintptr) int32 { /* sqlite3.c:116385:20: */ +func Xsqlite3IsShadowTableOf(tls *libc.TLS, db uintptr, pTab uintptr, zName uintptr) int32 { /* sqlite3.c:116398:20: */ var nName int32 // Length of zName var pMod uintptr // Module for the virtual table @@ -97059,7 +97078,7 @@ func Xsqlite3IsShadowTableOf(tls *libc.TLS, db uintptr, pTab uintptr, zName uint // exists and has an xShadowName method, then loop over all other ordinary // tables within the same schema looking for shadow tables of pTab, and mark // any shadow tables seen using the TF_Shadow flag. -func Xsqlite3MarkAllShadowTablesOf(tls *libc.TLS, db uintptr, pTab uintptr) { /* sqlite3.c:116408:21: */ +func Xsqlite3MarkAllShadowTablesOf(tls *libc.TLS, db uintptr, pTab uintptr) { /* sqlite3.c:116421:21: */ var nName int32 // Length of pTab->zName var pMod uintptr // Module for the virtual table var k uintptr // For looping through the symbol table @@ -97103,7 +97122,7 @@ func Xsqlite3MarkAllShadowTablesOf(tls *libc.TLS, db uintptr, pTab uintptr) { /* // // zName is temporarily modified while this routine is running, but is // restored to its original value prior to this routine returning. -func Xsqlite3ShadowTableName(tls *libc.TLS, db uintptr, zName uintptr) int32 { /* sqlite3.c:116444:20: */ +func Xsqlite3ShadowTableName(tls *libc.TLS, db uintptr, zName uintptr) int32 { /* sqlite3.c:116457:20: */ var zTail uintptr // Pointer to the last "_" in zName var pTab uintptr // Table that zName is a shadow of zTail = libc.Xstrrchr(tls, zName, '_') @@ -97140,7 +97159,7 @@ func Xsqlite3ShadowTableName(tls *libc.TLS, db uintptr, zName uintptr) int32 { / // was called to create a table generated from a // "CREATE TABLE ... AS SELECT ..." statement. The column names of // the new table will match the result set of the SELECT. -func Xsqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr, tabOpts U32, pSelect uintptr) { /* sqlite3.c:116505:21: */ +func Xsqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr, tabOpts U32, pSelect uintptr) { /* sqlite3.c:116518:21: */ bp := tls.Alloc(184) defer tls.Free(184) @@ -97461,7 +97480,7 @@ func Xsqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr } // The parser calls this routine in order to create a new VIEW -func Xsqlite3CreateView(tls *libc.TLS, pParse uintptr, pBegin uintptr, pName1 uintptr, pName2 uintptr, pCNames uintptr, pSelect uintptr, isTemp int32, noErr int32) { /* sqlite3.c:116847:21: */ +func Xsqlite3CreateView(tls *libc.TLS, pParse uintptr, pBegin uintptr, pName1 uintptr, pName2 uintptr, pCNames uintptr, pSelect uintptr, isTemp int32, noErr int32) { /* sqlite3.c:116860:21: */ bp := tls.Alloc(120) defer tls.Free(120) @@ -97579,7 +97598,7 @@ __10: // The Table structure pTable is really a VIEW. Fill in the names of // the columns of the view in the pTable structure. Return the number // of errors. If an error is seen leave an error message in pParse->zErrMsg. -func Xsqlite3ViewGetColumnNames(tls *libc.TLS, pParse uintptr, pTable uintptr) int32 { /* sqlite3.c:116939:20: */ +func Xsqlite3ViewGetColumnNames(tls *libc.TLS, pParse uintptr, pTable uintptr) int32 { /* sqlite3.c:116952:20: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -97694,7 +97713,7 @@ func Xsqlite3ViewGetColumnNames(tls *libc.TLS, pParse uintptr, pTable uintptr) i } // Clear the column names from every VIEW in database idx. -func sqliteViewResetAll(tls *libc.TLS, db uintptr, idx int32) { /* sqlite3.c:117067:13: */ +func sqliteViewResetAll(tls *libc.TLS, db uintptr, idx int32) { /* sqlite3.c:117080:13: */ var i uintptr if !(int32((*Schema)(unsafe.Pointer((*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(idx)*32)).FpSchema)).FschemaFlags)&DB_UnresetViews == DB_UnresetViews) { @@ -97724,7 +97743,7 @@ func sqliteViewResetAll(tls *libc.TLS, db uintptr, idx int32) { /* sqlite3.c:117 // We must continue looping until all tables and indices with // rootpage==iFrom have been converted to have a rootpage of iTo // in order to be certain that we got the right one. -func Xsqlite3RootPageMoved(tls *libc.TLS, db uintptr, iDb int32, iFrom Pgno, iTo Pgno) { /* sqlite3.c:117101:21: */ +func Xsqlite3RootPageMoved(tls *libc.TLS, db uintptr, iDb int32, iFrom Pgno, iTo Pgno) { /* sqlite3.c:117114:21: */ var pElem uintptr var pHash uintptr var pDb uintptr @@ -97750,7 +97769,7 @@ func Xsqlite3RootPageMoved(tls *libc.TLS, db uintptr, iDb int32, iFrom Pgno, iTo // Also write code to modify the sqlite_schema table and internal schema // if a root-page of another table is moved by the btree-layer whilst // erasing iTable (this can happen with an auto-vacuum database). -func destroyRootPage(tls *libc.TLS, pParse uintptr, iTable int32, iDb int32) { /* sqlite3.c:117131:13: */ +func destroyRootPage(tls *libc.TLS, pParse uintptr, iTable int32, iDb int32) { /* sqlite3.c:117144:13: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -97780,7 +97799,7 @@ func destroyRootPage(tls *libc.TLS, pParse uintptr, iTable int32, iDb int32) { / // Code to update the sqlite_schema tables and internal schema definitions // in case a root-page belonging to another table is moved by the btree layer // is also added (this can happen with an auto-vacuum database). -func destroyTable(tls *libc.TLS, pParse uintptr, pTab uintptr) { /* sqlite3.c:117161:13: */ +func destroyTable(tls *libc.TLS, pParse uintptr, pTab uintptr) { /* sqlite3.c:117174:13: */ // If the database may be auto-vacuum capable (if SQLITE_OMIT_AUTOVACUUM // is not defined), then it is important to call OP_Destroy on the // table and index root-pages in order, starting with the numerically @@ -97826,7 +97845,7 @@ func destroyTable(tls *libc.TLS, pParse uintptr, pTab uintptr) { /* sqlite3.c:11 // Remove entries from the sqlite_statN tables (for N in (1,2,3)) // after a DROP INDEX or DROP TABLE command. -func sqlite3ClearStatTables(tls *libc.TLS, pParse uintptr, iDb int32, zType uintptr, zName uintptr) { /* sqlite3.c:117210:13: */ +func sqlite3ClearStatTables(tls *libc.TLS, pParse uintptr, iDb int32, zType uintptr, zName uintptr) { /* sqlite3.c:117223:13: */ bp := tls.Alloc(64) defer tls.Free(64) @@ -97845,7 +97864,7 @@ func sqlite3ClearStatTables(tls *libc.TLS, pParse uintptr, iDb int32, zType uint } // Generate code to drop a table. -func Xsqlite3CodeDropTable(tls *libc.TLS, pParse uintptr, pTab uintptr, iDb int32, isView int32) { /* sqlite3.c:117233:21: */ +func Xsqlite3CodeDropTable(tls *libc.TLS, pParse uintptr, pTab uintptr, iDb int32, isView int32) { /* sqlite3.c:117246:21: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -97909,7 +97928,7 @@ func Xsqlite3CodeDropTable(tls *libc.TLS, pParse uintptr, pTab uintptr, iDb int3 // Return TRUE if shadow tables should be read-only in the current // context. -func Xsqlite3ReadOnlyShadowTables(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:117306:20: */ +func Xsqlite3ReadOnlyShadowTables(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:117319:20: */ if (*Sqlite3)(unsafe.Pointer(db)).Fflags&uint64(SQLITE_Defensive) != uint64(0) && (*Sqlite3)(unsafe.Pointer(db)).FpVtabCtx == uintptr(0) && (*Sqlite3)(unsafe.Pointer(db)).FnVdbeExec == 0 && @@ -97920,7 +97939,7 @@ func Xsqlite3ReadOnlyShadowTables(tls *libc.TLS, db uintptr) int32 { /* sqlite3. } // Return true if it is not allowed to drop the given table -func tableMayNotBeDropped(tls *libc.TLS, db uintptr, pTab uintptr) int32 { /* sqlite3.c:117322:12: */ +func tableMayNotBeDropped(tls *libc.TLS, db uintptr, pTab uintptr) int32 { /* sqlite3.c:117335:12: */ if Xsqlite3_strnicmp(tls, (*Table)(unsafe.Pointer(pTab)).FzName, ts+8010, 7) == 0 { if Xsqlite3_strnicmp(tls, (*Table)(unsafe.Pointer(pTab)).FzName+uintptr(7), ts+3228, 4) == 0 { return 0 @@ -97941,7 +97960,7 @@ func tableMayNotBeDropped(tls *libc.TLS, db uintptr, pTab uintptr) int32 { /* sq // This routine is called to do the work of a DROP TABLE statement. // pName is the name of the table to be dropped. -func Xsqlite3DropTable(tls *libc.TLS, pParse uintptr, pName uintptr, isView int32, noErr int32) { /* sqlite3.c:117341:21: */ +func Xsqlite3DropTable(tls *libc.TLS, pParse uintptr, pName uintptr, isView int32, noErr int32) { /* sqlite3.c:117354:21: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -98129,7 +98148,7 @@ exit_drop_table: // // The foreign key is set for IMMEDIATE processing. A subsequent call // to sqlite3DeferForeignKey() might change this to DEFERRED. -func Xsqlite3CreateForeignKey(tls *libc.TLS, pParse uintptr, pFromCol uintptr, pTo uintptr, pToCol uintptr, flags int32) { /* sqlite3.c:117461:21: */ +func Xsqlite3CreateForeignKey(tls *libc.TLS, pParse uintptr, pFromCol uintptr, pTo uintptr, pToCol uintptr, flags int32) { /* sqlite3.c:117474:21: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -98352,7 +98371,7 @@ fk_end: // parameter is 1 for INITIALLY DEFERRED and 0 for INITIALLY IMMEDIATE. // The behavior of the most recently created foreign key is adjusted // accordingly. -func Xsqlite3DeferForeignKey(tls *libc.TLS, pParse uintptr, isDeferred int32) { /* sqlite3.c:117593:21: */ +func Xsqlite3DeferForeignKey(tls *libc.TLS, pParse uintptr, isDeferred int32) { /* sqlite3.c:117606:21: */ var pTab uintptr var pFKey uintptr if libc.AssignUintptr(&pTab, (*Parse)(unsafe.Pointer(pParse)).FpNewTable) == uintptr(0) { @@ -98377,7 +98396,7 @@ func Xsqlite3DeferForeignKey(tls *libc.TLS, pParse uintptr, isDeferred int32) { // root page number of the index. If memRootPage is negative, then // the index already exists and must be cleared before being refilled and // the root page number of the index is taken from pIndex->tnum. -func sqlite3RefillIndex(tls *libc.TLS, pParse uintptr, pIndex uintptr, memRootPage int32) { /* sqlite3.c:117616:13: */ +func sqlite3RefillIndex(tls *libc.TLS, pParse uintptr, pIndex uintptr, memRootPage int32) { /* sqlite3.c:117629:13: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -98489,7 +98508,7 @@ func sqlite3RefillIndex(tls *libc.TLS, pParse uintptr, pIndex uintptr, memRootPa // Increase the allocation size to provide an extra nExtra bytes // of 8-byte aligned space after the Index object and return a // pointer to this extra space in *ppExtra. -func Xsqlite3AllocateIndexObject(tls *libc.TLS, db uintptr, nCol I16, nExtra int32, ppExtra uintptr) uintptr { /* sqlite3.c:117722:22: */ +func Xsqlite3AllocateIndexObject(tls *libc.TLS, db uintptr, nCol I16, nExtra int32, ppExtra uintptr) uintptr { /* sqlite3.c:117735:22: */ var p uintptr // Allocated index object var nByte int32 // Bytes of space for Index object + arrays @@ -98514,7 +98533,7 @@ func Xsqlite3AllocateIndexObject(tls *libc.TLS, db uintptr, nCol I16, nExtra int // If expression list pList contains an expression that was parsed with // an explicit "NULLS FIRST" or "NULLS LAST" clause, leave an error in // pParse and return non-zero. Otherwise, return zero. -func Xsqlite3HasExplicitNulls(tls *libc.TLS, pParse uintptr, pList uintptr) int32 { /* sqlite3.c:117755:20: */ +func Xsqlite3HasExplicitNulls(tls *libc.TLS, pParse uintptr, pList uintptr) int32 { /* sqlite3.c:117768:20: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -98547,7 +98566,7 @@ func Xsqlite3HasExplicitNulls(tls *libc.TLS, pParse uintptr, pList uintptr) int3 // pList is a list of columns to be indexed. pList will be NULL if this // is a primary key or unique-constraint on the most recent column added // to the table currently under construction. -func Xsqlite3CreateIndex(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 uintptr, pTblName uintptr, pList uintptr, onError int32, pStart uintptr, pPIWhere uintptr, sortOrder int32, ifNotExist int32, idxType U8) { /* sqlite3.c:117783:21: */ +func Xsqlite3CreateIndex(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 uintptr, pTblName uintptr, pList uintptr, onError int32, pStart uintptr, pPIWhere uintptr, sortOrder int32, ifNotExist int32, idxType U8) { /* sqlite3.c:117796:21: */ bp := tls.Alloc(256) defer tls.Free(256) @@ -99317,7 +99336,7 @@ __81: goto __101 } Xsqlite3ErrorMsg(tls, pParse, ts+14068, 0) - (*Parse)(unsafe.Pointer(pParse)).Frc = Xsqlite3CorruptError(tls, 118239) + (*Parse)(unsafe.Pointer(pParse)).Frc = Xsqlite3CorruptError(tls, 118252) goto exit_create_index __101: ; @@ -99503,7 +99522,7 @@ __113: // Apart from that, we have little to go on besides intuition as to // how aiRowEst[] should be initialized. The numbers generated here // are based on typical values found in actual indices. -func Xsqlite3DefaultRowEst(tls *libc.TLS, pIdx uintptr) { /* sqlite3.c:118394:21: */ +func Xsqlite3DefaultRowEst(tls *libc.TLS, pIdx uintptr) { /* sqlite3.c:118407:21: */ var a uintptr = (*Index)(unsafe.Pointer(pIdx)).FaiRowLogEst var x LogEst var nCopy int32 = func() int32 { @@ -99547,11 +99566,11 @@ func Xsqlite3DefaultRowEst(tls *libc.TLS, pIdx uintptr) { /* sqlite3.c:118394:21 } } -var aVal = [5]LogEst{int16(33), int16(32), int16(30), int16(28), int16(26)} /* sqlite3.c:118396:23 */ +var aVal = [5]LogEst{int16(33), int16(32), int16(30), int16(28), int16(26)} /* sqlite3.c:118409:23 */ // This routine will drop an existing named index. This routine // implements the DROP INDEX statement. -func Xsqlite3DropIndex(tls *libc.TLS, pParse uintptr, pName uintptr, ifExists int32) { /* sqlite3.c:118438:21: */ +func Xsqlite3DropIndex(tls *libc.TLS, pParse uintptr, pName uintptr, ifExists int32) { /* sqlite3.c:118451:21: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -99670,7 +99689,7 @@ exit_drop_index: // // Otherwise, if the realloc() fails, *pIdx is set to -1, *pnEntry remains // unchanged and a copy of pArray returned. -func Xsqlite3ArrayAllocate(tls *libc.TLS, db uintptr, pArray uintptr, szEntry int32, pnEntry uintptr, pIdx uintptr) uintptr { /* sqlite3.c:118520:21: */ +func Xsqlite3ArrayAllocate(tls *libc.TLS, db uintptr, pArray uintptr, szEntry int32, pnEntry uintptr, pIdx uintptr) uintptr { /* sqlite3.c:118533:21: */ var z uintptr var n Sqlite3_int64 = Sqlite3_int64(libc.AssignPtrInt32(pIdx, *(*int32)(unsafe.Pointer(pnEntry)))) if n&(n-int64(1)) == int64(0) { @@ -99697,7 +99716,7 @@ func Xsqlite3ArrayAllocate(tls *libc.TLS, db uintptr, pArray uintptr, szEntry in // need be. // // A new IdList is returned, or NULL if malloc() fails. -func Xsqlite3IdListAppend(tls *libc.TLS, pParse uintptr, pList uintptr, pToken uintptr) uintptr { /* sqlite3.c:118550:23: */ +func Xsqlite3IdListAppend(tls *libc.TLS, pParse uintptr, pList uintptr, pToken uintptr) uintptr { /* sqlite3.c:118563:23: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -99728,7 +99747,7 @@ func Xsqlite3IdListAppend(tls *libc.TLS, pParse uintptr, pList uintptr, pToken u } // Delete an IdList. -func Xsqlite3IdListDelete(tls *libc.TLS, db uintptr, pList uintptr) { /* sqlite3.c:118578:21: */ +func Xsqlite3IdListDelete(tls *libc.TLS, db uintptr, pList uintptr) { /* sqlite3.c:118591:21: */ var i int32 if pList == uintptr(0) { return @@ -99742,7 +99761,7 @@ func Xsqlite3IdListDelete(tls *libc.TLS, db uintptr, pList uintptr) { /* sqlite3 // Return the index in pList of the identifier named zId. Return -1 // if not found. -func Xsqlite3IdListIndex(tls *libc.TLS, pList uintptr, zName uintptr) int32 { /* sqlite3.c:118592:20: */ +func Xsqlite3IdListIndex(tls *libc.TLS, pList uintptr, zName uintptr) int32 { /* sqlite3.c:118605:20: */ var i int32 if pList == uintptr(0) { return -1 @@ -99780,7 +99799,7 @@ func Xsqlite3IdListIndex(tls *libc.TLS, pList uintptr, zName uintptr) int32 { /* // If a memory allocation fails or the SrcList becomes too large, leave // the original SrcList unchanged, return NULL, and leave an error message // in pParse. -func Xsqlite3SrcListEnlarge(tls *libc.TLS, pParse uintptr, pSrc uintptr, nExtra int32, iStart int32) uintptr { /* sqlite3.c:118633:24: */ +func Xsqlite3SrcListEnlarge(tls *libc.TLS, pParse uintptr, pSrc uintptr, nExtra int32, iStart int32) uintptr { /* sqlite3.c:118646:24: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -99862,7 +99881,7 @@ func Xsqlite3SrcListEnlarge(tls *libc.TLS, pParse uintptr, pSrc uintptr, nExtra // // Both pTable and pDatabase are assumed to be quoted. They are dequoted // before being added to the SrcList. -func Xsqlite3SrcListAppend(tls *libc.TLS, pParse uintptr, pList uintptr, pTable uintptr, pDatabase uintptr) uintptr { /* sqlite3.c:118722:24: */ +func Xsqlite3SrcListAppend(tls *libc.TLS, pParse uintptr, pList uintptr, pTable uintptr, pDatabase uintptr) uintptr { /* sqlite3.c:118735:24: */ var pItem uintptr var db uintptr // Cannot have C without B @@ -99901,7 +99920,7 @@ func Xsqlite3SrcListAppend(tls *libc.TLS, pParse uintptr, pList uintptr, pTable } // Assign VdbeCursor index numbers to all tables in a SrcList -func Xsqlite3SrcListAssignCursors(tls *libc.TLS, pParse uintptr, pList uintptr) { /* sqlite3.c:118767:21: */ +func Xsqlite3SrcListAssignCursors(tls *libc.TLS, pParse uintptr, pList uintptr) { /* sqlite3.c:118780:21: */ var i int32 var pItem uintptr @@ -99933,7 +99952,7 @@ func Xsqlite3SrcListAssignCursors(tls *libc.TLS, pParse uintptr, pList uintptr) } // Delete an entire SrcList including all its substructure. -func Xsqlite3SrcListDelete(tls *libc.TLS, db uintptr, pList uintptr) { /* sqlite3.c:118785:21: */ +func Xsqlite3SrcListDelete(tls *libc.TLS, db uintptr, pList uintptr) { /* sqlite3.c:118798:21: */ var i int32 var pItem uintptr if pList == uintptr(0) { @@ -99996,7 +100015,7 @@ __3: // // Return a new SrcList which encodes is the FROM with the new // term added. -func Xsqlite3SrcListAppendFromTerm(tls *libc.TLS, pParse uintptr, p uintptr, pTable uintptr, pDatabase uintptr, pAlias uintptr, pSubquery uintptr, pOn uintptr, pUsing uintptr) uintptr { /* sqlite3.c:118819:24: */ +func Xsqlite3SrcListAppendFromTerm(tls *libc.TLS, pParse uintptr, p uintptr, pTable uintptr, pDatabase uintptr, pAlias uintptr, pSubquery uintptr, pOn uintptr, pUsing uintptr) uintptr { /* sqlite3.c:118832:24: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -100060,7 +100079,7 @@ append_from_error: // Add an INDEXED BY or NOT INDEXED clause to the most recently added // element of the source-list passed as the second argument. -func Xsqlite3SrcListIndexedBy(tls *libc.TLS, pParse uintptr, p uintptr, pIndexedBy uintptr) { /* sqlite3.c:118870:21: */ +func Xsqlite3SrcListIndexedBy(tls *libc.TLS, pParse uintptr, p uintptr, pIndexedBy uintptr) { /* sqlite3.c:118883:21: */ if p != 0 && (*Token)(unsafe.Pointer(pIndexedBy)).Fn > uint32(0) { var pItem uintptr @@ -100082,7 +100101,7 @@ func Xsqlite3SrcListIndexedBy(tls *libc.TLS, pParse uintptr, p uintptr, pIndexed // Append the contents of SrcList p2 to SrcList p1 and return the resulting // SrcList. Or, if an error occurs, return NULL. In all cases, p1 and p2 // are deleted by this function. -func Xsqlite3SrcListAppendList(tls *libc.TLS, pParse uintptr, p1 uintptr, p2 uintptr) uintptr { /* sqlite3.c:118896:24: */ +func Xsqlite3SrcListAppendList(tls *libc.TLS, pParse uintptr, p1 uintptr, p2 uintptr) uintptr { /* sqlite3.c:118909:24: */ if p2 != 0 { var pNew uintptr = Xsqlite3SrcListEnlarge(tls, pParse, p1, (*SrcList)(unsafe.Pointer(p2)).FnSrc, 1) @@ -100099,7 +100118,7 @@ func Xsqlite3SrcListAppendList(tls *libc.TLS, pParse uintptr, p1 uintptr, p2 uin // Add the list of function arguments to the SrcList entry for a // table-valued-function. -func Xsqlite3SrcListFuncArgs(tls *libc.TLS, pParse uintptr, p uintptr, pList uintptr) { /* sqlite3.c:118915:21: */ +func Xsqlite3SrcListFuncArgs(tls *libc.TLS, pParse uintptr, p uintptr, pList uintptr) { /* sqlite3.c:118928:21: */ if p != 0 { var pItem uintptr = p + 8 + uintptr((*SrcList)(unsafe.Pointer(p)).FnSrc-1)*112 @@ -100123,7 +100142,7 @@ func Xsqlite3SrcListFuncArgs(tls *libc.TLS, pParse uintptr, p uintptr, pList uin // The operator is "natural cross join". The A and B operands are stored // in p->a[0] and p->a[1], respectively. The parser initially stores the // operator with A. This routine shifts that operator over to B. -func Xsqlite3SrcListShiftJoinType(tls *libc.TLS, p uintptr) { /* sqlite3.c:118943:21: */ +func Xsqlite3SrcListShiftJoinType(tls *libc.TLS, p uintptr) { /* sqlite3.c:118956:21: */ if p != 0 { var i int32 for i = (*SrcList)(unsafe.Pointer(p)).FnSrc - 1; i > 0; i-- { @@ -100134,7 +100153,7 @@ func Xsqlite3SrcListShiftJoinType(tls *libc.TLS, p uintptr) { /* sqlite3.c:11894 } // Generate VDBE code for a BEGIN statement. -func Xsqlite3BeginTransaction(tls *libc.TLS, pParse uintptr, type1 int32) { /* sqlite3.c:118956:21: */ +func Xsqlite3BeginTransaction(tls *libc.TLS, pParse uintptr, type1 int32) { /* sqlite3.c:118969:21: */ var db uintptr var v uintptr var i int32 @@ -100169,7 +100188,7 @@ func Xsqlite3BeginTransaction(tls *libc.TLS, pParse uintptr, type1 int32) { /* s // Generate VDBE code for a COMMIT or ROLLBACK statement. // Code for ROLLBACK is generated if eType==TK_ROLLBACK. Otherwise // code is generated for a COMMIT. -func Xsqlite3EndTransaction(tls *libc.TLS, pParse uintptr, eType int32) { /* sqlite3.c:118992:21: */ +func Xsqlite3EndTransaction(tls *libc.TLS, pParse uintptr, eType int32) { /* sqlite3.c:119005:21: */ var v uintptr var isRollback int32 @@ -100191,7 +100210,7 @@ func Xsqlite3EndTransaction(tls *libc.TLS, pParse uintptr, eType int32) { /* sql // This function is called by the parser when it parses a command to create, // release or rollback an SQL savepoint. -func Xsqlite3Savepoint(tls *libc.TLS, pParse uintptr, op int32, pName uintptr) { /* sqlite3.c:119014:21: */ +func Xsqlite3Savepoint(tls *libc.TLS, pParse uintptr, op int32, pName uintptr) { /* sqlite3.c:119027:21: */ var zName uintptr = Xsqlite3NameFromToken(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, pName) if zName != 0 { var v uintptr = Xsqlite3GetVdbe(tls, pParse) @@ -100204,11 +100223,11 @@ func Xsqlite3Savepoint(tls *libc.TLS, pParse uintptr, op int32, pName uintptr) { } } -var az = [3]uintptr{ts + 14431, ts + 14453, ts + 14437} /* sqlite3.c:119019:23 */ +var az = [3]uintptr{ts + 14431, ts + 14453, ts + 14437} /* sqlite3.c:119032:23 */ // Make sure the TEMP database is open and available for use. Return // the number of errors. Leave any error messages in the pParse structure. -func Xsqlite3OpenTempDatabase(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:119034:20: */ +func Xsqlite3OpenTempDatabase(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:119047:20: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -100234,13 +100253,13 @@ func Xsqlite3OpenTempDatabase(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3. return 0 } -var flags int32 = SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE | SQLITE_OPEN_EXCLUSIVE | SQLITE_OPEN_DELETEONCLOSE | SQLITE_OPEN_TEMP_DB /* sqlite3.c:119039:22 */ +var flags int32 = SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE | SQLITE_OPEN_EXCLUSIVE | SQLITE_OPEN_DELETEONCLOSE | SQLITE_OPEN_TEMP_DB /* sqlite3.c:119052:22 */ // Record the fact that the schema cookie will need to be verified // for database iDb. The code to actually verify the schema cookie // will occur at the end of the top-level VDBE and will be generated // later, by sqlite3FinishCoding(). -func sqlite3CodeVerifySchemaAtToplevel(tls *libc.TLS, pToplevel uintptr, iDb int32) { /* sqlite3.c:119069:13: */ +func sqlite3CodeVerifySchemaAtToplevel(tls *libc.TLS, pToplevel uintptr, iDb int32) { /* sqlite3.c:119082:13: */ if libc.Bool32((*Parse)(unsafe.Pointer(pToplevel)).FcookieMask&(YDbMask(YDbMask(1))< UTF-16 conversion if // possible. -func synthCollSeq(tls *libc.TLS, db uintptr, pColl uintptr) int32 { /* sqlite3.c:119579:12: */ +func synthCollSeq(tls *libc.TLS, db uintptr, pColl uintptr) int32 { /* sqlite3.c:119592:12: */ var pColl2 uintptr var z uintptr = (*CollSeq)(unsafe.Pointer(pColl)).FzName var i int32 @@ -100758,7 +100777,7 @@ func synthCollSeq(tls *libc.TLS, db uintptr, pColl uintptr) int32 { /* sqlite3.c return SQLITE_ERROR } -var aEnc = [3]U8{U8(SQLITE_UTF16BE), U8(SQLITE_UTF16LE), U8(SQLITE_UTF8)} /* sqlite3.c:119583:19 */ +var aEnc = [3]U8{U8(SQLITE_UTF16BE), U8(SQLITE_UTF16LE), U8(SQLITE_UTF8)} /* sqlite3.c:119596:19 */ // This routine is called on a collation sequence before it is used to // check that it is defined. An undefined collation sequence exists when @@ -100769,7 +100788,7 @@ var aEnc = [3]U8{U8(SQLITE_UTF16BE), U8(SQLITE_UTF16LE), U8(SQLITE_UTF8)} /* sql // request a definition of the collating sequence. If this doesn't work, // an equivalent collating sequence that uses a text encoding different // from the main database is substituted, if one is available. -func Xsqlite3CheckCollSeq(tls *libc.TLS, pParse uintptr, pColl uintptr) int32 { /* sqlite3.c:119606:20: */ +func Xsqlite3CheckCollSeq(tls *libc.TLS, pParse uintptr, pColl uintptr) int32 { /* sqlite3.c:119619:20: */ if pColl != 0 && (*CollSeq)(unsafe.Pointer(pColl)).FxCmp == uintptr(0) { var zName uintptr = (*CollSeq)(unsafe.Pointer(pColl)).FzName var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb @@ -100793,7 +100812,7 @@ func Xsqlite3CheckCollSeq(tls *libc.TLS, pParse uintptr, pColl uintptr) int32 { // Stored immediately after the three collation sequences is a copy of // the collation sequence name. A pointer to this string is stored in // each collation sequence structure. -func findCollSeqEntry(tls *libc.TLS, db uintptr, zName uintptr, create int32) uintptr { /* sqlite3.c:119634:16: */ +func findCollSeqEntry(tls *libc.TLS, db uintptr, zName uintptr, create int32) uintptr { /* sqlite3.c:119647:16: */ var pColl uintptr pColl = Xsqlite3HashFind(tls, db+640, zName) @@ -100838,7 +100857,7 @@ func findCollSeqEntry(tls *libc.TLS, db uintptr, zName uintptr, create int32) ui // cannot be found. // // See also: sqlite3LocateCollSeq(), sqlite3GetCollSeq() -func Xsqlite3FindCollSeq(tls *libc.TLS, db uintptr, enc U8, zName uintptr, create int32) uintptr { /* sqlite3.c:119686:24: */ +func Xsqlite3FindCollSeq(tls *libc.TLS, db uintptr, enc U8, zName uintptr, create int32) uintptr { /* sqlite3.c:119699:24: */ var pColl uintptr if zName != 0 { @@ -100854,7 +100873,7 @@ func Xsqlite3FindCollSeq(tls *libc.TLS, db uintptr, enc U8, zName uintptr, creat // Change the text encoding for a database connection. This means that // the pDfltColl must change as well. -func Xsqlite3SetTextEncoding(tls *libc.TLS, db uintptr, enc U8) { /* sqlite3.c:119708:21: */ +func Xsqlite3SetTextEncoding(tls *libc.TLS, db uintptr, enc U8) { /* sqlite3.c:119721:21: */ (*Sqlite3)(unsafe.Pointer(db)).Fenc = enc // EVIDENCE-OF: R-08308-17224 The default collating function for all @@ -100874,7 +100893,7 @@ func Xsqlite3SetTextEncoding(tls *libc.TLS, db uintptr, enc U8) { /* sqlite3.c:1 // sequence can be found. If no collation is found, leave an error message. // // See also: sqlite3LocateCollSeq(), sqlite3FindCollSeq() -func Xsqlite3GetCollSeq(tls *libc.TLS, pParse uintptr, enc U8, pColl uintptr, zName uintptr) uintptr { /* sqlite3.c:119731:24: */ +func Xsqlite3GetCollSeq(tls *libc.TLS, pParse uintptr, enc U8, pColl uintptr, zName uintptr) uintptr { /* sqlite3.c:119744:24: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -100920,7 +100939,7 @@ func Xsqlite3GetCollSeq(tls *libc.TLS, pParse uintptr, enc U8, pColl uintptr, zN // and generates an error message. // // See also: sqlite3FindCollSeq(), sqlite3GetCollSeq() -func Xsqlite3LocateCollSeq(tls *libc.TLS, pParse uintptr, zName uintptr) uintptr { /* sqlite3.c:119782:24: */ +func Xsqlite3LocateCollSeq(tls *libc.TLS, pParse uintptr, zName uintptr) uintptr { /* sqlite3.c:119795:24: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb var enc U8 = (*Sqlite3)(unsafe.Pointer(db)).Fenc var initbusy U8 = (*Sqlite3)(unsafe.Pointer(db)).Finit.Fbusy @@ -100961,7 +100980,7 @@ func Xsqlite3LocateCollSeq(tls *libc.TLS, pParse uintptr, zName uintptr) uintptr // If nArg==(-2) then any function with a non-null xSFunc is // a perfect match and any function with xSFunc NULL is // a non-match. -func matchQuality(tls *libc.TLS, p uintptr, nArg int32, enc U8) int32 { /* sqlite3.c:119825:12: */ +func matchQuality(tls *libc.TLS, p uintptr, nArg int32, enc U8) int32 { /* sqlite3.c:119838:12: */ var match int32 // Wrong number of arguments means "no match" @@ -100997,7 +101016,7 @@ func matchQuality(tls *libc.TLS, p uintptr, nArg int32, enc U8) int32 { /* sqlit // Search a FuncDefHash for a function with the given name. Return // a pointer to the matching FuncDef if found, or 0 if there is no match. -func Xsqlite3FunctionSearch(tls *libc.TLS, h int32, zFunc uintptr) uintptr { /* sqlite3.c:119861:24: */ +func Xsqlite3FunctionSearch(tls *libc.TLS, h int32, zFunc uintptr) uintptr { /* sqlite3.c:119874:24: */ var p uintptr for p = *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&Xsqlite3BuiltinFunctions)) + uintptr(h)*8)); p != 0; p = *(*uintptr)(unsafe.Pointer(p + 64)) { @@ -101009,7 +101028,7 @@ func Xsqlite3FunctionSearch(tls *libc.TLS, h int32, zFunc uintptr) uintptr { /* } // Insert a new FuncDef into a FuncDefHash hash table. -func Xsqlite3InsertBuiltinFuncs(tls *libc.TLS, aDef uintptr, nDef int32) { /* sqlite3.c:119878:21: */ +func Xsqlite3InsertBuiltinFuncs(tls *libc.TLS, aDef uintptr, nDef int32) { /* sqlite3.c:119891:21: */ var i int32 for i = 0; i < nDef; i++ { var pOther uintptr @@ -101047,7 +101066,7 @@ func Xsqlite3InsertBuiltinFuncs(tls *libc.TLS, aDef uintptr, nDef int32) { /* sq // If createFlag is false, then a function with the required name and // number of arguments may be returned even if the eTextRep flag does not // match that requested. -func Xsqlite3FindFunction(tls *libc.TLS, db uintptr, zName uintptr, nArg int32, enc U8, createFlag U8) uintptr { /* sqlite3.c:119923:24: */ +func Xsqlite3FindFunction(tls *libc.TLS, db uintptr, zName uintptr, nArg int32, enc U8, createFlag U8) uintptr { /* sqlite3.c:119936:24: */ var p uintptr // Iterator variable var pBest uintptr = uintptr(0) // Best match found so far var bestScore int32 = 0 // Score of best match @@ -101127,7 +101146,7 @@ func Xsqlite3FindFunction(tls *libc.TLS, db uintptr, zName uintptr, nArg int32, // of the schema hash tables). // // The Schema.cache_size variable is not cleared. -func Xsqlite3SchemaClear(tls *libc.TLS, p uintptr) { /* sqlite3.c:120015:21: */ +func Xsqlite3SchemaClear(tls *libc.TLS, p uintptr) { /* sqlite3.c:120028:21: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -101162,7 +101181,7 @@ func Xsqlite3SchemaClear(tls *libc.TLS, p uintptr) { /* sqlite3.c:120015:21: */ // Find and return the schema associated with a BTree. Create // a new one if necessary. -func Xsqlite3SchemaGet(tls *libc.TLS, db uintptr, pBt uintptr) uintptr { /* sqlite3.c:120047:23: */ +func Xsqlite3SchemaGet(tls *libc.TLS, db uintptr, pBt uintptr) uintptr { /* sqlite3.c:120060:23: */ var p uintptr if pBt != 0 { p = Xsqlite3BtreeSchema(tls, pBt, int32(unsafe.Sizeof(Schema{})), *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{Xsqlite3SchemaClear}))) @@ -101209,7 +101228,7 @@ func Xsqlite3SchemaGet(tls *libc.TLS, db uintptr, pBt uintptr) uintptr { /* sqli // pSrc->a[0].pTab Pointer to the Table object // pSrc->a[0].pIndex Pointer to the INDEXED BY index, if there is one // -func Xsqlite3SrcListLookup(tls *libc.TLS, pParse uintptr, pSrc uintptr) uintptr { /* sqlite3.c:120098:22: */ +func Xsqlite3SrcListLookup(tls *libc.TLS, pParse uintptr, pSrc uintptr) uintptr { /* sqlite3.c:120111:22: */ var pItem uintptr = pSrc + 8 /* &.a */ var pTab uintptr @@ -101227,7 +101246,7 @@ func Xsqlite3SrcListLookup(tls *libc.TLS, pParse uintptr, pSrc uintptr) uintptr // Generate byte-code that will report the number of rows modified // by a DELETE, INSERT, or UPDATE statement. -func Xsqlite3CodeChangeCount(tls *libc.TLS, v uintptr, regCounter int32, zColName uintptr) { /* sqlite3.c:120117:21: */ +func Xsqlite3CodeChangeCount(tls *libc.TLS, v uintptr, regCounter int32, zColName uintptr) { /* sqlite3.c:120130:21: */ Xsqlite3VdbeAddOp0(tls, v, OP_FkCheck) Xsqlite3VdbeAddOp2(tls, v, OP_ResultRow, regCounter, 1) Xsqlite3VdbeSetNumCols(tls, v, 1) @@ -101248,7 +101267,7 @@ func Xsqlite3CodeChangeCount(tls *libc.TLS, v uintptr, regCounter int32, zColNam // 3) The table is a shadow table, the database connection is in // defensive mode, and the current sqlite3_prepare() // is for a top-level SQL statement. -func tabIsReadOnly(tls *libc.TLS, pParse uintptr, pTab uintptr) int32 { /* sqlite3.c:120139:12: */ +func tabIsReadOnly(tls *libc.TLS, pParse uintptr, pTab uintptr) int32 { /* sqlite3.c:120152:12: */ var db uintptr if int32((*Table)(unsafe.Pointer(pTab)).FeTabType) == TABTYP_VTAB { return libc.Bool32((*Sqlite3_module)(unsafe.Pointer((*Module)(unsafe.Pointer((*VTable)(unsafe.Pointer(Xsqlite3GetVTable(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, pTab))).FpMod)).FpModule)).FxUpdate == uintptr(0)) @@ -101267,7 +101286,7 @@ func tabIsReadOnly(tls *libc.TLS, pParse uintptr, pTab uintptr) int32 { /* sqlit // Check to make sure the given table is writable. If it is not // writable, generate an error message and return 1. If it is // writable return 0; -func Xsqlite3IsReadOnly(tls *libc.TLS, pParse uintptr, pTab uintptr, viewOk int32) int32 { /* sqlite3.c:120158:20: */ +func Xsqlite3IsReadOnly(tls *libc.TLS, pParse uintptr, pTab uintptr, viewOk int32) int32 { /* sqlite3.c:120171:20: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -101285,7 +101304,7 @@ func Xsqlite3IsReadOnly(tls *libc.TLS, pParse uintptr, pTab uintptr, viewOk int3 // Evaluate a view and store its result in an ephemeral table. The // pWhere argument is an optional WHERE clause that restricts the // set of rows in the view that are to be added to the ephemeral table. -func Xsqlite3MaterializeView(tls *libc.TLS, pParse uintptr, pView uintptr, pWhere uintptr, pOrderBy uintptr, pLimit uintptr, iCur int32) { /* sqlite3.c:120179:21: */ +func Xsqlite3MaterializeView(tls *libc.TLS, pParse uintptr, pView uintptr, pWhere uintptr, pOrderBy uintptr, pLimit uintptr, iCur int32) { /* sqlite3.c:120192:21: */ bp := tls.Alloc(40) defer tls.Free(40) @@ -101317,7 +101336,7 @@ func Xsqlite3MaterializeView(tls *libc.TLS, pParse uintptr, pView uintptr, pWher // DELETE FROM table_wxyz WHERE a<5 AND b NOT NULL; // \________/ \________________/ // pTabList pWhere -func Xsqlite3DeleteFrom(tls *libc.TLS, pParse uintptr, pTabList uintptr, pWhere uintptr, pOrderBy uintptr, pLimit uintptr) { /* sqlite3.c:120318:21: */ +func Xsqlite3DeleteFrom(tls *libc.TLS, pParse uintptr, pTabList uintptr, pWhere uintptr, pOrderBy uintptr, pLimit uintptr) { /* sqlite3.c:120331:21: */ bp := tls.Alloc(88) defer tls.Free(88) @@ -101923,7 +101942,7 @@ delete_from_cleanup: // starting at iIdxCur) that already points to the index entry to be deleted. // Except, this optimization is disabled if there are BEFORE triggers since // the trigger body might have moved the cursor. -func Xsqlite3GenerateRowDelete(tls *libc.TLS, pParse uintptr, pTab uintptr, pTrigger uintptr, iDataCur int32, iIdxCur int32, iPk int32, nPk I16, count U8, onconf U8, eMode U8, iIdxNoSeek int32) { /* sqlite3.c:120766:21: */ +func Xsqlite3GenerateRowDelete(tls *libc.TLS, pParse uintptr, pTab uintptr, pTrigger uintptr, iDataCur int32, iIdxCur int32, iPk int32, nPk I16, count U8, onconf U8, eMode U8, iIdxNoSeek int32) { /* sqlite3.c:120779:21: */ var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe // Vdbe var iOld int32 = 0 // First register in OLD.* array var iLabel int32 // Label resolved to end of generated code @@ -102060,7 +102079,7 @@ func Xsqlite3GenerateRowDelete(tls *libc.TLS, pParse uintptr, pTab uintptr, pTri // // 3. The "iDataCur" cursor must be already be positioned on the row // that is to be deleted. -func Xsqlite3GenerateRowIndexDelete(tls *libc.TLS, pParse uintptr, pTab uintptr, iDataCur int32, iIdxCur int32, aRegIdx uintptr, iIdxNoSeek int32) { /* sqlite3.c:120918:21: */ +func Xsqlite3GenerateRowIndexDelete(tls *libc.TLS, pParse uintptr, pTab uintptr, iDataCur int32, iIdxCur int32, aRegIdx uintptr, iIdxNoSeek int32) { /* sqlite3.c:120931:21: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -102149,7 +102168,7 @@ __3: // This optimization is helpful when doing a DELETE or an INTEGRITY_CHECK // on a table with multiple indices, and especially with the ROWID or // PRIMARY KEY columns of the index. -func Xsqlite3GenerateIndexKey(tls *libc.TLS, pParse uintptr, pIdx uintptr, iDataCur int32, regOut int32, prefixOnly int32, piPartIdxLabel uintptr, pPrior uintptr, regPrior int32) int32 { /* sqlite3.c:120983:20: */ +func Xsqlite3GenerateIndexKey(tls *libc.TLS, pParse uintptr, pIdx uintptr, iDataCur int32, regOut int32, prefixOnly int32, piPartIdxLabel uintptr, pPrior uintptr, regPrior int32) int32 { /* sqlite3.c:120996:20: */ var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe var j int32 var regBase int32 @@ -102205,7 +102224,7 @@ func Xsqlite3GenerateIndexKey(tls *libc.TLS, pParse uintptr, pIdx uintptr, iData // If a prior call to sqlite3GenerateIndexKey() generated a jump-over label // because it was a partial index, then this routine should be called to // resolve that label. -func Xsqlite3ResolvePartIdxLabel(tls *libc.TLS, pParse uintptr, iLabel int32) { /* sqlite3.c:121045:21: */ +func Xsqlite3ResolvePartIdxLabel(tls *libc.TLS, pParse uintptr, iLabel int32) { /* sqlite3.c:121058:21: */ if iLabel != 0 { Xsqlite3VdbeResolveLabel(tls, (*Parse)(unsafe.Pointer(pParse)).FpVdbe, iLabel) } @@ -102233,7 +102252,7 @@ func Xsqlite3ResolvePartIdxLabel(tls *libc.TLS, pParse uintptr, iLabel int32) { // #include "vdbeInt.h" // Return the collating function associated with a function. -func sqlite3GetFuncCollSeq(tls *libc.TLS, context uintptr) uintptr { /* sqlite3.c:121079:16: */ +func sqlite3GetFuncCollSeq(tls *libc.TLS, context uintptr) uintptr { /* sqlite3.c:121092:16: */ var pOp uintptr pOp = (*Vdbe)(unsafe.Pointer((*Sqlite3_context)(unsafe.Pointer(context)).FpVdbe)).FaOp + uintptr((*Sqlite3_context)(unsafe.Pointer(context)).FiOp-1)*24 @@ -102243,14 +102262,14 @@ func sqlite3GetFuncCollSeq(tls *libc.TLS, context uintptr) uintptr { /* sqlite3. // Indicate that the accumulator load should be skipped on this // iteration of the aggregate loop. -func sqlite3SkipAccumulatorLoad(tls *libc.TLS, context uintptr) { /* sqlite3.c:121092:13: */ +func sqlite3SkipAccumulatorLoad(tls *libc.TLS, context uintptr) { /* sqlite3.c:121105:13: */ (*Sqlite3_context)(unsafe.Pointer(context)).FisError = -1 (*Sqlite3_context)(unsafe.Pointer(context)).FskipFlag = U8(1) } // Implementation of the non-aggregate min() and max() functions -func minmaxFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121101:13: */ +func minmaxFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121114:13: */ var i int32 var mask int32 // 0 for min() or 0xffffffff for max() var iBest int32 @@ -102280,7 +102299,7 @@ func minmaxFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* s } // Return the type of the argument. -func typeofFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { /* sqlite3.c:121131:13: */ +func typeofFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { /* sqlite3.c:121144:13: */ var i int32 = Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(argv))) - 1 _ = NotUsed @@ -102291,18 +102310,18 @@ func typeofFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { / Xsqlite3_result_text(tls, context, azType2[i], -1, uintptr(0)) } -var azType2 = [5]uintptr{ts + 6133, ts + 6128, ts + 7883, ts + 7878, ts + 6123} /* sqlite3.c:121136:21 */ +var azType2 = [5]uintptr{ts + 6133, ts + 6128, ts + 7883, ts + 7878, ts + 6123} /* sqlite3.c:121149:21 */ // subtype(X) // // Return the subtype of X -func subtypeFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121156:13: */ +func subtypeFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121169:13: */ _ = argc Xsqlite3_result_int(tls, context, int32(Xsqlite3_value_subtype(tls, *(*uintptr)(unsafe.Pointer(argv))))) } // Implementation of the length() function -func lengthFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121168:13: */ +func lengthFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121181:13: */ _ = argc switch Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(argv))) { @@ -102351,7 +102370,7 @@ func lengthFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* s // // IMP: R-23979-26855 The abs(X) function returns the absolute value of // the numeric argument X. -func absFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121210:13: */ +func absFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121223:13: */ _ = argc switch Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(argv))) { @@ -102405,7 +102424,7 @@ func absFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqli // If both haystack and needle are BLOBs, then the result is one more than // the number of bytes in haystack prior to the first occurrence of needle, // or 0 if needle never occurs in haystack. -func instrFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121259:13: */ +func instrFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121272:13: */ var zHaystack uintptr var zNeedle uintptr var nHaystack int32 @@ -102520,7 +102539,7 @@ endInstrOOM: } // Implementation of the printf() (a.k.a. format()) SQL function. -func printfFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121327:13: */ +func printfFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121340:13: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -102557,7 +102576,7 @@ func printfFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* s // If p1 is negative, then we begin abs(p1) from the end of x[]. // // If p2 is negative, return the p2 characters preceding p1. -func substrFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121363:13: */ +func substrFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121376:13: */ var z uintptr var z2 uintptr var len int32 @@ -102665,7 +102684,7 @@ func substrFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* s } // Implementation of the round() function -func roundFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121458:13: */ +func roundFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121471:13: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -102719,7 +102738,7 @@ func roundFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sq // the database handle that malloc() has failed and return NULL. // If nByte is larger than the maximum string or blob length, then // raise an SQLITE_TOOBIG exception and return NULL. -func contextMalloc(tls *libc.TLS, context uintptr, nByte I64) uintptr { /* sqlite3.c:121499:13: */ +func contextMalloc(tls *libc.TLS, context uintptr, nByte I64) uintptr { /* sqlite3.c:121512:13: */ var z uintptr var db uintptr = Xsqlite3_context_db_handle(tls, context) @@ -102736,7 +102755,7 @@ func contextMalloc(tls *libc.TLS, context uintptr, nByte I64) uintptr { /* sqlit } // Implementation of the upper() and lower() SQL functions. -func upperFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121520:13: */ +func upperFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121533:13: */ var z1 uintptr var z2 uintptr var i int32 @@ -102757,7 +102776,7 @@ func upperFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sq } } -func lowerFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121539:13: */ +func lowerFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121552:13: */ var z1 uintptr var z2 uintptr var i int32 @@ -102786,7 +102805,7 @@ func lowerFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sq // is. We might as well use the "version()" function as a substitute. // Implementation of random(). Return a random integer. -func randomFunc(tls *libc.TLS, context uintptr, NotUsed int32, NotUsed2 uintptr) { /* sqlite3.c:121572:13: */ +func randomFunc(tls *libc.TLS, context uintptr, NotUsed int32, NotUsed2 uintptr) { /* sqlite3.c:121585:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -102810,7 +102829,7 @@ func randomFunc(tls *libc.TLS, context uintptr, NotUsed int32, NotUsed2 uintptr) // Implementation of randomblob(N). Return a random blob // that is N bytes long. -func randomBlob(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121598:13: */ +func randomBlob(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121611:13: */ var n Sqlite3_int64 var p uintptr @@ -102828,7 +102847,7 @@ func randomBlob(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* s // Implementation of the last_insert_rowid() SQL function. The return // value is the same as the sqlite3_last_insert_rowid() API function. -func last_insert_rowid(tls *libc.TLS, context uintptr, NotUsed int32, NotUsed2 uintptr) { /* sqlite3.c:121622:13: */ +func last_insert_rowid(tls *libc.TLS, context uintptr, NotUsed int32, NotUsed2 uintptr) { /* sqlite3.c:121635:13: */ var db uintptr = Xsqlite3_context_db_handle(tls, context) _ = NotUsed _ = NotUsed2 @@ -102843,7 +102862,7 @@ func last_insert_rowid(tls *libc.TLS, context uintptr, NotUsed int32, NotUsed2 u // IMP: R-32760-32347 The changes() SQL function is a wrapper // around the sqlite3_changes64() C/C++ function and hence follows the // same rules for counting changes. -func changes(tls *libc.TLS, context uintptr, NotUsed int32, NotUsed2 uintptr) { /* sqlite3.c:121642:13: */ +func changes(tls *libc.TLS, context uintptr, NotUsed int32, NotUsed2 uintptr) { /* sqlite3.c:121655:13: */ var db uintptr = Xsqlite3_context_db_handle(tls, context) _ = NotUsed _ = NotUsed2 @@ -102852,7 +102871,7 @@ func changes(tls *libc.TLS, context uintptr, NotUsed int32, NotUsed2 uintptr) { // Implementation of the total_changes() SQL function. The return value is // the same as the sqlite3_total_changes64() API function. -func total_changes(tls *libc.TLS, context uintptr, NotUsed int32, NotUsed2 uintptr) { /* sqlite3.c:121656:13: */ +func total_changes(tls *libc.TLS, context uintptr, NotUsed int32, NotUsed2 uintptr) { /* sqlite3.c:121669:13: */ var db uintptr = Xsqlite3_context_db_handle(tls, context) _ = NotUsed _ = NotUsed2 @@ -102867,20 +102886,20 @@ type compareInfo = struct { FmatchOne U8 FmatchSet U8 FnoCase U8 -} /* sqlite3.c:121671:1 */ +} /* sqlite3.c:121684:1 */ // For LIKE and GLOB matching on EBCDIC machines, assume that every // character is exactly one byte in size. Also, provde the Utf8Read() // macro for fast reading of the next character in the common case where // the next character is ASCII. -var globInfo = compareInfo{FmatchAll: U8('*'), FmatchOne: U8('?'), FmatchSet: U8('[')} /* sqlite3.c:121691:33 */ +var globInfo = compareInfo{FmatchAll: U8('*'), FmatchOne: U8('?'), FmatchSet: U8('[')} /* sqlite3.c:121704:33 */ // The correct SQL-92 behavior is for the LIKE operator to ignore // case. Thus 'a' LIKE 'A' would be true. -var likeInfoNorm = compareInfo{FmatchAll: U8('%'), FmatchOne: U8('_'), FnoCase: U8(1)} /* sqlite3.c:121694:33 */ +var likeInfoNorm = compareInfo{FmatchAll: U8('%'), FmatchOne: U8('_'), FnoCase: U8(1)} /* sqlite3.c:121707:33 */ // If SQLITE_CASE_SENSITIVE_LIKE is defined, then the LIKE operator // is case sensitive causing 'a' LIKE 'A' to be false -var likeInfoAlt = compareInfo{FmatchAll: U8('%'), FmatchOne: U8('_')} /* sqlite3.c:121697:33 */ +var likeInfoAlt = compareInfo{FmatchAll: U8('%'), FmatchOne: U8('_')} /* sqlite3.c:121710:33 */ // Possible error returns from patternMatch() @@ -102920,7 +102939,7 @@ var likeInfoAlt = compareInfo{FmatchAll: U8('%'), FmatchOne: U8('_')} /* sqlite3 // The comments within this routine usually assume glob matching. // // This routine is usually quick, but can be N**2 in the worst case. -func patternCompare(tls *libc.TLS, zPattern uintptr, zString uintptr, pInfo uintptr, matchOther U32) int32 { /* sqlite3.c:121744:12: */ +func patternCompare(tls *libc.TLS, zPattern uintptr, zString uintptr, pInfo uintptr, matchOther U32) int32 { /* sqlite3.c:121757:12: */ bp := tls.Alloc(19) defer tls.Free(19) *(*uintptr)(unsafe.Pointer(bp)) = zPattern @@ -103106,13 +103125,13 @@ func patternCompare(tls *libc.TLS, zPattern uintptr, zString uintptr, pInfo uint // The sqlite3_strglob() interface. Return 0 on a match (like strcmp()) and // non-zero if there is no match. -func Xsqlite3_strglob(tls *libc.TLS, zGlobPattern uintptr, zString uintptr) int32 { /* sqlite3.c:121877:16: */ +func Xsqlite3_strglob(tls *libc.TLS, zGlobPattern uintptr, zString uintptr) int32 { /* sqlite3.c:121890:16: */ return patternCompare(tls, zGlobPattern, zString, uintptr(unsafe.Pointer(&globInfo)), uint32('[')) } // The sqlite3_strlike() interface. Return 0 on a match and non-zero for // a miss - like strcmp(). -func Xsqlite3_strlike(tls *libc.TLS, zPattern uintptr, zStr uintptr, esc uint32) int32 { /* sqlite3.c:121885:16: */ +func Xsqlite3_strlike(tls *libc.TLS, zPattern uintptr, zStr uintptr, esc uint32) int32 { /* sqlite3.c:121898:16: */ return patternCompare(tls, zPattern, zStr, uintptr(unsafe.Pointer(&likeInfoNorm)), esc) } @@ -103130,7 +103149,7 @@ func Xsqlite3_strlike(tls *libc.TLS, zPattern uintptr, zStr uintptr, esc uint32) // // This same function (with a different compareInfo structure) computes // the GLOB operator. -func likeFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121911:13: */ +func likeFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121924:13: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -103193,7 +103212,7 @@ func likeFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sql // Implementation of the NULLIF(x,y) function. The result is the first // argument if the arguments are different. The result is NULL if the // arguments are equal to each other. -func nullifFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { /* sqlite3.c:121982:13: */ +func nullifFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { /* sqlite3.c:121995:13: */ var pColl uintptr = sqlite3GetFuncCollSeq(tls, context) _ = NotUsed if Xsqlite3MemCompare(tls, *(*uintptr)(unsafe.Pointer(argv)), *(*uintptr)(unsafe.Pointer(argv + 1*8)), pColl) != 0 { @@ -103203,7 +103222,7 @@ func nullifFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { / // Implementation of the sqlite_version() function. The result is the version // of the SQLite library that is running. -func versionFunc(tls *libc.TLS, context uintptr, NotUsed int32, NotUsed2 uintptr) { /* sqlite3.c:121998:13: */ +func versionFunc(tls *libc.TLS, context uintptr, NotUsed int32, NotUsed2 uintptr) { /* sqlite3.c:122011:13: */ _ = NotUsed _ = NotUsed2 // IMP: R-48699-48617 This function is an SQL wrapper around the @@ -103214,7 +103233,7 @@ func versionFunc(tls *libc.TLS, context uintptr, NotUsed int32, NotUsed2 uintptr // Implementation of the sqlite_source_id() function. The result is a string // that identifies the particular version of the source code used to build // SQLite. -func sourceidFunc(tls *libc.TLS, context uintptr, NotUsed int32, NotUsed2 uintptr) { /* sqlite3.c:122014:13: */ +func sourceidFunc(tls *libc.TLS, context uintptr, NotUsed int32, NotUsed2 uintptr) { /* sqlite3.c:122027:13: */ _ = NotUsed _ = NotUsed2 // IMP: R-24470-31136 This function is an SQL wrapper around the @@ -103225,7 +103244,7 @@ func sourceidFunc(tls *libc.TLS, context uintptr, NotUsed int32, NotUsed2 uintpt // Implementation of the sqlite_log() function. This is a wrapper around // sqlite3_log(). The return value is NULL. The function exists purely for // its side-effects. -func errlogFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122030:13: */ +func errlogFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122043:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -103237,7 +103256,7 @@ func errlogFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* s // Implementation of the sqlite_compileoption_used() function. // The result is an integer that identifies if the compiler option // was used to build SQLite. -func compileoptionusedFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122046:13: */ +func compileoptionusedFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122059:13: */ var zOptName uintptr _ = argc @@ -103252,7 +103271,7 @@ func compileoptionusedFunc(tls *libc.TLS, context uintptr, argc int32, argv uint // Implementation of the sqlite_compileoption_get() function. // The result is a string that identifies the compiler options // used to build SQLite. -func compileoptiongetFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122070:13: */ +func compileoptiongetFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122083:13: */ var n int32 _ = argc @@ -103267,11 +103286,11 @@ func compileoptiongetFunc(tls *libc.TLS, context uintptr, argc int32, argv uintp var hexdigits = [16]uint8{ uint8('0'), uint8('1'), uint8('2'), uint8('3'), uint8('4'), uint8('5'), uint8('6'), uint8('7'), uint8('8'), uint8('9'), uint8('A'), uint8('B'), uint8('C'), uint8('D'), uint8('E'), uint8('F'), -} /* sqlite3.c:122088:19 */ +} /* sqlite3.c:122101:19 */ // Append to pStr text that is the SQL literal representation of the // value contained in pValue. -func Xsqlite3QuoteValue(tls *libc.TLS, pStr uintptr, pValue uintptr) { /* sqlite3.c:122097:21: */ +func Xsqlite3QuoteValue(tls *libc.TLS, pStr uintptr, pValue uintptr) { /* sqlite3.c:122110:21: */ bp := tls.Alloc(40) defer tls.Free(40) @@ -103352,7 +103371,7 @@ func Xsqlite3QuoteValue(tls *libc.TLS, pStr uintptr, pValue uintptr) { /* sqlite // as needed. BLOBs are encoded as hexadecimal literals. Strings with // embedded NUL characters cannot be represented as string literals in SQL // and hence the returned string literal is truncated prior to the first NUL. -func quoteFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122166:13: */ +func quoteFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122179:13: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -103375,7 +103394,7 @@ func quoteFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sq // The unicode() function. Return the integer unicode code-point value // for the first character of the input string. -func unicodeFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122185:13: */ +func unicodeFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122198:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -103389,7 +103408,7 @@ func unicodeFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* // The char() function takes zero or more arguments, each of which is // an integer. It constructs a string where each character of the string // is the unicode character for the corresponding integer argument. -func charFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122200:13: */ +func charFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122213:13: */ var z uintptr var zOut uintptr var i int32 @@ -103427,7 +103446,7 @@ func charFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sql // The hex() function. Interpret the argument as a blob. Return // a hexadecimal rendering as text. -func hexFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122241:13: */ +func hexFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122254:13: */ var i int32 var n int32 var pBlob uintptr @@ -103465,7 +103484,7 @@ func hexFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqli } // The zeroblob(N) function returns a zero-filled blob of size N bytes. -func zeroblobFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122269:13: */ +func zeroblobFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122282:13: */ var n I64 var rc int32 @@ -103484,7 +103503,7 @@ func zeroblobFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* // them A, B, and C. The result is also a string which is derived // from A by replacing every occurrence of B with C. The match // must be exact. Collating sequences are not used. -func replaceFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122292:13: */ +func replaceFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122305:13: */ var zStr uintptr // The input string A var zPattern uintptr // The pattern string B var zRep uintptr // The replacement string C @@ -103573,7 +103592,7 @@ func replaceFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* // Implementation of the TRIM(), LTRIM(), and RTRIM() functions. // The userdata is 0x1 for left trim, 0x2 for right trim, 0x3 for both. -func trimFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122385:13: */ +func trimFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122398:13: */ var zIn uintptr // Input string var zCharSet uintptr // Set of characters to trim var nIn uint32 // Number of bytes in input @@ -103676,8 +103695,8 @@ func trimFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sql Xsqlite3_result_text(tls, context, zIn, int32(nIn), libc.UintptrFromInt32(-1)) } -var lenOne = [1]uint32{uint32(1)} /* sqlite3.c:122407:27 */ -var azOne = [1]uintptr{uintptr(ts + 10796 /* " " */)} /* sqlite3.c:122408:26 */ +var lenOne = [1]uint32{uint32(1)} /* sqlite3.c:122420:27 */ +var azOne = [1]uintptr{uintptr(ts + 10796 /* " " */)} /* sqlite3.c:122421:26 */ // IMP: R-25361-16150 This function is omitted from SQLite by default. It // is only available if the SQLITE_SOUNDEX compile-time option is used @@ -103686,7 +103705,7 @@ var azOne = [1]uintptr{uintptr(ts + 10796 /* " " */)} /* sqlite3.c:122408:26 */ // // IMP: R-59782-00072 The soundex(X) function returns a string that is the // soundex encoding of the string X. -func soundexFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122498:13: */ +func soundexFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122511:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -103737,10 +103756,10 @@ var iCode = [128]uint8{ uint8(1), uint8(2), uint8(6), uint8(2), uint8(3), uint8(0), uint8(1), uint8(0), uint8(2), uint8(0), uint8(2), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(1), uint8(2), uint8(3), uint8(0), uint8(1), uint8(2), uint8(0), uint8(0), uint8(2), uint8(2), uint8(4), uint8(5), uint8(5), uint8(0), uint8(1), uint8(2), uint8(6), uint8(2), uint8(3), uint8(0), uint8(1), uint8(0), uint8(2), uint8(0), uint8(2), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), -} /* sqlite3.c:122506:30 */ +} /* sqlite3.c:122519:30 */ // A function that loads a shared-library extension then returns NULL. -func loadExt(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122551:13: */ +func loadExt(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122564:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -103776,11 +103795,11 @@ type SumCtx1 = struct { Foverflow U8 Fapprox U8 F__ccgo_pad1 [6]byte -} /* sqlite3.c:122582:9 */ +} /* sqlite3.c:122595:9 */ // An instance of the following structure holds the context of a // sum() or avg() aggregate computation. -type SumCtx = SumCtx1 /* sqlite3.c:122582:23 */ +type SumCtx = SumCtx1 /* sqlite3.c:122595:23 */ // Routines used to compute the sum, average, and total. // @@ -103790,7 +103809,7 @@ type SumCtx = SumCtx1 /* sqlite3.c:122582:23 */ // SUM might return an integer if it never encounters a floating point // value. TOTAL never fails, but SUM might through an exception if // it overflows an integer. -func sumStep(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122601:13: */ +func sumStep(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122614:13: */ var p uintptr var type1 int32 @@ -103812,7 +103831,7 @@ func sumStep(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqli } } -func sumInverse(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122623:13: */ +func sumInverse(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122636:13: */ var p uintptr var type1 int32 @@ -103835,7 +103854,7 @@ func sumInverse(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* s } } -func sumFinalize(tls *libc.TLS, context uintptr) { /* sqlite3.c:122648:13: */ +func sumFinalize(tls *libc.TLS, context uintptr) { /* sqlite3.c:122661:13: */ var p uintptr p = Xsqlite3_aggregate_context(tls, context, 0) if p != 0 && (*SumCtx)(unsafe.Pointer(p)).Fcnt > int64(0) { @@ -103849,7 +103868,7 @@ func sumFinalize(tls *libc.TLS, context uintptr) { /* sqlite3.c:122648:13: */ } } -func avgFinalize(tls *libc.TLS, context uintptr) { /* sqlite3.c:122661:13: */ +func avgFinalize(tls *libc.TLS, context uintptr) { /* sqlite3.c:122674:13: */ var p uintptr p = Xsqlite3_aggregate_context(tls, context, 0) if p != 0 && (*SumCtx)(unsafe.Pointer(p)).Fcnt > int64(0) { @@ -103857,7 +103876,7 @@ func avgFinalize(tls *libc.TLS, context uintptr) { /* sqlite3.c:122661:13: */ } } -func totalFinalize(tls *libc.TLS, context uintptr) { /* sqlite3.c:122668:13: */ +func totalFinalize(tls *libc.TLS, context uintptr) { /* sqlite3.c:122681:13: */ var p uintptr p = Xsqlite3_aggregate_context(tls, context, 0) // (double)0 In case of SQLITE_OMIT_FLOATING_POINT... @@ -103871,14 +103890,14 @@ func totalFinalize(tls *libc.TLS, context uintptr) { /* sqlite3.c:122668:13: */ // The following structure keeps track of state information for the // count() aggregate function. -type CountCtx1 = struct{ Fn I64 } /* sqlite3.c:122679:9 */ +type CountCtx1 = struct{ Fn I64 } /* sqlite3.c:122692:9 */ // The following structure keeps track of state information for the // count() aggregate function. -type CountCtx = CountCtx1 /* sqlite3.c:122679:25 */ +type CountCtx = CountCtx1 /* sqlite3.c:122692:25 */ // Routines to implement the count() aggregate function. -func countStep(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122690:13: */ +func countStep(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122703:13: */ var p uintptr p = Xsqlite3_aggregate_context(tls, context, int32(unsafe.Sizeof(CountCtx{}))) if (argc == 0 || SQLITE_NULL != Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(argv)))) && p != 0 { @@ -103892,7 +103911,7 @@ func countStep(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sq } -func countFinalize(tls *libc.TLS, context uintptr) { /* sqlite3.c:122706:13: */ +func countFinalize(tls *libc.TLS, context uintptr) { /* sqlite3.c:122719:13: */ var p uintptr p = Xsqlite3_aggregate_context(tls, context, 0) Xsqlite3_result_int64(tls, context, func() int64 { @@ -103903,7 +103922,7 @@ func countFinalize(tls *libc.TLS, context uintptr) { /* sqlite3.c:122706:13: */ }()) } -func countInverse(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:122712:13: */ +func countInverse(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:122725:13: */ var p uintptr p = Xsqlite3_aggregate_context(tls, ctx, int32(unsafe.Sizeof(CountCtx{}))) // p is always non-NULL since countStep() will have been called first @@ -103913,7 +103932,7 @@ func countInverse(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sql } // Routines to implement min() and max() aggregate functions. -func minmaxStep(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { /* sqlite3.c:122730:13: */ +func minmaxStep(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { /* sqlite3.c:122743:13: */ var pArg uintptr = *(*uintptr)(unsafe.Pointer(argv)) var pBest uintptr _ = NotUsed @@ -103951,7 +103970,7 @@ func minmaxStep(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { / } } -func minMaxValueFinalize(tls *libc.TLS, context uintptr, bValue int32) { /* sqlite3.c:122768:13: */ +func minMaxValueFinalize(tls *libc.TLS, context uintptr, bValue int32) { /* sqlite3.c:122781:13: */ var pRes uintptr pRes = Xsqlite3_aggregate_context(tls, context, 0) if pRes != 0 { @@ -103964,11 +103983,11 @@ func minMaxValueFinalize(tls *libc.TLS, context uintptr, bValue int32) { /* sqli } } -func minMaxValue(tls *libc.TLS, context uintptr) { /* sqlite3.c:122779:13: */ +func minMaxValue(tls *libc.TLS, context uintptr) { /* sqlite3.c:122792:13: */ minMaxValueFinalize(tls, context, 1) } -func minMaxFinalize(tls *libc.TLS, context uintptr) { /* sqlite3.c:122785:13: */ +func minMaxFinalize(tls *libc.TLS, context uintptr) { /* sqlite3.c:122798:13: */ minMaxValueFinalize(tls, context, 0) } @@ -103984,9 +104003,9 @@ type GroupConcatCtx = struct { FnAccum int32 FnFirstSepLength int32 FpnSepLengths uintptr -} /* sqlite3.c:122810:3 */ +} /* sqlite3.c:122823:3 */ -func groupConcatStep(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122812:13: */ +func groupConcatStep(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122825:13: */ var zVal uintptr var pGCC uintptr var zSep uintptr @@ -104051,7 +104070,7 @@ func groupConcatStep(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { } } -func groupConcatInverse(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122883:13: */ +func groupConcatInverse(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122896:13: */ var pGCC uintptr _ = argc // Suppress unused parameter warning @@ -104093,7 +104112,7 @@ func groupConcatInverse(tls *libc.TLS, context uintptr, argc int32, argv uintptr } } -func groupConcatFinalize(tls *libc.TLS, context uintptr) { /* sqlite3.c:122929:13: */ +func groupConcatFinalize(tls *libc.TLS, context uintptr) { /* sqlite3.c:122942:13: */ var pGCC uintptr = Xsqlite3_aggregate_context(tls, context, 0) if pGCC != 0 { Xsqlite3ResultStrAccum(tls, context, pGCC) @@ -104101,7 +104120,7 @@ func groupConcatFinalize(tls *libc.TLS, context uintptr) { /* sqlite3.c:122929:1 } } -func groupConcatValue(tls *libc.TLS, context uintptr) { /* sqlite3.c:122940:13: */ +func groupConcatValue(tls *libc.TLS, context uintptr) { /* sqlite3.c:122953:13: */ var pGCC uintptr = Xsqlite3_aggregate_context(tls, context, 0) if pGCC != 0 { var pAccum uintptr = pGCC @@ -104119,7 +104138,7 @@ func groupConcatValue(tls *libc.TLS, context uintptr) { /* sqlite3.c:122940:13: // This routine does per-connection function registration. Most // of the built-in functions above are part of the global function set. // This routine only deals with those that are not global. -func Xsqlite3RegisterPerConnectionBuiltinFunctions(tls *libc.TLS, db uintptr) { /* sqlite3.c:122964:21: */ +func Xsqlite3RegisterPerConnectionBuiltinFunctions(tls *libc.TLS, db uintptr) { /* sqlite3.c:122977:21: */ var rc int32 = Xsqlite3_overload_function(tls, db, ts+14856, 2) if rc == SQLITE_NOMEM { @@ -104130,7 +104149,7 @@ func Xsqlite3RegisterPerConnectionBuiltinFunctions(tls *libc.TLS, db uintptr) { // Re-register the built-in LIKE functions. The caseSensitive // parameter determines whether or not the LIKE operator is case // sensitive. -func Xsqlite3RegisterLikeFunctions(tls *libc.TLS, db uintptr, caseSensitive int32) { /* sqlite3.c:122977:21: */ +func Xsqlite3RegisterLikeFunctions(tls *libc.TLS, db uintptr, caseSensitive int32) { /* sqlite3.c:122990:21: */ var pInfo uintptr var flags int32 if caseSensitive != 0 { @@ -104165,7 +104184,7 @@ func Xsqlite3RegisterLikeFunctions(tls *libc.TLS, db uintptr, caseSensitive int3 // the function (default for LIKE). If the function makes the distinction // between uppercase and lowercase (as does GLOB) then *pIsNocase is set to // false. -func Xsqlite3IsLikeFunction(tls *libc.TLS, db uintptr, pExpr uintptr, pIsNocase uintptr, aWc uintptr) int32 { /* sqlite3.c:123010:20: */ +func Xsqlite3IsLikeFunction(tls *libc.TLS, db uintptr, pExpr uintptr, pIsNocase uintptr, aWc uintptr) int32 { /* sqlite3.c:123023:20: */ var pDef uintptr var nExpr int32 @@ -104221,7 +104240,7 @@ func Xsqlite3IsLikeFunction(tls *libc.TLS, db uintptr, pExpr uintptr, pIsNocase // // The sqlite3_user_data() pointer is a pointer to the libm implementation // of the underlying C function. -func ceilingFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:123081:13: */ +func ceilingFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:123094:13: */ switch Xsqlite3_value_numeric_type(tls, *(*uintptr)(unsafe.Pointer(argv))) { case SQLITE_INTEGER: @@ -104250,11 +104269,11 @@ func ceilingFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* // On some systems, ceil() and floor() are intrinsic function. You are // unable to take a pointer to these functions. Hence, we here wrap them // in our own actual functions. -func xCeil(tls *libc.TLS, x float64) float64 { /* sqlite3.c:123108:15: */ +func xCeil(tls *libc.TLS, x float64) float64 { /* sqlite3.c:123121:15: */ return libc.Xceil(tls, x) } -func xFloor(tls *libc.TLS, x float64) float64 { /* sqlite3.c:123109:15: */ +func xFloor(tls *libc.TLS, x float64) float64 { /* sqlite3.c:123122:15: */ return libc.Xfloor(tls, x) } @@ -104264,7 +104283,7 @@ func xFloor(tls *libc.TLS, x float64) float64 { /* sqlite3.c:123109:15: */ // log(X) - log X base 10 // log10(X) - log X base 10 // log(B,X) - log X base B -func logFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:123119:13: */ +func logFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:123132:13: */ var x float64 var b float64 var ans float64 @@ -104321,18 +104340,18 @@ func logFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqli } // Functions to converts degrees to radians and radians to degrees. -func degToRad(tls *libc.TLS, x float64) float64 { /* sqlite3.c:123169:15: */ +func degToRad(tls *libc.TLS, x float64) float64 { /* sqlite3.c:123182:15: */ return x * (float64(3.14159265358979323846) / 180.0) } -func radToDeg(tls *libc.TLS, x float64) float64 { /* sqlite3.c:123170:15: */ +func radToDeg(tls *libc.TLS, x float64) float64 { /* sqlite3.c:123183:15: */ return x * (float64(180.0) / 3.14159265358979323846) } // Implementation of 1-argument SQL math functions: // // exp(X) - Compute e to the X-th power -func math1Func(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:123177:13: */ +func math1Func(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:123190:13: */ var type0 int32 var v0 float64 var ans float64 @@ -104353,7 +104372,7 @@ func math1Func(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sq // Implementation of 2-argument SQL math functions: // // power(X,Y) - Compute X to the Y-th power -func math2Func(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:123199:13: */ +func math2Func(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:123212:13: */ var type0 int32 var type1 int32 var v0 float64 @@ -104379,13 +104398,13 @@ func math2Func(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sq } // Implementation of 0-argument pi() function. -func piFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:123222:13: */ +func piFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:123235:13: */ Xsqlite3_result_double(tls, context, 3.14159265358979323846) } // Implementation of sign(X) function. -func signFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:123236:13: */ +func signFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:123249:13: */ var type0 int32 var x float64 _ = argc @@ -104413,7 +104432,7 @@ func signFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sql // a consequence of calling sqlite3_initialize()). // // After this routine runs -func Xsqlite3RegisterBuiltinFunctions(tls *libc.TLS) { /* sqlite3.c:123258:21: */ +func Xsqlite3RegisterBuiltinFunctions(tls *libc.TLS) { /* sqlite3.c:123271:21: */ Xsqlite3AlterFunctions(tls) Xsqlite3WindowFunctions(tls) Xsqlite3RegisterDateTimeFunctions(tls) @@ -104526,7 +104545,7 @@ var aBuiltinFunc = [101]FuncDef{ {FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_FUNC_CONSTANT | SQLITE_UTF8 | 0*SQLITE_FUNC_NEEDCOLL), FxSFunc: 0, FzName: ts + 15498}, {FnArg: int8(1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_FUNC_CONSTANT | SQLITE_UTF8 | 0*SQLITE_FUNC_NEEDCOLL), FxSFunc: 0, FzName: ts + 15501}, {FnArg: int8(-1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_UTF8 | SQLITE_FUNC_INLINE | SQLITE_FUNC_CONSTANT | 0), FxSFunc: 0, FzName: ts + 15341}, - {FnArg: int8(3), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_UTF8 | SQLITE_FUNC_INLINE | SQLITE_FUNC_CONSTANT | 0), FpUserData: uintptr(int64(INLINEFUNC_iif)), FxSFunc: 0, FzName: ts + 15506}} /* sqlite3.c:123269:18 */ + {FnArg: int8(3), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_UTF8 | SQLITE_FUNC_INLINE | SQLITE_FUNC_CONSTANT | 0), FpUserData: uintptr(int64(INLINEFUNC_iif)), FxSFunc: 0, FzName: ts + 15506}} /* sqlite3.c:123282:18 */ //************* End of func.c *********************************************** //************* Begin file fkey.c ******************************************* @@ -104701,7 +104720,7 @@ var aBuiltinFunc = [101]FuncDef{ // then non-zero is returned, and a "foreign key mismatch" error loaded // into pParse. If an OOM error occurs, non-zero is returned and the // pParse->db->mallocFailed flag is set. -func Xsqlite3FkLocateIndex(tls *libc.TLS, pParse uintptr, pParent uintptr, pFKey uintptr, ppIdx uintptr, paiCol uintptr) int32 { /* sqlite3.c:123622:20: */ +func Xsqlite3FkLocateIndex(tls *libc.TLS, pParse uintptr, pParent uintptr, pFKey uintptr, ppIdx uintptr, paiCol uintptr) int32 { /* sqlite3.c:123635:20: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -104847,7 +104866,7 @@ func Xsqlite3FkLocateIndex(tls *libc.TLS, pParse uintptr, pParent uintptr, pFKey // // These operations are identified in the comment at the top of this file // (fkey.c) as "I.1" and "D.1". -func fkLookupParent(tls *libc.TLS, pParse uintptr, iDb int32, pTab uintptr, pIdx uintptr, pFKey uintptr, aiCol uintptr, regData int32, nIncr int32, isIgnore int32) { /* sqlite3.c:123759:13: */ +func fkLookupParent(tls *libc.TLS, pParse uintptr, iDb int32, pTab uintptr, pIdx uintptr, pFKey uintptr, aiCol uintptr, regData int32, nIncr int32, isIgnore int32) { /* sqlite3.c:123772:13: */ var i int32 // Iterator variable var v uintptr = Xsqlite3GetVdbe(tls, pParse) // Vdbe to add code to var iCur int32 = (*Parse)(unsafe.Pointer(pParse)).FnTab - 1 // Cursor number to use @@ -104977,7 +104996,7 @@ func fkLookupParent(tls *libc.TLS, pParse uintptr, iDb int32, pTab uintptr, pIdx // regBase is the first of an array of register that contains the data // for pTab. regBase itself holds the rowid. regBase+1 holds the first // column. regBase+2 holds the second column, and so forth. -func exprTableRegister(tls *libc.TLS, pParse uintptr, pTab uintptr, regBase int32, iCol I16) uintptr { /* sqlite3.c:123912:13: */ +func exprTableRegister(tls *libc.TLS, pParse uintptr, pTab uintptr, regBase int32, iCol I16) uintptr { /* sqlite3.c:123925:13: */ var pExpr uintptr var pCol uintptr var zColl uintptr @@ -105004,7 +105023,7 @@ func exprTableRegister(tls *libc.TLS, pParse uintptr, pTab uintptr, regBase int3 // Return an Expr object that refers to column iCol of table pTab which // has cursor iCur. -func exprTableColumn(tls *libc.TLS, db uintptr, pTab uintptr, iCursor int32, iCol I16) uintptr { /* sqlite3.c:123944:13: */ +func exprTableColumn(tls *libc.TLS, db uintptr, pTab uintptr, iCursor int32, iCol I16) uintptr { /* sqlite3.c:123957:13: */ var pExpr uintptr = Xsqlite3Expr(tls, db, TK_COLUMN, uintptr(0)) if pExpr != 0 { @@ -105045,7 +105064,7 @@ func exprTableColumn(tls *libc.TLS, db uintptr, pTab uintptr, iCursor int32, iCo // // These operations are identified in the comment at the top of this file // (fkey.c) as "I.2" and "D.2". -func fkScanChildren(tls *libc.TLS, pParse uintptr, pSrc uintptr, pTab uintptr, pIdx uintptr, pFKey uintptr, aiCol uintptr, regData int32, nIncr int32) { /* sqlite3.c:123992:13: */ +func fkScanChildren(tls *libc.TLS, pParse uintptr, pSrc uintptr, pTab uintptr, pIdx uintptr, pFKey uintptr, aiCol uintptr, regData int32, nIncr int32) { /* sqlite3.c:124005:13: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -105169,7 +105188,7 @@ func fkScanChildren(tls *libc.TLS, pParse uintptr, pSrc uintptr, pTab uintptr, p // "t2". Calling this function with "t2" as the argument would return a // NULL pointer (as there are no FK constraints for which t2 is the parent // table). -func Xsqlite3FkReferences(tls *libc.TLS, pTab uintptr) uintptr { /* sqlite3.c:124121:21: */ +func Xsqlite3FkReferences(tls *libc.TLS, pTab uintptr) uintptr { /* sqlite3.c:124134:21: */ return Xsqlite3HashFind(tls, (*Table)(unsafe.Pointer(pTab)).FpSchema+80, (*Table)(unsafe.Pointer(pTab)).FzName) } @@ -105179,7 +105198,7 @@ func Xsqlite3FkReferences(tls *libc.TLS, pTab uintptr) uintptr { /* sqlite3.c:12 // // The Trigger structure or any of its sub-components may be allocated from // the lookaside buffer belonging to database handle dbMem. -func fkTriggerDelete(tls *libc.TLS, dbMem uintptr, p uintptr) { /* sqlite3.c:124133:13: */ +func fkTriggerDelete(tls *libc.TLS, dbMem uintptr, p uintptr) { /* sqlite3.c:124146:13: */ if p != 0 { var pStep uintptr = (*Trigger)(unsafe.Pointer(p)).Fstep_list Xsqlite3ExprDelete(tls, dbMem, (*TriggerStep)(unsafe.Pointer(pStep)).FpWhere) @@ -105193,7 +105212,7 @@ func fkTriggerDelete(tls *libc.TLS, dbMem uintptr, p uintptr) { /* sqlite3.c:124 // Clear the apTrigger[] cache of CASCADE triggers for all foreign keys // in a particular database. This needs to happen when the schema // changes. -func Xsqlite3FkClearTriggerCache(tls *libc.TLS, db uintptr, iDb int32) { /* sqlite3.c:124149:21: */ +func Xsqlite3FkClearTriggerCache(tls *libc.TLS, db uintptr, iDb int32) { /* sqlite3.c:124162:21: */ var k uintptr var pHash uintptr = (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(iDb)*32)).FpSchema + 8 for k = (*Hash)(unsafe.Pointer(pHash)).Ffirst; k != 0; k = (*HashElem)(unsafe.Pointer(k)).Fnext { @@ -105226,7 +105245,7 @@ func Xsqlite3FkClearTriggerCache(tls *libc.TLS, db uintptr, iDb int32) { /* sqli // then the equivalent of "DELETE FROM " is executed before dropping // the table from the database. Triggers are disabled while running this // DELETE, but foreign key actions are not. -func Xsqlite3FkDropTable(tls *libc.TLS, pParse uintptr, pName uintptr, pTab uintptr) { /* sqlite3.c:124180:21: */ +func Xsqlite3FkDropTable(tls *libc.TLS, pParse uintptr, pName uintptr, pTab uintptr) { /* sqlite3.c:124193:21: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb if (*Sqlite3)(unsafe.Pointer(db)).Fflags&uint64(SQLITE_ForeignKeys) != 0 && int32((*Table)(unsafe.Pointer(pTab)).FeTabType) == TABTYP_NORM { var iSkip int32 = 0 @@ -105289,7 +105308,7 @@ func Xsqlite3FkDropTable(tls *libc.TLS, pParse uintptr, pName uintptr, pTab uint // // This function returns true if any of the columns that are part of the // child key for FK constraint *p are modified. -func fkChildIsModified(tls *libc.TLS, pTab uintptr, p uintptr, aChange uintptr, bChngRowid int32) int32 { /* sqlite3.c:124243:12: */ +func fkChildIsModified(tls *libc.TLS, pTab uintptr, p uintptr, aChange uintptr, bChngRowid int32) int32 { /* sqlite3.c:124256:12: */ var i int32 for i = 0; i < (*FKey)(unsafe.Pointer(p)).FnCol; i++ { var iChildKey int32 = (*sColMap)(unsafe.Pointer(p + 64 + uintptr(i)*16)).FiFrom @@ -105313,7 +105332,7 @@ func fkChildIsModified(tls *libc.TLS, pTab uintptr, p uintptr, aChange uintptr, // // This function returns true if any of the columns that are part of the // parent key for FK constraint *p are modified. -func fkParentIsModified(tls *libc.TLS, pTab uintptr, p uintptr, aChange uintptr, bChngRowid int32) int32 { /* sqlite3.c:124270:12: */ +func fkParentIsModified(tls *libc.TLS, pTab uintptr, p uintptr, aChange uintptr, bChngRowid int32) int32 { /* sqlite3.c:124283:12: */ var i int32 for i = 0; i < (*FKey)(unsafe.Pointer(p)).FnCol; i++ { var zKey uintptr = (*sColMap)(unsafe.Pointer(p + 64 + uintptr(i)*16)).FzCol @@ -105337,7 +105356,7 @@ func fkParentIsModified(tls *libc.TLS, pTab uintptr, p uintptr, aChange uintptr, // Return true if the parser passed as the first argument is being // used to code a trigger that is really a "SET NULL" action belonging // to trigger pFKey. -func isSetNullAction(tls *libc.TLS, pParse uintptr, pFKey uintptr) int32 { /* sqlite3.c:124299:12: */ +func isSetNullAction(tls *libc.TLS, pParse uintptr, pFKey uintptr) int32 { /* sqlite3.c:124312:12: */ var pTop uintptr = func() uintptr { if (*Parse)(unsafe.Pointer(pParse)).FpToplevel != 0 { return (*Parse)(unsafe.Pointer(pParse)).FpToplevel @@ -105372,7 +105391,7 @@ func isSetNullAction(tls *libc.TLS, pParse uintptr, pFKey uintptr) int32 { /* sq // the original record is deleted from the table using the calling convention // described for DELETE. Then again after the original record is deleted // but before the new record is inserted using the INSERT convention. -func Xsqlite3FkCheck(tls *libc.TLS, pParse uintptr, pTab uintptr, regOld int32, regNew int32, aChange uintptr, bChngRowid int32) { /* sqlite3.c:124332:21: */ +func Xsqlite3FkCheck(tls *libc.TLS, pParse uintptr, pTab uintptr, regOld int32, regNew int32, aChange uintptr, bChngRowid int32) { /* sqlite3.c:124345:21: */ bp := tls.Alloc(40) defer tls.Free(40) @@ -105574,7 +105593,7 @@ func Xsqlite3FkCheck(tls *libc.TLS, pParse uintptr, pTab uintptr, regOld int32, // This function is called before generating code to update or delete a // row contained in table pTab. -func Xsqlite3FkOldmask(tls *libc.TLS, pParse uintptr, pTab uintptr) U32 { /* sqlite3.c:124535:20: */ +func Xsqlite3FkOldmask(tls *libc.TLS, pParse uintptr, pTab uintptr) U32 { /* sqlite3.c:124548:20: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -105633,7 +105652,7 @@ func Xsqlite3FkOldmask(tls *libc.TLS, pParse uintptr, pTab uintptr) U32 { /* sql // not "NO ACTION" (i.e. is CASCADE, SET DEFAULT or SET NULL). // // Or, assuming some other foreign key processing is required, 1. -func Xsqlite3FkRequired(tls *libc.TLS, pParse uintptr, pTab uintptr, aChange uintptr, chngRowid int32) int32 { /* sqlite3.c:124585:20: */ +func Xsqlite3FkRequired(tls *libc.TLS, pParse uintptr, pTab uintptr, aChange uintptr, chngRowid int32) int32 { /* sqlite3.c:124598:20: */ var eRet int32 = 1 // Value to return if bHaveFK is true var bHaveFK int32 = 0 // If FK processing is required if (*Sqlite3)(unsafe.Pointer((*Parse)(unsafe.Pointer(pParse)).Fdb)).Fflags&uint64(SQLITE_ForeignKeys) != 0 && int32((*Table)(unsafe.Pointer(pTab)).FeTabType) == TABTYP_NORM { @@ -105701,7 +105720,7 @@ func Xsqlite3FkRequired(tls *libc.TLS, pParse uintptr, pTab uintptr, aChange uin // The returned pointer is cached as part of the foreign key object. It // is eventually freed along with the rest of the foreign key object by // sqlite3FkDelete(). -func fkActionTrigger(tls *libc.TLS, pParse uintptr, pTab uintptr, pFKey uintptr, pChanges uintptr) uintptr { /* sqlite3.c:124653:16: */ +func fkActionTrigger(tls *libc.TLS, pParse uintptr, pTab uintptr, pFKey uintptr, pChanges uintptr) uintptr { /* sqlite3.c:124666:16: */ bp := tls.Alloc(96) defer tls.Free(96) @@ -105903,7 +105922,7 @@ func fkActionTrigger(tls *libc.TLS, pParse uintptr, pTab uintptr, pFKey uintptr, // This function is called when deleting or updating a row to implement // any required CASCADE, SET NULL or SET DEFAULT actions. -func Xsqlite3FkActions(tls *libc.TLS, pParse uintptr, pTab uintptr, pChanges uintptr, regOld int32, aChange uintptr, bChngRowid int32) { /* sqlite3.c:124845:21: */ +func Xsqlite3FkActions(tls *libc.TLS, pParse uintptr, pTab uintptr, pChanges uintptr, regOld int32, aChange uintptr, bChngRowid int32) { /* sqlite3.c:124858:21: */ // If foreign-key support is enabled, iterate through all FKs that // refer to table pTab. If there is an action associated with the FK // for this operation (either update or delete), invoke the associated @@ -105924,7 +105943,7 @@ func Xsqlite3FkActions(tls *libc.TLS, pParse uintptr, pTab uintptr, pChanges uin // Free all memory associated with foreign key definitions attached to // table pTab. Remove the deleted foreign keys from the Schema.fkeyHash // hash table. -func Xsqlite3FkDelete(tls *libc.TLS, db uintptr, pTab uintptr) { /* sqlite3.c:124877:21: */ +func Xsqlite3FkDelete(tls *libc.TLS, db uintptr, pTab uintptr) { /* sqlite3.c:124890:21: */ var pFKey uintptr // Iterator variable var pNext uintptr // Copy of pFKey->pNextFrom @@ -105984,7 +106003,7 @@ func Xsqlite3FkDelete(tls *libc.TLS, db uintptr, pTab uintptr) { /* sqlite3.c:12 // // If pTab is a WITHOUT ROWID table, then it is the PRIMARY KEY index // for that table that is actually opened. -func Xsqlite3OpenTable(tls *libc.TLS, pParse uintptr, iCur int32, iDb int32, pTab uintptr, opcode int32) { /* sqlite3.c:124943:21: */ +func Xsqlite3OpenTable(tls *libc.TLS, pParse uintptr, iCur int32, iDb int32, pTab uintptr, opcode int32) { /* sqlite3.c:124956:21: */ var v uintptr v = (*Parse)(unsafe.Pointer(pParse)).FpVdbe @@ -106026,7 +106045,7 @@ func Xsqlite3OpenTable(tls *libc.TLS, pParse uintptr, iCur int32, iDb int32, pTa // Memory for the buffer containing the column index affinity string // is managed along with the rest of the Index structure. It will be // released when sqlite3DeleteIndex() is called. -func Xsqlite3IndexAffinityStr(tls *libc.TLS, db uintptr, pIdx uintptr) uintptr { /* sqlite3.c:124990:27: */ +func Xsqlite3IndexAffinityStr(tls *libc.TLS, db uintptr, pIdx uintptr) uintptr { /* sqlite3.c:125003:27: */ if !(int32((*Index)(unsafe.Pointer(pIdx)).FzColAff) != 0) { // The first time a column affinity string for a particular index is // required, it is allocated and populated here. It is then stored as @@ -106105,7 +106124,7 @@ func Xsqlite3IndexAffinityStr(tls *libc.TLS, db uintptr, pIdx uintptr) uintptr { // register set as the OP_MakeRecord. If iReg>0 then register iReg is // the first of a series of registers that will form the new record. // Apply the type checking to that array of registers. -func Xsqlite3TableAffinity(tls *libc.TLS, v uintptr, pTab uintptr, iReg int32) { /* sqlite3.c:125069:21: */ +func Xsqlite3TableAffinity(tls *libc.TLS, v uintptr, pTab uintptr, iReg int32) { /* sqlite3.c:125082:21: */ var i int32 var j int32 var zColAff uintptr @@ -106163,7 +106182,7 @@ func Xsqlite3TableAffinity(tls *libc.TLS, v uintptr, pTab uintptr, iReg int32) { // have been opened at any point in the VDBE program. This is used to see if // a statement of the form "INSERT INTO SELECT ..." can // run without using a temporary table for the results of the SELECT. -func readsTable(tls *libc.TLS, p uintptr, iDb int32, pTab uintptr) int32 { /* sqlite3.c:125130:12: */ +func readsTable(tls *libc.TLS, p uintptr, iDb int32, pTab uintptr) int32 { /* sqlite3.c:125143:12: */ var v uintptr = Xsqlite3GetVdbe(tls, p) var i int32 var iEnd int32 = Xsqlite3VdbeCurrentAddr(tls, v) @@ -106199,7 +106218,7 @@ func readsTable(tls *libc.TLS, p uintptr, iDb int32, pTab uintptr) int32 { /* sq // This walker callback will compute the union of colFlags flags for all // referenced columns in a CHECK constraint or generated column expression. -func exprColumnFlagUnion(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:125167:12: */ +func exprColumnFlagUnion(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:125180:12: */ if int32((*Expr)(unsafe.Pointer(pExpr)).Fop) == TK_COLUMN && int32((*Expr)(unsafe.Pointer(pExpr)).FiColumn) >= 0 { *(*U16)(unsafe.Pointer(pWalker + 36)) |= U16(int32((*Column)(unsafe.Pointer((*Table1)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pWalker + 40)))).FaCol + uintptr((*Expr)(unsafe.Pointer(pExpr)).FiColumn)*24)).FcolFlags)) @@ -106212,7 +106231,7 @@ func exprColumnFlagUnion(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { // or VIRTUAL columns have not yet been initialized. This routine goes // back and computes the values for those columns based on the previously // computed normal columns. -func Xsqlite3ComputeGeneratedColumns(tls *libc.TLS, pParse uintptr, iRegStore int32, pTab uintptr) { /* sqlite3.c:125183:21: */ +func Xsqlite3ComputeGeneratedColumns(tls *libc.TLS, pParse uintptr, iRegStore int32, pTab uintptr) { /* sqlite3.c:125196:21: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -106325,7 +106344,7 @@ func Xsqlite3ComputeGeneratedColumns(tls *libc.TLS, pParse uintptr, iRegStore in // // The 2nd register is the one that is returned. That is all the // insert routine needs to know about. -func autoIncBegin(tls *libc.TLS, pParse uintptr, iDb int32, pTab uintptr) int32 { /* sqlite3.c:125307:12: */ +func autoIncBegin(tls *libc.TLS, pParse uintptr, iDb int32, pTab uintptr) int32 { /* sqlite3.c:125320:12: */ var memId int32 = 0 // Register holding maximum rowid if (*Table)(unsafe.Pointer(pTab)).FtabFlags&U32(TF_Autoincrement) != U32(0) && @@ -106379,7 +106398,7 @@ func autoIncBegin(tls *libc.TLS, pParse uintptr, iDb int32, pTab uintptr) int32 // This routine generates code that will initialize all of the // register used by the autoincrement tracker. -func Xsqlite3AutoincrementBegin(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:125358:21: */ +func Xsqlite3AutoincrementBegin(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:125371:21: */ var p uintptr // Information about an AUTOINCREMENT var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb // The database connection var pDb uintptr // Database only autoinc table @@ -106419,7 +106438,7 @@ func Xsqlite3AutoincrementBegin(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:12 } } -var iLn1 int32 = 0 /* sqlite3.c:125372:22 */ +var iLn1 int32 = 0 /* sqlite3.c:125385:22 */ var autoInc = [12]VdbeOpList{ /* 0 */ {Fopcode: U8(OP_Null)}, /* 1 */ {Fopcode: U8(OP_Rewind), Fp2: int8(10)}, @@ -106433,7 +106452,7 @@ var autoInc = [12]VdbeOpList{ /* 9 */ {Fopcode: U8(OP_Next), Fp2: int8(2)}, /* 10 */ {Fopcode: U8(OP_Integer)}, /* 11 */ {Fopcode: U8(OP_Close)}, -} /* sqlite3.c:125373:29 */ +} /* sqlite3.c:125386:29 */ // Update the maximum rowid for an autoincrement calculation. // @@ -106441,7 +106460,7 @@ var autoInc = [12]VdbeOpList{ // new rowid that is about to be inserted. If that new rowid is // larger than the maximum rowid in the memId memory cell, then the // memory cell is updated. -func autoIncStep(tls *libc.TLS, pParse uintptr, memId int32, regRowid int32) { /* sqlite3.c:125419:13: */ +func autoIncStep(tls *libc.TLS, pParse uintptr, memId int32, regRowid int32) { /* sqlite3.c:125432:13: */ if memId > 0 { Xsqlite3VdbeAddOp2(tls, (*Parse)(unsafe.Pointer(pParse)).FpVdbe, OP_MemMax, memId, regRowid) } @@ -106452,7 +106471,7 @@ func autoIncStep(tls *libc.TLS, pParse uintptr, memId int32, regRowid int32) { / // Every statement that might do an INSERT into an autoincrement // table (either directly or through triggers) needs to call this // routine just before the "exit" code. -func autoIncrementEnd(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:125432:29: */ +func autoIncrementEnd(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:125445:29: */ var p uintptr var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb @@ -106483,16 +106502,16 @@ func autoIncrementEnd(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:125432:29: * } } -var iLn2 int32 = 0 /* sqlite3.c:125439:22 */ +var iLn2 int32 = 0 /* sqlite3.c:125452:22 */ var autoIncEnd = [5]VdbeOpList{ /* 0 */ {Fopcode: U8(OP_NotNull), Fp2: int8(2)}, /* 1 */ {Fopcode: U8(OP_NewRowid)}, /* 2 */ {Fopcode: U8(OP_MakeRecord), Fp2: int8(2)}, /* 3 */ {Fopcode: U8(OP_Insert)}, /* 4 */ {Fopcode: U8(OP_Close)}, -} /* sqlite3.c:125440:29 */ +} /* sqlite3.c:125453:29 */ -func Xsqlite3AutoincrementEnd(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:125469:21: */ +func Xsqlite3AutoincrementEnd(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:125482:21: */ if (*Parse)(unsafe.Pointer(pParse)).FpAinc != 0 { autoIncrementEnd(tls, pParse) } @@ -106593,7 +106612,7 @@ func Xsqlite3AutoincrementEnd(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:1254 // transfer values form intermediate table into
// end loop // D: cleanup -func Xsqlite3Insert(tls *libc.TLS, pParse uintptr, pTabList uintptr, pSelect uintptr, pColumn uintptr, onError int32, pUpsert uintptr) { /* sqlite3.c:125588:21: */ +func Xsqlite3Insert(tls *libc.TLS, pParse uintptr, pTabList uintptr, pSelect uintptr, pColumn uintptr, onError int32, pUpsert uintptr) { /* sqlite3.c:125601:21: */ bp := tls.Alloc(188) defer tls.Free(188) @@ -107647,7 +107666,7 @@ insert_cleanup: // Set bit 0x01 of pWalker->eCode if pWalker->eCode to 0 and if this // expression node references any of the // columns that are being modifed by an UPDATE statement. -func checkConstraintExprNode(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:126347:12: */ +func checkConstraintExprNode(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:126360:12: */ if int32((*Expr)(unsafe.Pointer(pExpr)).Fop) == TK_COLUMN { if int32((*Expr)(unsafe.Pointer(pExpr)).FiColumn) >= 0 { @@ -107674,7 +107693,7 @@ func checkConstraintExprNode(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int3 // The operation of this routine is the same - return true if an only if // the expression uses one or more of columns identified by the second and // third arguments. -func Xsqlite3ExprReferencesUpdatedColumn(tls *libc.TLS, pExpr uintptr, aiChng uintptr, chngRowid int32) int32 { /* sqlite3.c:126376:20: */ +func Xsqlite3ExprReferencesUpdatedColumn(tls *libc.TLS, pExpr uintptr, aiChng uintptr, chngRowid int32) int32 { /* sqlite3.c:126389:20: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -107708,7 +107727,7 @@ type IndexListTerm1 = struct { Fp uintptr Fix int32 F__ccgo_pad1 [4]byte -} /* sqlite3.c:126409:9 */ +} /* sqlite3.c:126422:9 */ // The sqlite3GenerateConstraintChecks() routine usually wants to visit // the indexes of a table in the order provided in the Table->pIndex list. @@ -107719,7 +107738,7 @@ type IndexListTerm1 = struct { // The IndexIterator object is used to walk through all of the indexes // of a table in either Index.pNext order, or in some other order established // by an array of IndexListTerm objects. -type IndexListTerm = IndexListTerm1 /* sqlite3.c:126409:30 */ +type IndexListTerm = IndexListTerm1 /* sqlite3.c:126422:30 */ type IndexIterator1 = struct { FeType int32 Fi int32 @@ -107727,12 +107746,12 @@ type IndexIterator1 = struct { Flx struct{ FpIdx uintptr } F__ccgo_pad1 [8]byte } -} /* sqlite3.c:126410:9 */ +} /* sqlite3.c:126423:9 */ -type IndexIterator = IndexIterator1 /* sqlite3.c:126410:30 */ +type IndexIterator = IndexIterator1 /* sqlite3.c:126423:30 */ // Return the first index on the list -func indexIteratorFirst(tls *libc.TLS, pIter uintptr, pIx uintptr) uintptr { /* sqlite3.c:126434:14: */ +func indexIteratorFirst(tls *libc.TLS, pIter uintptr, pIx uintptr) uintptr { /* sqlite3.c:126447:14: */ if (*IndexIterator)(unsafe.Pointer(pIter)).FeType != 0 { *(*int32)(unsafe.Pointer(pIx)) = (*IndexListTerm)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pIter + 8 + 8 /* &.aIdx */)))).Fix @@ -107745,7 +107764,7 @@ func indexIteratorFirst(tls *libc.TLS, pIter uintptr, pIx uintptr) uintptr { /* } // Return the next index from the list. Return NULL when out of indexes -func indexIteratorNext(tls *libc.TLS, pIter uintptr, pIx uintptr) uintptr { /* sqlite3.c:126446:14: */ +func indexIteratorNext(tls *libc.TLS, pIter uintptr, pIx uintptr) uintptr { /* sqlite3.c:126459:14: */ if (*IndexIterator)(unsafe.Pointer(pIter)).FeType != 0 { var i int32 = libc.PreIncInt32(&(*IndexIterator)(unsafe.Pointer(pIter)).Fi, 1) if i >= *(*int32)(unsafe.Pointer(pIter + 8)) { @@ -107851,7 +107870,7 @@ func indexIteratorNext(tls *libc.TLS, pIter uintptr, pIx uintptr) uintptr { /* s // Or if overrideError==OE_Default, then the pParse->onError parameter // is used. Or if pParse->onError==OE_Default then the onError value // for the constraint is used. -func Xsqlite3GenerateConstraintChecks(tls *libc.TLS, pParse uintptr, pTab uintptr, aRegIdx uintptr, iDataCur int32, iIdxCur int32, regNewData int32, regOldData int32, pkChng U8, overrideError U8, ignoreDest int32, pbMayReplace uintptr, aiChng uintptr, pUpsert uintptr) { /* sqlite3.c:126553:21: */ +func Xsqlite3GenerateConstraintChecks(tls *libc.TLS, pParse uintptr, pTab uintptr, aRegIdx uintptr, iDataCur int32, iIdxCur int32, regNewData int32, regOldData int32, pkChng U8, overrideError U8, ignoreDest int32, pbMayReplace uintptr, aiChng uintptr, pUpsert uintptr) { /* sqlite3.c:126566:21: */ bp := tls.Alloc(72) defer tls.Free(72) @@ -108710,7 +108729,7 @@ func Xsqlite3GenerateConstraintChecks(tls *libc.TLS, pParse uintptr, pTab uintpt // number is iCur, and register regData contains the new record for the // PK index. This function adds code to invoke the pre-update hook, // if one is registered. -func codeWithoutRowidPreupdate(tls *libc.TLS, pParse uintptr, pTab uintptr, iCur int32, regData int32) { /* sqlite3.c:127411:13: */ +func codeWithoutRowidPreupdate(tls *libc.TLS, pParse uintptr, pTab uintptr, iCur int32, regData int32) { /* sqlite3.c:127424:13: */ var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe var r int32 = Xsqlite3GetTempReg(tls, pParse) @@ -108727,7 +108746,7 @@ func codeWithoutRowidPreupdate(tls *libc.TLS, pParse uintptr, pTab uintptr, iCur // // The arguments to this routine should be the same as the first six // arguments to sqlite3GenerateConstraintChecks. -func Xsqlite3CompleteInsertion(tls *libc.TLS, pParse uintptr, pTab uintptr, iDataCur int32, iIdxCur int32, regNewData int32, aRegIdx uintptr, update_flags int32, appendBias int32, useSeekResult int32) { /* sqlite3.c:127439:21: */ +func Xsqlite3CompleteInsertion(tls *libc.TLS, pParse uintptr, pTab uintptr, iDataCur int32, iIdxCur int32, regNewData int32, aRegIdx uintptr, update_flags int32, appendBias int32, useSeekResult int32) { /* sqlite3.c:127452:21: */ var v uintptr // Prepared statements under construction var pIdx uintptr // An index being inserted or updated var pik_flags U8 // flag values passed to the btree insert @@ -108830,7 +108849,7 @@ __3: // // If pTab is a virtual table, then this routine is a no-op and the // *piDataCur and *piIdxCur values are left uninitialized. -func Xsqlite3OpenTableAndIndices(tls *libc.TLS, pParse uintptr, pTab uintptr, op int32, p5 U8, iBase int32, aToOpen uintptr, piDataCur uintptr, piIdxCur uintptr) int32 { /* sqlite3.c:127527:20: */ +func Xsqlite3OpenTableAndIndices(tls *libc.TLS, pParse uintptr, pTab uintptr, op int32, p5 U8, iBase int32, aToOpen uintptr, piDataCur uintptr, piIdxCur uintptr) int32 { /* sqlite3.c:127540:20: */ var i int32 var iDb int32 var iDataCur int32 @@ -108908,7 +108927,7 @@ __3: // * The same onError processing (OE_Abort, OE_Ignore, etc) // * The same collating sequence on each column // * The index has the exact same WHERE clause -func xferCompatibleIndex(tls *libc.TLS, pDest uintptr, pSrc uintptr) int32 { /* sqlite3.c:127606:12: */ +func xferCompatibleIndex(tls *libc.TLS, pDest uintptr, pSrc uintptr) int32 { /* sqlite3.c:127619:12: */ var i int32 if int32((*Index)(unsafe.Pointer(pDest)).FnKeyCol) != int32((*Index)(unsafe.Pointer(pSrc)).FnKeyCol) || int32((*Index)(unsafe.Pointer(pDest)).FnColumn) != int32((*Index)(unsafe.Pointer(pSrc)).FnColumn) { @@ -108966,7 +108985,7 @@ func xferCompatibleIndex(tls *libc.TLS, pDest uintptr, pSrc uintptr) int32 { /* // is no chance that the xfer optimization can be applied. // // This optimization is particularly useful at making VACUUM run faster. -func xferOptimization(tls *libc.TLS, pParse uintptr, pDest uintptr, pSelect uintptr, onError int32, iDbDest int32) int32 { /* sqlite3.c:127667:12: */ +func xferOptimization(tls *libc.TLS, pParse uintptr, pDest uintptr, pSelect uintptr, onError int32, iDbDest int32) int32 { /* sqlite3.c:127680:12: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb var pEList uintptr // The result set of the SELECT var pSrc uintptr // The table in the FROM clause of SELECT @@ -109346,7 +109365,7 @@ func xferOptimization(tls *libc.TLS, pParse uintptr, pDest uintptr, pSelect uint // the xCallback() function is called. pArg becomes the first // 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 Sqlite3_callback, pArg uintptr, pzErrMsg uintptr) int32 { /* sqlite3.c:128078:16: */ +func Xsqlite3_exec(tls *libc.TLS, db uintptr, zSql uintptr, xCallback Sqlite3_callback, pArg uintptr, pzErrMsg uintptr) int32 { /* sqlite3.c:128091:16: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -109367,7 +109386,7 @@ func Xsqlite3_exec(tls *libc.TLS, db uintptr, zSql uintptr, xCallback Sqlite3_ca if !!(Xsqlite3SafetyCheckOk(tls, db) != 0) { goto __1 } - return Xsqlite3MisuseError(tls, 128091) + return Xsqlite3MisuseError(tls, 128104) __1: ; if !(zSql == uintptr(0)) { @@ -109556,7 +109575,7 @@ __26: // This is the function signature used for all extension entry points. It // is also defined in the file "loadext.c". -type Sqlite3_loadext_entry = uintptr /* sqlite3.c:128572:13 */ +type Sqlite3_loadext_entry = uintptr /* sqlite3.c:128585:13 */ // The following macros redefine the API routines so that they are // redirected through the global sqlite3_api structure. @@ -109890,7 +109909,7 @@ var sqlite3Apis = Sqlite3_api_routines{ Fvtab_in: 0, Fvtab_in_first: 0, Fvtab_in_next: 0, -} /* sqlite3.c:129018:35 */ +} /* sqlite3.c:129031:35 */ // True if x is the directory separator character @@ -109904,7 +109923,7 @@ var sqlite3Apis = Sqlite3_api_routines{ // If an error occurs and pzErrMsg is not 0, then fill *pzErrMsg with // error message text. The calling function should free this memory // by calling sqlite3DbFree(db, ). -func sqlite3LoadExtension(tls *libc.TLS, db uintptr, zFile uintptr, zProc uintptr, pzErrMsg uintptr) int32 { /* sqlite3.c:129402:12: */ +func sqlite3LoadExtension(tls *libc.TLS, db uintptr, zFile uintptr, zProc uintptr, pzErrMsg uintptr) int32 { /* sqlite3.c:129415:12: */ bp := tls.Alloc(64) defer tls.Free(64) @@ -110158,9 +110177,9 @@ __28: var azEndings = [1]uintptr{ ts + 15940, -} /* sqlite3.c:129420:21 */ +} /* sqlite3.c:129433:21 */ -func Xsqlite3_load_extension(tls *libc.TLS, db uintptr, zFile uintptr, zProc uintptr, pzErrMsg uintptr) int32 { /* sqlite3.c:129553:16: */ +func Xsqlite3_load_extension(tls *libc.TLS, db uintptr, zFile uintptr, zProc uintptr, pzErrMsg uintptr) int32 { /* sqlite3.c:129566:16: */ var rc int32 Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) rc = sqlite3LoadExtension(tls, db, zFile, zProc, pzErrMsg) @@ -110171,7 +110190,7 @@ func Xsqlite3_load_extension(tls *libc.TLS, db uintptr, zFile uintptr, zProc uin // Call this routine when the database connection is closing in order // to clean up loaded extensions -func Xsqlite3CloseExtensions(tls *libc.TLS, db uintptr) { /* sqlite3.c:129571:21: */ +func Xsqlite3CloseExtensions(tls *libc.TLS, db uintptr) { /* sqlite3.c:129584:21: */ var i int32 for i = 0; i < (*Sqlite3)(unsafe.Pointer(db)).FnExtension; i++ { @@ -110182,7 +110201,7 @@ func Xsqlite3CloseExtensions(tls *libc.TLS, db uintptr) { /* sqlite3.c:129571:21 // Enable or disable extension loading. Extension loading is disabled by // default so as not to open security holes in older applications. -func Xsqlite3_enable_load_extension(tls *libc.TLS, db uintptr, onoff int32) int32 { /* sqlite3.c:129584:16: */ +func Xsqlite3_enable_load_extension(tls *libc.TLS, db uintptr, onoff int32) int32 { /* sqlite3.c:129597:16: */ Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) if onoff != 0 { *(*U64)(unsafe.Pointer(db + 48)) |= uint64(SQLITE_LoadExtension | SQLITE_LoadExtFunc) @@ -110202,15 +110221,15 @@ type sqlite3AutoExtList = struct { FnExt U32 F__ccgo_pad1 [4]byte FaExt uintptr -} /* sqlite3.c:129604:9 */ +} /* sqlite3.c:129617:9 */ // The following object holds the list of automatically loaded // extensions. // // This list is shared across threads. The SQLITE_MUTEX_STATIC_MAIN // mutex must be held while accessing this list. -type Sqlite3AutoExtList = sqlite3AutoExtList /* sqlite3.c:129604:35 */ -var sqlite3Autoext = sqlite3AutoExtList{} /* sqlite3.c:129608:3 */ +type Sqlite3AutoExtList = sqlite3AutoExtList /* sqlite3.c:129617:35 */ +var sqlite3Autoext = sqlite3AutoExtList{} /* sqlite3.c:129621:3 */ // The "wsdAutoext" macro will resolve to the autoextension // state vector. If writable static data is unsupported on the target, @@ -110220,7 +110239,7 @@ var sqlite3Autoext = sqlite3AutoExtList{} /* sqlite3.c:129608:3 */ // Register a statically linked extension that is automatically // loaded by every new database connection. -func Xsqlite3_auto_extension(tls *libc.TLS, xInit uintptr) int32 { /* sqlite3.c:129630:16: */ +func Xsqlite3_auto_extension(tls *libc.TLS, xInit uintptr) int32 { /* sqlite3.c:129643:16: */ var rc int32 = SQLITE_OK rc = Xsqlite3_initialize(tls) if rc != 0 { @@ -110261,7 +110280,7 @@ func Xsqlite3_auto_extension(tls *libc.TLS, xInit uintptr) int32 { /* sqlite3.c: // // 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) int32 { /* sqlite3.c:129677:16: */ +func Xsqlite3_cancel_auto_extension(tls *libc.TLS, xInit uintptr) int32 { /* sqlite3.c:129690:16: */ var mutex uintptr = Xsqlite3MutexAlloc(tls, SQLITE_MUTEX_STATIC_MAIN) var i int32 var n int32 = 0 @@ -110280,7 +110299,7 @@ func Xsqlite3_cancel_auto_extension(tls *libc.TLS, xInit uintptr) int32 { /* sql } // Reset the automatic extension loading mechanism. -func Xsqlite3_reset_auto_extension(tls *libc.TLS) { /* sqlite3.c:129702:17: */ +func Xsqlite3_reset_auto_extension(tls *libc.TLS) { /* sqlite3.c:129715:17: */ if Xsqlite3_initialize(tls) == SQLITE_OK { var mutex uintptr = Xsqlite3MutexAlloc(tls, SQLITE_MUTEX_STATIC_MAIN) @@ -110295,7 +110314,7 @@ func Xsqlite3_reset_auto_extension(tls *libc.TLS) { /* sqlite3.c:129702:17: */ // Load all automatic extensions. // // If anything goes wrong, set an error in the database connection. -func Xsqlite3AutoLoadExtensions(tls *libc.TLS, db uintptr) { /* sqlite3.c:129724:21: */ +func Xsqlite3AutoLoadExtensions(tls *libc.TLS, db uintptr) { /* sqlite3.c:129737:21: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -110432,7 +110451,7 @@ var pragCName = [57]uintptr{ ts + 16215, ts + 16226, -} /* sqlite3.c:129865:19 */ +} /* sqlite3.c:129878:19 */ // Definitions of all built-in pragmas type PragmaName1 = struct { @@ -110443,10 +110462,10 @@ type PragmaName1 = struct { FnPragCName U8 F__ccgo_pad1 [4]byte FiArg U64 -} /* sqlite3.c:129930:9 */ +} /* sqlite3.c:129943:9 */ // Definitions of all built-in pragmas -type PragmaName = PragmaName1 /* sqlite3.c:129937:3 */ +type PragmaName = PragmaName1 /* sqlite3.c:129950:3 */ var aPragmaName = [66]PragmaName{ { /* zName: */ FzName: ts + 16234, /* ePragTyp: */ FePragTyp: U8(PragTyp_ANALYSIS_LIMIT), @@ -110683,7 +110702,7 @@ var aPragmaName = [66]PragmaName{ /* ePragTyp: */ FePragTyp: U8(PragTyp_FLAG), /* ePragFlg: */ FmPragFlg: U8(PragFlg_Result0 | PragFlg_NoColumns1), /* iArg: */ FiArg: uint64(SQLITE_WriteSchema | SQLITE_NoSchemaError)}, -} /* sqlite3.c:129938:25 */ +} /* sqlite3.c:129951:25 */ // Number of pragmas: 68 on by default, 78 total. @@ -110699,7 +110718,7 @@ var aPragmaName = [66]PragmaName{ // should be passed into sqlite3BtreeSetSafetyLevel(). The is done // to support legacy SQL code. The safety level used to be boolean // and older scripts may have used numbers 0 for OFF and 1 for ON. -func getSafetyLevel(tls *libc.TLS, z uintptr, omitFull int32, dflt U8) U8 { /* sqlite3.c:130472:11: */ +func getSafetyLevel(tls *libc.TLS, z uintptr, omitFull int32, dflt U8) U8 { /* sqlite3.c:130485:11: */ // on no off false yes true extra full var i int32 var n int32 @@ -110716,13 +110735,13 @@ func getSafetyLevel(tls *libc.TLS, z uintptr, omitFull int32, dflt U8) U8 { /* s return dflt } -var zText = *(*[25]uint8)(unsafe.Pointer(ts + 17201)) /* sqlite3.c:130474:21 */ -var iOffset = [8]U8{U8(0), U8(1), U8(2), U8(4), U8(9), U8(12), U8(15), U8(20)} /* sqlite3.c:130475:19 */ -var iLength = [8]U8{U8(2), U8(2), U8(3), U8(5), U8(3), U8(4), U8(5), U8(4)} /* sqlite3.c:130476:19 */ -var iValue = [8]U8{U8(1), U8(0), U8(0), U8(0), U8(1), U8(1), U8(3), U8(2)} /* sqlite3.c:130477:19 */ +var zText = *(*[25]uint8)(unsafe.Pointer(ts + 17201)) /* sqlite3.c:130487:21 */ +var iOffset = [8]U8{U8(0), U8(1), U8(2), U8(4), U8(9), U8(12), U8(15), U8(20)} /* sqlite3.c:130488:19 */ +var iLength = [8]U8{U8(2), U8(2), U8(3), U8(5), U8(3), U8(4), U8(5), U8(4)} /* sqlite3.c:130489:19 */ +var iValue = [8]U8{U8(1), U8(0), U8(0), U8(0), U8(1), U8(1), U8(3), U8(2)} /* sqlite3.c:130490:19 */ // Interpret the given string as a boolean value. -func Xsqlite3GetBoolean(tls *libc.TLS, z uintptr, dflt U8) U8 { /* sqlite3.c:130497:19: */ +func Xsqlite3GetBoolean(tls *libc.TLS, z uintptr, dflt U8) U8 { /* sqlite3.c:130510:19: */ return U8(libc.Bool32(int32(getSafetyLevel(tls, z, 1, dflt)) != 0)) } @@ -110731,7 +110750,7 @@ func Xsqlite3GetBoolean(tls *libc.TLS, z uintptr, dflt U8) U8 { /* sqlite3.c:130 // the rest of the file if PRAGMAs are omitted from the build. // Interpret the given string as a locking mode value. -func getLockingMode(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:130510:12: */ +func getLockingMode(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:130523:12: */ if z != 0 { if 0 == Xsqlite3StrICmp(tls, z, ts+17226) { return PAGER_LOCKINGMODE_EXCLUSIVE @@ -110747,7 +110766,7 @@ func getLockingMode(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:130510:12: */ // // The following strings, "none", "full" and "incremental" are // acceptable, as are their numeric equivalents: 0, 1 and 2 respectively. -func getAutoVacuum(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:130525:12: */ +func getAutoVacuum(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:130538:12: */ var i int32 if 0 == Xsqlite3StrICmp(tls, z, ts+7896) { return BTREE_AUTOVACUUM_NONE @@ -110770,7 +110789,7 @@ func getAutoVacuum(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:130525:12: */ // Interpret the given string as a temp db location. Return 1 for file // backed temporary databases, 2 for the Red-Black tree in memory database // and 0 to use the compile-time default. -func getTempStore(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:130541:12: */ +func getTempStore(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:130554:12: */ if int32(*(*uint8)(unsafe.Pointer(z))) >= '0' && int32(*(*uint8)(unsafe.Pointer(z))) <= '2' { return int32(*(*uint8)(unsafe.Pointer(z))) - '0' } else if Xsqlite3StrICmp(tls, z, ts+16176) == 0 { @@ -110785,7 +110804,7 @@ func getTempStore(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:130541:12: */ // Invalidate temp storage, either when the temp storage is changed // from default, or when 'file' and the temp_store_directory has changed -func invalidateTempStorage(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:130559:12: */ +func invalidateTempStorage(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:130572:12: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb if (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+1*32)).FpBt != uintptr(0) { if !(int32((*Sqlite3)(unsafe.Pointer(db)).FautoCommit) != 0) || @@ -110804,7 +110823,7 @@ func invalidateTempStorage(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:1 // If the TEMP database is open, close it and mark the database schema // as needing reloading. This must be done when using the SQLITE_TEMP_STORE // or DEFAULT_TEMP_STORE pragmas. -func changeTempStorage(tls *libc.TLS, pParse uintptr, zStorageType uintptr) int32 { /* sqlite3.c:130583:12: */ +func changeTempStorage(tls *libc.TLS, pParse uintptr, zStorageType uintptr) int32 { /* sqlite3.c:130596:12: */ var ts int32 = getTempStore(tls, zStorageType) var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb if int32((*Sqlite3)(unsafe.Pointer(db)).Ftemp_store) == ts { @@ -110818,7 +110837,7 @@ func changeTempStorage(tls *libc.TLS, pParse uintptr, zStorageType uintptr) int3 } // Set result column names for a pragma. -func setPragmaResultColumnNames(tls *libc.TLS, v uintptr, pPragma uintptr) { /* sqlite3.c:130598:13: */ +func setPragmaResultColumnNames(tls *libc.TLS, v uintptr, pPragma uintptr) { /* sqlite3.c:130611:13: */ var n U8 = (*PragmaName)(unsafe.Pointer(pPragma)).FnPragCName Xsqlite3VdbeSetNumCols(tls, v, func() int32 { if int32(n) == 0 { @@ -110852,7 +110871,7 @@ func setPragmaResultColumnNames(tls *libc.TLS, v uintptr, pPragma uintptr) { /* } // Generate code to return a single integer value. -func returnSingleInt(tls *libc.TLS, v uintptr, value I64) { /* sqlite3.c:130617:13: */ +func returnSingleInt(tls *libc.TLS, v uintptr, value I64) { /* sqlite3.c:130630:13: */ bp := tls.Alloc(8) defer tls.Free(8) *(*I64)(unsafe.Pointer(bp)) = value @@ -110862,7 +110881,7 @@ func returnSingleInt(tls *libc.TLS, v uintptr, value I64) { /* sqlite3.c:130617: } // Generate code to return a single text value. -func returnSingleText(tls *libc.TLS, v uintptr, zValue uintptr) { /* sqlite3.c:130625:13: */ +func returnSingleText(tls *libc.TLS, v uintptr, zValue uintptr) { /* sqlite3.c:130638:13: */ if zValue != 0 { Xsqlite3VdbeLoadString(tls, v, 1, zValue) Xsqlite3VdbeAddOp2(tls, v, OP_ResultRow, 1, 1) @@ -110871,7 +110890,7 @@ func returnSingleText(tls *libc.TLS, v uintptr, zValue uintptr) { /* sqlite3.c:1 // Set the safety_level and pager flags for pager iDb. Or if iDb<0 // set these values for all pagers. -func setAllPagerFlags(tls *libc.TLS, db uintptr) { /* sqlite3.c:130641:13: */ +func setAllPagerFlags(tls *libc.TLS, db uintptr) { /* sqlite3.c:130654:13: */ if (*Sqlite3)(unsafe.Pointer(db)).FautoCommit != 0 { var pDb uintptr = (*Sqlite3)(unsafe.Pointer(db)).FaDb var n int32 = (*Sqlite3)(unsafe.Pointer(db)).FnDb @@ -110887,7 +110906,7 @@ func setAllPagerFlags(tls *libc.TLS, db uintptr) { /* sqlite3.c:130641:13: */ } // Return a human-readable name for a constraint resolution action. -func actionName(tls *libc.TLS, action U8) uintptr { /* sqlite3.c:130669:19: */ +func actionName(tls *libc.TLS, action U8) uintptr { /* sqlite3.c:130682:19: */ var zName uintptr switch int32(action) { case OE_SetNull: @@ -110912,7 +110931,7 @@ func actionName(tls *libc.TLS, action U8) uintptr { /* sqlite3.c:130669:19: */ // Parameter eMode must be one of the PAGER_JOURNALMODE_XXX constants // defined in pager.h. This function returns the associated lowercase // journal-mode name. -func Xsqlite3JournalModename(tls *libc.TLS, eMode int32) uintptr { /* sqlite3.c:130689:27: */ +func Xsqlite3JournalModename(tls *libc.TLS, eMode int32) uintptr { /* sqlite3.c:130702:27: */ if eMode == int32(uint64(unsafe.Sizeof(azModeName))/uint64(unsafe.Sizeof(uintptr(0)))) { return uintptr(0) @@ -110922,10 +110941,10 @@ func Xsqlite3JournalModename(tls *libc.TLS, eMode int32) uintptr { /* sqlite3.c: var azModeName = [6]uintptr{ ts + 17377, ts + 17384, ts + 17392, ts + 17396, ts + 17260, ts + 17405, -} /* sqlite3.c:130690:15 */ +} /* sqlite3.c:130703:15 */ // Locate a pragma in the aPragmaName[] array. -func pragmaLocate(tls *libc.TLS, zName uintptr) uintptr { /* sqlite3.c:130711:25: */ +func pragmaLocate(tls *libc.TLS, zName uintptr) uintptr { /* sqlite3.c:130724:25: */ var upr int32 var lwr int32 var mid int32 = 0 @@ -110952,7 +110971,7 @@ func pragmaLocate(tls *libc.TLS, zName uintptr) uintptr { /* sqlite3.c:130711:25 // Create zero or more entries in the output for the SQL functions // defined by FuncDef p. -func pragmaFunclistLine(tls *libc.TLS, v uintptr, p uintptr, isBuiltin int32, showInternFuncs int32) { /* sqlite3.c:130732:13: */ +func pragmaFunclistLine(tls *libc.TLS, v uintptr, p uintptr, isBuiltin int32, showInternFuncs int32) { /* sqlite3.c:130745:13: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -110981,15 +111000,15 @@ func pragmaFunclistLine(tls *libc.TLS, v uintptr, p uintptr, isBuiltin int32, sh } } -var mask U32 = U32(SQLITE_DETERMINISTIC | SQLITE_DIRECTONLY | SQLITE_SUBTYPE | SQLITE_INNOCUOUS | SQLITE_FUNC_INTERNAL) /* sqlite3.c:130740:22 */ -var azEnc = [4]uintptr{uintptr(0), ts + 17420, ts + 17425, ts + 17433 /* "utf16be" */} /* sqlite3.c:130747:23 */ +var mask U32 = U32(SQLITE_DETERMINISTIC | SQLITE_DIRECTONLY | SQLITE_SUBTYPE | SQLITE_INNOCUOUS | SQLITE_FUNC_INTERNAL) /* sqlite3.c:130753:22 */ +var azEnc = [4]uintptr{uintptr(0), ts + 17420, ts + 17425, ts + 17433 /* "utf16be" */} /* sqlite3.c:130760:23 */ // Helper subroutine for PRAGMA integrity_check: // // Generate code to output a single-column result row with a value of the // string held in register 3. Decrement the result count in register 1 // and halt if the maximum number of result rows have been issued. -func integrityCheckResultRow(tls *libc.TLS, v uintptr) int32 { /* sqlite3.c:130784:12: */ +func integrityCheckResultRow(tls *libc.TLS, v uintptr) int32 { /* sqlite3.c:130797:12: */ var addr int32 Xsqlite3VdbeAddOp2(tls, v, OP_ResultRow, 3, 1) addr = Xsqlite3VdbeAddOp3(tls, v, OP_IfPos, 1, Xsqlite3VdbeCurrentAddr(tls, v)+2, 1) @@ -111011,7 +111030,7 @@ func integrityCheckResultRow(tls *libc.TLS, v uintptr) int32 { /* sqlite3.c:1307 // If the left side is "database.id" then pId1 is the database name // and pId2 is the id. If the left side is just "id" then pId1 is the // id and pId2 is any empty string. -func Xsqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, pValue uintptr, minusFlag int32) { /* sqlite3.c:130808:21: */ +func Xsqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, pValue uintptr, minusFlag int32) { /* sqlite3.c:130821:21: */ bp := tls.Alloc(616) defer tls.Free(616) @@ -114399,9 +114418,9 @@ type EncName = struct { FzName uintptr Fenc U8 F__ccgo_pad1 [7]byte -} /* sqlite3.c:132383:18 */ +} /* sqlite3.c:132396:18 */ -var iLn3 int32 = 0 /* sqlite3.c:130937:22 */ +var iLn3 int32 = 0 /* sqlite3.c:130950:22 */ var getCacheSize = [9]VdbeOpList{ {Fopcode: U8(OP_Transaction)}, // 0 {Fopcode: U8(OP_ReadCookie), Fp2: int8(1), Fp3: int8(BTREE_DEFAULT_CACHE_SIZE)}, // 1 @@ -114412,16 +114431,16 @@ var getCacheSize = [9]VdbeOpList{ {Fopcode: U8(OP_Integer), Fp2: int8(1)}, // 6 {Fopcode: U8(OP_Noop)}, {Fopcode: U8(OP_ResultRow), Fp1: int8(1), Fp2: int8(1)}, -} /* sqlite3.c:130938:29 */ -var iLn4 int32 = 0 /* sqlite3.c:131206:26 */ +} /* sqlite3.c:130951:29 */ +var iLn4 int32 = 0 /* sqlite3.c:131219:26 */ var setMeta6 = [5]VdbeOpList{ {Fopcode: U8(OP_Transaction), Fp2: int8(1)}, // 0 {Fopcode: U8(OP_ReadCookie), Fp2: int8(1), Fp3: int8(BTREE_LARGEST_ROOT_PAGE)}, {Fopcode: U8(OP_If), Fp1: int8(1)}, // 2 {Fopcode: U8(OP_Halt), Fp2: int8(OE_Abort)}, // 3 {Fopcode: U8(OP_SetCookie), Fp2: int8(BTREE_INCR_VACUUM)}, // 4 -} /* sqlite3.c:131207:33 */ -var iLn5 int32 = 0 /* sqlite3.c:132333:24 */ +} /* sqlite3.c:131220:33 */ +var iLn5 int32 = 0 /* sqlite3.c:132346:24 */ var endCode = [7]VdbeOpList{ {Fopcode: U8(OP_AddImm), Fp1: int8(1)}, // 0 {Fopcode: U8(OP_IfNotZero), Fp1: int8(1), Fp2: int8(4)}, // 1 @@ -114430,7 +114449,7 @@ var endCode = [7]VdbeOpList{ {Fopcode: U8(OP_Halt)}, // 4 {Fopcode: U8(OP_String8), Fp2: int8(3)}, // 5 {Fopcode: U8(OP_Goto), Fp2: int8(3)}, // 6 -} /* sqlite3.c:132334:31 */ +} /* sqlite3.c:132347:31 */ var encnames1 = [9]EncName{ {FzName: ts + 17856, Fenc: U8(SQLITE_UTF8)}, {FzName: ts + 17861, Fenc: U8(SQLITE_UTF8)}, // Must be element [1] @@ -114441,16 +114460,16 @@ var encnames1 = [9]EncName{ {FzName: ts + 17901}, {FzName: ts + 17908}, {}, -} /* sqlite3.c:132386:7 */ +} /* sqlite3.c:132399:7 */ var setCookie = [2]VdbeOpList{ {Fopcode: U8(OP_Transaction), Fp2: int8(1)}, // 0 {Fopcode: U8(OP_SetCookie)}, // 1 -} /* sqlite3.c:132466:31 */ +} /* sqlite3.c:132479:31 */ var readCookie = [3]VdbeOpList{ {Fopcode: U8(OP_Transaction)}, // 0 {Fopcode: U8(OP_ReadCookie), Fp2: int8(1)}, // 1 {Fopcode: U8(OP_ResultRow), Fp1: int8(1), Fp2: int8(1)}, -} /* sqlite3.c:132481:31 */ +} /* sqlite3.c:132494:31 */ // **************************************************************************** // // Implementation of an eponymous virtual table that runs a pragma. @@ -114462,24 +114481,24 @@ type PragmaVtab1 = struct { FnHidden U8 FiHidden U8 F__ccgo_pad1 [6]byte -} /* sqlite3.c:132841:9 */ +} /* sqlite3.c:132854:9 */ // **************************************************************************** // // Implementation of an eponymous virtual table that runs a pragma. // -type PragmaVtab = PragmaVtab1 /* sqlite3.c:132841:27 */ +type PragmaVtab = PragmaVtab1 /* sqlite3.c:132854:27 */ type PragmaVtabCursor1 = struct { Fbase Sqlite3_vtab_cursor FpPragma uintptr FiRowid Sqlite_int64 FazArg [2]uintptr -} /* sqlite3.c:132842:9 */ +} /* sqlite3.c:132855:9 */ -type PragmaVtabCursor = PragmaVtabCursor1 /* sqlite3.c:132842:33 */ +type PragmaVtabCursor = PragmaVtabCursor1 /* sqlite3.c:132855:33 */ // Pragma virtual table module xConnect method. -func pragmaVtabConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 { /* sqlite3.c:132860:12: */ +func pragmaVtabConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 { /* sqlite3.c:132873:12: */ bp := tls.Alloc(264) defer tls.Free(264) @@ -114553,7 +114572,7 @@ __3: } // Pragma virtual table module xDisconnect method. -func pragmaVtabDisconnect(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:132922:12: */ +func pragmaVtabDisconnect(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:132935:12: */ var pTab uintptr = pVtab Xsqlite3_free(tls, pTab) return SQLITE_OK @@ -114565,7 +114584,7 @@ func pragmaVtabDisconnect(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:132 // query planner to give == constraints on as many hidden parameters as // possible, and especially on the first hidden parameter. So return a // high cost if hidden parameters are unconstrained. -func pragmaVtabBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 { /* sqlite3.c:132935:12: */ +func pragmaVtabBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 { /* sqlite3.c:132948:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -114630,7 +114649,7 @@ __3: } // Create a new cursor for the pragma virtual table -func pragmaVtabOpen(tls *libc.TLS, pVtab uintptr, ppCursor uintptr) int32 { /* sqlite3.c:132972:12: */ +func pragmaVtabOpen(tls *libc.TLS, pVtab uintptr, ppCursor uintptr) int32 { /* sqlite3.c:132985:12: */ var pCsr uintptr pCsr = Xsqlite3_malloc(tls, int32(unsafe.Sizeof(PragmaVtabCursor{}))) if pCsr == uintptr(0) { @@ -114643,7 +114662,7 @@ func pragmaVtabOpen(tls *libc.TLS, pVtab uintptr, ppCursor uintptr) int32 { /* s } // Clear all content from pragma virtual table cursor. -func pragmaVtabCursorClear(tls *libc.TLS, pCsr uintptr) { /* sqlite3.c:132983:13: */ +func pragmaVtabCursorClear(tls *libc.TLS, pCsr uintptr) { /* sqlite3.c:132996:13: */ var i int32 Xsqlite3_finalize(tls, (*PragmaVtabCursor)(unsafe.Pointer(pCsr)).FpPragma) (*PragmaVtabCursor)(unsafe.Pointer(pCsr)).FpPragma = uintptr(0) @@ -114654,7 +114673,7 @@ func pragmaVtabCursorClear(tls *libc.TLS, pCsr uintptr) { /* sqlite3.c:132983:13 } // Close a pragma virtual table cursor -func pragmaVtabClose(tls *libc.TLS, cur uintptr) int32 { /* sqlite3.c:132994:12: */ +func pragmaVtabClose(tls *libc.TLS, cur uintptr) int32 { /* sqlite3.c:133007:12: */ var pCsr uintptr = cur pragmaVtabCursorClear(tls, pCsr) Xsqlite3_free(tls, pCsr) @@ -114662,7 +114681,7 @@ func pragmaVtabClose(tls *libc.TLS, cur uintptr) int32 { /* sqlite3.c:132994:12: } // Advance the pragma virtual table cursor to the next row -func pragmaVtabNext(tls *libc.TLS, pVtabCursor uintptr) int32 { /* sqlite3.c:133002:12: */ +func pragmaVtabNext(tls *libc.TLS, pVtabCursor uintptr) int32 { /* sqlite3.c:133015:12: */ var pCsr uintptr = pVtabCursor var rc int32 = SQLITE_OK @@ -114678,7 +114697,7 @@ func pragmaVtabNext(tls *libc.TLS, pVtabCursor uintptr) int32 { /* sqlite3.c:133 } // Pragma virtual table module xFilter method. -func pragmaVtabFilter(tls *libc.TLS, pVtabCursor uintptr, idxNum int32, idxStr uintptr, argc int32, argv uintptr) int32 { /* sqlite3.c:133020:12: */ +func pragmaVtabFilter(tls *libc.TLS, pVtabCursor uintptr, idxNum int32, idxStr uintptr, argc int32, argv uintptr) int32 { /* sqlite3.c:133033:12: */ bp := tls.Alloc(64) defer tls.Free(64) @@ -114746,14 +114765,14 @@ __3: } // Pragma virtual table module xEof method. -func pragmaVtabEof(tls *libc.TLS, pVtabCursor uintptr) int32 { /* sqlite3.c:133070:12: */ +func pragmaVtabEof(tls *libc.TLS, pVtabCursor uintptr) int32 { /* sqlite3.c:133083:12: */ var pCsr uintptr = pVtabCursor return libc.Bool32((*PragmaVtabCursor)(unsafe.Pointer(pCsr)).FpPragma == uintptr(0)) } // The xColumn method simply returns the corresponding column from // the PRAGMA. -func pragmaVtabColumn(tls *libc.TLS, pVtabCursor uintptr, ctx uintptr, i int32) int32 { /* sqlite3.c:133078:12: */ +func pragmaVtabColumn(tls *libc.TLS, pVtabCursor uintptr, ctx uintptr, i int32) int32 { /* sqlite3.c:133091:12: */ var pCsr uintptr = pVtabCursor var pTab uintptr = (*Sqlite3_vtab_cursor)(unsafe.Pointer(pVtabCursor)).FpVtab if i < int32((*PragmaVtab)(unsafe.Pointer(pTab)).FiHidden) { @@ -114765,7 +114784,7 @@ func pragmaVtabColumn(tls *libc.TLS, pVtabCursor uintptr, ctx uintptr, i int32) } // Pragma virtual table module xRowid method. -func pragmaVtabRowid(tls *libc.TLS, pVtabCursor uintptr, p uintptr) int32 { /* sqlite3.c:133096:12: */ +func pragmaVtabRowid(tls *libc.TLS, pVtabCursor uintptr, p uintptr) int32 { /* sqlite3.c:133109:12: */ var pCsr uintptr = pVtabCursor *(*Sqlite_int64)(unsafe.Pointer(p)) = (*PragmaVtabCursor)(unsafe.Pointer(pCsr)).FiRowid return SQLITE_OK @@ -114783,12 +114802,12 @@ var pragmaVtabModule = Sqlite3_module{ // xCreate - create a table FxEof: 0, // xEof FxColumn: 0, // xColumn - read data FxRowid: 0, // xShadowName -} /* sqlite3.c:133103:29 */ +} /* sqlite3.c:133116:29 */ // Check to see if zTabName is really the name of a pragma. If it is, // then register an eponymous virtual table for that pragma and return // a pointer to the Module object for the new virtual table. -func Xsqlite3PragmaVtabRegister(tls *libc.TLS, db uintptr, zName uintptr) uintptr { /* sqlite3.c:133135:23: */ +func Xsqlite3PragmaVtabRegister(tls *libc.TLS, db uintptr, zName uintptr) uintptr { /* sqlite3.c:133148:23: */ var pName uintptr pName = pragmaLocate(tls, zName+uintptr(7)) @@ -114821,7 +114840,7 @@ func Xsqlite3PragmaVtabRegister(tls *libc.TLS, db uintptr, zName uintptr) uintpt // Fill the InitData structure with an error message that indicates // that the database is corrupt. -func corruptSchema(tls *libc.TLS, pData uintptr, azObj uintptr, zExtra uintptr) { /* sqlite3.c:133172:13: */ +func corruptSchema(tls *libc.TLS, pData uintptr, azObj uintptr, zExtra uintptr) { /* sqlite3.c:133185:13: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -114837,7 +114856,7 @@ func corruptSchema(tls *libc.TLS, pData uintptr, azObj uintptr, zExtra uintptr) zExtra)) (*InitData)(unsafe.Pointer(pData)).Frc = SQLITE_ERROR } else if (*Sqlite3)(unsafe.Pointer(db)).Fflags&uint64(SQLITE_WriteSchema) != 0 { - (*InitData)(unsafe.Pointer(pData)).Frc = Xsqlite3CorruptError(tls, 133195) + (*InitData)(unsafe.Pointer(pData)).Frc = Xsqlite3CorruptError(tls, 133208) } else { var z uintptr var zObj uintptr @@ -114851,7 +114870,7 @@ func corruptSchema(tls *libc.TLS, pData uintptr, azObj uintptr, zExtra uintptr) z = Xsqlite3MPrintf(tls, db, ts+18044, libc.VaList(bp+40, z, zExtra)) } *(*uintptr)(unsafe.Pointer((*InitData)(unsafe.Pointer(pData)).FpzErrMsg)) = z - (*InitData)(unsafe.Pointer(pData)).Frc = Xsqlite3CorruptError(tls, 133202) + (*InitData)(unsafe.Pointer(pData)).Frc = Xsqlite3CorruptError(tls, 133215) } } @@ -114859,12 +114878,12 @@ var azAlterType = [3]uintptr{ ts + 18052, ts + 18059, ts + 18071, -} /* sqlite3.c:133183:23 */ +} /* sqlite3.c:133196:23 */ // Check to see if any sibling index (another index on the same table) // of pIndex has the same root page number, and if it does, return true. // This would indicate a corrupt schema. -func Xsqlite3IndexHasDuplicateRootPage(tls *libc.TLS, pIndex uintptr) int32 { /* sqlite3.c:133211:20: */ +func Xsqlite3IndexHasDuplicateRootPage(tls *libc.TLS, pIndex uintptr) int32 { /* sqlite3.c:133224:20: */ var p uintptr for p = (*Table)(unsafe.Pointer((*Index)(unsafe.Pointer(pIndex)).FpTable)).FpIndex; p != 0; p = (*Index)(unsafe.Pointer(p)).FpNext { if (*Index)(unsafe.Pointer(p)).Ftnum == (*Index)(unsafe.Pointer(pIndex)).Ftnum && p != pIndex { @@ -114886,7 +114905,7 @@ func Xsqlite3IndexHasDuplicateRootPage(tls *libc.TLS, pIndex uintptr) int32 { /* // argv[3] = root page number for table or index. 0 for trigger or view. // argv[4] = SQL text for the CREATE statement. // -func Xsqlite3InitCallback(tls *libc.TLS, pInit uintptr, argc int32, argv uintptr, NotUsed uintptr) int32 { /* sqlite3.c:133245:20: */ +func Xsqlite3InitCallback(tls *libc.TLS, pInit uintptr, argc int32, argv uintptr, NotUsed uintptr) int32 { /* sqlite3.c:133258:20: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -114988,7 +115007,7 @@ func Xsqlite3InitCallback(tls *libc.TLS, pInit uintptr, argc int32, argv uintptr // database. iDb==1 should never be used. iDb>=2 is used for // auxiliary databases. Return one of the SQLITE_ error codes to // indicate success or failure. -func Xsqlite3InitOne(tls *libc.TLS, db uintptr, iDb int32, pzErrMsg uintptr, mFlags U32) int32 { /* sqlite3.c:133348:20: */ +func Xsqlite3InitOne(tls *libc.TLS, db uintptr, iDb int32, pzErrMsg uintptr, mFlags U32) int32 { /* sqlite3.c:133361:20: */ bp := tls.Alloc(124) defer tls.Free(124) @@ -115234,7 +115253,7 @@ __20: pDb = (*Sqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32 goto __22 __21: - if !(rc == SQLITE_OK || (*Sqlite3)(unsafe.Pointer(db)).Fflags&uint64(SQLITE_NoSchemaError) != 0) { + if !(rc == SQLITE_OK || (*Sqlite3)(unsafe.Pointer(db)).Fflags&uint64(SQLITE_NoSchemaError) != 0 && rc != SQLITE_NOMEM) { goto __23 } // Hack: If the SQLITE_NoSchemaError flag is set, then consider @@ -115289,7 +115308,7 @@ __25: // // After a database is initialized, the DB_SchemaLoaded bit is set // bit is set in the flags field of the Db structure. -func Xsqlite3Init(tls *libc.TLS, db uintptr, pzErrMsg uintptr) int32 { /* sqlite3.c:133587:20: */ +func Xsqlite3Init(tls *libc.TLS, db uintptr, pzErrMsg uintptr) int32 { /* sqlite3.c:133600:20: */ var i int32 var rc int32 var commit_internal int32 = libc.BoolInt32(!((*Sqlite3)(unsafe.Pointer(db)).FmDbFlags&U32(DBFLAG_SchemaChange) != 0)) @@ -115321,7 +115340,7 @@ func Xsqlite3Init(tls *libc.TLS, db uintptr, pzErrMsg uintptr) int32 { /* sqlite // This routine is a no-op if the database schema is already initialized. // Otherwise, the schema is loaded. An error code is returned. -func Xsqlite3ReadSchema(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:133619:20: */ +func Xsqlite3ReadSchema(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:133632:20: */ var rc int32 = SQLITE_OK var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb @@ -115340,7 +115359,7 @@ func Xsqlite3ReadSchema(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:1336 // Check schema cookies in all databases. If any cookie is out // of date set pParse->rc to SQLITE_SCHEMA. If all schema cookies // make no changes to pParse->rc. -func schemaIsValid(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:133641:13: */ +func schemaIsValid(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:133654:13: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -115393,7 +115412,7 @@ func schemaIsValid(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:133641:13: */ // // If the same database is attached more than once, the first // attached database is returned. -func Xsqlite3SchemaToIndex(tls *libc.TLS, db uintptr, pSchema uintptr) int32 { /* sqlite3.c:133691:20: */ +func Xsqlite3SchemaToIndex(tls *libc.TLS, db uintptr, pSchema uintptr) int32 { /* sqlite3.c:133704:20: */ var i int32 = -32768 // If pSchema is NULL, then return -32768. This happens when code in @@ -115420,7 +115439,7 @@ func Xsqlite3SchemaToIndex(tls *libc.TLS, db uintptr, pSchema uintptr) int32 { / } // Free all memory allocations in the pParse object -func Xsqlite3ParseObjectReset(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:133721:21: */ +func Xsqlite3ParseObjectReset(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:133734:21: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb Xsqlite3DbFree(tls, db, (*Parse)(unsafe.Pointer(pParse)).FaTableLock) @@ -115476,7 +115495,7 @@ func Xsqlite3ParseObjectReset(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:1337 // return value thereafter. Something like this: // // pObj = sqlite3ParserAddCleanup(pParse, destructor, pObj); -func Xsqlite3ParserAddCleanup(tls *libc.TLS, pParse uintptr, xCleanup uintptr, pPtr uintptr) uintptr { /* sqlite3.c:133776:21: */ +func Xsqlite3ParserAddCleanup(tls *libc.TLS, pParse uintptr, xCleanup uintptr, pPtr uintptr) uintptr { /* sqlite3.c:133789:21: */ var pCleanup uintptr = Xsqlite3DbMallocRaw(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, uint64(unsafe.Sizeof(ParseCleanup{}))) if pCleanup != 0 { (*ParseCleanup)(unsafe.Pointer(pCleanup)).FpNext = (*Parse)(unsafe.Pointer(pParse)).FpCleanup @@ -115499,7 +115518,7 @@ func Xsqlite3ParserAddCleanup(tls *libc.TLS, pParse uintptr, xCleanup uintptr, p // // Caution: Do not confuse this routine with sqlite3ParseObjectInit() which // is generated by Lemon. -func Xsqlite3ParseObjectInit(tls *libc.TLS, pParse uintptr, db uintptr) { /* sqlite3.c:133806:21: */ +func Xsqlite3ParseObjectInit(tls *libc.TLS, pParse uintptr, db uintptr) { /* sqlite3.c:133819:21: */ libc.Xmemset(tls, pParse+uintptr(uint64(uintptr(0)+8)), 0, uint64(uintptr(0)+216)-uint64(uintptr(0)+8)) libc.Xmemset(tls, pParse+uintptr(uint64(uintptr(0)+272)), 0, uint64(unsafe.Sizeof(Parse{}))-uint64(uintptr(0)+272)) @@ -115512,7 +115531,7 @@ func Xsqlite3ParseObjectInit(tls *libc.TLS, pParse uintptr, db uintptr) { /* sql } // Compile the UTF-8 encoded SQL statement zSql into a statement handle. -func sqlite3Prepare(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, prepFlags U32, pReprepare uintptr, ppStmt uintptr, pzTail uintptr) int32 { /* sqlite3.c:133819:12: */ +func sqlite3Prepare(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, prepFlags U32, pReprepare uintptr, ppStmt uintptr, pzTail uintptr) int32 { /* sqlite3.c:133832:12: */ bp := tls.Alloc(424) defer tls.Free(424) @@ -115718,13 +115737,13 @@ end_prepare: return rc } -func sqlite3LockAndPrepare(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, prepFlags U32, pOld uintptr, ppStmt uintptr, pzTail uintptr) int32 { /* sqlite3.c:133962:12: */ +func sqlite3LockAndPrepare(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, prepFlags U32, pOld uintptr, ppStmt uintptr, pzTail uintptr) int32 { /* sqlite3.c:133975:12: */ var rc int32 var cnt int32 = 0 *(*uintptr)(unsafe.Pointer(ppStmt)) = uintptr(0) if !(Xsqlite3SafetyCheckOk(tls, db) != 0) || zSql == uintptr(0) { - return Xsqlite3MisuseError(tls, 133979) + return Xsqlite3MisuseError(tls, 133992) } Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) Xsqlite3BtreeEnterAll(tls, db) @@ -115753,7 +115772,7 @@ func sqlite3LockAndPrepare(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32 // if the statement cannot be recompiled because another connection has // locked the sqlite3_schema table, return SQLITE_LOCKED. If any other error // occurs, return SQLITE_SCHEMA. -func Xsqlite3Reprepare(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:134009:20: */ +func Xsqlite3Reprepare(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:134022:20: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -115792,14 +115811,14 @@ func Xsqlite3Reprepare(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:134009:20: // sqlite3_step(). In the new version, the original SQL text is retained // and the statement is automatically recompiled if an schema change // occurs. -func Xsqlite3_prepare(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, ppStmt uintptr, pzTail uintptr) int32 { /* sqlite3.c:134048:16: */ +func Xsqlite3_prepare(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, ppStmt uintptr, pzTail uintptr) int32 { /* sqlite3.c:134061:16: */ var rc int32 rc = sqlite3LockAndPrepare(tls, db, zSql, nBytes, uint32(0), uintptr(0), ppStmt, pzTail) // VERIFY: F13021 return rc } -func Xsqlite3_prepare_v2(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, ppStmt uintptr, pzTail uintptr) int32 { /* sqlite3.c:134060:16: */ +func Xsqlite3_prepare_v2(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, ppStmt uintptr, pzTail uintptr) int32 { /* sqlite3.c:134073:16: */ var rc int32 // EVIDENCE-OF: R-37923-12173 The sqlite3_prepare_v2() interface works // exactly the same as sqlite3_prepare_v3() with a zero prepFlags @@ -115812,7 +115831,7 @@ func Xsqlite3_prepare_v2(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, return rc } -func Xsqlite3_prepare_v3(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, prepFlags uint32, ppStmt uintptr, pzTail uintptr) int32 { /* sqlite3.c:134078:16: */ +func Xsqlite3_prepare_v3(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, prepFlags uint32, ppStmt uintptr, pzTail uintptr) int32 { /* sqlite3.c:134091:16: */ var rc int32 // EVIDENCE-OF: R-56861-42673 sqlite3_prepare_v3() differs from // sqlite3_prepare_v2() only in having the extra prepFlags parameter, @@ -115829,7 +115848,7 @@ func Xsqlite3_prepare_v3(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, } // Compile the UTF-16 encoded SQL statement zSql into a statement handle. -func sqlite3Prepare16(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, prepFlags U32, ppStmt uintptr, pzTail uintptr) int32 { /* sqlite3.c:134106:12: */ +func sqlite3Prepare16(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, prepFlags U32, ppStmt uintptr, pzTail uintptr) int32 { /* sqlite3.c:134119:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -115842,7 +115861,7 @@ func sqlite3Prepare16(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, pre *(*uintptr)(unsafe.Pointer(ppStmt)) = uintptr(0) if !(Xsqlite3SafetyCheckOk(tls, db) != 0) || zSql == uintptr(0) { - return Xsqlite3MisuseError(tls, 134127) + return Xsqlite3MisuseError(tls, 134140) } if nBytes >= 0 { var sz int32 @@ -115882,21 +115901,21 @@ func sqlite3Prepare16(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, pre // sqlite3_step(). In the new version, the original SQL text is retained // and the statement is automatically recompiled if an schema change // occurs. -func Xsqlite3_prepare16(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, ppStmt uintptr, pzTail uintptr) int32 { /* sqlite3.c:134164:16: */ +func Xsqlite3_prepare16(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, ppStmt uintptr, pzTail uintptr) int32 { /* sqlite3.c:134177:16: */ var rc int32 rc = sqlite3Prepare16(tls, db, zSql, nBytes, uint32(0), ppStmt, pzTail) // VERIFY: F13021 return rc } -func Xsqlite3_prepare16_v2(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, ppStmt uintptr, pzTail uintptr) int32 { /* sqlite3.c:134176:16: */ +func Xsqlite3_prepare16_v2(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, ppStmt uintptr, pzTail uintptr) int32 { /* sqlite3.c:134189:16: */ var rc int32 rc = sqlite3Prepare16(tls, db, zSql, nBytes, uint32(SQLITE_PREPARE_SAVESQL), ppStmt, pzTail) // VERIFY: F13021 return rc } -func Xsqlite3_prepare16_v3(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, prepFlags uint32, ppStmt uintptr, pzTail uintptr) int32 { /* sqlite3.c:134188:16: */ +func Xsqlite3_prepare16_v3(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, prepFlags uint32, ppStmt uintptr, pzTail uintptr) int32 { /* sqlite3.c:134201:16: */ var rc int32 rc = sqlite3Prepare16(tls, db, zSql, nBytes, uint32(SQLITE_PREPARE_SAVESQL)|prepFlags&uint32(SQLITE_PREPARE_MASK), @@ -115930,7 +115949,7 @@ type DistinctCtx1 = struct { F__ccgo_pad1 [2]byte FtabTnct int32 FaddrTnct int32 -} /* sqlite3.c:134229:9 */ +} /* sqlite3.c:134242:9 */ //************* End of prepare.c ******************************************** //************* Begin file select.c ***************************************** @@ -115951,7 +115970,7 @@ type DistinctCtx1 = struct { // An instance of the following object is used to record information about // how to process the DISTINCT keyword, to simplify passing that information // into the selectInnerLoop() routine. -type DistinctCtx = DistinctCtx1 /* sqlite3.c:134229:28 */ +type DistinctCtx = DistinctCtx1 /* sqlite3.c:134242:28 */ // An instance of the following object is used to record information about // the ORDER BY (or GROUP BY) clause of query is being coded. @@ -115981,7 +116000,7 @@ type SortCtx1 = struct { FsortFlags U8 F__ccgo_pad1 [3]byte FpDeferredRowLoad uintptr -} /* sqlite3.c:134255:9 */ +} /* sqlite3.c:134268:9 */ // An instance of the following object is used to record information about // the ORDER BY (or GROUP BY) clause of query is being coded. @@ -115999,19 +116018,19 @@ type SortCtx1 = struct { // When the sorter-reference optimization is used, there is one entry in the // aDefer[] array for each database table that may be read as values are // extracted from the sorter. -type SortCtx = SortCtx1 /* sqlite3.c:134255:24 */ +type SortCtx = SortCtx1 /* sqlite3.c:134268:24 */ type RowLoadInfo1 = struct { FregResult int32 FecelFlags U8 F__ccgo_pad1 [3]byte -} /* sqlite3.c:134255:9 */ +} /* sqlite3.c:134268:9 */ // Delete all the content of a Select structure. Deallocate the structure // itself depending on the value of bFree // // If bFree==1, call sqlite3DbFree() on the p object. // If bFree==0, Leave the first Select object unfreed -func clearSelect(tls *libc.TLS, db uintptr, p uintptr, bFree int32) { /* sqlite3.c:134285:13: */ +func clearSelect(tls *libc.TLS, db uintptr, p uintptr, bFree int32) { /* sqlite3.c:134298:13: */ for p != 0 { var pPrior uintptr = (*Select)(unsafe.Pointer(p)).FpPrior Xsqlite3ExprListDelete(tls, db, (*Select)(unsafe.Pointer(p)).FpEList) @@ -116040,7 +116059,7 @@ func clearSelect(tls *libc.TLS, db uintptr, p uintptr, bFree int32) { /* sqlite3 } // Initialize a SelectDest structure. -func Xsqlite3SelectDestInit(tls *libc.TLS, pDest uintptr, eDest int32, iParm int32) { /* sqlite3.c:134314:21: */ +func Xsqlite3SelectDestInit(tls *libc.TLS, pDest uintptr, eDest int32, iParm int32) { /* sqlite3.c:134327:21: */ (*SelectDest)(unsafe.Pointer(pDest)).FeDest = U8(eDest) (*SelectDest)(unsafe.Pointer(pDest)).FiSDParm = iParm (*SelectDest)(unsafe.Pointer(pDest)).FiSDParm2 = 0 @@ -116051,7 +116070,7 @@ func Xsqlite3SelectDestInit(tls *libc.TLS, pDest uintptr, eDest int32, iParm int // Allocate a new Select structure and return a pointer to that // structure. -func Xsqlite3SelectNew(tls *libc.TLS, pParse uintptr, pEList uintptr, pSrc uintptr, pWhere uintptr, pGroupBy uintptr, pHaving uintptr, pOrderBy uintptr, selFlags U32, pLimit uintptr) uintptr { /* sqlite3.c:134328:23: */ +func Xsqlite3SelectNew(tls *libc.TLS, pParse uintptr, pEList uintptr, pSrc uintptr, pWhere uintptr, pGroupBy uintptr, pHaving uintptr, pOrderBy uintptr, selFlags U32, pLimit uintptr) uintptr { /* sqlite3.c:134341:23: */ bp := tls.Alloc(128) defer tls.Free(128) @@ -116101,14 +116120,14 @@ func Xsqlite3SelectNew(tls *libc.TLS, pParse uintptr, pEList uintptr, pSrc uintp } // Delete the given Select structure and all of its substructures. -func Xsqlite3SelectDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:134386:21: */ +func Xsqlite3SelectDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:134399:21: */ if p != 0 { clearSelect(tls, db, p, 1) } } // Return a pointer to the right-most SELECT statement in a compound. -func findRightmost(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:134393:15: */ +func findRightmost(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:134406:15: */ for (*Select)(unsafe.Pointer(p)).FpNext != 0 { p = (*Select)(unsafe.Pointer(p)).FpNext } @@ -116130,7 +116149,7 @@ func findRightmost(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:134393:15: * // // If an illegal or unsupported join type is seen, then still return // a join type, but put an error in the pParse structure. -func Xsqlite3JoinType(tls *libc.TLS, pParse uintptr, pA uintptr, pB uintptr, pC uintptr) int32 { /* sqlite3.c:134415:20: */ +func Xsqlite3JoinType(tls *libc.TLS, pParse uintptr, pA uintptr, pB uintptr, pC uintptr) int32 { /* sqlite3.c:134428:20: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -116184,7 +116203,7 @@ func Xsqlite3JoinType(tls *libc.TLS, pParse uintptr, pA uintptr, pB uintptr, pC return jointype } -var zKeyText = *(*[34]uint8)(unsafe.Pointer(ts + 18373)) /* sqlite3.c:134420:21 */ +var zKeyText = *(*[34]uint8)(unsafe.Pointer(ts + 18373)) /* sqlite3.c:134433:21 */ var aKeyword = [7]struct { Fi U8 FnChar U8 @@ -116197,11 +116216,11 @@ var aKeyword = [7]struct { /* full */ {Fi: U8(19), FnChar: U8(4), Fcode: U8(JT_LEFT | JT_RIGHT | JT_OUTER)}, /* inner */ {Fi: U8(23), FnChar: U8(5), Fcode: U8(JT_INNER)}, /* cross */ {Fi: U8(28), FnChar: U8(5), Fcode: U8(JT_INNER | JT_CROSS)}, -} /* sqlite3.c:134425:5 */ +} /* sqlite3.c:134438:5 */ // Return the index of a column in a table. Return -1 if the column // is not contained in the table. -func Xsqlite3ColumnIndex(tls *libc.TLS, pTab uintptr, zCol uintptr) int32 { /* sqlite3.c:134476:20: */ +func Xsqlite3ColumnIndex(tls *libc.TLS, pTab uintptr, zCol uintptr) int32 { /* sqlite3.c:134489:20: */ var i int32 var h U8 = Xsqlite3StrIHash(tls, zCol) var pCol uintptr @@ -116235,7 +116254,7 @@ __3: // of the matching column and return TRUE. // // If not found, return FALSE. -func tableAndColumnIndex(tls *libc.TLS, pSrc uintptr, N int32, zCol uintptr, piTab uintptr, piCol uintptr, bIgnoreHidden int32) int32 { /* sqlite3.c:134495:12: */ +func tableAndColumnIndex(tls *libc.TLS, pSrc uintptr, N int32, zCol uintptr, piTab uintptr, piCol uintptr, bIgnoreHidden int32) int32 { /* sqlite3.c:134508:12: */ var i int32 // For looping over tables in pSrc var iCol int32 // Index of column matching zCol @@ -116263,7 +116282,7 @@ func tableAndColumnIndex(tls *libc.TLS, pSrc uintptr, N int32, zCol uintptr, piT // where tab1 is the iSrc'th table in SrcList pSrc and tab2 is the // (iSrc+1)'th. Column col1 is column iColLeft of tab1, and col2 is // column iColRight of tab2. -func addWhereTerm(tls *libc.TLS, pParse uintptr, pSrc uintptr, iLeft int32, iColLeft int32, iRight int32, iColRight int32, isOuterJoin int32, ppWhere uintptr) { /* sqlite3.c:134533:13: */ +func addWhereTerm(tls *libc.TLS, pParse uintptr, pSrc uintptr, iLeft int32, iColLeft int32, iRight int32, iColRight int32, isOuterJoin int32, ppWhere uintptr) { /* sqlite3.c:134546:13: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb var pE1 uintptr var pE2 uintptr @@ -116308,7 +116327,7 @@ func addWhereTerm(tls *libc.TLS, pParse uintptr, pSrc uintptr, iLeft int32, iCol // defer the handling of t1.x=5, it will be processed immediately // after the t1 loop and rows with t1.x!=5 will never appear in // the output, which is incorrect. -func Xsqlite3SetJoinExpr(tls *libc.TLS, p uintptr, iTable int32) { /* sqlite3.c:134595:21: */ +func Xsqlite3SetJoinExpr(tls *libc.TLS, p uintptr, iTable int32) { /* sqlite3.c:134608:21: */ for p != 0 { *(*U32)(unsafe.Pointer(p + 4)) |= U32(EP_FromJoin) @@ -116332,7 +116351,7 @@ func Xsqlite3SetJoinExpr(tls *libc.TLS, p uintptr, iTable int32) { /* sqlite3.c: // an ordinary term that omits the EP_FromJoin mark. // // This happens when a LEFT JOIN is simplified into an ordinary JOIN. -func unsetJoinExpr(tls *libc.TLS, p uintptr, iTable int32) { /* sqlite3.c:134621:13: */ +func unsetJoinExpr(tls *libc.TLS, p uintptr, iTable int32) { /* sqlite3.c:134634:13: */ for p != 0 { if (*Expr)(unsafe.Pointer(p)).Fflags&U32(EP_FromJoin) != U32(0) && (iTable < 0 || *(*int32)(unsafe.Pointer(p + 52)) == iTable) { @@ -116367,7 +116386,7 @@ func unsetJoinExpr(tls *libc.TLS, p uintptr, iTable int32) { /* sqlite3.c:134621 // also attached to the left entry. // // This routine returns the number of errors encountered. -func sqliteProcessJoin(tls *libc.TLS, pParse uintptr, p uintptr) int32 { /* sqlite3.c:134658:12: */ +func sqliteProcessJoin(tls *libc.TLS, pParse uintptr, p uintptr) int32 { /* sqlite3.c:134671:12: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -116481,11 +116500,11 @@ __3: // An instance of this object holds information (beyond pParse and pSelect) // needed to load the next result row that is to be added to the sorter. -type RowLoadInfo = RowLoadInfo1 /* sqlite3.c:134750:28 */ +type RowLoadInfo = RowLoadInfo1 /* sqlite3.c:134763:28 */ // This routine does the work of loading query data into an array of // registers so that it can be added to the sorter. -func innerLoopLoadRow(tls *libc.TLS, pParse uintptr, pSelect uintptr, pInfo uintptr) { /* sqlite3.c:134764:13: */ +func innerLoopLoadRow(tls *libc.TLS, pParse uintptr, pSelect uintptr, pInfo uintptr) { /* sqlite3.c:134777:13: */ Xsqlite3ExprCodeExprList(tls, pParse, (*Select)(unsafe.Pointer(pSelect)).FpEList, (*RowLoadInfo)(unsafe.Pointer(pInfo)).FregResult, 0, (*RowLoadInfo)(unsafe.Pointer(pInfo)).FecelFlags) } @@ -116494,7 +116513,7 @@ func innerLoopLoadRow(tls *libc.TLS, pParse uintptr, pSelect uintptr, pInfo uint // added into the sorter. // // Return the register in which the result is stored. -func makeSorterRecord(tls *libc.TLS, pParse uintptr, pSort uintptr, pSelect uintptr, regBase int32, nBase int32) int32 { /* sqlite3.c:134785:12: */ +func makeSorterRecord(tls *libc.TLS, pParse uintptr, pSort uintptr, pSelect uintptr, regBase int32, nBase int32) int32 { /* sqlite3.c:134798:12: */ var nOBSat int32 = (*SortCtx)(unsafe.Pointer(pSort)).FnOBSat var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe var regOut int32 = libc.PreIncInt32(&(*Parse)(unsafe.Pointer(pParse)).FnMem, 1) @@ -116507,7 +116526,7 @@ func makeSorterRecord(tls *libc.TLS, pParse uintptr, pSort uintptr, pSelect uint // Generate code that will push the record in registers regData // through regData+nData-1 onto the sorter. -func pushOntoSorter(tls *libc.TLS, pParse uintptr, pSort uintptr, pSelect uintptr, regData int32, regOrigData int32, nData int32, nPrefixReg int32) { /* sqlite3.c:134806:13: */ +func pushOntoSorter(tls *libc.TLS, pParse uintptr, pSort uintptr, pSelect uintptr, regData int32, regOrigData int32, nData int32, nPrefixReg int32) { /* sqlite3.c:134819:13: */ var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe // Stmt under construction var bSeq int32 = libc.Bool32(int32((*SortCtx)(unsafe.Pointer(pSort)).FsortFlags)&SORTFLAG_UseSorter == 0) var nExpr int32 = (*ExprList)(unsafe.Pointer((*SortCtx)(unsafe.Pointer(pSort)).FpOrderBy)).FnExpr // No. of ORDER BY terms @@ -116650,7 +116669,7 @@ func pushOntoSorter(tls *libc.TLS, pParse uintptr, pSort uintptr, pSelect uintpt } // Add code to implement the OFFSET -func codeOffset(tls *libc.TLS, v uintptr, iOffset int32, iContinue int32) { /* sqlite3.c:134948:13: */ +func codeOffset(tls *libc.TLS, v uintptr, iOffset int32, iContinue int32) { /* sqlite3.c:134961:13: */ if iOffset > 0 { Xsqlite3VdbeAddOp3(tls, v, OP_IfPos, iOffset, iContinue, 1) @@ -116698,7 +116717,7 @@ func codeOffset(tls *libc.TLS, v uintptr, iOffset int32, iContinue int32) { /* s // how many elements there are in the array of registers and (b) the // collation sequences that should be used for the comparisons if // eTnctType is WHERE_DISTINCT_ORDERED. -func codeDistinct(tls *libc.TLS, pParse uintptr, eTnctType int32, iTab int32, addrRepeat int32, pEList uintptr, regElem int32) int32 { /* sqlite3.c:135002:12: */ +func codeDistinct(tls *libc.TLS, pParse uintptr, eTnctType int32, iTab int32, addrRepeat int32, pEList uintptr, regElem int32) int32 { /* sqlite3.c:135015:12: */ var iRet int32 = 0 var nResultCol int32 = (*ExprList)(unsafe.Pointer(pEList)).FnExpr var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe @@ -116779,7 +116798,7 @@ func codeDistinct(tls *libc.TLS, pParse uintptr, eTnctType int32, iTab int32, ad // The ephemeral table is not needed. But we do need register // iVal to be initialized to NULL. So change the OP_OpenEphemeral // into an OP_Null on the iVal register. -func fixDistinctOpenEph(tls *libc.TLS, pParse uintptr, eTnctType int32, iVal int32, iOpenEphAddr int32) { /* sqlite3.c:135086:13: */ +func fixDistinctOpenEph(tls *libc.TLS, pParse uintptr, eTnctType int32, iVal int32, iOpenEphAddr int32) { /* sqlite3.c:135099:13: */ if (*Parse)(unsafe.Pointer(pParse)).FnErr == 0 && (eTnctType == WHERE_DISTINCT_UNIQUE || eTnctType == WHERE_DISTINCT_ORDERED) { var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe @@ -116807,7 +116826,7 @@ func fixDistinctOpenEph(tls *libc.TLS, pParse uintptr, eTnctType int32, iVal int // are evaluated in order to get the data for this row. If srcTab is // zero or more, then data is pulled from srcTab and p->pEList is used only // to get the number of columns and the collation sequence for each column. -func selectInnerLoop(tls *libc.TLS, pParse uintptr, p uintptr, srcTab int32, pSort uintptr, pDistinct uintptr, pDest uintptr, iContinue int32, iBreak int32) { /* sqlite3.c:135208:13: */ +func selectInnerLoop(tls *libc.TLS, pParse uintptr, p uintptr, srcTab int32, pSort uintptr, pDistinct uintptr, pDest uintptr, iContinue int32, iBreak int32) { /* sqlite3.c:135221:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -117163,7 +117182,7 @@ func selectInnerLoop(tls *libc.TLS, pParse uintptr, p uintptr, srcTab int32, pSo // Allocate a KeyInfo object sufficient for an index of N key columns and // X extra columns. -func Xsqlite3KeyInfoAlloc(tls *libc.TLS, db uintptr, N int32, X int32) uintptr { /* sqlite3.c:135602:24: */ +func Xsqlite3KeyInfoAlloc(tls *libc.TLS, db uintptr, N int32, X int32) uintptr { /* sqlite3.c:135615:24: */ var nExtra int32 = int32(uint64(N+X)*(uint64(unsafe.Sizeof(uintptr(0)))+uint64(1)) - uint64(unsafe.Sizeof(uintptr(0)))) var p uintptr = Xsqlite3DbMallocRawNN(tls, db, uint64(uint64(unsafe.Sizeof(KeyInfo{}))+uint64(nExtra))) if p != 0 { @@ -117181,7 +117200,7 @@ func Xsqlite3KeyInfoAlloc(tls *libc.TLS, db uintptr, N int32, X int32) uintptr { } // Deallocate a KeyInfo object -func Xsqlite3KeyInfoUnref(tls *libc.TLS, p uintptr) { /* sqlite3.c:135622:21: */ +func Xsqlite3KeyInfoUnref(tls *libc.TLS, p uintptr) { /* sqlite3.c:135635:21: */ if p != 0 { (*KeyInfo)(unsafe.Pointer(p)).FnRef-- @@ -117192,7 +117211,7 @@ func Xsqlite3KeyInfoUnref(tls *libc.TLS, p uintptr) { /* sqlite3.c:135622:21: */ } // Make a new pointer to a KeyInfo object -func Xsqlite3KeyInfoRef(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:135633:24: */ +func Xsqlite3KeyInfoRef(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:135646:24: */ if p != 0 { (*KeyInfo)(unsafe.Pointer(p)).FnRef++ @@ -117212,7 +117231,7 @@ func Xsqlite3KeyInfoRef(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:135633: // Space to hold the KeyInfo structure is obtained from malloc. The calling // function is responsible for seeing that this structure is eventually // freed. -func Xsqlite3KeyInfoFromExprList(tls *libc.TLS, pParse uintptr, pList uintptr, iStart int32, nExtra int32) uintptr { /* sqlite3.c:135665:24: */ +func Xsqlite3KeyInfoFromExprList(tls *libc.TLS, pParse uintptr, pList uintptr, iStart int32, nExtra int32) uintptr { /* sqlite3.c:135678:24: */ var nExpr int32 var pInfo uintptr var pItem uintptr @@ -117246,7 +117265,7 @@ func Xsqlite3KeyInfoFromExprList(tls *libc.TLS, pParse uintptr, pList uintptr, i } // Name of the connection operator, used for error messages. -func Xsqlite3SelectOpName(tls *libc.TLS, id int32) uintptr { /* sqlite3.c:135692:27: */ +func Xsqlite3SelectOpName(tls *libc.TLS, id int32) uintptr { /* sqlite3.c:135705:27: */ var z uintptr switch id { case TK_ALL: @@ -117273,7 +117292,7 @@ func Xsqlite3SelectOpName(tls *libc.TLS, id int32) uintptr { /* sqlite3.c:135692 // // where xxx is one of "DISTINCT", "ORDER BY" or "GROUP BY". Exactly which // is determined by the zUsage argument. -func explainTempTable(tls *libc.TLS, pParse uintptr, zUsage uintptr) { /* sqlite3.c:135714:13: */ +func explainTempTable(tls *libc.TLS, pParse uintptr, zUsage uintptr) { /* sqlite3.c:135727:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -117290,7 +117309,7 @@ func explainTempTable(tls *libc.TLS, pParse uintptr, zUsage uintptr) { /* sqlite // then the results were placed in a sorter. After the loop is terminated // we need to run the sorter and output the results. The following // routine generates the code needed to do that. -func generateSortTail(tls *libc.TLS, pParse uintptr, p uintptr, pSort uintptr, nColumn int32, pDest uintptr) { /* sqlite3.c:135740:13: */ +func generateSortTail(tls *libc.TLS, pParse uintptr, p uintptr, pSort uintptr, nColumn int32, pDest uintptr) { /* sqlite3.c:135753:13: */ var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe // The prepared statement var addrBreak int32 = (*SortCtx)(unsafe.Pointer(pSort)).FlabelDone // Jump here to exit loop var addrContinue int32 = Xsqlite3VdbeMakeLabel(tls, pParse) // Jump here for next cycle @@ -117469,7 +117488,7 @@ func generateSortTail(tls *libc.TLS, pParse uintptr, p uintptr, pSort uintptr, n // // This routine has either 3 or 6 parameters depending on whether or not // the SQLITE_ENABLE_COLUMN_METADATA compile-time option is used. -func columnTypeImpl(tls *libc.TLS, pNC uintptr, pExpr uintptr, pzOrigDb uintptr, pzOrigTab uintptr, pzOrigCol uintptr) uintptr { /* sqlite3.c:135968:19: */ +func columnTypeImpl(tls *libc.TLS, pNC uintptr, pExpr uintptr, pzOrigDb uintptr, pzOrigTab uintptr, pzOrigCol uintptr) uintptr { /* sqlite3.c:135981:19: */ bp := tls.Alloc(136) defer tls.Free(136) @@ -117593,7 +117612,7 @@ func columnTypeImpl(tls *libc.TLS, pNC uintptr, pExpr uintptr, pzOrigDb uintptr, // Generate code that will tell the VDBE the declaration types of columns // in the result set. -func generateColumnTypes(tls *libc.TLS, pParse uintptr, pTabList uintptr, pEList uintptr) { /* sqlite3.c:136119:13: */ +func generateColumnTypes(tls *libc.TLS, pParse uintptr, pTabList uintptr, pEList uintptr) { /* sqlite3.c:136132:13: */ bp := tls.Alloc(80) defer tls.Free(80) @@ -117650,7 +117669,7 @@ func generateColumnTypes(tls *libc.TLS, pParse uintptr, pTabList uintptr, pEList // full=ON, short=ANY: If the result refers directly to a table column, // then the result column name with the table name // prefix, ex: TABLE.COLUMN. Otherwise use zSpan. -func Xsqlite3GenerateColumnNames(tls *libc.TLS, pParse uintptr, pSelect uintptr) { /* sqlite3.c:136186:21: */ +func Xsqlite3GenerateColumnNames(tls *libc.TLS, pParse uintptr, pSelect uintptr) { /* sqlite3.c:136199:21: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -117750,7 +117769,7 @@ func Xsqlite3GenerateColumnNames(tls *libc.TLS, pParse uintptr, pSelect uintptr) // when modifying this routine to avoid breaking legacy. // // See Also: sqlite3GenerateColumnNames() -func Xsqlite3ColumnsFromExprList(tls *libc.TLS, pParse uintptr, pEList uintptr, pnCol uintptr, paCol uintptr) int32 { /* sqlite3.c:136279:20: */ +func Xsqlite3ColumnsFromExprList(tls *libc.TLS, pParse uintptr, pEList uintptr, pnCol uintptr, paCol uintptr) int32 { /* sqlite3.c:136292:20: */ bp := tls.Alloc(60) defer tls.Free(60) @@ -117882,7 +117901,7 @@ __3: // // This routine requires that all identifiers in the SELECT // statement be resolved. -func Xsqlite3SelectAddColumnTypeAndCollation(tls *libc.TLS, pParse uintptr, pTab uintptr, pSelect uintptr, aff uint8) { /* sqlite3.c:136386:21: */ +func Xsqlite3SelectAddColumnTypeAndCollation(tls *libc.TLS, pParse uintptr, pTab uintptr, pSelect uintptr, aff uint8) { /* sqlite3.c:136399:21: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -117951,7 +117970,7 @@ __3: // Given a SELECT statement, generate a Table structure that describes // the result set of that SELECT. -func Xsqlite3ResultSetOfSelect(tls *libc.TLS, pParse uintptr, pSelect uintptr, aff uint8) uintptr { /* sqlite3.c:136441:22: */ +func Xsqlite3ResultSetOfSelect(tls *libc.TLS, pParse uintptr, pSelect uintptr, aff uint8) uintptr { /* sqlite3.c:136454:22: */ var pTab uintptr var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb var savedFlags U64 @@ -117986,7 +118005,7 @@ func Xsqlite3ResultSetOfSelect(tls *libc.TLS, pParse uintptr, pSelect uintptr, a // Get a VDBE for the given parser context. Create a new one if necessary. // If an error occurs, return NULL and leave a message in pParse. -func Xsqlite3GetVdbe(tls *libc.TLS, pParse uintptr) uintptr { /* sqlite3.c:136474:21: */ +func Xsqlite3GetVdbe(tls *libc.TLS, pParse uintptr) uintptr { /* sqlite3.c:136487:21: */ if (*Parse)(unsafe.Pointer(pParse)).FpVdbe != 0 { return (*Parse)(unsafe.Pointer(pParse)).FpVdbe } @@ -118018,7 +118037,7 @@ func Xsqlite3GetVdbe(tls *libc.TLS, pParse uintptr) uintptr { /* sqlite3.c:13647 // redefined. The UNION ALL operator uses this property to force // the reuse of the same limit and offset registers across multiple // SELECT statements. -func computeLimitRegisters(tls *libc.TLS, pParse uintptr, p uintptr, iBreak int32) { /* sqlite3.c:136510:13: */ +func computeLimitRegisters(tls *libc.TLS, pParse uintptr, p uintptr, iBreak int32) { /* sqlite3.c:136523:13: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -118075,7 +118094,7 @@ func computeLimitRegisters(tls *libc.TLS, pParse uintptr, p uintptr, iBreak int3 // // The collating sequence for the compound select is taken from the // left-most term of the select that has a collating sequence. -func multiSelectCollSeq(tls *libc.TLS, pParse uintptr, p uintptr, iCol int32) uintptr { /* sqlite3.c:136567:16: */ +func multiSelectCollSeq(tls *libc.TLS, pParse uintptr, p uintptr, iCol int32) uintptr { /* sqlite3.c:136580:16: */ var pRet uintptr if (*Select)(unsafe.Pointer(p)).FpPrior != 0 { pRet = multiSelectCollSeq(tls, pParse, (*Select)(unsafe.Pointer(p)).FpPrior, iCol) @@ -118099,7 +118118,7 @@ func multiSelectCollSeq(tls *libc.TLS, pParse uintptr, p uintptr, iCol int32) ui // Space to hold the KeyInfo structure is obtained from malloc. The calling // function is responsible for ensuring that this structure is eventually // freed. -func multiSelectOrderByKeyInfo(tls *libc.TLS, pParse uintptr, p uintptr, nExtra int32) uintptr { /* sqlite3.c:136593:16: */ +func multiSelectOrderByKeyInfo(tls *libc.TLS, pParse uintptr, p uintptr, nExtra int32) uintptr { /* sqlite3.c:136606:16: */ var pOrderBy uintptr = (*Select)(unsafe.Pointer(p)).FpOrderBy var nOrderBy int32 if pOrderBy != uintptr(0) { @@ -118168,7 +118187,7 @@ func multiSelectOrderByKeyInfo(tls *libc.TLS, pParse uintptr, p uintptr, nExtra // with a positive value, then the first OFFSET outputs are discarded rather // than being sent to pDest. The LIMIT count does not begin until after OFFSET // rows have been skipped. -func generateWithRecursiveQuery(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) { /* sqlite3.c:136659:13: */ +func generateWithRecursiveQuery(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) { /* sqlite3.c:136672:13: */ bp := tls.Alloc(40) defer tls.Free(40) @@ -118409,7 +118428,7 @@ end_of_recursive_query: // clause occurs within scalar expression (ex: "SELECT (VALUES(1),(2),(3))"). // The sqlite3CodeSubselect will have added the LIMIT 1 clause in tht case. // Since the limit is exactly 1, we only need to evalutes the left-most VALUES. -func multiSelectValues(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) int32 { /* sqlite3.c:136835:12: */ +func multiSelectValues(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) int32 { /* sqlite3.c:136848:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -118449,7 +118468,7 @@ func multiSelectValues(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) // Return true if the SELECT statement which is known to be the recursive // part of a recursive CTE still has its anchor terms attached. If the // anchor terms have already been removed, then return false. -func hasAnchor(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:136872:12: */ +func hasAnchor(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:136885:12: */ for p != 0 && (*Select)(unsafe.Pointer(p)).FselFlags&U32(SF_Recursive) != U32(0) { p = (*Select)(unsafe.Pointer(p)).FpPrior } @@ -118485,7 +118504,7 @@ func hasAnchor(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:136872:12: */ // // Notice that because of the way SQLite parses compound SELECTs, the // individual selects always group from left to right. -func multiSelect(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) int32 { /* sqlite3.c:136908:12: */ +func multiSelect(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) int32 { /* sqlite3.c:136921:12: */ bp := tls.Alloc(144) defer tls.Free(144) @@ -118948,7 +118967,7 @@ __44: // Error message for when two or more terms of a compound select have different // size result sets. -func Xsqlite3SelectWrongNumTermsError(tls *libc.TLS, pParse uintptr, p uintptr) { /* sqlite3.c:137264:21: */ +func Xsqlite3SelectWrongNumTermsError(tls *libc.TLS, pParse uintptr, p uintptr) { /* sqlite3.c:137277:21: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -118979,7 +118998,7 @@ func Xsqlite3SelectWrongNumTermsError(tls *libc.TLS, pParse uintptr, p uintptr) // // If the LIMIT found in p->iLimit is reached, jump immediately to // iBreak. -func generateOutputSubroutine(tls *libc.TLS, pParse uintptr, p uintptr, pIn uintptr, pDest uintptr, regReturn int32, regPrev int32, pKeyInfo uintptr, iBreak int32) int32 { /* sqlite3.c:137294:12: */ +func generateOutputSubroutine(tls *libc.TLS, pParse uintptr, p uintptr, pIn uintptr, pDest uintptr, regReturn int32, regPrev int32, pKeyInfo uintptr, iBreak int32) int32 { /* sqlite3.c:137307:12: */ var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe var iContinue int32 var addr int32 @@ -119175,7 +119194,7 @@ func generateOutputSubroutine(tls *libc.TLS, pParse uintptr, p uintptr, pIn uint // actually called using Gosub and they do not Return. EofA and EofB loop // until all data is exhausted then jump to the "end" labe. AltB, AeqB, // and AgtB jump to either L2 or to one of EofA or EofB. -func multiSelectOrderBy(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) int32 { /* sqlite3.c:137502:12: */ +func multiSelectOrderBy(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) int32 { /* sqlite3.c:137515:12: */ bp := tls.Alloc(88) defer tls.Free(88) @@ -119525,14 +119544,14 @@ type SubstContext1 = struct { FisLeftJoin int32 F__ccgo_pad1 [4]byte FpEList uintptr -} /* sqlite3.c:137827:9 */ +} /* sqlite3.c:137840:9 */ // An instance of the SubstContext object describes an substitution edit // to be performed on a parse tree. // // All references to columns in table iTable are to be replaced by corresponding // expressions in pEList. -type SubstContext = SubstContext1 /* sqlite3.c:137833:3 */ +type SubstContext = SubstContext1 /* sqlite3.c:137846:3 */ // Scan through the expression pExpr. Replace every reference to // a column in table number iTable with a copy of the iColumn-th @@ -119545,7 +119564,7 @@ type SubstContext = SubstContext1 /* sqlite3.c:137833:3 */ // FORM clause entry is iTable. This routine makes the necessary // changes to pExpr so that it refers directly to the source table // of the subquery rather the result set of the subquery. -func substExpr(tls *libc.TLS, pSubst uintptr, pExpr uintptr) uintptr { /* sqlite3.c:137852:13: */ +func substExpr(tls *libc.TLS, pSubst uintptr, pExpr uintptr) uintptr { /* sqlite3.c:137865:13: */ bp := tls.Alloc(72) defer tls.Free(72) @@ -119628,7 +119647,7 @@ func substExpr(tls *libc.TLS, pSubst uintptr, pExpr uintptr) uintptr { /* sqlite return pExpr } -func substExprList(tls *libc.TLS, pSubst uintptr, pList uintptr) { /* sqlite3.c:137937:13: */ +func substExprList(tls *libc.TLS, pSubst uintptr, pList uintptr) { /* sqlite3.c:137950:13: */ var i int32 if pList == uintptr(0) { return @@ -119638,7 +119657,7 @@ func substExprList(tls *libc.TLS, pSubst uintptr, pList uintptr) { /* sqlite3.c: } } -func substSelect(tls *libc.TLS, pSubst uintptr, p uintptr, doPrior int32) { /* sqlite3.c:137947:13: */ +func substSelect(tls *libc.TLS, pSubst uintptr, p uintptr, doPrior int32) { /* sqlite3.c:137960:13: */ var pSrc uintptr var pItem uintptr var i int32 @@ -119681,7 +119700,7 @@ func substSelect(tls *libc.TLS, pSubst uintptr, p uintptr, doPrior int32) { /* s // // This routine scans the entire SELECT statement and recomputes the // pSrcItem->colUsed mask. -func recomputeColumnsUsedExpr(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:137982:12: */ +func recomputeColumnsUsedExpr(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:137995:12: */ var pItem uintptr if int32((*Expr)(unsafe.Pointer(pExpr)).Fop) != TK_COLUMN { return WRC_Continue @@ -119697,7 +119716,7 @@ func recomputeColumnsUsedExpr(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int return WRC_Continue } -func recomputeColumnsUsed(tls *libc.TLS, pSelect uintptr, pSrcItem uintptr) { /* sqlite3.c:137991:13: */ +func recomputeColumnsUsed(tls *libc.TLS, pSelect uintptr, pSrcItem uintptr) { /* sqlite3.c:138004:13: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -119729,7 +119748,7 @@ func recomputeColumnsUsed(tls *libc.TLS, pSelect uintptr, pSrcItem uintptr) { /* // // If pSrc contains any sub-selects, call this routine recursively // on the FROM clause of each such sub-select, with iExcept set to -1. -func srclistRenumberCursors(tls *libc.TLS, pParse uintptr, aCsrMap uintptr, pSrc uintptr, iExcept int32) { /* sqlite3.c:138020:13: */ +func srclistRenumberCursors(tls *libc.TLS, pParse uintptr, aCsrMap uintptr, pSrc uintptr, iExcept int32) { /* sqlite3.c:138033:13: */ var i int32 var pItem uintptr i = 0 @@ -119762,7 +119781,7 @@ __3: } // *piCursor is a cursor number. Change it if it needs to be mapped. -func renumberCursorDoMapping(tls *libc.TLS, pWalker uintptr, piCursor uintptr) { /* sqlite3.c:138046:13: */ +func renumberCursorDoMapping(tls *libc.TLS, pWalker uintptr, piCursor uintptr) { /* sqlite3.c:138059:13: */ var aCsrMap uintptr = *(*uintptr)(unsafe.Pointer(pWalker + 40)) var iCsr int32 = *(*int32)(unsafe.Pointer(piCursor)) if iCsr < *(*int32)(unsafe.Pointer(aCsrMap)) && *(*int32)(unsafe.Pointer(aCsrMap + uintptr(iCsr+1)*4)) > 0 { @@ -119772,7 +119791,7 @@ func renumberCursorDoMapping(tls *libc.TLS, pWalker uintptr, piCursor uintptr) { // Expression walker callback used by renumberCursors() to update // Expr objects to match newly assigned cursor numbers. -func renumberCursorsCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:138058:12: */ +func renumberCursorsCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:138071:12: */ var op int32 = int32((*Expr)(unsafe.Pointer(pExpr)).Fop) if op == TK_COLUMN || op == TK_IF_NULL_ROW { renumberCursorDoMapping(tls, pWalker, pExpr+44) @@ -119799,7 +119818,7 @@ func renumberCursorsCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* // * the array entries for all cursor numbers that do *not* appear in // FROM clauses of the select statement as described above are // initialized to zero. -func renumberCursors(tls *libc.TLS, pParse uintptr, p uintptr, iExcept int32, aCsrMap uintptr) { /* sqlite3.c:138087:13: */ +func renumberCursors(tls *libc.TLS, pParse uintptr, p uintptr, iExcept int32, aCsrMap uintptr) { /* sqlite3.c:138100:13: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -119969,7 +119988,7 @@ func renumberCursors(tls *libc.TLS, pParse uintptr, p uintptr, iExcept int32, aC // // All of the expression analysis must occur on both the outer query and // the subquery before this routine runs. -func flattenSubquery(tls *libc.TLS, pParse uintptr, p uintptr, iFrom int32, isAgg int32) int32 { /* sqlite3.c:138258:12: */ +func flattenSubquery(tls *libc.TLS, pParse uintptr, p uintptr, iFrom int32, isAgg int32) int32 { /* sqlite3.c:138271:12: */ bp := tls.Alloc(80) defer tls.Free(80) @@ -120394,7 +120413,7 @@ __3: // A structure to keep track of all of the column values that are fixed to // a known value due to WHERE clause constraints of the form COLUMN=VALUE. -type WhereConst = WhereConst1 /* sqlite3.c:138682:27 */ +type WhereConst = WhereConst1 /* sqlite3.c:138695:27 */ // Add a new entry to the pConst object. Except, do not add duplicate // pColumn entires. Also, do not add if doing so would not be appropriate. @@ -120402,7 +120421,7 @@ type WhereConst = WhereConst1 /* sqlite3.c:138682:27 */ // The caller guarantees the pColumn is a column and pValue is a constant. // This routine has to do some additional checks before completing the // insert. -func constInsert(tls *libc.TLS, pConst uintptr, pColumn uintptr, pValue uintptr, pExpr uintptr) { /* sqlite3.c:138700:13: */ +func constInsert(tls *libc.TLS, pConst uintptr, pColumn uintptr, pValue uintptr, pExpr uintptr) { /* sqlite3.c:138713:13: */ var i int32 if (*Expr)(unsafe.Pointer(pColumn)).Fflags&U32(EP_FixedCol) != U32(0) { @@ -120444,7 +120463,7 @@ func constInsert(tls *libc.TLS, pConst uintptr, pColumn uintptr, pValue uintptr, // is a constant expression and where the term must be true because it // is part of the AND-connected terms of the expression. For each term // found, add it to the pConst structure. -func findConstInWhere(tls *libc.TLS, pConst uintptr, pExpr uintptr) { /* sqlite3.c:138748:13: */ +func findConstInWhere(tls *libc.TLS, pConst uintptr, pExpr uintptr) { /* sqlite3.c:138761:13: */ var pRight uintptr var pLeft uintptr if pExpr == uintptr(0) { @@ -120479,7 +120498,7 @@ func findConstInWhere(tls *libc.TLS, pConst uintptr, pExpr uintptr) { /* sqlite3 // then overwrite it with the corresponding value. Except, do not do so // if argument bIgnoreAffBlob is non-zero and the affinity of pExpr // is SQLITE_AFF_BLOB. -func propagateConstantExprRewriteOne(tls *libc.TLS, pConst uintptr, pExpr uintptr, bIgnoreAffBlob int32) int32 { /* sqlite3.c:138779:12: */ +func propagateConstantExprRewriteOne(tls *libc.TLS, pConst uintptr, pExpr uintptr, bIgnoreAffBlob int32) int32 { /* sqlite3.c:138792:12: */ var i int32 if *(*U8)(unsafe.Pointer((*WhereConst)(unsafe.Pointer(pConst)).FpOomFault)) != 0 { return WRC_Prune @@ -120533,7 +120552,7 @@ func propagateConstantExprRewriteOne(tls *libc.TLS, pConst uintptr, pExpr uintpt // uses an affinity other than TEXT and one of its immediate // children is a column that matches one of the columns in // pWalker->u.pConst. -func propagateConstantExprRewrite(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:138828:12: */ +func propagateConstantExprRewrite(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:138841:12: */ var pConst uintptr = *(*uintptr)(unsafe.Pointer(pWalker + 40)) if (*WhereConst)(unsafe.Pointer(pConst)).FbHasAffBlob != 0 { @@ -120600,7 +120619,7 @@ func propagateConstantExprRewrite(tls *libc.TLS, pWalker uintptr, pExpr uintptr) // operators ==, <=, <, >=, >, or IS in a way that will cause the correct // type conversions to occur. See logic associated with the bHasAffBlob flag // for details. -func propagateConstants(tls *libc.TLS, pParse uintptr, p uintptr) int32 { /* sqlite3.c:138899:12: */ +func propagateConstants(tls *libc.TLS, pParse uintptr, p uintptr) int32 { /* sqlite3.c:138912:12: */ bp := tls.Alloc(88) defer tls.Free(88) @@ -120653,7 +120672,7 @@ func propagateConstants(tls *libc.TLS, pParse uintptr, p uintptr) int32 { /* sql // // * the sub-query uses only one distinct window frame, and // * that the window frame has a PARTITION BY clase. -func pushDownWindowCheck(tls *libc.TLS, pParse uintptr, pSubq uintptr, pExpr uintptr) int32 { /* sqlite3.c:138950:12: */ +func pushDownWindowCheck(tls *libc.TLS, pParse uintptr, pSubq uintptr, pExpr uintptr) int32 { /* sqlite3.c:138963:12: */ return Xsqlite3ExprIsConstantOrGroupBy(tls, pParse, pExpr, (*Window)(unsafe.Pointer((*Select)(unsafe.Pointer(pSubq)).FpWin)).FpPartition) } @@ -120724,7 +120743,7 @@ func pushDownWindowCheck(tls *libc.TLS, pParse uintptr, pSubq uintptr, pExpr uin // // Return 0 if no changes are made and non-zero if one or more WHERE clause // terms are duplicated into the subquery. -func pushDownWhereTerms(tls *libc.TLS, pParse uintptr, pSubq uintptr, pWhere uintptr, iCursor int32, isLeftJoin int32) int32 { /* sqlite3.c:139028:12: */ +func pushDownWhereTerms(tls *libc.TLS, pParse uintptr, pSubq uintptr, pWhere uintptr, iCursor int32, isLeftJoin int32) int32 { /* sqlite3.c:139041:12: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -120812,7 +120831,7 @@ func pushDownWhereTerms(tls *libc.TLS, pParse uintptr, pSubq uintptr, pWhere uin // This routine must be called after aggregate functions have been // located but before their arguments have been subjected to aggregate // analysis. -func minMaxQuery(tls *libc.TLS, db uintptr, pFunc uintptr, ppMinMax uintptr) U8 { /* sqlite3.c:139132:11: */ +func minMaxQuery(tls *libc.TLS, db uintptr, pFunc uintptr, ppMinMax uintptr) U8 { /* sqlite3.c:139145:11: */ var eRet int32 = WHERE_ORDERBY_NORMAL // Return value var pEList uintptr // Arguments to agg function var zFunc uintptr // Name of aggregate function pFunc @@ -120862,7 +120881,7 @@ func minMaxQuery(tls *libc.TLS, db uintptr, pFunc uintptr, ppMinMax uintptr) U8 // this routine returns NULL when it could have returned a table pointer. // But returning the pointer when NULL should have been returned can // result in incorrect answers and/or crashes. So, when in doubt, return NULL. -func isSimpleCount(tls *libc.TLS, p uintptr, pAggInfo uintptr) uintptr { /* sqlite3.c:139187:14: */ +func isSimpleCount(tls *libc.TLS, p uintptr, pAggInfo uintptr) uintptr { /* sqlite3.c:139200:14: */ var pTab uintptr var pExpr uintptr @@ -120902,7 +120921,7 @@ func isSimpleCount(tls *libc.TLS, p uintptr, pAggInfo uintptr) uintptr { /* sqli // was such a clause and the named index cannot be found, return // SQLITE_ERROR and leave an error in pParse. Otherwise, populate // pFrom->pIndex and return SQLITE_OK. -func Xsqlite3IndexedByLookup(tls *libc.TLS, pParse uintptr, pFrom uintptr) int32 { /* sqlite3.c:139225:20: */ +func Xsqlite3IndexedByLookup(tls *libc.TLS, pParse uintptr, pFrom uintptr) int32 { /* sqlite3.c:139238:20: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -120941,7 +120960,7 @@ func Xsqlite3IndexedByLookup(tls *libc.TLS, pParse uintptr, pFrom uintptr) int32 // This transformation is only needed for EXCEPT, INTERSECT, and UNION. // The UNION ALL operator works fine with multiSelectOrderBy() even when // there are COLLATE terms in the ORDER BY. -func convertCompoundSelectToSubquery(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sqlite3.c:139267:12: */ +func convertCompoundSelectToSubquery(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sqlite3.c:139280:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -121020,7 +121039,7 @@ func convertCompoundSelectToSubquery(tls *libc.TLS, pWalker uintptr, p uintptr) // Check to see if the FROM clause term pFrom has table-valued function // arguments. If it does, leave an error message in pParse and return // non-zero, since pFrom is not allowed to be a table-valued function. -func cannotBeFunction(tls *libc.TLS, pParse uintptr, pFrom uintptr) int32 { /* sqlite3.c:139332:12: */ +func cannotBeFunction(tls *libc.TLS, pParse uintptr, pFrom uintptr) int32 { /* sqlite3.c:139345:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -121039,7 +121058,7 @@ func cannotBeFunction(tls *libc.TLS, pParse uintptr, pFrom uintptr) int32 { /* s // // If a non-NULL value is returned, set *ppContext to point to the With // object that the returned CTE belongs to. -func searchWith(tls *libc.TLS, pWith uintptr, pItem uintptr, ppContext uintptr) uintptr { /* sqlite3.c:139351:19: */ +func searchWith(tls *libc.TLS, pWith uintptr, pItem uintptr, ppContext uintptr) uintptr { /* sqlite3.c:139364:19: */ var zName uintptr = (*SrcItem)(unsafe.Pointer(pItem)).FzName var p uintptr @@ -121074,7 +121093,7 @@ func searchWith(tls *libc.TLS, pWith uintptr, pItem uintptr, ppContext uintptr) // // If bFree is true, do not continue to use the pWith pointer after // calling this routine, Instead, use only the return value. -func Xsqlite3WithPush(tls *libc.TLS, pParse uintptr, pWith uintptr, bFree U8) uintptr { /* sqlite3.c:139390:21: */ +func Xsqlite3WithPush(tls *libc.TLS, pParse uintptr, pWith uintptr, bFree U8) uintptr { /* sqlite3.c:139403:21: */ if pWith != 0 { if bFree != 0 { pWith = Xsqlite3ParserAddCleanup(tls, pParse, @@ -121107,7 +121126,7 @@ func Xsqlite3WithPush(tls *libc.TLS, pParse uintptr, pWith uintptr, bFree U8) ui // Return 0 if no match is found. // Return 1 if a match is found. // Return 2 if an error condition is detected. -func resolveFromTermToCte(tls *libc.TLS, pParse uintptr, pWalker uintptr, pFrom uintptr) int32 { /* sqlite3.c:139421:12: */ +func resolveFromTermToCte(tls *libc.TLS, pParse uintptr, pWalker uintptr, pFrom uintptr) int32 { /* sqlite3.c:139434:12: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -121289,7 +121308,7 @@ func resolveFromTermToCte(tls *libc.TLS, pParse uintptr, pWalker uintptr, pFrom // This function is used as the xSelectCallback2() callback by // sqlite3SelectExpand() when walking a SELECT tree to resolve table // names and other FROM clause elements. -func Xsqlite3SelectPopWith(tls *libc.TLS, pWalker uintptr, p uintptr) { /* sqlite3.c:139605:21: */ +func Xsqlite3SelectPopWith(tls *libc.TLS, pWalker uintptr, p uintptr) { /* sqlite3.c:139618:21: */ var pParse uintptr = (*Walker)(unsafe.Pointer(pWalker)).FpParse if (*Parse)(unsafe.Pointer(pParse)).FpWith != 0 && (*Select)(unsafe.Pointer(p)).FpPrior == uintptr(0) { var pWith uintptr = (*Select)(unsafe.Pointer(findRightmost(tls, p))).FpWith @@ -121305,7 +121324,7 @@ func Xsqlite3SelectPopWith(tls *libc.TLS, pWalker uintptr, p uintptr) { /* sqlit // allocates and populates the SrcList_item.pTab object. If successful, // SQLITE_OK is returned. Otherwise, if an OOM error is encountered, // SQLITE_NOMEM. -func Xsqlite3ExpandSubquery(tls *libc.TLS, pParse uintptr, pFrom uintptr) int32 { /* sqlite3.c:139624:20: */ +func Xsqlite3ExpandSubquery(tls *libc.TLS, pParse uintptr, pFrom uintptr) int32 { /* sqlite3.c:139637:20: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -121359,7 +121378,7 @@ func Xsqlite3ExpandSubquery(tls *libc.TLS, pParse uintptr, pFrom uintptr) int32 // If found, expand each "*" to be every column in every table // and TABLE.* to be every column in TABLE. // -func selectExpander(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sqlite3.c:139676:12: */ +func selectExpander(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sqlite3.c:139689:12: */ bp := tls.Alloc(88) defer tls.Free(88) @@ -121708,7 +121727,7 @@ __3: // If anything goes wrong, an error message is written into pParse. // The calling function can detect the problem by looking at pParse->nErr // and/or pParse->db->mallocFailed. -func sqlite3SelectExpand(tls *libc.TLS, pParse uintptr, pSelect uintptr) { /* sqlite3.c:140003:13: */ +func sqlite3SelectExpand(tls *libc.TLS, pParse uintptr, pSelect uintptr) { /* sqlite3.c:140016:13: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -121746,7 +121765,7 @@ func sqlite3SelectExpand(tls *libc.TLS, pParse uintptr, pSelect uintptr) { /* sq // by selectExpander() but the type and collation information was omitted // at that point because identifiers had not yet been resolved. This // routine is called after identifier resolution. -func selectAddSubqueryTypeInfo(tls *libc.TLS, pWalker uintptr, p uintptr) { /* sqlite3.c:140033:13: */ +func selectAddSubqueryTypeInfo(tls *libc.TLS, pWalker uintptr, p uintptr) { /* sqlite3.c:140046:13: */ var pParse uintptr var i int32 var pTabList uintptr @@ -121794,7 +121813,7 @@ __3: // SELECT statement. // // Use this routine after name resolution. -func sqlite3SelectAddTypeInfo(tls *libc.TLS, pParse uintptr, pSelect uintptr) { /* sqlite3.c:140068:13: */ +func sqlite3SelectAddTypeInfo(tls *libc.TLS, pParse uintptr, pSelect uintptr) { /* sqlite3.c:140081:13: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -121823,7 +121842,7 @@ func sqlite3SelectAddTypeInfo(tls *libc.TLS, pParse uintptr, pSelect uintptr) { // * Identifiers in expression are matched to tables. // // This routine acts recursively on all subqueries within the SELECT. -func Xsqlite3SelectPrep(tls *libc.TLS, pParse uintptr, p uintptr, pOuterNC uintptr) { /* sqlite3.c:140092:21: */ +func Xsqlite3SelectPrep(tls *libc.TLS, pParse uintptr, p uintptr, pOuterNC uintptr) { /* sqlite3.c:140105:21: */ if (*Sqlite3)(unsafe.Pointer((*Parse)(unsafe.Pointer(pParse)).Fdb)).FmallocFailed != 0 { return @@ -121848,7 +121867,7 @@ func Xsqlite3SelectPrep(tls *libc.TLS, pParse uintptr, p uintptr, pOuterNC uintp // intermediate results while calculating an aggregate. This // routine generates code that stores NULLs in all of those memory // cells. -func resetAccumulator(tls *libc.TLS, pParse uintptr, pAggInfo uintptr) { /* sqlite3.c:140116:13: */ +func resetAccumulator(tls *libc.TLS, pParse uintptr, pAggInfo uintptr) { /* sqlite3.c:140129:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -121898,7 +121917,7 @@ __3: // Invoke the OP_AggFinalize opcode for every aggregate function // in the AggInfo structure. -func finalizeAggFunctions(tls *libc.TLS, pParse uintptr, pAggInfo uintptr) { /* sqlite3.c:140162:13: */ +func finalizeAggFunctions(tls *libc.TLS, pParse uintptr, pAggInfo uintptr) { /* sqlite3.c:140175:13: */ var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe var i int32 var pF uintptr @@ -121937,7 +121956,7 @@ __3: // in pAggInfo, then only populate the pAggInfo->nAccumulator accumulator // registers if register regAcc contains 0. The caller will take care // of setting and clearing regAcc. -func updateAccumulator(tls *libc.TLS, pParse uintptr, regAcc int32, pAggInfo uintptr, eDistinctType int32) { /* sqlite3.c:140185:13: */ +func updateAccumulator(tls *libc.TLS, pParse uintptr, regAcc int32, pAggInfo uintptr, eDistinctType int32) { /* sqlite3.c:140198:13: */ var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe var i int32 var regHit int32 = 0 @@ -122078,7 +122097,7 @@ __9: // Add a single OP_Explain instruction to the VDBE to explain a simple // count(*) query ("SELECT count(*) FROM pTab"). -func explainSimpleCount(tls *libc.TLS, pParse uintptr, pTab uintptr, pIdx uintptr) { /* sqlite3.c:140287:13: */ +func explainSimpleCount(tls *libc.TLS, pParse uintptr, pTab uintptr, pIdx uintptr) { /* sqlite3.c:140300:13: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -122110,7 +122129,7 @@ func explainSimpleCount(tls *libc.TLS, pParse uintptr, pTab uintptr, pIdx uintpt // sub-expression matches the criteria for being moved to the WHERE // clause. If so, add it to the WHERE clause and replace the sub-expression // within the HAVING expression with a constant "1". -func havingToWhereExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:140316:12: */ +func havingToWhereExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:140329:12: */ if int32((*Expr)(unsafe.Pointer(pExpr)).Fop) != TK_AND { var pS uintptr = *(*uintptr)(unsafe.Pointer(pWalker + 40)) // This routine is called before the HAVING clause of the current @@ -122156,7 +122175,7 @@ func havingToWhereExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { // A term of the HAVING expression is eligible for transfer if it consists // entirely of constants and expressions that are also GROUP BY terms that // use the "BINARY" collation sequence. -func havingToWhere(tls *libc.TLS, pParse uintptr, p uintptr) { /* sqlite3.c:140360:13: */ +func havingToWhere(tls *libc.TLS, pParse uintptr, p uintptr) { /* sqlite3.c:140373:13: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -122174,7 +122193,7 @@ func havingToWhere(tls *libc.TLS, pParse uintptr, p uintptr) { /* sqlite3.c:1403 // Check to see if the pThis entry of pTabList is a self-join of a prior view. // If it is, then return the SrcList_item for the prior view. If it is not, // then return 0. -func isSelfJoinView(tls *libc.TLS, pTabList uintptr, pThis uintptr) uintptr { /* sqlite3.c:140380:16: */ +func isSelfJoinView(tls *libc.TLS, pTabList uintptr, pThis uintptr) uintptr { /* sqlite3.c:140393:16: */ var pItem uintptr if (*Select)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pThis)).FpSelect)).FselFlags&U32(SF_PushDown) != 0 { @@ -122215,7 +122234,7 @@ func isSelfJoinView(tls *libc.TLS, pTabList uintptr, pThis uintptr) uintptr { /* } // Deallocate a single AggInfo object -func agginfoFree(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:140415:13: */ +func agginfoFree(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:140428:13: */ Xsqlite3DbFree(tls, db, (*AggInfo)(unsafe.Pointer(p)).FaCol) Xsqlite3DbFree(tls, db, (*AggInfo)(unsafe.Pointer(p)).FaFunc) Xsqlite3DbFreeNN(tls, db, p) @@ -122232,7 +122251,7 @@ func agginfoFree(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:140415:13: // // This routine does NOT free the Select structure passed in. The // calling function needs to do that. -func Xsqlite3Select(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) int32 { /* sqlite3.c:140523:20: */ +func Xsqlite3Select(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) int32 { /* sqlite3.c:140536:20: */ bp := tls.Alloc(216) defer tls.Free(216) @@ -123829,7 +123848,7 @@ type TabResult1 = struct { FnData U32 Frc int32 F__ccgo_pad1 [4]byte -} /* sqlite3.c:141786:9 */ +} /* sqlite3.c:141799:9 */ //************* End of select.c ********************************************* //************* Begin file table.c ****************************************** @@ -123853,12 +123872,12 @@ type TabResult1 = struct { // This structure is used to pass data from sqlite3_get_table() through // to the callback function is uses to build the result. -type TabResult = TabResult1 /* sqlite3.c:141794:3 */ +type TabResult = TabResult1 /* sqlite3.c:141807:3 */ // This routine is called once for each row in the result table. Its job // is to fill in the TabResult structure appropriately, allocating new // memory as necessary. -func sqlite3_get_table_cb(tls *libc.TLS, pArg uintptr, nCol int32, argv uintptr, colv uintptr) int32 { /* sqlite3.c:141801:12: */ +func sqlite3_get_table_cb(tls *libc.TLS, pArg uintptr, nCol int32, argv uintptr, colv uintptr) int32 { /* sqlite3.c:141814:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -123989,7 +124008,7 @@ malloc_failed: // from malloc(). But the caller cannot free this memory directly. // Instead, the entire table should be passed to sqlite3_free_table() when // the calling procedure is finished using it. -func Xsqlite3_get_table(tls *libc.TLS, db uintptr, zSql uintptr, pazResult uintptr, pnRow uintptr, pnColumn uintptr, pzErrMsg uintptr) int32 { /* sqlite3.c:141875:16: */ +func Xsqlite3_get_table(tls *libc.TLS, db uintptr, zSql uintptr, pazResult uintptr, pnRow uintptr, pnColumn uintptr, pzErrMsg uintptr) int32 { /* sqlite3.c:141888:16: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -124061,7 +124080,7 @@ func Xsqlite3_get_table(tls *libc.TLS, db uintptr, zSql uintptr, pazResult uintp } // This routine frees the space the sqlite3_get_table() malloced. -func Xsqlite3_free_table(tls *libc.TLS, azResult uintptr) { /* sqlite3.c:141944:17: */ +func Xsqlite3_free_table(tls *libc.TLS, azResult uintptr) { /* sqlite3.c:141957:17: */ if azResult != 0 { var i int32 var n int32 @@ -124092,7 +124111,7 @@ func Xsqlite3_free_table(tls *libc.TLS, azResult uintptr) { /* sqlite3.c:141944: // #include "sqliteInt.h" // Delete a linked list of TriggerStep structures. -func Xsqlite3DeleteTriggerStep(tls *libc.TLS, db uintptr, pTriggerStep uintptr) { /* sqlite3.c:141979:21: */ +func Xsqlite3DeleteTriggerStep(tls *libc.TLS, db uintptr, pTriggerStep uintptr) { /* sqlite3.c:141992:21: */ for pTriggerStep != 0 { var pTmp uintptr = pTriggerStep pTriggerStep = (*TriggerStep)(unsafe.Pointer(pTriggerStep)).FpNext @@ -124121,7 +124140,7 @@ func Xsqlite3DeleteTriggerStep(tls *libc.TLS, db uintptr, pTriggerStep uintptr) // To state it another way: This routine returns a list of all triggers // that fire off of pTab. The list will include any TEMP triggers on // pTab as well as the triggers lised in pTab->pTrigger. -func Xsqlite3TriggerList(tls *libc.TLS, pParse uintptr, pTab uintptr) uintptr { /* sqlite3.c:142010:24: */ +func Xsqlite3TriggerList(tls *libc.TLS, pParse uintptr, pTab uintptr) uintptr { /* sqlite3.c:142023:24: */ var pTmpSchema uintptr // Schema of the pTab table var pList uintptr // List of triggers to return var p uintptr // Loop variable for TEMP triggers @@ -124159,7 +124178,7 @@ func Xsqlite3TriggerList(tls *libc.TLS, pParse uintptr, pTab uintptr) uintptr { // in pParse->pNewTrigger. After the trigger actions have been parsed, the // sqlite3FinishTrigger() function is called to complete the trigger // construction process. -func Xsqlite3BeginTrigger(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 uintptr, tr_tm int32, op int32, pColumns uintptr, pTableName uintptr, pWhen uintptr, isTemp int32, noErr int32) { /* sqlite3.c:142066:21: */ +func Xsqlite3BeginTrigger(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 uintptr, tr_tm int32, op int32, pColumns uintptr, pTableName uintptr, pWhen uintptr, isTemp int32, noErr int32) { /* sqlite3.c:142079:21: */ bp := tls.Alloc(136) defer tls.Free(136) @@ -124466,7 +124485,7 @@ __31: // This routine is called after all of the trigger actions have been parsed // in order to complete the process of building the trigger. -func Xsqlite3FinishTrigger(tls *libc.TLS, pParse uintptr, pStepList uintptr, pAll uintptr) { /* sqlite3.c:142273:21: */ +func Xsqlite3FinishTrigger(tls *libc.TLS, pParse uintptr, pStepList uintptr, pAll uintptr) { /* sqlite3.c:142286:21: */ bp := tls.Alloc(152) defer tls.Free(152) @@ -124590,7 +124609,7 @@ triggerfinish_cleanup: // Duplicate a range of text from an SQL statement, then convert all // whitespace characters into ordinary space characters. -func triggerSpanDup(tls *libc.TLS, db uintptr, zStart uintptr, zEnd uintptr) uintptr { /* sqlite3.c:142361:13: */ +func triggerSpanDup(tls *libc.TLS, db uintptr, zStart uintptr, zEnd uintptr) uintptr { /* sqlite3.c:142374:13: */ var z uintptr = Xsqlite3DbSpanDup(tls, db, zStart, zEnd) var i int32 if z != 0 { @@ -124608,7 +124627,7 @@ func triggerSpanDup(tls *libc.TLS, db uintptr, zStart uintptr, zEnd uintptr) uin // // The parser calls this routine when it finds a SELECT statement in // body of a TRIGGER. -func Xsqlite3TriggerSelectStep(tls *libc.TLS, db uintptr, pSelect uintptr, zStart uintptr, zEnd uintptr) uintptr { /* sqlite3.c:142375:28: */ +func Xsqlite3TriggerSelectStep(tls *libc.TLS, db uintptr, pSelect uintptr, zStart uintptr, zEnd uintptr) uintptr { /* sqlite3.c:142388:28: */ var pTriggerStep uintptr = Xsqlite3DbMallocZero(tls, db, uint64(unsafe.Sizeof(TriggerStep{}))) if pTriggerStep == uintptr(0) { Xsqlite3SelectDelete(tls, db, pSelect) @@ -124625,7 +124644,7 @@ func Xsqlite3TriggerSelectStep(tls *libc.TLS, db uintptr, pSelect uintptr, zStar // holds both the TriggerStep object and the TriggerStep.target.z string. // // If an OOM error occurs, NULL is returned and db->mallocFailed is set. -func triggerStepAllocate(tls *libc.TLS, pParse uintptr, op U8, pName uintptr, zStart uintptr, zEnd uintptr) uintptr { /* sqlite3.c:142399:20: */ +func triggerStepAllocate(tls *libc.TLS, pParse uintptr, op U8, pName uintptr, zStart uintptr, zEnd uintptr) uintptr { /* sqlite3.c:142412:20: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb var pTriggerStep uintptr @@ -124652,7 +124671,7 @@ func triggerStepAllocate(tls *libc.TLS, pParse uintptr, op U8, pName uintptr, zS // // The parser calls this routine when it sees an INSERT inside the // body of a trigger. -func Xsqlite3TriggerInsertStep(tls *libc.TLS, pParse uintptr, pTableName uintptr, pColumn uintptr, pSelect uintptr, orconf U8, pUpsert uintptr, zStart uintptr, zEnd uintptr) uintptr { /* sqlite3.c:142432:28: */ +func Xsqlite3TriggerInsertStep(tls *libc.TLS, pParse uintptr, pTableName uintptr, pColumn uintptr, pSelect uintptr, orconf U8, pUpsert uintptr, zStart uintptr, zEnd uintptr) uintptr { /* sqlite3.c:142445:28: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb var pTriggerStep uintptr @@ -124684,7 +124703,7 @@ func Xsqlite3TriggerInsertStep(tls *libc.TLS, pParse uintptr, pTableName uintptr // Construct a trigger step that implements an UPDATE statement and return // a pointer to that trigger step. The parser calls this routine when it // sees an UPDATE statement inside the body of a CREATE TRIGGER. -func Xsqlite3TriggerUpdateStep(tls *libc.TLS, pParse uintptr, pTableName uintptr, pFrom uintptr, pEList uintptr, pWhere uintptr, orconf U8, zStart uintptr, zEnd uintptr) uintptr { /* sqlite3.c:142477:28: */ +func Xsqlite3TriggerUpdateStep(tls *libc.TLS, pParse uintptr, pTableName uintptr, pFrom uintptr, pEList uintptr, pWhere uintptr, orconf U8, zStart uintptr, zEnd uintptr) uintptr { /* sqlite3.c:142490:28: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb var pTriggerStep uintptr @@ -124713,7 +124732,7 @@ func Xsqlite3TriggerUpdateStep(tls *libc.TLS, pParse uintptr, pTableName uintptr // Construct a trigger step that implements a DELETE statement and return // a pointer to that trigger step. The parser calls this routine when it // sees a DELETE statement inside the body of a CREATE TRIGGER. -func Xsqlite3TriggerDeleteStep(tls *libc.TLS, pParse uintptr, pTableName uintptr, pWhere uintptr, zStart uintptr, zEnd uintptr) uintptr { /* sqlite3.c:142517:28: */ +func Xsqlite3TriggerDeleteStep(tls *libc.TLS, pParse uintptr, pTableName uintptr, pWhere uintptr, zStart uintptr, zEnd uintptr) uintptr { /* sqlite3.c:142530:28: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb var pTriggerStep uintptr @@ -124732,7 +124751,7 @@ func Xsqlite3TriggerDeleteStep(tls *libc.TLS, pParse uintptr, pTableName uintptr } // Recursively delete a Trigger structure -func Xsqlite3DeleteTrigger(tls *libc.TLS, db uintptr, pTrigger uintptr) { /* sqlite3.c:142544:21: */ +func Xsqlite3DeleteTrigger(tls *libc.TLS, db uintptr, pTrigger uintptr) { /* sqlite3.c:142557:21: */ if pTrigger == uintptr(0) || (*Trigger)(unsafe.Pointer(pTrigger)).FbReturning != 0 { return } @@ -124752,7 +124771,7 @@ func Xsqlite3DeleteTrigger(tls *libc.TLS, db uintptr, pTrigger uintptr) { /* sql // same job as this routine except it takes a pointer to the trigger // instead of the trigger name. // -func Xsqlite3DropTrigger(tls *libc.TLS, pParse uintptr, pName uintptr, noErr int32) { /* sqlite3.c:142562:21: */ +func Xsqlite3DropTrigger(tls *libc.TLS, pParse uintptr, pName uintptr, noErr int32) { /* sqlite3.c:142575:21: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -124836,12 +124855,12 @@ drop_trigger_cleanup: // Return a pointer to the Table structure for the table that a trigger // is set on. -func tableOfTrigger(tls *libc.TLS, pTrigger uintptr) uintptr { /* sqlite3.c:142604:14: */ +func tableOfTrigger(tls *libc.TLS, pTrigger uintptr) uintptr { /* sqlite3.c:142617:14: */ return Xsqlite3HashFind(tls, (*Trigger)(unsafe.Pointer(pTrigger)).FpTabSchema+8, (*Trigger)(unsafe.Pointer(pTrigger)).Ftable) } // Drop a trigger given a pointer to that trigger. -func Xsqlite3DropTriggerPtr(tls *libc.TLS, pParse uintptr, pTrigger uintptr) { /* sqlite3.c:142612:21: */ +func Xsqlite3DropTriggerPtr(tls *libc.TLS, pParse uintptr, pTrigger uintptr) { /* sqlite3.c:142625:21: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -124882,7 +124901,7 @@ func Xsqlite3DropTriggerPtr(tls *libc.TLS, pParse uintptr, pTrigger uintptr) { / } // Remove a trigger from the hash tables of the sqlite* pointer. -func Xsqlite3UnlinkAndDeleteTrigger(tls *libc.TLS, db uintptr, iDb int32, zName uintptr) { /* sqlite3.c:142650:21: */ +func Xsqlite3UnlinkAndDeleteTrigger(tls *libc.TLS, db uintptr, iDb int32, zName uintptr) { /* sqlite3.c:142663:21: */ var pTrigger uintptr var pHash uintptr @@ -124913,7 +124932,7 @@ func Xsqlite3UnlinkAndDeleteTrigger(tls *libc.TLS, db uintptr, iDb int32, zName // wildcard that matches anything. Likewise if pEList==NULL then // it matches anything so always return true. Return false only // if there is no match. -func checkColumnOverlap(tls *libc.TLS, pIdList uintptr, pEList uintptr) int32 { /* sqlite3.c:142684:12: */ +func checkColumnOverlap(tls *libc.TLS, pIdList uintptr, pEList uintptr) int32 { /* sqlite3.c:142697:12: */ var e int32 if pIdList == uintptr(0) || pEList == uintptr(0) { return 1 @@ -124930,7 +124949,7 @@ func checkColumnOverlap(tls *libc.TLS, pIdList uintptr, pEList uintptr) int32 { // one trigger that must be fired when an operation of type 'op' is // performed on the table, and, if that operation is an UPDATE, if at // least one of the columns in pChanges is being modified. -func Xsqlite3TriggersExist(tls *libc.TLS, pParse uintptr, pTab uintptr, op int32, pChanges uintptr, pMask uintptr) uintptr { /* sqlite3.c:142699:24: */ +func Xsqlite3TriggersExist(tls *libc.TLS, pParse uintptr, pTab uintptr, op int32, pChanges uintptr, pMask uintptr) uintptr { /* sqlite3.c:142712:24: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -125057,7 +125076,7 @@ __17: // referring to a target in another database. An exception is when the // trigger is in TEMP in which case it can refer to any other database it // wants. -func Xsqlite3TriggerStepSrc(tls *libc.TLS, pParse uintptr, pStep uintptr) uintptr { /* sqlite3.c:142773:24: */ +func Xsqlite3TriggerStepSrc(tls *libc.TLS, pParse uintptr, pStep uintptr) uintptr { /* sqlite3.c:142786:24: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb var pSrc uintptr // SrcList to be returned var zName uintptr = Xsqlite3DbStrDup(tls, db, (*TriggerStep)(unsafe.Pointer(pStep)).FzTarget) @@ -125082,7 +125101,7 @@ func Xsqlite3TriggerStepSrc(tls *libc.TLS, pParse uintptr, pStep uintptr) uintpt // Return true if the pExpr term from the RETURNING clause argument // list is of the form "*". Raise an error if the terms if of the // form "table.*". -func isAsteriskTerm(tls *libc.TLS, pParse uintptr, pTerm uintptr) int32 { /* sqlite3.c:142804:12: */ +func isAsteriskTerm(tls *libc.TLS, pParse uintptr, pTerm uintptr) int32 { /* sqlite3.c:142817:12: */ if int32((*Expr)(unsafe.Pointer(pTerm)).Fop) == TK_ASTERISK { return 1 @@ -125103,7 +125122,7 @@ func isAsteriskTerm(tls *libc.TLS, pParse uintptr, pTerm uintptr) int32 { /* sql // // This routine makes a copy of the pList, and at the same time expands // any "*" wildcards to be the complete set of columns from pTab. -func sqlite3ExpandReturning(tls *libc.TLS, pParse uintptr, pList uintptr, pTab uintptr) uintptr { /* sqlite3.c:142824:17: */ +func sqlite3ExpandReturning(tls *libc.TLS, pParse uintptr, pList uintptr, pTab uintptr) uintptr { /* sqlite3.c:142837:17: */ var pNew uintptr = uintptr(0) var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb var i int32 @@ -125144,7 +125163,7 @@ func sqlite3ExpandReturning(tls *libc.TLS, pParse uintptr, pList uintptr, pTab u // Generate code for the RETURNING trigger. Unlike other triggers // that invoke a subprogram in the bytecode, the code for RETURNING // is generated in-line. -func codeReturningTrigger(tls *libc.TLS, pParse uintptr, pTrigger uintptr, pTab uintptr, regIn int32) { /* sqlite3.c:142867:13: */ +func codeReturningTrigger(tls *libc.TLS, pParse uintptr, pTrigger uintptr, pTab uintptr, regIn int32) { /* sqlite3.c:142880:13: */ bp := tls.Alloc(304) defer tls.Free(304) @@ -125212,7 +125231,7 @@ func codeReturningTrigger(tls *libc.TLS, pParse uintptr, pTrigger uintptr, pTab // Generate VDBE code for the statements inside the body of a single // trigger. -func codeTriggerProgram(tls *libc.TLS, pParse uintptr, pStepList uintptr, orconf int32) int32 { /* sqlite3.c:142943:12: */ +func codeTriggerProgram(tls *libc.TLS, pParse uintptr, pStepList uintptr, orconf int32) int32 { /* sqlite3.c:142956:12: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -125299,7 +125318,7 @@ func codeTriggerProgram(tls *libc.TLS, pParse uintptr, pStepList uintptr, orconf // Parse context structure pFrom has just been used to create a sub-vdbe // (trigger program). If an error has occurred, transfer error information // from pFrom to pTo. -func transferParseError(tls *libc.TLS, pTo uintptr, pFrom uintptr) { /* sqlite3.c:143047:13: */ +func transferParseError(tls *libc.TLS, pTo uintptr, pFrom uintptr) { /* sqlite3.c:143060:13: */ if (*Parse)(unsafe.Pointer(pTo)).FnErr == 0 { (*Parse)(unsafe.Pointer(pTo)).FzErrMsg = (*Parse)(unsafe.Pointer(pFrom)).FzErrMsg @@ -125312,7 +125331,7 @@ func transferParseError(tls *libc.TLS, pTo uintptr, pFrom uintptr) { /* sqlite3. // Create and populate a new TriggerPrg object with a sub-program // implementing trigger pTrigger with ON CONFLICT policy orconf. -func codeRowTrigger(tls *libc.TLS, pParse uintptr, pTrigger uintptr, pTab uintptr, orconf int32) uintptr { /* sqlite3.c:143063:19: */ +func codeRowTrigger(tls *libc.TLS, pParse uintptr, pTrigger uintptr, pTab uintptr, orconf int32) uintptr { /* sqlite3.c:143076:19: */ bp := tls.Alloc(472) defer tls.Free(472) @@ -125418,7 +125437,7 @@ func codeRowTrigger(tls *libc.TLS, pParse uintptr, pTrigger uintptr, pTab uintpt // trigger pTrigger with default ON CONFLICT algorithm orconf. If no such // TriggerPrg object exists, a new object is allocated and populated before // being returned. -func getRowTrigger(tls *libc.TLS, pParse uintptr, pTrigger uintptr, pTab uintptr, orconf int32) uintptr { /* sqlite3.c:143177:19: */ +func getRowTrigger(tls *libc.TLS, pParse uintptr, pTrigger uintptr, pTab uintptr, orconf int32) uintptr { /* sqlite3.c:143190:19: */ var pRoot uintptr = func() uintptr { if (*Parse)(unsafe.Pointer(pParse)).FpToplevel != 0 { return (*Parse)(unsafe.Pointer(pParse)).FpToplevel @@ -125447,7 +125466,7 @@ func getRowTrigger(tls *libc.TLS, pParse uintptr, pTrigger uintptr, pTab uintptr // table pTab. The reg, orconf and ignoreJump parameters passed to this // function are the same as those described in the header function for // sqlite3CodeRowTrigger() -func Xsqlite3CodeRowTriggerDirect(tls *libc.TLS, pParse uintptr, p uintptr, pTab uintptr, reg int32, orconf int32, ignoreJump int32) { /* sqlite3.c:143212:21: */ +func Xsqlite3CodeRowTriggerDirect(tls *libc.TLS, pParse uintptr, p uintptr, pTab uintptr, reg int32, orconf int32, ignoreJump int32) { /* sqlite3.c:143225:21: */ var v uintptr = Xsqlite3GetVdbe(tls, pParse) // Main VM var pPrg uintptr pPrg = getRowTrigger(tls, pParse, p, pTab, orconf) @@ -125507,7 +125526,7 @@ func Xsqlite3CodeRowTriggerDirect(tls *libc.TLS, pParse uintptr, p uintptr, pTab // trigger program to use (REPLACE, IGNORE etc.). Parameter ignoreJump // is the instruction that control should jump to if a trigger program // raises an IGNORE exception. -func Xsqlite3CodeRowTrigger(tls *libc.TLS, pParse uintptr, pTrigger uintptr, op int32, pChanges uintptr, tr_tm int32, pTab uintptr, reg int32, orconf int32, ignoreJump int32) { /* sqlite3.c:143284:21: */ +func Xsqlite3CodeRowTrigger(tls *libc.TLS, pParse uintptr, pTrigger uintptr, op int32, pChanges uintptr, tr_tm int32, pTab uintptr, reg int32, orconf int32, ignoreJump int32) { /* sqlite3.c:143297:21: */ var p uintptr // Used to iterate through pTrigger list for p = pTrigger; p != 0; p = (*Trigger)(unsafe.Pointer(p)).FpNext { @@ -125555,7 +125574,7 @@ func Xsqlite3CodeRowTrigger(tls *libc.TLS, pParse uintptr, pTrigger uintptr, op // included in the returned mask if the TRIGGER_BEFORE bit is set in the // tr_tm parameter. Similarly, values accessed by AFTER triggers are only // included in the returned mask if the TRIGGER_AFTER bit is set in tr_tm. -func Xsqlite3TriggerColmask(tls *libc.TLS, pParse uintptr, pTrigger uintptr, pChanges uintptr, isNew int32, tr_tm int32, pTab uintptr, orconf int32) U32 { /* sqlite3.c:143354:20: */ +func Xsqlite3TriggerColmask(tls *libc.TLS, pParse uintptr, pTrigger uintptr, pChanges uintptr, isNew int32, tr_tm int32, pTab uintptr, orconf int32) U32 { /* sqlite3.c:143367:20: */ var op int32 if pChanges != 0 { op = TK_UPDATE @@ -125612,7 +125631,7 @@ func Xsqlite3TriggerColmask(tls *libc.TLS, pParse uintptr, pTrigger uintptr, pCh // (not a virtual table) then the value might have been stored as an // integer. In that case, add an OP_RealAffinity opcode to make sure // it has been converted into REAL. -func Xsqlite3ColumnDefault(tls *libc.TLS, v uintptr, pTab uintptr, i int32, iReg int32) { /* sqlite3.c:143452:21: */ +func Xsqlite3ColumnDefault(tls *libc.TLS, v uintptr, pTab uintptr, i int32, iReg int32) { /* sqlite3.c:143465:21: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -125642,7 +125661,7 @@ func Xsqlite3ColumnDefault(tls *libc.TLS, v uintptr, pTab uintptr, i int32, iReg // aXRef[j] will be non-negative if column j of the original table is // being updated. chngRowid will be true if the rowid of the table is // being updated. -func indexColumnIsBeingUpdated(tls *libc.TLS, pIdx uintptr, iCol int32, aXRef uintptr, chngRowid int32) int32 { /* sqlite3.c:143485:12: */ +func indexColumnIsBeingUpdated(tls *libc.TLS, pIdx uintptr, iCol int32, aXRef uintptr, chngRowid int32) int32 { /* sqlite3.c:143498:12: */ var iIdxCol I16 = *(*I16)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FaiColumn + uintptr(iCol)*2)) // Cannot index rowid if int32(iIdxCol) >= 0 { @@ -125663,7 +125682,7 @@ func indexColumnIsBeingUpdated(tls *libc.TLS, pIdx uintptr, iCol int32, aXRef ui // aXRef[j] will be non-negative if column j of the original table is // being updated. chngRowid will be true if the rowid of the table is // being updated. -func indexWhereClauseMightChange(tls *libc.TLS, pIdx uintptr, aXRef uintptr, chngRowid int32) int32 { /* sqlite3.c:143515:12: */ +func indexWhereClauseMightChange(tls *libc.TLS, pIdx uintptr, aXRef uintptr, chngRowid int32) int32 { /* sqlite3.c:143528:12: */ if (*Index)(unsafe.Pointer(pIdx)).FpPartIdxWhere == uintptr(0) { return 0 } @@ -125675,7 +125694,7 @@ func indexWhereClauseMightChange(tls *libc.TLS, pIdx uintptr, aXRef uintptr, chn // Expr.iColumn set to value (iCol+1). The resolver will modify the // expression to be a TK_COLUMN reading column iCol of the first // table in the source-list (pSrc->a[0]). -func exprRowColumn(tls *libc.TLS, pParse uintptr, iCol int32) uintptr { /* sqlite3.c:143531:13: */ +func exprRowColumn(tls *libc.TLS, pParse uintptr, iCol int32) uintptr { /* sqlite3.c:143544:13: */ var pRet uintptr = Xsqlite3PExpr(tls, pParse, TK_ROW, uintptr(0), uintptr(0)) if pRet != 0 { (*Expr)(unsafe.Pointer(pRet)).FiColumn = YnVar(iCol + 1) @@ -125719,7 +125738,7 @@ func exprRowColumn(tls *libc.TLS, pParse uintptr, iCol int32) uintptr { /* sqlit // records with automatically assigned integer keys For intkey tables, the // rowid value in is used as the integer key, and the // remaining fields make up the table record. -func updateFromSelect(tls *libc.TLS, pParse uintptr, iEph int32, pPk uintptr, pChanges uintptr, pTabList uintptr, pWhere uintptr, pOrderBy uintptr, pLimit uintptr) { /* sqlite3.c:143575:13: */ +func updateFromSelect(tls *libc.TLS, pParse uintptr, iEph int32, pPk uintptr, pChanges uintptr, pTabList uintptr, pWhere uintptr, pOrderBy uintptr, pLimit uintptr) { /* sqlite3.c:143588:13: */ bp := tls.Alloc(40) defer tls.Free(40) @@ -125802,7 +125821,7 @@ func updateFromSelect(tls *libc.TLS, pParse uintptr, iEph int32, pPk uintptr, pC // onError | pChanges | pWhere // \_______________________/ // pTabList -func Xsqlite3Update(tls *libc.TLS, pParse uintptr, pTabList uintptr, pChanges uintptr, pWhere uintptr, onError int32, pOrderBy uintptr, pLimit uintptr, pUpsert uintptr) { /* sqlite3.c:143672:21: */ +func Xsqlite3Update(tls *libc.TLS, pParse uintptr, pTabList uintptr, pChanges uintptr, pWhere uintptr, onError int32, pOrderBy uintptr, pLimit uintptr, pUpsert uintptr) { /* sqlite3.c:143685:21: */ bp := tls.Alloc(108) defer tls.Free(108) @@ -127192,7 +127211,7 @@ update_cleanup: // The "onepass" strategy does not use an ephemeral table. Instead, it // stores the same values (A, B and C above) in a register array and // makes a single invocation of VUpdate. -func updateVirtualTable(tls *libc.TLS, pParse uintptr, pSrc uintptr, pTab uintptr, pChanges uintptr, pRowid uintptr, aXRef uintptr, pWhere uintptr, onError int32) { /* sqlite3.c:144564:13: */ +func updateVirtualTable(tls *libc.TLS, pParse uintptr, pSrc uintptr, pTab uintptr, pChanges uintptr, pRowid uintptr, aXRef uintptr, pWhere uintptr, onError int32) { /* sqlite3.c:144577:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -127365,7 +127384,7 @@ func updateVirtualTable(tls *libc.TLS, pParse uintptr, pSrc uintptr, pTab uintpt // #include "sqliteInt.h" // Free a list of Upsert objects -func upsertDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:144752:29: */ +func upsertDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:144765:29: */ for __ccgo := true; __ccgo; __ccgo = p != 0 { var pNext uintptr = (*Upsert)(unsafe.Pointer(p)).FpNextUpsert Xsqlite3ExprListDelete(tls, db, (*Upsert)(unsafe.Pointer(p)).FpUpsertTarget) @@ -127378,14 +127397,14 @@ func upsertDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:144752:29 } } -func Xsqlite3UpsertDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:144764:21: */ +func Xsqlite3UpsertDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:144777:21: */ if p != 0 { upsertDelete(tls, db, p) } } // Duplicate an Upsert object. -func Xsqlite3UpsertDup(tls *libc.TLS, db uintptr, p uintptr) uintptr { /* sqlite3.c:144772:23: */ +func Xsqlite3UpsertDup(tls *libc.TLS, db uintptr, p uintptr) uintptr { /* sqlite3.c:144785:23: */ if p == uintptr(0) { return uintptr(0) } @@ -127398,7 +127417,7 @@ func Xsqlite3UpsertDup(tls *libc.TLS, db uintptr, p uintptr) uintptr { /* sqlite } // Create a new Upsert object. -func Xsqlite3UpsertNew(tls *libc.TLS, db uintptr, pTarget uintptr, pTargetWhere uintptr, pSet uintptr, pWhere uintptr, pNext uintptr) uintptr { /* sqlite3.c:144786:23: */ +func Xsqlite3UpsertNew(tls *libc.TLS, db uintptr, pTarget uintptr, pTargetWhere uintptr, pSet uintptr, pWhere uintptr, pNext uintptr) uintptr { /* sqlite3.c:144799:23: */ var pNew uintptr pNew = Xsqlite3DbMallocZero(tls, db, uint64(unsafe.Sizeof(Upsert{}))) if pNew == uintptr(0) { @@ -127424,7 +127443,7 @@ func Xsqlite3UpsertNew(tls *libc.TLS, db uintptr, pTarget uintptr, pTargetWhere // // Return SQLITE_OK if everything works, or an error code is something // is wrong. -func Xsqlite3UpsertAnalyzeTarget(tls *libc.TLS, pParse uintptr, pTabList uintptr, pUpsert uintptr) int32 { /* sqlite3.c:144821:20: */ +func Xsqlite3UpsertAnalyzeTarget(tls *libc.TLS, pParse uintptr, pTabList uintptr, pUpsert uintptr) int32 { /* sqlite3.c:144834:20: */ bp := tls.Alloc(232) defer tls.Free(232) @@ -127566,7 +127585,7 @@ __3: // Return true if pUpsert is the last ON CONFLICT clause with a // conflict target, or if pUpsert is followed by another ON CONFLICT // clause that targets the INTEGER PRIMARY KEY. -func Xsqlite3UpsertNextIsIPK(tls *libc.TLS, pUpsert uintptr) int32 { /* sqlite3.c:144948:20: */ +func Xsqlite3UpsertNextIsIPK(tls *libc.TLS, pUpsert uintptr) int32 { /* sqlite3.c:144961:20: */ var pNext uintptr if pUpsert == uintptr(0) { return 0 @@ -127588,7 +127607,7 @@ func Xsqlite3UpsertNextIsIPK(tls *libc.TLS, pUpsert uintptr) int32 { /* sqlite3. // a particular index pIdx, return a pointer to the particular ON CONFLICT // clause that applies to the index. Or, if the index is not subject to // any ON CONFLICT clause, return NULL. -func Xsqlite3UpsertOfIndex(tls *libc.TLS, pUpsert uintptr, pIdx uintptr) uintptr { /* sqlite3.c:144964:23: */ +func Xsqlite3UpsertOfIndex(tls *libc.TLS, pUpsert uintptr, pIdx uintptr) uintptr { /* sqlite3.c:144977:23: */ for pUpsert != 0 && (*Upsert)(unsafe.Pointer(pUpsert)).FpUpsertTarget != uintptr(0) && (*Upsert)(unsafe.Pointer(pUpsert)).FpUpsertIdx != pIdx { @@ -127604,7 +127623,7 @@ func Xsqlite3UpsertOfIndex(tls *libc.TLS, pUpsert uintptr, pIdx uintptr) uintptr // currently points to the conflicting table row. Otherwise, if pIdx // is not NULL, then pIdx is the constraint that failed and iCur is a // cursor points to the conflicting row. -func Xsqlite3UpsertDoUpdate(tls *libc.TLS, pParse uintptr, pUpsert uintptr, pTab uintptr, pIdx uintptr, iCur int32) { /* sqlite3.c:144984:21: */ +func Xsqlite3UpsertDoUpdate(tls *libc.TLS, pParse uintptr, pUpsert uintptr, pTab uintptr, pIdx uintptr, iCur int32) { /* sqlite3.c:144997:21: */ var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb var pSrc uintptr // FROM clause for the UPDATE @@ -127684,7 +127703,7 @@ func Xsqlite3UpsertDoUpdate(tls *libc.TLS, pParse uintptr, pUpsert uintptr, pTab // // The execSqlF() routine does the same thing, except it accepts // a format string as its third argument -func execSql(tls *libc.TLS, db uintptr, pzErrMsg uintptr, zSql uintptr) int32 { /* sqlite3.c:145081:12: */ +func execSql(tls *libc.TLS, db uintptr, pzErrMsg uintptr, zSql uintptr) int32 { /* sqlite3.c:145094:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -127724,7 +127743,7 @@ func execSql(tls *libc.TLS, db uintptr, pzErrMsg uintptr, zSql uintptr) int32 { return rc } -func execSqlF(tls *libc.TLS, db uintptr, pzErrMsg uintptr, zSql uintptr, va uintptr) int32 { /* sqlite3.c:145111:12: */ +func execSqlF(tls *libc.TLS, db uintptr, pzErrMsg uintptr, zSql uintptr, va uintptr) int32 { /* sqlite3.c:145124:12: */ var z uintptr var ap Va_list _ = ap @@ -127768,7 +127787,7 @@ func execSqlF(tls *libc.TLS, db uintptr, pzErrMsg uintptr, zSql uintptr, va uint // And a power loss in between deleting the original and renaming the // transient would cause the database file to appear to be deleted // following reboot. -func Xsqlite3Vacuum(tls *libc.TLS, pParse uintptr, pNm uintptr, pInto uintptr) { /* sqlite3.c:145154:21: */ +func Xsqlite3Vacuum(tls *libc.TLS, pParse uintptr, pNm uintptr, pInto uintptr) { /* sqlite3.c:145167:21: */ bp := tls.Alloc(8) defer tls.Free(8) *(*uintptr)(unsafe.Pointer(bp)) = pNm @@ -127825,7 +127844,7 @@ build_vacuum_end: } // This routine implements the OP_Vacuum opcode of the VDBE. -func Xsqlite3RunVacuum(tls *libc.TLS, pzErrMsg uintptr, db uintptr, iDb int32, pOut uintptr) int32 { /* sqlite3.c:145192:36: */ +func Xsqlite3RunVacuum(tls *libc.TLS, pzErrMsg uintptr, db uintptr, iDb int32, pOut uintptr) int32 { /* sqlite3.c:145205:36: */ bp := tls.Alloc(52) defer tls.Free(52) @@ -128163,7 +128182,7 @@ var aCopy = [10]uint8{ uint8(BTREE_TEXT_ENCODING), uint8(0), // Preserve the text encoding uint8(BTREE_USER_VERSION), uint8(0), // Preserve the user version uint8(BTREE_APPLICATION_ID), uint8(0), // Preserve the application id -} /* sqlite3.c:145385:32 */ +} /* sqlite3.c:145398:32 */ // Construct and install a Module object for a virtual table. When this // routine is called, it is guaranteed that all appropriate locks are held @@ -128171,7 +128190,7 @@ var aCopy = [10]uint8{ // // 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 Xsqlite3VtabCreateModule(tls *libc.TLS, db uintptr, zName uintptr, pModule uintptr, pAux uintptr, xDestroy uintptr) uintptr { /* sqlite3.c:145497:23: */ +func Xsqlite3VtabCreateModule(tls *libc.TLS, db uintptr, zName uintptr, pModule uintptr, pAux uintptr, xDestroy uintptr) uintptr { /* sqlite3.c:145510:23: */ var pMod uintptr var pDel uintptr var zCopy uintptr @@ -128211,7 +128230,7 @@ func Xsqlite3VtabCreateModule(tls *libc.TLS, db uintptr, zName uintptr, pModule // The actual function that does the work of creating a new module. // 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) int32 { /* sqlite3.c:145545:12: */ +func createModule(tls *libc.TLS, db uintptr, zName uintptr, pModule uintptr, pAux uintptr, xDestroy uintptr) int32 { /* sqlite3.c:145558:12: */ var rc int32 = SQLITE_OK Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) @@ -128225,18 +128244,18 @@ func createModule(tls *libc.TLS, db uintptr, zName uintptr, pModule uintptr, pAu } // External API function used to create a new virtual-table module. -func Xsqlite3_create_module(tls *libc.TLS, db uintptr, zName uintptr, pModule uintptr, pAux uintptr) int32 { /* sqlite3.c:145566:16: */ +func Xsqlite3_create_module(tls *libc.TLS, db uintptr, zName uintptr, pModule uintptr, pAux uintptr) int32 { /* sqlite3.c:145579:16: */ return createModule(tls, db, zName, pModule, pAux, uintptr(0)) } // 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) int32 { /* sqlite3.c:145581:16: */ +func Xsqlite3_create_module_v2(tls *libc.TLS, db uintptr, zName uintptr, pModule uintptr, pAux uintptr, xDestroy uintptr) int32 { /* sqlite3.c:145594:16: */ return createModule(tls, db, zName, pModule, pAux, xDestroy) } // External API to drop all virtual-table modules, except those named // on the azNames list. -func Xsqlite3_drop_modules(tls *libc.TLS, db uintptr, azNames uintptr) int32 { /* sqlite3.c:145598:16: */ +func Xsqlite3_drop_modules(tls *libc.TLS, db uintptr, azNames uintptr) int32 { /* sqlite3.c:145611:16: */ var pThis uintptr var pNext uintptr for pThis = (*Hash)(unsafe.Pointer(db + 568)).Ffirst; pThis != 0; pThis = pNext { @@ -128257,7 +128276,7 @@ func Xsqlite3_drop_modules(tls *libc.TLS, db uintptr, azNames uintptr) int32 { / // Decrement the reference count on a Module object. Destroy the // module when the reference count reaches zero. -func Xsqlite3VtabModuleUnref(tls *libc.TLS, db uintptr, pMod uintptr) { /* sqlite3.c:145620:21: */ +func Xsqlite3VtabModuleUnref(tls *libc.TLS, db uintptr, pMod uintptr) { /* sqlite3.c:145633:21: */ (*Module)(unsafe.Pointer(pMod)).FnRefModule-- if (*Module)(unsafe.Pointer(pMod)).FnRefModule == 0 { @@ -128275,14 +128294,14 @@ func Xsqlite3VtabModuleUnref(tls *libc.TLS, db uintptr, pMod uintptr) { /* sqlit // // If a disconnect is attempted while a virtual table is locked, // the disconnect is deferred until all locks have been removed. -func Xsqlite3VtabLock(tls *libc.TLS, pVTab uintptr) { /* sqlite3.c:145640:21: */ +func Xsqlite3VtabLock(tls *libc.TLS, pVTab uintptr) { /* sqlite3.c:145653:21: */ (*VTable)(unsafe.Pointer(pVTab)).FnRef++ } // pTab is a pointer to a Table structure representing a virtual-table. // Return a pointer to the VTable object used by connection db to access // this virtual-table, if one has been created, or NULL otherwise. -func Xsqlite3GetVTable(tls *libc.TLS, db uintptr, pTab uintptr) uintptr { /* sqlite3.c:145650:23: */ +func Xsqlite3GetVTable(tls *libc.TLS, db uintptr, pTab uintptr) uintptr { /* sqlite3.c:145663:23: */ var pVtab uintptr for pVtab = *(*uintptr)(unsafe.Pointer(pTab + 64 + 16 /* &.p */)); pVtab != 0 && (*VTable)(unsafe.Pointer(pVtab)).Fdb != db; pVtab = (*VTable)(unsafe.Pointer(pVtab)).FpNext { @@ -128292,7 +128311,7 @@ func Xsqlite3GetVTable(tls *libc.TLS, db uintptr, pTab uintptr) uintptr { /* sql // Decrement the ref-count on a virtual table object. When the ref-count // reaches zero, call the xDisconnect() method to delete the object. -func Xsqlite3VtabUnlock(tls *libc.TLS, pVTab uintptr) { /* sqlite3.c:145661:21: */ +func Xsqlite3VtabUnlock(tls *libc.TLS, pVTab uintptr) { /* sqlite3.c:145674:21: */ var db uintptr = (*VTable)(unsafe.Pointer(pVTab)).Fdb (*VTable)(unsafe.Pointer(pVTab)).FnRef-- @@ -128313,7 +128332,7 @@ func Xsqlite3VtabUnlock(tls *libc.TLS, pVTab uintptr) { /* sqlite3.c:145661:21: // database connections to be disconnected at the next opportunity. // Except, if argument db is not NULL, then the entry associated with // connection db is left in the p->u.vtab.p list. -func vtabDisconnectAll(tls *libc.TLS, db uintptr, p uintptr) uintptr { /* sqlite3.c:145687:15: */ +func vtabDisconnectAll(tls *libc.TLS, db uintptr, p uintptr) uintptr { /* sqlite3.c:145700:15: */ var pRet uintptr = uintptr(0) var pVTable uintptr @@ -128350,7 +128369,7 @@ func vtabDisconnectAll(tls *libc.TLS, db uintptr, p uintptr) uintptr { /* sqlite // used when closing database connection db to free all of its VTable // objects without disturbing the rest of the Schema object (which may // be being used by other shared-cache connections). -func Xsqlite3VtabDisconnect(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:145730:21: */ +func Xsqlite3VtabDisconnect(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:145743:21: */ var ppVTab uintptr for ppVTab = p + 64 + 16; *(*uintptr)(unsafe.Pointer(ppVTab)) != 0; ppVTab = *(*uintptr)(unsafe.Pointer(ppVTab)) + 40 { @@ -128381,7 +128400,7 @@ func Xsqlite3VtabDisconnect(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c // // As a result, a sqlite3.pDisconnect cannot be accessed simultaneously // by multiple threads. It is thread-safe. -func Xsqlite3VtabUnlockList(tls *libc.TLS, db uintptr) { /* sqlite3.c:145768:21: */ +func Xsqlite3VtabUnlockList(tls *libc.TLS, db uintptr) { /* sqlite3.c:145781:21: */ var p uintptr = (*Sqlite3)(unsafe.Pointer(db)).FpDisconnect if p != 0 { @@ -128407,7 +128426,7 @@ func Xsqlite3VtabUnlockList(tls *libc.TLS, db uintptr) { /* sqlite3.c:145768:21: // structure being xDisconnected and free). Any other VTable structures // in the list are moved to the sqlite3.pDisconnect list of the associated // database connection. -func Xsqlite3VtabClear(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:145799:21: */ +func Xsqlite3VtabClear(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:145812:21: */ if !(db != 0) || (*Sqlite3)(unsafe.Pointer(db)).FpnBytesFreed == uintptr(0) { vtabDisconnectAll(tls, uintptr(0), p) @@ -128427,7 +128446,7 @@ func Xsqlite3VtabClear(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:1457 // The string is not copied - the pointer is stored. The // string will be freed automatically when the table is // deleted. -func addModuleArgument(tls *libc.TLS, pParse uintptr, pTable uintptr, zArg uintptr) { /* sqlite3.c:145817:13: */ +func addModuleArgument(tls *libc.TLS, pParse uintptr, pTable uintptr, zArg uintptr) { /* sqlite3.c:145830:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -128453,7 +128472,7 @@ func addModuleArgument(tls *libc.TLS, pParse uintptr, pTable uintptr, zArg uintp // The parser calls this routine when it first sees a CREATE VIRTUAL TABLE // statement. The module name has been parsed, but the optional list // of parameters that follow the module name are still pending. -func Xsqlite3VtabBeginParse(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 uintptr, pModuleName uintptr, ifNotExists int32) { /* sqlite3.c:145843:21: */ +func Xsqlite3VtabBeginParse(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 uintptr, pModuleName uintptr, ifNotExists int32) { /* sqlite3.c:145856:21: */ var pTable uintptr // The new virtual table var db uintptr // Database connection @@ -128488,7 +128507,7 @@ func Xsqlite3VtabBeginParse(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName // This routine takes the module argument that has been accumulating // in pParse->zArg[] and appends it to the list of arguments on the // virtual table currently under construction in pParse->pTable. -func addArgumentToVtab(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:145892:13: */ +func addArgumentToVtab(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:145905:13: */ if (*Parse)(unsafe.Pointer(pParse)).FsArg.Fz != 0 && (*Parse)(unsafe.Pointer(pParse)).FpNewTable != 0 { var z uintptr = (*Parse)(unsafe.Pointer(pParse)).FsArg.Fz var n int32 = int32((*Parse)(unsafe.Pointer(pParse)).FsArg.Fn) @@ -128499,7 +128518,7 @@ func addArgumentToVtab(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:145892:13: // The parser calls this routine after the CREATE VIRTUAL TABLE statement // has been completely parsed. -func Xsqlite3VtabFinishParse(tls *libc.TLS, pParse uintptr, pEnd uintptr) { /* sqlite3.c:145905:21: */ +func Xsqlite3VtabFinishParse(tls *libc.TLS, pParse uintptr, pEnd uintptr) { /* sqlite3.c:145918:21: */ bp := tls.Alloc(64) defer tls.Free(64) @@ -128583,7 +128602,7 @@ func Xsqlite3VtabFinishParse(tls *libc.TLS, pParse uintptr, pEnd uintptr) { /* s // The parser calls this routine when it sees the first token // of an argument to the module name in a CREATE VIRTUAL TABLE statement. -func Xsqlite3VtabArgInit(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:145988:21: */ +func Xsqlite3VtabArgInit(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:146001:21: */ addArgumentToVtab(tls, pParse) (*Parse)(unsafe.Pointer(pParse)).FsArg.Fz = uintptr(0) (*Parse)(unsafe.Pointer(pParse)).FsArg.Fn = uint32(0) @@ -128591,7 +128610,7 @@ func Xsqlite3VtabArgInit(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:145988:21 // The parser calls this routine for each token after the first token // in an argument to the module name in a CREATE VIRTUAL TABLE statement. -func Xsqlite3VtabArgExtend(tls *libc.TLS, pParse uintptr, p uintptr) { /* sqlite3.c:145998:21: */ +func Xsqlite3VtabArgExtend(tls *libc.TLS, pParse uintptr, p uintptr) { /* sqlite3.c:146011:21: */ var pArg uintptr = pParse + 368 if (*Token)(unsafe.Pointer(pArg)).Fz == uintptr(0) { (*Token)(unsafe.Pointer(pArg)).Fz = (*Token)(unsafe.Pointer(p)).Fz @@ -128605,7 +128624,7 @@ func Xsqlite3VtabArgExtend(tls *libc.TLS, pParse uintptr, p uintptr) { /* sqlite // Invoke a virtual table constructor (either xCreate or xConnect). The // 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) int32 { /* sqlite3.c:146014:12: */ +func vtabCallConstructor(tls *libc.TLS, db uintptr, pTab uintptr, pMod uintptr, xConstruct uintptr, pzErr uintptr) int32 { /* sqlite3.c:146027:12: */ bp := tls.Alloc(72) defer tls.Free(72) @@ -128741,7 +128760,7 @@ func vtabCallConstructor(tls *libc.TLS, db uintptr, pTab uintptr, pMod uintptr, // and an error left in pParse. // // This call is a no-op if table pTab is not a virtual table. -func Xsqlite3VtabCallConnect(tls *libc.TLS, pParse uintptr, pTab uintptr) int32 { /* sqlite3.c:146150:20: */ +func Xsqlite3VtabCallConnect(tls *libc.TLS, pParse uintptr, pTab uintptr) int32 { /* sqlite3.c:146163:20: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -128777,7 +128796,7 @@ func Xsqlite3VtabCallConnect(tls *libc.TLS, pParse uintptr, pTab uintptr) int32 // Grow the db->aVTrans[] array so that there is room for at least one // more v-table. Return SQLITE_NOMEM if a malloc fails, or SQLITE_OK otherwise. -func growVTrans(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:146186:12: */ +func growVTrans(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:146199:12: */ var ARRAY_INCR int32 = 5 // Grow the sqlite3.aVTrans array if required @@ -128797,7 +128816,7 @@ func growVTrans(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:146186:12: */ // Add the virtual table pVTab to the array sqlite3.aVTrans[]. Space should // have already been reserved using growVTrans(). -func addToVTrans(tls *libc.TLS, db uintptr, pVTab uintptr) { /* sqlite3.c:146209:13: */ +func addToVTrans(tls *libc.TLS, db uintptr, pVTab uintptr) { /* sqlite3.c:146222:13: */ // Add pVtab to the end of sqlite3.aVTrans *(*uintptr)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaVTrans + uintptr(libc.PostIncInt32(&(*Sqlite3)(unsafe.Pointer(db)).FnVTrans, 1))*8)) = pVTab Xsqlite3VtabLock(tls, pVTab) @@ -128809,7 +128828,7 @@ func addToVTrans(tls *libc.TLS, db uintptr, pVTab uintptr) { /* sqlite3.c:146209 // If an error occurs, *pzErr is set to point to an English language // description of the error and an SQLITE_XXX error code is returned. // In this case the caller must call sqlite3DbFree(db, ) on *pzErr. -func Xsqlite3VtabCallCreate(tls *libc.TLS, db uintptr, iDb int32, zTab uintptr, pzErr uintptr) int32 { /* sqlite3.c:146223:20: */ +func Xsqlite3VtabCallCreate(tls *libc.TLS, db uintptr, iDb int32, zTab uintptr, pzErr uintptr) int32 { /* sqlite3.c:146236:20: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -128849,7 +128868,7 @@ func Xsqlite3VtabCallCreate(tls *libc.TLS, db uintptr, iDb int32, zTab uintptr, // This function is used to set the schema of a virtual table. It is only // valid to call this function from within the xCreate() or xConnect() of a // virtual table module. -func Xsqlite3_declare_vtab(tls *libc.TLS, db uintptr, zCreateTable uintptr) int32 { /* sqlite3.c:146264:16: */ +func Xsqlite3_declare_vtab(tls *libc.TLS, db uintptr, zCreateTable uintptr) int32 { /* sqlite3.c:146277:16: */ bp := tls.Alloc(416) defer tls.Free(416) @@ -128865,12 +128884,13 @@ func Xsqlite3_declare_vtab(tls *libc.TLS, db uintptr, zCreateTable uintptr) int3 if !(pCtx != 0) || (*VtabCtx)(unsafe.Pointer(pCtx)).FbDeclared != 0 { Xsqlite3Error(tls, db, SQLITE_MISUSE) Xsqlite3_mutex_leave(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) - return Xsqlite3MisuseError(tls, 146281) + return Xsqlite3MisuseError(tls, 146294) } pTab = (*VtabCtx)(unsafe.Pointer(pCtx)).FpTab Xsqlite3ParseObjectInit(tls, bp+8, db) (*Parse)(unsafe.Pointer(bp + 8 /* &sParse */)).FeParseMode = U8(PARSE_MODE_DECLARE_VTAB) + (*Parse)(unsafe.Pointer(bp + 8 /* &sParse */)).FdisableTriggers = U8(1) // We should never be able to reach this point while loading the // schema. Nevertheless, defend against that (turn off db->init.busy) // in case a bug arises. @@ -128939,7 +128959,7 @@ func Xsqlite3_declare_vtab(tls *libc.TLS, db uintptr, zCreateTable uintptr) int3 // when a DROP TABLE is mentioned. // // This call is a no-op if zTab is not a virtual table. -func Xsqlite3VtabCallDestroy(tls *libc.TLS, db uintptr, iDb int32, zTab uintptr) int32 { /* sqlite3.c:146357:20: */ +func Xsqlite3VtabCallDestroy(tls *libc.TLS, db uintptr, iDb int32, zTab uintptr) int32 { /* sqlite3.c:146371:20: */ var rc int32 = SQLITE_OK var pTab uintptr @@ -128984,7 +129004,7 @@ func Xsqlite3VtabCallDestroy(tls *libc.TLS, db uintptr, iDb int32, zTab uintptr) // the offset of the method to call in the sqlite3_module structure. // // The array is cleared after invoking the callbacks. -func callFinaliser(tls *libc.TLS, db uintptr, offset int32) { /* sqlite3.c:146401:13: */ +func callFinaliser(tls *libc.TLS, db uintptr, offset int32) { /* sqlite3.c:146415:13: */ var i int32 if (*Sqlite3)(unsafe.Pointer(db)).FaVTrans != 0 { var aVTrans uintptr = (*Sqlite3)(unsafe.Pointer(db)).FaVTrans @@ -129014,7 +129034,7 @@ func callFinaliser(tls *libc.TLS, db uintptr, offset int32) { /* sqlite3.c:14640 // SQLITE_OK if all xSync operations are successful. // // If an error message is available, leave it in p->zErrMsg. -func Xsqlite3VtabSync(tls *libc.TLS, db uintptr, p uintptr) int32 { /* sqlite3.c:146429:20: */ +func Xsqlite3VtabSync(tls *libc.TLS, db uintptr, p uintptr) int32 { /* sqlite3.c:146443:20: */ var i int32 var rc int32 = SQLITE_OK var aVTrans uintptr = (*Sqlite3)(unsafe.Pointer(db)).FaVTrans @@ -129036,14 +129056,14 @@ func Xsqlite3VtabSync(tls *libc.TLS, db uintptr, p uintptr) int32 { /* sqlite3.c // Invoke the xRollback method of all virtual tables in the // sqlite3.aVTrans array. Then clear the array itself. -func Xsqlite3VtabRollback(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:146451:20: */ +func Xsqlite3VtabRollback(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:146465:20: */ callFinaliser(tls, db, int32(uintptr(0)+136)) return SQLITE_OK } // Invoke the xCommit method of all virtual tables in the // sqlite3.aVTrans array. Then clear the array itself. -func Xsqlite3VtabCommit(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:146460:20: */ +func Xsqlite3VtabCommit(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:146474:20: */ callFinaliser(tls, db, int32(uintptr(0)+128)) return SQLITE_OK } @@ -129054,7 +129074,7 @@ func Xsqlite3VtabCommit(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:146460:2 // // If the xBegin call is successful, place the sqlite3_vtab pointer // in the sqlite3.aVTrans array. -func Xsqlite3VtabBegin(tls *libc.TLS, db uintptr, pVTab uintptr) int32 { /* sqlite3.c:146473:20: */ +func Xsqlite3VtabBegin(tls *libc.TLS, db uintptr, pVTab uintptr) int32 { /* sqlite3.c:146487:20: */ var rc int32 = SQLITE_OK var pModule uintptr @@ -129115,7 +129135,7 @@ func Xsqlite3VtabBegin(tls *libc.TLS, db uintptr, pVTab uintptr) int32 { /* sqli // processing is abandoned and the error returned to the caller of this // function immediately. If all calls to virtual table methods are successful, // SQLITE_OK is returned. -func Xsqlite3VtabSavepoint(tls *libc.TLS, db uintptr, op int32, iSavepoint int32) int32 { /* sqlite3.c:146533:20: */ +func Xsqlite3VtabSavepoint(tls *libc.TLS, db uintptr, op int32, iSavepoint int32) int32 { /* sqlite3.c:146547:20: */ var rc int32 = SQLITE_OK if (*Sqlite3)(unsafe.Pointer(db)).FaVTrans != 0 { @@ -129163,7 +129183,7 @@ func Xsqlite3VtabSavepoint(tls *libc.TLS, db uintptr, op int32, iSavepoint int32 // Return either the pDef argument (indicating no change) or a // new FuncDef structure that is marked as ephemeral using the // SQLITE_FUNC_EPHEM flag. -func Xsqlite3VtabOverloadFunction(tls *libc.TLS, db uintptr, pDef uintptr, nArg int32, pExpr uintptr) uintptr { /* sqlite3.c:146581:24: */ +func Xsqlite3VtabOverloadFunction(tls *libc.TLS, db uintptr, pDef uintptr, nArg int32, pExpr uintptr) uintptr { /* sqlite3.c:146595:24: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -129230,7 +129250,7 @@ func Xsqlite3VtabOverloadFunction(tls *libc.TLS, db uintptr, pDef uintptr, nArg // array so that an OP_VBegin will get generated for it. Add pTab to the // array if it is missing. If pTab is already in the array, this routine // is a no-op. -func Xsqlite3VtabMakeWritable(tls *libc.TLS, pParse uintptr, pTab uintptr) { /* sqlite3.c:146651:21: */ +func Xsqlite3VtabMakeWritable(tls *libc.TLS, pParse uintptr, pTab uintptr) { /* sqlite3.c:146665:21: */ var pToplevel uintptr = func() uintptr { if (*Parse)(unsafe.Pointer(pParse)).FpToplevel != 0 { return (*Parse)(unsafe.Pointer(pParse)).FpToplevel @@ -129269,7 +129289,7 @@ func Xsqlite3VtabMakeWritable(tls *libc.TLS, pParse uintptr, pTab uintptr) { /* // // Any virtual table module for which xConnect and xCreate are the same // method can have an eponymous virtual table instance. -func Xsqlite3VtabEponymousTableInit(tls *libc.TLS, pParse uintptr, pMod uintptr) int32 { /* sqlite3.c:146685:20: */ +func Xsqlite3VtabEponymousTableInit(tls *libc.TLS, pParse uintptr, pMod uintptr) int32 { /* sqlite3.c:146699:20: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -129314,7 +129334,7 @@ func Xsqlite3VtabEponymousTableInit(tls *libc.TLS, pParse uintptr, pMod uintptr) // Erase the eponymous virtual table instance associated with // virtual table module pMod, if it exists. -func Xsqlite3VtabEponymousTableClear(tls *libc.TLS, db uintptr, pMod uintptr) { /* sqlite3.c:146723:21: */ +func Xsqlite3VtabEponymousTableClear(tls *libc.TLS, db uintptr, pMod uintptr) { /* sqlite3.c:146737:21: */ var pTab uintptr = (*Module)(unsafe.Pointer(pMod)).FpEpoTab if pTab != uintptr(0) { // Mark the table as Ephemeral prior to deleting it, so that the @@ -129331,19 +129351,19 @@ func Xsqlite3VtabEponymousTableClear(tls *libc.TLS, db uintptr, pMod uintptr) { // // The results of this routine are undefined unless it is called from // within an xUpdate method. -func Xsqlite3_vtab_on_conflict(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:146742:16: */ +func Xsqlite3_vtab_on_conflict(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:146756:16: */ return int32(aMap[int32((*Sqlite3)(unsafe.Pointer(db)).FvtabOnConflict)-1]) } var aMap = [5]uint8{ uint8(SQLITE_ROLLBACK), uint8(SQLITE_ABORT), uint8(SQLITE_FAIL), uint8(SQLITE_IGNORE), uint8(SQLITE_REPLACE), -} /* sqlite3.c:146743:30 */ +} /* sqlite3.c:146757:30 */ // Call from within the xCreate() or xConnect() methods to provide // the SQLite core with additional information about the behavior // of the virtual table being implemented. -func Xsqlite3_vtab_config(tls *libc.TLS, db uintptr, op int32, va uintptr) int32 { /* sqlite3.c:146760:16: */ +func Xsqlite3_vtab_config(tls *libc.TLS, db uintptr, op int32, va uintptr) int32 { /* sqlite3.c:146774:16: */ var ap Va_list _ = ap var rc int32 = SQLITE_OK @@ -129352,7 +129372,7 @@ func Xsqlite3_vtab_config(tls *libc.TLS, db uintptr, op int32, va uintptr) int32 Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) p = (*Sqlite3)(unsafe.Pointer(db)).FpVtabCtx if !(p != 0) { - rc = Xsqlite3MisuseError(tls, 146771) + rc = Xsqlite3MisuseError(tls, 146785) } else { ap = va @@ -129380,7 +129400,7 @@ func Xsqlite3_vtab_config(tls *libc.TLS, db uintptr, op int32, va uintptr) int32 fallthrough default: { - rc = Xsqlite3MisuseError(tls, 146789) + rc = Xsqlite3MisuseError(tls, 146803) break } @@ -129484,23 +129504,23 @@ type WhereClause1 = struct { // a separate source file for easier editing. // Forward references -type WhereClause = WhereClause1 /* sqlite3.c:146849:28 */ +type WhereClause = WhereClause1 /* sqlite3.c:146863:28 */ type WhereMaskSet1 = struct { FbVarSelect int32 Fn int32 Fix [64]int32 } /* sqlite3.c:14626:9 */ -type WhereMaskSet = WhereMaskSet1 /* sqlite3.c:146850:29 */ +type WhereMaskSet = WhereMaskSet1 /* sqlite3.c:146864:29 */ type WhereOrInfo1 = struct { Fwc WhereClause Findexable Bitmask -} /* sqlite3.c:146851:9 */ +} /* sqlite3.c:146865:9 */ -type WhereOrInfo = WhereOrInfo1 /* sqlite3.c:146851:28 */ -type WhereAndInfo1 = struct{ Fwc WhereClause } /* sqlite3.c:146852:9 */ +type WhereOrInfo = WhereOrInfo1 /* sqlite3.c:146865:28 */ +type WhereAndInfo1 = struct{ Fwc WhereClause } /* sqlite3.c:146866:9 */ -type WhereAndInfo = WhereAndInfo1 /* sqlite3.c:146852:29 */ +type WhereAndInfo = WhereAndInfo1 /* sqlite3.c:146866:29 */ type WhereLevel1 = struct { FiLeftJoin int32 FiTabCur int32 @@ -129532,7 +129552,7 @@ type WhereLevel1 = struct { FnotReady Bitmask } /* sqlite3.c:14626:9 */ -type WhereLevel = WhereLevel1 /* sqlite3.c:146853:27 */ +type WhereLevel = WhereLevel1 /* sqlite3.c:146867:27 */ type WhereLoop1 = struct { Fprereq Bitmask FmaskSelf Bitmask @@ -129561,7 +129581,7 @@ type WhereLoop1 = struct { FaLTermSpace [3]uintptr } /* sqlite3.c:14626:9 */ -type WhereLoop = WhereLoop1 /* sqlite3.c:146854:26 */ +type WhereLoop = WhereLoop1 /* sqlite3.c:146868:26 */ type WherePath1 = struct { FmaskLoop Bitmask FrevLoop Bitmask @@ -129571,9 +129591,9 @@ type WherePath1 = struct { FisOrdered I8 F__ccgo_pad1 [1]byte FaLoop uintptr -} /* sqlite3.c:146855:9 */ +} /* sqlite3.c:146869:9 */ -type WherePath = WherePath1 /* sqlite3.c:146855:26 */ +type WherePath = WherePath1 /* sqlite3.c:146869:26 */ type WhereTerm1 = struct { FpExpr uintptr FpWC uintptr @@ -129595,7 +129615,7 @@ type WhereTerm1 = struct { FprereqAll Bitmask } /* sqlite3.c:14626:9 */ -type WhereTerm = WhereTerm1 /* sqlite3.c:146856:26 */ +type WhereTerm = WhereTerm1 /* sqlite3.c:146870:26 */ type WhereLoopBuilder1 = struct { FpWInfo uintptr FpWC uintptr @@ -129608,9 +129628,9 @@ type WhereLoopBuilder1 = struct { F__ccgo_pad1 [2]byte FiPlanLimit uint32 F__ccgo_pad2 [4]byte -} /* sqlite3.c:146857:9 */ +} /* sqlite3.c:146871:9 */ -type WhereLoopBuilder = WhereLoopBuilder1 /* sqlite3.c:146857:33 */ +type WhereLoopBuilder = WhereLoopBuilder1 /* sqlite3.c:146871:33 */ type WhereScan1 = struct { FpOrigWC uintptr FpWC uintptr @@ -129625,24 +129645,24 @@ type WhereScan1 = struct { FaiCur [11]int32 FaiColumn [11]I16 F__ccgo_pad2 [2]byte -} /* sqlite3.c:146858:9 */ +} /* sqlite3.c:146872:9 */ -type WhereScan = WhereScan1 /* sqlite3.c:146858:26 */ +type WhereScan = WhereScan1 /* sqlite3.c:146872:26 */ type WhereOrCost1 = struct { Fprereq Bitmask FrRun LogEst FnOut LogEst F__ccgo_pad1 [4]byte -} /* sqlite3.c:146857:9 */ +} /* sqlite3.c:146871:9 */ -type WhereOrCost = WhereOrCost1 /* sqlite3.c:146859:28 */ +type WhereOrCost = WhereOrCost1 /* sqlite3.c:146873:28 */ type WhereOrSet1 = struct { Fn U16 F__ccgo_pad1 [6]byte Fa [3]WhereOrCost -} /* sqlite3.c:146857:9 */ +} /* sqlite3.c:146871:9 */ -type WhereOrSet = WhereOrSet1 /* sqlite3.c:146860:27 */ +type WhereOrSet = WhereOrSet1 /* sqlite3.c:146874:27 */ // This object contains information needed to implement a single nested // loop in WHERE clause. @@ -129664,7 +129684,7 @@ type InLoop = struct { FnPrefix int32 FeEndLoopOp U8 F__ccgo_pad1 [3]byte -} /* sqlite3.c:146900:7 */ +} /* sqlite3.c:146914:7 */ // Allowed values for WhereLoopBuider.bldFlags @@ -129712,7 +129732,7 @@ type WhereExprMod1 = struct { // of an index rather than an expression or a virtual column. All // such transformations need to be undone at the end of WHERE clause // processing. -type WhereExprMod = WhereExprMod1 /* sqlite3.c:147262:29 */ +type WhereExprMod = WhereExprMod1 /* sqlite3.c:147276:29 */ // Bitmasks for the operators on WhereTerm objects. These are all // operators that are of interest to the query planner. An @@ -129734,7 +129754,7 @@ type WhereExprMod = WhereExprMod1 /* sqlite3.c:147262:29 */ //************* Continuing where we left off in wherecode.c ***************** // Return the name of the i-th column of the pIdx index. -func explainIndexColumnName(tls *libc.TLS, pIdx uintptr, i int32) uintptr { /* sqlite3.c:147456:19: */ +func explainIndexColumnName(tls *libc.TLS, pIdx uintptr, i int32) uintptr { /* sqlite3.c:147470:19: */ i = int32(*(*I16)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FaiColumn + uintptr(i)*2))) if i == -2 { return ts + 21365 /* "" */ @@ -129751,7 +129771,7 @@ func explainIndexColumnName(tls *libc.TLS, pIdx uintptr, i int32) uintptr { /* s // at a time. This routine adds a new term to the end of the expression. // Terms are separated by AND so add the "AND" text for second and subsequent // terms only. -func explainAppendTerm(tls *libc.TLS, pStr uintptr, pIdx uintptr, nTerm int32, iTerm int32, bAnd int32, zOp uintptr) { /* sqlite3.c:147471:13: */ +func explainAppendTerm(tls *libc.TLS, pStr uintptr, pIdx uintptr, nTerm int32, iTerm int32, bAnd int32, zOp uintptr) { /* sqlite3.c:147485:13: */ var i int32 if bAnd != 0 { @@ -129799,7 +129819,7 @@ func explainAppendTerm(tls *libc.TLS, pStr uintptr, pIdx uintptr, nTerm int32, i // string similar to: // // "a=? AND b>?" -func explainIndexRange(tls *libc.TLS, pStr uintptr, pLoop uintptr) { /* sqlite3.c:147515:13: */ +func explainIndexRange(tls *libc.TLS, pStr uintptr, pLoop uintptr) { /* sqlite3.c:147529:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -129844,7 +129864,7 @@ func explainIndexRange(tls *libc.TLS, pStr uintptr, pLoop uintptr) { /* sqlite3. // // If an OP_Explain opcode is added to the VM, its address is returned. // Otherwise, if no OP_Explain is coded, zero is returned. -func Xsqlite3WhereExplainOneScan(tls *libc.TLS, pParse uintptr, pTabList uintptr, pLevel uintptr, wctrlFlags U16) int32 { /* sqlite3.c:147549:20: */ +func Xsqlite3WhereExplainOneScan(tls *libc.TLS, pParse uintptr, pTabList uintptr, pLevel uintptr, wctrlFlags U16) int32 { /* sqlite3.c:147563:20: */ bp := tls.Alloc(196) defer tls.Free(196) @@ -129945,7 +129965,7 @@ func Xsqlite3WhereExplainOneScan(tls *libc.TLS, pParse uintptr, pTabList uintptr // // If an OP_Explain opcode is added to the VM, its address is returned. // Otherwise, if no OP_Explain is coded, zero is returned. -func Xsqlite3WhereExplainBloomFilter(tls *libc.TLS, pParse uintptr, pWInfo uintptr, pLevel uintptr) int32 { /* sqlite3.c:147661:20: */ +func Xsqlite3WhereExplainBloomFilter(tls *libc.TLS, pParse uintptr, pWInfo uintptr, pLevel uintptr) int32 { /* sqlite3.c:147675:20: */ bp := tls.Alloc(156) defer tls.Free(156) @@ -130028,7 +130048,7 @@ func Xsqlite3WhereExplainBloomFilter(tls *libc.TLS, pParse uintptr, pWInfo uintp // The TERM_LIKECOND marking indicates that the term should be coded inside // a conditional such that is only evaluated on the second pass of a // LIKE-optimization loop, when scanning BLOBs instead of strings. -func disableTerm(tls *libc.TLS, pLevel uintptr, pTerm uintptr) { /* sqlite3.c:147774:13: */ +func disableTerm(tls *libc.TLS, pLevel uintptr, pTerm uintptr) { /* sqlite3.c:147788:13: */ var nLoop int32 = 0 for int32((*WhereTerm)(unsafe.Pointer(pTerm)).FwtFlags)&TERM_CODED == 0 && @@ -130061,7 +130081,7 @@ func disableTerm(tls *libc.TLS, pLevel uintptr, pTerm uintptr) { /* sqlite3.c:14 // // This routine makes its own copy of zAff so that the caller is free // to modify zAff after this routine returns. -func codeApplyAffinity(tls *libc.TLS, pParse uintptr, base int32, n int32, zAff uintptr) { /* sqlite3.c:147812:13: */ +func codeApplyAffinity(tls *libc.TLS, pParse uintptr, base int32, n int32, zAff uintptr) { /* sqlite3.c:147826:13: */ var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe if zAff == uintptr(0) { @@ -130094,7 +130114,7 @@ func codeApplyAffinity(tls *libc.TLS, pParse uintptr, base int32, n int32, zAff // // * the comparison will be performed with no affinity, or // * the affinity change in zAff is guaranteed not to change the value. -func updateRangeAffinityStr(tls *libc.TLS, pRight uintptr, n int32, zAff uintptr) { /* sqlite3.c:147849:13: */ +func updateRangeAffinityStr(tls *libc.TLS, pRight uintptr, n int32, zAff uintptr) { /* sqlite3.c:147863:13: */ var i int32 for i = 0; i < n; i++ { var p uintptr = Xsqlite3VectorFieldSubexpr(tls, pRight, i) @@ -130132,7 +130152,7 @@ func updateRangeAffinityStr(tls *libc.TLS, pRight uintptr, n int32, zAff uintptr // The reduced pX is different from the original (obviously) and thus is // only used for indexing, to improve performance. The original unaltered // IN expression must also be run on each output row for correctness. -func removeUnindexableInClauseTerms(tls *libc.TLS, pParse uintptr, iEq int32, pLoop uintptr, pX uintptr) uintptr { /* sqlite3.c:147895:13: */ +func removeUnindexableInClauseTerms(tls *libc.TLS, pParse uintptr, iEq int32, pLoop uintptr, pX uintptr) uintptr { /* sqlite3.c:147909:13: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb var pNew uintptr pNew = Xsqlite3ExprDup(tls, db, pX, 0) @@ -130207,7 +130227,7 @@ func removeUnindexableInClauseTerms(tls *libc.TLS, pParse uintptr, iEq int32, pL // For a constraint of the form X=expr, the expression is evaluated in // straight-line code. For constraints of the form X IN (...) // this routine sets up a loop that will iterate over all values of X. -func codeEqualityTerm(tls *libc.TLS, pParse uintptr, pTerm uintptr, pLevel uintptr, iEq int32, bRev int32, iTarget int32) int32 { /* sqlite3.c:147984:12: */ +func codeEqualityTerm(tls *libc.TLS, pParse uintptr, pTerm uintptr, pLevel uintptr, iEq int32, bRev int32, iTarget int32) int32 { /* sqlite3.c:147998:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -130400,7 +130420,7 @@ func codeEqualityTerm(tls *libc.TLS, pParse uintptr, pTerm uintptr, pLevel uintp // no conversion should be attempted before using a t2.b value as part of // a key to search the index. Hence the first byte in the returned affinity // string in this example would be set to SQLITE_AFF_BLOB. -func codeAllEqualityTerms(tls *libc.TLS, pParse uintptr, pLevel uintptr, bRev int32, nExtraReg int32, pzAff uintptr) int32 { /* sqlite3.c:148180:12: */ +func codeAllEqualityTerms(tls *libc.TLS, pParse uintptr, pLevel uintptr, bRev int32, nExtraReg int32, pzAff uintptr) int32 { /* sqlite3.c:148194:12: */ var nEq U16 // The number of == or IN constraints to code var nSkip U16 // Number of left-most columns to skip var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe // The vm under construction @@ -130521,7 +130541,7 @@ func codeAllEqualityTerms(tls *libc.TLS, pParse uintptr, pLevel uintptr, bRev in // on. For each table column, if the column is the i'th column of the // index, then the corresponding array entry is set to (i+1). If the column // does not appear in the index at all, the array entry is set to 0. -func codeDeferredSeek(tls *libc.TLS, pWInfo uintptr, pIdx uintptr, iCur int32, iIdxCur int32) { /* sqlite3.c:148558:13: */ +func codeDeferredSeek(tls *libc.TLS, pWInfo uintptr, pIdx uintptr, iCur int32, iIdxCur int32) { /* sqlite3.c:148572:13: */ var pParse uintptr = (*WhereInfo)(unsafe.Pointer(pWInfo)).FpParse // Parse context var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe // Vdbe to generate code within @@ -130562,7 +130582,7 @@ func codeDeferredSeek(tls *libc.TLS, pWInfo uintptr, pIdx uintptr, iCur int32, i // If the expression is not a vector, then nReg must be passed 1. In // this case, generate code to evaluate the expression and leave the // result in register iReg. -func codeExprOrVector(tls *libc.TLS, pParse uintptr, p uintptr, iReg int32, nReg int32) { /* sqlite3.c:148602:13: */ +func codeExprOrVector(tls *libc.TLS, pParse uintptr, p uintptr, iReg int32, nReg int32) { /* sqlite3.c:148616:13: */ if p != 0 && Xsqlite3ExprIsVector(tls, p) != 0 { if (*Expr)(unsafe.Pointer(p)).Fflags&U32(EP_xIsSelect) != U32(0) { @@ -130590,10 +130610,10 @@ func codeExprOrVector(tls *libc.TLS, pParse uintptr, p uintptr, iReg int32, nReg // An instance of the IdxExprTrans object carries information about a // mapping from an expression on table columns into a column in an index // down through the Walker. -type IdxExprTrans = IdxExprTrans1 /* sqlite3.c:148642:3 */ +type IdxExprTrans = IdxExprTrans1 /* sqlite3.c:148656:3 */ // Preserve pExpr on the WhereETrans list of the WhereInfo. -func preserveExpr(tls *libc.TLS, pTrans uintptr, pExpr uintptr) { /* sqlite3.c:148647:13: */ +func preserveExpr(tls *libc.TLS, pTrans uintptr, pExpr uintptr) { /* sqlite3.c:148661:13: */ var pNew uintptr pNew = Xsqlite3DbMallocRaw(tls, (*IdxExprTrans)(unsafe.Pointer(pTrans)).Fdb, uint64(unsafe.Sizeof(WhereExprMod{}))) if pNew == uintptr(0) { @@ -130610,7 +130630,7 @@ func preserveExpr(tls *libc.TLS, pTrans uintptr, pExpr uintptr) { /* sqlite3.c:1 // // If pExpr matches, then transform it into a reference to the index column // that contains the value of pExpr. -func whereIndexExprTransNode(tls *libc.TLS, p uintptr, pExpr uintptr) int32 { /* sqlite3.c:148663:12: */ +func whereIndexExprTransNode(tls *libc.TLS, p uintptr, pExpr uintptr) int32 { /* sqlite3.c:148677:12: */ var pX uintptr = *(*uintptr)(unsafe.Pointer(p + 40)) if Xsqlite3ExprCompare(tls, uintptr(0), pExpr, (*IdxExprTrans)(unsafe.Pointer(pX)).FpIdxExpr, (*IdxExprTrans)(unsafe.Pointer(pX)).FiTabCur) == 0 { preserveExpr(tls, pX, pExpr) @@ -130630,7 +130650,7 @@ func whereIndexExprTransNode(tls *libc.TLS, p uintptr, pExpr uintptr) int32 { /* // A walker node callback that translates a column reference to a table // into a corresponding column reference of an index. -func whereIndexExprTransColumn(tls *libc.TLS, p uintptr, pExpr uintptr) int32 { /* sqlite3.c:148685:12: */ +func whereIndexExprTransColumn(tls *libc.TLS, p uintptr, pExpr uintptr) int32 { /* sqlite3.c:148699:12: */ if int32((*Expr)(unsafe.Pointer(pExpr)).Fop) == TK_COLUMN { var pX uintptr = *(*uintptr)(unsafe.Pointer(p + 40)) if (*Expr)(unsafe.Pointer(pExpr)).FiTable == (*IdxExprTrans)(unsafe.Pointer(pX)).FiTabCur && int32((*Expr)(unsafe.Pointer(pExpr)).FiColumn) == (*IdxExprTrans)(unsafe.Pointer(pX)).FiTabCol { @@ -130652,7 +130672,7 @@ func whereIndexExprTransColumn(tls *libc.TLS, p uintptr, pExpr uintptr) int32 { // 2019-10-24: Updated to also translate references to a VIRTUAL column in // the table into references to the corresponding (stored) column of the // index. -func whereIndexExprTrans(tls *libc.TLS, pIdx uintptr, iTabCur int32, iIdxCur int32, pWInfo uintptr) { /* sqlite3.c:148710:13: */ +func whereIndexExprTrans(tls *libc.TLS, pIdx uintptr, iTabCur int32, iIdxCur int32, pWInfo uintptr) { /* sqlite3.c:148724:13: */ bp := tls.Alloc(88) defer tls.Free(88) @@ -130717,7 +130737,7 @@ func whereIndexExprTrans(tls *libc.TLS, pIdx uintptr, iTabCur int32, iIdxCur int // WHERE clause terms on the query, and if any of those terms must be // true because pTruth is true, then mark those WHERE clause terms as // coded. -func whereApplyPartialIndexConstraints(tls *libc.TLS, pTruth uintptr, iTabCur int32, pWC uintptr) { /* sqlite3.c:148774:13: */ +func whereApplyPartialIndexConstraints(tls *libc.TLS, pTruth uintptr, iTabCur int32, pWC uintptr) { /* sqlite3.c:148788:13: */ var i int32 var pTerm uintptr for int32((*Expr)(unsafe.Pointer(pTruth)).Fop) == TK_AND { @@ -130763,7 +130783,7 @@ __3: // WhereLevel.regFilter set. If an inner-loop Bloom filter is checked, // then clear the WhereLevel.regFilter value to prevent the Bloom filter // from being checked a second time when the inner loop is evaluated. -func filterPullDown(tls *libc.TLS, pParse uintptr, pWInfo uintptr, iLevel int32, addrNxt int32, notReady Bitmask) { /* sqlite3.c:148810:29: */ +func filterPullDown(tls *libc.TLS, pParse uintptr, pWInfo uintptr, iLevel int32, addrNxt int32, notReady Bitmask) { /* sqlite3.c:148824:29: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -130808,7 +130828,7 @@ func filterPullDown(tls *libc.TLS, pParse uintptr, pWInfo uintptr, iLevel int32, // Generate code for the start of the iLevel-th loop in the WHERE clause // implementation described by pWInfo. -func Xsqlite3WhereCodeOneLoopStart(tls *libc.TLS, pParse uintptr, v uintptr, pWInfo uintptr, iLevel int32, pLevel uintptr, notReady Bitmask) Bitmask { /* sqlite3.c:148858:24: */ +func Xsqlite3WhereCodeOneLoopStart(tls *libc.TLS, pParse uintptr, v uintptr, pWInfo uintptr, iLevel int32, pLevel uintptr, notReady Bitmask) Bitmask { /* sqlite3.c:148872:24: */ bp := tls.Alloc(96) defer tls.Free(96) @@ -132038,24 +132058,24 @@ var aStartOp = [8]U8{ U8(OP_SeekLT), // 5: (start_constraints && !startEq && bRev) U8(OP_SeekGE), // 6: (start_constraints && startEq && !bRev) U8(OP_SeekLE), // 7: (start_constraints && startEq && bRev) -} /* sqlite3.c:149238:21 */ +} /* sqlite3.c:149252:21 */ var aEndOp = [4]U8{ U8(OP_IdxGE), // 0: (end_constraints && !bRev && !endEq) U8(OP_IdxGT), // 1: (end_constraints && !bRev && endEq) U8(OP_IdxLE), // 2: (end_constraints && bRev && !endEq) U8(OP_IdxLT), // 3: (end_constraints && bRev && endEq) -} /* sqlite3.c:149248:21 */ -var aStep = [2]U8{U8(OP_Next), U8(OP_Prev)} /* sqlite3.c:149966:21 */ -var aStart = [2]U8{U8(OP_Rewind), U8(OP_Last)} /* sqlite3.c:149967:21 */ +} /* sqlite3.c:149262:21 */ +var aStep = [2]U8{U8(OP_Next), U8(OP_Prev)} /* sqlite3.c:149980:21 */ +var aStart = [2]U8{U8(OP_Rewind), U8(OP_Last)} /* sqlite3.c:149981:21 */ // Deallocate all memory associated with a WhereOrInfo object. -func whereOrInfoDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:150176:13: */ +func whereOrInfoDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:150190:13: */ Xsqlite3WhereClauseClear(tls, p) Xsqlite3DbFree(tls, db, p) } // Deallocate all memory associated with a WhereAndInfo object. -func whereAndInfoDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:150184:13: */ +func whereAndInfoDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:150198:13: */ Xsqlite3WhereClauseClear(tls, p) Xsqlite3DbFree(tls, db, p) } @@ -132077,7 +132097,7 @@ func whereAndInfoDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:150 // WhereTerms. All pointers to WhereTerms should be invalidated after // calling this routine. Such pointers may be reinitialized by referencing // the pWC->a[] array. -func whereClauseInsert(tls *libc.TLS, pWC uintptr, p uintptr, wtFlags U16) int32 { /* sqlite3.c:150208:12: */ +func whereClauseInsert(tls *libc.TLS, pWC uintptr, p uintptr, wtFlags U16) int32 { /* sqlite3.c:150222:12: */ var pTerm uintptr var idx int32 @@ -132119,14 +132139,14 @@ func whereClauseInsert(tls *libc.TLS, pWC uintptr, p uintptr, wtFlags U16) int32 // Return TRUE if the given operator is one of the operators that is // allowed for an indexable WHERE clause term. The allowed operators are // "=", "<", ">", "<=", ">=", "IN", "IS", and "IS NULL" -func allowedOp(tls *libc.TLS, op int32) int32 { /* sqlite3.c:150250:12: */ +func allowedOp(tls *libc.TLS, op int32) int32 { /* sqlite3.c:150264:12: */ return libc.Bool32(op == TK_IN || op >= TK_EQ && op <= TK_GE || op == TK_ISNULL || op == TK_IS) } // Commute a comparison operator. Expressions of the form "X op Y" // are converted into "Y op X". -func exprCommute(tls *libc.TLS, pParse uintptr, pExpr uintptr) U16 { /* sqlite3.c:150262:12: */ +func exprCommute(tls *libc.TLS, pParse uintptr, pExpr uintptr) U16 { /* sqlite3.c:150276:12: */ if int32((*Expr)(unsafe.Pointer((*Expr)(unsafe.Pointer(pExpr)).FpLeft)).Fop) == TK_VECTOR || int32((*Expr)(unsafe.Pointer((*Expr)(unsafe.Pointer(pExpr)).FpRight)).Fop) == TK_VECTOR || Xsqlite3BinaryCompareCollSeq(tls, pParse, (*Expr)(unsafe.Pointer(pExpr)).FpLeft, (*Expr)(unsafe.Pointer(pExpr)).FpRight) != Xsqlite3BinaryCompareCollSeq(tls, pParse, (*Expr)(unsafe.Pointer(pExpr)).FpRight, (*Expr)(unsafe.Pointer(pExpr)).FpLeft) { @@ -132146,7 +132166,7 @@ func exprCommute(tls *libc.TLS, pParse uintptr, pExpr uintptr) U16 { /* sqlite3. } // Translate from TK_xx operator to WO_xx bitmask. -func operatorMask(tls *libc.TLS, op int32) U16 { /* sqlite3.c:150285:12: */ +func operatorMask(tls *libc.TLS, op int32) U16 { /* sqlite3.c:150299:12: */ var c U16 if op == TK_IN { @@ -132173,7 +132193,7 @@ func operatorMask(tls *libc.TLS, op int32) U16 { /* sqlite3.c:150285:12: */ // that virtual tables cannot participate in the LIKE optimization.) The // collating sequence for the column on the LHS must be appropriate for // the operator. -func isLikeOrGlob(tls *libc.TLS, pParse uintptr, pExpr uintptr, ppPrefix uintptr, pisComplete uintptr, pnoCase uintptr) int32 { /* sqlite3.c:150323:12: */ +func isLikeOrGlob(tls *libc.TLS, pParse uintptr, pExpr uintptr, ppPrefix uintptr, pisComplete uintptr, pnoCase uintptr) int32 { /* sqlite3.c:150337:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -132345,7 +132365,7 @@ func isLikeOrGlob(tls *libc.TLS, pParse uintptr, pExpr uintptr, ppPrefix uintptr // of virtual table in forms (5) or (7) then return 2. // // If the expression matches none of the patterns above, return 0. -func isAuxiliaryVtabOperator(tls *libc.TLS, db uintptr, pExpr uintptr, peOp2 uintptr, ppLeft uintptr, ppRight uintptr) int32 { /* sqlite3.c:150502:12: */ +func isAuxiliaryVtabOperator(tls *libc.TLS, db uintptr, pExpr uintptr, peOp2 uintptr, ppLeft uintptr, ppRight uintptr) int32 { /* sqlite3.c:150516:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -132450,18 +132470,18 @@ type Op2 = struct { FzOp uintptr FeOp2 uint8 F__ccgo_pad1 [7]byte -} /* sqlite3.c:150510:18 */ +} /* sqlite3.c:150524:18 */ var aOp = [4]Op2{ {FzOp: ts + 16014, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_MATCH)}, {FzOp: ts + 15336, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_GLOB)}, {FzOp: ts + 14862, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_LIKE)}, {FzOp: ts + 21637, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_REGEXP)}, -} /* sqlite3.c:150513:7 */ +} /* sqlite3.c:150527:7 */ // If the pBase expression originated in the ON or USING clause of // a join, then transfer the appropriate markings over to derived. -func transferJoinMarkings(tls *libc.TLS, pDerived uintptr, pBase uintptr) { /* sqlite3.c:150614:13: */ +func transferJoinMarkings(tls *libc.TLS, pDerived uintptr, pBase uintptr) { /* sqlite3.c:150628:13: */ if pDerived != 0 { *(*U32)(unsafe.Pointer(pDerived + 4)) |= (*Expr)(unsafe.Pointer(pBase)).Fflags & U32(EP_FromJoin) *(*int32)(unsafe.Pointer(pDerived + 52)) = *(*int32)(unsafe.Pointer(pBase + 52)) @@ -132469,7 +132489,7 @@ func transferJoinMarkings(tls *libc.TLS, pDerived uintptr, pBase uintptr) { /* s } // Mark term iChild as being a child of term iParent -func markTermAsChild(tls *libc.TLS, pWC uintptr, iChild int32, iParent int32) { /* sqlite3.c:150624:13: */ +func markTermAsChild(tls *libc.TLS, pWC uintptr, iChild int32, iParent int32) { /* sqlite3.c:150638:13: */ (*WhereTerm)(unsafe.Pointer((*WhereClause)(unsafe.Pointer(pWC)).Fa + uintptr(iChild)*56)).FiParent = iParent (*WhereTerm)(unsafe.Pointer((*WhereClause)(unsafe.Pointer(pWC)).Fa + uintptr(iChild)*56)).FtruthProb = (*WhereTerm)(unsafe.Pointer((*WhereClause)(unsafe.Pointer(pWC)).Fa + uintptr(iParent)*56)).FtruthProb (*WhereTerm)(unsafe.Pointer((*WhereClause)(unsafe.Pointer(pWC)).Fa+uintptr(iParent)*56)).FnChild++ @@ -132478,7 +132498,7 @@ func markTermAsChild(tls *libc.TLS, pWC uintptr, iChild int32, iParent int32) { // Return the N-th AND-connected subterm of pTerm. Or if pTerm is not // a conjunction, then return just pTerm when N==0. If N is exceeds // the number of available subterms, return NULL. -func whereNthSubterm(tls *libc.TLS, pTerm uintptr, N int32) uintptr { /* sqlite3.c:150635:18: */ +func whereNthSubterm(tls *libc.TLS, pTerm uintptr, N int32) uintptr { /* sqlite3.c:150649:18: */ if int32((*WhereTerm)(unsafe.Pointer(pTerm)).FeOperator) != WO_AND { if N == 0 { return pTerm @@ -132509,7 +132529,7 @@ func whereNthSubterm(tls *libc.TLS, pTerm uintptr, N int32) uintptr { /* sqlite3 // The following is NOT generated: // // xy --> x!=y -func whereCombineDisjuncts(tls *libc.TLS, pSrc uintptr, pWC uintptr, pOne uintptr, pTwo uintptr) { /* sqlite3.c:150665:13: */ +func whereCombineDisjuncts(tls *libc.TLS, pSrc uintptr, pWC uintptr, pOne uintptr, pTwo uintptr) { /* sqlite3.c:150679:13: */ var eOp U16 = U16(int32((*WhereTerm)(unsafe.Pointer(pOne)).FeOperator) | int32((*WhereTerm)(unsafe.Pointer(pTwo)).FeOperator)) var db uintptr // Database connection (for malloc) var pNew uintptr // New virtual expression @@ -132642,7 +132662,7 @@ func whereCombineDisjuncts(tls *libc.TLS, pSrc uintptr, pWC uintptr, pOne uintpt // // If none of cases 1, 2, or 3 apply, then leave the eOperator set to // zero. This term is not useful for search. -func exprAnalyzeOrTerm(tls *libc.TLS, pSrc uintptr, pWC uintptr, idxTerm int32) { /* sqlite3.c:150792:13: */ +func exprAnalyzeOrTerm(tls *libc.TLS, pSrc uintptr, pWC uintptr, idxTerm int32) { /* sqlite3.c:150806:13: */ var pWInfo uintptr = (*WhereClause)(unsafe.Pointer(pWC)).FpWInfo // WHERE clause processing context var pParse uintptr = (*WhereInfo)(unsafe.Pointer(pWInfo)).FpParse // Parser context var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb // Database connection @@ -132961,7 +132981,7 @@ __3: // for the LHS anyplace else in the WHERE clause where the LHS column occurs. // This is an optimization. No harm comes from returning 0. But if 1 is // returned when it should not be, then incorrect answers might result. -func termIsEquivalence(tls *libc.TLS, pParse uintptr, pExpr uintptr) int32 { /* sqlite3.c:151066:12: */ +func termIsEquivalence(tls *libc.TLS, pParse uintptr, pExpr uintptr) int32 { /* sqlite3.c:151080:12: */ var aff1 uint8 var aff2 uint8 var pColl uintptr @@ -132990,7 +133010,7 @@ func termIsEquivalence(tls *libc.TLS, pParse uintptr, pExpr uintptr) int32 { /* // Recursively walk the expressions of a SELECT statement and generate // a bitmask indicating which tables are used in that expression // tree. -func exprSelectUsage(tls *libc.TLS, pMaskSet uintptr, pS uintptr) Bitmask { /* sqlite3.c:151089:16: */ +func exprSelectUsage(tls *libc.TLS, pMaskSet uintptr, pS uintptr) Bitmask { /* sqlite3.c:151103:16: */ var mask Bitmask = uint64(0) for pS != 0 { var pSrc uintptr = (*Select)(unsafe.Pointer(pS)).FpSrc @@ -133025,7 +133045,7 @@ func exprSelectUsage(tls *libc.TLS, pMaskSet uintptr, pS uintptr) Bitmask { /* s // If pExpr is a TK_COLUMN column reference, then this routine always returns // true even if that particular column is not indexed, because the column // might be added to an automatic index later. -func exprMightBeIndexed2(tls *libc.TLS, pFrom uintptr, mPrereq Bitmask, aiCurCol uintptr, pExpr uintptr) int32 { /* sqlite3.c:151126:28: */ +func exprMightBeIndexed2(tls *libc.TLS, pFrom uintptr, mPrereq Bitmask, aiCurCol uintptr, pExpr uintptr) int32 { /* sqlite3.c:151140:28: */ var pIdx uintptr var i int32 var iCur int32 @@ -133063,7 +133083,7 @@ __3: return 0 } -func exprMightBeIndexed(tls *libc.TLS, pFrom uintptr, mPrereq Bitmask, aiCurCol uintptr, pExpr uintptr, op int32) int32 { /* sqlite3.c:151150:12: */ +func exprMightBeIndexed(tls *libc.TLS, pFrom uintptr, mPrereq Bitmask, aiCurCol uintptr, pExpr uintptr, op int32) int32 { /* sqlite3.c:151164:12: */ // If this expression is a vector to the left or right of a // inequality constraint (>, <, >= or <=), perform the processing // on the first element of the vector. @@ -133104,7 +133124,7 @@ func exprMightBeIndexed(tls *libc.TLS, pFrom uintptr, mPrereq Bitmask, aiCurCol // needs to be freed with the WhereClause) and TERM_VIRTUAL (because it // is a commuted copy of a prior term.) The original term has nChild=1 // and the copy has idxParent set to the index of the original term. -func exprAnalyze(tls *libc.TLS, pSrc uintptr, pWC uintptr, idxTerm int32) { /* sqlite3.c:151198:13: */ +func exprAnalyze(tls *libc.TLS, pSrc uintptr, pWC uintptr, idxTerm int32) { /* sqlite3.c:151212:13: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -133472,7 +133492,7 @@ func exprAnalyze(tls *libc.TLS, pSrc uintptr, pWC uintptr, idxTerm int32) { /* s *(*Bitmask)(unsafe.Pointer(pTerm + 40)) |= extraRight } -var ops = [2]U8{U8(TK_GE), U8(TK_LE)} /* sqlite3.c:151367:21 */ +var ops = [2]U8{U8(TK_GE), U8(TK_LE)} /* sqlite3.c:151381:21 */ // ************************************************************************** // @@ -133495,7 +133515,7 @@ var ops = [2]U8{U8(TK_GE), U8(TK_LE)} /* sqlite3.c:151367:21 */ // In the previous sentence and in the diagram, "slot[]" refers to // the WhereClause.a[] array. The slot[] array grows as needed to contain // all terms of the WHERE clause. -func Xsqlite3WhereSplit(tls *libc.TLS, pWC uintptr, pExpr uintptr, op U8) { /* sqlite3.c:151663:21: */ +func Xsqlite3WhereSplit(tls *libc.TLS, pWC uintptr, pExpr uintptr, op U8) { /* sqlite3.c:151677:21: */ var pE2 uintptr = Xsqlite3ExprSkipCollateAndLikely(tls, pExpr) (*WhereClause)(unsafe.Pointer(pWC)).Fop = op @@ -133519,7 +133539,7 @@ func Xsqlite3WhereSplit(tls *libc.TLS, pWC uintptr, pExpr uintptr, op U8) { /* s // (example: "LIMIT 5 OFFSET 10") then the expression codes as a // TK_INTEGER so that it will be available to sqlite3_vtab_rhs_value(). // If not, then it codes as a TK_REGISTER expression. -func whereAddLimitExpr(tls *libc.TLS, pWC uintptr, iReg int32, pExpr uintptr, iCsr int32, eMatchOp int32) { /* sqlite3.c:151687:13: */ +func whereAddLimitExpr(tls *libc.TLS, pWC uintptr, iReg int32, pExpr uintptr, iCsr int32, eMatchOp int32) { /* sqlite3.c:151701:13: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -133571,7 +133591,7 @@ func whereAddLimitExpr(tls *libc.TLS, pWC uintptr, iReg int32, pExpr uintptr, iC // LIMIT and OFFSET terms are ignored by most of the planner code. They // exist only so that they may be passed to the xBestIndex method of the // single virtual table in the FROM clause of the SELECT. -func Xsqlite3WhereAddLimit(tls *libc.TLS, pWC uintptr, p uintptr) { /* sqlite3.c:151740:21: */ +func Xsqlite3WhereAddLimit(tls *libc.TLS, pWC uintptr, p uintptr) { /* sqlite3.c:151754:21: */ if p != 0 && (*Select)(unsafe.Pointer(p)).FpLimit != 0 && (*Select)(unsafe.Pointer(p)).FselFlags&U32(SF_Distinct|SF_Aggregate) == U32(0) && @@ -133621,7 +133641,7 @@ func Xsqlite3WhereAddLimit(tls *libc.TLS, pWC uintptr, p uintptr) { /* sqlite3.c } // Initialize a preallocated WhereClause structure. -func Xsqlite3WhereClauseInit(tls *libc.TLS, pWC uintptr, pWInfo uintptr) { /* sqlite3.c:151786:21: */ +func Xsqlite3WhereClauseInit(tls *libc.TLS, pWC uintptr, pWInfo uintptr) { /* sqlite3.c:151800:21: */ (*WhereClause)(unsafe.Pointer(pWC)).FpWInfo = pWInfo (*WhereClause)(unsafe.Pointer(pWC)).FhasOr = U8(0) (*WhereClause)(unsafe.Pointer(pWC)).FpOuter = uintptr(0) @@ -133634,7 +133654,7 @@ func Xsqlite3WhereClauseInit(tls *libc.TLS, pWC uintptr, pWInfo uintptr) { /* sq // Deallocate a WhereClause structure. The WhereClause structure // itself is not freed. This routine is the inverse of // sqlite3WhereClauseInit(). -func Xsqlite3WhereClauseClear(tls *libc.TLS, pWC uintptr) { /* sqlite3.c:151804:21: */ +func Xsqlite3WhereClauseClear(tls *libc.TLS, pWC uintptr) { /* sqlite3.c:151818:21: */ var db uintptr = (*Parse)(unsafe.Pointer((*WhereInfo)(unsafe.Pointer((*WhereClause)(unsafe.Pointer(pWC)).FpWInfo)).FpParse)).Fdb if (*WhereClause)(unsafe.Pointer(pWC)).FnTerm > 0 { @@ -133694,7 +133714,7 @@ func Xsqlite3WhereClauseClear(tls *libc.TLS, pWC uintptr) { /* sqlite3.c:151804: // computations done by this routine are broken out into a separate // "no-inline" function to avoid the stack push overhead in the // common case where it is not needed. -func sqlite3WhereExprUsageFull(tls *libc.TLS, pMaskSet uintptr, p uintptr) Bitmask { /* sqlite3.c:151872:32: */ +func sqlite3WhereExprUsageFull(tls *libc.TLS, pMaskSet uintptr, p uintptr) Bitmask { /* sqlite3.c:151886:32: */ var mask Bitmask if int32((*Expr)(unsafe.Pointer(p)).Fop) == TK_IF_NULL_ROW { mask = Xsqlite3WhereGetMask(tls, pMaskSet, (*Expr)(unsafe.Pointer(p)).FiTable) @@ -133724,7 +133744,7 @@ func sqlite3WhereExprUsageFull(tls *libc.TLS, pMaskSet uintptr, p uintptr) Bitma return mask } -func Xsqlite3WhereExprUsageNN(tls *libc.TLS, pMaskSet uintptr, p uintptr) Bitmask { /* sqlite3.c:151898:24: */ +func Xsqlite3WhereExprUsageNN(tls *libc.TLS, pMaskSet uintptr, p uintptr) Bitmask { /* sqlite3.c:151912:24: */ if int32((*Expr)(unsafe.Pointer(p)).Fop) == TK_COLUMN && !((*Expr)(unsafe.Pointer(p)).Fflags&U32(EP_FixedCol) != U32(0)) { return Xsqlite3WhereGetMask(tls, pMaskSet, (*Expr)(unsafe.Pointer(p)).FiTable) } else if (*Expr)(unsafe.Pointer(p)).Fflags&U32(EP_TokenOnly|EP_Leaf) != U32(0) { @@ -133734,14 +133754,14 @@ func Xsqlite3WhereExprUsageNN(tls *libc.TLS, pMaskSet uintptr, p uintptr) Bitmas return sqlite3WhereExprUsageFull(tls, pMaskSet, p) } -func Xsqlite3WhereExprUsage(tls *libc.TLS, pMaskSet uintptr, p uintptr) Bitmask { /* sqlite3.c:151907:24: */ +func Xsqlite3WhereExprUsage(tls *libc.TLS, pMaskSet uintptr, p uintptr) Bitmask { /* sqlite3.c:151921:24: */ if p != 0 { return Xsqlite3WhereExprUsageNN(tls, pMaskSet, p) } return uint64(0) } -func Xsqlite3WhereExprListUsage(tls *libc.TLS, pMaskSet uintptr, pList uintptr) Bitmask { /* sqlite3.c:151910:24: */ +func Xsqlite3WhereExprListUsage(tls *libc.TLS, pMaskSet uintptr, pList uintptr) Bitmask { /* sqlite3.c:151924:24: */ var i int32 var mask Bitmask = uint64(0) if pList != 0 { @@ -133758,7 +133778,7 @@ func Xsqlite3WhereExprListUsage(tls *libc.TLS, pMaskSet uintptr, pList uintptr) // end of the WHERE clause. We do not want to analyze these new // virtual terms, so start analyzing at the end and work forward // so that the added virtual terms are never processed. -func Xsqlite3WhereExprAnalyze(tls *libc.TLS, pTabList uintptr, pWC uintptr) { /* sqlite3.c:151930:21: */ +func Xsqlite3WhereExprAnalyze(tls *libc.TLS, pTabList uintptr, pWC uintptr) { /* sqlite3.c:151944:21: */ var i int32 for i = (*WhereClause)(unsafe.Pointer(pWC)).FnTerm - 1; i >= 0; i-- { exprAnalyze(tls, pTabList, pWC, i) @@ -133770,7 +133790,7 @@ func Xsqlite3WhereExprAnalyze(tls *libc.TLS, pTabList uintptr, pWC uintptr) { /* // // Each function argument translates into an equality constraint against // a HIDDEN column in the table. -func Xsqlite3WhereTabFuncArgs(tls *libc.TLS, pParse uintptr, pItem uintptr, pWC uintptr) { /* sqlite3.c:151947:21: */ +func Xsqlite3WhereTabFuncArgs(tls *libc.TLS, pParse uintptr, pItem uintptr, pWC uintptr) { /* sqlite3.c:151961:21: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -133854,7 +133874,7 @@ type HiddenIndexInfo1 = struct { FmHandleIn U32 F__ccgo_pad1 [4]byte FaRhs [1]uintptr -} /* sqlite3.c:152019:9 */ +} /* sqlite3.c:152033:9 */ //************* End of whereexpr.c ****************************************** //************* Begin file where.c ****************************************** @@ -133884,16 +133904,16 @@ type HiddenIndexInfo1 = struct { // This object is not an API and can be changed from one release to the // next. As long as allocateIndexInfo() and sqlite3_vtab_collation() // agree on the structure, all will be well. -type HiddenIndexInfo = HiddenIndexInfo1 /* sqlite3.c:152019:32 */ +type HiddenIndexInfo = HiddenIndexInfo1 /* sqlite3.c:152033:32 */ // Return the estimated number of output rows from a WHERE clause -func Xsqlite3WhereOutputRowCount(tls *libc.TLS, pWInfo uintptr) LogEst { /* sqlite3.c:152037:23: */ +func Xsqlite3WhereOutputRowCount(tls *libc.TLS, pWInfo uintptr) LogEst { /* sqlite3.c:152051:23: */ return (*WhereInfo)(unsafe.Pointer(pWInfo)).FnRowOut } // Return one of the WHERE_DISTINCT_xxxxx values to indicate how this // WHERE clause returns outputs for DISTINCT processing. -func Xsqlite3WhereIsDistinct(tls *libc.TLS, pWInfo uintptr) int32 { /* sqlite3.c:152045:20: */ +func Xsqlite3WhereIsDistinct(tls *libc.TLS, pWInfo uintptr) int32 { /* sqlite3.c:152059:20: */ return int32((*WhereInfo)(unsafe.Pointer(pWInfo)).FeDistinct) } @@ -133903,7 +133923,7 @@ func Xsqlite3WhereIsDistinct(tls *libc.TLS, pWInfo uintptr) int32 { /* sqlite3.c // terms means that no sorting is needed at all. A return that // is positive but less than the number of ORDER BY terms means that // block sorting is required. -func Xsqlite3WhereIsOrdered(tls *libc.TLS, pWInfo uintptr) int32 { /* sqlite3.c:152057:20: */ +func Xsqlite3WhereIsOrdered(tls *libc.TLS, pWInfo uintptr) int32 { /* sqlite3.c:152071:20: */ return int32((*WhereInfo)(unsafe.Pointer(pWInfo)).FnOBSat) } @@ -133928,7 +133948,7 @@ func Xsqlite3WhereIsOrdered(tls *libc.TLS, pWInfo uintptr) int32 { /* sqlite3.c: // Returning the continuation the second inner loop is an optimization // that might make the code run a little faster, but should not change // the final answer. -func Xsqlite3WhereOrderByLimitOptLabel(tls *libc.TLS, pWInfo uintptr) int32 { /* sqlite3.c:152084:20: */ +func Xsqlite3WhereOrderByLimitOptLabel(tls *libc.TLS, pWInfo uintptr) int32 { /* sqlite3.c:152098:20: */ var pInner uintptr if !(int32(*(*uint8)(unsafe.Pointer(pWInfo + 76))&0x4>>2) != 0) { // The ORDER BY LIMIT optimization does not apply. Jump to the @@ -133949,7 +133969,7 @@ func Xsqlite3WhereOrderByLimitOptLabel(tls *libc.TLS, pWInfo uintptr) int32 { /* // Any extra OP_Goto that is coded here is an optimization. The // correct answer should be obtained regardless. This OP_Goto just // makes the answer appear faster. -func Xsqlite3WhereMinMaxOptEarlyOut(tls *libc.TLS, v uintptr, pWInfo uintptr) { /* sqlite3.c:152107:21: */ +func Xsqlite3WhereMinMaxOptEarlyOut(tls *libc.TLS, v uintptr, pWInfo uintptr) { /* sqlite3.c:152121:21: */ var pInner uintptr var i int32 if !(int32(*(*uint8)(unsafe.Pointer(pWInfo + 76))&0x4>>2) != 0) { @@ -133970,14 +133990,14 @@ func Xsqlite3WhereMinMaxOptEarlyOut(tls *libc.TLS, v uintptr, pWInfo uintptr) { // Return the VDBE address or label to jump to in order to continue // immediately with the next row of a WHERE clause. -func Xsqlite3WhereContinueLabel(tls *libc.TLS, pWInfo uintptr) int32 { /* sqlite3.c:152126:20: */ +func Xsqlite3WhereContinueLabel(tls *libc.TLS, pWInfo uintptr) int32 { /* sqlite3.c:152140:20: */ return (*WhereInfo)(unsafe.Pointer(pWInfo)).FiContinue } // Return the VDBE address or label to jump to in order to break // out of a WHERE loop. -func Xsqlite3WhereBreakLabel(tls *libc.TLS, pWInfo uintptr) int32 { /* sqlite3.c:152135:20: */ +func Xsqlite3WhereBreakLabel(tls *libc.TLS, pWInfo uintptr) int32 { /* sqlite3.c:152149:20: */ return (*WhereInfo)(unsafe.Pointer(pWInfo)).FiBreak } @@ -133996,19 +134016,19 @@ func Xsqlite3WhereBreakLabel(tls *libc.TLS, pWInfo uintptr) int32 { /* sqlite3.c // // aiCur[0] and aiCur[1] both get -1 if the where-clause logic is // unable to use the ONEPASS optimization. -func Xsqlite3WhereOkOnePass(tls *libc.TLS, pWInfo uintptr, aiCur uintptr) int32 { /* sqlite3.c:152156:20: */ +func Xsqlite3WhereOkOnePass(tls *libc.TLS, pWInfo uintptr, aiCur uintptr) int32 { /* sqlite3.c:152170:20: */ libc.Xmemcpy(tls, aiCur, pWInfo+48, uint64(unsafe.Sizeof(int32(0)))*uint64(2)) return int32((*WhereInfo)(unsafe.Pointer(pWInfo)).FeOnePass) } // Return TRUE if the WHERE loop uses the OP_DeferredSeek opcode to move // the data cursor to the row selected by the index cursor. -func Xsqlite3WhereUsesDeferredSeek(tls *libc.TLS, pWInfo uintptr) int32 { /* sqlite3.c:152172:20: */ +func Xsqlite3WhereUsesDeferredSeek(tls *libc.TLS, pWInfo uintptr) int32 { /* sqlite3.c:152186:20: */ return int32(*(*uint8)(unsafe.Pointer(pWInfo + 76)) & 0x1 >> 0) } // Move the content of pSrc into pDest -func whereOrMove(tls *libc.TLS, pDest uintptr, pSrc uintptr) { /* sqlite3.c:152179:13: */ +func whereOrMove(tls *libc.TLS, pDest uintptr, pSrc uintptr) { /* sqlite3.c:152193:13: */ (*WhereOrSet)(unsafe.Pointer(pDest)).Fn = (*WhereOrSet)(unsafe.Pointer(pSrc)).Fn libc.Xmemcpy(tls, pDest+8, pSrc+8, uint64((*WhereOrSet)(unsafe.Pointer(pDest)).Fn)*uint64(unsafe.Sizeof(WhereOrCost{}))) } @@ -134018,7 +134038,7 @@ func whereOrMove(tls *libc.TLS, pDest uintptr, pSrc uintptr) { /* sqlite3.c:1521 // The new entry might overwrite an existing entry, or it might be // appended, or it might be discarded. Do whatever is the right thing // so that pSet keeps the N_OR_COST best entries seen so far. -func whereOrInsert(tls *libc.TLS, pSet uintptr, prereq Bitmask, rRun LogEst, nOut LogEst) int32 { /* sqlite3.c:152191:12: */ +func whereOrInsert(tls *libc.TLS, pSet uintptr, prereq Bitmask, rRun LogEst, nOut LogEst) int32 { /* sqlite3.c:152205:12: */ var i U16 var p uintptr i = (*WhereOrSet)(unsafe.Pointer(pSet)).Fn @@ -134095,7 +134115,7 @@ __13: // Return the bitmask for the given cursor number. Return 0 if // iCursor is not in the set. -func Xsqlite3WhereGetMask(tls *libc.TLS, pMaskSet uintptr, iCursor int32) Bitmask { /* sqlite3.c:152228:24: */ +func Xsqlite3WhereGetMask(tls *libc.TLS, pMaskSet uintptr, iCursor int32) Bitmask { /* sqlite3.c:152242:24: */ var i int32 if *(*int32)(unsafe.Pointer(pMaskSet + 8)) == iCursor { @@ -134115,14 +134135,14 @@ func Xsqlite3WhereGetMask(tls *libc.TLS, pMaskSet uintptr, iCursor int32) Bitmas // tables in the FROM clause is limited by a test early in the // sqlite3WhereBegin() routine. So we know that the pMaskSet->ix[] // array will never overflow. -func createMask(tls *libc.TLS, pMaskSet uintptr, iCursor int32) { /* sqlite3.c:152252:13: */ +func createMask(tls *libc.TLS, pMaskSet uintptr, iCursor int32) { /* sqlite3.c:152266:13: */ *(*int32)(unsafe.Pointer(pMaskSet + 8 + uintptr(libc.PostIncInt32(&(*WhereMaskSet)(unsafe.Pointer(pMaskSet)).Fn, 1))*4)) = iCursor } // If the right-hand branch of the expression is a TK_COLUMN, then return // a pointer to the right-hand branch. Otherwise, return NULL. -func whereRightSubexprIsColumn(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:152261:13: */ +func whereRightSubexprIsColumn(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:152275:13: */ p = Xsqlite3ExprSkipCollateAndLikely(tls, (*Expr)(unsafe.Pointer(p)).FpRight) if p != uintptr(0) && int32((*Expr)(unsafe.Pointer(p)).Fop) == TK_COLUMN && !((*Expr)(unsafe.Pointer(p)).Fflags&U32(EP_FixedCol) != U32(0)) { return p @@ -134133,7 +134153,7 @@ func whereRightSubexprIsColumn(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c: // Advance to the next WhereTerm that matches according to the criteria // established when the pScan object was initialized by whereScanInit(). // Return NULL if there are no more matching WhereTerms. -func whereScanNext(tls *libc.TLS, pScan uintptr) uintptr { /* sqlite3.c:152274:18: */ +func whereScanNext(tls *libc.TLS, pScan uintptr) uintptr { /* sqlite3.c:152288:18: */ var iCur int32 // The cursor on the LHS of the term var iColumn I16 // The column on the LHS of the term. -1 for IPK var pX uintptr // An expression being tested @@ -134237,7 +134257,7 @@ func whereScanNext(tls *libc.TLS, pScan uintptr) uintptr { /* sqlite3.c:152274:1 // It is factored out into a separate tail-recursion subroutine so that // the normal whereScanInit() routine, which is a high-runner, does not // need to push registers onto the stack as part of its prologue. -func whereScanInitIndexExpr(tls *libc.TLS, pScan uintptr) uintptr { /* sqlite3.c:152376:34: */ +func whereScanInitIndexExpr(tls *libc.TLS, pScan uintptr) uintptr { /* sqlite3.c:152390:34: */ (*WhereScan)(unsafe.Pointer(pScan)).Fidxaff = Xsqlite3ExprAffinity(tls, (*WhereScan)(unsafe.Pointer(pScan)).FpIdxExpr) return whereScanNext(tls, pScan) } @@ -134259,7 +134279,7 @@ func whereScanInitIndexExpr(tls *libc.TLS, pScan uintptr) uintptr { /* sqlite3.c // // If X is not the INTEGER PRIMARY KEY then X must be compatible with // index pIdx. -func whereScanInit(tls *libc.TLS, pScan uintptr, pWC uintptr, iCur int32, iColumn int32, opMask U32, pIdx uintptr) uintptr { /* sqlite3.c:152400:18: */ +func whereScanInit(tls *libc.TLS, pScan uintptr, pWC uintptr, iCur int32, iColumn int32, opMask U32, pIdx uintptr) uintptr { /* sqlite3.c:152414:18: */ (*WhereScan)(unsafe.Pointer(pScan)).FpOrigWC = pWC (*WhereScan)(unsafe.Pointer(pScan)).FpWC = pWC (*WhereScan)(unsafe.Pointer(pScan)).FpIdxExpr = uintptr(0) @@ -134314,7 +134334,7 @@ func whereScanInit(tls *libc.TLS, pScan uintptr, pWC uintptr, iCur int32, iColum // the form "X Y" where Y is a column in another table if no terms of // the form "X " exist. If no terms with a constant RHS // exist, try to return a term that does not use WO_EQUIV. -func Xsqlite3WhereFindTerm(tls *libc.TLS, pWC uintptr, iCur int32, iColumn int32, notReady Bitmask, op U32, pIdx uintptr) uintptr { /* sqlite3.c:152464:26: */ +func Xsqlite3WhereFindTerm(tls *libc.TLS, pWC uintptr, iCur int32, iColumn int32, notReady Bitmask, op U32, pIdx uintptr) uintptr { /* sqlite3.c:152478:26: */ bp := tls.Alloc(112) defer tls.Free(112) @@ -134344,7 +134364,7 @@ func Xsqlite3WhereFindTerm(tls *libc.TLS, pWC uintptr, iCur int32, iColumn int32 // // If such an expression is found, its index in pList->a[] is returned. If // no expression is found, -1 is returned. -func findIndexCol(tls *libc.TLS, pParse uintptr, pList uintptr, iBase int32, pIdx uintptr, iCol int32) int32 { /* sqlite3.c:152498:12: */ +func findIndexCol(tls *libc.TLS, pParse uintptr, pList uintptr, iBase int32, pIdx uintptr, iCol int32) int32 { /* sqlite3.c:152512:12: */ var i int32 var zColl uintptr = *(*uintptr)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FazColl + uintptr(iCol)*8)) @@ -134365,7 +134385,7 @@ func findIndexCol(tls *libc.TLS, pParse uintptr, pList uintptr, iBase int32, pId } // Return TRUE if the iCol-th column of index pIdx is NOT NULL -func indexColumnNotNull(tls *libc.TLS, pIdx uintptr, iCol int32) int32 { /* sqlite3.c:152528:12: */ +func indexColumnNotNull(tls *libc.TLS, pIdx uintptr, iCol int32) int32 { /* sqlite3.c:152542:12: */ var j int32 j = int32(*(*I16)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FaiColumn + uintptr(iCol)*2))) @@ -134386,7 +134406,7 @@ func indexColumnNotNull(tls *libc.TLS, pIdx uintptr, iCol int32) int32 { /* sqli // // A DISTINCT list is redundant if any subset of the columns in the // DISTINCT list are collectively unique and individually non-null. -func isDistinctRedundant(tls *libc.TLS, pParse uintptr, pTabList uintptr, pWC uintptr, pDistinct uintptr) int32 { /* sqlite3.c:152551:12: */ +func isDistinctRedundant(tls *libc.TLS, pParse uintptr, pTabList uintptr, pWC uintptr, pDistinct uintptr) int32 { /* sqlite3.c:152565:12: */ var pTab uintptr var pIdx uintptr var i int32 @@ -134456,7 +134476,7 @@ func isDistinctRedundant(tls *libc.TLS, pParse uintptr, pTabList uintptr, pWC ui } // Estimate the logarithm of the input value to base 2. -func estLog(tls *libc.TLS, N LogEst) LogEst { /* sqlite3.c:152615:15: */ +func estLog(tls *libc.TLS, N LogEst) LogEst { /* sqlite3.c:152629:15: */ if int32(N) <= 10 { return int16(0) } @@ -134473,7 +134493,7 @@ func estLog(tls *libc.TLS, N LogEst) LogEst { /* sqlite3.c:152615:15: */ // cursor iTabCur are transformed into OP_Sequence opcode for the // iAutoidxCur cursor, in order to generate unique rowids for the // automatic index being generated. -func translateColumnToCopy(tls *libc.TLS, pParse uintptr, iStart int32, iTabCur int32, iRegister int32, iAutoidxCur int32) { /* sqlite3.c:152631:13: */ +func translateColumnToCopy(tls *libc.TLS, pParse uintptr, iStart int32, iTabCur int32, iRegister int32, iAutoidxCur int32) { /* sqlite3.c:152645:13: */ var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe var pOp uintptr = Xsqlite3VdbeGetOp(tls, v, iStart) var iEnd int32 = Xsqlite3VdbeCurrentAddr(tls, v) @@ -134516,7 +134536,7 @@ __3: // Return TRUE if the WHERE clause term pTerm is of a form where it // could be used with an index to access pSrc, assuming an appropriate // index existed. -func termCanDriveIndex(tls *libc.TLS, pTerm uintptr, pSrc uintptr, notReady Bitmask) int32 { /* sqlite3.c:152715:12: */ +func termCanDriveIndex(tls *libc.TLS, pTerm uintptr, pSrc uintptr, notReady Bitmask) int32 { /* sqlite3.c:152729:12: */ var aff uint8 if (*WhereTerm)(unsafe.Pointer(pTerm)).FleftCursor != (*SrcItem)(unsafe.Pointer(pSrc)).FiCursor { return 0 @@ -134550,7 +134570,7 @@ func termCanDriveIndex(tls *libc.TLS, pTerm uintptr, pSrc uintptr, notReady Bitm // Generate code to construct the Index object for an automatic index // and to set up the WhereLevel object pLevel so that the code generator // makes use of the automatic index. -func constructAutomaticIndex(tls *libc.TLS, pParse uintptr, pWC uintptr, pSrc uintptr, notReady Bitmask, pLevel uintptr) { /* sqlite3.c:152749:29: */ +func constructAutomaticIndex(tls *libc.TLS, pParse uintptr, pWC uintptr, pSrc uintptr, notReady Bitmask, pLevel uintptr) { /* sqlite3.c:152763:29: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -134908,7 +134928,7 @@ end_auto_index_create: // This routine may only be called if it has previously been determined that // the loop would benefit from a Bloom filter, and the WHERE_BLOOMFILTER bit // is set. -func sqlite3ConstructBloomFilter(tls *libc.TLS, pWInfo uintptr, iLevel int32, pLevel uintptr, notReady Bitmask) { /* sqlite3.c:152984:29: */ +func sqlite3ConstructBloomFilter(tls *libc.TLS, pWInfo uintptr, iLevel int32, pLevel uintptr, notReady Bitmask) { /* sqlite3.c:152998:29: */ var addrOnce int32 // Address of opening OP_Once var addrTop int32 // Address of OP_Rewind var addrCont int32 // Jump here to skip a row @@ -135013,7 +135033,7 @@ func sqlite3ConstructBloomFilter(tls *libc.TLS, pWInfo uintptr, iLevel int32, pL // Allocate and populate an sqlite3_index_info structure. It is the // responsibility of the caller to eventually release the structure // by passing the pointer returned by this function to freeIndexInfo(). -func allocateIndexInfo(tls *libc.TLS, pWInfo uintptr, pWC uintptr, mUnusable Bitmask, pSrc uintptr, pmNoOmit uintptr) uintptr { /* sqlite3.c:153097:27: */ +func allocateIndexInfo(tls *libc.TLS, pWInfo uintptr, pWC uintptr, mUnusable Bitmask, pSrc uintptr, pmNoOmit uintptr) uintptr { /* sqlite3.c:153111:27: */ var i int32 var j int32 var nTerm int32 @@ -135239,7 +135259,7 @@ __6: // Free an sqlite3_index_info structure allocated by allocateIndexInfo() // and possibly modified by xBestIndex methods. -func freeIndexInfo(tls *libc.TLS, db uintptr, pIdxInfo uintptr) { /* sqlite3.c:153296:13: */ +func freeIndexInfo(tls *libc.TLS, db uintptr, pIdxInfo uintptr) { /* sqlite3.c:153310:13: */ var pHidden uintptr var i int32 @@ -135266,7 +135286,7 @@ func freeIndexInfo(tls *libc.TLS, db uintptr, pIdxInfo uintptr) { /* sqlite3.c:1 // Whether or not an error is returned, it is the responsibility of the // caller to eventually free p->idxStr if p->needToFreeIdxStr indicates // that this is required. -func vtabBestIndex(tls *libc.TLS, pParse uintptr, pTab uintptr, p uintptr) int32 { /* sqlite3.c:153326:12: */ +func vtabBestIndex(tls *libc.TLS, pParse uintptr, pTab uintptr, p uintptr) int32 { /* sqlite3.c:153340:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -135304,7 +135324,7 @@ func vtabBestIndex(tls *libc.TLS, pParse uintptr, pTab uintptr, p uintptr) int32 // into the aSample[] array - it is an index into a virtual set of samples // based on the contents of aSample[] and the number of fields in record // pRec. -func whereKeyStats(tls *libc.TLS, pParse uintptr, pIdx uintptr, pRec uintptr, roundUp int32, aStat uintptr) int32 { /* sqlite3.c:153365:12: */ +func whereKeyStats(tls *libc.TLS, pParse uintptr, pIdx uintptr, pRec uintptr, roundUp int32, aStat uintptr) int32 { /* sqlite3.c:153379:12: */ var aSample uintptr = (*Index)(unsafe.Pointer(pIdx)).FaSample var iCol int32 // Index of required stats in anEq[] etc. var i int32 // Index of first sample >= pRec @@ -135443,7 +135463,7 @@ func whereKeyStats(tls *libc.TLS, pParse uintptr, pIdx uintptr, pRec uintptr, ro // then the return value is the likelihood multiplied by the number of // input rows. Otherwise, this function assumes that an "IS NOT NULL" term // has a likelihood of 0.50, and any other term a likelihood of 0.25. -func whereRangeAdjust(tls *libc.TLS, pTerm uintptr, nNew LogEst) LogEst { /* sqlite3.c:153557:15: */ +func whereRangeAdjust(tls *libc.TLS, pTerm uintptr, nNew LogEst) LogEst { /* sqlite3.c:153571:15: */ var nRet LogEst = nNew if pTerm != 0 { if int32((*WhereTerm)(unsafe.Pointer(pTerm)).FtruthProb) <= 0 { @@ -135456,7 +135476,7 @@ func whereRangeAdjust(tls *libc.TLS, pTerm uintptr, nNew LogEst) LogEst { /* sql } // Return the affinity for a single column of an index. -func Xsqlite3IndexColumnAffinity(tls *libc.TLS, db uintptr, pIdx uintptr, iCol int32) uint8 { /* sqlite3.c:153574:21: */ +func Xsqlite3IndexColumnAffinity(tls *libc.TLS, db uintptr, pIdx uintptr, iCol int32) uint8 { /* sqlite3.c:153588:21: */ if !(int32((*Index)(unsafe.Pointer(pIdx)).FzColAff) != 0) { if Xsqlite3IndexAffinityStr(tls, db, pIdx) == uintptr(0) { @@ -135500,7 +135520,7 @@ func Xsqlite3IndexColumnAffinity(tls *libc.TLS, db uintptr, pIdx uintptr, iCol i // // If an error occurs, an SQLite error code is returned. Otherwise, // SQLITE_OK. -func whereRangeSkipScanEst(tls *libc.TLS, pParse uintptr, pLower uintptr, pUpper uintptr, pLoop uintptr, pbDone uintptr) int32 { /* sqlite3.c:153621:12: */ +func whereRangeSkipScanEst(tls *libc.TLS, pParse uintptr, pLower uintptr, pUpper uintptr, pLoop uintptr, pbDone uintptr) int32 { /* sqlite3.c:153635:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -135615,7 +135635,7 @@ func whereRangeSkipScanEst(tls *libc.TLS, pParse uintptr, pLower uintptr, pUpper // used, a single range inequality reduces the search space by a factor of 4. // and a pair of constraints (x>? AND x>0)) != 0 { Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(p + 24 + 16 /* &.idxStr */))) @@ -135923,7 +135943,7 @@ func whereLoopClearUnion(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:15 } // Deallocate internal memory used by a WhereLoop object -func whereLoopClear(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:154152:13: */ +func whereLoopClear(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:154166:13: */ if (*WhereLoop)(unsafe.Pointer(p)).FaLTerm != p+88 { Xsqlite3DbFreeNN(tls, db, (*WhereLoop)(unsafe.Pointer(p)).FaLTerm) } @@ -135932,7 +135952,7 @@ func whereLoopClear(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:154152: } // Increase the memory allocation for pLoop->aLTerm[] to be at least n. -func whereLoopResize(tls *libc.TLS, db uintptr, p uintptr, n int32) int32 { /* sqlite3.c:154161:12: */ +func whereLoopResize(tls *libc.TLS, db uintptr, p uintptr, n int32) int32 { /* sqlite3.c:154175:12: */ var paNew uintptr if int32((*WhereLoop)(unsafe.Pointer(p)).FnLSlot) >= n { return SQLITE_OK @@ -135952,7 +135972,7 @@ func whereLoopResize(tls *libc.TLS, db uintptr, p uintptr, n int32) int32 { /* s } // Transfer content from the second pLoop into the first. -func whereLoopXfer(tls *libc.TLS, db uintptr, pTo uintptr, pFrom uintptr) int32 { /* sqlite3.c:154177:12: */ +func whereLoopXfer(tls *libc.TLS, db uintptr, pTo uintptr, pFrom uintptr) int32 { /* sqlite3.c:154191:12: */ whereLoopClearUnion(tls, db, pTo) if whereLoopResize(tls, db, pTo, int32((*WhereLoop)(unsafe.Pointer(pFrom)).FnLTerm)) != 0 { libc.Xmemset(tls, pTo, 0, uint64(uintptr(0)+64)) @@ -135969,13 +135989,13 @@ func whereLoopXfer(tls *libc.TLS, db uintptr, pTo uintptr, pFrom uintptr) int32 } // Delete a WhereLoop object -func whereLoopDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:154196:13: */ +func whereLoopDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:154210:13: */ whereLoopClear(tls, db, p) Xsqlite3DbFreeNN(tls, db, p) } // Free a WhereInfo structure -func whereInfoFree(tls *libc.TLS, db uintptr, pWInfo uintptr) { /* sqlite3.c:154204:13: */ +func whereInfoFree(tls *libc.TLS, db uintptr, pWInfo uintptr) { /* sqlite3.c:154218:13: */ var i int32 for i = 0; i < int32((*WhereInfo)(unsafe.Pointer(pWInfo)).FnLevel); i++ { @@ -135996,7 +136016,7 @@ func whereInfoFree(tls *libc.TLS, db uintptr, pWInfo uintptr) { /* sqlite3.c:154 } // Undo all Expr node modifications -func whereUndoExprMods(tls *libc.TLS, pWInfo uintptr) { /* sqlite3.c:154226:13: */ +func whereUndoExprMods(tls *libc.TLS, pWInfo uintptr) { /* sqlite3.c:154240:13: */ for (*WhereInfo)(unsafe.Pointer(pWInfo)).FpExprMods != 0 { var p uintptr = (*WhereInfo)(unsafe.Pointer(pWInfo)).FpExprMods (*WhereInfo)(unsafe.Pointer(pWInfo)).FpExprMods = (*WhereExprMod)(unsafe.Pointer(p)).FpNext @@ -136022,7 +136042,7 @@ func whereUndoExprMods(tls *libc.TLS, pWInfo uintptr) { /* sqlite3.c:154226:13: // deserve a lower cost even if it is a proper subset of Y. Constraint (5) // was added because a covering index probably deserves to have a lower cost // than a non-covering index even if it is a proper subset. -func whereLoopCheaperProperSubset(tls *libc.TLS, pX uintptr, pY uintptr) int32 { /* sqlite3.c:154254:12: */ +func whereLoopCheaperProperSubset(tls *libc.TLS, pX uintptr, pY uintptr) int32 { /* sqlite3.c:154268:12: */ var i int32 var j int32 if int32((*WhereLoop)(unsafe.Pointer(pX)).FnLTerm)-int32((*WhereLoop)(unsafe.Pointer(pX)).FnSkip) >= int32((*WhereLoop)(unsafe.Pointer(pY)).FnLTerm)-int32((*WhereLoop)(unsafe.Pointer(pY)).FnSkip) { @@ -136066,7 +136086,7 @@ func whereLoopCheaperProperSubset(tls *libc.TLS, pX uintptr, pY uintptr) int32 { // To say "WhereLoop X is a proper subset of Y" means that X uses fewer // WHERE clause terms than Y and that every WHERE clause term used by X is // also used by Y. -func whereLoopAdjustCost(tls *libc.TLS, p uintptr, pTemplate uintptr) { /* sqlite3.c:154292:13: */ +func whereLoopAdjustCost(tls *libc.TLS, p uintptr, pTemplate uintptr) { /* sqlite3.c:154306:13: */ if (*WhereLoop)(unsafe.Pointer(pTemplate)).FwsFlags&U32(WHERE_INDEXED) == U32(0) { return } @@ -136125,7 +136145,7 @@ func whereLoopAdjustCost(tls *libc.TLS, p uintptr, pTemplate uintptr) { /* sqlit // If pTemplate cannot replace any existing element of the list but needs // to be added to the list as a new entry, then return a pointer to the // tail of the list. -func whereLoopFindLesser(tls *libc.TLS, ppPrev uintptr, pTemplate uintptr) uintptr { /* sqlite3.c:154333:18: */ +func whereLoopFindLesser(tls *libc.TLS, ppPrev uintptr, pTemplate uintptr) uintptr { /* sqlite3.c:154347:18: */ var p uintptr p = *(*uintptr)(unsafe.Pointer(ppPrev)) __1: @@ -136214,7 +136234,7 @@ __3: // (2) They have the same iSortIdx. // (3) The template has same or fewer dependencies than the current loop // (4) The template has the same or lower cost than the current loop -func whereLoopInsert(tls *libc.TLS, pBuilder uintptr, pTemplate uintptr) int32 { /* sqlite3.c:154421:12: */ +func whereLoopInsert(tls *libc.TLS, pBuilder uintptr, pTemplate uintptr) int32 { /* sqlite3.c:154435:12: */ var ppPrev uintptr var p uintptr var pWInfo uintptr = (*WhereLoopBuilder)(unsafe.Pointer(pBuilder)).FpWInfo @@ -136321,7 +136341,7 @@ func whereLoopInsert(tls *libc.TLS, pBuilder uintptr, pTemplate uintptr) int32 { // "x" column is boolean or else -1 or 0 or 1 is a common default value // on the "x" column and so in that case only cap the output row estimate // at 1/2 instead of 1/4. -func whereLoopOutputAdjust(tls *libc.TLS, pWC uintptr, pLoop uintptr, nRow LogEst) { /* sqlite3.c:154558:13: */ +func whereLoopOutputAdjust(tls *libc.TLS, pWC uintptr, pLoop uintptr, nRow LogEst) { /* sqlite3.c:154572:13: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -136367,7 +136387,14 @@ __1: // that depend only on the table being scanned, and that will tend to // cause many rows to be omitted, then mark that table as // "self-culling". - *(*U32)(unsafe.Pointer(pLoop + 56)) |= U32(WHERE_SELFCULL) + // + // 2022-03-24: Self-culling only applies if either the extra terms + // are straight comparison operators that are non-true with NULL + // operand, or if the loop is not a LEFT JOIN. + if int32((*WhereTerm)(unsafe.Pointer(pTerm)).FeOperator)&0x3f != 0 || + int32((*SrcItem)(unsafe.Pointer((*WhereInfo)(unsafe.Pointer((*WhereClause)(unsafe.Pointer(pWC)).FpWInfo)).FpTabList+8+uintptr((*WhereLoop)(unsafe.Pointer(pLoop)).FiTab)*112)).Ffg.Fjointype)&JT_LEFT == 0 { + *(*U32)(unsafe.Pointer(pLoop + 56)) |= U32(WHERE_SELFCULL) + } } if int32((*WhereTerm)(unsafe.Pointer(pTerm)).FtruthProb) <= 0 { // If a truth probability is specified using the likelihood() hints, @@ -136424,7 +136451,7 @@ __3: // // then this function would be invoked with nEq=1. The value returned in // this case is 3. -func whereRangeVectorLen(tls *libc.TLS, pParse uintptr, iCur int32, pIdx uintptr, nEq int32, pTerm uintptr) int32 { /* sqlite3.c:154637:12: */ +func whereRangeVectorLen(tls *libc.TLS, pParse uintptr, iCur int32, pIdx uintptr, nEq int32, pTerm uintptr) int32 { /* sqlite3.c:154660:12: */ var nCmp int32 = Xsqlite3ExprVectorSize(tls, (*Expr)(unsafe.Pointer((*WhereTerm)(unsafe.Pointer(pTerm)).FpExpr)).FpLeft) var i int32 @@ -136492,7 +136519,7 @@ func whereRangeVectorLen(tls *libc.TLS, pParse uintptr, iCur int32, pIdx uintptr // // If pProbe->idxType==SQLITE_IDXTYPE_IPK, that means pIndex is // a fake index used for the INTEGER PRIMARY KEY. -func whereLoopAddBtreeIndex(tls *libc.TLS, pBuilder uintptr, pSrc uintptr, pProbe uintptr, nInMul LogEst) int32 { /* sqlite3.c:154711:12: */ +func whereLoopAddBtreeIndex(tls *libc.TLS, pBuilder uintptr, pSrc uintptr, pProbe uintptr, nInMul LogEst) int32 { /* sqlite3.c:154734:12: */ bp := tls.Alloc(116) defer tls.Free(116) @@ -136852,7 +136879,7 @@ func whereLoopAddBtreeIndex(tls *libc.TLS, pBuilder uintptr, pSrc uintptr, pProb // Return False if pBuilder does not contain an ORDER BY clause or // if there is no way for pIndex to be useful in implementing that // ORDER BY clause. -func indexMightHelpWithOrderBy(tls *libc.TLS, pBuilder uintptr, pIndex uintptr, iCursor int32) int32 { /* sqlite3.c:155111:12: */ +func indexMightHelpWithOrderBy(tls *libc.TLS, pBuilder uintptr, pIndex uintptr, iCursor int32) int32 { /* sqlite3.c:155134:12: */ var pOB uintptr var aColExpr uintptr var ii int32 @@ -136894,7 +136921,7 @@ func indexMightHelpWithOrderBy(tls *libc.TLS, pBuilder uintptr, pIndex uintptr, // Check to see if a partial index with pPartIndexWhere can be used // in the current query. Return true if it can be and false if not. -func whereUsablePartialIndex(tls *libc.TLS, iTab int32, isLeft int32, pWC uintptr, pWhere uintptr) int32 { /* sqlite3.c:155145:12: */ +func whereUsablePartialIndex(tls *libc.TLS, iTab int32, isLeft int32, pWC uintptr, pWhere uintptr) int32 { /* sqlite3.c:155168:12: */ var i int32 var pTerm uintptr var pParse uintptr = (*WhereInfo)(unsafe.Pointer((*WhereClause)(unsafe.Pointer(pWC)).FpWInfo)).FpParse @@ -136969,7 +136996,7 @@ __3: // bias the scoring in favor of using an index, since the worst-case // performance of using an index is far better than the worst-case performance // of a full table scan. -func whereLoopAddBtree(tls *libc.TLS, pBuilder uintptr, mPrereq Bitmask) int32 { /* sqlite3.c:155209:12: */ +func whereLoopAddBtree(tls *libc.TLS, pBuilder uintptr, mPrereq Bitmask) int32 { /* sqlite3.c:155232:12: */ bp := tls.Alloc(158) defer tls.Free(158) @@ -137254,7 +137281,7 @@ __3: } // Return true if pTerm is a virtual table LIMIT or OFFSET term. -func isLimitTerm(tls *libc.TLS, pTerm uintptr) int32 { /* sqlite3.c:155467:12: */ +func isLimitTerm(tls *libc.TLS, pTerm uintptr) int32 { /* sqlite3.c:155490:12: */ return libc.Bool32(int32((*WhereTerm)(unsafe.Pointer(pTerm)).FeMatchOp) >= SQLITE_INDEX_CONSTRAINT_LIMIT && int32((*WhereTerm)(unsafe.Pointer(pTerm)).FeMatchOp) <= SQLITE_INDEX_CONSTRAINT_OFFSET) @@ -137278,7 +137305,7 @@ func isLimitTerm(tls *libc.TLS, pTerm uintptr) int32 { /* sqlite3.c:155467:12: * // // Output parameter *pbIn is set to true if the plan added to pBuilder // uses one or more WO_IN terms, or false otherwise. -func whereLoopAddVirtualOne(tls *libc.TLS, pBuilder uintptr, mPrereq Bitmask, mUsable Bitmask, mExclude U16, pIdxInfo uintptr, mNoOmit U16, pbIn uintptr, pbRetryLimit uintptr) int32 { /* sqlite3.c:155493:12: */ +func whereLoopAddVirtualOne(tls *libc.TLS, pBuilder uintptr, mPrereq Bitmask, mUsable Bitmask, mExclude U16, pIdxInfo uintptr, mNoOmit U16, pbIn uintptr, pbRetryLimit uintptr) int32 { /* sqlite3.c:155516:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -137502,7 +137529,7 @@ __6: // 2. Else, if the column has an alternative collation, return that. // // 3. Otherwise, return "BINARY". -func Xsqlite3_vtab_collation(tls *libc.TLS, pIdxInfo uintptr, iCons int32) uintptr { /* sqlite3.c:155685:23: */ +func Xsqlite3_vtab_collation(tls *libc.TLS, pIdxInfo uintptr, iCons int32) uintptr { /* sqlite3.c:155708:23: */ var pHidden uintptr = pIdxInfo + 1*96 var zRet uintptr = uintptr(0) if iCons >= 0 && iCons < (*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FnConstraint { @@ -137525,7 +137552,7 @@ func Xsqlite3_vtab_collation(tls *libc.TLS, pIdxInfo uintptr, iCons int32) uintp // Return true if constraint iCons is really an IN(...) constraint, or // false otherwise. If iCons is an IN(...) constraint, set (if bHandle!=0) // or clear (if bHandle==0) the flag to handle it using an iterator. -func Xsqlite3_vtab_in(tls *libc.TLS, pIdxInfo uintptr, iCons int32, bHandle int32) int32 { /* sqlite3.c:155705:16: */ +func Xsqlite3_vtab_in(tls *libc.TLS, pIdxInfo uintptr, iCons int32, bHandle int32) int32 { /* sqlite3.c:155728:16: */ var pHidden uintptr = pIdxInfo + 1*96 var m U32 = func() uint32 { if iCons <= 31 { @@ -137548,7 +137575,7 @@ func Xsqlite3_vtab_in(tls *libc.TLS, pIdxInfo uintptr, iCons int32, bHandle int3 // // If possible, set (*ppVal) to point to an object containing the value // on the right-hand-side of constraint iCons. -func Xsqlite3_vtab_rhs_value(tls *libc.TLS, pIdxInfo uintptr, iCons int32, ppVal uintptr) int32 { /* sqlite3.c:155725:16: */ +func Xsqlite3_vtab_rhs_value(tls *libc.TLS, pIdxInfo uintptr, iCons int32, ppVal uintptr) int32 { /* sqlite3.c:155748:16: */ var pH uintptr = pIdxInfo + 1*96 var pVal uintptr = uintptr(0) var rc int32 = SQLITE_OK @@ -137574,7 +137601,7 @@ func Xsqlite3_vtab_rhs_value(tls *libc.TLS, pIdxInfo uintptr, iCons int32, ppVal } // Return true if ORDER BY clause may be handled as DISTINCT. -func Xsqlite3_vtab_distinct(tls *libc.TLS, pIdxInfo uintptr) int32 { /* sqlite3.c:155758:16: */ +func Xsqlite3_vtab_distinct(tls *libc.TLS, pIdxInfo uintptr) int32 { /* sqlite3.c:155781:16: */ var pHidden uintptr = pIdxInfo + 1*96 return (*HiddenIndexInfo)(unsafe.Pointer(pHidden)).FeDistinct @@ -137603,7 +137630,7 @@ func Xsqlite3_vtab_distinct(tls *libc.TLS, pIdxInfo uintptr) int32 { /* sqlite3. // Conversely, all tables in mUnusable must be scanned after the current // virtual table, so any terms for which the prerequisites overlap with // mUnusable should always be configured as "not-usable" for xBestIndex. -func whereLoopAddVirtual(tls *libc.TLS, pBuilder uintptr, mPrereq Bitmask, mUnusable Bitmask) int32 { /* sqlite3.c:155807:12: */ +func whereLoopAddVirtual(tls *libc.TLS, pBuilder uintptr, mPrereq Bitmask, mUnusable Bitmask) int32 { /* sqlite3.c:155830:12: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -137739,7 +137766,7 @@ func whereLoopAddVirtual(tls *libc.TLS, pBuilder uintptr, mPrereq Bitmask, mUnus // Add WhereLoop entries to handle OR terms. This works for either // btrees or virtual tables. -func whereLoopAddOr(tls *libc.TLS, pBuilder uintptr, mPrereq Bitmask, mUnusable Bitmask) int32 { /* sqlite3.c:155938:12: */ +func whereLoopAddOr(tls *libc.TLS, pBuilder uintptr, mPrereq Bitmask, mUnusable Bitmask) int32 { /* sqlite3.c:155961:12: */ bp := tls.Alloc(712) defer tls.Free(712) @@ -137864,7 +137891,7 @@ func whereLoopAddOr(tls *libc.TLS, pBuilder uintptr, mPrereq Bitmask, mUnusable } // Add all WhereLoop objects for all tables -func whereLoopAddAll(tls *libc.TLS, pBuilder uintptr) int32 { /* sqlite3.c:156064:12: */ +func whereLoopAddAll(tls *libc.TLS, pBuilder uintptr) int32 { /* sqlite3.c:156087:12: */ var pWInfo uintptr = (*WhereLoopBuilder)(unsafe.Pointer(pBuilder)).FpWInfo var mPrereq Bitmask = uint64(0) var mPrior Bitmask = uint64(0) @@ -137952,7 +137979,7 @@ __3: // as equivalent rows are grouped together. Thus for GROUP BY and DISTINCT // the pOrderBy terms can be matched in any order. With ORDER BY, the // pOrderBy terms must be matched in strict left-to-right order. -func wherePathSatisfiesOrderBy(tls *libc.TLS, pWInfo uintptr, pOrderBy uintptr, pPath uintptr, wctrlFlags U16, nLoop U16, pLast uintptr, pRevMask uintptr) I8 { /* sqlite3.c:156142:11: */ +func wherePathSatisfiesOrderBy(tls *libc.TLS, pWInfo uintptr, pOrderBy uintptr, pPath uintptr, wctrlFlags U16, nLoop U16, pLast uintptr, pRevMask uintptr) I8 { /* sqlite3.c:156165:11: */ var revSet U8 // True if rev is known var rev U8 // Composite sort order var revIdx U8 // Index sort order @@ -138320,7 +138347,7 @@ func wherePathSatisfiesOrderBy(tls *libc.TLS, pWInfo uintptr, pOrderBy uintptr, // // SELECT * FROM t1 GROUP BY x,y ORDER BY x,y; -- IsSorted()==1 // SELECT * FROM t1 GROUP BY y,x ORDER BY y,x; -- IsSorted()==0 -func Xsqlite3WhereIsSorted(tls *libc.TLS, pWInfo uintptr) int32 { /* sqlite3.c:156487:20: */ +func Xsqlite3WhereIsSorted(tls *libc.TLS, pWInfo uintptr) int32 { /* sqlite3.c:156510:20: */ return int32(*(*uint8)(unsafe.Pointer(pWInfo + 76)) & 0x8 >> 3) } @@ -138328,7 +138355,7 @@ func Xsqlite3WhereIsSorted(tls *libc.TLS, pWInfo uintptr) int32 { /* sqlite3.c:1 // Return the cost of sorting nRow rows, assuming that the keys have // nOrderby columns and that the first nSorted columns are already in // order. -func whereSortingCost(tls *libc.TLS, pWInfo uintptr, nRow LogEst, nOrderBy int32, nSorted int32) LogEst { /* sqlite3.c:156510:15: */ +func whereSortingCost(tls *libc.TLS, pWInfo uintptr, nRow LogEst, nOrderBy int32, nSorted int32) LogEst { /* sqlite3.c:156533:15: */ // TUNING: Estimated cost of a full external sort, where N is // the number of rows to sort is: // @@ -138375,7 +138402,7 @@ func whereSortingCost(tls *libc.TLS, pWInfo uintptr, nRow LogEst, nOrderBy int32 // // Return SQLITE_OK on success or SQLITE_NOMEM of a memory allocation // error occurs. -func wherePathSolver(tls *libc.TLS, pWInfo uintptr, nRowEst LogEst) int32 { /* sqlite3.c:156563:12: */ +func wherePathSolver(tls *libc.TLS, pWInfo uintptr, nRowEst LogEst) int32 { /* sqlite3.c:156586:12: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -138782,7 +138809,7 @@ __3: // Return non-zero on success, if this query can be handled by this // no-frills query planner. Return zero if this query needs the // general-purpose query planner. -func whereShortCut(tls *libc.TLS, pBuilder uintptr) int32 { /* sqlite3.c:156955:12: */ +func whereShortCut(tls *libc.TLS, pBuilder uintptr) int32 { /* sqlite3.c:156978:12: */ bp := tls.Alloc(112) defer tls.Free(112) @@ -138889,7 +138916,7 @@ func whereShortCut(tls *libc.TLS, pBuilder uintptr) int32 { /* sqlite3.c:156955: } // Helper function for exprIsDeterministic(). -func exprNodeIsDeterministic(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:157046:12: */ +func exprNodeIsDeterministic(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:157069:12: */ if int32((*Expr)(unsafe.Pointer(pExpr)).Fop) == TK_FUNCTION && libc.Bool32((*Expr)(unsafe.Pointer(pExpr)).Fflags&U32(EP_ConstFunc) != U32(0)) == 0 { (*Walker)(unsafe.Pointer(pWalker)).FeCode = U16(0) return WRC_Abort @@ -138900,7 +138927,7 @@ func exprNodeIsDeterministic(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int3 // Return true if the expression contains no non-deterministic SQL // functions. Do not consider non-deterministic SQL functions that are // part of sub-select statements. -func exprIsDeterministic(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:157059:12: */ +func exprIsDeterministic(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:157082:12: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -138946,7 +138973,7 @@ func exprIsDeterministic(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:157059:1 // SELECT DISTINCT v1, v3 FROM t1 // LEFT JOIN t2 // LEFT JOIN t3 ON (t1.ipk=t3.ipk) -func whereOmitNoopJoin(tls *libc.TLS, pWInfo uintptr, notReady Bitmask) Bitmask { /* sqlite3.c:157120:32: */ +func whereOmitNoopJoin(tls *libc.TLS, pWInfo uintptr, notReady Bitmask) Bitmask { /* sqlite3.c:157143:32: */ var i int32 var tabUsed Bitmask @@ -139021,7 +139048,7 @@ func whereOmitNoopJoin(tls *libc.TLS, pWInfo uintptr, notReady Bitmask) Bitmask // appropriate, and if so sets the WHERE_BLOOMFILTER flag on the // WhereLoop. The implementation of the Bloom filter comes further // down where the code for each WhereLoop is generated. -func whereCheckIfBloomFilterIsUseful(tls *libc.TLS, pWInfo uintptr) { /* sqlite3.c:157199:29: */ +func whereCheckIfBloomFilterIsUseful(tls *libc.TLS, pWInfo uintptr) { /* sqlite3.c:157222:29: */ var i int32 var nSearch LogEst @@ -139133,7 +139160,7 @@ func whereCheckIfBloomFilterIsUseful(tls *libc.TLS, pWInfo uintptr) { /* sqlite3 // the first cursor in an array of cursors for all indices. iIdxCur should // be used to compute the appropriate cursor depending on which index is // used. -func Xsqlite3WhereBegin(tls *libc.TLS, pParse uintptr, pTabList uintptr, pWhere uintptr, pOrderBy uintptr, pResultSet uintptr, pLimit uintptr, wctrlFlags U16, iAuxArg int32) uintptr { /* sqlite3.c:157323:26: */ +func Xsqlite3WhereBegin(tls *libc.TLS, pParse uintptr, pTabList uintptr, pWhere uintptr, pOrderBy uintptr, pResultSet uintptr, pLimit uintptr, wctrlFlags U16, iAuxArg int32) uintptr { /* sqlite3.c:157346:26: */ bp := tls.Alloc(64) defer tls.Free(64) @@ -139818,7 +139845,7 @@ __78: // Generate the end of the WHERE loop. See comments on // sqlite3WhereBegin() for additional information. -func Xsqlite3WhereEnd(tls *libc.TLS, pWInfo uintptr) { /* sqlite3.c:157889:21: */ +func Xsqlite3WhereEnd(tls *libc.TLS, pWInfo uintptr) { /* sqlite3.c:157932:21: */ var pParse uintptr = (*WhereInfo)(unsafe.Pointer(pWInfo)).FpParse var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe var i int32 @@ -140031,12 +140058,12 @@ __4: int32((*VdbeOp)(unsafe.Pointer(pOp)).Fopcode) == OP_Offset { var x int32 = (*VdbeOp)(unsafe.Pointer(pOp)).Fp2 - if !((*Table)(unsafe.Pointer(pTab)).FtabFlags&U32(TF_WithoutRowid) == U32(0)) { + if int32((*VdbeOp)(unsafe.Pointer(pOp)).Fopcode) == OP_Offset { + // Do not need to translate the column number + } else if !((*Table)(unsafe.Pointer(pTab)).FtabFlags&U32(TF_WithoutRowid) == U32(0)) { var pPk uintptr = Xsqlite3PrimaryKeyIndex(tls, pTab) x = int32(*(*I16)(unsafe.Pointer((*Index)(unsafe.Pointer(pPk)).FaiColumn + uintptr(x)*2))) - } else if int32((*VdbeOp)(unsafe.Pointer(pOp)).Fopcode) == OP_Offset { - // Do not need to translate the column number } else { x = int32(Xsqlite3StorageColumnToTable(tls, pTab, int16(x))) @@ -140046,8 +140073,12 @@ __4: (*VdbeOp)(unsafe.Pointer(pOp)).Fp2 = x (*VdbeOp)(unsafe.Pointer(pOp)).Fp1 = (*WhereLevel)(unsafe.Pointer(pLevel)).FiIdxCur - } + } else { + // Unable to translate the table reference into an index + // reference. Verify that this is harmless - that the + // table being referenced really is open. + } } else if int32((*VdbeOp)(unsafe.Pointer(pOp)).Fopcode) == OP_Rowid { (*VdbeOp)(unsafe.Pointer(pOp)).Fp1 = (*WhereLevel)(unsafe.Pointer(pLevel)).FiIdxCur (*VdbeOp)(unsafe.Pointer(pOp)).Fopcode = U8(OP_IdxRowid) @@ -140218,7 +140249,7 @@ __6: // window frame has been coerced to: // // ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW -func row_numberStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158331:13: */ +func row_numberStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158388:13: */ var p uintptr = Xsqlite3_aggregate_context(tls, pCtx, int32(unsafe.Sizeof(I64(0)))) if p != 0 { *(*I64)(unsafe.Pointer(p))++ @@ -140227,7 +140258,7 @@ func row_numberStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) _ = apArg } -func row_numberValueFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158341:13: */ +func row_numberValueFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158398:13: */ var p uintptr = Xsqlite3_aggregate_context(tls, pCtx, int32(unsafe.Sizeof(I64(0)))) Xsqlite3_result_int64(tls, pCtx, func() int64 { if p != 0 { @@ -140243,13 +140274,13 @@ type CallCount = struct { FnValue I64 FnStep I64 FnTotal I64 -} /* sqlite3.c:158350:1 */ +} /* sqlite3.c:158407:1 */ // Implementation of built-in window function dense_rank(). Assumes that // the window frame has been set to: // // RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW -func dense_rankStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158362:13: */ +func dense_rankStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158419:13: */ var p uintptr p = Xsqlite3_aggregate_context(tls, pCtx, int32(unsafe.Sizeof(CallCount{}))) if p != 0 { @@ -140259,7 +140290,7 @@ func dense_rankStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) _ = apArg } -func dense_rankValueFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158373:13: */ +func dense_rankValueFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158430:13: */ var p uintptr p = Xsqlite3_aggregate_context(tls, pCtx, int32(unsafe.Sizeof(CallCount{}))) if p != 0 { @@ -140277,9 +140308,9 @@ func dense_rankValueFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158373:13: type NthValueCtx = struct { FnStep I64 FpValue uintptr -} /* sqlite3.c:158390:1 */ +} /* sqlite3.c:158447:1 */ -func nth_valueStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158394:13: */ +func nth_valueStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158451:13: */ var p uintptr var fVal float64 var iVal I64 @@ -140345,7 +140376,7 @@ error_out: pCtx, ts+21890, -1) } -func nth_valueFinalizeFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158435:13: */ +func nth_valueFinalizeFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158492:13: */ var p uintptr p = Xsqlite3_aggregate_context(tls, pCtx, 0) if p != 0 && (*NthValueCtx)(unsafe.Pointer(p)).FpValue != 0 { @@ -140355,7 +140386,7 @@ func nth_valueFinalizeFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158435:13 } } -func first_valueStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158447:13: */ +func first_valueStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158504:13: */ var p uintptr p = Xsqlite3_aggregate_context(tls, pCtx, int32(unsafe.Sizeof(NthValueCtx{}))) if p != 0 && (*NthValueCtx)(unsafe.Pointer(p)).FpValue == uintptr(0) { @@ -140368,7 +140399,7 @@ func first_valueStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) _ = apArg } -func first_valueFinalizeFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158463:13: */ +func first_valueFinalizeFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158520:13: */ var p uintptr p = Xsqlite3_aggregate_context(tls, pCtx, int32(unsafe.Sizeof(NthValueCtx{}))) if p != 0 && (*NthValueCtx)(unsafe.Pointer(p)).FpValue != 0 { @@ -140382,7 +140413,7 @@ func first_valueFinalizeFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158463: // the window frame has been set to: // // RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW -func rankStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158481:13: */ +func rankStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158538:13: */ var p uintptr p = Xsqlite3_aggregate_context(tls, pCtx, int32(unsafe.Sizeof(CallCount{}))) if p != 0 { @@ -140395,7 +140426,7 @@ func rankStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* s _ = apArg } -func rankValueFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158497:13: */ +func rankValueFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158554:13: */ var p uintptr p = Xsqlite3_aggregate_context(tls, pCtx, int32(unsafe.Sizeof(CallCount{}))) if p != 0 { @@ -140408,7 +140439,7 @@ func rankValueFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158497:13: */ // the window frame has been set to: // // GROUPS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING -func percent_rankStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158512:13: */ +func percent_rankStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158569:13: */ var p uintptr _ = nArg _ = apArg @@ -140418,7 +140449,7 @@ func percent_rankStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr } } -func percent_rankInvFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158525:13: */ +func percent_rankInvFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158582:13: */ var p uintptr _ = nArg _ = apArg @@ -140426,7 +140457,7 @@ func percent_rankInvFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) (*CallCount)(unsafe.Pointer(p)).FnStep++ } -func percent_rankValueFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158536:13: */ +func percent_rankValueFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158593:13: */ var p uintptr p = Xsqlite3_aggregate_context(tls, pCtx, int32(unsafe.Sizeof(CallCount{}))) if p != 0 { @@ -140444,7 +140475,7 @@ func percent_rankValueFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158536:13 // the window frame has been set to: // // GROUPS BETWEEN 1 FOLLOWING AND UNBOUNDED FOLLOWING -func cume_distStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158557:13: */ +func cume_distStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158614:13: */ var p uintptr _ = nArg _ = apArg @@ -140454,7 +140485,7 @@ func cume_distStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { } } -func cume_distInvFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158570:13: */ +func cume_distInvFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158627:13: */ var p uintptr _ = nArg _ = apArg @@ -140462,7 +140493,7 @@ func cume_distInvFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { (*CallCount)(unsafe.Pointer(p)).FnStep++ } -func cume_distValueFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158581:13: */ +func cume_distValueFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158638:13: */ var p uintptr p = Xsqlite3_aggregate_context(tls, pCtx, 0) if p != 0 { @@ -140476,13 +140507,13 @@ type NtileCtx = struct { FnTotal I64 FnParam I64 FiRow I64 -} /* sqlite3.c:158594:1 */ +} /* sqlite3.c:158651:1 */ // Implementation of ntile(). This assumes that the window frame has // been coerced to: // // ROWS CURRENT ROW AND UNBOUNDED FOLLOWING -func ntileStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158606:13: */ +func ntileStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158663:13: */ var p uintptr _ = nArg p = Xsqlite3_aggregate_context(tls, pCtx, int32(unsafe.Sizeof(NtileCtx{}))) @@ -140498,7 +140529,7 @@ func ntileStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* } } -func ntileInvFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158626:13: */ +func ntileInvFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158683:13: */ var p uintptr _ = nArg _ = apArg @@ -140506,7 +140537,7 @@ func ntileInvFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* s (*NtileCtx)(unsafe.Pointer(p)).FiRow++ } -func ntileValueFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158637:13: */ +func ntileValueFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158694:13: */ var p uintptr p = Xsqlite3_aggregate_context(tls, pCtx, int32(unsafe.Sizeof(NtileCtx{}))) if p != 0 && (*NtileCtx)(unsafe.Pointer(p)).FnParam > int64(0) { @@ -140532,10 +140563,10 @@ type LastValueCtx = struct { FpVal uintptr FnVal int32 F__ccgo_pad1 [4]byte -} /* sqlite3.c:158664:1 */ +} /* sqlite3.c:158721:1 */ // Implementation of last_value(). -func last_valueStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158672:13: */ +func last_valueStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158729:13: */ var p uintptr _ = nArg p = Xsqlite3_aggregate_context(tls, pCtx, int32(unsafe.Sizeof(LastValueCtx{}))) @@ -140550,7 +140581,7 @@ func last_valueStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) } } -func last_valueInvFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158690:13: */ +func last_valueInvFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158747:13: */ var p uintptr _ = nArg _ = apArg @@ -140564,7 +140595,7 @@ func last_valueInvFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { } } -func last_valueValueFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158707:13: */ +func last_valueValueFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158764:13: */ var p uintptr p = Xsqlite3_aggregate_context(tls, pCtx, 0) if p != 0 && (*LastValueCtx)(unsafe.Pointer(p)).FpVal != 0 { @@ -140572,7 +140603,7 @@ func last_valueValueFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158707:13: } } -func last_valueFinalizeFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158714:13: */ +func last_valueFinalizeFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158771:13: */ var p uintptr p = Xsqlite3_aggregate_context(tls, pCtx, int32(unsafe.Sizeof(LastValueCtx{}))) if p != 0 && (*LastValueCtx)(unsafe.Pointer(p)).FpVal != 0 { @@ -140588,17 +140619,17 @@ func last_valueFinalizeFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158714:1 // comparison of the zName pointer. Example: // // if( pFuncDef->zName==row_valueName ){ ... } -var row_numberName = *(*[11]uint8)(unsafe.Pointer(ts + 21991)) /* sqlite3.c:158732:19 */ -var dense_rankName = *(*[11]uint8)(unsafe.Pointer(ts + 22002)) /* sqlite3.c:158733:19 */ -var rankName = *(*[5]uint8)(unsafe.Pointer(ts + 22013)) /* sqlite3.c:158734:19 */ -var percent_rankName = *(*[13]uint8)(unsafe.Pointer(ts + 22018)) /* sqlite3.c:158735:19 */ -var cume_distName = *(*[10]uint8)(unsafe.Pointer(ts + 22031)) /* sqlite3.c:158736:19 */ -var ntileName = *(*[6]uint8)(unsafe.Pointer(ts + 22041)) /* sqlite3.c:158737:19 */ -var last_valueName = *(*[11]uint8)(unsafe.Pointer(ts + 22047)) /* sqlite3.c:158738:19 */ -var nth_valueName = *(*[10]uint8)(unsafe.Pointer(ts + 22058)) /* sqlite3.c:158739:19 */ -var first_valueName = *(*[12]uint8)(unsafe.Pointer(ts + 22068)) /* sqlite3.c:158740:19 */ -var leadName = *(*[5]uint8)(unsafe.Pointer(ts + 22080)) /* sqlite3.c:158741:19 */ -var lagName = *(*[4]uint8)(unsafe.Pointer(ts + 22085 /* "lag" */)) /* sqlite3.c:158742:19 */ +var row_numberName = *(*[11]uint8)(unsafe.Pointer(ts + 21991)) /* sqlite3.c:158789:19 */ +var dense_rankName = *(*[11]uint8)(unsafe.Pointer(ts + 22002)) /* sqlite3.c:158790:19 */ +var rankName = *(*[5]uint8)(unsafe.Pointer(ts + 22013)) /* sqlite3.c:158791:19 */ +var percent_rankName = *(*[13]uint8)(unsafe.Pointer(ts + 22018)) /* sqlite3.c:158792:19 */ +var cume_distName = *(*[10]uint8)(unsafe.Pointer(ts + 22031)) /* sqlite3.c:158793:19 */ +var ntileName = *(*[6]uint8)(unsafe.Pointer(ts + 22041)) /* sqlite3.c:158794:19 */ +var last_valueName = *(*[11]uint8)(unsafe.Pointer(ts + 22047)) /* sqlite3.c:158795:19 */ +var nth_valueName = *(*[10]uint8)(unsafe.Pointer(ts + 22058)) /* sqlite3.c:158796:19 */ +var first_valueName = *(*[12]uint8)(unsafe.Pointer(ts + 22068)) /* sqlite3.c:158797:19 */ +var leadName = *(*[5]uint8)(unsafe.Pointer(ts + 22080)) /* sqlite3.c:158798:19 */ +var lagName = *(*[4]uint8)(unsafe.Pointer(ts + 22085 /* "lag" */)) /* sqlite3.c:158799:19 */ // No-op implementations of xStep() and xFinalize(). Used as place-holders // for built-in window functions that never call those interfaces. @@ -140607,7 +140638,7 @@ var lagName = *(*[4]uint8)(unsafe.Pointer(ts + 22085 /* "lag" */)) /* sqlite3.c: // noopStepFunc() is never called, and so it is marked with NO_TEST to // let the test coverage routine know not to expect this function to be // invoked. -func noopStepFunc(tls *libc.TLS, p uintptr, n int32, a uintptr) { /* sqlite3.c:158753:13: */ //NO_TEST +func noopStepFunc(tls *libc.TLS, p uintptr, n int32, a uintptr) { /* sqlite3.c:158810:13: */ //NO_TEST _ = p //NO_TEST _ = n //NO_TEST _ = a //NO_TEST @@ -140615,7 +140646,7 @@ func noopStepFunc(tls *libc.TLS, p uintptr, n int32, a uintptr) { /* sqlite3.c:1 } //NO_TEST -func noopValueFunc(tls *libc.TLS, p uintptr) { /* sqlite3.c:158763:13: */ +func noopValueFunc(tls *libc.TLS, p uintptr) { /* sqlite3.c:158820:13: */ _ = p /*no-op*/ } @@ -140630,7 +140661,7 @@ func noopValueFunc(tls *libc.TLS, p uintptr) { /* sqlite3.c:158763:13: */ // xInverse. // Register those built-in window functions that are not also aggregates. -func Xsqlite3WindowFunctions(tls *libc.TLS) { /* sqlite3.c:158794:21: */ +func Xsqlite3WindowFunctions(tls *libc.TLS) { /* sqlite3.c:158851:21: */ Xsqlite3InsertBuiltinFuncs(tls, uintptr(unsafe.Pointer(&aWindowFuncs)), int32(uint64(unsafe.Sizeof(aWindowFuncs))/uint64(unsafe.Sizeof(FuncDef{})))) } @@ -140649,9 +140680,9 @@ var aWindowFuncs = [15]FuncDef{ {FnArg: int8(3), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_UTF8 | SQLITE_FUNC_WINDOW | 0), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: 0}, {FnArg: int8(1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_UTF8 | SQLITE_FUNC_WINDOW | 0), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: 0}, {FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_UTF8 | SQLITE_FUNC_WINDOW | 0), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: 0}, - {FnArg: int8(3), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_UTF8 | SQLITE_FUNC_WINDOW | 0), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: 0}} /* sqlite3.c:158795:18 */ + {FnArg: int8(3), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_UTF8 | SQLITE_FUNC_WINDOW | 0), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: 0}} /* sqlite3.c:158852:18 */ -func windowFind(tls *libc.TLS, pParse uintptr, pList uintptr, zName uintptr) uintptr { /* sqlite3.c:158815:15: */ +func windowFind(tls *libc.TLS, pParse uintptr, pList uintptr, zName uintptr) uintptr { /* sqlite3.c:158872:15: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -140682,7 +140713,7 @@ func windowFind(tls *libc.TLS, pParse uintptr, pList uintptr, zName uintptr) uin // * If the function is a built-in window function that requires the // window to be coerced (see "BUILT-IN WINDOW FUNCTIONS" at the top // of this file), pWin is updated here. -func Xsqlite3WindowUpdate(tls *libc.TLS, pParse uintptr, pList uintptr, pWin uintptr, pFunc uintptr) { /* sqlite3.c:158843:21: */ +func Xsqlite3WindowUpdate(tls *libc.TLS, pParse uintptr, pList uintptr, pWin uintptr, pFunc uintptr) { /* sqlite3.c:158900:21: */ bp := tls.Alloc(192) defer tls.Free(192) @@ -140750,16 +140781,16 @@ type WindowUpdate = struct { FeStart int32 FeEnd int32 F__ccgo_pad1 [4]byte -} /* sqlite3.c:158878:7 */ +} /* sqlite3.c:158935:7 */ // Context object passed through sqlite3WalkExprList() to // selectWindowRewriteExprCb() by selectWindowRewriteEList(). -type WindowRewrite = WindowRewrite1 /* sqlite3.c:158918:30 */ +type WindowRewrite = WindowRewrite1 /* sqlite3.c:158975:30 */ // Callback function used by selectWindowRewriteEList(). If necessary, // this function appends to the output expression-list and updates // expression (*ppExpr) in place. -func selectWindowRewriteExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:158932:12: */ +func selectWindowRewriteExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:158989:12: */ var p uintptr = *(*uintptr)(unsafe.Pointer(pWalker + 40)) var pParse uintptr = (*Walker)(unsafe.Pointer(pWalker)).FpParse @@ -140858,7 +140889,7 @@ func selectWindowRewriteExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) in return WRC_Continue } -func selectWindowRewriteSelectCb(tls *libc.TLS, pWalker uintptr, pSelect uintptr) int32 { /* sqlite3.c:159014:12: */ +func selectWindowRewriteSelectCb(tls *libc.TLS, pWalker uintptr, pSelect uintptr) int32 { /* sqlite3.c:159071:12: */ var p uintptr = *(*uintptr)(unsafe.Pointer(pWalker + 40)) var pSave uintptr = (*WindowRewrite1)(unsafe.Pointer(p)).FpSubSelect if pSave == pSelect { @@ -140882,7 +140913,7 @@ func selectWindowRewriteSelectCb(tls *libc.TLS, pWalker uintptr, pSelect uintptr // with a TK_COLUMN that reads the (N-1)th element of table // pWin->iEphCsr, where N is the number of elements in (*ppSub) after // appending the new one. -func selectWindowRewriteEList(tls *libc.TLS, pParse uintptr, pWin uintptr, pSrc uintptr, pEList uintptr, pTab uintptr, ppSub uintptr) { /* sqlite3.c:159041:13: */ +func selectWindowRewriteEList(tls *libc.TLS, pParse uintptr, pWin uintptr, pSrc uintptr, pEList uintptr, pTab uintptr, ppSub uintptr) { /* sqlite3.c:159098:13: */ bp := tls.Alloc(88) defer tls.Free(88) @@ -140914,7 +140945,7 @@ func selectWindowRewriteEList(tls *libc.TLS, pParse uintptr, pWin uintptr, pSrc // Append a copy of each expression in expression-list pAppend to // expression list pList. Return a pointer to the result list. -func exprListAppendList(tls *libc.TLS, pParse uintptr, pList uintptr, pAppend uintptr, bIntToNull int32) uintptr { /* sqlite3.c:159075:17: */ +func exprListAppendList(tls *libc.TLS, pParse uintptr, pList uintptr, pAppend uintptr, bIntToNull int32) uintptr { /* sqlite3.c:159132:17: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -140960,7 +140991,7 @@ func exprListAppendList(tls *libc.TLS, pParse uintptr, pList uintptr, pAppend ui // due to the extra subquery layer that was added. // // See also the incrAggDepth() routine in resolve.c -func sqlite3WindowExtraAggFuncDepth(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:159117:12: */ +func sqlite3WindowExtraAggFuncDepth(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:159174:12: */ if int32((*Expr)(unsafe.Pointer(pExpr)).Fop) == TK_AGG_FUNCTION && int32((*Expr)(unsafe.Pointer(pExpr)).Fop2) >= (*Walker)(unsafe.Pointer(pWalker)).FwalkerDepth { (*Expr)(unsafe.Pointer(pExpr)).Fop2++ @@ -140968,7 +140999,7 @@ func sqlite3WindowExtraAggFuncDepth(tls *libc.TLS, pWalker uintptr, pExpr uintpt return WRC_Continue } -func disallowAggregatesInOrderByCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:159126:12: */ +func disallowAggregatesInOrderByCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:159183:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -140985,7 +141016,7 @@ func disallowAggregatesInOrderByCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr // rewrites the SELECT statement so that window function xStep functions // are invoked in the correct order as described under "SELECT REWRITING" // at the top of this file. -func Xsqlite3WindowRewrite(tls *libc.TLS, pParse uintptr, p uintptr) int32 { /* sqlite3.c:159142:20: */ +func Xsqlite3WindowRewrite(tls *libc.TLS, pParse uintptr, p uintptr) int32 { /* sqlite3.c:159199:20: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -141169,7 +141200,7 @@ func Xsqlite3WindowRewrite(tls *libc.TLS, pParse uintptr, p uintptr) int32 { /* // Unlink the Window object from the Select to which it is attached, // if it is attached. -func Xsqlite3WindowUnlinkFromSelect(tls *libc.TLS, p uintptr) { /* sqlite3.c:159306:21: */ +func Xsqlite3WindowUnlinkFromSelect(tls *libc.TLS, p uintptr) { /* sqlite3.c:159363:21: */ if (*Window)(unsafe.Pointer(p)).FppThis != 0 { *(*uintptr)(unsafe.Pointer((*Window)(unsafe.Pointer(p)).FppThis)) = (*Window)(unsafe.Pointer(p)).FpNextWin if (*Window)(unsafe.Pointer(p)).FpNextWin != 0 { @@ -141180,7 +141211,7 @@ func Xsqlite3WindowUnlinkFromSelect(tls *libc.TLS, p uintptr) { /* sqlite3.c:159 } // Free the Window object passed as the second argument. -func Xsqlite3WindowDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:159317:21: */ +func Xsqlite3WindowDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:159374:21: */ if p != 0 { Xsqlite3WindowUnlinkFromSelect(tls, p) Xsqlite3ExprDelete(tls, db, (*Window)(unsafe.Pointer(p)).FpFilter) @@ -141195,7 +141226,7 @@ func Xsqlite3WindowDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:1 } // Free the linked list of Window objects starting at the second argument. -func Xsqlite3WindowListDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:159334:21: */ +func Xsqlite3WindowListDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:159391:21: */ for p != 0 { var pNext uintptr = (*Window)(unsafe.Pointer(p)).FpNextWin Xsqlite3WindowDelete(tls, db, p) @@ -141208,7 +141239,7 @@ func Xsqlite3WindowListDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3 // constant, change it to NULL. The fact that it is then a non-negative // integer will be caught later. But it is important not to leave // variable values in the expression tree. -func sqlite3WindowOffsetExpr(tls *libc.TLS, pParse uintptr, pExpr uintptr) uintptr { /* sqlite3.c:159349:13: */ +func sqlite3WindowOffsetExpr(tls *libc.TLS, pParse uintptr, pExpr uintptr) uintptr { /* sqlite3.c:159406:13: */ if 0 == Xsqlite3ExprIsConstant(tls, pExpr) { if int32((*Parse)(unsafe.Pointer(pParse)).FeParseMode) >= PARSE_MODE_RENAME { Xsqlite3RenameExprUnmap(tls, pParse, pExpr) @@ -141220,7 +141251,7 @@ func sqlite3WindowOffsetExpr(tls *libc.TLS, pParse uintptr, pExpr uintptr) uintp } // Allocate and return a new Window object describing a Window Definition. -func Xsqlite3WindowAlloc(tls *libc.TLS, pParse uintptr, eType int32, eStart int32, pStart uintptr, eEnd int32, pEnd uintptr, eExclude U8) uintptr { /* sqlite3.c:159361:23: */ +func Xsqlite3WindowAlloc(tls *libc.TLS, pParse uintptr, eType int32, eStart int32, pStart uintptr, eEnd int32, pEnd uintptr, eExclude U8) uintptr { /* sqlite3.c:159418:23: */ var pWin uintptr var bImplicitFrame int32 pWin = uintptr(0) @@ -141289,7 +141320,7 @@ windowAllocErr: // Attach PARTITION and ORDER BY clauses pPartition and pOrderBy to window // pWin. Also, if parameter pBase is not NULL, set pWin->zBase to the // equivalent nul-terminated string. -func Xsqlite3WindowAssemble(tls *libc.TLS, pParse uintptr, pWin uintptr, pPartition uintptr, pOrderBy uintptr, pBase uintptr) uintptr { /* sqlite3.c:159433:23: */ +func Xsqlite3WindowAssemble(tls *libc.TLS, pParse uintptr, pWin uintptr, pPartition uintptr, pOrderBy uintptr, pBase uintptr) uintptr { /* sqlite3.c:159490:23: */ if pWin != 0 { (*Window)(unsafe.Pointer(pWin)).FpPartition = pPartition (*Window)(unsafe.Pointer(pWin)).FpOrderBy = pOrderBy @@ -141308,7 +141339,7 @@ func Xsqlite3WindowAssemble(tls *libc.TLS, pParse uintptr, pWin uintptr, pPartit // stored in the linked list starting at pWin->pNextWin. This function // either updates *pWin according to the base specification, or else // leaves an error in pParse. -func Xsqlite3WindowChain(tls *libc.TLS, pParse uintptr, pWin uintptr, pList uintptr) { /* sqlite3.c:159460:21: */ +func Xsqlite3WindowChain(tls *libc.TLS, pParse uintptr, pWin uintptr, pList uintptr) { /* sqlite3.c:159517:21: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -141342,7 +141373,7 @@ func Xsqlite3WindowChain(tls *libc.TLS, pParse uintptr, pWin uintptr, pList uint } // Attach window object pWin to expression p. -func Xsqlite3WindowAttach(tls *libc.TLS, pParse uintptr, p uintptr, pWin uintptr) { /* sqlite3.c:159494:21: */ +func Xsqlite3WindowAttach(tls *libc.TLS, pParse uintptr, p uintptr, pWin uintptr) { /* sqlite3.c:159551:21: */ if p != 0 { *(*uintptr)(unsafe.Pointer(p + 64)) = pWin @@ -141361,7 +141392,7 @@ func Xsqlite3WindowAttach(tls *libc.TLS, pParse uintptr, p uintptr, pWin uintptr // to be processed as part of SELECT statement pSel). The window is linked // in if either (a) there are no other windows already linked to this // SELECT, or (b) the windows already linked use a compatible window frame. -func Xsqlite3WindowLink(tls *libc.TLS, pSel uintptr, pWin uintptr) { /* sqlite3.c:159517:21: */ +func Xsqlite3WindowLink(tls *libc.TLS, pSel uintptr, pWin uintptr) { /* sqlite3.c:159574:21: */ if pSel != 0 { if uintptr(0) == (*Select)(unsafe.Pointer(pSel)).FpWin || 0 == Xsqlite3WindowCompare(tls, uintptr(0), (*Select)(unsafe.Pointer(pSel)).FpWin, pWin, 0) { (*Window)(unsafe.Pointer(pWin)).FpNextWin = (*Select)(unsafe.Pointer(pSel)).FpWin @@ -141381,7 +141412,7 @@ func Xsqlite3WindowLink(tls *libc.TLS, pSel uintptr, pWin uintptr) { /* sqlite3. // Return 0 if the two window objects are identical, 1 if they are // different, or 2 if it cannot be determined if the objects are identical // or not. Identical window objects can be processed in a single scan. -func Xsqlite3WindowCompare(tls *libc.TLS, pParse uintptr, p1 uintptr, p2 uintptr, bFilter int32) int32 { /* sqlite3.c:159539:20: */ +func Xsqlite3WindowCompare(tls *libc.TLS, pParse uintptr, p1 uintptr, p2 uintptr, bFilter int32) int32 { /* sqlite3.c:159596:20: */ var res int32 if p1 == uintptr(0) || p2 == uintptr(0) { return 1 @@ -141421,7 +141452,7 @@ func Xsqlite3WindowCompare(tls *libc.TLS, pParse uintptr, p1 uintptr, p2 uintptr // This is called by code in select.c before it calls sqlite3WhereBegin() // to begin iterating through the sub-query results. It is used to allocate // and initialize registers and cursors used by sqlite3WindowCodeStep(). -func Xsqlite3WindowCodeInit(tls *libc.TLS, pParse uintptr, pSelect uintptr) { /* sqlite3.c:159573:21: */ +func Xsqlite3WindowCodeInit(tls *libc.TLS, pParse uintptr, pSelect uintptr) { /* sqlite3.c:159630:21: */ var nEphExpr int32 = (*ExprList)(unsafe.Pointer((*Select)(unsafe.Pointer((*SrcItem)(unsafe.Pointer((*Select)(unsafe.Pointer(pSelect)).FpSrc + 8)).FpSelect)).FpEList)).FnExpr var pMWin uintptr = (*Select)(unsafe.Pointer(pSelect)).FpWin var pWin uintptr @@ -141497,7 +141528,7 @@ func Xsqlite3WindowCodeInit(tls *libc.TLS, pParse uintptr, pSelect uintptr) { /* // evaluated and the result left in register reg. This function generates VM // code to check that the value is a non-negative integer and throws an // exception if it is not. -func windowCheckValue(tls *libc.TLS, pParse uintptr, reg int32, eCond int32) { /* sqlite3.c:159660:13: */ +func windowCheckValue(tls *libc.TLS, pParse uintptr, reg int32, eCond int32) { /* sqlite3.c:159717:13: */ var v uintptr = Xsqlite3GetVdbe(tls, pParse) var regZero int32 = Xsqlite3GetTempReg(tls, pParse) @@ -141531,12 +141562,12 @@ var azErr = [5]uintptr{ ts + 21890, ts + 22537, ts + 22589, -} /* sqlite3.c:159661:21 */ -var aOp1 = [5]int32{OP_Ge, OP_Ge, OP_Gt, OP_Ge, OP_Ge} /* sqlite3.c:159668:14 */ +} /* sqlite3.c:159718:21 */ +var aOp1 = [5]int32{OP_Ge, OP_Ge, OP_Gt, OP_Ge, OP_Ge} /* sqlite3.c:159725:14 */ // Return the number of arguments passed to the window-function associated // with the object passed as the only argument to this function. -func windowArgCount(tls *libc.TLS, pWin uintptr) int32 { /* sqlite3.c:159707:12: */ +func windowArgCount(tls *libc.TLS, pWin uintptr) int32 { /* sqlite3.c:159764:12: */ var pList uintptr pList = *(*uintptr)(unsafe.Pointer((*Window)(unsafe.Pointer(pWin)).FpOwner + 32)) @@ -141561,19 +141592,19 @@ type WindowCodeArg1 = struct { Fcurrent WindowCsrAndReg Fend WindowCsrAndReg F__ccgo_pad1 [4]byte -} /* sqlite3.c:159714:9 */ +} /* sqlite3.c:159771:9 */ -type WindowCodeArg = WindowCodeArg1 /* sqlite3.c:159714:30 */ +type WindowCodeArg = WindowCodeArg1 /* sqlite3.c:159771:30 */ type WindowCsrAndReg1 = struct { Fcsr int32 Freg int32 -} /* sqlite3.c:159714:9 */ +} /* sqlite3.c:159771:9 */ -type WindowCsrAndReg = WindowCsrAndReg1 /* sqlite3.c:159715:32 */ +type WindowCsrAndReg = WindowCsrAndReg1 /* sqlite3.c:159772:32 */ // Generate VM code to read the window frames peer values from cursor csr into // an array of registers starting at reg. -func windowReadPeerValues(tls *libc.TLS, p uintptr, csr int32, reg int32) { /* sqlite3.c:159799:13: */ +func windowReadPeerValues(tls *libc.TLS, p uintptr, csr int32, reg int32) { /* sqlite3.c:159856:13: */ var pMWin uintptr = (*WindowCodeArg)(unsafe.Pointer(p)).FpMWin var pOrderBy uintptr = (*Window)(unsafe.Pointer(pMWin)).FpOrderBy if pOrderBy != 0 { @@ -141609,7 +141640,7 @@ func windowReadPeerValues(tls *libc.TLS, p uintptr, csr int32, reg int32) { /* s // // If argument regPartSize is non-zero, then it is a register containing the // number of rows in the current partition. -func windowAggStep(tls *libc.TLS, p uintptr, pMWin uintptr, csr int32, bInverse int32, reg int32) { /* sqlite3.c:159836:13: */ +func windowAggStep(tls *libc.TLS, p uintptr, pMWin uintptr, csr int32, bInverse int32, reg int32) { /* sqlite3.c:159893:13: */ var pParse uintptr = (*WindowCodeArg)(unsafe.Pointer(p)).FpParse var v uintptr = Xsqlite3GetVdbe(tls, pParse) var pWin uintptr @@ -141716,7 +141747,7 @@ func windowAggStep(tls *libc.TLS, p uintptr, pMWin uintptr, csr int32, bInverse // (bFin==1) for each window function in the linked list starting at // pMWin. Or, for built-in window-functions that do not use the standard // API, generate the equivalent VM code. -func windowAggFinal(tls *libc.TLS, p uintptr, bFin int32) { /* sqlite3.c:159953:13: */ +func windowAggFinal(tls *libc.TLS, p uintptr, bFin int32) { /* sqlite3.c:160010:13: */ var pParse uintptr = (*WindowCodeArg)(unsafe.Pointer(p)).FpParse var pMWin uintptr = (*WindowCodeArg)(unsafe.Pointer(p)).FpMWin var v uintptr = Xsqlite3GetVdbe(tls, pParse) @@ -141752,7 +141783,7 @@ func windowAggFinal(tls *libc.TLS, p uintptr, bFin int32) { /* sqlite3.c:159953: // p->pMWin list by doing a full scan of the current window frame. Store the // results in the Window.regResult registers, ready to return the upper // layer. -func windowFullScan(tls *libc.TLS, p uintptr) { /* sqlite3.c:159992:13: */ +func windowFullScan(tls *libc.TLS, p uintptr) { /* sqlite3.c:160049:13: */ var pWin uintptr var pParse uintptr = (*WindowCodeArg)(unsafe.Pointer(p)).FpParse var pMWin uintptr = (*WindowCodeArg)(unsafe.Pointer(p)).FpMWin @@ -141859,7 +141890,7 @@ func windowFullScan(tls *libc.TLS, p uintptr) { /* sqlite3.c:159992:13: */ // first_value() // lag() // lead() -func windowReturnOneRow(tls *libc.TLS, p uintptr) { /* sqlite3.c:160098:13: */ +func windowReturnOneRow(tls *libc.TLS, p uintptr) { /* sqlite3.c:160155:13: */ var pMWin uintptr = (*WindowCodeArg)(unsafe.Pointer(p)).FpMWin var v uintptr = (*WindowCodeArg)(unsafe.Pointer(p)).FpVdbe @@ -141942,7 +141973,7 @@ func windowReturnOneRow(tls *libc.TLS, p uintptr) { /* sqlite3.c:160098:13: */ // in the linked list passed as the second argument to NULL. And perform // any equivalent initialization required by any built-in window functions // in the list. -func windowInitAccum(tls *libc.TLS, pParse uintptr, pMWin uintptr) int32 { /* sqlite3.c:160175:12: */ +func windowInitAccum(tls *libc.TLS, pParse uintptr, pMWin uintptr) int32 { /* sqlite3.c:160232:12: */ var v uintptr = Xsqlite3GetVdbe(tls, pParse) var regArg int32 var nArg int32 = 0 @@ -141977,7 +142008,7 @@ func windowInitAccum(tls *libc.TLS, pParse uintptr, pMWin uintptr) int32 { /* sq // Return true if the current frame should be cached in the ephemeral table, // even if there are no xInverse() calls required. -func windowCacheFrame(tls *libc.TLS, pMWin uintptr) int32 { /* sqlite3.c:160207:12: */ +func windowCacheFrame(tls *libc.TLS, pMWin uintptr) int32 { /* sqlite3.c:160264:12: */ var pWin uintptr if (*Window)(unsafe.Pointer(pMWin)).FregStartRowid != 0 { return 1 @@ -142002,7 +142033,7 @@ func windowCacheFrame(tls *libc.TLS, pMWin uintptr) int32 { /* sqlite3.c:160207: // If the two arrays are not equal, the contents of regNew is copied to // regOld and control falls through. Otherwise, if the contents of the arrays // are equal, an OP_Goto is executed. The address of the OP_Goto is returned. -func windowIfNewPeer(tls *libc.TLS, pParse uintptr, pOrderBy uintptr, regNew int32, regOld int32, addr int32) { /* sqlite3.c:160233:13: */ +func windowIfNewPeer(tls *libc.TLS, pParse uintptr, pOrderBy uintptr, regNew int32, regOld int32, addr int32) { /* sqlite3.c:160290:13: */ var v uintptr = Xsqlite3GetVdbe(tls, pParse) if pOrderBy != 0 { var nVal int32 = (*ExprList)(unsafe.Pointer(pOrderBy)).FnExpr @@ -142039,7 +142070,7 @@ func windowIfNewPeer(tls *libc.TLS, pParse uintptr, pOrderBy uintptr, regNew int // A special type of arithmetic is used such that if csr1.peerVal is not // a numeric type (real or integer), then the result of the addition // or subtraction is a a copy of csr1.peerVal. -func windowCodeRangeTest(tls *libc.TLS, p uintptr, op int32, csr1 int32, regVal int32, csr2 int32, lbl int32) { /* sqlite3.c:160279:13: */ +func windowCodeRangeTest(tls *libc.TLS, p uintptr, op int32, csr1 int32, regVal int32, csr2 int32, lbl int32) { /* sqlite3.c:160336:13: */ var pParse uintptr = (*WindowCodeArg)(unsafe.Pointer(p)).FpParse var v uintptr = Xsqlite3GetVdbe(tls, pParse) var pOrderBy uintptr = (*Window)(unsafe.Pointer((*WindowCodeArg)(unsafe.Pointer(p)).FpMWin)).FpOrderBy // ORDER BY clause for window @@ -142162,7 +142193,7 @@ func windowCodeRangeTest(tls *libc.TLS, p uintptr, op int32, csr1 int32, regVal // generates VM code for a single RETURN_ROW, AGGSTEP or AGGINVERSE // operation. Refer to the header comment for sqlite3WindowCodeStep() for // details. -func windowCodeOp(tls *libc.TLS, p uintptr, op int32, regCountdown int32, jumpOnEof int32) int32 { /* sqlite3.c:160412:12: */ +func windowCodeOp(tls *libc.TLS, p uintptr, op int32, regCountdown int32, jumpOnEof int32) int32 { /* sqlite3.c:160469:12: */ var csr int32 var reg int32 var pParse uintptr = (*WindowCodeArg)(unsafe.Pointer(p)).FpParse @@ -142310,7 +142341,7 @@ func windowCodeOp(tls *libc.TLS, p uintptr, op int32, regCountdown int32, jumpOn // Allocate and return a duplicate of the Window object indicated by the // third argument. Set the Window.pOwner field of the new object to // pOwner. -func Xsqlite3WindowDup(tls *libc.TLS, db uintptr, pOwner uintptr, p uintptr) uintptr { /* sqlite3.c:160561:23: */ +func Xsqlite3WindowDup(tls *libc.TLS, db uintptr, pOwner uintptr, p uintptr) uintptr { /* sqlite3.c:160618:23: */ var pNew uintptr = uintptr(0) if p != 0 { pNew = Xsqlite3DbMallocZero(tls, db, uint64(unsafe.Sizeof(Window{}))) @@ -142341,7 +142372,7 @@ func Xsqlite3WindowDup(tls *libc.TLS, db uintptr, pOwner uintptr, p uintptr) uin // Return a copy of the linked list of Window objects passed as the // second argument. -func Xsqlite3WindowListDup(tls *libc.TLS, db uintptr, p uintptr) uintptr { /* sqlite3.c:160594:23: */ +func Xsqlite3WindowListDup(tls *libc.TLS, db uintptr, p uintptr) uintptr { /* sqlite3.c:160651:23: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -142366,7 +142397,7 @@ func Xsqlite3WindowListDup(tls *libc.TLS, db uintptr, p uintptr) uintptr { /* sq // // If an OOM error occurs, this function sets the Parse.db.mallocFailed // flag and returns zero. -func windowExprGtZero(tls *libc.TLS, pParse uintptr, pExpr uintptr) int32 { /* sqlite3.c:160616:12: */ +func windowExprGtZero(tls *libc.TLS, pParse uintptr, pExpr uintptr) int32 { /* sqlite3.c:160673:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -142714,7 +142745,7 @@ func windowExprGtZero(tls *libc.TLS, pParse uintptr, pExpr uintptr) int32 { /* s // // The text above leaves out many details. Refer to the code and comments // below for a more complete picture. -func Xsqlite3WindowCodeStep(tls *libc.TLS, pParse uintptr, p uintptr, pWInfo uintptr, regGosub int32, addrGosub int32) { /* sqlite3.c:160963:21: */ +func Xsqlite3WindowCodeStep(tls *libc.TLS, pParse uintptr, p uintptr, pWInfo uintptr, regGosub int32, addrGosub int32) { /* sqlite3.c:161020:21: */ bp := tls.Alloc(72) defer tls.Free(72) @@ -143111,17 +143142,17 @@ type TrigEvent = struct { Fa int32 F__ccgo_pad1 [4]byte Fb uintptr -} /* sqlite3.c:161363:1 */ +} /* sqlite3.c:161420:1 */ type FrameBound = struct { FeType int32 F__ccgo_pad1 [4]byte FpExpr uintptr -} /* sqlite3.c:161365:1 */ +} /* sqlite3.c:161422:1 */ // Disable lookaside memory allocation for objects that might be // shared across database connections. -func disableLookaside(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:161371:13: */ +func disableLookaside(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:161428:13: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb (*Parse)(unsafe.Pointer(pParse)).FdisableLookaside++ (*Sqlite3)(unsafe.Pointer(db)).Flookaside.FbDisable++ @@ -143131,7 +143162,7 @@ func disableLookaside(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:161371:13: * // For a compound SELECT statement, make sure p->pPrior->pNext==p for // all elements in the list. And make sure list length does not exceed // SQLITE_LIMIT_COMPOUND_SELECT. -func parserDoubleLinkSelect(tls *libc.TLS, pParse uintptr, p uintptr) { /* sqlite3.c:161404:15: */ +func parserDoubleLinkSelect(tls *libc.TLS, pParse uintptr, p uintptr) { /* sqlite3.c:161461:15: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -143170,7 +143201,7 @@ func parserDoubleLinkSelect(tls *libc.TLS, pParse uintptr, p uintptr) { /* sqlit // Attach a With object describing the WITH clause to a Select // object describing the query for which the WITH clause is a prefix. -func attachWithToSelect(tls *libc.TLS, pParse uintptr, pSelect uintptr, pWith uintptr) uintptr { /* sqlite3.c:161435:17: */ +func attachWithToSelect(tls *libc.TLS, pParse uintptr, pSelect uintptr, pWith uintptr) uintptr { /* sqlite3.c:161492:17: */ if pSelect != 0 { (*Select)(unsafe.Pointer(pSelect)).FpWith = pWith parserDoubleLinkSelect(tls, pParse, pSelect) @@ -143182,7 +143213,7 @@ func attachWithToSelect(tls *libc.TLS, pParse uintptr, pSelect uintptr, pWith ui } // Construct a new Expr object from a single token -func tokenExpr(tls *libc.TLS, pParse uintptr, op int32, t Token) uintptr { /* sqlite3.c:161447:15: */ +func tokenExpr(tls *libc.TLS, pParse uintptr, op int32, t Token) uintptr { /* sqlite3.c:161504:15: */ bp := tls.Alloc(16) defer tls.Free(16) *(*Token)(unsafe.Pointer(bp)) = t @@ -143220,7 +143251,7 @@ func tokenExpr(tls *libc.TLS, pParse uintptr, op int32, t Token) uintptr { /* sq // A routine to convert a binary TK_IS or TK_ISNOT expression into a // unary TK_ISNULL or TK_NOTNULL expression. -func binaryToUnaryIfNull(tls *libc.TLS, pParse uintptr, pY uintptr, pA uintptr, op int32) { /* sqlite3.c:161483:15: */ +func binaryToUnaryIfNull(tls *libc.TLS, pParse uintptr, pY uintptr, pA uintptr, op int32) { /* sqlite3.c:161540:15: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb if pA != 0 && pY != 0 && int32((*Expr)(unsafe.Pointer(pY)).Fop) == TK_NULL && !(int32((*Parse)(unsafe.Pointer(pParse)).FeParseMode) >= PARSE_MODE_RENAME) { (*Expr)(unsafe.Pointer(pA)).Fop = U8(op) @@ -143234,7 +143265,7 @@ func binaryToUnaryIfNull(tls *libc.TLS, pParse uintptr, pY uintptr, pA uintptr, // list of identifiers. Report an error if the ID list contains // a COLLATE clause or an ASC or DESC keyword, except ignore the // error while parsing a legacy schema. -func parserAddExprIdListTerm(tls *libc.TLS, pParse uintptr, pPrior uintptr, pIdToken uintptr, hasCollate int32, sortOrder int32) uintptr { /* sqlite3.c:161497:19: */ +func parserAddExprIdListTerm(tls *libc.TLS, pParse uintptr, pPrior uintptr, pIdToken uintptr, hasCollate int32, sortOrder int32) uintptr { /* sqlite3.c:161554:19: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -143309,7 +143340,7 @@ type YYMINORTYPE = struct { F__ccgo_pad1 [0]uint64 Fyyinit int32 F__ccgo_pad2 [12]byte -} /* sqlite3.c:161789:3 */ +} /* sqlite3.c:161846:3 */ //************ End control #defines ****************************************** // Define the yytestcase() macro to be a no-op if is not already defined @@ -143578,7 +143609,7 @@ var yy_action = [2070]uint16{ /* 2040 */ uint16(29), uint16(921), uint16(390), uint16(1176), uint16(172), uint16(139), uint16(1175), uint16(1235), uint16(261), uint16(1235), /* 2050 */ uint16(1235), uint16(1235), uint16(1235), uint16(1235), uint16(1235), uint16(1235), uint16(1235), uint16(262), uint16(1235), uint16(1235), /* 2060 */ uint16(1235), uint16(1235), uint16(1235), uint16(1235), uint16(1235), uint16(1235), uint16(1235), uint16(1235), uint16(1593), uint16(1592), -} /* sqlite3.c:161883:27 */ +} /* sqlite3.c:161940:27 */ var yy_lookahead = [2255]uint16{ /* 0 */ uint16(193), uint16(223), uint16(193), uint16(225), uint16(193), uint16(193), uint16(193), uint16(274), uint16(275), uint16(276), /* 10 */ uint16(193), uint16(233), uint16(219), uint16(193), uint16(274), uint16(275), uint16(276), uint16(206), uint16(206), uint16(19), @@ -143806,7 +143837,7 @@ var yy_lookahead = [2255]uint16{ /* 2230 */ uint16(319), uint16(319), uint16(319), uint16(319), uint16(319), uint16(319), uint16(319), uint16(319), uint16(319), uint16(319), /* 2240 */ uint16(319), uint16(319), uint16(319), uint16(319), uint16(319), uint16(319), uint16(319), uint16(319), uint16(319), uint16(319), /* 2250 */ uint16(319), uint16(319), uint16(319), uint16(319), uint16(319), -} /* sqlite3.c:162092:25 */ +} /* sqlite3.c:162149:25 */ var yy_shift_ofst = [574]uint16{ /* 0 */ uint16(1648), uint16(1477), uint16(1272), uint16(322), uint16(322), uint16(262), uint16(1319), uint16(1478), uint16(1491), uint16(1662), /* 10 */ uint16(1662), uint16(1662), uint16(317), uint16(0), uint16(0), uint16(214), uint16(1093), uint16(1662), uint16(1662), uint16(1662), @@ -143866,7 +143897,7 @@ var yy_shift_ofst = [574]uint16{ /* 550 */ uint16(2005), uint16(2006), uint16(2007), uint16(2008), uint16(2009), uint16(2001), uint16(2020), uint16(2012), uint16(2013), uint16(2014), /* 560 */ uint16(2015), uint16(2017), uint16(2018), uint16(2011), uint16(1906), uint16(1907), uint16(1916), uint16(1927), uint16(1928), uint16(2019), /* 570 */ uint16(2022), uint16(2027), uint16(2042), uint16(2045), -} /* sqlite3.c:162323:33 */ +} /* sqlite3.c:162380:33 */ var yy_reduce_ofst = [409]int16{ /* 0 */ int16(-125), int16(733), int16(789), int16(241), int16(293), int16(-123), int16(-193), int16(-191), int16(-183), int16(-187), /* 10 */ int16(-180), int16(83), int16(133), int16(-207), int16(-198), int16(-267), int16(-175), int16(-6), int16(166), int16(313), @@ -143909,7 +143940,7 @@ var yy_reduce_ofst = [409]int16{ /* 380 */ int16(1641), int16(1602), int16(1676), int16(1642), int16(1646), int16(1644), int16(1650), int16(1654), int16(1683), int16(1694), /* 390 */ int16(1707), int16(1711), int16(1712), int16(1714), int16(1643), int16(1647), int16(1652), int16(1698), int16(1695), int16(1696), /* 400 */ int16(1697), int16(1699), int16(1700), int16(1689), int16(1691), int16(1701), int16(1702), int16(1704), int16(1715), -} /* sqlite3.c:162386:20 */ +} /* sqlite3.c:162443:20 */ var yy_default = [574]uint16{ /* 0 */ uint16(1637), uint16(1637), uint16(1637), uint16(1466), uint16(1233), uint16(1344), uint16(1233), uint16(1233), uint16(1233), uint16(1466), /* 10 */ uint16(1466), uint16(1466), uint16(1233), uint16(1374), uint16(1374), uint16(1519), uint16(1266), uint16(1233), uint16(1233), uint16(1233), @@ -143969,7 +144000,7 @@ var yy_default = [574]uint16{ /* 550 */ uint16(1233), uint16(1233), uint16(1233), uint16(1233), uint16(1233), uint16(1233), uint16(1233), uint16(1233), uint16(1233), uint16(1233), /* 560 */ uint16(1233), uint16(1233), uint16(1233), uint16(1610), uint16(1325), uint16(1416), uint16(1233), uint16(1415), uint16(1419), uint16(1255), /* 570 */ uint16(1233), uint16(1245), uint16(1233), uint16(1233), -} /* sqlite3.c:162429:27 */ +} /* sqlite3.c:162486:27 */ //********* End of lemon-generated parsing tables **************************** // The next table maps tokens (terminal symbols) into fallback tokens. @@ -144171,7 +144202,7 @@ var yyFallback = [185]uint16{ uint16(0), // ERROR => nothing uint16(0), // SPACE => nothing uint16(0), // ILLEGAL => nothing -} /* sqlite3.c:162506:25 */ +} /* sqlite3.c:162563:25 */ // The following structure represents a single element of the // parser's stack. Information stored includes: @@ -144193,9 +144224,9 @@ type yyStackEntry = struct { Fmajor uint16 F__ccgo_pad1 [4]byte Fminor YYMINORTYPE -} /* sqlite3.c:162711:1 */ +} /* sqlite3.c:162768:1 */ -type YyStackEntry = yyStackEntry /* sqlite3.c:162718:29 */ +type YyStackEntry = yyStackEntry /* sqlite3.c:162775:29 */ // The state of the parser is completely contained in an instance of // the following structure @@ -144204,9 +144235,9 @@ type yyParser = struct { FpParse uintptr Fyystack [100]YyStackEntry FyystackEnd uintptr -} /* sqlite3.c:162722:1 */ +} /* sqlite3.c:162779:1 */ -type YyParser = yyParser /* sqlite3.c:162741:25 */ +type YyParser = yyParser /* sqlite3.c:162798:25 */ // #include @@ -144216,7 +144247,7 @@ type YyParser = yyParser /* sqlite3.c:162741:25 */ // grammar. // Initialize a new parser that has already been allocated. -func Xsqlite3ParserInit(tls *libc.TLS, yypRawParser uintptr, pParse uintptr) { /* sqlite3.c:163556:21: */ +func Xsqlite3ParserInit(tls *libc.TLS, yypRawParser uintptr, pParse uintptr) { /* sqlite3.c:163613:21: */ var yypParser uintptr = yypRawParser (*YyParser)(unsafe.Pointer(yypParser)).FpParse = pParse (*YyParser)(unsafe.Pointer(yypParser)).Fyytos = yypParser + 16 /* &.yystack */ @@ -144231,7 +144262,7 @@ func Xsqlite3ParserInit(tls *libc.TLS, yypRawParser uintptr, pParse uintptr) { / // a pointer to the value to be deleted. The code used to do the // deletions is derived from the %destructor and/or %token_destructor // directives of the input grammar. -func yy_destructor(tls *libc.TLS, yypParser uintptr, yymajor uint16, yypminor uintptr) { /* sqlite3.c:163614:13: */ +func yy_destructor(tls *libc.TLS, yypParser uintptr, yymajor uint16, yypminor uintptr) { /* sqlite3.c:163671:13: */ var pParse uintptr = (*YyParser)(unsafe.Pointer(yypParser)).FpParse switch int32(yymajor) { @@ -144390,7 +144421,7 @@ func yy_destructor(tls *libc.TLS, yypParser uintptr, yymajor uint16, yypminor ui // // If there is a destructor routine associated with the token which // is popped from the stack, then call it. -func yy_pop_parser_stack(tls *libc.TLS, pParser uintptr) { /* sqlite3.c:163739:13: */ +func yy_pop_parser_stack(tls *libc.TLS, pParser uintptr) { /* sqlite3.c:163796:13: */ var yytos uintptr yytos = libc.PostDecUintptr(&(*YyParser)(unsafe.Pointer(pParser)).Fyytos, 24) @@ -144398,7 +144429,7 @@ func yy_pop_parser_stack(tls *libc.TLS, pParser uintptr) { /* sqlite3.c:163739:1 } // Clear all secondary memory allocations from the parser -func Xsqlite3ParserFinalize(tls *libc.TLS, p uintptr) { /* sqlite3.c:163757:21: */ +func Xsqlite3ParserFinalize(tls *libc.TLS, p uintptr) { /* sqlite3.c:163814:21: */ var pParser uintptr = p for (*YyParser)(unsafe.Pointer(pParser)).Fyytos > pParser+16 { yy_pop_parser_stack(tls, pParser) @@ -144421,7 +144452,7 @@ func Xsqlite3ParserFinalize(tls *libc.TLS, p uintptr) { /* sqlite3.c:163757:21: // Find the appropriate action for a parser given the terminal // look-ahead token iLookAhead. -func yy_find_shift_action(tls *libc.TLS, iLookAhead uint16, stateno uint16) uint16 { /* sqlite3.c:163837:21: */ +func yy_find_shift_action(tls *libc.TLS, iLookAhead uint16, stateno uint16) uint16 { /* sqlite3.c:163894:21: */ var i int32 if int32(stateno) > YY_MAX_SHIFT { @@ -144461,7 +144492,7 @@ func yy_find_shift_action(tls *libc.TLS, iLookAhead uint16, stateno uint16) uint // Find the appropriate action for a parser given the non-terminal // look-ahead token iLookAhead. -func yy_find_reduce_action(tls *libc.TLS, stateno uint16, iLookAhead uint16) uint16 { /* sqlite3.c:163902:21: */ +func yy_find_reduce_action(tls *libc.TLS, stateno uint16, iLookAhead uint16) uint16 { /* sqlite3.c:163959:21: */ var i int32 i = int32(yy_reduce_ofst[stateno]) @@ -144472,7 +144503,7 @@ func yy_find_reduce_action(tls *libc.TLS, stateno uint16, iLookAhead uint16) uin } // The following routine is called if the stack overflows. -func yyStackOverflow(tls *libc.TLS, yypParser uintptr) { /* sqlite3.c:163931:13: */ +func yyStackOverflow(tls *libc.TLS, yypParser uintptr) { /* sqlite3.c:163988:13: */ var pParse uintptr = (*YyParser)(unsafe.Pointer(yypParser)).FpParse for (*YyParser)(unsafe.Pointer(yypParser)).Fyytos > yypParser+16 { @@ -144491,7 +144522,7 @@ func yyStackOverflow(tls *libc.TLS, yypParser uintptr) { /* sqlite3.c:163931:13: // Print tracing information for a SHIFT action // Perform a shift action. -func yy_shift(tls *libc.TLS, yypParser uintptr, yyNewState uint16, yyMajor uint16, yyMinor Token) { /* sqlite3.c:163974:13: */ +func yy_shift(tls *libc.TLS, yypParser uintptr, yyNewState uint16, yyMajor uint16, yyMinor Token) { /* sqlite3.c:164031:13: */ var yytos uintptr (*YyParser)(unsafe.Pointer(yypParser)).Fyytos += 24 if (*YyParser)(unsafe.Pointer(yypParser)).Fyytos > (*YyParser)(unsafe.Pointer(yypParser)).FyystackEnd { @@ -144914,7 +144945,7 @@ var yyRuleInfoLhs = [402]uint16{ uint16(303), // (399) anylist ::= anylist LP anylist RP uint16(303), // (400) anylist ::= anylist ANY uint16(266), // (401) with ::= -} /* sqlite3.c:164015:25 */ +} /* sqlite3.c:164072:25 */ // For rule J, yyRuleInfoNRhs[J] contains the negative of the number // of symbols on the right-hand side of that rule. @@ -145321,7 +145352,7 @@ var yyRuleInfoNRhs = [402]int8{ int8(-4), // (399) anylist ::= anylist LP anylist RP int8(-2), // (400) anylist ::= anylist ANY int8(0), // (401) with ::= -} /* sqlite3.c:164422:26 */ +} /* sqlite3.c:164479:26 */ // Forward Declaration @@ -145333,7 +145364,7 @@ var yyRuleInfoNRhs = [402]int8{ // if the lookahead token has already been consumed. As this procedure is // only called from one place, optimizing compilers will in-line it, which // means that the extra parameters have no performance impact. -func yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead int32, yyLookaheadToken Token, pParse uintptr) uint16 { /* sqlite3.c:164839:21: */ +func yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead int32, yyLookaheadToken Token, pParse uintptr) uint16 { /* sqlite3.c:164896:21: */ bp := tls.Alloc(144) defer tls.Free(144) @@ -147328,7 +147359,7 @@ func yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead in // The following code executes when the parse fails // The following code executes when a syntax error first occurs. -func yy_syntax_error(tls *libc.TLS, yypParser uintptr, yymajor int32, yyminor Token) { /* sqlite3.c:166395:13: */ +func yy_syntax_error(tls *libc.TLS, yypParser uintptr, yymajor int32, yyminor Token) { /* sqlite3.c:166452:13: */ bp := tls.Alloc(24) defer tls.Free(24) *(*Token)(unsafe.Pointer(bp + 8)) = yyminor @@ -147348,7 +147379,7 @@ func yy_syntax_error(tls *libc.TLS, yypParser uintptr, yymajor int32, yyminor To } // The following is executed when the parser accepts -func yy_accept(tls *libc.TLS, yypParser uintptr) { /* sqlite3.c:166419:13: */ +func yy_accept(tls *libc.TLS, yypParser uintptr) { /* sqlite3.c:166476:13: */ var pParse uintptr = (*YyParser)(unsafe.Pointer(yypParser)).FpParse @@ -147378,7 +147409,7 @@ func yy_accept(tls *libc.TLS, yypParser uintptr) { /* sqlite3.c:166419:13: */ // // Outputs: // None. -func Xsqlite3Parser(tls *libc.TLS, yyp uintptr, yymajor int32, yyminor Token) { /* sqlite3.c:166460:21: */ +func Xsqlite3Parser(tls *libc.TLS, yyp uintptr, yymajor int32, yyminor Token) { /* sqlite3.c:166517:21: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -147432,7 +147463,7 @@ func Xsqlite3Parser(tls *libc.TLS, yyp uintptr, yymajor int32, yyminor Token) { // Return the fallback token corresponding to canonical token iToken, or // 0 if iToken has no fallback. -func Xsqlite3ParserFallback(tls *libc.TLS, iToken int32) int32 { /* sqlite3.c:166677:20: */ +func Xsqlite3ParserFallback(tls *libc.TLS, iToken int32) int32 { /* sqlite3.c:166734:20: */ return int32(yyFallback[iToken]) } @@ -147483,7 +147514,7 @@ var aiClass = [256]uint8{ /* Dx */ uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), /* Ex */ uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(30), /* Fx */ uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), -} /* sqlite3.c:166749:28 */ +} /* sqlite3.c:166806:28 */ // The charMap() macro maps alphabetic characters (only) into their // lower-case ASCII equivalent. On ASCII machines, this is just @@ -147569,7 +147600,7 @@ var zKWText = [666]uint8{ uint8('W'), uint8('S'), uint8('U'), uint8('N'), uint8('B'), uint8('O'), uint8('U'), uint8('N'), uint8('D'), uint8('E'), uint8('D'), uint8('U'), uint8('N'), uint8('I'), uint8('O'), uint8('N'), uint8('U'), uint8('S'), uint8('I'), uint8('N'), uint8('G'), uint8('V'), uint8('A'), uint8('C'), uint8('U'), uint8('U'), uint8('M'), uint8('V'), uint8('I'), uint8('E'), uint8('W'), uint8('I'), uint8('N'), uint8('D'), uint8('O'), uint8('W'), uint8('B'), uint8('Y'), uint8('I'), uint8('N'), uint8('I'), uint8('T'), uint8('I'), uint8('A'), uint8('L'), uint8('L'), uint8('Y'), uint8('P'), uint8('R'), uint8('I'), uint8('M'), uint8('A'), uint8('R'), uint8('Y'), -} /* sqlite3.c:166865:19 */ +} /* sqlite3.c:166922:19 */ // aKWHash[i] is the hash value for the i-th keyword var aKWHash = [127]uint8{ uint8(84), uint8(92), uint8(134), uint8(82), uint8(105), uint8(29), uint8(0), uint8(0), uint8(94), uint8(0), uint8(85), uint8(72), uint8(0), @@ -147582,7 +147613,7 @@ var aKWHash = [127]uint8{ uint8(50), uint8(124), uint8(0), uint8(100), uint8(0), uint8(18), uint8(121), uint8(144), uint8(56), uint8(130), uint8(139), uint8(88), uint8(83), uint8(37), uint8(30), uint8(126), uint8(0), uint8(0), uint8(108), uint8(51), uint8(131), uint8(128), uint8(0), uint8(34), uint8(0), uint8(0), uint8(132), uint8(0), uint8(98), uint8(38), uint8(39), uint8(0), uint8(20), uint8(45), uint8(117), uint8(93), -} /* sqlite3.c:166905:28 */ +} /* sqlite3.c:166962:28 */ // aKWNext[] forms the hash collision chain. If aKWHash[i]==0 // then the i-th keyword has no more hash collisions. Otherwise, // the next keyword with the same hash is aKWHash[i]-1. @@ -147599,7 +147630,7 @@ var aKWNext = [147]uint8{ uint8(112), uint8(21), uint8(7), uint8(67), uint8(0), uint8(79), uint8(96), uint8(118), uint8(0), uint8(0), uint8(68), uint8(0), uint8(0), uint8(99), uint8(44), uint8(0), uint8(55), uint8(0), uint8(76), uint8(0), uint8(95), uint8(32), uint8(33), uint8(57), uint8(25), uint8(0), uint8(102), uint8(0), uint8(0), uint8(87), -} /* sqlite3.c:166920:28 */ +} /* sqlite3.c:166977:28 */ // aKWLen[i] is the length (in bytes) of the i-th keyword var aKWLen = [147]uint8{ uint8(7), uint8(7), uint8(5), uint8(4), uint8(6), uint8(4), uint8(5), uint8(3), uint8(6), uint8(7), uint8(3), uint8(6), uint8(6), @@ -147614,7 +147645,7 @@ var aKWLen = [147]uint8{ uint8(4), uint8(4), uint8(6), uint8(7), uint8(5), uint8(9), uint8(4), uint8(4), uint8(5), uint8(2), uint8(5), uint8(8), uint8(6), uint8(4), uint8(9), uint8(5), uint8(8), uint8(4), uint8(3), uint8(9), uint8(5), uint8(5), uint8(6), uint8(4), uint8(6), uint8(2), uint8(2), uint8(9), uint8(3), uint8(7), -} /* sqlite3.c:166935:28 */ +} /* sqlite3.c:166992:28 */ // aKWOffset[i] is the index into zKWText[] of the start of // the text for the i-th keyword. var aKWOffset = [147]uint16{ @@ -147630,7 +147661,7 @@ var aKWOffset = [147]uint16{ uint16(520), uint16(523), uint16(527), uint16(532), uint16(539), uint16(544), uint16(553), uint16(557), uint16(560), uint16(565), uint16(567), uint16(571), uint16(579), uint16(585), uint16(588), uint16(597), uint16(602), uint16(610), uint16(610), uint16(614), uint16(623), uint16(628), uint16(633), uint16(639), uint16(642), uint16(645), uint16(648), uint16(650), uint16(655), uint16(659), -} /* sqlite3.c:166951:33 */ +} /* sqlite3.c:167008:33 */ // aKWCode[i] is the parser symbol code for the i-th keyword var aKWCode = [147]uint8{ uint8(TK_REINDEX), uint8(TK_INDEXED), uint8(TK_INDEX), uint8(TK_DESC), uint8(TK_ESCAPE), @@ -147663,7 +147694,7 @@ var aKWCode = [147]uint8{ uint8(TK_ROW), uint8(TK_UNBOUNDED), uint8(TK_UNION), uint8(TK_USING), uint8(TK_VACUUM), uint8(TK_VIEW), uint8(TK_WINDOW), uint8(TK_DO), uint8(TK_BY), uint8(TK_INITIALLY), uint8(TK_ALL), uint8(TK_PRIMARY), -} /* sqlite3.c:166966:28 */ +} /* sqlite3.c:167023:28 */ // Hash table decoded: // 0: INSERT @@ -147796,7 +147827,7 @@ var aKWCode = [147]uint8{ // Check to see if z[0..n-1] is a keyword. If it is, write the // parser symbol code for that keyword into *pType. Always // return the integer n (the length of the token). -func keywordCode(tls *libc.TLS, z uintptr, n int32, pType uintptr) int32 { /* sqlite3.c:167130:12: */ +func keywordCode(tls *libc.TLS, z uintptr, n int32, pType uintptr) int32 { /* sqlite3.c:167187:12: */ var i int32 var j int32 var zKW uintptr @@ -147974,7 +148005,7 @@ func keywordCode(tls *libc.TLS, z uintptr, n int32, pType uintptr) int32 { /* sq return n } -func Xsqlite3KeywordCode(tls *libc.TLS, z uintptr, n int32) int32 { /* sqlite3.c:167304:20: */ +func Xsqlite3KeywordCode(tls *libc.TLS, z uintptr, n int32) int32 { /* sqlite3.c:167361:20: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -147983,7 +148014,7 @@ func Xsqlite3KeywordCode(tls *libc.TLS, z uintptr, n int32) int32 { /* sqlite3.c return *(*int32)(unsafe.Pointer(bp /* id */)) } -func Xsqlite3_keyword_name(tls *libc.TLS, i int32, pzName uintptr, pnName uintptr) int32 { /* sqlite3.c:167310:16: */ +func Xsqlite3_keyword_name(tls *libc.TLS, i int32, pzName uintptr, pnName uintptr) int32 { /* sqlite3.c:167367:16: */ if i < 0 || i >= SQLITE_N_KEYWORD { return SQLITE_ERROR } @@ -147992,11 +148023,11 @@ func Xsqlite3_keyword_name(tls *libc.TLS, i int32, pzName uintptr, pnName uintpt return SQLITE_OK } -func Xsqlite3_keyword_count(tls *libc.TLS) int32 { /* sqlite3.c:167316:16: */ +func Xsqlite3_keyword_count(tls *libc.TLS) int32 { /* sqlite3.c:167373:16: */ return SQLITE_N_KEYWORD } -func Xsqlite3_keyword_check(tls *libc.TLS, zName uintptr, nName int32) int32 { /* sqlite3.c:167317:16: */ +func Xsqlite3_keyword_check(tls *libc.TLS, zName uintptr, nName int32) int32 { /* sqlite3.c:167374:16: */ return libc.Bool32(TK_ID != Xsqlite3KeywordCode(tls, zName, nName)) } @@ -148019,13 +148050,13 @@ func Xsqlite3_keyword_check(tls *libc.TLS, zName uintptr, nName int32) int32 { / // But the feature is undocumented. // Make the IdChar function accessible from ctime.c and alter.c -func Xsqlite3IsIdChar(tls *libc.TLS, c U8) int32 { /* sqlite3.c:167364:20: */ +func Xsqlite3IsIdChar(tls *libc.TLS, c U8) int32 { /* sqlite3.c:167421:20: */ return libc.Bool32(int32(Xsqlite3CtypeMap[c])&0x46 != 0) } // Return the id of the next token in string (*pz). Before returning, set // (*pz) to point to the byte following the parsed token. -func getToken(tls *libc.TLS, pz uintptr) int32 { /* sqlite3.c:167371:12: */ +func getToken(tls *libc.TLS, pz uintptr) int32 { /* sqlite3.c:167428:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -148075,7 +148106,7 @@ func getToken(tls *libc.TLS, pz uintptr) int32 { /* sqlite3.c:167371:12: */ // // * the previous token was TK_RP, and // * the next token is TK_LP. -func analyzeWindowKeyword(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:167420:12: */ +func analyzeWindowKeyword(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:167477:12: */ bp := tls.Alloc(8) defer tls.Free(8) *(*uintptr)(unsafe.Pointer(bp)) = z @@ -148092,7 +148123,7 @@ func analyzeWindowKeyword(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:167420: return TK_WINDOW } -func analyzeOverKeyword(tls *libc.TLS, z uintptr, lastToken int32) int32 { /* sqlite3.c:167428:12: */ +func analyzeOverKeyword(tls *libc.TLS, z uintptr, lastToken int32) int32 { /* sqlite3.c:167485:12: */ bp := tls.Alloc(8) defer tls.Free(8) *(*uintptr)(unsafe.Pointer(bp)) = z @@ -148106,7 +148137,7 @@ func analyzeOverKeyword(tls *libc.TLS, z uintptr, lastToken int32) int32 { /* sq return TK_ID } -func analyzeFilterKeyword(tls *libc.TLS, z uintptr, lastToken int32) int32 { /* sqlite3.c:167435:12: */ +func analyzeFilterKeyword(tls *libc.TLS, z uintptr, lastToken int32) int32 { /* sqlite3.c:167492:12: */ bp := tls.Alloc(8) defer tls.Free(8) *(*uintptr)(unsafe.Pointer(bp)) = z @@ -148119,7 +148150,7 @@ func analyzeFilterKeyword(tls *libc.TLS, z uintptr, lastToken int32) int32 { /* // Return the length (in bytes) of the token that begins at z[0]. // Store the token type in *tokenType before returning. -func Xsqlite3GetToken(tls *libc.TLS, z uintptr, tokenType uintptr) int32 { /* sqlite3.c:167447:20: */ +func Xsqlite3GetToken(tls *libc.TLS, z uintptr, tokenType uintptr) int32 { /* sqlite3.c:167504:20: */ var i int32 var c int32 switch int32(aiClass[*(*uint8)(unsafe.Pointer(z))]) { // Switch on the character-class of the first byte @@ -148481,7 +148512,7 @@ func Xsqlite3GetToken(tls *libc.TLS, z uintptr, tokenType uintptr) int32 { /* sq } // Run the parser on the given SQL string. -func Xsqlite3RunParser(tls *libc.TLS, pParse uintptr, zSql uintptr) int32 { /* sqlite3.c:167741:20: */ +func Xsqlite3RunParser(tls *libc.TLS, pParse uintptr, zSql uintptr) int32 { /* sqlite3.c:167798:20: */ bp := tls.Alloc(2480) defer tls.Free(2480) @@ -148671,7 +148702,7 @@ func Xsqlite3RunParser(tls *libc.TLS, pParse uintptr, zSql uintptr) int32 { /* s // If we compile with SQLITE_OMIT_TRIGGER, all of the computation needed // to recognize the end of a trigger can be omitted. All we have to do // is look for a semicolon that is not part of an string or comment. -func Xsqlite3_complete(tls *libc.TLS, zSql uintptr) int32 { /* sqlite3.c:168133:16: */ +func Xsqlite3_complete(tls *libc.TLS, zSql uintptr) int32 { /* sqlite3.c:168190:16: */ var state U8 = U8(0) // Current state, using numbers defined in header comment var token U8 @@ -148848,12 +148879,12 @@ var trans = [8][8]U8{ /* 5 TRIGGER: */ {U8(6), U8(5), U8(5), U8(5), U8(5), U8(5), U8(5), U8(5)}, /* 6 SEMI: */ {U8(6), U8(6), U8(5), U8(5), U8(5), U8(5), U8(5), U8(7)}, /* 7 END: */ {U8(1), U8(7), U8(5), U8(5), U8(5), U8(5), U8(5), U8(5)}, -} /* sqlite3.c:168141:19 */ +} /* sqlite3.c:168198:19 */ // This routine is the same as the sqlite3_complete() routine described // above, except that the parameter is required to be UTF-16 encoded, not // UTF-8. -func Xsqlite3_complete16(tls *libc.TLS, zSql uintptr) int32 { /* sqlite3.c:168298:16: */ +func Xsqlite3_complete16(tls *libc.TLS, zSql uintptr) int32 { /* sqlite3.c:168355:16: */ var pVal uintptr var zSql8 uintptr var rc int32 @@ -148885,7 +148916,7 @@ func Xsqlite3_complete16(tls *libc.TLS, zSql uintptr) int32 { /* sqlite3.c:16829 // This is an extension initializer that is a no-op and always // succeeds, except that it fails if the fault-simulation is set // to 500. -func sqlite3TestExtInit(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:168450:12: */ +func sqlite3TestExtInit(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:168507:12: */ _ = db return Xsqlite3FaultSim(tls, 500) } @@ -148897,11 +148928,11 @@ var sqlite3BuiltinExtensions = [4]uintptr{ 0, 0, 0, -} /* sqlite3.c:168477:12 */ +} /* sqlite3.c:168534:12 */ // IMPLEMENTATION-OF: R-53536-42575 The sqlite3_libversion() function returns // a pointer to the to the sqlite3_version[] string constant. -func Xsqlite3_libversion(tls *libc.TLS) uintptr { /* sqlite3.c:168524:23: */ +func Xsqlite3_libversion(tls *libc.TLS) uintptr { /* sqlite3.c:168581:23: */ return uintptr(unsafe.Pointer(&Xsqlite3_version)) } @@ -148914,14 +148945,14 @@ func Xsqlite3_libversion(tls *libc.TLS) uintptr { /* sqlite3.c:168524:23: */ // IMPLEMENTATION-OF: R-35210-63508 The sqlite3_libversion_number() function // returns an integer equal to SQLITE_VERSION_NUMBER. -func Xsqlite3_libversion_number(tls *libc.TLS) int32 { /* sqlite3.c:168537:16: */ +func Xsqlite3_libversion_number(tls *libc.TLS) int32 { /* sqlite3.c:168594:16: */ return SQLITE_VERSION_NUMBER } // IMPLEMENTATION-OF: R-20790-14025 The sqlite3_threadsafe() function returns // zero if and only if SQLite was compiled with mutexing code omitted due to // the SQLITE_THREADSAFE compile-time option being set to 0. -func Xsqlite3_threadsafe(tls *libc.TLS) int32 { /* sqlite3.c:168543:16: */ +func Xsqlite3_threadsafe(tls *libc.TLS) int32 { /* sqlite3.c:168600:16: */ return SQLITE_THREADSAFE } @@ -148934,14 +148965,14 @@ func Xsqlite3_threadsafe(tls *libc.TLS) int32 { /* sqlite3.c:168543:16: */ // temporary files. // // See also the "PRAGMA temp_store_directory" SQL command. -var Xsqlite3_temp_directory uintptr = uintptr(0) /* sqlite3.c:168574:17 */ +var Xsqlite3_temp_directory uintptr = uintptr(0) /* sqlite3.c:168631:17 */ // If the following global variable points to a string which is the // name of a directory, then that directory will be used to store // all database files specified with a relative pathname. // // See also the "PRAGMA data_store_directory" SQL command. -var Xsqlite3_data_directory uintptr = uintptr(0) /* sqlite3.c:168583:17 */ +var Xsqlite3_data_directory uintptr = uintptr(0) /* sqlite3.c:168640:17 */ // Initialize SQLite. // @@ -148972,7 +149003,7 @@ var Xsqlite3_data_directory uintptr = uintptr(0) /* sqlite3.c:168583:17 */ // // * Recursive calls to this routine from thread X return immediately // without blocking. -func Xsqlite3_initialize(tls *libc.TLS) int32 { /* sqlite3.c:168616:16: */ +func Xsqlite3_initialize(tls *libc.TLS) int32 { /* sqlite3.c:168673:16: */ var pMainMtx uintptr // The main static mutex var rc int32 // Result code @@ -149098,7 +149129,7 @@ func Xsqlite3_initialize(tls *libc.TLS) int32 { /* sqlite3.c:168616:16: */ // routine is not threadsafe. But it is safe to invoke this routine // on when SQLite is already shut down. If SQLite is already shut down // when this routine is invoked, then this routine is a harmless no-op. -func Xsqlite3_shutdown(tls *libc.TLS) int32 { /* sqlite3.c:168791:16: */ +func Xsqlite3_shutdown(tls *libc.TLS) int32 { /* sqlite3.c:168848:16: */ if Xsqlite3Config.FisInit != 0 { Xsqlite3_os_end(tls) @@ -149137,7 +149168,7 @@ func Xsqlite3_shutdown(tls *libc.TLS) int32 { /* sqlite3.c:168791:16: */ // database connections or memory allocations. This routine is not // threadsafe. Failure to heed these warnings can lead to unpredictable // behavior. -func Xsqlite3_config(tls *libc.TLS, op int32, va uintptr) int32 { /* sqlite3.c:168845:16: */ +func Xsqlite3_config(tls *libc.TLS, op int32, va uintptr) int32 { /* sqlite3.c:168902:16: */ var ap Va_list _ = ap var rc int32 = SQLITE_OK @@ -149145,7 +149176,7 @@ func Xsqlite3_config(tls *libc.TLS, op int32, va uintptr) int32 { /* sqlite3.c:1 // sqlite3_config() shall return SQLITE_MISUSE if it is invoked while // the SQLite library is in use. if Xsqlite3Config.FisInit != 0 { - return Xsqlite3MisuseError(tls, 168851) + return Xsqlite3MisuseError(tls, 168908) } ap = va @@ -149415,7 +149446,7 @@ func Xsqlite3_config(tls *libc.TLS, op int32, va uintptr) int32 { /* sqlite3.c:1 // space for the lookaside memory is obtained from sqlite3_malloc(). // If pStart is not NULL then it is sz*cnt bytes of memory to use for // the lookaside memory. -func setupLookaside(tls *libc.TLS, db uintptr, pBuf uintptr, sz int32, cnt int32) int32 { /* sqlite3.c:169163:12: */ +func setupLookaside(tls *libc.TLS, db uintptr, pBuf uintptr, sz int32, cnt int32) int32 { /* sqlite3.c:169220:12: */ var pStart uintptr var szAlloc Sqlite3_int64 = Sqlite3_int64(sz) * Sqlite3_int64(cnt) var nBig int32 // Number of full-size slots @@ -149513,13 +149544,13 @@ func setupLookaside(tls *libc.TLS, db uintptr, pBuf uintptr, sz int32, cnt int32 } // Return the mutex associated with a database connection. -func Xsqlite3_db_mutex(tls *libc.TLS, db uintptr) uintptr { /* sqlite3.c:169263:26: */ +func Xsqlite3_db_mutex(tls *libc.TLS, db uintptr) uintptr { /* sqlite3.c:169320:26: */ return (*Sqlite3)(unsafe.Pointer(db)).Fmutex } // Free up as much memory as we can from the given database // connection. -func Xsqlite3_db_release_memory(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:169277:16: */ +func Xsqlite3_db_release_memory(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:169334:16: */ var i int32 Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) @@ -149538,7 +149569,7 @@ func Xsqlite3_db_release_memory(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c: // Flush any dirty pages in the pager-cache for any attached database // to disk. -func Xsqlite3_db_cacheflush(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:169301:16: */ +func Xsqlite3_db_cacheflush(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:169358:16: */ var i int32 var rc int32 = SQLITE_OK var bSeenBusy int32 = 0 @@ -149567,7 +149598,7 @@ func Xsqlite3_db_cacheflush(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:1693 } // Configuration settings for an individual database connection -func Xsqlite3_db_config(tls *libc.TLS, db uintptr, op int32, va uintptr) int32 { /* sqlite3.c:169330:16: */ +func Xsqlite3_db_config(tls *libc.TLS, db uintptr, op int32, va uintptr) int32 { /* sqlite3.c:169387:16: */ var ap Va_list _ = ap var rc int32 @@ -149646,11 +149677,11 @@ var aFlagOp = [16]struct { {Fop: SQLITE_DBCONFIG_DQS_DML, Fmask: U32(SQLITE_DqsDML)}, {Fop: SQLITE_DBCONFIG_LEGACY_FILE_FORMAT, Fmask: U32(SQLITE_LegacyFileFmt)}, {Fop: SQLITE_DBCONFIG_TRUSTED_SCHEMA, Fmask: U32(SQLITE_TrustedSchema)}, -} /* sqlite3.c:169353:9 */ +} /* sqlite3.c:169410:9 */ // This is the default collating function named "BINARY" which is always // available. -func binCollFunc(tls *libc.TLS, NotUsed uintptr, nKey1 int32, pKey1 uintptr, nKey2 int32, pKey2 uintptr) int32 { /* sqlite3.c:169405:12: */ +func binCollFunc(tls *libc.TLS, NotUsed uintptr, nKey1 int32, pKey1 uintptr, nKey2 int32, pKey2 uintptr) int32 { /* sqlite3.c:169462:12: */ var rc int32 var n int32 _ = NotUsed @@ -149672,7 +149703,7 @@ func binCollFunc(tls *libc.TLS, NotUsed uintptr, nKey1 int32, pKey1 uintptr, nKe // This is the collating function named "RTRIM" which is always // available. Ignore trailing spaces. -func rtrimCollFunc(tls *libc.TLS, pUser uintptr, nKey1 int32, pKey1 uintptr, nKey2 int32, pKey2 uintptr) int32 { /* sqlite3.c:169428:12: */ +func rtrimCollFunc(tls *libc.TLS, pUser uintptr, nKey1 int32, pKey1 uintptr, nKey2 int32, pKey2 uintptr) int32 { /* sqlite3.c:169485:12: */ var pK1 uintptr = pKey1 var pK2 uintptr = pKey2 for nKey1 != 0 && int32(*(*U8)(unsafe.Pointer(pK1 + uintptr(nKey1-1)))) == ' ' { @@ -149685,7 +149716,7 @@ func rtrimCollFunc(tls *libc.TLS, pUser uintptr, nKey1 int32, pKey1 uintptr, nKe } // Return true if CollSeq is the default built-in BINARY. -func Xsqlite3IsBinary(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:169443:20: */ +func Xsqlite3IsBinary(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:169500:20: */ return libc.Bool32(p == uintptr(0) || (*CollSeq)(unsafe.Pointer(p)).FxCmp == *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32 @@ -149699,7 +149730,7 @@ func Xsqlite3IsBinary(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:169443:20: // extends only to the 26 characters used in the English language. // // At the moment there is only a UTF-8 implementation. -func nocaseCollatingFunc(tls *libc.TLS, NotUsed uintptr, nKey1 int32, pKey1 uintptr, nKey2 int32, pKey2 uintptr) int32 { /* sqlite3.c:169457:12: */ +func nocaseCollatingFunc(tls *libc.TLS, NotUsed uintptr, nKey1 int32, pKey1 uintptr, nKey2 int32, pKey2 uintptr) int32 { /* sqlite3.c:169514:12: */ var r int32 = Xsqlite3_strnicmp(tls, pKey1, pKey2, func() int32 { if nKey1 < nKey2 { @@ -149715,39 +149746,39 @@ func nocaseCollatingFunc(tls *libc.TLS, NotUsed uintptr, nKey1 int32, pKey1 uint } // Return the ROWID of the most recent insert -func Xsqlite3_last_insert_rowid(tls *libc.TLS, db uintptr) Sqlite_int64 { /* sqlite3.c:169474:25: */ +func Xsqlite3_last_insert_rowid(tls *libc.TLS, db uintptr) Sqlite_int64 { /* sqlite3.c:169531:25: */ return (*Sqlite3)(unsafe.Pointer(db)).FlastRowid } // Set the value returned by the sqlite3_last_insert_rowid() API function. -func Xsqlite3_set_last_insert_rowid(tls *libc.TLS, db uintptr, iRowid Sqlite3_int64) { /* sqlite3.c:169487:17: */ +func Xsqlite3_set_last_insert_rowid(tls *libc.TLS, db uintptr, iRowid Sqlite3_int64) { /* sqlite3.c:169544:17: */ Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) (*Sqlite3)(unsafe.Pointer(db)).FlastRowid = iRowid Xsqlite3_mutex_leave(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) } // Return the number of changes in the most recent call to sqlite3_exec(). -func Xsqlite3_changes64(tls *libc.TLS, db uintptr) Sqlite3_int64 { /* sqlite3.c:169502:26: */ +func Xsqlite3_changes64(tls *libc.TLS, db uintptr) Sqlite3_int64 { /* sqlite3.c:169559:26: */ return (*Sqlite3)(unsafe.Pointer(db)).FnChange } -func Xsqlite3_changes(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:169511:16: */ +func Xsqlite3_changes(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:169568:16: */ return int32(Xsqlite3_changes64(tls, db)) } // Return the number of changes since the database handle was opened. -func Xsqlite3_total_changes64(tls *libc.TLS, db uintptr) Sqlite3_int64 { /* sqlite3.c:169518:26: */ +func Xsqlite3_total_changes64(tls *libc.TLS, db uintptr) Sqlite3_int64 { /* sqlite3.c:169575:26: */ return (*Sqlite3)(unsafe.Pointer(db)).FnTotalChange } -func Xsqlite3_total_changes(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:169527:16: */ +func Xsqlite3_total_changes(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:169584:16: */ return int32(Xsqlite3_total_changes64(tls, db)) } // Close all open savepoints. This function only manipulates fields of the // database handle object, it does not close any savepoints that may be open // at the b-tree/pager level. -func Xsqlite3CloseSavepoints(tls *libc.TLS, db uintptr) { /* sqlite3.c:169536:21: */ +func Xsqlite3CloseSavepoints(tls *libc.TLS, db uintptr) { /* sqlite3.c:169593:21: */ for (*Sqlite3)(unsafe.Pointer(db)).FpSavepoint != 0 { var pTmp uintptr = (*Sqlite3)(unsafe.Pointer(db)).FpSavepoint (*Sqlite3)(unsafe.Pointer(db)).FpSavepoint = (*Savepoint)(unsafe.Pointer(pTmp)).FpNext @@ -149762,7 +149793,7 @@ func Xsqlite3CloseSavepoints(tls *libc.TLS, db uintptr) { /* sqlite3.c:169536:21 // if this is not the last copy of the function, do not invoke it. Multiple // copies of a single function are created when create_function() is called // with SQLITE_ANY as the encoding. -func functionDestroy(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:169553:13: */ +func functionDestroy(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:169610:13: */ var pDestructor uintptr pDestructor = *(*uintptr)(unsafe.Pointer(p + 64)) @@ -149777,7 +149808,7 @@ func functionDestroy(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:169553 // Disconnect all sqlite3_vtab objects that belong to database connection // db. This is called when db is being closed. -func disconnectAllVtab(tls *libc.TLS, db uintptr) { /* sqlite3.c:169570:13: */ +func disconnectAllVtab(tls *libc.TLS, db uintptr) { /* sqlite3.c:169627:13: */ var i int32 var p uintptr Xsqlite3BtreeEnterAll(tls, db) @@ -149804,7 +149835,7 @@ func disconnectAllVtab(tls *libc.TLS, db uintptr) { /* sqlite3.c:169570:13: */ // Return TRUE if database connection db has unfinalized prepared // statements or unfinished sqlite3_backup objects. -func connectionIsBusy(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:169601:12: */ +func connectionIsBusy(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:169658:12: */ var j int32 if (*Sqlite3)(unsafe.Pointer(db)).FpVdbe != 0 { @@ -149820,14 +149851,14 @@ func connectionIsBusy(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:169601:12: } // Close an existing SQLite database -func sqlite3Close(tls *libc.TLS, db uintptr, forceZombie int32) int32 { /* sqlite3.c:169615:12: */ +func sqlite3Close(tls *libc.TLS, db uintptr, forceZombie int32) int32 { /* sqlite3.c:169672:12: */ if !(db != 0) { // EVIDENCE-OF: R-63257-11740 Calling sqlite3_close() or // sqlite3_close_v2() with a NULL pointer argument is a harmless no-op. return SQLITE_OK } if !(Xsqlite3SafetyCheckSickOrOk(tls, db) != 0) { - return Xsqlite3MisuseError(tls, 169622) + return Xsqlite3MisuseError(tls, 169679) } Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) if int32((*Sqlite3)(unsafe.Pointer(db)).FmTrace)&SQLITE_TRACE_CLOSE != 0 { @@ -149864,7 +149895,7 @@ func sqlite3Close(tls *libc.TLS, db uintptr, forceZombie int32) int32 { /* sqlit // Return the transaction state for a single databse, or the maximum // transaction state over all attached databases if zSchema is null. -func Xsqlite3_txn_state(tls *libc.TLS, db uintptr, zSchema uintptr) int32 { /* sqlite3.c:169669:16: */ +func Xsqlite3_txn_state(tls *libc.TLS, db uintptr, zSchema uintptr) int32 { /* sqlite3.c:169726:16: */ var iDb int32 var nDb int32 var iTxn int32 = -1 @@ -149901,11 +149932,11 @@ func Xsqlite3_txn_state(tls *libc.TLS, db uintptr, zSchema uintptr) int32 { /* s // version forces the connection to become a zombie if there are // unclosed resources, and arranges for deallocation when the last // prepare statement or sqlite3_backup closes. -func Xsqlite3_close(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:169704:16: */ +func Xsqlite3_close(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:169761:16: */ return sqlite3Close(tls, db, 0) } -func Xsqlite3_close_v2(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:169705:16: */ +func Xsqlite3_close_v2(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:169762:16: */ return sqlite3Close(tls, db, 1) } @@ -149915,7 +149946,7 @@ func Xsqlite3_close_v2(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:169705:16 // has been a prior call to sqlite3_close(db) or sqlite3_close_v2(db)) and // every sqlite3_stmt has now been finalized and every sqlite3_backup has // finished, then free all resources. -func Xsqlite3LeaveMutexAndCloseZombie(tls *libc.TLS, db uintptr) { /* sqlite3.c:169716:21: */ +func Xsqlite3LeaveMutexAndCloseZombie(tls *libc.TLS, db uintptr) { /* sqlite3.c:169773:21: */ var i uintptr // Hash table iterator var j int32 @@ -150025,7 +150056,7 @@ func Xsqlite3LeaveMutexAndCloseZombie(tls *libc.TLS, db uintptr) { /* sqlite3.c: // breaker") and made to return tripCode if there are any further // attempts to use that cursor. Read cursors remain open and valid // but are "saved" in case the table pages are moved around. -func Xsqlite3RollbackAll(tls *libc.TLS, db uintptr, tripCode int32) { /* sqlite3.c:169839:21: */ +func Xsqlite3RollbackAll(tls *libc.TLS, db uintptr, tripCode int32) { /* sqlite3.c:169896:21: */ var i int32 var inTrans int32 = 0 var schemaChange int32 @@ -150075,7 +150106,7 @@ func Xsqlite3RollbackAll(tls *libc.TLS, db uintptr, tripCode int32) { /* sqlite3 // Return a static string that describes the kind of error specified in the // argument. -func Xsqlite3ErrStr(tls *libc.TLS, rc int32) uintptr { /* sqlite3.c:170000:27: */ +func Xsqlite3ErrStr(tls *libc.TLS, rc int32) uintptr { /* sqlite3.c:170057:27: */ var zErr uintptr = ts + 23260 /* "unknown error" */ switch rc { case SQLITE_ABORT | int32(2)<<8: @@ -150139,7 +150170,7 @@ var aMsg = [29]uintptr{ ts + 23756, ts + 23779, ts + 23800, -} /* sqlite3.c:170001:20 */ +} /* sqlite3.c:170058:20 */ // This routine implements a busy callback that sleeps and tries // again until a timeout value is reached. The timeout value is @@ -150148,7 +150179,7 @@ var aMsg = [29]uintptr{ // // Return non-zero to retry the lock. Return zero to stop trying // and cause SQLite to return SQLITE_BUSY. -func sqliteDefaultBusyCallback(tls *libc.TLS, ptr uintptr, count int32) int32 { /* sqlite3.c:170070:12: */ +func sqliteDefaultBusyCallback(tls *libc.TLS, ptr uintptr, count int32) int32 { /* sqlite3.c:170127:12: */ var db uintptr = ptr var tmout int32 = (*Sqlite3)(unsafe.Pointer(db)).FbusyTimeout var delay int32 @@ -150171,8 +150202,8 @@ func sqliteDefaultBusyCallback(tls *libc.TLS, ptr uintptr, count int32) int32 { return 1 } -var delays = [12]U8{U8(1), U8(2), U8(5), U8(10), U8(15), U8(20), U8(25), U8(25), U8(25), U8(50), U8(50), U8(100)} /* sqlite3.c:170077:19 */ -var totals = [12]U8{U8(0), U8(1), U8(3), U8(8), U8(18), U8(33), U8(53), U8(78), U8(103), U8(128), U8(178), U8(228)} /* sqlite3.c:170079:19 */ +var delays = [12]U8{U8(1), U8(2), U8(5), U8(10), U8(15), U8(20), U8(25), U8(25), U8(25), U8(50), U8(50), U8(100)} /* sqlite3.c:170134:19 */ +var totals = [12]U8{U8(0), U8(1), U8(3), U8(8), U8(18), U8(33), U8(53), U8(78), U8(103), U8(128), U8(178), U8(228)} /* sqlite3.c:170136:19 */ // Invoke the given busy handler. // @@ -150181,7 +150212,7 @@ var totals = [12]U8{U8(0), U8(1), U8(3), U8(8), U8(18), U8(33), U8(53), U8(78), // // If this routine returns non-zero, the lock is retried. If it // returns 0, the operation aborts with an SQLITE_BUSY error. -func Xsqlite3InvokeBusyHandler(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:170122:20: */ +func Xsqlite3InvokeBusyHandler(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:170179:20: */ var rc int32 if (*BusyHandler)(unsafe.Pointer(p)).FxBusyHandler == uintptr(0) || (*BusyHandler)(unsafe.Pointer(p)).FnBusy < 0 { return 0 @@ -150199,7 +150230,7 @@ func Xsqlite3InvokeBusyHandler(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:17 // This routine sets the busy callback for an Sqlite database to the // given callback function with the given argument. -func Xsqlite3_busy_handler(tls *libc.TLS, db uintptr, xBusy uintptr, pArg uintptr) int32 { /* sqlite3.c:170138:16: */ +func Xsqlite3_busy_handler(tls *libc.TLS, db uintptr, xBusy uintptr, pArg uintptr) int32 { /* sqlite3.c:170195:16: */ Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) (*Sqlite3)(unsafe.Pointer(db)).FbusyHandler.FxBusyHandler = xBusy (*Sqlite3)(unsafe.Pointer(db)).FbusyHandler.FpBusyArg = pArg @@ -150212,7 +150243,7 @@ func Xsqlite3_busy_handler(tls *libc.TLS, db uintptr, xBusy uintptr, pArg uintpt // This routine sets the progress callback for an Sqlite database to the // given callback function with the given argument. The progress callback will // be invoked every nOps opcodes. -func Xsqlite3_progress_handler(tls *libc.TLS, db uintptr, nOps int32, xProgress uintptr, pArg uintptr) { /* sqlite3.c:170161:17: */ +func Xsqlite3_progress_handler(tls *libc.TLS, db uintptr, nOps int32, xProgress uintptr, pArg uintptr) { /* sqlite3.c:170218:17: */ Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) if nOps > 0 { (*Sqlite3)(unsafe.Pointer(db)).FxProgress = xProgress @@ -150228,7 +150259,7 @@ func Xsqlite3_progress_handler(tls *libc.TLS, db uintptr, nOps int32, xProgress // This routine installs a default busy handler that waits for the // specified number of milliseconds before returning 0. -func Xsqlite3_busy_timeout(tls *libc.TLS, db uintptr, ms int32) int32 { /* sqlite3.c:170192:16: */ +func Xsqlite3_busy_timeout(tls *libc.TLS, db uintptr, ms int32) int32 { /* sqlite3.c:170249:16: */ if ms > 0 { Xsqlite3_busy_handler(tls, db, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32) int32 @@ -150242,7 +150273,7 @@ func Xsqlite3_busy_timeout(tls *libc.TLS, db uintptr, ms int32) int32 { /* sqlit } // Cause any pending operation to stop at its earliest opportunity. -func Xsqlite3_interrupt(tls *libc.TLS, db uintptr) { /* sqlite3.c:170209:17: */ +func Xsqlite3_interrupt(tls *libc.TLS, db uintptr) { /* sqlite3.c:170266:17: */ libc.AtomicStoreNInt32(db+432, int32(1), 0) } @@ -150250,7 +150281,7 @@ func Xsqlite3_interrupt(tls *libc.TLS, db uintptr) { /* sqlite3.c:170209:17: */ // that it is designed to be called by internal code. The difference is // that if a malloc() fails in sqlite3_create_function(), an error code // is returned and the mallocFailed flag cleared. -func Xsqlite3CreateFunc(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) int32 { /* sqlite3.c:170226:20: */ +func Xsqlite3CreateFunc(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) int32 { /* sqlite3.c:170283:20: */ var p uintptr var extraFlags int32 @@ -150260,7 +150291,7 @@ func Xsqlite3CreateFunc(tls *libc.TLS, db uintptr, zFunctionName uintptr, nArg i libc.Bool32(xValue == uintptr(0)) != libc.Bool32(xInverse == uintptr(0)) || (nArg < -1 || nArg > SQLITE_MAX_FUNCTION_ARG) || 255 < Xsqlite3Strlen30(tls, zFunctionName) { - return Xsqlite3MisuseError(tls, 170251) + return Xsqlite3MisuseError(tls, 170308) } extraFlags = enc & (SQLITE_DETERMINISTIC | SQLITE_DIRECTONLY | SQLITE_SUBTYPE | SQLITE_INNOCUOUS) @@ -150370,7 +150401,7 @@ func Xsqlite3CreateFunc(tls *libc.TLS, db uintptr, zFunctionName uintptr, nArg i // sqlite3_create_function() // 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) int32 { /* sqlite3.c:170360:12: */ +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) int32 { /* sqlite3.c:170417:12: */ var rc int32 var pArg uintptr rc = SQLITE_ERROR @@ -150412,22 +150443,22 @@ out: } // 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) int32 { /* sqlite3.c:170411:16: */ +func Xsqlite3_create_function(tls *libc.TLS, db uintptr, zFunc uintptr, nArg int32, enc int32, p uintptr, xSFunc uintptr, xStep uintptr, xFinal uintptr) int32 { /* sqlite3.c:170468:16: */ return createFunctionApi(tls, db, zFunc, nArg, enc, p, xSFunc, xStep, 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) int32 { /* sqlite3.c:170424:16: */ +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) int32 { /* sqlite3.c:170481:16: */ return createFunctionApi(tls, db, zFunc, nArg, enc, p, xSFunc, xStep, xFinal, uintptr(0), uintptr(0), 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) int32 { /* sqlite3.c:170438:16: */ +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) int32 { /* sqlite3.c:170495:16: */ return createFunctionApi(tls, db, zFunc, nArg, enc, p, uintptr(0), xStep, xFinal, xValue, xInverse, xDestroy) } -func Xsqlite3_create_function16(tls *libc.TLS, db uintptr, zFunctionName uintptr, nArg int32, eTextRep int32, p uintptr, xSFunc uintptr, xStep uintptr, xFinal uintptr) int32 { /* sqlite3.c:170455:16: */ +func Xsqlite3_create_function16(tls *libc.TLS, db uintptr, zFunctionName uintptr, nArg int32, eTextRep int32, p uintptr, xSFunc uintptr, xStep uintptr, xFinal uintptr) int32 { /* sqlite3.c:170512:16: */ var rc int32 var zFunc8 uintptr @@ -150452,7 +150483,7 @@ func Xsqlite3_create_function16(tls *libc.TLS, db uintptr, zFunctionName uintptr // SQL function that use this routine so that the functions will exist // for name resolution but are actually overloaded by the xFindFunction // method of virtual tables. -func sqlite3InvalidFunction(tls *libc.TLS, context uintptr, NotUsed int32, NotUsed2 uintptr) { /* sqlite3.c:170491:13: */ +func sqlite3InvalidFunction(tls *libc.TLS, context uintptr, NotUsed int32, NotUsed2 uintptr) { /* sqlite3.c:170548:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -150476,7 +150507,7 @@ func sqlite3InvalidFunction(tls *libc.TLS, context uintptr, NotUsed int32, NotUs // should call this routine to make sure the global function exists. // A global function must exist in order for name resolution to work // properly. -func Xsqlite3_overload_function(tls *libc.TLS, db uintptr, zName uintptr, nArg int32) int32 { /* sqlite3.c:170517:16: */ +func Xsqlite3_overload_function(tls *libc.TLS, db uintptr, zName uintptr, nArg int32) int32 { /* sqlite3.c:170574:16: */ var rc int32 var zCopy uintptr @@ -150502,7 +150533,7 @@ func Xsqlite3_overload_function(tls *libc.TLS, db uintptr, zName uintptr, nArg i // A NULL trace function means that no tracing is executes. A non-NULL // 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) uintptr { /* sqlite3.c:170550:17: */ +func Xsqlite3_trace(tls *libc.TLS, db uintptr, xTrace uintptr, pArg uintptr) uintptr { /* sqlite3.c:170607:17: */ var pOld uintptr Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) @@ -150520,7 +150551,7 @@ func Xsqlite3_trace(tls *libc.TLS, db uintptr, xTrace uintptr, pArg uintptr) uin } // Register a trace callback using the version-2 interface. -func Xsqlite3_trace_v2(tls *libc.TLS, db uintptr, mTrace uint32, xTrace uintptr, pArg uintptr) int32 { /* sqlite3.c:170571:16: */ +func Xsqlite3_trace_v2(tls *libc.TLS, db uintptr, mTrace uint32, xTrace uintptr, pArg uintptr) int32 { /* sqlite3.c:170628:16: */ Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) if mTrace == uint32(0) { xTrace = uintptr(0) @@ -150541,7 +150572,7 @@ func Xsqlite3_trace_v2(tls *libc.TLS, db uintptr, mTrace uint32, xTrace uintptr, // A NULL profile function means that no profiling is executes. A non-NULL // 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) uintptr { /* sqlite3.c:170601:17: */ +func Xsqlite3_profile(tls *libc.TLS, db uintptr, xProfile uintptr, pArg uintptr) uintptr { /* sqlite3.c:170658:17: */ var pOld uintptr Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) @@ -150559,7 +150590,7 @@ func Xsqlite3_profile(tls *libc.TLS, db uintptr, xProfile uintptr, pArg uintptr) // Register a function to be invoked when a transaction commits. // 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) uintptr { /* sqlite3.c:170631:17: */ +func Xsqlite3_commit_hook(tls *libc.TLS, db uintptr, xCallback uintptr, pArg uintptr) uintptr { /* sqlite3.c:170688:17: */ var pOld uintptr Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) @@ -150572,7 +150603,7 @@ func Xsqlite3_commit_hook(tls *libc.TLS, db uintptr, xCallback uintptr, pArg uin // 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) uintptr { /* sqlite3.c:170656:17: */ +func Xsqlite3_update_hook(tls *libc.TLS, db uintptr, xCallback uintptr, pArg uintptr) uintptr { /* sqlite3.c:170713:17: */ var pRet uintptr Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) @@ -150585,7 +150616,7 @@ func Xsqlite3_update_hook(tls *libc.TLS, db uintptr, xCallback uintptr, pArg uin // 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) uintptr { /* sqlite3.c:170681:17: */ +func Xsqlite3_rollback_hook(tls *libc.TLS, db uintptr, xCallback uintptr, pArg uintptr) uintptr { /* sqlite3.c:170738:17: */ var pRet uintptr Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) @@ -150598,7 +150629,7 @@ func Xsqlite3_rollback_hook(tls *libc.TLS, db uintptr, xCallback uintptr, pArg u // 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) uintptr { /* sqlite3.c:170707:17: */ +func Xsqlite3_preupdate_hook(tls *libc.TLS, db uintptr, xCallback uintptr, pArg uintptr) uintptr { /* sqlite3.c:170764:17: */ var pRet uintptr Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) pRet = (*Sqlite3)(unsafe.Pointer(db)).FpPreUpdateArg @@ -150610,7 +150641,7 @@ func Xsqlite3_preupdate_hook(tls *libc.TLS, db uintptr, xCallback uintptr, pArg // 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) int32 { /* sqlite3.c:170727:16: */ +func Xsqlite3_autovacuum_pages(tls *libc.TLS, db uintptr, xCallback uintptr, pArg uintptr, xDestructor uintptr) int32 { /* sqlite3.c:170784:16: */ Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) if (*Sqlite3)(unsafe.Pointer(db)).FxAutovacDestr != 0 { (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3)(unsafe.Pointer(db)).FxAutovacDestr})).f(tls, (*Sqlite3)(unsafe.Pointer(db)).FpAutovacPagesArg) @@ -150626,7 +150657,7 @@ func Xsqlite3_autovacuum_pages(tls *libc.TLS, db uintptr, xCallback uintptr, pAr // Invoke sqlite3_wal_checkpoint if the number of frames in the log file // is greater than sqlite3.pWalArg cast to an integer (the value configured by // wal_autocheckpoint()). -func Xsqlite3WalDefaultHook(tls *libc.TLS, pClientData uintptr, db uintptr, zDb uintptr, nFrame int32) int32 { /* sqlite3.c:170758:20: */ +func Xsqlite3WalDefaultHook(tls *libc.TLS, pClientData uintptr, db uintptr, zDb uintptr, nFrame int32) int32 { /* sqlite3.c:170815:20: */ if nFrame >= int32(pClientData) { Xsqlite3BeginBenignMalloc(tls) Xsqlite3_wal_checkpoint(tls, db, zDb) @@ -150644,7 +150675,7 @@ func Xsqlite3WalDefaultHook(tls *libc.TLS, pClientData uintptr, db uintptr, zDb // registered using sqlite3_wal_hook(). Likewise, registering a callback // using sqlite3_wal_hook() disables the automatic checkpoint mechanism // configured by this function. -func Xsqlite3_wal_autocheckpoint(tls *libc.TLS, db uintptr, nFrame int32) int32 { /* sqlite3.c:170784:16: */ +func Xsqlite3_wal_autocheckpoint(tls *libc.TLS, db uintptr, nFrame int32) int32 { /* sqlite3.c:170841:16: */ if nFrame > 0 { Xsqlite3_wal_hook(tls, db, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, uintptr, int32) int32 @@ -150657,7 +150688,7 @@ func Xsqlite3_wal_autocheckpoint(tls *libc.TLS, db uintptr, nFrame int32) int32 // 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) uintptr { /* sqlite3.c:170805:17: */ +func Xsqlite3_wal_hook(tls *libc.TLS, db uintptr, xCallback uintptr, pArg uintptr) uintptr { /* sqlite3.c:170862:17: */ var pRet uintptr Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) pRet = (*Sqlite3)(unsafe.Pointer(db)).FpWalArg @@ -150668,7 +150699,7 @@ func Xsqlite3_wal_hook(tls *libc.TLS, db uintptr, xCallback uintptr, pArg uintpt } // Checkpoint database zDb. -func Xsqlite3_wal_checkpoint_v2(tls *libc.TLS, db uintptr, zDb uintptr, eMode int32, pnLog uintptr, pnCkpt uintptr) int32 { /* sqlite3.c:170832:16: */ +func Xsqlite3_wal_checkpoint_v2(tls *libc.TLS, db uintptr, zDb uintptr, eMode int32, pnLog uintptr, pnCkpt uintptr) int32 { /* sqlite3.c:170889:16: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -150718,7 +150749,7 @@ func Xsqlite3_wal_checkpoint_v2(tls *libc.TLS, db uintptr, zDb uintptr, eMode in // Checkpoint database zDb. If zDb is NULL, or if the buffer zDb points // to contains a zero-length string, all attached databases are // checkpointed. -func Xsqlite3_wal_checkpoint(tls *libc.TLS, db uintptr, zDb uintptr) int32 { /* sqlite3.c:170896:16: */ +func Xsqlite3_wal_checkpoint(tls *libc.TLS, db uintptr, zDb uintptr) int32 { /* sqlite3.c:170953:16: */ // EVIDENCE-OF: R-41613-20553 The sqlite3_wal_checkpoint(D,X) is equivalent to // sqlite3_wal_checkpoint_v2(D,X,SQLITE_CHECKPOINT_PASSIVE,0,0). return Xsqlite3_wal_checkpoint_v2(tls, db, zDb, SQLITE_CHECKPOINT_PASSIVE, uintptr(0), uintptr(0)) @@ -150742,7 +150773,7 @@ func Xsqlite3_wal_checkpoint(tls *libc.TLS, db uintptr, zDb uintptr) int32 { /* // // Parameter eMode is one of SQLITE_CHECKPOINT_PASSIVE, FULL, RESTART // or TRUNCATE. -func Xsqlite3Checkpoint(tls *libc.TLS, db uintptr, iDb int32, eMode int32, pnLog uintptr, pnCkpt uintptr) int32 { /* sqlite3.c:170923:20: */ +func Xsqlite3Checkpoint(tls *libc.TLS, db uintptr, iDb int32, eMode int32, pnLog uintptr, pnCkpt uintptr) int32 { /* sqlite3.c:170980:20: */ var rc int32 = SQLITE_OK // Return code var i int32 // Used to iterate through attached dbs var bBusy int32 = 0 // True if SQLITE_BUSY has been encountered @@ -150784,19 +150815,19 @@ func Xsqlite3Checkpoint(tls *libc.TLS, db uintptr, iDb int32, eMode int32, pnLog // 2 2 memory (return 1) // 2 0 memory (return 1) // 3 any memory (return 1) -func Xsqlite3TempInMemory(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:170969:20: */ +func Xsqlite3TempInMemory(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:171026:20: */ return libc.Bool32(int32((*Sqlite3)(unsafe.Pointer(db)).Ftemp_store) == 2) } // Return UTF-8 encoded English language explanation of the most recent // error. -func Xsqlite3_errmsg(tls *libc.TLS, db uintptr) uintptr { /* sqlite3.c:170990:23: */ +func Xsqlite3_errmsg(tls *libc.TLS, db uintptr) uintptr { /* sqlite3.c:171047:23: */ var z uintptr if !(db != 0) { return Xsqlite3ErrStr(tls, SQLITE_NOMEM) } if !(Xsqlite3SafetyCheckSickOrOk(tls, db) != 0) { - return Xsqlite3ErrStr(tls, Xsqlite3MisuseError(tls, 170996)) + return Xsqlite3ErrStr(tls, Xsqlite3MisuseError(tls, 171053)) } Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) if (*Sqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 { @@ -150818,7 +150849,7 @@ func Xsqlite3_errmsg(tls *libc.TLS, db uintptr) uintptr { /* sqlite3.c:170990:23 } // Return the byte offset of the most recent error -func Xsqlite3_error_offset(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:171016:16: */ +func Xsqlite3_error_offset(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:171073:16: */ var iOffset int32 = -1 if db != 0 && Xsqlite3SafetyCheckSickOrOk(tls, db) != 0 && (*Sqlite3)(unsafe.Pointer(db)).FerrCode != 0 { Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) @@ -150830,7 +150861,7 @@ func Xsqlite3_error_offset(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:17101 // Return UTF-16 encoded English language explanation of the most recent // error. -func Xsqlite3_errmsg16(tls *libc.TLS, db uintptr) uintptr { /* sqlite3.c:171031:23: */ +func Xsqlite3_errmsg16(tls *libc.TLS, db uintptr) uintptr { /* sqlite3.c:171088:23: */ var z uintptr if !(db != 0) { return uintptr(uintptr(unsafe.Pointer(&outOfMem))) @@ -150859,18 +150890,18 @@ func Xsqlite3_errmsg16(tls *libc.TLS, db uintptr) uintptr { /* sqlite3.c:171031: var outOfMem = [14]U16{ U16('o'), U16('u'), U16('t'), U16(' '), U16('o'), U16('f'), U16(' '), U16('m'), U16('e'), U16('m'), U16('o'), U16('r'), U16('y'), U16(0), -} /* sqlite3.c:171032:20 */ +} /* sqlite3.c:171089:20 */ var misuse = [34]U16{ U16('b'), U16('a'), U16('d'), U16(' '), U16('p'), U16('a'), U16('r'), U16('a'), U16('m'), U16('e'), U16('t'), U16('e'), U16('r'), U16(' '), U16('o'), U16('r'), U16(' '), U16('o'), U16('t'), U16('h'), U16('e'), U16('r'), U16(' '), U16('A'), U16('P'), U16('I'), U16(' '), U16('m'), U16('i'), U16('s'), U16('u'), U16('s'), U16('e'), U16(0), -} /* sqlite3.c:171035:20 */ +} /* sqlite3.c:171092:20 */ // Return the most recent error code generated by an SQLite routine. If NULL is // passed to this function, we assume a malloc() failed during sqlite3_open(). -func Xsqlite3_errcode(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:171073:16: */ +func Xsqlite3_errcode(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:171130:16: */ if db != 0 && !(Xsqlite3SafetyCheckSickOrOk(tls, db) != 0) { - return Xsqlite3MisuseError(tls, 171075) + return Xsqlite3MisuseError(tls, 171132) } if !(db != 0) || (*Sqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 { return SQLITE_NOMEM @@ -150878,9 +150909,9 @@ func Xsqlite3_errcode(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:171073:16: return (*Sqlite3)(unsafe.Pointer(db)).FerrCode & (*Sqlite3)(unsafe.Pointer(db)).FerrMask } -func Xsqlite3_extended_errcode(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:171082:16: */ +func Xsqlite3_extended_errcode(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:171139:16: */ if db != 0 && !(Xsqlite3SafetyCheckSickOrOk(tls, db) != 0) { - return Xsqlite3MisuseError(tls, 171084) + return Xsqlite3MisuseError(tls, 171141) } if !(db != 0) || (*Sqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 { return SQLITE_NOMEM @@ -150888,7 +150919,7 @@ func Xsqlite3_extended_errcode(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:1 return (*Sqlite3)(unsafe.Pointer(db)).FerrCode } -func Xsqlite3_system_errno(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:171091:16: */ +func Xsqlite3_system_errno(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:171148:16: */ if db != 0 { return (*Sqlite3)(unsafe.Pointer(db)).FiSysErrno } @@ -150898,13 +150929,13 @@ func Xsqlite3_system_errno(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:17109 // Return a string that describes the kind of error specified in the // argument. For now, this simply calls the internal sqlite3ErrStr() // function. -func Xsqlite3_errstr(tls *libc.TLS, rc int32) uintptr { /* sqlite3.c:171100:23: */ +func Xsqlite3_errstr(tls *libc.TLS, rc int32) uintptr { /* sqlite3.c:171157:23: */ return Xsqlite3ErrStr(tls, rc) } // 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 U8, pCtx uintptr, xCompare uintptr, xDel uintptr) int32 { /* sqlite3.c:171108:12: */ +func createCollation(tls *libc.TLS, db uintptr, zName uintptr, enc U8, pCtx uintptr, xCompare uintptr, xDel uintptr) int32 { /* sqlite3.c:171165:12: */ var pColl uintptr var enc2 int32 @@ -150922,7 +150953,7 @@ func createCollation(tls *libc.TLS, db uintptr, zName uintptr, enc U8, pCtx uint }() } if enc2 < SQLITE_UTF8 || enc2 > SQLITE_UTF16BE { - return Xsqlite3MisuseError(tls, 171132) + return Xsqlite3MisuseError(tls, 171189) } // Check if this call is removing or replacing an existing collation @@ -150985,7 +151016,7 @@ var aHardLimit = [12]int32{ SQLITE_MAX_VARIABLE_NUMBER, // IMP: R-38091-32352 SQLITE_MAX_TRIGGER_DEPTH, SQLITE_MAX_WORKER_THREADS, -} /* sqlite3.c:171185:18 */ +} /* sqlite3.c:171242:18 */ // Make sure the hard limits are set to reasonable values @@ -150997,7 +151028,7 @@ var aHardLimit = [12]int32{ // A new lower limit does not shrink existing constructs. // It merely prevents new constructs that exceed the limit // from forming. -func Xsqlite3_limit(tls *libc.TLS, db uintptr, limitId int32, newLimit int32) int32 { /* sqlite3.c:171248:16: */ +func Xsqlite3_limit(tls *libc.TLS, db uintptr, limitId int32, newLimit int32) int32 { /* sqlite3.c:171305:16: */ var oldLimit int32 // EVIDENCE-OF: R-30189-54097 For each limit category SQLITE_LIMIT_NAME @@ -151044,7 +151075,7 @@ func Xsqlite3_limit(tls *libc.TLS, db uintptr, limitId int32, newLimit int32) in // may be set to point to a buffer containing an English language error // message. It is the responsibility of the caller to eventually release // this buffer by calling sqlite3_free(). -func Xsqlite3ParseUri(tls *libc.TLS, zDefaultVfs uintptr, zUri uintptr, pFlags uintptr, ppVfs uintptr, pzFile uintptr, pzErrMsg uintptr) int32 { /* sqlite3.c:171320:20: */ +func Xsqlite3ParseUri(tls *libc.TLS, zDefaultVfs uintptr, zUri uintptr, pFlags uintptr, ppVfs uintptr, pzFile uintptr, pzErrMsg uintptr) int32 { /* sqlite3.c:171377:20: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -151382,24 +151413,24 @@ type OpenMode = struct { Fz uintptr Fmode int32 F__ccgo_pad1 [4]byte -} /* sqlite3.c:171462:9 */ +} /* sqlite3.c:171519:9 */ var aCacheMode = [3]OpenMode{ {Fz: ts + 24138, Fmode: SQLITE_OPEN_SHAREDCACHE}, {Fz: ts + 24145, Fmode: SQLITE_OPEN_PRIVATECACHE}, {}, -} /* sqlite3.c:171471:34 */ +} /* sqlite3.c:171528:34 */ var aOpenMode = [5]OpenMode{ {Fz: ts + 24153, Fmode: SQLITE_OPEN_READONLY}, {Fz: ts + 24156, Fmode: SQLITE_OPEN_READWRITE}, {Fz: ts + 24159, Fmode: SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE}, {Fz: ts + 17260, Fmode: SQLITE_OPEN_MEMORY}, {}, -} /* sqlite3.c:171483:34 */ +} /* sqlite3.c:171540:34 */ // This routine does the core work of extracting URI parameters from a // database filename for the sqlite3_uri_parameter() interface. -func uriParameter(tls *libc.TLS, zFilename uintptr, zParam uintptr) uintptr { /* sqlite3.c:171557:19: */ +func uriParameter(tls *libc.TLS, zFilename uintptr, zParam uintptr) uintptr { /* sqlite3.c:171614:19: */ zFilename += uintptr(Xsqlite3Strlen30(tls, zFilename) + 1) for zFilename != uintptr(0) && *(*uint8)(unsafe.Pointer(zFilename)) != 0 { var x int32 = libc.Xstrcmp(tls, zFilename, zParam) @@ -151415,7 +151446,7 @@ func uriParameter(tls *libc.TLS, zFilename uintptr, zParam uintptr) uintptr { /* // This routine does the work of opening a database on behalf of // sqlite3_open() and sqlite3_open16(). The database filename "zFilename" // is UTF-8 encoded. -func openDatabase(tls *libc.TLS, zFilename uintptr, ppDb uintptr, flags uint32, zVfs uintptr) int32 { /* sqlite3.c:171575:12: */ +func openDatabase(tls *libc.TLS, zFilename uintptr, ppDb uintptr, flags uint32, zVfs uintptr) int32 { /* sqlite3.c:171632:12: */ bp := tls.Alloc(32) defer tls.Free(32) *(*uint32)(unsafe.Pointer(bp + 8)) = flags @@ -151599,7 +151630,7 @@ __15: if !(int32(1)<<(*(*uint32)(unsafe.Pointer(bp + 8))&uint32(7))&0x46 == 0) { goto __16 } - rc = Xsqlite3MisuseError(tls, 171788) // IMP: R-18321-05872 + rc = Xsqlite3MisuseError(tls, 171845) // IMP: R-18321-05872 goto __17 __16: rc = Xsqlite3ParseUri(tls, zVfs, zFilename, bp+8, db, bp+16, bp+24) @@ -151755,17 +151786,17 @@ __32: } // Open a new database handle. -func Xsqlite3_open(tls *libc.TLS, zFilename uintptr, ppDb uintptr) int32 { /* sqlite3.c:171910:16: */ +func Xsqlite3_open(tls *libc.TLS, zFilename uintptr, ppDb uintptr) int32 { /* sqlite3.c:171967:16: */ return openDatabase(tls, zFilename, ppDb, uint32(SQLITE_OPEN_READWRITE|SQLITE_OPEN_CREATE), uintptr(0)) } -func Xsqlite3_open_v2(tls *libc.TLS, filename uintptr, ppDb uintptr, flags int32, zVfs uintptr) int32 { /* sqlite3.c:171917:16: */ +func Xsqlite3_open_v2(tls *libc.TLS, filename uintptr, ppDb uintptr, flags int32, zVfs uintptr) int32 { /* sqlite3.c:171974:16: */ return openDatabase(tls, filename, ppDb, uint32(flags), zVfs) } // Open a new database handle. -func Xsqlite3_open16(tls *libc.TLS, zFilename uintptr, ppDb uintptr) int32 { /* sqlite3.c:171930:16: */ +func Xsqlite3_open16(tls *libc.TLS, zFilename uintptr, ppDb uintptr) int32 { /* sqlite3.c:171987:16: */ var zFilename8 uintptr // zFilename encoded in UTF-8 instead of UTF-16 var pVal uintptr var rc int32 @@ -151807,12 +151838,12 @@ func Xsqlite3_open16(tls *libc.TLS, zFilename uintptr, ppDb uintptr) int32 { /* } // 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) int32 { /* sqlite3.c:171969:16: */ +func Xsqlite3_create_collation(tls *libc.TLS, db uintptr, zName uintptr, enc int32, pCtx uintptr, xCompare uintptr) int32 { /* sqlite3.c:172026:16: */ return Xsqlite3_create_collation_v2(tls, db, zName, enc, pCtx, xCompare, uintptr(0)) } // 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) int32 { /* sqlite3.c:171982:16: */ +func Xsqlite3_create_collation_v2(tls *libc.TLS, db uintptr, zName uintptr, enc int32, pCtx uintptr, xCompare uintptr, xDel uintptr) int32 { /* sqlite3.c:172039:16: */ var rc int32 Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) @@ -151824,7 +151855,7 @@ func Xsqlite3_create_collation_v2(tls *libc.TLS, db uintptr, zName uintptr, enc } // 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) int32 { /* sqlite3.c:172007:16: */ +func Xsqlite3_create_collation16(tls *libc.TLS, db uintptr, zName uintptr, enc int32, pCtx uintptr, xCompare uintptr) int32 { /* sqlite3.c:172064:16: */ var rc int32 = SQLITE_OK var zName8 uintptr @@ -151847,7 +151878,7 @@ func Xsqlite3_create_collation16(tls *libc.TLS, db uintptr, zName uintptr, enc i // 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) int32 { /* sqlite3.c:172037:16: */ +func Xsqlite3_collation_needed(tls *libc.TLS, db uintptr, pCollNeededArg uintptr, xCollNeeded uintptr) int32 { /* sqlite3.c:172094:16: */ Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) (*Sqlite3)(unsafe.Pointer(db)).FxCollNeeded = xCollNeeded (*Sqlite3)(unsafe.Pointer(db)).FxCollNeeded16 = uintptr(0) @@ -151858,7 +151889,7 @@ func Xsqlite3_collation_needed(tls *libc.TLS, db uintptr, pCollNeededArg uintptr // 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) int32 { /* sqlite3.c:172058:16: */ +func Xsqlite3_collation_needed16(tls *libc.TLS, db uintptr, pCollNeededArg uintptr, xCollNeeded16 uintptr) int32 { /* sqlite3.c:172115:16: */ Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) (*Sqlite3)(unsafe.Pointer(db)).FxCollNeeded = uintptr(0) (*Sqlite3)(unsafe.Pointer(db)).FxCollNeeded16 = xCollNeeded16 @@ -151869,7 +151900,7 @@ func Xsqlite3_collation_needed16(tls *libc.TLS, db uintptr, pCollNeededArg uintp // This function is now an anachronism. It used to be used to recover from a // malloc() failure, but SQLite now does this automatically. -func Xsqlite3_global_recover(tls *libc.TLS) int32 { /* sqlite3.c:172080:16: */ +func Xsqlite3_global_recover(tls *libc.TLS) int32 { /* sqlite3.c:172137:16: */ return SQLITE_OK } @@ -151877,7 +151908,7 @@ func Xsqlite3_global_recover(tls *libc.TLS) int32 { /* sqlite3.c:172080:16: */ // mode. Return TRUE if it is and FALSE if not. Autocommit mode is on // by default. Autocommit is disabled by a BEGIN statement and reenabled // by the next COMMIT or ROLLBACK. -func Xsqlite3_get_autocommit(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:172091:16: */ +func Xsqlite3_get_autocommit(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:172148:16: */ return int32((*Sqlite3)(unsafe.Pointer(db)).FautoCommit) } @@ -151890,7 +151921,7 @@ func Xsqlite3_get_autocommit(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:172 // // 2. Invoke sqlite3_log() to provide the source code location where // a low-level error is first detected. -func Xsqlite3ReportError(tls *libc.TLS, iErr int32, lineno int32, zType uintptr) int32 { /* sqlite3.c:172112:20: */ +func Xsqlite3ReportError(tls *libc.TLS, iErr int32, lineno int32, zType uintptr) int32 { /* sqlite3.c:172169:20: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -151899,17 +151930,17 @@ func Xsqlite3ReportError(tls *libc.TLS, iErr int32, lineno int32, zType uintptr) return iErr } -func Xsqlite3CorruptError(tls *libc.TLS, lineno int32) int32 { /* sqlite3.c:172117:20: */ +func Xsqlite3CorruptError(tls *libc.TLS, lineno int32) int32 { /* sqlite3.c:172174:20: */ return Xsqlite3ReportError(tls, SQLITE_CORRUPT, lineno, ts+24197) } -func Xsqlite3MisuseError(tls *libc.TLS, lineno int32) int32 { /* sqlite3.c:172121:20: */ +func Xsqlite3MisuseError(tls *libc.TLS, lineno int32) int32 { /* sqlite3.c:172178:20: */ return Xsqlite3ReportError(tls, SQLITE_MISUSE, lineno, ts+24217) } -func Xsqlite3CantopenError(tls *libc.TLS, lineno int32) int32 { /* sqlite3.c:172125:20: */ +func Xsqlite3CantopenError(tls *libc.TLS, lineno int32) int32 { /* sqlite3.c:172182:20: */ return Xsqlite3ReportError(tls, SQLITE_CANTOPEN, lineno, ts+24224) } @@ -151919,12 +151950,12 @@ func Xsqlite3CantopenError(tls *libc.TLS, lineno int32) int32 { /* sqlite3.c:172 // // SQLite no longer uses thread-specific data so this routine is now a // no-op. It is retained for historical compatibility. -func Xsqlite3_thread_cleanup(tls *libc.TLS) { /* sqlite3.c:172156:17: */ +func Xsqlite3_thread_cleanup(tls *libc.TLS) { /* sqlite3.c:172213:17: */ } // Return meta information about a specific column of a database table. // See comment in sqlite3.h (sqlite.h.in) for details. -func Xsqlite3_table_column_metadata(tls *libc.TLS, db uintptr, zDbName uintptr, zTableName uintptr, zColumnName uintptr, pzDataType uintptr, pzCollSeq uintptr, pNotNull uintptr, pPrimaryKey uintptr, pAutoinc uintptr) int32 { /* sqlite3.c:172164:16: */ +func Xsqlite3_table_column_metadata(tls *libc.TLS, db uintptr, zDbName uintptr, zTableName uintptr, zColumnName uintptr, pzDataType uintptr, pzCollSeq uintptr, pNotNull uintptr, pPrimaryKey uintptr, pAutoinc uintptr) int32 { /* sqlite3.c:172221:16: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -152108,7 +152139,7 @@ __20: } // Sleep for a little while. Return the amount of time slept. -func Xsqlite3_sleep(tls *libc.TLS, ms int32) int32 { /* sqlite3.c:172282:16: */ +func Xsqlite3_sleep(tls *libc.TLS, ms int32) int32 { /* sqlite3.c:172339:16: */ var pVfs uintptr var rc int32 pVfs = Xsqlite3_vfs_find(tls, uintptr(0)) @@ -152123,7 +152154,7 @@ func Xsqlite3_sleep(tls *libc.TLS, ms int32) int32 { /* sqlite3.c:172282:16: */ } // Enable or disable the extended result codes. -func Xsqlite3_extended_result_codes(tls *libc.TLS, db uintptr, onoff int32) int32 { /* sqlite3.c:172298:16: */ +func Xsqlite3_extended_result_codes(tls *libc.TLS, db uintptr, onoff int32) int32 { /* sqlite3.c:172355:16: */ Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) (*Sqlite3)(unsafe.Pointer(db)).FerrMask = func() int32 { if onoff != 0 { @@ -152136,7 +152167,7 @@ func Xsqlite3_extended_result_codes(tls *libc.TLS, db uintptr, onoff int32) int3 } // Invoke the xFileControl method on a particular database. -func Xsqlite3_file_control(tls *libc.TLS, db uintptr, zDbName uintptr, op int32, pArg uintptr) int32 { /* sqlite3.c:172311:16: */ +func Xsqlite3_file_control(tls *libc.TLS, db uintptr, zDbName uintptr, op int32, pArg uintptr) int32 { /* sqlite3.c:172368:16: */ var rc int32 = SQLITE_ERROR var pBtree uintptr @@ -152181,7 +152212,7 @@ func Xsqlite3_file_control(tls *libc.TLS, db uintptr, zDbName uintptr, op int32, } // Interface to the testing logic. -func Xsqlite3_test_control(tls *libc.TLS, op int32, va uintptr) int32 { /* sqlite3.c:172361:16: */ +func Xsqlite3_test_control(tls *libc.TLS, op int32, va uintptr) int32 { /* sqlite3.c:172418:16: */ var rc int32 = 0 var ap Va_list _ = ap @@ -152640,7 +152671,7 @@ func Xsqlite3_test_control(tls *libc.TLS, op int32, va uintptr) int32 { /* sqlit // backwards for the first byte following four consecutive zero bytes. // // This only works if the filename passed in was obtained from the Pager. -func databaseName(tls *libc.TLS, zName uintptr) uintptr { /* sqlite3.c:172857:19: */ +func databaseName(tls *libc.TLS, zName uintptr) uintptr { /* sqlite3.c:172914:19: */ for int32(*(*uint8)(unsafe.Pointer(zName + libc.UintptrFromInt32(-1)))) != 0 || int32(*(*uint8)(unsafe.Pointer(zName + libc.UintptrFromInt32(-2)))) != 0 || int32(*(*uint8)(unsafe.Pointer(zName + libc.UintptrFromInt32(-3)))) != 0 || int32(*(*uint8)(unsafe.Pointer(zName + libc.UintptrFromInt32(-4)))) != 0 { zName-- } @@ -152649,7 +152680,7 @@ func databaseName(tls *libc.TLS, zName uintptr) uintptr { /* sqlite3.c:172857:19 // Append text z[] to the end of p[]. Return a pointer to the first // character after then zero terminator on the new text in p[]. -func appendText(tls *libc.TLS, p uintptr, z uintptr) uintptr { /* sqlite3.c:172868:13: */ +func appendText(tls *libc.TLS, p uintptr, z uintptr) uintptr { /* sqlite3.c:172925:13: */ var n Size_t = libc.Xstrlen(tls, z) libc.Xmemcpy(tls, p, z, n+uint64(1)) return p + uintptr(n) + uintptr(1) @@ -152662,7 +152693,7 @@ func appendText(tls *libc.TLS, p uintptr, z uintptr) uintptr { /* sqlite3.c:1728 // // Memory layout must be compatible with that generated by the pager // and expected by sqlite3_uri_parameter() and databaseName(). -func Xsqlite3_create_filename(tls *libc.TLS, zDatabase uintptr, zJournal uintptr, zWal uintptr, nParam int32, azParam uintptr) uintptr { /* sqlite3.c:172883:17: */ +func Xsqlite3_create_filename(tls *libc.TLS, zDatabase uintptr, zJournal uintptr, zWal uintptr, nParam int32, azParam uintptr) uintptr { /* sqlite3.c:172940:17: */ var nByte Sqlite3_int64 var i int32 var pResult uintptr @@ -152693,7 +152724,7 @@ func Xsqlite3_create_filename(tls *libc.TLS, zDatabase uintptr, zJournal uintptr // Free memory obtained from sqlite3_create_filename(). It is a severe // error to call this routine with any parameter other than a pointer // previously obtained from sqlite3_create_filename() or a NULL pointer. -func Xsqlite3_free_filename(tls *libc.TLS, p uintptr) { /* sqlite3.c:172919:17: */ +func Xsqlite3_free_filename(tls *libc.TLS, p uintptr) { /* sqlite3.c:172976:17: */ if p == uintptr(0) { return } @@ -152710,7 +152741,7 @@ func Xsqlite3_free_filename(tls *libc.TLS, p uintptr) { /* sqlite3.c:172919:17: // query parameter we seek. This routine returns the value of the zParam // parameter if it exists. If the parameter does not exist, this routine // returns a NULL pointer. -func Xsqlite3_uri_parameter(tls *libc.TLS, zFilename uintptr, zParam uintptr) uintptr { /* sqlite3.c:172937:23: */ +func Xsqlite3_uri_parameter(tls *libc.TLS, zFilename uintptr, zParam uintptr) uintptr { /* sqlite3.c:172994:23: */ if zFilename == uintptr(0) || zParam == uintptr(0) { return uintptr(0) } @@ -152719,7 +152750,7 @@ func Xsqlite3_uri_parameter(tls *libc.TLS, zFilename uintptr, zParam uintptr) ui } // Return a pointer to the name of Nth query parameter of the filename. -func Xsqlite3_uri_key(tls *libc.TLS, zFilename uintptr, N int32) uintptr { /* sqlite3.c:172946:23: */ +func Xsqlite3_uri_key(tls *libc.TLS, zFilename uintptr, N int32) uintptr { /* sqlite3.c:173003:23: */ if zFilename == uintptr(0) || N < 0 { return uintptr(0) } @@ -152736,7 +152767,7 @@ func Xsqlite3_uri_key(tls *libc.TLS, zFilename uintptr, N int32) uintptr { /* sq } // Return a boolean value for a query parameter. -func Xsqlite3_uri_boolean(tls *libc.TLS, zFilename uintptr, zParam uintptr, bDflt int32) int32 { /* sqlite3.c:172960:16: */ +func Xsqlite3_uri_boolean(tls *libc.TLS, zFilename uintptr, zParam uintptr, bDflt int32) int32 { /* sqlite3.c:173017:16: */ var z uintptr = Xsqlite3_uri_parameter(tls, zFilename, zParam) bDflt = libc.Bool32(bDflt != 0) if z != 0 { @@ -152746,7 +152777,7 @@ func Xsqlite3_uri_boolean(tls *libc.TLS, zFilename uintptr, zParam uintptr, bDfl } // Return a 64-bit integer value for a query parameter. -func Xsqlite3_uri_int64(tls *libc.TLS, zFilename uintptr, zParam uintptr, bDflt Sqlite3_int64) Sqlite3_int64 { /* sqlite3.c:172969:26: */ +func Xsqlite3_uri_int64(tls *libc.TLS, zFilename uintptr, zParam uintptr, bDflt Sqlite3_int64) Sqlite3_int64 { /* sqlite3.c:173026:26: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -152767,14 +152798,14 @@ func Xsqlite3_uri_int64(tls *libc.TLS, zFilename uintptr, zParam uintptr, bDflt // passing free() a pointer that was not obtained from malloc() - it is // an error that we cannot easily detect but that will likely cause memory // corruption. -func Xsqlite3_filename_database(tls *libc.TLS, zFilename uintptr) uintptr { /* sqlite3.c:172992:23: */ +func Xsqlite3_filename_database(tls *libc.TLS, zFilename uintptr) uintptr { /* sqlite3.c:173049:23: */ if zFilename == uintptr(0) { return uintptr(0) } return databaseName(tls, zFilename) } -func Xsqlite3_filename_journal(tls *libc.TLS, zFilename uintptr) uintptr { /* sqlite3.c:172996:23: */ +func Xsqlite3_filename_journal(tls *libc.TLS, zFilename uintptr) uintptr { /* sqlite3.c:173053:23: */ if zFilename == uintptr(0) { return uintptr(0) } @@ -152787,7 +152818,7 @@ func Xsqlite3_filename_journal(tls *libc.TLS, zFilename uintptr) uintptr { /* sq return zFilename + uintptr(1) } -func Xsqlite3_filename_wal(tls *libc.TLS, zFilename uintptr) uintptr { /* sqlite3.c:173006:23: */ +func Xsqlite3_filename_wal(tls *libc.TLS, zFilename uintptr) uintptr { /* sqlite3.c:173063:23: */ zFilename = Xsqlite3_filename_journal(tls, zFilename) if zFilename != 0 { zFilename += uintptr(Xsqlite3Strlen30(tls, zFilename) + 1) @@ -152796,7 +152827,7 @@ func Xsqlite3_filename_wal(tls *libc.TLS, zFilename uintptr) uintptr { /* sqlite } // Return the Btree pointer identified by zDbName. Return NULL if not found. -func Xsqlite3DbNameToBtree(tls *libc.TLS, db uintptr, zDbName uintptr) uintptr { /* sqlite3.c:173019:22: */ +func Xsqlite3DbNameToBtree(tls *libc.TLS, db uintptr, zDbName uintptr) uintptr { /* sqlite3.c:173076:22: */ var iDb int32 if zDbName != 0 { iDb = Xsqlite3FindDbName(tls, db, zDbName) @@ -152811,7 +152842,7 @@ func Xsqlite3DbNameToBtree(tls *libc.TLS, db uintptr, zDbName uintptr) uintptr { // Return the filename of the database associated with a database // connection. -func Xsqlite3_db_filename(tls *libc.TLS, db uintptr, zDbName uintptr) uintptr { /* sqlite3.c:173028:23: */ +func Xsqlite3_db_filename(tls *libc.TLS, db uintptr, zDbName uintptr) uintptr { /* sqlite3.c:173085:23: */ var pBt uintptr pBt = Xsqlite3DbNameToBtree(tls, db, zDbName) if pBt != 0 { @@ -152822,7 +152853,7 @@ func Xsqlite3_db_filename(tls *libc.TLS, db uintptr, zDbName uintptr) uintptr { // Return 1 if database is read-only or 0 if read/write. Return -1 if // no such database exists. -func Xsqlite3_db_readonly(tls *libc.TLS, db uintptr, zDbName uintptr) int32 { /* sqlite3.c:173044:16: */ +func Xsqlite3_db_readonly(tls *libc.TLS, db uintptr, zDbName uintptr) int32 { /* sqlite3.c:173101:16: */ var pBt uintptr pBt = Xsqlite3DbNameToBtree(tls, db, zDbName) if pBt != 0 { @@ -152833,7 +152864,7 @@ func Xsqlite3_db_readonly(tls *libc.TLS, db uintptr, zDbName uintptr) int32 { /* // Obtain a snapshot handle for the snapshot of database zDb currently // being read by handle db. -func Xsqlite3_snapshot_get(tls *libc.TLS, db uintptr, zDb uintptr, ppSnapshot uintptr) int32 { /* sqlite3.c:173061:16: */ +func Xsqlite3_snapshot_get(tls *libc.TLS, db uintptr, zDb uintptr, ppSnapshot uintptr) int32 { /* sqlite3.c:173118:16: */ var rc int32 = SQLITE_ERROR Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) @@ -152856,7 +152887,7 @@ func Xsqlite3_snapshot_get(tls *libc.TLS, db uintptr, zDb uintptr, ppSnapshot ui } // Open a read-transaction on the snapshot idendified by pSnapshot. -func Xsqlite3_snapshot_open(tls *libc.TLS, db uintptr, zDb uintptr, pSnapshot uintptr) int32 { /* sqlite3.c:173097:16: */ +func Xsqlite3_snapshot_open(tls *libc.TLS, db uintptr, zDb uintptr, pSnapshot uintptr) int32 { /* sqlite3.c:173154:16: */ var rc int32 = SQLITE_ERROR Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) @@ -152899,7 +152930,7 @@ func Xsqlite3_snapshot_open(tls *libc.TLS, db uintptr, zDb uintptr, pSnapshot ui // Recover as many snapshots as possible from the wal file associated with // schema zDb of database db. -func Xsqlite3_snapshot_recover(tls *libc.TLS, db uintptr, zDb uintptr) int32 { /* sqlite3.c:173153:16: */ +func Xsqlite3_snapshot_recover(tls *libc.TLS, db uintptr, zDb uintptr) int32 { /* sqlite3.c:173210:16: */ var rc int32 = SQLITE_ERROR var iDb int32 @@ -152920,7 +152951,7 @@ func Xsqlite3_snapshot_recover(tls *libc.TLS, db uintptr, zDb uintptr) int32 { / } // Free a snapshot handle obtained from sqlite3_snapshot_get(). -func Xsqlite3_snapshot_free(tls *libc.TLS, pSnapshot uintptr) { /* sqlite3.c:173184:17: */ +func Xsqlite3_snapshot_free(tls *libc.TLS, pSnapshot uintptr) { /* sqlite3.c:173241:17: */ Xsqlite3_free(tls, pSnapshot) } @@ -152929,7 +152960,7 @@ func Xsqlite3_snapshot_free(tls *libc.TLS, pSnapshot uintptr) { /* sqlite3.c:173 // // The name can optionally begin with "SQLITE_" but the "SQLITE_" prefix // is not required for a match. -func Xsqlite3_compileoption_used(tls *libc.TLS, zOptName uintptr) int32 { /* sqlite3.c:173197:16: */ +func Xsqlite3_compileoption_used(tls *libc.TLS, zOptName uintptr) int32 { /* sqlite3.c:173254:16: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -152959,7 +152990,7 @@ func Xsqlite3_compileoption_used(tls *libc.TLS, zOptName uintptr) int32 { /* sql // Return the N-th compile-time option string. If N is out of range, // return a NULL pointer. -func Xsqlite3_compileoption_get(tls *libc.TLS, N int32) uintptr { /* sqlite3.c:173230:23: */ +func Xsqlite3_compileoption_get(tls *libc.TLS, N int32) uintptr { /* sqlite3.c:173287:23: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -153004,11 +153035,11 @@ func Xsqlite3_compileoption_get(tls *libc.TLS, N int32) uintptr { /* sqlite3.c:1 // for which either sqlite3.pBlockingConnection or sqlite3.pUnlockConnection // is not NULL. This variable may only accessed while the STATIC_MAIN // mutex is held. -var sqlite3BlockedList uintptr = uintptr(0) /* sqlite3.c:173282:16 */ +var sqlite3BlockedList uintptr = uintptr(0) /* sqlite3.c:173339:16 */ // Remove connection db from the blocked connections list. If connection // db is not currently a part of the list, this function is a no-op. -func removeFromBlockedList(tls *libc.TLS, db uintptr) { /* sqlite3.c:173325:13: */ +func removeFromBlockedList(tls *libc.TLS, db uintptr) { /* sqlite3.c:173382:13: */ var pp uintptr for pp = uintptr(unsafe.Pointer(&sqlite3BlockedList)); *(*uintptr)(unsafe.Pointer(pp)) != 0; pp = *(*uintptr)(unsafe.Pointer(pp)) + 832 { @@ -153021,7 +153052,7 @@ func removeFromBlockedList(tls *libc.TLS, db uintptr) { /* sqlite3.c:173325:13: // Add connection db to the blocked connections list. It is assumed // that it is not already a part of the list. -func addToBlockedList(tls *libc.TLS, db uintptr) { /* sqlite3.c:173340:13: */ +func addToBlockedList(tls *libc.TLS, db uintptr) { /* sqlite3.c:173397:13: */ var pp uintptr for pp = uintptr(unsafe.Pointer(&sqlite3BlockedList)); *(*uintptr)(unsafe.Pointer(pp)) != 0 && (*Sqlite3)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pp)))).FxUnlockNotify != (*Sqlite3)(unsafe.Pointer(db)).FxUnlockNotify; pp = *(*uintptr)(unsafe.Pointer(pp)) + 832 { @@ -153031,13 +153062,13 @@ func addToBlockedList(tls *libc.TLS, db uintptr) { /* sqlite3.c:173340:13: */ } // Obtain the STATIC_MAIN mutex. -func enterMutex(tls *libc.TLS) { /* sqlite3.c:173355:13: */ +func enterMutex(tls *libc.TLS) { /* sqlite3.c:173412:13: */ Xsqlite3_mutex_enter(tls, Xsqlite3MutexAlloc(tls, SQLITE_MUTEX_STATIC_MAIN)) } // Release the STATIC_MAIN mutex. -func leaveMutex(tls *libc.TLS) { /* sqlite3.c:173363:13: */ +func leaveMutex(tls *libc.TLS) { /* sqlite3.c:173420:13: */ Xsqlite3_mutex_leave(tls, Xsqlite3MutexAlloc(tls, SQLITE_MUTEX_STATIC_MAIN)) } @@ -153061,7 +153092,7 @@ func leaveMutex(tls *libc.TLS) { /* sqlite3.c:173363:13: */ // Each call to this routine overrides any prior callbacks registered // 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) int32 { /* sqlite3.c:173390:16: */ +func Xsqlite3_unlock_notify(tls *libc.TLS, db uintptr, xNotify uintptr, pArg uintptr) int32 { /* sqlite3.c:173447:16: */ bp := tls.Alloc(8) defer tls.Free(8) *(*uintptr)(unsafe.Pointer(bp)) = pArg @@ -153116,7 +153147,7 @@ func Xsqlite3_unlock_notify(tls *libc.TLS, db uintptr, xNotify uintptr, pArg uin // associated with connection db. The operation will return SQLITE_LOCKED // to the user because it requires a lock that will not be available // until connection pBlocker concludes its current transaction. -func Xsqlite3ConnectionBlocked(tls *libc.TLS, db uintptr, pBlocker uintptr) { /* sqlite3.c:173440:21: */ +func Xsqlite3ConnectionBlocked(tls *libc.TLS, db uintptr, pBlocker uintptr) { /* sqlite3.c:173497:21: */ enterMutex(tls) if (*Sqlite3)(unsafe.Pointer(db)).FpBlockingConnection == uintptr(0) && (*Sqlite3)(unsafe.Pointer(db)).FpUnlockConnection == uintptr(0) { addToBlockedList(tls, db) @@ -153142,7 +153173,7 @@ func Xsqlite3ConnectionBlocked(tls *libc.TLS, db uintptr, pBlocker uintptr) { /* // 3) If the two steps above mean that pBlockingConnection==0 and // pUnlockConnection==0, remove the entry from the blocked connections // list. -func Xsqlite3ConnectionUnlocked(tls *libc.TLS, db uintptr) { /* sqlite3.c:173468:21: */ +func Xsqlite3ConnectionUnlocked(tls *libc.TLS, db uintptr) { /* sqlite3.c:173525:21: */ bp := tls.Alloc(128) defer tls.Free(128) @@ -153246,7 +153277,7 @@ func Xsqlite3ConnectionUnlocked(tls *libc.TLS, db uintptr) { /* sqlite3.c:173468 // This is called when the database connection passed as an argument is // being closed. The connection is removed from the blocked list. -func Xsqlite3ConnectionClosed(tls *libc.TLS, db uintptr) { /* sqlite3.c:173567:21: */ +func Xsqlite3ConnectionClosed(tls *libc.TLS, db uintptr) { /* sqlite3.c:173624:21: */ Xsqlite3ConnectionUnlocked(tls, db) enterMutex(tls) removeFromBlockedList(tls, db) @@ -153851,7 +153882,7 @@ var jsonIsSpace = [256]uint8{ uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), -} /* sqlite3.c:193144:19 */ +} /* sqlite3.c:193201:19 */ // Objects type JsonString1 = struct { @@ -153863,10 +153894,10 @@ type JsonString1 = struct { FbErr U8 FzSpace [100]uint8 F__ccgo_pad1 [2]byte -} /* sqlite3.c:193171:9 */ +} /* sqlite3.c:193228:9 */ // Objects -type JsonString = JsonString1 /* sqlite3.c:193171:27 */ +type JsonString = JsonString1 /* sqlite3.c:193228:27 */ type JsonNode1 = struct { FeType U8 FjnFlags U8 @@ -153874,9 +153905,9 @@ type JsonNode1 = struct { F__ccgo_pad1 [1]byte Fn U32 Fu struct{ FzJContent uintptr } -} /* sqlite3.c:193172:9 */ +} /* sqlite3.c:193229:9 */ -type JsonNode = JsonNode1 /* sqlite3.c:193172:25 */ +type JsonNode = JsonNode1 /* sqlite3.c:193229:25 */ type JsonParse1 = struct { FnNode U32 FnAlloc U32 @@ -153889,9 +153920,9 @@ type JsonParse1 = struct { FnJson int32 FiHold U32 F__ccgo_pad1 [4]byte -} /* sqlite3.c:193173:9 */ +} /* sqlite3.c:193230:9 */ -type JsonParse = JsonParse1 /* sqlite3.c:193173:26 */ +type JsonParse = JsonParse1 /* sqlite3.c:193230:26 */ // JSON type values @@ -153900,7 +153931,7 @@ type JsonParse = JsonParse1 /* sqlite3.c:193173:26 */ // Names of the various JSON types: var jsonType = [8]uintptr{ ts + 6123, ts + 6637, ts + 6642, ts + 6133, ts + 6128, ts + 7883, ts + 24300, ts + 24306, -} /* sqlite3.c:193206:19 */ +} /* sqlite3.c:193263:19 */ // Maximum nesting depth of JSON for this implementation. // @@ -153914,7 +153945,7 @@ var jsonType = [8]uintptr{ // // Set the JsonString object to an empty string -func jsonZero(tls *libc.TLS, p uintptr) { /* sqlite3.c:193267:13: */ +func jsonZero(tls *libc.TLS, p uintptr) { /* sqlite3.c:193324:13: */ (*JsonString)(unsafe.Pointer(p)).FzBuf = p + 34 /* &.zSpace */ (*JsonString)(unsafe.Pointer(p)).FnAlloc = U64(unsafe.Sizeof([100]uint8{})) (*JsonString)(unsafe.Pointer(p)).FnUsed = uint64(0) @@ -153922,7 +153953,7 @@ func jsonZero(tls *libc.TLS, p uintptr) { /* sqlite3.c:193267:13: */ } // Initialize the JsonString object -func jsonInit(tls *libc.TLS, p uintptr, pCtx uintptr) { /* sqlite3.c:193276:13: */ +func jsonInit(tls *libc.TLS, p uintptr, pCtx uintptr) { /* sqlite3.c:193333:13: */ (*JsonString)(unsafe.Pointer(p)).FpCtx = pCtx (*JsonString)(unsafe.Pointer(p)).FbErr = U8(0) jsonZero(tls, p) @@ -153930,7 +153961,7 @@ func jsonInit(tls *libc.TLS, p uintptr, pCtx uintptr) { /* sqlite3.c:193276:13: // Free all allocated memory and reset the JsonString object back to its // initial state. -func jsonReset(tls *libc.TLS, p uintptr) { /* sqlite3.c:193286:13: */ +func jsonReset(tls *libc.TLS, p uintptr) { /* sqlite3.c:193343:13: */ if !(int32((*JsonString)(unsafe.Pointer(p)).FbStatic) != 0) { Xsqlite3_free(tls, (*JsonString)(unsafe.Pointer(p)).FzBuf) } @@ -153938,7 +153969,7 @@ func jsonReset(tls *libc.TLS, p uintptr) { /* sqlite3.c:193286:13: */ } // Report an out-of-memory (OOM) condition -func jsonOom(tls *libc.TLS, p uintptr) { /* sqlite3.c:193294:13: */ +func jsonOom(tls *libc.TLS, p uintptr) { /* sqlite3.c:193351:13: */ (*JsonString)(unsafe.Pointer(p)).FbErr = U8(1) Xsqlite3_result_error_nomem(tls, (*JsonString)(unsafe.Pointer(p)).FpCtx) jsonReset(tls, p) @@ -153946,7 +153977,7 @@ func jsonOom(tls *libc.TLS, p uintptr) { /* sqlite3.c:193294:13: */ // Enlarge pJson->zBuf so that it can hold at least N more bytes. // Return zero on success. Return non-zero on an OOM error -func jsonGrow(tls *libc.TLS, p uintptr, N U32) int32 { /* sqlite3.c:193303:12: */ +func jsonGrow(tls *libc.TLS, p uintptr, N U32) int32 { /* sqlite3.c:193360:12: */ var nTotal U64 if U64(N) < (*JsonString)(unsafe.Pointer(p)).FnAlloc { nTotal = (*JsonString)(unsafe.Pointer(p)).FnAlloc * uint64(2) @@ -153979,7 +154010,7 @@ func jsonGrow(tls *libc.TLS, p uintptr, N U32) int32 { /* sqlite3.c:193303:12: * } // Append N bytes from zIn onto the end of the JsonString string. -func jsonAppendRaw(tls *libc.TLS, p uintptr, zIn uintptr, N U32) { /* sqlite3.c:193330:13: */ +func jsonAppendRaw(tls *libc.TLS, p uintptr, zIn uintptr, N U32) { /* sqlite3.c:193387:13: */ if N == U32(0) { return } @@ -153991,7 +154022,7 @@ func jsonAppendRaw(tls *libc.TLS, p uintptr, zIn uintptr, N U32) { /* sqlite3.c: } // Append formatted text (not to exceed N bytes) to the JsonString. -func jsonPrintf(tls *libc.TLS, N int32, p uintptr, zFormat uintptr, va uintptr) { /* sqlite3.c:193339:13: */ +func jsonPrintf(tls *libc.TLS, N int32, p uintptr, zFormat uintptr, va uintptr) { /* sqlite3.c:193396:13: */ var ap Va_list _ = ap if (*JsonString)(unsafe.Pointer(p)).FnUsed+U64(N) >= (*JsonString)(unsafe.Pointer(p)).FnAlloc && jsonGrow(tls, p, uint32(N)) != 0 { @@ -154004,7 +154035,7 @@ func jsonPrintf(tls *libc.TLS, N int32, p uintptr, zFormat uintptr, va uintptr) } // Append a single character -func jsonAppendChar(tls *libc.TLS, p uintptr, c uint8) { /* sqlite3.c:193350:13: */ +func jsonAppendChar(tls *libc.TLS, p uintptr, c uint8) { /* sqlite3.c:193407:13: */ if (*JsonString)(unsafe.Pointer(p)).FnUsed >= (*JsonString)(unsafe.Pointer(p)).FnAlloc && jsonGrow(tls, p, uint32(1)) != 0 { return } @@ -154013,7 +154044,7 @@ func jsonAppendChar(tls *libc.TLS, p uintptr, c uint8) { /* sqlite3.c:193350:13: // Append a comma separator to the output buffer, if the previous // character is not '[' or '{'. -func jsonAppendSeparator(tls *libc.TLS, p uintptr) { /* sqlite3.c:193358:13: */ +func jsonAppendSeparator(tls *libc.TLS, p uintptr) { /* sqlite3.c:193415:13: */ var c uint8 if (*JsonString)(unsafe.Pointer(p)).FnUsed == uint64(0) { return @@ -154028,7 +154059,7 @@ func jsonAppendSeparator(tls *libc.TLS, p uintptr) { /* sqlite3.c:193358:13: */ // under construction. Enclose the string in "..." and escape // any double-quotes or backslash characters contained within the // string. -func jsonAppendString(tls *libc.TLS, p uintptr, zIn uintptr, N U32) { /* sqlite3.c:193370:13: */ +func jsonAppendString(tls *libc.TLS, p uintptr, zIn uintptr, N U32) { /* sqlite3.c:193427:13: */ var i U32 var c uint8 if !(zIn == uintptr(0) || U64(N)+(*JsonString)(unsafe.Pointer(p)).FnUsed+uint64(2) >= (*JsonString)(unsafe.Pointer(p)).FnAlloc && jsonGrow(tls, p, N+U32(2)) != 0) { @@ -154099,11 +154130,11 @@ __4: var aSpecial = [32]uint8{ uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8('b'), uint8('t'), uint8('n'), uint8(0), uint8('f'), uint8('r'), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), -} /* sqlite3.c:193381:25 */ +} /* sqlite3.c:193438:25 */ // Append a function parameter value to the JSON string under // construction. -func jsonAppendValue(tls *libc.TLS, p uintptr, pValue uintptr) { /* sqlite3.c:193413:13: */ +func jsonAppendValue(tls *libc.TLS, p uintptr, pValue uintptr) { /* sqlite3.c:193470:13: */ switch Xsqlite3_value_type(tls, pValue) { case SQLITE_NULL: { @@ -154147,7 +154178,7 @@ func jsonAppendValue(tls *libc.TLS, p uintptr, pValue uintptr) { /* sqlite3.c:19 } // Make the JSON in p the result of the SQL function. -func jsonResult(tls *libc.TLS, p uintptr) { /* sqlite3.c:193453:13: */ +func jsonResult(tls *libc.TLS, p uintptr) { /* sqlite3.c:193510:13: */ if int32((*JsonString)(unsafe.Pointer(p)).FbErr) == 0 { Xsqlite3_result_text64(tls, (*JsonString)(unsafe.Pointer(p)).FpCtx, (*JsonString)(unsafe.Pointer(p)).FzBuf, (*JsonString)(unsafe.Pointer(p)).FnUsed, func() uintptr { @@ -154174,7 +154205,7 @@ func jsonResult(tls *libc.TLS, p uintptr) { /* sqlite3.c:193453:13: */ // Appended elements are not counted. The value returned is the number // by which the JsonNode counter should increment in order to go to the // next peer value. -func jsonNodeSize(tls *libc.TLS, pNode uintptr) U32 { /* sqlite3.c:193476:12: */ +func jsonNodeSize(tls *libc.TLS, pNode uintptr) U32 { /* sqlite3.c:193533:12: */ if int32((*JsonNode)(unsafe.Pointer(pNode)).FeType) >= JSON_ARRAY { return (*JsonNode)(unsafe.Pointer(pNode)).Fn + U32(1) } @@ -154183,7 +154214,7 @@ func jsonNodeSize(tls *libc.TLS, pNode uintptr) U32 { /* sqlite3.c:193476:12: */ // Reclaim all memory allocated by a JsonParse object. But do not // delete the JsonParse object itself. -func jsonParseReset(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:193484:13: */ +func jsonParseReset(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:193541:13: */ Xsqlite3_free(tls, (*JsonParse)(unsafe.Pointer(pParse)).FaNode) (*JsonParse)(unsafe.Pointer(pParse)).FaNode = uintptr(0) (*JsonParse)(unsafe.Pointer(pParse)).FnNode = U32(0) @@ -154193,7 +154224,7 @@ func jsonParseReset(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:193484:13: */ } // Free a JsonParse object that was obtained from sqlite3_malloc(). -func jsonParseFree(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:193496:13: */ +func jsonParseFree(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:193553:13: */ jsonParseReset(tls, pParse) Xsqlite3_free(tls, pParse) } @@ -154201,7 +154232,7 @@ func jsonParseFree(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:193496:13: */ // Convert the JsonNode pNode into a pure JSON string and // append to pOut. Subsubstructure is also included. Return // the number of JsonNode objects that are encoded. -func jsonRenderNode(tls *libc.TLS, pNode uintptr, pOut uintptr, aReplace uintptr) { /* sqlite3.c:193506:13: */ +func jsonRenderNode(tls *libc.TLS, pNode uintptr, pOut uintptr, aReplace uintptr) { /* sqlite3.c:193563:13: */ if int32((*JsonNode)(unsafe.Pointer(pNode)).FjnFlags)&(JNODE_REPLACE|JNODE_PATCH) != 0 { if int32((*JsonNode)(unsafe.Pointer(pNode)).FjnFlags)&JNODE_REPLACE != 0 && aReplace != uintptr(0) { @@ -154303,7 +154334,7 @@ func jsonRenderNode(tls *libc.TLS, pNode uintptr, pOut uintptr, aReplace uintptr } // Return a JsonNode and all its descendents as a JSON string. -func jsonReturnJson(tls *libc.TLS, pNode uintptr, pCtx uintptr, aReplace uintptr) { /* sqlite3.c:193595:13: */ +func jsonReturnJson(tls *libc.TLS, pNode uintptr, pCtx uintptr, aReplace uintptr) { /* sqlite3.c:193652:13: */ bp := tls.Alloc(136) defer tls.Free(136) @@ -154318,14 +154349,14 @@ func jsonReturnJson(tls *libc.TLS, pNode uintptr, pCtx uintptr, aReplace uintptr // Translate a single byte of Hex into an integer. // This routine only works if h really is a valid hexadecimal // character: 0..9a..fA..F -func jsonHexToInt(tls *libc.TLS, h int32) U8 { /* sqlite3.c:193612:11: */ +func jsonHexToInt(tls *libc.TLS, h int32) U8 { /* sqlite3.c:193669:11: */ h = h + 9*(1&(h>>6)) return U8(h & 0xf) } // Convert a 4-byte hex string into an integer -func jsonHexToInt4(tls *libc.TLS, z uintptr) U32 { /* sqlite3.c:193625:12: */ +func jsonHexToInt4(tls *libc.TLS, z uintptr) U32 { /* sqlite3.c:193682:12: */ var v U32 v = U32(int32(jsonHexToInt(tls, int32(*(*uint8)(unsafe.Pointer(z)))))<<12 + @@ -154336,7 +154367,7 @@ func jsonHexToInt4(tls *libc.TLS, z uintptr) U32 { /* sqlite3.c:193625:12: */ } // Make the JsonNode the return value of the function. -func jsonReturn(tls *libc.TLS, pNode uintptr, pCtx uintptr, aReplace uintptr) { /* sqlite3.c:193641:13: */ +func jsonReturn(tls *libc.TLS, pNode uintptr, pCtx uintptr, aReplace uintptr) { /* sqlite3.c:193698:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -154617,7 +154648,7 @@ __1: // A macro to hint to the compiler that a function should not be // inlined. -func jsonParseAddNodeExpand(tls *libc.TLS, pParse uintptr, eType U32, n U32, zContent uintptr) int32 { /* sqlite3.c:193814:26: */ +func jsonParseAddNodeExpand(tls *libc.TLS, pParse uintptr, eType U32, n U32, zContent uintptr) int32 { /* sqlite3.c:193871:26: */ var nNew U32 var pNew uintptr @@ -154639,7 +154670,7 @@ func jsonParseAddNodeExpand(tls *libc.TLS, pParse uintptr, eType U32, n U32, zCo // Create a new JsonNode instance based on the arguments and append that // instance to the JsonParse. Return the index in pParse->aNode[] of the // new node, or -1 if a memory allocation fails. -func jsonParseAddNode(tls *libc.TLS, pParse uintptr, eType U32, n U32, zContent uintptr) int32 { /* sqlite3.c:193841:12: */ +func jsonParseAddNode(tls *libc.TLS, pParse uintptr, eType U32, n U32, zContent uintptr) int32 { /* sqlite3.c:193898:12: */ var p uintptr if (*JsonParse)(unsafe.Pointer(pParse)).FaNode == uintptr(0) || (*JsonParse)(unsafe.Pointer(pParse)).FnNode >= (*JsonParse)(unsafe.Pointer(pParse)).FnAlloc { return jsonParseAddNodeExpand(tls, pParse, eType, n, zContent) @@ -154654,7 +154685,7 @@ func jsonParseAddNode(tls *libc.TLS, pParse uintptr, eType U32, n U32, zContent } // Return true if z[] begins with 4 (or more) hexadecimal digits -func jsonIs4Hex(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:193863:12: */ +func jsonIs4Hex(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:193920:12: */ var i int32 for i = 0; i < 4; i++ { if !(int32(Xsqlite3CtypeMap[uint8(*(*uint8)(unsafe.Pointer(z + uintptr(i))))])&0x08 != 0) { @@ -154670,7 +154701,7 @@ func jsonIs4Hex(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:193863:12: */ // Return negative for a syntax error. Special cases: return -2 if the // first non-whitespace character is '}' and return -3 if the first // non-whitespace character is ']'. -func jsonParseValue(tls *libc.TLS, pParse uintptr, i U32) int32 { /* sqlite3.c:193877:12: */ +func jsonParseValue(tls *libc.TLS, pParse uintptr, i U32) int32 { /* sqlite3.c:193934:12: */ var c uint8 var j U32 var iThis int32 @@ -154897,7 +154928,7 @@ func jsonParseValue(tls *libc.TLS, pParse uintptr, i U32) int32 { /* sqlite3.c:1 // pParse. // // pParse is uninitialized when this routine is called. -func jsonParse(tls *libc.TLS, pParse uintptr, pCtx uintptr, zJson uintptr) int32 { /* sqlite3.c:194038:12: */ +func jsonParse(tls *libc.TLS, pParse uintptr, pCtx uintptr, zJson uintptr) int32 { /* sqlite3.c:194095:12: */ var i int32 libc.Xmemset(tls, pParse, 0, uint64(unsafe.Sizeof(JsonParse{}))) if zJson == uintptr(0) { @@ -154933,7 +154964,7 @@ func jsonParse(tls *libc.TLS, pParse uintptr, pCtx uintptr, zJson uintptr) int32 // Mark node i of pParse as being a child of iParent. Call recursively // to fill in all the descendants of node i. -func jsonParseFillInParentage(tls *libc.TLS, pParse uintptr, i U32, iParent U32) { /* sqlite3.c:194071:13: */ +func jsonParseFillInParentage(tls *libc.TLS, pParse uintptr, i U32, iParent U32) { /* sqlite3.c:194128:13: */ var pNode uintptr = (*JsonParse)(unsafe.Pointer(pParse)).FaNode + uintptr(i)*16 var j U32 *(*U32)(unsafe.Pointer((*JsonParse)(unsafe.Pointer(pParse)).FaUp + uintptr(i)*4)) = iParent @@ -154964,7 +154995,7 @@ func jsonParseFillInParentage(tls *libc.TLS, pParse uintptr, i U32, iParent U32) } // Compute the parentage of all nodes in a completed parse. -func jsonParseFindParents(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:194098:12: */ +func jsonParseFindParents(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:194155:12: */ var aUp uintptr aUp = libc.AssignPtrUintptr(pParse+24, Xsqlite3_malloc64(tls, uint64(uint64(unsafe.Sizeof(U32(0)))*uint64((*JsonParse)(unsafe.Pointer(pParse)).FnNode)))) @@ -154984,7 +155015,7 @@ func jsonParseFindParents(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:19 // is no longer valid, parse the JSON again and return the new parse, // and also register the new parse so that it will be available for // future sqlite3_get_auxdata() calls. -func jsonParseCached(tls *libc.TLS, pCtx uintptr, argv uintptr, pErrCtx uintptr) uintptr { /* sqlite3.c:194124:18: */ +func jsonParseCached(tls *libc.TLS, pCtx uintptr, argv uintptr, pErrCtx uintptr) uintptr { /* sqlite3.c:194181:18: */ var zJson uintptr = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv))) var nJson int32 = Xsqlite3_value_bytes(tls, *(*uintptr)(unsafe.Pointer(argv))) var p uintptr @@ -155041,7 +155072,7 @@ func jsonParseCached(tls *libc.TLS, pCtx uintptr, argv uintptr, pErrCtx uintptr) // Compare the OBJECT label at pNode against zKey,nKey. Return true on // a match. -func jsonLabelCompare(tls *libc.TLS, pNode uintptr, zKey uintptr, nKey U32) int32 { /* sqlite3.c:194186:12: */ +func jsonLabelCompare(tls *libc.TLS, pNode uintptr, zKey uintptr, nKey U32) int32 { /* sqlite3.c:194243:12: */ if int32((*JsonNode)(unsafe.Pointer(pNode)).FjnFlags)&JNODE_RAW != 0 { if (*JsonNode)(unsafe.Pointer(pNode)).Fn != nKey { @@ -155064,7 +155095,7 @@ func jsonLabelCompare(tls *libc.TLS, pNode uintptr, zKey uintptr, nKey U32) int3 // If pApnd!=0, then try to append new nodes to complete zPath if it is // possible to do so and if no existing node corresponds to zPath. If // new nodes are appended *pApnd is set to 1. -func jsonLookupStep(tls *libc.TLS, pParse uintptr, iRoot U32, zPath uintptr, pApnd uintptr, pzErr uintptr) uintptr { /* sqlite3.c:194209:17: */ +func jsonLookupStep(tls *libc.TLS, pParse uintptr, iRoot U32, zPath uintptr, pApnd uintptr, pzErr uintptr) uintptr { /* sqlite3.c:194266:17: */ var i U32 var j U32 var nKey U32 @@ -155239,7 +155270,7 @@ func jsonLookupStep(tls *libc.TLS, pParse uintptr, iRoot U32, zPath uintptr, pAp // Append content to pParse that will complete zPath. Return a pointer // to the inserted node, or return NULL if the append fails. -func jsonLookupAppend(tls *libc.TLS, pParse uintptr, zPath uintptr, pApnd uintptr, pzErr uintptr) uintptr { /* sqlite3.c:194361:17: */ +func jsonLookupAppend(tls *libc.TLS, pParse uintptr, zPath uintptr, pApnd uintptr, pzErr uintptr) uintptr { /* sqlite3.c:194418:17: */ *(*int32)(unsafe.Pointer(pApnd)) = 1 if int32(*(*uint8)(unsafe.Pointer(zPath))) == 0 { jsonParseAddNode(tls, pParse, uint32(JSON_NULL), uint32(0), uintptr(0)) @@ -155263,7 +155294,7 @@ func jsonLookupAppend(tls *libc.TLS, pParse uintptr, zPath uintptr, pApnd uintpt // Return the text of a syntax error message on a JSON path. Space is // obtained from sqlite3_malloc(). -func jsonPathSyntaxError(tls *libc.TLS, zErr uintptr) uintptr { /* sqlite3.c:194387:13: */ +func jsonPathSyntaxError(tls *libc.TLS, zErr uintptr) uintptr { /* sqlite3.c:194444:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -155278,7 +155309,7 @@ func jsonPathSyntaxError(tls *libc.TLS, zErr uintptr) uintptr { /* sqlite3.c:194 // // If pApnd!=NULL then try to append missing nodes and set *pApnd = 1 if // nodes are appended. -func jsonLookup(tls *libc.TLS, pParse uintptr, zPath uintptr, pApnd uintptr, pCtx uintptr) uintptr { /* sqlite3.c:194401:17: */ +func jsonLookup(tls *libc.TLS, pParse uintptr, zPath uintptr, pApnd uintptr, pCtx uintptr) uintptr { /* sqlite3.c:194458:17: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -155330,7 +155361,7 @@ __5: // Report the wrong number of arguments for json_insert(), json_replace() // or json_set(). -func jsonWrongNumArgs(tls *libc.TLS, pCtx uintptr, zFuncName uintptr) { /* sqlite3.c:194438:13: */ +func jsonWrongNumArgs(tls *libc.TLS, pCtx uintptr, zFuncName uintptr) { /* sqlite3.c:194495:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -155341,7 +155372,7 @@ func jsonWrongNumArgs(tls *libc.TLS, pCtx uintptr, zFuncName uintptr) { /* sqlit } // Mark all NULL entries in the Object passed in as JNODE_REMOVE. -func jsonRemoveAllNulls(tls *libc.TLS, pNode uintptr) { /* sqlite3.c:194451:13: */ +func jsonRemoveAllNulls(tls *libc.TLS, pNode uintptr) { /* sqlite3.c:194508:13: */ var i int32 var n int32 @@ -155372,7 +155403,7 @@ func jsonRemoveAllNulls(tls *libc.TLS, pNode uintptr) { /* sqlite3.c:194451:13: // corresponding to the SQL value input. Mostly this means putting // double-quotes around strings and returning the unquoted string "null" // when given a NULL input. -func jsonQuoteFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:194540:13: */ +func jsonQuoteFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:194597:13: */ bp := tls.Alloc(136) defer tls.Free(136) @@ -155389,7 +155420,7 @@ func jsonQuoteFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sq // Implementation of the json_array(VALUE,...) function. Return a JSON // array that contains all values given in arguments. Or if any argument // is a BLOB, throw an error. -func jsonArrayFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:194559:13: */ +func jsonArrayFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:194616:13: */ bp := tls.Alloc(136) defer tls.Free(136) @@ -155412,7 +155443,7 @@ func jsonArrayFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sq // // Return the number of elements in the top-level JSON array. // Return 0 if the input is not a well-formed JSON array. -func jsonArrayLengthFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:194586:13: */ +func jsonArrayLengthFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:194643:13: */ var p uintptr // The parse var n Sqlite3_int64 = int64(0) var i U32 @@ -155462,7 +155493,7 @@ func jsonArrayLengthFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { // // Abbreviated JSON path expressions are allows if JSON_ABPATH, for // compatibility with PG. -func jsonExtractFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:194646:13: */ +func jsonExtractFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:194703:13: */ bp := tls.Alloc(136) defer tls.Free(136) @@ -155556,7 +155587,7 @@ func jsonExtractFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* } // This is the RFC 7396 MergePatch algorithm. -func jsonMergePatch(tls *libc.TLS, pParse uintptr, iTarget U32, pPatch uintptr) uintptr { /* sqlite3.c:194729:17: */ +func jsonMergePatch(tls *libc.TLS, pParse uintptr, iTarget U32, pPatch uintptr) uintptr { /* sqlite3.c:194786:17: */ var i U32 var j U32 var iRoot U32 @@ -155629,7 +155660,7 @@ func jsonMergePatch(tls *libc.TLS, pParse uintptr, iTarget U32, pPatch uintptr) // Implementation of the json_mergepatch(JSON1,JSON2) function. Return a JSON // object that is the result of running the RFC 7396 MergePatch() algorithm // on the two arguments. -func jsonPatchFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:194811:13: */ +func jsonPatchFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:194868:13: */ bp := tls.Alloc(96) defer tls.Free(96) @@ -155661,7 +155692,7 @@ func jsonPatchFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sq // Implementation of the json_object(NAME,VALUE,...) function. Return a JSON // object that contains all name/value given in arguments. Or if any name // is not a string or if any value is a BLOB, throw an error. -func jsonObjectFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:194843:13: */ +func jsonObjectFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:194900:13: */ bp := tls.Alloc(136) defer tls.Free(136) @@ -155700,7 +155731,7 @@ func jsonObjectFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* s // // Remove the named elements from JSON and return the result. malformed // JSON or PATH arguments result in an error. -func jsonRemoveFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:194885:13: */ +func jsonRemoveFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:194942:13: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -155769,7 +155800,7 @@ remove_done: // // Replace the value at PATH with VALUE. If PATH does not already exist, // this routine is a no-op. If JSON or PATH is malformed, throw an error. -func jsonReplaceFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:194918:13: */ +func jsonReplaceFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:194975:13: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -155852,7 +155883,7 @@ replace_err: // // Create PATH and initialize it to VALUE. If PATH already exists, this // routine is a no-op. If JSON or PATH is malformed, throw an error. -func jsonSetFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:194970:13: */ +func jsonSetFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:195027:13: */ bp := tls.Alloc(52) defer tls.Free(52) @@ -155950,7 +155981,7 @@ jsonSetDone: // // Return the top-level "type" of a JSON string. json_type() raises an // error if either the JSON or PATH inputs are not well-formed. -func jsonTypeFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:195023:13: */ +func jsonTypeFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:195080:13: */ var p uintptr // The parse var zPath uintptr var pNode uintptr @@ -155974,7 +156005,7 @@ func jsonTypeFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sql // // Return 1 if JSON is a well-formed JSON string according to RFC-7159. // Return 0 otherwise. -func jsonValidFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:195051:13: */ +func jsonValidFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:195108:13: */ var p uintptr // The parse _ = argc p = jsonParseCached(tls, ctx, argv, uintptr(0)) @@ -155988,7 +156019,7 @@ func jsonValidFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sq // json_group_array(VALUE) // // Return a JSON array composed of all values in the aggregate. -func jsonArrayStep(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:195071:13: */ +func jsonArrayStep(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:195128:13: */ var pStr uintptr _ = argc pStr = Xsqlite3_aggregate_context(tls, ctx, int32(unsafe.Sizeof(JsonString{}))) @@ -156004,7 +156035,7 @@ func jsonArrayStep(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sq } } -func jsonArrayCompute(tls *libc.TLS, ctx uintptr, isFinal int32) { /* sqlite3.c:195090:13: */ +func jsonArrayCompute(tls *libc.TLS, ctx uintptr, isFinal int32) { /* sqlite3.c:195147:13: */ var pStr uintptr pStr = Xsqlite3_aggregate_context(tls, ctx, 0) if pStr != 0 { @@ -156034,11 +156065,11 @@ func jsonArrayCompute(tls *libc.TLS, ctx uintptr, isFinal int32) { /* sqlite3.c: Xsqlite3_result_subtype(tls, ctx, uint32(JSON_SUBTYPE)) } -func jsonArrayValue(tls *libc.TLS, ctx uintptr) { /* sqlite3.c:195112:13: */ +func jsonArrayValue(tls *libc.TLS, ctx uintptr) { /* sqlite3.c:195169:13: */ jsonArrayCompute(tls, ctx, 0) } -func jsonArrayFinal(tls *libc.TLS, ctx uintptr) { /* sqlite3.c:195115:13: */ +func jsonArrayFinal(tls *libc.TLS, ctx uintptr) { /* sqlite3.c:195172:13: */ jsonArrayCompute(tls, ctx, 1) } @@ -156046,7 +156077,7 @@ func jsonArrayFinal(tls *libc.TLS, ctx uintptr) { /* sqlite3.c:195115:13: */ // It works by removing the first element of the group by searching forward // to the first comma (",") that is not within a string and deleting all // text through that comma. -func jsonGroupInverse(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:195126:13: */ +func jsonGroupInverse(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:195183:13: */ var i uint32 var inStr int32 = 0 var nNest int32 = 0 @@ -156088,7 +156119,7 @@ func jsonGroupInverse(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* // json_group_obj(NAME,VALUE) // // Return a JSON object composed of all names and values in the aggregate. -func jsonObjectStep(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:195174:13: */ +func jsonObjectStep(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:195231:13: */ var pStr uintptr var z uintptr var n U32 @@ -156110,7 +156141,7 @@ func jsonObjectStep(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* s } } -func jsonObjectCompute(tls *libc.TLS, ctx uintptr, isFinal int32) { /* sqlite3.c:195199:13: */ +func jsonObjectCompute(tls *libc.TLS, ctx uintptr, isFinal int32) { /* sqlite3.c:195256:13: */ var pStr uintptr pStr = Xsqlite3_aggregate_context(tls, ctx, 0) if pStr != 0 { @@ -156139,11 +156170,11 @@ func jsonObjectCompute(tls *libc.TLS, ctx uintptr, isFinal int32) { /* sqlite3.c Xsqlite3_result_subtype(tls, ctx, uint32(JSON_SUBTYPE)) } -func jsonObjectValue(tls *libc.TLS, ctx uintptr) { /* sqlite3.c:195220:13: */ +func jsonObjectValue(tls *libc.TLS, ctx uintptr) { /* sqlite3.c:195277:13: */ jsonObjectCompute(tls, ctx, 0) } -func jsonObjectFinal(tls *libc.TLS, ctx uintptr) { /* sqlite3.c:195223:13: */ +func jsonObjectFinal(tls *libc.TLS, ctx uintptr) { /* sqlite3.c:195280:13: */ jsonObjectCompute(tls, ctx, 1) } @@ -156163,16 +156194,16 @@ type JsonEachCursor1 = struct { FzJson uintptr FzRoot uintptr FsParse JsonParse -} /* sqlite3.c:195233:9 */ +} /* sqlite3.c:195290:9 */ // *************************************************************************** // // The json_each virtual table // -type JsonEachCursor = JsonEachCursor1 /* sqlite3.c:195233:31 */ +type JsonEachCursor = JsonEachCursor1 /* sqlite3.c:195290:31 */ // Constructor for the json_each virtual table -func jsonEachConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 { /* sqlite3.c:195248:12: */ +func jsonEachConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 { /* sqlite3.c:195305:12: */ var pNew uintptr var rc int32 @@ -156200,13 +156231,13 @@ func jsonEachConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv u } // destructor for json_each virtual table -func jsonEachDisconnect(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:195290:12: */ +func jsonEachDisconnect(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:195347:12: */ Xsqlite3_free(tls, pVtab) return SQLITE_OK } // constructor for a JsonEachCursor object for json_each(). -func jsonEachOpenEach(tls *libc.TLS, p uintptr, ppCursor uintptr) int32 { /* sqlite3.c:195296:12: */ +func jsonEachOpenEach(tls *libc.TLS, p uintptr, ppCursor uintptr) int32 { /* sqlite3.c:195353:12: */ var pCur uintptr _ = p @@ -156220,7 +156251,7 @@ func jsonEachOpenEach(tls *libc.TLS, p uintptr, ppCursor uintptr) int32 { /* sql } // constructor for a JsonEachCursor object for json_tree(). -func jsonEachOpenTree(tls *libc.TLS, p uintptr, ppCursor uintptr) int32 { /* sqlite3.c:195308:12: */ +func jsonEachOpenTree(tls *libc.TLS, p uintptr, ppCursor uintptr) int32 { /* sqlite3.c:195365:12: */ var rc int32 = jsonEachOpenEach(tls, p, ppCursor) if rc == SQLITE_OK { var pCur uintptr = *(*uintptr)(unsafe.Pointer(ppCursor)) @@ -156231,7 +156262,7 @@ func jsonEachOpenTree(tls *libc.TLS, p uintptr, ppCursor uintptr) int32 { /* sql // Reset a JsonEachCursor back to its original state. Free any memory // held. -func jsonEachCursorReset(tls *libc.TLS, p uintptr) { /* sqlite3.c:195319:13: */ +func jsonEachCursorReset(tls *libc.TLS, p uintptr) { /* sqlite3.c:195376:13: */ Xsqlite3_free(tls, (*JsonEachCursor)(unsafe.Pointer(p)).FzJson) Xsqlite3_free(tls, (*JsonEachCursor)(unsafe.Pointer(p)).FzRoot) jsonParseReset(tls, p+48) @@ -156244,7 +156275,7 @@ func jsonEachCursorReset(tls *libc.TLS, p uintptr) { /* sqlite3.c:195319:13: */ } // Destructor for a jsonEachCursor object -func jsonEachClose(tls *libc.TLS, cur uintptr) int32 { /* sqlite3.c:195332:12: */ +func jsonEachClose(tls *libc.TLS, cur uintptr) int32 { /* sqlite3.c:195389:12: */ var p uintptr = cur jsonEachCursorReset(tls, p) Xsqlite3_free(tls, cur) @@ -156253,13 +156284,13 @@ func jsonEachClose(tls *libc.TLS, cur uintptr) int32 { /* sqlite3.c:195332:12: * // Return TRUE if the jsonEachCursor object has been advanced off the end // of the JSON object -func jsonEachEof(tls *libc.TLS, cur uintptr) int32 { /* sqlite3.c:195341:12: */ +func jsonEachEof(tls *libc.TLS, cur uintptr) int32 { /* sqlite3.c:195398:12: */ var p uintptr = cur return libc.Bool32((*JsonEachCursor)(unsafe.Pointer(p)).Fi >= (*JsonEachCursor)(unsafe.Pointer(p)).FiEnd) } // Advance the cursor to the next element for json_tree() -func jsonEachNext(tls *libc.TLS, cur uintptr) int32 { /* sqlite3.c:195347:12: */ +func jsonEachNext(tls *libc.TLS, cur uintptr) int32 { /* sqlite3.c:195404:12: */ var p uintptr = cur if (*JsonEachCursor)(unsafe.Pointer(p)).FbRecursive != 0 { if int32((*JsonNode)(unsafe.Pointer((*JsonEachCursor)(unsafe.Pointer(p)).FsParse.FaNode+uintptr((*JsonEachCursor)(unsafe.Pointer(p)).Fi)*16)).FjnFlags)&JNODE_LABEL != 0 { @@ -156310,7 +156341,7 @@ func jsonEachNext(tls *libc.TLS, cur uintptr) int32 { /* sqlite3.c:195347:12: */ } // Append the name of the path for element i to pStr -func jsonEachComputePath(tls *libc.TLS, p uintptr, pStr uintptr, i U32) { /* sqlite3.c:195391:13: */ +func jsonEachComputePath(tls *libc.TLS, p uintptr, pStr uintptr, i U32) { /* sqlite3.c:195448:13: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -156339,7 +156370,7 @@ func jsonEachComputePath(tls *libc.TLS, p uintptr, pStr uintptr, i U32) { /* sql } // Return the value of a column -func jsonEachColumn(tls *libc.TLS, cur uintptr, ctx uintptr, i int32) int32 { /* sqlite3.c:195421:12: */ +func jsonEachColumn(tls *libc.TLS, cur uintptr, ctx uintptr, i int32) int32 { /* sqlite3.c:195478:12: */ bp := tls.Alloc(296) defer tls.Free(296) @@ -156473,7 +156504,7 @@ func jsonEachColumn(tls *libc.TLS, cur uintptr, ctx uintptr, i int32) int32 { /* } // Return the current rowid value -func jsonEachRowid(tls *libc.TLS, cur uintptr, pRowid uintptr) int32 { /* sqlite3.c:195522:12: */ +func jsonEachRowid(tls *libc.TLS, cur uintptr, pRowid uintptr) int32 { /* sqlite3.c:195579:12: */ var p uintptr = cur *(*Sqlite_int64)(unsafe.Pointer(pRowid)) = Sqlite_int64((*JsonEachCursor)(unsafe.Pointer(p)).FiRowid) return SQLITE_OK @@ -156483,7 +156514,7 @@ func jsonEachRowid(tls *libc.TLS, cur uintptr, pRowid uintptr) int32 { /* sqlite // column. Without such a constraint, the table cannot operate. idxNum is // 1 if the constraint is found, 3 if the constraint and zRoot are found, // and 0 otherwise. -func jsonEachBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 { /* sqlite3.c:195533:12: */ +func jsonEachBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 { /* sqlite3.c:195590:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -156558,7 +156589,7 @@ __3: } // Start a search on a new JSON string -func jsonEachFilter(tls *libc.TLS, cur uintptr, idxNum int32, idxStr uintptr, argc int32, argv uintptr) int32 { /* sqlite3.c:195592:12: */ +func jsonEachFilter(tls *libc.TLS, cur uintptr, idxNum int32, idxStr uintptr, argc int32, argv uintptr) int32 { /* sqlite3.c:195649:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -156663,7 +156694,7 @@ var jsonEachModule = Sqlite3_module{ // xCreate FxEof: 0, // xEof - check for end of scan FxColumn: 0, // xColumn - read data FxRowid: 0, // xShadowName -} /* sqlite3.c:195673:23 */ +} /* sqlite3.c:195730:23 */ // The methods of the json_tree virtual table. var jsonTreeModule = Sqlite3_module{ // xCreate @@ -156677,10 +156708,10 @@ var jsonTreeModule = Sqlite3_module{ // xCreate FxEof: 0, // xEof - check for end of scan FxColumn: 0, // xColumn - read data FxRowid: 0, // xShadowName -} /* sqlite3.c:195701:23 */ +} /* sqlite3.c:195758:23 */ // Register JSON functions. -func Xsqlite3RegisterJsonFunctions(tls *libc.TLS) { /* sqlite3.c:195733:21: */ +func Xsqlite3RegisterJsonFunctions(tls *libc.TLS) { /* sqlite3.c:195790:21: */ Xsqlite3InsertBuiltinFuncs(tls, uintptr(unsafe.Pointer(&aJsonFunc)), int32(uint64(unsafe.Sizeof(aJsonFunc))/uint64(unsafe.Sizeof(FuncDef{})))) } @@ -156703,10 +156734,10 @@ var aJsonFunc = [19]FuncDef{ {FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_INNOCUOUS | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24785}, {FnArg: int8(1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_INNOCUOUS | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24795}, {FnArg: int8(1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_UTF8 | 0*SQLITE_FUNC_NEEDCOLL | SQLITE_SUBTYPE | SQLITE_UTF8 | SQLITE_DETERMINISTIC | SQLITE_INNOCUOUS), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 24806}, - {FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_UTF8 | 0*SQLITE_FUNC_NEEDCOLL | SQLITE_SUBTYPE | SQLITE_UTF8 | SQLITE_DETERMINISTIC | SQLITE_INNOCUOUS), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 24823}} /* sqlite3.c:195735:18 */ + {FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_UTF8 | 0*SQLITE_FUNC_NEEDCOLL | SQLITE_SUBTYPE | SQLITE_UTF8 | SQLITE_DETERMINISTIC | SQLITE_INNOCUOUS), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 24823}} /* sqlite3.c:195792:18 */ // Register the JSON table-valued functions -func Xsqlite3JsonTableFunctions(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:195772:20: */ +func Xsqlite3JsonTableFunctions(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:195829:20: */ var rc int32 = SQLITE_OK var i uint32 for i = uint32(0); uint64(i) < uint64(unsafe.Sizeof(aMod))/uint64(unsafe.Sizeof(struct { @@ -156724,7 +156755,7 @@ var aMod = [2]struct { }{ {FzName: ts + 24841 /* "json_each" */, FpModule: 0}, {FzName: ts + 24851 /* "json_tree" */, FpModule: 0}, -} /* sqlite3.c:195777:5 */ // In the SQLite core +} /* sqlite3.c:195834:5 */ // In the SQLite core // If building separately, we will need some setup that is normally // found in sqliteInt.h @@ -156771,7 +156802,7 @@ type Rtree1 = struct { FpDeleteParent uintptr FpWriteAux uintptr FaHash [97]uintptr -} /* sqlite3.c:195900:9 */ +} /* sqlite3.c:195957:9 */ // In the SQLite core @@ -156785,7 +156816,7 @@ type Rtree1 = struct { // The following macro is used to suppress compiler warnings. -type Rtree = Rtree1 /* sqlite3.c:195900:22 */ +type Rtree = Rtree1 /* sqlite3.c:195957:22 */ type RtreeCursor1 = struct { Fbase Sqlite3_vtab_cursor FatEOF U8 @@ -156806,9 +156837,9 @@ type RtreeCursor1 = struct { FaNode [5]uintptr FanQueue [41]U32 F__ccgo_pad4 [4]byte -} /* sqlite3.c:195901:9 */ +} /* sqlite3.c:195958:9 */ -type RtreeCursor = RtreeCursor1 /* sqlite3.c:195901:28 */ +type RtreeCursor = RtreeCursor1 /* sqlite3.c:195958:28 */ type RtreeNode1 = struct { FpParent uintptr FiNode I64 @@ -156816,23 +156847,23 @@ type RtreeNode1 = struct { FisDirty int32 FzData uintptr FpNext uintptr -} /* sqlite3.c:195900:9 */ +} /* sqlite3.c:195957:9 */ -type RtreeNode = RtreeNode1 /* sqlite3.c:195902:26 */ +type RtreeNode = RtreeNode1 /* sqlite3.c:195959:26 */ type RtreeCell1 = struct { FiRowid I64 FaCoord [10]RtreeCoord -} /* sqlite3.c:195903:9 */ +} /* sqlite3.c:195960:9 */ -type RtreeCell = RtreeCell1 /* sqlite3.c:195903:26 */ +type RtreeCell = RtreeCell1 /* sqlite3.c:195960:26 */ type RtreeConstraint1 = struct { FiCoord int32 Fop int32 Fu struct{ FrValue RtreeDValue } FpInfo uintptr -} /* sqlite3.c:195901:9 */ +} /* sqlite3.c:195958:9 */ -type RtreeConstraint = RtreeConstraint1 /* sqlite3.c:195904:32 */ +type RtreeConstraint = RtreeConstraint1 /* sqlite3.c:195961:32 */ type RtreeMatchArg1 = struct { FiSize U32 F__ccgo_pad1 [4]byte @@ -156841,20 +156872,20 @@ type RtreeMatchArg1 = struct { F__ccgo_pad2 [4]byte FapSqlParam uintptr FaParam [1]RtreeDValue -} /* sqlite3.c:195905:9 */ +} /* sqlite3.c:195962:9 */ -type RtreeMatchArg = RtreeMatchArg1 /* sqlite3.c:195905:30 */ +type RtreeMatchArg = RtreeMatchArg1 /* sqlite3.c:195962:30 */ type RtreeGeomCallback1 = struct { FxGeom uintptr FxQueryFunc uintptr FxDestructor uintptr FpContext uintptr -} /* sqlite3.c:195905:9 */ +} /* sqlite3.c:195962:9 */ -type RtreeGeomCallback = RtreeGeomCallback1 /* sqlite3.c:195906:34 */ -type RtreeCoord1 = struct{ Ff RtreeValue } /* sqlite3.c:195903:9 */ +type RtreeGeomCallback = RtreeGeomCallback1 /* sqlite3.c:195963:34 */ +type RtreeCoord1 = struct{ Ff RtreeValue } /* sqlite3.c:195960:9 */ -type RtreeCoord = RtreeCoord1 /* sqlite3.c:195907:26 */ +type RtreeCoord = RtreeCoord1 /* sqlite3.c:195964:26 */ type RtreeSearchPoint1 = struct { FrScore RtreeDValue Fid Sqlite3_int64 @@ -156862,17 +156893,17 @@ type RtreeSearchPoint1 = struct { FeWithin U8 FiCell U8 F__ccgo_pad1 [5]byte -} /* sqlite3.c:195901:9 */ +} /* sqlite3.c:195958:9 */ -type RtreeSearchPoint = RtreeSearchPoint1 /* sqlite3.c:195908:33 */ +type RtreeSearchPoint = RtreeSearchPoint1 /* sqlite3.c:195965:33 */ // Possible values for Rtree.eCoordType: // 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 RtreeDValue = float64 /* sqlite3.c:196005:18 */ // High accuracy coordinate -type RtreeValue = float32 /* sqlite3.c:196006:17 */ +type RtreeDValue = float64 /* sqlite3.c:196062:18 */ // High accuracy coordinate +type RtreeValue = float32 /* sqlite3.c:196063:17 */ // What version of GCC is being used. 0 means GCC is not being used . // Note that the GCC_VERSION macro will also be set correctly when using @@ -156898,28 +156929,28 @@ type RtreeValue = float32 /* sqlite3.c:196006:17 */ // Functions to deserialize a 16 bit integer, 32 bit real number and // 64 bit integer. The deserialized value is returned. -func readInt16(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:196290:12: */ +func readInt16(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:196347:12: */ return int32(*(*U8)(unsafe.Pointer(p)))<<8 + int32(*(*U8)(unsafe.Pointer(p + 1))) } -func readCoord(tls *libc.TLS, p uintptr, pCoord uintptr) { /* sqlite3.c:196293:13: */ +func readCoord(tls *libc.TLS, p uintptr, pCoord uintptr) { /* sqlite3.c:196350:13: */ // p is always 4-byte aligned *(*U32)(unsafe.Pointer(pCoord)) = U32(*(*U8)(unsafe.Pointer(p)))<<24 + U32(*(*U8)(unsafe.Pointer(p + 1)))<<16 + U32(*(*U8)(unsafe.Pointer(p + 2)))<<8 + U32(*(*U8)(unsafe.Pointer(p + 3)))<<0 } -func readInt64(tls *libc.TLS, p uintptr) I64 { /* sqlite3.c:196310:12: */ +func readInt64(tls *libc.TLS, p uintptr) I64 { /* sqlite3.c:196367:12: */ return I64(U64(*(*U8)(unsafe.Pointer(p)))<<56 + U64(*(*U8)(unsafe.Pointer(p + 1)))<<48 + U64(*(*U8)(unsafe.Pointer(p + 2)))<<40 + U64(*(*U8)(unsafe.Pointer(p + 3)))<<32 + U64(*(*U8)(unsafe.Pointer(p + 4)))<<24 + U64(*(*U8)(unsafe.Pointer(p + 5)))<<16 + U64(*(*U8)(unsafe.Pointer(p + 6)))<<8 + U64(*(*U8)(unsafe.Pointer(p + 7)))<<0) } // Functions to serialize a 16 bit integer, 32 bit real number and // 64 bit integer. The value returned is the number of bytes written // to the argument buffer (always 2, 4 and 8 respectively). -func writeInt16(tls *libc.TLS, p uintptr, i int32) { /* sqlite3.c:196342:13: */ +func writeInt16(tls *libc.TLS, p uintptr, i int32) { /* sqlite3.c:196399:13: */ *(*U8)(unsafe.Pointer(p)) = U8(i >> 8 & 0xFF) *(*U8)(unsafe.Pointer(p + 1)) = U8(i >> 0 & 0xFF) } -func writeCoord(tls *libc.TLS, p uintptr, pCoord uintptr) int32 { /* sqlite3.c:196346:12: */ +func writeCoord(tls *libc.TLS, p uintptr, pCoord uintptr) int32 { /* sqlite3.c:196403:12: */ var i U32 // p is always 4-byte aligned @@ -156931,7 +156962,7 @@ func writeCoord(tls *libc.TLS, p uintptr, pCoord uintptr) int32 { /* sqlite3.c:1 return 4 } -func writeInt64(tls *libc.TLS, p uintptr, i I64) int32 { /* sqlite3.c:196369:12: */ +func writeInt64(tls *libc.TLS, p uintptr, i I64) int32 { /* sqlite3.c:196426:12: */ *(*U8)(unsafe.Pointer(p)) = U8(i >> 56 & int64(0xFF)) *(*U8)(unsafe.Pointer(p + 1)) = U8(i >> 48 & int64(0xFF)) *(*U8)(unsafe.Pointer(p + 2)) = U8(i >> 40 & int64(0xFF)) @@ -156944,7 +156975,7 @@ func writeInt64(tls *libc.TLS, p uintptr, i I64) int32 { /* sqlite3.c:196369:12: } // Increment the reference count of node p. -func nodeReference(tls *libc.TLS, p uintptr) { /* sqlite3.c:196394:13: */ +func nodeReference(tls *libc.TLS, p uintptr) { /* sqlite3.c:196451:13: */ if p != 0 { (*RtreeNode)(unsafe.Pointer(p)).FnRef++ @@ -156952,20 +156983,20 @@ func nodeReference(tls *libc.TLS, p uintptr) { /* sqlite3.c:196394:13: */ } // Clear the content of node p (set all bytes to 0x00). -func nodeZero(tls *libc.TLS, pRtree uintptr, p uintptr) { /* sqlite3.c:196404:13: */ +func nodeZero(tls *libc.TLS, pRtree uintptr, p uintptr) { /* sqlite3.c:196461:13: */ libc.Xmemset(tls, (*RtreeNode)(unsafe.Pointer(p)).FzData+2, 0, uint64((*Rtree)(unsafe.Pointer(pRtree)).FiNodeSize-2)) (*RtreeNode)(unsafe.Pointer(p)).FisDirty = 1 } // Given a node number iNode, return the corresponding key to use // in the Rtree.aHash table. -func nodeHash(tls *libc.TLS, iNode I64) uint32 { /* sqlite3.c:196413:21: */ +func nodeHash(tls *libc.TLS, iNode I64) uint32 { /* sqlite3.c:196470:21: */ return uint32(iNode) % uint32(HASHSIZE) } // Search the node hash table for node iNode. If found, return a pointer // to it. Otherwise, return 0. -func nodeHashLookup(tls *libc.TLS, pRtree uintptr, iNode I64) uintptr { /* sqlite3.c:196421:18: */ +func nodeHashLookup(tls *libc.TLS, pRtree uintptr, iNode I64) uintptr { /* sqlite3.c:196478:18: */ var p uintptr for p = *(*uintptr)(unsafe.Pointer(pRtree + 192 + uintptr(nodeHash(tls, iNode))*8)); p != 0 && (*RtreeNode)(unsafe.Pointer(p)).FiNode != iNode; p = (*RtreeNode)(unsafe.Pointer(p)).FpNext { } @@ -156973,7 +157004,7 @@ func nodeHashLookup(tls *libc.TLS, pRtree uintptr, iNode I64) uintptr { /* sqlit } // Add node pNode to the node hash table. -func nodeHashInsert(tls *libc.TLS, pRtree uintptr, pNode uintptr) { /* sqlite3.c:196430:13: */ +func nodeHashInsert(tls *libc.TLS, pRtree uintptr, pNode uintptr) { /* sqlite3.c:196487:13: */ var iHash int32 iHash = int32(nodeHash(tls, (*RtreeNode)(unsafe.Pointer(pNode)).FiNode)) @@ -156982,7 +157013,7 @@ func nodeHashInsert(tls *libc.TLS, pRtree uintptr, pNode uintptr) { /* sqlite3.c } // Remove node pNode from the node hash table. -func nodeHashDelete(tls *libc.TLS, pRtree uintptr, pNode uintptr) { /* sqlite3.c:196441:13: */ +func nodeHashDelete(tls *libc.TLS, pRtree uintptr, pNode uintptr) { /* sqlite3.c:196498:13: */ var pp uintptr if (*RtreeNode)(unsafe.Pointer(pNode)).FiNode != int64(0) { pp = pRtree + 192 + uintptr(nodeHash(tls, (*RtreeNode)(unsafe.Pointer(pNode)).FiNode))*8 @@ -156997,7 +157028,7 @@ func nodeHashDelete(tls *libc.TLS, pRtree uintptr, pNode uintptr) { /* sqlite3.c // indicating that node has not yet been assigned a node number. It is // assigned a node number when nodeWrite() is called to write the // node contents out to the database. -func nodeNew(tls *libc.TLS, pRtree uintptr, pParent uintptr) uintptr { /* sqlite3.c:196457:18: */ +func nodeNew(tls *libc.TLS, pRtree uintptr, pParent uintptr) uintptr { /* sqlite3.c:196514:18: */ var pNode uintptr pNode = Xsqlite3_malloc64(tls, uint64(uint64(unsafe.Sizeof(RtreeNode{}))+uint64((*Rtree)(unsafe.Pointer(pRtree)).FiNodeSize))) if pNode != 0 { @@ -157013,7 +157044,7 @@ func nodeNew(tls *libc.TLS, pRtree uintptr, pParent uintptr) uintptr { /* sqlite } // Clear the Rtree.pNodeBlob object -func nodeBlobReset(tls *libc.TLS, pRtree uintptr) { /* sqlite3.c:196475:13: */ +func nodeBlobReset(tls *libc.TLS, pRtree uintptr) { /* sqlite3.c:196532:13: */ if (*Rtree)(unsafe.Pointer(pRtree)).FpNodeBlob != 0 && int32((*Rtree)(unsafe.Pointer(pRtree)).FinWrTrans) == 0 && (*Rtree)(unsafe.Pointer(pRtree)).FnCursor == U32(0) { var pBlob uintptr = (*Rtree)(unsafe.Pointer(pRtree)).FpNodeBlob (*Rtree)(unsafe.Pointer(pRtree)).FpNodeBlob = uintptr(0) @@ -157022,7 +157053,7 @@ func nodeBlobReset(tls *libc.TLS, pRtree uintptr) { /* sqlite3.c:196475:13: */ } // Obtain a reference to an r-tree node. -func nodeAcquire(tls *libc.TLS, pRtree uintptr, iNode I64, pParent uintptr, ppNode uintptr) int32 { /* sqlite3.c:196486:12: */ +func nodeAcquire(tls *libc.TLS, pRtree uintptr, iNode I64, pParent uintptr, ppNode uintptr) int32 { /* sqlite3.c:196543:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -157132,7 +157163,7 @@ func nodeAcquire(tls *libc.TLS, pRtree uintptr, iNode I64, pParent uintptr, ppNo } // Overwrite cell iCell of node pNode with the contents of pCell. -func nodeOverwriteCell(tls *libc.TLS, pRtree uintptr, pNode uintptr, pCell uintptr, iCell int32) { /* sqlite3.c:196599:13: */ +func nodeOverwriteCell(tls *libc.TLS, pRtree uintptr, pNode uintptr, pCell uintptr, iCell int32) { /* sqlite3.c:196656:13: */ var ii int32 var p uintptr = (*RtreeNode)(unsafe.Pointer(pNode)).FzData + uintptr(4+int32((*Rtree)(unsafe.Pointer(pRtree)).FnBytesPerCell)*iCell) p += uintptr(writeInt64(tls, p, (*RtreeCell)(unsafe.Pointer(pCell)).FiRowid)) @@ -157143,7 +157174,7 @@ func nodeOverwriteCell(tls *libc.TLS, pRtree uintptr, pNode uintptr, pCell uintp } // Remove the cell with index iCell from node pNode. -func nodeDeleteCell(tls *libc.TLS, pRtree uintptr, pNode uintptr, iCell int32) { /* sqlite3.c:196617:13: */ +func nodeDeleteCell(tls *libc.TLS, pRtree uintptr, pNode uintptr, iCell int32) { /* sqlite3.c:196674:13: */ var pDst uintptr = (*RtreeNode)(unsafe.Pointer(pNode)).FzData + uintptr(4+int32((*Rtree)(unsafe.Pointer(pRtree)).FnBytesPerCell)*iCell) var pSrc uintptr = pDst + uintptr((*Rtree)(unsafe.Pointer(pRtree)).FnBytesPerCell) var nByte int32 = (readInt16(tls, (*RtreeNode)(unsafe.Pointer(pNode)).FzData+2) - iCell - 1) * int32((*Rtree)(unsafe.Pointer(pRtree)).FnBytesPerCell) @@ -157156,7 +157187,7 @@ func nodeDeleteCell(tls *libc.TLS, pRtree uintptr, pNode uintptr, iCell int32) { // is successful, return SQLITE_OK. // // If there is not enough free space in pNode, return SQLITE_FULL. -func nodeInsertCell(tls *libc.TLS, pRtree uintptr, pNode uintptr, pCell uintptr) int32 { /* sqlite3.c:196632:12: */ +func nodeInsertCell(tls *libc.TLS, pRtree uintptr, pNode uintptr, pCell uintptr) int32 { /* sqlite3.c:196689:12: */ var nCell int32 // Current number of cells in pNode var nMaxCell int32 // Maximum number of cells for pNode @@ -157173,7 +157204,7 @@ func nodeInsertCell(tls *libc.TLS, pRtree uintptr, pNode uintptr, pCell uintptr) } // If the node is dirty, write it out to the database. -func nodeWrite(tls *libc.TLS, pRtree uintptr, pNode uintptr) int32 { /* sqlite3.c:196656:12: */ +func nodeWrite(tls *libc.TLS, pRtree uintptr, pNode uintptr) int32 { /* sqlite3.c:196713:12: */ var rc int32 = SQLITE_OK if (*RtreeNode)(unsafe.Pointer(pNode)).FisDirty != 0 { var p uintptr = (*Rtree)(unsafe.Pointer(pRtree)).FpWriteNode @@ -157197,7 +157228,7 @@ func nodeWrite(tls *libc.TLS, pRtree uintptr, pNode uintptr) int32 { /* sqlite3. // Release a reference to a node. If the node is dirty and the reference // count drops to zero, the node data is written to the database. -func nodeRelease(tls *libc.TLS, pRtree uintptr, pNode uintptr) int32 { /* sqlite3.c:196682:12: */ +func nodeRelease(tls *libc.TLS, pRtree uintptr, pNode uintptr) int32 { /* sqlite3.c:196739:12: */ var rc int32 = SQLITE_OK if pNode != 0 { @@ -157223,19 +157254,19 @@ func nodeRelease(tls *libc.TLS, pRtree uintptr, pNode uintptr) int32 { /* sqlite // Return the 64-bit integer value associated with cell iCell of // node pNode. If pNode is a leaf node, this is a rowid. If it is // an internal node, then the 64-bit integer is a child page number. -func nodeGetRowid(tls *libc.TLS, pRtree uintptr, pNode uintptr, iCell int32) I64 { /* sqlite3.c:196711:12: */ +func nodeGetRowid(tls *libc.TLS, pRtree uintptr, pNode uintptr, iCell int32) I64 { /* sqlite3.c:196768:12: */ return readInt64(tls, (*RtreeNode)(unsafe.Pointer(pNode)).FzData+uintptr(4+int32((*Rtree)(unsafe.Pointer(pRtree)).FnBytesPerCell)*iCell)) } // Return coordinate iCoord from cell iCell in node pNode. -func nodeGetCoord(tls *libc.TLS, pRtree uintptr, pNode uintptr, iCell int32, iCoord int32, pCoord uintptr) { /* sqlite3.c:196723:13: */ +func nodeGetCoord(tls *libc.TLS, pRtree uintptr, pNode uintptr, iCell int32, iCoord int32, pCoord uintptr) { /* sqlite3.c:196780:13: */ readCoord(tls, (*RtreeNode)(unsafe.Pointer(pNode)).FzData+uintptr(12+int32((*Rtree)(unsafe.Pointer(pRtree)).FnBytesPerCell)*iCell+4*iCoord), pCoord) } // Deserialize cell iCell of node pNode. Populate the structure pointed // to by pCell with the results. -func nodeGetCell(tls *libc.TLS, pRtree uintptr, pNode uintptr, iCell int32, pCell uintptr) { /* sqlite3.c:196737:13: */ +func nodeGetCell(tls *libc.TLS, pRtree uintptr, pNode uintptr, iCell int32, pCell uintptr) { /* sqlite3.c:196794:13: */ var pData uintptr var pCoord uintptr var ii int32 = 0 @@ -157251,23 +157282,23 @@ func nodeGetCell(tls *libc.TLS, pRtree uintptr, pNode uintptr, iCell int32, pCel } // Rtree virtual table module xCreate method. -func rtreeCreate(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 { /* sqlite3.c:196768:12: */ +func rtreeCreate(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 { /* sqlite3.c:196825:12: */ return rtreeInit(tls, db, pAux, argc, argv, ppVtab, pzErr, 1) } // Rtree virtual table module xConnect method. -func rtreeConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 { /* sqlite3.c:196781:12: */ +func rtreeConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 { /* sqlite3.c:196838:12: */ return rtreeInit(tls, db, pAux, argc, argv, ppVtab, pzErr, 0) } // Increment the r-tree reference count. -func rtreeReference(tls *libc.TLS, pRtree uintptr) { /* sqlite3.c:196794:13: */ +func rtreeReference(tls *libc.TLS, pRtree uintptr) { /* sqlite3.c:196851:13: */ (*Rtree)(unsafe.Pointer(pRtree)).FnBusy++ } // Decrement the r-tree reference count. When the reference count reaches // zero the structure is deleted. -func rtreeRelease(tls *libc.TLS, pRtree uintptr) { /* sqlite3.c:196802:13: */ +func rtreeRelease(tls *libc.TLS, pRtree uintptr) { /* sqlite3.c:196859:13: */ (*Rtree)(unsafe.Pointer(pRtree)).FnBusy-- if (*Rtree)(unsafe.Pointer(pRtree)).FnBusy == U32(0) { (*Rtree)(unsafe.Pointer(pRtree)).FinWrTrans = U8(0) @@ -157289,13 +157320,13 @@ func rtreeRelease(tls *libc.TLS, pRtree uintptr) { /* sqlite3.c:196802:13: */ } // Rtree virtual table module xDisconnect method. -func rtreeDisconnect(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:196826:12: */ +func rtreeDisconnect(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:196883:12: */ rtreeRelease(tls, pVtab) return SQLITE_OK } // Rtree virtual table module xDestroy method. -func rtreeDestroy(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:196834:12: */ +func rtreeDestroy(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:196891:12: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -157322,7 +157353,7 @@ func rtreeDestroy(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:196834:12: } // Rtree virtual table module xOpen method. -func rtreeOpen(tls *libc.TLS, pVTab uintptr, ppCursor uintptr) int32 { /* sqlite3.c:196862:12: */ +func rtreeOpen(tls *libc.TLS, pVTab uintptr, ppCursor uintptr) int32 { /* sqlite3.c:196919:12: */ var rc int32 = SQLITE_NOMEM var pRtree uintptr = pVTab var pCsr uintptr @@ -157340,7 +157371,7 @@ func rtreeOpen(tls *libc.TLS, pVTab uintptr, ppCursor uintptr) int32 { /* sqlite } // Reset a cursor back to its initial state. -func resetCursor(tls *libc.TLS, pCsr uintptr) { /* sqlite3.c:196883:13: */ +func resetCursor(tls *libc.TLS, pCsr uintptr) { /* sqlite3.c:196940:13: */ var pRtree uintptr = (*RtreeCursor)(unsafe.Pointer(pCsr)).Fbase.FpVtab var ii int32 var pStmt uintptr @@ -157370,7 +157401,7 @@ func resetCursor(tls *libc.TLS, pCsr uintptr) { /* sqlite3.c:196883:13: */ } // Rtree virtual table module xClose method. -func rtreeClose(tls *libc.TLS, cur uintptr) int32 { /* sqlite3.c:196911:12: */ +func rtreeClose(tls *libc.TLS, cur uintptr) int32 { /* sqlite3.c:196968:12: */ var pRtree uintptr = (*Sqlite3_vtab_cursor)(unsafe.Pointer(cur)).FpVtab var pCsr uintptr = cur @@ -157386,7 +157417,7 @@ func rtreeClose(tls *libc.TLS, cur uintptr) int32 { /* sqlite3.c:196911:12: */ // // Return non-zero if the cursor does not currently point to a valid // record (i.e if the scan has finished), or zero otherwise. -func rtreeEof(tls *libc.TLS, cur uintptr) int32 { /* sqlite3.c:196929:12: */ +func rtreeEof(tls *libc.TLS, cur uintptr) int32 { /* sqlite3.c:196986:12: */ var pCsr uintptr = cur return int32((*RtreeCursor)(unsafe.Pointer(pCsr)).FatEOF) } @@ -157403,7 +157434,7 @@ func rtreeEof(tls *libc.TLS, cur uintptr) int32 { /* sqlite3.c:196929:12: */ // Check the RTree node or entry given by pCellData and p against the MATCH // constraint pConstraint. -func rtreeCallbackConstraint(tls *libc.TLS, pConstraint uintptr, eInt int32, pCellData uintptr, pSearch uintptr, prScore uintptr, peWithin uintptr) int32 { /* sqlite3.c:196984:12: */ +func rtreeCallbackConstraint(tls *libc.TLS, pConstraint uintptr, eInt int32, pCellData uintptr, pSearch uintptr, prScore uintptr, peWithin uintptr) int32 { /* sqlite3.c:197041:12: */ bp := tls.Alloc(92) defer tls.Free(92) @@ -157515,7 +157546,7 @@ func rtreeCallbackConstraint(tls *libc.TLS, pConstraint uintptr, eInt int32, pCe // Check the internal RTree node given by pCellData against constraint p. // If this constraint cannot be satisfied by any child within the node, // set *peWithin to NOT_WITHIN. -func rtreeNonleafConstraint(tls *libc.TLS, p uintptr, eInt int32, pCellData uintptr, peWithin uintptr) { /* sqlite3.c:197060:13: */ +func rtreeNonleafConstraint(tls *libc.TLS, p uintptr, eInt int32, pCellData uintptr, peWithin uintptr) { /* sqlite3.c:197117:13: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -157613,7 +157644,7 @@ func rtreeNonleafConstraint(tls *libc.TLS, p uintptr, eInt int32, pCellData uint // // The op is given by p->op. The xN is p->iCoord-th coordinate in // pCellData. $val is given by p->u.rValue. -func rtreeLeafConstraint(tls *libc.TLS, p uintptr, eInt int32, pCellData uintptr, peWithin uintptr) { /* sqlite3.c:197117:13: */ +func rtreeLeafConstraint(tls *libc.TLS, p uintptr, eInt int32, pCellData uintptr, peWithin uintptr) { /* sqlite3.c:197174:13: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -157668,7 +157699,7 @@ func rtreeLeafConstraint(tls *libc.TLS, p uintptr, eInt int32, pCellData uintptr // One of the cells in node pNode is guaranteed to have a 64-bit // integer value equal to iRowid. Return the index of this cell. -func nodeRowidIndex(tls *libc.TLS, pRtree uintptr, pNode uintptr, iRowid I64, piIndex uintptr) int32 { /* sqlite3.c:197147:12: */ +func nodeRowidIndex(tls *libc.TLS, pRtree uintptr, pNode uintptr, iRowid I64, piIndex uintptr) int32 { /* sqlite3.c:197204:12: */ var ii int32 var nCell int32 = readInt16(tls, (*RtreeNode)(unsafe.Pointer(pNode)).FzData+2) @@ -157684,7 +157715,7 @@ func nodeRowidIndex(tls *libc.TLS, pRtree uintptr, pNode uintptr, iRowid I64, pi // Return the index of the cell containing a pointer to node pNode // in its parent. If pNode is the root node, return -1. -func nodeParentIndex(tls *libc.TLS, pRtree uintptr, pNode uintptr, piIndex uintptr) int32 { /* sqlite3.c:197170:12: */ +func nodeParentIndex(tls *libc.TLS, pRtree uintptr, pNode uintptr, piIndex uintptr) int32 { /* sqlite3.c:197227:12: */ var pParent uintptr = (*RtreeNode)(unsafe.Pointer(pNode)).FpParent if pParent != 0 { return nodeRowidIndex(tls, pRtree, pParent, (*RtreeNode)(unsafe.Pointer(pNode)).FiNode, piIndex) @@ -157703,7 +157734,7 @@ func nodeParentIndex(tls *libc.TLS, pRtree uintptr, pNode uintptr, piIndex uintp // iLevel values coming first. In this way, if rScore is the same for all // SearchPoints, then iLevel becomes the deciding factor and the result // is a depth-first search, which is the desired default behavior. -func rtreeSearchPointCompare(tls *libc.TLS, pA uintptr, pB uintptr) int32 { /* sqlite3.c:197190:12: */ +func rtreeSearchPointCompare(tls *libc.TLS, pA uintptr, pB uintptr) int32 { /* sqlite3.c:197247:12: */ if (*RtreeSearchPoint)(unsafe.Pointer(pA)).FrScore < (*RtreeSearchPoint)(unsafe.Pointer(pB)).FrScore { return -1 } @@ -157720,7 +157751,7 @@ func rtreeSearchPointCompare(tls *libc.TLS, pA uintptr, pB uintptr) int32 { /* s } // Interchange two search points in a cursor. -func rtreeSearchPointSwap(tls *libc.TLS, p uintptr, i int32, j int32) { /* sqlite3.c:197204:13: */ +func rtreeSearchPointSwap(tls *libc.TLS, p uintptr, i int32, j int32) { /* sqlite3.c:197261:13: */ var t = *(*RtreeSearchPoint)(unsafe.Pointer((*RtreeCursor)(unsafe.Pointer(p)).FaPoint + uintptr(i)*24)) *(*RtreeSearchPoint)(unsafe.Pointer((*RtreeCursor)(unsafe.Pointer(p)).FaPoint + uintptr(i)*24)) = *(*RtreeSearchPoint)(unsafe.Pointer((*RtreeCursor)(unsafe.Pointer(p)).FaPoint + uintptr(j)*24)) @@ -157740,7 +157771,7 @@ func rtreeSearchPointSwap(tls *libc.TLS, p uintptr, i int32, j int32) { /* sqlit } // Return the search point with the lowest current score. -func rtreeSearchPointFirst(tls *libc.TLS, pCur uintptr) uintptr { /* sqlite3.c:197225:25: */ +func rtreeSearchPointFirst(tls *libc.TLS, pCur uintptr) uintptr { /* sqlite3.c:197282:25: */ if (*RtreeCursor)(unsafe.Pointer(pCur)).FbPoint != 0 { return pCur + 64 } @@ -157751,7 +157782,7 @@ func rtreeSearchPointFirst(tls *libc.TLS, pCur uintptr) uintptr { /* sqlite3.c:1 } // Get the RtreeNode for the search point with the lowest score. -func rtreeNodeOfFirstSearchPoint(tls *libc.TLS, pCur uintptr, pRC uintptr) uintptr { /* sqlite3.c:197232:18: */ +func rtreeNodeOfFirstSearchPoint(tls *libc.TLS, pCur uintptr, pRC uintptr) uintptr { /* sqlite3.c:197289:18: */ var id Sqlite3_int64 var ii int32 = 1 - int32((*RtreeCursor)(unsafe.Pointer(pCur)).FbPoint) @@ -157768,7 +157799,7 @@ func rtreeNodeOfFirstSearchPoint(tls *libc.TLS, pCur uintptr, pRC uintptr) uintp } // Push a new element onto the priority queue -func rtreeEnqueue(tls *libc.TLS, pCur uintptr, rScore RtreeDValue, iLevel U8) uintptr { /* sqlite3.c:197248:25: */ +func rtreeEnqueue(tls *libc.TLS, pCur uintptr, rScore RtreeDValue, iLevel U8) uintptr { /* sqlite3.c:197305:25: */ var i int32 var j int32 var pNew uintptr @@ -157802,7 +157833,7 @@ func rtreeEnqueue(tls *libc.TLS, pCur uintptr, rScore RtreeDValue, iLevel U8) ui // Allocate a new RtreeSearchPoint and return a pointer to it. Return // NULL if malloc fails. -func rtreeSearchPointNew(tls *libc.TLS, pCur uintptr, rScore RtreeDValue, iLevel U8) uintptr { /* sqlite3.c:197283:25: */ +func rtreeSearchPointNew(tls *libc.TLS, pCur uintptr, rScore RtreeDValue, iLevel U8) uintptr { /* sqlite3.c:197340:25: */ var pNew uintptr var pFirst uintptr pFirst = rtreeSearchPointFirst(tls, pCur) @@ -157838,7 +157869,7 @@ func rtreeSearchPointNew(tls *libc.TLS, pCur uintptr, rScore RtreeDValue, iLevel } // Remove the search point with the lowest current score. -func rtreeSearchPointPop(tls *libc.TLS, p uintptr) { /* sqlite3.c:197351:13: */ +func rtreeSearchPointPop(tls *libc.TLS, p uintptr) { /* sqlite3.c:197408:13: */ var i int32 var j int32 var k int32 @@ -157886,7 +157917,7 @@ func rtreeSearchPointPop(tls *libc.TLS, p uintptr) { /* sqlite3.c:197351:13: */ // contains an entry suitable for returning as a result-set row, // or until the RtreeSearchPoint queue is empty, indicating that the // query has completed. -func rtreeStepToLeaf(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:197399:12: */ +func rtreeStepToLeaf(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:197456:12: */ bp := tls.Alloc(20) defer tls.Free(20) @@ -157979,7 +158010,7 @@ func rtreeStepToLeaf(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:197399:12 } // Rtree virtual table module xNext method. -func rtreeNext(tls *libc.TLS, pVtabCursor uintptr) int32 { /* sqlite3.c:197480:12: */ +func rtreeNext(tls *libc.TLS, pVtabCursor uintptr) int32 { /* sqlite3.c:197537:12: */ var pCsr uintptr = pVtabCursor var rc int32 = SQLITE_OK @@ -157995,7 +158026,7 @@ func rtreeNext(tls *libc.TLS, pVtabCursor uintptr) int32 { /* sqlite3.c:197480:1 } // Rtree virtual table module xRowid method. -func rtreeRowid(tls *libc.TLS, pVtabCursor uintptr, pRowid uintptr) int32 { /* sqlite3.c:197498:12: */ +func rtreeRowid(tls *libc.TLS, pVtabCursor uintptr, pRowid uintptr) int32 { /* sqlite3.c:197555:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -158010,7 +158041,7 @@ func rtreeRowid(tls *libc.TLS, pVtabCursor uintptr, pRowid uintptr) int32 { /* s } // Rtree virtual table module xColumn method. -func rtreeColumn(tls *libc.TLS, cur uintptr, ctx uintptr, i int32) int32 { /* sqlite3.c:197512:12: */ +func rtreeColumn(tls *libc.TLS, cur uintptr, ctx uintptr, i int32) int32 { /* sqlite3.c:197569:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -158071,7 +158102,7 @@ func rtreeColumn(tls *libc.TLS, cur uintptr, ctx uintptr, i int32) int32 { /* sq // return SQLITE_OK. If there is no such record in the table, set // *ppLeaf to 0 and return SQLITE_OK. If an error occurs, set *ppLeaf // to zero and return an SQLite error code. -func findLeafNode(tls *libc.TLS, pRtree uintptr, iRowid I64, ppLeaf uintptr, piNode uintptr) int32 { /* sqlite3.c:197566:12: */ +func findLeafNode(tls *libc.TLS, pRtree uintptr, iRowid I64, ppLeaf uintptr, piNode uintptr) int32 { /* sqlite3.c:197623:12: */ var rc int32 *(*uintptr)(unsafe.Pointer(ppLeaf)) = uintptr(0) Xsqlite3_bind_int64(tls, (*Rtree)(unsafe.Pointer(pRtree)).FpReadRowid, 1, iRowid) @@ -158092,7 +158123,7 @@ func findLeafNode(tls *libc.TLS, pRtree uintptr, iRowid I64, ppLeaf uintptr, piN // as the second argument for a MATCH constraint. The value passed as the // first argument to this function is the right-hand operand to the MATCH // operator. -func deserializeGeometry(tls *libc.TLS, pValue uintptr, pCons uintptr) int32 { /* sqlite3.c:197592:12: */ +func deserializeGeometry(tls *libc.TLS, pValue uintptr, pCons uintptr) int32 { /* sqlite3.c:197649:12: */ var pBlob uintptr var pSrc uintptr // BLOB returned by geometry function var pInfo uintptr // Callback information @@ -158124,7 +158155,7 @@ func deserializeGeometry(tls *libc.TLS, pValue uintptr, pCons uintptr) int32 { / } // Rtree virtual table module xFilter method. -func rtreeFilter(tls *libc.TLS, pVtabCursor uintptr, idxNum int32, idxStr uintptr, argc int32, argv uintptr) int32 { /* sqlite3.c:197622:12: */ +func rtreeFilter(tls *libc.TLS, pVtabCursor uintptr, idxNum int32, idxStr uintptr, argc int32, argv uintptr) int32 { /* sqlite3.c:197679:12: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -158267,7 +158298,7 @@ func rtreeFilter(tls *libc.TLS, pVtabCursor uintptr, idxNum int32, idxStr uintpt // The second of each pair of bytes identifies the coordinate column // to which the constraint applies. The leftmost coordinate column // is 'a', the second from the left 'b' etc. -func rtreeBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 { /* sqlite3.c:197775:12: */ +func rtreeBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 { /* sqlite3.c:197832:12: */ bp := tls.Alloc(49) defer tls.Free(49) @@ -158374,7 +158405,7 @@ func rtreeBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 { /* sql } // Return the N-dimensional volumn of the cell stored in *p. -func cellArea(tls *libc.TLS, pRtree uintptr, p uintptr) RtreeDValue { /* sqlite3.c:197864:20: */ +func cellArea(tls *libc.TLS, pRtree uintptr, p uintptr) RtreeDValue { /* sqlite3.c:197921:20: */ var area RtreeDValue = RtreeDValue(1) if int32((*Rtree)(unsafe.Pointer(pRtree)).FeCoordType) == RTREE_COORD_REAL32 { @@ -158417,7 +158448,7 @@ func cellArea(tls *libc.TLS, pRtree uintptr, p uintptr) RtreeDValue { /* sqlite3 // Return the margin length of cell p. The margin length is the sum // of the objects size in each dimension. -func cellMargin(tls *libc.TLS, pRtree uintptr, p uintptr) RtreeDValue { /* sqlite3.c:197894:20: */ +func cellMargin(tls *libc.TLS, pRtree uintptr, p uintptr) RtreeDValue { /* sqlite3.c:197951:20: */ var margin RtreeDValue = RtreeDValue(0) var ii int32 = int32((*Rtree)(unsafe.Pointer(pRtree)).FnDim2) - 2 for __ccgo := true; __ccgo; __ccgo = ii >= 0 { @@ -158438,7 +158469,7 @@ func cellMargin(tls *libc.TLS, pRtree uintptr, p uintptr) RtreeDValue { /* sqlit } // Store the union of cells p1 and p2 in p1. -func cellUnion(tls *libc.TLS, pRtree uintptr, p1 uintptr, p2 uintptr) { /* sqlite3.c:197907:13: */ +func cellUnion(tls *libc.TLS, pRtree uintptr, p1 uintptr, p2 uintptr) { /* sqlite3.c:197964:13: */ var ii int32 = 0 if int32((*Rtree)(unsafe.Pointer(pRtree)).FeCoordType) == RTREE_COORD_REAL32 { for __ccgo := true; __ccgo; __ccgo = ii < int32((*Rtree)(unsafe.Pointer(pRtree)).FnDim2) { @@ -158477,7 +158508,7 @@ func cellUnion(tls *libc.TLS, pRtree uintptr, p1 uintptr, p2 uintptr) { /* sqlit // Return true if the area covered by p2 is a subset of the area covered // by p1. False otherwise. -func cellContains(tls *libc.TLS, pRtree uintptr, p1 uintptr, p2 uintptr) int32 { /* sqlite3.c:197928:12: */ +func cellContains(tls *libc.TLS, pRtree uintptr, p1 uintptr, p2 uintptr) int32 { /* sqlite3.c:197985:12: */ var ii int32 var isInt int32 = libc.Bool32(int32((*Rtree)(unsafe.Pointer(pRtree)).FeCoordType) == RTREE_COORD_INT32) for ii = 0; ii < int32((*Rtree)(unsafe.Pointer(pRtree)).FnDim2); ii = ii + 2 { @@ -158492,7 +158523,7 @@ func cellContains(tls *libc.TLS, pRtree uintptr, p1 uintptr, p2 uintptr) int32 { } // Return the amount cell p would grow by if it were unioned with pCell. -func cellGrowth(tls *libc.TLS, pRtree uintptr, p uintptr, pCell uintptr) RtreeDValue { /* sqlite3.c:197946:20: */ +func cellGrowth(tls *libc.TLS, pRtree uintptr, p uintptr, pCell uintptr) RtreeDValue { /* sqlite3.c:198003:20: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -158505,7 +158536,7 @@ func cellGrowth(tls *libc.TLS, pRtree uintptr, p uintptr, pCell uintptr) RtreeDV return cellArea(tls, pRtree, bp) - area } -func cellOverlap(tls *libc.TLS, pRtree uintptr, p uintptr, aCell uintptr, nCell int32) RtreeDValue { /* sqlite3.c:197955:20: */ +func cellOverlap(tls *libc.TLS, pRtree uintptr, p uintptr, aCell uintptr, nCell int32) RtreeDValue { /* sqlite3.c:198012:20: */ var ii int32 var overlap RtreeDValue = 0.0 for ii = 0; ii < nCell; ii++ { @@ -158580,7 +158611,7 @@ func cellOverlap(tls *libc.TLS, pRtree uintptr, p uintptr, aCell uintptr, nCell // This function implements the ChooseLeaf algorithm from Gutman[84]. // ChooseSubTree in r*tree terminology. -func sChooseLeaf(tls *libc.TLS, pRtree uintptr, pCell uintptr, iHeight int32, ppLeaf uintptr) int32 { /* sqlite3.c:197987:12: */ +func sChooseLeaf(tls *libc.TLS, pRtree uintptr, pCell uintptr, iHeight int32, ppLeaf uintptr) int32 { /* sqlite3.c:198044:12: */ bp := tls.Alloc(64) defer tls.Free(64) @@ -158636,7 +158667,7 @@ func sChooseLeaf(tls *libc.TLS, pRtree uintptr, pCell uintptr, iHeight int32, pp // A cell with the same content as pCell has just been inserted into // the node pNode. This function updates the bounding box cells in // all ancestor elements. -func sAdjustTree(tls *libc.TLS, pRtree uintptr, pNode uintptr, pCell uintptr) int32 { /* sqlite3.c:198047:12: */ +func sAdjustTree(tls *libc.TLS, pRtree uintptr, pNode uintptr, pCell uintptr) int32 { /* sqlite3.c:198104:12: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -158672,7 +158703,7 @@ func sAdjustTree(tls *libc.TLS, pRtree uintptr, pNode uintptr, pCell uintptr) in } // Write mapping (iRowid->iNode) to the _rowid table. -func rowidWrite(tls *libc.TLS, pRtree uintptr, iRowid Sqlite3_int64, iNode Sqlite3_int64) int32 { /* sqlite3.c:198085:12: */ +func rowidWrite(tls *libc.TLS, pRtree uintptr, iRowid Sqlite3_int64, iNode Sqlite3_int64) int32 { /* sqlite3.c:198142:12: */ Xsqlite3_bind_int64(tls, (*Rtree)(unsafe.Pointer(pRtree)).FpWriteRowid, 1, iRowid) Xsqlite3_bind_int64(tls, (*Rtree)(unsafe.Pointer(pRtree)).FpWriteRowid, 2, iNode) Xsqlite3_step(tls, (*Rtree)(unsafe.Pointer(pRtree)).FpWriteRowid) @@ -158680,7 +158711,7 @@ func rowidWrite(tls *libc.TLS, pRtree uintptr, iRowid Sqlite3_int64, iNode Sqlit } // Write mapping (iNode->iPar) to the _parent table. -func parentWrite(tls *libc.TLS, pRtree uintptr, iNode Sqlite3_int64, iPar Sqlite3_int64) int32 { /* sqlite3.c:198095:12: */ +func parentWrite(tls *libc.TLS, pRtree uintptr, iNode Sqlite3_int64, iPar Sqlite3_int64) int32 { /* sqlite3.c:198152:12: */ Xsqlite3_bind_int64(tls, (*Rtree)(unsafe.Pointer(pRtree)).FpWriteParent, 1, iNode) Xsqlite3_bind_int64(tls, (*Rtree)(unsafe.Pointer(pRtree)).FpWriteParent, 2, iPar) Xsqlite3_step(tls, (*Rtree)(unsafe.Pointer(pRtree)).FpWriteParent) @@ -158702,7 +158733,7 @@ func parentWrite(tls *libc.TLS, pRtree uintptr, iNode Sqlite3_int64, iPar Sqlite // // The aSpare array is used as temporary working space by the // sorting algorithm. -func sSortByDistance(tls *libc.TLS, aIdx uintptr, nIdx int32, aDistance uintptr, aSpare uintptr) { /* sqlite3.c:198122:13: */ +func sSortByDistance(tls *libc.TLS, aIdx uintptr, nIdx int32, aDistance uintptr, aSpare uintptr) { /* sqlite3.c:198179:13: */ if nIdx > 1 { var iLeft int32 = 0 var iRight int32 = 0 @@ -158750,7 +158781,7 @@ func sSortByDistance(tls *libc.TLS, aIdx uintptr, nIdx int32, aDistance uintptr, // // The aSpare array is used as temporary working space by the // sorting algorithm. -func sSortByDimension(tls *libc.TLS, pRtree uintptr, aIdx uintptr, nIdx int32, iDim int32, aCell uintptr, aSpare uintptr) { /* sqlite3.c:198188:13: */ +func sSortByDimension(tls *libc.TLS, pRtree uintptr, aIdx uintptr, nIdx int32, iDim int32, aCell uintptr, aSpare uintptr) { /* sqlite3.c:198245:13: */ if nIdx > 1 { var iLeft int32 = 0 @@ -158806,7 +158837,7 @@ func sSortByDimension(tls *libc.TLS, pRtree uintptr, aIdx uintptr, nIdx int32, i } // Implementation of the R*-tree variant of SplitNode from Beckman[1990]. -func splitNodeStartree(tls *libc.TLS, pRtree uintptr, aCell uintptr, nCell int32, pLeft uintptr, pRight uintptr, pBboxLeft uintptr, pBboxRight uintptr) int32 { /* sqlite3.c:198247:12: */ +func splitNodeStartree(tls *libc.TLS, pRtree uintptr, aCell uintptr, nCell int32, pLeft uintptr, pRight uintptr, pBboxLeft uintptr, pBboxRight uintptr) int32 { /* sqlite3.c:198304:12: */ bp := tls.Alloc(96) defer tls.Free(96) @@ -158905,7 +158936,7 @@ func splitNodeStartree(tls *libc.TLS, pRtree uintptr, aCell uintptr, nCell int32 return SQLITE_OK } -func updateMapping(tls *libc.TLS, pRtree uintptr, iRowid I64, pNode uintptr, iHeight int32) int32 { /* sqlite3.c:198345:12: */ +func updateMapping(tls *libc.TLS, pRtree uintptr, iRowid I64, pNode uintptr, iHeight int32) int32 { /* sqlite3.c:198402:12: */ var xSetMapping uintptr xSetMapping = func() uintptr { if iHeight == 0 { @@ -158939,7 +158970,7 @@ func updateMapping(tls *libc.TLS, pRtree uintptr, iRowid I64, pNode uintptr, iHe })(unsafe.Pointer(&struct{ uintptr }{xSetMapping})).f(tls, pRtree, iRowid, (*RtreeNode)(unsafe.Pointer(pNode)).FiNode) } -func sSplitNode(tls *libc.TLS, pRtree uintptr, pNode uintptr, pCell uintptr, iHeight int32) int32 { /* sqlite3.c:198369:12: */ +func sSplitNode(tls *libc.TLS, pRtree uintptr, pNode uintptr, pCell uintptr, iHeight int32) int32 { /* sqlite3.c:198426:12: */ bp := tls.Alloc(100) defer tls.Free(100) @@ -159174,7 +159205,7 @@ splitnode_out: // rowid of the row to delete, which can be used to find the leaf on which // the entry resides (argument pLeaf). Once the leaf is located, this // function is called to determine its ancestry. -func fixLeafParent(tls *libc.TLS, pRtree uintptr, pLeaf uintptr) int32 { /* sqlite3.c:198517:12: */ +func fixLeafParent(tls *libc.TLS, pRtree uintptr, pLeaf uintptr) int32 { /* sqlite3.c:198574:12: */ var rc int32 = SQLITE_OK var pChild uintptr = pLeaf for rc == SQLITE_OK && (*RtreeNode)(unsafe.Pointer(pChild)).FiNode != int64(1) && (*RtreeNode)(unsafe.Pointer(pChild)).FpParent == uintptr(0) { @@ -159209,7 +159240,7 @@ func fixLeafParent(tls *libc.TLS, pRtree uintptr, pLeaf uintptr) int32 { /* sqli return rc } -func removeNode(tls *libc.TLS, pRtree uintptr, pNode uintptr, iHeight int32) int32 { /* sqlite3.c:198552:12: */ +func removeNode(tls *libc.TLS, pRtree uintptr, pNode uintptr, iHeight int32) int32 { /* sqlite3.c:198609:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -159259,7 +159290,7 @@ func removeNode(tls *libc.TLS, pRtree uintptr, pNode uintptr, iHeight int32) int return SQLITE_OK } -func fixBoundingBox(tls *libc.TLS, pRtree uintptr, pNode uintptr) int32 { /* sqlite3.c:198602:12: */ +func fixBoundingBox(tls *libc.TLS, pRtree uintptr, pNode uintptr) int32 { /* sqlite3.c:198659:12: */ bp := tls.Alloc(100) defer tls.Free(100) @@ -159290,7 +159321,7 @@ func fixBoundingBox(tls *libc.TLS, pRtree uintptr, pNode uintptr) int32 { /* sql // Delete the cell at index iCell of node pNode. After removing the // cell, adjust the r-tree data structure if required. -func deleteCell(tls *libc.TLS, pRtree uintptr, pNode uintptr, iCell int32, iHeight int32) int32 { /* sqlite3.c:198629:12: */ +func deleteCell(tls *libc.TLS, pRtree uintptr, pNode uintptr, iCell int32, iHeight int32) int32 { /* sqlite3.c:198686:12: */ var pParent uintptr var rc int32 @@ -159319,7 +159350,7 @@ func deleteCell(tls *libc.TLS, pRtree uintptr, pNode uintptr, iCell int32, iHeig return rc } -func sReinsert(tls *libc.TLS, pRtree uintptr, pNode uintptr, pCell uintptr, iHeight int32) int32 { /* sqlite3.c:198660:12: */ +func sReinsert(tls *libc.TLS, pRtree uintptr, pNode uintptr, pCell uintptr, iHeight int32) int32 { /* sqlite3.c:198717:12: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -159434,7 +159465,7 @@ func sReinsert(tls *libc.TLS, pRtree uintptr, pNode uintptr, pCell uintptr, iHei // Insert cell pCell into node pNode. Node pNode is the head of a // subtree iHeight high (leaf nodes have iHeight==0). -func rtreeInsertCell(tls *libc.TLS, pRtree uintptr, pNode uintptr, pCell uintptr, iHeight int32) int32 { /* sqlite3.c:198765:12: */ +func rtreeInsertCell(tls *libc.TLS, pRtree uintptr, pNode uintptr, pCell uintptr, iHeight int32) int32 { /* sqlite3.c:198822:12: */ var rc int32 = SQLITE_OK if iHeight > 0 { var pChild uintptr = nodeHashLookup(tls, pRtree, (*RtreeCell)(unsafe.Pointer(pCell)).FiRowid) @@ -159464,7 +159495,7 @@ func rtreeInsertCell(tls *libc.TLS, pRtree uintptr, pNode uintptr, pCell uintptr return rc } -func reinsertNodeContent(tls *libc.TLS, pRtree uintptr, pNode uintptr) int32 { /* sqlite3.c:198800:12: */ +func reinsertNodeContent(tls *libc.TLS, pRtree uintptr, pNode uintptr) int32 { /* sqlite3.c:198857:12: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -159495,7 +159526,7 @@ func reinsertNodeContent(tls *libc.TLS, pRtree uintptr, pNode uintptr) int32 { / } // Select a currently unused rowid for a new r-tree record. -func rtreeNewRowid(tls *libc.TLS, pRtree uintptr, piRowid uintptr) int32 { /* sqlite3.c:198829:12: */ +func rtreeNewRowid(tls *libc.TLS, pRtree uintptr, piRowid uintptr) int32 { /* sqlite3.c:198886:12: */ var rc int32 Xsqlite3_bind_null(tls, (*Rtree)(unsafe.Pointer(pRtree)).FpWriteRowid, 1) Xsqlite3_bind_null(tls, (*Rtree)(unsafe.Pointer(pRtree)).FpWriteRowid, 2) @@ -159506,7 +159537,7 @@ func rtreeNewRowid(tls *libc.TLS, pRtree uintptr, piRowid uintptr) int32 { /* sq } // Remove the entry with rowid=iDelete from the r-tree structure. -func rtreeDeleteRowid(tls *libc.TLS, pRtree uintptr, iDelete Sqlite3_int64) int32 { /* sqlite3.c:198842:12: */ +func rtreeDeleteRowid(tls *libc.TLS, pRtree uintptr, iDelete Sqlite3_int64) int32 { /* sqlite3.c:198899:12: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -159595,7 +159626,7 @@ func rtreeDeleteRowid(tls *libc.TLS, pRtree uintptr, iDelete Sqlite3_int64) int3 // Convert an sqlite3_value into an RtreeValue (presumably a float) // while taking care to round toward negative or positive, respectively. -func rtreeValueDown(tls *libc.TLS, v uintptr) RtreeValue { /* sqlite3.c:198939:19: */ +func rtreeValueDown(tls *libc.TLS, v uintptr) RtreeValue { /* sqlite3.c:198996:19: */ var d float64 = Xsqlite3_value_double(tls, v) var f float32 = float32(d) if float64(f) > d { @@ -159609,7 +159640,7 @@ func rtreeValueDown(tls *libc.TLS, v uintptr) RtreeValue { /* sqlite3.c:198939:1 return f } -func rtreeValueUp(tls *libc.TLS, v uintptr) RtreeValue { /* sqlite3.c:198947:19: */ +func rtreeValueUp(tls *libc.TLS, v uintptr) RtreeValue { /* sqlite3.c:199004:19: */ var d float64 = Xsqlite3_value_double(tls, v) var f float32 = float32(d) if float64(f) < d { @@ -159634,7 +159665,7 @@ func rtreeValueUp(tls *libc.TLS, v uintptr) RtreeValue { /* sqlite3.c:198947:19: // (c1<=c2) constraint on columns iCol and iCol+1 that has failed. // // If an OOM occurs, SQLITE_NOMEM is returned instead of SQLITE_CONSTRAINT. -func rtreeConstraintError(tls *libc.TLS, pRtree uintptr, iCol int32) int32 { /* sqlite3.c:198970:12: */ +func rtreeConstraintError(tls *libc.TLS, pRtree uintptr, iCol int32) int32 { /* sqlite3.c:199027:12: */ bp := tls.Alloc(64) defer tls.Free(64) @@ -159673,7 +159704,7 @@ func rtreeConstraintError(tls *libc.TLS, pRtree uintptr, iCol int32) int32 { /* } // The xUpdate method for rtree module virtual tables. -func rtreeUpdate(tls *libc.TLS, pVtab uintptr, nData int32, aData uintptr, pRowid uintptr) int32 { /* sqlite3.c:199008:12: */ +func rtreeUpdate(tls *libc.TLS, pVtab uintptr, nData int32, aData uintptr, pRowid uintptr) int32 { /* sqlite3.c:199065:12: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -159902,7 +159933,7 @@ constraint: } // Called when a transaction starts. -func rtreeBeginTransaction(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:199156:12: */ +func rtreeBeginTransaction(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:199213:12: */ var pRtree uintptr = pVtab (*Rtree)(unsafe.Pointer(pRtree)).FinWrTrans++ @@ -159911,7 +159942,7 @@ func rtreeBeginTransaction(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:19 // Called when a transaction completes (either by COMMIT or ROLLBACK). // The sqlite3_blob object should be released at this point. -func rtreeEndTransaction(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:199167:12: */ +func rtreeEndTransaction(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:199224:12: */ var pRtree uintptr = pVtab (*Rtree)(unsafe.Pointer(pRtree)).FinWrTrans = U8(0) nodeBlobReset(tls, pRtree) @@ -159919,7 +159950,7 @@ func rtreeEndTransaction(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:1991 } // The xRename method for rtree module virtual tables. -func rtreeRename(tls *libc.TLS, pVtab uintptr, zNewName uintptr) int32 { /* sqlite3.c:199177:12: */ +func rtreeRename(tls *libc.TLS, pVtab uintptr, zNewName uintptr) int32 { /* sqlite3.c:199234:12: */ bp := tls.Alloc(72) defer tls.Free(72) @@ -159948,7 +159979,7 @@ func rtreeRename(tls *libc.TLS, pVtab uintptr, zNewName uintptr) int32 { /* sqli // INSERT INTO rtree... // DROP TABLE ; -- Would fail with SQLITE_LOCKED // COMMIT; -func rtreeSavepoint(tls *libc.TLS, pVtab uintptr, iSavepoint int32) int32 { /* sqlite3.c:199210:12: */ +func rtreeSavepoint(tls *libc.TLS, pVtab uintptr, iSavepoint int32) int32 { /* sqlite3.c:199267:12: */ var pRtree uintptr = pVtab var iwt U8 = (*Rtree)(unsafe.Pointer(pRtree)).FinWrTrans _ = iSavepoint @@ -159961,7 +159992,7 @@ func rtreeSavepoint(tls *libc.TLS, pVtab uintptr, iSavepoint int32) int32 { /* s // This function populates the pRtree->nRowEst variable with an estimate // of the number of rows in the virtual table. If possible, this is based // on sqlite_stat1 data. Otherwise, use RTREE_DEFAULT_ROWEST. -func rtreeQueryStat1(tls *libc.TLS, db uintptr, pRtree uintptr) int32 { /* sqlite3.c:199225:12: */ +func rtreeQueryStat1(tls *libc.TLS, db uintptr, pRtree uintptr) int32 { /* sqlite3.c:199282:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -160005,7 +160036,7 @@ func rtreeQueryStat1(tls *libc.TLS, db uintptr, pRtree uintptr) int32 { /* sqlit // Return true if zName is the extension on one of the shadow tables used // by this module. -func rtreeShadowName(tls *libc.TLS, zName uintptr) int32 { /* sqlite3.c:199259:12: */ +func rtreeShadowName(tls *libc.TLS, zName uintptr) int32 { /* sqlite3.c:199316:12: */ var i uint32 for i = uint32(0); uint64(i) < uint64(unsafe.Sizeof(azName1))/uint64(unsafe.Sizeof(uintptr(0))); i++ { if Xsqlite3_stricmp(tls, zName, azName1[i]) == 0 { @@ -160017,7 +160048,7 @@ func rtreeShadowName(tls *libc.TLS, zName uintptr) int32 { /* sqlite3.c:199259:1 var azName1 = [3]uintptr{ ts + 25260, ts + 5002, ts + 16165, -} /* sqlite3.c:199260:21 */ +} /* sqlite3.c:199317:21 */ var rtreeModule = Sqlite3_module{ FiVersion: 3, // iVersion @@ -160041,9 +160072,9 @@ var rtreeModule = Sqlite3_module{ FxRename: 0, // xRename - rename the table FxSavepoint: 0, // xRollbackTo FxShadowName: 0, // xShadowName -} /* sqlite3.c:199270:23 */ +} /* sqlite3.c:199327:23 */ -func rtreeSqlInit(tls *libc.TLS, pRtree uintptr, db uintptr, zDb uintptr, zPrefix uintptr, isCreate int32) int32 { /* sqlite3.c:199297:12: */ +func rtreeSqlInit(tls *libc.TLS, pRtree uintptr, db uintptr, zDb uintptr, zPrefix uintptr, isCreate int32) int32 { /* sqlite3.c:199354:12: */ bp := tls.Alloc(232) defer tls.Free(232) @@ -160160,14 +160191,14 @@ var azSql = [8]uintptr{ ts + 25990, ts + 26048, ts + 26103, -} /* sqlite3.c:199307:21 */ +} /* sqlite3.c:199364:21 */ // The second argument to this function contains the text of an SQL statement // that returns a single integer value. The statement is compiled and executed // using database connection db. If successful, the integer value returned // is written to *piVal and SQLITE_OK returned. Otherwise, an SQLite error // code is returned and the value of *piVal after returning is not defined. -func getIntFromStmt(tls *libc.TLS, db uintptr, zSql uintptr, piVal uintptr) int32 { /* sqlite3.c:199430:12: */ +func getIntFromStmt(tls *libc.TLS, db uintptr, zSql uintptr, piVal uintptr) int32 { /* sqlite3.c:199487:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -160198,7 +160229,7 @@ func getIntFromStmt(tls *libc.TLS, db uintptr, zSql uintptr, piVal uintptr) int3 // This ensures that each node is stored on a single database page. If the // database page-size is so large that more than RTREE_MAXCELLS entries // would fit in a single node, use a smaller node-size. -func getNodeSize(tls *libc.TLS, db uintptr, pRtree uintptr, isCreate int32, pzErr uintptr) int32 { /* sqlite3.c:199460:12: */ +func getNodeSize(tls *libc.TLS, db uintptr, pRtree uintptr, isCreate int32, pzErr uintptr) int32 { /* sqlite3.c:199517:12: */ bp := tls.Alloc(52) defer tls.Free(52) @@ -160236,7 +160267,7 @@ func getNodeSize(tls *libc.TLS, db uintptr, pRtree uintptr, isCreate int32, pzEr } // Return the length of a token -func rtreeTokenLength(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:199503:12: */ +func rtreeTokenLength(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:199560:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -160251,7 +160282,7 @@ func rtreeTokenLength(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:199503:12: // argv[1] -> database name // argv[2] -> table name // argv[...] -> column names... -func rtreeInit(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr, isCreate int32) int32 { /* sqlite3.c:199517:12: */ +func rtreeInit(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr, isCreate int32) int32 { /* sqlite3.c:199574:12: */ bp := tls.Alloc(136) defer tls.Free(136) @@ -160451,7 +160482,7 @@ __25: return rc } -var azFormat = [2]uintptr{ts + 26446, ts + 26457} /* sqlite3.c:199583:25 */ +var azFormat = [2]uintptr{ts + 26446, ts + 26457} /* sqlite3.c:199640:25 */ // Implementation of a scalar function that decodes r-tree nodes to // human readable strings. This can be used for debugging and analysis. @@ -160467,7 +160498,7 @@ var azFormat = [2]uintptr{ts + 26446, ts + 26457} /* sqlite3.c:199583:25 */ // entry for each cell in the r-tree node. Each entry is itself a // list, containing the 8-byte rowid/pageno followed by the // *2 coordinates. -func rtreenode(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:199654:13: */ +func rtreenode(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:199711:13: */ bp := tls.Alloc(1072) defer tls.Free(1072) @@ -160530,7 +160561,7 @@ func rtreenode(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) { /* sqlit // The depth value is 0 for all nodes other than the root node, and the root // node always has nodeno=1, so the example above is the primary use for this // routine. This routine is intended for testing and analysis only. -func rtreedepth(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:199706:13: */ +func rtreedepth(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:199763:13: */ _ = nArg if Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(apArg))) != SQLITE_BLOB || Xsqlite3_value_bytes(tls, *(*uintptr)(unsafe.Pointer(apArg))) < 2 { @@ -160562,15 +160593,15 @@ type RtreeCheck1 = struct { FzReport uintptr FnErr int32 F__ccgo_pad2 [4]byte -} /* sqlite3.c:199727:9 */ +} /* sqlite3.c:199784:9 */ // Context object passed between the various routines that make up the // implementation of integrity-check function rtreecheck(). -type RtreeCheck = RtreeCheck1 /* sqlite3.c:199727:27 */ +type RtreeCheck = RtreeCheck1 /* sqlite3.c:199784:27 */ // Reset SQL statement pStmt. If the sqlite3_reset() call returns an error, // and RtreeCheck.rc==SQLITE_OK, set RtreeCheck.rc to the error code. -func rtreeCheckReset(tls *libc.TLS, pCheck uintptr, pStmt uintptr) { /* sqlite3.c:199749:13: */ +func rtreeCheckReset(tls *libc.TLS, pCheck uintptr, pStmt uintptr) { /* sqlite3.c:199806:13: */ var rc int32 = Xsqlite3_reset(tls, pStmt) if (*RtreeCheck)(unsafe.Pointer(pCheck)).Frc == SQLITE_OK { (*RtreeCheck)(unsafe.Pointer(pCheck)).Frc = rc @@ -160583,7 +160614,7 @@ func rtreeCheckReset(tls *libc.TLS, pCheck uintptr, pStmt uintptr) { /* sqlite3. // // If successful, a pointer to the new SQL statement is returned. Otherwise, // NULL is returned and an error code left in RtreeCheck.rc. -func rtreeCheckPrepare(tls *libc.TLS, pCheck uintptr, zFmt uintptr, va uintptr) uintptr { /* sqlite3.c:199762:21: */ +func rtreeCheckPrepare(tls *libc.TLS, pCheck uintptr, zFmt uintptr, va uintptr) uintptr { /* sqlite3.c:199819:21: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -160611,7 +160642,7 @@ func rtreeCheckPrepare(tls *libc.TLS, pCheck uintptr, zFmt uintptr, va uintptr) // The second and subsequent arguments to this function are a printf() // style format string and arguments. This function formats the string and // appends it to the report being accumuated in pCheck. -func rtreeCheckAppendMsg(tls *libc.TLS, pCheck uintptr, zFmt uintptr, va uintptr) { /* sqlite3.c:199791:13: */ +func rtreeCheckAppendMsg(tls *libc.TLS, pCheck uintptr, zFmt uintptr, va uintptr) { /* sqlite3.c:199848:13: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -160651,7 +160682,7 @@ func rtreeCheckAppendMsg(tls *libc.TLS, pCheck uintptr, zFmt uintptr, va uintptr // Or, if an error does occur, NULL is returned and an error code left // in the RtreeCheck object. The final value of *pnNode is undefined in // this case. -func rtreeCheckGetNode(tls *libc.TLS, pCheck uintptr, iNode I64, pnNode uintptr) uintptr { /* sqlite3.c:199825:11: */ +func rtreeCheckGetNode(tls *libc.TLS, pCheck uintptr, iNode I64, pnNode uintptr) uintptr { /* sqlite3.c:199882:11: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -160695,7 +160726,7 @@ func rtreeCheckGetNode(tls *libc.TLS, pCheck uintptr, iNode I64, pnNode uintptr) // In both cases, this function checks that there exists an entry with // IPK value iKey and the second column set to iVal. // -func rtreeCheckMapping(tls *libc.TLS, pCheck uintptr, bLeaf int32, iKey I64, iVal I64) { /* sqlite3.c:199869:13: */ +func rtreeCheckMapping(tls *libc.TLS, pCheck uintptr, bLeaf int32, iKey I64, iVal I64) { /* sqlite3.c:199926:13: */ bp := tls.Alloc(96) defer tls.Free(96) @@ -160751,7 +160782,7 @@ func rtreeCheckMapping(tls *libc.TLS, pCheck uintptr, bLeaf int32, iKey I64, iVa // containing pCell. In this case it is also verified that the two // sets of coordinates are mutually consistent and an error message added // to the RtreeCheck object if they are not. -func rtreeCheckCellCoord(tls *libc.TLS, pCheck uintptr, iNode I64, iCell int32, pCell uintptr, pParent uintptr) { /* sqlite3.c:199921:13: */ +func rtreeCheckCellCoord(tls *libc.TLS, pCheck uintptr, iNode I64, iCell int32, pCell uintptr, pParent uintptr) { /* sqlite3.c:199978:13: */ bp := tls.Alloc(64) defer tls.Free(64) @@ -160809,7 +160840,7 @@ func rtreeCheckCellCoord(tls *libc.TLS, pCheck uintptr, iNode I64, iCell int32, // // If any problems are discovered, an error message is appended to the // report accumulated in the RtreeCheck object. -func rtreeCheckNode(tls *libc.TLS, pCheck uintptr, iDepth int32, aParent uintptr, iNode I64) { /* sqlite3.c:199967:13: */ +func rtreeCheckNode(tls *libc.TLS, pCheck uintptr, iDepth int32, aParent uintptr, iNode I64) { /* sqlite3.c:200024:13: */ bp := tls.Alloc(52) defer tls.Free(52) @@ -160863,7 +160894,7 @@ func rtreeCheckNode(tls *libc.TLS, pCheck uintptr, iDepth int32, aParent uintptr // %_rowid or %_parent table is exactly nExpect. If not, it adds // an error message to the report in the RtreeCheck object indicated // by the first argument. -func rtreeCheckCount(tls *libc.TLS, pCheck uintptr, zTbl uintptr, nExpect I64) { /* sqlite3.c:200030:13: */ +func rtreeCheckCount(tls *libc.TLS, pCheck uintptr, zTbl uintptr, nExpect I64) { /* sqlite3.c:200087:13: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -160886,7 +160917,7 @@ func rtreeCheckCount(tls *libc.TLS, pCheck uintptr, zTbl uintptr, nExpect I64) { // This function does the bulk of the work for the rtree integrity-check. // It is called by rtreecheck(), which is the SQL function implementation. -func rtreeCheckTable(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, pzReport uintptr) int32 { /* sqlite3.c:200054:12: */ +func rtreeCheckTable(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, pzReport uintptr) int32 { /* sqlite3.c:200111:12: */ bp := tls.Alloc(120) defer tls.Free(120) @@ -160993,7 +161024,7 @@ func rtreeCheckTable(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, pzRep // as there are non-leaf cells in the r-tree structure, and that // there is a non-leaf cell that corresponds to each entry in the // %_parent table. -func rtreecheck(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:200161:13: */ +func rtreecheck(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:200218:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -161056,7 +161087,7 @@ func rtreecheck(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) { /* sqli // Compiler and version // Datatype for coordinates -type GeoCoord = float32 /* sqlite3.c:200282:15 */ +type GeoCoord = float32 /* sqlite3.c:200339:15 */ // Internal representation of a polygon. // @@ -161082,7 +161113,7 @@ type GeoPoly1 = struct { FnVertex int32 Fhdr [4]uint8 Fa [8]GeoCoord -} /* sqlite3.c:200306:9 */ +} /* sqlite3.c:200363:9 */ // Internal representation of a polygon. // @@ -161104,7 +161135,7 @@ type GeoPoly1 = struct { // warnings coming from some compiler (notably, clang). In reality, the size // of each GeoPoly memory allocate is adjusted as necessary so that the // GeoPoly.a[] array at the end is the appropriate size. -type GeoPoly = GeoPoly1 /* sqlite3.c:200306:24 */ +type GeoPoly = GeoPoly1 /* sqlite3.c:200363:24 */ // The size of a memory allocation needed for a GeoPoly object sufficient // to hold N coordinate pairs. @@ -161121,7 +161152,7 @@ type GeoParse1 = struct { FnErr int32 F__ccgo_pad1 [4]byte Fa uintptr -} /* sqlite3.c:200329:9 */ +} /* sqlite3.c:200386:9 */ // The size of a memory allocation needed for a GeoPoly object sufficient // to hold N coordinate pairs. @@ -161131,10 +161162,10 @@ type GeoParse1 = struct { // to silence (incorrect) UBSAN warnings if the array index is too large. // State of a parse of a GeoJSON input. -type GeoParse = GeoParse1 /* sqlite3.c:200329:25 */ +type GeoParse = GeoParse1 /* sqlite3.c:200386:25 */ // Do a 4-byte byte swap -func geopolySwab32(tls *libc.TLS, a uintptr) { /* sqlite3.c:200339:13: */ +func geopolySwab32(tls *libc.TLS, a uintptr) { /* sqlite3.c:200396:13: */ var t uint8 = *(*uint8)(unsafe.Pointer(a)) *(*uint8)(unsafe.Pointer(a)) = *(*uint8)(unsafe.Pointer(a + 3)) *(*uint8)(unsafe.Pointer(a + 3)) = t @@ -161144,7 +161175,7 @@ func geopolySwab32(tls *libc.TLS, a uintptr) { /* sqlite3.c:200339:13: */ } // Skip whitespace. Return the next non-whitespace character. -func geopolySkipSpace(tls *libc.TLS, p uintptr) uint8 { /* sqlite3.c:200349:13: */ +func geopolySkipSpace(tls *libc.TLS, p uintptr) uint8 { /* sqlite3.c:200406:13: */ for jsonIsSpace[*(*uint8)(unsafe.Pointer((*GeoParse)(unsafe.Pointer(p)).Fz))] != 0 { (*GeoParse)(unsafe.Pointer(p)).Fz++ } @@ -161153,7 +161184,7 @@ func geopolySkipSpace(tls *libc.TLS, p uintptr) uint8 { /* sqlite3.c:200349:13: // Parse out a number. Write the value into *pVal if pVal!=0. // return non-zero on success and zero if the next token is not a number. -func geopolyParseNumber(tls *libc.TLS, p uintptr, pVal uintptr) int32 { /* sqlite3.c:200357:12: */ +func geopolyParseNumber(tls *libc.TLS, p uintptr, pVal uintptr) int32 { /* sqlite3.c:200414:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -161225,7 +161256,7 @@ func geopolyParseNumber(tls *libc.TLS, p uintptr, pVal uintptr) int32 { /* sqlit // that object. // // If any error occurs, return NULL. -func geopolyParseJson(tls *libc.TLS, z uintptr, pRc uintptr) uintptr { /* sqlite3.c:200415:16: */ +func geopolyParseJson(tls *libc.TLS, z uintptr, pRc uintptr) uintptr { /* sqlite3.c:200472:16: */ bp := tls.Alloc(36) defer tls.Free(36) @@ -161367,7 +161398,7 @@ __16: // in the binary format or JSON text. Compute a GeoPoly object and // return a pointer to that object. Or if the input is not a well-formed // polygon, put an error message in sqlite3_context and return NULL. -func geopolyFuncParam(tls *libc.TLS, pCtx uintptr, pVal uintptr, pRc uintptr) uintptr { /* sqlite3.c:200492:16: */ +func geopolyFuncParam(tls *libc.TLS, pCtx uintptr, pVal uintptr, pRc uintptr) uintptr { /* sqlite3.c:200549:16: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -161436,7 +161467,7 @@ func geopolyFuncParam(tls *libc.TLS, pCtx uintptr, pVal uintptr, pRc uintptr) ui // If the input is a well-formed Geopoly BLOB or JSON string // then return the BLOB representation of the polygon. Otherwise // return NULL. -func geopolyBlobFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:200553:13: */ +func geopolyBlobFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:200610:13: */ var p uintptr = geopolyFuncParam(tls, context, *(*uintptr)(unsafe.Pointer(argv)), uintptr(0)) if p != 0 { Xsqlite3_result_blob(tls, context, p+4, @@ -161449,7 +161480,7 @@ func geopolyBlobFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { // // Interpret X as a polygon and render it as a JSON array // of coordinates. Or, if X is not a valid polygon, return NULL. -func geopolyJsonFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:200572:13: */ +func geopolyJsonFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:200629:13: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -161472,7 +161503,7 @@ func geopolyJsonFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { // // Interpret X as a polygon and render it as a SVG . // Additional arguments are added as attributes to the . -func geopolySvgFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:200598:13: */ +func geopolySvgFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:200655:13: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -161518,7 +161549,7 @@ func geopolySvgFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { // Rotate by R around the point (0,0): // // geopoly_xform(poly, cos(R), sin(R), -sin(R), cos(R), 0, 0) -func geopolyXformFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:200645:13: */ +func geopolyXformFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:200702:13: */ var p uintptr = geopolyFuncParam(tls, context, *(*uintptr)(unsafe.Pointer(argv)), uintptr(0)) var A float64 = Xsqlite3_value_double(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))) var B float64 = Xsqlite3_value_double(tls, *(*uintptr)(unsafe.Pointer(argv + 2*8))) @@ -161551,7 +161582,7 @@ func geopolyXformFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) // This routine can also be used to detect polygons that rotate in // the wrong direction. Polygons are suppose to be counter-clockwise (CCW). // This routine returns a negative value for clockwise (CW) polygons. -func geopolyArea(tls *libc.TLS, p uintptr) float64 { /* sqlite3.c:200681:15: */ +func geopolyArea(tls *libc.TLS, p uintptr) float64 { /* sqlite3.c:200738:15: */ var rArea float64 = 0.0 var ii int32 for ii = 0; ii < (*GeoPoly)(unsafe.Pointer(p)).FnVertex-1; ii++ { @@ -161571,7 +161602,7 @@ func geopolyArea(tls *libc.TLS, p uintptr) float64 { /* sqlite3.c:200681:15: */ // enclosed by the polygon. If the polygon circulates clockwise instead // of counterclockwise (as it should) then return the negative of the // enclosed area. Otherwise return NULL. -func geopolyAreaFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:200703:13: */ +func geopolyAreaFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:200760:13: */ var p uintptr = geopolyFuncParam(tls, context, *(*uintptr)(unsafe.Pointer(argv)), uintptr(0)) if p != 0 { Xsqlite3_result_double(tls, context, geopolyArea(tls, p)) @@ -161590,7 +161621,7 @@ func geopolyAreaFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { // // Use this routine to sanitize historical inputs that that sometimes // contain polygons that wind in the wrong direction. -func geopolyCcwFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:200728:13: */ +func geopolyCcwFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:200785:13: */ var p uintptr = geopolyFuncParam(tls, context, *(*uintptr)(unsafe.Pointer(argv)), uintptr(0)) if p != 0 { if geopolyArea(tls, p) < 0.0 { @@ -161626,7 +161657,7 @@ func geopolyCcwFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { } // Fast approximation for sine(X) for X between -0.5*pi and 2*pi -func geopolySine(tls *libc.TLS, r float64) float64 { /* sqlite3.c:200756:15: */ +func geopolySine(tls *libc.TLS, r float64) float64 { /* sqlite3.c:200813:15: */ if r >= float64(1.5)*3.1415926535897932385 { r = r - float64(2.0)*3.1415926535897932385 @@ -161646,7 +161677,7 @@ func geopolySine(tls *libc.TLS, r float64) float64 { /* sqlite3.c:200756:15: */ // // Construct a simple, convex, regular polygon centered at X, Y // with circumradius R and with N sides. -func geopolyRegularFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:200777:13: */ +func geopolyRegularFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:200834:13: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -161691,7 +161722,7 @@ func geopolyRegularFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr // // If pPoly is NULL but aCoord is not NULL, then compute a new GeoPoly from // the bounding box in aCoord and return a pointer to that GeoPoly. -func geopolyBBox(tls *libc.TLS, context uintptr, pPoly uintptr, aCoord uintptr, pRc uintptr) uintptr { /* sqlite3.c:200820:16: */ +func geopolyBBox(tls *libc.TLS, context uintptr, pPoly uintptr, aCoord uintptr, pRc uintptr) uintptr { /* sqlite3.c:200877:16: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -161832,7 +161863,7 @@ __4: } // Implementation of the geopoly_bbox(X) SQL function. -func geopolyBBoxFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:200891:13: */ +func geopolyBBoxFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:200948:13: */ var p uintptr = geopolyBBox(tls, context, *(*uintptr)(unsafe.Pointer(argv)), uintptr(0), uintptr(0)) if p != 0 { Xsqlite3_result_blob(tls, context, p+4, @@ -161845,13 +161876,13 @@ func geopolyBBoxFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { type GeoBBox1 = struct { FisInit int32 Fa [4]RtreeCoord -} /* sqlite3.c:200907:9 */ +} /* sqlite3.c:200964:9 */ // State vector for the geopoly_group_bbox() aggregate function. -type GeoBBox = GeoBBox1 /* sqlite3.c:200907:24 */ +type GeoBBox = GeoBBox1 /* sqlite3.c:200964:24 */ // Implementation of the geopoly_group_bbox(X) aggregate SQL function. -func geopolyBBoxStep(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:200917:13: */ +func geopolyBBoxStep(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:200974:13: */ bp := tls.Alloc(20) defer tls.Free(20) @@ -161885,7 +161916,7 @@ func geopolyBBoxStep(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { } } -func geopolyBBoxFinal(tls *libc.TLS, context uintptr) { /* sqlite3.c:200940:13: */ +func geopolyBBoxFinal(tls *libc.TLS, context uintptr) { /* sqlite3.c:200997:13: */ var p uintptr var pBBox uintptr pBBox = Xsqlite3_aggregate_context(tls, context, 0) @@ -161912,7 +161943,7 @@ func geopolyBBoxFinal(tls *libc.TLS, context uintptr) { /* sqlite3.c:200940:13: // // The left-most coordinate min(x1,x2) is not considered to be part of // the line segment for the purposes of this analysis. -func pointBeneathLine(tls *libc.TLS, x0 float64, y0 float64, x1 float64, y1 float64, x2 float64, y2 float64) int32 { /* sqlite3.c:200970:12: */ +func pointBeneathLine(tls *libc.TLS, x0 float64, y0 float64, x1 float64, y1 float64, x2 float64, y2 float64) int32 { /* sqlite3.c:201027:12: */ var y float64 if x0 == x1 && y0 == y1 { return 2 @@ -161953,7 +161984,7 @@ func pointBeneathLine(tls *libc.TLS, x0 float64, y0 float64, x1 float64, y1 floa // Return +2 if point X,Y is within polygon P. // Return +1 if point X,Y is on the polygon boundary. // Return 0 if point X,Y is outside the polygon -func geopolyContainsPointFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:201001:13: */ +func geopolyContainsPointFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:201058:13: */ var p1 uintptr = geopolyFuncParam(tls, context, *(*uintptr)(unsafe.Pointer(argv)), uintptr(0)) var x0 float64 = Xsqlite3_value_double(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))) var y0 float64 = Xsqlite3_value_double(tls, *(*uintptr)(unsafe.Pointer(argv + 2*8))) @@ -161991,7 +162022,7 @@ func geopolyContainsPointFunc(tls *libc.TLS, context uintptr, argc int32, argv u // Return +1 if P2 is contained within P1 // Return 0 if any part of P2 is on the outside of P1 // -func geopolyWithinFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:201044:13: */ +func geopolyWithinFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:201101:13: */ var p1 uintptr = geopolyFuncParam(tls, context, *(*uintptr)(unsafe.Pointer(argv)), uintptr(0)) var p2 uintptr = geopolyFuncParam(tls, context, *(*uintptr)(unsafe.Pointer(argv + 1*8)), uintptr(0)) if p1 != 0 && p2 != 0 { @@ -162023,10 +162054,10 @@ type GeoEvent1 = struct { F__ccgo_pad1 [4]byte FpSeg uintptr FpNext uintptr -} /* sqlite3.c:201064:9 */ +} /* sqlite3.c:201121:9 */ // Objects used by the overlap algorihm. -type GeoEvent = GeoEvent1 /* sqlite3.c:201064:25 */ +type GeoEvent = GeoEvent1 /* sqlite3.c:201121:25 */ type GeoSegment1 = struct { FC float64 FB float64 @@ -162037,20 +162068,20 @@ type GeoSegment1 = struct { Fidx uint32 F__ccgo_pad2 [4]byte FpNext uintptr -} /* sqlite3.c:201064:9 */ +} /* sqlite3.c:201121:9 */ -type GeoSegment = GeoSegment1 /* sqlite3.c:201065:27 */ +type GeoSegment = GeoSegment1 /* sqlite3.c:201122:27 */ type GeoOverlap1 = struct { FaEvent uintptr FaSegment uintptr FnEvent int32 FnSegment int32 -} /* sqlite3.c:201066:9 */ +} /* sqlite3.c:201123:9 */ -type GeoOverlap = GeoOverlap1 /* sqlite3.c:201066:27 */ +type GeoOverlap = GeoOverlap1 /* sqlite3.c:201123:27 */ // Add a single segment and its associated events. -func geopolyAddOneSegment(tls *libc.TLS, p uintptr, x0 GeoCoord, y0 GeoCoord, x1 GeoCoord, y1 GeoCoord, side uint8, idx uint32) { /* sqlite3.c:201091:13: */ +func geopolyAddOneSegment(tls *libc.TLS, p uintptr, x0 GeoCoord, y0 GeoCoord, x1 GeoCoord, y1 GeoCoord, side uint8, idx uint32) { /* sqlite3.c:201148:13: */ var pSeg uintptr var pEvent uintptr if x0 == x1 { @@ -162084,7 +162115,7 @@ func geopolyAddOneSegment(tls *libc.TLS, p uintptr, x0 GeoCoord, y0 GeoCoord, x1 } // Insert all segments and events for polygon pPoly. -func geopolyAddSegments(tls *libc.TLS, p uintptr, pPoly uintptr, side uint8) { /* sqlite3.c:201135:13: */ +func geopolyAddSegments(tls *libc.TLS, p uintptr, pPoly uintptr, side uint8) { /* sqlite3.c:201192:13: */ var i uint32 var x uintptr for i = uint32(0); i < uint32((*GeoPoly)(unsafe.Pointer(pPoly)).FnVertex)-uint32(1); i++ { @@ -162096,7 +162127,7 @@ func geopolyAddSegments(tls *libc.TLS, p uintptr, pPoly uintptr, side uint8) { / } // Merge two lists of sorted events by X coordinate -func geopolyEventMerge(tls *libc.TLS, pLeft uintptr, pRight uintptr) uintptr { /* sqlite3.c:201153:17: */ +func geopolyEventMerge(tls *libc.TLS, pLeft uintptr, pRight uintptr) uintptr { /* sqlite3.c:201210:17: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -162126,7 +162157,7 @@ func geopolyEventMerge(tls *libc.TLS, pLeft uintptr, pRight uintptr) uintptr { / } // Sort an array of nEvent event objects into a list. -func geopolySortEventsByX(tls *libc.TLS, aEvent uintptr, nEvent int32) uintptr { /* sqlite3.c:201175:17: */ +func geopolySortEventsByX(tls *libc.TLS, aEvent uintptr, nEvent int32) uintptr { /* sqlite3.c:201232:17: */ bp := tls.Alloc(400) defer tls.Free(400) @@ -162156,7 +162187,7 @@ func geopolySortEventsByX(tls *libc.TLS, aEvent uintptr, nEvent int32) uintptr { } // Merge two lists of sorted segments by Y, and then by C. -func geopolySegmentMerge(tls *libc.TLS, pLeft uintptr, pRight uintptr) uintptr { /* sqlite3.c:201200:19: */ +func geopolySegmentMerge(tls *libc.TLS, pLeft uintptr, pRight uintptr) uintptr { /* sqlite3.c:201257:19: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -162191,7 +162222,7 @@ func geopolySegmentMerge(tls *libc.TLS, pLeft uintptr, pRight uintptr) uintptr { // Sort a list of GeoSegments in order of increasing Y and in the event of // a tie, increasing C (slope). -func geopolySortSegmentsByYAndC(tls *libc.TLS, pList uintptr) uintptr { /* sqlite3.c:201225:19: */ +func geopolySortSegmentsByYAndC(tls *libc.TLS, pList uintptr) uintptr { /* sqlite3.c:201282:19: */ bp := tls.Alloc(400) defer tls.Free(400) @@ -162221,7 +162252,7 @@ func geopolySortSegmentsByYAndC(tls *libc.TLS, pList uintptr) uintptr { /* sqlit } // Determine the overlap between two polygons -func geopolyOverlap(tls *libc.TLS, p1 uintptr, p2 uintptr) int32 { /* sqlite3.c:201251:12: */ +func geopolyOverlap(tls *libc.TLS, p1 uintptr, p2 uintptr) int32 { /* sqlite3.c:201308:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -162457,7 +162488,7 @@ geopolyOverlapDone: // 3 P2 is completely contained within P1 // 4 P1 and P2 are the same polygon // NULL Either P1 or P2 or both are not valid polygons -func geopolyOverlapFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:201374:13: */ +func geopolyOverlapFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:201431:13: */ var p1 uintptr = geopolyFuncParam(tls, context, *(*uintptr)(unsafe.Pointer(argv)), uintptr(0)) var p2 uintptr = geopolyFuncParam(tls, context, *(*uintptr)(unsafe.Pointer(argv + 1*8)), uintptr(0)) if p1 != 0 && p2 != 0 { @@ -162473,7 +162504,7 @@ func geopolyOverlapFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr } // Enable or disable debugging output -func geopolyDebugFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:201396:13: */ +func geopolyDebugFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:201453:13: */ } // This function is the implementation of both the xConnect and xCreate @@ -162483,7 +162514,7 @@ func geopolyDebugFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) // argv[1] -> database name // argv[2] -> table name // argv[...] -> column names... -func geopolyInit(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr, isCreate int32) int32 { /* sqlite3.c:201415:12: */ +func geopolyInit(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr, isCreate int32) int32 { /* sqlite3.c:201472:12: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -162598,12 +162629,12 @@ __11: } // GEOPOLY virtual table module xCreate method. -func geopolyCreate(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 { /* sqlite3.c:201499:12: */ +func geopolyCreate(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 { /* sqlite3.c:201556:12: */ return geopolyInit(tls, db, pAux, argc, argv, ppVtab, pzErr, 1) } // GEOPOLY virtual table module xConnect method. -func geopolyConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 { /* sqlite3.c:201512:12: */ +func geopolyConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 { /* sqlite3.c:201569:12: */ return geopolyInit(tls, db, pAux, argc, argv, ppVtab, pzErr, 0) } @@ -162617,7 +162648,7 @@ func geopolyConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv ui // 3 search for objects overlapping the same bounding box // that contains polygon argv[0] // 4 full table scan -func geopolyFilter(tls *libc.TLS, pVtabCursor uintptr, idxNum int32, idxStr uintptr, argc int32, argv uintptr) int32 { /* sqlite3.c:201535:12: */ +func geopolyFilter(tls *libc.TLS, pVtabCursor uintptr, idxNum int32, idxStr uintptr, argc int32, argv uintptr) int32 { /* sqlite3.c:201592:12: */ bp := tls.Alloc(52) defer tls.Free(52) @@ -162784,7 +162815,7 @@ geopoly_filter_end: // 3 "rtree" R-tree within query using geopoly_within() // 4 "fullscan" full-table scan. // ------------------------------------------------ -func geopolyBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 { /* sqlite3.c:201667:12: */ +func geopolyBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 { /* sqlite3.c:201724:12: */ var ii int32 var iRowidTerm int32 = -1 var iFuncTerm int32 = -1 @@ -162835,7 +162866,7 @@ func geopolyBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 { /* s } // GEOPOLY virtual table module xColumn method. -func geopolyColumn(tls *libc.TLS, cur uintptr, ctx uintptr, i int32) int32 { /* sqlite3.c:201719:12: */ +func geopolyColumn(tls *libc.TLS, cur uintptr, ctx uintptr, i int32) int32 { /* sqlite3.c:201776:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -162900,7 +162931,7 @@ func geopolyColumn(tls *libc.TLS, cur uintptr, ctx uintptr, i int32) int32 { /* // argv[1] = rowid after the change. Never NULL // argv[2] = new value for _shape // argv[3] = new value for first application-defined column.... -func geopolyUpdate(tls *libc.TLS, pVtab uintptr, nData int32, aData uintptr, pRowid uintptr) int32 { /* sqlite3.c:201774:12: */ +func geopolyUpdate(tls *libc.TLS, pVtab uintptr, nData int32, aData uintptr, pRowid uintptr) int32 { /* sqlite3.c:201831:12: */ bp := tls.Alloc(64) defer tls.Free(64) @@ -163111,7 +163142,7 @@ 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) int32 { /* sqlite3.c:201911:12: */ +func geopolyFindFunction(tls *libc.TLS, pVtab uintptr, nArg int32, zName uintptr, pxFunc uintptr, ppArg uintptr) int32 { /* sqlite3.c:201968:12: */ if Xsqlite3_stricmp(tls, zName, ts+27435) == 0 { *(*uintptr)(unsafe.Pointer(pxFunc)) = *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) @@ -163152,9 +163183,9 @@ var geopolyModule = Sqlite3_module{ FxRename: 0, // xRename - rename the table FxSavepoint: 0, // xRollbackTo FxShadowName: 0, // xShadowName -} /* sqlite3.c:201932:23 */ +} /* sqlite3.c:201989:23 */ -func sqlite3_geopoly_init(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:201959:12: */ +func sqlite3_geopoly_init(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:202016:12: */ var rc int32 = SQLITE_OK var i int32 for i = 0; uint64(i) < uint64(unsafe.Sizeof(aFunc))/uint64(unsafe.Sizeof(struct { @@ -163208,14 +163239,14 @@ var aFunc = [12]struct { {FxFunc: 0, FnArg: int8(7), FbPure: uint8(1), FzName: ts + 27575 /* "geopoly_xform" */}, {FxFunc: 0, FnArg: int8(4), FbPure: uint8(1), FzName: ts + 27589 /* "geopoly_regular" */}, {FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 27605 /* "geopoly_ccw" */}, -} /* sqlite3.c:201966:5 */ +} /* sqlite3.c:202023:5 */ var aAgg = [1]struct { FxStep uintptr FxFinal uintptr FzName uintptr }{ {FxStep: 0, FxFinal: 0, FzName: ts + 27617 /* "geopoly_group_bb..." */}, -} /* sqlite3.c:201984:5 */ +} /* sqlite3.c:202041:5 */ //************* End of geopoly.c ******************************************** //************* Continuing where we left off in rtree.c ********************* @@ -163223,7 +163254,7 @@ var aAgg = [1]struct { // Register the r-tree module with database handle db. This creates the // virtual table module "rtree" and the debugging/analysis scalar // function "rtreenode". -func Xsqlite3RtreeInit(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:202019:20: */ +func Xsqlite3RtreeInit(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:202076:20: */ var utf8 int32 = SQLITE_UTF8 var rc int32 @@ -163260,7 +163291,7 @@ func Xsqlite3RtreeInit(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:202019:20 // or sqlite3_rtree_query_callback(). In other words, this routine is the // destructor for an RtreeGeomCallback objecct. This routine is called when // the corresponding SQL function is deleted. -func rtreeFreeCallback(tls *libc.TLS, p uintptr) { /* sqlite3.c:202058:13: */ +func rtreeFreeCallback(tls *libc.TLS, p uintptr) { /* sqlite3.c:202115:13: */ var pInfo uintptr = p if (*RtreeGeomCallback)(unsafe.Pointer(pInfo)).FxDestructor != 0 { (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*RtreeGeomCallback)(unsafe.Pointer(pInfo)).FxDestructor})).f(tls, (*RtreeGeomCallback)(unsafe.Pointer(pInfo)).FpContext) @@ -163269,7 +163300,7 @@ func rtreeFreeCallback(tls *libc.TLS, p uintptr) { /* sqlite3.c:202058:13: */ } // This routine frees the BLOB that is returned by geomCallback(). -func rtreeMatchArgFree(tls *libc.TLS, pArg uintptr) { /* sqlite3.c:202067:13: */ +func rtreeMatchArgFree(tls *libc.TLS, pArg uintptr) { /* sqlite3.c:202124:13: */ var i int32 var p uintptr = pArg for i = 0; i < (*RtreeMatchArg)(unsafe.Pointer(p)).FnParam; i++ { @@ -163290,7 +163321,7 @@ func rtreeMatchArgFree(tls *libc.TLS, pArg uintptr) { /* sqlite3.c:202067:13: */ // The R-Tree MATCH operator will read the returned BLOB, deserialize // the RtreeMatchArg object, and use the RtreeMatchArg object to figure // out which elements of the R-Tree should be returned by the query. -func geomCallback(tls *libc.TLS, ctx uintptr, nArg int32, aArg uintptr) { /* sqlite3.c:202090:13: */ +func geomCallback(tls *libc.TLS, ctx uintptr, nArg int32, aArg uintptr) { /* sqlite3.c:202147:13: */ var pGeomCtx uintptr = Xsqlite3_user_data(tls, ctx) var pBlob uintptr var nBlob Sqlite3_int64 @@ -163324,7 +163355,7 @@ func geomCallback(tls *libc.TLS, ctx uintptr, nArg int32, aArg uintptr) { /* sql } // 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) int32 { /* sqlite3.c:202128:16: */ +func Xsqlite3_rtree_geometry_callback(tls *libc.TLS, db uintptr, zGeom uintptr, xGeom uintptr, pContext uintptr) int32 { /* sqlite3.c:202185:16: */ var pGeomCtx uintptr // Context object for new user-function // Allocate and populate the context object. @@ -163344,7 +163375,7 @@ func Xsqlite3_rtree_geometry_callback(tls *libc.TLS, db uintptr, zGeom uintptr, // 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) int32 { /* sqlite3.c:202152:16: */ +func Xsqlite3_rtree_query_callback(tls *libc.TLS, db uintptr, zQueryFunc uintptr, xQueryFunc uintptr, pContext uintptr, xDestructor uintptr) int32 { /* sqlite3.c:202209:16: */ var pGeomCtx uintptr // Context object for new user-function // Allocate and populate the context object. @@ -163800,7 +163831,7 @@ type sqlite3rbu = struct { FnRbu int32 F__ccgo_pad6 [4]byte FpRbuFd uintptr -} /* sqlite3.c:203382:9 */ +} /* sqlite3.c:203439:9 */ //************* End of rtree.c ********************************************** //************* Begin file icu.c ******************************************** @@ -164201,7 +164232,7 @@ type sqlite3rbu = struct { // #include "sqlite3.h" ** Required for error code definitions ** -type Sqlite3rbu = sqlite3rbu /* sqlite3.c:203382:27 */ +type Sqlite3rbu = sqlite3rbu /* sqlite3.c:203439:27 */ //************* End of sqlite3rbu.h ***************************************** //************* Continuing where we left off in sqlite3rbu.c **************** @@ -164266,7 +164297,7 @@ type Sqlite3rbu = sqlite3rbu /* sqlite3.c:203382:27 */ type RbuFrame1 = struct { FiDbPage U32 FiWalFrame U32 -} /* sqlite3.c:203382:9 */ +} /* sqlite3.c:203439:9 */ //************* End of sqlite3rbu.h ***************************************** //************* Continuing where we left off in sqlite3rbu.c **************** @@ -164328,7 +164359,7 @@ type RbuFrame1 = struct { // Only valid if STAGE==1. The RBU database name of the table // currently being read. -type RbuFrame = RbuFrame1 /* sqlite3.c:203813:25 */ +type RbuFrame = RbuFrame1 /* sqlite3.c:203870:25 */ type RbuObjIter1 = struct { FpTblIter uintptr FpIdxIter uintptr @@ -164360,9 +164391,9 @@ type RbuObjIter1 = struct { FaIdxCol uintptr FzIdxSql uintptr FpRbuUpdate uintptr -} /* sqlite3.c:203382:9 */ +} /* sqlite3.c:203439:9 */ -type RbuObjIter = RbuObjIter1 /* sqlite3.c:203814:27 */ +type RbuObjIter = RbuObjIter1 /* sqlite3.c:203871:27 */ type RbuState1 = struct { FeStage int32 F__ccgo_pad1 [4]byte @@ -164377,16 +164408,16 @@ type RbuState1 = struct { F__ccgo_pad3 [4]byte FiOalSz I64 FnPhaseOneStep I64 -} /* sqlite3.c:203815:9 */ +} /* sqlite3.c:203872:9 */ -type RbuState = RbuState1 /* sqlite3.c:203815:25 */ +type RbuState = RbuState1 /* sqlite3.c:203872:25 */ type RbuSpan1 = struct { FzSpan uintptr FnSpan int32 F__ccgo_pad1 [4]byte -} /* sqlite3.c:203382:9 */ +} /* sqlite3.c:203439:9 */ -type RbuSpan = RbuSpan1 /* sqlite3.c:203816:24 */ +type RbuSpan = RbuSpan1 /* sqlite3.c:203873:24 */ type rbu_vfs = struct { Fbase Sqlite3_vfs FpRealVfs uintptr @@ -164394,9 +164425,9 @@ type rbu_vfs = struct { FpRbu uintptr FpMain uintptr FpMainRbu uintptr -} /* sqlite3.c:203382:9 */ +} /* sqlite3.c:203439:9 */ -type Rbu_vfs = rbu_vfs /* sqlite3.c:203817:24 */ +type Rbu_vfs = rbu_vfs /* sqlite3.c:203874:24 */ type rbu_file = struct { Fbase Sqlite3_file FpReal uintptr @@ -164415,16 +164446,16 @@ type rbu_file = struct { FpWalFd uintptr FpMainNext uintptr FpMainRbuNext uintptr -} /* sqlite3.c:203382:9 */ +} /* sqlite3.c:203439:9 */ -type Rbu_file = rbu_file /* sqlite3.c:203818:25 */ +type Rbu_file = rbu_file /* sqlite3.c:203875:25 */ type RbuUpdateStmt1 = struct { FzMask uintptr FpUpdate uintptr FpNext uintptr -} /* sqlite3.c:203382:9 */ +} /* sqlite3.c:203439:9 */ -type RbuUpdateStmt = RbuUpdateStmt1 /* sqlite3.c:203819:30 */ +type RbuUpdateStmt = RbuUpdateStmt1 /* sqlite3.c:203876:30 */ // True for an RBU vacuum handle, or false otherwise. @@ -164443,7 +164474,7 @@ type RbuUpdateStmt = RbuUpdateStmt1 /* sqlite3.c:203819:30 */ // finished, leave *pz pointing to the first character past the end of // the integer. The *pLen parameter holds the length of the string // in *pz and is decremented once for each character in the integer. -func rbuDeltaGetInt(tls *libc.TLS, pz uintptr, pLen uintptr) uint32 { /* sqlite3.c:204109:21: */ +func rbuDeltaGetInt(tls *libc.TLS, pz uintptr, pLen uintptr) uint32 { /* sqlite3.c:204166:21: */ var v uint32 = uint32(0) var c int32 var z uintptr = *(*uintptr)(unsafe.Pointer(pz)) @@ -164466,7 +164497,7 @@ var zValue = [128]int8{ int8(25), int8(26), int8(27), int8(28), int8(29), int8(30), int8(31), int8(32), int8(33), int8(34), int8(35), int8(-1), int8(-1), int8(-1), int8(-1), int8(36), int8(-1), int8(37), int8(38), int8(39), int8(40), int8(41), int8(42), int8(43), int8(44), int8(45), int8(46), int8(47), int8(48), int8(49), int8(50), int8(51), int8(52), int8(53), int8(54), int8(55), int8(56), int8(57), int8(58), int8(59), int8(60), int8(61), int8(62), int8(-1), int8(-1), int8(-1), int8(63), int8(-1), -} /* sqlite3.c:204110:28 */ +} /* sqlite3.c:204167:28 */ // Apply a delta. // @@ -164486,7 +164517,7 @@ var zValue = [128]int8{ // // Refer to the delta_create() documentation above for a description // of the delta file format. -func rbuDeltaApply(tls *libc.TLS, zSrc uintptr, lenSrc int32, zDelta uintptr, lenDelta int32, zOut uintptr) int32 { /* sqlite3.c:204190:12: */ +func rbuDeltaApply(tls *libc.TLS, zSrc uintptr, lenSrc int32, zDelta uintptr, lenDelta int32, zOut uintptr) int32 { /* sqlite3.c:204247:12: */ bp := tls.Alloc(12) defer tls.Free(12) *(*uintptr)(unsafe.Pointer(bp)) = zDelta @@ -164576,7 +164607,7 @@ func rbuDeltaApply(tls *libc.TLS, zSrc uintptr, lenSrc int32, zDelta uintptr, le return -1 } -func rbuDeltaOutputSize(tls *libc.TLS, zDelta uintptr, lenDelta int32) int32 { /* sqlite3.c:204276:12: */ +func rbuDeltaOutputSize(tls *libc.TLS, zDelta uintptr, lenDelta int32) int32 { /* sqlite3.c:204333:12: */ bp := tls.Alloc(12) defer tls.Free(12) *(*uintptr)(unsafe.Pointer(bp)) = zDelta @@ -164601,7 +164632,7 @@ func rbuDeltaOutputSize(tls *libc.TLS, zDelta uintptr, lenDelta int32) int32 { / // arguments must be passed to this function. The first is the blob to // patch and the second the patch to apply. If no error occurs, this // function returns the patched blob. -func rbuFossilDeltaFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:204298:13: */ +func rbuFossilDeltaFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:204355:13: */ var aDelta uintptr var nDelta int32 var aOrig uintptr @@ -164644,7 +164675,7 @@ func rbuFossilDeltaFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr // an SQLite error code. Additionally, set output variable *pzErrmsg to // point to a buffer containing an error message. It is the responsibility // of the caller to (eventually) free this buffer using sqlite3_free(). -func prepareAndCollectError(tls *libc.TLS, db uintptr, ppStmt uintptr, pzErrmsg uintptr, zSql uintptr) int32 { /* sqlite3.c:204351:12: */ +func prepareAndCollectError(tls *libc.TLS, db uintptr, ppStmt uintptr, pzErrmsg uintptr, zSql uintptr) int32 { /* sqlite3.c:204408:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -164662,7 +164693,7 @@ func prepareAndCollectError(tls *libc.TLS, db uintptr, ppStmt uintptr, pzErrmsg // If an error has occurred, then set *pzErrmsg to point to a buffer // containing an error message. It is the responsibility of the caller // to eventually free this buffer using sqlite3_free(). -func resetAndCollectError(tls *libc.TLS, pStmt uintptr, pzErrmsg uintptr) int32 { /* sqlite3.c:204373:12: */ +func resetAndCollectError(tls *libc.TLS, pStmt uintptr, pzErrmsg uintptr) int32 { /* sqlite3.c:204430:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -164686,7 +164717,7 @@ func resetAndCollectError(tls *libc.TLS, pStmt uintptr, pzErrmsg uintptr) int32 // // If argument zSql is NULL, this function assumes that an OOM has occurred. // In this case SQLITE_NOMEM is returned and *ppStmt set to NULL. -func prepareFreeAndCollectError(tls *libc.TLS, db uintptr, ppStmt uintptr, pzErrmsg uintptr, zSql uintptr) int32 { /* sqlite3.c:204396:12: */ +func prepareFreeAndCollectError(tls *libc.TLS, db uintptr, ppStmt uintptr, pzErrmsg uintptr, zSql uintptr) int32 { /* sqlite3.c:204453:12: */ var rc int32 if zSql == uintptr(0) { @@ -164701,7 +164732,7 @@ func prepareFreeAndCollectError(tls *libc.TLS, db uintptr, ppStmt uintptr, pzErr // Free the RbuObjIter.azTblCol[] and RbuObjIter.abTblPk[] arrays allocated // by an earlier call to rbuObjIterCacheTableInfo(). -func rbuObjIterFreeCols(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:204418:13: */ +func rbuObjIterFreeCols(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:204475:13: */ var i int32 for i = 0; i < (*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol; i++ { Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8))) @@ -164719,7 +164750,7 @@ func rbuObjIterFreeCols(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:204418:13: // Finalize all statements and free all allocations that are specific to // the current object (table/index pair). -func rbuObjIterClearStatements(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:204438:13: */ +func rbuObjIterClearStatements(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:204495:13: */ var pUp uintptr Xsqlite3_finalize(tls, (*RbuObjIter)(unsafe.Pointer(pIter)).FpSelect) @@ -164749,7 +164780,7 @@ func rbuObjIterClearStatements(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:2044 // Clean up any resources allocated as part of the iterator object passed // as the only argument. -func rbuObjIterFinalize(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:204470:13: */ +func rbuObjIterFinalize(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:204527:13: */ rbuObjIterClearStatements(tls, pIter) Xsqlite3_finalize(tls, (*RbuObjIter)(unsafe.Pointer(pIter)).FpTblIter) Xsqlite3_finalize(tls, (*RbuObjIter)(unsafe.Pointer(pIter)).FpIdxIter) @@ -164763,7 +164794,7 @@ func rbuObjIterFinalize(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:204470:13: // pointing to the next entry. Otherwise, an error code and message is // left in the RBU handle passed as the first argument. A copy of the // error code is returned. -func rbuObjIterNext(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlite3.c:204486:12: */ +func rbuObjIterNext(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlite3.c:204543:12: */ var rc int32 = (*Sqlite3rbu)(unsafe.Pointer(p)).Frc if rc == SQLITE_OK { @@ -164844,7 +164875,7 @@ func rbuObjIterNext(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlite3. // // For an rbu vacuum handle, a copy of the first argument is returned if // the second argument is either missing or 0 (not a view). -func rbuTargetNameFunc(tls *libc.TLS, pCtx uintptr, argc int32, argv uintptr) { /* sqlite3.c:204566:13: */ +func rbuTargetNameFunc(tls *libc.TLS, pCtx uintptr, argc int32, argv uintptr) { /* sqlite3.c:204623:13: */ var p uintptr = Xsqlite3_user_data(tls, pCtx) var zIn uintptr @@ -164874,7 +164905,7 @@ func rbuTargetNameFunc(tls *libc.TLS, pCtx uintptr, argc int32, argv uintptr) { // pointing to the first entry. Otherwise, an error code and message is // left in the RBU handle passed as the first argument. A copy of the // error code is returned. -func rbuObjIterFirst(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlite3.c:204602:12: */ +func rbuObjIterFirst(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlite3.c:204659:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -164909,7 +164940,7 @@ func rbuObjIterFirst(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlite3 // than SQLITE_OK), then this function returns NULL without modifying the // stored error code. In this case it still calls sqlite3_free() on any // printf() parameters associated with %z conversions. -func rbuMPrintf(tls *libc.TLS, p uintptr, zFmt uintptr, va uintptr) uintptr { /* sqlite3.c:204637:13: */ +func rbuMPrintf(tls *libc.TLS, p uintptr, zFmt uintptr, va uintptr) uintptr { /* sqlite3.c:204694:13: */ var zSql uintptr = uintptr(0) var ap Va_list _ = ap @@ -164935,7 +164966,7 @@ func rbuMPrintf(tls *libc.TLS, p uintptr, zFmt uintptr, va uintptr) uintptr { /* // If an error occurs, an error code and error message is stored in the // RBU handle. If an error has already occurred when this function is // called, it is a no-op. -func rbuMPrintfExec(tls *libc.TLS, p uintptr, db uintptr, zFmt uintptr, va uintptr) int32 { /* sqlite3.c:204662:12: */ +func rbuMPrintfExec(tls *libc.TLS, p uintptr, db uintptr, zFmt uintptr, va uintptr) int32 { /* sqlite3.c:204719:12: */ var ap Va_list _ = ap var zSql uintptr @@ -164961,7 +164992,7 @@ func rbuMPrintfExec(tls *libc.TLS, p uintptr, db uintptr, zFmt uintptr, va uintp // error has already occurred when this function is called, return NULL // immediately without attempting the allocation or modifying the stored // error code. -func rbuMalloc(tls *libc.TLS, p uintptr, nByte Sqlite3_int64) uintptr { /* sqlite3.c:204689:13: */ +func rbuMalloc(tls *libc.TLS, p uintptr, nByte Sqlite3_int64) uintptr { /* sqlite3.c:204746:13: */ var pRet uintptr = uintptr(0) if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { @@ -164978,7 +165009,7 @@ func rbuMalloc(tls *libc.TLS, p uintptr, nByte Sqlite3_int64) uintptr { /* sqlit // Allocate and zero the pIter->azTblCol[] and abTblPk[] arrays so that // there is room for at least nCol elements. If an OOM occurs, store an // error code in the RBU handle passed as the first argument. -func rbuAllocateIterArrays(tls *libc.TLS, p uintptr, pIter uintptr, nCol int32) { /* sqlite3.c:204709:13: */ +func rbuAllocateIterArrays(tls *libc.TLS, p uintptr, pIter uintptr, nCol int32) { /* sqlite3.c:204766:13: */ var nByte Sqlite3_int64 = Sqlite3_int64((uint64(2)*uint64(unsafe.Sizeof(uintptr(0))) + uint64(unsafe.Sizeof(int32(0))) + uint64(3)*uint64(unsafe.Sizeof(U8(0)))) * uint64(nCol)) var azNew uintptr @@ -165001,7 +165032,7 @@ func rbuAllocateIterArrays(tls *libc.TLS, p uintptr, pIter uintptr, nCol int32) // If an OOM condition is encountered when attempting to allocate memory, // output variable (*pRc) is set to SQLITE_NOMEM before returning. Otherwise, // if the allocation succeeds, (*pRc) is left unchanged. -func rbuStrndup(tls *libc.TLS, zStr uintptr, pRc uintptr) uintptr { /* sqlite3.c:204734:13: */ +func rbuStrndup(tls *libc.TLS, zStr uintptr, pRc uintptr) uintptr { /* sqlite3.c:204791:13: */ var zRet uintptr = uintptr(0) if *(*int32)(unsafe.Pointer(pRc)) == SQLITE_OK { @@ -165024,7 +165055,7 @@ func rbuStrndup(tls *libc.TLS, zStr uintptr, pRc uintptr) uintptr { /* sqlite3.c // If the sqlite3_finalize() call indicates that an error occurs, and the // rbu handle error code is not already set, set the error code and error // message accordingly. -func rbuFinalize(tls *libc.TLS, p uintptr, pStmt uintptr) { /* sqlite3.c:204759:13: */ +func rbuFinalize(tls *libc.TLS, p uintptr, pStmt uintptr) { /* sqlite3.c:204816:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -165074,7 +165105,7 @@ func rbuFinalize(tls *libc.TLS, p uintptr, pStmt uintptr) { /* sqlite3.c:204759: // }else{ // return RBU_PK_NONE // } -func rbuTableType(tls *libc.TLS, p uintptr, zTab uintptr, peType uintptr, piTnum uintptr, piPk uintptr) { /* sqlite3.c:204807:13: */ +func rbuTableType(tls *libc.TLS, p uintptr, zTab uintptr, peType uintptr, piTnum uintptr, piPk uintptr) { /* sqlite3.c:204864:13: */ bp := tls.Alloc(64) defer tls.Free(64) @@ -165195,7 +165226,7 @@ __16: // This is a helper function for rbuObjIterCacheTableInfo(). It populates // the pIter->abIndexed[] array. -func rbuObjIterCacheIndexedCols(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:204893:13: */ +func rbuObjIterCacheIndexedCols(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:204950:13: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -165253,7 +165284,7 @@ func rbuObjIterCacheIndexedCols(tls *libc.TLS, p uintptr, pIter uintptr) { /* sq // Return SQLITE_OK if successful, or an SQLite error code otherwise. If // an error does occur, an error code and error message are also left in // the RBU handle. -func rbuObjIterCacheTableInfo(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlite3.c:204947:12: */ +func rbuObjIterCacheTableInfo(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlite3.c:205004:12: */ bp := tls.Alloc(72) defer tls.Free(72) @@ -165375,7 +165406,7 @@ func rbuObjIterCacheTableInfo(tls *libc.TLS, p uintptr, pIter uintptr) int32 { / // This function constructs and returns a pointer to a nul-terminated // string containing some SQL clause or list based on one or more of the // column names currently stored in the pIter->azTblCol[] array. -func rbuObjIterGetCollist(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { /* sqlite3.c:205057:13: */ +func rbuObjIterGetCollist(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { /* sqlite3.c:205114:13: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -165394,7 +165425,7 @@ func rbuObjIterGetCollist(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { /* // in order, for the current table. Before each column name, add the text // zPre. After each column name, add the zPost text. Use zSeparator as // the separator text (usually ", "). -func rbuObjIterGetPkList(tls *libc.TLS, p uintptr, pIter uintptr, zPre uintptr, zSeparator uintptr, zPost uintptr) uintptr { /* sqlite3.c:205078:13: */ +func rbuObjIterGetPkList(tls *libc.TLS, p uintptr, pIter uintptr, zPre uintptr, zSeparator uintptr, zPost uintptr) uintptr { /* sqlite3.c:205135:13: */ bp := tls.Alloc(40) defer tls.Free(40) @@ -165436,7 +165467,7 @@ func rbuObjIterGetPkList(tls *libc.TLS, p uintptr, pIter uintptr, zPre uintptr, // // Instead of "?" placeholders, the actual WHERE clauses created by // this function contain literal SQL values. -func rbuVacuumTableStart(tls *libc.TLS, p uintptr, pIter uintptr, bRowid int32, zWrite uintptr) uintptr { /* sqlite3.c:205123:13: */ +func rbuVacuumTableStart(tls *libc.TLS, p uintptr, pIter uintptr, bRowid int32, zWrite uintptr) uintptr { /* sqlite3.c:205180:13: */ bp := tls.Alloc(80) defer tls.Free(80) @@ -165495,7 +165526,7 @@ func rbuVacuumTableStart(tls *libc.TLS, p uintptr, pIter uintptr, bRowid int32, // If the expression cannot be created, NULL is returned. In this case, // the caller has to use an OFFSET clause to extract only the required // rows from the sourct table, just as it does for an RBU update operation. -func rbuVacuumIndexStart(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { /* sqlite3.c:205190:13: */ +func rbuVacuumIndexStart(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { /* sqlite3.c:205247:13: */ bp := tls.Alloc(192) defer tls.Free(192) @@ -165676,7 +165707,7 @@ index_start_out: // pzImposterCols: ... // pzImposterPk: ... // pzWhere: ... -func rbuObjIterGetIndexCols(tls *libc.TLS, p uintptr, pIter uintptr, pzImposterCols uintptr, pzImposterPk uintptr, pzWhere uintptr, pnBind uintptr) uintptr { /* sqlite3.c:205305:13: */ +func rbuObjIterGetIndexCols(tls *libc.TLS, p uintptr, pIter uintptr, pzImposterCols uintptr, pzImposterPk uintptr, pzWhere uintptr, pnBind uintptr) uintptr { /* sqlite3.c:205362:13: */ bp := tls.Alloc(208) defer tls.Free(208) @@ -165787,7 +165818,7 @@ func rbuObjIterGetIndexCols(tls *libc.TLS, p uintptr, pIter uintptr, pzImposterC // // For tables with implicit rowids - RBU_PK_EXTERNAL and RBU_PK_NONE, append // the text ", old._rowid_" to the returned value. -func rbuObjIterGetOldlist(tls *libc.TLS, p uintptr, pIter uintptr, zObj uintptr) uintptr { /* sqlite3.c:205417:13: */ +func rbuObjIterGetOldlist(tls *libc.TLS, p uintptr, pIter uintptr, zObj uintptr) uintptr { /* sqlite3.c:205474:13: */ bp := tls.Alloc(64) defer tls.Free(64) @@ -165825,7 +165856,7 @@ func rbuObjIterGetOldlist(tls *libc.TLS, p uintptr, pIter uintptr, zObj uintptr) // Return the string: // // "b = ?1 AND c = ?2" -func rbuObjIterGetWhere(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { /* sqlite3.c:205458:13: */ +func rbuObjIterGetWhere(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { /* sqlite3.c:205515:13: */ bp := tls.Alloc(80) defer tls.Free(80) @@ -165863,7 +165894,7 @@ func rbuObjIterGetWhere(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { /* sq // is something wrong with the rbu_control value in the rbu_control value // stored in the (p->nCol+1)'th column. Set the error code and error message // of the RBU handle to something reflecting this. -func rbuBadControlError(tls *libc.TLS, p uintptr) { /* sqlite3.c:205499:13: */ +func rbuBadControlError(tls *libc.TLS, p uintptr) { /* sqlite3.c:205556:13: */ (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_ERROR (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+29153, 0) } @@ -165883,7 +165914,7 @@ func rbuBadControlError(tls *libc.TLS, p uintptr) { /* sqlite3.c:205499:13: */ // argument and NULL is returned. Or, if an error has already occurred // when this function is called, NULL is returned immediately, without // attempting the allocation or modifying the stored error code. -func rbuObjIterGetSetlist(tls *libc.TLS, p uintptr, pIter uintptr, zMask uintptr) uintptr { /* sqlite3.c:205522:13: */ +func rbuObjIterGetSetlist(tls *libc.TLS, p uintptr, pIter uintptr, zMask uintptr) uintptr { /* sqlite3.c:205579:13: */ bp := tls.Alloc(112) defer tls.Free(112) @@ -165929,7 +165960,7 @@ func rbuObjIterGetSetlist(tls *libc.TLS, p uintptr, pIter uintptr, zMask uintptr // argument and NULL is returned. Or, if an error has already occurred // when this function is called, NULL is returned immediately, without // attempting the allocation or modifying the stored error code. -func rbuObjIterGetBindlist(tls *libc.TLS, p uintptr, nBind int32) uintptr { /* sqlite3.c:205576:13: */ +func rbuObjIterGetBindlist(tls *libc.TLS, p uintptr, nBind int32) uintptr { /* sqlite3.c:205633:13: */ var zRet uintptr = uintptr(0) var nByte Sqlite3_int64 = int64(2)*Sqlite3_int64(nBind) + int64(1) @@ -165959,7 +165990,7 @@ func rbuObjIterGetBindlist(tls *libc.TLS, p uintptr, nBind int32) uintptr { /* s // this function returns: // // PRIMARY KEY("b", "a" DESC) -func rbuWithoutRowidPK(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { /* sqlite3.c:205603:13: */ +func rbuWithoutRowidPK(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { /* sqlite3.c:205660:13: */ bp := tls.Alloc(72) defer tls.Free(72) @@ -166022,7 +166053,7 @@ func rbuWithoutRowidPK(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { /* sql // // CREATE TABLE rbu_imposter2(c1 TEXT, c2 REAL, id INTEGER) WITHOUT ROWID; // -func rbuCreateImposterTable2(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:205662:13: */ +func rbuCreateImposterTable2(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:205719:13: */ bp := tls.Alloc(184) defer tls.Free(184) @@ -166098,7 +166129,7 @@ func rbuCreateImposterTable2(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlit // More precisely, the "same schema" means the same columns, types, // collation sequences. For tables that do not have an external PRIMARY // KEY, it also means the same PRIMARY KEY declaration. -func rbuCreateImposterTable(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:205736:13: */ +func rbuCreateImposterTable(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:205793:13: */ bp := tls.Alloc(200) defer tls.Free(200) @@ -166162,7 +166193,7 @@ func rbuCreateImposterTable(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite // the target table, plus one (for the rbu_control column), plus one more // (for the rbu_rowid column) if the target table is an implicit IPK or // virtual table. -func rbuObjIterPrepareTmpInsert(tls *libc.TLS, p uintptr, pIter uintptr, zCollist uintptr, zRbuRowid uintptr) { /* sqlite3.c:205792:13: */ +func rbuObjIterPrepareTmpInsert(tls *libc.TLS, p uintptr, pIter uintptr, zCollist uintptr, zRbuRowid uintptr) { /* sqlite3.c:205849:13: */ bp := tls.Alloc(40) defer tls.Free(40) @@ -166177,7 +166208,7 @@ func rbuObjIterPrepareTmpInsert(tls *libc.TLS, p uintptr, pIter uintptr, zCollis } } -func rbuTmpInsertFunc(tls *libc.TLS, pCtx uintptr, nVal int32, apVal uintptr) { /* sqlite3.c:205810:13: */ +func rbuTmpInsertFunc(tls *libc.TLS, pCtx uintptr, nVal int32, apVal uintptr) { /* sqlite3.c:205867:13: */ var p uintptr = Xsqlite3_user_data(tls, pCtx) var rc int32 = SQLITE_OK var i int32 @@ -166199,7 +166230,7 @@ func rbuTmpInsertFunc(tls *libc.TLS, pCtx uintptr, nVal int32, apVal uintptr) { } } -func rbuObjIterGetIndexWhere(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { /* sqlite3.c:205840:13: */ +func rbuObjIterGetIndexWhere(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { /* sqlite3.c:205897:13: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -166307,7 +166338,7 @@ func rbuObjIterGetIndexWhere(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { // Ensure that the SQLite statement handles required to update the // target database object currently indicated by the iterator passed // as the second argument are available. -func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32) int32 { /* sqlite3.c:205940:12: */ +func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32) int32 { /* sqlite3.c:205997:12: */ bp := tls.Alloc(628) defer tls.Free(628) @@ -166582,7 +166613,7 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32 // // If the zMask string does not specify any columns to update, then this // is not an error. Output variable *ppStmt is set to NULL in this case. -func rbuGetUpdateStmt(tls *libc.TLS, p uintptr, pIter uintptr, zMask uintptr, ppStmt uintptr) int32 { /* sqlite3.c:206207:12: */ +func rbuGetUpdateStmt(tls *libc.TLS, p uintptr, pIter uintptr, zMask uintptr, ppStmt uintptr) int32 { /* sqlite3.c:206264:12: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -166648,7 +166679,7 @@ func rbuGetUpdateStmt(tls *libc.TLS, p uintptr, pIter uintptr, zMask uintptr, pp return (*Sqlite3rbu)(unsafe.Pointer(p)).Frc } -func rbuOpenDbhandle(tls *libc.TLS, p uintptr, zName uintptr, bUseVfs int32) uintptr { /* sqlite3.c:206275:16: */ +func rbuOpenDbhandle(tls *libc.TLS, p uintptr, zName uintptr, bUseVfs int32) uintptr { /* sqlite3.c:206332:16: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -166671,7 +166702,7 @@ func rbuOpenDbhandle(tls *libc.TLS, p uintptr, zName uintptr, bUseVfs int32) uin } // Free an RbuState object allocated by rbuLoadState(). -func rbuFreeState(tls *libc.TLS, p uintptr) { /* sqlite3.c:206296:13: */ +func rbuFreeState(tls *libc.TLS, p uintptr) { /* sqlite3.c:206353:13: */ if p != 0 { Xsqlite3_free(tls, (*RbuState)(unsafe.Pointer(p)).FzTbl) Xsqlite3_free(tls, (*RbuState)(unsafe.Pointer(p)).FzDataTbl) @@ -166687,7 +166718,7 @@ func rbuFreeState(tls *libc.TLS, p uintptr) { /* sqlite3.c:206296:13: */ // // If an error occurs, leave an error code and message in the rbu handle // and return NULL. -func rbuLoadState(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:206314:17: */ +func rbuLoadState(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:206371:17: */ bp := tls.Alloc(20) defer tls.Free(20) @@ -166771,7 +166802,7 @@ func rbuLoadState(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:206314:17: */ // If argument dbMain is not NULL, then it is a database handle already // open on the target database. Use this handle instead of opening a new // one. -func rbuOpenDatabase(tls *libc.TLS, p uintptr, dbMain uintptr, pbRetry uintptr) { /* sqlite3.c:206395:13: */ +func rbuOpenDatabase(tls *libc.TLS, p uintptr, dbMain uintptr, pbRetry uintptr) { /* sqlite3.c:206452:13: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -166933,7 +166964,7 @@ func rbuOpenDatabase(tls *libc.TLS, p uintptr, dbMain uintptr, pbRetry uintptr) // test.db-wal => test.wal // test.db-shm => test.shm // test.db-mj7f3319fa => test.9fa -func rbuFileSuffix3(tls *libc.TLS, zBase uintptr, z uintptr) { /* sqlite3.c:206576:13: */ +func rbuFileSuffix3(tls *libc.TLS, zBase uintptr, z uintptr) { /* sqlite3.c:206633:13: */ } // Return the current wal-index header checksum for the target database @@ -166941,7 +166972,7 @@ func rbuFileSuffix3(tls *libc.TLS, zBase uintptr, z uintptr) { /* sqlite3.c:2065 // // The checksum is store in the first page of xShmMap memory as an 8-byte // blob starting at byte offset 40. -func rbuShmChecksum(tls *libc.TLS, p uintptr) I64 { /* sqlite3.c:206597:12: */ +func rbuShmChecksum(tls *libc.TLS, p uintptr) I64 { /* sqlite3.c:206654:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -166974,7 +167005,7 @@ func rbuShmChecksum(tls *libc.TLS, p uintptr) I64 { /* sqlite3.c:206597:12: */ // object, then the rbu handle is set to DONE state. This occurs if some // other client appends a transaction to the wal file in the middle of // an incremental checkpoint. -func rbuSetupCheckpoint(tls *libc.TLS, p uintptr, pState uintptr) { /* sqlite3.c:206626:13: */ +func rbuSetupCheckpoint(tls *libc.TLS, p uintptr, pState uintptr) { /* sqlite3.c:206683:13: */ // If pState is NULL, then the wal file may not have been opened and // recovered. Running a read-statement here to ensure that doing so @@ -167066,7 +167097,7 @@ func rbuSetupCheckpoint(tls *libc.TLS, p uintptr, pState uintptr) { /* sqlite3.c // Called when iAmt bytes are read from offset iOff of the wal file while // the rbu object is in capture mode. Record the frame number of the frame // being read in the aFrame[] array. -func rbuCaptureWalRead(tls *libc.TLS, pRbu uintptr, iOff I64, iAmt int32) int32 { /* sqlite3.c:206710:12: */ +func rbuCaptureWalRead(tls *libc.TLS, pRbu uintptr, iOff I64, iAmt int32) int32 { /* sqlite3.c:206767:12: */ var mReq U32 = U32(int32(1)<dbMain to one more than the schema cookie of the main // db opened by p->dbRbu. -func rbuIncrSchemaCookie(tls *libc.TLS, p uintptr) { /* sqlite3.c:207135:13: */ +func rbuIncrSchemaCookie(tls *libc.TLS, p uintptr) { /* sqlite3.c:207192:13: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -167473,7 +167504,7 @@ func rbuIncrSchemaCookie(tls *libc.TLS, p uintptr) { /* sqlite3.c:207135:13: */ // Update the contents of the rbu_state table within the rbu database. The // value stored in the RBU_STATE_STAGE column is eStage. All other values // are determined by inspecting the rbu handle passed as the first argument. -func rbuSaveState(tls *libc.TLS, p uintptr, eStage int32) { /* sqlite3.c:207166:13: */ +func rbuSaveState(tls *libc.TLS, p uintptr, eStage int32) { /* sqlite3.c:207223:13: */ bp := tls.Alloc(176) defer tls.Free(176) @@ -167528,7 +167559,7 @@ func rbuSaveState(tls *libc.TLS, p uintptr, eStage int32) { /* sqlite3.c:207166: // // In short, it copies the value of the specified PRAGMA setting from // dbRbu to dbMain. -func rbuCopyPragma(tls *libc.TLS, p uintptr, zPragma uintptr) { /* sqlite3.c:207227:13: */ +func rbuCopyPragma(tls *libc.TLS, p uintptr, zPragma uintptr) { /* sqlite3.c:207284:13: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -167547,7 +167578,7 @@ func rbuCopyPragma(tls *libc.TLS, p uintptr, zPragma uintptr) { /* sqlite3.c:207 // The RBU handle passed as the only argument has just been opened and // the state database is empty. If this RBU handle was opened for an // RBU vacuum operation, create the schema in the target db. -func rbuCreateTargetSchema(tls *libc.TLS, p uintptr) { /* sqlite3.c:207247:13: */ +func rbuCreateTargetSchema(tls *libc.TLS, p uintptr) { /* sqlite3.c:207304:13: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -167597,7 +167628,7 @@ func rbuCreateTargetSchema(tls *libc.TLS, p uintptr) { /* sqlite3.c:207247:13: * } // Step the RBU object. -func Xsqlite3rbu_step(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:207299:16: */ +func Xsqlite3rbu_step(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:207356:16: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -167740,7 +167771,7 @@ func Xsqlite3rbu_step(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:207299:16: // Compare strings z1 and z2, returning 0 if they are identical, or non-zero // otherwise. Either or both argument may be NULL. Two NULL values are // considered equal, and NULL is considered distinct from all other values. -func rbuStrCompare(tls *libc.TLS, z1 uintptr, z2 uintptr) int32 { /* sqlite3.c:207428:12: */ +func rbuStrCompare(tls *libc.TLS, z1 uintptr, z2 uintptr) int32 { /* sqlite3.c:207485:12: */ if z1 == uintptr(0) && z2 == uintptr(0) { return 0 } @@ -167758,7 +167789,7 @@ func rbuStrCompare(tls *libc.TLS, z1 uintptr, z2 uintptr) int32 { /* sqlite3.c:2 // // If an error occurs, an error code and error message are left in the // rbu handle passed as the first argument. -func rbuSetupOal(tls *libc.TLS, p uintptr, pState uintptr) { /* sqlite3.c:207444:13: */ +func rbuSetupOal(tls *libc.TLS, p uintptr, pState uintptr) { /* sqlite3.c:207501:13: */ if (*RbuState)(unsafe.Pointer(pState)).FzTbl != 0 { var pIter uintptr = p + 80 @@ -167788,7 +167819,7 @@ func rbuSetupOal(tls *libc.TLS, p uintptr, pState uintptr) { /* sqlite3.c:207444 // If there is a "*-oal" file in the file-system corresponding to the // target database in the file-system, delete it. If an error occurs, // leave an error code and error message in the rbu handle. -func rbuDeleteOalFile(tls *libc.TLS, p uintptr) { /* sqlite3.c:207477:13: */ +func rbuDeleteOalFile(tls *libc.TLS, p uintptr) { /* sqlite3.c:207534:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -167807,7 +167838,7 @@ func rbuDeleteOalFile(tls *libc.TLS, p uintptr) { /* sqlite3.c:207477:13: */ // argument. This VFS will be used unless the call to sqlite3rbu_open() // specified a URI with a vfs=? option in place of a target database // file name. -func rbuCreateVfs(tls *libc.TLS, p uintptr) { /* sqlite3.c:207493:13: */ +func rbuCreateVfs(tls *libc.TLS, p uintptr) { /* sqlite3.c:207550:13: */ bp := tls.Alloc(76) defer tls.Free(76) @@ -167828,7 +167859,7 @@ func rbuCreateVfs(tls *libc.TLS, p uintptr) { /* sqlite3.c:207493:13: */ // Destroy the private VFS created for the rbu handle passed as the only // argument by an earlier call to rbuCreateVfs(). -func rbuDeleteVfs(tls *libc.TLS, p uintptr) { /* sqlite3.c:207513:13: */ +func rbuDeleteVfs(tls *libc.TLS, p uintptr) { /* sqlite3.c:207570:13: */ if (*Sqlite3rbu)(unsafe.Pointer(p)).FzVfsName != 0 { Xsqlite3rbu_destroy_vfs(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FzVfsName) (*Sqlite3rbu)(unsafe.Pointer(p)).FzVfsName = uintptr(0) @@ -167838,7 +167869,7 @@ func rbuDeleteVfs(tls *libc.TLS, p uintptr) { /* sqlite3.c:207513:13: */ // This user-defined SQL function is invoked with a single argument - the // name of a table expected to appear in the target database. It returns // the number of auxilliary indexes on the table. -func rbuIndexCntFunc(tls *libc.TLS, pCtx uintptr, nVal int32, apVal uintptr) { /* sqlite3.c:207525:13: */ +func rbuIndexCntFunc(tls *libc.TLS, pCtx uintptr, nVal int32, apVal uintptr) { /* sqlite3.c:207582:13: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -167887,7 +167918,7 @@ func rbuIndexCntFunc(tls *libc.TLS, pCtx uintptr, nVal int32, apVal uintptr) { / // sqlite3rbu.nPhaseOneStep is initialized to the sum of (1 + nIndex) * cnt // for all rows in the rbu_count table, where nIndex is the number of // indexes on the corresponding target database table. -func rbuInitPhaseOneSteps(tls *libc.TLS, p uintptr) { /* sqlite3.c:207575:13: */ +func rbuInitPhaseOneSteps(tls *libc.TLS, p uintptr) { /* sqlite3.c:207632:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -167929,7 +167960,7 @@ func rbuInitPhaseOneSteps(tls *libc.TLS, p uintptr) { /* sqlite3.c:207575:13: */ } } -func openRbuHandle(tls *libc.TLS, zTarget uintptr, zRbu uintptr, zState uintptr) uintptr { /* sqlite3.c:207616:19: */ +func openRbuHandle(tls *libc.TLS, zTarget uintptr, zRbu uintptr, zState uintptr) uintptr { /* sqlite3.c:207673:19: */ bp := tls.Alloc(20) defer tls.Free(20) @@ -168102,7 +168133,7 @@ func openRbuHandle(tls *libc.TLS, zTarget uintptr, zRbu uintptr, zState uintptr) // Allocate and return an RBU handle with all fields zeroed except for the // error code, which is set to SQLITE_MISUSE. -func rbuMisuseError(tls *libc.TLS) uintptr { /* sqlite3.c:207780:19: */ +func rbuMisuseError(tls *libc.TLS) uintptr { /* sqlite3.c:207837:19: */ var pRet uintptr pRet = Xsqlite3_malloc64(tls, uint64(unsafe.Sizeof(Sqlite3rbu{}))) if pRet != 0 { @@ -168113,7 +168144,7 @@ func rbuMisuseError(tls *libc.TLS) uintptr { /* sqlite3.c:207780:19: */ } // Open and return a new RBU handle. -func Xsqlite3rbu_open(tls *libc.TLS, zTarget uintptr, zRbu uintptr, zState uintptr) uintptr { /* sqlite3.c:207793:23: */ +func Xsqlite3rbu_open(tls *libc.TLS, zTarget uintptr, zRbu uintptr, zState uintptr) uintptr { /* sqlite3.c:207850:23: */ if zTarget == uintptr(0) || zRbu == uintptr(0) { return rbuMisuseError(tls) } @@ -168121,7 +168152,7 @@ func Xsqlite3rbu_open(tls *libc.TLS, zTarget uintptr, zRbu uintptr, zState uintp } // Open a handle to begin or resume an RBU VACUUM operation. -func Xsqlite3rbu_vacuum(tls *libc.TLS, zTarget uintptr, zState uintptr) uintptr { /* sqlite3.c:207805:23: */ +func Xsqlite3rbu_vacuum(tls *libc.TLS, zTarget uintptr, zState uintptr) uintptr { /* sqlite3.c:207862:23: */ if zTarget == uintptr(0) { return rbuMisuseError(tls) } @@ -168136,7 +168167,7 @@ func Xsqlite3rbu_vacuum(tls *libc.TLS, zTarget uintptr, zState uintptr) uintptr } // Return the database handle used by pRbu. -func Xsqlite3rbu_db(tls *libc.TLS, pRbu uintptr, bRbu int32) uintptr { /* sqlite3.c:207823:20: */ +func Xsqlite3rbu_db(tls *libc.TLS, pRbu uintptr, bRbu int32) uintptr { /* sqlite3.c:207880:20: */ var db uintptr = uintptr(0) if pRbu != 0 { db = func() uintptr { @@ -168152,7 +168183,7 @@ func Xsqlite3rbu_db(tls *libc.TLS, pRbu uintptr, bRbu int32) uintptr { /* sqlite // If the error code currently stored in the RBU handle is SQLITE_CONSTRAINT, // then edit any error message string so as to remove all occurrences of // the pattern "rbu_imp_[0-9]*". -func rbuEditErrmsg(tls *libc.TLS, p uintptr) { /* sqlite3.c:207837:13: */ +func rbuEditErrmsg(tls *libc.TLS, p uintptr) { /* sqlite3.c:207894:13: */ if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_CONSTRAINT && (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg != 0 { var i uint32 var nErrmsg Size_t = libc.Xstrlen(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg) @@ -168170,7 +168201,7 @@ func rbuEditErrmsg(tls *libc.TLS, p uintptr) { /* sqlite3.c:207837:13: */ } // Close the RBU handle. -func Xsqlite3rbu_close(tls *libc.TLS, p uintptr, pzErrmsg uintptr) int32 { /* sqlite3.c:207855:16: */ +func Xsqlite3rbu_close(tls *libc.TLS, p uintptr, pzErrmsg uintptr) int32 { /* sqlite3.c:207912:16: */ var rc int32 if p != 0 { @@ -168235,13 +168266,13 @@ func Xsqlite3rbu_close(tls *libc.TLS, p uintptr, pzErrmsg uintptr) int32 { /* sq // Return the total number of key-value operations (inserts, deletes or // updates) that have been performed on the target database since the // current RBU update was started. -func Xsqlite3rbu_progress(tls *libc.TLS, pRbu uintptr) Sqlite3_int64 { /* sqlite3.c:207918:26: */ +func Xsqlite3rbu_progress(tls *libc.TLS, pRbu uintptr) Sqlite3_int64 { /* sqlite3.c:207975:26: */ return Sqlite3_int64((*Sqlite3rbu)(unsafe.Pointer(pRbu)).FnProgress) } // Return permyriadage progress indications for the two main stages of // an RBU update. -func Xsqlite3rbu_bp_progress(tls *libc.TLS, p uintptr, pnOne uintptr, pnTwo uintptr) { /* sqlite3.c:207926:17: */ +func Xsqlite3rbu_bp_progress(tls *libc.TLS, p uintptr, pnOne uintptr, pnTwo uintptr) { /* sqlite3.c:207983:17: */ var MAX_PROGRESS int32 = 10000 switch (*Sqlite3rbu)(unsafe.Pointer(p)).FeStage { case RBU_STAGE_OAL: @@ -168274,7 +168305,7 @@ func Xsqlite3rbu_bp_progress(tls *libc.TLS, p uintptr, pnOne uintptr, pnTwo uint } // Return the current state of the RBU vacuum or update operation. -func Xsqlite3rbu_state(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:207961:16: */ +func Xsqlite3rbu_state(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:208018:16: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -168292,7 +168323,7 @@ func Xsqlite3rbu_state(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:207961:16: return int32(0) } -func Xsqlite3rbu_savestate(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:207989:16: */ +func Xsqlite3rbu_savestate(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:208046:16: */ var rc int32 = (*Sqlite3rbu)(unsafe.Pointer(p)).Frc if rc == SQLITE_DONE { return SQLITE_OK @@ -168399,7 +168430,7 @@ func Xsqlite3rbu_savestate(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:207989 // relinquished). Finally, calls to xSync() on the target database // file fail with SQLITE_INTERNAL errors. -func rbuUnlockShm(tls *libc.TLS, p uintptr) { /* sqlite3.c:208082:13: */ +func rbuUnlockShm(tls *libc.TLS, p uintptr) { /* sqlite3.c:208139:13: */ if (*Rbu_file)(unsafe.Pointer(p)).FpRbu != 0 { var xShmLock uintptr = (*sqlite3_io_methods)(unsafe.Pointer((*Sqlite3_file)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer(p)).FpReal)).FpMethods)).FxShmLock @@ -168416,7 +168447,7 @@ func rbuUnlockShm(tls *libc.TLS, p uintptr) { /* sqlite3.c:208082:13: */ } // -func rbuUpdateTempSize(tls *libc.TLS, pFd uintptr, nNew Sqlite3_int64) int32 { /* sqlite3.c:208098:12: */ +func rbuUpdateTempSize(tls *libc.TLS, pFd uintptr, nNew Sqlite3_int64) int32 { /* sqlite3.c:208155:12: */ var pRbu uintptr = (*Rbu_file)(unsafe.Pointer(pFd)).FpRbu var nDiff I64 = nNew - (*Rbu_file)(unsafe.Pointer(pFd)).Fsz *(*I64)(unsafe.Pointer(pRbu + 360)) += nDiff @@ -168434,7 +168465,7 @@ func rbuUpdateTempSize(tls *libc.TLS, pFd uintptr, nNew Sqlite3_int64) int32 { / // for all file descriptors with rbu_file.pDb!=0. If the argument has // rbu_file.pDb!=0, then it is assumed to already be present on the // main list and is only added to the pDb!=0 list. -func rbuMainlistAdd(tls *libc.TLS, p uintptr) { /* sqlite3.c:208116:13: */ +func rbuMainlistAdd(tls *libc.TLS, p uintptr) { /* sqlite3.c:208173:13: */ var pRbuVfs uintptr = (*Rbu_file)(unsafe.Pointer(p)).FpRbuVfs var pIter uintptr @@ -168456,7 +168487,7 @@ func rbuMainlistAdd(tls *libc.TLS, p uintptr) { /* sqlite3.c:208116:13: */ } // Remove an item from the main-db lists. -func rbuMainlistRemove(tls *libc.TLS, p uintptr) { /* sqlite3.c:208138:13: */ +func rbuMainlistRemove(tls *libc.TLS, p uintptr) { /* sqlite3.c:208195:13: */ var pp uintptr Xsqlite3_mutex_enter(tls, (*Rbu_vfs)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer(p)).FpRbuVfs)).Fmutex) for pp = (*Rbu_file)(unsafe.Pointer(p)).FpRbuVfs + 192; *(*uintptr)(unsafe.Pointer(pp)) != 0 && *(*uintptr)(unsafe.Pointer(pp)) != p; pp = *(*uintptr)(unsafe.Pointer(pp)) + 88 { @@ -168481,7 +168512,7 @@ func rbuMainlistRemove(tls *libc.TLS, p uintptr) { /* sqlite3.c:208138:13: */ // // If parameter bRbu is true, only search for file-descriptors with // rbu_file.pDb!=0. -func rbuFindMaindb(tls *libc.TLS, pRbuVfs uintptr, zWal uintptr, bRbu int32) uintptr { /* sqlite3.c:208159:17: */ +func rbuFindMaindb(tls *libc.TLS, pRbuVfs uintptr, zWal uintptr, bRbu int32) uintptr { /* sqlite3.c:208216:17: */ var pDb uintptr Xsqlite3_mutex_enter(tls, (*Rbu_vfs)(unsafe.Pointer(pRbuVfs)).Fmutex) if bRbu != 0 { @@ -168496,7 +168527,7 @@ func rbuFindMaindb(tls *libc.TLS, pRbuVfs uintptr, zWal uintptr, bRbu int32) uin } // Close an rbu file. -func rbuVfsClose(tls *libc.TLS, pFile uintptr) int32 { /* sqlite3.c:208174:12: */ +func rbuVfsClose(tls *libc.TLS, pFile uintptr) int32 { /* sqlite3.c:208231:12: */ var p uintptr = pFile var rc int32 var i int32 @@ -168528,7 +168559,7 @@ func rbuVfsClose(tls *libc.TLS, pFile uintptr) int32 { /* sqlite3.c:208174:12: * // Read and return an unsigned 32-bit big-endian integer from the buffer // passed as the only argument. -func rbuGetU32(tls *libc.TLS, aBuf uintptr) U32 { /* sqlite3.c:208207:12: */ +func rbuGetU32(tls *libc.TLS, aBuf uintptr) U32 { /* sqlite3.c:208264:12: */ return U32(*(*U8)(unsafe.Pointer(aBuf)))<<24 + U32(*(*U8)(unsafe.Pointer(aBuf + 1)))<<16 + U32(*(*U8)(unsafe.Pointer(aBuf + 2)))<<8 + @@ -168537,20 +168568,20 @@ func rbuGetU32(tls *libc.TLS, aBuf uintptr) U32 { /* sqlite3.c:208207:12: */ // Write an unsigned 32-bit value in big-endian format to the supplied // buffer. -func rbuPutU32(tls *libc.TLS, aBuf uintptr, iVal U32) { /* sqlite3.c:208218:13: */ +func rbuPutU32(tls *libc.TLS, aBuf uintptr, iVal U32) { /* sqlite3.c:208275:13: */ *(*U8)(unsafe.Pointer(aBuf)) = U8(iVal >> 24 & U32(0xFF)) *(*U8)(unsafe.Pointer(aBuf + 1)) = U8(iVal >> 16 & U32(0xFF)) *(*U8)(unsafe.Pointer(aBuf + 2)) = U8(iVal >> 8 & U32(0xFF)) *(*U8)(unsafe.Pointer(aBuf + 3)) = U8(iVal >> 0 & U32(0xFF)) } -func rbuPutU16(tls *libc.TLS, aBuf uintptr, iVal U16) { /* sqlite3.c:208225:13: */ +func rbuPutU16(tls *libc.TLS, aBuf uintptr, iVal U16) { /* sqlite3.c:208282:13: */ *(*U8)(unsafe.Pointer(aBuf)) = U8(int32(iVal) >> 8 & 0xFF) *(*U8)(unsafe.Pointer(aBuf + 1)) = U8(int32(iVal) >> 0 & 0xFF) } // Read data from an rbuVfs-file. -func rbuVfsRead(tls *libc.TLS, pFile uintptr, zBuf uintptr, iAmt int32, iOfst Sqlite_int64) int32 { /* sqlite3.c:208233:12: */ +func rbuVfsRead(tls *libc.TLS, pFile uintptr, zBuf uintptr, iAmt int32, iOfst Sqlite_int64) int32 { /* sqlite3.c:208290:12: */ var p uintptr = pFile var pRbu uintptr = (*Rbu_file)(unsafe.Pointer(p)).FpRbu var rc int32 @@ -168614,7 +168645,7 @@ func rbuVfsRead(tls *libc.TLS, pFile uintptr, zBuf uintptr, iAmt int32, iOfst Sq } // Write data to an rbuVfs-file. -func rbuVfsWrite(tls *libc.TLS, pFile uintptr, zBuf uintptr, iAmt int32, iOfst Sqlite_int64) int32 { /* sqlite3.c:208299:12: */ +func rbuVfsWrite(tls *libc.TLS, pFile uintptr, zBuf uintptr, iAmt int32, iOfst Sqlite_int64) int32 { /* sqlite3.c:208356:12: */ var p uintptr = pFile var pRbu uintptr = (*Rbu_file)(unsafe.Pointer(p)).FpRbu var rc int32 @@ -168653,7 +168684,7 @@ func rbuVfsWrite(tls *libc.TLS, pFile uintptr, zBuf uintptr, iAmt int32, iOfst S } // Truncate an rbuVfs-file. -func rbuVfsTruncate(tls *libc.TLS, pFile uintptr, size Sqlite_int64) int32 { /* sqlite3.c:208342:12: */ +func rbuVfsTruncate(tls *libc.TLS, pFile uintptr, size Sqlite_int64) int32 { /* sqlite3.c:208399:12: */ var p uintptr = pFile if (*Rbu_file)(unsafe.Pointer(p)).FopenFlags&SQLITE_OPEN_DELETEONCLOSE != 0 && (*Rbu_file)(unsafe.Pointer(p)).FpRbu != 0 { var rc int32 = rbuUpdateTempSize(tls, p, size) @@ -168667,7 +168698,7 @@ func rbuVfsTruncate(tls *libc.TLS, pFile uintptr, size Sqlite_int64) int32 { /* } // Sync an rbuVfs-file. -func rbuVfsSync(tls *libc.TLS, pFile uintptr, flags int32) int32 { /* sqlite3.c:208354:12: */ +func rbuVfsSync(tls *libc.TLS, pFile uintptr, flags int32) int32 { /* sqlite3.c:208411:12: */ var p uintptr = pFile if (*Rbu_file)(unsafe.Pointer(p)).FpRbu != 0 && (*Sqlite3rbu)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer(p)).FpRbu)).FeStage == RBU_STAGE_CAPTURE { if (*Rbu_file)(unsafe.Pointer(p)).FopenFlags&SQLITE_OPEN_MAIN_DB != 0 { @@ -168681,7 +168712,7 @@ func rbuVfsSync(tls *libc.TLS, pFile uintptr, flags int32) int32 { /* sqlite3.c: } // Return the current file-size of an rbuVfs-file. -func rbuVfsFileSize(tls *libc.TLS, pFile uintptr, pSize uintptr) int32 { /* sqlite3.c:208368:12: */ +func rbuVfsFileSize(tls *libc.TLS, pFile uintptr, pSize uintptr) int32 { /* sqlite3.c:208425:12: */ var p uintptr = pFile var rc int32 rc = (*struct { @@ -168701,7 +168732,7 @@ func rbuVfsFileSize(tls *libc.TLS, pFile uintptr, pSize uintptr) int32 { /* sqli } // Lock an rbuVfs-file. -func rbuVfsLock(tls *libc.TLS, pFile uintptr, eLock int32) int32 { /* sqlite3.c:208389:12: */ +func rbuVfsLock(tls *libc.TLS, pFile uintptr, eLock int32) int32 { /* sqlite3.c:208446:12: */ var p uintptr = pFile var pRbu uintptr = (*Rbu_file)(unsafe.Pointer(p)).FpRbu var rc int32 = SQLITE_OK @@ -168721,7 +168752,7 @@ func rbuVfsLock(tls *libc.TLS, pFile uintptr, eLock int32) int32 { /* sqlite3.c: } // Unlock an rbuVfs-file. -func rbuVfsUnlock(tls *libc.TLS, pFile uintptr, eLock int32) int32 { /* sqlite3.c:208411:12: */ +func rbuVfsUnlock(tls *libc.TLS, pFile uintptr, eLock int32) int32 { /* sqlite3.c:208468:12: */ var p uintptr = pFile return (*struct { f func(*libc.TLS, uintptr, int32) int32 @@ -168729,7 +168760,7 @@ func rbuVfsUnlock(tls *libc.TLS, pFile uintptr, eLock int32) int32 { /* sqlite3. } // Check if another file-handle holds a RESERVED lock on an rbuVfs-file. -func rbuVfsCheckReservedLock(tls *libc.TLS, pFile uintptr, pResOut uintptr) int32 { /* sqlite3.c:208419:12: */ +func rbuVfsCheckReservedLock(tls *libc.TLS, pFile uintptr, pResOut uintptr) int32 { /* sqlite3.c:208476:12: */ var p uintptr = pFile return (*struct { f func(*libc.TLS, uintptr, uintptr) int32 @@ -168737,7 +168768,7 @@ func rbuVfsCheckReservedLock(tls *libc.TLS, pFile uintptr, pResOut uintptr) int3 } // File control method. For custom operations on an rbuVfs-file. -func rbuVfsFileControl(tls *libc.TLS, pFile uintptr, op int32, pArg uintptr) int32 { /* sqlite3.c:208427:12: */ +func rbuVfsFileControl(tls *libc.TLS, pFile uintptr, op int32, pArg uintptr) int32 { /* sqlite3.c:208484:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -168800,7 +168831,7 @@ func rbuVfsFileControl(tls *libc.TLS, pFile uintptr, op int32, pArg uintptr) int } // Return the sector-size in bytes for an rbuVfs-file. -func rbuVfsSectorSize(tls *libc.TLS, pFile uintptr) int32 { /* sqlite3.c:208483:12: */ +func rbuVfsSectorSize(tls *libc.TLS, pFile uintptr) int32 { /* sqlite3.c:208540:12: */ var p uintptr = pFile return (*struct { f func(*libc.TLS, uintptr) int32 @@ -168808,7 +168839,7 @@ func rbuVfsSectorSize(tls *libc.TLS, pFile uintptr) int32 { /* sqlite3.c:208483: } // Return the device characteristic flags supported by an rbuVfs-file. -func rbuVfsDeviceCharacteristics(tls *libc.TLS, pFile uintptr) int32 { /* sqlite3.c:208491:12: */ +func rbuVfsDeviceCharacteristics(tls *libc.TLS, pFile uintptr) int32 { /* sqlite3.c:208548:12: */ var p uintptr = pFile return (*struct { f func(*libc.TLS, uintptr) int32 @@ -168816,7 +168847,7 @@ func rbuVfsDeviceCharacteristics(tls *libc.TLS, pFile uintptr) int32 { /* sqlite } // Take or release a shared-memory lock. -func rbuVfsShmLock(tls *libc.TLS, pFile uintptr, ofst int32, n int32, flags int32) int32 { /* sqlite3.c:208499:12: */ +func rbuVfsShmLock(tls *libc.TLS, pFile uintptr, ofst int32, n int32, flags int32) int32 { /* sqlite3.c:208556:12: */ var p uintptr = pFile var pRbu uintptr = (*Rbu_file)(unsafe.Pointer(p)).FpRbu var rc int32 = SQLITE_OK @@ -168849,7 +168880,7 @@ func rbuVfsShmLock(tls *libc.TLS, pFile uintptr, ofst int32, n int32, flags int3 } // Obtain a pointer to a mapping of a single 32KiB page of the *-shm file. -func rbuVfsShmMap(tls *libc.TLS, pFile uintptr, iRegion int32, szRegion int32, isWrite int32, pp uintptr) int32 { /* sqlite3.c:208537:12: */ +func rbuVfsShmMap(tls *libc.TLS, pFile uintptr, iRegion int32, szRegion int32, isWrite int32, pp uintptr) int32 { /* sqlite3.c:208594:12: */ var p uintptr = pFile var rc int32 = SQLITE_OK var eStage int32 = func() int32 { @@ -168906,13 +168937,13 @@ func rbuVfsShmMap(tls *libc.TLS, pFile uintptr, iRegion int32, szRegion int32, i } // Memory barrier. -func rbuVfsShmBarrier(tls *libc.TLS, pFile uintptr) { /* sqlite3.c:208595:13: */ +func rbuVfsShmBarrier(tls *libc.TLS, pFile uintptr) { /* sqlite3.c:208652:13: */ var p uintptr = pFile (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods)(unsafe.Pointer((*Sqlite3_file)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer(p)).FpReal)).FpMethods)).FxShmBarrier})).f(tls, (*Rbu_file)(unsafe.Pointer(p)).FpReal) } // The xShmUnmap method. -func rbuVfsShmUnmap(tls *libc.TLS, pFile uintptr, delFlag int32) int32 { /* sqlite3.c:208603:12: */ +func rbuVfsShmUnmap(tls *libc.TLS, pFile uintptr, delFlag int32) int32 { /* sqlite3.c:208660:12: */ var p uintptr = pFile var rc int32 = SQLITE_OK var eStage int32 = func() int32 { @@ -168935,7 +168966,7 @@ func rbuVfsShmUnmap(tls *libc.TLS, pFile uintptr, delFlag int32) int32 { /* sqli } // Open an rbu file handle. -func rbuVfsOpen(tls *libc.TLS, pVfs uintptr, zName uintptr, pFile uintptr, flags int32, pOutFlags uintptr) int32 { /* sqlite3.c:208622:12: */ +func rbuVfsOpen(tls *libc.TLS, pVfs uintptr, zName uintptr, pFile uintptr, flags int32, pOutFlags uintptr) int32 { /* sqlite3.c:208679:12: */ var pRbuVfs uintptr = pVfs var pRealVfs uintptr = (*Rbu_vfs)(unsafe.Pointer(pRbuVfs)).FpRealVfs var pFd uintptr = pFile @@ -169021,10 +169052,10 @@ var rbuvfs_io_methods = Sqlite3_io_methods{ FxShmLock: 0, // xShmLock FxShmBarrier: 0, // xShmBarrier FxShmUnmap: 0, // xFetch, xUnfetch -} /* sqlite3.c:208629:29 */ +} /* sqlite3.c:208686:29 */ // Delete the file located at zPath. -func rbuVfsDelete(tls *libc.TLS, pVfs uintptr, zPath uintptr, dirSync int32) int32 { /* sqlite3.c:208720:12: */ +func rbuVfsDelete(tls *libc.TLS, pVfs uintptr, zPath uintptr, dirSync int32) int32 { /* sqlite3.c:208777:12: */ var pRealVfs uintptr = (*Rbu_vfs)(unsafe.Pointer(pVfs)).FpRealVfs return (*struct { f func(*libc.TLS, uintptr, uintptr, int32) int32 @@ -169033,7 +169064,7 @@ func rbuVfsDelete(tls *libc.TLS, pVfs uintptr, zPath uintptr, dirSync int32) int // Test for access permissions. Return true if the requested permission // is available, or false otherwise. -func rbuVfsAccess(tls *libc.TLS, pVfs uintptr, zPath uintptr, flags int32, pResOut uintptr) int32 { /* sqlite3.c:208729:12: */ +func rbuVfsAccess(tls *libc.TLS, pVfs uintptr, zPath uintptr, flags int32, pResOut uintptr) int32 { /* sqlite3.c:208786:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -169078,7 +169109,7 @@ func rbuVfsAccess(tls *libc.TLS, pVfs uintptr, zPath uintptr, flags int32, pResO // Populate buffer zOut with the full canonical pathname corresponding // to the pathname in zPath. zOut is guaranteed to point to a buffer // of at least (DEVSYM_MAX_PATHNAME+1) bytes. -func rbuVfsFullPathname(tls *libc.TLS, pVfs uintptr, zPath uintptr, nOut int32, zOut uintptr) int32 { /* sqlite3.c:208777:12: */ +func rbuVfsFullPathname(tls *libc.TLS, pVfs uintptr, zPath uintptr, nOut int32, zOut uintptr) int32 { /* sqlite3.c:208834:12: */ var pRealVfs uintptr = (*Rbu_vfs)(unsafe.Pointer(pVfs)).FpRealVfs return (*struct { f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 @@ -169086,7 +169117,7 @@ func rbuVfsFullPathname(tls *libc.TLS, pVfs uintptr, zPath uintptr, nOut int32, } // Open the dynamic library located at zPath and return a handle. -func rbuVfsDlOpen(tls *libc.TLS, pVfs uintptr, zPath uintptr) uintptr { /* sqlite3.c:208791:13: */ +func rbuVfsDlOpen(tls *libc.TLS, pVfs uintptr, zPath uintptr) uintptr { /* sqlite3.c:208848:13: */ var pRealVfs uintptr = (*Rbu_vfs)(unsafe.Pointer(pVfs)).FpRealVfs return (*struct { f func(*libc.TLS, uintptr, uintptr) uintptr @@ -169096,7 +169127,7 @@ func rbuVfsDlOpen(tls *libc.TLS, pVfs uintptr, zPath uintptr) uintptr { /* sqlit // Populate the buffer zErrMsg (size nByte bytes) with a human readable // utf-8 string describing the most recent error encountered associated // with dynamic libraries. -func rbuVfsDlError(tls *libc.TLS, pVfs uintptr, nByte int32, zErrMsg uintptr) { /* sqlite3.c:208801:13: */ +func rbuVfsDlError(tls *libc.TLS, pVfs uintptr, nByte int32, zErrMsg uintptr) { /* sqlite3.c:208858:13: */ var pRealVfs uintptr = (*Rbu_vfs)(unsafe.Pointer(pVfs)).FpRealVfs (*struct { f func(*libc.TLS, uintptr, int32, uintptr) @@ -169104,7 +169135,7 @@ func rbuVfsDlError(tls *libc.TLS, pVfs uintptr, nByte int32, zErrMsg uintptr) { } // Return a pointer to the symbol zSymbol in the dynamic library pHandle. -func rbuVfsDlSym(tls *libc.TLS, pVfs uintptr, pArg uintptr, zSym uintptr) uintptr { /* sqlite3.c:208809:13: */ +func rbuVfsDlSym(tls *libc.TLS, pVfs uintptr, pArg uintptr, zSym uintptr) uintptr { /* sqlite3.c:208866:13: */ var pRealVfs uintptr = (*Rbu_vfs)(unsafe.Pointer(pVfs)).FpRealVfs return (*struct { f func(*libc.TLS, uintptr, uintptr, uintptr) uintptr @@ -169112,7 +169143,7 @@ func rbuVfsDlSym(tls *libc.TLS, pVfs uintptr, pArg uintptr, zSym uintptr) uintpt } // Close the dynamic library handle pHandle. -func rbuVfsDlClose(tls *libc.TLS, pVfs uintptr, pHandle uintptr) { /* sqlite3.c:208821:13: */ +func rbuVfsDlClose(tls *libc.TLS, pVfs uintptr, pHandle uintptr) { /* sqlite3.c:208878:13: */ var pRealVfs uintptr = (*Rbu_vfs)(unsafe.Pointer(pVfs)).FpRealVfs (*struct { f func(*libc.TLS, uintptr, uintptr) @@ -169121,7 +169152,7 @@ func rbuVfsDlClose(tls *libc.TLS, pVfs uintptr, pHandle uintptr) { /* sqlite3.c: // Populate the buffer pointed to by zBufOut with nByte bytes of // random data. -func rbuVfsRandomness(tls *libc.TLS, pVfs uintptr, nByte int32, zBufOut uintptr) int32 { /* sqlite3.c:208831:12: */ +func rbuVfsRandomness(tls *libc.TLS, pVfs uintptr, nByte int32, zBufOut uintptr) int32 { /* sqlite3.c:208888:12: */ var pRealVfs uintptr = (*Rbu_vfs)(unsafe.Pointer(pVfs)).FpRealVfs return (*struct { f func(*libc.TLS, uintptr, int32, uintptr) int32 @@ -169130,7 +169161,7 @@ func rbuVfsRandomness(tls *libc.TLS, pVfs uintptr, nByte int32, zBufOut uintptr) // Sleep for nMicro microseconds. Return the number of microseconds // actually slept. -func rbuVfsSleep(tls *libc.TLS, pVfs uintptr, nMicro int32) int32 { /* sqlite3.c:208840:12: */ +func rbuVfsSleep(tls *libc.TLS, pVfs uintptr, nMicro int32) int32 { /* sqlite3.c:208897:12: */ var pRealVfs uintptr = (*Rbu_vfs)(unsafe.Pointer(pVfs)).FpRealVfs return (*struct { f func(*libc.TLS, uintptr, int32) int32 @@ -169138,7 +169169,7 @@ func rbuVfsSleep(tls *libc.TLS, pVfs uintptr, nMicro int32) int32 { /* sqlite3.c } // Return the current time as a Julian Day number in *pTimeOut. -func rbuVfsCurrentTime(tls *libc.TLS, pVfs uintptr, pTimeOut uintptr) int32 { /* sqlite3.c:208848:12: */ +func rbuVfsCurrentTime(tls *libc.TLS, pVfs uintptr, pTimeOut uintptr) int32 { /* sqlite3.c:208905:12: */ var pRealVfs uintptr = (*Rbu_vfs)(unsafe.Pointer(pVfs)).FpRealVfs return (*struct { f func(*libc.TLS, uintptr, uintptr) int32 @@ -169146,13 +169177,13 @@ func rbuVfsCurrentTime(tls *libc.TLS, pVfs uintptr, pTimeOut uintptr) int32 { /* } // No-op. -func rbuVfsGetLastError(tls *libc.TLS, pVfs uintptr, a int32, b uintptr) int32 { /* sqlite3.c:208856:12: */ +func rbuVfsGetLastError(tls *libc.TLS, pVfs uintptr, a int32, b uintptr) int32 { /* sqlite3.c:208913:12: */ return 0 } // Deregister and destroy an RBU vfs created by an earlier call to // sqlite3rbu_create_vfs(). -func Xsqlite3rbu_destroy_vfs(tls *libc.TLS, zName uintptr) { /* sqlite3.c:208864:17: */ +func Xsqlite3rbu_destroy_vfs(tls *libc.TLS, zName uintptr) { /* sqlite3.c:208921:17: */ var pVfs uintptr = Xsqlite3_vfs_find(tls, zName) if pVfs != 0 && (*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FxOpen == *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32 @@ -169166,7 +169197,7 @@ func Xsqlite3rbu_destroy_vfs(tls *libc.TLS, zName uintptr) { /* sqlite3.c:208864 // Create an RBU VFS named zName that accesses the underlying file-system // via existing VFS zParent. The new object is registered as a non-default // VFS with SQLite before returning. -func Xsqlite3rbu_create_vfs(tls *libc.TLS, zName uintptr, zParent uintptr) int32 { /* sqlite3.c:208878:16: */ +func Xsqlite3rbu_create_vfs(tls *libc.TLS, zName uintptr, zParent uintptr) int32 { /* sqlite3.c:208935:16: */ var pNew uintptr = uintptr(0) // Newly allocated VFS var rc int32 = SQLITE_OK @@ -169227,17 +169258,17 @@ var vfs_template = Sqlite3_vfs{ FxSleep: 0, // xSleep FxCurrentTime: 0, // xCurrentTime FxGetLastError: 0, // Unimplemented version 3 methods -} /* sqlite3.c:208881:22 */ +} /* sqlite3.c:208938:22 */ // Configure the aggregate temp file size limit for this RBU handle. -func Xsqlite3rbu_temp_size_limit(tls *libc.TLS, pRbu uintptr, n Sqlite3_int64) Sqlite3_int64 { /* sqlite3.c:208956:26: */ +func Xsqlite3rbu_temp_size_limit(tls *libc.TLS, pRbu uintptr, n Sqlite3_int64) Sqlite3_int64 { /* sqlite3.c:209013:26: */ if n >= int64(0) { (*Sqlite3rbu)(unsafe.Pointer(pRbu)).FszTempLimit = n } return (*Sqlite3rbu)(unsafe.Pointer(pRbu)).FszTempLimit } -func Xsqlite3rbu_temp_size(tls *libc.TLS, pRbu uintptr) Sqlite3_int64 { /* sqlite3.c:208963:26: */ +func Xsqlite3rbu_temp_size(tls *libc.TLS, pRbu uintptr) Sqlite3_int64 { /* sqlite3.c:209020:26: */ return (*Sqlite3rbu)(unsafe.Pointer(pRbu)).FszTemp } @@ -169391,7 +169422,7 @@ type SessionTable1 = struct { // #include // #include -type SessionTable = SessionTable1 /* sqlite3.c:210308:29 */ +type SessionTable = SessionTable1 /* sqlite3.c:210365:29 */ type SessionChange1 = struct { Fop U8 FbIndirect U8 @@ -169403,14 +169434,14 @@ type SessionChange1 = struct { FpNext uintptr } /* sqlite3.c:10832:9 */ -type SessionChange = SessionChange1 /* sqlite3.c:210309:30 */ +type SessionChange = SessionChange1 /* sqlite3.c:210366:30 */ type SessionBuffer1 = struct { FaBuf uintptr FnBuf int32 FnAlloc int32 } /* sqlite3.c:10840:9 */ -type SessionBuffer = SessionBuffer1 /* sqlite3.c:210310:30 */ +type SessionBuffer = SessionBuffer1 /* sqlite3.c:210367:30 */ type SessionInput1 = struct { FbNoDiscard int32 FiCurrent int32 @@ -169426,11 +169457,11 @@ type SessionInput1 = struct { F__ccgo_pad3 [4]byte } /* sqlite3.c:10840:9 */ -type SessionInput = SessionInput1 /* sqlite3.c:210311:29 */ +type SessionInput = SessionInput1 /* sqlite3.c:210368:29 */ // Minimum chunk size used by streaming versions of functions. -var sessions_strm_chunk_size int32 = SESSIONS_STRM_CHUNK_SIZE /* sqlite3.c:210324:12 */ +var sessions_strm_chunk_size int32 = SESSIONS_STRM_CHUNK_SIZE /* sqlite3.c:210381:12 */ type SessionHook1 = struct { FpCtx uintptr @@ -169440,11 +169471,11 @@ type SessionHook1 = struct { FxDepth uintptr } /* sqlite3.c:10832:9 */ -type SessionHook = SessionHook1 /* sqlite3.c:210326:28 */ +type SessionHook = SessionHook1 /* sqlite3.c:210383:28 */ // Write a varint with value iVal into the buffer at aBuf. Return the // number of bytes written. -func sessionVarintPut(tls *libc.TLS, aBuf uintptr, iVal int32) int32 { /* sqlite3.c:210604:12: */ +func sessionVarintPut(tls *libc.TLS, aBuf uintptr, iVal int32) int32 { /* sqlite3.c:210661:12: */ return int32(func() uint8 { if U32(iVal) < U32(0x80) { return uint8(func() int32 { *(*U8)(unsafe.Pointer(aBuf)) = uint8(iVal); return 1 }()) @@ -169454,13 +169485,13 @@ func sessionVarintPut(tls *libc.TLS, aBuf uintptr, iVal int32) int32 { /* sqlite } // Return the number of bytes required to store value iVal as a varint. -func sessionVarintLen(tls *libc.TLS, iVal int32) int32 { /* sqlite3.c:210611:12: */ +func sessionVarintLen(tls *libc.TLS, iVal int32) int32 { /* sqlite3.c:210668:12: */ return Xsqlite3VarintLen(tls, uint64(iVal)) } // Read a varint value from aBuf[] into *piVal. Return the number of // bytes read. -func sessionVarintGet(tls *libc.TLS, aBuf uintptr, piVal uintptr) int32 { /* sqlite3.c:210619:12: */ +func sessionVarintGet(tls *libc.TLS, aBuf uintptr, piVal uintptr) int32 { /* sqlite3.c:210676:12: */ return int32(func() uint8 { if int32(*(*U8)(unsafe.Pointer(aBuf))) < int32(U8(0x80)) { return uint8(func() int32 { *(*int32)(unsafe.Pointer(piVal)) = int32(U32(*(*U8)(unsafe.Pointer(aBuf)))); return 1 }()) @@ -169473,7 +169504,7 @@ func sessionVarintGet(tls *libc.TLS, aBuf uintptr, piVal uintptr) int32 { /* sql // Read a 64-bit big-endian integer value from buffer aRec[]. Return // the value read. -func sessionGetI64(tls *libc.TLS, aRec uintptr) Sqlite3_int64 { /* sqlite3.c:210630:22: */ +func sessionGetI64(tls *libc.TLS, aRec uintptr) Sqlite3_int64 { /* sqlite3.c:210687:22: */ var x U64 = U64(U32(*(*U8)(unsafe.Pointer(aRec)))<<24 | U32(int32(*(*U8)(unsafe.Pointer(aRec + 1)))<<16) | U32(int32(*(*U8)(unsafe.Pointer(aRec + 2)))<<8) | U32(*(*U8)(unsafe.Pointer(aRec + 3)))) var y U32 = U32(*(*U8)(unsafe.Pointer(aRec + uintptr(4))))<<24 | U32(int32(*(*U8)(unsafe.Pointer(aRec + uintptr(4) + 1)))<<16) | U32(int32(*(*U8)(unsafe.Pointer(aRec + uintptr(4) + 2)))<<8) | U32(*(*U8)(unsafe.Pointer(aRec + uintptr(4) + 3))) x = x<<32 + U64(y) @@ -169481,7 +169512,7 @@ func sessionGetI64(tls *libc.TLS, aRec uintptr) Sqlite3_int64 { /* sqlite3.c:210 } // Write a 64-bit big-endian integer value to the buffer aBuf[]. -func sessionPutI64(tls *libc.TLS, aBuf uintptr, i Sqlite3_int64) { /* sqlite3.c:210640:13: */ +func sessionPutI64(tls *libc.TLS, aBuf uintptr, i Sqlite3_int64) { /* sqlite3.c:210697:13: */ *(*U8)(unsafe.Pointer(aBuf)) = U8(i >> 56 & int64(0xFF)) *(*U8)(unsafe.Pointer(aBuf + 1)) = U8(i >> 48 & int64(0xFF)) *(*U8)(unsafe.Pointer(aBuf + 2)) = U8(i >> 40 & int64(0xFF)) @@ -169503,7 +169534,7 @@ func sessionPutI64(tls *libc.TLS, aBuf uintptr, i Sqlite3_int64) { /* sqlite3.c: // If no error occurs, SQLITE_OK is returned. Or, if an OOM error occurs // within a call to sqlite3_value_text() (may fail if the db is utf-16)) // SQLITE_NOMEM is returned. -func sessionSerializeValue(tls *libc.TLS, aBuf uintptr, pValue uintptr, pnWrite uintptr) int32 { /* sqlite3.c:210664:12: */ +func sessionSerializeValue(tls *libc.TLS, aBuf uintptr, pValue uintptr, pnWrite uintptr) int32 { /* sqlite3.c:210721:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -169591,7 +169622,7 @@ func sessionSerializeValue(tls *libc.TLS, aBuf uintptr, pValue uintptr, pnWrite // Allocate and return a pointer to a buffer nByte bytes in size. If // pSession is not NULL, increase the sqlite3_session.nMalloc variable // by the number of bytes allocated. -func sessionMalloc64(tls *libc.TLS, pSession uintptr, nByte I64) uintptr { /* sqlite3.c:210740:13: */ +func sessionMalloc64(tls *libc.TLS, pSession uintptr, nByte I64) uintptr { /* sqlite3.c:210797:13: */ var pRet uintptr = Xsqlite3_malloc64(tls, uint64(nByte)) if pSession != 0 { *(*I64)(unsafe.Pointer(pSession + 56)) += I64(Xsqlite3_msize(tls, pRet)) @@ -169602,7 +169633,7 @@ func sessionMalloc64(tls *libc.TLS, pSession uintptr, nByte I64) uintptr { /* sq // Free buffer pFree, which must have been allocated by an earlier // call to sessionMalloc64(). If pSession is not NULL, decrease the // sqlite3_session.nMalloc counter by the number of bytes freed. -func sessionFree(tls *libc.TLS, pSession uintptr, pFree uintptr) { /* sqlite3.c:210751:13: */ +func sessionFree(tls *libc.TLS, pSession uintptr, pFree uintptr) { /* sqlite3.c:210808:13: */ if pSession != 0 { *(*I64)(unsafe.Pointer(pSession + 56)) -= I64(Xsqlite3_msize(tls, pFree)) } @@ -169625,14 +169656,14 @@ func sessionFree(tls *libc.TLS, pSession uintptr, pFree uintptr) { /* sqlite3.c: // Append the hash of the 64-bit integer passed as the second argument to the // hash-key value passed as the first. Return the new hash-key value. -func sessionHashAppendI64(tls *libc.TLS, h uint32, i I64) uint32 { /* sqlite3.c:210777:21: */ +func sessionHashAppendI64(tls *libc.TLS, h uint32, i I64) uint32 { /* sqlite3.c:210834:21: */ h = h<<3 ^ h ^ uint32(i&int64(0xFFFFFFFF)) return h<<3 ^ h ^ uint32(i>>32&int64(0xFFFFFFFF)) } // Append the hash of the blob passed via the second and third arguments to // the hash-key value passed as the first. Return the new hash-key value. -func sessionHashAppendBlob(tls *libc.TLS, h uint32, n int32, z uintptr) uint32 { /* sqlite3.c:210786:21: */ +func sessionHashAppendBlob(tls *libc.TLS, h uint32, n int32, z uintptr) uint32 { /* sqlite3.c:210843:21: */ var i int32 for i = 0; i < n; i++ { h = h<<3 ^ h ^ uint32(*(*U8)(unsafe.Pointer(z + uintptr(i)))) @@ -169642,7 +169673,7 @@ func sessionHashAppendBlob(tls *libc.TLS, h uint32, n int32, z uintptr) uint32 { // Append the hash of the data type passed as the second argument to the // hash-key value passed as the first. Return the new hash-key value. -func sessionHashAppendType(tls *libc.TLS, h uint32, eType int32) uint32 { /* sqlite3.c:210796:21: */ +func sessionHashAppendType(tls *libc.TLS, h uint32, eType int32) uint32 { /* sqlite3.c:210853:21: */ return h<<3 ^ h ^ uint32(eType) } @@ -169655,7 +169686,7 @@ func sessionHashAppendType(tls *libc.TLS, h uint32, eType int32) uint32 { /* sql // If an error occurs, an SQLite error code is returned and the final values // of *piHash asn *pbNullPK are undefined. Otherwise, SQLITE_OK is returned // and the output variables are set as described above. -func sessionPreupdateHash(tls *libc.TLS, pSession uintptr, pTab uintptr, bNew int32, piHash uintptr, pbNullPK uintptr) int32 { /* sqlite3.c:210811:12: */ +func sessionPreupdateHash(tls *libc.TLS, pSession uintptr, pTab uintptr, bNew int32, piHash uintptr, pbNullPK uintptr) int32 { /* sqlite3.c:210868:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -169721,7 +169752,7 @@ func sessionPreupdateHash(tls *libc.TLS, pSession uintptr, pTab uintptr, bNew in // The buffer that the argument points to contains a serialized SQL value. // Return the number of bytes of space occupied by the value (including // the type byte). -func sessionSerialLen(tls *libc.TLS, a uintptr) int32 { /* sqlite3.c:210876:12: */ +func sessionSerialLen(tls *libc.TLS, a uintptr) int32 { /* sqlite3.c:210933:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -169747,7 +169778,7 @@ func sessionSerialLen(tls *libc.TLS, a uintptr) int32 { /* sqlite3.c:210876:12: // // The bPkOnly argument is non-zero if the record at aRecord[] is from // a patchset DELETE. In this case the non-PK fields are omitted entirely. -func sessionChangeHash(tls *libc.TLS, pTab uintptr, bPkOnly int32, aRecord uintptr, nBucket int32) uint32 { /* sqlite3.c:210894:21: */ +func sessionChangeHash(tls *libc.TLS, pTab uintptr, bPkOnly int32, aRecord uintptr, nBucket int32) uint32 { /* sqlite3.c:210951:21: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -169790,7 +169821,7 @@ func sessionChangeHash(tls *libc.TLS, pTab uintptr, bPkOnly int32, aRecord uintp // This function returns true if the two records apply to the same row (i.e. // have the same values stored in the primary key columns), or false // otherwise. -func sessionChangeEqual(tls *libc.TLS, pTab uintptr, bLeftPkOnly int32, aLeft uintptr, bRightPkOnly int32, aRight uintptr) int32 { /* sqlite3.c:210943:12: */ +func sessionChangeEqual(tls *libc.TLS, pTab uintptr, bLeftPkOnly int32, aLeft uintptr, bRightPkOnly int32, aRight uintptr) int32 { /* sqlite3.c:211000:12: */ var a1 uintptr = aLeft // Cursor to iterate through aLeft var a2 uintptr = aRight // Cursor to iterate through aRight var iCol int32 // Used to iterate through table columns @@ -169829,7 +169860,7 @@ func sessionChangeEqual(tls *libc.TLS, pTab uintptr, bLeftPkOnly int32, aLeft ui // their. Otherwise, if aLeft contains a value, copy it. If neither // record contains a value for a given column, then neither does the // output record. -func sessionMergeRecord(tls *libc.TLS, paOut uintptr, nCol int32, aLeft uintptr, aRight uintptr) { /* sqlite3.c:210986:13: */ +func sessionMergeRecord(tls *libc.TLS, paOut uintptr, nCol int32, aLeft uintptr, aRight uintptr) { /* sqlite3.c:211043:13: */ var a1 uintptr = aLeft // Cursor used to iterate through aLeft var a2 uintptr = aRight // Cursor used to iterate through aRight var aOut uintptr = *(*uintptr)(unsafe.Pointer(paOut)) // Output cursor @@ -169868,7 +169899,7 @@ func sessionMergeRecord(tls *libc.TLS, paOut uintptr, nCol int32, aLeft uintptr, // if( *paTwo is valid ) return *paTwo; // return *paOne; // -func sessionMergeValue(tls *libc.TLS, paOne uintptr, paTwo uintptr, pnVal uintptr) uintptr { /* sqlite3.c:211032:11: */ +func sessionMergeValue(tls *libc.TLS, paOne uintptr, paTwo uintptr, pnVal uintptr) uintptr { /* sqlite3.c:211089:11: */ var a1 uintptr = *(*uintptr)(unsafe.Pointer(paOne)) var a2 uintptr = *(*uintptr)(unsafe.Pointer(paTwo)) var pRet uintptr = uintptr(0) @@ -169895,7 +169926,7 @@ func sessionMergeValue(tls *libc.TLS, paOne uintptr, paTwo uintptr, pnVal uintpt // This function is used by changeset_concat() to merge two UPDATE changes // on the same row. -func sessionMergeUpdate(tls *libc.TLS, paOut uintptr, pTab uintptr, bPatchset int32, aOldRecord1 uintptr, aOldRecord2 uintptr, aNewRecord1 uintptr, aNewRecord2 uintptr) int32 { /* sqlite3.c:211066:12: */ +func sessionMergeUpdate(tls *libc.TLS, paOut uintptr, pTab uintptr, bPatchset int32, aOldRecord1 uintptr, aOldRecord2 uintptr, aNewRecord1 uintptr, aNewRecord2 uintptr) int32 { /* sqlite3.c:211123:12: */ bp := tls.Alloc(52) defer tls.Free(52) @@ -169970,7 +170001,7 @@ func sessionMergeUpdate(tls *libc.TLS, paOut uintptr, pTab uintptr, bPatchset in // as the change stored in argument pChange. If so, it returns true. Otherwise // if the pre-update-hook does not affect the same row as pChange, it returns // false. -func sessionPreupdateEqual(tls *libc.TLS, pSession uintptr, pTab uintptr, pChange uintptr, op int32) int32 { /* sqlite3.c:211143:12: */ +func sessionPreupdateEqual(tls *libc.TLS, pSession uintptr, pTab uintptr, pChange uintptr, op int32) int32 { /* sqlite3.c:211200:12: */ bp := tls.Alloc(28) defer tls.Free(28) @@ -170058,7 +170089,7 @@ func sessionPreupdateEqual(tls *libc.TLS, pSession uintptr, pTab uintptr, pChang // that case the hash-table does not grow, but SQLITE_OK is returned anyway. // Growing the hash table in this case is a performance optimization only, // it is not required for correct operation. -func sessionGrowHash(tls *libc.TLS, pSession uintptr, bPatchset int32, pTab uintptr) int32 { /* sqlite3.c:211222:12: */ +func sessionGrowHash(tls *libc.TLS, pSession uintptr, bPatchset int32, pTab uintptr) int32 { /* sqlite3.c:211279:12: */ if (*SessionTable)(unsafe.Pointer(pTab)).FnChange == 0 || (*SessionTable)(unsafe.Pointer(pTab)).FnEntry >= (*SessionTable)(unsafe.Pointer(pTab)).FnChange/2 { var i int32 var apNew uintptr @@ -170122,7 +170153,7 @@ func sessionGrowHash(tls *libc.TLS, pSession uintptr, bPatchset int32, pTab uint // // All returned buffers are part of the same single allocation, which must // be freed using sqlite3_free() by the caller -func sessionTableInfo(tls *libc.TLS, pSession uintptr, db uintptr, zDb uintptr, zThis uintptr, pnCol uintptr, pzTab uintptr, pazCol uintptr, pabPK uintptr) int32 { /* sqlite3.c:211288:12: */ +func sessionTableInfo(tls *libc.TLS, pSession uintptr, db uintptr, zDb uintptr, zThis uintptr, pnCol uintptr, pzTab uintptr, pazCol uintptr, pabPK uintptr) int32 { /* sqlite3.c:211345:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -170253,7 +170284,7 @@ func sessionTableInfo(tls *libc.TLS, pSession uintptr, db uintptr, zDb uintptr, // key, sqlite3_session.rc is left set to SQLITE_OK and non-zero returned to // indicate that updates on this table should be ignored. SessionTable.abPK // is set to NULL in this case. -func sessionInitTable(tls *libc.TLS, pSession uintptr, pTab uintptr) int32 { /* sqlite3.c:211421:12: */ +func sessionInitTable(tls *libc.TLS, pSession uintptr, pTab uintptr) int32 { /* sqlite3.c:211478:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -170289,15 +170320,15 @@ func sessionInitTable(tls *libc.TLS, pSession uintptr, pTab uintptr) int32 { /* type SessionStat1Ctx1 = struct { Fhook SessionHook FpSession uintptr -} /* sqlite3.c:211456:9 */ +} /* sqlite3.c:211513:9 */ // Versions of the four methods in object SessionHook for use with the // sqlite_stat1 table. The purpose of this is to substitute a zero-length // blob each time a NULL value is read from the "idx" column of the // sqlite_stat1 table. -type SessionStat1Ctx = SessionStat1Ctx1 /* sqlite3.c:211456:32 */ +type SessionStat1Ctx = SessionStat1Ctx1 /* sqlite3.c:211513:32 */ -func sessionStat1Old(tls *libc.TLS, pCtx uintptr, iCol int32, ppVal uintptr) int32 { /* sqlite3.c:211461:12: */ +func sessionStat1Old(tls *libc.TLS, pCtx uintptr, iCol int32, ppVal uintptr) int32 { /* sqlite3.c:211518:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -170313,7 +170344,7 @@ func sessionStat1Old(tls *libc.TLS, pCtx uintptr, iCol int32, ppVal uintptr) int return rc } -func sessionStat1New(tls *libc.TLS, pCtx uintptr, iCol int32, ppVal uintptr) int32 { /* sqlite3.c:211471:12: */ +func sessionStat1New(tls *libc.TLS, pCtx uintptr, iCol int32, ppVal uintptr) int32 { /* sqlite3.c:211528:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -170329,21 +170360,21 @@ func sessionStat1New(tls *libc.TLS, pCtx uintptr, iCol int32, ppVal uintptr) int return rc } -func sessionStat1Count(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:211481:12: */ +func sessionStat1Count(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:211538:12: */ var p uintptr = pCtx return (*struct { f func(*libc.TLS, uintptr) int32 })(unsafe.Pointer(&struct{ uintptr }{(*SessionStat1Ctx)(unsafe.Pointer(p)).Fhook.FxCount})).f(tls, (*SessionStat1Ctx)(unsafe.Pointer(p)).Fhook.FpCtx) } -func sessionStat1Depth(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:211485:12: */ +func sessionStat1Depth(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:211542:12: */ var p uintptr = pCtx return (*struct { f func(*libc.TLS, uintptr) int32 })(unsafe.Pointer(&struct{ uintptr }{(*SessionStat1Ctx)(unsafe.Pointer(p)).Fhook.FxDepth})).f(tls, (*SessionStat1Ctx)(unsafe.Pointer(p)).Fhook.FpCtx) } -func sessionUpdateMaxSize(tls *libc.TLS, op int32, pSession uintptr, pTab uintptr, pC uintptr) int32 { /* sqlite3.c:211490:12: */ +func sessionUpdateMaxSize(tls *libc.TLS, op int32, pSession uintptr, pTab uintptr, pC uintptr) int32 { /* sqlite3.c:211547:12: */ bp := tls.Alloc(44) defer tls.Free(44) @@ -170457,7 +170488,7 @@ func sessionUpdateMaxSize(tls *libc.TLS, op int32, pSession uintptr, pTab uintpt // // Unless one is already present or an error occurs, an entry is added // to the changed-rows hash table associated with table pTab. -func sessionPreupdateOneChange(tls *libc.TLS, op int32, pSession uintptr, pTab uintptr) { /* sqlite3.c:211596:13: */ +func sessionPreupdateOneChange(tls *libc.TLS, op int32, pSession uintptr, pTab uintptr) { /* sqlite3.c:211653:13: */ bp := tls.Alloc(80) defer tls.Free(80) @@ -170753,7 +170784,7 @@ __35: __36: } -func sessionFindTable(tls *libc.TLS, pSession uintptr, zName uintptr, ppTab uintptr) int32 { /* sqlite3.c:211745:12: */ +func sessionFindTable(tls *libc.TLS, pSession uintptr, zName uintptr, ppTab uintptr) int32 { /* sqlite3.c:211802:12: */ var rc int32 = SQLITE_OK var nName int32 = Xsqlite3Strlen30(tls, zName) var pRet uintptr @@ -170788,7 +170819,7 @@ func sessionFindTable(tls *libc.TLS, pSession uintptr, zName uintptr, ppTab uint } // The 'pre-update' hook registered by this module with SQLite databases. -func xPreUpdate(tls *libc.TLS, pCtx uintptr, db uintptr, op int32, zDb uintptr, zName uintptr, iKey1 Sqlite3_int64, iKey2 Sqlite3_int64) { /* sqlite3.c:211785:13: */ +func xPreUpdate(tls *libc.TLS, pCtx uintptr, db uintptr, op int32, zDb uintptr, zName uintptr, iKey1 Sqlite3_int64, iKey2 Sqlite3_int64) { /* sqlite3.c:211842:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -170823,25 +170854,25 @@ func xPreUpdate(tls *libc.TLS, pCtx uintptr, db uintptr, op int32, zDb uintptr, } // The pre-update hook implementations. -func sessionPreupdateOld(tls *libc.TLS, pCtx uintptr, iVal int32, ppVal uintptr) int32 { /* sqlite3.c:211823:12: */ +func sessionPreupdateOld(tls *libc.TLS, pCtx uintptr, iVal int32, ppVal uintptr) int32 { /* sqlite3.c:211880:12: */ return Xsqlite3_preupdate_old(tls, pCtx, iVal, ppVal) } -func sessionPreupdateNew(tls *libc.TLS, pCtx uintptr, iVal int32, ppVal uintptr) int32 { /* sqlite3.c:211826:12: */ +func sessionPreupdateNew(tls *libc.TLS, pCtx uintptr, iVal int32, ppVal uintptr) int32 { /* sqlite3.c:211883:12: */ return Xsqlite3_preupdate_new(tls, pCtx, iVal, ppVal) } -func sessionPreupdateCount(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:211829:12: */ +func sessionPreupdateCount(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:211886:12: */ return Xsqlite3_preupdate_count(tls, pCtx) } -func sessionPreupdateDepth(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:211832:12: */ +func sessionPreupdateDepth(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:211889:12: */ return Xsqlite3_preupdate_depth(tls, pCtx) } // Install the pre-update hooks on the session object passed as the only // argument. -func sessionPreupdateHooks(tls *libc.TLS, pSession uintptr) { /* sqlite3.c:211840:13: */ +func sessionPreupdateHooks(tls *libc.TLS, pSession uintptr) { /* sqlite3.c:211897:13: */ (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx = (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FxOld = *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) int32 @@ -170861,24 +170892,24 @@ type SessionDiffCtx1 = struct { FpStmt uintptr FnOldOff int32 F__ccgo_pad1 [4]byte -} /* sqlite3.c:211850:9 */ +} /* sqlite3.c:211907:9 */ -type SessionDiffCtx = SessionDiffCtx1 /* sqlite3.c:211850:31 */ +type SessionDiffCtx = SessionDiffCtx1 /* sqlite3.c:211907:31 */ // The diff hook implementations. -func sessionDiffOld(tls *libc.TLS, pCtx uintptr, iVal int32, ppVal uintptr) int32 { /* sqlite3.c:211859:12: */ +func sessionDiffOld(tls *libc.TLS, pCtx uintptr, iVal int32, ppVal uintptr) int32 { /* sqlite3.c:211916:12: */ var p uintptr = pCtx *(*uintptr)(unsafe.Pointer(ppVal)) = Xsqlite3_column_value(tls, (*SessionDiffCtx)(unsafe.Pointer(p)).FpStmt, iVal+(*SessionDiffCtx)(unsafe.Pointer(p)).FnOldOff) return SQLITE_OK } -func sessionDiffNew(tls *libc.TLS, pCtx uintptr, iVal int32, ppVal uintptr) int32 { /* sqlite3.c:211864:12: */ +func sessionDiffNew(tls *libc.TLS, pCtx uintptr, iVal int32, ppVal uintptr) int32 { /* sqlite3.c:211921:12: */ var p uintptr = pCtx *(*uintptr)(unsafe.Pointer(ppVal)) = Xsqlite3_column_value(tls, (*SessionDiffCtx)(unsafe.Pointer(p)).FpStmt, iVal) return SQLITE_OK } -func sessionDiffCount(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:211869:12: */ +func sessionDiffCount(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:211926:12: */ var p uintptr = pCtx if (*SessionDiffCtx)(unsafe.Pointer(p)).FnOldOff != 0 { return (*SessionDiffCtx)(unsafe.Pointer(p)).FnOldOff @@ -170886,13 +170917,13 @@ func sessionDiffCount(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:211869:1 return Xsqlite3_column_count(tls, (*SessionDiffCtx)(unsafe.Pointer(p)).FpStmt) } -func sessionDiffDepth(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:211873:12: */ +func sessionDiffDepth(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:211930:12: */ return 0 } // Install the diff hooks on the session object passed as the only // argument. -func sessionDiffHooks(tls *libc.TLS, pSession uintptr, pDiffCtx uintptr) { /* sqlite3.c:211881:13: */ +func sessionDiffHooks(tls *libc.TLS, pSession uintptr, pDiffCtx uintptr) { /* sqlite3.c:211938:13: */ (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx = pDiffCtx (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FxOld = *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) int32 @@ -170908,7 +170939,7 @@ func sessionDiffHooks(tls *libc.TLS, pSession uintptr, pDiffCtx uintptr) { /* sq }{sessionDiffDepth})) } -func sessionExprComparePK(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uintptr, zTab uintptr, azCol uintptr, abPK uintptr) uintptr { /* sqlite3.c:211892:13: */ +func sessionExprComparePK(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uintptr, zTab uintptr, azCol uintptr, abPK uintptr) uintptr { /* sqlite3.c:211949:13: */ bp := tls.Alloc(64) defer tls.Free(64) @@ -170930,7 +170961,7 @@ func sessionExprComparePK(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uintptr, return zRet } -func sessionExprCompareOther(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uintptr, zTab uintptr, azCol uintptr, abPK uintptr) uintptr { /* sqlite3.c:211915:13: */ +func sessionExprCompareOther(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uintptr, zTab uintptr, azCol uintptr, abPK uintptr) uintptr { /* sqlite3.c:211972:13: */ bp := tls.Alloc(64) defer tls.Free(64) @@ -170960,7 +170991,7 @@ func sessionExprCompareOther(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uintp return zRet } -func sessionSelectFindNew(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uintptr, zTbl uintptr, zExpr uintptr) uintptr { /* sqlite3.c:211946:13: */ +func sessionSelectFindNew(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uintptr, zTbl uintptr, zExpr uintptr) uintptr { /* sqlite3.c:212003:13: */ bp := tls.Alloc(40) defer tls.Free(40) @@ -170971,7 +171002,7 @@ func sessionSelectFindNew(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uintptr, return zRet } -func sessionDiffFindNew(tls *libc.TLS, op int32, pSession uintptr, pTab uintptr, zDb1 uintptr, zDb2 uintptr, zExpr uintptr) int32 { /* sqlite3.c:211962:12: */ +func sessionDiffFindNew(tls *libc.TLS, op int32, pSession uintptr, pTab uintptr, zDb1 uintptr, zDb2 uintptr, zExpr uintptr) int32 { /* sqlite3.c:212019:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -170999,7 +171030,7 @@ func sessionDiffFindNew(tls *libc.TLS, op int32, pSession uintptr, pTab uintptr, return rc } -func sessionDiffFindModified(tls *libc.TLS, pSession uintptr, pTab uintptr, zFrom uintptr, zExpr uintptr) int32 { /* sqlite3.c:211993:12: */ +func sessionDiffFindModified(tls *libc.TLS, pSession uintptr, pTab uintptr, zFrom uintptr, zExpr uintptr) int32 { /* sqlite3.c:212050:12: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -171036,7 +171067,7 @@ func sessionDiffFindModified(tls *libc.TLS, pSession uintptr, pTab uintptr, zFro return rc } -func Xsqlite3session_diff(tls *libc.TLS, pSession uintptr, zFrom uintptr, zTbl uintptr, pzErrMsg uintptr) int32 { /* sqlite3.c:212033:16: */ +func Xsqlite3session_diff(tls *libc.TLS, pSession uintptr, zFrom uintptr, zTbl uintptr, pzErrMsg uintptr) int32 { /* sqlite3.c:212090:16: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -171209,7 +171240,7 @@ diff_out: // Create a session object. This session object will record changes to // database zDb attached to connection db. -func Xsqlite3session_create(tls *libc.TLS, db uintptr, zDb uintptr, ppSession uintptr) int32 { /* sqlite3.c:212128:16: */ +func Xsqlite3session_create(tls *libc.TLS, db uintptr, zDb uintptr, ppSession uintptr) int32 { /* sqlite3.c:212185:16: */ var pNew uintptr // Newly allocated session object var pOld uintptr // Session object already attached to db var nDb int32 = Xsqlite3Strlen30(tls, zDb) // Length of zDb in bytes @@ -171245,7 +171276,7 @@ func Xsqlite3session_create(tls *libc.TLS, db uintptr, zDb uintptr, ppSession ui // Free the list of table objects passed as the first argument. The contents // of the changed-rows hash tables are also deleted. -func sessionDeleteTable(tls *libc.TLS, pSession uintptr, pList uintptr) { /* sqlite3.c:212166:13: */ +func sessionDeleteTable(tls *libc.TLS, pSession uintptr, pList uintptr) { /* sqlite3.c:212223:13: */ var pNext uintptr var pTab uintptr @@ -171267,7 +171298,7 @@ func sessionDeleteTable(tls *libc.TLS, pSession uintptr, pList uintptr) { /* sql } // Delete a session object previously allocated using sqlite3session_create(). -func Xsqlite3session_delete(tls *libc.TLS, pSession uintptr) { /* sqlite3.c:212190:17: */ +func Xsqlite3session_delete(tls *libc.TLS, pSession uintptr) { /* sqlite3.c:212247:17: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -171305,7 +171336,7 @@ func Xsqlite3session_delete(tls *libc.TLS, pSession uintptr) { /* sqlite3.c:2121 } // Set a table filter on a Session Object. -func Xsqlite3session_table_filter(tls *libc.TLS, pSession uintptr, xFilter uintptr, pCtx uintptr) { /* sqlite3.c:212222:17: */ +func Xsqlite3session_table_filter(tls *libc.TLS, pSession uintptr, xFilter uintptr, pCtx uintptr) { /* sqlite3.c:212279:17: */ (*Sqlite3_session)(unsafe.Pointer(pSession)).FbAutoAttach = 1 (*Sqlite3_session)(unsafe.Pointer(pSession)).FpFilterCtx = pCtx (*Sqlite3_session)(unsafe.Pointer(pSession)).FxTableFilter = xFilter @@ -171317,7 +171348,7 @@ func Xsqlite3session_table_filter(tls *libc.TLS, pSession uintptr, xFilter uintp // Only tables that have a PRIMARY KEY defined may be attached. It does // not matter if the PRIMARY KEY is an "INTEGER PRIMARY KEY" (rowid alias) // or not. -func Xsqlite3session_attach(tls *libc.TLS, pSession uintptr, zName uintptr) int32 { /* sqlite3.c:212240:16: */ +func Xsqlite3session_attach(tls *libc.TLS, pSession uintptr, zName uintptr) int32 { /* sqlite3.c:212297:16: */ var rc int32 = SQLITE_OK Xsqlite3_mutex_enter(tls, Xsqlite3_db_mutex(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb)) @@ -171368,7 +171399,7 @@ func Xsqlite3session_attach(tls *libc.TLS, pSession uintptr, zName uintptr) int3 // // If successful, return zero. Otherwise, if an OOM condition is encountered, // set *pRc to SQLITE_NOMEM and return non-zero. -func sessionBufferGrow(tls *libc.TLS, p uintptr, nByte I64, pRc uintptr) int32 { /* sqlite3.c:212293:12: */ +func sessionBufferGrow(tls *libc.TLS, p uintptr, nByte I64, pRc uintptr) int32 { /* sqlite3.c:212350:12: */ var nReq I64 = I64((*SessionBuffer)(unsafe.Pointer(p)).FnBuf) + nByte if *(*int32)(unsafe.Pointer(pRc)) == SQLITE_OK && nReq > I64((*SessionBuffer)(unsafe.Pointer(p)).FnAlloc) { var aNew uintptr @@ -171413,7 +171444,7 @@ func sessionBufferGrow(tls *libc.TLS, p uintptr, nByte I64, pRc uintptr) int32 { // This function is a no-op if *pRc is non-zero when it is called. // Otherwise, if an error occurs, *pRc is set to an SQLite error code // before returning. -func sessionAppendValue(tls *libc.TLS, p uintptr, pVal uintptr, pRc uintptr) { /* sqlite3.c:212336:13: */ +func sessionAppendValue(tls *libc.TLS, p uintptr, pVal uintptr, pRc uintptr) { /* sqlite3.c:212393:13: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -171436,7 +171467,7 @@ func sessionAppendValue(tls *libc.TLS, p uintptr, pVal uintptr, pRc uintptr) { / // // If an OOM condition is encountered, set *pRc to SQLITE_NOMEM before // returning. -func sessionAppendByte(tls *libc.TLS, p uintptr, v U8, pRc uintptr) { /* sqlite3.c:212358:13: */ +func sessionAppendByte(tls *libc.TLS, p uintptr, v U8, pRc uintptr) { /* sqlite3.c:212415:13: */ if 0 == sessionBufferGrow(tls, p, int64(1), pRc) { *(*U8)(unsafe.Pointer((*SessionBuffer)(unsafe.Pointer(p)).FaBuf + uintptr(libc.PostIncInt32(&(*SessionBuffer)(unsafe.Pointer(p)).FnBuf, 1)))) = v } @@ -171447,7 +171478,7 @@ func sessionAppendByte(tls *libc.TLS, p uintptr, v U8, pRc uintptr) { /* sqlite3 // // If an OOM condition is encountered, set *pRc to SQLITE_NOMEM before // returning. -func sessionAppendVarint(tls *libc.TLS, p uintptr, v int32, pRc uintptr) { /* sqlite3.c:212371:13: */ +func sessionAppendVarint(tls *libc.TLS, p uintptr, v int32, pRc uintptr) { /* sqlite3.c:212428:13: */ if 0 == sessionBufferGrow(tls, p, int64(9), pRc) { *(*int32)(unsafe.Pointer(p + 8)) += sessionVarintPut(tls, (*SessionBuffer)(unsafe.Pointer(p)).FaBuf+uintptr((*SessionBuffer)(unsafe.Pointer(p)).FnBuf), v) } @@ -171458,7 +171489,7 @@ func sessionAppendVarint(tls *libc.TLS, p uintptr, v int32, pRc uintptr) { /* sq // // If an OOM condition is encountered, set *pRc to SQLITE_NOMEM before // returning. -func sessionAppendBlob(tls *libc.TLS, p uintptr, aBlob uintptr, nBlob int32, pRc uintptr) { /* sqlite3.c:212384:13: */ +func sessionAppendBlob(tls *libc.TLS, p uintptr, aBlob uintptr, nBlob int32, pRc uintptr) { /* sqlite3.c:212441:13: */ if nBlob > 0 && 0 == sessionBufferGrow(tls, p, int64(nBlob), pRc) { libc.Xmemcpy(tls, (*SessionBuffer)(unsafe.Pointer(p)).FaBuf+uintptr((*SessionBuffer)(unsafe.Pointer(p)).FnBuf), aBlob, uint64(nBlob)) *(*int32)(unsafe.Pointer(p + 8)) += nBlob @@ -171471,7 +171502,7 @@ func sessionAppendBlob(tls *libc.TLS, p uintptr, aBlob uintptr, nBlob int32, pRc // // If an OOM condition is encountered, set *pRc to SQLITE_NOMEM before // returning. -func sessionAppendStr(tls *libc.TLS, p uintptr, zStr uintptr, pRc uintptr) { /* sqlite3.c:212404:13: */ +func sessionAppendStr(tls *libc.TLS, p uintptr, zStr uintptr, pRc uintptr) { /* sqlite3.c:212461:13: */ var nStr int32 = Xsqlite3Strlen30(tls, zStr) if 0 == sessionBufferGrow(tls, p, int64(nStr), pRc) { libc.Xmemcpy(tls, (*SessionBuffer)(unsafe.Pointer(p)).FaBuf+uintptr((*SessionBuffer)(unsafe.Pointer(p)).FnBuf), zStr, uint64(nStr)) @@ -171485,7 +171516,7 @@ func sessionAppendStr(tls *libc.TLS, p uintptr, zStr uintptr, pRc uintptr) { /* // // If an OOM condition is encountered, set *pRc to SQLITE_NOMEM before // returning. -func sessionAppendInteger(tls *libc.TLS, p uintptr, iVal int32, pRc uintptr) { /* sqlite3.c:212424:13: */ +func sessionAppendInteger(tls *libc.TLS, p uintptr, iVal int32, pRc uintptr) { /* sqlite3.c:212481:13: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -171502,7 +171533,7 @@ func sessionAppendInteger(tls *libc.TLS, p uintptr, iVal int32, pRc uintptr) { / // // If an OOM condition is encountered, set *pRc to SQLITE_NOMEM before // returning. -func sessionAppendIdent(tls *libc.TLS, p uintptr, zStr uintptr, pRc uintptr) { /* sqlite3.c:212443:13: */ +func sessionAppendIdent(tls *libc.TLS, p uintptr, zStr uintptr, pRc uintptr) { /* sqlite3.c:212500:13: */ var nStr int32 = Xsqlite3Strlen30(tls, zStr)*2 + 2 + 1 if 0 == sessionBufferGrow(tls, p, int64(nStr), pRc) { var zOut uintptr = (*SessionBuffer)(unsafe.Pointer(p)).FaBuf + uintptr((*SessionBuffer)(unsafe.Pointer(p)).FnBuf) @@ -171523,7 +171554,7 @@ func sessionAppendIdent(tls *libc.TLS, p uintptr, zStr uintptr, pRc uintptr) { / // called. Otherwse, it appends the serialized version of the value stored // in column iCol of the row that SQL statement pStmt currently points // to to the buffer. -func sessionAppendCol(tls *libc.TLS, p uintptr, pStmt uintptr, iCol int32, pRc uintptr) { /* sqlite3.c:212468:13: */ +func sessionAppendCol(tls *libc.TLS, p uintptr, pStmt uintptr, iCol int32, pRc uintptr) { /* sqlite3.c:212525:13: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -171583,7 +171614,7 @@ func sessionAppendCol(tls *libc.TLS, p uintptr, pStmt uintptr, iCol int32, pRc u // Otherwise, the old.* record contains all primary key values and the // original values of any fields that have been modified. The new.* record // contains the new values of only those fields that have been modified. -func sessionAppendUpdate(tls *libc.TLS, pBuf uintptr, bPatchset int32, pStmt uintptr, p uintptr, abPK uintptr) int32 { /* sqlite3.c:212530:12: */ +func sessionAppendUpdate(tls *libc.TLS, pBuf uintptr, bPatchset int32, pStmt uintptr, p uintptr, abPK uintptr) int32 { /* sqlite3.c:212587:12: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -171689,7 +171720,7 @@ func sessionAppendUpdate(tls *libc.TLS, pBuf uintptr, bPatchset int32, pStmt uin // Append a DELETE change to the buffer passed as the first argument. Use // the changeset format if argument bPatchset is zero, or the patchset // format otherwise. -func sessionAppendDelete(tls *libc.TLS, pBuf uintptr, bPatchset int32, p uintptr, nCol int32, abPK uintptr) int32 { /* sqlite3.c:212630:12: */ +func sessionAppendDelete(tls *libc.TLS, pBuf uintptr, bPatchset int32, p uintptr, nCol int32, abPK uintptr) int32 { /* sqlite3.c:212687:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -171746,7 +171777,7 @@ func sessionAppendDelete(tls *libc.TLS, pBuf uintptr, bPatchset int32, p uintptr // zTab in database zDb based on its primary key. i.e. // // SELECT * FROM zDb.zTab WHERE pk1 = ? AND pk2 = ? AND ... -func sessionSelectStmt(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, nCol int32, azCol uintptr, abPK uintptr, ppStmt uintptr) int32 { /* sqlite3.c:212685:12: */ +func sessionSelectStmt(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, nCol int32, azCol uintptr, abPK uintptr, ppStmt uintptr) int32 { /* sqlite3.c:212742:12: */ bp := tls.Alloc(28) defer tls.Free(28) @@ -171797,7 +171828,7 @@ func sessionSelectStmt(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, nCo // // Return SQLITE_OK if all PK values are successfully bound, or an SQLite // error code (e.g. SQLITE_NOMEM) otherwise. -func sessionSelectBind(tls *libc.TLS, pSelect uintptr, nCol int32, abPK uintptr, pChange uintptr) int32 { /* sqlite3.c:212742:12: */ +func sessionSelectBind(tls *libc.TLS, pSelect uintptr, nCol int32, abPK uintptr, pChange uintptr) int32 { /* sqlite3.c:212799:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -171875,7 +171906,7 @@ func sessionSelectBind(tls *libc.TLS, pSelect uintptr, nCol int32, abPK uintptr, // is called. Otherwise, append a serialized table header (part of the binary // changeset format) to buffer *pBuf. If an error occurs, set *pRc to an // SQLite error code before returning. -func sessionAppendTableHdr(tls *libc.TLS, pBuf uintptr, bPatchset int32, pTab uintptr, pRc uintptr) { /* sqlite3.c:212813:13: */ +func sessionAppendTableHdr(tls *libc.TLS, pBuf uintptr, bPatchset int32, pTab uintptr, pRc uintptr) { /* sqlite3.c:212870:13: */ // Write a table header sessionAppendByte(tls, pBuf, func() uint8 { if bPatchset != 0 { @@ -171896,7 +171927,7 @@ func sessionAppendTableHdr(tls *libc.TLS, pBuf uintptr, bPatchset int32, pTab ui // stored in output variables *pnChangeset and *ppChangeset. Or, if an error // 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) int32 { /* sqlite3.c:212836:12: */ +func sessionGenerateChangeset(tls *libc.TLS, pSession uintptr, bPatchset int32, xOutput uintptr, pOut uintptr, pnChangeset uintptr, ppChangeset uintptr) int32 { /* sqlite3.c:212893:12: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -172026,7 +172057,7 @@ func sessionGenerateChangeset(tls *libc.TLS, pSession uintptr, bPatchset int32, // // It is the responsibility of the caller to eventually free the buffer // using sqlite3_free(). -func Xsqlite3session_changeset(tls *libc.TLS, pSession uintptr, pnChangeset uintptr, ppChangeset uintptr) int32 { /* sqlite3.c:212965:16: */ +func Xsqlite3session_changeset(tls *libc.TLS, pSession uintptr, pnChangeset uintptr, ppChangeset uintptr) int32 { /* sqlite3.c:213022:16: */ var rc int32 if pnChangeset == uintptr(0) || ppChangeset == uintptr(0) { @@ -172038,7 +172069,7 @@ func Xsqlite3session_changeset(tls *libc.TLS, pSession uintptr, pnChangeset uint } // Streaming version of sqlite3session_changeset(). -func Xsqlite3session_changeset_strm(tls *libc.TLS, pSession uintptr, xOutput uintptr, pOut uintptr) int32 { /* sqlite3.c:212983:16: */ +func Xsqlite3session_changeset_strm(tls *libc.TLS, pSession uintptr, xOutput uintptr, pOut uintptr) int32 { /* sqlite3.c:213040:16: */ if xOutput == uintptr(0) { return SQLITE_MISUSE } @@ -172046,7 +172077,7 @@ func Xsqlite3session_changeset_strm(tls *libc.TLS, pSession uintptr, xOutput uin } // Streaming version of sqlite3session_patchset(). -func Xsqlite3session_patchset_strm(tls *libc.TLS, pSession uintptr, xOutput uintptr, pOut uintptr) int32 { /* sqlite3.c:212995:16: */ +func Xsqlite3session_patchset_strm(tls *libc.TLS, pSession uintptr, xOutput uintptr, pOut uintptr) int32 { /* sqlite3.c:213052:16: */ if xOutput == uintptr(0) { return SQLITE_MISUSE } @@ -172058,7 +172089,7 @@ func Xsqlite3session_patchset_strm(tls *libc.TLS, pSession uintptr, xOutput uint // // It is the responsibility of the caller to eventually free the buffer // using sqlite3_free(). -func Xsqlite3session_patchset(tls *libc.TLS, pSession uintptr, pnPatchset uintptr, ppPatchset uintptr) int32 { /* sqlite3.c:213011:16: */ +func Xsqlite3session_patchset(tls *libc.TLS, pSession uintptr, pnPatchset uintptr, ppPatchset uintptr) int32 { /* sqlite3.c:213068:16: */ if pnPatchset == uintptr(0) || ppPatchset == uintptr(0) { return SQLITE_MISUSE } @@ -172066,7 +172097,7 @@ func Xsqlite3session_patchset(tls *libc.TLS, pSession uintptr, pnPatchset uintpt } // Enable or disable the session object passed as the first argument. -func Xsqlite3session_enable(tls *libc.TLS, pSession uintptr, bEnable int32) int32 { /* sqlite3.c:213023:16: */ +func Xsqlite3session_enable(tls *libc.TLS, pSession uintptr, bEnable int32) int32 { /* sqlite3.c:213080:16: */ var ret int32 Xsqlite3_mutex_enter(tls, Xsqlite3_db_mutex(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb)) if bEnable >= 0 { @@ -172078,7 +172109,7 @@ func Xsqlite3session_enable(tls *libc.TLS, pSession uintptr, bEnable int32) int3 } // Enable or disable the session object passed as the first argument. -func Xsqlite3session_indirect(tls *libc.TLS, pSession uintptr, bIndirect int32) int32 { /* sqlite3.c:213037:16: */ +func Xsqlite3session_indirect(tls *libc.TLS, pSession uintptr, bIndirect int32) int32 { /* sqlite3.c:213094:16: */ var ret int32 Xsqlite3_mutex_enter(tls, Xsqlite3_db_mutex(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb)) if bIndirect >= 0 { @@ -172091,7 +172122,7 @@ func Xsqlite3session_indirect(tls *libc.TLS, pSession uintptr, bIndirect int32) // Return true if there have been no changes to monitored tables recorded // by the session object passed as the only argument. -func Xsqlite3session_isempty(tls *libc.TLS, pSession uintptr) int32 { /* sqlite3.c:213052:16: */ +func Xsqlite3session_isempty(tls *libc.TLS, pSession uintptr) int32 { /* sqlite3.c:213109:16: */ var ret int32 = 0 var pTab uintptr @@ -172105,12 +172136,12 @@ func Xsqlite3session_isempty(tls *libc.TLS, pSession uintptr) int32 { /* sqlite3 } // Return the amount of heap memory in use. -func Xsqlite3session_memory_used(tls *libc.TLS, pSession uintptr) Sqlite3_int64 { /* sqlite3.c:213068:26: */ +func Xsqlite3session_memory_used(tls *libc.TLS, pSession uintptr) Sqlite3_int64 { /* sqlite3.c:213125:26: */ return (*Sqlite3_session)(unsafe.Pointer(pSession)).FnMalloc } // Configure the session object passed as the first argument. -func Xsqlite3session_object_config(tls *libc.TLS, pSession uintptr, op int32, pArg uintptr) int32 { /* sqlite3.c:213075:16: */ +func Xsqlite3session_object_config(tls *libc.TLS, pSession uintptr, op int32, pArg uintptr) int32 { /* sqlite3.c:213132:16: */ var rc int32 = SQLITE_OK switch op { case SQLITE_SESSION_OBJCONFIG_SIZE: @@ -172136,12 +172167,12 @@ func Xsqlite3session_object_config(tls *libc.TLS, pSession uintptr, op int32, pA } // Return the maximum size of sqlite3session_changeset() output. -func Xsqlite3session_changeset_size(tls *libc.TLS, pSession uintptr) Sqlite3_int64 { /* sqlite3.c:213101:26: */ +func Xsqlite3session_changeset_size(tls *libc.TLS, pSession uintptr) Sqlite3_int64 { /* sqlite3.c:213158:26: */ return (*Sqlite3_session)(unsafe.Pointer(pSession)).FnMaxChangesetSize } // 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) int32 { /* sqlite3.c:213108:12: */ +func sessionChangesetStart(tls *libc.TLS, pp uintptr, xInput uintptr, pIn uintptr, nChangeset int32, pChangeset uintptr, bInvert int32, bSkipEmpty int32) int32 { /* sqlite3.c:213165:12: */ var pRet uintptr // Iterator to return var nByte int32 // Number of bytes to allocate for iterator @@ -172174,28 +172205,28 @@ func sessionChangesetStart(tls *libc.TLS, pp uintptr, xInput uintptr, pIn uintpt } // Create an iterator used to iterate through the contents of a changeset. -func Xsqlite3changeset_start(tls *libc.TLS, pp uintptr, nChangeset int32, pChangeset uintptr) int32 { /* sqlite3.c:213146:16: */ +func Xsqlite3changeset_start(tls *libc.TLS, pp uintptr, nChangeset int32, pChangeset uintptr) int32 { /* sqlite3.c:213203:16: */ return sessionChangesetStart(tls, pp, uintptr(0), uintptr(0), nChangeset, pChangeset, 0, 0) } -func Xsqlite3changeset_start_v2(tls *libc.TLS, pp uintptr, nChangeset int32, pChangeset uintptr, flags int32) int32 { /* sqlite3.c:213153:16: */ +func Xsqlite3changeset_start_v2(tls *libc.TLS, pp uintptr, nChangeset int32, pChangeset uintptr, flags int32) int32 { /* sqlite3.c:213210:16: */ var bInvert int32 = libc.BoolInt32(!!(flags&SQLITE_CHANGESETSTART_INVERT != 0)) return sessionChangesetStart(tls, pp, uintptr(0), uintptr(0), nChangeset, pChangeset, bInvert, 0) } // Streaming version of sqlite3changeset_start(). -func Xsqlite3changeset_start_strm(tls *libc.TLS, pp uintptr, xInput uintptr, pIn uintptr) int32 { /* sqlite3.c:213166:16: */ +func Xsqlite3changeset_start_strm(tls *libc.TLS, pp uintptr, xInput uintptr, pIn uintptr) int32 { /* sqlite3.c:213223:16: */ return sessionChangesetStart(tls, pp, xInput, pIn, 0, uintptr(0), 0, 0) } -func Xsqlite3changeset_start_v2_strm(tls *libc.TLS, pp uintptr, xInput uintptr, pIn uintptr, flags int32) int32 { /* sqlite3.c:213173:16: */ +func Xsqlite3changeset_start_v2_strm(tls *libc.TLS, pp uintptr, xInput uintptr, pIn uintptr, flags int32) int32 { /* sqlite3.c:213230:16: */ var bInvert int32 = libc.BoolInt32(!!(flags&SQLITE_CHANGESETSTART_INVERT != 0)) return sessionChangesetStart(tls, pp, xInput, pIn, 0, uintptr(0), bInvert, 0) } // If the SessionInput object passed as the only argument is a streaming // object and the buffer is full, discard some data to free up space. -func sessionDiscardData(tls *libc.TLS, pIn uintptr) { /* sqlite3.c:213187:13: */ +func sessionDiscardData(tls *libc.TLS, pIn uintptr) { /* sqlite3.c:213244:13: */ if (*SessionInput)(unsafe.Pointer(pIn)).FxInput != 0 && (*SessionInput)(unsafe.Pointer(pIn)).FiNext >= sessions_strm_chunk_size { var nMove int32 = (*SessionInput)(unsafe.Pointer(pIn)).Fbuf.FnBuf - (*SessionInput)(unsafe.Pointer(pIn)).FiNext @@ -172213,7 +172244,7 @@ func sessionDiscardData(tls *libc.TLS, pIn uintptr) { /* sqlite3.c:213187:13: */ // data is in the buffer. // // Return an SQLite error code if an error occurs, or SQLITE_OK otherwise. -func sessionInputBuffer(tls *libc.TLS, pIn uintptr, nByte int32) int32 { /* sqlite3.c:213207:12: */ +func sessionInputBuffer(tls *libc.TLS, pIn uintptr, nByte int32) int32 { /* sqlite3.c:213264:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -172246,7 +172277,7 @@ func sessionInputBuffer(tls *libc.TLS, pIn uintptr, nByte int32) int32 { /* sqli // When this function is called, *ppRec points to the start of a record // that contains nCol values. This function advances the pointer *ppRec // until it points to the byte immediately following that record. -func sessionSkipRecord(tls *libc.TLS, ppRec uintptr, nCol int32) { /* sqlite3.c:213235:13: */ +func sessionSkipRecord(tls *libc.TLS, ppRec uintptr, nCol int32) { /* sqlite3.c:213292:13: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -172271,7 +172302,7 @@ func sessionSkipRecord(tls *libc.TLS, ppRec uintptr, nCol int32) { /* sqlite3.c: // first argument to a copy of the string or blob held in the aData[] // buffer. SQLITE_OK is returned if successful, or SQLITE_NOMEM if an OOM // error occurs. -func sessionValueSetStr(tls *libc.TLS, pVal uintptr, aData uintptr, nData int32, enc U8) int32 { /* sqlite3.c:213261:12: */ +func sessionValueSetStr(tls *libc.TLS, pVal uintptr, aData uintptr, nData int32, enc U8) int32 { /* sqlite3.c:213318:12: */ // In theory this code could just pass SQLITE_TRANSIENT as the final // argument to sqlite3ValueSetStr() and have the copy created // automatically. But doing so makes it difficult to detect any OOM @@ -172307,7 +172338,7 @@ func sessionValueSetStr(tls *libc.TLS, pVal uintptr, aData uintptr, nData int32, // // If an error occurs, an SQLite error code (e.g. SQLITE_NOMEM) is returned. // The apOut[] array may have been partially populated in this case. -func sessionReadRecord(tls *libc.TLS, pIn uintptr, nCol int32, abPK uintptr, apOut uintptr, pbEmpty uintptr) int32 { /* sqlite3.c:213302:12: */ +func sessionReadRecord(tls *libc.TLS, pIn uintptr, nCol int32, abPK uintptr, apOut uintptr, pbEmpty uintptr) int32 { /* sqlite3.c:213359:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -172325,7 +172356,7 @@ func sessionReadRecord(tls *libc.TLS, pIn uintptr, nCol int32, abPK uintptr, apO rc = sessionInputBuffer(tls, pIn, 9) if rc == SQLITE_OK { if (*SessionInput)(unsafe.Pointer(pIn)).FiNext >= (*SessionInput)(unsafe.Pointer(pIn)).FnData { - rc = Xsqlite3CorruptError(tls, 213320) + rc = Xsqlite3CorruptError(tls, 213377) } else { eType = int32(*(*U8)(unsafe.Pointer((*SessionInput)(unsafe.Pointer(pIn)).FaData + uintptr(libc.PostIncInt32(&(*SessionInput)(unsafe.Pointer(pIn)).FiNext, 1))))) @@ -172350,7 +172381,7 @@ func sessionReadRecord(tls *libc.TLS, pIn uintptr, nCol int32, abPK uintptr, apO rc = sessionInputBuffer(tls, pIn, *(*int32)(unsafe.Pointer(bp /* nByte */))) if rc == SQLITE_OK { if *(*int32)(unsafe.Pointer(bp)) < 0 || *(*int32)(unsafe.Pointer(bp)) > (*SessionInput)(unsafe.Pointer(pIn)).FnData-(*SessionInput)(unsafe.Pointer(pIn)).FiNext { - rc = Xsqlite3CorruptError(tls, 213340) + rc = Xsqlite3CorruptError(tls, 213397) } else { var enc U8 = func() uint8 { if eType == SQLITE_TEXT { @@ -172392,7 +172423,7 @@ func sessionReadRecord(tls *libc.TLS, pIn uintptr, nCol int32, abPK uintptr, apO // buffer (i.e. that it can be accessed without any calls to xInput()). // If successful, SQLITE_OK is returned. Otherwise, an SQLite error code. // The input pointer is not moved. -func sessionChangesetBufferTblhdr(tls *libc.TLS, pIn uintptr, pnByte uintptr) int32 { /* sqlite3.c:213378:12: */ +func sessionChangesetBufferTblhdr(tls *libc.TLS, pIn uintptr, pnByte uintptr) int32 { /* sqlite3.c:213435:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -172411,7 +172442,7 @@ func sessionChangesetBufferTblhdr(tls *libc.TLS, pIn uintptr, pnByte uintptr) in // 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)) > 65536 { - rc = Xsqlite3CorruptError(tls, 213394) + rc = Xsqlite3CorruptError(tls, 213451) } else { rc = sessionInputBuffer(tls, pIn, nRead+*(*int32)(unsafe.Pointer(bp))+100) nRead = nRead + *(*int32)(unsafe.Pointer(bp)) @@ -172438,7 +172469,7 @@ func sessionChangesetBufferTblhdr(tls *libc.TLS, pIn uintptr, pnByte uintptr) in // If successful, SQLITE_OK is returned and *pnByte is set to the size of // the record in bytes. Otherwise, an SQLite error code is returned. The // final value of *pnByte is undefined in this case. -func sessionChangesetBufferRecord(tls *libc.TLS, pIn uintptr, nCol int32, pnByte uintptr) int32 { /* sqlite3.c:213421:12: */ +func sessionChangesetBufferRecord(tls *libc.TLS, pIn uintptr, nCol int32, pnByte uintptr) int32 { /* sqlite3.c:213478:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -172480,7 +172511,7 @@ func sessionChangesetBufferRecord(tls *libc.TLS, pIn uintptr, nCol int32, pnByte // If successful, SQLITE_OK is returned. Otherwise, an SQLite error code // is returned and the final values of the various fields enumerated above // are undefined. -func sessionChangesetReadTblhdr(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:213465:12: */ +func sessionChangesetReadTblhdr(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:213522:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -172500,7 +172531,7 @@ func sessionChangesetReadTblhdr(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:2 (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Ftblhdr.FnBuf = 0 sessionBufferGrow(tls, p+72, int64(nByte), bp+4) } else { - *(*int32)(unsafe.Pointer(bp + 4 /* rc */)) = Xsqlite3CorruptError(tls, 213482) + *(*int32)(unsafe.Pointer(bp + 4 /* rc */)) = Xsqlite3CorruptError(tls, 213539) } } @@ -172535,7 +172566,7 @@ func sessionChangesetReadTblhdr(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:2 // // * If the iterator is configured to skip no-op UPDATEs, // sessionChangesetNext() does that. This function does not. -func sessionChangesetNextOne(tls *libc.TLS, p uintptr, paRec uintptr, pnRec uintptr, pbNew uintptr, pbEmpty uintptr) int32 { /* sqlite3.c:213514:12: */ +func sessionChangesetNextOne(tls *libc.TLS, p uintptr, paRec uintptr, pnRec uintptr, pbNew uintptr, pbEmpty uintptr) int32 { /* sqlite3.c:213571:12: */ var i int32 var op U8 @@ -172592,13 +172623,13 @@ func sessionChangesetNextOne(tls *libc.TLS, p uintptr, paRec uintptr, pnRec uint // The first record in the changeset is not a table header. Must be a // corrupt changeset. - return libc.AssignPtrInt32(p+100, Xsqlite3CorruptError(tls, 213568)) + return libc.AssignPtrInt32(p+100, Xsqlite3CorruptError(tls, 213625)) } (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fop = int32(op) (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FbIndirect = int32(*(*U8)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FaData + uintptr(libc.PostIncInt32(&(*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FiNext, 1))))) if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fop != SQLITE_UPDATE && (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fop != SQLITE_DELETE && (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fop != SQLITE_INSERT { - return libc.AssignPtrInt32(p+100, Xsqlite3CorruptError(tls, 213574)) + return libc.AssignPtrInt32(p+100, Xsqlite3CorruptError(tls, 213631)) } if paRec != 0 { @@ -172668,7 +172699,7 @@ func sessionChangesetNextOne(tls *libc.TLS, p uintptr, paRec uintptr, pnRec uint *(*uintptr)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue + uintptr(i)*8)) = *(*uintptr)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue + uintptr(i+(*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol)*8)) if *(*uintptr)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue + uintptr(i)*8)) == uintptr(0) { - return libc.AssignPtrInt32(p+100, Xsqlite3CorruptError(tls, 213618)) + return libc.AssignPtrInt32(p+100, Xsqlite3CorruptError(tls, 213675)) } *(*uintptr)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue + uintptr(i+(*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol)*8)) = uintptr(0) } @@ -172699,7 +172730,7 @@ func sessionChangesetNextOne(tls *libc.TLS, p uintptr, paRec uintptr, pnRec uint // successfully advanced to the next change in the changeset, an SQLite // error code if an error occurs, or SQLITE_DONE if there are no further // changes in the changeset. -func sessionChangesetNext(tls *libc.TLS, p uintptr, paRec uintptr, pnRec uintptr, pbNew uintptr) int32 { /* sqlite3.c:213647:12: */ +func sessionChangesetNext(tls *libc.TLS, p uintptr, paRec uintptr, pnRec uintptr, pbNew uintptr) int32 { /* sqlite3.c:213704:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -172719,14 +172750,14 @@ func sessionChangesetNext(tls *libc.TLS, p uintptr, paRec uintptr, pnRec uintptr // // This function may not be called on iterators passed to a conflict handler // callback by changeset_apply(). -func Xsqlite3changeset_next(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:213670:16: */ +func Xsqlite3changeset_next(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:213727:16: */ return sessionChangesetNext(tls, p, uintptr(0), uintptr(0), uintptr(0)) } // The following function extracts information on the current change // from a changeset iterator. It may only be called after changeset_next() // has returned SQLITE_ROW. -func Xsqlite3changeset_op(tls *libc.TLS, pIter uintptr, pzTab uintptr, pnCol uintptr, pOp uintptr, pbIndirect uintptr) int32 { /* sqlite3.c:213679:16: */ +func Xsqlite3changeset_op(tls *libc.TLS, pIter uintptr, pzTab uintptr, pnCol uintptr, pOp uintptr, pbIndirect uintptr) int32 { /* sqlite3.c:213736:16: */ *(*int32)(unsafe.Pointer(pOp)) = (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fop *(*int32)(unsafe.Pointer(pnCol)) = (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol *(*uintptr)(unsafe.Pointer(pzTab)) = (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FzTab @@ -172740,7 +172771,7 @@ func Xsqlite3changeset_op(tls *libc.TLS, pIter uintptr, pzTab uintptr, pnCol uin // the database table affected by the change that pIter currently points // to. This function may only be called after changeset_next() returns // SQLITE_ROW. -func Xsqlite3changeset_pk(tls *libc.TLS, pIter uintptr, pabPK uintptr, pnCol uintptr) int32 { /* sqlite3.c:213699:16: */ +func Xsqlite3changeset_pk(tls *libc.TLS, pIter uintptr, pabPK uintptr, pnCol uintptr) int32 { /* sqlite3.c:213756:16: */ *(*uintptr)(unsafe.Pointer(pabPK)) = (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FabPK if pnCol != 0 { *(*int32)(unsafe.Pointer(pnCol)) = (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol @@ -172759,7 +172790,7 @@ func Xsqlite3changeset_pk(tls *libc.TLS, pIter uintptr, pabPK uintptr, pnCol uin // // If value iVal is out-of-range, SQLITE_RANGE is returned and *ppValue is // not modified. Otherwise, SQLITE_OK. -func Xsqlite3changeset_old(tls *libc.TLS, pIter uintptr, iVal int32, ppValue uintptr) int32 { /* sqlite3.c:213722:16: */ +func Xsqlite3changeset_old(tls *libc.TLS, pIter uintptr, iVal int32, ppValue uintptr) int32 { /* sqlite3.c:213779:16: */ if (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fop != SQLITE_UPDATE && (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fop != SQLITE_DELETE { return SQLITE_MISUSE } @@ -172781,7 +172812,7 @@ func Xsqlite3changeset_old(tls *libc.TLS, pIter uintptr, iVal int32, ppValue uin // // If value iVal is out-of-range, SQLITE_RANGE is returned and *ppValue is // not modified. Otherwise, SQLITE_OK. -func Xsqlite3changeset_new(tls *libc.TLS, pIter uintptr, iVal int32, ppValue uintptr) int32 { /* sqlite3.c:213750:16: */ +func Xsqlite3changeset_new(tls *libc.TLS, pIter uintptr, iVal int32, ppValue uintptr) int32 { /* sqlite3.c:213807:16: */ if (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fop != SQLITE_UPDATE && (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fop != SQLITE_INSERT { return SQLITE_MISUSE } @@ -172805,7 +172836,7 @@ func Xsqlite3changeset_new(tls *libc.TLS, pIter uintptr, iVal int32, ppValue uin // // If value iVal is out-of-range or some other error occurs, an SQLite error // code is returned. Otherwise, SQLITE_OK. -func Xsqlite3changeset_conflict(tls *libc.TLS, pIter uintptr, iVal int32, ppValue uintptr) int32 { /* sqlite3.c:213784:16: */ +func Xsqlite3changeset_conflict(tls *libc.TLS, pIter uintptr, iVal int32, ppValue uintptr) int32 { /* sqlite3.c:213841:16: */ if !(int32((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FpConflict) != 0) { return SQLITE_MISUSE } @@ -172822,7 +172853,7 @@ func Xsqlite3changeset_conflict(tls *libc.TLS, pIter uintptr, iVal int32, ppValu // violations in the destination database and returns SQLITE_OK. // // In all other cases this function returns SQLITE_MISUSE. -func Xsqlite3changeset_fk_conflicts(tls *libc.TLS, pIter uintptr, pnOut uintptr) int32 { /* sqlite3.c:213807:16: */ +func Xsqlite3changeset_fk_conflicts(tls *libc.TLS, pIter uintptr, pnOut uintptr) int32 { /* sqlite3.c:213864:16: */ if (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FpConflict != 0 || (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FapValue != 0 { return SQLITE_MISUSE } @@ -172834,7 +172865,7 @@ func Xsqlite3changeset_fk_conflicts(tls *libc.TLS, pIter uintptr, pnOut uintptr) // // This function may not be called on iterators passed to a conflict handler // callback by changeset_apply(). -func Xsqlite3changeset_finalize(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:213825:16: */ +func Xsqlite3changeset_finalize(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:213882:16: */ var rc int32 = SQLITE_OK if p != 0 { var i int32 // Used to iterate through p->apValue[] @@ -172851,7 +172882,7 @@ func Xsqlite3changeset_finalize(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:2 return rc } -func sessionChangesetInvert(tls *libc.TLS, pInput uintptr, xOutput uintptr, pOut uintptr, pnInverted uintptr, ppInverted uintptr) int32 { /* sqlite3.c:213840:12: */ +func sessionChangesetInvert(tls *libc.TLS, pInput uintptr, xOutput uintptr, pOut uintptr, pnInverted uintptr, ppInverted uintptr) int32 { /* sqlite3.c:213897:12: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -173087,7 +173118,7 @@ __27: goto __6 __11: - *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = Xsqlite3CorruptError(tls, 213967) + *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = Xsqlite3CorruptError(tls, 214024) goto finished_invert __6: ; @@ -173138,7 +173169,7 @@ finished_invert: } // Invert a changeset object. -func Xsqlite3changeset_invert(tls *libc.TLS, nChangeset int32, pChangeset uintptr, pnInverted uintptr, ppInverted uintptr) int32 { /* sqlite3.c:213999:16: */ +func Xsqlite3changeset_invert(tls *libc.TLS, nChangeset int32, pChangeset uintptr, pnInverted uintptr, ppInverted uintptr) int32 { /* sqlite3.c:214056:16: */ bp := tls.Alloc(72) defer tls.Free(72) @@ -173153,7 +173184,7 @@ func Xsqlite3changeset_invert(tls *libc.TLS, nChangeset int32, pChangeset uintpt } // Streaming version of sqlite3changeset_invert(). -func Xsqlite3changeset_invert_strm(tls *libc.TLS, xInput uintptr, pIn uintptr, xOutput uintptr, pOut uintptr) int32 { /* sqlite3.c:214018:16: */ +func Xsqlite3changeset_invert_strm(tls *libc.TLS, xInput uintptr, pIn uintptr, xOutput uintptr, pOut uintptr) int32 { /* sqlite3.c:214075:16: */ bp := tls.Alloc(72) defer tls.Free(72) @@ -173175,9 +173206,9 @@ type SessionUpdate1 = struct { FpStmt uintptr FaMask uintptr FpNext uintptr -} /* sqlite3.c:214038:9 */ +} /* sqlite3.c:214095:9 */ -type SessionUpdate = SessionUpdate1 /* sqlite3.c:214038:30 */ +type SessionUpdate = SessionUpdate1 /* sqlite3.c:214095:30 */ type SessionApplyCtx1 = struct { Fdb uintptr @@ -173199,9 +173230,9 @@ type SessionApplyCtx1 = struct { FbRebaseStarted U8 FbRebase U8 F__ccgo_pad3 [6]byte -} /* sqlite3.c:214045:9 */ +} /* sqlite3.c:214102:9 */ -type SessionApplyCtx = SessionApplyCtx1 /* sqlite3.c:214045:32 */ +type SessionApplyCtx = SessionApplyCtx1 /* sqlite3.c:214102:32 */ // Number of prepared UPDATE statements to cache. @@ -173209,7 +173240,7 @@ type SessionApplyCtx = SessionApplyCtx1 /* sqlite3.c:214045:32 */ // being visited by the iterator. The UPDATE is of the form: // // UPDATE tbl SET col = ?, col2 = ? WHERE pk1 IS ? AND pk2 IS ? -func sessionUpdateFind(tls *libc.TLS, pIter uintptr, p uintptr, bPatchset int32, ppStmt uintptr) int32 { /* sqlite3.c:214074:12: */ +func sessionUpdateFind(tls *libc.TLS, pIter uintptr, p uintptr, bPatchset int32, ppStmt uintptr) int32 { /* sqlite3.c:214131:12: */ bp := tls.Alloc(20) defer tls.Free(20) @@ -173343,7 +173374,7 @@ func sessionUpdateFind(tls *libc.TLS, pIter uintptr, p uintptr, bPatchset int32, } // Free all cached UPDATE statements. -func sessionUpdateFree(tls *libc.TLS, p uintptr) { /* sqlite3.c:214213:13: */ +func sessionUpdateFree(tls *libc.TLS, p uintptr) { /* sqlite3.c:214270:13: */ var pUp uintptr var pNext uintptr for pUp = (*SessionApplyCtx)(unsafe.Pointer(p)).FpUp; pUp != 0; pUp = pNext { @@ -173371,7 +173402,7 @@ func sessionUpdateFree(tls *libc.TLS, p uintptr) { /* sqlite3.c:214213:13: */ // // If successful, SQLITE_OK is returned and SessionApplyCtx.pDelete is left // pointing to the prepared version of the SQL statement. -func sessionDeleteRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) int32 { /* sqlite3.c:214243:12: */ +func sessionDeleteRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) int32 { /* sqlite3.c:214300:12: */ bp := tls.Alloc(20) defer tls.Free(20) @@ -173433,7 +173464,7 @@ func sessionDeleteRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) int32 // // If successful, SQLITE_OK is returned and SessionApplyCtx.pSelect is left // pointing to the prepared version of the SQL statement. -func sessionSelectRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) int32 { /* sqlite3.c:214308:12: */ +func sessionSelectRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) int32 { /* sqlite3.c:214365:12: */ return sessionSelectStmt(tls, db, ts+6323, zTab, (*SessionApplyCtx)(unsafe.Pointer(p)).FnCol, (*SessionApplyCtx)(unsafe.Pointer(p)).FazCol, (*SessionApplyCtx)(unsafe.Pointer(p)).FabPK, p+24) } @@ -173445,7 +173476,7 @@ func sessionSelectRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) int32 // // If successful, SQLITE_OK is returned and SessionApplyCtx.pInsert is left // pointing to the prepared version of the SQL statement. -func sessionInsertRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) int32 { /* sqlite3.c:214326:12: */ +func sessionInsertRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) int32 { /* sqlite3.c:214383:12: */ bp := tls.Alloc(20) defer tls.Free(20) @@ -173476,7 +173507,7 @@ func sessionInsertRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) int32 return *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) } -func sessionPrepare(tls *libc.TLS, db uintptr, pp uintptr, zSql uintptr) int32 { /* sqlite3.c:214356:12: */ +func sessionPrepare(tls *libc.TLS, db uintptr, pp uintptr, zSql uintptr) int32 { /* sqlite3.c:214413:12: */ return Xsqlite3_prepare_v2(tls, db, zSql, -1, pp, uintptr(0)) } @@ -173484,7 +173515,7 @@ func sessionPrepare(tls *libc.TLS, db uintptr, pp uintptr, zSql uintptr) int32 { // These are similar to those created by sessionSelectRow(), // sessionInsertRow(), sessionUpdateRow() and sessionDeleteRow() for // other tables. -func sessionStat1Sql(tls *libc.TLS, db uintptr, p uintptr) int32 { /* sqlite3.c:214366:12: */ +func sessionStat1Sql(tls *libc.TLS, db uintptr, p uintptr) int32 { /* sqlite3.c:214423:12: */ var rc int32 = sessionSelectRow(tls, db, ts+11224, p) if rc == SQLITE_OK { rc = sessionPrepare(tls, db, p+16, @@ -173501,7 +173532,7 @@ func sessionStat1Sql(tls *libc.TLS, db uintptr, p uintptr) int32 { /* sqlite3.c: // A wrapper around sqlite3_bind_value() that detects an extra problem. // See comments in the body of this function for details. -func sessionBindValue(tls *libc.TLS, pStmt uintptr, i int32, pVal uintptr) int32 { /* sqlite3.c:214389:12: */ +func sessionBindValue(tls *libc.TLS, pStmt uintptr, i int32, pVal uintptr) int32 { /* sqlite3.c:214446:12: */ var eType int32 = Xsqlite3_value_type(tls, pVal) // COVERAGE: The (pVal->z==0) branch is never true using current versions // of SQLite. If a malloc fails in an sqlite3_value_xxx() function, either @@ -173528,7 +173559,7 @@ func sessionBindValue(tls *libc.TLS, pStmt uintptr, i int32, pVal uintptr) int32 // statement. // // 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) int32 { /* sqlite3.c:214422:12: */ +func sessionBindRow(tls *libc.TLS, pIter uintptr, xValue uintptr, nCol int32, abPK uintptr, pStmt uintptr) int32 { /* sqlite3.c:214479:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -173549,7 +173580,7 @@ func sessionBindRow(tls *libc.TLS, pIter uintptr, xValue uintptr, nCol int32, ab if *(*uintptr)(unsafe.Pointer(bp)) == uintptr(0) { // The value in the changeset was "undefined". This indicates a // corrupt changeset blob. - rc = Xsqlite3CorruptError(tls, 214445) + rc = Xsqlite3CorruptError(tls, 214502) } else { rc = sessionBindValue(tls, pStmt, i+1, *(*uintptr)(unsafe.Pointer(bp /* pVal */))) } @@ -173573,7 +173604,7 @@ func sessionBindRow(tls *libc.TLS, pIter uintptr, xValue uintptr, nCol int32, ab // If the iterator currently points to an INSERT record, bind values from the // new.* record to the SELECT statement. Or, if it points to a DELETE or // UPDATE, bind values from the old.* record. -func sessionSeekToRow(tls *libc.TLS, db uintptr, pIter uintptr, abPK uintptr, pSelect uintptr) int32 { /* sqlite3.c:214471:12: */ +func sessionSeekToRow(tls *libc.TLS, db uintptr, pIter uintptr, abPK uintptr, pSelect uintptr) int32 { /* sqlite3.c:214528:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -173617,7 +173648,7 @@ func sessionSeekToRow(tls *libc.TLS, db uintptr, pIter uintptr, abPK uintptr, pS // of apply_v2() as the "rebase" buffer. // // Return SQLITE_OK if successful, or an SQLite error code otherwise. -func sessionRebaseAdd(tls *libc.TLS, p uintptr, eType int32, pIter uintptr) int32 { /* sqlite3.c:214506:12: */ +func sessionRebaseAdd(tls *libc.TLS, p uintptr, eType int32, pIter uintptr) int32 { /* sqlite3.c:214563:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -173689,7 +173720,7 @@ func sessionRebaseAdd(tls *libc.TLS, p uintptr, eType int32, pIter uintptr) int3 // returned. Or, if the conflict handler returns an invalid value, // 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) int32 { /* sqlite3.c:214580:12: */ +func sessionConflictHandler(tls *libc.TLS, eType int32, p uintptr, pIter uintptr, xConflict uintptr, pCtx uintptr, pbReplace uintptr) int32 { /* sqlite3.c:214637:12: */ bp := tls.Alloc(20) defer tls.Free(20) @@ -173789,7 +173820,7 @@ func sessionConflictHandler(tls *libc.TLS, eType int32, p uintptr, pIter uintptr // If any conflict handler returns SQLITE_CHANGESET_ABORT, this function // 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) int32 { /* sqlite3.c:214678:12: */ +func sessionApplyOneOp(tls *libc.TLS, pIter uintptr, p uintptr, xConflict uintptr, pCtx uintptr, pbReplace uintptr, pbRetry uintptr) int32 { /* sqlite3.c:214735:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -173924,7 +173955,7 @@ func sessionApplyOneOp(tls *libc.TLS, pIter uintptr, p uintptr, xConflict uintpt // function handles the case where the conflict-handler is invoked and // 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) int32 { /* sqlite3.c:214811:12: */ +func sessionApplyOneWithRetry(tls *libc.TLS, db uintptr, pIter uintptr, pApply uintptr, xConflict uintptr, pCtx uintptr) int32 { /* sqlite3.c:214868:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -173971,7 +174002,7 @@ func sessionApplyOneWithRetry(tls *libc.TLS, db uintptr, pIter uintptr, pApply u } // 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) int32 { /* sqlite3.c:214868:12: */ +func sessionRetryConstraints(tls *libc.TLS, db uintptr, bPatchset int32, zTab uintptr, pApply uintptr, xConflict uintptr, pCtx uintptr) int32 { /* sqlite3.c:214925:12: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -174025,7 +174056,7 @@ func sessionRetryConstraints(tls *libc.TLS, db uintptr, bPatchset int32, zTab ui // changeset to the main database attached to handle "db". The supplied // 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) int32 { /* sqlite3.c:214924:12: */ +func sessionChangesetApply(tls *libc.TLS, db uintptr, pIter uintptr, xFilter uintptr, xConflict uintptr, pCtx uintptr, ppRebase uintptr, pnRebase uintptr, flags int32) int32 { /* sqlite3.c:214981:12: */ bp := tls.Alloc(368) defer tls.Free(368) @@ -174216,7 +174247,7 @@ func sessionChangesetApply(tls *libc.TLS, db uintptr, pIter uintptr, xFilter uin // 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) int32 { /* sqlite3.c:215122:16: */ +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) int32 { /* sqlite3.c:215179:16: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -174234,7 +174265,7 @@ func Xsqlite3changeset_apply_v2(tls *libc.TLS, db uintptr, nChangeset int32, pCh // Apply the changeset passed via pChangeset/nChangeset to the main database // 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) int32 { /* sqlite3.c:215155:16: */ +func Xsqlite3changeset_apply(tls *libc.TLS, db uintptr, nChangeset int32, pChangeset uintptr, xFilter uintptr, xConflict uintptr, pCtx uintptr) int32 { /* sqlite3.c:215212:16: */ return Xsqlite3changeset_apply_v2(tls, db, nChangeset, pChangeset, xFilter, xConflict, pCtx, uintptr(0), uintptr(0), 0) } @@ -174242,7 +174273,7 @@ func Xsqlite3changeset_apply(tls *libc.TLS, db uintptr, nChangeset int32, pChang // Apply the changeset passed via xInput/pIn to the main database // 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) int32 { /* sqlite3.c:215180:16: */ +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) int32 { /* sqlite3.c:215237:16: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -174257,7 +174288,7 @@ func Xsqlite3changeset_apply_v2_strm(tls *libc.TLS, db uintptr, xInput uintptr, return rc } -func Xsqlite3changeset_apply_strm(tls *libc.TLS, db uintptr, xInput uintptr, pIn uintptr, xFilter uintptr, xConflict uintptr, pCtx uintptr) int32 { /* sqlite3.c:215207:16: */ +func Xsqlite3changeset_apply_strm(tls *libc.TLS, db uintptr, xInput uintptr, pIn uintptr, xFilter uintptr, xConflict uintptr, pCtx uintptr) int32 { /* sqlite3.c:215264:16: */ return Xsqlite3changeset_apply_v2_strm(tls, db, xInput, pIn, xFilter, xConflict, pCtx, uintptr(0), uintptr(0), 0) } @@ -174265,7 +174296,7 @@ func Xsqlite3changeset_apply_strm(tls *libc.TLS, db uintptr, xInput uintptr, pIn // This function is called to merge two changes to the same row together as // part of an sqlite3changeset_concat() operation. A new change object is // allocated and a pointer to it stored in *ppNew. -func sessionChangeMerge(tls *libc.TLS, pTab uintptr, bRebase int32, bPatchset int32, pExist uintptr, op2 int32, bIndirect int32, aRec uintptr, nRec int32, ppNew uintptr) int32 { /* sqlite3.c:215241:12: */ +func sessionChangeMerge(tls *libc.TLS, pTab uintptr, bRebase int32, bPatchset int32, pExist uintptr, op2 int32, bIndirect int32, aRec uintptr, nRec int32, ppNew uintptr) int32 { /* sqlite3.c:215298:12: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -174437,7 +174468,7 @@ func sessionChangeMerge(tls *libc.TLS, pTab uintptr, bRebase int32, bPatchset in // Add all changes in the changeset traversed by the iterator passed as // the first argument to the changegroup hash tables. -func sessionChangesetToHash(tls *libc.TLS, pIter uintptr, pGrp uintptr, bRebase int32) int32 { /* sqlite3.c:215423:12: */ +func sessionChangesetToHash(tls *libc.TLS, pIter uintptr, pGrp uintptr, bRebase int32) int32 { /* sqlite3.c:215480:12: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -174568,7 +174599,7 @@ func sessionChangesetToHash(tls *libc.TLS, pIter uintptr, pGrp uintptr, bRebase // If successful, SQLITE_OK is returned. Or, if an error occurs, an SQLite // 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) int32 { /* sqlite3.c:215546:12: */ +func sessionChangegroupOutput(tls *libc.TLS, pGrp uintptr, xOutput uintptr, pOut uintptr, pnOut uintptr, ppOut uintptr) int32 { /* sqlite3.c:215603:12: */ bp := tls.Alloc(20) defer tls.Free(20) @@ -174622,7 +174653,7 @@ func sessionChangegroupOutput(tls *libc.TLS, pGrp uintptr, xOutput uintptr, pOut } // Allocate a new, empty, sqlite3_changegroup. -func Xsqlite3changegroup_new(tls *libc.TLS, pp uintptr) int32 { /* sqlite3.c:215597:16: */ +func Xsqlite3changegroup_new(tls *libc.TLS, pp uintptr) int32 { /* sqlite3.c:215654:16: */ var rc int32 = SQLITE_OK // Return code var p uintptr // New object p = Xsqlite3_malloc(tls, int32(unsafe.Sizeof(Sqlite3_changegroup{}))) @@ -174637,7 +174668,7 @@ func Xsqlite3changegroup_new(tls *libc.TLS, pp uintptr) int32 { /* sqlite3.c:215 // Add the changeset currently stored in buffer pData, size nData bytes, // to changeset-group p. -func Xsqlite3changegroup_add(tls *libc.TLS, pGrp uintptr, nData int32, pData uintptr) int32 { /* sqlite3.c:215614:16: */ +func Xsqlite3changegroup_add(tls *libc.TLS, pGrp uintptr, nData int32, pData uintptr) int32 { /* sqlite3.c:215671:16: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -174655,12 +174686,12 @@ func Xsqlite3changegroup_add(tls *libc.TLS, pGrp uintptr, nData int32, pData uin // Obtain a buffer containing a changeset representing the concatenation // of all changesets added to the group so far. -func Xsqlite3changegroup_output(tls *libc.TLS, pGrp uintptr, pnData uintptr, ppData uintptr) int32 { /* sqlite3.c:215630:16: */ +func Xsqlite3changegroup_output(tls *libc.TLS, pGrp uintptr, pnData uintptr, ppData uintptr) int32 { /* sqlite3.c:215687:16: */ return sessionChangegroupOutput(tls, pGrp, uintptr(0), uintptr(0), pnData, ppData) } // Streaming versions of changegroup_add(). -func Xsqlite3changegroup_add_strm(tls *libc.TLS, pGrp uintptr, xInput uintptr, pIn uintptr) int32 { /* sqlite3.c:215641:16: */ +func Xsqlite3changegroup_add_strm(tls *libc.TLS, pGrp uintptr, xInput uintptr, pIn uintptr) int32 { /* sqlite3.c:215698:16: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -174677,12 +174708,12 @@ func Xsqlite3changegroup_add_strm(tls *libc.TLS, pGrp uintptr, xInput uintptr, p } // Streaming versions of changegroup_output(). -func Xsqlite3changegroup_output_strm(tls *libc.TLS, pGrp uintptr, xOutput uintptr, pOut uintptr) int32 { /* sqlite3.c:215660:16: */ +func Xsqlite3changegroup_output_strm(tls *libc.TLS, pGrp uintptr, xOutput uintptr, pOut uintptr) int32 { /* sqlite3.c:215717:16: */ return sessionChangegroupOutput(tls, pGrp, xOutput, pOut, uintptr(0), uintptr(0)) } // Delete a changegroup object. -func Xsqlite3changegroup_delete(tls *libc.TLS, pGrp uintptr) { /* sqlite3.c:215671:17: */ +func Xsqlite3changegroup_delete(tls *libc.TLS, pGrp uintptr) { /* sqlite3.c:215728:17: */ if pGrp != 0 { sessionDeleteTable(tls, uintptr(0), (*Sqlite3_changegroup)(unsafe.Pointer(pGrp)).FpList) Xsqlite3_free(tls, pGrp) @@ -174690,7 +174721,7 @@ func Xsqlite3changegroup_delete(tls *libc.TLS, pGrp uintptr) { /* sqlite3.c:2156 } // Combine two changesets together. -func Xsqlite3changeset_concat(tls *libc.TLS, nLeft int32, pLeft uintptr, nRight int32, pRight uintptr, pnOut uintptr, ppOut uintptr) int32 { /* sqlite3.c:215681:16: */ +func Xsqlite3changeset_concat(tls *libc.TLS, nLeft int32, pLeft uintptr, nRight int32, pRight uintptr, pnOut uintptr, ppOut uintptr) int32 { /* sqlite3.c:215738:16: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -174714,7 +174745,7 @@ func Xsqlite3changeset_concat(tls *libc.TLS, nLeft int32, pLeft uintptr, nRight } // Streaming version of sqlite3changeset_concat(). -func Xsqlite3changeset_concat_strm(tls *libc.TLS, xInputA uintptr, pInA uintptr, xInputB uintptr, pInB uintptr, xOutput uintptr, pOut uintptr) int32 { /* sqlite3.c:215710:16: */ +func Xsqlite3changeset_concat_strm(tls *libc.TLS, xInputA uintptr, pInA uintptr, xInputB uintptr, pInB uintptr, xOutput uintptr, pOut uintptr) int32 { /* sqlite3.c:215767:16: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -174741,7 +174772,7 @@ func Xsqlite3changeset_concat_strm(tls *libc.TLS, xInputA uintptr, pInA uintptr, // fields in size. This function appends an nCol sessions module // record to buffer pBuf that is a copy of a1, except that for // each field that is undefined in a1[], swap in the field from a2[]. -func sessionAppendRecordMerge(tls *libc.TLS, pBuf uintptr, nCol int32, a1 uintptr, n1 int32, a2 uintptr, n2 int32, pRc uintptr) { /* sqlite3.c:215749:13: */ +func sessionAppendRecordMerge(tls *libc.TLS, pBuf uintptr, nCol int32, a1 uintptr, n1 int32, a2 uintptr, n2 int32, pRc uintptr) { /* sqlite3.c:215806:13: */ sessionBufferGrow(tls, pBuf, int64(n1+n2), pRc) if *(*int32)(unsafe.Pointer(pRc)) == SQLITE_OK { var i int32 @@ -174782,7 +174813,7 @@ func sessionAppendRecordMerge(tls *libc.TLS, pBuf uintptr, nCol int32, a1 uintpt // corresponding field in the rebase buffer is not "undefined" (0x00) // or "replaced" (0xFF), the old.* value is replaced by the value // in the rebase buffer. -func sessionAppendPartialUpdate(tls *libc.TLS, pBuf uintptr, pIter uintptr, aRec uintptr, nRec int32, aChange uintptr, nChange int32, pRc uintptr) { /* sqlite3.c:215798:13: */ +func sessionAppendPartialUpdate(tls *libc.TLS, pBuf uintptr, pIter uintptr, aRec uintptr, nRec int32, aChange uintptr, nChange int32, pRc uintptr) { /* sqlite3.c:215855:13: */ sessionBufferGrow(tls, pBuf, int64(2+nRec+nChange), pRc) if *(*int32)(unsafe.Pointer(pRc)) == SQLITE_OK { var bData int32 = 0 @@ -174844,7 +174875,7 @@ func sessionAppendPartialUpdate(tls *libc.TLS, pBuf uintptr, pIter uintptr, aRec // If an error occurs, an SQLite error code is returned. If ppOut and // 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) int32 { /* sqlite3.c:215866:12: */ +func sessionRebase(tls *libc.TLS, p uintptr, pIter uintptr, xOutput uintptr, pOut uintptr, pnOut uintptr, ppOut uintptr) int32 { /* sqlite3.c:215923:12: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -174982,7 +175013,7 @@ func sessionRebase(tls *libc.TLS, p uintptr, pIter uintptr, xOutput uintptr, pOu } // Create a new rebaser object. -func Xsqlite3rebaser_create(tls *libc.TLS, ppNew uintptr) int32 { /* sqlite3.c:215998:16: */ +func Xsqlite3rebaser_create(tls *libc.TLS, ppNew uintptr) int32 { /* sqlite3.c:216055:16: */ var rc int32 = SQLITE_OK var pNew uintptr @@ -174997,7 +175028,7 @@ func Xsqlite3rebaser_create(tls *libc.TLS, ppNew uintptr) int32 { /* sqlite3.c:2 } // Call this one or more times to configure a rebaser. -func Xsqlite3rebaser_configure(tls *libc.TLS, p uintptr, nRebase int32, pRebase uintptr) int32 { /* sqlite3.c:216015:16: */ +func Xsqlite3rebaser_configure(tls *libc.TLS, p uintptr, nRebase int32, pRebase uintptr) int32 { /* sqlite3.c:216072:16: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -175012,7 +175043,7 @@ func Xsqlite3rebaser_configure(tls *libc.TLS, p uintptr, nRebase int32, pRebase } // Rebase a changeset according to current rebaser configuration -func Xsqlite3rebaser_rebase(tls *libc.TLS, p uintptr, nIn int32, pIn uintptr, pnOut uintptr, ppOut uintptr) int32 { /* sqlite3.c:216032:16: */ +func Xsqlite3rebaser_rebase(tls *libc.TLS, p uintptr, nIn int32, pIn uintptr, pnOut uintptr, ppOut uintptr) int32 { /* sqlite3.c:216089:16: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -175028,7 +175059,7 @@ func Xsqlite3rebaser_rebase(tls *libc.TLS, p uintptr, nIn int32, pIn uintptr, pn } // 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) int32 { /* sqlite3.c:216051:16: */ +func Xsqlite3rebaser_rebase_strm(tls *libc.TLS, p uintptr, xInput uintptr, pIn uintptr, xOutput uintptr, pOut uintptr) int32 { /* sqlite3.c:216108:16: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -175044,7 +175075,7 @@ func Xsqlite3rebaser_rebase_strm(tls *libc.TLS, p uintptr, xInput uintptr, pIn u } // Destroy a rebaser object -func Xsqlite3rebaser_delete(tls *libc.TLS, p uintptr) { /* sqlite3.c:216072:17: */ +func Xsqlite3rebaser_delete(tls *libc.TLS, p uintptr) { /* sqlite3.c:216129:17: */ if p != 0 { sessionDeleteTable(tls, uintptr(0), (*Sqlite3_rebaser)(unsafe.Pointer(p)).Fgrp.FpList) Xsqlite3_free(tls, p) @@ -175052,7 +175083,7 @@ func Xsqlite3rebaser_delete(tls *libc.TLS, p uintptr) { /* sqlite3.c:216072:17: } // Global configuration -func Xsqlite3session_config(tls *libc.TLS, op int32, pArg uintptr) int32 { /* sqlite3.c:216082:16: */ +func Xsqlite3session_config(tls *libc.TLS, op int32, pArg uintptr) int32 { /* sqlite3.c:216139:16: */ var rc int32 = SQLITE_OK switch op { case SQLITE_SESSION_CONFIG_STRMSIZE: @@ -175140,7 +175171,7 @@ type Fts5Global1 = struct { FpTok uintptr FpDfltTok uintptr FpCsr uintptr -} /* sqlite3.c:216813:9 */ +} /* sqlite3.c:216870:9 */ //************* End of sqlite3session.c ************************************* //************* Begin file fts5.c ******************************************* @@ -175202,13 +175233,13 @@ type Fts5Global1 = struct { // Mark a function parameter as unused, to suppress nuisance compiler // warnings. -type Fts5Global = Fts5Global1 /* sqlite3.c:216813:27 */ +type Fts5Global = Fts5Global1 /* sqlite3.c:216870:27 */ type Fts5Colset1 = struct { FnCol int32 FaiCol [1]int32 -} /* sqlite3.c:216813:9 */ +} /* sqlite3.c:216870:9 */ -type Fts5Colset = Fts5Colset1 /* sqlite3.c:216814:27 */ +type Fts5Colset = Fts5Colset1 /* sqlite3.c:216871:27 */ // ************************************************************************* // @@ -175246,14 +175277,14 @@ type Fts5Config1 = struct { FzRank uintptr FzRankArgs uintptr FpzErrmsg uintptr -} /* sqlite3.c:216813:9 */ +} /* sqlite3.c:216870:9 */ // ************************************************************************* // // Interface to code in fts5_config.c. fts5_config.c contains contains code // to parse the arguments passed to the CREATE VIRTUAL TABLE statement. -type Fts5Config = Fts5Config1 /* sqlite3.c:216834:27 */ +type Fts5Config = Fts5Config1 /* sqlite3.c:216891:27 */ // // End of interface to code in fts5_config.c. @@ -175268,7 +175299,7 @@ type Fts5Buffer1 = struct { Fp uintptr Fn int32 FnSpace int32 -} /* sqlite3.c:216813:9 */ +} /* sqlite3.c:216870:9 */ // // End of interface to code in fts5_config.c. @@ -175279,7 +175310,7 @@ type Fts5Buffer1 = struct { // Interface to code in fts5_buffer.c. // Buffer object for the incremental building of string data. -type Fts5Buffer = Fts5Buffer1 /* sqlite3.c:216960:27 */ +type Fts5Buffer = Fts5Buffer1 /* sqlite3.c:217017:27 */ type Fts5PoslistReader1 = struct { Fa uintptr @@ -175289,19 +175320,19 @@ type Fts5PoslistReader1 = struct { FbEof U8 F__ccgo_pad1 [6]byte FiPos I64 -} /* sqlite3.c:216813:9 */ +} /* sqlite3.c:216870:9 */ -type Fts5PoslistReader = Fts5PoslistReader1 /* sqlite3.c:216996:34 */ +type Fts5PoslistReader = Fts5PoslistReader1 /* sqlite3.c:217053:34 */ -type Fts5PoslistWriter1 = struct{ FiPrev I64 } /* sqlite3.c:217015:9 */ +type Fts5PoslistWriter1 = struct{ FiPrev I64 } /* sqlite3.c:217072:9 */ -type Fts5PoslistWriter = Fts5PoslistWriter1 /* sqlite3.c:217015:34 */ +type Fts5PoslistWriter = Fts5PoslistWriter1 /* sqlite3.c:217072:34 */ // Bucket of terms object used by the integrity-check in offsets=0 mode. -type Fts5Termset1 = struct{ FapHash [512]uintptr } /* sqlite3.c:217037:9 */ +type Fts5Termset1 = struct{ FapHash [512]uintptr } /* sqlite3.c:217094:9 */ // Bucket of terms object used by the integrity-check in offsets=0 mode. -type Fts5Termset = Fts5Termset1 /* sqlite3.c:217037:28 */ +type Fts5Termset = Fts5Termset1 /* sqlite3.c:217094:28 */ // // End of interface to code in fts5_buffer.c. @@ -175334,7 +175365,7 @@ type Fts5Index1 = struct { FpDataVersion uintptr FiStructVersion I64 FpStruct uintptr -} /* sqlite3.c:216813:9 */ +} /* sqlite3.c:216870:9 */ // // End of interface to code in fts5_buffer.c. @@ -175345,16 +175376,16 @@ type Fts5Index1 = struct { // Interface to code in fts5_index.c. fts5_index.c contains contains code // to access the data stored in the %_data table. -type Fts5Index = Fts5Index1 /* sqlite3.c:217051:26 */ +type Fts5Index = Fts5Index1 /* sqlite3.c:217108:26 */ type Fts5IndexIter1 = struct { FiRowid I64 FpData uintptr FnData int32 FbEof U8 F__ccgo_pad1 [3]byte -} /* sqlite3.c:216813:9 */ +} /* sqlite3.c:216870:9 */ -type Fts5IndexIter = Fts5IndexIter1 /* sqlite3.c:217052:30 */ +type Fts5IndexIter = Fts5IndexIter1 /* sqlite3.c:217109:30 */ // // End of interface to code in fts5_varint.c. @@ -175369,7 +175400,7 @@ type Fts5Table1 = struct { Fbase Sqlite3_vtab FpConfig uintptr FpIndex uintptr -} /* sqlite3.c:217254:9 */ +} /* sqlite3.c:217311:9 */ // // End of interface to code in fts5_varint.c. @@ -175380,7 +175411,7 @@ type Fts5Table1 = struct { // Interface to code in fts5_main.c. // Virtual-table object. -type Fts5Table = Fts5Table1 /* sqlite3.c:217254:26 */ +type Fts5Table = Fts5Table1 /* sqlite3.c:217311:26 */ // // End of interface to code in fts5.c. @@ -175397,7 +175428,7 @@ type Fts5Hash1 = struct { FnSlot int32 FpScan uintptr FaSlot uintptr -} /* sqlite3.c:216813:9 */ +} /* sqlite3.c:216870:9 */ // // End of interface to code in fts5.c. @@ -175406,7 +175437,7 @@ type Fts5Hash1 = struct { // ************************************************************************* // // Interface to code in fts5_hash.c. -type Fts5Hash = Fts5Hash1 /* sqlite3.c:217280:25 */ +type Fts5Hash = Fts5Hash1 /* sqlite3.c:217337:25 */ // // End of interface to code in fts5_hash.c. @@ -175425,7 +175456,7 @@ type Fts5Storage1 = struct { FnTotalRow I64 FaTotalSize uintptr FaStmt [11]uintptr -} /* sqlite3.c:217336:9 */ +} /* sqlite3.c:217393:9 */ // // End of interface to code in fts5_hash.c. @@ -175436,7 +175467,7 @@ type Fts5Storage1 = struct { // Interface to code in fts5_storage.c. fts5_storage.c contains contains // code to access the data stored in the %_content and %_docsize tables. -type Fts5Storage = Fts5Storage1 /* sqlite3.c:217336:28 */ +type Fts5Storage = Fts5Storage1 /* sqlite3.c:217393:28 */ // // End of interface to code in fts5_storage.c. @@ -175452,7 +175483,7 @@ type Fts5Expr1 = struct { FbDesc int32 FnPhrase int32 FapExprPhrase uintptr -} /* sqlite3.c:216813:9 */ +} /* sqlite3.c:216870:9 */ // // End of interface to code in fts5_storage.c. @@ -175461,7 +175492,7 @@ type Fts5Expr1 = struct { // ************************************************************************* // // Interface to code in fts5_expr.c. -type Fts5Expr = Fts5Expr1 /* sqlite3.c:217379:25 */ +type Fts5Expr = Fts5Expr1 /* sqlite3.c:217436:25 */ type Fts5ExprNode1 = struct { FeType int32 FbEof int32 @@ -175473,9 +175504,9 @@ type Fts5ExprNode1 = struct { FnChild int32 F__ccgo_pad2 [4]byte FapChild [1]uintptr -} /* sqlite3.c:216813:9 */ +} /* sqlite3.c:216870:9 */ -type Fts5ExprNode = Fts5ExprNode1 /* sqlite3.c:217380:29 */ +type Fts5ExprNode = Fts5ExprNode1 /* sqlite3.c:217437:29 */ type Fts5Parse1 = struct { FpConfig uintptr FzErr uintptr @@ -175485,25 +175516,25 @@ type Fts5Parse1 = struct { FpExpr uintptr FbPhraseToAnd int32 F__ccgo_pad1 [4]byte -} /* sqlite3.c:217381:9 */ +} /* sqlite3.c:217438:9 */ -type Fts5Parse = Fts5Parse1 /* sqlite3.c:217381:26 */ +type Fts5Parse = Fts5Parse1 /* sqlite3.c:217438:26 */ type Fts5Token1 = struct { Fp uintptr Fn int32 F__ccgo_pad1 [4]byte -} /* sqlite3.c:217382:9 */ +} /* sqlite3.c:217439:9 */ -type Fts5Token = Fts5Token1 /* sqlite3.c:217382:26 */ +type Fts5Token = Fts5Token1 /* sqlite3.c:217439:26 */ type Fts5ExprPhrase1 = struct { FpNode uintptr Fposlist Fts5Buffer FnTerm int32 F__ccgo_pad1 [4]byte FaTerm [1]Fts5ExprTerm -} /* sqlite3.c:216813:9 */ +} /* sqlite3.c:216870:9 */ -type Fts5ExprPhrase = Fts5ExprPhrase1 /* sqlite3.c:217383:31 */ +type Fts5ExprPhrase = Fts5ExprPhrase1 /* sqlite3.c:217440:31 */ type Fts5ExprNearset1 = struct { FnNear int32 F__ccgo_pad1 [4]byte @@ -175511,17 +175542,17 @@ type Fts5ExprNearset1 = struct { FnPhrase int32 F__ccgo_pad2 [4]byte FapPhrase [1]uintptr -} /* sqlite3.c:216813:9 */ +} /* sqlite3.c:216870:9 */ -type Fts5ExprNearset = Fts5ExprNearset1 /* sqlite3.c:217384:32 */ +type Fts5ExprNearset = Fts5ExprNearset1 /* sqlite3.c:217441:32 */ type Fts5PoslistPopulator1 = struct { Fwriter Fts5PoslistWriter FbOk int32 FbMiss int32 -} /* sqlite3.c:217432:9 */ +} /* sqlite3.c:217489:9 */ -type Fts5PoslistPopulator = Fts5PoslistPopulator1 /* sqlite3.c:217432:37 */ +type Fts5PoslistPopulator = Fts5PoslistPopulator1 /* sqlite3.c:217489:37 */ // // End of interface to code in fts5_unicode2.c. // @@ -175626,7 +175657,7 @@ type Fts5YYMINORTYPE = struct { F__ccgo_pad1 [0]uint64 Ffts5yyinit int32 F__ccgo_pad2 [12]byte -} /* sqlite3.c:217708:3 */ +} /* sqlite3.c:217765:3 */ //************ End control #defines ****************************************** // Define the fts5yytestcase() macro to be a no-op if is not already defined @@ -175699,7 +175730,7 @@ var fts5yy_action = [105]uint8{ /* 80 */ uint8(5), uint8(3), uint8(63), uint8(5), uint8(3), uint8(62), uint8(12), uint8(2), uint8(86), uint8(13), /* 90 */ uint8(9), uint8(30), uint8(10), uint8(10), uint8(54), uint8(57), uint8(75), uint8(78), uint8(78), uint8(53), /* 100 */ uint8(57), uint8(15), uint8(82), uint8(82), uint8(71), -} /* sqlite3.c:217801:31 */ +} /* sqlite3.c:217858:31 */ var fts5yy_lookahead = [121]uint8{ /* 0 */ uint8(16), uint8(17), uint8(18), uint8(19), uint8(20), uint8(22), uint8(22), uint8(24), uint8(24), uint8(17), /* 10 */ uint8(18), uint8(19), uint8(20), uint8(7), uint8(22), uint8(9), uint8(24), uint8(17), uint8(18), uint8(19), @@ -175714,23 +175745,23 @@ var fts5yy_lookahead = [121]uint8{ /* 100 */ uint8(9), uint8(9), uint8(27), uint8(27), uint8(11), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), /* 110 */ uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), /* 120 */ uint8(27), -} /* sqlite3.c:217814:29 */ +} /* sqlite3.c:217871:29 */ var fts5yy_shift_ofst = [35]uint8{ /* 0 */ uint8(44), uint8(44), uint8(44), uint8(44), uint8(44), uint8(44), uint8(51), uint8(77), uint8(43), uint8(12), /* 10 */ uint8(14), uint8(83), uint8(82), uint8(14), uint8(23), uint8(23), uint8(31), uint8(31), uint8(71), uint8(74), /* 20 */ uint8(78), uint8(81), uint8(86), uint8(91), uint8(6), uint8(53), uint8(53), uint8(60), uint8(64), uint8(68), /* 30 */ uint8(53), uint8(87), uint8(92), uint8(53), uint8(93), -} /* sqlite3.c:217832:28 */ +} /* sqlite3.c:217889:28 */ var fts5yy_reduce_ofst = [18]int8{ /* 0 */ int8(-16), int8(-8), int8(0), int8(9), int8(17), int8(25), int8(46), int8(-17), int8(-17), int8(37), /* 10 */ int8(67), int8(4), int8(4), int8(8), int8(4), int8(20), int8(27), int8(38), -} /* sqlite3.c:217841:26 */ +} /* sqlite3.c:217898:26 */ var fts5yy_default = [35]uint8{ /* 0 */ uint8(80), uint8(80), uint8(80), uint8(80), uint8(80), uint8(80), uint8(95), uint8(80), uint8(80), uint8(105), /* 10 */ uint8(80), uint8(110), uint8(110), uint8(80), uint8(110), uint8(110), uint8(80), uint8(80), uint8(80), uint8(80), /* 20 */ uint8(80), uint8(91), uint8(80), uint8(80), uint8(80), uint8(101), uint8(100), uint8(80), uint8(80), uint8(90), /* 30 */ uint8(103), uint8(80), uint8(80), uint8(104), uint8(80), -} /* sqlite3.c:217845:31 */ +} /* sqlite3.c:217902:31 */ //********* End of lemon-generated parsing tables **************************** // The next table maps tokens (terminal symbols) into fallback tokens. @@ -175767,9 +175798,9 @@ type fts5yyStackEntry = struct { Fmajor uint8 F__ccgo_pad1 [6]byte Fminor Fts5YYMINORTYPE -} /* sqlite3.c:217888:1 */ +} /* sqlite3.c:217945:1 */ -type Fts5yyStackEntry = fts5yyStackEntry /* sqlite3.c:217895:33 */ +type Fts5yyStackEntry = fts5yyStackEntry /* sqlite3.c:217952:33 */ // The state of the parser is completely contained in an instance of // the following structure @@ -175778,9 +175809,9 @@ type fts5yyParser = struct { FpParse uintptr Ffts5yystack [100]Fts5yyStackEntry Ffts5yystackEnd uintptr -} /* sqlite3.c:217899:1 */ +} /* sqlite3.c:217956:1 */ -type Fts5yyParser = fts5yyParser /* sqlite3.c:217918:29 */ +type Fts5yyParser = fts5yyParser /* sqlite3.c:217975:29 */ // #include @@ -175790,7 +175821,7 @@ type Fts5yyParser = fts5yyParser /* sqlite3.c:217918:29 */ // grammar. // Initialize a new parser that has already been allocated. -func sqlite3Fts5ParserInit(tls *libc.TLS, fts5yypRawParser uintptr) { /* sqlite3.c:218067:13: */ +func sqlite3Fts5ParserInit(tls *libc.TLS, fts5yypRawParser uintptr) { /* sqlite3.c:218124:13: */ var fts5yypParser uintptr = fts5yypRawParser (*Fts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yytos = fts5yypParser + 16 /* &.fts5yystack */ @@ -175809,7 +175840,7 @@ func sqlite3Fts5ParserInit(tls *libc.TLS, fts5yypRawParser uintptr) { /* sqlite3 // Outputs: // A pointer to a parser. This pointer is used in subsequent calls // to sqlite3Fts5Parser and sqlite3Fts5ParserFree. -func sqlite3Fts5ParserAlloc(tls *libc.TLS, mallocProc uintptr) uintptr { /* sqlite3.c:218106:13: */ +func sqlite3Fts5ParserAlloc(tls *libc.TLS, mallocProc uintptr) uintptr { /* sqlite3.c:218163:13: */ var fts5yypParser uintptr fts5yypParser = (*struct{ f func(*libc.TLS, U64) uintptr })(unsafe.Pointer(&struct{ uintptr }{mallocProc})).f(tls, U64(unsafe.Sizeof(Fts5yyParser{}))) if fts5yypParser != 0 { @@ -175825,7 +175856,7 @@ func sqlite3Fts5ParserAlloc(tls *libc.TLS, mallocProc uintptr) uintptr { /* sqli // a pointer to the value to be deleted. The code used to do the // deletions is derived from the %destructor and/or %token_destructor // directives of the input grammar. -func fts5yy_destructor(tls *libc.TLS, fts5yypParser uintptr, fts5yymajor uint8, fts5yypminor uintptr) { /* sqlite3.c:218125:13: */ +func fts5yy_destructor(tls *libc.TLS, fts5yypParser uintptr, fts5yymajor uint8, fts5yypminor uintptr) { /* sqlite3.c:218182:13: */ var pParse uintptr = (*Fts5yyParser)(unsafe.Pointer(fts5yypParser)).FpParse _ = pParse @@ -175883,7 +175914,7 @@ func fts5yy_destructor(tls *libc.TLS, fts5yypParser uintptr, fts5yymajor uint8, // // If there is a destructor routine associated with the token which // is popped from the stack, then call it. -func fts5yy_pop_parser_stack(tls *libc.TLS, pParser uintptr) { /* sqlite3.c:218184:13: */ +func fts5yy_pop_parser_stack(tls *libc.TLS, pParser uintptr) { /* sqlite3.c:218241:13: */ var fts5yytos uintptr fts5yytos = libc.PostDecUintptr(&(*Fts5yyParser)(unsafe.Pointer(pParser)).Ffts5yytos, 24) @@ -175891,7 +175922,7 @@ func fts5yy_pop_parser_stack(tls *libc.TLS, pParser uintptr) { /* sqlite3.c:2181 } // Clear all secondary memory allocations from the parser -func sqlite3Fts5ParserFinalize(tls *libc.TLS, p uintptr) { /* sqlite3.c:218202:13: */ +func sqlite3Fts5ParserFinalize(tls *libc.TLS, p uintptr) { /* sqlite3.c:218259:13: */ var pParser uintptr = p for (*Fts5yyParser)(unsafe.Pointer(pParser)).Ffts5yytos > pParser+16 { fts5yy_pop_parser_stack(tls, pParser) @@ -175904,7 +175935,7 @@ func sqlite3Fts5ParserFinalize(tls *libc.TLS, p uintptr) { /* sqlite3.c:218202:1 // If the fts5YYPARSEFREENEVERNULL macro exists (for example because it // 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) { /* sqlite3.c:218219:13: */ +func sqlite3Fts5ParserFree(tls *libc.TLS, p uintptr, freeProc uintptr) { /* sqlite3.c:218276:13: */ if p == uintptr(0) { return } @@ -175928,7 +175959,7 @@ func sqlite3Fts5ParserFree(tls *libc.TLS, p uintptr, freeProc uintptr) { /* sqli // Find the appropriate action for a parser given the terminal // look-ahead token iLookAhead. -func fts5yy_find_shift_action(tls *libc.TLS, iLookAhead uint8, stateno uint8) uint8 { /* sqlite3.c:218282:25: */ +func fts5yy_find_shift_action(tls *libc.TLS, iLookAhead uint8, stateno uint8) uint8 { /* sqlite3.c:218339:25: */ var i int32 if int32(stateno) > Fts5YY_MAX_SHIFT { @@ -175952,7 +175983,7 @@ func fts5yy_find_shift_action(tls *libc.TLS, iLookAhead uint8, stateno uint8) ui // Find the appropriate action for a parser given the non-terminal // look-ahead token iLookAhead. -func fts5yy_find_reduce_action(tls *libc.TLS, stateno uint8, iLookAhead uint8) uint8 { /* sqlite3.c:218347:25: */ +func fts5yy_find_reduce_action(tls *libc.TLS, stateno uint8, iLookAhead uint8) uint8 { /* sqlite3.c:218404:25: */ var i int32 i = int32(fts5yy_reduce_ofst[stateno]) @@ -175963,7 +175994,7 @@ func fts5yy_find_reduce_action(tls *libc.TLS, stateno uint8, iLookAhead uint8) u } // The following routine is called if the stack overflows. -func fts5yyStackOverflow(tls *libc.TLS, fts5yypParser uintptr) { /* sqlite3.c:218376:13: */ +func fts5yyStackOverflow(tls *libc.TLS, fts5yypParser uintptr) { /* sqlite3.c:218433:13: */ var pParse uintptr = (*Fts5yyParser)(unsafe.Pointer(fts5yypParser)).FpParse for (*Fts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yytos > fts5yypParser+16 { @@ -175982,7 +176013,7 @@ func fts5yyStackOverflow(tls *libc.TLS, fts5yypParser uintptr) { /* sqlite3.c:21 // Print tracing information for a SHIFT action // Perform a shift action. -func fts5yy_shift(tls *libc.TLS, fts5yypParser uintptr, fts5yyNewState uint8, fts5yyMajor uint8, fts5yyMinor Fts5Token) { /* sqlite3.c:218419:13: */ +func fts5yy_shift(tls *libc.TLS, fts5yypParser uintptr, fts5yyNewState uint8, fts5yyMajor uint8, fts5yyMinor Fts5Token) { /* sqlite3.c:218476:13: */ var fts5yytos uintptr (*Fts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yytos += 24 if (*Fts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yytos > (*Fts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yystackEnd { @@ -176031,7 +176062,7 @@ var fts5yyRuleInfoLhs = [28]uint8{ uint8(24), // (25) phrase ::= STRING star_opt uint8(26), // (26) star_opt ::= STAR uint8(26), // (27) star_opt ::= -} /* sqlite3.c:218460:29 */ +} /* sqlite3.c:218517:29 */ // For rule J, fts5yyRuleInfoNRhs[J] contains the negative of the number // of symbols on the right-hand side of that rule. @@ -176064,7 +176095,7 @@ var fts5yyRuleInfoNRhs = [28]int8{ int8(-2), // (25) phrase ::= STRING star_opt int8(-1), // (26) star_opt ::= STAR int8(0), // (27) star_opt ::= -} /* sqlite3.c:218493:26 */ +} /* sqlite3.c:218550:26 */ // Forward Declaration @@ -176076,7 +176107,7 @@ var fts5yyRuleInfoNRhs = [28]int8{ // if the lookahead token has already been consumed. As this procedure is // only called from one place, optimizing compilers will in-line it, which // means that the extra parameters have no performance impact. -func fts5yy_reduce(tls *libc.TLS, fts5yypParser uintptr, fts5yyruleno uint32, fts5yyLookahead int32, fts5yyLookaheadToken Fts5Token) uint8 { /* sqlite3.c:218536:25: */ +func fts5yy_reduce(tls *libc.TLS, fts5yypParser uintptr, fts5yyruleno uint32, fts5yyLookahead int32, fts5yyLookaheadToken Fts5Token) uint8 { /* sqlite3.c:218593:25: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -176286,7 +176317,7 @@ func fts5yy_reduce(tls *libc.TLS, fts5yypParser uintptr, fts5yyruleno uint32, ft // The following code executes when the parse fails // The following code executes when a syntax error first occurs. -func fts5yy_syntax_error(tls *libc.TLS, fts5yypParser uintptr, fts5yymajor int32, fts5yyminor Fts5Token) { /* sqlite3.c:218754:13: */ +func fts5yy_syntax_error(tls *libc.TLS, fts5yypParser uintptr, fts5yymajor int32, fts5yyminor Fts5Token) { /* sqlite3.c:218811:13: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -176303,7 +176334,7 @@ func fts5yy_syntax_error(tls *libc.TLS, fts5yypParser uintptr, fts5yymajor int32 } // The following is executed when the parser accepts -func fts5yy_accept(tls *libc.TLS, fts5yypParser uintptr) { /* sqlite3.c:218776:13: */ +func fts5yy_accept(tls *libc.TLS, fts5yypParser uintptr) { /* sqlite3.c:218833:13: */ var pParse uintptr = (*Fts5yyParser)(unsafe.Pointer(fts5yypParser)).FpParse // Here code is inserted which will be executed whenever the @@ -176332,7 +176363,7 @@ func fts5yy_accept(tls *libc.TLS, fts5yypParser uintptr) { /* sqlite3.c:218776:1 // // Outputs: // None. -func sqlite3Fts5Parser(tls *libc.TLS, fts5yyp uintptr, fts5yymajor int32, fts5yyminor Fts5Token, pParse uintptr) { /* sqlite3.c:218817:13: */ +func sqlite3Fts5Parser(tls *libc.TLS, fts5yyp uintptr, fts5yymajor int32, fts5yyminor Fts5Token, pParse uintptr) { /* sqlite3.c:218874:13: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -176387,7 +176418,7 @@ func sqlite3Fts5Parser(tls *libc.TLS, fts5yyp uintptr, fts5yymajor int32, fts5yy // Return the fallback token corresponding to canonical token iToken, or // 0 if iToken has no fallback. -func sqlite3Fts5ParserFallback(tls *libc.TLS, iToken int32) int32 { /* sqlite3.c:219034:12: */ +func sqlite3Fts5ParserFallback(tls *libc.TLS, iToken int32) int32 { /* sqlite3.c:219091:12: */ _ = iToken return 0 } @@ -176450,7 +176481,7 @@ type CInstIter1 = struct { FiStart int32 FiEnd int32 F__ccgo_pad1 [4]byte -} /* sqlite3.c:219080:9 */ +} /* sqlite3.c:219137:9 */ // 2014 May 31 // @@ -176501,11 +176532,11 @@ type CInstIter1 = struct { // printf("instance starts at %d, ends at %d\n", iter.iStart, iter.iEnd); // } // -type CInstIter = CInstIter1 /* sqlite3.c:219080:26 */ +type CInstIter = CInstIter1 /* sqlite3.c:219137:26 */ // Advance the iterator to the next coalesced phrase instance. Return // an SQLite error code if an error occurs, or SQLITE_OK otherwise. -func fts5CInstIterNext(tls *libc.TLS, pIter uintptr) int32 { /* sqlite3.c:219097:12: */ +func fts5CInstIterNext(tls *libc.TLS, pIter uintptr) int32 { /* sqlite3.c:219154:12: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -176548,7 +176579,7 @@ func fts5CInstIterNext(tls *libc.TLS, pIter uintptr) int32 { /* sqlite3.c:219097 // Initialize the iterator object indicated by the final parameter to // iterate through coalesced phrase instances in column iCol. -func fts5CInstIterInit(tls *libc.TLS, pApi uintptr, pFts uintptr, iCol int32, pIter uintptr) int32 { /* sqlite3.c:219128:12: */ +func fts5CInstIterInit(tls *libc.TLS, pApi uintptr, pFts uintptr, iCol int32, pIter uintptr) int32 { /* sqlite3.c:219185:12: */ var rc int32 libc.Xmemset(tls, pIter, 0, uint64(unsafe.Sizeof(CInstIter{}))) @@ -176581,12 +176612,12 @@ type HighlightContext1 = struct { FnIn int32 FiOff int32 FzOut uintptr -} /* sqlite3.c:219154:9 */ +} /* sqlite3.c:219211:9 */ // ************************************************************************ // // Start of highlight() implementation. -type HighlightContext = HighlightContext1 /* sqlite3.c:219154:33 */ +type HighlightContext = HighlightContext1 /* sqlite3.c:219211:33 */ // Append text to the HighlightContext output string - p->zOut. Argument // z points to a buffer containing n bytes of text to append. If n is @@ -176595,7 +176626,7 @@ type HighlightContext = HighlightContext1 /* sqlite3.c:219154:33 */ // If *pRc is set to any value other than SQLITE_OK when this function is // called, it is a no-op. If an error (i.e. an OOM condition) is encountered, // *pRc is set to an error code before returning. -func fts5HighlightAppend(tls *libc.TLS, pRc uintptr, p uintptr, z uintptr, n int32) { /* sqlite3.c:219177:13: */ +func fts5HighlightAppend(tls *libc.TLS, pRc uintptr, p uintptr, z uintptr, n int32) { /* sqlite3.c:219234:13: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -176611,7 +176642,7 @@ func fts5HighlightAppend(tls *libc.TLS, pRc uintptr, p uintptr, z uintptr, n int } // Tokenizer callback used by implementation of highlight() function. -func fts5HighlightCb(tls *libc.TLS, pContext uintptr, tflags int32, pToken uintptr, nToken int32, iStartOff int32, iEndOff int32) int32 { /* sqlite3.c:219192:12: */ +func fts5HighlightCb(tls *libc.TLS, pContext uintptr, tflags int32, pToken uintptr, nToken int32, iStartOff int32, iEndOff int32) int32 { /* sqlite3.c:219249:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -176666,7 +176697,7 @@ func fts5HighlightCb(tls *libc.TLS, pContext uintptr, tflags int32, pToken uintp } // Implementation of highlight() function. -func fts5HighlightFunction(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uintptr, nVal int32, apVal uintptr) { /* sqlite3.c:219246:13: */ +func fts5HighlightFunction(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uintptr, nVal int32, apVal uintptr) { /* sqlite3.c:219303:13: */ bp := tls.Alloc(100) defer tls.Free(100) @@ -176726,19 +176757,19 @@ type Fts5SFinder1 = struct { F__ccgo_pad1 [4]byte FaFirst uintptr FzDoc uintptr -} /* sqlite3.c:219295:9 */ +} /* sqlite3.c:219352:9 */ // // End of highlight() implementation. // // Context object passed to the fts5SentenceFinderCb() function. -type Fts5SFinder = Fts5SFinder1 /* sqlite3.c:219295:28 */ +type Fts5SFinder = Fts5SFinder1 /* sqlite3.c:219352:28 */ // Add an entry to the Fts5SFinder.aFirst[] array. Grow the array if // necessary. Return SQLITE_OK if successful, or SQLITE_NOMEM if an // error occurs. -func fts5SentenceFinderAdd(tls *libc.TLS, p uintptr, iAdd int32) int32 { /* sqlite3.c:219309:12: */ +func fts5SentenceFinderAdd(tls *libc.TLS, p uintptr, iAdd int32) int32 { /* sqlite3.c:219366:12: */ if (*Fts5SFinder)(unsafe.Pointer(p)).FnFirstAlloc == (*Fts5SFinder)(unsafe.Pointer(p)).FnFirst { var nNew int32 if (*Fts5SFinder)(unsafe.Pointer(p)).FnFirstAlloc != 0 { @@ -176762,7 +176793,7 @@ func fts5SentenceFinderAdd(tls *libc.TLS, p uintptr, iAdd int32) int32 { /* sqli // This function is an xTokenize() callback used by the auxiliary snippet() // function. Its job is to identify tokens that are the first in a sentence. // For each such token, an entry is added to the SFinder.aFirst[] array. -func fts5SentenceFinderCb(tls *libc.TLS, pContext uintptr, tflags int32, pToken uintptr, nToken int32, iStartOff int32, iEndOff int32) int32 { /* sqlite3.c:219328:12: */ +func fts5SentenceFinderCb(tls *libc.TLS, pContext uintptr, tflags int32, pToken uintptr, nToken int32, iStartOff int32, iEndOff int32) int32 { /* sqlite3.c:219385:12: */ var rc int32 = SQLITE_OK _ = pToken @@ -176791,7 +176822,7 @@ func fts5SentenceFinderCb(tls *libc.TLS, pContext uintptr, tflags int32, pToken return rc } -func fts5SnippetScore(tls *libc.TLS, pApi uintptr, pFts uintptr, nDocsize int32, aSeen uintptr, iCol int32, iPos int32, nToken int32, pnScore uintptr, piPos uintptr) int32 { /* sqlite3.c:219361:12: */ +func fts5SnippetScore(tls *libc.TLS, pApi uintptr, pFts uintptr, nDocsize int32, aSeen uintptr, iCol int32, iPos int32, nToken int32, pnScore uintptr, piPos uintptr) int32 { /* sqlite3.c:219418:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -176849,7 +176880,7 @@ func fts5SnippetScore(tls *libc.TLS, pApi uintptr, pFts uintptr, nDocsize int32, // Return the value in pVal interpreted as utf-8 text. Except, if pVal // contains a NULL value, return a pointer to a static string zero // bytes in length instead of a NULL pointer. -func fts5ValueToText(tls *libc.TLS, pVal uintptr) uintptr { /* sqlite3.c:219410:19: */ +func fts5ValueToText(tls *libc.TLS, pVal uintptr) uintptr { /* sqlite3.c:219467:19: */ var zRet uintptr = Xsqlite3_value_text(tls, pVal) if zRet != 0 { return zRet @@ -176858,7 +176889,7 @@ func fts5ValueToText(tls *libc.TLS, pVal uintptr) uintptr { /* sqlite3.c:219410: } // Implementation of snippet() function. -func fts5SnippetFunction(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uintptr, nVal int32, apVal uintptr) { /* sqlite3.c:219418:13: */ +func fts5SnippetFunction(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uintptr, nVal int32, apVal uintptr) { /* sqlite3.c:219475:13: */ bp := tls.Alloc(172) defer tls.Free(172) @@ -177073,17 +177104,17 @@ type Fts5Bm25Data1 = struct { Favgdl float64 FaIDF uintptr FaFreq uintptr -} /* sqlite3.c:219576:9 */ +} /* sqlite3.c:219633:9 */ //********************************************************************** // The first time the bm25() function is called for a query, an instance // of the following structure is allocated and populated. -type Fts5Bm25Data = Fts5Bm25Data1 /* sqlite3.c:219576:29 */ +type Fts5Bm25Data = Fts5Bm25Data1 /* sqlite3.c:219633:29 */ // Callback used by fts5Bm25GetData() to count the number of rows in the // table matched by each individual phrase within the query. -func fts5CountCb(tls *libc.TLS, pApi uintptr, pFts uintptr, pUserData uintptr) int32 { /* sqlite3.c:219588:12: */ +func fts5CountCb(tls *libc.TLS, pApi uintptr, pFts uintptr, pUserData uintptr) int32 { /* sqlite3.c:219645:12: */ var pn uintptr = pUserData _ = pApi _ = pFts @@ -177094,7 +177125,7 @@ func fts5CountCb(tls *libc.TLS, pApi uintptr, pFts uintptr, pUserData uintptr) i // Set *ppData to point to the Fts5Bm25Data object for the current query. // If the object has not already been allocated, allocate and populate it // now. -func fts5Bm25GetData(tls *libc.TLS, pApi uintptr, pFts uintptr, ppData uintptr) int32 { /* sqlite3.c:219604:12: */ +func fts5Bm25GetData(tls *libc.TLS, pApi uintptr, pFts uintptr, ppData uintptr) int32 { /* sqlite3.c:219661:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -177188,7 +177219,7 @@ func fts5Bm25GetData(tls *libc.TLS, pApi uintptr, pFts uintptr, ppData uintptr) } // Implementation of bm25() function. -func fts5Bm25Function(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uintptr, nVal int32, apVal uintptr) { /* sqlite3.c:219677:13: */ +func fts5Bm25Function(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uintptr, nVal int32, apVal uintptr) { /* sqlite3.c:219734:13: */ bp := tls.Alloc(28) defer tls.Free(28) @@ -177256,7 +177287,7 @@ func fts5Bm25Function(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uintptr, n } } -func sqlite3Fts5AuxInit(tls *libc.TLS, pApi uintptr) int32 { /* sqlite3.c:219733:12: */ +func sqlite3Fts5AuxInit(tls *libc.TLS, pApi uintptr) int32 { /* sqlite3.c:219790:12: */ bp := tls.Alloc(96) defer tls.Free(96) @@ -177292,7 +177323,7 @@ type Builtin = struct { FpUserData uintptr FxFunc Fts5_extension_function FxDestroy uintptr -} /* sqlite3.c:219734:3 */ +} /* sqlite3.c:219791:3 */ // 2014 May 31 // @@ -177307,7 +177338,7 @@ type Builtin = struct { // #include "fts5Int.h" -func sqlite3Fts5BufferSize(tls *libc.TLS, pRc uintptr, pBuf uintptr, nByte U32) int32 { /* sqlite3.c:219776:12: */ +func sqlite3Fts5BufferSize(tls *libc.TLS, pRc uintptr, pBuf uintptr, nByte U32) int32 { /* sqlite3.c:219833:12: */ if U32((*Fts5Buffer)(unsafe.Pointer(pBuf)).FnSpace) < nByte { var nNew U64 if (*Fts5Buffer)(unsafe.Pointer(pBuf)).FnSpace != 0 { @@ -177333,7 +177364,7 @@ func sqlite3Fts5BufferSize(tls *libc.TLS, pRc uintptr, pBuf uintptr, nByte U32) // Encode value iVal as an SQLite varint and append it to the buffer object // pBuf. If an OOM error occurs, set the error code in p. -func sqlite3Fts5BufferAppendVarint(tls *libc.TLS, pRc uintptr, pBuf uintptr, iVal I64) { /* sqlite3.c:219800:13: */ +func sqlite3Fts5BufferAppendVarint(tls *libc.TLS, pRc uintptr, pBuf uintptr, iVal I64) { /* sqlite3.c:219857:13: */ if func() int32 { if U32((*Fts5Buffer)(unsafe.Pointer(pBuf)).Fn)+U32(9) <= U32((*Fts5Buffer)(unsafe.Pointer(pBuf)).FnSpace) { return 0 @@ -177345,21 +177376,21 @@ func sqlite3Fts5BufferAppendVarint(tls *libc.TLS, pRc uintptr, pBuf uintptr, iVa *(*int32)(unsafe.Pointer(pBuf + 8)) += sqlite3Fts5PutVarint(tls, (*Fts5Buffer)(unsafe.Pointer(pBuf)).Fp+uintptr((*Fts5Buffer)(unsafe.Pointer(pBuf)).Fn), uint64(iVal)) } -func sqlite3Fts5Put32(tls *libc.TLS, aBuf uintptr, iVal int32) { /* sqlite3.c:219805:13: */ +func sqlite3Fts5Put32(tls *libc.TLS, aBuf uintptr, iVal int32) { /* sqlite3.c:219862:13: */ *(*U8)(unsafe.Pointer(aBuf)) = U8(iVal >> 24 & 0x00FF) *(*U8)(unsafe.Pointer(aBuf + 1)) = U8(iVal >> 16 & 0x00FF) *(*U8)(unsafe.Pointer(aBuf + 2)) = U8(iVal >> 8 & 0x00FF) *(*U8)(unsafe.Pointer(aBuf + 3)) = U8(iVal >> 0 & 0x00FF) } -func sqlite3Fts5Get32(tls *libc.TLS, aBuf uintptr) int32 { /* sqlite3.c:219812:12: */ +func sqlite3Fts5Get32(tls *libc.TLS, aBuf uintptr) int32 { /* sqlite3.c:219869:12: */ return int32(U32(*(*U8)(unsafe.Pointer(aBuf)))<<24 + U32(int32(*(*U8)(unsafe.Pointer(aBuf + 1)))<<16) + U32(int32(*(*U8)(unsafe.Pointer(aBuf + 2)))<<8) + U32(*(*U8)(unsafe.Pointer(aBuf + 3)))) } // Append buffer nData/pData to buffer pBuf. If an OOM error occurs, set // the error code in p. If an error has already occurred when this function // is called, it is a no-op. -func sqlite3Fts5BufferAppendBlob(tls *libc.TLS, pRc uintptr, pBuf uintptr, nData U32, pData uintptr) { /* sqlite3.c:219821:13: */ +func sqlite3Fts5BufferAppendBlob(tls *libc.TLS, pRc uintptr, pBuf uintptr, nData U32, pData uintptr) { /* sqlite3.c:219878:13: */ if nData != 0 { if func() int32 { if U32((*Fts5Buffer)(unsafe.Pointer(pBuf)).Fn)+nData <= U32((*Fts5Buffer)(unsafe.Pointer(pBuf)).FnSpace) { @@ -177377,7 +177408,7 @@ func sqlite3Fts5BufferAppendBlob(tls *libc.TLS, pRc uintptr, pBuf uintptr, nData // Append the nul-terminated string zStr to the buffer pBuf. This function // ensures that the byte following the buffer data is set to 0x00, even // though this byte is not included in the pBuf->n count. -func sqlite3Fts5BufferAppendString(tls *libc.TLS, pRc uintptr, pBuf uintptr, zStr uintptr) { /* sqlite3.c:219839:13: */ +func sqlite3Fts5BufferAppendString(tls *libc.TLS, pRc uintptr, pBuf uintptr, zStr uintptr) { /* sqlite3.c:219896:13: */ var nStr int32 = int32(libc.Xstrlen(tls, zStr)) sqlite3Fts5BufferAppendBlob(tls, pRc, pBuf, uint32(nStr+1), zStr) (*Fts5Buffer)(unsafe.Pointer(pBuf)).Fn-- @@ -177389,7 +177420,7 @@ func sqlite3Fts5BufferAppendString(tls *libc.TLS, pRc uintptr, pBuf uintptr, zSt // Like sqlite3Fts5BufferAppendString(), this function ensures that the byte // following the buffer data is set to 0x00, even though this byte is not // included in the pBuf->n count. -func sqlite3Fts5BufferAppendPrintf(tls *libc.TLS, pRc uintptr, pBuf uintptr, zFmt uintptr, va uintptr) { /* sqlite3.c:219857:13: */ +func sqlite3Fts5BufferAppendPrintf(tls *libc.TLS, pRc uintptr, pBuf uintptr, zFmt uintptr, va uintptr) { /* sqlite3.c:219914:13: */ if *(*int32)(unsafe.Pointer(pRc)) == SQLITE_OK { var zTmp uintptr var ap Va_list @@ -177407,7 +177438,7 @@ func sqlite3Fts5BufferAppendPrintf(tls *libc.TLS, pRc uintptr, pBuf uintptr, zFm } } -func sqlite3Fts5Mprintf(tls *libc.TLS, pRc uintptr, zFmt uintptr, va uintptr) uintptr { /* sqlite3.c:219878:13: */ +func sqlite3Fts5Mprintf(tls *libc.TLS, pRc uintptr, zFmt uintptr, va uintptr) uintptr { /* sqlite3.c:219935:13: */ var zRet uintptr = uintptr(0) if *(*int32)(unsafe.Pointer(pRc)) == SQLITE_OK { var ap Va_list @@ -177423,26 +177454,26 @@ func sqlite3Fts5Mprintf(tls *libc.TLS, pRc uintptr, zFmt uintptr, va uintptr) ui } // Free any buffer allocated by pBuf. Zero the structure before returning. -func sqlite3Fts5BufferFree(tls *libc.TLS, pBuf uintptr) { /* sqlite3.c:219896:13: */ +func sqlite3Fts5BufferFree(tls *libc.TLS, pBuf uintptr) { /* sqlite3.c:219953:13: */ Xsqlite3_free(tls, (*Fts5Buffer)(unsafe.Pointer(pBuf)).Fp) libc.Xmemset(tls, pBuf, 0, uint64(unsafe.Sizeof(Fts5Buffer{}))) } // Zero the contents of the buffer object. But do not free the associated // memory allocation. -func sqlite3Fts5BufferZero(tls *libc.TLS, pBuf uintptr) { /* sqlite3.c:219905:13: */ +func sqlite3Fts5BufferZero(tls *libc.TLS, pBuf uintptr) { /* sqlite3.c:219962:13: */ (*Fts5Buffer)(unsafe.Pointer(pBuf)).Fn = 0 } // Set the buffer to contain nData/pData. If an OOM error occurs, leave an // the error code in p. If an error has already occurred when this function // is called, it is a no-op. -func sqlite3Fts5BufferSet(tls *libc.TLS, pRc uintptr, pBuf uintptr, nData int32, pData uintptr) { /* sqlite3.c:219914:13: */ +func sqlite3Fts5BufferSet(tls *libc.TLS, pRc uintptr, pBuf uintptr, nData int32, pData uintptr) { /* sqlite3.c:219971:13: */ (*Fts5Buffer)(unsafe.Pointer(pBuf)).Fn = 0 sqlite3Fts5BufferAppendBlob(tls, pRc, pBuf, uint32(nData), pData) } -func sqlite3Fts5PoslistNext64(tls *libc.TLS, a uintptr, n int32, pi uintptr, piOff uintptr) int32 { /* sqlite3.c:219924:12: */ +func sqlite3Fts5PoslistNext64(tls *libc.TLS, a uintptr, n int32, pi uintptr, piOff uintptr) int32 { /* sqlite3.c:219981:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -177504,14 +177535,14 @@ func sqlite3Fts5PoslistNext64(tls *libc.TLS, a uintptr, n int32, pi uintptr, piO // Advance the iterator object passed as the only argument. Return true // if the iterator reaches EOF, or false otherwise. -func sqlite3Fts5PoslistReaderNext(tls *libc.TLS, pIter uintptr) int32 { /* sqlite3.c:219967:12: */ +func sqlite3Fts5PoslistReaderNext(tls *libc.TLS, pIter uintptr) int32 { /* sqlite3.c:220024:12: */ if sqlite3Fts5PoslistNext64(tls, (*Fts5PoslistReader)(unsafe.Pointer(pIter)).Fa, (*Fts5PoslistReader)(unsafe.Pointer(pIter)).Fn, pIter+12, pIter+24) != 0 { (*Fts5PoslistReader)(unsafe.Pointer(pIter)).FbEof = U8(1) } return int32((*Fts5PoslistReader)(unsafe.Pointer(pIter)).FbEof) } -func sqlite3Fts5PoslistReaderInit(tls *libc.TLS, a uintptr, n int32, pIter uintptr) int32 { /* sqlite3.c:219974:12: */ +func sqlite3Fts5PoslistReaderInit(tls *libc.TLS, a uintptr, n int32, pIter uintptr) int32 { /* sqlite3.c:220031:12: */ libc.Xmemset(tls, pIter, 0, uint64(unsafe.Sizeof(Fts5PoslistReader{}))) (*Fts5PoslistReader)(unsafe.Pointer(pIter)).Fa = a (*Fts5PoslistReader)(unsafe.Pointer(pIter)).Fn = n @@ -177523,7 +177554,7 @@ func sqlite3Fts5PoslistReaderInit(tls *libc.TLS, a uintptr, n int32, pIter uintp // pBuf, which must be already be large enough to hold the new data. // The previous position written to this list is *piPrev. *piPrev is set // to iPos before returning. -func sqlite3Fts5PoslistSafeAppend(tls *libc.TLS, pBuf uintptr, piPrev uintptr, iPos I64) { /* sqlite3.c:219991:13: */ +func sqlite3Fts5PoslistSafeAppend(tls *libc.TLS, pBuf uintptr, piPrev uintptr, iPos I64) { /* sqlite3.c:220048:13: */ if iPos >= *(*I64)(unsafe.Pointer(piPrev)) { if iPos&colmask != *(*I64)(unsafe.Pointer(piPrev))&colmask { *(*U8)(unsafe.Pointer((*Fts5Buffer)(unsafe.Pointer(pBuf)).Fp + uintptr(libc.PostIncInt32(&(*Fts5Buffer)(unsafe.Pointer(pBuf)).Fn, 1)))) = U8(1) @@ -177535,9 +177566,9 @@ func sqlite3Fts5PoslistSafeAppend(tls *libc.TLS, pBuf uintptr, piPrev uintptr, i } } -var colmask I64 = I64(int64(0x7FFFFFFF)) << 32 /* sqlite3.c:219997:22 */ +var colmask I64 = I64(int64(0x7FFFFFFF)) << 32 /* sqlite3.c:220054:22 */ -func sqlite3Fts5PoslistWriterAppend(tls *libc.TLS, pBuf uintptr, pWriter uintptr, iPos I64) int32 { /* sqlite3.c:220008:12: */ +func sqlite3Fts5PoslistWriterAppend(tls *libc.TLS, pBuf uintptr, pWriter uintptr, iPos I64) int32 { /* sqlite3.c:220065:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -177554,7 +177585,7 @@ func sqlite3Fts5PoslistWriterAppend(tls *libc.TLS, pBuf uintptr, pWriter uintptr return SQLITE_OK } -func sqlite3Fts5MallocZero(tls *libc.TLS, pRc uintptr, nByte Sqlite3_int64) uintptr { /* sqlite3.c:220019:13: */ +func sqlite3Fts5MallocZero(tls *libc.TLS, pRc uintptr, nByte Sqlite3_int64) uintptr { /* sqlite3.c:220076:13: */ var pRet uintptr = uintptr(0) if *(*int32)(unsafe.Pointer(pRc)) == SQLITE_OK { pRet = Xsqlite3_malloc64(tls, uint64(nByte)) @@ -177575,7 +177606,7 @@ func sqlite3Fts5MallocZero(tls *libc.TLS, pRc uintptr, nByte Sqlite3_int64) uint // // It is the responsibility of the caller to eventually free the returned // buffer using sqlite3_free(). If an OOM error occurs, NULL is returned. -func sqlite3Fts5Strndup(tls *libc.TLS, pRc uintptr, pIn uintptr, nIn int32) uintptr { /* sqlite3.c:220040:13: */ +func sqlite3Fts5Strndup(tls *libc.TLS, pRc uintptr, pIn uintptr, nIn int32) uintptr { /* sqlite3.c:220097:13: */ var zRet uintptr = uintptr(0) if *(*int32)(unsafe.Pointer(pRc)) == SQLITE_OK { if nIn < 0 { @@ -177600,7 +177631,7 @@ func sqlite3Fts5Strndup(tls *libc.TLS, pRc uintptr, pIn uintptr, nIn int32) uint // * The 10 integer ASCII characters. // * The underscore character "_" (0x5F). // * The unicode "subsitute" character (0x1A). -func sqlite3Fts5IsBareword(tls *libc.TLS, t uint8) int32 { /* sqlite3.c:220068:12: */ +func sqlite3Fts5IsBareword(tls *libc.TLS, t uint8) int32 { /* sqlite3.c:220125:12: */ bp := tls.Alloc(128) defer tls.Free(128) @@ -177625,13 +177656,13 @@ type Fts5TermsetEntry1 = struct { FnTerm int32 FiIdx int32 FpNext uintptr -} /* sqlite3.c:217037:9 */ +} /* sqlite3.c:217094:9 */ // ************************************************************************ // -type Fts5TermsetEntry = Fts5TermsetEntry1 /* sqlite3.c:220086:33 */ +type Fts5TermsetEntry = Fts5TermsetEntry1 /* sqlite3.c:220143:33 */ -func sqlite3Fts5TermsetNew(tls *libc.TLS, pp uintptr) int32 { /* sqlite3.c:220098:12: */ +func sqlite3Fts5TermsetNew(tls *libc.TLS, pp uintptr) int32 { /* sqlite3.c:220155:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -177640,7 +177671,7 @@ func sqlite3Fts5TermsetNew(tls *libc.TLS, pp uintptr) int32 { /* sqlite3.c:22009 return *(*int32)(unsafe.Pointer(bp /* rc */)) } -func sqlite3Fts5TermsetAdd(tls *libc.TLS, p uintptr, iIdx int32, pTerm uintptr, nTerm int32, pbPresent uintptr) int32 { /* sqlite3.c:220104:12: */ +func sqlite3Fts5TermsetAdd(tls *libc.TLS, p uintptr, iIdx int32, pTerm uintptr, nTerm int32, pbPresent uintptr) int32 { /* sqlite3.c:220161:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -177686,7 +177717,7 @@ func sqlite3Fts5TermsetAdd(tls *libc.TLS, p uintptr, iIdx int32, pTerm uintptr, return *(*int32)(unsafe.Pointer(bp /* rc */)) } -func sqlite3Fts5TermsetFree(tls *libc.TLS, p uintptr) { /* sqlite3.c:220153:13: */ +func sqlite3Fts5TermsetFree(tls *libc.TLS, p uintptr) { /* sqlite3.c:220210:13: */ if p != 0 { var i U32 for i = U32(0); i < U32(int32(uint64(unsafe.Sizeof([512]uintptr{}))/uint64(unsafe.Sizeof(uintptr(0))))); i++ { @@ -177718,18 +177749,18 @@ func sqlite3Fts5TermsetFree(tls *libc.TLS, p uintptr) { /* sqlite3.c:220153:13: // Maximum allowed page size -func fts5_iswhitespace(tls *libc.TLS, x uint8) int32 { /* sqlite3.c:220195:12: */ +func fts5_iswhitespace(tls *libc.TLS, x uint8) int32 { /* sqlite3.c:220252:12: */ return libc.Bool32(int32(x) == ' ') } -func fts5_isopenquote(tls *libc.TLS, x uint8) int32 { /* sqlite3.c:220199:12: */ +func fts5_isopenquote(tls *libc.TLS, x uint8) int32 { /* sqlite3.c:220256:12: */ return libc.Bool32(int32(x) == '"' || int32(x) == '\'' || int32(x) == '[' || int32(x) == '`') } // Argument pIn points to a character that is part of a nul-terminated // string. Return a pointer to the first character following *pIn in // the string that is not a white-space character. -func fts5ConfigSkipWhitespace(tls *libc.TLS, pIn uintptr) uintptr { /* sqlite3.c:220208:19: */ +func fts5ConfigSkipWhitespace(tls *libc.TLS, pIn uintptr) uintptr { /* sqlite3.c:220265:19: */ var p uintptr = pIn if p != 0 { for fts5_iswhitespace(tls, *(*uint8)(unsafe.Pointer(p))) != 0 { @@ -177742,7 +177773,7 @@ func fts5ConfigSkipWhitespace(tls *libc.TLS, pIn uintptr) uintptr { /* sqlite3.c // Argument pIn points to a character that is part of a nul-terminated // string. Return a pointer to the first character following *pIn in // the string that is not a "bareword" character. -func fts5ConfigSkipBareword(tls *libc.TLS, pIn uintptr) uintptr { /* sqlite3.c:220221:19: */ +func fts5ConfigSkipBareword(tls *libc.TLS, pIn uintptr) uintptr { /* sqlite3.c:220278:19: */ var p uintptr = pIn for sqlite3Fts5IsBareword(tls, *(*uint8)(unsafe.Pointer(p))) != 0 { p++ @@ -177753,11 +177784,11 @@ func fts5ConfigSkipBareword(tls *libc.TLS, pIn uintptr) uintptr { /* sqlite3.c:2 return p } -func fts5_isdigit(tls *libc.TLS, a uint8) int32 { /* sqlite3.c:220228:12: */ +func fts5_isdigit(tls *libc.TLS, a uint8) int32 { /* sqlite3.c:220285:12: */ return libc.Bool32(int32(a) >= '0' && int32(a) <= '9') } -func fts5ConfigSkipLiteral(tls *libc.TLS, pIn uintptr) uintptr { /* sqlite3.c:220234:19: */ +func fts5ConfigSkipLiteral(tls *libc.TLS, pIn uintptr) uintptr { /* sqlite3.c:220291:19: */ var p uintptr = pIn switch int32(*(*uint8)(unsafe.Pointer(p))) { case 'n': @@ -177846,7 +177877,7 @@ func fts5ConfigSkipLiteral(tls *libc.TLS, pIn uintptr) uintptr { /* sqlite3.c:22 // the character immediately following it. Or, if the close-quote is not // found, -1 is returned. If -1 is returned, the buffer is left in an // undefined state. -func fts5Dequote(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:220310:12: */ +func fts5Dequote(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:220367:12: */ var q uint8 var iIn int32 = 1 var iOut int32 = 0 @@ -177891,7 +177922,7 @@ func fts5Dequote(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:220310:12: */ // 'xyz' becomes xyz // [pqr] becomes pqr // `mno` becomes mno -func sqlite3Fts5Dequote(tls *libc.TLS, z uintptr) { /* sqlite3.c:220355:13: */ +func sqlite3Fts5Dequote(tls *libc.TLS, z uintptr) { /* sqlite3.c:220412:13: */ var quote uint8 // Quote character (if any ) quote = *(*uint8)(unsafe.Pointer(z)) @@ -177904,11 +177935,11 @@ type Fts5Enum1 = struct { FzName uintptr FeVal int32 F__ccgo_pad1 [4]byte -} /* sqlite3.c:220366:1 */ +} /* sqlite3.c:220423:1 */ -type Fts5Enum = Fts5Enum1 /* sqlite3.c:220370:25 */ +type Fts5Enum = Fts5Enum1 /* sqlite3.c:220427:25 */ -func fts5ConfigSetEnum(tls *libc.TLS, aEnum uintptr, zEnum uintptr, peVal uintptr) int32 { /* sqlite3.c:220372:12: */ +func fts5ConfigSetEnum(tls *libc.TLS, aEnum uintptr, zEnum uintptr, peVal uintptr) int32 { /* sqlite3.c:220429:12: */ var nEnum int32 = int32(libc.Xstrlen(tls, zEnum)) var i int32 var iVal int32 = -1 @@ -177936,7 +177967,7 @@ func fts5ConfigSetEnum(tls *libc.TLS, aEnum uintptr, zEnum uintptr, peVal uintpt // an error occurs, an SQLite error code is returned and an error message // may be left in *pzErr. It is the responsibility of the caller to // eventually free any such error message using sqlite3_free(). -func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCmd uintptr, zArg uintptr, pzErr uintptr) int32 { /* sqlite3.c:220401:12: */ +func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCmd uintptr, zArg uintptr, pzErr uintptr) int32 { /* sqlite3.c:220458:12: */ bp := tls.Alloc(112) defer tls.Free(112) @@ -178099,7 +178130,7 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm // Allocate an instance of the default tokenizer ("simple") at // Fts5Config.pTokenizer. Return SQLITE_OK if successful, or an SQLite error // code if an error occurs. -func fts5ConfigDefaultTokenizer(tls *libc.TLS, pGlobal uintptr, pConfig uintptr) int32 { /* sqlite3.c:220565:12: */ +func fts5ConfigDefaultTokenizer(tls *libc.TLS, pGlobal uintptr, pConfig uintptr) int32 { /* sqlite3.c:220622:12: */ return sqlite3Fts5GetTokenizer(tls, pGlobal, uintptr(0), 0, pConfig, uintptr(0)) } @@ -178117,7 +178148,7 @@ func fts5ConfigDefaultTokenizer(tls *libc.TLS, pGlobal uintptr, pConfig uintptr) // a no-op (NULL is returned). Otherwise, if an OOM occurs within this // function, *pRc is set to SQLITE_NOMEM before returning. *pRc is *not* // set if a parse error (failed to find close quote) occurs. -func fts5ConfigGobbleWord(tls *libc.TLS, pRc uintptr, zIn uintptr, pzOut uintptr, pbQuoted uintptr) uintptr { /* sqlite3.c:220585:19: */ +func fts5ConfigGobbleWord(tls *libc.TLS, pRc uintptr, zIn uintptr, pzOut uintptr, pbQuoted uintptr) uintptr { /* sqlite3.c:220642:19: */ var zRet uintptr = uintptr(0) var nIn Sqlite3_int64 = Sqlite3_int64(libc.Xstrlen(tls, zIn)) @@ -178151,7 +178182,7 @@ func fts5ConfigGobbleWord(tls *libc.TLS, pRc uintptr, zIn uintptr, pzOut uintptr return zRet } -func fts5ConfigParseColumn(tls *libc.TLS, p uintptr, zCol uintptr, zArg uintptr, pzErr uintptr) int32 { /* sqlite3.c:220625:12: */ +func fts5ConfigParseColumn(tls *libc.TLS, p uintptr, zCol uintptr, zArg uintptr, pzErr uintptr) int32 { /* sqlite3.c:220682:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -178174,7 +178205,7 @@ func fts5ConfigParseColumn(tls *libc.TLS, p uintptr, zCol uintptr, zArg uintptr, } // Populate the Fts5Config.zContentExprlist string. -func fts5ConfigMakeExprlist(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:220653:12: */ +func fts5ConfigMakeExprlist(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:220710:12: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -178207,7 +178238,7 @@ func fts5ConfigMakeExprlist(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:22065 // returned, *ppOut is set to NULL and an error message may be left in // *pzErr. It is the responsibility of the caller to eventually free any // such error message using sqlite3_free(). -func sqlite3Fts5ConfigParse(tls *libc.TLS, pGlobal uintptr, db uintptr, nArg int32, azArg uintptr, ppOut uintptr, pzErr uintptr) int32 { /* sqlite3.c:220686:12: */ +func sqlite3Fts5ConfigParse(tls *libc.TLS, pGlobal uintptr, db uintptr, nArg int32, azArg uintptr, ppOut uintptr, pzErr uintptr) int32 { /* sqlite3.c:220743:12: */ bp := tls.Alloc(76) defer tls.Free(76) @@ -178340,7 +178371,7 @@ func sqlite3Fts5ConfigParse(tls *libc.TLS, pGlobal uintptr, db uintptr, nArg int } // Free the configuration object passed as the only argument. -func sqlite3Fts5ConfigFree(tls *libc.TLS, pConfig uintptr) { /* sqlite3.c:220810:13: */ +func sqlite3Fts5ConfigFree(tls *libc.TLS, pConfig uintptr) { /* sqlite3.c:220867:13: */ if pConfig != 0 { var i int32 if (*Fts5Config)(unsafe.Pointer(pConfig)).FpTok != 0 { @@ -178365,7 +178396,7 @@ func sqlite3Fts5ConfigFree(tls *libc.TLS, pConfig uintptr) { /* sqlite3.c:220810 // Call sqlite3_declare_vtab() based on the contents of the configuration // object passed as the only argument. Return SQLITE_OK if successful, or // an SQLite error code if an error occurs. -func sqlite3Fts5ConfigDeclareVtab(tls *libc.TLS, pConfig uintptr) int32 { /* sqlite3.c:220837:12: */ +func sqlite3Fts5ConfigDeclareVtab(tls *libc.TLS, pConfig uintptr) int32 { /* sqlite3.c:220894:12: */ bp := tls.Alloc(52) defer tls.Free(52) @@ -178415,7 +178446,7 @@ func sqlite3Fts5ConfigDeclareVtab(tls *libc.TLS, pConfig uintptr) int32 { /* sql // still returns SQLITE_OK. Or, if the tokenization was abandoned early // 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) int32 { /* sqlite3.c:220883:12: */ +func sqlite3Fts5Tokenize(tls *libc.TLS, pConfig uintptr, flags int32, pText uintptr, nText int32, pCtx uintptr, xToken uintptr) int32 { /* sqlite3.c:220940:12: */ if pText == uintptr(0) { return SQLITE_OK } @@ -178429,7 +178460,7 @@ func sqlite3Fts5Tokenize(tls *libc.TLS, pConfig uintptr, flags int32, pText uint // a comma-separated list of SQL literals followed by a ')' character. // If it actually is this, return a pointer to the ')'. Otherwise, return // NULL to indicate a parse error. -func fts5ConfigSkipArgs(tls *libc.TLS, pIn uintptr) uintptr { /* sqlite3.c:220902:19: */ +func fts5ConfigSkipArgs(tls *libc.TLS, pIn uintptr) uintptr { /* sqlite3.c:220959:19: */ var p uintptr = pIn for 1 != 0 { @@ -178456,7 +178487,7 @@ func fts5ConfigSkipArgs(tls *libc.TLS, pIn uintptr) uintptr { /* sqlite3.c:22090 // + Open parenthesis - "(" // + Zero or more SQL literals in a comma separated list // + Close parenthesis - ")" -func sqlite3Fts5ConfigParseRank(tls *libc.TLS, zIn uintptr, pzRank uintptr, pzRankArgs uintptr) int32 { /* sqlite3.c:220929:12: */ +func sqlite3Fts5ConfigParseRank(tls *libc.TLS, zIn uintptr, pzRank uintptr, pzRankArgs uintptr) int32 { /* sqlite3.c:220986:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -178520,7 +178551,7 @@ func sqlite3Fts5ConfigParseRank(tls *libc.TLS, zIn uintptr, pzRank uintptr, pzRa return *(*int32)(unsafe.Pointer(bp /* rc */)) } -func sqlite3Fts5ConfigSetValue(tls *libc.TLS, pConfig uintptr, zKey uintptr, pVal uintptr, pbBadkey uintptr) int32 { /* sqlite3.c:220988:12: */ +func sqlite3Fts5ConfigSetValue(tls *libc.TLS, pConfig uintptr, zKey uintptr, pVal uintptr, pbBadkey uintptr) int32 { /* sqlite3.c:221045:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -178608,7 +178639,7 @@ func sqlite3Fts5ConfigSetValue(tls *libc.TLS, pConfig uintptr, zKey uintptr, pVa } // Load the contents of the %_config table into memory. -func sqlite3Fts5ConfigLoad(tls *libc.TLS, pConfig uintptr, iCookie int32) int32 { /* sqlite3.c:221082:12: */ +func sqlite3Fts5ConfigLoad(tls *libc.TLS, pConfig uintptr, iCookie int32) int32 { /* sqlite3.c:221139:12: */ bp := tls.Alloc(52) defer tls.Free(52) @@ -178685,7 +178716,7 @@ type Fts5ExprTerm1 = struct { FzTerm uintptr FpIter uintptr FpSynonym uintptr -} /* sqlite3.c:216813:9 */ +} /* sqlite3.c:216870:9 */ // 2014 May 31 // @@ -178704,9 +178735,9 @@ type Fts5ExprTerm1 = struct { // All token types in the generated fts5parse.h file are greater than 0. -type Fts5ExprTerm = Fts5ExprTerm1 /* sqlite3.c:221160:29 */ +type Fts5ExprTerm = Fts5ExprTerm1 /* sqlite3.c:221217:29 */ -func sqlite3Fts5ParseError(tls *libc.TLS, pParse uintptr, zFmt uintptr, va uintptr) { /* sqlite3.c:221267:13: */ +func sqlite3Fts5ParseError(tls *libc.TLS, pParse uintptr, zFmt uintptr, va uintptr) { /* sqlite3.c:221324:13: */ var ap Va_list _ = ap ap = va @@ -178718,12 +178749,12 @@ func sqlite3Fts5ParseError(tls *libc.TLS, pParse uintptr, zFmt uintptr, va uintp _ = ap } -func fts5ExprIsspace(tls *libc.TLS, t uint8) int32 { /* sqlite3.c:221278:12: */ +func fts5ExprIsspace(tls *libc.TLS, t uint8) int32 { /* sqlite3.c:221335:12: */ return libc.Bool32(int32(t) == ' ' || int32(t) == '\t' || int32(t) == '\n' || int32(t) == '\r') } // Read the first token from the nul-terminated string at *pz. -func fts5ExprGetToken(tls *libc.TLS, pParse uintptr, pz uintptr, pToken uintptr) int32 { /* sqlite3.c:221285:12: */ +func fts5ExprGetToken(tls *libc.TLS, pParse uintptr, pz uintptr, pToken uintptr) int32 { /* sqlite3.c:221342:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -178823,15 +178854,15 @@ func fts5ExprGetToken(tls *libc.TLS, pParse uintptr, pz uintptr, pToken uintptr) return tok } -func fts5ParseAlloc(tls *libc.TLS, t U64) uintptr { /* sqlite3.c:221349:13: */ +func fts5ParseAlloc(tls *libc.TLS, t U64) uintptr { /* sqlite3.c:221406:13: */ return Xsqlite3_malloc64(tls, uint64(Sqlite3_int64(t))) } -func fts5ParseFree(tls *libc.TLS, p uintptr) { /* sqlite3.c:221350:13: */ +func fts5ParseFree(tls *libc.TLS, p uintptr) { /* sqlite3.c:221407:13: */ Xsqlite3_free(tls, p) } -func sqlite3Fts5ExprNew(tls *libc.TLS, pConfig uintptr, bPhraseToAnd int32, iCol int32, zExpr uintptr, ppNew uintptr, pzErr uintptr) int32 { /* sqlite3.c:221352:12: */ +func sqlite3Fts5ExprNew(tls *libc.TLS, pConfig uintptr, bPhraseToAnd int32, iCol int32, zExpr uintptr, ppNew uintptr, pzErr uintptr) int32 { /* sqlite3.c:221409:12: */ bp := tls.Alloc(72) defer tls.Free(72) @@ -178909,7 +178940,7 @@ func sqlite3Fts5ExprNew(tls *libc.TLS, pConfig uintptr, bPhraseToAnd int32, iCol // expression that will match a superset of the rows matched by the LIKE or // GLOB. If successful, SQLITE_OK is returned. Otherwise, an SQLite error // code. -func sqlite3Fts5ExprPattern(tls *libc.TLS, pConfig uintptr, bGlob int32, iCol int32, zText uintptr, pp uintptr) int32 { /* sqlite3.c:221433:12: */ +func sqlite3Fts5ExprPattern(tls *libc.TLS, pConfig uintptr, bGlob int32, iCol int32, zText uintptr, pp uintptr) int32 { /* sqlite3.c:221490:12: */ bp := tls.Alloc(3) defer tls.Free(3) @@ -178984,7 +179015,7 @@ func sqlite3Fts5ExprPattern(tls *libc.TLS, pConfig uintptr, bGlob int32, iCol in } // Free the expression node object passed as the only argument. -func sqlite3Fts5ParseNodeFree(tls *libc.TLS, p uintptr) { /* sqlite3.c:221503:13: */ +func sqlite3Fts5ParseNodeFree(tls *libc.TLS, p uintptr) { /* sqlite3.c:221560:13: */ if p != 0 { var i int32 for i = 0; i < (*Fts5ExprNode)(unsafe.Pointer(p)).FnChild; i++ { @@ -178996,7 +179027,7 @@ func sqlite3Fts5ParseNodeFree(tls *libc.TLS, p uintptr) { /* sqlite3.c:221503:13 } // Free the expression object passed as the only argument. -func sqlite3Fts5ExprFree(tls *libc.TLS, p uintptr) { /* sqlite3.c:221517:13: */ +func sqlite3Fts5ExprFree(tls *libc.TLS, p uintptr) { /* sqlite3.c:221574:13: */ if p != 0 { sqlite3Fts5ParseNodeFree(tls, (*Fts5Expr)(unsafe.Pointer(p)).FpRoot) Xsqlite3_free(tls, (*Fts5Expr)(unsafe.Pointer(p)).FapExprPhrase) @@ -179004,7 +179035,7 @@ func sqlite3Fts5ExprFree(tls *libc.TLS, p uintptr) { /* sqlite3.c:221517:13: */ } } -func sqlite3Fts5ExprAnd(tls *libc.TLS, pp1 uintptr, p2 uintptr) int32 { /* sqlite3.c:221525:12: */ +func sqlite3Fts5ExprAnd(tls *libc.TLS, pp1 uintptr, p2 uintptr) int32 { /* sqlite3.c:221582:12: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -179045,7 +179076,7 @@ func sqlite3Fts5ExprAnd(tls *libc.TLS, pp1 uintptr, p2 uintptr) int32 { /* sqlit // Argument pTerm must be a synonym iterator. Return the current rowid // that it points to. -func fts5ExprSynonymRowid(tls *libc.TLS, pTerm uintptr, bDesc int32, pbEof uintptr) I64 { /* sqlite3.c:221565:12: */ +func fts5ExprSynonymRowid(tls *libc.TLS, pTerm uintptr, bDesc int32, pbEof uintptr) I64 { /* sqlite3.c:221622:12: */ var iRet I64 = int64(0) var bRetValid int32 = 0 var p uintptr @@ -179067,7 +179098,7 @@ func fts5ExprSynonymRowid(tls *libc.TLS, pTerm uintptr, bDesc int32, pbEof uintp } // Argument pTerm must be a synonym iterator. -func fts5ExprSynonymList(tls *libc.TLS, pTerm uintptr, iRowid I64, pBuf uintptr, pa uintptr, pn uintptr) int32 { /* sqlite3.c:221590:12: */ +func fts5ExprSynonymList(tls *libc.TLS, pTerm uintptr, iRowid I64, pBuf uintptr, pa uintptr, pn uintptr) int32 { /* sqlite3.c:221647:12: */ bp := tls.Alloc(136) defer tls.Free(136) @@ -179231,7 +179262,7 @@ __22: // SQLITE_OK is returned if an error occurs, or an SQLite error code // otherwise. It is not considered an error code if the current rowid is // not a match. -func fts5ExprPhraseIsMatch(tls *libc.TLS, pNode uintptr, pPhrase uintptr, pbMatch uintptr) int32 { /* sqlite3.c:221673:12: */ +func fts5ExprPhraseIsMatch(tls *libc.TLS, pNode uintptr, pPhrase uintptr, pbMatch uintptr) int32 { /* sqlite3.c:221730:12: */ bp := tls.Alloc(168) defer tls.Free(168) @@ -179456,11 +179487,11 @@ type Fts5LookaheadReader1 = struct { Fi int32 FiPos I64 FiLookahead I64 -} /* sqlite3.c:221757:9 */ +} /* sqlite3.c:221814:9 */ -type Fts5LookaheadReader = Fts5LookaheadReader1 /* sqlite3.c:221757:36 */ +type Fts5LookaheadReader = Fts5LookaheadReader1 /* sqlite3.c:221814:36 */ -func fts5LookaheadReaderNext(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:221768:12: */ +func fts5LookaheadReaderNext(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:221825:12: */ (*Fts5LookaheadReader)(unsafe.Pointer(p)).FiPos = (*Fts5LookaheadReader)(unsafe.Pointer(p)).FiLookahead if sqlite3Fts5PoslistNext64(tls, (*Fts5LookaheadReader)(unsafe.Pointer(p)).Fa, (*Fts5LookaheadReader)(unsafe.Pointer(p)).Fn, p+12, p+24) != 0 { (*Fts5LookaheadReader)(unsafe.Pointer(p)).FiLookahead = I64(int64(1)) << 62 @@ -179468,7 +179499,7 @@ func fts5LookaheadReaderNext(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:2217 return libc.Bool32((*Fts5LookaheadReader)(unsafe.Pointer(p)).FiPos == I64(int64(1))<<62) } -func fts5LookaheadReaderInit(tls *libc.TLS, a uintptr, n int32, p uintptr) int32 { /* sqlite3.c:221776:12: */ +func fts5LookaheadReaderInit(tls *libc.TLS, a uintptr, n int32, p uintptr) int32 { /* sqlite3.c:221833:12: */ libc.Xmemset(tls, p, 0, uint64(unsafe.Sizeof(Fts5LookaheadReader{}))) (*Fts5LookaheadReader)(unsafe.Pointer(p)).Fa = a (*Fts5LookaheadReader)(unsafe.Pointer(p)).Fn = n @@ -179480,9 +179511,9 @@ type Fts5NearTrimmer1 = struct { Freader Fts5LookaheadReader Fwriter Fts5PoslistWriter FpOut uintptr -} /* sqlite3.c:221787:9 */ +} /* sqlite3.c:221844:9 */ -type Fts5NearTrimmer = Fts5NearTrimmer1 /* sqlite3.c:221787:32 */ +type Fts5NearTrimmer = Fts5NearTrimmer1 /* sqlite3.c:221844:32 */ // The near-set object passed as the first argument contains more than // one phrase. All phrases currently point to the same row. The @@ -179499,7 +179530,7 @@ type Fts5NearTrimmer = Fts5NearTrimmer1 /* sqlite3.c:221787:32 */ // If no error occurs and non-zero (a match) is returned, the position-list // of each phrase object is edited to contain only those entries that // meet the constraint before returning. -func fts5ExprNearIsMatch(tls *libc.TLS, pRc uintptr, pNear uintptr) int32 { /* sqlite3.c:221811:12: */ +func fts5ExprNearIsMatch(tls *libc.TLS, pRc uintptr, pNear uintptr) int32 { /* sqlite3.c:221868:12: */ bp := tls.Alloc(196) defer tls.Free(196) @@ -179701,7 +179732,7 @@ __29: // If the iterator reaches EOF, set *pbEof to true before returning. If // an error occurs, set *pRc to an error code. If either *pbEof or *pRc // are set, return a non-zero value. Otherwise, return zero. -func fts5ExprAdvanceto(tls *libc.TLS, pIter uintptr, bDesc int32, piLast uintptr, pRc uintptr, pbEof uintptr) int32 { /* sqlite3.c:221910:12: */ +func fts5ExprAdvanceto(tls *libc.TLS, pIter uintptr, bDesc int32, piLast uintptr, pRc uintptr, pbEof uintptr) int32 { /* sqlite3.c:221967:12: */ var iLast I64 = *(*I64)(unsafe.Pointer(piLast)) var iRowid I64 @@ -179721,7 +179752,7 @@ func fts5ExprAdvanceto(tls *libc.TLS, pIter uintptr, bDesc int32, piLast uintptr return 0 } -func fts5ExprSynonymAdvanceto(tls *libc.TLS, pTerm uintptr, bDesc int32, piLast uintptr, pRc uintptr) int32 { /* sqlite3.c:221936:12: */ +func fts5ExprSynonymAdvanceto(tls *libc.TLS, pTerm uintptr, bDesc int32, piLast uintptr, pRc uintptr) int32 { /* sqlite3.c:221993:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -179748,7 +179779,7 @@ func fts5ExprSynonymAdvanceto(tls *libc.TLS, pTerm uintptr, bDesc int32, piLast return *(*int32)(unsafe.Pointer(bp /* bEof */)) } -func fts5ExprNearTest(tls *libc.TLS, pRc uintptr, pExpr uintptr, pNode uintptr) int32 { /* sqlite3.c:221966:12: */ +func fts5ExprNearTest(tls *libc.TLS, pRc uintptr, pExpr uintptr, pNode uintptr) int32 { /* sqlite3.c:222023:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -179805,7 +179836,7 @@ func fts5ExprNearTest(tls *libc.TLS, pRc uintptr, pExpr uintptr, pNode uintptr) // If an error occurs, return an SQLite error code. Otherwise, return // SQLITE_OK. It is not considered an error if some term matches zero // documents. -func fts5ExprNearInitAll(tls *libc.TLS, pExpr uintptr, pNode uintptr) int32 { /* sqlite3.c:222025:12: */ +func fts5ExprNearInitAll(tls *libc.TLS, pExpr uintptr, pNode uintptr) int32 { /* sqlite3.c:222082:12: */ var pNear uintptr = (*Fts5ExprNode)(unsafe.Pointer(pNode)).FpNear var i int32 @@ -179871,7 +179902,7 @@ func fts5ExprNearInitAll(tls *libc.TLS, pExpr uintptr, pNode uintptr) int32 { /* // Otherwise, if this is a DESC iterator, the opposite is returned: // // (iRhs - iLhs) -func fts5RowidCmp(tls *libc.TLS, pExpr uintptr, iLhs I64, iRhs I64) int32 { /* sqlite3.c:222087:12: */ +func fts5RowidCmp(tls *libc.TLS, pExpr uintptr, iLhs I64, iRhs I64) int32 { /* sqlite3.c:222144:12: */ if (*Fts5Expr)(unsafe.Pointer(pExpr)).FbDesc == 0 { if iLhs < iRhs { @@ -179887,7 +179918,7 @@ func fts5RowidCmp(tls *libc.TLS, pExpr uintptr, iLhs I64, iRhs I64) int32 { /* s return int32(0) } -func fts5ExprSetEof(tls *libc.TLS, pNode uintptr) { /* sqlite3.c:222102:13: */ +func fts5ExprSetEof(tls *libc.TLS, pNode uintptr) { /* sqlite3.c:222159:13: */ var i int32 (*Fts5ExprNode)(unsafe.Pointer(pNode)).FbEof = 1 (*Fts5ExprNode)(unsafe.Pointer(pNode)).FbNomatch = 0 @@ -179896,7 +179927,7 @@ func fts5ExprSetEof(tls *libc.TLS, pNode uintptr) { /* sqlite3.c:222102:13: */ } } -func fts5ExprNodeZeroPoslist(tls *libc.TLS, pNode uintptr) { /* sqlite3.c:222111:13: */ +func fts5ExprNodeZeroPoslist(tls *libc.TLS, pNode uintptr) { /* sqlite3.c:222168:13: */ if (*Fts5ExprNode)(unsafe.Pointer(pNode)).FeType == FTS5_STRING || (*Fts5ExprNode)(unsafe.Pointer(pNode)).FeType == FTS5_TERM { var pNear uintptr = (*Fts5ExprNode)(unsafe.Pointer(pNode)).FpNear var i int32 @@ -179922,7 +179953,7 @@ func fts5ExprNodeZeroPoslist(tls *libc.TLS, pNode uintptr) { /* sqlite3.c:222111 // This means that if the iteration order is ASC, then numerically larger // rowids are considered larger. Or if it is the default DESC, numerically // smaller rowids are larger. -func fts5NodeCompare(tls *libc.TLS, pExpr uintptr, p1 uintptr, p2 uintptr) int32 { /* sqlite3.c:222141:12: */ +func fts5NodeCompare(tls *libc.TLS, pExpr uintptr, p1 uintptr, p2 uintptr) int32 { /* sqlite3.c:222198:12: */ if (*Fts5ExprNode)(unsafe.Pointer(p2)).FbEof != 0 { return -1 } @@ -179941,7 +179972,7 @@ func fts5NodeCompare(tls *libc.TLS, pExpr uintptr, p1 uintptr, p2 uintptr) int32 // SQLITE_OK is returned if an error occurs, or an SQLite error code // otherwise. It is not considered an error code if an iterator reaches // EOF. -func fts5ExprNodeTest_STRING(tls *libc.TLS, pExpr uintptr, pNode uintptr) int32 { /* sqlite3.c:222162:12: */ +func fts5ExprNodeTest_STRING(tls *libc.TLS, pExpr uintptr, pNode uintptr) int32 { /* sqlite3.c:222219:12: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -180009,7 +180040,7 @@ func fts5ExprNodeTest_STRING(tls *libc.TLS, pExpr uintptr, pNode uintptr) int32 // // Return SQLITE_OK if successful, or an SQLite error code if an error // occurs. -func fts5ExprNodeNext_STRING(tls *libc.TLS, pExpr uintptr, pNode uintptr, bFromValid int32, iFrom I64) int32 { /* sqlite3.c:222232:12: */ +func fts5ExprNodeNext_STRING(tls *libc.TLS, pExpr uintptr, pNode uintptr, bFromValid int32, iFrom I64) int32 { /* sqlite3.c:222289:12: */ var pTerm uintptr = *(*uintptr)(unsafe.Pointer((*Fts5ExprNode)(unsafe.Pointer(pNode)).FpNear + 24)) + 32 var rc int32 = SQLITE_OK @@ -180068,7 +180099,7 @@ func fts5ExprNodeNext_STRING(tls *libc.TLS, pExpr uintptr, pNode uintptr, bFromV return rc } -func fts5ExprNodeTest_TERM(tls *libc.TLS, pExpr uintptr, pNode uintptr) int32 { /* sqlite3.c:222297:12: */ +func fts5ExprNodeTest_TERM(tls *libc.TLS, pExpr uintptr, pNode uintptr) int32 { /* sqlite3.c:222354:12: */ // As this "NEAR" object is actually a single phrase that consists // of a single term only, grab pointers into the poslist managed by the // fts5_index.c iterator object. This is much faster than synthesizing @@ -180087,7 +180118,7 @@ func fts5ExprNodeTest_TERM(tls *libc.TLS, pExpr uintptr, pNode uintptr) int32 { } // xNext() method for a node of type FTS5_TERM. -func fts5ExprNodeNext_TERM(tls *libc.TLS, pExpr uintptr, pNode uintptr, bFromValid int32, iFrom I64) int32 { /* sqlite3.c:222325:12: */ +func fts5ExprNodeNext_TERM(tls *libc.TLS, pExpr uintptr, pNode uintptr, bFromValid int32, iFrom I64) int32 { /* sqlite3.c:222382:12: */ var rc int32 var pIter uintptr = (*Fts5ExprTerm)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer((*Fts5ExprNode)(unsafe.Pointer(pNode)).FpNear + 24)) + 32)).FpIter @@ -180105,7 +180136,7 @@ func fts5ExprNodeNext_TERM(tls *libc.TLS, pExpr uintptr, pNode uintptr, bFromVal return rc } -func fts5ExprNodeTest_OR(tls *libc.TLS, pExpr uintptr, pNode uintptr) { /* sqlite3.c:222349:13: */ +func fts5ExprNodeTest_OR(tls *libc.TLS, pExpr uintptr, pNode uintptr) { /* sqlite3.c:222406:13: */ var pNext uintptr = *(*uintptr)(unsafe.Pointer(pNode + 48)) var i int32 @@ -180121,7 +180152,7 @@ func fts5ExprNodeTest_OR(tls *libc.TLS, pExpr uintptr, pNode uintptr) { /* sqlit (*Fts5ExprNode)(unsafe.Pointer(pNode)).FbNomatch = (*Fts5ExprNode)(unsafe.Pointer(pNext)).FbNomatch } -func fts5ExprNodeNext_OR(tls *libc.TLS, pExpr uintptr, pNode uintptr, bFromValid int32, iFrom I64) int32 { /* sqlite3.c:222368:12: */ +func fts5ExprNodeNext_OR(tls *libc.TLS, pExpr uintptr, pNode uintptr, bFromValid int32, iFrom I64) int32 { /* sqlite3.c:222425:12: */ var i int32 var iLast I64 = (*Fts5ExprNode)(unsafe.Pointer(pNode)).FiRowid @@ -180147,7 +180178,7 @@ func fts5ExprNodeNext_OR(tls *libc.TLS, pExpr uintptr, pNode uintptr, bFromValid } // Argument pNode is an FTS5_AND node. -func fts5ExprNodeTest_AND(tls *libc.TLS, pExpr uintptr, pAnd uintptr) int32 { /* sqlite3.c:222400:12: */ +func fts5ExprNodeTest_AND(tls *libc.TLS, pExpr uintptr, pAnd uintptr) int32 { /* sqlite3.c:222457:12: */ var iChild int32 var iLast I64 = (*Fts5ExprNode)(unsafe.Pointer(pAnd)).FiRowid var rc int32 = SQLITE_OK @@ -180197,7 +180228,7 @@ func fts5ExprNodeTest_AND(tls *libc.TLS, pExpr uintptr, pAnd uintptr) int32 { /* return SQLITE_OK } -func fts5ExprNodeNext_AND(tls *libc.TLS, pExpr uintptr, pNode uintptr, bFromValid int32, iFrom I64) int32 { /* sqlite3.c:222452:12: */ +func fts5ExprNodeNext_AND(tls *libc.TLS, pExpr uintptr, pNode uintptr, bFromValid int32, iFrom I64) int32 { /* sqlite3.c:222509:12: */ var rc int32 = (*struct { f func(*libc.TLS, uintptr, uintptr, int32, I64) int32 })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExprNode)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pNode + 48 /* &.apChild */)))).FxNext})).f(tls, pExpr, *(*uintptr)(unsafe.Pointer(pNode + 48 /* &.apChild */)), bFromValid, iFrom) @@ -180209,7 +180240,7 @@ func fts5ExprNodeNext_AND(tls *libc.TLS, pExpr uintptr, pNode uintptr, bFromVali return rc } -func fts5ExprNodeTest_NOT(tls *libc.TLS, pExpr uintptr, pNode uintptr) int32 { /* sqlite3.c:222467:12: */ +func fts5ExprNodeTest_NOT(tls *libc.TLS, pExpr uintptr, pNode uintptr) int32 { /* sqlite3.c:222524:12: */ var rc int32 = SQLITE_OK var p1 uintptr = *(*uintptr)(unsafe.Pointer(pNode + 48)) var p2 uintptr = *(*uintptr)(unsafe.Pointer(pNode + 48 + 1*8)) @@ -180239,7 +180270,7 @@ func fts5ExprNodeTest_NOT(tls *libc.TLS, pExpr uintptr, pNode uintptr) int32 { / return rc } -func fts5ExprNodeNext_NOT(tls *libc.TLS, pExpr uintptr, pNode uintptr, bFromValid int32, iFrom I64) int32 { /* sqlite3.c:222495:12: */ +func fts5ExprNodeNext_NOT(tls *libc.TLS, pExpr uintptr, pNode uintptr, bFromValid int32, iFrom I64) int32 { /* sqlite3.c:222552:12: */ var rc int32 = (*struct { f func(*libc.TLS, uintptr, uintptr, int32, I64) int32 })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExprNode)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pNode + 48 /* &.apChild */)))).FxNext})).f(tls, pExpr, *(*uintptr)(unsafe.Pointer(pNode + 48 /* &.apChild */)), bFromValid, iFrom) @@ -180255,7 +180286,7 @@ func fts5ExprNodeNext_NOT(tls *libc.TLS, pExpr uintptr, pNode uintptr, bFromVali // If pNode currently points to a match, this function returns SQLITE_OK // without modifying it. Otherwise, pNode is advanced until it does point // to a match or EOF is reached. -func fts5ExprNodeTest(tls *libc.TLS, pExpr uintptr, pNode uintptr) int32 { /* sqlite3.c:222516:12: */ +func fts5ExprNodeTest(tls *libc.TLS, pExpr uintptr, pNode uintptr) int32 { /* sqlite3.c:222573:12: */ var rc int32 = SQLITE_OK if (*Fts5ExprNode)(unsafe.Pointer(pNode)).FbEof == 0 { switch (*Fts5ExprNode)(unsafe.Pointer(pNode)).FeType { @@ -180308,7 +180339,7 @@ func fts5ExprNodeTest(tls *libc.TLS, pExpr uintptr, pNode uintptr) int32 { /* sq // // Return an SQLite error code if an error occurs, or SQLITE_OK otherwise. // It is not an error if there are no matches. -func fts5ExprNodeFirst(tls *libc.TLS, pExpr uintptr, pNode uintptr) int32 { /* sqlite3.c:222561:12: */ +func fts5ExprNodeFirst(tls *libc.TLS, pExpr uintptr, pNode uintptr) int32 { /* sqlite3.c:222618:12: */ var rc int32 = SQLITE_OK (*Fts5ExprNode)(unsafe.Pointer(pNode)).FbEof = 0 (*Fts5ExprNode)(unsafe.Pointer(pNode)).FbNomatch = 0 @@ -180370,7 +180401,7 @@ func fts5ExprNodeFirst(tls *libc.TLS, pExpr uintptr, pNode uintptr) int32 { /* s // // Return SQLITE_OK if successful, or an SQLite error code otherwise. It // is not considered an error if the query does not match any documents. -func sqlite3Fts5ExprFirst(tls *libc.TLS, p uintptr, pIdx uintptr, iFirst I64, bDesc int32) int32 { /* sqlite3.c:222620:12: */ +func sqlite3Fts5ExprFirst(tls *libc.TLS, p uintptr, pIdx uintptr, iFirst I64, bDesc int32) int32 { /* sqlite3.c:222677:12: */ var pRoot uintptr = (*Fts5Expr)(unsafe.Pointer(p)).FpRoot var rc int32 // Return code @@ -180402,7 +180433,7 @@ func sqlite3Fts5ExprFirst(tls *libc.TLS, p uintptr, pIdx uintptr, iFirst I64, bD // // Return SQLITE_OK if successful, or an SQLite error code otherwise. It // is not considered an error if the query does not match any documents. -func sqlite3Fts5ExprNext(tls *libc.TLS, p uintptr, iLast I64) int32 { /* sqlite3.c:222651:12: */ +func sqlite3Fts5ExprNext(tls *libc.TLS, p uintptr, iLast I64) int32 { /* sqlite3.c:222708:12: */ var rc int32 var pRoot uintptr = (*Fts5Expr)(unsafe.Pointer(p)).FpRoot @@ -180418,15 +180449,15 @@ func sqlite3Fts5ExprNext(tls *libc.TLS, p uintptr, iLast I64) int32 { /* sqlite3 return rc } -func sqlite3Fts5ExprEof(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:222665:12: */ +func sqlite3Fts5ExprEof(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:222722:12: */ return (*Fts5ExprNode)(unsafe.Pointer((*Fts5Expr)(unsafe.Pointer(p)).FpRoot)).FbEof } -func sqlite3Fts5ExprRowid(tls *libc.TLS, p uintptr) I64 { /* sqlite3.c:222669:12: */ +func sqlite3Fts5ExprRowid(tls *libc.TLS, p uintptr) I64 { /* sqlite3.c:222726:12: */ return (*Fts5ExprNode)(unsafe.Pointer((*Fts5Expr)(unsafe.Pointer(p)).FpRoot)).FiRowid } -func fts5ParseStringFromToken(tls *libc.TLS, pToken uintptr, pz uintptr) int32 { /* sqlite3.c:222673:12: */ +func fts5ParseStringFromToken(tls *libc.TLS, pToken uintptr, pz uintptr) int32 { /* sqlite3.c:222730:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -180436,7 +180467,7 @@ func fts5ParseStringFromToken(tls *libc.TLS, pToken uintptr, pz uintptr) int32 { } // Free the phrase object passed as the only argument. -func fts5ExprPhraseFree(tls *libc.TLS, pPhrase uintptr) { /* sqlite3.c:222682:13: */ +func fts5ExprPhraseFree(tls *libc.TLS, pPhrase uintptr) { /* sqlite3.c:222739:13: */ if pPhrase != 0 { var i int32 for i = 0; i < (*Fts5ExprPhrase)(unsafe.Pointer(pPhrase)).FnTerm; i++ { @@ -180461,7 +180492,7 @@ func fts5ExprPhraseFree(tls *libc.TLS, pPhrase uintptr) { /* sqlite3.c:222682:13 // Set the "bFirst" flag on the first token of the phrase passed as the // only argument. -func sqlite3Fts5ParseSetCaret(tls *libc.TLS, pPhrase uintptr) { /* sqlite3.c:222707:13: */ +func sqlite3Fts5ParseSetCaret(tls *libc.TLS, pPhrase uintptr) { /* sqlite3.c:222764:13: */ if pPhrase != 0 && (*Fts5ExprPhrase)(unsafe.Pointer(pPhrase)).FnTerm != 0 { (*Fts5ExprTerm)(unsafe.Pointer(pPhrase + 32)).FbFirst = U8(1) } @@ -180473,7 +180504,7 @@ func sqlite3Fts5ParseSetCaret(tls *libc.TLS, pPhrase uintptr) { /* sqlite3.c:222 // // If an OOM error occurs, both the pNear and pPhrase objects are freed and // NULL returned. -func sqlite3Fts5ParseNearset(tls *libc.TLS, pParse uintptr, pNear uintptr, pPhrase uintptr) uintptr { /* sqlite3.c:222721:24: */ +func sqlite3Fts5ParseNearset(tls *libc.TLS, pParse uintptr, pNear uintptr, pPhrase uintptr) uintptr { /* sqlite3.c:222778:24: */ var SZALLOC int32 = 8 var pRet uintptr = uintptr(0) @@ -180533,12 +180564,12 @@ type TokenCtx1 = struct { FpPhrase uintptr Frc int32 F__ccgo_pad1 [4]byte -} /* sqlite3.c:222781:9 */ +} /* sqlite3.c:222838:9 */ -type TokenCtx = TokenCtx1 /* sqlite3.c:222781:25 */ +type TokenCtx = TokenCtx1 /* sqlite3.c:222838:25 */ // Callback for tokenizing terms used by ParseTerm(). -func fts5ParseTokenize(tls *libc.TLS, pContext uintptr, tflags int32, pToken uintptr, nToken int32, iUnused1 int32, iUnused2 int32) int32 { /* sqlite3.c:222790:12: */ +func fts5ParseTokenize(tls *libc.TLS, pContext uintptr, tflags int32, pToken uintptr, nToken int32, iUnused1 int32, iUnused2 int32) int32 { /* sqlite3.c:222847:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -180607,12 +180638,12 @@ func fts5ParseTokenize(tls *libc.TLS, pContext uintptr, tflags int32, pToken uin } // Free the phrase object passed as the only argument. -func sqlite3Fts5ParsePhraseFree(tls *libc.TLS, pPhrase uintptr) { /* sqlite3.c:222855:13: */ +func sqlite3Fts5ParsePhraseFree(tls *libc.TLS, pPhrase uintptr) { /* sqlite3.c:222912:13: */ fts5ExprPhraseFree(tls, pPhrase) } // Free the phrase object passed as the second argument. -func sqlite3Fts5ParseNearsetFree(tls *libc.TLS, pNear uintptr) { /* sqlite3.c:222862:13: */ +func sqlite3Fts5ParseNearsetFree(tls *libc.TLS, pNear uintptr) { /* sqlite3.c:222919:13: */ if pNear != 0 { var i int32 for i = 0; i < (*Fts5ExprNearset)(unsafe.Pointer(pNear)).FnPhrase; i++ { @@ -180623,12 +180654,12 @@ func sqlite3Fts5ParseNearsetFree(tls *libc.TLS, pNear uintptr) { /* sqlite3.c:22 } } -func sqlite3Fts5ParseFinished(tls *libc.TLS, pParse uintptr, p uintptr) { /* sqlite3.c:222873:13: */ +func sqlite3Fts5ParseFinished(tls *libc.TLS, pParse uintptr, p uintptr) { /* sqlite3.c:222930:13: */ (*Fts5Parse)(unsafe.Pointer(pParse)).FpExpr = p } -func parseGrowPhraseArray(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:222878:12: */ +func parseGrowPhraseArray(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:222935:12: */ if (*Fts5Parse)(unsafe.Pointer(pParse)).FnPhrase%8 == 0 { var nByte Sqlite3_int64 = Sqlite3_int64(uint64(unsafe.Sizeof(uintptr(0))) * uint64((*Fts5Parse)(unsafe.Pointer(pParse)).FnPhrase+8)) var apNew uintptr @@ -180645,7 +180676,7 @@ func parseGrowPhraseArray(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:22 // This function is called by the parser to process a string token. The // string may or may not be quoted. In any case it is tokenized and a // phrase object consisting of all tokens returned. -func sqlite3Fts5ParseTerm(tls *libc.TLS, pParse uintptr, pAppend uintptr, pToken uintptr, bPrefix int32) uintptr { /* sqlite3.c:222897:23: */ +func sqlite3Fts5ParseTerm(tls *libc.TLS, pParse uintptr, pAppend uintptr, pToken uintptr, bPrefix int32) uintptr { /* sqlite3.c:222954:23: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -180703,7 +180734,7 @@ func sqlite3Fts5ParseTerm(tls *libc.TLS, pParse uintptr, pAppend uintptr, pToken // Create a new FTS5 expression by cloning phrase iPhrase of the // expression passed as the second argument. -func sqlite3Fts5ExprClonePhrase(tls *libc.TLS, pExpr uintptr, iPhrase int32, ppNew uintptr) int32 { /* sqlite3.c:222951:12: */ +func sqlite3Fts5ExprClonePhrase(tls *libc.TLS, pExpr uintptr, iPhrase int32, ppNew uintptr) int32 { /* sqlite3.c:223008:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -180798,7 +180829,7 @@ func sqlite3Fts5ExprClonePhrase(tls *libc.TLS, pExpr uintptr, iPhrase int32, ppN // Token pTok has appeared in a MATCH expression where the NEAR operator // is expected. If token pTok does not contain "NEAR", store an error // in the pParse object. -func sqlite3Fts5ParseNear(tls *libc.TLS, pParse uintptr, pTok uintptr) { /* sqlite3.c:223047:13: */ +func sqlite3Fts5ParseNear(tls *libc.TLS, pParse uintptr, pTok uintptr) { /* sqlite3.c:223104:13: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -180808,7 +180839,7 @@ func sqlite3Fts5ParseNear(tls *libc.TLS, pParse uintptr, pTok uintptr) { /* sqli } } -func sqlite3Fts5ParseSetDistance(tls *libc.TLS, pParse uintptr, pNear uintptr, p uintptr) { /* sqlite3.c:223055:13: */ +func sqlite3Fts5ParseSetDistance(tls *libc.TLS, pParse uintptr, pNear uintptr, p uintptr) { /* sqlite3.c:223112:13: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -180839,7 +180870,7 @@ func sqlite3Fts5ParseSetDistance(tls *libc.TLS, pParse uintptr, pNear uintptr, p // // If an OOM error occurs, store an error code in pParse and return NULL. // The old colset object (if any) is not freed in this case. -func fts5ParseColset(tls *libc.TLS, pParse uintptr, p uintptr, iCol int32) uintptr { /* sqlite3.c:223090:19: */ +func fts5ParseColset(tls *libc.TLS, pParse uintptr, p uintptr, iCol int32) uintptr { /* sqlite3.c:223147:19: */ var nCol int32 if p != 0 { nCol = (*Fts5Colset)(unsafe.Pointer(p)).FnCol @@ -180877,7 +180908,7 @@ func fts5ParseColset(tls *libc.TLS, pParse uintptr, p uintptr, iCol int32) uintp // Allocate and return an Fts5Colset object specifying the inverse of // the colset passed as the second argument. Free the colset passed // as the second argument before returning. -func sqlite3Fts5ParseColsetInvert(tls *libc.TLS, pParse uintptr, p uintptr) uintptr { /* sqlite3.c:223131:19: */ +func sqlite3Fts5ParseColsetInvert(tls *libc.TLS, pParse uintptr, p uintptr) uintptr { /* sqlite3.c:223188:19: */ var pRet uintptr var nCol int32 = (*Fts5Config)(unsafe.Pointer((*Fts5Parse)(unsafe.Pointer(pParse)).FpConfig)).FnCol @@ -180899,7 +180930,7 @@ func sqlite3Fts5ParseColsetInvert(tls *libc.TLS, pParse uintptr, p uintptr) uint return pRet } -func sqlite3Fts5ParseColset(tls *libc.TLS, pParse uintptr, pColset uintptr, p uintptr) uintptr { /* sqlite3.c:223154:19: */ +func sqlite3Fts5ParseColset(tls *libc.TLS, pParse uintptr, pColset uintptr, p uintptr) uintptr { /* sqlite3.c:223211:19: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -180938,7 +180969,7 @@ func sqlite3Fts5ParseColset(tls *libc.TLS, pParse uintptr, pColset uintptr, p ui // Otherwise, a copy of (*pOrig) is made into memory obtained from // sqlite3Fts5MallocZero() and a pointer to it returned. If the allocation // fails, (*pRc) is set to SQLITE_NOMEM and NULL is returned. -func fts5CloneColset(tls *libc.TLS, pRc uintptr, pOrig uintptr) uintptr { /* sqlite3.c:223194:19: */ +func fts5CloneColset(tls *libc.TLS, pRc uintptr, pOrig uintptr) uintptr { /* sqlite3.c:223251:19: */ var pRet uintptr if pOrig != 0 { var nByte Sqlite3_int64 = Sqlite3_int64(uint64(unsafe.Sizeof(Fts5Colset{})) + uint64((*Fts5Colset)(unsafe.Pointer(pOrig)).FnCol-1)*uint64(unsafe.Sizeof(int32(0)))) @@ -180953,7 +180984,7 @@ func fts5CloneColset(tls *libc.TLS, pRc uintptr, pOrig uintptr) uintptr { /* sql } // Remove from colset pColset any columns that are not also in colset pMerge. -func fts5MergeColset(tls *libc.TLS, pColset uintptr, pMerge uintptr) { /* sqlite3.c:223211:13: */ +func fts5MergeColset(tls *libc.TLS, pColset uintptr, pMerge uintptr) { /* sqlite3.c:223268:13: */ var iIn int32 = 0 // Next input in pColset var iMerge int32 = 0 // Next input in pMerge var iOut int32 = 0 // Next output slot in pColset @@ -180977,7 +181008,7 @@ func fts5MergeColset(tls *libc.TLS, pColset uintptr, pMerge uintptr) { /* sqlite // its decendents. If (*ppFree) is not NULL, it contains a spare copy // of pColset. This function may use the spare copy and set (*ppFree) to // zero, or it may create copies of pColset using fts5CloneColset(). -func fts5ParseSetColset(tls *libc.TLS, pParse uintptr, pNode uintptr, pColset uintptr, ppFree uintptr) { /* sqlite3.c:223237:13: */ +func fts5ParseSetColset(tls *libc.TLS, pParse uintptr, pNode uintptr, pColset uintptr, ppFree uintptr) { /* sqlite3.c:223294:13: */ if (*Fts5Parse)(unsafe.Pointer(pParse)).Frc == SQLITE_OK { if (*Fts5ExprNode)(unsafe.Pointer(pNode)).FeType == FTS5_STRING || (*Fts5ExprNode)(unsafe.Pointer(pNode)).FeType == FTS5_TERM { @@ -181005,7 +181036,7 @@ func fts5ParseSetColset(tls *libc.TLS, pParse uintptr, pNode uintptr, pColset ui } // Apply colset pColset to expression node pExpr and all of its descendents. -func sqlite3Fts5ParseSetColset(tls *libc.TLS, pParse uintptr, pExpr uintptr, pColset uintptr) { /* sqlite3.c:223275:13: */ +func sqlite3Fts5ParseSetColset(tls *libc.TLS, pParse uintptr, pExpr uintptr, pColset uintptr) { /* sqlite3.c:223332:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -181019,7 +181050,7 @@ func sqlite3Fts5ParseSetColset(tls *libc.TLS, pParse uintptr, pExpr uintptr, pCo Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp /* pFree */))) } -func fts5ExprAssignXNext(tls *libc.TLS, pNode uintptr) { /* sqlite3.c:223291:13: */ +func fts5ExprAssignXNext(tls *libc.TLS, pNode uintptr) { /* sqlite3.c:223348:13: */ switch (*Fts5ExprNode)(unsafe.Pointer(pNode)).FeType { case FTS5_STRING: { @@ -181070,7 +181101,7 @@ func fts5ExprAssignXNext(tls *libc.TLS, pNode uintptr) { /* sqlite3.c:223291:13: } } -func fts5ExprAddChildren(tls *libc.TLS, p uintptr, pSub uintptr) { /* sqlite3.c:223324:13: */ +func fts5ExprAddChildren(tls *libc.TLS, p uintptr, pSub uintptr) { /* sqlite3.c:223381:13: */ if (*Fts5ExprNode)(unsafe.Pointer(p)).FeType != FTS5_NOT && (*Fts5ExprNode)(unsafe.Pointer(pSub)).FeType == (*Fts5ExprNode)(unsafe.Pointer(p)).FeType { var nByte int32 = int32(uint64(unsafe.Sizeof(uintptr(0))) * uint64((*Fts5ExprNode)(unsafe.Pointer(pSub)).FnChild)) libc.Xmemcpy(tls, p+48+uintptr((*Fts5ExprNode)(unsafe.Pointer(p)).FnChild)*8, pSub+48, uint64(nByte)) @@ -181090,7 +181121,7 @@ func fts5ExprAddChildren(tls *libc.TLS, p uintptr, pSub uintptr) { /* sqlite3.c: // into an AND tree: // // abc AND def AND ghi -func fts5ParsePhraseToAnd(tls *libc.TLS, pParse uintptr, pNear uintptr) uintptr { /* sqlite3.c:223346:21: */ +func fts5ParsePhraseToAnd(tls *libc.TLS, pParse uintptr, pNear uintptr) uintptr { /* sqlite3.c:223403:21: */ var nTerm int32 = (*Fts5ExprPhrase)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pNear + 24)))).FnTerm var ii int32 var nByte int32 @@ -181133,7 +181164,7 @@ func fts5ParsePhraseToAnd(tls *libc.TLS, pParse uintptr, pNear uintptr) uintptr // Allocate and return a new expression object. If anything goes wrong (i.e. // OOM error), leave an error code in pParse and return NULL. -func sqlite3Fts5ParseNode(tls *libc.TLS, pParse uintptr, eType int32, pLeft uintptr, pRight uintptr, pNear uintptr) uintptr { /* sqlite3.c:223400:21: */ +func sqlite3Fts5ParseNode(tls *libc.TLS, pParse uintptr, eType int32, pLeft uintptr, pRight uintptr, pNear uintptr) uintptr { /* sqlite3.c:223457:21: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -181221,7 +181252,7 @@ func sqlite3Fts5ParseNode(tls *libc.TLS, pParse uintptr, eType int32, pLeft uint return pRet } -func sqlite3Fts5ParseImplicitAnd(tls *libc.TLS, pParse uintptr, pLeft uintptr, pRight uintptr) uintptr { /* sqlite3.c:223482:21: */ +func sqlite3Fts5ParseImplicitAnd(tls *libc.TLS, pParse uintptr, pLeft uintptr, pRight uintptr) uintptr { /* sqlite3.c:223539:21: */ var pRet uintptr = uintptr(0) var pPrev uintptr @@ -181267,7 +181298,7 @@ func sqlite3Fts5ParseImplicitAnd(tls *libc.TLS, pParse uintptr, pLeft uintptr, p // This is called during initialization to register the fts5_expr() scalar // UDF with the SQLite handle passed as the only argument. -func sqlite3Fts5ExprInit(tls *libc.TLS, pGlobal uintptr, db uintptr) int32 { /* sqlite3.c:223919:12: */ +func sqlite3Fts5ExprInit(tls *libc.TLS, pGlobal uintptr, db uintptr) int32 { /* sqlite3.c:223976:12: */ var rc int32 = SQLITE_OK _ = pGlobal _ = db @@ -181280,7 +181311,7 @@ func sqlite3Fts5ExprInit(tls *libc.TLS, pGlobal uintptr, db uintptr) int32 { /* } // Return the number of phrases in expression pExpr. -func sqlite3Fts5ExprPhraseCount(tls *libc.TLS, pExpr uintptr) int32 { /* sqlite3.c:223956:12: */ +func sqlite3Fts5ExprPhraseCount(tls *libc.TLS, pExpr uintptr) int32 { /* sqlite3.c:224013:12: */ return func() int32 { if pExpr != 0 { return (*Fts5Expr)(unsafe.Pointer(pExpr)).FnPhrase @@ -181290,7 +181321,7 @@ func sqlite3Fts5ExprPhraseCount(tls *libc.TLS, pExpr uintptr) int32 { /* sqlite3 } // Return the number of terms in the iPhrase'th phrase in pExpr. -func sqlite3Fts5ExprPhraseSize(tls *libc.TLS, pExpr uintptr, iPhrase int32) int32 { /* sqlite3.c:223963:12: */ +func sqlite3Fts5ExprPhraseSize(tls *libc.TLS, pExpr uintptr, iPhrase int32) int32 { /* sqlite3.c:224020:12: */ if iPhrase < 0 || iPhrase >= (*Fts5Expr)(unsafe.Pointer(pExpr)).FnPhrase { return 0 } @@ -181299,7 +181330,7 @@ func sqlite3Fts5ExprPhraseSize(tls *libc.TLS, pExpr uintptr, iPhrase int32) int3 // This function is used to access the current position list for phrase // iPhrase. -func sqlite3Fts5ExprPoslist(tls *libc.TLS, pExpr uintptr, iPhrase int32, pa uintptr) int32 { /* sqlite3.c:223972:12: */ +func sqlite3Fts5ExprPoslist(tls *libc.TLS, pExpr uintptr, iPhrase int32, pa uintptr) int32 { /* sqlite3.c:224029:12: */ var nRet int32 var pPhrase uintptr = *(*uintptr)(unsafe.Pointer((*Fts5Expr)(unsafe.Pointer(pExpr)).FapExprPhrase + uintptr(iPhrase)*8)) var pNode uintptr = (*Fts5ExprPhrase)(unsafe.Pointer(pPhrase)).FpNode @@ -181320,7 +181351,7 @@ func sqlite3Fts5ExprPoslist(tls *libc.TLS, pExpr uintptr, iPhrase int32, pa uint // At present this function is only used for detail=col and detail=none // fts5 tables. This implies that all phrases must be at most 1 token // in size, as phrase matches are not supported without detail=full. -func sqlite3Fts5ExprClearPoslists(tls *libc.TLS, pExpr uintptr, bLive int32) uintptr { /* sqlite3.c:224001:29: */ +func sqlite3Fts5ExprClearPoslists(tls *libc.TLS, pExpr uintptr, bLive int32) uintptr { /* sqlite3.c:224058:29: */ var pRet uintptr pRet = Xsqlite3_malloc64(tls, uint64(uint64(unsafe.Sizeof(Fts5PoslistPopulator{}))*uint64((*Fts5Expr)(unsafe.Pointer(pExpr)).FnPhrase))) if pRet != 0 { @@ -181344,12 +181375,12 @@ type Fts5ExprCtx1 = struct { FpExpr uintptr FaPopulator uintptr FiOff I64 -} /* sqlite3.c:224023:1 */ +} /* sqlite3.c:224080:1 */ -type Fts5ExprCtx = Fts5ExprCtx1 /* sqlite3.c:224028:28 */ +type Fts5ExprCtx = Fts5ExprCtx1 /* sqlite3.c:224085:28 */ // TODO: Make this more efficient! -func fts5ExprColsetTest(tls *libc.TLS, pColset uintptr, iCol int32) int32 { /* sqlite3.c:224033:12: */ +func fts5ExprColsetTest(tls *libc.TLS, pColset uintptr, iCol int32) int32 { /* sqlite3.c:224090:12: */ var i int32 for i = 0; i < (*Fts5Colset)(unsafe.Pointer(pColset)).FnCol; i++ { if *(*int32)(unsafe.Pointer(pColset + 4 + uintptr(i)*4)) == iCol { @@ -181359,7 +181390,7 @@ func fts5ExprColsetTest(tls *libc.TLS, pColset uintptr, iCol int32) int32 { /* s return 0 } -func fts5ExprPopulatePoslistsCb(tls *libc.TLS, pCtx uintptr, tflags int32, pToken uintptr, nToken int32, iUnused1 int32, iUnused2 int32) int32 { /* sqlite3.c:224041:12: */ +func fts5ExprPopulatePoslistsCb(tls *libc.TLS, pCtx uintptr, tflags int32, pToken uintptr, nToken int32, iUnused1 int32, iUnused2 int32) int32 { /* sqlite3.c:224098:12: */ var p uintptr = pCtx var pExpr uintptr = (*Fts5ExprCtx)(unsafe.Pointer(p)).FpExpr var i int32 @@ -181394,7 +181425,7 @@ func fts5ExprPopulatePoslistsCb(tls *libc.TLS, pCtx uintptr, tflags int32, pToke return SQLITE_OK } -func sqlite3Fts5ExprPopulatePoslists(tls *libc.TLS, pConfig uintptr, pExpr uintptr, aPopulator uintptr, iCol int32, z uintptr, n int32) int32 { /* sqlite3.c:224076:12: */ +func sqlite3Fts5ExprPopulatePoslists(tls *libc.TLS, pConfig uintptr, pExpr uintptr, aPopulator uintptr, iCol int32, z uintptr, n int32) int32 { /* sqlite3.c:224133:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -181422,7 +181453,7 @@ func sqlite3Fts5ExprPopulatePoslists(tls *libc.TLS, pConfig uintptr, pExpr uintp }{fts5ExprPopulatePoslistsCb}))) } -func fts5ExprClearPoslists(tls *libc.TLS, pNode uintptr) { /* sqlite3.c:224106:13: */ +func fts5ExprClearPoslists(tls *libc.TLS, pNode uintptr) { /* sqlite3.c:224163:13: */ if (*Fts5ExprNode)(unsafe.Pointer(pNode)).FeType == FTS5_TERM || (*Fts5ExprNode)(unsafe.Pointer(pNode)).FeType == FTS5_STRING { (*Fts5ExprPhrase)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer((*Fts5ExprNode)(unsafe.Pointer(pNode)).FpNear + 24)))).Fposlist.Fn = 0 } else { @@ -181433,7 +181464,7 @@ func fts5ExprClearPoslists(tls *libc.TLS, pNode uintptr) { /* sqlite3.c:224106:1 } } -func fts5ExprCheckPoslists(tls *libc.TLS, pNode uintptr, iRowid I64) int32 { /* sqlite3.c:224117:12: */ +func fts5ExprCheckPoslists(tls *libc.TLS, pNode uintptr, iRowid I64) int32 { /* sqlite3.c:224174:12: */ (*Fts5ExprNode)(unsafe.Pointer(pNode)).FiRowid = iRowid (*Fts5ExprNode)(unsafe.Pointer(pNode)).FbEof = 0 switch (*Fts5ExprNode)(unsafe.Pointer(pNode)).FeType { @@ -181483,12 +181514,12 @@ func fts5ExprCheckPoslists(tls *libc.TLS, pNode uintptr, iRowid I64) int32 { /* return 1 } -func sqlite3Fts5ExprCheckPoslists(tls *libc.TLS, pExpr uintptr, iRowid I64) { /* sqlite3.c:224161:13: */ +func sqlite3Fts5ExprCheckPoslists(tls *libc.TLS, pExpr uintptr, iRowid I64) { /* sqlite3.c:224218:13: */ fts5ExprCheckPoslists(tls, (*Fts5Expr)(unsafe.Pointer(pExpr)).FpRoot, iRowid) } // This function is only called for detail=columns tables. -func sqlite3Fts5ExprPhraseCollist(tls *libc.TLS, pExpr uintptr, iPhrase int32, ppCollist uintptr, pnCollist uintptr) int32 { /* sqlite3.c:224168:12: */ +func sqlite3Fts5ExprPhraseCollist(tls *libc.TLS, pExpr uintptr, iPhrase int32, ppCollist uintptr, pnCollist uintptr) int32 { /* sqlite3.c:224225:12: */ var pPhrase uintptr = *(*uintptr)(unsafe.Pointer((*Fts5Expr)(unsafe.Pointer(pExpr)).FapExprPhrase + uintptr(iPhrase)*8)) var pNode uintptr = (*Fts5ExprPhrase)(unsafe.Pointer(pPhrase)).FpNode var rc int32 = SQLITE_OK @@ -181539,7 +181570,7 @@ type Fts5HashEntry1 = struct { FiCol I16 FiPos int32 FiRowid I64 -} /* sqlite3.c:216813:9 */ +} /* sqlite3.c:216870:9 */ // 2014 August 11 // @@ -181555,14 +181586,14 @@ type Fts5HashEntry1 = struct { // #include "fts5Int.h" -type Fts5HashEntry = Fts5HashEntry1 /* sqlite3.c:224221:30 */ +type Fts5HashEntry = Fts5HashEntry1 /* sqlite3.c:224278:30 */ // Eqivalent to: // // char *fts5EntryKey(Fts5HashEntry *pEntry){ return zKey; } // Allocate a new hash table. -func sqlite3Fts5HashNew(tls *libc.TLS, pConfig uintptr, ppNew uintptr, pnByte uintptr) int32 { /* sqlite3.c:224287:12: */ +func sqlite3Fts5HashNew(tls *libc.TLS, pConfig uintptr, ppNew uintptr, pnByte uintptr) int32 { /* sqlite3.c:224344:12: */ var rc int32 = SQLITE_OK var pNew uintptr @@ -181590,7 +181621,7 @@ func sqlite3Fts5HashNew(tls *libc.TLS, pConfig uintptr, ppNew uintptr, pnByte ui } // Free a hash table object. -func sqlite3Fts5HashFree(tls *libc.TLS, pHash uintptr) { /* sqlite3.c:224317:13: */ +func sqlite3Fts5HashFree(tls *libc.TLS, pHash uintptr) { /* sqlite3.c:224374:13: */ if pHash != 0 { sqlite3Fts5HashClear(tls, pHash) Xsqlite3_free(tls, (*Fts5Hash)(unsafe.Pointer(pHash)).FaSlot) @@ -181599,7 +181630,7 @@ func sqlite3Fts5HashFree(tls *libc.TLS, pHash uintptr) { /* sqlite3.c:224317:13: } // Empty (but do not delete) a hash table. -func sqlite3Fts5HashClear(tls *libc.TLS, pHash uintptr) { /* sqlite3.c:224328:13: */ +func sqlite3Fts5HashClear(tls *libc.TLS, pHash uintptr) { /* sqlite3.c:224385:13: */ var i int32 for i = 0; i < (*Fts5Hash)(unsafe.Pointer(pHash)).FnSlot; i++ { var pNext uintptr @@ -181613,7 +181644,7 @@ func sqlite3Fts5HashClear(tls *libc.TLS, pHash uintptr) { /* sqlite3.c:224328:13 (*Fts5Hash)(unsafe.Pointer(pHash)).FnEntry = 0 } -func fts5HashKey(tls *libc.TLS, nSlot int32, p uintptr, n int32) uint32 { /* sqlite3.c:224342:21: */ +func fts5HashKey(tls *libc.TLS, nSlot int32, p uintptr, n int32) uint32 { /* sqlite3.c:224399:21: */ var i int32 var h uint32 = uint32(13) for i = n - 1; i >= 0; i-- { @@ -181622,7 +181653,7 @@ func fts5HashKey(tls *libc.TLS, nSlot int32, p uintptr, n int32) uint32 { /* sql return h % uint32(nSlot) } -func fts5HashKey2(tls *libc.TLS, nSlot int32, b U8, p uintptr, n int32) uint32 { /* sqlite3.c:224351:21: */ +func fts5HashKey2(tls *libc.TLS, nSlot int32, b U8, p uintptr, n int32) uint32 { /* sqlite3.c:224408:21: */ var i int32 var h uint32 = uint32(13) for i = n - 1; i >= 0; i-- { @@ -181633,7 +181664,7 @@ func fts5HashKey2(tls *libc.TLS, nSlot int32, b U8, p uintptr, n int32) uint32 { } // Resize the hash table by doubling the number of slots. -func fts5HashResize(tls *libc.TLS, pHash uintptr) int32 { /* sqlite3.c:224364:12: */ +func fts5HashResize(tls *libc.TLS, pHash uintptr) int32 { /* sqlite3.c:224421:12: */ var nNew int32 = (*Fts5Hash)(unsafe.Pointer(pHash)).FnSlot * 2 var i int32 var apNew uintptr @@ -181663,7 +181694,7 @@ func fts5HashResize(tls *libc.TLS, pHash uintptr) int32 { /* sqlite3.c:224364:12 return SQLITE_OK } -func fts5HashAddPoslistSize(tls *libc.TLS, pHash uintptr, p uintptr, p2 uintptr) int32 { /* sqlite3.c:224392:12: */ +func fts5HashAddPoslistSize(tls *libc.TLS, pHash uintptr, p uintptr, p2 uintptr) int32 { /* sqlite3.c:224449:12: */ var nRet int32 = 0 if (*Fts5HashEntry)(unsafe.Pointer(p)).FiSzPoslist != 0 { var pPtr uintptr @@ -181712,7 +181743,7 @@ func fts5HashAddPoslistSize(tls *libc.TLS, pHash uintptr, p uintptr, p2 uintptr) // (bByte || pToken) -> (iRowid,iCol,iPos) // // Or, if iCol is negative, then the value is a delete marker. -func sqlite3Fts5HashWrite(tls *libc.TLS, pHash uintptr, iRowid I64, iCol int32, iPos int32, bByte uint8, pToken uintptr, nToken int32) int32 { /* sqlite3.c:224443:12: */ +func sqlite3Fts5HashWrite(tls *libc.TLS, pHash uintptr, iRowid I64, iCol int32, iPos int32, bByte uint8, pToken uintptr, nToken int32) int32 { /* sqlite3.c:224500:12: */ var iHash uint32 var p uintptr var pPtr uintptr @@ -181871,7 +181902,7 @@ func sqlite3Fts5HashWrite(tls *libc.TLS, pHash uintptr, iRowid I64, iCol int32, // Arguments pLeft and pRight point to linked-lists of hash-entry objects, // each sorted in key order. This function merges the two lists into a // single list and returns a pointer to its first element. -func fts5HashEntryMerge(tls *libc.TLS, pLeft uintptr, pRight uintptr) uintptr { /* sqlite3.c:224596:22: */ +func fts5HashEntryMerge(tls *libc.TLS, pLeft uintptr, pRight uintptr) uintptr { /* sqlite3.c:224653:22: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -181917,7 +181948,7 @@ func fts5HashEntryMerge(tls *libc.TLS, pLeft uintptr, pRight uintptr) uintptr { // in sorted order. The hash table is cleared before returning. It is // the responsibility of the caller to free the elements of the returned // list. -func fts5HashEntrySort(tls *libc.TLS, pHash uintptr, pTerm uintptr, nTerm int32, ppSorted uintptr) int32 { /* sqlite3.c:224642:12: */ +func fts5HashEntrySort(tls *libc.TLS, pHash uintptr, pTerm uintptr, nTerm int32, ppSorted uintptr) int32 { /* sqlite3.c:224699:12: */ var nMergeSlot int32 = 32 var ap uintptr var pList uintptr @@ -181959,7 +181990,7 @@ func fts5HashEntrySort(tls *libc.TLS, pHash uintptr, pTerm uintptr, nTerm int32, } // Query the hash table for a doclist associated with term pTerm/nTerm. -func sqlite3Fts5HashQuery(tls *libc.TLS, pHash uintptr, nPre int32, pTerm uintptr, nTerm int32, ppOut uintptr, pnDoclist uintptr) int32 { /* sqlite3.c:224689:12: */ +func sqlite3Fts5HashQuery(tls *libc.TLS, pHash uintptr, nPre int32, pTerm uintptr, nTerm int32, ppOut uintptr, pnDoclist uintptr) int32 { /* sqlite3.c:224746:12: */ var iHash uint32 = fts5HashKey(tls, (*Fts5Hash)(unsafe.Pointer(pHash)).FnSlot, pTerm, nTerm) var zKey uintptr = uintptr(0) var p uintptr @@ -181993,20 +182024,20 @@ func sqlite3Fts5HashQuery(tls *libc.TLS, pHash uintptr, nPre int32, pTerm uintpt return SQLITE_OK } -func sqlite3Fts5HashScanInit(tls *libc.TLS, p uintptr, pTerm uintptr, nTerm int32) int32 { /* sqlite3.c:224727:12: */ +func sqlite3Fts5HashScanInit(tls *libc.TLS, p uintptr, pTerm uintptr, nTerm int32) int32 { /* sqlite3.c:224784:12: */ return fts5HashEntrySort(tls, p, pTerm, nTerm, p+24) } -func sqlite3Fts5HashScanNext(tls *libc.TLS, p uintptr) { /* sqlite3.c:224734:13: */ +func sqlite3Fts5HashScanNext(tls *libc.TLS, p uintptr) { /* sqlite3.c:224791:13: */ (*Fts5Hash)(unsafe.Pointer(p)).FpScan = (*Fts5HashEntry)(unsafe.Pointer((*Fts5Hash)(unsafe.Pointer(p)).FpScan)).FpScanNext } -func sqlite3Fts5HashScanEof(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:224739:12: */ +func sqlite3Fts5HashScanEof(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:224796:12: */ return libc.Bool32((*Fts5Hash)(unsafe.Pointer(p)).FpScan == uintptr(0)) } -func sqlite3Fts5HashScanEntry(tls *libc.TLS, pHash uintptr, pzTerm uintptr, ppDoclist uintptr, pnDoclist uintptr) { /* sqlite3.c:224743:13: */ +func sqlite3Fts5HashScanEntry(tls *libc.TLS, pHash uintptr, pzTerm uintptr, ppDoclist uintptr, pnDoclist uintptr) { /* sqlite3.c:224800:13: */ var p uintptr if libc.AssignUintptr(&p, (*Fts5Hash)(unsafe.Pointer(pHash)).FpScan) != 0 { var zKey uintptr = p + 1*48 @@ -182232,7 +182263,7 @@ type Fts5Data1 = struct { Fp uintptr Fnn int32 FszLeaf int32 -} /* sqlite3.c:225018:9 */ +} /* sqlite3.c:225075:9 */ // 2014 May 31 // @@ -182440,14 +182471,14 @@ type Fts5Data1 = struct { // many zero bytes. This makes it easier to decode the various record formats // without overreading if the records are corrupt. -type Fts5Data = Fts5Data1 /* sqlite3.c:225018:25 */ +type Fts5Data = Fts5Data1 /* sqlite3.c:225075:25 */ type Fts5DlidxIter1 = struct { FnLvl int32 FiSegid int32 FaLvl [1]Fts5DlidxLvl -} /* sqlite3.c:225019:9 */ +} /* sqlite3.c:225076:9 */ -type Fts5DlidxIter = Fts5DlidxIter1 /* sqlite3.c:225019:30 */ +type Fts5DlidxIter = Fts5DlidxIter1 /* sqlite3.c:225076:30 */ type Fts5DlidxLvl1 = struct { FpData uintptr FiOff int32 @@ -182455,17 +182486,17 @@ type Fts5DlidxLvl1 = struct { FiFirstOff int32 FiLeafPgno int32 FiRowid I64 -} /* sqlite3.c:225019:9 */ +} /* sqlite3.c:225076:9 */ -type Fts5DlidxLvl = Fts5DlidxLvl1 /* sqlite3.c:225020:29 */ +type Fts5DlidxLvl = Fts5DlidxLvl1 /* sqlite3.c:225077:29 */ type Fts5DlidxWriter1 = struct { Fpgno int32 FbPrevValid int32 FiPrev I64 Fbuf Fts5Buffer -} /* sqlite3.c:225021:9 */ +} /* sqlite3.c:225078:9 */ -type Fts5DlidxWriter = Fts5DlidxWriter1 /* sqlite3.c:225021:32 */ +type Fts5DlidxWriter = Fts5DlidxWriter1 /* sqlite3.c:225078:32 */ type Fts5Iter1 = struct { Fbase Fts5IndexIter FpIndex uintptr @@ -182479,18 +182510,18 @@ type Fts5Iter1 = struct { FiSwitchRowid I64 FaFirst uintptr FaSeg [1]Fts5SegIter -} /* sqlite3.c:225022:9 */ +} /* sqlite3.c:225079:9 */ -type Fts5Iter = Fts5Iter1 /* sqlite3.c:225022:25 */ +type Fts5Iter = Fts5Iter1 /* sqlite3.c:225079:25 */ type Fts5PageWriter1 = struct { Fpgno int32 FiPrevPgidx int32 Fbuf Fts5Buffer Fpgidx Fts5Buffer Fterm Fts5Buffer -} /* sqlite3.c:225023:9 */ +} /* sqlite3.c:225080:9 */ -type Fts5PageWriter = Fts5PageWriter1 /* sqlite3.c:225023:31 */ +type Fts5PageWriter = Fts5PageWriter1 /* sqlite3.c:225080:31 */ type Fts5SegIter1 = struct { FpSeg uintptr Fflags int32 @@ -182512,18 +182543,18 @@ type Fts5SegIter1 = struct { FnPos int32 FbDel U8 F__ccgo_pad1 [3]byte -} /* sqlite3.c:225022:9 */ +} /* sqlite3.c:225079:9 */ -type Fts5SegIter = Fts5SegIter1 /* sqlite3.c:225024:28 */ +type Fts5SegIter = Fts5SegIter1 /* sqlite3.c:225081:28 */ type Fts5DoclistIter1 = struct { FaEof uintptr FiRowid I64 FaPoslist uintptr FnPoslist int32 FnSize int32 -} /* sqlite3.c:225025:9 */ +} /* sqlite3.c:225082:9 */ -type Fts5DoclistIter = Fts5DoclistIter1 /* sqlite3.c:225025:32 */ +type Fts5DoclistIter = Fts5DoclistIter1 /* sqlite3.c:225082:32 */ type Fts5SegWriter1 = struct { FiSegid int32 F__ccgo_pad1 [4]byte @@ -182540,9 +182571,9 @@ type Fts5SegWriter1 = struct { Fbtterm Fts5Buffer FiBtPage int32 F__ccgo_pad3 [4]byte -} /* sqlite3.c:225026:9 */ +} /* sqlite3.c:225083:9 */ -type Fts5SegWriter = Fts5SegWriter1 /* sqlite3.c:225026:30 */ +type Fts5SegWriter = Fts5SegWriter1 /* sqlite3.c:225083:30 */ type Fts5Structure1 = struct { FnRef int32 F__ccgo_pad1 [4]byte @@ -182550,38 +182581,38 @@ type Fts5Structure1 = struct { FnSegment int32 FnLevel int32 FaLevel [1]Fts5StructureLevel -} /* sqlite3.c:216813:9 */ +} /* sqlite3.c:216870:9 */ -type Fts5Structure = Fts5Structure1 /* sqlite3.c:225027:30 */ +type Fts5Structure = Fts5Structure1 /* sqlite3.c:225084:30 */ type Fts5StructureLevel1 = struct { FnMerge int32 FnSeg int32 FaSeg uintptr -} /* sqlite3.c:216813:9 */ +} /* sqlite3.c:216870:9 */ -type Fts5StructureLevel = Fts5StructureLevel1 /* sqlite3.c:225028:35 */ +type Fts5StructureLevel = Fts5StructureLevel1 /* sqlite3.c:225085:35 */ type Fts5StructureSegment1 = struct { FiSegid int32 FpgnoFirst int32 FpgnoLast int32 -} /* sqlite3.c:216813:9 */ +} /* sqlite3.c:216870:9 */ -type Fts5StructureSegment = Fts5StructureSegment1 /* sqlite3.c:225029:37 */ +type Fts5StructureSegment = Fts5StructureSegment1 /* sqlite3.c:225086:37 */ type Fts5CResult1 = struct { FiFirst U16 FbTermEq U8 F__ccgo_pad1 [1]byte -} /* sqlite3.c:225022:9 */ +} /* sqlite3.c:225079:9 */ -type Fts5CResult = Fts5CResult1 /* sqlite3.c:225139:28 */ +type Fts5CResult = Fts5CResult1 /* sqlite3.c:225196:28 */ -func fts5PutU16(tls *libc.TLS, aOut uintptr, iVal U16) { /* sqlite3.c:225318:13: */ +func fts5PutU16(tls *libc.TLS, aOut uintptr, iVal U16) { /* sqlite3.c:225375:13: */ *(*U8)(unsafe.Pointer(aOut)) = U8(int32(iVal) >> 8) *(*U8)(unsafe.Pointer(aOut + 1)) = U8(int32(iVal) & 0xFF) } -func fts5GetU16(tls *libc.TLS, aIn uintptr) U16 { /* sqlite3.c:225323:12: */ +func fts5GetU16(tls *libc.TLS, aIn uintptr) U16 { /* sqlite3.c:225380:12: */ return U16(int32(U16(*(*U8)(unsafe.Pointer(aIn))))<<8 + int32(*(*U8)(unsafe.Pointer(aIn + 1)))) } @@ -182589,7 +182620,7 @@ func fts5GetU16(tls *libc.TLS, aIn uintptr) U16 { /* sqlite3.c:225323:12: */ // // If an OOM error is encountered, return NULL and set the error code in // the Fts5Index handle passed as the first argument. -func fts5IdxMalloc(tls *libc.TLS, p uintptr, nByte Sqlite3_int64) uintptr { /* sqlite3.c:225333:13: */ +func fts5IdxMalloc(tls *libc.TLS, p uintptr, nByte Sqlite3_int64) uintptr { /* sqlite3.c:225390:13: */ return sqlite3Fts5MallocZero(tls, p+52, nByte) } @@ -182607,7 +182638,7 @@ func fts5IdxMalloc(tls *libc.TLS, p uintptr, nByte Sqlite3_int64) uintptr { /* s // +ve if pRight is smaller than pLeft. In other words: // // res = *pLeft - *pRight -func fts5BufferCompare(tls *libc.TLS, pLeft uintptr, pRight uintptr) int32 { /* sqlite3.c:225365:12: */ +func fts5BufferCompare(tls *libc.TLS, pLeft uintptr, pRight uintptr) int32 { /* sqlite3.c:225422:12: */ var nCmp int32 var res int32 nCmp = func() int32 { @@ -182631,7 +182662,7 @@ func fts5BufferCompare(tls *libc.TLS, pLeft uintptr, pRight uintptr) int32 { /* }() } -func fts5LeafFirstTermOff(tls *libc.TLS, pLeaf uintptr) int32 { /* sqlite3.c:225374:12: */ +func fts5LeafFirstTermOff(tls *libc.TLS, pLeaf uintptr) int32 { /* sqlite3.c:225431:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -182642,7 +182673,7 @@ func fts5LeafFirstTermOff(tls *libc.TLS, pLeaf uintptr) int32 { /* sqlite3.c:225 } // Close the read-only blob handle, if it is open. -func sqlite3Fts5IndexCloseReader(tls *libc.TLS, p uintptr) { /* sqlite3.c:225383:13: */ +func sqlite3Fts5IndexCloseReader(tls *libc.TLS, p uintptr) { /* sqlite3.c:225440:13: */ if (*Fts5Index)(unsafe.Pointer(p)).FpReader != 0 { var pReader uintptr = (*Fts5Index)(unsafe.Pointer(p)).FpReader (*Fts5Index)(unsafe.Pointer(p)).FpReader = uintptr(0) @@ -182654,7 +182685,7 @@ func sqlite3Fts5IndexCloseReader(tls *libc.TLS, p uintptr) { /* sqlite3.c:225383 // // If an error occurs, NULL is returned and an error left in the // Fts5Index object. -func fts5DataRead(tls *libc.TLS, p uintptr, iRowid I64) uintptr { /* sqlite3.c:225397:17: */ +func fts5DataRead(tls *libc.TLS, p uintptr, iRowid I64) uintptr { /* sqlite3.c:225454:17: */ var pRet uintptr = uintptr(0) if (*Fts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK { var rc int32 = SQLITE_OK @@ -182727,11 +182758,11 @@ func fts5DataRead(tls *libc.TLS, p uintptr, iRowid I64) uintptr { /* sqlite3.c:2 // Release a reference to data record returned by an earlier call to // fts5DataRead(). -func fts5DataRelease(tls *libc.TLS, pData uintptr) { /* sqlite3.c:225471:13: */ +func fts5DataRelease(tls *libc.TLS, pData uintptr) { /* sqlite3.c:225528:13: */ Xsqlite3_free(tls, pData) } -func fts5LeafRead(tls *libc.TLS, p uintptr, iRowid I64) uintptr { /* sqlite3.c:225475:17: */ +func fts5LeafRead(tls *libc.TLS, p uintptr, iRowid I64) uintptr { /* sqlite3.c:225532:17: */ var pRet uintptr = fts5DataRead(tls, p, iRowid) if pRet != 0 { if (*Fts5Data)(unsafe.Pointer(pRet)).Fnn < 4 || (*Fts5Data)(unsafe.Pointer(pRet)).FszLeaf > (*Fts5Data)(unsafe.Pointer(pRet)).Fnn { @@ -182743,7 +182774,7 @@ func fts5LeafRead(tls *libc.TLS, p uintptr, iRowid I64) uintptr { /* sqlite3.c:2 return pRet } -func fts5IndexPrepareStmt(tls *libc.TLS, p uintptr, ppStmt uintptr, zSql uintptr) int32 { /* sqlite3.c:225487:12: */ +func fts5IndexPrepareStmt(tls *libc.TLS, p uintptr, ppStmt uintptr, zSql uintptr) int32 { /* sqlite3.c:225544:12: */ if (*Fts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK { if zSql != 0 { (*Fts5Index)(unsafe.Pointer(p)).Frc = Xsqlite3_prepare_v3(tls, (*Fts5Config)(unsafe.Pointer((*Fts5Index)(unsafe.Pointer(p)).FpConfig)).Fdb, zSql, -1, @@ -182758,7 +182789,7 @@ func fts5IndexPrepareStmt(tls *libc.TLS, p uintptr, ppStmt uintptr, zSql uintptr } // INSERT OR REPLACE a record into the %_data table. -func fts5DataWrite(tls *libc.TLS, p uintptr, iRowid I64, pData uintptr, nData int32) { /* sqlite3.c:225509:13: */ +func fts5DataWrite(tls *libc.TLS, p uintptr, iRowid I64, pData uintptr, nData int32) { /* sqlite3.c:225566:13: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -182786,7 +182817,7 @@ func fts5DataWrite(tls *libc.TLS, p uintptr, iRowid I64, pData uintptr, nData in // Execute the following SQL: // // DELETE FROM %_data WHERE id BETWEEN $iFirst AND $iLast -func fts5DataDelete(tls *libc.TLS, p uintptr, iFirst I64, iLast I64) { /* sqlite3.c:225533:13: */ +func fts5DataDelete(tls *libc.TLS, p uintptr, iFirst I64, iLast I64) { /* sqlite3.c:225590:13: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -182811,7 +182842,7 @@ func fts5DataDelete(tls *libc.TLS, p uintptr, iFirst I64, iLast I64) { /* sqlite } // Remove all records associated with segment iSegid. -func fts5DataRemoveSegment(tls *libc.TLS, p uintptr, iSegid int32) { /* sqlite3.c:225554:13: */ +func fts5DataRemoveSegment(tls *libc.TLS, p uintptr, iSegid int32) { /* sqlite3.c:225611:13: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -182833,7 +182864,7 @@ func fts5DataRemoveSegment(tls *libc.TLS, p uintptr, iSegid int32) { /* sqlite3. // Release a reference to an Fts5Structure object returned by an earlier // call to fts5StructureRead() or fts5StructureDecode(). -func fts5StructureRelease(tls *libc.TLS, pStruct uintptr) { /* sqlite3.c:225576:13: */ +func fts5StructureRelease(tls *libc.TLS, pStruct uintptr) { /* sqlite3.c:225633:13: */ if pStruct != 0 && 0 >= libc.PreDecInt32(&(*Fts5Structure)(unsafe.Pointer(pStruct)).FnRef, 1) { var i int32 @@ -182844,22 +182875,22 @@ func fts5StructureRelease(tls *libc.TLS, pStruct uintptr) { /* sqlite3.c:225576: } } -func fts5StructureRef(tls *libc.TLS, pStruct uintptr) { /* sqlite3.c:225587:13: */ +func fts5StructureRef(tls *libc.TLS, pStruct uintptr) { /* sqlite3.c:225644:13: */ (*Fts5Structure)(unsafe.Pointer(pStruct)).FnRef++ } -func sqlite3Fts5StructureRef(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:225591:13: */ +func sqlite3Fts5StructureRef(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:225648:13: */ fts5StructureRef(tls, (*Fts5Index)(unsafe.Pointer(p)).FpStruct) return (*Fts5Index)(unsafe.Pointer(p)).FpStruct } -func sqlite3Fts5StructureRelease(tls *libc.TLS, p uintptr) { /* sqlite3.c:225595:13: */ +func sqlite3Fts5StructureRelease(tls *libc.TLS, p uintptr) { /* sqlite3.c:225652:13: */ if p != 0 { fts5StructureRelease(tls, p) } } -func sqlite3Fts5StructureTest(tls *libc.TLS, p uintptr, pStruct uintptr) int32 { /* sqlite3.c:225600:12: */ +func sqlite3Fts5StructureTest(tls *libc.TLS, p uintptr, pStruct uintptr) int32 { /* sqlite3.c:225657:12: */ if (*Fts5Index)(unsafe.Pointer(p)).FpStruct != pStruct { return SQLITE_ABORT } @@ -182870,7 +182901,7 @@ func sqlite3Fts5StructureTest(tls *libc.TLS, p uintptr, pStruct uintptr) int32 { // // This function is a no-op if (*pRc) is not SQLITE_OK when it is called. If // an error occurs, (*pRc) is set to an SQLite error code before returning. -func fts5StructureMakeWritable(tls *libc.TLS, pRc uintptr, pp uintptr) { /* sqlite3.c:225613:13: */ +func fts5StructureMakeWritable(tls *libc.TLS, pRc uintptr, pp uintptr) { /* sqlite3.c:225670:13: */ var p uintptr = *(*uintptr)(unsafe.Pointer(pp)) if *(*int32)(unsafe.Pointer(pRc)) == SQLITE_OK && (*Fts5Structure)(unsafe.Pointer(p)).FnRef > 1 { var nByte I64 = I64(uint64(unsafe.Sizeof(Fts5Structure{})) + uint64((*Fts5Structure)(unsafe.Pointer(p)).FnLevel-1)*uint64(unsafe.Sizeof(Fts5StructureLevel{}))) @@ -182912,7 +182943,7 @@ func fts5StructureMakeWritable(tls *libc.TLS, pRc uintptr, pp uintptr) { /* sqli // If an error occurs, *ppOut is set to NULL and an SQLite error code // returned. Otherwise, *ppOut is set to point to the new object and // SQLITE_OK returned. -func fts5StructureDecode(tls *libc.TLS, pData uintptr, nData int32, piCookie uintptr, ppOut uintptr) int32 { /* sqlite3.c:225655:12: */ +func fts5StructureDecode(tls *libc.TLS, pData uintptr, nData int32, piCookie uintptr, ppOut uintptr) int32 { /* sqlite3.c:225712:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -183005,7 +183036,7 @@ func fts5StructureDecode(tls *libc.TLS, pData uintptr, nData int32, piCookie uin // Add a level to the Fts5Structure.aLevel[] array of structure object // (*ppStruct). -func fts5StructureAddLevel(tls *libc.TLS, pRc uintptr, ppStruct uintptr) { /* sqlite3.c:225747:13: */ +func fts5StructureAddLevel(tls *libc.TLS, pRc uintptr, ppStruct uintptr) { /* sqlite3.c:225804:13: */ fts5StructureMakeWritable(tls, pRc, ppStruct) if *(*int32)(unsafe.Pointer(pRc)) == SQLITE_OK { var pStruct uintptr = *(*uintptr)(unsafe.Pointer(ppStruct)) @@ -183025,7 +183056,7 @@ func fts5StructureAddLevel(tls *libc.TLS, pRc uintptr, ppStruct uintptr) { /* sq // Extend level iLvl so that there is room for at least nExtra more // segments. -func fts5StructureExtendLevel(tls *libc.TLS, pRc uintptr, pStruct uintptr, iLvl int32, nExtra int32, bInsert int32) { /* sqlite3.c:225772:13: */ +func fts5StructureExtendLevel(tls *libc.TLS, pRc uintptr, pStruct uintptr, iLvl int32, nExtra int32, bInsert int32) { /* sqlite3.c:225829:13: */ if *(*int32)(unsafe.Pointer(pRc)) == SQLITE_OK { var pLvl uintptr = pStruct + 24 + uintptr(iLvl)*16 var aNew uintptr @@ -183048,7 +183079,7 @@ func fts5StructureExtendLevel(tls *libc.TLS, pRc uintptr, pStruct uintptr, iLvl } } -func fts5StructureReadUncached(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:225801:22: */ +func fts5StructureReadUncached(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:225858:22: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -183076,7 +183107,7 @@ func fts5StructureReadUncached(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c: return *(*uintptr)(unsafe.Pointer(bp + 8 /* pRet */)) } -func fts5IndexDataVersion(tls *libc.TLS, p uintptr) I64 { /* sqlite3.c:225825:12: */ +func fts5IndexDataVersion(tls *libc.TLS, p uintptr) I64 { /* sqlite3.c:225882:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -183109,7 +183140,7 @@ func fts5IndexDataVersion(tls *libc.TLS, p uintptr) I64 { /* sqlite3.c:225825:12 // If an error occurs, NULL is returned and an error code left in the // Fts5Index handle. If an error has already occurred when this function // is called, it is a no-op. -func fts5StructureRead(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:225856:22: */ +func fts5StructureRead(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:225913:22: */ if (*Fts5Index)(unsafe.Pointer(p)).FpStruct == uintptr(0) { (*Fts5Index)(unsafe.Pointer(p)).FiStructVersion = fts5IndexDataVersion(tls, p) @@ -183126,7 +183157,7 @@ func fts5StructureRead(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:225856:2 return (*Fts5Index)(unsafe.Pointer(p)).FpStruct } -func fts5StructureInvalidate(tls *libc.TLS, p uintptr) { /* sqlite3.c:225895:13: */ +func fts5StructureInvalidate(tls *libc.TLS, p uintptr) { /* sqlite3.c:225952:13: */ if (*Fts5Index)(unsafe.Pointer(p)).FpStruct != 0 { fts5StructureRelease(tls, (*Fts5Index)(unsafe.Pointer(p)).FpStruct) (*Fts5Index)(unsafe.Pointer(p)).FpStruct = uintptr(0) @@ -183140,7 +183171,7 @@ func fts5StructureInvalidate(tls *libc.TLS, p uintptr) { /* sqlite3.c:225895:13: // // If an error occurs, leave an error code in the Fts5Index object. If an // error has already occurred, this function is a no-op. -func fts5StructureWrite(tls *libc.TLS, p uintptr, pStruct uintptr) { /* sqlite3.c:225938:13: */ +func fts5StructureWrite(tls *libc.TLS, p uintptr, pStruct uintptr) { /* sqlite3.c:225995:13: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -183193,14 +183224,14 @@ func fts5StructureWrite(tls *libc.TLS, p uintptr, pStruct uintptr) { /* sqlite3. } } -func fts5SegmentSize(tls *libc.TLS, pSeg uintptr) int32 { /* sqlite3.c:225993:12: */ +func fts5SegmentSize(tls *libc.TLS, pSeg uintptr) int32 { /* sqlite3.c:226050:12: */ return 1 + (*Fts5StructureSegment)(unsafe.Pointer(pSeg)).FpgnoLast - (*Fts5StructureSegment)(unsafe.Pointer(pSeg)).FpgnoFirst } // Return a copy of index structure pStruct. Except, promote as many // segments as possible to level iPromote. If an OOM occurs, NULL is // returned. -func fts5StructurePromoteTo(tls *libc.TLS, p uintptr, iPromote int32, szPromote int32, pStruct uintptr) { /* sqlite3.c:226002:13: */ +func fts5StructurePromoteTo(tls *libc.TLS, p uintptr, iPromote int32, szPromote int32, pStruct uintptr) { /* sqlite3.c:226059:13: */ var il int32 var is int32 var pOut uintptr = pStruct + 24 + uintptr(iPromote)*16 @@ -183243,7 +183274,7 @@ func fts5StructurePromoteTo(tls *libc.TLS, p uintptr, iPromote int32, szPromote // // If one or more segments are promoted, the structure object is updated // to reflect this. -func fts5StructurePromote(tls *libc.TLS, p uintptr, iLvl int32, pStruct uintptr) { /* sqlite3.c:226045:13: */ +func fts5StructurePromote(tls *libc.TLS, p uintptr, iLvl int32, pStruct uintptr) { /* sqlite3.c:226102:13: */ if (*Fts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK { var iTst int32 var iPromote int32 = -1 @@ -183292,7 +183323,7 @@ func fts5StructurePromote(tls *libc.TLS, p uintptr, iLvl int32, pStruct uintptr) // Advance the iterator passed as the only argument. If the end of the // doclist-index page is reached, return non-zero. -func fts5DlidxLvlNext(tls *libc.TLS, pLvl uintptr) int32 { /* sqlite3.c:226096:12: */ +func fts5DlidxLvlNext(tls *libc.TLS, pLvl uintptr) int32 { /* sqlite3.c:226153:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -183328,7 +183359,7 @@ func fts5DlidxLvlNext(tls *libc.TLS, pLvl uintptr) int32 { /* sqlite3.c:226096:1 } // Advance the iterator passed as the only argument. -func fts5DlidxIterNextR(tls *libc.TLS, p uintptr, pIter uintptr, iLvl int32) int32 { /* sqlite3.c:226128:12: */ +func fts5DlidxIterNextR(tls *libc.TLS, p uintptr, pIter uintptr, iLvl int32) int32 { /* sqlite3.c:226185:12: */ var pLvl uintptr = pIter + 8 + uintptr(iLvl)*32 if fts5DlidxLvlNext(tls, pLvl) != 0 { @@ -183349,7 +183380,7 @@ func fts5DlidxIterNextR(tls *libc.TLS, p uintptr, pIter uintptr, iLvl int32) int return (*Fts5DlidxLvl)(unsafe.Pointer(pIter + 8)).FbEof } -func fts5DlidxIterNext(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlite3.c:226148:12: */ +func fts5DlidxIterNext(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlite3.c:226205:12: */ return fts5DlidxIterNextR(tls, p, pIter, 0) } @@ -183362,7 +183393,7 @@ func fts5DlidxIterNext(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlit // // When this function is called pIter->iLeafPgno is the page number the // doclist is associated with (the one featuring the term). -func fts5DlidxIterFirst(tls *libc.TLS, pIter uintptr) int32 { /* sqlite3.c:226163:12: */ +func fts5DlidxIterFirst(tls *libc.TLS, pIter uintptr) int32 { /* sqlite3.c:226220:12: */ var i int32 for i = 0; i < (*Fts5DlidxIter)(unsafe.Pointer(pIter)).FnLvl; i++ { fts5DlidxLvlNext(tls, pIter+8+uintptr(i)*32) @@ -183370,11 +183401,11 @@ func fts5DlidxIterFirst(tls *libc.TLS, pIter uintptr) int32 { /* sqlite3.c:22616 return (*Fts5DlidxLvl)(unsafe.Pointer(pIter + 8)).FbEof } -func fts5DlidxIterEof(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlite3.c:226172:12: */ +func fts5DlidxIterEof(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlite3.c:226229:12: */ return libc.Bool32((*Fts5Index)(unsafe.Pointer(p)).Frc != SQLITE_OK || (*Fts5DlidxLvl)(unsafe.Pointer(pIter+8)).FbEof != 0) } -func fts5DlidxIterLast(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:226176:13: */ +func fts5DlidxIterLast(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:226233:13: */ var i int32 // Advance each level to the last entry on the last page @@ -183395,7 +183426,7 @@ func fts5DlidxIterLast(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:2 } // Move the iterator passed as the only argument to the previous entry. -func fts5DlidxLvlPrev(tls *libc.TLS, pLvl uintptr) int32 { /* sqlite3.c:226199:12: */ +func fts5DlidxLvlPrev(tls *libc.TLS, pLvl uintptr) int32 { /* sqlite3.c:226256:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -183457,7 +183488,7 @@ func fts5DlidxLvlPrev(tls *libc.TLS, pLvl uintptr) int32 { /* sqlite3.c:226199:1 return (*Fts5DlidxLvl)(unsafe.Pointer(pLvl)).FbEof } -func fts5DlidxIterPrevR(tls *libc.TLS, p uintptr, pIter uintptr, iLvl int32) int32 { /* sqlite3.c:226248:12: */ +func fts5DlidxIterPrevR(tls *libc.TLS, p uintptr, pIter uintptr, iLvl int32) int32 { /* sqlite3.c:226305:12: */ var pLvl uintptr = pIter + 8 + uintptr(iLvl)*32 if fts5DlidxLvlPrev(tls, pLvl) != 0 { @@ -183480,12 +183511,12 @@ func fts5DlidxIterPrevR(tls *libc.TLS, p uintptr, pIter uintptr, iLvl int32) int return (*Fts5DlidxLvl)(unsafe.Pointer(pIter + 8)).FbEof } -func fts5DlidxIterPrev(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlite3.c:226271:12: */ +func fts5DlidxIterPrev(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlite3.c:226328:12: */ return fts5DlidxIterPrevR(tls, p, pIter, 0) } // Free a doclist-index iterator object allocated by fts5DlidxIterInit(). -func fts5DlidxIterFree(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:226278:13: */ +func fts5DlidxIterFree(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:226335:13: */ if pIter != 0 { var i int32 for i = 0; i < (*Fts5DlidxIter)(unsafe.Pointer(pIter)).FnLvl; i++ { @@ -183495,7 +183526,7 @@ func fts5DlidxIterFree(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:226278:13: * } } -func fts5DlidxIterInit(tls *libc.TLS, p uintptr, bRev int32, iSegid int32, iLeafPg int32) uintptr { /* sqlite3.c:226288:22: */ +func fts5DlidxIterInit(tls *libc.TLS, p uintptr, bRev int32, iSegid int32, iLeafPg int32) uintptr { /* sqlite3.c:226345:22: */ var pIter uintptr = uintptr(0) var i int32 var bDone int32 = 0 @@ -183537,16 +183568,16 @@ func fts5DlidxIterInit(tls *libc.TLS, p uintptr, bRev int32, iSegid int32, iLeaf return pIter } -func fts5DlidxIterRowid(tls *libc.TLS, pIter uintptr) I64 { /* sqlite3.c:226335:12: */ +func fts5DlidxIterRowid(tls *libc.TLS, pIter uintptr) I64 { /* sqlite3.c:226392:12: */ return (*Fts5DlidxLvl)(unsafe.Pointer(pIter + 8)).FiRowid } -func fts5DlidxIterPgno(tls *libc.TLS, pIter uintptr) int32 { /* sqlite3.c:226338:12: */ +func fts5DlidxIterPgno(tls *libc.TLS, pIter uintptr) int32 { /* sqlite3.c:226395:12: */ return (*Fts5DlidxLvl)(unsafe.Pointer(pIter + 8)).FiLeafPgno } // Load the next leaf page into the segment iterator. -func fts5SegIterNextPage(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:226345:13: */ +func fts5SegIterNextPage(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:226402:13: */ var pLeaf uintptr var pSeg uintptr = (*Fts5SegIter)(unsafe.Pointer(pIter)).FpSeg fts5DataRelease(tls, (*Fts5SegIter)(unsafe.Pointer(pIter)).FpLeaf) @@ -183576,7 +183607,7 @@ func fts5SegIterNextPage(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c // position list size field. Read the varint and return the number of bytes // read. Before returning, set *pnSz to the number of bytes in the position // list, and *pbDel to true if the delete flag is set, or false otherwise. -func fts5GetPoslistSize(tls *libc.TLS, p uintptr, pnSz uintptr, pbDel uintptr) int32 { /* sqlite3.c:226383:12: */ +func fts5GetPoslistSize(tls *libc.TLS, p uintptr, pnSz uintptr, pbDel uintptr) int32 { /* sqlite3.c:226440:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -183605,7 +183636,7 @@ func fts5GetPoslistSize(tls *libc.TLS, p uintptr, pnSz uintptr, pbDel uintptr) i // // Leave Fts5SegIter.iLeafOffset pointing to the first byte of the // position list content (if any). -func fts5SegIterLoadNPos(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:226404:13: */ +func fts5SegIterLoadNPos(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:226461:13: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -183650,7 +183681,7 @@ func fts5SegIterLoadNPos(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c } } -func fts5SegIterLoadRowid(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:226433:13: */ +func fts5SegIterLoadRowid(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:226490:13: */ var a uintptr = (*Fts5Data)(unsafe.Pointer((*Fts5SegIter)(unsafe.Pointer(pIter)).FpLeaf)).Fp // Buffer to read data from var iOff I64 = (*Fts5SegIter)(unsafe.Pointer(pIter)).FiLeafOffset @@ -183682,7 +183713,7 @@ func fts5SegIterLoadRowid(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3. // accordingly and leaves (Fts5SegIter.iLeafOffset) set to the content of // the first position list. The position list belonging to document // (Fts5SegIter.iRowid). -func fts5SegIterLoadTerm(tls *libc.TLS, p uintptr, pIter uintptr, nKeep int32) { /* sqlite3.c:226466:13: */ +func fts5SegIterLoadTerm(tls *libc.TLS, p uintptr, pIter uintptr, nKeep int32) { /* sqlite3.c:226523:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -183716,7 +183747,7 @@ func fts5SegIterLoadTerm(tls *libc.TLS, p uintptr, pIter uintptr, nKeep int32) { fts5SegIterLoadRowid(tls, p, pIter) } -func fts5SegIterSetNext(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:226499:13: */ +func fts5SegIterSetNext(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:226556:13: */ if (*Fts5SegIter)(unsafe.Pointer(pIter)).Fflags&FTS5_SEGITER_REVERSE != 0 { (*Fts5SegIter)(unsafe.Pointer(pIter)).FxNext = *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, uintptr) @@ -183738,7 +183769,7 @@ func fts5SegIterSetNext(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c: // // If an error occurs, Fts5Index.rc is set to an appropriate error code. If // an error has already occurred when this function is called, it is a no-op. -func fts5SegIterInit(tls *libc.TLS, p uintptr, pSeg uintptr, pIter uintptr) { /* sqlite3.c:226517:13: */ +func fts5SegIterInit(tls *libc.TLS, p uintptr, pSeg uintptr, pIter uintptr) { /* sqlite3.c:226574:13: */ if (*Fts5StructureSegment)(unsafe.Pointer(pSeg)).FpgnoFirst == 0 { // This happens if the segment is being used as an input to an incremental // merge and all data has already been "trimmed". See function @@ -183779,7 +183810,7 @@ func fts5SegIterInit(tls *libc.TLS, p uintptr, pSeg uintptr, pIter uintptr) { /* // aRowidOffset[] and iRowidOffset variables. At this point the iterator // is in its regular state - Fts5SegIter.iLeafOffset points to the first // byte of the position list content associated with said rowid. -func fts5SegIterReverseInitPage(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:226566:13: */ +func fts5SegIterReverseInitPage(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:226623:13: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -183838,7 +183869,7 @@ func fts5SegIterReverseInitPage(tls *libc.TLS, p uintptr, pIter uintptr) { /* sq } // -func fts5SegIterReverseNewPage(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:226619:13: */ +func fts5SegIterReverseNewPage(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:226676:13: */ fts5DataRelease(tls, (*Fts5SegIter)(unsafe.Pointer(pIter)).FpLeaf) (*Fts5SegIter)(unsafe.Pointer(pIter)).FpLeaf = uintptr(0) @@ -183888,7 +183919,7 @@ func fts5SegIterReverseNewPage(tls *libc.TLS, p uintptr, pIter uintptr) { /* sql // Return true if the iterator passed as the second argument currently // points to a delete marker. A delete marker is an entry with a 0 byte // position-list. -func fts5MultiIterIsEmpty(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlite3.c:226675:12: */ +func fts5MultiIterIsEmpty(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlite3.c:226732:12: */ var pSeg uintptr = pIter + 96 + uintptr((*Fts5CResult)(unsafe.Pointer((*Fts5Iter)(unsafe.Pointer(pIter)).FaFirst+1*4)).FiFirst)*120 return libc.Bool32((*Fts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK && (*Fts5SegIter)(unsafe.Pointer(pSeg)).FpLeaf != 0 && (*Fts5SegIter)(unsafe.Pointer(pSeg)).FnPos == 0) } @@ -183896,7 +183927,7 @@ func fts5MultiIterIsEmpty(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sq // Advance iterator pIter to the next entry. // // This version of fts5SegIterNext() is only used by reverse iterators. -func fts5SegIterNext_Reverse(tls *libc.TLS, p uintptr, pIter uintptr, pbUnused uintptr) { /* sqlite3.c:226685:13: */ +func fts5SegIterNext_Reverse(tls *libc.TLS, p uintptr, pIter uintptr, pbUnused uintptr) { /* sqlite3.c:226742:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -183925,7 +183956,7 @@ func fts5SegIterNext_Reverse(tls *libc.TLS, p uintptr, pIter uintptr, pbUnused u // // This version of fts5SegIterNext() is only used if detail=none and the // iterator is not a reverse direction iterator. -func fts5SegIterNext_None(tls *libc.TLS, p uintptr, pIter uintptr, pbNewTerm uintptr) { /* sqlite3.c:226719:13: */ +func fts5SegIterNext_None(tls *libc.TLS, p uintptr, pIter uintptr, pbNewTerm uintptr) { /* sqlite3.c:226776:13: */ bp := tls.Alloc(36) defer tls.Free(36) @@ -184030,7 +184061,7 @@ next_none_eof: // If an error occurs, Fts5Index.rc is set to an appropriate error code. It // is not considered an error if the iterator reaches EOF. If an error has // already occurred when this function is called, it is a no-op. -func fts5SegIterNext(tls *libc.TLS, p uintptr, pIter uintptr, pbNewTerm uintptr) { /* sqlite3.c:226791:13: */ +func fts5SegIterNext(tls *libc.TLS, p uintptr, pIter uintptr, pbNewTerm uintptr) { /* sqlite3.c:226848:13: */ bp := tls.Alloc(44) defer tls.Free(44) @@ -184155,7 +184186,7 @@ func fts5SegIterNext(tls *libc.TLS, p uintptr, pIter uintptr, pbNewTerm uintptr) // Iterator pIter currently points to the first rowid in a doclist. This // function sets the iterator up so that iterates in reverse order through // the doclist. -func fts5SegIterReverse(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:226922:13: */ +func fts5SegIterReverse(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:226979:13: */ var pDlidx uintptr = (*Fts5SegIter)(unsafe.Pointer(pIter)).FpDlidx var pLast uintptr = uintptr(0) var pgnoLast int32 = 0 @@ -184255,7 +184286,7 @@ func fts5SegIterReverse(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c: // There is a doclist-index associated with the final term on the current // page. If the current term is the last term on the page, load the // doclist-index from disk and initialize an iterator at (pIter->pDlidx). -func fts5SegIterLoadDlidx(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:227011:13: */ +func fts5SegIterLoadDlidx(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:227068:13: */ var iSeg int32 = (*Fts5StructureSegment)(unsafe.Pointer((*Fts5SegIter)(unsafe.Pointer(pIter)).FpSeg)).FiSegid var bRev int32 = (*Fts5SegIter)(unsafe.Pointer(pIter)).Fflags & FTS5_SEGITER_REVERSE var pLeaf uintptr = (*Fts5SegIter)(unsafe.Pointer(pIter)).FpLeaf // Current leaf data @@ -184283,7 +184314,7 @@ func fts5SegIterLoadDlidx(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3. // iterator is left pointing to the smallest term in the segment that // is larger than the specified term, even if this term is not on the // current page. -func fts5LeafSeek(tls *libc.TLS, p uintptr, bGe int32, pIter uintptr, pTerm uintptr, nTerm int32) { /* sqlite3.c:227045:13: */ +func fts5LeafSeek(tls *libc.TLS, p uintptr, bGe int32, pIter uintptr, pTerm uintptr, nTerm int32) { /* sqlite3.c:227102:13: */ bp := tls.Alloc(20) defer tls.Free(20) @@ -184517,7 +184548,7 @@ __31: fts5SegIterLoadNPos(tls, p, pIter) } -func fts5IdxSelectStmt(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:227171:21: */ +func fts5IdxSelectStmt(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:227228:21: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -184536,7 +184567,7 @@ func fts5IdxSelectStmt(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:227171:2 // // If an error occurs, Fts5Index.rc is set to an appropriate error code. If // an error has already occurred when this function is called, it is a no-op. -func fts5SegIterSeekInit(tls *libc.TLS, p uintptr, pTerm uintptr, nTerm int32, flags int32, pSeg uintptr, pIter uintptr) { /* sqlite3.c:227190:13: */ +func fts5SegIterSeekInit(tls *libc.TLS, p uintptr, pTerm uintptr, nTerm int32, flags int32, pSeg uintptr, pIter uintptr) { /* sqlite3.c:227247:13: */ var iPg int32 = 1 var bGe int32 = flags & FTS5INDEX_QUERY_SCAN var bDlidx int32 = 0 // True if there is a doclist-index @@ -184606,7 +184637,7 @@ func fts5SegIterSeekInit(tls *libc.TLS, p uintptr, pTerm uintptr, nTerm int32, f // // If an error occurs, Fts5Index.rc is set to an appropriate error code. If // an error has already occurred when this function is called, it is a no-op. -func fts5SegIterHashInit(tls *libc.TLS, p uintptr, pTerm uintptr, nTerm int32, flags int32, pIter uintptr) { /* sqlite3.c:227273:13: */ +func fts5SegIterHashInit(tls *libc.TLS, p uintptr, pTerm uintptr, nTerm int32, flags int32, pIter uintptr) { /* sqlite3.c:227330:13: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -184662,7 +184693,7 @@ func fts5SegIterHashInit(tls *libc.TLS, p uintptr, pTerm uintptr, nTerm int32, f } // Zero the iterator passed as the only argument. -func fts5SegIterClear(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:227332:13: */ +func fts5SegIterClear(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:227389:13: */ sqlite3Fts5BufferFree(tls, pIter+88) fts5DataRelease(tls, (*Fts5SegIter)(unsafe.Pointer(pIter)).FpLeaf) fts5DataRelease(tls, (*Fts5SegIter)(unsafe.Pointer(pIter)).FpNextLeaf) @@ -184677,7 +184708,7 @@ func fts5SegIterClear(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:227332:13: */ // in the pIter->aSeg[] array that is (a) not at EOF, and (b) pointing // to a key that is a duplicate of another, higher priority, // segment-iterator in the pSeg->aSeg[] array. -func fts5MultiIterDoCompare(tls *libc.TLS, pIter uintptr, iOut int32) int32 { /* sqlite3.c:227436:12: */ +func fts5MultiIterDoCompare(tls *libc.TLS, pIter uintptr, iOut int32) int32 { /* sqlite3.c:227493:12: */ var i1 int32 // Index of left-hand Fts5SegIter var i2 int32 // Index of right-hand Fts5SegIter var iRes int32 @@ -184729,7 +184760,7 @@ func fts5MultiIterDoCompare(tls *libc.TLS, pIter uintptr, iOut int32) int32 { /* // Move the seg-iter so that it points to the first rowid on page iLeafPgno. // It is an error if leaf iLeafPgno does not exist or contains no rowids. -func fts5SegIterGotoPage(tls *libc.TLS, p uintptr, pIter uintptr, iLeafPgno int32) { /* sqlite3.c:227490:13: */ +func fts5SegIterGotoPage(tls *libc.TLS, p uintptr, pIter uintptr, iLeafPgno int32) { /* sqlite3.c:227547:13: */ if iLeafPgno > (*Fts5StructureSegment)(unsafe.Pointer((*Fts5SegIter)(unsafe.Pointer(pIter)).FpSeg)).FpgnoLast { (*Fts5Index)(unsafe.Pointer(p)).Frc = SQLITE_CORRUPT | int32(1)<<8 @@ -184759,7 +184790,7 @@ func fts5SegIterGotoPage(tls *libc.TLS, p uintptr, pIter uintptr, iLeafPgno int3 // Advance the iterator passed as the second argument until it is at or // past rowid iFrom. Regardless of the value of iFrom, the iterator is // always advanced at least once. -func fts5SegIterNextFrom(tls *libc.TLS, p uintptr, pIter uintptr, iMatch I64) { /* sqlite3.c:227528:13: */ +func fts5SegIterNextFrom(tls *libc.TLS, p uintptr, pIter uintptr, iMatch I64) { /* sqlite3.c:227585:13: */ var bRev int32 = (*Fts5SegIter)(unsafe.Pointer(pIter)).Fflags & FTS5_SEGITER_REVERSE var pDlidx uintptr = (*Fts5SegIter)(unsafe.Pointer(pIter)).FpDlidx var iLeafPgno int32 = (*Fts5SegIter)(unsafe.Pointer(pIter)).FiLeafPgno @@ -184809,7 +184840,7 @@ func fts5SegIterNextFrom(tls *libc.TLS, p uintptr, pIter uintptr, iMatch I64) { } // Free the iterator object passed as the second argument. -func fts5MultiIterFree(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:227582:13: */ +func fts5MultiIterFree(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:227639:13: */ if pIter != 0 { var i int32 for i = 0; i < (*Fts5Iter)(unsafe.Pointer(pIter)).FnSeg; i++ { @@ -184820,7 +184851,7 @@ func fts5MultiIterFree(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:227582:13: * } } -func fts5MultiIterAdvanced(tls *libc.TLS, p uintptr, pIter uintptr, iChanged int32, iMinset int32) { /* sqlite3.c:227593:13: */ +func fts5MultiIterAdvanced(tls *libc.TLS, p uintptr, pIter uintptr, iChanged int32, iMinset int32) { /* sqlite3.c:227650:13: */ var i int32 for i = ((*Fts5Iter)(unsafe.Pointer(pIter)).FnSeg + iChanged) / 2; i >= iMinset && (*Fts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK; i = i / 2 { var iEq int32 @@ -184843,7 +184874,7 @@ func fts5MultiIterAdvanced(tls *libc.TLS, p uintptr, pIter uintptr, iChanged int // If non-zero is returned, the caller should call fts5MultiIterAdvanced() // on the iterator instead. That function does the same as this one, except // that it deals with more complicated cases as well. -func fts5MultiIterAdvanceRowid(tls *libc.TLS, pIter uintptr, iChanged int32, ppFirst uintptr) int32 { /* sqlite3.c:227621:12: */ +func fts5MultiIterAdvanceRowid(tls *libc.TLS, pIter uintptr, iChanged int32, ppFirst uintptr) int32 { /* sqlite3.c:227678:12: */ var pNew uintptr = pIter + 96 + uintptr(iChanged)*120 if (*Fts5SegIter)(unsafe.Pointer(pNew)).FiRowid == (*Fts5Iter)(unsafe.Pointer(pIter)).FiSwitchRowid || @@ -184883,7 +184914,7 @@ func fts5MultiIterAdvanceRowid(tls *libc.TLS, pIter uintptr, iChanged int32, ppF } // Set the pIter->bEof variable based on the state of the sub-iterators. -func fts5MultiIterSetEof(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:227664:13: */ +func fts5MultiIterSetEof(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:227721:13: */ var pSeg uintptr = pIter + 96 + uintptr((*Fts5CResult)(unsafe.Pointer((*Fts5Iter)(unsafe.Pointer(pIter)).FaFirst+1*4)).FiFirst)*120 (*Fts5Iter)(unsafe.Pointer(pIter)).Fbase.FbEof = U8(libc.Bool32((*Fts5SegIter)(unsafe.Pointer(pSeg)).FpLeaf == uintptr(0))) (*Fts5Iter)(unsafe.Pointer(pIter)).FiSwitchRowid = (*Fts5SegIter)(unsafe.Pointer(pSeg)).FiRowid @@ -184894,7 +184925,7 @@ func fts5MultiIterSetEof(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:227664:13: // If an error occurs, an error code is left in Fts5Index.rc. It is not // considered an error if the iterator reaches EOF, or if it is already at // EOF when this function is called. -func fts5MultiIterNext(tls *libc.TLS, p uintptr, pIter uintptr, bFrom int32, iFrom I64) { /* sqlite3.c:227677:13: */ +func fts5MultiIterNext(tls *libc.TLS, p uintptr, pIter uintptr, bFrom int32, iFrom I64) { /* sqlite3.c:227734:13: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -184933,7 +184964,7 @@ func fts5MultiIterNext(tls *libc.TLS, p uintptr, pIter uintptr, bFrom int32, iFr } } -func fts5MultiIterNext2(tls *libc.TLS, p uintptr, pIter uintptr, pbNewTerm uintptr) { /* sqlite3.c:227715:13: */ +func fts5MultiIterNext2(tls *libc.TLS, p uintptr, pIter uintptr, pbNewTerm uintptr) { /* sqlite3.c:227772:13: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -184958,12 +184989,12 @@ func fts5MultiIterNext2(tls *libc.TLS, p uintptr, pIter uintptr, pbNewTerm uintp } } -func fts5IterSetOutputs_Noop(tls *libc.TLS, pUnused1 uintptr, pUnused2 uintptr) { /* sqlite3.c:227743:13: */ +func fts5IterSetOutputs_Noop(tls *libc.TLS, pUnused1 uintptr, pUnused2 uintptr) { /* sqlite3.c:227800:13: */ _ = pUnused1 _ = pUnused2 } -func fts5MultiIterAlloc(tls *libc.TLS, p uintptr, nSeg int32) uintptr { /* sqlite3.c:227747:17: */ +func fts5MultiIterAlloc(tls *libc.TLS, p uintptr, nSeg int32) uintptr { /* sqlite3.c:227804:17: */ var pNew uintptr var nSlot int32 // Power of two >= nSeg @@ -184982,7 +185013,7 @@ func fts5MultiIterAlloc(tls *libc.TLS, p uintptr, nSeg int32) uintptr { /* sqlit return pNew } -func fts5PoslistCallback(tls *libc.TLS, pUnused uintptr, pContext uintptr, pChunk uintptr, nChunk int32) { /* sqlite3.c:227769:13: */ +func fts5PoslistCallback(tls *libc.TLS, pUnused uintptr, pContext uintptr, pChunk uintptr, nChunk int32) { /* sqlite3.c:227826:13: */ _ = pUnused if nChunk > 0 { @@ -184999,21 +185030,21 @@ type PoslistCallbackCtx1 = struct { FpColset uintptr FeState int32 F__ccgo_pad1 [4]byte -} /* sqlite3.c:227781:9 */ +} /* sqlite3.c:227838:9 */ -type PoslistCallbackCtx = PoslistCallbackCtx1 /* sqlite3.c:227781:35 */ +type PoslistCallbackCtx = PoslistCallbackCtx1 /* sqlite3.c:227838:35 */ type PoslistOffsetsCtx1 = struct { FpBuf uintptr FpColset uintptr FiRead int32 FiWrite int32 -} /* sqlite3.c:227788:9 */ +} /* sqlite3.c:227845:9 */ -type PoslistOffsetsCtx = PoslistOffsetsCtx1 /* sqlite3.c:227788:34 */ +type PoslistOffsetsCtx = PoslistOffsetsCtx1 /* sqlite3.c:227845:34 */ // TODO: Make this more efficient! -func fts5IndexColsetTest(tls *libc.TLS, pColset uintptr, iCol int32) int32 { /* sqlite3.c:227799:12: */ +func fts5IndexColsetTest(tls *libc.TLS, pColset uintptr, iCol int32) int32 { /* sqlite3.c:227856:12: */ var i int32 for i = 0; i < (*Fts5Colset)(unsafe.Pointer(pColset)).FnCol; i++ { if *(*int32)(unsafe.Pointer(pColset + 4 + uintptr(i)*4)) == iCol { @@ -185023,7 +185054,7 @@ func fts5IndexColsetTest(tls *libc.TLS, pColset uintptr, iCol int32) int32 { /* return 0 } -func fts5PoslistOffsetsCallback(tls *libc.TLS, pUnused uintptr, pContext uintptr, pChunk uintptr, nChunk int32) { /* sqlite3.c:227807:13: */ +func fts5PoslistOffsetsCallback(tls *libc.TLS, pUnused uintptr, pContext uintptr, pChunk uintptr, nChunk int32) { /* sqlite3.c:227864:13: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -185049,7 +185080,7 @@ func fts5PoslistOffsetsCallback(tls *libc.TLS, pUnused uintptr, pContext uintptr } } -func fts5PoslistFilterCallback(tls *libc.TLS, pUnused uintptr, pContext uintptr, pChunk uintptr, nChunk int32) { /* sqlite3.c:227830:13: */ +func fts5PoslistFilterCallback(tls *libc.TLS, pUnused uintptr, pContext uintptr, pChunk uintptr, nChunk int32) { /* sqlite3.c:227887:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -185129,7 +185160,7 @@ func fts5PoslistFilterCallback(tls *libc.TLS, pUnused uintptr, pContext uintptr, } } -func fts5ChunkIterate(tls *libc.TLS, p uintptr, pSeg uintptr, pCtx uintptr, xChunk uintptr) { /* sqlite3.c:227882:13: */ +func fts5ChunkIterate(tls *libc.TLS, p uintptr, pSeg uintptr, pCtx uintptr, xChunk uintptr) { /* sqlite3.c:227939:13: */ var nRem int32 = (*Fts5SegIter)(unsafe.Pointer(pSeg)).FnPos // Number of bytes still to come var pData uintptr = uintptr(0) var pChunk uintptr = (*Fts5Data)(unsafe.Pointer((*Fts5SegIter)(unsafe.Pointer(pSeg)).FpLeaf)).Fp + uintptr((*Fts5SegIter)(unsafe.Pointer(pSeg)).FiLeafOffset) @@ -185185,7 +185216,7 @@ func fts5ChunkIterate(tls *libc.TLS, p uintptr, pSeg uintptr, pCtx uintptr, xChu // function appends the position list data for the current entry to // buffer pBuf. It does not make a copy of the position-list size // field. -func fts5SegiterPoslist(tls *libc.TLS, p uintptr, pSeg uintptr, pColset uintptr, pBuf uintptr) { /* sqlite3.c:227932:13: */ +func fts5SegiterPoslist(tls *libc.TLS, p uintptr, pSeg uintptr, pColset uintptr, pBuf uintptr) { /* sqlite3.c:227989:13: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -185236,7 +185267,7 @@ func fts5SegiterPoslist(tls *libc.TLS, p uintptr, pSeg uintptr, pColset uintptr, // This function is a no-op if *pRc is other than SQLITE_OK when it is // called. If an OOM error is encountered, *pRc is set to SQLITE_NOMEM // before returning. -func fts5IndexExtractColset(tls *libc.TLS, pRc uintptr, pColset uintptr, pPos uintptr, nPos int32, pIter uintptr) { /* sqlite3.c:227977:13: */ +func fts5IndexExtractColset(tls *libc.TLS, pRc uintptr, pColset uintptr, pPos uintptr, nPos int32, pIter uintptr) { /* sqlite3.c:228034:13: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -185297,7 +185328,7 @@ func fts5IndexExtractColset(tls *libc.TLS, pRc uintptr, pColset uintptr, pPos ui } // xSetOutputs callback used by detail=none tables. -func fts5IterSetOutputs_None(tls *libc.TLS, pIter uintptr, pSeg uintptr) { /* sqlite3.c:228037:13: */ +func fts5IterSetOutputs_None(tls *libc.TLS, pIter uintptr, pSeg uintptr) { /* sqlite3.c:228094:13: */ (*Fts5Iter)(unsafe.Pointer(pIter)).Fbase.FiRowid = (*Fts5SegIter)(unsafe.Pointer(pSeg)).FiRowid (*Fts5Iter)(unsafe.Pointer(pIter)).Fbase.FnData = (*Fts5SegIter)(unsafe.Pointer(pSeg)).FnPos @@ -185305,7 +185336,7 @@ func fts5IterSetOutputs_None(tls *libc.TLS, pIter uintptr, pSeg uintptr) { /* sq // xSetOutputs callback used by detail=full and detail=col tables when no // column filters are specified. -func fts5IterSetOutputs_Nocolset(tls *libc.TLS, pIter uintptr, pSeg uintptr) { /* sqlite3.c:228047:13: */ +func fts5IterSetOutputs_Nocolset(tls *libc.TLS, pIter uintptr, pSeg uintptr) { /* sqlite3.c:228104:13: */ (*Fts5Iter)(unsafe.Pointer(pIter)).Fbase.FiRowid = (*Fts5SegIter)(unsafe.Pointer(pSeg)).FiRowid (*Fts5Iter)(unsafe.Pointer(pIter)).Fbase.FnData = (*Fts5SegIter)(unsafe.Pointer(pSeg)).FnPos @@ -185325,7 +185356,7 @@ func fts5IterSetOutputs_Nocolset(tls *libc.TLS, pIter uintptr, pSeg uintptr) { / // xSetOutputs callback used when the Fts5Colset object has nCol==0 (match // against no columns at all). -func fts5IterSetOutputs_ZeroColset(tls *libc.TLS, pIter uintptr, pSeg uintptr) { /* sqlite3.c:228072:13: */ +func fts5IterSetOutputs_ZeroColset(tls *libc.TLS, pIter uintptr, pSeg uintptr) { /* sqlite3.c:228129:13: */ _ = pSeg (*Fts5Iter)(unsafe.Pointer(pIter)).Fbase.FnData = 0 } @@ -185333,7 +185364,7 @@ func fts5IterSetOutputs_ZeroColset(tls *libc.TLS, pIter uintptr, pSeg uintptr) { // xSetOutputs callback used by detail=col when there is a column filter // and there are 100 or more columns. Also called as a fallback from // fts5IterSetOutputs_Col100 if the column-list spans more than one page. -func fts5IterSetOutputs_Col(tls *libc.TLS, pIter uintptr, pSeg uintptr) { /* sqlite3.c:228082:13: */ +func fts5IterSetOutputs_Col(tls *libc.TLS, pIter uintptr, pSeg uintptr) { /* sqlite3.c:228139:13: */ sqlite3Fts5BufferZero(tls, pIter+32) fts5SegiterPoslist(tls, (*Fts5Iter)(unsafe.Pointer(pIter)).FpIndex, pSeg, (*Fts5Iter)(unsafe.Pointer(pIter)).FpColset, pIter+32) (*Fts5Iter)(unsafe.Pointer(pIter)).Fbase.FiRowid = (*Fts5SegIter)(unsafe.Pointer(pSeg)).FiRowid @@ -185349,7 +185380,7 @@ func fts5IterSetOutputs_Col(tls *libc.TLS, pIter uintptr, pSeg uintptr) { /* sql // // The last point is to ensure all column numbers are stored as // single-byte varints. -func fts5IterSetOutputs_Col100(tls *libc.TLS, pIter uintptr, pSeg uintptr) { /* sqlite3.c:228100:13: */ +func fts5IterSetOutputs_Col100(tls *libc.TLS, pIter uintptr, pSeg uintptr) { /* sqlite3.c:228157:13: */ var a uintptr var pEnd uintptr var iPrev int32 @@ -185411,7 +185442,7 @@ __2: } // xSetOutputs callback used by detail=full when there is a column filter. -func fts5IterSetOutputs_Full(tls *libc.TLS, pIter uintptr, pSeg uintptr) { /* sqlite3.c:228140:13: */ +func fts5IterSetOutputs_Full(tls *libc.TLS, pIter uintptr, pSeg uintptr) { /* sqlite3.c:228197:13: */ var pColset uintptr = (*Fts5Iter)(unsafe.Pointer(pIter)).FpColset (*Fts5Iter)(unsafe.Pointer(pIter)).Fbase.FiRowid = (*Fts5SegIter)(unsafe.Pointer(pSeg)).FiRowid @@ -185433,7 +185464,7 @@ func fts5IterSetOutputs_Full(tls *libc.TLS, pIter uintptr, pSeg uintptr) { /* sq } } -func fts5IterSetOutputCb(tls *libc.TLS, pRc uintptr, pIter uintptr) { /* sqlite3.c:228165:13: */ +func fts5IterSetOutputCb(tls *libc.TLS, pRc uintptr, pIter uintptr) { /* sqlite3.c:228222:13: */ if *(*int32)(unsafe.Pointer(pRc)) == SQLITE_OK { var pConfig uintptr = (*Fts5Index)(unsafe.Pointer((*Fts5Iter)(unsafe.Pointer(pIter)).FpIndex)).FpConfig @@ -185478,7 +185509,7 @@ func fts5IterSetOutputCb(tls *libc.TLS, pRc uintptr, pIter uintptr) { /* sqlite3 // // The iterator initially points to the first term/rowid entry in the // iterated data. -func fts5MultiIterNew(tls *libc.TLS, p uintptr, pStruct uintptr, flags int32, pColset uintptr, pTerm uintptr, nTerm int32, iLevel int32, nSegment int32, ppOut uintptr) { /* sqlite3.c:228209:13: */ +func fts5MultiIterNew(tls *libc.TLS, p uintptr, pStruct uintptr, flags int32, pColset uintptr, pTerm uintptr, nTerm int32, iLevel int32, nSegment int32, ppOut uintptr) { /* sqlite3.c:228266:13: */ var nSeg int32 // Number of segment-iters in use var iIter int32 // var iSeg int32 // Used to iterate through segments @@ -185681,7 +185712,7 @@ fts5MultiIterNew_post_check: // Create an Fts5Iter that iterates through the doclist provided // as the second argument. -func fts5MultiIterNew2(tls *libc.TLS, p uintptr, pData uintptr, bDesc int32, ppOut uintptr) { /* sqlite3.c:228315:13: */ +func fts5MultiIterNew2(tls *libc.TLS, p uintptr, pData uintptr, bDesc int32, ppOut uintptr) { /* sqlite3.c:228372:13: */ var pNew uintptr pNew = fts5MultiIterAlloc(tls, p, 2) if pNew != 0 { @@ -185714,7 +185745,7 @@ func fts5MultiIterNew2(tls *libc.TLS, p uintptr, pData uintptr, bDesc int32, ppO // Return true if the iterator is at EOF or if an error has occurred. // False otherwise. -func fts5MultiIterEof(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlite3.c:228355:12: */ +func fts5MultiIterEof(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlite3.c:228412:12: */ return libc.Bool32((*Fts5Index)(unsafe.Pointer(p)).Frc != 0 || (*Fts5Iter)(unsafe.Pointer(pIter)).Fbase.FbEof != 0) } @@ -185722,13 +185753,13 @@ func fts5MultiIterEof(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlite // Return the rowid of the entry that the iterator currently points // to. If the iterator points to EOF when this function is called the // results are undefined. -func fts5MultiIterRowid(tls *libc.TLS, pIter uintptr) I64 { /* sqlite3.c:228368:12: */ +func fts5MultiIterRowid(tls *libc.TLS, pIter uintptr) I64 { /* sqlite3.c:228425:12: */ return (*Fts5SegIter)(unsafe.Pointer(pIter + 96 + uintptr((*Fts5CResult)(unsafe.Pointer((*Fts5Iter)(unsafe.Pointer(pIter)).FaFirst+1*4)).FiFirst)*120)).FiRowid } // Move the iterator to the next entry at or following iMatch. -func fts5MultiIterNextFrom(tls *libc.TLS, p uintptr, pIter uintptr, iMatch I64) { /* sqlite3.c:228376:13: */ +func fts5MultiIterNextFrom(tls *libc.TLS, p uintptr, pIter uintptr, iMatch I64) { /* sqlite3.c:228433:13: */ for 1 != 0 { var iRowid I64 fts5MultiIterNext(tls, p, pIter, 1, iMatch) @@ -185747,7 +185778,7 @@ func fts5MultiIterNextFrom(tls *libc.TLS, p uintptr, pIter uintptr, iMatch I64) // Return a pointer to a buffer containing the term associated with the // entry that the iterator currently points to. -func fts5MultiIterTerm(tls *libc.TLS, pIter uintptr, pn uintptr) uintptr { /* sqlite3.c:228395:17: */ +func fts5MultiIterTerm(tls *libc.TLS, pIter uintptr, pn uintptr) uintptr { /* sqlite3.c:228452:17: */ var p uintptr = pIter + 96 + uintptr((*Fts5CResult)(unsafe.Pointer((*Fts5Iter)(unsafe.Pointer(pIter)).FaFirst+1*4)).FiFirst)*120 *(*int32)(unsafe.Pointer(pn)) = (*Fts5SegIter)(unsafe.Pointer(p)).Fterm.Fn return (*Fts5SegIter)(unsafe.Pointer(p)).Fterm.Fp @@ -185760,7 +185791,7 @@ func fts5MultiIterTerm(tls *libc.TLS, pIter uintptr, pn uintptr) uintptr { /* sq // // If an error has already occurred, this function is a no-op. 0 is // returned in this case. -func fts5AllocateSegid(tls *libc.TLS, p uintptr, pStruct uintptr) int32 { /* sqlite3.c:228410:12: */ +func fts5AllocateSegid(tls *libc.TLS, p uintptr, pStruct uintptr) int32 { /* sqlite3.c:228467:12: */ bp := tls.Alloc(252) defer tls.Free(252) @@ -185802,7 +185833,7 @@ func fts5AllocateSegid(tls *libc.TLS, p uintptr, pStruct uintptr) int32 { /* sql } // Discard all data currently cached in the hash-tables. -func fts5IndexDiscardData(tls *libc.TLS, p uintptr) { /* sqlite3.c:228467:13: */ +func fts5IndexDiscardData(tls *libc.TLS, p uintptr) { /* sqlite3.c:228524:13: */ if (*Fts5Index)(unsafe.Pointer(p)).FpHash != 0 { sqlite3Fts5HashClear(tls, (*Fts5Index)(unsafe.Pointer(p)).FpHash) @@ -185815,7 +185846,7 @@ func fts5IndexDiscardData(tls *libc.TLS, p uintptr) { /* sqlite3.c:228467:13: */ // // Buffer (pNew/) is guaranteed to be greater // than buffer (pOld/nOld). -func fts5PrefixCompress(tls *libc.TLS, nOld int32, pOld uintptr, pNew uintptr) int32 { /* sqlite3.c:228482:12: */ +func fts5PrefixCompress(tls *libc.TLS, nOld int32, pOld uintptr, pNew uintptr) int32 { /* sqlite3.c:228539:12: */ var i int32 for i = 0; i < nOld; i++ { if int32(*(*U8)(unsafe.Pointer(pOld + uintptr(i)))) != int32(*(*U8)(unsafe.Pointer(pNew + uintptr(i)))) { @@ -185825,7 +185856,7 @@ func fts5PrefixCompress(tls *libc.TLS, nOld int32, pOld uintptr, pNew uintptr) i return i } -func fts5WriteDlidxClear(tls *libc.TLS, p uintptr, pWriter uintptr, bFlush int32) { /* sqlite3.c:228490:13: */ +func fts5WriteDlidxClear(tls *libc.TLS, p uintptr, pWriter uintptr, bFlush int32) { /* sqlite3.c:228547:13: */ var i int32 for i = 0; i < (*Fts5SegWriter)(unsafe.Pointer(pWriter)).FnDlidx; i++ { @@ -185846,7 +185877,7 @@ func fts5WriteDlidxClear(tls *libc.TLS, p uintptr, pWriter uintptr, bFlush int32 // Grow the pWriter->aDlidx[] array to at least nLvl elements in size. // Any new array elements are zeroed before returning. -func fts5WriteDlidxGrow(tls *libc.TLS, p uintptr, pWriter uintptr, nLvl int32) int32 { /* sqlite3.c:228516:12: */ +func fts5WriteDlidxGrow(tls *libc.TLS, p uintptr, pWriter uintptr, nLvl int32) int32 { /* sqlite3.c:228573:12: */ if (*Fts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK && nLvl >= (*Fts5SegWriter)(unsafe.Pointer(pWriter)).FnDlidx { var aDlidx uintptr = Xsqlite3_realloc64(tls, (*Fts5SegWriter)(unsafe.Pointer(pWriter)).FaDlidx, uint64(uint64(unsafe.Sizeof(Fts5DlidxWriter{}))*uint64(nLvl))) @@ -185865,7 +185896,7 @@ func fts5WriteDlidxGrow(tls *libc.TLS, p uintptr, pWriter uintptr, nLvl int32) i // If the current doclist-index accumulating in pWriter->aDlidx[] is large // enough, flush it to disk and return 1. Otherwise discard it and return // zero. -func fts5WriteFlushDlidx(tls *libc.TLS, p uintptr, pWriter uintptr) int32 { /* sqlite3.c:228542:12: */ +func fts5WriteFlushDlidx(tls *libc.TLS, p uintptr, pWriter uintptr) int32 { /* sqlite3.c:228599:12: */ var bFlag int32 = 0 // If there were FTS5_MIN_DLIDX_SIZE or more empty leaf pages written @@ -185887,7 +185918,7 @@ func fts5WriteFlushDlidx(tls *libc.TLS, p uintptr, pWriter uintptr) int32 { /* s // it. // // Fts5SegWriter.btterm currently contains the first term on page iBtPage. -func fts5WriteFlushBtree(tls *libc.TLS, p uintptr, pWriter uintptr) { /* sqlite3.c:228566:13: */ +func fts5WriteFlushBtree(tls *libc.TLS, p uintptr, pWriter uintptr) { /* sqlite3.c:228623:13: */ var bFlag int32 if (*Fts5SegWriter)(unsafe.Pointer(pWriter)).FiBtPage == 0 { @@ -185920,7 +185951,7 @@ func fts5WriteFlushBtree(tls *libc.TLS, p uintptr, pWriter uintptr) { /* sqlite3 // // If an error occurs, an error code is left in Fts5Index.rc. If an error // has already occurred when this function is called, it is a no-op. -func fts5WriteBtreeTerm(tls *libc.TLS, p uintptr, pWriter uintptr, nTerm int32, pTerm uintptr) { /* sqlite3.c:228595:13: */ +func fts5WriteBtreeTerm(tls *libc.TLS, p uintptr, pWriter uintptr, nTerm int32, pTerm uintptr) { /* sqlite3.c:228652:13: */ fts5WriteFlushBtree(tls, p, pWriter) if (*Fts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK { sqlite3Fts5BufferSet(tls, p+52, pWriter+96, nTerm, pTerm) @@ -185930,7 +185961,7 @@ func fts5WriteBtreeTerm(tls *libc.TLS, p uintptr, pWriter uintptr, nTerm int32, // This function is called when flushing a leaf page that contains no // terms at all to disk. -func fts5WriteBtreeNoTerm(tls *libc.TLS, p uintptr, pWriter uintptr) { /* sqlite3.c:228611:13: */ +func fts5WriteBtreeNoTerm(tls *libc.TLS, p uintptr, pWriter uintptr) { /* sqlite3.c:228668:13: */ // If there were no rowids on the leaf page either and the doclist-index // has already been started, append an 0x00 byte to it. if (*Fts5SegWriter)(unsafe.Pointer(pWriter)).FbFirstRowidInPage != 0 && (*Fts5DlidxWriter)(unsafe.Pointer((*Fts5SegWriter)(unsafe.Pointer(pWriter)).FaDlidx)).Fbuf.Fn > 0 { @@ -185943,7 +185974,7 @@ func fts5WriteBtreeNoTerm(tls *libc.TLS, p uintptr, pWriter uintptr) { /* sqlite (*Fts5SegWriter)(unsafe.Pointer(pWriter)).FnEmpty++ } -func fts5DlidxExtractFirstRowid(tls *libc.TLS, pBuf uintptr) I64 { /* sqlite3.c:228627:12: */ +func fts5DlidxExtractFirstRowid(tls *libc.TLS, pBuf uintptr) I64 { /* sqlite3.c:228684:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -185959,7 +185990,7 @@ func fts5DlidxExtractFirstRowid(tls *libc.TLS, pBuf uintptr) I64 { /* sqlite3.c: // Rowid iRowid has just been appended to the current leaf page. It is the // first on the page. This function appends an appropriate entry to the current // doclist-index. -func fts5WriteDlidxAppend(tls *libc.TLS, p uintptr, pWriter uintptr, iRowid I64) { /* sqlite3.c:228641:13: */ +func fts5WriteDlidxAppend(tls *libc.TLS, p uintptr, pWriter uintptr, iRowid I64) { /* sqlite3.c:228698:13: */ var i int32 var bDone int32 = 0 @@ -186019,7 +186050,7 @@ func fts5WriteDlidxAppend(tls *libc.TLS, p uintptr, pWriter uintptr, iRowid I64) } } -func fts5WriteFlushLeaf(tls *libc.TLS, p uintptr, pWriter uintptr) { /* sqlite3.c:228701:13: */ +func fts5WriteFlushLeaf(tls *libc.TLS, p uintptr, pWriter uintptr) { /* sqlite3.c:228758:13: */ var pPage uintptr = pWriter + 8 var iRowid I64 @@ -186055,14 +186086,14 @@ func fts5WriteFlushLeaf(tls *libc.TLS, p uintptr, pWriter uintptr) { /* sqlite3. (*Fts5SegWriter)(unsafe.Pointer(pWriter)).FbFirstRowidInPage = U8(1) } -var zero = [4]U8{U8(0x00), U8(0x00), U8(0x00), U8(0x00)} /* sqlite3.c:228702:19 */ +var zero = [4]U8{U8(0x00), U8(0x00), U8(0x00), U8(0x00)} /* sqlite3.c:228759:19 */ // Append term pTerm/nTerm to the segment being written by the writer passed // as the second argument. // // If an error occurs, set the Fts5Index.rc error code. If an error has // already occurred, this function is a no-op. -func fts5WriteAppendTerm(tls *libc.TLS, p uintptr, pWriter uintptr, nTerm int32, pTerm uintptr) { /* sqlite3.c:228747:13: */ +func fts5WriteAppendTerm(tls *libc.TLS, p uintptr, pWriter uintptr, nTerm int32, pTerm uintptr) { /* sqlite3.c:228804:13: */ var nPrefix int32 // Bytes of prefix compression for term var pPage uintptr = pWriter + 8 var pPgidx uintptr = pWriter + 8 + 24 @@ -186138,7 +186169,7 @@ func fts5WriteAppendTerm(tls *libc.TLS, p uintptr, pWriter uintptr, nTerm int32, } // Append a rowid and position-list size field to the writers output. -func fts5WriteAppendRowid(tls *libc.TLS, p uintptr, pWriter uintptr, iRowid I64) { /* sqlite3.c:228828:13: */ +func fts5WriteAppendRowid(tls *libc.TLS, p uintptr, pWriter uintptr, iRowid I64) { /* sqlite3.c:228885:13: */ if (*Fts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK { var pPage uintptr = pWriter + 8 @@ -186167,7 +186198,7 @@ func fts5WriteAppendRowid(tls *libc.TLS, p uintptr, pWriter uintptr, iRowid I64) } } -func fts5WriteAppendPoslistData(tls *libc.TLS, p uintptr, pWriter uintptr, aData uintptr, nData int32) { /* sqlite3.c:228861:13: */ +func fts5WriteAppendPoslistData(tls *libc.TLS, p uintptr, pWriter uintptr, aData uintptr, nData int32) { /* sqlite3.c:228918:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -186196,7 +186227,7 @@ func fts5WriteAppendPoslistData(tls *libc.TLS, p uintptr, pWriter uintptr, aData // Flush any data cached by the writer object to the database. Free any // allocations associated with the writer. -func fts5WriteFinish(tls *libc.TLS, p uintptr, pWriter uintptr, pnLeaf uintptr) { /* sqlite3.c:228895:13: */ +func fts5WriteFinish(tls *libc.TLS, p uintptr, pWriter uintptr, pnLeaf uintptr) { /* sqlite3.c:228952:13: */ var i int32 var pLeaf uintptr = pWriter + 8 if (*Fts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK { @@ -186220,7 +186251,7 @@ func fts5WriteFinish(tls *libc.TLS, p uintptr, pWriter uintptr, pnLeaf uintptr) Xsqlite3_free(tls, (*Fts5SegWriter)(unsafe.Pointer(pWriter)).FaDlidx) } -func fts5WriteInit(tls *libc.TLS, p uintptr, pWriter uintptr, iSegid int32) { /* sqlite3.c:228923:13: */ +func fts5WriteInit(tls *libc.TLS, p uintptr, pWriter uintptr, iSegid int32) { /* sqlite3.c:228980:13: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -186260,7 +186291,7 @@ func fts5WriteInit(tls *libc.TLS, p uintptr, pWriter uintptr, iSegid int32) { /* // Iterator pIter was used to iterate through the input segments of on an // incremental merge operation. This function is called if the incremental // merge step has finished but the input has not been completely exhausted. -func fts5TrimSegments(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:228970:13: */ +func fts5TrimSegments(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:229027:13: */ bp := tls.Alloc(20) defer tls.Free(20) @@ -186329,13 +186360,13 @@ func fts5TrimSegments(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:22 sqlite3Fts5BufferFree(tls, bp) } -func fts5MergeChunkCallback(tls *libc.TLS, p uintptr, pCtx uintptr, pChunk uintptr, nChunk int32) { /* sqlite3.c:229036:13: */ +func fts5MergeChunkCallback(tls *libc.TLS, p uintptr, pCtx uintptr, pChunk uintptr, nChunk int32) { /* sqlite3.c:229093:13: */ var pWriter uintptr = pCtx fts5WriteAppendPoslistData(tls, p, pWriter, pChunk, nChunk) } // -func fts5IndexMergeLevel(tls *libc.TLS, p uintptr, ppStruct uintptr, iLvl int32, pnRem uintptr) { /* sqlite3.c:229048:13: */ +func fts5IndexMergeLevel(tls *libc.TLS, p uintptr, ppStruct uintptr, iLvl int32, pnRem uintptr) { /* sqlite3.c:229105:13: */ bp := tls.Alloc(148) defer tls.Free(148) @@ -186494,7 +186525,7 @@ func fts5IndexMergeLevel(tls *libc.TLS, p uintptr, ppStruct uintptr, iLvl int32, // Do up to nPg pages of automerge work on the index. // // Return true if any changes were actually made, or false otherwise. -func fts5IndexMerge(tls *libc.TLS, p uintptr, ppStruct uintptr, nPg int32, nMin int32) int32 { /* sqlite3.c:229198:12: */ +func fts5IndexMerge(tls *libc.TLS, p uintptr, ppStruct uintptr, nPg int32, nMin int32) int32 { /* sqlite3.c:229255:12: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -186544,7 +186575,7 @@ func fts5IndexMerge(tls *libc.TLS, p uintptr, ppStruct uintptr, nPg int32, nMin // // If an error occurs, set the Fts5Index.rc error code. If an error has // already occurred, this function is a no-op. -func fts5IndexAutomerge(tls *libc.TLS, p uintptr, ppStruct uintptr, nLeaf int32) { /* sqlite3.c:229257:13: */ +func fts5IndexAutomerge(tls *libc.TLS, p uintptr, ppStruct uintptr, nLeaf int32) { /* sqlite3.c:229314:13: */ if (*Fts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK && (*Fts5Config)(unsafe.Pointer((*Fts5Index)(unsafe.Pointer(p)).FpConfig)).FnAutomerge > 0 && *(*uintptr)(unsafe.Pointer(ppStruct)) != uintptr(0) { var pStruct uintptr = *(*uintptr)(unsafe.Pointer(ppStruct)) var nWrite U64 // Initial value of write-counter @@ -186561,7 +186592,7 @@ func fts5IndexAutomerge(tls *libc.TLS, p uintptr, ppStruct uintptr, nLeaf int32) } } -func fts5IndexCrisismerge(tls *libc.TLS, p uintptr, ppStruct uintptr) { /* sqlite3.c:229278:13: */ +func fts5IndexCrisismerge(tls *libc.TLS, p uintptr, ppStruct uintptr) { /* sqlite3.c:229335:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -186578,7 +186609,7 @@ func fts5IndexCrisismerge(tls *libc.TLS, p uintptr, ppStruct uintptr) { /* sqlit *(*uintptr)(unsafe.Pointer(ppStruct)) = *(*uintptr)(unsafe.Pointer(bp /* pStruct */)) } -func fts5IndexReturn(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:229296:12: */ +func fts5IndexReturn(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:229353:12: */ var rc int32 = (*Fts5Index)(unsafe.Pointer(p)).Frc (*Fts5Index)(unsafe.Pointer(p)).Frc = SQLITE_OK return rc @@ -186587,14 +186618,14 @@ func fts5IndexReturn(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:229296:12: * type Fts5FlushCtx1 = struct { FpIdx uintptr Fwriter Fts5SegWriter -} /* sqlite3.c:229302:9 */ +} /* sqlite3.c:229359:9 */ -type Fts5FlushCtx = Fts5FlushCtx1 /* sqlite3.c:229302:29 */ +type Fts5FlushCtx = Fts5FlushCtx1 /* sqlite3.c:229359:29 */ // Buffer aBuf[] contains a list of varints, all small enough to fit // in a 32-bit integer. Return the size of the largest prefix of this // list nMax bytes or less in size. -func fts5PoslistPrefix(tls *libc.TLS, aBuf uintptr, nMax int32) int32 { /* sqlite3.c:229313:12: */ +func fts5PoslistPrefix(tls *libc.TLS, aBuf uintptr, nMax int32) int32 { /* sqlite3.c:229370:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -186619,7 +186650,7 @@ func fts5PoslistPrefix(tls *libc.TLS, aBuf uintptr, nMax int32) int32 { /* sqlit // // If an error occurs, set the Fts5Index.rc error code. If an error has // already occurred, this function is a no-op. -func fts5FlushOneHash(tls *libc.TLS, p uintptr) { /* sqlite3.c:229334:13: */ +func fts5FlushOneHash(tls *libc.TLS, p uintptr) { /* sqlite3.c:229391:13: */ bp := tls.Alloc(176) defer tls.Free(176) @@ -186797,7 +186828,7 @@ func fts5FlushOneHash(tls *libc.TLS, p uintptr) { /* sqlite3.c:229334:13: */ } // Flush any data stored in the in-memory hash tables to the database. -func fts5IndexFlush(tls *libc.TLS, p uintptr) { /* sqlite3.c:229488:13: */ +func fts5IndexFlush(tls *libc.TLS, p uintptr) { /* sqlite3.c:229545:13: */ // Unless it is empty, flush the hash table to disk if (*Fts5Index)(unsafe.Pointer(p)).FnPendingData != 0 { @@ -186806,7 +186837,7 @@ func fts5IndexFlush(tls *libc.TLS, p uintptr) { /* sqlite3.c:229488:13: */ } } -func fts5IndexOptimizeStruct(tls *libc.TLS, p uintptr, pStruct uintptr) uintptr { /* sqlite3.c:229497:22: */ +func fts5IndexOptimizeStruct(tls *libc.TLS, p uintptr, pStruct uintptr) uintptr { /* sqlite3.c:229554:22: */ var pNew uintptr = uintptr(0) var nByte Sqlite3_int64 = Sqlite3_int64(unsafe.Sizeof(Fts5Structure{})) var nSeg int32 = (*Fts5Structure)(unsafe.Pointer(pStruct)).FnSegment @@ -186867,7 +186898,7 @@ func fts5IndexOptimizeStruct(tls *libc.TLS, p uintptr, pStruct uintptr) uintptr return pNew } -func sqlite3Fts5IndexOptimize(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:229559:12: */ +func sqlite3Fts5IndexOptimize(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:229616:12: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -186901,7 +186932,7 @@ func sqlite3Fts5IndexOptimize(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:229 // This is called to implement the special "VALUES('merge', $nMerge)" // INSERT command. -func sqlite3Fts5IndexMerge(tls *libc.TLS, p uintptr, nMerge int32) int32 { /* sqlite3.c:229593:12: */ +func sqlite3Fts5IndexMerge(tls *libc.TLS, p uintptr, nMerge int32) int32 { /* sqlite3.c:229650:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -186926,12 +186957,12 @@ func sqlite3Fts5IndexMerge(tls *libc.TLS, p uintptr, nMerge int32) int32 { /* sq return fts5IndexReturn(tls, p) } -func fts5AppendRowid(tls *libc.TLS, p uintptr, iDelta I64, pUnused uintptr, pBuf uintptr) { /* sqlite3.c:229615:13: */ +func fts5AppendRowid(tls *libc.TLS, p uintptr, iDelta I64, pUnused uintptr, pBuf uintptr) { /* sqlite3.c:229672:13: */ _ = pUnused sqlite3Fts5BufferAppendVarint(tls, p+52, pBuf, iDelta) } -func fts5AppendPoslist(tls *libc.TLS, p uintptr, iDelta I64, pMulti uintptr, pBuf uintptr) { /* sqlite3.c:229625:13: */ +func fts5AppendPoslist(tls *libc.TLS, p uintptr, iDelta I64, pMulti uintptr, pBuf uintptr) { /* sqlite3.c:229682:13: */ var nData int32 = (*Fts5Iter)(unsafe.Pointer(pMulti)).Fbase.FnData var nByte int32 = nData + 9 + 9 + FTS5_DATA_ZERO_PADDING @@ -186958,7 +186989,7 @@ func fts5AppendPoslist(tls *libc.TLS, p uintptr, iDelta I64, pMulti uintptr, pBu } } -func fts5DoclistIterNext(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:229643:13: */ +func fts5DoclistIterNext(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:229700:13: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -186990,7 +187021,7 @@ func fts5DoclistIterNext(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:229643:13: } } -func fts5DoclistIterInit(tls *libc.TLS, pBuf uintptr, pIter uintptr) { /* sqlite3.c:229672:13: */ +func fts5DoclistIterInit(tls *libc.TLS, pBuf uintptr, pIter uintptr) { /* sqlite3.c:229729:13: */ libc.Xmemset(tls, pIter, 0, uint64(unsafe.Sizeof(Fts5DoclistIter{}))) if (*Fts5Buffer)(unsafe.Pointer(pBuf)).Fn > 0 { (*Fts5DoclistIter)(unsafe.Pointer(pIter)).FaPoslist = (*Fts5Buffer)(unsafe.Pointer(pBuf)).Fp @@ -187000,13 +187031,13 @@ func fts5DoclistIterInit(tls *libc.TLS, pBuf uintptr, pIter uintptr) { /* sqlite } // Swap the contents of buffer *p1 with that of *p2. -func fts5BufferSwap(tls *libc.TLS, p1 uintptr, p2 uintptr) { /* sqlite3.c:229711:13: */ +func fts5BufferSwap(tls *libc.TLS, p1 uintptr, p2 uintptr) { /* sqlite3.c:229768:13: */ var tmp = *(*Fts5Buffer)(unsafe.Pointer(p1)) *(*Fts5Buffer)(unsafe.Pointer(p1)) = *(*Fts5Buffer)(unsafe.Pointer(p2)) *(*Fts5Buffer)(unsafe.Pointer(p2)) = tmp } -func fts5NextRowid(tls *libc.TLS, pBuf uintptr, piOff uintptr, piRowid uintptr) { /* sqlite3.c:229717:13: */ +func fts5NextRowid(tls *libc.TLS, pBuf uintptr, piOff uintptr, piRowid uintptr) { /* sqlite3.c:229774:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -187023,7 +187054,7 @@ func fts5NextRowid(tls *libc.TLS, pBuf uintptr, piOff uintptr, piRowid uintptr) // This is the equivalent of fts5MergePrefixLists() for detail=none mode. // In this case the buffers consist of a delta-encoded list of rowids only. -func fts5MergeRowidLists(tls *libc.TLS, p uintptr, p1 uintptr, nBuf int32, aBuf uintptr) { /* sqlite3.c:229732:13: */ +func fts5MergeRowidLists(tls *libc.TLS, p uintptr, p1 uintptr, nBuf int32, aBuf uintptr) { /* sqlite3.c:229789:13: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -187079,11 +187110,11 @@ type PrefixMerger1 = struct { F__ccgo_pad1 [4]byte FaPos uintptr FpNext uintptr -} /* sqlite3.c:229775:9 */ +} /* sqlite3.c:229832:9 */ -type PrefixMerger = PrefixMerger1 /* sqlite3.c:229775:29 */ +type PrefixMerger = PrefixMerger1 /* sqlite3.c:229832:29 */ -func fts5PrefixMergerInsertByRowid(tls *libc.TLS, ppHead uintptr, p uintptr) { /* sqlite3.c:229784:13: */ +func fts5PrefixMergerInsertByRowid(tls *libc.TLS, ppHead uintptr, p uintptr) { /* sqlite3.c:229841:13: */ if (*PrefixMerger)(unsafe.Pointer(p)).Fiter.FaPoslist != 0 { var pp uintptr = ppHead for *(*uintptr)(unsafe.Pointer(pp)) != 0 && (*PrefixMerger)(unsafe.Pointer(p)).Fiter.FiRowid > (*PrefixMerger)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pp)))).Fiter.FiRowid { @@ -187094,7 +187125,7 @@ func fts5PrefixMergerInsertByRowid(tls *libc.TLS, ppHead uintptr, p uintptr) { / } } -func fts5PrefixMergerInsertByPosition(tls *libc.TLS, ppHead uintptr, p uintptr) { /* sqlite3.c:229798:13: */ +func fts5PrefixMergerInsertByPosition(tls *libc.TLS, ppHead uintptr, p uintptr) { /* sqlite3.c:229855:13: */ if (*PrefixMerger)(unsafe.Pointer(p)).FiPos >= int64(0) { var pp uintptr = ppHead for *(*uintptr)(unsafe.Pointer(pp)) != 0 && (*PrefixMerger)(unsafe.Pointer(p)).FiPos > (*PrefixMerger)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pp)))).FiPos { @@ -187107,7 +187138,7 @@ func fts5PrefixMergerInsertByPosition(tls *libc.TLS, ppHead uintptr, p uintptr) // Array aBuf[] contains nBuf doclists. These are all merged in with the // doclist in buffer p1. -func fts5MergePrefixLists(tls *libc.TLS, p uintptr, p1 uintptr, nBuf int32, aBuf uintptr) { /* sqlite3.c:229817:13: */ +func fts5MergePrefixLists(tls *libc.TLS, p uintptr, p1 uintptr, nBuf int32, aBuf uintptr) { /* sqlite3.c:229874:13: */ bp := tls.Alloc(1072) defer tls.Free(1072) @@ -187272,7 +187303,7 @@ func fts5MergePrefixLists(tls *libc.TLS, p uintptr, p1 uintptr, nBuf int32, aBuf *(*Fts5Buffer)(unsafe.Pointer(p1)) = *(*Fts5Buffer)(unsafe.Pointer(bp + 1032 /* out */)) } -func fts5SetupPrefixIter(tls *libc.TLS, p uintptr, bDesc int32, iIdx int32, pToken uintptr, nToken int32, pColset uintptr, ppIter uintptr) { /* sqlite3.c:229961:13: */ +func fts5SetupPrefixIter(tls *libc.TLS, p uintptr, bDesc int32, iIdx int32, pToken uintptr, nToken int32, pColset uintptr, ppIter uintptr) { /* sqlite3.c:230018:13: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -187419,7 +187450,7 @@ func fts5SetupPrefixIter(tls *libc.TLS, p uintptr, bDesc int32, iIdx int32, pTok // Indicate that all subsequent calls to sqlite3Fts5IndexWrite() pertain // to the document with rowid iRowid. -func sqlite3Fts5IndexBeginWrite(tls *libc.TLS, p uintptr, bDelete int32, iRowid I64) int32 { /* sqlite3.c:230098:12: */ +func sqlite3Fts5IndexBeginWrite(tls *libc.TLS, p uintptr, bDelete int32, iRowid I64) int32 { /* sqlite3.c:230155:12: */ // Allocate the hash table if it has not already been allocated if (*Fts5Index)(unsafe.Pointer(p)).FpHash == uintptr(0) { @@ -187439,7 +187470,7 @@ func sqlite3Fts5IndexBeginWrite(tls *libc.TLS, p uintptr, bDelete int32, iRowid } // Commit data to disk. -func sqlite3Fts5IndexSync(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:230122:12: */ +func sqlite3Fts5IndexSync(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:230179:12: */ fts5IndexFlush(tls, p) sqlite3Fts5IndexCloseReader(tls, p) @@ -187450,7 +187481,7 @@ func sqlite3Fts5IndexSync(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:230122: // to the database. Additionally, assume that the contents of the %_data // table may have changed on disk. So any in-memory caches of %_data // records must be invalidated. -func sqlite3Fts5IndexRollback(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:230135:12: */ +func sqlite3Fts5IndexRollback(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:230192:12: */ sqlite3Fts5IndexCloseReader(tls, p) fts5IndexDiscardData(tls, p) fts5StructureInvalidate(tls, p) @@ -187461,7 +187492,7 @@ func sqlite3Fts5IndexRollback(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:230 // The %_data table is completely empty when this function is called. This // function populates it with the initial structure objects for each index, // and the initial version of the "averages" record (a zero-byte blob). -func sqlite3Fts5IndexReinit(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:230148:12: */ +func sqlite3Fts5IndexReinit(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:230205:12: */ bp := tls.Alloc(40) defer tls.Free(40) @@ -187480,7 +187511,7 @@ func sqlite3Fts5IndexReinit(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:23014 // // If successful, set *pp to point to the new object and return SQLITE_OK. // Otherwise, set *pp to NULL and return an SQLite error code. -func sqlite3Fts5IndexOpen(tls *libc.TLS, pConfig uintptr, bCreate int32, pp uintptr, pzErr uintptr) int32 { /* sqlite3.c:230165:12: */ +func sqlite3Fts5IndexOpen(tls *libc.TLS, pConfig uintptr, bCreate int32, pp uintptr, pzErr uintptr) int32 { /* sqlite3.c:230222:12: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -187514,7 +187545,7 @@ func sqlite3Fts5IndexOpen(tls *libc.TLS, pConfig uintptr, bCreate int32, pp uint } // Close a handle opened by an earlier call to sqlite3Fts5IndexOpen(). -func sqlite3Fts5IndexClose(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:230206:12: */ +func sqlite3Fts5IndexClose(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:230263:12: */ var rc int32 = SQLITE_OK if p != 0 { @@ -187535,7 +187566,7 @@ func sqlite3Fts5IndexClose(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:230206 // Argument p points to a buffer containing utf-8 text that is n bytes in // size. Return the number of bytes in the nChar character prefix of the // buffer, or 0 if there are less than nChar characters in total. -func sqlite3Fts5IndexCharlenToBytelen(tls *libc.TLS, p uintptr, nByte int32, nChar int32) int32 { /* sqlite3.c:230229:12: */ +func sqlite3Fts5IndexCharlenToBytelen(tls *libc.TLS, p uintptr, nByte int32, nChar int32) int32 { /* sqlite3.c:230286:12: */ var n int32 = 0 var i int32 for i = 0; i < nChar; i++ { @@ -187562,7 +187593,7 @@ func sqlite3Fts5IndexCharlenToBytelen(tls *libc.TLS, p uintptr, nByte int32, nCh // pIn is a UTF-8 encoded string, nIn bytes in size. Return the number of // unicode characters in the string. -func fts5IndexCharlen(tls *libc.TLS, pIn uintptr, nIn int32) int32 { /* sqlite3.c:230256:12: */ +func fts5IndexCharlen(tls *libc.TLS, pIn uintptr, nIn int32) int32 { /* sqlite3.c:230313:12: */ var nChar int32 = 0 var i int32 = 0 for i < nIn { @@ -187584,7 +187615,7 @@ func fts5IndexCharlen(tls *libc.TLS, pIn uintptr, nIn int32) int32 { /* sqlite3. // If the operation is a delete, it must be called (at least) once for each // unique token in the document with an iCol value less than zero. The iPos // argument is ignored for a delete. -func sqlite3Fts5IndexWrite(tls *libc.TLS, p uintptr, iCol int32, iPos int32, pToken uintptr, nToken int32) int32 { /* sqlite3.c:230278:12: */ +func sqlite3Fts5IndexWrite(tls *libc.TLS, p uintptr, iCol int32, iPos int32, pToken uintptr, nToken int32) int32 { /* sqlite3.c:230335:12: */ var i int32 // Used to iterate through indexes var rc int32 = SQLITE_OK // Return code var pConfig uintptr = (*Fts5Index)(unsafe.Pointer(p)).FpConfig @@ -187608,7 +187639,7 @@ func sqlite3Fts5IndexWrite(tls *libc.TLS, p uintptr, iCol int32, iPos int32, pTo // Open a new iterator to iterate though all rowid that match the // specified token or token prefix. -func sqlite3Fts5IndexQuery(tls *libc.TLS, p uintptr, pToken uintptr, nToken int32, flags int32, pColset uintptr, ppIter uintptr) int32 { /* sqlite3.c:230314:12: */ +func sqlite3Fts5IndexQuery(tls *libc.TLS, p uintptr, pToken uintptr, nToken int32, flags int32, pColset uintptr, ppIter uintptr) int32 { /* sqlite3.c:230371:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -187691,7 +187722,7 @@ func sqlite3Fts5IndexQuery(tls *libc.TLS, p uintptr, pToken uintptr, nToken int3 // Return true if the iterator passed as the only argument is at EOF. // Move to the next matching rowid. -func sqlite3Fts5IterNext(tls *libc.TLS, pIndexIter uintptr) int32 { /* sqlite3.c:230402:12: */ +func sqlite3Fts5IterNext(tls *libc.TLS, pIndexIter uintptr) int32 { /* sqlite3.c:230459:12: */ var pIter uintptr = pIndexIter fts5MultiIterNext(tls, (*Fts5Iter)(unsafe.Pointer(pIter)).FpIndex, pIter, 0, int64(0)) @@ -187699,7 +187730,7 @@ func sqlite3Fts5IterNext(tls *libc.TLS, pIndexIter uintptr) int32 { /* sqlite3.c } // Move to the next matching term/rowid. Used by the fts5vocab module. -func sqlite3Fts5IterNextScan(tls *libc.TLS, pIndexIter uintptr) int32 { /* sqlite3.c:230412:12: */ +func sqlite3Fts5IterNextScan(tls *libc.TLS, pIndexIter uintptr) int32 { /* sqlite3.c:230469:12: */ var pIter uintptr = pIndexIter var p uintptr = (*Fts5Iter)(unsafe.Pointer(pIter)).FpIndex @@ -187719,14 +187750,14 @@ func sqlite3Fts5IterNextScan(tls *libc.TLS, pIndexIter uintptr) int32 { /* sqlit // Move to the next matching rowid that occurs at or after iMatch. The // definition of "at or after" depends on whether this iterator iterates // in ascending or descending rowid order. -func sqlite3Fts5IterNextFrom(tls *libc.TLS, pIndexIter uintptr, iMatch I64) int32 { /* sqlite3.c:230436:12: */ +func sqlite3Fts5IterNextFrom(tls *libc.TLS, pIndexIter uintptr, iMatch I64) int32 { /* sqlite3.c:230493:12: */ var pIter uintptr = pIndexIter fts5MultiIterNextFrom(tls, (*Fts5Iter)(unsafe.Pointer(pIter)).FpIndex, pIter, iMatch) return fts5IndexReturn(tls, (*Fts5Iter)(unsafe.Pointer(pIter)).FpIndex) } // Return the current term. -func sqlite3Fts5IterTerm(tls *libc.TLS, pIndexIter uintptr, pn uintptr) uintptr { /* sqlite3.c:230445:19: */ +func sqlite3Fts5IterTerm(tls *libc.TLS, pIndexIter uintptr, pn uintptr) uintptr { /* sqlite3.c:230502:19: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -187744,7 +187775,7 @@ func sqlite3Fts5IterTerm(tls *libc.TLS, pIndexIter uintptr, pn uintptr) uintptr } // Close an iterator opened by an earlier call to sqlite3Fts5IndexQuery(). -func sqlite3Fts5IterClose(tls *libc.TLS, pIndexIter uintptr) { /* sqlite3.c:230456:13: */ +func sqlite3Fts5IterClose(tls *libc.TLS, pIndexIter uintptr) { /* sqlite3.c:230513:13: */ if pIndexIter != 0 { var pIter uintptr = pIndexIter var pIndex uintptr = (*Fts5Iter)(unsafe.Pointer(pIter)).FpIndex @@ -187757,7 +187788,7 @@ func sqlite3Fts5IterClose(tls *libc.TLS, pIndexIter uintptr) { /* sqlite3.c:2304 // // Parameter anSize must point to an array of size nCol, where nCol is // the number of user defined columns in the FTS table. -func sqlite3Fts5IndexGetAverages(tls *libc.TLS, p uintptr, pnRow uintptr, anSize uintptr) int32 { /* sqlite3.c:230471:12: */ +func sqlite3Fts5IndexGetAverages(tls *libc.TLS, p uintptr, pnRow uintptr, anSize uintptr) int32 { /* sqlite3.c:230528:12: */ var nCol int32 = (*Fts5Config)(unsafe.Pointer((*Fts5Index)(unsafe.Pointer(p)).FpConfig)).FnCol var pData uintptr @@ -187779,7 +187810,7 @@ func sqlite3Fts5IndexGetAverages(tls *libc.TLS, p uintptr, pnRow uintptr, anSize // Replace the current "averages" record with the contents of the buffer // supplied as the second argument. -func sqlite3Fts5IndexSetAverages(tls *libc.TLS, p uintptr, pData uintptr, nData int32) int32 { /* sqlite3.c:230495:12: */ +func sqlite3Fts5IndexSetAverages(tls *libc.TLS, p uintptr, pData uintptr, nData int32) int32 { /* sqlite3.c:230552:12: */ fts5DataWrite(tls, p, int64(FTS5_AVERAGES_ROWID), pData, nData) return fts5IndexReturn(tls, p) @@ -187787,7 +187818,7 @@ func sqlite3Fts5IndexSetAverages(tls *libc.TLS, p uintptr, pData uintptr, nData // Return the total number of blocks this module has read from the %_data // table since it was created. -func sqlite3Fts5IndexReads(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:230505:12: */ +func sqlite3Fts5IndexReads(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:230562:12: */ return (*Fts5Index)(unsafe.Pointer(p)).FnRead } @@ -187796,7 +187827,7 @@ func sqlite3Fts5IndexReads(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:230505 // // Return SQLITE_OK if successful, or an SQLite error code if an error // occurs. -func sqlite3Fts5IndexSetCookie(tls *libc.TLS, p uintptr, iNew int32) int32 { /* sqlite3.c:230516:12: */ +func sqlite3Fts5IndexSetCookie(tls *libc.TLS, p uintptr, iNew int32) int32 { /* sqlite3.c:230573:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -187818,7 +187849,7 @@ func sqlite3Fts5IndexSetCookie(tls *libc.TLS, p uintptr, iNew int32) int32 { /* return rc } -func sqlite3Fts5IndexLoadConfig(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:230536:12: */ +func sqlite3Fts5IndexLoadConfig(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:230593:12: */ var pStruct uintptr pStruct = fts5StructureRead(tls, p) fts5StructureRelease(tls, pStruct) @@ -187832,7 +187863,7 @@ func sqlite3Fts5IndexLoadConfig(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:2 // functionality. // Return a simple checksum value based on the arguments. -func sqlite3Fts5IndexEntryCksum(tls *libc.TLS, iRowid I64, iCol int32, iPos int32, iIdx int32, pTerm uintptr, nTerm int32) U64 { /* sqlite3.c:230553:12: */ +func sqlite3Fts5IndexEntryCksum(tls *libc.TLS, iRowid I64, iCol int32, iPos int32, iIdx int32, pTerm uintptr, nTerm int32) U64 { /* sqlite3.c:230610:12: */ var i int32 var ret U64 = U64(iRowid) ret = ret + (ret<<3 + U64(iCol)) @@ -187852,7 +187883,7 @@ func sqlite3Fts5IndexEntryCksum(tls *libc.TLS, iRowid I64, iCol int32, iPos int3 // contain zero terms. // 2) All leaves of pSeg between iNoRowid and iLast (inclusive) exist and // contain zero rowids. -func fts5IndexIntegrityCheckEmpty(tls *libc.TLS, p uintptr, pSeg uintptr, iFirst int32, iNoRowid int32, iLast int32) { /* sqlite3.c:230771:13: */ +func fts5IndexIntegrityCheckEmpty(tls *libc.TLS, p uintptr, pSeg uintptr, iFirst int32, iNoRowid int32, iLast int32) { /* sqlite3.c:230828:13: */ var i int32 // Now check that the iter.nEmpty leaves following the current leaf @@ -187871,7 +187902,7 @@ func fts5IndexIntegrityCheckEmpty(tls *libc.TLS, p uintptr, pSeg uintptr, iFirst } } -func fts5IntegrityCheckPgidx(tls *libc.TLS, p uintptr, pLeaf uintptr) { /* sqlite3.c:230792:13: */ +func fts5IntegrityCheckPgidx(tls *libc.TLS, p uintptr, pLeaf uintptr) { /* sqlite3.c:230849:13: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -187930,7 +187961,7 @@ func fts5IntegrityCheckPgidx(tls *libc.TLS, p uintptr, pLeaf uintptr) { /* sqlit sqlite3Fts5BufferFree(tls, bp+32) } -func fts5IndexIntegrityCheckSegment(tls *libc.TLS, p uintptr, pSeg uintptr) { /* sqlite3.c:230842:13: */ +func fts5IndexIntegrityCheckSegment(tls *libc.TLS, p uintptr, pSeg uintptr) { /* sqlite3.c:230899:13: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -188099,7 +188130,7 @@ func fts5IndexIntegrityCheckSegment(tls *libc.TLS, p uintptr, pSeg uintptr) { /* // checksum does not match. Return SQLITE_OK if all checks pass without // error, or some other SQLite error code if another error (e.g. OOM) // occurs. -func sqlite3Fts5IndexIntegrityCheck(tls *libc.TLS, p uintptr, cksum U64, bUseCksum int32) int32 { /* sqlite3.c:230987:12: */ +func sqlite3Fts5IndexIntegrityCheck(tls *libc.TLS, p uintptr, cksum U64, bUseCksum int32) int32 { /* sqlite3.c:231044:12: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -188189,13 +188220,13 @@ func sqlite3Fts5IndexIntegrityCheck(tls *libc.TLS, p uintptr, cksum U64, bUseCks // // If successful, SQLITE_OK is returned. If an error occurs, some other // SQLite error code is returned instead. -func sqlite3Fts5IndexInit(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:231550:12: */ +func sqlite3Fts5IndexInit(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:231607:12: */ return SQLITE_OK _ = db return int32(0) } -func sqlite3Fts5IndexReset(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:231576:12: */ +func sqlite3Fts5IndexReset(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:231633:12: */ if fts5IndexDataVersion(tls, p) != (*Fts5Index)(unsafe.Pointer(p)).FiStructVersion { fts5StructureInvalidate(tls, p) @@ -188228,7 +188259,7 @@ type Fts5Auxdata1 = struct { FpPtr uintptr FxDelete uintptr FpNext uintptr -} /* sqlite3.c:216813:9 */ +} /* sqlite3.c:216870:9 */ // 2014 Jun 09 // @@ -188250,7 +188281,7 @@ type Fts5Auxdata1 = struct { // assert() conditions in the fts5 code are activated - conditions that are // only true if it is guaranteed that the fts5 database is not corrupt. -type Fts5Auxdata = Fts5Auxdata1 /* sqlite3.c:231613:28 */ +type Fts5Auxdata = Fts5Auxdata1 /* sqlite3.c:231670:28 */ type Fts5Auxiliary1 = struct { FpGlobal uintptr FzFunc uintptr @@ -188258,9 +188289,9 @@ type Fts5Auxiliary1 = struct { FxFunc Fts5_extension_function FxDestroy uintptr FpNext uintptr -} /* sqlite3.c:216813:9 */ +} /* sqlite3.c:216870:9 */ -type Fts5Auxiliary = Fts5Auxiliary1 /* sqlite3.c:231614:30 */ +type Fts5Auxiliary = Fts5Auxiliary1 /* sqlite3.c:231671:30 */ type Fts5Cursor1 = struct { Fbase Sqlite3_vtab_cursor FpNext uintptr @@ -188289,35 +188320,35 @@ type Fts5Cursor1 = struct { FnInstAlloc int32 FnInstCount int32 FaInst uintptr -} /* sqlite3.c:216813:9 */ +} /* sqlite3.c:216870:9 */ -type Fts5Cursor = Fts5Cursor1 /* sqlite3.c:231615:27 */ +type Fts5Cursor = Fts5Cursor1 /* sqlite3.c:231672:27 */ type Fts5FullTable1 = struct { Fp Fts5Table FpStorage uintptr FpGlobal uintptr FpSortCsr uintptr -} /* sqlite3.c:231616:9 */ +} /* sqlite3.c:231673:9 */ -type Fts5FullTable = Fts5FullTable1 /* sqlite3.c:231616:30 */ +type Fts5FullTable = Fts5FullTable1 /* sqlite3.c:231673:30 */ type Fts5Sorter1 = struct { FpStmt uintptr FiRowid I64 FaPoslist uintptr FnIdx int32 FaIdx [1]int32 -} /* sqlite3.c:216813:9 */ +} /* sqlite3.c:216870:9 */ -type Fts5Sorter = Fts5Sorter1 /* sqlite3.c:231617:27 */ +type Fts5Sorter = Fts5Sorter1 /* sqlite3.c:231674:27 */ type Fts5TokenizerModule1 = struct { FzName uintptr FpUserData uintptr Fx Fts5_tokenizer FxDestroy uintptr FpNext uintptr -} /* sqlite3.c:216813:9 */ +} /* sqlite3.c:216870:9 */ -type Fts5TokenizerModule = Fts5TokenizerModule1 /* sqlite3.c:231618:36 */ +type Fts5TokenizerModule = Fts5TokenizerModule1 /* sqlite3.c:231675:36 */ // NOTES ON TRANSACTIONS: // @@ -188351,21 +188382,21 @@ type Fts5TokenizerModule = Fts5TokenizerModule1 /* sqlite3.c:231618:36 */ type Fts5TransactionState = struct { FeState int32 FiSavepoint int32 -} /* sqlite3.c:231651:1 */ +} /* sqlite3.c:231708:1 */ type Fts5MatchPhrase = struct { FpPoslist uintptr FnTerm int32 F__ccgo_pad1 [4]byte -} /* sqlite3.c:231708:1 */ +} /* sqlite3.c:231765:1 */ // Return true if pTab is a contentless table. -func fts5IsContentless(tls *libc.TLS, pTab uintptr) int32 { /* sqlite3.c:231892:12: */ +func fts5IsContentless(tls *libc.TLS, pTab uintptr) int32 { /* sqlite3.c:231949:12: */ return libc.Bool32((*Fts5Config)(unsafe.Pointer((*Fts5FullTable)(unsafe.Pointer(pTab)).Fp.FpConfig)).FeContent == FTS5_CONTENT_NONE) } // Delete a virtual table handle allocated by fts5InitVtab(). -func fts5FreeVtab(tls *libc.TLS, pTab uintptr) { /* sqlite3.c:231899:13: */ +func fts5FreeVtab(tls *libc.TLS, pTab uintptr) { /* sqlite3.c:231956:13: */ if pTab != 0 { sqlite3Fts5IndexClose(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).Fp.FpIndex) sqlite3Fts5StorageClose(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).FpStorage) @@ -188375,13 +188406,13 @@ func fts5FreeVtab(tls *libc.TLS, pTab uintptr) { /* sqlite3.c:231899:13: */ } // The xDisconnect() virtual table method. -func fts5DisconnectMethod(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:231911:12: */ +func fts5DisconnectMethod(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:231968:12: */ fts5FreeVtab(tls, pVtab) return SQLITE_OK } // The xDestroy() virtual table method. -func fts5DestroyMethod(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:231919:12: */ +func fts5DestroyMethod(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:231976:12: */ var pTab uintptr = pVtab var rc int32 = sqlite3Fts5DropAll(tls, (*Fts5Table)(unsafe.Pointer(pTab)).FpConfig) if rc == SQLITE_OK { @@ -188399,7 +188430,7 @@ func fts5DestroyMethod(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:231919 // argv[1] -> database name // argv[2] -> table name // argv[...] -> "column name" and other module argument fields. -func fts5InitVtab(tls *libc.TLS, bCreate int32, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVTab uintptr, pzErr uintptr) int32 { /* sqlite3.c:231939:12: */ +func fts5InitVtab(tls *libc.TLS, bCreate int32, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVTab uintptr, pzErr uintptr) int32 { /* sqlite3.c:231996:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -188457,11 +188488,11 @@ func fts5InitVtab(tls *libc.TLS, bCreate int32, db uintptr, pAux uintptr, argc i // The xConnect() and xCreate() methods for the virtual table. All the // work is done in function fts5InitVtab(). -func fts5ConnectMethod(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 { /* sqlite3.c:232005:12: */ +func fts5ConnectMethod(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 { /* sqlite3.c:232062:12: */ return fts5InitVtab(tls, 0, db, pAux, argc, argv, ppVtab, pzErr) } -func fts5CreateMethod(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 { /* sqlite3.c:232015:12: */ +func fts5CreateMethod(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 { /* sqlite3.c:232072:12: */ return fts5InitVtab(tls, 1, db, pAux, argc, argv, ppVtab, pzErr) } @@ -188470,14 +188501,14 @@ func fts5CreateMethod(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv // Set the SQLITE_INDEX_SCAN_UNIQUE flag in pIdxInfo->flags. Unless this // extension is currently being used by a version of SQLite too old to // support index-info flags. In that case this function is a no-op. -func fts5SetUniqueFlag(tls *libc.TLS, pIdxInfo uintptr) { /* sqlite3.c:232041:13: */ +func fts5SetUniqueFlag(tls *libc.TLS, pIdxInfo uintptr) { /* sqlite3.c:232098:13: */ { *(*int32)(unsafe.Pointer(pIdxInfo + 80)) |= SQLITE_INDEX_SCAN_UNIQUE } } -func fts5UsePatternMatch(tls *libc.TLS, pConfig uintptr, p uintptr) int32 { /* sqlite3.c:232052:12: */ +func fts5UsePatternMatch(tls *libc.TLS, pConfig uintptr, p uintptr) int32 { /* sqlite3.c:232109:12: */ if (*Fts5Config)(unsafe.Pointer(pConfig)).FePattern == FTS5_PATTERN_GLOB && int32((*sqlite3_index_constraint)(unsafe.Pointer(p)).Fop) == FTS5_PATTERN_GLOB { return 1 @@ -188548,7 +188579,7 @@ func fts5UsePatternMatch(tls *libc.TLS, pConfig uintptr, p uintptr) int32 { /* s // * An == rowid constraint: cost=10.0 // // Costs are not modified by the ORDER BY clause. -func fts5BestIndexMethod(tls *libc.TLS, pVTab uintptr, pInfo uintptr) int32 { /* sqlite3.c:232130:12: */ +func fts5BestIndexMethod(tls *libc.TLS, pVTab uintptr, pInfo uintptr) int32 { /* sqlite3.c:232187:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -188710,7 +188741,7 @@ func fts5BestIndexMethod(tls *libc.TLS, pVTab uintptr, pInfo uintptr) int32 { /* return SQLITE_OK } -func fts5NewTransaction(tls *libc.TLS, pTab uintptr) int32 { /* sqlite3.c:232265:12: */ +func fts5NewTransaction(tls *libc.TLS, pTab uintptr) int32 { /* sqlite3.c:232322:12: */ var pCsr uintptr for pCsr = (*Fts5Global)(unsafe.Pointer((*Fts5FullTable)(unsafe.Pointer(pTab)).FpGlobal)).FpCsr; pCsr != 0; pCsr = (*Fts5Cursor)(unsafe.Pointer(pCsr)).FpNext { if (*Fts5Cursor)(unsafe.Pointer(pCsr)).Fbase.FpVtab == pTab { @@ -188721,7 +188752,7 @@ func fts5NewTransaction(tls *libc.TLS, pTab uintptr) int32 { /* sqlite3.c:232265 } // Implementation of xOpen method. -func fts5OpenMethod(tls *libc.TLS, pVTab uintptr, ppCsr uintptr) int32 { /* sqlite3.c:232276:12: */ +func fts5OpenMethod(tls *libc.TLS, pVTab uintptr, ppCsr uintptr) int32 { /* sqlite3.c:232333:12: */ var pTab uintptr = pVTab var pConfig uintptr = (*Fts5FullTable)(unsafe.Pointer(pTab)).Fp.FpConfig var pCsr uintptr = uintptr(0) // New cursor object @@ -188747,7 +188778,7 @@ func fts5OpenMethod(tls *libc.TLS, pVTab uintptr, ppCsr uintptr) int32 { /* sqli return rc } -func fts5StmtType(tls *libc.TLS, pCsr uintptr) int32 { /* sqlite3.c:232302:12: */ +func fts5StmtType(tls *libc.TLS, pCsr uintptr) int32 { /* sqlite3.c:232359:12: */ if (*Fts5Cursor)(unsafe.Pointer(pCsr)).FePlan == FTS5_PLAN_SCAN { if (*Fts5Cursor)(unsafe.Pointer(pCsr)).FbDesc != 0 { return FTS5_STMT_SCAN_DESC @@ -188760,11 +188791,11 @@ func fts5StmtType(tls *libc.TLS, pCsr uintptr) int32 { /* sqlite3.c:232302:12: * // This function is called after the cursor passed as the only argument // is moved to point at a different row. It clears all cached data // specific to the previous row stored by the cursor object. -func fts5CsrNewrow(tls *libc.TLS, pCsr uintptr) { /* sqlite3.c:232314:13: */ +func fts5CsrNewrow(tls *libc.TLS, pCsr uintptr) { /* sqlite3.c:232371:13: */ *(*int32)(unsafe.Pointer(pCsr + 80)) |= FTS5CSR_REQUIRE_CONTENT | FTS5CSR_REQUIRE_DOCSIZE | FTS5CSR_REQUIRE_INST | FTS5CSR_REQUIRE_POSLIST } -func fts5FreeCursorComponents(tls *libc.TLS, pCsr uintptr) { /* sqlite3.c:232323:13: */ +func fts5FreeCursorComponents(tls *libc.TLS, pCsr uintptr) { /* sqlite3.c:232380:13: */ var pTab uintptr = (*Fts5Cursor)(unsafe.Pointer(pCsr)).Fbase.FpVtab var pData uintptr var pNext uintptr @@ -188807,7 +188838,7 @@ func fts5FreeCursorComponents(tls *libc.TLS, pCsr uintptr) { /* sqlite3.c:232323 // Close the cursor. For additional information see the documentation // on the xClose method of the virtual table interface. -func fts5CloseMethod(tls *libc.TLS, pCursor uintptr) int32 { /* sqlite3.c:232367:12: */ +func fts5CloseMethod(tls *libc.TLS, pCursor uintptr) int32 { /* sqlite3.c:232424:12: */ if pCursor != 0 { var pTab uintptr = (*Sqlite3_vtab_cursor)(unsafe.Pointer(pCursor)).FpVtab var pCsr uintptr = pCursor @@ -188824,7 +188855,7 @@ func fts5CloseMethod(tls *libc.TLS, pCursor uintptr) int32 { /* sqlite3.c:232367 return SQLITE_OK } -func fts5SorterNext(tls *libc.TLS, pCsr uintptr) int32 { /* sqlite3.c:232383:12: */ +func fts5SorterNext(tls *libc.TLS, pCsr uintptr) int32 { /* sqlite3.c:232440:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -188868,7 +188899,7 @@ func fts5SorterNext(tls *libc.TLS, pCsr uintptr) int32 { /* sqlite3.c:232383:12: // Set the FTS5CSR_REQUIRE_RESEEK flag on all FTS5_PLAN_MATCH cursors // open on table pTab. -func fts5TripCursors(tls *libc.TLS, pTab uintptr) { /* sqlite3.c:232426:13: */ +func fts5TripCursors(tls *libc.TLS, pTab uintptr) { /* sqlite3.c:232483:13: */ var pCsr uintptr for pCsr = (*Fts5Global)(unsafe.Pointer((*Fts5FullTable)(unsafe.Pointer(pTab)).FpGlobal)).FpCsr; pCsr != 0; pCsr = (*Fts5Cursor)(unsafe.Pointer(pCsr)).FpNext { if (*Fts5Cursor)(unsafe.Pointer(pCsr)).FePlan == FTS5_PLAN_MATCH && @@ -188888,7 +188919,7 @@ func fts5TripCursors(tls *libc.TLS, pTab uintptr) { /* sqlite3.c:232426:13: */ // // Return SQLITE_OK if successful or if no reseek was required, or an // error code if an error occurred. -func fts5CursorReseek(tls *libc.TLS, pCsr uintptr, pbSkip uintptr) int32 { /* sqlite3.c:232449:12: */ +func fts5CursorReseek(tls *libc.TLS, pCsr uintptr, pbSkip uintptr) int32 { /* sqlite3.c:232506:12: */ var rc int32 = SQLITE_OK if (*Fts5Cursor)(unsafe.Pointer(pCsr)).Fcsrflags&FTS5CSR_REQUIRE_RESEEK != 0 { @@ -188917,7 +188948,7 @@ func fts5CursorReseek(tls *libc.TLS, pCsr uintptr, pbSkip uintptr) int32 { /* sq // Return SQLITE_OK if nothing goes wrong. SQLITE_OK is returned // even if we reach end-of-file. The fts5EofMethod() will be called // subsequently to determine whether or not an EOF was hit. -func fts5NextMethod(tls *libc.TLS, pCursor uintptr) int32 { /* sqlite3.c:232481:12: */ +func fts5NextMethod(tls *libc.TLS, pCursor uintptr) int32 { /* sqlite3.c:232538:12: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -188976,7 +189007,7 @@ func fts5NextMethod(tls *libc.TLS, pCursor uintptr) int32 { /* sqlite3.c:232481: return rc } -func fts5PrepareStatement(tls *libc.TLS, ppStmt uintptr, pConfig uintptr, zFmt uintptr, va uintptr) int32 { /* sqlite3.c:232534:12: */ +func fts5PrepareStatement(tls *libc.TLS, ppStmt uintptr, pConfig uintptr, zFmt uintptr, va uintptr) int32 { /* sqlite3.c:232591:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -189004,7 +189035,7 @@ func fts5PrepareStatement(tls *libc.TLS, ppStmt uintptr, pConfig uintptr, zFmt u return rc } -func fts5CursorFirstSorted(tls *libc.TLS, pTab uintptr, pCsr uintptr, bDesc int32) int32 { /* sqlite3.c:232563:12: */ +func fts5CursorFirstSorted(tls *libc.TLS, pTab uintptr, pCsr uintptr, bDesc int32) int32 { /* sqlite3.c:232620:12: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -189071,7 +189102,7 @@ func fts5CursorFirstSorted(tls *libc.TLS, pTab uintptr, pCsr uintptr, bDesc int3 return rc } -func fts5CursorFirst(tls *libc.TLS, pTab uintptr, pCsr uintptr, bDesc int32) int32 { /* sqlite3.c:232615:12: */ +func fts5CursorFirst(tls *libc.TLS, pTab uintptr, pCsr uintptr, bDesc int32) int32 { /* sqlite3.c:232672:12: */ var rc int32 var pExpr uintptr = (*Fts5Cursor)(unsafe.Pointer(pCsr)).FpExpr rc = sqlite3Fts5ExprFirst(tls, pExpr, (*Fts5FullTable)(unsafe.Pointer(pTab)).Fp.FpIndex, (*Fts5Cursor)(unsafe.Pointer(pCsr)).FiFirstRowid, bDesc) @@ -189086,7 +189117,7 @@ func fts5CursorFirst(tls *libc.TLS, pTab uintptr, pCsr uintptr, bDesc int32) int // MATCH expression that begins with a '*' character. The remainder of // the text passed to the MATCH operator are used as the special query // parameters. -func fts5SpecialMatch(tls *libc.TLS, pTab uintptr, pCsr uintptr, zQuery uintptr) int32 { /* sqlite3.c:232632:12: */ +func fts5SpecialMatch(tls *libc.TLS, pTab uintptr, pCsr uintptr, zQuery uintptr) int32 { /* sqlite3.c:232689:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -189118,7 +189149,7 @@ func fts5SpecialMatch(tls *libc.TLS, pTab uintptr, pCsr uintptr, zQuery uintptr) // Search for an auxiliary function named zName that can be used with table // pTab. If one is found, return a pointer to the corresponding Fts5Auxiliary // structure. Otherwise, if no such function exists, return NULL. -func fts5FindAuxiliary(tls *libc.TLS, pTab uintptr, zName uintptr) uintptr { /* sqlite3.c:232667:22: */ +func fts5FindAuxiliary(tls *libc.TLS, pTab uintptr, zName uintptr) uintptr { /* sqlite3.c:232724:22: */ var pAux uintptr for pAux = (*Fts5Global)(unsafe.Pointer((*Fts5FullTable)(unsafe.Pointer(pTab)).FpGlobal)).FpAux; pAux != 0; pAux = (*Fts5Auxiliary)(unsafe.Pointer(pAux)).FpNext { @@ -189131,7 +189162,7 @@ func fts5FindAuxiliary(tls *libc.TLS, pTab uintptr, zName uintptr) uintptr { /* return uintptr(0) } -func fts5FindRankFunction(tls *libc.TLS, pCsr uintptr) int32 { /* sqlite3.c:232679:12: */ +func fts5FindRankFunction(tls *libc.TLS, pCsr uintptr) int32 { /* sqlite3.c:232736:12: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -189184,7 +189215,7 @@ func fts5FindRankFunction(tls *libc.TLS, pCsr uintptr) int32 { /* sqlite3.c:2326 return *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) } -func fts5CursorParseRank(tls *libc.TLS, pConfig uintptr, pCsr uintptr, pRank uintptr) int32 { /* sqlite3.c:232730:12: */ +func fts5CursorParseRank(tls *libc.TLS, pConfig uintptr, pCsr uintptr, pRank uintptr) int32 { /* sqlite3.c:232787:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -189221,7 +189252,7 @@ func fts5CursorParseRank(tls *libc.TLS, pConfig uintptr, pCsr uintptr, pRank uin return rc } -func fts5GetRowidLimit(tls *libc.TLS, pVal uintptr, iDefault I64) I64 { /* sqlite3.c:232767:12: */ +func fts5GetRowidLimit(tls *libc.TLS, pVal uintptr, iDefault I64) I64 { /* sqlite3.c:232824:12: */ if pVal != 0 { var eType int32 = Xsqlite3_value_numeric_type(tls, pVal) if eType == SQLITE_INTEGER { @@ -189240,7 +189271,7 @@ func fts5GetRowidLimit(tls *libc.TLS, pVal uintptr, iDefault I64) I64 { /* sqlit // 1. Full-text search using a MATCH operator. // 2. A by-rowid lookup. // 3. A full-table scan. -func fts5FilterMethod(tls *libc.TLS, pCursor uintptr, idxNum int32, idxStr uintptr, nVal int32, apVal uintptr) int32 { /* sqlite3.c:232788:12: */ +func fts5FilterMethod(tls *libc.TLS, pCursor uintptr, idxNum int32, idxStr uintptr, nVal int32, apVal uintptr) int32 { /* sqlite3.c:232845:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -189561,7 +189592,7 @@ filter_out: // This is the xEof method of the virtual table. SQLite calls this // routine to find out if it has reached the end of a result set. -func fts5EofMethod(tls *libc.TLS, pCursor uintptr) int32 { /* sqlite3.c:232981:12: */ +func fts5EofMethod(tls *libc.TLS, pCursor uintptr) int32 { /* sqlite3.c:233038:12: */ var pCsr uintptr = pCursor return func() int32 { if (*Fts5Cursor)(unsafe.Pointer(pCsr)).Fcsrflags&FTS5CSR_EOF != 0 { @@ -189572,7 +189603,7 @@ func fts5EofMethod(tls *libc.TLS, pCursor uintptr) int32 { /* sqlite3.c:232981:1 } // Return the rowid that the cursor currently points to. -func fts5CursorRowid(tls *libc.TLS, pCsr uintptr) I64 { /* sqlite3.c:232989:12: */ +func fts5CursorRowid(tls *libc.TLS, pCsr uintptr) I64 { /* sqlite3.c:233046:12: */ if (*Fts5Cursor)(unsafe.Pointer(pCsr)).FpSorter != 0 { return (*Fts5Sorter)(unsafe.Pointer((*Fts5Cursor)(unsafe.Pointer(pCsr)).FpSorter)).FiRowid @@ -189586,7 +189617,7 @@ func fts5CursorRowid(tls *libc.TLS, pCsr uintptr) I64 { /* sqlite3.c:232989:12: // retrieve the rowid for the current row of the result set. fts5 // exposes %_content.rowid as the rowid for the virtual table. The // rowid should be written to *pRowid. -func fts5RowidMethod(tls *libc.TLS, pCursor uintptr, pRowid uintptr) int32 { /* sqlite3.c:233007:12: */ +func fts5RowidMethod(tls *libc.TLS, pCursor uintptr, pRowid uintptr) int32 { /* sqlite3.c:233064:12: */ var pCsr uintptr = pCursor var ePlan int32 = (*Fts5Cursor)(unsafe.Pointer(pCsr)).FePlan @@ -189616,7 +189647,7 @@ func fts5RowidMethod(tls *libc.TLS, pCursor uintptr, pRowid uintptr) int32 { /* // // If argument bErrormsg is true and an error occurs, an error message may // be left in sqlite3_vtab.zErrMsg. -func fts5SeekCursor(tls *libc.TLS, pCsr uintptr, bErrormsg int32) int32 { /* sqlite3.c:233038:12: */ +func fts5SeekCursor(tls *libc.TLS, pCsr uintptr, bErrormsg int32) int32 { /* sqlite3.c:233095:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -189660,7 +189691,7 @@ func fts5SeekCursor(tls *libc.TLS, pCsr uintptr, bErrormsg int32) int32 { /* sql return rc } -func fts5SetVtabError(tls *libc.TLS, p uintptr, zFormat uintptr, va uintptr) { /* sqlite3.c:233077:13: */ +func fts5SetVtabError(tls *libc.TLS, p uintptr, zFormat uintptr, va uintptr) { /* sqlite3.c:233134:13: */ var ap Va_list _ = ap // ... printf arguments ap = va @@ -189682,7 +189713,7 @@ func fts5SetVtabError(tls *libc.TLS, p uintptr, zFormat uintptr, va uintptr) { / // The commands implemented by this function are documented in the "Special // INSERT Directives" section of the documentation. It should be updated if // more commands are added to this function. -func fts5SpecialInsert(tls *libc.TLS, pTab uintptr, zCmd uintptr, pVal uintptr) int32 { /* sqlite3.c:233100:12: */ +func fts5SpecialInsert(tls *libc.TLS, pTab uintptr, zCmd uintptr, pVal uintptr) int32 { /* sqlite3.c:233157:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -189731,7 +189762,7 @@ func fts5SpecialInsert(tls *libc.TLS, pTab uintptr, zCmd uintptr, pVal uintptr) return rc } -func fts5SpecialDelete(tls *libc.TLS, pTab uintptr, apVal uintptr) int32 { /* sqlite3.c:233156:12: */ +func fts5SpecialDelete(tls *libc.TLS, pTab uintptr, apVal uintptr) int32 { /* sqlite3.c:233213:12: */ var rc int32 = SQLITE_OK var eType1 int32 = Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(apVal + 1*8))) if eType1 == SQLITE_INTEGER { @@ -189741,7 +189772,7 @@ func fts5SpecialDelete(tls *libc.TLS, pTab uintptr, apVal uintptr) int32 { /* sq return rc } -func fts5StorageInsert(tls *libc.TLS, pRc uintptr, pTab uintptr, apVal uintptr, piRowid uintptr) { /* sqlite3.c:233169:13: */ +func fts5StorageInsert(tls *libc.TLS, pRc uintptr, pTab uintptr, apVal uintptr, piRowid uintptr) { /* sqlite3.c:233226:13: */ var rc int32 = *(*int32)(unsafe.Pointer(pRc)) if rc == SQLITE_OK { rc = sqlite3Fts5StorageContentInsert(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).FpStorage, apVal, piRowid) @@ -189764,7 +189795,7 @@ func fts5StorageInsert(tls *libc.TLS, pRc uintptr, pTab uintptr, apVal uintptr, // 2. The "new" rowid. // 3. Values for each of the nCol matchable columns. // 4. Values for the two hidden columns ( and "rank"). -func fts5UpdateMethod(tls *libc.TLS, pVtab uintptr, nArg int32, apVal uintptr, pRowid uintptr) int32 { /* sqlite3.c:233199:12: */ +func fts5UpdateMethod(tls *libc.TLS, pVtab uintptr, nArg int32, apVal uintptr, pRowid uintptr) int32 { /* sqlite3.c:233256:12: */ bp := tls.Alloc(20) defer tls.Free(20) @@ -189866,7 +189897,7 @@ func fts5UpdateMethod(tls *libc.TLS, pVtab uintptr, nArg int32, apVal uintptr, p } // Implementation of xSync() method. -func fts5SyncMethod(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:233325:12: */ +func fts5SyncMethod(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:233382:12: */ var rc int32 var pTab uintptr = pVtab @@ -189878,7 +189909,7 @@ func fts5SyncMethod(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:233325:12 } // Implementation of xBegin() method. -func fts5BeginMethod(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:233339:12: */ +func fts5BeginMethod(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:233396:12: */ fts5NewTransaction(tls, pVtab) return SQLITE_OK @@ -189887,7 +189918,7 @@ func fts5BeginMethod(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:233339:1 // Implementation of xCommit() method. This is a no-op. The contents of // the pending-terms hash-table have already been flushed into the database // by fts5SyncMethod(). -func fts5CommitMethod(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:233350:12: */ +func fts5CommitMethod(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:233407:12: */ _ = pVtab // Call below is a no-op for NDEBUG builds return SQLITE_OK @@ -189895,7 +189926,7 @@ func fts5CommitMethod(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:233350: // Implementation of xRollback(). Discard the contents of the pending-terms // hash-table. Any changes made to the database are reverted by SQLite. -func fts5RollbackMethod(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:233360:12: */ +func fts5RollbackMethod(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:233417:12: */ var rc int32 var pTab uintptr = pVtab @@ -189903,46 +189934,46 @@ func fts5RollbackMethod(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:23336 return rc } -func fts5ApiUserData(tls *libc.TLS, pCtx uintptr) uintptr { /* sqlite3.c:233370:13: */ +func fts5ApiUserData(tls *libc.TLS, pCtx uintptr) uintptr { /* sqlite3.c:233427:13: */ var pCsr uintptr = pCtx return (*Fts5Auxiliary)(unsafe.Pointer((*Fts5Cursor)(unsafe.Pointer(pCsr)).FpAux)).FpUserData } -func fts5ApiColumnCount(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:233375:12: */ +func fts5ApiColumnCount(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:233432:12: */ var pCsr uintptr = pCtx return (*Fts5Config)(unsafe.Pointer((*Fts5Table)(unsafe.Pointer((*Fts5Cursor)(unsafe.Pointer(pCsr)).Fbase.FpVtab)).FpConfig)).FnCol } -func fts5ApiColumnTotalSize(tls *libc.TLS, pCtx uintptr, iCol int32, pnToken uintptr) int32 { /* sqlite3.c:233380:12: */ +func fts5ApiColumnTotalSize(tls *libc.TLS, pCtx uintptr, iCol int32, pnToken uintptr) int32 { /* sqlite3.c:233437:12: */ var pCsr uintptr = pCtx var pTab uintptr = (*Fts5Cursor)(unsafe.Pointer(pCsr)).Fbase.FpVtab return sqlite3Fts5StorageSize(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).FpStorage, iCol, pnToken) } -func fts5ApiRowCount(tls *libc.TLS, pCtx uintptr, pnRow uintptr) int32 { /* sqlite3.c:233390:12: */ +func fts5ApiRowCount(tls *libc.TLS, pCtx uintptr, pnRow uintptr) int32 { /* sqlite3.c:233447:12: */ var pCsr uintptr = pCtx var pTab uintptr = (*Fts5Cursor)(unsafe.Pointer(pCsr)).Fbase.FpVtab return sqlite3Fts5StorageRowCount(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).FpStorage, pnRow) } -func fts5ApiTokenize(tls *libc.TLS, pCtx uintptr, pText uintptr, nText int32, pUserData uintptr, xToken uintptr) int32 { /* sqlite3.c:233396:12: */ +func fts5ApiTokenize(tls *libc.TLS, pCtx uintptr, pText uintptr, nText int32, pUserData uintptr, xToken uintptr) int32 { /* sqlite3.c:233453:12: */ var pCsr uintptr = pCtx var pTab uintptr = (*Fts5Cursor)(unsafe.Pointer(pCsr)).Fbase.FpVtab return sqlite3Fts5Tokenize(tls, (*Fts5Table)(unsafe.Pointer(pTab)).FpConfig, FTS5_TOKENIZE_AUX, pText, nText, pUserData, xToken) } -func fts5ApiPhraseCount(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:233409:12: */ +func fts5ApiPhraseCount(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:233466:12: */ var pCsr uintptr = pCtx return sqlite3Fts5ExprPhraseCount(tls, (*Fts5Cursor)(unsafe.Pointer(pCsr)).FpExpr) } -func fts5ApiPhraseSize(tls *libc.TLS, pCtx uintptr, iPhrase int32) int32 { /* sqlite3.c:233414:12: */ +func fts5ApiPhraseSize(tls *libc.TLS, pCtx uintptr, iPhrase int32) int32 { /* sqlite3.c:233471:12: */ var pCsr uintptr = pCtx return sqlite3Fts5ExprPhraseSize(tls, (*Fts5Cursor)(unsafe.Pointer(pCsr)).FpExpr, iPhrase) } -func fts5ApiColumnText(tls *libc.TLS, pCtx uintptr, iCol int32, pz uintptr, pn uintptr) int32 { /* sqlite3.c:233419:12: */ +func fts5ApiColumnText(tls *libc.TLS, pCtx uintptr, iCol int32, pz uintptr, pn uintptr) int32 { /* sqlite3.c:233476:12: */ var rc int32 = SQLITE_OK var pCsr uintptr = pCtx if fts5IsContentless(tls, (*Fts5Cursor)(unsafe.Pointer(pCsr)).Fbase.FpVtab) != 0 || @@ -189959,7 +189990,7 @@ func fts5ApiColumnText(tls *libc.TLS, pCtx uintptr, iCol int32, pz uintptr, pn u return rc } -func fts5CsrPoslist(tls *libc.TLS, pCsr uintptr, iPhrase int32, pa uintptr, pn uintptr) int32 { /* sqlite3.c:233442:12: */ +func fts5CsrPoslist(tls *libc.TLS, pCsr uintptr, iPhrase int32, pa uintptr, pn uintptr) int32 { /* sqlite3.c:233499:12: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -190016,7 +190047,7 @@ func fts5CsrPoslist(tls *libc.TLS, pCsr uintptr, iPhrase int32, pa uintptr, pn u // Ensure that the Fts5Cursor.nInstCount and aInst[] variables are populated // correctly for the current view. Return SQLITE_OK if successful, or an // SQLite error code otherwise. -func fts5CacheInstArray(tls *libc.TLS, pCsr uintptr) int32 { /* sqlite3.c:233494:12: */ +func fts5CacheInstArray(tls *libc.TLS, pCsr uintptr) int32 { /* sqlite3.c:233551:12: */ bp := tls.Alloc(20) defer tls.Free(20) @@ -190100,7 +190131,7 @@ func fts5CacheInstArray(tls *libc.TLS, pCsr uintptr) int32 { /* sqlite3.c:233494 return *(*int32)(unsafe.Pointer(bp /* rc */)) } -func fts5ApiInstCount(tls *libc.TLS, pCtx uintptr, pnInst uintptr) int32 { /* sqlite3.c:233568:12: */ +func fts5ApiInstCount(tls *libc.TLS, pCtx uintptr, pnInst uintptr) int32 { /* sqlite3.c:233625:12: */ var pCsr uintptr = pCtx var rc int32 = SQLITE_OK if (*Fts5Cursor)(unsafe.Pointer(pCsr)).Fcsrflags&FTS5CSR_REQUIRE_INST == 0 || @@ -190110,7 +190141,7 @@ func fts5ApiInstCount(tls *libc.TLS, pCtx uintptr, pnInst uintptr) int32 { /* sq return rc } -func fts5ApiInst(tls *libc.TLS, pCtx uintptr, iIdx int32, piPhrase uintptr, piCol uintptr, piOff uintptr) int32 { /* sqlite3.c:233578:12: */ +func fts5ApiInst(tls *libc.TLS, pCtx uintptr, iIdx int32, piPhrase uintptr, piCol uintptr, piOff uintptr) int32 { /* sqlite3.c:233635:12: */ var pCsr uintptr = pCtx var rc int32 = SQLITE_OK if (*Fts5Cursor)(unsafe.Pointer(pCsr)).Fcsrflags&FTS5CSR_REQUIRE_INST == 0 || @@ -190126,11 +190157,11 @@ func fts5ApiInst(tls *libc.TLS, pCtx uintptr, iIdx int32, piPhrase uintptr, piCo return rc } -func fts5ApiRowid(tls *libc.TLS, pCtx uintptr) Sqlite3_int64 { /* sqlite3.c:233607:22: */ +func fts5ApiRowid(tls *libc.TLS, pCtx uintptr) Sqlite3_int64 { /* sqlite3.c:233664:22: */ return fts5CursorRowid(tls, pCtx) } -func fts5ColumnSizeCb(tls *libc.TLS, pContext uintptr, tflags int32, pUnused uintptr, nUnused int32, iUnused1 int32, iUnused2 int32) int32 { /* sqlite3.c:233611:12: */ +func fts5ColumnSizeCb(tls *libc.TLS, pContext uintptr, tflags int32, pUnused uintptr, nUnused int32, iUnused1 int32, iUnused2 int32) int32 { /* sqlite3.c:233668:12: */ var pCnt uintptr = pContext _ = pUnused _ = nUnused @@ -190142,7 +190173,7 @@ func fts5ColumnSizeCb(tls *libc.TLS, pContext uintptr, tflags int32, pUnused uin return SQLITE_OK } -func fts5ApiColumnSize(tls *libc.TLS, pCtx uintptr, iCol int32, pnToken uintptr) int32 { /* sqlite3.c:233628:12: */ +func fts5ApiColumnSize(tls *libc.TLS, pCtx uintptr, iCol int32, pnToken uintptr) int32 { /* sqlite3.c:233685:12: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -190200,7 +190231,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) int32 { /* sqlite3.c:233681:12: */ +func fts5ApiSetAuxdata(tls *libc.TLS, pCtx uintptr, pPtr uintptr, xDelete uintptr) int32 { /* sqlite3.c:233738:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -190238,7 +190269,7 @@ func fts5ApiSetAuxdata(tls *libc.TLS, pCtx uintptr, pPtr uintptr, xDelete uintpt return SQLITE_OK } -func fts5ApiGetAuxdata(tls *libc.TLS, pCtx uintptr, bClear int32) uintptr { /* sqlite3.c:233716:13: */ +func fts5ApiGetAuxdata(tls *libc.TLS, pCtx uintptr, bClear int32) uintptr { /* sqlite3.c:233773:13: */ var pCsr uintptr = pCtx var pData uintptr var pRet uintptr = uintptr(0) @@ -190260,7 +190291,7 @@ func fts5ApiGetAuxdata(tls *libc.TLS, pCtx uintptr, bClear int32) uintptr { /* s return pRet } -func fts5ApiPhraseNext(tls *libc.TLS, pUnused uintptr, pIter uintptr, piCol uintptr, piOff uintptr) { /* sqlite3.c:233736:13: */ +func fts5ApiPhraseNext(tls *libc.TLS, pUnused uintptr, pIter uintptr, piCol uintptr, piOff uintptr) { /* sqlite3.c:233793:13: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -190282,7 +190313,7 @@ func fts5ApiPhraseNext(tls *libc.TLS, pUnused uintptr, pIter uintptr, piCol uint } } -func fts5ApiPhraseFirst(tls *libc.TLS, pCtx uintptr, iPhrase int32, pIter uintptr, piCol uintptr, piOff uintptr) int32 { /* sqlite3.c:233758:12: */ +func fts5ApiPhraseFirst(tls *libc.TLS, pCtx uintptr, iPhrase int32, pIter uintptr, piCol uintptr, piOff uintptr) int32 { /* sqlite3.c:233815:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -190305,7 +190336,7 @@ func fts5ApiPhraseFirst(tls *libc.TLS, pCtx uintptr, iPhrase int32, pIter uintpt return rc } -func fts5ApiPhraseNextColumn(tls *libc.TLS, pCtx uintptr, pIter uintptr, piCol uintptr) { /* sqlite3.c:233777:13: */ +func fts5ApiPhraseNextColumn(tls *libc.TLS, pCtx uintptr, pIter uintptr, piCol uintptr) { /* sqlite3.c:233834:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -190338,7 +190369,7 @@ func fts5ApiPhraseNextColumn(tls *libc.TLS, pCtx uintptr, pIter uintptr, piCol u } } -func fts5ApiPhraseFirstColumn(tls *libc.TLS, pCtx uintptr, iPhrase int32, pIter uintptr, piCol uintptr) int32 { /* sqlite3.c:233807:12: */ +func fts5ApiPhraseFirstColumn(tls *libc.TLS, pCtx uintptr, iPhrase int32, pIter uintptr, piCol uintptr) int32 { /* sqlite3.c:233864:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -190419,10 +190450,10 @@ var sFts5Api = Fts5ExtensionApi{ FxPhraseNext: 0, FxPhraseFirstColumn: 0, FxPhraseNextColumn: 0, -} /* sqlite3.c:233857:31 */ +} /* sqlite3.c:233914:31 */ // Implementation of API function xQueryPhrase(). -func fts5ApiQueryPhrase(tls *libc.TLS, pCtx uintptr, iPhrase int32, pUserData uintptr, xCallback uintptr) int32 { /* sqlite3.c:233883:12: */ +func fts5ApiQueryPhrase(tls *libc.TLS, pCtx uintptr, iPhrase int32, pUserData uintptr, xCallback uintptr) int32 { /* sqlite3.c:233940:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -190458,7 +190489,7 @@ func fts5ApiQueryPhrase(tls *libc.TLS, pCtx uintptr, iPhrase int32, pUserData ui return rc } -func fts5ApiInvoke(tls *libc.TLS, pAux uintptr, pCsr uintptr, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:233920:13: */ +func fts5ApiInvoke(tls *libc.TLS, pAux uintptr, pCsr uintptr, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:233977:13: */ (*Fts5Cursor)(unsafe.Pointer(pCsr)).FpAux = pAux (*struct { @@ -190467,7 +190498,7 @@ func fts5ApiInvoke(tls *libc.TLS, pAux uintptr, pCsr uintptr, context uintptr, a (*Fts5Cursor)(unsafe.Pointer(pCsr)).FpAux = uintptr(0) } -func fts5CursorFromCsrid(tls *libc.TLS, pGlobal uintptr, iCsrId I64) uintptr { /* sqlite3.c:233933:19: */ +func fts5CursorFromCsrid(tls *libc.TLS, pGlobal uintptr, iCsrId I64) uintptr { /* sqlite3.c:233990:19: */ var pCsr uintptr for pCsr = (*Fts5Global)(unsafe.Pointer(pGlobal)).FpCsr; pCsr != 0; pCsr = (*Fts5Cursor)(unsafe.Pointer(pCsr)).FpNext { if (*Fts5Cursor)(unsafe.Pointer(pCsr)).FiCsrId == iCsrId { @@ -190477,7 +190508,7 @@ func fts5CursorFromCsrid(tls *libc.TLS, pGlobal uintptr, iCsrId I64) uintptr { / return pCsr } -func fts5ApiCallback(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:233941:13: */ +func fts5ApiCallback(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:233998:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -190500,7 +190531,7 @@ func fts5ApiCallback(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { // Given cursor id iId, return a pointer to the corresponding Fts5Table // object. Or NULL If the cursor id does not exist. -func sqlite3Fts5TableFromCsrid(tls *libc.TLS, pGlobal uintptr, iCsrId I64) uintptr { /* sqlite3.c:233970:18: */ +func sqlite3Fts5TableFromCsrid(tls *libc.TLS, pGlobal uintptr, iCsrId I64) uintptr { /* sqlite3.c:234027:18: */ var pCsr uintptr pCsr = fts5CursorFromCsrid(tls, pGlobal, iCsrId) if pCsr != 0 { @@ -190522,7 +190553,7 @@ func sqlite3Fts5TableFromCsrid(tls *libc.TLS, pGlobal uintptr, iCsrId I64) uintp // for phrase 0. The second (same disclaimer) contains the size of position // list 1. And so on. There is no size field for the final position list, // as it can be derived from the total size of the blob. -func fts5PoslistBlob(tls *libc.TLS, pCtx uintptr, pCsr uintptr) int32 { /* sqlite3.c:233997:12: */ +func fts5PoslistBlob(tls *libc.TLS, pCtx uintptr, pCsr uintptr) int32 { /* sqlite3.c:234054:12: */ bp := tls.Alloc(68) defer tls.Free(68) @@ -190586,7 +190617,7 @@ func fts5PoslistBlob(tls *libc.TLS, pCtx uintptr, pCsr uintptr) int32 { /* sqlit // This is the xColumn method, called by SQLite to request a value from // the row that the supplied cursor currently points to. -func fts5ColumnMethod(tls *libc.TLS, pCursor uintptr, pCtx uintptr, iCol int32) int32 { /* sqlite3.c:234054:12: */ +func fts5ColumnMethod(tls *libc.TLS, pCursor uintptr, pCtx uintptr, iCol int32) int32 { /* sqlite3.c:234111:12: */ var pTab uintptr = (*Sqlite3_vtab_cursor)(unsafe.Pointer(pCursor)).FpVtab var pConfig uintptr = (*Fts5FullTable)(unsafe.Pointer(pTab)).Fp.FpConfig var pCsr uintptr = pCursor @@ -190626,7 +190657,7 @@ 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) int32 { /* sqlite3.c:234107:12: */ +func fts5FindFunctionMethod(tls *libc.TLS, pVtab uintptr, nUnused int32, zName uintptr, pxFunc uintptr, ppArg uintptr) int32 { /* sqlite3.c:234164:12: */ var pTab uintptr = pVtab var pAux uintptr @@ -190645,12 +190676,12 @@ func fts5FindFunctionMethod(tls *libc.TLS, pVtab uintptr, nUnused int32, zName u } // Implementation of FTS5 xRename method. Rename an fts5 table. -func fts5RenameMethod(tls *libc.TLS, pVtab uintptr, zName uintptr) int32 { /* sqlite3.c:234132:12: */ +func fts5RenameMethod(tls *libc.TLS, pVtab uintptr, zName uintptr) int32 { /* sqlite3.c:234189:12: */ var pTab uintptr = pVtab return sqlite3Fts5StorageRename(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).FpStorage, zName) } -func sqlite3Fts5FlushToDisk(tls *libc.TLS, pTab uintptr) int32 { /* sqlite3.c:234140:12: */ +func sqlite3Fts5FlushToDisk(tls *libc.TLS, pTab uintptr) int32 { /* sqlite3.c:234197:12: */ fts5TripCursors(tls, pTab) return sqlite3Fts5StorageSync(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).FpStorage) } @@ -190658,7 +190689,7 @@ func sqlite3Fts5FlushToDisk(tls *libc.TLS, pTab uintptr) int32 { /* sqlite3.c:23 // The xSavepoint() method. // // Flush the contents of the pending-terms table to disk. -func fts5SavepointMethod(tls *libc.TLS, pVtab uintptr, iSavepoint int32) int32 { /* sqlite3.c:234150:12: */ +func fts5SavepointMethod(tls *libc.TLS, pVtab uintptr, iSavepoint int32) int32 { /* sqlite3.c:234207:12: */ _ = iSavepoint // Call below is a no-op for NDEBUG builds return sqlite3Fts5FlushToDisk(tls, pVtab) @@ -190667,7 +190698,7 @@ func fts5SavepointMethod(tls *libc.TLS, pVtab uintptr, iSavepoint int32) int32 { // The xRelease() method. // // This is a no-op. -func fts5ReleaseMethod(tls *libc.TLS, pVtab uintptr, iSavepoint int32) int32 { /* sqlite3.c:234161:12: */ +func fts5ReleaseMethod(tls *libc.TLS, pVtab uintptr, iSavepoint int32) int32 { /* sqlite3.c:234218:12: */ _ = iSavepoint // Call below is a no-op for NDEBUG builds return sqlite3Fts5FlushToDisk(tls, pVtab) @@ -190676,7 +190707,7 @@ func fts5ReleaseMethod(tls *libc.TLS, pVtab uintptr, iSavepoint int32) int32 { / // The xRollbackTo() method. // // Discard the contents of the pending terms table. -func fts5RollbackToMethod(tls *libc.TLS, pVtab uintptr, iSavepoint int32) int32 { /* sqlite3.c:234172:12: */ +func fts5RollbackToMethod(tls *libc.TLS, pVtab uintptr, iSavepoint int32) int32 { /* sqlite3.c:234229:12: */ var pTab uintptr = pVtab _ = iSavepoint // Call below is a no-op for NDEBUG builds @@ -190685,7 +190716,7 @@ func fts5RollbackToMethod(tls *libc.TLS, pVtab uintptr, iSavepoint int32) int32 } // Register a new auxiliary function with global context pGlobal. -func fts5CreateAux(tls *libc.TLS, pApi uintptr, zName uintptr, pUserData uintptr, xFunc Fts5_extension_function, xDestroy uintptr) int32 { /* sqlite3.c:234183:12: */ +func fts5CreateAux(tls *libc.TLS, pApi uintptr, zName uintptr, pUserData uintptr, xFunc Fts5_extension_function, xDestroy uintptr) int32 { /* sqlite3.c:234240:12: */ var pGlobal uintptr = pApi var rc int32 = Xsqlite3_overload_function(tls, (*Fts5Global)(unsafe.Pointer(pGlobal)).Fdb, zName, -1) if rc == SQLITE_OK { @@ -190716,7 +190747,7 @@ func fts5CreateAux(tls *libc.TLS, pApi uintptr, zName uintptr, pUserData uintptr // Register a new tokenizer. This is the implementation of the // fts5_api.xCreateTokenizer() method. -func fts5CreateTokenizer(tls *libc.TLS, pApi uintptr, zName uintptr, pUserData uintptr, pTokenizer uintptr, xDestroy uintptr) int32 { /* sqlite3.c:234222:12: */ +func fts5CreateTokenizer(tls *libc.TLS, pApi uintptr, zName uintptr, pUserData uintptr, pTokenizer uintptr, xDestroy uintptr) int32 { /* sqlite3.c:234279:12: */ var pGlobal uintptr = pApi var pNew uintptr var nName Sqlite3_int64 // Size of zName and its \0 terminator @@ -190745,7 +190776,7 @@ func fts5CreateTokenizer(tls *libc.TLS, pApi uintptr, zName uintptr, pUserData u return rc } -func fts5LocateTokenizer(tls *libc.TLS, pGlobal uintptr, zName uintptr) uintptr { /* sqlite3.c:234257:28: */ +func fts5LocateTokenizer(tls *libc.TLS, pGlobal uintptr, zName uintptr) uintptr { /* sqlite3.c:234314:28: */ var pMod uintptr = uintptr(0) if zName == uintptr(0) { @@ -190763,7 +190794,7 @@ func fts5LocateTokenizer(tls *libc.TLS, pGlobal uintptr, zName uintptr) uintptr // Find a tokenizer. This is the implementation of the // fts5_api.xFindTokenizer() method. -func fts5FindTokenizer(tls *libc.TLS, pApi uintptr, zName uintptr, ppUserData uintptr, pTokenizer uintptr) int32 { /* sqlite3.c:234278:12: */ +func fts5FindTokenizer(tls *libc.TLS, pApi uintptr, zName uintptr, ppUserData uintptr, pTokenizer uintptr) int32 { /* sqlite3.c:234335:12: */ var rc int32 = SQLITE_OK var pMod uintptr @@ -190779,7 +190810,7 @@ func fts5FindTokenizer(tls *libc.TLS, pApi uintptr, zName uintptr, ppUserData ui return rc } -func sqlite3Fts5GetTokenizer(tls *libc.TLS, pGlobal uintptr, azArg uintptr, nArg int32, pConfig uintptr, pzErr uintptr) int32 { /* sqlite3.c:234299:12: */ +func sqlite3Fts5GetTokenizer(tls *libc.TLS, pGlobal uintptr, azArg uintptr, nArg int32, pConfig uintptr, pzErr uintptr) int32 { /* sqlite3.c:234356:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -190830,7 +190861,7 @@ func sqlite3Fts5GetTokenizer(tls *libc.TLS, pGlobal uintptr, azArg uintptr, nArg return rc } -func fts5ModuleDestroy(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:234336:13: */ +func fts5ModuleDestroy(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:234393:13: */ var pTok uintptr var pNextTok uintptr var pAux uintptr @@ -190856,7 +190887,7 @@ func fts5ModuleDestroy(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:234336:13: */ Xsqlite3_free(tls, pGlobal) } -func fts5Fts5Func(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:234356:13: */ +func fts5Fts5Func(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:234413:13: */ var pGlobal uintptr = Xsqlite3_user_data(tls, pCtx) var ppApi uintptr _ = nArg @@ -190868,7 +190899,7 @@ func fts5Fts5Func(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* s } // Implementation of fts5_source_id() function. -func fts5SourceIdFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apUnused uintptr) { /* sqlite3.c:234372:13: */ +func fts5SourceIdFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apUnused uintptr) { /* sqlite3.c:234429:13: */ _ = nArg _ = apUnused @@ -190877,7 +190908,7 @@ func fts5SourceIdFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apUnused uintptr) // Return true if zName is the extension on one of the shadow tables used // by this module. -func fts5ShadowName(tls *libc.TLS, zName uintptr) int32 { /* sqlite3.c:234386:12: */ +func fts5ShadowName(tls *libc.TLS, zName uintptr) int32 { /* sqlite3.c:234443:12: */ var i uint32 for i = uint32(0); uint64(i) < uint64(unsafe.Sizeof(azName2))/uint64(unsafe.Sizeof(uintptr(0))); i++ { if Xsqlite3_stricmp(tls, zName, azName2[i]) == 0 { @@ -190889,9 +190920,9 @@ func fts5ShadowName(tls *libc.TLS, zName uintptr) int32 { /* sqlite3.c:234386:12 var azName2 = [5]uintptr{ ts + 35770, ts + 33869, ts + 24869, ts + 34220, ts + 11364, -} /* sqlite3.c:234387:21 */ +} /* sqlite3.c:234444:21 */ -func fts5Init(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:234397:12: */ +func fts5Init(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:234454:12: */ var rc int32 var pGlobal uintptr = uintptr(0) @@ -190974,7 +191005,7 @@ var fts5Mod = Sqlite3_module{ /* xRelease */ FxRelease: 0, /* xRollbackTo */ FxRollbackTo: 0, /* xShadowName */ FxShadowName: 0, -} /* sqlite3.c:234398:31 */ +} /* sqlite3.c:234455:31 */ // The following functions are used to register the module with SQLite. If // this module is being built as part of the SQLite core (SQLITE_CORE is @@ -190983,7 +191014,7 @@ var fts5Mod = Sqlite3_module{ // Or, if this module is being built as a loadable extension, // sqlite3Fts5Init() is omitted and the two standard entry points // sqlite3_fts_init() and sqlite3_fts5_init() defined instead. -func Xsqlite3Fts5Init(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:234506:20: */ +func Xsqlite3Fts5Init(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:234563:20: */ return fts5Init(tls, db) } @@ -190991,7 +191022,7 @@ func Xsqlite3Fts5Init(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:234506:20: // Fts5Storage.pInsertDocsize - if they have not already been prepared. // Return SQLITE_OK if successful, or an SQLite error code if an error // occurs. -func fts5StorageGetStmt(tls *libc.TLS, p uintptr, eStmt int32, ppStmt uintptr, pzErrMsg uintptr) int32 { /* sqlite3.c:234564:12: */ +func fts5StorageGetStmt(tls *libc.TLS, p uintptr, eStmt int32, ppStmt uintptr, pzErrMsg uintptr) int32 { /* sqlite3.c:234621:12: */ bp := tls.Alloc(216) defer tls.Free(216) @@ -191092,7 +191123,7 @@ func fts5StorageGetStmt(tls *libc.TLS, p uintptr, eStmt int32, ppStmt uintptr, p return rc } -func fts5ExecPrintf(tls *libc.TLS, db uintptr, pzErr uintptr, zFormat uintptr, va uintptr) int32 { /* sqlite3.c:234667:12: */ +func fts5ExecPrintf(tls *libc.TLS, db uintptr, pzErr uintptr, zFormat uintptr, va uintptr) int32 { /* sqlite3.c:234724:12: */ var rc int32 var ap Va_list _ = ap // ... printf arguments @@ -191114,7 +191145,7 @@ func fts5ExecPrintf(tls *libc.TLS, db uintptr, pzErr uintptr, zFormat uintptr, v // Drop all shadow tables. Return SQLITE_OK if successful or an SQLite error // code otherwise. -func sqlite3Fts5DropAll(tls *libc.TLS, pConfig uintptr) int32 { /* sqlite3.c:234695:12: */ +func sqlite3Fts5DropAll(tls *libc.TLS, pConfig uintptr) int32 { /* sqlite3.c:234752:12: */ bp := tls.Alloc(80) defer tls.Free(80) @@ -191137,7 +191168,7 @@ func sqlite3Fts5DropAll(tls *libc.TLS, pConfig uintptr) int32 { /* sqlite3.c:234 return rc } -func fts5StorageRenameOne(tls *libc.TLS, pConfig uintptr, pRc uintptr, zTail uintptr, zName uintptr) { /* sqlite3.c:234719:13: */ +func fts5StorageRenameOne(tls *libc.TLS, pConfig uintptr, pRc uintptr, zTail uintptr, zName uintptr) { /* sqlite3.c:234776:13: */ bp := tls.Alloc(40) defer tls.Free(40) @@ -191148,7 +191179,7 @@ func fts5StorageRenameOne(tls *libc.TLS, pConfig uintptr, pRc uintptr, zTail uin } } -func sqlite3Fts5StorageRename(tls *libc.TLS, pStorage uintptr, zName uintptr) int32 { /* sqlite3.c:234733:12: */ +func sqlite3Fts5StorageRename(tls *libc.TLS, pStorage uintptr, zName uintptr) int32 { /* sqlite3.c:234790:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -191169,7 +191200,7 @@ func sqlite3Fts5StorageRename(tls *libc.TLS, pStorage uintptr, zName uintptr) in // Create the shadow table named zPost, with definition zDefn. Return // SQLITE_OK if successful, or an SQLite error code otherwise. -func sqlite3Fts5CreateTable(tls *libc.TLS, pConfig uintptr, zPost uintptr, zDefn uintptr, bWithout int32, pzErr uintptr) int32 { /* sqlite3.c:234753:12: */ +func sqlite3Fts5CreateTable(tls *libc.TLS, pConfig uintptr, zPost uintptr, zDefn uintptr, bWithout int32, pzErr uintptr) int32 { /* sqlite3.c:234810:12: */ bp := tls.Alloc(72) defer tls.Free(72) @@ -191199,7 +191230,7 @@ func sqlite3Fts5CreateTable(tls *libc.TLS, pConfig uintptr, zPost uintptr, zDefn // // If successful, set *pp to point to the new object and return SQLITE_OK. // Otherwise, set *pp to NULL and return an SQLite error code. -func sqlite3Fts5StorageOpen(tls *libc.TLS, pConfig uintptr, pIndex uintptr, bCreate int32, pp uintptr, pzErr uintptr) int32 { /* sqlite3.c:234788:12: */ +func sqlite3Fts5StorageOpen(tls *libc.TLS, pConfig uintptr, pIndex uintptr, bCreate int32, pp uintptr, pzErr uintptr) int32 { /* sqlite3.c:234845:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -191260,7 +191291,7 @@ func sqlite3Fts5StorageOpen(tls *libc.TLS, pConfig uintptr, pIndex uintptr, bCre } // Close a handle opened by an earlier call to sqlite3Fts5StorageOpen(). -func sqlite3Fts5StorageClose(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:234854:12: */ +func sqlite3Fts5StorageClose(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:234911:12: */ var rc int32 = SQLITE_OK if p != 0 { var i int32 @@ -191279,12 +191310,12 @@ type Fts5InsertCtx1 = struct { FpStorage uintptr FiCol int32 FszCol int32 -} /* sqlite3.c:234869:9 */ +} /* sqlite3.c:234926:9 */ -type Fts5InsertCtx = Fts5InsertCtx1 /* sqlite3.c:234869:30 */ +type Fts5InsertCtx = Fts5InsertCtx1 /* sqlite3.c:234926:30 */ // Tokenization callback used when inserting tokens into the FTS index. -func fts5StorageInsertCallback(tls *libc.TLS, pContext uintptr, tflags int32, pToken uintptr, nToken int32, iUnused1 int32, iUnused2 int32) int32 { /* sqlite3.c:234879:12: */ +func fts5StorageInsertCallback(tls *libc.TLS, pContext uintptr, tflags int32, pToken uintptr, nToken int32, iUnused1 int32, iUnused2 int32) int32 { /* sqlite3.c:234936:12: */ var pCtx uintptr = pContext var pIdx uintptr = (*Fts5Storage)(unsafe.Pointer((*Fts5InsertCtx)(unsafe.Pointer(pCtx)).FpStorage)).FpIndex _ = iUnused1 @@ -191301,7 +191332,7 @@ func fts5StorageInsertCallback(tls *libc.TLS, pContext uintptr, tflags int32, pT // If a row with rowid iDel is present in the %_content table, add the // delete-markers to the FTS index necessary to delete it. Do not actually // remove the %_content row at this time though. -func fts5StorageDeleteFromIndex(tls *libc.TLS, p uintptr, iDel I64, apVal uintptr) int32 { /* sqlite3.c:234902:12: */ +func fts5StorageDeleteFromIndex(tls *libc.TLS, p uintptr, iDel I64, apVal uintptr) int32 { /* sqlite3.c:234959:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -191370,7 +191401,7 @@ func fts5StorageDeleteFromIndex(tls *libc.TLS, p uintptr, iDel I64, apVal uintpt // // If there is no %_docsize table (as happens if the columnsize=0 option // is specified when the FTS5 table is created), this function is a no-op. -func fts5StorageInsertDocsize(tls *libc.TLS, p uintptr, iRowid I64, pBuf uintptr) int32 { /* sqlite3.c:234971:12: */ +func fts5StorageInsertDocsize(tls *libc.TLS, p uintptr, iRowid I64, pBuf uintptr) int32 { /* sqlite3.c:235028:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -191397,7 +191428,7 @@ func fts5StorageInsertDocsize(tls *libc.TLS, p uintptr, iRowid I64, pBuf uintptr // // Return SQLITE_OK if successful, or an SQLite error code if an error // occurs. -func fts5StorageLoadTotals(tls *libc.TLS, p uintptr, bCache int32) int32 { /* sqlite3.c:235001:12: */ +func fts5StorageLoadTotals(tls *libc.TLS, p uintptr, bCache int32) int32 { /* sqlite3.c:235058:12: */ var rc int32 = SQLITE_OK if (*Fts5Storage)(unsafe.Pointer(p)).FbTotalsValid == 0 { rc = sqlite3Fts5IndexGetAverages(tls, (*Fts5Storage)(unsafe.Pointer(p)).FpIndex, p+24, (*Fts5Storage)(unsafe.Pointer(p)).FaTotalSize) @@ -191411,7 +191442,7 @@ func fts5StorageLoadTotals(tls *libc.TLS, p uintptr, bCache int32) int32 { /* sq // // Return SQLITE_OK if successful, or an SQLite error code if an error // occurs. -func fts5StorageSaveTotals(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:235017:12: */ +func fts5StorageSaveTotals(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:235074:12: */ bp := tls.Alloc(20) defer tls.Free(20) @@ -191435,7 +191466,7 @@ func fts5StorageSaveTotals(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:235017 } // Remove a row from the FTS table. -func sqlite3Fts5StorageDelete(tls *libc.TLS, p uintptr, iDel I64, apVal uintptr) int32 { /* sqlite3.c:235039:12: */ +func sqlite3Fts5StorageDelete(tls *libc.TLS, p uintptr, iDel I64, apVal uintptr) int32 { /* sqlite3.c:235096:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -191476,7 +191507,7 @@ func sqlite3Fts5StorageDelete(tls *libc.TLS, p uintptr, iDel I64, apVal uintptr) } // Delete all entries in the FTS5 index. -func sqlite3Fts5StorageDeleteAll(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:235080:12: */ +func sqlite3Fts5StorageDeleteAll(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:235137:12: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -191508,7 +191539,7 @@ func sqlite3Fts5StorageDeleteAll(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c: return rc } -func sqlite3Fts5StorageRebuild(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:235111:12: */ +func sqlite3Fts5StorageRebuild(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:235168:12: */ bp := tls.Alloc(44) defer tls.Free(44) @@ -191572,15 +191603,15 @@ func sqlite3Fts5StorageRebuild(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:23 return *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) } -func sqlite3Fts5StorageOptimize(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:235166:12: */ +func sqlite3Fts5StorageOptimize(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:235223:12: */ return sqlite3Fts5IndexOptimize(tls, (*Fts5Storage)(unsafe.Pointer(p)).FpIndex) } -func sqlite3Fts5StorageMerge(tls *libc.TLS, p uintptr, nMerge int32) int32 { /* sqlite3.c:235170:12: */ +func sqlite3Fts5StorageMerge(tls *libc.TLS, p uintptr, nMerge int32) int32 { /* sqlite3.c:235227:12: */ return sqlite3Fts5IndexMerge(tls, (*Fts5Storage)(unsafe.Pointer(p)).FpIndex, nMerge) } -func sqlite3Fts5StorageReset(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:235174:12: */ +func sqlite3Fts5StorageReset(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:235231:12: */ return sqlite3Fts5IndexReset(tls, (*Fts5Storage)(unsafe.Pointer(p)).FpIndex) } @@ -191591,7 +191622,7 @@ func sqlite3Fts5StorageReset(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:2351 // // If the %_docsize table does not exist, SQLITE_MISMATCH is returned. In // this case the user is required to provide a rowid explicitly. -func fts5StorageNewRowid(tls *libc.TLS, p uintptr, piRowid uintptr) int32 { /* sqlite3.c:235187:12: */ +func fts5StorageNewRowid(tls *libc.TLS, p uintptr, piRowid uintptr) int32 { /* sqlite3.c:235244:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -191613,7 +191644,7 @@ func fts5StorageNewRowid(tls *libc.TLS, p uintptr, piRowid uintptr) int32 { /* s } // Insert a new row into the FTS content table. -func sqlite3Fts5StorageContentInsert(tls *libc.TLS, p uintptr, apVal uintptr, piRowid uintptr) int32 { /* sqlite3.c:235208:12: */ +func sqlite3Fts5StorageContentInsert(tls *libc.TLS, p uintptr, apVal uintptr, piRowid uintptr) int32 { /* sqlite3.c:235265:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -191645,7 +191676,7 @@ func sqlite3Fts5StorageContentInsert(tls *libc.TLS, p uintptr, apVal uintptr, pi } // Insert new entries into the FTS index and %_docsize table. -func sqlite3Fts5StorageIndexInsert(tls *libc.TLS, p uintptr, apVal uintptr, iRowid I64) int32 { /* sqlite3.c:235243:12: */ +func sqlite3Fts5StorageIndexInsert(tls *libc.TLS, p uintptr, apVal uintptr, iRowid I64) int32 { /* sqlite3.c:235300:12: */ bp := tls.Alloc(36) defer tls.Free(36) @@ -191690,7 +191721,7 @@ func sqlite3Fts5StorageIndexInsert(tls *libc.TLS, p uintptr, apVal uintptr, iRow return *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) } -func fts5StorageCount(tls *libc.TLS, p uintptr, zSuffix uintptr, pnRow uintptr) int32 { /* sqlite3.c:235286:12: */ +func fts5StorageCount(tls *libc.TLS, p uintptr, zSuffix uintptr, pnRow uintptr) int32 { /* sqlite3.c:235343:12: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -191725,13 +191756,13 @@ type Fts5IntegrityCtx1 = struct { Fcksum U64 FpTermset uintptr FpConfig uintptr -} /* sqlite3.c:235314:9 */ +} /* sqlite3.c:235371:9 */ // Context object used by sqlite3Fts5StorageIntegrity(). -type Fts5IntegrityCtx = Fts5IntegrityCtx1 /* sqlite3.c:235314:33 */ +type Fts5IntegrityCtx = Fts5IntegrityCtx1 /* sqlite3.c:235371:33 */ // Tokenization callback used by integrity check. -func fts5StorageIntegrityCallback(tls *libc.TLS, pContext uintptr, tflags int32, pToken uintptr, nToken int32, iUnused1 int32, iUnused2 int32) int32 { /* sqlite3.c:235328:12: */ +func fts5StorageIntegrityCallback(tls *libc.TLS, pContext uintptr, tflags int32, pToken uintptr, nToken int32, iUnused1 int32, iUnused2 int32) int32 { /* sqlite3.c:235385:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -191797,7 +191828,7 @@ func fts5StorageIntegrityCallback(tls *libc.TLS, pContext uintptr, tflags int32, // table. Return SQLITE_OK if they do, or SQLITE_CORRUPT if not. Return // some other SQLite error code if an error occurs while attempting to // determine this. -func sqlite3Fts5StorageIntegrity(tls *libc.TLS, p uintptr, iArg int32) int32 { /* sqlite3.c:235398:12: */ +func sqlite3Fts5StorageIntegrity(tls *libc.TLS, p uintptr, iArg int32) int32 { /* sqlite3.c:235455:12: */ bp := tls.Alloc(64) defer tls.Free(64) @@ -191922,7 +191953,7 @@ func sqlite3Fts5StorageIntegrity(tls *libc.TLS, p uintptr, iArg int32) int32 { / // Obtain an SQLite statement handle that may be used to read data from the // %_content table. -func sqlite3Fts5StorageStmt(tls *libc.TLS, p uintptr, eStmt int32, pp uintptr, pzErrMsg uintptr) int32 { /* sqlite3.c:235506:12: */ +func sqlite3Fts5StorageStmt(tls *libc.TLS, p uintptr, eStmt int32, pp uintptr, pzErrMsg uintptr) int32 { /* sqlite3.c:235563:12: */ var rc int32 rc = fts5StorageGetStmt(tls, p, eStmt, pp, pzErrMsg) @@ -191936,7 +191967,7 @@ func sqlite3Fts5StorageStmt(tls *libc.TLS, p uintptr, eStmt int32, pp uintptr, p // Release an SQLite statement handle obtained via an earlier call to // sqlite3Fts5StorageStmt(). The eStmt parameter passed to this function // must match that passed to the sqlite3Fts5StorageStmt() call. -func sqlite3Fts5StorageStmtRelease(tls *libc.TLS, p uintptr, eStmt int32, pStmt uintptr) { /* sqlite3.c:235530:13: */ +func sqlite3Fts5StorageStmtRelease(tls *libc.TLS, p uintptr, eStmt int32, pStmt uintptr) { /* sqlite3.c:235587:13: */ if *(*uintptr)(unsafe.Pointer(p + 40 + uintptr(eStmt)*8)) == uintptr(0) { Xsqlite3_reset(tls, pStmt) @@ -191946,7 +191977,7 @@ func sqlite3Fts5StorageStmtRelease(tls *libc.TLS, p uintptr, eStmt int32, pStmt } } -func fts5StorageDecodeSizeArray(tls *libc.TLS, aCol uintptr, nCol int32, aBlob uintptr, nBlob int32) int32 { /* sqlite3.c:235547:12: */ +func fts5StorageDecodeSizeArray(tls *libc.TLS, aCol uintptr, nCol int32, aBlob uintptr, nBlob int32) int32 { /* sqlite3.c:235604:12: */ var i int32 var iOff int32 = 0 for i = 0; i < nCol; i++ { @@ -191964,7 +191995,7 @@ func fts5StorageDecodeSizeArray(tls *libc.TLS, aCol uintptr, nCol int32, aBlob u // // An SQLite error code is returned if an error occurs, or SQLITE_OK // otherwise. -func sqlite3Fts5StorageDocsize(tls *libc.TLS, p uintptr, iRowid I64, aCol uintptr) int32 { /* sqlite3.c:235568:12: */ +func sqlite3Fts5StorageDocsize(tls *libc.TLS, p uintptr, iRowid I64, aCol uintptr) int32 { /* sqlite3.c:235625:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -191995,7 +192026,7 @@ func sqlite3Fts5StorageDocsize(tls *libc.TLS, p uintptr, iRowid I64, aCol uintpt return rc } -func sqlite3Fts5StorageSize(tls *libc.TLS, p uintptr, iCol int32, pnToken uintptr) int32 { /* sqlite3.c:235597:12: */ +func sqlite3Fts5StorageSize(tls *libc.TLS, p uintptr, iCol int32, pnToken uintptr) int32 { /* sqlite3.c:235654:12: */ var rc int32 = fts5StorageLoadTotals(tls, p, 0) if rc == SQLITE_OK { *(*I64)(unsafe.Pointer(pnToken)) = int64(0) @@ -192013,7 +192044,7 @@ func sqlite3Fts5StorageSize(tls *libc.TLS, p uintptr, iCol int32, pnToken uintpt return rc } -func sqlite3Fts5StorageRowCount(tls *libc.TLS, p uintptr, pnRow uintptr) int32 { /* sqlite3.c:235615:12: */ +func sqlite3Fts5StorageRowCount(tls *libc.TLS, p uintptr, pnRow uintptr) int32 { /* sqlite3.c:235672:12: */ var rc int32 = fts5StorageLoadTotals(tls, p, 0) if rc == SQLITE_OK { // nTotalRow being zero does not necessarily indicate a corrupt @@ -192030,7 +192061,7 @@ func sqlite3Fts5StorageRowCount(tls *libc.TLS, p uintptr, pnRow uintptr) int32 { } // Flush any data currently held in-memory to disk. -func sqlite3Fts5StorageSync(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:235632:12: */ +func sqlite3Fts5StorageSync(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:235689:12: */ var rc int32 = SQLITE_OK var iLastRowid I64 = Xsqlite3_last_insert_rowid(tls, (*Fts5Config)(unsafe.Pointer((*Fts5Storage)(unsafe.Pointer(p)).FpConfig)).Fdb) if (*Fts5Storage)(unsafe.Pointer(p)).FbTotalsValid != 0 { @@ -192044,12 +192075,12 @@ func sqlite3Fts5StorageSync(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:23563 return rc } -func sqlite3Fts5StorageRollback(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:235646:12: */ +func sqlite3Fts5StorageRollback(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:235703:12: */ (*Fts5Storage)(unsafe.Pointer(p)).FbTotalsValid = 0 return sqlite3Fts5IndexRollback(tls, (*Fts5Storage)(unsafe.Pointer(p)).FpIndex) } -func sqlite3Fts5StorageConfigValue(tls *libc.TLS, p uintptr, z uintptr, pVal uintptr, iVal int32) int32 { /* sqlite3.c:235651:12: */ +func sqlite3Fts5StorageConfigValue(tls *libc.TLS, p uintptr, z uintptr, pVal uintptr, iVal int32) int32 { /* sqlite3.c:235708:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -192104,13 +192135,13 @@ var aAsciiTokenChar = [128]uint8{ uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), // 0x50..0x5F uint8(0), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), // 0x60..0x6F uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), // 0x70..0x7F -} /* sqlite3.c:235704:22 */ +} /* sqlite3.c:235761:22 */ -type AsciiTokenizer1 = struct{ FaTokenChar [128]uint8 } /* sqlite3.c:235715:9 */ +type AsciiTokenizer1 = struct{ FaTokenChar [128]uint8 } /* sqlite3.c:235772:9 */ -type AsciiTokenizer = AsciiTokenizer1 /* sqlite3.c:235715:31 */ +type AsciiTokenizer = AsciiTokenizer1 /* sqlite3.c:235772:31 */ -func fts5AsciiAddExceptions(tls *libc.TLS, p uintptr, zArg uintptr, bTokenChars int32) { /* sqlite3.c:235720:13: */ +func fts5AsciiAddExceptions(tls *libc.TLS, p uintptr, zArg uintptr, bTokenChars int32) { /* sqlite3.c:235777:13: */ var i int32 for i = 0; *(*uint8)(unsafe.Pointer(zArg + uintptr(i))) != 0; i++ { if int32(*(*uint8)(unsafe.Pointer(zArg + uintptr(i))))&0x80 == 0 { @@ -192120,12 +192151,12 @@ func fts5AsciiAddExceptions(tls *libc.TLS, p uintptr, zArg uintptr, bTokenChars } // Delete a "ascii" tokenizer. -func fts5AsciiDelete(tls *libc.TLS, p uintptr) { /* sqlite3.c:235736:13: */ +func fts5AsciiDelete(tls *libc.TLS, p uintptr) { /* sqlite3.c:235793:13: */ Xsqlite3_free(tls, p) } // Create an "ascii" tokenizer. -func fts5AsciiCreate(tls *libc.TLS, pUnused uintptr, azArg uintptr, nArg int32, ppOut uintptr) int32 { /* sqlite3.c:235743:12: */ +func fts5AsciiCreate(tls *libc.TLS, pUnused uintptr, azArg uintptr, nArg int32, ppOut uintptr) int32 { /* sqlite3.c:235800:12: */ var rc int32 = SQLITE_OK var p uintptr = uintptr(0) _ = pUnused @@ -192160,7 +192191,7 @@ func fts5AsciiCreate(tls *libc.TLS, pUnused uintptr, azArg uintptr, nArg int32, return rc } -func asciiFold(tls *libc.TLS, aOut uintptr, aIn uintptr, nByte int32) { /* sqlite3.c:235784:13: */ +func asciiFold(tls *libc.TLS, aOut uintptr, aIn uintptr, nByte int32) { /* sqlite3.c:235841:13: */ var i int32 for i = 0; i < nByte; i++ { var c uint8 = *(*uint8)(unsafe.Pointer(aIn + uintptr(i))) @@ -192172,7 +192203,7 @@ func asciiFold(tls *libc.TLS, aOut uintptr, aIn uintptr, nByte int32) { /* sqlit } // Tokenize some text using the ascii tokenizer. -func fts5AsciiTokenize(tls *libc.TLS, pTokenizer uintptr, pCtx uintptr, iUnused int32, pText uintptr, nText int32, xToken uintptr) int32 { /* sqlite3.c:235796:12: */ +func fts5AsciiTokenize(tls *libc.TLS, pTokenizer uintptr, pCtx uintptr, iUnused int32, pText uintptr, nText int32, xToken uintptr) int32 { /* sqlite3.c:235853:12: */ bp := tls.Alloc(64) defer tls.Free(64) @@ -192253,7 +192284,7 @@ type Unicode61Tokenizer1 = struct { F__ccgo_pad1 [4]byte FaiException uintptr FaCategory [32]uint8 -} /* sqlite3.c:235911:9 */ +} /* sqlite3.c:235968:9 */ // ************************************************************************* // @@ -192263,11 +192294,11 @@ type Unicode61Tokenizer1 = struct { // from the sqlite3 source file utf.c. If this file is compiled as part // of the amalgamation, they are not required. -type Unicode61Tokenizer = Unicode61Tokenizer1 /* sqlite3.c:235911:35 */ +type Unicode61Tokenizer = Unicode61Tokenizer1 /* sqlite3.c:235968:35 */ // Values for eRemoveDiacritic (must match internals of fts5_unicode2.c) -func fts5UnicodeAddExceptions(tls *libc.TLS, p uintptr, z uintptr, bTokenChars int32) int32 { /* sqlite3.c:235928:12: */ +func fts5UnicodeAddExceptions(tls *libc.TLS, p uintptr, z uintptr, bTokenChars int32) int32 { /* sqlite3.c:235985:12: */ var rc int32 = SQLITE_OK var n int32 = int32(libc.Xstrlen(tls, z)) var aNew uintptr @@ -192322,7 +192353,7 @@ func fts5UnicodeAddExceptions(tls *libc.TLS, p uintptr, z uintptr, bTokenChars i } // Return true if the p->aiException[] array contains the value iCode. -func fts5UnicodeIsException(tls *libc.TLS, p uintptr, iCode int32) int32 { /* sqlite3.c:235978:12: */ +func fts5UnicodeIsException(tls *libc.TLS, p uintptr, iCode int32) int32 { /* sqlite3.c:236035:12: */ if (*Unicode61Tokenizer)(unsafe.Pointer(p)).FnException > 0 { var a uintptr = (*Unicode61Tokenizer)(unsafe.Pointer(p)).FaiException var iLo int32 = 0 @@ -192344,7 +192375,7 @@ func fts5UnicodeIsException(tls *libc.TLS, p uintptr, iCode int32) int32 { /* sq } // Delete a "unicode61" tokenizer. -func fts5UnicodeDelete(tls *libc.TLS, pTok uintptr) { /* sqlite3.c:236002:13: */ +func fts5UnicodeDelete(tls *libc.TLS, pTok uintptr) { /* sqlite3.c:236059:13: */ if pTok != 0 { var p uintptr = pTok Xsqlite3_free(tls, (*Unicode61Tokenizer)(unsafe.Pointer(p)).FaiException) @@ -192354,7 +192385,7 @@ func fts5UnicodeDelete(tls *libc.TLS, pTok uintptr) { /* sqlite3.c:236002:13: */ return } -func unicodeSetCategories(tls *libc.TLS, p uintptr, zCat uintptr) int32 { /* sqlite3.c:236012:12: */ +func unicodeSetCategories(tls *libc.TLS, p uintptr, zCat uintptr) int32 { /* sqlite3.c:236069:12: */ var z uintptr = zCat for *(*uint8)(unsafe.Pointer(z)) != 0 { @@ -192374,7 +192405,7 @@ func unicodeSetCategories(tls *libc.TLS, p uintptr, zCat uintptr) int32 { /* sql } // Create a "unicode61" tokenizer. -func fts5UnicodeCreate(tls *libc.TLS, pUnused uintptr, azArg uintptr, nArg int32, ppOut uintptr) int32 { /* sqlite3.c:236030:12: */ +func fts5UnicodeCreate(tls *libc.TLS, pUnused uintptr, azArg uintptr, nArg int32, ppOut uintptr) int32 { /* sqlite3.c:236087:12: */ var rc int32 = SQLITE_OK // Return code var p uintptr = uintptr(0) // New tokenizer object @@ -192442,12 +192473,12 @@ func fts5UnicodeCreate(tls *libc.TLS, pUnused uintptr, azArg uintptr, nArg int32 // Return true if, for the purposes of tokenizing with the tokenizer // passed as the first argument, codepoint iCode is considered a token // character (not a separator). -func fts5UnicodeIsAlnum(tls *libc.TLS, p uintptr, iCode int32) int32 { /* sqlite3.c:236110:12: */ +func fts5UnicodeIsAlnum(tls *libc.TLS, p uintptr, iCode int32) int32 { /* sqlite3.c:236167:12: */ return int32(*(*uint8)(unsafe.Pointer(p + 160 + uintptr(sqlite3Fts5UnicodeCategory(tls, U32(iCode)))))) ^ fts5UnicodeIsException(tls, p, iCode) } -func fts5UnicodeTokenize(tls *libc.TLS, pTokenizer uintptr, pCtx uintptr, iUnused int32, pText uintptr, nText int32, xToken uintptr) int32 { /* sqlite3.c:236117:12: */ +func fts5UnicodeTokenize(tls *libc.TLS, pTokenizer uintptr, pCtx uintptr, iUnused int32, pText uintptr, nText int32, xToken uintptr) int32 { /* sqlite3.c:236174:12: */ var p uintptr var rc int32 var a uintptr @@ -192703,7 +192734,7 @@ type PorterTokenizer1 = struct { Ftokenizer Fts5_tokenizer FpTokenizer uintptr FaBuf [128]uint8 -} /* sqlite3.c:236229:9 */ +} /* sqlite3.c:236286:9 */ // ************************************************************************* // @@ -192712,10 +192743,10 @@ type PorterTokenizer1 = struct { // Any tokens larger than this (in bytes) are passed through without // stemming. -type PorterTokenizer = PorterTokenizer1 /* sqlite3.c:236229:32 */ +type PorterTokenizer = PorterTokenizer1 /* sqlite3.c:236286:32 */ // Delete a "porter" tokenizer. -func fts5PorterDelete(tls *libc.TLS, pTok uintptr) { /* sqlite3.c:236239:13: */ +func fts5PorterDelete(tls *libc.TLS, pTok uintptr) { /* sqlite3.c:236296:13: */ if pTok != 0 { var p uintptr = pTok if (*PorterTokenizer)(unsafe.Pointer(p)).FpTokenizer != 0 { @@ -192726,7 +192757,7 @@ func fts5PorterDelete(tls *libc.TLS, pTok uintptr) { /* sqlite3.c:236239:13: */ } // Create a "porter" tokenizer. -func fts5PorterCreate(tls *libc.TLS, pCtx uintptr, azArg uintptr, nArg int32, ppOut uintptr) int32 { /* sqlite3.c:236252:12: */ +func fts5PorterCreate(tls *libc.TLS, pCtx uintptr, azArg uintptr, nArg int32, ppOut uintptr) int32 { /* sqlite3.c:236309:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -192779,9 +192810,9 @@ type PorterContext1 = struct { FpCtx uintptr FxToken uintptr FaBuf uintptr -} /* sqlite3.c:236288:9 */ +} /* sqlite3.c:236345:9 */ -type PorterContext = PorterContext1 /* sqlite3.c:236288:30 */ +type PorterContext = PorterContext1 /* sqlite3.c:236345:30 */ type PorterRule1 = struct { FzSuffix uintptr @@ -192791,15 +192822,15 @@ type PorterRule1 = struct { FzOutput uintptr FnOutput int32 F__ccgo_pad2 [4]byte -} /* sqlite3.c:236295:9 */ +} /* sqlite3.c:236352:9 */ -type PorterRule = PorterRule1 /* sqlite3.c:236295:27 */ +type PorterRule = PorterRule1 /* sqlite3.c:236352:27 */ -func fts5PorterIsVowel(tls *libc.TLS, c uint8, bYIsVowel int32) int32 { /* sqlite3.c:236330:12: */ +func fts5PorterIsVowel(tls *libc.TLS, c uint8, bYIsVowel int32) int32 { /* sqlite3.c:236387:12: */ return libc.Bool32(int32(c) == 'a' || int32(c) == 'e' || int32(c) == 'i' || int32(c) == 'o' || int32(c) == 'u' || bYIsVowel != 0 && int32(c) == 'y') } -func fts5PorterGobbleVC(tls *libc.TLS, zStem uintptr, nStem int32, bPrevCons int32) int32 { /* sqlite3.c:236336:12: */ +func fts5PorterGobbleVC(tls *libc.TLS, zStem uintptr, nStem int32, bPrevCons int32) int32 { /* sqlite3.c:236393:12: */ var i int32 var bCons int32 = bPrevCons @@ -192820,12 +192851,12 @@ func fts5PorterGobbleVC(tls *libc.TLS, zStem uintptr, nStem int32, bPrevCons int } // porter rule condition: (m > 0) -func fts5Porter_MGt0(tls *libc.TLS, zStem uintptr, nStem int32) int32 { /* sqlite3.c:236353:12: */ +func fts5Porter_MGt0(tls *libc.TLS, zStem uintptr, nStem int32) int32 { /* sqlite3.c:236410:12: */ return libc.BoolInt32(!!(fts5PorterGobbleVC(tls, zStem, nStem, 0) != 0)) } // porter rule condition: (m > 1) -func fts5Porter_MGt1(tls *libc.TLS, zStem uintptr, nStem int32) int32 { /* sqlite3.c:236358:12: */ +func fts5Porter_MGt1(tls *libc.TLS, zStem uintptr, nStem int32) int32 { /* sqlite3.c:236415:12: */ var n int32 n = fts5PorterGobbleVC(tls, zStem, nStem, 0) if n != 0 && fts5PorterGobbleVC(tls, zStem+uintptr(n), nStem-n, 1) != 0 { @@ -192835,7 +192866,7 @@ func fts5Porter_MGt1(tls *libc.TLS, zStem uintptr, nStem int32) int32 { /* sqlit } // porter rule condition: (m = 1) -func fts5Porter_MEq1(tls *libc.TLS, zStem uintptr, nStem int32) int32 { /* sqlite3.c:236368:12: */ +func fts5Porter_MEq1(tls *libc.TLS, zStem uintptr, nStem int32) int32 { /* sqlite3.c:236425:12: */ var n int32 n = fts5PorterGobbleVC(tls, zStem, nStem, 0) if n != 0 && 0 == fts5PorterGobbleVC(tls, zStem+uintptr(n), nStem-n, 1) { @@ -192845,7 +192876,7 @@ func fts5Porter_MEq1(tls *libc.TLS, zStem uintptr, nStem int32) int32 { /* sqlit } // porter rule condition: (*o) -func fts5Porter_Ostar(tls *libc.TLS, zStem uintptr, nStem int32) int32 { /* sqlite3.c:236378:12: */ +func fts5Porter_Ostar(tls *libc.TLS, zStem uintptr, nStem int32) int32 { /* sqlite3.c:236435:12: */ if int32(*(*uint8)(unsafe.Pointer(zStem + uintptr(nStem-1)))) == 'w' || int32(*(*uint8)(unsafe.Pointer(zStem + uintptr(nStem-1)))) == 'x' || int32(*(*uint8)(unsafe.Pointer(zStem + uintptr(nStem-1)))) == 'y' { return 0 } else { @@ -192863,14 +192894,14 @@ func fts5Porter_Ostar(tls *libc.TLS, zStem uintptr, nStem int32) int32 { /* sqli } // porter rule condition: (m > 1 and (*S or *T)) -func fts5Porter_MGt1_and_S_or_T(tls *libc.TLS, zStem uintptr, nStem int32) int32 { /* sqlite3.c:236395:12: */ +func fts5Porter_MGt1_and_S_or_T(tls *libc.TLS, zStem uintptr, nStem int32) int32 { /* sqlite3.c:236452:12: */ return libc.Bool32((int32(*(*uint8)(unsafe.Pointer(zStem + uintptr(nStem-1)))) == 's' || int32(*(*uint8)(unsafe.Pointer(zStem + uintptr(nStem-1)))) == 't') && fts5Porter_MGt1(tls, zStem, nStem) != 0) } // porter rule condition: (*v*) -func fts5Porter_Vowel(tls *libc.TLS, zStem uintptr, nStem int32) int32 { /* sqlite3.c:236402:12: */ +func fts5Porter_Vowel(tls *libc.TLS, zStem uintptr, nStem int32) int32 { /* sqlite3.c:236459:12: */ var i int32 for i = 0; i < nStem; i++ { if fts5PorterIsVowel(tls, *(*uint8)(unsafe.Pointer(zStem + uintptr(i))), libc.Bool32(i > 0)) != 0 { @@ -192885,7 +192916,7 @@ func fts5Porter_Vowel(tls *libc.TLS, zStem uintptr, nStem int32) int32 { /* sqli // // GENERATED CODE STARTS HERE (mkportersteps.tcl) -func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqlite3.c:236418:12: */ +func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqlite3.c:236475:12: */ var ret int32 = 0 var nBuf int32 = *(*int32)(unsafe.Pointer(pnBuf)) switch int32(*(*uint8)(unsafe.Pointer(aBuf + uintptr(nBuf-2)))) { @@ -193018,7 +193049,7 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli return ret } -func fts5PorterStep1B2(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqlite3.c:236552:12: */ +func fts5PorterStep1B2(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqlite3.c:236609:12: */ var ret int32 = 0 var nBuf int32 = *(*int32)(unsafe.Pointer(pnBuf)) switch int32(*(*uint8)(unsafe.Pointer(aBuf + uintptr(nBuf-2)))) { @@ -193051,7 +193082,7 @@ func fts5PorterStep1B2(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sq return ret } -func fts5PorterStep2(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqlite3.c:236586:12: */ +func fts5PorterStep2(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqlite3.c:236643:12: */ var ret int32 = 0 var nBuf int32 = *(*int32)(unsafe.Pointer(pnBuf)) switch int32(*(*uint8)(unsafe.Pointer(aBuf + uintptr(nBuf-2)))) { @@ -193197,7 +193228,7 @@ func fts5PorterStep2(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli return ret } -func fts5PorterStep3(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqlite3.c:236733:12: */ +func fts5PorterStep3(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqlite3.c:236790:12: */ var ret int32 = 0 var nBuf int32 = *(*int32)(unsafe.Pointer(pnBuf)) switch int32(*(*uint8)(unsafe.Pointer(aBuf + uintptr(nBuf-2)))) { @@ -193262,7 +193293,7 @@ func fts5PorterStep3(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli return ret } -func fts5PorterStep1B(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqlite3.c:236799:12: */ +func fts5PorterStep1B(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqlite3.c:236856:12: */ var ret int32 = 0 var nBuf int32 = *(*int32)(unsafe.Pointer(pnBuf)) switch int32(*(*uint8)(unsafe.Pointer(aBuf + uintptr(nBuf-2)))) { @@ -193299,7 +193330,7 @@ func fts5PorterStep1B(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sql // // -func fts5PorterStep1A(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) { /* sqlite3.c:236836:13: */ +func fts5PorterStep1A(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) { /* sqlite3.c:236893:13: */ var nBuf int32 = *(*int32)(unsafe.Pointer(pnBuf)) if int32(*(*uint8)(unsafe.Pointer(aBuf + uintptr(nBuf-1)))) == 's' { if int32(*(*uint8)(unsafe.Pointer(aBuf + uintptr(nBuf-2)))) == 'e' { @@ -193315,7 +193346,7 @@ func fts5PorterStep1A(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) { /* sqlite3.c } } -func fts5PorterCb(tls *libc.TLS, pCtx uintptr, tflags int32, pToken uintptr, nToken int32, iStart int32, iEnd int32) int32 { /* sqlite3.c:236854:12: */ +func fts5PorterCb(tls *libc.TLS, pCtx uintptr, tflags int32, pToken uintptr, nToken int32, iStart int32, iEnd int32) int32 { /* sqlite3.c:236911:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -193413,7 +193444,7 @@ pass_through: } // Tokenize using the porter tokenizer. -func fts5PorterTokenize(tls *libc.TLS, pTokenizer uintptr, pCtx uintptr, flags int32, pText uintptr, nText int32, xToken uintptr) int32 { /* sqlite3.c:236923:12: */ +func fts5PorterTokenize(tls *libc.TLS, pTokenizer uintptr, pCtx uintptr, flags int32, pText uintptr, nText int32, xToken uintptr) int32 { /* sqlite3.c:236980:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -193434,20 +193465,20 @@ func fts5PorterTokenize(tls *libc.TLS, pTokenizer uintptr, pCtx uintptr, flags i // ************************************************************************* // // Start of trigram implementation. -type TrigramTokenizer1 = struct{ FbFold int32 } /* sqlite3.c:236943:9 */ +type TrigramTokenizer1 = struct{ FbFold int32 } /* sqlite3.c:237000:9 */ // ************************************************************************* // // Start of trigram implementation. -type TrigramTokenizer = TrigramTokenizer1 /* sqlite3.c:236943:33 */ +type TrigramTokenizer = TrigramTokenizer1 /* sqlite3.c:237000:33 */ // Free a trigram tokenizer. -func fts5TriDelete(tls *libc.TLS, p uintptr) { /* sqlite3.c:236951:13: */ +func fts5TriDelete(tls *libc.TLS, p uintptr) { /* sqlite3.c:237008:13: */ Xsqlite3_free(tls, p) } // Allocate a trigram tokenizer. -func fts5TriCreate(tls *libc.TLS, pUnused uintptr, azArg uintptr, nArg int32, ppOut uintptr) int32 { /* sqlite3.c:236958:12: */ +func fts5TriCreate(tls *libc.TLS, pUnused uintptr, azArg uintptr, nArg int32, ppOut uintptr) int32 { /* sqlite3.c:237015:12: */ var rc int32 = SQLITE_OK var pNew uintptr = Xsqlite3_malloc(tls, int32(unsafe.Sizeof(TrigramTokenizer{}))) _ = pUnused @@ -193478,7 +193509,7 @@ func fts5TriCreate(tls *libc.TLS, pUnused uintptr, azArg uintptr, nArg int32, pp } // Trigram tokenizer tokenize routine. -func fts5TriTokenize(tls *libc.TLS, pTok uintptr, pCtx uintptr, unusedFlags int32, pText uintptr, nText int32, xToken uintptr) int32 { /* sqlite3.c:236996:12: */ +func fts5TriTokenize(tls *libc.TLS, pTok uintptr, pCtx uintptr, unusedFlags int32, pText uintptr, nText int32, xToken uintptr) int32 { /* sqlite3.c:237053:12: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -193631,7 +193662,7 @@ func fts5TriTokenize(tls *libc.TLS, pTok uintptr, pCtx uintptr, unusedFlags int3 // "trigram" tokenizer, case_sensitive=1 - FTS5_PATTERN_GLOB // "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) int32 { /* sqlite3.c:237056:12: */ +func sqlite3Fts5TokenizerPattern(tls *libc.TLS, xCreate uintptr, pTok uintptr) int32 { /* sqlite3.c:237113:12: */ if xCreate == *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 }{fts5TriCreate})) { @@ -193645,7 +193676,7 @@ func sqlite3Fts5TokenizerPattern(tls *libc.TLS, xCreate uintptr, pTok uintptr) i } // Register all built-in tokenizers with FTS5. -func sqlite3Fts5TokenizerInit(tls *libc.TLS, pApi uintptr) int32 { /* sqlite3.c:237070:12: */ +func sqlite3Fts5TokenizerInit(tls *libc.TLS, pApi uintptr) int32 { /* sqlite3.c:237127:12: */ bp := tls.Alloc(128) defer tls.Free(128) @@ -193691,7 +193722,7 @@ func sqlite3Fts5TokenizerInit(tls *libc.TLS, pApi uintptr) int32 { /* sqlite3.c: type BuiltinTokenizer = struct { FzName uintptr Fx Fts5_tokenizer -} /* sqlite3.c:237071:3 */ +} /* sqlite3.c:237128:3 */ // 2012-05-25 // @@ -193714,7 +193745,7 @@ type BuiltinTokenizer = struct { // SMALL LETTER E WITH DIAERESIS" - return 65 ("LATIN SMALL LETTER // E"). The resuls of passing a codepoint that corresponds to an // uppercase letter are undefined. -func fts5_remove_diacritic(tls *libc.TLS, c int32, bComplex int32) int32 { /* sqlite3.c:237126:12: */ +func fts5_remove_diacritic(tls *libc.TLS, c int32, bComplex int32) int32 { /* sqlite3.c:237183:12: */ bp := tls.Alloc(378) defer tls.Free(378) @@ -193785,7 +193816,7 @@ func fts5_remove_diacritic(tls *libc.TLS, c int32, bComplex int32) int32 { /* sq // Return true if the argument interpreted as a unicode codepoint // is a diacritical modifier character. -func sqlite3Fts5UnicodeIsdiacritic(tls *libc.TLS, c int32) int32 { /* sqlite3.c:237193:12: */ +func sqlite3Fts5UnicodeIsdiacritic(tls *libc.TLS, c int32) int32 { /* sqlite3.c:237250:12: */ var mask0 uint32 = uint32(0x08029FDF) var mask1 uint32 = uint32(0x000361F8) if c < 768 || c > 817 { @@ -193804,7 +193835,7 @@ func sqlite3Fts5UnicodeIsdiacritic(tls *libc.TLS, c int32) int32 { /* sqlite3.c: // // The results are undefined if the value passed to this function // is less than zero. -func sqlite3Fts5UnicodeFold(tls *libc.TLS, c int32, eRemoveDiacritic int32) int32 { /* sqlite3.c:237212:12: */ +func sqlite3Fts5UnicodeFold(tls *libc.TLS, c int32, eRemoveDiacritic int32) int32 { /* sqlite3.c:237269:12: */ var ret int32 = c @@ -193865,7 +193896,7 @@ type TableEntry = struct { FiCode uint16 Fflags uint8 FnRange uint8 -} /* sqlite3.c:237230:16 */ +} /* sqlite3.c:237287:16 */ var aEntry = [163]TableEntry{ {FiCode: uint16(65), Fflags: uint8(14), FnRange: uint8(26)}, {FiCode: uint16(181), Fflags: uint8(64), FnRange: uint8(1)}, {FiCode: uint16(192), Fflags: uint8(14), FnRange: uint8(23)}, @@ -193923,7 +193954,7 @@ var aEntry = [163]TableEntry{ {FiCode: uint16(42878), Fflags: uint8(1), FnRange: uint8(10)}, {FiCode: uint16(42891), FnRange: uint8(1)}, {FiCode: uint16(42893), Fflags: uint8(74), FnRange: uint8(1)}, {FiCode: uint16(42896), Fflags: uint8(1), FnRange: uint8(4)}, {FiCode: uint16(42912), Fflags: uint8(1), FnRange: uint8(10)}, {FiCode: uint16(42922), Fflags: uint8(72), FnRange: uint8(1)}, {FiCode: uint16(65313), Fflags: uint8(14), FnRange: uint8(26)}, -} /* sqlite3.c:237234:5 */ +} /* sqlite3.c:237291:5 */ var aiOff = [77]uint16{ uint16(1), uint16(2), uint16(8), uint16(15), uint16(16), uint16(26), uint16(28), uint16(32), uint16(37), uint16(38), uint16(40), uint16(48), uint16(63), uint16(64), uint16(69), uint16(71), @@ -193935,9 +193966,9 @@ var aiOff = [77]uint16{ uint16(65408), uint16(65410), uint16(65415), uint16(65424), uint16(65436), uint16(65439), uint16(65450), uint16(65462), uint16(65472), uint16(65476), uint16(65478), uint16(65480), uint16(65482), uint16(65488), uint16(65506), uint16(65511), uint16(65514), uint16(65521), uint16(65527), uint16(65528), uint16(65529), -} /* sqlite3.c:237291:31 */ +} /* sqlite3.c:237348:31 */ -func sqlite3Fts5UnicodeCatParse(tls *libc.TLS, zCat uintptr, aArray uintptr) int32 { /* sqlite3.c:237348:12: */ +func sqlite3Fts5UnicodeCatParse(tls *libc.TLS, zCat uintptr, aArray uintptr) int32 { /* sqlite3.c:237405:12: */ *(*U8)(unsafe.Pointer(aArray)) = U8(1) switch int32(*(*uint8)(unsafe.Pointer(zCat))) { case 'C': @@ -194134,7 +194165,7 @@ func sqlite3Fts5UnicodeCatParse(tls *libc.TLS, zCat uintptr, aArray uintptr) int var aFts5UnicodeBlock = [17]U16{ U16(0), U16(1471), U16(1753), U16(1760), U16(1760), U16(1760), U16(1760), U16(1760), U16(1760), U16(1760), U16(1760), U16(1760), U16(1760), U16(1760), U16(1760), U16(1763), U16(1765), -} /* sqlite3.c:237466:12 */ +} /* sqlite3.c:237523:12 */ var aFts5UnicodeMap = [1765]U16{ U16(0), U16(32), U16(33), U16(36), U16(37), U16(40), U16(41), U16(42), U16(43), U16(44), U16(45), U16(46), U16(48), U16(58), U16(60), U16(63), U16(65), U16(91), U16(92), U16(93), @@ -194313,7 +194344,7 @@ var aFts5UnicodeMap = [1765]U16{ U16(62406), U16(62432), U16(62464), U16(62528), U16(62530), U16(62713), U16(62720), U16(62784), U16(62800), U16(62971), U16(63045), U16(63104), U16(63232), U16(0), U16(42710), U16(42752), U16(46900), U16(46912), U16(47133), U16(63488), U16(1), U16(32), U16(256), U16(0), U16(65533), -} /* sqlite3.c:237470:12 */ +} /* sqlite3.c:237527:12 */ var aFts5UnicodeData = [1765]U16{ U16(1025), U16(61), U16(117), U16(55), U16(117), U16(54), U16(50), U16(53), U16(57), U16(53), U16(49), U16(85), U16(333), U16(85), U16(121), U16(85), U16(841), U16(54), U16(53), U16(50), @@ -194492,9 +194523,9 @@ var aFts5UnicodeData = [1765]U16{ U16(186), U16(570), U16(2042), U16(58), U16(5850), U16(154), U16(2010), U16(154), U16(794), U16(2266), U16(378), U16(2266), U16(3738), U16(39), U16(39), U16(39), U16(39), U16(39), U16(39), U16(17351), U16(34), U16(3074), U16(7692), U16(63), U16(63), -} /* sqlite3.c:237649:12 */ +} /* sqlite3.c:237706:12 */ -func sqlite3Fts5UnicodeCategory(tls *libc.TLS, iCode U32) int32 { /* sqlite3.c:237829:12: */ +func sqlite3Fts5UnicodeCategory(tls *libc.TLS, iCode U32) int32 { /* sqlite3.c:237886:12: */ var iRes int32 = -1 var iHi int32 var iLo int32 @@ -194534,7 +194565,7 @@ func sqlite3Fts5UnicodeCategory(tls *libc.TLS, iCode U32) int32 { /* sqlite3.c:2 return 9 } -func sqlite3Fts5UnicodeAscii(tls *libc.TLS, aArray uintptr, aAscii uintptr) { /* sqlite3.c:237860:13: */ +func sqlite3Fts5UnicodeAscii(tls *libc.TLS, aArray uintptr, aAscii uintptr) { /* sqlite3.c:237917:13: */ var i int32 = 0 var iTbl int32 = 0 for i < 128 { @@ -194566,7 +194597,7 @@ func sqlite3Fts5UnicodeAscii(tls *libc.TLS, aArray uintptr, aAscii uintptr) { /* // This is a copy of the sqlite3GetVarint32() routine from the SQLite core. // Except, this version does handle the single byte case that the core // version depends on being handled before its function is called. -func sqlite3Fts5GetVarint32(tls *libc.TLS, p uintptr, v uintptr) int32 { /* sqlite3.c:237898:12: */ +func sqlite3Fts5GetVarint32(tls *libc.TLS, p uintptr, v uintptr) int32 { /* sqlite3.c:237955:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -194641,7 +194672,7 @@ func sqlite3Fts5GetVarint32(tls *libc.TLS, p uintptr, v uintptr) int32 { /* sqli // Read a 64-bit variable-length integer from memory starting at p[0]. // Return the number of bytes read. The value is stored in *v. -func sqlite3Fts5GetVarint(tls *libc.TLS, p uintptr, v uintptr) U8 { /* sqlite3.c:237976:11: */ +func sqlite3Fts5GetVarint(tls *libc.TLS, p uintptr, v uintptr) U8 { /* sqlite3.c:238033:11: */ var a U32 var b U32 var s U32 @@ -194817,7 +194848,7 @@ func sqlite3Fts5GetVarint(tls *libc.TLS, p uintptr, v uintptr) U8 { /* sqlite3.c // for all bytes that have the 8th bit set and one byte with the 8th // bit clear. Except, if we get to the 9th byte, it stores the full // 8 bits and is the last byte. -func fts5PutVarint64(tls *libc.TLS, p uintptr, v U64) int32 { /* sqlite3.c:238170:26: */ +func fts5PutVarint64(tls *libc.TLS, p uintptr, v U64) int32 { /* sqlite3.c:238227:26: */ bp := tls.Alloc(10) defer tls.Free(10) @@ -194863,7 +194894,7 @@ __3: return n } -func sqlite3Fts5PutVarint(tls *libc.TLS, p uintptr, v U64) int32 { /* sqlite3.c:238195:12: */ +func sqlite3Fts5PutVarint(tls *libc.TLS, p uintptr, v U64) int32 { /* sqlite3.c:238252:12: */ if v <= uint64(0x7f) { *(*uint8)(unsafe.Pointer(p)) = uint8(v & uint64(0x7f)) return 1 @@ -194876,7 +194907,7 @@ func sqlite3Fts5PutVarint(tls *libc.TLS, p uintptr, v U64) int32 { /* sqlite3.c: return fts5PutVarint64(tls, p, v) } -func sqlite3Fts5GetVarintLen(tls *libc.TLS, iVal U32) int32 { /* sqlite3.c:238209:12: */ +func sqlite3Fts5GetVarintLen(tls *libc.TLS, iVal U32) int32 { /* sqlite3.c:238266:12: */ if iVal < U32(int32(1)<<14) { return 2 @@ -194936,7 +194967,7 @@ type Fts5VocabTable1 = struct { FpGlobal uintptr FeType int32 FbBusy uint32 -} /* sqlite3.c:238262:9 */ +} /* sqlite3.c:238319:9 */ // 2015 May 08 // @@ -194976,7 +195007,7 @@ type Fts5VocabTable1 = struct { // #include "fts5Int.h" -type Fts5VocabTable = Fts5VocabTable1 /* sqlite3.c:238262:31 */ +type Fts5VocabTable = Fts5VocabTable1 /* sqlite3.c:238319:31 */ type Fts5VocabCursor1 = struct { Fbase Sqlite3_vtab_cursor FpStmt uintptr @@ -194997,9 +195028,9 @@ type Fts5VocabCursor1 = struct { FiInstPos I64 FiInstOff int32 F__ccgo_pad4 [4]byte -} /* sqlite3.c:238263:9 */ +} /* sqlite3.c:238320:9 */ -type Fts5VocabCursor = Fts5VocabCursor1 /* sqlite3.c:238263:32 */ +type Fts5VocabCursor = Fts5VocabCursor1 /* sqlite3.c:238320:32 */ // Bits for the mask used as the idxNum value by xBestIndex/xFilter. @@ -195007,7 +195038,7 @@ type Fts5VocabCursor = Fts5VocabCursor1 /* sqlite3.c:238263:32 */ // FTS5_VOCAB_XXX constant. If successful, set *peType to the output // value and return SQLITE_OK. Otherwise, set *pzErr to an error message // and return SQLITE_ERROR. -func fts5VocabTableType(tls *libc.TLS, zType uintptr, pzErr uintptr, peType uintptr) int32 { /* sqlite3.c:238323:12: */ +func fts5VocabTableType(tls *libc.TLS, zType uintptr, pzErr uintptr, peType uintptr) int32 { /* sqlite3.c:238380:12: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -195032,14 +195063,14 @@ func fts5VocabTableType(tls *libc.TLS, zType uintptr, pzErr uintptr, peType uint } // The xDisconnect() virtual table method. -func fts5VocabDisconnectMethod(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:238352:12: */ +func fts5VocabDisconnectMethod(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:238409:12: */ var pTab uintptr = pVtab Xsqlite3_free(tls, pTab) return SQLITE_OK } // The xDestroy() virtual table method. -func fts5VocabDestroyMethod(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:238361:12: */ +func fts5VocabDestroyMethod(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:238418:12: */ var pTab uintptr = pVtab Xsqlite3_free(tls, pTab) return SQLITE_OK @@ -195064,7 +195095,7 @@ func fts5VocabDestroyMethod(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:2 // argv[3] -> name of fts5 tables database // argv[4] -> name of fts5 table // argv[5] -> type of fts5vocab table -func fts5VocabInitVtab(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVTab uintptr, pzErr uintptr) int32 { /* sqlite3.c:238388:12: */ +func fts5VocabInitVtab(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVTab uintptr, pzErr uintptr) int32 { /* sqlite3.c:238445:12: */ bp := tls.Alloc(36) defer tls.Free(36) @@ -195134,11 +195165,11 @@ func fts5VocabInitVtab(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv // The xConnect() and xCreate() methods for the virtual table. All the // work is done in function fts5VocabInitVtab(). -func fts5VocabConnectMethod(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 { /* sqlite3.c:238450:12: */ +func fts5VocabConnectMethod(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 { /* sqlite3.c:238507:12: */ return fts5VocabInitVtab(tls, db, pAux, argc, argv, ppVtab, pzErr) } -func fts5VocabCreateMethod(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 { /* sqlite3.c:238460:12: */ +func fts5VocabCreateMethod(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 { /* sqlite3.c:238517:12: */ return fts5VocabInitVtab(tls, db, pAux, argc, argv, ppVtab, pzErr) } @@ -195152,7 +195183,7 @@ func fts5VocabCreateMethod(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, // // are interpreted. Less-than and less-than-or-equal are treated // identically, as are greater-than and greater-than-or-equal. -func fts5VocabBestIndexMethod(tls *libc.TLS, pUnused uintptr, pInfo uintptr) int32 { /* sqlite3.c:238483:12: */ +func fts5VocabBestIndexMethod(tls *libc.TLS, pUnused uintptr, pInfo uintptr) int32 { /* sqlite3.c:238540:12: */ var i int32 var iTermEq int32 = -1 var iTermGe int32 = -1 @@ -195220,7 +195251,7 @@ func fts5VocabBestIndexMethod(tls *libc.TLS, pUnused uintptr, pInfo uintptr) int } // Implementation of xOpen method. -func fts5VocabOpenMethod(tls *libc.TLS, pVTab uintptr, ppCsr uintptr) int32 { /* sqlite3.c:238545:12: */ +func fts5VocabOpenMethod(tls *libc.TLS, pVTab uintptr, ppCsr uintptr) int32 { /* sqlite3.c:238602:12: */ bp := tls.Alloc(80) defer tls.Free(80) @@ -195287,7 +195318,7 @@ func fts5VocabOpenMethod(tls *libc.TLS, pVTab uintptr, ppCsr uintptr) int32 { /* return *(*int32)(unsafe.Pointer(bp + 64 /* rc */)) } -func fts5VocabResetCursor(tls *libc.TLS, pCsr uintptr) { /* sqlite3.c:238613:13: */ +func fts5VocabResetCursor(tls *libc.TLS, pCsr uintptr) { /* sqlite3.c:238670:13: */ (*Fts5VocabCursor)(unsafe.Pointer(pCsr)).Frowid = int64(0) sqlite3Fts5IterClose(tls, (*Fts5VocabCursor)(unsafe.Pointer(pCsr)).FpIter) sqlite3Fts5StructureRelease(tls, (*Fts5VocabCursor)(unsafe.Pointer(pCsr)).FpStruct) @@ -195301,7 +195332,7 @@ func fts5VocabResetCursor(tls *libc.TLS, pCsr uintptr) { /* sqlite3.c:238613:13: // Close the cursor. For additional information see the documentation // on the xClose method of the virtual table interface. -func fts5VocabCloseMethod(tls *libc.TLS, pCursor uintptr) int32 { /* sqlite3.c:238629:12: */ +func fts5VocabCloseMethod(tls *libc.TLS, pCursor uintptr) int32 { /* sqlite3.c:238686:12: */ var pCsr uintptr = pCursor fts5VocabResetCursor(tls, pCsr) sqlite3Fts5BufferFree(tls, pCsr+96) @@ -195310,7 +195341,7 @@ func fts5VocabCloseMethod(tls *libc.TLS, pCursor uintptr) int32 { /* sqlite3.c:2 return SQLITE_OK } -func fts5VocabInstanceNewTerm(tls *libc.TLS, pCsr uintptr) int32 { /* sqlite3.c:238638:12: */ +func fts5VocabInstanceNewTerm(tls *libc.TLS, pCsr uintptr) int32 { /* sqlite3.c:238695:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -195341,7 +195372,7 @@ func fts5VocabInstanceNewTerm(tls *libc.TLS, pCsr uintptr) int32 { /* sqlite3.c: return *(*int32)(unsafe.Pointer(bp + 4 /* rc */)) } -func fts5VocabInstanceNext(tls *libc.TLS, pCsr uintptr) int32 { /* sqlite3.c:238660:12: */ +func fts5VocabInstanceNext(tls *libc.TLS, pCsr uintptr) int32 { /* sqlite3.c:238717:12: */ var eDetail int32 = (*Fts5Config)(unsafe.Pointer((*Fts5Table)(unsafe.Pointer((*Fts5VocabCursor)(unsafe.Pointer(pCsr)).FpFts5)).FpConfig)).FeDetail var rc int32 = SQLITE_OK var pIter uintptr = (*Fts5VocabCursor)(unsafe.Pointer(pCsr)).FpIter @@ -195370,7 +195401,7 @@ func fts5VocabInstanceNext(tls *libc.TLS, pCsr uintptr) int32 { /* sqlite3.c:238 } // Advance the cursor to the next row in the table. -func fts5VocabNextMethod(tls *libc.TLS, pCursor uintptr) int32 { /* sqlite3.c:238692:12: */ +func fts5VocabNextMethod(tls *libc.TLS, pCursor uintptr) int32 { /* sqlite3.c:238749:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -195514,7 +195545,7 @@ func fts5VocabNextMethod(tls *libc.TLS, pCursor uintptr) int32 { /* sqlite3.c:23 } // This is the xFilter implementation for the virtual table. -func fts5VocabFilterMethod(tls *libc.TLS, pCursor uintptr, idxNum int32, zUnused uintptr, nUnused int32, apVal uintptr) int32 { /* sqlite3.c:238820:12: */ +func fts5VocabFilterMethod(tls *libc.TLS, pCursor uintptr, idxNum int32, zUnused uintptr, nUnused int32, apVal uintptr) int32 { /* sqlite3.c:238877:12: */ var pTab uintptr = (*Sqlite3_vtab_cursor)(unsafe.Pointer(pCursor)).FpVtab var pCsr uintptr = pCursor var eType int32 = (*Fts5VocabTable)(unsafe.Pointer(pTab)).FeType @@ -195588,12 +195619,12 @@ func fts5VocabFilterMethod(tls *libc.TLS, pCursor uintptr, idxNum int32, zUnused // This is the xEof method of the virtual table. SQLite calls this // routine to find out if it has reached the end of a result set. -func fts5VocabEofMethod(tls *libc.TLS, pCursor uintptr) int32 { /* sqlite3.c:238894:12: */ +func fts5VocabEofMethod(tls *libc.TLS, pCursor uintptr) int32 { /* sqlite3.c:238951:12: */ var pCsr uintptr = pCursor return (*Fts5VocabCursor)(unsafe.Pointer(pCsr)).FbEof } -func fts5VocabColumnMethod(tls *libc.TLS, pCursor uintptr, pCtx uintptr, iCol int32) int32 { /* sqlite3.c:238899:12: */ +func fts5VocabColumnMethod(tls *libc.TLS, pCursor uintptr, pCtx uintptr, iCol int32) int32 { /* sqlite3.c:238956:12: */ var pCsr uintptr = pCursor var eDetail int32 = (*Fts5Config)(unsafe.Pointer((*Fts5Table)(unsafe.Pointer((*Fts5VocabCursor)(unsafe.Pointer(pCsr)).FpFts5)).FpConfig)).FeDetail var eType int32 = (*Fts5VocabTable)(unsafe.Pointer((*Sqlite3_vtab_cursor)(unsafe.Pointer(pCursor)).FpVtab)).FeType @@ -195666,13 +195697,13 @@ func fts5VocabColumnMethod(tls *libc.TLS, pCursor uintptr, pCtx uintptr, iCol in // This is the xRowid method. The SQLite core calls this routine to // retrieve the rowid for the current row of the result set. The // rowid should be written to *pRowid. -func fts5VocabRowidMethod(tls *libc.TLS, pCursor uintptr, pRowid uintptr) int32 { /* sqlite3.c:238971:12: */ +func fts5VocabRowidMethod(tls *libc.TLS, pCursor uintptr, pRowid uintptr) int32 { /* sqlite3.c:239028:12: */ var pCsr uintptr = pCursor *(*Sqlite_int64)(unsafe.Pointer(pRowid)) = (*Fts5VocabCursor)(unsafe.Pointer(pCsr)).Frowid return SQLITE_OK } -func sqlite3Fts5VocabInit(tls *libc.TLS, pGlobal uintptr, db uintptr) int32 { /* sqlite3.c:238980:12: */ +func sqlite3Fts5VocabInit(tls *libc.TLS, pGlobal uintptr, db uintptr) int32 { /* sqlite3.c:239037:12: */ var p uintptr = pGlobal return Xsqlite3_create_module_v2(tls, db, ts+37450, uintptr(unsafe.Pointer(&fts5Vocab)), p, uintptr(0)) @@ -195692,7 +195723,7 @@ var fts5Vocab = Sqlite3_module{ /* xEof */ FxEof: 0, /* xColumn */ FxColumn: 0, /* xRowid */ FxRowid: 0, -} /* sqlite3.c:238981:31 */ +} /* sqlite3.c:239038:31 */ //************* End of fts5.c *********************************************** //************* Begin file stmt.c ******************************************* @@ -195719,8 +195750,8 @@ var fts5Vocab = Sqlite3_module{ //************* End of stmt.c *********************************************** // Return the source-id for this library -func Xsqlite3_sourceid(tls *libc.TLS) uintptr { /* sqlite3.c:239321:23: */ - return ts + 37460 /* "2022-03-12 13:37..." */ +func Xsqlite3_sourceid(tls *libc.TLS) uintptr { /* sqlite3.c:239378:23: */ + return ts + 37460 /* "2022-03-26 13:51..." */ } //************************* End of sqlite3.c ***************************** @@ -195729,162 +195760,162 @@ func init() { *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&Xsqlite3aEQb)) + 0)) = uintptr(unsafe.Pointer(&Xsqlite3UpperToLower)) + 210 // sqlite3.c:21690:51: *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&Xsqlite3aGTb)) + 0)) = uintptr(unsafe.Pointer(&Xsqlite3UpperToLower)) + 216 // sqlite3.c:21691:51: *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&Xsqlite3aLTb)) + 0)) = uintptr(unsafe.Pointer(&Xsqlite3UpperToLower)) + 204 // sqlite3.c:21689:51: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aAgg)) + 0)) = geopolyBBoxStep // sqlite3.c:201985:8: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aAgg)) + 8)) = geopolyBBoxFinal // sqlite3.c:201985:25: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aAlterTableFuncs)) + 24)) = renameColumnFunc // sqlite3.c:111067:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aAlterTableFuncs)) + 96)) = renameTableFunc // sqlite3.c:111068:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aAlterTableFuncs)) + 168)) = renameTableTest // sqlite3.c:111069:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aAlterTableFuncs)) + 240)) = dropColumnFunc // sqlite3.c:111070:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aAlterTableFuncs)) + 312)) = renameQuotefixFunc // sqlite3.c:111071:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 24)) = versionFunc // sqlite3.c:123272:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 96)) = versionFunc // sqlite3.c:123273:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 168)) = versionFunc // sqlite3.c:123274:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 240)) = versionFunc // sqlite3.c:123275:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 312)) = soundexFunc // sqlite3.c:123279:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 384)) = loadExt // sqlite3.c:123282:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 456)) = loadExt // sqlite3.c:123283:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 528)) = compileoptionusedFunc // sqlite3.c:123289:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 600)) = compileoptiongetFunc // sqlite3.c:123290:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 672)) = versionFunc // sqlite3.c:123292:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 744)) = versionFunc // sqlite3.c:123293:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 816)) = versionFunc // sqlite3.c:123294:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 888)) = versionFunc // sqlite3.c:123297:12: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 960)) = trimFunc // sqlite3.c:123299:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1032)) = trimFunc // sqlite3.c:123300:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1104)) = trimFunc // sqlite3.c:123301:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1176)) = trimFunc // sqlite3.c:123302:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1248)) = trimFunc // sqlite3.c:123303:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1320)) = trimFunc // sqlite3.c:123304:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1392)) = minmaxFunc // sqlite3.c:123305:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1536)) = minmaxStep // sqlite3.c:123307:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1544)) = minMaxFinalize // sqlite3.c:123307:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1552)) = minMaxValue // sqlite3.c:123307:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1608)) = minmaxFunc // sqlite3.c:123309:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1752)) = minmaxStep // sqlite3.c:123311:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1760)) = minMaxFinalize // sqlite3.c:123311:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1768)) = minMaxValue // sqlite3.c:123311:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1824)) = typeofFunc // sqlite3.c:123313:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1896)) = subtypeFunc // sqlite3.c:123314:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1968)) = lengthFunc // sqlite3.c:123315:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2040)) = instrFunc // sqlite3.c:123316:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2112)) = printfFunc // sqlite3.c:123317:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2184)) = printfFunc // sqlite3.c:123318:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2256)) = unicodeFunc // sqlite3.c:123319:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2328)) = charFunc // sqlite3.c:123320:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2400)) = absFunc // sqlite3.c:123321:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2472)) = roundFunc // sqlite3.c:123323:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2544)) = roundFunc // sqlite3.c:123324:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2616)) = upperFunc // sqlite3.c:123326:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2688)) = lowerFunc // sqlite3.c:123327:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2760)) = hexFunc // sqlite3.c:123328:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2832)) = versionFunc // sqlite3.c:123329:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2904)) = randomFunc // sqlite3.c:123330:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2976)) = randomBlob // sqlite3.c:123331:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3048)) = nullifFunc // sqlite3.c:123332:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3120)) = versionFunc // sqlite3.c:123333:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3192)) = sourceidFunc // sqlite3.c:123334:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3264)) = errlogFunc // sqlite3.c:123335:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3336)) = quoteFunc // sqlite3.c:123336:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3408)) = last_insert_rowid // sqlite3.c:123337:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3480)) = changes // sqlite3.c:123338:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3552)) = total_changes // sqlite3.c:123339:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3624)) = replaceFunc // sqlite3.c:123340:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3696)) = zeroblobFunc // sqlite3.c:123341:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3768)) = substrFunc // sqlite3.c:123342:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3840)) = substrFunc // sqlite3.c:123343:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3912)) = substrFunc // sqlite3.c:123344:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3984)) = substrFunc // sqlite3.c:123345:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4056)) = sumStep // sqlite3.c:123346:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4064)) = sumFinalize // sqlite3.c:123346:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4072)) = sumFinalize // sqlite3.c:123346:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4080)) = sumInverse // sqlite3.c:123346:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4128)) = sumStep // sqlite3.c:123347:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4136)) = totalFinalize // sqlite3.c:123347:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4144)) = totalFinalize // sqlite3.c:123347:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4152)) = sumInverse // sqlite3.c:123347:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4200)) = sumStep // sqlite3.c:123348:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4208)) = avgFinalize // sqlite3.c:123348:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4216)) = avgFinalize // sqlite3.c:123348:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4224)) = sumInverse // sqlite3.c:123348:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4272)) = countStep // sqlite3.c:123349:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4280)) = countFinalize // sqlite3.c:123349:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4288)) = countFinalize // sqlite3.c:123349:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4296)) = countInverse // sqlite3.c:123349:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4344)) = countStep // sqlite3.c:123352:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4352)) = countFinalize // sqlite3.c:123352:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4360)) = countFinalize // sqlite3.c:123352:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4368)) = countInverse // sqlite3.c:123352:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4416)) = groupConcatStep // sqlite3.c:123354:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4424)) = groupConcatFinalize // sqlite3.c:123354:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4432)) = groupConcatValue // sqlite3.c:123354:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4440)) = groupConcatInverse // sqlite3.c:123354:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4488)) = groupConcatStep // sqlite3.c:123356:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4496)) = groupConcatFinalize // sqlite3.c:123356:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4504)) = groupConcatValue // sqlite3.c:123356:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4512)) = groupConcatInverse // sqlite3.c:123356:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4544 /* .pUserData */)) = uintptr(unsafe.Pointer(&globInfo)) // sqlite3.c:123359:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4560)) = likeFunc // sqlite3.c:123359:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4616 /* .pUserData */)) = uintptr(unsafe.Pointer(&likeInfoNorm)) // sqlite3.c:123364:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4632)) = likeFunc // sqlite3.c:123364:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4688 /* .pUserData */)) = uintptr(unsafe.Pointer(&likeInfoNorm)) // sqlite3.c:123365:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4704)) = likeFunc // sqlite3.c:123365:5: - *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4904)) = xCeil // sqlite3.c:123373:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4920)) = ceilingFunc // sqlite3.c:123373:5: - *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4976)) = xCeil // sqlite3.c:123374:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4992)) = ceilingFunc // sqlite3.c:123374:5: - *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5048)) = xFloor // sqlite3.c:123375:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5064)) = ceilingFunc // sqlite3.c:123375:5: - *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5120)) = libc.Xtrunc // sqlite3.c:123377:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5136)) = ceilingFunc // sqlite3.c:123377:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5208)) = logFunc // sqlite3.c:123379:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5280)) = logFunc // sqlite3.c:123380:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5352)) = logFunc // sqlite3.c:123381:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5424)) = logFunc // sqlite3.c:123382:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5496)) = logFunc // sqlite3.c:123383:5: - *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5552)) = libc.Xexp // sqlite3.c:123384:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5568)) = math1Func // sqlite3.c:123384:5: - *(*func(*libc.TLS, float64, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5624)) = libc.Xpow // sqlite3.c:123385:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5640)) = math2Func // sqlite3.c:123385:5: - *(*func(*libc.TLS, float64, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5696)) = libc.Xpow // sqlite3.c:123386:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5712)) = math2Func // sqlite3.c:123386:5: - *(*func(*libc.TLS, float64, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5768)) = libc.Xfmod // sqlite3.c:123387:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5784)) = math2Func // sqlite3.c:123387:5: - *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5840)) = libc.Xacos // sqlite3.c:123388:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5856)) = math1Func // sqlite3.c:123388:5: - *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5912)) = libc.Xasin // sqlite3.c:123389:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5928)) = math1Func // sqlite3.c:123389:5: - *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5984)) = libc.Xatan // sqlite3.c:123390:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6000)) = math1Func // sqlite3.c:123390:5: - *(*func(*libc.TLS, float64, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6056)) = libc.Xatan2 // sqlite3.c:123391:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6072)) = math2Func // sqlite3.c:123391:5: - *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6128)) = libc.Xcos // sqlite3.c:123392:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6144)) = math1Func // sqlite3.c:123392:5: - *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6200)) = libc.Xsin // sqlite3.c:123393:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6216)) = math1Func // sqlite3.c:123393:5: - *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6272)) = libc.Xtan // sqlite3.c:123394:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6288)) = math1Func // sqlite3.c:123394:5: - *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6344)) = libc.Xcosh // sqlite3.c:123395:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6360)) = math1Func // sqlite3.c:123395:5: - *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6416)) = libc.Xsinh // sqlite3.c:123396:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6432)) = math1Func // sqlite3.c:123396:5: - *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6488)) = libc.Xtanh // sqlite3.c:123397:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6504)) = math1Func // sqlite3.c:123397:5: - *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6560)) = libc.Xacosh // sqlite3.c:123399:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6576)) = math1Func // sqlite3.c:123399:5: - *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6632)) = libc.Xasinh // sqlite3.c:123400:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6648)) = math1Func // sqlite3.c:123400:5: - *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6704)) = libc.Xatanh // sqlite3.c:123401:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6720)) = math1Func // sqlite3.c:123401:5: - *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6776)) = libc.Xsqrt // sqlite3.c:123403:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6792)) = math1Func // sqlite3.c:123403:5: - *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6848)) = degToRad // sqlite3.c:123404:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6864)) = math1Func // sqlite3.c:123404:5: - *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6920)) = radToDeg // sqlite3.c:123405:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6936)) = math1Func // sqlite3.c:123405:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 7008)) = piFunc // sqlite3.c:123406:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 7080)) = signFunc // sqlite3.c:123408:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 7152)) = versionFunc // sqlite3.c:123409:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 7224)) = versionFunc // sqlite3.c:123410:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aAgg)) + 0)) = geopolyBBoxStep // sqlite3.c:202042:8: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aAgg)) + 8)) = geopolyBBoxFinal // sqlite3.c:202042:25: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aAlterTableFuncs)) + 24)) = renameColumnFunc // sqlite3.c:111080:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aAlterTableFuncs)) + 96)) = renameTableFunc // sqlite3.c:111081:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aAlterTableFuncs)) + 168)) = renameTableTest // sqlite3.c:111082:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aAlterTableFuncs)) + 240)) = dropColumnFunc // sqlite3.c:111083:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aAlterTableFuncs)) + 312)) = renameQuotefixFunc // sqlite3.c:111084:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 24)) = versionFunc // sqlite3.c:123285:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 96)) = versionFunc // sqlite3.c:123286:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 168)) = versionFunc // sqlite3.c:123287:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 240)) = versionFunc // sqlite3.c:123288:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 312)) = soundexFunc // sqlite3.c:123292:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 384)) = loadExt // sqlite3.c:123295:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 456)) = loadExt // sqlite3.c:123296:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 528)) = compileoptionusedFunc // sqlite3.c:123302:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 600)) = compileoptiongetFunc // sqlite3.c:123303:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 672)) = versionFunc // sqlite3.c:123305:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 744)) = versionFunc // sqlite3.c:123306:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 816)) = versionFunc // sqlite3.c:123307:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 888)) = versionFunc // sqlite3.c:123310:12: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 960)) = trimFunc // sqlite3.c:123312:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1032)) = trimFunc // sqlite3.c:123313:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1104)) = trimFunc // sqlite3.c:123314:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1176)) = trimFunc // sqlite3.c:123315:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1248)) = trimFunc // sqlite3.c:123316:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1320)) = trimFunc // sqlite3.c:123317:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1392)) = minmaxFunc // sqlite3.c:123318:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1536)) = minmaxStep // sqlite3.c:123320:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1544)) = minMaxFinalize // sqlite3.c:123320:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1552)) = minMaxValue // sqlite3.c:123320:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1608)) = minmaxFunc // sqlite3.c:123322:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1752)) = minmaxStep // sqlite3.c:123324:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1760)) = minMaxFinalize // sqlite3.c:123324:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1768)) = minMaxValue // sqlite3.c:123324:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1824)) = typeofFunc // sqlite3.c:123326:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1896)) = subtypeFunc // sqlite3.c:123327:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1968)) = lengthFunc // sqlite3.c:123328:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2040)) = instrFunc // sqlite3.c:123329:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2112)) = printfFunc // sqlite3.c:123330:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2184)) = printfFunc // sqlite3.c:123331:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2256)) = unicodeFunc // sqlite3.c:123332:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2328)) = charFunc // sqlite3.c:123333:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2400)) = absFunc // sqlite3.c:123334:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2472)) = roundFunc // sqlite3.c:123336:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2544)) = roundFunc // sqlite3.c:123337:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2616)) = upperFunc // sqlite3.c:123339:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2688)) = lowerFunc // sqlite3.c:123340:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2760)) = hexFunc // sqlite3.c:123341:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2832)) = versionFunc // sqlite3.c:123342:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2904)) = randomFunc // sqlite3.c:123343:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2976)) = randomBlob // sqlite3.c:123344:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3048)) = nullifFunc // sqlite3.c:123345:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3120)) = versionFunc // sqlite3.c:123346:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3192)) = sourceidFunc // sqlite3.c:123347:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3264)) = errlogFunc // sqlite3.c:123348:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3336)) = quoteFunc // sqlite3.c:123349:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3408)) = last_insert_rowid // sqlite3.c:123350:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3480)) = changes // sqlite3.c:123351:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3552)) = total_changes // sqlite3.c:123352:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3624)) = replaceFunc // sqlite3.c:123353:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3696)) = zeroblobFunc // sqlite3.c:123354:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3768)) = substrFunc // sqlite3.c:123355:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3840)) = substrFunc // sqlite3.c:123356:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3912)) = substrFunc // sqlite3.c:123357:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3984)) = substrFunc // sqlite3.c:123358:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4056)) = sumStep // sqlite3.c:123359:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4064)) = sumFinalize // sqlite3.c:123359:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4072)) = sumFinalize // sqlite3.c:123359:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4080)) = sumInverse // sqlite3.c:123359:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4128)) = sumStep // sqlite3.c:123360:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4136)) = totalFinalize // sqlite3.c:123360:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4144)) = totalFinalize // sqlite3.c:123360:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4152)) = sumInverse // sqlite3.c:123360:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4200)) = sumStep // sqlite3.c:123361:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4208)) = avgFinalize // sqlite3.c:123361:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4216)) = avgFinalize // sqlite3.c:123361:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4224)) = sumInverse // sqlite3.c:123361:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4272)) = countStep // sqlite3.c:123362:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4280)) = countFinalize // sqlite3.c:123362:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4288)) = countFinalize // sqlite3.c:123362:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4296)) = countInverse // sqlite3.c:123362:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4344)) = countStep // sqlite3.c:123365:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4352)) = countFinalize // sqlite3.c:123365:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4360)) = countFinalize // sqlite3.c:123365:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4368)) = countInverse // sqlite3.c:123365:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4416)) = groupConcatStep // sqlite3.c:123367:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4424)) = groupConcatFinalize // sqlite3.c:123367:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4432)) = groupConcatValue // sqlite3.c:123367:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4440)) = groupConcatInverse // sqlite3.c:123367:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4488)) = groupConcatStep // sqlite3.c:123369:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4496)) = groupConcatFinalize // sqlite3.c:123369:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4504)) = groupConcatValue // sqlite3.c:123369:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4512)) = groupConcatInverse // sqlite3.c:123369:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4544 /* .pUserData */)) = uintptr(unsafe.Pointer(&globInfo)) // sqlite3.c:123372:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4560)) = likeFunc // sqlite3.c:123372:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4616 /* .pUserData */)) = uintptr(unsafe.Pointer(&likeInfoNorm)) // sqlite3.c:123377:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4632)) = likeFunc // sqlite3.c:123377:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4688 /* .pUserData */)) = uintptr(unsafe.Pointer(&likeInfoNorm)) // sqlite3.c:123378:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4704)) = likeFunc // sqlite3.c:123378:5: + *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4904)) = xCeil // sqlite3.c:123386:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4920)) = ceilingFunc // sqlite3.c:123386:5: + *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4976)) = xCeil // sqlite3.c:123387:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4992)) = ceilingFunc // sqlite3.c:123387:5: + *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5048)) = xFloor // sqlite3.c:123388:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5064)) = ceilingFunc // sqlite3.c:123388:5: + *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5120)) = libc.Xtrunc // sqlite3.c:123390:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5136)) = ceilingFunc // sqlite3.c:123390:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5208)) = logFunc // sqlite3.c:123392:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5280)) = logFunc // sqlite3.c:123393:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5352)) = logFunc // sqlite3.c:123394:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5424)) = logFunc // sqlite3.c:123395:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5496)) = logFunc // sqlite3.c:123396:5: + *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5552)) = libc.Xexp // sqlite3.c:123397:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5568)) = math1Func // sqlite3.c:123397:5: + *(*func(*libc.TLS, float64, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5624)) = libc.Xpow // sqlite3.c:123398:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5640)) = math2Func // sqlite3.c:123398:5: + *(*func(*libc.TLS, float64, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5696)) = libc.Xpow // sqlite3.c:123399:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5712)) = math2Func // sqlite3.c:123399:5: + *(*func(*libc.TLS, float64, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5768)) = libc.Xfmod // sqlite3.c:123400:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5784)) = math2Func // sqlite3.c:123400:5: + *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5840)) = libc.Xacos // sqlite3.c:123401:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5856)) = math1Func // sqlite3.c:123401:5: + *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5912)) = libc.Xasin // sqlite3.c:123402:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5928)) = math1Func // sqlite3.c:123402:5: + *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5984)) = libc.Xatan // sqlite3.c:123403:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6000)) = math1Func // sqlite3.c:123403:5: + *(*func(*libc.TLS, float64, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6056)) = libc.Xatan2 // sqlite3.c:123404:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6072)) = math2Func // sqlite3.c:123404:5: + *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6128)) = libc.Xcos // sqlite3.c:123405:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6144)) = math1Func // sqlite3.c:123405:5: + *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6200)) = libc.Xsin // sqlite3.c:123406:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6216)) = math1Func // sqlite3.c:123406:5: + *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6272)) = libc.Xtan // sqlite3.c:123407:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6288)) = math1Func // sqlite3.c:123407:5: + *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6344)) = libc.Xcosh // sqlite3.c:123408:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6360)) = math1Func // sqlite3.c:123408:5: + *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6416)) = libc.Xsinh // sqlite3.c:123409:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6432)) = math1Func // sqlite3.c:123409:5: + *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6488)) = libc.Xtanh // sqlite3.c:123410:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6504)) = math1Func // sqlite3.c:123410:5: + *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6560)) = libc.Xacosh // sqlite3.c:123412:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6576)) = math1Func // sqlite3.c:123412:5: + *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6632)) = libc.Xasinh // sqlite3.c:123413:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6648)) = math1Func // sqlite3.c:123413:5: + *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6704)) = libc.Xatanh // sqlite3.c:123414:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6720)) = math1Func // sqlite3.c:123414:5: + *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6776)) = libc.Xsqrt // sqlite3.c:123416:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6792)) = math1Func // sqlite3.c:123416:5: + *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6848)) = degToRad // sqlite3.c:123417:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6864)) = math1Func // sqlite3.c:123417:5: + *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6920)) = radToDeg // sqlite3.c:123418:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6936)) = math1Func // sqlite3.c:123418:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 7008)) = piFunc // sqlite3.c:123419:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 7080)) = signFunc // sqlite3.c:123421:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 7152)) = versionFunc // sqlite3.c:123422:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 7224)) = versionFunc // sqlite3.c:123423:5: *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aDateTimeFuncs)) + 8 /* .pUserData */)) = uintptr(unsafe.Pointer(&Xsqlite3Config)) // sqlite3.c:24402:5: *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aDateTimeFuncs)) + 24)) = juliandayFunc // sqlite3.c:24402:5: *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aDateTimeFuncs)) + 80 /* .pUserData */)) = uintptr(unsafe.Pointer(&Xsqlite3Config)) // sqlite3.c:24403:5: @@ -195900,45 +195931,45 @@ func init() { *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aDateTimeFuncs)) + 456)) = ctimeFunc // sqlite3.c:24408:5: *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aDateTimeFuncs)) + 528)) = ctimestampFunc // sqlite3.c:24409:5: *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aDateTimeFuncs)) + 600)) = cdateFunc // sqlite3.c:24410:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 0)) = geopolyAreaFunc // sqlite3.c:201967:8: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 24)) = geopolyBlobFunc // sqlite3.c:201968:8: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 48)) = geopolyJsonFunc // sqlite3.c:201969:8: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 72)) = geopolySvgFunc // sqlite3.c:201970:8: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 96)) = geopolyWithinFunc // sqlite3.c:201971:8: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 120)) = geopolyContainsPointFunc // sqlite3.c:201972:8: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 144)) = geopolyOverlapFunc // sqlite3.c:201973:8: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 168)) = geopolyDebugFunc // sqlite3.c:201974:8: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 192)) = geopolyBBoxFunc // sqlite3.c:201975:8: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 216)) = geopolyXformFunc // sqlite3.c:201976:8: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 240)) = geopolyRegularFunc // sqlite3.c:201977:8: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 264)) = geopolyCcwFunc // sqlite3.c:201978:8: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 24)) = jsonRemoveFunc // sqlite3.c:195736:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 96)) = jsonArrayFunc // sqlite3.c:195737:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 168)) = jsonArrayLengthFunc // sqlite3.c:195738:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 240)) = jsonArrayLengthFunc // sqlite3.c:195739:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 312)) = jsonExtractFunc // sqlite3.c:195740:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 384)) = jsonExtractFunc // sqlite3.c:195741:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 456)) = jsonExtractFunc // sqlite3.c:195742:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 528)) = jsonSetFunc // sqlite3.c:195743:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 600)) = jsonObjectFunc // sqlite3.c:195744:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 672)) = jsonPatchFunc // sqlite3.c:195745:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 744)) = jsonQuoteFunc // sqlite3.c:195746:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 816)) = jsonRemoveFunc // sqlite3.c:195747:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 888)) = jsonReplaceFunc // sqlite3.c:195748:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 960)) = jsonSetFunc // sqlite3.c:195749:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 1032)) = jsonTypeFunc // sqlite3.c:195750:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 1104)) = jsonTypeFunc // sqlite3.c:195751:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 1176)) = jsonValidFunc // sqlite3.c:195752:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 1248)) = jsonArrayStep // sqlite3.c:195757:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 1256)) = jsonArrayFinal // sqlite3.c:195757:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 1264)) = jsonArrayValue // sqlite3.c:195757:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 1272)) = jsonGroupInverse // sqlite3.c:195757:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 1320)) = jsonObjectStep // sqlite3.c:195760:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 1328)) = jsonObjectFinal // sqlite3.c:195760:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 1336)) = jsonObjectValue // sqlite3.c:195760:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 1344)) = jsonGroupInverse // sqlite3.c:195760:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aMod)) + 8 /* .pModule */)) = uintptr(unsafe.Pointer(&jsonEachModule)) // sqlite3.c:195778:31: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aMod)) + 24 /* .pModule */)) = uintptr(unsafe.Pointer(&jsonTreeModule)) // sqlite3.c:195779:31: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 0)) = geopolyAreaFunc // sqlite3.c:202024:8: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 24)) = geopolyBlobFunc // sqlite3.c:202025:8: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 48)) = geopolyJsonFunc // sqlite3.c:202026:8: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 72)) = geopolySvgFunc // sqlite3.c:202027:8: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 96)) = geopolyWithinFunc // sqlite3.c:202028:8: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 120)) = geopolyContainsPointFunc // sqlite3.c:202029:8: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 144)) = geopolyOverlapFunc // sqlite3.c:202030:8: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 168)) = geopolyDebugFunc // sqlite3.c:202031:8: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 192)) = geopolyBBoxFunc // sqlite3.c:202032:8: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 216)) = geopolyXformFunc // sqlite3.c:202033:8: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 240)) = geopolyRegularFunc // sqlite3.c:202034:8: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 264)) = geopolyCcwFunc // sqlite3.c:202035:8: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 24)) = jsonRemoveFunc // sqlite3.c:195793:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 96)) = jsonArrayFunc // sqlite3.c:195794:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 168)) = jsonArrayLengthFunc // sqlite3.c:195795:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 240)) = jsonArrayLengthFunc // sqlite3.c:195796:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 312)) = jsonExtractFunc // sqlite3.c:195797:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 384)) = jsonExtractFunc // sqlite3.c:195798:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 456)) = jsonExtractFunc // sqlite3.c:195799:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 528)) = jsonSetFunc // sqlite3.c:195800:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 600)) = jsonObjectFunc // sqlite3.c:195801:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 672)) = jsonPatchFunc // sqlite3.c:195802:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 744)) = jsonQuoteFunc // sqlite3.c:195803:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 816)) = jsonRemoveFunc // sqlite3.c:195804:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 888)) = jsonReplaceFunc // sqlite3.c:195805:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 960)) = jsonSetFunc // sqlite3.c:195806:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 1032)) = jsonTypeFunc // sqlite3.c:195807:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 1104)) = jsonTypeFunc // sqlite3.c:195808:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 1176)) = jsonValidFunc // sqlite3.c:195809:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 1248)) = jsonArrayStep // sqlite3.c:195814:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 1256)) = jsonArrayFinal // sqlite3.c:195814:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 1264)) = jsonArrayValue // sqlite3.c:195814:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 1272)) = jsonGroupInverse // sqlite3.c:195814:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 1320)) = jsonObjectStep // sqlite3.c:195817:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 1328)) = jsonObjectFinal // sqlite3.c:195817:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 1336)) = jsonObjectValue // sqlite3.c:195817:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 1344)) = jsonGroupInverse // sqlite3.c:195817:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aMod)) + 8 /* .pModule */)) = uintptr(unsafe.Pointer(&jsonEachModule)) // sqlite3.c:195835:31: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aMod)) + 24 /* .pModule */)) = uintptr(unsafe.Pointer(&jsonTreeModule)) // sqlite3.c:195836:31: *(*Sqlite3_syscall_ptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 8 /* .pCurrent */)) = *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, int32) int32 }{posixOpen})) // sqlite3.c:35170:21: @@ -196002,150 +196033,150 @@ func init() { *(*Sqlite3_syscall_ptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 656 /* .pCurrent */)) = *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr) int32 }{libc.Xlstat})) // sqlite3.c:35313:22: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 32 /* .pAppData */)) = uintptr(unsafe.Pointer(&posixIoFinder)) // sqlite3.c:42842:5: - *(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 40)) = unixOpen // sqlite3.c:42842:5: - *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 48)) = unixDelete // sqlite3.c:42842:5: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 56)) = unixAccess // sqlite3.c:42842:5: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 64)) = unixFullPathname // sqlite3.c:42842:5: - *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 72)) = unixDlOpen // sqlite3.c:42842:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 80)) = unixDlError // sqlite3.c:42842:5: - *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 88)) = unixDlSym // sqlite3.c:42842:5: - *(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 96)) = unixDlClose // sqlite3.c:42842:5: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 104)) = unixRandomness // sqlite3.c:42842:5: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 112)) = unixSleep // sqlite3.c:42842:5: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 120)) = unixCurrentTime // sqlite3.c:42842:5: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 128)) = unixGetLastError // sqlite3.c:42842:5: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 136)) = unixCurrentTimeInt64 // sqlite3.c:42842:5: - *(*func(*libc.TLS, uintptr, uintptr, Sqlite3_syscall_ptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 144)) = unixSetSystemCall // sqlite3.c:42842:5: - *(*func(*libc.TLS, uintptr, uintptr) Sqlite3_syscall_ptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 152)) = unixGetSystemCall // sqlite3.c:42842:5: - *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 160)) = unixNextSystemCall // sqlite3.c:42842:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 200 /* .pAppData */)) = uintptr(unsafe.Pointer(&nolockIoFinder)) // sqlite3.c:42844:5: - *(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 208)) = unixOpen // sqlite3.c:42844:5: - *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 216)) = unixDelete // sqlite3.c:42844:5: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 224)) = unixAccess // sqlite3.c:42844:5: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 232)) = unixFullPathname // sqlite3.c:42844:5: - *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 240)) = unixDlOpen // sqlite3.c:42844:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 248)) = unixDlError // sqlite3.c:42844:5: - *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 256)) = unixDlSym // sqlite3.c:42844:5: - *(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 264)) = unixDlClose // sqlite3.c:42844:5: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 272)) = unixRandomness // sqlite3.c:42844:5: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 280)) = unixSleep // sqlite3.c:42844:5: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 288)) = unixCurrentTime // sqlite3.c:42844:5: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 296)) = unixGetLastError // sqlite3.c:42844:5: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 304)) = unixCurrentTimeInt64 // sqlite3.c:42844:5: - *(*func(*libc.TLS, uintptr, uintptr, Sqlite3_syscall_ptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 312)) = unixSetSystemCall // sqlite3.c:42844:5: - *(*func(*libc.TLS, uintptr, uintptr) Sqlite3_syscall_ptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 320)) = unixGetSystemCall // sqlite3.c:42844:5: - *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 328)) = unixNextSystemCall // sqlite3.c:42844:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 368 /* .pAppData */)) = uintptr(unsafe.Pointer(&dotlockIoFinder)) // sqlite3.c:42845:5: - *(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 376)) = unixOpen // sqlite3.c:42845:5: - *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 384)) = unixDelete // sqlite3.c:42845:5: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 392)) = unixAccess // sqlite3.c:42845:5: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 400)) = unixFullPathname // sqlite3.c:42845:5: - *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 408)) = unixDlOpen // sqlite3.c:42845:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 416)) = unixDlError // sqlite3.c:42845:5: - *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 424)) = unixDlSym // sqlite3.c:42845:5: - *(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 432)) = unixDlClose // sqlite3.c:42845:5: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 440)) = unixRandomness // sqlite3.c:42845:5: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 448)) = unixSleep // sqlite3.c:42845:5: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 456)) = unixCurrentTime // sqlite3.c:42845:5: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 464)) = unixGetLastError // sqlite3.c:42845:5: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 472)) = unixCurrentTimeInt64 // sqlite3.c:42845:5: - *(*func(*libc.TLS, uintptr, uintptr, Sqlite3_syscall_ptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 480)) = unixSetSystemCall // sqlite3.c:42845:5: - *(*func(*libc.TLS, uintptr, uintptr) Sqlite3_syscall_ptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 488)) = unixGetSystemCall // sqlite3.c:42845:5: - *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 496)) = unixNextSystemCall // sqlite3.c:42845:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 536 /* .pAppData */)) = uintptr(unsafe.Pointer(&posixIoFinder)) // sqlite3.c:42846:5: - *(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 544)) = unixOpen // sqlite3.c:42846:5: - *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 552)) = unixDelete // sqlite3.c:42846:5: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 560)) = unixAccess // sqlite3.c:42846:5: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 568)) = unixFullPathname // sqlite3.c:42846:5: - *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 576)) = unixDlOpen // sqlite3.c:42846:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 584)) = unixDlError // sqlite3.c:42846:5: - *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 592)) = unixDlSym // sqlite3.c:42846:5: - *(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 600)) = unixDlClose // sqlite3.c:42846:5: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 608)) = unixRandomness // sqlite3.c:42846:5: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 616)) = unixSleep // sqlite3.c:42846:5: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 624)) = unixCurrentTime // sqlite3.c:42846:5: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 632)) = unixGetLastError // sqlite3.c:42846:5: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 640)) = unixCurrentTimeInt64 // sqlite3.c:42846:5: - *(*func(*libc.TLS, uintptr, uintptr, Sqlite3_syscall_ptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 648)) = unixSetSystemCall // sqlite3.c:42846:5: - *(*func(*libc.TLS, uintptr, uintptr) Sqlite3_syscall_ptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 656)) = unixGetSystemCall // sqlite3.c:42846:5: - *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 664)) = unixNextSystemCall // sqlite3.c:42846:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 24)) = row_numberStepFunc // sqlite3.c:158796:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 32)) = row_numberValueFunc // sqlite3.c:158796:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 40)) = row_numberValueFunc // sqlite3.c:158796:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 48)) = noopStepFunc // sqlite3.c:158796:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 56 /* .zName */)) = uintptr(unsafe.Pointer(&row_numberName)) // sqlite3.c:158796:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 96)) = dense_rankStepFunc // sqlite3.c:158797:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 104)) = dense_rankValueFunc // sqlite3.c:158797:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 112)) = dense_rankValueFunc // sqlite3.c:158797:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 120)) = noopStepFunc // sqlite3.c:158797:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 128 /* .zName */)) = uintptr(unsafe.Pointer(&dense_rankName)) // sqlite3.c:158797:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 168)) = rankStepFunc // sqlite3.c:158798:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 176)) = rankValueFunc // sqlite3.c:158798:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 184)) = rankValueFunc // sqlite3.c:158798:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 192)) = noopStepFunc // sqlite3.c:158798:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 200 /* .zName */)) = uintptr(unsafe.Pointer(&rankName)) // sqlite3.c:158798:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 240)) = percent_rankStepFunc // sqlite3.c:158799:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 248)) = percent_rankValueFunc // sqlite3.c:158799:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 256)) = percent_rankValueFunc // sqlite3.c:158799:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 264)) = percent_rankInvFunc // sqlite3.c:158799:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 272 /* .zName */)) = uintptr(unsafe.Pointer(&percent_rankName)) // sqlite3.c:158799:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 312)) = cume_distStepFunc // sqlite3.c:158800:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 320)) = cume_distValueFunc // sqlite3.c:158800:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 328)) = cume_distValueFunc // sqlite3.c:158800:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 336)) = cume_distInvFunc // sqlite3.c:158800:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 344 /* .zName */)) = uintptr(unsafe.Pointer(&cume_distName)) // sqlite3.c:158800:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 384)) = ntileStepFunc // sqlite3.c:158801:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 392)) = ntileValueFunc // sqlite3.c:158801:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 400)) = ntileValueFunc // sqlite3.c:158801:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 408)) = ntileInvFunc // sqlite3.c:158801:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 416 /* .zName */)) = uintptr(unsafe.Pointer(&ntileName)) // sqlite3.c:158801:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 456)) = last_valueStepFunc // sqlite3.c:158802:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 464)) = last_valueFinalizeFunc // sqlite3.c:158802:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 472)) = last_valueValueFunc // sqlite3.c:158802:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 480)) = last_valueInvFunc // sqlite3.c:158802:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 488 /* .zName */)) = uintptr(unsafe.Pointer(&last_valueName)) // sqlite3.c:158802:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 528)) = nth_valueStepFunc // sqlite3.c:158803:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 536)) = nth_valueFinalizeFunc // sqlite3.c:158803:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 544)) = noopValueFunc // sqlite3.c:158803:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 552)) = noopStepFunc // sqlite3.c:158803:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 560 /* .zName */)) = uintptr(unsafe.Pointer(&nth_valueName)) // sqlite3.c:158803:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 600)) = first_valueStepFunc // sqlite3.c:158804:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 608)) = first_valueFinalizeFunc // sqlite3.c:158804:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 616)) = noopValueFunc // sqlite3.c:158804:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 624)) = noopStepFunc // sqlite3.c:158804:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 632 /* .zName */)) = uintptr(unsafe.Pointer(&first_valueName)) // sqlite3.c:158804:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 672)) = noopStepFunc // sqlite3.c:158805:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 680)) = noopValueFunc // sqlite3.c:158805:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 688)) = noopValueFunc // sqlite3.c:158805:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 696)) = noopStepFunc // sqlite3.c:158805:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 704 /* .zName */)) = uintptr(unsafe.Pointer(&leadName)) // sqlite3.c:158805:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 744)) = noopStepFunc // sqlite3.c:158806:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 752)) = noopValueFunc // sqlite3.c:158806:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 760)) = noopValueFunc // sqlite3.c:158806:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 768)) = noopStepFunc // sqlite3.c:158806:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 776 /* .zName */)) = uintptr(unsafe.Pointer(&leadName)) // sqlite3.c:158806:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 816)) = noopStepFunc // sqlite3.c:158807:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 824)) = noopValueFunc // sqlite3.c:158807:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 832)) = noopValueFunc // sqlite3.c:158807:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 840)) = noopStepFunc // sqlite3.c:158807:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 848 /* .zName */)) = uintptr(unsafe.Pointer(&leadName)) // sqlite3.c:158807:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 888)) = noopStepFunc // sqlite3.c:158808:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 896)) = noopValueFunc // sqlite3.c:158808:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 904)) = noopValueFunc // sqlite3.c:158808:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 912)) = noopStepFunc // sqlite3.c:158808:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 920 /* .zName */)) = uintptr(unsafe.Pointer(&lagName)) // sqlite3.c:158808:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 960)) = noopStepFunc // sqlite3.c:158809:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 968)) = noopValueFunc // sqlite3.c:158809:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 976)) = noopValueFunc // sqlite3.c:158809:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 984)) = noopStepFunc // sqlite3.c:158809:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 992 /* .zName */)) = uintptr(unsafe.Pointer(&lagName)) // sqlite3.c:158809:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 1032)) = noopStepFunc // sqlite3.c:158810:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 1040)) = noopValueFunc // sqlite3.c:158810:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 1048)) = noopValueFunc // sqlite3.c:158810:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 1056)) = noopStepFunc // sqlite3.c:158810:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 1064 /* .zName */)) = uintptr(unsafe.Pointer(&lagName)) // sqlite3.c:158810:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&attach_func)) + 24)) = attachFunc // sqlite3.c:113438:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 32 /* .pAppData */)) = uintptr(unsafe.Pointer(&posixIoFinder)) // sqlite3.c:42848:5: + *(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 40)) = unixOpen // sqlite3.c:42848:5: + *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 48)) = unixDelete // sqlite3.c:42848:5: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 56)) = unixAccess // sqlite3.c:42848:5: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 64)) = unixFullPathname // sqlite3.c:42848:5: + *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 72)) = unixDlOpen // sqlite3.c:42848:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 80)) = unixDlError // sqlite3.c:42848:5: + *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 88)) = unixDlSym // sqlite3.c:42848:5: + *(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 96)) = unixDlClose // sqlite3.c:42848:5: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 104)) = unixRandomness // sqlite3.c:42848:5: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 112)) = unixSleep // sqlite3.c:42848:5: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 120)) = unixCurrentTime // sqlite3.c:42848:5: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 128)) = unixGetLastError // sqlite3.c:42848:5: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 136)) = unixCurrentTimeInt64 // sqlite3.c:42848:5: + *(*func(*libc.TLS, uintptr, uintptr, Sqlite3_syscall_ptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 144)) = unixSetSystemCall // sqlite3.c:42848:5: + *(*func(*libc.TLS, uintptr, uintptr) Sqlite3_syscall_ptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 152)) = unixGetSystemCall // sqlite3.c:42848:5: + *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 160)) = unixNextSystemCall // sqlite3.c:42848:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 200 /* .pAppData */)) = uintptr(unsafe.Pointer(&nolockIoFinder)) // sqlite3.c:42850:5: + *(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 208)) = unixOpen // sqlite3.c:42850:5: + *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 216)) = unixDelete // sqlite3.c:42850:5: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 224)) = unixAccess // sqlite3.c:42850:5: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 232)) = unixFullPathname // sqlite3.c:42850:5: + *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 240)) = unixDlOpen // sqlite3.c:42850:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 248)) = unixDlError // sqlite3.c:42850:5: + *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 256)) = unixDlSym // sqlite3.c:42850:5: + *(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 264)) = unixDlClose // sqlite3.c:42850:5: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 272)) = unixRandomness // sqlite3.c:42850:5: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 280)) = unixSleep // sqlite3.c:42850:5: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 288)) = unixCurrentTime // sqlite3.c:42850:5: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 296)) = unixGetLastError // sqlite3.c:42850:5: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 304)) = unixCurrentTimeInt64 // sqlite3.c:42850:5: + *(*func(*libc.TLS, uintptr, uintptr, Sqlite3_syscall_ptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 312)) = unixSetSystemCall // sqlite3.c:42850:5: + *(*func(*libc.TLS, uintptr, uintptr) Sqlite3_syscall_ptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 320)) = unixGetSystemCall // sqlite3.c:42850:5: + *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 328)) = unixNextSystemCall // sqlite3.c:42850:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 368 /* .pAppData */)) = uintptr(unsafe.Pointer(&dotlockIoFinder)) // sqlite3.c:42851:5: + *(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 376)) = unixOpen // sqlite3.c:42851:5: + *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 384)) = unixDelete // sqlite3.c:42851:5: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 392)) = unixAccess // sqlite3.c:42851:5: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 400)) = unixFullPathname // sqlite3.c:42851:5: + *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 408)) = unixDlOpen // sqlite3.c:42851:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 416)) = unixDlError // sqlite3.c:42851:5: + *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 424)) = unixDlSym // sqlite3.c:42851:5: + *(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 432)) = unixDlClose // sqlite3.c:42851:5: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 440)) = unixRandomness // sqlite3.c:42851:5: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 448)) = unixSleep // sqlite3.c:42851:5: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 456)) = unixCurrentTime // sqlite3.c:42851:5: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 464)) = unixGetLastError // sqlite3.c:42851:5: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 472)) = unixCurrentTimeInt64 // sqlite3.c:42851:5: + *(*func(*libc.TLS, uintptr, uintptr, Sqlite3_syscall_ptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 480)) = unixSetSystemCall // sqlite3.c:42851:5: + *(*func(*libc.TLS, uintptr, uintptr) Sqlite3_syscall_ptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 488)) = unixGetSystemCall // sqlite3.c:42851:5: + *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 496)) = unixNextSystemCall // sqlite3.c:42851:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 536 /* .pAppData */)) = uintptr(unsafe.Pointer(&posixIoFinder)) // sqlite3.c:42852:5: + *(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 544)) = unixOpen // sqlite3.c:42852:5: + *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 552)) = unixDelete // sqlite3.c:42852:5: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 560)) = unixAccess // sqlite3.c:42852:5: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 568)) = unixFullPathname // sqlite3.c:42852:5: + *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 576)) = unixDlOpen // sqlite3.c:42852:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 584)) = unixDlError // sqlite3.c:42852:5: + *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 592)) = unixDlSym // sqlite3.c:42852:5: + *(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 600)) = unixDlClose // sqlite3.c:42852:5: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 608)) = unixRandomness // sqlite3.c:42852:5: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 616)) = unixSleep // sqlite3.c:42852:5: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 624)) = unixCurrentTime // sqlite3.c:42852:5: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 632)) = unixGetLastError // sqlite3.c:42852:5: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 640)) = unixCurrentTimeInt64 // sqlite3.c:42852:5: + *(*func(*libc.TLS, uintptr, uintptr, Sqlite3_syscall_ptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 648)) = unixSetSystemCall // sqlite3.c:42852:5: + *(*func(*libc.TLS, uintptr, uintptr) Sqlite3_syscall_ptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 656)) = unixGetSystemCall // sqlite3.c:42852:5: + *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 664)) = unixNextSystemCall // sqlite3.c:42852:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 24)) = row_numberStepFunc // sqlite3.c:158853:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 32)) = row_numberValueFunc // sqlite3.c:158853:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 40)) = row_numberValueFunc // sqlite3.c:158853:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 48)) = noopStepFunc // sqlite3.c:158853:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 56 /* .zName */)) = uintptr(unsafe.Pointer(&row_numberName)) // sqlite3.c:158853:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 96)) = dense_rankStepFunc // sqlite3.c:158854:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 104)) = dense_rankValueFunc // sqlite3.c:158854:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 112)) = dense_rankValueFunc // sqlite3.c:158854:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 120)) = noopStepFunc // sqlite3.c:158854:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 128 /* .zName */)) = uintptr(unsafe.Pointer(&dense_rankName)) // sqlite3.c:158854:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 168)) = rankStepFunc // sqlite3.c:158855:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 176)) = rankValueFunc // sqlite3.c:158855:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 184)) = rankValueFunc // sqlite3.c:158855:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 192)) = noopStepFunc // sqlite3.c:158855:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 200 /* .zName */)) = uintptr(unsafe.Pointer(&rankName)) // sqlite3.c:158855:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 240)) = percent_rankStepFunc // sqlite3.c:158856:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 248)) = percent_rankValueFunc // sqlite3.c:158856:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 256)) = percent_rankValueFunc // sqlite3.c:158856:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 264)) = percent_rankInvFunc // sqlite3.c:158856:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 272 /* .zName */)) = uintptr(unsafe.Pointer(&percent_rankName)) // sqlite3.c:158856:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 312)) = cume_distStepFunc // sqlite3.c:158857:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 320)) = cume_distValueFunc // sqlite3.c:158857:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 328)) = cume_distValueFunc // sqlite3.c:158857:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 336)) = cume_distInvFunc // sqlite3.c:158857:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 344 /* .zName */)) = uintptr(unsafe.Pointer(&cume_distName)) // sqlite3.c:158857:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 384)) = ntileStepFunc // sqlite3.c:158858:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 392)) = ntileValueFunc // sqlite3.c:158858:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 400)) = ntileValueFunc // sqlite3.c:158858:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 408)) = ntileInvFunc // sqlite3.c:158858:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 416 /* .zName */)) = uintptr(unsafe.Pointer(&ntileName)) // sqlite3.c:158858:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 456)) = last_valueStepFunc // sqlite3.c:158859:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 464)) = last_valueFinalizeFunc // sqlite3.c:158859:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 472)) = last_valueValueFunc // sqlite3.c:158859:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 480)) = last_valueInvFunc // sqlite3.c:158859:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 488 /* .zName */)) = uintptr(unsafe.Pointer(&last_valueName)) // sqlite3.c:158859:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 528)) = nth_valueStepFunc // sqlite3.c:158860:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 536)) = nth_valueFinalizeFunc // sqlite3.c:158860:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 544)) = noopValueFunc // sqlite3.c:158860:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 552)) = noopStepFunc // sqlite3.c:158860:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 560 /* .zName */)) = uintptr(unsafe.Pointer(&nth_valueName)) // sqlite3.c:158860:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 600)) = first_valueStepFunc // sqlite3.c:158861:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 608)) = first_valueFinalizeFunc // sqlite3.c:158861:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 616)) = noopValueFunc // sqlite3.c:158861:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 624)) = noopStepFunc // sqlite3.c:158861:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 632 /* .zName */)) = uintptr(unsafe.Pointer(&first_valueName)) // sqlite3.c:158861:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 672)) = noopStepFunc // sqlite3.c:158862:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 680)) = noopValueFunc // sqlite3.c:158862:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 688)) = noopValueFunc // sqlite3.c:158862:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 696)) = noopStepFunc // sqlite3.c:158862:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 704 /* .zName */)) = uintptr(unsafe.Pointer(&leadName)) // sqlite3.c:158862:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 744)) = noopStepFunc // sqlite3.c:158863:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 752)) = noopValueFunc // sqlite3.c:158863:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 760)) = noopValueFunc // sqlite3.c:158863:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 768)) = noopStepFunc // sqlite3.c:158863:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 776 /* .zName */)) = uintptr(unsafe.Pointer(&leadName)) // sqlite3.c:158863:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 816)) = noopStepFunc // sqlite3.c:158864:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 824)) = noopValueFunc // sqlite3.c:158864:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 832)) = noopValueFunc // sqlite3.c:158864:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 840)) = noopStepFunc // sqlite3.c:158864:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 848 /* .zName */)) = uintptr(unsafe.Pointer(&leadName)) // sqlite3.c:158864:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 888)) = noopStepFunc // sqlite3.c:158865:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 896)) = noopValueFunc // sqlite3.c:158865:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 904)) = noopValueFunc // sqlite3.c:158865:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 912)) = noopStepFunc // sqlite3.c:158865:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 920 /* .zName */)) = uintptr(unsafe.Pointer(&lagName)) // sqlite3.c:158865:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 960)) = noopStepFunc // sqlite3.c:158866:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 968)) = noopValueFunc // sqlite3.c:158866:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 976)) = noopValueFunc // sqlite3.c:158866:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 984)) = noopStepFunc // sqlite3.c:158866:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 992 /* .zName */)) = uintptr(unsafe.Pointer(&lagName)) // sqlite3.c:158866:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 1032)) = noopStepFunc // sqlite3.c:158867:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 1040)) = noopValueFunc // sqlite3.c:158867:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 1048)) = noopValueFunc // sqlite3.c:158867:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 1056)) = noopStepFunc // sqlite3.c:158867:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 1064 /* .zName */)) = uintptr(unsafe.Pointer(&lagName)) // sqlite3.c:158867:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&attach_func)) + 24)) = attachFunc // sqlite3.c:113451:5: *(*func(*libc.TLS, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods)) + 0)) = sqlite3MemMalloc // sqlite3.c:25299:6: *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods)) + 8)) = sqlite3MemFree // sqlite3.c:25300:6: *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods)) + 16)) = sqlite3MemRealloc // sqlite3.c:25301:6: @@ -196153,243 +196184,243 @@ func init() { *(*func(*libc.TLS, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods)) + 32)) = sqlite3MemRoundup // sqlite3.c:25303:6: *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods)) + 40)) = sqlite3MemInit // sqlite3.c:25304:6: *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods)) + 48)) = sqlite3MemShutdown // sqlite3.c:25305:6: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods1)) + 16)) = pcache1Init // sqlite3.c:52453:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods1)) + 24)) = pcache1Shutdown // sqlite3.c:52454:5: - *(*func(*libc.TLS, int32, int32, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods1)) + 32)) = pcache1Create // sqlite3.c:52455:5: - *(*func(*libc.TLS, uintptr, int32))(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods1)) + 40)) = pcache1Cachesize // sqlite3.c:52456:5: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods1)) + 48)) = pcache1Pagecount // sqlite3.c:52457:5: - *(*func(*libc.TLS, uintptr, uint32, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods1)) + 56)) = pcache1Fetch // sqlite3.c:52458:5: - *(*func(*libc.TLS, uintptr, uintptr, int32))(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods1)) + 64)) = pcache1Unpin // sqlite3.c:52459:5: - *(*func(*libc.TLS, uintptr, uintptr, uint32, uint32))(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods1)) + 72)) = pcache1Rekey // sqlite3.c:52460:5: - *(*func(*libc.TLS, uintptr, uint32))(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods1)) + 80)) = pcache1Truncate // sqlite3.c:52461:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods1)) + 88)) = pcache1Destroy // sqlite3.c:52462:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods1)) + 96)) = pcache1Shrink // sqlite3.c:52463:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&detach_func)) + 24)) = detachFunc // sqlite3.c:113418:5: - *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoFinder)) + 0)) = dotlockIoFinderImpl // sqlite3.c:40202:1: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 8)) = dotlockClose // sqlite3.c:40202:1: - *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 16)) = unixRead // sqlite3.c:40202:1: - *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 24)) = unixWrite // sqlite3.c:40202:1: - *(*func(*libc.TLS, uintptr, I64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 32)) = unixTruncate // sqlite3.c:40202:1: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 40)) = unixSync // sqlite3.c:40202:1: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 48)) = unixFileSize // sqlite3.c:40202:1: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 56)) = dotlockLock // sqlite3.c:40202:1: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 64)) = dotlockUnlock // sqlite3.c:40202:1: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 72)) = dotlockCheckReservedLock // sqlite3.c:40202:1: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 80)) = unixFileControl // sqlite3.c:40202:1: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 88)) = unixSectorSize // sqlite3.c:40202:1: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 96)) = unixDeviceCharacteristics // sqlite3.c:40202:1: - *(*func(*libc.TLS, uintptr, int32, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 112)) = unixShmLock // sqlite3.c:40202:1: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 120)) = unixShmBarrier // sqlite3.c:40202:1: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 128)) = unixShmUnmap // sqlite3.c:40202:1: - *(*func(*libc.TLS, uintptr, I64, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 136)) = unixFetch // sqlite3.c:40202:1: - *(*func(*libc.TLS, uintptr, I64, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 144)) = unixUnfetch // sqlite3.c:40202:1: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 8)) = fts5CreateMethod // sqlite3.c:234400:25: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 16)) = fts5ConnectMethod // sqlite3.c:234401:25: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 24)) = fts5BestIndexMethod // sqlite3.c:234402:25: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 32)) = fts5DisconnectMethod // sqlite3.c:234403:25: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 40)) = fts5DestroyMethod // sqlite3.c:234404:25: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 48)) = fts5OpenMethod // sqlite3.c:234405:25: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 56)) = fts5CloseMethod // sqlite3.c:234406:25: - *(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 64)) = fts5FilterMethod // sqlite3.c:234407:25: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 72)) = fts5NextMethod // sqlite3.c:234408:25: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 80)) = fts5EofMethod // sqlite3.c:234409:25: - *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 88)) = fts5ColumnMethod // sqlite3.c:234410:25: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 96)) = fts5RowidMethod // sqlite3.c:234411:25: - *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 104)) = fts5UpdateMethod // sqlite3.c:234412:25: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 112)) = fts5BeginMethod // sqlite3.c:234413:25: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 120)) = fts5SyncMethod // sqlite3.c:234414:25: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 128)) = fts5CommitMethod // sqlite3.c:234415:25: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 136)) = fts5RollbackMethod // sqlite3.c:234416:25: - *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 144)) = fts5FindFunctionMethod // sqlite3.c:234417:25: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 152)) = fts5RenameMethod // sqlite3.c:234418:25: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 160)) = fts5SavepointMethod // sqlite3.c:234419:25: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 168)) = fts5ReleaseMethod // sqlite3.c:234420:25: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 176)) = fts5RollbackToMethod // sqlite3.c:234421:25: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 184)) = fts5ShadowName // sqlite3.c:234422:25: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 8)) = fts5VocabCreateMethod // sqlite3.c:238983:25: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 16)) = fts5VocabConnectMethod // sqlite3.c:238984:25: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 24)) = fts5VocabBestIndexMethod // sqlite3.c:238985:25: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 32)) = fts5VocabDisconnectMethod // sqlite3.c:238986:25: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 40)) = fts5VocabDestroyMethod // sqlite3.c:238987:25: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 48)) = fts5VocabOpenMethod // sqlite3.c:238988:25: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 56)) = fts5VocabCloseMethod // sqlite3.c:238989:25: - *(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 64)) = fts5VocabFilterMethod // sqlite3.c:238990:25: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 72)) = fts5VocabNextMethod // sqlite3.c:238991:25: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 80)) = fts5VocabEofMethod // sqlite3.c:238992:25: - *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 88)) = fts5VocabColumnMethod // sqlite3.c:238993:25: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 96)) = fts5VocabRowidMethod // sqlite3.c:238994:25: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 8)) = geopolyCreate // sqlite3.c:201934:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 16)) = geopolyConnect // sqlite3.c:201935:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 24)) = geopolyBestIndex // sqlite3.c:201936:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 32)) = rtreeDisconnect // sqlite3.c:201937:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 40)) = rtreeDestroy // sqlite3.c:201938:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 48)) = rtreeOpen // sqlite3.c:201939:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 56)) = rtreeClose // sqlite3.c:201940:3: - *(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 64)) = geopolyFilter // sqlite3.c:201941:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 72)) = rtreeNext // sqlite3.c:201942:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 80)) = rtreeEof // sqlite3.c:201943:3: - *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 88)) = geopolyColumn // sqlite3.c:201944:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 96)) = rtreeRowid // sqlite3.c:201945:3: - *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 104)) = geopolyUpdate // sqlite3.c:201946:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 112)) = rtreeBeginTransaction // sqlite3.c:201947:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 120)) = rtreeEndTransaction // sqlite3.c:201948:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 128)) = rtreeEndTransaction // sqlite3.c:201949:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 136)) = rtreeEndTransaction // sqlite3.c:201950:3: - *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 144)) = geopolyFindFunction // sqlite3.c:201951:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 152)) = rtreeRename // sqlite3.c:201952:3: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 160)) = rtreeSavepoint // sqlite3.c:201953:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 184)) = rtreeShadowName // sqlite3.c:201956:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonEachModule)) + 16)) = jsonEachConnect // sqlite3.c:195676:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonEachModule)) + 24)) = jsonEachBestIndex // sqlite3.c:195677:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonEachModule)) + 32)) = jsonEachDisconnect // sqlite3.c:195678:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonEachModule)) + 48)) = jsonEachOpenEach // sqlite3.c:195680:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonEachModule)) + 56)) = jsonEachClose // sqlite3.c:195681:3: - *(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonEachModule)) + 64)) = jsonEachFilter // sqlite3.c:195682:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonEachModule)) + 72)) = jsonEachNext // sqlite3.c:195683:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonEachModule)) + 80)) = jsonEachEof // sqlite3.c:195684:3: - *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonEachModule)) + 88)) = jsonEachColumn // sqlite3.c:195685:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonEachModule)) + 96)) = jsonEachRowid // sqlite3.c:195686:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonTreeModule)) + 16)) = jsonEachConnect // sqlite3.c:195704:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonTreeModule)) + 24)) = jsonEachBestIndex // sqlite3.c:195705:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonTreeModule)) + 32)) = jsonEachDisconnect // sqlite3.c:195706:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonTreeModule)) + 48)) = jsonEachOpenTree // sqlite3.c:195708:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonTreeModule)) + 56)) = jsonEachClose // sqlite3.c:195709:3: - *(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonTreeModule)) + 64)) = jsonEachFilter // sqlite3.c:195710:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonTreeModule)) + 72)) = jsonEachNext // sqlite3.c:195711:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonTreeModule)) + 80)) = jsonEachEof // sqlite3.c:195712:3: - *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonTreeModule)) + 88)) = jsonEachColumn // sqlite3.c:195713:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonTreeModule)) + 96)) = jsonEachRowid // sqlite3.c:195714:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 8)) = memdbClose // sqlite3.c:49233:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 16)) = memdbRead // sqlite3.c:49234:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 24)) = memdbWrite // sqlite3.c:49235:3: - *(*func(*libc.TLS, uintptr, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 32)) = memdbTruncate // sqlite3.c:49236:3: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 40)) = memdbSync // sqlite3.c:49237:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 48)) = memdbFileSize // sqlite3.c:49238:3: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 56)) = memdbLock // sqlite3.c:49239:3: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 64)) = memdbLock // sqlite3.c:49240:3: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 80)) = memdbFileControl // sqlite3.c:49242:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 96)) = memdbDeviceCharacteristics // sqlite3.c:49244:3: - *(*func(*libc.TLS, uintptr, Sqlite3_int64, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 136)) = memdbFetch // sqlite3.c:49249:3: - *(*func(*libc.TLS, uintptr, Sqlite3_int64, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 144)) = memdbUnfetch // sqlite3.c:49250:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_vfs)) + 40)) = memdbOpen // sqlite3.c:49213:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_vfs)) + 56)) = memdbAccess // sqlite3.c:49215:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_vfs)) + 64)) = memdbFullPathname // sqlite3.c:49216:3: - *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_vfs)) + 72)) = memdbDlOpen // sqlite3.c:49217:3: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_vfs)) + 80)) = memdbDlError // sqlite3.c:49218:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_vfs)) + 88)) = memdbDlSym // sqlite3.c:49219:3: - *(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_vfs)) + 96)) = memdbDlClose // sqlite3.c:49220:3: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_vfs)) + 104)) = memdbRandomness // sqlite3.c:49221:3: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_vfs)) + 112)) = memdbSleep // sqlite3.c:49222:3: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_vfs)) + 128)) = memdbGetLastError // sqlite3.c:49224:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_vfs)) + 136)) = memdbCurrentTimeInt64 // sqlite3.c:49225:3: - *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoFinder)) + 0)) = nolockIoFinderImpl // sqlite3.c:40192:1: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 8)) = nolockClose // sqlite3.c:40192:1: - *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 16)) = unixRead // sqlite3.c:40192:1: - *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 24)) = unixWrite // sqlite3.c:40192:1: - *(*func(*libc.TLS, uintptr, I64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 32)) = unixTruncate // sqlite3.c:40192:1: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 40)) = unixSync // sqlite3.c:40192:1: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 48)) = unixFileSize // sqlite3.c:40192:1: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 56)) = nolockLock // sqlite3.c:40192:1: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 64)) = nolockUnlock // sqlite3.c:40192:1: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 72)) = nolockCheckReservedLock // sqlite3.c:40192:1: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 80)) = unixFileControl // sqlite3.c:40192:1: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 88)) = unixSectorSize // sqlite3.c:40192:1: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 96)) = unixDeviceCharacteristics // sqlite3.c:40192:1: - *(*func(*libc.TLS, uintptr, int32, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 112)) = unixShmLock // sqlite3.c:40192:1: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 120)) = unixShmBarrier // sqlite3.c:40192:1: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 128)) = unixShmUnmap // sqlite3.c:40192:1: - *(*func(*libc.TLS, uintptr, I64, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 136)) = unixFetch // sqlite3.c:40192:1: - *(*func(*libc.TLS, uintptr, I64, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 144)) = unixUnfetch // sqlite3.c:40192:1: - *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoFinder)) + 0)) = posixIoFinderImpl // sqlite3.c:40182:1: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 8)) = unixClose // sqlite3.c:40182:1: - *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 16)) = unixRead // sqlite3.c:40182:1: - *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 24)) = unixWrite // sqlite3.c:40182:1: - *(*func(*libc.TLS, uintptr, I64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 32)) = unixTruncate // sqlite3.c:40182:1: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 40)) = unixSync // sqlite3.c:40182:1: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 48)) = unixFileSize // sqlite3.c:40182:1: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 56)) = unixLock // sqlite3.c:40182:1: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 64)) = unixUnlock // sqlite3.c:40182:1: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 72)) = unixCheckReservedLock // sqlite3.c:40182:1: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 80)) = unixFileControl // sqlite3.c:40182:1: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 88)) = unixSectorSize // sqlite3.c:40182:1: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 96)) = unixDeviceCharacteristics // sqlite3.c:40182:1: - *(*func(*libc.TLS, uintptr, int32, int32, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 104)) = unixShmMap // sqlite3.c:40182:1: - *(*func(*libc.TLS, uintptr, int32, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 112)) = unixShmLock // sqlite3.c:40182:1: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 120)) = unixShmBarrier // sqlite3.c:40182:1: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 128)) = unixShmUnmap // sqlite3.c:40182:1: - *(*func(*libc.TLS, uintptr, I64, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 136)) = unixFetch // sqlite3.c:40182:1: - *(*func(*libc.TLS, uintptr, I64, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 144)) = unixUnfetch // sqlite3.c:40182:1: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&pragmaVtabModule)) + 16)) = pragmaVtabConnect // sqlite3.c:133106:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&pragmaVtabModule)) + 24)) = pragmaVtabBestIndex // sqlite3.c:133107:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&pragmaVtabModule)) + 32)) = pragmaVtabDisconnect // sqlite3.c:133108:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&pragmaVtabModule)) + 48)) = pragmaVtabOpen // sqlite3.c:133110:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&pragmaVtabModule)) + 56)) = pragmaVtabClose // sqlite3.c:133111:3: - *(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&pragmaVtabModule)) + 64)) = pragmaVtabFilter // sqlite3.c:133112:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&pragmaVtabModule)) + 72)) = pragmaVtabNext // sqlite3.c:133113:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&pragmaVtabModule)) + 80)) = pragmaVtabEof // sqlite3.c:133114:3: - *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&pragmaVtabModule)) + 88)) = pragmaVtabColumn // sqlite3.c:133115:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&pragmaVtabModule)) + 96)) = pragmaVtabRowid // sqlite3.c:133116:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 8)) = rbuVfsClose // sqlite3.c:208631:5: - *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 16)) = rbuVfsRead // sqlite3.c:208632:5: - *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 24)) = rbuVfsWrite // sqlite3.c:208633:5: - *(*func(*libc.TLS, uintptr, Sqlite_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 32)) = rbuVfsTruncate // sqlite3.c:208634:5: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 40)) = rbuVfsSync // sqlite3.c:208635:5: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 48)) = rbuVfsFileSize // sqlite3.c:208636:5: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 56)) = rbuVfsLock // sqlite3.c:208637:5: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 64)) = rbuVfsUnlock // sqlite3.c:208638:5: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 72)) = rbuVfsCheckReservedLock // sqlite3.c:208639:5: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 80)) = rbuVfsFileControl // sqlite3.c:208640:5: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 88)) = rbuVfsSectorSize // sqlite3.c:208641:5: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 96)) = rbuVfsDeviceCharacteristics // sqlite3.c:208642:5: - *(*func(*libc.TLS, uintptr, int32, int32, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 104)) = rbuVfsShmMap // sqlite3.c:208643:5: - *(*func(*libc.TLS, uintptr, int32, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 112)) = rbuVfsShmLock // sqlite3.c:208644:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 120)) = rbuVfsShmBarrier // sqlite3.c:208645:5: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 128)) = rbuVfsShmUnmap // sqlite3.c:208646:5: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 8)) = rtreeCreate // sqlite3.c:199272:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 16)) = rtreeConnect // sqlite3.c:199273:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 24)) = rtreeBestIndex // sqlite3.c:199274:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 32)) = rtreeDisconnect // sqlite3.c:199275:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 40)) = rtreeDestroy // sqlite3.c:199276:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 48)) = rtreeOpen // sqlite3.c:199277:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 56)) = rtreeClose // sqlite3.c:199278:3: - *(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 64)) = rtreeFilter // sqlite3.c:199279:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 72)) = rtreeNext // sqlite3.c:199280:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 80)) = rtreeEof // sqlite3.c:199281:3: - *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 88)) = rtreeColumn // sqlite3.c:199282:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 96)) = rtreeRowid // sqlite3.c:199283:3: - *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 104)) = rtreeUpdate // sqlite3.c:199284:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 112)) = rtreeBeginTransaction // sqlite3.c:199285:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 120)) = rtreeEndTransaction // sqlite3.c:199286:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 128)) = rtreeEndTransaction // sqlite3.c:199287:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 136)) = rtreeEndTransaction // sqlite3.c:199288:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 152)) = rtreeRename // sqlite3.c:199290:3: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 160)) = rtreeSavepoint // sqlite3.c:199291:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 184)) = rtreeShadowName // sqlite3.c:199294:3: - *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 8)) = fts5ApiUserData // sqlite3.c:233859:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 16)) = fts5ApiColumnCount // sqlite3.c:233860:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 24)) = fts5ApiRowCount // sqlite3.c:233861:3: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 32)) = fts5ApiColumnTotalSize // sqlite3.c:233862:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 40)) = fts5ApiTokenize // sqlite3.c:233863:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 48)) = fts5ApiPhraseCount // sqlite3.c:233864:3: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 56)) = fts5ApiPhraseSize // sqlite3.c:233865:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 64)) = fts5ApiInstCount // sqlite3.c:233866:3: - *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 72)) = fts5ApiInst // sqlite3.c:233867:3: - *(*func(*libc.TLS, uintptr) Sqlite3_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 80)) = fts5ApiRowid // sqlite3.c:233868:3: - *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 88)) = fts5ApiColumnText // sqlite3.c:233869:3: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 96)) = fts5ApiColumnSize // sqlite3.c:233870:3: - *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 104)) = fts5ApiQueryPhrase // sqlite3.c:233871:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 112)) = fts5ApiSetAuxdata // sqlite3.c:233872:3: - *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 120)) = fts5ApiGetAuxdata // sqlite3.c:233873:3: - *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 128)) = fts5ApiPhraseFirst // sqlite3.c:233874:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 136)) = fts5ApiPhraseNext // sqlite3.c:233875:3: - *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 144)) = fts5ApiPhraseFirstColumn // sqlite3.c:233876:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 152)) = fts5ApiPhraseNextColumn // sqlite3.c:233877:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sMemJournalMethods)) + 8)) = memjrnlClose // sqlite3.c:100023:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sMemJournalMethods)) + 16)) = memjrnlRead // sqlite3.c:100024:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sMemJournalMethods)) + 24)) = memjrnlWrite // sqlite3.c:100025:3: - *(*func(*libc.TLS, uintptr, Sqlite_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sMemJournalMethods)) + 32)) = memjrnlTruncate // sqlite3.c:100026:3: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sMemJournalMethods)) + 40)) = memjrnlSync // sqlite3.c:100027:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sMemJournalMethods)) + 48)) = memjrnlFileSize // sqlite3.c:100028:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods1)) + 16)) = pcache1Init // sqlite3.c:52463:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods1)) + 24)) = pcache1Shutdown // sqlite3.c:52464:5: + *(*func(*libc.TLS, int32, int32, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods1)) + 32)) = pcache1Create // sqlite3.c:52465:5: + *(*func(*libc.TLS, uintptr, int32))(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods1)) + 40)) = pcache1Cachesize // sqlite3.c:52466:5: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods1)) + 48)) = pcache1Pagecount // sqlite3.c:52467:5: + *(*func(*libc.TLS, uintptr, uint32, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods1)) + 56)) = pcache1Fetch // sqlite3.c:52468:5: + *(*func(*libc.TLS, uintptr, uintptr, int32))(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods1)) + 64)) = pcache1Unpin // sqlite3.c:52469:5: + *(*func(*libc.TLS, uintptr, uintptr, uint32, uint32))(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods1)) + 72)) = pcache1Rekey // sqlite3.c:52470:5: + *(*func(*libc.TLS, uintptr, uint32))(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods1)) + 80)) = pcache1Truncate // sqlite3.c:52471:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods1)) + 88)) = pcache1Destroy // sqlite3.c:52472:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods1)) + 96)) = pcache1Shrink // sqlite3.c:52473:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&detach_func)) + 24)) = detachFunc // sqlite3.c:113431:5: + *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoFinder)) + 0)) = dotlockIoFinderImpl // sqlite3.c:40208:1: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 8)) = dotlockClose // sqlite3.c:40208:1: + *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 16)) = unixRead // sqlite3.c:40208:1: + *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 24)) = unixWrite // sqlite3.c:40208:1: + *(*func(*libc.TLS, uintptr, I64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 32)) = unixTruncate // sqlite3.c:40208:1: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 40)) = unixSync // sqlite3.c:40208:1: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 48)) = unixFileSize // sqlite3.c:40208:1: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 56)) = dotlockLock // sqlite3.c:40208:1: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 64)) = dotlockUnlock // sqlite3.c:40208:1: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 72)) = dotlockCheckReservedLock // sqlite3.c:40208:1: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 80)) = unixFileControl // sqlite3.c:40208:1: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 88)) = unixSectorSize // sqlite3.c:40208:1: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 96)) = unixDeviceCharacteristics // sqlite3.c:40208:1: + *(*func(*libc.TLS, uintptr, int32, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 112)) = unixShmLock // sqlite3.c:40208:1: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 120)) = unixShmBarrier // sqlite3.c:40208:1: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 128)) = unixShmUnmap // sqlite3.c:40208:1: + *(*func(*libc.TLS, uintptr, I64, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 136)) = unixFetch // sqlite3.c:40208:1: + *(*func(*libc.TLS, uintptr, I64, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 144)) = unixUnfetch // sqlite3.c:40208:1: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 8)) = fts5CreateMethod // sqlite3.c:234457:25: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 16)) = fts5ConnectMethod // sqlite3.c:234458:25: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 24)) = fts5BestIndexMethod // sqlite3.c:234459:25: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 32)) = fts5DisconnectMethod // sqlite3.c:234460:25: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 40)) = fts5DestroyMethod // sqlite3.c:234461:25: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 48)) = fts5OpenMethod // sqlite3.c:234462:25: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 56)) = fts5CloseMethod // sqlite3.c:234463:25: + *(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 64)) = fts5FilterMethod // sqlite3.c:234464:25: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 72)) = fts5NextMethod // sqlite3.c:234465:25: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 80)) = fts5EofMethod // sqlite3.c:234466:25: + *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 88)) = fts5ColumnMethod // sqlite3.c:234467:25: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 96)) = fts5RowidMethod // sqlite3.c:234468:25: + *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 104)) = fts5UpdateMethod // sqlite3.c:234469:25: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 112)) = fts5BeginMethod // sqlite3.c:234470:25: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 120)) = fts5SyncMethod // sqlite3.c:234471:25: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 128)) = fts5CommitMethod // sqlite3.c:234472:25: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 136)) = fts5RollbackMethod // sqlite3.c:234473:25: + *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 144)) = fts5FindFunctionMethod // sqlite3.c:234474:25: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 152)) = fts5RenameMethod // sqlite3.c:234475:25: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 160)) = fts5SavepointMethod // sqlite3.c:234476:25: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 168)) = fts5ReleaseMethod // sqlite3.c:234477:25: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 176)) = fts5RollbackToMethod // sqlite3.c:234478:25: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 184)) = fts5ShadowName // sqlite3.c:234479:25: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 8)) = fts5VocabCreateMethod // sqlite3.c:239040:25: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 16)) = fts5VocabConnectMethod // sqlite3.c:239041:25: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 24)) = fts5VocabBestIndexMethod // sqlite3.c:239042:25: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 32)) = fts5VocabDisconnectMethod // sqlite3.c:239043:25: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 40)) = fts5VocabDestroyMethod // sqlite3.c:239044:25: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 48)) = fts5VocabOpenMethod // sqlite3.c:239045:25: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 56)) = fts5VocabCloseMethod // sqlite3.c:239046:25: + *(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 64)) = fts5VocabFilterMethod // sqlite3.c:239047:25: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 72)) = fts5VocabNextMethod // sqlite3.c:239048:25: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 80)) = fts5VocabEofMethod // sqlite3.c:239049:25: + *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 88)) = fts5VocabColumnMethod // sqlite3.c:239050:25: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 96)) = fts5VocabRowidMethod // sqlite3.c:239051:25: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 8)) = geopolyCreate // sqlite3.c:201991:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 16)) = geopolyConnect // sqlite3.c:201992:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 24)) = geopolyBestIndex // sqlite3.c:201993:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 32)) = rtreeDisconnect // sqlite3.c:201994:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 40)) = rtreeDestroy // sqlite3.c:201995:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 48)) = rtreeOpen // sqlite3.c:201996:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 56)) = rtreeClose // sqlite3.c:201997:3: + *(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 64)) = geopolyFilter // sqlite3.c:201998:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 72)) = rtreeNext // sqlite3.c:201999:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 80)) = rtreeEof // sqlite3.c:202000:3: + *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 88)) = geopolyColumn // sqlite3.c:202001:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 96)) = rtreeRowid // sqlite3.c:202002:3: + *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 104)) = geopolyUpdate // sqlite3.c:202003:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 112)) = rtreeBeginTransaction // sqlite3.c:202004:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 120)) = rtreeEndTransaction // sqlite3.c:202005:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 128)) = rtreeEndTransaction // sqlite3.c:202006:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 136)) = rtreeEndTransaction // sqlite3.c:202007:3: + *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 144)) = geopolyFindFunction // sqlite3.c:202008:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 152)) = rtreeRename // sqlite3.c:202009:3: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 160)) = rtreeSavepoint // sqlite3.c:202010:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 184)) = rtreeShadowName // sqlite3.c:202013:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonEachModule)) + 16)) = jsonEachConnect // sqlite3.c:195733:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonEachModule)) + 24)) = jsonEachBestIndex // sqlite3.c:195734:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonEachModule)) + 32)) = jsonEachDisconnect // sqlite3.c:195735:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonEachModule)) + 48)) = jsonEachOpenEach // sqlite3.c:195737:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonEachModule)) + 56)) = jsonEachClose // sqlite3.c:195738:3: + *(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonEachModule)) + 64)) = jsonEachFilter // sqlite3.c:195739:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonEachModule)) + 72)) = jsonEachNext // sqlite3.c:195740:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonEachModule)) + 80)) = jsonEachEof // sqlite3.c:195741:3: + *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonEachModule)) + 88)) = jsonEachColumn // sqlite3.c:195742:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonEachModule)) + 96)) = jsonEachRowid // sqlite3.c:195743:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonTreeModule)) + 16)) = jsonEachConnect // sqlite3.c:195761:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonTreeModule)) + 24)) = jsonEachBestIndex // sqlite3.c:195762:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonTreeModule)) + 32)) = jsonEachDisconnect // sqlite3.c:195763:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonTreeModule)) + 48)) = jsonEachOpenTree // sqlite3.c:195765:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonTreeModule)) + 56)) = jsonEachClose // sqlite3.c:195766:3: + *(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonTreeModule)) + 64)) = jsonEachFilter // sqlite3.c:195767:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonTreeModule)) + 72)) = jsonEachNext // sqlite3.c:195768:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonTreeModule)) + 80)) = jsonEachEof // sqlite3.c:195769:3: + *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonTreeModule)) + 88)) = jsonEachColumn // sqlite3.c:195770:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonTreeModule)) + 96)) = jsonEachRowid // sqlite3.c:195771:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 8)) = memdbClose // sqlite3.c:49243:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 16)) = memdbRead // sqlite3.c:49244:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 24)) = memdbWrite // sqlite3.c:49245:3: + *(*func(*libc.TLS, uintptr, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 32)) = memdbTruncate // sqlite3.c:49246:3: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 40)) = memdbSync // sqlite3.c:49247:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 48)) = memdbFileSize // sqlite3.c:49248:3: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 56)) = memdbLock // sqlite3.c:49249:3: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 64)) = memdbLock // sqlite3.c:49250:3: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 80)) = memdbFileControl // sqlite3.c:49252:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 96)) = memdbDeviceCharacteristics // sqlite3.c:49254:3: + *(*func(*libc.TLS, uintptr, Sqlite3_int64, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 136)) = memdbFetch // sqlite3.c:49259:3: + *(*func(*libc.TLS, uintptr, Sqlite3_int64, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 144)) = memdbUnfetch // sqlite3.c:49260:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_vfs)) + 40)) = memdbOpen // sqlite3.c:49223:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_vfs)) + 56)) = memdbAccess // sqlite3.c:49225:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_vfs)) + 64)) = memdbFullPathname // sqlite3.c:49226:3: + *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_vfs)) + 72)) = memdbDlOpen // sqlite3.c:49227:3: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_vfs)) + 80)) = memdbDlError // sqlite3.c:49228:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_vfs)) + 88)) = memdbDlSym // sqlite3.c:49229:3: + *(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_vfs)) + 96)) = memdbDlClose // sqlite3.c:49230:3: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_vfs)) + 104)) = memdbRandomness // sqlite3.c:49231:3: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_vfs)) + 112)) = memdbSleep // sqlite3.c:49232:3: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_vfs)) + 128)) = memdbGetLastError // sqlite3.c:49234:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_vfs)) + 136)) = memdbCurrentTimeInt64 // sqlite3.c:49235:3: + *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoFinder)) + 0)) = nolockIoFinderImpl // sqlite3.c:40198:1: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 8)) = nolockClose // sqlite3.c:40198:1: + *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 16)) = unixRead // sqlite3.c:40198:1: + *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 24)) = unixWrite // sqlite3.c:40198:1: + *(*func(*libc.TLS, uintptr, I64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 32)) = unixTruncate // sqlite3.c:40198:1: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 40)) = unixSync // sqlite3.c:40198:1: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 48)) = unixFileSize // sqlite3.c:40198:1: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 56)) = nolockLock // sqlite3.c:40198:1: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 64)) = nolockUnlock // sqlite3.c:40198:1: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 72)) = nolockCheckReservedLock // sqlite3.c:40198:1: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 80)) = unixFileControl // sqlite3.c:40198:1: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 88)) = unixSectorSize // sqlite3.c:40198:1: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 96)) = unixDeviceCharacteristics // sqlite3.c:40198:1: + *(*func(*libc.TLS, uintptr, int32, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 112)) = unixShmLock // sqlite3.c:40198:1: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 120)) = unixShmBarrier // sqlite3.c:40198:1: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 128)) = unixShmUnmap // sqlite3.c:40198:1: + *(*func(*libc.TLS, uintptr, I64, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 136)) = unixFetch // sqlite3.c:40198:1: + *(*func(*libc.TLS, uintptr, I64, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 144)) = unixUnfetch // sqlite3.c:40198:1: + *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoFinder)) + 0)) = posixIoFinderImpl // sqlite3.c:40188:1: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 8)) = unixClose // sqlite3.c:40188:1: + *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 16)) = unixRead // sqlite3.c:40188:1: + *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 24)) = unixWrite // sqlite3.c:40188:1: + *(*func(*libc.TLS, uintptr, I64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 32)) = unixTruncate // sqlite3.c:40188:1: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 40)) = unixSync // sqlite3.c:40188:1: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 48)) = unixFileSize // sqlite3.c:40188:1: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 56)) = unixLock // sqlite3.c:40188:1: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 64)) = unixUnlock // sqlite3.c:40188:1: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 72)) = unixCheckReservedLock // sqlite3.c:40188:1: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 80)) = unixFileControl // sqlite3.c:40188:1: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 88)) = unixSectorSize // sqlite3.c:40188:1: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 96)) = unixDeviceCharacteristics // sqlite3.c:40188:1: + *(*func(*libc.TLS, uintptr, int32, int32, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 104)) = unixShmMap // sqlite3.c:40188:1: + *(*func(*libc.TLS, uintptr, int32, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 112)) = unixShmLock // sqlite3.c:40188:1: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 120)) = unixShmBarrier // sqlite3.c:40188:1: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 128)) = unixShmUnmap // sqlite3.c:40188:1: + *(*func(*libc.TLS, uintptr, I64, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 136)) = unixFetch // sqlite3.c:40188:1: + *(*func(*libc.TLS, uintptr, I64, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 144)) = unixUnfetch // sqlite3.c:40188:1: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&pragmaVtabModule)) + 16)) = pragmaVtabConnect // sqlite3.c:133119:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&pragmaVtabModule)) + 24)) = pragmaVtabBestIndex // sqlite3.c:133120:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&pragmaVtabModule)) + 32)) = pragmaVtabDisconnect // sqlite3.c:133121:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&pragmaVtabModule)) + 48)) = pragmaVtabOpen // sqlite3.c:133123:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&pragmaVtabModule)) + 56)) = pragmaVtabClose // sqlite3.c:133124:3: + *(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&pragmaVtabModule)) + 64)) = pragmaVtabFilter // sqlite3.c:133125:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&pragmaVtabModule)) + 72)) = pragmaVtabNext // sqlite3.c:133126:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&pragmaVtabModule)) + 80)) = pragmaVtabEof // sqlite3.c:133127:3: + *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&pragmaVtabModule)) + 88)) = pragmaVtabColumn // sqlite3.c:133128:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&pragmaVtabModule)) + 96)) = pragmaVtabRowid // sqlite3.c:133129:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 8)) = rbuVfsClose // sqlite3.c:208688:5: + *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 16)) = rbuVfsRead // sqlite3.c:208689:5: + *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 24)) = rbuVfsWrite // sqlite3.c:208690:5: + *(*func(*libc.TLS, uintptr, Sqlite_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 32)) = rbuVfsTruncate // sqlite3.c:208691:5: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 40)) = rbuVfsSync // sqlite3.c:208692:5: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 48)) = rbuVfsFileSize // sqlite3.c:208693:5: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 56)) = rbuVfsLock // sqlite3.c:208694:5: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 64)) = rbuVfsUnlock // sqlite3.c:208695:5: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 72)) = rbuVfsCheckReservedLock // sqlite3.c:208696:5: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 80)) = rbuVfsFileControl // sqlite3.c:208697:5: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 88)) = rbuVfsSectorSize // sqlite3.c:208698:5: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 96)) = rbuVfsDeviceCharacteristics // sqlite3.c:208699:5: + *(*func(*libc.TLS, uintptr, int32, int32, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 104)) = rbuVfsShmMap // sqlite3.c:208700:5: + *(*func(*libc.TLS, uintptr, int32, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 112)) = rbuVfsShmLock // sqlite3.c:208701:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 120)) = rbuVfsShmBarrier // sqlite3.c:208702:5: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 128)) = rbuVfsShmUnmap // sqlite3.c:208703:5: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 8)) = rtreeCreate // sqlite3.c:199329:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 16)) = rtreeConnect // sqlite3.c:199330:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 24)) = rtreeBestIndex // sqlite3.c:199331:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 32)) = rtreeDisconnect // sqlite3.c:199332:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 40)) = rtreeDestroy // sqlite3.c:199333:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 48)) = rtreeOpen // sqlite3.c:199334:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 56)) = rtreeClose // sqlite3.c:199335:3: + *(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 64)) = rtreeFilter // sqlite3.c:199336:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 72)) = rtreeNext // sqlite3.c:199337:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 80)) = rtreeEof // sqlite3.c:199338:3: + *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 88)) = rtreeColumn // sqlite3.c:199339:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 96)) = rtreeRowid // sqlite3.c:199340:3: + *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 104)) = rtreeUpdate // sqlite3.c:199341:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 112)) = rtreeBeginTransaction // sqlite3.c:199342:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 120)) = rtreeEndTransaction // sqlite3.c:199343:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 128)) = rtreeEndTransaction // sqlite3.c:199344:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 136)) = rtreeEndTransaction // sqlite3.c:199345:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 152)) = rtreeRename // sqlite3.c:199347:3: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 160)) = rtreeSavepoint // sqlite3.c:199348:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 184)) = rtreeShadowName // sqlite3.c:199351:3: + *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 8)) = fts5ApiUserData // sqlite3.c:233916:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 16)) = fts5ApiColumnCount // sqlite3.c:233917:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 24)) = fts5ApiRowCount // sqlite3.c:233918:3: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 32)) = fts5ApiColumnTotalSize // sqlite3.c:233919:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 40)) = fts5ApiTokenize // sqlite3.c:233920:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 48)) = fts5ApiPhraseCount // sqlite3.c:233921:3: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 56)) = fts5ApiPhraseSize // sqlite3.c:233922:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 64)) = fts5ApiInstCount // sqlite3.c:233923:3: + *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 72)) = fts5ApiInst // sqlite3.c:233924:3: + *(*func(*libc.TLS, uintptr) Sqlite3_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 80)) = fts5ApiRowid // sqlite3.c:233925:3: + *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 88)) = fts5ApiColumnText // sqlite3.c:233926:3: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 96)) = fts5ApiColumnSize // sqlite3.c:233927:3: + *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 104)) = fts5ApiQueryPhrase // sqlite3.c:233928:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 112)) = fts5ApiSetAuxdata // sqlite3.c:233929:3: + *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 120)) = fts5ApiGetAuxdata // sqlite3.c:233930:3: + *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 128)) = fts5ApiPhraseFirst // sqlite3.c:233931:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 136)) = fts5ApiPhraseNext // sqlite3.c:233932:3: + *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 144)) = fts5ApiPhraseFirstColumn // sqlite3.c:233933:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 152)) = fts5ApiPhraseNextColumn // sqlite3.c:233934:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sMemJournalMethods)) + 8)) = memjrnlClose // sqlite3.c:100036:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sMemJournalMethods)) + 16)) = memjrnlRead // sqlite3.c:100037:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sMemJournalMethods)) + 24)) = memjrnlWrite // sqlite3.c:100038:3: + *(*func(*libc.TLS, uintptr, Sqlite_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sMemJournalMethods)) + 32)) = memjrnlTruncate // sqlite3.c:100039:3: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sMemJournalMethods)) + 40)) = memjrnlSync // sqlite3.c:100040:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sMemJournalMethods)) + 48)) = memjrnlFileSize // sqlite3.c:100041:3: *(*func(*libc.TLS) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sMutex)) + 0)) = noopMutexInit // sqlite3.c:27532:5: *(*func(*libc.TLS) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sMutex)) + 8)) = noopMutexEnd // sqlite3.c:27533:5: *(*func(*libc.TLS, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sMutex)) + 16)) = noopMutexAlloc // sqlite3.c:27534:5: @@ -196397,288 +196428,288 @@ func init() { *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sMutex)) + 32)) = noopMutexEnter // sqlite3.c:27536:5: *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sMutex)) + 40)) = noopMutexTry // sqlite3.c:27537:5: *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sMutex)) + 48)) = noopMutexLeave // sqlite3.c:27538:5: - *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 0)) = Xsqlite3_aggregate_context // sqlite3.c:129019:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 8)) = Xsqlite3_aggregate_count // sqlite3.c:129021:3: - *(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 16)) = Xsqlite3_bind_blob // sqlite3.c:129025:3: - *(*func(*libc.TLS, uintptr, int32, float64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 24)) = Xsqlite3_bind_double // sqlite3.c:129026:3: - *(*func(*libc.TLS, uintptr, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 32)) = Xsqlite3_bind_int // sqlite3.c:129027:3: - *(*func(*libc.TLS, uintptr, int32, Sqlite_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 40)) = Xsqlite3_bind_int64 // sqlite3.c:129028:3: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 48)) = Xsqlite3_bind_null // sqlite3.c:129029:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 56)) = Xsqlite3_bind_parameter_count // sqlite3.c:129030:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 64)) = Xsqlite3_bind_parameter_index // sqlite3.c:129031:3: - *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 72)) = Xsqlite3_bind_parameter_name // sqlite3.c:129032:3: - *(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 80)) = Xsqlite3_bind_text // sqlite3.c:129033:3: - *(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 88)) = Xsqlite3_bind_text16 // sqlite3.c:129034:3: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 96)) = Xsqlite3_bind_value // sqlite3.c:129035:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 104)) = Xsqlite3_busy_handler // sqlite3.c:129036:3: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 112)) = Xsqlite3_busy_timeout // sqlite3.c:129037:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 120)) = Xsqlite3_changes // sqlite3.c:129038:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 128)) = Xsqlite3_close // sqlite3.c:129039:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 136)) = Xsqlite3_collation_needed // sqlite3.c:129040:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 144)) = Xsqlite3_collation_needed16 // sqlite3.c:129041:3: - *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 152)) = Xsqlite3_column_blob // sqlite3.c:129042:3: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 160)) = Xsqlite3_column_bytes // sqlite3.c:129043:3: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 168)) = Xsqlite3_column_bytes16 // sqlite3.c:129044:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 176)) = Xsqlite3_column_count // sqlite3.c:129045:3: - *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 184)) = Xsqlite3_column_database_name // sqlite3.c:129046:3: - *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 192)) = Xsqlite3_column_database_name16 // sqlite3.c:129047:3: - *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 200)) = Xsqlite3_column_decltype // sqlite3.c:129048:3: - *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 208)) = Xsqlite3_column_decltype16 // sqlite3.c:129049:3: - *(*func(*libc.TLS, uintptr, int32) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 216)) = Xsqlite3_column_double // sqlite3.c:129050:3: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 224)) = Xsqlite3_column_int // sqlite3.c:129051:3: - *(*func(*libc.TLS, uintptr, int32) Sqlite_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 232)) = Xsqlite3_column_int64 // sqlite3.c:129052:3: - *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 240)) = Xsqlite3_column_name // sqlite3.c:129053:3: - *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 248)) = Xsqlite3_column_name16 // sqlite3.c:129054:3: - *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 256)) = Xsqlite3_column_origin_name // sqlite3.c:129055:3: - *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 264)) = Xsqlite3_column_origin_name16 // sqlite3.c:129056:3: - *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 272)) = Xsqlite3_column_table_name // sqlite3.c:129057:3: - *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 280)) = Xsqlite3_column_table_name16 // sqlite3.c:129058:3: - *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 288)) = Xsqlite3_column_text // sqlite3.c:129059:3: - *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 296)) = Xsqlite3_column_text16 // sqlite3.c:129060:3: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 304)) = Xsqlite3_column_type // sqlite3.c:129061:3: - *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 312)) = Xsqlite3_column_value // sqlite3.c:129062:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 320)) = Xsqlite3_commit_hook // sqlite3.c:129063:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 328)) = Xsqlite3_complete // sqlite3.c:129064:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 336)) = Xsqlite3_complete16 // sqlite3.c:129065:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 344)) = Xsqlite3_create_collation // sqlite3.c:129066:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 352)) = Xsqlite3_create_collation16 // sqlite3.c:129067:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, int32, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 360)) = Xsqlite3_create_function // sqlite3.c:129068:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, int32, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 368)) = Xsqlite3_create_function16 // sqlite3.c:129069:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 376)) = Xsqlite3_create_module // sqlite3.c:129070:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 384)) = Xsqlite3_data_count // sqlite3.c:129071:3: - *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 392)) = Xsqlite3_db_handle // sqlite3.c:129072:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 400)) = Xsqlite3_declare_vtab // sqlite3.c:129073:3: - *(*func(*libc.TLS, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 408)) = Xsqlite3_enable_shared_cache // sqlite3.c:129074:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 416)) = Xsqlite3_errcode // sqlite3.c:129075:3: - *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 424)) = Xsqlite3_errmsg // sqlite3.c:129076:3: - *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 432)) = Xsqlite3_errmsg16 // sqlite3.c:129077:3: - *(*func(*libc.TLS, uintptr, uintptr, Sqlite3_callback, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 440)) = Xsqlite3_exec // sqlite3.c:129078:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 448)) = Xsqlite3_expired // sqlite3.c:129080:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 456)) = Xsqlite3_finalize // sqlite3.c:129084:3: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 464)) = Xsqlite3_free // sqlite3.c:129085:3: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 472)) = Xsqlite3_free_table // sqlite3.c:129086:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 480)) = Xsqlite3_get_autocommit // sqlite3.c:129087:3: - *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 488)) = Xsqlite3_get_auxdata // sqlite3.c:129088:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 496)) = Xsqlite3_get_table // sqlite3.c:129089:3: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 512)) = Xsqlite3_interrupt // sqlite3.c:129091:3: - *(*func(*libc.TLS, uintptr) Sqlite3_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 520)) = Xsqlite3_last_insert_rowid // sqlite3.c:129092:3: - *(*func(*libc.TLS) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 528)) = Xsqlite3_libversion // sqlite3.c:129093:3: - *(*func(*libc.TLS) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 536)) = Xsqlite3_libversion_number // sqlite3.c:129094:3: - *(*func(*libc.TLS, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 544)) = Xsqlite3_malloc // sqlite3.c:129095:3: - *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 552)) = Xsqlite3_mprintf // sqlite3.c:129096:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 560)) = Xsqlite3_open // sqlite3.c:129097:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 568)) = Xsqlite3_open16 // sqlite3.c:129098:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 576)) = Xsqlite3_prepare // sqlite3.c:129099:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 584)) = Xsqlite3_prepare16 // sqlite3.c:129100:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 592)) = Xsqlite3_profile // sqlite3.c:129101:3: - *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 600)) = Xsqlite3_progress_handler // sqlite3.c:129102:3: - *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 608)) = Xsqlite3_realloc // sqlite3.c:129103:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 616)) = Xsqlite3_reset // sqlite3.c:129104:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 624)) = Xsqlite3_result_blob // sqlite3.c:129105:3: - *(*func(*libc.TLS, uintptr, float64))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 632)) = Xsqlite3_result_double // sqlite3.c:129106:3: - *(*func(*libc.TLS, uintptr, uintptr, int32))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 640)) = Xsqlite3_result_error // sqlite3.c:129107:3: - *(*func(*libc.TLS, uintptr, uintptr, int32))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 648)) = Xsqlite3_result_error16 // sqlite3.c:129108:3: - *(*func(*libc.TLS, uintptr, int32))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 656)) = Xsqlite3_result_int // sqlite3.c:129109:3: - *(*func(*libc.TLS, uintptr, I64))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 664)) = Xsqlite3_result_int64 // sqlite3.c:129110:3: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 672)) = Xsqlite3_result_null // sqlite3.c:129111:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 680)) = Xsqlite3_result_text // sqlite3.c:129112:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 688)) = Xsqlite3_result_text16 // sqlite3.c:129113:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 696)) = Xsqlite3_result_text16be // sqlite3.c:129114:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 704)) = Xsqlite3_result_text16le // sqlite3.c:129115:3: - *(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 712)) = Xsqlite3_result_value // sqlite3.c:129116:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 720)) = Xsqlite3_rollback_hook // sqlite3.c:129117:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 728)) = Xsqlite3_set_authorizer // sqlite3.c:129118:3: - *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 736)) = Xsqlite3_set_auxdata // sqlite3.c:129119:3: - *(*func(*libc.TLS, int32, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 744)) = Xsqlite3_snprintf // sqlite3.c:129120:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 752)) = Xsqlite3_step // sqlite3.c:129121:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr, uintptr, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 760)) = Xsqlite3_table_column_metadata // sqlite3.c:129122:3: - *(*func(*libc.TLS))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 768)) = Xsqlite3_thread_cleanup // sqlite3.c:129124:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 776)) = Xsqlite3_total_changes // sqlite3.c:129128:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 784)) = Xsqlite3_trace // sqlite3.c:129129:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 792)) = Xsqlite3_transfer_bindings // sqlite3.c:129131:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 800)) = Xsqlite3_update_hook // sqlite3.c:129135:3: - *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 808)) = Xsqlite3_user_data // sqlite3.c:129136:3: - *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 816)) = Xsqlite3_value_blob // sqlite3.c:129137:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 824)) = Xsqlite3_value_bytes // sqlite3.c:129138:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 832)) = Xsqlite3_value_bytes16 // sqlite3.c:129139:3: - *(*func(*libc.TLS, uintptr) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 840)) = Xsqlite3_value_double // sqlite3.c:129140:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 848)) = Xsqlite3_value_int // sqlite3.c:129141:3: - *(*func(*libc.TLS, uintptr) Sqlite_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 856)) = Xsqlite3_value_int64 // sqlite3.c:129142:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 864)) = Xsqlite3_value_numeric_type // sqlite3.c:129143:3: - *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 872)) = Xsqlite3_value_text // sqlite3.c:129144:3: - *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 880)) = Xsqlite3_value_text16 // sqlite3.c:129145:3: - *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 888)) = Xsqlite3_value_text16be // sqlite3.c:129146:3: - *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 896)) = Xsqlite3_value_text16le // sqlite3.c:129147:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 904)) = Xsqlite3_value_type // sqlite3.c:129148:3: - *(*func(*libc.TLS, uintptr, Va_list) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 912)) = Xsqlite3_vmprintf // sqlite3.c:129149:3: - *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 920)) = Xsqlite3_overload_function // sqlite3.c:129158:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 928)) = Xsqlite3_prepare_v2 // sqlite3.c:129163:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 936)) = Xsqlite3_prepare16_v2 // sqlite3.c:129164:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 944)) = Xsqlite3_clear_bindings // sqlite3.c:129165:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 952)) = Xsqlite3_create_module_v2 // sqlite3.c:129170:3: - *(*func(*libc.TLS, uintptr, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 960)) = Xsqlite3_bind_zeroblob // sqlite3.c:129175:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 968)) = Xsqlite3_blob_bytes // sqlite3.c:129176:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 976)) = Xsqlite3_blob_close // sqlite3.c:129177:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr, Sqlite_int64, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 984)) = Xsqlite3_blob_open // sqlite3.c:129178:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 992)) = Xsqlite3_blob_read // sqlite3.c:129179:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1000)) = Xsqlite3_blob_write // sqlite3.c:129180:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1008)) = Xsqlite3_create_collation_v2 // sqlite3.c:129181:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1016)) = Xsqlite3_file_control // sqlite3.c:129182:3: - *(*func(*libc.TLS, int32) Sqlite3_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1024)) = Xsqlite3_memory_highwater // sqlite3.c:129183:3: - *(*func(*libc.TLS) Sqlite3_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1032)) = Xsqlite3_memory_used // sqlite3.c:129184:3: - *(*func(*libc.TLS, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1040)) = Xsqlite3_mutex_alloc // sqlite3.c:129192:3: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1048)) = Xsqlite3_mutex_enter // sqlite3.c:129193:3: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1056)) = Xsqlite3_mutex_free // sqlite3.c:129194:3: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1064)) = Xsqlite3_mutex_leave // sqlite3.c:129195:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1072)) = Xsqlite3_mutex_try // sqlite3.c:129196:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1080)) = Xsqlite3_open_v2 // sqlite3.c:129198:3: - *(*func(*libc.TLS, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1088)) = Xsqlite3_release_memory // sqlite3.c:129199:3: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1096)) = Xsqlite3_result_error_nomem // sqlite3.c:129200:3: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1104)) = Xsqlite3_result_error_toobig // sqlite3.c:129201:3: - *(*func(*libc.TLS, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1112)) = Xsqlite3_sleep // sqlite3.c:129202:3: - *(*func(*libc.TLS, int32))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1120)) = Xsqlite3_soft_heap_limit // sqlite3.c:129203:3: - *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1128)) = Xsqlite3_vfs_find // sqlite3.c:129204:3: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1136)) = Xsqlite3_vfs_register // sqlite3.c:129205:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1144)) = Xsqlite3_vfs_unregister // sqlite3.c:129206:3: - *(*func(*libc.TLS) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1152)) = Xsqlite3_threadsafe // sqlite3.c:129211:3: - *(*func(*libc.TLS, uintptr, int32))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1160)) = Xsqlite3_result_zeroblob // sqlite3.c:129212:3: - *(*func(*libc.TLS, uintptr, int32))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1168)) = Xsqlite3_result_error_code // sqlite3.c:129213:3: - *(*func(*libc.TLS, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1176)) = Xsqlite3_test_control // sqlite3.c:129214:3: - *(*func(*libc.TLS, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1184)) = Xsqlite3_randomness // sqlite3.c:129215:3: - *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1192)) = Xsqlite3_context_db_handle // sqlite3.c:129216:3: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1200)) = Xsqlite3_extended_result_codes // sqlite3.c:129221:3: - *(*func(*libc.TLS, uintptr, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1208)) = Xsqlite3_limit // sqlite3.c:129222:3: - *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1216)) = Xsqlite3_next_stmt // sqlite3.c:129223:3: - *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1224)) = Xsqlite3_sql // sqlite3.c:129224:3: - *(*func(*libc.TLS, int32, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1232)) = Xsqlite3_status // sqlite3.c:129225:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1240)) = Xsqlite3_backup_finish // sqlite3.c:129230:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1248)) = Xsqlite3_backup_init // sqlite3.c:129231:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1256)) = Xsqlite3_backup_pagecount // sqlite3.c:129232:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1264)) = Xsqlite3_backup_remaining // sqlite3.c:129233:3: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1272)) = Xsqlite3_backup_step // sqlite3.c:129234:3: - *(*func(*libc.TLS, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1280)) = Xsqlite3_compileoption_get // sqlite3.c:129236:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1288)) = Xsqlite3_compileoption_used // sqlite3.c:129237:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, int32, uintptr, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1296)) = Xsqlite3_create_function_v2 // sqlite3.c:129242:3: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1304)) = Xsqlite3_db_config // sqlite3.c:129243:3: - *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1312)) = Xsqlite3_db_mutex // sqlite3.c:129244:3: - *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1320)) = Xsqlite3_db_status // sqlite3.c:129245:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1328)) = Xsqlite3_extended_errcode // sqlite3.c:129246:3: - *(*func(*libc.TLS, int32, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1336)) = Xsqlite3_log // sqlite3.c:129247:3: - *(*func(*libc.TLS, Sqlite3_int64) Sqlite3_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1344)) = Xsqlite3_soft_heap_limit64 // sqlite3.c:129248:3: - *(*func(*libc.TLS) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1352)) = Xsqlite3_sourceid // sqlite3.c:129249:3: - *(*func(*libc.TLS, uintptr, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1360)) = Xsqlite3_stmt_status // sqlite3.c:129250:3: - *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1368)) = Xsqlite3_strnicmp // sqlite3.c:129251:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1376)) = Xsqlite3_unlock_notify // sqlite3.c:129253:3: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1384)) = Xsqlite3_wal_autocheckpoint // sqlite3.c:129258:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1392)) = Xsqlite3_wal_checkpoint // sqlite3.c:129259:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1400)) = Xsqlite3_wal_hook // sqlite3.c:129260:3: - *(*func(*libc.TLS, uintptr, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1408)) = Xsqlite3_blob_reopen // sqlite3.c:129266:3: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1416)) = Xsqlite3_vtab_config // sqlite3.c:129267:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1424)) = Xsqlite3_vtab_on_conflict // sqlite3.c:129268:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1432)) = Xsqlite3_close_v2 // sqlite3.c:129269:3: - *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1440)) = Xsqlite3_db_filename // sqlite3.c:129270:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1448)) = Xsqlite3_db_readonly // sqlite3.c:129271:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1456)) = Xsqlite3_db_release_memory // sqlite3.c:129272:3: - *(*func(*libc.TLS, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1464)) = Xsqlite3_errstr // sqlite3.c:129273:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1472)) = Xsqlite3_stmt_busy // sqlite3.c:129274:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1480)) = Xsqlite3_stmt_readonly // sqlite3.c:129275:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1488)) = Xsqlite3_stricmp // sqlite3.c:129276:3: - *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1496)) = Xsqlite3_uri_boolean // sqlite3.c:129277:3: - *(*func(*libc.TLS, uintptr, uintptr, Sqlite3_int64) Sqlite3_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1504)) = Xsqlite3_uri_int64 // sqlite3.c:129278:3: - *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1512)) = Xsqlite3_uri_parameter // sqlite3.c:129279:3: - *(*func(*libc.TLS, int32, uintptr, uintptr, Va_list) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1520)) = Xsqlite3_vsnprintf // sqlite3.c:129280:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1528)) = Xsqlite3_wal_checkpoint_v2 // sqlite3.c:129281:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1536)) = Xsqlite3_auto_extension // sqlite3.c:129283:3: - *(*func(*libc.TLS, uintptr, int32, uintptr, Sqlite3_uint64, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1544)) = Xsqlite3_bind_blob64 // sqlite3.c:129284:3: - *(*func(*libc.TLS, uintptr, int32, uintptr, Sqlite3_uint64, uintptr, uint8) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1552)) = Xsqlite3_bind_text64 // sqlite3.c:129285:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1560)) = Xsqlite3_cancel_auto_extension // sqlite3.c:129286:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1568)) = Xsqlite3_load_extension // sqlite3.c:129287:3: - *(*func(*libc.TLS, Sqlite3_uint64) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1576)) = Xsqlite3_malloc64 // sqlite3.c:129288:3: - *(*func(*libc.TLS, uintptr) Sqlite3_uint64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1584)) = Xsqlite3_msize // sqlite3.c:129289:3: - *(*func(*libc.TLS, uintptr, Sqlite3_uint64) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1592)) = Xsqlite3_realloc64 // sqlite3.c:129290:3: - *(*func(*libc.TLS))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1600)) = Xsqlite3_reset_auto_extension // sqlite3.c:129291:3: - *(*func(*libc.TLS, uintptr, uintptr, Sqlite3_uint64, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1608)) = Xsqlite3_result_blob64 // sqlite3.c:129292:3: - *(*func(*libc.TLS, uintptr, uintptr, Sqlite3_uint64, uintptr, uint8))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1616)) = Xsqlite3_result_text64 // sqlite3.c:129293:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1624)) = Xsqlite3_strglob // sqlite3.c:129294:3: + *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 0)) = Xsqlite3_aggregate_context // sqlite3.c:129032:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 8)) = Xsqlite3_aggregate_count // sqlite3.c:129034:3: + *(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 16)) = Xsqlite3_bind_blob // sqlite3.c:129038:3: + *(*func(*libc.TLS, uintptr, int32, float64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 24)) = Xsqlite3_bind_double // sqlite3.c:129039:3: + *(*func(*libc.TLS, uintptr, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 32)) = Xsqlite3_bind_int // sqlite3.c:129040:3: + *(*func(*libc.TLS, uintptr, int32, Sqlite_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 40)) = Xsqlite3_bind_int64 // sqlite3.c:129041:3: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 48)) = Xsqlite3_bind_null // sqlite3.c:129042:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 56)) = Xsqlite3_bind_parameter_count // sqlite3.c:129043:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 64)) = Xsqlite3_bind_parameter_index // sqlite3.c:129044:3: + *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 72)) = Xsqlite3_bind_parameter_name // sqlite3.c:129045:3: + *(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 80)) = Xsqlite3_bind_text // sqlite3.c:129046:3: + *(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 88)) = Xsqlite3_bind_text16 // sqlite3.c:129047:3: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 96)) = Xsqlite3_bind_value // sqlite3.c:129048:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 104)) = Xsqlite3_busy_handler // sqlite3.c:129049:3: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 112)) = Xsqlite3_busy_timeout // sqlite3.c:129050:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 120)) = Xsqlite3_changes // sqlite3.c:129051:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 128)) = Xsqlite3_close // sqlite3.c:129052:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 136)) = Xsqlite3_collation_needed // sqlite3.c:129053:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 144)) = Xsqlite3_collation_needed16 // sqlite3.c:129054:3: + *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 152)) = Xsqlite3_column_blob // sqlite3.c:129055:3: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 160)) = Xsqlite3_column_bytes // sqlite3.c:129056:3: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 168)) = Xsqlite3_column_bytes16 // sqlite3.c:129057:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 176)) = Xsqlite3_column_count // sqlite3.c:129058:3: + *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 184)) = Xsqlite3_column_database_name // sqlite3.c:129059:3: + *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 192)) = Xsqlite3_column_database_name16 // sqlite3.c:129060:3: + *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 200)) = Xsqlite3_column_decltype // sqlite3.c:129061:3: + *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 208)) = Xsqlite3_column_decltype16 // sqlite3.c:129062:3: + *(*func(*libc.TLS, uintptr, int32) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 216)) = Xsqlite3_column_double // sqlite3.c:129063:3: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 224)) = Xsqlite3_column_int // sqlite3.c:129064:3: + *(*func(*libc.TLS, uintptr, int32) Sqlite_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 232)) = Xsqlite3_column_int64 // sqlite3.c:129065:3: + *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 240)) = Xsqlite3_column_name // sqlite3.c:129066:3: + *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 248)) = Xsqlite3_column_name16 // sqlite3.c:129067:3: + *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 256)) = Xsqlite3_column_origin_name // sqlite3.c:129068:3: + *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 264)) = Xsqlite3_column_origin_name16 // sqlite3.c:129069:3: + *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 272)) = Xsqlite3_column_table_name // sqlite3.c:129070:3: + *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 280)) = Xsqlite3_column_table_name16 // sqlite3.c:129071:3: + *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 288)) = Xsqlite3_column_text // sqlite3.c:129072:3: + *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 296)) = Xsqlite3_column_text16 // sqlite3.c:129073:3: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 304)) = Xsqlite3_column_type // sqlite3.c:129074:3: + *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 312)) = Xsqlite3_column_value // sqlite3.c:129075:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 320)) = Xsqlite3_commit_hook // sqlite3.c:129076:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 328)) = Xsqlite3_complete // sqlite3.c:129077:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 336)) = Xsqlite3_complete16 // sqlite3.c:129078:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 344)) = Xsqlite3_create_collation // sqlite3.c:129079:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 352)) = Xsqlite3_create_collation16 // sqlite3.c:129080:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, int32, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 360)) = Xsqlite3_create_function // sqlite3.c:129081:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, int32, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 368)) = Xsqlite3_create_function16 // sqlite3.c:129082:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 376)) = Xsqlite3_create_module // sqlite3.c:129083:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 384)) = Xsqlite3_data_count // sqlite3.c:129084:3: + *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 392)) = Xsqlite3_db_handle // sqlite3.c:129085:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 400)) = Xsqlite3_declare_vtab // sqlite3.c:129086:3: + *(*func(*libc.TLS, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 408)) = Xsqlite3_enable_shared_cache // sqlite3.c:129087:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 416)) = Xsqlite3_errcode // sqlite3.c:129088:3: + *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 424)) = Xsqlite3_errmsg // sqlite3.c:129089:3: + *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 432)) = Xsqlite3_errmsg16 // sqlite3.c:129090:3: + *(*func(*libc.TLS, uintptr, uintptr, Sqlite3_callback, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 440)) = Xsqlite3_exec // sqlite3.c:129091:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 448)) = Xsqlite3_expired // sqlite3.c:129093:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 456)) = Xsqlite3_finalize // sqlite3.c:129097:3: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 464)) = Xsqlite3_free // sqlite3.c:129098:3: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 472)) = Xsqlite3_free_table // sqlite3.c:129099:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 480)) = Xsqlite3_get_autocommit // sqlite3.c:129100:3: + *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 488)) = Xsqlite3_get_auxdata // sqlite3.c:129101:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 496)) = Xsqlite3_get_table // sqlite3.c:129102:3: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 512)) = Xsqlite3_interrupt // sqlite3.c:129104:3: + *(*func(*libc.TLS, uintptr) Sqlite3_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 520)) = Xsqlite3_last_insert_rowid // sqlite3.c:129105:3: + *(*func(*libc.TLS) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 528)) = Xsqlite3_libversion // sqlite3.c:129106:3: + *(*func(*libc.TLS) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 536)) = Xsqlite3_libversion_number // sqlite3.c:129107:3: + *(*func(*libc.TLS, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 544)) = Xsqlite3_malloc // sqlite3.c:129108:3: + *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 552)) = Xsqlite3_mprintf // sqlite3.c:129109:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 560)) = Xsqlite3_open // sqlite3.c:129110:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 568)) = Xsqlite3_open16 // sqlite3.c:129111:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 576)) = Xsqlite3_prepare // sqlite3.c:129112:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 584)) = Xsqlite3_prepare16 // sqlite3.c:129113:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 592)) = Xsqlite3_profile // sqlite3.c:129114:3: + *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 600)) = Xsqlite3_progress_handler // sqlite3.c:129115:3: + *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 608)) = Xsqlite3_realloc // sqlite3.c:129116:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 616)) = Xsqlite3_reset // sqlite3.c:129117:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 624)) = Xsqlite3_result_blob // sqlite3.c:129118:3: + *(*func(*libc.TLS, uintptr, float64))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 632)) = Xsqlite3_result_double // sqlite3.c:129119:3: + *(*func(*libc.TLS, uintptr, uintptr, int32))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 640)) = Xsqlite3_result_error // sqlite3.c:129120:3: + *(*func(*libc.TLS, uintptr, uintptr, int32))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 648)) = Xsqlite3_result_error16 // sqlite3.c:129121:3: + *(*func(*libc.TLS, uintptr, int32))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 656)) = Xsqlite3_result_int // sqlite3.c:129122:3: + *(*func(*libc.TLS, uintptr, I64))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 664)) = Xsqlite3_result_int64 // sqlite3.c:129123:3: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 672)) = Xsqlite3_result_null // sqlite3.c:129124:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 680)) = Xsqlite3_result_text // sqlite3.c:129125:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 688)) = Xsqlite3_result_text16 // sqlite3.c:129126:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 696)) = Xsqlite3_result_text16be // sqlite3.c:129127:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 704)) = Xsqlite3_result_text16le // sqlite3.c:129128:3: + *(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 712)) = Xsqlite3_result_value // sqlite3.c:129129:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 720)) = Xsqlite3_rollback_hook // sqlite3.c:129130:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 728)) = Xsqlite3_set_authorizer // sqlite3.c:129131:3: + *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 736)) = Xsqlite3_set_auxdata // sqlite3.c:129132:3: + *(*func(*libc.TLS, int32, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 744)) = Xsqlite3_snprintf // sqlite3.c:129133:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 752)) = Xsqlite3_step // sqlite3.c:129134:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr, uintptr, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 760)) = Xsqlite3_table_column_metadata // sqlite3.c:129135:3: + *(*func(*libc.TLS))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 768)) = Xsqlite3_thread_cleanup // sqlite3.c:129137:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 776)) = Xsqlite3_total_changes // sqlite3.c:129141:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 784)) = Xsqlite3_trace // sqlite3.c:129142:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 792)) = Xsqlite3_transfer_bindings // sqlite3.c:129144:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 800)) = Xsqlite3_update_hook // sqlite3.c:129148:3: + *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 808)) = Xsqlite3_user_data // sqlite3.c:129149:3: + *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 816)) = Xsqlite3_value_blob // sqlite3.c:129150:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 824)) = Xsqlite3_value_bytes // sqlite3.c:129151:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 832)) = Xsqlite3_value_bytes16 // sqlite3.c:129152:3: + *(*func(*libc.TLS, uintptr) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 840)) = Xsqlite3_value_double // sqlite3.c:129153:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 848)) = Xsqlite3_value_int // sqlite3.c:129154:3: + *(*func(*libc.TLS, uintptr) Sqlite_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 856)) = Xsqlite3_value_int64 // sqlite3.c:129155:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 864)) = Xsqlite3_value_numeric_type // sqlite3.c:129156:3: + *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 872)) = Xsqlite3_value_text // sqlite3.c:129157:3: + *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 880)) = Xsqlite3_value_text16 // sqlite3.c:129158:3: + *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 888)) = Xsqlite3_value_text16be // sqlite3.c:129159:3: + *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 896)) = Xsqlite3_value_text16le // sqlite3.c:129160:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 904)) = Xsqlite3_value_type // sqlite3.c:129161:3: + *(*func(*libc.TLS, uintptr, Va_list) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 912)) = Xsqlite3_vmprintf // sqlite3.c:129162:3: + *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 920)) = Xsqlite3_overload_function // sqlite3.c:129171:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 928)) = Xsqlite3_prepare_v2 // sqlite3.c:129176:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 936)) = Xsqlite3_prepare16_v2 // sqlite3.c:129177:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 944)) = Xsqlite3_clear_bindings // sqlite3.c:129178:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 952)) = Xsqlite3_create_module_v2 // sqlite3.c:129183:3: + *(*func(*libc.TLS, uintptr, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 960)) = Xsqlite3_bind_zeroblob // sqlite3.c:129188:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 968)) = Xsqlite3_blob_bytes // sqlite3.c:129189:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 976)) = Xsqlite3_blob_close // sqlite3.c:129190:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr, Sqlite_int64, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 984)) = Xsqlite3_blob_open // sqlite3.c:129191:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 992)) = Xsqlite3_blob_read // sqlite3.c:129192:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1000)) = Xsqlite3_blob_write // sqlite3.c:129193:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1008)) = Xsqlite3_create_collation_v2 // sqlite3.c:129194:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1016)) = Xsqlite3_file_control // sqlite3.c:129195:3: + *(*func(*libc.TLS, int32) Sqlite3_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1024)) = Xsqlite3_memory_highwater // sqlite3.c:129196:3: + *(*func(*libc.TLS) Sqlite3_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1032)) = Xsqlite3_memory_used // sqlite3.c:129197:3: + *(*func(*libc.TLS, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1040)) = Xsqlite3_mutex_alloc // sqlite3.c:129205:3: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1048)) = Xsqlite3_mutex_enter // sqlite3.c:129206:3: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1056)) = Xsqlite3_mutex_free // sqlite3.c:129207:3: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1064)) = Xsqlite3_mutex_leave // sqlite3.c:129208:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1072)) = Xsqlite3_mutex_try // sqlite3.c:129209:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1080)) = Xsqlite3_open_v2 // sqlite3.c:129211:3: + *(*func(*libc.TLS, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1088)) = Xsqlite3_release_memory // sqlite3.c:129212:3: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1096)) = Xsqlite3_result_error_nomem // sqlite3.c:129213:3: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1104)) = Xsqlite3_result_error_toobig // sqlite3.c:129214:3: + *(*func(*libc.TLS, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1112)) = Xsqlite3_sleep // sqlite3.c:129215:3: + *(*func(*libc.TLS, int32))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1120)) = Xsqlite3_soft_heap_limit // sqlite3.c:129216:3: + *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1128)) = Xsqlite3_vfs_find // sqlite3.c:129217:3: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1136)) = Xsqlite3_vfs_register // sqlite3.c:129218:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1144)) = Xsqlite3_vfs_unregister // sqlite3.c:129219:3: + *(*func(*libc.TLS) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1152)) = Xsqlite3_threadsafe // sqlite3.c:129224:3: + *(*func(*libc.TLS, uintptr, int32))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1160)) = Xsqlite3_result_zeroblob // sqlite3.c:129225:3: + *(*func(*libc.TLS, uintptr, int32))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1168)) = Xsqlite3_result_error_code // sqlite3.c:129226:3: + *(*func(*libc.TLS, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1176)) = Xsqlite3_test_control // sqlite3.c:129227:3: + *(*func(*libc.TLS, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1184)) = Xsqlite3_randomness // sqlite3.c:129228:3: + *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1192)) = Xsqlite3_context_db_handle // sqlite3.c:129229:3: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1200)) = Xsqlite3_extended_result_codes // sqlite3.c:129234:3: + *(*func(*libc.TLS, uintptr, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1208)) = Xsqlite3_limit // sqlite3.c:129235:3: + *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1216)) = Xsqlite3_next_stmt // sqlite3.c:129236:3: + *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1224)) = Xsqlite3_sql // sqlite3.c:129237:3: + *(*func(*libc.TLS, int32, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1232)) = Xsqlite3_status // sqlite3.c:129238:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1240)) = Xsqlite3_backup_finish // sqlite3.c:129243:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1248)) = Xsqlite3_backup_init // sqlite3.c:129244:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1256)) = Xsqlite3_backup_pagecount // sqlite3.c:129245:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1264)) = Xsqlite3_backup_remaining // sqlite3.c:129246:3: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1272)) = Xsqlite3_backup_step // sqlite3.c:129247:3: + *(*func(*libc.TLS, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1280)) = Xsqlite3_compileoption_get // sqlite3.c:129249:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1288)) = Xsqlite3_compileoption_used // sqlite3.c:129250:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, int32, uintptr, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1296)) = Xsqlite3_create_function_v2 // sqlite3.c:129255:3: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1304)) = Xsqlite3_db_config // sqlite3.c:129256:3: + *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1312)) = Xsqlite3_db_mutex // sqlite3.c:129257:3: + *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1320)) = Xsqlite3_db_status // sqlite3.c:129258:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1328)) = Xsqlite3_extended_errcode // sqlite3.c:129259:3: + *(*func(*libc.TLS, int32, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1336)) = Xsqlite3_log // sqlite3.c:129260:3: + *(*func(*libc.TLS, Sqlite3_int64) Sqlite3_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1344)) = Xsqlite3_soft_heap_limit64 // sqlite3.c:129261:3: + *(*func(*libc.TLS) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1352)) = Xsqlite3_sourceid // sqlite3.c:129262:3: + *(*func(*libc.TLS, uintptr, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1360)) = Xsqlite3_stmt_status // sqlite3.c:129263:3: + *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1368)) = Xsqlite3_strnicmp // sqlite3.c:129264:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1376)) = Xsqlite3_unlock_notify // sqlite3.c:129266:3: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1384)) = Xsqlite3_wal_autocheckpoint // sqlite3.c:129271:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1392)) = Xsqlite3_wal_checkpoint // sqlite3.c:129272:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1400)) = Xsqlite3_wal_hook // sqlite3.c:129273:3: + *(*func(*libc.TLS, uintptr, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1408)) = Xsqlite3_blob_reopen // sqlite3.c:129279:3: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1416)) = Xsqlite3_vtab_config // sqlite3.c:129280:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1424)) = Xsqlite3_vtab_on_conflict // sqlite3.c:129281:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1432)) = Xsqlite3_close_v2 // sqlite3.c:129282:3: + *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1440)) = Xsqlite3_db_filename // sqlite3.c:129283:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1448)) = Xsqlite3_db_readonly // sqlite3.c:129284:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1456)) = Xsqlite3_db_release_memory // sqlite3.c:129285:3: + *(*func(*libc.TLS, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1464)) = Xsqlite3_errstr // sqlite3.c:129286:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1472)) = Xsqlite3_stmt_busy // sqlite3.c:129287:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1480)) = Xsqlite3_stmt_readonly // sqlite3.c:129288:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1488)) = Xsqlite3_stricmp // sqlite3.c:129289:3: + *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1496)) = Xsqlite3_uri_boolean // sqlite3.c:129290:3: + *(*func(*libc.TLS, uintptr, uintptr, Sqlite3_int64) Sqlite3_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1504)) = Xsqlite3_uri_int64 // sqlite3.c:129291:3: + *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1512)) = Xsqlite3_uri_parameter // sqlite3.c:129292:3: + *(*func(*libc.TLS, int32, uintptr, uintptr, Va_list) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1520)) = Xsqlite3_vsnprintf // sqlite3.c:129293:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1528)) = Xsqlite3_wal_checkpoint_v2 // sqlite3.c:129294:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1536)) = Xsqlite3_auto_extension // sqlite3.c:129296:3: + *(*func(*libc.TLS, uintptr, int32, uintptr, Sqlite3_uint64, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1544)) = Xsqlite3_bind_blob64 // sqlite3.c:129297:3: + *(*func(*libc.TLS, uintptr, int32, uintptr, Sqlite3_uint64, uintptr, uint8) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1552)) = Xsqlite3_bind_text64 // sqlite3.c:129298:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1560)) = Xsqlite3_cancel_auto_extension // sqlite3.c:129299:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1568)) = Xsqlite3_load_extension // sqlite3.c:129300:3: + *(*func(*libc.TLS, Sqlite3_uint64) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1576)) = Xsqlite3_malloc64 // sqlite3.c:129301:3: + *(*func(*libc.TLS, uintptr) Sqlite3_uint64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1584)) = Xsqlite3_msize // sqlite3.c:129302:3: + *(*func(*libc.TLS, uintptr, Sqlite3_uint64) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1592)) = Xsqlite3_realloc64 // sqlite3.c:129303:3: + *(*func(*libc.TLS))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1600)) = Xsqlite3_reset_auto_extension // sqlite3.c:129304:3: + *(*func(*libc.TLS, uintptr, uintptr, Sqlite3_uint64, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1608)) = Xsqlite3_result_blob64 // sqlite3.c:129305:3: + *(*func(*libc.TLS, uintptr, uintptr, Sqlite3_uint64, uintptr, uint8))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1616)) = Xsqlite3_result_text64 // sqlite3.c:129306:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1624)) = Xsqlite3_strglob // sqlite3.c:129307:3: *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1632 /* .value_dup */)) = *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr) uintptr - }{Xsqlite3_value_dup})) // sqlite3.c:129296:3: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1640)) = Xsqlite3_value_free // sqlite3.c:129297:3: - *(*func(*libc.TLS, uintptr, U64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1648)) = Xsqlite3_result_zeroblob64 // sqlite3.c:129298:3: - *(*func(*libc.TLS, uintptr, int32, Sqlite3_uint64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1656)) = Xsqlite3_bind_zeroblob64 // sqlite3.c:129299:3: - *(*func(*libc.TLS, uintptr) uint32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1664)) = Xsqlite3_value_subtype // sqlite3.c:129301:3: - *(*func(*libc.TLS, uintptr, uint32))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1672)) = Xsqlite3_result_subtype // sqlite3.c:129302:3: - *(*func(*libc.TLS, int32, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1680)) = Xsqlite3_status64 // sqlite3.c:129304:3: - *(*func(*libc.TLS, uintptr, uintptr, uint32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1688)) = Xsqlite3_strlike // sqlite3.c:129305:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1696)) = Xsqlite3_db_cacheflush // sqlite3.c:129306:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1704)) = Xsqlite3_system_errno // sqlite3.c:129308:3: - *(*func(*libc.TLS, uintptr, uint32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1712)) = Xsqlite3_trace_v2 // sqlite3.c:129310:3: - *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1720)) = Xsqlite3_expanded_sql // sqlite3.c:129311:3: - *(*func(*libc.TLS, uintptr, Sqlite3_int64))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1728)) = Xsqlite3_set_last_insert_rowid // sqlite3.c:129313:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uint32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1736)) = Xsqlite3_prepare_v3 // sqlite3.c:129315:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uint32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1744)) = Xsqlite3_prepare16_v3 // sqlite3.c:129316:3: - *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1752)) = Xsqlite3_bind_pointer // sqlite3.c:129317:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1760)) = Xsqlite3_result_pointer // sqlite3.c:129318:3: - *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1768)) = Xsqlite3_value_pointer // sqlite3.c:129319:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1776)) = Xsqlite3_vtab_nochange // sqlite3.c:129321:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1784)) = Xsqlite3_value_nochange // sqlite3.c:129322:3: - *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1792)) = Xsqlite3_vtab_collation // sqlite3.c:129323:3: - *(*func(*libc.TLS) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1800)) = Xsqlite3_keyword_count // sqlite3.c:129325:3: - *(*func(*libc.TLS, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1808)) = Xsqlite3_keyword_name // sqlite3.c:129326:3: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1816)) = Xsqlite3_keyword_check // sqlite3.c:129327:3: - *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1824)) = Xsqlite3_str_new // sqlite3.c:129328:3: - *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1832)) = Xsqlite3_str_finish // sqlite3.c:129329:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1840)) = Xsqlite3_str_appendf // sqlite3.c:129330:3: - *(*func(*libc.TLS, uintptr, uintptr, Va_list))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1848)) = Xsqlite3_str_vappendf // sqlite3.c:129331:3: - *(*func(*libc.TLS, uintptr, uintptr, int32))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1856)) = Xsqlite3_str_append // sqlite3.c:129332:3: - *(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1864)) = Xsqlite3_str_appendall // sqlite3.c:129333:3: - *(*func(*libc.TLS, uintptr, int32, uint8))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1872)) = Xsqlite3_str_appendchar // sqlite3.c:129334:3: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1880)) = Xsqlite3_str_reset // sqlite3.c:129335:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1888)) = Xsqlite3_str_errcode // sqlite3.c:129336:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1896)) = Xsqlite3_str_length // sqlite3.c:129337:3: - *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1904)) = Xsqlite3_str_value // sqlite3.c:129338:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, int32, uintptr, uintptr, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1912)) = Xsqlite3_create_window_function // sqlite3.c:129340:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1928)) = Xsqlite3_stmt_isexplain // sqlite3.c:129348:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1936)) = Xsqlite3_value_frombind // sqlite3.c:129349:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1944)) = Xsqlite3_drop_modules // sqlite3.c:129352:3: - *(*func(*libc.TLS, Sqlite3_int64) Sqlite3_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1952)) = Xsqlite3_hard_heap_limit64 // sqlite3.c:129357:3: - *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1960)) = Xsqlite3_uri_key // sqlite3.c:129358:3: - *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1968)) = Xsqlite3_filename_database // sqlite3.c:129359:3: - *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1976)) = Xsqlite3_filename_journal // sqlite3.c:129360:3: - *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1984)) = Xsqlite3_filename_wal // sqlite3.c:129361:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1992)) = Xsqlite3_create_filename // sqlite3.c:129363:3: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 2000)) = Xsqlite3_free_filename // sqlite3.c:129364:3: - *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 2008)) = Xsqlite3_database_file_object // sqlite3.c:129365:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 2016)) = Xsqlite3_txn_state // sqlite3.c:129367:3: - *(*func(*libc.TLS, uintptr) Sqlite3_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 2024)) = Xsqlite3_changes64 // sqlite3.c:129369:3: - *(*func(*libc.TLS, uintptr) Sqlite3_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 2032)) = Xsqlite3_total_changes64 // sqlite3.c:129370:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 2040)) = Xsqlite3_autovacuum_pages // sqlite3.c:129372:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 2048)) = Xsqlite3_error_offset // sqlite3.c:129374:3: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 2056)) = Xsqlite3_vtab_rhs_value // sqlite3.c:129375:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 2064)) = Xsqlite3_vtab_distinct // sqlite3.c:129376:3: - *(*func(*libc.TLS, uintptr, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 2072)) = Xsqlite3_vtab_in // sqlite3.c:129377:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 2080)) = Xsqlite3_vtab_in_first // sqlite3.c:129378:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 2088)) = Xsqlite3_vtab_in_next // sqlite3.c:129379:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3BuiltinExtensions)) + 0)) = Xsqlite3Fts5Init // sqlite3.c:168488:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3BuiltinExtensions)) + 8)) = Xsqlite3RtreeInit // sqlite3.c:168494:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3BuiltinExtensions)) + 16)) = sqlite3TestExtInit // sqlite3.c:168502:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3BuiltinExtensions)) + 24)) = Xsqlite3JsonTableFunctions // sqlite3.c:168504:3: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&statGetFuncdef)) + 24)) = statGet // sqlite3.c:111993:3: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&statInitFuncdef)) + 24)) = statInit // sqlite3.c:111569:3: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&statPushFuncdef)) + 24)) = statPush // sqlite3.c:111859:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 40)) = rbuVfsOpen // sqlite3.c:208888:5: - *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 48)) = rbuVfsDelete // sqlite3.c:208889:5: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 56)) = rbuVfsAccess // sqlite3.c:208890:5: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 64)) = rbuVfsFullPathname // sqlite3.c:208891:5: - *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 72)) = rbuVfsDlOpen // sqlite3.c:208894:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 80)) = rbuVfsDlError // sqlite3.c:208895:5: - *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 88)) = rbuVfsDlSym // sqlite3.c:208896:5: - *(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 96)) = rbuVfsDlClose // sqlite3.c:208897:5: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 104)) = rbuVfsRandomness // sqlite3.c:208902:5: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 112)) = rbuVfsSleep // sqlite3.c:208903:5: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 120)) = rbuVfsCurrentTime // sqlite3.c:208904:5: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 128)) = rbuVfsGetLastError // sqlite3.c:208905:5: -} - -var ts1 = "3.38.1\x00ATOMIC_INTRINSICS=1\x00COMPILER=gcc-11.2.0\x00DEFAULT_AUTOVACUUM\x00DEFAULT_CACHE_SIZE=-2000\x00DEFAULT_FILE_FORMAT=4\x00DEFAULT_JOURNAL_SIZE_LIMIT=-1\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\x00ENABLE_COLUMN_METADATA\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=127\x00MAX_LENGTH=1000000000\x00MAX_LIKE_PATTERN_LENGTH=50000\x00MAX_MMAP_SIZE=0x7fff0000\x00MAX_PAGE_COUNT=1073741823\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\x00BINARY\x00ANY\x00BLOB\x00INT\x00INTEGER\x00REAL\x00TEXT\x0020b:20e\x0020c:20e\x0020e\x0040f-21a-21d\x00now\x00local time unavailable\x00second\x00minute\x00hour\x00\x00\x00day\x00\x00\x00\x00month\x00\x00year\x00\x00\x00auto\x00julianday\x00localtime\x00unixepoch\x00utc\x00weekday \x00start of \x00month\x00year\x00day\x00%02d\x00%06.3f\x00%03d\x00%.16g\x00%lld\x00%04d\x00date\x00time\x00datetime\x00strftime\x00current_time\x00current_timestamp\x00current_date\x00failed to allocate %u bytes of memory\x00failed memory resize %u to %u bytes\x00out of memory\x000123456789ABCDEF0123456789abcdef\x00-x0\x00X0\x00%\x00NaN\x00Inf\x00\x00NULL\x00(NULL)\x00.\x00SUBQUERY %u\x00thstndrd\x00922337203685477580\x00API call with %s database connection pointer\x00unopened\x00invalid\x00Savepoint\x00AutoCommit\x00Transaction\x00SorterNext\x00Prev\x00Next\x00Checkpoint\x00JournalMode\x00Vacuum\x00VFilter\x00VUpdate\x00Goto\x00Gosub\x00InitCoroutine\x00Yield\x00MustBeInt\x00Jump\x00Once\x00If\x00Not\x00IfNot\x00IsNullOrType\x00IfNullRow\x00SeekLT\x00SeekLE\x00SeekGE\x00SeekGT\x00IfNotOpen\x00IfNoHope\x00NoConflict\x00NotFound\x00Found\x00SeekRowid\x00NotExists\x00Last\x00IfSmaller\x00SorterSort\x00Sort\x00Rewind\x00IdxLE\x00IdxGT\x00IdxLT\x00IdxGE\x00Or\x00And\x00RowSetRead\x00RowSetTest\x00Program\x00FkIfZero\x00IfPos\x00IsNull\x00NotNull\x00Ne\x00Eq\x00Gt\x00Le\x00Lt\x00Ge\x00ElseEq\x00IfNotZero\x00DecrJumpZero\x00IncrVacuum\x00VNext\x00Filter\x00Init\x00PureFunc\x00Function\x00Return\x00EndCoroutine\x00HaltIfNull\x00Halt\x00Integer\x00Int64\x00String\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\x00VInitIn\x00VColumn\x00VRename\x00Pagecount\x00MaxPgcnt\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\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\x00SQLite format 3\x00:memory:\x00@ \x00\n\x00invalid page number %d\x002nd reference to page %d\x00Failed to read ptrmap key=%d\x00Bad ptr map entry key=%d expected=(%d,%d) got=(%d,%d)\x00failed to get page %d\x00freelist leaf count too big on page %d\x00%s is %d but should be %d\x00size\x00overflow list length\x00Page %u: \x00unable to get the page. error code=%d\x00btreeInitPage() returns error code %d\x00free space corruption\x00On tree page %u cell %d: \x00On page %u at right child: \x00Offset %d out of range %d..%d\x00Extends off end of page\x00Rowid %lld out of order\x00Child page depth differs\x00Multiple uses for byte %u of page %u\x00Fragmentation of %d bytes reported as %d on page %u\x00Main freelist: \x00max rootpage (%d) disagrees with header (%d)\x00incremental_vacuum enabled with a max rootpage of zero\x00Page %d is never used\x00Pointer map page %d is referenced\x00unknown database %s\x00destination database is in use\x00source and destination must be distinct\x00%!.15g\x00-\x00%s%s\x00k(%d\x00B\x00,%s%s%s\x00N.\x00)\x00%.18s-%s\x00%s(%d)\x00%d\x00(blob)\x00vtab:%p\x00%c%u\x00]\x00program\x00?\x008\x0016LE\x0016BE\x00addr\x00opcode\x00p1\x00p2\x00p3\x00p4\x00p5\x00comment\x00id\x00parent\x00notused\x00detail\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\x00ValueList\x00bind on a busy prepared statement: [%s]\x00-- \x00'%.*q'\x00zeroblob(%d)\x00x'\x00%02x\x00'\x00%s constraint failed\x00%z: %s\x00abort at %d in [%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\x00cannot change %s wal mode from within a transaction\x00into\x00out of\x00database table is locked: %s\x00-- %s\x00statement aborts at %d: [%s] %s\x00NOT NULL\x00UNIQUE\x00CHECK\x00FOREIGN KEY\x00cannot open value of type %s\x00null\x00real\x00integer\x00no such rowid: %lld\x00cannot open virtual table: %s\x00cannot open table without rowid: %s\x00cannot open view: %s\x00no such column: \"%s\"\x00foreign key\x00indexed\x00cannot open %s column for writing\x00main\x00*\x00new\x00old\x00excluded\x00misuse of aliased aggregate %s\x00misuse of aliased window function %s\x00row value misused\x00double-quoted string literal: \"%w\"\x00no such column\x00ambiguous column name\x00%s: %s.%s.%s\x00%s: %s.%s\x00%s: %s\x00partial index WHERE clauses\x00index expressions\x00CHECK constraints\x00generated columns\x00%s prohibited in %s\x00true\x00false\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\x00a GROUP BY clause is required before HAVING\x00GROUP\x00aggregate functions are not allowed in the GROUP BY clause\x00Expression tree is too large (maximum depth %d)\x00IN(...) element has %d term%s - expected %d\x00s\x000\x00too many arguments on function %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\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\x00%sLIST SUBQUERY %d\x00CORRELATED \x00REUSE SUBQUERY %d\x00%sSCALAR SUBQUERY %d\x001\x000x\x00hex literal too big: %s%#T\x00generated column loop on \"%s\"\x00blob\x00text\x00numeric\x00none\x00misuse of aggregate: %#T()\x00unknown function: %#T()\x00RAISE() may only be used within a trigger-program\x00B\x00C\x00D\x00E\x00sqlite_\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') ELSE raise(ABORT,'NOT NULL constraint failed') END FROM pragma_quick_check(%Q,%Q) WHERE quick_check GLOB 'CHECK*' OR quick_check GLOB 'NULL*'\x00virtual tables may not be altered\x00Cannot add a column to a view\x00sqlite_altertab_%s\x00view\x00virtual table\x00cannot %s %s \"%s\"\x00drop column from\x00rename columns of\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')\x00error in %s %s%s%s: %s\x00 \x00CREATE \x00\"%w\" \x00%Q%s\x00%.*s%s\x00cannot drop %s column: \"%s\"\x00PRIMARY KEY\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\x00CREATE TABLE %Q.%s(%s)\x00DELETE FROM %Q.%s WHERE %s=%Q\x00DELETE FROM %Q.%s\x00sqlite_stat1\x00tbl,idx,stat\x00sqlite_stat4\x00tbl,idx,neq,nlt,ndlt,sample\x00sqlite_stat3\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\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\x00sqlite_temp_schema\x00sqlite_schema\x00sqlite_temp_master\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\x00sqlite_returning\x00cannot use RETURNING in a trigger\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'\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\x00unsupported use of NULLS %s\x00FIRST\x00LAST\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\x00CREATE%s INDEX %.*s\x00 UNIQUE\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\x00a JOIN clause is required before %s\x00ON\x00USING\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\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%!.20e\x00%Q\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\x00instr\x00printf\x00format\x00unicode\x00char\x00abs\x00round\x00upper\x00lower\x00hex\x00ifnull\x00random\x00randomblob\x00nullif\x00sqlite_version\x00sqlite_source_id\x00sqlite_log\x00quote\x00last_insert_rowid\x00changes\x00total_changes\x00replace\x00zeroblob\x00substr\x00substring\x00sum\x00total\x00avg\x00count\x00group_concat\x00glob\x00coalesce\x00ceil\x00ceiling\x00floor\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\x00foreign key mismatch - \"%w\" referencing \"%w\"\x00cannot INSERT into generated column \"%s\"\x00table %S has no column named %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\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]\x00so\x00automatic extension loading failed: %s\x00seq\x00from\x00to\x00on_update\x00on_delete\x00match\x00cid\x00name\x00type\x00notnull\x00dflt_value\x00pk\x00hidden\x00schema\x00ncol\x00wr\x00strict\x00seqno\x00desc\x00coll\x00key\x00builtin\x00enc\x00narg\x00flags\x00wdth\x00hght\x00flgs\x00unique\x00origin\x00partial\x00rowid\x00fkid\x00file\x00busy\x00checkpointed\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\x00onoffalseyestruextrafull\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\x00w\x00a\x00sissii\x00utf8\x00utf16le\x00utf16be\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\x00NULL value in %s.%s\x00non-%s value in %s.%s\x00CHECK constraint failed in %s\x00row \x00 missing from index \x00non-unique entry in index \x00wrong # of entries in index \x00ok\x00unsupported encoding: %s\x00restart\x00ANALYZE \"%w\".\"%w\"\x00UTF8\x00UTF-8\x00UTF-16le\x00UTF-16be\x00UTF16le\x00UTF16be\x00UTF-16\x00UTF16\x00CREATE TABLE x\x00%c\"%s\"\x00(\"%s\"\x00,arg HIDDEN\x00,schema HIDDEN\x00PRAGMA \x00%Q.\x00=%Q\x00error in %s %s after %s: %s\x00malformed database schema (%s)\x00%z - %s\x00rename\x00drop column\x00add column\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 or unsupported join type: %T %T%s%T\x00RIGHT and FULL OUTER JOINs are not currently supported\x00naturaleftouterightfullinnercross\x00a NATURAL join may not have an ON or USING clause\x00cannot have both ON and USING clauses in the same join\x00cannot join using column %s - column not present in both tables\x00UNION ALL\x00INTERSECT\x00EXCEPT\x00UNION\x00USE TEMP B-TREE FOR %s\x00column%d\x00%.*z:%u\x00cannot use window functions in recursive queries\x00recursive aggregate queries not supported\x00SETUP\x00RECURSIVE STEP\x00SCAN %d CONSTANT ROW%s\x00S\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\x00subquery_%u\x00too many references to \"%s\": max 65535\x00access to view \"%s\" prohibited\x00unsafe use of virtual table \"%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)\x00SCAN %s%s%s\x00 USING COVERING INDEX \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\x00RIGHT PART OF ORDER BY\x00ORDER 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\x00trigger %T already exists\x00cannot create trigger on system table\x00cannot create %s trigger on view: %S\x00BEFORE\x00AFTER\x00cannot create INSTEAD OF trigger on 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'\x00%s RETURNING is not available on virtual tables\x00DELETE\x00UPDATE\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\x00ATTACH %Q AS vacuum_db\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 vacuum_db.'||quote(name)||' SELECT*FROM\"%w\".'||quote(name)FROM vacuum_db.sqlite_schema WHERE type='table'AND coalesce(rootpage,1)>0\x00INSERT INTO vacuum_db.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\x00\x00 AND \x00(\x00 (\x00%s=?\x00ANY(%s)\x00>\x00<\x00%s %S\x00SEARCH\x00SCAN\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 %d:%s\x00BLOOM FILTER ON %S (\x00rowid=?\x00MULTI-INDEX OR\x00INDEX %d\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\x00second argument to nth_value must be a positive integer\x00argument of ntile must be a positive integer\x00row_number\x00dense_rank\x00rank\x00percent_rank\x00cume_dist\x00ntile\x00last_value\x00nth_value\x00first_value\x00lead\x00lag\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\x00%s clause should come after %s not before\x00LIMIT\x00too many terms in compound SELECT\x00syntax error after column name \"%.*s\"\x00parser stack overflow\x00unknown table option: %.*s\x00set list\x00near \"%T\": syntax error\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\x00unknown error\x00abort due to ROLLBACK\x00another row available\x00no more rows available\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\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\x00mode\x00no such %s mode: %s\x00%s mode not allowed: %s\x00no such vfs: %s\x00shared\x00private\x00ro\x00rw\x00rwc\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\x000123456789abcdef\x00JSON cannot hold BLOB values\x00malformed JSON\x00[0]\x00JSON path error near '%q'\x00json_%s() needs an odd number of arguments\x00$[\x00$.\x00json_object() requires an even number of arguments\x00json_object() labels must be TEXT\x00set\x00insert\x00[]\x00{}\x00CREATE TABLE x(key,value,type,atom,id,parent,fullkey,path,json HIDDEN,root HIDDEN)\x00[%d]\x00.%.*s\x00$\x00json\x00json_array\x00json_array_length\x00json_extract\x00->\x00->>\x00json_insert\x00json_object\x00json_patch\x00json_quote\x00json_remove\x00json_replace\x00json_set\x00json_type\x00json_valid\x00json_group_array\x00json_group_object\x00json_each\x00json_tree\x00%s_node\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\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\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\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\x00CREATE TABLE x(%.*s INT\x00,%.*s\x00);\x00,%.*s REAL\x00,%.*s INT\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\x00Mapping (%lld -> %lld) missing from %s table\x00%_rowid\x00%_parent\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\x00END\x00wrong number of arguments to function rtreecheck()\x00[\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\x00geopoly_area\x00geopoly_blob\x00geopoly_json\x00geopoly_svg\x00geopoly_contains_point\x00geopoly_debug\x00geopoly_bbox\x00geopoly_xform\x00geopoly_regular\x00geopoly_ccw\x00geopoly_group_bbox\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;\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\x00AND rootpage!=0 AND rootpage IS NOT NULL\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\x00table %q %s rbu_rowid column\x00may not have\x00requires\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%z%s\"%w\" %s %sCOLLATE %Q%s\x00 NOT NULL\x00%z, %z\x00CREATE TABLE \"rbu_imp_%w\"(%z)%s\x00 WITHOUT ROWID\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\x00SELECT %s, 0 AS rbu_control FROM '%q' %s %s %s ORDER BY %s%s\x00AND\x00WHERE\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_\x00INSERT INTO \"%s%w\"(%s%s) VALUES(%s)\x00, _rowid_\x00DELETE FROM \"%s%w\" WHERE %s\x00, rbu_rowid\x00CREATE TABLE IF NOT EXISTS %s.'rbu_tmp_%q' AS SELECT *%s FROM '%q' WHERE 0;\x00, 0 AS rbu_rowid\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\x00SELECT %s,%s rbu_control%s FROM '%q'%s %s %s %s\x000 AS \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\x00file:%s-vactmp?rbu_memory=1%s%s\x00&\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, %d), (%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\x00database modified during rbu %s\x00vacuum\x00update\x00BEGIN IMMEDIATE\x00PRAGMA journal_mode=off\x00-vactmp\x00DELETE FROM stat.rbu_state\x00rbu/zipvfs setup error\x00rbu(%s)/%z\x00rbu_memory\x00SELECT 0, 'tbl', '', 0, '', 1 UNION ALL SELECT 1, 'idx', '', 0, '', 2 UNION ALL SELECT 2, 'stat', '', 0, '', 0\x00PRAGMA '%q'.table_info('%q')\x00%z%s\"%w\".\"%w\".\"%w\"=\"%w\".\"%w\".\"%w\"\x00%z%s\"%w\".\"%w\".\"%w\" IS NOT \"%w\".\"%w\".\"%w\"\x00 OR \x00SELECT * FROM \"%w\".\"%w\" WHERE NOT EXISTS ( SELECT 1 FROM \"%w\".\"%w\" WHERE %s)\x00SELECT * FROM \"%w\".\"%w\", \"%w\".\"%w\" WHERE %s AND (%z)\x00table schemas do not match\x00SELECT tbl, ?2, stat FROM %Q.sqlite_stat1 WHERE tbl IS ?1 AND idx IS (CASE WHEN ?2=X'' THEN NULL ELSE ?2 END)\x00SELECT * FROM \x00 WHERE \x00 IS ?\x00SAVEPOINT changeset\x00RELEASE changeset\x00UPDATE main.\x00 SET \x00 = ?\x00idx IS CASE WHEN length(?4)=0 AND typeof(?4)='blob' THEN NULL ELSE ?4 END \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()\x00snippet\x00highlight\x00bm25\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\x00content_rowid\x00multiple content_rowid=... directives\x00columnsize\x00malformed columnsize=... directive\x00columns\x00malformed detail=... directive\x00unrecognized option: \"%.*s\"\x00reserved fts5 column name: %s\x00unindexed\x00unrecognized column option: %s\x00T.%Q\x00, T.%Q\x00, T.c%d\x00reserved fts5 table name: %s\x00parse error in \"%s\"\x00docsize\x00%Q.'%q_%s'\x00CREATE TABLE x(\x00%z%s%Q\x00%z, %Q HIDDEN, %s HIDDEN)\x00pgsz\x00hashsize\x00automerge\x00usermerge\x00crisismerge\x00SELECT k, v FROM %Q.'%q_config'\x00version\x00invalid fts5 file format (found %d, expected %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)\x00fts5: %s queries are not supported (detail!=full)\x00phrase\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=?\x00PRAGMA %Q.data_version\x00SELECT pgno FROM '%q'.'%q_idx' WHERE segid=? AND term<=? ORDER BY term DESC LIMIT 1\x00INSERT INTO '%q'.'%q_idx'(segid,term,pgno) VALUES(?,?,?)\x00%s_data\x00id INTEGER PRIMARY KEY, block BLOB\x00segid, term, pgno, PRIMARY KEY(segid, term)\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\x00SELECT rowid, rank FROM %Q.%Q ORDER BY %s(\"%w\"%s%s) %s\x00DESC\x00ASC\x00reads\x00unknown special query: %.*s\x00SELECT %s\x00no such function: %s\x00parse error in rank function: %s\x00%s: table does not support scanning\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\x00cannot %s contentless fts5 table: %s\x00DELETE from\x00no such cursor: %lld\x00no such tokenizer: %s\x00error in tokenizer constructor\x00fts5_api_ptr\x00fts5: 2022-03-12 13:37:29 38c210fdd258658321c85ec9c01a072fda3ada94540e3239d29b34dc547a8cbc\x00config\x00fts5\x00fts5_source_id\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(?,?)\x00DELETE FROM %Q.'%q_docsize' WHERE id=?\x00SELECT sz FROM %Q.'%q_docsize' WHERE id=?\x00REPLACE INTO %Q.'%q_config' VALUES(?,?)\x00SELECT %s FROM %s AS T\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\x00id INTEGER PRIMARY KEY, sz BLOB\x00k PRIMARY KEY, v\x00DELETE FROM %Q.'%q_data';DELETE FROM %Q.'%q_idx';\x00DELETE FROM %Q.'%q_docsize';\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\x00ascii\x00porter\x00trigram\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\x002022-03-12 13:37:29 38c210fdd258658321c85ec9c01a072fda3ada94540e3239d29b34dc547a8cbc\x00" + }{Xsqlite3_value_dup})) // sqlite3.c:129309:3: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1640)) = Xsqlite3_value_free // sqlite3.c:129310:3: + *(*func(*libc.TLS, uintptr, U64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1648)) = Xsqlite3_result_zeroblob64 // sqlite3.c:129311:3: + *(*func(*libc.TLS, uintptr, int32, Sqlite3_uint64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1656)) = Xsqlite3_bind_zeroblob64 // sqlite3.c:129312:3: + *(*func(*libc.TLS, uintptr) uint32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1664)) = Xsqlite3_value_subtype // sqlite3.c:129314:3: + *(*func(*libc.TLS, uintptr, uint32))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1672)) = Xsqlite3_result_subtype // sqlite3.c:129315:3: + *(*func(*libc.TLS, int32, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1680)) = Xsqlite3_status64 // sqlite3.c:129317:3: + *(*func(*libc.TLS, uintptr, uintptr, uint32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1688)) = Xsqlite3_strlike // sqlite3.c:129318:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1696)) = Xsqlite3_db_cacheflush // sqlite3.c:129319:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1704)) = Xsqlite3_system_errno // sqlite3.c:129321:3: + *(*func(*libc.TLS, uintptr, uint32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1712)) = Xsqlite3_trace_v2 // sqlite3.c:129323:3: + *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1720)) = Xsqlite3_expanded_sql // sqlite3.c:129324:3: + *(*func(*libc.TLS, uintptr, Sqlite3_int64))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1728)) = Xsqlite3_set_last_insert_rowid // sqlite3.c:129326:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uint32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1736)) = Xsqlite3_prepare_v3 // sqlite3.c:129328:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uint32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1744)) = Xsqlite3_prepare16_v3 // sqlite3.c:129329:3: + *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1752)) = Xsqlite3_bind_pointer // sqlite3.c:129330:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1760)) = Xsqlite3_result_pointer // sqlite3.c:129331:3: + *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1768)) = Xsqlite3_value_pointer // sqlite3.c:129332:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1776)) = Xsqlite3_vtab_nochange // sqlite3.c:129334:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1784)) = Xsqlite3_value_nochange // sqlite3.c:129335:3: + *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1792)) = Xsqlite3_vtab_collation // sqlite3.c:129336:3: + *(*func(*libc.TLS) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1800)) = Xsqlite3_keyword_count // sqlite3.c:129338:3: + *(*func(*libc.TLS, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1808)) = Xsqlite3_keyword_name // sqlite3.c:129339:3: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1816)) = Xsqlite3_keyword_check // sqlite3.c:129340:3: + *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1824)) = Xsqlite3_str_new // sqlite3.c:129341:3: + *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1832)) = Xsqlite3_str_finish // sqlite3.c:129342:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1840)) = Xsqlite3_str_appendf // sqlite3.c:129343:3: + *(*func(*libc.TLS, uintptr, uintptr, Va_list))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1848)) = Xsqlite3_str_vappendf // sqlite3.c:129344:3: + *(*func(*libc.TLS, uintptr, uintptr, int32))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1856)) = Xsqlite3_str_append // sqlite3.c:129345:3: + *(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1864)) = Xsqlite3_str_appendall // sqlite3.c:129346:3: + *(*func(*libc.TLS, uintptr, int32, uint8))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1872)) = Xsqlite3_str_appendchar // sqlite3.c:129347:3: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1880)) = Xsqlite3_str_reset // sqlite3.c:129348:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1888)) = Xsqlite3_str_errcode // sqlite3.c:129349:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1896)) = Xsqlite3_str_length // sqlite3.c:129350:3: + *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1904)) = Xsqlite3_str_value // sqlite3.c:129351:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, int32, uintptr, uintptr, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1912)) = Xsqlite3_create_window_function // sqlite3.c:129353:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1928)) = Xsqlite3_stmt_isexplain // sqlite3.c:129361:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1936)) = Xsqlite3_value_frombind // sqlite3.c:129362:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1944)) = Xsqlite3_drop_modules // sqlite3.c:129365:3: + *(*func(*libc.TLS, Sqlite3_int64) Sqlite3_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1952)) = Xsqlite3_hard_heap_limit64 // sqlite3.c:129370:3: + *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1960)) = Xsqlite3_uri_key // sqlite3.c:129371:3: + *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1968)) = Xsqlite3_filename_database // sqlite3.c:129372:3: + *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1976)) = Xsqlite3_filename_journal // sqlite3.c:129373:3: + *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1984)) = Xsqlite3_filename_wal // sqlite3.c:129374:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1992)) = Xsqlite3_create_filename // sqlite3.c:129376:3: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 2000)) = Xsqlite3_free_filename // sqlite3.c:129377:3: + *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 2008)) = Xsqlite3_database_file_object // sqlite3.c:129378:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 2016)) = Xsqlite3_txn_state // sqlite3.c:129380:3: + *(*func(*libc.TLS, uintptr) Sqlite3_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 2024)) = Xsqlite3_changes64 // sqlite3.c:129382:3: + *(*func(*libc.TLS, uintptr) Sqlite3_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 2032)) = Xsqlite3_total_changes64 // sqlite3.c:129383:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 2040)) = Xsqlite3_autovacuum_pages // sqlite3.c:129385:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 2048)) = Xsqlite3_error_offset // sqlite3.c:129387:3: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 2056)) = Xsqlite3_vtab_rhs_value // sqlite3.c:129388:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 2064)) = Xsqlite3_vtab_distinct // sqlite3.c:129389:3: + *(*func(*libc.TLS, uintptr, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 2072)) = Xsqlite3_vtab_in // sqlite3.c:129390:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 2080)) = Xsqlite3_vtab_in_first // sqlite3.c:129391:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 2088)) = Xsqlite3_vtab_in_next // sqlite3.c:129392:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3BuiltinExtensions)) + 0)) = Xsqlite3Fts5Init // sqlite3.c:168545:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3BuiltinExtensions)) + 8)) = Xsqlite3RtreeInit // sqlite3.c:168551:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3BuiltinExtensions)) + 16)) = sqlite3TestExtInit // sqlite3.c:168559:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3BuiltinExtensions)) + 24)) = Xsqlite3JsonTableFunctions // sqlite3.c:168561:3: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&statGetFuncdef)) + 24)) = statGet // sqlite3.c:112006:3: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&statInitFuncdef)) + 24)) = statInit // sqlite3.c:111582:3: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&statPushFuncdef)) + 24)) = statPush // sqlite3.c:111872:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 40)) = rbuVfsOpen // sqlite3.c:208945:5: + *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 48)) = rbuVfsDelete // sqlite3.c:208946:5: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 56)) = rbuVfsAccess // sqlite3.c:208947:5: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 64)) = rbuVfsFullPathname // sqlite3.c:208948:5: + *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 72)) = rbuVfsDlOpen // sqlite3.c:208951:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 80)) = rbuVfsDlError // sqlite3.c:208952:5: + *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 88)) = rbuVfsDlSym // sqlite3.c:208953:5: + *(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 96)) = rbuVfsDlClose // sqlite3.c:208954:5: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 104)) = rbuVfsRandomness // sqlite3.c:208959:5: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 112)) = rbuVfsSleep // sqlite3.c:208960:5: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 120)) = rbuVfsCurrentTime // sqlite3.c:208961:5: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 128)) = rbuVfsGetLastError // sqlite3.c:208962:5: +} + +var ts1 = "3.38.2\x00ATOMIC_INTRINSICS=1\x00COMPILER=gcc-11.2.0\x00DEFAULT_AUTOVACUUM\x00DEFAULT_CACHE_SIZE=-2000\x00DEFAULT_FILE_FORMAT=4\x00DEFAULT_JOURNAL_SIZE_LIMIT=-1\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\x00ENABLE_COLUMN_METADATA\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=127\x00MAX_LENGTH=1000000000\x00MAX_LIKE_PATTERN_LENGTH=50000\x00MAX_MMAP_SIZE=0x7fff0000\x00MAX_PAGE_COUNT=1073741823\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\x00BINARY\x00ANY\x00BLOB\x00INT\x00INTEGER\x00REAL\x00TEXT\x0020b:20e\x0020c:20e\x0020e\x0040f-21a-21d\x00now\x00local time unavailable\x00second\x00minute\x00hour\x00\x00\x00day\x00\x00\x00\x00month\x00\x00year\x00\x00\x00auto\x00julianday\x00localtime\x00unixepoch\x00utc\x00weekday \x00start of \x00month\x00year\x00day\x00%02d\x00%06.3f\x00%03d\x00%.16g\x00%lld\x00%04d\x00date\x00time\x00datetime\x00strftime\x00current_time\x00current_timestamp\x00current_date\x00failed to allocate %u bytes of memory\x00failed memory resize %u to %u bytes\x00out of memory\x000123456789ABCDEF0123456789abcdef\x00-x0\x00X0\x00%\x00NaN\x00Inf\x00\x00NULL\x00(NULL)\x00.\x00SUBQUERY %u\x00thstndrd\x00922337203685477580\x00API call with %s database connection pointer\x00unopened\x00invalid\x00Savepoint\x00AutoCommit\x00Transaction\x00SorterNext\x00Prev\x00Next\x00Checkpoint\x00JournalMode\x00Vacuum\x00VFilter\x00VUpdate\x00Goto\x00Gosub\x00InitCoroutine\x00Yield\x00MustBeInt\x00Jump\x00Once\x00If\x00Not\x00IfNot\x00IsNullOrType\x00IfNullRow\x00SeekLT\x00SeekLE\x00SeekGE\x00SeekGT\x00IfNotOpen\x00IfNoHope\x00NoConflict\x00NotFound\x00Found\x00SeekRowid\x00NotExists\x00Last\x00IfSmaller\x00SorterSort\x00Sort\x00Rewind\x00IdxLE\x00IdxGT\x00IdxLT\x00IdxGE\x00Or\x00And\x00RowSetRead\x00RowSetTest\x00Program\x00FkIfZero\x00IfPos\x00IsNull\x00NotNull\x00Ne\x00Eq\x00Gt\x00Le\x00Lt\x00Ge\x00ElseEq\x00IfNotZero\x00DecrJumpZero\x00IncrVacuum\x00VNext\x00Filter\x00Init\x00PureFunc\x00Function\x00Return\x00EndCoroutine\x00HaltIfNull\x00Halt\x00Integer\x00Int64\x00String\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\x00VInitIn\x00VColumn\x00VRename\x00Pagecount\x00MaxPgcnt\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\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\x00SQLite format 3\x00:memory:\x00@ \x00\n\x00invalid page number %d\x002nd reference to page %d\x00Failed to read ptrmap key=%d\x00Bad ptr map entry key=%d expected=(%d,%d) got=(%d,%d)\x00failed to get page %d\x00freelist leaf count too big on page %d\x00%s is %d but should be %d\x00size\x00overflow list length\x00Page %u: \x00unable to get the page. error code=%d\x00btreeInitPage() returns error code %d\x00free space corruption\x00On tree page %u cell %d: \x00On page %u at right child: \x00Offset %d out of range %d..%d\x00Extends off end of page\x00Rowid %lld out of order\x00Child page depth differs\x00Multiple uses for byte %u of page %u\x00Fragmentation of %d bytes reported as %d on page %u\x00Main freelist: \x00max rootpage (%d) disagrees with header (%d)\x00incremental_vacuum enabled with a max rootpage of zero\x00Page %d is never used\x00Pointer map page %d is referenced\x00unknown database %s\x00destination database is in use\x00source and destination must be distinct\x00%!.15g\x00-\x00%s%s\x00k(%d\x00B\x00,%s%s%s\x00N.\x00)\x00%.18s-%s\x00%s(%d)\x00%d\x00(blob)\x00vtab:%p\x00%c%u\x00]\x00program\x00?\x008\x0016LE\x0016BE\x00addr\x00opcode\x00p1\x00p2\x00p3\x00p4\x00p5\x00comment\x00id\x00parent\x00notused\x00detail\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\x00ValueList\x00bind on a busy prepared statement: [%s]\x00-- \x00'%.*q'\x00zeroblob(%d)\x00x'\x00%02x\x00'\x00%s constraint failed\x00%z: %s\x00abort at %d in [%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\x00cannot change %s wal mode from within a transaction\x00into\x00out of\x00database table is locked: %s\x00-- %s\x00statement aborts at %d: [%s] %s\x00NOT NULL\x00UNIQUE\x00CHECK\x00FOREIGN KEY\x00cannot open value of type %s\x00null\x00real\x00integer\x00no such rowid: %lld\x00cannot open virtual table: %s\x00cannot open table without rowid: %s\x00cannot open view: %s\x00no such column: \"%s\"\x00foreign key\x00indexed\x00cannot open %s column for writing\x00main\x00*\x00new\x00old\x00excluded\x00misuse of aliased aggregate %s\x00misuse of aliased window function %s\x00row value misused\x00double-quoted string literal: \"%w\"\x00no such column\x00ambiguous column name\x00%s: %s.%s.%s\x00%s: %s.%s\x00%s: %s\x00partial index WHERE clauses\x00index expressions\x00CHECK constraints\x00generated columns\x00%s prohibited in %s\x00true\x00false\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\x00a GROUP BY clause is required before HAVING\x00GROUP\x00aggregate functions are not allowed in the GROUP BY clause\x00Expression tree is too large (maximum depth %d)\x00IN(...) element has %d term%s - expected %d\x00s\x000\x00too many arguments on function %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\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\x00%sLIST SUBQUERY %d\x00CORRELATED \x00REUSE SUBQUERY %d\x00%sSCALAR SUBQUERY %d\x001\x000x\x00hex literal too big: %s%#T\x00generated column loop on \"%s\"\x00blob\x00text\x00numeric\x00none\x00misuse of aggregate: %#T()\x00unknown function: %#T()\x00RAISE() may only be used within a trigger-program\x00B\x00C\x00D\x00E\x00sqlite_\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') ELSE raise(ABORT,'NOT NULL constraint failed') END FROM pragma_quick_check(%Q,%Q) WHERE quick_check GLOB 'CHECK*' OR quick_check GLOB 'NULL*'\x00virtual tables may not be altered\x00Cannot add a column to a view\x00sqlite_altertab_%s\x00view\x00virtual table\x00cannot %s %s \"%s\"\x00drop column from\x00rename columns of\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')\x00error in %s %s%s%s: %s\x00 \x00CREATE \x00\"%w\" \x00%Q%s\x00%.*s%s\x00cannot drop %s column: \"%s\"\x00PRIMARY KEY\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\x00CREATE TABLE %Q.%s(%s)\x00DELETE FROM %Q.%s WHERE %s=%Q\x00DELETE FROM %Q.%s\x00sqlite_stat1\x00tbl,idx,stat\x00sqlite_stat4\x00tbl,idx,neq,nlt,ndlt,sample\x00sqlite_stat3\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\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\x00sqlite_temp_schema\x00sqlite_schema\x00sqlite_temp_master\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\x00sqlite_returning\x00cannot use RETURNING in a trigger\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'\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\x00unsupported use of NULLS %s\x00FIRST\x00LAST\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\x00CREATE%s INDEX %.*s\x00 UNIQUE\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\x00a JOIN clause is required before %s\x00ON\x00USING\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\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%!.20e\x00%Q\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\x00instr\x00printf\x00format\x00unicode\x00char\x00abs\x00round\x00upper\x00lower\x00hex\x00ifnull\x00random\x00randomblob\x00nullif\x00sqlite_version\x00sqlite_source_id\x00sqlite_log\x00quote\x00last_insert_rowid\x00changes\x00total_changes\x00replace\x00zeroblob\x00substr\x00substring\x00sum\x00total\x00avg\x00count\x00group_concat\x00glob\x00coalesce\x00ceil\x00ceiling\x00floor\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\x00foreign key mismatch - \"%w\" referencing \"%w\"\x00cannot INSERT into generated column \"%s\"\x00table %S has no column named %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\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]\x00so\x00automatic extension loading failed: %s\x00seq\x00from\x00to\x00on_update\x00on_delete\x00match\x00cid\x00name\x00type\x00notnull\x00dflt_value\x00pk\x00hidden\x00schema\x00ncol\x00wr\x00strict\x00seqno\x00desc\x00coll\x00key\x00builtin\x00enc\x00narg\x00flags\x00wdth\x00hght\x00flgs\x00unique\x00origin\x00partial\x00rowid\x00fkid\x00file\x00busy\x00checkpointed\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\x00onoffalseyestruextrafull\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\x00w\x00a\x00sissii\x00utf8\x00utf16le\x00utf16be\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\x00NULL value in %s.%s\x00non-%s value in %s.%s\x00CHECK constraint failed in %s\x00row \x00 missing from index \x00non-unique entry in index \x00wrong # of entries in index \x00ok\x00unsupported encoding: %s\x00restart\x00ANALYZE \"%w\".\"%w\"\x00UTF8\x00UTF-8\x00UTF-16le\x00UTF-16be\x00UTF16le\x00UTF16be\x00UTF-16\x00UTF16\x00CREATE TABLE x\x00%c\"%s\"\x00(\"%s\"\x00,arg HIDDEN\x00,schema HIDDEN\x00PRAGMA \x00%Q.\x00=%Q\x00error in %s %s after %s: %s\x00malformed database schema (%s)\x00%z - %s\x00rename\x00drop column\x00add column\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 or unsupported join type: %T %T%s%T\x00RIGHT and FULL OUTER JOINs are not currently supported\x00naturaleftouterightfullinnercross\x00a NATURAL join may not have an ON or USING clause\x00cannot have both ON and USING clauses in the same join\x00cannot join using column %s - column not present in both tables\x00UNION ALL\x00INTERSECT\x00EXCEPT\x00UNION\x00USE TEMP B-TREE FOR %s\x00column%d\x00%.*z:%u\x00cannot use window functions in recursive queries\x00recursive aggregate queries not supported\x00SETUP\x00RECURSIVE STEP\x00SCAN %d CONSTANT ROW%s\x00S\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\x00subquery_%u\x00too many references to \"%s\": max 65535\x00access to view \"%s\" prohibited\x00unsafe use of virtual table \"%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)\x00SCAN %s%s%s\x00 USING COVERING INDEX \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\x00RIGHT PART OF ORDER BY\x00ORDER 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\x00trigger %T already exists\x00cannot create trigger on system table\x00cannot create %s trigger on view: %S\x00BEFORE\x00AFTER\x00cannot create INSTEAD OF trigger on 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'\x00%s RETURNING is not available on virtual tables\x00DELETE\x00UPDATE\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\x00ATTACH %Q AS vacuum_db\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 vacuum_db.'||quote(name)||' SELECT*FROM\"%w\".'||quote(name)FROM vacuum_db.sqlite_schema WHERE type='table'AND coalesce(rootpage,1)>0\x00INSERT INTO vacuum_db.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\x00\x00 AND \x00(\x00 (\x00%s=?\x00ANY(%s)\x00>\x00<\x00%s %S\x00SEARCH\x00SCAN\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 %d:%s\x00BLOOM FILTER ON %S (\x00rowid=?\x00MULTI-INDEX OR\x00INDEX %d\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\x00second argument to nth_value must be a positive integer\x00argument of ntile must be a positive integer\x00row_number\x00dense_rank\x00rank\x00percent_rank\x00cume_dist\x00ntile\x00last_value\x00nth_value\x00first_value\x00lead\x00lag\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\x00%s clause should come after %s not before\x00LIMIT\x00too many terms in compound SELECT\x00syntax error after column name \"%.*s\"\x00parser stack overflow\x00unknown table option: %.*s\x00set list\x00near \"%T\": syntax error\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\x00unknown error\x00abort due to ROLLBACK\x00another row available\x00no more rows available\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\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\x00mode\x00no such %s mode: %s\x00%s mode not allowed: %s\x00no such vfs: %s\x00shared\x00private\x00ro\x00rw\x00rwc\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\x000123456789abcdef\x00JSON cannot hold BLOB values\x00malformed JSON\x00[0]\x00JSON path error near '%q'\x00json_%s() needs an odd number of arguments\x00$[\x00$.\x00json_object() requires an even number of arguments\x00json_object() labels must be TEXT\x00set\x00insert\x00[]\x00{}\x00CREATE TABLE x(key,value,type,atom,id,parent,fullkey,path,json HIDDEN,root HIDDEN)\x00[%d]\x00.%.*s\x00$\x00json\x00json_array\x00json_array_length\x00json_extract\x00->\x00->>\x00json_insert\x00json_object\x00json_patch\x00json_quote\x00json_remove\x00json_replace\x00json_set\x00json_type\x00json_valid\x00json_group_array\x00json_group_object\x00json_each\x00json_tree\x00%s_node\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\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\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\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\x00CREATE TABLE x(%.*s INT\x00,%.*s\x00);\x00,%.*s REAL\x00,%.*s INT\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\x00Mapping (%lld -> %lld) missing from %s table\x00%_rowid\x00%_parent\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\x00END\x00wrong number of arguments to function rtreecheck()\x00[\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\x00geopoly_area\x00geopoly_blob\x00geopoly_json\x00geopoly_svg\x00geopoly_contains_point\x00geopoly_debug\x00geopoly_bbox\x00geopoly_xform\x00geopoly_regular\x00geopoly_ccw\x00geopoly_group_bbox\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;\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\x00AND rootpage!=0 AND rootpage IS NOT NULL\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\x00table %q %s rbu_rowid column\x00may not have\x00requires\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%z%s\"%w\" %s %sCOLLATE %Q%s\x00 NOT NULL\x00%z, %z\x00CREATE TABLE \"rbu_imp_%w\"(%z)%s\x00 WITHOUT ROWID\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\x00SELECT %s, 0 AS rbu_control FROM '%q' %s %s %s ORDER BY %s%s\x00AND\x00WHERE\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_\x00INSERT INTO \"%s%w\"(%s%s) VALUES(%s)\x00, _rowid_\x00DELETE FROM \"%s%w\" WHERE %s\x00, rbu_rowid\x00CREATE TABLE IF NOT EXISTS %s.'rbu_tmp_%q' AS SELECT *%s FROM '%q' WHERE 0;\x00, 0 AS rbu_rowid\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\x00SELECT %s,%s rbu_control%s FROM '%q'%s %s %s %s\x000 AS \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\x00file:%s-vactmp?rbu_memory=1%s%s\x00&\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, %d), (%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\x00database modified during rbu %s\x00vacuum\x00update\x00BEGIN IMMEDIATE\x00PRAGMA journal_mode=off\x00-vactmp\x00DELETE FROM stat.rbu_state\x00rbu/zipvfs setup error\x00rbu(%s)/%z\x00rbu_memory\x00SELECT 0, 'tbl', '', 0, '', 1 UNION ALL SELECT 1, 'idx', '', 0, '', 2 UNION ALL SELECT 2, 'stat', '', 0, '', 0\x00PRAGMA '%q'.table_info('%q')\x00%z%s\"%w\".\"%w\".\"%w\"=\"%w\".\"%w\".\"%w\"\x00%z%s\"%w\".\"%w\".\"%w\" IS NOT \"%w\".\"%w\".\"%w\"\x00 OR \x00SELECT * FROM \"%w\".\"%w\" WHERE NOT EXISTS ( SELECT 1 FROM \"%w\".\"%w\" WHERE %s)\x00SELECT * FROM \"%w\".\"%w\", \"%w\".\"%w\" WHERE %s AND (%z)\x00table schemas do not match\x00SELECT tbl, ?2, stat FROM %Q.sqlite_stat1 WHERE tbl IS ?1 AND idx IS (CASE WHEN ?2=X'' THEN NULL ELSE ?2 END)\x00SELECT * FROM \x00 WHERE \x00 IS ?\x00SAVEPOINT changeset\x00RELEASE changeset\x00UPDATE main.\x00 SET \x00 = ?\x00idx IS CASE WHEN length(?4)=0 AND typeof(?4)='blob' THEN NULL ELSE ?4 END \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()\x00snippet\x00highlight\x00bm25\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\x00content_rowid\x00multiple content_rowid=... directives\x00columnsize\x00malformed columnsize=... directive\x00columns\x00malformed detail=... directive\x00unrecognized option: \"%.*s\"\x00reserved fts5 column name: %s\x00unindexed\x00unrecognized column option: %s\x00T.%Q\x00, T.%Q\x00, T.c%d\x00reserved fts5 table name: %s\x00parse error in \"%s\"\x00docsize\x00%Q.'%q_%s'\x00CREATE TABLE x(\x00%z%s%Q\x00%z, %Q HIDDEN, %s HIDDEN)\x00pgsz\x00hashsize\x00automerge\x00usermerge\x00crisismerge\x00SELECT k, v FROM %Q.'%q_config'\x00version\x00invalid fts5 file format (found %d, expected %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)\x00fts5: %s queries are not supported (detail!=full)\x00phrase\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=?\x00PRAGMA %Q.data_version\x00SELECT pgno FROM '%q'.'%q_idx' WHERE segid=? AND term<=? ORDER BY term DESC LIMIT 1\x00INSERT INTO '%q'.'%q_idx'(segid,term,pgno) VALUES(?,?,?)\x00%s_data\x00id INTEGER PRIMARY KEY, block BLOB\x00segid, term, pgno, PRIMARY KEY(segid, term)\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\x00SELECT rowid, rank FROM %Q.%Q ORDER BY %s(\"%w\"%s%s) %s\x00DESC\x00ASC\x00reads\x00unknown special query: %.*s\x00SELECT %s\x00no such function: %s\x00parse error in rank function: %s\x00%s: table does not support scanning\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\x00cannot %s contentless fts5 table: %s\x00DELETE from\x00no such cursor: %lld\x00no such tokenizer: %s\x00error in tokenizer constructor\x00fts5_api_ptr\x00fts5: 2022-03-26 13:51:10 d33c709cc0af66bc5b6dc6216eba9f1f0b40960b9ae83694c986fbf4c1d6f08f\x00config\x00fts5\x00fts5_source_id\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(?,?)\x00DELETE FROM %Q.'%q_docsize' WHERE id=?\x00SELECT sz FROM %Q.'%q_docsize' WHERE id=?\x00REPLACE INTO %Q.'%q_config' VALUES(?,?)\x00SELECT %s FROM %s AS T\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\x00id INTEGER PRIMARY KEY, sz BLOB\x00k PRIMARY KEY, v\x00DELETE FROM %Q.'%q_data';DELETE FROM %Q.'%q_idx';\x00DELETE FROM %Q.'%q_docsize';\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\x00ascii\x00porter\x00trigram\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\x002022-03-26 13:51:10 d33c709cc0af66bc5b6dc6216eba9f1f0b40960b9ae83694c986fbf4c1d6f08f\x00" var ts = (*reflect.StringHeader)(unsafe.Pointer(&ts1)).Data diff --git a/vendor/modernc.org/sqlite/lib/sqlite_linux_s390x.go b/vendor/modernc.org/sqlite/lib/sqlite_linux_s390x.go index 22cee605..f73689ff 100644 --- a/vendor/modernc.org/sqlite/lib/sqlite_linux_s390x.go +++ b/vendor/modernc.org/sqlite/lib/sqlite_linux_s390x.go @@ -1,4 +1,4 @@ -// Code generated by 'ccgo -DSQLITE_PRIVATE= -export-defines "" -export-enums "" -export-externs X -export-fields F -export-typedefs "" -ignore-unsupported-alignment -pkgname sqlite3 -o lib/sqlite_linux_s390x.go -trace-translation-units testdata/sqlite-amalgamation-3380100/sqlite3.c -DNDEBUG -DHAVE_USLEEP -DLONGDOUBLE_TYPE=double -DSQLITE_CORE -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_GEOPOLY -DSQLITE_ENABLE_MATH_FUNCTIONS -DSQLITE_ENABLE_MEMORY_MANAGEMENT -DSQLITE_ENABLE_OFFSET_SQL_FUNC -DSQLITE_ENABLE_PREUPDATE_HOOK -DSQLITE_ENABLE_RBU -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_SESSION -DSQLITE_ENABLE_SNAPSHOT -DSQLITE_ENABLE_STAT4 -DSQLITE_ENABLE_UNLOCK_NOTIFY -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_MUTEX_APPDEF=1 -DSQLITE_MUTEX_NOOP -DSQLITE_SOUNDEX -DSQLITE_THREADSAFE=1 -DSQLITE_OS_UNIX=1', DO NOT EDIT. +// Code generated by 'ccgo -DSQLITE_PRIVATE= -export-defines "" -export-enums "" -export-externs X -export-fields F -export-typedefs "" -ignore-unsupported-alignment -pkgname sqlite3 -o lib/sqlite_linux_s390x.go -trace-translation-units testdata/sqlite-amalgamation-3380200/sqlite3.c -DNDEBUG -DHAVE_USLEEP -DLONGDOUBLE_TYPE=double -DSQLITE_CORE -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_GEOPOLY -DSQLITE_ENABLE_MATH_FUNCTIONS -DSQLITE_ENABLE_MEMORY_MANAGEMENT -DSQLITE_ENABLE_OFFSET_SQL_FUNC -DSQLITE_ENABLE_PREUPDATE_HOOK -DSQLITE_ENABLE_RBU -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_SESSION -DSQLITE_ENABLE_SNAPSHOT -DSQLITE_ENABLE_STAT4 -DSQLITE_ENABLE_UNLOCK_NOTIFY -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_MUTEX_APPDEF=1 -DSQLITE_MUTEX_NOOP -DSQLITE_SOUNDEX -DSQLITE_THREADSAFE=1 -DSQLITE_OS_UNIX=1', DO NOT EDIT. package sqlite3 @@ -2141,7 +2141,7 @@ const ( SQLITE_SHM_UNLOCK = 1 SQLITE_SORTER_PMASZ = 250 SQLITE_SOUNDEX = 1 - SQLITE_SOURCE_ID = "2022-03-12 13:37:29 38c210fdd258658321c85ec9c01a072fda3ada94540e3239d29b34dc547a8cbc" + SQLITE_SOURCE_ID = "2022-03-26 13:51:10 d33c709cc0af66bc5b6dc6216eba9f1f0b40960b9ae83694c986fbf4c1d6f08f" SQLITE_SO_ASC = 0 SQLITE_SO_DESC = 1 SQLITE_SO_UNDEFINED = -1 @@ -2248,8 +2248,8 @@ const ( SQLITE_UTF8 = 1 SQLITE_VDBEINT_H = 0 SQLITE_VDBE_H = 0 - SQLITE_VERSION = "3.38.1" - SQLITE_VERSION_NUMBER = 3038001 + SQLITE_VERSION = "3.38.2" + SQLITE_VERSION_NUMBER = 3038002 SQLITE_VTABRISK_High = 2 SQLITE_VTABRISK_Low = 0 SQLITE_VTABRISK_Normal = 1 @@ -3738,7 +3738,7 @@ type X__float128 = float64 /* :47:21 */ // ***************************************************************************** // // This file is an amalgamation of many separate C source files from SQLite -// version 3.38.1. By combining all the individual C code files into this +// version 3.38.2. By combining all the individual C code files into this // single large file, the entire code can be compiled as a single translation // unit. This allows many compilers to do optimizations that would not be // possible if the files were compiled separately. Performance improvements @@ -26221,12 +26221,22 @@ var pgsz int32 = 4096 /* sqlite3.c:39581:28 */ // to shared and back or from unlocked to exclusive and back. But one may // not go from shared to exclusive or from exclusive to shared. func unixShmLock(tls *libc.TLS, fd uintptr, ofst int32, n int32, flags int32) int32 { /* sqlite3.c:39687:12: */ - var pDbFd uintptr = fd // Connection holding shared memory - var p uintptr = (*UnixFile)(unsafe.Pointer(pDbFd)).FpShm // The shared memory being locked - var pShmNode uintptr = (*UnixShm)(unsafe.Pointer(p)).FpShmNode // The underlying file iNode - var rc int32 = SQLITE_OK // Result code - var mask U16 // Mask of locks to take or release - var aLock uintptr = pShmNode + 64 /* &.aLock */ + var pDbFd uintptr = fd // Connection holding shared memory + var p uintptr // The shared memory being locked + var pShmNode uintptr // The underlying file iNode + var rc int32 = SQLITE_OK // Result code + var mask U16 // Mask of locks to take or release + var aLock uintptr + + p = (*UnixFile)(unsafe.Pointer(pDbFd)).FpShm + if p == uintptr(0) { + return SQLITE_IOERR | int32(20)<<8 + } + pShmNode = (*UnixShm)(unsafe.Pointer(p)).FpShmNode + if pShmNode == uintptr(0) { + return SQLITE_IOERR | int32(20)<<8 + } + aLock = pShmNode + 64 /* &.aLock */ // Check that, if this to be a blocking lock, no locks that occur later // in the following list than the lock being obtained are already held: @@ -26327,7 +26337,7 @@ func unixShmLock(tls *libc.TLS, fd uintptr, ofst int32, n int32, flags int32) in // // All loads and stores begun before the barrier must complete before // any load or store begun after the barrier. -func unixShmBarrier(tls *libc.TLS, fd uintptr) { /* sqlite3.c:39819:13: */ +func unixShmBarrier(tls *libc.TLS, fd uintptr) { /* sqlite3.c:39825:13: */ _ = fd // compiler-defined memory barrier @@ -26340,7 +26350,7 @@ func unixShmBarrier(tls *libc.TLS, fd uintptr) { /* sqlite3.c:39819:13: */ // // If there is no shared memory associated with the connection then this // routine is a harmless no-op. -func unixShmUnmap(tls *libc.TLS, fd uintptr, deleteFlag int32) int32 { /* sqlite3.c:39838:12: */ +func unixShmUnmap(tls *libc.TLS, fd uintptr, deleteFlag int32) int32 { /* sqlite3.c:39844:12: */ var p uintptr // The connection to be closed var pShmNode uintptr // The underlying shared-memory file var pp uintptr // For looping over sibling connections @@ -26383,7 +26393,7 @@ func unixShmUnmap(tls *libc.TLS, fd uintptr, deleteFlag int32) int32 { /* sqlite } // If it is currently memory mapped, unmap file pFd. -func unixUnmapfile(tls *libc.TLS, pFd uintptr) { /* sqlite3.c:39895:13: */ +func unixUnmapfile(tls *libc.TLS, pFd uintptr) { /* sqlite3.c:39901:13: */ if (*UnixFile)(unsafe.Pointer(pFd)).FpMapRegion != 0 { (*(*func(*libc.TLS, uintptr, Size_t) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 23*24 + 8)))(tls, (*UnixFile)(unsafe.Pointer(pFd)).FpMapRegion, uint64((*UnixFile)(unsafe.Pointer(pFd)).FmmapSizeActual)) @@ -26406,7 +26416,7 @@ func unixUnmapfile(tls *libc.TLS, pFd uintptr) { /* sqlite3.c:39895:13: */ // the three variables above are zeroed. In this case SQLite should // continue accessing the database using the xRead() and xWrite() // methods. -func unixRemapfile(tls *libc.TLS, pFd uintptr, nNew I64) { /* sqlite3.c:39920:13: */ +func unixRemapfile(tls *libc.TLS, pFd uintptr, nNew I64) { /* sqlite3.c:39926:13: */ var zErr uintptr = ts + 3370 /* "mmap" */ var h int32 = (*UnixFile)(unsafe.Pointer(pFd)).Fh // File descriptor open on db file var pOrig uintptr = (*UnixFile)(unsafe.Pointer(pFd)).FpMapRegion // Pointer to current file mapping @@ -26440,7 +26450,7 @@ func unixRemapfile(tls *libc.TLS, pFd uintptr, nNew I64) { /* sqlite3.c:39920:13 if pNew == libc.UintptrFromInt32(-1) { pNew = uintptr(0) nNew = int64(0) - unixLogErrorAtLine(tls, SQLITE_OK, zErr, (*UnixFile)(unsafe.Pointer(pFd)).FzPath, 39985) + unixLogErrorAtLine(tls, SQLITE_OK, zErr, (*UnixFile)(unsafe.Pointer(pFd)).FzPath, 39991) // If the mmap() above failed, assume that all subsequent mmap() calls // will probably fail too. Fall back to using xRead/xWrite exclusively @@ -26465,7 +26475,7 @@ func unixRemapfile(tls *libc.TLS, pFd uintptr, nNew I64) { /* sqlite3.c:39920:13 // SQLITE_OK is returned if no error occurs (even if the mapping is not // recreated as a result of outstanding references) or an SQLite error // code otherwise. -func unixMapfile(tls *libc.TLS, pFd uintptr, nMap I64) int32 { /* sqlite3.c:40012:12: */ +func unixMapfile(tls *libc.TLS, pFd uintptr, nMap I64) int32 { /* sqlite3.c:40018:12: */ bp := tls.Alloc(144) defer tls.Free(144) @@ -26502,7 +26512,7 @@ func unixMapfile(tls *libc.TLS, pFd uintptr, nMap I64) int32 { /* sqlite3.c:4001 // // If this function does return a pointer, the caller must eventually // release the reference by calling unixUnfetch(). -func unixFetch(tls *libc.TLS, fd uintptr, iOff I64, nAmt int32, pp uintptr) int32 { /* sqlite3.c:40049:12: */ +func unixFetch(tls *libc.TLS, fd uintptr, iOff I64, nAmt int32, pp uintptr) int32 { /* sqlite3.c:40055:12: */ var pFd uintptr = fd // The underlying database file *(*uintptr)(unsafe.Pointer(pp)) = uintptr(0) @@ -26529,7 +26539,7 @@ func unixFetch(tls *libc.TLS, fd uintptr, iOff I64, nAmt int32, pp uintptr) int3 // Or, if the third argument is NULL, then this function is being called // to inform the VFS layer that, according to POSIX, any existing mapping // may now be invalid and should be unmapped. -func unixUnfetch(tls *libc.TLS, fd uintptr, iOff I64, p uintptr) int32 { /* sqlite3.c:40080:12: */ +func unixUnfetch(tls *libc.TLS, fd uintptr, iOff I64, p uintptr) int32 { /* sqlite3.c:40086:12: */ var pFd uintptr = fd // The underlying database file _ = iOff @@ -26590,33 +26600,33 @@ func unixUnfetch(tls *libc.TLS, fd uintptr, iOff I64, p uintptr) int32 { /* sqli // Here are all of the sqlite3_io_methods objects for each of the // locking strategies. Functions that return pointers to these methods // are also created. -var posixIoMethods = Sqlite3_io_methods{FiVersion: 3 /* iVersion */, FxClose: 0 /* xClose */, FxRead: 0 /* xRead */, FxWrite: 0 /* xWrite */, FxTruncate: 0 /* xTruncate */, FxSync: 0 /* xSync */, FxFileSize: 0 /* xFileSize */, FxLock: 0 /* xLock */, FxUnlock: 0 /* xUnlock */, FxCheckReservedLock: 0 /* xCheckReservedLock */, FxFileControl: 0 /* xFileControl */, FxSectorSize: 0 /* xSectorSize */, FxDeviceCharacteristics: 0 /* xDeviceCapabilities */, FxShmMap: 0 /* xShmMap */, FxShmLock: 0 /* xShmLock */, FxShmBarrier: 0 /* xShmBarrier */, FxShmUnmap: 0 /* xShmUnmap */, FxFetch: 0 /* xFetch */, FxUnfetch: 0 /* xUnfetch */} /* sqlite3.c:40182:1 */ +var posixIoMethods = Sqlite3_io_methods{FiVersion: 3 /* iVersion */, FxClose: 0 /* xClose */, FxRead: 0 /* xRead */, FxWrite: 0 /* xWrite */, FxTruncate: 0 /* xTruncate */, FxSync: 0 /* xSync */, FxFileSize: 0 /* xFileSize */, FxLock: 0 /* xLock */, FxUnlock: 0 /* xUnlock */, FxCheckReservedLock: 0 /* xCheckReservedLock */, FxFileControl: 0 /* xFileControl */, FxSectorSize: 0 /* xSectorSize */, FxDeviceCharacteristics: 0 /* xDeviceCapabilities */, FxShmMap: 0 /* xShmMap */, FxShmLock: 0 /* xShmLock */, FxShmBarrier: 0 /* xShmBarrier */, FxShmUnmap: 0 /* xShmUnmap */, FxFetch: 0 /* xFetch */, FxUnfetch: 0 /* xUnfetch */} /* sqlite3.c:40188:1 */ -func posixIoFinderImpl(tls *libc.TLS, z uintptr, p uintptr) uintptr { /* sqlite3.c:40182:1: */ +func posixIoFinderImpl(tls *libc.TLS, z uintptr, p uintptr) uintptr { /* sqlite3.c:40188:1: */ _ = z _ = p return uintptr(unsafe.Pointer(&posixIoMethods)) } -var posixIoFinder uintptr = 0 /* sqlite3.c:40182:1 */ -var nolockIoMethods = Sqlite3_io_methods{FiVersion: 3 /* iVersion */, FxClose: 0 /* xClose */, FxRead: 0 /* xRead */, FxWrite: 0 /* xWrite */, FxTruncate: 0 /* xTruncate */, FxSync: 0 /* xSync */, FxFileSize: 0 /* xFileSize */, FxLock: 0 /* xLock */, FxUnlock: 0 /* xUnlock */, FxCheckReservedLock: 0 /* xCheckReservedLock */, FxFileControl: 0 /* xFileControl */, FxSectorSize: 0 /* xSectorSize */, FxDeviceCharacteristics: 0 /* xShmMap */, FxShmLock: 0 /* xShmLock */, FxShmBarrier: 0 /* xShmBarrier */, FxShmUnmap: 0 /* xShmUnmap */, FxFetch: 0 /* xFetch */, FxUnfetch: 0 /* xUnfetch */} /* sqlite3.c:40192:1 */ +var posixIoFinder uintptr = 0 /* sqlite3.c:40188:1 */ +var nolockIoMethods = Sqlite3_io_methods{FiVersion: 3 /* iVersion */, FxClose: 0 /* xClose */, FxRead: 0 /* xRead */, FxWrite: 0 /* xWrite */, FxTruncate: 0 /* xTruncate */, FxSync: 0 /* xSync */, FxFileSize: 0 /* xFileSize */, FxLock: 0 /* xLock */, FxUnlock: 0 /* xUnlock */, FxCheckReservedLock: 0 /* xCheckReservedLock */, FxFileControl: 0 /* xFileControl */, FxSectorSize: 0 /* xSectorSize */, FxDeviceCharacteristics: 0 /* xShmMap */, FxShmLock: 0 /* xShmLock */, FxShmBarrier: 0 /* xShmBarrier */, FxShmUnmap: 0 /* xShmUnmap */, FxFetch: 0 /* xFetch */, FxUnfetch: 0 /* xUnfetch */} /* sqlite3.c:40198:1 */ -func nolockIoFinderImpl(tls *libc.TLS, z uintptr, p uintptr) uintptr { /* sqlite3.c:40192:1: */ +func nolockIoFinderImpl(tls *libc.TLS, z uintptr, p uintptr) uintptr { /* sqlite3.c:40198:1: */ _ = z _ = p return uintptr(unsafe.Pointer(&nolockIoMethods)) } -var nolockIoFinder uintptr = 0 /* sqlite3.c:40192:1 */ -var dotlockIoMethods = Sqlite3_io_methods{FiVersion: 1 /* iVersion */, FxClose: 0 /* xClose */, FxRead: 0 /* xRead */, FxWrite: 0 /* xWrite */, FxTruncate: 0 /* xTruncate */, FxSync: 0 /* xSync */, FxFileSize: 0 /* xFileSize */, FxLock: 0 /* xLock */, FxUnlock: 0 /* xUnlock */, FxCheckReservedLock: 0 /* xCheckReservedLock */, FxFileControl: 0 /* xFileControl */, FxSectorSize: 0 /* xSectorSize */, FxDeviceCharacteristics: 0 /* xShmMap */, FxShmLock: 0 /* xShmLock */, FxShmBarrier: 0 /* xShmBarrier */, FxShmUnmap: 0 /* xShmUnmap */, FxFetch: 0 /* xFetch */, FxUnfetch: 0 /* xUnfetch */} /* sqlite3.c:40202:1 */ +var nolockIoFinder uintptr = 0 /* sqlite3.c:40198:1 */ +var dotlockIoMethods = Sqlite3_io_methods{FiVersion: 1 /* iVersion */, FxClose: 0 /* xClose */, FxRead: 0 /* xRead */, FxWrite: 0 /* xWrite */, FxTruncate: 0 /* xTruncate */, FxSync: 0 /* xSync */, FxFileSize: 0 /* xFileSize */, FxLock: 0 /* xLock */, FxUnlock: 0 /* xUnlock */, FxCheckReservedLock: 0 /* xCheckReservedLock */, FxFileControl: 0 /* xFileControl */, FxSectorSize: 0 /* xSectorSize */, FxDeviceCharacteristics: 0 /* xShmMap */, FxShmLock: 0 /* xShmLock */, FxShmBarrier: 0 /* xShmBarrier */, FxShmUnmap: 0 /* xShmUnmap */, FxFetch: 0 /* xFetch */, FxUnfetch: 0 /* xUnfetch */} /* sqlite3.c:40208:1 */ -func dotlockIoFinderImpl(tls *libc.TLS, z uintptr, p uintptr) uintptr { /* sqlite3.c:40202:1: */ +func dotlockIoFinderImpl(tls *libc.TLS, z uintptr, p uintptr) uintptr { /* sqlite3.c:40208:1: */ _ = z _ = p return uintptr(unsafe.Pointer(&dotlockIoMethods)) } -var dotlockIoFinder uintptr = 0 /* sqlite3.c:40202:1 */ +var dotlockIoFinder uintptr = 0 /* sqlite3.c:40208:1 */ // The proxy locking method is a "super-method" in the sense that it // opens secondary file descriptors for the conch and lock files and @@ -26629,7 +26639,7 @@ var dotlockIoFinder uintptr = 0 /* sqlite3.c:40202:1 */ // nfs lockd on OSX 10.3+ doesn't clear write locks when a read lock is set // An abstract type for a pointer to an IO method finder function: -type Finder_type = uintptr /* sqlite3.c:40397:34 */ +type Finder_type = uintptr /* sqlite3.c:40403:34 */ // *************************************************************************** // @@ -26639,7 +26649,7 @@ type Finder_type = uintptr /* sqlite3.c:40397:34 */ // sqlite3_vfs object. // Initialize the contents of the unixFile structure pointed to by pId. -func fillInUnixFile(tls *libc.TLS, pVfs uintptr, h int32, pId uintptr, zFilename uintptr, ctrlFlags int32) int32 { /* sqlite3.c:40410:12: */ +func fillInUnixFile(tls *libc.TLS, pVfs uintptr, h int32, pId uintptr, zFilename uintptr, ctrlFlags int32) int32 { /* sqlite3.c:40416:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -26696,7 +26706,7 @@ func fillInUnixFile(tls *libc.TLS, pVfs uintptr, h int32, pId uintptr, zFilename // If scenario (a) caused the error then things are not so safe. The // implicit assumption here is that if fstat() fails, things are in // such bad shape that dropping a lock or two doesn't matter much. - robust_close(tls, pNew, h, 40488) + robust_close(tls, pNew, h, 40494) h = -1 } unixLeaveMutex(tls) @@ -26719,7 +26729,7 @@ func fillInUnixFile(tls *libc.TLS, pVfs uintptr, h int32, pId uintptr, zFilename storeLastErrno(tls, pNew, 0) if rc != SQLITE_OK { if h >= 0 { - robust_close(tls, pNew, h, 40573) + robust_close(tls, pNew, h, 40579) } } else { (*Sqlite3_file)(unsafe.Pointer(pId)).FpMethods = pLockingStyle @@ -26737,17 +26747,17 @@ var azTempDirs = [6]uintptr{ ts + 3680, ts + 3689, ts + 1547, -} /* sqlite3.c:40585:19 */ +} /* sqlite3.c:40591:19 */ // Initialize first two members of azTempDirs[] array. -func unixTempFileInit(tls *libc.TLS) { /* sqlite3.c:40597:13: */ +func unixTempFileInit(tls *libc.TLS) { /* sqlite3.c:40603:13: */ azTempDirs[0] = libc.Xgetenv(tls, ts+3694) azTempDirs[1] = libc.Xgetenv(tls, ts+3708) } // Return the name of a directory in which to put temporary files. // If no suitable temporary file directory can be found, return NULL. -func unixTempFileDir(tls *libc.TLS) uintptr { /* sqlite3.c:40606:19: */ +func unixTempFileDir(tls *libc.TLS) uintptr { /* sqlite3.c:40612:19: */ bp := tls.Alloc(144) defer tls.Free(144) @@ -26774,7 +26784,7 @@ func unixTempFileDir(tls *libc.TLS) uintptr { /* sqlite3.c:40606:19: */ // Create a temporary file name in zBuf. zBuf must be allocated // by the calling process and must be big enough to hold at least // pVfs->mxPathname bytes. -func unixGetTempname(tls *libc.TLS, nBuf int32, zBuf uintptr) int32 { /* sqlite3.c:40630:12: */ +func unixGetTempname(tls *libc.TLS, nBuf int32, zBuf uintptr) int32 { /* sqlite3.c:40636:12: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -26818,7 +26828,7 @@ func unixGetTempname(tls *libc.TLS, nBuf int32, zBuf uintptr) int32 { /* sqlite3 // // If a suitable file descriptor is found, then it is returned. If no // such file descriptor is located, -1 is returned. -func findReusableFd(tls *libc.TLS, zPath uintptr, flags int32) uintptr { /* sqlite3.c:40680:21: */ +func findReusableFd(tls *libc.TLS, zPath uintptr, flags int32) uintptr { /* sqlite3.c:40686:21: */ bp := tls.Alloc(144) defer tls.Free(144) @@ -26869,7 +26879,7 @@ func findReusableFd(tls *libc.TLS, zPath uintptr, flags int32) uintptr { /* sqli } // Find the mode, uid and gid of file zFile. -func getFileMode(tls *libc.TLS, zFile uintptr, pMode uintptr, pUid uintptr, pGid uintptr) int32 { /* sqlite3.c:40730:12: */ +func getFileMode(tls *libc.TLS, zFile uintptr, pMode uintptr, pUid uintptr, pGid uintptr) int32 { /* sqlite3.c:40736:12: */ bp := tls.Alloc(144) defer tls.Free(144) @@ -26905,7 +26915,7 @@ func getFileMode(tls *libc.TLS, zFile uintptr, pMode uintptr, pUid uintptr, pGid // original filename is unavailable. But 8_3_NAMES is only used for // FAT filesystems and permissions do not matter there, so just use // the default permissions. In 8_3_NAMES mode, leave *pMode set to zero. -func findCreateFileMode(tls *libc.TLS, zPath uintptr, flags int32, pMode uintptr, pUid uintptr, pGid uintptr) int32 { /* sqlite3.c:40769:12: */ +func findCreateFileMode(tls *libc.TLS, zPath uintptr, flags int32, pMode uintptr, pUid uintptr, pGid uintptr) int32 { /* sqlite3.c:40775:12: */ bp := tls.Alloc(513) defer tls.Free(513) @@ -26979,7 +26989,7 @@ func findCreateFileMode(tls *libc.TLS, zPath uintptr, flags int32, pMode uintptr // file handle closed. To achieve the same effect using this new // interface, add the DELETEONCLOSE flag to those specified above for // OpenExclusive(). -func unixOpen(tls *libc.TLS, pVfs uintptr, zPath uintptr, pFile uintptr, flags int32, pOutFlags uintptr) int32 { /* sqlite3.c:40846:12: */ +func unixOpen(tls *libc.TLS, pVfs uintptr, zPath uintptr, pFile uintptr, flags int32, pOutFlags uintptr) int32 { /* sqlite3.c:40852:12: */ bp := tls.Alloc(528) defer tls.Free(528) @@ -27177,7 +27187,7 @@ __15: if !(fd < 0) { goto __19 } - rc2 = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 41002), ts+3212, zName, 41002) + rc2 = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 41008), ts+3212, zName, 41008) if !(rc == SQLITE_OK) { goto __20 } @@ -27277,7 +27287,7 @@ __30: // Delete the file at zPath. If the dirSync argument is true, fsync() // the directory after deleting the file. -func unixDelete(tls *libc.TLS, NotUsed uintptr, zPath uintptr, dirSync int32) int32 { /* sqlite3.c:41125:12: */ +func unixDelete(tls *libc.TLS, NotUsed uintptr, zPath uintptr, dirSync int32) int32 { /* sqlite3.c:41131:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -27288,7 +27298,7 @@ func unixDelete(tls *libc.TLS, NotUsed uintptr, zPath uintptr, dirSync int32) in if *(*int32)(unsafe.Pointer(libc.X__errno_location(tls))) == ENOENT { rc = SQLITE_IOERR | int32(23)<<8 } else { - rc = unixLogErrorAtLine(tls, SQLITE_IOERR|int32(10)<<8, ts+3322, zPath, 41141) + rc = unixLogErrorAtLine(tls, SQLITE_IOERR|int32(10)<<8, ts+3322, zPath, 41147) } return rc } @@ -27298,9 +27308,9 @@ func unixDelete(tls *libc.TLS, NotUsed uintptr, zPath uintptr, dirSync int32) in rc = (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 17*24 + 8)))(tls, zPath, bp) if rc == SQLITE_OK { if full_fsync(tls, *(*int32)(unsafe.Pointer(bp)), 0, 0) != 0 { - rc = unixLogErrorAtLine(tls, SQLITE_IOERR|int32(5)<<8, ts+3739, zPath, 41151) + rc = unixLogErrorAtLine(tls, SQLITE_IOERR|int32(5)<<8, ts+3739, zPath, 41157) } - robust_close(tls, uintptr(0), *(*int32)(unsafe.Pointer(bp /* fd */)), 41153) + robust_close(tls, uintptr(0), *(*int32)(unsafe.Pointer(bp /* fd */)), 41159) } else { rc = SQLITE_OK @@ -27317,7 +27327,7 @@ func unixDelete(tls *libc.TLS, NotUsed uintptr, zPath uintptr, dirSync int32) in // SQLITE_ACCESS_READONLY: Return 1 if the file is readable. // // Otherwise return 0. -func unixAccess(tls *libc.TLS, NotUsed uintptr, zPath uintptr, flags int32, pResOut uintptr) int32 { /* sqlite3.c:41173:12: */ +func unixAccess(tls *libc.TLS, NotUsed uintptr, zPath uintptr, flags int32, pResOut uintptr) int32 { /* sqlite3.c:41179:12: */ bp := tls.Alloc(144) defer tls.Free(144) @@ -27339,7 +27349,7 @@ func unixAccess(tls *libc.TLS, NotUsed uintptr, zPath uintptr, flags int32, pRes // If the last component of the pathname in z[0]..z[j-1] is something // other than ".." then back it out and return true. If the last // component is empty or if it is ".." then return false. -func unixBackupDir(tls *libc.TLS, z uintptr, pJ uintptr) int32 { /* sqlite3.c:41202:12: */ +func unixBackupDir(tls *libc.TLS, z uintptr, pJ uintptr) int32 { /* sqlite3.c:41208:12: */ var j int32 = *(*int32)(unsafe.Pointer(pJ)) var i int32 if j <= 0 { @@ -27362,7 +27372,7 @@ func unixBackupDir(tls *libc.TLS, z uintptr, pJ uintptr) int32 { /* sqlite3.c:41 // // Remove all instances of /./ // Remove all isntances of /X/../ for any X -func mkFullPathname(tls *libc.TLS, zPath uintptr, zOut uintptr, nOut int32) int32 { /* sqlite3.c:41220:12: */ +func mkFullPathname(tls *libc.TLS, zPath uintptr, zOut uintptr, nOut int32) int32 { /* sqlite3.c:41226:12: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -27373,7 +27383,7 @@ func mkFullPathname(tls *libc.TLS, zPath uintptr, zOut uintptr, nOut int32) int3 if int32(*(*uint8)(unsafe.Pointer(zPath))) != '/' { if (*(*func(*libc.TLS, uintptr, Size_t) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 3*24 + 8)))(tls, zOut, uint64(nOut-2)) == uintptr(0) { - return unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 41230), ts+3230, zPath, 41230) + return unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 41236), ts+3230, zPath, 41236) } iOff = Xsqlite3Strlen30(tls, zOut) *(*uint8)(unsafe.Pointer(zOut + uintptr(libc.PostIncInt32(&iOff, 1)))) = uint8('/') @@ -27382,7 +27392,7 @@ func mkFullPathname(tls *libc.TLS, zPath uintptr, zOut uintptr, nOut int32) int3 // SQLite assumes that xFullPathname() nul-terminates the output buffer // even if it returns an error. *(*uint8)(unsafe.Pointer(zOut + uintptr(iOff))) = uint8(0) - return Xsqlite3CantopenError(tls, 41239) + return Xsqlite3CantopenError(tls, 41245) } Xsqlite3_snprintf(tls, nOut-iOff, zOut+uintptr(iOff), ts+3614, libc.VaList(bp, zPath)) @@ -27433,7 +27443,7 @@ func mkFullPathname(tls *libc.TLS, zPath uintptr, zOut uintptr, nOut int32) int3 // zOut points to a buffer of at least sqlite3_vfs.mxPathname bytes // (in this case, MAX_PATHNAME bytes). The full-path is written to // this buffer before returning. -func unixFullPathname(tls *libc.TLS, pVfs uintptr, zPath uintptr, nOut int32, zOut uintptr) int32 { /* sqlite3.c:41289:12: */ +func unixFullPathname(tls *libc.TLS, pVfs uintptr, zPath uintptr, nOut int32, zOut uintptr) int32 { /* sqlite3.c:41295:12: */ bp := tls.Alloc(144) defer tls.Free(144) @@ -27459,7 +27469,7 @@ func unixFullPathname(tls *libc.TLS, pVfs uintptr, zPath uintptr, nOut int32, zO if (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 27*24 + 8)))(tls, zIn, bp) != 0 { if *(*int32)(unsafe.Pointer(libc.X__errno_location(tls))) != ENOENT { - rc = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 41322), ts+3410, zIn, 41322) + rc = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 41328), ts+3410, zIn, 41328) } } else { bLink = libc.Bool32((*stat)(unsafe.Pointer(bp)).Fst_mode&X__mode_t(0170000) == X__mode_t(0120000)) @@ -27473,20 +27483,20 @@ func unixFullPathname(tls *libc.TLS, pVfs uintptr, zPath uintptr, nOut int32, zO rc = SQLITE_NOMEM } } else if nLink >= SQLITE_MAX_SYMLINKS { - rc = Xsqlite3CantopenError(tls, 41334) + rc = Xsqlite3CantopenError(tls, 41340) } if rc == SQLITE_OK { nByte = int32((*(*func(*libc.TLS, uintptr, uintptr, Size_t) Ssize_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 26*24 + 8)))(tls, zIn, zDel, uint64(nOut-1))) if nByte < 0 { - rc = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 41340), ts+3401, zIn, 41340) + rc = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 41346), ts+3401, zIn, 41346) } else { if int32(*(*uint8)(unsafe.Pointer(zDel))) != '/' { var n int32 for n = Xsqlite3Strlen30(tls, zIn); n > 0 && int32(*(*uint8)(unsafe.Pointer(zIn + uintptr(n-1)))) != '/'; n-- { } if nByte+n+1 > nOut { - rc = Xsqlite3CantopenError(tls, 41346) + rc = Xsqlite3CantopenError(tls, 41352) } else { libc.Xmemmove(tls, zDel+uintptr(n), zDel, uint64(nByte+1)) libc.Xmemcpy(tls, zDel, zIn, uint64(n)) @@ -27558,7 +27568,7 @@ type Dl_serinfo = struct { } } /* dlfcn.h:196:3 */ -func unixDlOpen(tls *libc.TLS, NotUsed uintptr, zFilename uintptr) uintptr { /* sqlite3.c:41381:13: */ +func unixDlOpen(tls *libc.TLS, NotUsed uintptr, zFilename uintptr) uintptr { /* sqlite3.c:41387:13: */ _ = NotUsed return libc.Xdlopen(tls, zFilename, RTLD_NOW|RTLD_GLOBAL) } @@ -27568,7 +27578,7 @@ func unixDlOpen(tls *libc.TLS, NotUsed uintptr, zFilename uintptr) uintptr { /* // message is available, it is written to zBufOut. If no error message // is available, zBufOut is left unmodified and SQLite uses a default // error message. -func unixDlError(tls *libc.TLS, NotUsed uintptr, nBuf int32, zBufOut uintptr) { /* sqlite3.c:41393:13: */ +func unixDlError(tls *libc.TLS, NotUsed uintptr, nBuf int32, zBufOut uintptr) { /* sqlite3.c:41399:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -27582,7 +27592,7 @@ func unixDlError(tls *libc.TLS, NotUsed uintptr, nBuf int32, zBufOut uintptr) { unixLeaveMutex(tls) } -func unixDlSym(tls *libc.TLS, NotUsed uintptr, p uintptr, zSym uintptr) uintptr { /* sqlite3.c:41403:13: */ +func unixDlSym(tls *libc.TLS, NotUsed uintptr, p uintptr, zSym uintptr) uintptr { /* sqlite3.c:41409:13: */ // GCC with -pedantic-errors says that C90 does not allow a void* to be // cast into a pointer to a function. And yet the library dlsym() routine // returns a void* which is really a pointer to a function. So how do we @@ -27608,13 +27618,13 @@ func unixDlSym(tls *libc.TLS, NotUsed uintptr, p uintptr, zSym uintptr) uintptr })(unsafe.Pointer(&struct{ uintptr }{x})).f(tls, p, zSym) } -func unixDlClose(tls *libc.TLS, NotUsed uintptr, pHandle uintptr) { /* sqlite3.c:41426:13: */ +func unixDlClose(tls *libc.TLS, NotUsed uintptr, pHandle uintptr) { /* sqlite3.c:41432:13: */ _ = NotUsed libc.Xdlclose(tls, pHandle) } // Write nBuf bytes of random data to the supplied buffer zBuf. -func unixRandomness(tls *libc.TLS, NotUsed uintptr, nBuf int32, zBuf uintptr) int32 { /* sqlite3.c:41440:12: */ +func unixRandomness(tls *libc.TLS, NotUsed uintptr, nBuf int32, zBuf uintptr) int32 { /* sqlite3.c:41446:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -27649,7 +27659,7 @@ func unixRandomness(tls *libc.TLS, NotUsed uintptr, nBuf int32, zBuf uintptr) in for __ccgo := true; __ccgo; __ccgo = got < 0 && *(*int32)(unsafe.Pointer(libc.X__errno_location(tls))) == EINTR { got = int32((*(*func(*libc.TLS, int32, uintptr, Size_t) Ssize_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 8*24 + 8)))(tls, fd, zBuf, uint64(nBuf))) } - robust_close(tls, uintptr(0), fd, 41471) + robust_close(tls, uintptr(0), fd, 41477) } } @@ -27662,7 +27672,7 @@ func unixRandomness(tls *libc.TLS, NotUsed uintptr, nBuf int32, zBuf uintptr) in // requested from the underlying operating system, a number which // might be greater than or equal to the argument, but not less // than the argument. -func unixSleep(tls *libc.TLS, NotUsed uintptr, microseconds int32) int32 { /* sqlite3.c:41487:12: */ +func unixSleep(tls *libc.TLS, NotUsed uintptr, microseconds int32) int32 { /* sqlite3.c:41493:12: */ if microseconds >= 1000000 { libc.Xsleep(tls, uint32(microseconds/1000000)) } @@ -27685,7 +27695,7 @@ func unixSleep(tls *libc.TLS, NotUsed uintptr, microseconds int32) int32 { /* sq // // On success, return SQLITE_OK. Return SQLITE_ERROR if the time and date // cannot be found. -func unixCurrentTimeInt64(tls *libc.TLS, NotUsed uintptr, piNow uintptr) int32 { /* sqlite3.c:41528:12: */ +func unixCurrentTimeInt64(tls *libc.TLS, NotUsed uintptr, piNow uintptr) int32 { /* sqlite3.c:41534:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -27699,12 +27709,12 @@ func unixCurrentTimeInt64(tls *libc.TLS, NotUsed uintptr, piNow uintptr) int32 { return rc } -var unixEpoch Sqlite3_int64 = int64(24405875) * int64(8640000) /* sqlite3.c:41529:30 */ +var unixEpoch Sqlite3_int64 = int64(24405875) * int64(8640000) /* sqlite3.c:41535:30 */ // Find the current time (in Universal Coordinated Time). Write the // current time and date as a Julian Day number into *prNow and // return 0. Return 1 if the time and date cannot be found. -func unixCurrentTime(tls *libc.TLS, NotUsed uintptr, prNow uintptr) int32 { /* sqlite3.c:41560:12: */ +func unixCurrentTime(tls *libc.TLS, NotUsed uintptr, prNow uintptr) int32 { /* sqlite3.c:41566:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -27720,7 +27730,7 @@ func unixCurrentTime(tls *libc.TLS, NotUsed uintptr, prNow uintptr) int32 { /* s // low-level error message when operating-system problems come up // during SQLite operation. Only the integer return code is currently // used. -func unixGetLastError(tls *libc.TLS, NotUsed uintptr, NotUsed2 int32, NotUsed3 uintptr) int32 { /* sqlite3.c:41578:12: */ +func unixGetLastError(tls *libc.TLS, NotUsed uintptr, NotUsed2 int32, NotUsed3 uintptr) int32 { /* sqlite3.c:41584:12: */ _ = NotUsed _ = NotUsed2 _ = NotUsed3 @@ -27902,7 +27912,7 @@ func unixGetLastError(tls *libc.TLS, NotUsed uintptr, NotUsed2 int32, NotUsed3 u // single thread. The memory allocation and mutex subsystems have not // necessarily been initialized when this routine is called, and so they // should not be used. -func Xsqlite3_os_init(tls *libc.TLS) int32 { /* sqlite3.c:42783:16: */ +func Xsqlite3_os_init(tls *libc.TLS) int32 { /* sqlite3.c:42789:16: */ var i uint32 // Loop counter // Double-check that the aSyscall[] array has been constructed @@ -27940,14 +27950,14 @@ var aVfs = [4]Sqlite3_vfs{ {FiVersion: 3 /* iVersion */, FszOsFile: int32(unsafe.Sizeof(UnixFile{})) /* szOsFile */, FmxPathname: MAX_PATHNAME /* pNext */, FzName: ts + 3763, FpAppData: 0 /* pAppData */, FxOpen: 0 /* xOpen */, FxDelete: 0 /* xDelete */, FxAccess: 0 /* xAccess */, FxFullPathname: 0 /* xFullPathname */, FxDlOpen: 0 /* xDlOpen */, FxDlError: 0 /* xDlError */, FxDlSym: 0 /* xDlSym */, FxDlClose: 0 /* xDlClose */, FxRandomness: 0 /* xRandomness */, FxSleep: 0 /* xSleep */, FxCurrentTime: 0 /* xCurrentTime */, FxGetLastError: 0 /* xGetLastError */, FxCurrentTimeInt64: 0 /* xCurrentTimeInt64 */, FxSetSystemCall: 0 /* xSetSystemCall */, FxGetSystemCall: 0 /* xGetSystemCall */, FxNextSystemCall: 0 /* xNextSystemCall */}, {FiVersion: 3 /* iVersion */, FszOsFile: int32(unsafe.Sizeof(UnixFile{})) /* szOsFile */, FmxPathname: MAX_PATHNAME /* pNext */, FzName: ts + 3773, FpAppData: 0 /* pAppData */, FxOpen: 0 /* xOpen */, FxDelete: 0 /* xDelete */, FxAccess: 0 /* xAccess */, FxFullPathname: 0 /* xFullPathname */, FxDlOpen: 0 /* xDlOpen */, FxDlError: 0 /* xDlError */, FxDlSym: 0 /* xDlSym */, FxDlClose: 0 /* xDlClose */, FxRandomness: 0 /* xRandomness */, FxSleep: 0 /* xSleep */, FxCurrentTime: 0 /* xCurrentTime */, FxGetLastError: 0 /* xGetLastError */, FxCurrentTimeInt64: 0 /* xCurrentTimeInt64 */, FxSetSystemCall: 0 /* xSetSystemCall */, FxGetSystemCall: 0 /* xGetSystemCall */, FxNextSystemCall: 0 /* xNextSystemCall */}, {FiVersion: 3 /* iVersion */, FszOsFile: int32(unsafe.Sizeof(UnixFile{})) /* szOsFile */, FmxPathname: MAX_PATHNAME /* pNext */, FzName: ts + 3653, FpAppData: 0 /* pAppData */, FxOpen: 0 /* xOpen */, FxDelete: 0 /* xDelete */, FxAccess: 0 /* xAccess */, FxFullPathname: 0 /* xFullPathname */, FxDlOpen: 0 /* xDlOpen */, FxDlError: 0 /* xDlError */, FxDlSym: 0 /* xDlSym */, FxDlClose: 0 /* xDlClose */, FxRandomness: 0 /* xRandomness */, FxSleep: 0 /* xSleep */, FxCurrentTime: 0 /* xCurrentTime */, FxGetLastError: 0 /* xGetLastError */, FxCurrentTimeInt64: 0 /* xCurrentTimeInt64 */, FxSetSystemCall: 0 /* xSetSystemCall */, FxGetSystemCall: 0 /* xGetSystemCall */, FxNextSystemCall: 0 /* xNextSystemCall */}, -} /* sqlite3.c:42836:22 */ +} /* sqlite3.c:42842:22 */ // Shutdown the operating system interface. // // Some operating systems might need to do some cleanup in this routine, // to release dynamically allocated objects. But not on unix. // This routine is a no-op for unix. -func Xsqlite3_os_end(tls *libc.TLS) int32 { /* sqlite3.c:42905:16: */ +func Xsqlite3_os_end(tls *libc.TLS) int32 { /* sqlite3.c:42911:16: */ unixBigLock = uintptr(0) return SQLITE_OK } @@ -27989,15 +27999,15 @@ func Xsqlite3_os_end(tls *libc.TLS) int32 { /* sqlite3.c:42905:16: */ // #include "sqliteInt.h" // Forward declaration of objects used by this utility -type MemVfs = sqlite3_vfs /* sqlite3.c:49095:28 */ +type MemVfs = sqlite3_vfs /* sqlite3.c:49105:28 */ type MemFile1 = struct { Fbase Sqlite3_file FpStore uintptr FeLock int32 F__ccgo_pad1 [4]byte -} /* sqlite3.c:49096:9 */ +} /* sqlite3.c:49106:9 */ -type MemFile = MemFile1 /* sqlite3.c:49096:24 */ +type MemFile = MemFile1 /* sqlite3.c:49106:24 */ type MemStore1 = struct { Fsz Sqlite3_int64 FszAlloc Sqlite3_int64 @@ -28011,9 +28021,9 @@ type MemStore1 = struct { FnRef int32 F__ccgo_pad1 [4]byte FzFName uintptr -} /* sqlite3.c:49096:9 */ +} /* sqlite3.c:49106:9 */ -type MemStore = MemStore1 /* sqlite3.c:49097:25 */ +type MemStore = MemStore1 /* sqlite3.c:49107:25 */ // File-scope variables for holding the memdb files that are accessible // to multiple database connections in separate threads. @@ -28023,13 +28033,13 @@ type MemFS = struct { FnMemStore int32 F__ccgo_pad1 [4]byte FapMemStore uintptr -} /* sqlite3.c:49167:8 */ +} /* sqlite3.c:49177:8 */ // File-scope variables for holding the memdb files that are accessible // to multiple database connections in separate threads. // // Must hold SQLITE_MUTEX_STATIC_VFS1 to access any part of this object. -var memdb_g MemFS /* sqlite3.c:49170:3: */ +var memdb_g MemFS /* sqlite3.c:49180:3: */ var memdb_vfs = Sqlite3_vfs{ FiVersion: 2, // szOsFile (set when registered) @@ -28046,7 +28056,7 @@ var memdb_vfs = Sqlite3_vfs{ FxSleep: 0, /* memdbCurrentTime, */ // xCurrentTime FxGetLastError: 0, // xGetLastError FxCurrentTimeInt64: 0, // xNextSystemCall -} /* sqlite3.c:49206:20 */ +} /* sqlite3.c:49216:20 */ var memdb_io_methods = Sqlite3_io_methods{ FiVersion: 3, // iVersion @@ -28062,21 +28072,21 @@ var memdb_io_methods = Sqlite3_io_methods{ FxDeviceCharacteristics: 0, // xShmUnmap FxFetch: 0, // xFetch FxUnfetch: 0, // xUnfetch -} /* sqlite3.c:49231:33 */ +} /* sqlite3.c:49241:33 */ // Enter/leave the mutex on a MemStore -func memdbEnter(tls *libc.TLS, p uintptr) { /* sqlite3.c:49264:13: */ +func memdbEnter(tls *libc.TLS, p uintptr) { /* sqlite3.c:49274:13: */ Xsqlite3_mutex_enter(tls, (*MemStore)(unsafe.Pointer(p)).FpMutex) } -func memdbLeave(tls *libc.TLS, p uintptr) { /* sqlite3.c:49267:13: */ +func memdbLeave(tls *libc.TLS, p uintptr) { /* sqlite3.c:49277:13: */ Xsqlite3_mutex_leave(tls, (*MemStore)(unsafe.Pointer(p)).FpMutex) } // Close an memdb-file. // Free the underlying MemStore object when its refcount drops to zero // or less. -func memdbClose(tls *libc.TLS, pFile uintptr) int32 { /* sqlite3.c:49279:12: */ +func memdbClose(tls *libc.TLS, pFile uintptr) int32 { /* sqlite3.c:49289:12: */ var p uintptr = (*MemFile)(unsafe.Pointer(pFile)).FpStore if (*MemStore)(unsafe.Pointer(p)).FzFName != 0 { var i int32 @@ -28114,7 +28124,7 @@ func memdbClose(tls *libc.TLS, pFile uintptr) int32 { /* sqlite3.c:49279:12: */ } // Read data from an memdb-file. -func memdbRead(tls *libc.TLS, pFile uintptr, zBuf uintptr, iAmt int32, iOfst Sqlite_int64) int32 { /* sqlite3.c:49321:12: */ +func memdbRead(tls *libc.TLS, pFile uintptr, zBuf uintptr, iAmt int32, iOfst Sqlite_int64) int32 { /* sqlite3.c:49331:12: */ var p uintptr = (*MemFile)(unsafe.Pointer(pFile)).FpStore memdbEnter(tls, p) if iOfst+Sqlite_int64(iAmt) > (*MemStore)(unsafe.Pointer(p)).Fsz { @@ -28131,7 +28141,7 @@ func memdbRead(tls *libc.TLS, pFile uintptr, zBuf uintptr, iAmt int32, iOfst Sql } // Try to enlarge the memory allocation to hold at least sz bytes -func memdbEnlarge(tls *libc.TLS, p uintptr, newSz Sqlite3_int64) int32 { /* sqlite3.c:49343:12: */ +func memdbEnlarge(tls *libc.TLS, p uintptr, newSz Sqlite3_int64) int32 { /* sqlite3.c:49353:12: */ var pNew uintptr if (*MemStore)(unsafe.Pointer(p)).FmFlags&uint32(SQLITE_DESERIALIZE_RESIZEABLE) == uint32(0) || (*MemStore)(unsafe.Pointer(p)).FnMmap > 0 { return SQLITE_FULL @@ -28153,7 +28163,7 @@ func memdbEnlarge(tls *libc.TLS, p uintptr, newSz Sqlite3_int64) int32 { /* sqli } // Write data to an memdb-file. -func memdbWrite(tls *libc.TLS, pFile uintptr, z uintptr, iAmt int32, iOfst Sqlite_int64) int32 { /* sqlite3.c:49363:12: */ +func memdbWrite(tls *libc.TLS, pFile uintptr, z uintptr, iAmt int32, iOfst Sqlite_int64) int32 { /* sqlite3.c:49373:12: */ var p uintptr = (*MemFile)(unsafe.Pointer(pFile)).FpStore memdbEnter(tls, p) if (*MemStore)(unsafe.Pointer(p)).FmFlags&uint32(SQLITE_DESERIALIZE_READONLY) != 0 { @@ -28184,7 +28194,7 @@ func memdbWrite(tls *libc.TLS, pFile uintptr, z uintptr, iAmt int32, iOfst Sqlit // In rollback mode (which is always the case for memdb, as it does not // support WAL mode) the truncate() method is only used to reduce // the size of a file, never to increase the size. -func memdbTruncate(tls *libc.TLS, pFile uintptr, size Sqlite_int64) int32 { /* sqlite3.c:49400:12: */ +func memdbTruncate(tls *libc.TLS, pFile uintptr, size Sqlite_int64) int32 { /* sqlite3.c:49410:12: */ var p uintptr = (*MemFile)(unsafe.Pointer(pFile)).FpStore var rc int32 = SQLITE_OK memdbEnter(tls, p) @@ -28199,14 +28209,14 @@ func memdbTruncate(tls *libc.TLS, pFile uintptr, size Sqlite_int64) int32 { /* s } // Sync an memdb-file. -func memdbSync(tls *libc.TLS, pFile uintptr, flags int32) int32 { /* sqlite3.c:49417:12: */ +func memdbSync(tls *libc.TLS, pFile uintptr, flags int32) int32 { /* sqlite3.c:49427:12: */ _ = pFile _ = flags return SQLITE_OK } // Return the current file-size of an memdb-file. -func memdbFileSize(tls *libc.TLS, pFile uintptr, pSize uintptr) int32 { /* sqlite3.c:49426:12: */ +func memdbFileSize(tls *libc.TLS, pFile uintptr, pSize uintptr) int32 { /* sqlite3.c:49436:12: */ var p uintptr = (*MemFile)(unsafe.Pointer(pFile)).FpStore memdbEnter(tls, p) *(*Sqlite_int64)(unsafe.Pointer(pSize)) = (*MemStore)(unsafe.Pointer(p)).Fsz @@ -28215,7 +28225,7 @@ func memdbFileSize(tls *libc.TLS, pFile uintptr, pSize uintptr) int32 { /* sqlit } // Lock an memdb-file. -func memdbLock(tls *libc.TLS, pFile uintptr, eLock int32) int32 { /* sqlite3.c:49437:12: */ +func memdbLock(tls *libc.TLS, pFile uintptr, eLock int32) int32 { /* sqlite3.c:49447:12: */ var pThis uintptr = pFile var p uintptr = (*MemFile)(unsafe.Pointer(pThis)).FpStore var rc int32 = SQLITE_OK @@ -28259,7 +28269,7 @@ func memdbLock(tls *libc.TLS, pFile uintptr, eLock int32) int32 { /* sqlite3.c:4 } // File control method. For custom operations on an memdb-file. -func memdbFileControl(tls *libc.TLS, pFile uintptr, op int32, pArg uintptr) int32 { /* sqlite3.c:49491:12: */ +func memdbFileControl(tls *libc.TLS, pFile uintptr, op int32, pArg uintptr) int32 { /* sqlite3.c:49501:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -28288,13 +28298,13 @@ func memdbFileControl(tls *libc.TLS, pFile uintptr, op int32, pArg uintptr) int3 } // Return the device characteristic flags supported by an memdb-file. -func memdbDeviceCharacteristics(tls *libc.TLS, pFile uintptr) int32 { /* sqlite3.c:49528:12: */ +func memdbDeviceCharacteristics(tls *libc.TLS, pFile uintptr) int32 { /* sqlite3.c:49538:12: */ _ = pFile return SQLITE_IOCAP_ATOMIC | SQLITE_IOCAP_POWERSAFE_OVERWRITE | SQLITE_IOCAP_SAFE_APPEND | SQLITE_IOCAP_SEQUENTIAL } // Fetch a page of a memory-mapped file -func memdbFetch(tls *libc.TLS, pFile uintptr, iOfst Sqlite3_int64, iAmt int32, pp uintptr) int32 { /* sqlite3.c:49537:12: */ +func memdbFetch(tls *libc.TLS, pFile uintptr, iOfst Sqlite3_int64, iAmt int32, pp uintptr) int32 { /* sqlite3.c:49547:12: */ var p uintptr = (*MemFile)(unsafe.Pointer(pFile)).FpStore memdbEnter(tls, p) if iOfst+Sqlite3_int64(iAmt) > (*MemStore)(unsafe.Pointer(p)).Fsz || (*MemStore)(unsafe.Pointer(p)).FmFlags&uint32(SQLITE_DESERIALIZE_RESIZEABLE) != uint32(0) { @@ -28308,7 +28318,7 @@ func memdbFetch(tls *libc.TLS, pFile uintptr, iOfst Sqlite3_int64, iAmt int32, p } // Release a memory-mapped page -func memdbUnfetch(tls *libc.TLS, pFile uintptr, iOfst Sqlite3_int64, pPage uintptr) int32 { /* sqlite3.c:49556:12: */ +func memdbUnfetch(tls *libc.TLS, pFile uintptr, iOfst Sqlite3_int64, pPage uintptr) int32 { /* sqlite3.c:49566:12: */ var p uintptr = (*MemFile)(unsafe.Pointer(pFile)).FpStore _ = iOfst _ = pPage @@ -28319,7 +28329,7 @@ func memdbUnfetch(tls *libc.TLS, pFile uintptr, iOfst Sqlite3_int64, pPage uintp } // Open an mem file handle. -func memdbOpen(tls *libc.TLS, pVfs uintptr, zName uintptr, pFd uintptr, flags int32, pOutFlags uintptr) int32 { /* sqlite3.c:49569:12: */ +func memdbOpen(tls *libc.TLS, pVfs uintptr, zName uintptr, pFd uintptr, flags int32, pOutFlags uintptr) int32 { /* sqlite3.c:49579:12: */ var pFile uintptr = pFd var p uintptr = uintptr(0) var szName int32 @@ -28394,7 +28404,7 @@ func memdbOpen(tls *libc.TLS, pVfs uintptr, zName uintptr, pFd uintptr, flags in // is available, or false otherwise. // // With memdb, no files ever exist on disk. So always return false. -func memdbAccess(tls *libc.TLS, pVfs uintptr, zPath uintptr, flags int32, pResOut uintptr) int32 { /* sqlite3.c:49666:12: */ +func memdbAccess(tls *libc.TLS, pVfs uintptr, zPath uintptr, flags int32, pResOut uintptr) int32 { /* sqlite3.c:49676:12: */ _ = pVfs _ = zPath _ = flags @@ -28405,7 +28415,7 @@ func memdbAccess(tls *libc.TLS, pVfs uintptr, zPath uintptr, flags int32, pResOu // Populate buffer zOut with the full canonical pathname corresponding // to the pathname in zPath. zOut is guaranteed to point to a buffer // of at least (INST_MAX_PATHNAME+1) bytes. -func memdbFullPathname(tls *libc.TLS, pVfs uintptr, zPath uintptr, nOut int32, zOut uintptr) int32 { /* sqlite3.c:49684:12: */ +func memdbFullPathname(tls *libc.TLS, pVfs uintptr, zPath uintptr, nOut int32, zOut uintptr) int32 { /* sqlite3.c:49694:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -28415,7 +28425,7 @@ func memdbFullPathname(tls *libc.TLS, pVfs uintptr, zPath uintptr, nOut int32, z } // Open the dynamic library located at zPath and return a handle. -func memdbDlOpen(tls *libc.TLS, pVfs uintptr, zPath uintptr) uintptr { /* sqlite3.c:49698:13: */ +func memdbDlOpen(tls *libc.TLS, pVfs uintptr, zPath uintptr) uintptr { /* sqlite3.c:49708:13: */ return (*struct { f func(*libc.TLS, uintptr, uintptr) uintptr })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer((*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData)).FxDlOpen})).f(tls, (*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, zPath) @@ -28424,21 +28434,21 @@ func memdbDlOpen(tls *libc.TLS, pVfs uintptr, zPath uintptr) uintptr { /* sqlite // Populate the buffer zErrMsg (size nByte bytes) with a human readable // utf-8 string describing the most recent error encountered associated // with dynamic libraries. -func memdbDlError(tls *libc.TLS, pVfs uintptr, nByte int32, zErrMsg uintptr) { /* sqlite3.c:49707:13: */ +func memdbDlError(tls *libc.TLS, pVfs uintptr, nByte int32, zErrMsg uintptr) { /* sqlite3.c:49717:13: */ (*struct { f func(*libc.TLS, uintptr, int32, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer((*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData)).FxDlError})).f(tls, (*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, nByte, zErrMsg) } // Return a pointer to the symbol zSymbol in the dynamic library pHandle. -func memdbDlSym(tls *libc.TLS, pVfs uintptr, p uintptr, zSym uintptr) uintptr { /* sqlite3.c:49714:13: */ +func memdbDlSym(tls *libc.TLS, pVfs uintptr, p uintptr, zSym uintptr) uintptr { /* sqlite3.c:49724:13: */ return (*struct { f func(*libc.TLS, uintptr, uintptr, uintptr) uintptr })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer((*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData)).FxDlSym})).f(tls, (*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, p, zSym) } // Close the dynamic library handle pHandle. -func memdbDlClose(tls *libc.TLS, pVfs uintptr, pHandle uintptr) { /* sqlite3.c:49721:13: */ +func memdbDlClose(tls *libc.TLS, pVfs uintptr, pHandle uintptr) { /* sqlite3.c:49731:13: */ (*struct { f func(*libc.TLS, uintptr, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer((*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData)).FxDlClose})).f(tls, (*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, pHandle) @@ -28446,7 +28456,7 @@ func memdbDlClose(tls *libc.TLS, pVfs uintptr, pHandle uintptr) { /* sqlite3.c:4 // Populate the buffer pointed to by zBufOut with nByte bytes of // random data. -func memdbRandomness(tls *libc.TLS, pVfs uintptr, nByte int32, zBufOut uintptr) int32 { /* sqlite3.c:49729:12: */ +func memdbRandomness(tls *libc.TLS, pVfs uintptr, nByte int32, zBufOut uintptr) int32 { /* sqlite3.c:49739:12: */ return (*struct { f func(*libc.TLS, uintptr, int32, uintptr) int32 })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer((*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData)).FxRandomness})).f(tls, (*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, nByte, zBufOut) @@ -28454,19 +28464,19 @@ func memdbRandomness(tls *libc.TLS, pVfs uintptr, nByte int32, zBufOut uintptr) // Sleep for nMicro microseconds. Return the number of microseconds // actually slept. -func memdbSleep(tls *libc.TLS, pVfs uintptr, nMicro int32) int32 { /* sqlite3.c:49737:12: */ +func memdbSleep(tls *libc.TLS, pVfs uintptr, nMicro int32) int32 { /* sqlite3.c:49747:12: */ return (*struct { f func(*libc.TLS, uintptr, int32) int32 })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer((*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData)).FxSleep})).f(tls, (*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, nMicro) } -func memdbGetLastError(tls *libc.TLS, pVfs uintptr, a int32, b uintptr) int32 { /* sqlite3.c:49750:12: */ +func memdbGetLastError(tls *libc.TLS, pVfs uintptr, a int32, b uintptr) int32 { /* sqlite3.c:49760:12: */ return (*struct { f func(*libc.TLS, uintptr, int32, uintptr) int32 })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer((*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData)).FxGetLastError})).f(tls, (*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, a, b) } -func memdbCurrentTimeInt64(tls *libc.TLS, pVfs uintptr, p uintptr) int32 { /* sqlite3.c:49753:12: */ +func memdbCurrentTimeInt64(tls *libc.TLS, pVfs uintptr, p uintptr) int32 { /* sqlite3.c:49763:12: */ return (*struct { f func(*libc.TLS, uintptr, uintptr) int32 })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer((*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData)).FxCurrentTimeInt64})).f(tls, (*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, p) @@ -28474,7 +28484,7 @@ func memdbCurrentTimeInt64(tls *libc.TLS, pVfs uintptr, p uintptr) int32 { /* sq // Translate a database connection pointer and schema name into a // MemFile pointer. -func memdbFromDbSchema(tls *libc.TLS, db uintptr, zSchema uintptr) uintptr { /* sqlite3.c:49761:16: */ +func memdbFromDbSchema(tls *libc.TLS, db uintptr, zSchema uintptr) uintptr { /* sqlite3.c:49771:16: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -28497,7 +28507,7 @@ func memdbFromDbSchema(tls *libc.TLS, db uintptr, zSchema uintptr) uintptr { /* } // Return the serialization of a database -func Xsqlite3_serialize(tls *libc.TLS, db uintptr, zSchema uintptr, piSize uintptr, mFlags uint32) uintptr { /* sqlite3.c:49777:26: */ +func Xsqlite3_serialize(tls *libc.TLS, db uintptr, zSchema uintptr, piSize uintptr, mFlags uint32) uintptr { /* sqlite3.c:49787:26: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -28588,7 +28598,7 @@ func Xsqlite3_serialize(tls *libc.TLS, db uintptr, zSchema uintptr, piSize uintp } // Convert zSchema to a MemDB and initialize its content. -func Xsqlite3_deserialize(tls *libc.TLS, db uintptr, zSchema uintptr, pData uintptr, szDb Sqlite3_int64, szBuf Sqlite3_int64, mFlags uint32) int32 { /* sqlite3.c:49858:16: */ +func Xsqlite3_deserialize(tls *libc.TLS, db uintptr, zSchema uintptr, pData uintptr, szDb Sqlite3_int64, szBuf Sqlite3_int64, mFlags uint32) int32 { /* sqlite3.c:49868:16: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -28683,7 +28693,7 @@ __10: // This routine is called when the extension is loaded. // Register the new VFS. -func Xsqlite3MemdbInit(tls *libc.TLS) int32 { /* sqlite3.c:49934:20: */ +func Xsqlite3MemdbInit(tls *libc.TLS) int32 { /* sqlite3.c:49944:20: */ var pLower uintptr = Xsqlite3_vfs_find(tls, uintptr(0)) var sz uint32 if pLower == uintptr(0) { @@ -28705,7 +28715,7 @@ func Xsqlite3MemdbInit(tls *libc.TLS) int32 { /* sqlite3.c:49934:20: */ // Create a new bitmap object able to handle bits between 0 and iSize, // inclusive. Return a pointer to the new object. Return NULL if // malloc fails. -func Xsqlite3BitvecCreate(tls *libc.TLS, iSize U32) uintptr { /* sqlite3.c:50066:23: */ +func Xsqlite3BitvecCreate(tls *libc.TLS, iSize U32) uintptr { /* sqlite3.c:50076:23: */ var p uintptr p = Xsqlite3MallocZero(tls, uint64(unsafe.Sizeof(Bitvec{}))) @@ -28718,7 +28728,7 @@ func Xsqlite3BitvecCreate(tls *libc.TLS, iSize U32) uintptr { /* sqlite3.c:50066 // Check to see if the i-th bit is set. Return true or false. // If p is NULL (if the bitmap has not been created) or if // i is out of range, then return false. -func Xsqlite3BitvecTestNotNull(tls *libc.TLS, p uintptr, i U32) int32 { /* sqlite3.c:50081:20: */ +func Xsqlite3BitvecTestNotNull(tls *libc.TLS, p uintptr, i U32) int32 { /* sqlite3.c:50091:20: */ i-- if i >= (*Bitvec)(unsafe.Pointer(p)).FiSize { @@ -28747,7 +28757,7 @@ func Xsqlite3BitvecTestNotNull(tls *libc.TLS, p uintptr, i U32) int32 { /* sqlit return int32(0) } -func Xsqlite3BitvecTest(tls *libc.TLS, p uintptr, i U32) int32 { /* sqlite3.c:50104:20: */ +func Xsqlite3BitvecTest(tls *libc.TLS, p uintptr, i U32) int32 { /* sqlite3.c:50114:20: */ return libc.Bool32(p != uintptr(0) && Xsqlite3BitvecTestNotNull(tls, p, i) != 0) } @@ -28761,7 +28771,7 @@ func Xsqlite3BitvecTest(tls *libc.TLS, p uintptr, i U32) int32 { /* sqlite3.c:50 // The calling function must ensure that p is a valid Bitvec object // and that the value for "i" is within range of the Bitvec object. // Otherwise the behavior is undefined. -func Xsqlite3BitvecSet(tls *libc.TLS, p uintptr, i U32) int32 { /* sqlite3.c:50120:20: */ +func Xsqlite3BitvecSet(tls *libc.TLS, p uintptr, i U32) int32 { /* sqlite3.c:50130:20: */ var h U32 var bin U32 var j uint32 @@ -28898,7 +28908,7 @@ bitvec_set_end: // // pBuf must be a pointer to at least BITVEC_SZ bytes of temporary storage // that BitvecClear can use to rebuilt its hash table. -func Xsqlite3BitvecClear(tls *libc.TLS, p uintptr, i U32, pBuf uintptr) { /* sqlite3.c:50191:21: */ +func Xsqlite3BitvecClear(tls *libc.TLS, p uintptr, i U32, pBuf uintptr) { /* sqlite3.c:50201:21: */ if p == uintptr(0) { return } @@ -28937,7 +28947,7 @@ func Xsqlite3BitvecClear(tls *libc.TLS, p uintptr, i U32, pBuf uintptr) { /* sql } // Destroy a bitmap object. Reclaim all memory used. -func Xsqlite3BitvecDestroy(tls *libc.TLS, p uintptr) { /* sqlite3.c:50228:21: */ +func Xsqlite3BitvecDestroy(tls *libc.TLS, p uintptr) { /* sqlite3.c:50238:21: */ if p == uintptr(0) { return } @@ -28952,7 +28962,7 @@ func Xsqlite3BitvecDestroy(tls *libc.TLS, p uintptr) { /* sqlite3.c:50228:21: */ // Return the value of the iSize parameter specified when Bitvec *p // was created. -func Xsqlite3BitvecSize(tls *libc.TLS, p uintptr) U32 { /* sqlite3.c:50243:20: */ +func Xsqlite3BitvecSize(tls *libc.TLS, p uintptr) U32 { /* sqlite3.c:50253:20: */ return (*Bitvec)(unsafe.Pointer(p)).FiSize } @@ -28989,7 +28999,7 @@ func Xsqlite3BitvecSize(tls *libc.TLS, p uintptr) U32 { /* sqlite3.c:50243:20: * // an error is returned. If they are the same, zero is returned. // // If a memory allocation error occurs, return -1. -func Xsqlite3BitvecBuiltinTest(tls *libc.TLS, sz int32, aOp uintptr) int32 { /* sqlite3.c:50288:20: */ +func Xsqlite3BitvecBuiltinTest(tls *libc.TLS, sz int32, aOp uintptr) int32 { /* sqlite3.c:50298:20: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -29152,7 +29162,7 @@ bitvec_end: // argument determines what operation to do. The 0x01 bit means first // remove pPage from the dirty list. The 0x02 means add pPage back to // the dirty list. Doing both moves pPage to the front of the dirty list. -func pcacheManageDirtyList(tls *libc.TLS, pPage uintptr, addRemove U8) { /* sqlite3.c:50523:13: */ +func pcacheManageDirtyList(tls *libc.TLS, pPage uintptr, addRemove U8) { /* sqlite3.c:50533:13: */ var p uintptr = (*PgHdr)(unsafe.Pointer(pPage)).FpCache if int32(addRemove)&PCACHE_DIRTYLIST_REMOVE != 0 { @@ -29214,7 +29224,7 @@ func pcacheManageDirtyList(tls *libc.TLS, pPage uintptr, addRemove U8) { /* sqli // Wrapper around the pluggable caches xUnpin method. If the cache is // being used for an in-memory database, this function is a no-op. -func pcacheUnpin(tls *libc.TLS, p uintptr) { /* sqlite3.c:50593:13: */ +func pcacheUnpin(tls *libc.TLS, p uintptr) { /* sqlite3.c:50603:13: */ if (*PCache)(unsafe.Pointer((*PgHdr)(unsafe.Pointer(p)).FpCache)).FbPurgeable != 0 { (*struct { @@ -29226,7 +29236,7 @@ func pcacheUnpin(tls *libc.TLS, p uintptr) { /* sqlite3.c:50593:13: */ // Compute the number of pages of cache requested. p->szCache is the // cache size requested by the "PRAGMA cache_size" statement. -func numberOfCachePages(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:50605:12: */ +func numberOfCachePages(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:50615:12: */ if (*PCache)(unsafe.Pointer(p)).FszCache >= 0 { // IMPLEMENTATION-OF: R-42059-47211 If the argument N is positive then the // suggested cache size is set to N. @@ -29251,7 +29261,7 @@ func numberOfCachePages(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:50605:12: // // Initialize and shutdown the page cache subsystem. Neither of these // functions are threadsafe. -func Xsqlite3PcacheInitialize(tls *libc.TLS) int32 { /* sqlite3.c:50627:20: */ +func Xsqlite3PcacheInitialize(tls *libc.TLS) int32 { /* sqlite3.c:50637:20: */ if Xsqlite3Config.Fpcache2.FxInit == uintptr(0) { // IMPLEMENTATION-OF: R-26801-64137 If the xInit() method is NULL, then the // built-in default page cache is used instead of the application defined @@ -29264,7 +29274,7 @@ func Xsqlite3PcacheInitialize(tls *libc.TLS) int32 { /* sqlite3.c:50627:20: */ })(unsafe.Pointer(&struct{ uintptr }{Xsqlite3Config.Fpcache2.FxInit})).f(tls, Xsqlite3Config.Fpcache2.FpArg) } -func Xsqlite3PcacheShutdown(tls *libc.TLS) { /* sqlite3.c:50637:21: */ +func Xsqlite3PcacheShutdown(tls *libc.TLS) { /* sqlite3.c:50647:21: */ if Xsqlite3Config.Fpcache2.FxShutdown != 0 { // IMPLEMENTATION-OF: R-26000-56589 The xShutdown() method may be NULL. (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{Xsqlite3Config.Fpcache2.FxShutdown})).f(tls, Xsqlite3Config.Fpcache2.FpArg) @@ -29272,7 +29282,7 @@ func Xsqlite3PcacheShutdown(tls *libc.TLS) { /* sqlite3.c:50637:21: */ } // Return the size in bytes of a PCache object. -func Xsqlite3PcacheSize(tls *libc.TLS) int32 { /* sqlite3.c:50647:20: */ +func Xsqlite3PcacheSize(tls *libc.TLS) int32 { /* sqlite3.c:50657:20: */ return int32(unsafe.Sizeof(PCache{})) } @@ -29286,7 +29296,7 @@ func Xsqlite3PcacheSize(tls *libc.TLS) int32 { /* sqlite3.c:50647:20: */ // but remaining content will be uninitialized. Though it is opaque // to this module, the extra space really ends up being the MemPage // structure in the pager. -func Xsqlite3PcacheOpen(tls *libc.TLS, szPage int32, szExtra int32, bPurgeable int32, xStress uintptr, pStress uintptr, p uintptr) int32 { /* sqlite3.c:50661:20: */ +func Xsqlite3PcacheOpen(tls *libc.TLS, szPage int32, szExtra int32, bPurgeable int32, xStress uintptr, pStress uintptr, p uintptr) int32 { /* sqlite3.c:50671:20: */ libc.Xmemset(tls, p, 0, uint64(unsafe.Sizeof(PCache{}))) (*PCache)(unsafe.Pointer(p)).FszPage = 1 (*PCache)(unsafe.Pointer(p)).FszExtra = szExtra @@ -29303,7 +29313,7 @@ func Xsqlite3PcacheOpen(tls *libc.TLS, szPage int32, szExtra int32, bPurgeable i // Change the page size for PCache object. The caller must ensure that there // are no outstanding page references when this function is called. -func Xsqlite3PcacheSetPageSize(tls *libc.TLS, pCache uintptr, szPage int32) int32 { /* sqlite3.c:50687:20: */ +func Xsqlite3PcacheSetPageSize(tls *libc.TLS, pCache uintptr, szPage int32) int32 { /* sqlite3.c:50697:20: */ if (*PCache)(unsafe.Pointer(pCache)).FszPage != 0 { var pNew uintptr @@ -29350,7 +29360,7 @@ func Xsqlite3PcacheSetPageSize(tls *libc.TLS, pCache uintptr, szPage int32) int3 // they can both (usually) operate without having to push values to // the stack on entry and pop them back off on exit, which saves a // lot of pushing and popping. -func Xsqlite3PcacheFetch(tls *libc.TLS, pCache uintptr, pgno Pgno, createFlag int32) uintptr { /* sqlite3.c:50731:36: */ +func Xsqlite3PcacheFetch(tls *libc.TLS, pCache uintptr, pgno Pgno, createFlag int32) uintptr { /* sqlite3.c:50741:36: */ var eCreate int32 var pRes uintptr @@ -29378,7 +29388,7 @@ func Xsqlite3PcacheFetch(tls *libc.TLS, pCache uintptr, pgno Pgno, createFlag in // an OOM error. // // This routine should be invoked only after sqlite3PcacheFetch() fails. -func Xsqlite3PcacheFetchStress(tls *libc.TLS, pCache uintptr, pgno Pgno, ppPage uintptr) int32 { /* sqlite3.c:50772:20: */ +func Xsqlite3PcacheFetchStress(tls *libc.TLS, pCache uintptr, pgno Pgno, ppPage uintptr) int32 { /* sqlite3.c:50782:20: */ var pPg uintptr if int32((*PCache)(unsafe.Pointer(pCache)).FeCreate) == 2 { return 0 @@ -29429,7 +29439,7 @@ func Xsqlite3PcacheFetchStress(tls *libc.TLS, pCache uintptr, pgno Pgno, ppPage // This routine is broken out into a separate function since it // requires extra stack manipulation that can be avoided in the common // case. -func pcacheFetchFinishWithInit(tls *libc.TLS, pCache uintptr, pgno Pgno, pPage uintptr) uintptr { /* sqlite3.c:50828:30: */ +func pcacheFetchFinishWithInit(tls *libc.TLS, pCache uintptr, pgno Pgno, pPage uintptr) uintptr { /* sqlite3.c:50838:30: */ var pPgHdr uintptr pPgHdr = (*Sqlite3_pcache_page)(unsafe.Pointer(pPage)).FpExtra @@ -29449,7 +29459,7 @@ func pcacheFetchFinishWithInit(tls *libc.TLS, pCache uintptr, pgno Pgno, pPage u // sqlite3PcacheFetch() into an initialized PgHdr object. This routine // must be called after sqlite3PcacheFetch() in order to get a usable // result. -func Xsqlite3PcacheFetchFinish(tls *libc.TLS, pCache uintptr, pgno Pgno, pPage uintptr) uintptr { /* sqlite3.c:50854:22: */ +func Xsqlite3PcacheFetchFinish(tls *libc.TLS, pCache uintptr, pgno Pgno, pPage uintptr) uintptr { /* sqlite3.c:50864:22: */ var pPgHdr uintptr pPgHdr = (*Sqlite3_pcache_page)(unsafe.Pointer(pPage)).FpExtra @@ -29465,7 +29475,7 @@ func Xsqlite3PcacheFetchFinish(tls *libc.TLS, pCache uintptr, pgno Pgno, pPage u // Decrement the reference count on a page. If the page is clean and the // reference count drops to 0, then it is made eligible for recycling. -func Xsqlite3PcacheRelease(tls *libc.TLS, p uintptr) { /* sqlite3.c:50877:37: */ +func Xsqlite3PcacheRelease(tls *libc.TLS, p uintptr) { /* sqlite3.c:50887:37: */ (*PCache)(unsafe.Pointer((*PgHdr)(unsafe.Pointer(p)).FpCache)).FnRefSum-- if int32(libc.PreDecInt16(&(*PgHdr)(unsafe.Pointer(p)).FnRef, 1)) == 0 { @@ -29478,7 +29488,7 @@ func Xsqlite3PcacheRelease(tls *libc.TLS, p uintptr) { /* sqlite3.c:50877:37: */ } // Increase the reference count of a supplied page by 1. -func Xsqlite3PcacheRef(tls *libc.TLS, p uintptr) { /* sqlite3.c:50892:21: */ +func Xsqlite3PcacheRef(tls *libc.TLS, p uintptr) { /* sqlite3.c:50902:21: */ (*PgHdr)(unsafe.Pointer(p)).FnRef++ (*PCache)(unsafe.Pointer((*PgHdr)(unsafe.Pointer(p)).FpCache)).FnRefSum++ @@ -29487,7 +29497,7 @@ func Xsqlite3PcacheRef(tls *libc.TLS, p uintptr) { /* sqlite3.c:50892:21: */ // Drop a page from the cache. There must be exactly one reference to the // page. This function deletes that reference, so after it returns the // page pointed to by p is invalid. -func Xsqlite3PcacheDrop(tls *libc.TLS, p uintptr) { /* sqlite3.c:50904:21: */ +func Xsqlite3PcacheDrop(tls *libc.TLS, p uintptr) { /* sqlite3.c:50914:21: */ if int32((*PgHdr)(unsafe.Pointer(p)).Fflags)&PGHDR_DIRTY != 0 { pcacheManageDirtyList(tls, p, uint8(PCACHE_DIRTYLIST_REMOVE)) @@ -29500,7 +29510,7 @@ func Xsqlite3PcacheDrop(tls *libc.TLS, p uintptr) { /* sqlite3.c:50904:21: */ // Make sure the page is marked as dirty. If it isn't dirty already, // make it so. -func Xsqlite3PcacheMakeDirty(tls *libc.TLS, p uintptr) { /* sqlite3.c:50918:21: */ +func Xsqlite3PcacheMakeDirty(tls *libc.TLS, p uintptr) { /* sqlite3.c:50928:21: */ if int32((*PgHdr)(unsafe.Pointer(p)).Fflags)&(PGHDR_CLEAN|PGHDR_DONT_WRITE) != 0 { //OPTIMIZATION-IF-FALSE *(*U16)(unsafe.Pointer(p + 52)) &= libc.Uint16FromInt32(libc.CplInt32(PGHDR_DONT_WRITE)) @@ -29515,7 +29525,7 @@ func Xsqlite3PcacheMakeDirty(tls *libc.TLS, p uintptr) { /* sqlite3.c:50918:21: // Make sure the page is marked as clean. If it isn't clean already, // make it so. -func Xsqlite3PcacheMakeClean(tls *libc.TLS, p uintptr) { /* sqlite3.c:50938:21: */ +func Xsqlite3PcacheMakeClean(tls *libc.TLS, p uintptr) { /* sqlite3.c:50948:21: */ pcacheManageDirtyList(tls, p, uint8(PCACHE_DIRTYLIST_REMOVE)) *(*U16)(unsafe.Pointer(p + 52)) &= libc.Uint16FromInt32(libc.CplInt32(PGHDR_DIRTY | PGHDR_NEED_SYNC | PGHDR_WRITEABLE)) @@ -29527,7 +29537,7 @@ func Xsqlite3PcacheMakeClean(tls *libc.TLS, p uintptr) { /* sqlite3.c:50938:21: } // Make every page in the cache clean. -func Xsqlite3PcacheCleanAll(tls *libc.TLS, pCache uintptr) { /* sqlite3.c:50955:21: */ +func Xsqlite3PcacheCleanAll(tls *libc.TLS, pCache uintptr) { /* sqlite3.c:50965:21: */ var p uintptr for libc.AssignUintptr(&p, (*PCache)(unsafe.Pointer(pCache)).FpDirty) != uintptr(0) { @@ -29536,7 +29546,7 @@ func Xsqlite3PcacheCleanAll(tls *libc.TLS, pCache uintptr) { /* sqlite3.c:50955: } // Clear the PGHDR_NEED_SYNC and PGHDR_WRITEABLE flag from all dirty pages. -func Xsqlite3PcacheClearWritable(tls *libc.TLS, pCache uintptr) { /* sqlite3.c:50966:21: */ +func Xsqlite3PcacheClearWritable(tls *libc.TLS, pCache uintptr) { /* sqlite3.c:50976:21: */ var p uintptr for p = (*PCache)(unsafe.Pointer(pCache)).FpDirty; p != 0; p = (*PgHdr)(unsafe.Pointer(p)).FpDirtyNext { @@ -29546,7 +29556,7 @@ func Xsqlite3PcacheClearWritable(tls *libc.TLS, pCache uintptr) { /* sqlite3.c:5 } // Clear the PGHDR_NEED_SYNC flag from all dirty pages. -func Xsqlite3PcacheClearSyncFlags(tls *libc.TLS, pCache uintptr) { /* sqlite3.c:50978:21: */ +func Xsqlite3PcacheClearSyncFlags(tls *libc.TLS, pCache uintptr) { /* sqlite3.c:50988:21: */ var p uintptr for p = (*PCache)(unsafe.Pointer(pCache)).FpDirty; p != 0; p = (*PgHdr)(unsafe.Pointer(p)).FpDirtyNext { *(*U16)(unsafe.Pointer(p + 52)) &= libc.Uint16FromInt32(libc.CplInt32(PGHDR_NEED_SYNC)) @@ -29555,7 +29565,7 @@ func Xsqlite3PcacheClearSyncFlags(tls *libc.TLS, pCache uintptr) { /* sqlite3.c: } // Change the page number of page p to newPgno. -func Xsqlite3PcacheMove(tls *libc.TLS, p uintptr, newPgno Pgno) { /* sqlite3.c:50989:21: */ +func Xsqlite3PcacheMove(tls *libc.TLS, p uintptr, newPgno Pgno) { /* sqlite3.c:50999:21: */ var pCache uintptr = (*PgHdr)(unsafe.Pointer(p)).FpCache (*struct { @@ -29574,7 +29584,7 @@ func Xsqlite3PcacheMove(tls *libc.TLS, p uintptr, newPgno Pgno) { /* sqlite3.c:5 // If there is a reference to page 1 and the pgno parameter passed to this // function is 0, then the data area associated with page 1 is zeroed, but // the page object is not dropped. -func Xsqlite3PcacheTruncate(tls *libc.TLS, pCache uintptr, pgno Pgno) { /* sqlite3.c:51011:21: */ +func Xsqlite3PcacheTruncate(tls *libc.TLS, pCache uintptr, pgno Pgno) { /* sqlite3.c:51021:21: */ if (*PCache)(unsafe.Pointer(pCache)).FpCache != 0 { var p uintptr var pNext uintptr @@ -29608,19 +29618,19 @@ func Xsqlite3PcacheTruncate(tls *libc.TLS, pCache uintptr, pgno Pgno) { /* sqlit } // Close a cache. -func Xsqlite3PcacheClose(tls *libc.TLS, pCache uintptr) { /* sqlite3.c:51044:21: */ +func Xsqlite3PcacheClose(tls *libc.TLS, pCache uintptr) { /* sqlite3.c:51054:21: */ (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{Xsqlite3Config.Fpcache2.FxDestroy})).f(tls, (*PCache)(unsafe.Pointer(pCache)).FpCache) } // Discard the contents of the cache. -func Xsqlite3PcacheClear(tls *libc.TLS, pCache uintptr) { /* sqlite3.c:51053:21: */ +func Xsqlite3PcacheClear(tls *libc.TLS, pCache uintptr) { /* sqlite3.c:51063:21: */ Xsqlite3PcacheTruncate(tls, pCache, uint32(0)) } // Merge two lists of pages connected by pDirty and in pgno order. // Do not bother fixing the pDirtyPrev pointers. -func pcacheMergeDirtyList(tls *libc.TLS, pA uintptr, pB uintptr) uintptr { /* sqlite3.c:51061:14: */ +func pcacheMergeDirtyList(tls *libc.TLS, pA uintptr, pB uintptr) uintptr { /* sqlite3.c:51071:14: */ bp := tls.Alloc(72) defer tls.Free(72) @@ -29659,7 +29669,7 @@ func pcacheMergeDirtyList(tls *libc.TLS, pA uintptr, pB uintptr) uintptr { /* sq // there cannot be more than 31 buckets required by the merge sorter. // One extra bucket is added to catch overflow in case something // ever changes to make the previous sentence incorrect. -func pcacheSortDirtyList(tls *libc.TLS, pIn uintptr) uintptr { /* sqlite3.c:51098:14: */ +func pcacheSortDirtyList(tls *libc.TLS, pIn uintptr) uintptr { /* sqlite3.c:51108:14: */ bp := tls.Alloc(256) defer tls.Free(256) @@ -29702,7 +29712,7 @@ func pcacheSortDirtyList(tls *libc.TLS, pIn uintptr) uintptr { /* sqlite3.c:5109 } // Return a list of all dirty pages in the cache, sorted by page number. -func Xsqlite3PcacheDirtyList(tls *libc.TLS, pCache uintptr) uintptr { /* sqlite3.c:51133:22: */ +func Xsqlite3PcacheDirtyList(tls *libc.TLS, pCache uintptr) uintptr { /* sqlite3.c:51143:22: */ var p uintptr for p = (*PCache)(unsafe.Pointer(pCache)).FpDirty; p != 0; p = (*PgHdr)(unsafe.Pointer(p)).FpDirtyNext { (*PgHdr)(unsafe.Pointer(p)).FpDirty = (*PgHdr)(unsafe.Pointer(p)).FpDirtyNext @@ -29714,17 +29724,17 @@ func Xsqlite3PcacheDirtyList(tls *libc.TLS, pCache uintptr) uintptr { /* sqlite3 // // This is not the total number of pages referenced, but the sum of the // reference count for all pages. -func Xsqlite3PcacheRefCount(tls *libc.TLS, pCache uintptr) int32 { /* sqlite3.c:51147:20: */ +func Xsqlite3PcacheRefCount(tls *libc.TLS, pCache uintptr) int32 { /* sqlite3.c:51157:20: */ return (*PCache)(unsafe.Pointer(pCache)).FnRefSum } // Return the number of references to the page supplied as an argument. -func Xsqlite3PcachePageRefcount(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:51154:20: */ +func Xsqlite3PcachePageRefcount(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:51164:20: */ return int32((*PgHdr)(unsafe.Pointer(p)).FnRef) } // Return the total number of pages in the cache. -func Xsqlite3PcachePagecount(tls *libc.TLS, pCache uintptr) int32 { /* sqlite3.c:51161:20: */ +func Xsqlite3PcachePagecount(tls *libc.TLS, pCache uintptr) int32 { /* sqlite3.c:51171:20: */ return (*struct { f func(*libc.TLS, uintptr) int32 @@ -29732,7 +29742,7 @@ func Xsqlite3PcachePagecount(tls *libc.TLS, pCache uintptr) int32 { /* sqlite3.c } // Set the suggested cache-size value. -func Xsqlite3PcacheSetCachesize(tls *libc.TLS, pCache uintptr, mxPage int32) { /* sqlite3.c:51178:21: */ +func Xsqlite3PcacheSetCachesize(tls *libc.TLS, pCache uintptr, mxPage int32) { /* sqlite3.c:51188:21: */ (*PCache)(unsafe.Pointer(pCache)).FszCache = mxPage (*struct { @@ -29744,7 +29754,7 @@ func Xsqlite3PcacheSetCachesize(tls *libc.TLS, pCache uintptr, mxPage int32) { / // Set the suggested cache-spill value. Make no changes if if the // argument is zero. Return the effective cache-spill size, which will // be the larger of the szSpill and szCache. -func Xsqlite3PcacheSetSpillsize(tls *libc.TLS, p uintptr, mxPage int32) int32 { /* sqlite3.c:51190:20: */ +func Xsqlite3PcacheSetSpillsize(tls *libc.TLS, p uintptr, mxPage int32) int32 { /* sqlite3.c:51200:20: */ var res int32 if mxPage != 0 { @@ -29761,20 +29771,20 @@ func Xsqlite3PcacheSetSpillsize(tls *libc.TLS, p uintptr, mxPage int32) int32 { } // Free up as much memory as possible from the page cache. -func Xsqlite3PcacheShrink(tls *libc.TLS, pCache uintptr) { /* sqlite3.c:51207:21: */ +func Xsqlite3PcacheShrink(tls *libc.TLS, pCache uintptr) { /* sqlite3.c:51217:21: */ (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{Xsqlite3Config.Fpcache2.FxShrink})).f(tls, (*PCache)(unsafe.Pointer(pCache)).FpCache) } // Return the size of the header added by this middleware layer // in the page-cache hierarchy. -func Xsqlite3HeaderSizePcache(tls *libc.TLS) int32 { /* sqlite3.c:51216:20: */ +func Xsqlite3HeaderSizePcache(tls *libc.TLS) int32 { /* sqlite3.c:51226:20: */ return int32((uint64(unsafe.Sizeof(PgHdr{})) + uint64(7)) & libc.Uint64FromInt32(libc.CplInt32(7))) } // Return the number of dirty pages currently in the cache, as a percentage // of the configured cache size. -func Xsqlite3PCachePercentDirty(tls *libc.TLS, pCache uintptr) int32 { /* sqlite3.c:51222:20: */ +func Xsqlite3PCachePercentDirty(tls *libc.TLS, pCache uintptr) int32 { /* sqlite3.c:51232:20: */ var pDirty uintptr var nDirty int32 = 0 var nCache int32 = numberOfCachePages(tls, pCache) @@ -29889,7 +29899,7 @@ type PCache11 = struct { FapHash uintptr FpFree uintptr FpBulk uintptr -} /* sqlite3.c:51339:9 */ +} /* sqlite3.c:51349:9 */ //************* End of pcache.c ********************************************* //************* Begin file pcache1.c **************************************** @@ -29975,7 +29985,7 @@ type PCache11 = struct { // common workloads. // #include "sqliteInt.h" -type PCache1 = PCache11 /* sqlite3.c:51339:24 */ +type PCache1 = PCache11 /* sqlite3.c:51349:24 */ type PgHdr11 = struct { Fpage Sqlite3_pcache_page FiKey uint32 @@ -29985,12 +29995,12 @@ type PgHdr11 = struct { FpCache uintptr FpLruNext uintptr FpLruPrev uintptr -} /* sqlite3.c:51339:9 */ +} /* sqlite3.c:51349:9 */ -type PgHdr1 = PgHdr11 /* sqlite3.c:51340:23 */ -type PgFreeslot1 = struct{ FpNext uintptr } /* sqlite3.c:51341:9 */ +type PgHdr1 = PgHdr11 /* sqlite3.c:51350:23 */ +type PgFreeslot1 = struct{ FpNext uintptr } /* sqlite3.c:51351:9 */ -type PgFreeslot = PgFreeslot1 /* sqlite3.c:51341:27 */ +type PgFreeslot = PgFreeslot1 /* sqlite3.c:51351:27 */ type PGroup1 = struct { Fmutex uintptr FnMaxPage uint32 @@ -29998,9 +30008,9 @@ type PGroup1 = struct { FmxPinned uint32 FnPurgeable uint32 Flru PgHdr1 -} /* sqlite3.c:51339:9 */ +} /* sqlite3.c:51349:9 */ -type PGroup = PGroup1 /* sqlite3.c:51342:23 */ +type PGroup = PGroup1 /* sqlite3.c:51352:23 */ // Global data used by this cache. type PCacheGlobal = struct { @@ -30017,10 +30027,10 @@ type PCacheGlobal = struct { FpFree uintptr FnFreeSlot int32 FbUnderPressure int32 -} /* sqlite3.c:51459:19 */ +} /* sqlite3.c:51469:19 */ // Global data used by this cache. -var pcache1_g PCacheGlobal /* sqlite3.c:51483:3: */ +var pcache1_g PCacheGlobal /* sqlite3.c:51493:3: */ // All code in this file should access the global structure above via the // alias "pcache1". This ensures that the WSD emulation is used when @@ -30038,7 +30048,7 @@ var pcache1_g PCacheGlobal /* sqlite3.c:51483:3: */ // // This routine is called from sqlite3_initialize() and so it is guaranteed // to be serialized already. There is no need for further mutexing. -func Xsqlite3PCacheBufferSetup(tls *libc.TLS, pBuf uintptr, sz int32, n int32) { /* sqlite3.c:51518:21: */ +func Xsqlite3PCacheBufferSetup(tls *libc.TLS, pBuf uintptr, sz int32, n int32) { /* sqlite3.c:51528:21: */ if pcache1_g.FisInit != 0 { var p uintptr if pBuf == uintptr(0) { @@ -30071,7 +30081,7 @@ func Xsqlite3PCacheBufferSetup(tls *libc.TLS, pBuf uintptr, sz int32, n int32) { // Try to initialize the pCache->pFree and pCache->pBulk fields. Return // true if pCache->pFree ends up containing one or more free pages. -func pcache1InitBulk(tls *libc.TLS, pCache uintptr) int32 { /* sqlite3.c:51544:12: */ +func pcache1InitBulk(tls *libc.TLS, pCache uintptr) int32 { /* sqlite3.c:51554:12: */ var szBulk I64 var zBulk uintptr if pcache1_g.FnInitPage == 0 { @@ -30116,7 +30126,7 @@ func pcache1InitBulk(tls *libc.TLS, pCache uintptr) int32 { /* sqlite3.c:51544:1 // // Multiple threads can run this routine at the same time. Global variables // in pcache1 need to be protected via mutex. -func pcache1Alloc(tls *libc.TLS, nByte int32) uintptr { /* sqlite3.c:51587:13: */ +func pcache1Alloc(tls *libc.TLS, nByte int32) uintptr { /* sqlite3.c:51597:13: */ var p uintptr = uintptr(0) if nByte <= pcache1_g.FszSlot { @@ -30149,7 +30159,7 @@ func pcache1Alloc(tls *libc.TLS, nByte int32) uintptr { /* sqlite3.c:51587:13: * } // Free an allocated buffer obtained from pcache1Alloc(). -func pcache1Free(tls *libc.TLS, p uintptr) { /* sqlite3.c:51625:13: */ +func pcache1Free(tls *libc.TLS, p uintptr) { /* sqlite3.c:51635:13: */ if p == uintptr(0) { return } @@ -30179,7 +30189,7 @@ func pcache1Free(tls *libc.TLS, p uintptr) { /* sqlite3.c:51625:13: */ } // Return the size of a pcache allocation -func pcache1MemSize(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:51658:12: */ +func pcache1MemSize(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:51668:12: */ if p >= pcache1_g.FpStart && p < pcache1_g.FpEnd { return pcache1_g.FszSlot } else { @@ -30193,7 +30203,7 @@ func pcache1MemSize(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:51658:12: */ } // Allocate a new page object initially associated with cache pCache. -func pcache1AllocPage(tls *libc.TLS, pCache uintptr, benignMalloc int32) uintptr { /* sqlite3.c:51675:15: */ +func pcache1AllocPage(tls *libc.TLS, pCache uintptr, benignMalloc int32) uintptr { /* sqlite3.c:51685:15: */ var p uintptr = uintptr(0) var pPg uintptr @@ -30231,7 +30241,7 @@ func pcache1AllocPage(tls *libc.TLS, pCache uintptr, benignMalloc int32) uintptr } // Free a page object allocated by pcache1AllocPage(). -func pcache1FreePage(tls *libc.TLS, p uintptr) { /* sqlite3.c:51727:13: */ +func pcache1FreePage(tls *libc.TLS, p uintptr) { /* sqlite3.c:51737:13: */ var pCache uintptr pCache = (*PgHdr1)(unsafe.Pointer(p)).FpCache @@ -30248,13 +30258,13 @@ func pcache1FreePage(tls *libc.TLS, p uintptr) { /* sqlite3.c:51727:13: */ // Malloc function used by SQLite to obtain space from the buffer configured // using sqlite3_config(SQLITE_CONFIG_PAGECACHE) option. If no such buffer // exists, this function falls back to sqlite3Malloc(). -func Xsqlite3PageMalloc(tls *libc.TLS, sz int32) uintptr { /* sqlite3.c:51749:21: */ +func Xsqlite3PageMalloc(tls *libc.TLS, sz int32) uintptr { /* sqlite3.c:51759:21: */ // These allocations are never very large return pcache1Alloc(tls, sz) } // Free an allocated buffer obtained from sqlite3PageMalloc(). -func Xsqlite3PageFree(tls *libc.TLS, p uintptr) { /* sqlite3.c:51757:21: */ +func Xsqlite3PageFree(tls *libc.TLS, p uintptr) { /* sqlite3.c:51767:21: */ pcache1Free(tls, p) } @@ -30272,7 +30282,7 @@ func Xsqlite3PageFree(tls *libc.TLS, p uintptr) { /* sqlite3.c:51757:21: */ // under memory pressure, then again it is desirable to avoid // allocating a new page cache entry in order to avoid stressing // the heap even further. -func pcache1UnderMemoryPressure(tls *libc.TLS, pCache uintptr) int32 { /* sqlite3.c:51778:12: */ +func pcache1UnderMemoryPressure(tls *libc.TLS, pCache uintptr) int32 { /* sqlite3.c:51788:12: */ if pcache1_g.FnSlot != 0 && (*PCache1)(unsafe.Pointer(pCache)).FszPage+(*PCache1)(unsafe.Pointer(pCache)).FszExtra <= pcache1_g.FszSlot { return pcache1_g.FbUnderPressure } else { @@ -30288,7 +30298,7 @@ func pcache1UnderMemoryPressure(tls *libc.TLS, pCache uintptr) int32 { /* sqlite // as the first argument. // // The PCache mutex must be held when this function is called. -func pcache1ResizeHash(tls *libc.TLS, p uintptr) { /* sqlite3.c:51795:13: */ +func pcache1ResizeHash(tls *libc.TLS, p uintptr) { /* sqlite3.c:51805:13: */ var apNew uintptr var nNew uint32 var i uint32 @@ -30329,7 +30339,7 @@ func pcache1ResizeHash(tls *libc.TLS, p uintptr) { /* sqlite3.c:51795:13: */ // LRU list, then this function is a no-op. // // The PGroup mutex must be held when this function is called. -func pcache1PinPage(tls *libc.TLS, pPage uintptr) uintptr { /* sqlite3.c:51836:15: */ +func pcache1PinPage(tls *libc.TLS, pPage uintptr) uintptr { /* sqlite3.c:51846:15: */ (*PgHdr1)(unsafe.Pointer((*PgHdr1)(unsafe.Pointer(pPage)).FpLruPrev)).FpLruNext = (*PgHdr1)(unsafe.Pointer(pPage)).FpLruNext (*PgHdr1)(unsafe.Pointer((*PgHdr1)(unsafe.Pointer(pPage)).FpLruNext)).FpLruPrev = (*PgHdr1)(unsafe.Pointer(pPage)).FpLruPrev @@ -30346,7 +30356,7 @@ func pcache1PinPage(tls *libc.TLS, pPage uintptr) uintptr { /* sqlite3.c:51836:1 // Also free the page if freePage is true. // // The PGroup mutex must be held when this function is called. -func pcache1RemoveFromHash(tls *libc.TLS, pPage uintptr, freeFlag int32) { /* sqlite3.c:51861:13: */ +func pcache1RemoveFromHash(tls *libc.TLS, pPage uintptr, freeFlag int32) { /* sqlite3.c:51871:13: */ var h uint32 var pCache uintptr = (*PgHdr1)(unsafe.Pointer(pPage)).FpCache var pp uintptr @@ -30364,7 +30374,7 @@ func pcache1RemoveFromHash(tls *libc.TLS, pPage uintptr, freeFlag int32) { /* sq // If there are currently more than nMaxPage pages allocated, try // to recycle pages to reduce the number allocated to nMaxPage. -func pcache1EnforceMaxPage(tls *libc.TLS, pCache uintptr) { /* sqlite3.c:51879:13: */ +func pcache1EnforceMaxPage(tls *libc.TLS, pCache uintptr) { /* sqlite3.c:51889:13: */ var pGroup uintptr = (*PCache1)(unsafe.Pointer(pCache)).FpGroup var p uintptr @@ -30385,7 +30395,7 @@ func pcache1EnforceMaxPage(tls *libc.TLS, pCache uintptr) { /* sqlite3.c:51879:1 // criteria are unpinned before they are discarded. // // The PCache mutex must be held when this function is called. -func pcache1TruncateUnsafe(tls *libc.TLS, pCache uintptr, iLimit uint32) { /* sqlite3.c:51904:13: */ +func pcache1TruncateUnsafe(tls *libc.TLS, pCache uintptr, iLimit uint32) { /* sqlite3.c:51914:13: */ var h uint32 var iStop uint32 @@ -30433,7 +30443,7 @@ func pcache1TruncateUnsafe(tls *libc.TLS, pCache uintptr, iLimit uint32) { /* sq //******* sqlite3_pcache Methods ********************************************* // Implementation of the sqlite3_pcache.xInit method. -func pcache1Init(tls *libc.TLS, NotUsed uintptr) int32 { /* sqlite3.c:51955:12: */ +func pcache1Init(tls *libc.TLS, NotUsed uintptr) int32 { /* sqlite3.c:51965:12: */ _ = NotUsed libc.Xmemset(tls, uintptr(unsafe.Pointer(&pcache1_g)), 0, uint64(unsafe.Sizeof(pcache1_g))) @@ -30471,7 +30481,7 @@ func pcache1Init(tls *libc.TLS, NotUsed uintptr) int32 { /* sqlite3.c:51955:12: // Implementation of the sqlite3_pcache.xShutdown method. // Note that the static mutex allocated in xInit does // not need to be freed. -func pcache1Shutdown(tls *libc.TLS, NotUsed uintptr) { /* sqlite3.c:52008:13: */ +func pcache1Shutdown(tls *libc.TLS, NotUsed uintptr) { /* sqlite3.c:52018:13: */ _ = NotUsed libc.Xmemset(tls, uintptr(unsafe.Pointer(&pcache1_g)), 0, uint64(unsafe.Sizeof(pcache1_g))) @@ -30480,7 +30490,7 @@ func pcache1Shutdown(tls *libc.TLS, NotUsed uintptr) { /* sqlite3.c:52008:13: */ // Implementation of the sqlite3_pcache.xCreate method. // // Allocate a new cache. -func pcache1Create(tls *libc.TLS, szPage int32, szExtra int32, bPurgeable int32) uintptr { /* sqlite3.c:52022:23: */ +func pcache1Create(tls *libc.TLS, szPage int32, szExtra int32, bPurgeable int32) uintptr { /* sqlite3.c:52032:23: */ var pCache uintptr // The newly created page cache var pGroup uintptr // The group the new page cache will belong to var sz int32 // Bytes of memory required to allocate the new cache @@ -30530,7 +30540,7 @@ func pcache1Create(tls *libc.TLS, szPage int32, szExtra int32, bPurgeable int32) // Implementation of the sqlite3_pcache.xCachesize method. // // Configure the cache_size limit for a cache. -func pcache1Cachesize(tls *libc.TLS, p uintptr, nMax int32) { /* sqlite3.c:52072:13: */ +func pcache1Cachesize(tls *libc.TLS, p uintptr, nMax int32) { /* sqlite3.c:52082:13: */ var pCache uintptr = p var n U32 @@ -30553,7 +30563,7 @@ func pcache1Cachesize(tls *libc.TLS, p uintptr, nMax int32) { /* sqlite3.c:52072 // Implementation of the sqlite3_pcache.xShrink method. // // Free up as much memory as possible. -func pcache1Shrink(tls *libc.TLS, p uintptr) { /* sqlite3.c:52097:13: */ +func pcache1Shrink(tls *libc.TLS, p uintptr) { /* sqlite3.c:52107:13: */ var pCache uintptr = p if (*PCache1)(unsafe.Pointer(pCache)).FbPurgeable != 0 { var pGroup uintptr = (*PCache1)(unsafe.Pointer(pCache)).FpGroup @@ -30568,7 +30578,7 @@ func pcache1Shrink(tls *libc.TLS, p uintptr) { /* sqlite3.c:52097:13: */ } // Implementation of the sqlite3_pcache.xPagecount method. -func pcache1Pagecount(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:52114:12: */ +func pcache1Pagecount(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:52124:12: */ var n int32 var pCache uintptr = p Xsqlite3_mutex_enter(tls, (*PGroup)(unsafe.Pointer((*PCache1)(unsafe.Pointer(pCache)).FpGroup)).Fmutex) @@ -30583,7 +30593,7 @@ func pcache1Pagecount(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:52114:12: * // This steps are broken out into a separate procedure because they are // usually not needed, and by avoiding the stack initialization required // for these steps, the main pcache1Fetch() procedure can run faster. -func pcache1FetchStage2(tls *libc.TLS, pCache uintptr, iKey uint32, createFlag int32) uintptr { /* sqlite3.c:52132:31: */ +func pcache1FetchStage2(tls *libc.TLS, pCache uintptr, iKey uint32, createFlag int32) uintptr { /* sqlite3.c:52142:31: */ var nPinned uint32 var pGroup uintptr = (*PCache1)(unsafe.Pointer(pCache)).FpGroup var pPage uintptr = uintptr(0) @@ -30701,7 +30711,7 @@ func pcache1FetchStage2(tls *libc.TLS, pCache uintptr, iKey uint32, createFlag i // the general case. pcache1FetchNoMutex() is a faster implementation for // the common case where pGroup->mutex is NULL. The pcache1Fetch() wrapper // invokes the appropriate routine. -func pcache1FetchNoMutex(tls *libc.TLS, p uintptr, iKey uint32, createFlag int32) uintptr { /* sqlite3.c:52260:15: */ +func pcache1FetchNoMutex(tls *libc.TLS, p uintptr, iKey uint32, createFlag int32) uintptr { /* sqlite3.c:52270:15: */ var pCache uintptr = p var pPage uintptr = uintptr(0) @@ -30730,7 +30740,7 @@ func pcache1FetchNoMutex(tls *libc.TLS, p uintptr, iKey uint32, createFlag int32 return uintptr(0) } -func pcache1FetchWithMutex(tls *libc.TLS, p uintptr, iKey uint32, createFlag int32) uintptr { /* sqlite3.c:52290:15: */ +func pcache1FetchWithMutex(tls *libc.TLS, p uintptr, iKey uint32, createFlag int32) uintptr { /* sqlite3.c:52300:15: */ var pCache uintptr = p var pPage uintptr @@ -30741,7 +30751,7 @@ func pcache1FetchWithMutex(tls *libc.TLS, p uintptr, iKey uint32, createFlag int return pPage } -func pcache1Fetch(tls *libc.TLS, p uintptr, iKey uint32, createFlag int32) uintptr { /* sqlite3.c:52305:28: */ +func pcache1Fetch(tls *libc.TLS, p uintptr, iKey uint32, createFlag int32) uintptr { /* sqlite3.c:52315:28: */ var pCache uintptr = p if (*PGroup)(unsafe.Pointer((*PCache1)(unsafe.Pointer(pCache)).FpGroup)).Fmutex != 0 { @@ -30755,7 +30765,7 @@ func pcache1Fetch(tls *libc.TLS, p uintptr, iKey uint32, createFlag int32) uintp // Implementation of the sqlite3_pcache.xUnpin method. // // Mark a page as unpinned (eligible for asynchronous recycling). -func pcache1Unpin(tls *libc.TLS, p uintptr, pPg uintptr, reuseUnlikely int32) { /* sqlite3.c:52336:13: */ +func pcache1Unpin(tls *libc.TLS, p uintptr, pPg uintptr, reuseUnlikely int32) { /* sqlite3.c:52346:13: */ var pCache uintptr = p var pPage uintptr = pPg var pGroup uintptr = (*PCache1)(unsafe.Pointer(pCache)).FpGroup @@ -30780,7 +30790,7 @@ func pcache1Unpin(tls *libc.TLS, p uintptr, pPg uintptr, reuseUnlikely int32) { } // Implementation of the sqlite3_pcache.xRekey method. -func pcache1Rekey(tls *libc.TLS, p uintptr, pPg uintptr, iOld uint32, iNew uint32) { /* sqlite3.c:52371:13: */ +func pcache1Rekey(tls *libc.TLS, p uintptr, pPg uintptr, iOld uint32, iNew uint32) { /* sqlite3.c:52381:13: */ var pCache uintptr = p var pPage uintptr = pPg var pp uintptr @@ -30811,7 +30821,7 @@ func pcache1Rekey(tls *libc.TLS, p uintptr, pPg uintptr, iOld uint32, iNew uint3 // Discard all unpinned pages in the cache with a page number equal to // or greater than parameter iLimit. Any pinned pages with a page number // equal to or greater than iLimit are implicitly unpinned. -func pcache1Truncate(tls *libc.TLS, p uintptr, iLimit uint32) { /* sqlite3.c:52411:13: */ +func pcache1Truncate(tls *libc.TLS, p uintptr, iLimit uint32) { /* sqlite3.c:52421:13: */ var pCache uintptr = p Xsqlite3_mutex_enter(tls, (*PGroup)(unsafe.Pointer((*PCache1)(unsafe.Pointer(pCache)).FpGroup)).Fmutex) if iLimit <= (*PCache1)(unsafe.Pointer(pCache)).FiMaxKey { @@ -30824,7 +30834,7 @@ func pcache1Truncate(tls *libc.TLS, p uintptr, iLimit uint32) { /* sqlite3.c:524 // Implementation of the sqlite3_pcache.xDestroy method. // // Destroy a cache allocated using pcache1Create(). -func pcache1Destroy(tls *libc.TLS, p uintptr) { /* sqlite3.c:52426:13: */ +func pcache1Destroy(tls *libc.TLS, p uintptr) { /* sqlite3.c:52436:13: */ var pCache uintptr = p var pGroup uintptr = (*PCache1)(unsafe.Pointer(pCache)).FpGroup @@ -30847,7 +30857,7 @@ func pcache1Destroy(tls *libc.TLS, p uintptr) { /* sqlite3.c:52426:13: */ // This function is called during initialization (sqlite3_initialize()) to // install the default pluggable cache module, assuming the user has not // already provided an alternative. -func Xsqlite3PCacheSetDefault(tls *libc.TLS) { /* sqlite3.c:52449:21: */ +func Xsqlite3PCacheSetDefault(tls *libc.TLS) { /* sqlite3.c:52459:21: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -30867,16 +30877,16 @@ var defaultMethods1 = Sqlite3_pcache_methods2{ FxTruncate: 0, // xTruncate FxDestroy: 0, // xDestroy FxShrink: 0, // xShrink -} /* sqlite3.c:52450:40 */ +} /* sqlite3.c:52460:40 */ // Return the size of the header on each page of this PCACHE implementation. -func Xsqlite3HeaderSizePcache1(tls *libc.TLS) int32 { /* sqlite3.c:52471:20: */ +func Xsqlite3HeaderSizePcache1(tls *libc.TLS) int32 { /* sqlite3.c:52481:20: */ return int32((uint64(unsafe.Sizeof(PgHdr1{})) + uint64(7)) & libc.Uint64FromInt32(libc.CplInt32(7))) } // Return the global mutex used by this PCACHE implementation. The // sqlite3_status() routine needs access to this mutex. -func Xsqlite3Pcache1Mutex(tls *libc.TLS) uintptr { /* sqlite3.c:52477:30: */ +func Xsqlite3Pcache1Mutex(tls *libc.TLS) uintptr { /* sqlite3.c:52487:30: */ return pcache1_g.Fmutex } @@ -30887,7 +30897,7 @@ func Xsqlite3Pcache1Mutex(tls *libc.TLS) uintptr { /* sqlite3.c:52477:30: */ // nReq is the number of bytes of memory required. Once this much has // been released, the function returns. The return value is the total number // of bytes of memory released. -func Xsqlite3PcacheReleaseMemory(tls *libc.TLS, nReq int32) int32 { /* sqlite3.c:52491:20: */ +func Xsqlite3PcacheReleaseMemory(tls *libc.TLS, nReq int32) int32 { /* sqlite3.c:52501:20: */ var nFree int32 = 0 if Xsqlite3Config.FpPage == uintptr(0) { @@ -31004,7 +31014,7 @@ type RowSetChunk = struct { // Allocate a RowSet object. Return NULL if a memory allocation // error occurs. -func Xsqlite3RowSetInit(tls *libc.TLS, db uintptr) uintptr { /* sqlite3.c:52671:23: */ +func Xsqlite3RowSetInit(tls *libc.TLS, db uintptr) uintptr { /* sqlite3.c:52681:23: */ var p uintptr = Xsqlite3DbMallocRawNN(tls, db, uint64(unsafe.Sizeof(RowSet{}))) if p != 0 { var N int32 = Xsqlite3DbMallocSize(tls, db, p) @@ -31024,7 +31034,7 @@ func Xsqlite3RowSetInit(tls *libc.TLS, db uintptr) uintptr { /* sqlite3.c:52671: // Deallocate all chunks from a RowSet. This frees all memory that // the RowSet has allocated over its lifetime. This routine is // the destructor for the RowSet. -func Xsqlite3RowSetClear(tls *libc.TLS, pArg uintptr) { /* sqlite3.c:52693:21: */ +func Xsqlite3RowSetClear(tls *libc.TLS, pArg uintptr) { /* sqlite3.c:52703:21: */ var p uintptr = pArg var pChunk uintptr var pNextChunk uintptr @@ -31043,7 +31053,7 @@ func Xsqlite3RowSetClear(tls *libc.TLS, pArg uintptr) { /* sqlite3.c:52693:21: * // Deallocate all chunks from a RowSet. This frees all memory that // the RowSet has allocated over its lifetime. This routine is // the destructor for the RowSet. -func Xsqlite3RowSetDelete(tls *libc.TLS, pArg uintptr) { /* sqlite3.c:52713:21: */ +func Xsqlite3RowSetDelete(tls *libc.TLS, pArg uintptr) { /* sqlite3.c:52723:21: */ Xsqlite3RowSetClear(tls, pArg) Xsqlite3DbFree(tls, (*RowSet)(unsafe.Pointer(pArg)).Fdb, pArg) } @@ -31054,7 +31064,7 @@ func Xsqlite3RowSetDelete(tls *libc.TLS, pArg uintptr) { /* sqlite3.c:52713:21: // // In an OOM situation, the RowSet.db->mallocFailed flag is set and this // routine returns NULL. -func rowSetEntryAlloc(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:52726:27: */ +func rowSetEntryAlloc(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:52736:27: */ if int32((*RowSet)(unsafe.Pointer(p)).FnFresh) == 0 { //OPTIMIZATION-IF-FALSE // We could allocate a fresh RowSetEntry each time one is needed, but it @@ -31077,7 +31087,7 @@ func rowSetEntryAlloc(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:52726:27: // // The mallocFailed flag of the database connection is set if a // memory allocation fails. -func Xsqlite3RowSetInsert(tls *libc.TLS, p uintptr, rowid I64) { /* sqlite3.c:52751:21: */ +func Xsqlite3RowSetInsert(tls *libc.TLS, p uintptr, rowid I64) { /* sqlite3.c:52761:21: */ var pEntry uintptr // The new entry var pLast uintptr // The last prior entry @@ -31107,7 +31117,7 @@ func Xsqlite3RowSetInsert(tls *libc.TLS, p uintptr, rowid I64) { /* sqlite3.c:52 // // The input lists are connected via pRight pointers and are // assumed to each already be in sorted order. -func rowSetEntryMerge(tls *libc.TLS, pA uintptr, pB uintptr) uintptr { /* sqlite3.c:52782:27: */ +func rowSetEntryMerge(tls *libc.TLS, pA uintptr, pB uintptr) uintptr { /* sqlite3.c:52792:27: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -31142,7 +31152,7 @@ func rowSetEntryMerge(tls *libc.TLS, pA uintptr, pB uintptr) uintptr { /* sqlite // Sort all elements on the list of RowSetEntry objects into order of // increasing v. -func rowSetEntrySort(tls *libc.TLS, pIn uintptr) uintptr { /* sqlite3.c:52817:27: */ +func rowSetEntrySort(tls *libc.TLS, pIn uintptr) uintptr { /* sqlite3.c:52827:27: */ bp := tls.Alloc(320) defer tls.Free(320) @@ -31178,7 +31188,7 @@ func rowSetEntrySort(tls *libc.TLS, pIn uintptr) uintptr { /* sqlite3.c:52817:27 // The input, pIn, is a binary tree (or subtree) of RowSetEntry objects. // Convert this tree into a linked list connected by the pRight pointers // and return pointers to the first and last elements of the new list. -func rowSetTreeToList(tls *libc.TLS, pIn uintptr, ppFirst uintptr, ppLast uintptr) { /* sqlite3.c:52846:13: */ +func rowSetTreeToList(tls *libc.TLS, pIn uintptr, ppFirst uintptr, ppLast uintptr) { /* sqlite3.c:52856:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -31209,7 +31219,7 @@ func rowSetTreeToList(tls *libc.TLS, pIn uintptr, ppFirst uintptr, ppLast uintpt // and leave *ppList set to NULL. // // Return a pointer to the root of the constructed binary tree. -func rowSetNDeepTree(tls *libc.TLS, ppList uintptr, iDepth int32) uintptr { /* sqlite3.c:52881:27: */ +func rowSetNDeepTree(tls *libc.TLS, ppList uintptr, iDepth int32) uintptr { /* sqlite3.c:52891:27: */ var p uintptr // Root of the new tree var pLeft uintptr // Left subtree if *(*uintptr)(unsafe.Pointer(ppList)) == uintptr(0) { //OPTIMIZATION-IF-TRUE @@ -31240,7 +31250,7 @@ func rowSetNDeepTree(tls *libc.TLS, ppList uintptr, iDepth int32) uintptr { /* s // Convert a sorted list of elements into a binary tree. Make the tree // as deep as it needs to be in order to contain the entire list. -func rowSetListToTree(tls *libc.TLS, pList uintptr) uintptr { /* sqlite3.c:52917:27: */ +func rowSetListToTree(tls *libc.TLS, pList uintptr) uintptr { /* sqlite3.c:52927:27: */ bp := tls.Alloc(8) defer tls.Free(8) *(*uintptr)(unsafe.Pointer(bp)) = pList @@ -31273,7 +31283,7 @@ func rowSetListToTree(tls *libc.TLS, pList uintptr) uintptr { /* sqlite3.c:52917 // been used. Older versions of RowSet allowed that, but as the // capability was not used by the code generator, it was removed // for code economy. -func Xsqlite3RowSetNext(tls *libc.TLS, p uintptr, pRowid uintptr) int32 { /* sqlite3.c:52949:20: */ +func Xsqlite3RowSetNext(tls *libc.TLS, p uintptr, pRowid uintptr) int32 { /* sqlite3.c:52959:20: */ // Cannot be used with sqlite3RowSetText() @@ -31306,7 +31316,7 @@ func Xsqlite3RowSetNext(tls *libc.TLS, p uintptr, pRowid uintptr) int32 { /* sql // If this is the first test of a new batch and if there exist entries // on pRowSet->pEntry, then sort those entries into the forest at // pRowSet->pForest so that they can be tested. -func Xsqlite3RowSetTest(tls *libc.TLS, pRowSet uintptr, iBatch int32, iRowid Sqlite3_int64) int32 { /* sqlite3.c:52983:20: */ +func Xsqlite3RowSetTest(tls *libc.TLS, pRowSet uintptr, iBatch int32, iRowid Sqlite3_int64) int32 { /* sqlite3.c:52993:20: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -31491,7 +31501,7 @@ type Wal1 = struct { // Connection to a write-ahead log (WAL) file. // There is one object of this type for each pager. -type Wal = Wal1 /* sqlite3.c:53125:20 */ +type Wal = Wal1 /* sqlite3.c:53135:20 */ //************* End of wal.h ************************************************ //************* Continuing where we left off in pager.c ********************* @@ -32260,7 +32270,7 @@ type PagerSavepoint1 = struct { // immediately following the last journal record written into the main // journal before the journal-header. This is required during savepoint // rollback (see pagerPlaybackSavepoint()). -type PagerSavepoint = PagerSavepoint1 /* sqlite3.c:53636:31 */ +type PagerSavepoint = PagerSavepoint1 /* sqlite3.c:53646:31 */ // Indexes for use with Pager.aStat[]. The Pager.aStat[] array contains // the values accessed by passing SQLITE_DBSTATUS_CACHE_HIT, CACHE_MISS @@ -32293,11 +32303,11 @@ type PagerSavepoint = PagerSavepoint1 /* sqlite3.c:53636:31 */ // is different for every journal, we minimize that risk. var aJournalMagic = [8]uint8{ uint8(0xd9), uint8(0xd5), uint8(0x05), uint8(0xf9), uint8(0x20), uint8(0xa1), uint8(0x63), uint8(0xd7), -} /* sqlite3.c:53958:28 */ +} /* sqlite3.c:53968:28 */ // Set the Pager.xGet method for the appropriate routine used to fetch // content from the pager. -func setGetterMethod(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:54251:13: */ +func setGetterMethod(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:54261:13: */ if (*Pager)(unsafe.Pointer(pPager)).FerrCode != 0 { (*Pager)(unsafe.Pointer(pPager)).FxGet = *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, Pgno, uintptr, int32) int32 @@ -32320,7 +32330,7 @@ func setGetterMethod(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:54251:13: */ // * The page-number is less than or equal to PagerSavepoint.nOrig, and // * The bit corresponding to the page-number is not set in // PagerSavepoint.pInSavepoint. -func subjRequiresPage(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:54272:12: */ +func subjRequiresPage(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:54282:12: */ var pPager uintptr = (*PgHdr)(unsafe.Pointer(pPg)).FpPager var p uintptr var pgno Pgno = (*PgHdr)(unsafe.Pointer(pPg)).Fpgno @@ -32342,7 +32352,7 @@ func subjRequiresPage(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:54272:12: // error code is something goes wrong. // // All values are stored on disk as big-endian. -func read32bits(tls *libc.TLS, fd uintptr, offset I64, pRes uintptr) int32 { /* sqlite3.c:54305:12: */ +func read32bits(tls *libc.TLS, fd uintptr, offset I64, pRes uintptr) int32 { /* sqlite3.c:54315:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -32359,7 +32369,7 @@ func read32bits(tls *libc.TLS, fd uintptr, offset I64, pRes uintptr) int32 { /* // Write a 32-bit integer into the given file descriptor. Return SQLITE_OK // on success or an error code is something goes wrong. -func write32bits(tls *libc.TLS, fd uintptr, offset I64, val U32) int32 { /* sqlite3.c:54324:12: */ +func write32bits(tls *libc.TLS, fd uintptr, offset I64, val U32) int32 { /* sqlite3.c:54334:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -32376,7 +32386,7 @@ func write32bits(tls *libc.TLS, fd uintptr, offset I64, val U32) int32 { /* sqli // Except, if Pager.eLock is set to UNKNOWN_LOCK when this function is // called, do not modify it. See the comment above the #define of // UNKNOWN_LOCK for an explanation of this. -func pagerUnlockDb(tls *libc.TLS, pPager uintptr, eLock int32) int32 { /* sqlite3.c:54339:12: */ +func pagerUnlockDb(tls *libc.TLS, pPager uintptr, eLock int32) int32 { /* sqlite3.c:54349:12: */ var rc int32 = SQLITE_OK if (*Sqlite3_file)(unsafe.Pointer((*Pager)(unsafe.Pointer(pPager)).Ffd)).FpMethods != uintptr(0) { @@ -32403,7 +32413,7 @@ func pagerUnlockDb(tls *libc.TLS, pPager uintptr, eLock int32) int32 { /* sqlite // called, do not modify it unless the new locking state is EXCLUSIVE_LOCK. // See the comment above the #define of UNKNOWN_LOCK for an explanation // of this. -func pagerLockDb(tls *libc.TLS, pPager uintptr, eLock int32) int32 { /* sqlite3.c:54367:12: */ +func pagerLockDb(tls *libc.TLS, pPager uintptr, eLock int32) int32 { /* sqlite3.c:54377:12: */ var rc int32 = SQLITE_OK if int32((*Pager)(unsafe.Pointer(pPager)).FeLock) < eLock || int32((*Pager)(unsafe.Pointer(pPager)).FeLock) == EXCLUSIVE_LOCK+1 { @@ -32437,7 +32447,7 @@ func pagerLockDb(tls *libc.TLS, pPager uintptr, eLock int32) int32 { /* sqlite3. // returned in this case. // // If neither optimization can be used, 0 is returned. -func jrnlBufferSize(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:54400:12: */ +func jrnlBufferSize(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:54410:12: */ _ = pPager @@ -32471,7 +32481,7 @@ func jrnlBufferSize(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:54400:12 // // If an error occurs while reading from the journal file, an SQLite // error code is returned. -func readSuperJournal(tls *libc.TLS, pJrnl uintptr, zSuper uintptr, nSuper U32) int32 { /* sqlite3.c:54505:12: */ +func readSuperJournal(tls *libc.TLS, pJrnl uintptr, zSuper uintptr, nSuper U32) int32 { /* sqlite3.c:54515:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -32530,7 +32540,7 @@ func readSuperJournal(tls *libc.TLS, pJrnl uintptr, zSuper uintptr, nSuper U32) // 100 512 // 2000 2048 // -func journalHdrOffset(tls *libc.TLS, pPager uintptr) I64 { /* sqlite3.c:54561:12: */ +func journalHdrOffset(tls *libc.TLS, pPager uintptr) I64 { /* sqlite3.c:54571:12: */ var offset I64 = int64(0) var c I64 = (*Pager)(unsafe.Pointer(pPager)).FjournalOff if c != 0 { @@ -32559,7 +32569,7 @@ func journalHdrOffset(tls *libc.TLS, pPager uintptr) I64 { /* sqlite3.c:54561:12 // // If an IO error occurs, abandon processing and return the IO error code. // Otherwise, return SQLITE_OK. -func zeroJournalHdr(tls *libc.TLS, pPager uintptr, doTruncate int32) int32 { /* sqlite3.c:54594:12: */ +func zeroJournalHdr(tls *libc.TLS, pPager uintptr, doTruncate int32) int32 { /* sqlite3.c:54604:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -32594,7 +32604,7 @@ func zeroJournalHdr(tls *libc.TLS, pPager uintptr, doTruncate int32) int32 { /* return rc } -var zeroHdr = [28]uint8{0: uint8(0)} /* sqlite3.c:54605:25 */ +var zeroHdr = [28]uint8{0: uint8(0)} /* sqlite3.c:54615:25 */ // The journal file must be open when this routine is called. A journal // header (JOURNAL_HDR_SZ bytes) is written into the journal file at the @@ -32609,7 +32619,7 @@ var zeroHdr = [28]uint8{0: uint8(0)} /* sqlite3.c:54605:25 */ // - 4 bytes: Database page size. // // Followed by (JOURNAL_HDR_SZ - 28) bytes of unused space. -func writeJournalHdr(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:54644:12: */ +func writeJournalHdr(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:54654:12: */ var rc int32 = SQLITE_OK // Return code var zHeader uintptr = (*Pager)(unsafe.Pointer(pPager)).FpTmpSpace // Temporary space used to build header var nHeader U32 = U32((*Pager)(unsafe.Pointer(pPager)).FpageSize) // Size of buffer pointed to by zHeader @@ -32719,7 +32729,7 @@ func writeJournalHdr(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:54644:1 // If the journal header file appears to be corrupted, SQLITE_DONE is // returned and *pNRec and *PDbSize are undefined. If JOURNAL_HDR_SZ bytes // cannot be read from the journal file an error code is returned. -func readJournalHdr(tls *libc.TLS, pPager uintptr, isHot int32, journalSize I64, pNRec uintptr, pDbSize uintptr) int32 { /* sqlite3.c:54762:12: */ +func readJournalHdr(tls *libc.TLS, pPager uintptr, isHot int32, journalSize I64, pNRec uintptr, pDbSize uintptr) int32 { /* sqlite3.c:54772:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -32829,7 +32839,7 @@ func readJournalHdr(tls *libc.TLS, pPager uintptr, isHot int32, journalSize I64, // // If zSuper is a NULL pointer (occurs for a single database transaction), // this call is a no-op. -func writeSuperJournal(tls *libc.TLS, pPager uintptr, zSuper uintptr) int32 { /* sqlite3.c:54887:12: */ +func writeSuperJournal(tls *libc.TLS, pPager uintptr, zSuper uintptr) int32 { /* sqlite3.c:54897:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -32889,21 +32899,21 @@ func writeSuperJournal(tls *libc.TLS, pPager uintptr, zSuper uintptr) int32 { /* } // Discard the entire contents of the in-memory page-cache. -func pager_reset(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:54955:13: */ +func pager_reset(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:54965:13: */ (*Pager)(unsafe.Pointer(pPager)).FiDataVersion++ Xsqlite3BackupRestart(tls, (*Pager)(unsafe.Pointer(pPager)).FpBackup) Xsqlite3PcacheClear(tls, (*Pager)(unsafe.Pointer(pPager)).FpPCache) } // Return the pPager->iDataVersion value -func Xsqlite3PagerDataVersion(tls *libc.TLS, pPager uintptr) U32 { /* sqlite3.c:54964:20: */ +func Xsqlite3PagerDataVersion(tls *libc.TLS, pPager uintptr) U32 { /* sqlite3.c:54974:20: */ return (*Pager)(unsafe.Pointer(pPager)).FiDataVersion } // Free all structures in the Pager.aSavepoint[] array and set both // Pager.aSavepoint and Pager.nSavepoint to zero. Close the sub-journal // if it is open and the pager is not in exclusive mode. -func releaseAllSavepoints(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:54973:13: */ +func releaseAllSavepoints(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:54983:13: */ var ii int32 // Iterator for looping through Pager.aSavepoint for ii = 0; ii < (*Pager)(unsafe.Pointer(pPager)).FnSavepoint; ii++ { Xsqlite3BitvecDestroy(tls, (*PagerSavepoint)(unsafe.Pointer((*Pager)(unsafe.Pointer(pPager)).FaSavepoint+uintptr(ii)*56)).FpInSavepoint) @@ -32920,7 +32930,7 @@ func releaseAllSavepoints(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:54973:13 // Set the bit number pgno in the PagerSavepoint.pInSavepoint // bitvecs of all open savepoints. Return SQLITE_OK if successful // or SQLITE_NOMEM if a malloc failure occurs. -func addToSavepointBitvecs(tls *libc.TLS, pPager uintptr, pgno Pgno) int32 { /* sqlite3.c:54992:12: */ +func addToSavepointBitvecs(tls *libc.TLS, pPager uintptr, pgno Pgno) int32 { /* sqlite3.c:55002:12: */ var ii int32 // Loop counter var rc int32 = SQLITE_OK // Result code @@ -32949,7 +32959,7 @@ func addToSavepointBitvecs(tls *libc.TLS, pPager uintptr, pgno Pgno) int32 { /* // or not, any journal file left in the file-system will be treated // as a hot-journal and rolled back the next time a read-transaction // is opened (by this or by any other connection). -func pager_unlock(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:55024:13: */ +func pager_unlock(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:55034:13: */ Xsqlite3BitvecDestroy(tls, (*Pager)(unsafe.Pointer(pPager)).FpInJournal) (*Pager)(unsafe.Pointer(pPager)).FpInJournal = uintptr(0) @@ -33041,7 +33051,7 @@ func pager_unlock(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:55024:13: */ // the persistent error occurred, then the rollback journal may need // to be replayed to restore the contents of the database file (as if // it were a hot-journal). -func pager_error(tls *libc.TLS, pPager uintptr, rc int32) int32 { /* sqlite3.c:55121:12: */ +func pager_error(tls *libc.TLS, pPager uintptr, rc int32) int32 { /* sqlite3.c:55131:12: */ var rc2 int32 = rc & 0xff if rc2 == SQLITE_FULL || rc2 == SQLITE_IOERR { @@ -33066,7 +33076,7 @@ func pager_error(tls *libc.TLS, pPager uintptr, rc int32) int32 { /* sqlite3.c:5 // file has been created already (via a spill on pagerStress()) and // when the number of dirty pages in memory exceeds 25% of the total // cache size. -func pagerFlushOnCommit(tls *libc.TLS, pPager uintptr, bCommit int32) int32 { /* sqlite3.c:55155:12: */ +func pagerFlushOnCommit(tls *libc.TLS, pPager uintptr, bCommit int32) int32 { /* sqlite3.c:55165:12: */ if int32((*Pager)(unsafe.Pointer(pPager)).FtempFile) == 0 { return 1 } @@ -33130,7 +33140,7 @@ func pagerFlushOnCommit(tls *libc.TLS, pPager uintptr, bCommit int32) int32 { /* // unlock operation fails as well, then the first error code related // to the first error encountered (the journal finalization one) is // returned. -func pager_end_transaction(tls *libc.TLS, pPager uintptr, hasSuper int32, bCommit int32) int32 { /* sqlite3.c:55215:12: */ +func pager_end_transaction(tls *libc.TLS, pPager uintptr, hasSuper int32, bCommit int32) int32 { /* sqlite3.c:55225:12: */ var rc int32 = SQLITE_OK // Error code from journal finalization operation var rc2 int32 = SQLITE_OK // Error code from db file unlock operation @@ -33257,7 +33267,7 @@ func pager_end_transaction(tls *libc.TLS, pPager uintptr, hasSuper int32, bCommi // malloc error occurs during a rollback, then this will itself cause // the pager to enter the ERROR state. Which will be cleared by the // call to pager_unlock(), as described above. -func pagerUnlockAndRollback(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:55362:13: */ +func pagerUnlockAndRollback(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:55372:13: */ if int32((*Pager)(unsafe.Pointer(pPager)).FeState) != PAGER_ERROR && int32((*Pager)(unsafe.Pointer(pPager)).FeState) != PAGER_OPEN { if int32((*Pager)(unsafe.Pointer(pPager)).FeState) >= PAGER_WRITER_LOCKED { @@ -33289,7 +33299,7 @@ func pagerUnlockAndRollback(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:55362: // It is much less likely that the two ends of the journal record will be // correct and the middle be corrupt. Thus, this "checksum" scheme, // though fast and simple, catches the mostly likely kind of corruption. -func pager_cksum(tls *libc.TLS, pPager uintptr, aData uintptr) U32 { /* sqlite3.c:55396:12: */ +func pager_cksum(tls *libc.TLS, pPager uintptr, aData uintptr) U32 { /* sqlite3.c:55406:12: */ var cksum U32 = (*Pager)(unsafe.Pointer(pPager)).FcksumInit // Checksum value to return var i int32 = int32((*Pager)(unsafe.Pointer(pPager)).FpageSize - int64(200)) // Loop counter for i > 0 { @@ -33334,7 +33344,7 @@ func pager_cksum(tls *libc.TLS, pPager uintptr, aData uintptr) U32 { /* sqlite3. // If this is a savepoint rollback, then memory may have to be dynamically // allocated by this function. If this is the case and an allocation fails, // SQLITE_NOMEM is returned. -func pager_playback_one_page(tls *libc.TLS, pPager uintptr, pOffset uintptr, pDone uintptr, isMainJrnl int32, isSavepnt int32) int32 { /* sqlite3.c:55443:12: */ +func pager_playback_one_page(tls *libc.TLS, pPager uintptr, pOffset uintptr, pDone uintptr, isMainJrnl int32, isSavepnt int32) int32 { /* sqlite3.c:55453:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -33568,7 +33578,7 @@ func pager_playback_one_page(tls *libc.TLS, pPager uintptr, pOffset uintptr, pDo // the entire contents of the super-journal file. This could be // a couple of kilobytes or so - potentially larger than the page // size. -func pager_delsuper(tls *libc.TLS, pPager uintptr, zSuper uintptr) int32 { /* sqlite3.c:55690:12: */ +func pager_delsuper(tls *libc.TLS, pPager uintptr, zSuper uintptr) int32 { /* sqlite3.c:55700:12: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -33734,7 +33744,7 @@ __14: // // If successful, return SQLITE_OK. If an IO error occurs while modifying // the database file, return the error code to the caller. -func pager_truncate(tls *libc.TLS, pPager uintptr, nPage Pgno) int32 { /* sqlite3.c:55808:12: */ +func pager_truncate(tls *libc.TLS, pPager uintptr, nPage Pgno) int32 { /* sqlite3.c:55818:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -33769,7 +33779,7 @@ func pager_truncate(tls *libc.TLS, pPager uintptr, nPage Pgno) int32 { /* sqlite // Return a sanitized version of the sector-size of OS file pFile. The // return value is guaranteed to lie between 32 and MAX_SECTOR_SIZE. -func Xsqlite3SectorSize(tls *libc.TLS, pFile uintptr) int32 { /* sqlite3.c:55844:20: */ +func Xsqlite3SectorSize(tls *libc.TLS, pFile uintptr) int32 { /* sqlite3.c:55854:20: */ var iRet int32 = Xsqlite3OsSectorSize(tls, pFile) if iRet < 32 { iRet = 512 @@ -33801,7 +33811,7 @@ func Xsqlite3SectorSize(tls *libc.TLS, pFile uintptr) int32 { /* sqlite3.c:55844 // (that is what POWERSAFE_OVERWRITE means), so we minimize the sector // size. For backwards compatibility of the rollback journal file format, // we cannot reduce the effective sector size below 512. -func setSectorSize(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:55878:13: */ +func setSectorSize(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:55888:13: */ if (*Pager)(unsafe.Pointer(pPager)).FtempFile != 0 || Xsqlite3OsDeviceCharacteristics(tls, (*Pager)(unsafe.Pointer(pPager)).Ffd)&SQLITE_IOCAP_POWERSAFE_OVERWRITE != 0 { @@ -33869,7 +33879,7 @@ func setSectorSize(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:55878:13: */ // If the journal really is hot, reset the pager cache prior rolling // back any content. If the journal is merely persistent, no reset is // needed. -func pager_playback(tls *libc.TLS, pPager uintptr, isHot int32) int32 { /* sqlite3.c:55951:12: */ +func pager_playback(tls *libc.TLS, pPager uintptr, isHot int32) int32 { /* sqlite3.c:55961:12: */ bp := tls.Alloc(40) defer tls.Free(40) @@ -34160,7 +34170,7 @@ __28: // // If an IO error occurs, then the IO error is returned to the caller. // Otherwise, SQLITE_OK is returned. -func readDbPage(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:56171:12: */ +func readDbPage(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:56181:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -34214,7 +34224,7 @@ func readDbPage(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:56171:12: */ // This is an unconditional update. See also the pager_incr_changecounter() // routine which only updates the change-counter if the update is actually // needed, as determined by the pPager->changeCountDone state variable. -func pager_write_changecounter(tls *libc.TLS, pPg uintptr) { /* sqlite3.c:56234:13: */ +func pager_write_changecounter(tls *libc.TLS, pPg uintptr) { /* sqlite3.c:56244:13: */ var change_counter U32 if pPg == uintptr(0) { return @@ -34241,7 +34251,7 @@ func pager_write_changecounter(tls *libc.TLS, pPg uintptr) { /* sqlite3.c:56234: // references, the page content is reloaded from the database. If the // attempt to reload content from the database is required and fails, // return an SQLite error code. Otherwise, SQLITE_OK. -func pagerUndoCallback(tls *libc.TLS, pCtx uintptr, iPg Pgno) int32 { /* sqlite3.c:56262:12: */ +func pagerUndoCallback(tls *libc.TLS, pCtx uintptr, iPg Pgno) int32 { /* sqlite3.c:56272:12: */ var rc int32 = SQLITE_OK var pPager uintptr = pCtx var pPg uintptr @@ -34272,7 +34282,7 @@ func pagerUndoCallback(tls *libc.TLS, pCtx uintptr, iPg Pgno) int32 { /* sqlite3 } // This function is called to rollback a transaction on a WAL database. -func pagerRollbackWal(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:56297:12: */ +func pagerRollbackWal(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:56307:12: */ var rc int32 // Return Code var pList uintptr // List of dirty pages to revert @@ -34303,7 +34313,7 @@ func pagerRollbackWal(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:56297: // // The list of pages passed into this routine is always sorted by page number. // Hence, if page 1 appears anywhere on the list, it will be the first page. -func pagerWalFrames(tls *libc.TLS, pPager uintptr, pList uintptr, nTruncate Pgno, isCommit int32) int32 { /* sqlite3.c:56329:12: */ +func pagerWalFrames(tls *libc.TLS, pPager uintptr, pList uintptr, nTruncate Pgno, isCommit int32) int32 { /* sqlite3.c:56339:12: */ bp := tls.Alloc(8) defer tls.Free(8) *(*uintptr)(unsafe.Pointer(bp)) = pList @@ -34351,7 +34361,7 @@ func pagerWalFrames(tls *libc.TLS, pPager uintptr, pList uintptr, nTruncate Pgno // makes a snapshot of the database at the current point in time and preserves // that snapshot for use by the reader in spite of concurrently changes by // other writers or checkpointers. -func pagerBeginReadTransaction(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:56396:12: */ +func pagerBeginReadTransaction(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:56406:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -34382,7 +34392,7 @@ func pagerBeginReadTransaction(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3 // If no error occurs, SQLITE_OK is returned and the size of the database // in pages is stored in *pnPage. Otherwise, an error code (perhaps // SQLITE_IOERR_FSTAT) is returned and *pnPage is left unmodified. -func pagerPagecount(tls *libc.TLS, pPager uintptr, pnPage uintptr) int32 { /* sqlite3.c:56429:12: */ +func pagerPagecount(tls *libc.TLS, pPager uintptr, pnPage uintptr) int32 { /* sqlite3.c:56439:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -34436,7 +34446,7 @@ func pagerPagecount(tls *libc.TLS, pPager uintptr, pnPage uintptr) int32 { /* sq // a WAL on a none-empty database, this ensures there is no race condition // between the xAccess() below and an xDelete() being executed by some // other connection. -func pagerOpenWalIfPresent(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:56489:12: */ +func pagerOpenWalIfPresent(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:56499:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -34504,7 +34514,7 @@ func pagerOpenWalIfPresent(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:5 // is reset to the value that it held at the start of the savepoint // (or transaction). No page with a page-number greater than this value // is played back. If one is encountered it is simply skipped. -func pagerPlaybackSavepoint(tls *libc.TLS, pPager uintptr, pSavepoint uintptr) int32 { /* sqlite3.c:56556:12: */ +func pagerPlaybackSavepoint(tls *libc.TLS, pPager uintptr, pSavepoint uintptr) int32 { /* sqlite3.c:56566:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -34613,18 +34623,18 @@ func pagerPlaybackSavepoint(tls *libc.TLS, pPager uintptr, pSavepoint uintptr) i // Change the maximum number of in-memory pages that are allowed // before attempting to recycle clean and unused pages. -func Xsqlite3PagerSetCachesize(tls *libc.TLS, pPager uintptr, mxPage int32) { /* sqlite3.c:56668:21: */ +func Xsqlite3PagerSetCachesize(tls *libc.TLS, pPager uintptr, mxPage int32) { /* sqlite3.c:56678:21: */ Xsqlite3PcacheSetCachesize(tls, (*Pager)(unsafe.Pointer(pPager)).FpPCache, mxPage) } // Change the maximum number of in-memory pages that are allowed // before attempting to spill pages to journal. -func Xsqlite3PagerSetSpillsize(tls *libc.TLS, pPager uintptr, mxPage int32) int32 { /* sqlite3.c:56676:20: */ +func Xsqlite3PagerSetSpillsize(tls *libc.TLS, pPager uintptr, mxPage int32) int32 { /* sqlite3.c:56686:20: */ return Xsqlite3PcacheSetSpillsize(tls, (*Pager)(unsafe.Pointer(pPager)).FpPCache, mxPage) } // Invoke SQLITE_FCNTL_MMAP_SIZE based on the current value of szMmap. -func pagerFixMaplimit(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:56683:13: */ +func pagerFixMaplimit(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:56693:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -34640,13 +34650,13 @@ func pagerFixMaplimit(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:56683:13: */ } // Change the maximum size of any memory mapping made of the database file. -func Xsqlite3PagerSetMmapLimit(tls *libc.TLS, pPager uintptr, szMmap Sqlite3_int64) { /* sqlite3.c:56699:21: */ +func Xsqlite3PagerSetMmapLimit(tls *libc.TLS, pPager uintptr, szMmap Sqlite3_int64) { /* sqlite3.c:56709:21: */ (*Pager)(unsafe.Pointer(pPager)).FszMmap = szMmap pagerFixMaplimit(tls, pPager) } // Free as much memory as possible from the pager. -func Xsqlite3PagerShrink(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:56707:21: */ +func Xsqlite3PagerShrink(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:56717:21: */ Xsqlite3PcacheShrink(tls, (*Pager)(unsafe.Pointer(pPager)).FpPCache) } @@ -34699,7 +34709,7 @@ func Xsqlite3PagerShrink(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:56707:21: // // Numeric values associated with these states are OFF==1, NORMAL=2, // and FULL=3. -func Xsqlite3PagerSetFlags(tls *libc.TLS, pPager uintptr, pgFlags uint32) { /* sqlite3.c:56763:21: */ +func Xsqlite3PagerSetFlags(tls *libc.TLS, pPager uintptr, pgFlags uint32) { /* sqlite3.c:56773:21: */ var level uint32 = pgFlags & uint32(PAGER_SYNCHRONOUS_MASK) if (*Pager)(unsafe.Pointer(pPager)).FtempFile != 0 { (*Pager)(unsafe.Pointer(pPager)).FnoSync = U8(1) @@ -34763,7 +34773,7 @@ func Xsqlite3PagerSetFlags(tls *libc.TLS, pPager uintptr, pgFlags uint32) { /* s // SQLITE_OPEN_CREATE // SQLITE_OPEN_EXCLUSIVE // SQLITE_OPEN_DELETEONCLOSE -func pagerOpentemp(tls *libc.TLS, pPager uintptr, pFile uintptr, vfsFlags int32) int32 { /* sqlite3.c:56823:12: */ +func pagerOpentemp(tls *libc.TLS, pPager uintptr, pFile uintptr, vfsFlags int32) int32 { /* sqlite3.c:56833:12: */ var rc int32 // Return code vfsFlags = vfsFlags | (SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE | SQLITE_OPEN_EXCLUSIVE | SQLITE_OPEN_DELETEONCLOSE) @@ -34791,7 +34801,7 @@ func pagerOpentemp(tls *libc.TLS, pPager uintptr, pFile uintptr, vfsFlags int32) // If the busy-handler callback returns non-zero, the lock is // retried. If it returns zero, then the SQLITE_BUSY error is // returned to the caller of the pager API function. -func Xsqlite3PagerSetBusyHandler(tls *libc.TLS, pPager uintptr, xBusyHandler uintptr, pBusyHandlerArg uintptr) { /* sqlite3.c:56862:21: */ +func Xsqlite3PagerSetBusyHandler(tls *libc.TLS, pPager uintptr, xBusyHandler uintptr, pBusyHandlerArg uintptr) { /* sqlite3.c:56872:21: */ var ap uintptr (*Pager)(unsafe.Pointer(pPager)).FxBusyHandler = xBusyHandler (*Pager)(unsafe.Pointer(pPager)).FpBusyHandlerArg = pBusyHandlerArg @@ -34828,7 +34838,7 @@ func Xsqlite3PagerSetBusyHandler(tls *libc.TLS, pPager uintptr, xBusyHandler uin // conditions above is not true, the pager was in error state when this // function was called, or because the memory allocation attempt failed, // then *pPageSize is set to the old, retained page size before returning. -func Xsqlite3PagerSetPagesize(tls *libc.TLS, pPager uintptr, pPageSize uintptr, nReserve int32) int32 { /* sqlite3.c:56906:20: */ +func Xsqlite3PagerSetPagesize(tls *libc.TLS, pPager uintptr, pPageSize uintptr, nReserve int32) int32 { /* sqlite3.c:56916:20: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -34897,7 +34907,7 @@ func Xsqlite3PagerSetPagesize(tls *libc.TLS, pPager uintptr, pPageSize uintptr, // during rollback and will be overwritten whenever a rollback // occurs. But other modules are free to use it too, as long as // no rollbacks are happening. -func Xsqlite3PagerTempSpace(tls *libc.TLS, pPager uintptr) uintptr { /* sqlite3.c:56974:21: */ +func Xsqlite3PagerTempSpace(tls *libc.TLS, pPager uintptr) uintptr { /* sqlite3.c:56984:21: */ return (*Pager)(unsafe.Pointer(pPager)).FpTmpSpace } @@ -34906,7 +34916,7 @@ func Xsqlite3PagerTempSpace(tls *libc.TLS, pPager uintptr) uintptr { /* sqlite3. // maximum page count below the current size of the database. // // Regardless of mxPage, return the current maximum page count. -func Xsqlite3PagerMaxPageCount(tls *libc.TLS, pPager uintptr, mxPage Pgno) Pgno { /* sqlite3.c:56985:21: */ +func Xsqlite3PagerMaxPageCount(tls *libc.TLS, pPager uintptr, mxPage Pgno) Pgno { /* sqlite3.c:56995:21: */ if mxPage > Pgno(0) { (*Pager)(unsafe.Pointer(pPager)).FmxPgno = mxPage } @@ -34937,7 +34947,7 @@ func Xsqlite3PagerMaxPageCount(tls *libc.TLS, pPager uintptr, mxPage Pgno) Pgno // If any IO error apart from SQLITE_IOERR_SHORT_READ is encountered, // the error code is returned to the caller and the contents of the // output buffer undefined. -func Xsqlite3PagerReadFileheader(tls *libc.TLS, pPager uintptr, N int32, pDest uintptr) int32 { /* sqlite3.c:57035:20: */ +func Xsqlite3PagerReadFileheader(tls *libc.TLS, pPager uintptr, N int32, pDest uintptr) int32 { /* sqlite3.c:57045:20: */ var rc int32 = SQLITE_OK libc.Xmemset(tls, pDest, 0, uint64(N)) @@ -34960,7 +34970,7 @@ func Xsqlite3PagerReadFileheader(tls *libc.TLS, pPager uintptr, N int32, pDest u // // However, if the file is between 1 and bytes in size, then // this is considered a 1 page file. -func Xsqlite3PagerPagecount(tls *libc.TLS, pPager uintptr, pnPage uintptr) { /* sqlite3.c:57063:21: */ +func Xsqlite3PagerPagecount(tls *libc.TLS, pPager uintptr, pnPage uintptr) { /* sqlite3.c:57073:21: */ *(*int32)(unsafe.Pointer(pnPage)) = int32((*Pager)(unsafe.Pointer(pPager)).FdbSize) } @@ -34977,7 +34987,7 @@ func Xsqlite3PagerPagecount(tls *libc.TLS, pPager uintptr, pnPage uintptr) { /* // Return SQLITE_OK on success and an error code if we cannot obtain // the lock. If the lock is obtained successfully, set the Pager.state // variable to locktype before returning. -func pager_wait_on_lock(tls *libc.TLS, pPager uintptr, locktype int32) int32 { /* sqlite3.c:57084:12: */ +func pager_wait_on_lock(tls *libc.TLS, pPager uintptr, locktype int32) int32 { /* sqlite3.c:57094:12: */ var rc int32 // Return code // Check that this is either a no-op (because the requested lock is @@ -35022,7 +35032,7 @@ func pager_wait_on_lock(tls *libc.TLS, pPager uintptr, locktype int32) int32 { / // Once this function has been called, the transaction must either be // rolled back or committed. It is not safe to call this function and // then continue writing to the database. -func Xsqlite3PagerTruncateImage(tls *libc.TLS, pPager uintptr, nPage Pgno) { /* sqlite3.c:57155:21: */ +func Xsqlite3PagerTruncateImage(tls *libc.TLS, pPager uintptr, nPage Pgno) { /* sqlite3.c:57165:21: */ (*Pager)(unsafe.Pointer(pPager)).FdbSize = nPage @@ -35049,7 +35059,7 @@ func Xsqlite3PagerTruncateImage(tls *libc.TLS, pPager uintptr, nPage Pgno) { /* // // If everything goes as planned, SQLITE_OK is returned. Otherwise, // an SQLite error code. -func pagerSyncHotJournal(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:57186:12: */ +func pagerSyncHotJournal(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:57196:12: */ var rc int32 = SQLITE_OK if !(int32((*Pager)(unsafe.Pointer(pPager)).FnoSync) != 0) { rc = Xsqlite3OsSync(tls, (*Pager)(unsafe.Pointer(pPager)).Fjfd, SQLITE_SYNC_NORMAL) @@ -35068,7 +35078,7 @@ func pagerSyncHotJournal(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:571 // // Page references obtained by calling this function should be released // by calling pagerReleaseMapPage(). -func pagerAcquireMapPage(tls *libc.TLS, pPager uintptr, pgno Pgno, pData uintptr, ppPage uintptr) int32 { /* sqlite3.c:57208:12: */ +func pagerAcquireMapPage(tls *libc.TLS, pPager uintptr, pgno Pgno, pData uintptr, ppPage uintptr) int32 { /* sqlite3.c:57218:12: */ var p uintptr // Memory mapped page to return if (*Pager)(unsafe.Pointer(pPager)).FpMmapFreelist != 0 { @@ -35098,7 +35108,7 @@ func pagerAcquireMapPage(tls *libc.TLS, pPager uintptr, pgno Pgno, pData uintptr // Release a reference to page pPg. pPg must have been returned by an // earlier call to pagerAcquireMapPage(). -func pagerReleaseMapPage(tls *libc.TLS, pPg uintptr) { /* sqlite3.c:57252:13: */ +func pagerReleaseMapPage(tls *libc.TLS, pPg uintptr) { /* sqlite3.c:57262:13: */ var pPager uintptr = (*PgHdr)(unsafe.Pointer(pPg)).FpPager (*Pager)(unsafe.Pointer(pPager)).FnMmapOut-- (*PgHdr)(unsafe.Pointer(pPg)).FpDirty = (*Pager)(unsafe.Pointer(pPager)).FpMmapFreelist @@ -35108,7 +35118,7 @@ func pagerReleaseMapPage(tls *libc.TLS, pPg uintptr) { /* sqlite3.c:57252:13: */ } // Free all PgHdr objects stored in the Pager.pMmapFreelist list. -func pagerFreeMapHdrs(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:57265:13: */ +func pagerFreeMapHdrs(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:57275:13: */ var p uintptr var pNext uintptr for p = (*Pager)(unsafe.Pointer(pPager)).FpMmapFreelist; p != 0; p = pNext { @@ -35121,7 +35131,7 @@ func pagerFreeMapHdrs(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:57265:13: */ // under the pager. Return SQLITE_OK if the database is still where it ought // to be on disk. Return non-zero (SQLITE_READONLY_DBMOVED or some other error // code from sqlite3OsAccess()) if the database has gone missing. -func databaseIsUnmoved(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:57279:12: */ +func databaseIsUnmoved(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:57289:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -35159,7 +35169,7 @@ func databaseIsUnmoved(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:57279 // is made to roll it back. If an error occurs during the rollback // a hot journal may be left in the filesystem but no error is returned // to the caller. -func Xsqlite3PagerClose(tls *libc.TLS, pPager uintptr, db uintptr) int32 { /* sqlite3.c:57313:20: */ +func Xsqlite3PagerClose(tls *libc.TLS, pPager uintptr, db uintptr) int32 { /* sqlite3.c:57323:20: */ var pTmp uintptr = (*Pager)(unsafe.Pointer(pPager)).FpTmpSpace Xsqlite3BeginBenignMalloc(tls) @@ -35208,7 +35218,7 @@ func Xsqlite3PagerClose(tls *libc.TLS, pPager uintptr, db uintptr) int32 { /* sq } // Increment the reference count for page pPg. -func Xsqlite3PagerRef(tls *libc.TLS, pPg uintptr) { /* sqlite3.c:57382:21: */ +func Xsqlite3PagerRef(tls *libc.TLS, pPg uintptr) { /* sqlite3.c:57392:21: */ Xsqlite3PcacheRef(tls, pPg) } @@ -35245,7 +35255,7 @@ func Xsqlite3PagerRef(tls *libc.TLS, pPg uintptr) { /* sqlite3.c:57382:21: */ // If successful, this routine clears the PGHDR_NEED_SYNC flag of every // page currently held in memory before returning SQLITE_OK. If an IO // error is encountered, then the IO error code is returned to the caller. -func syncJournal(tls *libc.TLS, pPager uintptr, newHdr int32) int32 { /* sqlite3.c:57421:12: */ +func syncJournal(tls *libc.TLS, pPager uintptr, newHdr int32) int32 { /* sqlite3.c:57431:12: */ bp := tls.Alloc(20) defer tls.Free(20) @@ -35359,7 +35369,7 @@ func syncJournal(tls *libc.TLS, pPager uintptr, newHdr int32) int32 { /* sqlite3 return SQLITE_OK } -var zerobyte U8 = U8(0) /* sqlite3.c:57472:27 */ +var zerobyte U8 = U8(0) /* sqlite3.c:57482:27 */ // The argument is the first in a linked list of dirty pages connected // by the PgHdr.pDirty pointer. This function writes each one of the @@ -35391,7 +35401,7 @@ var zerobyte U8 = U8(0) /* sqlite3.c:57472:27 */ // If everything is successful, SQLITE_OK is returned. If an IO error // occurs, an IO error code is returned. Or, if the EXCLUSIVE lock cannot // be obtained, SQLITE_BUSY is returned. -func pager_write_pagelist(tls *libc.TLS, pPager uintptr, pList uintptr) int32 { /* sqlite3.c:57564:12: */ +func pager_write_pagelist(tls *libc.TLS, pPager uintptr, pList uintptr) int32 { /* sqlite3.c:57574:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -35471,7 +35481,7 @@ func pager_write_pagelist(tls *libc.TLS, pPager uintptr, pList uintptr) int32 { // SQLITE_OK is returned if everything goes according to plan. An // SQLITE_IOERR_XXX error code is returned if a call to sqlite3OsOpen() // fails. -func openSubJournal(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:57655:12: */ +func openSubJournal(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:57665:12: */ var rc int32 = SQLITE_OK if !((*Sqlite3_file)(unsafe.Pointer((*Pager)(unsafe.Pointer(pPager)).Fsjfd)).FpMethods != uintptr(0)) { var flags int32 = SQLITE_OPEN_SUBJOURNAL | SQLITE_OPEN_READWRITE | @@ -35495,7 +35505,7 @@ func openSubJournal(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:57655:12 // error code if the attempt to write to the sub-journal fails, or // SQLITE_NOMEM if a malloc fails while setting a bit in a savepoint // bitvec. -func subjournalPage(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:57681:12: */ +func subjournalPage(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:57691:12: */ var rc int32 = SQLITE_OK var pPager uintptr = (*PgHdr)(unsafe.Pointer(pPg)).FpPager if int32((*Pager)(unsafe.Pointer(pPager)).FjournalMode) != PAGER_JOURNALMODE_OFF { @@ -35526,7 +35536,7 @@ func subjournalPage(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:57681:12: * return rc } -func subjournalPageIfRequired(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:57717:12: */ +func subjournalPageIfRequired(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:57727:12: */ if subjRequiresPage(tls, pPg) != 0 { return subjournalPage(tls, pPg) } else { @@ -35552,7 +35562,7 @@ func subjournalPageIfRequired(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:5 // page clean, the IO error code is returned. If the page cannot be // made clean for some other reason, but no error occurs, then SQLITE_OK // is returned by sqlite3PcacheMakeClean() is not called. -func pagerStress(tls *libc.TLS, p uintptr, pPg uintptr) int32 { /* sqlite3.c:57744:12: */ +func pagerStress(tls *libc.TLS, p uintptr, pPg uintptr) int32 { /* sqlite3.c:57754:12: */ var pPager uintptr = p var rc int32 = SQLITE_OK @@ -35614,7 +35624,7 @@ func pagerStress(tls *libc.TLS, p uintptr, pPg uintptr) int32 { /* sqlite3.c:577 } // Flush all unreferenced dirty pages to disk. -func Xsqlite3PagerFlush(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:57821:20: */ +func Xsqlite3PagerFlush(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:57831:20: */ var rc int32 = (*Pager)(unsafe.Pointer(pPager)).FerrCode if !(int32((*Pager)(unsafe.Pointer(pPager)).FmemDb) != 0) { var pList uintptr = Xsqlite3PcacheDirtyList(tls, (*Pager)(unsafe.Pointer(pPager)).FpPCache) @@ -35661,7 +35671,7 @@ func Xsqlite3PagerFlush(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:5782 // and error code returned. This function may return SQLITE_NOMEM // (sqlite3Malloc() is used to allocate memory), SQLITE_CANTOPEN or // various SQLITE_IO_XXX errors. -func Xsqlite3PagerOpen(tls *libc.TLS, pVfs uintptr, ppPager uintptr, zFilename uintptr, nExtra int32, flags int32, vfsFlags int32, xReinit uintptr) int32 { /* sqlite3.c:57870:20: */ +func Xsqlite3PagerOpen(tls *libc.TLS, pVfs uintptr, ppPager uintptr, zFilename uintptr, nExtra int32, flags int32, vfsFlags int32, xReinit uintptr) int32 { /* sqlite3.c:57880:20: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -35787,7 +35797,7 @@ __11: // bytes in length. This means the database cannot be opened, // as it will not be possible to open the journal file or even // check for a hot-journal before reading. - rc = Xsqlite3CantopenError(tls, 57957) + rc = Xsqlite3CantopenError(tls, 57967) __12: ; if !(rc != SQLITE_OK) { @@ -36106,7 +36116,7 @@ __37: // Return the sqlite3_file for the main database given the name // of the corresonding WAL or Journal name as passed into // xOpen. -func Xsqlite3_database_file_object(tls *libc.TLS, zName uintptr) uintptr { /* sqlite3.c:58242:25: */ +func Xsqlite3_database_file_object(tls *libc.TLS, zName uintptr) uintptr { /* sqlite3.c:58252:25: */ var pPager uintptr for int32(*(*uint8)(unsafe.Pointer(zName + libc.UintptrFromInt32(-1)))) != 0 || int32(*(*uint8)(unsafe.Pointer(zName + libc.UintptrFromInt32(-2)))) != 0 || int32(*(*uint8)(unsafe.Pointer(zName + libc.UintptrFromInt32(-3)))) != 0 || int32(*(*uint8)(unsafe.Pointer(zName + libc.UintptrFromInt32(-4)))) != 0 { zName-- @@ -36144,7 +36154,7 @@ func Xsqlite3_database_file_object(tls *libc.TLS, zName uintptr) uintptr { /* sq // set to 0 and SQLITE_OK returned. If an IO error occurs while trying // to determine whether or not a hot-journal file exists, the IO error // code is returned and the value of *pExists is undefined. -func hasHotJournal(tls *libc.TLS, pPager uintptr, pExists uintptr) int32 { /* sqlite3.c:58283:12: */ +func hasHotJournal(tls *libc.TLS, pPager uintptr, pExists uintptr) int32 { /* sqlite3.c:58293:12: */ bp := tls.Alloc(17) defer tls.Free(17) @@ -36255,7 +36265,7 @@ func hasHotJournal(tls *libc.TLS, pPager uintptr, pExists uintptr) int32 { /* sq // If everything is successful, SQLITE_OK is returned. If an IO error // occurs while locking the database, checking for a hot-journal file or // rolling back a journal file, the IO error code is returned. -func Xsqlite3PagerSharedLock(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:58403:20: */ +func Xsqlite3PagerSharedLock(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:58413:20: */ bp := tls.Alloc(28) defer tls.Free(28) @@ -36381,7 +36391,7 @@ __7: if !(rc == SQLITE_OK && *(*int32)(unsafe.Pointer(bp + 8))&SQLITE_OPEN_READONLY != 0) { goto __10 } - rc = Xsqlite3CantopenError(tls, 58487) + rc = Xsqlite3CantopenError(tls, 58497) Xsqlite3OsClose(tls, (*Pager)(unsafe.Pointer(pPager)).Fjfd) __10: ; @@ -36530,7 +36540,7 @@ __24: // Except, in locking_mode=EXCLUSIVE when there is nothing to in // the rollback journal, the unlock is not performed and there is // nothing to rollback, so this routine is a no-op. -func pagerUnlockIfUnused(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:58620:13: */ +func pagerUnlockIfUnused(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:58630:13: */ if Xsqlite3PcacheRefCount(tls, (*Pager)(unsafe.Pointer(pPager)).FpPCache) == 0 { // because page1 is never memory mapped pagerUnlockAndRollback(tls, pPager) @@ -36592,7 +36602,7 @@ func pagerUnlockIfUnused(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:58620:13: // has to go to disk, and could also playback an old journal if necessary. // Since Lookup() never goes to disk, it never has to deal with locks // or journal files. -func getPageNormal(tls *libc.TLS, pPager uintptr, pgno Pgno, ppPage uintptr, flags int32) int32 { /* sqlite3.c:58684:12: */ +func getPageNormal(tls *libc.TLS, pPager uintptr, pgno Pgno, ppPage uintptr, flags int32) int32 { /* sqlite3.c:58694:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -36605,7 +36615,7 @@ func getPageNormal(tls *libc.TLS, pPager uintptr, pgno Pgno, ppPage uintptr, fla if !(pgno == Pgno(0)) { goto __1 } - return Xsqlite3CorruptError(tls, 58700) + return Xsqlite3CorruptError(tls, 58710) __1: ; *(*uintptr)(unsafe.Pointer(bp /* pBase */)) = Xsqlite3PcacheFetch(tls, (*Pager)(unsafe.Pointer(pPager)).FpPCache, pgno, 3) @@ -36651,7 +36661,7 @@ __5: if !(pgno == Pgno(I64(Xsqlite3PendingByte)/(*Pager)(unsafe.Pointer(pPager)).FpageSize+int64(1))) { goto __7 } - rc = Xsqlite3CorruptError(tls, 58732) + rc = Xsqlite3CorruptError(tls, 58742) goto pager_acquire_err __7: ; @@ -36723,7 +36733,7 @@ __14: } // The page getter for when memory-mapped I/O is enabled -func getPageMMap(tls *libc.TLS, pPager uintptr, pgno Pgno, ppPage uintptr, flags int32) int32 { /* sqlite3.c:58786:12: */ +func getPageMMap(tls *libc.TLS, pPager uintptr, pgno Pgno, ppPage uintptr, flags int32) int32 { /* sqlite3.c:58796:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -36743,7 +36753,7 @@ func getPageMMap(tls *libc.TLS, pPager uintptr, pgno Pgno, ppPage uintptr, flags // test in the previous statement, and avoid testing pgno==0 in the // common case where pgno is large. if pgno <= Pgno(1) && pgno == Pgno(0) { - return Xsqlite3CorruptError(tls, 58811) + return Xsqlite3CorruptError(tls, 58821) } if bMmapOk != 0 && (*Pager)(unsafe.Pointer(pPager)).FpWal != uintptr(0) { @@ -36781,7 +36791,7 @@ func getPageMMap(tls *libc.TLS, pPager uintptr, pgno Pgno, ppPage uintptr, flags } // The page getter method for when the pager is an error state -func getPageError(tls *libc.TLS, pPager uintptr, pgno Pgno, ppPage uintptr, flags int32) int32 { /* sqlite3.c:58855:12: */ +func getPageError(tls *libc.TLS, pPager uintptr, pgno Pgno, ppPage uintptr, flags int32) int32 { /* sqlite3.c:58865:12: */ _ = pgno _ = flags @@ -36790,7 +36800,7 @@ func getPageError(tls *libc.TLS, pPager uintptr, pgno Pgno, ppPage uintptr, flag } // Dispatch all page fetch requests to the appropriate getter method. -func Xsqlite3PagerGet(tls *libc.TLS, pPager uintptr, pgno Pgno, ppPage uintptr, flags int32) int32 { /* sqlite3.c:58871:20: */ +func Xsqlite3PagerGet(tls *libc.TLS, pPager uintptr, pgno Pgno, ppPage uintptr, flags int32) int32 { /* sqlite3.c:58881:20: */ // printf("PAGE %u\n", pgno); fflush(stdout); return (*struct { f func(*libc.TLS, uintptr, Pgno, uintptr, int32) int32 @@ -36806,7 +36816,7 @@ func Xsqlite3PagerGet(tls *libc.TLS, pPager uintptr, pgno Pgno, ppPage uintptr, // in the page if the page is not already in cache. This routine // returns NULL if the page is not in cache or if a disk I/O error // has ever happened. -func Xsqlite3PagerLookup(tls *libc.TLS, pPager uintptr, pgno Pgno) uintptr { /* sqlite3.c:58892:23: */ +func Xsqlite3PagerLookup(tls *libc.TLS, pPager uintptr, pgno Pgno) uintptr { /* sqlite3.c:58902:23: */ var pPage uintptr pPage = Xsqlite3PcacheFetch(tls, (*Pager)(unsafe.Pointer(pPager)).FpPCache, pgno, 0) @@ -36827,7 +36837,7 @@ func Xsqlite3PagerLookup(tls *libc.TLS, pPager uintptr, pgno Pgno) uintptr { /* // Use sqlite3PagerUnrefPageOne() to release page1. This latter routine // checks the total number of outstanding pages and if the number of // pages reaches zero it drops the database lock. -func Xsqlite3PagerUnrefNotNull(tls *libc.TLS, pPg uintptr) { /* sqlite3.c:58915:21: */ +func Xsqlite3PagerUnrefNotNull(tls *libc.TLS, pPg uintptr) { /* sqlite3.c:58925:21: */ if int32((*DbPage)(unsafe.Pointer(pPg)).Fflags)&PGHDR_MMAP != 0 { // Page1 is never memory mapped @@ -36839,13 +36849,13 @@ func Xsqlite3PagerUnrefNotNull(tls *libc.TLS, pPg uintptr) { /* sqlite3.c:58915: } -func Xsqlite3PagerUnref(tls *libc.TLS, pPg uintptr) { /* sqlite3.c:58927:21: */ +func Xsqlite3PagerUnref(tls *libc.TLS, pPg uintptr) { /* sqlite3.c:58937:21: */ if pPg != 0 { Xsqlite3PagerUnrefNotNull(tls, pPg) } } -func Xsqlite3PagerUnrefPageOne(tls *libc.TLS, pPg uintptr) { /* sqlite3.c:58930:21: */ +func Xsqlite3PagerUnrefPageOne(tls *libc.TLS, pPg uintptr) { /* sqlite3.c:58940:21: */ var pPager uintptr // Page1 is never memory mapped @@ -36874,7 +36884,7 @@ func Xsqlite3PagerUnrefPageOne(tls *libc.TLS, pPg uintptr) { /* sqlite3.c:58930: // Return SQLITE_OK if everything is successful. Otherwise, return // SQLITE_NOMEM if the attempt to allocate Pager.pInJournal fails, or // an IO error code if opening or writing the journal file fails. -func pager_open_journal(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:58962:12: */ +func pager_open_journal(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:58972:12: */ var rc int32 = SQLITE_OK // Return code var pVfs uintptr = (*Pager)(unsafe.Pointer(pPager)).FpVfs // Local cache of vfs pointer @@ -36956,7 +36966,7 @@ func pager_open_journal(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:5896 // sub-journal. If the subjInMemory argument is zero, then any required // sub-journal is implemented in-memory if pPager is an in-memory database, // or using a temporary file otherwise. -func Xsqlite3PagerBegin(tls *libc.TLS, pPager uintptr, exFlag int32, subjInMemory int32) int32 { /* sqlite3.c:59051:20: */ +func Xsqlite3PagerBegin(tls *libc.TLS, pPager uintptr, exFlag int32, subjInMemory int32) int32 { /* sqlite3.c:59061:20: */ var rc int32 = SQLITE_OK if (*Pager)(unsafe.Pointer(pPager)).FerrCode != 0 { @@ -37016,7 +37026,7 @@ func Xsqlite3PagerBegin(tls *libc.TLS, pPager uintptr, exFlag int32, subjInMemor } // Write page pPg onto the end of the rollback journal. -func pagerAddPageToRollbackJournal(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:59120:28: */ +func pagerAddPageToRollbackJournal(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:59130:28: */ var pPager uintptr = (*PgHdr)(unsafe.Pointer(pPg)).FpPager var rc int32 var cksum U32 @@ -37066,7 +37076,7 @@ func pagerAddPageToRollbackJournal(tls *libc.TLS, pPg uintptr) int32 { /* sqlite // one of the journals, the corresponding bit is set in the // Pager.pInJournal bitvec and the PagerSavepoint.pInSavepoint bitvecs // of any open savepoints as appropriate. -func pager_write(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:59177:12: */ +func pager_write(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:59187:12: */ var pPager uintptr = (*PgHdr)(unsafe.Pointer(pPg)).FpPager var rc int32 = SQLITE_OK @@ -37140,7 +37150,7 @@ func pager_write(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:59177:12: */ // Usually, the sector size is less than or equal to the page size, in which // case pages can be individually written. This routine only runs in the // exceptional case where the page size is smaller than the sector size. -func pagerWriteLargeSector(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:59269:28: */ +func pagerWriteLargeSector(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:59279:28: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -37228,7 +37238,7 @@ func pagerWriteLargeSector(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:5926 // // If an error occurs, SQLITE_NOMEM or an IO error code is returned // as appropriate. Otherwise, SQLITE_OK. -func Xsqlite3PagerWrite(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:59363:20: */ +func Xsqlite3PagerWrite(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:59373:20: */ var pPager uintptr = (*PgHdr)(unsafe.Pointer(pPg)).FpPager if int32((*PgHdr)(unsafe.Pointer(pPg)).Fflags)&PGHDR_WRITEABLE != 0 && (*Pager)(unsafe.Pointer(pPager)).FdbSize >= (*PgHdr)(unsafe.Pointer(pPg)).Fpgno { @@ -37269,7 +37279,7 @@ func Xsqlite3PagerWrite(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:59363:2 // memory pressure forces page pPg out of the cache, the data does need // to be written out to disk so that it may be read back in if the // current transaction is rolled back. -func Xsqlite3PagerDontWrite(tls *libc.TLS, pPg uintptr) { /* sqlite3.c:59412:21: */ +func Xsqlite3PagerDontWrite(tls *libc.TLS, pPg uintptr) { /* sqlite3.c:59422:21: */ var pPager uintptr = (*PgHdr)(unsafe.Pointer(pPg)).FpPager if !(int32((*Pager)(unsafe.Pointer(pPager)).FtempFile) != 0) && int32((*PgHdr)(unsafe.Pointer(pPg)).Fflags)&PGHDR_DIRTY != 0 && (*Pager)(unsafe.Pointer(pPager)).FnSavepoint == 0 { @@ -37299,7 +37309,7 @@ func Xsqlite3PagerDontWrite(tls *libc.TLS, pPg uintptr) { /* sqlite3.c:59412:21: // if isDirect is non-zero, then the database file is updated directly // by writing an updated version of page 1 using a call to the // sqlite3OsWrite() function. -func pager_incr_changecounter(tls *libc.TLS, pPager uintptr, isDirectMode int32) int32 { /* sqlite3.c:59446:12: */ +func pager_incr_changecounter(tls *libc.TLS, pPager uintptr, isDirectMode int32) int32 { /* sqlite3.c:59456:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -37369,7 +37379,7 @@ func pager_incr_changecounter(tls *libc.TLS, pPager uintptr, isDirectMode int32) // // If successful, or if called on a pager for which it is a no-op, this // function returns SQLITE_OK. Otherwise, an IO error code is returned. -func Xsqlite3PagerSync(tls *libc.TLS, pPager uintptr, zSuper uintptr) int32 { /* sqlite3.c:59529:20: */ +func Xsqlite3PagerSync(tls *libc.TLS, pPager uintptr, zSuper uintptr) int32 { /* sqlite3.c:59539:20: */ var rc int32 = SQLITE_OK var pArg uintptr = zSuper rc = Xsqlite3OsFileControl(tls, (*Pager)(unsafe.Pointer(pPager)).Ffd, SQLITE_FCNTL_SYNC, pArg) @@ -37392,7 +37402,7 @@ func Xsqlite3PagerSync(tls *libc.TLS, pPager uintptr, zSuper uintptr) int32 { /* // successful, or the connection is in WAL mode, SQLITE_OK is returned. // Otherwise, either SQLITE_BUSY or an SQLITE_IOERR_XXX error code is // returned. -func Xsqlite3PagerExclusiveLock(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:59552:20: */ +func Xsqlite3PagerExclusiveLock(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:59562:20: */ var rc int32 = (*Pager)(unsafe.Pointer(pPager)).FerrCode if rc == SQLITE_OK { @@ -37428,7 +37438,7 @@ func Xsqlite3PagerExclusiveLock(tls *libc.TLS, pPager uintptr) int32 { /* sqlite // is not synced. The caller must call sqlite3PagerSync() directly to // sync the database file before calling CommitPhaseTwo() to delete the // journal file in this case. -func Xsqlite3PagerCommitPhaseOne(tls *libc.TLS, pPager uintptr, zSuper uintptr, noSync int32) int32 { /* sqlite3.c:59594:20: */ +func Xsqlite3PagerCommitPhaseOne(tls *libc.TLS, pPager uintptr, zSuper uintptr, noSync int32) int32 { /* sqlite3.c:59604:20: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -37618,7 +37628,7 @@ __19: // // If an error occurs, an IO error code is returned and the pager // moves into the error state. Otherwise, SQLITE_OK is returned. -func Xsqlite3PagerCommitPhaseTwo(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:59824:20: */ +func Xsqlite3PagerCommitPhaseTwo(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:59834:20: */ var rc int32 = SQLITE_OK // Return code // This routine should not be called if a prior error has occurred. @@ -37675,7 +37685,7 @@ func Xsqlite3PagerCommitPhaseTwo(tls *libc.TLS, pPager uintptr) int32 { /* sqlit // current transaction are either expelled from the cache or reverted to // their pre-transaction state by re-reading data from the database or // WAL files. The WAL transaction is then closed. -func Xsqlite3PagerRollback(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:59890:20: */ +func Xsqlite3PagerRollback(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:59900:20: */ var rc int32 = SQLITE_OK // Return code // PagerRollback() is a no-op if called in READER or OPEN state. If @@ -37719,13 +37729,13 @@ func Xsqlite3PagerRollback(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:5 // Return TRUE if the database file is opened read-only. Return FALSE // if the database is (in theory) writable. -func Xsqlite3PagerIsreadonly(tls *libc.TLS, pPager uintptr) U8 { /* sqlite3.c:59940:19: */ +func Xsqlite3PagerIsreadonly(tls *libc.TLS, pPager uintptr) U8 { /* sqlite3.c:59950:19: */ return (*Pager)(unsafe.Pointer(pPager)).FreadOnly } // Return the approximate number of bytes of memory currently // used by the pager and its associated cache. -func Xsqlite3PagerMemUsed(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:59957:20: */ +func Xsqlite3PagerMemUsed(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:59967:20: */ var perPageSize int32 = int32((*Pager)(unsafe.Pointer(pPager)).FpageSize + I64((*Pager)(unsafe.Pointer(pPager)).FnExtra) + I64(int32(uint64(unsafe.Sizeof(PgHdr{}))+uint64(5)*uint64(unsafe.Sizeof(uintptr(0)))))) return int32(I64(perPageSize*Xsqlite3PcachePagecount(tls, (*Pager)(unsafe.Pointer(pPager)).FpPCache)+ @@ -37734,7 +37744,7 @@ func Xsqlite3PagerMemUsed(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:59 } // Return the number of references to the specified page. -func Xsqlite3PagerPageRefcount(tls *libc.TLS, pPage uintptr) int32 { /* sqlite3.c:59968:20: */ +func Xsqlite3PagerPageRefcount(tls *libc.TLS, pPage uintptr) int32 { /* sqlite3.c:59978:20: */ return Xsqlite3PcachePageRefcount(tls, pPage) } @@ -37747,7 +37757,7 @@ func Xsqlite3PagerPageRefcount(tls *libc.TLS, pPage uintptr) int32 { /* sqlite3. // current cache hit or miss count, according to the value of eStat. If the // reset parameter is non-zero, the cache hit or miss count is zeroed before // returning. -func Xsqlite3PagerCacheStat(tls *libc.TLS, pPager uintptr, eStat int32, reset int32, pnVal uintptr) { /* sqlite3.c:60004:21: */ +func Xsqlite3PagerCacheStat(tls *libc.TLS, pPager uintptr, eStat int32, reset int32, pnVal uintptr) { /* sqlite3.c:60014:21: */ eStat = eStat - SQLITE_DBSTATUS_CACHE_HIT *(*int32)(unsafe.Pointer(pnVal)) += *(*int32)(unsafe.Pointer(pPager + 240 + uintptr(eStat)*4)) @@ -37757,7 +37767,7 @@ func Xsqlite3PagerCacheStat(tls *libc.TLS, pPager uintptr, eStat int32, reset in } // Return true if this is an in-memory or temp-file backed pager. -func Xsqlite3PagerIsMemdb(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:60027:20: */ +func Xsqlite3PagerIsMemdb(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:60037:20: */ return libc.Bool32((*Pager)(unsafe.Pointer(pPager)).FtempFile != 0 || (*Pager)(unsafe.Pointer(pPager)).FmemVfs != 0) } @@ -37769,7 +37779,7 @@ func Xsqlite3PagerIsMemdb(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:60 // If a memory allocation fails, SQLITE_NOMEM is returned. If an error // occurs while opening the sub-journal file, then an IO error code is // returned. Otherwise, SQLITE_OK. -func pagerOpenSavepoint(tls *libc.TLS, pPager uintptr, nSavepoint int32) int32 { /* sqlite3.c:60041:28: */ +func pagerOpenSavepoint(tls *libc.TLS, pPager uintptr, nSavepoint int32) int32 { /* sqlite3.c:60051:28: */ var rc int32 = SQLITE_OK // Return code var nCurrent int32 = (*Pager)(unsafe.Pointer(pPager)).FnSavepoint // Current number of savepoints var ii int32 // Iterator variable @@ -37809,7 +37819,7 @@ func pagerOpenSavepoint(tls *libc.TLS, pPager uintptr, nSavepoint int32) int32 { return rc } -func Xsqlite3PagerOpenSavepoint(tls *libc.TLS, pPager uintptr, nSavepoint int32) int32 { /* sqlite3.c:60087:20: */ +func Xsqlite3PagerOpenSavepoint(tls *libc.TLS, pPager uintptr, nSavepoint int32) int32 { /* sqlite3.c:60097:20: */ if nSavepoint > (*Pager)(unsafe.Pointer(pPager)).FnSavepoint && (*Pager)(unsafe.Pointer(pPager)).FuseJournal != 0 { return pagerOpenSavepoint(tls, pPager, nSavepoint) @@ -37847,7 +37857,7 @@ func Xsqlite3PagerOpenSavepoint(tls *libc.TLS, pPager uintptr, nSavepoint int32) // This function may return SQLITE_NOMEM if a memory allocation fails, // or an IO error code if an IO error occurs while rolling back a // savepoint. If no errors occur, SQLITE_OK is returned. -func Xsqlite3PagerSavepoint(tls *libc.TLS, pPager uintptr, op int32, iSavepoint int32) int32 { /* sqlite3.c:60129:20: */ +func Xsqlite3PagerSavepoint(tls *libc.TLS, pPager uintptr, op int32, iSavepoint int32) int32 { /* sqlite3.c:60139:20: */ var rc int32 = (*Pager)(unsafe.Pointer(pPager)).FerrCode if rc == SQLITE_OK && iSavepoint < (*Pager)(unsafe.Pointer(pPager)).FnSavepoint { @@ -37908,30 +37918,30 @@ func Xsqlite3PagerSavepoint(tls *libc.TLS, pPager uintptr, op int32, iSavepoint // // The return value to this routine is always safe to use with // sqlite3_uri_parameter() and sqlite3_filename_database() and friends. -func Xsqlite3PagerFilename(tls *libc.TLS, pPager uintptr, nullIfMemDb int32) uintptr { /* sqlite3.c:60210:27: */ +func Xsqlite3PagerFilename(tls *libc.TLS, pPager uintptr, nullIfMemDb int32) uintptr { /* sqlite3.c:60220:27: */ if nullIfMemDb != 0 && (*Pager)(unsafe.Pointer(pPager)).FmemDb != 0 { return uintptr(unsafe.Pointer(&zFake)) + 4 } return (*Pager)(unsafe.Pointer(pPager)).FzFilename } -var zFake = [8]uint8{uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0)} /* sqlite3.c:60211:21 */ +var zFake = [8]uint8{uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0)} /* sqlite3.c:60221:21 */ // Return the VFS structure for the pager. -func Xsqlite3PagerVfs(tls *libc.TLS, pPager uintptr) uintptr { /* sqlite3.c:60218:28: */ +func Xsqlite3PagerVfs(tls *libc.TLS, pPager uintptr) uintptr { /* sqlite3.c:60228:28: */ return (*Pager)(unsafe.Pointer(pPager)).FpVfs } // Return the file handle for the database file associated // with the pager. This might return NULL if the file has // not yet been opened. -func Xsqlite3PagerFile(tls *libc.TLS, pPager uintptr) uintptr { /* sqlite3.c:60227:29: */ +func Xsqlite3PagerFile(tls *libc.TLS, pPager uintptr) uintptr { /* sqlite3.c:60237:29: */ return (*Pager)(unsafe.Pointer(pPager)).Ffd } // Return the file handle for the journal file (if it exists). // This will be either the rollback journal or the WAL file. -func Xsqlite3PagerJrnlFile(tls *libc.TLS, pPager uintptr) uintptr { /* sqlite3.c:60235:29: */ +func Xsqlite3PagerJrnlFile(tls *libc.TLS, pPager uintptr) uintptr { /* sqlite3.c:60245:29: */ if (*Pager)(unsafe.Pointer(pPager)).FpWal != 0 { return Xsqlite3WalFile(tls, (*Pager)(unsafe.Pointer(pPager)).FpWal) } @@ -37939,7 +37949,7 @@ func Xsqlite3PagerJrnlFile(tls *libc.TLS, pPager uintptr) uintptr { /* sqlite3.c } // Return the full pathname of the journal file. -func Xsqlite3PagerJournalname(tls *libc.TLS, pPager uintptr) uintptr { /* sqlite3.c:60246:27: */ +func Xsqlite3PagerJournalname(tls *libc.TLS, pPager uintptr) uintptr { /* sqlite3.c:60256:27: */ return (*Pager)(unsafe.Pointer(pPager)).FzJournal } @@ -37966,7 +37976,7 @@ func Xsqlite3PagerJournalname(tls *libc.TLS, pPager uintptr) uintptr { /* sqlite // // This function may return SQLITE_NOMEM or an IO error code if an error // occurs. Otherwise, it returns SQLITE_OK. -func Xsqlite3PagerMovepage(tls *libc.TLS, pPager uintptr, pPg uintptr, pgno Pgno, isCommit int32) int32 { /* sqlite3.c:60276:20: */ +func Xsqlite3PagerMovepage(tls *libc.TLS, pPager uintptr, pPg uintptr, pgno Pgno, isCommit int32) int32 { /* sqlite3.c:60286:20: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -38028,7 +38038,7 @@ func Xsqlite3PagerMovepage(tls *libc.TLS, pPager uintptr, pPg uintptr, pgno Pgno if pPgOld != 0 { if int32((*PgHdr)(unsafe.Pointer(pPgOld)).FnRef) > 1 { Xsqlite3PagerUnrefNotNull(tls, pPgOld) - return Xsqlite3CorruptError(tls, 60350) + return Xsqlite3CorruptError(tls, 60360) } *(*U16)(unsafe.Pointer(pPg + 52)) |= U16(int32((*PgHdr)(unsafe.Pointer(pPgOld)).Fflags) & PGHDR_NEED_SYNC) if (*Pager)(unsafe.Pointer(pPager)).FtempFile != 0 { @@ -38088,21 +38098,21 @@ func Xsqlite3PagerMovepage(tls *libc.TLS, pPager uintptr, pPg uintptr, pgno Pgno // with a page number other than iNew. This function changes the page's // page number to iNew and sets the value of the PgHdr.flags field to // the value passed as the third parameter. -func Xsqlite3PagerRekey(tls *libc.TLS, pPg uintptr, iNew Pgno, flags U16) { /* sqlite3.c:60414:21: */ +func Xsqlite3PagerRekey(tls *libc.TLS, pPg uintptr, iNew Pgno, flags U16) { /* sqlite3.c:60424:21: */ (*DbPage)(unsafe.Pointer(pPg)).Fflags = flags Xsqlite3PcacheMove(tls, pPg, iNew) } // Return a pointer to the data for the specified page. -func Xsqlite3PagerGetData(tls *libc.TLS, pPg uintptr) uintptr { /* sqlite3.c:60423:21: */ +func Xsqlite3PagerGetData(tls *libc.TLS, pPg uintptr) uintptr { /* sqlite3.c:60433:21: */ return (*DbPage)(unsafe.Pointer(pPg)).FpData } // Return a pointer to the Pager.nExtra bytes of "extra" space // allocated along with the specified page. -func Xsqlite3PagerGetExtra(tls *libc.TLS, pPg uintptr) uintptr { /* sqlite3.c:60432:21: */ +func Xsqlite3PagerGetExtra(tls *libc.TLS, pPg uintptr) uintptr { /* sqlite3.c:60442:21: */ return (*DbPage)(unsafe.Pointer(pPg)).FpExtra } @@ -38114,7 +38124,7 @@ func Xsqlite3PagerGetExtra(tls *libc.TLS, pPg uintptr) uintptr { /* sqlite3.c:60 // The returned value is either PAGER_LOCKINGMODE_NORMAL or // PAGER_LOCKINGMODE_EXCLUSIVE, indicating the current (possibly updated) // locking-mode. -func Xsqlite3PagerLockingMode(tls *libc.TLS, pPager uintptr, eMode int32) int32 { /* sqlite3.c:60446:20: */ +func Xsqlite3PagerLockingMode(tls *libc.TLS, pPager uintptr, eMode int32) int32 { /* sqlite3.c:60456:20: */ if eMode >= 0 && !(int32((*Pager)(unsafe.Pointer(pPager)).FtempFile) != 0) && !(Xsqlite3WalHeapMemory(tls, (*Pager)(unsafe.Pointer(pPager)).FpWal) != 0) { (*Pager)(unsafe.Pointer(pPager)).FexclusiveMode = U8(eMode) @@ -38140,7 +38150,7 @@ func Xsqlite3PagerLockingMode(tls *libc.TLS, pPager uintptr, eMode int32) int32 // * Temporary databases cannot have _WAL journalmode. // // The returned indicate the current (possibly updated) journal-mode. -func Xsqlite3PagerSetJournalMode(tls *libc.TLS, pPager uintptr, eMode int32) int32 { /* sqlite3.c:60479:20: */ +func Xsqlite3PagerSetJournalMode(tls *libc.TLS, pPager uintptr, eMode int32) int32 { /* sqlite3.c:60489:20: */ var eOld U8 = (*Pager)(unsafe.Pointer(pPager)).FjournalMode // Prior journalmode // The eMode parameter is always valid @@ -38210,14 +38220,14 @@ func Xsqlite3PagerSetJournalMode(tls *libc.TLS, pPager uintptr, eMode int32) int } // Return the current journal mode. -func Xsqlite3PagerGetJournalMode(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:60569:20: */ +func Xsqlite3PagerGetJournalMode(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:60579:20: */ return int32((*Pager)(unsafe.Pointer(pPager)).FjournalMode) } // Return TRUE if the pager is in a state where it is OK to change the // journalmode. Journalmode changes can only happen when the database // is unmodified. -func Xsqlite3PagerOkToChangeJournalMode(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:60578:20: */ +func Xsqlite3PagerOkToChangeJournalMode(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:60588:20: */ if int32((*Pager)(unsafe.Pointer(pPager)).FeState) >= PAGER_WRITER_CACHEMOD { return 0 @@ -38232,7 +38242,7 @@ func Xsqlite3PagerOkToChangeJournalMode(tls *libc.TLS, pPager uintptr) int32 { / // // Setting the size limit to -1 means no limit is enforced. // An attempt to set a limit smaller than -1 is a no-op. -func Xsqlite3PagerJournalSizeLimit(tls *libc.TLS, pPager uintptr, iLimit I64) I64 { /* sqlite3.c:60591:20: */ +func Xsqlite3PagerJournalSizeLimit(tls *libc.TLS, pPager uintptr, iLimit I64) I64 { /* sqlite3.c:60601:20: */ if iLimit >= int64(-1) { (*Pager)(unsafe.Pointer(pPager)).FjournalSizeLimit = iLimit Xsqlite3WalLimit(tls, (*Pager)(unsafe.Pointer(pPager)).FpWal, iLimit) @@ -38244,12 +38254,12 @@ func Xsqlite3PagerJournalSizeLimit(tls *libc.TLS, pPager uintptr, iLimit I64) I6 // in backup.c maintains the content of this variable. This module // uses it opaquely as an argument to sqlite3BackupRestart() and // sqlite3BackupUpdate() only. -func Xsqlite3PagerBackupPtr(tls *libc.TLS, pPager uintptr) uintptr { /* sqlite3.c:60605:31: */ +func Xsqlite3PagerBackupPtr(tls *libc.TLS, pPager uintptr) uintptr { /* sqlite3.c:60615:31: */ return pPager + 112 } // Unless this is an in-memory or temporary database, clear the pager cache. -func Xsqlite3PagerClearCache(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:60613:21: */ +func Xsqlite3PagerClearCache(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:60623:21: */ if int32((*Pager)(unsafe.Pointer(pPager)).FtempFile) == 0 { pager_reset(tls, pPager) @@ -38261,7 +38271,7 @@ func Xsqlite3PagerClearCache(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:60613 // or wal_blocking_checkpoint() API functions. // // Parameter eMode is one of SQLITE_CHECKPOINT_PASSIVE, FULL or RESTART. -func Xsqlite3PagerCheckpoint(tls *libc.TLS, pPager uintptr, db uintptr, eMode int32, pnLog uintptr, pnCkpt uintptr) int32 { /* sqlite3.c:60628:20: */ +func Xsqlite3PagerCheckpoint(tls *libc.TLS, pPager uintptr, db uintptr, eMode int32, pnLog uintptr, pnCkpt uintptr) int32 { /* sqlite3.c:60638:20: */ var rc int32 = SQLITE_OK if (*Pager)(unsafe.Pointer(pPager)).FpWal == uintptr(0) && int32((*Pager)(unsafe.Pointer(pPager)).FjournalMode) == PAGER_JOURNALMODE_WAL { // This only happens when a database file is zero bytes in size opened and @@ -38289,13 +38299,13 @@ func Xsqlite3PagerCheckpoint(tls *libc.TLS, pPager uintptr, db uintptr, eMode in return rc } -func Xsqlite3PagerWalCallback(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:60659:20: */ +func Xsqlite3PagerWalCallback(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:60669:20: */ return Xsqlite3WalCallback(tls, (*Pager)(unsafe.Pointer(pPager)).FpWal) } // Return true if the underlying VFS for the given pager supports the // primitives necessary for write-ahead logging. -func Xsqlite3PagerWalSupported(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:60667:20: */ +func Xsqlite3PagerWalSupported(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:60677:20: */ var pMethods uintptr = (*Sqlite3_file)(unsafe.Pointer((*Pager)(unsafe.Pointer(pPager)).Ffd)).FpMethods if (*Pager)(unsafe.Pointer(pPager)).FnoLock != 0 { return 0 @@ -38305,7 +38315,7 @@ func Xsqlite3PagerWalSupported(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3 // Attempt to take an exclusive lock on the database file. If a PENDING lock // is obtained instead, immediately release it. -func pagerExclusiveLock(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:60677:12: */ +func pagerExclusiveLock(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:60687:12: */ var rc int32 // Return code rc = pagerLockDb(tls, pPager, EXCLUSIVE_LOCK) @@ -38322,7 +38332,7 @@ func pagerExclusiveLock(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:6067 // exclusive-locking mode when this function is called, take an EXCLUSIVE // lock on the database file and use heap-memory to store the wal-index // in. Otherwise, use the normal shared-memory. -func pagerOpenWal(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:60697:12: */ +func pagerOpenWal(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:60707:12: */ var rc int32 = SQLITE_OK // If the pager is already in exclusive-mode, the WAL module will use @@ -38358,7 +38368,7 @@ func pagerOpenWal(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:60697:12: // If the pager is open on a temp-file (or in-memory database), or if // the WAL file is already open, set *pbOpen to 1 and return SQLITE_OK // without doing anything. -func Xsqlite3PagerOpenWal(tls *libc.TLS, pPager uintptr, pbOpen uintptr) int32 { /* sqlite3.c:60742:20: */ +func Xsqlite3PagerOpenWal(tls *libc.TLS, pPager uintptr, pbOpen uintptr) int32 { /* sqlite3.c:60752:20: */ var rc int32 = SQLITE_OK // Return code if !(int32((*Pager)(unsafe.Pointer(pPager)).FtempFile) != 0) && !(int32((*Pager)(unsafe.Pointer(pPager)).FpWal) != 0) { @@ -38388,7 +38398,7 @@ func Xsqlite3PagerOpenWal(tls *libc.TLS, pPager uintptr, pbOpen uintptr) int32 { // EXCLUSIVE lock on the database file. If this cannot be obtained, an // error (SQLITE_BUSY) is returned and the log connection is not closed. // If successful, the EXCLUSIVE lock is not released before returning. -func Xsqlite3PagerCloseWal(tls *libc.TLS, pPager uintptr, db uintptr) int32 { /* sqlite3.c:60781:20: */ +func Xsqlite3PagerCloseWal(tls *libc.TLS, pPager uintptr, db uintptr) int32 { /* sqlite3.c:60791:20: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -38428,7 +38438,7 @@ func Xsqlite3PagerCloseWal(tls *libc.TLS, pPager uintptr, db uintptr) int32 { /* // If this is a WAL database, obtain a snapshot handle for the snapshot // currently open. Otherwise, return an error. -func Xsqlite3PagerSnapshotGet(tls *libc.TLS, pPager uintptr, ppSnapshot uintptr) int32 { /* sqlite3.c:60850:20: */ +func Xsqlite3PagerSnapshotGet(tls *libc.TLS, pPager uintptr, ppSnapshot uintptr) int32 { /* sqlite3.c:60860:20: */ var rc int32 = SQLITE_ERROR if (*Pager)(unsafe.Pointer(pPager)).FpWal != 0 { rc = Xsqlite3WalSnapshotGet(tls, (*Pager)(unsafe.Pointer(pPager)).FpWal, ppSnapshot) @@ -38439,7 +38449,7 @@ func Xsqlite3PagerSnapshotGet(tls *libc.TLS, pPager uintptr, ppSnapshot uintptr) // If this is a WAL database, store a pointer to pSnapshot. Next time a // read transaction is opened, attempt to read from the snapshot it // identifies. If this is not a WAL database, return an error. -func Xsqlite3PagerSnapshotOpen(tls *libc.TLS, pPager uintptr, pSnapshot uintptr) int32 { /* sqlite3.c:60863:20: */ +func Xsqlite3PagerSnapshotOpen(tls *libc.TLS, pPager uintptr, pSnapshot uintptr) int32 { /* sqlite3.c:60873:20: */ var rc int32 = SQLITE_OK if (*Pager)(unsafe.Pointer(pPager)).FpWal != 0 { Xsqlite3WalSnapshotOpen(tls, (*Pager)(unsafe.Pointer(pPager)).FpWal, pSnapshot) @@ -38451,7 +38461,7 @@ func Xsqlite3PagerSnapshotOpen(tls *libc.TLS, pPager uintptr, pSnapshot uintptr) // If this is a WAL database, call sqlite3WalSnapshotRecover(). If this // is not a WAL database, return an error. -func Xsqlite3PagerSnapshotRecover(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:60880:20: */ +func Xsqlite3PagerSnapshotRecover(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:60890:20: */ var rc int32 if (*Pager)(unsafe.Pointer(pPager)).FpWal != 0 { rc = Xsqlite3WalSnapshotRecover(tls, (*Pager)(unsafe.Pointer(pPager)).FpWal) @@ -38471,7 +38481,7 @@ func Xsqlite3PagerSnapshotRecover(tls *libc.TLS, pPager uintptr) int32 { /* sqli // the CHECKPOINTER lock cannot be obtained, SQLITE_BUSY. If any error // occurs (any value other than SQLITE_OK is returned), the CHECKPOINTER // lock is released before returning. -func Xsqlite3PagerSnapshotCheck(tls *libc.TLS, pPager uintptr, pSnapshot uintptr) int32 { /* sqlite3.c:60902:20: */ +func Xsqlite3PagerSnapshotCheck(tls *libc.TLS, pPager uintptr, pSnapshot uintptr) int32 { /* sqlite3.c:60912:20: */ var rc int32 if (*Pager)(unsafe.Pointer(pPager)).FpWal != 0 { rc = Xsqlite3WalSnapshotCheck(tls, (*Pager)(unsafe.Pointer(pPager)).FpWal, pSnapshot) @@ -38483,7 +38493,7 @@ func Xsqlite3PagerSnapshotCheck(tls *libc.TLS, pPager uintptr, pSnapshot uintptr // Release a lock obtained by an earlier successful call to // sqlite3PagerSnapshotCheck(). -func Xsqlite3PagerSnapshotUnlock(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:60916:21: */ +func Xsqlite3PagerSnapshotUnlock(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:60926:21: */ Xsqlite3WalSnapshotUnlock(tls, (*Pager)(unsafe.Pointer(pPager)).FpWal) } @@ -39062,7 +39072,7 @@ type WalIndexHdr1 = struct { // byte. // Object declarations -type WalIndexHdr = WalIndexHdr1 /* sqlite3.c:61244:28 */ +type WalIndexHdr = WalIndexHdr1 /* sqlite3.c:61254:28 */ type WalIterator1 = struct { FiPrior U32 FnSegment int32 @@ -39074,18 +39084,18 @@ type WalIterator1 = struct { FnEntry int32 FiZero int32 } -} /* sqlite3.c:61245:9 */ +} /* sqlite3.c:61255:9 */ -type WalIterator = WalIterator1 /* sqlite3.c:61245:28 */ +type WalIterator = WalIterator1 /* sqlite3.c:61255:28 */ type WalCkptInfo1 = struct { FnBackfill U32 FaReadMark [5]U32 FaLock [8]U8 FnBackfillAttempted U32 FnotUsed0 U32 -} /* sqlite3.c:61246:9 */ +} /* sqlite3.c:61256:9 */ -type WalCkptInfo = WalCkptInfo1 /* sqlite3.c:61246:28 */ +type WalCkptInfo = WalCkptInfo1 /* sqlite3.c:61256:28 */ // Candidate values for Wal.exclusiveMode. @@ -39093,7 +39103,7 @@ type WalCkptInfo = WalCkptInfo1 /* sqlite3.c:61246:28 */ // Each page of the wal-index mapping contains a hash-table made up of // an array of HASHTABLE_NSLOT elements of the following type. -type Ht_slot = U16 /* sqlite3.c:61501:13 */ +type Ht_slot = U16 /* sqlite3.c:61511:13 */ // 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 @@ -39115,7 +39125,7 @@ type WalSegment = struct { FaPgno uintptr FnEntry int32 FiZero int32 -} /* sqlite3.c:61245:9 */ +} /* sqlite3.c:61255:9 */ // Define the parameters of the hash tables in the wal-index file. There // is a hash-table following every HASHTABLE_NPAGE page numbers in the @@ -39146,7 +39156,7 @@ type WalSegment = struct { // (3) rc==SQLITE_OK and *ppPage==NULL // only if iPage==0 // // Scenario (3) can only occur when pWal->writeLock is false and iPage==0 -func walIndexPageRealloc(tls *libc.TLS, pWal uintptr, iPage int32, ppPage uintptr) int32 { /* sqlite3.c:61572:28: */ +func walIndexPageRealloc(tls *libc.TLS, pWal uintptr, iPage int32, ppPage uintptr) int32 { /* sqlite3.c:61582:28: */ var rc int32 = SQLITE_OK // Enlarge the pWal->apWiData[] array if required @@ -39192,7 +39202,7 @@ func walIndexPageRealloc(tls *libc.TLS, pWal uintptr, iPage int32, ppPage uintpt return rc } -func walIndexPage(tls *libc.TLS, pWal uintptr, iPage int32, ppPage uintptr) int32 { /* sqlite3.c:61621:12: */ +func walIndexPage(tls *libc.TLS, pWal uintptr, iPage int32, ppPage uintptr) int32 { /* sqlite3.c:61631:12: */ if (*Wal)(unsafe.Pointer(pWal)).FnWiData <= iPage || libc.AssignPtrUintptr(ppPage, *(*uintptr)(unsafe.Pointer((*Wal)(unsafe.Pointer(pWal)).FapWiData + uintptr(iPage)*8))) == uintptr(0) { return walIndexPageRealloc(tls, pWal, iPage, ppPage) } @@ -39200,13 +39210,13 @@ func walIndexPage(tls *libc.TLS, pWal uintptr, iPage int32, ppPage uintptr) int3 } // Return a pointer to the WalCkptInfo structure in the wal-index. -func walCkptInfo(tls *libc.TLS, pWal uintptr) uintptr { /* sqlite3.c:61635:29: */ +func walCkptInfo(tls *libc.TLS, pWal uintptr) uintptr { /* sqlite3.c:61645:29: */ return *(*uintptr)(unsafe.Pointer((*Wal)(unsafe.Pointer(pWal)).FapWiData)) + 24*4 } // Return a pointer to the WalIndexHdr structure in the wal-index. -func walIndexHdr(tls *libc.TLS, pWal uintptr) uintptr { /* sqlite3.c:61643:29: */ +func walIndexHdr(tls *libc.TLS, pWal uintptr) uintptr { /* sqlite3.c:61653:29: */ return *(*uintptr)(unsafe.Pointer((*Wal)(unsafe.Pointer(pWal)).FapWiData)) } @@ -39224,7 +39234,7 @@ func walIndexHdr(tls *libc.TLS, pWal uintptr) uintptr { /* sqlite3.c:61643:29: * // The checksum is written back into aOut[] before returning. // // nByte must be a positive multiple of 8. -func walChecksumBytes(tls *libc.TLS, nativeCksum int32, a uintptr, nByte int32, aIn uintptr, aOut uintptr) { /* sqlite3.c:61669:13: */ +func walChecksumBytes(tls *libc.TLS, nativeCksum int32, a uintptr, nByte int32, aIn uintptr, aOut uintptr) { /* sqlite3.c:61679:13: */ var s1 U32 var s2 U32 var aData uintptr = a @@ -39256,7 +39266,7 @@ func walChecksumBytes(tls *libc.TLS, nativeCksum int32, a uintptr, nByte int32, // If there is the possibility of concurrent access to the SHM file // from multiple threads and/or processes, then do a memory barrier. -func walShmBarrier(tls *libc.TLS, pWal uintptr) { /* sqlite3.c:61712:13: */ +func walShmBarrier(tls *libc.TLS, pWal uintptr) { /* sqlite3.c:61722:13: */ if int32((*Wal)(unsafe.Pointer(pWal)).FexclusiveMode) != WAL_HEAPMEMORY_MODE { Xsqlite3OsShmBarrier(tls, (*Wal)(unsafe.Pointer(pWal)).FpDbFd) } @@ -39271,7 +39281,7 @@ func walShmBarrier(tls *libc.TLS, pWal uintptr) { /* sqlite3.c:61712:13: */ // Write the header information in pWal->hdr into the wal-index. // // The checksum on pWal->hdr is updated before it is written. -func walIndexWriteHdr(tls *libc.TLS, pWal uintptr) { /* sqlite3.c:61736:28: */ +func walIndexWriteHdr(tls *libc.TLS, pWal uintptr) { /* sqlite3.c:61746:28: */ var aHdr uintptr = walIndexHdr(tls, pWal) var nCksum int32 = int32(uintptr(0) + 40) @@ -39295,7 +39305,7 @@ func walIndexWriteHdr(tls *libc.TLS, pWal uintptr) { /* sqlite3.c:61736:28: */ // 12: Salt-2 (copied from the wal-header) // 16: Checksum-1. // 20: Checksum-2. -func walEncodeFrame(tls *libc.TLS, pWal uintptr, iPage U32, nTruncate U32, aData uintptr, aFrame uintptr) { /* sqlite3.c:61763:13: */ +func walEncodeFrame(tls *libc.TLS, pWal uintptr, iPage U32, nTruncate U32, aData uintptr, aFrame uintptr) { /* sqlite3.c:61773:13: */ var nativeCksum int32 // True for native byte-order checksums var aCksum uintptr = pWal + 72 + 24 @@ -39318,7 +39328,7 @@ func walEncodeFrame(tls *libc.TLS, pWal uintptr, iPage U32, nTruncate U32, aData // Check to see if the frame with header in aFrame[] and content // in aData[] is valid. If it is a valid frame, fill *piPage and // *pnTruncate and return true. Return if the frame is not valid. -func walDecodeFrame(tls *libc.TLS, pWal uintptr, piPage uintptr, pnTruncate uintptr, aData uintptr, aFrame uintptr) int32 { /* sqlite3.c:61794:12: */ +func walDecodeFrame(tls *libc.TLS, pWal uintptr, piPage uintptr, pnTruncate uintptr, aData uintptr, aFrame uintptr) int32 { /* sqlite3.c:61804:12: */ var nativeCksum int32 // True for native byte-order checksums var aCksum uintptr = pWal + 72 + 24 var pgno U32 // Page number of the frame @@ -39360,7 +39370,7 @@ func walDecodeFrame(tls *libc.TLS, pWal uintptr, piPage uintptr, pnTruncate uint // through the unlocked state first. // // In locking_mode=EXCLUSIVE, all of these routines become no-ops. -func walLockShared(tls *libc.TLS, pWal uintptr, lockIdx int32) int32 { /* sqlite3.c:61873:12: */ +func walLockShared(tls *libc.TLS, pWal uintptr, lockIdx int32) int32 { /* sqlite3.c:61883:12: */ var rc int32 if (*Wal)(unsafe.Pointer(pWal)).FexclusiveMode != 0 { return SQLITE_OK @@ -39371,7 +39381,7 @@ func walLockShared(tls *libc.TLS, pWal uintptr, lockIdx int32) int32 { /* sqlite return rc } -func walUnlockShared(tls *libc.TLS, pWal uintptr, lockIdx int32) { /* sqlite3.c:61883:13: */ +func walUnlockShared(tls *libc.TLS, pWal uintptr, lockIdx int32) { /* sqlite3.c:61893:13: */ if (*Wal)(unsafe.Pointer(pWal)).FexclusiveMode != 0 { return } @@ -39380,7 +39390,7 @@ func walUnlockShared(tls *libc.TLS, pWal uintptr, lockIdx int32) { /* sqlite3.c: } -func walLockExclusive(tls *libc.TLS, pWal uintptr, lockIdx int32, n int32) int32 { /* sqlite3.c:61889:12: */ +func walLockExclusive(tls *libc.TLS, pWal uintptr, lockIdx int32, n int32) int32 { /* sqlite3.c:61899:12: */ var rc int32 if (*Wal)(unsafe.Pointer(pWal)).FexclusiveMode != 0 { return SQLITE_OK @@ -39391,7 +39401,7 @@ func walLockExclusive(tls *libc.TLS, pWal uintptr, lockIdx int32, n int32) int32 return rc } -func walUnlockExclusive(tls *libc.TLS, pWal uintptr, lockIdx int32, n int32) { /* sqlite3.c:61899:13: */ +func walUnlockExclusive(tls *libc.TLS, pWal uintptr, lockIdx int32, n int32) { /* sqlite3.c:61909:13: */ if (*Wal)(unsafe.Pointer(pWal)).FexclusiveMode != 0 { return } @@ -39403,12 +39413,12 @@ func walUnlockExclusive(tls *libc.TLS, pWal uintptr, lockIdx int32, n int32) { / // Compute a hash on a page number. The resulting hash value must land // between 0 and (HASHTABLE_NSLOT-1). The walHashNext() function advances // the hash to the next value in the event of a collision. -func walHash(tls *libc.TLS, iPage U32) int32 { /* sqlite3.c:61912:12: */ +func walHash(tls *libc.TLS, iPage U32) int32 { /* sqlite3.c:61922:12: */ return int32(iPage * U32(HASHTABLE_HASH_1) & U32(HASHTABLE_NPAGE*2-1)) } -func walNextHash(tls *libc.TLS, iPriorHash int32) int32 { /* sqlite3.c:61917:12: */ +func walNextHash(tls *libc.TLS, iPriorHash int32) int32 { /* sqlite3.c:61927:12: */ return (iPriorHash + 1) & (HASHTABLE_NPAGE*2 - 1) } @@ -39420,12 +39430,12 @@ type WalHashLoc1 = struct { FaPgno uintptr FiZero U32 F__ccgo_pad1 [4]byte -} /* sqlite3.c:61926:9 */ +} /* sqlite3.c:61936:9 */ // An instance of the WalHashLoc object is used to describe the location // of a page hash table in the wal-index. This becomes the return value // from walHashGet(). -type WalHashLoc = WalHashLoc1 /* sqlite3.c:61926:27 */ +type WalHashLoc = WalHashLoc1 /* sqlite3.c:61936:27 */ // Return pointers to the hash table and page number array stored on // page iHash of the wal-index. The wal-index is broken into 32KB pages @@ -39439,7 +39449,7 @@ type WalHashLoc = WalHashLoc1 /* sqlite3.c:61926:27 */ // // Finally, set pLoc->aPgno so that pLoc->aPgno[0] is the page number of the // first frame indexed by the hash table, frame (pLoc->iZero). -func walHashGet(tls *libc.TLS, pWal uintptr, iHash int32, pLoc uintptr) int32 { /* sqlite3.c:61947:12: */ +func walHashGet(tls *libc.TLS, pWal uintptr, iHash int32, pLoc uintptr) int32 { /* sqlite3.c:61957:12: */ var rc int32 // Return code rc = walIndexPage(tls, pWal, iHash, pLoc+8) @@ -39462,14 +39472,14 @@ func walHashGet(tls *libc.TLS, pWal uintptr, iHash int32, pLoc uintptr) int32 { // and page-number array that contain entries corresponding to WAL frame // iFrame. The wal-index is broken up into 32KB pages. Wal-index pages // are numbered starting from 0. -func walFramePage(tls *libc.TLS, iFrame U32) int32 { /* sqlite3.c:61977:12: */ +func walFramePage(tls *libc.TLS, iFrame U32) int32 { /* sqlite3.c:61987:12: */ var iHash int32 = int32((uint64(iFrame+U32(HASHTABLE_NPAGE)) - (uint64(HASHTABLE_NPAGE) - (uint64(unsafe.Sizeof(WalIndexHdr{}))*uint64(2)+uint64(unsafe.Sizeof(WalCkptInfo{})))/uint64(unsafe.Sizeof(U32(0)))) - uint64(1)) / uint64(HASHTABLE_NPAGE)) return iHash } // Return the page number associated with frame iFrame in this WAL. -func walFramePgno(tls *libc.TLS, pWal uintptr, iFrame U32) U32 { /* sqlite3.c:61992:12: */ +func walFramePgno(tls *libc.TLS, pWal uintptr, iFrame U32) U32 { /* sqlite3.c:62002:12: */ var iHash int32 = walFramePage(tls, iFrame) if iHash == 0 { return *(*U32)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer((*Wal)(unsafe.Pointer(pWal)).FapWiData)) + uintptr((uint64(unsafe.Sizeof(WalIndexHdr{}))*uint64(2)+uint64(unsafe.Sizeof(WalCkptInfo{})))/uint64(unsafe.Sizeof(U32(0)))+uint64(iFrame)-uint64(1))*4)) @@ -39487,7 +39497,7 @@ func walFramePgno(tls *libc.TLS, pWal uintptr, iFrame U32) U32 { /* sqlite3.c:61 // updated. Any later hash tables will be automatically cleared when // pWal->hdr.mxFrame advances to the point where those hash tables are // actually needed. -func walCleanupHash(tls *libc.TLS, pWal uintptr) { /* sqlite3.c:62012:13: */ +func walCleanupHash(tls *libc.TLS, pWal uintptr) { /* sqlite3.c:62022:13: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -39530,7 +39540,7 @@ func walCleanupHash(tls *libc.TLS, pWal uintptr) { /* sqlite3.c:62012:13: */ // Set an entry in the wal-index that will map database page number // pPage into WAL frame iFrame. -func walIndexAppend(tls *libc.TLS, pWal uintptr, iFrame U32, iPage U32) int32 { /* sqlite3.c:62074:12: */ +func walIndexAppend(tls *libc.TLS, pWal uintptr, iFrame U32, iPage U32) int32 { /* sqlite3.c:62084:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -39571,7 +39581,7 @@ func walIndexAppend(tls *libc.TLS, pWal uintptr, iFrame U32, iPage U32) int32 { nCollide = idx for iKey = walHash(tls, iPage); *(*Ht_slot)(unsafe.Pointer((*WalHashLoc)(unsafe.Pointer(bp /* &sLoc */)).FaHash + uintptr(iKey)*2)) != 0; iKey = walNextHash(tls, iKey) { if libc.PostDecInt32(&nCollide, 1) == 0 { - return Xsqlite3CorruptError(tls, 62114) + return Xsqlite3CorruptError(tls, 62124) } } *(*U32)(unsafe.Pointer((*WalHashLoc)(unsafe.Pointer(bp /* &sLoc */)).FaPgno + uintptr(idx-1)*4)) = iPage @@ -39590,7 +39600,7 @@ func walIndexAppend(tls *libc.TLS, pWal uintptr, iFrame U32, iPage U32) int32 { // WAL_RECOVER_LOCK is also held so that other threads will know // that this thread is running recovery. If unable to establish // the necessary locks, this routine returns SQLITE_BUSY. -func walIndexRecover(tls *libc.TLS, pWal uintptr) int32 { /* sqlite3.c:62163:12: */ +func walIndexRecover(tls *libc.TLS, pWal uintptr) int32 { /* sqlite3.c:62173:12: */ bp := tls.Alloc(80) defer tls.Free(80) @@ -39705,7 +39715,7 @@ __6: if !(version != U32(WAL_MAX_VERSION)) { goto __7 } - rc = Xsqlite3CantopenError(tls, 62246) + rc = Xsqlite3CantopenError(tls, 62256) goto finished __7: ; @@ -39909,7 +39919,7 @@ recovery_error: } // Close an open wal-index. -func walIndexClose(tls *libc.TLS, pWal uintptr, isDelete int32) { /* sqlite3.c:62386:13: */ +func walIndexClose(tls *libc.TLS, pWal uintptr, isDelete int32) { /* sqlite3.c:62396:13: */ if int32((*Wal)(unsafe.Pointer(pWal)).FexclusiveMode) == WAL_HEAPMEMORY_MODE || (*Wal)(unsafe.Pointer(pWal)).FbShmUnreliable != 0 { var i int32 for i = 0; i < (*Wal)(unsafe.Pointer(pWal)).FnWiData; i++ { @@ -39935,7 +39945,7 @@ func walIndexClose(tls *libc.TLS, pWal uintptr, isDelete int32) { /* sqlite3.c:6 // If the log file is successfully opened, SQLITE_OK is returned and // *ppWal is set to point to a new WAL handle. If an error occurs, // an SQLite error code is returned and *ppWal is left unmodified. -func Xsqlite3WalOpen(tls *libc.TLS, pVfs uintptr, pDbFd uintptr, zWalName uintptr, bNoShm int32, mxWalSize I64, ppWal uintptr) int32 { /* sqlite3.c:62414:20: */ +func Xsqlite3WalOpen(tls *libc.TLS, pVfs uintptr, pDbFd uintptr, zWalName uintptr, bNoShm int32, mxWalSize I64, ppWal uintptr) int32 { /* sqlite3.c:62424:20: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -40007,7 +40017,7 @@ func Xsqlite3WalOpen(tls *libc.TLS, pVfs uintptr, pDbFd uintptr, zWalName uintpt } // Change the size to which the WAL file is trucated on each reset. -func Xsqlite3WalLimit(tls *libc.TLS, pWal uintptr, iLimit I64) { /* sqlite3.c:62517:21: */ +func Xsqlite3WalLimit(tls *libc.TLS, pWal uintptr, iLimit I64) { /* sqlite3.c:62527:21: */ if pWal != 0 { (*Wal)(unsafe.Pointer(pWal)).FmxWalSize = iLimit } @@ -40021,7 +40031,7 @@ func Xsqlite3WalLimit(tls *libc.TLS, pWal uintptr, iLimit I64) { /* sqlite3.c:62 // // Return 0 on success. If there are no pages in the WAL with a page // number larger than *piPage, then return 1. -func walIteratorNext(tls *libc.TLS, p uintptr, piPage uintptr, piFrame uintptr) int32 { /* sqlite3.c:62531:12: */ +func walIteratorNext(tls *libc.TLS, p uintptr, piPage uintptr, piFrame uintptr) int32 { /* sqlite3.c:62541:12: */ var iMin U32 // Result pgno must be greater than iMin var iRet U32 = 0xFFFFFFFF // 0xffffffff is never a valid page number var i int32 // For looping through segments @@ -40068,7 +40078,7 @@ func walIteratorNext(tls *libc.TLS, p uintptr, piPage uintptr, piFrame uintptr) // aLeft[X]!=aRight[Y] && aContent[aLeft[X]] == aContent[aRight[Y]] // // When that happens, omit the aLeft[X] and use the aRight[Y] index. -func walMerge(tls *libc.TLS, aContent uintptr, aLeft uintptr, nLeft int32, paRight uintptr, pnRight uintptr, aTmp uintptr) { /* sqlite3.c:62584:13: */ +func walMerge(tls *libc.TLS, aContent uintptr, aLeft uintptr, nLeft int32, paRight uintptr, pnRight uintptr, aTmp uintptr) { /* sqlite3.c:62594:13: */ var iLeft int32 = 0 // Current index in aLeft var iRight int32 = 0 // Current index in aRight var iOut int32 = 0 // Current index in output buffer @@ -40114,7 +40124,7 @@ func walMerge(tls *libc.TLS, aContent uintptr, aLeft uintptr, nLeft int32, paRig // // Keep the larger of the two values aList[X] and aList[Y] and discard // the smaller. -func walMergesort(tls *libc.TLS, aContent uintptr, aBuffer uintptr, aList uintptr, pnList uintptr) { /* sqlite3.c:62641:13: */ +func walMergesort(tls *libc.TLS, aContent uintptr, aBuffer uintptr, aList uintptr, pnList uintptr) { /* sqlite3.c:62651:13: */ bp := tls.Alloc(220) defer tls.Free(220) @@ -40160,10 +40170,10 @@ type Sublist = struct { FnList int32 F__ccgo_pad1 [4]byte FaList uintptr -} /* sqlite3.c:62647:3 */ +} /* sqlite3.c:62657:3 */ // Free an iterator allocated by walIteratorInit(). -func walIteratorFree(tls *libc.TLS, p uintptr) { /* sqlite3.c:62704:13: */ +func walIteratorFree(tls *libc.TLS, p uintptr) { /* sqlite3.c:62714:13: */ Xsqlite3_free(tls, p) } @@ -40178,7 +40188,7 @@ func walIteratorFree(tls *libc.TLS, p uintptr) { /* sqlite3.c:62704:13: */ // // The calling routine should invoke walIteratorFree() to destroy the // WalIterator object when it has finished with it. -func walIteratorInit(tls *libc.TLS, pWal uintptr, nBackfill U32, pp uintptr) int32 { /* sqlite3.c:62721:12: */ +func walIteratorInit(tls *libc.TLS, pWal uintptr, nBackfill U32, pp uintptr) int32 { /* sqlite3.c:62731:12: */ bp := tls.Alloc(28) defer tls.Free(28) @@ -40262,7 +40272,7 @@ func walIteratorInit(tls *libc.TLS, pWal uintptr, nBackfill U32, pp uintptr) int // n. If the attempt fails and parameter xBusy is not NULL, then it is a // 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) int32 { /* sqlite3.c:62884:12: */ +func walBusyLock(tls *libc.TLS, pWal uintptr, xBusy uintptr, pBusyArg uintptr, lockIdx int32, n int32) int32 { /* sqlite3.c:62894:12: */ var rc int32 for __ccgo := true; __ccgo; __ccgo = xBusy != 0 && rc == SQLITE_BUSY && (*struct { f func(*libc.TLS, uintptr) int32 @@ -40274,7 +40284,7 @@ func walBusyLock(tls *libc.TLS, pWal uintptr, xBusy uintptr, pBusyArg uintptr, l // The cache of the wal-index header must be valid to call this function. // Return the page-size in bytes used by the database. -func walPagesize(tls *libc.TLS, pWal uintptr) int32 { /* sqlite3.c:62908:12: */ +func walPagesize(tls *libc.TLS, pWal uintptr) int32 { /* sqlite3.c:62918:12: */ return int32((*Wal)(unsafe.Pointer(pWal)).Fhdr.FszPage)&0xfe00 + int32((*Wal)(unsafe.Pointer(pWal)).Fhdr.FszPage)&0x0001<<16 } @@ -40293,7 +40303,7 @@ func walPagesize(tls *libc.TLS, pWal uintptr) int32 { /* sqlite3.c:62908:12: */ // The value of parameter salt1 is used as the aSalt[1] value in the // new wal-index header. It should be passed a pseudo-random value (i.e. // one obtained from sqlite3_randomness()). -func walRestartHdr(tls *libc.TLS, pWal uintptr, salt1 U32) { /* sqlite3.c:62929:13: */ +func walRestartHdr(tls *libc.TLS, pWal uintptr, salt1 U32) { /* sqlite3.c:62939:13: */ bp := tls.Alloc(4) defer tls.Free(4) *(*U32)(unsafe.Pointer(bp)) = salt1 @@ -40344,7 +40354,7 @@ func walRestartHdr(tls *libc.TLS, pWal uintptr, salt1 U32) { /* sqlite3.c:62929: // The caller must be holding sufficient locks to ensure that no other // 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) int32 { /* sqlite3.c:62976:12: */ +func walCheckpoint(tls *libc.TLS, pWal uintptr, db uintptr, eMode int32, xBusy uintptr, pBusyArg uintptr, sync_flags int32, zBuf uintptr) int32 { /* sqlite3.c:62986:12: */ bp := tls.Alloc(36) defer tls.Free(36) @@ -40475,7 +40485,7 @@ __10: // 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 = Xsqlite3CorruptError(tls, 63060) + rc = Xsqlite3CorruptError(tls, 63070) goto __15 __14: Xsqlite3OsFileControlHint(tls, (*Wal)(unsafe.Pointer(pWal)).FpDbFd, SQLITE_FCNTL_SIZE_HINT, bp+16) @@ -40636,7 +40646,7 @@ walcheckpoint_out: // If the WAL file is currently larger than nMax bytes in size, truncate // it to exactly nMax bytes. If an error occurs while doing so, ignore it. -func walLimitSize(tls *libc.TLS, pWal uintptr, nMax I64) { /* sqlite3.c:63162:13: */ +func walLimitSize(tls *libc.TLS, pWal uintptr, nMax I64) { /* sqlite3.c:63172:13: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -40655,7 +40665,7 @@ func walLimitSize(tls *libc.TLS, pWal uintptr, nMax I64) { /* sqlite3.c:63162:13 } // Close a connection to a log file. -func Xsqlite3WalClose(tls *libc.TLS, pWal uintptr, db uintptr, sync_flags int32, nBuf int32, zBuf uintptr) int32 { /* sqlite3.c:63179:20: */ +func Xsqlite3WalClose(tls *libc.TLS, pWal uintptr, db uintptr, sync_flags int32, nBuf int32, zBuf uintptr) int32 { /* sqlite3.c:63189:20: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -40727,7 +40737,7 @@ func Xsqlite3WalClose(tls *libc.TLS, pWal uintptr, db uintptr, sync_flags int32, // // If the checksum cannot be verified return non-zero. If the header // is read successfully and the checksum verified, return zero. -func walIndexTryHdr(tls *libc.TLS, pWal uintptr, pChanged uintptr) int32 { /* sqlite3.c:63260:27: */ +func walIndexTryHdr(tls *libc.TLS, pWal uintptr, pChanged uintptr) int32 { /* sqlite3.c:63270:27: */ bp := tls.Alloc(104) defer tls.Free(104) @@ -40796,7 +40806,7 @@ func walIndexTryHdr(tls *libc.TLS, pWal uintptr, pChanged uintptr) int32 { /* sq // // If the wal-index header is successfully read, return SQLITE_OK. // Otherwise an SQLite error code. -func walIndexReadHdr(tls *libc.TLS, pWal uintptr, pChanged uintptr) int32 { /* sqlite3.c:63330:12: */ +func walIndexReadHdr(tls *libc.TLS, pWal uintptr, pChanged uintptr) int32 { /* sqlite3.c:63340:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -40876,7 +40886,7 @@ func walIndexReadHdr(tls *libc.TLS, pWal uintptr, pChanged uintptr) int32 { /* s // sure the wal-index was not constructed with some future format that // this version of SQLite cannot understand. if badHdr == 0 && (*Wal)(unsafe.Pointer(pWal)).Fhdr.FiVersion != U32(WALINDEX_MAX_VERSION) { - rc = Xsqlite3CantopenError(tls, 63409) + rc = Xsqlite3CantopenError(tls, 63419) } if (*Wal)(unsafe.Pointer(pWal)).FbShmUnreliable != 0 { if rc != SQLITE_OK { @@ -40921,7 +40931,7 @@ func walIndexReadHdr(tls *libc.TLS, pWal uintptr, pChanged uintptr) int32 { /* s // beginning (including attempting to map the *-shm file). // // If an error occurs, an SQLite error code is returned. -func walBeginShmUnreliable(tls *libc.TLS, pWal uintptr, pChanged uintptr) int32 { /* sqlite3.c:63454:12: */ +func walBeginShmUnreliable(tls *libc.TLS, pWal uintptr, pChanged uintptr) int32 { /* sqlite3.c:63464:12: */ bp := tls.Alloc(64) defer tls.Free(64) @@ -41187,7 +41197,7 @@ __15: // update values of the aReadMark[] array in the header, but if it does // so it takes care to hold an exclusive lock on the corresponding // WAL_READ_LOCK() while changing values. -func walTryBeginRead(tls *libc.TLS, pWal uintptr, pChanged uintptr, useWal int32, cnt int32) int32 { /* sqlite3.c:63651:12: */ +func walTryBeginRead(tls *libc.TLS, pWal uintptr, pChanged uintptr, useWal int32, cnt int32) int32 { /* sqlite3.c:63661:12: */ var pInfo uintptr // Checkpoint information in wal-index var mxReadMark U32 // Largest aReadMark[] value var mxI int32 // Index of largest aReadMark[] value @@ -41404,7 +41414,7 @@ func walTryBeginRead(tls *libc.TLS, pWal uintptr, pChanged uintptr, useWal int32 // SQLITE_OK is returned if successful, or an SQLite error code if an // error occurs. It is not an error if nBackfillAttempted cannot be // decreased at all. -func Xsqlite3WalSnapshotRecover(tls *libc.TLS, pWal uintptr) int32 { /* sqlite3.c:63881:20: */ +func Xsqlite3WalSnapshotRecover(tls *libc.TLS, pWal uintptr) int32 { /* sqlite3.c:63891:20: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -41478,7 +41488,7 @@ func Xsqlite3WalSnapshotRecover(tls *libc.TLS, pWal uintptr) int32 { /* sqlite3. // transaction, then *pChanged is set to 1 before returning. The // Pager layer will use this to know that its cache is stale and // needs to be flushed. -func Xsqlite3WalBeginReadTransaction(tls *libc.TLS, pWal uintptr, pChanged uintptr) int32 { /* sqlite3.c:63952:20: */ +func Xsqlite3WalBeginReadTransaction(tls *libc.TLS, pWal uintptr, pChanged uintptr) int32 { /* sqlite3.c:63962:20: */ var rc int32 // Return code var cnt int32 = 0 // Number of TryBeginRead attempts var bChanged int32 = 0 @@ -41566,7 +41576,7 @@ func Xsqlite3WalBeginReadTransaction(tls *libc.TLS, pWal uintptr, pChanged uintp // Finish with a read transaction. All this does is release the // read-lock. -func Xsqlite3WalEndReadTransaction(tls *libc.TLS, pWal uintptr) { /* sqlite3.c:64060:21: */ +func Xsqlite3WalEndReadTransaction(tls *libc.TLS, pWal uintptr) { /* sqlite3.c:64070:21: */ Xsqlite3WalEndWriteTransaction(tls, pWal) if int32((*Wal)(unsafe.Pointer(pWal)).FreadLock) >= 0 { walUnlockShared(tls, pWal, 3+int32((*Wal)(unsafe.Pointer(pWal)).FreadLock)) @@ -41580,7 +41590,7 @@ func Xsqlite3WalEndReadTransaction(tls *libc.TLS, pWal uintptr) { /* sqlite3.c:6 // // Return SQLITE_OK if successful, or an error code if an error occurs. If an // error does occur, the final value of *piRead is undefined. -func Xsqlite3WalFindFrame(tls *libc.TLS, pWal uintptr, pgno Pgno, piRead uintptr) int32 { /* sqlite3.c:64076:20: */ +func Xsqlite3WalFindFrame(tls *libc.TLS, pWal uintptr, pgno Pgno, piRead uintptr) int32 { /* sqlite3.c:64086:20: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -41647,7 +41657,7 @@ func Xsqlite3WalFindFrame(tls *libc.TLS, pWal uintptr, pgno Pgno, piRead uintptr iRead = iFrame } if libc.PostDecInt32(&nCollide, 1) == 0 { - return Xsqlite3CorruptError(tls, 64146) + return Xsqlite3CorruptError(tls, 64156) } iKey = walNextHash(tls, iKey) } @@ -41663,7 +41673,7 @@ func Xsqlite3WalFindFrame(tls *libc.TLS, pWal uintptr, pgno Pgno, piRead uintptr // Read the contents of frame iRead from the wal file into buffer pOut // (which is nOut bytes in size). Return SQLITE_OK if successful, or an // error code otherwise. -func Xsqlite3WalReadFrame(tls *libc.TLS, pWal uintptr, iRead U32, nOut int32, pOut uintptr) int32 { /* sqlite3.c:64180:20: */ +func Xsqlite3WalReadFrame(tls *libc.TLS, pWal uintptr, iRead U32, nOut int32, pOut uintptr) int32 { /* sqlite3.c:64190:20: */ var sz int32 var iOffset I64 sz = int32((*Wal)(unsafe.Pointer(pWal)).Fhdr.FszPage) @@ -41680,7 +41690,7 @@ func Xsqlite3WalReadFrame(tls *libc.TLS, pWal uintptr, iRead U32, nOut int32, pO } // Return the size of the database in pages (or zero, if unknown). -func Xsqlite3WalDbsize(tls *libc.TLS, pWal uintptr) Pgno { /* sqlite3.c:64200:21: */ +func Xsqlite3WalDbsize(tls *libc.TLS, pWal uintptr) Pgno { /* sqlite3.c:64210:21: */ if pWal != 0 && int32((*Wal)(unsafe.Pointer(pWal)).FreadLock) >= 0 { return (*Wal)(unsafe.Pointer(pWal)).Fhdr.FnPage } @@ -41698,7 +41708,7 @@ func Xsqlite3WalDbsize(tls *libc.TLS, pWal uintptr) Pgno { /* sqlite3.c:64200:21 // returns SQLITE_BUSY in that case and no write transaction is started. // // There can only be a single writer active at a time. -func Xsqlite3WalBeginWriteTransaction(tls *libc.TLS, pWal uintptr) int32 { /* sqlite3.c:64221:20: */ +func Xsqlite3WalBeginWriteTransaction(tls *libc.TLS, pWal uintptr) int32 { /* sqlite3.c:64231:20: */ var rc int32 // Cannot start a write transaction without first holding a read @@ -41730,7 +41740,7 @@ func Xsqlite3WalBeginWriteTransaction(tls *libc.TLS, pWal uintptr) int32 { /* sq // End a write transaction. The commit has already been done. This // routine merely releases the lock. -func Xsqlite3WalEndWriteTransaction(tls *libc.TLS, pWal uintptr) int32 { /* sqlite3.c:64269:20: */ +func Xsqlite3WalEndWriteTransaction(tls *libc.TLS, pWal uintptr) int32 { /* sqlite3.c:64279:20: */ if (*Wal)(unsafe.Pointer(pWal)).FwriteLock != 0 { walUnlockExclusive(tls, pWal, WAL_WRITE_LOCK, 1) (*Wal)(unsafe.Pointer(pWal)).FwriteLock = U8(0) @@ -41750,7 +41760,7 @@ func Xsqlite3WalEndWriteTransaction(tls *libc.TLS, pWal uintptr) int32 { /* sqli // // Otherwise, if the callback function does not return an error, this // function returns SQLITE_OK. -func Xsqlite3WalUndo(tls *libc.TLS, pWal uintptr, xUndo uintptr, pUndoCtx uintptr) int32 { /* sqlite3.c:64291:20: */ +func Xsqlite3WalUndo(tls *libc.TLS, pWal uintptr, xUndo uintptr, pUndoCtx uintptr) int32 { /* sqlite3.c:64301:20: */ var rc int32 = SQLITE_OK if (*Wal)(unsafe.Pointer(pWal)).FwriteLock != 0 { var iMax Pgno = (*Wal)(unsafe.Pointer(pWal)).Fhdr.FmxFrame @@ -41787,7 +41797,7 @@ func Xsqlite3WalUndo(tls *libc.TLS, pWal uintptr, xUndo uintptr, pUndoCtx uintpt // values. This function populates the array with values required to // "rollback" the write position of the WAL handle back to the current // point in the event of a savepoint rollback (via WalSavepointUndo()). -func Xsqlite3WalSavepoint(tls *libc.TLS, pWal uintptr, aWalData uintptr) { /* sqlite3.c:64331:21: */ +func Xsqlite3WalSavepoint(tls *libc.TLS, pWal uintptr, aWalData uintptr) { /* sqlite3.c:64341:21: */ *(*U32)(unsafe.Pointer(aWalData)) = (*Wal)(unsafe.Pointer(pWal)).Fhdr.FmxFrame *(*U32)(unsafe.Pointer(aWalData + 1*4)) = *(*U32)(unsafe.Pointer(pWal + 72 + 24)) @@ -41799,7 +41809,7 @@ func Xsqlite3WalSavepoint(tls *libc.TLS, pWal uintptr, aWalData uintptr) { /* sq // the values in the aWalData[] array. aWalData must point to an array // of WAL_SAVEPOINT_NDATA u32 values that has been previously populated // by a call to WalSavepoint(). -func Xsqlite3WalSavepointUndo(tls *libc.TLS, pWal uintptr, aWalData uintptr) int32 { /* sqlite3.c:64345:20: */ +func Xsqlite3WalSavepointUndo(tls *libc.TLS, pWal uintptr, aWalData uintptr) int32 { /* sqlite3.c:64355:20: */ var rc int32 = SQLITE_OK if *(*U32)(unsafe.Pointer(aWalData + 3*4)) != (*Wal)(unsafe.Pointer(pWal)).FnCkpt { @@ -41830,7 +41840,7 @@ func Xsqlite3WalSavepointUndo(tls *libc.TLS, pWal uintptr, aWalData uintptr) int // SQLITE_OK is returned if no error is encountered (regardless of whether // or not pWal->hdr.mxFrame is modified). An SQLite error code is returned // if an error occurs. -func walRestartLog(tls *libc.TLS, pWal uintptr) int32 { /* sqlite3.c:64382:12: */ +func walRestartLog(tls *libc.TLS, pWal uintptr) int32 { /* sqlite3.c:64392:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -41884,12 +41894,12 @@ type WalWriter1 = struct { FiSyncPoint Sqlite3_int64 FsyncFlags int32 FszPage int32 -} /* sqlite3.c:64429:9 */ +} /* sqlite3.c:64439:9 */ // Information about the current state of the WAL file and where // the next fsync should occur - passed from sqlite3WalFrames() into // walWriteToLog(). -type WalWriter = WalWriter1 /* sqlite3.c:64435:3 */ +type WalWriter = WalWriter1 /* sqlite3.c:64445:3 */ // Write iAmt bytes of content into the WAL file beginning at iOffset. // Do a sync when crossing the p->iSyncPoint boundary. @@ -41897,7 +41907,7 @@ type WalWriter = WalWriter1 /* sqlite3.c:64435:3 */ // In other words, if iSyncPoint is in between iOffset and iOffset+iAmt, // first write the part before iSyncPoint, then sync, then write the // rest. -func walWriteToLog(tls *libc.TLS, p uintptr, pContent uintptr, iAmt int32, iOffset Sqlite3_int64) int32 { /* sqlite3.c:64445:12: */ +func walWriteToLog(tls *libc.TLS, p uintptr, pContent uintptr, iAmt int32, iOffset Sqlite3_int64) int32 { /* sqlite3.c:64455:12: */ var rc int32 if iOffset < (*WalWriter)(unsafe.Pointer(p)).FiSyncPoint && iOffset+Sqlite3_int64(iAmt) >= (*WalWriter)(unsafe.Pointer(p)).FiSyncPoint { var iFirstAmt int32 = int32((*WalWriter)(unsafe.Pointer(p)).FiSyncPoint - iOffset) @@ -41919,7 +41929,7 @@ func walWriteToLog(tls *libc.TLS, p uintptr, pContent uintptr, iAmt int32, iOffs } // Write out a single frame of the WAL -func walWriteOneFrame(tls *libc.TLS, p uintptr, pPage uintptr, nTruncate int32, iOffset Sqlite3_int64) int32 { /* sqlite3.c:64470:12: */ +func walWriteOneFrame(tls *libc.TLS, p uintptr, pPage uintptr, nTruncate int32, iOffset Sqlite3_int64) int32 { /* sqlite3.c:64480:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -41944,7 +41954,7 @@ func walWriteOneFrame(tls *libc.TLS, p uintptr, pPage uintptr, nTruncate int32, // with the earliest to have been overwritten. // // SQLITE_OK is returned if successful, or an SQLite error code otherwise. -func walRewriteChecksums(tls *libc.TLS, pWal uintptr, iLast U32) int32 { /* sqlite3.c:64496:12: */ +func walRewriteChecksums(tls *libc.TLS, pWal uintptr, iLast U32) int32 { /* sqlite3.c:64506:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -41998,7 +42008,7 @@ func walRewriteChecksums(tls *libc.TLS, pWal uintptr, iLast U32) int32 { /* sqli // Write a set of frames to the log. The caller must hold the write-lock // on the log file (obtained using sqlite3WalBeginWriteTransaction()). -func Xsqlite3WalFrames(tls *libc.TLS, pWal uintptr, szPage int32, pList uintptr, nTruncate Pgno, isCommit int32, sync_flags int32) int32 { /* sqlite3.c:64545:20: */ +func Xsqlite3WalFrames(tls *libc.TLS, pWal uintptr, szPage int32, pList uintptr, nTruncate Pgno, isCommit int32, sync_flags int32) int32 { /* sqlite3.c:64555:20: */ bp := tls.Alloc(80) defer tls.Free(80) @@ -42231,7 +42241,7 @@ func Xsqlite3WalFrames(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 Xsqlite3WalCheckpoint(tls *libc.TLS, pWal uintptr, db uintptr, eMode int32, xBusy uintptr, pBusyArg uintptr, sync_flags int32, nBuf int32, zBuf uintptr, pnLog uintptr, pnCkpt uintptr) int32 { /* sqlite3.c:64783:20: */ +func Xsqlite3WalCheckpoint(tls *libc.TLS, pWal uintptr, db uintptr, eMode int32, xBusy uintptr, pBusyArg uintptr, sync_flags int32, nBuf int32, zBuf uintptr, pnLog uintptr, pnCkpt uintptr) int32 { /* sqlite3.c:64793:20: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -42296,7 +42306,7 @@ func Xsqlite3WalCheckpoint(tls *libc.TLS, pWal uintptr, db uintptr, eMode int32, if rc == SQLITE_OK { if (*Wal)(unsafe.Pointer(pWal)).Fhdr.FmxFrame != 0 && walPagesize(tls, pWal) != nBuf { - rc = Xsqlite3CorruptError(tls, 64865) + rc = Xsqlite3CorruptError(tls, 64875) } else { rc = walCheckpoint(tls, pWal, db, eMode2, xBusy2, pBusyArg, sync_flags, zBuf) } @@ -42340,7 +42350,7 @@ func Xsqlite3WalCheckpoint(tls *libc.TLS, pWal uintptr, db uintptr, eMode int32, // number of frames in the WAL at the point of the last commit since // sqlite3WalCallback() was called. If no commits have occurred since // the last call, then return 0. -func Xsqlite3WalCallback(tls *libc.TLS, pWal uintptr) int32 { /* sqlite3.c:64908:20: */ +func Xsqlite3WalCallback(tls *libc.TLS, pWal uintptr) int32 { /* sqlite3.c:64918:20: */ var ret U32 = U32(0) if pWal != 0 { ret = (*Wal)(unsafe.Pointer(pWal)).FiCallback @@ -42371,7 +42381,7 @@ func Xsqlite3WalCallback(tls *libc.TLS, pWal uintptr) int32 { /* sqlite3.c:64908 // not actually change anything. The pager uses this to see if it // should acquire the database exclusive lock prior to invoking // the op==1 case. -func Xsqlite3WalExclusiveMode(tls *libc.TLS, pWal uintptr, op int32) int32 { /* sqlite3.c:64941:20: */ +func Xsqlite3WalExclusiveMode(tls *libc.TLS, pWal uintptr, op int32) int32 { /* sqlite3.c:64951:20: */ var rc int32 // pWal->readLock is usually set, but might be -1 if there was a @@ -42405,14 +42415,14 @@ func Xsqlite3WalExclusiveMode(tls *libc.TLS, pWal uintptr, op int32) int32 { /* // Return true if the argument is non-NULL and the WAL module is using // heap-memory for the wal-index. Otherwise, if the argument is NULL or the // WAL module is using shared-memory, return false. -func Xsqlite3WalHeapMemory(tls *libc.TLS, pWal uintptr) int32 { /* sqlite3.c:64983:20: */ +func Xsqlite3WalHeapMemory(tls *libc.TLS, pWal uintptr) int32 { /* sqlite3.c:64993:20: */ return libc.Bool32(pWal != 0 && int32((*Wal)(unsafe.Pointer(pWal)).FexclusiveMode) == WAL_HEAPMEMORY_MODE) } // Create a snapshot object. The content of a snapshot is opaque to // every other subsystem, so the WAL module can put whatever it needs // in the object. -func Xsqlite3WalSnapshotGet(tls *libc.TLS, pWal uintptr, ppSnapshot uintptr) int32 { /* sqlite3.c:64992:20: */ +func Xsqlite3WalSnapshotGet(tls *libc.TLS, pWal uintptr, ppSnapshot uintptr) int32 { /* sqlite3.c:65002:20: */ var rc int32 = SQLITE_OK var pRet uintptr @@ -42431,16 +42441,16 @@ func Xsqlite3WalSnapshotGet(tls *libc.TLS, pWal uintptr, ppSnapshot uintptr) int return rc } -var aZero = [4]U32{U32(0), U32(0), U32(0), U32(0)} /* sqlite3.c:64995:20 */ +var aZero = [4]U32{U32(0), U32(0), U32(0), U32(0)} /* sqlite3.c:65005:20 */ // Try to open on pSnapshot when the next read-transaction starts -func Xsqlite3WalSnapshotOpen(tls *libc.TLS, pWal uintptr, pSnapshot uintptr) { /* sqlite3.c:65016:21: */ +func Xsqlite3WalSnapshotOpen(tls *libc.TLS, pWal uintptr, pSnapshot uintptr) { /* sqlite3.c:65026:21: */ (*Wal)(unsafe.Pointer(pWal)).FpSnapshot = pSnapshot } // Return a +ve value if snapshot p1 is newer than p2. A -ve value if // p1 is older than p2 and zero if p1 and p2 are the same snapshot. -func Xsqlite3_snapshot_cmp(tls *libc.TLS, p1 uintptr, p2 uintptr) int32 { /* sqlite3.c:65027:16: */ +func Xsqlite3_snapshot_cmp(tls *libc.TLS, p1 uintptr, p2 uintptr) int32 { /* sqlite3.c:65037:16: */ var pHdr1 uintptr = p1 var pHdr2 uintptr = p2 @@ -42470,7 +42480,7 @@ func Xsqlite3_snapshot_cmp(tls *libc.TLS, p1 uintptr, p2 uintptr) int32 { /* sql // the CHECKPOINTER lock cannot be obtained, SQLITE_BUSY. If any error // occurs (any value other than SQLITE_OK is returned), the CHECKPOINTER // lock is released before returning. -func Xsqlite3WalSnapshotCheck(tls *libc.TLS, pWal uintptr, pSnapshot uintptr) int32 { /* sqlite3.c:65051:20: */ +func Xsqlite3WalSnapshotCheck(tls *libc.TLS, pWal uintptr, pSnapshot uintptr) int32 { /* sqlite3.c:65061:20: */ var rc int32 rc = walLockShared(tls, pWal, WAL_CKPT_LOCK) if rc == SQLITE_OK { @@ -42486,13 +42496,13 @@ func Xsqlite3WalSnapshotCheck(tls *libc.TLS, pWal uintptr, pSnapshot uintptr) in // Release a lock obtained by an earlier successful call to // sqlite3WalSnapshotCheck(). -func Xsqlite3WalSnapshotUnlock(tls *libc.TLS, pWal uintptr) { /* sqlite3.c:65070:21: */ +func Xsqlite3WalSnapshotUnlock(tls *libc.TLS, pWal uintptr) { /* sqlite3.c:65080:21: */ walUnlockShared(tls, pWal, WAL_CKPT_LOCK) } // Return the sqlite3_file object for the WAL file -func Xsqlite3WalFile(tls *libc.TLS, pWal uintptr) uintptr { /* sqlite3.c:65092:29: */ +func Xsqlite3WalFile(tls *libc.TLS, pWal uintptr) uintptr { /* sqlite3.c:65102:29: */ return (*Wal)(unsafe.Pointer(pWal)).FpWalFd } @@ -43013,7 +43023,7 @@ type MemPage1 = struct { // small cells will be rare, but they are possible. // Forward declarations -type MemPage = MemPage1 /* sqlite3.c:65350:24 */ +type MemPage = MemPage1 /* sqlite3.c:65360:24 */ type BtLock1 = struct { FpBtree uintptr FiTable Pgno @@ -43022,7 +43032,7 @@ type BtLock1 = struct { FpNext uintptr } /* sqlite3.c:578:9 */ -type BtLock = BtLock1 /* sqlite3.c:65351:23 */ +type BtLock = BtLock1 /* sqlite3.c:65361:23 */ type CellInfo1 = struct { FnKey I64 FpPayload uintptr @@ -43031,7 +43041,7 @@ type CellInfo1 = struct { FnSize U16 } /* sqlite3.c:578:9 */ -type CellInfo = CellInfo1 /* sqlite3.c:65352:25 */ +type CellInfo = CellInfo1 /* sqlite3.c:65362:25 */ // Legal values for BtCursor.curFlags @@ -43141,7 +43151,7 @@ type IntegrityCk1 = struct { FerrMsg StrAccum Fheap uintptr Fdb uintptr -} /* sqlite3.c:65811:9 */ +} /* sqlite3.c:65821:9 */ // Legal values for BtCursor.curFlags @@ -43237,7 +43247,7 @@ type IntegrityCk1 = struct { // the database the corresponding bit is set. This allows integrity-check to // detect pages that are used twice and orphaned pages (both of which // indicate corruption). -type IntegrityCk = IntegrityCk1 /* sqlite3.c:65811:28 */ +type IntegrityCk = IntegrityCk1 /* sqlite3.c:65821:28 */ // Routines to read or write a two- and four-byte big-endian integer values. @@ -43251,7 +43261,7 @@ type IntegrityCk = IntegrityCk1 /* sqlite3.c:65811:28 */ // Obtain the BtShared mutex associated with B-Tree handle p. Also, // set BtShared.db to the database handle associated with p and the // p->locked boolean to true. -func lockBtreeMutex(tls *libc.TLS, p uintptr) { /* sqlite3.c:65861:13: */ +func lockBtreeMutex(tls *libc.TLS, p uintptr) { /* sqlite3.c:65871:13: */ Xsqlite3_mutex_enter(tls, (*BtShared)(unsafe.Pointer((*Btree)(unsafe.Pointer(p)).FpBt)).Fmutex) (*BtShared)(unsafe.Pointer((*Btree)(unsafe.Pointer(p)).FpBt)).Fdb = (*Btree)(unsafe.Pointer(p)).Fdb @@ -43260,7 +43270,7 @@ func lockBtreeMutex(tls *libc.TLS, p uintptr) { /* sqlite3.c:65861:13: */ // Release the BtShared mutex associated with B-Tree handle p and // clear the p->locked boolean. -func unlockBtreeMutex(tls *libc.TLS, p uintptr) { /* sqlite3.c:65875:29: */ +func unlockBtreeMutex(tls *libc.TLS, p uintptr) { /* sqlite3.c:65885:29: */ var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt Xsqlite3_mutex_leave(tls, (*BtShared)(unsafe.Pointer(pBt)).Fmutex) @@ -43281,7 +43291,7 @@ func unlockBtreeMutex(tls *libc.TLS, p uintptr) { /* sqlite3.c:65875:29: */ // p, then first unlock all of the others on p->pNext, then wait // for the lock to become available on p, then relock all of the // subsequent Btrees that desire a lock. -func Xsqlite3BtreeEnter(tls *libc.TLS, p uintptr) { /* sqlite3.c:65905:21: */ +func Xsqlite3BtreeEnter(tls *libc.TLS, p uintptr) { /* sqlite3.c:65915:21: */ // Some basic sanity checking on the Btree. The list of Btrees // connected by pNext and pPrev should be in sorted order by // Btree.pBt value. All elements of the list should belong to @@ -43309,7 +43319,7 @@ func Xsqlite3BtreeEnter(tls *libc.TLS, p uintptr) { /* sqlite3.c:65905:21: */ // into this routine, we avoid unnecessary stack pointer changes // and thus help the sqlite3BtreeLock() routine to run much faster // in the common case. -func btreeLockCarefully(tls *libc.TLS, p uintptr) { /* sqlite3.c:65939:29: */ +func btreeLockCarefully(tls *libc.TLS, p uintptr) { /* sqlite3.c:65949:29: */ var pLater uintptr // In most cases, we should be able to acquire the lock we @@ -43340,7 +43350,7 @@ func btreeLockCarefully(tls *libc.TLS, p uintptr) { /* sqlite3.c:65939:29: */ } // Exit the recursive mutex on a Btree. -func Xsqlite3BtreeLeave(tls *libc.TLS, p uintptr) { /* sqlite3.c:65977:21: */ +func Xsqlite3BtreeLeave(tls *libc.TLS, p uintptr) { /* sqlite3.c:65987:21: */ if (*Btree)(unsafe.Pointer(p)).Fsharable != 0 { @@ -43363,7 +43373,7 @@ func Xsqlite3BtreeLeave(tls *libc.TLS, p uintptr) { /* sqlite3.c:65977:21: */ // to avoid the possibility of deadlock when two threads with // two or more btrees in common both try to lock all their btrees // at the same instant. -func btreeEnterAll(tls *libc.TLS, db uintptr) { /* sqlite3.c:66020:29: */ +func btreeEnterAll(tls *libc.TLS, db uintptr) { /* sqlite3.c:66030:29: */ var i int32 var skipOk int32 = 1 var p uintptr @@ -43378,13 +43388,13 @@ func btreeEnterAll(tls *libc.TLS, db uintptr) { /* sqlite3.c:66020:29: */ (*Sqlite3)(unsafe.Pointer(db)).FnoSharedCache = U8(skipOk) } -func Xsqlite3BtreeEnterAll(tls *libc.TLS, db uintptr) { /* sqlite3.c:66034:21: */ +func Xsqlite3BtreeEnterAll(tls *libc.TLS, db uintptr) { /* sqlite3.c:66044:21: */ if int32((*Sqlite3)(unsafe.Pointer(db)).FnoSharedCache) == 0 { btreeEnterAll(tls, db) } } -func btreeLeaveAll(tls *libc.TLS, db uintptr) { /* sqlite3.c:66037:29: */ +func btreeLeaveAll(tls *libc.TLS, db uintptr) { /* sqlite3.c:66047:29: */ var i int32 var p uintptr @@ -43396,7 +43406,7 @@ func btreeLeaveAll(tls *libc.TLS, db uintptr) { /* sqlite3.c:66037:29: */ } } -func Xsqlite3BtreeLeaveAll(tls *libc.TLS, db uintptr) { /* sqlite3.c:66046:21: */ +func Xsqlite3BtreeLeaveAll(tls *libc.TLS, db uintptr) { /* sqlite3.c:66056:21: */ if int32((*Sqlite3)(unsafe.Pointer(db)).FnoSharedCache) == 0 { btreeLeaveAll(tls, db) } @@ -43407,11 +43417,11 @@ func Xsqlite3BtreeLeaveAll(tls *libc.TLS, db uintptr) { /* sqlite3.c:66046:21: * // These entry points are used by incremental I/O only. Enter() is required // any time OMIT_SHARED_CACHE is not defined, regardless of whether or not // the build is threadsafe. Leave() is only required by threadsafe builds. -func Xsqlite3BtreeEnterCursor(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:66132:21: */ +func Xsqlite3BtreeEnterCursor(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:66142:21: */ Xsqlite3BtreeEnter(tls, (*BtCursor)(unsafe.Pointer(pCur)).FpBtree) } -func Xsqlite3BtreeLeaveCursor(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:66136:21: */ +func Xsqlite3BtreeLeaveCursor(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:66146:21: */ Xsqlite3BtreeLeave(tls, (*BtCursor)(unsafe.Pointer(pCur)).FpBtree) } @@ -43434,7 +43444,7 @@ func Xsqlite3BtreeLeaveCursor(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:66136: // The header string that appears at the beginning of every // SQLite database. -var zMagicHeader = *(*[16]uint8)(unsafe.Pointer(ts + 3984)) /* sqlite3.c:66167:19 */ +var zMagicHeader = *(*[16]uint8)(unsafe.Pointer(ts + 3984)) /* sqlite3.c:66177:19 */ // Set this global variable to 1 to enable tracing using the TRACE // macro. @@ -43460,14 +43470,14 @@ var zMagicHeader = *(*[16]uint8)(unsafe.Pointer(ts + 3984)) /* sqlite3.c:66167:1 // test builds. // // Access to this variable is protected by SQLITE_MUTEX_STATIC_MAIN. -var sqlite3SharedCacheList uintptr = uintptr(0) /* sqlite3.c:66222:17 */ +var sqlite3SharedCacheList uintptr = uintptr(0) /* sqlite3.c:66232:17 */ // Enable or disable the shared pager and schema features. // // This routine has no effect on existing database connections. // The shared cache setting effects only future calls to // sqlite3_open(), sqlite3_open16(), or sqlite3_open_v2(). -func Xsqlite3_enable_shared_cache(tls *libc.TLS, enable int32) int32 { /* sqlite3.c:66234:16: */ +func Xsqlite3_enable_shared_cache(tls *libc.TLS, enable int32) int32 { /* sqlite3.c:66244:16: */ Xsqlite3Config.FsharedCacheEnabled = enable return SQLITE_OK } @@ -43484,7 +43494,7 @@ func Xsqlite3_enable_shared_cache(tls *libc.TLS, enable int32) int32 { /* sqlite // (READ_LOCK or WRITE_LOCK) on the table with root-page iTab. Return // SQLITE_OK if the lock may be obtained (by calling // setSharedCacheTableLock()), or SQLITE_LOCKED if not. -func querySharedCacheTableLock(tls *libc.TLS, p uintptr, iTab Pgno, eLock U8) int32 { /* sqlite3.c:66433:12: */ +func querySharedCacheTableLock(tls *libc.TLS, p uintptr, iTab Pgno, eLock U8) int32 { /* sqlite3.c:66443:12: */ var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt var pIter uintptr @@ -43541,7 +43551,7 @@ func querySharedCacheTableLock(tls *libc.TLS, p uintptr, iTab Pgno, eLock U8) in // // SQLITE_OK is returned if the lock is added successfully. SQLITE_NOMEM // is returned if a malloc attempt fails. -func setSharedCacheTableLock(tls *libc.TLS, p uintptr, iTable Pgno, eLock U8) int32 { /* sqlite3.c:66505:12: */ +func setSharedCacheTableLock(tls *libc.TLS, p uintptr, iTable Pgno, eLock U8) int32 { /* sqlite3.c:66515:12: */ var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt var pLock uintptr = uintptr(0) var pIter uintptr @@ -43592,7 +43602,7 @@ func setSharedCacheTableLock(tls *libc.TLS, p uintptr, iTable Pgno, eLock U8) in // This function assumes that Btree p has an open read or write // transaction. If it does not, then the BTS_PENDING flag // may be incorrectly cleared. -func clearAllSharedCacheTableLocks(tls *libc.TLS, p uintptr) { /* sqlite3.c:66569:13: */ +func clearAllSharedCacheTableLocks(tls *libc.TLS, p uintptr) { /* sqlite3.c:66579:13: */ var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt var ppIter uintptr = pBt + 120 @@ -43627,7 +43637,7 @@ func clearAllSharedCacheTableLocks(tls *libc.TLS, p uintptr) { /* sqlite3.c:6656 } // This function changes all write-locks held by Btree p into read-locks. -func downgradeAllSharedCacheTableLocks(tls *libc.TLS, p uintptr) { /* sqlite3.c:66613:13: */ +func downgradeAllSharedCacheTableLocks(tls *libc.TLS, p uintptr) { /* sqlite3.c:66623:13: */ var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt if (*BtShared)(unsafe.Pointer(pBt)).FpWriter == p { var pLock uintptr @@ -43651,7 +43661,7 @@ func downgradeAllSharedCacheTableLocks(tls *libc.TLS, p uintptr) { /* sqlite3.c: // Invalidate the overflow page-list cache for all cursors opened // on the shared btree structure pBt. -func invalidateAllOverflowCache(tls *libc.TLS, pBt uintptr) { /* sqlite3.c:66666:13: */ +func invalidateAllOverflowCache(tls *libc.TLS, pBt uintptr) { /* sqlite3.c:66676:13: */ var p uintptr for p = (*BtShared)(unsafe.Pointer(pBt)).FpCursor; p != 0; p = (*BtCursor)(unsafe.Pointer(p)).FpNext { @@ -43670,7 +43680,7 @@ func invalidateAllOverflowCache(tls *libc.TLS, pBt uintptr) { /* sqlite3.c:66666 // Otherwise, if argument isClearTable is false, then the row with // rowid iRow is being replaced or deleted. In this case invalidate // only those incrblob cursors open on that specific row. -func invalidateIncrblobCursors(tls *libc.TLS, pBtree uintptr, pgnoRoot Pgno, iRow I64, isClearTable int32) { /* sqlite3.c:66688:13: */ +func invalidateIncrblobCursors(tls *libc.TLS, pBtree uintptr, pgnoRoot Pgno, iRow I64, isClearTable int32) { /* sqlite3.c:66698:13: */ var p uintptr (*Btree)(unsafe.Pointer(pBtree)).FhasIncrblobCur = U8(0) @@ -43717,7 +43727,7 @@ func invalidateIncrblobCursors(tls *libc.TLS, pBtree uintptr, pgnoRoot Pgno, iRo // optimization 2 above is omitted if the corresponding bit is already // set in BtShared.pHasContent. The contents of the bitvec are cleared // at the end of every transaction. -func btreeSetHasContent(tls *libc.TLS, pBt uintptr, pgno Pgno) int32 { /* sqlite3.c:66748:12: */ +func btreeSetHasContent(tls *libc.TLS, pBt uintptr, pgno Pgno) int32 { /* sqlite3.c:66758:12: */ var rc int32 = SQLITE_OK if !(int32((*BtShared)(unsafe.Pointer(pBt)).FpHasContent) != 0) { @@ -43737,20 +43747,20 @@ func btreeSetHasContent(tls *libc.TLS, pBt uintptr, pgno Pgno) int32 { /* sqlite // This function is called when a free-list leaf page is removed from the // free-list for reuse. It returns false if it is safe to retrieve the // page from the pager layer with the 'no-content' flag set. True otherwise. -func btreeGetHasContent(tls *libc.TLS, pBt uintptr, pgno Pgno) int32 { /* sqlite3.c:66770:12: */ +func btreeGetHasContent(tls *libc.TLS, pBt uintptr, pgno Pgno) int32 { /* sqlite3.c:66780:12: */ var p uintptr = (*BtShared)(unsafe.Pointer(pBt)).FpHasContent return libc.Bool32(p != 0 && (pgno > Xsqlite3BitvecSize(tls, p) || Xsqlite3BitvecTestNotNull(tls, p, pgno) != 0)) } // Clear (destroy) the BtShared.pHasContent bitvec. This should be // invoked at the conclusion of each write-transaction. -func btreeClearHasContent(tls *libc.TLS, pBt uintptr) { /* sqlite3.c:66779:13: */ +func btreeClearHasContent(tls *libc.TLS, pBt uintptr) { /* sqlite3.c:66789:13: */ Xsqlite3BitvecDestroy(tls, (*BtShared)(unsafe.Pointer(pBt)).FpHasContent) (*BtShared)(unsafe.Pointer(pBt)).FpHasContent = uintptr(0) } // Release all of the apPage[] pages for a cursor. -func btreeReleaseAllCursorPages(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:66787:13: */ +func btreeReleaseAllCursorPages(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:66797:13: */ var i int32 if int32((*BtCursor)(unsafe.Pointer(pCur)).FiPage) >= 0 { for i = 0; i < int32((*BtCursor)(unsafe.Pointer(pCur)).FiPage); i++ { @@ -43772,7 +43782,7 @@ func btreeReleaseAllCursorPages(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:6678 // NULL. If the cursor is open on a non-intkey table, then pCur->pKey is // set to point to a malloced buffer pCur->nKey bytes in size containing // the key. -func saveCursorKey(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:66811:12: */ +func saveCursorKey(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:66821:12: */ var rc int32 = SQLITE_OK if (*BtCursor)(unsafe.Pointer(pCur)).FcurIntKey != 0 { @@ -43809,7 +43819,7 @@ func saveCursorKey(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:66811:12: * // // The caller must ensure that the cursor is valid (has eState==CURSOR_VALID) // prior to calling this routine. -func saveCursorPosition(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:66853:12: */ +func saveCursorPosition(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:66863:12: */ var rc int32 if int32((*BtCursor)(unsafe.Pointer(pCur)).FcurFlags)&BTCF_Pinned != 0 { @@ -43850,7 +43860,7 @@ func saveCursorPosition(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:66853: // Implementation note: This routine merely checks to see if any cursors // need to be saved. It calls out to saveCursorsOnList() in the (unusual) // event that cursors are in need to being saved. -func saveAllCursors(tls *libc.TLS, pBt uintptr, iRoot Pgno, pExcept uintptr) int32 { /* sqlite3.c:66903:12: */ +func saveAllCursors(tls *libc.TLS, pBt uintptr, iRoot Pgno, pExcept uintptr) int32 { /* sqlite3.c:66913:12: */ var p uintptr for p = (*BtShared)(unsafe.Pointer(pBt)).FpCursor; p != 0; p = (*BtCursor)(unsafe.Pointer(p)).FpNext { @@ -43871,7 +43881,7 @@ func saveAllCursors(tls *libc.TLS, pBt uintptr, iRoot Pgno, pExcept uintptr) int // the cursors if and when a cursor is found that actually requires saving. // The common case is that no cursors need to be saved, so this routine is // broken out from its caller to avoid unnecessary stack pointer movement. -func saveCursorsOnList(tls *libc.TLS, p uintptr, iRoot Pgno, pExcept uintptr) int32 { /* sqlite3.c:66920:28: */ +func saveCursorsOnList(tls *libc.TLS, p uintptr, iRoot Pgno, pExcept uintptr) int32 { /* sqlite3.c:66930:28: */ for __ccgo := true; __ccgo; __ccgo = p != 0 { if p != pExcept && (Pgno(0) == iRoot || (*BtCursor)(unsafe.Pointer(p)).FpgnoRoot == iRoot) { if int32((*BtCursor)(unsafe.Pointer(p)).FeState) == CURSOR_VALID || int32((*BtCursor)(unsafe.Pointer(p)).FeState) == CURSOR_SKIPNEXT { @@ -43890,7 +43900,7 @@ func saveCursorsOnList(tls *libc.TLS, p uintptr, iRoot Pgno, pExcept uintptr) in } // Clear the current cursor position. -func Xsqlite3BtreeClearCursor(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:66945:21: */ +func Xsqlite3BtreeClearCursor(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:66955:21: */ Xsqlite3_free(tls, (*BtCursor)(unsafe.Pointer(pCur)).FpKey) (*BtCursor)(unsafe.Pointer(pCur)).FpKey = uintptr(0) @@ -43900,7 +43910,7 @@ func Xsqlite3BtreeClearCursor(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:66945: // In this version of BtreeMoveto, pKey is a packed index record // such as is generated by the OP_MakeRecord opcode. Unpack the // record and then call BtreeMovetoUnpacked() to do the work. -func btreeMoveto(tls *libc.TLS, pCur uintptr, pKey uintptr, nKey I64, bias int32, pRes uintptr) int32 { /* sqlite3.c:66957:12: */ +func btreeMoveto(tls *libc.TLS, pCur uintptr, pKey uintptr, nKey I64, bias int32, pRes uintptr) int32 { /* sqlite3.c:66967:12: */ var rc int32 // Status code var pIdxKey uintptr // Unpacked index key @@ -43913,7 +43923,7 @@ func btreeMoveto(tls *libc.TLS, pCur uintptr, pKey uintptr, nKey I64, bias int32 } Xsqlite3VdbeRecordUnpack(tls, pKeyInfo, int32(nKey), pKey, pIdxKey) if int32((*UnpackedRecord)(unsafe.Pointer(pIdxKey)).FnField) == 0 || int32((*UnpackedRecord)(unsafe.Pointer(pIdxKey)).FnField) > int32((*KeyInfo)(unsafe.Pointer(pKeyInfo)).FnAllField) { - rc = Xsqlite3CorruptError(tls, 66974) + rc = Xsqlite3CorruptError(tls, 66984) } else { rc = Xsqlite3BtreeIndexMoveto(tls, pCur, pIdxKey, pRes) } @@ -43930,7 +43940,7 @@ func btreeMoveto(tls *libc.TLS, pCur uintptr, pKey uintptr, nKey I64, bias int32 // saved position info stored by saveCursorPosition(), so there can be // at most one effective restoreCursorPosition() call after each // saveCursorPosition(). -func btreeRestoreCursorPosition(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:66993:12: */ +func btreeRestoreCursorPosition(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:67003:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -43970,7 +43980,7 @@ func btreeRestoreCursorPosition(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3. // // Use the separate sqlite3BtreeCursorRestore() routine to restore a cursor // back to where it ought to be if this routine returns true. -func Xsqlite3BtreeCursorHasMoved(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:67036:20: */ +func Xsqlite3BtreeCursorHasMoved(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:67046:20: */ return libc.Bool32(CURSOR_VALID != int32(*(*U8)(unsafe.Pointer(pCur)))) } @@ -43978,12 +43988,12 @@ func Xsqlite3BtreeCursorHasMoved(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3 // Return a pointer to a fake BtCursor object that will always answer // false to the sqlite3BtreeCursorHasMoved() routine above. The fake // cursor returned must not be used with any other Btree interface. -func Xsqlite3BtreeFakeValidCursor(tls *libc.TLS) uintptr { /* sqlite3.c:67049:25: */ +func Xsqlite3BtreeFakeValidCursor(tls *libc.TLS) uintptr { /* sqlite3.c:67059:25: */ return uintptr(unsafe.Pointer(&fakeCursor)) } -var fakeCursor U8 = U8(CURSOR_VALID) /* sqlite3.c:67050:13 */ +var fakeCursor U8 = U8(CURSOR_VALID) /* sqlite3.c:67060:13 */ // This routine restores a cursor back to its original position after it // has been moved by some outside activity (such as a btree rebalance or @@ -43996,7 +44006,7 @@ var fakeCursor U8 = U8(CURSOR_VALID) /* sqlite3.c:67050:13 */ // // This routine should only be called for a cursor that just returned // TRUE from sqlite3BtreeCursorHasMoved(). -func Xsqlite3BtreeCursorRestore(tls *libc.TLS, pCur uintptr, pDifferentRow uintptr) int32 { /* sqlite3.c:67068:20: */ +func Xsqlite3BtreeCursorRestore(tls *libc.TLS, pCur uintptr, pDifferentRow uintptr) int32 { /* sqlite3.c:67078:20: */ var rc int32 rc = func() int32 { @@ -44018,7 +44028,7 @@ func Xsqlite3BtreeCursorRestore(tls *libc.TLS, pCur uintptr, pDifferentRow uintp } // Provide flag hints to the cursor. -func Xsqlite3BtreeCursorHintFlags(tls *libc.TLS, pCur uintptr, x uint32) { /* sqlite3.c:67100:21: */ +func Xsqlite3BtreeCursorHintFlags(tls *libc.TLS, pCur uintptr, x uint32) { /* sqlite3.c:67110:21: */ (*BtCursor)(unsafe.Pointer(pCur)).Fhints = U8(x) } @@ -44030,7 +44040,7 @@ func Xsqlite3BtreeCursorHintFlags(tls *libc.TLS, pCur uintptr, x uint32) { /* sq // Return 0 (not a valid page) for pgno==1 since there is // no pointer map associated with page 1. The integrity_check logic // requires that ptrmapPageno(*,1)!=1. -func ptrmapPageno(tls *libc.TLS, pBt uintptr, pgno Pgno) Pgno { /* sqlite3.c:67116:13: */ +func ptrmapPageno(tls *libc.TLS, pBt uintptr, pgno Pgno) Pgno { /* sqlite3.c:67126:13: */ var nPagesPerMapPage int32 var iPtrMap Pgno var ret Pgno @@ -44055,7 +44065,7 @@ func ptrmapPageno(tls *libc.TLS, pBt uintptr, pgno Pgno) Pgno { /* sqlite3.c:671 // If *pRC is initially non-zero (non-SQLITE_OK) then this routine is // a no-op. If an error occurs, the appropriate error code is written // into *pRC. -func ptrmapPut(tls *libc.TLS, pBt uintptr, key Pgno, eType U8, parent Pgno, pRC uintptr) { /* sqlite3.c:67140:13: */ +func ptrmapPut(tls *libc.TLS, pBt uintptr, key Pgno, eType U8, parent Pgno, pRC uintptr) { /* sqlite3.c:67150:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -44078,7 +44088,7 @@ __1: if !(key == Pgno(0)) { goto __2 } - *(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 67155) + *(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 67165) return __2: ; @@ -44097,7 +44107,7 @@ __3: // 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)) = Xsqlite3CorruptError(tls, 67168) + *(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 67178) goto ptrmap_exit __4: ; @@ -44105,7 +44115,7 @@ __4: if !(offset < 0) { goto __5 } - *(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 67173) + *(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 67183) goto ptrmap_exit __5: ; @@ -44136,7 +44146,7 @@ ptrmap_exit: // This routine retrieves the pointer map entry for page 'key', writing // the type and parent page number to *pEType and *pPgno respectively. // An error code is returned if something goes wrong, otherwise SQLITE_OK. -func ptrmapGet(tls *libc.TLS, pBt uintptr, key Pgno, pEType uintptr, pPgno uintptr) int32 { /* sqlite3.c:67199:12: */ +func ptrmapGet(tls *libc.TLS, pBt uintptr, key Pgno, pEType uintptr, pPgno uintptr) int32 { /* sqlite3.c:67209:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -44157,7 +44167,7 @@ func ptrmapGet(tls *libc.TLS, pBt uintptr, key Pgno, pEType uintptr, pPgno uintp offset = int32(Pgno(5) * (key - Pgno(iPtrmap) - Pgno(1))) if offset < 0 { Xsqlite3PagerUnref(tls, *(*uintptr)(unsafe.Pointer(bp /* pDbPage */))) - return Xsqlite3CorruptError(tls, 67218) + return Xsqlite3CorruptError(tls, 67228) } *(*U8)(unsafe.Pointer(pEType)) = *(*U8)(unsafe.Pointer(pPtrmap + uintptr(offset))) @@ -44167,7 +44177,7 @@ func ptrmapGet(tls *libc.TLS, pBt uintptr, key Pgno, pEType uintptr, pPgno uintp Xsqlite3PagerUnref(tls, *(*uintptr)(unsafe.Pointer(bp /* pDbPage */))) if int32(*(*U8)(unsafe.Pointer(pEType))) < 1 || int32(*(*U8)(unsafe.Pointer(pEType))) > 5 { - return Xsqlite3CorruptError(tls, 67226) + return Xsqlite3CorruptError(tls, 67236) } return SQLITE_OK } @@ -44185,7 +44195,7 @@ func ptrmapGet(tls *libc.TLS, pBt uintptr, key Pgno, pEType uintptr, pPgno uintp // btreeParseCellPtrIndex() for the case when the cell does not fit entirely // on a single B-tree page. Make necessary adjustments to the CellInfo // structure. -func btreeParseCellAdjustSizeForOverflow(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintptr) { /* sqlite3.c:67258:29: */ +func btreeParseCellAdjustSizeForOverflow(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintptr) { /* sqlite3.c:67268:29: */ // If the payload will not fit completely on the local page, we have // to decide how much to store locally and how much to spill onto // overflow pages. The strategy is to minimize the amount of unused @@ -44212,7 +44222,7 @@ func btreeParseCellAdjustSizeForOverflow(tls *libc.TLS, pPage uintptr, pCell uin // Given a record with nPayload bytes of payload stored within btree // page pPage, return the number of bytes of payload stored locally. -func btreePayloadToLocal(tls *libc.TLS, pPage uintptr, nPayload I64) int32 { /* sqlite3.c:67293:12: */ +func btreePayloadToLocal(tls *libc.TLS, pPage uintptr, nPayload I64) int32 { /* sqlite3.c:67303:12: */ var maxLocal int32 // Maximum amount of payload held locally maxLocal = int32((*MemPage)(unsafe.Pointer(pPage)).FmaxLocal) if nPayload <= I64(maxLocal) { @@ -44242,7 +44252,7 @@ func btreePayloadToLocal(tls *libc.TLS, pPage uintptr, nPayload I64) int32 { /* // There is also a wrapper function btreeParseCell() that works for // all MemPage types and that references the cell by index rather than // by pointer. -func btreeParseCellPtrNoPayload(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintptr) { /* sqlite3.c:67321:13: */ +func btreeParseCellPtrNoPayload(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintptr) { /* sqlite3.c:67331:13: */ _ = pPage (*CellInfo)(unsafe.Pointer(pInfo)).FnSize = U16(4 + int32(Xsqlite3GetVarint(tls, pCell+4, pInfo))) @@ -44252,7 +44262,7 @@ func btreeParseCellPtrNoPayload(tls *libc.TLS, pPage uintptr, pCell uintptr, pIn return } -func btreeParseCellPtr(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintptr) { /* sqlite3.c:67338:13: */ +func btreeParseCellPtr(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintptr) { /* sqlite3.c:67348:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -44329,7 +44339,7 @@ func btreeParseCellPtr(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintpt } } -func btreeParseCellPtrIndex(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintptr) { /* sqlite3.c:67420:13: */ +func btreeParseCellPtrIndex(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintptr) { /* sqlite3.c:67430:13: */ var pIter uintptr // For scanning through pCell var nPayload U32 // Number of bytes of cell payload @@ -44360,7 +44370,7 @@ func btreeParseCellPtrIndex(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo u } } -func btreeParseCell(tls *libc.TLS, pPage uintptr, iCell int32, pInfo uintptr) { /* sqlite3.c:67457:13: */ +func btreeParseCell(tls *libc.TLS, pPage uintptr, iCell int32, pInfo uintptr) { /* sqlite3.c:67467:13: */ (*struct { f func(*libc.TLS, uintptr, uintptr, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*MemPage)(unsafe.Pointer(pPage)).FxParseCell})).f(tls, pPage, (*MemPage)(unsafe.Pointer(pPage)).FaData+uintptr(int32((*MemPage)(unsafe.Pointer(pPage)).FmaskPage)&(int32(*(*U8)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPage)).FaCellIdx + uintptr(2*iCell))))<<8|int32(*(*U8)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPage)).FaCellIdx + uintptr(2*iCell) + 1))))), pInfo) @@ -44376,7 +44386,7 @@ func btreeParseCell(tls *libc.TLS, pPage uintptr, iCell int32, pInfo uintptr) { // // cellSizePtrNoPayload() => table internal nodes // cellSizePtr() => all index nodes & table leaf nodes -func cellSizePtr(tls *libc.TLS, pPage uintptr, pCell uintptr) U16 { /* sqlite3.c:67477:12: */ +func cellSizePtr(tls *libc.TLS, pPage uintptr, pCell uintptr) U16 { /* sqlite3.c:67487:12: */ var pIter uintptr = pCell + uintptr((*MemPage)(unsafe.Pointer(pPage)).FchildPtrSize) // For looping over bytes of pCell var pEnd uintptr // End mark for a varint var nSize U32 // Size value to return @@ -44417,7 +44427,7 @@ func cellSizePtr(tls *libc.TLS, pPage uintptr, pCell uintptr) U16 { /* sqlite3.c return U16(nSize) } -func cellSizePtrNoPayload(tls *libc.TLS, pPage uintptr, pCell uintptr) U16 { /* sqlite3.c:67525:12: */ +func cellSizePtrNoPayload(tls *libc.TLS, pPage uintptr, pCell uintptr) U16 { /* sqlite3.c:67535:12: */ var pIter uintptr = pCell + uintptr(4) // For looping over bytes of pCell var pEnd uintptr // End mark for a varint @@ -44434,7 +44444,7 @@ func cellSizePtrNoPayload(tls *libc.TLS, pPage uintptr, pCell uintptr) U16 { /* // of pPage. (pSrc and pPager are often the same.) If pCell contains a // pointer to an overflow page, insert an entry into the pointer-map for // the overflow page that will be valid after pCell has been moved to pPage. -func ptrmapPutOvflPtr(tls *libc.TLS, pPage uintptr, pSrc uintptr, pCell uintptr, pRC uintptr) { /* sqlite3.c:67563:13: */ +func ptrmapPutOvflPtr(tls *libc.TLS, pPage uintptr, pSrc uintptr, pCell uintptr, pRC uintptr) { /* sqlite3.c:67573:13: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -44451,7 +44461,7 @@ func ptrmapPutOvflPtr(tls *libc.TLS, pPage uintptr, pSrc uintptr, pCell uintptr, var ovfl Pgno if Uptr((*MemPage)(unsafe.Pointer(pSrc)).FaDataEnd) >= Uptr(pCell) && Uptr((*MemPage)(unsafe.Pointer(pSrc)).FaDataEnd) < Uptr(pCell+uintptr((*CellInfo)(unsafe.Pointer(bp)).FnLocal)) { - *(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 67572) + *(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 67582) return } ovfl = Xsqlite3Get4byte(tls, pCell+uintptr(int32((*CellInfo)(unsafe.Pointer(bp)).FnSize)-4)) @@ -44469,7 +44479,7 @@ func ptrmapPutOvflPtr(tls *libc.TLS, pPage uintptr, pSrc uintptr, pCell uintptr, // b-tree page so that there are no freeblocks or fragment bytes, all // unused bytes are contained in the unallocated space region, and all // cells are packed tightly at the end of the page. -func defragmentPage(tls *libc.TLS, pPage uintptr, nMaxFrag int32) int32 { /* sqlite3.c:67594:12: */ +func defragmentPage(tls *libc.TLS, pPage uintptr, nMaxFrag int32) int32 { /* sqlite3.c:67604:12: */ var i int32 // Loop counter var pc int32 // Address of the i-th cell var hdr int32 // Offset to the page header @@ -44514,7 +44524,7 @@ func defragmentPage(tls *libc.TLS, pPage uintptr, nMaxFrag int32) int32 { /* sql if !(iFree > usableSize-4) { goto __2 } - return Xsqlite3CorruptError(tls, 67631) + return Xsqlite3CorruptError(tls, 67641) __2: ; if !(iFree != 0) { @@ -44524,7 +44534,7 @@ __2: if !(iFree2 > usableSize-4) { goto __4 } - return Xsqlite3CorruptError(tls, 67634) + return Xsqlite3CorruptError(tls, 67644) __4: ; if !(0 == iFree2 || int32(*(*uint8)(unsafe.Pointer(data + uintptr(iFree2)))) == 0 && int32(*(*uint8)(unsafe.Pointer(data + uintptr(iFree2+1)))) == 0) { @@ -44537,7 +44547,7 @@ __4: if !(top >= iFree) { goto __6 } - return Xsqlite3CorruptError(tls, 67642) + return Xsqlite3CorruptError(tls, 67652) __6: ; if !(iFree2 != 0) { @@ -44546,14 +44556,14 @@ __6: if !(iFree+sz > iFree2) { goto __9 } - return Xsqlite3CorruptError(tls, 67645) + return Xsqlite3CorruptError(tls, 67655) __9: ; sz2 = int32(*(*uint8)(unsafe.Pointer(data + uintptr(iFree2+2))))<<8 | int32(*(*uint8)(unsafe.Pointer(data + uintptr(iFree2+2) + 1))) if !(iFree2+sz2 > usableSize) { goto __10 } - return Xsqlite3CorruptError(tls, 67647) + return Xsqlite3CorruptError(tls, 67657) __10: ; libc.Xmemmove(tls, data+uintptr(iFree+sz+sz2), data+uintptr(iFree+sz), uint64(iFree2-(iFree+sz))) @@ -44563,7 +44573,7 @@ __7: if !(iFree+sz > usableSize) { goto __11 } - return Xsqlite3CorruptError(tls, 67651) + return Xsqlite3CorruptError(tls, 67661) __11: ; __8: @@ -44625,7 +44635,7 @@ __18: if !(pc < iCellStart || pc > iCellLast) { goto __21 } - return Xsqlite3CorruptError(tls, 67680) + return Xsqlite3CorruptError(tls, 67690) __21: ; @@ -44636,7 +44646,7 @@ __21: if !(cbrk < iCellStart || pc+size > usableSize) { goto __22 } - return Xsqlite3CorruptError(tls, 67686) + return Xsqlite3CorruptError(tls, 67696) __22: ; @@ -44671,7 +44681,7 @@ defragment_out: if !(int32(*(*uint8)(unsafe.Pointer(data + uintptr(hdr+7))))+cbrk-iCellFirst != (*MemPage)(unsafe.Pointer(pPage)).FnFree) { goto __25 } - return Xsqlite3CorruptError(tls, 67705) + return Xsqlite3CorruptError(tls, 67715) __25: ; @@ -44696,7 +44706,7 @@ __25: // Slots on the free list that are between 1 and 3 bytes larger than nByte // will be ignored if adding the extra space to the fragmentation count // causes the fragmentation count to exceed 60. -func pageFindSlot(tls *libc.TLS, pPg uintptr, nByte int32, pRc uintptr) uintptr { /* sqlite3.c:67730:11: */ +func pageFindSlot(tls *libc.TLS, pPg uintptr, nByte int32, pRc uintptr) uintptr { /* sqlite3.c:67740:11: */ var hdr int32 = int32((*MemPage)(unsafe.Pointer(pPg)).FhdrOffset) // Offset to page header var aData uintptr = (*MemPage)(unsafe.Pointer(pPg)).FaData // Page data var iAddr int32 = hdr + 1 // Address of ptr to pc @@ -44725,7 +44735,7 @@ func pageFindSlot(tls *libc.TLS, pPg uintptr, nByte int32, pRc uintptr) uintptr *(*U8)(unsafe.Pointer(aData + uintptr(hdr+7))) += U8(int32(U8(x))) } else if x+pc > maxPC { // This slot extends off the end of the usable part of the page - *(*int32)(unsafe.Pointer(pRc)) = Xsqlite3CorruptError(tls, 67759) + *(*int32)(unsafe.Pointer(pRc)) = Xsqlite3CorruptError(tls, 67769) return uintptr(0) } else { // The slot remains on the free-list. Reduce its size to account @@ -44740,14 +44750,14 @@ func pageFindSlot(tls *libc.TLS, pPg uintptr, nByte int32, pRc uintptr) uintptr if pc <= iAddr+size { if pc != 0 { // The next slot in the chain is not past the end of the current slot - *(*int32)(unsafe.Pointer(pRc)) = Xsqlite3CorruptError(tls, 67773) + *(*int32)(unsafe.Pointer(pRc)) = Xsqlite3CorruptError(tls, 67783) } return uintptr(0) } } if pc > maxPC+nByte-4 { // The free slot chain extends off the end of the page - *(*int32)(unsafe.Pointer(pRc)) = Xsqlite3CorruptError(tls, 67780) + *(*int32)(unsafe.Pointer(pRc)) = Xsqlite3CorruptError(tls, 67790) } return uintptr(0) } @@ -44763,7 +44773,7 @@ func pageFindSlot(tls *libc.TLS, pPg uintptr, nByte int32, pRc uintptr) uintptr // the first two bytes past the cell pointer area since presumably this // allocation is being made in order to insert a new cell, so we will // also end up needing a new cell pointer. -func allocateSpace(tls *libc.TLS, pPage uintptr, nByte int32, pIdx uintptr) int32 { /* sqlite3.c:67798:12: */ +func allocateSpace(tls *libc.TLS, pPage uintptr, nByte int32, pIdx uintptr) int32 { /* sqlite3.c:67808:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -44788,7 +44798,7 @@ func allocateSpace(tls *libc.TLS, pPage uintptr, nByte int32, pIdx uintptr) int3 if top == 0 && (*BtShared)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize == U32(65536) { top = 65536 } else { - return Xsqlite3CorruptError(tls, 67827) + return Xsqlite3CorruptError(tls, 67837) } } @@ -44803,7 +44813,7 @@ func allocateSpace(tls *libc.TLS, pPage uintptr, nByte int32, pIdx uintptr) int3 *(*int32)(unsafe.Pointer(pIdx)) = libc.AssignInt32(&g2, int32((int64(pSpace)-int64(data))/1)) if g2 <= gap { - return Xsqlite3CorruptError(tls, 67845) + return Xsqlite3CorruptError(tls, 67855) } else { return SQLITE_OK } @@ -44854,7 +44864,7 @@ func allocateSpace(tls *libc.TLS, pPage uintptr, nByte int32, pIdx uintptr) int3 // does it detect cells or freeblocks that encrouch into the reserved bytes // at the end of the page. So do additional corruption checks inside this // routine and return SQLITE_CORRUPT if any problems are found. -func freeSpace(tls *libc.TLS, pPage uintptr, iStart U16, iSize U16) int32 { /* sqlite3.c:67894:12: */ +func freeSpace(tls *libc.TLS, pPage uintptr, iStart U16, iSize U16) int32 { /* sqlite3.c:67904:12: */ var iPtr U16 // Address of ptr to next freeblock var iFreeBlk U16 // Address of the next freeblock var hdr U8 // Page header size. 0 or 100 @@ -44878,12 +44888,12 @@ func freeSpace(tls *libc.TLS, pPage uintptr, iStart U16, iSize U16) int32 { /* s if int32(iFreeBlk) == 0 { break } // TH3: corrupt082.100 - return Xsqlite3CorruptError(tls, 67923) + return Xsqlite3CorruptError(tls, 67933) } iPtr = iFreeBlk } if U32(iFreeBlk) > (*BtShared)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize-U32(4) { // TH3: corrupt081.100 - return Xsqlite3CorruptError(tls, 67928) + return Xsqlite3CorruptError(tls, 67938) } // At this point: @@ -44894,11 +44904,11 @@ func freeSpace(tls *libc.TLS, pPage uintptr, iStart U16, iSize U16) int32 { /* s if iFreeBlk != 0 && iEnd+U32(3) >= U32(iFreeBlk) { nFrag = U8(U32(iFreeBlk) - iEnd) if iEnd > U32(iFreeBlk) { - return Xsqlite3CorruptError(tls, 67940) + return Xsqlite3CorruptError(tls, 67950) } iEnd = U32(int32(iFreeBlk) + (int32(*(*uint8)(unsafe.Pointer(data + uintptr(int32(iFreeBlk)+2))))<<8 | int32(*(*uint8)(unsafe.Pointer(data + uintptr(int32(iFreeBlk)+2) + 1))))) if iEnd > (*BtShared)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize { - return Xsqlite3CorruptError(tls, 67943) + return Xsqlite3CorruptError(tls, 67953) } iSize = U16(iEnd - U32(iStart)) iFreeBlk = U16(int32(*(*uint8)(unsafe.Pointer(data + uintptr(iFreeBlk))))<<8 | int32(*(*uint8)(unsafe.Pointer(data + uintptr(iFreeBlk) + 1)))) @@ -44911,7 +44921,7 @@ func freeSpace(tls *libc.TLS, pPage uintptr, iStart U16, iSize U16) int32 { /* s var iPtrEnd int32 = int32(iPtr) + (int32(*(*uint8)(unsafe.Pointer(data + uintptr(int32(iPtr)+2))))<<8 | int32(*(*uint8)(unsafe.Pointer(data + uintptr(int32(iPtr)+2) + 1)))) if iPtrEnd+3 >= int32(iStart) { if iPtrEnd > int32(iStart) { - return Xsqlite3CorruptError(tls, 67956) + return Xsqlite3CorruptError(tls, 67966) } nFrag = U8(int32(nFrag) + (int32(iStart) - iPtrEnd)) iSize = U16(iEnd - U32(iPtr)) @@ -44919,7 +44929,7 @@ func freeSpace(tls *libc.TLS, pPage uintptr, iStart U16, iSize U16) int32 { /* s } } if int32(nFrag) > int32(*(*uint8)(unsafe.Pointer(data + uintptr(int32(hdr)+7)))) { - return Xsqlite3CorruptError(tls, 67962) + return Xsqlite3CorruptError(tls, 67972) } *(*uint8)(unsafe.Pointer(data + uintptr(int32(hdr)+7))) -= uint8(int32(nFrag)) } @@ -44929,10 +44939,10 @@ func freeSpace(tls *libc.TLS, pPage uintptr, iStart U16, iSize U16) int32 { /* s // so just extend the cell content area rather than create another // freelist entry if int32(iStart) < int32(x) { - return Xsqlite3CorruptError(tls, 67970) + return Xsqlite3CorruptError(tls, 67980) } if int32(iPtr) != int32(hdr)+1 { - return Xsqlite3CorruptError(tls, 67971) + return Xsqlite3CorruptError(tls, 67981) } *(*uint8)(unsafe.Pointer(data + uintptr(int32(hdr)+1))) = U8(int32(iFreeBlk) >> 8) *(*uint8)(unsafe.Pointer(data + uintptr(int32(hdr)+1) + 1)) = U8(iFreeBlk) @@ -44966,7 +44976,7 @@ func freeSpace(tls *libc.TLS, pPage uintptr, iStart U16, iSize U16) int32 { /* s // PTF_ZERODATA | PTF_LEAF // PTF_LEAFDATA | PTF_INTKEY // PTF_LEAFDATA | PTF_INTKEY | PTF_LEAF -func decodeFlags(tls *libc.TLS, pPage uintptr, flagByte int32) int32 { /* sqlite3.c:68001:12: */ +func decodeFlags(tls *libc.TLS, pPage uintptr, flagByte int32) int32 { /* sqlite3.c:68011:12: */ var pBt uintptr // A copy of pPage->pBt (*MemPage)(unsafe.Pointer(pPage)).Fleaf = U8(flagByte >> 3) @@ -45017,7 +45027,7 @@ func decodeFlags(tls *libc.TLS, pPage uintptr, flagByte int32) int32 { /* sqlite } else { // EVIDENCE-OF: R-47608-56469 Any other value for the b-tree page type is // an error. - return Xsqlite3CorruptError(tls, 68044) + return Xsqlite3CorruptError(tls, 68054) } (*MemPage)(unsafe.Pointer(pPage)).Fmax1bytePayload = (*BtShared)(unsafe.Pointer(pBt)).Fmax1bytePayload return SQLITE_OK @@ -45025,7 +45035,7 @@ func decodeFlags(tls *libc.TLS, pPage uintptr, flagByte int32) int32 { /* sqlite // Compute the amount of freespace on the page. In other words, fill // in the pPage->nFree field. -func btreeComputeFreeSpace(tls *libc.TLS, pPage uintptr) int32 { /* sqlite3.c:68054:12: */ +func btreeComputeFreeSpace(tls *libc.TLS, pPage uintptr) int32 { /* sqlite3.c:68064:12: */ var pc int32 // Address of a freeblock within pPage->aData[] var hdr U8 // Offset to beginning of page header var data uintptr // Equal to pPage->aData @@ -45057,12 +45067,12 @@ func btreeComputeFreeSpace(tls *libc.TLS, pPage uintptr) int32 { /* sqlite3.c:68 if pc < top { // 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 Xsqlite3CorruptError(tls, 68095) + return Xsqlite3CorruptError(tls, 68105) } for 1 != 0 { if pc > iCellLast { // Freeblock off the end of the page - return Xsqlite3CorruptError(tls, 68100) + return Xsqlite3CorruptError(tls, 68110) } next = U32(int32(*(*U8)(unsafe.Pointer(data + uintptr(pc))))<<8 | int32(*(*U8)(unsafe.Pointer(data + uintptr(pc) + 1)))) size = U32(int32(*(*U8)(unsafe.Pointer(data + uintptr(pc+2))))<<8 | int32(*(*U8)(unsafe.Pointer(data + uintptr(pc+2) + 1)))) @@ -45074,11 +45084,11 @@ func btreeComputeFreeSpace(tls *libc.TLS, pPage uintptr) int32 { /* sqlite3.c:68 } if next > U32(0) { // Freeblock not in ascending order - return Xsqlite3CorruptError(tls, 68110) + return Xsqlite3CorruptError(tls, 68120) } if U32(pc)+size > uint32(usableSize) { // Last freeblock extends past page end - return Xsqlite3CorruptError(tls, 68114) + return Xsqlite3CorruptError(tls, 68124) } } @@ -45089,7 +45099,7 @@ func btreeComputeFreeSpace(tls *libc.TLS, pPage uintptr) int32 { /* sqlite3.c:68 // serves to verify that the offset to the start of the cell-content // area, according to the page header, lies within the page. if nFree > usableSize || nFree < iCellFirst { - return Xsqlite3CorruptError(tls, 68126) + return Xsqlite3CorruptError(tls, 68136) } (*MemPage)(unsafe.Pointer(pPage)).FnFree = int32(U16(nFree - iCellFirst)) return SQLITE_OK @@ -45097,7 +45107,7 @@ func btreeComputeFreeSpace(tls *libc.TLS, pPage uintptr) int32 { /* sqlite3.c:68 // Do additional sanity check after btreeInitPage() if // PRAGMA cell_size_check=ON -func btreeCellSizeCheck(tls *libc.TLS, pPage uintptr) int32 { /* sqlite3.c:68136:28: */ +func btreeCellSizeCheck(tls *libc.TLS, pPage uintptr) int32 { /* sqlite3.c:68146:28: */ var iCellFirst int32 // First allowable cell or freeblock offset var iCellLast int32 // Last possible cell or freeblock offset var i int32 // Index into the cell pointer array @@ -45119,14 +45129,14 @@ func btreeCellSizeCheck(tls *libc.TLS, pPage uintptr) int32 { /* sqlite3.c:68136 pc = int32(*(*U8)(unsafe.Pointer(data + uintptr(cellOffset+i*2))))<<8 | int32(*(*U8)(unsafe.Pointer(data + uintptr(cellOffset+i*2) + 1))) if pc < iCellFirst || pc > iCellLast { - return Xsqlite3CorruptError(tls, 68157) + return Xsqlite3CorruptError(tls, 68167) } sz = int32((*struct { f func(*libc.TLS, uintptr, uintptr) U16 })(unsafe.Pointer(&struct{ uintptr }{(*MemPage)(unsafe.Pointer(pPage)).FxCellSize})).f(tls, pPage, data+uintptr(pc))) if pc+sz > usableSize { - return Xsqlite3CorruptError(tls, 68162) + return Xsqlite3CorruptError(tls, 68172) } } return SQLITE_OK @@ -45139,7 +45149,7 @@ func btreeCellSizeCheck(tls *libc.TLS, pPage uintptr) int32 { /* sqlite3.c:68136 // SQLITE_CORRUPT. Note that a return of SQLITE_OK does not // guarantee that the page is well-formed. It only shows that // we failed to detect any corruption. -func btreeInitPage(tls *libc.TLS, pPage uintptr) int32 { /* sqlite3.c:68177:12: */ +func btreeInitPage(tls *libc.TLS, pPage uintptr) int32 { /* sqlite3.c:68187:12: */ var data uintptr // Equal to pPage->aData var pBt uintptr // The main btree structure @@ -45148,7 +45158,7 @@ func btreeInitPage(tls *libc.TLS, pPage uintptr) int32 { /* sqlite3.c:68177:12: // EVIDENCE-OF: R-28594-02890 The one-byte flag at offset 0 indicating // the b-tree page type. if decodeFlags(tls, pPage, int32(*(*U8)(unsafe.Pointer(data)))) != 0 { - return Xsqlite3CorruptError(tls, 68194) + return Xsqlite3CorruptError(tls, 68204) } (*MemPage)(unsafe.Pointer(pPage)).FmaskPage = U16((*BtShared)(unsafe.Pointer(pBt)).FpageSize - U32(1)) @@ -45162,7 +45172,7 @@ func btreeInitPage(tls *libc.TLS, pPage uintptr) int32 { /* sqlite3.c:68177:12: (*MemPage)(unsafe.Pointer(pPage)).FnCell = U16(int32(*(*U8)(unsafe.Pointer(data + 3)))<<8 | int32(*(*U8)(unsafe.Pointer(data + 3 + 1)))) if U32((*MemPage)(unsafe.Pointer(pPage)).FnCell) > ((*BtShared)(unsafe.Pointer(pBt)).FpageSize-U32(8))/U32(6) { // To many cells for a single page. The page must be corrupt - return Xsqlite3CorruptError(tls, 68208) + return Xsqlite3CorruptError(tls, 68218) } // EVIDENCE-OF: R-24089-57979 If a page contains no cells (which is only @@ -45180,7 +45190,7 @@ func btreeInitPage(tls *libc.TLS, pPage uintptr) int32 { /* sqlite3.c:68177:12: // Set up a raw page so that it looks like a database page holding // no entries. -func zeroPage(tls *libc.TLS, pPage uintptr, flags int32) { /* sqlite3.c:68230:13: */ +func zeroPage(tls *libc.TLS, pPage uintptr, flags int32) { /* sqlite3.c:68240:13: */ var data uintptr = (*MemPage)(unsafe.Pointer(pPage)).FaData var pBt uintptr = (*MemPage)(unsafe.Pointer(pPage)).FpBt var hdr U8 = (*MemPage)(unsafe.Pointer(pPage)).FhdrOffset @@ -45215,7 +45225,7 @@ func zeroPage(tls *libc.TLS, pPage uintptr, flags int32) { /* sqlite3.c:68230:13 // Convert a DbPage obtained from the pager into a MemPage used by // the btree layer. -func btreePageFromDbPage(tls *libc.TLS, pDbPage uintptr, pgno Pgno, pBt uintptr) uintptr { /* sqlite3.c:68267:16: */ +func btreePageFromDbPage(tls *libc.TLS, pDbPage uintptr, pgno Pgno, pBt uintptr) uintptr { /* sqlite3.c:68277:16: */ var pPage uintptr = Xsqlite3PagerGetExtra(tls, pDbPage) if pgno != (*MemPage)(unsafe.Pointer(pPage)).Fpgno { (*MemPage)(unsafe.Pointer(pPage)).FaData = Xsqlite3PagerGetData(tls, pDbPage) @@ -45242,7 +45252,7 @@ func btreePageFromDbPage(tls *libc.TLS, pDbPage uintptr, pgno Pgno, pBt uintptr) // If in the future we call sqlite3PagerWrite() on this page, that // means we have started to be concerned about content and the disk // read should occur at that point. -func btreeGetPage(tls *libc.TLS, pBt uintptr, pgno Pgno, ppPage uintptr, flags int32) int32 { /* sqlite3.c:68291:12: */ +func btreeGetPage(tls *libc.TLS, pBt uintptr, pgno Pgno, ppPage uintptr, flags int32) int32 { /* sqlite3.c:68301:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -45260,7 +45270,7 @@ func btreeGetPage(tls *libc.TLS, pBt uintptr, pgno Pgno, ppPage uintptr, flags i // Retrieve a page from the pager cache. If the requested page is not // already in the pager cache return NULL. Initialize the MemPage.pBt and // MemPage.aData elements if needed. -func btreePageLookup(tls *libc.TLS, pBt uintptr, pgno Pgno) uintptr { /* sqlite3.c:68313:16: */ +func btreePageLookup(tls *libc.TLS, pBt uintptr, pgno Pgno) uintptr { /* sqlite3.c:68323:16: */ var pDbPage uintptr pDbPage = Xsqlite3PagerLookup(tls, (*BtShared)(unsafe.Pointer(pBt)).FpPager, pgno) @@ -45272,11 +45282,11 @@ func btreePageLookup(tls *libc.TLS, pBt uintptr, pgno Pgno) uintptr { /* sqlite3 // Return the size of the database file in pages. If there is any kind of // error, return ((unsigned int)-1). -func btreePagecount(tls *libc.TLS, pBt uintptr) Pgno { /* sqlite3.c:68327:13: */ +func btreePagecount(tls *libc.TLS, pBt uintptr) Pgno { /* sqlite3.c:68337:13: */ return (*BtShared)(unsafe.Pointer(pBt)).FnPage } -func Xsqlite3BtreeLastPage(tls *libc.TLS, p uintptr) Pgno { /* sqlite3.c:68330:21: */ +func Xsqlite3BtreeLastPage(tls *libc.TLS, p uintptr) Pgno { /* sqlite3.c:68340:21: */ return btreePagecount(tls, (*Btree)(unsafe.Pointer(p)).FpBt) } @@ -45292,7 +45302,7 @@ func Xsqlite3BtreeLastPage(tls *libc.TLS, p uintptr) Pgno { /* sqlite3.c:68330:2 // // If an error occurs, then *ppPage is undefined. It // may remain unchanged, or it may be set to an invalid value. -func getAndInitPage(tls *libc.TLS, pBt uintptr, pgno Pgno, ppPage uintptr, pCur uintptr, bReadOnly int32) int32 { /* sqlite3.c:68348:12: */ +func getAndInitPage(tls *libc.TLS, pBt uintptr, pgno Pgno, ppPage uintptr, pCur uintptr, bReadOnly int32) int32 { /* sqlite3.c:68358:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -45302,7 +45312,7 @@ func getAndInitPage(tls *libc.TLS, pBt uintptr, pgno Pgno, ppPage uintptr, pCur if !(pgno > btreePagecount(tls, pBt)) { goto __1 } - rc = Xsqlite3CorruptError(tls, 68363) + rc = Xsqlite3CorruptError(tls, 68373) goto getAndInitPage_error1 __1: ; @@ -45333,7 +45343,7 @@ __3: if !(pCur != 0 && (int32((*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(ppPage)))).FnCell) < 1 || int32((*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(ppPage)))).FintKey) != int32((*BtCursor)(unsafe.Pointer(pCur)).FcurIntKey))) { goto __5 } - rc = Xsqlite3CorruptError(tls, 68384) + rc = Xsqlite3CorruptError(tls, 68394) goto getAndInitPage_error2 __5: ; @@ -45357,18 +45367,18 @@ __6: // call to btreeGetPage. // // Page1 is a special case and must be released using releasePageOne(). -func releasePageNotNull(tls *libc.TLS, pPage uintptr) { /* sqlite3.c:68407:13: */ +func releasePageNotNull(tls *libc.TLS, pPage uintptr) { /* sqlite3.c:68417:13: */ Xsqlite3PagerUnrefNotNull(tls, (*MemPage)(unsafe.Pointer(pPage)).FpDbPage) } -func releasePage(tls *libc.TLS, pPage uintptr) { /* sqlite3.c:68416:13: */ +func releasePage(tls *libc.TLS, pPage uintptr) { /* sqlite3.c:68426:13: */ if pPage != 0 { releasePageNotNull(tls, pPage) } } -func releasePageOne(tls *libc.TLS, pPage uintptr) { /* sqlite3.c:68419:13: */ +func releasePageOne(tls *libc.TLS, pPage uintptr) { /* sqlite3.c:68429:13: */ Xsqlite3PagerUnrefPageOne(tls, (*MemPage)(unsafe.Pointer(pPage)).FpDbPage) } @@ -45380,13 +45390,13 @@ func releasePageOne(tls *libc.TLS, pPage uintptr) { /* sqlite3.c:68419:13: */ // * If the page is already in use for some other purpose, immediately // release it and return an SQLITE_CURRUPT error. // * Make sure the isInit flag is clear -func btreeGetUnusedPage(tls *libc.TLS, pBt uintptr, pgno Pgno, ppPage uintptr, flags int32) int32 { /* sqlite3.c:68439:12: */ +func btreeGetUnusedPage(tls *libc.TLS, pBt uintptr, pgno Pgno, ppPage uintptr, flags int32) int32 { /* sqlite3.c:68449:12: */ var rc int32 = btreeGetPage(tls, pBt, pgno, ppPage, flags) if rc == SQLITE_OK { if Xsqlite3PagerPageRefcount(tls, (*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(ppPage)))).FpDbPage) > 1 { releasePage(tls, *(*uintptr)(unsafe.Pointer(ppPage))) *(*uintptr)(unsafe.Pointer(ppPage)) = uintptr(0) - return Xsqlite3CorruptError(tls, 68450) + return Xsqlite3CorruptError(tls, 68460) } (*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(ppPage)))).FisInit = U8(0) } else { @@ -45401,7 +45411,7 @@ func btreeGetUnusedPage(tls *libc.TLS, pBt uintptr, pgno Pgno, ppPage uintptr, f // // This routine needs to reset the extra data section at the end of the // page to agree with the restored data. -func pageReinit(tls *libc.TLS, pData uintptr) { /* sqlite3.c:68468:13: */ +func pageReinit(tls *libc.TLS, pData uintptr) { /* sqlite3.c:68478:13: */ var pPage uintptr pPage = Xsqlite3PagerGetExtra(tls, pData) @@ -45421,7 +45431,7 @@ func pageReinit(tls *libc.TLS, pData uintptr) { /* sqlite3.c:68468:13: */ } // Invoke the busy handler for a btree. -func btreeInvokeBusyHandler(tls *libc.TLS, pArg uintptr) int32 { /* sqlite3.c:68490:12: */ +func btreeInvokeBusyHandler(tls *libc.TLS, pArg uintptr) int32 { /* sqlite3.c:68500:12: */ var pBt uintptr = pArg return Xsqlite3InvokeBusyHandler(tls, (*BtShared)(unsafe.Pointer(pBt)).Fdb+664) @@ -45446,7 +45456,7 @@ func btreeInvokeBusyHandler(tls *libc.TLS, pArg uintptr) int32 { /* sqlite3.c:68 // SQLITE_CONSTRAINT error. We cannot allow two or more BtShared // objects in the same database connection since doing so will lead // to problems with locking. -func Xsqlite3BtreeOpen(tls *libc.TLS, pVfs uintptr, zFilename uintptr, db uintptr, ppBtree uintptr, flags int32, vfsFlags int32) int32 { /* sqlite3.c:68518:20: */ +func Xsqlite3BtreeOpen(tls *libc.TLS, pVfs uintptr, zFilename uintptr, db uintptr, ppBtree uintptr, flags int32, vfsFlags int32) int32 { /* sqlite3.c:68528:20: */ bp := tls.Alloc(100) defer tls.Free(100) @@ -45867,7 +45877,7 @@ __49: // remove the BtShared structure from the sharing list. Return // true if the BtShared.nRef counter reaches zero and return // false if it is still positive. -func removeFromSharingList(tls *libc.TLS, pBt uintptr) int32 { /* sqlite3.c:68816:12: */ +func removeFromSharingList(tls *libc.TLS, pBt uintptr) int32 { /* sqlite3.c:68826:12: */ var pMainMtx uintptr var pList uintptr var removed int32 = 0 @@ -45899,7 +45909,7 @@ func removeFromSharingList(tls *libc.TLS, pBt uintptr) int32 { /* sqlite3.c:6881 // Make sure pBt->pTmpSpace points to an allocation of // MX_CELL_SIZE(pBt) bytes with a 4-byte prefix for a left-child // pointer. -func allocateTempSpace(tls *libc.TLS, pBt uintptr) int32 { /* sqlite3.c:68855:28: */ +func allocateTempSpace(tls *libc.TLS, pBt uintptr) int32 { /* sqlite3.c:68865:28: */ // This routine is called only by btreeCursor() when allocating the // first write cursor for the BtShared object @@ -45932,7 +45942,7 @@ func allocateTempSpace(tls *libc.TLS, pBt uintptr) int32 { /* sqlite3.c:68855:28 } // Free the pBt->pTmpSpace allocation -func freeTempSpace(tls *libc.TLS, pBt uintptr) { /* sqlite3.c:68892:13: */ +func freeTempSpace(tls *libc.TLS, pBt uintptr) { /* sqlite3.c:68902:13: */ if (*BtShared)(unsafe.Pointer(pBt)).FpTmpSpace != 0 { *(*uintptr)(unsafe.Pointer(pBt + 136)) -= uintptr(4) Xsqlite3PageFree(tls, (*BtShared)(unsafe.Pointer(pBt)).FpTmpSpace) @@ -45941,7 +45951,7 @@ func freeTempSpace(tls *libc.TLS, pBt uintptr) { /* sqlite3.c:68892:13: */ } // Close an open database and invalidate all cursors. -func Xsqlite3BtreeClose(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:68903:20: */ +func Xsqlite3BtreeClose(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:68913:20: */ var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt // Close all cursors opened via this handle. @@ -45991,7 +46001,7 @@ func Xsqlite3BtreeClose(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:68903:20: // pages in the cache exceeds this soft limit. But the size of the // cache is allowed to grow larger than this limit if it contains // dirty pages or pages still in active use. -func Xsqlite3BtreeSetCacheSize(tls *libc.TLS, p uintptr, mxPage int32) int32 { /* sqlite3.c:68969:20: */ +func Xsqlite3BtreeSetCacheSize(tls *libc.TLS, p uintptr, mxPage int32) int32 { /* sqlite3.c:68979:20: */ var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt Xsqlite3BtreeEnter(tls, p) @@ -46008,7 +46018,7 @@ func Xsqlite3BtreeSetCacheSize(tls *libc.TLS, p uintptr, mxPage int32) int32 { / // The value returned is the current spill size. If zero is passed // as an argument, no changes are made to the spill size setting, so // using mxPage of 0 is a way to query the current spill size. -func Xsqlite3BtreeSetSpillSize(tls *libc.TLS, p uintptr, mxPage int32) int32 { /* sqlite3.c:68988:20: */ +func Xsqlite3BtreeSetSpillSize(tls *libc.TLS, p uintptr, mxPage int32) int32 { /* sqlite3.c:68998:20: */ var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt var res int32 @@ -46020,7 +46030,7 @@ func Xsqlite3BtreeSetSpillSize(tls *libc.TLS, p uintptr, mxPage int32) int32 { / // Change the limit on the amount of the database file that may be // memory mapped. -func Xsqlite3BtreeSetMmapLimit(tls *libc.TLS, p uintptr, szMmap Sqlite3_int64) int32 { /* sqlite3.c:69003:20: */ +func Xsqlite3BtreeSetMmapLimit(tls *libc.TLS, p uintptr, szMmap Sqlite3_int64) int32 { /* sqlite3.c:69013:20: */ var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt Xsqlite3BtreeEnter(tls, p) @@ -46035,7 +46045,7 @@ func Xsqlite3BtreeSetMmapLimit(tls *libc.TLS, p uintptr, szMmap Sqlite3_int64) i // there is a high probability of damage) Level 2 is the default. There // is a very low but non-zero probability of damage. Level 3 reduces the // probability of damage to near zero but with a write performance reduction. -func Xsqlite3BtreeSetPagerFlags(tls *libc.TLS, p uintptr, pgFlags uint32) int32 { /* sqlite3.c:69022:20: */ +func Xsqlite3BtreeSetPagerFlags(tls *libc.TLS, p uintptr, pgFlags uint32) int32 { /* sqlite3.c:69032:20: */ var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt Xsqlite3BtreeEnter(tls, p) @@ -46062,7 +46072,7 @@ func Xsqlite3BtreeSetPagerFlags(tls *libc.TLS, p uintptr, pgFlags uint32) int32 // // If the iFix!=0 then the BTS_PAGESIZE_FIXED flag is set so that the page size // and autovacuum mode can no longer be changed. -func Xsqlite3BtreeSetPageSize(tls *libc.TLS, p uintptr, pageSize int32, nReserve int32, iFix int32) int32 { /* sqlite3.c:69055:20: */ +func Xsqlite3BtreeSetPageSize(tls *libc.TLS, p uintptr, pageSize int32, nReserve int32, iFix int32) int32 { /* sqlite3.c:69065:20: */ var rc int32 = SQLITE_OK var x int32 var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt @@ -46096,7 +46106,7 @@ func Xsqlite3BtreeSetPageSize(tls *libc.TLS, p uintptr, pageSize int32, nReserve } // Return the currently defined page size -func Xsqlite3BtreeGetPageSize(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:69087:20: */ +func Xsqlite3BtreeGetPageSize(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:69097:20: */ return int32((*BtShared)(unsafe.Pointer((*Btree)(unsafe.Pointer(p)).FpBt)).FpageSize) } @@ -46109,7 +46119,7 @@ func Xsqlite3BtreeGetPageSize(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:690 // database handle that owns *p is not. In this case if sqlite3BtreeEnter() // were to be called, it might collide with some other operation on the // database handle that owns *p, causing undefined behavior. -func Xsqlite3BtreeGetReserveNoMutex(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:69102:20: */ +func Xsqlite3BtreeGetReserveNoMutex(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:69112:20: */ var n int32 n = int32((*BtShared)(unsafe.Pointer((*Btree)(unsafe.Pointer(p)).FpBt)).FpageSize - (*BtShared)(unsafe.Pointer((*Btree)(unsafe.Pointer(p)).FpBt)).FusableSize) @@ -46123,7 +46133,7 @@ func Xsqlite3BtreeGetReserveNoMutex(tls *libc.TLS, p uintptr) int32 { /* sqlite3 // The value returned is the larger of the current reserve size and // the latest reserve size requested by SQLITE_FILECTRL_RESERVE_BYTES. // The amount of reserve can only grow - never shrink. -func Xsqlite3BtreeGetRequestedReserve(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:69118:20: */ +func Xsqlite3BtreeGetRequestedReserve(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:69128:20: */ var n1 int32 var n2 int32 Xsqlite3BtreeEnter(tls, p) @@ -46139,7 +46149,7 @@ func Xsqlite3BtreeGetRequestedReserve(tls *libc.TLS, p uintptr) int32 { /* sqlit // Set the maximum page count for a database if mxPage is positive. // No changes are made if mxPage is 0 or negative. // Regardless of the value of mxPage, return the maximum page count. -func Xsqlite3BtreeMaxPageCount(tls *libc.TLS, p uintptr, mxPage Pgno) Pgno { /* sqlite3.c:69133:21: */ +func Xsqlite3BtreeMaxPageCount(tls *libc.TLS, p uintptr, mxPage Pgno) Pgno { /* sqlite3.c:69143:21: */ var n Pgno Xsqlite3BtreeEnter(tls, p) n = Xsqlite3PagerMaxPageCount(tls, (*BtShared)(unsafe.Pointer((*Btree)(unsafe.Pointer(p)).FpBt)).FpPager, mxPage) @@ -46163,7 +46173,7 @@ func Xsqlite3BtreeMaxPageCount(tls *libc.TLS, p uintptr, mxPage Pgno) Pgno { /* // With BTS_SECURE_DELETE, operation is like BTS_OVERWRITE with the addition // that freelist leaf pages are written back into the database, increasing // the amount of disk I/O. -func Xsqlite3BtreeSecureDelete(tls *libc.TLS, p uintptr, newFlag int32) int32 { /* sqlite3.c:69159:20: */ +func Xsqlite3BtreeSecureDelete(tls *libc.TLS, p uintptr, newFlag int32) int32 { /* sqlite3.c:69169:20: */ var b int32 if p == uintptr(0) { return 0 @@ -46183,7 +46193,7 @@ func Xsqlite3BtreeSecureDelete(tls *libc.TLS, p uintptr, newFlag int32) int32 { // parameter is non-zero, then auto-vacuum mode is enabled. If zero, it // is disabled. The default value for the auto-vacuum property is // determined by the SQLITE_DEFAULT_AUTOVACUUM macro. -func Xsqlite3BtreeSetAutoVacuum(tls *libc.TLS, p uintptr, autoVacuum int32) int32 { /* sqlite3.c:69180:20: */ +func Xsqlite3BtreeSetAutoVacuum(tls *libc.TLS, p uintptr, autoVacuum int32) int32 { /* sqlite3.c:69190:20: */ var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt var rc int32 = SQLITE_OK var av U8 = U8(autoVacuum) @@ -46216,7 +46226,7 @@ func Xsqlite3BtreeSetAutoVacuum(tls *libc.TLS, p uintptr, autoVacuum int32) int3 // Return the value of the 'auto-vacuum' property. If auto-vacuum is // enabled 1 is returned. Otherwise 0. -func Xsqlite3BtreeGetAutoVacuum(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:69204:20: */ +func Xsqlite3BtreeGetAutoVacuum(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:69214:20: */ var rc int32 Xsqlite3BtreeEnter(tls, p) rc = func() int32 { @@ -46241,7 +46251,7 @@ func Xsqlite3BtreeGetAutoVacuum(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:6 // well-formed database file, then SQLITE_CORRUPT is returned. // SQLITE_BUSY is returned if the database is locked. SQLITE_NOMEM // is returned if we run out of memory. -func lockBtree(tls *libc.TLS, pBt uintptr) int32 { /* sqlite3.c:69260:12: */ +func lockBtree(tls *libc.TLS, pBt uintptr) int32 { /* sqlite3.c:69270:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -46410,7 +46420,7 @@ __16: if !(Xsqlite3WritableSchema(tls, (*BtShared)(unsafe.Pointer(pBt)).Fdb) == 0) { goto __18 } - rc = Xsqlite3CorruptError(tls, 69385) + rc = Xsqlite3CorruptError(tls, 69395) goto page1_init_failed goto __19 __18: @@ -46487,7 +46497,7 @@ page1_init_failed: // has the effect of releasing the read lock. // // If there is a transaction in progress, this routine is a no-op. -func unlockBtreeIfUnused(tls *libc.TLS, pBt uintptr) { /* sqlite3.c:69470:13: */ +func unlockBtreeIfUnused(tls *libc.TLS, pBt uintptr) { /* sqlite3.c:69480:13: */ if int32((*BtShared)(unsafe.Pointer(pBt)).FinTransaction) == TRANS_NONE && (*BtShared)(unsafe.Pointer(pBt)).FpPage1 != uintptr(0) { var pPage1 uintptr = (*BtShared)(unsafe.Pointer(pBt)).FpPage1 @@ -46500,7 +46510,7 @@ func unlockBtreeIfUnused(tls *libc.TLS, pBt uintptr) { /* sqlite3.c:69470:13: */ // If pBt points to an empty file then convert that empty file // into a new empty database by initializing the first page of // the database. -func newDatabase(tls *libc.TLS, pBt uintptr) int32 { /* sqlite3.c:69487:12: */ +func newDatabase(tls *libc.TLS, pBt uintptr) int32 { /* sqlite3.c:69497:12: */ var pP1 uintptr var data uintptr var rc int32 @@ -46540,7 +46550,7 @@ func newDatabase(tls *libc.TLS, pBt uintptr) int32 { /* sqlite3.c:69487:12: */ // Initialize the first page of the database file (creating a database // consisting of a single page and no schema objects). Return SQLITE_OK // if successful, or an SQLite error code otherwise. -func Xsqlite3BtreeNewDb(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:69531:20: */ +func Xsqlite3BtreeNewDb(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:69541:20: */ var rc int32 Xsqlite3BtreeEnter(tls, p) (*BtShared)(unsafe.Pointer((*Btree)(unsafe.Pointer(p)).FpBt)).FnPage = U32(0) @@ -46582,7 +46592,7 @@ func Xsqlite3BtreeNewDb(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:69531:20: // no progress. By returning SQLITE_BUSY and not invoking the busy callback // when A already has a read lock, we encourage A to give up and let B // proceed. -func Xsqlite3BtreeBeginTrans(tls *libc.TLS, p uintptr, wrflag int32, pSchemaVersion uintptr) int32 { /* sqlite3.c:69575:20: */ +func Xsqlite3BtreeBeginTrans(tls *libc.TLS, p uintptr, wrflag int32, pSchemaVersion uintptr) int32 { /* sqlite3.c:69585:20: */ var pBt uintptr var pPager uintptr var rc int32 @@ -46846,7 +46856,7 @@ __34: // Set the pointer-map entries for all children of page pPage. Also, if // pPage contains cells that point to overflow pages, set the pointer // map entries for the overflow pages as well. -func setChildPtrmaps(tls *libc.TLS, pPage uintptr) int32 { /* sqlite3.c:69755:12: */ +func setChildPtrmaps(tls *libc.TLS, pPage uintptr) int32 { /* sqlite3.c:69765:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -46898,14 +46908,14 @@ func setChildPtrmaps(tls *libc.TLS, pPage uintptr) int32 { /* sqlite3.c:69755:12 // // PTRMAP_OVERFLOW2: pPage is an overflow-page. The pointer points at the next // overflow page in the list. -func modifyPagePointer(tls *libc.TLS, pPage uintptr, iFrom Pgno, iTo Pgno, eType U8) int32 { /* sqlite3.c:69800:12: */ +func modifyPagePointer(tls *libc.TLS, pPage uintptr, iFrom Pgno, iTo Pgno, eType U8) int32 { /* sqlite3.c:69810:12: */ bp := tls.Alloc(24) defer tls.Free(24) if int32(eType) == PTRMAP_OVERFLOW2 { // The pointer is always the first 4 bytes of the page in this case. if Xsqlite3Get4byte(tls, (*MemPage)(unsafe.Pointer(pPage)).FaData) != iFrom { - return Xsqlite3CorruptError(tls, 69806) + return Xsqlite3CorruptError(tls, 69816) } Xsqlite3Put4byte(tls, (*MemPage)(unsafe.Pointer(pPage)).FaData, iTo) } else { @@ -46933,7 +46943,7 @@ func modifyPagePointer(tls *libc.TLS, pPage uintptr, iFrom Pgno, iTo Pgno, eType })(unsafe.Pointer(&struct{ uintptr }{(*MemPage)(unsafe.Pointer(pPage)).FxParseCell})).f(tls, pPage, pCell, bp /* &info */) if U32((*CellInfo)(unsafe.Pointer(bp)).FnLocal) < (*CellInfo)(unsafe.Pointer(bp)).FnPayload { if pCell+uintptr((*CellInfo)(unsafe.Pointer(bp)).FnSize) > (*MemPage)(unsafe.Pointer(pPage)).FaData+uintptr((*BtShared)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize) { - return Xsqlite3CorruptError(tls, 69825) + return Xsqlite3CorruptError(tls, 69835) } if iFrom == Xsqlite3Get4byte(tls, pCell+uintptr((*CellInfo)(unsafe.Pointer(bp)).FnSize)-uintptr(4)) { Xsqlite3Put4byte(tls, pCell+uintptr((*CellInfo)(unsafe.Pointer(bp)).FnSize)-uintptr(4), iTo) @@ -46950,7 +46960,7 @@ func modifyPagePointer(tls *libc.TLS, pPage uintptr, iFrom Pgno, iTo Pgno, eType if i == nCell { if int32(eType) != PTRMAP_BTREE || Xsqlite3Get4byte(tls, (*MemPage)(unsafe.Pointer(pPage)).FaData+uintptr(int32((*MemPage)(unsafe.Pointer(pPage)).FhdrOffset)+8)) != iFrom { - return Xsqlite3CorruptError(tls, 69843) + return Xsqlite3CorruptError(tls, 69853) } Xsqlite3Put4byte(tls, (*MemPage)(unsafe.Pointer(pPage)).FaData+uintptr(int32((*MemPage)(unsafe.Pointer(pPage)).FhdrOffset)+8), iTo) } @@ -46965,7 +46975,7 @@ func modifyPagePointer(tls *libc.TLS, pPage uintptr, iFrom Pgno, iTo Pgno, eType // the journal needs to be sync()ed before database page pDbPage->pgno // can be written to. The caller has already promised not to write to that // page. -func relocatePage(tls *libc.TLS, pBt uintptr, pDbPage uintptr, eType U8, iPtrPage Pgno, iFreePage Pgno, isCommit int32) int32 { /* sqlite3.c:69861:12: */ +func relocatePage(tls *libc.TLS, pBt uintptr, pDbPage uintptr, eType U8, iPtrPage Pgno, iFreePage Pgno, isCommit int32) int32 { /* sqlite3.c:69871:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -46976,7 +46986,7 @@ func relocatePage(tls *libc.TLS, pBt uintptr, pDbPage uintptr, eType U8, iPtrPag // var rc int32 at bp, 4 if iDbPage < Pgno(3) { - return Xsqlite3CorruptError(tls, 69878) + return Xsqlite3CorruptError(tls, 69888) } // Move page iDbPage from its current location to page number iFreePage @@ -47046,7 +47056,7 @@ func relocatePage(tls *libc.TLS, pBt uintptr, pDbPage uintptr, eType U8, iPtrPag // caller will keep calling incrVacuumStep() until it returns SQLITE_DONE // or an error. bCommit is passed true for an auto-vacuum-on-commit // operation, or false for an incremental vacuum. -func incrVacuumStep(tls *libc.TLS, pBt uintptr, nFin Pgno, iLastPg Pgno, bCommit int32) int32 { /* sqlite3.c:69955:12: */ +func incrVacuumStep(tls *libc.TLS, pBt uintptr, nFin Pgno, iLastPg Pgno, bCommit int32) int32 { /* sqlite3.c:69965:12: */ bp := tls.Alloc(44) defer tls.Free(44) @@ -47068,7 +47078,7 @@ func incrVacuumStep(tls *libc.TLS, pBt uintptr, nFin Pgno, iLastPg Pgno, bCommit return rc } if int32(*(*U8)(unsafe.Pointer(bp))) == PTRMAP_ROOTPAGE { - return Xsqlite3CorruptError(tls, 69976) + return Xsqlite3CorruptError(tls, 69986) } if int32(*(*U8)(unsafe.Pointer(bp))) == PTRMAP_FREEPAGE { @@ -47143,7 +47153,7 @@ func incrVacuumStep(tls *libc.TLS, pBt uintptr, nFin Pgno, iLastPg Pgno, bCommit // The database opened by the first argument is an auto-vacuum database // nOrig pages in size containing nFree free pages. Return the expected // size of the database in pages following an auto-vacuum operation. -func finalDbSize(tls *libc.TLS, pBt uintptr, nOrig Pgno, nFree Pgno) Pgno { /* sqlite3.c:70051:13: */ +func finalDbSize(tls *libc.TLS, pBt uintptr, nOrig Pgno, nFree Pgno) Pgno { /* sqlite3.c:70061:13: */ var nEntry int32 // Number of entries on one ptrmap page var nPtrmap Pgno // Number of PtrMap pages to be freed var nFin Pgno // Return value @@ -47167,7 +47177,7 @@ func finalDbSize(tls *libc.TLS, pBt uintptr, nOrig Pgno, nFree Pgno) Pgno { /* s // If the incremental vacuum is finished after this function has run, // SQLITE_DONE is returned. If it is not finished, but no error occurred, // SQLITE_OK is returned. Otherwise an SQLite error code. -func Xsqlite3BtreeIncrVacuum(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:70077:20: */ +func Xsqlite3BtreeIncrVacuum(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:70087:20: */ var rc int32 var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt @@ -47181,7 +47191,7 @@ func Xsqlite3BtreeIncrVacuum(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:7007 var nFin Pgno = finalDbSize(tls, pBt, nOrig, nFree) if nOrig < nFin || nFree >= nOrig { - rc = Xsqlite3CorruptError(tls, 70091) + rc = Xsqlite3CorruptError(tls, 70101) } else if nFree > Pgno(0) { rc = saveAllCursors(tls, pBt, uint32(0), uintptr(0)) if rc == SQLITE_OK { @@ -47202,7 +47212,7 @@ func Xsqlite3BtreeIncrVacuum(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:7007 // This routine is called prior to sqlite3PagerCommit when a transaction // is committed for an auto-vacuum database. -func autoVacuumCommit(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:70114:12: */ +func autoVacuumCommit(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:70124:12: */ var rc int32 = SQLITE_OK var pPager uintptr var pBt uintptr @@ -47225,7 +47235,7 @@ func autoVacuumCommit(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:70114:12: * // It is not possible to create a database for which the final page // is either a pointer-map page or the pending-byte page. If one // is encountered, this indicates corruption. - return Xsqlite3CorruptError(tls, 70142) + return Xsqlite3CorruptError(tls, 70152) } nFree = Xsqlite3Get4byte(tls, (*MemPage)(unsafe.Pointer((*BtShared)(unsafe.Pointer(pBt)).FpPage1)).FaData+36) @@ -47256,7 +47266,7 @@ func autoVacuumCommit(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:70114:12: * } nFin = finalDbSize(tls, pBt, nOrig, nVac) if nFin > nOrig { - return Xsqlite3CorruptError(tls, 70169) + return Xsqlite3CorruptError(tls, 70179) } if nFin < nOrig { rc = saveAllCursors(tls, pBt, uint32(0), uintptr(0)) @@ -47306,7 +47316,7 @@ func autoVacuumCommit(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:70114:12: * // // Once this is routine has returned, the only thing required to commit // the write-transaction for this database file is to delete the journal. -func Xsqlite3BtreeCommitPhaseOne(tls *libc.TLS, p uintptr, zSuperJrnl uintptr) int32 { /* sqlite3.c:70225:20: */ +func Xsqlite3BtreeCommitPhaseOne(tls *libc.TLS, p uintptr, zSuperJrnl uintptr) int32 { /* sqlite3.c:70235:20: */ var rc int32 = SQLITE_OK if int32((*Btree)(unsafe.Pointer(p)).FinTrans) == TRANS_WRITE { var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt @@ -47329,7 +47339,7 @@ func Xsqlite3BtreeCommitPhaseOne(tls *libc.TLS, p uintptr, zSuperJrnl uintptr) i // This function is called from both BtreeCommitPhaseTwo() and BtreeRollback() // at the conclusion of a transaction. -func btreeEndTransaction(tls *libc.TLS, p uintptr) { /* sqlite3.c:70252:13: */ +func btreeEndTransaction(tls *libc.TLS, p uintptr) { /* sqlite3.c:70262:13: */ var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt var db uintptr = (*Btree)(unsafe.Pointer(p)).Fdb @@ -47385,7 +47395,7 @@ func btreeEndTransaction(tls *libc.TLS, p uintptr) { /* sqlite3.c:70252:13: */ // // This will release the write lock on the database file. If there // are no active cursors, it also releases the read lock. -func Xsqlite3BtreeCommitPhaseTwo(tls *libc.TLS, p uintptr, bCleanup int32) int32 { /* sqlite3.c:70314:20: */ +func Xsqlite3BtreeCommitPhaseTwo(tls *libc.TLS, p uintptr, bCleanup int32) int32 { /* sqlite3.c:70324:20: */ if int32((*Btree)(unsafe.Pointer(p)).FinTrans) == TRANS_NONE { return SQLITE_OK @@ -47414,7 +47424,7 @@ func Xsqlite3BtreeCommitPhaseTwo(tls *libc.TLS, p uintptr, bCleanup int32) int32 } // Do both phases of a commit. -func Xsqlite3BtreeCommit(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:70346:20: */ +func Xsqlite3BtreeCommit(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:70356:20: */ var rc int32 Xsqlite3BtreeEnter(tls, p) rc = Xsqlite3BtreeCommitPhaseOne(tls, p, uintptr(0)) @@ -47449,7 +47459,7 @@ func Xsqlite3BtreeCommit(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:70346:20 // // SQLITE_OK is returned if successful, or if an error occurs while // saving a cursor position, an SQLite error code. -func Xsqlite3BtreeTripAllCursors(tls *libc.TLS, pBtree uintptr, errCode int32, writeOnly int32) int32 { /* sqlite3.c:70383:20: */ +func Xsqlite3BtreeTripAllCursors(tls *libc.TLS, pBtree uintptr, errCode int32, writeOnly int32) int32 { /* sqlite3.c:70393:20: */ var p uintptr var rc int32 = SQLITE_OK @@ -47478,7 +47488,7 @@ func Xsqlite3BtreeTripAllCursors(tls *libc.TLS, pBtree uintptr, errCode int32, w // Set the pBt->nPage field correctly, according to the current // state of the database. Assume pBt->pPage1 is valid. -func btreeSetNPage(tls *libc.TLS, pBt uintptr, pPage1 uintptr) { /* sqlite3.c:70415:13: */ +func btreeSetNPage(tls *libc.TLS, pBt uintptr, pPage1 uintptr) { /* sqlite3.c:70425:13: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -47500,7 +47510,7 @@ func btreeSetNPage(tls *libc.TLS, pBt uintptr, pPage1 uintptr) { /* sqlite3.c:70 // // This will release the write lock on the database file. If there // are no active cursors, it also releases the read lock. -func Xsqlite3BtreeRollback(tls *libc.TLS, p uintptr, tripCode int32, writeOnly int32) int32 { /* sqlite3.c:70434:20: */ +func Xsqlite3BtreeRollback(tls *libc.TLS, p uintptr, tripCode int32, writeOnly int32) int32 { /* sqlite3.c:70444:20: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -47566,7 +47576,7 @@ func Xsqlite3BtreeRollback(tls *libc.TLS, p uintptr, tripCode int32, writeOnly i // are no active savepoints and no other statement-transactions open, // iStatement is 1. This anonymous savepoint can be released or rolled back // using the sqlite3BtreeSavepoint() function. -func Xsqlite3BtreeBeginStmt(tls *libc.TLS, p uintptr, iStatement int32) int32 { /* sqlite3.c:70499:20: */ +func Xsqlite3BtreeBeginStmt(tls *libc.TLS, p uintptr, iStatement int32) int32 { /* sqlite3.c:70509:20: */ var rc int32 var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt Xsqlite3BtreeEnter(tls, p) @@ -47590,7 +47600,7 @@ func Xsqlite3BtreeBeginStmt(tls *libc.TLS, p uintptr, iStatement int32) int32 { // contents of the entire transaction are rolled back. This is different // from a normal transaction rollback, as no locks are released and the // transaction remains open. -func Xsqlite3BtreeSavepoint(tls *libc.TLS, p uintptr, op int32, iSavepoint int32) int32 { /* sqlite3.c:70530:20: */ +func Xsqlite3BtreeSavepoint(tls *libc.TLS, p uintptr, op int32, iSavepoint int32) int32 { /* sqlite3.c:70540:20: */ var rc int32 = SQLITE_OK if p != 0 && int32((*Btree)(unsafe.Pointer(p)).FinTrans) == TRANS_WRITE { var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt @@ -47658,7 +47668,7 @@ func Xsqlite3BtreeSavepoint(tls *libc.TLS, p uintptr, op int32, iSavepoint int32 // // It is assumed that the sqlite3BtreeCursorZero() has been called // on pCur to initialize the memory space prior to invoking this routine. -func btreeCursor(tls *libc.TLS, p uintptr, iTable Pgno, wrFlag int32, pKeyInfo uintptr, pCur uintptr) int32 { /* sqlite3.c:70601:12: */ +func btreeCursor(tls *libc.TLS, p uintptr, iTable Pgno, wrFlag int32, pKeyInfo uintptr, pCur uintptr) int32 { /* sqlite3.c:70611:12: */ var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt // Shared b-tree handle var pX uintptr // Looping over other all cursors @@ -47671,7 +47681,7 @@ func btreeCursor(tls *libc.TLS, p uintptr, iTable Pgno, wrFlag int32, pKeyInfo u if iTable <= Pgno(1) { if iTable < Pgno(1) { - return Xsqlite3CorruptError(tls, 70633) + return Xsqlite3CorruptError(tls, 70643) } else if btreePagecount(tls, pBt) == Pgno(0) { iTable = Pgno(0) @@ -47709,7 +47719,7 @@ func btreeCursor(tls *libc.TLS, p uintptr, iTable Pgno, wrFlag int32, pKeyInfo u return SQLITE_OK } -func btreeCursorWithLock(tls *libc.TLS, p uintptr, iTable Pgno, wrFlag int32, pKeyInfo uintptr, pCur uintptr) int32 { /* sqlite3.c:70668:12: */ +func btreeCursorWithLock(tls *libc.TLS, p uintptr, iTable Pgno, wrFlag int32, pKeyInfo uintptr, pCur uintptr) int32 { /* sqlite3.c:70678:12: */ var rc int32 Xsqlite3BtreeEnter(tls, p) rc = btreeCursor(tls, p, iTable, wrFlag, pKeyInfo, pCur) @@ -47717,7 +47727,7 @@ func btreeCursorWithLock(tls *libc.TLS, p uintptr, iTable Pgno, wrFlag int32, pK return rc } -func Xsqlite3BtreeCursor(tls *libc.TLS, p uintptr, iTable Pgno, wrFlag int32, pKeyInfo uintptr, pCur uintptr) int32 { /* sqlite3.c:70681:20: */ +func Xsqlite3BtreeCursor(tls *libc.TLS, p uintptr, iTable Pgno, wrFlag int32, pKeyInfo uintptr, pCur uintptr) int32 { /* sqlite3.c:70691:20: */ if (*Btree)(unsafe.Pointer(p)).Fsharable != 0 { return btreeCursorWithLock(tls, p, iTable, wrFlag, pKeyInfo, pCur) } else { @@ -47732,7 +47742,7 @@ func Xsqlite3BtreeCursor(tls *libc.TLS, p uintptr, iTable Pgno, wrFlag int32, pK // sufficient storage to hold a cursor. The BtCursor object is opaque // to users so they cannot do the sizeof() themselves - they must call // this routine. -func Xsqlite3BtreeCursorSize(tls *libc.TLS) int32 { /* sqlite3.c:70703:20: */ +func Xsqlite3BtreeCursorSize(tls *libc.TLS) int32 { /* sqlite3.c:70713:20: */ return int32((uint64(unsafe.Sizeof(BtCursor{})) + uint64(7)) & libc.Uint64FromInt32(libc.CplInt32(7))) } @@ -47742,13 +47752,13 @@ func Xsqlite3BtreeCursorSize(tls *libc.TLS) int32 { /* sqlite3.c:70703:20: */ // to zero. But it turns out that the apPage[] and aiIdx[] arrays // do not need to be zeroed and they are large, so we can save a lot // of run-time by skipping the initialization of those elements. -func Xsqlite3BtreeCursorZero(tls *libc.TLS, p uintptr) { /* sqlite3.c:70715:21: */ +func Xsqlite3BtreeCursorZero(tls *libc.TLS, p uintptr) { /* sqlite3.c:70725:21: */ libc.Xmemset(tls, p, 0, uint64(uintptr(0)+32)) } // Close a cursor. The read lock on the database file is released // when the last cursor is closed. -func Xsqlite3BtreeCloseCursor(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:70723:20: */ +func Xsqlite3BtreeCloseCursor(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:70733:20: */ var pBtree uintptr = (*BtCursor)(unsafe.Pointer(pCur)).FpBtree if pBtree != 0 { var pBt uintptr = (*BtCursor)(unsafe.Pointer(pCur)).FpBt @@ -47789,7 +47799,7 @@ func Xsqlite3BtreeCloseCursor(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c: // // BtCursor.info is a cache of the information in the current cell. // Using this cache reduces the number of calls to btreeParseCell(). -func getCellInfo(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:70784:29: */ +func getCellInfo(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:70794:29: */ if int32((*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnSize) == 0 { *(*U8)(unsafe.Pointer(pCur + 1)) |= U8(BTCF_ValidNKey) btreeParseCell(tls, (*BtCursor)(unsafe.Pointer(pCur)).FpPage, int32((*BtCursor)(unsafe.Pointer(pCur)).Fix), pCur+48) @@ -47798,7 +47808,7 @@ func getCellInfo(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:70784:29: */ } } -func Xsqlite3BtreeCursorIsValidNN(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:70803:20: */ +func Xsqlite3BtreeCursorIsValidNN(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:70813:20: */ return libc.Bool32(int32((*BtCursor)(unsafe.Pointer(pCur)).FeState) == CURSOR_VALID) } @@ -47807,26 +47817,26 @@ func Xsqlite3BtreeCursorIsValidNN(tls *libc.TLS, pCur uintptr) int32 { /* sqlite // This routine is only valid for a cursor that is pointing into a // ordinary table btree. If the cursor points to an index btree or // is invalid, the result of this routine is undefined. -func Xsqlite3BtreeIntegerKey(tls *libc.TLS, pCur uintptr) I64 { /* sqlite3.c:70814:20: */ +func Xsqlite3BtreeIntegerKey(tls *libc.TLS, pCur uintptr) I64 { /* sqlite3.c:70824:20: */ getCellInfo(tls, pCur) return (*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnKey } // Pin or unpin a cursor. -func Xsqlite3BtreeCursorPin(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:70825:21: */ +func Xsqlite3BtreeCursorPin(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:70835:21: */ *(*U8)(unsafe.Pointer(pCur + 1)) |= U8(BTCF_Pinned) } -func Xsqlite3BtreeCursorUnpin(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:70829:21: */ +func Xsqlite3BtreeCursorUnpin(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:70839:21: */ *(*U8)(unsafe.Pointer(pCur + 1)) &= libc.Uint8FromInt32(libc.CplInt32(BTCF_Pinned)) } // Return the offset into the database file for the start of the // payload to which the cursor is pointing. -func Xsqlite3BtreeOffset(tls *libc.TLS, pCur uintptr) I64 { /* sqlite3.c:70839:20: */ +func Xsqlite3BtreeOffset(tls *libc.TLS, pCur uintptr) I64 { /* sqlite3.c:70849:20: */ getCellInfo(tls, pCur) return I64((*BtShared)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pCur)).FpBt)).FpageSize)*(I64((*MemPage)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pCur)).FpPage)).Fpgno)-int64(1)) + I64((int64((*BtCursor)(unsafe.Pointer(pCur)).Finfo.FpPayload)-int64((*MemPage)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pCur)).FpPage)).FaData))/1) @@ -47839,7 +47849,7 @@ func Xsqlite3BtreeOffset(tls *libc.TLS, pCur uintptr) I64 { /* sqlite3.c:70839:2 // The caller must guarantee that the cursor is pointing to a non-NULL // valid entry. In other words, the calling procedure must guarantee // that the cursor has Cursor.eState==CURSOR_VALID. -func Xsqlite3BtreePayloadSize(tls *libc.TLS, pCur uintptr) U32 { /* sqlite3.c:70857:20: */ +func Xsqlite3BtreePayloadSize(tls *libc.TLS, pCur uintptr) U32 { /* sqlite3.c:70867:20: */ getCellInfo(tls, pCur) return (*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnPayload @@ -47856,7 +47866,7 @@ func Xsqlite3BtreePayloadSize(tls *libc.TLS, pCur uintptr) U32 { /* sqlite3.c:70 // // The current implementation merely returns the size of the underlying // database file. -func Xsqlite3BtreeMaxRecordSize(tls *libc.TLS, pCur uintptr) Sqlite3_int64 { /* sqlite3.c:70877:30: */ +func Xsqlite3BtreeMaxRecordSize(tls *libc.TLS, pCur uintptr) Sqlite3_int64 { /* sqlite3.c:70887:30: */ return Sqlite3_int64((*BtShared)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pCur)).FpBt)).FpageSize) * Sqlite3_int64((*BtShared)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pCur)).FpBt)).FnPage) } @@ -47878,7 +47888,7 @@ func Xsqlite3BtreeMaxRecordSize(tls *libc.TLS, pCur uintptr) Sqlite3_int64 { /* // on *ppPage to free the reference. In no reference was obtained (because // the pointer-map was used to obtain the value for *pPgnoNext), then // *ppPage is set to zero. -func getOverflowPage(tls *libc.TLS, pBt uintptr, ovfl Pgno, ppPage uintptr, pPgnoNext uintptr) int32 { /* sqlite3.c:70902:12: */ +func getOverflowPage(tls *libc.TLS, pBt uintptr, ovfl Pgno, ppPage uintptr, pPgnoNext uintptr) int32 { /* sqlite3.c:70912:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -47946,7 +47956,7 @@ func getOverflowPage(tls *libc.TLS, pBt uintptr, ovfl Pgno, ppPage uintptr, pPgn // of data are copied from the buffer pBuf to pPayload. // // SQLITE_OK is returned on success, otherwise an error code. -func copyPayload(tls *libc.TLS, pPayload uintptr, pBuf uintptr, nByte int32, eOp int32, pDbPage uintptr) int32 { /* sqlite3.c:70970:12: */ +func copyPayload(tls *libc.TLS, pPayload uintptr, pBuf uintptr, nByte int32, eOp int32, pDbPage uintptr) int32 { /* sqlite3.c:70980:12: */ if eOp != 0 { // Copy data from buffer to page (a write operation) var rc int32 = Xsqlite3PagerWrite(tls, pDbPage) @@ -47988,7 +47998,7 @@ func copyPayload(tls *libc.TLS, pPayload uintptr, pBuf uintptr, nByte int32, eOp // * An incremental vacuum, // * A commit in auto_vacuum="full" mode, // * Creating a table (may require moving an overflow page). -func accessPayload(tls *libc.TLS, pCur uintptr, offset U32, amt U32, pBuf uintptr, eOp int32) int32 { /* sqlite3.c:71020:12: */ +func accessPayload(tls *libc.TLS, pCur uintptr, offset U32, amt U32, pBuf uintptr, eOp int32) int32 { /* sqlite3.c:71030:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -47999,7 +48009,7 @@ func accessPayload(tls *libc.TLS, pCur uintptr, offset U32, amt U32, pBuf uintpt var pBt uintptr = (*BtCursor)(unsafe.Pointer(pCur)).FpBt // Btree this cursor belongs to if int32((*BtCursor)(unsafe.Pointer(pCur)).Fix) >= int32((*MemPage)(unsafe.Pointer(pPage)).FnCell) { - return Xsqlite3CorruptError(tls, 71040) + return Xsqlite3CorruptError(tls, 71050) } getCellInfo(tls, pCur) @@ -48010,7 +48020,7 @@ func accessPayload(tls *libc.TLS, pCur uintptr, offset U32, amt U32, pBuf uintpt // conditional above is really: // &aPayload[pCur->info.nLocal] > &pPage->aData[pBt->usableSize] // but is recast into its current form to avoid integer overflow problems - return Xsqlite3CorruptError(tls, 71055) + return Xsqlite3CorruptError(tls, 71065) } // Check if data must be read/written to/from the btree page itself. @@ -48067,7 +48077,7 @@ func accessPayload(tls *libc.TLS, pCur uintptr, offset U32, amt U32, pBuf uintpt for *(*Pgno)(unsafe.Pointer(bp)) != 0 { // If required, populate the overflow page-list cache. if *(*Pgno)(unsafe.Pointer(bp)) > (*BtShared)(unsafe.Pointer(pBt)).FnPage { - return Xsqlite3CorruptError(tls, 71117) + return Xsqlite3CorruptError(tls, 71127) } *(*Pgno)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pCur)).FaOverflow + uintptr(iIdx)*4)) = *(*Pgno)(unsafe.Pointer(bp /* nextPage */)) @@ -48127,7 +48137,7 @@ func accessPayload(tls *libc.TLS, pCur uintptr, offset U32, amt U32, pBuf uintpt if rc == SQLITE_OK && amt > U32(0) { // Overflow chain ends prematurely - return Xsqlite3CorruptError(tls, 71202) + return Xsqlite3CorruptError(tls, 71212) } return rc } @@ -48147,7 +48157,7 @@ func accessPayload(tls *libc.TLS, pCur uintptr, offset U32, amt U32, pBuf uintpt // Return SQLITE_OK on success or an error code if anything goes // wrong. An error is returned if "offset+amt" is larger than // the available payload. -func Xsqlite3BtreePayload(tls *libc.TLS, pCur uintptr, offset U32, amt U32, pBuf uintptr) int32 { /* sqlite3.c:71224:20: */ +func Xsqlite3BtreePayload(tls *libc.TLS, pCur uintptr, offset U32, amt U32, pBuf uintptr) int32 { /* sqlite3.c:71234:20: */ return accessPayload(tls, pCur, offset, amt, pBuf, 0) } @@ -48155,7 +48165,7 @@ func Xsqlite3BtreePayload(tls *libc.TLS, pCur uintptr, offset U32, amt U32, pBuf // This variant of sqlite3BtreePayload() works even if the cursor has not // in the CURSOR_VALID state. It is only used by the sqlite3_blob_read() // interface. -func accessPayloadChecked(tls *libc.TLS, pCur uintptr, offset U32, amt U32, pBuf uintptr) int32 { /* sqlite3.c:71237:28: */ +func accessPayloadChecked(tls *libc.TLS, pCur uintptr, offset U32, amt U32, pBuf uintptr) int32 { /* sqlite3.c:71247:28: */ var rc int32 if int32((*BtCursor)(unsafe.Pointer(pCur)).FeState) == CURSOR_INVALID { return SQLITE_ABORT @@ -48168,7 +48178,7 @@ func accessPayloadChecked(tls *libc.TLS, pCur uintptr, offset U32, amt U32, pBuf return accessPayload(tls, pCur, offset, amt, pBuf, 0) } -func Xsqlite3BtreePayloadChecked(tls *libc.TLS, pCur uintptr, offset U32, amt U32, pBuf uintptr) int32 { /* sqlite3.c:71251:20: */ +func Xsqlite3BtreePayloadChecked(tls *libc.TLS, pCur uintptr, offset U32, amt U32, pBuf uintptr) int32 { /* sqlite3.c:71261:20: */ if int32((*BtCursor)(unsafe.Pointer(pCur)).FeState) == CURSOR_VALID { return accessPayload(tls, pCur, offset, amt, pBuf, 0) @@ -48195,7 +48205,7 @@ func Xsqlite3BtreePayloadChecked(tls *libc.TLS, pCur uintptr, offset U32, amt U3 // The pointer returned by this routine looks directly into the cached // page of the database. The data might change or move the next time // any btree routine is called. -func fetchPayload(tls *libc.TLS, pCur uintptr, pAmt uintptr) uintptr { /* sqlite3.c:71280:19: */ +func fetchPayload(tls *libc.TLS, pCur uintptr, pAmt uintptr) uintptr { /* sqlite3.c:71290:19: */ var amt int32 amt = int32((*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnLocal) @@ -48226,7 +48236,7 @@ func fetchPayload(tls *libc.TLS, pCur uintptr, pAmt uintptr) uintptr { /* sqlite // // These routines is used to get quick access to key and data // in the common case where no overflow pages are used. -func Xsqlite3BtreePayloadFetch(tls *libc.TLS, pCur uintptr, pAmt uintptr) uintptr { /* sqlite3.c:71319:27: */ +func Xsqlite3BtreePayloadFetch(tls *libc.TLS, pCur uintptr, pAmt uintptr) uintptr { /* sqlite3.c:71329:27: */ return fetchPayload(tls, pCur, pAmt) } @@ -48237,11 +48247,11 @@ func Xsqlite3BtreePayloadFetch(tls *libc.TLS, pCur uintptr, pAmt uintptr) uintpt // the new child page does not match the flags field of the parent (i.e. // if an intkey page appears to be the parent of a non-intkey page, or // vice-versa). -func moveToChild(tls *libc.TLS, pCur uintptr, newPgno U32) int32 { /* sqlite3.c:71333:12: */ +func moveToChild(tls *libc.TLS, pCur uintptr, newPgno U32) int32 { /* sqlite3.c:71343:12: */ var pBt uintptr = (*BtCursor)(unsafe.Pointer(pCur)).FpBt if int32((*BtCursor)(unsafe.Pointer(pCur)).FiPage) >= BTCURSOR_MAX_DEPTH-1 { - return Xsqlite3CorruptError(tls, 71341) + return Xsqlite3CorruptError(tls, 71351) } (*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnSize = U16(0) *(*U8)(unsafe.Pointer(pCur + 1)) &= libc.Uint8FromInt32(libc.CplInt32(BTCF_ValidNKey | BTCF_ValidOvfl)) @@ -48258,7 +48268,7 @@ func moveToChild(tls *libc.TLS, pCur uintptr, newPgno U32) int32 { /* sqlite3.c: // to the page we are coming from. If we are coming from the // right-most child page then pCur->idx is set to one more than // the largest cell index. -func moveToParent(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:71382:13: */ +func moveToParent(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:71392:13: */ var pLeaf uintptr (*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnSize = U16(0) @@ -48288,7 +48298,7 @@ func moveToParent(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:71382:13: */ // indicating a table b-tree, or if the caller did specify a KeyInfo // structure the flags byte is set to 0x02 or 0x0A, indicating an index // b-tree). -func moveToRoot(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:71423:12: */ +func moveToRoot(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:71433:12: */ var pRoot uintptr var rc int32 var subpage Pgno @@ -48367,7 +48377,7 @@ __2: if !(int32((*MemPage)(unsafe.Pointer(pRoot)).FisInit) == 0 || libc.Bool32((*BtCursor)(unsafe.Pointer(pCur)).FpKeyInfo == uintptr(0)) != int32((*MemPage)(unsafe.Pointer(pRoot)).FintKey)) { goto __11 } - return Xsqlite3CorruptError(tls, 71479) + return Xsqlite3CorruptError(tls, 71489) __11: ; @@ -48388,7 +48398,7 @@ __12: if !((*MemPage)(unsafe.Pointer(pRoot)).Fpgno != Pgno(1)) { goto __16 } - return Xsqlite3CorruptError(tls, 71491) + return Xsqlite3CorruptError(tls, 71501) __16: ; subpage = Xsqlite3Get4byte(tls, (*MemPage)(unsafe.Pointer(pRoot)).FaData+uintptr(int32((*MemPage)(unsafe.Pointer(pRoot)).FhdrOffset)+8)) @@ -48410,7 +48420,7 @@ __13: // // The left-most leaf is the one with the smallest key - the first // in ascending order. -func moveToLeftmost(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:71509:12: */ +func moveToLeftmost(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:71519:12: */ var pgno Pgno var rc int32 = SQLITE_OK var pPage uintptr @@ -48431,7 +48441,7 @@ func moveToLeftmost(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:71509:12: // // The right-most entry is the one with the largest key - the last // key in ascending order. -func moveToRightmost(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:71534:12: */ +func moveToRightmost(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:71544:12: */ var pgno Pgno var rc int32 = SQLITE_OK var pPage uintptr = uintptr(0) @@ -48452,7 +48462,7 @@ func moveToRightmost(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:71534:12: // Move the cursor to the first entry in the table. Return SQLITE_OK // on success. Set *pRes to 0 if the cursor actually points to something // or set *pRes to 1 if the table is empty. -func Xsqlite3BtreeFirst(tls *libc.TLS, pCur uintptr, pRes uintptr) int32 { /* sqlite3.c:71557:20: */ +func Xsqlite3BtreeFirst(tls *libc.TLS, pCur uintptr, pRes uintptr) int32 { /* sqlite3.c:71567:20: */ var rc int32 rc = moveToRoot(tls, pCur) @@ -48471,7 +48481,7 @@ func Xsqlite3BtreeFirst(tls *libc.TLS, pCur uintptr, pRes uintptr) int32 { /* sq // Move the cursor to the last entry in the table. Return SQLITE_OK // on success. Set *pRes to 0 if the cursor actually points to something // or set *pRes to 1 if the table is empty. -func Xsqlite3BtreeLast(tls *libc.TLS, pCur uintptr, pRes uintptr) int32 { /* sqlite3.c:71579:20: */ +func Xsqlite3BtreeLast(tls *libc.TLS, pCur uintptr, pRes uintptr) int32 { /* sqlite3.c:71589:20: */ var rc int32 // If the cursor already points to the last entry, this is a no-op. @@ -48520,7 +48530,7 @@ func Xsqlite3BtreeLast(tls *libc.TLS, pCur uintptr, pRes uintptr) int32 { /* sql // // *pRes>0 The cursor is left pointing at an entry that // is larger than intKey. -func Xsqlite3BtreeTableMoveto(tls *libc.TLS, pCur uintptr, intKey I64, biasRight int32, pRes uintptr) int32 { /* sqlite3.c:71644:20: */ +func Xsqlite3BtreeTableMoveto(tls *libc.TLS, pCur uintptr, intKey I64, biasRight int32, pRes uintptr) int32 { /* sqlite3.c:71654:20: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -48635,7 +48645,7 @@ __19: if !(pCell >= (*MemPage)(unsafe.Pointer(pPage)).FaDataEnd) { goto __21 } - return Xsqlite3CorruptError(tls, 71733) + return Xsqlite3CorruptError(tls, 71743) __21: ; goto __19 @@ -48764,7 +48774,7 @@ moveto_table_finish: // // The pIdxKey->eqSeen field is set to 1 if there // exists an entry in the table that exactly matches pIdxKey. -func Xsqlite3BtreeIndexMoveto(tls *libc.TLS, pCur uintptr, pIdxKey uintptr, pRes uintptr) int32 { /* sqlite3.c:71812:20: */ +func Xsqlite3BtreeIndexMoveto(tls *libc.TLS, pCur uintptr, pIdxKey uintptr, pRes uintptr) int32 { /* sqlite3.c:71822:20: */ var rc int32 var xRecordCompare RecordCompare // The record flows over onto one or more overflow pages. In @@ -48868,7 +48878,7 @@ __11: if !(nCell < 2 || U32(nCell)/(*BtShared)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pCur)).FpBt)).FusableSize > (*BtShared)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pCur)).FpBt)).FnPage) { goto __13 } - rc = Xsqlite3CorruptError(tls, 71914) + rc = Xsqlite3CorruptError(tls, 71924) goto moveto_index_finish __13: ; @@ -48917,7 +48927,7 @@ __18: if !((*UnpackedRecord)(unsafe.Pointer(pIdxKey)).FerrCode != 0) { goto __20 } - rc = Xsqlite3CorruptError(tls, 71946) + rc = Xsqlite3CorruptError(tls, 71956) __20: ; goto moveto_index_finish @@ -48984,7 +48994,7 @@ moveto_index_finish: // TRUE will be returned after a call to sqlite3BtreeNext() moves // past the last entry in the table or sqlite3BtreePrev() moves past // the first entry. TRUE is also returned if the table is empty. -func Xsqlite3BtreeEof(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:71985:20: */ +func Xsqlite3BtreeEof(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:71995:20: */ // TODO: What if the cursor is in CURSOR_REQUIRESEEK but all table entries // have been deleted? This API will need to change to return an error code // as well as the boolean result value. @@ -48994,7 +49004,7 @@ func Xsqlite3BtreeEof(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:71985:20 // Return an estimate for the number of rows in the table that pCur is // pointing to. Return a negative number if no estimate is currently // available. -func Xsqlite3BtreeRowCountEst(tls *libc.TLS, pCur uintptr) I64 { /* sqlite3.c:71998:20: */ +func Xsqlite3BtreeRowCountEst(tls *libc.TLS, pCur uintptr) I64 { /* sqlite3.c:72008:20: */ var n I64 var i U8 @@ -49033,7 +49043,7 @@ func Xsqlite3BtreeRowCountEst(tls *libc.TLS, pCur uintptr) I64 { /* sqlite3.c:71 // skipped if the SQL index had been a unique index. The F argument // is a hint to the implement. SQLite btree implementation does not use // this hint, but COMDB2 does. -func btreeNext(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:72038:28: */ +func btreeNext(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:72048:28: */ var rc int32 var idx int32 var pPage uintptr @@ -49070,7 +49080,7 @@ func btreeNext(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:72038:28: */ // has pages in common with the table being queried. See TH3 // module cov1/btree78.test testcase 220 (2018-06-08) for an // example. - return Xsqlite3CorruptError(tls, 72069) + return Xsqlite3CorruptError(tls, 72079) } if idx >= int32((*MemPage)(unsafe.Pointer(pPage)).FnCell) { @@ -49103,7 +49113,7 @@ func btreeNext(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:72038:28: */ return int32(0) } -func Xsqlite3BtreeNext(tls *libc.TLS, pCur uintptr, flags int32) int32 { /* sqlite3.c:72098:20: */ +func Xsqlite3BtreeNext(tls *libc.TLS, pCur uintptr, flags int32) int32 { /* sqlite3.c:72108:20: */ var pPage uintptr _ = flags // Used in COMDB2 but not native SQLite @@ -49143,7 +49153,7 @@ func Xsqlite3BtreeNext(tls *libc.TLS, pCur uintptr, flags int32) int32 { /* sqli // skipped if the SQL index had been a unique index. The F argument is a // hint to the implement. The native SQLite btree implementation does not // use this hint, but COMDB2 does. -func btreePrevious(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:72138:28: */ +func btreePrevious(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:72148:28: */ var rc int32 var pPage uintptr @@ -49197,7 +49207,7 @@ func btreePrevious(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:72138:28: * return rc } -func Xsqlite3BtreePrevious(tls *libc.TLS, pCur uintptr, flags int32) int32 { /* sqlite3.c:72187:20: */ +func Xsqlite3BtreePrevious(tls *libc.TLS, pCur uintptr, flags int32) int32 { /* sqlite3.c:72197:20: */ _ = flags // Used in COMDB2 but not native SQLite *(*U8)(unsafe.Pointer(pCur + 1)) &= libc.Uint8FromInt32(libc.CplInt32(BTCF_AtLast | BTCF_ValidOvfl | BTCF_ValidNKey)) @@ -49231,7 +49241,7 @@ func Xsqlite3BtreePrevious(tls *libc.TLS, pCur uintptr, flags int32) int32 { /* // eMode is BTALLOC_LT then the page returned will be less than or equal // to nearby if any such page exists. If eMode is BTALLOC_ANY then there // are no restrictions on which page is returned. -func allocateBtreePage(tls *libc.TLS, pBt uintptr, ppPage uintptr, pPgno uintptr, nearby Pgno, eMode U8) int32 { /* sqlite3.c:72225:12: */ +func allocateBtreePage(tls *libc.TLS, pBt uintptr, ppPage uintptr, pPgno uintptr, nearby Pgno, eMode U8) int32 { /* sqlite3.c:72235:12: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -49298,7 +49308,7 @@ func allocateBtreePage(tls *libc.TLS, pBt uintptr, ppPage uintptr, pPgno uintptr if !(n >= mxPage) { goto __1 } - return Xsqlite3CorruptError(tls, 72249) + return Xsqlite3CorruptError(tls, 72259) __1: ; if !(n > U32(0)) { @@ -49379,7 +49389,7 @@ __15: if !(iTrunk > mxPage || libc.PostIncUint32(&nSearch, 1) > n) { goto __16 } - rc = Xsqlite3CorruptError(tls, 72305) + rc = Xsqlite3CorruptError(tls, 72315) goto __17 __16: rc = btreeGetUnusedPage(tls, pBt, iTrunk, bp+8, 0) @@ -49421,7 +49431,7 @@ __19: goto __22 } // Value of k is out of range. Database corruption - rc = Xsqlite3CorruptError(tls, 72334) + rc = Xsqlite3CorruptError(tls, 72344) goto end_allocate_page goto __23 __22: @@ -49466,7 +49476,7 @@ __27: if !(iNewTrunk > mxPage) { goto __32 } - rc = Xsqlite3CorruptError(tls, 72368) + rc = Xsqlite3CorruptError(tls, 72378) goto end_allocate_page __32: ; @@ -49580,7 +49590,7 @@ __40: if !(iPage > mxPage || iPage < Pgno(2)) { goto __51 } - rc = Xsqlite3CorruptError(tls, 72433) + rc = Xsqlite3CorruptError(tls, 72443) goto end_allocate_page __51: ; @@ -49755,7 +49765,7 @@ end_allocate_page: // // If a pointer to a MemPage object is passed as the second argument, // its reference count is not altered by this function. -func freePage2(tls *libc.TLS, pBt uintptr, pMemPage uintptr, iPage Pgno) int32 { /* sqlite3.c:72547:12: */ +func freePage2(tls *libc.TLS, pBt uintptr, pMemPage uintptr, iPage Pgno) int32 { /* sqlite3.c:72557:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -49776,7 +49786,7 @@ func freePage2(tls *libc.TLS, pBt uintptr, pMemPage uintptr, iPage Pgno) int32 { if !(iPage < Pgno(2) || iPage > (*BtShared)(unsafe.Pointer(pBt)).FnPage) { goto __1 } - return Xsqlite3CorruptError(tls, 72560) + return Xsqlite3CorruptError(tls, 72570) __1: ; if !(pMemPage != 0) { @@ -49846,7 +49856,7 @@ __7: if !(iTrunk > btreePagecount(tls, pBt)) { goto __10 } - *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) = Xsqlite3CorruptError(tls, 72607) + *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) = Xsqlite3CorruptError(tls, 72617) goto freepage_out __10: ; @@ -49863,7 +49873,7 @@ __11: if !(nLeaf > (*BtShared)(unsafe.Pointer(pBt)).FusableSize/U32(4)-U32(2)) { goto __12 } - *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) = Xsqlite3CorruptError(tls, 72618) + *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) = Xsqlite3CorruptError(tls, 72628) goto freepage_out __12: ; @@ -49944,14 +49954,14 @@ __18: return *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) } -func freePage(tls *libc.TLS, pPage uintptr, pRC uintptr) { /* sqlite3.c:72681:13: */ +func freePage(tls *libc.TLS, pPage uintptr, pRC uintptr) { /* sqlite3.c:72691:13: */ if *(*int32)(unsafe.Pointer(pRC)) == SQLITE_OK { *(*int32)(unsafe.Pointer(pRC)) = freePage2(tls, (*MemPage)(unsafe.Pointer(pPage)).FpBt, pPage, (*MemPage)(unsafe.Pointer(pPage)).Fpgno) } } // Free the overflow pages associated with the given Cell. -func clearCellOverflow(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintptr) int32 { /* sqlite3.c:72690:28: */ +func clearCellOverflow(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintptr) int32 { /* sqlite3.c:72700:28: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -49963,7 +49973,7 @@ func clearCellOverflow(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintpt if pCell+uintptr((*CellInfo)(unsafe.Pointer(pInfo)).FnSize) > (*MemPage)(unsafe.Pointer(pPage)).FaDataEnd { // Cell extends past end of page - return Xsqlite3CorruptError(tls, 72707) + return Xsqlite3CorruptError(tls, 72717) } ovflPgno = Xsqlite3Get4byte(tls, pCell+uintptr((*CellInfo)(unsafe.Pointer(pInfo)).FnSize)-uintptr(4)) pBt = (*MemPage)(unsafe.Pointer(pPage)).FpBt @@ -49978,7 +49988,7 @@ func clearCellOverflow(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintpt // 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 Xsqlite3CorruptError(tls, 72724) + return Xsqlite3CorruptError(tls, 72734) } if nOvfl != 0 { rc = getOverflowPage(tls, pBt, ovflPgno, bp, bp+8) @@ -49998,7 +50008,7 @@ func clearCellOverflow(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintpt // enabled. If this 'overflow' page happens to be a page that the // caller is iterating through or using in some other way, this // can be problematic. - rc = Xsqlite3CorruptError(tls, 72744) + rc = Xsqlite3CorruptError(tls, 72754) } else { rc = freePage2(tls, pBt, *(*uintptr)(unsafe.Pointer(bp /* pOvfl */)), ovflPgno) } @@ -50030,7 +50040,7 @@ func clearCellOverflow(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintpt // area. pCell might point to some temporary storage. The cell will // be constructed in this temporary area then copied into pPage->aData // later. -func fillInCell(tls *libc.TLS, pPage uintptr, pCell uintptr, pX uintptr, pnSize uintptr) int32 { /* sqlite3.c:72785:12: */ +func fillInCell(tls *libc.TLS, pPage uintptr, pCell uintptr, pX uintptr, pnSize uintptr) int32 { /* sqlite3.c:72795:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -50212,7 +50222,7 @@ func fillInCell(tls *libc.TLS, pPage uintptr, pCell uintptr, pX uintptr, pnSize // removes the reference to the cell from pPage. // // "sz" must be the number of bytes in the cell. -func dropCell(tls *libc.TLS, pPage uintptr, idx int32, sz int32, pRC uintptr) { /* sqlite3.c:72975:13: */ +func dropCell(tls *libc.TLS, pPage uintptr, idx int32, sz int32, pRC uintptr) { /* sqlite3.c:72985:13: */ var pc U32 // Offset to cell content of cell being deleted var data uintptr // pPage->aData var ptr uintptr // Used to move bytes around within data[] @@ -50230,7 +50240,7 @@ func dropCell(tls *libc.TLS, pPage uintptr, idx int32, sz int32, pRC uintptr) { hdr = int32((*MemPage)(unsafe.Pointer(pPage)).FhdrOffset) if pc+U32(sz) > (*BtShared)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize { - *(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 73003) + *(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 73013) return } rc = freeSpace(tls, pPage, uint16(pc), uint16(sz)) @@ -50266,7 +50276,7 @@ func dropCell(tls *libc.TLS, pPage uintptr, idx int32, sz int32, pRC uintptr) { // pPage->nOverflow is incremented. // // *pRC must be SQLITE_OK when this routine is called. -func insertCell(tls *libc.TLS, pPage uintptr, i int32, pCell uintptr, sz int32, pTemp uintptr, iChild Pgno, pRC uintptr) { /* sqlite3.c:73039:13: */ +func insertCell(tls *libc.TLS, pPage uintptr, i int32, pCell uintptr, sz int32, pTemp uintptr, iChild Pgno, pRC uintptr) { /* sqlite3.c:73049:13: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -50427,7 +50437,7 @@ type CellArray1 = struct { FszCell uintptr FapEnd [6]uintptr FixNx [6]int32 -} /* sqlite3.c:73214:9 */ +} /* sqlite3.c:73224:9 */ // The following parameters determine how many adjacent pages get involved // in a balancing operation. NN is the number of neighbors on either side @@ -50504,11 +50514,11 @@ type CellArray1 = struct { // cases, ixNx[] entries with higher indexes, and the corresponding apEnd[] // entries, shift down. The end result is that each ixNx[] entry should // be larger than the previous -type CellArray = CellArray1 /* sqlite3.c:73214:26 */ +type CellArray = CellArray1 /* sqlite3.c:73224:26 */ // Make sure the cell sizes at idx, idx+1, ..., idx+N-1 have been // computed. -func populateCellCache(tls *libc.TLS, p uintptr, idx int32, N int32) { /* sqlite3.c:73228:13: */ +func populateCellCache(tls *libc.TLS, p uintptr, idx int32, N int32) { /* sqlite3.c:73238:13: */ for N > 0 { @@ -50525,7 +50535,7 @@ func populateCellCache(tls *libc.TLS, p uintptr, idx int32, N int32) { /* sqlite } // Return the size of the Nth element of the cell array -func computeCellSize(tls *libc.TLS, p uintptr, N int32) U16 { /* sqlite3.c:73246:28: */ +func computeCellSize(tls *libc.TLS, p uintptr, N int32) U16 { /* sqlite3.c:73256:28: */ *(*U16)(unsafe.Pointer((*CellArray)(unsafe.Pointer(p)).FszCell + uintptr(N)*2)) = (*struct { f func(*libc.TLS, uintptr, uintptr) U16 @@ -50533,7 +50543,7 @@ func computeCellSize(tls *libc.TLS, p uintptr, N int32) U16 { /* sqlite3.c:73246 return *(*U16)(unsafe.Pointer((*CellArray)(unsafe.Pointer(p)).FszCell + uintptr(N)*2)) } -func cachedCellSize(tls *libc.TLS, p uintptr, N int32) U16 { /* sqlite3.c:73252:12: */ +func cachedCellSize(tls *libc.TLS, p uintptr, N int32) U16 { /* sqlite3.c:73262:12: */ if *(*U16)(unsafe.Pointer((*CellArray)(unsafe.Pointer(p)).FszCell + uintptr(N)*2)) != 0 { return *(*U16)(unsafe.Pointer((*CellArray)(unsafe.Pointer(p)).FszCell + uintptr(N)*2)) @@ -50552,7 +50562,7 @@ func cachedCellSize(tls *libc.TLS, p uintptr, N int32) U16 { /* sqlite3.c:73252: // // The MemPage.nFree field is invalidated by this function. It is the // responsibility of the caller to set it correctly. -func rebuildPage(tls *libc.TLS, pCArray uintptr, iFirst int32, nCell int32, pPg uintptr) int32 { /* sqlite3.c:73271:12: */ +func rebuildPage(tls *libc.TLS, pCArray uintptr, iFirst int32, nCell int32, pPg uintptr) int32 { /* sqlite3.c:73281:12: */ var hdr int32 = int32((*MemPage)(unsafe.Pointer(pPg)).FhdrOffset) // Offset of header on pPg var aData uintptr = (*MemPage)(unsafe.Pointer(pPg)).FaData // Pointer to data for pPg var usableSize int32 = int32((*BtShared)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPg)).FpBt)).FusableSize) @@ -50583,12 +50593,12 @@ func rebuildPage(tls *libc.TLS, pCArray uintptr, iFirst int32, nCell int32, pPg if Uptr(pCell) >= Uptr(aData+uintptr(j)) && Uptr(pCell) < Uptr(pEnd) { if Uptr(pCell+uintptr(sz)) > Uptr(pEnd) { - return Xsqlite3CorruptError(tls, 73304) + return Xsqlite3CorruptError(tls, 73314) } pCell = pTmp + uintptr((int64(pCell)-int64(aData))/1) } else if Uptr(pCell+uintptr(sz)) > Uptr(pSrcEnd) && Uptr(pCell) < Uptr(pSrcEnd) { - return Xsqlite3CorruptError(tls, 73309) + return Xsqlite3CorruptError(tls, 73319) } pData -= uintptr(sz) @@ -50596,7 +50606,7 @@ func rebuildPage(tls *libc.TLS, pCArray uintptr, iFirst int32, nCell int32, pPg *(*U8)(unsafe.Pointer(pCellptr + 1)) = U8((int64(pData) - int64(aData)) / 1) pCellptr += uintptr(2) if pData < pCellptr { - return Xsqlite3CorruptError(tls, 73315) + return Xsqlite3CorruptError(tls, 73325) } libc.Xmemmove(tls, pData, pCell, uint64(sz)) @@ -50646,7 +50656,7 @@ func rebuildPage(tls *libc.TLS, pCArray uintptr, iFirst int32, nCell int32, pPg // all cells - not just those inserted by the current call). If the content // area must be extended to before this point in order to accomodate all // cells in apCell[], then the cells do not fit and non-zero is returned. -func pageInsertArray(tls *libc.TLS, pPg uintptr, pBegin uintptr, ppData uintptr, pCellptr uintptr, iFirst int32, nCell int32, pCArray uintptr) int32 { /* sqlite3.c:73361:12: */ +func pageInsertArray(tls *libc.TLS, pPg uintptr, pBegin uintptr, ppData uintptr, pCellptr uintptr, iFirst int32, nCell int32, pCArray uintptr) int32 { /* sqlite3.c:73371:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -50684,7 +50694,7 @@ func pageInsertArray(tls *libc.TLS, pPg uintptr, pBegin uintptr, ppData uintptr, if Uptr(*(*uintptr)(unsafe.Pointer((*CellArray)(unsafe.Pointer(pCArray)).FapCell + uintptr(i)*8))+uintptr(sz)) > Uptr(pEnd) && Uptr(*(*uintptr)(unsafe.Pointer((*CellArray)(unsafe.Pointer(pCArray)).FapCell + uintptr(i)*8))) < Uptr(pEnd) { - Xsqlite3CorruptError(tls, 73400) + Xsqlite3CorruptError(tls, 73410) return 1 } libc.Xmemmove(tls, pSlot, *(*uintptr)(unsafe.Pointer((*CellArray)(unsafe.Pointer(pCArray)).FapCell + uintptr(i)*8)), uint64(sz)) @@ -50711,7 +50721,7 @@ func pageInsertArray(tls *libc.TLS, pPg uintptr, pBegin uintptr, ppData uintptr, // The cell-pointers and other fields of the page are not updated. // // This function returns the total number of cells added to the free-list. -func pageFreeArray(tls *libc.TLS, pPg uintptr, iFirst int32, nCell int32, pCArray uintptr) int32 { /* sqlite3.c:73426:12: */ +func pageFreeArray(tls *libc.TLS, pPg uintptr, iFirst int32, nCell int32, pCArray uintptr) int32 { /* sqlite3.c:73436:12: */ var aData uintptr = (*MemPage)(unsafe.Pointer(pPg)).FaData var pEnd uintptr = aData + uintptr((*BtShared)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPg)).FpBt)).FusableSize) var pStart uintptr = aData + uintptr(int32((*MemPage)(unsafe.Pointer(pPg)).FhdrOffset)+8+int32((*MemPage)(unsafe.Pointer(pPg)).FchildPtrSize)) @@ -50763,7 +50773,7 @@ func pageFreeArray(tls *libc.TLS, pPg uintptr, iFirst int32, nCell int32, pCArra // // The pPg->nFree field is invalid when this function returns. It is the // responsibility of the caller to set it correctly. -func editPage(tls *libc.TLS, pPg uintptr, iOld int32, iNew int32, nNew int32, pCArray uintptr) int32 { /* sqlite3.c:73485:12: */ +func editPage(tls *libc.TLS, pPg uintptr, iOld int32, iNew int32, nNew int32, pCArray uintptr) int32 { /* sqlite3.c:73495:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -50797,7 +50807,7 @@ func editPage(tls *libc.TLS, pPg uintptr, iOld int32, iNew int32, nNew int32, pC if !(nShift > nCell) { goto __2 } - return Xsqlite3CorruptError(tls, 73511) + return Xsqlite3CorruptError(tls, 73521) __2: ; libc.Xmemmove(tls, (*MemPage)(unsafe.Pointer(pPg)).FaCellIdx, (*MemPage)(unsafe.Pointer(pPg)).FaCellIdx+uintptr(nShift*2), uint64(nCell*2)) @@ -50937,7 +50947,7 @@ editpage_fail: // byte page number followed by a variable length integer. In other // words, at most 13 bytes. Hence the pSpace buffer must be at // least 13 bytes in size. -func balance_quick(tls *libc.TLS, pParent uintptr, pPage uintptr, pSpace uintptr) int32 { /* sqlite3.c:73614:12: */ +func balance_quick(tls *libc.TLS, pParent uintptr, pPage uintptr, pSpace uintptr) int32 { /* sqlite3.c:73624:12: */ bp := tls.Alloc(140) defer tls.Free(140) @@ -50950,7 +50960,7 @@ func balance_quick(tls *libc.TLS, pParent uintptr, pPage uintptr, pSpace uintptr // Page number of pNew if int32((*MemPage)(unsafe.Pointer(pPage)).FnCell) == 0 { - return Xsqlite3CorruptError(tls, 73624) + return Xsqlite3CorruptError(tls, 73634) } // dbfuzz001.test // Allocate a new page. This page will become the right-sibling of @@ -51048,7 +51058,7 @@ func balance_quick(tls *libc.TLS, pParent uintptr, pPage uintptr, pSpace uintptr // The performance of this function is not critical. It is only used by // the balance_shallower() and balance_deeper() procedures, neither of // which are called often under normal circumstances. -func copyNodeContent(tls *libc.TLS, pFrom uintptr, pTo uintptr, pRC uintptr) { /* sqlite3.c:73769:13: */ +func copyNodeContent(tls *libc.TLS, pFrom uintptr, pTo uintptr, pRC uintptr) { /* sqlite3.c:73779:13: */ if *(*int32)(unsafe.Pointer(pRC)) == SQLITE_OK { var pBt uintptr = (*MemPage)(unsafe.Pointer(pFrom)).FpBt var aFrom uintptr = (*MemPage)(unsafe.Pointer(pFrom)).FaData @@ -51128,7 +51138,7 @@ func copyNodeContent(tls *libc.TLS, pFrom uintptr, pTo uintptr, pRC uintptr) { / // // If aOvflSpace is set to a null pointer, this function returns // SQLITE_NOMEM. -func balance_nonroot(tls *libc.TLS, pParent uintptr, iParentIdx int32, aOvflSpace uintptr, isRoot int32, bBulk int32) int32 { /* sqlite3.c:73851:12: */ +func balance_nonroot(tls *libc.TLS, pParent uintptr, iParentIdx int32, aOvflSpace uintptr, isRoot int32, bBulk int32) int32 { /* sqlite3.c:73861:12: */ bp := tls.Alloc(344) defer tls.Free(344) @@ -51430,7 +51440,7 @@ __22: if !(int32(*(*U8)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pOld)).FaData))) != int32(*(*U8)(unsafe.Pointer((*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 112)))).FaData)))) { goto __25 } - *(*int32)(unsafe.Pointer(bp + 172 /* rc */)) = Xsqlite3CorruptError(tls, 74047) + *(*int32)(unsafe.Pointer(bp + 172 /* rc */)) = Xsqlite3CorruptError(tls, 74057) goto balance_cleanup __25: ; @@ -51458,7 +51468,7 @@ __25: if !(limit < int32(*(*U16)(unsafe.Pointer(pOld + 28)))) { goto __27 } - *(*int32)(unsafe.Pointer(bp + 172 /* rc */)) = Xsqlite3CorruptError(tls, 74071) + *(*int32)(unsafe.Pointer(bp + 172 /* rc */)) = Xsqlite3CorruptError(tls, 74081) goto balance_cleanup __27: ; @@ -51637,7 +51647,7 @@ __52: if !(k > NB+2) { goto __55 } - *(*int32)(unsafe.Pointer(bp + 172 /* rc */)) = Xsqlite3CorruptError(tls, 74172) + *(*int32)(unsafe.Pointer(bp + 172 /* rc */)) = Xsqlite3CorruptError(tls, 74182) goto balance_cleanup __55: ; @@ -51711,7 +51721,7 @@ __65: }()) { goto __67 } - *(*int32)(unsafe.Pointer(bp + 172 /* rc */)) = Xsqlite3CorruptError(tls, 74205) + *(*int32)(unsafe.Pointer(bp + 172 /* rc */)) = Xsqlite3CorruptError(tls, 74215) goto balance_cleanup __67: ; @@ -51784,7 +51794,7 @@ __73: }()) { goto __75 } - *(*int32)(unsafe.Pointer(bp + 172 /* rc */)) = Xsqlite3CorruptError(tls, 74247) + *(*int32)(unsafe.Pointer(bp + 172 /* rc */)) = Xsqlite3CorruptError(tls, 74257) goto balance_cleanup __75: ; @@ -51821,7 +51831,7 @@ __76: *(*int32)(unsafe.Pointer(bp + 172)) == SQLITE_OK) { goto __81 } - *(*int32)(unsafe.Pointer(bp + 172 /* rc */)) = Xsqlite3CorruptError(tls, 74280) + *(*int32)(unsafe.Pointer(bp + 172 /* rc */)) = Xsqlite3CorruptError(tls, 74290) __81: ; if !(*(*int32)(unsafe.Pointer(bp + 172)) != 0) { @@ -51905,7 +51915,7 @@ __89: // cache with two separate objects associated with the same // page number. - *(*int32)(unsafe.Pointer(bp + 172 /* rc */)) = Xsqlite3CorruptError(tls, 74326) + *(*int32)(unsafe.Pointer(bp + 172 /* rc */)) = Xsqlite3CorruptError(tls, 74336) goto balance_cleanup __92: ; @@ -52158,7 +52168,7 @@ __125: if !(Uptr(pSrcEnd) >= Uptr(pCell1) && Uptr(pSrcEnd) < Uptr(pCell1+uintptr(sz2))) { goto __126 } - *(*int32)(unsafe.Pointer(bp + 172 /* rc */)) = Xsqlite3CorruptError(tls, 74483) + *(*int32)(unsafe.Pointer(bp + 172 /* rc */)) = Xsqlite3CorruptError(tls, 74493) goto balance_cleanup __126: ; @@ -52380,7 +52390,7 @@ __150: // page and SQLITE_OK is returned. In this case the caller is required // to call releasePage() on *ppChild exactly once. If an error occurs, // an error code is returned and *ppChild is set to 0. -func balance_deeper(tls *libc.TLS, pRoot uintptr, ppChild uintptr) int32 { /* sqlite3.c:74648:12: */ +func balance_deeper(tls *libc.TLS, pRoot uintptr, ppChild uintptr) int32 { /* sqlite3.c:74658:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -52431,13 +52441,13 @@ func balance_deeper(tls *libc.TLS, pRoot uintptr, ppChild uintptr) int32 { /* sq // table linked to the same b-tree. If the secondary insert causes a // rebalance, that can change content out from under the cursor on the // first SQL table, violating invariants on the first insert. -func anotherValidCursor(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:74706:12: */ +func anotherValidCursor(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:74716:12: */ var pOther uintptr for pOther = (*BtShared)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pCur)).FpBt)).FpCursor; pOther != 0; pOther = (*BtCursor)(unsafe.Pointer(pOther)).FpNext { if pOther != pCur && int32((*BtCursor)(unsafe.Pointer(pOther)).FeState) == CURSOR_VALID && (*BtCursor)(unsafe.Pointer(pOther)).FpPage == (*BtCursor)(unsafe.Pointer(pCur)).FpPage { - return Xsqlite3CorruptError(tls, 74713) + return Xsqlite3CorruptError(tls, 74723) } } return SQLITE_OK @@ -52451,7 +52461,7 @@ func anotherValidCursor(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:74706: // balance_quick() // balance_deeper() // balance_nonroot() -func balance(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:74729:12: */ +func balance(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:74739:12: */ bp := tls.Alloc(13) defer tls.Free(13) @@ -52570,7 +52580,7 @@ func balance(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:74729:12: */ // Overwrite content from pX into pDest. Only do the write if the // content is different from what is already there. -func btreeOverwriteContent(tls *libc.TLS, pPage uintptr, pDest uintptr, pX uintptr, iOffset int32, iAmt int32) int32 { /* sqlite3.c:74855:12: */ +func btreeOverwriteContent(tls *libc.TLS, pPage uintptr, pDest uintptr, pX uintptr, iOffset int32, iAmt int32) int32 { /* sqlite3.c:74865:12: */ var nData int32 = (*BtreePayload)(unsafe.Pointer(pX)).FnData - iOffset if nData <= 0 { // Overwritting with zeros @@ -52612,7 +52622,7 @@ func btreeOverwriteContent(tls *libc.TLS, pPage uintptr, pDest uintptr, pX uintp // Overwrite the cell that cursor pCur is pointing to with fresh content // contained in pX. -func btreeOverwriteCell(tls *libc.TLS, pCur uintptr, pX uintptr) int32 { /* sqlite3.c:74898:12: */ +func btreeOverwriteCell(tls *libc.TLS, pCur uintptr, pX uintptr) int32 { /* sqlite3.c:74908:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -52626,7 +52636,7 @@ func btreeOverwriteCell(tls *libc.TLS, pCur uintptr, pX uintptr) int32 { /* sqli if (*BtCursor)(unsafe.Pointer(pCur)).Finfo.FpPayload+uintptr((*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnLocal) > (*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FaDataEnd || (*BtCursor)(unsafe.Pointer(pCur)).Finfo.FpPayload < (*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FaData+uintptr((*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FcellOffset) { - return Xsqlite3CorruptError(tls, 74910) + return Xsqlite3CorruptError(tls, 74920) } // Overwrite the local portion first rc = btreeOverwriteContent(tls, *(*uintptr)(unsafe.Pointer(bp /* pPage */)), (*BtCursor)(unsafe.Pointer(pCur)).Finfo.FpPayload, pX, @@ -52650,7 +52660,7 @@ func btreeOverwriteCell(tls *libc.TLS, pCur uintptr, pX uintptr) int32 { /* sqli return rc } if Xsqlite3PagerPageRefcount(tls, (*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FpDbPage) != 1 || (*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FisInit != 0 { - rc = Xsqlite3CorruptError(tls, 74929) + rc = Xsqlite3CorruptError(tls, 74939) } else { if U32(iOffset)+ovflPageSize < U32(nTotal) { ovflPgno = Xsqlite3Get4byte(tls, (*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* pPage */)))).FaData) @@ -52697,7 +52707,7 @@ func btreeOverwriteCell(tls *libc.TLS, pCur uintptr, pX uintptr) int32 { /* sqli // if pX->nMem is non-zero, then pX->aMem contains pointers to the unpacked // key values and pX->aMem can be used instead of pX->pKey to avoid having // to decode the key. -func Xsqlite3BtreeInsert(tls *libc.TLS, pCur uintptr, pX uintptr, flags int32, seekResult int32) int32 { /* sqlite3.c:74977:20: */ +func Xsqlite3BtreeInsert(tls *libc.TLS, pCur uintptr, pX uintptr, flags int32, seekResult int32) int32 { /* sqlite3.c:74987:20: */ bp := tls.Alloc(136) defer tls.Free(136) @@ -52727,20 +52737,6 @@ func Xsqlite3BtreeInsert(tls *libc.TLS, pCur uintptr, pX uintptr, flags int32, s pBt = (*Btree)(unsafe.Pointer(p)).FpBt newCell = uintptr(0) - if !(int32((*BtCursor)(unsafe.Pointer(pCur)).FeState) == CURSOR_FAULT) { - goto __1 - } - - return (*BtCursor)(unsafe.Pointer(pCur)).FskipNext -__1: - ; - - // Assert that the caller has been consistent. If this cursor was opened - // expecting an index b-tree, then the caller should be inserting blob - // keys with no associated data. If the cursor was opened expecting an - // intkey table, the caller should be inserting integer keys with a - // blob of associated data. - // Save the positions of any other cursors open on this table. // // In some cases, the call to btreeMoveto() below is a no-op. For @@ -52752,40 +52748,59 @@ __1: // doing any work. To avoid thwarting these optimizations, it is important // not to clear the cursor here. if !(int32((*BtCursor)(unsafe.Pointer(pCur)).FcurFlags)&BTCF_Multiple != 0) { - goto __2 + goto __1 } *(*int32)(unsafe.Pointer(bp + 104 /* rc */)) = saveAllCursors(tls, pBt, (*BtCursor)(unsafe.Pointer(pCur)).FpgnoRoot, pCur) if !(*(*int32)(unsafe.Pointer(bp + 104)) != 0) { - goto __3 + goto __2 } return *(*int32)(unsafe.Pointer(bp + 104 /* rc */)) -__3: +__2: ; if !(*(*int32)(unsafe.Pointer(bp)) != 0 && int32((*BtCursor)(unsafe.Pointer(pCur)).FiPage) < 0) { - goto __4 + goto __3 } // This can only happen if the schema is corrupt such that there is more // than one table or index with the same root page as used by the cursor. // 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 Xsqlite3CorruptError(tls, 75034) -__4: + return Xsqlite3CorruptError(tls, 75026) +__3: ; -__2: +__1: ; - if !((*BtCursor)(unsafe.Pointer(pCur)).FpKeyInfo == uintptr(0)) { + if !(int32((*BtCursor)(unsafe.Pointer(pCur)).FeState) >= CURSOR_REQUIRESEEK) { + goto __4 + } + *(*int32)(unsafe.Pointer(bp + 104 /* rc */)) = moveToRoot(tls, pCur) + if !(*(*int32)(unsafe.Pointer(bp + 104)) != 0 && *(*int32)(unsafe.Pointer(bp + 104)) != SQLITE_EMPTY) { goto __5 } + return *(*int32)(unsafe.Pointer(bp + 104 /* rc */)) +__5: + ; +__4: + ; + + // Assert that the caller has been consistent. If this cursor was opened + // expecting an index b-tree, then the caller should be inserting blob + // keys with no associated data. If the cursor was opened expecting an + // intkey table, the caller should be inserting integer keys with a + // blob of associated data. + + if !((*BtCursor)(unsafe.Pointer(pCur)).FpKeyInfo == uintptr(0)) { + goto __6 + } // If this is an insert into a table b-tree, invalidate any incrblob // cursors open on the row being replaced if !((*Btree)(unsafe.Pointer(p)).FhasIncrblobCur != 0) { - goto __7 + goto __8 } invalidateIncrblobCursors(tls, p, (*BtCursor)(unsafe.Pointer(pCur)).FpgnoRoot, (*BtreePayload)(unsafe.Pointer(pX)).FnKey, 0) -__7: +__8: ; // If BTREE_SAVEPOSITION is set, the cursor must already be pointing @@ -52795,24 +52810,24 @@ __7: // that the cursor is not pointing to a row to be overwritten. // So do a complete check. if !(int32((*BtCursor)(unsafe.Pointer(pCur)).FcurFlags)&BTCF_ValidNKey != 0 && (*BtreePayload)(unsafe.Pointer(pX)).FnKey == (*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnKey) { - goto __8 + goto __9 } // The cursor is pointing to the entry that is to be // overwritten if !(int32((*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnSize) != 0 && (*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnPayload == U32((*BtreePayload)(unsafe.Pointer(pX)).FnData)+U32((*BtreePayload)(unsafe.Pointer(pX)).FnZero)) { - goto __10 + goto __11 } // New entry is the same size as the old. Do an overwrite return btreeOverwriteCell(tls, pCur, pX) -__10: +__11: ; - goto __9 -__8: + goto __10 +__9: if !(*(*int32)(unsafe.Pointer(bp)) == 0) { - goto __11 + goto __12 } // The cursor is *not* pointing to the cell to be overwritten, nor // to an adjacent cell. Move the cursor so that it is pointing either @@ -52820,17 +52835,17 @@ __8: *(*int32)(unsafe.Pointer(bp + 104 /* rc */)) = Xsqlite3BtreeTableMoveto(tls, pCur, (*BtreePayload)(unsafe.Pointer(pX)).FnKey, libc.Bool32(flags&BTREE_APPEND != 0), bp) if !(*(*int32)(unsafe.Pointer(bp + 104)) != 0) { - goto __12 + goto __13 } return *(*int32)(unsafe.Pointer(bp + 104 /* rc */)) -__12: +__13: ; -__11: +__12: ; -__9: +__10: ; - goto __6 -__5: + goto __7 +__6: // This is an index or a WITHOUT ROWID table // If BTREE_SAVEPOSITION is set, the cursor must already be pointing @@ -52842,10 +52857,10 @@ __5: // not pointing to an immediately adjacent cell, then move the cursor // so that it does. if !(*(*int32)(unsafe.Pointer(bp)) == 0 && flags&BTREE_SAVEPOSITION == 0) { - goto __13 + goto __14 } if !((*BtreePayload)(unsafe.Pointer(pX)).FnMem != 0) { - goto __14 + goto __15 } (*UnpackedRecord)(unsafe.Pointer(bp + 8 /* &r */)).FpKeyInfo = (*BtCursor)(unsafe.Pointer(pCur)).FpKeyInfo (*UnpackedRecord)(unsafe.Pointer(bp + 8 /* &r */)).FaMem = (*BtreePayload)(unsafe.Pointer(pX)).FaMem @@ -52853,147 +52868,147 @@ __5: (*UnpackedRecord)(unsafe.Pointer(bp + 8 /* &r */)).Fdefault_rc = int8(0) (*UnpackedRecord)(unsafe.Pointer(bp + 8 /* &r */)).FeqSeen = U8(0) *(*int32)(unsafe.Pointer(bp + 104 /* rc */)) = Xsqlite3BtreeIndexMoveto(tls, pCur, bp+8, bp) - goto __15 -__14: + goto __16 +__15: *(*int32)(unsafe.Pointer(bp + 104 /* rc */)) = btreeMoveto(tls, pCur, (*BtreePayload)(unsafe.Pointer(pX)).FpKey, (*BtreePayload)(unsafe.Pointer(pX)).FnKey, libc.Bool32(flags&BTREE_APPEND != 0), bp) -__15: +__16: ; if !(*(*int32)(unsafe.Pointer(bp + 104)) != 0) { - goto __16 + goto __17 } return *(*int32)(unsafe.Pointer(bp + 104 /* rc */)) -__16: +__17: ; -__13: +__14: ; // If the cursor is currently pointing to an entry to be overwritten // and the new content is the same as as the old, then use the // overwrite optimization. if !(*(*int32)(unsafe.Pointer(bp)) == 0) { - goto __17 + goto __18 } getCellInfo(tls, pCur) if !((*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnKey == (*BtreePayload)(unsafe.Pointer(pX)).FnKey) { - goto __18 + goto __19 } (*BtreePayload)(unsafe.Pointer(bp + 32 /* &x2 */)).FpData = (*BtreePayload)(unsafe.Pointer(pX)).FpKey (*BtreePayload)(unsafe.Pointer(bp + 32 /* &x2 */)).FnData = int32((*BtreePayload)(unsafe.Pointer(pX)).FnKey) (*BtreePayload)(unsafe.Pointer(bp + 32 /* &x2 */)).FnZero = 0 return btreeOverwriteCell(tls, pCur, bp+32) -__18: +__19: ; -__17: +__18: ; -__6: +__7: ; pPage = (*BtCursor)(unsafe.Pointer(pCur)).FpPage if !((*MemPage)(unsafe.Pointer(pPage)).FnFree < 0) { - goto __19 + goto __20 } if !(int32((*BtCursor)(unsafe.Pointer(pCur)).FeState) > CURSOR_INVALID) { - goto __20 + goto __21 } - *(*int32)(unsafe.Pointer(bp + 104 /* rc */)) = Xsqlite3CorruptError(tls, 75134) - goto __21 -__20: - *(*int32)(unsafe.Pointer(bp + 104 /* rc */)) = btreeComputeFreeSpace(tls, pPage) + *(*int32)(unsafe.Pointer(bp + 104 /* rc */)) = Xsqlite3CorruptError(tls, 75143) + goto __22 __21: + *(*int32)(unsafe.Pointer(bp + 104 /* rc */)) = btreeComputeFreeSpace(tls, pPage) +__22: ; if !(*(*int32)(unsafe.Pointer(bp + 104)) != 0) { - goto __22 + goto __23 } return *(*int32)(unsafe.Pointer(bp + 104 /* rc */)) -__22: +__23: ; -__19: +__20: ; newCell = (*BtShared)(unsafe.Pointer(pBt)).FpTmpSpace if !(flags&BTREE_PREFORMAT != 0) { - goto __23 + goto __24 } *(*int32)(unsafe.Pointer(bp + 104 /* rc */)) = SQLITE_OK *(*int32)(unsafe.Pointer(bp + 108 /* szNew */)) = (*BtShared)(unsafe.Pointer(pBt)).FnPreformatSize if !(*(*int32)(unsafe.Pointer(bp + 108)) < 4) { - goto __25 + goto __26 } *(*int32)(unsafe.Pointer(bp + 108 /* szNew */)) = 4 -__25: +__26: ; if !((*BtShared)(unsafe.Pointer(pBt)).FautoVacuum != 0 && *(*int32)(unsafe.Pointer(bp + 108)) > int32((*MemPage)(unsafe.Pointer(pPage)).FmaxLocal)) { - goto __26 + goto __27 } (*struct { f func(*libc.TLS, uintptr, uintptr, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*MemPage)(unsafe.Pointer(pPage)).FxParseCell})).f(tls, pPage, newCell, bp+80 /* &info */) if !((*CellInfo)(unsafe.Pointer(bp+80)).FnPayload != U32((*CellInfo)(unsafe.Pointer(bp+80)).FnLocal)) { - goto __27 + goto __28 } ovfl = Xsqlite3Get4byte(tls, newCell+uintptr(*(*int32)(unsafe.Pointer(bp + 108))-4)) ptrmapPut(tls, pBt, ovfl, uint8(PTRMAP_OVERFLOW1), (*MemPage)(unsafe.Pointer(pPage)).Fpgno, bp+104) -__27: +__28: ; -__26: +__27: ; - goto __24 -__23: - *(*int32)(unsafe.Pointer(bp + 104 /* rc */)) = fillInCell(tls, pPage, newCell, pX, bp+108) + goto __25 __24: + *(*int32)(unsafe.Pointer(bp + 104 /* rc */)) = fillInCell(tls, pPage, newCell, pX, bp+108) +__25: ; if !(*(*int32)(unsafe.Pointer(bp + 104)) != 0) { - goto __28 + goto __29 } goto end_insert -__28: +__29: ; idx = int32((*BtCursor)(unsafe.Pointer(pCur)).Fix) if !(*(*int32)(unsafe.Pointer(bp)) == 0) { - goto __29 + goto __30 } if !(idx >= int32((*MemPage)(unsafe.Pointer(pPage)).FnCell)) { - goto __31 + goto __32 } - return Xsqlite3CorruptError(tls, 75170) -__31: + return Xsqlite3CorruptError(tls, 75179) +__32: ; *(*int32)(unsafe.Pointer(bp + 104 /* rc */)) = Xsqlite3PagerWrite(tls, (*MemPage)(unsafe.Pointer(pPage)).FpDbPage) if !(*(*int32)(unsafe.Pointer(bp + 104)) != 0) { - goto __32 + goto __33 } goto end_insert -__32: +__33: ; oldCell = (*MemPage)(unsafe.Pointer(pPage)).FaData + uintptr(int32((*MemPage)(unsafe.Pointer(pPage)).FmaskPage)&(int32(*(*U8)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPage)).FaCellIdx + uintptr(2*idx))))<<8|int32(*(*U8)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPage)).FaCellIdx + uintptr(2*idx) + 1))))) if !!(int32((*MemPage)(unsafe.Pointer(pPage)).Fleaf) != 0) { - goto __33 + goto __34 } libc.Xmemcpy(tls, newCell, oldCell, uint64(4)) -__33: +__34: ; (*struct { f func(*libc.TLS, uintptr, uintptr, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*MemPage)(unsafe.Pointer(pPage)).FxParseCell})).f(tls, pPage, oldCell, bp+112 /* &info1 */) if !(U32((*CellInfo)(unsafe.Pointer(bp+112 /* &info1 */)).FnLocal) != (*CellInfo)(unsafe.Pointer(bp+112 /* &info1 */)).FnPayload) { - goto __34 + goto __35 } *(*int32)(unsafe.Pointer(bp + 104 /* rc */)) = clearCellOverflow(tls, pPage, oldCell, bp+112 /* &info1 */) - goto __35 -__34: - *(*int32)(unsafe.Pointer(bp + 104 /* rc */)) = SQLITE_OK + goto __36 __35: + *(*int32)(unsafe.Pointer(bp + 104 /* rc */)) = SQLITE_OK +__36: ; *(*U8)(unsafe.Pointer(pCur + 1)) &= libc.Uint8FromInt32(libc.CplInt32(BTCF_ValidOvfl)) if !(int32((*CellInfo)(unsafe.Pointer(bp+112)).FnSize) == *(*int32)(unsafe.Pointer(bp + 108)) && U32((*CellInfo)(unsafe.Pointer(bp+112)).FnLocal) == (*CellInfo)(unsafe.Pointer(bp+112)).FnPayload && (!(int32((*BtShared)(unsafe.Pointer(pBt)).FautoVacuum) != 0) || *(*int32)(unsafe.Pointer(bp + 108)) < int32((*MemPage)(unsafe.Pointer(pPage)).FminLocal))) { - goto __36 + goto __37 } // Overwrite the old cell with the new if they are the same size. // We could also try to do this if the old cell is smaller, then add @@ -53006,42 +53021,42 @@ __35: // necessary to add the PTRMAP_OVERFLOW1 pointer-map entry. // clearCell never fails when nLocal==nPayload if !(oldCell < (*MemPage)(unsafe.Pointer(pPage)).FaData+uintptr((*MemPage)(unsafe.Pointer(pPage)).FhdrOffset)+uintptr(10)) { - goto __37 + goto __38 } - return Xsqlite3CorruptError(tls, 75197) -__37: + return Xsqlite3CorruptError(tls, 75206) +__38: ; if !(oldCell+uintptr(*(*int32)(unsafe.Pointer(bp + 108))) > (*MemPage)(unsafe.Pointer(pPage)).FaDataEnd) { - goto __38 + goto __39 } - return Xsqlite3CorruptError(tls, 75200) -__38: + return Xsqlite3CorruptError(tls, 75209) +__39: ; libc.Xmemcpy(tls, oldCell, newCell, uint64(*(*int32)(unsafe.Pointer(bp + 108 /* szNew */)))) return SQLITE_OK -__36: +__37: ; dropCell(tls, pPage, idx, int32((*CellInfo)(unsafe.Pointer(bp+112 /* &info1 */)).FnSize), bp+104) if !(*(*int32)(unsafe.Pointer(bp + 104)) != 0) { - goto __39 + goto __40 } goto end_insert -__39: +__40: ; - goto __30 -__29: + goto __31 +__30: if !(*(*int32)(unsafe.Pointer(bp)) < 0 && int32((*MemPage)(unsafe.Pointer(pPage)).FnCell) > 0) { - goto __40 + goto __41 } idx = int32(libc.PreIncUint16(&(*BtCursor)(unsafe.Pointer(pCur)).Fix, 1)) *(*U8)(unsafe.Pointer(pCur + 1)) &= libc.Uint8FromInt32(libc.CplInt32(BTCF_ValidNKey)) - goto __41 -__40: - ; + goto __42 __41: ; -__30: +__42: + ; +__31: ; insertCell(tls, pPage, idx, newCell, *(*int32)(unsafe.Pointer(bp + 108 /* szNew */)), uintptr(0), uint32(0), bp+104) @@ -53066,7 +53081,7 @@ __30: // row without seeking the cursor. This can be a big performance boost. (*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnSize = U16(0) if !((*MemPage)(unsafe.Pointer(pPage)).FnOverflow != 0) { - goto __42 + goto __43 } *(*U8)(unsafe.Pointer(pCur + 1)) &= libc.Uint8FromInt32(libc.CplInt32(BTCF_ValidNKey)) @@ -53079,30 +53094,30 @@ __30: (*MemPage)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pCur)).FpPage)).FnOverflow = U8(0) (*BtCursor)(unsafe.Pointer(pCur)).FeState = U8(CURSOR_INVALID) if !(flags&BTREE_SAVEPOSITION != 0 && *(*int32)(unsafe.Pointer(bp + 104)) == SQLITE_OK) { - goto __43 + goto __44 } btreeReleaseAllCursorPages(tls, pCur) if !((*BtCursor)(unsafe.Pointer(pCur)).FpKeyInfo != 0) { - goto __44 + goto __45 } (*BtCursor)(unsafe.Pointer(pCur)).FpKey = Xsqlite3Malloc(tls, uint64((*BtreePayload)(unsafe.Pointer(pX)).FnKey)) if !((*BtCursor)(unsafe.Pointer(pCur)).FpKey == uintptr(0)) { - goto __45 + goto __46 } *(*int32)(unsafe.Pointer(bp + 104 /* rc */)) = SQLITE_NOMEM - goto __46 -__45: - libc.Xmemcpy(tls, (*BtCursor)(unsafe.Pointer(pCur)).FpKey, (*BtreePayload)(unsafe.Pointer(pX)).FpKey, uint64((*BtreePayload)(unsafe.Pointer(pX)).FnKey)) + goto __47 __46: + libc.Xmemcpy(tls, (*BtCursor)(unsafe.Pointer(pCur)).FpKey, (*BtreePayload)(unsafe.Pointer(pX)).FpKey, uint64((*BtreePayload)(unsafe.Pointer(pX)).FnKey)) +__47: ; -__44: +__45: ; (*BtCursor)(unsafe.Pointer(pCur)).FeState = U8(CURSOR_REQUIRESEEK) (*BtCursor)(unsafe.Pointer(pCur)).FnKey = (*BtreePayload)(unsafe.Pointer(pX)).FnKey -__43: +__44: ; -__42: +__43: ; end_insert: @@ -53122,7 +53137,7 @@ end_insert: // calling sqlite3BtreeInsert() with the BTREE_PREFORMAT flag specified. // // SQLITE_OK is returned if successful, or an SQLite error code otherwise. -func Xsqlite3BtreeTransferRow(tls *libc.TLS, pDest uintptr, pSrc uintptr, iKey I64) int32 { /* sqlite3.c:75286:20: */ +func Xsqlite3BtreeTransferRow(tls *libc.TLS, pDest uintptr, pSrc uintptr, iKey I64) int32 { /* sqlite3.c:75295:20: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -53149,7 +53164,7 @@ func Xsqlite3BtreeTransferRow(tls *libc.TLS, pDest uintptr, pSrc uintptr, iKey I nIn = U32((*BtCursor)(unsafe.Pointer(pSrc)).Finfo.FnLocal) aIn = (*BtCursor)(unsafe.Pointer(pSrc)).Finfo.FpPayload if aIn+uintptr(nIn) > (*MemPage)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pSrc)).FpPage)).FaDataEnd { - return Xsqlite3CorruptError(tls, 75300) + return Xsqlite3CorruptError(tls, 75309) } nRem = (*BtCursor)(unsafe.Pointer(pSrc)).Finfo.FnPayload if nIn == nRem && nIn < U32((*MemPage)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pDest)).FpPage)).FmaxLocal) { @@ -53172,7 +53187,7 @@ func Xsqlite3BtreeTransferRow(tls *libc.TLS, pDest uintptr, pSrc uintptr, iKey I if nRem > nIn { if aIn+uintptr(nIn)+uintptr(4) > (*MemPage)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pSrc)).FpPage)).FaDataEnd { - return Xsqlite3CorruptError(tls, 75323) + return Xsqlite3CorruptError(tls, 75332) } ovflIn = Xsqlite3Get4byte(tls, (*BtCursor)(unsafe.Pointer(pSrc)).Finfo.FpPayload+uintptr(nIn)) } @@ -53254,7 +53269,7 @@ func Xsqlite3BtreeTransferRow(tls *libc.TLS, pDest uintptr, pSrc uintptr, iKey I // operation on non-FORDELETE cursors is tagged with the AUXDELETE flag. // The BTREE_AUXDELETE bit is a hint that is not used by this implementation, // but which might be used by alternative storage engines. -func Xsqlite3BtreeDelete(tls *libc.TLS, pCur uintptr, flags U8) int32 { /* sqlite3.c:75396:20: */ +func Xsqlite3BtreeDelete(tls *libc.TLS, pCur uintptr, flags U8) int32 { /* sqlite3.c:75405:20: */ bp := tls.Alloc(28) defer tls.Free(28) @@ -53270,11 +53285,15 @@ func Xsqlite3BtreeDelete(tls *libc.TLS, pCur uintptr, flags U8) int32 { /* sqlit // Size of the cell being deleted var bPreserve U8 // Keep cursor valid. 2 for CURSOR_SKIPNEXT - if int32((*BtCursor)(unsafe.Pointer(pCur)).FeState) == CURSOR_REQUIRESEEK { - *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) = btreeRestoreCursorPosition(tls, pCur) + if int32((*BtCursor)(unsafe.Pointer(pCur)).FeState) != CURSOR_VALID { + if int32((*BtCursor)(unsafe.Pointer(pCur)).FeState) >= CURSOR_REQUIRESEEK { + *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) = btreeRestoreCursorPosition(tls, pCur) - if *(*int32)(unsafe.Pointer(bp + 24)) != 0 || int32((*BtCursor)(unsafe.Pointer(pCur)).FeState) != CURSOR_VALID { - return *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) + if *(*int32)(unsafe.Pointer(bp + 24)) != 0 || int32((*BtCursor)(unsafe.Pointer(pCur)).FeState) != CURSOR_VALID { + return *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) + } + } else { + return Xsqlite3CorruptError(tls, 75429) } } @@ -53282,11 +53301,11 @@ func Xsqlite3BtreeDelete(tls *libc.TLS, pCur uintptr, flags U8) int32 { /* sqlit iCellIdx = int32((*BtCursor)(unsafe.Pointer(pCur)).Fix) pPage = (*BtCursor)(unsafe.Pointer(pCur)).FpPage if int32((*MemPage)(unsafe.Pointer(pPage)).FnCell) <= iCellIdx { - return Xsqlite3CorruptError(tls, 75425) + return Xsqlite3CorruptError(tls, 75438) } pCell = (*MemPage)(unsafe.Pointer(pPage)).FaData + uintptr(int32((*MemPage)(unsafe.Pointer(pPage)).FmaskPage)&(int32(*(*U8)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPage)).FaCellIdx + uintptr(2*iCellIdx))))<<8|int32(*(*U8)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPage)).FaCellIdx + uintptr(2*iCellIdx) + 1))))) if (*MemPage)(unsafe.Pointer(pPage)).FnFree < 0 && btreeComputeFreeSpace(tls, pPage) != 0 { - return Xsqlite3CorruptError(tls, 75429) + return Xsqlite3CorruptError(tls, 75442) } // If the BTREE_SAVEPOSITION bit is on, then the cursor position must @@ -53395,7 +53414,7 @@ func Xsqlite3BtreeDelete(tls *libc.TLS, pCur uintptr, flags U8) int32 { /* sqlit } pCell = (*MemPage)(unsafe.Pointer(pLeaf)).FaData + uintptr(int32((*MemPage)(unsafe.Pointer(pLeaf)).FmaskPage)&(int32(*(*U8)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pLeaf)).FaCellIdx + uintptr(2*(int32((*MemPage)(unsafe.Pointer(pLeaf)).FnCell)-1)))))<<8|int32(*(*U8)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pLeaf)).FaCellIdx + uintptr(2*(int32((*MemPage)(unsafe.Pointer(pLeaf)).FnCell)-1)) + 1))))) if pCell < (*MemPage)(unsafe.Pointer(pLeaf)).FaData+4 { - return Xsqlite3CorruptError(tls, 75519) + return Xsqlite3CorruptError(tls, 75532) } nCell = int32((*struct { f func(*libc.TLS, uintptr, uintptr) U16 @@ -53472,7 +53491,7 @@ func Xsqlite3BtreeDelete(tls *libc.TLS, pCur uintptr, flags U8) int32 { /* sqlit // // BTREE_INTKEY|BTREE_LEAFDATA Used for SQL tables with rowid keys // BTREE_ZERODATA Used for SQL indices -func btreeCreateTable(tls *libc.TLS, p uintptr, piTable uintptr, createTabFlags int32) int32 { /* sqlite3.c:75593:12: */ +func btreeCreateTable(tls *libc.TLS, p uintptr, piTable uintptr, createTabFlags int32) int32 { /* sqlite3.c:75606:12: */ bp := tls.Alloc(44) defer tls.Free(44) @@ -53502,7 +53521,7 @@ func btreeCreateTable(tls *libc.TLS, p uintptr, piTable uintptr, createTabFlags // created so far, so the new root-page is (meta[3]+1). Xsqlite3BtreeGetMeta(tls, p, BTREE_LARGEST_ROOT_PAGE, bp) if *(*Pgno)(unsafe.Pointer(bp)) > btreePagecount(tls, pBt) { - return Xsqlite3CorruptError(tls, 75627) + return Xsqlite3CorruptError(tls, 75640) } *(*Pgno)(unsafe.Pointer(bp /* pgnoRoot */))++ @@ -53545,7 +53564,7 @@ func btreeCreateTable(tls *libc.TLS, p uintptr, piTable uintptr, createTabFlags } *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = ptrmapGet(tls, pBt, *(*Pgno)(unsafe.Pointer(bp /* pgnoRoot */)), bp+32, bp+36) if int32(*(*U8)(unsafe.Pointer(bp + 32))) == PTRMAP_ROOTPAGE || int32(*(*U8)(unsafe.Pointer(bp + 32))) == PTRMAP_FREEPAGE { - *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = Xsqlite3CorruptError(tls, 75675) + *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = Xsqlite3CorruptError(tls, 75688) } if *(*int32)(unsafe.Pointer(bp + 40)) != SQLITE_OK { releasePage(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* pRoot */))) @@ -53608,7 +53627,7 @@ func btreeCreateTable(tls *libc.TLS, p uintptr, piTable uintptr, createTabFlags return SQLITE_OK } -func Xsqlite3BtreeCreateTable(tls *libc.TLS, p uintptr, piTable uintptr, flags int32) int32 { /* sqlite3.c:75738:20: */ +func Xsqlite3BtreeCreateTable(tls *libc.TLS, p uintptr, piTable uintptr, flags int32) int32 { /* sqlite3.c:75751:20: */ var rc int32 Xsqlite3BtreeEnter(tls, p) rc = btreeCreateTable(tls, p, piTable, flags) @@ -53618,7 +53637,7 @@ func Xsqlite3BtreeCreateTable(tls *libc.TLS, p uintptr, piTable uintptr, flags i // Erase the given database page and all its children. Return // the page to the freelist. -func clearDatabasePage(tls *libc.TLS, pBt uintptr, pgno Pgno, freePageFlag int32, pnChange uintptr) int32 { /* sqlite3.c:75750:12: */ +func clearDatabasePage(tls *libc.TLS, pBt uintptr, pgno Pgno, freePageFlag int32, pnChange uintptr) int32 { /* sqlite3.c:75763:12: */ bp := tls.Alloc(36) defer tls.Free(36) @@ -53634,7 +53653,7 @@ func clearDatabasePage(tls *libc.TLS, pBt uintptr, pgno Pgno, freePageFlag int32 if !(pgno > btreePagecount(tls, pBt)) { goto __1 } - return Xsqlite3CorruptError(tls, 75765) + return Xsqlite3CorruptError(tls, 75778) __1: ; *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) = getAndInitPage(tls, pBt, pgno, bp, uintptr(0), 0) @@ -53648,7 +53667,7 @@ __2: Xsqlite3PagerPageRefcount(tls, (*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FpDbPage) != 1+libc.Bool32(pgno == Pgno(1))) { goto __3 } - *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) = Xsqlite3CorruptError(tls, 75772) + *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) = Xsqlite3CorruptError(tls, 75785) goto cleardatabasepage_out __3: ; @@ -53752,7 +53771,7 @@ cleardatabasepage_out: // // If pnChange is not NULL, then the integer value pointed to by pnChange // is incremented by the number of entries in the table. -func Xsqlite3BtreeClearTable(tls *libc.TLS, p uintptr, iTable int32, pnChange uintptr) int32 { /* sqlite3.c:75817:20: */ +func Xsqlite3BtreeClearTable(tls *libc.TLS, p uintptr, iTable int32, pnChange uintptr) int32 { /* sqlite3.c:75830:20: */ var rc int32 var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt Xsqlite3BtreeEnter(tls, p) @@ -53775,7 +53794,7 @@ func Xsqlite3BtreeClearTable(tls *libc.TLS, p uintptr, iTable int32, pnChange ui // Delete all information from the single table that pCur is open on. // // This routine only work for pCur on an ephemeral table. -func Xsqlite3BtreeClearTableOfCursor(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:75843:20: */ +func Xsqlite3BtreeClearTableOfCursor(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:75856:20: */ return Xsqlite3BtreeClearTable(tls, (*BtCursor)(unsafe.Pointer(pCur)).FpBtree, int32((*BtCursor)(unsafe.Pointer(pCur)).FpgnoRoot), uintptr(0)) } @@ -53797,7 +53816,7 @@ func Xsqlite3BtreeClearTableOfCursor(tls *libc.TLS, pCur uintptr) int32 { /* sql // the move. If no page gets moved, *piMoved is set to 0. // The last root page is recorded in meta[3] and the value of // meta[3] is updated by this procedure. -func btreeDropTable(tls *libc.TLS, p uintptr, iTable Pgno, piMoved uintptr) int32 { /* sqlite3.c:75867:12: */ +func btreeDropTable(tls *libc.TLS, p uintptr, iTable Pgno, piMoved uintptr) int32 { /* sqlite3.c:75880:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -53807,7 +53826,7 @@ func btreeDropTable(tls *libc.TLS, p uintptr, iTable Pgno, piMoved uintptr) int3 var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt if iTable > btreePagecount(tls, pBt) { - return Xsqlite3CorruptError(tls, 75876) + return Xsqlite3CorruptError(tls, 75889) } *(*int32)(unsafe.Pointer(bp + 12 /* rc */)) = Xsqlite3BtreeClearTable(tls, p, int32(iTable), uintptr(0)) @@ -53879,7 +53898,7 @@ func btreeDropTable(tls *libc.TLS, p uintptr, iTable Pgno, piMoved uintptr) int3 return *(*int32)(unsafe.Pointer(bp + 12 /* rc */)) } -func Xsqlite3BtreeDropTable(tls *libc.TLS, p uintptr, iTable int32, piMoved uintptr) int32 { /* sqlite3.c:75952:20: */ +func Xsqlite3BtreeDropTable(tls *libc.TLS, p uintptr, iTable int32, piMoved uintptr) int32 { /* sqlite3.c:75965:20: */ var rc int32 Xsqlite3BtreeEnter(tls, p) rc = btreeDropTable(tls, p, uint32(iTable), piMoved) @@ -53905,7 +53924,7 @@ func Xsqlite3BtreeDropTable(tls *libc.TLS, p uintptr, iTable int32, piMoved uint // database file. It is a number computed by the pager. But its access // pattern is the same as header meta values, and so it is convenient to // read it from this routine. -func Xsqlite3BtreeGetMeta(tls *libc.TLS, p uintptr, idx int32, pMeta uintptr) { /* sqlite3.c:75981:21: */ +func Xsqlite3BtreeGetMeta(tls *libc.TLS, p uintptr, idx int32, pMeta uintptr) { /* sqlite3.c:75994:21: */ var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt Xsqlite3BtreeEnter(tls, p) @@ -53924,7 +53943,7 @@ func Xsqlite3BtreeGetMeta(tls *libc.TLS, p uintptr, idx int32, pMeta uintptr) { // Write meta-information back into the database. Meta[0] is // read-only and may not be written. -func Xsqlite3BtreeUpdateMeta(tls *libc.TLS, p uintptr, idx int32, iMeta U32) int32 { /* sqlite3.c:76011:20: */ +func Xsqlite3BtreeUpdateMeta(tls *libc.TLS, p uintptr, idx int32, iMeta U32) int32 { /* sqlite3.c:76024:20: */ var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt var pP1 uintptr var rc int32 @@ -53950,7 +53969,7 @@ func Xsqlite3BtreeUpdateMeta(tls *libc.TLS, p uintptr, idx int32, iMeta U32) int // SQLITE_OK is returned if the operation is successfully executed. // Otherwise, if an error is encountered (i.e. an IO error or database // corruption) an SQLite error code is returned. -func Xsqlite3BtreeCount(tls *libc.TLS, db uintptr, pCur uintptr, pnEntry uintptr) int32 { /* sqlite3.c:76043:20: */ +func Xsqlite3BtreeCount(tls *libc.TLS, db uintptr, pCur uintptr, pnEntry uintptr) int32 { /* sqlite3.c:76056:20: */ var nEntry I64 = int64(0) // Value to return in *pnEntry var rc int32 // Return code @@ -54013,12 +54032,12 @@ func Xsqlite3BtreeCount(tls *libc.TLS, db uintptr, pCur uintptr, pnEntry uintptr // Return the pager associated with a BTree. This routine is used for // testing and debugging only. -func Xsqlite3BtreePager(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:76112:22: */ +func Xsqlite3BtreePager(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:76125:22: */ return (*BtShared)(unsafe.Pointer((*Btree)(unsafe.Pointer(p)).FpBt)).FpPager } // Append a message to the error message string. -func checkAppendMsg(tls *libc.TLS, pCheck uintptr, zFormat uintptr, va uintptr) { /* sqlite3.c:76120:13: */ +func checkAppendMsg(tls *libc.TLS, pCheck uintptr, zFormat uintptr, va uintptr) { /* sqlite3.c:76133:13: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -54045,13 +54064,13 @@ func checkAppendMsg(tls *libc.TLS, pCheck uintptr, zFormat uintptr, va uintptr) // Return non-zero if the bit in the IntegrityCk.aPgRef[] array that // corresponds to page iPg is already set. -func getPageReferenced(tls *libc.TLS, pCheck uintptr, iPg Pgno) int32 { /* sqlite3.c:76150:12: */ +func getPageReferenced(tls *libc.TLS, pCheck uintptr, iPg Pgno) int32 { /* sqlite3.c:76163:12: */ return int32(*(*U8)(unsafe.Pointer((*IntegrityCk)(unsafe.Pointer(pCheck)).FaPgRef + uintptr(iPg/Pgno(8))))) & (int32(1) << (iPg & Pgno(0x07))) } // Set the bit in the IntegrityCk.aPgRef[] array that corresponds to page iPg. -func setPageReferenced(tls *libc.TLS, pCheck uintptr, iPg Pgno) { /* sqlite3.c:76158:13: */ +func setPageReferenced(tls *libc.TLS, pCheck uintptr, iPg Pgno) { /* sqlite3.c:76171:13: */ *(*U8)(unsafe.Pointer((*IntegrityCk)(unsafe.Pointer(pCheck)).FaPgRef + uintptr(iPg/Pgno(8)))) |= U8(int32(1) << (iPg & Pgno(0x07))) } @@ -54062,7 +54081,7 @@ func setPageReferenced(tls *libc.TLS, pCheck uintptr, iPg Pgno) { /* sqlite3.c:7 // if this is the first reference to the page. // // Also check that the page number is in bounds. -func checkRef(tls *libc.TLS, pCheck uintptr, iPage Pgno) int32 { /* sqlite3.c:76172:12: */ +func checkRef(tls *libc.TLS, pCheck uintptr, iPage Pgno) int32 { /* sqlite3.c:76185:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -54084,7 +54103,7 @@ func checkRef(tls *libc.TLS, pCheck uintptr, iPage Pgno) int32 { /* sqlite3.c:76 // Check that the entry in the pointer-map for page iChild maps to // page iParent, pointer type ptrType. If not, append an error message // to pCheck. -func checkPtrmap(tls *libc.TLS, pCheck uintptr, iChild Pgno, eType U8, iParent Pgno) { /* sqlite3.c:76192:13: */ +func checkPtrmap(tls *libc.TLS, pCheck uintptr, iChild Pgno, eType U8, iParent Pgno) { /* sqlite3.c:76205:13: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -54111,7 +54130,7 @@ func checkPtrmap(tls *libc.TLS, pCheck uintptr, iChild Pgno, eType U8, iParent P // Check the integrity of the freelist or of an overflow page list. // Verify that the number of pages on the list is N. -func checkList(tls *libc.TLS, pCheck uintptr, isFreeList int32, iPage Pgno, N U32) { /* sqlite3.c:76221:13: */ +func checkList(tls *libc.TLS, pCheck uintptr, isFreeList int32, iPage Pgno, N U32) { /* sqlite3.c:76234:13: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -54195,7 +54214,7 @@ func checkList(tls *libc.TLS, pCheck uintptr, isFreeList int32, iPage Pgno, N U3 // entry represents the span of a cell or freeblock on a btree page. // The upper 16 bits are the index of the first byte of a range and the // lower 16 bits are the index of the last byte of that range. -func btreeHeapInsert(tls *libc.TLS, aHeap uintptr, x U32) { /* sqlite3.c:76310:13: */ +func btreeHeapInsert(tls *libc.TLS, aHeap uintptr, x U32) { /* sqlite3.c:76323:13: */ var j U32 var i U32 = libc.PreIncUint32(&*(*U32)(unsafe.Pointer(aHeap)), 1) *(*U32)(unsafe.Pointer(aHeap + uintptr(i)*4)) = x @@ -54207,7 +54226,7 @@ func btreeHeapInsert(tls *libc.TLS, aHeap uintptr, x U32) { /* sqlite3.c:76310:1 } } -func btreeHeapPull(tls *libc.TLS, aHeap uintptr, pOut uintptr) int32 { /* sqlite3.c:76320:12: */ +func btreeHeapPull(tls *libc.TLS, aHeap uintptr, pOut uintptr) int32 { /* sqlite3.c:76333:12: */ var j U32 var i U32 var x U32 @@ -54246,7 +54265,7 @@ func btreeHeapPull(tls *libc.TLS, aHeap uintptr, pOut uintptr) int32 { /* sqlite // 3. Check the integrity of overflow pages. // 4. Recursively call checkTreePage on all children. // 5. Verify that the depth of all children is the same. -func checkTreePage(tls *libc.TLS, pCheck uintptr, iPage Pgno, piMinKey uintptr, maxKey I64) int32 { /* sqlite3.c:76354:12: */ +func checkTreePage(tls *libc.TLS, pCheck uintptr, iPage Pgno, piMinKey uintptr, maxKey I64) int32 { /* sqlite3.c:76367:12: */ bp := tls.Alloc(140) defer tls.Free(140) *(*I64)(unsafe.Pointer(bp + 104)) = maxKey @@ -54635,7 +54654,7 @@ __34: // since obviously it is not possible to know which pages are covered by // the unverified btrees. Except, if aRoot[1] is 1, then the freelist // checks are still performed. -func Xsqlite3BtreeIntegrityCheck(tls *libc.TLS, db uintptr, p uintptr, aRoot uintptr, nRoot int32, mxErr int32, pnErr uintptr) uintptr { /* sqlite3.c:76633:21: */ +func Xsqlite3BtreeIntegrityCheck(tls *libc.TLS, db uintptr, p uintptr, aRoot uintptr, nRoot int32, mxErr int32, pnErr uintptr) uintptr { /* sqlite3.c:76646:21: */ bp := tls.Alloc(248) defer tls.Free(248) @@ -54869,7 +54888,7 @@ __29: // // The pager filename is invariant as long as the pager is // open so it is safe to access without the BtShared mutex. -func Xsqlite3BtreeGetFilename(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:76788:27: */ +func Xsqlite3BtreeGetFilename(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:76801:27: */ return Xsqlite3PagerFilename(tls, (*BtShared)(unsafe.Pointer((*Btree)(unsafe.Pointer(p)).FpBt)).FpPager, 1) } @@ -54880,14 +54899,14 @@ func Xsqlite3BtreeGetFilename(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:7 // // The pager journal filename is invariant as long as the pager is // open so it is safe to access without the BtShared mutex. -func Xsqlite3BtreeGetJournalname(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:76801:27: */ +func Xsqlite3BtreeGetJournalname(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:76814:27: */ return Xsqlite3PagerJournalname(tls, (*BtShared)(unsafe.Pointer((*Btree)(unsafe.Pointer(p)).FpBt)).FpPager) } // Return one of SQLITE_TXN_NONE, SQLITE_TXN_READ, or SQLITE_TXN_WRITE // to describe the current transaction state of Btree p. -func Xsqlite3BtreeTxnState(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:76810:20: */ +func Xsqlite3BtreeTxnState(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:76823:20: */ if p != 0 { return int32((*Btree)(unsafe.Pointer(p)).FinTrans) @@ -54901,7 +54920,7 @@ func Xsqlite3BtreeTxnState(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:76810: // transaction on the shared-cache the argument Btree is connected to. // // Parameter eMode is one of SQLITE_CHECKPOINT_PASSIVE, FULL or RESTART. -func Xsqlite3BtreeCheckpoint(tls *libc.TLS, p uintptr, eMode int32, pnLog uintptr, pnCkpt uintptr) int32 { /* sqlite3.c:76824:20: */ +func Xsqlite3BtreeCheckpoint(tls *libc.TLS, p uintptr, eMode int32, pnLog uintptr, pnCkpt uintptr) int32 { /* sqlite3.c:76837:20: */ var rc int32 = SQLITE_OK if p != 0 { var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt @@ -54917,7 +54936,7 @@ func Xsqlite3BtreeCheckpoint(tls *libc.TLS, p uintptr, eMode int32, pnLog uintpt } // Return true if there is currently a backup running on Btree p. -func Xsqlite3BtreeIsInBackup(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:76843:20: */ +func Xsqlite3BtreeIsInBackup(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:76856:20: */ return libc.Bool32((*Btree)(unsafe.Pointer(p)).FnBackup != 0) } @@ -54940,7 +54959,7 @@ func Xsqlite3BtreeIsInBackup(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:7684 // xFree argument when the memory allocation was made is invoked on the // blob of allocated memory. The xFree function should not call sqlite3_free() // on the memory, the btree layer does that. -func Xsqlite3BtreeSchema(tls *libc.TLS, p uintptr, nBytes int32, xFree uintptr) uintptr { /* sqlite3.c:76869:21: */ +func Xsqlite3BtreeSchema(tls *libc.TLS, p uintptr, nBytes int32, xFree uintptr) uintptr { /* sqlite3.c:76882:21: */ var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt Xsqlite3BtreeEnter(tls, p) if !(int32((*BtShared)(unsafe.Pointer(pBt)).FpSchema) != 0) && nBytes != 0 { @@ -54954,7 +54973,7 @@ func Xsqlite3BtreeSchema(tls *libc.TLS, p uintptr, nBytes int32, xFree uintptr) // Return SQLITE_LOCKED_SHAREDCACHE if another user of the same shared // btree as the argument handle holds an exclusive lock on the // sqlite_schema table. Otherwise SQLITE_OK. -func Xsqlite3BtreeSchemaLocked(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:76885:20: */ +func Xsqlite3BtreeSchemaLocked(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:76898:20: */ var rc int32 Xsqlite3BtreeEnter(tls, p) @@ -54967,7 +54986,7 @@ func Xsqlite3BtreeSchemaLocked(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:76 // Obtain a lock on the table whose root page is iTab. The // lock is a write lock if isWritelock is true or a read lock // if it is false. -func Xsqlite3BtreeLockTable(tls *libc.TLS, p uintptr, iTab int32, isWriteLock U8) int32 { /* sqlite3.c:76902:20: */ +func Xsqlite3BtreeLockTable(tls *libc.TLS, p uintptr, iTab int32, isWriteLock U8) int32 { /* sqlite3.c:76915:20: */ var rc int32 = SQLITE_OK if (*Btree)(unsafe.Pointer(p)).Fsharable != 0 { @@ -54991,7 +55010,7 @@ func Xsqlite3BtreeLockTable(tls *libc.TLS, p uintptr, iTab int32, isWriteLock U8 // change the length of the data stored. If this function is called with // parameters that attempt to write past the end of the existing data, // no modifications are made and SQLITE_CORRUPT is returned. -func Xsqlite3BtreePutData(tls *libc.TLS, pCsr uintptr, offset U32, amt U32, z uintptr) int32 { /* sqlite3.c:76932:20: */ +func Xsqlite3BtreePutData(tls *libc.TLS, pCsr uintptr, offset U32, amt U32, z uintptr) int32 { /* sqlite3.c:76945:20: */ var rc int32 rc = func() int32 { @@ -55031,7 +55050,7 @@ func Xsqlite3BtreePutData(tls *libc.TLS, pCsr uintptr, offset U32, amt U32, z ui } // Mark this cursor as an incremental blob cursor. -func Xsqlite3BtreeIncrblobCursor(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:76980:21: */ +func Xsqlite3BtreeIncrblobCursor(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:76993:21: */ *(*U8)(unsafe.Pointer(pCur + 1)) |= U8(BTCF_Incrblob) (*Btree)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pCur)).FpBtree)).FhasIncrblobCur = U8(1) } @@ -55039,7 +55058,7 @@ func Xsqlite3BtreeIncrblobCursor(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:769 // Set both the "read version" (single byte at byte offset 18) and // "write version" (single byte at byte offset 19) fields in the database // header to iVersion. -func Xsqlite3BtreeSetVersion(tls *libc.TLS, pBtree uintptr, iVersion int32) int32 { /* sqlite3.c:76991:20: */ +func Xsqlite3BtreeSetVersion(tls *libc.TLS, pBtree uintptr, iVersion int32) int32 { /* sqlite3.c:77004:20: */ var pBt uintptr = (*Btree)(unsafe.Pointer(pBtree)).FpBt var rc int32 // Return code @@ -55071,29 +55090,29 @@ func Xsqlite3BtreeSetVersion(tls *libc.TLS, pBtree uintptr, iVersion int32) int3 // Return true if the cursor has a hint specified. This routine is // only used from within assert() statements -func Xsqlite3BtreeCursorHasHint(tls *libc.TLS, pCsr uintptr, mask uint32) int32 { /* sqlite3.c:77026:20: */ +func Xsqlite3BtreeCursorHasHint(tls *libc.TLS, pCsr uintptr, mask uint32) int32 { /* sqlite3.c:77039:20: */ return libc.Bool32(uint32((*BtCursor)(unsafe.Pointer(pCsr)).Fhints)&mask != uint32(0)) } // Return true if the given Btree is read-only. -func Xsqlite3BtreeIsReadonly(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:77033:20: */ +func Xsqlite3BtreeIsReadonly(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:77046:20: */ return libc.Bool32(int32((*BtShared)(unsafe.Pointer((*Btree)(unsafe.Pointer(p)).FpBt)).FbtsFlags)&BTS_READ_ONLY != 0) } // Return the size of the header added to each page by this module. -func Xsqlite3HeaderSizeBtree(tls *libc.TLS) int32 { /* sqlite3.c:77040:20: */ +func Xsqlite3HeaderSizeBtree(tls *libc.TLS) int32 { /* sqlite3.c:77053:20: */ return int32((uint64(unsafe.Sizeof(MemPage{})) + uint64(7)) & libc.Uint64FromInt32(libc.CplInt32(7))) } // Return true if the Btree passed as the only argument is sharable. -func Xsqlite3BtreeSharable(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:77046:20: */ +func Xsqlite3BtreeSharable(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:77059:20: */ return int32((*Btree)(unsafe.Pointer(p)).Fsharable) } // Return the number of connections to the BtShared object accessed by // the Btree handle passed as the only argument. For private caches // this is always 1. For shared caches it may be 1 or greater. -func Xsqlite3BtreeConnectionCount(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:77055:20: */ +func Xsqlite3BtreeConnectionCount(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:77068:20: */ return (*BtShared)(unsafe.Pointer((*Btree)(unsafe.Pointer(p)).FpBt)).FnRef } @@ -55133,7 +55152,7 @@ func Xsqlite3BtreeConnectionCount(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c // If the "temp" database is requested, it may need to be opened by this // function. If an error occurs while doing so, return 0 and write an // error message to pErrorDb. -func findBtree(tls *libc.TLS, pErrorDb uintptr, pDb uintptr, zDb uintptr) uintptr { /* sqlite3.c:77144:14: */ +func findBtree(tls *libc.TLS, pErrorDb uintptr, pDb uintptr, zDb uintptr) uintptr { /* sqlite3.c:77157:14: */ bp := tls.Alloc(424) defer tls.Free(424) @@ -55165,7 +55184,7 @@ func findBtree(tls *libc.TLS, pErrorDb uintptr, pDb uintptr, zDb uintptr) uintpt // Attempt to set the page size of the destination to match the page size // of the source. -func setDestPgsz(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:77174:12: */ +func setDestPgsz(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:77187:12: */ var rc int32 rc = Xsqlite3BtreeSetPageSize(tls, (*Sqlite3_backup)(unsafe.Pointer(p)).FpDest, Xsqlite3BtreeGetPageSize(tls, (*Sqlite3_backup)(unsafe.Pointer(p)).FpSrc), 0, 0) return rc @@ -55175,7 +55194,7 @@ func setDestPgsz(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:77174:12: */ // second argument. If there is not, return SQLITE_OK. Otherwise, if there // is an open read-transaction, return SQLITE_ERROR and leave an error // message in database handle db. -func checkReadTransaction(tls *libc.TLS, db uintptr, p uintptr) int32 { /* sqlite3.c:77186:12: */ +func checkReadTransaction(tls *libc.TLS, db uintptr, p uintptr) int32 { /* sqlite3.c:77199:12: */ if Xsqlite3BtreeTxnState(tls, p) != SQLITE_TXN_NONE { Xsqlite3ErrorWithMsg(tls, db, SQLITE_ERROR, ts+4805, 0) return SQLITE_ERROR @@ -55189,7 +55208,7 @@ func checkReadTransaction(tls *libc.TLS, db uintptr, p uintptr) int32 { /* sqlit // // If an error occurs, NULL is returned and an error code and error message // stored in database handle pDestDb. -func Xsqlite3_backup_init(tls *libc.TLS, pDestDb uintptr, zDestDb uintptr, pSrcDb uintptr, zSrcDb uintptr) uintptr { /* sqlite3.c:77202:27: */ +func Xsqlite3_backup_init(tls *libc.TLS, pDestDb uintptr, zDestDb uintptr, pSrcDb uintptr, zSrcDb uintptr) uintptr { /* sqlite3.c:77215:27: */ var p uintptr // Value to return // Lock the source database handle. The destination database @@ -55249,14 +55268,14 @@ func Xsqlite3_backup_init(tls *libc.TLS, pDestDb uintptr, zDestDb uintptr, pSrcD // Argument rc is an SQLite error code. Return true if this error is // considered fatal if encountered during a backup operation. All errors // are considered fatal except for SQLITE_BUSY and SQLITE_LOCKED. -func isFatalError(tls *libc.TLS, rc int32) int32 { /* sqlite3.c:77279:12: */ +func isFatalError(tls *libc.TLS, rc int32) int32 { /* sqlite3.c:77292:12: */ return libc.Bool32(rc != SQLITE_OK && rc != SQLITE_BUSY && rc != SQLITE_LOCKED) } // Parameter zSrcData points to a buffer containing the data for // page iSrcPg from the source database. Copy this data into the // destination database. -func backupOnePage(tls *libc.TLS, p uintptr, iSrcPg Pgno, zSrcData uintptr, bUpdate int32) int32 { /* sqlite3.c:77288:12: */ +func backupOnePage(tls *libc.TLS, p uintptr, iSrcPg Pgno, zSrcData uintptr, bUpdate int32) int32 { /* sqlite3.c:77301:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -55318,7 +55337,7 @@ func backupOnePage(tls *libc.TLS, p uintptr, iSrcPg Pgno, zSrcData uintptr, bUpd // // Return SQLITE_OK if everything is successful, or an SQLite error // code if an error occurs. -func backupTruncateFile(tls *libc.TLS, pFile uintptr, iSize I64) int32 { /* sqlite3.c:77357:12: */ +func backupTruncateFile(tls *libc.TLS, pFile uintptr, iSize I64) int32 { /* sqlite3.c:77370:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -55333,7 +55352,7 @@ func backupTruncateFile(tls *libc.TLS, pFile uintptr, iSize I64) int32 { /* sqli // Register this backup object with the associated source pager for // callbacks when pages are changed or the cache invalidated. -func attachBackupObject(tls *libc.TLS, p uintptr) { /* sqlite3.c:77370:13: */ +func attachBackupObject(tls *libc.TLS, p uintptr) { /* sqlite3.c:77383:13: */ var pp uintptr pp = Xsqlite3PagerBackupPtr(tls, Xsqlite3BtreePager(tls, (*Sqlite3_backup)(unsafe.Pointer(p)).FpSrc)) @@ -55343,7 +55362,7 @@ func attachBackupObject(tls *libc.TLS, p uintptr) { /* sqlite3.c:77370:13: */ } // Copy nPage pages from the source b-tree to the destination. -func Xsqlite3_backup_step(tls *libc.TLS, p uintptr, nPage int32) int32 { /* sqlite3.c:77382:16: */ +func Xsqlite3_backup_step(tls *libc.TLS, p uintptr, nPage int32) int32 { /* sqlite3.c:77395:16: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -55581,7 +55600,7 @@ func Xsqlite3_backup_step(tls *libc.TLS, p uintptr, nPage int32) int32 { /* sqli } // Release all resources associated with an sqlite3_backup* handle. -func Xsqlite3_backup_finish(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:77636:16: */ +func Xsqlite3_backup_finish(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:77649:16: */ var pp uintptr // Ptr to head of pagers backup list var pSrcDb uintptr // Source database connection var rc int32 // Value to return @@ -55639,13 +55658,13 @@ func Xsqlite3_backup_finish(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:77636 // Return the number of pages still to be backed up as of the most recent // call to sqlite3_backup_step(). -func Xsqlite3_backup_remaining(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:77690:16: */ +func Xsqlite3_backup_remaining(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:77703:16: */ return int32((*Sqlite3_backup)(unsafe.Pointer(p)).FnRemaining) } // Return the total number of pages in the source database as of the most // recent call to sqlite3_backup_step(). -func Xsqlite3_backup_pagecount(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:77704:16: */ +func Xsqlite3_backup_pagecount(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:77717:16: */ return int32((*Sqlite3_backup)(unsafe.Pointer(p)).FnPagecount) } @@ -55659,7 +55678,7 @@ func Xsqlite3_backup_pagecount(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:77 // It is assumed that the mutex associated with the BtShared object // corresponding to the source database is held when this function is // called. -func backupUpdate(tls *libc.TLS, p uintptr, iPage Pgno, aData uintptr) { /* sqlite3.c:77726:29: */ +func backupUpdate(tls *libc.TLS, p uintptr, iPage Pgno, aData uintptr) { /* sqlite3.c:77739:29: */ for __ccgo := true; __ccgo; __ccgo = libc.AssignUintptr(&p, (*Sqlite3_backup)(unsafe.Pointer(p)).FpNext) != uintptr(0) { @@ -55680,7 +55699,7 @@ func backupUpdate(tls *libc.TLS, p uintptr, iPage Pgno, aData uintptr) { /* sqli } } -func Xsqlite3BackupUpdate(tls *libc.TLS, pBackup uintptr, iPage Pgno, aData uintptr) { /* sqlite3.c:77751:21: */ +func Xsqlite3BackupUpdate(tls *libc.TLS, pBackup uintptr, iPage Pgno, aData uintptr) { /* sqlite3.c:77764:21: */ if pBackup != 0 { backupUpdate(tls, pBackup, iPage, aData) } @@ -55695,7 +55714,7 @@ func Xsqlite3BackupUpdate(tls *libc.TLS, pBackup uintptr, iPage Pgno, aData uint // It is assumed that the mutex associated with the BtShared object // corresponding to the source database is held when this function is // called. -func Xsqlite3BackupRestart(tls *libc.TLS, pBackup uintptr) { /* sqlite3.c:77766:21: */ +func Xsqlite3BackupRestart(tls *libc.TLS, pBackup uintptr) { /* sqlite3.c:77779:21: */ var p uintptr // Iterator variable for p = pBackup; p != 0; p = (*Sqlite3_backup)(unsafe.Pointer(p)).FpNext { @@ -55709,7 +55728,7 @@ func Xsqlite3BackupRestart(tls *libc.TLS, pBackup uintptr) { /* sqlite3.c:77766: // The size of file pTo may be reduced by this operation. If anything // goes wrong, the transaction on pTo is rolled back. If successful, the // transaction is committed before returning. -func Xsqlite3BtreeCopyFile(tls *libc.TLS, pTo uintptr, pFrom uintptr) int32 { /* sqlite3.c:77783:20: */ +func Xsqlite3BtreeCopyFile(tls *libc.TLS, pTo uintptr, pFrom uintptr) int32 { /* sqlite3.c:77796:20: */ bp := tls.Alloc(80) defer tls.Free(80) @@ -55803,7 +55822,7 @@ copy_finished: // Render a Mem object which is one of MEM_Int, MEM_Real, or MEM_IntReal // into a buffer. -func vdbeMemRenderNum(tls *libc.TLS, sz int32, zBuf uintptr, p uintptr) { /* sqlite3.c:77941:13: */ +func vdbeMemRenderNum(tls *libc.TLS, sz int32, zBuf uintptr, p uintptr) { /* sqlite3.c:77954:13: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -55841,7 +55860,7 @@ func vdbeMemRenderNum(tls *libc.TLS, sz int32, zBuf uintptr, p uintptr) { /* sql // SQLITE_OK is returned if the conversion is successful (or not required). // SQLITE_NOMEM may be returned if a malloc() fails during conversion // between formats. -func Xsqlite3VdbeChangeEncoding(tls *libc.TLS, pMem uintptr, desiredEnc int32) int32 { /* sqlite3.c:78034:20: */ +func Xsqlite3VdbeChangeEncoding(tls *libc.TLS, pMem uintptr, desiredEnc int32) int32 { /* sqlite3.c:78047:20: */ var rc int32 if !(int32((*Mem)(unsafe.Pointer(pMem)).Fflags)&MEM_Str != 0) || int32((*Mem)(unsafe.Pointer(pMem)).Fenc) == desiredEnc { @@ -55861,7 +55880,7 @@ func Xsqlite3VdbeChangeEncoding(tls *libc.TLS, pMem uintptr, desiredEnc int32) i // pMem->z into the new allocation. pMem must be either a string or // blob if bPreserve is true. If bPreserve is false, any prior content // in pMem->z is discarded. -func Xsqlite3VdbeMemGrow(tls *libc.TLS, pMem uintptr, n int32, bPreserve int32) int32 { /* sqlite3.c:78069:36: */ +func Xsqlite3VdbeMemGrow(tls *libc.TLS, pMem uintptr, n int32, bPreserve int32) int32 { /* sqlite3.c:78082:36: */ // If the bPreserve flag is set to true, then the memory cell must already // contain a valid string or blob value. @@ -55917,7 +55936,7 @@ func Xsqlite3VdbeMemGrow(tls *libc.TLS, pMem uintptr, n int32, bPreserve int32) // // Return SQLITE_OK on success or an error code (probably SQLITE_NOMEM) // if unable to complete the resizing. -func Xsqlite3VdbeMemClearAndResize(tls *libc.TLS, pMem uintptr, szNew int32) int32 { /* sqlite3.c:78132:20: */ +func Xsqlite3VdbeMemClearAndResize(tls *libc.TLS, pMem uintptr, szNew int32) int32 { /* sqlite3.c:78145:20: */ if (*Mem)(unsafe.Pointer(pMem)).FszMalloc < szNew { return Xsqlite3VdbeMemGrow(tls, pMem, szNew, 0) @@ -55935,7 +55954,7 @@ func Xsqlite3VdbeMemClearAndResize(tls *libc.TLS, pMem uintptr, szNew int32) int // to be a double-zero byte at an even byte boundary in order to // terminate a UTF16 string, even if the initial size of the buffer // is an odd number of bytes. -func vdbeMemAddTerminator(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c:78153:28: */ +func vdbeMemAddTerminator(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c:78166:28: */ if Xsqlite3VdbeMemGrow(tls, pMem, (*Mem)(unsafe.Pointer(pMem)).Fn+3, 1) != 0 { return SQLITE_NOMEM } @@ -55950,7 +55969,7 @@ func vdbeMemAddTerminator(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c:7815 // MEM.zMalloc, where it can be safely written. // // Return SQLITE_OK on success or SQLITE_NOMEM if malloc fails. -func Xsqlite3VdbeMemMakeWriteable(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c:78170:20: */ +func Xsqlite3VdbeMemMakeWriteable(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c:78183:20: */ if int32((*Mem)(unsafe.Pointer(pMem)).Fflags)&(MEM_Str|MEM_Blob) != 0 { if func() int32 { @@ -55975,7 +55994,7 @@ func Xsqlite3VdbeMemMakeWriteable(tls *libc.TLS, pMem uintptr) int32 { /* sqlite // If the given Mem* has a zero-filled tail, turn it into an ordinary // blob stored in dynamically allocated space. -func Xsqlite3VdbeMemExpandBlob(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c:78194:20: */ +func Xsqlite3VdbeMemExpandBlob(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c:78207:20: */ var nByte int32 // Set nByte to the number of bytes required to store the expanded blob. @@ -55997,7 +56016,7 @@ func Xsqlite3VdbeMemExpandBlob(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c } // Make sure the given Mem is \u0000 terminated. -func Xsqlite3VdbeMemNulTerminate(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c:78225:20: */ +func Xsqlite3VdbeMemNulTerminate(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c:78238:20: */ if int32((*Mem)(unsafe.Pointer(pMem)).Fflags)&(MEM_Term|MEM_Str) != MEM_Str { return SQLITE_OK // Nothing to do @@ -56019,7 +56038,7 @@ func Xsqlite3VdbeMemNulTerminate(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3 // sqlite3_value_text()), or for ensuring that values to be used as btree // keys are strings. In the former case a NULL pointer is returned the // user and the latter is an internal programming error. -func Xsqlite3VdbeMemStringify(tls *libc.TLS, pMem uintptr, enc U8, bForce U8) int32 { /* sqlite3.c:78251:20: */ +func Xsqlite3VdbeMemStringify(tls *libc.TLS, pMem uintptr, enc U8, bForce U8) int32 { /* sqlite3.c:78264:20: */ var nByte int32 = 32 if Xsqlite3VdbeMemClearAndResize(tls, pMem, nByte) != 0 { @@ -56045,7 +56064,7 @@ func Xsqlite3VdbeMemStringify(tls *libc.TLS, pMem uintptr, enc U8, bForce U8) in // // Return SQLITE_ERROR if the finalizer reports an error. SQLITE_OK // otherwise. -func Xsqlite3VdbeMemFinalize(tls *libc.TLS, pMem uintptr, pFunc uintptr) int32 { /* sqlite3.c:78286:20: */ +func Xsqlite3VdbeMemFinalize(tls *libc.TLS, pMem uintptr, pFunc uintptr) int32 { /* sqlite3.c:78299:20: */ bp := tls.Alloc(112) defer tls.Free(112) @@ -56075,7 +56094,7 @@ func Xsqlite3VdbeMemFinalize(tls *libc.TLS, pMem uintptr, pFunc uintptr) int32 { // // SQLITE_ERROR is returned if xValue() reports an error. SQLITE_OK // otherwise. -func Xsqlite3VdbeMemAggValue(tls *libc.TLS, pAccum uintptr, pOut uintptr, pFunc uintptr) int32 { /* sqlite3.c:78317:20: */ +func Xsqlite3VdbeMemAggValue(tls *libc.TLS, pAccum uintptr, pOut uintptr, pFunc uintptr) int32 { /* sqlite3.c:78330:20: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -56097,7 +56116,7 @@ func Xsqlite3VdbeMemAggValue(tls *libc.TLS, pAccum uintptr, pOut uintptr, pFunc // This is a helper routine for sqlite3VdbeMemSetNull() and // for sqlite3VdbeMemRelease(). Use those other routines as the // entry point for releasing Mem resources. -func vdbeMemClearExternAndSetNull(tls *libc.TLS, p uintptr) { /* sqlite3.c:78342:29: */ +func vdbeMemClearExternAndSetNull(tls *libc.TLS, p uintptr) { /* sqlite3.c:78355:29: */ if int32((*Mem)(unsafe.Pointer(p)).Fflags)&MEM_Agg != 0 { Xsqlite3VdbeMemFinalize(tls, p, *(*uintptr)(unsafe.Pointer(p))) @@ -56116,7 +56135,7 @@ func vdbeMemClearExternAndSetNull(tls *libc.TLS, p uintptr) { /* sqlite3.c:78342 // This is a helper routine invoked by sqlite3VdbeMemRelease() in // the unusual case where there really is memory in p that needs // to be freed. -func vdbeMemClear(tls *libc.TLS, p uintptr) { /* sqlite3.c:78365:29: */ +func vdbeMemClear(tls *libc.TLS, p uintptr) { /* sqlite3.c:78378:29: */ if int32((*Mem)(unsafe.Pointer(p)).Fflags)&(MEM_Agg|MEM_Dyn) != 0 { vdbeMemClearExternAndSetNull(tls, p) } @@ -56135,7 +56154,7 @@ func vdbeMemClear(tls *libc.TLS, p uintptr) { /* sqlite3.c:78365:29: */ // // Use sqlite3VdbeMemSetNull() to release just the Mem.xDel space // prior to inserting new content into the Mem. -func Xsqlite3VdbeMemRelease(tls *libc.TLS, p uintptr) { /* sqlite3.c:78386:21: */ +func Xsqlite3VdbeMemRelease(tls *libc.TLS, p uintptr) { /* sqlite3.c:78399:21: */ if int32((*Mem)(unsafe.Pointer(p)).Fflags)&(MEM_Agg|MEM_Dyn) != 0 || (*Mem)(unsafe.Pointer(p)).FszMalloc != 0 { vdbeMemClear(tls, p) @@ -56145,7 +56164,7 @@ func Xsqlite3VdbeMemRelease(tls *libc.TLS, p uintptr) { /* sqlite3.c:78386:21: * // Convert a 64-bit IEEE double into a 64-bit signed integer. // If the double is out of range of a 64-bit signed integer then // return the closest available 64-bit signed integer. -func doubleToInt64(tls *libc.TLS, r float64) I64 { /* sqlite3.c:78398:28: */ +func doubleToInt64(tls *libc.TLS, r float64) I64 { /* sqlite3.c:78411:28: */ if r <= float64(minInt) { return minInt @@ -56157,8 +56176,8 @@ func doubleToInt64(tls *libc.TLS, r float64) I64 { /* sqlite3.c:78398:28: */ return I64(0) } -var maxInt I64 = int64(0xffffffff) | I64(int64(0x7fffffff))<<32 /* sqlite3.c:78410:20 */ -var minInt I64 = int64(-1) - (int64(0xffffffff) | I64(int64(0x7fffffff))<<32) /* sqlite3.c:78411:20 */ +var maxInt I64 = int64(0xffffffff) | I64(int64(0x7fffffff))<<32 /* sqlite3.c:78423:20 */ +var minInt I64 = int64(-1) - (int64(0xffffffff) | I64(int64(0x7fffffff))<<32) /* sqlite3.c:78424:20 */ // Return some kind of integer value which is the best we can do // at representing the value that *pMem describes as an integer. @@ -56169,7 +56188,7 @@ var minInt I64 = int64(-1) - (int64(0xffffffff) | I64(int64(0x7fffffff))<<32) /* // an SQL-NULL value, return 0. // // If pMem represents a string value, its encoding might be changed. -func memIntValue(tls *libc.TLS, pMem uintptr) I64 { /* sqlite3.c:78434:28: */ +func memIntValue(tls *libc.TLS, pMem uintptr) I64 { /* sqlite3.c:78447:28: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -56178,7 +56197,7 @@ func memIntValue(tls *libc.TLS, pMem uintptr) I64 { /* sqlite3.c:78434:28: */ return *(*I64)(unsafe.Pointer(bp /* value */)) } -func Xsqlite3VdbeIntValue(tls *libc.TLS, pMem uintptr) I64 { /* sqlite3.c:78439:20: */ +func Xsqlite3VdbeIntValue(tls *libc.TLS, pMem uintptr) I64 { /* sqlite3.c:78452:20: */ var flags int32 flags = int32((*Mem)(unsafe.Pointer(pMem)).Fflags) @@ -56199,7 +56218,7 @@ func Xsqlite3VdbeIntValue(tls *libc.TLS, pMem uintptr) I64 { /* sqlite3.c:78439: // double. If pMem is already a double or an integer, return its // value. If it is a string or blob, try to convert it to a double. // If it is a NULL, return 0.0. -func memRealValue(tls *libc.TLS, pMem uintptr) float64 { /* sqlite3.c:78463:31: */ +func memRealValue(tls *libc.TLS, pMem uintptr) float64 { /* sqlite3.c:78476:31: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -56209,7 +56228,7 @@ func memRealValue(tls *libc.TLS, pMem uintptr) float64 { /* sqlite3.c:78463:31: return *(*float64)(unsafe.Pointer(bp /* val */)) } -func Xsqlite3VdbeRealValue(tls *libc.TLS, pMem uintptr) float64 { /* sqlite3.c:78469:23: */ +func Xsqlite3VdbeRealValue(tls *libc.TLS, pMem uintptr) float64 { /* sqlite3.c:78482:23: */ if int32((*Mem)(unsafe.Pointer(pMem)).Fflags)&MEM_Real != 0 { return *(*float64)(unsafe.Pointer(pMem)) @@ -56227,7 +56246,7 @@ func Xsqlite3VdbeRealValue(tls *libc.TLS, pMem uintptr) float64 { /* sqlite3.c:7 // Return 1 if pMem represents true, and return 0 if pMem represents false. // Return the value ifNull if pMem is NULL. -func Xsqlite3VdbeBooleanValue(tls *libc.TLS, pMem uintptr, ifNull int32) int32 { /* sqlite3.c:78490:20: */ +func Xsqlite3VdbeBooleanValue(tls *libc.TLS, pMem uintptr, ifNull int32) int32 { /* sqlite3.c:78503:20: */ if int32((*Mem)(unsafe.Pointer(pMem)).Fflags)&(MEM_Int|MEM_IntReal) != 0 { return libc.Bool32(*(*I64)(unsafe.Pointer(pMem)) != int64(0)) @@ -56240,7 +56259,7 @@ func Xsqlite3VdbeBooleanValue(tls *libc.TLS, pMem uintptr, ifNull int32) int32 { // The MEM structure is already a MEM_Real. Try to also make it a // MEM_Int if we can. -func Xsqlite3VdbeIntegerAffinity(tls *libc.TLS, pMem uintptr) { /* sqlite3.c:78501:21: */ +func Xsqlite3VdbeIntegerAffinity(tls *libc.TLS, pMem uintptr) { /* sqlite3.c:78514:21: */ var ix I64 ix = doubleToInt64(tls, *(*float64)(unsafe.Pointer(pMem))) @@ -56261,7 +56280,7 @@ func Xsqlite3VdbeIntegerAffinity(tls *libc.TLS, pMem uintptr) { /* sqlite3.c:785 } // Convert pMem to type integer. Invalidate any prior representations. -func Xsqlite3VdbeMemIntegerify(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c:78530:20: */ +func Xsqlite3VdbeMemIntegerify(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c:78543:20: */ *(*I64)(unsafe.Pointer(pMem)) = Xsqlite3VdbeIntValue(tls, pMem) (*Mem)(unsafe.Pointer(pMem)).Fflags = U16(int32((*Mem)(unsafe.Pointer(pMem)).Fflags)&libc.CplInt32(MEM_TypeMask|MEM_Zero) | MEM_Int) @@ -56270,7 +56289,7 @@ func Xsqlite3VdbeMemIntegerify(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c // Convert pMem so that it is of type MEM_Real. // Invalidate any prior representations. -func Xsqlite3VdbeMemRealify(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c:78545:20: */ +func Xsqlite3VdbeMemRealify(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c:78558:20: */ *(*float64)(unsafe.Pointer(pMem)) = Xsqlite3VdbeRealValue(tls, pMem) (*Mem)(unsafe.Pointer(pMem)).Fflags = U16(int32((*Mem)(unsafe.Pointer(pMem)).Fflags)&libc.CplInt32(MEM_TypeMask|MEM_Zero) | MEM_Real) @@ -56285,7 +56304,7 @@ func Xsqlite3VdbeMemRealify(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c:78 // For some versions of GCC on 32-bit machines, if you do the more obvious // comparison of "r1==(double)i" you sometimes get an answer of false even // though the r1 and (double)i values are bit-for-bit the same. -func Xsqlite3RealSameAsInt(tls *libc.TLS, r1 float64, i Sqlite3_int64) int32 { /* sqlite3.c:78564:20: */ +func Xsqlite3RealSameAsInt(tls *libc.TLS, r1 float64, i Sqlite3_int64) int32 { /* sqlite3.c:78577:20: */ bp := tls.Alloc(16) defer tls.Free(16) *(*float64)(unsafe.Pointer(bp)) = r1 @@ -56302,7 +56321,7 @@ func Xsqlite3RealSameAsInt(tls *libc.TLS, r1 float64, i Sqlite3_int64) int32 { / // Every effort is made to force the conversion, even if the input // is a string that does not look completely like a number. Convert // as much of the string as we can and ignore the rest. -func Xsqlite3VdbeMemNumerify(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c:78579:20: */ +func Xsqlite3VdbeMemNumerify(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c:78592:20: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -56329,7 +56348,7 @@ func Xsqlite3VdbeMemNumerify(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c:7 // is forced. In other words, the value is converted into the desired // affinity even if that results in loss of data. This routine is // used (for example) to implement the SQL "cast()" operator. -func Xsqlite3VdbeMemCast(tls *libc.TLS, pMem uintptr, aff U8, encoding U8) int32 { /* sqlite3.c:78612:20: */ +func Xsqlite3VdbeMemCast(tls *libc.TLS, pMem uintptr, aff U8, encoding U8) int32 { /* sqlite3.c:78625:20: */ if int32((*Mem)(unsafe.Pointer(pMem)).Fflags)&MEM_Null != 0 { return SQLITE_OK } @@ -56383,7 +56402,7 @@ func Xsqlite3VdbeMemCast(tls *libc.TLS, pMem uintptr, aff U8, encoding U8) int32 // Initialize bulk memory to be a consistent Mem object. // // The minimum amount of initialization feasible is performed. -func Xsqlite3VdbeMemInit(tls *libc.TLS, pMem uintptr, db uintptr, flags U16) { /* sqlite3.c:78655:21: */ +func Xsqlite3VdbeMemInit(tls *libc.TLS, pMem uintptr, db uintptr, flags U16) { /* sqlite3.c:78668:21: */ (*Mem)(unsafe.Pointer(pMem)).Fflags = flags (*Mem)(unsafe.Pointer(pMem)).Fdb = db @@ -56400,7 +56419,7 @@ func Xsqlite3VdbeMemInit(tls *libc.TLS, pMem uintptr, db uintptr, flags U16) { / // Use this routine to reset the Mem prior to insert a new value. // // Use sqlite3VdbeMemRelease() to complete erase the Mem prior to abandoning it. -func Xsqlite3VdbeMemSetNull(tls *libc.TLS, pMem uintptr) { /* sqlite3.c:78675:21: */ +func Xsqlite3VdbeMemSetNull(tls *libc.TLS, pMem uintptr) { /* sqlite3.c:78688:21: */ if int32((*Mem)(unsafe.Pointer(pMem)).Fflags)&(MEM_Agg|MEM_Dyn) != 0 { vdbeMemClearExternAndSetNull(tls, pMem) } else { @@ -56408,13 +56427,13 @@ func Xsqlite3VdbeMemSetNull(tls *libc.TLS, pMem uintptr) { /* sqlite3.c:78675:21 } } -func Xsqlite3ValueSetNull(tls *libc.TLS, p uintptr) { /* sqlite3.c:78682:21: */ +func Xsqlite3ValueSetNull(tls *libc.TLS, p uintptr) { /* sqlite3.c:78695:21: */ Xsqlite3VdbeMemSetNull(tls, p) } // Delete any previous value and set the value to be a BLOB of length // n containing all zeros. -func Xsqlite3VdbeMemSetZeroBlob(tls *libc.TLS, pMem uintptr, n int32) { /* sqlite3.c:78691:21: */ +func Xsqlite3VdbeMemSetZeroBlob(tls *libc.TLS, pMem uintptr, n int32) { /* sqlite3.c:78704:21: */ Xsqlite3VdbeMemRelease(tls, pMem) (*Mem)(unsafe.Pointer(pMem)).Fflags = U16(MEM_Blob | MEM_Zero) (*Mem)(unsafe.Pointer(pMem)).Fn = 0 @@ -56429,7 +56448,7 @@ func Xsqlite3VdbeMemSetZeroBlob(tls *libc.TLS, pMem uintptr, n int32) { /* sqlit // The pMem is known to contain content that needs to be destroyed prior // to a value change. So invoke the destructor, then set the value to // a 64-bit integer. -func vdbeReleaseAndSetInt64(tls *libc.TLS, pMem uintptr, val I64) { /* sqlite3.c:78721:29: */ +func vdbeReleaseAndSetInt64(tls *libc.TLS, pMem uintptr, val I64) { /* sqlite3.c:78734:29: */ Xsqlite3VdbeMemSetNull(tls, pMem) *(*I64)(unsafe.Pointer(pMem)) = val (*Mem)(unsafe.Pointer(pMem)).Fflags = U16(MEM_Int) @@ -56437,7 +56456,7 @@ func vdbeReleaseAndSetInt64(tls *libc.TLS, pMem uintptr, val I64) { /* sqlite3.c // Delete any previous value and set the value stored in *pMem to val, // manifest type INTEGER. -func Xsqlite3VdbeMemSetInt64(tls *libc.TLS, pMem uintptr, val I64) { /* sqlite3.c:78731:21: */ +func Xsqlite3VdbeMemSetInt64(tls *libc.TLS, pMem uintptr, val I64) { /* sqlite3.c:78744:21: */ if int32((*Mem)(unsafe.Pointer(pMem)).Fflags)&(MEM_Agg|MEM_Dyn) != 0 { vdbeReleaseAndSetInt64(tls, pMem, val) } else { @@ -56447,13 +56466,13 @@ func Xsqlite3VdbeMemSetInt64(tls *libc.TLS, pMem uintptr, val I64) { /* sqlite3. } // A no-op destructor -func Xsqlite3NoopDestructor(tls *libc.TLS, p uintptr) { /* sqlite3.c:78741:21: */ +func Xsqlite3NoopDestructor(tls *libc.TLS, p uintptr) { /* sqlite3.c:78754:21: */ _ = p } // Set the value stored in *pMem should already be a NULL. // Also store a pointer to go with it. -func Xsqlite3VdbeMemSetPointer(tls *libc.TLS, pMem uintptr, pPtr uintptr, zPType uintptr, xDestructor uintptr) { /* sqlite3.c:78747:21: */ +func Xsqlite3VdbeMemSetPointer(tls *libc.TLS, pMem uintptr, pPtr uintptr, zPType uintptr, xDestructor uintptr) { /* sqlite3.c:78760:21: */ vdbeMemClear(tls, pMem) *(*uintptr)(unsafe.Pointer(pMem)) = func() uintptr { @@ -56475,7 +56494,7 @@ func Xsqlite3VdbeMemSetPointer(tls *libc.TLS, pMem uintptr, pPtr uintptr, zPType // Delete any previous value and set the value stored in *pMem to val, // manifest type REAL. -func Xsqlite3VdbeMemSetDouble(tls *libc.TLS, pMem uintptr, val float64) { /* sqlite3.c:78767:21: */ +func Xsqlite3VdbeMemSetDouble(tls *libc.TLS, pMem uintptr, val float64) { /* sqlite3.c:78780:21: */ Xsqlite3VdbeMemSetNull(tls, pMem) if !(Xsqlite3IsNaN(tls, val) != 0) { *(*float64)(unsafe.Pointer(pMem)) = val @@ -56488,7 +56507,7 @@ func Xsqlite3VdbeMemSetDouble(tls *libc.TLS, pMem uintptr, val float64) { /* sql // // Return SQLITE_OK on success and SQLITE_NOMEM if a memory allocation // error occurs. -func Xsqlite3VdbeMemSetRowSet(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c:78794:20: */ +func Xsqlite3VdbeMemSetRowSet(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c:78807:20: */ var db uintptr = (*Mem)(unsafe.Pointer(pMem)).Fdb var p uintptr @@ -56505,7 +56524,7 @@ func Xsqlite3VdbeMemSetRowSet(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c: // Return true if the Mem object contains a TEXT or BLOB that is // too large - whose size exceeds SQLITE_MAX_LENGTH. -func Xsqlite3VdbeMemTooBig(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:78812:20: */ +func Xsqlite3VdbeMemTooBig(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:78825:20: */ if int32((*Mem)(unsafe.Pointer(p)).Fflags)&(MEM_Str|MEM_Blob) != 0 { var n int32 = (*Mem)(unsafe.Pointer(p)).Fn @@ -56521,13 +56540,13 @@ func Xsqlite3VdbeMemTooBig(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:78812: // pTo are freed. The pFrom->z field is not duplicated. If // pFrom->z is used, then pTo->z points to the same thing as pFrom->z // and flags gets srcType (either MEM_Ephem or MEM_Static). -func vdbeClrCopy(tls *libc.TLS, pTo uintptr, pFrom uintptr, eType int32) { /* sqlite3.c:78868:29: */ +func vdbeClrCopy(tls *libc.TLS, pTo uintptr, pFrom uintptr, eType int32) { /* sqlite3.c:78881:29: */ vdbeMemClearExternAndSetNull(tls, pTo) Xsqlite3VdbeMemShallowCopy(tls, pTo, pFrom, eType) } -func Xsqlite3VdbeMemShallowCopy(tls *libc.TLS, pTo uintptr, pFrom uintptr, srcType int32) { /* sqlite3.c:78873:21: */ +func Xsqlite3VdbeMemShallowCopy(tls *libc.TLS, pTo uintptr, pFrom uintptr, srcType int32) { /* sqlite3.c:78886:21: */ if int32((*Mem)(unsafe.Pointer(pTo)).Fflags)&(MEM_Agg|MEM_Dyn) != 0 { vdbeClrCopy(tls, pTo, pFrom, srcType) @@ -56543,7 +56562,7 @@ func Xsqlite3VdbeMemShallowCopy(tls *libc.TLS, pTo uintptr, pFrom uintptr, srcTy // Make a full copy of pFrom into pTo. Prior contents of pTo are // freed before the copy is made. -func Xsqlite3VdbeMemCopy(tls *libc.TLS, pTo uintptr, pFrom uintptr) int32 { /* sqlite3.c:78889:20: */ +func Xsqlite3VdbeMemCopy(tls *libc.TLS, pTo uintptr, pFrom uintptr) int32 { /* sqlite3.c:78902:20: */ var rc int32 = SQLITE_OK if int32((*Mem)(unsafe.Pointer(pTo)).Fflags)&(MEM_Agg|MEM_Dyn) != 0 { @@ -56565,7 +56584,7 @@ func Xsqlite3VdbeMemCopy(tls *libc.TLS, pTo uintptr, pFrom uintptr) int32 { /* s // freed. If pFrom contains ephemeral data, a copy is made. // // pFrom contains an SQL NULL when this routine returns. -func Xsqlite3VdbeMemMove(tls *libc.TLS, pTo uintptr, pFrom uintptr) { /* sqlite3.c:78912:21: */ +func Xsqlite3VdbeMemMove(tls *libc.TLS, pTo uintptr, pFrom uintptr) { /* sqlite3.c:78925:21: */ Xsqlite3VdbeMemRelease(tls, pTo) libc.Xmemcpy(tls, pTo, pFrom, uint64(unsafe.Sizeof(Mem{}))) @@ -56586,7 +56605,7 @@ func Xsqlite3VdbeMemMove(tls *libc.TLS, pTo uintptr, pFrom uintptr) { /* sqlite3 // stored without allocating memory, then it is. If a memory allocation // is required to store the string, then value of pMem is unchanged. In // either case, SQLITE_TOOBIG is returned. -func Xsqlite3VdbeMemSetStr(tls *libc.TLS, pMem uintptr, z uintptr, n I64, enc U8, xDel uintptr) int32 { /* sqlite3.c:78938:20: */ +func Xsqlite3VdbeMemSetStr(tls *libc.TLS, pMem uintptr, z uintptr, n I64, enc U8, xDel uintptr) int32 { /* sqlite3.c:78951:20: */ var nByte I64 = n // New value for pMem->n var iLimit int32 // Maximum allowed string or blob size var flags U16 = U16(0) // New value for pMem->flags @@ -56699,11 +56718,11 @@ func Xsqlite3VdbeMemSetStr(tls *libc.TLS, pMem uintptr, z uintptr, n I64, enc U8 // // If this routine fails for any reason (malloc returns NULL or unable // to read from the disk) then the pMem is left in an inconsistent state. -func Xsqlite3VdbeMemFromBtree(tls *libc.TLS, pCur uintptr, offset U32, amt U32, pMem uintptr) int32 { /* sqlite3.c:79047:20: */ +func Xsqlite3VdbeMemFromBtree(tls *libc.TLS, pCur uintptr, offset U32, amt U32, pMem uintptr) int32 { /* sqlite3.c:79060:20: */ var rc int32 (*Mem)(unsafe.Pointer(pMem)).Fflags = U16(MEM_Null) if Xsqlite3BtreeMaxRecordSize(tls, pCur) < Sqlite3_int64(offset+amt) { - return Xsqlite3CorruptError(tls, 79056) + return Xsqlite3CorruptError(tls, 79069) } if SQLITE_OK == libc.AssignInt32(&rc, Xsqlite3VdbeMemClearAndResize(tls, pMem, int32(amt+U32(1)))) { rc = Xsqlite3BtreePayload(tls, pCur, offset, amt, (*Mem)(unsafe.Pointer(pMem)).Fz) @@ -56718,7 +56737,7 @@ func Xsqlite3VdbeMemFromBtree(tls *libc.TLS, pCur uintptr, offset U32, amt U32, return rc } -func Xsqlite3VdbeMemFromBtreeZeroOffset(tls *libc.TLS, pCur uintptr, amt U32, pMem uintptr) int32 { /* sqlite3.c:79070:20: */ +func Xsqlite3VdbeMemFromBtreeZeroOffset(tls *libc.TLS, pCur uintptr, amt U32, pMem uintptr) int32 { /* sqlite3.c:79083:20: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -56743,7 +56762,7 @@ func Xsqlite3VdbeMemFromBtreeZeroOffset(tls *libc.TLS, pCur uintptr, amt U32, pM // The pVal argument is known to be a value other than NULL. // Convert it into a string with encoding enc and return a pointer // to a zero-terminated version of that string. -func valueToText(tls *libc.TLS, pVal uintptr, enc U8) uintptr { /* sqlite3.c:79102:35: */ +func valueToText(tls *libc.TLS, pVal uintptr, enc U8) uintptr { /* sqlite3.c:79115:35: */ if int32((*Sqlite3_value)(unsafe.Pointer(pVal)).Fflags)&(MEM_Blob|MEM_Str) != 0 { if func() int32 { @@ -56788,7 +56807,7 @@ func valueToText(tls *libc.TLS, pVal uintptr, enc U8) uintptr { /* sqlite3.c:791 // (2006-02-16:) The enc value can be or-ed with SQLITE_UTF16_ALIGNED. // If that is the case, then the result must be aligned on an even byte // boundary. -func Xsqlite3ValueText(tls *libc.TLS, pVal uintptr, enc U8) uintptr { /* sqlite3.c:79145:27: */ +func Xsqlite3ValueText(tls *libc.TLS, pVal uintptr, enc U8) uintptr { /* sqlite3.c:79158:27: */ if !(pVal != 0) { return uintptr(0) } @@ -56804,7 +56823,7 @@ func Xsqlite3ValueText(tls *libc.TLS, pVal uintptr, enc U8) uintptr { /* sqlite3 } // Create a new sqlite3_value object. -func Xsqlite3ValueNew(tls *libc.TLS, db uintptr) uintptr { /* sqlite3.c:79163:30: */ +func Xsqlite3ValueNew(tls *libc.TLS, db uintptr) uintptr { /* sqlite3.c:79176:30: */ var p uintptr = Xsqlite3DbMallocZero(tls, db, uint64(unsafe.Sizeof(Mem{}))) if p != 0 { (*Mem)(unsafe.Pointer(p)).Fflags = U16(MEM_Null) @@ -56821,7 +56840,7 @@ type ValueNewStat4Ctx = struct { FppRec uintptr FiVal int32 F__ccgo_pad1 [4]byte -} /* sqlite3.c:79176:1 */ +} /* sqlite3.c:79189:1 */ // Allocate and return a pointer to a new sqlite3_value object. If // the second argument to this function is NULL, the object is allocated @@ -56832,7 +56851,7 @@ type ValueNewStat4Ctx = struct { // already been allocated, allocate the UnpackedRecord structure that // that function will return to its caller here. Then return a pointer to // an sqlite3_value within the UnpackedRecord.a[] array. -func valueNew(tls *libc.TLS, db uintptr, p uintptr) uintptr { /* sqlite3.c:79194:22: */ +func valueNew(tls *libc.TLS, db uintptr, p uintptr) uintptr { /* sqlite3.c:79207:22: */ if p != 0 { var pRec uintptr = *(*uintptr)(unsafe.Pointer((*ValueNewStat4Ctx)(unsafe.Pointer(p)).FppRec)) @@ -56888,7 +56907,7 @@ func valueNew(tls *libc.TLS, db uintptr, p uintptr) uintptr { /* sqlite3.c:79194 // If the conditions above are not met, this function returns SQLITE_OK // and sets (*ppVal) to NULL. Or, if an error occurs, (*ppVal) is set to // NULL and an SQLite error code returned. -func valueFromFunction(tls *libc.TLS, db uintptr, p uintptr, enc U8, aff U8, ppVal uintptr, pCtx uintptr) int32 { /* sqlite3.c:79256:12: */ +func valueFromFunction(tls *libc.TLS, db uintptr, p uintptr, enc U8, aff U8, ppVal uintptr, pCtx uintptr) int32 { /* sqlite3.c:79269:12: */ bp := tls.Alloc(64) defer tls.Free(64) @@ -57034,7 +57053,7 @@ __14: // has been allocated, it is freed before returning. Or, if pCtx is not // NULL, it is assumed that the caller will free any allocated object // in all cases. -func valueFromExpr(tls *libc.TLS, db uintptr, pExpr uintptr, enc U8, affinity U8, ppVal uintptr, pCtx uintptr) int32 { /* sqlite3.c:79352:12: */ +func valueFromExpr(tls *libc.TLS, db uintptr, pExpr uintptr, enc U8, affinity U8, ppVal uintptr, pCtx uintptr) int32 { /* sqlite3.c:79365:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -57282,7 +57301,7 @@ __35: // a pointer written to *ppVal. The caller is responsible for deallocating // the value by passing it to sqlite3ValueFree() later on. If the expression // cannot be converted to a value, then *ppVal is set to NULL. -func Xsqlite3ValueFromExpr(tls *libc.TLS, db uintptr, pExpr uintptr, enc U8, affinity U8, ppVal uintptr) int32 { /* sqlite3.c:79507:20: */ +func Xsqlite3ValueFromExpr(tls *libc.TLS, db uintptr, pExpr uintptr, enc U8, affinity U8, ppVal uintptr) int32 { /* sqlite3.c:79520:20: */ if pExpr != 0 { return valueFromExpr(tls, db, pExpr, enc, affinity, ppVal, uintptr(0)) } @@ -57305,7 +57324,7 @@ func Xsqlite3ValueFromExpr(tls *libc.TLS, db uintptr, pExpr uintptr, enc U8, aff // // On success, *ppVal is made to point to the extracted value. The caller // is responsible for ensuring that the value is eventually freed. -func stat4ValueFromExpr(tls *libc.TLS, pParse uintptr, pExpr uintptr, affinity U8, pAlloc uintptr, ppVal uintptr) int32 { /* sqlite3.c:79536:12: */ +func stat4ValueFromExpr(tls *libc.TLS, pParse uintptr, pExpr uintptr, affinity U8, pAlloc uintptr, ppVal uintptr) int32 { /* sqlite3.c:79549:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -57373,7 +57392,7 @@ func stat4ValueFromExpr(tls *libc.TLS, pParse uintptr, pExpr uintptr, affinity U // Unless an error is encountered, SQLITE_OK is returned. It is not an // error if a value cannot be extracted from pExpr. If an error does // occur, an SQLite error code is returned. -func Xsqlite3Stat4ProbeSetValue(tls *libc.TLS, pParse uintptr, pIdx uintptr, ppRec uintptr, pExpr uintptr, nElem int32, iVal int32, pnExtract uintptr) int32 { /* sqlite3.c:79611:20: */ +func Xsqlite3Stat4ProbeSetValue(tls *libc.TLS, pParse uintptr, pIdx uintptr, ppRec uintptr, pExpr uintptr, nElem int32, iVal int32, pnExtract uintptr) int32 { /* sqlite3.c:79624:20: */ bp := tls.Alloc(40) defer tls.Free(40) @@ -57418,7 +57437,7 @@ func Xsqlite3Stat4ProbeSetValue(tls *libc.TLS, pParse uintptr, pIdx uintptr, ppR // (e.g. OOM), return SQLITE_OK and set *ppVal to NULL. Or, if an error // does occur, return an SQLite error code. The final value of *ppVal // is undefined in this case. -func Xsqlite3Stat4ValueFromExpr(tls *libc.TLS, pParse uintptr, pExpr uintptr, affinity U8, ppVal uintptr) int32 { /* sqlite3.c:79656:20: */ +func Xsqlite3Stat4ValueFromExpr(tls *libc.TLS, pParse uintptr, pExpr uintptr, affinity U8, ppVal uintptr) int32 { /* sqlite3.c:79669:20: */ return stat4ValueFromExpr(tls, pParse, pExpr, affinity, uintptr(0), ppVal) } @@ -57428,7 +57447,7 @@ func Xsqlite3Stat4ValueFromExpr(tls *libc.TLS, pParse uintptr, pExpr uintptr, af // // If *ppVal is initially NULL then the caller is responsible for // ensuring that the value written into *ppVal is eventually freed. -func Xsqlite3Stat4Column(tls *libc.TLS, db uintptr, pRec uintptr, nRec int32, iCol int32, ppVal uintptr) int32 { /* sqlite3.c:79673:20: */ +func Xsqlite3Stat4Column(tls *libc.TLS, db uintptr, pRec uintptr, nRec int32, iCol int32, ppVal uintptr) int32 { /* sqlite3.c:79686:20: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -57449,7 +57468,7 @@ func Xsqlite3Stat4Column(tls *libc.TLS, db uintptr, pRec uintptr, nRec int32, iC return Xsqlite3GetVarint32(tls, a, bp) }()) if *(*int32)(unsafe.Pointer(bp)) > nRec || iHdr >= *(*int32)(unsafe.Pointer(bp)) { - return Xsqlite3CorruptError(tls, 79691) + return Xsqlite3CorruptError(tls, 79704) } iField = *(*int32)(unsafe.Pointer(bp /* nHdr */)) for i = 0; i <= iCol; i++ { @@ -57464,14 +57483,14 @@ func Xsqlite3Stat4Column(tls *libc.TLS, db uintptr, pRec uintptr, nRec int32, iC }()) if iHdr > *(*int32)(unsafe.Pointer(bp)) { - return Xsqlite3CorruptError(tls, 79697) + return Xsqlite3CorruptError(tls, 79710) } szField = int32(Xsqlite3VdbeSerialTypeLen(tls, *(*U32)(unsafe.Pointer(bp + 4 /* t */)))) iField = iField + szField } if iField > nRec { - return Xsqlite3CorruptError(tls, 79703) + return Xsqlite3CorruptError(tls, 79716) } if pMem == uintptr(0) { pMem = libc.AssignPtrUintptr(ppVal, Xsqlite3ValueNew(tls, db)) @@ -57487,7 +57506,7 @@ func Xsqlite3Stat4Column(tls *libc.TLS, db uintptr, pRec uintptr, nRec int32, iC // Unless it is NULL, the argument must be an UnpackedRecord object returned // by an earlier call to sqlite3Stat4ProbeSetValue(). This call deletes // the object. -func Xsqlite3Stat4ProbeFree(tls *libc.TLS, pRec uintptr) { /* sqlite3.c:79718:21: */ +func Xsqlite3Stat4ProbeFree(tls *libc.TLS, pRec uintptr) { /* sqlite3.c:79731:21: */ if pRec != 0 { var i int32 var nCol int32 = int32((*KeyInfo)(unsafe.Pointer((*UnpackedRecord)(unsafe.Pointer(pRec)).FpKeyInfo)).FnAllField) @@ -57502,14 +57521,14 @@ func Xsqlite3Stat4ProbeFree(tls *libc.TLS, pRec uintptr) { /* sqlite3.c:79718:21 } // Change the string value of an sqlite3_value object -func Xsqlite3ValueSetStr(tls *libc.TLS, v uintptr, n int32, z uintptr, enc U8, xDel uintptr) { /* sqlite3.c:79736:21: */ +func Xsqlite3ValueSetStr(tls *libc.TLS, v uintptr, n int32, z uintptr, enc U8, xDel uintptr) { /* sqlite3.c:79749:21: */ if v != 0 { Xsqlite3VdbeMemSetStr(tls, v, z, int64(n), enc, xDel) } } // Free an sqlite3_value object -func Xsqlite3ValueFree(tls *libc.TLS, v uintptr) { /* sqlite3.c:79749:21: */ +func Xsqlite3ValueFree(tls *libc.TLS, v uintptr) { /* sqlite3.c:79762:21: */ if !(v != 0) { return } @@ -57520,14 +57539,14 @@ func Xsqlite3ValueFree(tls *libc.TLS, v uintptr) { /* sqlite3.c:79749:21: */ // The sqlite3ValueBytes() routine returns the number of bytes in the // sqlite3_value object assuming that it uses the encoding "enc". // The valueBytes() routine is a helper function. -func valueBytes(tls *libc.TLS, pVal uintptr, enc U8) int32 { /* sqlite3.c:79760:28: */ +func valueBytes(tls *libc.TLS, pVal uintptr, enc U8) int32 { /* sqlite3.c:79773:28: */ if valueToText(tls, pVal, enc) != uintptr(0) { return (*Sqlite3_value)(unsafe.Pointer(pVal)).Fn } return 0 } -func Xsqlite3ValueBytes(tls *libc.TLS, pVal uintptr, enc U8) int32 { /* sqlite3.c:79763:20: */ +func Xsqlite3ValueBytes(tls *libc.TLS, pVal uintptr, enc U8) int32 { /* sqlite3.c:79776:20: */ var p uintptr = pVal if int32((*Mem)(unsafe.Pointer(p)).Fflags)&MEM_Str != 0 && int32((*Sqlite3_value)(unsafe.Pointer(pVal)).Fenc) == int32(enc) { @@ -57547,7 +57566,7 @@ func Xsqlite3ValueBytes(tls *libc.TLS, pVal uintptr, enc U8) int32 { /* sqlite3. } // Create a new virtual database engine. -func Xsqlite3VdbeCreate(tls *libc.TLS, pParse uintptr) uintptr { /* sqlite3.c:79806:21: */ +func Xsqlite3VdbeCreate(tls *libc.TLS, pParse uintptr) uintptr { /* sqlite3.c:79819:21: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb var p uintptr p = Xsqlite3DbMallocRawNN(tls, db, uint64(unsafe.Sizeof(Vdbe{}))) @@ -57571,12 +57590,12 @@ func Xsqlite3VdbeCreate(tls *libc.TLS, pParse uintptr) uintptr { /* sqlite3.c:79 } // Return the Parse object that owns a Vdbe object. -func Xsqlite3VdbeParser(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:79833:22: */ +func Xsqlite3VdbeParser(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:79846:22: */ return (*Vdbe)(unsafe.Pointer(p)).FpParse } // Change the error string stored in Vdbe.zErrMsg -func Xsqlite3VdbeError(tls *libc.TLS, p uintptr, zFormat uintptr, va uintptr) { /* sqlite3.c:79840:21: */ +func Xsqlite3VdbeError(tls *libc.TLS, p uintptr, zFormat uintptr, va uintptr) { /* sqlite3.c:79853:21: */ var ap Va_list _ = ap Xsqlite3DbFree(tls, (*Vdbe)(unsafe.Pointer(p)).Fdb, (*Vdbe)(unsafe.Pointer(p)).FzErrMsg) @@ -57586,7 +57605,7 @@ func Xsqlite3VdbeError(tls *libc.TLS, p uintptr, zFormat uintptr, va uintptr) { } // Remember the SQL string for a prepared statement. -func Xsqlite3VdbeSetSql(tls *libc.TLS, p uintptr, z uintptr, n int32, prepFlags U8) { /* sqlite3.c:79851:21: */ +func Xsqlite3VdbeSetSql(tls *libc.TLS, p uintptr, z uintptr, n int32, prepFlags U8) { /* sqlite3.c:79864:21: */ if p == uintptr(0) { return } @@ -57599,7 +57618,7 @@ func Xsqlite3VdbeSetSql(tls *libc.TLS, p uintptr, z uintptr, n int32, prepFlags } // Swap all content between two VDBE structures. -func Xsqlite3VdbeSwap(tls *libc.TLS, pA uintptr, pB uintptr) { /* sqlite3.c:79901:21: */ +func Xsqlite3VdbeSwap(tls *libc.TLS, pA uintptr, pB uintptr) { /* sqlite3.c:79914:21: */ var tmp Vdbe var pTmp uintptr var zTmp uintptr @@ -57630,7 +57649,7 @@ func Xsqlite3VdbeSwap(tls *libc.TLS, pA uintptr, pB uintptr) { /* sqlite3.c:7990 // SQLITE_NOMEM. In this case Vdbe.aOp and Vdbe.nOpAlloc remain // unchanged (this is so that any opcodes already allocated can be // correctly deallocated along with the rest of the Vdbe). -func growOpArray(tls *libc.TLS, v uintptr, nOp int32) int32 { /* sqlite3.c:79938:12: */ +func growOpArray(tls *libc.TLS, v uintptr, nOp int32) int32 { /* sqlite3.c:79951:12: */ var pNew uintptr var p uintptr = (*Vdbe)(unsafe.Pointer(v)).FpParse @@ -57683,7 +57702,7 @@ func growOpArray(tls *libc.TLS, v uintptr, nOp int32) int32 { /* sqlite3.c:79938 // Use the sqlite3VdbeResolveLabel() function to fix an address and // the sqlite3VdbeChangeP4() function to change the value of the P4 // operand. -func growOp3(tls *libc.TLS, p uintptr, op int32, p1 int32, p2 int32, p3 int32) int32 { /* sqlite3.c:80009:28: */ +func growOp3(tls *libc.TLS, p uintptr, op int32, p1 int32, p2 int32, p3 int32) int32 { /* sqlite3.c:80022:28: */ if growOpArray(tls, p, 1) != 0 { return 1 @@ -57692,7 +57711,7 @@ func growOp3(tls *libc.TLS, p uintptr, op int32, p1 int32, p2 int32, p3 int32) i return Xsqlite3VdbeAddOp3(tls, p, op, p1, p2, p3) } -func Xsqlite3VdbeAddOp3(tls *libc.TLS, p uintptr, op int32, p1 int32, p2 int32, p3 int32) int32 { /* sqlite3.c:80015:20: */ +func Xsqlite3VdbeAddOp3(tls *libc.TLS, p uintptr, op int32, p1 int32, p2 int32, p3 int32) int32 { /* sqlite3.c:80028:20: */ var i int32 var pOp uintptr @@ -57715,26 +57734,26 @@ func Xsqlite3VdbeAddOp3(tls *libc.TLS, p uintptr, op int32, p1 int32, p2 int32, return i } -func Xsqlite3VdbeAddOp0(tls *libc.TLS, p uintptr, op int32) int32 { /* sqlite3.c:80054:20: */ +func Xsqlite3VdbeAddOp0(tls *libc.TLS, p uintptr, op int32) int32 { /* sqlite3.c:80067:20: */ return Xsqlite3VdbeAddOp3(tls, p, op, 0, 0, 0) } -func Xsqlite3VdbeAddOp1(tls *libc.TLS, p uintptr, op int32, p1 int32) int32 { /* sqlite3.c:80057:20: */ +func Xsqlite3VdbeAddOp1(tls *libc.TLS, p uintptr, op int32, p1 int32) int32 { /* sqlite3.c:80070:20: */ return Xsqlite3VdbeAddOp3(tls, p, op, p1, 0, 0) } -func Xsqlite3VdbeAddOp2(tls *libc.TLS, p uintptr, op int32, p1 int32, p2 int32) int32 { /* sqlite3.c:80060:20: */ +func Xsqlite3VdbeAddOp2(tls *libc.TLS, p uintptr, op int32, p1 int32, p2 int32) int32 { /* sqlite3.c:80073:20: */ return Xsqlite3VdbeAddOp3(tls, p, op, p1, p2, 0) } // Generate code for an unconditional jump to instruction iDest -func Xsqlite3VdbeGoto(tls *libc.TLS, p uintptr, iDest int32) int32 { /* sqlite3.c:80066:20: */ +func Xsqlite3VdbeGoto(tls *libc.TLS, p uintptr, iDest int32) int32 { /* sqlite3.c:80079:20: */ return Xsqlite3VdbeAddOp3(tls, p, OP_Goto, 0, iDest, 0) } // Generate code to cause the string zStr to be loaded into // register iDest -func Xsqlite3VdbeLoadString(tls *libc.TLS, p uintptr, iDest int32, zStr uintptr) int32 { /* sqlite3.c:80073:20: */ +func Xsqlite3VdbeLoadString(tls *libc.TLS, p uintptr, iDest int32, zStr uintptr) int32 { /* sqlite3.c:80086:20: */ return Xsqlite3VdbeAddOp4(tls, p, OP_String8, 0, iDest, 0, zStr, 0) } @@ -57747,7 +57766,7 @@ func Xsqlite3VdbeLoadString(tls *libc.TLS, p uintptr, iDest int32, zStr uintptr) // // If the input string does not end with "X" then an OP_ResultRow instruction // is generated for the values inserted. -func Xsqlite3VdbeMultiLoad(tls *libc.TLS, p uintptr, iDest int32, zTypes uintptr, va uintptr) { /* sqlite3.c:80088:21: */ +func Xsqlite3VdbeMultiLoad(tls *libc.TLS, p uintptr, iDest int32, zTypes uintptr, va uintptr) { /* sqlite3.c:80101:21: */ var ap Va_list _ = ap var i int32 @@ -57795,7 +57814,7 @@ skip_op_resultrow: } // Add an opcode that includes the p4 value as a pointer. -func Xsqlite3VdbeAddOp4(tls *libc.TLS, p uintptr, op int32, p1 int32, p2 int32, p3 int32, zP4 uintptr, p4type int32) int32 { /* sqlite3.c:80111:20: */ +func Xsqlite3VdbeAddOp4(tls *libc.TLS, p uintptr, op int32, p1 int32, p2 int32, p3 int32, zP4 uintptr, p4type int32) int32 { /* sqlite3.c:80124:20: */ var addr int32 = Xsqlite3VdbeAddOp3(tls, p, op, p1, p2, p3) Xsqlite3VdbeChangeP4(tls, p, addr, zP4, p4type) return addr @@ -57809,7 +57828,7 @@ func Xsqlite3VdbeAddOp4(tls *libc.TLS, p uintptr, op int32, p1 int32, p2 int32, // NC_IdxExpr means called as part of an index expression. NC_PartIdx // means in the WHERE clause of a partial index. NC_GenCol means called // while computing a generated column value. 0 is the usual case. -func Xsqlite3VdbeAddFunctionCall(tls *libc.TLS, pParse uintptr, p1 int32, p2 int32, p3 int32, nArg int32, pFunc uintptr, eCallCtx int32) int32 { /* sqlite3.c:80135:20: */ +func Xsqlite3VdbeAddFunctionCall(tls *libc.TLS, pParse uintptr, p1 int32, p2 int32, p3 int32, nArg int32, pFunc uintptr, eCallCtx int32) int32 { /* sqlite3.c:80148:20: */ var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe var nByte int32 var addr int32 @@ -57841,7 +57860,7 @@ func Xsqlite3VdbeAddFunctionCall(tls *libc.TLS, pParse uintptr, p1 int32, p2 int // Add an opcode that includes the p4 value with a P4_INT64 or // P4_REAL type. -func Xsqlite3VdbeAddOp4Dup8(tls *libc.TLS, p uintptr, op int32, p1 int32, p2 int32, p3 int32, zP4 uintptr, p4type int32) int32 { /* sqlite3.c:80172:20: */ +func Xsqlite3VdbeAddOp4Dup8(tls *libc.TLS, p uintptr, op int32, p1 int32, p2 int32, p3 int32, zP4 uintptr, p4type int32) int32 { /* sqlite3.c:80185:20: */ var p4copy uintptr = Xsqlite3DbMallocRawNN(tls, Xsqlite3VdbeDb(tls, p), uint64(8)) if p4copy != 0 { libc.Xmemcpy(tls, p4copy, zP4, uint64(8)) @@ -57851,7 +57870,7 @@ func Xsqlite3VdbeAddOp4Dup8(tls *libc.TLS, p uintptr, op int32, p1 int32, p2 int // Return the address of the current EXPLAIN QUERY PLAN baseline. // 0 means "none". -func Xsqlite3VdbeExplainParent(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:80191:20: */ +func Xsqlite3VdbeExplainParent(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:80204:20: */ var pOp uintptr if (*Parse)(unsafe.Pointer(pParse)).FaddrExplain == 0 { return 0 @@ -57867,7 +57886,7 @@ func Xsqlite3VdbeExplainParent(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3 // // If the bPush flag is true, then make this opcode the parent for // subsequent Explains until sqlite3VdbeExplainPop() is called. -func Xsqlite3VdbeExplain(tls *libc.TLS, pParse uintptr, bPush U8, zFmt uintptr, va uintptr) { /* sqlite3.c:80215:21: */ +func Xsqlite3VdbeExplain(tls *libc.TLS, pParse uintptr, bPush U8, zFmt uintptr, va uintptr) { /* sqlite3.c:80228:21: */ // Always include the OP_Explain opcodes if SQLITE_DEBUG is defined. // But omit them (for performance) during production builds if int32((*Parse)(unsafe.Pointer(pParse)).Fexplain) == 2 { @@ -57891,7 +57910,7 @@ func Xsqlite3VdbeExplain(tls *libc.TLS, pParse uintptr, bPush U8, zFmt uintptr, } // Pop the EXPLAIN QUERY PLAN stack one level. -func Xsqlite3VdbeExplainPop(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:80243:21: */ +func Xsqlite3VdbeExplainPop(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:80256:21: */ (*Parse)(unsafe.Pointer(pParse)).FaddrExplain = Xsqlite3VdbeExplainParent(tls, pParse) } @@ -57902,7 +57921,7 @@ func Xsqlite3VdbeExplainPop(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:80243: // // The zWhere string must have been obtained from sqlite3_malloc(). // This routine will take ownership of the allocated memory. -func Xsqlite3VdbeAddParseSchemaOp(tls *libc.TLS, p uintptr, iDb int32, zWhere uintptr, p5 U16) { /* sqlite3.c:80257:21: */ +func Xsqlite3VdbeAddParseSchemaOp(tls *libc.TLS, p uintptr, iDb int32, zWhere uintptr, p5 U16) { /* sqlite3.c:80270:21: */ var j int32 Xsqlite3VdbeAddOp4(tls, p, OP_ParseSchema, iDb, 0, 0, zWhere, -7) Xsqlite3VdbeChangeP5(tls, p, p5) @@ -57913,7 +57932,7 @@ func Xsqlite3VdbeAddParseSchemaOp(tls *libc.TLS, p uintptr, iDb int32, zWhere ui } // Add an opcode that includes the p4 value as an integer. -func Xsqlite3VdbeAddOp4Int(tls *libc.TLS, p uintptr, op int32, p1 int32, p2 int32, p3 int32, p4 int32) int32 { /* sqlite3.c:80268:20: */ +func Xsqlite3VdbeAddOp4Int(tls *libc.TLS, p uintptr, op int32, p1 int32, p2 int32, p3 int32, p4 int32) int32 { /* sqlite3.c:80281:20: */ var addr int32 = Xsqlite3VdbeAddOp3(tls, p, op, p1, p2, p3) if int32((*Sqlite3)(unsafe.Pointer((*Vdbe)(unsafe.Pointer(p)).Fdb)).FmallocFailed) == 0 { var pOp uintptr = (*Vdbe)(unsafe.Pointer(p)).FaOp + uintptr(addr)*24 @@ -57924,7 +57943,7 @@ func Xsqlite3VdbeAddOp4Int(tls *libc.TLS, p uintptr, op int32, p1 int32, p2 int3 } // Insert the end of a co-routine -func Xsqlite3VdbeEndCoroutine(tls *libc.TLS, v uintptr, regYield int32) { /* sqlite3.c:80287:21: */ +func Xsqlite3VdbeEndCoroutine(tls *libc.TLS, v uintptr, regYield int32) { /* sqlite3.c:80300:21: */ Xsqlite3VdbeAddOp1(tls, v, OP_EndCoroutine, regYield) // Clear the temporary register cache, thereby ensuring that each @@ -57959,14 +57978,14 @@ func Xsqlite3VdbeEndCoroutine(tls *libc.TLS, v uintptr, regYield int32) { /* sql // been issued. The negative is stored because // that gives a performance improvement over storing // the equivalent positive value. -func Xsqlite3VdbeMakeLabel(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:80325:20: */ +func Xsqlite3VdbeMakeLabel(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:80338:20: */ return libc.PreDecInt32(&(*Parse)(unsafe.Pointer(pParse)).FnLabel, 1) } // Resolve label "x" to be the address of the next instruction to // be inserted. The parameter "x" must have been obtained from // a prior call to sqlite3VdbeMakeLabel(). -func resizeResolveLabel(tls *libc.TLS, p uintptr, v uintptr, j int32) { /* sqlite3.c:80334:29: */ +func resizeResolveLabel(tls *libc.TLS, p uintptr, v uintptr, j int32) { /* sqlite3.c:80347:29: */ var nNewSize int32 = 10 - (*Parse)(unsafe.Pointer(p)).FnLabel (*Parse)(unsafe.Pointer(p)).FaLabel = Xsqlite3DbReallocOrFree(tls, (*Parse)(unsafe.Pointer(p)).Fdb, (*Parse)(unsafe.Pointer(p)).FaLabel, uint64(uint64(nNewSize)*uint64(unsafe.Sizeof(int32(0))))) @@ -57978,7 +57997,7 @@ func resizeResolveLabel(tls *libc.TLS, p uintptr, v uintptr, j int32) { /* sqlit } } -func Xsqlite3VdbeResolveLabel(tls *libc.TLS, v uintptr, x int32) { /* sqlite3.c:80349:21: */ +func Xsqlite3VdbeResolveLabel(tls *libc.TLS, v uintptr, x int32) { /* sqlite3.c:80362:21: */ var p uintptr = (*Vdbe)(unsafe.Pointer(v)).FpParse var j int32 = ^x @@ -57991,12 +58010,12 @@ func Xsqlite3VdbeResolveLabel(tls *libc.TLS, v uintptr, x int32) { /* sqlite3.c: } // Mark the VDBE as one that can only be run one time. -func Xsqlite3VdbeRunOnlyOnce(tls *libc.TLS, p uintptr) { /* sqlite3.c:80371:21: */ +func Xsqlite3VdbeRunOnlyOnce(tls *libc.TLS, p uintptr) { /* sqlite3.c:80384:21: */ libc.SetBitFieldPtr16Uint32(p+208, Bft(1), 10, 0x400) } // Mark the VDBE as one that can only be run multiple times. -func Xsqlite3VdbeReusable(tls *libc.TLS, p uintptr) { /* sqlite3.c:80378:21: */ +func Xsqlite3VdbeReusable(tls *libc.TLS, p uintptr) { /* sqlite3.c:80391:21: */ libc.SetBitFieldPtr16Uint32(p+208, Bft(0), 10, 0x400) } @@ -58019,7 +58038,7 @@ func Xsqlite3VdbeReusable(tls *libc.TLS, p uintptr) { /* sqlite3.c:80378:21: */ // This routine will only function correctly if the mkopcodeh.tcl generator // script numbers the opcodes correctly. Changes to this routine must be // coordinated with changes to mkopcodeh.tcl. -func resolveP2Values(tls *libc.TLS, p uintptr, pMaxFuncArgs uintptr) { /* sqlite3.c:80574:13: */ +func resolveP2Values(tls *libc.TLS, p uintptr, pMaxFuncArgs uintptr) { /* sqlite3.c:80587:13: */ var nMaxArgs int32 = *(*int32)(unsafe.Pointer(pMaxFuncArgs)) var pOp uintptr var pParse uintptr = (*Vdbe)(unsafe.Pointer(p)).FpParse @@ -58148,7 +58167,7 @@ func resolveP2Values(tls *libc.TLS, p uintptr, pMaxFuncArgs uintptr) { /* sqlite } // Return the address of the next instruction to be inserted. -func Xsqlite3VdbeCurrentAddr(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:80676:20: */ +func Xsqlite3VdbeCurrentAddr(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:80689:20: */ return (*Vdbe)(unsafe.Pointer(p)).FnOp } @@ -58179,7 +58198,7 @@ func Xsqlite3VdbeCurrentAddr(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:8067 // array. Also, *pnMaxArg is set to the larger of its current value and // the number of entries in the Vdbe.apArg[] array required to execute the // returned program. -func Xsqlite3VdbeTakeOpArray(tls *libc.TLS, p uintptr, pnOp uintptr, pnMaxArg uintptr) uintptr { /* sqlite3.c:80733:23: */ +func Xsqlite3VdbeTakeOpArray(tls *libc.TLS, p uintptr, pnOp uintptr, pnMaxArg uintptr) uintptr { /* sqlite3.c:80746:23: */ var aOp uintptr = (*Vdbe)(unsafe.Pointer(p)).FaOp // Check that sqlite3VdbeUsesBtree() was not called on this VM @@ -58195,7 +58214,7 @@ func Xsqlite3VdbeTakeOpArray(tls *libc.TLS, p uintptr, pnOp uintptr, pnMaxArg ui // // Non-zero P2 arguments to jump instructions are automatically adjusted // so that the jump target is relative to the first operation inserted. -func Xsqlite3VdbeAddOpList(tls *libc.TLS, p uintptr, nOp int32, aOp uintptr, iLineno int32) uintptr { /* sqlite3.c:80753:23: */ +func Xsqlite3VdbeAddOpList(tls *libc.TLS, p uintptr, nOp int32, aOp uintptr, iLineno int32) uintptr { /* sqlite3.c:80766:23: */ var i int32 var pOut uintptr var pFirst uintptr @@ -58239,23 +58258,23 @@ __3: // Change the value of the opcode, or P1, P2, P3, or P5 operands // for a specific instruction. -func Xsqlite3VdbeChangeOpcode(tls *libc.TLS, p uintptr, addr int32, iNewOpcode U8) { /* sqlite3.c:80829:21: */ +func Xsqlite3VdbeChangeOpcode(tls *libc.TLS, p uintptr, addr int32, iNewOpcode U8) { /* sqlite3.c:80842:21: */ (*VdbeOp)(unsafe.Pointer(Xsqlite3VdbeGetOp(tls, p, addr))).Fopcode = iNewOpcode } -func Xsqlite3VdbeChangeP1(tls *libc.TLS, p uintptr, addr int32, val int32) { /* sqlite3.c:80832:21: */ +func Xsqlite3VdbeChangeP1(tls *libc.TLS, p uintptr, addr int32, val int32) { /* sqlite3.c:80845:21: */ (*VdbeOp)(unsafe.Pointer(Xsqlite3VdbeGetOp(tls, p, addr))).Fp1 = val } -func Xsqlite3VdbeChangeP2(tls *libc.TLS, p uintptr, addr int32, val int32) { /* sqlite3.c:80835:21: */ +func Xsqlite3VdbeChangeP2(tls *libc.TLS, p uintptr, addr int32, val int32) { /* sqlite3.c:80848:21: */ (*VdbeOp)(unsafe.Pointer(Xsqlite3VdbeGetOp(tls, p, addr))).Fp2 = val } -func Xsqlite3VdbeChangeP3(tls *libc.TLS, p uintptr, addr int32, val int32) { /* sqlite3.c:80838:21: */ +func Xsqlite3VdbeChangeP3(tls *libc.TLS, p uintptr, addr int32, val int32) { /* sqlite3.c:80851:21: */ (*VdbeOp)(unsafe.Pointer(Xsqlite3VdbeGetOp(tls, p, addr))).Fp3 = val } -func Xsqlite3VdbeChangeP5(tls *libc.TLS, p uintptr, p5 U16) { /* sqlite3.c:80841:21: */ +func Xsqlite3VdbeChangeP5(tls *libc.TLS, p uintptr, p5 U16) { /* sqlite3.c:80854:21: */ if (*Vdbe)(unsafe.Pointer(p)).FnOp > 0 { (*Op)(unsafe.Pointer((*Vdbe)(unsafe.Pointer(p)).FaOp + uintptr((*Vdbe)(unsafe.Pointer(p)).FnOp-1)*24)).Fp5 = p5 @@ -58264,7 +58283,7 @@ func Xsqlite3VdbeChangeP5(tls *libc.TLS, p uintptr, p5 U16) { /* sqlite3.c:80841 // Change the P2 operand of instruction addr so that it points to // the address of the next instruction to be coded. -func Xsqlite3VdbeJumpHere(tls *libc.TLS, p uintptr, addr int32) { /* sqlite3.c:80850:21: */ +func Xsqlite3VdbeJumpHere(tls *libc.TLS, p uintptr, addr int32) { /* sqlite3.c:80863:21: */ Xsqlite3VdbeChangeP2(tls, p, addr, (*Vdbe)(unsafe.Pointer(p)).FnOp) } @@ -58279,7 +58298,7 @@ func Xsqlite3VdbeJumpHere(tls *libc.TLS, p uintptr, addr int32) { /* sqlite3.c:8 // // 7 Once 0 8 0 // 8 ... -func Xsqlite3VdbeJumpHereOrPopInst(tls *libc.TLS, p uintptr, addr int32) { /* sqlite3.c:80867:21: */ +func Xsqlite3VdbeJumpHereOrPopInst(tls *libc.TLS, p uintptr, addr int32) { /* sqlite3.c:80880:21: */ if addr == (*Vdbe)(unsafe.Pointer(p)).FnOp-1 { (*Vdbe)(unsafe.Pointer(p)).FnOp-- @@ -58290,26 +58309,26 @@ func Xsqlite3VdbeJumpHereOrPopInst(tls *libc.TLS, p uintptr, addr int32) { /* sq // If the input FuncDef structure is ephemeral, then free it. If // the FuncDef is not ephermal, then do nothing. -func freeEphemeralFunction(tls *libc.TLS, db uintptr, pDef uintptr) { /* sqlite3.c:80887:13: */ +func freeEphemeralFunction(tls *libc.TLS, db uintptr, pDef uintptr) { /* sqlite3.c:80900:13: */ if (*FuncDef)(unsafe.Pointer(pDef)).FfuncFlags&U32(SQLITE_FUNC_EPHEM) != U32(0) { Xsqlite3DbFreeNN(tls, db, pDef) } } // Delete a P4 value if necessary. -func freeP4Mem(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:80896:29: */ +func freeP4Mem(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:80909:29: */ if (*Mem)(unsafe.Pointer(p)).FszMalloc != 0 { Xsqlite3DbFree(tls, db, (*Mem)(unsafe.Pointer(p)).FzMalloc) } Xsqlite3DbFreeNN(tls, db, p) } -func freeP4FuncCtx(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:80900:29: */ +func freeP4FuncCtx(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:80913:29: */ freeEphemeralFunction(tls, db, (*Sqlite3_context)(unsafe.Pointer(p)).FpFunc) Xsqlite3DbFreeNN(tls, db, p) } -func freeP4(tls *libc.TLS, db uintptr, p4type int32, p4 uintptr) { /* sqlite3.c:80904:13: */ +func freeP4(tls *libc.TLS, db uintptr, p4type int32, p4 uintptr) { /* sqlite3.c:80917:13: */ switch p4type { case -16: @@ -58370,7 +58389,7 @@ func freeP4(tls *libc.TLS, db uintptr, p4type int32, p4 uintptr) { /* sqlite3.c: // Free the space allocated for aOp and any p4 values allocated for the // opcodes contained within. If aOp is not NULL it is assumed to contain // nOp entries. -func vdbeFreeOpArray(tls *libc.TLS, db uintptr, aOp uintptr, nOp int32) { /* sqlite3.c:80953:13: */ +func vdbeFreeOpArray(tls *libc.TLS, db uintptr, aOp uintptr, nOp int32) { /* sqlite3.c:80966:13: */ if aOp != 0 { var pOp uintptr for pOp = aOp + uintptr(nOp-1)*24; pOp >= aOp; pOp -= 24 { @@ -58385,18 +58404,18 @@ func vdbeFreeOpArray(tls *libc.TLS, db uintptr, aOp uintptr, nOp int32) { /* sql // Link the SubProgram object passed as the second argument into the linked // list at Vdbe.pSubProgram. This list is used to delete all sub-program // objects when the VM is no longer required. -func Xsqlite3VdbeLinkSubProgram(tls *libc.TLS, pVdbe uintptr, p uintptr) { /* sqlite3.c:80971:21: */ +func Xsqlite3VdbeLinkSubProgram(tls *libc.TLS, pVdbe uintptr, p uintptr) { /* sqlite3.c:80984:21: */ (*SubProgram)(unsafe.Pointer(p)).FpNext = (*Vdbe)(unsafe.Pointer(pVdbe)).FpProgram (*Vdbe)(unsafe.Pointer(pVdbe)).FpProgram = p } // Return true if the given Vdbe has any SubPrograms. -func Xsqlite3VdbeHasSubProgram(tls *libc.TLS, pVdbe uintptr) int32 { /* sqlite3.c:80979:20: */ +func Xsqlite3VdbeHasSubProgram(tls *libc.TLS, pVdbe uintptr) int32 { /* sqlite3.c:80992:20: */ return libc.Bool32((*Vdbe)(unsafe.Pointer(pVdbe)).FpProgram != uintptr(0)) } // Change the opcode at addr into OP_Noop -func Xsqlite3VdbeChangeToNoop(tls *libc.TLS, p uintptr, addr int32) int32 { /* sqlite3.c:80986:20: */ +func Xsqlite3VdbeChangeToNoop(tls *libc.TLS, p uintptr, addr int32) int32 { /* sqlite3.c:80999:20: */ var pOp uintptr if (*Sqlite3)(unsafe.Pointer((*Vdbe)(unsafe.Pointer(p)).Fdb)).FmallocFailed != 0 { return 0 @@ -58412,7 +58431,7 @@ func Xsqlite3VdbeChangeToNoop(tls *libc.TLS, p uintptr, addr int32) int32 { /* s // If the last opcode is "op" and it is not a jump destination, // then remove it. Return true if and only if an opcode was removed. -func Xsqlite3VdbeDeletePriorOpcode(tls *libc.TLS, p uintptr, op U8) int32 { /* sqlite3.c:81002:20: */ +func Xsqlite3VdbeDeletePriorOpcode(tls *libc.TLS, p uintptr, op U8) int32 { /* sqlite3.c:81015:20: */ if (*Vdbe)(unsafe.Pointer(p)).FnOp > 0 && int32((*Op)(unsafe.Pointer((*Vdbe)(unsafe.Pointer(p)).FaOp+uintptr((*Vdbe)(unsafe.Pointer(p)).FnOp-1)*24)).Fopcode) == int32(op) { return Xsqlite3VdbeChangeToNoop(tls, p, (*Vdbe)(unsafe.Pointer(p)).FnOp-1) } else { @@ -58436,7 +58455,7 @@ func Xsqlite3VdbeDeletePriorOpcode(tls *libc.TLS, p uintptr, op U8) int32 { /* s // the Vdbe. In these cases we can just copy the pointer. // // If addr<0 then change P4 on the most recently inserted instruction. -func vdbeChangeP4Full(tls *libc.TLS, p uintptr, pOp uintptr, zP4 uintptr, n int32) { /* sqlite3.c:81062:29: */ +func vdbeChangeP4Full(tls *libc.TLS, p uintptr, pOp uintptr, zP4 uintptr, n int32) { /* sqlite3.c:81075:29: */ if (*Op)(unsafe.Pointer(pOp)).Fp4type != 0 { freeP4(tls, (*Vdbe)(unsafe.Pointer(p)).Fdb, int32((*Op)(unsafe.Pointer(pOp)).Fp4type), *(*uintptr)(unsafe.Pointer(pOp + 16))) (*Op)(unsafe.Pointer(pOp)).Fp4type = int8(0) @@ -58453,7 +58472,7 @@ func vdbeChangeP4Full(tls *libc.TLS, p uintptr, pOp uintptr, zP4 uintptr, n int3 } } -func Xsqlite3VdbeChangeP4(tls *libc.TLS, p uintptr, addr int32, zP4 uintptr, n int32) { /* sqlite3.c:81081:21: */ +func Xsqlite3VdbeChangeP4(tls *libc.TLS, p uintptr, addr int32, zP4 uintptr, n int32) { /* sqlite3.c:81094:21: */ bp := tls.Alloc(8) defer tls.Free(8) *(*uintptr)(unsafe.Pointer(bp)) = zP4 @@ -58500,7 +58519,7 @@ func Xsqlite3VdbeChangeP4(tls *libc.TLS, p uintptr, addr int32, zP4 uintptr, n i // The P4 operand must not have been previously defined. And the new // P4 must not be P4_INT32. Use sqlite3VdbeChangeP4() in either of // those cases. -func Xsqlite3VdbeAppendP4(tls *libc.TLS, p uintptr, pP4 uintptr, n int32) { /* sqlite3.c:81124:21: */ +func Xsqlite3VdbeAppendP4(tls *libc.TLS, p uintptr, pP4 uintptr, n int32) { /* sqlite3.c:81137:21: */ var pOp uintptr if (*Sqlite3)(unsafe.Pointer((*Vdbe)(unsafe.Pointer(p)).Fdb)).FmallocFailed != 0 { @@ -58516,7 +58535,7 @@ func Xsqlite3VdbeAppendP4(tls *libc.TLS, p uintptr, pP4 uintptr, n int32) { /* s // Set the P4 on the most recently added opcode to the KeyInfo for the // index given. -func Xsqlite3VdbeSetP4KeyInfo(tls *libc.TLS, pParse uintptr, pIdx uintptr) { /* sqlite3.c:81144:21: */ +func Xsqlite3VdbeSetP4KeyInfo(tls *libc.TLS, pParse uintptr, pIdx uintptr) { /* sqlite3.c:81157:21: */ var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe var pKeyInfo uintptr @@ -58537,7 +58556,7 @@ func Xsqlite3VdbeSetP4KeyInfo(tls *libc.TLS, pParse uintptr, pIdx uintptr) { /* // this routine is a valid pointer. But because the dummy.opcode is 0, // dummy will never be written to. This is verified by code inspection and // by running with Valgrind. -func Xsqlite3VdbeGetOp(tls *libc.TLS, p uintptr, addr int32) uintptr { /* sqlite3.c:81210:23: */ // Ignore the MSVC warning about no initializer +func Xsqlite3VdbeGetOp(tls *libc.TLS, p uintptr, addr int32) uintptr { /* sqlite3.c:81223:23: */ // Ignore the MSVC warning about no initializer if addr < 0 { addr = (*Vdbe)(unsafe.Pointer(p)).FnOp - 1 @@ -58551,11 +58570,11 @@ func Xsqlite3VdbeGetOp(tls *libc.TLS, p uintptr, addr int32) uintptr { /* sqlite return uintptr(0) } -var dummy VdbeOp /* sqlite3.c:81213:17: */ +var dummy VdbeOp /* sqlite3.c:81226:17: */ // Compute a string that describes the P4 parameter for an opcode. // Use zTemp for any required temporary buffer space. -func Xsqlite3VdbeDisplayP4(tls *libc.TLS, db uintptr, pOp uintptr) uintptr { /* sqlite3.c:81414:21: */ +func Xsqlite3VdbeDisplayP4(tls *libc.TLS, db uintptr, pOp uintptr) uintptr { /* sqlite3.c:81427:21: */ bp := tls.Alloc(176) defer tls.Free(176) @@ -58718,7 +58737,7 @@ func Xsqlite3VdbeDisplayP4(tls *libc.TLS, db uintptr, pOp uintptr) uintptr { /* return Xsqlite3StrAccumFinish(tls, bp+144) } -var encnames = [4]uintptr{ts + 4959, ts + 4961, ts + 4963, ts + 4968} /* sqlite3.c:81444:25 */ +var encnames = [4]uintptr{ts + 4959, ts + 4961, ts + 4963, ts + 4968} /* sqlite3.c:81457:25 */ // Declare to the Vdbe that the BTree object at db->aDb[i] is used. // @@ -58726,7 +58745,7 @@ var encnames = [4]uintptr{ts + 4959, ts + 4961, ts + 4963, ts + 4968} /* sqlite3 // attached databases that will be use. A mask of these databases // is maintained in p->btreeMask. The p->lockMask value is the subset of // p->btreeMask of databases that will require a lock. -func Xsqlite3VdbeUsesBtree(tls *libc.TLS, p uintptr, i int32) { /* sqlite3.c:81539:21: */ +func Xsqlite3VdbeUsesBtree(tls *libc.TLS, p uintptr, i int32) { /* sqlite3.c:81552:21: */ *(*YDbMask)(unsafe.Pointer(p + 212)) |= YDbMask(YDbMask(1)) << i if i != 1 && Xsqlite3BtreeSharable(tls, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer((*Vdbe)(unsafe.Pointer(p)).Fdb)).FaDb+uintptr(i)*32)).FpBt) != 0 { @@ -58753,7 +58772,7 @@ func Xsqlite3VdbeUsesBtree(tls *libc.TLS, p uintptr, i int32) { /* sqlite3.c:815 // corresponding to btrees that use shared cache. Then the runtime of // this routine is N*N. But as N is rarely more than 1, this should not // be a problem. -func Xsqlite3VdbeEnter(tls *libc.TLS, p uintptr) { /* sqlite3.c:81570:21: */ +func Xsqlite3VdbeEnter(tls *libc.TLS, p uintptr) { /* sqlite3.c:81583:21: */ var i int32 var db uintptr var aDb uintptr @@ -58772,7 +58791,7 @@ func Xsqlite3VdbeEnter(tls *libc.TLS, p uintptr) { /* sqlite3.c:81570:21: */ } // Unlock all of the btrees previously locked by a call to sqlite3VdbeEnter(). -func vdbeLeave(tls *libc.TLS, p uintptr) { /* sqlite3.c:81591:29: */ +func vdbeLeave(tls *libc.TLS, p uintptr) { /* sqlite3.c:81604:29: */ var i int32 var db uintptr var aDb uintptr @@ -58787,7 +58806,7 @@ func vdbeLeave(tls *libc.TLS, p uintptr) { /* sqlite3.c:81591:29: */ } } -func Xsqlite3VdbeLeave(tls *libc.TLS, p uintptr) { /* sqlite3.c:81605:21: */ +func Xsqlite3VdbeLeave(tls *libc.TLS, p uintptr) { /* sqlite3.c:81618:21: */ if (*Vdbe)(unsafe.Pointer(p)).FlockMask == YDbMask(0) { return } // The common case @@ -58795,7 +58814,7 @@ func Xsqlite3VdbeLeave(tls *libc.TLS, p uintptr) { /* sqlite3.c:81605:21: */ } // Initialize an array of N Mem element. -func initMemArray(tls *libc.TLS, p uintptr, N int32, db uintptr, flags U16) { /* sqlite3.c:81647:13: */ +func initMemArray(tls *libc.TLS, p uintptr, N int32, db uintptr, flags U16) { /* sqlite3.c:81660:13: */ for libc.PostDecInt32(&N, 1) > 0 { (*Mem)(unsafe.Pointer(p)).Fdb = db (*Mem)(unsafe.Pointer(p)).Fflags = flags @@ -58805,7 +58824,7 @@ func initMemArray(tls *libc.TLS, p uintptr, N int32, db uintptr, flags U16) { /* } // Release an array of N Mem elements -func releaseMemArray(tls *libc.TLS, p uintptr, N int32) { /* sqlite3.c:81662:13: */ +func releaseMemArray(tls *libc.TLS, p uintptr, N int32) { /* sqlite3.c:81675:13: */ if p != 0 && N != 0 { var pEnd uintptr = p + uintptr(N)*56 var db uintptr = (*Mem)(unsafe.Pointer(p)).Fdb @@ -58849,7 +58868,7 @@ func releaseMemArray(tls *libc.TLS, p uintptr, N int32) { /* sqlite3.c:81662:13: // // This routine does not delete the Frame right away. It merely adds the // frame to a list of frames to be deleted when the Vdbe halts. -func Xsqlite3VdbeFrameMemDel(tls *libc.TLS, pArg uintptr) { /* sqlite3.c:81724:21: */ +func Xsqlite3VdbeFrameMemDel(tls *libc.TLS, pArg uintptr) { /* sqlite3.c:81737:21: */ var pFrame uintptr = pArg (*VdbeFrame)(unsafe.Pointer(pFrame)).FpParent = (*Vdbe)(unsafe.Pointer((*VdbeFrame)(unsafe.Pointer(pFrame)).Fv)).FpDelFrame @@ -58861,7 +58880,7 @@ func Xsqlite3VdbeFrameMemDel(tls *libc.TLS, pArg uintptr) { /* sqlite3.c:81724:2 // // Return SQLITE_ROW on success. Return SQLITE_DONE if there are no // more opcodes to be displayed. -func Xsqlite3VdbeNextOpcode(tls *libc.TLS, p uintptr, pSub uintptr, eMode int32, piPc uintptr, piAddr uintptr, paOp uintptr) int32 { /* sqlite3.c:81739:20: */ +func Xsqlite3VdbeNextOpcode(tls *libc.TLS, p uintptr, pSub uintptr, eMode int32, piPc uintptr, piAddr uintptr, paOp uintptr) int32 { /* sqlite3.c:81752:20: */ var nRow int32 // Stop when row count reaches this var nSub int32 = 0 // Number of sub-vdbes seen so far var apSub uintptr = uintptr(0) // Array of sub-vdbes @@ -58960,7 +58979,7 @@ func Xsqlite3VdbeNextOpcode(tls *libc.TLS, p uintptr, pSub uintptr, eMode int32, // Delete a VdbeFrame object and its contents. VdbeFrame objects are // allocated by the OP_Program opcode in sqlite3VdbeExec(). -func Xsqlite3VdbeFrameDelete(tls *libc.TLS, p uintptr) { /* sqlite3.c:81851:21: */ +func Xsqlite3VdbeFrameDelete(tls *libc.TLS, p uintptr) { /* sqlite3.c:81864:21: */ var i int32 var aMem uintptr = p + 120 var apCsr uintptr = aMem + uintptr((*VdbeFrame)(unsafe.Pointer(p)).FnChildMem)*56 @@ -58989,7 +59008,7 @@ func Xsqlite3VdbeFrameDelete(tls *libc.TLS, p uintptr) { /* sqlite3.c:81851:21: // // When p->explain==1, first the main program is listed, then each of // the trigger subprograms are listed one by one. -func Xsqlite3VdbeList(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:81883:20: */ +func Xsqlite3VdbeList(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:81896:20: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -59078,7 +59097,7 @@ type ReusableSpace = struct { FpSpace uintptr FnFree Sqlite3_int64 FnNeeded Sqlite3_int64 -} /* sqlite3.c:82028:1 */ +} /* sqlite3.c:82041:1 */ // Try to allocate nByte bytes of 8-byte aligned bulk memory for pBuf // from the ReusableSpace object. Return a pointer to the allocated @@ -59093,7 +59112,7 @@ type ReusableSpace = struct { // This allocator is employed to repurpose unused slots at the end of the // opcode array of prepared state for other memory needs of the prepared // statement. -func allocSpace(tls *libc.TLS, p uintptr, pBuf uintptr, nByte Sqlite3_int64) uintptr { /* sqlite3.c:82048:13: */ +func allocSpace(tls *libc.TLS, p uintptr, pBuf uintptr, nByte Sqlite3_int64) uintptr { /* sqlite3.c:82061:13: */ if pBuf == uintptr(0) { nByte = (nByte + int64(7)) & int64(libc.CplInt32(7)) @@ -59110,7 +59129,7 @@ func allocSpace(tls *libc.TLS, p uintptr, pBuf uintptr, nByte Sqlite3_int64) uin // Rewind the VDBE back to the beginning in preparation for // running it. -func Xsqlite3VdbeRewind(tls *libc.TLS, p uintptr) { /* sqlite3.c:82071:21: */ +func Xsqlite3VdbeRewind(tls *libc.TLS, p uintptr) { /* sqlite3.c:82084:21: */ // There should be at least one opcode. @@ -59143,7 +59162,7 @@ func Xsqlite3VdbeRewind(tls *libc.TLS, p uintptr) { /* sqlite3.c:82071:21: */ // // Use the sqlite3VdbeRewind() procedure to restore a virtual machine back // to its initial state after it has been run. -func Xsqlite3VdbeMakeReady(tls *libc.TLS, p uintptr, pParse uintptr) { /* sqlite3.c:82124:21: */ +func Xsqlite3VdbeMakeReady(tls *libc.TLS, p uintptr, pParse uintptr) { /* sqlite3.c:82137:21: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -59252,11 +59271,11 @@ func Xsqlite3VdbeMakeReady(tls *libc.TLS, p uintptr, pParse uintptr) { /* sqlite var azColName = [12]uintptr{ ts + 4973, ts + 4978, ts + 4985, ts + 4988, ts + 4991, ts + 4994, ts + 4997, ts + 5000, ts + 5008, ts + 5011, ts + 5018, ts + 5026, -} /* sqlite3.c:82172:23 */ +} /* sqlite3.c:82185:23 */ // Close a VDBE cursor and release all the resources that cursor // happens to hold. -func Xsqlite3VdbeFreeCursor(tls *libc.TLS, p uintptr, pCx uintptr) { /* sqlite3.c:82249:21: */ +func Xsqlite3VdbeFreeCursor(tls *libc.TLS, p uintptr, pCx uintptr) { /* sqlite3.c:82262:21: */ if pCx == uintptr(0) { return } @@ -59290,7 +59309,7 @@ func Xsqlite3VdbeFreeCursor(tls *libc.TLS, p uintptr, pCx uintptr) { /* sqlite3. } // Close all cursors in the current frame. -func closeCursorsInFrame(tls *libc.TLS, p uintptr) { /* sqlite3.c:82279:13: */ +func closeCursorsInFrame(tls *libc.TLS, p uintptr) { /* sqlite3.c:82292:13: */ if (*Vdbe)(unsafe.Pointer(p)).FapCsr != 0 { var i int32 for i = 0; i < (*Vdbe)(unsafe.Pointer(p)).FnCursor; i++ { @@ -59306,7 +59325,7 @@ func closeCursorsInFrame(tls *libc.TLS, p uintptr) { /* sqlite3.c:82279:13: */ // Copy the values stored in the VdbeFrame structure to its Vdbe. This // is used, for example, when a trigger sub-program is halted to restore // control to the main program. -func Xsqlite3VdbeFrameRestore(tls *libc.TLS, pFrame uintptr) int32 { /* sqlite3.c:82297:20: */ +func Xsqlite3VdbeFrameRestore(tls *libc.TLS, pFrame uintptr) int32 { /* sqlite3.c:82310:20: */ var v uintptr = (*VdbeFrame)(unsafe.Pointer(pFrame)).Fv closeCursorsInFrame(tls, v) (*Vdbe)(unsafe.Pointer(v)).FaOp = (*VdbeFrame)(unsafe.Pointer(pFrame)).FaOp @@ -59330,7 +59349,7 @@ func Xsqlite3VdbeFrameRestore(tls *libc.TLS, pFrame uintptr) int32 { /* sqlite3. // cell array. This is necessary as the memory cell array may contain // pointers to VdbeFrame objects, which may in turn contain pointers to // open cursors. -func closeAllCursors(tls *libc.TLS, p uintptr) { /* sqlite3.c:82326:13: */ +func closeAllCursors(tls *libc.TLS, p uintptr) { /* sqlite3.c:82339:13: */ if (*Vdbe)(unsafe.Pointer(p)).FpFrame != 0 { var pFrame uintptr for pFrame = (*Vdbe)(unsafe.Pointer(p)).FpFrame; (*VdbeFrame)(unsafe.Pointer(pFrame)).FpParent != 0; pFrame = (*VdbeFrame)(unsafe.Pointer(pFrame)).FpParent { @@ -59361,7 +59380,7 @@ func closeAllCursors(tls *libc.TLS, p uintptr) { /* sqlite3.c:82326:13: */ // statement. This is now set at compile time, rather than during // execution of the vdbe program so that sqlite3_column_count() can // be called on an SQL statement before sqlite3_step(). -func Xsqlite3VdbeSetNumCols(tls *libc.TLS, p uintptr, nResColumn int32) { /* sqlite3.c:82356:21: */ +func Xsqlite3VdbeSetNumCols(tls *libc.TLS, p uintptr, nResColumn int32) { /* sqlite3.c:82369:21: */ var n int32 var db uintptr = (*Vdbe)(unsafe.Pointer(p)).Fdb @@ -59386,7 +59405,7 @@ func Xsqlite3VdbeSetNumCols(tls *libc.TLS, p uintptr, nResColumn int32) { /* sql // The final parameter, xDel, must be one of SQLITE_DYNAMIC, SQLITE_STATIC // 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 Xsqlite3VdbeSetColName(tls *libc.TLS, p uintptr, idx int32, var1 int32, zName uintptr, xDel uintptr) int32 { /* sqlite3.c:82381:20: */ +func Xsqlite3VdbeSetColName(tls *libc.TLS, p uintptr, idx int32, var1 int32, zName uintptr, xDel uintptr) int32 { /* sqlite3.c:82394:20: */ var rc int32 var pColName uintptr @@ -59405,7 +59424,7 @@ func Xsqlite3VdbeSetColName(tls *libc.TLS, p uintptr, idx int32, var1 int32, zNa // db. If a transaction is active, commit it. If there is a // write-transaction spanning more than one database file, this routine // takes care of the super-journal trickery. -func vdbeCommit(tls *libc.TLS, db uintptr, p uintptr) int32 { /* sqlite3.c:82409:12: */ +func vdbeCommit(tls *libc.TLS, db uintptr, p uintptr) int32 { /* sqlite3.c:82422:12: */ bp := tls.Alloc(72) defer tls.Free(72) @@ -59633,7 +59652,7 @@ var aMJNeeded = [6]U8{ /* TRUNCATE */ U8(1), /* MEMORY */ U8(0), /* WAL */ U8(0), -} /* sqlite3.c:82444:23 */ +} /* sqlite3.c:82457:23 */ // This routine checks that the sqlite3.nVdbeActive count variable // matches the number of vdbe's in the list sqlite3.pVdbe that are @@ -59651,7 +59670,7 @@ var aMJNeeded = [6]U8{ // // If an IO error occurs, an SQLITE_IOERR_XXX error code is returned. // Otherwise SQLITE_OK. -func vdbeCloseStatement(tls *libc.TLS, p uintptr, eOp int32) int32 { /* sqlite3.c:82705:28: */ +func vdbeCloseStatement(tls *libc.TLS, p uintptr, eOp int32) int32 { /* sqlite3.c:82718:28: */ var db uintptr = (*Vdbe)(unsafe.Pointer(p)).Fdb var rc int32 = SQLITE_OK var i int32 @@ -59694,7 +59713,7 @@ func vdbeCloseStatement(tls *libc.TLS, p uintptr, eOp int32) int32 { /* sqlite3. return rc } -func Xsqlite3VdbeCloseStatement(tls *libc.TLS, p uintptr, eOp int32) int32 { /* sqlite3.c:82751:20: */ +func Xsqlite3VdbeCloseStatement(tls *libc.TLS, p uintptr, eOp int32) int32 { /* sqlite3.c:82764:20: */ if (*Sqlite3)(unsafe.Pointer((*Vdbe)(unsafe.Pointer(p)).Fdb)).FnStatement != 0 && (*Vdbe)(unsafe.Pointer(p)).FiStatement != 0 { return vdbeCloseStatement(tls, p, eOp) } @@ -59709,7 +59728,7 @@ func Xsqlite3VdbeCloseStatement(tls *libc.TLS, p uintptr, eOp int32) int32 { /* // If there are outstanding FK violations and this function returns // SQLITE_ERROR, set the result of the VM to SQLITE_CONSTRAINT_FOREIGNKEY // and write an error message to it. Then return SQLITE_ERROR. -func Xsqlite3VdbeCheckFk(tls *libc.TLS, p uintptr, deferred int32) int32 { /* sqlite3.c:82770:20: */ +func Xsqlite3VdbeCheckFk(tls *libc.TLS, p uintptr, deferred int32) int32 { /* sqlite3.c:82783:20: */ var db uintptr = (*Vdbe)(unsafe.Pointer(p)).Fdb if deferred != 0 && (*Sqlite3)(unsafe.Pointer(db)).FnDeferredCons+(*Sqlite3)(unsafe.Pointer(db)).FnDeferredImmCons > int64(0) || !(deferred != 0) && (*Vdbe)(unsafe.Pointer(p)).FnFkConstraint > int64(0) { @@ -59732,7 +59751,7 @@ func Xsqlite3VdbeCheckFk(tls *libc.TLS, p uintptr, deferred int32) int32 { /* sq // Return an error code. If the commit could not complete because of // lock contention, return SQLITE_BUSY. If SQLITE_BUSY is returned, it // means the close did not happen and needs to be repeated. -func Xsqlite3VdbeHalt(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:82797:20: */ +func Xsqlite3VdbeHalt(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:82810:20: */ var rc int32 // Used to store transient return codes var db uintptr = (*Vdbe)(unsafe.Pointer(p)).Fdb @@ -59936,7 +59955,7 @@ func Xsqlite3VdbeHalt(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:82797:20: * // Each VDBE holds the result of the most recent sqlite3_step() call // in p->rc. This routine sets that result back to SQLITE_OK. -func Xsqlite3VdbeResetStepResult(tls *libc.TLS, p uintptr) { /* sqlite3.c:83007:21: */ +func Xsqlite3VdbeResetStepResult(tls *libc.TLS, p uintptr) { /* sqlite3.c:83020:21: */ (*Vdbe)(unsafe.Pointer(p)).Frc = SQLITE_OK } @@ -59946,7 +59965,7 @@ func Xsqlite3VdbeResetStepResult(tls *libc.TLS, p uintptr) { /* sqlite3.c:83007: // // This function does not clear the VDBE error code or message, just // copies them to the database handle. -func Xsqlite3VdbeTransferError(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:83019:20: */ +func Xsqlite3VdbeTransferError(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:83032:20: */ var db uintptr = (*Vdbe)(unsafe.Pointer(p)).Fdb var rc int32 = (*Vdbe)(unsafe.Pointer(p)).Frc if (*Vdbe)(unsafe.Pointer(p)).FzErrMsg != 0 { @@ -59975,7 +59994,7 @@ func Xsqlite3VdbeTransferError(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:83 // To look at it another way, this routine resets the state of the // virtual machine from VDBE_MAGIC_RUN or VDBE_MAGIC_HALT back to // VDBE_MAGIC_INIT. -func Xsqlite3VdbeReset(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:83069:20: */ +func Xsqlite3VdbeReset(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:83082:20: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -60027,7 +60046,7 @@ func Xsqlite3VdbeReset(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:83069:20: // Clean up and delete a VDBE after execution. Return an integer which is // the result code. Write any error message text into *pzErrMsg. -func Xsqlite3VdbeFinalize(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:83166:20: */ +func Xsqlite3VdbeFinalize(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:83179:20: */ var rc int32 = SQLITE_OK if (*Vdbe)(unsafe.Pointer(p)).FiVdbeMagic == U32(VDBE_MAGIC_RUN) || (*Vdbe)(unsafe.Pointer(p)).FiVdbeMagic == U32(VDBE_MAGIC_HALT) { rc = Xsqlite3VdbeReset(tls, p) @@ -60051,7 +60070,7 @@ func Xsqlite3VdbeFinalize(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:83166:2 // // * the corresponding bit in argument mask is clear (where the first // function parameter corresponds to bit 0 etc.). -func Xsqlite3VdbeDeleteAuxData(tls *libc.TLS, db uintptr, pp uintptr, iOp int32, mask int32) { /* sqlite3.c:83192:21: */ +func Xsqlite3VdbeDeleteAuxData(tls *libc.TLS, db uintptr, pp uintptr, iOp int32, mask int32) { /* sqlite3.c:83205:21: */ for *(*uintptr)(unsafe.Pointer(pp)) != 0 { var pAux uintptr = *(*uintptr)(unsafe.Pointer(pp)) if iOp < 0 || @@ -60076,7 +60095,7 @@ func Xsqlite3VdbeDeleteAuxData(tls *libc.TLS, db uintptr, pp uintptr, iOp int32, // The difference between this function and sqlite3VdbeDelete() is that // VdbeDelete() also unlinks the Vdbe from the list of VMs associated with // the database connection and frees the object itself. -func Xsqlite3VdbeClearObject(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:83220:21: */ +func Xsqlite3VdbeClearObject(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:83233:21: */ var pSub uintptr var pNext uintptr @@ -60097,7 +60116,7 @@ func Xsqlite3VdbeClearObject(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3. } // Delete an entire VDBE. -func Xsqlite3VdbeDelete(tls *libc.TLS, p uintptr) { /* sqlite3.c:83261:21: */ +func Xsqlite3VdbeDelete(tls *libc.TLS, p uintptr) { /* sqlite3.c:83274:21: */ var db uintptr db = (*Vdbe)(unsafe.Pointer(p)).Fdb @@ -60120,7 +60139,7 @@ func Xsqlite3VdbeDelete(tls *libc.TLS, p uintptr) { /* sqlite3.c:83261:21: */ // The cursor "p" has a pending seek operation that has not yet been // carried out. Seek the cursor now. If an error occurs, return // the appropriate error code. -func Xsqlite3VdbeFinishMoveto(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:83287:36: */ +func Xsqlite3VdbeFinishMoveto(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:83300:36: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -60133,7 +60152,7 @@ func Xsqlite3VdbeFinishMoveto(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:832 return rc } if *(*int32)(unsafe.Pointer(bp)) != 0 { - return Xsqlite3CorruptError(tls, 83297) + return Xsqlite3CorruptError(tls, 83310) } (*VdbeCursor)(unsafe.Pointer(p)).FdeferredMoveto = U8(0) (*VdbeCursor)(unsafe.Pointer(p)).FcacheStatus = U32(CACHE_STALE) @@ -60145,7 +60164,7 @@ func Xsqlite3VdbeFinishMoveto(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:832 // rebalanced. Whatever the cause, try to restore "p" to the place it // is supposed to be pointing. If the row was deleted out from under the // cursor, set the cursor to point to a NULL row. -func handleMovedCursor(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:83313:28: */ +func handleMovedCursor(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:83326:28: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -60163,7 +60182,7 @@ func handleMovedCursor(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:83313:28: // Check to ensure that the cursor is valid. Restore the cursor // if need be. Return any I/O error from the restore operation. -func Xsqlite3VdbeCursorRestore(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:83328:20: */ +func Xsqlite3VdbeCursorRestore(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:83341:20: */ if Xsqlite3BtreeCursorHasMoved(tls, *(*uintptr)(unsafe.Pointer(p + 48))) != 0 { return handleMovedCursor(tls, p) @@ -60182,7 +60201,7 @@ func Xsqlite3VdbeCursorRestore(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:83 // // If the cursor is already pointing to the correct row and that row has // not been deleted out from under the cursor, then this routine is a no-op. -func Xsqlite3VdbeCursorMoveto(tls *libc.TLS, pp uintptr, piCol uintptr) int32 { /* sqlite3.c:83349:20: */ +func Xsqlite3VdbeCursorMoveto(tls *libc.TLS, pp uintptr, piCol uintptr) int32 { /* sqlite3.c:83362:20: */ var p uintptr = *(*uintptr)(unsafe.Pointer(pp)) if (*VdbeCursor)(unsafe.Pointer(p)).FdeferredMoveto != 0 { @@ -60257,10 +60276,10 @@ var sqlite3SmallTypeSizes = [128]U8{ /* 100 */ U8(44), U8(44), U8(45), U8(45), U8(46), U8(46), U8(47), U8(47), U8(48), U8(48), /* 110 */ U8(49), U8(49), U8(50), U8(50), U8(51), U8(51), U8(52), U8(52), U8(53), U8(53), /* 120 */ U8(54), U8(54), U8(55), U8(55), U8(56), U8(56), U8(57), U8(57), -} /* sqlite3.c:83486:17 */ +} /* sqlite3.c:83499:17 */ // Return the length of the data corresponding to the supplied serial-type. -func Xsqlite3VdbeSerialTypeLen(tls *libc.TLS, serial_type U32) U32 { /* sqlite3.c:83506:20: */ +func Xsqlite3VdbeSerialTypeLen(tls *libc.TLS, serial_type U32) U32 { /* sqlite3.c:83519:20: */ if serial_type >= U32(128) { return (serial_type - U32(12)) / U32(2) } else { @@ -60270,7 +60289,7 @@ func Xsqlite3VdbeSerialTypeLen(tls *libc.TLS, serial_type U32) U32 { /* sqlite3. return U32(0) } -func Xsqlite3VdbeOneByteSerialTypeLen(tls *libc.TLS, serial_type U8) U8 { /* sqlite3.c:83515:19: */ +func Xsqlite3VdbeOneByteSerialTypeLen(tls *libc.TLS, serial_type U8) U8 { /* sqlite3.c:83528:19: */ return sqlite3SmallTypeSizes[serial_type] } @@ -60319,7 +60338,7 @@ func Xsqlite3VdbeOneByteSerialTypeLen(tls *libc.TLS, serial_type U8) U8 { /* sql // Return the number of bytes actually written into buf[]. The number // of bytes in the zero-filled tail is included in the return value only // if those bytes were zeroed in buf[]. -func Xsqlite3VdbeSerialPut(tls *libc.TLS, buf uintptr, pMem uintptr, serial_type U32) U32 { /* sqlite3.c:83586:20: */ +func Xsqlite3VdbeSerialPut(tls *libc.TLS, buf uintptr, pMem uintptr, serial_type U32) U32 { /* sqlite3.c:83599:20: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -60370,7 +60389,7 @@ func Xsqlite3VdbeSerialPut(tls *libc.TLS, buf uintptr, pMem uintptr, serial_type // The few cases that require local variables are broken out into a separate // routine so that in most cases the overhead of moving the stack pointer // is avoided. -func serialGet(tls *libc.TLS, buf uintptr, serial_type U32, pMem uintptr) { /* sqlite3.c:83640:13: */ +func serialGet(tls *libc.TLS, buf uintptr, serial_type U32, pMem uintptr) { /* sqlite3.c:83653:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -60397,7 +60416,7 @@ func serialGet(tls *libc.TLS, buf uintptr, serial_type U32, pMem uintptr) { /* s } } -func Xsqlite3VdbeSerialGet(tls *libc.TLS, buf uintptr, serial_type U32, pMem uintptr) { /* sqlite3.c:83675:21: */ +func Xsqlite3VdbeSerialGet(tls *libc.TLS, buf uintptr, serial_type U32, pMem uintptr) { /* sqlite3.c:83688:21: */ switch serial_type { case U32(10): { // Internal use only: NULL with virtual table @@ -60500,7 +60519,7 @@ func Xsqlite3VdbeSerialGet(tls *libc.TLS, buf uintptr, serial_type U32, pMem uin return } -var aFlag = [2]U16{U16(MEM_Blob | MEM_Ephem), U16(MEM_Str | MEM_Ephem)} /* sqlite3.c:83758:24 */ +var aFlag = [2]U16{U16(MEM_Blob | MEM_Ephem), U16(MEM_Str | MEM_Ephem)} /* sqlite3.c:83771:24 */ // This routine is used to allocate sufficient space for an UnpackedRecord // structure large enough to be used with sqlite3VdbeRecordUnpack() if @@ -60514,7 +60533,7 @@ var aFlag = [2]U16{U16(MEM_Blob | MEM_Ephem), U16(MEM_Str | MEM_Ephem)} /* sqlit // before returning. // // If an OOM error occurs, NULL is returned. -func Xsqlite3VdbeAllocUnpackedRecord(tls *libc.TLS, pKeyInfo uintptr) uintptr { /* sqlite3.c:83781:31: */ +func Xsqlite3VdbeAllocUnpackedRecord(tls *libc.TLS, pKeyInfo uintptr) uintptr { /* sqlite3.c:83794:31: */ var p uintptr // Unpacked record to return var nByte int32 // Number of bytes required for *p nByte = int32((uint64(unsafe.Sizeof(UnpackedRecord{}))+uint64(7))&libc.Uint64FromInt32(libc.CplInt32(7)) + uint64(unsafe.Sizeof(Mem{}))*uint64(int32((*KeyInfo)(unsafe.Pointer(pKeyInfo)).FnKeyField)+1)) @@ -60532,7 +60551,7 @@ func Xsqlite3VdbeAllocUnpackedRecord(tls *libc.TLS, pKeyInfo uintptr) uintptr { // Given the nKey-byte encoding of a record in pKey[], populate the // UnpackedRecord structure indicated by the fourth argument with the // contents of the decoded record. -func Xsqlite3VdbeRecordUnpack(tls *libc.TLS, pKeyInfo uintptr, nKey int32, pKey uintptr, p uintptr) { /* sqlite3.c:83801:21: */ +func Xsqlite3VdbeRecordUnpack(tls *libc.TLS, pKeyInfo uintptr, nKey int32, pKey uintptr, p uintptr) { /* sqlite3.c:83814:21: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -60593,7 +60612,7 @@ func Xsqlite3VdbeRecordUnpack(tls *libc.TLS, pKeyInfo uintptr, nKey int32, pKey // using the collation sequence pColl. As usual, return a negative , zero // or positive value if *pMem1 is less than, equal to or greater than // *pMem2, respectively. Similar in spirit to "rc = (*pMem1) - (*pMem2);". -func vdbeCompareMemString(tls *libc.TLS, pMem1 uintptr, pMem2 uintptr, pColl uintptr, prcErr uintptr) int32 { /* sqlite3.c:83998:12: */ +func vdbeCompareMemString(tls *libc.TLS, pMem1 uintptr, pMem2 uintptr, pColl uintptr, prcErr uintptr) int32 { /* sqlite3.c:84011:12: */ bp := tls.Alloc(112) defer tls.Free(112) @@ -60636,7 +60655,7 @@ func vdbeCompareMemString(tls *libc.TLS, pMem1 uintptr, pMem2 uintptr, pColl uin // The input pBlob is guaranteed to be a Blob that is not marked // with MEM_Zero. Return true if it could be a zero-blob. -func isAllZero(tls *libc.TLS, z uintptr, n int32) int32 { /* sqlite3.c:84035:12: */ +func isAllZero(tls *libc.TLS, z uintptr, n int32) int32 { /* sqlite3.c:84048:12: */ var i int32 for i = 0; i < n; i++ { if *(*uint8)(unsafe.Pointer(z + uintptr(i))) != 0 { @@ -60649,7 +60668,7 @@ func isAllZero(tls *libc.TLS, z uintptr, n int32) int32 { /* sqlite3.c:84035:12: // Compare two blobs. Return negative, zero, or positive if the first // is less than, equal to, or greater than the second, respectively. // If one blob is a prefix of the other, then the shorter is the lessor. -func Xsqlite3BlobCompare(tls *libc.TLS, pB1 uintptr, pB2 uintptr) int32 { /* sqlite3.c:84048:36: */ +func Xsqlite3BlobCompare(tls *libc.TLS, pB1 uintptr, pB2 uintptr) int32 { /* sqlite3.c:84061:36: */ var c int32 var n1 int32 = (*Mem)(unsafe.Pointer(pB1)).Fn var n2 int32 = (*Mem)(unsafe.Pointer(pB2)).Fn @@ -60689,7 +60708,7 @@ func Xsqlite3BlobCompare(tls *libc.TLS, pB1 uintptr, pB2 uintptr) int32 { /* sql // Do a comparison between a 64-bit signed integer and a 64-bit floating-point // number. Return negative, zero, or positive if the first (i64) is less than, // equal to, or greater than the second (double). -func Xsqlite3IntFloatCompare(tls *libc.TLS, i I64, r float64) int32 { /* sqlite3.c:84081:20: */ +func Xsqlite3IntFloatCompare(tls *libc.TLS, i I64, r float64) int32 { /* sqlite3.c:84094:20: */ if uint64(unsafe.Sizeof(float64(0))) > uint64(8) { var x float64 = float64(i) @@ -60735,7 +60754,7 @@ func Xsqlite3IntFloatCompare(tls *libc.TLS, i I64, r float64) int32 { /* sqlite3 // sequence pColl and finally blob's ordered by memcmp(). // // Two NULL values are considered equal by this function. -func Xsqlite3MemCompare(tls *libc.TLS, pMem1 uintptr, pMem2 uintptr, pColl uintptr) int32 { /* sqlite3.c:84114:20: */ +func Xsqlite3MemCompare(tls *libc.TLS, pMem1 uintptr, pMem2 uintptr, pColl uintptr) int32 { /* sqlite3.c:84127:20: */ var f1 int32 var f2 int32 var combined_flags int32 @@ -60829,7 +60848,7 @@ func Xsqlite3MemCompare(tls *libc.TLS, pMem1 uintptr, pMem2 uintptr, pColl uintp // except 7. The second points to a buffer containing an integer value // serialized according to serial_type. This function deserializes // and returns the value. -func vdbeRecordDecodeInt(tls *libc.TLS, serial_type U32, aKey uintptr) I64 { /* sqlite3.c:84213:12: */ +func vdbeRecordDecodeInt(tls *libc.TLS, serial_type U32, aKey uintptr) I64 { /* sqlite3.c:84226:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -60892,7 +60911,7 @@ func vdbeRecordDecodeInt(tls *libc.TLS, serial_type U32, aKey uintptr) I64 { /* // SQLITE_CORRUPT and return 0. If an OOM error is encountered, // pPKey2->errCode is set to SQLITE_NOMEM and, if it is not NULL, the // malloc-failed flag set on database handle (pPKey2->pKeyInfo->db). -func Xsqlite3VdbeRecordCompareWithSkip(tls *libc.TLS, nKey1 int32, pKey1 uintptr, pPKey2 uintptr, bSkip int32) int32 { /* sqlite3.c:84268:20: */ +func Xsqlite3VdbeRecordCompareWithSkip(tls *libc.TLS, nKey1 int32, pKey1 uintptr, pPKey2 uintptr, bSkip int32) int32 { /* sqlite3.c:84281:20: */ bp := tls.Alloc(68) defer tls.Free(68) @@ -60934,7 +60953,7 @@ func Xsqlite3VdbeRecordCompareWithSkip(tls *libc.TLS, nKey1 int32, pKey1 uintptr i = 0 } if d1 > uint32(nKey1) { - (*UnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = U8(Xsqlite3CorruptError(tls, 84299)) + (*UnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = U8(Xsqlite3CorruptError(tls, 84312)) return 0 // Corruption } @@ -60999,7 +61018,7 @@ func Xsqlite3VdbeRecordCompareWithSkip(tls *libc.TLS, nKey1 int32, pKey1 uintptr if d1+U32((*Mem)(unsafe.Pointer(bp+8)).Fn) > uint32(nKey1) || int32((*KeyInfo)(unsafe.Pointer(libc.AssignUintptr(&pKeyInfo, (*UnpackedRecord)(unsafe.Pointer(pPKey2)).FpKeyInfo))).FnAllField) <= i { - (*UnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = U8(Xsqlite3CorruptError(tls, 84376)) + (*UnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = U8(Xsqlite3CorruptError(tls, 84389)) return 0 // Corruption } else if *(*uintptr)(unsafe.Pointer(pKeyInfo + 32 + uintptr(i)*8)) != 0 { (*Mem)(unsafe.Pointer(bp + 8 /* &mem1 */)).Fenc = (*KeyInfo)(unsafe.Pointer(pKeyInfo)).Fenc @@ -61034,7 +61053,7 @@ func Xsqlite3VdbeRecordCompareWithSkip(tls *libc.TLS, nKey1 int32, pKey1 uintptr var nStr int32 = int32((*(*U32)(unsafe.Pointer(bp + 64)) - U32(12)) / U32(2)) if d1+U32(nStr) > uint32(nKey1) { - (*UnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = U8(Xsqlite3CorruptError(tls, 84406)) + (*UnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = U8(Xsqlite3CorruptError(tls, 84419)) return 0 // Corruption } else if int32((*Mem)(unsafe.Pointer(pRhs)).Fflags)&MEM_Zero != 0 { if !(isAllZero(tls, aKey1+uintptr(d1), nStr) != 0) { @@ -61095,7 +61114,7 @@ func Xsqlite3VdbeRecordCompareWithSkip(tls *libc.TLS, nKey1 int32, pKey1 uintptr return int32((*UnpackedRecord)(unsafe.Pointer(pPKey2)).Fdefault_rc) } -func Xsqlite3VdbeRecordCompare(tls *libc.TLS, nKey1 int32, pKey1 uintptr, pPKey2 uintptr) int32 { /* sqlite3.c:84465:20: */ +func Xsqlite3VdbeRecordCompare(tls *libc.TLS, nKey1 int32, pKey1 uintptr, pPKey2 uintptr) int32 { /* sqlite3.c:84478:20: */ return Xsqlite3VdbeRecordCompareWithSkip(tls, nKey1, pKey1, pPKey2, 0) } @@ -61106,7 +61125,7 @@ func Xsqlite3VdbeRecordCompare(tls *libc.TLS, nKey1 int32, pKey1 uintptr, pPKey2 // // To avoid concerns about buffer overreads, this routine is only used // on schemas where the maximum valid header size is 63 bytes or less. -func vdbeRecordCompareInt(tls *libc.TLS, nKey1 int32, pKey1 uintptr, pPKey2 uintptr) int32 { /* sqlite3.c:84482:12: */ +func vdbeRecordCompareInt(tls *libc.TLS, nKey1 int32, pKey1 uintptr, pPKey2 uintptr) int32 { /* sqlite3.c:84495:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -61211,7 +61230,7 @@ func vdbeRecordCompareInt(tls *libc.TLS, nKey1 int32, pKey1 uintptr, pPKey2 uint // that (a) the first field of pPKey2 is a string, that (b) the first field // uses the collation sequence BINARY and (c) that the size-of-header varint // at the start of (pKey1/nKey1) fits in a single byte. -func vdbeRecordCompareString(tls *libc.TLS, nKey1 int32, pKey1 uintptr, pPKey2 uintptr) int32 { /* sqlite3.c:84576:12: */ +func vdbeRecordCompareString(tls *libc.TLS, nKey1 int32, pKey1 uintptr, pPKey2 uintptr) int32 { /* sqlite3.c:84589:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -61235,7 +61254,7 @@ func vdbeRecordCompareString(tls *libc.TLS, nKey1 int32, pKey1 uintptr, pPKey2 u nStr = (*(*int32)(unsafe.Pointer(bp)) - 12) / 2 if szHdr+nStr > nKey1 { - (*UnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = U8(Xsqlite3CorruptError(tls, 84601)) + (*UnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = U8(Xsqlite3CorruptError(tls, 84614)) return 0 // Corruption } nCmp = func() int32 { @@ -61273,7 +61292,7 @@ func vdbeRecordCompareString(tls *libc.TLS, nKey1 int32, pKey1 uintptr, pPKey2 u // Return a pointer to an sqlite3VdbeRecordCompare() compatible function // suitable for comparing serialized records to the unpacked record passed // as the only argument. -func Xsqlite3VdbeFindCompare(tls *libc.TLS, p uintptr) RecordCompare { /* sqlite3.c:84640:30: */ +func Xsqlite3VdbeFindCompare(tls *libc.TLS, p uintptr) RecordCompare { /* sqlite3.c:84653:30: */ // varintRecordCompareInt() and varintRecordCompareString() both assume // that the size-of-header varint that occurs at the start of each record // fits in a single byte (i.e. is 127 or less). varintRecordCompareInt() @@ -61327,7 +61346,7 @@ func Xsqlite3VdbeFindCompare(tls *libc.TLS, p uintptr) RecordCompare { /* sqlite // // pCur might be pointing to text obtained from a corrupt database file. // So the content cannot be trusted. Do appropriate checks on the content. -func Xsqlite3VdbeIdxRowid(tls *libc.TLS, db uintptr, pCur uintptr, rowid uintptr) int32 { /* sqlite3.c:84691:20: */ +func Xsqlite3VdbeIdxRowid(tls *libc.TLS, db uintptr, pCur uintptr, rowid uintptr) int32 { /* sqlite3.c:84704:20: */ bp := tls.Alloc(120) defer tls.Free(120) @@ -61412,7 +61431,7 @@ __6: idx_rowid_corruption: ; Xsqlite3VdbeMemRelease(tls, bp) - return Xsqlite3CorruptError(tls, 84756) + return Xsqlite3CorruptError(tls, 84769) } // Compare the key of the index entry that cursor pC is pointing to against @@ -61424,7 +61443,7 @@ idx_rowid_corruption: // omits the rowid at the end. The rowid at the end of the index entry // is ignored as well. Hence, this routine only compares the prefixes // of the keys prior to the final rowid, not the entire key. -func Xsqlite3VdbeIdxKeyCompare(tls *libc.TLS, db uintptr, pC uintptr, pUnpacked uintptr, res uintptr) int32 { /* sqlite3.c:84770:20: */ +func Xsqlite3VdbeIdxKeyCompare(tls *libc.TLS, db uintptr, pC uintptr, pUnpacked uintptr, res uintptr) int32 { /* sqlite3.c:84783:20: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -61440,7 +61459,7 @@ func Xsqlite3VdbeIdxKeyCompare(tls *libc.TLS, db uintptr, pC uintptr, pUnpacked // that btreeParseCellPtr() and sqlite3GetVarint32() are implemented if nCellKey <= int64(0) || nCellKey > int64(0x7fffffff) { *(*int32)(unsafe.Pointer(res)) = 0 - return Xsqlite3CorruptError(tls, 84789) + return Xsqlite3CorruptError(tls, 84802) } Xsqlite3VdbeMemInit(tls, bp, db, uint16(0)) rc = Xsqlite3VdbeMemFromBtreeZeroOffset(tls, pCur, U32(nCellKey), bp) @@ -61454,7 +61473,7 @@ func Xsqlite3VdbeIdxKeyCompare(tls *libc.TLS, db uintptr, pC uintptr, pUnpacked // This routine sets the value to be returned by subsequent calls to // sqlite3_changes() on the database handle 'db'. -func Xsqlite3VdbeSetChanges(tls *libc.TLS, db uintptr, nChange I64) { /* sqlite3.c:84805:21: */ +func Xsqlite3VdbeSetChanges(tls *libc.TLS, db uintptr, nChange I64) { /* sqlite3.c:84818:21: */ (*Sqlite3)(unsafe.Pointer(db)).FnChange = nChange *(*I64)(unsafe.Pointer(db + 128)) += nChange @@ -61462,7 +61481,7 @@ func Xsqlite3VdbeSetChanges(tls *libc.TLS, db uintptr, nChange I64) { /* sqlite3 // Set a flag in the vdbe to update the change counter when it is finalised // or reset. -func Xsqlite3VdbeCountChanges(tls *libc.TLS, v uintptr) { /* sqlite3.c:84815:21: */ +func Xsqlite3VdbeCountChanges(tls *libc.TLS, v uintptr) { /* sqlite3.c:84828:21: */ libc.SetBitFieldPtr16Uint32(v+208, Bft(1), 11, 0x800) } @@ -61482,7 +61501,7 @@ func Xsqlite3VdbeCountChanges(tls *libc.TLS, v uintptr) { /* sqlite3.c:84815:21: // Internally, this function just sets the Vdbe.expired flag on all // prepared statements. The flag is set to 1 for an immediate expiration // and set to 2 for an advisory expiration. -func Xsqlite3ExpirePreparedStatements(tls *libc.TLS, db uintptr, iCode int32) { /* sqlite3.c:84837:21: */ +func Xsqlite3ExpirePreparedStatements(tls *libc.TLS, db uintptr, iCode int32) { /* sqlite3.c:84850:21: */ var p uintptr for p = (*Sqlite3)(unsafe.Pointer(db)).FpVdbe; p != 0; p = (*Vdbe)(unsafe.Pointer(p)).FpNext { libc.SetBitFieldPtr16Uint32(p+208, Bft(iCode+1), 14, 0xc000) @@ -61490,12 +61509,12 @@ func Xsqlite3ExpirePreparedStatements(tls *libc.TLS, db uintptr, iCode int32) { } // Return the database associated with the Vdbe. -func Xsqlite3VdbeDb(tls *libc.TLS, v uintptr) uintptr { /* sqlite3.c:84847:24: */ +func Xsqlite3VdbeDb(tls *libc.TLS, v uintptr) uintptr { /* sqlite3.c:84860:24: */ return (*Vdbe)(unsafe.Pointer(v)).Fdb } // Return the SQLITE_PREPARE flags for a Vdbe. -func Xsqlite3VdbePrepareFlags(tls *libc.TLS, v uintptr) U8 { /* sqlite3.c:84854:19: */ +func Xsqlite3VdbePrepareFlags(tls *libc.TLS, v uintptr) U8 { /* sqlite3.c:84867:19: */ return (*Vdbe)(unsafe.Pointer(v)).FprepFlags } @@ -61505,7 +61524,7 @@ func Xsqlite3VdbePrepareFlags(tls *libc.TLS, v uintptr) U8 { /* sqlite3.c:84854: // constants) to the value before returning it. // // The returned value must be freed by the caller using sqlite3ValueFree(). -func Xsqlite3VdbeGetBoundValue(tls *libc.TLS, v uintptr, iVar int32, aff U8) uintptr { /* sqlite3.c:84866:30: */ +func Xsqlite3VdbeGetBoundValue(tls *libc.TLS, v uintptr, iVar int32, aff U8) uintptr { /* sqlite3.c:84879:30: */ if v != 0 { var pMem uintptr = (*Vdbe)(unsafe.Pointer(v)).FaVar + uintptr(iVar-1)*56 @@ -61525,7 +61544,7 @@ func Xsqlite3VdbeGetBoundValue(tls *libc.TLS, v uintptr, iVar int32, aff U8) uin // Configure SQL variable iVar so that binding a new value to it signals // to sqlite3_reoptimize() that re-preparing the statement may result // in a better query plan. -func Xsqlite3VdbeSetVarmask(tls *libc.TLS, v uintptr, iVar int32) { /* sqlite3.c:84888:21: */ +func Xsqlite3VdbeSetVarmask(tls *libc.TLS, v uintptr, iVar int32) { /* sqlite3.c:84901:21: */ if iVar >= 32 { *(*U32)(unsafe.Pointer(v + 292)) |= 0x80000000 @@ -61541,7 +61560,7 @@ func Xsqlite3VdbeSetVarmask(tls *libc.TLS, v uintptr, iVar int32) { /* sqlite3.c // throw an error if it is given inputs that would make it non-deterministic. // This routine is invoked by date/time functions that use non-deterministic // features such as 'now'. -func Xsqlite3NotPureFunc(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:84907:20: */ +func Xsqlite3NotPureFunc(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:84920:20: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -61572,7 +61591,7 @@ func Xsqlite3NotPureFunc(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:84907 // Transfer error message text from an sqlite3_vtab.zErrMsg (text stored // in memory obtained from sqlite3_malloc) into a Vdbe.zErrMsg (text stored // in memory obtained from sqlite3DbMalloc). -func Xsqlite3VtabImportErrmsg(tls *libc.TLS, p uintptr, pVtab uintptr) { /* sqlite3.c:84938:21: */ +func Xsqlite3VtabImportErrmsg(tls *libc.TLS, p uintptr, pVtab uintptr) { /* sqlite3.c:84951:21: */ if (*Sqlite3_vtab)(unsafe.Pointer(pVtab)).FzErrMsg != 0 { var db uintptr = (*Vdbe)(unsafe.Pointer(p)).Fdb Xsqlite3DbFree(tls, db, (*Vdbe)(unsafe.Pointer(p)).FzErrMsg) @@ -61588,7 +61607,7 @@ func Xsqlite3VtabImportErrmsg(tls *libc.TLS, p uintptr, pVtab uintptr) { /* sqli // // This function is used to free UnpackedRecord structures allocated by // the vdbeUnpackRecord() function found in vdbeapi.c. -func vdbeFreeUnpacked(tls *libc.TLS, db uintptr, nField int32, p uintptr) { /* sqlite3.c:84959:13: */ +func vdbeFreeUnpacked(tls *libc.TLS, db uintptr, nField int32, p uintptr) { /* sqlite3.c:84972:13: */ if p != 0 { var i int32 for i = 0; i < nField; i++ { @@ -61605,7 +61624,7 @@ func vdbeFreeUnpacked(tls *libc.TLS, db uintptr, nField int32, p uintptr) { /* s // then cursor passed as the second argument should point to the row about // to be update or deleted. If the application calls sqlite3_preupdate_old(), // the required value will be read from the row the cursor points to. -func Xsqlite3VdbePreUpdateHook(tls *libc.TLS, v uintptr, pCsr uintptr, op int32, zDb uintptr, pTab uintptr, iKey1 I64, iReg int32, iBlobWrite int32) { /* sqlite3.c:84978:21: */ +func Xsqlite3VdbePreUpdateHook(tls *libc.TLS, v uintptr, pCsr uintptr, op int32, zDb uintptr, pTab uintptr, iKey1 I64, iReg int32, iBlobWrite int32) { /* sqlite3.c:84991:21: */ bp := tls.Alloc(136) defer tls.Free(136) @@ -61657,7 +61676,7 @@ func Xsqlite3VdbePreUpdateHook(tls *libc.TLS, v uintptr, pCsr uintptr, op int32, } } -var fakeSortOrder U8 = U8(0) /* sqlite3.c:84992:19 */ +var fakeSortOrder U8 = U8(0) /* sqlite3.c:85005:19 */ //************* End of vdbeaux.c ******************************************** //************* Begin file vdbeapi.c **************************************** @@ -61683,7 +61702,7 @@ var fakeSortOrder U8 = U8(0) /* sqlite3.c:84992:19 */ // that sqlite3_prepare() generates. For example, if new functions or // collating sequences are registered or if an authorizer function is // added or changed. -func Xsqlite3_expired(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:85071:16: */ +func Xsqlite3_expired(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:85084:16: */ var p uintptr = pStmt return libc.Bool32(p == uintptr(0) || Bft(int32(*(*uint16)(unsafe.Pointer(p + 208))&0xc000>>14)) != 0) } @@ -61691,7 +61710,7 @@ func Xsqlite3_expired(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:85071:1 // Check on a Vdbe to make sure it has not been finalized. Log // an error and return true if it has been finalized (or is otherwise // invalid). Return false if it is ok. -func vdbeSafety(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:85082:12: */ +func vdbeSafety(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:85095:12: */ if (*Vdbe)(unsafe.Pointer(p)).Fdb == uintptr(0) { Xsqlite3_log(tls, SQLITE_MISUSE, ts+5200, 0) return 1 @@ -61701,7 +61720,7 @@ func vdbeSafety(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:85082:12: */ return int32(0) } -func vdbeSafetyNotNull(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:85090:12: */ +func vdbeSafetyNotNull(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:85103:12: */ if p == uintptr(0) { Xsqlite3_log(tls, SQLITE_MISUSE, ts+5245, 0) return 1 @@ -61713,7 +61732,7 @@ func vdbeSafetyNotNull(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:85090:12: // Invoke the profile callback. This routine is only called if we already // know that the profile callback is defined and needs to be invoked. -func invokeProfileCallback(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:85104:29: */ +func invokeProfileCallback(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:85117:29: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -61746,7 +61765,7 @@ func invokeProfileCallback(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c: // // This routine sets the error code and string returned by // sqlite3_errcode(), sqlite3_errmsg() and sqlite3_errmsg16(). -func Xsqlite3_finalize(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:85142:16: */ +func Xsqlite3_finalize(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:85155:16: */ var rc int32 if pStmt == uintptr(0) { // IMPLEMENTATION-OF: R-57228-12904 Invoking sqlite3_finalize() on a NULL @@ -61756,7 +61775,7 @@ func Xsqlite3_finalize(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:85142: var v uintptr = pStmt var db uintptr = (*Vdbe)(unsafe.Pointer(v)).Fdb if vdbeSafety(tls, v) != 0 { - return Xsqlite3MisuseError(tls, 85151) + return Xsqlite3MisuseError(tls, 85164) } Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) if (*Vdbe)(unsafe.Pointer(v)).FstartTime > int64(0) { @@ -61776,7 +61795,7 @@ func Xsqlite3_finalize(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:85142: // // This routine sets the error code and string returned by // sqlite3_errcode(), sqlite3_errmsg() and sqlite3_errmsg16(). -func Xsqlite3_reset(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:85169:16: */ +func Xsqlite3_reset(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:85182:16: */ var rc int32 if pStmt == uintptr(0) { rc = SQLITE_OK @@ -61798,7 +61817,7 @@ func Xsqlite3_reset(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:85169:16: } // Set all the parameters in the compiled SQL statement to NULL. -func Xsqlite3_clear_bindings(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:85190:16: */ +func Xsqlite3_clear_bindings(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:85203:16: */ var i int32 var rc int32 = SQLITE_OK var p uintptr = pStmt @@ -61820,7 +61839,7 @@ func Xsqlite3_clear_bindings(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c: // // The following routines extract information from a Mem or sqlite3_value // structure. -func Xsqlite3_value_blob(tls *libc.TLS, pVal uintptr) uintptr { /* sqlite3.c:85215:23: */ +func Xsqlite3_value_blob(tls *libc.TLS, pVal uintptr) uintptr { /* sqlite3.c:85228:23: */ var p uintptr = pVal if int32((*Mem)(unsafe.Pointer(p)).Fflags)&(MEM_Blob|MEM_Str) != 0 { if func() int32 { @@ -61843,11 +61862,11 @@ func Xsqlite3_value_blob(tls *libc.TLS, pVal uintptr) uintptr { /* sqlite3.c:852 return uintptr(0) } -func Xsqlite3_value_bytes(tls *libc.TLS, pVal uintptr) int32 { /* sqlite3.c:85228:16: */ +func Xsqlite3_value_bytes(tls *libc.TLS, pVal uintptr) int32 { /* sqlite3.c:85241:16: */ return Xsqlite3ValueBytes(tls, pVal, uint8(SQLITE_UTF8)) } -func Xsqlite3_value_bytes16(tls *libc.TLS, pVal uintptr) int32 { /* sqlite3.c:85231:16: */ +func Xsqlite3_value_bytes16(tls *libc.TLS, pVal uintptr) int32 { /* sqlite3.c:85244:16: */ return Xsqlite3ValueBytes(tls, pVal, func() uint8 { if int32(*(*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer(&Xsqlite3one))))) == 0 { return uint8(SQLITE_UTF16BE) @@ -61856,19 +61875,19 @@ func Xsqlite3_value_bytes16(tls *libc.TLS, pVal uintptr) int32 { /* sqlite3.c:85 }()) } -func Xsqlite3_value_double(tls *libc.TLS, pVal uintptr) float64 { /* sqlite3.c:85234:19: */ +func Xsqlite3_value_double(tls *libc.TLS, pVal uintptr) float64 { /* sqlite3.c:85247:19: */ return Xsqlite3VdbeRealValue(tls, pVal) } -func Xsqlite3_value_int(tls *libc.TLS, pVal uintptr) int32 { /* sqlite3.c:85237:16: */ +func Xsqlite3_value_int(tls *libc.TLS, pVal uintptr) int32 { /* sqlite3.c:85250:16: */ return int32(Xsqlite3VdbeIntValue(tls, pVal)) } -func Xsqlite3_value_int64(tls *libc.TLS, pVal uintptr) Sqlite_int64 { /* sqlite3.c:85240:25: */ +func Xsqlite3_value_int64(tls *libc.TLS, pVal uintptr) Sqlite_int64 { /* sqlite3.c:85253:25: */ return Xsqlite3VdbeIntValue(tls, pVal) } -func Xsqlite3_value_subtype(tls *libc.TLS, pVal uintptr) uint32 { /* sqlite3.c:85243:25: */ +func Xsqlite3_value_subtype(tls *libc.TLS, pVal uintptr) uint32 { /* sqlite3.c:85256:25: */ var pMem uintptr = pVal return func() uint32 { if int32((*Mem)(unsafe.Pointer(pMem)).Fflags)&MEM_Subtype != 0 { @@ -61878,7 +61897,7 @@ func Xsqlite3_value_subtype(tls *libc.TLS, pVal uintptr) uint32 { /* sqlite3.c:8 }() } -func Xsqlite3_value_pointer(tls *libc.TLS, pVal uintptr, zPType uintptr) uintptr { /* sqlite3.c:85247:17: */ +func Xsqlite3_value_pointer(tls *libc.TLS, pVal uintptr, zPType uintptr) uintptr { /* sqlite3.c:85260:17: */ var p uintptr = pVal if int32((*Mem)(unsafe.Pointer(p)).Fflags)&(MEM_TypeMask|MEM_Term|MEM_Subtype) == MEM_Null|MEM_Term|MEM_Subtype && zPType != uintptr(0) && @@ -61891,11 +61910,11 @@ func Xsqlite3_value_pointer(tls *libc.TLS, pVal uintptr, zPType uintptr) uintptr return uintptr(0) } -func Xsqlite3_value_text(tls *libc.TLS, pVal uintptr) uintptr { /* sqlite3.c:85260:32: */ +func Xsqlite3_value_text(tls *libc.TLS, pVal uintptr) uintptr { /* sqlite3.c:85273:32: */ return Xsqlite3ValueText(tls, pVal, uint8(SQLITE_UTF8)) } -func Xsqlite3_value_text16(tls *libc.TLS, pVal uintptr) uintptr { /* sqlite3.c:85264:23: */ +func Xsqlite3_value_text16(tls *libc.TLS, pVal uintptr) uintptr { /* sqlite3.c:85277:23: */ return Xsqlite3ValueText(tls, pVal, func() uint8 { if int32(*(*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer(&Xsqlite3one))))) == 0 { return uint8(SQLITE_UTF16BE) @@ -61904,18 +61923,18 @@ func Xsqlite3_value_text16(tls *libc.TLS, pVal uintptr) uintptr { /* sqlite3.c:8 }()) } -func Xsqlite3_value_text16be(tls *libc.TLS, pVal uintptr) uintptr { /* sqlite3.c:85267:23: */ +func Xsqlite3_value_text16be(tls *libc.TLS, pVal uintptr) uintptr { /* sqlite3.c:85280:23: */ return Xsqlite3ValueText(tls, pVal, uint8(SQLITE_UTF16BE)) } -func Xsqlite3_value_text16le(tls *libc.TLS, pVal uintptr) uintptr { /* sqlite3.c:85270:23: */ +func Xsqlite3_value_text16le(tls *libc.TLS, pVal uintptr) uintptr { /* sqlite3.c:85283:23: */ return Xsqlite3ValueText(tls, pVal, uint8(SQLITE_UTF16LE)) } // EVIDENCE-OF: R-12793-43283 Every value in SQLite has one of five // fundamental datatypes: 64-bit signed integer 64-bit IEEE floating // point number string BLOB NULL -func Xsqlite3_value_type(tls *libc.TLS, pVal uintptr) int32 { /* sqlite3.c:85278:16: */ +func Xsqlite3_value_type(tls *libc.TLS, pVal uintptr) int32 { /* sqlite3.c:85291:16: */ return int32(aType[int32((*Sqlite3_value)(unsafe.Pointer(pVal)).Fflags)&MEM_AffMask]) } @@ -61984,20 +62003,20 @@ var aType = [64]U8{ U8(SQLITE_NULL), // 0x3d (not possible) U8(SQLITE_FLOAT), // 0x3e (not possible) U8(SQLITE_NULL), // 0x3f (not possible) -} /* sqlite3.c:85279:19 */ +} /* sqlite3.c:85292:19 */ // Return true if a parameter to xUpdate represents an unchanged column -func Xsqlite3_value_nochange(tls *libc.TLS, pVal uintptr) int32 { /* sqlite3.c:85364:16: */ +func Xsqlite3_value_nochange(tls *libc.TLS, pVal uintptr) int32 { /* sqlite3.c:85377:16: */ return libc.Bool32(int32((*Sqlite3_value)(unsafe.Pointer(pVal)).Fflags)&(MEM_Null|MEM_Zero) == MEM_Null|MEM_Zero) } // Return true if a parameter value originated from an sqlite3_bind() -func Xsqlite3_value_frombind(tls *libc.TLS, pVal uintptr) int32 { /* sqlite3.c:85369:16: */ +func Xsqlite3_value_frombind(tls *libc.TLS, pVal uintptr) int32 { /* sqlite3.c:85382:16: */ return libc.Bool32(int32((*Sqlite3_value)(unsafe.Pointer(pVal)).Fflags)&MEM_FromBind != 0) } // Make a copy of an sqlite3_value object -func Xsqlite3_value_dup(tls *libc.TLS, pOrig uintptr) uintptr { /* sqlite3.c:85375:26: */ +func Xsqlite3_value_dup(tls *libc.TLS, pOrig uintptr) uintptr { /* sqlite3.c:85388:26: */ var pNew uintptr if pOrig == uintptr(0) { return uintptr(0) @@ -62023,7 +62042,7 @@ func Xsqlite3_value_dup(tls *libc.TLS, pOrig uintptr) uintptr { /* sqlite3.c:853 // Destroy an sqlite3_value object previously obtained from // sqlite3_value_dup(). -func Xsqlite3_value_free(tls *libc.TLS, pOld uintptr) { /* sqlite3.c:85398:17: */ +func Xsqlite3_value_free(tls *libc.TLS, pOld uintptr) { /* sqlite3.c:85411:17: */ Xsqlite3ValueFree(tls, pOld) } @@ -62038,7 +62057,7 @@ func Xsqlite3_value_free(tls *libc.TLS, pOld uintptr) { /* sqlite3.c:85398:17: * // // The invokeValueDestructor(P,X) routine invokes destructor function X() // on value P is not going to be used and need to be destroyed. -func setResultStrOrError(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, enc U8, xDel uintptr) { /* sqlite3.c:85414:13: */ +func setResultStrOrError(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, enc U8, xDel uintptr) { /* sqlite3.c:85427:13: */ var rc int32 = Xsqlite3VdbeMemSetStr(tls, (*Sqlite3_context)(unsafe.Pointer(pCtx)).FpOut, z, int64(n), enc, xDel) if rc != 0 { if rc == SQLITE_TOOBIG { @@ -62052,7 +62071,7 @@ func setResultStrOrError(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, enc U8 } } -func invokeValueDestructor(tls *libc.TLS, p uintptr, xDel uintptr, pCtx uintptr) int32 { /* sqlite3.c:85433:12: */ +func invokeValueDestructor(tls *libc.TLS, p uintptr, xDel uintptr, pCtx uintptr) int32 { /* sqlite3.c:85446:12: */ if xDel == uintptr(0) { // noop @@ -62065,12 +62084,12 @@ func invokeValueDestructor(tls *libc.TLS, p uintptr, xDel uintptr, pCtx uintptr) return SQLITE_TOOBIG } -func Xsqlite3_result_blob(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, xDel uintptr) { /* sqlite3.c:85449:17: */ +func Xsqlite3_result_blob(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, xDel uintptr) { /* sqlite3.c:85462:17: */ setResultStrOrError(tls, pCtx, z, n, uint8(0), xDel) } -func Xsqlite3_result_blob64(tls *libc.TLS, pCtx uintptr, z uintptr, n Sqlite3_uint64, xDel uintptr) { /* sqlite3.c:85459:17: */ +func Xsqlite3_result_blob64(tls *libc.TLS, pCtx uintptr, z uintptr, n Sqlite3_uint64, xDel uintptr) { /* sqlite3.c:85472:17: */ if n > uint64(0x7fffffff) { invokeValueDestructor(tls, z, xDel, pCtx) @@ -62079,18 +62098,18 @@ func Xsqlite3_result_blob64(tls *libc.TLS, pCtx uintptr, z uintptr, n Sqlite3_ui } } -func Xsqlite3_result_double(tls *libc.TLS, pCtx uintptr, rVal float64) { /* sqlite3.c:85473:17: */ +func Xsqlite3_result_double(tls *libc.TLS, pCtx uintptr, rVal float64) { /* sqlite3.c:85486:17: */ Xsqlite3VdbeMemSetDouble(tls, (*Sqlite3_context)(unsafe.Pointer(pCtx)).FpOut, rVal) } -func Xsqlite3_result_error(tls *libc.TLS, pCtx uintptr, z uintptr, n int32) { /* sqlite3.c:85477:17: */ +func Xsqlite3_result_error(tls *libc.TLS, pCtx uintptr, z uintptr, n int32) { /* sqlite3.c:85490:17: */ (*Sqlite3_context)(unsafe.Pointer(pCtx)).FisError = SQLITE_ERROR Xsqlite3VdbeMemSetStr(tls, (*Sqlite3_context)(unsafe.Pointer(pCtx)).FpOut, z, int64(n), uint8(SQLITE_UTF8), libc.UintptrFromInt32(-1)) } -func Xsqlite3_result_error16(tls *libc.TLS, pCtx uintptr, z uintptr, n int32) { /* sqlite3.c:85483:17: */ +func Xsqlite3_result_error16(tls *libc.TLS, pCtx uintptr, z uintptr, n int32) { /* sqlite3.c:85496:17: */ (*Sqlite3_context)(unsafe.Pointer(pCtx)).FisError = SQLITE_ERROR Xsqlite3VdbeMemSetStr(tls, (*Sqlite3_context)(unsafe.Pointer(pCtx)).FpOut, z, int64(n), func() uint8 { @@ -62101,22 +62120,22 @@ func Xsqlite3_result_error16(tls *libc.TLS, pCtx uintptr, z uintptr, n int32) { }(), libc.UintptrFromInt32(-1)) } -func Xsqlite3_result_int(tls *libc.TLS, pCtx uintptr, iVal int32) { /* sqlite3.c:85489:17: */ +func Xsqlite3_result_int(tls *libc.TLS, pCtx uintptr, iVal int32) { /* sqlite3.c:85502:17: */ Xsqlite3VdbeMemSetInt64(tls, (*Sqlite3_context)(unsafe.Pointer(pCtx)).FpOut, I64(iVal)) } -func Xsqlite3_result_int64(tls *libc.TLS, pCtx uintptr, iVal I64) { /* sqlite3.c:85493:17: */ +func Xsqlite3_result_int64(tls *libc.TLS, pCtx uintptr, iVal I64) { /* sqlite3.c:85506:17: */ Xsqlite3VdbeMemSetInt64(tls, (*Sqlite3_context)(unsafe.Pointer(pCtx)).FpOut, iVal) } -func Xsqlite3_result_null(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:85497:17: */ +func Xsqlite3_result_null(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:85510:17: */ Xsqlite3VdbeMemSetNull(tls, (*Sqlite3_context)(unsafe.Pointer(pCtx)).FpOut) } -func Xsqlite3_result_pointer(tls *libc.TLS, pCtx uintptr, pPtr uintptr, zPType uintptr, xDestructor uintptr) { /* sqlite3.c:85501:17: */ +func Xsqlite3_result_pointer(tls *libc.TLS, pCtx uintptr, pPtr uintptr, zPType uintptr, xDestructor uintptr) { /* sqlite3.c:85514:17: */ var pOut uintptr = (*Sqlite3_context)(unsafe.Pointer(pCtx)).FpOut Xsqlite3VdbeMemRelease(tls, pOut) @@ -62124,19 +62143,19 @@ func Xsqlite3_result_pointer(tls *libc.TLS, pCtx uintptr, pPtr uintptr, zPType u Xsqlite3VdbeMemSetPointer(tls, pOut, pPtr, zPType, xDestructor) } -func Xsqlite3_result_subtype(tls *libc.TLS, pCtx uintptr, eSubtype uint32) { /* sqlite3.c:85513:17: */ +func Xsqlite3_result_subtype(tls *libc.TLS, pCtx uintptr, eSubtype uint32) { /* sqlite3.c:85526:17: */ var pOut uintptr = (*Sqlite3_context)(unsafe.Pointer(pCtx)).FpOut (*Mem)(unsafe.Pointer(pOut)).FeSubtype = U8(eSubtype & uint32(0xff)) *(*U16)(unsafe.Pointer(pOut + 8)) |= U16(MEM_Subtype) } -func Xsqlite3_result_text(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, xDel uintptr) { /* sqlite3.c:85519:17: */ +func Xsqlite3_result_text(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, xDel uintptr) { /* sqlite3.c:85532:17: */ setResultStrOrError(tls, pCtx, z, n, uint8(SQLITE_UTF8), xDel) } -func Xsqlite3_result_text64(tls *libc.TLS, pCtx uintptr, z uintptr, n Sqlite3_uint64, xDel uintptr, enc uint8) { /* sqlite3.c:85528:17: */ +func Xsqlite3_result_text64(tls *libc.TLS, pCtx uintptr, z uintptr, n Sqlite3_uint64, xDel uintptr, enc uint8) { /* sqlite3.c:85541:17: */ if int32(enc) == SQLITE_UTF16 { enc = func() uint8 { @@ -62153,7 +62172,7 @@ func Xsqlite3_result_text64(tls *libc.TLS, pCtx uintptr, z uintptr, n Sqlite3_ui } } -func Xsqlite3_result_text16(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, xDel uintptr) { /* sqlite3.c:85545:17: */ +func Xsqlite3_result_text16(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, xDel uintptr) { /* sqlite3.c:85558:17: */ setResultStrOrError(tls, pCtx, z, n, func() uint8 { if int32(*(*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer(&Xsqlite3one))))) == 0 { @@ -62163,27 +62182,27 @@ func Xsqlite3_result_text16(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, xDe }(), xDel) } -func Xsqlite3_result_text16be(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, xDel uintptr) { /* sqlite3.c:85554:17: */ +func Xsqlite3_result_text16be(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, xDel uintptr) { /* sqlite3.c:85567:17: */ setResultStrOrError(tls, pCtx, z, n, uint8(SQLITE_UTF16BE), xDel) } -func Xsqlite3_result_text16le(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, xDel uintptr) { /* sqlite3.c:85563:17: */ +func Xsqlite3_result_text16le(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, xDel uintptr) { /* sqlite3.c:85576:17: */ setResultStrOrError(tls, pCtx, z, n, uint8(SQLITE_UTF16LE), xDel) } -func Xsqlite3_result_value(tls *libc.TLS, pCtx uintptr, pValue uintptr) { /* sqlite3.c:85573:17: */ +func Xsqlite3_result_value(tls *libc.TLS, pCtx uintptr, pValue uintptr) { /* sqlite3.c:85586:17: */ Xsqlite3VdbeMemCopy(tls, (*Sqlite3_context)(unsafe.Pointer(pCtx)).FpOut, pValue) } -func Xsqlite3_result_zeroblob(tls *libc.TLS, pCtx uintptr, n int32) { /* sqlite3.c:85577:17: */ +func Xsqlite3_result_zeroblob(tls *libc.TLS, pCtx uintptr, n int32) { /* sqlite3.c:85590:17: */ Xsqlite3VdbeMemSetZeroBlob(tls, (*Sqlite3_context)(unsafe.Pointer(pCtx)).FpOut, n) } -func Xsqlite3_result_zeroblob64(tls *libc.TLS, pCtx uintptr, n U64) int32 { /* sqlite3.c:85581:16: */ +func Xsqlite3_result_zeroblob64(tls *libc.TLS, pCtx uintptr, n U64) int32 { /* sqlite3.c:85594:16: */ var pOut uintptr = (*Sqlite3_context)(unsafe.Pointer(pCtx)).FpOut if n > U64(*(*int32)(unsafe.Pointer((*Mem)(unsafe.Pointer(pOut)).Fdb + 136))) { @@ -62193,7 +62212,7 @@ func Xsqlite3_result_zeroblob64(tls *libc.TLS, pCtx uintptr, n U64) int32 { /* s return SQLITE_OK } -func Xsqlite3_result_error_code(tls *libc.TLS, pCtx uintptr, errCode int32) { /* sqlite3.c:85594:17: */ +func Xsqlite3_result_error_code(tls *libc.TLS, pCtx uintptr, errCode int32) { /* sqlite3.c:85607:17: */ (*Sqlite3_context)(unsafe.Pointer(pCtx)).FisError = func() int32 { if errCode != 0 { return errCode @@ -62207,7 +62226,7 @@ func Xsqlite3_result_error_code(tls *libc.TLS, pCtx uintptr, errCode int32) { /* } // Force an SQLITE_TOOBIG error. -func Xsqlite3_result_error_toobig(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:85606:17: */ +func Xsqlite3_result_error_toobig(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:85619:17: */ (*Sqlite3_context)(unsafe.Pointer(pCtx)).FisError = SQLITE_TOOBIG Xsqlite3VdbeMemSetStr(tls, (*Sqlite3_context)(unsafe.Pointer(pCtx)).FpOut, ts+5285, int64(-1), @@ -62215,7 +62234,7 @@ func Xsqlite3_result_error_toobig(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:85 } // An SQLITE_NOMEM error. -func Xsqlite3_result_error_nomem(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:85614:17: */ +func Xsqlite3_result_error_nomem(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:85627:17: */ Xsqlite3VdbeMemSetNull(tls, (*Sqlite3_context)(unsafe.Pointer(pCtx)).FpOut) (*Sqlite3_context)(unsafe.Pointer(pCtx)).FisError = SQLITE_NOMEM @@ -62225,7 +62244,7 @@ func Xsqlite3_result_error_nomem(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:856 // Force the INT64 value currently stored as the result to be // a MEM_IntReal value. See the SQLITE_TESTCTRL_RESULT_INTREAL // test-control. -func Xsqlite3ResultIntReal(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:85626:21: */ +func Xsqlite3ResultIntReal(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:85639:21: */ if int32((*Mem)(unsafe.Pointer((*Sqlite3_context)(unsafe.Pointer(pCtx)).FpOut)).Fflags)&MEM_Int != 0 { *(*U16)(unsafe.Pointer((*Sqlite3_context)(unsafe.Pointer(pCtx)).FpOut + 8)) &= libc.Uint16FromInt32(libc.CplInt32(MEM_Int)) @@ -62235,7 +62254,7 @@ func Xsqlite3ResultIntReal(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:85626:21: // This function is called after a transaction has been committed. It // invokes callbacks registered with sqlite3_wal_hook() as required. -func doWalCallbacks(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:85640:12: */ +func doWalCallbacks(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:85653:12: */ var rc int32 = SQLITE_OK var i int32 for i = 0; i < (*Sqlite3)(unsafe.Pointer(db)).FnDb; i++ { @@ -62262,7 +62281,7 @@ func doWalCallbacks(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:85640:12: */ // API. The only thing omitted is the automatic recompile if a // schema change has occurred. That detail is handled by the // outer sqlite3_step() wrapper procedure. -func sqlite3Step(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:85670:12: */ +func sqlite3Step(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:85683:12: */ var db uintptr var rc int32 @@ -62429,14 +62448,14 @@ end_of_step: // This is the top-level implementation of sqlite3_step(). Call // sqlite3Step() to do most of the work. If a schema error occurs, // call sqlite3Reprepare() and try again. -func Xsqlite3_step(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:85804:16: */ +func Xsqlite3_step(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:85817:16: */ var rc int32 = SQLITE_OK // Result from sqlite3Step() var v uintptr = pStmt // the prepared statement var cnt int32 = 0 // Counter to prevent infinite loop of reprepares var db uintptr // The database connection if vdbeSafetyNotNull(tls, v) != 0 { - return Xsqlite3MisuseError(tls, 85811) + return Xsqlite3MisuseError(tls, 85824) } db = (*Vdbe)(unsafe.Pointer(v)).Fdb Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) @@ -62476,7 +62495,7 @@ func Xsqlite3_step(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:85804:16: // Extract the user data from a sqlite3_context structure and return a // pointer to it. -func Xsqlite3_user_data(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:85853:17: */ +func Xsqlite3_user_data(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:85866:17: */ return (*FuncDef)(unsafe.Pointer((*Sqlite3_context)(unsafe.Pointer(p)).FpFunc)).FpUserData } @@ -62489,7 +62508,7 @@ func Xsqlite3_user_data(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:85853:1 // parameter) of the sqlite3_create_function() and // sqlite3_create_function16() routines that originally registered the // application defined function. -func Xsqlite3_context_db_handle(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:85868:20: */ +func Xsqlite3_context_db_handle(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:85881:20: */ return (*Mem)(unsafe.Pointer((*Sqlite3_context)(unsafe.Pointer(p)).FpOut)).Fdb } @@ -62506,14 +62525,14 @@ func Xsqlite3_context_db_handle(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c // Virtual table implements might use this routine to optimize their // performance by substituting a NULL result, or some other light-weight // value, as a signal to the xUpdate routine that the column is unchanged. -func Xsqlite3_vtab_nochange(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:85887:16: */ +func Xsqlite3_vtab_nochange(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:85900:16: */ return Xsqlite3_value_nochange(tls, (*Sqlite3_context)(unsafe.Pointer(p)).FpOut) } // Implementation of sqlite3_vtab_in_first() (if bNext==0) and // sqlite3_vtab_in_next() (if bNext!=0). -func valueFromValueList(tls *libc.TLS, pVal uintptr, ppOut uintptr, bNext int32) int32 { /* sqlite3.c:85896:12: */ +func valueFromValueList(tls *libc.TLS, pVal uintptr, ppOut uintptr, bNext int32) int32 { /* sqlite3.c:85909:12: */ bp := tls.Alloc(68) defer tls.Free(68) @@ -62571,13 +62590,13 @@ func valueFromValueList(tls *libc.TLS, pVal uintptr, ppOut uintptr, bNext int32) // Set the iterator value pVal to point to the first value in the set. // Set (*ppOut) to point to this value before returning. -func Xsqlite3_vtab_in_first(tls *libc.TLS, pVal uintptr, ppOut uintptr) int32 { /* sqlite3.c:85944:16: */ +func Xsqlite3_vtab_in_first(tls *libc.TLS, pVal uintptr, ppOut uintptr) int32 { /* sqlite3.c:85957:16: */ return valueFromValueList(tls, pVal, ppOut, 0) } // Set the iterator value pVal to point to the next value in the set. // Set (*ppOut) to point to this value before returning. -func Xsqlite3_vtab_in_next(tls *libc.TLS, pVal uintptr, ppOut uintptr) int32 { /* sqlite3.c:85952:16: */ +func Xsqlite3_vtab_in_next(tls *libc.TLS, pVal uintptr, ppOut uintptr) int32 { /* sqlite3.c:85965:16: */ return valueFromValueList(tls, pVal, ppOut, 1) } @@ -62586,7 +62605,7 @@ func Xsqlite3_vtab_in_next(tls *libc.TLS, pVal uintptr, ppOut uintptr) int32 { / // statement, the exact same time is returned for each invocation regardless // of the amount of time that elapses between invocations. In other words, // the time returned is always the time of the first call. -func Xsqlite3StmtCurrentTime(tls *libc.TLS, p uintptr) Sqlite3_int64 { /* sqlite3.c:85963:30: */ +func Xsqlite3StmtCurrentTime(tls *libc.TLS, p uintptr) Sqlite3_int64 { /* sqlite3.c:85976:30: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -62609,7 +62628,7 @@ func Xsqlite3StmtCurrentTime(tls *libc.TLS, p uintptr) Sqlite3_int64 { /* sqlite // Create a new aggregate context for p and return a pointer to // its pMem->z element. -func createAggContext(tls *libc.TLS, p uintptr, nByte int32) uintptr { /* sqlite3.c:85983:29: */ +func createAggContext(tls *libc.TLS, p uintptr, nByte int32) uintptr { /* sqlite3.c:85996:29: */ var pMem uintptr = (*Sqlite3_context)(unsafe.Pointer(p)).FpMem if nByte <= 0 { @@ -62629,7 +62648,7 @@ func createAggContext(tls *libc.TLS, p uintptr, nByte int32) uintptr { /* sqlite // Allocate or return the aggregate context for a user function. A new // context is allocated on the first call. Subsequent calls return the // same context that was returned on prior calls. -func Xsqlite3_aggregate_context(tls *libc.TLS, p uintptr, nByte int32) uintptr { /* sqlite3.c:86005:17: */ +func Xsqlite3_aggregate_context(tls *libc.TLS, p uintptr, nByte int32) uintptr { /* sqlite3.c:86018:17: */ if int32((*Mem)(unsafe.Pointer((*Sqlite3_context)(unsafe.Pointer(p)).FpMem)).Fflags)&MEM_Agg == 0 { return createAggContext(tls, p, nByte) @@ -62647,7 +62666,7 @@ func Xsqlite3_aggregate_context(tls *libc.TLS, p uintptr, nByte int32) uintptr { // Undocumented behavior: If iArg is negative then access a cache of // auxiliary data pointers that is available to all functions within a // single prepared statement. The iArg values must match. -func Xsqlite3_get_auxdata(tls *libc.TLS, pCtx uintptr, iArg int32) uintptr { /* sqlite3.c:86026:17: */ +func Xsqlite3_get_auxdata(tls *libc.TLS, pCtx uintptr, iArg int32) uintptr { /* sqlite3.c:86039:17: */ var pAuxData uintptr if (*Sqlite3_context)(unsafe.Pointer(pCtx)).FpVdbe == uintptr(0) { @@ -62670,7 +62689,7 @@ func Xsqlite3_get_auxdata(tls *libc.TLS, pCtx uintptr, iArg int32) uintptr { /* // Undocumented behavior: If iArg is negative then make the data available // 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) { /* sqlite3.c:86054:17: */ +func Xsqlite3_set_auxdata(tls *libc.TLS, pCtx uintptr, iArg int32, pAux uintptr, xDelete uintptr) { /* sqlite3.c:86067:17: */ var pAuxData uintptr var pVdbe uintptr pVdbe = (*Sqlite3_context)(unsafe.Pointer(pCtx)).FpVdbe @@ -62750,13 +62769,13 @@ __11: // provide only to avoid breaking legacy code. New aggregate function // implementations should keep their own counts within their aggregate // context. -func Xsqlite3_aggregate_count(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:86107:16: */ +func Xsqlite3_aggregate_count(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:86120:16: */ return (*Mem)(unsafe.Pointer((*Sqlite3_context)(unsafe.Pointer(p)).FpMem)).Fn } // Return the number of columns in the result set for the statement pStmt. -func Xsqlite3_column_count(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:86116:16: */ +func Xsqlite3_column_count(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:86129:16: */ var pVm uintptr = pStmt if pVm != 0 { return int32((*Vdbe)(unsafe.Pointer(pVm)).FnResColumn) @@ -62766,7 +62785,7 @@ func Xsqlite3_column_count(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:86 // Return the number of values available from the current row of the // currently executing statement pStmt. -func Xsqlite3_data_count(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:86125:16: */ +func Xsqlite3_data_count(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:86138:16: */ var pVm uintptr = pStmt if pVm == uintptr(0) || (*Vdbe)(unsafe.Pointer(pVm)).FpResultSet == uintptr(0) { return 0 @@ -62775,19 +62794,19 @@ func Xsqlite3_data_count(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:8612 } // Return a pointer to static memory containing an SQL NULL value. -func columnNullValue(tls *libc.TLS) uintptr { /* sqlite3.c:86134:18: */ +func columnNullValue(tls *libc.TLS) uintptr { /* sqlite3.c:86147:18: */ return uintptr(unsafe.Pointer(&nullMem)) } var nullMem = Mem{ /* .flags = */ Fflags: U16(MEM_Null), -} /* sqlite3.c:86144:20 */ +} /* sqlite3.c:86157:20 */ // Check to see if column iCol of the given statement is valid. If // it is, return a pointer to the Mem for the value of that column. // If iCol is not valid, return a pointer to a Mem which has a value // of NULL. -func columnMem(tls *libc.TLS, pStmt uintptr, i int32) uintptr { /* sqlite3.c:86174:12: */ +func columnMem(tls *libc.TLS, pStmt uintptr, i int32) uintptr { /* sqlite3.c:86187:12: */ var pVm uintptr var pOut uintptr @@ -62822,7 +62841,7 @@ func columnMem(tls *libc.TLS, pStmt uintptr, i int32) uintptr { /* sqlite3.c:861 // sqlite3_column_bytes() // sqlite3_column_bytes16() // sqiite3_column_blob() -func columnMallocFailure(tls *libc.TLS, pStmt uintptr) { /* sqlite3.c:86209:13: */ +func columnMallocFailure(tls *libc.TLS, pStmt uintptr) { /* sqlite3.c:86222:13: */ // If malloc() failed during an encoding conversion within an // sqlite3_column_XXX API, then set the return code of the statement to // SQLITE_NOMEM. The next call to _step() (if any) will return SQLITE_ERROR @@ -62839,7 +62858,7 @@ func columnMallocFailure(tls *libc.TLS, pStmt uintptr) { /* sqlite3.c:86209:13: // // The following routines are used to access elements of the current row // in the result set. -func Xsqlite3_column_blob(tls *libc.TLS, pStmt uintptr, i int32) uintptr { /* sqlite3.c:86229:23: */ +func Xsqlite3_column_blob(tls *libc.TLS, pStmt uintptr, i int32) uintptr { /* sqlite3.c:86242:23: */ var val uintptr val = Xsqlite3_value_blob(tls, columnMem(tls, pStmt, i)) // Even though there is no encoding conversion, value_blob() might @@ -62849,43 +62868,43 @@ func Xsqlite3_column_blob(tls *libc.TLS, pStmt uintptr, i int32) uintptr { /* sq return val } -func Xsqlite3_column_bytes(tls *libc.TLS, pStmt uintptr, i int32) int32 { /* sqlite3.c:86239:16: */ +func Xsqlite3_column_bytes(tls *libc.TLS, pStmt uintptr, i int32) int32 { /* sqlite3.c:86252:16: */ var val int32 = Xsqlite3_value_bytes(tls, columnMem(tls, pStmt, i)) columnMallocFailure(tls, pStmt) return val } -func Xsqlite3_column_bytes16(tls *libc.TLS, pStmt uintptr, i int32) int32 { /* sqlite3.c:86244:16: */ +func Xsqlite3_column_bytes16(tls *libc.TLS, pStmt uintptr, i int32) int32 { /* sqlite3.c:86257:16: */ var val int32 = Xsqlite3_value_bytes16(tls, columnMem(tls, pStmt, i)) columnMallocFailure(tls, pStmt) return val } -func Xsqlite3_column_double(tls *libc.TLS, pStmt uintptr, i int32) float64 { /* sqlite3.c:86249:19: */ +func Xsqlite3_column_double(tls *libc.TLS, pStmt uintptr, i int32) float64 { /* sqlite3.c:86262:19: */ var val float64 = Xsqlite3_value_double(tls, columnMem(tls, pStmt, i)) columnMallocFailure(tls, pStmt) return val } -func Xsqlite3_column_int(tls *libc.TLS, pStmt uintptr, i int32) int32 { /* sqlite3.c:86254:16: */ +func Xsqlite3_column_int(tls *libc.TLS, pStmt uintptr, i int32) int32 { /* sqlite3.c:86267:16: */ var val int32 = Xsqlite3_value_int(tls, columnMem(tls, pStmt, i)) columnMallocFailure(tls, pStmt) return val } -func Xsqlite3_column_int64(tls *libc.TLS, pStmt uintptr, i int32) Sqlite_int64 { /* sqlite3.c:86259:25: */ +func Xsqlite3_column_int64(tls *libc.TLS, pStmt uintptr, i int32) Sqlite_int64 { /* sqlite3.c:86272:25: */ var val Sqlite_int64 = Xsqlite3_value_int64(tls, columnMem(tls, pStmt, i)) columnMallocFailure(tls, pStmt) return val } -func Xsqlite3_column_text(tls *libc.TLS, pStmt uintptr, i int32) uintptr { /* sqlite3.c:86264:32: */ +func Xsqlite3_column_text(tls *libc.TLS, pStmt uintptr, i int32) uintptr { /* sqlite3.c:86277:32: */ var val uintptr = Xsqlite3_value_text(tls, columnMem(tls, pStmt, i)) columnMallocFailure(tls, pStmt) return val } -func Xsqlite3_column_value(tls *libc.TLS, pStmt uintptr, i int32) uintptr { /* sqlite3.c:86269:26: */ +func Xsqlite3_column_value(tls *libc.TLS, pStmt uintptr, i int32) uintptr { /* sqlite3.c:86282:26: */ var pOut uintptr = columnMem(tls, pStmt, i) if int32((*Mem)(unsafe.Pointer(pOut)).Fflags)&MEM_Static != 0 { *(*U16)(unsafe.Pointer(pOut + 8)) &= libc.Uint16FromInt32(libc.CplInt32(MEM_Static)) @@ -62895,13 +62914,13 @@ func Xsqlite3_column_value(tls *libc.TLS, pStmt uintptr, i int32) uintptr { /* s return pOut } -func Xsqlite3_column_text16(tls *libc.TLS, pStmt uintptr, i int32) uintptr { /* sqlite3.c:86279:23: */ +func Xsqlite3_column_text16(tls *libc.TLS, pStmt uintptr, i int32) uintptr { /* sqlite3.c:86292:23: */ var val uintptr = Xsqlite3_value_text16(tls, columnMem(tls, pStmt, i)) columnMallocFailure(tls, pStmt) return val } -func Xsqlite3_column_type(tls *libc.TLS, pStmt uintptr, i int32) int32 { /* sqlite3.c:86285:16: */ +func Xsqlite3_column_type(tls *libc.TLS, pStmt uintptr, i int32) int32 { /* sqlite3.c:86298:16: */ var iType int32 = Xsqlite3_value_type(tls, columnMem(tls, pStmt, i)) columnMallocFailure(tls, pStmt) return iType @@ -62921,7 +62940,7 @@ func Xsqlite3_column_type(tls *libc.TLS, pStmt uintptr, i int32) int32 { /* sqli // // If the result is not a simple column reference (if it is an expression // or a constant) then useTypes 2, 3, and 4 return NULL. -func columnName(tls *libc.TLS, pStmt uintptr, N int32, useUtf16 int32, useType int32) uintptr { /* sqlite3.c:86307:19: */ +func columnName(tls *libc.TLS, pStmt uintptr, N int32, useUtf16 int32, useType int32) uintptr { /* sqlite3.c:86320:19: */ var ret uintptr var p uintptr var n int32 @@ -62953,11 +62972,11 @@ func columnName(tls *libc.TLS, pStmt uintptr, N int32, useUtf16 int32, useType i // Return the name of the Nth column of the result set returned by SQL // statement pStmt. -func Xsqlite3_column_name(tls *libc.TLS, pStmt uintptr, N int32) uintptr { /* sqlite3.c:86356:23: */ +func Xsqlite3_column_name(tls *libc.TLS, pStmt uintptr, N int32) uintptr { /* sqlite3.c:86369:23: */ return columnName(tls, pStmt, N, 0, COLNAME_NAME) } -func Xsqlite3_column_name16(tls *libc.TLS, pStmt uintptr, N int32) uintptr { /* sqlite3.c:86360:23: */ +func Xsqlite3_column_name16(tls *libc.TLS, pStmt uintptr, N int32) uintptr { /* sqlite3.c:86373:23: */ return columnName(tls, pStmt, N, 1, COLNAME_NAME) } @@ -62966,44 +62985,44 @@ func Xsqlite3_column_name16(tls *libc.TLS, pStmt uintptr, N int32) uintptr { /* // Return the column declaration type (if applicable) of the 'i'th column // of the result set of SQL statement pStmt. -func Xsqlite3_column_decltype(tls *libc.TLS, pStmt uintptr, N int32) uintptr { /* sqlite3.c:86379:23: */ +func Xsqlite3_column_decltype(tls *libc.TLS, pStmt uintptr, N int32) uintptr { /* sqlite3.c:86392:23: */ return columnName(tls, pStmt, N, 0, COLNAME_DECLTYPE) } -func Xsqlite3_column_decltype16(tls *libc.TLS, pStmt uintptr, N int32) uintptr { /* sqlite3.c:86383:23: */ +func Xsqlite3_column_decltype16(tls *libc.TLS, pStmt uintptr, N int32) uintptr { /* sqlite3.c:86396:23: */ return columnName(tls, pStmt, N, 1, COLNAME_DECLTYPE) } // Return the name of the database from which a result column derives. // NULL is returned if the result column is an expression or constant or // anything else which is not an unambiguous reference to a database column. -func Xsqlite3_column_database_name(tls *libc.TLS, pStmt uintptr, N int32) uintptr { /* sqlite3.c:86395:23: */ +func Xsqlite3_column_database_name(tls *libc.TLS, pStmt uintptr, N int32) uintptr { /* sqlite3.c:86408:23: */ return columnName(tls, pStmt, N, 0, COLNAME_DATABASE) } -func Xsqlite3_column_database_name16(tls *libc.TLS, pStmt uintptr, N int32) uintptr { /* sqlite3.c:86399:23: */ +func Xsqlite3_column_database_name16(tls *libc.TLS, pStmt uintptr, N int32) uintptr { /* sqlite3.c:86412:23: */ return columnName(tls, pStmt, N, 1, COLNAME_DATABASE) } // Return the name of the table from which a result column derives. // NULL is returned if the result column is an expression or constant or // anything else which is not an unambiguous reference to a database column. -func Xsqlite3_column_table_name(tls *libc.TLS, pStmt uintptr, N int32) uintptr { /* sqlite3.c:86409:23: */ +func Xsqlite3_column_table_name(tls *libc.TLS, pStmt uintptr, N int32) uintptr { /* sqlite3.c:86422:23: */ return columnName(tls, pStmt, N, 0, COLNAME_TABLE) } -func Xsqlite3_column_table_name16(tls *libc.TLS, pStmt uintptr, N int32) uintptr { /* sqlite3.c:86413:23: */ +func Xsqlite3_column_table_name16(tls *libc.TLS, pStmt uintptr, N int32) uintptr { /* sqlite3.c:86426:23: */ return columnName(tls, pStmt, N, 1, COLNAME_TABLE) } // Return the name of the table column from which a result column derives. // NULL is returned if the result column is an expression or constant or // anything else which is not an unambiguous reference to a database column. -func Xsqlite3_column_origin_name(tls *libc.TLS, pStmt uintptr, N int32) uintptr { /* sqlite3.c:86423:23: */ +func Xsqlite3_column_origin_name(tls *libc.TLS, pStmt uintptr, N int32) uintptr { /* sqlite3.c:86436:23: */ return columnName(tls, pStmt, N, 0, COLNAME_COLUMN) } -func Xsqlite3_column_origin_name16(tls *libc.TLS, pStmt uintptr, N int32) uintptr { /* sqlite3.c:86427:23: */ +func Xsqlite3_column_origin_name16(tls *libc.TLS, pStmt uintptr, N int32) uintptr { /* sqlite3.c:86440:23: */ return columnName(tls, pStmt, N, 1, COLNAME_COLUMN) } @@ -63020,13 +63039,13 @@ func Xsqlite3_column_origin_name16(tls *libc.TLS, pStmt uintptr, N int32) uintpt // // The error code stored in database p->db is overwritten with the return // value in any case. -func vdbeUnbind(tls *libc.TLS, p uintptr, i int32) int32 { /* sqlite3.c:86449:12: */ +func vdbeUnbind(tls *libc.TLS, p uintptr, i int32) int32 { /* sqlite3.c:86462:12: */ bp := tls.Alloc(8) defer tls.Free(8) var pVar uintptr if vdbeSafetyNotNull(tls, p) != 0 { - return Xsqlite3MisuseError(tls, 86452) + return Xsqlite3MisuseError(tls, 86465) } Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer((*Vdbe)(unsafe.Pointer(p)).Fdb)).Fmutex) if (*Vdbe)(unsafe.Pointer(p)).FiVdbeMagic != U32(VDBE_MAGIC_RUN) || (*Vdbe)(unsafe.Pointer(p)).Fpc >= 0 { @@ -63034,7 +63053,7 @@ func vdbeUnbind(tls *libc.TLS, p uintptr, i int32) int32 { /* sqlite3.c:86449:12 Xsqlite3_mutex_leave(tls, (*Sqlite3)(unsafe.Pointer((*Vdbe)(unsafe.Pointer(p)).Fdb)).Fmutex) Xsqlite3_log(tls, SQLITE_MISUSE, ts+5318, libc.VaList(bp, (*Vdbe)(unsafe.Pointer(p)).FzSql)) - return Xsqlite3MisuseError(tls, 86460) + return Xsqlite3MisuseError(tls, 86473) } if i < 1 || i > int32((*Vdbe)(unsafe.Pointer(p)).FnVar) { Xsqlite3Error(tls, (*Vdbe)(unsafe.Pointer(p)).Fdb, SQLITE_RANGE) @@ -63068,7 +63087,7 @@ func vdbeUnbind(tls *libc.TLS, p uintptr, i int32) int32 { /* sqlite3.c:86449:12 } // Bind a text or BLOB value. -func bindText(tls *libc.TLS, pStmt uintptr, i int32, zData uintptr, nData I64, xDel uintptr, encoding U8) int32 { /* sqlite3.c:86492:12: */ +func bindText(tls *libc.TLS, pStmt uintptr, i int32, zData uintptr, nData I64, xDel uintptr, encoding U8) int32 { /* sqlite3.c:86505:12: */ var p uintptr = pStmt var pVar uintptr var rc int32 @@ -63094,16 +63113,16 @@ func bindText(tls *libc.TLS, pStmt uintptr, i int32, zData uintptr, nData I64, x } // 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) int32 { /* sqlite3.c:86528:16: */ +func Xsqlite3_bind_blob(tls *libc.TLS, pStmt uintptr, i int32, zData uintptr, nData int32, xDel uintptr) int32 { /* sqlite3.c:86541:16: */ return bindText(tls, pStmt, i, zData, int64(nData), xDel, uint8(0)) } -func Xsqlite3_bind_blob64(tls *libc.TLS, pStmt uintptr, i int32, zData uintptr, nData Sqlite3_uint64, xDel uintptr) int32 { /* sqlite3.c:86540:16: */ +func Xsqlite3_bind_blob64(tls *libc.TLS, pStmt uintptr, i int32, zData uintptr, nData Sqlite3_uint64, xDel uintptr) int32 { /* sqlite3.c:86553:16: */ return bindText(tls, pStmt, i, zData, int64(nData), xDel, uint8(0)) } -func Xsqlite3_bind_double(tls *libc.TLS, pStmt uintptr, i int32, rValue float64) int32 { /* sqlite3.c:86550:16: */ +func Xsqlite3_bind_double(tls *libc.TLS, pStmt uintptr, i int32, rValue float64) int32 { /* sqlite3.c:86563:16: */ var rc int32 var p uintptr = pStmt rc = vdbeUnbind(tls, p, i) @@ -63114,11 +63133,11 @@ func Xsqlite3_bind_double(tls *libc.TLS, pStmt uintptr, i int32, rValue float64) return rc } -func Xsqlite3_bind_int(tls *libc.TLS, p uintptr, i int32, iValue int32) int32 { /* sqlite3.c:86560:16: */ +func Xsqlite3_bind_int(tls *libc.TLS, p uintptr, i int32, iValue int32) int32 { /* sqlite3.c:86573:16: */ return Xsqlite3_bind_int64(tls, p, i, I64(iValue)) } -func Xsqlite3_bind_int64(tls *libc.TLS, pStmt uintptr, i int32, iValue Sqlite_int64) int32 { /* sqlite3.c:86563:16: */ +func Xsqlite3_bind_int64(tls *libc.TLS, pStmt uintptr, i int32, iValue Sqlite_int64) int32 { /* sqlite3.c:86576:16: */ var rc int32 var p uintptr = pStmt rc = vdbeUnbind(tls, p, i) @@ -63129,7 +63148,7 @@ func Xsqlite3_bind_int64(tls *libc.TLS, pStmt uintptr, i int32, iValue Sqlite_in return rc } -func Xsqlite3_bind_null(tls *libc.TLS, pStmt uintptr, i int32) int32 { /* sqlite3.c:86573:16: */ +func Xsqlite3_bind_null(tls *libc.TLS, pStmt uintptr, i int32) int32 { /* sqlite3.c:86586:16: */ var rc int32 var p uintptr = pStmt rc = vdbeUnbind(tls, p, i) @@ -63139,7 +63158,7 @@ func Xsqlite3_bind_null(tls *libc.TLS, pStmt uintptr, i int32) int32 { /* sqlite return rc } -func Xsqlite3_bind_pointer(tls *libc.TLS, pStmt uintptr, i int32, pPtr uintptr, zPTtype uintptr, xDestructor uintptr) int32 { /* sqlite3.c:86582:16: */ +func Xsqlite3_bind_pointer(tls *libc.TLS, pStmt uintptr, i int32, pPtr uintptr, zPTtype uintptr, xDestructor uintptr) int32 { /* sqlite3.c:86595:16: */ var rc int32 var p uintptr = pStmt rc = vdbeUnbind(tls, p, i) @@ -63152,11 +63171,11 @@ func Xsqlite3_bind_pointer(tls *libc.TLS, pStmt uintptr, i int32, pPtr uintptr, return rc } -func Xsqlite3_bind_text(tls *libc.TLS, pStmt uintptr, i int32, zData uintptr, nData int32, xDel uintptr) int32 { /* sqlite3.c:86600:16: */ +func Xsqlite3_bind_text(tls *libc.TLS, pStmt uintptr, i int32, zData uintptr, nData int32, xDel uintptr) int32 { /* sqlite3.c:86613:16: */ return bindText(tls, pStmt, i, zData, int64(nData), xDel, uint8(SQLITE_UTF8)) } -func Xsqlite3_bind_text64(tls *libc.TLS, pStmt uintptr, i int32, zData uintptr, nData Sqlite3_uint64, xDel uintptr, enc uint8) int32 { /* sqlite3.c:86609:16: */ +func Xsqlite3_bind_text64(tls *libc.TLS, pStmt uintptr, i int32, zData uintptr, nData Sqlite3_uint64, xDel uintptr, enc uint8) int32 { /* sqlite3.c:86622:16: */ if int32(enc) == SQLITE_UTF16 { enc = func() uint8 { @@ -63169,7 +63188,7 @@ func Xsqlite3_bind_text64(tls *libc.TLS, pStmt uintptr, i int32, zData uintptr, return bindText(tls, pStmt, i, zData, int64(nData), xDel, enc) } -func Xsqlite3_bind_text16(tls *libc.TLS, pStmt uintptr, i int32, zData uintptr, nData int32, xDel uintptr) int32 { /* sqlite3.c:86622:16: */ +func Xsqlite3_bind_text16(tls *libc.TLS, pStmt uintptr, i int32, zData uintptr, nData int32, xDel uintptr) int32 { /* sqlite3.c:86635:16: */ return bindText(tls, pStmt, i, zData, int64(nData), xDel, func() uint8 { if int32(*(*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer(&Xsqlite3one))))) == 0 { return uint8(SQLITE_UTF16BE) @@ -63178,7 +63197,7 @@ func Xsqlite3_bind_text16(tls *libc.TLS, pStmt uintptr, i int32, zData uintptr, }()) } -func Xsqlite3_bind_value(tls *libc.TLS, pStmt uintptr, i int32, pValue uintptr) int32 { /* sqlite3.c:86632:16: */ +func Xsqlite3_bind_value(tls *libc.TLS, pStmt uintptr, i int32, pValue uintptr) int32 { /* sqlite3.c:86645:16: */ var rc int32 switch Xsqlite3_value_type(tls, pValue) { case SQLITE_INTEGER: @@ -63227,7 +63246,7 @@ func Xsqlite3_bind_value(tls *libc.TLS, pStmt uintptr, i int32, pValue uintptr) return rc } -func Xsqlite3_bind_zeroblob(tls *libc.TLS, pStmt uintptr, i int32, n int32) int32 { /* sqlite3.c:86666:16: */ +func Xsqlite3_bind_zeroblob(tls *libc.TLS, pStmt uintptr, i int32, n int32) int32 { /* sqlite3.c:86679:16: */ var rc int32 var p uintptr = pStmt rc = vdbeUnbind(tls, p, i) @@ -63238,7 +63257,7 @@ func Xsqlite3_bind_zeroblob(tls *libc.TLS, pStmt uintptr, i int32, n int32) int3 return rc } -func Xsqlite3_bind_zeroblob64(tls *libc.TLS, pStmt uintptr, i int32, n Sqlite3_uint64) int32 { /* sqlite3.c:86680:16: */ +func Xsqlite3_bind_zeroblob64(tls *libc.TLS, pStmt uintptr, i int32, n Sqlite3_uint64) int32 { /* sqlite3.c:86693:16: */ var rc int32 var p uintptr = pStmt Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer((*Vdbe)(unsafe.Pointer(p)).Fdb)).Fmutex) @@ -63255,7 +63274,7 @@ func Xsqlite3_bind_zeroblob64(tls *libc.TLS, pStmt uintptr, i int32, n Sqlite3_u // Return the number of wildcards that can be potentially bound to. // This routine is added to support DBD::SQLite. -func Xsqlite3_bind_parameter_count(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:86699:16: */ +func Xsqlite3_bind_parameter_count(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:86712:16: */ var p uintptr = pStmt if p != 0 { return int32((*Vdbe)(unsafe.Pointer(p)).FnVar) @@ -63267,7 +63286,7 @@ func Xsqlite3_bind_parameter_count(tls *libc.TLS, pStmt uintptr) int32 { /* sqli // is out of range or if the wildcard is unnamed. // // The result is always UTF-8. -func Xsqlite3_bind_parameter_name(tls *libc.TLS, pStmt uintptr, i int32) uintptr { /* sqlite3.c:86710:23: */ +func Xsqlite3_bind_parameter_name(tls *libc.TLS, pStmt uintptr, i int32) uintptr { /* sqlite3.c:86723:23: */ var p uintptr = pStmt if p == uintptr(0) { return uintptr(0) @@ -63278,19 +63297,19 @@ func Xsqlite3_bind_parameter_name(tls *libc.TLS, pStmt uintptr, i int32) uintptr // Given a wildcard parameter name, return the index of the variable // with that name. If there is no variable with the given name, // return 0. -func Xsqlite3VdbeParameterIndex(tls *libc.TLS, p uintptr, zName uintptr, nName int32) int32 { /* sqlite3.c:86721:20: */ +func Xsqlite3VdbeParameterIndex(tls *libc.TLS, p uintptr, zName uintptr, nName int32) int32 { /* sqlite3.c:86734:20: */ if p == uintptr(0) || zName == uintptr(0) { return 0 } return Xsqlite3VListNameToNum(tls, (*Vdbe)(unsafe.Pointer(p)).FpVList, zName, nName) } -func Xsqlite3_bind_parameter_index(tls *libc.TLS, pStmt uintptr, zName uintptr) int32 { /* sqlite3.c:86725:16: */ +func Xsqlite3_bind_parameter_index(tls *libc.TLS, pStmt uintptr, zName uintptr) int32 { /* sqlite3.c:86738:16: */ return Xsqlite3VdbeParameterIndex(tls, pStmt, zName, Xsqlite3Strlen30(tls, zName)) } // Transfer all bindings from the first statement over to the second. -func Xsqlite3TransferBindings(tls *libc.TLS, pFromStmt uintptr, pToStmt uintptr) int32 { /* sqlite3.c:86732:20: */ +func Xsqlite3TransferBindings(tls *libc.TLS, pFromStmt uintptr, pToStmt uintptr) int32 { /* sqlite3.c:86745:20: */ var pFrom uintptr = pFromStmt var pTo uintptr = pToStmt var i int32 @@ -63313,7 +63332,7 @@ func Xsqlite3TransferBindings(tls *libc.TLS, pFromStmt uintptr, pToStmt uintptr) // If the two statements contain a different number of bindings, then // an SQLITE_ERROR is returned. Nothing else can go wrong, so otherwise // SQLITE_OK is returned. -func Xsqlite3_transfer_bindings(tls *libc.TLS, pFromStmt uintptr, pToStmt uintptr) int32 { /* sqlite3.c:86759:16: */ +func Xsqlite3_transfer_bindings(tls *libc.TLS, pFromStmt uintptr, pToStmt uintptr) int32 { /* sqlite3.c:86772:16: */ var pFrom uintptr = pFromStmt var pTo uintptr = pToStmt if int32((*Vdbe)(unsafe.Pointer(pFrom)).FnVar) != int32((*Vdbe)(unsafe.Pointer(pTo)).FnVar) { @@ -63334,7 +63353,7 @@ func Xsqlite3_transfer_bindings(tls *libc.TLS, pFromStmt uintptr, pToStmt uintpt // in the argument belongs. This is the same database handle that was // the first argument to the sqlite3_prepare() that was used to create // the statement in the first place. -func Xsqlite3_db_handle(tls *libc.TLS, pStmt uintptr) uintptr { /* sqlite3.c:86783:20: */ +func Xsqlite3_db_handle(tls *libc.TLS, pStmt uintptr) uintptr { /* sqlite3.c:86796:20: */ if pStmt != 0 { return (*Vdbe)(unsafe.Pointer(pStmt)).Fdb } @@ -63343,7 +63362,7 @@ func Xsqlite3_db_handle(tls *libc.TLS, pStmt uintptr) uintptr { /* sqlite3.c:867 // Return true if the prepared statement is guaranteed to not modify the // database. -func Xsqlite3_stmt_readonly(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:86791:16: */ +func Xsqlite3_stmt_readonly(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:86804:16: */ if pStmt != 0 { return int32(*(*uint16)(unsafe.Pointer(pStmt + 208)) & 0x100 >> 8) } @@ -63352,7 +63371,7 @@ func Xsqlite3_stmt_readonly(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:8 // Return 1 if the statement is an EXPLAIN and return 2 if the // statement is an EXPLAIN QUERY PLAN -func Xsqlite3_stmt_isexplain(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:86799:16: */ +func Xsqlite3_stmt_isexplain(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:86812:16: */ if pStmt != 0 { return int32(*(*uint16)(unsafe.Pointer(pStmt + 208)) & 0x3000 >> 12) } @@ -63360,7 +63379,7 @@ func Xsqlite3_stmt_isexplain(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c: } // Return true if the prepared statement is in need of being reset. -func Xsqlite3_stmt_busy(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:86806:16: */ +func Xsqlite3_stmt_busy(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:86819:16: */ var v uintptr = pStmt return libc.Bool32(v != uintptr(0) && (*Vdbe)(unsafe.Pointer(v)).FiVdbeMagic == U32(VDBE_MAGIC_RUN) && (*Vdbe)(unsafe.Pointer(v)).Fpc >= 0) } @@ -63369,7 +63388,7 @@ func Xsqlite3_stmt_busy(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:86806 // with database connection pDb. If pStmt is NULL, return the first // prepared statement for the database connection. Return NULL if there // are no more. -func Xsqlite3_next_stmt(tls *libc.TLS, pDb uintptr, pStmt uintptr) uintptr { /* sqlite3.c:86817:25: */ +func Xsqlite3_next_stmt(tls *libc.TLS, pDb uintptr, pStmt uintptr) uintptr { /* sqlite3.c:86830:25: */ var pNext uintptr Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(pDb)).Fmutex) if pStmt == uintptr(0) { @@ -63382,7 +63401,7 @@ func Xsqlite3_next_stmt(tls *libc.TLS, pDb uintptr, pStmt uintptr) uintptr { /* } // Return the value of a status counter for a prepared statement -func Xsqlite3_stmt_status(tls *libc.TLS, pStmt uintptr, op int32, resetFlag int32) int32 { /* sqlite3.c:86838:16: */ +func Xsqlite3_stmt_status(tls *libc.TLS, pStmt uintptr, op int32, resetFlag int32) int32 { /* sqlite3.c:86851:16: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -63408,7 +63427,7 @@ func Xsqlite3_stmt_status(tls *libc.TLS, pStmt uintptr, op int32, resetFlag int3 } // Return the SQL associated with a prepared statement -func Xsqlite3_sql(tls *libc.TLS, pStmt uintptr) uintptr { /* sqlite3.c:86868:23: */ +func Xsqlite3_sql(tls *libc.TLS, pStmt uintptr) uintptr { /* sqlite3.c:86881:23: */ var p uintptr = pStmt if p != 0 { return (*Vdbe)(unsafe.Pointer(p)).FzSql @@ -63423,7 +63442,7 @@ func Xsqlite3_sql(tls *libc.TLS, pStmt uintptr) uintptr { /* sqlite3.c:86868:23: // // The SQLITE_TRACE_SIZE_LIMIT puts an upper bound on the size of // expanded bound parameters. -func Xsqlite3_expanded_sql(tls *libc.TLS, pStmt uintptr) uintptr { /* sqlite3.c:86882:17: */ +func Xsqlite3_expanded_sql(tls *libc.TLS, pStmt uintptr) uintptr { /* sqlite3.c:86895:17: */ var z uintptr = uintptr(0) var zSql uintptr = Xsqlite3_sql(tls, pStmt) if zSql != 0 { @@ -63438,7 +63457,7 @@ func Xsqlite3_expanded_sql(tls *libc.TLS, pStmt uintptr) uintptr { /* sqlite3.c: // Allocate and populate an UnpackedRecord structure based on the serialized // record in nKey/pKey. Return a pointer to the new UnpackedRecord structure // if successful, or a NULL pointer if an OOM error is encountered. -func vdbeUnpackRecord(tls *libc.TLS, pKeyInfo uintptr, nKey int32, pKey uintptr) uintptr { /* sqlite3.c:86920:23: */ +func vdbeUnpackRecord(tls *libc.TLS, pKeyInfo uintptr, nKey int32, pKey uintptr) uintptr { /* sqlite3.c:86933:23: */ var pRet uintptr // Return value pRet = Xsqlite3VdbeAllocUnpackedRecord(tls, pKeyInfo) @@ -63451,7 +63470,7 @@ func vdbeUnpackRecord(tls *libc.TLS, pKeyInfo uintptr, nKey int32, pKey uintptr) // This function is called from within a pre-update callback to retrieve // a field of the row currently being updated or deleted. -func Xsqlite3_preupdate_old(tls *libc.TLS, db uintptr, iIdx int32, ppValue uintptr) int32 { /* sqlite3.c:86939:16: */ +func Xsqlite3_preupdate_old(tls *libc.TLS, db uintptr, iIdx int32, ppValue uintptr) int32 { /* sqlite3.c:86952:16: */ var p uintptr var pMem uintptr var rc int32 @@ -63465,7 +63484,7 @@ func Xsqlite3_preupdate_old(tls *libc.TLS, db uintptr, iIdx int32, ppValue uintp if !(!(p != 0) || (*PreUpdate)(unsafe.Pointer(p)).Fop == SQLITE_INSERT) { goto __1 } - rc = Xsqlite3MisuseError(tls, 86947) + rc = Xsqlite3MisuseError(tls, 86960) goto preupdate_old_out __1: ; @@ -63557,7 +63576,7 @@ preupdate_old_out: // This function is called from within a pre-update callback to retrieve // the number of columns in the row being updated, deleted or inserted. -func Xsqlite3_preupdate_count(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:87003:16: */ +func Xsqlite3_preupdate_count(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:87016:16: */ var p uintptr = (*Sqlite3)(unsafe.Pointer(db)).FpPreUpdate return func() int32 { if p != 0 { @@ -63576,7 +63595,7 @@ func Xsqlite3_preupdate_count(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:87 // // For the purposes of the previous paragraph, a foreign key CASCADE, SET NULL // or SET DEFAULT action is considered a trigger. -func Xsqlite3_preupdate_depth(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:87021:16: */ +func Xsqlite3_preupdate_depth(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:87034:16: */ var p uintptr = (*Sqlite3)(unsafe.Pointer(db)).FpPreUpdate return func() int32 { if p != 0 { @@ -63588,7 +63607,7 @@ func Xsqlite3_preupdate_depth(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:87 // This function is designed to be called from within a pre-update callback // only. -func Xsqlite3_preupdate_blobwrite(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:87032:16: */ +func Xsqlite3_preupdate_blobwrite(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:87045:16: */ var p uintptr = (*Sqlite3)(unsafe.Pointer(db)).FpPreUpdate return func() int32 { if p != 0 { @@ -63600,7 +63619,7 @@ func Xsqlite3_preupdate_blobwrite(tls *libc.TLS, db uintptr) int32 { /* sqlite3. // This function is called from within a pre-update callback to retrieve // a field of the row currently being updated or inserted. -func Xsqlite3_preupdate_new(tls *libc.TLS, db uintptr, iIdx int32, ppValue uintptr) int32 { /* sqlite3.c:87043:16: */ +func Xsqlite3_preupdate_new(tls *libc.TLS, db uintptr, iIdx int32, ppValue uintptr) int32 { /* sqlite3.c:87056:16: */ var p uintptr var rc int32 var pMem uintptr @@ -63614,7 +63633,7 @@ func Xsqlite3_preupdate_new(tls *libc.TLS, db uintptr, iIdx int32, ppValue uintp if !(!(p != 0) || (*PreUpdate)(unsafe.Pointer(p)).Fop == SQLITE_DELETE) { goto __1 } - rc = Xsqlite3MisuseError(tls, 87049) + rc = Xsqlite3MisuseError(tls, 87062) goto preupdate_new_out __1: ; @@ -63755,7 +63774,7 @@ preupdate_new_out: // bytes in this text up to but excluding the first character in // a host parameter. If the text contains no host parameters, return // the total number of bytes in the text. -func findNextHostParameter(tls *libc.TLS, zSql uintptr, pnToken uintptr) int32 { /* sqlite3.c:87213:12: */ +func findNextHostParameter(tls *libc.TLS, zSql uintptr, pnToken uintptr) int32 { /* sqlite3.c:87226:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -63800,7 +63819,7 @@ func findNextHostParameter(tls *libc.TLS, zSql uintptr, pnToken uintptr) int32 { // statement for the corresponding OP_Variable opcode. Once the host // parameter index is known, locate the value in p->aVar[]. Then render // the value as a literal in place of the host parameter name. -func Xsqlite3VdbeExpandSql(tls *libc.TLS, p uintptr, zRawSql uintptr) uintptr { /* sqlite3.c:87256:21: */ +func Xsqlite3VdbeExpandSql(tls *libc.TLS, p uintptr, zRawSql uintptr) uintptr { /* sqlite3.c:87269:21: */ bp := tls.Alloc(144) defer tls.Free(144) @@ -64023,7 +64042,7 @@ func Xsqlite3VdbeExpandSql(tls *libc.TLS, p uintptr, zRawSql uintptr) uintptr { // Allocate VdbeCursor number iCur. Return a pointer to it. Return NULL // if we run out of memory. -func allocateCursor(tls *libc.TLS, p uintptr, iCur int32, nField int32, eCurType U8) uintptr { /* sqlite3.c:87619:19: */ +func allocateCursor(tls *libc.TLS, p uintptr, iCur int32, nField int32, eCurType U8) uintptr { /* sqlite3.c:87632:19: */ // Find the memory cell that will be used to store the blob of memory // required for this VdbeCursor structure. It is convenient to use a // vdbe memory cell to manage the memory allocation required for a @@ -64094,7 +64113,7 @@ func allocateCursor(tls *libc.TLS, p uintptr, iCur int32, nField int32, eCurType // floating point value of rValue. Return true and set *piValue to the // integer value if the string is in range to be an integer. Otherwise, // return false. -func alsoAnInt(tls *libc.TLS, pRec uintptr, rValue float64, piValue uintptr) int32 { /* sqlite3.c:87695:12: */ +func alsoAnInt(tls *libc.TLS, pRec uintptr, rValue float64, piValue uintptr) int32 { /* sqlite3.c:87708:12: */ var iValue I64 = I64(rValue) if Xsqlite3RealSameAsInt(tls, rValue, iValue) != 0 { *(*I64)(unsafe.Pointer(piValue)) = iValue @@ -64116,7 +64135,7 @@ func alsoAnInt(tls *libc.TLS, pRec uintptr, rValue float64, piValue uintptr) int // If bTryForInt is false, then if the input string contains a decimal // point or exponential notation, the result is only MEM_Real, even // if there is an exact integer representation of the quantity. -func applyNumericAffinity(tls *libc.TLS, pRec uintptr, bTryForInt int32) { /* sqlite3.c:87719:13: */ +func applyNumericAffinity(tls *libc.TLS, pRec uintptr, bTryForInt int32) { /* sqlite3.c:87732:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -64162,7 +64181,7 @@ func applyNumericAffinity(tls *libc.TLS, pRec uintptr, bTryForInt int32) { /* sq // SQLITE_AFF_BLOB: // SQLITE_AFF_NONE: // No-op. pRec is unchanged. -func applyAffinity(tls *libc.TLS, pRec uintptr, affinity uint8, enc U8) { /* sqlite3.c:87759:13: */ +func applyAffinity(tls *libc.TLS, pRec uintptr, affinity uint8, enc U8) { /* sqlite3.c:87772:13: */ if int32(affinity) >= SQLITE_AFF_NUMERIC { if int32((*Mem)(unsafe.Pointer(pRec)).Fflags)&MEM_Int == 0 { //OPTIMIZATION-IF-FALSE @@ -64194,7 +64213,7 @@ func applyAffinity(tls *libc.TLS, pRec uintptr, affinity uint8, enc U8) { /* sql // into a numeric representation. Use either INTEGER or REAL whichever // is appropriate. But only do the conversion if it is possible without // loss of information and return the revised type of the argument. -func Xsqlite3_value_numeric_type(tls *libc.TLS, pVal uintptr) int32 { /* sqlite3.c:87798:16: */ +func Xsqlite3_value_numeric_type(tls *libc.TLS, pVal uintptr) int32 { /* sqlite3.c:87811:16: */ var eType int32 = Xsqlite3_value_type(tls, pVal) if eType == SQLITE_TEXT { var pMem uintptr = pVal @@ -64206,7 +64225,7 @@ func Xsqlite3_value_numeric_type(tls *libc.TLS, pVal uintptr) int32 { /* sqlite3 // Exported version of applyAffinity(). This one works on sqlite3_value*, // not the internal Mem* type. -func Xsqlite3ValueApplyAffinity(tls *libc.TLS, pVal uintptr, affinity U8, enc U8) { /* sqlite3.c:87812:21: */ +func Xsqlite3ValueApplyAffinity(tls *libc.TLS, pVal uintptr, affinity U8, enc U8) { /* sqlite3.c:87825:21: */ applyAffinity(tls, pVal, uint8(affinity), enc) } @@ -64214,7 +64233,7 @@ func Xsqlite3ValueApplyAffinity(tls *libc.TLS, pVal uintptr, affinity U8, enc U8 // interpret as a string if we want to). Compute its corresponding // numeric type, if has one. Set the pMem->u.r and pMem->u.i fields // accordingly. -func computeNumericType(tls *libc.TLS, pMem uintptr) U16 { /* sqlite3.c:87826:28: */ +func computeNumericType(tls *libc.TLS, pMem uintptr) U16 { /* sqlite3.c:87839:28: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -64250,7 +64269,7 @@ func computeNumericType(tls *libc.TLS, pMem uintptr) U16 { /* sqlite3.c:87826:28 // // Unlike applyNumericAffinity(), this routine does not modify pMem->flags. // But it does set pMem->u.r and pMem->u.i appropriately. -func numericType(tls *libc.TLS, pMem uintptr) U16 { /* sqlite3.c:87857:12: */ +func numericType(tls *libc.TLS, pMem uintptr) U16 { /* sqlite3.c:87870:12: */ if int32((*Mem)(unsafe.Pointer(pMem)).Fflags)&(MEM_Int|MEM_Real|MEM_IntReal) != 0 { return U16(int32((*Mem)(unsafe.Pointer(pMem)).Fflags) & (MEM_Int | MEM_Real | MEM_IntReal)) @@ -64264,13 +64283,13 @@ func numericType(tls *libc.TLS, pMem uintptr) U16 { /* sqlite3.c:87857:12: */ // Return the register of pOp->p2 after first preparing it to be // overwritten with an integer value. -func out2PrereleaseWithClear(tls *libc.TLS, pOut uintptr) uintptr { /* sqlite3.c:88032:28: */ +func out2PrereleaseWithClear(tls *libc.TLS, pOut uintptr) uintptr { /* sqlite3.c:88045:28: */ Xsqlite3VdbeMemSetNull(tls, pOut) (*Mem)(unsafe.Pointer(pOut)).Fflags = U16(MEM_Int) return pOut } -func out2Prerelease(tls *libc.TLS, p uintptr, pOp uintptr) uintptr { /* sqlite3.c:88037:12: */ +func out2Prerelease(tls *libc.TLS, p uintptr, pOp uintptr) uintptr { /* sqlite3.c:88050:12: */ var pOut uintptr pOut = (*Vdbe)(unsafe.Pointer(p)).FaMem + uintptr((*VdbeOp)(unsafe.Pointer(pOp)).Fp2)*56 @@ -64286,7 +64305,7 @@ func out2Prerelease(tls *libc.TLS, p uintptr, pOp uintptr) uintptr { /* sqlite3. // Compute a bloom filter hash using pOp->p4.i registers from aMem[] beginning // with pOp->p3. Return the hash. -func filterHash(tls *libc.TLS, aMem uintptr, pOp uintptr) U64 { /* sqlite3.c:88055:12: */ +func filterHash(tls *libc.TLS, aMem uintptr, pOp uintptr) U64 { /* sqlite3.c:88068:12: */ var i int32 var mx int32 var h U64 = uint64(0) @@ -64310,7 +64329,7 @@ func filterHash(tls *libc.TLS, aMem uintptr, pOp uintptr) U64 { /* sqlite3.c:880 } // Return the symbolic name for the data type of a pMem -func vdbeMemTypeName(tls *libc.TLS, pMem uintptr) uintptr { /* sqlite3.c:88077:19: */ +func vdbeMemTypeName(tls *libc.TLS, pMem uintptr) uintptr { /* sqlite3.c:88090:19: */ return azTypes[Xsqlite3_value_type(tls, pMem)-1] } @@ -64320,11 +64339,11 @@ var azTypes = [5]uintptr{ ts + 1112, ts + 1090, ts + 1535, -} /* sqlite3.c:88078:21 */ +} /* sqlite3.c:88091:21 */ // Execute as much of a VDBE program as we can. // This is the core of sqlite3_step(). -func Xsqlite3VdbeExec(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:88092:20: */ +func Xsqlite3VdbeExec(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:88105:20: */ bp := tls.Alloc(976) defer tls.Free(976) @@ -69841,7 +69860,7 @@ op_column_corrupt: goto __8 goto __400 __399: - rc = Xsqlite3CorruptError(tls, 90310) + rc = Xsqlite3CorruptError(tls, 90323) goto abort_due_to_error __400: ; @@ -72336,7 +72355,7 @@ notExistsWithKey: if !((*Op)(unsafe.Pointer(pOp)).Fp2 == 0) { goto __642 } - rc = Xsqlite3CorruptError(tls, 92457) + rc = Xsqlite3CorruptError(tls, 92470) goto __643 __642: goto jump_to_p2 @@ -73498,7 +73517,7 @@ __724: if !((*Op)(unsafe.Pointer(pOp)).Fp5 != 0 && !(Xsqlite3WritableSchema(tls, db) != 0)) { goto __727 } - rc = Xsqlite3ReportError(tls, SQLITE_CORRUPT|int32(3)<<8, 93513, ts+5827) + rc = Xsqlite3ReportError(tls, SQLITE_CORRUPT|int32(3)<<8, 93526, ts+5827) goto abort_due_to_error __727: ; @@ -73690,7 +73709,7 @@ __737: if !(nCellKey <= int64(0) || nCellKey > int64(0x7fffffff)) { goto __738 } - rc = Xsqlite3CorruptError(tls, 93717) + rc = Xsqlite3CorruptError(tls, 93730) goto abort_due_to_error __738: ; @@ -73966,7 +73985,7 @@ __759: // 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 = Xsqlite3CorruptError(tls, 93969) + rc = Xsqlite3CorruptError(tls, 93982) __760: ; Xsqlite3DbFreeNN(tls, db, zSql) @@ -75977,7 +75996,7 @@ __916: if !(rc == SQLITE_IOERR|int32(33)<<8) { goto __918 } - rc = Xsqlite3CorruptError(tls, 95906) + rc = Xsqlite3CorruptError(tls, 95919) __918: ; __917: @@ -76066,11 +76085,11 @@ abort_due_to_interrupt: } var azType = [4]uintptr{ts + 6069, ts + 6078, ts + 6085, - ts + 6091} /* sqlite3.c:88537:25 */ -var and_logic = [9]uint8{uint8(0), uint8(0), uint8(0), uint8(0), uint8(1), uint8(2), uint8(0), uint8(2), uint8(2)} /* sqlite3.c:89761:32 */ -var or_logic = [9]uint8{uint8(0), uint8(1), uint8(2), uint8(1), uint8(1), uint8(1), uint8(2), uint8(1), uint8(2)} /* sqlite3.c:89764:32 */ -var aFlag1 = [2]U16{U16(MEM_Blob), U16(MEM_Str | MEM_Term)} /* sqlite3.c:90257:24 */ -var vfsFlags int32 = SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE | SQLITE_OPEN_EXCLUSIVE | SQLITE_OPEN_DELETEONCLOSE | SQLITE_OPEN_TRANSIENT_DB /* sqlite3.c:91512:20 */ + ts + 6091} /* sqlite3.c:88550:25 */ +var and_logic = [9]uint8{uint8(0), uint8(0), uint8(0), uint8(0), uint8(1), uint8(2), uint8(0), uint8(2), uint8(2)} /* sqlite3.c:89774:32 */ +var or_logic = [9]uint8{uint8(0), uint8(1), uint8(2), uint8(1), uint8(1), uint8(1), uint8(2), uint8(1), uint8(2)} /* sqlite3.c:89777:32 */ +var aFlag1 = [2]U16{U16(MEM_Blob), U16(MEM_Str | MEM_Term)} /* sqlite3.c:90270:24 */ +var vfsFlags int32 = SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE | SQLITE_OPEN_EXCLUSIVE | SQLITE_OPEN_DELETEONCLOSE | SQLITE_OPEN_TRANSIENT_DB /* sqlite3.c:91525:20 */ //************* End of vdbe.c *********************************************** //************* Begin file vdbeblob.c *************************************** @@ -76101,7 +76120,7 @@ type Incrblob1 = struct { Fdb uintptr FzDb uintptr FpTab uintptr -} /* sqlite3.c:96011:9 */ +} /* sqlite3.c:96024:9 */ //************* End of vdbe.c *********************************************** //************* Begin file vdbeblob.c *************************************** @@ -76122,7 +76141,7 @@ type Incrblob1 = struct { // #include "vdbeInt.h" // Valid sqlite3_blob* handles point to Incrblob structures. -type Incrblob = Incrblob1 /* sqlite3.c:96011:25 */ +type Incrblob = Incrblob1 /* sqlite3.c:96024:25 */ // This function is used by both blob_open() and blob_reopen(). It seeks // the b-tree cursor associated with blob handle p to point to row iRow. @@ -76139,7 +76158,7 @@ type Incrblob = Incrblob1 /* sqlite3.c:96011:25 */ // If an error does occur, then the b-tree cursor is closed. All subsequent // calls to sqlite3_blob_read(), blob_write() or blob_reopen() will // immediately return SQLITE_ABORT. -func blobSeekToRow(tls *libc.TLS, p uintptr, iRow Sqlite3_int64, pzErr uintptr) int32 { /* sqlite3.c:96041:12: */ +func blobSeekToRow(tls *libc.TLS, p uintptr, iRow Sqlite3_int64, pzErr uintptr) int32 { /* sqlite3.c:96054:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -76215,7 +76234,7 @@ func blobSeekToRow(tls *libc.TLS, p uintptr, iRow Sqlite3_int64, pzErr uintptr) } // Open a blob handle. -func Xsqlite3_blob_open(tls *libc.TLS, db uintptr, zDb uintptr, zTable uintptr, zColumn uintptr, iRow Sqlite_int64, wrFlag int32, ppBlob uintptr) int32 { /* sqlite3.c:96109:16: */ +func Xsqlite3_blob_open(tls *libc.TLS, db uintptr, zDb uintptr, zTable uintptr, zColumn uintptr, iRow Sqlite_int64, wrFlag int32, ppBlob uintptr) int32 { /* sqlite3.c:96122:16: */ bp := tls.Alloc(464) defer tls.Free(464) @@ -76536,7 +76555,7 @@ __38: return rc } -var iLn int32 = 0 /* sqlite3.c:96252:24 */ +var iLn int32 = 0 /* sqlite3.c:96265:24 */ var openBlob = [6]VdbeOpList{ {Fopcode: U8(OP_TableLock)}, // 0: Acquire a read or write lock {Fopcode: U8(OP_OpenRead)}, // 1: Open a cursor @@ -76545,11 +76564,11 @@ var openBlob = [6]VdbeOpList{ {Fopcode: U8(OP_Column), Fp3: int8(1)}, // 3 {Fopcode: U8(OP_ResultRow), Fp1: int8(1)}, // 4 {Fopcode: U8(OP_Halt)}, // 5 -} /* sqlite3.c:96253:31 */ +} /* sqlite3.c:96266:31 */ // Close a blob handle that was previously created using // sqlite3_blob_open(). -func Xsqlite3_blob_close(tls *libc.TLS, pBlob uintptr) int32 { /* sqlite3.c:96344:16: */ +func Xsqlite3_blob_close(tls *libc.TLS, pBlob uintptr) int32 { /* sqlite3.c:96357:16: */ var p uintptr = pBlob var rc int32 var db uintptr @@ -76568,14 +76587,14 @@ func Xsqlite3_blob_close(tls *libc.TLS, pBlob uintptr) int32 { /* sqlite3.c:9634 } // Perform a read or write operation on a blob -func blobReadWrite(tls *libc.TLS, pBlob uintptr, z uintptr, n int32, iOffset int32, xCall uintptr) int32 { /* sqlite3.c:96365:12: */ +func blobReadWrite(tls *libc.TLS, pBlob uintptr, z uintptr, n int32, iOffset int32, xCall uintptr) int32 { /* sqlite3.c:96378:12: */ var rc int32 var p uintptr = pBlob var v uintptr var db uintptr if p == uintptr(0) { - return Xsqlite3MisuseError(tls, 96377) + return Xsqlite3MisuseError(tls, 96390) } db = (*Incrblob)(unsafe.Pointer(p)).Fdb Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) @@ -76634,14 +76653,14 @@ func blobReadWrite(tls *libc.TLS, pBlob uintptr, z uintptr, n int32, iOffset int } // Read data from a blob handle. -func Xsqlite3_blob_read(tls *libc.TLS, pBlob uintptr, z uintptr, n int32, iOffset int32) int32 { /* sqlite3.c:96440:16: */ +func Xsqlite3_blob_read(tls *libc.TLS, pBlob uintptr, z uintptr, n int32, iOffset int32) int32 { /* sqlite3.c:96453:16: */ return blobReadWrite(tls, pBlob, z, n, iOffset, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, U32, U32, uintptr) int32 }{Xsqlite3BtreePayloadChecked}))) } // Write data to a blob handle. -func Xsqlite3_blob_write(tls *libc.TLS, pBlob uintptr, z uintptr, n int32, iOffset int32) int32 { /* sqlite3.c:96447:16: */ +func Xsqlite3_blob_write(tls *libc.TLS, pBlob uintptr, z uintptr, n int32, iOffset int32) int32 { /* sqlite3.c:96460:16: */ return blobReadWrite(tls, pBlob, z, n, iOffset, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, U32, U32, uintptr) int32 }{Xsqlite3BtreePutData}))) @@ -76651,7 +76670,7 @@ func Xsqlite3_blob_write(tls *libc.TLS, pBlob uintptr, z uintptr, n int32, iOffs // // The Incrblob.nByte field is fixed for the lifetime of the Incrblob // so no mutex is required for access. -func Xsqlite3_blob_bytes(tls *libc.TLS, pBlob uintptr) int32 { /* sqlite3.c:96457:16: */ +func Xsqlite3_blob_bytes(tls *libc.TLS, pBlob uintptr) int32 { /* sqlite3.c:96470:16: */ var p uintptr = pBlob if p != 0 && (*Incrblob)(unsafe.Pointer(p)).FpStmt != 0 { return (*Incrblob)(unsafe.Pointer(p)).FnByte @@ -76667,7 +76686,7 @@ func Xsqlite3_blob_bytes(tls *libc.TLS, pBlob uintptr) int32 { /* sqlite3.c:9645 // database handle error code and message set. If this happens, then all // subsequent calls to sqlite3_blob_xxx() functions (except blob_close()) // immediately return SQLITE_ABORT. -func Xsqlite3_blob_reopen(tls *libc.TLS, pBlob uintptr, iRow Sqlite3_int64) int32 { /* sqlite3.c:96472:16: */ +func Xsqlite3_blob_reopen(tls *libc.TLS, pBlob uintptr, iRow Sqlite3_int64) int32 { /* sqlite3.c:96485:16: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -76676,7 +76695,7 @@ func Xsqlite3_blob_reopen(tls *libc.TLS, pBlob uintptr, iRow Sqlite3_int64) int3 var db uintptr if p == uintptr(0) { - return Xsqlite3MisuseError(tls, 96477) + return Xsqlite3MisuseError(tls, 96490) } db = (*Incrblob)(unsafe.Pointer(p)).Fdb Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) @@ -77014,7 +77033,7 @@ type MergeEngine1 = struct { // overflows. 512MiB. // Private objects used by the sorter -type MergeEngine = MergeEngine1 /* sqlite3.c:96666:28 */ // Merge PMAs together +type MergeEngine = MergeEngine1 /* sqlite3.c:96679:28 */ // Merge PMAs together type PmaReader1 = struct { FiReadOff I64 FiEof I64 @@ -77031,7 +77050,7 @@ type PmaReader1 = struct { } /* sqlite3.c:22082:9 */ // Merge PMAs together -type PmaReader = PmaReader1 /* sqlite3.c:96667:26 */ // Incrementally read one PMA +type PmaReader = PmaReader1 /* sqlite3.c:96680:26 */ // Incrementally read one PMA type PmaWriter1 = struct { FeFWErr int32 F__ccgo_pad1 [4]byte @@ -77042,10 +77061,10 @@ type PmaWriter1 = struct { F__ccgo_pad2 [4]byte FiWriteOff I64 FpFd uintptr -} /* sqlite3.c:96668:9 */ +} /* sqlite3.c:96681:9 */ // Incrementally read one PMA -type PmaWriter = PmaWriter1 /* sqlite3.c:96668:26 */ // Incrementally write one PMA +type PmaWriter = PmaWriter1 /* sqlite3.c:96681:26 */ // Incrementally write one PMA type SorterRecord1 = struct { FnVal int32 F__ccgo_pad1 [4]byte @@ -77053,7 +77072,7 @@ type SorterRecord1 = struct { } /* sqlite3.c:22082:9 */ // Incrementally write one PMA -type SorterRecord = SorterRecord1 /* sqlite3.c:96669:29 */ // A record being sorted +type SorterRecord = SorterRecord1 /* sqlite3.c:96682:29 */ // A record being sorted type SortSubtask1 = struct { FpThread uintptr FbDone int32 @@ -77069,14 +77088,14 @@ type SortSubtask1 = struct { } /* sqlite3.c:22082:9 */ // A record being sorted -type SortSubtask = SortSubtask1 /* sqlite3.c:96670:28 */ // A sub-task in the sort process +type SortSubtask = SortSubtask1 /* sqlite3.c:96683:28 */ // A sub-task in the sort process type SorterFile1 = struct { FpFd uintptr FiEof I64 } /* sqlite3.c:22082:9 */ // A sub-task in the sort process -type SorterFile = SorterFile1 /* sqlite3.c:96671:27 */ // Temporary file object wrapper +type SorterFile = SorterFile1 /* sqlite3.c:96684:27 */ // Temporary file object wrapper type SorterList1 = struct { FpList uintptr FaMemory uintptr @@ -77085,7 +77104,7 @@ type SorterList1 = struct { } /* sqlite3.c:22082:9 */ // Temporary file object wrapper -type SorterList = SorterList1 /* sqlite3.c:96672:27 */ // In-memory list of records +type SorterList = SorterList1 /* sqlite3.c:96685:27 */ // In-memory list of records type IncrMerger1 = struct { FpTask uintptr FpMerger uintptr @@ -77098,7 +77117,7 @@ type IncrMerger1 = struct { } /* sqlite3.c:22082:9 */ // In-memory list of records -type IncrMerger = IncrMerger1 /* sqlite3.c:96673:27 */ +type IncrMerger = IncrMerger1 /* sqlite3.c:96686:27 */ // This object represents a single thread of control in a sort operation. // Exactly VdbeSorter.nTask instances of this object are allocated @@ -77129,11 +77148,11 @@ type IncrMerger = IncrMerger1 /* sqlite3.c:96673:27 */ // In both cases, the effects of the main thread seeing (bDone==0) even // after the thread has finished are not dire. So we don't worry about // memory barriers and such here. -type SorterCompare = uintptr /* sqlite3.c:96800:13 */ +type SorterCompare = uintptr /* sqlite3.c:96813:13 */ // Free all memory belonging to the PmaReader object passed as the // argument. All structure fields are set to zero before returning. -func vdbePmaReaderClear(tls *libc.TLS, pReadr uintptr) { /* sqlite3.c:96975:13: */ +func vdbePmaReaderClear(tls *libc.TLS, pReadr uintptr) { /* sqlite3.c:96988:13: */ Xsqlite3_free(tls, (*PmaReader)(unsafe.Pointer(pReadr)).FaAlloc) Xsqlite3_free(tls, (*PmaReader)(unsafe.Pointer(pReadr)).FaBuffer) if (*PmaReader)(unsafe.Pointer(pReadr)).FaMap != 0 { @@ -77150,7 +77169,7 @@ func vdbePmaReaderClear(tls *libc.TLS, pReadr uintptr) { /* sqlite3.c:96975:13: // // The buffer returned in *ppOut is only valid until the // next call to this function. -func vdbePmaReadBlob(tls *libc.TLS, p uintptr, nByte int32, ppOut uintptr) int32 { /* sqlite3.c:96992:12: */ +func vdbePmaReadBlob(tls *libc.TLS, p uintptr, nByte int32, ppOut uintptr) int32 { /* sqlite3.c:97005:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -77254,7 +77273,7 @@ func vdbePmaReadBlob(tls *libc.TLS, p uintptr, nByte int32, ppOut uintptr) int32 // Read a varint from the stream of data accessed by p. Set *pnOut to // the value read. -func vdbePmaReadVarint(tls *libc.TLS, p uintptr, pnOut uintptr) int32 { /* sqlite3.c:97086:12: */ +func vdbePmaReadVarint(tls *libc.TLS, p uintptr, pnOut uintptr) int32 { /* sqlite3.c:97099:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -77294,7 +77313,7 @@ func vdbePmaReadVarint(tls *libc.TLS, p uintptr, pnOut uintptr) int32 { /* sqlit // // Or, if an error occurs, return an SQLite error code. The final value of // *pp is undefined in this case. -func vdbeSorterMapFile(tls *libc.TLS, pTask uintptr, pFile uintptr, pp uintptr) int32 { /* sqlite3.c:97119:12: */ +func vdbeSorterMapFile(tls *libc.TLS, pTask uintptr, pFile uintptr, pp uintptr) int32 { /* sqlite3.c:97132:12: */ var rc int32 = SQLITE_OK if (*SorterFile)(unsafe.Pointer(pFile)).FiEof <= I64((*Sqlite3)(unsafe.Pointer((*VdbeSorter)(unsafe.Pointer((*SortSubtask)(unsafe.Pointer(pTask)).FpSorter)).Fdb)).FnMaxSorterMmap) { var pFd uintptr = (*SorterFile)(unsafe.Pointer(pFile)).FpFd @@ -77309,7 +77328,7 @@ func vdbeSorterMapFile(tls *libc.TLS, pTask uintptr, pFile uintptr, pp uintptr) // Attach PmaReader pReadr to file pFile (if it is not already attached to // that file) and seek it to offset iOff within the file. Return SQLITE_OK // if successful, or an SQLite error code if an error occurs. -func vdbePmaReaderSeek(tls *libc.TLS, pTask uintptr, pReadr uintptr, pFile uintptr, iOff I64) int32 { /* sqlite3.c:97136:12: */ +func vdbePmaReaderSeek(tls *libc.TLS, pTask uintptr, pReadr uintptr, pFile uintptr, iOff I64) int32 { /* sqlite3.c:97149:12: */ var rc int32 = SQLITE_OK if Xsqlite3FaultSim(tls, 201) != 0 { @@ -77350,7 +77369,7 @@ func vdbePmaReaderSeek(tls *libc.TLS, pTask uintptr, pReadr uintptr, pFile uintp // Advance PmaReader pReadr to the next key in its PMA. Return SQLITE_OK if // no error occurs, or an SQLite error code if one does. -func vdbePmaReaderNext(tls *libc.TLS, pReadr uintptr) int32 { /* sqlite3.c:97183:12: */ +func vdbePmaReaderNext(tls *libc.TLS, pReadr uintptr) int32 { /* sqlite3.c:97196:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -77396,7 +77415,7 @@ func vdbePmaReaderNext(tls *libc.TLS, pReadr uintptr) int32 { /* sqlite3.c:97183 // // If the pnByte parameter is NULL, then it is assumed that the file // contains a single PMA, and that that PMA omits the initial length varint. -func vdbePmaReaderInit(tls *libc.TLS, pTask uintptr, pFile uintptr, iStart I64, pReadr uintptr, pnByte uintptr) int32 { /* sqlite3.c:97230:12: */ +func vdbePmaReaderInit(tls *libc.TLS, pTask uintptr, pFile uintptr, iStart I64, pReadr uintptr, pnByte uintptr) int32 { /* sqlite3.c:97243:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -77419,7 +77438,7 @@ func vdbePmaReaderInit(tls *libc.TLS, pTask uintptr, pFile uintptr, iStart I64, // A version of vdbeSorterCompare() that assumes that it has already been // determined that the first field of key1 is equal to the first field of // key2. -func vdbeSorterCompareTail(tls *libc.TLS, pTask uintptr, pbKey2Cached uintptr, pKey1 uintptr, nKey1 int32, pKey2 uintptr, nKey2 int32) int32 { /* sqlite3.c:97263:12: */ +func vdbeSorterCompareTail(tls *libc.TLS, pTask uintptr, pbKey2Cached uintptr, pKey1 uintptr, nKey1 int32, pKey2 uintptr, nKey2 int32) int32 { /* sqlite3.c:97276:12: */ var r2 uintptr = (*SortSubtask)(unsafe.Pointer(pTask)).FpUnpacked if *(*int32)(unsafe.Pointer(pbKey2Cached)) == 0 { Xsqlite3VdbeRecordUnpack(tls, (*VdbeSorter)(unsafe.Pointer((*SortSubtask)(unsafe.Pointer(pTask)).FpSorter)).FpKeyInfo, nKey2, pKey2, r2) @@ -77439,7 +77458,7 @@ func vdbeSorterCompareTail(tls *libc.TLS, pTask uintptr, pbKey2Cached uintptr, p // // If an OOM error is encountered, (pTask->pUnpacked->error_rc) is set // to SQLITE_NOMEM. -func vdbeSorterCompare(tls *libc.TLS, pTask uintptr, pbKey2Cached uintptr, pKey1 uintptr, nKey1 int32, pKey2 uintptr, nKey2 int32) int32 { /* sqlite3.c:97290:12: */ +func vdbeSorterCompare(tls *libc.TLS, pTask uintptr, pbKey2Cached uintptr, pKey1 uintptr, nKey1 int32, pKey2 uintptr, nKey2 int32) int32 { /* sqlite3.c:97303:12: */ var r2 uintptr = (*SortSubtask)(unsafe.Pointer(pTask)).FpUnpacked if !(*(*int32)(unsafe.Pointer(pbKey2Cached)) != 0) { Xsqlite3VdbeRecordUnpack(tls, (*VdbeSorter)(unsafe.Pointer((*SortSubtask)(unsafe.Pointer(pTask)).FpSorter)).FpKeyInfo, nKey2, pKey2, r2) @@ -77451,7 +77470,7 @@ func vdbeSorterCompare(tls *libc.TLS, pTask uintptr, pbKey2Cached uintptr, pKey1 // A specially optimized version of vdbeSorterCompare() that assumes that // the first field of each key is a TEXT value and that the collation // sequence to compare them with is BINARY. -func vdbeSorterCompareText(tls *libc.TLS, pTask uintptr, pbKey2Cached uintptr, pKey1 uintptr, nKey1 int32, pKey2 uintptr, nKey2 int32) int32 { /* sqlite3.c:97309:12: */ +func vdbeSorterCompareText(tls *libc.TLS, pTask uintptr, pbKey2Cached uintptr, pKey1 uintptr, nKey1 int32, pKey2 uintptr, nKey2 int32) int32 { /* sqlite3.c:97322:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -77501,7 +77520,7 @@ func vdbeSorterCompareText(tls *libc.TLS, pTask uintptr, pbKey2Cached uintptr, p // A specially optimized version of vdbeSorterCompare() that assumes that // the first field of each key is an INTEGER value. -func vdbeSorterCompareInt(tls *libc.TLS, pTask uintptr, pbKey2Cached uintptr, pKey1 uintptr, nKey1 int32, pKey2 uintptr, nKey2 int32) int32 { /* sqlite3.c:97351:12: */ +func vdbeSorterCompareInt(tls *libc.TLS, pTask uintptr, pbKey2Cached uintptr, pKey1 uintptr, nKey1 int32, pKey2 uintptr, nKey2 int32) int32 { /* sqlite3.c:97364:12: */ var p1 uintptr = pKey1 var p2 uintptr = pKey2 var s1 int32 = int32(*(*U8)(unsafe.Pointer(p1 + 1))) // Left hand serial type @@ -77561,7 +77580,7 @@ func vdbeSorterCompareInt(tls *libc.TLS, pTask uintptr, pbKey2Cached uintptr, pK return res } -var aLen = [10]U8{U8(0), U8(1), U8(2), U8(3), U8(4), U8(6), U8(8), U8(0), U8(0), U8(0)} /* sqlite3.c:97370:21 */ +var aLen = [10]U8{U8(0), U8(1), U8(2), U8(3), U8(4), U8(6), U8(8), U8(0), U8(0), U8(0)} /* sqlite3.c:97383:21 */ // Initialize the temporary index cursor just opened as a sorter cursor. // @@ -77580,7 +77599,7 @@ var aLen = [10]U8{U8(0), U8(1), U8(2), U8(3), U8(4), U8(6), U8(8), U8(0), U8(0), // mode, but not in multi-threaded mode. // // SQLITE_OK is returned if successful, or an SQLite error code otherwise. -func Xsqlite3VdbeSorterInit(tls *libc.TLS, db uintptr, nField int32, pCsr uintptr) int32 { /* sqlite3.c:97434:20: */ +func Xsqlite3VdbeSorterInit(tls *libc.TLS, db uintptr, nField int32, pCsr uintptr) int32 { /* sqlite3.c:97447:20: */ var pgsz int32 // Page size of main database var i int32 // Used to iterate through aTask[] var pSorter uintptr // The new sorter @@ -77676,7 +77695,7 @@ func Xsqlite3VdbeSorterInit(tls *libc.TLS, db uintptr, nField int32, pCsr uintpt } // Free the list of sorted records starting at pRecord. -func vdbeSorterRecordFree(tls *libc.TLS, db uintptr, pRecord uintptr) { /* sqlite3.c:97540:13: */ +func vdbeSorterRecordFree(tls *libc.TLS, db uintptr, pRecord uintptr) { /* sqlite3.c:97553:13: */ var p uintptr var pNext uintptr for p = pRecord; p != 0; p = pNext { @@ -77687,7 +77706,7 @@ func vdbeSorterRecordFree(tls *libc.TLS, db uintptr, pRecord uintptr) { /* sqlit // Free all resources owned by the object indicated by argument pTask. All // fields of *pTask are zeroed before returning. -func vdbeSortSubtaskCleanup(tls *libc.TLS, db uintptr, pTask uintptr) { /* sqlite3.c:97553:13: */ +func vdbeSortSubtaskCleanup(tls *libc.TLS, db uintptr, pTask uintptr) { /* sqlite3.c:97566:13: */ Xsqlite3DbFree(tls, db, (*SortSubtask)(unsafe.Pointer(pTask)).FpUnpacked) // pTask->list.aMemory can only be non-zero if it was handed memory // from the main thread. That only occurs SQLITE_MAX_WORKER_THREADS>0 @@ -77707,7 +77726,7 @@ func vdbeSortSubtaskCleanup(tls *libc.TLS, db uintptr, pTask uintptr) { /* sqlit } // Join thread pTask->thread. -func vdbeSorterJoinThread(tls *libc.TLS, pTask uintptr) int32 { /* sqlite3.c:97619:12: */ +func vdbeSorterJoinThread(tls *libc.TLS, pTask uintptr) int32 { /* sqlite3.c:97632:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -77726,14 +77745,14 @@ func vdbeSorterJoinThread(tls *libc.TLS, pTask uintptr) int32 { /* sqlite3.c:976 } // Launch a background thread to run xTask(pIn). -func vdbeSorterCreateThread(tls *libc.TLS, pTask uintptr, xTask uintptr, pIn uintptr) int32 { /* sqlite3.c:97640:12: */ +func vdbeSorterCreateThread(tls *libc.TLS, pTask uintptr, xTask uintptr, pIn uintptr) int32 { /* sqlite3.c:97653:12: */ return Xsqlite3ThreadCreate(tls, pTask, xTask, pIn) } // Join all outstanding threads launched by SorterWrite() to create // level-0 PMAs. -func vdbeSorterJoinAll(tls *libc.TLS, pSorter uintptr, rcin int32) int32 { /* sqlite3.c:97653:12: */ +func vdbeSorterJoinAll(tls *libc.TLS, pSorter uintptr, rcin int32) int32 { /* sqlite3.c:97666:12: */ var rc int32 = rcin var i int32 @@ -77759,7 +77778,7 @@ func vdbeSorterJoinAll(tls *libc.TLS, pSorter uintptr, rcin int32) int32 { /* sq // // nReader is automatically rounded up to the next power of two. // nReader may not exceed SORTER_MAX_MERGE_COUNT even after rounding up. -func vdbeMergeEngineNew(tls *libc.TLS, nReader int32) uintptr { /* sqlite3.c:97683:20: */ +func vdbeMergeEngineNew(tls *libc.TLS, nReader int32) uintptr { /* sqlite3.c:97696:20: */ var N int32 = 2 // Smallest power of two >= nReader var nByte int32 // Total bytes of space to allocate var pNew uintptr // Pointer to allocated object to return @@ -77784,7 +77803,7 @@ func vdbeMergeEngineNew(tls *libc.TLS, nReader int32) uintptr { /* sqlite3.c:976 } // Free the MergeEngine object passed as the only argument. -func vdbeMergeEngineFree(tls *libc.TLS, pMerger uintptr) { /* sqlite3.c:97706:13: */ +func vdbeMergeEngineFree(tls *libc.TLS, pMerger uintptr) { /* sqlite3.c:97719:13: */ var i int32 if pMerger != 0 { for i = 0; i < (*MergeEngine)(unsafe.Pointer(pMerger)).FnTree; i++ { @@ -77796,7 +77815,7 @@ func vdbeMergeEngineFree(tls *libc.TLS, pMerger uintptr) { /* sqlite3.c:97706:13 // Free all resources associated with the IncrMerger object indicated by // the first argument. -func vdbeIncrFree(tls *libc.TLS, pIncr uintptr) { /* sqlite3.c:97720:13: */ +func vdbeIncrFree(tls *libc.TLS, pIncr uintptr) { /* sqlite3.c:97733:13: */ if pIncr != 0 { if (*IncrMerger)(unsafe.Pointer(pIncr)).FbUseThread != 0 { vdbeSorterJoinThread(tls, (*IncrMerger)(unsafe.Pointer(pIncr)).FpTask) @@ -77813,7 +77832,7 @@ func vdbeIncrFree(tls *libc.TLS, pIncr uintptr) { /* sqlite3.c:97720:13: */ } // Reset a sorting cursor back to its original empty state. -func Xsqlite3VdbeSorterReset(tls *libc.TLS, db uintptr, pSorter uintptr) { /* sqlite3.c:97737:21: */ +func Xsqlite3VdbeSorterReset(tls *libc.TLS, db uintptr, pSorter uintptr) { /* sqlite3.c:97750:21: */ var i int32 vdbeSorterJoinAll(tls, pSorter, SQLITE_OK) @@ -77842,7 +77861,7 @@ func Xsqlite3VdbeSorterReset(tls *libc.TLS, db uintptr, pSorter uintptr) { /* sq } // Free any cursor components allocated by sqlite3VdbeSorterXXX routines. -func Xsqlite3VdbeSorterClose(tls *libc.TLS, db uintptr, pCsr uintptr) { /* sqlite3.c:97770:21: */ +func Xsqlite3VdbeSorterClose(tls *libc.TLS, db uintptr, pCsr uintptr) { /* sqlite3.c:97783:21: */ var pSorter uintptr pSorter = *(*uintptr)(unsafe.Pointer(pCsr + 48)) @@ -77861,7 +77880,7 @@ func Xsqlite3VdbeSorterClose(tls *libc.TLS, db uintptr, pCsr uintptr) { /* sqlit // // Whether or not the file does end up memory mapped of course depends on // the specific VFS implementation. -func vdbeSorterExtendFile(tls *libc.TLS, db uintptr, pFd uintptr, nByte I64) { /* sqlite3.c:97792:13: */ +func vdbeSorterExtendFile(tls *libc.TLS, db uintptr, pFd uintptr, nByte I64) { /* sqlite3.c:97805:13: */ bp := tls.Alloc(24) defer tls.Free(24) *(*I64)(unsafe.Pointer(bp + 8)) = nByte @@ -77881,7 +77900,7 @@ func vdbeSorterExtendFile(tls *libc.TLS, db uintptr, pFd uintptr, nByte I64) { / // Allocate space for a file-handle and open a temporary file. If successful, // set *ppFd to point to the malloc'd file-handle and return SQLITE_OK. // Otherwise, set *ppFd to 0 and return an SQLite error code. -func vdbeSorterOpenTempFile(tls *libc.TLS, db uintptr, nExtend I64, ppFd uintptr) int32 { /* sqlite3.c:97811:12: */ +func vdbeSorterOpenTempFile(tls *libc.TLS, db uintptr, nExtend I64, ppFd uintptr) int32 { /* sqlite3.c:97824:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -77905,7 +77924,7 @@ func vdbeSorterOpenTempFile(tls *libc.TLS, db uintptr, nExtend I64, ppFd uintptr // If it has not already been allocated, allocate the UnpackedRecord // structure at pTask->pUnpacked. Return SQLITE_OK if successful (or // if no allocation was required), or SQLITE_NOMEM otherwise. -func vdbeSortAllocUnpacked(tls *libc.TLS, pTask uintptr) int32 { /* sqlite3.c:97838:12: */ +func vdbeSortAllocUnpacked(tls *libc.TLS, pTask uintptr) int32 { /* sqlite3.c:97851:12: */ if (*SortSubtask)(unsafe.Pointer(pTask)).FpUnpacked == uintptr(0) { (*SortSubtask)(unsafe.Pointer(pTask)).FpUnpacked = Xsqlite3VdbeAllocUnpackedRecord(tls, (*VdbeSorter)(unsafe.Pointer((*SortSubtask)(unsafe.Pointer(pTask)).FpSorter)).FpKeyInfo) if (*SortSubtask)(unsafe.Pointer(pTask)).FpUnpacked == uintptr(0) { @@ -77918,7 +77937,7 @@ func vdbeSortAllocUnpacked(tls *libc.TLS, pTask uintptr) int32 { /* sqlite3.c:97 } // Merge the two sorted lists p1 and p2 into a single list. -func vdbeSorterMerge(tls *libc.TLS, pTask uintptr, p1 uintptr, p2 uintptr) uintptr { /* sqlite3.c:97852:21: */ +func vdbeSorterMerge(tls *libc.TLS, pTask uintptr, p1 uintptr, p2 uintptr) uintptr { /* sqlite3.c:97865:21: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -77957,7 +77976,7 @@ func vdbeSorterMerge(tls *libc.TLS, pTask uintptr, p1 uintptr, p2 uintptr) uintp // Return the SorterCompare function to compare values collected by the // sorter object passed as the only argument. -func vdbeSorterGetCompare(tls *libc.TLS, p uintptr) SorterCompare { /* sqlite3.c:97894:22: */ +func vdbeSorterGetCompare(tls *libc.TLS, p uintptr) SorterCompare { /* sqlite3.c:97907:22: */ if int32((*VdbeSorter)(unsafe.Pointer(p)).FtypeMask) == SORTER_TYPE_INTEGER { return *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr, int32) int32 @@ -77975,7 +77994,7 @@ func vdbeSorterGetCompare(tls *libc.TLS, p uintptr) SorterCompare { /* sqlite3.c // Sort the linked list of records headed at pTask->pList. Return // SQLITE_OK if successful, or an SQLite error code (i.e. SQLITE_NOMEM) if // an error occurs. -func vdbeSorterSort(tls *libc.TLS, pTask uintptr, pList uintptr) int32 { /* sqlite3.c:97908:12: */ +func vdbeSorterSort(tls *libc.TLS, pTask uintptr, pList uintptr) int32 { /* sqlite3.c:97921:12: */ bp := tls.Alloc(512) defer tls.Free(512) @@ -78032,7 +78051,7 @@ func vdbeSorterSort(tls *libc.TLS, pTask uintptr, pList uintptr) int32 { /* sqli } // Initialize a PMA-writer object. -func vdbePmaWriterInit(tls *libc.TLS, pFd uintptr, p uintptr, nBuf int32, iStart I64) { /* sqlite3.c:97959:13: */ +func vdbePmaWriterInit(tls *libc.TLS, pFd uintptr, p uintptr, nBuf int32, iStart I64) { /* sqlite3.c:97972:13: */ libc.Xmemset(tls, p, 0, uint64(unsafe.Sizeof(PmaWriter{}))) (*PmaWriter)(unsafe.Pointer(p)).FaBuffer = Xsqlite3Malloc(tls, uint64(nBuf)) if !(int32((*PmaWriter)(unsafe.Pointer(p)).FaBuffer) != 0) { @@ -78047,7 +78066,7 @@ func vdbePmaWriterInit(tls *libc.TLS, pFd uintptr, p uintptr, nBuf int32, iStart // Write nData bytes of data to the PMA. Return SQLITE_OK // if successful, or an SQLite error code if an error occurs. -func vdbePmaWriteBlob(tls *libc.TLS, p uintptr, pData uintptr, nData int32) { /* sqlite3.c:97981:13: */ +func vdbePmaWriteBlob(tls *libc.TLS, p uintptr, pData uintptr, nData int32) { /* sqlite3.c:97994:13: */ var nRem int32 = nData for nRem > 0 && (*PmaWriter)(unsafe.Pointer(p)).FeFWErr == 0 { var nCopy int32 = nRem @@ -78076,7 +78095,7 @@ func vdbePmaWriteBlob(tls *libc.TLS, p uintptr, pData uintptr, nData int32) { /* // // Before returning, set *piEof to the offset immediately following the // last byte written to the file. -func vdbePmaWriterFinish(tls *libc.TLS, p uintptr, piEof uintptr) int32 { /* sqlite3.c:98014:12: */ +func vdbePmaWriterFinish(tls *libc.TLS, p uintptr, piEof uintptr) int32 { /* sqlite3.c:98027:12: */ var rc int32 if (*PmaWriter)(unsafe.Pointer(p)).FeFWErr == 0 && (*PmaWriter)(unsafe.Pointer(p)).FaBuffer != 0 && (*PmaWriter)(unsafe.Pointer(p)).FiBufEnd > (*PmaWriter)(unsafe.Pointer(p)).FiBufStart { (*PmaWriter)(unsafe.Pointer(p)).FeFWErr = Xsqlite3OsWrite(tls, (*PmaWriter)(unsafe.Pointer(p)).FpFd, @@ -78092,7 +78111,7 @@ func vdbePmaWriterFinish(tls *libc.TLS, p uintptr, piEof uintptr) int32 { /* sql // Write value iVal encoded as a varint to the PMA. Return // SQLITE_OK if successful, or an SQLite error code if an error occurs. -func vdbePmaWriteVarint(tls *libc.TLS, p uintptr, iVal U64) { /* sqlite3.c:98033:13: */ +func vdbePmaWriteVarint(tls *libc.TLS, p uintptr, iVal U64) { /* sqlite3.c:98046:13: */ bp := tls.Alloc(10) defer tls.Free(10) @@ -78115,7 +78134,7 @@ func vdbePmaWriteVarint(tls *libc.TLS, p uintptr, iVal U64) { /* sqlite3.c:98033 // * One or more records packed end-to-end in order of ascending keys. // Each record consists of a varint followed by a blob of data (the // key). The varint is the number of bytes in the blob of data. -func vdbeSorterListToPMA(tls *libc.TLS, pTask uintptr, pList uintptr) int32 { /* sqlite3.c:98054:12: */ +func vdbeSorterListToPMA(tls *libc.TLS, pTask uintptr, pList uintptr) int32 { /* sqlite3.c:98067:12: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -78170,7 +78189,7 @@ func vdbeSorterListToPMA(tls *libc.TLS, pTask uintptr, pList uintptr) int32 { /* // the MergeEngine has reached the end of all its inputs. // // Return SQLITE_OK if successful or an error code if an error occurs. -func vdbeMergeEngineStep(tls *libc.TLS, pMerger uintptr, pbEof uintptr) int32 { /* sqlite3.c:98118:12: */ +func vdbeMergeEngineStep(tls *libc.TLS, pMerger uintptr, pbEof uintptr) int32 { /* sqlite3.c:98131:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -78246,7 +78265,7 @@ func vdbeMergeEngineStep(tls *libc.TLS, pMerger uintptr, pbEof uintptr) int32 { } // The main routine for background threads that write level-0 PMAs. -func vdbeSorterFlushThread(tls *libc.TLS, pCtx uintptr) uintptr { /* sqlite3.c:98189:13: */ +func vdbeSorterFlushThread(tls *libc.TLS, pCtx uintptr) uintptr { /* sqlite3.c:98202:13: */ var pTask uintptr = pCtx var rc int32 // Return code @@ -78257,7 +78276,7 @@ func vdbeSorterFlushThread(tls *libc.TLS, pCtx uintptr) uintptr { /* sqlite3.c:9 // Flush the current contents of VdbeSorter.list to a new PMA, possibly // using a background thread. -func vdbeSorterFlushPMA(tls *libc.TLS, pSorter uintptr) int32 { /* sqlite3.c:98203:12: */ +func vdbeSorterFlushPMA(tls *libc.TLS, pSorter uintptr) int32 { /* sqlite3.c:98216:12: */ var rc int32 = SQLITE_OK var i int32 var pTask uintptr = uintptr(0) // Thread context used to create new PMA @@ -78321,7 +78340,7 @@ func vdbeSorterFlushPMA(tls *libc.TLS, pSorter uintptr) int32 { /* sqlite3.c:982 } // Add a record to the sorter. -func Xsqlite3VdbeSorterWrite(tls *libc.TLS, pCsr uintptr, pVal uintptr) int32 { /* sqlite3.c:98273:20: */ +func Xsqlite3VdbeSorterWrite(tls *libc.TLS, pCsr uintptr, pVal uintptr) int32 { /* sqlite3.c:98286:20: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -78437,7 +78456,7 @@ func Xsqlite3VdbeSorterWrite(tls *libc.TLS, pCsr uintptr, pVal uintptr) int32 { // Read keys from pIncr->pMerger and populate pIncr->aFile[1]. The format // of the data stored in aFile[1] is the same as that used by regular PMAs, // except that the number-of-bytes varint is omitted from the start. -func vdbeIncrPopulate(tls *libc.TLS, pIncr uintptr) int32 { /* sqlite3.c:98385:12: */ +func vdbeIncrPopulate(tls *libc.TLS, pIncr uintptr) int32 { /* sqlite3.c:98398:12: */ bp := tls.Alloc(52) defer tls.Free(52) @@ -78483,7 +78502,7 @@ func vdbeIncrPopulate(tls *libc.TLS, pIncr uintptr) int32 { /* sqlite3.c:98385:1 // The main routine for background threads that populate aFile[1] of // multi-threaded IncrMerger objects. -func vdbeIncrPopulateThread(tls *libc.TLS, pCtx uintptr) uintptr { /* sqlite3.c:98427:13: */ +func vdbeIncrPopulateThread(tls *libc.TLS, pCtx uintptr) uintptr { /* sqlite3.c:98440:13: */ var pIncr uintptr = pCtx var pRet uintptr = uintptr(int64(vdbeIncrPopulate(tls, pIncr))) (*SortSubtask)(unsafe.Pointer((*IncrMerger)(unsafe.Pointer(pIncr)).FpTask)).FbDone = 1 @@ -78491,7 +78510,7 @@ func vdbeIncrPopulateThread(tls *libc.TLS, pCtx uintptr) uintptr { /* sqlite3.c: } // Launch a background thread to populate aFile[1] of pIncr. -func vdbeIncrBgPopulate(tls *libc.TLS, pIncr uintptr) int32 { /* sqlite3.c:98437:12: */ +func vdbeIncrBgPopulate(tls *libc.TLS, pIncr uintptr) int32 { /* sqlite3.c:98450:12: */ var p uintptr = pIncr return vdbeSorterCreateThread(tls, (*IncrMerger)(unsafe.Pointer(pIncr)).FpTask, *(*uintptr)(unsafe.Pointer(&struct { @@ -78514,7 +78533,7 @@ func vdbeIncrBgPopulate(tls *libc.TLS, pIncr uintptr) int32 { /* sqlite3.c:98437 // to populate the new aFile[1]. // // SQLITE_OK is returned on success, or an SQLite error code otherwise. -func vdbeIncrSwap(tls *libc.TLS, pIncr uintptr) int32 { /* sqlite3.c:98461:12: */ +func vdbeIncrSwap(tls *libc.TLS, pIncr uintptr) int32 { /* sqlite3.c:98474:12: */ var rc int32 = SQLITE_OK if (*IncrMerger)(unsafe.Pointer(pIncr)).FbUseThread != 0 { @@ -78548,7 +78567,7 @@ func vdbeIncrSwap(tls *libc.TLS, pIncr uintptr) int32 { /* sqlite3.c:98461:12: * // // If an OOM condition is encountered, return NULL. In this case free the // pMerger argument before returning. -func vdbeIncrMergerNew(tls *libc.TLS, pTask uintptr, pMerger uintptr, ppOut uintptr) int32 { /* sqlite3.c:98500:12: */ +func vdbeIncrMergerNew(tls *libc.TLS, pTask uintptr, pMerger uintptr, ppOut uintptr) int32 { /* sqlite3.c:98513:12: */ var rc int32 = SQLITE_OK var pIncr uintptr = libc.AssignPtrUintptr(ppOut, func() uintptr { if Xsqlite3FaultSim(tls, 100) != 0 { @@ -78575,7 +78594,7 @@ func vdbeIncrMergerNew(tls *libc.TLS, pTask uintptr, pMerger uintptr, ppOut uint } // Set the "use-threads" flag on object pIncr. -func vdbeIncrMergerSetThreads(tls *libc.TLS, pIncr uintptr) { /* sqlite3.c:98525:13: */ +func vdbeIncrMergerSetThreads(tls *libc.TLS, pIncr uintptr) { /* sqlite3.c:98538:13: */ (*IncrMerger)(unsafe.Pointer(pIncr)).FbUseThread = 1 *(*I64)(unsafe.Pointer((*IncrMerger)(unsafe.Pointer(pIncr)).FpTask + 88 + 8)) -= I64((*IncrMerger)(unsafe.Pointer(pIncr)).FmxSz) } @@ -78583,7 +78602,7 @@ func vdbeIncrMergerSetThreads(tls *libc.TLS, pIncr uintptr) { /* sqlite3.c:98525 // Recompute pMerger->aTree[iOut] by comparing the next keys on the // two PmaReaders that feed that entry. Neither of the PmaReaders // are advanced. This routine merely does the comparison. -func vdbeMergeEngineCompare(tls *libc.TLS, pMerger uintptr, iOut int32) { /* sqlite3.c:98538:13: */ +func vdbeMergeEngineCompare(tls *libc.TLS, pMerger uintptr, iOut int32) { /* sqlite3.c:98551:13: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -78643,7 +78662,7 @@ func vdbeMergeEngineCompare(tls *libc.TLS, pMerger uintptr, iOut int32) { /* sql // to pMerger. // // SQLITE_OK is returned if successful, or an SQLite error code otherwise. -func vdbeMergeEngineInit(tls *libc.TLS, pTask uintptr, pMerger uintptr, eMode int32) int32 { /* sqlite3.c:98620:12: */ +func vdbeMergeEngineInit(tls *libc.TLS, pTask uintptr, pMerger uintptr, eMode int32) int32 { /* sqlite3.c:98633:12: */ var rc int32 = SQLITE_OK // Return code var i int32 // For looping over PmaReader objects var nTree int32 // Number of subtrees to merge @@ -78713,7 +78732,7 @@ func vdbeMergeEngineInit(tls *libc.TLS, pTask uintptr, pMerger uintptr, eMode in // the current PmaReader set to point to the first key in its range. // // SQLITE_OK is returned if successful, or an SQLite error code otherwise. -func vdbePmaReaderIncrMergeInit(tls *libc.TLS, pReadr uintptr, eMode int32) int32 { /* sqlite3.c:98696:12: */ +func vdbePmaReaderIncrMergeInit(tls *libc.TLS, pReadr uintptr, eMode int32) int32 { /* sqlite3.c:98709:12: */ var rc int32 = SQLITE_OK var pIncr uintptr = (*PmaReader)(unsafe.Pointer(pReadr)).FpIncr var pTask uintptr = (*IncrMerger)(unsafe.Pointer(pIncr)).FpTask @@ -78770,7 +78789,7 @@ func vdbePmaReaderIncrMergeInit(tls *libc.TLS, pReadr uintptr, eMode int32) int3 // The main routine for vdbePmaReaderIncrMergeInit() operations run in // background threads. -func vdbePmaReaderBgIncrInit(tls *libc.TLS, pCtx uintptr) uintptr { /* sqlite3.c:98763:13: */ +func vdbePmaReaderBgIncrInit(tls *libc.TLS, pCtx uintptr) uintptr { /* sqlite3.c:98776:13: */ var pReader uintptr = pCtx var pRet uintptr = uintptr(int64(vdbePmaReaderIncrMergeInit(tls, pReader, INCRINIT_TASK))) (*SortSubtask)(unsafe.Pointer((*IncrMerger)(unsafe.Pointer((*PmaReader)(unsafe.Pointer(pReader)).FpIncr)).FpTask)).FbDone = 1 @@ -78786,7 +78805,7 @@ func vdbePmaReaderBgIncrInit(tls *libc.TLS, pCtx uintptr) uintptr { /* sqlite3.c // then a background thread is launched to call vdbePmaReaderIncrMergeInit(). // Or, if the IncrMerger is single threaded, the same function is called // using the current thread. -func vdbePmaReaderIncrInit(tls *libc.TLS, pReadr uintptr, eMode int32) int32 { /* sqlite3.c:98784:12: */ +func vdbePmaReaderIncrInit(tls *libc.TLS, pReadr uintptr, eMode int32) int32 { /* sqlite3.c:98797:12: */ var pIncr uintptr = (*PmaReader)(unsafe.Pointer(pReadr)).FpIncr // Incremental merger var rc int32 = SQLITE_OK // Return code if pIncr != 0 { @@ -78813,7 +78832,7 @@ func vdbePmaReaderIncrInit(tls *libc.TLS, pReadr uintptr, eMode int32) int32 { / // set to the offset immediately following the last byte of the last // PMA before returning. If an error does occur, then the final value of // *piOffset is undefined. -func vdbeMergeEngineLevel0(tls *libc.TLS, pTask uintptr, nPMA int32, piOffset uintptr, ppOut uintptr) int32 { /* sqlite3.c:98814:12: */ +func vdbeMergeEngineLevel0(tls *libc.TLS, pTask uintptr, nPMA int32, piOffset uintptr, ppOut uintptr) int32 { /* sqlite3.c:98827:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -78850,7 +78869,7 @@ func vdbeMergeEngineLevel0(tls *libc.TLS, pTask uintptr, nPMA int32, piOffset ui // nPMA<=16 -> TreeDepth() == 0 // nPMA<=256 -> TreeDepth() == 1 // nPMA<=65536 -> TreeDepth() == 2 -func vdbeSorterTreeDepth(tls *libc.TLS, nPMA int32) int32 { /* sqlite3.c:98853:12: */ +func vdbeSorterTreeDepth(tls *libc.TLS, nPMA int32) int32 { /* sqlite3.c:98866:12: */ var nDepth int32 = 0 var nDiv I64 = int64(SORTER_MAX_MERGE_COUNT) for nDiv < I64(nPMA) { @@ -78866,7 +78885,7 @@ func vdbeSorterTreeDepth(tls *libc.TLS, nPMA int32) int32 { /* sqlite3.c:98853:1 // // If successful, SQLITE_OK is returned. If an error occurs, an SQLite error // code is returned and pLeaf is freed. -func vdbeSorterAddToTree(tls *libc.TLS, pTask uintptr, nDepth int32, iSeq int32, pRoot uintptr, pLeaf uintptr) int32 { /* sqlite3.c:98871:12: */ +func vdbeSorterAddToTree(tls *libc.TLS, pTask uintptr, nDepth int32, iSeq int32, pRoot uintptr, pLeaf uintptr) int32 { /* sqlite3.c:98884:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -78917,7 +78936,7 @@ func vdbeSorterAddToTree(tls *libc.TLS, pTask uintptr, nDepth int32, iSeq int32, // MergeEngine object at the root of the tree before returning. Or, if an // error occurs, an SQLite error code is returned and the final value // of *ppOut is undefined. -func vdbeSorterMergeTreeBuild(tls *libc.TLS, pSorter uintptr, ppOut uintptr) int32 { /* sqlite3.c:98927:12: */ +func vdbeSorterMergeTreeBuild(tls *libc.TLS, pSorter uintptr, ppOut uintptr) int32 { /* sqlite3.c:98940:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -78998,7 +79017,7 @@ func vdbeSorterMergeTreeBuild(tls *libc.TLS, pSorter uintptr, ppOut uintptr) int // all records stored in the sorter. // // SQLITE_OK is returned if successful, or an SQLite error code otherwise. -func vdbeSorterSetupMerge(tls *libc.TLS, pSorter uintptr) int32 { /* sqlite3.c:99006:12: */ +func vdbeSorterSetupMerge(tls *libc.TLS, pSorter uintptr) int32 { /* sqlite3.c:99019:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -79073,7 +79092,7 @@ func vdbeSorterSetupMerge(tls *libc.TLS, pSorter uintptr) int32 { /* sqlite3.c:9 // Once the sorter has been populated by calls to sqlite3VdbeSorterWrite, // this function is called to prepare for iterating through the records // in sorted order. -func Xsqlite3VdbeSorterRewind(tls *libc.TLS, pCsr uintptr, pbEof uintptr) int32 { /* sqlite3.c:99088:20: */ +func Xsqlite3VdbeSorterRewind(tls *libc.TLS, pCsr uintptr, pbEof uintptr) int32 { /* sqlite3.c:99101:20: */ var pSorter uintptr var rc int32 = SQLITE_OK // Return code @@ -79118,7 +79137,7 @@ func Xsqlite3VdbeSorterRewind(tls *libc.TLS, pCsr uintptr, pbEof uintptr) int32 // SQLITE_OK success // SQLITE_DONE end of data // otherwise some kind of error. -func Xsqlite3VdbeSorterNext(tls *libc.TLS, db uintptr, pCsr uintptr) int32 { /* sqlite3.c:99140:20: */ +func Xsqlite3VdbeSorterNext(tls *libc.TLS, db uintptr, pCsr uintptr) int32 { /* sqlite3.c:99153:20: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -79160,7 +79179,7 @@ func Xsqlite3VdbeSorterNext(tls *libc.TLS, db uintptr, pCsr uintptr) int32 { /* // Return a pointer to a buffer owned by the sorter that contains the // current key. -func vdbeSorterRowkey(tls *libc.TLS, pSorter uintptr, pnKey uintptr) uintptr { /* sqlite3.c:99178:13: */ +func vdbeSorterRowkey(tls *libc.TLS, pSorter uintptr, pnKey uintptr) uintptr { /* sqlite3.c:99191:13: */ var pKey uintptr if (*VdbeSorter)(unsafe.Pointer(pSorter)).FbUsePMA != 0 { var pReader uintptr @@ -79179,7 +79198,7 @@ func vdbeSorterRowkey(tls *libc.TLS, pSorter uintptr, pnKey uintptr) uintptr { / } // Copy the current sorter key into the memory cell pOut. -func Xsqlite3VdbeSorterRowkey(tls *libc.TLS, pCsr uintptr, pOut uintptr) int32 { /* sqlite3.c:99205:20: */ +func Xsqlite3VdbeSorterRowkey(tls *libc.TLS, pCsr uintptr, pOut uintptr) int32 { /* sqlite3.c:99218:20: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -79214,7 +79233,7 @@ func Xsqlite3VdbeSorterRowkey(tls *libc.TLS, pCsr uintptr, pOut uintptr) int32 { // // This routine forms the core of the OP_SorterCompare opcode, which in // turn is used to verify uniqueness when constructing a UNIQUE INDEX. -func Xsqlite3VdbeSorterCompare(tls *libc.TLS, pCsr uintptr, pVal uintptr, nKeyCol int32, pRes uintptr) int32 { /* sqlite3.c:99238:20: */ +func Xsqlite3VdbeSorterCompare(tls *libc.TLS, pCsr uintptr, pVal uintptr, nKeyCol int32, pRes uintptr) int32 { /* sqlite3.c:99251:20: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -79306,7 +79325,7 @@ type MemJournal1 = struct { F__ccgo_pad1 [4]byte FpVfs uintptr FzJournal uintptr -} /* sqlite3.c:99731:9 */ +} /* sqlite3.c:99744:9 */ //************* End of vdbesort.c ******************************************* //************* Begin file vdbevtab.c *************************************** @@ -79353,23 +79372,23 @@ type MemJournal1 = struct { // #include "sqliteInt.h" // Forward references to internal structures -type MemJournal = MemJournal1 /* sqlite3.c:99731:27 */ +type MemJournal = MemJournal1 /* sqlite3.c:99744:27 */ type FilePoint1 = struct { FiOffset Sqlite3_int64 FpChunk uintptr -} /* sqlite3.c:99731:9 */ +} /* sqlite3.c:99744:9 */ -type FilePoint = FilePoint1 /* sqlite3.c:99732:26 */ +type FilePoint = FilePoint1 /* sqlite3.c:99745:26 */ type FileChunk1 = struct { FpNext uintptr FzChunk [8]U8 -} /* sqlite3.c:99731:9 */ +} /* sqlite3.c:99744:9 */ -type FileChunk = FileChunk1 /* sqlite3.c:99733:26 */ +type FileChunk = FileChunk1 /* sqlite3.c:99746:26 */ // Read data from the in-memory journal file. This is the implementation // of the sqlite3_vfs.xRead method. -func memjrnlRead(tls *libc.TLS, pJfd uintptr, zBuf uintptr, iAmt int32, iOfst Sqlite_int64) int32 { /* sqlite3.c:99788:12: */ +func memjrnlRead(tls *libc.TLS, pJfd uintptr, zBuf uintptr, iAmt int32, iOfst Sqlite_int64) int32 { /* sqlite3.c:99801:12: */ var p uintptr = pJfd var zOut uintptr = zBuf var nRead int32 = iAmt @@ -79416,7 +79435,7 @@ func memjrnlRead(tls *libc.TLS, pJfd uintptr, zBuf uintptr, iAmt int32, iOfst Sq } // Free the list of FileChunk structures headed at MemJournal.pFirst. -func memjrnlFreeChunks(tls *libc.TLS, pFirst uintptr) { /* sqlite3.c:99835:13: */ +func memjrnlFreeChunks(tls *libc.TLS, pFirst uintptr) { /* sqlite3.c:99848:13: */ var pIter uintptr var pNext uintptr for pIter = pFirst; pIter != 0; pIter = pNext { @@ -79426,7 +79445,7 @@ func memjrnlFreeChunks(tls *libc.TLS, pFirst uintptr) { /* sqlite3.c:99835:13: * } // Flush the contents of memory to a real file on disk. -func memjrnlCreateFile(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:99847:12: */ +func memjrnlCreateFile(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:99860:12: */ var rc int32 var pReal uintptr = p var copy = *(*MemJournal)(unsafe.Pointer(p)) @@ -79464,7 +79483,7 @@ func memjrnlCreateFile(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:99847:12: } // Write data to the file. -func memjrnlWrite(tls *libc.TLS, pJfd uintptr, zBuf uintptr, iAmt int32, iOfst Sqlite_int64) int32 { /* sqlite3.c:99889:12: */ +func memjrnlWrite(tls *libc.TLS, pJfd uintptr, zBuf uintptr, iAmt int32, iOfst Sqlite_int64) int32 { /* sqlite3.c:99902:12: */ var p uintptr = pJfd var nWrite int32 = iAmt var zWrite uintptr = zBuf @@ -79530,7 +79549,7 @@ func memjrnlWrite(tls *libc.TLS, pJfd uintptr, zBuf uintptr, iAmt int32, iOfst S } // Truncate the in-memory file. -func memjrnlTruncate(tls *libc.TLS, pJfd uintptr, size Sqlite_int64) int32 { /* sqlite3.c:99962:12: */ +func memjrnlTruncate(tls *libc.TLS, pJfd uintptr, size Sqlite_int64) int32 { /* sqlite3.c:99975:12: */ var p uintptr = pJfd if size < (*MemJournal)(unsafe.Pointer(p)).Fendpoint.FiOffset { @@ -79558,7 +79577,7 @@ func memjrnlTruncate(tls *libc.TLS, pJfd uintptr, size Sqlite_int64) int32 { /* } // Close the file. -func memjrnlClose(tls *libc.TLS, pJfd uintptr) int32 { /* sqlite3.c:99992:12: */ +func memjrnlClose(tls *libc.TLS, pJfd uintptr) int32 { /* sqlite3.c:100005:12: */ var p uintptr = pJfd memjrnlFreeChunks(tls, (*MemJournal)(unsafe.Pointer(p)).FpFirst) return SQLITE_OK @@ -79568,14 +79587,14 @@ func memjrnlClose(tls *libc.TLS, pJfd uintptr) int32 { /* sqlite3.c:99992:12: */ // // If the real file has been created, call its xSync method. Otherwise, // syncing an in-memory journal is a no-op. -func memjrnlSync(tls *libc.TLS, pJfd uintptr, flags int32) int32 { /* sqlite3.c:100004:12: */ +func memjrnlSync(tls *libc.TLS, pJfd uintptr, flags int32) int32 { /* sqlite3.c:100017:12: */ _ = pJfd _ = flags return SQLITE_OK } // Query the size of the file in bytes. -func memjrnlFileSize(tls *libc.TLS, pJfd uintptr, pSize uintptr) int32 { /* sqlite3.c:100012:12: */ +func memjrnlFileSize(tls *libc.TLS, pJfd uintptr, pSize uintptr) int32 { /* sqlite3.c:100025:12: */ var p uintptr = pJfd *(*Sqlite_int64)(unsafe.Pointer(pSize)) = (*MemJournal)(unsafe.Pointer(p)).Fendpoint.FiOffset return SQLITE_OK @@ -79590,7 +79609,7 @@ var sMemJournalMethods = sqlite3_io_methods{ FxTruncate: 0, // xTruncate FxSync: 0, // xSync FxFileSize: 0, // xUnfetch -} /* sqlite3.c:100021:40 */ +} /* sqlite3.c:100034:40 */ // Open a journal file. // @@ -79602,7 +79621,7 @@ var sMemJournalMethods = sqlite3_io_methods{ // but may be flushed to disk later on. In this case the journal file is // flushed to disk either when it grows larger than nSpill bytes in size, // or when sqlite3JournalCreate() is called. -func Xsqlite3JournalOpen(tls *libc.TLS, pVfs uintptr, zName uintptr, pJfd uintptr, flags int32, nSpill int32) int32 { /* sqlite3.c:100055:20: */ +func Xsqlite3JournalOpen(tls *libc.TLS, pVfs uintptr, zName uintptr, pJfd uintptr, flags int32, nSpill int32) int32 { /* sqlite3.c:100068:20: */ var p uintptr = pJfd // Zero the file-handle object. If nSpill was passed zero, initialize @@ -79630,20 +79649,20 @@ func Xsqlite3JournalOpen(tls *libc.TLS, pVfs uintptr, zName uintptr, pJfd uintpt } // Open an in-memory journal file. -func Xsqlite3MemJournalOpen(tls *libc.TLS, pJfd uintptr) { /* sqlite3.c:100091:21: */ +func Xsqlite3MemJournalOpen(tls *libc.TLS, pJfd uintptr) { /* sqlite3.c:100104:21: */ Xsqlite3JournalOpen(tls, uintptr(0), uintptr(0), pJfd, 0, -1) } // The file-handle passed as the only argument is open on a journal file. // Return true if this "journal file" is currently stored in heap memory, // or false otherwise. -func Xsqlite3JournalIsInMemory(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:100130:20: */ +func Xsqlite3JournalIsInMemory(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:100143:20: */ return libc.Bool32((*Sqlite3_file)(unsafe.Pointer(p)).FpMethods == uintptr(unsafe.Pointer(&sMemJournalMethods))) } // Return the number of bytes required to store a JournalFile that uses vfs // pVfs to create the underlying on-disk files. -func Xsqlite3JournalSize(tls *libc.TLS, pVfs uintptr) int32 { /* sqlite3.c:100138:20: */ +func Xsqlite3JournalSize(tls *libc.TLS, pVfs uintptr) int32 { /* sqlite3.c:100151:20: */ return func() int32 { if (*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FszOsFile > int32(unsafe.Sizeof(MemJournal{})) { return (*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FszOsFile @@ -79672,7 +79691,7 @@ func Xsqlite3JournalSize(tls *libc.TLS, pVfs uintptr) int32 { /* sqlite3.c:10013 // Walk all expressions linked into the list of Window objects passed // as the second argument. -func walkWindowList(tls *libc.TLS, pWalker uintptr, pList uintptr, bOneOnly int32) int32 { /* sqlite3.c:100168:12: */ +func walkWindowList(tls *libc.TLS, pWalker uintptr, pList uintptr, bOneOnly int32) int32 { /* sqlite3.c:100181:12: */ var pWin uintptr for pWin = pList; pWin != 0; pWin = (*Window)(unsafe.Pointer(pWin)).FpNextWin { var rc int32 @@ -79720,7 +79739,7 @@ func walkWindowList(tls *libc.TLS, pWalker uintptr, pList uintptr, bOneOnly int3 // // The return value from this routine is WRC_Abort to abandon the tree walk // and WRC_Continue to continue. -func walkExpr(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:100207:28: */ +func walkExpr(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:100220:28: */ var rc int32 for 1 != 0 { @@ -79762,7 +79781,7 @@ func walkExpr(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3. return WRC_Continue } -func Xsqlite3WalkExpr(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:100239:20: */ +func Xsqlite3WalkExpr(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:100252:20: */ if pExpr != 0 { return walkExpr(tls, pWalker, pExpr) } @@ -79771,7 +79790,7 @@ func Xsqlite3WalkExpr(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* // Call sqlite3WalkExpr() for every expression in list p or until // an abort request is seen. -func Xsqlite3WalkExprList(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sqlite3.c:100247:20: */ +func Xsqlite3WalkExprList(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sqlite3.c:100260:20: */ var i int32 var pItem uintptr if p != 0 { @@ -79800,7 +79819,7 @@ func Xsqlite3WalkExprList(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* // This is a no-op callback for Walker->xSelectCallback2. If this // callback is set, then the Select->pWinDefn list is traversed. -func Xsqlite3WalkWinDefnDummyCallback(tls *libc.TLS, pWalker uintptr, p uintptr) { /* sqlite3.c:100262:21: */ +func Xsqlite3WalkWinDefnDummyCallback(tls *libc.TLS, pWalker uintptr, p uintptr) { /* sqlite3.c:100275:21: */ _ = pWalker _ = p // No-op @@ -79810,7 +79829,7 @@ func Xsqlite3WalkWinDefnDummyCallback(tls *libc.TLS, pWalker uintptr, p uintptr) // not invoke the SELECT callback on p, but do (of course) invoke // any expr callbacks and SELECT callbacks that come from subqueries. // Return WRC_Abort or WRC_Continue. -func Xsqlite3WalkSelectExpr(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sqlite3.c:100274:20: */ +func Xsqlite3WalkSelectExpr(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sqlite3.c:100287:20: */ if Xsqlite3WalkExprList(tls, pWalker, (*Select)(unsafe.Pointer(p)).FpEList) != 0 { return WRC_Abort } @@ -79852,7 +79871,7 @@ func Xsqlite3WalkSelectExpr(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { / // callback on p, but do invoke it on each FROM clause subquery // and on any subqueries further down in the tree. Return // WRC_Abort or WRC_Continue; -func Xsqlite3WalkSelectFrom(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sqlite3.c:100307:20: */ +func Xsqlite3WalkSelectFrom(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sqlite3.c:100320:20: */ var pSrc uintptr var i int32 var pItem uintptr @@ -79901,7 +79920,7 @@ func Xsqlite3WalkSelectFrom(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { / // // If the Walker does not have an xSelectCallback() then this routine // is a no-op returning WRC_Continue. -func Xsqlite3WalkSelect(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sqlite3.c:100345:20: */ +func Xsqlite3WalkSelect(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sqlite3.c:100358:20: */ var rc int32 if p == uintptr(0) { return WRC_Continue @@ -79932,13 +79951,13 @@ func Xsqlite3WalkSelect(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sq // Increase the walkerDepth when entering a subquery, and // descrease when leaving the subquery. -func Xsqlite3WalkerDepthIncrease(tls *libc.TLS, pWalker uintptr, pSelect uintptr) int32 { /* sqlite3.c:100368:20: */ +func Xsqlite3WalkerDepthIncrease(tls *libc.TLS, pWalker uintptr, pSelect uintptr) int32 { /* sqlite3.c:100381:20: */ _ = pSelect (*Walker)(unsafe.Pointer(pWalker)).FwalkerDepth++ return WRC_Continue } -func Xsqlite3WalkerDepthDecrease(tls *libc.TLS, pWalker uintptr, pSelect uintptr) { /* sqlite3.c:100373:21: */ +func Xsqlite3WalkerDepthDecrease(tls *libc.TLS, pWalker uintptr, pSelect uintptr) { /* sqlite3.c:100386:21: */ _ = pSelect (*Walker)(unsafe.Pointer(pWalker)).FwalkerDepth-- } @@ -79950,7 +79969,7 @@ func Xsqlite3WalkerDepthDecrease(tls *libc.TLS, pWalker uintptr, pSelect uintptr // when this routine is used for Walker.xExprCallback then // Walker.xSelectCallback is set to do something useful for every // subquery in the parser tree. -func Xsqlite3ExprWalkNoop(tls *libc.TLS, NotUsed uintptr, NotUsed2 uintptr) int32 { /* sqlite3.c:100388:20: */ +func Xsqlite3ExprWalkNoop(tls *libc.TLS, NotUsed uintptr, NotUsed2 uintptr) int32 { /* sqlite3.c:100401:20: */ _ = NotUsed _ = NotUsed2 return WRC_Continue @@ -79958,7 +79977,7 @@ func Xsqlite3ExprWalkNoop(tls *libc.TLS, NotUsed uintptr, NotUsed2 uintptr) int3 // No-op routine for the parse-tree walker for SELECT statements. // subquery in the parser tree. -func Xsqlite3SelectWalkNoop(tls *libc.TLS, NotUsed uintptr, NotUsed2 uintptr) int32 { /* sqlite3.c:100397:20: */ +func Xsqlite3SelectWalkNoop(tls *libc.TLS, NotUsed uintptr, NotUsed2 uintptr) int32 { /* sqlite3.c:100410:20: */ _ = NotUsed _ = NotUsed2 return WRC_Continue @@ -79993,14 +80012,14 @@ func Xsqlite3SelectWalkNoop(tls *libc.TLS, NotUsed uintptr, NotUsed2 uintptr) in // is a helper function - a callback for the tree walker. // // See also the sqlite3WindowExtraAggFuncDepth() routine in window.c -func incrAggDepth(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:100438:12: */ +func incrAggDepth(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:100451:12: */ if int32((*Expr)(unsafe.Pointer(pExpr)).Fop) == TK_AGG_FUNCTION { *(*U8)(unsafe.Pointer(pExpr + 2)) += U8(*(*int32)(unsafe.Pointer(pWalker + 40))) } return WRC_Continue } -func incrAggFunctionDepth(tls *libc.TLS, pExpr uintptr, N int32) { /* sqlite3.c:100442:13: */ +func incrAggFunctionDepth(tls *libc.TLS, pExpr uintptr, N int32) { /* sqlite3.c:100455:13: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -80033,7 +80052,7 @@ func incrAggFunctionDepth(tls *libc.TLS, pExpr uintptr, N int32) { /* sqlite3.c: // zero but it might be more if the alias is contained within a subquery // of the original expression. The Expr.op2 field of TK_AGG_FUNCTION // structures must be increased by the nSubquery amount. -func resolveAlias(tls *libc.TLS, pParse uintptr, pEList uintptr, iCol int32, pExpr uintptr, nSubquery int32) { /* sqlite3.c:100471:13: */ +func resolveAlias(tls *libc.TLS, pParse uintptr, pEList uintptr, iCol int32, pExpr uintptr, nSubquery int32) { /* sqlite3.c:100484:13: */ var pOrig uintptr // The iCol-th column of the result set var pDup uintptr // Copy of pOrig var db uintptr // The database connection @@ -80079,7 +80098,7 @@ func resolveAlias(tls *libc.TLS, pParse uintptr, pEList uintptr, iCol int32, pEx // // Return FALSE if the USING clause is NULL or if it does not contain // zCol. -func nameInUsingClause(tls *libc.TLS, pUsing uintptr, zCol uintptr) int32 { /* sqlite3.c:100528:12: */ +func nameInUsingClause(tls *libc.TLS, pUsing uintptr, zCol uintptr) int32 { /* sqlite3.c:100541:12: */ if pUsing != 0 { var k int32 for k = 0; k < (*IdList)(unsafe.Pointer(pUsing)).FnId; k++ { @@ -80096,7 +80115,7 @@ func nameInUsingClause(tls *libc.TLS, pUsing uintptr, zCol uintptr) int32 { /* s // Check to see if the zSpan given to this routine matches the zDb, zTab, // and zCol. If any of zDb, zTab, and zCol are NULL then those fields will // match anything. -func Xsqlite3MatchEName(tls *libc.TLS, pItem uintptr, zCol uintptr, zTab uintptr, zDb uintptr) int32 { /* sqlite3.c:100545:20: */ +func Xsqlite3MatchEName(tls *libc.TLS, pItem uintptr, zCol uintptr, zTab uintptr, zDb uintptr) int32 { /* sqlite3.c:100558:20: */ var n int32 var zSpan uintptr if int32(*(*uint8)(unsafe.Pointer(pItem + 20))&0xc0>>6) != ENAME_TAB { @@ -80122,7 +80141,7 @@ func Xsqlite3MatchEName(tls *libc.TLS, pItem uintptr, zCol uintptr, zTab uintptr } // Return TRUE if the double-quoted string mis-feature should be supported. -func areDoubleQuotedStringsEnabled(tls *libc.TLS, db uintptr, pTopNC uintptr) int32 { /* sqlite3.c:100574:12: */ +func areDoubleQuotedStringsEnabled(tls *libc.TLS, db uintptr, pTopNC uintptr) int32 { /* sqlite3.c:100587:12: */ if (*Sqlite3)(unsafe.Pointer(db)).Finit.Fbusy != 0 { return 1 } // Always support for legacy schemas @@ -80141,7 +80160,7 @@ func areDoubleQuotedStringsEnabled(tls *libc.TLS, db uintptr, pTopNC uintptr) in // The argument is guaranteed to be a non-NULL Expr node of type TK_COLUMN. // return the appropriate colUsed mask. -func Xsqlite3ExprColUsed(tls *libc.TLS, pExpr uintptr) Bitmask { /* sqlite3.c:100592:24: */ +func Xsqlite3ExprColUsed(tls *libc.TLS, pExpr uintptr) Bitmask { /* sqlite3.c:100605:24: */ var n int32 var pExTab uintptr @@ -80191,7 +80210,7 @@ func Xsqlite3ExprColUsed(tls *libc.TLS, pExpr uintptr) Bitmask { /* sqlite3.c:10 // // If the name cannot be resolved unambiguously, leave an error message // in pParse and return WRC_Abort. Return WRC_Prune on success. -func lookupName(tls *libc.TLS, pParse uintptr, zDb uintptr, zTab uintptr, zCol uintptr, pNC uintptr, pExpr uintptr) int32 { /* sqlite3.c:100641:12: */ +func lookupName(tls *libc.TLS, pParse uintptr, zDb uintptr, zTab uintptr, zCol uintptr, pNC uintptr, pExpr uintptr) int32 { /* sqlite3.c:100654:12: */ bp := tls.Alloc(96) defer tls.Free(96) @@ -80906,7 +80925,7 @@ __88: // Allocate and return a pointer to an expression to load the column iCol // from datasource iSrc in SrcList pSrc. -func Xsqlite3CreateColumnExpr(tls *libc.TLS, db uintptr, pSrc uintptr, iSrc int32, iCol int32) uintptr { /* sqlite3.c:101087:21: */ +func Xsqlite3CreateColumnExpr(tls *libc.TLS, db uintptr, pSrc uintptr, iSrc int32, iCol int32) uintptr { /* sqlite3.c:101100:21: */ var p uintptr = Xsqlite3ExprAlloc(tls, db, TK_COLUMN, uintptr(0), 0) if p != 0 { var pItem uintptr = pSrc + 8 + uintptr(iSrc)*112 @@ -80955,7 +80974,7 @@ func Xsqlite3CreateColumnExpr(tls *libc.TLS, db uintptr, pSrc uintptr, iSrc int3 // As an optimization, since the conditional is almost always false // (because errors are rare), the conditional is moved outside of the // function call using a macro. -func notValidImpl(tls *libc.TLS, pParse uintptr, pNC uintptr, zMsg uintptr, pExpr uintptr, pError uintptr) { /* sqlite3.c:101131:13: */ +func notValidImpl(tls *libc.TLS, pParse uintptr, pNC uintptr, zMsg uintptr, pExpr uintptr, pError uintptr) { /* sqlite3.c:101144:13: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -80977,7 +80996,7 @@ func notValidImpl(tls *libc.TLS, pParse uintptr, pNC uintptr, zMsg uintptr, pExp // Expression p should encode a floating point value between 1.0 and 0.0. // Return 1024 times this value. Or return -1 if p is not a floating point // value between 1.0 and 0.0. -func exprProbability(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:101159:12: */ +func exprProbability(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:101172:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -81003,7 +81022,7 @@ func exprProbability(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:101159:12: * // This routine also does error checking and name resolution for // function names. The operator for aggregate functions is changed // to TK_AGG_FUNCTION. -func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:101180:12: */ +func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:101193:12: */ bp := tls.Alloc(96) defer tls.Free(96) @@ -81484,7 +81503,7 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* s // return 0. // // pEList has been resolved. pE has not. -func resolveAsName(tls *libc.TLS, pParse uintptr, pEList uintptr, pE uintptr) int32 { /* sqlite3.c:101638:12: */ +func resolveAsName(tls *libc.TLS, pParse uintptr, pEList uintptr, pE uintptr) int32 { /* sqlite3.c:101651:12: */ var i int32 // Loop counter _ = pParse @@ -81519,7 +81538,7 @@ func resolveAsName(tls *libc.TLS, pParse uintptr, pEList uintptr, pE uintptr) in // the column. // // If there is no match, return 0. Return -1 if an error occurs. -func resolveOrderByTermToExprList(tls *libc.TLS, pParse uintptr, pSelect uintptr, pE uintptr) int32 { /* sqlite3.c:101680:12: */ +func resolveOrderByTermToExprList(tls *libc.TLS, pParse uintptr, pSelect uintptr, pE uintptr) int32 { /* sqlite3.c:101693:12: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -81563,7 +81582,7 @@ func resolveOrderByTermToExprList(tls *libc.TLS, pParse uintptr, pSelect uintptr } // Generate an ORDER BY or GROUP BY term out-of-range error. -func resolveOutOfRangeError(tls *libc.TLS, pParse uintptr, zType uintptr, i int32, mx int32, pError uintptr) { /* sqlite3.c:101727:13: */ +func resolveOutOfRangeError(tls *libc.TLS, pParse uintptr, zType uintptr, i int32, mx int32, pError uintptr) { /* sqlite3.c:101740:13: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -81586,7 +81605,7 @@ func resolveOutOfRangeError(tls *libc.TLS, pParse uintptr, zType uintptr, i int3 // the integer column number. // // Return the number of errors seen. -func resolveCompoundOrderBy(tls *libc.TLS, pParse uintptr, pSelect uintptr) int32 { /* sqlite3.c:101755:12: */ +func resolveCompoundOrderBy(tls *libc.TLS, pParse uintptr, pSelect uintptr) int32 { /* sqlite3.c:101768:12: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -81723,7 +81742,7 @@ func resolveCompoundOrderBy(tls *libc.TLS, pParse uintptr, pSelect uintptr) int3 // // If any errors are detected, add an error message to pParse and // return non-zero. Return zero if no errors are seen. -func Xsqlite3ResolveOrderGroupBy(tls *libc.TLS, pParse uintptr, pSelect uintptr, pOrderBy uintptr, zType uintptr) int32 { /* sqlite3.c:101868:20: */ +func Xsqlite3ResolveOrderGroupBy(tls *libc.TLS, pParse uintptr, pSelect uintptr, pOrderBy uintptr, zType uintptr) int32 { /* sqlite3.c:101881:20: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -81769,7 +81788,7 @@ __3: } // Walker callback for windowRemoveExprFromSelect(). -func resolveRemoveWindowsCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:101902:12: */ +func resolveRemoveWindowsCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:101915:12: */ _ = pWalker if (*Expr)(unsafe.Pointer(pExpr)).Fflags&U32(EP_WinFunc) != U32(0) { var pWin uintptr = *(*uintptr)(unsafe.Pointer(pExpr + 64)) @@ -81780,7 +81799,7 @@ func resolveRemoveWindowsCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 // Remove any Window objects owned by the expression pExpr from the // Select.pWin list of Select object pSelect. -func windowRemoveExprFromSelect(tls *libc.TLS, pSelect uintptr, pExpr uintptr) { /* sqlite3.c:101915:13: */ +func windowRemoveExprFromSelect(tls *libc.TLS, pSelect uintptr, pExpr uintptr) { /* sqlite3.c:101928:13: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -81812,7 +81831,7 @@ func windowRemoveExprFromSelect(tls *libc.TLS, pSelect uintptr, pExpr uintptr) { // This routine returns the number of errors. If errors occur, then // an appropriate error message might be left in pParse. (OOM errors // excepted.) -func resolveOrderGroupBy(tls *libc.TLS, pNC uintptr, pSelect uintptr, pOrderBy uintptr, zType uintptr) int32 { /* sqlite3.c:101946:12: */ +func resolveOrderGroupBy(tls *libc.TLS, pNC uintptr, pSelect uintptr, pOrderBy uintptr, zType uintptr) int32 { /* sqlite3.c:101959:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -81889,7 +81908,7 @@ __3: } // Resolve names in the SELECT statement p and all of its descendants. -func resolveSelectStep(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sqlite3.c:102009:12: */ +func resolveSelectStep(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sqlite3.c:102022:12: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -82188,7 +82207,7 @@ func resolveSelectStep(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sql // // An error message is left in pParse if anything is amiss. The number // if errors is returned. -func Xsqlite3ResolveExprNames(tls *libc.TLS, pNC uintptr, pExpr uintptr) int32 { /* sqlite3.c:102297:20: */ +func Xsqlite3ResolveExprNames(tls *libc.TLS, pNC uintptr, pExpr uintptr) int32 { /* sqlite3.c:102310:20: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -82229,7 +82248,7 @@ func Xsqlite3ResolveExprNames(tls *libc.TLS, pNC uintptr, pExpr uintptr) int32 { // Resolve all names for all expression in an expression list. This is // just like sqlite3ResolveExprNames() except that it works for an expression // list rather than a single expression. -func Xsqlite3ResolveExprListNames(tls *libc.TLS, pNC uintptr, pList uintptr) int32 { /* sqlite3.c:102336:20: */ +func Xsqlite3ResolveExprListNames(tls *libc.TLS, pNC uintptr, pList uintptr) int32 { /* sqlite3.c:102349:20: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -82286,7 +82305,7 @@ func Xsqlite3ResolveExprListNames(tls *libc.TLS, pNC uintptr, pList uintptr) int // // All SELECT statements should have been expanded using // sqlite3SelectExpand() prior to invoking this routine. -func Xsqlite3ResolveSelectNames(tls *libc.TLS, pParse uintptr, p uintptr, pOuterNC uintptr) { /* sqlite3.c:102392:21: */ +func Xsqlite3ResolveSelectNames(tls *libc.TLS, pParse uintptr, p uintptr, pOuterNC uintptr) { /* sqlite3.c:102405:21: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -82320,7 +82339,7 @@ func Xsqlite3ResolveSelectNames(tls *libc.TLS, pParse uintptr, p uintptr, pOuter // set to the column number. In case (4), TK_COLUMN nodes cause an error. // // Any errors cause an error message to be set in pParse. -func Xsqlite3ResolveSelfReference(tls *libc.TLS, pParse uintptr, pTab uintptr, type1 int32, pExpr uintptr, pList uintptr) int32 { /* sqlite3.c:102426:20: */ +func Xsqlite3ResolveSelfReference(tls *libc.TLS, pParse uintptr, pTab uintptr, type1 int32, pExpr uintptr, pList uintptr) int32 { /* sqlite3.c:102439:20: */ bp := tls.Alloc(176) defer tls.Free(176) @@ -82356,7 +82375,7 @@ func Xsqlite3ResolveSelfReference(tls *libc.TLS, pParse uintptr, pTab uintptr, t } // Return the affinity character for a single column of a table. -func Xsqlite3TableColumnAffinity(tls *libc.TLS, pTab uintptr, iCol int32) uint8 { /* sqlite3.c:102486:21: */ +func Xsqlite3TableColumnAffinity(tls *libc.TLS, pTab uintptr, iCol int32) uint8 { /* sqlite3.c:102499:21: */ if iCol < 0 || iCol >= int32((*Table)(unsafe.Pointer(pTab)).FnCol) { return uint8(SQLITE_AFF_INTEGER) } @@ -82377,7 +82396,7 @@ func Xsqlite3TableColumnAffinity(tls *libc.TLS, pTab uintptr, iCol int32) uint8 // SELECT * FROM t1 WHERE a; // SELECT a AS b FROM t1 WHERE b; // SELECT * FROM t1 WHERE (select a from t1); -func Xsqlite3ExprAffinity(tls *libc.TLS, pExpr uintptr) uint8 { /* sqlite3.c:102507:21: */ +func Xsqlite3ExprAffinity(tls *libc.TLS, pExpr uintptr) uint8 { /* sqlite3.c:102520:21: */ var op int32 for (*Expr)(unsafe.Pointer(pExpr)).Fflags&U32(EP_Skip|EP_IfNullRow) != U32(0) { @@ -82420,7 +82439,7 @@ func Xsqlite3ExprAffinity(tls *libc.TLS, pExpr uintptr) uint8 { /* sqlite3.c:102 // // If a memory allocation error occurs, that fact is recorded in pParse->db // and the pExpr parameter is returned unchanged. -func Xsqlite3ExprAddCollateToken(tls *libc.TLS, pParse uintptr, pExpr uintptr, pCollName uintptr, dequote int32) uintptr { /* sqlite3.c:102560:21: */ +func Xsqlite3ExprAddCollateToken(tls *libc.TLS, pParse uintptr, pExpr uintptr, pCollName uintptr, dequote int32) uintptr { /* sqlite3.c:102573:21: */ if (*Token)(unsafe.Pointer(pCollName)).Fn > uint32(0) { var pNew uintptr = Xsqlite3ExprAlloc(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, TK_COLLATE, pCollName, dequote) if pNew != 0 { @@ -82432,7 +82451,7 @@ func Xsqlite3ExprAddCollateToken(tls *libc.TLS, pParse uintptr, pExpr uintptr, p return pExpr } -func Xsqlite3ExprAddCollateString(tls *libc.TLS, pParse uintptr, pExpr uintptr, zC uintptr) uintptr { /* sqlite3.c:102576:21: */ +func Xsqlite3ExprAddCollateString(tls *libc.TLS, pParse uintptr, pExpr uintptr, zC uintptr) uintptr { /* sqlite3.c:102589:21: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -82443,7 +82462,7 @@ func Xsqlite3ExprAddCollateString(tls *libc.TLS, pParse uintptr, pExpr uintptr, } // Skip over any TK_COLLATE operators. -func Xsqlite3ExprSkipCollate(tls *libc.TLS, pExpr uintptr) uintptr { /* sqlite3.c:102590:21: */ +func Xsqlite3ExprSkipCollate(tls *libc.TLS, pExpr uintptr) uintptr { /* sqlite3.c:102603:21: */ for pExpr != 0 && (*Expr)(unsafe.Pointer(pExpr)).Fflags&U32(EP_Skip) != U32(0) { pExpr = (*Expr)(unsafe.Pointer(pExpr)).FpLeft @@ -82454,7 +82473,7 @@ func Xsqlite3ExprSkipCollate(tls *libc.TLS, pExpr uintptr) uintptr { /* sqlite3. // Skip over any TK_COLLATE operators and/or any unlikely() // or likelihood() or likely() functions at the root of an // expression. -func Xsqlite3ExprSkipCollateAndLikely(tls *libc.TLS, pExpr uintptr) uintptr { /* sqlite3.c:102603:21: */ +func Xsqlite3ExprSkipCollateAndLikely(tls *libc.TLS, pExpr uintptr) uintptr { /* sqlite3.c:102616:21: */ for pExpr != 0 && (*Expr)(unsafe.Pointer(pExpr)).Fflags&U32(EP_Skip|EP_Unlikely) != U32(0) { if (*Expr)(unsafe.Pointer(pExpr)).Fflags&U32(EP_Unlikely) != U32(0) { @@ -82479,7 +82498,7 @@ func Xsqlite3ExprSkipCollateAndLikely(tls *libc.TLS, pExpr uintptr) uintptr { /* // or by the presence of a column with a defined collating sequence. // COLLATE operators take first precedence. Left operands take // precedence over right operands. -func Xsqlite3ExprCollSeq(tls *libc.TLS, pParse uintptr, pExpr uintptr) uintptr { /* sqlite3.c:102632:24: */ +func Xsqlite3ExprCollSeq(tls *libc.TLS, pParse uintptr, pExpr uintptr) uintptr { /* sqlite3.c:102645:24: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb var pColl uintptr = uintptr(0) var p uintptr = pExpr @@ -82551,7 +82570,7 @@ func Xsqlite3ExprCollSeq(tls *libc.TLS, pParse uintptr, pExpr uintptr) uintptr { // // The sqlite3ExprCollSeq() routine works the same except that it // returns NULL if there is no defined collation. -func Xsqlite3ExprNNCollSeq(tls *libc.TLS, pParse uintptr, pExpr uintptr) uintptr { /* sqlite3.c:102705:24: */ +func Xsqlite3ExprNNCollSeq(tls *libc.TLS, pParse uintptr, pExpr uintptr) uintptr { /* sqlite3.c:102718:24: */ var p uintptr = Xsqlite3ExprCollSeq(tls, pParse, pExpr) if p == uintptr(0) { p = (*Sqlite3)(unsafe.Pointer((*Parse)(unsafe.Pointer(pParse)).Fdb)).FpDfltColl @@ -82561,7 +82580,7 @@ func Xsqlite3ExprNNCollSeq(tls *libc.TLS, pParse uintptr, pExpr uintptr) uintptr } // Return TRUE if the two expressions have equivalent collating sequences. -func Xsqlite3ExprCollSeqMatch(tls *libc.TLS, pParse uintptr, pE1 uintptr, pE2 uintptr) int32 { /* sqlite3.c:102715:20: */ +func Xsqlite3ExprCollSeqMatch(tls *libc.TLS, pParse uintptr, pE1 uintptr, pE2 uintptr) int32 { /* sqlite3.c:102728:20: */ var pColl1 uintptr = Xsqlite3ExprNNCollSeq(tls, pParse, pE1) var pColl2 uintptr = Xsqlite3ExprNNCollSeq(tls, pParse, pE2) return libc.Bool32(Xsqlite3StrICmp(tls, (*CollSeq)(unsafe.Pointer(pColl1)).FzName, (*CollSeq)(unsafe.Pointer(pColl2)).FzName) == 0) @@ -82570,7 +82589,7 @@ func Xsqlite3ExprCollSeqMatch(tls *libc.TLS, pParse uintptr, pE1 uintptr, pE2 ui // pExpr is an operand of a comparison operator. aff2 is the // type affinity of the other operand. This routine returns the // type affinity that should be used for the comparison operator. -func Xsqlite3CompareAffinity(tls *libc.TLS, pExpr uintptr, aff2 uint8) uint8 { /* sqlite3.c:102726:21: */ +func Xsqlite3CompareAffinity(tls *libc.TLS, pExpr uintptr, aff2 uint8) uint8 { /* sqlite3.c:102739:21: */ var aff1 uint8 = Xsqlite3ExprAffinity(tls, pExpr) if int32(aff1) > SQLITE_AFF_NONE && int32(aff2) > SQLITE_AFF_NONE { // Both sides of the comparison are columns. If one has numeric @@ -82595,7 +82614,7 @@ func Xsqlite3CompareAffinity(tls *libc.TLS, pExpr uintptr, aff2 uint8) uint8 { / // pExpr is a comparison operator. Return the type affinity that should // be applied to both operands prior to doing the comparison. -func comparisonAffinity(tls *libc.TLS, pExpr uintptr) uint8 { /* sqlite3.c:102748:13: */ +func comparisonAffinity(tls *libc.TLS, pExpr uintptr) uint8 { /* sqlite3.c:102761:13: */ var aff uint8 aff = Xsqlite3ExprAffinity(tls, (*Expr)(unsafe.Pointer(pExpr)).FpLeft) @@ -82613,7 +82632,7 @@ func comparisonAffinity(tls *libc.TLS, pExpr uintptr) uint8 { /* sqlite3.c:10274 // idx_affinity is the affinity of an indexed column. Return true // if the index with affinity idx_affinity may be used to implement // the comparison in pExpr. -func Xsqlite3IndexAffinityOk(tls *libc.TLS, pExpr uintptr, idx_affinity uint8) int32 { /* sqlite3.c:102771:20: */ +func Xsqlite3IndexAffinityOk(tls *libc.TLS, pExpr uintptr, idx_affinity uint8) int32 { /* sqlite3.c:102784:20: */ var aff uint8 = comparisonAffinity(tls, pExpr) if int32(aff) < SQLITE_AFF_TEXT { return 1 @@ -82626,7 +82645,7 @@ func Xsqlite3IndexAffinityOk(tls *libc.TLS, pExpr uintptr, idx_affinity uint8) i // Return the P5 value that should be used for a binary comparison // opcode (OP_Eq, OP_Ge etc.) used to compare pExpr1 and pExpr2. -func binaryCompareP5(tls *libc.TLS, pExpr1 uintptr, pExpr2 uintptr, jumpIfNull int32) U8 { /* sqlite3.c:102786:11: */ +func binaryCompareP5(tls *libc.TLS, pExpr1 uintptr, pExpr2 uintptr, jumpIfNull int32) U8 { /* sqlite3.c:102799:11: */ var aff U8 = U8(Xsqlite3ExprAffinity(tls, pExpr2)) aff = U8(int32(U8(Xsqlite3CompareAffinity(tls, pExpr1, uint8(aff)))) | int32(U8(jumpIfNull))) return aff @@ -82642,7 +82661,7 @@ func binaryCompareP5(tls *libc.TLS, pExpr1 uintptr, pExpr2 uintptr, jumpIfNull i // // Argument pRight (but not pLeft) may be a null pointer. In this case, // it is not considered. -func Xsqlite3BinaryCompareCollSeq(tls *libc.TLS, pParse uintptr, pLeft uintptr, pRight uintptr) uintptr { /* sqlite3.c:102808:24: */ +func Xsqlite3BinaryCompareCollSeq(tls *libc.TLS, pParse uintptr, pLeft uintptr, pRight uintptr) uintptr { /* sqlite3.c:102821:24: */ var pColl uintptr if (*Expr)(unsafe.Pointer(pLeft)).Fflags&U32(EP_Collate) != 0 { @@ -82665,7 +82684,7 @@ func Xsqlite3BinaryCompareCollSeq(tls *libc.TLS, pParse uintptr, pLeft uintptr, // However, if the OP_Commuted flag is set, then the order of the operands // is reversed in the sqlite3BinaryCompareCollSeq() call so that the // correct collating sequence is found. -func Xsqlite3ExprCompareCollSeq(tls *libc.TLS, pParse uintptr, p uintptr) uintptr { /* sqlite3.c:102836:24: */ +func Xsqlite3ExprCompareCollSeq(tls *libc.TLS, pParse uintptr, p uintptr) uintptr { /* sqlite3.c:102849:24: */ if (*Expr)(unsafe.Pointer(p)).Fflags&U32(EP_Commuted) != U32(0) { return Xsqlite3BinaryCompareCollSeq(tls, pParse, (*Expr)(unsafe.Pointer(p)).FpRight, (*Expr)(unsafe.Pointer(p)).FpLeft) } else { @@ -82675,7 +82694,7 @@ func Xsqlite3ExprCompareCollSeq(tls *libc.TLS, pParse uintptr, p uintptr) uintpt } // Generate code for a comparison operator. -func codeCompare(tls *libc.TLS, pParse uintptr, pLeft uintptr, pRight uintptr, opcode int32, in1 int32, in2 int32, dest int32, jumpIfNull int32, isCommuted int32) int32 { /* sqlite3.c:102847:12: */ +func codeCompare(tls *libc.TLS, pParse uintptr, pLeft uintptr, pRight uintptr, opcode int32, in1 int32, in2 int32, dest int32, jumpIfNull int32, isCommuted int32) int32 { /* sqlite3.c:102860:12: */ var p5 int32 var addr int32 var p4 uintptr @@ -82702,7 +82721,7 @@ func codeCompare(tls *libc.TLS, pParse uintptr, pLeft uintptr, pRight uintptr, o // parser will not generate a TK_VECTOR with fewer than two entries. // But a TK_SELECT might be either a vector or a scalar. It is only // considered a vector if it has two or more result columns. -func Xsqlite3ExprIsVector(tls *libc.TLS, pExpr uintptr) int32 { /* sqlite3.c:102883:20: */ +func Xsqlite3ExprIsVector(tls *libc.TLS, pExpr uintptr) int32 { /* sqlite3.c:102896:20: */ return libc.Bool32(Xsqlite3ExprVectorSize(tls, pExpr) > 1) } @@ -82710,7 +82729,7 @@ func Xsqlite3ExprIsVector(tls *libc.TLS, pExpr uintptr) int32 { /* sqlite3.c:102 // return the number of expressions in the vector. Or, if the expression // is a sub-select, return the number of columns in the sub-select. For // any other type of expression, return 1. -func Xsqlite3ExprVectorSize(tls *libc.TLS, pExpr uintptr) int32 { /* sqlite3.c:102893:20: */ +func Xsqlite3ExprVectorSize(tls *libc.TLS, pExpr uintptr) int32 { /* sqlite3.c:102906:20: */ var op U8 = (*Expr)(unsafe.Pointer(pExpr)).Fop if int32(op) == TK_REGISTER { op = (*Expr)(unsafe.Pointer(pExpr)).Fop2 @@ -82740,7 +82759,7 @@ func Xsqlite3ExprVectorSize(tls *libc.TLS, pExpr uintptr) int32 { /* sqlite3.c:1 // just the expression for the i-th term of the result set, and may // not be ready for evaluation because the table cursor has not yet // been positioned. -func Xsqlite3VectorFieldSubexpr(tls *libc.TLS, pVector uintptr, i int32) uintptr { /* sqlite3.c:102922:21: */ +func Xsqlite3VectorFieldSubexpr(tls *libc.TLS, pVector uintptr, i int32) uintptr { /* sqlite3.c:102935:21: */ if Xsqlite3ExprIsVector(tls, pVector) != 0 { @@ -82774,7 +82793,7 @@ func Xsqlite3VectorFieldSubexpr(tls *libc.TLS, pVector uintptr, i int32) uintptr // A trick to cause a TK_SELECT pVector to be deleted together with // the returned Expr object is to attach the pVector to the pRight field // of the returned TK_SELECT_COLUMN Expr object. -func Xsqlite3ExprForVectorField(tls *libc.TLS, pParse uintptr, pVector uintptr, iField int32, nField int32) uintptr { /* sqlite3.c:102958:21: */ +func Xsqlite3ExprForVectorField(tls *libc.TLS, pParse uintptr, pVector uintptr, iField int32, nField int32) uintptr { /* sqlite3.c:102971:21: */ var pRet uintptr if int32((*Expr)(unsafe.Pointer(pVector)).Fop) == TK_SELECT { @@ -82822,7 +82841,7 @@ func Xsqlite3ExprForVectorField(tls *libc.TLS, pParse uintptr, pVector uintptr, // of registers in which the result is stored). // // If pExpr is not a TK_SELECT expression, return 0. -func exprCodeSubselect(tls *libc.TLS, pParse uintptr, pExpr uintptr) int32 { /* sqlite3.c:103014:12: */ +func exprCodeSubselect(tls *libc.TLS, pParse uintptr, pExpr uintptr) int32 { /* sqlite3.c:103027:12: */ var reg int32 = 0 if int32((*Expr)(unsafe.Pointer(pExpr)).Fop) == TK_SELECT { reg = Xsqlite3CodeSubselect(tls, pParse, pExpr) @@ -82846,7 +82865,7 @@ func exprCodeSubselect(tls *libc.TLS, pParse uintptr, pExpr uintptr) int32 { /* // // Before returning, output parameter (*ppExpr) is set to point to the // Expr object corresponding to element iElem of the vector. -func exprVectorRegister(tls *libc.TLS, pParse uintptr, pVector uintptr, iField int32, regSelect int32, ppExpr uintptr, pRegFree uintptr) int32 { /* sqlite3.c:103042:12: */ +func exprVectorRegister(tls *libc.TLS, pParse uintptr, pVector uintptr, iField int32, regSelect int32, ppExpr uintptr, pRegFree uintptr) int32 { /* sqlite3.c:103055:12: */ var op U8 = (*Expr)(unsafe.Pointer(pVector)).Fop if int32(op) == TK_REGISTER { @@ -82875,7 +82894,7 @@ func exprVectorRegister(tls *libc.TLS, pParse uintptr, pVector uintptr, iField i // if pExpr->op==TK_IS: op==TK_EQ and p5==SQLITE_NULLEQ // if pExpr->op==TK_ISNOT: op==TK_NE and p5==SQLITE_NULLEQ // otherwise: op==pExpr->op and p5==0 -func codeVectorCompare(tls *libc.TLS, pParse uintptr, pExpr uintptr, dest int32, op U8, p5 U8) { /* sqlite3.c:103080:13: */ +func codeVectorCompare(tls *libc.TLS, pParse uintptr, pExpr uintptr, dest int32, op U8, p5 U8) { /* sqlite3.c:103093:13: */ bp := tls.Alloc(28) defer tls.Free(28) @@ -82963,7 +82982,7 @@ func codeVectorCompare(tls *libc.TLS, pParse uintptr, pExpr uintptr, dest int32, // Check that argument nHeight is less than or equal to the maximum // expression depth allowed. If it is not, leave an error message in // pParse. -func Xsqlite3ExprCheckHeight(tls *libc.TLS, pParse uintptr, nHeight int32) int32 { /* sqlite3.c:103175:20: */ +func Xsqlite3ExprCheckHeight(tls *libc.TLS, pParse uintptr, nHeight int32) int32 { /* sqlite3.c:103188:20: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -82985,7 +83004,7 @@ func Xsqlite3ExprCheckHeight(tls *libc.TLS, pParse uintptr, nHeight int32) int32 // If this maximum height is greater than the current value pointed // to by pnHeight, the second parameter, then set *pnHeight to that // value. -func heightOfExpr(tls *libc.TLS, p uintptr, pnHeight uintptr) { /* sqlite3.c:103196:13: */ +func heightOfExpr(tls *libc.TLS, p uintptr, pnHeight uintptr) { /* sqlite3.c:103209:13: */ if p != 0 { if (*Expr)(unsafe.Pointer(p)).FnHeight > *(*int32)(unsafe.Pointer(pnHeight)) { *(*int32)(unsafe.Pointer(pnHeight)) = (*Expr)(unsafe.Pointer(p)).FnHeight @@ -82993,7 +83012,7 @@ func heightOfExpr(tls *libc.TLS, p uintptr, pnHeight uintptr) { /* sqlite3.c:103 } } -func heightOfExprList(tls *libc.TLS, p uintptr, pnHeight uintptr) { /* sqlite3.c:103203:13: */ +func heightOfExprList(tls *libc.TLS, p uintptr, pnHeight uintptr) { /* sqlite3.c:103216:13: */ if p != 0 { var i int32 for i = 0; i < (*ExprList)(unsafe.Pointer(p)).FnExpr; i++ { @@ -83002,7 +83021,7 @@ func heightOfExprList(tls *libc.TLS, p uintptr, pnHeight uintptr) { /* sqlite3.c } } -func heightOfSelect(tls *libc.TLS, pSelect uintptr, pnHeight uintptr) { /* sqlite3.c:103211:13: */ +func heightOfSelect(tls *libc.TLS, pSelect uintptr, pnHeight uintptr) { /* sqlite3.c:103224:13: */ var p uintptr for p = pSelect; p != 0; p = (*Select)(unsafe.Pointer(p)).FpPrior { heightOfExpr(tls, (*Select)(unsafe.Pointer(p)).FpWhere, pnHeight) @@ -83022,7 +83041,7 @@ func heightOfSelect(tls *libc.TLS, pSelect uintptr, pnHeight uintptr) { /* sqlit // // Also propagate EP_Propagate flags up from Expr.x.pList to Expr.flags, // if appropriate. -func exprSetHeight(tls *libc.TLS, p uintptr) { /* sqlite3.c:103233:13: */ +func exprSetHeight(tls *libc.TLS, p uintptr) { /* sqlite3.c:103246:13: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -83049,7 +83068,7 @@ func exprSetHeight(tls *libc.TLS, p uintptr) { /* sqlite3.c:103233:13: */ // // Also propagate all EP_Propagate flags from the Expr.x.pList into // Expr.flags. -func Xsqlite3ExprSetHeightAndFlags(tls *libc.TLS, pParse uintptr, p uintptr) { /* sqlite3.c:103253:21: */ +func Xsqlite3ExprSetHeightAndFlags(tls *libc.TLS, pParse uintptr, p uintptr) { /* sqlite3.c:103266:21: */ if (*Parse)(unsafe.Pointer(pParse)).FnErr != 0 { return } @@ -83059,7 +83078,7 @@ func Xsqlite3ExprSetHeightAndFlags(tls *libc.TLS, pParse uintptr, p uintptr) { / // Return the maximum height of any expression tree referenced // by the select statement passed as an argument. -func Xsqlite3SelectExprHeight(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:103263:20: */ +func Xsqlite3SelectExprHeight(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:103276:20: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -83086,7 +83105,7 @@ func Xsqlite3SelectExprHeight(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:103 // stored in u.zToken. Instead, the integer values is written // into u.iValue and the EP_IntValue flag is set. No extra storage // is allocated to hold the integer text and the dequote flag is ignored. -func Xsqlite3ExprAlloc(tls *libc.TLS, db uintptr, op int32, pToken uintptr, dequote int32) uintptr { /* sqlite3.c:103302:21: */ +func Xsqlite3ExprAlloc(tls *libc.TLS, db uintptr, op int32, pToken uintptr, dequote int32) uintptr { /* sqlite3.c:103315:21: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -83134,7 +83153,7 @@ func Xsqlite3ExprAlloc(tls *libc.TLS, db uintptr, op int32, pToken uintptr, dequ // Allocate a new expression node from a zero-terminated token that has // already been dequoted. -func Xsqlite3Expr(tls *libc.TLS, db uintptr, op int32, zToken uintptr) uintptr { /* sqlite3.c:103350:21: */ +func Xsqlite3Expr(tls *libc.TLS, db uintptr, op int32, zToken uintptr) uintptr { /* sqlite3.c:103363:21: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -83149,7 +83168,7 @@ func Xsqlite3Expr(tls *libc.TLS, db uintptr, op int32, zToken uintptr) uintptr { // // If pRoot==NULL that means that a memory allocation error has occurred. // In that case, delete the subtrees pLeft and pRight. -func Xsqlite3ExprAttachSubtrees(tls *libc.TLS, db uintptr, pRoot uintptr, pLeft uintptr, pRight uintptr) { /* sqlite3.c:103367:21: */ +func Xsqlite3ExprAttachSubtrees(tls *libc.TLS, db uintptr, pRoot uintptr, pLeft uintptr, pRight uintptr) { /* sqlite3.c:103380:21: */ if pRoot == uintptr(0) { Xsqlite3ExprDelete(tls, db, pLeft) @@ -83172,7 +83191,7 @@ func Xsqlite3ExprAttachSubtrees(tls *libc.TLS, db uintptr, pRoot uintptr, pLeft // One or both of the subtrees can be NULL. Return a pointer to the new // Expr node. Or, if an OOM error occurs, set pParse->db->mallocFailed, // free the subtrees and return NULL. -func Xsqlite3PExpr(tls *libc.TLS, pParse uintptr, op int32, pLeft uintptr, pRight uintptr) uintptr { /* sqlite3.c:103397:21: */ +func Xsqlite3PExpr(tls *libc.TLS, pParse uintptr, op int32, pLeft uintptr, pRight uintptr) uintptr { /* sqlite3.c:103410:21: */ var p uintptr p = Xsqlite3DbMallocRawNN(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, uint64(unsafe.Sizeof(Expr{}))) if p != 0 { @@ -83190,7 +83209,7 @@ func Xsqlite3PExpr(tls *libc.TLS, pParse uintptr, op int32, pLeft uintptr, pRigh // Add pSelect to the Expr.x.pSelect field. Or, if pExpr is NULL (due // do a memory allocation failure) then delete the pSelect object. -func Xsqlite3PExprAddSelect(tls *libc.TLS, pParse uintptr, pExpr uintptr, pSelect uintptr) { /* sqlite3.c:103422:21: */ +func Xsqlite3PExprAddSelect(tls *libc.TLS, pParse uintptr, pExpr uintptr, pSelect uintptr) { /* sqlite3.c:103435:21: */ if pExpr != 0 { *(*uintptr)(unsafe.Pointer(pExpr + 32)) = pSelect *(*U32)(unsafe.Pointer(pExpr + 4)) |= U32(EP_xIsSelect | EP_Subquery) @@ -83218,7 +83237,7 @@ func Xsqlite3PExprAddSelect(tls *libc.TLS, pParse uintptr, pExpr uintptr, pSelec // // This is used as part of processing IN(...) expressions with a list // of vectors on the RHS. e.g. "... IN ((1,2), (3,4), (5,6))". -func Xsqlite3ExprListToValues(tls *libc.TLS, pParse uintptr, nElem int32, pEList uintptr) uintptr { /* sqlite3.c:103452:23: */ +func Xsqlite3ExprListToValues(tls *libc.TLS, pParse uintptr, nElem int32, pEList uintptr) uintptr { /* sqlite3.c:103465:23: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -83270,7 +83289,7 @@ func Xsqlite3ExprListToValues(tls *libc.TLS, pParse uintptr, nElem int32, pEList // If one side or the other of the AND is known to be false, then instead // of returning an AND expression, just return a constant expression with // a value of false. -func Xsqlite3ExprAnd(tls *libc.TLS, pParse uintptr, pLeft uintptr, pRight uintptr) uintptr { /* sqlite3.c:103499:21: */ +func Xsqlite3ExprAnd(tls *libc.TLS, pParse uintptr, pLeft uintptr, pRight uintptr) uintptr { /* sqlite3.c:103512:21: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb if pLeft == uintptr(0) { return pRight @@ -83289,7 +83308,7 @@ func Xsqlite3ExprAnd(tls *libc.TLS, pParse uintptr, pLeft uintptr, pRight uintpt // Construct a new expression node for a function with multiple // arguments. -func Xsqlite3ExprFunction(tls *libc.TLS, pParse uintptr, pList uintptr, pToken uintptr, eDistinct int32) uintptr { /* sqlite3.c:103520:21: */ +func Xsqlite3ExprFunction(tls *libc.TLS, pParse uintptr, pList uintptr, pToken uintptr, eDistinct int32) uintptr { /* sqlite3.c:103533:21: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -83326,7 +83345,7 @@ func Xsqlite3ExprFunction(tls *libc.TLS, pParse uintptr, pList uintptr, pToken u // top-level SQL // // If the function is not usable, create an error. -func Xsqlite3ExprFunctionUsable(tls *libc.TLS, pParse uintptr, pExpr uintptr, pDef uintptr) { /* sqlite3.c:103560:21: */ +func Xsqlite3ExprFunctionUsable(tls *libc.TLS, pParse uintptr, pExpr uintptr, pDef uintptr) { /* sqlite3.c:103573:21: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -83358,7 +83377,7 @@ func Xsqlite3ExprFunctionUsable(tls *libc.TLS, pParse uintptr, pExpr uintptr, pD // as the previous instance of the same wildcard. Or if this is the first // instance of the wildcard, the next sequential variable number is // assigned. -func Xsqlite3ExprAssignVarNumber(tls *libc.TLS, pParse uintptr, pExpr uintptr, n U32) { /* sqlite3.c:103599:21: */ +func Xsqlite3ExprAssignVarNumber(tls *libc.TLS, pParse uintptr, pExpr uintptr, n U32) { /* sqlite3.c:103612:21: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -83426,7 +83445,7 @@ func Xsqlite3ExprAssignVarNumber(tls *libc.TLS, pParse uintptr, pExpr uintptr, n } // Recursively delete an expression tree. -func sqlite3ExprDeleteNN(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:103669:29: */ +func sqlite3ExprDeleteNN(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:103682:29: */ if !((*Expr)(unsafe.Pointer(p)).Fflags&U32(EP_TokenOnly|EP_Leaf) != U32(0)) { // The Expr.x union is never used at the same time as Expr.pRight @@ -83456,7 +83475,7 @@ func sqlite3ExprDeleteNN(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:10 } } -func Xsqlite3ExprDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:103710:21: */ +func Xsqlite3ExprDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:103723:21: */ if p != 0 { sqlite3ExprDeleteNN(tls, db, p) } @@ -83470,13 +83489,13 @@ func Xsqlite3ExprDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:103 // // The deferred delete is (currently) implemented by adding the // pExpr to the pParse->pConstExpr list with a register number of 0. -func Xsqlite3ExprDeferredDelete(tls *libc.TLS, pParse uintptr, pExpr uintptr) { /* sqlite3.c:103725:21: */ +func Xsqlite3ExprDeferredDelete(tls *libc.TLS, pParse uintptr, pExpr uintptr) { /* sqlite3.c:103738:21: */ (*Parse)(unsafe.Pointer(pParse)).FpConstExpr = Xsqlite3ExprListAppend(tls, pParse, (*Parse)(unsafe.Pointer(pParse)).FpConstExpr, pExpr) } // Invoke sqlite3RenameExprUnmap() and sqlite3ExprDelete() on the // expression. -func Xsqlite3ExprUnmapAndDelete(tls *libc.TLS, pParse uintptr, p uintptr) { /* sqlite3.c:103733:21: */ +func Xsqlite3ExprUnmapAndDelete(tls *libc.TLS, pParse uintptr, p uintptr) { /* sqlite3.c:103746:21: */ if p != 0 { if int32((*Parse)(unsafe.Pointer(pParse)).FeParseMode) >= PARSE_MODE_RENAME { Xsqlite3RenameExprUnmap(tls, pParse, p) @@ -83488,7 +83507,7 @@ func Xsqlite3ExprUnmapAndDelete(tls *libc.TLS, pParse uintptr, p uintptr) { /* s // Return the number of bytes allocated for the expression structure // passed as the first argument. This is always one of EXPR_FULLSIZE, // EXPR_REDUCEDSIZE or EXPR_TOKENONLYSIZE. -func exprStructSize(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:103747:12: */ +func exprStructSize(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:103760:12: */ if (*Expr)(unsafe.Pointer(p)).Fflags&U32(EP_TokenOnly) != U32(0) { return int32(uintptr(0) + 16) } @@ -83530,7 +83549,7 @@ func exprStructSize(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:103747:12: */ // to reduce a pristine expression tree from the parser. The implementation // of dupedExprStructSize() contain multiple assert() statements that attempt // to enforce this constraint. -func dupedExprStructSize(tls *libc.TLS, p uintptr, flags int32) int32 { /* sqlite3.c:103787:12: */ +func dupedExprStructSize(tls *libc.TLS, p uintptr, flags int32) int32 { /* sqlite3.c:103800:12: */ var nSize int32 // Only one flag value allowed @@ -83552,7 +83571,7 @@ func dupedExprStructSize(tls *libc.TLS, p uintptr, flags int32) int32 { /* sqlit // This function returns the space in bytes required to store the copy // of the Expr structure and a copy of the Expr.u.zToken string (if that // string is defined.) -func dupedExprNodeSize(tls *libc.TLS, p uintptr, flags int32) int32 { /* sqlite3.c:103818:12: */ +func dupedExprNodeSize(tls *libc.TLS, p uintptr, flags int32) int32 { /* sqlite3.c:103831:12: */ var nByte int32 = dupedExprStructSize(tls, p, flags) & 0xfff if !((*Expr)(unsafe.Pointer(p)).Fflags&U32(EP_IntValue) != U32(0)) && *(*uintptr)(unsafe.Pointer(p + 8)) != 0 { nByte = int32(Size_t(nByte) + (libc.Xstrlen(tls, *(*uintptr)(unsafe.Pointer(p + 8)))&uint64(0x3fffffff) + uint64(1))) @@ -83571,7 +83590,7 @@ func dupedExprNodeSize(tls *libc.TLS, p uintptr, flags int32) int32 { /* sqlite3 // space to duplicate all Expr nodes in the tree formed by Expr.pLeft // and Expr.pRight variables (but not for any structures pointed to or // descended from the Expr.x.pList or Expr.x.pSelect variables). -func dupedExprSize(tls *libc.TLS, p uintptr, flags int32) int32 { /* sqlite3.c:103839:12: */ +func dupedExprSize(tls *libc.TLS, p uintptr, flags int32) int32 { /* sqlite3.c:103852:12: */ var nByte int32 = 0 if p != 0 { nByte = dupedExprNodeSize(tls, p, flags) @@ -83588,7 +83607,7 @@ func dupedExprSize(tls *libc.TLS, p uintptr, flags int32) int32 { /* sqlite3.c:1 // (if applicable), and the copies of the p->pLeft and p->pRight expressions, // if any. Before returning, *pzBuffer is set to the first byte past the // portion of the buffer copied into by this function. -func exprDup(tls *libc.TLS, db uintptr, p uintptr, dupFlags int32, pzBuffer uintptr) uintptr { /* sqlite3.c:103858:13: */ +func exprDup(tls *libc.TLS, db uintptr, p uintptr, dupFlags int32, pzBuffer uintptr) uintptr { /* sqlite3.c:103871:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -83698,7 +83717,7 @@ func exprDup(tls *libc.TLS, db uintptr, p uintptr, dupFlags int32, pzBuffer uint // Create and return a deep copy of the object passed as the second // argument. If an OOM condition is encountered, NULL is returned // and the db->mallocFailed flag set. -func Xsqlite3WithDup(tls *libc.TLS, db uintptr, p uintptr) uintptr { /* sqlite3.c:103968:21: */ +func Xsqlite3WithDup(tls *libc.TLS, db uintptr, p uintptr) uintptr { /* sqlite3.c:103981:21: */ var pRet uintptr = uintptr(0) if p != 0 { var nByte Sqlite3_int64 = Sqlite3_int64(uint64(unsafe.Sizeof(With{})) + uint64(unsafe.Sizeof(Cte{}))*uint64((*With)(unsafe.Pointer(p)).FnCte-1)) @@ -83720,7 +83739,7 @@ func Xsqlite3WithDup(tls *libc.TLS, db uintptr, p uintptr) uintptr { /* sqlite3. // gatherSelectWindowsCallback() are used to scan all the expressions // an a newly duplicated SELECT statement and gather all of the Window // objects found there, assembling them onto the linked list at Select->pWin. -func gatherSelectWindowsCallback(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:103996:12: */ +func gatherSelectWindowsCallback(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:104009:12: */ if int32((*Expr)(unsafe.Pointer(pExpr)).Fop) == TK_FUNCTION && (*Expr)(unsafe.Pointer(pExpr)).Fflags&U32(EP_WinFunc) != U32(0) { var pSelect uintptr = *(*uintptr)(unsafe.Pointer(pWalker + 40)) var pWin uintptr = *(*uintptr)(unsafe.Pointer(pExpr + 64)) @@ -83730,14 +83749,14 @@ func gatherSelectWindowsCallback(tls *libc.TLS, pWalker uintptr, pExpr uintptr) return WRC_Continue } -func gatherSelectWindowsSelectCallback(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sqlite3.c:104007:12: */ +func gatherSelectWindowsSelectCallback(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sqlite3.c:104020:12: */ if p == *(*uintptr)(unsafe.Pointer(pWalker + 40)) { return WRC_Continue } return WRC_Prune } -func gatherSelectWindows(tls *libc.TLS, p uintptr) { /* sqlite3.c:104010:13: */ +func gatherSelectWindows(tls *libc.TLS, p uintptr) { /* sqlite3.c:104023:13: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -83770,7 +83789,7 @@ func gatherSelectWindows(tls *libc.TLS, p uintptr) { /* sqlite3.c:104010:13: */ // If the EXPRDUP_REDUCE flag is set, then the structure returned is a // truncated version of the usual Expr structure that will be stored as // part of the in-memory representation of the database schema. -func Xsqlite3ExprDup(tls *libc.TLS, db uintptr, p uintptr, flags int32) uintptr { /* sqlite3.c:104039:21: */ +func Xsqlite3ExprDup(tls *libc.TLS, db uintptr, p uintptr, flags int32) uintptr { /* sqlite3.c:104052:21: */ if p != 0 { return exprDup(tls, db, p, flags, uintptr(0)) @@ -83778,7 +83797,7 @@ func Xsqlite3ExprDup(tls *libc.TLS, db uintptr, p uintptr, flags int32) uintptr return uintptr(0) } -func Xsqlite3ExprListDup(tls *libc.TLS, db uintptr, p uintptr, flags int32) uintptr { /* sqlite3.c:104043:25: */ +func Xsqlite3ExprListDup(tls *libc.TLS, db uintptr, p uintptr, flags int32) uintptr { /* sqlite3.c:104056:25: */ var pNew uintptr var pItem uintptr var pOldItem uintptr @@ -83847,7 +83866,7 @@ __3: // the build, then none of the following routines, except for // sqlite3SelectDup(), can be called. sqlite3SelectDup() is sometimes // called with a NULL argument. -func Xsqlite3SrcListDup(tls *libc.TLS, db uintptr, p uintptr, flags int32) uintptr { /* sqlite3.c:104098:24: */ +func Xsqlite3SrcListDup(tls *libc.TLS, db uintptr, p uintptr, flags int32) uintptr { /* sqlite3.c:104111:24: */ var pNew uintptr var i int32 var nByte int32 @@ -83900,7 +83919,7 @@ func Xsqlite3SrcListDup(tls *libc.TLS, db uintptr, p uintptr, flags int32) uintp return pNew } -func Xsqlite3IdListDup(tls *libc.TLS, db uintptr, p uintptr) uintptr { /* sqlite3.c:104142:23: */ +func Xsqlite3IdListDup(tls *libc.TLS, db uintptr, p uintptr) uintptr { /* sqlite3.c:104155:23: */ var pNew uintptr var i int32 @@ -83929,7 +83948,7 @@ func Xsqlite3IdListDup(tls *libc.TLS, db uintptr, p uintptr) uintptr { /* sqlite return pNew } -func Xsqlite3SelectDup(tls *libc.TLS, db uintptr, pDup uintptr, flags int32) uintptr { /* sqlite3.c:104166:23: */ +func Xsqlite3SelectDup(tls *libc.TLS, db uintptr, pDup uintptr, flags int32) uintptr { /* sqlite3.c:104179:23: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -83995,9 +84014,9 @@ func Xsqlite3SelectDup(tls *libc.TLS, db uintptr, pDup uintptr, flags int32) uin // If a memory allocation error occurs, the entire list is freed and // NULL is returned. If non-NULL is returned, then it is guaranteed // that the new entry was successfully appended. -var zeroItem = ExprList_item{} /* sqlite3.c:104237:35 */ +var zeroItem = ExprList_item{} /* sqlite3.c:104250:35 */ -func Xsqlite3ExprListAppendNew(tls *libc.TLS, db uintptr, pExpr uintptr) uintptr { /* sqlite3.c:104238:41: */ +func Xsqlite3ExprListAppendNew(tls *libc.TLS, db uintptr, pExpr uintptr) uintptr { /* sqlite3.c:104251:41: */ var pItem uintptr var pList uintptr @@ -84014,7 +84033,7 @@ func Xsqlite3ExprListAppendNew(tls *libc.TLS, db uintptr, pExpr uintptr) uintptr return pList } -func Xsqlite3ExprListAppendGrow(tls *libc.TLS, db uintptr, pList uintptr, pExpr uintptr) uintptr { /* sqlite3.c:104257:41: */ +func Xsqlite3ExprListAppendGrow(tls *libc.TLS, db uintptr, pList uintptr, pExpr uintptr) uintptr { /* sqlite3.c:104270:41: */ var pItem uintptr var pNew uintptr *(*int32)(unsafe.Pointer(pList + 4)) *= 2 @@ -84033,7 +84052,7 @@ func Xsqlite3ExprListAppendGrow(tls *libc.TLS, db uintptr, pList uintptr, pExpr return pList } -func Xsqlite3ExprListAppend(tls *libc.TLS, pParse uintptr, pList uintptr, pExpr uintptr) uintptr { /* sqlite3.c:104279:25: */ +func Xsqlite3ExprListAppend(tls *libc.TLS, pParse uintptr, pList uintptr, pExpr uintptr) uintptr { /* sqlite3.c:104292:25: */ var pItem uintptr if pList == uintptr(0) { return Xsqlite3ExprListAppendNew(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, pExpr) @@ -84056,7 +84075,7 @@ func Xsqlite3ExprListAppend(tls *libc.TLS, pParse uintptr, pList uintptr, pExpr // For each term of the vector assignment, append new entries to the // expression list pList. In the case of a subquery on the RHS, append // TK_SELECT_COLUMN expressions. -func Xsqlite3ExprListAppendVector(tls *libc.TLS, pParse uintptr, pList uintptr, pColumns uintptr, pExpr uintptr) uintptr { /* sqlite3.c:104308:25: */ +func Xsqlite3ExprListAppendVector(tls *libc.TLS, pParse uintptr, pList uintptr, pColumns uintptr, pExpr uintptr) uintptr { /* sqlite3.c:104321:25: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -84153,7 +84172,7 @@ vector_append_error: } // Set the sort order for the last element on the given ExprList. -func Xsqlite3ExprListSetSortOrder(tls *libc.TLS, p uintptr, iSortOrder int32, eNulls int32) { /* sqlite3.c:104370:21: */ +func Xsqlite3ExprListSetSortOrder(tls *libc.TLS, p uintptr, iSortOrder int32, eNulls int32) { /* sqlite3.c:104383:21: */ var pItem uintptr if p == uintptr(0) { return @@ -84180,7 +84199,7 @@ func Xsqlite3ExprListSetSortOrder(tls *libc.TLS, p uintptr, iSortOrder int32, eN // pList might be NULL following an OOM error. But pName should never be // NULL. If a memory allocation fails, the pParse->db->mallocFailed flag // is set. -func Xsqlite3ExprListSetName(tls *libc.TLS, pParse uintptr, pList uintptr, pName uintptr, dequote int32) { /* sqlite3.c:104408:21: */ +func Xsqlite3ExprListSetName(tls *libc.TLS, pParse uintptr, pList uintptr, pName uintptr, dequote int32) { /* sqlite3.c:104421:21: */ if pList != 0 { var pItem uintptr @@ -84206,7 +84225,7 @@ func Xsqlite3ExprListSetName(tls *libc.TLS, pParse uintptr, pList uintptr, pName // pList might be NULL following an OOM error. But pSpan should never be // NULL. If a memory allocation fails, the pParse->db->mallocFailed flag // is set. -func Xsqlite3ExprListSetSpan(tls *libc.TLS, pParse uintptr, pList uintptr, zStart uintptr, zEnd uintptr) { /* sqlite3.c:104443:21: */ +func Xsqlite3ExprListSetSpan(tls *libc.TLS, pParse uintptr, pList uintptr, zStart uintptr, zEnd uintptr) { /* sqlite3.c:104456:21: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb if pList != 0 { @@ -84221,7 +84240,7 @@ func Xsqlite3ExprListSetSpan(tls *libc.TLS, pParse uintptr, pList uintptr, zStar // If the expression list pEList contains more than iLimit elements, // leave an error message in pParse. -func Xsqlite3ExprListCheckLength(tls *libc.TLS, pParse uintptr, pEList uintptr, zObject uintptr) { /* sqlite3.c:104465:21: */ +func Xsqlite3ExprListCheckLength(tls *libc.TLS, pParse uintptr, pEList uintptr, zObject uintptr) { /* sqlite3.c:104478:21: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -84233,7 +84252,7 @@ func Xsqlite3ExprListCheckLength(tls *libc.TLS, pParse uintptr, pEList uintptr, } // Delete an entire expression list. -func exprListDeleteNN(tls *libc.TLS, db uintptr, pList uintptr) { /* sqlite3.c:104481:29: */ +func exprListDeleteNN(tls *libc.TLS, db uintptr, pList uintptr) { /* sqlite3.c:104494:29: */ var i int32 = (*ExprList)(unsafe.Pointer(pList)).FnExpr var pItem uintptr = pList + 8 /* &.a */ @@ -84245,7 +84264,7 @@ func exprListDeleteNN(tls *libc.TLS, db uintptr, pList uintptr) { /* sqlite3.c:1 Xsqlite3DbFreeNN(tls, db, pList) } -func Xsqlite3ExprListDelete(tls *libc.TLS, db uintptr, pList uintptr) { /* sqlite3.c:104492:21: */ +func Xsqlite3ExprListDelete(tls *libc.TLS, db uintptr, pList uintptr) { /* sqlite3.c:104505:21: */ if pList != 0 { exprListDeleteNN(tls, db, pList) } @@ -84253,7 +84272,7 @@ func Xsqlite3ExprListDelete(tls *libc.TLS, db uintptr, pList uintptr) { /* sqlit // Return the bitwise-OR of all Expr.flags fields in the given // ExprList. -func Xsqlite3ExprListFlags(tls *libc.TLS, pList uintptr) U32 { /* sqlite3.c:104500:20: */ +func Xsqlite3ExprListFlags(tls *libc.TLS, pList uintptr) U32 { /* sqlite3.c:104513:20: */ var i int32 var m U32 = U32(0) @@ -84270,7 +84289,7 @@ func Xsqlite3ExprListFlags(tls *libc.TLS, pList uintptr) U32 { /* sqlite3.c:1045 // pWalker->eCode to zero and abort. // // This callback is used by multiple expression walkers. -func Xsqlite3SelectWalkFail(tls *libc.TLS, pWalker uintptr, NotUsed uintptr) int32 { /* sqlite3.c:104519:20: */ +func Xsqlite3SelectWalkFail(tls *libc.TLS, pWalker uintptr, NotUsed uintptr) int32 { /* sqlite3.c:104532:20: */ _ = NotUsed (*Walker)(unsafe.Pointer(pWalker)).FeCode = U16(0) return WRC_Abort @@ -84282,7 +84301,7 @@ func Xsqlite3SelectWalkFail(tls *libc.TLS, pWalker uintptr, NotUsed uintptr) int // "true" EP_IsTrue // "false" EP_IsFalse // anything else 0 -func Xsqlite3IsTrueOrFalse(tls *libc.TLS, zIn uintptr) U32 { /* sqlite3.c:104533:20: */ +func Xsqlite3IsTrueOrFalse(tls *libc.TLS, zIn uintptr) U32 { /* sqlite3.c:104546:20: */ if Xsqlite3StrICmp(tls, zIn, ts+6646) == 0 { return U32(EP_IsTrue) } @@ -84295,7 +84314,7 @@ func Xsqlite3IsTrueOrFalse(tls *libc.TLS, zIn uintptr) U32 { /* sqlite3.c:104533 // If the input expression is an ID with the name "true" or "false" // then convert it into an TK_TRUEFALSE term. Return non-zero if // the conversion happened, and zero if the expression is unaltered. -func Xsqlite3ExprIdToTrueFalse(tls *libc.TLS, pExpr uintptr) int32 { /* sqlite3.c:104545:20: */ +func Xsqlite3ExprIdToTrueFalse(tls *libc.TLS, pExpr uintptr) int32 { /* sqlite3.c:104558:20: */ var v U32 if !((*Expr)(unsafe.Pointer(pExpr)).Fflags&U32(EP_Quoted|EP_IntValue) != U32(0)) && @@ -84309,7 +84328,7 @@ func Xsqlite3ExprIdToTrueFalse(tls *libc.TLS, pExpr uintptr) int32 { /* sqlite3. // The argument must be a TK_TRUEFALSE Expr node. Return 1 if it is TRUE // and 0 if it is FALSE. -func Xsqlite3ExprTruthValue(tls *libc.TLS, pExpr uintptr) int32 { /* sqlite3.c:104562:20: */ +func Xsqlite3ExprTruthValue(tls *libc.TLS, pExpr uintptr) int32 { /* sqlite3.c:104575:20: */ pExpr = Xsqlite3ExprSkipCollate(tls, pExpr) return libc.Bool32(int32(*(*uint8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pExpr + 8)) + 4))) == 0) @@ -84326,7 +84345,7 @@ func Xsqlite3ExprTruthValue(tls *libc.TLS, pExpr uintptr) int32 { /* sqlite3.c:1 // (x<10) AND (y=22 OR false) => (x<10) AND (y=22) // (x<10) AND (y=22 OR true) => (x<10) // (y=22) OR true => true -func Xsqlite3ExprSimplifiedAndOr(tls *libc.TLS, pExpr uintptr) uintptr { /* sqlite3.c:104584:21: */ +func Xsqlite3ExprSimplifiedAndOr(tls *libc.TLS, pExpr uintptr) uintptr { /* sqlite3.c:104597:21: */ if int32((*Expr)(unsafe.Pointer(pExpr)).Fop) == TK_AND || int32((*Expr)(unsafe.Pointer(pExpr)).Fop) == TK_OR { var pRight uintptr = Xsqlite3ExprSimplifiedAndOr(tls, (*Expr)(unsafe.Pointer(pExpr)).FpRight) @@ -84372,7 +84391,7 @@ func Xsqlite3ExprSimplifiedAndOr(tls *libc.TLS, pExpr uintptr) uintptr { /* sqli // contain a bound parameter because they were generated by older versions // of SQLite to be parsed by newer versions of SQLite without raising a // malformed schema error. -func exprNodeIsConstant(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:104625:12: */ +func exprNodeIsConstant(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:104638:12: */ // If pWalker->eCode is 2 then any term of the expression that comes from // the ON or USING clauses of a left join disqualifies the expression @@ -84447,7 +84466,7 @@ func exprNodeIsConstant(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { / return int32(0) } -func exprIsConst(tls *libc.TLS, p uintptr, initFlag int32, iCur int32) int32 { /* sqlite3.c:104697:12: */ +func exprIsConst(tls *libc.TLS, p uintptr, initFlag int32, iCur int32) int32 { /* sqlite3.c:104710:12: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -84471,7 +84490,7 @@ func exprIsConst(tls *libc.TLS, p uintptr, initFlag int32, iCur int32) int32 { / // For the purposes of this function, a double-quoted string (ex: "abc") // is considered a variable but a single-quoted string (ex: 'abc') is // a constant. -func Xsqlite3ExprIsConstant(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:104718:20: */ +func Xsqlite3ExprIsConstant(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:104731:20: */ return exprIsConst(tls, p, 1, 0) } @@ -84486,7 +84505,7 @@ func Xsqlite3ExprIsConstant(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:10471 // When this routine returns true, it indicates that the expression // can be added to the pParse->pConstExpr list and evaluated once when // the prepared statement starts up. See sqlite3ExprCodeRunJustOnce(). -func Xsqlite3ExprIsConstantNotJoin(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:104735:20: */ +func Xsqlite3ExprIsConstantNotJoin(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:104748:20: */ return exprIsConst(tls, p, 2, 0) } @@ -84494,12 +84513,12 @@ func Xsqlite3ExprIsConstantNotJoin(tls *libc.TLS, p uintptr) int32 { /* sqlite3. // for any single row of the table with cursor iCur. In other words, the // expression must not refer to any non-deterministic function nor any // table other than iCur. -func Xsqlite3ExprIsTableConstant(tls *libc.TLS, p uintptr, iCur int32) int32 { /* sqlite3.c:104745:20: */ +func Xsqlite3ExprIsTableConstant(tls *libc.TLS, p uintptr, iCur int32) int32 { /* sqlite3.c:104758:20: */ return exprIsConst(tls, p, 3, iCur) } // sqlite3WalkExpr() callback used by sqlite3ExprIsConstantOrGroupBy(). -func exprNodeIsConstantOrGroupBy(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:104753:12: */ +func exprNodeIsConstantOrGroupBy(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:104766:12: */ var pGroupBy uintptr = *(*uintptr)(unsafe.Pointer(pWalker + 40)) var i int32 @@ -84541,7 +84560,7 @@ func exprNodeIsConstantOrGroupBy(tls *libc.TLS, pWalker uintptr, pExpr uintptr) // alternative collating sequences are uncommon, and this is only an // optimization, so we take the easy way out and simply require the // GROUP BY to use the BINARY collating sequence. -func Xsqlite3ExprIsConstantOrGroupBy(tls *libc.TLS, pParse uintptr, p uintptr, pGroupBy uintptr) int32 { /* sqlite3.c:104797:20: */ +func Xsqlite3ExprIsConstantOrGroupBy(tls *libc.TLS, pParse uintptr, p uintptr, pGroupBy uintptr) int32 { /* sqlite3.c:104810:20: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -84577,7 +84596,7 @@ func Xsqlite3ExprIsConstantOrGroupBy(tls *libc.TLS, pParse uintptr, p uintptr, p // For the purposes of this function, a double-quoted string (ex: "abc") // is considered a variable but a single-quoted string (ex: 'abc') is // a constant. -func Xsqlite3ExprIsConstantOrFunction(tls *libc.TLS, p uintptr, isInit U8) int32 { /* sqlite3.c:104829:20: */ +func Xsqlite3ExprIsConstantOrFunction(tls *libc.TLS, p uintptr, isInit U8) int32 { /* sqlite3.c:104842:20: */ return exprIsConst(tls, p, 4+int32(isInit), 0) } @@ -84586,7 +84605,7 @@ func Xsqlite3ExprIsConstantOrFunction(tls *libc.TLS, p uintptr, isInit U8) int32 // to fit in a 32-bit integer, return 1 and put the value of the integer // in *pValue. If the expression is not an integer or if it is too big // to fit in a signed 32-bit integer, return 0 and leave *pValue unchanged. -func Xsqlite3ExprIsInteger(tls *libc.TLS, p uintptr, pValue uintptr) int32 { /* sqlite3.c:104858:20: */ +func Xsqlite3ExprIsInteger(tls *libc.TLS, p uintptr, pValue uintptr) int32 { /* sqlite3.c:104871:20: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -84638,7 +84657,7 @@ func Xsqlite3ExprIsInteger(tls *libc.TLS, p uintptr, pValue uintptr) int32 { /* // hand, a false negative (returning FALSE when the result could be NULL) // will likely result in an incorrect answer. So when in doubt, return // TRUE. -func Xsqlite3ExprCanBeNull(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:104904:20: */ +func Xsqlite3ExprCanBeNull(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:104917:20: */ var op U8 for int32((*Expr)(unsafe.Pointer(p)).Fop) == TK_UPLUS || int32((*Expr)(unsafe.Pointer(p)).Fop) == TK_UMINUS { @@ -84677,7 +84696,7 @@ func Xsqlite3ExprCanBeNull(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:104904 // can be omitted. When in doubt return FALSE. A false negative // is harmless. A false positive, however, can result in the wrong // answer. -func Xsqlite3ExprNeedsNoAffinityChange(tls *libc.TLS, p uintptr, aff uint8) int32 { /* sqlite3.c:104941:20: */ +func Xsqlite3ExprNeedsNoAffinityChange(tls *libc.TLS, p uintptr, aff uint8) int32 { /* sqlite3.c:104954:20: */ var op U8 var unaryMinus int32 = 0 if int32(aff) == SQLITE_AFF_BLOB { @@ -84730,7 +84749,7 @@ func Xsqlite3ExprNeedsNoAffinityChange(tls *libc.TLS, p uintptr, aff uint8) int3 } // Return TRUE if the given string is a row-id column name. -func Xsqlite3IsRowid(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:104977:20: */ +func Xsqlite3IsRowid(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:104990:20: */ if Xsqlite3StrICmp(tls, z, ts+7592) == 0 { return 1 } @@ -84748,7 +84767,7 @@ func Xsqlite3IsRowid(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:104977:20: * // a pointer to the SELECT statement. If pX is not a SELECT statement, // or if the SELECT statement needs to be manifested into a transient // table, then return NULL. -func isCandidateForInOpt(tls *libc.TLS, pX uintptr) uintptr { /* sqlite3.c:104992:15: */ +func isCandidateForInOpt(tls *libc.TLS, pX uintptr) uintptr { /* sqlite3.c:105005:15: */ var p uintptr var pSrc uintptr var pEList uintptr @@ -84806,7 +84825,7 @@ func isCandidateForInOpt(tls *libc.TLS, pX uintptr) uintptr { /* sqlite3.c:10499 // it contains any NULL entries. Cause the register at regHasNull to be set // to a non-NULL value if iCur contains no NULLs. Cause register regHasNull // to be set to NULL if iCur contains one or more NULL values. -func sqlite3SetHasNullFlag(tls *libc.TLS, v uintptr, iCur int32, regHasNull int32) { /* sqlite3.c:105037:13: */ +func sqlite3SetHasNullFlag(tls *libc.TLS, v uintptr, iCur int32, regHasNull int32) { /* sqlite3.c:105050:13: */ var addr1 int32 Xsqlite3VdbeAddOp2(tls, v, OP_Integer, 0, regHasNull) addr1 = Xsqlite3VdbeAddOp1(tls, v, OP_Rewind, iCur) @@ -84818,7 +84837,7 @@ func sqlite3SetHasNullFlag(tls *libc.TLS, v uintptr, iCur int32, regHasNull int3 // The argument is an IN operator with a list (not a subquery) on the // right-hand side. Return TRUE if that list is constant. -func sqlite3InRhsIsConstant(tls *libc.TLS, pIn uintptr) int32 { /* sqlite3.c:105054:12: */ +func sqlite3InRhsIsConstant(tls *libc.TLS, pIn uintptr) int32 { /* sqlite3.c:105067:12: */ var pLHS uintptr var res int32 @@ -84907,7 +84926,7 @@ func sqlite3InRhsIsConstant(tls *libc.TLS, pIn uintptr) int32 { /* sqlite3.c:105 // CREATE INDEX i1 ON t1(b, c, a); // // then aiMap[] is populated with {2, 0, 1}. -func Xsqlite3FindInIndex(tls *libc.TLS, pParse uintptr, pX uintptr, inFlags U32, prRhsHasNull uintptr, aiMap uintptr, piTab uintptr) int32 { /* sqlite3.c:105147:20: */ +func Xsqlite3FindInIndex(tls *libc.TLS, pParse uintptr, pX uintptr, inFlags U32, prRhsHasNull uintptr, aiMap uintptr, piTab uintptr) int32 { /* sqlite3.c:105160:20: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -85125,7 +85144,7 @@ func Xsqlite3FindInIndex(tls *libc.TLS, pParse uintptr, pX uintptr, inFlags U32, // // It is the responsibility of the caller to ensure that the returned // string is eventually freed using sqlite3DbFree(). -func exprINAffinity(tls *libc.TLS, pParse uintptr, pExpr uintptr) uintptr { /* sqlite3.c:105370:13: */ +func exprINAffinity(tls *libc.TLS, pParse uintptr, pExpr uintptr) uintptr { /* sqlite3.c:105383:13: */ var pLeft uintptr = (*Expr)(unsafe.Pointer(pExpr)).FpLeft var nVal int32 = Xsqlite3ExprVectorSize(tls, pLeft) var pSelect uintptr @@ -85157,7 +85176,7 @@ func exprINAffinity(tls *libc.TLS, pParse uintptr, pExpr uintptr) uintptr { /* s // message of the form: // // "sub-select returns N columns - expected M" -func Xsqlite3SubselectError(tls *libc.TLS, pParse uintptr, nActual int32, nExpect int32) { /* sqlite3.c:105402:21: */ +func Xsqlite3SubselectError(tls *libc.TLS, pParse uintptr, nActual int32, nExpect int32) { /* sqlite3.c:105415:21: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -85176,7 +85195,7 @@ func Xsqlite3SubselectError(tls *libc.TLS, pParse uintptr, nActual int32, nExpec // Or, if it is a regular scalar vector: // // "row value misused" -func Xsqlite3VectorErrorMsg(tls *libc.TLS, pParse uintptr, pExpr uintptr) { /* sqlite3.c:105421:21: */ +func Xsqlite3VectorErrorMsg(tls *libc.TLS, pParse uintptr, pExpr uintptr) { /* sqlite3.c:105434:21: */ if (*Expr)(unsafe.Pointer(pExpr)).Fflags&U32(EP_xIsSelect) != U32(0) { Xsqlite3SubselectError(tls, pParse, (*ExprList)(unsafe.Pointer((*Select)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pExpr + 32)))).FpEList)).FnExpr, 1) } else { @@ -85204,7 +85223,7 @@ func Xsqlite3VectorErrorMsg(tls *libc.TLS, pParse uintptr, pExpr uintptr) { /* s // if either column has NUMERIC or INTEGER affinity. If neither // 'x' nor the SELECT... statement are columns, then numeric affinity // is used. -func Xsqlite3CodeRhsOfIN(tls *libc.TLS, pParse uintptr, pExpr uintptr, iTab int32) { /* sqlite3.c:105455:21: */ +func Xsqlite3CodeRhsOfIN(tls *libc.TLS, pParse uintptr, pExpr uintptr, iTab int32) { /* sqlite3.c:105468:21: */ bp := tls.Alloc(65) defer tls.Free(65) @@ -85399,7 +85418,7 @@ func Xsqlite3CodeRhsOfIN(tls *libc.TLS, pParse uintptr, pExpr uintptr, iTab int3 // the result is stored in a contiguous array of registers and the // return value is the register of the left-most result column. // Return 0 if an error occurs. -func Xsqlite3CodeSubselect(tls *libc.TLS, pParse uintptr, pExpr uintptr) int32 { /* sqlite3.c:105650:20: */ +func Xsqlite3CodeSubselect(tls *libc.TLS, pParse uintptr, pExpr uintptr) int32 { /* sqlite3.c:105663:20: */ bp := tls.Alloc(64) defer tls.Free(64) @@ -85522,7 +85541,7 @@ func Xsqlite3CodeSubselect(tls *libc.TLS, pParse uintptr, pExpr uintptr) int32 { // sub-select on the RHS of the IN() operator has the same number of // columns as the vector on the LHS. Or, if the RHS of the IN() is not // a sub-query, that the LHS is a vector of size 1. -func Xsqlite3ExprCheckIN(tls *libc.TLS, pParse uintptr, pIn uintptr) int32 { /* sqlite3.c:105772:20: */ +func Xsqlite3ExprCheckIN(tls *libc.TLS, pParse uintptr, pIn uintptr) int32 { /* sqlite3.c:105785:20: */ var nVector int32 = Xsqlite3ExprVectorSize(tls, (*Expr)(unsafe.Pointer(pIn)).FpLeft) if (*Expr)(unsafe.Pointer(pIn)).Fflags&U32(EP_xIsSelect) != U32(0) && !(int32((*Sqlite3)(unsafe.Pointer((*Parse)(unsafe.Pointer(pParse)).Fdb)).FmallocFailed) != 0) { if nVector != (*ExprList)(unsafe.Pointer((*Select)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pIn + 32)))).FpEList)).FnExpr { @@ -85559,7 +85578,7 @@ func Xsqlite3ExprCheckIN(tls *libc.TLS, pParse uintptr, pIn uintptr) int32 { /* // // See the separate in-operator.md documentation file in the canonical // SQLite source tree for additional information. -func sqlite3ExprCodeIN(tls *libc.TLS, pParse uintptr, pExpr uintptr, destIfFalse int32, destIfNull int32) { /* sqlite3.c:105813:13: */ +func sqlite3ExprCodeIN(tls *libc.TLS, pParse uintptr, pExpr uintptr, destIfFalse int32, destIfNull int32) { /* sqlite3.c:105826:13: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -85940,7 +85959,7 @@ sqlite3ExprCodeIN_oom_error: // The z[] string will probably not be zero-terminated. But the // z[n] character is guaranteed to be something that does not look // like the continuation of the number. -func codeReal(tls *libc.TLS, v uintptr, z uintptr, negateFlag int32, iMem int32) { /* sqlite3.c:106071:13: */ +func codeReal(tls *libc.TLS, v uintptr, z uintptr, negateFlag int32, iMem int32) { /* sqlite3.c:106084:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -85960,7 +85979,7 @@ func codeReal(tls *libc.TLS, v uintptr, z uintptr, negateFlag int32, iMem int32) // text z[0..n-1] into register iMem. // // Expr.u.zToken is always UTF8 and zero-terminated. -func codeInteger(tls *libc.TLS, pParse uintptr, pExpr uintptr, negFlag int32, iMem int32) { /* sqlite3.c:106089:13: */ +func codeInteger(tls *libc.TLS, pParse uintptr, pExpr uintptr, negFlag int32, iMem int32) { /* sqlite3.c:106102:13: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -86006,7 +86025,7 @@ func codeInteger(tls *libc.TLS, pParse uintptr, pExpr uintptr, negFlag int32, iM // Generate code that will load into register regOut a value that is // appropriate for the iIdxCol-th column of index pIdx. -func Xsqlite3ExprCodeLoadIndexColumn(tls *libc.TLS, pParse uintptr, pIdx uintptr, iTabCur int32, iIdxCol int32, regOut int32) { /* sqlite3.c:106127:21: */ +func Xsqlite3ExprCodeLoadIndexColumn(tls *libc.TLS, pParse uintptr, pIdx uintptr, iTabCur int32, iIdxCol int32, regOut int32) { /* sqlite3.c:106140:21: */ var iTabCol I16 = *(*I16)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FaiColumn + uintptr(iIdxCol)*2)) if int32(iTabCol) == -2 { @@ -86021,7 +86040,7 @@ func Xsqlite3ExprCodeLoadIndexColumn(tls *libc.TLS, pParse uintptr, pIdx uintptr // Generate code that will compute the value of generated column pCol // and store the result in register regOut -func Xsqlite3ExprCodeGeneratedColumn(tls *libc.TLS, pParse uintptr, pTab uintptr, pCol uintptr, regOut int32) { /* sqlite3.c:106152:21: */ +func Xsqlite3ExprCodeGeneratedColumn(tls *libc.TLS, pParse uintptr, pTab uintptr, pCol uintptr, regOut int32) { /* sqlite3.c:106165:21: */ var iAddr int32 var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe @@ -86040,7 +86059,7 @@ func Xsqlite3ExprCodeGeneratedColumn(tls *libc.TLS, pParse uintptr, pTab uintptr } // Generate code to extract the value of the iCol-th column of a table. -func Xsqlite3ExprCodeGetColumnOfTable(tls *libc.TLS, v uintptr, pTab uintptr, iTabCur int32, iCol int32, regOut int32) { /* sqlite3.c:106178:21: */ +func Xsqlite3ExprCodeGetColumnOfTable(tls *libc.TLS, v uintptr, pTab uintptr, iTabCur int32, iCol int32, regOut int32) { /* sqlite3.c:106191:21: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -86091,7 +86110,7 @@ func Xsqlite3ExprCodeGetColumnOfTable(tls *libc.TLS, v uintptr, pTab uintptr, iT // // There must be an open cursor to pTab in iTable when this routine // is called. If iColumn<0 then code is generated that extracts the rowid. -func Xsqlite3ExprCodeGetColumn(tls *libc.TLS, pParse uintptr, pTab uintptr, iColumn int32, iTable int32, iReg int32, p5 U8) int32 { /* sqlite3.c:106236:20: */ +func Xsqlite3ExprCodeGetColumn(tls *libc.TLS, pParse uintptr, pTab uintptr, iColumn int32, iTable int32, iReg int32, p5 U8) int32 { /* sqlite3.c:106249:20: */ Xsqlite3ExprCodeGetColumnOfTable(tls, (*Parse)(unsafe.Pointer(pParse)).FpVdbe, pTab, iTable, iColumn, iReg) if p5 != 0 { @@ -86105,14 +86124,14 @@ func Xsqlite3ExprCodeGetColumn(tls *libc.TLS, pParse uintptr, pTab uintptr, iCol // Generate code to move content from registers iFrom...iFrom+nReg-1 // over to iTo..iTo+nReg-1. -func Xsqlite3ExprCodeMove(tls *libc.TLS, pParse uintptr, iFrom int32, iTo int32, nReg int32) { /* sqlite3.c:106257:21: */ +func Xsqlite3ExprCodeMove(tls *libc.TLS, pParse uintptr, iFrom int32, iTo int32, nReg int32) { /* sqlite3.c:106270:21: */ Xsqlite3VdbeAddOp3(tls, (*Parse)(unsafe.Pointer(pParse)).FpVdbe, OP_Move, iFrom, iTo, nReg) } // Convert a scalar expression node to a TK_REGISTER referencing // register iReg. The caller must ensure that iReg already contains // the correct value for the expression. -func exprToRegister(tls *libc.TLS, pExpr uintptr, iReg int32) { /* sqlite3.c:106266:13: */ +func exprToRegister(tls *libc.TLS, pExpr uintptr, iReg int32) { /* sqlite3.c:106279:13: */ var p uintptr = Xsqlite3ExprSkipCollateAndLikely(tls, pExpr) if p == uintptr(0) { return @@ -86131,7 +86150,7 @@ func exprToRegister(tls *libc.TLS, pExpr uintptr, iReg int32) { /* sqlite3.c:106 // that register number into *piFreeable. If the returned result register // is not a temporary or if the expression is a vector set *piFreeable // to 0. -func exprCodeVector(tls *libc.TLS, pParse uintptr, p uintptr, piFreeable uintptr) int32 { /* sqlite3.c:106285:12: */ +func exprCodeVector(tls *libc.TLS, pParse uintptr, p uintptr, piFreeable uintptr) int32 { /* sqlite3.c:106298:12: */ var iResult int32 var nResult int32 = Xsqlite3ExprVectorSize(tls, p) if nResult == 1 { @@ -86155,7 +86174,7 @@ func exprCodeVector(tls *libc.TLS, pParse uintptr, p uintptr, piFreeable uintptr // If the last opcode is a OP_Copy, then set the do-not-merge flag (p5) // so that a subsequent copy will not be merged into this one. -func setDoNotMergeFlagOnCopy(tls *libc.TLS, v uintptr) { /* sqlite3.c:106315:13: */ +func setDoNotMergeFlagOnCopy(tls *libc.TLS, v uintptr) { /* sqlite3.c:106328:13: */ if int32((*VdbeOp)(unsafe.Pointer(Xsqlite3VdbeGetOp(tls, v, -1))).Fopcode) == OP_Copy { Xsqlite3VdbeChangeP5(tls, v, uint16(1)) // Tag trailing OP_Copy as not mergable } @@ -86163,7 +86182,7 @@ func setDoNotMergeFlagOnCopy(tls *libc.TLS, v uintptr) { /* sqlite3.c:106315:13: // Generate code to implement special SQL functions that are implemented // in-line rather than by using the usual callbacks. -func exprCodeInlineFunction(tls *libc.TLS, pParse uintptr, pFarg uintptr, iFuncId int32, target int32) int32 { /* sqlite3.c:106325:12: */ +func exprCodeInlineFunction(tls *libc.TLS, pParse uintptr, pFarg uintptr, iFuncId int32, target int32) int32 { /* sqlite3.c:106338:12: */ bp := tls.Alloc(112) defer tls.Free(112) @@ -86288,7 +86307,7 @@ func exprCodeInlineFunction(tls *libc.TLS, pParse uintptr, pFarg uintptr, iFuncI // register if it is convenient to do so. The calling function // must check the return code and move the results to the desired // register. -func Xsqlite3ExprCodeTarget(tls *libc.TLS, pParse uintptr, pExpr uintptr, target int32) int32 { /* sqlite3.c:106441:20: */ +func Xsqlite3ExprCodeTarget(tls *libc.TLS, pParse uintptr, pExpr uintptr, target int32) int32 { /* sqlite3.c:106454:20: */ bp := tls.Alloc(192) defer tls.Free(192) @@ -87357,7 +87376,7 @@ __3: return inReg } -var zAff = *(*[8]uint8)(unsafe.Pointer(ts + 8011)) /* sqlite3.c:106508:29 */ +var zAff = *(*[8]uint8)(unsafe.Pointer(ts + 8011)) /* sqlite3.c:106521:29 */ // Generate code that will evaluate expression pExpr just one time // per prepared statement execution. @@ -87374,7 +87393,7 @@ var zAff = *(*[8]uint8)(unsafe.Pointer(ts + 8011)) /* sqlite3.c:106508:29 */ // code to the same register, if they do not contain function calls and hence // are factored out into the initialization section at the end of the // prepared statement. -func Xsqlite3ExprCodeRunJustOnce(tls *libc.TLS, pParse uintptr, pExpr uintptr, regDest int32) int32 { /* sqlite3.c:107215:20: */ +func Xsqlite3ExprCodeRunJustOnce(tls *libc.TLS, pParse uintptr, pExpr uintptr, regDest int32) int32 { /* sqlite3.c:107228:20: */ var p uintptr p = (*Parse)(unsafe.Pointer(pParse)).FpConstExpr @@ -87443,7 +87462,7 @@ func Xsqlite3ExprCodeRunJustOnce(tls *libc.TLS, pParse uintptr, pExpr uintptr, r // If pExpr is a constant, then this routine might generate this // code to fill the register in the initialization section of the // VDBE program, in order to factor it out of the evaluation loop. -func Xsqlite3ExprCodeTemp(tls *libc.TLS, pParse uintptr, pExpr uintptr, pReg uintptr) int32 { /* sqlite3.c:107272:20: */ +func Xsqlite3ExprCodeTemp(tls *libc.TLS, pParse uintptr, pExpr uintptr, pReg uintptr) int32 { /* sqlite3.c:107285:20: */ var r2 int32 pExpr = Xsqlite3ExprSkipCollateAndLikely(tls, pExpr) if (*Parse)(unsafe.Pointer(pParse)).FokConstFactor != 0 && @@ -87468,7 +87487,7 @@ func Xsqlite3ExprCodeTemp(tls *libc.TLS, pParse uintptr, pExpr uintptr, pReg uin // Generate code that will evaluate expression pExpr and store the // results in register target. The results are guaranteed to appear // in register target. -func Xsqlite3ExprCode(tls *libc.TLS, pParse uintptr, pExpr uintptr, target int32) { /* sqlite3.c:107300:21: */ +func Xsqlite3ExprCode(tls *libc.TLS, pParse uintptr, pExpr uintptr, target int32) { /* sqlite3.c:107313:21: */ var inReg int32 if (*Parse)(unsafe.Pointer(pParse)).FpVdbe == uintptr(0) { @@ -87489,7 +87508,7 @@ func Xsqlite3ExprCode(tls *libc.TLS, pParse uintptr, pExpr uintptr, target int32 // Make a transient copy of expression pExpr and then code it using // sqlite3ExprCode(). This routine works just like sqlite3ExprCode() // except that the input expression is guaranteed to be unchanged. -func Xsqlite3ExprCodeCopy(tls *libc.TLS, pParse uintptr, pExpr uintptr, target int32) { /* sqlite3.c:107324:21: */ +func Xsqlite3ExprCodeCopy(tls *libc.TLS, pParse uintptr, pExpr uintptr, target int32) { /* sqlite3.c:107337:21: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb pExpr = Xsqlite3ExprDup(tls, db, pExpr, 0) if !(int32((*Sqlite3)(unsafe.Pointer(db)).FmallocFailed) != 0) { @@ -87502,7 +87521,7 @@ func Xsqlite3ExprCodeCopy(tls *libc.TLS, pParse uintptr, pExpr uintptr, target i // results in register target. The results are guaranteed to appear // in register target. If the expression is constant, then this routine // might choose to code the expression at initialization time. -func Xsqlite3ExprCodeFactorable(tls *libc.TLS, pParse uintptr, pExpr uintptr, target int32) { /* sqlite3.c:107337:21: */ +func Xsqlite3ExprCodeFactorable(tls *libc.TLS, pParse uintptr, pExpr uintptr, target int32) { /* sqlite3.c:107350:21: */ if (*Parse)(unsafe.Pointer(pParse)).FokConstFactor != 0 && Xsqlite3ExprIsConstantNotJoin(tls, pExpr) != 0 { Xsqlite3ExprCodeRunJustOnce(tls, pParse, pExpr, target) } else { @@ -87528,7 +87547,7 @@ func Xsqlite3ExprCodeFactorable(tls *libc.TLS, pParse uintptr, pExpr uintptr, ta // in registers at srcReg, and so the value can be copied from there. // If SQLITE_ECEL_OMITREF is also set, then the values with u.x.iOrderByCol>0 // are simply omitted rather than being copied from srcReg. -func Xsqlite3ExprCodeExprList(tls *libc.TLS, pParse uintptr, pList uintptr, target int32, srcReg int32, flags U8) int32 { /* sqlite3.c:107365:20: */ +func Xsqlite3ExprCodeExprList(tls *libc.TLS, pParse uintptr, pList uintptr, target int32, srcReg int32, flags U8) int32 { /* sqlite3.c:107378:20: */ var pItem uintptr var i int32 var j int32 @@ -87610,7 +87629,7 @@ __3: // sqlite3ExprIfFalse: Jump to dest if false // // The jumpIfNull parameter is ignored if xJumpIf is NULL. -func exprCodeBetween(tls *libc.TLS, pParse uintptr, pExpr uintptr, dest int32, xJump uintptr, jumpIfNull int32) { /* sqlite3.c:107440:13: */ +func exprCodeBetween(tls *libc.TLS, pParse uintptr, pExpr uintptr, dest int32, xJump uintptr, jumpIfNull int32) { /* sqlite3.c:107453:13: */ bp := tls.Alloc(220) defer tls.Free(220) @@ -87673,7 +87692,7 @@ func exprCodeBetween(tls *libc.TLS, pParse uintptr, pExpr uintptr, dest int32, x // operation. Special comments in vdbe.c and the mkopcodeh.awk script in // the make process cause these values to align. Assert()s in the code // below verify that the numbers are aligned correctly. -func Xsqlite3ExprIfTrue(tls *libc.TLS, pParse uintptr, pExpr uintptr, dest int32, jumpIfNull int32) { /* sqlite3.c:107512:21: */ +func Xsqlite3ExprIfTrue(tls *libc.TLS, pParse uintptr, pExpr uintptr, dest int32, jumpIfNull int32) { /* sqlite3.c:107525:21: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -87903,7 +87922,7 @@ __3: // If the expression evaluates to NULL (neither true nor false) then // jump if jumpIfNull is SQLITE_JUMPIFNULL or fall through if jumpIfNull // is 0. -func Xsqlite3ExprIfFalse(tls *libc.TLS, pParse uintptr, pExpr uintptr, dest int32, jumpIfNull int32) { /* sqlite3.c:107654:21: */ +func Xsqlite3ExprIfFalse(tls *libc.TLS, pParse uintptr, pExpr uintptr, dest int32, jumpIfNull int32) { /* sqlite3.c:107667:21: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -88151,7 +88170,7 @@ __3: // Like sqlite3ExprIfFalse() except that a copy is made of pExpr before // code generation, and that copy is deleted after code generation. This // ensures that the original pExpr is unchanged. -func Xsqlite3ExprIfFalseDup(tls *libc.TLS, pParse uintptr, pExpr uintptr, dest int32, jumpIfNull int32) { /* sqlite3.c:107826:21: */ +func Xsqlite3ExprIfFalseDup(tls *libc.TLS, pParse uintptr, pExpr uintptr, dest int32, jumpIfNull int32) { /* sqlite3.c:107839:21: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb var pCopy uintptr = Xsqlite3ExprDup(tls, db, pExpr, 0) if int32((*Sqlite3)(unsafe.Pointer(db)).FmallocFailed) == 0 { @@ -88171,7 +88190,7 @@ func Xsqlite3ExprIfFalseDup(tls *libc.TLS, pParse uintptr, pExpr uintptr, dest i // same as that currently bound to variable pVar, non-zero is returned. // Otherwise, if the values are not the same or if pExpr is not a simple // SQL value, zero is returned. -func exprCompareVariable(tls *libc.TLS, pParse uintptr, pVar uintptr, pExpr uintptr) int32 { /* sqlite3.c:107848:12: */ +func exprCompareVariable(tls *libc.TLS, pParse uintptr, pVar uintptr, pExpr uintptr) int32 { /* sqlite3.c:107861:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -88225,7 +88244,7 @@ func exprCompareVariable(tls *libc.TLS, pParse uintptr, pVar uintptr, pExpr uint // If pParse is NULL (the normal case) then any TK_VARIABLE term in // Argument pParse should normally be NULL. If it is not NULL and pA or // pB causes a return value of 2. -func Xsqlite3ExprCompare(tls *libc.TLS, pParse uintptr, pA uintptr, pB uintptr, iTab int32) int32 { /* sqlite3.c:107904:20: */ +func Xsqlite3ExprCompare(tls *libc.TLS, pParse uintptr, pA uintptr, pB uintptr, iTab int32) int32 { /* sqlite3.c:107917:20: */ var combinedFlags U32 if pA == uintptr(0) || pB == uintptr(0) { if pB == pA { @@ -88329,7 +88348,7 @@ func Xsqlite3ExprCompare(tls *libc.TLS, pParse uintptr, pA uintptr, pB uintptr, // // Two NULL pointers are considered to be the same. But a NULL pointer // always differs from a non-NULL pointer. -func Xsqlite3ExprListCompare(tls *libc.TLS, pA uintptr, pB uintptr, iTab int32) int32 { /* sqlite3.c:108000:20: */ +func Xsqlite3ExprListCompare(tls *libc.TLS, pA uintptr, pB uintptr, iTab int32) int32 { /* sqlite3.c:108013:20: */ var i int32 if pA == uintptr(0) && pB == uintptr(0) { return 0 @@ -88356,7 +88375,7 @@ func Xsqlite3ExprListCompare(tls *libc.TLS, pA uintptr, pB uintptr, iTab int32) // Like sqlite3ExprCompare() except COLLATE operators at the top-level // are ignored. -func Xsqlite3ExprCompareSkip(tls *libc.TLS, pA uintptr, pB uintptr, iTab int32) int32 { /* sqlite3.c:108019:20: */ +func Xsqlite3ExprCompareSkip(tls *libc.TLS, pA uintptr, pB uintptr, iTab int32) int32 { /* sqlite3.c:108032:20: */ return Xsqlite3ExprCompare(tls, uintptr(0), Xsqlite3ExprSkipCollateAndLikely(tls, pA), Xsqlite3ExprSkipCollateAndLikely(tls, pB), @@ -88367,7 +88386,7 @@ func Xsqlite3ExprCompareSkip(tls *libc.TLS, pA uintptr, pB uintptr, iTab int32) // // Or if seenNot is true, return non-zero if Expr p can only be // non-NULL if pNN is not NULL -func exprImpliesNotNull(tls *libc.TLS, pParse uintptr, p uintptr, pNN uintptr, iTab int32, seenNot int32) int32 { /* sqlite3.c:108032:12: */ +func exprImpliesNotNull(tls *libc.TLS, pParse uintptr, p uintptr, pNN uintptr, iTab int32, seenNot int32) int32 { /* sqlite3.c:108045:12: */ if Xsqlite3ExprCompare(tls, pParse, p, pNN, iTab) == 0 { return libc.Bool32(int32((*Expr)(unsafe.Pointer(pNN)).Fop) != TK_NULL) @@ -88493,7 +88512,7 @@ func exprImpliesNotNull(tls *libc.TLS, pParse uintptr, p uintptr, pNN uintptr, i // When in doubt, return false. Returning true might give a performance // improvement. Returning false might cause a performance reduction, but // it will always give the correct answer and is hence always safe. -func Xsqlite3ExprImpliesExpr(tls *libc.TLS, pParse uintptr, pE1 uintptr, pE2 uintptr, iTab int32) int32 { /* sqlite3.c:108129:20: */ +func Xsqlite3ExprImpliesExpr(tls *libc.TLS, pParse uintptr, pE1 uintptr, pE2 uintptr, iTab int32) int32 { /* sqlite3.c:108142:20: */ if Xsqlite3ExprCompare(tls, pParse, pE1, pE2, iTab) == 0 { return 1 } @@ -88516,7 +88535,7 @@ func Xsqlite3ExprImpliesExpr(tls *libc.TLS, pParse uintptr, pE1 uintptr, pE2 uin // This routine controls an optimization. False positives (setting // pWalker->eCode to 1 when it should not be) are deadly, but false-negatives // (never setting pWalker->eCode) is a harmless missed optimization. -func impliesNotNullRow(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:108161:12: */ +func impliesNotNullRow(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:108174:12: */ if (*Expr)(unsafe.Pointer(pExpr)).Fflags&U32(EP_FromJoin) != U32(0) { return WRC_Prune @@ -88625,7 +88644,7 @@ func impliesNotNullRow(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* // clause requires that some column of the right table of the LEFT JOIN // be non-NULL, then the LEFT JOIN can be safely converted into an // ordinary join. -func Xsqlite3ExprImpliesNonNullRow(tls *libc.TLS, p uintptr, iTab int32) int32 { /* sqlite3.c:108270:20: */ +func Xsqlite3ExprImpliesNonNullRow(tls *libc.TLS, p uintptr, iTab int32) int32 { /* sqlite3.c:108283:20: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -88659,7 +88678,7 @@ func Xsqlite3ExprImpliesNonNullRow(tls *libc.TLS, p uintptr, iTab int32) int32 { // Check to see if there are references to columns in table // pWalker->u.pIdxCover->iCur can be satisfied using the index // pWalker->u.pIdxCover->pIdx. -func exprIdxCover(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:108308:12: */ +func exprIdxCover(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:108321:12: */ if int32((*Expr)(unsafe.Pointer(pExpr)).Fop) == TK_COLUMN && (*Expr)(unsafe.Pointer(pExpr)).FiTable == (*IdxCover)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pWalker + 40)))).FiCur && int32(Xsqlite3TableColumnToIndex(tls, (*IdxCover)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pWalker + 40)))).FpIdx, (*Expr)(unsafe.Pointer(pExpr)).FiColumn)) < 0 { @@ -88677,7 +88696,7 @@ func exprIdxCover(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqli // An index covering an expression means that the expression can be // evaluated using only the index and without having to lookup the // corresponding table entry. -func Xsqlite3ExprCoveredByIndex(tls *libc.TLS, pExpr uintptr, iCur int32, pIdx uintptr) int32 { /* sqlite3.c:108329:20: */ +func Xsqlite3ExprCoveredByIndex(tls *libc.TLS, pExpr uintptr, iCur int32, pIdx uintptr) int32 { /* sqlite3.c:108342:20: */ bp := tls.Alloc(64) defer tls.Free(64) @@ -88702,7 +88721,7 @@ func Xsqlite3ExprCoveredByIndex(tls *libc.TLS, pExpr uintptr, iCur int32, pIdx u // entries for that subquery to the exclude list. // // When leaving the subquery, remove those entries from the exclude list. -func selectRefEnter(tls *libc.TLS, pWalker uintptr, pSelect uintptr) int32 { /* sqlite3.c:108364:12: */ +func selectRefEnter(tls *libc.TLS, pWalker uintptr, pSelect uintptr) int32 { /* sqlite3.c:108377:12: */ var p uintptr = *(*uintptr)(unsafe.Pointer(pWalker + 40)) var pSrc uintptr = (*Select)(unsafe.Pointer(pSelect)).FpSrc var i I64 @@ -88740,7 +88759,7 @@ __3: return WRC_Continue } -func selectRefLeave(tls *libc.TLS, pWalker uintptr, pSelect uintptr) { /* sqlite3.c:108384:13: */ +func selectRefLeave(tls *libc.TLS, pWalker uintptr, pSelect uintptr) { /* sqlite3.c:108397:13: */ var p uintptr = *(*uintptr)(unsafe.Pointer(pWalker + 40)) var pSrc uintptr = (*Select)(unsafe.Pointer(pSelect)).FpSrc if (*RefSrcList)(unsafe.Pointer(p)).FnExclude != 0 { @@ -88756,7 +88775,7 @@ func selectRefLeave(tls *libc.TLS, pWalker uintptr, pSelect uintptr) { /* sqlite // // Set the 0x02 bit of pWalker->eCode if there is a reference to a // table is in neither RefSrcList.pRef nor RefSrcList.aiExclude. -func exprRefToSrcList(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:108401:12: */ +func exprRefToSrcList(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:108414:12: */ if int32((*Expr)(unsafe.Pointer(pExpr)).Fop) == TK_COLUMN || int32((*Expr)(unsafe.Pointer(pExpr)).Fop) == TK_AGG_COLUMN { var i int32 @@ -88796,7 +88815,7 @@ func exprRefToSrcList(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* // // As currently used, pExpr is always an aggregate function call. That // fact is exploited for efficiency. -func Xsqlite3ReferencesSrcList(tls *libc.TLS, pParse uintptr, pExpr uintptr, pSrcList uintptr) int32 { /* sqlite3.c:108438:20: */ +func Xsqlite3ReferencesSrcList(tls *libc.TLS, pParse uintptr, pExpr uintptr, pSrcList uintptr) int32 { /* sqlite3.c:108451:20: */ bp := tls.Alloc(80) defer tls.Free(80) @@ -88845,7 +88864,7 @@ func Xsqlite3ReferencesSrcList(tls *libc.TLS, pParse uintptr, pExpr uintptr, pSr // This will cause the expression to be deleted automatically when the // Parse object is destroyed, but the zero register number means that it // will not generate any code in the preamble. -func agginfoPersistExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:108480:12: */ +func agginfoPersistExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:108493:12: */ if !((*Expr)(unsafe.Pointer(pExpr)).Fflags&U32(EP_TokenOnly|EP_Reduced) != U32(0)) && (*Expr)(unsafe.Pointer(pExpr)).FpAggInfo != uintptr(0) { var pAggInfo uintptr = (*Expr)(unsafe.Pointer(pExpr)).FpAggInfo @@ -88878,7 +88897,7 @@ func agginfoPersistExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { // Initialize a Walker object so that will persist AggInfo entries referenced // by the tree that is walked. -func Xsqlite3AggInfoPersistWalkerInit(tls *libc.TLS, pWalker uintptr, pParse uintptr) { /* sqlite3.c:108516:21: */ +func Xsqlite3AggInfoPersistWalkerInit(tls *libc.TLS, pWalker uintptr, pParse uintptr) { /* sqlite3.c:108529:21: */ libc.Xmemset(tls, pWalker, 0, uint64(unsafe.Sizeof(Walker{}))) (*Walker)(unsafe.Pointer(pWalker)).FpParse = pParse (*Walker)(unsafe.Pointer(pWalker)).FxExprCallback = *(*uintptr)(unsafe.Pointer(&struct { @@ -88891,7 +88910,7 @@ func Xsqlite3AggInfoPersistWalkerInit(tls *libc.TLS, pWalker uintptr, pParse uin // Add a new element to the pAggInfo->aCol[] array. Return the index of // the new element. Return a negative number if malloc fails. -func addAggInfoColumn(tls *libc.TLS, db uintptr, pInfo uintptr) int32 { /* sqlite3.c:108527:12: */ +func addAggInfoColumn(tls *libc.TLS, db uintptr, pInfo uintptr) int32 { /* sqlite3.c:108540:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -88908,7 +88927,7 @@ func addAggInfoColumn(tls *libc.TLS, db uintptr, pInfo uintptr) int32 { /* sqlit // Add a new element to the pAggInfo->aFunc[] array. Return the index of // the new element. Return a negative number if malloc fails. -func addAggInfoFunc(tls *libc.TLS, db uintptr, pInfo uintptr) int32 { /* sqlite3.c:108543:12: */ +func addAggInfoFunc(tls *libc.TLS, db uintptr, pInfo uintptr) int32 { /* sqlite3.c:108556:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -88926,7 +88945,7 @@ func addAggInfoFunc(tls *libc.TLS, db uintptr, pInfo uintptr) int32 { /* sqlite3 // This is the xExprCallback for a tree walker. It is used to // implement sqlite3ExprAnalyzeAggregates(). See sqlite3ExprAnalyzeAggregates // for additional information. -func analyzeAggregate(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:108560:12: */ +func analyzeAggregate(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:108573:12: */ var i int32 var pNC uintptr = *(*uintptr)(unsafe.Pointer(pWalker + 40)) var pParse uintptr = (*NameContext)(unsafe.Pointer(pNC)).FpParse @@ -89117,7 +89136,7 @@ func analyzeAggregate(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* // // This routine should only be called after the expression has been // analyzed by sqlite3ResolveExprNames(). -func Xsqlite3ExprAnalyzeAggregates(tls *libc.TLS, pNC uintptr, pExpr uintptr) { /* sqlite3.c:108698:21: */ +func Xsqlite3ExprAnalyzeAggregates(tls *libc.TLS, pNC uintptr, pExpr uintptr) { /* sqlite3.c:108711:21: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -89143,7 +89162,7 @@ func Xsqlite3ExprAnalyzeAggregates(tls *libc.TLS, pNC uintptr, pExpr uintptr) { // expression list. Return the number of errors. // // If an error is found, the analysis is cut short. -func Xsqlite3ExprAnalyzeAggList(tls *libc.TLS, pNC uintptr, pList uintptr) { /* sqlite3.c:108716:21: */ +func Xsqlite3ExprAnalyzeAggList(tls *libc.TLS, pNC uintptr, pList uintptr) { /* sqlite3.c:108729:21: */ var pItem uintptr var i int32 if pList != 0 { @@ -89168,7 +89187,7 @@ func Xsqlite3ExprAnalyzeAggList(tls *libc.TLS, pNC uintptr, pList uintptr) { /* } // Allocate a single new register for use to hold some intermediate result. -func Xsqlite3GetTempReg(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:108729:20: */ +func Xsqlite3GetTempReg(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:108742:20: */ if int32((*Parse)(unsafe.Pointer(pParse)).FnTempReg) == 0 { return libc.PreIncInt32(&(*Parse)(unsafe.Pointer(pParse)).FnMem, 1) } @@ -89177,7 +89196,7 @@ func Xsqlite3GetTempReg(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:1087 // Deallocate a register, making available for reuse for some other // purpose. -func Xsqlite3ReleaseTempReg(tls *libc.TLS, pParse uintptr, iReg int32) { /* sqlite3.c:108740:21: */ +func Xsqlite3ReleaseTempReg(tls *libc.TLS, pParse uintptr, iReg int32) { /* sqlite3.c:108753:21: */ if iReg != 0 { if int32((*Parse)(unsafe.Pointer(pParse)).FnTempReg) < int32(uint64(unsafe.Sizeof([8]int32{}))/uint64(unsafe.Sizeof(int32(0)))) { @@ -89187,7 +89206,7 @@ func Xsqlite3ReleaseTempReg(tls *libc.TLS, pParse uintptr, iReg int32) { /* sqli } // Allocate or deallocate a block of nReg consecutive registers. -func Xsqlite3GetTempRange(tls *libc.TLS, pParse uintptr, nReg int32) int32 { /* sqlite3.c:108752:20: */ +func Xsqlite3GetTempRange(tls *libc.TLS, pParse uintptr, nReg int32) int32 { /* sqlite3.c:108765:20: */ var i int32 var n int32 if nReg == 1 { @@ -89205,7 +89224,7 @@ func Xsqlite3GetTempRange(tls *libc.TLS, pParse uintptr, nReg int32) int32 { /* return i } -func Xsqlite3ReleaseTempRange(tls *libc.TLS, pParse uintptr, iReg int32, nReg int32) { /* sqlite3.c:108766:21: */ +func Xsqlite3ReleaseTempRange(tls *libc.TLS, pParse uintptr, iReg int32, nReg int32) { /* sqlite3.c:108779:21: */ if nReg == 1 { Xsqlite3ReleaseTempReg(tls, pParse, iReg) return @@ -89223,7 +89242,7 @@ func Xsqlite3ReleaseTempRange(tls *libc.TLS, pParse uintptr, iReg int32, nReg in // that might be invoked from other parts of the code, to ensure that // the sub/co-routine does not use registers in common with the code that // invokes the sub/co-routine. -func Xsqlite3ClearTempRegCache(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:108786:21: */ +func Xsqlite3ClearTempRegCache(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:108799:21: */ (*Parse)(unsafe.Pointer(pParse)).FnTempReg = U8(0) (*Parse)(unsafe.Pointer(pParse)).FnRangeReg = 0 } @@ -89257,7 +89276,7 @@ func Xsqlite3ClearTempRegCache(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:108 // in pParse->zErr (system tables may not be altered) and returns non-zero. // // Or, if zName is not a system table, zero is returned. -func isAlterableTable(tls *libc.TLS, pParse uintptr, pTab uintptr) int32 { /* sqlite3.c:108846:12: */ +func isAlterableTable(tls *libc.TLS, pParse uintptr, pTab uintptr) int32 { /* sqlite3.c:108859:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -89276,7 +89295,7 @@ func isAlterableTable(tls *libc.TLS, pParse uintptr, pTab uintptr) int32 { /* sq // called at the end of the generation of an ALTER TABLE ... RENAME ... // statement to ensure that the operation has not rendered any schema // objects unusable. -func renameTestSchema(tls *libc.TLS, pParse uintptr, zDb uintptr, bTemp int32, zWhen uintptr, bNoDQS int32) { /* sqlite3.c:108868:13: */ +func renameTestSchema(tls *libc.TLS, pParse uintptr, zDb uintptr, bTemp int32, zWhen uintptr, bNoDQS int32) { /* sqlite3.c:108881:13: */ bp := tls.Alloc(64) defer tls.Free(64) @@ -89300,7 +89319,7 @@ func renameTestSchema(tls *libc.TLS, pParse uintptr, zDb uintptr, bTemp int32, z // database zDb with their single-quoted equivalents. If argument bTemp is // not true, similarly update all SQL statements in the sqlite_schema table // of the temp db. -func renameFixQuotes(tls *libc.TLS, pParse uintptr, zDb uintptr, bTemp int32) { /* sqlite3.c:108905:13: */ +func renameFixQuotes(tls *libc.TLS, pParse uintptr, zDb uintptr, bTemp int32) { /* sqlite3.c:108918:13: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -89316,7 +89335,7 @@ func renameFixQuotes(tls *libc.TLS, pParse uintptr, zDb uintptr, bTemp int32) { // Generate code to reload the schema for database iDb. And, if iDb!=1, for // the temp database as well. -func renameReloadSchema(tls *libc.TLS, pParse uintptr, iDb int32, p5 U16) { /* sqlite3.c:108926:13: */ +func renameReloadSchema(tls *libc.TLS, pParse uintptr, iDb int32, p5 U16) { /* sqlite3.c:108939:13: */ var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe if v != 0 { Xsqlite3ChangeCookie(tls, pParse, iDb) @@ -89329,7 +89348,7 @@ func renameReloadSchema(tls *libc.TLS, pParse uintptr, iDb int32, p5 U16) { /* s // Generate code to implement the "ALTER TABLE xxx RENAME TO yyy" // command. -func Xsqlite3AlterRenameTable(tls *libc.TLS, pParse uintptr, pSrc uintptr, pName uintptr) { /* sqlite3.c:108939:21: */ +func Xsqlite3AlterRenameTable(tls *libc.TLS, pParse uintptr, pSrc uintptr, pName uintptr) { /* sqlite3.c:108952:21: */ bp := tls.Alloc(184) defer tls.Free(184) @@ -89514,7 +89533,7 @@ exit_rename_table: // Write code that will raise an error if the table described by // zDb and zTab is not empty. -func sqlite3ErrorIfNotEmpty(tls *libc.TLS, pParse uintptr, zDb uintptr, zTab uintptr, zErr uintptr) { /* sqlite3.c:109108:13: */ +func sqlite3ErrorIfNotEmpty(tls *libc.TLS, pParse uintptr, zDb uintptr, zTab uintptr, zErr uintptr) { /* sqlite3.c:109121:13: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -89529,7 +89548,7 @@ func sqlite3ErrorIfNotEmpty(tls *libc.TLS, pParse uintptr, zDb uintptr, zTab uin // // The Table structure pParse->pNewTable was extended to include // the new column during parsing. -func Xsqlite3AlterFinishAddColumn(tls *libc.TLS, pParse uintptr, pColDef uintptr) { /* sqlite3.c:109128:21: */ +func Xsqlite3AlterFinishAddColumn(tls *libc.TLS, pParse uintptr, pColDef uintptr) { /* sqlite3.c:109141:21: */ bp := tls.Alloc(64) defer tls.Free(64) @@ -89675,7 +89694,7 @@ func Xsqlite3AlterFinishAddColumn(tls *libc.TLS, pParse uintptr, pColDef uintptr // // Routine sqlite3AlterFinishAddColumn() will be called to complete // coding the "ALTER TABLE ... ADD" statement. -func Xsqlite3AlterBeginAddColumn(tls *libc.TLS, pParse uintptr, pSrc uintptr) { /* sqlite3.c:109293:21: */ +func Xsqlite3AlterBeginAddColumn(tls *libc.TLS, pParse uintptr, pSrc uintptr) { /* sqlite3.c:109306:21: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -89792,7 +89811,7 @@ exit_begin_add_column: // it loads an error message into pParse and returns non-zero. // // Or, if pTab is not a view or virtual table, zero is returned. -func isRealTable(tls *libc.TLS, pParse uintptr, pTab uintptr, bDrop int32) int32 { /* sqlite3.c:109376:12: */ +func isRealTable(tls *libc.TLS, pParse uintptr, pTab uintptr, bDrop int32) int32 { /* sqlite3.c:109389:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -89820,7 +89839,7 @@ func isRealTable(tls *libc.TLS, pParse uintptr, pTab uintptr, bDrop int32) int32 // Handles the following parser reduction: // // cmd ::= ALTER TABLE pSrc RENAME COLUMN pOld TO pNew -func Xsqlite3AlterRenameColumn(tls *libc.TLS, pParse uintptr, pSrc uintptr, pOld uintptr, pNew uintptr) { /* sqlite3.c:109406:21: */ +func Xsqlite3AlterRenameColumn(tls *libc.TLS, pParse uintptr, pSrc uintptr, pOld uintptr, pNew uintptr) { /* sqlite3.c:109419:21: */ bp := tls.Alloc(112) defer tls.Free(112) @@ -89949,7 +89968,7 @@ exit_rename_column: // The context of an ALTER TABLE RENAME COLUMN operation that gets passed // down into the Walker. -type RenameCtx = RenameCtx1 /* sqlite3.c:109521:26 */ +type RenameCtx = RenameCtx1 /* sqlite3.c:109534:26 */ // Remember that the parser tree element pPtr was created using // the token pToken. @@ -89961,7 +89980,7 @@ type RenameCtx = RenameCtx1 /* sqlite3.c:109521:26 */ // The pPtr argument is returned so that this routine can be used // with tail recursion in tokenExpr() routine, for a small performance // improvement. -func Xsqlite3RenameTokenMap(tls *libc.TLS, pParse uintptr, pPtr uintptr, pToken uintptr) uintptr { /* sqlite3.c:109584:27: */ +func Xsqlite3RenameTokenMap(tls *libc.TLS, pParse uintptr, pPtr uintptr, pToken uintptr) uintptr { /* sqlite3.c:109597:27: */ var pNew uintptr if int32((*Parse)(unsafe.Pointer(pParse)).FeParseMode) != PARSE_MODE_UNMAP { @@ -89980,7 +89999,7 @@ func Xsqlite3RenameTokenMap(tls *libc.TLS, pParse uintptr, pPtr uintptr, pToken // It is assumed that there is already a RenameToken object associated // with parse tree element pFrom. This function remaps the associated token // to parse tree element pTo. -func Xsqlite3RenameTokenRemap(tls *libc.TLS, pParse uintptr, pTo uintptr, pFrom uintptr) { /* sqlite3.c:109610:21: */ +func Xsqlite3RenameTokenRemap(tls *libc.TLS, pParse uintptr, pTo uintptr, pFrom uintptr) { /* sqlite3.c:109623:21: */ var p uintptr for p = (*Parse)(unsafe.Pointer(pParse)).FpRename; p != 0; p = (*RenameToken)(unsafe.Pointer(p)).FpNext { @@ -89992,7 +90011,7 @@ func Xsqlite3RenameTokenRemap(tls *libc.TLS, pParse uintptr, pTo uintptr, pFrom } // Walker callback used by sqlite3RenameExprUnmap(). -func renameUnmapExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:109624:12: */ +func renameUnmapExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:109637:12: */ var pParse uintptr = (*Walker)(unsafe.Pointer(pWalker)).FpParse Xsqlite3RenameTokenRemap(tls, pParse, uintptr(0), pExpr) if (*Expr)(unsafe.Pointer(pExpr)).Fflags&U32(EP_WinFunc|EP_Subrtn) == U32(0) { @@ -90003,7 +90022,7 @@ func renameUnmapExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* // Iterate through the Select objects that are part of WITH clauses attached // to select statement pSelect. -func renameWalkWith(tls *libc.TLS, pWalker uintptr, pSelect uintptr) { /* sqlite3.c:109637:13: */ +func renameWalkWith(tls *libc.TLS, pWalker uintptr, pSelect uintptr) { /* sqlite3.c:109650:13: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -90044,7 +90063,7 @@ func renameWalkWith(tls *libc.TLS, pWalker uintptr, pSelect uintptr) { /* sqlite } // Unmap all tokens in the IdList object passed as the second argument. -func unmapColumnIdlistNames(tls *libc.TLS, pParse uintptr, pIdList uintptr) { /* sqlite3.c:109672:13: */ +func unmapColumnIdlistNames(tls *libc.TLS, pParse uintptr, pIdList uintptr) { /* sqlite3.c:109685:13: */ if pIdList != 0 { var ii int32 for ii = 0; ii < (*IdList)(unsafe.Pointer(pIdList)).FnId; ii++ { @@ -90054,7 +90073,7 @@ func unmapColumnIdlistNames(tls *libc.TLS, pParse uintptr, pIdList uintptr) { /* } // Walker callback used by sqlite3RenameExprUnmap(). -func renameUnmapSelectCb(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sqlite3.c:109687:12: */ +func renameUnmapSelectCb(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sqlite3.c:109700:12: */ var pParse uintptr = (*Walker)(unsafe.Pointer(pWalker)).FpParse var i int32 if (*Parse)(unsafe.Pointer(pParse)).FnErr != 0 { @@ -90086,7 +90105,7 @@ func renameUnmapSelectCb(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* s } // Remove all nodes that are part of expression pExpr from the rename list. -func Xsqlite3RenameExprUnmap(tls *libc.TLS, pParse uintptr, pExpr uintptr) { /* sqlite3.c:109720:21: */ +func Xsqlite3RenameExprUnmap(tls *libc.TLS, pParse uintptr, pExpr uintptr) { /* sqlite3.c:109733:21: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -90108,7 +90127,7 @@ func Xsqlite3RenameExprUnmap(tls *libc.TLS, pParse uintptr, pExpr uintptr) { /* // Remove all nodes that are part of expression-list pEList from the // rename list. -func Xsqlite3RenameExprlistUnmap(tls *libc.TLS, pParse uintptr, pEList uintptr) { /* sqlite3.c:109736:21: */ +func Xsqlite3RenameExprlistUnmap(tls *libc.TLS, pParse uintptr, pEList uintptr) { /* sqlite3.c:109749:21: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -90131,7 +90150,7 @@ func Xsqlite3RenameExprlistUnmap(tls *libc.TLS, pParse uintptr, pEList uintptr) } // Free the list of RenameToken objects given in the second argument -func renameTokenFree(tls *libc.TLS, db uintptr, pToken uintptr) { /* sqlite3.c:109755:13: */ +func renameTokenFree(tls *libc.TLS, db uintptr, pToken uintptr) { /* sqlite3.c:109768:13: */ var pNext uintptr var p uintptr for p = pToken; p != 0; p = pNext { @@ -90147,7 +90166,7 @@ func renameTokenFree(tls *libc.TLS, db uintptr, pToken uintptr) { /* sqlite3.c:1 // If the second argument passed to this function is not NULL and a matching // RenameToken object is found, remove it from the Parse object and add it to // the list maintained by the RenameCtx object. -func renameTokenFind(tls *libc.TLS, pParse uintptr, pCtx uintptr, pPtr uintptr) uintptr { /* sqlite3.c:109773:20: */ +func renameTokenFind(tls *libc.TLS, pParse uintptr, pCtx uintptr, pPtr uintptr) uintptr { /* sqlite3.c:109786:20: */ var pp uintptr if pPtr == uintptr(0) { return uintptr(0) @@ -90170,7 +90189,7 @@ func renameTokenFind(tls *libc.TLS, pParse uintptr, pCtx uintptr, pPtr uintptr) // This is a Walker select callback. It does nothing. It is only required // because without a dummy callback, sqlite3WalkExpr() and similar do not // descend into sub-select statements. -func renameColumnSelectCb(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sqlite3.c:109802:12: */ +func renameColumnSelectCb(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sqlite3.c:109815:12: */ if (*Select)(unsafe.Pointer(p)).FselFlags&U32(SF_View|SF_CopyCte) != 0 { return WRC_Prune @@ -90186,7 +90205,7 @@ func renameColumnSelectCb(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* // ALTER TABLE statement. If it is, then attach its associated // RenameToken object to the list of RenameToken objects being // constructed in RenameCtx object at pWalker->u.pRename. -func renameColumnExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:109821:12: */ +func renameColumnExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:109834:12: */ var p uintptr = *(*uintptr)(unsafe.Pointer(pWalker + 40)) if int32((*Expr)(unsafe.Pointer(pExpr)).Fop) == TK_TRIGGER && int32((*Expr)(unsafe.Pointer(pExpr)).FiColumn) == (*RenameCtx)(unsafe.Pointer(p)).FiCol && @@ -90208,7 +90227,7 @@ func renameColumnExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { / // the input SQL is parsed from left to right. Repeated calls to this routine // return all column name tokens in the order that they are encountered // in the SQL statement. -func renameColumnTokenNext(tls *libc.TLS, pCtx uintptr) uintptr { /* sqlite3.c:109847:20: */ +func renameColumnTokenNext(tls *libc.TLS, pCtx uintptr) uintptr { /* sqlite3.c:109860:20: */ var pBest uintptr = (*RenameCtx)(unsafe.Pointer(pCtx)).FpList var pToken uintptr var pp uintptr @@ -90230,7 +90249,7 @@ func renameColumnTokenNext(tls *libc.TLS, pCtx uintptr) uintptr { /* sqlite3.c:1 // ALTER TABLE RENAME COLUMN program. The error message emitted by the // sub-routine is currently stored in pParse->zErrMsg. This function // adds context to the error message and then stores it in pCtx. -func renameColumnParseError(tls *libc.TLS, pCtx uintptr, zWhen uintptr, pType uintptr, pObject uintptr, pParse uintptr) { /* sqlite3.c:109868:13: */ +func renameColumnParseError(tls *libc.TLS, pCtx uintptr, zWhen uintptr, pType uintptr, pObject uintptr, pParse uintptr) { /* sqlite3.c:109881:13: */ bp := tls.Alloc(40) defer tls.Free(40) @@ -90254,7 +90273,7 @@ func renameColumnParseError(tls *libc.TLS, pCtx uintptr, zWhen uintptr, pType ui // pEList->a[i].zName) that matches the string in zOld, extract the // corresponding rename-token from Parse object pParse and add it // to the RenameCtx pCtx. -func renameColumnElistNames(tls *libc.TLS, pParse uintptr, pCtx uintptr, pEList uintptr, zOld uintptr) { /* sqlite3.c:109893:13: */ +func renameColumnElistNames(tls *libc.TLS, pParse uintptr, pCtx uintptr, pEList uintptr, zOld uintptr) { /* sqlite3.c:109906:13: */ if pEList != 0 { var i int32 for i = 0; i < (*ExprList)(unsafe.Pointer(pEList)).FnExpr; i++ { @@ -90271,7 +90290,7 @@ func renameColumnElistNames(tls *libc.TLS, pParse uintptr, pCtx uintptr, pEList // For each name in the the id-list pIdList (i.e. each pIdList->a[i].zName) // that matches the string in zOld, extract the corresponding rename-token // from Parse object pParse and add it to the RenameCtx pCtx. -func renameColumnIdlistNames(tls *libc.TLS, pParse uintptr, pCtx uintptr, pIdList uintptr, zOld uintptr) { /* sqlite3.c:109918:13: */ +func renameColumnIdlistNames(tls *libc.TLS, pParse uintptr, pCtx uintptr, pIdList uintptr, zOld uintptr) { /* sqlite3.c:109931:13: */ if pIdList != 0 { var i int32 for i = 0; i < (*IdList)(unsafe.Pointer(pIdList)).FnId; i++ { @@ -90285,7 +90304,7 @@ func renameColumnIdlistNames(tls *libc.TLS, pParse uintptr, pCtx uintptr, pIdLis // Parse the SQL statement zSql using Parse object (*p). The Parse object // is initialized by this function before it is used. -func renameParseSql(tls *libc.TLS, p uintptr, zDb uintptr, db uintptr, zSql uintptr, bTemp int32) int32 { /* sqlite3.c:109940:12: */ +func renameParseSql(tls *libc.TLS, p uintptr, zDb uintptr, db uintptr, zSql uintptr, bTemp int32) int32 { /* sqlite3.c:109953:12: */ var rc int32 Xsqlite3ParseObjectInit(tls, p, db) @@ -90293,7 +90312,7 @@ func renameParseSql(tls *libc.TLS, p uintptr, zDb uintptr, db uintptr, zSql uint return SQLITE_NOMEM } if Xsqlite3_strnicmp(tls, zSql, ts+10807, 7) != 0 { - return Xsqlite3CorruptError(tls, 109954) + return Xsqlite3CorruptError(tls, 109967) } (*Sqlite3)(unsafe.Pointer(db)).Finit.FiDb = func() uint8 { if bTemp != 0 { @@ -90310,7 +90329,7 @@ func renameParseSql(tls *libc.TLS, p uintptr, zDb uintptr, db uintptr, zSql uint } if rc == SQLITE_OK && ((*Parse)(unsafe.Pointer(p)).FpNewTable == uintptr(0) && (*Parse)(unsafe.Pointer(p)).FpNewIndex == uintptr(0) && (*Parse)(unsafe.Pointer(p)).FpNewTrigger == uintptr(0)) { - rc = Xsqlite3CorruptError(tls, 109965) + rc = Xsqlite3CorruptError(tls, 109978) } (*Sqlite3)(unsafe.Pointer(db)).Finit.FiDb = U8(0) @@ -90324,7 +90343,7 @@ func renameParseSql(tls *libc.TLS, p uintptr, zDb uintptr, db uintptr, zSql uint // // Or, if an error occurs (i.e. an OOM condition), an error is left in // pCtx and an SQLite error code returned. -func renameEditSql(tls *libc.TLS, pCtx uintptr, pRename uintptr, zSql uintptr, zNew uintptr, bQuote int32) int32 { /* sqlite3.c:109993:12: */ +func renameEditSql(tls *libc.TLS, pCtx uintptr, pRename uintptr, zSql uintptr, zNew uintptr, bQuote int32) int32 { /* sqlite3.c:110006:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -90430,7 +90449,7 @@ func renameEditSql(tls *libc.TLS, pCtx uintptr, pRename uintptr, zSql uintptr, z // it was read from the schema of database zDb. Return SQLITE_OK if // successful. Otherwise, return an SQLite error code and leave an error // message in the Parse object. -func renameResolveTrigger(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:110100:12: */ +func renameResolveTrigger(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:110113:12: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -90528,7 +90547,7 @@ func renameResolveTrigger(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:11 // Invoke sqlite3WalkExpr() or sqlite3WalkSelect() on all Select or Expr // objects that are part of the trigger passed as the second argument. -func renameWalkTrigger(tls *libc.TLS, pWalker uintptr, pTrigger uintptr) { /* sqlite3.c:110196:13: */ +func renameWalkTrigger(tls *libc.TLS, pWalker uintptr, pTrigger uintptr) { /* sqlite3.c:110209:13: */ var pStep uintptr // Find tokens to edit in WHEN clause @@ -90557,7 +90576,7 @@ func renameWalkTrigger(tls *libc.TLS, pWalker uintptr, pTrigger uintptr) { /* sq // Free the contents of Parse object (*pParse). Do not free the memory // occupied by the Parse object itself. -func renameParseCleanup(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:110227:13: */ +func renameParseCleanup(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:110240:13: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb var pIdx uintptr if (*Parse)(unsafe.Pointer(pParse)).FpVdbe != 0 { @@ -90596,7 +90615,7 @@ func renameParseCleanup(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:110227:13: // It is only accessible to SQL created using sqlite3NestedParse(). It is // not reachable from ordinary SQL passed into sqlite3_prepare() unless the // SQLITE_TESTCTRL_INTERNAL_FUNCTIONS test setting is enabled. -func renameColumnFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { /* sqlite3.c:110268:13: */ +func renameColumnFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { /* sqlite3.c:110281:13: */ bp := tls.Alloc(488) defer tls.Free(488) @@ -90939,7 +90958,7 @@ __44: } // Walker expression callback used by "RENAME TABLE". -func renameTableExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:110435:12: */ +func renameTableExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:110448:12: */ var p uintptr = *(*uintptr)(unsafe.Pointer(pWalker + 40)) if int32((*Expr)(unsafe.Pointer(pExpr)).Fop) == TK_COLUMN && (*Expr)(unsafe.Pointer(pExpr)).Fflags&U32(EP_WinFunc|EP_Subrtn) == U32(0) && @@ -90950,7 +90969,7 @@ func renameTableExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* } // Walker select callback used by "RENAME TABLE". -func renameTableSelectCb(tls *libc.TLS, pWalker uintptr, pSelect uintptr) int32 { /* sqlite3.c:110449:12: */ +func renameTableSelectCb(tls *libc.TLS, pWalker uintptr, pSelect uintptr) int32 { /* sqlite3.c:110462:12: */ var i int32 var p uintptr = *(*uintptr)(unsafe.Pointer(pWalker + 40)) var pSrc uintptr = (*Select)(unsafe.Pointer(pSelect)).FpSrc @@ -90990,7 +91009,7 @@ func renameTableSelectCb(tls *libc.TLS, pWalker uintptr, pSelect uintptr) int32 // // sqlite_rename_table('main', 'CREATE TABLE t1(a REFERENCES t2)','t2','t3',0) // -> 'CREATE TABLE t1(a REFERENCES t3)' -func renameTableFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { /* sqlite3.c:110493:13: */ +func renameTableFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { /* sqlite3.c:110506:13: */ bp := tls.Alloc(544) defer tls.Free(544) @@ -91124,7 +91143,7 @@ func renameTableFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr return } -func renameQuotefixExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:110636:12: */ +func renameQuotefixExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:110649:12: */ if int32((*Expr)(unsafe.Pointer(pExpr)).Fop) == TK_STRING && (*Expr)(unsafe.Pointer(pExpr)).Fflags&U32(EP_DblQuoted) != 0 { renameTokenFind(tls, (*Walker)(unsafe.Pointer(pWalker)).FpParse, *(*uintptr)(unsafe.Pointer(pWalker + 40)), pExpr) } @@ -91157,7 +91176,7 @@ func renameQuotefixExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { // If there is a error in the input SQL, then raise an error, except // if PRAGMA writable_schema=ON, then just return the input string // unmodified following an error. -func renameQuotefixFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { /* sqlite3.c:110670:13: */ +func renameQuotefixFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { /* sqlite3.c:110683:13: */ bp := tls.Alloc(488) defer tls.Free(488) @@ -91271,7 +91290,7 @@ func renameQuotefixFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uint // B. Else if a trigger is created and the the table that the trigger is // attached to is in database zDb, then return 1. // C. Otherwise return NULL. -func renameTableTest(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { /* sqlite3.c:110783:13: */ +func renameTableTest(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { /* sqlite3.c:110796:13: */ bp := tls.Alloc(464) defer tls.Free(464) @@ -91343,7 +91362,7 @@ func renameTableTest(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr // // The value returned is a string containing the CREATE TABLE statement // with column argv[2] removed. -func dropColumnFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { /* sqlite3.c:110858:13: */ +func dropColumnFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { /* sqlite3.c:110871:13: */ bp := tls.Alloc(432) defer tls.Free(432) @@ -91383,7 +91402,7 @@ __1: goto __2 } // This can happen if the sqlite_schema table is corrupt - rc = Xsqlite3CorruptError(tls, 110886) + rc = Xsqlite3CorruptError(tls, 110899) goto drop_column_done __2: ; @@ -91429,7 +91448,7 @@ __7: // // statement. Argument pSrc contains the possibly qualified name of the // table being edited, and token pName the name of the column to drop. -func Xsqlite3AlterDropColumn(tls *libc.TLS, pParse uintptr, pSrc uintptr, pName uintptr) { /* sqlite3.c:110923:21: */ +func Xsqlite3AlterDropColumn(tls *libc.TLS, pParse uintptr, pSrc uintptr, pName uintptr) { /* sqlite3.c:110936:21: */ bp := tls.Alloc(64) defer tls.Free(64) @@ -91662,7 +91681,7 @@ exit_drop_column: } // Register built-in functions used to help implement ALTER TABLE -func Xsqlite3AlterFunctions(tls *libc.TLS) { /* sqlite3.c:111065:21: */ +func Xsqlite3AlterFunctions(tls *libc.TLS) { /* sqlite3.c:111078:21: */ Xsqlite3InsertBuiltinFuncs(tls, uintptr(unsafe.Pointer(&aAlterTableFuncs)), int32(uint64(unsafe.Sizeof(aAlterTableFuncs))/uint64(unsafe.Sizeof(FuncDef{})))) } @@ -91671,7 +91690,7 @@ var aAlterTableFuncs = [5]FuncDef{ {FnArg: int8(7), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_FUNC_INTERNAL | SQLITE_UTF8 | SQLITE_FUNC_CONSTANT), FxSFunc: 0, FzName: ts + 11081}, {FnArg: int8(7), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_FUNC_INTERNAL | SQLITE_UTF8 | SQLITE_FUNC_CONSTANT), FxSFunc: 0, FzName: ts + 11101}, {FnArg: int8(3), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_FUNC_INTERNAL | SQLITE_UTF8 | SQLITE_FUNC_CONSTANT), FxSFunc: 0, FzName: ts + 11120}, - {FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_FUNC_INTERNAL | SQLITE_UTF8 | SQLITE_FUNC_CONSTANT), FxSFunc: 0, FzName: ts + 11139}} /* sqlite3.c:111066:18 */ + {FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_FUNC_INTERNAL | SQLITE_UTF8 | SQLITE_FUNC_CONSTANT), FxSFunc: 0, FzName: ts + 11139}} /* sqlite3.c:111079:18 */ //************* End of alter.c ********************************************** //************* Begin file analyze.c **************************************** @@ -91827,7 +91846,7 @@ var aAlterTableFuncs = [5]FuncDef{ // or it may be a NULL pointer. If it is not NULL, then all entries in // the sqlite_statN tables associated with the named table are deleted. // If zWhere==0, then code is generated to delete all stat table entries. -func openStatTable(tls *libc.TLS, pParse uintptr, iDb int32, iStatCur int32, zWhere uintptr, zWhereType uintptr) { /* sqlite3.c:111244:13: */ +func openStatTable(tls *libc.TLS, pParse uintptr, iDb int32, iStatCur int32, zWhere uintptr, zWhereType uintptr) { /* sqlite3.c:111257:13: */ bp := tls.Alloc(88) defer tls.Free(88) @@ -91907,7 +91926,7 @@ var aTable = [3]struct { {FzName: ts + 11233 /* "sqlite_stat1" */, FzCols: ts + 11246 /* "tbl,idx,stat" */}, {FzName: ts + 11259 /* "sqlite_stat4" */, FzCols: ts + 11272 /* "tbl,idx,neq,nlt,..." */}, {FzName: ts + 11300 /* "sqlite_stat3" */}, -} /* sqlite3.c:111254:5 */ +} /* sqlite3.c:111267:5 */ // Recommended number of samples for sqlite_stat4 @@ -91934,14 +91953,14 @@ type StatAccum1 = struct { FnMaxEqZero int32 FiGet int32 Fa uintptr -} /* sqlite3.c:111342:9 */ +} /* sqlite3.c:111355:9 */ // Recommended number of samples for sqlite_stat4 // Three SQL functions - stat_init(), stat_push(), and stat_get() - // share an instance of the following structure to hold their state // information. -type StatAccum = StatAccum1 /* sqlite3.c:111342:26 */ +type StatAccum = StatAccum1 /* sqlite3.c:111355:26 */ type StatSample1 = struct { FanEq uintptr FanDLt uintptr @@ -91952,12 +91971,12 @@ type StatSample1 = struct { F__ccgo_pad1 [3]byte FiCol int32 FiHash U32 -} /* sqlite3.c:111342:9 */ +} /* sqlite3.c:111355:9 */ -type StatSample = StatSample1 /* sqlite3.c:111343:27 */ +type StatSample = StatSample1 /* sqlite3.c:111356:27 */ // Reclaim memory used by a StatSample -func sampleClear(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:111384:13: */ +func sampleClear(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:111397:13: */ if (*StatSample)(unsafe.Pointer(p)).FnRowid != 0 { Xsqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(p + 24))) @@ -91966,7 +91985,7 @@ func sampleClear(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:111384:13: } // Initialize the BLOB value of a ROWID -func sampleSetRowid(tls *libc.TLS, db uintptr, p uintptr, n int32, pData uintptr) { /* sqlite3.c:111396:13: */ +func sampleSetRowid(tls *libc.TLS, db uintptr, p uintptr, n int32, pData uintptr) { /* sqlite3.c:111409:13: */ if (*StatSample)(unsafe.Pointer(p)).FnRowid != 0 { Xsqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(p + 24))) @@ -91981,7 +92000,7 @@ func sampleSetRowid(tls *libc.TLS, db uintptr, p uintptr, n int32, pData uintptr } // Initialize the INTEGER value of a ROWID. -func sampleSetRowidInt64(tls *libc.TLS, db uintptr, p uintptr, iRowid I64) { /* sqlite3.c:111412:13: */ +func sampleSetRowidInt64(tls *libc.TLS, db uintptr, p uintptr, iRowid I64) { /* sqlite3.c:111425:13: */ if (*StatSample)(unsafe.Pointer(p)).FnRowid != 0 { Xsqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(p + 24))) @@ -91991,7 +92010,7 @@ func sampleSetRowidInt64(tls *libc.TLS, db uintptr, p uintptr, iRowid I64) { /* } // Copy the contents of object (*pFrom) into (*pTo). -func sampleCopy(tls *libc.TLS, p uintptr, pTo uintptr, pFrom uintptr) { /* sqlite3.c:111425:13: */ +func sampleCopy(tls *libc.TLS, p uintptr, pTo uintptr, pFrom uintptr) { /* sqlite3.c:111438:13: */ (*StatSample)(unsafe.Pointer(pTo)).FisPSample = (*StatSample)(unsafe.Pointer(pFrom)).FisPSample (*StatSample)(unsafe.Pointer(pTo)).FiCol = (*StatSample)(unsafe.Pointer(pFrom)).FiCol (*StatSample)(unsafe.Pointer(pTo)).FiHash = (*StatSample)(unsafe.Pointer(pFrom)).FiHash @@ -92006,7 +92025,7 @@ func sampleCopy(tls *libc.TLS, p uintptr, pTo uintptr, pFrom uintptr) { /* sqlit } // Reclaim all memory of a StatAccum structure. -func statAccumDestructor(tls *libc.TLS, pOld uintptr) { /* sqlite3.c:111443:13: */ +func statAccumDestructor(tls *libc.TLS, pOld uintptr) { /* sqlite3.c:111456:13: */ var p uintptr = pOld if (*StatAccum)(unsafe.Pointer(p)).FmxSample != 0 { var i int32 @@ -92041,7 +92060,7 @@ func statAccumDestructor(tls *libc.TLS, pOld uintptr) { /* sqlite3.c:111443:13: // value is a pointer to the StatAccum object. The datatype of the // return value is BLOB, but it is really just a pointer to the StatAccum // object. -func statInit(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:111478:13: */ +func statInit(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:111491:13: */ var p uintptr var nCol int32 // Number of columns in index being sampled var nKeyCol int32 // Number of key columns @@ -92136,7 +92155,7 @@ var statInitFuncdef = FuncDef{ FnArg: int8(4), // nArg FfuncFlags: U32(SQLITE_UTF8), // pNext FxSFunc: 0, // xValue, xInverse - FzName: ts + 11313} /* sqlite3.c:111564:22 */ + FzName: ts + 11313} /* sqlite3.c:111577:22 */ // pNew and pOld are both candidate non-periodic samples selected for // the same column (pNew->iCol==pOld->iCol). Ignoring this column and @@ -92147,7 +92166,7 @@ var statInitFuncdef = FuncDef{ // // This function assumes that for each argument sample, the contents of // the anEq[] array from pSample->anEq[pSample->iCol+1] onwards are valid. -func sampleIsBetterPost(tls *libc.TLS, pAccum uintptr, pNew uintptr, pOld uintptr) int32 { /* sqlite3.c:111588:12: */ +func sampleIsBetterPost(tls *libc.TLS, pAccum uintptr, pNew uintptr, pOld uintptr) int32 { /* sqlite3.c:111601:12: */ var nCol int32 = (*StatAccum)(unsafe.Pointer(pAccum)).FnCol var i int32 @@ -92169,7 +92188,7 @@ func sampleIsBetterPost(tls *libc.TLS, pAccum uintptr, pNew uintptr, pOld uintpt // // This function assumes that for each argument sample, the contents of // the anEq[] array from pSample->anEq[pSample->iCol] onwards are valid. -func sampleIsBetter(tls *libc.TLS, pAccum uintptr, pNew uintptr, pOld uintptr) int32 { /* sqlite3.c:111612:12: */ +func sampleIsBetter(tls *libc.TLS, pAccum uintptr, pNew uintptr, pOld uintptr) int32 { /* sqlite3.c:111625:12: */ var nEqNew TRowcnt = *(*TRowcnt)(unsafe.Pointer((*StatSample)(unsafe.Pointer(pNew)).FanEq + uintptr((*StatSample)(unsafe.Pointer(pNew)).FiCol)*4)) var nEqOld TRowcnt = *(*TRowcnt)(unsafe.Pointer((*StatSample)(unsafe.Pointer(pOld)).FanEq + uintptr((*StatSample)(unsafe.Pointer(pOld)).FiCol)*4)) @@ -92187,7 +92206,7 @@ func sampleIsBetter(tls *libc.TLS, pAccum uintptr, pNew uintptr, pOld uintptr) i // Copy the contents of sample *pNew into the p->a[] array. If necessary, // remove the least desirable sample from p->a[] to make room. -func sampleInsert(tls *libc.TLS, p uintptr, pNew uintptr, nEqZero int32) { /* sqlite3.c:111635:13: */ +func sampleInsert(tls *libc.TLS, p uintptr, pNew uintptr, nEqZero int32) { /* sqlite3.c:111648:13: */ var pSample uintptr var i int32 var pOld uintptr @@ -92330,7 +92349,7 @@ __11: // p->current contains a sample that reflects the previous row of the // index. The value of anEq[iChng] and subsequent anEq[] elements are // correct at this point. -func samplePushPrevious(tls *libc.TLS, p uintptr, iChng int32) { /* sqlite3.c:111727:13: */ +func samplePushPrevious(tls *libc.TLS, p uintptr, iChng int32) { /* sqlite3.c:111740:13: */ var i int32 // Check if any samples from the aBest[] array should be pushed @@ -92382,7 +92401,7 @@ func samplePushPrevious(tls *libc.TLS, p uintptr, iChng int32) { /* sqlite3.c:11 // if it wants the byte-code to do special processing. // // The R parameter is only used for STAT4 -func statPush(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:111779:13: */ +func statPush(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:111792:13: */ var i int32 // The three function arguments @@ -92454,7 +92473,7 @@ var statPushFuncdef = FuncDef{ FnArg: int8(2 + IsStat4), FfuncFlags: U32(SQLITE_UTF8), // pNext FxSFunc: 0, // xValue, xInverse - FzName: ts + 11323} /* sqlite3.c:111854:22 */ + FzName: ts + 11323} /* sqlite3.c:111867:22 */ // Implementation of the stat_get(P,J) SQL function. This routine is // used to query statistical information that has been gathered into @@ -92473,7 +92492,7 @@ var statPushFuncdef = FuncDef{ // STAT_GET_STAT1 and is hence omitted and this routine becomes // a one-parameter function, stat_get(P), that always returns the // stat1 table entry information. -func statGet(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:111891:13: */ +func statGet(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:111904:13: */ bp := tls.Alloc(88) defer tls.Free(88) @@ -92574,9 +92593,9 @@ var statGetFuncdef = FuncDef{ FnArg: int8(1 + IsStat4), FfuncFlags: U32(SQLITE_UTF8), // pNext FxSFunc: 0, // xValue, xInverse - FzName: ts + 11350} /* sqlite3.c:111988:22 */ + FzName: ts + 11350} /* sqlite3.c:112001:22 */ -func callStatGet(tls *libc.TLS, pParse uintptr, regStat int32, iParam int32, regOut int32) { /* sqlite3.c:112000:13: */ +func callStatGet(tls *libc.TLS, pParse uintptr, regStat int32, iParam int32, regOut int32) { /* sqlite3.c:112013:13: */ Xsqlite3VdbeAddOp2(tls, (*Parse)(unsafe.Pointer(pParse)).FpVdbe, OP_Integer, iParam, regStat+1) Xsqlite3VdbeAddFunctionCall(tls, pParse, 0, regStat, regOut, 1+IsStat4, @@ -92585,7 +92604,7 @@ func callStatGet(tls *libc.TLS, pParse uintptr, regStat int32, iParam int32, reg // Generate code to do an analysis of all indices associated with // a single table. -func analyzeOneTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uintptr, iStatCur int32, iMem int32, iTab int32) { /* sqlite3.c:112041:13: */ +func analyzeOneTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uintptr, iStatCur int32, iMem int32, iTab int32) { /* sqlite3.c:112054:13: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb // Database handle var pIdx uintptr // An index to being analyzed var iIdxCur int32 // Cursor open on index being analyzed @@ -92945,7 +92964,7 @@ func analyzeOneTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uintp // Generate code that will cause the most recent index analysis to // be loaded into internal hash tables where is can be used. -func loadAnalysis(tls *libc.TLS, pParse uintptr, iDb int32) { /* sqlite3.c:112403:13: */ +func loadAnalysis(tls *libc.TLS, pParse uintptr, iDb int32) { /* sqlite3.c:112416:13: */ var v uintptr = Xsqlite3GetVdbe(tls, pParse) if v != 0 { Xsqlite3VdbeAddOp1(tls, v, OP_LoadAnalysis, iDb) @@ -92953,7 +92972,7 @@ func loadAnalysis(tls *libc.TLS, pParse uintptr, iDb int32) { /* sqlite3.c:11240 } // Generate code that will do an analysis of an entire database -func analyzeDatabase(tls *libc.TLS, pParse uintptr, iDb int32) { /* sqlite3.c:112413:13: */ +func analyzeDatabase(tls *libc.TLS, pParse uintptr, iDb int32) { /* sqlite3.c:112426:13: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb var pSchema uintptr = (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32)).FpSchema // Schema of database iDb var k uintptr @@ -92978,7 +92997,7 @@ func analyzeDatabase(tls *libc.TLS, pParse uintptr, iDb int32) { /* sqlite3.c:11 // Generate code that will do an analysis of a single table in // a database. If pOnlyIdx is not NULL then it is a single index // in pTab that should be analyzed. -func analyzeTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uintptr) { /* sqlite3.c:112440:13: */ +func analyzeTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uintptr) { /* sqlite3.c:112453:13: */ var iDb int32 var iStatCur int32 @@ -93005,7 +93024,7 @@ func analyzeTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uintptr) // Form 1 causes all indices in all attached databases to be analyzed. // Form 2 analyzes all indices the single database named. // Form 3 analyzes all indices associated with the named table. -func Xsqlite3Analyze(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 uintptr) { /* sqlite3.c:112471:21: */ +func Xsqlite3Analyze(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 uintptr) { /* sqlite3.c:112484:21: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -93068,16 +93087,16 @@ func Xsqlite3Analyze(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 uintp type analysisInfo = struct { Fdb uintptr FzDatabase uintptr -} /* sqlite3.c:112523:9 */ +} /* sqlite3.c:112536:9 */ // Used to pass information from the analyzer reader through to the // callback routine. -type AnalysisInfo = analysisInfo /* sqlite3.c:112523:29 */ +type AnalysisInfo = analysisInfo /* sqlite3.c:112536:29 */ // The first argument points to a nul-terminated string containing a // list of space separated integers. Read the first nOut of these into // the array aOut[]. -func decodeIntArray(tls *libc.TLS, zIntArray uintptr, nOut int32, aOut uintptr, aLog uintptr, pIndex uintptr) { /* sqlite3.c:112534:13: */ +func decodeIntArray(tls *libc.TLS, zIntArray uintptr, nOut int32, aOut uintptr, aLog uintptr, pIndex uintptr) { /* sqlite3.c:112547:13: */ var z uintptr = zIntArray var c int32 var i int32 @@ -93136,7 +93155,7 @@ func decodeIntArray(tls *libc.TLS, zIntArray uintptr, nOut int32, aOut uintptr, // // Entries for which argv[1]==NULL simply record the number of rows in // the table. -func analysisLoader(tls *libc.TLS, pData uintptr, argc int32, argv uintptr, NotUsed uintptr) int32 { /* sqlite3.c:112607:12: */ +func analysisLoader(tls *libc.TLS, pData uintptr, argc int32, argv uintptr, NotUsed uintptr) int32 { /* sqlite3.c:112620:12: */ bp := tls.Alloc(152) defer tls.Free(152) @@ -93198,7 +93217,7 @@ func analysisLoader(tls *libc.TLS, pData uintptr, argc int32, argv uintptr, NotU // If the Index.aSample variable is not NULL, delete the aSample[] array // and its contents. -func Xsqlite3DeleteIndexSamples(tls *libc.TLS, db uintptr, pIdx uintptr) { /* sqlite3.c:112670:21: */ +func Xsqlite3DeleteIndexSamples(tls *libc.TLS, db uintptr, pIdx uintptr) { /* sqlite3.c:112683:21: */ if (*Index)(unsafe.Pointer(pIdx)).FaSample != 0 { var j int32 for j = 0; j < (*Index)(unsafe.Pointer(pIdx)).FnSample; j++ { @@ -93215,7 +93234,7 @@ func Xsqlite3DeleteIndexSamples(tls *libc.TLS, db uintptr, pIdx uintptr) { /* sq // Populate the pIdx->aAvgEq[] array based on the samples currently // stored in pIdx->aSample[]. -func initAvgEq(tls *libc.TLS, pIdx uintptr) { /* sqlite3.c:112695:13: */ +func initAvgEq(tls *libc.TLS, pIdx uintptr) { /* sqlite3.c:112708:13: */ if pIdx != 0 { var aSample uintptr = (*Index)(unsafe.Pointer(pIdx)).FaSample var pFinal uintptr = aSample + uintptr((*Index)(unsafe.Pointer(pIdx)).FnSample-1)*40 @@ -93273,7 +93292,7 @@ func initAvgEq(tls *libc.TLS, pIdx uintptr) { /* sqlite3.c:112695:13: */ // Look up an index by name. Or, if the name of a WITHOUT ROWID table // is supplied instead, find the PRIMARY KEY index for that table. -func findIndexOrPrimaryKey(tls *libc.TLS, db uintptr, zName uintptr, zDb uintptr) uintptr { /* sqlite3.c:112754:14: */ +func findIndexOrPrimaryKey(tls *libc.TLS, db uintptr, zName uintptr, zDb uintptr) uintptr { /* sqlite3.c:112767:14: */ var pIdx uintptr = Xsqlite3FindIndex(tls, db, zName, zDb) if pIdx == uintptr(0) { var pTab uintptr = Xsqlite3FindTable(tls, db, zName, zDb) @@ -93294,7 +93313,7 @@ func findIndexOrPrimaryKey(tls *libc.TLS, db uintptr, zName uintptr, zDb uintptr // zSql2: SELECT idx,neq,nlt,ndlt,sample FROM %Q.sqlite_stat4 // // where %Q is replaced with the database name before the SQL is executed. -func loadStatTbl(tls *libc.TLS, db uintptr, zSql1 uintptr, zSql2 uintptr, zDb uintptr) int32 { /* sqlite3.c:112779:12: */ +func loadStatTbl(tls *libc.TLS, db uintptr, zSql1 uintptr, zSql2 uintptr, zDb uintptr) int32 { /* sqlite3.c:112792:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -93430,7 +93449,7 @@ func loadStatTbl(tls *libc.TLS, db uintptr, zSql1 uintptr, zSql2 uintptr, zDb ui // Load content from the sqlite_stat4 table into // the Index.aSample[] arrays of all indices. -func loadStat4(tls *libc.TLS, db uintptr, zDb uintptr) int32 { /* sqlite3.c:112900:12: */ +func loadStat4(tls *libc.TLS, db uintptr, zDb uintptr) int32 { /* sqlite3.c:112913:12: */ var rc int32 = SQLITE_OK // Result codes from subroutines var pStat4 uintptr @@ -93462,7 +93481,7 @@ func loadStat4(tls *libc.TLS, db uintptr, zDb uintptr) int32 { /* sqlite3.c:1129 // If an OOM error occurs, this function always sets db->mallocFailed. // This means if the caller does not care about other errors, the return // code may be ignored. -func Xsqlite3AnalysisLoad(tls *libc.TLS, db uintptr, iDb int32) int32 { /* sqlite3.c:112938:20: */ +func Xsqlite3AnalysisLoad(tls *libc.TLS, db uintptr, iDb int32) int32 { /* sqlite3.c:112951:20: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -93569,7 +93588,7 @@ func Xsqlite3AnalysisLoad(tls *libc.TLS, db uintptr, iDb int32) int32 { /* sqlit // ATTACH DATABASE abc||def AS 'db2' // // will fail because neither abc or def can be resolved. -func resolveAttachExpr(tls *libc.TLS, pName uintptr, pExpr uintptr) int32 { /* sqlite3.c:113046:12: */ +func resolveAttachExpr(tls *libc.TLS, pName uintptr, pExpr uintptr) int32 { /* sqlite3.c:113059:12: */ var rc int32 = SQLITE_OK if pExpr != 0 { if int32((*Expr)(unsafe.Pointer(pExpr)).Fop) != TK_ID { @@ -93583,7 +93602,7 @@ func resolveAttachExpr(tls *libc.TLS, pName uintptr, pExpr uintptr) int32 { /* s // Return true if zName points to a name that may be used to refer to // database iDb attached to handle db. -func Xsqlite3DbIsNamed(tls *libc.TLS, db uintptr, iDb int32, zName uintptr) int32 { /* sqlite3.c:113063:20: */ +func Xsqlite3DbIsNamed(tls *libc.TLS, db uintptr, iDb int32, zName uintptr) int32 { /* sqlite3.c:113076:20: */ return libc.Bool32(Xsqlite3StrICmp(tls, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(iDb)*32)).FzDbSName, zName) == 0 || iDb == 0 && Xsqlite3StrICmp(tls, ts+6332, zName) == 0) } @@ -93601,7 +93620,7 @@ func Xsqlite3DbIsNamed(tls *libc.TLS, db uintptr, iDb int32, zName uintptr) int3 // If the db->init.reopenMemdb flags is set, then instead of attaching a // new database, close the database on db->init.iDb and reopen it as an // empty MemDB. -func attachFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { /* sqlite3.c:113085:13: */ +func attachFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { /* sqlite3.c:113098:13: */ bp := tls.Alloc(64) defer tls.Free(64) @@ -93894,7 +93913,7 @@ __34: // DETACH DATABASE x // // SELECT sqlite_detach(x) -func detachFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { /* sqlite3.c:113278:13: */ +func detachFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { /* sqlite3.c:113291:13: */ bp := tls.Alloc(152) defer tls.Free(152) @@ -93999,7 +94018,7 @@ detach_error: // This procedure generates VDBE code for a single invocation of either the // sqlite_detach() or sqlite_attach() SQL user functions. -func codeAttach(tls *libc.TLS, pParse uintptr, type1 int32, pFunc uintptr, pAuthArg uintptr, pFilename uintptr, pDbname uintptr, pKey uintptr) { /* sqlite3.c:113340:13: */ +func codeAttach(tls *libc.TLS, pParse uintptr, type1 int32, pFunc uintptr, pAuthArg uintptr, pFilename uintptr, pDbname uintptr, pKey uintptr) { /* sqlite3.c:113353:13: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -94078,7 +94097,7 @@ attach_end: // Called by the parser to compile a DETACH statement. // // DETACH pDbname -func Xsqlite3Detach(tls *libc.TLS, pParse uintptr, pDbname uintptr) { /* sqlite3.c:113412:21: */ +func Xsqlite3Detach(tls *libc.TLS, pParse uintptr, pDbname uintptr) { /* sqlite3.c:113425:21: */ codeAttach(tls, pParse, SQLITE_DETACH, uintptr(unsafe.Pointer(&detach_func)), pDbname, uintptr(0), uintptr(0), pDbname) } @@ -94086,12 +94105,12 @@ var detach_func = FuncDef{ FnArg: int8(1), // nArg FfuncFlags: U32(SQLITE_UTF8), // pNext FxSFunc: 0, // xValue, xInverse - FzName: ts + 11825} /* sqlite3.c:113413:24 */ + FzName: ts + 11825} /* sqlite3.c:113426:24 */ // Called by the parser to compile an ATTACH statement. // // ATTACH p AS pDbname KEY pKey -func Xsqlite3Attach(tls *libc.TLS, pParse uintptr, p uintptr, pDbname uintptr, pKey uintptr) { /* sqlite3.c:113432:21: */ +func Xsqlite3Attach(tls *libc.TLS, pParse uintptr, p uintptr, pDbname uintptr, pKey uintptr) { /* sqlite3.c:113445:21: */ codeAttach(tls, pParse, SQLITE_ATTACH, uintptr(unsafe.Pointer(&attach_func)), p, p, pDbname, pKey) } @@ -94099,10 +94118,10 @@ var attach_func = FuncDef{ FnArg: int8(3), // nArg FfuncFlags: U32(SQLITE_UTF8), // pNext FxSFunc: 0, // xValue, xInverse - FzName: ts + 11839} /* sqlite3.c:113433:24 */ + FzName: ts + 11839} /* sqlite3.c:113446:24 */ // Expression callback used by sqlite3FixAAAA() routines. -func fixExprCb(tls *libc.TLS, p uintptr, pExpr uintptr) int32 { /* sqlite3.c:113451:12: */ +func fixExprCb(tls *libc.TLS, p uintptr, pExpr uintptr) int32 { /* sqlite3.c:113464:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -94122,7 +94141,7 @@ func fixExprCb(tls *libc.TLS, p uintptr, pExpr uintptr) int32 { /* sqlite3.c:113 } // Select callback used by sqlite3FixAAAA() routines. -func fixSelectCb(tls *libc.TLS, p uintptr, pSelect uintptr) int32 { /* sqlite3.c:113468:12: */ +func fixSelectCb(tls *libc.TLS, p uintptr, pSelect uintptr) int32 { /* sqlite3.c:113481:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -94183,7 +94202,7 @@ __3: // Initialize a DbFixer structure. This routine must be called prior // to passing the structure to one of the sqliteFixAAAA() routines below. -func Xsqlite3FixInit(tls *libc.TLS, pFix uintptr, pParse uintptr, iDb int32, zType uintptr, pName uintptr) { /* sqlite3.c:113511:21: */ +func Xsqlite3FixInit(tls *libc.TLS, pFix uintptr, pParse uintptr, iDb int32, zType uintptr, pName uintptr) { /* sqlite3.c:113524:21: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb (*DbFixer)(unsafe.Pointer(pFix)).FpParse = pParse @@ -94219,7 +94238,7 @@ func Xsqlite3FixInit(tls *libc.TLS, pFix uintptr, pParse uintptr, iDb int32, zTy // to an object in a different database, an error message is added to // pParse->zErrMsg and these routines return non-zero. If everything // checks out, these routines return 0. -func Xsqlite3FixSrcList(tls *libc.TLS, pFix uintptr, pList uintptr) int32 { /* sqlite3.c:113549:20: */ +func Xsqlite3FixSrcList(tls *libc.TLS, pFix uintptr, pList uintptr) int32 { /* sqlite3.c:113562:20: */ bp := tls.Alloc(128) defer tls.Free(128) @@ -94234,15 +94253,15 @@ func Xsqlite3FixSrcList(tls *libc.TLS, pFix uintptr, pList uintptr) int32 { /* s return res } -func Xsqlite3FixSelect(tls *libc.TLS, pFix uintptr, pSelect uintptr) int32 { /* sqlite3.c:113563:20: */ +func Xsqlite3FixSelect(tls *libc.TLS, pFix uintptr, pSelect uintptr) int32 { /* sqlite3.c:113576:20: */ return Xsqlite3WalkSelect(tls, pFix+8, pSelect) } -func Xsqlite3FixExpr(tls *libc.TLS, pFix uintptr, pExpr uintptr) int32 { /* sqlite3.c:113569:20: */ +func Xsqlite3FixExpr(tls *libc.TLS, pFix uintptr, pExpr uintptr) int32 { /* sqlite3.c:113582:20: */ return Xsqlite3WalkExpr(tls, pFix+8, pExpr) } -func Xsqlite3FixTriggerStep(tls *libc.TLS, pFix uintptr, pStep uintptr) int32 { /* sqlite3.c:113578:20: */ +func Xsqlite3FixTriggerStep(tls *libc.TLS, pFix uintptr, pStep uintptr) int32 { /* sqlite3.c:113591:20: */ for pStep != 0 { if Xsqlite3WalkSelect(tls, pFix+8, (*TriggerStep)(unsafe.Pointer(pStep)).FpSelect) != 0 || Xsqlite3WalkExpr(tls, pFix+8, (*TriggerStep)(unsafe.Pointer(pStep)).FpWhere) != 0 || @@ -94332,7 +94351,7 @@ func Xsqlite3FixTriggerStep(tls *libc.TLS, pFix uintptr, pStep uintptr) 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) int32 { /* sqlite3.c:113682:16: */ +func Xsqlite3_set_authorizer(tls *libc.TLS, db uintptr, xAuth uintptr, pArg uintptr) int32 { /* sqlite3.c:113695:16: */ Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) (*Sqlite3)(unsafe.Pointer(db)).FxAuth = xAuth (*Sqlite3)(unsafe.Pointer(db)).FpAuthArg = pArg @@ -94345,7 +94364,7 @@ func Xsqlite3_set_authorizer(tls *libc.TLS, db uintptr, xAuth uintptr, pArg uint // Write an error message into pParse->zErrMsg that explains that the // user-supplied authorization function returned an illegal value. -func sqliteAuthBadReturnCode(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:113702:13: */ +func sqliteAuthBadReturnCode(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:113715:13: */ Xsqlite3ErrorMsg(tls, pParse, ts+11923, 0) (*Parse)(unsafe.Pointer(pParse)).Frc = SQLITE_ERROR } @@ -94357,7 +94376,7 @@ func sqliteAuthBadReturnCode(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:11370 // If SQLITE_IGNORE is returned and pExpr is not NULL, then pExpr is changed // to an SQL NULL expression. Otherwise, if pExpr is NULL, then SQLITE_IGNORE // is treated as SQLITE_DENY. In this case an error is left in pParse. -func Xsqlite3AuthReadCol(tls *libc.TLS, pParse uintptr, zTab uintptr, zCol uintptr, iDb int32) int32 { /* sqlite3.c:113716:20: */ +func Xsqlite3AuthReadCol(tls *libc.TLS, pParse uintptr, zTab uintptr, zCol uintptr, iDb int32) int32 { /* sqlite3.c:113729:20: */ bp := tls.Alloc(40) defer tls.Free(40) @@ -94391,7 +94410,7 @@ func Xsqlite3AuthReadCol(tls *libc.TLS, pParse uintptr, zTab uintptr, zCol uintp // If the auth function returns SQLITE_IGNORE, change the TK_COLUMN // instruction into a TK_NULL. If the auth function returns SQLITE_DENY, // then generate an error. -func Xsqlite3AuthRead(tls *libc.TLS, pParse uintptr, pExpr uintptr, pSchema uintptr, pTabList uintptr) { /* sqlite3.c:113752:21: */ +func Xsqlite3AuthRead(tls *libc.TLS, pParse uintptr, pExpr uintptr, pSchema uintptr, pTabList uintptr) { /* sqlite3.c:113765:21: */ var pTab uintptr = uintptr(0) // The table being read var zCol uintptr // Name of the column of the table var iSrc int32 // Index in pTabList->a[] of table being read @@ -94440,7 +94459,7 @@ func Xsqlite3AuthRead(tls *libc.TLS, pParse uintptr, pExpr uintptr, pSchema uint // either SQLITE_OK (zero) or SQLITE_IGNORE or SQLITE_DENY. If SQLITE_DENY // is returned, then the error count and error message in pParse are // modified appropriately. -func Xsqlite3AuthCheck(tls *libc.TLS, pParse uintptr, code int32, zArg1 uintptr, zArg2 uintptr, zArg3 uintptr) int32 { /* sqlite3.c:113809:20: */ +func Xsqlite3AuthCheck(tls *libc.TLS, pParse uintptr, code int32, zArg1 uintptr, zArg2 uintptr, zArg3 uintptr) int32 { /* sqlite3.c:113822:20: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb var rc int32 @@ -94474,7 +94493,7 @@ func Xsqlite3AuthCheck(tls *libc.TLS, pParse uintptr, code int32, zArg1 uintptr, // Push an authorization context. After this routine is called, the // zArg3 argument to authorization callbacks will be zContext until // popped. Or if pParse==0, this routine is a no-op. -func Xsqlite3AuthContextPush(tls *libc.TLS, pParse uintptr, pContext uintptr, zContext uintptr) { /* sqlite3.c:113858:21: */ +func Xsqlite3AuthContextPush(tls *libc.TLS, pParse uintptr, pContext uintptr, zContext uintptr) { /* sqlite3.c:113871:21: */ (*AuthContext)(unsafe.Pointer(pContext)).FpParse = pParse (*AuthContext)(unsafe.Pointer(pContext)).FzAuthContext = (*Parse)(unsafe.Pointer(pParse)).FzAuthContext @@ -94483,7 +94502,7 @@ func Xsqlite3AuthContextPush(tls *libc.TLS, pParse uintptr, pContext uintptr, zC // Pop an authorization context that was previously pushed // by sqlite3AuthContextPush -func Xsqlite3AuthContextPop(tls *libc.TLS, pContext uintptr) { /* sqlite3.c:113873:21: */ +func Xsqlite3AuthContextPop(tls *libc.TLS, pContext uintptr) { /* sqlite3.c:113886:21: */ if (*AuthContext)(unsafe.Pointer(pContext)).FpParse != 0 { (*Parse)(unsafe.Pointer((*AuthContext)(unsafe.Pointer(pContext)).FpParse)).FzAuthContext = (*AuthContext)(unsafe.Pointer(pContext)).FzAuthContext (*AuthContext)(unsafe.Pointer(pContext)).FpParse = uintptr(0) @@ -94498,7 +94517,7 @@ func Xsqlite3AuthContextPop(tls *libc.TLS, pContext uintptr) { /* sqlite3.c:1138 // This routine just records the fact that the lock is desired. The // code to make the lock occur is generated by a later call to // codeTableLocks() which occurs during sqlite3FinishCoding(). -func lockTable(tls *libc.TLS, pParse uintptr, iDb int32, iTab Pgno, isWriteLock U8, zName uintptr) { /* sqlite3.c:113932:29: */ +func lockTable(tls *libc.TLS, pParse uintptr, iDb int32, iTab Pgno, isWriteLock U8, zName uintptr) { /* sqlite3.c:113945:29: */ var pToplevel uintptr var i int32 var nBytes int32 @@ -94532,7 +94551,7 @@ func lockTable(tls *libc.TLS, pParse uintptr, iDb int32, iTab Pgno, isWriteLock } } -func Xsqlite3TableLock(tls *libc.TLS, pParse uintptr, iDb int32, iTab Pgno, isWriteLock U8, zName uintptr) { /* sqlite3.c:113968:21: */ +func Xsqlite3TableLock(tls *libc.TLS, pParse uintptr, iDb int32, iTab Pgno, isWriteLock U8, zName uintptr) { /* sqlite3.c:113981:21: */ if iDb == 1 { return } @@ -94544,7 +94563,7 @@ func Xsqlite3TableLock(tls *libc.TLS, pParse uintptr, iDb int32, iTab Pgno, isWr // Code an OP_TableLock instruction for each table locked by the // statement (configured by calls to sqlite3TableLock()). -func codeTableLocks(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:113984:13: */ +func codeTableLocks(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:113997:13: */ var i int32 var pVdbe uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe @@ -94568,7 +94587,7 @@ func codeTableLocks(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:113984:13: */ // // Note that if an error occurred, it might be the case that // no VDBE code was generated. -func Xsqlite3FinishCoding(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:114023:21: */ +func Xsqlite3FinishCoding(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:114036:21: */ var db uintptr var v uintptr @@ -94721,7 +94740,7 @@ func Xsqlite3FinishCoding(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:114023:2 // * Built-in SQL functions always take precedence over application-defined // SQL functions. In other words, it is not possible to override a // built-in function. -func Xsqlite3NestedParse(tls *libc.TLS, pParse uintptr, zFormat uintptr, va uintptr) { /* sqlite3.c:114194:21: */ +func Xsqlite3NestedParse(tls *libc.TLS, pParse uintptr, zFormat uintptr, va uintptr) { /* sqlite3.c:114207:21: */ bp := tls.Alloc(136) defer tls.Free(136) @@ -94772,7 +94791,7 @@ func Xsqlite3NestedParse(tls *libc.TLS, pParse uintptr, zFormat uintptr, va uint // auxiliary databases added using the ATTACH command. // // See also sqlite3LocateTable(). -func Xsqlite3FindTable(tls *libc.TLS, db uintptr, zName uintptr, zDatabase uintptr) uintptr { /* sqlite3.c:114249:22: */ +func Xsqlite3FindTable(tls *libc.TLS, db uintptr, zName uintptr, zDatabase uintptr) uintptr { /* sqlite3.c:114262:22: */ var p uintptr = uintptr(0) var i int32 @@ -94848,7 +94867,7 @@ func Xsqlite3FindTable(tls *libc.TLS, db uintptr, zName uintptr, zDatabase uintp // The difference between this routine and sqlite3FindTable() is that this // routine leaves an error message in pParse->zErrMsg where // sqlite3FindTable() does not. -func Xsqlite3LocateTable(tls *libc.TLS, pParse uintptr, flags U32, zName uintptr, zDbase uintptr) uintptr { /* sqlite3.c:114327:22: */ +func Xsqlite3LocateTable(tls *libc.TLS, pParse uintptr, flags U32, zName uintptr, zDbase uintptr) uintptr { /* sqlite3.c:114340:22: */ bp := tls.Alloc(40) defer tls.Free(40) @@ -94911,7 +94930,7 @@ func Xsqlite3LocateTable(tls *libc.TLS, pParse uintptr, flags U32, zName uintptr // the search to schema (p->pSchema) if it is not NULL. p->pSchema may be // non-NULL if it is part of a view or trigger program definition. See // sqlite3FixSrcList() for details. -func Xsqlite3LocateTableItem(tls *libc.TLS, pParse uintptr, flags U32, p uintptr) uintptr { /* sqlite3.c:114390:22: */ +func Xsqlite3LocateTableItem(tls *libc.TLS, pParse uintptr, flags U32, p uintptr) uintptr { /* sqlite3.c:114403:22: */ var zDb uintptr if (*SrcItem)(unsafe.Pointer(p)).FpSchema != 0 { @@ -94925,7 +94944,7 @@ func Xsqlite3LocateTableItem(tls *libc.TLS, pParse uintptr, flags U32, p uintptr // Return the preferred table name for system tables. Translate legacy // names into the new preferred names, as appropriate. -func Xsqlite3PreferredTableName(tls *libc.TLS, zName uintptr) uintptr { /* sqlite3.c:114410:27: */ +func Xsqlite3PreferredTableName(tls *libc.TLS, zName uintptr) uintptr { /* sqlite3.c:114423:27: */ if Xsqlite3_strnicmp(tls, zName, ts+8019, 7) == 0 { if Xsqlite3StrICmp(tls, zName+uintptr(7), ts+5844+7) == 0 { return ts + 12019 /* "sqlite_schema" */ @@ -94947,7 +94966,7 @@ func Xsqlite3PreferredTableName(tls *libc.TLS, zName uintptr) uintptr { /* sqlit // for duplicate index names is done.) The search order is // TEMP first, then MAIN, then any auxiliary databases added // using the ATTACH command. -func Xsqlite3FindIndex(tls *libc.TLS, db uintptr, zName uintptr, zDb uintptr) uintptr { /* sqlite3.c:114434:22: */ +func Xsqlite3FindIndex(tls *libc.TLS, db uintptr, zName uintptr, zDb uintptr) uintptr { /* sqlite3.c:114447:22: */ var p uintptr = uintptr(0) var i int32 // All mutexes are required for schema access. Make sure we hold them. @@ -94974,7 +94993,7 @@ func Xsqlite3FindIndex(tls *libc.TLS, db uintptr, zName uintptr, zDb uintptr) ui } // Reclaim the memory used by an index -func Xsqlite3FreeIndex(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:114454:21: */ +func Xsqlite3FreeIndex(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:114467:21: */ Xsqlite3DeleteIndexSamples(tls, db, p) Xsqlite3ExprDelete(tls, db, (*Index)(unsafe.Pointer(p)).FpPartIdxWhere) Xsqlite3ExprListDelete(tls, db, (*Index)(unsafe.Pointer(p)).FaColExpr) @@ -94990,7 +95009,7 @@ func Xsqlite3FreeIndex(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:1144 // unlike that index from its Table then remove the index from // the index hash table and free all memory structures associated // with the index. -func Xsqlite3UnlinkAndDeleteIndex(tls *libc.TLS, db uintptr, iDb int32, zIdxName uintptr) { /* sqlite3.c:114474:21: */ +func Xsqlite3UnlinkAndDeleteIndex(tls *libc.TLS, db uintptr, iDb int32, zIdxName uintptr) { /* sqlite3.c:114487:21: */ var pIndex uintptr var pHash uintptr @@ -95022,7 +95041,7 @@ func Xsqlite3UnlinkAndDeleteIndex(tls *libc.TLS, db uintptr, iDb int32, zIdxName // // Entry 0 (the "main" database) and entry 1 (the "temp" database) // are never candidates for being collapsed. -func Xsqlite3CollapseDatabaseArray(tls *libc.TLS, db uintptr) { /* sqlite3.c:114507:21: */ +func Xsqlite3CollapseDatabaseArray(tls *libc.TLS, db uintptr) { /* sqlite3.c:114520:21: */ var i int32 var j int32 for i = libc.AssignInt32(&j, 2); i < (*Sqlite3)(unsafe.Pointer(db)).FnDb; i++ { @@ -95048,7 +95067,7 @@ func Xsqlite3CollapseDatabaseArray(tls *libc.TLS, db uintptr) { /* sqlite3.c:114 // Reset the schema for the database at index iDb. Also reset the // TEMP schema. The reset is deferred if db->nSchemaLock is not zero. // Deferred resets may be run by calling with iDb<0. -func Xsqlite3ResetOneSchema(tls *libc.TLS, db uintptr, iDb int32) { /* sqlite3.c:114534:21: */ +func Xsqlite3ResetOneSchema(tls *libc.TLS, db uintptr, iDb int32) { /* sqlite3.c:114547:21: */ var i int32 if iDb >= 0 { @@ -95069,7 +95088,7 @@ func Xsqlite3ResetOneSchema(tls *libc.TLS, db uintptr, iDb int32) { /* sqlite3.c // Erase all schema information from all attached databases (including // "main" and "temp") for a single database connection. -func Xsqlite3ResetAllSchemasOfConnection(tls *libc.TLS, db uintptr) { /* sqlite3.c:114558:21: */ +func Xsqlite3ResetAllSchemasOfConnection(tls *libc.TLS, db uintptr) { /* sqlite3.c:114571:21: */ var i int32 Xsqlite3BtreeEnterAll(tls, db) for i = 0; i < (*Sqlite3)(unsafe.Pointer(db)).FnDb; i++ { @@ -95091,14 +95110,14 @@ func Xsqlite3ResetAllSchemasOfConnection(tls *libc.TLS, db uintptr) { /* sqlite3 } // This routine is called when a commit occurs. -func Xsqlite3CommitInternalChanges(tls *libc.TLS, db uintptr) { /* sqlite3.c:114582:21: */ +func Xsqlite3CommitInternalChanges(tls *libc.TLS, db uintptr) { /* sqlite3.c:114595:21: */ *(*U32)(unsafe.Pointer(db + 44)) &= libc.Uint32FromInt32(libc.CplInt32(DBFLAG_SchemaChange)) } // Set the expression associated with a column. This is usually // the DEFAULT value, but might also be the expression that computes // the value for a generated column. -func Xsqlite3ColumnSetExpr(tls *libc.TLS, pParse uintptr, pTab uintptr, pCol uintptr, pExpr uintptr) { /* sqlite3.c:114591:21: */ +func Xsqlite3ColumnSetExpr(tls *libc.TLS, pParse uintptr, pTab uintptr, pCol uintptr, pExpr uintptr) { /* sqlite3.c:114604:21: */ var pList uintptr pList = *(*uintptr)(unsafe.Pointer(pTab + 64 + 16 /* &.pDfltList */)) @@ -95121,7 +95140,7 @@ func Xsqlite3ColumnSetExpr(tls *libc.TLS, pParse uintptr, pTab uintptr, pCol uin // Return the expression associated with a column. The expression might be // the DEFAULT clause or the AS clause of a generated column. // Return NULL if the column has no associated expression. -func Xsqlite3ColumnExpr(tls *libc.TLS, pTab uintptr, pCol uintptr) uintptr { /* sqlite3.c:114617:21: */ +func Xsqlite3ColumnExpr(tls *libc.TLS, pTab uintptr, pCol uintptr) uintptr { /* sqlite3.c:114630:21: */ if int32((*Column)(unsafe.Pointer(pCol)).FiDflt) == 0 { return uintptr(0) } @@ -95138,7 +95157,7 @@ func Xsqlite3ColumnExpr(tls *libc.TLS, pTab uintptr, pCol uintptr) uintptr { /* } // Set the collating sequence name for a column. -func Xsqlite3ColumnSetColl(tls *libc.TLS, db uintptr, pCol uintptr, zColl uintptr) { /* sqlite3.c:114628:21: */ +func Xsqlite3ColumnSetColl(tls *libc.TLS, db uintptr, pCol uintptr, zColl uintptr) { /* sqlite3.c:114641:21: */ var nColl I64 var n I64 var zNew uintptr @@ -95157,7 +95176,7 @@ func Xsqlite3ColumnSetColl(tls *libc.TLS, db uintptr, pCol uintptr, zColl uintpt } // Return the collating squence name for a column -func Xsqlite3ColumnColl(tls *libc.TLS, pCol uintptr) uintptr { /* sqlite3.c:114653:27: */ +func Xsqlite3ColumnColl(tls *libc.TLS, pCol uintptr) uintptr { /* sqlite3.c:114666:27: */ var z uintptr if int32((*Column)(unsafe.Pointer(pCol)).FcolFlags)&COLFLAG_HASCOLL == 0 { return uintptr(0) @@ -95176,7 +95195,7 @@ func Xsqlite3ColumnColl(tls *libc.TLS, pCol uintptr) uintptr { /* sqlite3.c:1146 // Delete memory allocated for the column names of a table or view (the // Table.aCol[] array). -func Xsqlite3DeleteColumnNames(tls *libc.TLS, db uintptr, pTable uintptr) { /* sqlite3.c:114668:21: */ +func Xsqlite3DeleteColumnNames(tls *libc.TLS, db uintptr, pTable uintptr) { /* sqlite3.c:114681:21: */ var i int32 var pCol uintptr @@ -95226,7 +95245,7 @@ func Xsqlite3DeleteColumnNames(tls *libc.TLS, db uintptr, pTable uintptr) { /* s // lookaside memory, but some ephemeral Table objects do.) Or the // db parameter can be used with db->pnBytesFreed to measure the memory // used by the Table object. -func deleteTable(tls *libc.TLS, db uintptr, pTable uintptr) { /* sqlite3.c:114706:29: */ +func deleteTable(tls *libc.TLS, db uintptr, pTable uintptr) { /* sqlite3.c:114719:29: */ var pIndex uintptr var pNext uintptr @@ -95263,7 +95282,7 @@ func deleteTable(tls *libc.TLS, db uintptr, pTable uintptr) { /* sqlite3.c:11470 } -func Xsqlite3DeleteTable(tls *libc.TLS, db uintptr, pTable uintptr) { /* sqlite3.c:114763:21: */ +func Xsqlite3DeleteTable(tls *libc.TLS, db uintptr, pTable uintptr) { /* sqlite3.c:114776:21: */ // Do not delete the table until the reference count reaches zero. if !(pTable != 0) { return @@ -95276,7 +95295,7 @@ func Xsqlite3DeleteTable(tls *libc.TLS, db uintptr, pTable uintptr) { /* sqlite3 // Unlink the given table from the hash tables and the delete the // table structure with all its indices and foreign keys. -func Xsqlite3UnlinkAndDeleteTable(tls *libc.TLS, db uintptr, iDb int32, zTabName uintptr) { /* sqlite3.c:114775:21: */ +func Xsqlite3UnlinkAndDeleteTable(tls *libc.TLS, db uintptr, iDb int32, zTabName uintptr) { /* sqlite3.c:114788:21: */ var p uintptr var pDb uintptr @@ -95298,7 +95317,7 @@ func Xsqlite3UnlinkAndDeleteTable(tls *libc.TLS, db uintptr, iDb int32, zTabName // Tokens are often just pointers into the original SQL text and so // are not \000 terminated and are not persistent. The returned string // is \000 terminated and is persistent. -func Xsqlite3NameFromToken(tls *libc.TLS, db uintptr, pName uintptr) uintptr { /* sqlite3.c:114803:21: */ +func Xsqlite3NameFromToken(tls *libc.TLS, db uintptr, pName uintptr) uintptr { /* sqlite3.c:114816:21: */ var zName uintptr if pName != 0 { zName = Xsqlite3DbStrNDup(tls, db, (*Token)(unsafe.Pointer(pName)).Fz, uint64((*Token)(unsafe.Pointer(pName)).Fn)) @@ -95311,7 +95330,7 @@ func Xsqlite3NameFromToken(tls *libc.TLS, db uintptr, pName uintptr) uintptr { / // Open the sqlite_schema table stored in database number iDb for // writing. The table is opened using cursor 0. -func Xsqlite3OpenSchemaTable(tls *libc.TLS, p uintptr, iDb int32) { /* sqlite3.c:114818:21: */ +func Xsqlite3OpenSchemaTable(tls *libc.TLS, p uintptr, iDb int32) { /* sqlite3.c:114831:21: */ var v uintptr = Xsqlite3GetVdbe(tls, p) Xsqlite3TableLock(tls, p, iDb, uint32(SCHEMA_ROOT), uint8(1), ts+5844) Xsqlite3VdbeAddOp4Int(tls, v, OP_OpenWrite, 0, SCHEMA_ROOT, iDb, 5) @@ -95324,7 +95343,7 @@ func Xsqlite3OpenSchemaTable(tls *libc.TLS, p uintptr, iDb int32) { /* sqlite3.c // of a database ("main", "temp" or the name of an attached db). This // function returns the index of the named database in db->aDb[], or // -1 if the named db cannot be found. -func Xsqlite3FindDbName(tls *libc.TLS, db uintptr, zName uintptr) int32 { /* sqlite3.c:114833:20: */ +func Xsqlite3FindDbName(tls *libc.TLS, db uintptr, zName uintptr) int32 { /* sqlite3.c:114846:20: */ var i int32 = -1 // Database number if zName != 0 { var pDb uintptr @@ -95360,7 +95379,7 @@ func Xsqlite3FindDbName(tls *libc.TLS, db uintptr, zName uintptr) int32 { /* sql // "temp" or the name of an attached db). This routine returns the // index of the named database in db->aDb[], or -1 if the named db // does not exist. -func Xsqlite3FindDb(tls *libc.TLS, db uintptr, pName uintptr) int32 { /* sqlite3.c:114853:20: */ +func Xsqlite3FindDb(tls *libc.TLS, db uintptr, pName uintptr) int32 { /* sqlite3.c:114866:20: */ var i int32 // Database number var zName uintptr // Name we are searching for zName = Xsqlite3NameFromToken(tls, db, pName) @@ -95384,7 +95403,7 @@ func Xsqlite3FindDb(tls *libc.TLS, db uintptr, pName uintptr) int32 { /* sqlite3 // This routine sets the *ppUnqual pointer to point at the token (pName1 or // pName2) that stores the unqualified table name. The index of the // database "xxx" is returned. -func Xsqlite3TwoPartName(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 uintptr, pUnqual uintptr) int32 { /* sqlite3.c:114878:20: */ +func Xsqlite3TwoPartName(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 uintptr, pUnqual uintptr) int32 { /* sqlite3.c:114891:20: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -95411,7 +95430,7 @@ func Xsqlite3TwoPartName(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 u } // True if PRAGMA writable_schema is ON -func Xsqlite3WritableSchema(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:114911:20: */ +func Xsqlite3WritableSchema(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:114924:20: */ return libc.Bool32((*Sqlite3)(unsafe.Pointer(db)).Fflags&uint64(SQLITE_WriteSchema|SQLITE_Defensive) == uint64(SQLITE_WriteSchema)) } @@ -95425,7 +95444,7 @@ func Xsqlite3WritableSchema(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:1149 // When parsing the sqlite_schema table, this routine also checks to // make sure the "type", "name", and "tbl_name" columns are consistent // with the SQL. -func Xsqlite3CheckObjectName(tls *libc.TLS, pParse uintptr, zName uintptr, zType uintptr, zTblName uintptr) int32 { /* sqlite3.c:114933:20: */ +func Xsqlite3CheckObjectName(tls *libc.TLS, pParse uintptr, zName uintptr, zType uintptr, zTblName uintptr) int32 { /* sqlite3.c:114946:20: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -95456,7 +95475,7 @@ func Xsqlite3CheckObjectName(tls *libc.TLS, pParse uintptr, zName uintptr, zType } // Return the PRIMARY KEY index of a table -func Xsqlite3PrimaryKeyIndex(tls *libc.TLS, pTab uintptr) uintptr { /* sqlite3.c:114971:22: */ +func Xsqlite3PrimaryKeyIndex(tls *libc.TLS, pTab uintptr) uintptr { /* sqlite3.c:114984:22: */ var p uintptr for p = (*Table)(unsafe.Pointer(pTab)).FpIndex; p != 0 && !(int32(*(*uint16)(unsafe.Pointer(p + 100 /* &.idxType */))&0xc000>>14) == SQLITE_IDXTYPE_PRIMARYKEY); p = (*Index)(unsafe.Pointer(p)).FpNext { } @@ -95467,7 +95486,7 @@ func Xsqlite3PrimaryKeyIndex(tls *libc.TLS, pTab uintptr) uintptr { /* sqlite3.c // for the column iCol in the table (as defined by the CREATE TABLE statement) // find the (first) offset of that column in index pIdx. Or return -1 // if column iCol is not used in index pIdx. -func Xsqlite3TableColumnToIndex(tls *libc.TLS, pIdx uintptr, iCol I16) I16 { /* sqlite3.c:114983:20: */ +func Xsqlite3TableColumnToIndex(tls *libc.TLS, pIdx uintptr, iCol I16) I16 { /* sqlite3.c:114996:20: */ var i int32 for i = 0; i < int32((*Index)(unsafe.Pointer(pIdx)).FnColumn); i++ { if int32(iCol) == int32(*(*I16)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FaiColumn + uintptr(i)*2))) { @@ -95487,7 +95506,7 @@ func Xsqlite3TableColumnToIndex(tls *libc.TLS, pIdx uintptr, iCol I16) I16 { /* // and only there are VIRTUAL columns to the left. // // If SQLITE_OMIT_GENERATED_COLUMNS, this routine is a no-op macro. -func Xsqlite3StorageColumnToTable(tls *libc.TLS, pTab uintptr, iCol I16) I16 { /* sqlite3.c:115003:20: */ +func Xsqlite3StorageColumnToTable(tls *libc.TLS, pTab uintptr, iCol I16) I16 { /* sqlite3.c:115016:20: */ if (*Table)(unsafe.Pointer(pTab)).FtabFlags&U32(TF_HasVirtual) != 0 { var i int32 for i = 0; i <= int32(iCol); i++ { @@ -95534,7 +95553,7 @@ func Xsqlite3StorageColumnToTable(tls *libc.TLS, pTab uintptr, iCol I16) I16 { / // this routine is a no-op macro. If the pTab does not have any virtual // columns, then this routine is no-op that always return iCol. If iCol // is negative (indicating the ROWID column) then this routine return iCol. -func Xsqlite3TableColumnToStorage(tls *libc.TLS, pTab uintptr, iCol I16) I16 { /* sqlite3.c:115051:20: */ +func Xsqlite3TableColumnToStorage(tls *libc.TLS, pTab uintptr, iCol I16) I16 { /* sqlite3.c:115064:20: */ var i int32 var n I16 @@ -95564,7 +95583,7 @@ func Xsqlite3TableColumnToStorage(tls *libc.TLS, pTab uintptr, iCol I16) I16 { / // exists, so that the prepared statement for CREATE TABLE IF NOT EXISTS // will return false for sqlite3_stmt_readonly() even if that statement // is a read-only no-op. -func sqlite3ForceNotReadOnly(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:115077:13: */ +func sqlite3ForceNotReadOnly(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:115090:13: */ var iReg int32 = libc.PreIncInt32(&(*Parse)(unsafe.Pointer(pParse)).FnMem, 1) var v uintptr = Xsqlite3GetVdbe(tls, pParse) if v != 0 { @@ -95587,7 +95606,7 @@ func sqlite3ForceNotReadOnly(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:11507 // routines will be called to add more information to this record. // At the end of the CREATE TABLE statement, the sqlite3EndTable() routine // is called to complete the construction of the new table record. -func Xsqlite3StartTable(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 uintptr, isTemp int32, isView int32, isVirtual int32, noErr int32) { /* sqlite3.c:115102:21: */ +func Xsqlite3StartTable(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 uintptr, isTemp int32, isView int32, isVirtual int32, noErr int32) { /* sqlite3.c:115115:21: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -95845,8 +95864,8 @@ var aCode = [4]U8{ U8(SQLITE_CREATE_TEMP_TABLE), U8(SQLITE_CREATE_VIEW), U8(SQLITE_CREATE_TEMP_VIEW), -} /* sqlite3.c:115149:21 */ -var nullRow = [6]uint8{uint8(6), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0)} /* sqlite3.c:115228:23 */ +} /* sqlite3.c:115162:21 */ +var nullRow = [6]uint8{uint8(6), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0)} /* sqlite3.c:115241:23 */ // Set properties of a table column based on the (magical) // name of the column. @@ -95856,7 +95875,7 @@ var nullRow = [6]uint8{uint8(6), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0 // with any application-generated triggers. // Clean up the data structures associated with the RETURNING clause. -func sqlite3DeleteReturning(tls *libc.TLS, db uintptr, pRet uintptr) { /* sqlite3.c:115313:13: */ +func sqlite3DeleteReturning(tls *libc.TLS, db uintptr, pRet uintptr) { /* sqlite3.c:115326:13: */ var pHash uintptr pHash = (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+1*32)).FpSchema + 56 Xsqlite3HashInsert(tls, pHash, ts+12263, uintptr(0)) @@ -95878,7 +95897,7 @@ func sqlite3DeleteReturning(tls *libc.TLS, db uintptr, pRet uintptr) { /* sqlite // is attached to a DELETE, INSERT, or UPDATE, so construct it as a // RETURNING trigger instead. It will then be converted into the appropriate // type on the first call to sqlite3TriggersExist(). -func Xsqlite3AddReturning(tls *libc.TLS, pParse uintptr, pList uintptr) { /* sqlite3.c:115337:21: */ +func Xsqlite3AddReturning(tls *libc.TLS, pParse uintptr, pList uintptr) { /* sqlite3.c:115350:21: */ var pRet uintptr var pHash uintptr var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb @@ -95928,7 +95947,7 @@ func Xsqlite3AddReturning(tls *libc.TLS, pParse uintptr, pList uintptr) { /* sql // in a CREATE TABLE statement. sqlite3StartTable() gets called // first to get things going. Then this routine is called for each // column. -func Xsqlite3AddColumn(tls *libc.TLS, pParse uintptr, sName Token, sType Token) { /* sqlite3.c:115385:21: */ +func Xsqlite3AddColumn(tls *libc.TLS, pParse uintptr, sName Token, sType Token) { /* sqlite3.c:115398:21: */ bp := tls.Alloc(48) defer tls.Free(48) *(*Token)(unsafe.Pointer(bp + 16)) = sName @@ -96047,7 +96066,7 @@ func Xsqlite3AddColumn(tls *libc.TLS, pParse uintptr, sName Token, sType Token) // parsing a CREATE TABLE statement. A "NOT NULL" constraint has // been seen on a column. This routine sets the notNull flag on // the column currently under construction. -func Xsqlite3AddNotNull(tls *libc.TLS, pParse uintptr, onError int32) { /* sqlite3.c:115498:21: */ +func Xsqlite3AddNotNull(tls *libc.TLS, pParse uintptr, onError int32) { /* sqlite3.c:115511:21: */ var p uintptr var pCol uintptr p = (*Parse)(unsafe.Pointer(pParse)).FpNewTable @@ -96094,7 +96113,7 @@ func Xsqlite3AddNotNull(tls *libc.TLS, pParse uintptr, onError int32) { /* sqlit // // If none of the substrings in the above table are found, // SQLITE_AFF_NUMERIC is returned. -func Xsqlite3AffinityType(tls *libc.TLS, zIn uintptr, pCol uintptr) uint8 { /* sqlite3.c:115545:21: */ +func Xsqlite3AffinityType(tls *libc.TLS, zIn uintptr, pCol uintptr) uint8 { /* sqlite3.c:115558:21: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -96168,7 +96187,7 @@ func Xsqlite3AffinityType(tls *libc.TLS, zIn uintptr, pCol uintptr) uint8 { /* s // // This routine is called by the parser while in the middle of // parsing a CREATE TABLE statement. -func Xsqlite3AddDefaultValue(tls *libc.TLS, pParse uintptr, pExpr uintptr, zStart uintptr, zEnd uintptr) { /* sqlite3.c:115622:21: */ +func Xsqlite3AddDefaultValue(tls *libc.TLS, pParse uintptr, pExpr uintptr, zStart uintptr, zEnd uintptr) { /* sqlite3.c:115635:21: */ bp := tls.Alloc(80) defer tls.Free(80) @@ -96221,7 +96240,7 @@ func Xsqlite3AddDefaultValue(tls *libc.TLS, pParse uintptr, pExpr uintptr, zStar // if the expression is just a TK_STRING with an optional COLLATE clause. // If the expression is anything other than TK_STRING, the expression is // unchanged. -func sqlite3StringToId(tls *libc.TLS, p uintptr) { /* sqlite3.c:115681:13: */ +func sqlite3StringToId(tls *libc.TLS, p uintptr) { /* sqlite3.c:115694:13: */ if int32((*Expr)(unsafe.Pointer(p)).Fop) == TK_STRING { (*Expr)(unsafe.Pointer(p)).Fop = U8(TK_ID) } else if int32((*Expr)(unsafe.Pointer(p)).Fop) == TK_COLLATE && int32((*Expr)(unsafe.Pointer((*Expr)(unsafe.Pointer(p)).FpLeft)).Fop) == TK_STRING { @@ -96230,7 +96249,7 @@ func sqlite3StringToId(tls *libc.TLS, p uintptr) { /* sqlite3.c:115681:13: */ } // Tag the given column as being part of the PRIMARY KEY -func makeColumnPartOfPrimaryKey(tls *libc.TLS, pParse uintptr, pCol uintptr) { /* sqlite3.c:115692:13: */ +func makeColumnPartOfPrimaryKey(tls *libc.TLS, pParse uintptr, pCol uintptr) { /* sqlite3.c:115705:13: */ *(*U16)(unsafe.Pointer(pCol + 16)) |= U16(COLFLAG_PRIMKEY) if int32((*Column)(unsafe.Pointer(pCol)).FcolFlags)&COLFLAG_GENERATED != 0 { @@ -96255,7 +96274,7 @@ func makeColumnPartOfPrimaryKey(tls *libc.TLS, pParse uintptr, pCol uintptr) { / // // If the key is not an INTEGER PRIMARY KEY, then create a unique // index for the key. No index is created for INTEGER PRIMARY KEYs. -func Xsqlite3AddPrimaryKey(tls *libc.TLS, pParse uintptr, pList uintptr, onError int32, autoInc int32, sortOrder int32) { /* sqlite3.c:115722:21: */ +func Xsqlite3AddPrimaryKey(tls *libc.TLS, pParse uintptr, pList uintptr, onError int32, autoInc int32, sortOrder int32) { /* sqlite3.c:115735:21: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -96386,7 +96405,7 @@ primary_key_exit: } // Add a new CHECK constraint to the table currently under construction. -func Xsqlite3AddCheckConstraint(tls *libc.TLS, pParse uintptr, pCheckExpr uintptr, zStart uintptr, zEnd uintptr) { /* sqlite3.c:115799:21: */ +func Xsqlite3AddCheckConstraint(tls *libc.TLS, pParse uintptr, pCheckExpr uintptr, zStart uintptr, zEnd uintptr) { /* sqlite3.c:115812:21: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -96416,7 +96435,7 @@ func Xsqlite3AddCheckConstraint(tls *libc.TLS, pParse uintptr, pCheckExpr uintpt // Set the collation function of the most recently parsed table column // to the CollSeq given. -func Xsqlite3AddCollateType(tls *libc.TLS, pParse uintptr, pToken uintptr) { /* sqlite3.c:115833:21: */ +func Xsqlite3AddCollateType(tls *libc.TLS, pParse uintptr, pToken uintptr) { /* sqlite3.c:115846:21: */ var p uintptr var i int32 var zColl uintptr // Dequoted name of collation sequence @@ -96451,7 +96470,7 @@ func Xsqlite3AddCollateType(tls *libc.TLS, pParse uintptr, pToken uintptr) { /* // Change the most recently parsed column to be a GENERATED ALWAYS AS // column. -func Xsqlite3AddGenerated(tls *libc.TLS, pParse uintptr, pExpr uintptr, pType uintptr) { /* sqlite3.c:115866:21: */ +func Xsqlite3AddGenerated(tls *libc.TLS, pParse uintptr, pExpr uintptr, pType uintptr) { /* sqlite3.c:115879:21: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -96546,7 +96565,7 @@ generated_done: // // IMPLEMENTATION-OF: R-34230-56049 SQLite automatically increments // the schema-version whenever the schema changes. -func Xsqlite3ChangeCookie(tls *libc.TLS, pParse uintptr, iDb int32) { /* sqlite3.c:115934:21: */ +func Xsqlite3ChangeCookie(tls *libc.TLS, pParse uintptr, iDb int32) { /* sqlite3.c:115947:21: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe @@ -96560,7 +96579,7 @@ func Xsqlite3ChangeCookie(tls *libc.TLS, pParse uintptr, iDb int32) { /* sqlite3 // // The estimate is conservative. It might be larger that what is // really needed. -func identLength(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:115950:12: */ +func identLength(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:115963:12: */ var n int32 n = 0 __1: @@ -96595,7 +96614,7 @@ __3: // characters, does not begin with a digit and is not an SQL keyword, // then it is copied to the output buffer exactly as it is. Otherwise, // it is quoted using double-quotes. -func identPut(tls *libc.TLS, z uintptr, pIdx uintptr, zSignedIdent uintptr) { /* sqlite3.c:115971:13: */ +func identPut(tls *libc.TLS, z uintptr, pIdx uintptr, zSignedIdent uintptr) { /* sqlite3.c:115984:13: */ var zIdent uintptr = zSignedIdent var i int32 var j int32 @@ -96631,7 +96650,7 @@ func identPut(tls *libc.TLS, z uintptr, pIdx uintptr, zSignedIdent uintptr) { /* // Generate a CREATE TABLE statement appropriate for the given // table. Memory to hold the text of the statement is obtained // from sqliteMalloc() and must be freed by the calling function. -func createTableStmt(tls *libc.TLS, db uintptr, p uintptr) uintptr { /* sqlite3.c:115999:13: */ +func createTableStmt(tls *libc.TLS, db uintptr, p uintptr) uintptr { /* sqlite3.c:116012:13: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -96723,11 +96742,11 @@ var azType1 = [5]uintptr{ ts + 12738, ts + 12743, ts + 12748, -} /* sqlite3.c:116029:23 */ +} /* sqlite3.c:116042:23 */ // Resize an Index object to hold N columns total. Return SQLITE_OK // on success and SQLITE_NOMEM on an OOM error. -func resizeIndexObject(tls *libc.TLS, db uintptr, pIdx uintptr, N int32) int32 { /* sqlite3.c:116067:12: */ +func resizeIndexObject(tls *libc.TLS, db uintptr, pIdx uintptr, N int32) int32 { /* sqlite3.c:116080:12: */ var zExtra uintptr var nByte int32 if int32((*Index)(unsafe.Pointer(pIdx)).FnColumn) >= N { @@ -96756,7 +96775,7 @@ func resizeIndexObject(tls *libc.TLS, db uintptr, pIdx uintptr, N int32) int32 { } // Estimate the total row width for a table. -func estimateTableWidth(tls *libc.TLS, pTab uintptr) { /* sqlite3.c:116094:13: */ +func estimateTableWidth(tls *libc.TLS, pTab uintptr) { /* sqlite3.c:116107:13: */ var wTable uint32 = uint32(0) var pTabCol uintptr var i int32 @@ -96785,7 +96804,7 @@ __3: } // Estimate the average size of a row for an index. -func estimateIndexWidth(tls *libc.TLS, pIdx uintptr) { /* sqlite3.c:116108:13: */ +func estimateIndexWidth(tls *libc.TLS, pIdx uintptr) { /* sqlite3.c:116121:13: */ var wIndex uint32 = uint32(0) var i int32 var aCol uintptr = (*Table)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FpTable)).FaCol @@ -96805,7 +96824,7 @@ func estimateIndexWidth(tls *libc.TLS, pIdx uintptr) { /* sqlite3.c:116108:13: * // Return true if column number x is any of the first nCol entries of aiCol[]. // This is used to determine if the column number x appears in any of the // first nCol entries of an index. -func hasColumn(tls *libc.TLS, aiCol uintptr, nCol int32, x int32) int32 { /* sqlite3.c:116124:12: */ +func hasColumn(tls *libc.TLS, aiCol uintptr, nCol int32, x int32) int32 { /* sqlite3.c:116137:12: */ for libc.PostDecInt32(&nCol, 1) > 0 { if x == int32(*(*I16)(unsafe.Pointer(libc.PostIncUintptr(&aiCol, 2)))) { return 1 @@ -96825,7 +96844,7 @@ func hasColumn(tls *libc.TLS, aiCol uintptr, nCol int32, x int32) int32 { /* sql // This routine differs from hasColumn() in that both the column and the // collating sequence must match for this routine, but for hasColumn() only // the column name must match. -func isDupColumn(tls *libc.TLS, pIdx uintptr, nKey int32, pPk uintptr, iCol int32) int32 { /* sqlite3.c:116146:12: */ +func isDupColumn(tls *libc.TLS, pIdx uintptr, nKey int32, pPk uintptr, iCol int32) int32 { /* sqlite3.c:116159:12: */ var i int32 var j int32 @@ -96858,7 +96877,7 @@ func isDupColumn(tls *libc.TLS, pIdx uintptr, nKey int32, pPk uintptr, iCol int3 // // The colNotIdxed mask is AND-ed with the SrcList.a[].colUsed mask // to determine if the index is covering index. -func recomputeColumnsNotIndexed(tls *libc.TLS, pIdx uintptr) { /* sqlite3.c:116185:13: */ +func recomputeColumnsNotIndexed(tls *libc.TLS, pIdx uintptr) { /* sqlite3.c:116198:13: */ var m Bitmask = uint64(0) var j int32 var pTab uintptr = (*Index)(unsafe.Pointer(pIdx)).FpTable @@ -96897,7 +96916,7 @@ func recomputeColumnsNotIndexed(tls *libc.TLS, pIdx uintptr) { /* sqlite3.c:1161 // indices with the PRIMARY KEY columns. // // For virtual tables, only (1) is performed. -func convertToWithoutRowidTable(tls *libc.TLS, pParse uintptr, pTab uintptr) { /* sqlite3.c:116225:13: */ +func convertToWithoutRowidTable(tls *libc.TLS, pParse uintptr, pTab uintptr) { /* sqlite3.c:116238:13: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -97060,7 +97079,7 @@ func convertToWithoutRowidTable(tls *libc.TLS, pParse uintptr, pTab uintptr) { / // Return true if pTab is a virtual table and zName is a shadow table name // for that virtual table. -func Xsqlite3IsShadowTableOf(tls *libc.TLS, db uintptr, pTab uintptr, zName uintptr) int32 { /* sqlite3.c:116385:20: */ +func Xsqlite3IsShadowTableOf(tls *libc.TLS, db uintptr, pTab uintptr, zName uintptr) int32 { /* sqlite3.c:116398:20: */ var nName int32 // Length of zName var pMod uintptr // Module for the virtual table @@ -97093,7 +97112,7 @@ func Xsqlite3IsShadowTableOf(tls *libc.TLS, db uintptr, pTab uintptr, zName uint // exists and has an xShadowName method, then loop over all other ordinary // tables within the same schema looking for shadow tables of pTab, and mark // any shadow tables seen using the TF_Shadow flag. -func Xsqlite3MarkAllShadowTablesOf(tls *libc.TLS, db uintptr, pTab uintptr) { /* sqlite3.c:116408:21: */ +func Xsqlite3MarkAllShadowTablesOf(tls *libc.TLS, db uintptr, pTab uintptr) { /* sqlite3.c:116421:21: */ var nName int32 // Length of pTab->zName var pMod uintptr // Module for the virtual table var k uintptr // For looping through the symbol table @@ -97137,7 +97156,7 @@ func Xsqlite3MarkAllShadowTablesOf(tls *libc.TLS, db uintptr, pTab uintptr) { /* // // zName is temporarily modified while this routine is running, but is // restored to its original value prior to this routine returning. -func Xsqlite3ShadowTableName(tls *libc.TLS, db uintptr, zName uintptr) int32 { /* sqlite3.c:116444:20: */ +func Xsqlite3ShadowTableName(tls *libc.TLS, db uintptr, zName uintptr) int32 { /* sqlite3.c:116457:20: */ var zTail uintptr // Pointer to the last "_" in zName var pTab uintptr // Table that zName is a shadow of zTail = libc.Xstrrchr(tls, zName, '_') @@ -97174,7 +97193,7 @@ func Xsqlite3ShadowTableName(tls *libc.TLS, db uintptr, zName uintptr) int32 { / // was called to create a table generated from a // "CREATE TABLE ... AS SELECT ..." statement. The column names of // the new table will match the result set of the SELECT. -func Xsqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr, tabOpts U32, pSelect uintptr) { /* sqlite3.c:116505:21: */ +func Xsqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr, tabOpts U32, pSelect uintptr) { /* sqlite3.c:116518:21: */ bp := tls.Alloc(184) defer tls.Free(184) @@ -97495,7 +97514,7 @@ func Xsqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr } // The parser calls this routine in order to create a new VIEW -func Xsqlite3CreateView(tls *libc.TLS, pParse uintptr, pBegin uintptr, pName1 uintptr, pName2 uintptr, pCNames uintptr, pSelect uintptr, isTemp int32, noErr int32) { /* sqlite3.c:116847:21: */ +func Xsqlite3CreateView(tls *libc.TLS, pParse uintptr, pBegin uintptr, pName1 uintptr, pName2 uintptr, pCNames uintptr, pSelect uintptr, isTemp int32, noErr int32) { /* sqlite3.c:116860:21: */ bp := tls.Alloc(120) defer tls.Free(120) @@ -97613,7 +97632,7 @@ __10: // The Table structure pTable is really a VIEW. Fill in the names of // the columns of the view in the pTable structure. Return the number // of errors. If an error is seen leave an error message in pParse->zErrMsg. -func Xsqlite3ViewGetColumnNames(tls *libc.TLS, pParse uintptr, pTable uintptr) int32 { /* sqlite3.c:116939:20: */ +func Xsqlite3ViewGetColumnNames(tls *libc.TLS, pParse uintptr, pTable uintptr) int32 { /* sqlite3.c:116952:20: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -97728,7 +97747,7 @@ func Xsqlite3ViewGetColumnNames(tls *libc.TLS, pParse uintptr, pTable uintptr) i } // Clear the column names from every VIEW in database idx. -func sqliteViewResetAll(tls *libc.TLS, db uintptr, idx int32) { /* sqlite3.c:117067:13: */ +func sqliteViewResetAll(tls *libc.TLS, db uintptr, idx int32) { /* sqlite3.c:117080:13: */ var i uintptr if !(int32((*Schema)(unsafe.Pointer((*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(idx)*32)).FpSchema)).FschemaFlags)&DB_UnresetViews == DB_UnresetViews) { @@ -97758,7 +97777,7 @@ func sqliteViewResetAll(tls *libc.TLS, db uintptr, idx int32) { /* sqlite3.c:117 // We must continue looping until all tables and indices with // rootpage==iFrom have been converted to have a rootpage of iTo // in order to be certain that we got the right one. -func Xsqlite3RootPageMoved(tls *libc.TLS, db uintptr, iDb int32, iFrom Pgno, iTo Pgno) { /* sqlite3.c:117101:21: */ +func Xsqlite3RootPageMoved(tls *libc.TLS, db uintptr, iDb int32, iFrom Pgno, iTo Pgno) { /* sqlite3.c:117114:21: */ var pElem uintptr var pHash uintptr var pDb uintptr @@ -97784,7 +97803,7 @@ func Xsqlite3RootPageMoved(tls *libc.TLS, db uintptr, iDb int32, iFrom Pgno, iTo // Also write code to modify the sqlite_schema table and internal schema // if a root-page of another table is moved by the btree-layer whilst // erasing iTable (this can happen with an auto-vacuum database). -func destroyRootPage(tls *libc.TLS, pParse uintptr, iTable int32, iDb int32) { /* sqlite3.c:117131:13: */ +func destroyRootPage(tls *libc.TLS, pParse uintptr, iTable int32, iDb int32) { /* sqlite3.c:117144:13: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -97814,7 +97833,7 @@ func destroyRootPage(tls *libc.TLS, pParse uintptr, iTable int32, iDb int32) { / // Code to update the sqlite_schema tables and internal schema definitions // in case a root-page belonging to another table is moved by the btree layer // is also added (this can happen with an auto-vacuum database). -func destroyTable(tls *libc.TLS, pParse uintptr, pTab uintptr) { /* sqlite3.c:117161:13: */ +func destroyTable(tls *libc.TLS, pParse uintptr, pTab uintptr) { /* sqlite3.c:117174:13: */ // If the database may be auto-vacuum capable (if SQLITE_OMIT_AUTOVACUUM // is not defined), then it is important to call OP_Destroy on the // table and index root-pages in order, starting with the numerically @@ -97860,7 +97879,7 @@ func destroyTable(tls *libc.TLS, pParse uintptr, pTab uintptr) { /* sqlite3.c:11 // Remove entries from the sqlite_statN tables (for N in (1,2,3)) // after a DROP INDEX or DROP TABLE command. -func sqlite3ClearStatTables(tls *libc.TLS, pParse uintptr, iDb int32, zType uintptr, zName uintptr) { /* sqlite3.c:117210:13: */ +func sqlite3ClearStatTables(tls *libc.TLS, pParse uintptr, iDb int32, zType uintptr, zName uintptr) { /* sqlite3.c:117223:13: */ bp := tls.Alloc(64) defer tls.Free(64) @@ -97879,7 +97898,7 @@ func sqlite3ClearStatTables(tls *libc.TLS, pParse uintptr, iDb int32, zType uint } // Generate code to drop a table. -func Xsqlite3CodeDropTable(tls *libc.TLS, pParse uintptr, pTab uintptr, iDb int32, isView int32) { /* sqlite3.c:117233:21: */ +func Xsqlite3CodeDropTable(tls *libc.TLS, pParse uintptr, pTab uintptr, iDb int32, isView int32) { /* sqlite3.c:117246:21: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -97943,7 +97962,7 @@ func Xsqlite3CodeDropTable(tls *libc.TLS, pParse uintptr, pTab uintptr, iDb int3 // Return TRUE if shadow tables should be read-only in the current // context. -func Xsqlite3ReadOnlyShadowTables(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:117306:20: */ +func Xsqlite3ReadOnlyShadowTables(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:117319:20: */ if (*Sqlite3)(unsafe.Pointer(db)).Fflags&uint64(SQLITE_Defensive) != uint64(0) && (*Sqlite3)(unsafe.Pointer(db)).FpVtabCtx == uintptr(0) && (*Sqlite3)(unsafe.Pointer(db)).FnVdbeExec == 0 && @@ -97954,7 +97973,7 @@ func Xsqlite3ReadOnlyShadowTables(tls *libc.TLS, db uintptr) int32 { /* sqlite3. } // Return true if it is not allowed to drop the given table -func tableMayNotBeDropped(tls *libc.TLS, db uintptr, pTab uintptr) int32 { /* sqlite3.c:117322:12: */ +func tableMayNotBeDropped(tls *libc.TLS, db uintptr, pTab uintptr) int32 { /* sqlite3.c:117335:12: */ if Xsqlite3_strnicmp(tls, (*Table)(unsafe.Pointer(pTab)).FzName, ts+8019, 7) == 0 { if Xsqlite3_strnicmp(tls, (*Table)(unsafe.Pointer(pTab)).FzName+uintptr(7), ts+3237, 4) == 0 { return 0 @@ -97975,7 +97994,7 @@ func tableMayNotBeDropped(tls *libc.TLS, db uintptr, pTab uintptr) int32 { /* sq // This routine is called to do the work of a DROP TABLE statement. // pName is the name of the table to be dropped. -func Xsqlite3DropTable(tls *libc.TLS, pParse uintptr, pName uintptr, isView int32, noErr int32) { /* sqlite3.c:117341:21: */ +func Xsqlite3DropTable(tls *libc.TLS, pParse uintptr, pName uintptr, isView int32, noErr int32) { /* sqlite3.c:117354:21: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -98163,7 +98182,7 @@ exit_drop_table: // // The foreign key is set for IMMEDIATE processing. A subsequent call // to sqlite3DeferForeignKey() might change this to DEFERRED. -func Xsqlite3CreateForeignKey(tls *libc.TLS, pParse uintptr, pFromCol uintptr, pTo uintptr, pToCol uintptr, flags int32) { /* sqlite3.c:117461:21: */ +func Xsqlite3CreateForeignKey(tls *libc.TLS, pParse uintptr, pFromCol uintptr, pTo uintptr, pToCol uintptr, flags int32) { /* sqlite3.c:117474:21: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -98386,7 +98405,7 @@ fk_end: // parameter is 1 for INITIALLY DEFERRED and 0 for INITIALLY IMMEDIATE. // The behavior of the most recently created foreign key is adjusted // accordingly. -func Xsqlite3DeferForeignKey(tls *libc.TLS, pParse uintptr, isDeferred int32) { /* sqlite3.c:117593:21: */ +func Xsqlite3DeferForeignKey(tls *libc.TLS, pParse uintptr, isDeferred int32) { /* sqlite3.c:117606:21: */ var pTab uintptr var pFKey uintptr if libc.AssignUintptr(&pTab, (*Parse)(unsafe.Pointer(pParse)).FpNewTable) == uintptr(0) { @@ -98411,7 +98430,7 @@ func Xsqlite3DeferForeignKey(tls *libc.TLS, pParse uintptr, isDeferred int32) { // root page number of the index. If memRootPage is negative, then // the index already exists and must be cleared before being refilled and // the root page number of the index is taken from pIndex->tnum. -func sqlite3RefillIndex(tls *libc.TLS, pParse uintptr, pIndex uintptr, memRootPage int32) { /* sqlite3.c:117616:13: */ +func sqlite3RefillIndex(tls *libc.TLS, pParse uintptr, pIndex uintptr, memRootPage int32) { /* sqlite3.c:117629:13: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -98523,7 +98542,7 @@ func sqlite3RefillIndex(tls *libc.TLS, pParse uintptr, pIndex uintptr, memRootPa // Increase the allocation size to provide an extra nExtra bytes // of 8-byte aligned space after the Index object and return a // pointer to this extra space in *ppExtra. -func Xsqlite3AllocateIndexObject(tls *libc.TLS, db uintptr, nCol I16, nExtra int32, ppExtra uintptr) uintptr { /* sqlite3.c:117722:22: */ +func Xsqlite3AllocateIndexObject(tls *libc.TLS, db uintptr, nCol I16, nExtra int32, ppExtra uintptr) uintptr { /* sqlite3.c:117735:22: */ var p uintptr // Allocated index object var nByte int32 // Bytes of space for Index object + arrays @@ -98548,7 +98567,7 @@ func Xsqlite3AllocateIndexObject(tls *libc.TLS, db uintptr, nCol I16, nExtra int // If expression list pList contains an expression that was parsed with // an explicit "NULLS FIRST" or "NULLS LAST" clause, leave an error in // pParse and return non-zero. Otherwise, return zero. -func Xsqlite3HasExplicitNulls(tls *libc.TLS, pParse uintptr, pList uintptr) int32 { /* sqlite3.c:117755:20: */ +func Xsqlite3HasExplicitNulls(tls *libc.TLS, pParse uintptr, pList uintptr) int32 { /* sqlite3.c:117768:20: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -98581,7 +98600,7 @@ func Xsqlite3HasExplicitNulls(tls *libc.TLS, pParse uintptr, pList uintptr) int3 // pList is a list of columns to be indexed. pList will be NULL if this // is a primary key or unique-constraint on the most recent column added // to the table currently under construction. -func Xsqlite3CreateIndex(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 uintptr, pTblName uintptr, pList uintptr, onError int32, pStart uintptr, pPIWhere uintptr, sortOrder int32, ifNotExist int32, idxType U8) { /* sqlite3.c:117783:21: */ +func Xsqlite3CreateIndex(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 uintptr, pTblName uintptr, pList uintptr, onError int32, pStart uintptr, pPIWhere uintptr, sortOrder int32, ifNotExist int32, idxType U8) { /* sqlite3.c:117796:21: */ bp := tls.Alloc(256) defer tls.Free(256) @@ -99351,7 +99370,7 @@ __81: goto __101 } Xsqlite3ErrorMsg(tls, pParse, ts+14077, 0) - (*Parse)(unsafe.Pointer(pParse)).Frc = Xsqlite3CorruptError(tls, 118239) + (*Parse)(unsafe.Pointer(pParse)).Frc = Xsqlite3CorruptError(tls, 118252) goto exit_create_index __101: ; @@ -99537,7 +99556,7 @@ __113: // Apart from that, we have little to go on besides intuition as to // how aiRowEst[] should be initialized. The numbers generated here // are based on typical values found in actual indices. -func Xsqlite3DefaultRowEst(tls *libc.TLS, pIdx uintptr) { /* sqlite3.c:118394:21: */ +func Xsqlite3DefaultRowEst(tls *libc.TLS, pIdx uintptr) { /* sqlite3.c:118407:21: */ var a uintptr = (*Index)(unsafe.Pointer(pIdx)).FaiRowLogEst var x LogEst var nCopy int32 = func() int32 { @@ -99581,11 +99600,11 @@ func Xsqlite3DefaultRowEst(tls *libc.TLS, pIdx uintptr) { /* sqlite3.c:118394:21 } } -var aVal = [5]LogEst{int16(33), int16(32), int16(30), int16(28), int16(26)} /* sqlite3.c:118396:23 */ +var aVal = [5]LogEst{int16(33), int16(32), int16(30), int16(28), int16(26)} /* sqlite3.c:118409:23 */ // This routine will drop an existing named index. This routine // implements the DROP INDEX statement. -func Xsqlite3DropIndex(tls *libc.TLS, pParse uintptr, pName uintptr, ifExists int32) { /* sqlite3.c:118438:21: */ +func Xsqlite3DropIndex(tls *libc.TLS, pParse uintptr, pName uintptr, ifExists int32) { /* sqlite3.c:118451:21: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -99704,7 +99723,7 @@ exit_drop_index: // // Otherwise, if the realloc() fails, *pIdx is set to -1, *pnEntry remains // unchanged and a copy of pArray returned. -func Xsqlite3ArrayAllocate(tls *libc.TLS, db uintptr, pArray uintptr, szEntry int32, pnEntry uintptr, pIdx uintptr) uintptr { /* sqlite3.c:118520:21: */ +func Xsqlite3ArrayAllocate(tls *libc.TLS, db uintptr, pArray uintptr, szEntry int32, pnEntry uintptr, pIdx uintptr) uintptr { /* sqlite3.c:118533:21: */ var z uintptr var n Sqlite3_int64 = Sqlite3_int64(libc.AssignPtrInt32(pIdx, *(*int32)(unsafe.Pointer(pnEntry)))) if n&(n-int64(1)) == int64(0) { @@ -99731,7 +99750,7 @@ func Xsqlite3ArrayAllocate(tls *libc.TLS, db uintptr, pArray uintptr, szEntry in // need be. // // A new IdList is returned, or NULL if malloc() fails. -func Xsqlite3IdListAppend(tls *libc.TLS, pParse uintptr, pList uintptr, pToken uintptr) uintptr { /* sqlite3.c:118550:23: */ +func Xsqlite3IdListAppend(tls *libc.TLS, pParse uintptr, pList uintptr, pToken uintptr) uintptr { /* sqlite3.c:118563:23: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -99762,7 +99781,7 @@ func Xsqlite3IdListAppend(tls *libc.TLS, pParse uintptr, pList uintptr, pToken u } // Delete an IdList. -func Xsqlite3IdListDelete(tls *libc.TLS, db uintptr, pList uintptr) { /* sqlite3.c:118578:21: */ +func Xsqlite3IdListDelete(tls *libc.TLS, db uintptr, pList uintptr) { /* sqlite3.c:118591:21: */ var i int32 if pList == uintptr(0) { return @@ -99776,7 +99795,7 @@ func Xsqlite3IdListDelete(tls *libc.TLS, db uintptr, pList uintptr) { /* sqlite3 // Return the index in pList of the identifier named zId. Return -1 // if not found. -func Xsqlite3IdListIndex(tls *libc.TLS, pList uintptr, zName uintptr) int32 { /* sqlite3.c:118592:20: */ +func Xsqlite3IdListIndex(tls *libc.TLS, pList uintptr, zName uintptr) int32 { /* sqlite3.c:118605:20: */ var i int32 if pList == uintptr(0) { return -1 @@ -99814,7 +99833,7 @@ func Xsqlite3IdListIndex(tls *libc.TLS, pList uintptr, zName uintptr) int32 { /* // If a memory allocation fails or the SrcList becomes too large, leave // the original SrcList unchanged, return NULL, and leave an error message // in pParse. -func Xsqlite3SrcListEnlarge(tls *libc.TLS, pParse uintptr, pSrc uintptr, nExtra int32, iStart int32) uintptr { /* sqlite3.c:118633:24: */ +func Xsqlite3SrcListEnlarge(tls *libc.TLS, pParse uintptr, pSrc uintptr, nExtra int32, iStart int32) uintptr { /* sqlite3.c:118646:24: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -99896,7 +99915,7 @@ func Xsqlite3SrcListEnlarge(tls *libc.TLS, pParse uintptr, pSrc uintptr, nExtra // // Both pTable and pDatabase are assumed to be quoted. They are dequoted // before being added to the SrcList. -func Xsqlite3SrcListAppend(tls *libc.TLS, pParse uintptr, pList uintptr, pTable uintptr, pDatabase uintptr) uintptr { /* sqlite3.c:118722:24: */ +func Xsqlite3SrcListAppend(tls *libc.TLS, pParse uintptr, pList uintptr, pTable uintptr, pDatabase uintptr) uintptr { /* sqlite3.c:118735:24: */ var pItem uintptr var db uintptr // Cannot have C without B @@ -99935,7 +99954,7 @@ func Xsqlite3SrcListAppend(tls *libc.TLS, pParse uintptr, pList uintptr, pTable } // Assign VdbeCursor index numbers to all tables in a SrcList -func Xsqlite3SrcListAssignCursors(tls *libc.TLS, pParse uintptr, pList uintptr) { /* sqlite3.c:118767:21: */ +func Xsqlite3SrcListAssignCursors(tls *libc.TLS, pParse uintptr, pList uintptr) { /* sqlite3.c:118780:21: */ var i int32 var pItem uintptr @@ -99967,7 +99986,7 @@ func Xsqlite3SrcListAssignCursors(tls *libc.TLS, pParse uintptr, pList uintptr) } // Delete an entire SrcList including all its substructure. -func Xsqlite3SrcListDelete(tls *libc.TLS, db uintptr, pList uintptr) { /* sqlite3.c:118785:21: */ +func Xsqlite3SrcListDelete(tls *libc.TLS, db uintptr, pList uintptr) { /* sqlite3.c:118798:21: */ var i int32 var pItem uintptr if pList == uintptr(0) { @@ -100030,7 +100049,7 @@ __3: // // Return a new SrcList which encodes is the FROM with the new // term added. -func Xsqlite3SrcListAppendFromTerm(tls *libc.TLS, pParse uintptr, p uintptr, pTable uintptr, pDatabase uintptr, pAlias uintptr, pSubquery uintptr, pOn uintptr, pUsing uintptr) uintptr { /* sqlite3.c:118819:24: */ +func Xsqlite3SrcListAppendFromTerm(tls *libc.TLS, pParse uintptr, p uintptr, pTable uintptr, pDatabase uintptr, pAlias uintptr, pSubquery uintptr, pOn uintptr, pUsing uintptr) uintptr { /* sqlite3.c:118832:24: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -100094,7 +100113,7 @@ append_from_error: // Add an INDEXED BY or NOT INDEXED clause to the most recently added // element of the source-list passed as the second argument. -func Xsqlite3SrcListIndexedBy(tls *libc.TLS, pParse uintptr, p uintptr, pIndexedBy uintptr) { /* sqlite3.c:118870:21: */ +func Xsqlite3SrcListIndexedBy(tls *libc.TLS, pParse uintptr, p uintptr, pIndexedBy uintptr) { /* sqlite3.c:118883:21: */ if p != 0 && (*Token)(unsafe.Pointer(pIndexedBy)).Fn > uint32(0) { var pItem uintptr @@ -100116,7 +100135,7 @@ func Xsqlite3SrcListIndexedBy(tls *libc.TLS, pParse uintptr, p uintptr, pIndexed // Append the contents of SrcList p2 to SrcList p1 and return the resulting // SrcList. Or, if an error occurs, return NULL. In all cases, p1 and p2 // are deleted by this function. -func Xsqlite3SrcListAppendList(tls *libc.TLS, pParse uintptr, p1 uintptr, p2 uintptr) uintptr { /* sqlite3.c:118896:24: */ +func Xsqlite3SrcListAppendList(tls *libc.TLS, pParse uintptr, p1 uintptr, p2 uintptr) uintptr { /* sqlite3.c:118909:24: */ if p2 != 0 { var pNew uintptr = Xsqlite3SrcListEnlarge(tls, pParse, p1, (*SrcList)(unsafe.Pointer(p2)).FnSrc, 1) @@ -100133,7 +100152,7 @@ func Xsqlite3SrcListAppendList(tls *libc.TLS, pParse uintptr, p1 uintptr, p2 uin // Add the list of function arguments to the SrcList entry for a // table-valued-function. -func Xsqlite3SrcListFuncArgs(tls *libc.TLS, pParse uintptr, p uintptr, pList uintptr) { /* sqlite3.c:118915:21: */ +func Xsqlite3SrcListFuncArgs(tls *libc.TLS, pParse uintptr, p uintptr, pList uintptr) { /* sqlite3.c:118928:21: */ if p != 0 { var pItem uintptr = p + 8 + uintptr((*SrcList)(unsafe.Pointer(p)).FnSrc-1)*112 @@ -100157,7 +100176,7 @@ func Xsqlite3SrcListFuncArgs(tls *libc.TLS, pParse uintptr, p uintptr, pList uin // The operator is "natural cross join". The A and B operands are stored // in p->a[0] and p->a[1], respectively. The parser initially stores the // operator with A. This routine shifts that operator over to B. -func Xsqlite3SrcListShiftJoinType(tls *libc.TLS, p uintptr) { /* sqlite3.c:118943:21: */ +func Xsqlite3SrcListShiftJoinType(tls *libc.TLS, p uintptr) { /* sqlite3.c:118956:21: */ if p != 0 { var i int32 for i = (*SrcList)(unsafe.Pointer(p)).FnSrc - 1; i > 0; i-- { @@ -100168,7 +100187,7 @@ func Xsqlite3SrcListShiftJoinType(tls *libc.TLS, p uintptr) { /* sqlite3.c:11894 } // Generate VDBE code for a BEGIN statement. -func Xsqlite3BeginTransaction(tls *libc.TLS, pParse uintptr, type1 int32) { /* sqlite3.c:118956:21: */ +func Xsqlite3BeginTransaction(tls *libc.TLS, pParse uintptr, type1 int32) { /* sqlite3.c:118969:21: */ var db uintptr var v uintptr var i int32 @@ -100203,7 +100222,7 @@ func Xsqlite3BeginTransaction(tls *libc.TLS, pParse uintptr, type1 int32) { /* s // Generate VDBE code for a COMMIT or ROLLBACK statement. // Code for ROLLBACK is generated if eType==TK_ROLLBACK. Otherwise // code is generated for a COMMIT. -func Xsqlite3EndTransaction(tls *libc.TLS, pParse uintptr, eType int32) { /* sqlite3.c:118992:21: */ +func Xsqlite3EndTransaction(tls *libc.TLS, pParse uintptr, eType int32) { /* sqlite3.c:119005:21: */ var v uintptr var isRollback int32 @@ -100225,7 +100244,7 @@ func Xsqlite3EndTransaction(tls *libc.TLS, pParse uintptr, eType int32) { /* sql // This function is called by the parser when it parses a command to create, // release or rollback an SQL savepoint. -func Xsqlite3Savepoint(tls *libc.TLS, pParse uintptr, op int32, pName uintptr) { /* sqlite3.c:119014:21: */ +func Xsqlite3Savepoint(tls *libc.TLS, pParse uintptr, op int32, pName uintptr) { /* sqlite3.c:119027:21: */ var zName uintptr = Xsqlite3NameFromToken(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, pName) if zName != 0 { var v uintptr = Xsqlite3GetVdbe(tls, pParse) @@ -100238,11 +100257,11 @@ func Xsqlite3Savepoint(tls *libc.TLS, pParse uintptr, op int32, pName uintptr) { } } -var az = [3]uintptr{ts + 14440, ts + 14462, ts + 14446} /* sqlite3.c:119019:23 */ +var az = [3]uintptr{ts + 14440, ts + 14462, ts + 14446} /* sqlite3.c:119032:23 */ // Make sure the TEMP database is open and available for use. Return // the number of errors. Leave any error messages in the pParse structure. -func Xsqlite3OpenTempDatabase(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:119034:20: */ +func Xsqlite3OpenTempDatabase(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:119047:20: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -100268,13 +100287,13 @@ func Xsqlite3OpenTempDatabase(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3. return 0 } -var flags int32 = SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE | SQLITE_OPEN_EXCLUSIVE | SQLITE_OPEN_DELETEONCLOSE | SQLITE_OPEN_TEMP_DB /* sqlite3.c:119039:22 */ +var flags int32 = SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE | SQLITE_OPEN_EXCLUSIVE | SQLITE_OPEN_DELETEONCLOSE | SQLITE_OPEN_TEMP_DB /* sqlite3.c:119052:22 */ // Record the fact that the schema cookie will need to be verified // for database iDb. The code to actually verify the schema cookie // will occur at the end of the top-level VDBE and will be generated // later, by sqlite3FinishCoding(). -func sqlite3CodeVerifySchemaAtToplevel(tls *libc.TLS, pToplevel uintptr, iDb int32) { /* sqlite3.c:119069:13: */ +func sqlite3CodeVerifySchemaAtToplevel(tls *libc.TLS, pToplevel uintptr, iDb int32) { /* sqlite3.c:119082:13: */ if libc.Bool32((*Parse)(unsafe.Pointer(pToplevel)).FcookieMask&(YDbMask(YDbMask(1))< UTF-16 conversion if // possible. -func synthCollSeq(tls *libc.TLS, db uintptr, pColl uintptr) int32 { /* sqlite3.c:119579:12: */ +func synthCollSeq(tls *libc.TLS, db uintptr, pColl uintptr) int32 { /* sqlite3.c:119592:12: */ var pColl2 uintptr var z uintptr = (*CollSeq)(unsafe.Pointer(pColl)).FzName var i int32 @@ -100792,7 +100811,7 @@ func synthCollSeq(tls *libc.TLS, db uintptr, pColl uintptr) int32 { /* sqlite3.c return SQLITE_ERROR } -var aEnc = [3]U8{U8(SQLITE_UTF16BE), U8(SQLITE_UTF16LE), U8(SQLITE_UTF8)} /* sqlite3.c:119583:19 */ +var aEnc = [3]U8{U8(SQLITE_UTF16BE), U8(SQLITE_UTF16LE), U8(SQLITE_UTF8)} /* sqlite3.c:119596:19 */ // This routine is called on a collation sequence before it is used to // check that it is defined. An undefined collation sequence exists when @@ -100803,7 +100822,7 @@ var aEnc = [3]U8{U8(SQLITE_UTF16BE), U8(SQLITE_UTF16LE), U8(SQLITE_UTF8)} /* sql // request a definition of the collating sequence. If this doesn't work, // an equivalent collating sequence that uses a text encoding different // from the main database is substituted, if one is available. -func Xsqlite3CheckCollSeq(tls *libc.TLS, pParse uintptr, pColl uintptr) int32 { /* sqlite3.c:119606:20: */ +func Xsqlite3CheckCollSeq(tls *libc.TLS, pParse uintptr, pColl uintptr) int32 { /* sqlite3.c:119619:20: */ if pColl != 0 && (*CollSeq)(unsafe.Pointer(pColl)).FxCmp == uintptr(0) { var zName uintptr = (*CollSeq)(unsafe.Pointer(pColl)).FzName var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb @@ -100827,7 +100846,7 @@ func Xsqlite3CheckCollSeq(tls *libc.TLS, pParse uintptr, pColl uintptr) int32 { // Stored immediately after the three collation sequences is a copy of // the collation sequence name. A pointer to this string is stored in // each collation sequence structure. -func findCollSeqEntry(tls *libc.TLS, db uintptr, zName uintptr, create int32) uintptr { /* sqlite3.c:119634:16: */ +func findCollSeqEntry(tls *libc.TLS, db uintptr, zName uintptr, create int32) uintptr { /* sqlite3.c:119647:16: */ var pColl uintptr pColl = Xsqlite3HashFind(tls, db+640, zName) @@ -100872,7 +100891,7 @@ func findCollSeqEntry(tls *libc.TLS, db uintptr, zName uintptr, create int32) ui // cannot be found. // // See also: sqlite3LocateCollSeq(), sqlite3GetCollSeq() -func Xsqlite3FindCollSeq(tls *libc.TLS, db uintptr, enc U8, zName uintptr, create int32) uintptr { /* sqlite3.c:119686:24: */ +func Xsqlite3FindCollSeq(tls *libc.TLS, db uintptr, enc U8, zName uintptr, create int32) uintptr { /* sqlite3.c:119699:24: */ var pColl uintptr if zName != 0 { @@ -100888,7 +100907,7 @@ func Xsqlite3FindCollSeq(tls *libc.TLS, db uintptr, enc U8, zName uintptr, creat // Change the text encoding for a database connection. This means that // the pDfltColl must change as well. -func Xsqlite3SetTextEncoding(tls *libc.TLS, db uintptr, enc U8) { /* sqlite3.c:119708:21: */ +func Xsqlite3SetTextEncoding(tls *libc.TLS, db uintptr, enc U8) { /* sqlite3.c:119721:21: */ (*Sqlite3)(unsafe.Pointer(db)).Fenc = enc // EVIDENCE-OF: R-08308-17224 The default collating function for all @@ -100908,7 +100927,7 @@ func Xsqlite3SetTextEncoding(tls *libc.TLS, db uintptr, enc U8) { /* sqlite3.c:1 // sequence can be found. If no collation is found, leave an error message. // // See also: sqlite3LocateCollSeq(), sqlite3FindCollSeq() -func Xsqlite3GetCollSeq(tls *libc.TLS, pParse uintptr, enc U8, pColl uintptr, zName uintptr) uintptr { /* sqlite3.c:119731:24: */ +func Xsqlite3GetCollSeq(tls *libc.TLS, pParse uintptr, enc U8, pColl uintptr, zName uintptr) uintptr { /* sqlite3.c:119744:24: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -100954,7 +100973,7 @@ func Xsqlite3GetCollSeq(tls *libc.TLS, pParse uintptr, enc U8, pColl uintptr, zN // and generates an error message. // // See also: sqlite3FindCollSeq(), sqlite3GetCollSeq() -func Xsqlite3LocateCollSeq(tls *libc.TLS, pParse uintptr, zName uintptr) uintptr { /* sqlite3.c:119782:24: */ +func Xsqlite3LocateCollSeq(tls *libc.TLS, pParse uintptr, zName uintptr) uintptr { /* sqlite3.c:119795:24: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb var enc U8 = (*Sqlite3)(unsafe.Pointer(db)).Fenc var initbusy U8 = (*Sqlite3)(unsafe.Pointer(db)).Finit.Fbusy @@ -100995,7 +101014,7 @@ func Xsqlite3LocateCollSeq(tls *libc.TLS, pParse uintptr, zName uintptr) uintptr // If nArg==(-2) then any function with a non-null xSFunc is // a perfect match and any function with xSFunc NULL is // a non-match. -func matchQuality(tls *libc.TLS, p uintptr, nArg int32, enc U8) int32 { /* sqlite3.c:119825:12: */ +func matchQuality(tls *libc.TLS, p uintptr, nArg int32, enc U8) int32 { /* sqlite3.c:119838:12: */ var match int32 // Wrong number of arguments means "no match" @@ -101031,7 +101050,7 @@ func matchQuality(tls *libc.TLS, p uintptr, nArg int32, enc U8) int32 { /* sqlit // Search a FuncDefHash for a function with the given name. Return // a pointer to the matching FuncDef if found, or 0 if there is no match. -func Xsqlite3FunctionSearch(tls *libc.TLS, h int32, zFunc uintptr) uintptr { /* sqlite3.c:119861:24: */ +func Xsqlite3FunctionSearch(tls *libc.TLS, h int32, zFunc uintptr) uintptr { /* sqlite3.c:119874:24: */ var p uintptr for p = *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&Xsqlite3BuiltinFunctions)) + uintptr(h)*8)); p != 0; p = *(*uintptr)(unsafe.Pointer(p + 64)) { @@ -101043,7 +101062,7 @@ func Xsqlite3FunctionSearch(tls *libc.TLS, h int32, zFunc uintptr) uintptr { /* } // Insert a new FuncDef into a FuncDefHash hash table. -func Xsqlite3InsertBuiltinFuncs(tls *libc.TLS, aDef uintptr, nDef int32) { /* sqlite3.c:119878:21: */ +func Xsqlite3InsertBuiltinFuncs(tls *libc.TLS, aDef uintptr, nDef int32) { /* sqlite3.c:119891:21: */ var i int32 for i = 0; i < nDef; i++ { var pOther uintptr @@ -101081,7 +101100,7 @@ func Xsqlite3InsertBuiltinFuncs(tls *libc.TLS, aDef uintptr, nDef int32) { /* sq // If createFlag is false, then a function with the required name and // number of arguments may be returned even if the eTextRep flag does not // match that requested. -func Xsqlite3FindFunction(tls *libc.TLS, db uintptr, zName uintptr, nArg int32, enc U8, createFlag U8) uintptr { /* sqlite3.c:119923:24: */ +func Xsqlite3FindFunction(tls *libc.TLS, db uintptr, zName uintptr, nArg int32, enc U8, createFlag U8) uintptr { /* sqlite3.c:119936:24: */ var p uintptr // Iterator variable var pBest uintptr = uintptr(0) // Best match found so far var bestScore int32 = 0 // Score of best match @@ -101161,7 +101180,7 @@ func Xsqlite3FindFunction(tls *libc.TLS, db uintptr, zName uintptr, nArg int32, // of the schema hash tables). // // The Schema.cache_size variable is not cleared. -func Xsqlite3SchemaClear(tls *libc.TLS, p uintptr) { /* sqlite3.c:120015:21: */ +func Xsqlite3SchemaClear(tls *libc.TLS, p uintptr) { /* sqlite3.c:120028:21: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -101196,7 +101215,7 @@ func Xsqlite3SchemaClear(tls *libc.TLS, p uintptr) { /* sqlite3.c:120015:21: */ // Find and return the schema associated with a BTree. Create // a new one if necessary. -func Xsqlite3SchemaGet(tls *libc.TLS, db uintptr, pBt uintptr) uintptr { /* sqlite3.c:120047:23: */ +func Xsqlite3SchemaGet(tls *libc.TLS, db uintptr, pBt uintptr) uintptr { /* sqlite3.c:120060:23: */ var p uintptr if pBt != 0 { p = Xsqlite3BtreeSchema(tls, pBt, int32(unsafe.Sizeof(Schema{})), *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{Xsqlite3SchemaClear}))) @@ -101243,7 +101262,7 @@ func Xsqlite3SchemaGet(tls *libc.TLS, db uintptr, pBt uintptr) uintptr { /* sqli // pSrc->a[0].pTab Pointer to the Table object // pSrc->a[0].pIndex Pointer to the INDEXED BY index, if there is one // -func Xsqlite3SrcListLookup(tls *libc.TLS, pParse uintptr, pSrc uintptr) uintptr { /* sqlite3.c:120098:22: */ +func Xsqlite3SrcListLookup(tls *libc.TLS, pParse uintptr, pSrc uintptr) uintptr { /* sqlite3.c:120111:22: */ var pItem uintptr = pSrc + 8 /* &.a */ var pTab uintptr @@ -101261,7 +101280,7 @@ func Xsqlite3SrcListLookup(tls *libc.TLS, pParse uintptr, pSrc uintptr) uintptr // Generate byte-code that will report the number of rows modified // by a DELETE, INSERT, or UPDATE statement. -func Xsqlite3CodeChangeCount(tls *libc.TLS, v uintptr, regCounter int32, zColName uintptr) { /* sqlite3.c:120117:21: */ +func Xsqlite3CodeChangeCount(tls *libc.TLS, v uintptr, regCounter int32, zColName uintptr) { /* sqlite3.c:120130:21: */ Xsqlite3VdbeAddOp0(tls, v, OP_FkCheck) Xsqlite3VdbeAddOp2(tls, v, OP_ResultRow, regCounter, 1) Xsqlite3VdbeSetNumCols(tls, v, 1) @@ -101282,7 +101301,7 @@ func Xsqlite3CodeChangeCount(tls *libc.TLS, v uintptr, regCounter int32, zColNam // 3) The table is a shadow table, the database connection is in // defensive mode, and the current sqlite3_prepare() // is for a top-level SQL statement. -func tabIsReadOnly(tls *libc.TLS, pParse uintptr, pTab uintptr) int32 { /* sqlite3.c:120139:12: */ +func tabIsReadOnly(tls *libc.TLS, pParse uintptr, pTab uintptr) int32 { /* sqlite3.c:120152:12: */ var db uintptr if int32((*Table)(unsafe.Pointer(pTab)).FeTabType) == TABTYP_VTAB { return libc.Bool32((*Sqlite3_module)(unsafe.Pointer((*Module)(unsafe.Pointer((*VTable)(unsafe.Pointer(Xsqlite3GetVTable(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, pTab))).FpMod)).FpModule)).FxUpdate == uintptr(0)) @@ -101301,7 +101320,7 @@ func tabIsReadOnly(tls *libc.TLS, pParse uintptr, pTab uintptr) int32 { /* sqlit // Check to make sure the given table is writable. If it is not // writable, generate an error message and return 1. If it is // writable return 0; -func Xsqlite3IsReadOnly(tls *libc.TLS, pParse uintptr, pTab uintptr, viewOk int32) int32 { /* sqlite3.c:120158:20: */ +func Xsqlite3IsReadOnly(tls *libc.TLS, pParse uintptr, pTab uintptr, viewOk int32) int32 { /* sqlite3.c:120171:20: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -101319,7 +101338,7 @@ func Xsqlite3IsReadOnly(tls *libc.TLS, pParse uintptr, pTab uintptr, viewOk int3 // Evaluate a view and store its result in an ephemeral table. The // pWhere argument is an optional WHERE clause that restricts the // set of rows in the view that are to be added to the ephemeral table. -func Xsqlite3MaterializeView(tls *libc.TLS, pParse uintptr, pView uintptr, pWhere uintptr, pOrderBy uintptr, pLimit uintptr, iCur int32) { /* sqlite3.c:120179:21: */ +func Xsqlite3MaterializeView(tls *libc.TLS, pParse uintptr, pView uintptr, pWhere uintptr, pOrderBy uintptr, pLimit uintptr, iCur int32) { /* sqlite3.c:120192:21: */ bp := tls.Alloc(40) defer tls.Free(40) @@ -101351,7 +101370,7 @@ func Xsqlite3MaterializeView(tls *libc.TLS, pParse uintptr, pView uintptr, pWher // DELETE FROM table_wxyz WHERE a<5 AND b NOT NULL; // \________/ \________________/ // pTabList pWhere -func Xsqlite3DeleteFrom(tls *libc.TLS, pParse uintptr, pTabList uintptr, pWhere uintptr, pOrderBy uintptr, pLimit uintptr) { /* sqlite3.c:120318:21: */ +func Xsqlite3DeleteFrom(tls *libc.TLS, pParse uintptr, pTabList uintptr, pWhere uintptr, pOrderBy uintptr, pLimit uintptr) { /* sqlite3.c:120331:21: */ bp := tls.Alloc(88) defer tls.Free(88) @@ -101957,7 +101976,7 @@ delete_from_cleanup: // starting at iIdxCur) that already points to the index entry to be deleted. // Except, this optimization is disabled if there are BEFORE triggers since // the trigger body might have moved the cursor. -func Xsqlite3GenerateRowDelete(tls *libc.TLS, pParse uintptr, pTab uintptr, pTrigger uintptr, iDataCur int32, iIdxCur int32, iPk int32, nPk I16, count U8, onconf U8, eMode U8, iIdxNoSeek int32) { /* sqlite3.c:120766:21: */ +func Xsqlite3GenerateRowDelete(tls *libc.TLS, pParse uintptr, pTab uintptr, pTrigger uintptr, iDataCur int32, iIdxCur int32, iPk int32, nPk I16, count U8, onconf U8, eMode U8, iIdxNoSeek int32) { /* sqlite3.c:120779:21: */ var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe // Vdbe var iOld int32 = 0 // First register in OLD.* array var iLabel int32 // Label resolved to end of generated code @@ -102094,7 +102113,7 @@ func Xsqlite3GenerateRowDelete(tls *libc.TLS, pParse uintptr, pTab uintptr, pTri // // 3. The "iDataCur" cursor must be already be positioned on the row // that is to be deleted. -func Xsqlite3GenerateRowIndexDelete(tls *libc.TLS, pParse uintptr, pTab uintptr, iDataCur int32, iIdxCur int32, aRegIdx uintptr, iIdxNoSeek int32) { /* sqlite3.c:120918:21: */ +func Xsqlite3GenerateRowIndexDelete(tls *libc.TLS, pParse uintptr, pTab uintptr, iDataCur int32, iIdxCur int32, aRegIdx uintptr, iIdxNoSeek int32) { /* sqlite3.c:120931:21: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -102183,7 +102202,7 @@ __3: // This optimization is helpful when doing a DELETE or an INTEGRITY_CHECK // on a table with multiple indices, and especially with the ROWID or // PRIMARY KEY columns of the index. -func Xsqlite3GenerateIndexKey(tls *libc.TLS, pParse uintptr, pIdx uintptr, iDataCur int32, regOut int32, prefixOnly int32, piPartIdxLabel uintptr, pPrior uintptr, regPrior int32) int32 { /* sqlite3.c:120983:20: */ +func Xsqlite3GenerateIndexKey(tls *libc.TLS, pParse uintptr, pIdx uintptr, iDataCur int32, regOut int32, prefixOnly int32, piPartIdxLabel uintptr, pPrior uintptr, regPrior int32) int32 { /* sqlite3.c:120996:20: */ var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe var j int32 var regBase int32 @@ -102239,7 +102258,7 @@ func Xsqlite3GenerateIndexKey(tls *libc.TLS, pParse uintptr, pIdx uintptr, iData // If a prior call to sqlite3GenerateIndexKey() generated a jump-over label // because it was a partial index, then this routine should be called to // resolve that label. -func Xsqlite3ResolvePartIdxLabel(tls *libc.TLS, pParse uintptr, iLabel int32) { /* sqlite3.c:121045:21: */ +func Xsqlite3ResolvePartIdxLabel(tls *libc.TLS, pParse uintptr, iLabel int32) { /* sqlite3.c:121058:21: */ if iLabel != 0 { Xsqlite3VdbeResolveLabel(tls, (*Parse)(unsafe.Pointer(pParse)).FpVdbe, iLabel) } @@ -102267,7 +102286,7 @@ func Xsqlite3ResolvePartIdxLabel(tls *libc.TLS, pParse uintptr, iLabel int32) { // #include "vdbeInt.h" // Return the collating function associated with a function. -func sqlite3GetFuncCollSeq(tls *libc.TLS, context uintptr) uintptr { /* sqlite3.c:121079:16: */ +func sqlite3GetFuncCollSeq(tls *libc.TLS, context uintptr) uintptr { /* sqlite3.c:121092:16: */ var pOp uintptr pOp = (*Vdbe)(unsafe.Pointer((*Sqlite3_context)(unsafe.Pointer(context)).FpVdbe)).FaOp + uintptr((*Sqlite3_context)(unsafe.Pointer(context)).FiOp-1)*24 @@ -102277,14 +102296,14 @@ func sqlite3GetFuncCollSeq(tls *libc.TLS, context uintptr) uintptr { /* sqlite3. // Indicate that the accumulator load should be skipped on this // iteration of the aggregate loop. -func sqlite3SkipAccumulatorLoad(tls *libc.TLS, context uintptr) { /* sqlite3.c:121092:13: */ +func sqlite3SkipAccumulatorLoad(tls *libc.TLS, context uintptr) { /* sqlite3.c:121105:13: */ (*Sqlite3_context)(unsafe.Pointer(context)).FisError = -1 (*Sqlite3_context)(unsafe.Pointer(context)).FskipFlag = U8(1) } // Implementation of the non-aggregate min() and max() functions -func minmaxFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121101:13: */ +func minmaxFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121114:13: */ var i int32 var mask int32 // 0 for min() or 0xffffffff for max() var iBest int32 @@ -102314,7 +102333,7 @@ func minmaxFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* s } // Return the type of the argument. -func typeofFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { /* sqlite3.c:121131:13: */ +func typeofFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { /* sqlite3.c:121144:13: */ var i int32 = Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(argv))) - 1 _ = NotUsed @@ -102325,18 +102344,18 @@ func typeofFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { / Xsqlite3_result_text(tls, context, azType2[i], -1, uintptr(0)) } -var azType2 = [5]uintptr{ts + 6142, ts + 6137, ts + 7892, ts + 7887, ts + 6132} /* sqlite3.c:121136:21 */ +var azType2 = [5]uintptr{ts + 6142, ts + 6137, ts + 7892, ts + 7887, ts + 6132} /* sqlite3.c:121149:21 */ // subtype(X) // // Return the subtype of X -func subtypeFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121156:13: */ +func subtypeFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121169:13: */ _ = argc Xsqlite3_result_int(tls, context, int32(Xsqlite3_value_subtype(tls, *(*uintptr)(unsafe.Pointer(argv))))) } // Implementation of the length() function -func lengthFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121168:13: */ +func lengthFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121181:13: */ _ = argc switch Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(argv))) { @@ -102385,7 +102404,7 @@ func lengthFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* s // // IMP: R-23979-26855 The abs(X) function returns the absolute value of // the numeric argument X. -func absFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121210:13: */ +func absFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121223:13: */ _ = argc switch Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(argv))) { @@ -102439,7 +102458,7 @@ func absFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqli // If both haystack and needle are BLOBs, then the result is one more than // the number of bytes in haystack prior to the first occurrence of needle, // or 0 if needle never occurs in haystack. -func instrFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121259:13: */ +func instrFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121272:13: */ var zHaystack uintptr var zNeedle uintptr var nHaystack int32 @@ -102554,7 +102573,7 @@ endInstrOOM: } // Implementation of the printf() (a.k.a. format()) SQL function. -func printfFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121327:13: */ +func printfFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121340:13: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -102591,7 +102610,7 @@ func printfFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* s // If p1 is negative, then we begin abs(p1) from the end of x[]. // // If p2 is negative, return the p2 characters preceding p1. -func substrFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121363:13: */ +func substrFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121376:13: */ var z uintptr var z2 uintptr var len int32 @@ -102699,7 +102718,7 @@ func substrFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* s } // Implementation of the round() function -func roundFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121458:13: */ +func roundFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121471:13: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -102753,7 +102772,7 @@ func roundFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sq // the database handle that malloc() has failed and return NULL. // If nByte is larger than the maximum string or blob length, then // raise an SQLITE_TOOBIG exception and return NULL. -func contextMalloc(tls *libc.TLS, context uintptr, nByte I64) uintptr { /* sqlite3.c:121499:13: */ +func contextMalloc(tls *libc.TLS, context uintptr, nByte I64) uintptr { /* sqlite3.c:121512:13: */ var z uintptr var db uintptr = Xsqlite3_context_db_handle(tls, context) @@ -102770,7 +102789,7 @@ func contextMalloc(tls *libc.TLS, context uintptr, nByte I64) uintptr { /* sqlit } // Implementation of the upper() and lower() SQL functions. -func upperFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121520:13: */ +func upperFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121533:13: */ var z1 uintptr var z2 uintptr var i int32 @@ -102791,7 +102810,7 @@ func upperFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sq } } -func lowerFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121539:13: */ +func lowerFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121552:13: */ var z1 uintptr var z2 uintptr var i int32 @@ -102820,7 +102839,7 @@ func lowerFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sq // is. We might as well use the "version()" function as a substitute. // Implementation of random(). Return a random integer. -func randomFunc(tls *libc.TLS, context uintptr, NotUsed int32, NotUsed2 uintptr) { /* sqlite3.c:121572:13: */ +func randomFunc(tls *libc.TLS, context uintptr, NotUsed int32, NotUsed2 uintptr) { /* sqlite3.c:121585:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -102844,7 +102863,7 @@ func randomFunc(tls *libc.TLS, context uintptr, NotUsed int32, NotUsed2 uintptr) // Implementation of randomblob(N). Return a random blob // that is N bytes long. -func randomBlob(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121598:13: */ +func randomBlob(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121611:13: */ var n Sqlite3_int64 var p uintptr @@ -102862,7 +102881,7 @@ func randomBlob(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* s // Implementation of the last_insert_rowid() SQL function. The return // value is the same as the sqlite3_last_insert_rowid() API function. -func last_insert_rowid(tls *libc.TLS, context uintptr, NotUsed int32, NotUsed2 uintptr) { /* sqlite3.c:121622:13: */ +func last_insert_rowid(tls *libc.TLS, context uintptr, NotUsed int32, NotUsed2 uintptr) { /* sqlite3.c:121635:13: */ var db uintptr = Xsqlite3_context_db_handle(tls, context) _ = NotUsed _ = NotUsed2 @@ -102877,7 +102896,7 @@ func last_insert_rowid(tls *libc.TLS, context uintptr, NotUsed int32, NotUsed2 u // IMP: R-32760-32347 The changes() SQL function is a wrapper // around the sqlite3_changes64() C/C++ function and hence follows the // same rules for counting changes. -func changes(tls *libc.TLS, context uintptr, NotUsed int32, NotUsed2 uintptr) { /* sqlite3.c:121642:13: */ +func changes(tls *libc.TLS, context uintptr, NotUsed int32, NotUsed2 uintptr) { /* sqlite3.c:121655:13: */ var db uintptr = Xsqlite3_context_db_handle(tls, context) _ = NotUsed _ = NotUsed2 @@ -102886,7 +102905,7 @@ func changes(tls *libc.TLS, context uintptr, NotUsed int32, NotUsed2 uintptr) { // Implementation of the total_changes() SQL function. The return value is // the same as the sqlite3_total_changes64() API function. -func total_changes(tls *libc.TLS, context uintptr, NotUsed int32, NotUsed2 uintptr) { /* sqlite3.c:121656:13: */ +func total_changes(tls *libc.TLS, context uintptr, NotUsed int32, NotUsed2 uintptr) { /* sqlite3.c:121669:13: */ var db uintptr = Xsqlite3_context_db_handle(tls, context) _ = NotUsed _ = NotUsed2 @@ -102901,20 +102920,20 @@ type compareInfo = struct { FmatchOne U8 FmatchSet U8 FnoCase U8 -} /* sqlite3.c:121671:1 */ +} /* sqlite3.c:121684:1 */ // For LIKE and GLOB matching on EBCDIC machines, assume that every // character is exactly one byte in size. Also, provde the Utf8Read() // macro for fast reading of the next character in the common case where // the next character is ASCII. -var globInfo = compareInfo{FmatchAll: U8('*'), FmatchOne: U8('?'), FmatchSet: U8('[')} /* sqlite3.c:121691:33 */ +var globInfo = compareInfo{FmatchAll: U8('*'), FmatchOne: U8('?'), FmatchSet: U8('[')} /* sqlite3.c:121704:33 */ // The correct SQL-92 behavior is for the LIKE operator to ignore // case. Thus 'a' LIKE 'A' would be true. -var likeInfoNorm = compareInfo{FmatchAll: U8('%'), FmatchOne: U8('_'), FnoCase: U8(1)} /* sqlite3.c:121694:33 */ +var likeInfoNorm = compareInfo{FmatchAll: U8('%'), FmatchOne: U8('_'), FnoCase: U8(1)} /* sqlite3.c:121707:33 */ // If SQLITE_CASE_SENSITIVE_LIKE is defined, then the LIKE operator // is case sensitive causing 'a' LIKE 'A' to be false -var likeInfoAlt = compareInfo{FmatchAll: U8('%'), FmatchOne: U8('_')} /* sqlite3.c:121697:33 */ +var likeInfoAlt = compareInfo{FmatchAll: U8('%'), FmatchOne: U8('_')} /* sqlite3.c:121710:33 */ // Possible error returns from patternMatch() @@ -102954,7 +102973,7 @@ var likeInfoAlt = compareInfo{FmatchAll: U8('%'), FmatchOne: U8('_')} /* sqlite3 // The comments within this routine usually assume glob matching. // // This routine is usually quick, but can be N**2 in the worst case. -func patternCompare(tls *libc.TLS, zPattern uintptr, zString uintptr, pInfo uintptr, matchOther U32) int32 { /* sqlite3.c:121744:12: */ +func patternCompare(tls *libc.TLS, zPattern uintptr, zString uintptr, pInfo uintptr, matchOther U32) int32 { /* sqlite3.c:121757:12: */ bp := tls.Alloc(19) defer tls.Free(19) *(*uintptr)(unsafe.Pointer(bp)) = zPattern @@ -103140,13 +103159,13 @@ func patternCompare(tls *libc.TLS, zPattern uintptr, zString uintptr, pInfo uint // The sqlite3_strglob() interface. Return 0 on a match (like strcmp()) and // non-zero if there is no match. -func Xsqlite3_strglob(tls *libc.TLS, zGlobPattern uintptr, zString uintptr) int32 { /* sqlite3.c:121877:16: */ +func Xsqlite3_strglob(tls *libc.TLS, zGlobPattern uintptr, zString uintptr) int32 { /* sqlite3.c:121890:16: */ return patternCompare(tls, zGlobPattern, zString, uintptr(unsafe.Pointer(&globInfo)), uint32('[')) } // The sqlite3_strlike() interface. Return 0 on a match and non-zero for // a miss - like strcmp(). -func Xsqlite3_strlike(tls *libc.TLS, zPattern uintptr, zStr uintptr, esc uint32) int32 { /* sqlite3.c:121885:16: */ +func Xsqlite3_strlike(tls *libc.TLS, zPattern uintptr, zStr uintptr, esc uint32) int32 { /* sqlite3.c:121898:16: */ return patternCompare(tls, zPattern, zStr, uintptr(unsafe.Pointer(&likeInfoNorm)), esc) } @@ -103164,7 +103183,7 @@ func Xsqlite3_strlike(tls *libc.TLS, zPattern uintptr, zStr uintptr, esc uint32) // // This same function (with a different compareInfo structure) computes // the GLOB operator. -func likeFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121911:13: */ +func likeFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121924:13: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -103227,7 +103246,7 @@ func likeFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sql // Implementation of the NULLIF(x,y) function. The result is the first // argument if the arguments are different. The result is NULL if the // arguments are equal to each other. -func nullifFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { /* sqlite3.c:121982:13: */ +func nullifFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { /* sqlite3.c:121995:13: */ var pColl uintptr = sqlite3GetFuncCollSeq(tls, context) _ = NotUsed if Xsqlite3MemCompare(tls, *(*uintptr)(unsafe.Pointer(argv)), *(*uintptr)(unsafe.Pointer(argv + 1*8)), pColl) != 0 { @@ -103237,7 +103256,7 @@ func nullifFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { / // Implementation of the sqlite_version() function. The result is the version // of the SQLite library that is running. -func versionFunc(tls *libc.TLS, context uintptr, NotUsed int32, NotUsed2 uintptr) { /* sqlite3.c:121998:13: */ +func versionFunc(tls *libc.TLS, context uintptr, NotUsed int32, NotUsed2 uintptr) { /* sqlite3.c:122011:13: */ _ = NotUsed _ = NotUsed2 // IMP: R-48699-48617 This function is an SQL wrapper around the @@ -103248,7 +103267,7 @@ func versionFunc(tls *libc.TLS, context uintptr, NotUsed int32, NotUsed2 uintptr // Implementation of the sqlite_source_id() function. The result is a string // that identifies the particular version of the source code used to build // SQLite. -func sourceidFunc(tls *libc.TLS, context uintptr, NotUsed int32, NotUsed2 uintptr) { /* sqlite3.c:122014:13: */ +func sourceidFunc(tls *libc.TLS, context uintptr, NotUsed int32, NotUsed2 uintptr) { /* sqlite3.c:122027:13: */ _ = NotUsed _ = NotUsed2 // IMP: R-24470-31136 This function is an SQL wrapper around the @@ -103259,7 +103278,7 @@ func sourceidFunc(tls *libc.TLS, context uintptr, NotUsed int32, NotUsed2 uintpt // Implementation of the sqlite_log() function. This is a wrapper around // sqlite3_log(). The return value is NULL. The function exists purely for // its side-effects. -func errlogFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122030:13: */ +func errlogFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122043:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -103271,7 +103290,7 @@ func errlogFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* s // Implementation of the sqlite_compileoption_used() function. // The result is an integer that identifies if the compiler option // was used to build SQLite. -func compileoptionusedFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122046:13: */ +func compileoptionusedFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122059:13: */ var zOptName uintptr _ = argc @@ -103286,7 +103305,7 @@ func compileoptionusedFunc(tls *libc.TLS, context uintptr, argc int32, argv uint // Implementation of the sqlite_compileoption_get() function. // The result is a string that identifies the compiler options // used to build SQLite. -func compileoptiongetFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122070:13: */ +func compileoptiongetFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122083:13: */ var n int32 _ = argc @@ -103301,11 +103320,11 @@ func compileoptiongetFunc(tls *libc.TLS, context uintptr, argc int32, argv uintp var hexdigits = [16]uint8{ uint8('0'), uint8('1'), uint8('2'), uint8('3'), uint8('4'), uint8('5'), uint8('6'), uint8('7'), uint8('8'), uint8('9'), uint8('A'), uint8('B'), uint8('C'), uint8('D'), uint8('E'), uint8('F'), -} /* sqlite3.c:122088:19 */ +} /* sqlite3.c:122101:19 */ // Append to pStr text that is the SQL literal representation of the // value contained in pValue. -func Xsqlite3QuoteValue(tls *libc.TLS, pStr uintptr, pValue uintptr) { /* sqlite3.c:122097:21: */ +func Xsqlite3QuoteValue(tls *libc.TLS, pStr uintptr, pValue uintptr) { /* sqlite3.c:122110:21: */ bp := tls.Alloc(40) defer tls.Free(40) @@ -103386,7 +103405,7 @@ func Xsqlite3QuoteValue(tls *libc.TLS, pStr uintptr, pValue uintptr) { /* sqlite // as needed. BLOBs are encoded as hexadecimal literals. Strings with // embedded NUL characters cannot be represented as string literals in SQL // and hence the returned string literal is truncated prior to the first NUL. -func quoteFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122166:13: */ +func quoteFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122179:13: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -103409,7 +103428,7 @@ func quoteFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sq // The unicode() function. Return the integer unicode code-point value // for the first character of the input string. -func unicodeFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122185:13: */ +func unicodeFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122198:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -103423,7 +103442,7 @@ func unicodeFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* // The char() function takes zero or more arguments, each of which is // an integer. It constructs a string where each character of the string // is the unicode character for the corresponding integer argument. -func charFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122200:13: */ +func charFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122213:13: */ var z uintptr var zOut uintptr var i int32 @@ -103461,7 +103480,7 @@ func charFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sql // The hex() function. Interpret the argument as a blob. Return // a hexadecimal rendering as text. -func hexFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122241:13: */ +func hexFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122254:13: */ var i int32 var n int32 var pBlob uintptr @@ -103499,7 +103518,7 @@ func hexFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqli } // The zeroblob(N) function returns a zero-filled blob of size N bytes. -func zeroblobFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122269:13: */ +func zeroblobFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122282:13: */ var n I64 var rc int32 @@ -103518,7 +103537,7 @@ func zeroblobFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* // them A, B, and C. The result is also a string which is derived // from A by replacing every occurrence of B with C. The match // must be exact. Collating sequences are not used. -func replaceFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122292:13: */ +func replaceFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122305:13: */ var zStr uintptr // The input string A var zPattern uintptr // The pattern string B var zRep uintptr // The replacement string C @@ -103607,7 +103626,7 @@ func replaceFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* // Implementation of the TRIM(), LTRIM(), and RTRIM() functions. // The userdata is 0x1 for left trim, 0x2 for right trim, 0x3 for both. -func trimFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122385:13: */ +func trimFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122398:13: */ var zIn uintptr // Input string var zCharSet uintptr // Set of characters to trim var nIn uint32 // Number of bytes in input @@ -103710,8 +103729,8 @@ func trimFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sql Xsqlite3_result_text(tls, context, zIn, int32(nIn), libc.UintptrFromInt32(-1)) } -var lenOne = [1]uint32{uint32(1)} /* sqlite3.c:122407:27 */ -var azOne = [1]uintptr{uintptr(ts + 10805 /* " " */)} /* sqlite3.c:122408:26 */ +var lenOne = [1]uint32{uint32(1)} /* sqlite3.c:122420:27 */ +var azOne = [1]uintptr{uintptr(ts + 10805 /* " " */)} /* sqlite3.c:122421:26 */ // IMP: R-25361-16150 This function is omitted from SQLite by default. It // is only available if the SQLITE_SOUNDEX compile-time option is used @@ -103720,7 +103739,7 @@ var azOne = [1]uintptr{uintptr(ts + 10805 /* " " */)} /* sqlite3.c:122408:26 */ // // IMP: R-59782-00072 The soundex(X) function returns a string that is the // soundex encoding of the string X. -func soundexFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122498:13: */ +func soundexFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122511:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -103771,10 +103790,10 @@ var iCode = [128]uint8{ uint8(1), uint8(2), uint8(6), uint8(2), uint8(3), uint8(0), uint8(1), uint8(0), uint8(2), uint8(0), uint8(2), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(1), uint8(2), uint8(3), uint8(0), uint8(1), uint8(2), uint8(0), uint8(0), uint8(2), uint8(2), uint8(4), uint8(5), uint8(5), uint8(0), uint8(1), uint8(2), uint8(6), uint8(2), uint8(3), uint8(0), uint8(1), uint8(0), uint8(2), uint8(0), uint8(2), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), -} /* sqlite3.c:122506:30 */ +} /* sqlite3.c:122519:30 */ // A function that loads a shared-library extension then returns NULL. -func loadExt(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122551:13: */ +func loadExt(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122564:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -103810,11 +103829,11 @@ type SumCtx1 = struct { Foverflow U8 Fapprox U8 F__ccgo_pad1 [6]byte -} /* sqlite3.c:122582:9 */ +} /* sqlite3.c:122595:9 */ // An instance of the following structure holds the context of a // sum() or avg() aggregate computation. -type SumCtx = SumCtx1 /* sqlite3.c:122582:23 */ +type SumCtx = SumCtx1 /* sqlite3.c:122595:23 */ // Routines used to compute the sum, average, and total. // @@ -103824,7 +103843,7 @@ type SumCtx = SumCtx1 /* sqlite3.c:122582:23 */ // SUM might return an integer if it never encounters a floating point // value. TOTAL never fails, but SUM might through an exception if // it overflows an integer. -func sumStep(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122601:13: */ +func sumStep(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122614:13: */ var p uintptr var type1 int32 @@ -103846,7 +103865,7 @@ func sumStep(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqli } } -func sumInverse(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122623:13: */ +func sumInverse(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122636:13: */ var p uintptr var type1 int32 @@ -103869,7 +103888,7 @@ func sumInverse(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* s } } -func sumFinalize(tls *libc.TLS, context uintptr) { /* sqlite3.c:122648:13: */ +func sumFinalize(tls *libc.TLS, context uintptr) { /* sqlite3.c:122661:13: */ var p uintptr p = Xsqlite3_aggregate_context(tls, context, 0) if p != 0 && (*SumCtx)(unsafe.Pointer(p)).Fcnt > int64(0) { @@ -103883,7 +103902,7 @@ func sumFinalize(tls *libc.TLS, context uintptr) { /* sqlite3.c:122648:13: */ } } -func avgFinalize(tls *libc.TLS, context uintptr) { /* sqlite3.c:122661:13: */ +func avgFinalize(tls *libc.TLS, context uintptr) { /* sqlite3.c:122674:13: */ var p uintptr p = Xsqlite3_aggregate_context(tls, context, 0) if p != 0 && (*SumCtx)(unsafe.Pointer(p)).Fcnt > int64(0) { @@ -103891,7 +103910,7 @@ func avgFinalize(tls *libc.TLS, context uintptr) { /* sqlite3.c:122661:13: */ } } -func totalFinalize(tls *libc.TLS, context uintptr) { /* sqlite3.c:122668:13: */ +func totalFinalize(tls *libc.TLS, context uintptr) { /* sqlite3.c:122681:13: */ var p uintptr p = Xsqlite3_aggregate_context(tls, context, 0) // (double)0 In case of SQLITE_OMIT_FLOATING_POINT... @@ -103905,14 +103924,14 @@ func totalFinalize(tls *libc.TLS, context uintptr) { /* sqlite3.c:122668:13: */ // The following structure keeps track of state information for the // count() aggregate function. -type CountCtx1 = struct{ Fn I64 } /* sqlite3.c:122679:9 */ +type CountCtx1 = struct{ Fn I64 } /* sqlite3.c:122692:9 */ // The following structure keeps track of state information for the // count() aggregate function. -type CountCtx = CountCtx1 /* sqlite3.c:122679:25 */ +type CountCtx = CountCtx1 /* sqlite3.c:122692:25 */ // Routines to implement the count() aggregate function. -func countStep(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122690:13: */ +func countStep(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122703:13: */ var p uintptr p = Xsqlite3_aggregate_context(tls, context, int32(unsafe.Sizeof(CountCtx{}))) if (argc == 0 || SQLITE_NULL != Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(argv)))) && p != 0 { @@ -103926,7 +103945,7 @@ func countStep(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sq } -func countFinalize(tls *libc.TLS, context uintptr) { /* sqlite3.c:122706:13: */ +func countFinalize(tls *libc.TLS, context uintptr) { /* sqlite3.c:122719:13: */ var p uintptr p = Xsqlite3_aggregate_context(tls, context, 0) Xsqlite3_result_int64(tls, context, func() int64 { @@ -103937,7 +103956,7 @@ func countFinalize(tls *libc.TLS, context uintptr) { /* sqlite3.c:122706:13: */ }()) } -func countInverse(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:122712:13: */ +func countInverse(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:122725:13: */ var p uintptr p = Xsqlite3_aggregate_context(tls, ctx, int32(unsafe.Sizeof(CountCtx{}))) // p is always non-NULL since countStep() will have been called first @@ -103947,7 +103966,7 @@ func countInverse(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sql } // Routines to implement min() and max() aggregate functions. -func minmaxStep(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { /* sqlite3.c:122730:13: */ +func minmaxStep(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { /* sqlite3.c:122743:13: */ var pArg uintptr = *(*uintptr)(unsafe.Pointer(argv)) var pBest uintptr _ = NotUsed @@ -103985,7 +104004,7 @@ func minmaxStep(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { / } } -func minMaxValueFinalize(tls *libc.TLS, context uintptr, bValue int32) { /* sqlite3.c:122768:13: */ +func minMaxValueFinalize(tls *libc.TLS, context uintptr, bValue int32) { /* sqlite3.c:122781:13: */ var pRes uintptr pRes = Xsqlite3_aggregate_context(tls, context, 0) if pRes != 0 { @@ -103998,11 +104017,11 @@ func minMaxValueFinalize(tls *libc.TLS, context uintptr, bValue int32) { /* sqli } } -func minMaxValue(tls *libc.TLS, context uintptr) { /* sqlite3.c:122779:13: */ +func minMaxValue(tls *libc.TLS, context uintptr) { /* sqlite3.c:122792:13: */ minMaxValueFinalize(tls, context, 1) } -func minMaxFinalize(tls *libc.TLS, context uintptr) { /* sqlite3.c:122785:13: */ +func minMaxFinalize(tls *libc.TLS, context uintptr) { /* sqlite3.c:122798:13: */ minMaxValueFinalize(tls, context, 0) } @@ -104018,9 +104037,9 @@ type GroupConcatCtx = struct { FnAccum int32 FnFirstSepLength int32 FpnSepLengths uintptr -} /* sqlite3.c:122810:3 */ +} /* sqlite3.c:122823:3 */ -func groupConcatStep(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122812:13: */ +func groupConcatStep(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122825:13: */ var zVal uintptr var pGCC uintptr var zSep uintptr @@ -104085,7 +104104,7 @@ func groupConcatStep(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { } } -func groupConcatInverse(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122883:13: */ +func groupConcatInverse(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122896:13: */ var pGCC uintptr _ = argc // Suppress unused parameter warning @@ -104127,7 +104146,7 @@ func groupConcatInverse(tls *libc.TLS, context uintptr, argc int32, argv uintptr } } -func groupConcatFinalize(tls *libc.TLS, context uintptr) { /* sqlite3.c:122929:13: */ +func groupConcatFinalize(tls *libc.TLS, context uintptr) { /* sqlite3.c:122942:13: */ var pGCC uintptr = Xsqlite3_aggregate_context(tls, context, 0) if pGCC != 0 { Xsqlite3ResultStrAccum(tls, context, pGCC) @@ -104135,7 +104154,7 @@ func groupConcatFinalize(tls *libc.TLS, context uintptr) { /* sqlite3.c:122929:1 } } -func groupConcatValue(tls *libc.TLS, context uintptr) { /* sqlite3.c:122940:13: */ +func groupConcatValue(tls *libc.TLS, context uintptr) { /* sqlite3.c:122953:13: */ var pGCC uintptr = Xsqlite3_aggregate_context(tls, context, 0) if pGCC != 0 { var pAccum uintptr = pGCC @@ -104153,7 +104172,7 @@ func groupConcatValue(tls *libc.TLS, context uintptr) { /* sqlite3.c:122940:13: // This routine does per-connection function registration. Most // of the built-in functions above are part of the global function set. // This routine only deals with those that are not global. -func Xsqlite3RegisterPerConnectionBuiltinFunctions(tls *libc.TLS, db uintptr) { /* sqlite3.c:122964:21: */ +func Xsqlite3RegisterPerConnectionBuiltinFunctions(tls *libc.TLS, db uintptr) { /* sqlite3.c:122977:21: */ var rc int32 = Xsqlite3_overload_function(tls, db, ts+14865, 2) if rc == SQLITE_NOMEM { @@ -104164,7 +104183,7 @@ func Xsqlite3RegisterPerConnectionBuiltinFunctions(tls *libc.TLS, db uintptr) { // Re-register the built-in LIKE functions. The caseSensitive // parameter determines whether or not the LIKE operator is case // sensitive. -func Xsqlite3RegisterLikeFunctions(tls *libc.TLS, db uintptr, caseSensitive int32) { /* sqlite3.c:122977:21: */ +func Xsqlite3RegisterLikeFunctions(tls *libc.TLS, db uintptr, caseSensitive int32) { /* sqlite3.c:122990:21: */ var pInfo uintptr var flags int32 if caseSensitive != 0 { @@ -104199,7 +104218,7 @@ func Xsqlite3RegisterLikeFunctions(tls *libc.TLS, db uintptr, caseSensitive int3 // the function (default for LIKE). If the function makes the distinction // between uppercase and lowercase (as does GLOB) then *pIsNocase is set to // false. -func Xsqlite3IsLikeFunction(tls *libc.TLS, db uintptr, pExpr uintptr, pIsNocase uintptr, aWc uintptr) int32 { /* sqlite3.c:123010:20: */ +func Xsqlite3IsLikeFunction(tls *libc.TLS, db uintptr, pExpr uintptr, pIsNocase uintptr, aWc uintptr) int32 { /* sqlite3.c:123023:20: */ var pDef uintptr var nExpr int32 @@ -104255,7 +104274,7 @@ func Xsqlite3IsLikeFunction(tls *libc.TLS, db uintptr, pExpr uintptr, pIsNocase // // The sqlite3_user_data() pointer is a pointer to the libm implementation // of the underlying C function. -func ceilingFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:123081:13: */ +func ceilingFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:123094:13: */ switch Xsqlite3_value_numeric_type(tls, *(*uintptr)(unsafe.Pointer(argv))) { case SQLITE_INTEGER: @@ -104284,11 +104303,11 @@ func ceilingFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* // On some systems, ceil() and floor() are intrinsic function. You are // unable to take a pointer to these functions. Hence, we here wrap them // in our own actual functions. -func xCeil(tls *libc.TLS, x float64) float64 { /* sqlite3.c:123108:15: */ +func xCeil(tls *libc.TLS, x float64) float64 { /* sqlite3.c:123121:15: */ return libc.Xceil(tls, x) } -func xFloor(tls *libc.TLS, x float64) float64 { /* sqlite3.c:123109:15: */ +func xFloor(tls *libc.TLS, x float64) float64 { /* sqlite3.c:123122:15: */ return libc.Xfloor(tls, x) } @@ -104298,7 +104317,7 @@ func xFloor(tls *libc.TLS, x float64) float64 { /* sqlite3.c:123109:15: */ // log(X) - log X base 10 // log10(X) - log X base 10 // log(B,X) - log X base B -func logFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:123119:13: */ +func logFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:123132:13: */ var x float64 var b float64 var ans float64 @@ -104355,18 +104374,18 @@ func logFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqli } // Functions to converts degrees to radians and radians to degrees. -func degToRad(tls *libc.TLS, x float64) float64 { /* sqlite3.c:123169:15: */ +func degToRad(tls *libc.TLS, x float64) float64 { /* sqlite3.c:123182:15: */ return x * (float64(3.14159265358979323846) / 180.0) } -func radToDeg(tls *libc.TLS, x float64) float64 { /* sqlite3.c:123170:15: */ +func radToDeg(tls *libc.TLS, x float64) float64 { /* sqlite3.c:123183:15: */ return x * (float64(180.0) / 3.14159265358979323846) } // Implementation of 1-argument SQL math functions: // // exp(X) - Compute e to the X-th power -func math1Func(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:123177:13: */ +func math1Func(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:123190:13: */ var type0 int32 var v0 float64 var ans float64 @@ -104387,7 +104406,7 @@ func math1Func(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sq // Implementation of 2-argument SQL math functions: // // power(X,Y) - Compute X to the Y-th power -func math2Func(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:123199:13: */ +func math2Func(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:123212:13: */ var type0 int32 var type1 int32 var v0 float64 @@ -104413,13 +104432,13 @@ func math2Func(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sq } // Implementation of 0-argument pi() function. -func piFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:123222:13: */ +func piFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:123235:13: */ Xsqlite3_result_double(tls, context, 3.14159265358979323846) } // Implementation of sign(X) function. -func signFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:123236:13: */ +func signFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:123249:13: */ var type0 int32 var x float64 _ = argc @@ -104447,7 +104466,7 @@ func signFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sql // a consequence of calling sqlite3_initialize()). // // After this routine runs -func Xsqlite3RegisterBuiltinFunctions(tls *libc.TLS) { /* sqlite3.c:123258:21: */ +func Xsqlite3RegisterBuiltinFunctions(tls *libc.TLS) { /* sqlite3.c:123271:21: */ Xsqlite3AlterFunctions(tls) Xsqlite3WindowFunctions(tls) Xsqlite3RegisterDateTimeFunctions(tls) @@ -104560,7 +104579,7 @@ var aBuiltinFunc = [101]FuncDef{ {FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_FUNC_CONSTANT | SQLITE_UTF8 | 0*SQLITE_FUNC_NEEDCOLL), FxSFunc: 0, FzName: ts + 15507}, {FnArg: int8(1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_FUNC_CONSTANT | SQLITE_UTF8 | 0*SQLITE_FUNC_NEEDCOLL), FxSFunc: 0, FzName: ts + 15510}, {FnArg: int8(-1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_UTF8 | SQLITE_FUNC_INLINE | SQLITE_FUNC_CONSTANT | 0), FxSFunc: 0, FzName: ts + 15350}, - {FnArg: int8(3), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_UTF8 | SQLITE_FUNC_INLINE | SQLITE_FUNC_CONSTANT | 0), FpUserData: uintptr(int64(INLINEFUNC_iif)), FxSFunc: 0, FzName: ts + 15515}} /* sqlite3.c:123269:18 */ + {FnArg: int8(3), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_UTF8 | SQLITE_FUNC_INLINE | SQLITE_FUNC_CONSTANT | 0), FpUserData: uintptr(int64(INLINEFUNC_iif)), FxSFunc: 0, FzName: ts + 15515}} /* sqlite3.c:123282:18 */ //************* End of func.c *********************************************** //************* Begin file fkey.c ******************************************* @@ -104735,7 +104754,7 @@ var aBuiltinFunc = [101]FuncDef{ // then non-zero is returned, and a "foreign key mismatch" error loaded // into pParse. If an OOM error occurs, non-zero is returned and the // pParse->db->mallocFailed flag is set. -func Xsqlite3FkLocateIndex(tls *libc.TLS, pParse uintptr, pParent uintptr, pFKey uintptr, ppIdx uintptr, paiCol uintptr) int32 { /* sqlite3.c:123622:20: */ +func Xsqlite3FkLocateIndex(tls *libc.TLS, pParse uintptr, pParent uintptr, pFKey uintptr, ppIdx uintptr, paiCol uintptr) int32 { /* sqlite3.c:123635:20: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -104881,7 +104900,7 @@ func Xsqlite3FkLocateIndex(tls *libc.TLS, pParse uintptr, pParent uintptr, pFKey // // These operations are identified in the comment at the top of this file // (fkey.c) as "I.1" and "D.1". -func fkLookupParent(tls *libc.TLS, pParse uintptr, iDb int32, pTab uintptr, pIdx uintptr, pFKey uintptr, aiCol uintptr, regData int32, nIncr int32, isIgnore int32) { /* sqlite3.c:123759:13: */ +func fkLookupParent(tls *libc.TLS, pParse uintptr, iDb int32, pTab uintptr, pIdx uintptr, pFKey uintptr, aiCol uintptr, regData int32, nIncr int32, isIgnore int32) { /* sqlite3.c:123772:13: */ var i int32 // Iterator variable var v uintptr = Xsqlite3GetVdbe(tls, pParse) // Vdbe to add code to var iCur int32 = (*Parse)(unsafe.Pointer(pParse)).FnTab - 1 // Cursor number to use @@ -105011,7 +105030,7 @@ func fkLookupParent(tls *libc.TLS, pParse uintptr, iDb int32, pTab uintptr, pIdx // regBase is the first of an array of register that contains the data // for pTab. regBase itself holds the rowid. regBase+1 holds the first // column. regBase+2 holds the second column, and so forth. -func exprTableRegister(tls *libc.TLS, pParse uintptr, pTab uintptr, regBase int32, iCol I16) uintptr { /* sqlite3.c:123912:13: */ +func exprTableRegister(tls *libc.TLS, pParse uintptr, pTab uintptr, regBase int32, iCol I16) uintptr { /* sqlite3.c:123925:13: */ var pExpr uintptr var pCol uintptr var zColl uintptr @@ -105038,7 +105057,7 @@ func exprTableRegister(tls *libc.TLS, pParse uintptr, pTab uintptr, regBase int3 // Return an Expr object that refers to column iCol of table pTab which // has cursor iCur. -func exprTableColumn(tls *libc.TLS, db uintptr, pTab uintptr, iCursor int32, iCol I16) uintptr { /* sqlite3.c:123944:13: */ +func exprTableColumn(tls *libc.TLS, db uintptr, pTab uintptr, iCursor int32, iCol I16) uintptr { /* sqlite3.c:123957:13: */ var pExpr uintptr = Xsqlite3Expr(tls, db, TK_COLUMN, uintptr(0)) if pExpr != 0 { @@ -105079,7 +105098,7 @@ func exprTableColumn(tls *libc.TLS, db uintptr, pTab uintptr, iCursor int32, iCo // // These operations are identified in the comment at the top of this file // (fkey.c) as "I.2" and "D.2". -func fkScanChildren(tls *libc.TLS, pParse uintptr, pSrc uintptr, pTab uintptr, pIdx uintptr, pFKey uintptr, aiCol uintptr, regData int32, nIncr int32) { /* sqlite3.c:123992:13: */ +func fkScanChildren(tls *libc.TLS, pParse uintptr, pSrc uintptr, pTab uintptr, pIdx uintptr, pFKey uintptr, aiCol uintptr, regData int32, nIncr int32) { /* sqlite3.c:124005:13: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -105203,7 +105222,7 @@ func fkScanChildren(tls *libc.TLS, pParse uintptr, pSrc uintptr, pTab uintptr, p // "t2". Calling this function with "t2" as the argument would return a // NULL pointer (as there are no FK constraints for which t2 is the parent // table). -func Xsqlite3FkReferences(tls *libc.TLS, pTab uintptr) uintptr { /* sqlite3.c:124121:21: */ +func Xsqlite3FkReferences(tls *libc.TLS, pTab uintptr) uintptr { /* sqlite3.c:124134:21: */ return Xsqlite3HashFind(tls, (*Table)(unsafe.Pointer(pTab)).FpSchema+80, (*Table)(unsafe.Pointer(pTab)).FzName) } @@ -105213,7 +105232,7 @@ func Xsqlite3FkReferences(tls *libc.TLS, pTab uintptr) uintptr { /* sqlite3.c:12 // // The Trigger structure or any of its sub-components may be allocated from // the lookaside buffer belonging to database handle dbMem. -func fkTriggerDelete(tls *libc.TLS, dbMem uintptr, p uintptr) { /* sqlite3.c:124133:13: */ +func fkTriggerDelete(tls *libc.TLS, dbMem uintptr, p uintptr) { /* sqlite3.c:124146:13: */ if p != 0 { var pStep uintptr = (*Trigger)(unsafe.Pointer(p)).Fstep_list Xsqlite3ExprDelete(tls, dbMem, (*TriggerStep)(unsafe.Pointer(pStep)).FpWhere) @@ -105227,7 +105246,7 @@ func fkTriggerDelete(tls *libc.TLS, dbMem uintptr, p uintptr) { /* sqlite3.c:124 // Clear the apTrigger[] cache of CASCADE triggers for all foreign keys // in a particular database. This needs to happen when the schema // changes. -func Xsqlite3FkClearTriggerCache(tls *libc.TLS, db uintptr, iDb int32) { /* sqlite3.c:124149:21: */ +func Xsqlite3FkClearTriggerCache(tls *libc.TLS, db uintptr, iDb int32) { /* sqlite3.c:124162:21: */ var k uintptr var pHash uintptr = (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(iDb)*32)).FpSchema + 8 for k = (*Hash)(unsafe.Pointer(pHash)).Ffirst; k != 0; k = (*HashElem)(unsafe.Pointer(k)).Fnext { @@ -105260,7 +105279,7 @@ func Xsqlite3FkClearTriggerCache(tls *libc.TLS, db uintptr, iDb int32) { /* sqli // then the equivalent of "DELETE FROM " is executed before dropping // the table from the database. Triggers are disabled while running this // DELETE, but foreign key actions are not. -func Xsqlite3FkDropTable(tls *libc.TLS, pParse uintptr, pName uintptr, pTab uintptr) { /* sqlite3.c:124180:21: */ +func Xsqlite3FkDropTable(tls *libc.TLS, pParse uintptr, pName uintptr, pTab uintptr) { /* sqlite3.c:124193:21: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb if (*Sqlite3)(unsafe.Pointer(db)).Fflags&uint64(SQLITE_ForeignKeys) != 0 && int32((*Table)(unsafe.Pointer(pTab)).FeTabType) == TABTYP_NORM { var iSkip int32 = 0 @@ -105323,7 +105342,7 @@ func Xsqlite3FkDropTable(tls *libc.TLS, pParse uintptr, pName uintptr, pTab uint // // This function returns true if any of the columns that are part of the // child key for FK constraint *p are modified. -func fkChildIsModified(tls *libc.TLS, pTab uintptr, p uintptr, aChange uintptr, bChngRowid int32) int32 { /* sqlite3.c:124243:12: */ +func fkChildIsModified(tls *libc.TLS, pTab uintptr, p uintptr, aChange uintptr, bChngRowid int32) int32 { /* sqlite3.c:124256:12: */ var i int32 for i = 0; i < (*FKey)(unsafe.Pointer(p)).FnCol; i++ { var iChildKey int32 = (*sColMap)(unsafe.Pointer(p + 64 + uintptr(i)*16)).FiFrom @@ -105347,7 +105366,7 @@ func fkChildIsModified(tls *libc.TLS, pTab uintptr, p uintptr, aChange uintptr, // // This function returns true if any of the columns that are part of the // parent key for FK constraint *p are modified. -func fkParentIsModified(tls *libc.TLS, pTab uintptr, p uintptr, aChange uintptr, bChngRowid int32) int32 { /* sqlite3.c:124270:12: */ +func fkParentIsModified(tls *libc.TLS, pTab uintptr, p uintptr, aChange uintptr, bChngRowid int32) int32 { /* sqlite3.c:124283:12: */ var i int32 for i = 0; i < (*FKey)(unsafe.Pointer(p)).FnCol; i++ { var zKey uintptr = (*sColMap)(unsafe.Pointer(p + 64 + uintptr(i)*16)).FzCol @@ -105371,7 +105390,7 @@ func fkParentIsModified(tls *libc.TLS, pTab uintptr, p uintptr, aChange uintptr, // Return true if the parser passed as the first argument is being // used to code a trigger that is really a "SET NULL" action belonging // to trigger pFKey. -func isSetNullAction(tls *libc.TLS, pParse uintptr, pFKey uintptr) int32 { /* sqlite3.c:124299:12: */ +func isSetNullAction(tls *libc.TLS, pParse uintptr, pFKey uintptr) int32 { /* sqlite3.c:124312:12: */ var pTop uintptr = func() uintptr { if (*Parse)(unsafe.Pointer(pParse)).FpToplevel != 0 { return (*Parse)(unsafe.Pointer(pParse)).FpToplevel @@ -105406,7 +105425,7 @@ func isSetNullAction(tls *libc.TLS, pParse uintptr, pFKey uintptr) int32 { /* sq // the original record is deleted from the table using the calling convention // described for DELETE. Then again after the original record is deleted // but before the new record is inserted using the INSERT convention. -func Xsqlite3FkCheck(tls *libc.TLS, pParse uintptr, pTab uintptr, regOld int32, regNew int32, aChange uintptr, bChngRowid int32) { /* sqlite3.c:124332:21: */ +func Xsqlite3FkCheck(tls *libc.TLS, pParse uintptr, pTab uintptr, regOld int32, regNew int32, aChange uintptr, bChngRowid int32) { /* sqlite3.c:124345:21: */ bp := tls.Alloc(40) defer tls.Free(40) @@ -105608,7 +105627,7 @@ func Xsqlite3FkCheck(tls *libc.TLS, pParse uintptr, pTab uintptr, regOld int32, // This function is called before generating code to update or delete a // row contained in table pTab. -func Xsqlite3FkOldmask(tls *libc.TLS, pParse uintptr, pTab uintptr) U32 { /* sqlite3.c:124535:20: */ +func Xsqlite3FkOldmask(tls *libc.TLS, pParse uintptr, pTab uintptr) U32 { /* sqlite3.c:124548:20: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -105667,7 +105686,7 @@ func Xsqlite3FkOldmask(tls *libc.TLS, pParse uintptr, pTab uintptr) U32 { /* sql // not "NO ACTION" (i.e. is CASCADE, SET DEFAULT or SET NULL). // // Or, assuming some other foreign key processing is required, 1. -func Xsqlite3FkRequired(tls *libc.TLS, pParse uintptr, pTab uintptr, aChange uintptr, chngRowid int32) int32 { /* sqlite3.c:124585:20: */ +func Xsqlite3FkRequired(tls *libc.TLS, pParse uintptr, pTab uintptr, aChange uintptr, chngRowid int32) int32 { /* sqlite3.c:124598:20: */ var eRet int32 = 1 // Value to return if bHaveFK is true var bHaveFK int32 = 0 // If FK processing is required if (*Sqlite3)(unsafe.Pointer((*Parse)(unsafe.Pointer(pParse)).Fdb)).Fflags&uint64(SQLITE_ForeignKeys) != 0 && int32((*Table)(unsafe.Pointer(pTab)).FeTabType) == TABTYP_NORM { @@ -105735,7 +105754,7 @@ func Xsqlite3FkRequired(tls *libc.TLS, pParse uintptr, pTab uintptr, aChange uin // The returned pointer is cached as part of the foreign key object. It // is eventually freed along with the rest of the foreign key object by // sqlite3FkDelete(). -func fkActionTrigger(tls *libc.TLS, pParse uintptr, pTab uintptr, pFKey uintptr, pChanges uintptr) uintptr { /* sqlite3.c:124653:16: */ +func fkActionTrigger(tls *libc.TLS, pParse uintptr, pTab uintptr, pFKey uintptr, pChanges uintptr) uintptr { /* sqlite3.c:124666:16: */ bp := tls.Alloc(96) defer tls.Free(96) @@ -105937,7 +105956,7 @@ func fkActionTrigger(tls *libc.TLS, pParse uintptr, pTab uintptr, pFKey uintptr, // This function is called when deleting or updating a row to implement // any required CASCADE, SET NULL or SET DEFAULT actions. -func Xsqlite3FkActions(tls *libc.TLS, pParse uintptr, pTab uintptr, pChanges uintptr, regOld int32, aChange uintptr, bChngRowid int32) { /* sqlite3.c:124845:21: */ +func Xsqlite3FkActions(tls *libc.TLS, pParse uintptr, pTab uintptr, pChanges uintptr, regOld int32, aChange uintptr, bChngRowid int32) { /* sqlite3.c:124858:21: */ // If foreign-key support is enabled, iterate through all FKs that // refer to table pTab. If there is an action associated with the FK // for this operation (either update or delete), invoke the associated @@ -105958,7 +105977,7 @@ func Xsqlite3FkActions(tls *libc.TLS, pParse uintptr, pTab uintptr, pChanges uin // Free all memory associated with foreign key definitions attached to // table pTab. Remove the deleted foreign keys from the Schema.fkeyHash // hash table. -func Xsqlite3FkDelete(tls *libc.TLS, db uintptr, pTab uintptr) { /* sqlite3.c:124877:21: */ +func Xsqlite3FkDelete(tls *libc.TLS, db uintptr, pTab uintptr) { /* sqlite3.c:124890:21: */ var pFKey uintptr // Iterator variable var pNext uintptr // Copy of pFKey->pNextFrom @@ -106018,7 +106037,7 @@ func Xsqlite3FkDelete(tls *libc.TLS, db uintptr, pTab uintptr) { /* sqlite3.c:12 // // If pTab is a WITHOUT ROWID table, then it is the PRIMARY KEY index // for that table that is actually opened. -func Xsqlite3OpenTable(tls *libc.TLS, pParse uintptr, iCur int32, iDb int32, pTab uintptr, opcode int32) { /* sqlite3.c:124943:21: */ +func Xsqlite3OpenTable(tls *libc.TLS, pParse uintptr, iCur int32, iDb int32, pTab uintptr, opcode int32) { /* sqlite3.c:124956:21: */ var v uintptr v = (*Parse)(unsafe.Pointer(pParse)).FpVdbe @@ -106060,7 +106079,7 @@ func Xsqlite3OpenTable(tls *libc.TLS, pParse uintptr, iCur int32, iDb int32, pTa // Memory for the buffer containing the column index affinity string // is managed along with the rest of the Index structure. It will be // released when sqlite3DeleteIndex() is called. -func Xsqlite3IndexAffinityStr(tls *libc.TLS, db uintptr, pIdx uintptr) uintptr { /* sqlite3.c:124990:27: */ +func Xsqlite3IndexAffinityStr(tls *libc.TLS, db uintptr, pIdx uintptr) uintptr { /* sqlite3.c:125003:27: */ if !(int32((*Index)(unsafe.Pointer(pIdx)).FzColAff) != 0) { // The first time a column affinity string for a particular index is // required, it is allocated and populated here. It is then stored as @@ -106139,7 +106158,7 @@ func Xsqlite3IndexAffinityStr(tls *libc.TLS, db uintptr, pIdx uintptr) uintptr { // register set as the OP_MakeRecord. If iReg>0 then register iReg is // the first of a series of registers that will form the new record. // Apply the type checking to that array of registers. -func Xsqlite3TableAffinity(tls *libc.TLS, v uintptr, pTab uintptr, iReg int32) { /* sqlite3.c:125069:21: */ +func Xsqlite3TableAffinity(tls *libc.TLS, v uintptr, pTab uintptr, iReg int32) { /* sqlite3.c:125082:21: */ var i int32 var j int32 var zColAff uintptr @@ -106197,7 +106216,7 @@ func Xsqlite3TableAffinity(tls *libc.TLS, v uintptr, pTab uintptr, iReg int32) { // have been opened at any point in the VDBE program. This is used to see if // a statement of the form "INSERT INTO SELECT ..." can // run without using a temporary table for the results of the SELECT. -func readsTable(tls *libc.TLS, p uintptr, iDb int32, pTab uintptr) int32 { /* sqlite3.c:125130:12: */ +func readsTable(tls *libc.TLS, p uintptr, iDb int32, pTab uintptr) int32 { /* sqlite3.c:125143:12: */ var v uintptr = Xsqlite3GetVdbe(tls, p) var i int32 var iEnd int32 = Xsqlite3VdbeCurrentAddr(tls, v) @@ -106233,7 +106252,7 @@ func readsTable(tls *libc.TLS, p uintptr, iDb int32, pTab uintptr) int32 { /* sq // This walker callback will compute the union of colFlags flags for all // referenced columns in a CHECK constraint or generated column expression. -func exprColumnFlagUnion(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:125167:12: */ +func exprColumnFlagUnion(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:125180:12: */ if int32((*Expr)(unsafe.Pointer(pExpr)).Fop) == TK_COLUMN && int32((*Expr)(unsafe.Pointer(pExpr)).FiColumn) >= 0 { *(*U16)(unsafe.Pointer(pWalker + 36)) |= U16(int32((*Column)(unsafe.Pointer((*Table1)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pWalker + 40)))).FaCol + uintptr((*Expr)(unsafe.Pointer(pExpr)).FiColumn)*24)).FcolFlags)) @@ -106246,7 +106265,7 @@ func exprColumnFlagUnion(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { // or VIRTUAL columns have not yet been initialized. This routine goes // back and computes the values for those columns based on the previously // computed normal columns. -func Xsqlite3ComputeGeneratedColumns(tls *libc.TLS, pParse uintptr, iRegStore int32, pTab uintptr) { /* sqlite3.c:125183:21: */ +func Xsqlite3ComputeGeneratedColumns(tls *libc.TLS, pParse uintptr, iRegStore int32, pTab uintptr) { /* sqlite3.c:125196:21: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -106359,7 +106378,7 @@ func Xsqlite3ComputeGeneratedColumns(tls *libc.TLS, pParse uintptr, iRegStore in // // The 2nd register is the one that is returned. That is all the // insert routine needs to know about. -func autoIncBegin(tls *libc.TLS, pParse uintptr, iDb int32, pTab uintptr) int32 { /* sqlite3.c:125307:12: */ +func autoIncBegin(tls *libc.TLS, pParse uintptr, iDb int32, pTab uintptr) int32 { /* sqlite3.c:125320:12: */ var memId int32 = 0 // Register holding maximum rowid if (*Table)(unsafe.Pointer(pTab)).FtabFlags&U32(TF_Autoincrement) != U32(0) && @@ -106413,7 +106432,7 @@ func autoIncBegin(tls *libc.TLS, pParse uintptr, iDb int32, pTab uintptr) int32 // This routine generates code that will initialize all of the // register used by the autoincrement tracker. -func Xsqlite3AutoincrementBegin(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:125358:21: */ +func Xsqlite3AutoincrementBegin(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:125371:21: */ var p uintptr // Information about an AUTOINCREMENT var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb // The database connection var pDb uintptr // Database only autoinc table @@ -106453,7 +106472,7 @@ func Xsqlite3AutoincrementBegin(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:12 } } -var iLn1 int32 = 0 /* sqlite3.c:125372:22 */ +var iLn1 int32 = 0 /* sqlite3.c:125385:22 */ var autoInc = [12]VdbeOpList{ /* 0 */ {Fopcode: U8(OP_Null)}, /* 1 */ {Fopcode: U8(OP_Rewind), Fp2: int8(10)}, @@ -106467,7 +106486,7 @@ var autoInc = [12]VdbeOpList{ /* 9 */ {Fopcode: U8(OP_Next), Fp2: int8(2)}, /* 10 */ {Fopcode: U8(OP_Integer)}, /* 11 */ {Fopcode: U8(OP_Close)}, -} /* sqlite3.c:125373:29 */ +} /* sqlite3.c:125386:29 */ // Update the maximum rowid for an autoincrement calculation. // @@ -106475,7 +106494,7 @@ var autoInc = [12]VdbeOpList{ // new rowid that is about to be inserted. If that new rowid is // larger than the maximum rowid in the memId memory cell, then the // memory cell is updated. -func autoIncStep(tls *libc.TLS, pParse uintptr, memId int32, regRowid int32) { /* sqlite3.c:125419:13: */ +func autoIncStep(tls *libc.TLS, pParse uintptr, memId int32, regRowid int32) { /* sqlite3.c:125432:13: */ if memId > 0 { Xsqlite3VdbeAddOp2(tls, (*Parse)(unsafe.Pointer(pParse)).FpVdbe, OP_MemMax, memId, regRowid) } @@ -106486,7 +106505,7 @@ func autoIncStep(tls *libc.TLS, pParse uintptr, memId int32, regRowid int32) { / // Every statement that might do an INSERT into an autoincrement // table (either directly or through triggers) needs to call this // routine just before the "exit" code. -func autoIncrementEnd(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:125432:29: */ +func autoIncrementEnd(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:125445:29: */ var p uintptr var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb @@ -106517,16 +106536,16 @@ func autoIncrementEnd(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:125432:29: * } } -var iLn2 int32 = 0 /* sqlite3.c:125439:22 */ +var iLn2 int32 = 0 /* sqlite3.c:125452:22 */ var autoIncEnd = [5]VdbeOpList{ /* 0 */ {Fopcode: U8(OP_NotNull), Fp2: int8(2)}, /* 1 */ {Fopcode: U8(OP_NewRowid)}, /* 2 */ {Fopcode: U8(OP_MakeRecord), Fp2: int8(2)}, /* 3 */ {Fopcode: U8(OP_Insert)}, /* 4 */ {Fopcode: U8(OP_Close)}, -} /* sqlite3.c:125440:29 */ +} /* sqlite3.c:125453:29 */ -func Xsqlite3AutoincrementEnd(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:125469:21: */ +func Xsqlite3AutoincrementEnd(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:125482:21: */ if (*Parse)(unsafe.Pointer(pParse)).FpAinc != 0 { autoIncrementEnd(tls, pParse) } @@ -106627,7 +106646,7 @@ func Xsqlite3AutoincrementEnd(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:1254 // transfer values form intermediate table into
// end loop // D: cleanup -func Xsqlite3Insert(tls *libc.TLS, pParse uintptr, pTabList uintptr, pSelect uintptr, pColumn uintptr, onError int32, pUpsert uintptr) { /* sqlite3.c:125588:21: */ +func Xsqlite3Insert(tls *libc.TLS, pParse uintptr, pTabList uintptr, pSelect uintptr, pColumn uintptr, onError int32, pUpsert uintptr) { /* sqlite3.c:125601:21: */ bp := tls.Alloc(188) defer tls.Free(188) @@ -107681,7 +107700,7 @@ insert_cleanup: // Set bit 0x01 of pWalker->eCode if pWalker->eCode to 0 and if this // expression node references any of the // columns that are being modifed by an UPDATE statement. -func checkConstraintExprNode(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:126347:12: */ +func checkConstraintExprNode(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:126360:12: */ if int32((*Expr)(unsafe.Pointer(pExpr)).Fop) == TK_COLUMN { if int32((*Expr)(unsafe.Pointer(pExpr)).FiColumn) >= 0 { @@ -107708,7 +107727,7 @@ func checkConstraintExprNode(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int3 // The operation of this routine is the same - return true if an only if // the expression uses one or more of columns identified by the second and // third arguments. -func Xsqlite3ExprReferencesUpdatedColumn(tls *libc.TLS, pExpr uintptr, aiChng uintptr, chngRowid int32) int32 { /* sqlite3.c:126376:20: */ +func Xsqlite3ExprReferencesUpdatedColumn(tls *libc.TLS, pExpr uintptr, aiChng uintptr, chngRowid int32) int32 { /* sqlite3.c:126389:20: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -107742,7 +107761,7 @@ type IndexListTerm1 = struct { Fp uintptr Fix int32 F__ccgo_pad1 [4]byte -} /* sqlite3.c:126409:9 */ +} /* sqlite3.c:126422:9 */ // The sqlite3GenerateConstraintChecks() routine usually wants to visit // the indexes of a table in the order provided in the Table->pIndex list. @@ -107753,7 +107772,7 @@ type IndexListTerm1 = struct { // The IndexIterator object is used to walk through all of the indexes // of a table in either Index.pNext order, or in some other order established // by an array of IndexListTerm objects. -type IndexListTerm = IndexListTerm1 /* sqlite3.c:126409:30 */ +type IndexListTerm = IndexListTerm1 /* sqlite3.c:126422:30 */ type IndexIterator1 = struct { FeType int32 Fi int32 @@ -107761,12 +107780,12 @@ type IndexIterator1 = struct { Flx struct{ FpIdx uintptr } F__ccgo_pad1 [8]byte } -} /* sqlite3.c:126410:9 */ +} /* sqlite3.c:126423:9 */ -type IndexIterator = IndexIterator1 /* sqlite3.c:126410:30 */ +type IndexIterator = IndexIterator1 /* sqlite3.c:126423:30 */ // Return the first index on the list -func indexIteratorFirst(tls *libc.TLS, pIter uintptr, pIx uintptr) uintptr { /* sqlite3.c:126434:14: */ +func indexIteratorFirst(tls *libc.TLS, pIter uintptr, pIx uintptr) uintptr { /* sqlite3.c:126447:14: */ if (*IndexIterator)(unsafe.Pointer(pIter)).FeType != 0 { *(*int32)(unsafe.Pointer(pIx)) = (*IndexListTerm)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pIter + 8 + 8 /* &.aIdx */)))).Fix @@ -107779,7 +107798,7 @@ func indexIteratorFirst(tls *libc.TLS, pIter uintptr, pIx uintptr) uintptr { /* } // Return the next index from the list. Return NULL when out of indexes -func indexIteratorNext(tls *libc.TLS, pIter uintptr, pIx uintptr) uintptr { /* sqlite3.c:126446:14: */ +func indexIteratorNext(tls *libc.TLS, pIter uintptr, pIx uintptr) uintptr { /* sqlite3.c:126459:14: */ if (*IndexIterator)(unsafe.Pointer(pIter)).FeType != 0 { var i int32 = libc.PreIncInt32(&(*IndexIterator)(unsafe.Pointer(pIter)).Fi, 1) if i >= *(*int32)(unsafe.Pointer(pIter + 8)) { @@ -107885,7 +107904,7 @@ func indexIteratorNext(tls *libc.TLS, pIter uintptr, pIx uintptr) uintptr { /* s // Or if overrideError==OE_Default, then the pParse->onError parameter // is used. Or if pParse->onError==OE_Default then the onError value // for the constraint is used. -func Xsqlite3GenerateConstraintChecks(tls *libc.TLS, pParse uintptr, pTab uintptr, aRegIdx uintptr, iDataCur int32, iIdxCur int32, regNewData int32, regOldData int32, pkChng U8, overrideError U8, ignoreDest int32, pbMayReplace uintptr, aiChng uintptr, pUpsert uintptr) { /* sqlite3.c:126553:21: */ +func Xsqlite3GenerateConstraintChecks(tls *libc.TLS, pParse uintptr, pTab uintptr, aRegIdx uintptr, iDataCur int32, iIdxCur int32, regNewData int32, regOldData int32, pkChng U8, overrideError U8, ignoreDest int32, pbMayReplace uintptr, aiChng uintptr, pUpsert uintptr) { /* sqlite3.c:126566:21: */ bp := tls.Alloc(72) defer tls.Free(72) @@ -108743,7 +108762,7 @@ func Xsqlite3GenerateConstraintChecks(tls *libc.TLS, pParse uintptr, pTab uintpt // number is iCur, and register regData contains the new record for the // PK index. This function adds code to invoke the pre-update hook, // if one is registered. -func codeWithoutRowidPreupdate(tls *libc.TLS, pParse uintptr, pTab uintptr, iCur int32, regData int32) { /* sqlite3.c:127411:13: */ +func codeWithoutRowidPreupdate(tls *libc.TLS, pParse uintptr, pTab uintptr, iCur int32, regData int32) { /* sqlite3.c:127424:13: */ var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe var r int32 = Xsqlite3GetTempReg(tls, pParse) @@ -108760,7 +108779,7 @@ func codeWithoutRowidPreupdate(tls *libc.TLS, pParse uintptr, pTab uintptr, iCur // // The arguments to this routine should be the same as the first six // arguments to sqlite3GenerateConstraintChecks. -func Xsqlite3CompleteInsertion(tls *libc.TLS, pParse uintptr, pTab uintptr, iDataCur int32, iIdxCur int32, regNewData int32, aRegIdx uintptr, update_flags int32, appendBias int32, useSeekResult int32) { /* sqlite3.c:127439:21: */ +func Xsqlite3CompleteInsertion(tls *libc.TLS, pParse uintptr, pTab uintptr, iDataCur int32, iIdxCur int32, regNewData int32, aRegIdx uintptr, update_flags int32, appendBias int32, useSeekResult int32) { /* sqlite3.c:127452:21: */ var v uintptr // Prepared statements under construction var pIdx uintptr // An index being inserted or updated var pik_flags U8 // flag values passed to the btree insert @@ -108863,7 +108882,7 @@ __3: // // If pTab is a virtual table, then this routine is a no-op and the // *piDataCur and *piIdxCur values are left uninitialized. -func Xsqlite3OpenTableAndIndices(tls *libc.TLS, pParse uintptr, pTab uintptr, op int32, p5 U8, iBase int32, aToOpen uintptr, piDataCur uintptr, piIdxCur uintptr) int32 { /* sqlite3.c:127527:20: */ +func Xsqlite3OpenTableAndIndices(tls *libc.TLS, pParse uintptr, pTab uintptr, op int32, p5 U8, iBase int32, aToOpen uintptr, piDataCur uintptr, piIdxCur uintptr) int32 { /* sqlite3.c:127540:20: */ var i int32 var iDb int32 var iDataCur int32 @@ -108941,7 +108960,7 @@ __3: // * The same onError processing (OE_Abort, OE_Ignore, etc) // * The same collating sequence on each column // * The index has the exact same WHERE clause -func xferCompatibleIndex(tls *libc.TLS, pDest uintptr, pSrc uintptr) int32 { /* sqlite3.c:127606:12: */ +func xferCompatibleIndex(tls *libc.TLS, pDest uintptr, pSrc uintptr) int32 { /* sqlite3.c:127619:12: */ var i int32 if int32((*Index)(unsafe.Pointer(pDest)).FnKeyCol) != int32((*Index)(unsafe.Pointer(pSrc)).FnKeyCol) || int32((*Index)(unsafe.Pointer(pDest)).FnColumn) != int32((*Index)(unsafe.Pointer(pSrc)).FnColumn) { @@ -108999,7 +109018,7 @@ func xferCompatibleIndex(tls *libc.TLS, pDest uintptr, pSrc uintptr) int32 { /* // is no chance that the xfer optimization can be applied. // // This optimization is particularly useful at making VACUUM run faster. -func xferOptimization(tls *libc.TLS, pParse uintptr, pDest uintptr, pSelect uintptr, onError int32, iDbDest int32) int32 { /* sqlite3.c:127667:12: */ +func xferOptimization(tls *libc.TLS, pParse uintptr, pDest uintptr, pSelect uintptr, onError int32, iDbDest int32) int32 { /* sqlite3.c:127680:12: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb var pEList uintptr // The result set of the SELECT var pSrc uintptr // The table in the FROM clause of SELECT @@ -109379,7 +109398,7 @@ func xferOptimization(tls *libc.TLS, pParse uintptr, pDest uintptr, pSelect uint // the xCallback() function is called. pArg becomes the first // 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 Sqlite3_callback, pArg uintptr, pzErrMsg uintptr) int32 { /* sqlite3.c:128078:16: */ +func Xsqlite3_exec(tls *libc.TLS, db uintptr, zSql uintptr, xCallback Sqlite3_callback, pArg uintptr, pzErrMsg uintptr) int32 { /* sqlite3.c:128091:16: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -109400,7 +109419,7 @@ func Xsqlite3_exec(tls *libc.TLS, db uintptr, zSql uintptr, xCallback Sqlite3_ca if !!(Xsqlite3SafetyCheckOk(tls, db) != 0) { goto __1 } - return Xsqlite3MisuseError(tls, 128091) + return Xsqlite3MisuseError(tls, 128104) __1: ; if !(zSql == uintptr(0)) { @@ -109589,7 +109608,7 @@ __26: // This is the function signature used for all extension entry points. It // is also defined in the file "loadext.c". -type Sqlite3_loadext_entry = uintptr /* sqlite3.c:128572:13 */ +type Sqlite3_loadext_entry = uintptr /* sqlite3.c:128585:13 */ // The following macros redefine the API routines so that they are // redirected through the global sqlite3_api structure. @@ -109923,7 +109942,7 @@ var sqlite3Apis = Sqlite3_api_routines{ Fvtab_in: 0, Fvtab_in_first: 0, Fvtab_in_next: 0, -} /* sqlite3.c:129018:35 */ +} /* sqlite3.c:129031:35 */ // True if x is the directory separator character @@ -109937,7 +109956,7 @@ var sqlite3Apis = Sqlite3_api_routines{ // If an error occurs and pzErrMsg is not 0, then fill *pzErrMsg with // error message text. The calling function should free this memory // by calling sqlite3DbFree(db, ). -func sqlite3LoadExtension(tls *libc.TLS, db uintptr, zFile uintptr, zProc uintptr, pzErrMsg uintptr) int32 { /* sqlite3.c:129402:12: */ +func sqlite3LoadExtension(tls *libc.TLS, db uintptr, zFile uintptr, zProc uintptr, pzErrMsg uintptr) int32 { /* sqlite3.c:129415:12: */ bp := tls.Alloc(64) defer tls.Free(64) @@ -110191,9 +110210,9 @@ __28: var azEndings = [1]uintptr{ ts + 15949, -} /* sqlite3.c:129420:21 */ +} /* sqlite3.c:129433:21 */ -func Xsqlite3_load_extension(tls *libc.TLS, db uintptr, zFile uintptr, zProc uintptr, pzErrMsg uintptr) int32 { /* sqlite3.c:129553:16: */ +func Xsqlite3_load_extension(tls *libc.TLS, db uintptr, zFile uintptr, zProc uintptr, pzErrMsg uintptr) int32 { /* sqlite3.c:129566:16: */ var rc int32 Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) rc = sqlite3LoadExtension(tls, db, zFile, zProc, pzErrMsg) @@ -110204,7 +110223,7 @@ func Xsqlite3_load_extension(tls *libc.TLS, db uintptr, zFile uintptr, zProc uin // Call this routine when the database connection is closing in order // to clean up loaded extensions -func Xsqlite3CloseExtensions(tls *libc.TLS, db uintptr) { /* sqlite3.c:129571:21: */ +func Xsqlite3CloseExtensions(tls *libc.TLS, db uintptr) { /* sqlite3.c:129584:21: */ var i int32 for i = 0; i < (*Sqlite3)(unsafe.Pointer(db)).FnExtension; i++ { @@ -110215,7 +110234,7 @@ func Xsqlite3CloseExtensions(tls *libc.TLS, db uintptr) { /* sqlite3.c:129571:21 // Enable or disable extension loading. Extension loading is disabled by // default so as not to open security holes in older applications. -func Xsqlite3_enable_load_extension(tls *libc.TLS, db uintptr, onoff int32) int32 { /* sqlite3.c:129584:16: */ +func Xsqlite3_enable_load_extension(tls *libc.TLS, db uintptr, onoff int32) int32 { /* sqlite3.c:129597:16: */ Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) if onoff != 0 { *(*U64)(unsafe.Pointer(db + 48)) |= uint64(SQLITE_LoadExtension | SQLITE_LoadExtFunc) @@ -110235,15 +110254,15 @@ type sqlite3AutoExtList = struct { FnExt U32 F__ccgo_pad1 [4]byte FaExt uintptr -} /* sqlite3.c:129604:9 */ +} /* sqlite3.c:129617:9 */ // The following object holds the list of automatically loaded // extensions. // // This list is shared across threads. The SQLITE_MUTEX_STATIC_MAIN // mutex must be held while accessing this list. -type Sqlite3AutoExtList = sqlite3AutoExtList /* sqlite3.c:129604:35 */ -var sqlite3Autoext = sqlite3AutoExtList{} /* sqlite3.c:129608:3 */ +type Sqlite3AutoExtList = sqlite3AutoExtList /* sqlite3.c:129617:35 */ +var sqlite3Autoext = sqlite3AutoExtList{} /* sqlite3.c:129621:3 */ // The "wsdAutoext" macro will resolve to the autoextension // state vector. If writable static data is unsupported on the target, @@ -110253,7 +110272,7 @@ var sqlite3Autoext = sqlite3AutoExtList{} /* sqlite3.c:129608:3 */ // Register a statically linked extension that is automatically // loaded by every new database connection. -func Xsqlite3_auto_extension(tls *libc.TLS, xInit uintptr) int32 { /* sqlite3.c:129630:16: */ +func Xsqlite3_auto_extension(tls *libc.TLS, xInit uintptr) int32 { /* sqlite3.c:129643:16: */ var rc int32 = SQLITE_OK rc = Xsqlite3_initialize(tls) if rc != 0 { @@ -110294,7 +110313,7 @@ func Xsqlite3_auto_extension(tls *libc.TLS, xInit uintptr) int32 { /* sqlite3.c: // // 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) int32 { /* sqlite3.c:129677:16: */ +func Xsqlite3_cancel_auto_extension(tls *libc.TLS, xInit uintptr) int32 { /* sqlite3.c:129690:16: */ var mutex uintptr = Xsqlite3MutexAlloc(tls, SQLITE_MUTEX_STATIC_MAIN) var i int32 var n int32 = 0 @@ -110313,7 +110332,7 @@ func Xsqlite3_cancel_auto_extension(tls *libc.TLS, xInit uintptr) int32 { /* sql } // Reset the automatic extension loading mechanism. -func Xsqlite3_reset_auto_extension(tls *libc.TLS) { /* sqlite3.c:129702:17: */ +func Xsqlite3_reset_auto_extension(tls *libc.TLS) { /* sqlite3.c:129715:17: */ if Xsqlite3_initialize(tls) == SQLITE_OK { var mutex uintptr = Xsqlite3MutexAlloc(tls, SQLITE_MUTEX_STATIC_MAIN) @@ -110328,7 +110347,7 @@ func Xsqlite3_reset_auto_extension(tls *libc.TLS) { /* sqlite3.c:129702:17: */ // Load all automatic extensions. // // If anything goes wrong, set an error in the database connection. -func Xsqlite3AutoLoadExtensions(tls *libc.TLS, db uintptr) { /* sqlite3.c:129724:21: */ +func Xsqlite3AutoLoadExtensions(tls *libc.TLS, db uintptr) { /* sqlite3.c:129737:21: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -110465,7 +110484,7 @@ var pragCName = [57]uintptr{ ts + 16224, ts + 16235, -} /* sqlite3.c:129865:19 */ +} /* sqlite3.c:129878:19 */ // Definitions of all built-in pragmas type PragmaName1 = struct { @@ -110476,10 +110495,10 @@ type PragmaName1 = struct { FnPragCName U8 F__ccgo_pad1 [4]byte FiArg U64 -} /* sqlite3.c:129930:9 */ +} /* sqlite3.c:129943:9 */ // Definitions of all built-in pragmas -type PragmaName = PragmaName1 /* sqlite3.c:129937:3 */ +type PragmaName = PragmaName1 /* sqlite3.c:129950:3 */ var aPragmaName = [66]PragmaName{ { /* zName: */ FzName: ts + 16243, /* ePragTyp: */ FePragTyp: U8(PragTyp_ANALYSIS_LIMIT), @@ -110716,7 +110735,7 @@ var aPragmaName = [66]PragmaName{ /* ePragTyp: */ FePragTyp: U8(PragTyp_FLAG), /* ePragFlg: */ FmPragFlg: U8(PragFlg_Result0 | PragFlg_NoColumns1), /* iArg: */ FiArg: uint64(SQLITE_WriteSchema | SQLITE_NoSchemaError)}, -} /* sqlite3.c:129938:25 */ +} /* sqlite3.c:129951:25 */ // Number of pragmas: 68 on by default, 78 total. @@ -110732,7 +110751,7 @@ var aPragmaName = [66]PragmaName{ // should be passed into sqlite3BtreeSetSafetyLevel(). The is done // to support legacy SQL code. The safety level used to be boolean // and older scripts may have used numbers 0 for OFF and 1 for ON. -func getSafetyLevel(tls *libc.TLS, z uintptr, omitFull int32, dflt U8) U8 { /* sqlite3.c:130472:11: */ +func getSafetyLevel(tls *libc.TLS, z uintptr, omitFull int32, dflt U8) U8 { /* sqlite3.c:130485:11: */ // on no off false yes true extra full var i int32 var n int32 @@ -110749,13 +110768,13 @@ func getSafetyLevel(tls *libc.TLS, z uintptr, omitFull int32, dflt U8) U8 { /* s return dflt } -var zText = *(*[25]uint8)(unsafe.Pointer(ts + 17210)) /* sqlite3.c:130474:21 */ -var iOffset = [8]U8{U8(0), U8(1), U8(2), U8(4), U8(9), U8(12), U8(15), U8(20)} /* sqlite3.c:130475:19 */ -var iLength = [8]U8{U8(2), U8(2), U8(3), U8(5), U8(3), U8(4), U8(5), U8(4)} /* sqlite3.c:130476:19 */ -var iValue = [8]U8{U8(1), U8(0), U8(0), U8(0), U8(1), U8(1), U8(3), U8(2)} /* sqlite3.c:130477:19 */ +var zText = *(*[25]uint8)(unsafe.Pointer(ts + 17210)) /* sqlite3.c:130487:21 */ +var iOffset = [8]U8{U8(0), U8(1), U8(2), U8(4), U8(9), U8(12), U8(15), U8(20)} /* sqlite3.c:130488:19 */ +var iLength = [8]U8{U8(2), U8(2), U8(3), U8(5), U8(3), U8(4), U8(5), U8(4)} /* sqlite3.c:130489:19 */ +var iValue = [8]U8{U8(1), U8(0), U8(0), U8(0), U8(1), U8(1), U8(3), U8(2)} /* sqlite3.c:130490:19 */ // Interpret the given string as a boolean value. -func Xsqlite3GetBoolean(tls *libc.TLS, z uintptr, dflt U8) U8 { /* sqlite3.c:130497:19: */ +func Xsqlite3GetBoolean(tls *libc.TLS, z uintptr, dflt U8) U8 { /* sqlite3.c:130510:19: */ return U8(libc.Bool32(int32(getSafetyLevel(tls, z, 1, dflt)) != 0)) } @@ -110764,7 +110783,7 @@ func Xsqlite3GetBoolean(tls *libc.TLS, z uintptr, dflt U8) U8 { /* sqlite3.c:130 // the rest of the file if PRAGMAs are omitted from the build. // Interpret the given string as a locking mode value. -func getLockingMode(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:130510:12: */ +func getLockingMode(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:130523:12: */ if z != 0 { if 0 == Xsqlite3StrICmp(tls, z, ts+17235) { return PAGER_LOCKINGMODE_EXCLUSIVE @@ -110780,7 +110799,7 @@ func getLockingMode(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:130510:12: */ // // The following strings, "none", "full" and "incremental" are // acceptable, as are their numeric equivalents: 0, 1 and 2 respectively. -func getAutoVacuum(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:130525:12: */ +func getAutoVacuum(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:130538:12: */ var i int32 if 0 == Xsqlite3StrICmp(tls, z, ts+7905) { return BTREE_AUTOVACUUM_NONE @@ -110803,7 +110822,7 @@ func getAutoVacuum(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:130525:12: */ // Interpret the given string as a temp db location. Return 1 for file // backed temporary databases, 2 for the Red-Black tree in memory database // and 0 to use the compile-time default. -func getTempStore(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:130541:12: */ +func getTempStore(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:130554:12: */ if int32(*(*uint8)(unsafe.Pointer(z))) >= '0' && int32(*(*uint8)(unsafe.Pointer(z))) <= '2' { return int32(*(*uint8)(unsafe.Pointer(z))) - '0' } else if Xsqlite3StrICmp(tls, z, ts+16185) == 0 { @@ -110818,7 +110837,7 @@ func getTempStore(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:130541:12: */ // Invalidate temp storage, either when the temp storage is changed // from default, or when 'file' and the temp_store_directory has changed -func invalidateTempStorage(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:130559:12: */ +func invalidateTempStorage(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:130572:12: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb if (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+1*32)).FpBt != uintptr(0) { if !(int32((*Sqlite3)(unsafe.Pointer(db)).FautoCommit) != 0) || @@ -110837,7 +110856,7 @@ func invalidateTempStorage(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:1 // If the TEMP database is open, close it and mark the database schema // as needing reloading. This must be done when using the SQLITE_TEMP_STORE // or DEFAULT_TEMP_STORE pragmas. -func changeTempStorage(tls *libc.TLS, pParse uintptr, zStorageType uintptr) int32 { /* sqlite3.c:130583:12: */ +func changeTempStorage(tls *libc.TLS, pParse uintptr, zStorageType uintptr) int32 { /* sqlite3.c:130596:12: */ var ts int32 = getTempStore(tls, zStorageType) var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb if int32((*Sqlite3)(unsafe.Pointer(db)).Ftemp_store) == ts { @@ -110851,7 +110870,7 @@ func changeTempStorage(tls *libc.TLS, pParse uintptr, zStorageType uintptr) int3 } // Set result column names for a pragma. -func setPragmaResultColumnNames(tls *libc.TLS, v uintptr, pPragma uintptr) { /* sqlite3.c:130598:13: */ +func setPragmaResultColumnNames(tls *libc.TLS, v uintptr, pPragma uintptr) { /* sqlite3.c:130611:13: */ var n U8 = (*PragmaName)(unsafe.Pointer(pPragma)).FnPragCName Xsqlite3VdbeSetNumCols(tls, v, func() int32 { if int32(n) == 0 { @@ -110885,7 +110904,7 @@ func setPragmaResultColumnNames(tls *libc.TLS, v uintptr, pPragma uintptr) { /* } // Generate code to return a single integer value. -func returnSingleInt(tls *libc.TLS, v uintptr, value I64) { /* sqlite3.c:130617:13: */ +func returnSingleInt(tls *libc.TLS, v uintptr, value I64) { /* sqlite3.c:130630:13: */ bp := tls.Alloc(8) defer tls.Free(8) *(*I64)(unsafe.Pointer(bp)) = value @@ -110895,7 +110914,7 @@ func returnSingleInt(tls *libc.TLS, v uintptr, value I64) { /* sqlite3.c:130617: } // Generate code to return a single text value. -func returnSingleText(tls *libc.TLS, v uintptr, zValue uintptr) { /* sqlite3.c:130625:13: */ +func returnSingleText(tls *libc.TLS, v uintptr, zValue uintptr) { /* sqlite3.c:130638:13: */ if zValue != 0 { Xsqlite3VdbeLoadString(tls, v, 1, zValue) Xsqlite3VdbeAddOp2(tls, v, OP_ResultRow, 1, 1) @@ -110904,7 +110923,7 @@ func returnSingleText(tls *libc.TLS, v uintptr, zValue uintptr) { /* sqlite3.c:1 // Set the safety_level and pager flags for pager iDb. Or if iDb<0 // set these values for all pagers. -func setAllPagerFlags(tls *libc.TLS, db uintptr) { /* sqlite3.c:130641:13: */ +func setAllPagerFlags(tls *libc.TLS, db uintptr) { /* sqlite3.c:130654:13: */ if (*Sqlite3)(unsafe.Pointer(db)).FautoCommit != 0 { var pDb uintptr = (*Sqlite3)(unsafe.Pointer(db)).FaDb var n int32 = (*Sqlite3)(unsafe.Pointer(db)).FnDb @@ -110920,7 +110939,7 @@ func setAllPagerFlags(tls *libc.TLS, db uintptr) { /* sqlite3.c:130641:13: */ } // Return a human-readable name for a constraint resolution action. -func actionName(tls *libc.TLS, action U8) uintptr { /* sqlite3.c:130669:19: */ +func actionName(tls *libc.TLS, action U8) uintptr { /* sqlite3.c:130682:19: */ var zName uintptr switch int32(action) { case OE_SetNull: @@ -110945,7 +110964,7 @@ func actionName(tls *libc.TLS, action U8) uintptr { /* sqlite3.c:130669:19: */ // Parameter eMode must be one of the PAGER_JOURNALMODE_XXX constants // defined in pager.h. This function returns the associated lowercase // journal-mode name. -func Xsqlite3JournalModename(tls *libc.TLS, eMode int32) uintptr { /* sqlite3.c:130689:27: */ +func Xsqlite3JournalModename(tls *libc.TLS, eMode int32) uintptr { /* sqlite3.c:130702:27: */ if eMode == int32(uint64(unsafe.Sizeof(azModeName))/uint64(unsafe.Sizeof(uintptr(0)))) { return uintptr(0) @@ -110955,10 +110974,10 @@ func Xsqlite3JournalModename(tls *libc.TLS, eMode int32) uintptr { /* sqlite3.c: var azModeName = [6]uintptr{ ts + 17386, ts + 17393, ts + 17401, ts + 17405, ts + 17269, ts + 17414, -} /* sqlite3.c:130690:15 */ +} /* sqlite3.c:130703:15 */ // Locate a pragma in the aPragmaName[] array. -func pragmaLocate(tls *libc.TLS, zName uintptr) uintptr { /* sqlite3.c:130711:25: */ +func pragmaLocate(tls *libc.TLS, zName uintptr) uintptr { /* sqlite3.c:130724:25: */ var upr int32 var lwr int32 var mid int32 = 0 @@ -110985,7 +111004,7 @@ func pragmaLocate(tls *libc.TLS, zName uintptr) uintptr { /* sqlite3.c:130711:25 // Create zero or more entries in the output for the SQL functions // defined by FuncDef p. -func pragmaFunclistLine(tls *libc.TLS, v uintptr, p uintptr, isBuiltin int32, showInternFuncs int32) { /* sqlite3.c:130732:13: */ +func pragmaFunclistLine(tls *libc.TLS, v uintptr, p uintptr, isBuiltin int32, showInternFuncs int32) { /* sqlite3.c:130745:13: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -111014,15 +111033,15 @@ func pragmaFunclistLine(tls *libc.TLS, v uintptr, p uintptr, isBuiltin int32, sh } } -var mask U32 = U32(SQLITE_DETERMINISTIC | SQLITE_DIRECTONLY | SQLITE_SUBTYPE | SQLITE_INNOCUOUS | SQLITE_FUNC_INTERNAL) /* sqlite3.c:130740:22 */ -var azEnc = [4]uintptr{uintptr(0), ts + 17429, ts + 17434, ts + 17442 /* "utf16be" */} /* sqlite3.c:130747:23 */ +var mask U32 = U32(SQLITE_DETERMINISTIC | SQLITE_DIRECTONLY | SQLITE_SUBTYPE | SQLITE_INNOCUOUS | SQLITE_FUNC_INTERNAL) /* sqlite3.c:130753:22 */ +var azEnc = [4]uintptr{uintptr(0), ts + 17429, ts + 17434, ts + 17442 /* "utf16be" */} /* sqlite3.c:130760:23 */ // Helper subroutine for PRAGMA integrity_check: // // Generate code to output a single-column result row with a value of the // string held in register 3. Decrement the result count in register 1 // and halt if the maximum number of result rows have been issued. -func integrityCheckResultRow(tls *libc.TLS, v uintptr) int32 { /* sqlite3.c:130784:12: */ +func integrityCheckResultRow(tls *libc.TLS, v uintptr) int32 { /* sqlite3.c:130797:12: */ var addr int32 Xsqlite3VdbeAddOp2(tls, v, OP_ResultRow, 3, 1) addr = Xsqlite3VdbeAddOp3(tls, v, OP_IfPos, 1, Xsqlite3VdbeCurrentAddr(tls, v)+2, 1) @@ -111044,7 +111063,7 @@ func integrityCheckResultRow(tls *libc.TLS, v uintptr) int32 { /* sqlite3.c:1307 // If the left side is "database.id" then pId1 is the database name // and pId2 is the id. If the left side is just "id" then pId1 is the // id and pId2 is any empty string. -func Xsqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, pValue uintptr, minusFlag int32) { /* sqlite3.c:130808:21: */ +func Xsqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, pValue uintptr, minusFlag int32) { /* sqlite3.c:130821:21: */ bp := tls.Alloc(616) defer tls.Free(616) @@ -114432,9 +114451,9 @@ type EncName = struct { FzName uintptr Fenc U8 F__ccgo_pad1 [7]byte -} /* sqlite3.c:132383:18 */ +} /* sqlite3.c:132396:18 */ -var iLn3 int32 = 0 /* sqlite3.c:130937:22 */ +var iLn3 int32 = 0 /* sqlite3.c:130950:22 */ var getCacheSize = [9]VdbeOpList{ {Fopcode: U8(OP_Transaction)}, // 0 {Fopcode: U8(OP_ReadCookie), Fp2: int8(1), Fp3: int8(BTREE_DEFAULT_CACHE_SIZE)}, // 1 @@ -114445,16 +114464,16 @@ var getCacheSize = [9]VdbeOpList{ {Fopcode: U8(OP_Integer), Fp2: int8(1)}, // 6 {Fopcode: U8(OP_Noop)}, {Fopcode: U8(OP_ResultRow), Fp1: int8(1), Fp2: int8(1)}, -} /* sqlite3.c:130938:29 */ -var iLn4 int32 = 0 /* sqlite3.c:131206:26 */ +} /* sqlite3.c:130951:29 */ +var iLn4 int32 = 0 /* sqlite3.c:131219:26 */ var setMeta6 = [5]VdbeOpList{ {Fopcode: U8(OP_Transaction), Fp2: int8(1)}, // 0 {Fopcode: U8(OP_ReadCookie), Fp2: int8(1), Fp3: int8(BTREE_LARGEST_ROOT_PAGE)}, {Fopcode: U8(OP_If), Fp1: int8(1)}, // 2 {Fopcode: U8(OP_Halt), Fp2: int8(OE_Abort)}, // 3 {Fopcode: U8(OP_SetCookie), Fp2: int8(BTREE_INCR_VACUUM)}, // 4 -} /* sqlite3.c:131207:33 */ -var iLn5 int32 = 0 /* sqlite3.c:132333:24 */ +} /* sqlite3.c:131220:33 */ +var iLn5 int32 = 0 /* sqlite3.c:132346:24 */ var endCode = [7]VdbeOpList{ {Fopcode: U8(OP_AddImm), Fp1: int8(1)}, // 0 {Fopcode: U8(OP_IfNotZero), Fp1: int8(1), Fp2: int8(4)}, // 1 @@ -114463,7 +114482,7 @@ var endCode = [7]VdbeOpList{ {Fopcode: U8(OP_Halt)}, // 4 {Fopcode: U8(OP_String8), Fp2: int8(3)}, // 5 {Fopcode: U8(OP_Goto), Fp2: int8(3)}, // 6 -} /* sqlite3.c:132334:31 */ +} /* sqlite3.c:132347:31 */ var encnames1 = [9]EncName{ {FzName: ts + 17865, Fenc: U8(SQLITE_UTF8)}, {FzName: ts + 17870, Fenc: U8(SQLITE_UTF8)}, // Must be element [1] @@ -114474,16 +114493,16 @@ var encnames1 = [9]EncName{ {FzName: ts + 17910}, {FzName: ts + 17917}, {}, -} /* sqlite3.c:132386:7 */ +} /* sqlite3.c:132399:7 */ var setCookie = [2]VdbeOpList{ {Fopcode: U8(OP_Transaction), Fp2: int8(1)}, // 0 {Fopcode: U8(OP_SetCookie)}, // 1 -} /* sqlite3.c:132466:31 */ +} /* sqlite3.c:132479:31 */ var readCookie = [3]VdbeOpList{ {Fopcode: U8(OP_Transaction)}, // 0 {Fopcode: U8(OP_ReadCookie), Fp2: int8(1)}, // 1 {Fopcode: U8(OP_ResultRow), Fp1: int8(1), Fp2: int8(1)}, -} /* sqlite3.c:132481:31 */ +} /* sqlite3.c:132494:31 */ // **************************************************************************** // // Implementation of an eponymous virtual table that runs a pragma. @@ -114495,24 +114514,24 @@ type PragmaVtab1 = struct { FnHidden U8 FiHidden U8 F__ccgo_pad1 [6]byte -} /* sqlite3.c:132841:9 */ +} /* sqlite3.c:132854:9 */ // **************************************************************************** // // Implementation of an eponymous virtual table that runs a pragma. // -type PragmaVtab = PragmaVtab1 /* sqlite3.c:132841:27 */ +type PragmaVtab = PragmaVtab1 /* sqlite3.c:132854:27 */ type PragmaVtabCursor1 = struct { Fbase Sqlite3_vtab_cursor FpPragma uintptr FiRowid Sqlite_int64 FazArg [2]uintptr -} /* sqlite3.c:132842:9 */ +} /* sqlite3.c:132855:9 */ -type PragmaVtabCursor = PragmaVtabCursor1 /* sqlite3.c:132842:33 */ +type PragmaVtabCursor = PragmaVtabCursor1 /* sqlite3.c:132855:33 */ // Pragma virtual table module xConnect method. -func pragmaVtabConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 { /* sqlite3.c:132860:12: */ +func pragmaVtabConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 { /* sqlite3.c:132873:12: */ bp := tls.Alloc(264) defer tls.Free(264) @@ -114586,7 +114605,7 @@ __3: } // Pragma virtual table module xDisconnect method. -func pragmaVtabDisconnect(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:132922:12: */ +func pragmaVtabDisconnect(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:132935:12: */ var pTab uintptr = pVtab Xsqlite3_free(tls, pTab) return SQLITE_OK @@ -114598,7 +114617,7 @@ func pragmaVtabDisconnect(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:132 // query planner to give == constraints on as many hidden parameters as // possible, and especially on the first hidden parameter. So return a // high cost if hidden parameters are unconstrained. -func pragmaVtabBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 { /* sqlite3.c:132935:12: */ +func pragmaVtabBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 { /* sqlite3.c:132948:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -114663,7 +114682,7 @@ __3: } // Create a new cursor for the pragma virtual table -func pragmaVtabOpen(tls *libc.TLS, pVtab uintptr, ppCursor uintptr) int32 { /* sqlite3.c:132972:12: */ +func pragmaVtabOpen(tls *libc.TLS, pVtab uintptr, ppCursor uintptr) int32 { /* sqlite3.c:132985:12: */ var pCsr uintptr pCsr = Xsqlite3_malloc(tls, int32(unsafe.Sizeof(PragmaVtabCursor{}))) if pCsr == uintptr(0) { @@ -114676,7 +114695,7 @@ func pragmaVtabOpen(tls *libc.TLS, pVtab uintptr, ppCursor uintptr) int32 { /* s } // Clear all content from pragma virtual table cursor. -func pragmaVtabCursorClear(tls *libc.TLS, pCsr uintptr) { /* sqlite3.c:132983:13: */ +func pragmaVtabCursorClear(tls *libc.TLS, pCsr uintptr) { /* sqlite3.c:132996:13: */ var i int32 Xsqlite3_finalize(tls, (*PragmaVtabCursor)(unsafe.Pointer(pCsr)).FpPragma) (*PragmaVtabCursor)(unsafe.Pointer(pCsr)).FpPragma = uintptr(0) @@ -114687,7 +114706,7 @@ func pragmaVtabCursorClear(tls *libc.TLS, pCsr uintptr) { /* sqlite3.c:132983:13 } // Close a pragma virtual table cursor -func pragmaVtabClose(tls *libc.TLS, cur uintptr) int32 { /* sqlite3.c:132994:12: */ +func pragmaVtabClose(tls *libc.TLS, cur uintptr) int32 { /* sqlite3.c:133007:12: */ var pCsr uintptr = cur pragmaVtabCursorClear(tls, pCsr) Xsqlite3_free(tls, pCsr) @@ -114695,7 +114714,7 @@ func pragmaVtabClose(tls *libc.TLS, cur uintptr) int32 { /* sqlite3.c:132994:12: } // Advance the pragma virtual table cursor to the next row -func pragmaVtabNext(tls *libc.TLS, pVtabCursor uintptr) int32 { /* sqlite3.c:133002:12: */ +func pragmaVtabNext(tls *libc.TLS, pVtabCursor uintptr) int32 { /* sqlite3.c:133015:12: */ var pCsr uintptr = pVtabCursor var rc int32 = SQLITE_OK @@ -114711,7 +114730,7 @@ func pragmaVtabNext(tls *libc.TLS, pVtabCursor uintptr) int32 { /* sqlite3.c:133 } // Pragma virtual table module xFilter method. -func pragmaVtabFilter(tls *libc.TLS, pVtabCursor uintptr, idxNum int32, idxStr uintptr, argc int32, argv uintptr) int32 { /* sqlite3.c:133020:12: */ +func pragmaVtabFilter(tls *libc.TLS, pVtabCursor uintptr, idxNum int32, idxStr uintptr, argc int32, argv uintptr) int32 { /* sqlite3.c:133033:12: */ bp := tls.Alloc(64) defer tls.Free(64) @@ -114779,14 +114798,14 @@ __3: } // Pragma virtual table module xEof method. -func pragmaVtabEof(tls *libc.TLS, pVtabCursor uintptr) int32 { /* sqlite3.c:133070:12: */ +func pragmaVtabEof(tls *libc.TLS, pVtabCursor uintptr) int32 { /* sqlite3.c:133083:12: */ var pCsr uintptr = pVtabCursor return libc.Bool32((*PragmaVtabCursor)(unsafe.Pointer(pCsr)).FpPragma == uintptr(0)) } // The xColumn method simply returns the corresponding column from // the PRAGMA. -func pragmaVtabColumn(tls *libc.TLS, pVtabCursor uintptr, ctx uintptr, i int32) int32 { /* sqlite3.c:133078:12: */ +func pragmaVtabColumn(tls *libc.TLS, pVtabCursor uintptr, ctx uintptr, i int32) int32 { /* sqlite3.c:133091:12: */ var pCsr uintptr = pVtabCursor var pTab uintptr = (*Sqlite3_vtab_cursor)(unsafe.Pointer(pVtabCursor)).FpVtab if i < int32((*PragmaVtab)(unsafe.Pointer(pTab)).FiHidden) { @@ -114798,7 +114817,7 @@ func pragmaVtabColumn(tls *libc.TLS, pVtabCursor uintptr, ctx uintptr, i int32) } // Pragma virtual table module xRowid method. -func pragmaVtabRowid(tls *libc.TLS, pVtabCursor uintptr, p uintptr) int32 { /* sqlite3.c:133096:12: */ +func pragmaVtabRowid(tls *libc.TLS, pVtabCursor uintptr, p uintptr) int32 { /* sqlite3.c:133109:12: */ var pCsr uintptr = pVtabCursor *(*Sqlite_int64)(unsafe.Pointer(p)) = (*PragmaVtabCursor)(unsafe.Pointer(pCsr)).FiRowid return SQLITE_OK @@ -114816,12 +114835,12 @@ var pragmaVtabModule = Sqlite3_module{ // xCreate - create a table FxEof: 0, // xEof FxColumn: 0, // xColumn - read data FxRowid: 0, // xShadowName -} /* sqlite3.c:133103:29 */ +} /* sqlite3.c:133116:29 */ // Check to see if zTabName is really the name of a pragma. If it is, // then register an eponymous virtual table for that pragma and return // a pointer to the Module object for the new virtual table. -func Xsqlite3PragmaVtabRegister(tls *libc.TLS, db uintptr, zName uintptr) uintptr { /* sqlite3.c:133135:23: */ +func Xsqlite3PragmaVtabRegister(tls *libc.TLS, db uintptr, zName uintptr) uintptr { /* sqlite3.c:133148:23: */ var pName uintptr pName = pragmaLocate(tls, zName+uintptr(7)) @@ -114854,7 +114873,7 @@ func Xsqlite3PragmaVtabRegister(tls *libc.TLS, db uintptr, zName uintptr) uintpt // Fill the InitData structure with an error message that indicates // that the database is corrupt. -func corruptSchema(tls *libc.TLS, pData uintptr, azObj uintptr, zExtra uintptr) { /* sqlite3.c:133172:13: */ +func corruptSchema(tls *libc.TLS, pData uintptr, azObj uintptr, zExtra uintptr) { /* sqlite3.c:133185:13: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -114870,7 +114889,7 @@ func corruptSchema(tls *libc.TLS, pData uintptr, azObj uintptr, zExtra uintptr) zExtra)) (*InitData)(unsafe.Pointer(pData)).Frc = SQLITE_ERROR } else if (*Sqlite3)(unsafe.Pointer(db)).Fflags&uint64(SQLITE_WriteSchema) != 0 { - (*InitData)(unsafe.Pointer(pData)).Frc = Xsqlite3CorruptError(tls, 133195) + (*InitData)(unsafe.Pointer(pData)).Frc = Xsqlite3CorruptError(tls, 133208) } else { var z uintptr var zObj uintptr @@ -114884,7 +114903,7 @@ func corruptSchema(tls *libc.TLS, pData uintptr, azObj uintptr, zExtra uintptr) z = Xsqlite3MPrintf(tls, db, ts+18053, libc.VaList(bp+40, z, zExtra)) } *(*uintptr)(unsafe.Pointer((*InitData)(unsafe.Pointer(pData)).FpzErrMsg)) = z - (*InitData)(unsafe.Pointer(pData)).Frc = Xsqlite3CorruptError(tls, 133202) + (*InitData)(unsafe.Pointer(pData)).Frc = Xsqlite3CorruptError(tls, 133215) } } @@ -114892,12 +114911,12 @@ var azAlterType = [3]uintptr{ ts + 18061, ts + 18068, ts + 18080, -} /* sqlite3.c:133183:23 */ +} /* sqlite3.c:133196:23 */ // Check to see if any sibling index (another index on the same table) // of pIndex has the same root page number, and if it does, return true. // This would indicate a corrupt schema. -func Xsqlite3IndexHasDuplicateRootPage(tls *libc.TLS, pIndex uintptr) int32 { /* sqlite3.c:133211:20: */ +func Xsqlite3IndexHasDuplicateRootPage(tls *libc.TLS, pIndex uintptr) int32 { /* sqlite3.c:133224:20: */ var p uintptr for p = (*Table)(unsafe.Pointer((*Index)(unsafe.Pointer(pIndex)).FpTable)).FpIndex; p != 0; p = (*Index)(unsafe.Pointer(p)).FpNext { if (*Index)(unsafe.Pointer(p)).Ftnum == (*Index)(unsafe.Pointer(pIndex)).Ftnum && p != pIndex { @@ -114919,7 +114938,7 @@ func Xsqlite3IndexHasDuplicateRootPage(tls *libc.TLS, pIndex uintptr) int32 { /* // argv[3] = root page number for table or index. 0 for trigger or view. // argv[4] = SQL text for the CREATE statement. // -func Xsqlite3InitCallback(tls *libc.TLS, pInit uintptr, argc int32, argv uintptr, NotUsed uintptr) int32 { /* sqlite3.c:133245:20: */ +func Xsqlite3InitCallback(tls *libc.TLS, pInit uintptr, argc int32, argv uintptr, NotUsed uintptr) int32 { /* sqlite3.c:133258:20: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -115021,7 +115040,7 @@ func Xsqlite3InitCallback(tls *libc.TLS, pInit uintptr, argc int32, argv uintptr // database. iDb==1 should never be used. iDb>=2 is used for // auxiliary databases. Return one of the SQLITE_ error codes to // indicate success or failure. -func Xsqlite3InitOne(tls *libc.TLS, db uintptr, iDb int32, pzErrMsg uintptr, mFlags U32) int32 { /* sqlite3.c:133348:20: */ +func Xsqlite3InitOne(tls *libc.TLS, db uintptr, iDb int32, pzErrMsg uintptr, mFlags U32) int32 { /* sqlite3.c:133361:20: */ bp := tls.Alloc(124) defer tls.Free(124) @@ -115267,7 +115286,7 @@ __20: pDb = (*Sqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32 goto __22 __21: - if !(rc == SQLITE_OK || (*Sqlite3)(unsafe.Pointer(db)).Fflags&uint64(SQLITE_NoSchemaError) != 0) { + if !(rc == SQLITE_OK || (*Sqlite3)(unsafe.Pointer(db)).Fflags&uint64(SQLITE_NoSchemaError) != 0 && rc != SQLITE_NOMEM) { goto __23 } // Hack: If the SQLITE_NoSchemaError flag is set, then consider @@ -115322,7 +115341,7 @@ __25: // // After a database is initialized, the DB_SchemaLoaded bit is set // bit is set in the flags field of the Db structure. -func Xsqlite3Init(tls *libc.TLS, db uintptr, pzErrMsg uintptr) int32 { /* sqlite3.c:133587:20: */ +func Xsqlite3Init(tls *libc.TLS, db uintptr, pzErrMsg uintptr) int32 { /* sqlite3.c:133600:20: */ var i int32 var rc int32 var commit_internal int32 = libc.BoolInt32(!((*Sqlite3)(unsafe.Pointer(db)).FmDbFlags&U32(DBFLAG_SchemaChange) != 0)) @@ -115354,7 +115373,7 @@ func Xsqlite3Init(tls *libc.TLS, db uintptr, pzErrMsg uintptr) int32 { /* sqlite // This routine is a no-op if the database schema is already initialized. // Otherwise, the schema is loaded. An error code is returned. -func Xsqlite3ReadSchema(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:133619:20: */ +func Xsqlite3ReadSchema(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:133632:20: */ var rc int32 = SQLITE_OK var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb @@ -115373,7 +115392,7 @@ func Xsqlite3ReadSchema(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:1336 // Check schema cookies in all databases. If any cookie is out // of date set pParse->rc to SQLITE_SCHEMA. If all schema cookies // make no changes to pParse->rc. -func schemaIsValid(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:133641:13: */ +func schemaIsValid(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:133654:13: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -115426,7 +115445,7 @@ func schemaIsValid(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:133641:13: */ // // If the same database is attached more than once, the first // attached database is returned. -func Xsqlite3SchemaToIndex(tls *libc.TLS, db uintptr, pSchema uintptr) int32 { /* sqlite3.c:133691:20: */ +func Xsqlite3SchemaToIndex(tls *libc.TLS, db uintptr, pSchema uintptr) int32 { /* sqlite3.c:133704:20: */ var i int32 = -32768 // If pSchema is NULL, then return -32768. This happens when code in @@ -115453,7 +115472,7 @@ func Xsqlite3SchemaToIndex(tls *libc.TLS, db uintptr, pSchema uintptr) int32 { / } // Free all memory allocations in the pParse object -func Xsqlite3ParseObjectReset(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:133721:21: */ +func Xsqlite3ParseObjectReset(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:133734:21: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb Xsqlite3DbFree(tls, db, (*Parse)(unsafe.Pointer(pParse)).FaTableLock) @@ -115509,7 +115528,7 @@ func Xsqlite3ParseObjectReset(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:1337 // return value thereafter. Something like this: // // pObj = sqlite3ParserAddCleanup(pParse, destructor, pObj); -func Xsqlite3ParserAddCleanup(tls *libc.TLS, pParse uintptr, xCleanup uintptr, pPtr uintptr) uintptr { /* sqlite3.c:133776:21: */ +func Xsqlite3ParserAddCleanup(tls *libc.TLS, pParse uintptr, xCleanup uintptr, pPtr uintptr) uintptr { /* sqlite3.c:133789:21: */ var pCleanup uintptr = Xsqlite3DbMallocRaw(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, uint64(unsafe.Sizeof(ParseCleanup{}))) if pCleanup != 0 { (*ParseCleanup)(unsafe.Pointer(pCleanup)).FpNext = (*Parse)(unsafe.Pointer(pParse)).FpCleanup @@ -115532,7 +115551,7 @@ func Xsqlite3ParserAddCleanup(tls *libc.TLS, pParse uintptr, xCleanup uintptr, p // // Caution: Do not confuse this routine with sqlite3ParseObjectInit() which // is generated by Lemon. -func Xsqlite3ParseObjectInit(tls *libc.TLS, pParse uintptr, db uintptr) { /* sqlite3.c:133806:21: */ +func Xsqlite3ParseObjectInit(tls *libc.TLS, pParse uintptr, db uintptr) { /* sqlite3.c:133819:21: */ libc.Xmemset(tls, pParse+uintptr(uint64(uintptr(0)+8)), 0, uint64(uintptr(0)+216)-uint64(uintptr(0)+8)) libc.Xmemset(tls, pParse+uintptr(uint64(uintptr(0)+272)), 0, uint64(unsafe.Sizeof(Parse{}))-uint64(uintptr(0)+272)) @@ -115545,7 +115564,7 @@ func Xsqlite3ParseObjectInit(tls *libc.TLS, pParse uintptr, db uintptr) { /* sql } // Compile the UTF-8 encoded SQL statement zSql into a statement handle. -func sqlite3Prepare(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, prepFlags U32, pReprepare uintptr, ppStmt uintptr, pzTail uintptr) int32 { /* sqlite3.c:133819:12: */ +func sqlite3Prepare(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, prepFlags U32, pReprepare uintptr, ppStmt uintptr, pzTail uintptr) int32 { /* sqlite3.c:133832:12: */ bp := tls.Alloc(424) defer tls.Free(424) @@ -115751,13 +115770,13 @@ end_prepare: return rc } -func sqlite3LockAndPrepare(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, prepFlags U32, pOld uintptr, ppStmt uintptr, pzTail uintptr) int32 { /* sqlite3.c:133962:12: */ +func sqlite3LockAndPrepare(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, prepFlags U32, pOld uintptr, ppStmt uintptr, pzTail uintptr) int32 { /* sqlite3.c:133975:12: */ var rc int32 var cnt int32 = 0 *(*uintptr)(unsafe.Pointer(ppStmt)) = uintptr(0) if !(Xsqlite3SafetyCheckOk(tls, db) != 0) || zSql == uintptr(0) { - return Xsqlite3MisuseError(tls, 133979) + return Xsqlite3MisuseError(tls, 133992) } Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) Xsqlite3BtreeEnterAll(tls, db) @@ -115786,7 +115805,7 @@ func sqlite3LockAndPrepare(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32 // if the statement cannot be recompiled because another connection has // locked the sqlite3_schema table, return SQLITE_LOCKED. If any other error // occurs, return SQLITE_SCHEMA. -func Xsqlite3Reprepare(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:134009:20: */ +func Xsqlite3Reprepare(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:134022:20: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -115825,14 +115844,14 @@ func Xsqlite3Reprepare(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:134009:20: // sqlite3_step(). In the new version, the original SQL text is retained // and the statement is automatically recompiled if an schema change // occurs. -func Xsqlite3_prepare(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, ppStmt uintptr, pzTail uintptr) int32 { /* sqlite3.c:134048:16: */ +func Xsqlite3_prepare(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, ppStmt uintptr, pzTail uintptr) int32 { /* sqlite3.c:134061:16: */ var rc int32 rc = sqlite3LockAndPrepare(tls, db, zSql, nBytes, uint32(0), uintptr(0), ppStmt, pzTail) // VERIFY: F13021 return rc } -func Xsqlite3_prepare_v2(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, ppStmt uintptr, pzTail uintptr) int32 { /* sqlite3.c:134060:16: */ +func Xsqlite3_prepare_v2(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, ppStmt uintptr, pzTail uintptr) int32 { /* sqlite3.c:134073:16: */ var rc int32 // EVIDENCE-OF: R-37923-12173 The sqlite3_prepare_v2() interface works // exactly the same as sqlite3_prepare_v3() with a zero prepFlags @@ -115845,7 +115864,7 @@ func Xsqlite3_prepare_v2(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, return rc } -func Xsqlite3_prepare_v3(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, prepFlags uint32, ppStmt uintptr, pzTail uintptr) int32 { /* sqlite3.c:134078:16: */ +func Xsqlite3_prepare_v3(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, prepFlags uint32, ppStmt uintptr, pzTail uintptr) int32 { /* sqlite3.c:134091:16: */ var rc int32 // EVIDENCE-OF: R-56861-42673 sqlite3_prepare_v3() differs from // sqlite3_prepare_v2() only in having the extra prepFlags parameter, @@ -115862,7 +115881,7 @@ func Xsqlite3_prepare_v3(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, } // Compile the UTF-16 encoded SQL statement zSql into a statement handle. -func sqlite3Prepare16(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, prepFlags U32, ppStmt uintptr, pzTail uintptr) int32 { /* sqlite3.c:134106:12: */ +func sqlite3Prepare16(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, prepFlags U32, ppStmt uintptr, pzTail uintptr) int32 { /* sqlite3.c:134119:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -115875,7 +115894,7 @@ func sqlite3Prepare16(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, pre *(*uintptr)(unsafe.Pointer(ppStmt)) = uintptr(0) if !(Xsqlite3SafetyCheckOk(tls, db) != 0) || zSql == uintptr(0) { - return Xsqlite3MisuseError(tls, 134127) + return Xsqlite3MisuseError(tls, 134140) } if nBytes >= 0 { var sz int32 @@ -115915,21 +115934,21 @@ func sqlite3Prepare16(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, pre // sqlite3_step(). In the new version, the original SQL text is retained // and the statement is automatically recompiled if an schema change // occurs. -func Xsqlite3_prepare16(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, ppStmt uintptr, pzTail uintptr) int32 { /* sqlite3.c:134164:16: */ +func Xsqlite3_prepare16(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, ppStmt uintptr, pzTail uintptr) int32 { /* sqlite3.c:134177:16: */ var rc int32 rc = sqlite3Prepare16(tls, db, zSql, nBytes, uint32(0), ppStmt, pzTail) // VERIFY: F13021 return rc } -func Xsqlite3_prepare16_v2(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, ppStmt uintptr, pzTail uintptr) int32 { /* sqlite3.c:134176:16: */ +func Xsqlite3_prepare16_v2(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, ppStmt uintptr, pzTail uintptr) int32 { /* sqlite3.c:134189:16: */ var rc int32 rc = sqlite3Prepare16(tls, db, zSql, nBytes, uint32(SQLITE_PREPARE_SAVESQL), ppStmt, pzTail) // VERIFY: F13021 return rc } -func Xsqlite3_prepare16_v3(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, prepFlags uint32, ppStmt uintptr, pzTail uintptr) int32 { /* sqlite3.c:134188:16: */ +func Xsqlite3_prepare16_v3(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, prepFlags uint32, ppStmt uintptr, pzTail uintptr) int32 { /* sqlite3.c:134201:16: */ var rc int32 rc = sqlite3Prepare16(tls, db, zSql, nBytes, uint32(SQLITE_PREPARE_SAVESQL)|prepFlags&uint32(SQLITE_PREPARE_MASK), @@ -115963,7 +115982,7 @@ type DistinctCtx1 = struct { F__ccgo_pad1 [2]byte FtabTnct int32 FaddrTnct int32 -} /* sqlite3.c:134229:9 */ +} /* sqlite3.c:134242:9 */ //************* End of prepare.c ******************************************** //************* Begin file select.c ***************************************** @@ -115984,7 +116003,7 @@ type DistinctCtx1 = struct { // An instance of the following object is used to record information about // how to process the DISTINCT keyword, to simplify passing that information // into the selectInnerLoop() routine. -type DistinctCtx = DistinctCtx1 /* sqlite3.c:134229:28 */ +type DistinctCtx = DistinctCtx1 /* sqlite3.c:134242:28 */ // An instance of the following object is used to record information about // the ORDER BY (or GROUP BY) clause of query is being coded. @@ -116014,7 +116033,7 @@ type SortCtx1 = struct { FsortFlags U8 F__ccgo_pad1 [3]byte FpDeferredRowLoad uintptr -} /* sqlite3.c:134255:9 */ +} /* sqlite3.c:134268:9 */ // An instance of the following object is used to record information about // the ORDER BY (or GROUP BY) clause of query is being coded. @@ -116032,19 +116051,19 @@ type SortCtx1 = struct { // When the sorter-reference optimization is used, there is one entry in the // aDefer[] array for each database table that may be read as values are // extracted from the sorter. -type SortCtx = SortCtx1 /* sqlite3.c:134255:24 */ +type SortCtx = SortCtx1 /* sqlite3.c:134268:24 */ type RowLoadInfo1 = struct { FregResult int32 FecelFlags U8 F__ccgo_pad1 [3]byte -} /* sqlite3.c:134255:9 */ +} /* sqlite3.c:134268:9 */ // Delete all the content of a Select structure. Deallocate the structure // itself depending on the value of bFree // // If bFree==1, call sqlite3DbFree() on the p object. // If bFree==0, Leave the first Select object unfreed -func clearSelect(tls *libc.TLS, db uintptr, p uintptr, bFree int32) { /* sqlite3.c:134285:13: */ +func clearSelect(tls *libc.TLS, db uintptr, p uintptr, bFree int32) { /* sqlite3.c:134298:13: */ for p != 0 { var pPrior uintptr = (*Select)(unsafe.Pointer(p)).FpPrior Xsqlite3ExprListDelete(tls, db, (*Select)(unsafe.Pointer(p)).FpEList) @@ -116073,7 +116092,7 @@ func clearSelect(tls *libc.TLS, db uintptr, p uintptr, bFree int32) { /* sqlite3 } // Initialize a SelectDest structure. -func Xsqlite3SelectDestInit(tls *libc.TLS, pDest uintptr, eDest int32, iParm int32) { /* sqlite3.c:134314:21: */ +func Xsqlite3SelectDestInit(tls *libc.TLS, pDest uintptr, eDest int32, iParm int32) { /* sqlite3.c:134327:21: */ (*SelectDest)(unsafe.Pointer(pDest)).FeDest = U8(eDest) (*SelectDest)(unsafe.Pointer(pDest)).FiSDParm = iParm (*SelectDest)(unsafe.Pointer(pDest)).FiSDParm2 = 0 @@ -116084,7 +116103,7 @@ func Xsqlite3SelectDestInit(tls *libc.TLS, pDest uintptr, eDest int32, iParm int // Allocate a new Select structure and return a pointer to that // structure. -func Xsqlite3SelectNew(tls *libc.TLS, pParse uintptr, pEList uintptr, pSrc uintptr, pWhere uintptr, pGroupBy uintptr, pHaving uintptr, pOrderBy uintptr, selFlags U32, pLimit uintptr) uintptr { /* sqlite3.c:134328:23: */ +func Xsqlite3SelectNew(tls *libc.TLS, pParse uintptr, pEList uintptr, pSrc uintptr, pWhere uintptr, pGroupBy uintptr, pHaving uintptr, pOrderBy uintptr, selFlags U32, pLimit uintptr) uintptr { /* sqlite3.c:134341:23: */ bp := tls.Alloc(128) defer tls.Free(128) @@ -116134,14 +116153,14 @@ func Xsqlite3SelectNew(tls *libc.TLS, pParse uintptr, pEList uintptr, pSrc uintp } // Delete the given Select structure and all of its substructures. -func Xsqlite3SelectDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:134386:21: */ +func Xsqlite3SelectDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:134399:21: */ if p != 0 { clearSelect(tls, db, p, 1) } } // Return a pointer to the right-most SELECT statement in a compound. -func findRightmost(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:134393:15: */ +func findRightmost(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:134406:15: */ for (*Select)(unsafe.Pointer(p)).FpNext != 0 { p = (*Select)(unsafe.Pointer(p)).FpNext } @@ -116163,7 +116182,7 @@ func findRightmost(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:134393:15: * // // If an illegal or unsupported join type is seen, then still return // a join type, but put an error in the pParse structure. -func Xsqlite3JoinType(tls *libc.TLS, pParse uintptr, pA uintptr, pB uintptr, pC uintptr) int32 { /* sqlite3.c:134415:20: */ +func Xsqlite3JoinType(tls *libc.TLS, pParse uintptr, pA uintptr, pB uintptr, pC uintptr) int32 { /* sqlite3.c:134428:20: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -116217,7 +116236,7 @@ func Xsqlite3JoinType(tls *libc.TLS, pParse uintptr, pA uintptr, pB uintptr, pC return jointype } -var zKeyText = *(*[34]uint8)(unsafe.Pointer(ts + 18382)) /* sqlite3.c:134420:21 */ +var zKeyText = *(*[34]uint8)(unsafe.Pointer(ts + 18382)) /* sqlite3.c:134433:21 */ var aKeyword = [7]struct { Fi U8 FnChar U8 @@ -116230,11 +116249,11 @@ var aKeyword = [7]struct { /* full */ {Fi: U8(19), FnChar: U8(4), Fcode: U8(JT_LEFT | JT_RIGHT | JT_OUTER)}, /* inner */ {Fi: U8(23), FnChar: U8(5), Fcode: U8(JT_INNER)}, /* cross */ {Fi: U8(28), FnChar: U8(5), Fcode: U8(JT_INNER | JT_CROSS)}, -} /* sqlite3.c:134425:5 */ +} /* sqlite3.c:134438:5 */ // Return the index of a column in a table. Return -1 if the column // is not contained in the table. -func Xsqlite3ColumnIndex(tls *libc.TLS, pTab uintptr, zCol uintptr) int32 { /* sqlite3.c:134476:20: */ +func Xsqlite3ColumnIndex(tls *libc.TLS, pTab uintptr, zCol uintptr) int32 { /* sqlite3.c:134489:20: */ var i int32 var h U8 = Xsqlite3StrIHash(tls, zCol) var pCol uintptr @@ -116268,7 +116287,7 @@ __3: // of the matching column and return TRUE. // // If not found, return FALSE. -func tableAndColumnIndex(tls *libc.TLS, pSrc uintptr, N int32, zCol uintptr, piTab uintptr, piCol uintptr, bIgnoreHidden int32) int32 { /* sqlite3.c:134495:12: */ +func tableAndColumnIndex(tls *libc.TLS, pSrc uintptr, N int32, zCol uintptr, piTab uintptr, piCol uintptr, bIgnoreHidden int32) int32 { /* sqlite3.c:134508:12: */ var i int32 // For looping over tables in pSrc var iCol int32 // Index of column matching zCol @@ -116296,7 +116315,7 @@ func tableAndColumnIndex(tls *libc.TLS, pSrc uintptr, N int32, zCol uintptr, piT // where tab1 is the iSrc'th table in SrcList pSrc and tab2 is the // (iSrc+1)'th. Column col1 is column iColLeft of tab1, and col2 is // column iColRight of tab2. -func addWhereTerm(tls *libc.TLS, pParse uintptr, pSrc uintptr, iLeft int32, iColLeft int32, iRight int32, iColRight int32, isOuterJoin int32, ppWhere uintptr) { /* sqlite3.c:134533:13: */ +func addWhereTerm(tls *libc.TLS, pParse uintptr, pSrc uintptr, iLeft int32, iColLeft int32, iRight int32, iColRight int32, isOuterJoin int32, ppWhere uintptr) { /* sqlite3.c:134546:13: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb var pE1 uintptr var pE2 uintptr @@ -116341,7 +116360,7 @@ func addWhereTerm(tls *libc.TLS, pParse uintptr, pSrc uintptr, iLeft int32, iCol // defer the handling of t1.x=5, it will be processed immediately // after the t1 loop and rows with t1.x!=5 will never appear in // the output, which is incorrect. -func Xsqlite3SetJoinExpr(tls *libc.TLS, p uintptr, iTable int32) { /* sqlite3.c:134595:21: */ +func Xsqlite3SetJoinExpr(tls *libc.TLS, p uintptr, iTable int32) { /* sqlite3.c:134608:21: */ for p != 0 { *(*U32)(unsafe.Pointer(p + 4)) |= U32(EP_FromJoin) @@ -116365,7 +116384,7 @@ func Xsqlite3SetJoinExpr(tls *libc.TLS, p uintptr, iTable int32) { /* sqlite3.c: // an ordinary term that omits the EP_FromJoin mark. // // This happens when a LEFT JOIN is simplified into an ordinary JOIN. -func unsetJoinExpr(tls *libc.TLS, p uintptr, iTable int32) { /* sqlite3.c:134621:13: */ +func unsetJoinExpr(tls *libc.TLS, p uintptr, iTable int32) { /* sqlite3.c:134634:13: */ for p != 0 { if (*Expr)(unsafe.Pointer(p)).Fflags&U32(EP_FromJoin) != U32(0) && (iTable < 0 || *(*int32)(unsafe.Pointer(p + 52)) == iTable) { @@ -116400,7 +116419,7 @@ func unsetJoinExpr(tls *libc.TLS, p uintptr, iTable int32) { /* sqlite3.c:134621 // also attached to the left entry. // // This routine returns the number of errors encountered. -func sqliteProcessJoin(tls *libc.TLS, pParse uintptr, p uintptr) int32 { /* sqlite3.c:134658:12: */ +func sqliteProcessJoin(tls *libc.TLS, pParse uintptr, p uintptr) int32 { /* sqlite3.c:134671:12: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -116514,11 +116533,11 @@ __3: // An instance of this object holds information (beyond pParse and pSelect) // needed to load the next result row that is to be added to the sorter. -type RowLoadInfo = RowLoadInfo1 /* sqlite3.c:134750:28 */ +type RowLoadInfo = RowLoadInfo1 /* sqlite3.c:134763:28 */ // This routine does the work of loading query data into an array of // registers so that it can be added to the sorter. -func innerLoopLoadRow(tls *libc.TLS, pParse uintptr, pSelect uintptr, pInfo uintptr) { /* sqlite3.c:134764:13: */ +func innerLoopLoadRow(tls *libc.TLS, pParse uintptr, pSelect uintptr, pInfo uintptr) { /* sqlite3.c:134777:13: */ Xsqlite3ExprCodeExprList(tls, pParse, (*Select)(unsafe.Pointer(pSelect)).FpEList, (*RowLoadInfo)(unsafe.Pointer(pInfo)).FregResult, 0, (*RowLoadInfo)(unsafe.Pointer(pInfo)).FecelFlags) } @@ -116527,7 +116546,7 @@ func innerLoopLoadRow(tls *libc.TLS, pParse uintptr, pSelect uintptr, pInfo uint // added into the sorter. // // Return the register in which the result is stored. -func makeSorterRecord(tls *libc.TLS, pParse uintptr, pSort uintptr, pSelect uintptr, regBase int32, nBase int32) int32 { /* sqlite3.c:134785:12: */ +func makeSorterRecord(tls *libc.TLS, pParse uintptr, pSort uintptr, pSelect uintptr, regBase int32, nBase int32) int32 { /* sqlite3.c:134798:12: */ var nOBSat int32 = (*SortCtx)(unsafe.Pointer(pSort)).FnOBSat var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe var regOut int32 = libc.PreIncInt32(&(*Parse)(unsafe.Pointer(pParse)).FnMem, 1) @@ -116540,7 +116559,7 @@ func makeSorterRecord(tls *libc.TLS, pParse uintptr, pSort uintptr, pSelect uint // Generate code that will push the record in registers regData // through regData+nData-1 onto the sorter. -func pushOntoSorter(tls *libc.TLS, pParse uintptr, pSort uintptr, pSelect uintptr, regData int32, regOrigData int32, nData int32, nPrefixReg int32) { /* sqlite3.c:134806:13: */ +func pushOntoSorter(tls *libc.TLS, pParse uintptr, pSort uintptr, pSelect uintptr, regData int32, regOrigData int32, nData int32, nPrefixReg int32) { /* sqlite3.c:134819:13: */ var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe // Stmt under construction var bSeq int32 = libc.Bool32(int32((*SortCtx)(unsafe.Pointer(pSort)).FsortFlags)&SORTFLAG_UseSorter == 0) var nExpr int32 = (*ExprList)(unsafe.Pointer((*SortCtx)(unsafe.Pointer(pSort)).FpOrderBy)).FnExpr // No. of ORDER BY terms @@ -116683,7 +116702,7 @@ func pushOntoSorter(tls *libc.TLS, pParse uintptr, pSort uintptr, pSelect uintpt } // Add code to implement the OFFSET -func codeOffset(tls *libc.TLS, v uintptr, iOffset int32, iContinue int32) { /* sqlite3.c:134948:13: */ +func codeOffset(tls *libc.TLS, v uintptr, iOffset int32, iContinue int32) { /* sqlite3.c:134961:13: */ if iOffset > 0 { Xsqlite3VdbeAddOp3(tls, v, OP_IfPos, iOffset, iContinue, 1) @@ -116731,7 +116750,7 @@ func codeOffset(tls *libc.TLS, v uintptr, iOffset int32, iContinue int32) { /* s // how many elements there are in the array of registers and (b) the // collation sequences that should be used for the comparisons if // eTnctType is WHERE_DISTINCT_ORDERED. -func codeDistinct(tls *libc.TLS, pParse uintptr, eTnctType int32, iTab int32, addrRepeat int32, pEList uintptr, regElem int32) int32 { /* sqlite3.c:135002:12: */ +func codeDistinct(tls *libc.TLS, pParse uintptr, eTnctType int32, iTab int32, addrRepeat int32, pEList uintptr, regElem int32) int32 { /* sqlite3.c:135015:12: */ var iRet int32 = 0 var nResultCol int32 = (*ExprList)(unsafe.Pointer(pEList)).FnExpr var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe @@ -116812,7 +116831,7 @@ func codeDistinct(tls *libc.TLS, pParse uintptr, eTnctType int32, iTab int32, ad // The ephemeral table is not needed. But we do need register // iVal to be initialized to NULL. So change the OP_OpenEphemeral // into an OP_Null on the iVal register. -func fixDistinctOpenEph(tls *libc.TLS, pParse uintptr, eTnctType int32, iVal int32, iOpenEphAddr int32) { /* sqlite3.c:135086:13: */ +func fixDistinctOpenEph(tls *libc.TLS, pParse uintptr, eTnctType int32, iVal int32, iOpenEphAddr int32) { /* sqlite3.c:135099:13: */ if (*Parse)(unsafe.Pointer(pParse)).FnErr == 0 && (eTnctType == WHERE_DISTINCT_UNIQUE || eTnctType == WHERE_DISTINCT_ORDERED) { var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe @@ -116840,7 +116859,7 @@ func fixDistinctOpenEph(tls *libc.TLS, pParse uintptr, eTnctType int32, iVal int // are evaluated in order to get the data for this row. If srcTab is // zero or more, then data is pulled from srcTab and p->pEList is used only // to get the number of columns and the collation sequence for each column. -func selectInnerLoop(tls *libc.TLS, pParse uintptr, p uintptr, srcTab int32, pSort uintptr, pDistinct uintptr, pDest uintptr, iContinue int32, iBreak int32) { /* sqlite3.c:135208:13: */ +func selectInnerLoop(tls *libc.TLS, pParse uintptr, p uintptr, srcTab int32, pSort uintptr, pDistinct uintptr, pDest uintptr, iContinue int32, iBreak int32) { /* sqlite3.c:135221:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -117196,7 +117215,7 @@ func selectInnerLoop(tls *libc.TLS, pParse uintptr, p uintptr, srcTab int32, pSo // Allocate a KeyInfo object sufficient for an index of N key columns and // X extra columns. -func Xsqlite3KeyInfoAlloc(tls *libc.TLS, db uintptr, N int32, X int32) uintptr { /* sqlite3.c:135602:24: */ +func Xsqlite3KeyInfoAlloc(tls *libc.TLS, db uintptr, N int32, X int32) uintptr { /* sqlite3.c:135615:24: */ var nExtra int32 = int32(uint64(N+X)*(uint64(unsafe.Sizeof(uintptr(0)))+uint64(1)) - uint64(unsafe.Sizeof(uintptr(0)))) var p uintptr = Xsqlite3DbMallocRawNN(tls, db, uint64(uint64(unsafe.Sizeof(KeyInfo{}))+uint64(nExtra))) if p != 0 { @@ -117214,7 +117233,7 @@ func Xsqlite3KeyInfoAlloc(tls *libc.TLS, db uintptr, N int32, X int32) uintptr { } // Deallocate a KeyInfo object -func Xsqlite3KeyInfoUnref(tls *libc.TLS, p uintptr) { /* sqlite3.c:135622:21: */ +func Xsqlite3KeyInfoUnref(tls *libc.TLS, p uintptr) { /* sqlite3.c:135635:21: */ if p != 0 { (*KeyInfo)(unsafe.Pointer(p)).FnRef-- @@ -117225,7 +117244,7 @@ func Xsqlite3KeyInfoUnref(tls *libc.TLS, p uintptr) { /* sqlite3.c:135622:21: */ } // Make a new pointer to a KeyInfo object -func Xsqlite3KeyInfoRef(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:135633:24: */ +func Xsqlite3KeyInfoRef(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:135646:24: */ if p != 0 { (*KeyInfo)(unsafe.Pointer(p)).FnRef++ @@ -117245,7 +117264,7 @@ func Xsqlite3KeyInfoRef(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:135633: // Space to hold the KeyInfo structure is obtained from malloc. The calling // function is responsible for seeing that this structure is eventually // freed. -func Xsqlite3KeyInfoFromExprList(tls *libc.TLS, pParse uintptr, pList uintptr, iStart int32, nExtra int32) uintptr { /* sqlite3.c:135665:24: */ +func Xsqlite3KeyInfoFromExprList(tls *libc.TLS, pParse uintptr, pList uintptr, iStart int32, nExtra int32) uintptr { /* sqlite3.c:135678:24: */ var nExpr int32 var pInfo uintptr var pItem uintptr @@ -117279,7 +117298,7 @@ func Xsqlite3KeyInfoFromExprList(tls *libc.TLS, pParse uintptr, pList uintptr, i } // Name of the connection operator, used for error messages. -func Xsqlite3SelectOpName(tls *libc.TLS, id int32) uintptr { /* sqlite3.c:135692:27: */ +func Xsqlite3SelectOpName(tls *libc.TLS, id int32) uintptr { /* sqlite3.c:135705:27: */ var z uintptr switch id { case TK_ALL: @@ -117306,7 +117325,7 @@ func Xsqlite3SelectOpName(tls *libc.TLS, id int32) uintptr { /* sqlite3.c:135692 // // where xxx is one of "DISTINCT", "ORDER BY" or "GROUP BY". Exactly which // is determined by the zUsage argument. -func explainTempTable(tls *libc.TLS, pParse uintptr, zUsage uintptr) { /* sqlite3.c:135714:13: */ +func explainTempTable(tls *libc.TLS, pParse uintptr, zUsage uintptr) { /* sqlite3.c:135727:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -117323,7 +117342,7 @@ func explainTempTable(tls *libc.TLS, pParse uintptr, zUsage uintptr) { /* sqlite // then the results were placed in a sorter. After the loop is terminated // we need to run the sorter and output the results. The following // routine generates the code needed to do that. -func generateSortTail(tls *libc.TLS, pParse uintptr, p uintptr, pSort uintptr, nColumn int32, pDest uintptr) { /* sqlite3.c:135740:13: */ +func generateSortTail(tls *libc.TLS, pParse uintptr, p uintptr, pSort uintptr, nColumn int32, pDest uintptr) { /* sqlite3.c:135753:13: */ var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe // The prepared statement var addrBreak int32 = (*SortCtx)(unsafe.Pointer(pSort)).FlabelDone // Jump here to exit loop var addrContinue int32 = Xsqlite3VdbeMakeLabel(tls, pParse) // Jump here for next cycle @@ -117502,7 +117521,7 @@ func generateSortTail(tls *libc.TLS, pParse uintptr, p uintptr, pSort uintptr, n // // This routine has either 3 or 6 parameters depending on whether or not // the SQLITE_ENABLE_COLUMN_METADATA compile-time option is used. -func columnTypeImpl(tls *libc.TLS, pNC uintptr, pExpr uintptr, pzOrigDb uintptr, pzOrigTab uintptr, pzOrigCol uintptr) uintptr { /* sqlite3.c:135968:19: */ +func columnTypeImpl(tls *libc.TLS, pNC uintptr, pExpr uintptr, pzOrigDb uintptr, pzOrigTab uintptr, pzOrigCol uintptr) uintptr { /* sqlite3.c:135981:19: */ bp := tls.Alloc(136) defer tls.Free(136) @@ -117626,7 +117645,7 @@ func columnTypeImpl(tls *libc.TLS, pNC uintptr, pExpr uintptr, pzOrigDb uintptr, // Generate code that will tell the VDBE the declaration types of columns // in the result set. -func generateColumnTypes(tls *libc.TLS, pParse uintptr, pTabList uintptr, pEList uintptr) { /* sqlite3.c:136119:13: */ +func generateColumnTypes(tls *libc.TLS, pParse uintptr, pTabList uintptr, pEList uintptr) { /* sqlite3.c:136132:13: */ bp := tls.Alloc(80) defer tls.Free(80) @@ -117683,7 +117702,7 @@ func generateColumnTypes(tls *libc.TLS, pParse uintptr, pTabList uintptr, pEList // full=ON, short=ANY: If the result refers directly to a table column, // then the result column name with the table name // prefix, ex: TABLE.COLUMN. Otherwise use zSpan. -func Xsqlite3GenerateColumnNames(tls *libc.TLS, pParse uintptr, pSelect uintptr) { /* sqlite3.c:136186:21: */ +func Xsqlite3GenerateColumnNames(tls *libc.TLS, pParse uintptr, pSelect uintptr) { /* sqlite3.c:136199:21: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -117783,7 +117802,7 @@ func Xsqlite3GenerateColumnNames(tls *libc.TLS, pParse uintptr, pSelect uintptr) // when modifying this routine to avoid breaking legacy. // // See Also: sqlite3GenerateColumnNames() -func Xsqlite3ColumnsFromExprList(tls *libc.TLS, pParse uintptr, pEList uintptr, pnCol uintptr, paCol uintptr) int32 { /* sqlite3.c:136279:20: */ +func Xsqlite3ColumnsFromExprList(tls *libc.TLS, pParse uintptr, pEList uintptr, pnCol uintptr, paCol uintptr) int32 { /* sqlite3.c:136292:20: */ bp := tls.Alloc(60) defer tls.Free(60) @@ -117915,7 +117934,7 @@ __3: // // This routine requires that all identifiers in the SELECT // statement be resolved. -func Xsqlite3SelectAddColumnTypeAndCollation(tls *libc.TLS, pParse uintptr, pTab uintptr, pSelect uintptr, aff uint8) { /* sqlite3.c:136386:21: */ +func Xsqlite3SelectAddColumnTypeAndCollation(tls *libc.TLS, pParse uintptr, pTab uintptr, pSelect uintptr, aff uint8) { /* sqlite3.c:136399:21: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -117984,7 +118003,7 @@ __3: // Given a SELECT statement, generate a Table structure that describes // the result set of that SELECT. -func Xsqlite3ResultSetOfSelect(tls *libc.TLS, pParse uintptr, pSelect uintptr, aff uint8) uintptr { /* sqlite3.c:136441:22: */ +func Xsqlite3ResultSetOfSelect(tls *libc.TLS, pParse uintptr, pSelect uintptr, aff uint8) uintptr { /* sqlite3.c:136454:22: */ var pTab uintptr var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb var savedFlags U64 @@ -118019,7 +118038,7 @@ func Xsqlite3ResultSetOfSelect(tls *libc.TLS, pParse uintptr, pSelect uintptr, a // Get a VDBE for the given parser context. Create a new one if necessary. // If an error occurs, return NULL and leave a message in pParse. -func Xsqlite3GetVdbe(tls *libc.TLS, pParse uintptr) uintptr { /* sqlite3.c:136474:21: */ +func Xsqlite3GetVdbe(tls *libc.TLS, pParse uintptr) uintptr { /* sqlite3.c:136487:21: */ if (*Parse)(unsafe.Pointer(pParse)).FpVdbe != 0 { return (*Parse)(unsafe.Pointer(pParse)).FpVdbe } @@ -118051,7 +118070,7 @@ func Xsqlite3GetVdbe(tls *libc.TLS, pParse uintptr) uintptr { /* sqlite3.c:13647 // redefined. The UNION ALL operator uses this property to force // the reuse of the same limit and offset registers across multiple // SELECT statements. -func computeLimitRegisters(tls *libc.TLS, pParse uintptr, p uintptr, iBreak int32) { /* sqlite3.c:136510:13: */ +func computeLimitRegisters(tls *libc.TLS, pParse uintptr, p uintptr, iBreak int32) { /* sqlite3.c:136523:13: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -118108,7 +118127,7 @@ func computeLimitRegisters(tls *libc.TLS, pParse uintptr, p uintptr, iBreak int3 // // The collating sequence for the compound select is taken from the // left-most term of the select that has a collating sequence. -func multiSelectCollSeq(tls *libc.TLS, pParse uintptr, p uintptr, iCol int32) uintptr { /* sqlite3.c:136567:16: */ +func multiSelectCollSeq(tls *libc.TLS, pParse uintptr, p uintptr, iCol int32) uintptr { /* sqlite3.c:136580:16: */ var pRet uintptr if (*Select)(unsafe.Pointer(p)).FpPrior != 0 { pRet = multiSelectCollSeq(tls, pParse, (*Select)(unsafe.Pointer(p)).FpPrior, iCol) @@ -118132,7 +118151,7 @@ func multiSelectCollSeq(tls *libc.TLS, pParse uintptr, p uintptr, iCol int32) ui // Space to hold the KeyInfo structure is obtained from malloc. The calling // function is responsible for ensuring that this structure is eventually // freed. -func multiSelectOrderByKeyInfo(tls *libc.TLS, pParse uintptr, p uintptr, nExtra int32) uintptr { /* sqlite3.c:136593:16: */ +func multiSelectOrderByKeyInfo(tls *libc.TLS, pParse uintptr, p uintptr, nExtra int32) uintptr { /* sqlite3.c:136606:16: */ var pOrderBy uintptr = (*Select)(unsafe.Pointer(p)).FpOrderBy var nOrderBy int32 if pOrderBy != uintptr(0) { @@ -118201,7 +118220,7 @@ func multiSelectOrderByKeyInfo(tls *libc.TLS, pParse uintptr, p uintptr, nExtra // with a positive value, then the first OFFSET outputs are discarded rather // than being sent to pDest. The LIMIT count does not begin until after OFFSET // rows have been skipped. -func generateWithRecursiveQuery(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) { /* sqlite3.c:136659:13: */ +func generateWithRecursiveQuery(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) { /* sqlite3.c:136672:13: */ bp := tls.Alloc(40) defer tls.Free(40) @@ -118442,7 +118461,7 @@ end_of_recursive_query: // clause occurs within scalar expression (ex: "SELECT (VALUES(1),(2),(3))"). // The sqlite3CodeSubselect will have added the LIMIT 1 clause in tht case. // Since the limit is exactly 1, we only need to evalutes the left-most VALUES. -func multiSelectValues(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) int32 { /* sqlite3.c:136835:12: */ +func multiSelectValues(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) int32 { /* sqlite3.c:136848:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -118482,7 +118501,7 @@ func multiSelectValues(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) // Return true if the SELECT statement which is known to be the recursive // part of a recursive CTE still has its anchor terms attached. If the // anchor terms have already been removed, then return false. -func hasAnchor(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:136872:12: */ +func hasAnchor(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:136885:12: */ for p != 0 && (*Select)(unsafe.Pointer(p)).FselFlags&U32(SF_Recursive) != U32(0) { p = (*Select)(unsafe.Pointer(p)).FpPrior } @@ -118518,7 +118537,7 @@ func hasAnchor(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:136872:12: */ // // Notice that because of the way SQLite parses compound SELECTs, the // individual selects always group from left to right. -func multiSelect(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) int32 { /* sqlite3.c:136908:12: */ +func multiSelect(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) int32 { /* sqlite3.c:136921:12: */ bp := tls.Alloc(144) defer tls.Free(144) @@ -118981,7 +119000,7 @@ __44: // Error message for when two or more terms of a compound select have different // size result sets. -func Xsqlite3SelectWrongNumTermsError(tls *libc.TLS, pParse uintptr, p uintptr) { /* sqlite3.c:137264:21: */ +func Xsqlite3SelectWrongNumTermsError(tls *libc.TLS, pParse uintptr, p uintptr) { /* sqlite3.c:137277:21: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -119012,7 +119031,7 @@ func Xsqlite3SelectWrongNumTermsError(tls *libc.TLS, pParse uintptr, p uintptr) // // If the LIMIT found in p->iLimit is reached, jump immediately to // iBreak. -func generateOutputSubroutine(tls *libc.TLS, pParse uintptr, p uintptr, pIn uintptr, pDest uintptr, regReturn int32, regPrev int32, pKeyInfo uintptr, iBreak int32) int32 { /* sqlite3.c:137294:12: */ +func generateOutputSubroutine(tls *libc.TLS, pParse uintptr, p uintptr, pIn uintptr, pDest uintptr, regReturn int32, regPrev int32, pKeyInfo uintptr, iBreak int32) int32 { /* sqlite3.c:137307:12: */ var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe var iContinue int32 var addr int32 @@ -119208,7 +119227,7 @@ func generateOutputSubroutine(tls *libc.TLS, pParse uintptr, p uintptr, pIn uint // actually called using Gosub and they do not Return. EofA and EofB loop // until all data is exhausted then jump to the "end" labe. AltB, AeqB, // and AgtB jump to either L2 or to one of EofA or EofB. -func multiSelectOrderBy(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) int32 { /* sqlite3.c:137502:12: */ +func multiSelectOrderBy(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) int32 { /* sqlite3.c:137515:12: */ bp := tls.Alloc(88) defer tls.Free(88) @@ -119558,14 +119577,14 @@ type SubstContext1 = struct { FisLeftJoin int32 F__ccgo_pad1 [4]byte FpEList uintptr -} /* sqlite3.c:137827:9 */ +} /* sqlite3.c:137840:9 */ // An instance of the SubstContext object describes an substitution edit // to be performed on a parse tree. // // All references to columns in table iTable are to be replaced by corresponding // expressions in pEList. -type SubstContext = SubstContext1 /* sqlite3.c:137833:3 */ +type SubstContext = SubstContext1 /* sqlite3.c:137846:3 */ // Scan through the expression pExpr. Replace every reference to // a column in table number iTable with a copy of the iColumn-th @@ -119578,7 +119597,7 @@ type SubstContext = SubstContext1 /* sqlite3.c:137833:3 */ // FORM clause entry is iTable. This routine makes the necessary // changes to pExpr so that it refers directly to the source table // of the subquery rather the result set of the subquery. -func substExpr(tls *libc.TLS, pSubst uintptr, pExpr uintptr) uintptr { /* sqlite3.c:137852:13: */ +func substExpr(tls *libc.TLS, pSubst uintptr, pExpr uintptr) uintptr { /* sqlite3.c:137865:13: */ bp := tls.Alloc(72) defer tls.Free(72) @@ -119661,7 +119680,7 @@ func substExpr(tls *libc.TLS, pSubst uintptr, pExpr uintptr) uintptr { /* sqlite return pExpr } -func substExprList(tls *libc.TLS, pSubst uintptr, pList uintptr) { /* sqlite3.c:137937:13: */ +func substExprList(tls *libc.TLS, pSubst uintptr, pList uintptr) { /* sqlite3.c:137950:13: */ var i int32 if pList == uintptr(0) { return @@ -119671,7 +119690,7 @@ func substExprList(tls *libc.TLS, pSubst uintptr, pList uintptr) { /* sqlite3.c: } } -func substSelect(tls *libc.TLS, pSubst uintptr, p uintptr, doPrior int32) { /* sqlite3.c:137947:13: */ +func substSelect(tls *libc.TLS, pSubst uintptr, p uintptr, doPrior int32) { /* sqlite3.c:137960:13: */ var pSrc uintptr var pItem uintptr var i int32 @@ -119714,7 +119733,7 @@ func substSelect(tls *libc.TLS, pSubst uintptr, p uintptr, doPrior int32) { /* s // // This routine scans the entire SELECT statement and recomputes the // pSrcItem->colUsed mask. -func recomputeColumnsUsedExpr(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:137982:12: */ +func recomputeColumnsUsedExpr(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:137995:12: */ var pItem uintptr if int32((*Expr)(unsafe.Pointer(pExpr)).Fop) != TK_COLUMN { return WRC_Continue @@ -119730,7 +119749,7 @@ func recomputeColumnsUsedExpr(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int return WRC_Continue } -func recomputeColumnsUsed(tls *libc.TLS, pSelect uintptr, pSrcItem uintptr) { /* sqlite3.c:137991:13: */ +func recomputeColumnsUsed(tls *libc.TLS, pSelect uintptr, pSrcItem uintptr) { /* sqlite3.c:138004:13: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -119762,7 +119781,7 @@ func recomputeColumnsUsed(tls *libc.TLS, pSelect uintptr, pSrcItem uintptr) { /* // // If pSrc contains any sub-selects, call this routine recursively // on the FROM clause of each such sub-select, with iExcept set to -1. -func srclistRenumberCursors(tls *libc.TLS, pParse uintptr, aCsrMap uintptr, pSrc uintptr, iExcept int32) { /* sqlite3.c:138020:13: */ +func srclistRenumberCursors(tls *libc.TLS, pParse uintptr, aCsrMap uintptr, pSrc uintptr, iExcept int32) { /* sqlite3.c:138033:13: */ var i int32 var pItem uintptr i = 0 @@ -119795,7 +119814,7 @@ __3: } // *piCursor is a cursor number. Change it if it needs to be mapped. -func renumberCursorDoMapping(tls *libc.TLS, pWalker uintptr, piCursor uintptr) { /* sqlite3.c:138046:13: */ +func renumberCursorDoMapping(tls *libc.TLS, pWalker uintptr, piCursor uintptr) { /* sqlite3.c:138059:13: */ var aCsrMap uintptr = *(*uintptr)(unsafe.Pointer(pWalker + 40)) var iCsr int32 = *(*int32)(unsafe.Pointer(piCursor)) if iCsr < *(*int32)(unsafe.Pointer(aCsrMap)) && *(*int32)(unsafe.Pointer(aCsrMap + uintptr(iCsr+1)*4)) > 0 { @@ -119805,7 +119824,7 @@ func renumberCursorDoMapping(tls *libc.TLS, pWalker uintptr, piCursor uintptr) { // Expression walker callback used by renumberCursors() to update // Expr objects to match newly assigned cursor numbers. -func renumberCursorsCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:138058:12: */ +func renumberCursorsCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:138071:12: */ var op int32 = int32((*Expr)(unsafe.Pointer(pExpr)).Fop) if op == TK_COLUMN || op == TK_IF_NULL_ROW { renumberCursorDoMapping(tls, pWalker, pExpr+44) @@ -119832,7 +119851,7 @@ func renumberCursorsCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* // * the array entries for all cursor numbers that do *not* appear in // FROM clauses of the select statement as described above are // initialized to zero. -func renumberCursors(tls *libc.TLS, pParse uintptr, p uintptr, iExcept int32, aCsrMap uintptr) { /* sqlite3.c:138087:13: */ +func renumberCursors(tls *libc.TLS, pParse uintptr, p uintptr, iExcept int32, aCsrMap uintptr) { /* sqlite3.c:138100:13: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -120002,7 +120021,7 @@ func renumberCursors(tls *libc.TLS, pParse uintptr, p uintptr, iExcept int32, aC // // All of the expression analysis must occur on both the outer query and // the subquery before this routine runs. -func flattenSubquery(tls *libc.TLS, pParse uintptr, p uintptr, iFrom int32, isAgg int32) int32 { /* sqlite3.c:138258:12: */ +func flattenSubquery(tls *libc.TLS, pParse uintptr, p uintptr, iFrom int32, isAgg int32) int32 { /* sqlite3.c:138271:12: */ bp := tls.Alloc(80) defer tls.Free(80) @@ -120427,7 +120446,7 @@ __3: // A structure to keep track of all of the column values that are fixed to // a known value due to WHERE clause constraints of the form COLUMN=VALUE. -type WhereConst = WhereConst1 /* sqlite3.c:138682:27 */ +type WhereConst = WhereConst1 /* sqlite3.c:138695:27 */ // Add a new entry to the pConst object. Except, do not add duplicate // pColumn entires. Also, do not add if doing so would not be appropriate. @@ -120435,7 +120454,7 @@ type WhereConst = WhereConst1 /* sqlite3.c:138682:27 */ // The caller guarantees the pColumn is a column and pValue is a constant. // This routine has to do some additional checks before completing the // insert. -func constInsert(tls *libc.TLS, pConst uintptr, pColumn uintptr, pValue uintptr, pExpr uintptr) { /* sqlite3.c:138700:13: */ +func constInsert(tls *libc.TLS, pConst uintptr, pColumn uintptr, pValue uintptr, pExpr uintptr) { /* sqlite3.c:138713:13: */ var i int32 if (*Expr)(unsafe.Pointer(pColumn)).Fflags&U32(EP_FixedCol) != U32(0) { @@ -120477,7 +120496,7 @@ func constInsert(tls *libc.TLS, pConst uintptr, pColumn uintptr, pValue uintptr, // is a constant expression and where the term must be true because it // is part of the AND-connected terms of the expression. For each term // found, add it to the pConst structure. -func findConstInWhere(tls *libc.TLS, pConst uintptr, pExpr uintptr) { /* sqlite3.c:138748:13: */ +func findConstInWhere(tls *libc.TLS, pConst uintptr, pExpr uintptr) { /* sqlite3.c:138761:13: */ var pRight uintptr var pLeft uintptr if pExpr == uintptr(0) { @@ -120512,7 +120531,7 @@ func findConstInWhere(tls *libc.TLS, pConst uintptr, pExpr uintptr) { /* sqlite3 // then overwrite it with the corresponding value. Except, do not do so // if argument bIgnoreAffBlob is non-zero and the affinity of pExpr // is SQLITE_AFF_BLOB. -func propagateConstantExprRewriteOne(tls *libc.TLS, pConst uintptr, pExpr uintptr, bIgnoreAffBlob int32) int32 { /* sqlite3.c:138779:12: */ +func propagateConstantExprRewriteOne(tls *libc.TLS, pConst uintptr, pExpr uintptr, bIgnoreAffBlob int32) int32 { /* sqlite3.c:138792:12: */ var i int32 if *(*U8)(unsafe.Pointer((*WhereConst)(unsafe.Pointer(pConst)).FpOomFault)) != 0 { return WRC_Prune @@ -120566,7 +120585,7 @@ func propagateConstantExprRewriteOne(tls *libc.TLS, pConst uintptr, pExpr uintpt // uses an affinity other than TEXT and one of its immediate // children is a column that matches one of the columns in // pWalker->u.pConst. -func propagateConstantExprRewrite(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:138828:12: */ +func propagateConstantExprRewrite(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:138841:12: */ var pConst uintptr = *(*uintptr)(unsafe.Pointer(pWalker + 40)) if (*WhereConst)(unsafe.Pointer(pConst)).FbHasAffBlob != 0 { @@ -120633,7 +120652,7 @@ func propagateConstantExprRewrite(tls *libc.TLS, pWalker uintptr, pExpr uintptr) // operators ==, <=, <, >=, >, or IS in a way that will cause the correct // type conversions to occur. See logic associated with the bHasAffBlob flag // for details. -func propagateConstants(tls *libc.TLS, pParse uintptr, p uintptr) int32 { /* sqlite3.c:138899:12: */ +func propagateConstants(tls *libc.TLS, pParse uintptr, p uintptr) int32 { /* sqlite3.c:138912:12: */ bp := tls.Alloc(88) defer tls.Free(88) @@ -120686,7 +120705,7 @@ func propagateConstants(tls *libc.TLS, pParse uintptr, p uintptr) int32 { /* sql // // * the sub-query uses only one distinct window frame, and // * that the window frame has a PARTITION BY clase. -func pushDownWindowCheck(tls *libc.TLS, pParse uintptr, pSubq uintptr, pExpr uintptr) int32 { /* sqlite3.c:138950:12: */ +func pushDownWindowCheck(tls *libc.TLS, pParse uintptr, pSubq uintptr, pExpr uintptr) int32 { /* sqlite3.c:138963:12: */ return Xsqlite3ExprIsConstantOrGroupBy(tls, pParse, pExpr, (*Window)(unsafe.Pointer((*Select)(unsafe.Pointer(pSubq)).FpWin)).FpPartition) } @@ -120757,7 +120776,7 @@ func pushDownWindowCheck(tls *libc.TLS, pParse uintptr, pSubq uintptr, pExpr uin // // Return 0 if no changes are made and non-zero if one or more WHERE clause // terms are duplicated into the subquery. -func pushDownWhereTerms(tls *libc.TLS, pParse uintptr, pSubq uintptr, pWhere uintptr, iCursor int32, isLeftJoin int32) int32 { /* sqlite3.c:139028:12: */ +func pushDownWhereTerms(tls *libc.TLS, pParse uintptr, pSubq uintptr, pWhere uintptr, iCursor int32, isLeftJoin int32) int32 { /* sqlite3.c:139041:12: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -120845,7 +120864,7 @@ func pushDownWhereTerms(tls *libc.TLS, pParse uintptr, pSubq uintptr, pWhere uin // This routine must be called after aggregate functions have been // located but before their arguments have been subjected to aggregate // analysis. -func minMaxQuery(tls *libc.TLS, db uintptr, pFunc uintptr, ppMinMax uintptr) U8 { /* sqlite3.c:139132:11: */ +func minMaxQuery(tls *libc.TLS, db uintptr, pFunc uintptr, ppMinMax uintptr) U8 { /* sqlite3.c:139145:11: */ var eRet int32 = WHERE_ORDERBY_NORMAL // Return value var pEList uintptr // Arguments to agg function var zFunc uintptr // Name of aggregate function pFunc @@ -120895,7 +120914,7 @@ func minMaxQuery(tls *libc.TLS, db uintptr, pFunc uintptr, ppMinMax uintptr) U8 // this routine returns NULL when it could have returned a table pointer. // But returning the pointer when NULL should have been returned can // result in incorrect answers and/or crashes. So, when in doubt, return NULL. -func isSimpleCount(tls *libc.TLS, p uintptr, pAggInfo uintptr) uintptr { /* sqlite3.c:139187:14: */ +func isSimpleCount(tls *libc.TLS, p uintptr, pAggInfo uintptr) uintptr { /* sqlite3.c:139200:14: */ var pTab uintptr var pExpr uintptr @@ -120935,7 +120954,7 @@ func isSimpleCount(tls *libc.TLS, p uintptr, pAggInfo uintptr) uintptr { /* sqli // was such a clause and the named index cannot be found, return // SQLITE_ERROR and leave an error in pParse. Otherwise, populate // pFrom->pIndex and return SQLITE_OK. -func Xsqlite3IndexedByLookup(tls *libc.TLS, pParse uintptr, pFrom uintptr) int32 { /* sqlite3.c:139225:20: */ +func Xsqlite3IndexedByLookup(tls *libc.TLS, pParse uintptr, pFrom uintptr) int32 { /* sqlite3.c:139238:20: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -120974,7 +120993,7 @@ func Xsqlite3IndexedByLookup(tls *libc.TLS, pParse uintptr, pFrom uintptr) int32 // This transformation is only needed for EXCEPT, INTERSECT, and UNION. // The UNION ALL operator works fine with multiSelectOrderBy() even when // there are COLLATE terms in the ORDER BY. -func convertCompoundSelectToSubquery(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sqlite3.c:139267:12: */ +func convertCompoundSelectToSubquery(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sqlite3.c:139280:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -121053,7 +121072,7 @@ func convertCompoundSelectToSubquery(tls *libc.TLS, pWalker uintptr, p uintptr) // Check to see if the FROM clause term pFrom has table-valued function // arguments. If it does, leave an error message in pParse and return // non-zero, since pFrom is not allowed to be a table-valued function. -func cannotBeFunction(tls *libc.TLS, pParse uintptr, pFrom uintptr) int32 { /* sqlite3.c:139332:12: */ +func cannotBeFunction(tls *libc.TLS, pParse uintptr, pFrom uintptr) int32 { /* sqlite3.c:139345:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -121072,7 +121091,7 @@ func cannotBeFunction(tls *libc.TLS, pParse uintptr, pFrom uintptr) int32 { /* s // // If a non-NULL value is returned, set *ppContext to point to the With // object that the returned CTE belongs to. -func searchWith(tls *libc.TLS, pWith uintptr, pItem uintptr, ppContext uintptr) uintptr { /* sqlite3.c:139351:19: */ +func searchWith(tls *libc.TLS, pWith uintptr, pItem uintptr, ppContext uintptr) uintptr { /* sqlite3.c:139364:19: */ var zName uintptr = (*SrcItem)(unsafe.Pointer(pItem)).FzName var p uintptr @@ -121107,7 +121126,7 @@ func searchWith(tls *libc.TLS, pWith uintptr, pItem uintptr, ppContext uintptr) // // If bFree is true, do not continue to use the pWith pointer after // calling this routine, Instead, use only the return value. -func Xsqlite3WithPush(tls *libc.TLS, pParse uintptr, pWith uintptr, bFree U8) uintptr { /* sqlite3.c:139390:21: */ +func Xsqlite3WithPush(tls *libc.TLS, pParse uintptr, pWith uintptr, bFree U8) uintptr { /* sqlite3.c:139403:21: */ if pWith != 0 { if bFree != 0 { pWith = Xsqlite3ParserAddCleanup(tls, pParse, @@ -121140,7 +121159,7 @@ func Xsqlite3WithPush(tls *libc.TLS, pParse uintptr, pWith uintptr, bFree U8) ui // Return 0 if no match is found. // Return 1 if a match is found. // Return 2 if an error condition is detected. -func resolveFromTermToCte(tls *libc.TLS, pParse uintptr, pWalker uintptr, pFrom uintptr) int32 { /* sqlite3.c:139421:12: */ +func resolveFromTermToCte(tls *libc.TLS, pParse uintptr, pWalker uintptr, pFrom uintptr) int32 { /* sqlite3.c:139434:12: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -121322,7 +121341,7 @@ func resolveFromTermToCte(tls *libc.TLS, pParse uintptr, pWalker uintptr, pFrom // This function is used as the xSelectCallback2() callback by // sqlite3SelectExpand() when walking a SELECT tree to resolve table // names and other FROM clause elements. -func Xsqlite3SelectPopWith(tls *libc.TLS, pWalker uintptr, p uintptr) { /* sqlite3.c:139605:21: */ +func Xsqlite3SelectPopWith(tls *libc.TLS, pWalker uintptr, p uintptr) { /* sqlite3.c:139618:21: */ var pParse uintptr = (*Walker)(unsafe.Pointer(pWalker)).FpParse if (*Parse)(unsafe.Pointer(pParse)).FpWith != 0 && (*Select)(unsafe.Pointer(p)).FpPrior == uintptr(0) { var pWith uintptr = (*Select)(unsafe.Pointer(findRightmost(tls, p))).FpWith @@ -121338,7 +121357,7 @@ func Xsqlite3SelectPopWith(tls *libc.TLS, pWalker uintptr, p uintptr) { /* sqlit // allocates and populates the SrcList_item.pTab object. If successful, // SQLITE_OK is returned. Otherwise, if an OOM error is encountered, // SQLITE_NOMEM. -func Xsqlite3ExpandSubquery(tls *libc.TLS, pParse uintptr, pFrom uintptr) int32 { /* sqlite3.c:139624:20: */ +func Xsqlite3ExpandSubquery(tls *libc.TLS, pParse uintptr, pFrom uintptr) int32 { /* sqlite3.c:139637:20: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -121392,7 +121411,7 @@ func Xsqlite3ExpandSubquery(tls *libc.TLS, pParse uintptr, pFrom uintptr) int32 // If found, expand each "*" to be every column in every table // and TABLE.* to be every column in TABLE. // -func selectExpander(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sqlite3.c:139676:12: */ +func selectExpander(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sqlite3.c:139689:12: */ bp := tls.Alloc(88) defer tls.Free(88) @@ -121741,7 +121760,7 @@ __3: // If anything goes wrong, an error message is written into pParse. // The calling function can detect the problem by looking at pParse->nErr // and/or pParse->db->mallocFailed. -func sqlite3SelectExpand(tls *libc.TLS, pParse uintptr, pSelect uintptr) { /* sqlite3.c:140003:13: */ +func sqlite3SelectExpand(tls *libc.TLS, pParse uintptr, pSelect uintptr) { /* sqlite3.c:140016:13: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -121779,7 +121798,7 @@ func sqlite3SelectExpand(tls *libc.TLS, pParse uintptr, pSelect uintptr) { /* sq // by selectExpander() but the type and collation information was omitted // at that point because identifiers had not yet been resolved. This // routine is called after identifier resolution. -func selectAddSubqueryTypeInfo(tls *libc.TLS, pWalker uintptr, p uintptr) { /* sqlite3.c:140033:13: */ +func selectAddSubqueryTypeInfo(tls *libc.TLS, pWalker uintptr, p uintptr) { /* sqlite3.c:140046:13: */ var pParse uintptr var i int32 var pTabList uintptr @@ -121827,7 +121846,7 @@ __3: // SELECT statement. // // Use this routine after name resolution. -func sqlite3SelectAddTypeInfo(tls *libc.TLS, pParse uintptr, pSelect uintptr) { /* sqlite3.c:140068:13: */ +func sqlite3SelectAddTypeInfo(tls *libc.TLS, pParse uintptr, pSelect uintptr) { /* sqlite3.c:140081:13: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -121856,7 +121875,7 @@ func sqlite3SelectAddTypeInfo(tls *libc.TLS, pParse uintptr, pSelect uintptr) { // * Identifiers in expression are matched to tables. // // This routine acts recursively on all subqueries within the SELECT. -func Xsqlite3SelectPrep(tls *libc.TLS, pParse uintptr, p uintptr, pOuterNC uintptr) { /* sqlite3.c:140092:21: */ +func Xsqlite3SelectPrep(tls *libc.TLS, pParse uintptr, p uintptr, pOuterNC uintptr) { /* sqlite3.c:140105:21: */ if (*Sqlite3)(unsafe.Pointer((*Parse)(unsafe.Pointer(pParse)).Fdb)).FmallocFailed != 0 { return @@ -121881,7 +121900,7 @@ func Xsqlite3SelectPrep(tls *libc.TLS, pParse uintptr, p uintptr, pOuterNC uintp // intermediate results while calculating an aggregate. This // routine generates code that stores NULLs in all of those memory // cells. -func resetAccumulator(tls *libc.TLS, pParse uintptr, pAggInfo uintptr) { /* sqlite3.c:140116:13: */ +func resetAccumulator(tls *libc.TLS, pParse uintptr, pAggInfo uintptr) { /* sqlite3.c:140129:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -121931,7 +121950,7 @@ __3: // Invoke the OP_AggFinalize opcode for every aggregate function // in the AggInfo structure. -func finalizeAggFunctions(tls *libc.TLS, pParse uintptr, pAggInfo uintptr) { /* sqlite3.c:140162:13: */ +func finalizeAggFunctions(tls *libc.TLS, pParse uintptr, pAggInfo uintptr) { /* sqlite3.c:140175:13: */ var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe var i int32 var pF uintptr @@ -121970,7 +121989,7 @@ __3: // in pAggInfo, then only populate the pAggInfo->nAccumulator accumulator // registers if register regAcc contains 0. The caller will take care // of setting and clearing regAcc. -func updateAccumulator(tls *libc.TLS, pParse uintptr, regAcc int32, pAggInfo uintptr, eDistinctType int32) { /* sqlite3.c:140185:13: */ +func updateAccumulator(tls *libc.TLS, pParse uintptr, regAcc int32, pAggInfo uintptr, eDistinctType int32) { /* sqlite3.c:140198:13: */ var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe var i int32 var regHit int32 = 0 @@ -122111,7 +122130,7 @@ __9: // Add a single OP_Explain instruction to the VDBE to explain a simple // count(*) query ("SELECT count(*) FROM pTab"). -func explainSimpleCount(tls *libc.TLS, pParse uintptr, pTab uintptr, pIdx uintptr) { /* sqlite3.c:140287:13: */ +func explainSimpleCount(tls *libc.TLS, pParse uintptr, pTab uintptr, pIdx uintptr) { /* sqlite3.c:140300:13: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -122143,7 +122162,7 @@ func explainSimpleCount(tls *libc.TLS, pParse uintptr, pTab uintptr, pIdx uintpt // sub-expression matches the criteria for being moved to the WHERE // clause. If so, add it to the WHERE clause and replace the sub-expression // within the HAVING expression with a constant "1". -func havingToWhereExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:140316:12: */ +func havingToWhereExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:140329:12: */ if int32((*Expr)(unsafe.Pointer(pExpr)).Fop) != TK_AND { var pS uintptr = *(*uintptr)(unsafe.Pointer(pWalker + 40)) // This routine is called before the HAVING clause of the current @@ -122189,7 +122208,7 @@ func havingToWhereExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { // A term of the HAVING expression is eligible for transfer if it consists // entirely of constants and expressions that are also GROUP BY terms that // use the "BINARY" collation sequence. -func havingToWhere(tls *libc.TLS, pParse uintptr, p uintptr) { /* sqlite3.c:140360:13: */ +func havingToWhere(tls *libc.TLS, pParse uintptr, p uintptr) { /* sqlite3.c:140373:13: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -122207,7 +122226,7 @@ func havingToWhere(tls *libc.TLS, pParse uintptr, p uintptr) { /* sqlite3.c:1403 // Check to see if the pThis entry of pTabList is a self-join of a prior view. // If it is, then return the SrcList_item for the prior view. If it is not, // then return 0. -func isSelfJoinView(tls *libc.TLS, pTabList uintptr, pThis uintptr) uintptr { /* sqlite3.c:140380:16: */ +func isSelfJoinView(tls *libc.TLS, pTabList uintptr, pThis uintptr) uintptr { /* sqlite3.c:140393:16: */ var pItem uintptr if (*Select)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pThis)).FpSelect)).FselFlags&U32(SF_PushDown) != 0 { @@ -122248,7 +122267,7 @@ func isSelfJoinView(tls *libc.TLS, pTabList uintptr, pThis uintptr) uintptr { /* } // Deallocate a single AggInfo object -func agginfoFree(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:140415:13: */ +func agginfoFree(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:140428:13: */ Xsqlite3DbFree(tls, db, (*AggInfo)(unsafe.Pointer(p)).FaCol) Xsqlite3DbFree(tls, db, (*AggInfo)(unsafe.Pointer(p)).FaFunc) Xsqlite3DbFreeNN(tls, db, p) @@ -122265,7 +122284,7 @@ func agginfoFree(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:140415:13: // // This routine does NOT free the Select structure passed in. The // calling function needs to do that. -func Xsqlite3Select(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) int32 { /* sqlite3.c:140523:20: */ +func Xsqlite3Select(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) int32 { /* sqlite3.c:140536:20: */ bp := tls.Alloc(216) defer tls.Free(216) @@ -123862,7 +123881,7 @@ type TabResult1 = struct { FnData U32 Frc int32 F__ccgo_pad1 [4]byte -} /* sqlite3.c:141786:9 */ +} /* sqlite3.c:141799:9 */ //************* End of select.c ********************************************* //************* Begin file table.c ****************************************** @@ -123886,12 +123905,12 @@ type TabResult1 = struct { // This structure is used to pass data from sqlite3_get_table() through // to the callback function is uses to build the result. -type TabResult = TabResult1 /* sqlite3.c:141794:3 */ +type TabResult = TabResult1 /* sqlite3.c:141807:3 */ // This routine is called once for each row in the result table. Its job // is to fill in the TabResult structure appropriately, allocating new // memory as necessary. -func sqlite3_get_table_cb(tls *libc.TLS, pArg uintptr, nCol int32, argv uintptr, colv uintptr) int32 { /* sqlite3.c:141801:12: */ +func sqlite3_get_table_cb(tls *libc.TLS, pArg uintptr, nCol int32, argv uintptr, colv uintptr) int32 { /* sqlite3.c:141814:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -124022,7 +124041,7 @@ malloc_failed: // from malloc(). But the caller cannot free this memory directly. // Instead, the entire table should be passed to sqlite3_free_table() when // the calling procedure is finished using it. -func Xsqlite3_get_table(tls *libc.TLS, db uintptr, zSql uintptr, pazResult uintptr, pnRow uintptr, pnColumn uintptr, pzErrMsg uintptr) int32 { /* sqlite3.c:141875:16: */ +func Xsqlite3_get_table(tls *libc.TLS, db uintptr, zSql uintptr, pazResult uintptr, pnRow uintptr, pnColumn uintptr, pzErrMsg uintptr) int32 { /* sqlite3.c:141888:16: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -124094,7 +124113,7 @@ func Xsqlite3_get_table(tls *libc.TLS, db uintptr, zSql uintptr, pazResult uintp } // This routine frees the space the sqlite3_get_table() malloced. -func Xsqlite3_free_table(tls *libc.TLS, azResult uintptr) { /* sqlite3.c:141944:17: */ +func Xsqlite3_free_table(tls *libc.TLS, azResult uintptr) { /* sqlite3.c:141957:17: */ if azResult != 0 { var i int32 var n int32 @@ -124125,7 +124144,7 @@ func Xsqlite3_free_table(tls *libc.TLS, azResult uintptr) { /* sqlite3.c:141944: // #include "sqliteInt.h" // Delete a linked list of TriggerStep structures. -func Xsqlite3DeleteTriggerStep(tls *libc.TLS, db uintptr, pTriggerStep uintptr) { /* sqlite3.c:141979:21: */ +func Xsqlite3DeleteTriggerStep(tls *libc.TLS, db uintptr, pTriggerStep uintptr) { /* sqlite3.c:141992:21: */ for pTriggerStep != 0 { var pTmp uintptr = pTriggerStep pTriggerStep = (*TriggerStep)(unsafe.Pointer(pTriggerStep)).FpNext @@ -124154,7 +124173,7 @@ func Xsqlite3DeleteTriggerStep(tls *libc.TLS, db uintptr, pTriggerStep uintptr) // To state it another way: This routine returns a list of all triggers // that fire off of pTab. The list will include any TEMP triggers on // pTab as well as the triggers lised in pTab->pTrigger. -func Xsqlite3TriggerList(tls *libc.TLS, pParse uintptr, pTab uintptr) uintptr { /* sqlite3.c:142010:24: */ +func Xsqlite3TriggerList(tls *libc.TLS, pParse uintptr, pTab uintptr) uintptr { /* sqlite3.c:142023:24: */ var pTmpSchema uintptr // Schema of the pTab table var pList uintptr // List of triggers to return var p uintptr // Loop variable for TEMP triggers @@ -124192,7 +124211,7 @@ func Xsqlite3TriggerList(tls *libc.TLS, pParse uintptr, pTab uintptr) uintptr { // in pParse->pNewTrigger. After the trigger actions have been parsed, the // sqlite3FinishTrigger() function is called to complete the trigger // construction process. -func Xsqlite3BeginTrigger(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 uintptr, tr_tm int32, op int32, pColumns uintptr, pTableName uintptr, pWhen uintptr, isTemp int32, noErr int32) { /* sqlite3.c:142066:21: */ +func Xsqlite3BeginTrigger(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 uintptr, tr_tm int32, op int32, pColumns uintptr, pTableName uintptr, pWhen uintptr, isTemp int32, noErr int32) { /* sqlite3.c:142079:21: */ bp := tls.Alloc(136) defer tls.Free(136) @@ -124499,7 +124518,7 @@ __31: // This routine is called after all of the trigger actions have been parsed // in order to complete the process of building the trigger. -func Xsqlite3FinishTrigger(tls *libc.TLS, pParse uintptr, pStepList uintptr, pAll uintptr) { /* sqlite3.c:142273:21: */ +func Xsqlite3FinishTrigger(tls *libc.TLS, pParse uintptr, pStepList uintptr, pAll uintptr) { /* sqlite3.c:142286:21: */ bp := tls.Alloc(152) defer tls.Free(152) @@ -124623,7 +124642,7 @@ triggerfinish_cleanup: // Duplicate a range of text from an SQL statement, then convert all // whitespace characters into ordinary space characters. -func triggerSpanDup(tls *libc.TLS, db uintptr, zStart uintptr, zEnd uintptr) uintptr { /* sqlite3.c:142361:13: */ +func triggerSpanDup(tls *libc.TLS, db uintptr, zStart uintptr, zEnd uintptr) uintptr { /* sqlite3.c:142374:13: */ var z uintptr = Xsqlite3DbSpanDup(tls, db, zStart, zEnd) var i int32 if z != 0 { @@ -124641,7 +124660,7 @@ func triggerSpanDup(tls *libc.TLS, db uintptr, zStart uintptr, zEnd uintptr) uin // // The parser calls this routine when it finds a SELECT statement in // body of a TRIGGER. -func Xsqlite3TriggerSelectStep(tls *libc.TLS, db uintptr, pSelect uintptr, zStart uintptr, zEnd uintptr) uintptr { /* sqlite3.c:142375:28: */ +func Xsqlite3TriggerSelectStep(tls *libc.TLS, db uintptr, pSelect uintptr, zStart uintptr, zEnd uintptr) uintptr { /* sqlite3.c:142388:28: */ var pTriggerStep uintptr = Xsqlite3DbMallocZero(tls, db, uint64(unsafe.Sizeof(TriggerStep{}))) if pTriggerStep == uintptr(0) { Xsqlite3SelectDelete(tls, db, pSelect) @@ -124658,7 +124677,7 @@ func Xsqlite3TriggerSelectStep(tls *libc.TLS, db uintptr, pSelect uintptr, zStar // holds both the TriggerStep object and the TriggerStep.target.z string. // // If an OOM error occurs, NULL is returned and db->mallocFailed is set. -func triggerStepAllocate(tls *libc.TLS, pParse uintptr, op U8, pName uintptr, zStart uintptr, zEnd uintptr) uintptr { /* sqlite3.c:142399:20: */ +func triggerStepAllocate(tls *libc.TLS, pParse uintptr, op U8, pName uintptr, zStart uintptr, zEnd uintptr) uintptr { /* sqlite3.c:142412:20: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb var pTriggerStep uintptr @@ -124685,7 +124704,7 @@ func triggerStepAllocate(tls *libc.TLS, pParse uintptr, op U8, pName uintptr, zS // // The parser calls this routine when it sees an INSERT inside the // body of a trigger. -func Xsqlite3TriggerInsertStep(tls *libc.TLS, pParse uintptr, pTableName uintptr, pColumn uintptr, pSelect uintptr, orconf U8, pUpsert uintptr, zStart uintptr, zEnd uintptr) uintptr { /* sqlite3.c:142432:28: */ +func Xsqlite3TriggerInsertStep(tls *libc.TLS, pParse uintptr, pTableName uintptr, pColumn uintptr, pSelect uintptr, orconf U8, pUpsert uintptr, zStart uintptr, zEnd uintptr) uintptr { /* sqlite3.c:142445:28: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb var pTriggerStep uintptr @@ -124717,7 +124736,7 @@ func Xsqlite3TriggerInsertStep(tls *libc.TLS, pParse uintptr, pTableName uintptr // Construct a trigger step that implements an UPDATE statement and return // a pointer to that trigger step. The parser calls this routine when it // sees an UPDATE statement inside the body of a CREATE TRIGGER. -func Xsqlite3TriggerUpdateStep(tls *libc.TLS, pParse uintptr, pTableName uintptr, pFrom uintptr, pEList uintptr, pWhere uintptr, orconf U8, zStart uintptr, zEnd uintptr) uintptr { /* sqlite3.c:142477:28: */ +func Xsqlite3TriggerUpdateStep(tls *libc.TLS, pParse uintptr, pTableName uintptr, pFrom uintptr, pEList uintptr, pWhere uintptr, orconf U8, zStart uintptr, zEnd uintptr) uintptr { /* sqlite3.c:142490:28: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb var pTriggerStep uintptr @@ -124746,7 +124765,7 @@ func Xsqlite3TriggerUpdateStep(tls *libc.TLS, pParse uintptr, pTableName uintptr // Construct a trigger step that implements a DELETE statement and return // a pointer to that trigger step. The parser calls this routine when it // sees a DELETE statement inside the body of a CREATE TRIGGER. -func Xsqlite3TriggerDeleteStep(tls *libc.TLS, pParse uintptr, pTableName uintptr, pWhere uintptr, zStart uintptr, zEnd uintptr) uintptr { /* sqlite3.c:142517:28: */ +func Xsqlite3TriggerDeleteStep(tls *libc.TLS, pParse uintptr, pTableName uintptr, pWhere uintptr, zStart uintptr, zEnd uintptr) uintptr { /* sqlite3.c:142530:28: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb var pTriggerStep uintptr @@ -124765,7 +124784,7 @@ func Xsqlite3TriggerDeleteStep(tls *libc.TLS, pParse uintptr, pTableName uintptr } // Recursively delete a Trigger structure -func Xsqlite3DeleteTrigger(tls *libc.TLS, db uintptr, pTrigger uintptr) { /* sqlite3.c:142544:21: */ +func Xsqlite3DeleteTrigger(tls *libc.TLS, db uintptr, pTrigger uintptr) { /* sqlite3.c:142557:21: */ if pTrigger == uintptr(0) || (*Trigger)(unsafe.Pointer(pTrigger)).FbReturning != 0 { return } @@ -124785,7 +124804,7 @@ func Xsqlite3DeleteTrigger(tls *libc.TLS, db uintptr, pTrigger uintptr) { /* sql // same job as this routine except it takes a pointer to the trigger // instead of the trigger name. // -func Xsqlite3DropTrigger(tls *libc.TLS, pParse uintptr, pName uintptr, noErr int32) { /* sqlite3.c:142562:21: */ +func Xsqlite3DropTrigger(tls *libc.TLS, pParse uintptr, pName uintptr, noErr int32) { /* sqlite3.c:142575:21: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -124869,12 +124888,12 @@ drop_trigger_cleanup: // Return a pointer to the Table structure for the table that a trigger // is set on. -func tableOfTrigger(tls *libc.TLS, pTrigger uintptr) uintptr { /* sqlite3.c:142604:14: */ +func tableOfTrigger(tls *libc.TLS, pTrigger uintptr) uintptr { /* sqlite3.c:142617:14: */ return Xsqlite3HashFind(tls, (*Trigger)(unsafe.Pointer(pTrigger)).FpTabSchema+8, (*Trigger)(unsafe.Pointer(pTrigger)).Ftable) } // Drop a trigger given a pointer to that trigger. -func Xsqlite3DropTriggerPtr(tls *libc.TLS, pParse uintptr, pTrigger uintptr) { /* sqlite3.c:142612:21: */ +func Xsqlite3DropTriggerPtr(tls *libc.TLS, pParse uintptr, pTrigger uintptr) { /* sqlite3.c:142625:21: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -124915,7 +124934,7 @@ func Xsqlite3DropTriggerPtr(tls *libc.TLS, pParse uintptr, pTrigger uintptr) { / } // Remove a trigger from the hash tables of the sqlite* pointer. -func Xsqlite3UnlinkAndDeleteTrigger(tls *libc.TLS, db uintptr, iDb int32, zName uintptr) { /* sqlite3.c:142650:21: */ +func Xsqlite3UnlinkAndDeleteTrigger(tls *libc.TLS, db uintptr, iDb int32, zName uintptr) { /* sqlite3.c:142663:21: */ var pTrigger uintptr var pHash uintptr @@ -124946,7 +124965,7 @@ func Xsqlite3UnlinkAndDeleteTrigger(tls *libc.TLS, db uintptr, iDb int32, zName // wildcard that matches anything. Likewise if pEList==NULL then // it matches anything so always return true. Return false only // if there is no match. -func checkColumnOverlap(tls *libc.TLS, pIdList uintptr, pEList uintptr) int32 { /* sqlite3.c:142684:12: */ +func checkColumnOverlap(tls *libc.TLS, pIdList uintptr, pEList uintptr) int32 { /* sqlite3.c:142697:12: */ var e int32 if pIdList == uintptr(0) || pEList == uintptr(0) { return 1 @@ -124963,7 +124982,7 @@ func checkColumnOverlap(tls *libc.TLS, pIdList uintptr, pEList uintptr) int32 { // one trigger that must be fired when an operation of type 'op' is // performed on the table, and, if that operation is an UPDATE, if at // least one of the columns in pChanges is being modified. -func Xsqlite3TriggersExist(tls *libc.TLS, pParse uintptr, pTab uintptr, op int32, pChanges uintptr, pMask uintptr) uintptr { /* sqlite3.c:142699:24: */ +func Xsqlite3TriggersExist(tls *libc.TLS, pParse uintptr, pTab uintptr, op int32, pChanges uintptr, pMask uintptr) uintptr { /* sqlite3.c:142712:24: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -125090,7 +125109,7 @@ __17: // referring to a target in another database. An exception is when the // trigger is in TEMP in which case it can refer to any other database it // wants. -func Xsqlite3TriggerStepSrc(tls *libc.TLS, pParse uintptr, pStep uintptr) uintptr { /* sqlite3.c:142773:24: */ +func Xsqlite3TriggerStepSrc(tls *libc.TLS, pParse uintptr, pStep uintptr) uintptr { /* sqlite3.c:142786:24: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb var pSrc uintptr // SrcList to be returned var zName uintptr = Xsqlite3DbStrDup(tls, db, (*TriggerStep)(unsafe.Pointer(pStep)).FzTarget) @@ -125115,7 +125134,7 @@ func Xsqlite3TriggerStepSrc(tls *libc.TLS, pParse uintptr, pStep uintptr) uintpt // Return true if the pExpr term from the RETURNING clause argument // list is of the form "*". Raise an error if the terms if of the // form "table.*". -func isAsteriskTerm(tls *libc.TLS, pParse uintptr, pTerm uintptr) int32 { /* sqlite3.c:142804:12: */ +func isAsteriskTerm(tls *libc.TLS, pParse uintptr, pTerm uintptr) int32 { /* sqlite3.c:142817:12: */ if int32((*Expr)(unsafe.Pointer(pTerm)).Fop) == TK_ASTERISK { return 1 @@ -125136,7 +125155,7 @@ func isAsteriskTerm(tls *libc.TLS, pParse uintptr, pTerm uintptr) int32 { /* sql // // This routine makes a copy of the pList, and at the same time expands // any "*" wildcards to be the complete set of columns from pTab. -func sqlite3ExpandReturning(tls *libc.TLS, pParse uintptr, pList uintptr, pTab uintptr) uintptr { /* sqlite3.c:142824:17: */ +func sqlite3ExpandReturning(tls *libc.TLS, pParse uintptr, pList uintptr, pTab uintptr) uintptr { /* sqlite3.c:142837:17: */ var pNew uintptr = uintptr(0) var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb var i int32 @@ -125177,7 +125196,7 @@ func sqlite3ExpandReturning(tls *libc.TLS, pParse uintptr, pList uintptr, pTab u // Generate code for the RETURNING trigger. Unlike other triggers // that invoke a subprogram in the bytecode, the code for RETURNING // is generated in-line. -func codeReturningTrigger(tls *libc.TLS, pParse uintptr, pTrigger uintptr, pTab uintptr, regIn int32) { /* sqlite3.c:142867:13: */ +func codeReturningTrigger(tls *libc.TLS, pParse uintptr, pTrigger uintptr, pTab uintptr, regIn int32) { /* sqlite3.c:142880:13: */ bp := tls.Alloc(304) defer tls.Free(304) @@ -125245,7 +125264,7 @@ func codeReturningTrigger(tls *libc.TLS, pParse uintptr, pTrigger uintptr, pTab // Generate VDBE code for the statements inside the body of a single // trigger. -func codeTriggerProgram(tls *libc.TLS, pParse uintptr, pStepList uintptr, orconf int32) int32 { /* sqlite3.c:142943:12: */ +func codeTriggerProgram(tls *libc.TLS, pParse uintptr, pStepList uintptr, orconf int32) int32 { /* sqlite3.c:142956:12: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -125332,7 +125351,7 @@ func codeTriggerProgram(tls *libc.TLS, pParse uintptr, pStepList uintptr, orconf // Parse context structure pFrom has just been used to create a sub-vdbe // (trigger program). If an error has occurred, transfer error information // from pFrom to pTo. -func transferParseError(tls *libc.TLS, pTo uintptr, pFrom uintptr) { /* sqlite3.c:143047:13: */ +func transferParseError(tls *libc.TLS, pTo uintptr, pFrom uintptr) { /* sqlite3.c:143060:13: */ if (*Parse)(unsafe.Pointer(pTo)).FnErr == 0 { (*Parse)(unsafe.Pointer(pTo)).FzErrMsg = (*Parse)(unsafe.Pointer(pFrom)).FzErrMsg @@ -125345,7 +125364,7 @@ func transferParseError(tls *libc.TLS, pTo uintptr, pFrom uintptr) { /* sqlite3. // Create and populate a new TriggerPrg object with a sub-program // implementing trigger pTrigger with ON CONFLICT policy orconf. -func codeRowTrigger(tls *libc.TLS, pParse uintptr, pTrigger uintptr, pTab uintptr, orconf int32) uintptr { /* sqlite3.c:143063:19: */ +func codeRowTrigger(tls *libc.TLS, pParse uintptr, pTrigger uintptr, pTab uintptr, orconf int32) uintptr { /* sqlite3.c:143076:19: */ bp := tls.Alloc(472) defer tls.Free(472) @@ -125451,7 +125470,7 @@ func codeRowTrigger(tls *libc.TLS, pParse uintptr, pTrigger uintptr, pTab uintpt // trigger pTrigger with default ON CONFLICT algorithm orconf. If no such // TriggerPrg object exists, a new object is allocated and populated before // being returned. -func getRowTrigger(tls *libc.TLS, pParse uintptr, pTrigger uintptr, pTab uintptr, orconf int32) uintptr { /* sqlite3.c:143177:19: */ +func getRowTrigger(tls *libc.TLS, pParse uintptr, pTrigger uintptr, pTab uintptr, orconf int32) uintptr { /* sqlite3.c:143190:19: */ var pRoot uintptr = func() uintptr { if (*Parse)(unsafe.Pointer(pParse)).FpToplevel != 0 { return (*Parse)(unsafe.Pointer(pParse)).FpToplevel @@ -125480,7 +125499,7 @@ func getRowTrigger(tls *libc.TLS, pParse uintptr, pTrigger uintptr, pTab uintptr // table pTab. The reg, orconf and ignoreJump parameters passed to this // function are the same as those described in the header function for // sqlite3CodeRowTrigger() -func Xsqlite3CodeRowTriggerDirect(tls *libc.TLS, pParse uintptr, p uintptr, pTab uintptr, reg int32, orconf int32, ignoreJump int32) { /* sqlite3.c:143212:21: */ +func Xsqlite3CodeRowTriggerDirect(tls *libc.TLS, pParse uintptr, p uintptr, pTab uintptr, reg int32, orconf int32, ignoreJump int32) { /* sqlite3.c:143225:21: */ var v uintptr = Xsqlite3GetVdbe(tls, pParse) // Main VM var pPrg uintptr pPrg = getRowTrigger(tls, pParse, p, pTab, orconf) @@ -125540,7 +125559,7 @@ func Xsqlite3CodeRowTriggerDirect(tls *libc.TLS, pParse uintptr, p uintptr, pTab // trigger program to use (REPLACE, IGNORE etc.). Parameter ignoreJump // is the instruction that control should jump to if a trigger program // raises an IGNORE exception. -func Xsqlite3CodeRowTrigger(tls *libc.TLS, pParse uintptr, pTrigger uintptr, op int32, pChanges uintptr, tr_tm int32, pTab uintptr, reg int32, orconf int32, ignoreJump int32) { /* sqlite3.c:143284:21: */ +func Xsqlite3CodeRowTrigger(tls *libc.TLS, pParse uintptr, pTrigger uintptr, op int32, pChanges uintptr, tr_tm int32, pTab uintptr, reg int32, orconf int32, ignoreJump int32) { /* sqlite3.c:143297:21: */ var p uintptr // Used to iterate through pTrigger list for p = pTrigger; p != 0; p = (*Trigger)(unsafe.Pointer(p)).FpNext { @@ -125588,7 +125607,7 @@ func Xsqlite3CodeRowTrigger(tls *libc.TLS, pParse uintptr, pTrigger uintptr, op // included in the returned mask if the TRIGGER_BEFORE bit is set in the // tr_tm parameter. Similarly, values accessed by AFTER triggers are only // included in the returned mask if the TRIGGER_AFTER bit is set in tr_tm. -func Xsqlite3TriggerColmask(tls *libc.TLS, pParse uintptr, pTrigger uintptr, pChanges uintptr, isNew int32, tr_tm int32, pTab uintptr, orconf int32) U32 { /* sqlite3.c:143354:20: */ +func Xsqlite3TriggerColmask(tls *libc.TLS, pParse uintptr, pTrigger uintptr, pChanges uintptr, isNew int32, tr_tm int32, pTab uintptr, orconf int32) U32 { /* sqlite3.c:143367:20: */ var op int32 if pChanges != 0 { op = TK_UPDATE @@ -125645,7 +125664,7 @@ func Xsqlite3TriggerColmask(tls *libc.TLS, pParse uintptr, pTrigger uintptr, pCh // (not a virtual table) then the value might have been stored as an // integer. In that case, add an OP_RealAffinity opcode to make sure // it has been converted into REAL. -func Xsqlite3ColumnDefault(tls *libc.TLS, v uintptr, pTab uintptr, i int32, iReg int32) { /* sqlite3.c:143452:21: */ +func Xsqlite3ColumnDefault(tls *libc.TLS, v uintptr, pTab uintptr, i int32, iReg int32) { /* sqlite3.c:143465:21: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -125675,7 +125694,7 @@ func Xsqlite3ColumnDefault(tls *libc.TLS, v uintptr, pTab uintptr, i int32, iReg // aXRef[j] will be non-negative if column j of the original table is // being updated. chngRowid will be true if the rowid of the table is // being updated. -func indexColumnIsBeingUpdated(tls *libc.TLS, pIdx uintptr, iCol int32, aXRef uintptr, chngRowid int32) int32 { /* sqlite3.c:143485:12: */ +func indexColumnIsBeingUpdated(tls *libc.TLS, pIdx uintptr, iCol int32, aXRef uintptr, chngRowid int32) int32 { /* sqlite3.c:143498:12: */ var iIdxCol I16 = *(*I16)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FaiColumn + uintptr(iCol)*2)) // Cannot index rowid if int32(iIdxCol) >= 0 { @@ -125696,7 +125715,7 @@ func indexColumnIsBeingUpdated(tls *libc.TLS, pIdx uintptr, iCol int32, aXRef ui // aXRef[j] will be non-negative if column j of the original table is // being updated. chngRowid will be true if the rowid of the table is // being updated. -func indexWhereClauseMightChange(tls *libc.TLS, pIdx uintptr, aXRef uintptr, chngRowid int32) int32 { /* sqlite3.c:143515:12: */ +func indexWhereClauseMightChange(tls *libc.TLS, pIdx uintptr, aXRef uintptr, chngRowid int32) int32 { /* sqlite3.c:143528:12: */ if (*Index)(unsafe.Pointer(pIdx)).FpPartIdxWhere == uintptr(0) { return 0 } @@ -125708,7 +125727,7 @@ func indexWhereClauseMightChange(tls *libc.TLS, pIdx uintptr, aXRef uintptr, chn // Expr.iColumn set to value (iCol+1). The resolver will modify the // expression to be a TK_COLUMN reading column iCol of the first // table in the source-list (pSrc->a[0]). -func exprRowColumn(tls *libc.TLS, pParse uintptr, iCol int32) uintptr { /* sqlite3.c:143531:13: */ +func exprRowColumn(tls *libc.TLS, pParse uintptr, iCol int32) uintptr { /* sqlite3.c:143544:13: */ var pRet uintptr = Xsqlite3PExpr(tls, pParse, TK_ROW, uintptr(0), uintptr(0)) if pRet != 0 { (*Expr)(unsafe.Pointer(pRet)).FiColumn = YnVar(iCol + 1) @@ -125752,7 +125771,7 @@ func exprRowColumn(tls *libc.TLS, pParse uintptr, iCol int32) uintptr { /* sqlit // records with automatically assigned integer keys For intkey tables, the // rowid value in is used as the integer key, and the // remaining fields make up the table record. -func updateFromSelect(tls *libc.TLS, pParse uintptr, iEph int32, pPk uintptr, pChanges uintptr, pTabList uintptr, pWhere uintptr, pOrderBy uintptr, pLimit uintptr) { /* sqlite3.c:143575:13: */ +func updateFromSelect(tls *libc.TLS, pParse uintptr, iEph int32, pPk uintptr, pChanges uintptr, pTabList uintptr, pWhere uintptr, pOrderBy uintptr, pLimit uintptr) { /* sqlite3.c:143588:13: */ bp := tls.Alloc(40) defer tls.Free(40) @@ -125835,7 +125854,7 @@ func updateFromSelect(tls *libc.TLS, pParse uintptr, iEph int32, pPk uintptr, pC // onError | pChanges | pWhere // \_______________________/ // pTabList -func Xsqlite3Update(tls *libc.TLS, pParse uintptr, pTabList uintptr, pChanges uintptr, pWhere uintptr, onError int32, pOrderBy uintptr, pLimit uintptr, pUpsert uintptr) { /* sqlite3.c:143672:21: */ +func Xsqlite3Update(tls *libc.TLS, pParse uintptr, pTabList uintptr, pChanges uintptr, pWhere uintptr, onError int32, pOrderBy uintptr, pLimit uintptr, pUpsert uintptr) { /* sqlite3.c:143685:21: */ bp := tls.Alloc(108) defer tls.Free(108) @@ -127225,7 +127244,7 @@ update_cleanup: // The "onepass" strategy does not use an ephemeral table. Instead, it // stores the same values (A, B and C above) in a register array and // makes a single invocation of VUpdate. -func updateVirtualTable(tls *libc.TLS, pParse uintptr, pSrc uintptr, pTab uintptr, pChanges uintptr, pRowid uintptr, aXRef uintptr, pWhere uintptr, onError int32) { /* sqlite3.c:144564:13: */ +func updateVirtualTable(tls *libc.TLS, pParse uintptr, pSrc uintptr, pTab uintptr, pChanges uintptr, pRowid uintptr, aXRef uintptr, pWhere uintptr, onError int32) { /* sqlite3.c:144577:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -127398,7 +127417,7 @@ func updateVirtualTable(tls *libc.TLS, pParse uintptr, pSrc uintptr, pTab uintpt // #include "sqliteInt.h" // Free a list of Upsert objects -func upsertDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:144752:29: */ +func upsertDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:144765:29: */ for __ccgo := true; __ccgo; __ccgo = p != 0 { var pNext uintptr = (*Upsert)(unsafe.Pointer(p)).FpNextUpsert Xsqlite3ExprListDelete(tls, db, (*Upsert)(unsafe.Pointer(p)).FpUpsertTarget) @@ -127411,14 +127430,14 @@ func upsertDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:144752:29 } } -func Xsqlite3UpsertDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:144764:21: */ +func Xsqlite3UpsertDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:144777:21: */ if p != 0 { upsertDelete(tls, db, p) } } // Duplicate an Upsert object. -func Xsqlite3UpsertDup(tls *libc.TLS, db uintptr, p uintptr) uintptr { /* sqlite3.c:144772:23: */ +func Xsqlite3UpsertDup(tls *libc.TLS, db uintptr, p uintptr) uintptr { /* sqlite3.c:144785:23: */ if p == uintptr(0) { return uintptr(0) } @@ -127431,7 +127450,7 @@ func Xsqlite3UpsertDup(tls *libc.TLS, db uintptr, p uintptr) uintptr { /* sqlite } // Create a new Upsert object. -func Xsqlite3UpsertNew(tls *libc.TLS, db uintptr, pTarget uintptr, pTargetWhere uintptr, pSet uintptr, pWhere uintptr, pNext uintptr) uintptr { /* sqlite3.c:144786:23: */ +func Xsqlite3UpsertNew(tls *libc.TLS, db uintptr, pTarget uintptr, pTargetWhere uintptr, pSet uintptr, pWhere uintptr, pNext uintptr) uintptr { /* sqlite3.c:144799:23: */ var pNew uintptr pNew = Xsqlite3DbMallocZero(tls, db, uint64(unsafe.Sizeof(Upsert{}))) if pNew == uintptr(0) { @@ -127457,7 +127476,7 @@ func Xsqlite3UpsertNew(tls *libc.TLS, db uintptr, pTarget uintptr, pTargetWhere // // Return SQLITE_OK if everything works, or an error code is something // is wrong. -func Xsqlite3UpsertAnalyzeTarget(tls *libc.TLS, pParse uintptr, pTabList uintptr, pUpsert uintptr) int32 { /* sqlite3.c:144821:20: */ +func Xsqlite3UpsertAnalyzeTarget(tls *libc.TLS, pParse uintptr, pTabList uintptr, pUpsert uintptr) int32 { /* sqlite3.c:144834:20: */ bp := tls.Alloc(232) defer tls.Free(232) @@ -127599,7 +127618,7 @@ __3: // Return true if pUpsert is the last ON CONFLICT clause with a // conflict target, or if pUpsert is followed by another ON CONFLICT // clause that targets the INTEGER PRIMARY KEY. -func Xsqlite3UpsertNextIsIPK(tls *libc.TLS, pUpsert uintptr) int32 { /* sqlite3.c:144948:20: */ +func Xsqlite3UpsertNextIsIPK(tls *libc.TLS, pUpsert uintptr) int32 { /* sqlite3.c:144961:20: */ var pNext uintptr if pUpsert == uintptr(0) { return 0 @@ -127621,7 +127640,7 @@ func Xsqlite3UpsertNextIsIPK(tls *libc.TLS, pUpsert uintptr) int32 { /* sqlite3. // a particular index pIdx, return a pointer to the particular ON CONFLICT // clause that applies to the index. Or, if the index is not subject to // any ON CONFLICT clause, return NULL. -func Xsqlite3UpsertOfIndex(tls *libc.TLS, pUpsert uintptr, pIdx uintptr) uintptr { /* sqlite3.c:144964:23: */ +func Xsqlite3UpsertOfIndex(tls *libc.TLS, pUpsert uintptr, pIdx uintptr) uintptr { /* sqlite3.c:144977:23: */ for pUpsert != 0 && (*Upsert)(unsafe.Pointer(pUpsert)).FpUpsertTarget != uintptr(0) && (*Upsert)(unsafe.Pointer(pUpsert)).FpUpsertIdx != pIdx { @@ -127637,7 +127656,7 @@ func Xsqlite3UpsertOfIndex(tls *libc.TLS, pUpsert uintptr, pIdx uintptr) uintptr // currently points to the conflicting table row. Otherwise, if pIdx // is not NULL, then pIdx is the constraint that failed and iCur is a // cursor points to the conflicting row. -func Xsqlite3UpsertDoUpdate(tls *libc.TLS, pParse uintptr, pUpsert uintptr, pTab uintptr, pIdx uintptr, iCur int32) { /* sqlite3.c:144984:21: */ +func Xsqlite3UpsertDoUpdate(tls *libc.TLS, pParse uintptr, pUpsert uintptr, pTab uintptr, pIdx uintptr, iCur int32) { /* sqlite3.c:144997:21: */ var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb var pSrc uintptr // FROM clause for the UPDATE @@ -127717,7 +127736,7 @@ func Xsqlite3UpsertDoUpdate(tls *libc.TLS, pParse uintptr, pUpsert uintptr, pTab // // The execSqlF() routine does the same thing, except it accepts // a format string as its third argument -func execSql(tls *libc.TLS, db uintptr, pzErrMsg uintptr, zSql uintptr) int32 { /* sqlite3.c:145081:12: */ +func execSql(tls *libc.TLS, db uintptr, pzErrMsg uintptr, zSql uintptr) int32 { /* sqlite3.c:145094:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -127757,7 +127776,7 @@ func execSql(tls *libc.TLS, db uintptr, pzErrMsg uintptr, zSql uintptr) int32 { return rc } -func execSqlF(tls *libc.TLS, db uintptr, pzErrMsg uintptr, zSql uintptr, va uintptr) int32 { /* sqlite3.c:145111:12: */ +func execSqlF(tls *libc.TLS, db uintptr, pzErrMsg uintptr, zSql uintptr, va uintptr) int32 { /* sqlite3.c:145124:12: */ var z uintptr var ap Va_list _ = ap @@ -127801,7 +127820,7 @@ func execSqlF(tls *libc.TLS, db uintptr, pzErrMsg uintptr, zSql uintptr, va uint // And a power loss in between deleting the original and renaming the // transient would cause the database file to appear to be deleted // following reboot. -func Xsqlite3Vacuum(tls *libc.TLS, pParse uintptr, pNm uintptr, pInto uintptr) { /* sqlite3.c:145154:21: */ +func Xsqlite3Vacuum(tls *libc.TLS, pParse uintptr, pNm uintptr, pInto uintptr) { /* sqlite3.c:145167:21: */ bp := tls.Alloc(8) defer tls.Free(8) *(*uintptr)(unsafe.Pointer(bp)) = pNm @@ -127858,7 +127877,7 @@ build_vacuum_end: } // This routine implements the OP_Vacuum opcode of the VDBE. -func Xsqlite3RunVacuum(tls *libc.TLS, pzErrMsg uintptr, db uintptr, iDb int32, pOut uintptr) int32 { /* sqlite3.c:145192:36: */ +func Xsqlite3RunVacuum(tls *libc.TLS, pzErrMsg uintptr, db uintptr, iDb int32, pOut uintptr) int32 { /* sqlite3.c:145205:36: */ bp := tls.Alloc(52) defer tls.Free(52) @@ -128196,7 +128215,7 @@ var aCopy = [10]uint8{ uint8(BTREE_TEXT_ENCODING), uint8(0), // Preserve the text encoding uint8(BTREE_USER_VERSION), uint8(0), // Preserve the user version uint8(BTREE_APPLICATION_ID), uint8(0), // Preserve the application id -} /* sqlite3.c:145385:32 */ +} /* sqlite3.c:145398:32 */ // Construct and install a Module object for a virtual table. When this // routine is called, it is guaranteed that all appropriate locks are held @@ -128204,7 +128223,7 @@ var aCopy = [10]uint8{ // // 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 Xsqlite3VtabCreateModule(tls *libc.TLS, db uintptr, zName uintptr, pModule uintptr, pAux uintptr, xDestroy uintptr) uintptr { /* sqlite3.c:145497:23: */ +func Xsqlite3VtabCreateModule(tls *libc.TLS, db uintptr, zName uintptr, pModule uintptr, pAux uintptr, xDestroy uintptr) uintptr { /* sqlite3.c:145510:23: */ var pMod uintptr var pDel uintptr var zCopy uintptr @@ -128244,7 +128263,7 @@ func Xsqlite3VtabCreateModule(tls *libc.TLS, db uintptr, zName uintptr, pModule // The actual function that does the work of creating a new module. // 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) int32 { /* sqlite3.c:145545:12: */ +func createModule(tls *libc.TLS, db uintptr, zName uintptr, pModule uintptr, pAux uintptr, xDestroy uintptr) int32 { /* sqlite3.c:145558:12: */ var rc int32 = SQLITE_OK Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) @@ -128258,18 +128277,18 @@ func createModule(tls *libc.TLS, db uintptr, zName uintptr, pModule uintptr, pAu } // External API function used to create a new virtual-table module. -func Xsqlite3_create_module(tls *libc.TLS, db uintptr, zName uintptr, pModule uintptr, pAux uintptr) int32 { /* sqlite3.c:145566:16: */ +func Xsqlite3_create_module(tls *libc.TLS, db uintptr, zName uintptr, pModule uintptr, pAux uintptr) int32 { /* sqlite3.c:145579:16: */ return createModule(tls, db, zName, pModule, pAux, uintptr(0)) } // 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) int32 { /* sqlite3.c:145581:16: */ +func Xsqlite3_create_module_v2(tls *libc.TLS, db uintptr, zName uintptr, pModule uintptr, pAux uintptr, xDestroy uintptr) int32 { /* sqlite3.c:145594:16: */ return createModule(tls, db, zName, pModule, pAux, xDestroy) } // External API to drop all virtual-table modules, except those named // on the azNames list. -func Xsqlite3_drop_modules(tls *libc.TLS, db uintptr, azNames uintptr) int32 { /* sqlite3.c:145598:16: */ +func Xsqlite3_drop_modules(tls *libc.TLS, db uintptr, azNames uintptr) int32 { /* sqlite3.c:145611:16: */ var pThis uintptr var pNext uintptr for pThis = (*Hash)(unsafe.Pointer(db + 568)).Ffirst; pThis != 0; pThis = pNext { @@ -128290,7 +128309,7 @@ func Xsqlite3_drop_modules(tls *libc.TLS, db uintptr, azNames uintptr) int32 { / // Decrement the reference count on a Module object. Destroy the // module when the reference count reaches zero. -func Xsqlite3VtabModuleUnref(tls *libc.TLS, db uintptr, pMod uintptr) { /* sqlite3.c:145620:21: */ +func Xsqlite3VtabModuleUnref(tls *libc.TLS, db uintptr, pMod uintptr) { /* sqlite3.c:145633:21: */ (*Module)(unsafe.Pointer(pMod)).FnRefModule-- if (*Module)(unsafe.Pointer(pMod)).FnRefModule == 0 { @@ -128308,14 +128327,14 @@ func Xsqlite3VtabModuleUnref(tls *libc.TLS, db uintptr, pMod uintptr) { /* sqlit // // If a disconnect is attempted while a virtual table is locked, // the disconnect is deferred until all locks have been removed. -func Xsqlite3VtabLock(tls *libc.TLS, pVTab uintptr) { /* sqlite3.c:145640:21: */ +func Xsqlite3VtabLock(tls *libc.TLS, pVTab uintptr) { /* sqlite3.c:145653:21: */ (*VTable)(unsafe.Pointer(pVTab)).FnRef++ } // pTab is a pointer to a Table structure representing a virtual-table. // Return a pointer to the VTable object used by connection db to access // this virtual-table, if one has been created, or NULL otherwise. -func Xsqlite3GetVTable(tls *libc.TLS, db uintptr, pTab uintptr) uintptr { /* sqlite3.c:145650:23: */ +func Xsqlite3GetVTable(tls *libc.TLS, db uintptr, pTab uintptr) uintptr { /* sqlite3.c:145663:23: */ var pVtab uintptr for pVtab = *(*uintptr)(unsafe.Pointer(pTab + 64 + 16 /* &.p */)); pVtab != 0 && (*VTable)(unsafe.Pointer(pVtab)).Fdb != db; pVtab = (*VTable)(unsafe.Pointer(pVtab)).FpNext { @@ -128325,7 +128344,7 @@ func Xsqlite3GetVTable(tls *libc.TLS, db uintptr, pTab uintptr) uintptr { /* sql // Decrement the ref-count on a virtual table object. When the ref-count // reaches zero, call the xDisconnect() method to delete the object. -func Xsqlite3VtabUnlock(tls *libc.TLS, pVTab uintptr) { /* sqlite3.c:145661:21: */ +func Xsqlite3VtabUnlock(tls *libc.TLS, pVTab uintptr) { /* sqlite3.c:145674:21: */ var db uintptr = (*VTable)(unsafe.Pointer(pVTab)).Fdb (*VTable)(unsafe.Pointer(pVTab)).FnRef-- @@ -128346,7 +128365,7 @@ func Xsqlite3VtabUnlock(tls *libc.TLS, pVTab uintptr) { /* sqlite3.c:145661:21: // database connections to be disconnected at the next opportunity. // Except, if argument db is not NULL, then the entry associated with // connection db is left in the p->u.vtab.p list. -func vtabDisconnectAll(tls *libc.TLS, db uintptr, p uintptr) uintptr { /* sqlite3.c:145687:15: */ +func vtabDisconnectAll(tls *libc.TLS, db uintptr, p uintptr) uintptr { /* sqlite3.c:145700:15: */ var pRet uintptr = uintptr(0) var pVTable uintptr @@ -128383,7 +128402,7 @@ func vtabDisconnectAll(tls *libc.TLS, db uintptr, p uintptr) uintptr { /* sqlite // used when closing database connection db to free all of its VTable // objects without disturbing the rest of the Schema object (which may // be being used by other shared-cache connections). -func Xsqlite3VtabDisconnect(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:145730:21: */ +func Xsqlite3VtabDisconnect(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:145743:21: */ var ppVTab uintptr for ppVTab = p + 64 + 16; *(*uintptr)(unsafe.Pointer(ppVTab)) != 0; ppVTab = *(*uintptr)(unsafe.Pointer(ppVTab)) + 40 { @@ -128414,7 +128433,7 @@ func Xsqlite3VtabDisconnect(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c // // As a result, a sqlite3.pDisconnect cannot be accessed simultaneously // by multiple threads. It is thread-safe. -func Xsqlite3VtabUnlockList(tls *libc.TLS, db uintptr) { /* sqlite3.c:145768:21: */ +func Xsqlite3VtabUnlockList(tls *libc.TLS, db uintptr) { /* sqlite3.c:145781:21: */ var p uintptr = (*Sqlite3)(unsafe.Pointer(db)).FpDisconnect if p != 0 { @@ -128440,7 +128459,7 @@ func Xsqlite3VtabUnlockList(tls *libc.TLS, db uintptr) { /* sqlite3.c:145768:21: // structure being xDisconnected and free). Any other VTable structures // in the list are moved to the sqlite3.pDisconnect list of the associated // database connection. -func Xsqlite3VtabClear(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:145799:21: */ +func Xsqlite3VtabClear(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:145812:21: */ if !(db != 0) || (*Sqlite3)(unsafe.Pointer(db)).FpnBytesFreed == uintptr(0) { vtabDisconnectAll(tls, uintptr(0), p) @@ -128460,7 +128479,7 @@ func Xsqlite3VtabClear(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:1457 // The string is not copied - the pointer is stored. The // string will be freed automatically when the table is // deleted. -func addModuleArgument(tls *libc.TLS, pParse uintptr, pTable uintptr, zArg uintptr) { /* sqlite3.c:145817:13: */ +func addModuleArgument(tls *libc.TLS, pParse uintptr, pTable uintptr, zArg uintptr) { /* sqlite3.c:145830:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -128486,7 +128505,7 @@ func addModuleArgument(tls *libc.TLS, pParse uintptr, pTable uintptr, zArg uintp // The parser calls this routine when it first sees a CREATE VIRTUAL TABLE // statement. The module name has been parsed, but the optional list // of parameters that follow the module name are still pending. -func Xsqlite3VtabBeginParse(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 uintptr, pModuleName uintptr, ifNotExists int32) { /* sqlite3.c:145843:21: */ +func Xsqlite3VtabBeginParse(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 uintptr, pModuleName uintptr, ifNotExists int32) { /* sqlite3.c:145856:21: */ var pTable uintptr // The new virtual table var db uintptr // Database connection @@ -128521,7 +128540,7 @@ func Xsqlite3VtabBeginParse(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName // This routine takes the module argument that has been accumulating // in pParse->zArg[] and appends it to the list of arguments on the // virtual table currently under construction in pParse->pTable. -func addArgumentToVtab(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:145892:13: */ +func addArgumentToVtab(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:145905:13: */ if (*Parse)(unsafe.Pointer(pParse)).FsArg.Fz != 0 && (*Parse)(unsafe.Pointer(pParse)).FpNewTable != 0 { var z uintptr = (*Parse)(unsafe.Pointer(pParse)).FsArg.Fz var n int32 = int32((*Parse)(unsafe.Pointer(pParse)).FsArg.Fn) @@ -128532,7 +128551,7 @@ func addArgumentToVtab(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:145892:13: // The parser calls this routine after the CREATE VIRTUAL TABLE statement // has been completely parsed. -func Xsqlite3VtabFinishParse(tls *libc.TLS, pParse uintptr, pEnd uintptr) { /* sqlite3.c:145905:21: */ +func Xsqlite3VtabFinishParse(tls *libc.TLS, pParse uintptr, pEnd uintptr) { /* sqlite3.c:145918:21: */ bp := tls.Alloc(64) defer tls.Free(64) @@ -128616,7 +128635,7 @@ func Xsqlite3VtabFinishParse(tls *libc.TLS, pParse uintptr, pEnd uintptr) { /* s // The parser calls this routine when it sees the first token // of an argument to the module name in a CREATE VIRTUAL TABLE statement. -func Xsqlite3VtabArgInit(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:145988:21: */ +func Xsqlite3VtabArgInit(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:146001:21: */ addArgumentToVtab(tls, pParse) (*Parse)(unsafe.Pointer(pParse)).FsArg.Fz = uintptr(0) (*Parse)(unsafe.Pointer(pParse)).FsArg.Fn = uint32(0) @@ -128624,7 +128643,7 @@ func Xsqlite3VtabArgInit(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:145988:21 // The parser calls this routine for each token after the first token // in an argument to the module name in a CREATE VIRTUAL TABLE statement. -func Xsqlite3VtabArgExtend(tls *libc.TLS, pParse uintptr, p uintptr) { /* sqlite3.c:145998:21: */ +func Xsqlite3VtabArgExtend(tls *libc.TLS, pParse uintptr, p uintptr) { /* sqlite3.c:146011:21: */ var pArg uintptr = pParse + 368 if (*Token)(unsafe.Pointer(pArg)).Fz == uintptr(0) { (*Token)(unsafe.Pointer(pArg)).Fz = (*Token)(unsafe.Pointer(p)).Fz @@ -128638,7 +128657,7 @@ func Xsqlite3VtabArgExtend(tls *libc.TLS, pParse uintptr, p uintptr) { /* sqlite // Invoke a virtual table constructor (either xCreate or xConnect). The // 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) int32 { /* sqlite3.c:146014:12: */ +func vtabCallConstructor(tls *libc.TLS, db uintptr, pTab uintptr, pMod uintptr, xConstruct uintptr, pzErr uintptr) int32 { /* sqlite3.c:146027:12: */ bp := tls.Alloc(72) defer tls.Free(72) @@ -128774,7 +128793,7 @@ func vtabCallConstructor(tls *libc.TLS, db uintptr, pTab uintptr, pMod uintptr, // and an error left in pParse. // // This call is a no-op if table pTab is not a virtual table. -func Xsqlite3VtabCallConnect(tls *libc.TLS, pParse uintptr, pTab uintptr) int32 { /* sqlite3.c:146150:20: */ +func Xsqlite3VtabCallConnect(tls *libc.TLS, pParse uintptr, pTab uintptr) int32 { /* sqlite3.c:146163:20: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -128810,7 +128829,7 @@ func Xsqlite3VtabCallConnect(tls *libc.TLS, pParse uintptr, pTab uintptr) int32 // Grow the db->aVTrans[] array so that there is room for at least one // more v-table. Return SQLITE_NOMEM if a malloc fails, or SQLITE_OK otherwise. -func growVTrans(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:146186:12: */ +func growVTrans(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:146199:12: */ var ARRAY_INCR int32 = 5 // Grow the sqlite3.aVTrans array if required @@ -128830,7 +128849,7 @@ func growVTrans(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:146186:12: */ // Add the virtual table pVTab to the array sqlite3.aVTrans[]. Space should // have already been reserved using growVTrans(). -func addToVTrans(tls *libc.TLS, db uintptr, pVTab uintptr) { /* sqlite3.c:146209:13: */ +func addToVTrans(tls *libc.TLS, db uintptr, pVTab uintptr) { /* sqlite3.c:146222:13: */ // Add pVtab to the end of sqlite3.aVTrans *(*uintptr)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaVTrans + uintptr(libc.PostIncInt32(&(*Sqlite3)(unsafe.Pointer(db)).FnVTrans, 1))*8)) = pVTab Xsqlite3VtabLock(tls, pVTab) @@ -128842,7 +128861,7 @@ func addToVTrans(tls *libc.TLS, db uintptr, pVTab uintptr) { /* sqlite3.c:146209 // If an error occurs, *pzErr is set to point to an English language // description of the error and an SQLITE_XXX error code is returned. // In this case the caller must call sqlite3DbFree(db, ) on *pzErr. -func Xsqlite3VtabCallCreate(tls *libc.TLS, db uintptr, iDb int32, zTab uintptr, pzErr uintptr) int32 { /* sqlite3.c:146223:20: */ +func Xsqlite3VtabCallCreate(tls *libc.TLS, db uintptr, iDb int32, zTab uintptr, pzErr uintptr) int32 { /* sqlite3.c:146236:20: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -128882,7 +128901,7 @@ func Xsqlite3VtabCallCreate(tls *libc.TLS, db uintptr, iDb int32, zTab uintptr, // This function is used to set the schema of a virtual table. It is only // valid to call this function from within the xCreate() or xConnect() of a // virtual table module. -func Xsqlite3_declare_vtab(tls *libc.TLS, db uintptr, zCreateTable uintptr) int32 { /* sqlite3.c:146264:16: */ +func Xsqlite3_declare_vtab(tls *libc.TLS, db uintptr, zCreateTable uintptr) int32 { /* sqlite3.c:146277:16: */ bp := tls.Alloc(416) defer tls.Free(416) @@ -128898,12 +128917,13 @@ func Xsqlite3_declare_vtab(tls *libc.TLS, db uintptr, zCreateTable uintptr) int3 if !(pCtx != 0) || (*VtabCtx)(unsafe.Pointer(pCtx)).FbDeclared != 0 { Xsqlite3Error(tls, db, SQLITE_MISUSE) Xsqlite3_mutex_leave(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) - return Xsqlite3MisuseError(tls, 146281) + return Xsqlite3MisuseError(tls, 146294) } pTab = (*VtabCtx)(unsafe.Pointer(pCtx)).FpTab Xsqlite3ParseObjectInit(tls, bp+8, db) (*Parse)(unsafe.Pointer(bp + 8 /* &sParse */)).FeParseMode = U8(PARSE_MODE_DECLARE_VTAB) + (*Parse)(unsafe.Pointer(bp + 8 /* &sParse */)).FdisableTriggers = U8(1) // We should never be able to reach this point while loading the // schema. Nevertheless, defend against that (turn off db->init.busy) // in case a bug arises. @@ -128972,7 +128992,7 @@ func Xsqlite3_declare_vtab(tls *libc.TLS, db uintptr, zCreateTable uintptr) int3 // when a DROP TABLE is mentioned. // // This call is a no-op if zTab is not a virtual table. -func Xsqlite3VtabCallDestroy(tls *libc.TLS, db uintptr, iDb int32, zTab uintptr) int32 { /* sqlite3.c:146357:20: */ +func Xsqlite3VtabCallDestroy(tls *libc.TLS, db uintptr, iDb int32, zTab uintptr) int32 { /* sqlite3.c:146371:20: */ var rc int32 = SQLITE_OK var pTab uintptr @@ -129017,7 +129037,7 @@ func Xsqlite3VtabCallDestroy(tls *libc.TLS, db uintptr, iDb int32, zTab uintptr) // the offset of the method to call in the sqlite3_module structure. // // The array is cleared after invoking the callbacks. -func callFinaliser(tls *libc.TLS, db uintptr, offset int32) { /* sqlite3.c:146401:13: */ +func callFinaliser(tls *libc.TLS, db uintptr, offset int32) { /* sqlite3.c:146415:13: */ var i int32 if (*Sqlite3)(unsafe.Pointer(db)).FaVTrans != 0 { var aVTrans uintptr = (*Sqlite3)(unsafe.Pointer(db)).FaVTrans @@ -129047,7 +129067,7 @@ func callFinaliser(tls *libc.TLS, db uintptr, offset int32) { /* sqlite3.c:14640 // SQLITE_OK if all xSync operations are successful. // // If an error message is available, leave it in p->zErrMsg. -func Xsqlite3VtabSync(tls *libc.TLS, db uintptr, p uintptr) int32 { /* sqlite3.c:146429:20: */ +func Xsqlite3VtabSync(tls *libc.TLS, db uintptr, p uintptr) int32 { /* sqlite3.c:146443:20: */ var i int32 var rc int32 = SQLITE_OK var aVTrans uintptr = (*Sqlite3)(unsafe.Pointer(db)).FaVTrans @@ -129069,14 +129089,14 @@ func Xsqlite3VtabSync(tls *libc.TLS, db uintptr, p uintptr) int32 { /* sqlite3.c // Invoke the xRollback method of all virtual tables in the // sqlite3.aVTrans array. Then clear the array itself. -func Xsqlite3VtabRollback(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:146451:20: */ +func Xsqlite3VtabRollback(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:146465:20: */ callFinaliser(tls, db, int32(uintptr(0)+136)) return SQLITE_OK } // Invoke the xCommit method of all virtual tables in the // sqlite3.aVTrans array. Then clear the array itself. -func Xsqlite3VtabCommit(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:146460:20: */ +func Xsqlite3VtabCommit(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:146474:20: */ callFinaliser(tls, db, int32(uintptr(0)+128)) return SQLITE_OK } @@ -129087,7 +129107,7 @@ func Xsqlite3VtabCommit(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:146460:2 // // If the xBegin call is successful, place the sqlite3_vtab pointer // in the sqlite3.aVTrans array. -func Xsqlite3VtabBegin(tls *libc.TLS, db uintptr, pVTab uintptr) int32 { /* sqlite3.c:146473:20: */ +func Xsqlite3VtabBegin(tls *libc.TLS, db uintptr, pVTab uintptr) int32 { /* sqlite3.c:146487:20: */ var rc int32 = SQLITE_OK var pModule uintptr @@ -129148,7 +129168,7 @@ func Xsqlite3VtabBegin(tls *libc.TLS, db uintptr, pVTab uintptr) int32 { /* sqli // processing is abandoned and the error returned to the caller of this // function immediately. If all calls to virtual table methods are successful, // SQLITE_OK is returned. -func Xsqlite3VtabSavepoint(tls *libc.TLS, db uintptr, op int32, iSavepoint int32) int32 { /* sqlite3.c:146533:20: */ +func Xsqlite3VtabSavepoint(tls *libc.TLS, db uintptr, op int32, iSavepoint int32) int32 { /* sqlite3.c:146547:20: */ var rc int32 = SQLITE_OK if (*Sqlite3)(unsafe.Pointer(db)).FaVTrans != 0 { @@ -129196,7 +129216,7 @@ func Xsqlite3VtabSavepoint(tls *libc.TLS, db uintptr, op int32, iSavepoint int32 // Return either the pDef argument (indicating no change) or a // new FuncDef structure that is marked as ephemeral using the // SQLITE_FUNC_EPHEM flag. -func Xsqlite3VtabOverloadFunction(tls *libc.TLS, db uintptr, pDef uintptr, nArg int32, pExpr uintptr) uintptr { /* sqlite3.c:146581:24: */ +func Xsqlite3VtabOverloadFunction(tls *libc.TLS, db uintptr, pDef uintptr, nArg int32, pExpr uintptr) uintptr { /* sqlite3.c:146595:24: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -129263,7 +129283,7 @@ func Xsqlite3VtabOverloadFunction(tls *libc.TLS, db uintptr, pDef uintptr, nArg // array so that an OP_VBegin will get generated for it. Add pTab to the // array if it is missing. If pTab is already in the array, this routine // is a no-op. -func Xsqlite3VtabMakeWritable(tls *libc.TLS, pParse uintptr, pTab uintptr) { /* sqlite3.c:146651:21: */ +func Xsqlite3VtabMakeWritable(tls *libc.TLS, pParse uintptr, pTab uintptr) { /* sqlite3.c:146665:21: */ var pToplevel uintptr = func() uintptr { if (*Parse)(unsafe.Pointer(pParse)).FpToplevel != 0 { return (*Parse)(unsafe.Pointer(pParse)).FpToplevel @@ -129302,7 +129322,7 @@ func Xsqlite3VtabMakeWritable(tls *libc.TLS, pParse uintptr, pTab uintptr) { /* // // Any virtual table module for which xConnect and xCreate are the same // method can have an eponymous virtual table instance. -func Xsqlite3VtabEponymousTableInit(tls *libc.TLS, pParse uintptr, pMod uintptr) int32 { /* sqlite3.c:146685:20: */ +func Xsqlite3VtabEponymousTableInit(tls *libc.TLS, pParse uintptr, pMod uintptr) int32 { /* sqlite3.c:146699:20: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -129347,7 +129367,7 @@ func Xsqlite3VtabEponymousTableInit(tls *libc.TLS, pParse uintptr, pMod uintptr) // Erase the eponymous virtual table instance associated with // virtual table module pMod, if it exists. -func Xsqlite3VtabEponymousTableClear(tls *libc.TLS, db uintptr, pMod uintptr) { /* sqlite3.c:146723:21: */ +func Xsqlite3VtabEponymousTableClear(tls *libc.TLS, db uintptr, pMod uintptr) { /* sqlite3.c:146737:21: */ var pTab uintptr = (*Module)(unsafe.Pointer(pMod)).FpEpoTab if pTab != uintptr(0) { // Mark the table as Ephemeral prior to deleting it, so that the @@ -129364,19 +129384,19 @@ func Xsqlite3VtabEponymousTableClear(tls *libc.TLS, db uintptr, pMod uintptr) { // // The results of this routine are undefined unless it is called from // within an xUpdate method. -func Xsqlite3_vtab_on_conflict(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:146742:16: */ +func Xsqlite3_vtab_on_conflict(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:146756:16: */ return int32(aMap[int32((*Sqlite3)(unsafe.Pointer(db)).FvtabOnConflict)-1]) } var aMap = [5]uint8{ uint8(SQLITE_ROLLBACK), uint8(SQLITE_ABORT), uint8(SQLITE_FAIL), uint8(SQLITE_IGNORE), uint8(SQLITE_REPLACE), -} /* sqlite3.c:146743:30 */ +} /* sqlite3.c:146757:30 */ // Call from within the xCreate() or xConnect() methods to provide // the SQLite core with additional information about the behavior // of the virtual table being implemented. -func Xsqlite3_vtab_config(tls *libc.TLS, db uintptr, op int32, va uintptr) int32 { /* sqlite3.c:146760:16: */ +func Xsqlite3_vtab_config(tls *libc.TLS, db uintptr, op int32, va uintptr) int32 { /* sqlite3.c:146774:16: */ var ap Va_list _ = ap var rc int32 = SQLITE_OK @@ -129385,7 +129405,7 @@ func Xsqlite3_vtab_config(tls *libc.TLS, db uintptr, op int32, va uintptr) int32 Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) p = (*Sqlite3)(unsafe.Pointer(db)).FpVtabCtx if !(p != 0) { - rc = Xsqlite3MisuseError(tls, 146771) + rc = Xsqlite3MisuseError(tls, 146785) } else { ap = va @@ -129413,7 +129433,7 @@ func Xsqlite3_vtab_config(tls *libc.TLS, db uintptr, op int32, va uintptr) int32 fallthrough default: { - rc = Xsqlite3MisuseError(tls, 146789) + rc = Xsqlite3MisuseError(tls, 146803) break } @@ -129517,23 +129537,23 @@ type WhereClause1 = struct { // a separate source file for easier editing. // Forward references -type WhereClause = WhereClause1 /* sqlite3.c:146849:28 */ +type WhereClause = WhereClause1 /* sqlite3.c:146863:28 */ type WhereMaskSet1 = struct { FbVarSelect int32 Fn int32 Fix [64]int32 } /* sqlite3.c:14626:9 */ -type WhereMaskSet = WhereMaskSet1 /* sqlite3.c:146850:29 */ +type WhereMaskSet = WhereMaskSet1 /* sqlite3.c:146864:29 */ type WhereOrInfo1 = struct { Fwc WhereClause Findexable Bitmask -} /* sqlite3.c:146851:9 */ +} /* sqlite3.c:146865:9 */ -type WhereOrInfo = WhereOrInfo1 /* sqlite3.c:146851:28 */ -type WhereAndInfo1 = struct{ Fwc WhereClause } /* sqlite3.c:146852:9 */ +type WhereOrInfo = WhereOrInfo1 /* sqlite3.c:146865:28 */ +type WhereAndInfo1 = struct{ Fwc WhereClause } /* sqlite3.c:146866:9 */ -type WhereAndInfo = WhereAndInfo1 /* sqlite3.c:146852:29 */ +type WhereAndInfo = WhereAndInfo1 /* sqlite3.c:146866:29 */ type WhereLevel1 = struct { FiLeftJoin int32 FiTabCur int32 @@ -129565,7 +129585,7 @@ type WhereLevel1 = struct { FnotReady Bitmask } /* sqlite3.c:14626:9 */ -type WhereLevel = WhereLevel1 /* sqlite3.c:146853:27 */ +type WhereLevel = WhereLevel1 /* sqlite3.c:146867:27 */ type WhereLoop1 = struct { Fprereq Bitmask FmaskSelf Bitmask @@ -129594,7 +129614,7 @@ type WhereLoop1 = struct { FaLTermSpace [3]uintptr } /* sqlite3.c:14626:9 */ -type WhereLoop = WhereLoop1 /* sqlite3.c:146854:26 */ +type WhereLoop = WhereLoop1 /* sqlite3.c:146868:26 */ type WherePath1 = struct { FmaskLoop Bitmask FrevLoop Bitmask @@ -129604,9 +129624,9 @@ type WherePath1 = struct { FisOrdered I8 F__ccgo_pad1 [1]byte FaLoop uintptr -} /* sqlite3.c:146855:9 */ +} /* sqlite3.c:146869:9 */ -type WherePath = WherePath1 /* sqlite3.c:146855:26 */ +type WherePath = WherePath1 /* sqlite3.c:146869:26 */ type WhereTerm1 = struct { FpExpr uintptr FpWC uintptr @@ -129628,7 +129648,7 @@ type WhereTerm1 = struct { FprereqAll Bitmask } /* sqlite3.c:14626:9 */ -type WhereTerm = WhereTerm1 /* sqlite3.c:146856:26 */ +type WhereTerm = WhereTerm1 /* sqlite3.c:146870:26 */ type WhereLoopBuilder1 = struct { FpWInfo uintptr FpWC uintptr @@ -129641,9 +129661,9 @@ type WhereLoopBuilder1 = struct { F__ccgo_pad1 [2]byte FiPlanLimit uint32 F__ccgo_pad2 [4]byte -} /* sqlite3.c:146857:9 */ +} /* sqlite3.c:146871:9 */ -type WhereLoopBuilder = WhereLoopBuilder1 /* sqlite3.c:146857:33 */ +type WhereLoopBuilder = WhereLoopBuilder1 /* sqlite3.c:146871:33 */ type WhereScan1 = struct { FpOrigWC uintptr FpWC uintptr @@ -129658,24 +129678,24 @@ type WhereScan1 = struct { FaiCur [11]int32 FaiColumn [11]I16 F__ccgo_pad2 [2]byte -} /* sqlite3.c:146858:9 */ +} /* sqlite3.c:146872:9 */ -type WhereScan = WhereScan1 /* sqlite3.c:146858:26 */ +type WhereScan = WhereScan1 /* sqlite3.c:146872:26 */ type WhereOrCost1 = struct { Fprereq Bitmask FrRun LogEst FnOut LogEst F__ccgo_pad1 [4]byte -} /* sqlite3.c:146857:9 */ +} /* sqlite3.c:146871:9 */ -type WhereOrCost = WhereOrCost1 /* sqlite3.c:146859:28 */ +type WhereOrCost = WhereOrCost1 /* sqlite3.c:146873:28 */ type WhereOrSet1 = struct { Fn U16 F__ccgo_pad1 [6]byte Fa [3]WhereOrCost -} /* sqlite3.c:146857:9 */ +} /* sqlite3.c:146871:9 */ -type WhereOrSet = WhereOrSet1 /* sqlite3.c:146860:27 */ +type WhereOrSet = WhereOrSet1 /* sqlite3.c:146874:27 */ // This object contains information needed to implement a single nested // loop in WHERE clause. @@ -129697,7 +129717,7 @@ type InLoop = struct { FnPrefix int32 FeEndLoopOp U8 F__ccgo_pad1 [3]byte -} /* sqlite3.c:146900:7 */ +} /* sqlite3.c:146914:7 */ // Allowed values for WhereLoopBuider.bldFlags @@ -129745,7 +129765,7 @@ type WhereExprMod1 = struct { // of an index rather than an expression or a virtual column. All // such transformations need to be undone at the end of WHERE clause // processing. -type WhereExprMod = WhereExprMod1 /* sqlite3.c:147262:29 */ +type WhereExprMod = WhereExprMod1 /* sqlite3.c:147276:29 */ // Bitmasks for the operators on WhereTerm objects. These are all // operators that are of interest to the query planner. An @@ -129767,7 +129787,7 @@ type WhereExprMod = WhereExprMod1 /* sqlite3.c:147262:29 */ //************* Continuing where we left off in wherecode.c ***************** // Return the name of the i-th column of the pIdx index. -func explainIndexColumnName(tls *libc.TLS, pIdx uintptr, i int32) uintptr { /* sqlite3.c:147456:19: */ +func explainIndexColumnName(tls *libc.TLS, pIdx uintptr, i int32) uintptr { /* sqlite3.c:147470:19: */ i = int32(*(*I16)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FaiColumn + uintptr(i)*2))) if i == -2 { return ts + 21374 /* "" */ @@ -129784,7 +129804,7 @@ func explainIndexColumnName(tls *libc.TLS, pIdx uintptr, i int32) uintptr { /* s // at a time. This routine adds a new term to the end of the expression. // Terms are separated by AND so add the "AND" text for second and subsequent // terms only. -func explainAppendTerm(tls *libc.TLS, pStr uintptr, pIdx uintptr, nTerm int32, iTerm int32, bAnd int32, zOp uintptr) { /* sqlite3.c:147471:13: */ +func explainAppendTerm(tls *libc.TLS, pStr uintptr, pIdx uintptr, nTerm int32, iTerm int32, bAnd int32, zOp uintptr) { /* sqlite3.c:147485:13: */ var i int32 if bAnd != 0 { @@ -129832,7 +129852,7 @@ func explainAppendTerm(tls *libc.TLS, pStr uintptr, pIdx uintptr, nTerm int32, i // string similar to: // // "a=? AND b>?" -func explainIndexRange(tls *libc.TLS, pStr uintptr, pLoop uintptr) { /* sqlite3.c:147515:13: */ +func explainIndexRange(tls *libc.TLS, pStr uintptr, pLoop uintptr) { /* sqlite3.c:147529:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -129877,7 +129897,7 @@ func explainIndexRange(tls *libc.TLS, pStr uintptr, pLoop uintptr) { /* sqlite3. // // If an OP_Explain opcode is added to the VM, its address is returned. // Otherwise, if no OP_Explain is coded, zero is returned. -func Xsqlite3WhereExplainOneScan(tls *libc.TLS, pParse uintptr, pTabList uintptr, pLevel uintptr, wctrlFlags U16) int32 { /* sqlite3.c:147549:20: */ +func Xsqlite3WhereExplainOneScan(tls *libc.TLS, pParse uintptr, pTabList uintptr, pLevel uintptr, wctrlFlags U16) int32 { /* sqlite3.c:147563:20: */ bp := tls.Alloc(196) defer tls.Free(196) @@ -129978,7 +129998,7 @@ func Xsqlite3WhereExplainOneScan(tls *libc.TLS, pParse uintptr, pTabList uintptr // // If an OP_Explain opcode is added to the VM, its address is returned. // Otherwise, if no OP_Explain is coded, zero is returned. -func Xsqlite3WhereExplainBloomFilter(tls *libc.TLS, pParse uintptr, pWInfo uintptr, pLevel uintptr) int32 { /* sqlite3.c:147661:20: */ +func Xsqlite3WhereExplainBloomFilter(tls *libc.TLS, pParse uintptr, pWInfo uintptr, pLevel uintptr) int32 { /* sqlite3.c:147675:20: */ bp := tls.Alloc(156) defer tls.Free(156) @@ -130061,7 +130081,7 @@ func Xsqlite3WhereExplainBloomFilter(tls *libc.TLS, pParse uintptr, pWInfo uintp // The TERM_LIKECOND marking indicates that the term should be coded inside // a conditional such that is only evaluated on the second pass of a // LIKE-optimization loop, when scanning BLOBs instead of strings. -func disableTerm(tls *libc.TLS, pLevel uintptr, pTerm uintptr) { /* sqlite3.c:147774:13: */ +func disableTerm(tls *libc.TLS, pLevel uintptr, pTerm uintptr) { /* sqlite3.c:147788:13: */ var nLoop int32 = 0 for int32((*WhereTerm)(unsafe.Pointer(pTerm)).FwtFlags)&TERM_CODED == 0 && @@ -130094,7 +130114,7 @@ func disableTerm(tls *libc.TLS, pLevel uintptr, pTerm uintptr) { /* sqlite3.c:14 // // This routine makes its own copy of zAff so that the caller is free // to modify zAff after this routine returns. -func codeApplyAffinity(tls *libc.TLS, pParse uintptr, base int32, n int32, zAff uintptr) { /* sqlite3.c:147812:13: */ +func codeApplyAffinity(tls *libc.TLS, pParse uintptr, base int32, n int32, zAff uintptr) { /* sqlite3.c:147826:13: */ var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe if zAff == uintptr(0) { @@ -130127,7 +130147,7 @@ func codeApplyAffinity(tls *libc.TLS, pParse uintptr, base int32, n int32, zAff // // * the comparison will be performed with no affinity, or // * the affinity change in zAff is guaranteed not to change the value. -func updateRangeAffinityStr(tls *libc.TLS, pRight uintptr, n int32, zAff uintptr) { /* sqlite3.c:147849:13: */ +func updateRangeAffinityStr(tls *libc.TLS, pRight uintptr, n int32, zAff uintptr) { /* sqlite3.c:147863:13: */ var i int32 for i = 0; i < n; i++ { var p uintptr = Xsqlite3VectorFieldSubexpr(tls, pRight, i) @@ -130165,7 +130185,7 @@ func updateRangeAffinityStr(tls *libc.TLS, pRight uintptr, n int32, zAff uintptr // The reduced pX is different from the original (obviously) and thus is // only used for indexing, to improve performance. The original unaltered // IN expression must also be run on each output row for correctness. -func removeUnindexableInClauseTerms(tls *libc.TLS, pParse uintptr, iEq int32, pLoop uintptr, pX uintptr) uintptr { /* sqlite3.c:147895:13: */ +func removeUnindexableInClauseTerms(tls *libc.TLS, pParse uintptr, iEq int32, pLoop uintptr, pX uintptr) uintptr { /* sqlite3.c:147909:13: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb var pNew uintptr pNew = Xsqlite3ExprDup(tls, db, pX, 0) @@ -130240,7 +130260,7 @@ func removeUnindexableInClauseTerms(tls *libc.TLS, pParse uintptr, iEq int32, pL // For a constraint of the form X=expr, the expression is evaluated in // straight-line code. For constraints of the form X IN (...) // this routine sets up a loop that will iterate over all values of X. -func codeEqualityTerm(tls *libc.TLS, pParse uintptr, pTerm uintptr, pLevel uintptr, iEq int32, bRev int32, iTarget int32) int32 { /* sqlite3.c:147984:12: */ +func codeEqualityTerm(tls *libc.TLS, pParse uintptr, pTerm uintptr, pLevel uintptr, iEq int32, bRev int32, iTarget int32) int32 { /* sqlite3.c:147998:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -130433,7 +130453,7 @@ func codeEqualityTerm(tls *libc.TLS, pParse uintptr, pTerm uintptr, pLevel uintp // no conversion should be attempted before using a t2.b value as part of // a key to search the index. Hence the first byte in the returned affinity // string in this example would be set to SQLITE_AFF_BLOB. -func codeAllEqualityTerms(tls *libc.TLS, pParse uintptr, pLevel uintptr, bRev int32, nExtraReg int32, pzAff uintptr) int32 { /* sqlite3.c:148180:12: */ +func codeAllEqualityTerms(tls *libc.TLS, pParse uintptr, pLevel uintptr, bRev int32, nExtraReg int32, pzAff uintptr) int32 { /* sqlite3.c:148194:12: */ var nEq U16 // The number of == or IN constraints to code var nSkip U16 // Number of left-most columns to skip var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe // The vm under construction @@ -130554,7 +130574,7 @@ func codeAllEqualityTerms(tls *libc.TLS, pParse uintptr, pLevel uintptr, bRev in // on. For each table column, if the column is the i'th column of the // index, then the corresponding array entry is set to (i+1). If the column // does not appear in the index at all, the array entry is set to 0. -func codeDeferredSeek(tls *libc.TLS, pWInfo uintptr, pIdx uintptr, iCur int32, iIdxCur int32) { /* sqlite3.c:148558:13: */ +func codeDeferredSeek(tls *libc.TLS, pWInfo uintptr, pIdx uintptr, iCur int32, iIdxCur int32) { /* sqlite3.c:148572:13: */ var pParse uintptr = (*WhereInfo)(unsafe.Pointer(pWInfo)).FpParse // Parse context var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe // Vdbe to generate code within @@ -130595,7 +130615,7 @@ func codeDeferredSeek(tls *libc.TLS, pWInfo uintptr, pIdx uintptr, iCur int32, i // If the expression is not a vector, then nReg must be passed 1. In // this case, generate code to evaluate the expression and leave the // result in register iReg. -func codeExprOrVector(tls *libc.TLS, pParse uintptr, p uintptr, iReg int32, nReg int32) { /* sqlite3.c:148602:13: */ +func codeExprOrVector(tls *libc.TLS, pParse uintptr, p uintptr, iReg int32, nReg int32) { /* sqlite3.c:148616:13: */ if p != 0 && Xsqlite3ExprIsVector(tls, p) != 0 { if (*Expr)(unsafe.Pointer(p)).Fflags&U32(EP_xIsSelect) != U32(0) { @@ -130623,10 +130643,10 @@ func codeExprOrVector(tls *libc.TLS, pParse uintptr, p uintptr, iReg int32, nReg // An instance of the IdxExprTrans object carries information about a // mapping from an expression on table columns into a column in an index // down through the Walker. -type IdxExprTrans = IdxExprTrans1 /* sqlite3.c:148642:3 */ +type IdxExprTrans = IdxExprTrans1 /* sqlite3.c:148656:3 */ // Preserve pExpr on the WhereETrans list of the WhereInfo. -func preserveExpr(tls *libc.TLS, pTrans uintptr, pExpr uintptr) { /* sqlite3.c:148647:13: */ +func preserveExpr(tls *libc.TLS, pTrans uintptr, pExpr uintptr) { /* sqlite3.c:148661:13: */ var pNew uintptr pNew = Xsqlite3DbMallocRaw(tls, (*IdxExprTrans)(unsafe.Pointer(pTrans)).Fdb, uint64(unsafe.Sizeof(WhereExprMod{}))) if pNew == uintptr(0) { @@ -130643,7 +130663,7 @@ func preserveExpr(tls *libc.TLS, pTrans uintptr, pExpr uintptr) { /* sqlite3.c:1 // // If pExpr matches, then transform it into a reference to the index column // that contains the value of pExpr. -func whereIndexExprTransNode(tls *libc.TLS, p uintptr, pExpr uintptr) int32 { /* sqlite3.c:148663:12: */ +func whereIndexExprTransNode(tls *libc.TLS, p uintptr, pExpr uintptr) int32 { /* sqlite3.c:148677:12: */ var pX uintptr = *(*uintptr)(unsafe.Pointer(p + 40)) if Xsqlite3ExprCompare(tls, uintptr(0), pExpr, (*IdxExprTrans)(unsafe.Pointer(pX)).FpIdxExpr, (*IdxExprTrans)(unsafe.Pointer(pX)).FiTabCur) == 0 { preserveExpr(tls, pX, pExpr) @@ -130663,7 +130683,7 @@ func whereIndexExprTransNode(tls *libc.TLS, p uintptr, pExpr uintptr) int32 { /* // A walker node callback that translates a column reference to a table // into a corresponding column reference of an index. -func whereIndexExprTransColumn(tls *libc.TLS, p uintptr, pExpr uintptr) int32 { /* sqlite3.c:148685:12: */ +func whereIndexExprTransColumn(tls *libc.TLS, p uintptr, pExpr uintptr) int32 { /* sqlite3.c:148699:12: */ if int32((*Expr)(unsafe.Pointer(pExpr)).Fop) == TK_COLUMN { var pX uintptr = *(*uintptr)(unsafe.Pointer(p + 40)) if (*Expr)(unsafe.Pointer(pExpr)).FiTable == (*IdxExprTrans)(unsafe.Pointer(pX)).FiTabCur && int32((*Expr)(unsafe.Pointer(pExpr)).FiColumn) == (*IdxExprTrans)(unsafe.Pointer(pX)).FiTabCol { @@ -130685,7 +130705,7 @@ func whereIndexExprTransColumn(tls *libc.TLS, p uintptr, pExpr uintptr) int32 { // 2019-10-24: Updated to also translate references to a VIRTUAL column in // the table into references to the corresponding (stored) column of the // index. -func whereIndexExprTrans(tls *libc.TLS, pIdx uintptr, iTabCur int32, iIdxCur int32, pWInfo uintptr) { /* sqlite3.c:148710:13: */ +func whereIndexExprTrans(tls *libc.TLS, pIdx uintptr, iTabCur int32, iIdxCur int32, pWInfo uintptr) { /* sqlite3.c:148724:13: */ bp := tls.Alloc(88) defer tls.Free(88) @@ -130750,7 +130770,7 @@ func whereIndexExprTrans(tls *libc.TLS, pIdx uintptr, iTabCur int32, iIdxCur int // WHERE clause terms on the query, and if any of those terms must be // true because pTruth is true, then mark those WHERE clause terms as // coded. -func whereApplyPartialIndexConstraints(tls *libc.TLS, pTruth uintptr, iTabCur int32, pWC uintptr) { /* sqlite3.c:148774:13: */ +func whereApplyPartialIndexConstraints(tls *libc.TLS, pTruth uintptr, iTabCur int32, pWC uintptr) { /* sqlite3.c:148788:13: */ var i int32 var pTerm uintptr for int32((*Expr)(unsafe.Pointer(pTruth)).Fop) == TK_AND { @@ -130796,7 +130816,7 @@ __3: // WhereLevel.regFilter set. If an inner-loop Bloom filter is checked, // then clear the WhereLevel.regFilter value to prevent the Bloom filter // from being checked a second time when the inner loop is evaluated. -func filterPullDown(tls *libc.TLS, pParse uintptr, pWInfo uintptr, iLevel int32, addrNxt int32, notReady Bitmask) { /* sqlite3.c:148810:29: */ +func filterPullDown(tls *libc.TLS, pParse uintptr, pWInfo uintptr, iLevel int32, addrNxt int32, notReady Bitmask) { /* sqlite3.c:148824:29: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -130841,7 +130861,7 @@ func filterPullDown(tls *libc.TLS, pParse uintptr, pWInfo uintptr, iLevel int32, // Generate code for the start of the iLevel-th loop in the WHERE clause // implementation described by pWInfo. -func Xsqlite3WhereCodeOneLoopStart(tls *libc.TLS, pParse uintptr, v uintptr, pWInfo uintptr, iLevel int32, pLevel uintptr, notReady Bitmask) Bitmask { /* sqlite3.c:148858:24: */ +func Xsqlite3WhereCodeOneLoopStart(tls *libc.TLS, pParse uintptr, v uintptr, pWInfo uintptr, iLevel int32, pLevel uintptr, notReady Bitmask) Bitmask { /* sqlite3.c:148872:24: */ bp := tls.Alloc(96) defer tls.Free(96) @@ -132071,24 +132091,24 @@ var aStartOp = [8]U8{ U8(OP_SeekLT), // 5: (start_constraints && !startEq && bRev) U8(OP_SeekGE), // 6: (start_constraints && startEq && !bRev) U8(OP_SeekLE), // 7: (start_constraints && startEq && bRev) -} /* sqlite3.c:149238:21 */ +} /* sqlite3.c:149252:21 */ var aEndOp = [4]U8{ U8(OP_IdxGE), // 0: (end_constraints && !bRev && !endEq) U8(OP_IdxGT), // 1: (end_constraints && !bRev && endEq) U8(OP_IdxLE), // 2: (end_constraints && bRev && !endEq) U8(OP_IdxLT), // 3: (end_constraints && bRev && endEq) -} /* sqlite3.c:149248:21 */ -var aStep = [2]U8{U8(OP_Next), U8(OP_Prev)} /* sqlite3.c:149966:21 */ -var aStart = [2]U8{U8(OP_Rewind), U8(OP_Last)} /* sqlite3.c:149967:21 */ +} /* sqlite3.c:149262:21 */ +var aStep = [2]U8{U8(OP_Next), U8(OP_Prev)} /* sqlite3.c:149980:21 */ +var aStart = [2]U8{U8(OP_Rewind), U8(OP_Last)} /* sqlite3.c:149981:21 */ // Deallocate all memory associated with a WhereOrInfo object. -func whereOrInfoDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:150176:13: */ +func whereOrInfoDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:150190:13: */ Xsqlite3WhereClauseClear(tls, p) Xsqlite3DbFree(tls, db, p) } // Deallocate all memory associated with a WhereAndInfo object. -func whereAndInfoDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:150184:13: */ +func whereAndInfoDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:150198:13: */ Xsqlite3WhereClauseClear(tls, p) Xsqlite3DbFree(tls, db, p) } @@ -132110,7 +132130,7 @@ func whereAndInfoDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:150 // WhereTerms. All pointers to WhereTerms should be invalidated after // calling this routine. Such pointers may be reinitialized by referencing // the pWC->a[] array. -func whereClauseInsert(tls *libc.TLS, pWC uintptr, p uintptr, wtFlags U16) int32 { /* sqlite3.c:150208:12: */ +func whereClauseInsert(tls *libc.TLS, pWC uintptr, p uintptr, wtFlags U16) int32 { /* sqlite3.c:150222:12: */ var pTerm uintptr var idx int32 @@ -132152,14 +132172,14 @@ func whereClauseInsert(tls *libc.TLS, pWC uintptr, p uintptr, wtFlags U16) int32 // Return TRUE if the given operator is one of the operators that is // allowed for an indexable WHERE clause term. The allowed operators are // "=", "<", ">", "<=", ">=", "IN", "IS", and "IS NULL" -func allowedOp(tls *libc.TLS, op int32) int32 { /* sqlite3.c:150250:12: */ +func allowedOp(tls *libc.TLS, op int32) int32 { /* sqlite3.c:150264:12: */ return libc.Bool32(op == TK_IN || op >= TK_EQ && op <= TK_GE || op == TK_ISNULL || op == TK_IS) } // Commute a comparison operator. Expressions of the form "X op Y" // are converted into "Y op X". -func exprCommute(tls *libc.TLS, pParse uintptr, pExpr uintptr) U16 { /* sqlite3.c:150262:12: */ +func exprCommute(tls *libc.TLS, pParse uintptr, pExpr uintptr) U16 { /* sqlite3.c:150276:12: */ if int32((*Expr)(unsafe.Pointer((*Expr)(unsafe.Pointer(pExpr)).FpLeft)).Fop) == TK_VECTOR || int32((*Expr)(unsafe.Pointer((*Expr)(unsafe.Pointer(pExpr)).FpRight)).Fop) == TK_VECTOR || Xsqlite3BinaryCompareCollSeq(tls, pParse, (*Expr)(unsafe.Pointer(pExpr)).FpLeft, (*Expr)(unsafe.Pointer(pExpr)).FpRight) != Xsqlite3BinaryCompareCollSeq(tls, pParse, (*Expr)(unsafe.Pointer(pExpr)).FpRight, (*Expr)(unsafe.Pointer(pExpr)).FpLeft) { @@ -132179,7 +132199,7 @@ func exprCommute(tls *libc.TLS, pParse uintptr, pExpr uintptr) U16 { /* sqlite3. } // Translate from TK_xx operator to WO_xx bitmask. -func operatorMask(tls *libc.TLS, op int32) U16 { /* sqlite3.c:150285:12: */ +func operatorMask(tls *libc.TLS, op int32) U16 { /* sqlite3.c:150299:12: */ var c U16 if op == TK_IN { @@ -132206,7 +132226,7 @@ func operatorMask(tls *libc.TLS, op int32) U16 { /* sqlite3.c:150285:12: */ // that virtual tables cannot participate in the LIKE optimization.) The // collating sequence for the column on the LHS must be appropriate for // the operator. -func isLikeOrGlob(tls *libc.TLS, pParse uintptr, pExpr uintptr, ppPrefix uintptr, pisComplete uintptr, pnoCase uintptr) int32 { /* sqlite3.c:150323:12: */ +func isLikeOrGlob(tls *libc.TLS, pParse uintptr, pExpr uintptr, ppPrefix uintptr, pisComplete uintptr, pnoCase uintptr) int32 { /* sqlite3.c:150337:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -132378,7 +132398,7 @@ func isLikeOrGlob(tls *libc.TLS, pParse uintptr, pExpr uintptr, ppPrefix uintptr // of virtual table in forms (5) or (7) then return 2. // // If the expression matches none of the patterns above, return 0. -func isAuxiliaryVtabOperator(tls *libc.TLS, db uintptr, pExpr uintptr, peOp2 uintptr, ppLeft uintptr, ppRight uintptr) int32 { /* sqlite3.c:150502:12: */ +func isAuxiliaryVtabOperator(tls *libc.TLS, db uintptr, pExpr uintptr, peOp2 uintptr, ppLeft uintptr, ppRight uintptr) int32 { /* sqlite3.c:150516:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -132483,18 +132503,18 @@ type Op2 = struct { FzOp uintptr FeOp2 uint8 F__ccgo_pad1 [7]byte -} /* sqlite3.c:150510:18 */ +} /* sqlite3.c:150524:18 */ var aOp = [4]Op2{ {FzOp: ts + 16023, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_MATCH)}, {FzOp: ts + 15345, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_GLOB)}, {FzOp: ts + 14871, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_LIKE)}, {FzOp: ts + 21646, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_REGEXP)}, -} /* sqlite3.c:150513:7 */ +} /* sqlite3.c:150527:7 */ // If the pBase expression originated in the ON or USING clause of // a join, then transfer the appropriate markings over to derived. -func transferJoinMarkings(tls *libc.TLS, pDerived uintptr, pBase uintptr) { /* sqlite3.c:150614:13: */ +func transferJoinMarkings(tls *libc.TLS, pDerived uintptr, pBase uintptr) { /* sqlite3.c:150628:13: */ if pDerived != 0 { *(*U32)(unsafe.Pointer(pDerived + 4)) |= (*Expr)(unsafe.Pointer(pBase)).Fflags & U32(EP_FromJoin) *(*int32)(unsafe.Pointer(pDerived + 52)) = *(*int32)(unsafe.Pointer(pBase + 52)) @@ -132502,7 +132522,7 @@ func transferJoinMarkings(tls *libc.TLS, pDerived uintptr, pBase uintptr) { /* s } // Mark term iChild as being a child of term iParent -func markTermAsChild(tls *libc.TLS, pWC uintptr, iChild int32, iParent int32) { /* sqlite3.c:150624:13: */ +func markTermAsChild(tls *libc.TLS, pWC uintptr, iChild int32, iParent int32) { /* sqlite3.c:150638:13: */ (*WhereTerm)(unsafe.Pointer((*WhereClause)(unsafe.Pointer(pWC)).Fa + uintptr(iChild)*56)).FiParent = iParent (*WhereTerm)(unsafe.Pointer((*WhereClause)(unsafe.Pointer(pWC)).Fa + uintptr(iChild)*56)).FtruthProb = (*WhereTerm)(unsafe.Pointer((*WhereClause)(unsafe.Pointer(pWC)).Fa + uintptr(iParent)*56)).FtruthProb (*WhereTerm)(unsafe.Pointer((*WhereClause)(unsafe.Pointer(pWC)).Fa+uintptr(iParent)*56)).FnChild++ @@ -132511,7 +132531,7 @@ func markTermAsChild(tls *libc.TLS, pWC uintptr, iChild int32, iParent int32) { // Return the N-th AND-connected subterm of pTerm. Or if pTerm is not // a conjunction, then return just pTerm when N==0. If N is exceeds // the number of available subterms, return NULL. -func whereNthSubterm(tls *libc.TLS, pTerm uintptr, N int32) uintptr { /* sqlite3.c:150635:18: */ +func whereNthSubterm(tls *libc.TLS, pTerm uintptr, N int32) uintptr { /* sqlite3.c:150649:18: */ if int32((*WhereTerm)(unsafe.Pointer(pTerm)).FeOperator) != WO_AND { if N == 0 { return pTerm @@ -132542,7 +132562,7 @@ func whereNthSubterm(tls *libc.TLS, pTerm uintptr, N int32) uintptr { /* sqlite3 // The following is NOT generated: // // xy --> x!=y -func whereCombineDisjuncts(tls *libc.TLS, pSrc uintptr, pWC uintptr, pOne uintptr, pTwo uintptr) { /* sqlite3.c:150665:13: */ +func whereCombineDisjuncts(tls *libc.TLS, pSrc uintptr, pWC uintptr, pOne uintptr, pTwo uintptr) { /* sqlite3.c:150679:13: */ var eOp U16 = U16(int32((*WhereTerm)(unsafe.Pointer(pOne)).FeOperator) | int32((*WhereTerm)(unsafe.Pointer(pTwo)).FeOperator)) var db uintptr // Database connection (for malloc) var pNew uintptr // New virtual expression @@ -132675,7 +132695,7 @@ func whereCombineDisjuncts(tls *libc.TLS, pSrc uintptr, pWC uintptr, pOne uintpt // // If none of cases 1, 2, or 3 apply, then leave the eOperator set to // zero. This term is not useful for search. -func exprAnalyzeOrTerm(tls *libc.TLS, pSrc uintptr, pWC uintptr, idxTerm int32) { /* sqlite3.c:150792:13: */ +func exprAnalyzeOrTerm(tls *libc.TLS, pSrc uintptr, pWC uintptr, idxTerm int32) { /* sqlite3.c:150806:13: */ var pWInfo uintptr = (*WhereClause)(unsafe.Pointer(pWC)).FpWInfo // WHERE clause processing context var pParse uintptr = (*WhereInfo)(unsafe.Pointer(pWInfo)).FpParse // Parser context var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb // Database connection @@ -132994,7 +133014,7 @@ __3: // for the LHS anyplace else in the WHERE clause where the LHS column occurs. // This is an optimization. No harm comes from returning 0. But if 1 is // returned when it should not be, then incorrect answers might result. -func termIsEquivalence(tls *libc.TLS, pParse uintptr, pExpr uintptr) int32 { /* sqlite3.c:151066:12: */ +func termIsEquivalence(tls *libc.TLS, pParse uintptr, pExpr uintptr) int32 { /* sqlite3.c:151080:12: */ var aff1 uint8 var aff2 uint8 var pColl uintptr @@ -133023,7 +133043,7 @@ func termIsEquivalence(tls *libc.TLS, pParse uintptr, pExpr uintptr) int32 { /* // Recursively walk the expressions of a SELECT statement and generate // a bitmask indicating which tables are used in that expression // tree. -func exprSelectUsage(tls *libc.TLS, pMaskSet uintptr, pS uintptr) Bitmask { /* sqlite3.c:151089:16: */ +func exprSelectUsage(tls *libc.TLS, pMaskSet uintptr, pS uintptr) Bitmask { /* sqlite3.c:151103:16: */ var mask Bitmask = uint64(0) for pS != 0 { var pSrc uintptr = (*Select)(unsafe.Pointer(pS)).FpSrc @@ -133058,7 +133078,7 @@ func exprSelectUsage(tls *libc.TLS, pMaskSet uintptr, pS uintptr) Bitmask { /* s // If pExpr is a TK_COLUMN column reference, then this routine always returns // true even if that particular column is not indexed, because the column // might be added to an automatic index later. -func exprMightBeIndexed2(tls *libc.TLS, pFrom uintptr, mPrereq Bitmask, aiCurCol uintptr, pExpr uintptr) int32 { /* sqlite3.c:151126:28: */ +func exprMightBeIndexed2(tls *libc.TLS, pFrom uintptr, mPrereq Bitmask, aiCurCol uintptr, pExpr uintptr) int32 { /* sqlite3.c:151140:28: */ var pIdx uintptr var i int32 var iCur int32 @@ -133096,7 +133116,7 @@ __3: return 0 } -func exprMightBeIndexed(tls *libc.TLS, pFrom uintptr, mPrereq Bitmask, aiCurCol uintptr, pExpr uintptr, op int32) int32 { /* sqlite3.c:151150:12: */ +func exprMightBeIndexed(tls *libc.TLS, pFrom uintptr, mPrereq Bitmask, aiCurCol uintptr, pExpr uintptr, op int32) int32 { /* sqlite3.c:151164:12: */ // If this expression is a vector to the left or right of a // inequality constraint (>, <, >= or <=), perform the processing // on the first element of the vector. @@ -133137,7 +133157,7 @@ func exprMightBeIndexed(tls *libc.TLS, pFrom uintptr, mPrereq Bitmask, aiCurCol // needs to be freed with the WhereClause) and TERM_VIRTUAL (because it // is a commuted copy of a prior term.) The original term has nChild=1 // and the copy has idxParent set to the index of the original term. -func exprAnalyze(tls *libc.TLS, pSrc uintptr, pWC uintptr, idxTerm int32) { /* sqlite3.c:151198:13: */ +func exprAnalyze(tls *libc.TLS, pSrc uintptr, pWC uintptr, idxTerm int32) { /* sqlite3.c:151212:13: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -133505,7 +133525,7 @@ func exprAnalyze(tls *libc.TLS, pSrc uintptr, pWC uintptr, idxTerm int32) { /* s *(*Bitmask)(unsafe.Pointer(pTerm + 40)) |= extraRight } -var ops = [2]U8{U8(TK_GE), U8(TK_LE)} /* sqlite3.c:151367:21 */ +var ops = [2]U8{U8(TK_GE), U8(TK_LE)} /* sqlite3.c:151381:21 */ // ************************************************************************** // @@ -133528,7 +133548,7 @@ var ops = [2]U8{U8(TK_GE), U8(TK_LE)} /* sqlite3.c:151367:21 */ // In the previous sentence and in the diagram, "slot[]" refers to // the WhereClause.a[] array. The slot[] array grows as needed to contain // all terms of the WHERE clause. -func Xsqlite3WhereSplit(tls *libc.TLS, pWC uintptr, pExpr uintptr, op U8) { /* sqlite3.c:151663:21: */ +func Xsqlite3WhereSplit(tls *libc.TLS, pWC uintptr, pExpr uintptr, op U8) { /* sqlite3.c:151677:21: */ var pE2 uintptr = Xsqlite3ExprSkipCollateAndLikely(tls, pExpr) (*WhereClause)(unsafe.Pointer(pWC)).Fop = op @@ -133552,7 +133572,7 @@ func Xsqlite3WhereSplit(tls *libc.TLS, pWC uintptr, pExpr uintptr, op U8) { /* s // (example: "LIMIT 5 OFFSET 10") then the expression codes as a // TK_INTEGER so that it will be available to sqlite3_vtab_rhs_value(). // If not, then it codes as a TK_REGISTER expression. -func whereAddLimitExpr(tls *libc.TLS, pWC uintptr, iReg int32, pExpr uintptr, iCsr int32, eMatchOp int32) { /* sqlite3.c:151687:13: */ +func whereAddLimitExpr(tls *libc.TLS, pWC uintptr, iReg int32, pExpr uintptr, iCsr int32, eMatchOp int32) { /* sqlite3.c:151701:13: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -133604,7 +133624,7 @@ func whereAddLimitExpr(tls *libc.TLS, pWC uintptr, iReg int32, pExpr uintptr, iC // LIMIT and OFFSET terms are ignored by most of the planner code. They // exist only so that they may be passed to the xBestIndex method of the // single virtual table in the FROM clause of the SELECT. -func Xsqlite3WhereAddLimit(tls *libc.TLS, pWC uintptr, p uintptr) { /* sqlite3.c:151740:21: */ +func Xsqlite3WhereAddLimit(tls *libc.TLS, pWC uintptr, p uintptr) { /* sqlite3.c:151754:21: */ if p != 0 && (*Select)(unsafe.Pointer(p)).FpLimit != 0 && (*Select)(unsafe.Pointer(p)).FselFlags&U32(SF_Distinct|SF_Aggregate) == U32(0) && @@ -133654,7 +133674,7 @@ func Xsqlite3WhereAddLimit(tls *libc.TLS, pWC uintptr, p uintptr) { /* sqlite3.c } // Initialize a preallocated WhereClause structure. -func Xsqlite3WhereClauseInit(tls *libc.TLS, pWC uintptr, pWInfo uintptr) { /* sqlite3.c:151786:21: */ +func Xsqlite3WhereClauseInit(tls *libc.TLS, pWC uintptr, pWInfo uintptr) { /* sqlite3.c:151800:21: */ (*WhereClause)(unsafe.Pointer(pWC)).FpWInfo = pWInfo (*WhereClause)(unsafe.Pointer(pWC)).FhasOr = U8(0) (*WhereClause)(unsafe.Pointer(pWC)).FpOuter = uintptr(0) @@ -133667,7 +133687,7 @@ func Xsqlite3WhereClauseInit(tls *libc.TLS, pWC uintptr, pWInfo uintptr) { /* sq // Deallocate a WhereClause structure. The WhereClause structure // itself is not freed. This routine is the inverse of // sqlite3WhereClauseInit(). -func Xsqlite3WhereClauseClear(tls *libc.TLS, pWC uintptr) { /* sqlite3.c:151804:21: */ +func Xsqlite3WhereClauseClear(tls *libc.TLS, pWC uintptr) { /* sqlite3.c:151818:21: */ var db uintptr = (*Parse)(unsafe.Pointer((*WhereInfo)(unsafe.Pointer((*WhereClause)(unsafe.Pointer(pWC)).FpWInfo)).FpParse)).Fdb if (*WhereClause)(unsafe.Pointer(pWC)).FnTerm > 0 { @@ -133727,7 +133747,7 @@ func Xsqlite3WhereClauseClear(tls *libc.TLS, pWC uintptr) { /* sqlite3.c:151804: // computations done by this routine are broken out into a separate // "no-inline" function to avoid the stack push overhead in the // common case where it is not needed. -func sqlite3WhereExprUsageFull(tls *libc.TLS, pMaskSet uintptr, p uintptr) Bitmask { /* sqlite3.c:151872:32: */ +func sqlite3WhereExprUsageFull(tls *libc.TLS, pMaskSet uintptr, p uintptr) Bitmask { /* sqlite3.c:151886:32: */ var mask Bitmask if int32((*Expr)(unsafe.Pointer(p)).Fop) == TK_IF_NULL_ROW { mask = Xsqlite3WhereGetMask(tls, pMaskSet, (*Expr)(unsafe.Pointer(p)).FiTable) @@ -133757,7 +133777,7 @@ func sqlite3WhereExprUsageFull(tls *libc.TLS, pMaskSet uintptr, p uintptr) Bitma return mask } -func Xsqlite3WhereExprUsageNN(tls *libc.TLS, pMaskSet uintptr, p uintptr) Bitmask { /* sqlite3.c:151898:24: */ +func Xsqlite3WhereExprUsageNN(tls *libc.TLS, pMaskSet uintptr, p uintptr) Bitmask { /* sqlite3.c:151912:24: */ if int32((*Expr)(unsafe.Pointer(p)).Fop) == TK_COLUMN && !((*Expr)(unsafe.Pointer(p)).Fflags&U32(EP_FixedCol) != U32(0)) { return Xsqlite3WhereGetMask(tls, pMaskSet, (*Expr)(unsafe.Pointer(p)).FiTable) } else if (*Expr)(unsafe.Pointer(p)).Fflags&U32(EP_TokenOnly|EP_Leaf) != U32(0) { @@ -133767,14 +133787,14 @@ func Xsqlite3WhereExprUsageNN(tls *libc.TLS, pMaskSet uintptr, p uintptr) Bitmas return sqlite3WhereExprUsageFull(tls, pMaskSet, p) } -func Xsqlite3WhereExprUsage(tls *libc.TLS, pMaskSet uintptr, p uintptr) Bitmask { /* sqlite3.c:151907:24: */ +func Xsqlite3WhereExprUsage(tls *libc.TLS, pMaskSet uintptr, p uintptr) Bitmask { /* sqlite3.c:151921:24: */ if p != 0 { return Xsqlite3WhereExprUsageNN(tls, pMaskSet, p) } return uint64(0) } -func Xsqlite3WhereExprListUsage(tls *libc.TLS, pMaskSet uintptr, pList uintptr) Bitmask { /* sqlite3.c:151910:24: */ +func Xsqlite3WhereExprListUsage(tls *libc.TLS, pMaskSet uintptr, pList uintptr) Bitmask { /* sqlite3.c:151924:24: */ var i int32 var mask Bitmask = uint64(0) if pList != 0 { @@ -133791,7 +133811,7 @@ func Xsqlite3WhereExprListUsage(tls *libc.TLS, pMaskSet uintptr, pList uintptr) // end of the WHERE clause. We do not want to analyze these new // virtual terms, so start analyzing at the end and work forward // so that the added virtual terms are never processed. -func Xsqlite3WhereExprAnalyze(tls *libc.TLS, pTabList uintptr, pWC uintptr) { /* sqlite3.c:151930:21: */ +func Xsqlite3WhereExprAnalyze(tls *libc.TLS, pTabList uintptr, pWC uintptr) { /* sqlite3.c:151944:21: */ var i int32 for i = (*WhereClause)(unsafe.Pointer(pWC)).FnTerm - 1; i >= 0; i-- { exprAnalyze(tls, pTabList, pWC, i) @@ -133803,7 +133823,7 @@ func Xsqlite3WhereExprAnalyze(tls *libc.TLS, pTabList uintptr, pWC uintptr) { /* // // Each function argument translates into an equality constraint against // a HIDDEN column in the table. -func Xsqlite3WhereTabFuncArgs(tls *libc.TLS, pParse uintptr, pItem uintptr, pWC uintptr) { /* sqlite3.c:151947:21: */ +func Xsqlite3WhereTabFuncArgs(tls *libc.TLS, pParse uintptr, pItem uintptr, pWC uintptr) { /* sqlite3.c:151961:21: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -133887,7 +133907,7 @@ type HiddenIndexInfo1 = struct { FmHandleIn U32 F__ccgo_pad1 [4]byte FaRhs [1]uintptr -} /* sqlite3.c:152019:9 */ +} /* sqlite3.c:152033:9 */ //************* End of whereexpr.c ****************************************** //************* Begin file where.c ****************************************** @@ -133917,16 +133937,16 @@ type HiddenIndexInfo1 = struct { // This object is not an API and can be changed from one release to the // next. As long as allocateIndexInfo() and sqlite3_vtab_collation() // agree on the structure, all will be well. -type HiddenIndexInfo = HiddenIndexInfo1 /* sqlite3.c:152019:32 */ +type HiddenIndexInfo = HiddenIndexInfo1 /* sqlite3.c:152033:32 */ // Return the estimated number of output rows from a WHERE clause -func Xsqlite3WhereOutputRowCount(tls *libc.TLS, pWInfo uintptr) LogEst { /* sqlite3.c:152037:23: */ +func Xsqlite3WhereOutputRowCount(tls *libc.TLS, pWInfo uintptr) LogEst { /* sqlite3.c:152051:23: */ return (*WhereInfo)(unsafe.Pointer(pWInfo)).FnRowOut } // Return one of the WHERE_DISTINCT_xxxxx values to indicate how this // WHERE clause returns outputs for DISTINCT processing. -func Xsqlite3WhereIsDistinct(tls *libc.TLS, pWInfo uintptr) int32 { /* sqlite3.c:152045:20: */ +func Xsqlite3WhereIsDistinct(tls *libc.TLS, pWInfo uintptr) int32 { /* sqlite3.c:152059:20: */ return int32((*WhereInfo)(unsafe.Pointer(pWInfo)).FeDistinct) } @@ -133936,7 +133956,7 @@ func Xsqlite3WhereIsDistinct(tls *libc.TLS, pWInfo uintptr) int32 { /* sqlite3.c // terms means that no sorting is needed at all. A return that // is positive but less than the number of ORDER BY terms means that // block sorting is required. -func Xsqlite3WhereIsOrdered(tls *libc.TLS, pWInfo uintptr) int32 { /* sqlite3.c:152057:20: */ +func Xsqlite3WhereIsOrdered(tls *libc.TLS, pWInfo uintptr) int32 { /* sqlite3.c:152071:20: */ return int32((*WhereInfo)(unsafe.Pointer(pWInfo)).FnOBSat) } @@ -133961,7 +133981,7 @@ func Xsqlite3WhereIsOrdered(tls *libc.TLS, pWInfo uintptr) int32 { /* sqlite3.c: // Returning the continuation the second inner loop is an optimization // that might make the code run a little faster, but should not change // the final answer. -func Xsqlite3WhereOrderByLimitOptLabel(tls *libc.TLS, pWInfo uintptr) int32 { /* sqlite3.c:152084:20: */ +func Xsqlite3WhereOrderByLimitOptLabel(tls *libc.TLS, pWInfo uintptr) int32 { /* sqlite3.c:152098:20: */ var pInner uintptr if !(int32(*(*uint8)(unsafe.Pointer(pWInfo + 76))&0x20>>5) != 0) { // The ORDER BY LIMIT optimization does not apply. Jump to the @@ -133982,7 +134002,7 @@ func Xsqlite3WhereOrderByLimitOptLabel(tls *libc.TLS, pWInfo uintptr) int32 { /* // Any extra OP_Goto that is coded here is an optimization. The // correct answer should be obtained regardless. This OP_Goto just // makes the answer appear faster. -func Xsqlite3WhereMinMaxOptEarlyOut(tls *libc.TLS, v uintptr, pWInfo uintptr) { /* sqlite3.c:152107:21: */ +func Xsqlite3WhereMinMaxOptEarlyOut(tls *libc.TLS, v uintptr, pWInfo uintptr) { /* sqlite3.c:152121:21: */ var pInner uintptr var i int32 if !(int32(*(*uint8)(unsafe.Pointer(pWInfo + 76))&0x20>>5) != 0) { @@ -134003,14 +134023,14 @@ func Xsqlite3WhereMinMaxOptEarlyOut(tls *libc.TLS, v uintptr, pWInfo uintptr) { // Return the VDBE address or label to jump to in order to continue // immediately with the next row of a WHERE clause. -func Xsqlite3WhereContinueLabel(tls *libc.TLS, pWInfo uintptr) int32 { /* sqlite3.c:152126:20: */ +func Xsqlite3WhereContinueLabel(tls *libc.TLS, pWInfo uintptr) int32 { /* sqlite3.c:152140:20: */ return (*WhereInfo)(unsafe.Pointer(pWInfo)).FiContinue } // Return the VDBE address or label to jump to in order to break // out of a WHERE loop. -func Xsqlite3WhereBreakLabel(tls *libc.TLS, pWInfo uintptr) int32 { /* sqlite3.c:152135:20: */ +func Xsqlite3WhereBreakLabel(tls *libc.TLS, pWInfo uintptr) int32 { /* sqlite3.c:152149:20: */ return (*WhereInfo)(unsafe.Pointer(pWInfo)).FiBreak } @@ -134029,19 +134049,19 @@ func Xsqlite3WhereBreakLabel(tls *libc.TLS, pWInfo uintptr) int32 { /* sqlite3.c // // aiCur[0] and aiCur[1] both get -1 if the where-clause logic is // unable to use the ONEPASS optimization. -func Xsqlite3WhereOkOnePass(tls *libc.TLS, pWInfo uintptr, aiCur uintptr) int32 { /* sqlite3.c:152156:20: */ +func Xsqlite3WhereOkOnePass(tls *libc.TLS, pWInfo uintptr, aiCur uintptr) int32 { /* sqlite3.c:152170:20: */ libc.Xmemcpy(tls, aiCur, pWInfo+48, uint64(unsafe.Sizeof(int32(0)))*uint64(2)) return int32((*WhereInfo)(unsafe.Pointer(pWInfo)).FeOnePass) } // Return TRUE if the WHERE loop uses the OP_DeferredSeek opcode to move // the data cursor to the row selected by the index cursor. -func Xsqlite3WhereUsesDeferredSeek(tls *libc.TLS, pWInfo uintptr) int32 { /* sqlite3.c:152172:20: */ +func Xsqlite3WhereUsesDeferredSeek(tls *libc.TLS, pWInfo uintptr) int32 { /* sqlite3.c:152186:20: */ return int32(*(*uint8)(unsafe.Pointer(pWInfo + 76)) & 0x80 >> 7) } // Move the content of pSrc into pDest -func whereOrMove(tls *libc.TLS, pDest uintptr, pSrc uintptr) { /* sqlite3.c:152179:13: */ +func whereOrMove(tls *libc.TLS, pDest uintptr, pSrc uintptr) { /* sqlite3.c:152193:13: */ (*WhereOrSet)(unsafe.Pointer(pDest)).Fn = (*WhereOrSet)(unsafe.Pointer(pSrc)).Fn libc.Xmemcpy(tls, pDest+8, pSrc+8, uint64((*WhereOrSet)(unsafe.Pointer(pDest)).Fn)*uint64(unsafe.Sizeof(WhereOrCost{}))) } @@ -134051,7 +134071,7 @@ func whereOrMove(tls *libc.TLS, pDest uintptr, pSrc uintptr) { /* sqlite3.c:1521 // The new entry might overwrite an existing entry, or it might be // appended, or it might be discarded. Do whatever is the right thing // so that pSet keeps the N_OR_COST best entries seen so far. -func whereOrInsert(tls *libc.TLS, pSet uintptr, prereq Bitmask, rRun LogEst, nOut LogEst) int32 { /* sqlite3.c:152191:12: */ +func whereOrInsert(tls *libc.TLS, pSet uintptr, prereq Bitmask, rRun LogEst, nOut LogEst) int32 { /* sqlite3.c:152205:12: */ var i U16 var p uintptr i = (*WhereOrSet)(unsafe.Pointer(pSet)).Fn @@ -134128,7 +134148,7 @@ __13: // Return the bitmask for the given cursor number. Return 0 if // iCursor is not in the set. -func Xsqlite3WhereGetMask(tls *libc.TLS, pMaskSet uintptr, iCursor int32) Bitmask { /* sqlite3.c:152228:24: */ +func Xsqlite3WhereGetMask(tls *libc.TLS, pMaskSet uintptr, iCursor int32) Bitmask { /* sqlite3.c:152242:24: */ var i int32 if *(*int32)(unsafe.Pointer(pMaskSet + 8)) == iCursor { @@ -134148,14 +134168,14 @@ func Xsqlite3WhereGetMask(tls *libc.TLS, pMaskSet uintptr, iCursor int32) Bitmas // tables in the FROM clause is limited by a test early in the // sqlite3WhereBegin() routine. So we know that the pMaskSet->ix[] // array will never overflow. -func createMask(tls *libc.TLS, pMaskSet uintptr, iCursor int32) { /* sqlite3.c:152252:13: */ +func createMask(tls *libc.TLS, pMaskSet uintptr, iCursor int32) { /* sqlite3.c:152266:13: */ *(*int32)(unsafe.Pointer(pMaskSet + 8 + uintptr(libc.PostIncInt32(&(*WhereMaskSet)(unsafe.Pointer(pMaskSet)).Fn, 1))*4)) = iCursor } // If the right-hand branch of the expression is a TK_COLUMN, then return // a pointer to the right-hand branch. Otherwise, return NULL. -func whereRightSubexprIsColumn(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:152261:13: */ +func whereRightSubexprIsColumn(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:152275:13: */ p = Xsqlite3ExprSkipCollateAndLikely(tls, (*Expr)(unsafe.Pointer(p)).FpRight) if p != uintptr(0) && int32((*Expr)(unsafe.Pointer(p)).Fop) == TK_COLUMN && !((*Expr)(unsafe.Pointer(p)).Fflags&U32(EP_FixedCol) != U32(0)) { return p @@ -134166,7 +134186,7 @@ func whereRightSubexprIsColumn(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c: // Advance to the next WhereTerm that matches according to the criteria // established when the pScan object was initialized by whereScanInit(). // Return NULL if there are no more matching WhereTerms. -func whereScanNext(tls *libc.TLS, pScan uintptr) uintptr { /* sqlite3.c:152274:18: */ +func whereScanNext(tls *libc.TLS, pScan uintptr) uintptr { /* sqlite3.c:152288:18: */ var iCur int32 // The cursor on the LHS of the term var iColumn I16 // The column on the LHS of the term. -1 for IPK var pX uintptr // An expression being tested @@ -134270,7 +134290,7 @@ func whereScanNext(tls *libc.TLS, pScan uintptr) uintptr { /* sqlite3.c:152274:1 // It is factored out into a separate tail-recursion subroutine so that // the normal whereScanInit() routine, which is a high-runner, does not // need to push registers onto the stack as part of its prologue. -func whereScanInitIndexExpr(tls *libc.TLS, pScan uintptr) uintptr { /* sqlite3.c:152376:34: */ +func whereScanInitIndexExpr(tls *libc.TLS, pScan uintptr) uintptr { /* sqlite3.c:152390:34: */ (*WhereScan)(unsafe.Pointer(pScan)).Fidxaff = Xsqlite3ExprAffinity(tls, (*WhereScan)(unsafe.Pointer(pScan)).FpIdxExpr) return whereScanNext(tls, pScan) } @@ -134292,7 +134312,7 @@ func whereScanInitIndexExpr(tls *libc.TLS, pScan uintptr) uintptr { /* sqlite3.c // // If X is not the INTEGER PRIMARY KEY then X must be compatible with // index pIdx. -func whereScanInit(tls *libc.TLS, pScan uintptr, pWC uintptr, iCur int32, iColumn int32, opMask U32, pIdx uintptr) uintptr { /* sqlite3.c:152400:18: */ +func whereScanInit(tls *libc.TLS, pScan uintptr, pWC uintptr, iCur int32, iColumn int32, opMask U32, pIdx uintptr) uintptr { /* sqlite3.c:152414:18: */ (*WhereScan)(unsafe.Pointer(pScan)).FpOrigWC = pWC (*WhereScan)(unsafe.Pointer(pScan)).FpWC = pWC (*WhereScan)(unsafe.Pointer(pScan)).FpIdxExpr = uintptr(0) @@ -134347,7 +134367,7 @@ func whereScanInit(tls *libc.TLS, pScan uintptr, pWC uintptr, iCur int32, iColum // the form "X Y" where Y is a column in another table if no terms of // the form "X " exist. If no terms with a constant RHS // exist, try to return a term that does not use WO_EQUIV. -func Xsqlite3WhereFindTerm(tls *libc.TLS, pWC uintptr, iCur int32, iColumn int32, notReady Bitmask, op U32, pIdx uintptr) uintptr { /* sqlite3.c:152464:26: */ +func Xsqlite3WhereFindTerm(tls *libc.TLS, pWC uintptr, iCur int32, iColumn int32, notReady Bitmask, op U32, pIdx uintptr) uintptr { /* sqlite3.c:152478:26: */ bp := tls.Alloc(112) defer tls.Free(112) @@ -134377,7 +134397,7 @@ func Xsqlite3WhereFindTerm(tls *libc.TLS, pWC uintptr, iCur int32, iColumn int32 // // If such an expression is found, its index in pList->a[] is returned. If // no expression is found, -1 is returned. -func findIndexCol(tls *libc.TLS, pParse uintptr, pList uintptr, iBase int32, pIdx uintptr, iCol int32) int32 { /* sqlite3.c:152498:12: */ +func findIndexCol(tls *libc.TLS, pParse uintptr, pList uintptr, iBase int32, pIdx uintptr, iCol int32) int32 { /* sqlite3.c:152512:12: */ var i int32 var zColl uintptr = *(*uintptr)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FazColl + uintptr(iCol)*8)) @@ -134398,7 +134418,7 @@ func findIndexCol(tls *libc.TLS, pParse uintptr, pList uintptr, iBase int32, pId } // Return TRUE if the iCol-th column of index pIdx is NOT NULL -func indexColumnNotNull(tls *libc.TLS, pIdx uintptr, iCol int32) int32 { /* sqlite3.c:152528:12: */ +func indexColumnNotNull(tls *libc.TLS, pIdx uintptr, iCol int32) int32 { /* sqlite3.c:152542:12: */ var j int32 j = int32(*(*I16)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FaiColumn + uintptr(iCol)*2))) @@ -134419,7 +134439,7 @@ func indexColumnNotNull(tls *libc.TLS, pIdx uintptr, iCol int32) int32 { /* sqli // // A DISTINCT list is redundant if any subset of the columns in the // DISTINCT list are collectively unique and individually non-null. -func isDistinctRedundant(tls *libc.TLS, pParse uintptr, pTabList uintptr, pWC uintptr, pDistinct uintptr) int32 { /* sqlite3.c:152551:12: */ +func isDistinctRedundant(tls *libc.TLS, pParse uintptr, pTabList uintptr, pWC uintptr, pDistinct uintptr) int32 { /* sqlite3.c:152565:12: */ var pTab uintptr var pIdx uintptr var i int32 @@ -134489,7 +134509,7 @@ func isDistinctRedundant(tls *libc.TLS, pParse uintptr, pTabList uintptr, pWC ui } // Estimate the logarithm of the input value to base 2. -func estLog(tls *libc.TLS, N LogEst) LogEst { /* sqlite3.c:152615:15: */ +func estLog(tls *libc.TLS, N LogEst) LogEst { /* sqlite3.c:152629:15: */ if int32(N) <= 10 { return int16(0) } @@ -134506,7 +134526,7 @@ func estLog(tls *libc.TLS, N LogEst) LogEst { /* sqlite3.c:152615:15: */ // cursor iTabCur are transformed into OP_Sequence opcode for the // iAutoidxCur cursor, in order to generate unique rowids for the // automatic index being generated. -func translateColumnToCopy(tls *libc.TLS, pParse uintptr, iStart int32, iTabCur int32, iRegister int32, iAutoidxCur int32) { /* sqlite3.c:152631:13: */ +func translateColumnToCopy(tls *libc.TLS, pParse uintptr, iStart int32, iTabCur int32, iRegister int32, iAutoidxCur int32) { /* sqlite3.c:152645:13: */ var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe var pOp uintptr = Xsqlite3VdbeGetOp(tls, v, iStart) var iEnd int32 = Xsqlite3VdbeCurrentAddr(tls, v) @@ -134549,7 +134569,7 @@ __3: // Return TRUE if the WHERE clause term pTerm is of a form where it // could be used with an index to access pSrc, assuming an appropriate // index existed. -func termCanDriveIndex(tls *libc.TLS, pTerm uintptr, pSrc uintptr, notReady Bitmask) int32 { /* sqlite3.c:152715:12: */ +func termCanDriveIndex(tls *libc.TLS, pTerm uintptr, pSrc uintptr, notReady Bitmask) int32 { /* sqlite3.c:152729:12: */ var aff uint8 if (*WhereTerm)(unsafe.Pointer(pTerm)).FleftCursor != (*SrcItem)(unsafe.Pointer(pSrc)).FiCursor { return 0 @@ -134583,7 +134603,7 @@ func termCanDriveIndex(tls *libc.TLS, pTerm uintptr, pSrc uintptr, notReady Bitm // Generate code to construct the Index object for an automatic index // and to set up the WhereLevel object pLevel so that the code generator // makes use of the automatic index. -func constructAutomaticIndex(tls *libc.TLS, pParse uintptr, pWC uintptr, pSrc uintptr, notReady Bitmask, pLevel uintptr) { /* sqlite3.c:152749:29: */ +func constructAutomaticIndex(tls *libc.TLS, pParse uintptr, pWC uintptr, pSrc uintptr, notReady Bitmask, pLevel uintptr) { /* sqlite3.c:152763:29: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -134941,7 +134961,7 @@ end_auto_index_create: // This routine may only be called if it has previously been determined that // the loop would benefit from a Bloom filter, and the WHERE_BLOOMFILTER bit // is set. -func sqlite3ConstructBloomFilter(tls *libc.TLS, pWInfo uintptr, iLevel int32, pLevel uintptr, notReady Bitmask) { /* sqlite3.c:152984:29: */ +func sqlite3ConstructBloomFilter(tls *libc.TLS, pWInfo uintptr, iLevel int32, pLevel uintptr, notReady Bitmask) { /* sqlite3.c:152998:29: */ var addrOnce int32 // Address of opening OP_Once var addrTop int32 // Address of OP_Rewind var addrCont int32 // Jump here to skip a row @@ -135046,7 +135066,7 @@ func sqlite3ConstructBloomFilter(tls *libc.TLS, pWInfo uintptr, iLevel int32, pL // Allocate and populate an sqlite3_index_info structure. It is the // responsibility of the caller to eventually release the structure // by passing the pointer returned by this function to freeIndexInfo(). -func allocateIndexInfo(tls *libc.TLS, pWInfo uintptr, pWC uintptr, mUnusable Bitmask, pSrc uintptr, pmNoOmit uintptr) uintptr { /* sqlite3.c:153097:27: */ +func allocateIndexInfo(tls *libc.TLS, pWInfo uintptr, pWC uintptr, mUnusable Bitmask, pSrc uintptr, pmNoOmit uintptr) uintptr { /* sqlite3.c:153111:27: */ var i int32 var j int32 var nTerm int32 @@ -135272,7 +135292,7 @@ __6: // Free an sqlite3_index_info structure allocated by allocateIndexInfo() // and possibly modified by xBestIndex methods. -func freeIndexInfo(tls *libc.TLS, db uintptr, pIdxInfo uintptr) { /* sqlite3.c:153296:13: */ +func freeIndexInfo(tls *libc.TLS, db uintptr, pIdxInfo uintptr) { /* sqlite3.c:153310:13: */ var pHidden uintptr var i int32 @@ -135299,7 +135319,7 @@ func freeIndexInfo(tls *libc.TLS, db uintptr, pIdxInfo uintptr) { /* sqlite3.c:1 // Whether or not an error is returned, it is the responsibility of the // caller to eventually free p->idxStr if p->needToFreeIdxStr indicates // that this is required. -func vtabBestIndex(tls *libc.TLS, pParse uintptr, pTab uintptr, p uintptr) int32 { /* sqlite3.c:153326:12: */ +func vtabBestIndex(tls *libc.TLS, pParse uintptr, pTab uintptr, p uintptr) int32 { /* sqlite3.c:153340:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -135337,7 +135357,7 @@ func vtabBestIndex(tls *libc.TLS, pParse uintptr, pTab uintptr, p uintptr) int32 // into the aSample[] array - it is an index into a virtual set of samples // based on the contents of aSample[] and the number of fields in record // pRec. -func whereKeyStats(tls *libc.TLS, pParse uintptr, pIdx uintptr, pRec uintptr, roundUp int32, aStat uintptr) int32 { /* sqlite3.c:153365:12: */ +func whereKeyStats(tls *libc.TLS, pParse uintptr, pIdx uintptr, pRec uintptr, roundUp int32, aStat uintptr) int32 { /* sqlite3.c:153379:12: */ var aSample uintptr = (*Index)(unsafe.Pointer(pIdx)).FaSample var iCol int32 // Index of required stats in anEq[] etc. var i int32 // Index of first sample >= pRec @@ -135476,7 +135496,7 @@ func whereKeyStats(tls *libc.TLS, pParse uintptr, pIdx uintptr, pRec uintptr, ro // then the return value is the likelihood multiplied by the number of // input rows. Otherwise, this function assumes that an "IS NOT NULL" term // has a likelihood of 0.50, and any other term a likelihood of 0.25. -func whereRangeAdjust(tls *libc.TLS, pTerm uintptr, nNew LogEst) LogEst { /* sqlite3.c:153557:15: */ +func whereRangeAdjust(tls *libc.TLS, pTerm uintptr, nNew LogEst) LogEst { /* sqlite3.c:153571:15: */ var nRet LogEst = nNew if pTerm != 0 { if int32((*WhereTerm)(unsafe.Pointer(pTerm)).FtruthProb) <= 0 { @@ -135489,7 +135509,7 @@ func whereRangeAdjust(tls *libc.TLS, pTerm uintptr, nNew LogEst) LogEst { /* sql } // Return the affinity for a single column of an index. -func Xsqlite3IndexColumnAffinity(tls *libc.TLS, db uintptr, pIdx uintptr, iCol int32) uint8 { /* sqlite3.c:153574:21: */ +func Xsqlite3IndexColumnAffinity(tls *libc.TLS, db uintptr, pIdx uintptr, iCol int32) uint8 { /* sqlite3.c:153588:21: */ if !(int32((*Index)(unsafe.Pointer(pIdx)).FzColAff) != 0) { if Xsqlite3IndexAffinityStr(tls, db, pIdx) == uintptr(0) { @@ -135533,7 +135553,7 @@ func Xsqlite3IndexColumnAffinity(tls *libc.TLS, db uintptr, pIdx uintptr, iCol i // // If an error occurs, an SQLite error code is returned. Otherwise, // SQLITE_OK. -func whereRangeSkipScanEst(tls *libc.TLS, pParse uintptr, pLower uintptr, pUpper uintptr, pLoop uintptr, pbDone uintptr) int32 { /* sqlite3.c:153621:12: */ +func whereRangeSkipScanEst(tls *libc.TLS, pParse uintptr, pLower uintptr, pUpper uintptr, pLoop uintptr, pbDone uintptr) int32 { /* sqlite3.c:153635:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -135648,7 +135668,7 @@ func whereRangeSkipScanEst(tls *libc.TLS, pParse uintptr, pLower uintptr, pUpper // used, a single range inequality reduces the search space by a factor of 4. // and a pair of constraints (x>? AND x>7)) != 0 { Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(p + 24 + 16 /* &.idxStr */))) @@ -135956,7 +135976,7 @@ func whereLoopClearUnion(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:15 } // Deallocate internal memory used by a WhereLoop object -func whereLoopClear(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:154152:13: */ +func whereLoopClear(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:154166:13: */ if (*WhereLoop)(unsafe.Pointer(p)).FaLTerm != p+88 { Xsqlite3DbFreeNN(tls, db, (*WhereLoop)(unsafe.Pointer(p)).FaLTerm) } @@ -135965,7 +135985,7 @@ func whereLoopClear(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:154152: } // Increase the memory allocation for pLoop->aLTerm[] to be at least n. -func whereLoopResize(tls *libc.TLS, db uintptr, p uintptr, n int32) int32 { /* sqlite3.c:154161:12: */ +func whereLoopResize(tls *libc.TLS, db uintptr, p uintptr, n int32) int32 { /* sqlite3.c:154175:12: */ var paNew uintptr if int32((*WhereLoop)(unsafe.Pointer(p)).FnLSlot) >= n { return SQLITE_OK @@ -135985,7 +136005,7 @@ func whereLoopResize(tls *libc.TLS, db uintptr, p uintptr, n int32) int32 { /* s } // Transfer content from the second pLoop into the first. -func whereLoopXfer(tls *libc.TLS, db uintptr, pTo uintptr, pFrom uintptr) int32 { /* sqlite3.c:154177:12: */ +func whereLoopXfer(tls *libc.TLS, db uintptr, pTo uintptr, pFrom uintptr) int32 { /* sqlite3.c:154191:12: */ whereLoopClearUnion(tls, db, pTo) if whereLoopResize(tls, db, pTo, int32((*WhereLoop)(unsafe.Pointer(pFrom)).FnLTerm)) != 0 { libc.Xmemset(tls, pTo, 0, uint64(uintptr(0)+64)) @@ -136002,13 +136022,13 @@ func whereLoopXfer(tls *libc.TLS, db uintptr, pTo uintptr, pFrom uintptr) int32 } // Delete a WhereLoop object -func whereLoopDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:154196:13: */ +func whereLoopDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:154210:13: */ whereLoopClear(tls, db, p) Xsqlite3DbFreeNN(tls, db, p) } // Free a WhereInfo structure -func whereInfoFree(tls *libc.TLS, db uintptr, pWInfo uintptr) { /* sqlite3.c:154204:13: */ +func whereInfoFree(tls *libc.TLS, db uintptr, pWInfo uintptr) { /* sqlite3.c:154218:13: */ var i int32 for i = 0; i < int32((*WhereInfo)(unsafe.Pointer(pWInfo)).FnLevel); i++ { @@ -136029,7 +136049,7 @@ func whereInfoFree(tls *libc.TLS, db uintptr, pWInfo uintptr) { /* sqlite3.c:154 } // Undo all Expr node modifications -func whereUndoExprMods(tls *libc.TLS, pWInfo uintptr) { /* sqlite3.c:154226:13: */ +func whereUndoExprMods(tls *libc.TLS, pWInfo uintptr) { /* sqlite3.c:154240:13: */ for (*WhereInfo)(unsafe.Pointer(pWInfo)).FpExprMods != 0 { var p uintptr = (*WhereInfo)(unsafe.Pointer(pWInfo)).FpExprMods (*WhereInfo)(unsafe.Pointer(pWInfo)).FpExprMods = (*WhereExprMod)(unsafe.Pointer(p)).FpNext @@ -136055,7 +136075,7 @@ func whereUndoExprMods(tls *libc.TLS, pWInfo uintptr) { /* sqlite3.c:154226:13: // deserve a lower cost even if it is a proper subset of Y. Constraint (5) // was added because a covering index probably deserves to have a lower cost // than a non-covering index even if it is a proper subset. -func whereLoopCheaperProperSubset(tls *libc.TLS, pX uintptr, pY uintptr) int32 { /* sqlite3.c:154254:12: */ +func whereLoopCheaperProperSubset(tls *libc.TLS, pX uintptr, pY uintptr) int32 { /* sqlite3.c:154268:12: */ var i int32 var j int32 if int32((*WhereLoop)(unsafe.Pointer(pX)).FnLTerm)-int32((*WhereLoop)(unsafe.Pointer(pX)).FnSkip) >= int32((*WhereLoop)(unsafe.Pointer(pY)).FnLTerm)-int32((*WhereLoop)(unsafe.Pointer(pY)).FnSkip) { @@ -136099,7 +136119,7 @@ func whereLoopCheaperProperSubset(tls *libc.TLS, pX uintptr, pY uintptr) int32 { // To say "WhereLoop X is a proper subset of Y" means that X uses fewer // WHERE clause terms than Y and that every WHERE clause term used by X is // also used by Y. -func whereLoopAdjustCost(tls *libc.TLS, p uintptr, pTemplate uintptr) { /* sqlite3.c:154292:13: */ +func whereLoopAdjustCost(tls *libc.TLS, p uintptr, pTemplate uintptr) { /* sqlite3.c:154306:13: */ if (*WhereLoop)(unsafe.Pointer(pTemplate)).FwsFlags&U32(WHERE_INDEXED) == U32(0) { return } @@ -136158,7 +136178,7 @@ func whereLoopAdjustCost(tls *libc.TLS, p uintptr, pTemplate uintptr) { /* sqlit // If pTemplate cannot replace any existing element of the list but needs // to be added to the list as a new entry, then return a pointer to the // tail of the list. -func whereLoopFindLesser(tls *libc.TLS, ppPrev uintptr, pTemplate uintptr) uintptr { /* sqlite3.c:154333:18: */ +func whereLoopFindLesser(tls *libc.TLS, ppPrev uintptr, pTemplate uintptr) uintptr { /* sqlite3.c:154347:18: */ var p uintptr p = *(*uintptr)(unsafe.Pointer(ppPrev)) __1: @@ -136247,7 +136267,7 @@ __3: // (2) They have the same iSortIdx. // (3) The template has same or fewer dependencies than the current loop // (4) The template has the same or lower cost than the current loop -func whereLoopInsert(tls *libc.TLS, pBuilder uintptr, pTemplate uintptr) int32 { /* sqlite3.c:154421:12: */ +func whereLoopInsert(tls *libc.TLS, pBuilder uintptr, pTemplate uintptr) int32 { /* sqlite3.c:154435:12: */ var ppPrev uintptr var p uintptr var pWInfo uintptr = (*WhereLoopBuilder)(unsafe.Pointer(pBuilder)).FpWInfo @@ -136354,7 +136374,7 @@ func whereLoopInsert(tls *libc.TLS, pBuilder uintptr, pTemplate uintptr) int32 { // "x" column is boolean or else -1 or 0 or 1 is a common default value // on the "x" column and so in that case only cap the output row estimate // at 1/2 instead of 1/4. -func whereLoopOutputAdjust(tls *libc.TLS, pWC uintptr, pLoop uintptr, nRow LogEst) { /* sqlite3.c:154558:13: */ +func whereLoopOutputAdjust(tls *libc.TLS, pWC uintptr, pLoop uintptr, nRow LogEst) { /* sqlite3.c:154572:13: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -136400,7 +136420,14 @@ __1: // that depend only on the table being scanned, and that will tend to // cause many rows to be omitted, then mark that table as // "self-culling". - *(*U32)(unsafe.Pointer(pLoop + 56)) |= U32(WHERE_SELFCULL) + // + // 2022-03-24: Self-culling only applies if either the extra terms + // are straight comparison operators that are non-true with NULL + // operand, or if the loop is not a LEFT JOIN. + if int32((*WhereTerm)(unsafe.Pointer(pTerm)).FeOperator)&0x3f != 0 || + int32((*SrcItem)(unsafe.Pointer((*WhereInfo)(unsafe.Pointer((*WhereClause)(unsafe.Pointer(pWC)).FpWInfo)).FpTabList+8+uintptr((*WhereLoop)(unsafe.Pointer(pLoop)).FiTab)*112)).Ffg.Fjointype)&JT_LEFT == 0 { + *(*U32)(unsafe.Pointer(pLoop + 56)) |= U32(WHERE_SELFCULL) + } } if int32((*WhereTerm)(unsafe.Pointer(pTerm)).FtruthProb) <= 0 { // If a truth probability is specified using the likelihood() hints, @@ -136457,7 +136484,7 @@ __3: // // then this function would be invoked with nEq=1. The value returned in // this case is 3. -func whereRangeVectorLen(tls *libc.TLS, pParse uintptr, iCur int32, pIdx uintptr, nEq int32, pTerm uintptr) int32 { /* sqlite3.c:154637:12: */ +func whereRangeVectorLen(tls *libc.TLS, pParse uintptr, iCur int32, pIdx uintptr, nEq int32, pTerm uintptr) int32 { /* sqlite3.c:154660:12: */ var nCmp int32 = Xsqlite3ExprVectorSize(tls, (*Expr)(unsafe.Pointer((*WhereTerm)(unsafe.Pointer(pTerm)).FpExpr)).FpLeft) var i int32 @@ -136525,7 +136552,7 @@ func whereRangeVectorLen(tls *libc.TLS, pParse uintptr, iCur int32, pIdx uintptr // // If pProbe->idxType==SQLITE_IDXTYPE_IPK, that means pIndex is // a fake index used for the INTEGER PRIMARY KEY. -func whereLoopAddBtreeIndex(tls *libc.TLS, pBuilder uintptr, pSrc uintptr, pProbe uintptr, nInMul LogEst) int32 { /* sqlite3.c:154711:12: */ +func whereLoopAddBtreeIndex(tls *libc.TLS, pBuilder uintptr, pSrc uintptr, pProbe uintptr, nInMul LogEst) int32 { /* sqlite3.c:154734:12: */ bp := tls.Alloc(116) defer tls.Free(116) @@ -136885,7 +136912,7 @@ func whereLoopAddBtreeIndex(tls *libc.TLS, pBuilder uintptr, pSrc uintptr, pProb // Return False if pBuilder does not contain an ORDER BY clause or // if there is no way for pIndex to be useful in implementing that // ORDER BY clause. -func indexMightHelpWithOrderBy(tls *libc.TLS, pBuilder uintptr, pIndex uintptr, iCursor int32) int32 { /* sqlite3.c:155111:12: */ +func indexMightHelpWithOrderBy(tls *libc.TLS, pBuilder uintptr, pIndex uintptr, iCursor int32) int32 { /* sqlite3.c:155134:12: */ var pOB uintptr var aColExpr uintptr var ii int32 @@ -136927,7 +136954,7 @@ func indexMightHelpWithOrderBy(tls *libc.TLS, pBuilder uintptr, pIndex uintptr, // Check to see if a partial index with pPartIndexWhere can be used // in the current query. Return true if it can be and false if not. -func whereUsablePartialIndex(tls *libc.TLS, iTab int32, isLeft int32, pWC uintptr, pWhere uintptr) int32 { /* sqlite3.c:155145:12: */ +func whereUsablePartialIndex(tls *libc.TLS, iTab int32, isLeft int32, pWC uintptr, pWhere uintptr) int32 { /* sqlite3.c:155168:12: */ var i int32 var pTerm uintptr var pParse uintptr = (*WhereInfo)(unsafe.Pointer((*WhereClause)(unsafe.Pointer(pWC)).FpWInfo)).FpParse @@ -137002,7 +137029,7 @@ __3: // bias the scoring in favor of using an index, since the worst-case // performance of using an index is far better than the worst-case performance // of a full table scan. -func whereLoopAddBtree(tls *libc.TLS, pBuilder uintptr, mPrereq Bitmask) int32 { /* sqlite3.c:155209:12: */ +func whereLoopAddBtree(tls *libc.TLS, pBuilder uintptr, mPrereq Bitmask) int32 { /* sqlite3.c:155232:12: */ bp := tls.Alloc(158) defer tls.Free(158) @@ -137287,7 +137314,7 @@ __3: } // Return true if pTerm is a virtual table LIMIT or OFFSET term. -func isLimitTerm(tls *libc.TLS, pTerm uintptr) int32 { /* sqlite3.c:155467:12: */ +func isLimitTerm(tls *libc.TLS, pTerm uintptr) int32 { /* sqlite3.c:155490:12: */ return libc.Bool32(int32((*WhereTerm)(unsafe.Pointer(pTerm)).FeMatchOp) >= SQLITE_INDEX_CONSTRAINT_LIMIT && int32((*WhereTerm)(unsafe.Pointer(pTerm)).FeMatchOp) <= SQLITE_INDEX_CONSTRAINT_OFFSET) @@ -137311,7 +137338,7 @@ func isLimitTerm(tls *libc.TLS, pTerm uintptr) int32 { /* sqlite3.c:155467:12: * // // Output parameter *pbIn is set to true if the plan added to pBuilder // uses one or more WO_IN terms, or false otherwise. -func whereLoopAddVirtualOne(tls *libc.TLS, pBuilder uintptr, mPrereq Bitmask, mUsable Bitmask, mExclude U16, pIdxInfo uintptr, mNoOmit U16, pbIn uintptr, pbRetryLimit uintptr) int32 { /* sqlite3.c:155493:12: */ +func whereLoopAddVirtualOne(tls *libc.TLS, pBuilder uintptr, mPrereq Bitmask, mUsable Bitmask, mExclude U16, pIdxInfo uintptr, mNoOmit U16, pbIn uintptr, pbRetryLimit uintptr) int32 { /* sqlite3.c:155516:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -137535,7 +137562,7 @@ __6: // 2. Else, if the column has an alternative collation, return that. // // 3. Otherwise, return "BINARY". -func Xsqlite3_vtab_collation(tls *libc.TLS, pIdxInfo uintptr, iCons int32) uintptr { /* sqlite3.c:155685:23: */ +func Xsqlite3_vtab_collation(tls *libc.TLS, pIdxInfo uintptr, iCons int32) uintptr { /* sqlite3.c:155708:23: */ var pHidden uintptr = pIdxInfo + 1*96 var zRet uintptr = uintptr(0) if iCons >= 0 && iCons < (*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FnConstraint { @@ -137558,7 +137585,7 @@ func Xsqlite3_vtab_collation(tls *libc.TLS, pIdxInfo uintptr, iCons int32) uintp // Return true if constraint iCons is really an IN(...) constraint, or // false otherwise. If iCons is an IN(...) constraint, set (if bHandle!=0) // or clear (if bHandle==0) the flag to handle it using an iterator. -func Xsqlite3_vtab_in(tls *libc.TLS, pIdxInfo uintptr, iCons int32, bHandle int32) int32 { /* sqlite3.c:155705:16: */ +func Xsqlite3_vtab_in(tls *libc.TLS, pIdxInfo uintptr, iCons int32, bHandle int32) int32 { /* sqlite3.c:155728:16: */ var pHidden uintptr = pIdxInfo + 1*96 var m U32 = func() uint32 { if iCons <= 31 { @@ -137581,7 +137608,7 @@ func Xsqlite3_vtab_in(tls *libc.TLS, pIdxInfo uintptr, iCons int32, bHandle int3 // // If possible, set (*ppVal) to point to an object containing the value // on the right-hand-side of constraint iCons. -func Xsqlite3_vtab_rhs_value(tls *libc.TLS, pIdxInfo uintptr, iCons int32, ppVal uintptr) int32 { /* sqlite3.c:155725:16: */ +func Xsqlite3_vtab_rhs_value(tls *libc.TLS, pIdxInfo uintptr, iCons int32, ppVal uintptr) int32 { /* sqlite3.c:155748:16: */ var pH uintptr = pIdxInfo + 1*96 var pVal uintptr = uintptr(0) var rc int32 = SQLITE_OK @@ -137607,7 +137634,7 @@ func Xsqlite3_vtab_rhs_value(tls *libc.TLS, pIdxInfo uintptr, iCons int32, ppVal } // Return true if ORDER BY clause may be handled as DISTINCT. -func Xsqlite3_vtab_distinct(tls *libc.TLS, pIdxInfo uintptr) int32 { /* sqlite3.c:155758:16: */ +func Xsqlite3_vtab_distinct(tls *libc.TLS, pIdxInfo uintptr) int32 { /* sqlite3.c:155781:16: */ var pHidden uintptr = pIdxInfo + 1*96 return (*HiddenIndexInfo)(unsafe.Pointer(pHidden)).FeDistinct @@ -137636,7 +137663,7 @@ func Xsqlite3_vtab_distinct(tls *libc.TLS, pIdxInfo uintptr) int32 { /* sqlite3. // Conversely, all tables in mUnusable must be scanned after the current // virtual table, so any terms for which the prerequisites overlap with // mUnusable should always be configured as "not-usable" for xBestIndex. -func whereLoopAddVirtual(tls *libc.TLS, pBuilder uintptr, mPrereq Bitmask, mUnusable Bitmask) int32 { /* sqlite3.c:155807:12: */ +func whereLoopAddVirtual(tls *libc.TLS, pBuilder uintptr, mPrereq Bitmask, mUnusable Bitmask) int32 { /* sqlite3.c:155830:12: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -137772,7 +137799,7 @@ func whereLoopAddVirtual(tls *libc.TLS, pBuilder uintptr, mPrereq Bitmask, mUnus // Add WhereLoop entries to handle OR terms. This works for either // btrees or virtual tables. -func whereLoopAddOr(tls *libc.TLS, pBuilder uintptr, mPrereq Bitmask, mUnusable Bitmask) int32 { /* sqlite3.c:155938:12: */ +func whereLoopAddOr(tls *libc.TLS, pBuilder uintptr, mPrereq Bitmask, mUnusable Bitmask) int32 { /* sqlite3.c:155961:12: */ bp := tls.Alloc(712) defer tls.Free(712) @@ -137897,7 +137924,7 @@ func whereLoopAddOr(tls *libc.TLS, pBuilder uintptr, mPrereq Bitmask, mUnusable } // Add all WhereLoop objects for all tables -func whereLoopAddAll(tls *libc.TLS, pBuilder uintptr) int32 { /* sqlite3.c:156064:12: */ +func whereLoopAddAll(tls *libc.TLS, pBuilder uintptr) int32 { /* sqlite3.c:156087:12: */ var pWInfo uintptr = (*WhereLoopBuilder)(unsafe.Pointer(pBuilder)).FpWInfo var mPrereq Bitmask = uint64(0) var mPrior Bitmask = uint64(0) @@ -137985,7 +138012,7 @@ __3: // as equivalent rows are grouped together. Thus for GROUP BY and DISTINCT // the pOrderBy terms can be matched in any order. With ORDER BY, the // pOrderBy terms must be matched in strict left-to-right order. -func wherePathSatisfiesOrderBy(tls *libc.TLS, pWInfo uintptr, pOrderBy uintptr, pPath uintptr, wctrlFlags U16, nLoop U16, pLast uintptr, pRevMask uintptr) I8 { /* sqlite3.c:156142:11: */ +func wherePathSatisfiesOrderBy(tls *libc.TLS, pWInfo uintptr, pOrderBy uintptr, pPath uintptr, wctrlFlags U16, nLoop U16, pLast uintptr, pRevMask uintptr) I8 { /* sqlite3.c:156165:11: */ var revSet U8 // True if rev is known var rev U8 // Composite sort order var revIdx U8 // Index sort order @@ -138353,7 +138380,7 @@ func wherePathSatisfiesOrderBy(tls *libc.TLS, pWInfo uintptr, pOrderBy uintptr, // // SELECT * FROM t1 GROUP BY x,y ORDER BY x,y; -- IsSorted()==1 // SELECT * FROM t1 GROUP BY y,x ORDER BY y,x; -- IsSorted()==0 -func Xsqlite3WhereIsSorted(tls *libc.TLS, pWInfo uintptr) int32 { /* sqlite3.c:156487:20: */ +func Xsqlite3WhereIsSorted(tls *libc.TLS, pWInfo uintptr) int32 { /* sqlite3.c:156510:20: */ return int32(*(*uint8)(unsafe.Pointer(pWInfo + 76)) & 0x10 >> 4) } @@ -138361,7 +138388,7 @@ func Xsqlite3WhereIsSorted(tls *libc.TLS, pWInfo uintptr) int32 { /* sqlite3.c:1 // Return the cost of sorting nRow rows, assuming that the keys have // nOrderby columns and that the first nSorted columns are already in // order. -func whereSortingCost(tls *libc.TLS, pWInfo uintptr, nRow LogEst, nOrderBy int32, nSorted int32) LogEst { /* sqlite3.c:156510:15: */ +func whereSortingCost(tls *libc.TLS, pWInfo uintptr, nRow LogEst, nOrderBy int32, nSorted int32) LogEst { /* sqlite3.c:156533:15: */ // TUNING: Estimated cost of a full external sort, where N is // the number of rows to sort is: // @@ -138408,7 +138435,7 @@ func whereSortingCost(tls *libc.TLS, pWInfo uintptr, nRow LogEst, nOrderBy int32 // // Return SQLITE_OK on success or SQLITE_NOMEM of a memory allocation // error occurs. -func wherePathSolver(tls *libc.TLS, pWInfo uintptr, nRowEst LogEst) int32 { /* sqlite3.c:156563:12: */ +func wherePathSolver(tls *libc.TLS, pWInfo uintptr, nRowEst LogEst) int32 { /* sqlite3.c:156586:12: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -138815,7 +138842,7 @@ __3: // Return non-zero on success, if this query can be handled by this // no-frills query planner. Return zero if this query needs the // general-purpose query planner. -func whereShortCut(tls *libc.TLS, pBuilder uintptr) int32 { /* sqlite3.c:156955:12: */ +func whereShortCut(tls *libc.TLS, pBuilder uintptr) int32 { /* sqlite3.c:156978:12: */ bp := tls.Alloc(112) defer tls.Free(112) @@ -138922,7 +138949,7 @@ func whereShortCut(tls *libc.TLS, pBuilder uintptr) int32 { /* sqlite3.c:156955: } // Helper function for exprIsDeterministic(). -func exprNodeIsDeterministic(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:157046:12: */ +func exprNodeIsDeterministic(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:157069:12: */ if int32((*Expr)(unsafe.Pointer(pExpr)).Fop) == TK_FUNCTION && libc.Bool32((*Expr)(unsafe.Pointer(pExpr)).Fflags&U32(EP_ConstFunc) != U32(0)) == 0 { (*Walker)(unsafe.Pointer(pWalker)).FeCode = U16(0) return WRC_Abort @@ -138933,7 +138960,7 @@ func exprNodeIsDeterministic(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int3 // Return true if the expression contains no non-deterministic SQL // functions. Do not consider non-deterministic SQL functions that are // part of sub-select statements. -func exprIsDeterministic(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:157059:12: */ +func exprIsDeterministic(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:157082:12: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -138979,7 +139006,7 @@ func exprIsDeterministic(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:157059:1 // SELECT DISTINCT v1, v3 FROM t1 // LEFT JOIN t2 // LEFT JOIN t3 ON (t1.ipk=t3.ipk) -func whereOmitNoopJoin(tls *libc.TLS, pWInfo uintptr, notReady Bitmask) Bitmask { /* sqlite3.c:157120:32: */ +func whereOmitNoopJoin(tls *libc.TLS, pWInfo uintptr, notReady Bitmask) Bitmask { /* sqlite3.c:157143:32: */ var i int32 var tabUsed Bitmask @@ -139054,7 +139081,7 @@ func whereOmitNoopJoin(tls *libc.TLS, pWInfo uintptr, notReady Bitmask) Bitmask // appropriate, and if so sets the WHERE_BLOOMFILTER flag on the // WhereLoop. The implementation of the Bloom filter comes further // down where the code for each WhereLoop is generated. -func whereCheckIfBloomFilterIsUseful(tls *libc.TLS, pWInfo uintptr) { /* sqlite3.c:157199:29: */ +func whereCheckIfBloomFilterIsUseful(tls *libc.TLS, pWInfo uintptr) { /* sqlite3.c:157222:29: */ var i int32 var nSearch LogEst @@ -139166,7 +139193,7 @@ func whereCheckIfBloomFilterIsUseful(tls *libc.TLS, pWInfo uintptr) { /* sqlite3 // the first cursor in an array of cursors for all indices. iIdxCur should // be used to compute the appropriate cursor depending on which index is // used. -func Xsqlite3WhereBegin(tls *libc.TLS, pParse uintptr, pTabList uintptr, pWhere uintptr, pOrderBy uintptr, pResultSet uintptr, pLimit uintptr, wctrlFlags U16, iAuxArg int32) uintptr { /* sqlite3.c:157323:26: */ +func Xsqlite3WhereBegin(tls *libc.TLS, pParse uintptr, pTabList uintptr, pWhere uintptr, pOrderBy uintptr, pResultSet uintptr, pLimit uintptr, wctrlFlags U16, iAuxArg int32) uintptr { /* sqlite3.c:157346:26: */ bp := tls.Alloc(64) defer tls.Free(64) @@ -139851,7 +139878,7 @@ __78: // Generate the end of the WHERE loop. See comments on // sqlite3WhereBegin() for additional information. -func Xsqlite3WhereEnd(tls *libc.TLS, pWInfo uintptr) { /* sqlite3.c:157889:21: */ +func Xsqlite3WhereEnd(tls *libc.TLS, pWInfo uintptr) { /* sqlite3.c:157932:21: */ var pParse uintptr = (*WhereInfo)(unsafe.Pointer(pWInfo)).FpParse var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe var i int32 @@ -140064,12 +140091,12 @@ __4: int32((*VdbeOp)(unsafe.Pointer(pOp)).Fopcode) == OP_Offset { var x int32 = (*VdbeOp)(unsafe.Pointer(pOp)).Fp2 - if !((*Table)(unsafe.Pointer(pTab)).FtabFlags&U32(TF_WithoutRowid) == U32(0)) { + if int32((*VdbeOp)(unsafe.Pointer(pOp)).Fopcode) == OP_Offset { + // Do not need to translate the column number + } else if !((*Table)(unsafe.Pointer(pTab)).FtabFlags&U32(TF_WithoutRowid) == U32(0)) { var pPk uintptr = Xsqlite3PrimaryKeyIndex(tls, pTab) x = int32(*(*I16)(unsafe.Pointer((*Index)(unsafe.Pointer(pPk)).FaiColumn + uintptr(x)*2))) - } else if int32((*VdbeOp)(unsafe.Pointer(pOp)).Fopcode) == OP_Offset { - // Do not need to translate the column number } else { x = int32(Xsqlite3StorageColumnToTable(tls, pTab, int16(x))) @@ -140079,8 +140106,12 @@ __4: (*VdbeOp)(unsafe.Pointer(pOp)).Fp2 = x (*VdbeOp)(unsafe.Pointer(pOp)).Fp1 = (*WhereLevel)(unsafe.Pointer(pLevel)).FiIdxCur - } + } else { + // Unable to translate the table reference into an index + // reference. Verify that this is harmless - that the + // table being referenced really is open. + } } else if int32((*VdbeOp)(unsafe.Pointer(pOp)).Fopcode) == OP_Rowid { (*VdbeOp)(unsafe.Pointer(pOp)).Fp1 = (*WhereLevel)(unsafe.Pointer(pLevel)).FiIdxCur (*VdbeOp)(unsafe.Pointer(pOp)).Fopcode = U8(OP_IdxRowid) @@ -140251,7 +140282,7 @@ __6: // window frame has been coerced to: // // ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW -func row_numberStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158331:13: */ +func row_numberStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158388:13: */ var p uintptr = Xsqlite3_aggregate_context(tls, pCtx, int32(unsafe.Sizeof(I64(0)))) if p != 0 { *(*I64)(unsafe.Pointer(p))++ @@ -140260,7 +140291,7 @@ func row_numberStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) _ = apArg } -func row_numberValueFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158341:13: */ +func row_numberValueFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158398:13: */ var p uintptr = Xsqlite3_aggregate_context(tls, pCtx, int32(unsafe.Sizeof(I64(0)))) Xsqlite3_result_int64(tls, pCtx, func() int64 { if p != 0 { @@ -140276,13 +140307,13 @@ type CallCount = struct { FnValue I64 FnStep I64 FnTotal I64 -} /* sqlite3.c:158350:1 */ +} /* sqlite3.c:158407:1 */ // Implementation of built-in window function dense_rank(). Assumes that // the window frame has been set to: // // RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW -func dense_rankStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158362:13: */ +func dense_rankStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158419:13: */ var p uintptr p = Xsqlite3_aggregate_context(tls, pCtx, int32(unsafe.Sizeof(CallCount{}))) if p != 0 { @@ -140292,7 +140323,7 @@ func dense_rankStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) _ = apArg } -func dense_rankValueFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158373:13: */ +func dense_rankValueFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158430:13: */ var p uintptr p = Xsqlite3_aggregate_context(tls, pCtx, int32(unsafe.Sizeof(CallCount{}))) if p != 0 { @@ -140310,9 +140341,9 @@ func dense_rankValueFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158373:13: type NthValueCtx = struct { FnStep I64 FpValue uintptr -} /* sqlite3.c:158390:1 */ +} /* sqlite3.c:158447:1 */ -func nth_valueStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158394:13: */ +func nth_valueStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158451:13: */ var p uintptr var fVal float64 var iVal I64 @@ -140378,7 +140409,7 @@ error_out: pCtx, ts+21899, -1) } -func nth_valueFinalizeFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158435:13: */ +func nth_valueFinalizeFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158492:13: */ var p uintptr p = Xsqlite3_aggregate_context(tls, pCtx, 0) if p != 0 && (*NthValueCtx)(unsafe.Pointer(p)).FpValue != 0 { @@ -140388,7 +140419,7 @@ func nth_valueFinalizeFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158435:13 } } -func first_valueStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158447:13: */ +func first_valueStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158504:13: */ var p uintptr p = Xsqlite3_aggregate_context(tls, pCtx, int32(unsafe.Sizeof(NthValueCtx{}))) if p != 0 && (*NthValueCtx)(unsafe.Pointer(p)).FpValue == uintptr(0) { @@ -140401,7 +140432,7 @@ func first_valueStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) _ = apArg } -func first_valueFinalizeFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158463:13: */ +func first_valueFinalizeFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158520:13: */ var p uintptr p = Xsqlite3_aggregate_context(tls, pCtx, int32(unsafe.Sizeof(NthValueCtx{}))) if p != 0 && (*NthValueCtx)(unsafe.Pointer(p)).FpValue != 0 { @@ -140415,7 +140446,7 @@ func first_valueFinalizeFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158463: // the window frame has been set to: // // RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW -func rankStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158481:13: */ +func rankStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158538:13: */ var p uintptr p = Xsqlite3_aggregate_context(tls, pCtx, int32(unsafe.Sizeof(CallCount{}))) if p != 0 { @@ -140428,7 +140459,7 @@ func rankStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* s _ = apArg } -func rankValueFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158497:13: */ +func rankValueFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158554:13: */ var p uintptr p = Xsqlite3_aggregate_context(tls, pCtx, int32(unsafe.Sizeof(CallCount{}))) if p != 0 { @@ -140441,7 +140472,7 @@ func rankValueFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158497:13: */ // the window frame has been set to: // // GROUPS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING -func percent_rankStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158512:13: */ +func percent_rankStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158569:13: */ var p uintptr _ = nArg _ = apArg @@ -140451,7 +140482,7 @@ func percent_rankStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr } } -func percent_rankInvFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158525:13: */ +func percent_rankInvFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158582:13: */ var p uintptr _ = nArg _ = apArg @@ -140459,7 +140490,7 @@ func percent_rankInvFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) (*CallCount)(unsafe.Pointer(p)).FnStep++ } -func percent_rankValueFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158536:13: */ +func percent_rankValueFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158593:13: */ var p uintptr p = Xsqlite3_aggregate_context(tls, pCtx, int32(unsafe.Sizeof(CallCount{}))) if p != 0 { @@ -140477,7 +140508,7 @@ func percent_rankValueFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158536:13 // the window frame has been set to: // // GROUPS BETWEEN 1 FOLLOWING AND UNBOUNDED FOLLOWING -func cume_distStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158557:13: */ +func cume_distStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158614:13: */ var p uintptr _ = nArg _ = apArg @@ -140487,7 +140518,7 @@ func cume_distStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { } } -func cume_distInvFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158570:13: */ +func cume_distInvFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158627:13: */ var p uintptr _ = nArg _ = apArg @@ -140495,7 +140526,7 @@ func cume_distInvFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { (*CallCount)(unsafe.Pointer(p)).FnStep++ } -func cume_distValueFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158581:13: */ +func cume_distValueFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158638:13: */ var p uintptr p = Xsqlite3_aggregate_context(tls, pCtx, 0) if p != 0 { @@ -140509,13 +140540,13 @@ type NtileCtx = struct { FnTotal I64 FnParam I64 FiRow I64 -} /* sqlite3.c:158594:1 */ +} /* sqlite3.c:158651:1 */ // Implementation of ntile(). This assumes that the window frame has // been coerced to: // // ROWS CURRENT ROW AND UNBOUNDED FOLLOWING -func ntileStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158606:13: */ +func ntileStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158663:13: */ var p uintptr _ = nArg p = Xsqlite3_aggregate_context(tls, pCtx, int32(unsafe.Sizeof(NtileCtx{}))) @@ -140531,7 +140562,7 @@ func ntileStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* } } -func ntileInvFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158626:13: */ +func ntileInvFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158683:13: */ var p uintptr _ = nArg _ = apArg @@ -140539,7 +140570,7 @@ func ntileInvFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* s (*NtileCtx)(unsafe.Pointer(p)).FiRow++ } -func ntileValueFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158637:13: */ +func ntileValueFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158694:13: */ var p uintptr p = Xsqlite3_aggregate_context(tls, pCtx, int32(unsafe.Sizeof(NtileCtx{}))) if p != 0 && (*NtileCtx)(unsafe.Pointer(p)).FnParam > int64(0) { @@ -140565,10 +140596,10 @@ type LastValueCtx = struct { FpVal uintptr FnVal int32 F__ccgo_pad1 [4]byte -} /* sqlite3.c:158664:1 */ +} /* sqlite3.c:158721:1 */ // Implementation of last_value(). -func last_valueStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158672:13: */ +func last_valueStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158729:13: */ var p uintptr _ = nArg p = Xsqlite3_aggregate_context(tls, pCtx, int32(unsafe.Sizeof(LastValueCtx{}))) @@ -140583,7 +140614,7 @@ func last_valueStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) } } -func last_valueInvFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158690:13: */ +func last_valueInvFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158747:13: */ var p uintptr _ = nArg _ = apArg @@ -140597,7 +140628,7 @@ func last_valueInvFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { } } -func last_valueValueFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158707:13: */ +func last_valueValueFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158764:13: */ var p uintptr p = Xsqlite3_aggregate_context(tls, pCtx, 0) if p != 0 && (*LastValueCtx)(unsafe.Pointer(p)).FpVal != 0 { @@ -140605,7 +140636,7 @@ func last_valueValueFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158707:13: } } -func last_valueFinalizeFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158714:13: */ +func last_valueFinalizeFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158771:13: */ var p uintptr p = Xsqlite3_aggregate_context(tls, pCtx, int32(unsafe.Sizeof(LastValueCtx{}))) if p != 0 && (*LastValueCtx)(unsafe.Pointer(p)).FpVal != 0 { @@ -140621,17 +140652,17 @@ func last_valueFinalizeFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158714:1 // comparison of the zName pointer. Example: // // if( pFuncDef->zName==row_valueName ){ ... } -var row_numberName = *(*[11]uint8)(unsafe.Pointer(ts + 22000)) /* sqlite3.c:158732:19 */ -var dense_rankName = *(*[11]uint8)(unsafe.Pointer(ts + 22011)) /* sqlite3.c:158733:19 */ -var rankName = *(*[5]uint8)(unsafe.Pointer(ts + 22022)) /* sqlite3.c:158734:19 */ -var percent_rankName = *(*[13]uint8)(unsafe.Pointer(ts + 22027)) /* sqlite3.c:158735:19 */ -var cume_distName = *(*[10]uint8)(unsafe.Pointer(ts + 22040)) /* sqlite3.c:158736:19 */ -var ntileName = *(*[6]uint8)(unsafe.Pointer(ts + 22050)) /* sqlite3.c:158737:19 */ -var last_valueName = *(*[11]uint8)(unsafe.Pointer(ts + 22056)) /* sqlite3.c:158738:19 */ -var nth_valueName = *(*[10]uint8)(unsafe.Pointer(ts + 22067)) /* sqlite3.c:158739:19 */ -var first_valueName = *(*[12]uint8)(unsafe.Pointer(ts + 22077)) /* sqlite3.c:158740:19 */ -var leadName = *(*[5]uint8)(unsafe.Pointer(ts + 22089)) /* sqlite3.c:158741:19 */ -var lagName = *(*[4]uint8)(unsafe.Pointer(ts + 22094 /* "lag" */)) /* sqlite3.c:158742:19 */ +var row_numberName = *(*[11]uint8)(unsafe.Pointer(ts + 22000)) /* sqlite3.c:158789:19 */ +var dense_rankName = *(*[11]uint8)(unsafe.Pointer(ts + 22011)) /* sqlite3.c:158790:19 */ +var rankName = *(*[5]uint8)(unsafe.Pointer(ts + 22022)) /* sqlite3.c:158791:19 */ +var percent_rankName = *(*[13]uint8)(unsafe.Pointer(ts + 22027)) /* sqlite3.c:158792:19 */ +var cume_distName = *(*[10]uint8)(unsafe.Pointer(ts + 22040)) /* sqlite3.c:158793:19 */ +var ntileName = *(*[6]uint8)(unsafe.Pointer(ts + 22050)) /* sqlite3.c:158794:19 */ +var last_valueName = *(*[11]uint8)(unsafe.Pointer(ts + 22056)) /* sqlite3.c:158795:19 */ +var nth_valueName = *(*[10]uint8)(unsafe.Pointer(ts + 22067)) /* sqlite3.c:158796:19 */ +var first_valueName = *(*[12]uint8)(unsafe.Pointer(ts + 22077)) /* sqlite3.c:158797:19 */ +var leadName = *(*[5]uint8)(unsafe.Pointer(ts + 22089)) /* sqlite3.c:158798:19 */ +var lagName = *(*[4]uint8)(unsafe.Pointer(ts + 22094 /* "lag" */)) /* sqlite3.c:158799:19 */ // No-op implementations of xStep() and xFinalize(). Used as place-holders // for built-in window functions that never call those interfaces. @@ -140640,7 +140671,7 @@ var lagName = *(*[4]uint8)(unsafe.Pointer(ts + 22094 /* "lag" */)) /* sqlite3.c: // noopStepFunc() is never called, and so it is marked with NO_TEST to // let the test coverage routine know not to expect this function to be // invoked. -func noopStepFunc(tls *libc.TLS, p uintptr, n int32, a uintptr) { /* sqlite3.c:158753:13: */ //NO_TEST +func noopStepFunc(tls *libc.TLS, p uintptr, n int32, a uintptr) { /* sqlite3.c:158810:13: */ //NO_TEST _ = p //NO_TEST _ = n //NO_TEST _ = a //NO_TEST @@ -140648,7 +140679,7 @@ func noopStepFunc(tls *libc.TLS, p uintptr, n int32, a uintptr) { /* sqlite3.c:1 } //NO_TEST -func noopValueFunc(tls *libc.TLS, p uintptr) { /* sqlite3.c:158763:13: */ +func noopValueFunc(tls *libc.TLS, p uintptr) { /* sqlite3.c:158820:13: */ _ = p /*no-op*/ } @@ -140663,7 +140694,7 @@ func noopValueFunc(tls *libc.TLS, p uintptr) { /* sqlite3.c:158763:13: */ // xInverse. // Register those built-in window functions that are not also aggregates. -func Xsqlite3WindowFunctions(tls *libc.TLS) { /* sqlite3.c:158794:21: */ +func Xsqlite3WindowFunctions(tls *libc.TLS) { /* sqlite3.c:158851:21: */ Xsqlite3InsertBuiltinFuncs(tls, uintptr(unsafe.Pointer(&aWindowFuncs)), int32(uint64(unsafe.Sizeof(aWindowFuncs))/uint64(unsafe.Sizeof(FuncDef{})))) } @@ -140682,9 +140713,9 @@ var aWindowFuncs = [15]FuncDef{ {FnArg: int8(3), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_UTF8 | SQLITE_FUNC_WINDOW | 0), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: 0}, {FnArg: int8(1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_UTF8 | SQLITE_FUNC_WINDOW | 0), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: 0}, {FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_UTF8 | SQLITE_FUNC_WINDOW | 0), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: 0}, - {FnArg: int8(3), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_UTF8 | SQLITE_FUNC_WINDOW | 0), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: 0}} /* sqlite3.c:158795:18 */ + {FnArg: int8(3), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_UTF8 | SQLITE_FUNC_WINDOW | 0), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: 0}} /* sqlite3.c:158852:18 */ -func windowFind(tls *libc.TLS, pParse uintptr, pList uintptr, zName uintptr) uintptr { /* sqlite3.c:158815:15: */ +func windowFind(tls *libc.TLS, pParse uintptr, pList uintptr, zName uintptr) uintptr { /* sqlite3.c:158872:15: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -140715,7 +140746,7 @@ func windowFind(tls *libc.TLS, pParse uintptr, pList uintptr, zName uintptr) uin // * If the function is a built-in window function that requires the // window to be coerced (see "BUILT-IN WINDOW FUNCTIONS" at the top // of this file), pWin is updated here. -func Xsqlite3WindowUpdate(tls *libc.TLS, pParse uintptr, pList uintptr, pWin uintptr, pFunc uintptr) { /* sqlite3.c:158843:21: */ +func Xsqlite3WindowUpdate(tls *libc.TLS, pParse uintptr, pList uintptr, pWin uintptr, pFunc uintptr) { /* sqlite3.c:158900:21: */ bp := tls.Alloc(192) defer tls.Free(192) @@ -140783,16 +140814,16 @@ type WindowUpdate = struct { FeStart int32 FeEnd int32 F__ccgo_pad1 [4]byte -} /* sqlite3.c:158878:7 */ +} /* sqlite3.c:158935:7 */ // Context object passed through sqlite3WalkExprList() to // selectWindowRewriteExprCb() by selectWindowRewriteEList(). -type WindowRewrite = WindowRewrite1 /* sqlite3.c:158918:30 */ +type WindowRewrite = WindowRewrite1 /* sqlite3.c:158975:30 */ // Callback function used by selectWindowRewriteEList(). If necessary, // this function appends to the output expression-list and updates // expression (*ppExpr) in place. -func selectWindowRewriteExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:158932:12: */ +func selectWindowRewriteExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:158989:12: */ var p uintptr = *(*uintptr)(unsafe.Pointer(pWalker + 40)) var pParse uintptr = (*Walker)(unsafe.Pointer(pWalker)).FpParse @@ -140891,7 +140922,7 @@ func selectWindowRewriteExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) in return WRC_Continue } -func selectWindowRewriteSelectCb(tls *libc.TLS, pWalker uintptr, pSelect uintptr) int32 { /* sqlite3.c:159014:12: */ +func selectWindowRewriteSelectCb(tls *libc.TLS, pWalker uintptr, pSelect uintptr) int32 { /* sqlite3.c:159071:12: */ var p uintptr = *(*uintptr)(unsafe.Pointer(pWalker + 40)) var pSave uintptr = (*WindowRewrite1)(unsafe.Pointer(p)).FpSubSelect if pSave == pSelect { @@ -140915,7 +140946,7 @@ func selectWindowRewriteSelectCb(tls *libc.TLS, pWalker uintptr, pSelect uintptr // with a TK_COLUMN that reads the (N-1)th element of table // pWin->iEphCsr, where N is the number of elements in (*ppSub) after // appending the new one. -func selectWindowRewriteEList(tls *libc.TLS, pParse uintptr, pWin uintptr, pSrc uintptr, pEList uintptr, pTab uintptr, ppSub uintptr) { /* sqlite3.c:159041:13: */ +func selectWindowRewriteEList(tls *libc.TLS, pParse uintptr, pWin uintptr, pSrc uintptr, pEList uintptr, pTab uintptr, ppSub uintptr) { /* sqlite3.c:159098:13: */ bp := tls.Alloc(88) defer tls.Free(88) @@ -140947,7 +140978,7 @@ func selectWindowRewriteEList(tls *libc.TLS, pParse uintptr, pWin uintptr, pSrc // Append a copy of each expression in expression-list pAppend to // expression list pList. Return a pointer to the result list. -func exprListAppendList(tls *libc.TLS, pParse uintptr, pList uintptr, pAppend uintptr, bIntToNull int32) uintptr { /* sqlite3.c:159075:17: */ +func exprListAppendList(tls *libc.TLS, pParse uintptr, pList uintptr, pAppend uintptr, bIntToNull int32) uintptr { /* sqlite3.c:159132:17: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -140993,7 +141024,7 @@ func exprListAppendList(tls *libc.TLS, pParse uintptr, pList uintptr, pAppend ui // due to the extra subquery layer that was added. // // See also the incrAggDepth() routine in resolve.c -func sqlite3WindowExtraAggFuncDepth(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:159117:12: */ +func sqlite3WindowExtraAggFuncDepth(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:159174:12: */ if int32((*Expr)(unsafe.Pointer(pExpr)).Fop) == TK_AGG_FUNCTION && int32((*Expr)(unsafe.Pointer(pExpr)).Fop2) >= (*Walker)(unsafe.Pointer(pWalker)).FwalkerDepth { (*Expr)(unsafe.Pointer(pExpr)).Fop2++ @@ -141001,7 +141032,7 @@ func sqlite3WindowExtraAggFuncDepth(tls *libc.TLS, pWalker uintptr, pExpr uintpt return WRC_Continue } -func disallowAggregatesInOrderByCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:159126:12: */ +func disallowAggregatesInOrderByCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:159183:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -141018,7 +141049,7 @@ func disallowAggregatesInOrderByCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr // rewrites the SELECT statement so that window function xStep functions // are invoked in the correct order as described under "SELECT REWRITING" // at the top of this file. -func Xsqlite3WindowRewrite(tls *libc.TLS, pParse uintptr, p uintptr) int32 { /* sqlite3.c:159142:20: */ +func Xsqlite3WindowRewrite(tls *libc.TLS, pParse uintptr, p uintptr) int32 { /* sqlite3.c:159199:20: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -141202,7 +141233,7 @@ func Xsqlite3WindowRewrite(tls *libc.TLS, pParse uintptr, p uintptr) int32 { /* // Unlink the Window object from the Select to which it is attached, // if it is attached. -func Xsqlite3WindowUnlinkFromSelect(tls *libc.TLS, p uintptr) { /* sqlite3.c:159306:21: */ +func Xsqlite3WindowUnlinkFromSelect(tls *libc.TLS, p uintptr) { /* sqlite3.c:159363:21: */ if (*Window)(unsafe.Pointer(p)).FppThis != 0 { *(*uintptr)(unsafe.Pointer((*Window)(unsafe.Pointer(p)).FppThis)) = (*Window)(unsafe.Pointer(p)).FpNextWin if (*Window)(unsafe.Pointer(p)).FpNextWin != 0 { @@ -141213,7 +141244,7 @@ func Xsqlite3WindowUnlinkFromSelect(tls *libc.TLS, p uintptr) { /* sqlite3.c:159 } // Free the Window object passed as the second argument. -func Xsqlite3WindowDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:159317:21: */ +func Xsqlite3WindowDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:159374:21: */ if p != 0 { Xsqlite3WindowUnlinkFromSelect(tls, p) Xsqlite3ExprDelete(tls, db, (*Window)(unsafe.Pointer(p)).FpFilter) @@ -141228,7 +141259,7 @@ func Xsqlite3WindowDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:1 } // Free the linked list of Window objects starting at the second argument. -func Xsqlite3WindowListDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:159334:21: */ +func Xsqlite3WindowListDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:159391:21: */ for p != 0 { var pNext uintptr = (*Window)(unsafe.Pointer(p)).FpNextWin Xsqlite3WindowDelete(tls, db, p) @@ -141241,7 +141272,7 @@ func Xsqlite3WindowListDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3 // constant, change it to NULL. The fact that it is then a non-negative // integer will be caught later. But it is important not to leave // variable values in the expression tree. -func sqlite3WindowOffsetExpr(tls *libc.TLS, pParse uintptr, pExpr uintptr) uintptr { /* sqlite3.c:159349:13: */ +func sqlite3WindowOffsetExpr(tls *libc.TLS, pParse uintptr, pExpr uintptr) uintptr { /* sqlite3.c:159406:13: */ if 0 == Xsqlite3ExprIsConstant(tls, pExpr) { if int32((*Parse)(unsafe.Pointer(pParse)).FeParseMode) >= PARSE_MODE_RENAME { Xsqlite3RenameExprUnmap(tls, pParse, pExpr) @@ -141253,7 +141284,7 @@ func sqlite3WindowOffsetExpr(tls *libc.TLS, pParse uintptr, pExpr uintptr) uintp } // Allocate and return a new Window object describing a Window Definition. -func Xsqlite3WindowAlloc(tls *libc.TLS, pParse uintptr, eType int32, eStart int32, pStart uintptr, eEnd int32, pEnd uintptr, eExclude U8) uintptr { /* sqlite3.c:159361:23: */ +func Xsqlite3WindowAlloc(tls *libc.TLS, pParse uintptr, eType int32, eStart int32, pStart uintptr, eEnd int32, pEnd uintptr, eExclude U8) uintptr { /* sqlite3.c:159418:23: */ var pWin uintptr var bImplicitFrame int32 pWin = uintptr(0) @@ -141322,7 +141353,7 @@ windowAllocErr: // Attach PARTITION and ORDER BY clauses pPartition and pOrderBy to window // pWin. Also, if parameter pBase is not NULL, set pWin->zBase to the // equivalent nul-terminated string. -func Xsqlite3WindowAssemble(tls *libc.TLS, pParse uintptr, pWin uintptr, pPartition uintptr, pOrderBy uintptr, pBase uintptr) uintptr { /* sqlite3.c:159433:23: */ +func Xsqlite3WindowAssemble(tls *libc.TLS, pParse uintptr, pWin uintptr, pPartition uintptr, pOrderBy uintptr, pBase uintptr) uintptr { /* sqlite3.c:159490:23: */ if pWin != 0 { (*Window)(unsafe.Pointer(pWin)).FpPartition = pPartition (*Window)(unsafe.Pointer(pWin)).FpOrderBy = pOrderBy @@ -141341,7 +141372,7 @@ func Xsqlite3WindowAssemble(tls *libc.TLS, pParse uintptr, pWin uintptr, pPartit // stored in the linked list starting at pWin->pNextWin. This function // either updates *pWin according to the base specification, or else // leaves an error in pParse. -func Xsqlite3WindowChain(tls *libc.TLS, pParse uintptr, pWin uintptr, pList uintptr) { /* sqlite3.c:159460:21: */ +func Xsqlite3WindowChain(tls *libc.TLS, pParse uintptr, pWin uintptr, pList uintptr) { /* sqlite3.c:159517:21: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -141375,7 +141406,7 @@ func Xsqlite3WindowChain(tls *libc.TLS, pParse uintptr, pWin uintptr, pList uint } // Attach window object pWin to expression p. -func Xsqlite3WindowAttach(tls *libc.TLS, pParse uintptr, p uintptr, pWin uintptr) { /* sqlite3.c:159494:21: */ +func Xsqlite3WindowAttach(tls *libc.TLS, pParse uintptr, p uintptr, pWin uintptr) { /* sqlite3.c:159551:21: */ if p != 0 { *(*uintptr)(unsafe.Pointer(p + 64)) = pWin @@ -141394,7 +141425,7 @@ func Xsqlite3WindowAttach(tls *libc.TLS, pParse uintptr, p uintptr, pWin uintptr // to be processed as part of SELECT statement pSel). The window is linked // in if either (a) there are no other windows already linked to this // SELECT, or (b) the windows already linked use a compatible window frame. -func Xsqlite3WindowLink(tls *libc.TLS, pSel uintptr, pWin uintptr) { /* sqlite3.c:159517:21: */ +func Xsqlite3WindowLink(tls *libc.TLS, pSel uintptr, pWin uintptr) { /* sqlite3.c:159574:21: */ if pSel != 0 { if uintptr(0) == (*Select)(unsafe.Pointer(pSel)).FpWin || 0 == Xsqlite3WindowCompare(tls, uintptr(0), (*Select)(unsafe.Pointer(pSel)).FpWin, pWin, 0) { (*Window)(unsafe.Pointer(pWin)).FpNextWin = (*Select)(unsafe.Pointer(pSel)).FpWin @@ -141414,7 +141445,7 @@ func Xsqlite3WindowLink(tls *libc.TLS, pSel uintptr, pWin uintptr) { /* sqlite3. // Return 0 if the two window objects are identical, 1 if they are // different, or 2 if it cannot be determined if the objects are identical // or not. Identical window objects can be processed in a single scan. -func Xsqlite3WindowCompare(tls *libc.TLS, pParse uintptr, p1 uintptr, p2 uintptr, bFilter int32) int32 { /* sqlite3.c:159539:20: */ +func Xsqlite3WindowCompare(tls *libc.TLS, pParse uintptr, p1 uintptr, p2 uintptr, bFilter int32) int32 { /* sqlite3.c:159596:20: */ var res int32 if p1 == uintptr(0) || p2 == uintptr(0) { return 1 @@ -141454,7 +141485,7 @@ func Xsqlite3WindowCompare(tls *libc.TLS, pParse uintptr, p1 uintptr, p2 uintptr // This is called by code in select.c before it calls sqlite3WhereBegin() // to begin iterating through the sub-query results. It is used to allocate // and initialize registers and cursors used by sqlite3WindowCodeStep(). -func Xsqlite3WindowCodeInit(tls *libc.TLS, pParse uintptr, pSelect uintptr) { /* sqlite3.c:159573:21: */ +func Xsqlite3WindowCodeInit(tls *libc.TLS, pParse uintptr, pSelect uintptr) { /* sqlite3.c:159630:21: */ var nEphExpr int32 = (*ExprList)(unsafe.Pointer((*Select)(unsafe.Pointer((*SrcItem)(unsafe.Pointer((*Select)(unsafe.Pointer(pSelect)).FpSrc + 8)).FpSelect)).FpEList)).FnExpr var pMWin uintptr = (*Select)(unsafe.Pointer(pSelect)).FpWin var pWin uintptr @@ -141530,7 +141561,7 @@ func Xsqlite3WindowCodeInit(tls *libc.TLS, pParse uintptr, pSelect uintptr) { /* // evaluated and the result left in register reg. This function generates VM // code to check that the value is a non-negative integer and throws an // exception if it is not. -func windowCheckValue(tls *libc.TLS, pParse uintptr, reg int32, eCond int32) { /* sqlite3.c:159660:13: */ +func windowCheckValue(tls *libc.TLS, pParse uintptr, reg int32, eCond int32) { /* sqlite3.c:159717:13: */ var v uintptr = Xsqlite3GetVdbe(tls, pParse) var regZero int32 = Xsqlite3GetTempReg(tls, pParse) @@ -141564,12 +141595,12 @@ var azErr = [5]uintptr{ ts + 21899, ts + 22546, ts + 22598, -} /* sqlite3.c:159661:21 */ -var aOp1 = [5]int32{OP_Ge, OP_Ge, OP_Gt, OP_Ge, OP_Ge} /* sqlite3.c:159668:14 */ +} /* sqlite3.c:159718:21 */ +var aOp1 = [5]int32{OP_Ge, OP_Ge, OP_Gt, OP_Ge, OP_Ge} /* sqlite3.c:159725:14 */ // Return the number of arguments passed to the window-function associated // with the object passed as the only argument to this function. -func windowArgCount(tls *libc.TLS, pWin uintptr) int32 { /* sqlite3.c:159707:12: */ +func windowArgCount(tls *libc.TLS, pWin uintptr) int32 { /* sqlite3.c:159764:12: */ var pList uintptr pList = *(*uintptr)(unsafe.Pointer((*Window)(unsafe.Pointer(pWin)).FpOwner + 32)) @@ -141594,19 +141625,19 @@ type WindowCodeArg1 = struct { Fcurrent WindowCsrAndReg Fend WindowCsrAndReg F__ccgo_pad1 [4]byte -} /* sqlite3.c:159714:9 */ +} /* sqlite3.c:159771:9 */ -type WindowCodeArg = WindowCodeArg1 /* sqlite3.c:159714:30 */ +type WindowCodeArg = WindowCodeArg1 /* sqlite3.c:159771:30 */ type WindowCsrAndReg1 = struct { Fcsr int32 Freg int32 -} /* sqlite3.c:159714:9 */ +} /* sqlite3.c:159771:9 */ -type WindowCsrAndReg = WindowCsrAndReg1 /* sqlite3.c:159715:32 */ +type WindowCsrAndReg = WindowCsrAndReg1 /* sqlite3.c:159772:32 */ // Generate VM code to read the window frames peer values from cursor csr into // an array of registers starting at reg. -func windowReadPeerValues(tls *libc.TLS, p uintptr, csr int32, reg int32) { /* sqlite3.c:159799:13: */ +func windowReadPeerValues(tls *libc.TLS, p uintptr, csr int32, reg int32) { /* sqlite3.c:159856:13: */ var pMWin uintptr = (*WindowCodeArg)(unsafe.Pointer(p)).FpMWin var pOrderBy uintptr = (*Window)(unsafe.Pointer(pMWin)).FpOrderBy if pOrderBy != 0 { @@ -141642,7 +141673,7 @@ func windowReadPeerValues(tls *libc.TLS, p uintptr, csr int32, reg int32) { /* s // // If argument regPartSize is non-zero, then it is a register containing the // number of rows in the current partition. -func windowAggStep(tls *libc.TLS, p uintptr, pMWin uintptr, csr int32, bInverse int32, reg int32) { /* sqlite3.c:159836:13: */ +func windowAggStep(tls *libc.TLS, p uintptr, pMWin uintptr, csr int32, bInverse int32, reg int32) { /* sqlite3.c:159893:13: */ var pParse uintptr = (*WindowCodeArg)(unsafe.Pointer(p)).FpParse var v uintptr = Xsqlite3GetVdbe(tls, pParse) var pWin uintptr @@ -141749,7 +141780,7 @@ func windowAggStep(tls *libc.TLS, p uintptr, pMWin uintptr, csr int32, bInverse // (bFin==1) for each window function in the linked list starting at // pMWin. Or, for built-in window-functions that do not use the standard // API, generate the equivalent VM code. -func windowAggFinal(tls *libc.TLS, p uintptr, bFin int32) { /* sqlite3.c:159953:13: */ +func windowAggFinal(tls *libc.TLS, p uintptr, bFin int32) { /* sqlite3.c:160010:13: */ var pParse uintptr = (*WindowCodeArg)(unsafe.Pointer(p)).FpParse var pMWin uintptr = (*WindowCodeArg)(unsafe.Pointer(p)).FpMWin var v uintptr = Xsqlite3GetVdbe(tls, pParse) @@ -141785,7 +141816,7 @@ func windowAggFinal(tls *libc.TLS, p uintptr, bFin int32) { /* sqlite3.c:159953: // p->pMWin list by doing a full scan of the current window frame. Store the // results in the Window.regResult registers, ready to return the upper // layer. -func windowFullScan(tls *libc.TLS, p uintptr) { /* sqlite3.c:159992:13: */ +func windowFullScan(tls *libc.TLS, p uintptr) { /* sqlite3.c:160049:13: */ var pWin uintptr var pParse uintptr = (*WindowCodeArg)(unsafe.Pointer(p)).FpParse var pMWin uintptr = (*WindowCodeArg)(unsafe.Pointer(p)).FpMWin @@ -141892,7 +141923,7 @@ func windowFullScan(tls *libc.TLS, p uintptr) { /* sqlite3.c:159992:13: */ // first_value() // lag() // lead() -func windowReturnOneRow(tls *libc.TLS, p uintptr) { /* sqlite3.c:160098:13: */ +func windowReturnOneRow(tls *libc.TLS, p uintptr) { /* sqlite3.c:160155:13: */ var pMWin uintptr = (*WindowCodeArg)(unsafe.Pointer(p)).FpMWin var v uintptr = (*WindowCodeArg)(unsafe.Pointer(p)).FpVdbe @@ -141975,7 +142006,7 @@ func windowReturnOneRow(tls *libc.TLS, p uintptr) { /* sqlite3.c:160098:13: */ // in the linked list passed as the second argument to NULL. And perform // any equivalent initialization required by any built-in window functions // in the list. -func windowInitAccum(tls *libc.TLS, pParse uintptr, pMWin uintptr) int32 { /* sqlite3.c:160175:12: */ +func windowInitAccum(tls *libc.TLS, pParse uintptr, pMWin uintptr) int32 { /* sqlite3.c:160232:12: */ var v uintptr = Xsqlite3GetVdbe(tls, pParse) var regArg int32 var nArg int32 = 0 @@ -142010,7 +142041,7 @@ func windowInitAccum(tls *libc.TLS, pParse uintptr, pMWin uintptr) int32 { /* sq // Return true if the current frame should be cached in the ephemeral table, // even if there are no xInverse() calls required. -func windowCacheFrame(tls *libc.TLS, pMWin uintptr) int32 { /* sqlite3.c:160207:12: */ +func windowCacheFrame(tls *libc.TLS, pMWin uintptr) int32 { /* sqlite3.c:160264:12: */ var pWin uintptr if (*Window)(unsafe.Pointer(pMWin)).FregStartRowid != 0 { return 1 @@ -142035,7 +142066,7 @@ func windowCacheFrame(tls *libc.TLS, pMWin uintptr) int32 { /* sqlite3.c:160207: // If the two arrays are not equal, the contents of regNew is copied to // regOld and control falls through. Otherwise, if the contents of the arrays // are equal, an OP_Goto is executed. The address of the OP_Goto is returned. -func windowIfNewPeer(tls *libc.TLS, pParse uintptr, pOrderBy uintptr, regNew int32, regOld int32, addr int32) { /* sqlite3.c:160233:13: */ +func windowIfNewPeer(tls *libc.TLS, pParse uintptr, pOrderBy uintptr, regNew int32, regOld int32, addr int32) { /* sqlite3.c:160290:13: */ var v uintptr = Xsqlite3GetVdbe(tls, pParse) if pOrderBy != 0 { var nVal int32 = (*ExprList)(unsafe.Pointer(pOrderBy)).FnExpr @@ -142072,7 +142103,7 @@ func windowIfNewPeer(tls *libc.TLS, pParse uintptr, pOrderBy uintptr, regNew int // A special type of arithmetic is used such that if csr1.peerVal is not // a numeric type (real or integer), then the result of the addition // or subtraction is a a copy of csr1.peerVal. -func windowCodeRangeTest(tls *libc.TLS, p uintptr, op int32, csr1 int32, regVal int32, csr2 int32, lbl int32) { /* sqlite3.c:160279:13: */ +func windowCodeRangeTest(tls *libc.TLS, p uintptr, op int32, csr1 int32, regVal int32, csr2 int32, lbl int32) { /* sqlite3.c:160336:13: */ var pParse uintptr = (*WindowCodeArg)(unsafe.Pointer(p)).FpParse var v uintptr = Xsqlite3GetVdbe(tls, pParse) var pOrderBy uintptr = (*Window)(unsafe.Pointer((*WindowCodeArg)(unsafe.Pointer(p)).FpMWin)).FpOrderBy // ORDER BY clause for window @@ -142195,7 +142226,7 @@ func windowCodeRangeTest(tls *libc.TLS, p uintptr, op int32, csr1 int32, regVal // generates VM code for a single RETURN_ROW, AGGSTEP or AGGINVERSE // operation. Refer to the header comment for sqlite3WindowCodeStep() for // details. -func windowCodeOp(tls *libc.TLS, p uintptr, op int32, regCountdown int32, jumpOnEof int32) int32 { /* sqlite3.c:160412:12: */ +func windowCodeOp(tls *libc.TLS, p uintptr, op int32, regCountdown int32, jumpOnEof int32) int32 { /* sqlite3.c:160469:12: */ var csr int32 var reg int32 var pParse uintptr = (*WindowCodeArg)(unsafe.Pointer(p)).FpParse @@ -142343,7 +142374,7 @@ func windowCodeOp(tls *libc.TLS, p uintptr, op int32, regCountdown int32, jumpOn // Allocate and return a duplicate of the Window object indicated by the // third argument. Set the Window.pOwner field of the new object to // pOwner. -func Xsqlite3WindowDup(tls *libc.TLS, db uintptr, pOwner uintptr, p uintptr) uintptr { /* sqlite3.c:160561:23: */ +func Xsqlite3WindowDup(tls *libc.TLS, db uintptr, pOwner uintptr, p uintptr) uintptr { /* sqlite3.c:160618:23: */ var pNew uintptr = uintptr(0) if p != 0 { pNew = Xsqlite3DbMallocZero(tls, db, uint64(unsafe.Sizeof(Window{}))) @@ -142374,7 +142405,7 @@ func Xsqlite3WindowDup(tls *libc.TLS, db uintptr, pOwner uintptr, p uintptr) uin // Return a copy of the linked list of Window objects passed as the // second argument. -func Xsqlite3WindowListDup(tls *libc.TLS, db uintptr, p uintptr) uintptr { /* sqlite3.c:160594:23: */ +func Xsqlite3WindowListDup(tls *libc.TLS, db uintptr, p uintptr) uintptr { /* sqlite3.c:160651:23: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -142399,7 +142430,7 @@ func Xsqlite3WindowListDup(tls *libc.TLS, db uintptr, p uintptr) uintptr { /* sq // // If an OOM error occurs, this function sets the Parse.db.mallocFailed // flag and returns zero. -func windowExprGtZero(tls *libc.TLS, pParse uintptr, pExpr uintptr) int32 { /* sqlite3.c:160616:12: */ +func windowExprGtZero(tls *libc.TLS, pParse uintptr, pExpr uintptr) int32 { /* sqlite3.c:160673:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -142747,7 +142778,7 @@ func windowExprGtZero(tls *libc.TLS, pParse uintptr, pExpr uintptr) int32 { /* s // // The text above leaves out many details. Refer to the code and comments // below for a more complete picture. -func Xsqlite3WindowCodeStep(tls *libc.TLS, pParse uintptr, p uintptr, pWInfo uintptr, regGosub int32, addrGosub int32) { /* sqlite3.c:160963:21: */ +func Xsqlite3WindowCodeStep(tls *libc.TLS, pParse uintptr, p uintptr, pWInfo uintptr, regGosub int32, addrGosub int32) { /* sqlite3.c:161020:21: */ bp := tls.Alloc(72) defer tls.Free(72) @@ -143144,17 +143175,17 @@ type TrigEvent = struct { Fa int32 F__ccgo_pad1 [4]byte Fb uintptr -} /* sqlite3.c:161363:1 */ +} /* sqlite3.c:161420:1 */ type FrameBound = struct { FeType int32 F__ccgo_pad1 [4]byte FpExpr uintptr -} /* sqlite3.c:161365:1 */ +} /* sqlite3.c:161422:1 */ // Disable lookaside memory allocation for objects that might be // shared across database connections. -func disableLookaside(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:161371:13: */ +func disableLookaside(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:161428:13: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb (*Parse)(unsafe.Pointer(pParse)).FdisableLookaside++ (*Sqlite3)(unsafe.Pointer(db)).Flookaside.FbDisable++ @@ -143164,7 +143195,7 @@ func disableLookaside(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:161371:13: * // For a compound SELECT statement, make sure p->pPrior->pNext==p for // all elements in the list. And make sure list length does not exceed // SQLITE_LIMIT_COMPOUND_SELECT. -func parserDoubleLinkSelect(tls *libc.TLS, pParse uintptr, p uintptr) { /* sqlite3.c:161404:15: */ +func parserDoubleLinkSelect(tls *libc.TLS, pParse uintptr, p uintptr) { /* sqlite3.c:161461:15: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -143203,7 +143234,7 @@ func parserDoubleLinkSelect(tls *libc.TLS, pParse uintptr, p uintptr) { /* sqlit // Attach a With object describing the WITH clause to a Select // object describing the query for which the WITH clause is a prefix. -func attachWithToSelect(tls *libc.TLS, pParse uintptr, pSelect uintptr, pWith uintptr) uintptr { /* sqlite3.c:161435:17: */ +func attachWithToSelect(tls *libc.TLS, pParse uintptr, pSelect uintptr, pWith uintptr) uintptr { /* sqlite3.c:161492:17: */ if pSelect != 0 { (*Select)(unsafe.Pointer(pSelect)).FpWith = pWith parserDoubleLinkSelect(tls, pParse, pSelect) @@ -143215,7 +143246,7 @@ func attachWithToSelect(tls *libc.TLS, pParse uintptr, pSelect uintptr, pWith ui } // Construct a new Expr object from a single token -func tokenExpr(tls *libc.TLS, pParse uintptr, op int32, t Token) uintptr { /* sqlite3.c:161447:15: */ +func tokenExpr(tls *libc.TLS, pParse uintptr, op int32, t Token) uintptr { /* sqlite3.c:161504:15: */ bp := tls.Alloc(16) defer tls.Free(16) *(*Token)(unsafe.Pointer(bp)) = t @@ -143253,7 +143284,7 @@ func tokenExpr(tls *libc.TLS, pParse uintptr, op int32, t Token) uintptr { /* sq // A routine to convert a binary TK_IS or TK_ISNOT expression into a // unary TK_ISNULL or TK_NOTNULL expression. -func binaryToUnaryIfNull(tls *libc.TLS, pParse uintptr, pY uintptr, pA uintptr, op int32) { /* sqlite3.c:161483:15: */ +func binaryToUnaryIfNull(tls *libc.TLS, pParse uintptr, pY uintptr, pA uintptr, op int32) { /* sqlite3.c:161540:15: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb if pA != 0 && pY != 0 && int32((*Expr)(unsafe.Pointer(pY)).Fop) == TK_NULL && !(int32((*Parse)(unsafe.Pointer(pParse)).FeParseMode) >= PARSE_MODE_RENAME) { (*Expr)(unsafe.Pointer(pA)).Fop = U8(op) @@ -143267,7 +143298,7 @@ func binaryToUnaryIfNull(tls *libc.TLS, pParse uintptr, pY uintptr, pA uintptr, // list of identifiers. Report an error if the ID list contains // a COLLATE clause or an ASC or DESC keyword, except ignore the // error while parsing a legacy schema. -func parserAddExprIdListTerm(tls *libc.TLS, pParse uintptr, pPrior uintptr, pIdToken uintptr, hasCollate int32, sortOrder int32) uintptr { /* sqlite3.c:161497:19: */ +func parserAddExprIdListTerm(tls *libc.TLS, pParse uintptr, pPrior uintptr, pIdToken uintptr, hasCollate int32, sortOrder int32) uintptr { /* sqlite3.c:161554:19: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -143342,7 +143373,7 @@ type YYMINORTYPE = struct { F__ccgo_pad1 [0]uint64 Fyyinit int32 F__ccgo_pad2 [12]byte -} /* sqlite3.c:161789:3 */ +} /* sqlite3.c:161846:3 */ //************ End control #defines ****************************************** // Define the yytestcase() macro to be a no-op if is not already defined @@ -143611,7 +143642,7 @@ var yy_action = [2070]uint16{ /* 2040 */ uint16(29), uint16(921), uint16(390), uint16(1176), uint16(172), uint16(139), uint16(1175), uint16(1235), uint16(261), uint16(1235), /* 2050 */ uint16(1235), uint16(1235), uint16(1235), uint16(1235), uint16(1235), uint16(1235), uint16(1235), uint16(262), uint16(1235), uint16(1235), /* 2060 */ uint16(1235), uint16(1235), uint16(1235), uint16(1235), uint16(1235), uint16(1235), uint16(1235), uint16(1235), uint16(1593), uint16(1592), -} /* sqlite3.c:161883:27 */ +} /* sqlite3.c:161940:27 */ var yy_lookahead = [2255]uint16{ /* 0 */ uint16(193), uint16(223), uint16(193), uint16(225), uint16(193), uint16(193), uint16(193), uint16(274), uint16(275), uint16(276), /* 10 */ uint16(193), uint16(233), uint16(219), uint16(193), uint16(274), uint16(275), uint16(276), uint16(206), uint16(206), uint16(19), @@ -143839,7 +143870,7 @@ var yy_lookahead = [2255]uint16{ /* 2230 */ uint16(319), uint16(319), uint16(319), uint16(319), uint16(319), uint16(319), uint16(319), uint16(319), uint16(319), uint16(319), /* 2240 */ uint16(319), uint16(319), uint16(319), uint16(319), uint16(319), uint16(319), uint16(319), uint16(319), uint16(319), uint16(319), /* 2250 */ uint16(319), uint16(319), uint16(319), uint16(319), uint16(319), -} /* sqlite3.c:162092:25 */ +} /* sqlite3.c:162149:25 */ var yy_shift_ofst = [574]uint16{ /* 0 */ uint16(1648), uint16(1477), uint16(1272), uint16(322), uint16(322), uint16(262), uint16(1319), uint16(1478), uint16(1491), uint16(1662), /* 10 */ uint16(1662), uint16(1662), uint16(317), uint16(0), uint16(0), uint16(214), uint16(1093), uint16(1662), uint16(1662), uint16(1662), @@ -143899,7 +143930,7 @@ var yy_shift_ofst = [574]uint16{ /* 550 */ uint16(2005), uint16(2006), uint16(2007), uint16(2008), uint16(2009), uint16(2001), uint16(2020), uint16(2012), uint16(2013), uint16(2014), /* 560 */ uint16(2015), uint16(2017), uint16(2018), uint16(2011), uint16(1906), uint16(1907), uint16(1916), uint16(1927), uint16(1928), uint16(2019), /* 570 */ uint16(2022), uint16(2027), uint16(2042), uint16(2045), -} /* sqlite3.c:162323:33 */ +} /* sqlite3.c:162380:33 */ var yy_reduce_ofst = [409]int16{ /* 0 */ int16(-125), int16(733), int16(789), int16(241), int16(293), int16(-123), int16(-193), int16(-191), int16(-183), int16(-187), /* 10 */ int16(-180), int16(83), int16(133), int16(-207), int16(-198), int16(-267), int16(-175), int16(-6), int16(166), int16(313), @@ -143942,7 +143973,7 @@ var yy_reduce_ofst = [409]int16{ /* 380 */ int16(1641), int16(1602), int16(1676), int16(1642), int16(1646), int16(1644), int16(1650), int16(1654), int16(1683), int16(1694), /* 390 */ int16(1707), int16(1711), int16(1712), int16(1714), int16(1643), int16(1647), int16(1652), int16(1698), int16(1695), int16(1696), /* 400 */ int16(1697), int16(1699), int16(1700), int16(1689), int16(1691), int16(1701), int16(1702), int16(1704), int16(1715), -} /* sqlite3.c:162386:20 */ +} /* sqlite3.c:162443:20 */ var yy_default = [574]uint16{ /* 0 */ uint16(1637), uint16(1637), uint16(1637), uint16(1466), uint16(1233), uint16(1344), uint16(1233), uint16(1233), uint16(1233), uint16(1466), /* 10 */ uint16(1466), uint16(1466), uint16(1233), uint16(1374), uint16(1374), uint16(1519), uint16(1266), uint16(1233), uint16(1233), uint16(1233), @@ -144002,7 +144033,7 @@ var yy_default = [574]uint16{ /* 550 */ uint16(1233), uint16(1233), uint16(1233), uint16(1233), uint16(1233), uint16(1233), uint16(1233), uint16(1233), uint16(1233), uint16(1233), /* 560 */ uint16(1233), uint16(1233), uint16(1233), uint16(1610), uint16(1325), uint16(1416), uint16(1233), uint16(1415), uint16(1419), uint16(1255), /* 570 */ uint16(1233), uint16(1245), uint16(1233), uint16(1233), -} /* sqlite3.c:162429:27 */ +} /* sqlite3.c:162486:27 */ //********* End of lemon-generated parsing tables **************************** // The next table maps tokens (terminal symbols) into fallback tokens. @@ -144204,7 +144235,7 @@ var yyFallback = [185]uint16{ uint16(0), // ERROR => nothing uint16(0), // SPACE => nothing uint16(0), // ILLEGAL => nothing -} /* sqlite3.c:162506:25 */ +} /* sqlite3.c:162563:25 */ // The following structure represents a single element of the // parser's stack. Information stored includes: @@ -144226,9 +144257,9 @@ type yyStackEntry = struct { Fmajor uint16 F__ccgo_pad1 [4]byte Fminor YYMINORTYPE -} /* sqlite3.c:162711:1 */ +} /* sqlite3.c:162768:1 */ -type YyStackEntry = yyStackEntry /* sqlite3.c:162718:29 */ +type YyStackEntry = yyStackEntry /* sqlite3.c:162775:29 */ // The state of the parser is completely contained in an instance of // the following structure @@ -144237,9 +144268,9 @@ type yyParser = struct { FpParse uintptr Fyystack [100]YyStackEntry FyystackEnd uintptr -} /* sqlite3.c:162722:1 */ +} /* sqlite3.c:162779:1 */ -type YyParser = yyParser /* sqlite3.c:162741:25 */ +type YyParser = yyParser /* sqlite3.c:162798:25 */ // #include @@ -144249,7 +144280,7 @@ type YyParser = yyParser /* sqlite3.c:162741:25 */ // grammar. // Initialize a new parser that has already been allocated. -func Xsqlite3ParserInit(tls *libc.TLS, yypRawParser uintptr, pParse uintptr) { /* sqlite3.c:163556:21: */ +func Xsqlite3ParserInit(tls *libc.TLS, yypRawParser uintptr, pParse uintptr) { /* sqlite3.c:163613:21: */ var yypParser uintptr = yypRawParser (*YyParser)(unsafe.Pointer(yypParser)).FpParse = pParse (*YyParser)(unsafe.Pointer(yypParser)).Fyytos = yypParser + 16 /* &.yystack */ @@ -144264,7 +144295,7 @@ func Xsqlite3ParserInit(tls *libc.TLS, yypRawParser uintptr, pParse uintptr) { / // a pointer to the value to be deleted. The code used to do the // deletions is derived from the %destructor and/or %token_destructor // directives of the input grammar. -func yy_destructor(tls *libc.TLS, yypParser uintptr, yymajor uint16, yypminor uintptr) { /* sqlite3.c:163614:13: */ +func yy_destructor(tls *libc.TLS, yypParser uintptr, yymajor uint16, yypminor uintptr) { /* sqlite3.c:163671:13: */ var pParse uintptr = (*YyParser)(unsafe.Pointer(yypParser)).FpParse switch int32(yymajor) { @@ -144423,7 +144454,7 @@ func yy_destructor(tls *libc.TLS, yypParser uintptr, yymajor uint16, yypminor ui // // If there is a destructor routine associated with the token which // is popped from the stack, then call it. -func yy_pop_parser_stack(tls *libc.TLS, pParser uintptr) { /* sqlite3.c:163739:13: */ +func yy_pop_parser_stack(tls *libc.TLS, pParser uintptr) { /* sqlite3.c:163796:13: */ var yytos uintptr yytos = libc.PostDecUintptr(&(*YyParser)(unsafe.Pointer(pParser)).Fyytos, 24) @@ -144431,7 +144462,7 @@ func yy_pop_parser_stack(tls *libc.TLS, pParser uintptr) { /* sqlite3.c:163739:1 } // Clear all secondary memory allocations from the parser -func Xsqlite3ParserFinalize(tls *libc.TLS, p uintptr) { /* sqlite3.c:163757:21: */ +func Xsqlite3ParserFinalize(tls *libc.TLS, p uintptr) { /* sqlite3.c:163814:21: */ var pParser uintptr = p for (*YyParser)(unsafe.Pointer(pParser)).Fyytos > pParser+16 { yy_pop_parser_stack(tls, pParser) @@ -144454,7 +144485,7 @@ func Xsqlite3ParserFinalize(tls *libc.TLS, p uintptr) { /* sqlite3.c:163757:21: // Find the appropriate action for a parser given the terminal // look-ahead token iLookAhead. -func yy_find_shift_action(tls *libc.TLS, iLookAhead uint16, stateno uint16) uint16 { /* sqlite3.c:163837:21: */ +func yy_find_shift_action(tls *libc.TLS, iLookAhead uint16, stateno uint16) uint16 { /* sqlite3.c:163894:21: */ var i int32 if int32(stateno) > YY_MAX_SHIFT { @@ -144494,7 +144525,7 @@ func yy_find_shift_action(tls *libc.TLS, iLookAhead uint16, stateno uint16) uint // Find the appropriate action for a parser given the non-terminal // look-ahead token iLookAhead. -func yy_find_reduce_action(tls *libc.TLS, stateno uint16, iLookAhead uint16) uint16 { /* sqlite3.c:163902:21: */ +func yy_find_reduce_action(tls *libc.TLS, stateno uint16, iLookAhead uint16) uint16 { /* sqlite3.c:163959:21: */ var i int32 i = int32(yy_reduce_ofst[stateno]) @@ -144505,7 +144536,7 @@ func yy_find_reduce_action(tls *libc.TLS, stateno uint16, iLookAhead uint16) uin } // The following routine is called if the stack overflows. -func yyStackOverflow(tls *libc.TLS, yypParser uintptr) { /* sqlite3.c:163931:13: */ +func yyStackOverflow(tls *libc.TLS, yypParser uintptr) { /* sqlite3.c:163988:13: */ var pParse uintptr = (*YyParser)(unsafe.Pointer(yypParser)).FpParse for (*YyParser)(unsafe.Pointer(yypParser)).Fyytos > yypParser+16 { @@ -144524,7 +144555,7 @@ func yyStackOverflow(tls *libc.TLS, yypParser uintptr) { /* sqlite3.c:163931:13: // Print tracing information for a SHIFT action // Perform a shift action. -func yy_shift(tls *libc.TLS, yypParser uintptr, yyNewState uint16, yyMajor uint16, yyMinor Token) { /* sqlite3.c:163974:13: */ +func yy_shift(tls *libc.TLS, yypParser uintptr, yyNewState uint16, yyMajor uint16, yyMinor Token) { /* sqlite3.c:164031:13: */ var yytos uintptr (*YyParser)(unsafe.Pointer(yypParser)).Fyytos += 24 if (*YyParser)(unsafe.Pointer(yypParser)).Fyytos > (*YyParser)(unsafe.Pointer(yypParser)).FyystackEnd { @@ -144947,7 +144978,7 @@ var yyRuleInfoLhs = [402]uint16{ uint16(303), // (399) anylist ::= anylist LP anylist RP uint16(303), // (400) anylist ::= anylist ANY uint16(266), // (401) with ::= -} /* sqlite3.c:164015:25 */ +} /* sqlite3.c:164072:25 */ // For rule J, yyRuleInfoNRhs[J] contains the negative of the number // of symbols on the right-hand side of that rule. @@ -145354,7 +145385,7 @@ var yyRuleInfoNRhs = [402]int8{ int8(-4), // (399) anylist ::= anylist LP anylist RP int8(-2), // (400) anylist ::= anylist ANY int8(0), // (401) with ::= -} /* sqlite3.c:164422:26 */ +} /* sqlite3.c:164479:26 */ // Forward Declaration @@ -145366,7 +145397,7 @@ var yyRuleInfoNRhs = [402]int8{ // if the lookahead token has already been consumed. As this procedure is // only called from one place, optimizing compilers will in-line it, which // means that the extra parameters have no performance impact. -func yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead int32, yyLookaheadToken Token, pParse uintptr) uint16 { /* sqlite3.c:164839:21: */ +func yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead int32, yyLookaheadToken Token, pParse uintptr) uint16 { /* sqlite3.c:164896:21: */ bp := tls.Alloc(144) defer tls.Free(144) @@ -147361,7 +147392,7 @@ func yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead in // The following code executes when the parse fails // The following code executes when a syntax error first occurs. -func yy_syntax_error(tls *libc.TLS, yypParser uintptr, yymajor int32, yyminor Token) { /* sqlite3.c:166395:13: */ +func yy_syntax_error(tls *libc.TLS, yypParser uintptr, yymajor int32, yyminor Token) { /* sqlite3.c:166452:13: */ bp := tls.Alloc(24) defer tls.Free(24) *(*Token)(unsafe.Pointer(bp + 8)) = yyminor @@ -147381,7 +147412,7 @@ func yy_syntax_error(tls *libc.TLS, yypParser uintptr, yymajor int32, yyminor To } // The following is executed when the parser accepts -func yy_accept(tls *libc.TLS, yypParser uintptr) { /* sqlite3.c:166419:13: */ +func yy_accept(tls *libc.TLS, yypParser uintptr) { /* sqlite3.c:166476:13: */ var pParse uintptr = (*YyParser)(unsafe.Pointer(yypParser)).FpParse @@ -147411,7 +147442,7 @@ func yy_accept(tls *libc.TLS, yypParser uintptr) { /* sqlite3.c:166419:13: */ // // Outputs: // None. -func Xsqlite3Parser(tls *libc.TLS, yyp uintptr, yymajor int32, yyminor Token) { /* sqlite3.c:166460:21: */ +func Xsqlite3Parser(tls *libc.TLS, yyp uintptr, yymajor int32, yyminor Token) { /* sqlite3.c:166517:21: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -147465,7 +147496,7 @@ func Xsqlite3Parser(tls *libc.TLS, yyp uintptr, yymajor int32, yyminor Token) { // Return the fallback token corresponding to canonical token iToken, or // 0 if iToken has no fallback. -func Xsqlite3ParserFallback(tls *libc.TLS, iToken int32) int32 { /* sqlite3.c:166677:20: */ +func Xsqlite3ParserFallback(tls *libc.TLS, iToken int32) int32 { /* sqlite3.c:166734:20: */ return int32(yyFallback[iToken]) } @@ -147516,7 +147547,7 @@ var aiClass = [256]uint8{ /* Dx */ uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), /* Ex */ uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(30), /* Fx */ uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), -} /* sqlite3.c:166749:28 */ +} /* sqlite3.c:166806:28 */ // The charMap() macro maps alphabetic characters (only) into their // lower-case ASCII equivalent. On ASCII machines, this is just @@ -147602,7 +147633,7 @@ var zKWText = [666]uint8{ uint8('W'), uint8('S'), uint8('U'), uint8('N'), uint8('B'), uint8('O'), uint8('U'), uint8('N'), uint8('D'), uint8('E'), uint8('D'), uint8('U'), uint8('N'), uint8('I'), uint8('O'), uint8('N'), uint8('U'), uint8('S'), uint8('I'), uint8('N'), uint8('G'), uint8('V'), uint8('A'), uint8('C'), uint8('U'), uint8('U'), uint8('M'), uint8('V'), uint8('I'), uint8('E'), uint8('W'), uint8('I'), uint8('N'), uint8('D'), uint8('O'), uint8('W'), uint8('B'), uint8('Y'), uint8('I'), uint8('N'), uint8('I'), uint8('T'), uint8('I'), uint8('A'), uint8('L'), uint8('L'), uint8('Y'), uint8('P'), uint8('R'), uint8('I'), uint8('M'), uint8('A'), uint8('R'), uint8('Y'), -} /* sqlite3.c:166865:19 */ +} /* sqlite3.c:166922:19 */ // aKWHash[i] is the hash value for the i-th keyword var aKWHash = [127]uint8{ uint8(84), uint8(92), uint8(134), uint8(82), uint8(105), uint8(29), uint8(0), uint8(0), uint8(94), uint8(0), uint8(85), uint8(72), uint8(0), @@ -147615,7 +147646,7 @@ var aKWHash = [127]uint8{ uint8(50), uint8(124), uint8(0), uint8(100), uint8(0), uint8(18), uint8(121), uint8(144), uint8(56), uint8(130), uint8(139), uint8(88), uint8(83), uint8(37), uint8(30), uint8(126), uint8(0), uint8(0), uint8(108), uint8(51), uint8(131), uint8(128), uint8(0), uint8(34), uint8(0), uint8(0), uint8(132), uint8(0), uint8(98), uint8(38), uint8(39), uint8(0), uint8(20), uint8(45), uint8(117), uint8(93), -} /* sqlite3.c:166905:28 */ +} /* sqlite3.c:166962:28 */ // aKWNext[] forms the hash collision chain. If aKWHash[i]==0 // then the i-th keyword has no more hash collisions. Otherwise, // the next keyword with the same hash is aKWHash[i]-1. @@ -147632,7 +147663,7 @@ var aKWNext = [147]uint8{ uint8(112), uint8(21), uint8(7), uint8(67), uint8(0), uint8(79), uint8(96), uint8(118), uint8(0), uint8(0), uint8(68), uint8(0), uint8(0), uint8(99), uint8(44), uint8(0), uint8(55), uint8(0), uint8(76), uint8(0), uint8(95), uint8(32), uint8(33), uint8(57), uint8(25), uint8(0), uint8(102), uint8(0), uint8(0), uint8(87), -} /* sqlite3.c:166920:28 */ +} /* sqlite3.c:166977:28 */ // aKWLen[i] is the length (in bytes) of the i-th keyword var aKWLen = [147]uint8{ uint8(7), uint8(7), uint8(5), uint8(4), uint8(6), uint8(4), uint8(5), uint8(3), uint8(6), uint8(7), uint8(3), uint8(6), uint8(6), @@ -147647,7 +147678,7 @@ var aKWLen = [147]uint8{ uint8(4), uint8(4), uint8(6), uint8(7), uint8(5), uint8(9), uint8(4), uint8(4), uint8(5), uint8(2), uint8(5), uint8(8), uint8(6), uint8(4), uint8(9), uint8(5), uint8(8), uint8(4), uint8(3), uint8(9), uint8(5), uint8(5), uint8(6), uint8(4), uint8(6), uint8(2), uint8(2), uint8(9), uint8(3), uint8(7), -} /* sqlite3.c:166935:28 */ +} /* sqlite3.c:166992:28 */ // aKWOffset[i] is the index into zKWText[] of the start of // the text for the i-th keyword. var aKWOffset = [147]uint16{ @@ -147663,7 +147694,7 @@ var aKWOffset = [147]uint16{ uint16(520), uint16(523), uint16(527), uint16(532), uint16(539), uint16(544), uint16(553), uint16(557), uint16(560), uint16(565), uint16(567), uint16(571), uint16(579), uint16(585), uint16(588), uint16(597), uint16(602), uint16(610), uint16(610), uint16(614), uint16(623), uint16(628), uint16(633), uint16(639), uint16(642), uint16(645), uint16(648), uint16(650), uint16(655), uint16(659), -} /* sqlite3.c:166951:33 */ +} /* sqlite3.c:167008:33 */ // aKWCode[i] is the parser symbol code for the i-th keyword var aKWCode = [147]uint8{ uint8(TK_REINDEX), uint8(TK_INDEXED), uint8(TK_INDEX), uint8(TK_DESC), uint8(TK_ESCAPE), @@ -147696,7 +147727,7 @@ var aKWCode = [147]uint8{ uint8(TK_ROW), uint8(TK_UNBOUNDED), uint8(TK_UNION), uint8(TK_USING), uint8(TK_VACUUM), uint8(TK_VIEW), uint8(TK_WINDOW), uint8(TK_DO), uint8(TK_BY), uint8(TK_INITIALLY), uint8(TK_ALL), uint8(TK_PRIMARY), -} /* sqlite3.c:166966:28 */ +} /* sqlite3.c:167023:28 */ // Hash table decoded: // 0: INSERT @@ -147829,7 +147860,7 @@ var aKWCode = [147]uint8{ // Check to see if z[0..n-1] is a keyword. If it is, write the // parser symbol code for that keyword into *pType. Always // return the integer n (the length of the token). -func keywordCode(tls *libc.TLS, z uintptr, n int32, pType uintptr) int32 { /* sqlite3.c:167130:12: */ +func keywordCode(tls *libc.TLS, z uintptr, n int32, pType uintptr) int32 { /* sqlite3.c:167187:12: */ var i int32 var j int32 var zKW uintptr @@ -148007,7 +148038,7 @@ func keywordCode(tls *libc.TLS, z uintptr, n int32, pType uintptr) int32 { /* sq return n } -func Xsqlite3KeywordCode(tls *libc.TLS, z uintptr, n int32) int32 { /* sqlite3.c:167304:20: */ +func Xsqlite3KeywordCode(tls *libc.TLS, z uintptr, n int32) int32 { /* sqlite3.c:167361:20: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -148016,7 +148047,7 @@ func Xsqlite3KeywordCode(tls *libc.TLS, z uintptr, n int32) int32 { /* sqlite3.c return *(*int32)(unsafe.Pointer(bp /* id */)) } -func Xsqlite3_keyword_name(tls *libc.TLS, i int32, pzName uintptr, pnName uintptr) int32 { /* sqlite3.c:167310:16: */ +func Xsqlite3_keyword_name(tls *libc.TLS, i int32, pzName uintptr, pnName uintptr) int32 { /* sqlite3.c:167367:16: */ if i < 0 || i >= SQLITE_N_KEYWORD { return SQLITE_ERROR } @@ -148025,11 +148056,11 @@ func Xsqlite3_keyword_name(tls *libc.TLS, i int32, pzName uintptr, pnName uintpt return SQLITE_OK } -func Xsqlite3_keyword_count(tls *libc.TLS) int32 { /* sqlite3.c:167316:16: */ +func Xsqlite3_keyword_count(tls *libc.TLS) int32 { /* sqlite3.c:167373:16: */ return SQLITE_N_KEYWORD } -func Xsqlite3_keyword_check(tls *libc.TLS, zName uintptr, nName int32) int32 { /* sqlite3.c:167317:16: */ +func Xsqlite3_keyword_check(tls *libc.TLS, zName uintptr, nName int32) int32 { /* sqlite3.c:167374:16: */ return libc.Bool32(TK_ID != Xsqlite3KeywordCode(tls, zName, nName)) } @@ -148052,13 +148083,13 @@ func Xsqlite3_keyword_check(tls *libc.TLS, zName uintptr, nName int32) int32 { / // But the feature is undocumented. // Make the IdChar function accessible from ctime.c and alter.c -func Xsqlite3IsIdChar(tls *libc.TLS, c U8) int32 { /* sqlite3.c:167364:20: */ +func Xsqlite3IsIdChar(tls *libc.TLS, c U8) int32 { /* sqlite3.c:167421:20: */ return libc.Bool32(int32(Xsqlite3CtypeMap[c])&0x46 != 0) } // Return the id of the next token in string (*pz). Before returning, set // (*pz) to point to the byte following the parsed token. -func getToken(tls *libc.TLS, pz uintptr) int32 { /* sqlite3.c:167371:12: */ +func getToken(tls *libc.TLS, pz uintptr) int32 { /* sqlite3.c:167428:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -148108,7 +148139,7 @@ func getToken(tls *libc.TLS, pz uintptr) int32 { /* sqlite3.c:167371:12: */ // // * the previous token was TK_RP, and // * the next token is TK_LP. -func analyzeWindowKeyword(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:167420:12: */ +func analyzeWindowKeyword(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:167477:12: */ bp := tls.Alloc(8) defer tls.Free(8) *(*uintptr)(unsafe.Pointer(bp)) = z @@ -148125,7 +148156,7 @@ func analyzeWindowKeyword(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:167420: return TK_WINDOW } -func analyzeOverKeyword(tls *libc.TLS, z uintptr, lastToken int32) int32 { /* sqlite3.c:167428:12: */ +func analyzeOverKeyword(tls *libc.TLS, z uintptr, lastToken int32) int32 { /* sqlite3.c:167485:12: */ bp := tls.Alloc(8) defer tls.Free(8) *(*uintptr)(unsafe.Pointer(bp)) = z @@ -148139,7 +148170,7 @@ func analyzeOverKeyword(tls *libc.TLS, z uintptr, lastToken int32) int32 { /* sq return TK_ID } -func analyzeFilterKeyword(tls *libc.TLS, z uintptr, lastToken int32) int32 { /* sqlite3.c:167435:12: */ +func analyzeFilterKeyword(tls *libc.TLS, z uintptr, lastToken int32) int32 { /* sqlite3.c:167492:12: */ bp := tls.Alloc(8) defer tls.Free(8) *(*uintptr)(unsafe.Pointer(bp)) = z @@ -148152,7 +148183,7 @@ func analyzeFilterKeyword(tls *libc.TLS, z uintptr, lastToken int32) int32 { /* // Return the length (in bytes) of the token that begins at z[0]. // Store the token type in *tokenType before returning. -func Xsqlite3GetToken(tls *libc.TLS, z uintptr, tokenType uintptr) int32 { /* sqlite3.c:167447:20: */ +func Xsqlite3GetToken(tls *libc.TLS, z uintptr, tokenType uintptr) int32 { /* sqlite3.c:167504:20: */ var i int32 var c int32 switch int32(aiClass[*(*uint8)(unsafe.Pointer(z))]) { // Switch on the character-class of the first byte @@ -148514,7 +148545,7 @@ func Xsqlite3GetToken(tls *libc.TLS, z uintptr, tokenType uintptr) int32 { /* sq } // Run the parser on the given SQL string. -func Xsqlite3RunParser(tls *libc.TLS, pParse uintptr, zSql uintptr) int32 { /* sqlite3.c:167741:20: */ +func Xsqlite3RunParser(tls *libc.TLS, pParse uintptr, zSql uintptr) int32 { /* sqlite3.c:167798:20: */ bp := tls.Alloc(2480) defer tls.Free(2480) @@ -148704,7 +148735,7 @@ func Xsqlite3RunParser(tls *libc.TLS, pParse uintptr, zSql uintptr) int32 { /* s // If we compile with SQLITE_OMIT_TRIGGER, all of the computation needed // to recognize the end of a trigger can be omitted. All we have to do // is look for a semicolon that is not part of an string or comment. -func Xsqlite3_complete(tls *libc.TLS, zSql uintptr) int32 { /* sqlite3.c:168133:16: */ +func Xsqlite3_complete(tls *libc.TLS, zSql uintptr) int32 { /* sqlite3.c:168190:16: */ var state U8 = U8(0) // Current state, using numbers defined in header comment var token U8 @@ -148881,12 +148912,12 @@ var trans = [8][8]U8{ /* 5 TRIGGER: */ {U8(6), U8(5), U8(5), U8(5), U8(5), U8(5), U8(5), U8(5)}, /* 6 SEMI: */ {U8(6), U8(6), U8(5), U8(5), U8(5), U8(5), U8(5), U8(7)}, /* 7 END: */ {U8(1), U8(7), U8(5), U8(5), U8(5), U8(5), U8(5), U8(5)}, -} /* sqlite3.c:168141:19 */ +} /* sqlite3.c:168198:19 */ // This routine is the same as the sqlite3_complete() routine described // above, except that the parameter is required to be UTF-16 encoded, not // UTF-8. -func Xsqlite3_complete16(tls *libc.TLS, zSql uintptr) int32 { /* sqlite3.c:168298:16: */ +func Xsqlite3_complete16(tls *libc.TLS, zSql uintptr) int32 { /* sqlite3.c:168355:16: */ var pVal uintptr var zSql8 uintptr var rc int32 @@ -148918,7 +148949,7 @@ func Xsqlite3_complete16(tls *libc.TLS, zSql uintptr) int32 { /* sqlite3.c:16829 // This is an extension initializer that is a no-op and always // succeeds, except that it fails if the fault-simulation is set // to 500. -func sqlite3TestExtInit(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:168450:12: */ +func sqlite3TestExtInit(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:168507:12: */ _ = db return Xsqlite3FaultSim(tls, 500) } @@ -148930,11 +148961,11 @@ var sqlite3BuiltinExtensions = [4]uintptr{ 0, 0, 0, -} /* sqlite3.c:168477:12 */ +} /* sqlite3.c:168534:12 */ // IMPLEMENTATION-OF: R-53536-42575 The sqlite3_libversion() function returns // a pointer to the to the sqlite3_version[] string constant. -func Xsqlite3_libversion(tls *libc.TLS) uintptr { /* sqlite3.c:168524:23: */ +func Xsqlite3_libversion(tls *libc.TLS) uintptr { /* sqlite3.c:168581:23: */ return uintptr(unsafe.Pointer(&Xsqlite3_version)) } @@ -148947,14 +148978,14 @@ func Xsqlite3_libversion(tls *libc.TLS) uintptr { /* sqlite3.c:168524:23: */ // IMPLEMENTATION-OF: R-35210-63508 The sqlite3_libversion_number() function // returns an integer equal to SQLITE_VERSION_NUMBER. -func Xsqlite3_libversion_number(tls *libc.TLS) int32 { /* sqlite3.c:168537:16: */ +func Xsqlite3_libversion_number(tls *libc.TLS) int32 { /* sqlite3.c:168594:16: */ return SQLITE_VERSION_NUMBER } // IMPLEMENTATION-OF: R-20790-14025 The sqlite3_threadsafe() function returns // zero if and only if SQLite was compiled with mutexing code omitted due to // the SQLITE_THREADSAFE compile-time option being set to 0. -func Xsqlite3_threadsafe(tls *libc.TLS) int32 { /* sqlite3.c:168543:16: */ +func Xsqlite3_threadsafe(tls *libc.TLS) int32 { /* sqlite3.c:168600:16: */ return SQLITE_THREADSAFE } @@ -148967,14 +148998,14 @@ func Xsqlite3_threadsafe(tls *libc.TLS) int32 { /* sqlite3.c:168543:16: */ // temporary files. // // See also the "PRAGMA temp_store_directory" SQL command. -var Xsqlite3_temp_directory uintptr = uintptr(0) /* sqlite3.c:168574:17 */ +var Xsqlite3_temp_directory uintptr = uintptr(0) /* sqlite3.c:168631:17 */ // If the following global variable points to a string which is the // name of a directory, then that directory will be used to store // all database files specified with a relative pathname. // // See also the "PRAGMA data_store_directory" SQL command. -var Xsqlite3_data_directory uintptr = uintptr(0) /* sqlite3.c:168583:17 */ +var Xsqlite3_data_directory uintptr = uintptr(0) /* sqlite3.c:168640:17 */ // Initialize SQLite. // @@ -149005,7 +149036,7 @@ var Xsqlite3_data_directory uintptr = uintptr(0) /* sqlite3.c:168583:17 */ // // * Recursive calls to this routine from thread X return immediately // without blocking. -func Xsqlite3_initialize(tls *libc.TLS) int32 { /* sqlite3.c:168616:16: */ +func Xsqlite3_initialize(tls *libc.TLS) int32 { /* sqlite3.c:168673:16: */ var pMainMtx uintptr // The main static mutex var rc int32 // Result code @@ -149131,7 +149162,7 @@ func Xsqlite3_initialize(tls *libc.TLS) int32 { /* sqlite3.c:168616:16: */ // routine is not threadsafe. But it is safe to invoke this routine // on when SQLite is already shut down. If SQLite is already shut down // when this routine is invoked, then this routine is a harmless no-op. -func Xsqlite3_shutdown(tls *libc.TLS) int32 { /* sqlite3.c:168791:16: */ +func Xsqlite3_shutdown(tls *libc.TLS) int32 { /* sqlite3.c:168848:16: */ if Xsqlite3Config.FisInit != 0 { Xsqlite3_os_end(tls) @@ -149170,7 +149201,7 @@ func Xsqlite3_shutdown(tls *libc.TLS) int32 { /* sqlite3.c:168791:16: */ // database connections or memory allocations. This routine is not // threadsafe. Failure to heed these warnings can lead to unpredictable // behavior. -func Xsqlite3_config(tls *libc.TLS, op int32, va uintptr) int32 { /* sqlite3.c:168845:16: */ +func Xsqlite3_config(tls *libc.TLS, op int32, va uintptr) int32 { /* sqlite3.c:168902:16: */ var ap Va_list _ = ap var rc int32 = SQLITE_OK @@ -149178,7 +149209,7 @@ func Xsqlite3_config(tls *libc.TLS, op int32, va uintptr) int32 { /* sqlite3.c:1 // sqlite3_config() shall return SQLITE_MISUSE if it is invoked while // the SQLite library is in use. if Xsqlite3Config.FisInit != 0 { - return Xsqlite3MisuseError(tls, 168851) + return Xsqlite3MisuseError(tls, 168908) } ap = va @@ -149448,7 +149479,7 @@ func Xsqlite3_config(tls *libc.TLS, op int32, va uintptr) int32 { /* sqlite3.c:1 // space for the lookaside memory is obtained from sqlite3_malloc(). // If pStart is not NULL then it is sz*cnt bytes of memory to use for // the lookaside memory. -func setupLookaside(tls *libc.TLS, db uintptr, pBuf uintptr, sz int32, cnt int32) int32 { /* sqlite3.c:169163:12: */ +func setupLookaside(tls *libc.TLS, db uintptr, pBuf uintptr, sz int32, cnt int32) int32 { /* sqlite3.c:169220:12: */ var pStart uintptr var szAlloc Sqlite3_int64 = Sqlite3_int64(sz) * Sqlite3_int64(cnt) var nBig int32 // Number of full-size slots @@ -149546,13 +149577,13 @@ func setupLookaside(tls *libc.TLS, db uintptr, pBuf uintptr, sz int32, cnt int32 } // Return the mutex associated with a database connection. -func Xsqlite3_db_mutex(tls *libc.TLS, db uintptr) uintptr { /* sqlite3.c:169263:26: */ +func Xsqlite3_db_mutex(tls *libc.TLS, db uintptr) uintptr { /* sqlite3.c:169320:26: */ return (*Sqlite3)(unsafe.Pointer(db)).Fmutex } // Free up as much memory as we can from the given database // connection. -func Xsqlite3_db_release_memory(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:169277:16: */ +func Xsqlite3_db_release_memory(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:169334:16: */ var i int32 Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) @@ -149571,7 +149602,7 @@ func Xsqlite3_db_release_memory(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c: // Flush any dirty pages in the pager-cache for any attached database // to disk. -func Xsqlite3_db_cacheflush(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:169301:16: */ +func Xsqlite3_db_cacheflush(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:169358:16: */ var i int32 var rc int32 = SQLITE_OK var bSeenBusy int32 = 0 @@ -149600,7 +149631,7 @@ func Xsqlite3_db_cacheflush(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:1693 } // Configuration settings for an individual database connection -func Xsqlite3_db_config(tls *libc.TLS, db uintptr, op int32, va uintptr) int32 { /* sqlite3.c:169330:16: */ +func Xsqlite3_db_config(tls *libc.TLS, db uintptr, op int32, va uintptr) int32 { /* sqlite3.c:169387:16: */ var ap Va_list _ = ap var rc int32 @@ -149679,11 +149710,11 @@ var aFlagOp = [16]struct { {Fop: SQLITE_DBCONFIG_DQS_DML, Fmask: U32(SQLITE_DqsDML)}, {Fop: SQLITE_DBCONFIG_LEGACY_FILE_FORMAT, Fmask: U32(SQLITE_LegacyFileFmt)}, {Fop: SQLITE_DBCONFIG_TRUSTED_SCHEMA, Fmask: U32(SQLITE_TrustedSchema)}, -} /* sqlite3.c:169353:9 */ +} /* sqlite3.c:169410:9 */ // This is the default collating function named "BINARY" which is always // available. -func binCollFunc(tls *libc.TLS, NotUsed uintptr, nKey1 int32, pKey1 uintptr, nKey2 int32, pKey2 uintptr) int32 { /* sqlite3.c:169405:12: */ +func binCollFunc(tls *libc.TLS, NotUsed uintptr, nKey1 int32, pKey1 uintptr, nKey2 int32, pKey2 uintptr) int32 { /* sqlite3.c:169462:12: */ var rc int32 var n int32 _ = NotUsed @@ -149705,7 +149736,7 @@ func binCollFunc(tls *libc.TLS, NotUsed uintptr, nKey1 int32, pKey1 uintptr, nKe // This is the collating function named "RTRIM" which is always // available. Ignore trailing spaces. -func rtrimCollFunc(tls *libc.TLS, pUser uintptr, nKey1 int32, pKey1 uintptr, nKey2 int32, pKey2 uintptr) int32 { /* sqlite3.c:169428:12: */ +func rtrimCollFunc(tls *libc.TLS, pUser uintptr, nKey1 int32, pKey1 uintptr, nKey2 int32, pKey2 uintptr) int32 { /* sqlite3.c:169485:12: */ var pK1 uintptr = pKey1 var pK2 uintptr = pKey2 for nKey1 != 0 && int32(*(*U8)(unsafe.Pointer(pK1 + uintptr(nKey1-1)))) == ' ' { @@ -149718,7 +149749,7 @@ func rtrimCollFunc(tls *libc.TLS, pUser uintptr, nKey1 int32, pKey1 uintptr, nKe } // Return true if CollSeq is the default built-in BINARY. -func Xsqlite3IsBinary(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:169443:20: */ +func Xsqlite3IsBinary(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:169500:20: */ return libc.Bool32(p == uintptr(0) || (*CollSeq)(unsafe.Pointer(p)).FxCmp == *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32 @@ -149732,7 +149763,7 @@ func Xsqlite3IsBinary(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:169443:20: // extends only to the 26 characters used in the English language. // // At the moment there is only a UTF-8 implementation. -func nocaseCollatingFunc(tls *libc.TLS, NotUsed uintptr, nKey1 int32, pKey1 uintptr, nKey2 int32, pKey2 uintptr) int32 { /* sqlite3.c:169457:12: */ +func nocaseCollatingFunc(tls *libc.TLS, NotUsed uintptr, nKey1 int32, pKey1 uintptr, nKey2 int32, pKey2 uintptr) int32 { /* sqlite3.c:169514:12: */ var r int32 = Xsqlite3_strnicmp(tls, pKey1, pKey2, func() int32 { if nKey1 < nKey2 { @@ -149748,39 +149779,39 @@ func nocaseCollatingFunc(tls *libc.TLS, NotUsed uintptr, nKey1 int32, pKey1 uint } // Return the ROWID of the most recent insert -func Xsqlite3_last_insert_rowid(tls *libc.TLS, db uintptr) Sqlite_int64 { /* sqlite3.c:169474:25: */ +func Xsqlite3_last_insert_rowid(tls *libc.TLS, db uintptr) Sqlite_int64 { /* sqlite3.c:169531:25: */ return (*Sqlite3)(unsafe.Pointer(db)).FlastRowid } // Set the value returned by the sqlite3_last_insert_rowid() API function. -func Xsqlite3_set_last_insert_rowid(tls *libc.TLS, db uintptr, iRowid Sqlite3_int64) { /* sqlite3.c:169487:17: */ +func Xsqlite3_set_last_insert_rowid(tls *libc.TLS, db uintptr, iRowid Sqlite3_int64) { /* sqlite3.c:169544:17: */ Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) (*Sqlite3)(unsafe.Pointer(db)).FlastRowid = iRowid Xsqlite3_mutex_leave(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) } // Return the number of changes in the most recent call to sqlite3_exec(). -func Xsqlite3_changes64(tls *libc.TLS, db uintptr) Sqlite3_int64 { /* sqlite3.c:169502:26: */ +func Xsqlite3_changes64(tls *libc.TLS, db uintptr) Sqlite3_int64 { /* sqlite3.c:169559:26: */ return (*Sqlite3)(unsafe.Pointer(db)).FnChange } -func Xsqlite3_changes(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:169511:16: */ +func Xsqlite3_changes(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:169568:16: */ return int32(Xsqlite3_changes64(tls, db)) } // Return the number of changes since the database handle was opened. -func Xsqlite3_total_changes64(tls *libc.TLS, db uintptr) Sqlite3_int64 { /* sqlite3.c:169518:26: */ +func Xsqlite3_total_changes64(tls *libc.TLS, db uintptr) Sqlite3_int64 { /* sqlite3.c:169575:26: */ return (*Sqlite3)(unsafe.Pointer(db)).FnTotalChange } -func Xsqlite3_total_changes(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:169527:16: */ +func Xsqlite3_total_changes(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:169584:16: */ return int32(Xsqlite3_total_changes64(tls, db)) } // Close all open savepoints. This function only manipulates fields of the // database handle object, it does not close any savepoints that may be open // at the b-tree/pager level. -func Xsqlite3CloseSavepoints(tls *libc.TLS, db uintptr) { /* sqlite3.c:169536:21: */ +func Xsqlite3CloseSavepoints(tls *libc.TLS, db uintptr) { /* sqlite3.c:169593:21: */ for (*Sqlite3)(unsafe.Pointer(db)).FpSavepoint != 0 { var pTmp uintptr = (*Sqlite3)(unsafe.Pointer(db)).FpSavepoint (*Sqlite3)(unsafe.Pointer(db)).FpSavepoint = (*Savepoint)(unsafe.Pointer(pTmp)).FpNext @@ -149795,7 +149826,7 @@ func Xsqlite3CloseSavepoints(tls *libc.TLS, db uintptr) { /* sqlite3.c:169536:21 // if this is not the last copy of the function, do not invoke it. Multiple // copies of a single function are created when create_function() is called // with SQLITE_ANY as the encoding. -func functionDestroy(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:169553:13: */ +func functionDestroy(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:169610:13: */ var pDestructor uintptr pDestructor = *(*uintptr)(unsafe.Pointer(p + 64)) @@ -149810,7 +149841,7 @@ func functionDestroy(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:169553 // Disconnect all sqlite3_vtab objects that belong to database connection // db. This is called when db is being closed. -func disconnectAllVtab(tls *libc.TLS, db uintptr) { /* sqlite3.c:169570:13: */ +func disconnectAllVtab(tls *libc.TLS, db uintptr) { /* sqlite3.c:169627:13: */ var i int32 var p uintptr Xsqlite3BtreeEnterAll(tls, db) @@ -149837,7 +149868,7 @@ func disconnectAllVtab(tls *libc.TLS, db uintptr) { /* sqlite3.c:169570:13: */ // Return TRUE if database connection db has unfinalized prepared // statements or unfinished sqlite3_backup objects. -func connectionIsBusy(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:169601:12: */ +func connectionIsBusy(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:169658:12: */ var j int32 if (*Sqlite3)(unsafe.Pointer(db)).FpVdbe != 0 { @@ -149853,14 +149884,14 @@ func connectionIsBusy(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:169601:12: } // Close an existing SQLite database -func sqlite3Close(tls *libc.TLS, db uintptr, forceZombie int32) int32 { /* sqlite3.c:169615:12: */ +func sqlite3Close(tls *libc.TLS, db uintptr, forceZombie int32) int32 { /* sqlite3.c:169672:12: */ if !(db != 0) { // EVIDENCE-OF: R-63257-11740 Calling sqlite3_close() or // sqlite3_close_v2() with a NULL pointer argument is a harmless no-op. return SQLITE_OK } if !(Xsqlite3SafetyCheckSickOrOk(tls, db) != 0) { - return Xsqlite3MisuseError(tls, 169622) + return Xsqlite3MisuseError(tls, 169679) } Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) if int32((*Sqlite3)(unsafe.Pointer(db)).FmTrace)&SQLITE_TRACE_CLOSE != 0 { @@ -149897,7 +149928,7 @@ func sqlite3Close(tls *libc.TLS, db uintptr, forceZombie int32) int32 { /* sqlit // Return the transaction state for a single databse, or the maximum // transaction state over all attached databases if zSchema is null. -func Xsqlite3_txn_state(tls *libc.TLS, db uintptr, zSchema uintptr) int32 { /* sqlite3.c:169669:16: */ +func Xsqlite3_txn_state(tls *libc.TLS, db uintptr, zSchema uintptr) int32 { /* sqlite3.c:169726:16: */ var iDb int32 var nDb int32 var iTxn int32 = -1 @@ -149934,11 +149965,11 @@ func Xsqlite3_txn_state(tls *libc.TLS, db uintptr, zSchema uintptr) int32 { /* s // version forces the connection to become a zombie if there are // unclosed resources, and arranges for deallocation when the last // prepare statement or sqlite3_backup closes. -func Xsqlite3_close(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:169704:16: */ +func Xsqlite3_close(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:169761:16: */ return sqlite3Close(tls, db, 0) } -func Xsqlite3_close_v2(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:169705:16: */ +func Xsqlite3_close_v2(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:169762:16: */ return sqlite3Close(tls, db, 1) } @@ -149948,7 +149979,7 @@ func Xsqlite3_close_v2(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:169705:16 // has been a prior call to sqlite3_close(db) or sqlite3_close_v2(db)) and // every sqlite3_stmt has now been finalized and every sqlite3_backup has // finished, then free all resources. -func Xsqlite3LeaveMutexAndCloseZombie(tls *libc.TLS, db uintptr) { /* sqlite3.c:169716:21: */ +func Xsqlite3LeaveMutexAndCloseZombie(tls *libc.TLS, db uintptr) { /* sqlite3.c:169773:21: */ var i uintptr // Hash table iterator var j int32 @@ -150058,7 +150089,7 @@ func Xsqlite3LeaveMutexAndCloseZombie(tls *libc.TLS, db uintptr) { /* sqlite3.c: // breaker") and made to return tripCode if there are any further // attempts to use that cursor. Read cursors remain open and valid // but are "saved" in case the table pages are moved around. -func Xsqlite3RollbackAll(tls *libc.TLS, db uintptr, tripCode int32) { /* sqlite3.c:169839:21: */ +func Xsqlite3RollbackAll(tls *libc.TLS, db uintptr, tripCode int32) { /* sqlite3.c:169896:21: */ var i int32 var inTrans int32 = 0 var schemaChange int32 @@ -150108,7 +150139,7 @@ func Xsqlite3RollbackAll(tls *libc.TLS, db uintptr, tripCode int32) { /* sqlite3 // Return a static string that describes the kind of error specified in the // argument. -func Xsqlite3ErrStr(tls *libc.TLS, rc int32) uintptr { /* sqlite3.c:170000:27: */ +func Xsqlite3ErrStr(tls *libc.TLS, rc int32) uintptr { /* sqlite3.c:170057:27: */ var zErr uintptr = ts + 23269 /* "unknown error" */ switch rc { case SQLITE_ABORT | int32(2)<<8: @@ -150172,7 +150203,7 @@ var aMsg = [29]uintptr{ ts + 23765, ts + 23788, ts + 23809, -} /* sqlite3.c:170001:20 */ +} /* sqlite3.c:170058:20 */ // This routine implements a busy callback that sleeps and tries // again until a timeout value is reached. The timeout value is @@ -150181,7 +150212,7 @@ var aMsg = [29]uintptr{ // // Return non-zero to retry the lock. Return zero to stop trying // and cause SQLite to return SQLITE_BUSY. -func sqliteDefaultBusyCallback(tls *libc.TLS, ptr uintptr, count int32) int32 { /* sqlite3.c:170070:12: */ +func sqliteDefaultBusyCallback(tls *libc.TLS, ptr uintptr, count int32) int32 { /* sqlite3.c:170127:12: */ var db uintptr = ptr var tmout int32 = (*Sqlite3)(unsafe.Pointer(db)).FbusyTimeout var delay int32 @@ -150204,8 +150235,8 @@ func sqliteDefaultBusyCallback(tls *libc.TLS, ptr uintptr, count int32) int32 { return 1 } -var delays = [12]U8{U8(1), U8(2), U8(5), U8(10), U8(15), U8(20), U8(25), U8(25), U8(25), U8(50), U8(50), U8(100)} /* sqlite3.c:170077:19 */ -var totals = [12]U8{U8(0), U8(1), U8(3), U8(8), U8(18), U8(33), U8(53), U8(78), U8(103), U8(128), U8(178), U8(228)} /* sqlite3.c:170079:19 */ +var delays = [12]U8{U8(1), U8(2), U8(5), U8(10), U8(15), U8(20), U8(25), U8(25), U8(25), U8(50), U8(50), U8(100)} /* sqlite3.c:170134:19 */ +var totals = [12]U8{U8(0), U8(1), U8(3), U8(8), U8(18), U8(33), U8(53), U8(78), U8(103), U8(128), U8(178), U8(228)} /* sqlite3.c:170136:19 */ // Invoke the given busy handler. // @@ -150214,7 +150245,7 @@ var totals = [12]U8{U8(0), U8(1), U8(3), U8(8), U8(18), U8(33), U8(53), U8(78), // // If this routine returns non-zero, the lock is retried. If it // returns 0, the operation aborts with an SQLITE_BUSY error. -func Xsqlite3InvokeBusyHandler(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:170122:20: */ +func Xsqlite3InvokeBusyHandler(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:170179:20: */ var rc int32 if (*BusyHandler)(unsafe.Pointer(p)).FxBusyHandler == uintptr(0) || (*BusyHandler)(unsafe.Pointer(p)).FnBusy < 0 { return 0 @@ -150232,7 +150263,7 @@ func Xsqlite3InvokeBusyHandler(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:17 // This routine sets the busy callback for an Sqlite database to the // given callback function with the given argument. -func Xsqlite3_busy_handler(tls *libc.TLS, db uintptr, xBusy uintptr, pArg uintptr) int32 { /* sqlite3.c:170138:16: */ +func Xsqlite3_busy_handler(tls *libc.TLS, db uintptr, xBusy uintptr, pArg uintptr) int32 { /* sqlite3.c:170195:16: */ Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) (*Sqlite3)(unsafe.Pointer(db)).FbusyHandler.FxBusyHandler = xBusy (*Sqlite3)(unsafe.Pointer(db)).FbusyHandler.FpBusyArg = pArg @@ -150245,7 +150276,7 @@ func Xsqlite3_busy_handler(tls *libc.TLS, db uintptr, xBusy uintptr, pArg uintpt // This routine sets the progress callback for an Sqlite database to the // given callback function with the given argument. The progress callback will // be invoked every nOps opcodes. -func Xsqlite3_progress_handler(tls *libc.TLS, db uintptr, nOps int32, xProgress uintptr, pArg uintptr) { /* sqlite3.c:170161:17: */ +func Xsqlite3_progress_handler(tls *libc.TLS, db uintptr, nOps int32, xProgress uintptr, pArg uintptr) { /* sqlite3.c:170218:17: */ Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) if nOps > 0 { (*Sqlite3)(unsafe.Pointer(db)).FxProgress = xProgress @@ -150261,7 +150292,7 @@ func Xsqlite3_progress_handler(tls *libc.TLS, db uintptr, nOps int32, xProgress // This routine installs a default busy handler that waits for the // specified number of milliseconds before returning 0. -func Xsqlite3_busy_timeout(tls *libc.TLS, db uintptr, ms int32) int32 { /* sqlite3.c:170192:16: */ +func Xsqlite3_busy_timeout(tls *libc.TLS, db uintptr, ms int32) int32 { /* sqlite3.c:170249:16: */ if ms > 0 { Xsqlite3_busy_handler(tls, db, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32) int32 @@ -150275,7 +150306,7 @@ func Xsqlite3_busy_timeout(tls *libc.TLS, db uintptr, ms int32) int32 { /* sqlit } // Cause any pending operation to stop at its earliest opportunity. -func Xsqlite3_interrupt(tls *libc.TLS, db uintptr) { /* sqlite3.c:170209:17: */ +func Xsqlite3_interrupt(tls *libc.TLS, db uintptr) { /* sqlite3.c:170266:17: */ libc.AtomicStoreNInt32(db+432, int32(1), 0) } @@ -150283,7 +150314,7 @@ func Xsqlite3_interrupt(tls *libc.TLS, db uintptr) { /* sqlite3.c:170209:17: */ // that it is designed to be called by internal code. The difference is // that if a malloc() fails in sqlite3_create_function(), an error code // is returned and the mallocFailed flag cleared. -func Xsqlite3CreateFunc(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) int32 { /* sqlite3.c:170226:20: */ +func Xsqlite3CreateFunc(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) int32 { /* sqlite3.c:170283:20: */ var p uintptr var extraFlags int32 @@ -150293,7 +150324,7 @@ func Xsqlite3CreateFunc(tls *libc.TLS, db uintptr, zFunctionName uintptr, nArg i libc.Bool32(xValue == uintptr(0)) != libc.Bool32(xInverse == uintptr(0)) || (nArg < -1 || nArg > SQLITE_MAX_FUNCTION_ARG) || 255 < Xsqlite3Strlen30(tls, zFunctionName) { - return Xsqlite3MisuseError(tls, 170251) + return Xsqlite3MisuseError(tls, 170308) } extraFlags = enc & (SQLITE_DETERMINISTIC | SQLITE_DIRECTONLY | SQLITE_SUBTYPE | SQLITE_INNOCUOUS) @@ -150403,7 +150434,7 @@ func Xsqlite3CreateFunc(tls *libc.TLS, db uintptr, zFunctionName uintptr, nArg i // sqlite3_create_function() // 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) int32 { /* sqlite3.c:170360:12: */ +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) int32 { /* sqlite3.c:170417:12: */ var rc int32 var pArg uintptr rc = SQLITE_ERROR @@ -150445,22 +150476,22 @@ out: } // 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) int32 { /* sqlite3.c:170411:16: */ +func Xsqlite3_create_function(tls *libc.TLS, db uintptr, zFunc uintptr, nArg int32, enc int32, p uintptr, xSFunc uintptr, xStep uintptr, xFinal uintptr) int32 { /* sqlite3.c:170468:16: */ return createFunctionApi(tls, db, zFunc, nArg, enc, p, xSFunc, xStep, 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) int32 { /* sqlite3.c:170424:16: */ +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) int32 { /* sqlite3.c:170481:16: */ return createFunctionApi(tls, db, zFunc, nArg, enc, p, xSFunc, xStep, xFinal, uintptr(0), uintptr(0), 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) int32 { /* sqlite3.c:170438:16: */ +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) int32 { /* sqlite3.c:170495:16: */ return createFunctionApi(tls, db, zFunc, nArg, enc, p, uintptr(0), xStep, xFinal, xValue, xInverse, xDestroy) } -func Xsqlite3_create_function16(tls *libc.TLS, db uintptr, zFunctionName uintptr, nArg int32, eTextRep int32, p uintptr, xSFunc uintptr, xStep uintptr, xFinal uintptr) int32 { /* sqlite3.c:170455:16: */ +func Xsqlite3_create_function16(tls *libc.TLS, db uintptr, zFunctionName uintptr, nArg int32, eTextRep int32, p uintptr, xSFunc uintptr, xStep uintptr, xFinal uintptr) int32 { /* sqlite3.c:170512:16: */ var rc int32 var zFunc8 uintptr @@ -150485,7 +150516,7 @@ func Xsqlite3_create_function16(tls *libc.TLS, db uintptr, zFunctionName uintptr // SQL function that use this routine so that the functions will exist // for name resolution but are actually overloaded by the xFindFunction // method of virtual tables. -func sqlite3InvalidFunction(tls *libc.TLS, context uintptr, NotUsed int32, NotUsed2 uintptr) { /* sqlite3.c:170491:13: */ +func sqlite3InvalidFunction(tls *libc.TLS, context uintptr, NotUsed int32, NotUsed2 uintptr) { /* sqlite3.c:170548:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -150509,7 +150540,7 @@ func sqlite3InvalidFunction(tls *libc.TLS, context uintptr, NotUsed int32, NotUs // should call this routine to make sure the global function exists. // A global function must exist in order for name resolution to work // properly. -func Xsqlite3_overload_function(tls *libc.TLS, db uintptr, zName uintptr, nArg int32) int32 { /* sqlite3.c:170517:16: */ +func Xsqlite3_overload_function(tls *libc.TLS, db uintptr, zName uintptr, nArg int32) int32 { /* sqlite3.c:170574:16: */ var rc int32 var zCopy uintptr @@ -150535,7 +150566,7 @@ func Xsqlite3_overload_function(tls *libc.TLS, db uintptr, zName uintptr, nArg i // A NULL trace function means that no tracing is executes. A non-NULL // 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) uintptr { /* sqlite3.c:170550:17: */ +func Xsqlite3_trace(tls *libc.TLS, db uintptr, xTrace uintptr, pArg uintptr) uintptr { /* sqlite3.c:170607:17: */ var pOld uintptr Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) @@ -150553,7 +150584,7 @@ func Xsqlite3_trace(tls *libc.TLS, db uintptr, xTrace uintptr, pArg uintptr) uin } // Register a trace callback using the version-2 interface. -func Xsqlite3_trace_v2(tls *libc.TLS, db uintptr, mTrace uint32, xTrace uintptr, pArg uintptr) int32 { /* sqlite3.c:170571:16: */ +func Xsqlite3_trace_v2(tls *libc.TLS, db uintptr, mTrace uint32, xTrace uintptr, pArg uintptr) int32 { /* sqlite3.c:170628:16: */ Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) if mTrace == uint32(0) { xTrace = uintptr(0) @@ -150574,7 +150605,7 @@ func Xsqlite3_trace_v2(tls *libc.TLS, db uintptr, mTrace uint32, xTrace uintptr, // A NULL profile function means that no profiling is executes. A non-NULL // 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) uintptr { /* sqlite3.c:170601:17: */ +func Xsqlite3_profile(tls *libc.TLS, db uintptr, xProfile uintptr, pArg uintptr) uintptr { /* sqlite3.c:170658:17: */ var pOld uintptr Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) @@ -150592,7 +150623,7 @@ func Xsqlite3_profile(tls *libc.TLS, db uintptr, xProfile uintptr, pArg uintptr) // Register a function to be invoked when a transaction commits. // 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) uintptr { /* sqlite3.c:170631:17: */ +func Xsqlite3_commit_hook(tls *libc.TLS, db uintptr, xCallback uintptr, pArg uintptr) uintptr { /* sqlite3.c:170688:17: */ var pOld uintptr Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) @@ -150605,7 +150636,7 @@ func Xsqlite3_commit_hook(tls *libc.TLS, db uintptr, xCallback uintptr, pArg uin // 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) uintptr { /* sqlite3.c:170656:17: */ +func Xsqlite3_update_hook(tls *libc.TLS, db uintptr, xCallback uintptr, pArg uintptr) uintptr { /* sqlite3.c:170713:17: */ var pRet uintptr Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) @@ -150618,7 +150649,7 @@ func Xsqlite3_update_hook(tls *libc.TLS, db uintptr, xCallback uintptr, pArg uin // 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) uintptr { /* sqlite3.c:170681:17: */ +func Xsqlite3_rollback_hook(tls *libc.TLS, db uintptr, xCallback uintptr, pArg uintptr) uintptr { /* sqlite3.c:170738:17: */ var pRet uintptr Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) @@ -150631,7 +150662,7 @@ func Xsqlite3_rollback_hook(tls *libc.TLS, db uintptr, xCallback uintptr, pArg u // 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) uintptr { /* sqlite3.c:170707:17: */ +func Xsqlite3_preupdate_hook(tls *libc.TLS, db uintptr, xCallback uintptr, pArg uintptr) uintptr { /* sqlite3.c:170764:17: */ var pRet uintptr Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) pRet = (*Sqlite3)(unsafe.Pointer(db)).FpPreUpdateArg @@ -150643,7 +150674,7 @@ func Xsqlite3_preupdate_hook(tls *libc.TLS, db uintptr, xCallback uintptr, pArg // 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) int32 { /* sqlite3.c:170727:16: */ +func Xsqlite3_autovacuum_pages(tls *libc.TLS, db uintptr, xCallback uintptr, pArg uintptr, xDestructor uintptr) int32 { /* sqlite3.c:170784:16: */ Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) if (*Sqlite3)(unsafe.Pointer(db)).FxAutovacDestr != 0 { (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3)(unsafe.Pointer(db)).FxAutovacDestr})).f(tls, (*Sqlite3)(unsafe.Pointer(db)).FpAutovacPagesArg) @@ -150659,7 +150690,7 @@ func Xsqlite3_autovacuum_pages(tls *libc.TLS, db uintptr, xCallback uintptr, pAr // Invoke sqlite3_wal_checkpoint if the number of frames in the log file // is greater than sqlite3.pWalArg cast to an integer (the value configured by // wal_autocheckpoint()). -func Xsqlite3WalDefaultHook(tls *libc.TLS, pClientData uintptr, db uintptr, zDb uintptr, nFrame int32) int32 { /* sqlite3.c:170758:20: */ +func Xsqlite3WalDefaultHook(tls *libc.TLS, pClientData uintptr, db uintptr, zDb uintptr, nFrame int32) int32 { /* sqlite3.c:170815:20: */ if nFrame >= int32(pClientData) { Xsqlite3BeginBenignMalloc(tls) Xsqlite3_wal_checkpoint(tls, db, zDb) @@ -150677,7 +150708,7 @@ func Xsqlite3WalDefaultHook(tls *libc.TLS, pClientData uintptr, db uintptr, zDb // registered using sqlite3_wal_hook(). Likewise, registering a callback // using sqlite3_wal_hook() disables the automatic checkpoint mechanism // configured by this function. -func Xsqlite3_wal_autocheckpoint(tls *libc.TLS, db uintptr, nFrame int32) int32 { /* sqlite3.c:170784:16: */ +func Xsqlite3_wal_autocheckpoint(tls *libc.TLS, db uintptr, nFrame int32) int32 { /* sqlite3.c:170841:16: */ if nFrame > 0 { Xsqlite3_wal_hook(tls, db, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, uintptr, int32) int32 @@ -150690,7 +150721,7 @@ func Xsqlite3_wal_autocheckpoint(tls *libc.TLS, db uintptr, nFrame int32) int32 // 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) uintptr { /* sqlite3.c:170805:17: */ +func Xsqlite3_wal_hook(tls *libc.TLS, db uintptr, xCallback uintptr, pArg uintptr) uintptr { /* sqlite3.c:170862:17: */ var pRet uintptr Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) pRet = (*Sqlite3)(unsafe.Pointer(db)).FpWalArg @@ -150701,7 +150732,7 @@ func Xsqlite3_wal_hook(tls *libc.TLS, db uintptr, xCallback uintptr, pArg uintpt } // Checkpoint database zDb. -func Xsqlite3_wal_checkpoint_v2(tls *libc.TLS, db uintptr, zDb uintptr, eMode int32, pnLog uintptr, pnCkpt uintptr) int32 { /* sqlite3.c:170832:16: */ +func Xsqlite3_wal_checkpoint_v2(tls *libc.TLS, db uintptr, zDb uintptr, eMode int32, pnLog uintptr, pnCkpt uintptr) int32 { /* sqlite3.c:170889:16: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -150751,7 +150782,7 @@ func Xsqlite3_wal_checkpoint_v2(tls *libc.TLS, db uintptr, zDb uintptr, eMode in // Checkpoint database zDb. If zDb is NULL, or if the buffer zDb points // to contains a zero-length string, all attached databases are // checkpointed. -func Xsqlite3_wal_checkpoint(tls *libc.TLS, db uintptr, zDb uintptr) int32 { /* sqlite3.c:170896:16: */ +func Xsqlite3_wal_checkpoint(tls *libc.TLS, db uintptr, zDb uintptr) int32 { /* sqlite3.c:170953:16: */ // EVIDENCE-OF: R-41613-20553 The sqlite3_wal_checkpoint(D,X) is equivalent to // sqlite3_wal_checkpoint_v2(D,X,SQLITE_CHECKPOINT_PASSIVE,0,0). return Xsqlite3_wal_checkpoint_v2(tls, db, zDb, SQLITE_CHECKPOINT_PASSIVE, uintptr(0), uintptr(0)) @@ -150775,7 +150806,7 @@ func Xsqlite3_wal_checkpoint(tls *libc.TLS, db uintptr, zDb uintptr) int32 { /* // // Parameter eMode is one of SQLITE_CHECKPOINT_PASSIVE, FULL, RESTART // or TRUNCATE. -func Xsqlite3Checkpoint(tls *libc.TLS, db uintptr, iDb int32, eMode int32, pnLog uintptr, pnCkpt uintptr) int32 { /* sqlite3.c:170923:20: */ +func Xsqlite3Checkpoint(tls *libc.TLS, db uintptr, iDb int32, eMode int32, pnLog uintptr, pnCkpt uintptr) int32 { /* sqlite3.c:170980:20: */ var rc int32 = SQLITE_OK // Return code var i int32 // Used to iterate through attached dbs var bBusy int32 = 0 // True if SQLITE_BUSY has been encountered @@ -150817,19 +150848,19 @@ func Xsqlite3Checkpoint(tls *libc.TLS, db uintptr, iDb int32, eMode int32, pnLog // 2 2 memory (return 1) // 2 0 memory (return 1) // 3 any memory (return 1) -func Xsqlite3TempInMemory(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:170969:20: */ +func Xsqlite3TempInMemory(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:171026:20: */ return libc.Bool32(int32((*Sqlite3)(unsafe.Pointer(db)).Ftemp_store) == 2) } // Return UTF-8 encoded English language explanation of the most recent // error. -func Xsqlite3_errmsg(tls *libc.TLS, db uintptr) uintptr { /* sqlite3.c:170990:23: */ +func Xsqlite3_errmsg(tls *libc.TLS, db uintptr) uintptr { /* sqlite3.c:171047:23: */ var z uintptr if !(db != 0) { return Xsqlite3ErrStr(tls, SQLITE_NOMEM) } if !(Xsqlite3SafetyCheckSickOrOk(tls, db) != 0) { - return Xsqlite3ErrStr(tls, Xsqlite3MisuseError(tls, 170996)) + return Xsqlite3ErrStr(tls, Xsqlite3MisuseError(tls, 171053)) } Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) if (*Sqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 { @@ -150851,7 +150882,7 @@ func Xsqlite3_errmsg(tls *libc.TLS, db uintptr) uintptr { /* sqlite3.c:170990:23 } // Return the byte offset of the most recent error -func Xsqlite3_error_offset(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:171016:16: */ +func Xsqlite3_error_offset(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:171073:16: */ var iOffset int32 = -1 if db != 0 && Xsqlite3SafetyCheckSickOrOk(tls, db) != 0 && (*Sqlite3)(unsafe.Pointer(db)).FerrCode != 0 { Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) @@ -150863,7 +150894,7 @@ func Xsqlite3_error_offset(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:17101 // Return UTF-16 encoded English language explanation of the most recent // error. -func Xsqlite3_errmsg16(tls *libc.TLS, db uintptr) uintptr { /* sqlite3.c:171031:23: */ +func Xsqlite3_errmsg16(tls *libc.TLS, db uintptr) uintptr { /* sqlite3.c:171088:23: */ var z uintptr if !(db != 0) { return uintptr(uintptr(unsafe.Pointer(&outOfMem))) @@ -150892,18 +150923,18 @@ func Xsqlite3_errmsg16(tls *libc.TLS, db uintptr) uintptr { /* sqlite3.c:171031: var outOfMem = [14]U16{ U16('o'), U16('u'), U16('t'), U16(' '), U16('o'), U16('f'), U16(' '), U16('m'), U16('e'), U16('m'), U16('o'), U16('r'), U16('y'), U16(0), -} /* sqlite3.c:171032:20 */ +} /* sqlite3.c:171089:20 */ var misuse = [34]U16{ U16('b'), U16('a'), U16('d'), U16(' '), U16('p'), U16('a'), U16('r'), U16('a'), U16('m'), U16('e'), U16('t'), U16('e'), U16('r'), U16(' '), U16('o'), U16('r'), U16(' '), U16('o'), U16('t'), U16('h'), U16('e'), U16('r'), U16(' '), U16('A'), U16('P'), U16('I'), U16(' '), U16('m'), U16('i'), U16('s'), U16('u'), U16('s'), U16('e'), U16(0), -} /* sqlite3.c:171035:20 */ +} /* sqlite3.c:171092:20 */ // Return the most recent error code generated by an SQLite routine. If NULL is // passed to this function, we assume a malloc() failed during sqlite3_open(). -func Xsqlite3_errcode(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:171073:16: */ +func Xsqlite3_errcode(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:171130:16: */ if db != 0 && !(Xsqlite3SafetyCheckSickOrOk(tls, db) != 0) { - return Xsqlite3MisuseError(tls, 171075) + return Xsqlite3MisuseError(tls, 171132) } if !(db != 0) || (*Sqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 { return SQLITE_NOMEM @@ -150911,9 +150942,9 @@ func Xsqlite3_errcode(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:171073:16: return (*Sqlite3)(unsafe.Pointer(db)).FerrCode & (*Sqlite3)(unsafe.Pointer(db)).FerrMask } -func Xsqlite3_extended_errcode(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:171082:16: */ +func Xsqlite3_extended_errcode(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:171139:16: */ if db != 0 && !(Xsqlite3SafetyCheckSickOrOk(tls, db) != 0) { - return Xsqlite3MisuseError(tls, 171084) + return Xsqlite3MisuseError(tls, 171141) } if !(db != 0) || (*Sqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 { return SQLITE_NOMEM @@ -150921,7 +150952,7 @@ func Xsqlite3_extended_errcode(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:1 return (*Sqlite3)(unsafe.Pointer(db)).FerrCode } -func Xsqlite3_system_errno(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:171091:16: */ +func Xsqlite3_system_errno(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:171148:16: */ if db != 0 { return (*Sqlite3)(unsafe.Pointer(db)).FiSysErrno } @@ -150931,13 +150962,13 @@ func Xsqlite3_system_errno(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:17109 // Return a string that describes the kind of error specified in the // argument. For now, this simply calls the internal sqlite3ErrStr() // function. -func Xsqlite3_errstr(tls *libc.TLS, rc int32) uintptr { /* sqlite3.c:171100:23: */ +func Xsqlite3_errstr(tls *libc.TLS, rc int32) uintptr { /* sqlite3.c:171157:23: */ return Xsqlite3ErrStr(tls, rc) } // 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 U8, pCtx uintptr, xCompare uintptr, xDel uintptr) int32 { /* sqlite3.c:171108:12: */ +func createCollation(tls *libc.TLS, db uintptr, zName uintptr, enc U8, pCtx uintptr, xCompare uintptr, xDel uintptr) int32 { /* sqlite3.c:171165:12: */ var pColl uintptr var enc2 int32 @@ -150955,7 +150986,7 @@ func createCollation(tls *libc.TLS, db uintptr, zName uintptr, enc U8, pCtx uint }() } if enc2 < SQLITE_UTF8 || enc2 > SQLITE_UTF16BE { - return Xsqlite3MisuseError(tls, 171132) + return Xsqlite3MisuseError(tls, 171189) } // Check if this call is removing or replacing an existing collation @@ -151018,7 +151049,7 @@ var aHardLimit = [12]int32{ SQLITE_MAX_VARIABLE_NUMBER, // IMP: R-38091-32352 SQLITE_MAX_TRIGGER_DEPTH, SQLITE_MAX_WORKER_THREADS, -} /* sqlite3.c:171185:18 */ +} /* sqlite3.c:171242:18 */ // Make sure the hard limits are set to reasonable values @@ -151030,7 +151061,7 @@ var aHardLimit = [12]int32{ // A new lower limit does not shrink existing constructs. // It merely prevents new constructs that exceed the limit // from forming. -func Xsqlite3_limit(tls *libc.TLS, db uintptr, limitId int32, newLimit int32) int32 { /* sqlite3.c:171248:16: */ +func Xsqlite3_limit(tls *libc.TLS, db uintptr, limitId int32, newLimit int32) int32 { /* sqlite3.c:171305:16: */ var oldLimit int32 // EVIDENCE-OF: R-30189-54097 For each limit category SQLITE_LIMIT_NAME @@ -151077,7 +151108,7 @@ func Xsqlite3_limit(tls *libc.TLS, db uintptr, limitId int32, newLimit int32) in // may be set to point to a buffer containing an English language error // message. It is the responsibility of the caller to eventually release // this buffer by calling sqlite3_free(). -func Xsqlite3ParseUri(tls *libc.TLS, zDefaultVfs uintptr, zUri uintptr, pFlags uintptr, ppVfs uintptr, pzFile uintptr, pzErrMsg uintptr) int32 { /* sqlite3.c:171320:20: */ +func Xsqlite3ParseUri(tls *libc.TLS, zDefaultVfs uintptr, zUri uintptr, pFlags uintptr, ppVfs uintptr, pzFile uintptr, pzErrMsg uintptr) int32 { /* sqlite3.c:171377:20: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -151415,24 +151446,24 @@ type OpenMode = struct { Fz uintptr Fmode int32 F__ccgo_pad1 [4]byte -} /* sqlite3.c:171462:9 */ +} /* sqlite3.c:171519:9 */ var aCacheMode = [3]OpenMode{ {Fz: ts + 24147, Fmode: SQLITE_OPEN_SHAREDCACHE}, {Fz: ts + 24154, Fmode: SQLITE_OPEN_PRIVATECACHE}, {}, -} /* sqlite3.c:171471:34 */ +} /* sqlite3.c:171528:34 */ var aOpenMode = [5]OpenMode{ {Fz: ts + 24162, Fmode: SQLITE_OPEN_READONLY}, {Fz: ts + 24165, Fmode: SQLITE_OPEN_READWRITE}, {Fz: ts + 24168, Fmode: SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE}, {Fz: ts + 17269, Fmode: SQLITE_OPEN_MEMORY}, {}, -} /* sqlite3.c:171483:34 */ +} /* sqlite3.c:171540:34 */ // This routine does the core work of extracting URI parameters from a // database filename for the sqlite3_uri_parameter() interface. -func uriParameter(tls *libc.TLS, zFilename uintptr, zParam uintptr) uintptr { /* sqlite3.c:171557:19: */ +func uriParameter(tls *libc.TLS, zFilename uintptr, zParam uintptr) uintptr { /* sqlite3.c:171614:19: */ zFilename += uintptr(Xsqlite3Strlen30(tls, zFilename) + 1) for zFilename != uintptr(0) && *(*uint8)(unsafe.Pointer(zFilename)) != 0 { var x int32 = libc.Xstrcmp(tls, zFilename, zParam) @@ -151448,7 +151479,7 @@ func uriParameter(tls *libc.TLS, zFilename uintptr, zParam uintptr) uintptr { /* // This routine does the work of opening a database on behalf of // sqlite3_open() and sqlite3_open16(). The database filename "zFilename" // is UTF-8 encoded. -func openDatabase(tls *libc.TLS, zFilename uintptr, ppDb uintptr, flags uint32, zVfs uintptr) int32 { /* sqlite3.c:171575:12: */ +func openDatabase(tls *libc.TLS, zFilename uintptr, ppDb uintptr, flags uint32, zVfs uintptr) int32 { /* sqlite3.c:171632:12: */ bp := tls.Alloc(32) defer tls.Free(32) *(*uint32)(unsafe.Pointer(bp + 8)) = flags @@ -151632,7 +151663,7 @@ __15: if !(int32(1)<<(*(*uint32)(unsafe.Pointer(bp + 8))&uint32(7))&0x46 == 0) { goto __16 } - rc = Xsqlite3MisuseError(tls, 171788) // IMP: R-18321-05872 + rc = Xsqlite3MisuseError(tls, 171845) // IMP: R-18321-05872 goto __17 __16: rc = Xsqlite3ParseUri(tls, zVfs, zFilename, bp+8, db, bp+16, bp+24) @@ -151788,17 +151819,17 @@ __32: } // Open a new database handle. -func Xsqlite3_open(tls *libc.TLS, zFilename uintptr, ppDb uintptr) int32 { /* sqlite3.c:171910:16: */ +func Xsqlite3_open(tls *libc.TLS, zFilename uintptr, ppDb uintptr) int32 { /* sqlite3.c:171967:16: */ return openDatabase(tls, zFilename, ppDb, uint32(SQLITE_OPEN_READWRITE|SQLITE_OPEN_CREATE), uintptr(0)) } -func Xsqlite3_open_v2(tls *libc.TLS, filename uintptr, ppDb uintptr, flags int32, zVfs uintptr) int32 { /* sqlite3.c:171917:16: */ +func Xsqlite3_open_v2(tls *libc.TLS, filename uintptr, ppDb uintptr, flags int32, zVfs uintptr) int32 { /* sqlite3.c:171974:16: */ return openDatabase(tls, filename, ppDb, uint32(flags), zVfs) } // Open a new database handle. -func Xsqlite3_open16(tls *libc.TLS, zFilename uintptr, ppDb uintptr) int32 { /* sqlite3.c:171930:16: */ +func Xsqlite3_open16(tls *libc.TLS, zFilename uintptr, ppDb uintptr) int32 { /* sqlite3.c:171987:16: */ var zFilename8 uintptr // zFilename encoded in UTF-8 instead of UTF-16 var pVal uintptr var rc int32 @@ -151840,12 +151871,12 @@ func Xsqlite3_open16(tls *libc.TLS, zFilename uintptr, ppDb uintptr) int32 { /* } // 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) int32 { /* sqlite3.c:171969:16: */ +func Xsqlite3_create_collation(tls *libc.TLS, db uintptr, zName uintptr, enc int32, pCtx uintptr, xCompare uintptr) int32 { /* sqlite3.c:172026:16: */ return Xsqlite3_create_collation_v2(tls, db, zName, enc, pCtx, xCompare, uintptr(0)) } // 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) int32 { /* sqlite3.c:171982:16: */ +func Xsqlite3_create_collation_v2(tls *libc.TLS, db uintptr, zName uintptr, enc int32, pCtx uintptr, xCompare uintptr, xDel uintptr) int32 { /* sqlite3.c:172039:16: */ var rc int32 Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) @@ -151857,7 +151888,7 @@ func Xsqlite3_create_collation_v2(tls *libc.TLS, db uintptr, zName uintptr, enc } // 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) int32 { /* sqlite3.c:172007:16: */ +func Xsqlite3_create_collation16(tls *libc.TLS, db uintptr, zName uintptr, enc int32, pCtx uintptr, xCompare uintptr) int32 { /* sqlite3.c:172064:16: */ var rc int32 = SQLITE_OK var zName8 uintptr @@ -151880,7 +151911,7 @@ func Xsqlite3_create_collation16(tls *libc.TLS, db uintptr, zName uintptr, enc i // 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) int32 { /* sqlite3.c:172037:16: */ +func Xsqlite3_collation_needed(tls *libc.TLS, db uintptr, pCollNeededArg uintptr, xCollNeeded uintptr) int32 { /* sqlite3.c:172094:16: */ Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) (*Sqlite3)(unsafe.Pointer(db)).FxCollNeeded = xCollNeeded (*Sqlite3)(unsafe.Pointer(db)).FxCollNeeded16 = uintptr(0) @@ -151891,7 +151922,7 @@ func Xsqlite3_collation_needed(tls *libc.TLS, db uintptr, pCollNeededArg uintptr // 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) int32 { /* sqlite3.c:172058:16: */ +func Xsqlite3_collation_needed16(tls *libc.TLS, db uintptr, pCollNeededArg uintptr, xCollNeeded16 uintptr) int32 { /* sqlite3.c:172115:16: */ Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) (*Sqlite3)(unsafe.Pointer(db)).FxCollNeeded = uintptr(0) (*Sqlite3)(unsafe.Pointer(db)).FxCollNeeded16 = xCollNeeded16 @@ -151902,7 +151933,7 @@ func Xsqlite3_collation_needed16(tls *libc.TLS, db uintptr, pCollNeededArg uintp // This function is now an anachronism. It used to be used to recover from a // malloc() failure, but SQLite now does this automatically. -func Xsqlite3_global_recover(tls *libc.TLS) int32 { /* sqlite3.c:172080:16: */ +func Xsqlite3_global_recover(tls *libc.TLS) int32 { /* sqlite3.c:172137:16: */ return SQLITE_OK } @@ -151910,7 +151941,7 @@ func Xsqlite3_global_recover(tls *libc.TLS) int32 { /* sqlite3.c:172080:16: */ // mode. Return TRUE if it is and FALSE if not. Autocommit mode is on // by default. Autocommit is disabled by a BEGIN statement and reenabled // by the next COMMIT or ROLLBACK. -func Xsqlite3_get_autocommit(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:172091:16: */ +func Xsqlite3_get_autocommit(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:172148:16: */ return int32((*Sqlite3)(unsafe.Pointer(db)).FautoCommit) } @@ -151923,7 +151954,7 @@ func Xsqlite3_get_autocommit(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:172 // // 2. Invoke sqlite3_log() to provide the source code location where // a low-level error is first detected. -func Xsqlite3ReportError(tls *libc.TLS, iErr int32, lineno int32, zType uintptr) int32 { /* sqlite3.c:172112:20: */ +func Xsqlite3ReportError(tls *libc.TLS, iErr int32, lineno int32, zType uintptr) int32 { /* sqlite3.c:172169:20: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -151932,17 +151963,17 @@ func Xsqlite3ReportError(tls *libc.TLS, iErr int32, lineno int32, zType uintptr) return iErr } -func Xsqlite3CorruptError(tls *libc.TLS, lineno int32) int32 { /* sqlite3.c:172117:20: */ +func Xsqlite3CorruptError(tls *libc.TLS, lineno int32) int32 { /* sqlite3.c:172174:20: */ return Xsqlite3ReportError(tls, SQLITE_CORRUPT, lineno, ts+24206) } -func Xsqlite3MisuseError(tls *libc.TLS, lineno int32) int32 { /* sqlite3.c:172121:20: */ +func Xsqlite3MisuseError(tls *libc.TLS, lineno int32) int32 { /* sqlite3.c:172178:20: */ return Xsqlite3ReportError(tls, SQLITE_MISUSE, lineno, ts+24226) } -func Xsqlite3CantopenError(tls *libc.TLS, lineno int32) int32 { /* sqlite3.c:172125:20: */ +func Xsqlite3CantopenError(tls *libc.TLS, lineno int32) int32 { /* sqlite3.c:172182:20: */ return Xsqlite3ReportError(tls, SQLITE_CANTOPEN, lineno, ts+24233) } @@ -151952,12 +151983,12 @@ func Xsqlite3CantopenError(tls *libc.TLS, lineno int32) int32 { /* sqlite3.c:172 // // SQLite no longer uses thread-specific data so this routine is now a // no-op. It is retained for historical compatibility. -func Xsqlite3_thread_cleanup(tls *libc.TLS) { /* sqlite3.c:172156:17: */ +func Xsqlite3_thread_cleanup(tls *libc.TLS) { /* sqlite3.c:172213:17: */ } // Return meta information about a specific column of a database table. // See comment in sqlite3.h (sqlite.h.in) for details. -func Xsqlite3_table_column_metadata(tls *libc.TLS, db uintptr, zDbName uintptr, zTableName uintptr, zColumnName uintptr, pzDataType uintptr, pzCollSeq uintptr, pNotNull uintptr, pPrimaryKey uintptr, pAutoinc uintptr) int32 { /* sqlite3.c:172164:16: */ +func Xsqlite3_table_column_metadata(tls *libc.TLS, db uintptr, zDbName uintptr, zTableName uintptr, zColumnName uintptr, pzDataType uintptr, pzCollSeq uintptr, pNotNull uintptr, pPrimaryKey uintptr, pAutoinc uintptr) int32 { /* sqlite3.c:172221:16: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -152141,7 +152172,7 @@ __20: } // Sleep for a little while. Return the amount of time slept. -func Xsqlite3_sleep(tls *libc.TLS, ms int32) int32 { /* sqlite3.c:172282:16: */ +func Xsqlite3_sleep(tls *libc.TLS, ms int32) int32 { /* sqlite3.c:172339:16: */ var pVfs uintptr var rc int32 pVfs = Xsqlite3_vfs_find(tls, uintptr(0)) @@ -152156,7 +152187,7 @@ func Xsqlite3_sleep(tls *libc.TLS, ms int32) int32 { /* sqlite3.c:172282:16: */ } // Enable or disable the extended result codes. -func Xsqlite3_extended_result_codes(tls *libc.TLS, db uintptr, onoff int32) int32 { /* sqlite3.c:172298:16: */ +func Xsqlite3_extended_result_codes(tls *libc.TLS, db uintptr, onoff int32) int32 { /* sqlite3.c:172355:16: */ Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) (*Sqlite3)(unsafe.Pointer(db)).FerrMask = func() int32 { if onoff != 0 { @@ -152169,7 +152200,7 @@ func Xsqlite3_extended_result_codes(tls *libc.TLS, db uintptr, onoff int32) int3 } // Invoke the xFileControl method on a particular database. -func Xsqlite3_file_control(tls *libc.TLS, db uintptr, zDbName uintptr, op int32, pArg uintptr) int32 { /* sqlite3.c:172311:16: */ +func Xsqlite3_file_control(tls *libc.TLS, db uintptr, zDbName uintptr, op int32, pArg uintptr) int32 { /* sqlite3.c:172368:16: */ var rc int32 = SQLITE_ERROR var pBtree uintptr @@ -152214,7 +152245,7 @@ func Xsqlite3_file_control(tls *libc.TLS, db uintptr, zDbName uintptr, op int32, } // Interface to the testing logic. -func Xsqlite3_test_control(tls *libc.TLS, op int32, va uintptr) int32 { /* sqlite3.c:172361:16: */ +func Xsqlite3_test_control(tls *libc.TLS, op int32, va uintptr) int32 { /* sqlite3.c:172418:16: */ var rc int32 = 0 var ap Va_list _ = ap @@ -152673,7 +152704,7 @@ func Xsqlite3_test_control(tls *libc.TLS, op int32, va uintptr) int32 { /* sqlit // backwards for the first byte following four consecutive zero bytes. // // This only works if the filename passed in was obtained from the Pager. -func databaseName(tls *libc.TLS, zName uintptr) uintptr { /* sqlite3.c:172857:19: */ +func databaseName(tls *libc.TLS, zName uintptr) uintptr { /* sqlite3.c:172914:19: */ for int32(*(*uint8)(unsafe.Pointer(zName + libc.UintptrFromInt32(-1)))) != 0 || int32(*(*uint8)(unsafe.Pointer(zName + libc.UintptrFromInt32(-2)))) != 0 || int32(*(*uint8)(unsafe.Pointer(zName + libc.UintptrFromInt32(-3)))) != 0 || int32(*(*uint8)(unsafe.Pointer(zName + libc.UintptrFromInt32(-4)))) != 0 { zName-- } @@ -152682,7 +152713,7 @@ func databaseName(tls *libc.TLS, zName uintptr) uintptr { /* sqlite3.c:172857:19 // Append text z[] to the end of p[]. Return a pointer to the first // character after then zero terminator on the new text in p[]. -func appendText(tls *libc.TLS, p uintptr, z uintptr) uintptr { /* sqlite3.c:172868:13: */ +func appendText(tls *libc.TLS, p uintptr, z uintptr) uintptr { /* sqlite3.c:172925:13: */ var n Size_t = libc.Xstrlen(tls, z) libc.Xmemcpy(tls, p, z, n+uint64(1)) return p + uintptr(n) + uintptr(1) @@ -152695,7 +152726,7 @@ func appendText(tls *libc.TLS, p uintptr, z uintptr) uintptr { /* sqlite3.c:1728 // // Memory layout must be compatible with that generated by the pager // and expected by sqlite3_uri_parameter() and databaseName(). -func Xsqlite3_create_filename(tls *libc.TLS, zDatabase uintptr, zJournal uintptr, zWal uintptr, nParam int32, azParam uintptr) uintptr { /* sqlite3.c:172883:17: */ +func Xsqlite3_create_filename(tls *libc.TLS, zDatabase uintptr, zJournal uintptr, zWal uintptr, nParam int32, azParam uintptr) uintptr { /* sqlite3.c:172940:17: */ var nByte Sqlite3_int64 var i int32 var pResult uintptr @@ -152726,7 +152757,7 @@ func Xsqlite3_create_filename(tls *libc.TLS, zDatabase uintptr, zJournal uintptr // Free memory obtained from sqlite3_create_filename(). It is a severe // error to call this routine with any parameter other than a pointer // previously obtained from sqlite3_create_filename() or a NULL pointer. -func Xsqlite3_free_filename(tls *libc.TLS, p uintptr) { /* sqlite3.c:172919:17: */ +func Xsqlite3_free_filename(tls *libc.TLS, p uintptr) { /* sqlite3.c:172976:17: */ if p == uintptr(0) { return } @@ -152743,7 +152774,7 @@ func Xsqlite3_free_filename(tls *libc.TLS, p uintptr) { /* sqlite3.c:172919:17: // query parameter we seek. This routine returns the value of the zParam // parameter if it exists. If the parameter does not exist, this routine // returns a NULL pointer. -func Xsqlite3_uri_parameter(tls *libc.TLS, zFilename uintptr, zParam uintptr) uintptr { /* sqlite3.c:172937:23: */ +func Xsqlite3_uri_parameter(tls *libc.TLS, zFilename uintptr, zParam uintptr) uintptr { /* sqlite3.c:172994:23: */ if zFilename == uintptr(0) || zParam == uintptr(0) { return uintptr(0) } @@ -152752,7 +152783,7 @@ func Xsqlite3_uri_parameter(tls *libc.TLS, zFilename uintptr, zParam uintptr) ui } // Return a pointer to the name of Nth query parameter of the filename. -func Xsqlite3_uri_key(tls *libc.TLS, zFilename uintptr, N int32) uintptr { /* sqlite3.c:172946:23: */ +func Xsqlite3_uri_key(tls *libc.TLS, zFilename uintptr, N int32) uintptr { /* sqlite3.c:173003:23: */ if zFilename == uintptr(0) || N < 0 { return uintptr(0) } @@ -152769,7 +152800,7 @@ func Xsqlite3_uri_key(tls *libc.TLS, zFilename uintptr, N int32) uintptr { /* sq } // Return a boolean value for a query parameter. -func Xsqlite3_uri_boolean(tls *libc.TLS, zFilename uintptr, zParam uintptr, bDflt int32) int32 { /* sqlite3.c:172960:16: */ +func Xsqlite3_uri_boolean(tls *libc.TLS, zFilename uintptr, zParam uintptr, bDflt int32) int32 { /* sqlite3.c:173017:16: */ var z uintptr = Xsqlite3_uri_parameter(tls, zFilename, zParam) bDflt = libc.Bool32(bDflt != 0) if z != 0 { @@ -152779,7 +152810,7 @@ func Xsqlite3_uri_boolean(tls *libc.TLS, zFilename uintptr, zParam uintptr, bDfl } // Return a 64-bit integer value for a query parameter. -func Xsqlite3_uri_int64(tls *libc.TLS, zFilename uintptr, zParam uintptr, bDflt Sqlite3_int64) Sqlite3_int64 { /* sqlite3.c:172969:26: */ +func Xsqlite3_uri_int64(tls *libc.TLS, zFilename uintptr, zParam uintptr, bDflt Sqlite3_int64) Sqlite3_int64 { /* sqlite3.c:173026:26: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -152800,14 +152831,14 @@ func Xsqlite3_uri_int64(tls *libc.TLS, zFilename uintptr, zParam uintptr, bDflt // passing free() a pointer that was not obtained from malloc() - it is // an error that we cannot easily detect but that will likely cause memory // corruption. -func Xsqlite3_filename_database(tls *libc.TLS, zFilename uintptr) uintptr { /* sqlite3.c:172992:23: */ +func Xsqlite3_filename_database(tls *libc.TLS, zFilename uintptr) uintptr { /* sqlite3.c:173049:23: */ if zFilename == uintptr(0) { return uintptr(0) } return databaseName(tls, zFilename) } -func Xsqlite3_filename_journal(tls *libc.TLS, zFilename uintptr) uintptr { /* sqlite3.c:172996:23: */ +func Xsqlite3_filename_journal(tls *libc.TLS, zFilename uintptr) uintptr { /* sqlite3.c:173053:23: */ if zFilename == uintptr(0) { return uintptr(0) } @@ -152820,7 +152851,7 @@ func Xsqlite3_filename_journal(tls *libc.TLS, zFilename uintptr) uintptr { /* sq return zFilename + uintptr(1) } -func Xsqlite3_filename_wal(tls *libc.TLS, zFilename uintptr) uintptr { /* sqlite3.c:173006:23: */ +func Xsqlite3_filename_wal(tls *libc.TLS, zFilename uintptr) uintptr { /* sqlite3.c:173063:23: */ zFilename = Xsqlite3_filename_journal(tls, zFilename) if zFilename != 0 { zFilename += uintptr(Xsqlite3Strlen30(tls, zFilename) + 1) @@ -152829,7 +152860,7 @@ func Xsqlite3_filename_wal(tls *libc.TLS, zFilename uintptr) uintptr { /* sqlite } // Return the Btree pointer identified by zDbName. Return NULL if not found. -func Xsqlite3DbNameToBtree(tls *libc.TLS, db uintptr, zDbName uintptr) uintptr { /* sqlite3.c:173019:22: */ +func Xsqlite3DbNameToBtree(tls *libc.TLS, db uintptr, zDbName uintptr) uintptr { /* sqlite3.c:173076:22: */ var iDb int32 if zDbName != 0 { iDb = Xsqlite3FindDbName(tls, db, zDbName) @@ -152844,7 +152875,7 @@ func Xsqlite3DbNameToBtree(tls *libc.TLS, db uintptr, zDbName uintptr) uintptr { // Return the filename of the database associated with a database // connection. -func Xsqlite3_db_filename(tls *libc.TLS, db uintptr, zDbName uintptr) uintptr { /* sqlite3.c:173028:23: */ +func Xsqlite3_db_filename(tls *libc.TLS, db uintptr, zDbName uintptr) uintptr { /* sqlite3.c:173085:23: */ var pBt uintptr pBt = Xsqlite3DbNameToBtree(tls, db, zDbName) if pBt != 0 { @@ -152855,7 +152886,7 @@ func Xsqlite3_db_filename(tls *libc.TLS, db uintptr, zDbName uintptr) uintptr { // Return 1 if database is read-only or 0 if read/write. Return -1 if // no such database exists. -func Xsqlite3_db_readonly(tls *libc.TLS, db uintptr, zDbName uintptr) int32 { /* sqlite3.c:173044:16: */ +func Xsqlite3_db_readonly(tls *libc.TLS, db uintptr, zDbName uintptr) int32 { /* sqlite3.c:173101:16: */ var pBt uintptr pBt = Xsqlite3DbNameToBtree(tls, db, zDbName) if pBt != 0 { @@ -152866,7 +152897,7 @@ func Xsqlite3_db_readonly(tls *libc.TLS, db uintptr, zDbName uintptr) int32 { /* // Obtain a snapshot handle for the snapshot of database zDb currently // being read by handle db. -func Xsqlite3_snapshot_get(tls *libc.TLS, db uintptr, zDb uintptr, ppSnapshot uintptr) int32 { /* sqlite3.c:173061:16: */ +func Xsqlite3_snapshot_get(tls *libc.TLS, db uintptr, zDb uintptr, ppSnapshot uintptr) int32 { /* sqlite3.c:173118:16: */ var rc int32 = SQLITE_ERROR Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) @@ -152889,7 +152920,7 @@ func Xsqlite3_snapshot_get(tls *libc.TLS, db uintptr, zDb uintptr, ppSnapshot ui } // Open a read-transaction on the snapshot idendified by pSnapshot. -func Xsqlite3_snapshot_open(tls *libc.TLS, db uintptr, zDb uintptr, pSnapshot uintptr) int32 { /* sqlite3.c:173097:16: */ +func Xsqlite3_snapshot_open(tls *libc.TLS, db uintptr, zDb uintptr, pSnapshot uintptr) int32 { /* sqlite3.c:173154:16: */ var rc int32 = SQLITE_ERROR Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) @@ -152932,7 +152963,7 @@ func Xsqlite3_snapshot_open(tls *libc.TLS, db uintptr, zDb uintptr, pSnapshot ui // Recover as many snapshots as possible from the wal file associated with // schema zDb of database db. -func Xsqlite3_snapshot_recover(tls *libc.TLS, db uintptr, zDb uintptr) int32 { /* sqlite3.c:173153:16: */ +func Xsqlite3_snapshot_recover(tls *libc.TLS, db uintptr, zDb uintptr) int32 { /* sqlite3.c:173210:16: */ var rc int32 = SQLITE_ERROR var iDb int32 @@ -152953,7 +152984,7 @@ func Xsqlite3_snapshot_recover(tls *libc.TLS, db uintptr, zDb uintptr) int32 { / } // Free a snapshot handle obtained from sqlite3_snapshot_get(). -func Xsqlite3_snapshot_free(tls *libc.TLS, pSnapshot uintptr) { /* sqlite3.c:173184:17: */ +func Xsqlite3_snapshot_free(tls *libc.TLS, pSnapshot uintptr) { /* sqlite3.c:173241:17: */ Xsqlite3_free(tls, pSnapshot) } @@ -152962,7 +152993,7 @@ func Xsqlite3_snapshot_free(tls *libc.TLS, pSnapshot uintptr) { /* sqlite3.c:173 // // The name can optionally begin with "SQLITE_" but the "SQLITE_" prefix // is not required for a match. -func Xsqlite3_compileoption_used(tls *libc.TLS, zOptName uintptr) int32 { /* sqlite3.c:173197:16: */ +func Xsqlite3_compileoption_used(tls *libc.TLS, zOptName uintptr) int32 { /* sqlite3.c:173254:16: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -152992,7 +153023,7 @@ func Xsqlite3_compileoption_used(tls *libc.TLS, zOptName uintptr) int32 { /* sql // Return the N-th compile-time option string. If N is out of range, // return a NULL pointer. -func Xsqlite3_compileoption_get(tls *libc.TLS, N int32) uintptr { /* sqlite3.c:173230:23: */ +func Xsqlite3_compileoption_get(tls *libc.TLS, N int32) uintptr { /* sqlite3.c:173287:23: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -153037,11 +153068,11 @@ func Xsqlite3_compileoption_get(tls *libc.TLS, N int32) uintptr { /* sqlite3.c:1 // for which either sqlite3.pBlockingConnection or sqlite3.pUnlockConnection // is not NULL. This variable may only accessed while the STATIC_MAIN // mutex is held. -var sqlite3BlockedList uintptr = uintptr(0) /* sqlite3.c:173282:16 */ +var sqlite3BlockedList uintptr = uintptr(0) /* sqlite3.c:173339:16 */ // Remove connection db from the blocked connections list. If connection // db is not currently a part of the list, this function is a no-op. -func removeFromBlockedList(tls *libc.TLS, db uintptr) { /* sqlite3.c:173325:13: */ +func removeFromBlockedList(tls *libc.TLS, db uintptr) { /* sqlite3.c:173382:13: */ var pp uintptr for pp = uintptr(unsafe.Pointer(&sqlite3BlockedList)); *(*uintptr)(unsafe.Pointer(pp)) != 0; pp = *(*uintptr)(unsafe.Pointer(pp)) + 832 { @@ -153054,7 +153085,7 @@ func removeFromBlockedList(tls *libc.TLS, db uintptr) { /* sqlite3.c:173325:13: // Add connection db to the blocked connections list. It is assumed // that it is not already a part of the list. -func addToBlockedList(tls *libc.TLS, db uintptr) { /* sqlite3.c:173340:13: */ +func addToBlockedList(tls *libc.TLS, db uintptr) { /* sqlite3.c:173397:13: */ var pp uintptr for pp = uintptr(unsafe.Pointer(&sqlite3BlockedList)); *(*uintptr)(unsafe.Pointer(pp)) != 0 && (*Sqlite3)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pp)))).FxUnlockNotify != (*Sqlite3)(unsafe.Pointer(db)).FxUnlockNotify; pp = *(*uintptr)(unsafe.Pointer(pp)) + 832 { @@ -153064,13 +153095,13 @@ func addToBlockedList(tls *libc.TLS, db uintptr) { /* sqlite3.c:173340:13: */ } // Obtain the STATIC_MAIN mutex. -func enterMutex(tls *libc.TLS) { /* sqlite3.c:173355:13: */ +func enterMutex(tls *libc.TLS) { /* sqlite3.c:173412:13: */ Xsqlite3_mutex_enter(tls, Xsqlite3MutexAlloc(tls, SQLITE_MUTEX_STATIC_MAIN)) } // Release the STATIC_MAIN mutex. -func leaveMutex(tls *libc.TLS) { /* sqlite3.c:173363:13: */ +func leaveMutex(tls *libc.TLS) { /* sqlite3.c:173420:13: */ Xsqlite3_mutex_leave(tls, Xsqlite3MutexAlloc(tls, SQLITE_MUTEX_STATIC_MAIN)) } @@ -153094,7 +153125,7 @@ func leaveMutex(tls *libc.TLS) { /* sqlite3.c:173363:13: */ // Each call to this routine overrides any prior callbacks registered // 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) int32 { /* sqlite3.c:173390:16: */ +func Xsqlite3_unlock_notify(tls *libc.TLS, db uintptr, xNotify uintptr, pArg uintptr) int32 { /* sqlite3.c:173447:16: */ bp := tls.Alloc(8) defer tls.Free(8) *(*uintptr)(unsafe.Pointer(bp)) = pArg @@ -153149,7 +153180,7 @@ func Xsqlite3_unlock_notify(tls *libc.TLS, db uintptr, xNotify uintptr, pArg uin // associated with connection db. The operation will return SQLITE_LOCKED // to the user because it requires a lock that will not be available // until connection pBlocker concludes its current transaction. -func Xsqlite3ConnectionBlocked(tls *libc.TLS, db uintptr, pBlocker uintptr) { /* sqlite3.c:173440:21: */ +func Xsqlite3ConnectionBlocked(tls *libc.TLS, db uintptr, pBlocker uintptr) { /* sqlite3.c:173497:21: */ enterMutex(tls) if (*Sqlite3)(unsafe.Pointer(db)).FpBlockingConnection == uintptr(0) && (*Sqlite3)(unsafe.Pointer(db)).FpUnlockConnection == uintptr(0) { addToBlockedList(tls, db) @@ -153175,7 +153206,7 @@ func Xsqlite3ConnectionBlocked(tls *libc.TLS, db uintptr, pBlocker uintptr) { /* // 3) If the two steps above mean that pBlockingConnection==0 and // pUnlockConnection==0, remove the entry from the blocked connections // list. -func Xsqlite3ConnectionUnlocked(tls *libc.TLS, db uintptr) { /* sqlite3.c:173468:21: */ +func Xsqlite3ConnectionUnlocked(tls *libc.TLS, db uintptr) { /* sqlite3.c:173525:21: */ bp := tls.Alloc(128) defer tls.Free(128) @@ -153279,7 +153310,7 @@ func Xsqlite3ConnectionUnlocked(tls *libc.TLS, db uintptr) { /* sqlite3.c:173468 // This is called when the database connection passed as an argument is // being closed. The connection is removed from the blocked list. -func Xsqlite3ConnectionClosed(tls *libc.TLS, db uintptr) { /* sqlite3.c:173567:21: */ +func Xsqlite3ConnectionClosed(tls *libc.TLS, db uintptr) { /* sqlite3.c:173624:21: */ Xsqlite3ConnectionUnlocked(tls, db) enterMutex(tls) removeFromBlockedList(tls, db) @@ -153884,7 +153915,7 @@ var jsonIsSpace = [256]uint8{ uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), -} /* sqlite3.c:193144:19 */ +} /* sqlite3.c:193201:19 */ // Objects type JsonString1 = struct { @@ -153896,10 +153927,10 @@ type JsonString1 = struct { FbErr U8 FzSpace [100]uint8 F__ccgo_pad1 [2]byte -} /* sqlite3.c:193171:9 */ +} /* sqlite3.c:193228:9 */ // Objects -type JsonString = JsonString1 /* sqlite3.c:193171:27 */ +type JsonString = JsonString1 /* sqlite3.c:193228:27 */ type JsonNode1 = struct { FeType U8 FjnFlags U8 @@ -153907,9 +153938,9 @@ type JsonNode1 = struct { F__ccgo_pad1 [1]byte Fn U32 Fu struct{ FzJContent uintptr } -} /* sqlite3.c:193172:9 */ +} /* sqlite3.c:193229:9 */ -type JsonNode = JsonNode1 /* sqlite3.c:193172:25 */ +type JsonNode = JsonNode1 /* sqlite3.c:193229:25 */ type JsonParse1 = struct { FnNode U32 FnAlloc U32 @@ -153922,9 +153953,9 @@ type JsonParse1 = struct { FnJson int32 FiHold U32 F__ccgo_pad1 [4]byte -} /* sqlite3.c:193173:9 */ +} /* sqlite3.c:193230:9 */ -type JsonParse = JsonParse1 /* sqlite3.c:193173:26 */ +type JsonParse = JsonParse1 /* sqlite3.c:193230:26 */ // JSON type values @@ -153933,7 +153964,7 @@ type JsonParse = JsonParse1 /* sqlite3.c:193173:26 */ // Names of the various JSON types: var jsonType = [8]uintptr{ ts + 6132, ts + 6646, ts + 6651, ts + 6142, ts + 6137, ts + 7892, ts + 24309, ts + 24315, -} /* sqlite3.c:193206:19 */ +} /* sqlite3.c:193263:19 */ // Maximum nesting depth of JSON for this implementation. // @@ -153947,7 +153978,7 @@ var jsonType = [8]uintptr{ // // Set the JsonString object to an empty string -func jsonZero(tls *libc.TLS, p uintptr) { /* sqlite3.c:193267:13: */ +func jsonZero(tls *libc.TLS, p uintptr) { /* sqlite3.c:193324:13: */ (*JsonString)(unsafe.Pointer(p)).FzBuf = p + 34 /* &.zSpace */ (*JsonString)(unsafe.Pointer(p)).FnAlloc = U64(unsafe.Sizeof([100]uint8{})) (*JsonString)(unsafe.Pointer(p)).FnUsed = uint64(0) @@ -153955,7 +153986,7 @@ func jsonZero(tls *libc.TLS, p uintptr) { /* sqlite3.c:193267:13: */ } // Initialize the JsonString object -func jsonInit(tls *libc.TLS, p uintptr, pCtx uintptr) { /* sqlite3.c:193276:13: */ +func jsonInit(tls *libc.TLS, p uintptr, pCtx uintptr) { /* sqlite3.c:193333:13: */ (*JsonString)(unsafe.Pointer(p)).FpCtx = pCtx (*JsonString)(unsafe.Pointer(p)).FbErr = U8(0) jsonZero(tls, p) @@ -153963,7 +153994,7 @@ func jsonInit(tls *libc.TLS, p uintptr, pCtx uintptr) { /* sqlite3.c:193276:13: // Free all allocated memory and reset the JsonString object back to its // initial state. -func jsonReset(tls *libc.TLS, p uintptr) { /* sqlite3.c:193286:13: */ +func jsonReset(tls *libc.TLS, p uintptr) { /* sqlite3.c:193343:13: */ if !(int32((*JsonString)(unsafe.Pointer(p)).FbStatic) != 0) { Xsqlite3_free(tls, (*JsonString)(unsafe.Pointer(p)).FzBuf) } @@ -153971,7 +154002,7 @@ func jsonReset(tls *libc.TLS, p uintptr) { /* sqlite3.c:193286:13: */ } // Report an out-of-memory (OOM) condition -func jsonOom(tls *libc.TLS, p uintptr) { /* sqlite3.c:193294:13: */ +func jsonOom(tls *libc.TLS, p uintptr) { /* sqlite3.c:193351:13: */ (*JsonString)(unsafe.Pointer(p)).FbErr = U8(1) Xsqlite3_result_error_nomem(tls, (*JsonString)(unsafe.Pointer(p)).FpCtx) jsonReset(tls, p) @@ -153979,7 +154010,7 @@ func jsonOom(tls *libc.TLS, p uintptr) { /* sqlite3.c:193294:13: */ // Enlarge pJson->zBuf so that it can hold at least N more bytes. // Return zero on success. Return non-zero on an OOM error -func jsonGrow(tls *libc.TLS, p uintptr, N U32) int32 { /* sqlite3.c:193303:12: */ +func jsonGrow(tls *libc.TLS, p uintptr, N U32) int32 { /* sqlite3.c:193360:12: */ var nTotal U64 if U64(N) < (*JsonString)(unsafe.Pointer(p)).FnAlloc { nTotal = (*JsonString)(unsafe.Pointer(p)).FnAlloc * uint64(2) @@ -154012,7 +154043,7 @@ func jsonGrow(tls *libc.TLS, p uintptr, N U32) int32 { /* sqlite3.c:193303:12: * } // Append N bytes from zIn onto the end of the JsonString string. -func jsonAppendRaw(tls *libc.TLS, p uintptr, zIn uintptr, N U32) { /* sqlite3.c:193330:13: */ +func jsonAppendRaw(tls *libc.TLS, p uintptr, zIn uintptr, N U32) { /* sqlite3.c:193387:13: */ if N == U32(0) { return } @@ -154024,7 +154055,7 @@ func jsonAppendRaw(tls *libc.TLS, p uintptr, zIn uintptr, N U32) { /* sqlite3.c: } // Append formatted text (not to exceed N bytes) to the JsonString. -func jsonPrintf(tls *libc.TLS, N int32, p uintptr, zFormat uintptr, va uintptr) { /* sqlite3.c:193339:13: */ +func jsonPrintf(tls *libc.TLS, N int32, p uintptr, zFormat uintptr, va uintptr) { /* sqlite3.c:193396:13: */ var ap Va_list _ = ap if (*JsonString)(unsafe.Pointer(p)).FnUsed+U64(N) >= (*JsonString)(unsafe.Pointer(p)).FnAlloc && jsonGrow(tls, p, uint32(N)) != 0 { @@ -154037,7 +154068,7 @@ func jsonPrintf(tls *libc.TLS, N int32, p uintptr, zFormat uintptr, va uintptr) } // Append a single character -func jsonAppendChar(tls *libc.TLS, p uintptr, c uint8) { /* sqlite3.c:193350:13: */ +func jsonAppendChar(tls *libc.TLS, p uintptr, c uint8) { /* sqlite3.c:193407:13: */ if (*JsonString)(unsafe.Pointer(p)).FnUsed >= (*JsonString)(unsafe.Pointer(p)).FnAlloc && jsonGrow(tls, p, uint32(1)) != 0 { return } @@ -154046,7 +154077,7 @@ func jsonAppendChar(tls *libc.TLS, p uintptr, c uint8) { /* sqlite3.c:193350:13: // Append a comma separator to the output buffer, if the previous // character is not '[' or '{'. -func jsonAppendSeparator(tls *libc.TLS, p uintptr) { /* sqlite3.c:193358:13: */ +func jsonAppendSeparator(tls *libc.TLS, p uintptr) { /* sqlite3.c:193415:13: */ var c uint8 if (*JsonString)(unsafe.Pointer(p)).FnUsed == uint64(0) { return @@ -154061,7 +154092,7 @@ func jsonAppendSeparator(tls *libc.TLS, p uintptr) { /* sqlite3.c:193358:13: */ // under construction. Enclose the string in "..." and escape // any double-quotes or backslash characters contained within the // string. -func jsonAppendString(tls *libc.TLS, p uintptr, zIn uintptr, N U32) { /* sqlite3.c:193370:13: */ +func jsonAppendString(tls *libc.TLS, p uintptr, zIn uintptr, N U32) { /* sqlite3.c:193427:13: */ var i U32 var c uint8 if !(zIn == uintptr(0) || U64(N)+(*JsonString)(unsafe.Pointer(p)).FnUsed+uint64(2) >= (*JsonString)(unsafe.Pointer(p)).FnAlloc && jsonGrow(tls, p, N+U32(2)) != 0) { @@ -154132,11 +154163,11 @@ __4: var aSpecial = [32]uint8{ uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8('b'), uint8('t'), uint8('n'), uint8(0), uint8('f'), uint8('r'), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), -} /* sqlite3.c:193381:25 */ +} /* sqlite3.c:193438:25 */ // Append a function parameter value to the JSON string under // construction. -func jsonAppendValue(tls *libc.TLS, p uintptr, pValue uintptr) { /* sqlite3.c:193413:13: */ +func jsonAppendValue(tls *libc.TLS, p uintptr, pValue uintptr) { /* sqlite3.c:193470:13: */ switch Xsqlite3_value_type(tls, pValue) { case SQLITE_NULL: { @@ -154180,7 +154211,7 @@ func jsonAppendValue(tls *libc.TLS, p uintptr, pValue uintptr) { /* sqlite3.c:19 } // Make the JSON in p the result of the SQL function. -func jsonResult(tls *libc.TLS, p uintptr) { /* sqlite3.c:193453:13: */ +func jsonResult(tls *libc.TLS, p uintptr) { /* sqlite3.c:193510:13: */ if int32((*JsonString)(unsafe.Pointer(p)).FbErr) == 0 { Xsqlite3_result_text64(tls, (*JsonString)(unsafe.Pointer(p)).FpCtx, (*JsonString)(unsafe.Pointer(p)).FzBuf, (*JsonString)(unsafe.Pointer(p)).FnUsed, func() uintptr { @@ -154207,7 +154238,7 @@ func jsonResult(tls *libc.TLS, p uintptr) { /* sqlite3.c:193453:13: */ // Appended elements are not counted. The value returned is the number // by which the JsonNode counter should increment in order to go to the // next peer value. -func jsonNodeSize(tls *libc.TLS, pNode uintptr) U32 { /* sqlite3.c:193476:12: */ +func jsonNodeSize(tls *libc.TLS, pNode uintptr) U32 { /* sqlite3.c:193533:12: */ if int32((*JsonNode)(unsafe.Pointer(pNode)).FeType) >= JSON_ARRAY { return (*JsonNode)(unsafe.Pointer(pNode)).Fn + U32(1) } @@ -154216,7 +154247,7 @@ func jsonNodeSize(tls *libc.TLS, pNode uintptr) U32 { /* sqlite3.c:193476:12: */ // Reclaim all memory allocated by a JsonParse object. But do not // delete the JsonParse object itself. -func jsonParseReset(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:193484:13: */ +func jsonParseReset(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:193541:13: */ Xsqlite3_free(tls, (*JsonParse)(unsafe.Pointer(pParse)).FaNode) (*JsonParse)(unsafe.Pointer(pParse)).FaNode = uintptr(0) (*JsonParse)(unsafe.Pointer(pParse)).FnNode = U32(0) @@ -154226,7 +154257,7 @@ func jsonParseReset(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:193484:13: */ } // Free a JsonParse object that was obtained from sqlite3_malloc(). -func jsonParseFree(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:193496:13: */ +func jsonParseFree(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:193553:13: */ jsonParseReset(tls, pParse) Xsqlite3_free(tls, pParse) } @@ -154234,7 +154265,7 @@ func jsonParseFree(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:193496:13: */ // Convert the JsonNode pNode into a pure JSON string and // append to pOut. Subsubstructure is also included. Return // the number of JsonNode objects that are encoded. -func jsonRenderNode(tls *libc.TLS, pNode uintptr, pOut uintptr, aReplace uintptr) { /* sqlite3.c:193506:13: */ +func jsonRenderNode(tls *libc.TLS, pNode uintptr, pOut uintptr, aReplace uintptr) { /* sqlite3.c:193563:13: */ if int32((*JsonNode)(unsafe.Pointer(pNode)).FjnFlags)&(JNODE_REPLACE|JNODE_PATCH) != 0 { if int32((*JsonNode)(unsafe.Pointer(pNode)).FjnFlags)&JNODE_REPLACE != 0 && aReplace != uintptr(0) { @@ -154336,7 +154367,7 @@ func jsonRenderNode(tls *libc.TLS, pNode uintptr, pOut uintptr, aReplace uintptr } // Return a JsonNode and all its descendents as a JSON string. -func jsonReturnJson(tls *libc.TLS, pNode uintptr, pCtx uintptr, aReplace uintptr) { /* sqlite3.c:193595:13: */ +func jsonReturnJson(tls *libc.TLS, pNode uintptr, pCtx uintptr, aReplace uintptr) { /* sqlite3.c:193652:13: */ bp := tls.Alloc(136) defer tls.Free(136) @@ -154351,14 +154382,14 @@ func jsonReturnJson(tls *libc.TLS, pNode uintptr, pCtx uintptr, aReplace uintptr // Translate a single byte of Hex into an integer. // This routine only works if h really is a valid hexadecimal // character: 0..9a..fA..F -func jsonHexToInt(tls *libc.TLS, h int32) U8 { /* sqlite3.c:193612:11: */ +func jsonHexToInt(tls *libc.TLS, h int32) U8 { /* sqlite3.c:193669:11: */ h = h + 9*(1&(h>>6)) return U8(h & 0xf) } // Convert a 4-byte hex string into an integer -func jsonHexToInt4(tls *libc.TLS, z uintptr) U32 { /* sqlite3.c:193625:12: */ +func jsonHexToInt4(tls *libc.TLS, z uintptr) U32 { /* sqlite3.c:193682:12: */ var v U32 v = U32(int32(jsonHexToInt(tls, int32(*(*uint8)(unsafe.Pointer(z)))))<<12 + @@ -154369,7 +154400,7 @@ func jsonHexToInt4(tls *libc.TLS, z uintptr) U32 { /* sqlite3.c:193625:12: */ } // Make the JsonNode the return value of the function. -func jsonReturn(tls *libc.TLS, pNode uintptr, pCtx uintptr, aReplace uintptr) { /* sqlite3.c:193641:13: */ +func jsonReturn(tls *libc.TLS, pNode uintptr, pCtx uintptr, aReplace uintptr) { /* sqlite3.c:193698:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -154650,7 +154681,7 @@ __1: // A macro to hint to the compiler that a function should not be // inlined. -func jsonParseAddNodeExpand(tls *libc.TLS, pParse uintptr, eType U32, n U32, zContent uintptr) int32 { /* sqlite3.c:193814:26: */ +func jsonParseAddNodeExpand(tls *libc.TLS, pParse uintptr, eType U32, n U32, zContent uintptr) int32 { /* sqlite3.c:193871:26: */ var nNew U32 var pNew uintptr @@ -154672,7 +154703,7 @@ func jsonParseAddNodeExpand(tls *libc.TLS, pParse uintptr, eType U32, n U32, zCo // Create a new JsonNode instance based on the arguments and append that // instance to the JsonParse. Return the index in pParse->aNode[] of the // new node, or -1 if a memory allocation fails. -func jsonParseAddNode(tls *libc.TLS, pParse uintptr, eType U32, n U32, zContent uintptr) int32 { /* sqlite3.c:193841:12: */ +func jsonParseAddNode(tls *libc.TLS, pParse uintptr, eType U32, n U32, zContent uintptr) int32 { /* sqlite3.c:193898:12: */ var p uintptr if (*JsonParse)(unsafe.Pointer(pParse)).FaNode == uintptr(0) || (*JsonParse)(unsafe.Pointer(pParse)).FnNode >= (*JsonParse)(unsafe.Pointer(pParse)).FnAlloc { return jsonParseAddNodeExpand(tls, pParse, eType, n, zContent) @@ -154687,7 +154718,7 @@ func jsonParseAddNode(tls *libc.TLS, pParse uintptr, eType U32, n U32, zContent } // Return true if z[] begins with 4 (or more) hexadecimal digits -func jsonIs4Hex(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:193863:12: */ +func jsonIs4Hex(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:193920:12: */ var i int32 for i = 0; i < 4; i++ { if !(int32(Xsqlite3CtypeMap[uint8(*(*uint8)(unsafe.Pointer(z + uintptr(i))))])&0x08 != 0) { @@ -154703,7 +154734,7 @@ func jsonIs4Hex(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:193863:12: */ // Return negative for a syntax error. Special cases: return -2 if the // first non-whitespace character is '}' and return -3 if the first // non-whitespace character is ']'. -func jsonParseValue(tls *libc.TLS, pParse uintptr, i U32) int32 { /* sqlite3.c:193877:12: */ +func jsonParseValue(tls *libc.TLS, pParse uintptr, i U32) int32 { /* sqlite3.c:193934:12: */ var c uint8 var j U32 var iThis int32 @@ -154930,7 +154961,7 @@ func jsonParseValue(tls *libc.TLS, pParse uintptr, i U32) int32 { /* sqlite3.c:1 // pParse. // // pParse is uninitialized when this routine is called. -func jsonParse(tls *libc.TLS, pParse uintptr, pCtx uintptr, zJson uintptr) int32 { /* sqlite3.c:194038:12: */ +func jsonParse(tls *libc.TLS, pParse uintptr, pCtx uintptr, zJson uintptr) int32 { /* sqlite3.c:194095:12: */ var i int32 libc.Xmemset(tls, pParse, 0, uint64(unsafe.Sizeof(JsonParse{}))) if zJson == uintptr(0) { @@ -154966,7 +154997,7 @@ func jsonParse(tls *libc.TLS, pParse uintptr, pCtx uintptr, zJson uintptr) int32 // Mark node i of pParse as being a child of iParent. Call recursively // to fill in all the descendants of node i. -func jsonParseFillInParentage(tls *libc.TLS, pParse uintptr, i U32, iParent U32) { /* sqlite3.c:194071:13: */ +func jsonParseFillInParentage(tls *libc.TLS, pParse uintptr, i U32, iParent U32) { /* sqlite3.c:194128:13: */ var pNode uintptr = (*JsonParse)(unsafe.Pointer(pParse)).FaNode + uintptr(i)*16 var j U32 *(*U32)(unsafe.Pointer((*JsonParse)(unsafe.Pointer(pParse)).FaUp + uintptr(i)*4)) = iParent @@ -154997,7 +155028,7 @@ func jsonParseFillInParentage(tls *libc.TLS, pParse uintptr, i U32, iParent U32) } // Compute the parentage of all nodes in a completed parse. -func jsonParseFindParents(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:194098:12: */ +func jsonParseFindParents(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:194155:12: */ var aUp uintptr aUp = libc.AssignPtrUintptr(pParse+24, Xsqlite3_malloc64(tls, uint64(uint64(unsafe.Sizeof(U32(0)))*uint64((*JsonParse)(unsafe.Pointer(pParse)).FnNode)))) @@ -155017,7 +155048,7 @@ func jsonParseFindParents(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:19 // is no longer valid, parse the JSON again and return the new parse, // and also register the new parse so that it will be available for // future sqlite3_get_auxdata() calls. -func jsonParseCached(tls *libc.TLS, pCtx uintptr, argv uintptr, pErrCtx uintptr) uintptr { /* sqlite3.c:194124:18: */ +func jsonParseCached(tls *libc.TLS, pCtx uintptr, argv uintptr, pErrCtx uintptr) uintptr { /* sqlite3.c:194181:18: */ var zJson uintptr = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv))) var nJson int32 = Xsqlite3_value_bytes(tls, *(*uintptr)(unsafe.Pointer(argv))) var p uintptr @@ -155074,7 +155105,7 @@ func jsonParseCached(tls *libc.TLS, pCtx uintptr, argv uintptr, pErrCtx uintptr) // Compare the OBJECT label at pNode against zKey,nKey. Return true on // a match. -func jsonLabelCompare(tls *libc.TLS, pNode uintptr, zKey uintptr, nKey U32) int32 { /* sqlite3.c:194186:12: */ +func jsonLabelCompare(tls *libc.TLS, pNode uintptr, zKey uintptr, nKey U32) int32 { /* sqlite3.c:194243:12: */ if int32((*JsonNode)(unsafe.Pointer(pNode)).FjnFlags)&JNODE_RAW != 0 { if (*JsonNode)(unsafe.Pointer(pNode)).Fn != nKey { @@ -155097,7 +155128,7 @@ func jsonLabelCompare(tls *libc.TLS, pNode uintptr, zKey uintptr, nKey U32) int3 // If pApnd!=0, then try to append new nodes to complete zPath if it is // possible to do so and if no existing node corresponds to zPath. If // new nodes are appended *pApnd is set to 1. -func jsonLookupStep(tls *libc.TLS, pParse uintptr, iRoot U32, zPath uintptr, pApnd uintptr, pzErr uintptr) uintptr { /* sqlite3.c:194209:17: */ +func jsonLookupStep(tls *libc.TLS, pParse uintptr, iRoot U32, zPath uintptr, pApnd uintptr, pzErr uintptr) uintptr { /* sqlite3.c:194266:17: */ var i U32 var j U32 var nKey U32 @@ -155272,7 +155303,7 @@ func jsonLookupStep(tls *libc.TLS, pParse uintptr, iRoot U32, zPath uintptr, pAp // Append content to pParse that will complete zPath. Return a pointer // to the inserted node, or return NULL if the append fails. -func jsonLookupAppend(tls *libc.TLS, pParse uintptr, zPath uintptr, pApnd uintptr, pzErr uintptr) uintptr { /* sqlite3.c:194361:17: */ +func jsonLookupAppend(tls *libc.TLS, pParse uintptr, zPath uintptr, pApnd uintptr, pzErr uintptr) uintptr { /* sqlite3.c:194418:17: */ *(*int32)(unsafe.Pointer(pApnd)) = 1 if int32(*(*uint8)(unsafe.Pointer(zPath))) == 0 { jsonParseAddNode(tls, pParse, uint32(JSON_NULL), uint32(0), uintptr(0)) @@ -155296,7 +155327,7 @@ func jsonLookupAppend(tls *libc.TLS, pParse uintptr, zPath uintptr, pApnd uintpt // Return the text of a syntax error message on a JSON path. Space is // obtained from sqlite3_malloc(). -func jsonPathSyntaxError(tls *libc.TLS, zErr uintptr) uintptr { /* sqlite3.c:194387:13: */ +func jsonPathSyntaxError(tls *libc.TLS, zErr uintptr) uintptr { /* sqlite3.c:194444:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -155311,7 +155342,7 @@ func jsonPathSyntaxError(tls *libc.TLS, zErr uintptr) uintptr { /* sqlite3.c:194 // // If pApnd!=NULL then try to append missing nodes and set *pApnd = 1 if // nodes are appended. -func jsonLookup(tls *libc.TLS, pParse uintptr, zPath uintptr, pApnd uintptr, pCtx uintptr) uintptr { /* sqlite3.c:194401:17: */ +func jsonLookup(tls *libc.TLS, pParse uintptr, zPath uintptr, pApnd uintptr, pCtx uintptr) uintptr { /* sqlite3.c:194458:17: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -155363,7 +155394,7 @@ __5: // Report the wrong number of arguments for json_insert(), json_replace() // or json_set(). -func jsonWrongNumArgs(tls *libc.TLS, pCtx uintptr, zFuncName uintptr) { /* sqlite3.c:194438:13: */ +func jsonWrongNumArgs(tls *libc.TLS, pCtx uintptr, zFuncName uintptr) { /* sqlite3.c:194495:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -155374,7 +155405,7 @@ func jsonWrongNumArgs(tls *libc.TLS, pCtx uintptr, zFuncName uintptr) { /* sqlit } // Mark all NULL entries in the Object passed in as JNODE_REMOVE. -func jsonRemoveAllNulls(tls *libc.TLS, pNode uintptr) { /* sqlite3.c:194451:13: */ +func jsonRemoveAllNulls(tls *libc.TLS, pNode uintptr) { /* sqlite3.c:194508:13: */ var i int32 var n int32 @@ -155405,7 +155436,7 @@ func jsonRemoveAllNulls(tls *libc.TLS, pNode uintptr) { /* sqlite3.c:194451:13: // corresponding to the SQL value input. Mostly this means putting // double-quotes around strings and returning the unquoted string "null" // when given a NULL input. -func jsonQuoteFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:194540:13: */ +func jsonQuoteFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:194597:13: */ bp := tls.Alloc(136) defer tls.Free(136) @@ -155422,7 +155453,7 @@ func jsonQuoteFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sq // Implementation of the json_array(VALUE,...) function. Return a JSON // array that contains all values given in arguments. Or if any argument // is a BLOB, throw an error. -func jsonArrayFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:194559:13: */ +func jsonArrayFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:194616:13: */ bp := tls.Alloc(136) defer tls.Free(136) @@ -155445,7 +155476,7 @@ func jsonArrayFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sq // // Return the number of elements in the top-level JSON array. // Return 0 if the input is not a well-formed JSON array. -func jsonArrayLengthFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:194586:13: */ +func jsonArrayLengthFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:194643:13: */ var p uintptr // The parse var n Sqlite3_int64 = int64(0) var i U32 @@ -155495,7 +155526,7 @@ func jsonArrayLengthFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { // // Abbreviated JSON path expressions are allows if JSON_ABPATH, for // compatibility with PG. -func jsonExtractFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:194646:13: */ +func jsonExtractFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:194703:13: */ bp := tls.Alloc(136) defer tls.Free(136) @@ -155589,7 +155620,7 @@ func jsonExtractFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* } // This is the RFC 7396 MergePatch algorithm. -func jsonMergePatch(tls *libc.TLS, pParse uintptr, iTarget U32, pPatch uintptr) uintptr { /* sqlite3.c:194729:17: */ +func jsonMergePatch(tls *libc.TLS, pParse uintptr, iTarget U32, pPatch uintptr) uintptr { /* sqlite3.c:194786:17: */ var i U32 var j U32 var iRoot U32 @@ -155662,7 +155693,7 @@ func jsonMergePatch(tls *libc.TLS, pParse uintptr, iTarget U32, pPatch uintptr) // Implementation of the json_mergepatch(JSON1,JSON2) function. Return a JSON // object that is the result of running the RFC 7396 MergePatch() algorithm // on the two arguments. -func jsonPatchFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:194811:13: */ +func jsonPatchFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:194868:13: */ bp := tls.Alloc(96) defer tls.Free(96) @@ -155694,7 +155725,7 @@ func jsonPatchFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sq // Implementation of the json_object(NAME,VALUE,...) function. Return a JSON // object that contains all name/value given in arguments. Or if any name // is not a string or if any value is a BLOB, throw an error. -func jsonObjectFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:194843:13: */ +func jsonObjectFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:194900:13: */ bp := tls.Alloc(136) defer tls.Free(136) @@ -155733,7 +155764,7 @@ func jsonObjectFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* s // // Remove the named elements from JSON and return the result. malformed // JSON or PATH arguments result in an error. -func jsonRemoveFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:194885:13: */ +func jsonRemoveFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:194942:13: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -155802,7 +155833,7 @@ remove_done: // // Replace the value at PATH with VALUE. If PATH does not already exist, // this routine is a no-op. If JSON or PATH is malformed, throw an error. -func jsonReplaceFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:194918:13: */ +func jsonReplaceFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:194975:13: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -155885,7 +155916,7 @@ replace_err: // // Create PATH and initialize it to VALUE. If PATH already exists, this // routine is a no-op. If JSON or PATH is malformed, throw an error. -func jsonSetFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:194970:13: */ +func jsonSetFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:195027:13: */ bp := tls.Alloc(52) defer tls.Free(52) @@ -155983,7 +156014,7 @@ jsonSetDone: // // Return the top-level "type" of a JSON string. json_type() raises an // error if either the JSON or PATH inputs are not well-formed. -func jsonTypeFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:195023:13: */ +func jsonTypeFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:195080:13: */ var p uintptr // The parse var zPath uintptr var pNode uintptr @@ -156007,7 +156038,7 @@ func jsonTypeFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sql // // Return 1 if JSON is a well-formed JSON string according to RFC-7159. // Return 0 otherwise. -func jsonValidFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:195051:13: */ +func jsonValidFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:195108:13: */ var p uintptr // The parse _ = argc p = jsonParseCached(tls, ctx, argv, uintptr(0)) @@ -156021,7 +156052,7 @@ func jsonValidFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sq // json_group_array(VALUE) // // Return a JSON array composed of all values in the aggregate. -func jsonArrayStep(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:195071:13: */ +func jsonArrayStep(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:195128:13: */ var pStr uintptr _ = argc pStr = Xsqlite3_aggregate_context(tls, ctx, int32(unsafe.Sizeof(JsonString{}))) @@ -156037,7 +156068,7 @@ func jsonArrayStep(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sq } } -func jsonArrayCompute(tls *libc.TLS, ctx uintptr, isFinal int32) { /* sqlite3.c:195090:13: */ +func jsonArrayCompute(tls *libc.TLS, ctx uintptr, isFinal int32) { /* sqlite3.c:195147:13: */ var pStr uintptr pStr = Xsqlite3_aggregate_context(tls, ctx, 0) if pStr != 0 { @@ -156067,11 +156098,11 @@ func jsonArrayCompute(tls *libc.TLS, ctx uintptr, isFinal int32) { /* sqlite3.c: Xsqlite3_result_subtype(tls, ctx, uint32(JSON_SUBTYPE)) } -func jsonArrayValue(tls *libc.TLS, ctx uintptr) { /* sqlite3.c:195112:13: */ +func jsonArrayValue(tls *libc.TLS, ctx uintptr) { /* sqlite3.c:195169:13: */ jsonArrayCompute(tls, ctx, 0) } -func jsonArrayFinal(tls *libc.TLS, ctx uintptr) { /* sqlite3.c:195115:13: */ +func jsonArrayFinal(tls *libc.TLS, ctx uintptr) { /* sqlite3.c:195172:13: */ jsonArrayCompute(tls, ctx, 1) } @@ -156079,7 +156110,7 @@ func jsonArrayFinal(tls *libc.TLS, ctx uintptr) { /* sqlite3.c:195115:13: */ // It works by removing the first element of the group by searching forward // to the first comma (",") that is not within a string and deleting all // text through that comma. -func jsonGroupInverse(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:195126:13: */ +func jsonGroupInverse(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:195183:13: */ var i uint32 var inStr int32 = 0 var nNest int32 = 0 @@ -156121,7 +156152,7 @@ func jsonGroupInverse(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* // json_group_obj(NAME,VALUE) // // Return a JSON object composed of all names and values in the aggregate. -func jsonObjectStep(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:195174:13: */ +func jsonObjectStep(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:195231:13: */ var pStr uintptr var z uintptr var n U32 @@ -156143,7 +156174,7 @@ func jsonObjectStep(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* s } } -func jsonObjectCompute(tls *libc.TLS, ctx uintptr, isFinal int32) { /* sqlite3.c:195199:13: */ +func jsonObjectCompute(tls *libc.TLS, ctx uintptr, isFinal int32) { /* sqlite3.c:195256:13: */ var pStr uintptr pStr = Xsqlite3_aggregate_context(tls, ctx, 0) if pStr != 0 { @@ -156172,11 +156203,11 @@ func jsonObjectCompute(tls *libc.TLS, ctx uintptr, isFinal int32) { /* sqlite3.c Xsqlite3_result_subtype(tls, ctx, uint32(JSON_SUBTYPE)) } -func jsonObjectValue(tls *libc.TLS, ctx uintptr) { /* sqlite3.c:195220:13: */ +func jsonObjectValue(tls *libc.TLS, ctx uintptr) { /* sqlite3.c:195277:13: */ jsonObjectCompute(tls, ctx, 0) } -func jsonObjectFinal(tls *libc.TLS, ctx uintptr) { /* sqlite3.c:195223:13: */ +func jsonObjectFinal(tls *libc.TLS, ctx uintptr) { /* sqlite3.c:195280:13: */ jsonObjectCompute(tls, ctx, 1) } @@ -156196,16 +156227,16 @@ type JsonEachCursor1 = struct { FzJson uintptr FzRoot uintptr FsParse JsonParse -} /* sqlite3.c:195233:9 */ +} /* sqlite3.c:195290:9 */ // *************************************************************************** // // The json_each virtual table // -type JsonEachCursor = JsonEachCursor1 /* sqlite3.c:195233:31 */ +type JsonEachCursor = JsonEachCursor1 /* sqlite3.c:195290:31 */ // Constructor for the json_each virtual table -func jsonEachConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 { /* sqlite3.c:195248:12: */ +func jsonEachConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 { /* sqlite3.c:195305:12: */ var pNew uintptr var rc int32 @@ -156233,13 +156264,13 @@ func jsonEachConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv u } // destructor for json_each virtual table -func jsonEachDisconnect(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:195290:12: */ +func jsonEachDisconnect(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:195347:12: */ Xsqlite3_free(tls, pVtab) return SQLITE_OK } // constructor for a JsonEachCursor object for json_each(). -func jsonEachOpenEach(tls *libc.TLS, p uintptr, ppCursor uintptr) int32 { /* sqlite3.c:195296:12: */ +func jsonEachOpenEach(tls *libc.TLS, p uintptr, ppCursor uintptr) int32 { /* sqlite3.c:195353:12: */ var pCur uintptr _ = p @@ -156253,7 +156284,7 @@ func jsonEachOpenEach(tls *libc.TLS, p uintptr, ppCursor uintptr) int32 { /* sql } // constructor for a JsonEachCursor object for json_tree(). -func jsonEachOpenTree(tls *libc.TLS, p uintptr, ppCursor uintptr) int32 { /* sqlite3.c:195308:12: */ +func jsonEachOpenTree(tls *libc.TLS, p uintptr, ppCursor uintptr) int32 { /* sqlite3.c:195365:12: */ var rc int32 = jsonEachOpenEach(tls, p, ppCursor) if rc == SQLITE_OK { var pCur uintptr = *(*uintptr)(unsafe.Pointer(ppCursor)) @@ -156264,7 +156295,7 @@ func jsonEachOpenTree(tls *libc.TLS, p uintptr, ppCursor uintptr) int32 { /* sql // Reset a JsonEachCursor back to its original state. Free any memory // held. -func jsonEachCursorReset(tls *libc.TLS, p uintptr) { /* sqlite3.c:195319:13: */ +func jsonEachCursorReset(tls *libc.TLS, p uintptr) { /* sqlite3.c:195376:13: */ Xsqlite3_free(tls, (*JsonEachCursor)(unsafe.Pointer(p)).FzJson) Xsqlite3_free(tls, (*JsonEachCursor)(unsafe.Pointer(p)).FzRoot) jsonParseReset(tls, p+48) @@ -156277,7 +156308,7 @@ func jsonEachCursorReset(tls *libc.TLS, p uintptr) { /* sqlite3.c:195319:13: */ } // Destructor for a jsonEachCursor object -func jsonEachClose(tls *libc.TLS, cur uintptr) int32 { /* sqlite3.c:195332:12: */ +func jsonEachClose(tls *libc.TLS, cur uintptr) int32 { /* sqlite3.c:195389:12: */ var p uintptr = cur jsonEachCursorReset(tls, p) Xsqlite3_free(tls, cur) @@ -156286,13 +156317,13 @@ func jsonEachClose(tls *libc.TLS, cur uintptr) int32 { /* sqlite3.c:195332:12: * // Return TRUE if the jsonEachCursor object has been advanced off the end // of the JSON object -func jsonEachEof(tls *libc.TLS, cur uintptr) int32 { /* sqlite3.c:195341:12: */ +func jsonEachEof(tls *libc.TLS, cur uintptr) int32 { /* sqlite3.c:195398:12: */ var p uintptr = cur return libc.Bool32((*JsonEachCursor)(unsafe.Pointer(p)).Fi >= (*JsonEachCursor)(unsafe.Pointer(p)).FiEnd) } // Advance the cursor to the next element for json_tree() -func jsonEachNext(tls *libc.TLS, cur uintptr) int32 { /* sqlite3.c:195347:12: */ +func jsonEachNext(tls *libc.TLS, cur uintptr) int32 { /* sqlite3.c:195404:12: */ var p uintptr = cur if (*JsonEachCursor)(unsafe.Pointer(p)).FbRecursive != 0 { if int32((*JsonNode)(unsafe.Pointer((*JsonEachCursor)(unsafe.Pointer(p)).FsParse.FaNode+uintptr((*JsonEachCursor)(unsafe.Pointer(p)).Fi)*16)).FjnFlags)&JNODE_LABEL != 0 { @@ -156343,7 +156374,7 @@ func jsonEachNext(tls *libc.TLS, cur uintptr) int32 { /* sqlite3.c:195347:12: */ } // Append the name of the path for element i to pStr -func jsonEachComputePath(tls *libc.TLS, p uintptr, pStr uintptr, i U32) { /* sqlite3.c:195391:13: */ +func jsonEachComputePath(tls *libc.TLS, p uintptr, pStr uintptr, i U32) { /* sqlite3.c:195448:13: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -156372,7 +156403,7 @@ func jsonEachComputePath(tls *libc.TLS, p uintptr, pStr uintptr, i U32) { /* sql } // Return the value of a column -func jsonEachColumn(tls *libc.TLS, cur uintptr, ctx uintptr, i int32) int32 { /* sqlite3.c:195421:12: */ +func jsonEachColumn(tls *libc.TLS, cur uintptr, ctx uintptr, i int32) int32 { /* sqlite3.c:195478:12: */ bp := tls.Alloc(296) defer tls.Free(296) @@ -156506,7 +156537,7 @@ func jsonEachColumn(tls *libc.TLS, cur uintptr, ctx uintptr, i int32) int32 { /* } // Return the current rowid value -func jsonEachRowid(tls *libc.TLS, cur uintptr, pRowid uintptr) int32 { /* sqlite3.c:195522:12: */ +func jsonEachRowid(tls *libc.TLS, cur uintptr, pRowid uintptr) int32 { /* sqlite3.c:195579:12: */ var p uintptr = cur *(*Sqlite_int64)(unsafe.Pointer(pRowid)) = Sqlite_int64((*JsonEachCursor)(unsafe.Pointer(p)).FiRowid) return SQLITE_OK @@ -156516,7 +156547,7 @@ func jsonEachRowid(tls *libc.TLS, cur uintptr, pRowid uintptr) int32 { /* sqlite // column. Without such a constraint, the table cannot operate. idxNum is // 1 if the constraint is found, 3 if the constraint and zRoot are found, // and 0 otherwise. -func jsonEachBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 { /* sqlite3.c:195533:12: */ +func jsonEachBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 { /* sqlite3.c:195590:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -156591,7 +156622,7 @@ __3: } // Start a search on a new JSON string -func jsonEachFilter(tls *libc.TLS, cur uintptr, idxNum int32, idxStr uintptr, argc int32, argv uintptr) int32 { /* sqlite3.c:195592:12: */ +func jsonEachFilter(tls *libc.TLS, cur uintptr, idxNum int32, idxStr uintptr, argc int32, argv uintptr) int32 { /* sqlite3.c:195649:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -156696,7 +156727,7 @@ var jsonEachModule = Sqlite3_module{ // xCreate FxEof: 0, // xEof - check for end of scan FxColumn: 0, // xColumn - read data FxRowid: 0, // xShadowName -} /* sqlite3.c:195673:23 */ +} /* sqlite3.c:195730:23 */ // The methods of the json_tree virtual table. var jsonTreeModule = Sqlite3_module{ // xCreate @@ -156710,10 +156741,10 @@ var jsonTreeModule = Sqlite3_module{ // xCreate FxEof: 0, // xEof - check for end of scan FxColumn: 0, // xColumn - read data FxRowid: 0, // xShadowName -} /* sqlite3.c:195701:23 */ +} /* sqlite3.c:195758:23 */ // Register JSON functions. -func Xsqlite3RegisterJsonFunctions(tls *libc.TLS) { /* sqlite3.c:195733:21: */ +func Xsqlite3RegisterJsonFunctions(tls *libc.TLS) { /* sqlite3.c:195790:21: */ Xsqlite3InsertBuiltinFuncs(tls, uintptr(unsafe.Pointer(&aJsonFunc)), int32(uint64(unsafe.Sizeof(aJsonFunc))/uint64(unsafe.Sizeof(FuncDef{})))) } @@ -156736,10 +156767,10 @@ var aJsonFunc = [19]FuncDef{ {FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_INNOCUOUS | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24794}, {FnArg: int8(1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_INNOCUOUS | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24804}, {FnArg: int8(1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_UTF8 | 0*SQLITE_FUNC_NEEDCOLL | SQLITE_SUBTYPE | SQLITE_UTF8 | SQLITE_DETERMINISTIC | SQLITE_INNOCUOUS), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 24815}, - {FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_UTF8 | 0*SQLITE_FUNC_NEEDCOLL | SQLITE_SUBTYPE | SQLITE_UTF8 | SQLITE_DETERMINISTIC | SQLITE_INNOCUOUS), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 24832}} /* sqlite3.c:195735:18 */ + {FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_UTF8 | 0*SQLITE_FUNC_NEEDCOLL | SQLITE_SUBTYPE | SQLITE_UTF8 | SQLITE_DETERMINISTIC | SQLITE_INNOCUOUS), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 24832}} /* sqlite3.c:195792:18 */ // Register the JSON table-valued functions -func Xsqlite3JsonTableFunctions(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:195772:20: */ +func Xsqlite3JsonTableFunctions(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:195829:20: */ var rc int32 = SQLITE_OK var i uint32 for i = uint32(0); uint64(i) < uint64(unsafe.Sizeof(aMod))/uint64(unsafe.Sizeof(struct { @@ -156757,7 +156788,7 @@ var aMod = [2]struct { }{ {FzName: ts + 24850 /* "json_each" */, FpModule: 0}, {FzName: ts + 24860 /* "json_tree" */, FpModule: 0}, -} /* sqlite3.c:195777:5 */ // In the SQLite core +} /* sqlite3.c:195834:5 */ // In the SQLite core // If building separately, we will need some setup that is normally // found in sqliteInt.h @@ -156804,7 +156835,7 @@ type Rtree1 = struct { FpDeleteParent uintptr FpWriteAux uintptr FaHash [97]uintptr -} /* sqlite3.c:195900:9 */ +} /* sqlite3.c:195957:9 */ // In the SQLite core @@ -156818,7 +156849,7 @@ type Rtree1 = struct { // The following macro is used to suppress compiler warnings. -type Rtree = Rtree1 /* sqlite3.c:195900:22 */ +type Rtree = Rtree1 /* sqlite3.c:195957:22 */ type RtreeCursor1 = struct { Fbase Sqlite3_vtab_cursor FatEOF U8 @@ -156839,9 +156870,9 @@ type RtreeCursor1 = struct { FaNode [5]uintptr FanQueue [41]U32 F__ccgo_pad4 [4]byte -} /* sqlite3.c:195901:9 */ +} /* sqlite3.c:195958:9 */ -type RtreeCursor = RtreeCursor1 /* sqlite3.c:195901:28 */ +type RtreeCursor = RtreeCursor1 /* sqlite3.c:195958:28 */ type RtreeNode1 = struct { FpParent uintptr FiNode I64 @@ -156849,23 +156880,23 @@ type RtreeNode1 = struct { FisDirty int32 FzData uintptr FpNext uintptr -} /* sqlite3.c:195900:9 */ +} /* sqlite3.c:195957:9 */ -type RtreeNode = RtreeNode1 /* sqlite3.c:195902:26 */ +type RtreeNode = RtreeNode1 /* sqlite3.c:195959:26 */ type RtreeCell1 = struct { FiRowid I64 FaCoord [10]RtreeCoord -} /* sqlite3.c:195903:9 */ +} /* sqlite3.c:195960:9 */ -type RtreeCell = RtreeCell1 /* sqlite3.c:195903:26 */ +type RtreeCell = RtreeCell1 /* sqlite3.c:195960:26 */ type RtreeConstraint1 = struct { FiCoord int32 Fop int32 Fu struct{ FrValue RtreeDValue } FpInfo uintptr -} /* sqlite3.c:195901:9 */ +} /* sqlite3.c:195958:9 */ -type RtreeConstraint = RtreeConstraint1 /* sqlite3.c:195904:32 */ +type RtreeConstraint = RtreeConstraint1 /* sqlite3.c:195961:32 */ type RtreeMatchArg1 = struct { FiSize U32 F__ccgo_pad1 [4]byte @@ -156874,20 +156905,20 @@ type RtreeMatchArg1 = struct { F__ccgo_pad2 [4]byte FapSqlParam uintptr FaParam [1]RtreeDValue -} /* sqlite3.c:195905:9 */ +} /* sqlite3.c:195962:9 */ -type RtreeMatchArg = RtreeMatchArg1 /* sqlite3.c:195905:30 */ +type RtreeMatchArg = RtreeMatchArg1 /* sqlite3.c:195962:30 */ type RtreeGeomCallback1 = struct { FxGeom uintptr FxQueryFunc uintptr FxDestructor uintptr FpContext uintptr -} /* sqlite3.c:195905:9 */ +} /* sqlite3.c:195962:9 */ -type RtreeGeomCallback = RtreeGeomCallback1 /* sqlite3.c:195906:34 */ -type RtreeCoord1 = struct{ Ff RtreeValue } /* sqlite3.c:195903:9 */ +type RtreeGeomCallback = RtreeGeomCallback1 /* sqlite3.c:195963:34 */ +type RtreeCoord1 = struct{ Ff RtreeValue } /* sqlite3.c:195960:9 */ -type RtreeCoord = RtreeCoord1 /* sqlite3.c:195907:26 */ +type RtreeCoord = RtreeCoord1 /* sqlite3.c:195964:26 */ type RtreeSearchPoint1 = struct { FrScore RtreeDValue Fid Sqlite3_int64 @@ -156895,17 +156926,17 @@ type RtreeSearchPoint1 = struct { FeWithin U8 FiCell U8 F__ccgo_pad1 [5]byte -} /* sqlite3.c:195901:9 */ +} /* sqlite3.c:195958:9 */ -type RtreeSearchPoint = RtreeSearchPoint1 /* sqlite3.c:195908:33 */ +type RtreeSearchPoint = RtreeSearchPoint1 /* sqlite3.c:195965:33 */ // Possible values for Rtree.eCoordType: // 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 RtreeDValue = float64 /* sqlite3.c:196005:18 */ // High accuracy coordinate -type RtreeValue = float32 /* sqlite3.c:196006:17 */ +type RtreeDValue = float64 /* sqlite3.c:196062:18 */ // High accuracy coordinate +type RtreeValue = float32 /* sqlite3.c:196063:17 */ // What version of GCC is being used. 0 means GCC is not being used . // Note that the GCC_VERSION macro will also be set correctly when using @@ -156931,28 +156962,28 @@ type RtreeValue = float32 /* sqlite3.c:196006:17 */ // Functions to deserialize a 16 bit integer, 32 bit real number and // 64 bit integer. The deserialized value is returned. -func readInt16(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:196290:12: */ +func readInt16(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:196347:12: */ return int32(*(*U8)(unsafe.Pointer(p)))<<8 + int32(*(*U8)(unsafe.Pointer(p + 1))) } -func readCoord(tls *libc.TLS, p uintptr, pCoord uintptr) { /* sqlite3.c:196293:13: */ +func readCoord(tls *libc.TLS, p uintptr, pCoord uintptr) { /* sqlite3.c:196350:13: */ // p is always 4-byte aligned *(*U32)(unsafe.Pointer(pCoord)) = U32(*(*U8)(unsafe.Pointer(p)))<<24 + U32(*(*U8)(unsafe.Pointer(p + 1)))<<16 + U32(*(*U8)(unsafe.Pointer(p + 2)))<<8 + U32(*(*U8)(unsafe.Pointer(p + 3)))<<0 } -func readInt64(tls *libc.TLS, p uintptr) I64 { /* sqlite3.c:196310:12: */ +func readInt64(tls *libc.TLS, p uintptr) I64 { /* sqlite3.c:196367:12: */ return I64(U64(*(*U8)(unsafe.Pointer(p)))<<56 + U64(*(*U8)(unsafe.Pointer(p + 1)))<<48 + U64(*(*U8)(unsafe.Pointer(p + 2)))<<40 + U64(*(*U8)(unsafe.Pointer(p + 3)))<<32 + U64(*(*U8)(unsafe.Pointer(p + 4)))<<24 + U64(*(*U8)(unsafe.Pointer(p + 5)))<<16 + U64(*(*U8)(unsafe.Pointer(p + 6)))<<8 + U64(*(*U8)(unsafe.Pointer(p + 7)))<<0) } // Functions to serialize a 16 bit integer, 32 bit real number and // 64 bit integer. The value returned is the number of bytes written // to the argument buffer (always 2, 4 and 8 respectively). -func writeInt16(tls *libc.TLS, p uintptr, i int32) { /* sqlite3.c:196342:13: */ +func writeInt16(tls *libc.TLS, p uintptr, i int32) { /* sqlite3.c:196399:13: */ *(*U8)(unsafe.Pointer(p)) = U8(i >> 8 & 0xFF) *(*U8)(unsafe.Pointer(p + 1)) = U8(i >> 0 & 0xFF) } -func writeCoord(tls *libc.TLS, p uintptr, pCoord uintptr) int32 { /* sqlite3.c:196346:12: */ +func writeCoord(tls *libc.TLS, p uintptr, pCoord uintptr) int32 { /* sqlite3.c:196403:12: */ var i U32 // p is always 4-byte aligned @@ -156964,7 +156995,7 @@ func writeCoord(tls *libc.TLS, p uintptr, pCoord uintptr) int32 { /* sqlite3.c:1 return 4 } -func writeInt64(tls *libc.TLS, p uintptr, i I64) int32 { /* sqlite3.c:196369:12: */ +func writeInt64(tls *libc.TLS, p uintptr, i I64) int32 { /* sqlite3.c:196426:12: */ *(*U8)(unsafe.Pointer(p)) = U8(i >> 56 & int64(0xFF)) *(*U8)(unsafe.Pointer(p + 1)) = U8(i >> 48 & int64(0xFF)) *(*U8)(unsafe.Pointer(p + 2)) = U8(i >> 40 & int64(0xFF)) @@ -156977,7 +157008,7 @@ func writeInt64(tls *libc.TLS, p uintptr, i I64) int32 { /* sqlite3.c:196369:12: } // Increment the reference count of node p. -func nodeReference(tls *libc.TLS, p uintptr) { /* sqlite3.c:196394:13: */ +func nodeReference(tls *libc.TLS, p uintptr) { /* sqlite3.c:196451:13: */ if p != 0 { (*RtreeNode)(unsafe.Pointer(p)).FnRef++ @@ -156985,20 +157016,20 @@ func nodeReference(tls *libc.TLS, p uintptr) { /* sqlite3.c:196394:13: */ } // Clear the content of node p (set all bytes to 0x00). -func nodeZero(tls *libc.TLS, pRtree uintptr, p uintptr) { /* sqlite3.c:196404:13: */ +func nodeZero(tls *libc.TLS, pRtree uintptr, p uintptr) { /* sqlite3.c:196461:13: */ libc.Xmemset(tls, (*RtreeNode)(unsafe.Pointer(p)).FzData+2, 0, uint64((*Rtree)(unsafe.Pointer(pRtree)).FiNodeSize-2)) (*RtreeNode)(unsafe.Pointer(p)).FisDirty = 1 } // Given a node number iNode, return the corresponding key to use // in the Rtree.aHash table. -func nodeHash(tls *libc.TLS, iNode I64) uint32 { /* sqlite3.c:196413:21: */ +func nodeHash(tls *libc.TLS, iNode I64) uint32 { /* sqlite3.c:196470:21: */ return uint32(iNode) % uint32(HASHSIZE) } // Search the node hash table for node iNode. If found, return a pointer // to it. Otherwise, return 0. -func nodeHashLookup(tls *libc.TLS, pRtree uintptr, iNode I64) uintptr { /* sqlite3.c:196421:18: */ +func nodeHashLookup(tls *libc.TLS, pRtree uintptr, iNode I64) uintptr { /* sqlite3.c:196478:18: */ var p uintptr for p = *(*uintptr)(unsafe.Pointer(pRtree + 192 + uintptr(nodeHash(tls, iNode))*8)); p != 0 && (*RtreeNode)(unsafe.Pointer(p)).FiNode != iNode; p = (*RtreeNode)(unsafe.Pointer(p)).FpNext { } @@ -157006,7 +157037,7 @@ func nodeHashLookup(tls *libc.TLS, pRtree uintptr, iNode I64) uintptr { /* sqlit } // Add node pNode to the node hash table. -func nodeHashInsert(tls *libc.TLS, pRtree uintptr, pNode uintptr) { /* sqlite3.c:196430:13: */ +func nodeHashInsert(tls *libc.TLS, pRtree uintptr, pNode uintptr) { /* sqlite3.c:196487:13: */ var iHash int32 iHash = int32(nodeHash(tls, (*RtreeNode)(unsafe.Pointer(pNode)).FiNode)) @@ -157015,7 +157046,7 @@ func nodeHashInsert(tls *libc.TLS, pRtree uintptr, pNode uintptr) { /* sqlite3.c } // Remove node pNode from the node hash table. -func nodeHashDelete(tls *libc.TLS, pRtree uintptr, pNode uintptr) { /* sqlite3.c:196441:13: */ +func nodeHashDelete(tls *libc.TLS, pRtree uintptr, pNode uintptr) { /* sqlite3.c:196498:13: */ var pp uintptr if (*RtreeNode)(unsafe.Pointer(pNode)).FiNode != int64(0) { pp = pRtree + 192 + uintptr(nodeHash(tls, (*RtreeNode)(unsafe.Pointer(pNode)).FiNode))*8 @@ -157030,7 +157061,7 @@ func nodeHashDelete(tls *libc.TLS, pRtree uintptr, pNode uintptr) { /* sqlite3.c // indicating that node has not yet been assigned a node number. It is // assigned a node number when nodeWrite() is called to write the // node contents out to the database. -func nodeNew(tls *libc.TLS, pRtree uintptr, pParent uintptr) uintptr { /* sqlite3.c:196457:18: */ +func nodeNew(tls *libc.TLS, pRtree uintptr, pParent uintptr) uintptr { /* sqlite3.c:196514:18: */ var pNode uintptr pNode = Xsqlite3_malloc64(tls, uint64(uint64(unsafe.Sizeof(RtreeNode{}))+uint64((*Rtree)(unsafe.Pointer(pRtree)).FiNodeSize))) if pNode != 0 { @@ -157046,7 +157077,7 @@ func nodeNew(tls *libc.TLS, pRtree uintptr, pParent uintptr) uintptr { /* sqlite } // Clear the Rtree.pNodeBlob object -func nodeBlobReset(tls *libc.TLS, pRtree uintptr) { /* sqlite3.c:196475:13: */ +func nodeBlobReset(tls *libc.TLS, pRtree uintptr) { /* sqlite3.c:196532:13: */ if (*Rtree)(unsafe.Pointer(pRtree)).FpNodeBlob != 0 && int32((*Rtree)(unsafe.Pointer(pRtree)).FinWrTrans) == 0 && (*Rtree)(unsafe.Pointer(pRtree)).FnCursor == U32(0) { var pBlob uintptr = (*Rtree)(unsafe.Pointer(pRtree)).FpNodeBlob (*Rtree)(unsafe.Pointer(pRtree)).FpNodeBlob = uintptr(0) @@ -157055,7 +157086,7 @@ func nodeBlobReset(tls *libc.TLS, pRtree uintptr) { /* sqlite3.c:196475:13: */ } // Obtain a reference to an r-tree node. -func nodeAcquire(tls *libc.TLS, pRtree uintptr, iNode I64, pParent uintptr, ppNode uintptr) int32 { /* sqlite3.c:196486:12: */ +func nodeAcquire(tls *libc.TLS, pRtree uintptr, iNode I64, pParent uintptr, ppNode uintptr) int32 { /* sqlite3.c:196543:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -157165,7 +157196,7 @@ func nodeAcquire(tls *libc.TLS, pRtree uintptr, iNode I64, pParent uintptr, ppNo } // Overwrite cell iCell of node pNode with the contents of pCell. -func nodeOverwriteCell(tls *libc.TLS, pRtree uintptr, pNode uintptr, pCell uintptr, iCell int32) { /* sqlite3.c:196599:13: */ +func nodeOverwriteCell(tls *libc.TLS, pRtree uintptr, pNode uintptr, pCell uintptr, iCell int32) { /* sqlite3.c:196656:13: */ var ii int32 var p uintptr = (*RtreeNode)(unsafe.Pointer(pNode)).FzData + uintptr(4+int32((*Rtree)(unsafe.Pointer(pRtree)).FnBytesPerCell)*iCell) p += uintptr(writeInt64(tls, p, (*RtreeCell)(unsafe.Pointer(pCell)).FiRowid)) @@ -157176,7 +157207,7 @@ func nodeOverwriteCell(tls *libc.TLS, pRtree uintptr, pNode uintptr, pCell uintp } // Remove the cell with index iCell from node pNode. -func nodeDeleteCell(tls *libc.TLS, pRtree uintptr, pNode uintptr, iCell int32) { /* sqlite3.c:196617:13: */ +func nodeDeleteCell(tls *libc.TLS, pRtree uintptr, pNode uintptr, iCell int32) { /* sqlite3.c:196674:13: */ var pDst uintptr = (*RtreeNode)(unsafe.Pointer(pNode)).FzData + uintptr(4+int32((*Rtree)(unsafe.Pointer(pRtree)).FnBytesPerCell)*iCell) var pSrc uintptr = pDst + uintptr((*Rtree)(unsafe.Pointer(pRtree)).FnBytesPerCell) var nByte int32 = (readInt16(tls, (*RtreeNode)(unsafe.Pointer(pNode)).FzData+2) - iCell - 1) * int32((*Rtree)(unsafe.Pointer(pRtree)).FnBytesPerCell) @@ -157189,7 +157220,7 @@ func nodeDeleteCell(tls *libc.TLS, pRtree uintptr, pNode uintptr, iCell int32) { // is successful, return SQLITE_OK. // // If there is not enough free space in pNode, return SQLITE_FULL. -func nodeInsertCell(tls *libc.TLS, pRtree uintptr, pNode uintptr, pCell uintptr) int32 { /* sqlite3.c:196632:12: */ +func nodeInsertCell(tls *libc.TLS, pRtree uintptr, pNode uintptr, pCell uintptr) int32 { /* sqlite3.c:196689:12: */ var nCell int32 // Current number of cells in pNode var nMaxCell int32 // Maximum number of cells for pNode @@ -157206,7 +157237,7 @@ func nodeInsertCell(tls *libc.TLS, pRtree uintptr, pNode uintptr, pCell uintptr) } // If the node is dirty, write it out to the database. -func nodeWrite(tls *libc.TLS, pRtree uintptr, pNode uintptr) int32 { /* sqlite3.c:196656:12: */ +func nodeWrite(tls *libc.TLS, pRtree uintptr, pNode uintptr) int32 { /* sqlite3.c:196713:12: */ var rc int32 = SQLITE_OK if (*RtreeNode)(unsafe.Pointer(pNode)).FisDirty != 0 { var p uintptr = (*Rtree)(unsafe.Pointer(pRtree)).FpWriteNode @@ -157230,7 +157261,7 @@ func nodeWrite(tls *libc.TLS, pRtree uintptr, pNode uintptr) int32 { /* sqlite3. // Release a reference to a node. If the node is dirty and the reference // count drops to zero, the node data is written to the database. -func nodeRelease(tls *libc.TLS, pRtree uintptr, pNode uintptr) int32 { /* sqlite3.c:196682:12: */ +func nodeRelease(tls *libc.TLS, pRtree uintptr, pNode uintptr) int32 { /* sqlite3.c:196739:12: */ var rc int32 = SQLITE_OK if pNode != 0 { @@ -157256,19 +157287,19 @@ func nodeRelease(tls *libc.TLS, pRtree uintptr, pNode uintptr) int32 { /* sqlite // Return the 64-bit integer value associated with cell iCell of // node pNode. If pNode is a leaf node, this is a rowid. If it is // an internal node, then the 64-bit integer is a child page number. -func nodeGetRowid(tls *libc.TLS, pRtree uintptr, pNode uintptr, iCell int32) I64 { /* sqlite3.c:196711:12: */ +func nodeGetRowid(tls *libc.TLS, pRtree uintptr, pNode uintptr, iCell int32) I64 { /* sqlite3.c:196768:12: */ return readInt64(tls, (*RtreeNode)(unsafe.Pointer(pNode)).FzData+uintptr(4+int32((*Rtree)(unsafe.Pointer(pRtree)).FnBytesPerCell)*iCell)) } // Return coordinate iCoord from cell iCell in node pNode. -func nodeGetCoord(tls *libc.TLS, pRtree uintptr, pNode uintptr, iCell int32, iCoord int32, pCoord uintptr) { /* sqlite3.c:196723:13: */ +func nodeGetCoord(tls *libc.TLS, pRtree uintptr, pNode uintptr, iCell int32, iCoord int32, pCoord uintptr) { /* sqlite3.c:196780:13: */ readCoord(tls, (*RtreeNode)(unsafe.Pointer(pNode)).FzData+uintptr(12+int32((*Rtree)(unsafe.Pointer(pRtree)).FnBytesPerCell)*iCell+4*iCoord), pCoord) } // Deserialize cell iCell of node pNode. Populate the structure pointed // to by pCell with the results. -func nodeGetCell(tls *libc.TLS, pRtree uintptr, pNode uintptr, iCell int32, pCell uintptr) { /* sqlite3.c:196737:13: */ +func nodeGetCell(tls *libc.TLS, pRtree uintptr, pNode uintptr, iCell int32, pCell uintptr) { /* sqlite3.c:196794:13: */ var pData uintptr var pCoord uintptr var ii int32 = 0 @@ -157284,23 +157315,23 @@ func nodeGetCell(tls *libc.TLS, pRtree uintptr, pNode uintptr, iCell int32, pCel } // Rtree virtual table module xCreate method. -func rtreeCreate(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 { /* sqlite3.c:196768:12: */ +func rtreeCreate(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 { /* sqlite3.c:196825:12: */ return rtreeInit(tls, db, pAux, argc, argv, ppVtab, pzErr, 1) } // Rtree virtual table module xConnect method. -func rtreeConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 { /* sqlite3.c:196781:12: */ +func rtreeConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 { /* sqlite3.c:196838:12: */ return rtreeInit(tls, db, pAux, argc, argv, ppVtab, pzErr, 0) } // Increment the r-tree reference count. -func rtreeReference(tls *libc.TLS, pRtree uintptr) { /* sqlite3.c:196794:13: */ +func rtreeReference(tls *libc.TLS, pRtree uintptr) { /* sqlite3.c:196851:13: */ (*Rtree)(unsafe.Pointer(pRtree)).FnBusy++ } // Decrement the r-tree reference count. When the reference count reaches // zero the structure is deleted. -func rtreeRelease(tls *libc.TLS, pRtree uintptr) { /* sqlite3.c:196802:13: */ +func rtreeRelease(tls *libc.TLS, pRtree uintptr) { /* sqlite3.c:196859:13: */ (*Rtree)(unsafe.Pointer(pRtree)).FnBusy-- if (*Rtree)(unsafe.Pointer(pRtree)).FnBusy == U32(0) { (*Rtree)(unsafe.Pointer(pRtree)).FinWrTrans = U8(0) @@ -157322,13 +157353,13 @@ func rtreeRelease(tls *libc.TLS, pRtree uintptr) { /* sqlite3.c:196802:13: */ } // Rtree virtual table module xDisconnect method. -func rtreeDisconnect(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:196826:12: */ +func rtreeDisconnect(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:196883:12: */ rtreeRelease(tls, pVtab) return SQLITE_OK } // Rtree virtual table module xDestroy method. -func rtreeDestroy(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:196834:12: */ +func rtreeDestroy(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:196891:12: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -157355,7 +157386,7 @@ func rtreeDestroy(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:196834:12: } // Rtree virtual table module xOpen method. -func rtreeOpen(tls *libc.TLS, pVTab uintptr, ppCursor uintptr) int32 { /* sqlite3.c:196862:12: */ +func rtreeOpen(tls *libc.TLS, pVTab uintptr, ppCursor uintptr) int32 { /* sqlite3.c:196919:12: */ var rc int32 = SQLITE_NOMEM var pRtree uintptr = pVTab var pCsr uintptr @@ -157373,7 +157404,7 @@ func rtreeOpen(tls *libc.TLS, pVTab uintptr, ppCursor uintptr) int32 { /* sqlite } // Reset a cursor back to its initial state. -func resetCursor(tls *libc.TLS, pCsr uintptr) { /* sqlite3.c:196883:13: */ +func resetCursor(tls *libc.TLS, pCsr uintptr) { /* sqlite3.c:196940:13: */ var pRtree uintptr = (*RtreeCursor)(unsafe.Pointer(pCsr)).Fbase.FpVtab var ii int32 var pStmt uintptr @@ -157403,7 +157434,7 @@ func resetCursor(tls *libc.TLS, pCsr uintptr) { /* sqlite3.c:196883:13: */ } // Rtree virtual table module xClose method. -func rtreeClose(tls *libc.TLS, cur uintptr) int32 { /* sqlite3.c:196911:12: */ +func rtreeClose(tls *libc.TLS, cur uintptr) int32 { /* sqlite3.c:196968:12: */ var pRtree uintptr = (*Sqlite3_vtab_cursor)(unsafe.Pointer(cur)).FpVtab var pCsr uintptr = cur @@ -157419,7 +157450,7 @@ func rtreeClose(tls *libc.TLS, cur uintptr) int32 { /* sqlite3.c:196911:12: */ // // Return non-zero if the cursor does not currently point to a valid // record (i.e if the scan has finished), or zero otherwise. -func rtreeEof(tls *libc.TLS, cur uintptr) int32 { /* sqlite3.c:196929:12: */ +func rtreeEof(tls *libc.TLS, cur uintptr) int32 { /* sqlite3.c:196986:12: */ var pCsr uintptr = cur return int32((*RtreeCursor)(unsafe.Pointer(pCsr)).FatEOF) } @@ -157436,7 +157467,7 @@ func rtreeEof(tls *libc.TLS, cur uintptr) int32 { /* sqlite3.c:196929:12: */ // Check the RTree node or entry given by pCellData and p against the MATCH // constraint pConstraint. -func rtreeCallbackConstraint(tls *libc.TLS, pConstraint uintptr, eInt int32, pCellData uintptr, pSearch uintptr, prScore uintptr, peWithin uintptr) int32 { /* sqlite3.c:196984:12: */ +func rtreeCallbackConstraint(tls *libc.TLS, pConstraint uintptr, eInt int32, pCellData uintptr, pSearch uintptr, prScore uintptr, peWithin uintptr) int32 { /* sqlite3.c:197041:12: */ bp := tls.Alloc(92) defer tls.Free(92) @@ -157548,7 +157579,7 @@ func rtreeCallbackConstraint(tls *libc.TLS, pConstraint uintptr, eInt int32, pCe // Check the internal RTree node given by pCellData against constraint p. // If this constraint cannot be satisfied by any child within the node, // set *peWithin to NOT_WITHIN. -func rtreeNonleafConstraint(tls *libc.TLS, p uintptr, eInt int32, pCellData uintptr, peWithin uintptr) { /* sqlite3.c:197060:13: */ +func rtreeNonleafConstraint(tls *libc.TLS, p uintptr, eInt int32, pCellData uintptr, peWithin uintptr) { /* sqlite3.c:197117:13: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -157646,7 +157677,7 @@ func rtreeNonleafConstraint(tls *libc.TLS, p uintptr, eInt int32, pCellData uint // // The op is given by p->op. The xN is p->iCoord-th coordinate in // pCellData. $val is given by p->u.rValue. -func rtreeLeafConstraint(tls *libc.TLS, p uintptr, eInt int32, pCellData uintptr, peWithin uintptr) { /* sqlite3.c:197117:13: */ +func rtreeLeafConstraint(tls *libc.TLS, p uintptr, eInt int32, pCellData uintptr, peWithin uintptr) { /* sqlite3.c:197174:13: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -157701,7 +157732,7 @@ func rtreeLeafConstraint(tls *libc.TLS, p uintptr, eInt int32, pCellData uintptr // One of the cells in node pNode is guaranteed to have a 64-bit // integer value equal to iRowid. Return the index of this cell. -func nodeRowidIndex(tls *libc.TLS, pRtree uintptr, pNode uintptr, iRowid I64, piIndex uintptr) int32 { /* sqlite3.c:197147:12: */ +func nodeRowidIndex(tls *libc.TLS, pRtree uintptr, pNode uintptr, iRowid I64, piIndex uintptr) int32 { /* sqlite3.c:197204:12: */ var ii int32 var nCell int32 = readInt16(tls, (*RtreeNode)(unsafe.Pointer(pNode)).FzData+2) @@ -157717,7 +157748,7 @@ func nodeRowidIndex(tls *libc.TLS, pRtree uintptr, pNode uintptr, iRowid I64, pi // Return the index of the cell containing a pointer to node pNode // in its parent. If pNode is the root node, return -1. -func nodeParentIndex(tls *libc.TLS, pRtree uintptr, pNode uintptr, piIndex uintptr) int32 { /* sqlite3.c:197170:12: */ +func nodeParentIndex(tls *libc.TLS, pRtree uintptr, pNode uintptr, piIndex uintptr) int32 { /* sqlite3.c:197227:12: */ var pParent uintptr = (*RtreeNode)(unsafe.Pointer(pNode)).FpParent if pParent != 0 { return nodeRowidIndex(tls, pRtree, pParent, (*RtreeNode)(unsafe.Pointer(pNode)).FiNode, piIndex) @@ -157736,7 +157767,7 @@ func nodeParentIndex(tls *libc.TLS, pRtree uintptr, pNode uintptr, piIndex uintp // iLevel values coming first. In this way, if rScore is the same for all // SearchPoints, then iLevel becomes the deciding factor and the result // is a depth-first search, which is the desired default behavior. -func rtreeSearchPointCompare(tls *libc.TLS, pA uintptr, pB uintptr) int32 { /* sqlite3.c:197190:12: */ +func rtreeSearchPointCompare(tls *libc.TLS, pA uintptr, pB uintptr) int32 { /* sqlite3.c:197247:12: */ if (*RtreeSearchPoint)(unsafe.Pointer(pA)).FrScore < (*RtreeSearchPoint)(unsafe.Pointer(pB)).FrScore { return -1 } @@ -157753,7 +157784,7 @@ func rtreeSearchPointCompare(tls *libc.TLS, pA uintptr, pB uintptr) int32 { /* s } // Interchange two search points in a cursor. -func rtreeSearchPointSwap(tls *libc.TLS, p uintptr, i int32, j int32) { /* sqlite3.c:197204:13: */ +func rtreeSearchPointSwap(tls *libc.TLS, p uintptr, i int32, j int32) { /* sqlite3.c:197261:13: */ var t = *(*RtreeSearchPoint)(unsafe.Pointer((*RtreeCursor)(unsafe.Pointer(p)).FaPoint + uintptr(i)*24)) *(*RtreeSearchPoint)(unsafe.Pointer((*RtreeCursor)(unsafe.Pointer(p)).FaPoint + uintptr(i)*24)) = *(*RtreeSearchPoint)(unsafe.Pointer((*RtreeCursor)(unsafe.Pointer(p)).FaPoint + uintptr(j)*24)) @@ -157773,7 +157804,7 @@ func rtreeSearchPointSwap(tls *libc.TLS, p uintptr, i int32, j int32) { /* sqlit } // Return the search point with the lowest current score. -func rtreeSearchPointFirst(tls *libc.TLS, pCur uintptr) uintptr { /* sqlite3.c:197225:25: */ +func rtreeSearchPointFirst(tls *libc.TLS, pCur uintptr) uintptr { /* sqlite3.c:197282:25: */ if (*RtreeCursor)(unsafe.Pointer(pCur)).FbPoint != 0 { return pCur + 64 } @@ -157784,7 +157815,7 @@ func rtreeSearchPointFirst(tls *libc.TLS, pCur uintptr) uintptr { /* sqlite3.c:1 } // Get the RtreeNode for the search point with the lowest score. -func rtreeNodeOfFirstSearchPoint(tls *libc.TLS, pCur uintptr, pRC uintptr) uintptr { /* sqlite3.c:197232:18: */ +func rtreeNodeOfFirstSearchPoint(tls *libc.TLS, pCur uintptr, pRC uintptr) uintptr { /* sqlite3.c:197289:18: */ var id Sqlite3_int64 var ii int32 = 1 - int32((*RtreeCursor)(unsafe.Pointer(pCur)).FbPoint) @@ -157801,7 +157832,7 @@ func rtreeNodeOfFirstSearchPoint(tls *libc.TLS, pCur uintptr, pRC uintptr) uintp } // Push a new element onto the priority queue -func rtreeEnqueue(tls *libc.TLS, pCur uintptr, rScore RtreeDValue, iLevel U8) uintptr { /* sqlite3.c:197248:25: */ +func rtreeEnqueue(tls *libc.TLS, pCur uintptr, rScore RtreeDValue, iLevel U8) uintptr { /* sqlite3.c:197305:25: */ var i int32 var j int32 var pNew uintptr @@ -157835,7 +157866,7 @@ func rtreeEnqueue(tls *libc.TLS, pCur uintptr, rScore RtreeDValue, iLevel U8) ui // Allocate a new RtreeSearchPoint and return a pointer to it. Return // NULL if malloc fails. -func rtreeSearchPointNew(tls *libc.TLS, pCur uintptr, rScore RtreeDValue, iLevel U8) uintptr { /* sqlite3.c:197283:25: */ +func rtreeSearchPointNew(tls *libc.TLS, pCur uintptr, rScore RtreeDValue, iLevel U8) uintptr { /* sqlite3.c:197340:25: */ var pNew uintptr var pFirst uintptr pFirst = rtreeSearchPointFirst(tls, pCur) @@ -157871,7 +157902,7 @@ func rtreeSearchPointNew(tls *libc.TLS, pCur uintptr, rScore RtreeDValue, iLevel } // Remove the search point with the lowest current score. -func rtreeSearchPointPop(tls *libc.TLS, p uintptr) { /* sqlite3.c:197351:13: */ +func rtreeSearchPointPop(tls *libc.TLS, p uintptr) { /* sqlite3.c:197408:13: */ var i int32 var j int32 var k int32 @@ -157919,7 +157950,7 @@ func rtreeSearchPointPop(tls *libc.TLS, p uintptr) { /* sqlite3.c:197351:13: */ // contains an entry suitable for returning as a result-set row, // or until the RtreeSearchPoint queue is empty, indicating that the // query has completed. -func rtreeStepToLeaf(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:197399:12: */ +func rtreeStepToLeaf(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:197456:12: */ bp := tls.Alloc(20) defer tls.Free(20) @@ -158012,7 +158043,7 @@ func rtreeStepToLeaf(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:197399:12 } // Rtree virtual table module xNext method. -func rtreeNext(tls *libc.TLS, pVtabCursor uintptr) int32 { /* sqlite3.c:197480:12: */ +func rtreeNext(tls *libc.TLS, pVtabCursor uintptr) int32 { /* sqlite3.c:197537:12: */ var pCsr uintptr = pVtabCursor var rc int32 = SQLITE_OK @@ -158028,7 +158059,7 @@ func rtreeNext(tls *libc.TLS, pVtabCursor uintptr) int32 { /* sqlite3.c:197480:1 } // Rtree virtual table module xRowid method. -func rtreeRowid(tls *libc.TLS, pVtabCursor uintptr, pRowid uintptr) int32 { /* sqlite3.c:197498:12: */ +func rtreeRowid(tls *libc.TLS, pVtabCursor uintptr, pRowid uintptr) int32 { /* sqlite3.c:197555:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -158043,7 +158074,7 @@ func rtreeRowid(tls *libc.TLS, pVtabCursor uintptr, pRowid uintptr) int32 { /* s } // Rtree virtual table module xColumn method. -func rtreeColumn(tls *libc.TLS, cur uintptr, ctx uintptr, i int32) int32 { /* sqlite3.c:197512:12: */ +func rtreeColumn(tls *libc.TLS, cur uintptr, ctx uintptr, i int32) int32 { /* sqlite3.c:197569:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -158104,7 +158135,7 @@ func rtreeColumn(tls *libc.TLS, cur uintptr, ctx uintptr, i int32) int32 { /* sq // return SQLITE_OK. If there is no such record in the table, set // *ppLeaf to 0 and return SQLITE_OK. If an error occurs, set *ppLeaf // to zero and return an SQLite error code. -func findLeafNode(tls *libc.TLS, pRtree uintptr, iRowid I64, ppLeaf uintptr, piNode uintptr) int32 { /* sqlite3.c:197566:12: */ +func findLeafNode(tls *libc.TLS, pRtree uintptr, iRowid I64, ppLeaf uintptr, piNode uintptr) int32 { /* sqlite3.c:197623:12: */ var rc int32 *(*uintptr)(unsafe.Pointer(ppLeaf)) = uintptr(0) Xsqlite3_bind_int64(tls, (*Rtree)(unsafe.Pointer(pRtree)).FpReadRowid, 1, iRowid) @@ -158125,7 +158156,7 @@ func findLeafNode(tls *libc.TLS, pRtree uintptr, iRowid I64, ppLeaf uintptr, piN // as the second argument for a MATCH constraint. The value passed as the // first argument to this function is the right-hand operand to the MATCH // operator. -func deserializeGeometry(tls *libc.TLS, pValue uintptr, pCons uintptr) int32 { /* sqlite3.c:197592:12: */ +func deserializeGeometry(tls *libc.TLS, pValue uintptr, pCons uintptr) int32 { /* sqlite3.c:197649:12: */ var pBlob uintptr var pSrc uintptr // BLOB returned by geometry function var pInfo uintptr // Callback information @@ -158157,7 +158188,7 @@ func deserializeGeometry(tls *libc.TLS, pValue uintptr, pCons uintptr) int32 { / } // Rtree virtual table module xFilter method. -func rtreeFilter(tls *libc.TLS, pVtabCursor uintptr, idxNum int32, idxStr uintptr, argc int32, argv uintptr) int32 { /* sqlite3.c:197622:12: */ +func rtreeFilter(tls *libc.TLS, pVtabCursor uintptr, idxNum int32, idxStr uintptr, argc int32, argv uintptr) int32 { /* sqlite3.c:197679:12: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -158300,7 +158331,7 @@ func rtreeFilter(tls *libc.TLS, pVtabCursor uintptr, idxNum int32, idxStr uintpt // The second of each pair of bytes identifies the coordinate column // to which the constraint applies. The leftmost coordinate column // is 'a', the second from the left 'b' etc. -func rtreeBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 { /* sqlite3.c:197775:12: */ +func rtreeBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 { /* sqlite3.c:197832:12: */ bp := tls.Alloc(49) defer tls.Free(49) @@ -158407,7 +158438,7 @@ func rtreeBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 { /* sql } // Return the N-dimensional volumn of the cell stored in *p. -func cellArea(tls *libc.TLS, pRtree uintptr, p uintptr) RtreeDValue { /* sqlite3.c:197864:20: */ +func cellArea(tls *libc.TLS, pRtree uintptr, p uintptr) RtreeDValue { /* sqlite3.c:197921:20: */ var area RtreeDValue = RtreeDValue(1) if int32((*Rtree)(unsafe.Pointer(pRtree)).FeCoordType) == RTREE_COORD_REAL32 { @@ -158450,7 +158481,7 @@ func cellArea(tls *libc.TLS, pRtree uintptr, p uintptr) RtreeDValue { /* sqlite3 // Return the margin length of cell p. The margin length is the sum // of the objects size in each dimension. -func cellMargin(tls *libc.TLS, pRtree uintptr, p uintptr) RtreeDValue { /* sqlite3.c:197894:20: */ +func cellMargin(tls *libc.TLS, pRtree uintptr, p uintptr) RtreeDValue { /* sqlite3.c:197951:20: */ var margin RtreeDValue = RtreeDValue(0) var ii int32 = int32((*Rtree)(unsafe.Pointer(pRtree)).FnDim2) - 2 for __ccgo := true; __ccgo; __ccgo = ii >= 0 { @@ -158471,7 +158502,7 @@ func cellMargin(tls *libc.TLS, pRtree uintptr, p uintptr) RtreeDValue { /* sqlit } // Store the union of cells p1 and p2 in p1. -func cellUnion(tls *libc.TLS, pRtree uintptr, p1 uintptr, p2 uintptr) { /* sqlite3.c:197907:13: */ +func cellUnion(tls *libc.TLS, pRtree uintptr, p1 uintptr, p2 uintptr) { /* sqlite3.c:197964:13: */ var ii int32 = 0 if int32((*Rtree)(unsafe.Pointer(pRtree)).FeCoordType) == RTREE_COORD_REAL32 { for __ccgo := true; __ccgo; __ccgo = ii < int32((*Rtree)(unsafe.Pointer(pRtree)).FnDim2) { @@ -158510,7 +158541,7 @@ func cellUnion(tls *libc.TLS, pRtree uintptr, p1 uintptr, p2 uintptr) { /* sqlit // Return true if the area covered by p2 is a subset of the area covered // by p1. False otherwise. -func cellContains(tls *libc.TLS, pRtree uintptr, p1 uintptr, p2 uintptr) int32 { /* sqlite3.c:197928:12: */ +func cellContains(tls *libc.TLS, pRtree uintptr, p1 uintptr, p2 uintptr) int32 { /* sqlite3.c:197985:12: */ var ii int32 var isInt int32 = libc.Bool32(int32((*Rtree)(unsafe.Pointer(pRtree)).FeCoordType) == RTREE_COORD_INT32) for ii = 0; ii < int32((*Rtree)(unsafe.Pointer(pRtree)).FnDim2); ii = ii + 2 { @@ -158525,7 +158556,7 @@ func cellContains(tls *libc.TLS, pRtree uintptr, p1 uintptr, p2 uintptr) int32 { } // Return the amount cell p would grow by if it were unioned with pCell. -func cellGrowth(tls *libc.TLS, pRtree uintptr, p uintptr, pCell uintptr) RtreeDValue { /* sqlite3.c:197946:20: */ +func cellGrowth(tls *libc.TLS, pRtree uintptr, p uintptr, pCell uintptr) RtreeDValue { /* sqlite3.c:198003:20: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -158538,7 +158569,7 @@ func cellGrowth(tls *libc.TLS, pRtree uintptr, p uintptr, pCell uintptr) RtreeDV return cellArea(tls, pRtree, bp) - area } -func cellOverlap(tls *libc.TLS, pRtree uintptr, p uintptr, aCell uintptr, nCell int32) RtreeDValue { /* sqlite3.c:197955:20: */ +func cellOverlap(tls *libc.TLS, pRtree uintptr, p uintptr, aCell uintptr, nCell int32) RtreeDValue { /* sqlite3.c:198012:20: */ var ii int32 var overlap RtreeDValue = 0.0 for ii = 0; ii < nCell; ii++ { @@ -158613,7 +158644,7 @@ func cellOverlap(tls *libc.TLS, pRtree uintptr, p uintptr, aCell uintptr, nCell // This function implements the ChooseLeaf algorithm from Gutman[84]. // ChooseSubTree in r*tree terminology. -func sChooseLeaf(tls *libc.TLS, pRtree uintptr, pCell uintptr, iHeight int32, ppLeaf uintptr) int32 { /* sqlite3.c:197987:12: */ +func sChooseLeaf(tls *libc.TLS, pRtree uintptr, pCell uintptr, iHeight int32, ppLeaf uintptr) int32 { /* sqlite3.c:198044:12: */ bp := tls.Alloc(64) defer tls.Free(64) @@ -158669,7 +158700,7 @@ func sChooseLeaf(tls *libc.TLS, pRtree uintptr, pCell uintptr, iHeight int32, pp // A cell with the same content as pCell has just been inserted into // the node pNode. This function updates the bounding box cells in // all ancestor elements. -func sAdjustTree(tls *libc.TLS, pRtree uintptr, pNode uintptr, pCell uintptr) int32 { /* sqlite3.c:198047:12: */ +func sAdjustTree(tls *libc.TLS, pRtree uintptr, pNode uintptr, pCell uintptr) int32 { /* sqlite3.c:198104:12: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -158705,7 +158736,7 @@ func sAdjustTree(tls *libc.TLS, pRtree uintptr, pNode uintptr, pCell uintptr) in } // Write mapping (iRowid->iNode) to the _rowid table. -func rowidWrite(tls *libc.TLS, pRtree uintptr, iRowid Sqlite3_int64, iNode Sqlite3_int64) int32 { /* sqlite3.c:198085:12: */ +func rowidWrite(tls *libc.TLS, pRtree uintptr, iRowid Sqlite3_int64, iNode Sqlite3_int64) int32 { /* sqlite3.c:198142:12: */ Xsqlite3_bind_int64(tls, (*Rtree)(unsafe.Pointer(pRtree)).FpWriteRowid, 1, iRowid) Xsqlite3_bind_int64(tls, (*Rtree)(unsafe.Pointer(pRtree)).FpWriteRowid, 2, iNode) Xsqlite3_step(tls, (*Rtree)(unsafe.Pointer(pRtree)).FpWriteRowid) @@ -158713,7 +158744,7 @@ func rowidWrite(tls *libc.TLS, pRtree uintptr, iRowid Sqlite3_int64, iNode Sqlit } // Write mapping (iNode->iPar) to the _parent table. -func parentWrite(tls *libc.TLS, pRtree uintptr, iNode Sqlite3_int64, iPar Sqlite3_int64) int32 { /* sqlite3.c:198095:12: */ +func parentWrite(tls *libc.TLS, pRtree uintptr, iNode Sqlite3_int64, iPar Sqlite3_int64) int32 { /* sqlite3.c:198152:12: */ Xsqlite3_bind_int64(tls, (*Rtree)(unsafe.Pointer(pRtree)).FpWriteParent, 1, iNode) Xsqlite3_bind_int64(tls, (*Rtree)(unsafe.Pointer(pRtree)).FpWriteParent, 2, iPar) Xsqlite3_step(tls, (*Rtree)(unsafe.Pointer(pRtree)).FpWriteParent) @@ -158735,7 +158766,7 @@ func parentWrite(tls *libc.TLS, pRtree uintptr, iNode Sqlite3_int64, iPar Sqlite // // The aSpare array is used as temporary working space by the // sorting algorithm. -func sSortByDistance(tls *libc.TLS, aIdx uintptr, nIdx int32, aDistance uintptr, aSpare uintptr) { /* sqlite3.c:198122:13: */ +func sSortByDistance(tls *libc.TLS, aIdx uintptr, nIdx int32, aDistance uintptr, aSpare uintptr) { /* sqlite3.c:198179:13: */ if nIdx > 1 { var iLeft int32 = 0 var iRight int32 = 0 @@ -158783,7 +158814,7 @@ func sSortByDistance(tls *libc.TLS, aIdx uintptr, nIdx int32, aDistance uintptr, // // The aSpare array is used as temporary working space by the // sorting algorithm. -func sSortByDimension(tls *libc.TLS, pRtree uintptr, aIdx uintptr, nIdx int32, iDim int32, aCell uintptr, aSpare uintptr) { /* sqlite3.c:198188:13: */ +func sSortByDimension(tls *libc.TLS, pRtree uintptr, aIdx uintptr, nIdx int32, iDim int32, aCell uintptr, aSpare uintptr) { /* sqlite3.c:198245:13: */ if nIdx > 1 { var iLeft int32 = 0 @@ -158839,7 +158870,7 @@ func sSortByDimension(tls *libc.TLS, pRtree uintptr, aIdx uintptr, nIdx int32, i } // Implementation of the R*-tree variant of SplitNode from Beckman[1990]. -func splitNodeStartree(tls *libc.TLS, pRtree uintptr, aCell uintptr, nCell int32, pLeft uintptr, pRight uintptr, pBboxLeft uintptr, pBboxRight uintptr) int32 { /* sqlite3.c:198247:12: */ +func splitNodeStartree(tls *libc.TLS, pRtree uintptr, aCell uintptr, nCell int32, pLeft uintptr, pRight uintptr, pBboxLeft uintptr, pBboxRight uintptr) int32 { /* sqlite3.c:198304:12: */ bp := tls.Alloc(96) defer tls.Free(96) @@ -158938,7 +158969,7 @@ func splitNodeStartree(tls *libc.TLS, pRtree uintptr, aCell uintptr, nCell int32 return SQLITE_OK } -func updateMapping(tls *libc.TLS, pRtree uintptr, iRowid I64, pNode uintptr, iHeight int32) int32 { /* sqlite3.c:198345:12: */ +func updateMapping(tls *libc.TLS, pRtree uintptr, iRowid I64, pNode uintptr, iHeight int32) int32 { /* sqlite3.c:198402:12: */ var xSetMapping uintptr xSetMapping = func() uintptr { if iHeight == 0 { @@ -158972,7 +159003,7 @@ func updateMapping(tls *libc.TLS, pRtree uintptr, iRowid I64, pNode uintptr, iHe })(unsafe.Pointer(&struct{ uintptr }{xSetMapping})).f(tls, pRtree, iRowid, (*RtreeNode)(unsafe.Pointer(pNode)).FiNode) } -func sSplitNode(tls *libc.TLS, pRtree uintptr, pNode uintptr, pCell uintptr, iHeight int32) int32 { /* sqlite3.c:198369:12: */ +func sSplitNode(tls *libc.TLS, pRtree uintptr, pNode uintptr, pCell uintptr, iHeight int32) int32 { /* sqlite3.c:198426:12: */ bp := tls.Alloc(100) defer tls.Free(100) @@ -159207,7 +159238,7 @@ splitnode_out: // rowid of the row to delete, which can be used to find the leaf on which // the entry resides (argument pLeaf). Once the leaf is located, this // function is called to determine its ancestry. -func fixLeafParent(tls *libc.TLS, pRtree uintptr, pLeaf uintptr) int32 { /* sqlite3.c:198517:12: */ +func fixLeafParent(tls *libc.TLS, pRtree uintptr, pLeaf uintptr) int32 { /* sqlite3.c:198574:12: */ var rc int32 = SQLITE_OK var pChild uintptr = pLeaf for rc == SQLITE_OK && (*RtreeNode)(unsafe.Pointer(pChild)).FiNode != int64(1) && (*RtreeNode)(unsafe.Pointer(pChild)).FpParent == uintptr(0) { @@ -159242,7 +159273,7 @@ func fixLeafParent(tls *libc.TLS, pRtree uintptr, pLeaf uintptr) int32 { /* sqli return rc } -func removeNode(tls *libc.TLS, pRtree uintptr, pNode uintptr, iHeight int32) int32 { /* sqlite3.c:198552:12: */ +func removeNode(tls *libc.TLS, pRtree uintptr, pNode uintptr, iHeight int32) int32 { /* sqlite3.c:198609:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -159292,7 +159323,7 @@ func removeNode(tls *libc.TLS, pRtree uintptr, pNode uintptr, iHeight int32) int return SQLITE_OK } -func fixBoundingBox(tls *libc.TLS, pRtree uintptr, pNode uintptr) int32 { /* sqlite3.c:198602:12: */ +func fixBoundingBox(tls *libc.TLS, pRtree uintptr, pNode uintptr) int32 { /* sqlite3.c:198659:12: */ bp := tls.Alloc(100) defer tls.Free(100) @@ -159323,7 +159354,7 @@ func fixBoundingBox(tls *libc.TLS, pRtree uintptr, pNode uintptr) int32 { /* sql // Delete the cell at index iCell of node pNode. After removing the // cell, adjust the r-tree data structure if required. -func deleteCell(tls *libc.TLS, pRtree uintptr, pNode uintptr, iCell int32, iHeight int32) int32 { /* sqlite3.c:198629:12: */ +func deleteCell(tls *libc.TLS, pRtree uintptr, pNode uintptr, iCell int32, iHeight int32) int32 { /* sqlite3.c:198686:12: */ var pParent uintptr var rc int32 @@ -159352,7 +159383,7 @@ func deleteCell(tls *libc.TLS, pRtree uintptr, pNode uintptr, iCell int32, iHeig return rc } -func sReinsert(tls *libc.TLS, pRtree uintptr, pNode uintptr, pCell uintptr, iHeight int32) int32 { /* sqlite3.c:198660:12: */ +func sReinsert(tls *libc.TLS, pRtree uintptr, pNode uintptr, pCell uintptr, iHeight int32) int32 { /* sqlite3.c:198717:12: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -159467,7 +159498,7 @@ func sReinsert(tls *libc.TLS, pRtree uintptr, pNode uintptr, pCell uintptr, iHei // Insert cell pCell into node pNode. Node pNode is the head of a // subtree iHeight high (leaf nodes have iHeight==0). -func rtreeInsertCell(tls *libc.TLS, pRtree uintptr, pNode uintptr, pCell uintptr, iHeight int32) int32 { /* sqlite3.c:198765:12: */ +func rtreeInsertCell(tls *libc.TLS, pRtree uintptr, pNode uintptr, pCell uintptr, iHeight int32) int32 { /* sqlite3.c:198822:12: */ var rc int32 = SQLITE_OK if iHeight > 0 { var pChild uintptr = nodeHashLookup(tls, pRtree, (*RtreeCell)(unsafe.Pointer(pCell)).FiRowid) @@ -159497,7 +159528,7 @@ func rtreeInsertCell(tls *libc.TLS, pRtree uintptr, pNode uintptr, pCell uintptr return rc } -func reinsertNodeContent(tls *libc.TLS, pRtree uintptr, pNode uintptr) int32 { /* sqlite3.c:198800:12: */ +func reinsertNodeContent(tls *libc.TLS, pRtree uintptr, pNode uintptr) int32 { /* sqlite3.c:198857:12: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -159528,7 +159559,7 @@ func reinsertNodeContent(tls *libc.TLS, pRtree uintptr, pNode uintptr) int32 { / } // Select a currently unused rowid for a new r-tree record. -func rtreeNewRowid(tls *libc.TLS, pRtree uintptr, piRowid uintptr) int32 { /* sqlite3.c:198829:12: */ +func rtreeNewRowid(tls *libc.TLS, pRtree uintptr, piRowid uintptr) int32 { /* sqlite3.c:198886:12: */ var rc int32 Xsqlite3_bind_null(tls, (*Rtree)(unsafe.Pointer(pRtree)).FpWriteRowid, 1) Xsqlite3_bind_null(tls, (*Rtree)(unsafe.Pointer(pRtree)).FpWriteRowid, 2) @@ -159539,7 +159570,7 @@ func rtreeNewRowid(tls *libc.TLS, pRtree uintptr, piRowid uintptr) int32 { /* sq } // Remove the entry with rowid=iDelete from the r-tree structure. -func rtreeDeleteRowid(tls *libc.TLS, pRtree uintptr, iDelete Sqlite3_int64) int32 { /* sqlite3.c:198842:12: */ +func rtreeDeleteRowid(tls *libc.TLS, pRtree uintptr, iDelete Sqlite3_int64) int32 { /* sqlite3.c:198899:12: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -159628,7 +159659,7 @@ func rtreeDeleteRowid(tls *libc.TLS, pRtree uintptr, iDelete Sqlite3_int64) int3 // Convert an sqlite3_value into an RtreeValue (presumably a float) // while taking care to round toward negative or positive, respectively. -func rtreeValueDown(tls *libc.TLS, v uintptr) RtreeValue { /* sqlite3.c:198939:19: */ +func rtreeValueDown(tls *libc.TLS, v uintptr) RtreeValue { /* sqlite3.c:198996:19: */ var d float64 = Xsqlite3_value_double(tls, v) var f float32 = float32(d) if float64(f) > d { @@ -159642,7 +159673,7 @@ func rtreeValueDown(tls *libc.TLS, v uintptr) RtreeValue { /* sqlite3.c:198939:1 return f } -func rtreeValueUp(tls *libc.TLS, v uintptr) RtreeValue { /* sqlite3.c:198947:19: */ +func rtreeValueUp(tls *libc.TLS, v uintptr) RtreeValue { /* sqlite3.c:199004:19: */ var d float64 = Xsqlite3_value_double(tls, v) var f float32 = float32(d) if float64(f) < d { @@ -159667,7 +159698,7 @@ func rtreeValueUp(tls *libc.TLS, v uintptr) RtreeValue { /* sqlite3.c:198947:19: // (c1<=c2) constraint on columns iCol and iCol+1 that has failed. // // If an OOM occurs, SQLITE_NOMEM is returned instead of SQLITE_CONSTRAINT. -func rtreeConstraintError(tls *libc.TLS, pRtree uintptr, iCol int32) int32 { /* sqlite3.c:198970:12: */ +func rtreeConstraintError(tls *libc.TLS, pRtree uintptr, iCol int32) int32 { /* sqlite3.c:199027:12: */ bp := tls.Alloc(64) defer tls.Free(64) @@ -159706,7 +159737,7 @@ func rtreeConstraintError(tls *libc.TLS, pRtree uintptr, iCol int32) int32 { /* } // The xUpdate method for rtree module virtual tables. -func rtreeUpdate(tls *libc.TLS, pVtab uintptr, nData int32, aData uintptr, pRowid uintptr) int32 { /* sqlite3.c:199008:12: */ +func rtreeUpdate(tls *libc.TLS, pVtab uintptr, nData int32, aData uintptr, pRowid uintptr) int32 { /* sqlite3.c:199065:12: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -159935,7 +159966,7 @@ constraint: } // Called when a transaction starts. -func rtreeBeginTransaction(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:199156:12: */ +func rtreeBeginTransaction(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:199213:12: */ var pRtree uintptr = pVtab (*Rtree)(unsafe.Pointer(pRtree)).FinWrTrans++ @@ -159944,7 +159975,7 @@ func rtreeBeginTransaction(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:19 // Called when a transaction completes (either by COMMIT or ROLLBACK). // The sqlite3_blob object should be released at this point. -func rtreeEndTransaction(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:199167:12: */ +func rtreeEndTransaction(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:199224:12: */ var pRtree uintptr = pVtab (*Rtree)(unsafe.Pointer(pRtree)).FinWrTrans = U8(0) nodeBlobReset(tls, pRtree) @@ -159952,7 +159983,7 @@ func rtreeEndTransaction(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:1991 } // The xRename method for rtree module virtual tables. -func rtreeRename(tls *libc.TLS, pVtab uintptr, zNewName uintptr) int32 { /* sqlite3.c:199177:12: */ +func rtreeRename(tls *libc.TLS, pVtab uintptr, zNewName uintptr) int32 { /* sqlite3.c:199234:12: */ bp := tls.Alloc(72) defer tls.Free(72) @@ -159981,7 +160012,7 @@ func rtreeRename(tls *libc.TLS, pVtab uintptr, zNewName uintptr) int32 { /* sqli // INSERT INTO rtree... // DROP TABLE ; -- Would fail with SQLITE_LOCKED // COMMIT; -func rtreeSavepoint(tls *libc.TLS, pVtab uintptr, iSavepoint int32) int32 { /* sqlite3.c:199210:12: */ +func rtreeSavepoint(tls *libc.TLS, pVtab uintptr, iSavepoint int32) int32 { /* sqlite3.c:199267:12: */ var pRtree uintptr = pVtab var iwt U8 = (*Rtree)(unsafe.Pointer(pRtree)).FinWrTrans _ = iSavepoint @@ -159994,7 +160025,7 @@ func rtreeSavepoint(tls *libc.TLS, pVtab uintptr, iSavepoint int32) int32 { /* s // This function populates the pRtree->nRowEst variable with an estimate // of the number of rows in the virtual table. If possible, this is based // on sqlite_stat1 data. Otherwise, use RTREE_DEFAULT_ROWEST. -func rtreeQueryStat1(tls *libc.TLS, db uintptr, pRtree uintptr) int32 { /* sqlite3.c:199225:12: */ +func rtreeQueryStat1(tls *libc.TLS, db uintptr, pRtree uintptr) int32 { /* sqlite3.c:199282:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -160038,7 +160069,7 @@ func rtreeQueryStat1(tls *libc.TLS, db uintptr, pRtree uintptr) int32 { /* sqlit // Return true if zName is the extension on one of the shadow tables used // by this module. -func rtreeShadowName(tls *libc.TLS, zName uintptr) int32 { /* sqlite3.c:199259:12: */ +func rtreeShadowName(tls *libc.TLS, zName uintptr) int32 { /* sqlite3.c:199316:12: */ var i uint32 for i = uint32(0); uint64(i) < uint64(unsafe.Sizeof(azName1))/uint64(unsafe.Sizeof(uintptr(0))); i++ { if Xsqlite3_stricmp(tls, zName, azName1[i]) == 0 { @@ -160050,7 +160081,7 @@ func rtreeShadowName(tls *libc.TLS, zName uintptr) int32 { /* sqlite3.c:199259:1 var azName1 = [3]uintptr{ ts + 25269, ts + 5011, ts + 16174, -} /* sqlite3.c:199260:21 */ +} /* sqlite3.c:199317:21 */ var rtreeModule = Sqlite3_module{ FiVersion: 3, // iVersion @@ -160074,9 +160105,9 @@ var rtreeModule = Sqlite3_module{ FxRename: 0, // xRename - rename the table FxSavepoint: 0, // xRollbackTo FxShadowName: 0, // xShadowName -} /* sqlite3.c:199270:23 */ +} /* sqlite3.c:199327:23 */ -func rtreeSqlInit(tls *libc.TLS, pRtree uintptr, db uintptr, zDb uintptr, zPrefix uintptr, isCreate int32) int32 { /* sqlite3.c:199297:12: */ +func rtreeSqlInit(tls *libc.TLS, pRtree uintptr, db uintptr, zDb uintptr, zPrefix uintptr, isCreate int32) int32 { /* sqlite3.c:199354:12: */ bp := tls.Alloc(232) defer tls.Free(232) @@ -160193,14 +160224,14 @@ var azSql = [8]uintptr{ ts + 25999, ts + 26057, ts + 26112, -} /* sqlite3.c:199307:21 */ +} /* sqlite3.c:199364:21 */ // The second argument to this function contains the text of an SQL statement // that returns a single integer value. The statement is compiled and executed // using database connection db. If successful, the integer value returned // is written to *piVal and SQLITE_OK returned. Otherwise, an SQLite error // code is returned and the value of *piVal after returning is not defined. -func getIntFromStmt(tls *libc.TLS, db uintptr, zSql uintptr, piVal uintptr) int32 { /* sqlite3.c:199430:12: */ +func getIntFromStmt(tls *libc.TLS, db uintptr, zSql uintptr, piVal uintptr) int32 { /* sqlite3.c:199487:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -160231,7 +160262,7 @@ func getIntFromStmt(tls *libc.TLS, db uintptr, zSql uintptr, piVal uintptr) int3 // This ensures that each node is stored on a single database page. If the // database page-size is so large that more than RTREE_MAXCELLS entries // would fit in a single node, use a smaller node-size. -func getNodeSize(tls *libc.TLS, db uintptr, pRtree uintptr, isCreate int32, pzErr uintptr) int32 { /* sqlite3.c:199460:12: */ +func getNodeSize(tls *libc.TLS, db uintptr, pRtree uintptr, isCreate int32, pzErr uintptr) int32 { /* sqlite3.c:199517:12: */ bp := tls.Alloc(52) defer tls.Free(52) @@ -160269,7 +160300,7 @@ func getNodeSize(tls *libc.TLS, db uintptr, pRtree uintptr, isCreate int32, pzEr } // Return the length of a token -func rtreeTokenLength(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:199503:12: */ +func rtreeTokenLength(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:199560:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -160284,7 +160315,7 @@ func rtreeTokenLength(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:199503:12: // argv[1] -> database name // argv[2] -> table name // argv[...] -> column names... -func rtreeInit(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr, isCreate int32) int32 { /* sqlite3.c:199517:12: */ +func rtreeInit(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr, isCreate int32) int32 { /* sqlite3.c:199574:12: */ bp := tls.Alloc(136) defer tls.Free(136) @@ -160484,7 +160515,7 @@ __25: return rc } -var azFormat = [2]uintptr{ts + 26455, ts + 26466} /* sqlite3.c:199583:25 */ +var azFormat = [2]uintptr{ts + 26455, ts + 26466} /* sqlite3.c:199640:25 */ // Implementation of a scalar function that decodes r-tree nodes to // human readable strings. This can be used for debugging and analysis. @@ -160500,7 +160531,7 @@ var azFormat = [2]uintptr{ts + 26455, ts + 26466} /* sqlite3.c:199583:25 */ // entry for each cell in the r-tree node. Each entry is itself a // list, containing the 8-byte rowid/pageno followed by the // *2 coordinates. -func rtreenode(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:199654:13: */ +func rtreenode(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:199711:13: */ bp := tls.Alloc(1072) defer tls.Free(1072) @@ -160563,7 +160594,7 @@ func rtreenode(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) { /* sqlit // The depth value is 0 for all nodes other than the root node, and the root // node always has nodeno=1, so the example above is the primary use for this // routine. This routine is intended for testing and analysis only. -func rtreedepth(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:199706:13: */ +func rtreedepth(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:199763:13: */ _ = nArg if Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(apArg))) != SQLITE_BLOB || Xsqlite3_value_bytes(tls, *(*uintptr)(unsafe.Pointer(apArg))) < 2 { @@ -160595,15 +160626,15 @@ type RtreeCheck1 = struct { FzReport uintptr FnErr int32 F__ccgo_pad2 [4]byte -} /* sqlite3.c:199727:9 */ +} /* sqlite3.c:199784:9 */ // Context object passed between the various routines that make up the // implementation of integrity-check function rtreecheck(). -type RtreeCheck = RtreeCheck1 /* sqlite3.c:199727:27 */ +type RtreeCheck = RtreeCheck1 /* sqlite3.c:199784:27 */ // Reset SQL statement pStmt. If the sqlite3_reset() call returns an error, // and RtreeCheck.rc==SQLITE_OK, set RtreeCheck.rc to the error code. -func rtreeCheckReset(tls *libc.TLS, pCheck uintptr, pStmt uintptr) { /* sqlite3.c:199749:13: */ +func rtreeCheckReset(tls *libc.TLS, pCheck uintptr, pStmt uintptr) { /* sqlite3.c:199806:13: */ var rc int32 = Xsqlite3_reset(tls, pStmt) if (*RtreeCheck)(unsafe.Pointer(pCheck)).Frc == SQLITE_OK { (*RtreeCheck)(unsafe.Pointer(pCheck)).Frc = rc @@ -160616,7 +160647,7 @@ func rtreeCheckReset(tls *libc.TLS, pCheck uintptr, pStmt uintptr) { /* sqlite3. // // If successful, a pointer to the new SQL statement is returned. Otherwise, // NULL is returned and an error code left in RtreeCheck.rc. -func rtreeCheckPrepare(tls *libc.TLS, pCheck uintptr, zFmt uintptr, va uintptr) uintptr { /* sqlite3.c:199762:21: */ +func rtreeCheckPrepare(tls *libc.TLS, pCheck uintptr, zFmt uintptr, va uintptr) uintptr { /* sqlite3.c:199819:21: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -160644,7 +160675,7 @@ func rtreeCheckPrepare(tls *libc.TLS, pCheck uintptr, zFmt uintptr, va uintptr) // The second and subsequent arguments to this function are a printf() // style format string and arguments. This function formats the string and // appends it to the report being accumuated in pCheck. -func rtreeCheckAppendMsg(tls *libc.TLS, pCheck uintptr, zFmt uintptr, va uintptr) { /* sqlite3.c:199791:13: */ +func rtreeCheckAppendMsg(tls *libc.TLS, pCheck uintptr, zFmt uintptr, va uintptr) { /* sqlite3.c:199848:13: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -160684,7 +160715,7 @@ func rtreeCheckAppendMsg(tls *libc.TLS, pCheck uintptr, zFmt uintptr, va uintptr // Or, if an error does occur, NULL is returned and an error code left // in the RtreeCheck object. The final value of *pnNode is undefined in // this case. -func rtreeCheckGetNode(tls *libc.TLS, pCheck uintptr, iNode I64, pnNode uintptr) uintptr { /* sqlite3.c:199825:11: */ +func rtreeCheckGetNode(tls *libc.TLS, pCheck uintptr, iNode I64, pnNode uintptr) uintptr { /* sqlite3.c:199882:11: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -160728,7 +160759,7 @@ func rtreeCheckGetNode(tls *libc.TLS, pCheck uintptr, iNode I64, pnNode uintptr) // In both cases, this function checks that there exists an entry with // IPK value iKey and the second column set to iVal. // -func rtreeCheckMapping(tls *libc.TLS, pCheck uintptr, bLeaf int32, iKey I64, iVal I64) { /* sqlite3.c:199869:13: */ +func rtreeCheckMapping(tls *libc.TLS, pCheck uintptr, bLeaf int32, iKey I64, iVal I64) { /* sqlite3.c:199926:13: */ bp := tls.Alloc(96) defer tls.Free(96) @@ -160784,7 +160815,7 @@ func rtreeCheckMapping(tls *libc.TLS, pCheck uintptr, bLeaf int32, iKey I64, iVa // containing pCell. In this case it is also verified that the two // sets of coordinates are mutually consistent and an error message added // to the RtreeCheck object if they are not. -func rtreeCheckCellCoord(tls *libc.TLS, pCheck uintptr, iNode I64, iCell int32, pCell uintptr, pParent uintptr) { /* sqlite3.c:199921:13: */ +func rtreeCheckCellCoord(tls *libc.TLS, pCheck uintptr, iNode I64, iCell int32, pCell uintptr, pParent uintptr) { /* sqlite3.c:199978:13: */ bp := tls.Alloc(64) defer tls.Free(64) @@ -160842,7 +160873,7 @@ func rtreeCheckCellCoord(tls *libc.TLS, pCheck uintptr, iNode I64, iCell int32, // // If any problems are discovered, an error message is appended to the // report accumulated in the RtreeCheck object. -func rtreeCheckNode(tls *libc.TLS, pCheck uintptr, iDepth int32, aParent uintptr, iNode I64) { /* sqlite3.c:199967:13: */ +func rtreeCheckNode(tls *libc.TLS, pCheck uintptr, iDepth int32, aParent uintptr, iNode I64) { /* sqlite3.c:200024:13: */ bp := tls.Alloc(52) defer tls.Free(52) @@ -160896,7 +160927,7 @@ func rtreeCheckNode(tls *libc.TLS, pCheck uintptr, iDepth int32, aParent uintptr // %_rowid or %_parent table is exactly nExpect. If not, it adds // an error message to the report in the RtreeCheck object indicated // by the first argument. -func rtreeCheckCount(tls *libc.TLS, pCheck uintptr, zTbl uintptr, nExpect I64) { /* sqlite3.c:200030:13: */ +func rtreeCheckCount(tls *libc.TLS, pCheck uintptr, zTbl uintptr, nExpect I64) { /* sqlite3.c:200087:13: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -160919,7 +160950,7 @@ func rtreeCheckCount(tls *libc.TLS, pCheck uintptr, zTbl uintptr, nExpect I64) { // This function does the bulk of the work for the rtree integrity-check. // It is called by rtreecheck(), which is the SQL function implementation. -func rtreeCheckTable(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, pzReport uintptr) int32 { /* sqlite3.c:200054:12: */ +func rtreeCheckTable(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, pzReport uintptr) int32 { /* sqlite3.c:200111:12: */ bp := tls.Alloc(120) defer tls.Free(120) @@ -161026,7 +161057,7 @@ func rtreeCheckTable(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, pzRep // as there are non-leaf cells in the r-tree structure, and that // there is a non-leaf cell that corresponds to each entry in the // %_parent table. -func rtreecheck(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:200161:13: */ +func rtreecheck(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:200218:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -161089,7 +161120,7 @@ func rtreecheck(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) { /* sqli // Compiler and version // Datatype for coordinates -type GeoCoord = float32 /* sqlite3.c:200282:15 */ +type GeoCoord = float32 /* sqlite3.c:200339:15 */ // Internal representation of a polygon. // @@ -161115,7 +161146,7 @@ type GeoPoly1 = struct { FnVertex int32 Fhdr [4]uint8 Fa [8]GeoCoord -} /* sqlite3.c:200306:9 */ +} /* sqlite3.c:200363:9 */ // Internal representation of a polygon. // @@ -161137,7 +161168,7 @@ type GeoPoly1 = struct { // warnings coming from some compiler (notably, clang). In reality, the size // of each GeoPoly memory allocate is adjusted as necessary so that the // GeoPoly.a[] array at the end is the appropriate size. -type GeoPoly = GeoPoly1 /* sqlite3.c:200306:24 */ +type GeoPoly = GeoPoly1 /* sqlite3.c:200363:24 */ // The size of a memory allocation needed for a GeoPoly object sufficient // to hold N coordinate pairs. @@ -161154,7 +161185,7 @@ type GeoParse1 = struct { FnErr int32 F__ccgo_pad1 [4]byte Fa uintptr -} /* sqlite3.c:200329:9 */ +} /* sqlite3.c:200386:9 */ // The size of a memory allocation needed for a GeoPoly object sufficient // to hold N coordinate pairs. @@ -161164,10 +161195,10 @@ type GeoParse1 = struct { // to silence (incorrect) UBSAN warnings if the array index is too large. // State of a parse of a GeoJSON input. -type GeoParse = GeoParse1 /* sqlite3.c:200329:25 */ +type GeoParse = GeoParse1 /* sqlite3.c:200386:25 */ // Do a 4-byte byte swap -func geopolySwab32(tls *libc.TLS, a uintptr) { /* sqlite3.c:200339:13: */ +func geopolySwab32(tls *libc.TLS, a uintptr) { /* sqlite3.c:200396:13: */ var t uint8 = *(*uint8)(unsafe.Pointer(a)) *(*uint8)(unsafe.Pointer(a)) = *(*uint8)(unsafe.Pointer(a + 3)) *(*uint8)(unsafe.Pointer(a + 3)) = t @@ -161177,7 +161208,7 @@ func geopolySwab32(tls *libc.TLS, a uintptr) { /* sqlite3.c:200339:13: */ } // Skip whitespace. Return the next non-whitespace character. -func geopolySkipSpace(tls *libc.TLS, p uintptr) uint8 { /* sqlite3.c:200349:13: */ +func geopolySkipSpace(tls *libc.TLS, p uintptr) uint8 { /* sqlite3.c:200406:13: */ for jsonIsSpace[*(*uint8)(unsafe.Pointer((*GeoParse)(unsafe.Pointer(p)).Fz))] != 0 { (*GeoParse)(unsafe.Pointer(p)).Fz++ } @@ -161186,7 +161217,7 @@ func geopolySkipSpace(tls *libc.TLS, p uintptr) uint8 { /* sqlite3.c:200349:13: // Parse out a number. Write the value into *pVal if pVal!=0. // return non-zero on success and zero if the next token is not a number. -func geopolyParseNumber(tls *libc.TLS, p uintptr, pVal uintptr) int32 { /* sqlite3.c:200357:12: */ +func geopolyParseNumber(tls *libc.TLS, p uintptr, pVal uintptr) int32 { /* sqlite3.c:200414:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -161258,7 +161289,7 @@ func geopolyParseNumber(tls *libc.TLS, p uintptr, pVal uintptr) int32 { /* sqlit // that object. // // If any error occurs, return NULL. -func geopolyParseJson(tls *libc.TLS, z uintptr, pRc uintptr) uintptr { /* sqlite3.c:200415:16: */ +func geopolyParseJson(tls *libc.TLS, z uintptr, pRc uintptr) uintptr { /* sqlite3.c:200472:16: */ bp := tls.Alloc(36) defer tls.Free(36) @@ -161400,7 +161431,7 @@ __16: // in the binary format or JSON text. Compute a GeoPoly object and // return a pointer to that object. Or if the input is not a well-formed // polygon, put an error message in sqlite3_context and return NULL. -func geopolyFuncParam(tls *libc.TLS, pCtx uintptr, pVal uintptr, pRc uintptr) uintptr { /* sqlite3.c:200492:16: */ +func geopolyFuncParam(tls *libc.TLS, pCtx uintptr, pVal uintptr, pRc uintptr) uintptr { /* sqlite3.c:200549:16: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -161469,7 +161500,7 @@ func geopolyFuncParam(tls *libc.TLS, pCtx uintptr, pVal uintptr, pRc uintptr) ui // If the input is a well-formed Geopoly BLOB or JSON string // then return the BLOB representation of the polygon. Otherwise // return NULL. -func geopolyBlobFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:200553:13: */ +func geopolyBlobFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:200610:13: */ var p uintptr = geopolyFuncParam(tls, context, *(*uintptr)(unsafe.Pointer(argv)), uintptr(0)) if p != 0 { Xsqlite3_result_blob(tls, context, p+4, @@ -161482,7 +161513,7 @@ func geopolyBlobFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { // // Interpret X as a polygon and render it as a JSON array // of coordinates. Or, if X is not a valid polygon, return NULL. -func geopolyJsonFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:200572:13: */ +func geopolyJsonFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:200629:13: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -161505,7 +161536,7 @@ func geopolyJsonFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { // // Interpret X as a polygon and render it as a SVG . // Additional arguments are added as attributes to the . -func geopolySvgFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:200598:13: */ +func geopolySvgFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:200655:13: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -161551,7 +161582,7 @@ func geopolySvgFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { // Rotate by R around the point (0,0): // // geopoly_xform(poly, cos(R), sin(R), -sin(R), cos(R), 0, 0) -func geopolyXformFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:200645:13: */ +func geopolyXformFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:200702:13: */ var p uintptr = geopolyFuncParam(tls, context, *(*uintptr)(unsafe.Pointer(argv)), uintptr(0)) var A float64 = Xsqlite3_value_double(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))) var B float64 = Xsqlite3_value_double(tls, *(*uintptr)(unsafe.Pointer(argv + 2*8))) @@ -161584,7 +161615,7 @@ func geopolyXformFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) // This routine can also be used to detect polygons that rotate in // the wrong direction. Polygons are suppose to be counter-clockwise (CCW). // This routine returns a negative value for clockwise (CW) polygons. -func geopolyArea(tls *libc.TLS, p uintptr) float64 { /* sqlite3.c:200681:15: */ +func geopolyArea(tls *libc.TLS, p uintptr) float64 { /* sqlite3.c:200738:15: */ var rArea float64 = 0.0 var ii int32 for ii = 0; ii < (*GeoPoly)(unsafe.Pointer(p)).FnVertex-1; ii++ { @@ -161604,7 +161635,7 @@ func geopolyArea(tls *libc.TLS, p uintptr) float64 { /* sqlite3.c:200681:15: */ // enclosed by the polygon. If the polygon circulates clockwise instead // of counterclockwise (as it should) then return the negative of the // enclosed area. Otherwise return NULL. -func geopolyAreaFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:200703:13: */ +func geopolyAreaFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:200760:13: */ var p uintptr = geopolyFuncParam(tls, context, *(*uintptr)(unsafe.Pointer(argv)), uintptr(0)) if p != 0 { Xsqlite3_result_double(tls, context, geopolyArea(tls, p)) @@ -161623,7 +161654,7 @@ func geopolyAreaFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { // // Use this routine to sanitize historical inputs that that sometimes // contain polygons that wind in the wrong direction. -func geopolyCcwFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:200728:13: */ +func geopolyCcwFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:200785:13: */ var p uintptr = geopolyFuncParam(tls, context, *(*uintptr)(unsafe.Pointer(argv)), uintptr(0)) if p != 0 { if geopolyArea(tls, p) < 0.0 { @@ -161659,7 +161690,7 @@ func geopolyCcwFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { } // Fast approximation for sine(X) for X between -0.5*pi and 2*pi -func geopolySine(tls *libc.TLS, r float64) float64 { /* sqlite3.c:200756:15: */ +func geopolySine(tls *libc.TLS, r float64) float64 { /* sqlite3.c:200813:15: */ if r >= float64(1.5)*3.1415926535897932385 { r = r - float64(2.0)*3.1415926535897932385 @@ -161679,7 +161710,7 @@ func geopolySine(tls *libc.TLS, r float64) float64 { /* sqlite3.c:200756:15: */ // // Construct a simple, convex, regular polygon centered at X, Y // with circumradius R and with N sides. -func geopolyRegularFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:200777:13: */ +func geopolyRegularFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:200834:13: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -161724,7 +161755,7 @@ func geopolyRegularFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr // // If pPoly is NULL but aCoord is not NULL, then compute a new GeoPoly from // the bounding box in aCoord and return a pointer to that GeoPoly. -func geopolyBBox(tls *libc.TLS, context uintptr, pPoly uintptr, aCoord uintptr, pRc uintptr) uintptr { /* sqlite3.c:200820:16: */ +func geopolyBBox(tls *libc.TLS, context uintptr, pPoly uintptr, aCoord uintptr, pRc uintptr) uintptr { /* sqlite3.c:200877:16: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -161865,7 +161896,7 @@ __4: } // Implementation of the geopoly_bbox(X) SQL function. -func geopolyBBoxFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:200891:13: */ +func geopolyBBoxFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:200948:13: */ var p uintptr = geopolyBBox(tls, context, *(*uintptr)(unsafe.Pointer(argv)), uintptr(0), uintptr(0)) if p != 0 { Xsqlite3_result_blob(tls, context, p+4, @@ -161878,13 +161909,13 @@ func geopolyBBoxFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { type GeoBBox1 = struct { FisInit int32 Fa [4]RtreeCoord -} /* sqlite3.c:200907:9 */ +} /* sqlite3.c:200964:9 */ // State vector for the geopoly_group_bbox() aggregate function. -type GeoBBox = GeoBBox1 /* sqlite3.c:200907:24 */ +type GeoBBox = GeoBBox1 /* sqlite3.c:200964:24 */ // Implementation of the geopoly_group_bbox(X) aggregate SQL function. -func geopolyBBoxStep(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:200917:13: */ +func geopolyBBoxStep(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:200974:13: */ bp := tls.Alloc(20) defer tls.Free(20) @@ -161918,7 +161949,7 @@ func geopolyBBoxStep(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { } } -func geopolyBBoxFinal(tls *libc.TLS, context uintptr) { /* sqlite3.c:200940:13: */ +func geopolyBBoxFinal(tls *libc.TLS, context uintptr) { /* sqlite3.c:200997:13: */ var p uintptr var pBBox uintptr pBBox = Xsqlite3_aggregate_context(tls, context, 0) @@ -161945,7 +161976,7 @@ func geopolyBBoxFinal(tls *libc.TLS, context uintptr) { /* sqlite3.c:200940:13: // // The left-most coordinate min(x1,x2) is not considered to be part of // the line segment for the purposes of this analysis. -func pointBeneathLine(tls *libc.TLS, x0 float64, y0 float64, x1 float64, y1 float64, x2 float64, y2 float64) int32 { /* sqlite3.c:200970:12: */ +func pointBeneathLine(tls *libc.TLS, x0 float64, y0 float64, x1 float64, y1 float64, x2 float64, y2 float64) int32 { /* sqlite3.c:201027:12: */ var y float64 if x0 == x1 && y0 == y1 { return 2 @@ -161986,7 +162017,7 @@ func pointBeneathLine(tls *libc.TLS, x0 float64, y0 float64, x1 float64, y1 floa // Return +2 if point X,Y is within polygon P. // Return +1 if point X,Y is on the polygon boundary. // Return 0 if point X,Y is outside the polygon -func geopolyContainsPointFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:201001:13: */ +func geopolyContainsPointFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:201058:13: */ var p1 uintptr = geopolyFuncParam(tls, context, *(*uintptr)(unsafe.Pointer(argv)), uintptr(0)) var x0 float64 = Xsqlite3_value_double(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))) var y0 float64 = Xsqlite3_value_double(tls, *(*uintptr)(unsafe.Pointer(argv + 2*8))) @@ -162024,7 +162055,7 @@ func geopolyContainsPointFunc(tls *libc.TLS, context uintptr, argc int32, argv u // Return +1 if P2 is contained within P1 // Return 0 if any part of P2 is on the outside of P1 // -func geopolyWithinFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:201044:13: */ +func geopolyWithinFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:201101:13: */ var p1 uintptr = geopolyFuncParam(tls, context, *(*uintptr)(unsafe.Pointer(argv)), uintptr(0)) var p2 uintptr = geopolyFuncParam(tls, context, *(*uintptr)(unsafe.Pointer(argv + 1*8)), uintptr(0)) if p1 != 0 && p2 != 0 { @@ -162056,10 +162087,10 @@ type GeoEvent1 = struct { F__ccgo_pad1 [4]byte FpSeg uintptr FpNext uintptr -} /* sqlite3.c:201064:9 */ +} /* sqlite3.c:201121:9 */ // Objects used by the overlap algorihm. -type GeoEvent = GeoEvent1 /* sqlite3.c:201064:25 */ +type GeoEvent = GeoEvent1 /* sqlite3.c:201121:25 */ type GeoSegment1 = struct { FC float64 FB float64 @@ -162070,20 +162101,20 @@ type GeoSegment1 = struct { Fidx uint32 F__ccgo_pad2 [4]byte FpNext uintptr -} /* sqlite3.c:201064:9 */ +} /* sqlite3.c:201121:9 */ -type GeoSegment = GeoSegment1 /* sqlite3.c:201065:27 */ +type GeoSegment = GeoSegment1 /* sqlite3.c:201122:27 */ type GeoOverlap1 = struct { FaEvent uintptr FaSegment uintptr FnEvent int32 FnSegment int32 -} /* sqlite3.c:201066:9 */ +} /* sqlite3.c:201123:9 */ -type GeoOverlap = GeoOverlap1 /* sqlite3.c:201066:27 */ +type GeoOverlap = GeoOverlap1 /* sqlite3.c:201123:27 */ // Add a single segment and its associated events. -func geopolyAddOneSegment(tls *libc.TLS, p uintptr, x0 GeoCoord, y0 GeoCoord, x1 GeoCoord, y1 GeoCoord, side uint8, idx uint32) { /* sqlite3.c:201091:13: */ +func geopolyAddOneSegment(tls *libc.TLS, p uintptr, x0 GeoCoord, y0 GeoCoord, x1 GeoCoord, y1 GeoCoord, side uint8, idx uint32) { /* sqlite3.c:201148:13: */ var pSeg uintptr var pEvent uintptr if x0 == x1 { @@ -162117,7 +162148,7 @@ func geopolyAddOneSegment(tls *libc.TLS, p uintptr, x0 GeoCoord, y0 GeoCoord, x1 } // Insert all segments and events for polygon pPoly. -func geopolyAddSegments(tls *libc.TLS, p uintptr, pPoly uintptr, side uint8) { /* sqlite3.c:201135:13: */ +func geopolyAddSegments(tls *libc.TLS, p uintptr, pPoly uintptr, side uint8) { /* sqlite3.c:201192:13: */ var i uint32 var x uintptr for i = uint32(0); i < uint32((*GeoPoly)(unsafe.Pointer(pPoly)).FnVertex)-uint32(1); i++ { @@ -162129,7 +162160,7 @@ func geopolyAddSegments(tls *libc.TLS, p uintptr, pPoly uintptr, side uint8) { / } // Merge two lists of sorted events by X coordinate -func geopolyEventMerge(tls *libc.TLS, pLeft uintptr, pRight uintptr) uintptr { /* sqlite3.c:201153:17: */ +func geopolyEventMerge(tls *libc.TLS, pLeft uintptr, pRight uintptr) uintptr { /* sqlite3.c:201210:17: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -162159,7 +162190,7 @@ func geopolyEventMerge(tls *libc.TLS, pLeft uintptr, pRight uintptr) uintptr { / } // Sort an array of nEvent event objects into a list. -func geopolySortEventsByX(tls *libc.TLS, aEvent uintptr, nEvent int32) uintptr { /* sqlite3.c:201175:17: */ +func geopolySortEventsByX(tls *libc.TLS, aEvent uintptr, nEvent int32) uintptr { /* sqlite3.c:201232:17: */ bp := tls.Alloc(400) defer tls.Free(400) @@ -162189,7 +162220,7 @@ func geopolySortEventsByX(tls *libc.TLS, aEvent uintptr, nEvent int32) uintptr { } // Merge two lists of sorted segments by Y, and then by C. -func geopolySegmentMerge(tls *libc.TLS, pLeft uintptr, pRight uintptr) uintptr { /* sqlite3.c:201200:19: */ +func geopolySegmentMerge(tls *libc.TLS, pLeft uintptr, pRight uintptr) uintptr { /* sqlite3.c:201257:19: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -162224,7 +162255,7 @@ func geopolySegmentMerge(tls *libc.TLS, pLeft uintptr, pRight uintptr) uintptr { // Sort a list of GeoSegments in order of increasing Y and in the event of // a tie, increasing C (slope). -func geopolySortSegmentsByYAndC(tls *libc.TLS, pList uintptr) uintptr { /* sqlite3.c:201225:19: */ +func geopolySortSegmentsByYAndC(tls *libc.TLS, pList uintptr) uintptr { /* sqlite3.c:201282:19: */ bp := tls.Alloc(400) defer tls.Free(400) @@ -162254,7 +162285,7 @@ func geopolySortSegmentsByYAndC(tls *libc.TLS, pList uintptr) uintptr { /* sqlit } // Determine the overlap between two polygons -func geopolyOverlap(tls *libc.TLS, p1 uintptr, p2 uintptr) int32 { /* sqlite3.c:201251:12: */ +func geopolyOverlap(tls *libc.TLS, p1 uintptr, p2 uintptr) int32 { /* sqlite3.c:201308:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -162490,7 +162521,7 @@ geopolyOverlapDone: // 3 P2 is completely contained within P1 // 4 P1 and P2 are the same polygon // NULL Either P1 or P2 or both are not valid polygons -func geopolyOverlapFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:201374:13: */ +func geopolyOverlapFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:201431:13: */ var p1 uintptr = geopolyFuncParam(tls, context, *(*uintptr)(unsafe.Pointer(argv)), uintptr(0)) var p2 uintptr = geopolyFuncParam(tls, context, *(*uintptr)(unsafe.Pointer(argv + 1*8)), uintptr(0)) if p1 != 0 && p2 != 0 { @@ -162506,7 +162537,7 @@ func geopolyOverlapFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr } // Enable or disable debugging output -func geopolyDebugFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:201396:13: */ +func geopolyDebugFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:201453:13: */ } // This function is the implementation of both the xConnect and xCreate @@ -162516,7 +162547,7 @@ func geopolyDebugFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) // argv[1] -> database name // argv[2] -> table name // argv[...] -> column names... -func geopolyInit(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr, isCreate int32) int32 { /* sqlite3.c:201415:12: */ +func geopolyInit(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr, isCreate int32) int32 { /* sqlite3.c:201472:12: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -162631,12 +162662,12 @@ __11: } // GEOPOLY virtual table module xCreate method. -func geopolyCreate(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 { /* sqlite3.c:201499:12: */ +func geopolyCreate(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 { /* sqlite3.c:201556:12: */ return geopolyInit(tls, db, pAux, argc, argv, ppVtab, pzErr, 1) } // GEOPOLY virtual table module xConnect method. -func geopolyConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 { /* sqlite3.c:201512:12: */ +func geopolyConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 { /* sqlite3.c:201569:12: */ return geopolyInit(tls, db, pAux, argc, argv, ppVtab, pzErr, 0) } @@ -162650,7 +162681,7 @@ func geopolyConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv ui // 3 search for objects overlapping the same bounding box // that contains polygon argv[0] // 4 full table scan -func geopolyFilter(tls *libc.TLS, pVtabCursor uintptr, idxNum int32, idxStr uintptr, argc int32, argv uintptr) int32 { /* sqlite3.c:201535:12: */ +func geopolyFilter(tls *libc.TLS, pVtabCursor uintptr, idxNum int32, idxStr uintptr, argc int32, argv uintptr) int32 { /* sqlite3.c:201592:12: */ bp := tls.Alloc(52) defer tls.Free(52) @@ -162817,7 +162848,7 @@ geopoly_filter_end: // 3 "rtree" R-tree within query using geopoly_within() // 4 "fullscan" full-table scan. // ------------------------------------------------ -func geopolyBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 { /* sqlite3.c:201667:12: */ +func geopolyBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 { /* sqlite3.c:201724:12: */ var ii int32 var iRowidTerm int32 = -1 var iFuncTerm int32 = -1 @@ -162868,7 +162899,7 @@ func geopolyBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 { /* s } // GEOPOLY virtual table module xColumn method. -func geopolyColumn(tls *libc.TLS, cur uintptr, ctx uintptr, i int32) int32 { /* sqlite3.c:201719:12: */ +func geopolyColumn(tls *libc.TLS, cur uintptr, ctx uintptr, i int32) int32 { /* sqlite3.c:201776:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -162933,7 +162964,7 @@ func geopolyColumn(tls *libc.TLS, cur uintptr, ctx uintptr, i int32) int32 { /* // argv[1] = rowid after the change. Never NULL // argv[2] = new value for _shape // argv[3] = new value for first application-defined column.... -func geopolyUpdate(tls *libc.TLS, pVtab uintptr, nData int32, aData uintptr, pRowid uintptr) int32 { /* sqlite3.c:201774:12: */ +func geopolyUpdate(tls *libc.TLS, pVtab uintptr, nData int32, aData uintptr, pRowid uintptr) int32 { /* sqlite3.c:201831:12: */ bp := tls.Alloc(64) defer tls.Free(64) @@ -163144,7 +163175,7 @@ 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) int32 { /* sqlite3.c:201911:12: */ +func geopolyFindFunction(tls *libc.TLS, pVtab uintptr, nArg int32, zName uintptr, pxFunc uintptr, ppArg uintptr) int32 { /* sqlite3.c:201968:12: */ if Xsqlite3_stricmp(tls, zName, ts+27444) == 0 { *(*uintptr)(unsafe.Pointer(pxFunc)) = *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) @@ -163185,9 +163216,9 @@ var geopolyModule = Sqlite3_module{ FxRename: 0, // xRename - rename the table FxSavepoint: 0, // xRollbackTo FxShadowName: 0, // xShadowName -} /* sqlite3.c:201932:23 */ +} /* sqlite3.c:201989:23 */ -func sqlite3_geopoly_init(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:201959:12: */ +func sqlite3_geopoly_init(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:202016:12: */ var rc int32 = SQLITE_OK var i int32 for i = 0; uint64(i) < uint64(unsafe.Sizeof(aFunc))/uint64(unsafe.Sizeof(struct { @@ -163241,14 +163272,14 @@ var aFunc = [12]struct { {FxFunc: 0, FnArg: int8(7), FbPure: uint8(1), FzName: ts + 27584 /* "geopoly_xform" */}, {FxFunc: 0, FnArg: int8(4), FbPure: uint8(1), FzName: ts + 27598 /* "geopoly_regular" */}, {FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 27614 /* "geopoly_ccw" */}, -} /* sqlite3.c:201966:5 */ +} /* sqlite3.c:202023:5 */ var aAgg = [1]struct { FxStep uintptr FxFinal uintptr FzName uintptr }{ {FxStep: 0, FxFinal: 0, FzName: ts + 27626 /* "geopoly_group_bb..." */}, -} /* sqlite3.c:201984:5 */ +} /* sqlite3.c:202041:5 */ //************* End of geopoly.c ******************************************** //************* Continuing where we left off in rtree.c ********************* @@ -163256,7 +163287,7 @@ var aAgg = [1]struct { // Register the r-tree module with database handle db. This creates the // virtual table module "rtree" and the debugging/analysis scalar // function "rtreenode". -func Xsqlite3RtreeInit(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:202019:20: */ +func Xsqlite3RtreeInit(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:202076:20: */ var utf8 int32 = SQLITE_UTF8 var rc int32 @@ -163293,7 +163324,7 @@ func Xsqlite3RtreeInit(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:202019:20 // or sqlite3_rtree_query_callback(). In other words, this routine is the // destructor for an RtreeGeomCallback objecct. This routine is called when // the corresponding SQL function is deleted. -func rtreeFreeCallback(tls *libc.TLS, p uintptr) { /* sqlite3.c:202058:13: */ +func rtreeFreeCallback(tls *libc.TLS, p uintptr) { /* sqlite3.c:202115:13: */ var pInfo uintptr = p if (*RtreeGeomCallback)(unsafe.Pointer(pInfo)).FxDestructor != 0 { (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*RtreeGeomCallback)(unsafe.Pointer(pInfo)).FxDestructor})).f(tls, (*RtreeGeomCallback)(unsafe.Pointer(pInfo)).FpContext) @@ -163302,7 +163333,7 @@ func rtreeFreeCallback(tls *libc.TLS, p uintptr) { /* sqlite3.c:202058:13: */ } // This routine frees the BLOB that is returned by geomCallback(). -func rtreeMatchArgFree(tls *libc.TLS, pArg uintptr) { /* sqlite3.c:202067:13: */ +func rtreeMatchArgFree(tls *libc.TLS, pArg uintptr) { /* sqlite3.c:202124:13: */ var i int32 var p uintptr = pArg for i = 0; i < (*RtreeMatchArg)(unsafe.Pointer(p)).FnParam; i++ { @@ -163323,7 +163354,7 @@ func rtreeMatchArgFree(tls *libc.TLS, pArg uintptr) { /* sqlite3.c:202067:13: */ // The R-Tree MATCH operator will read the returned BLOB, deserialize // the RtreeMatchArg object, and use the RtreeMatchArg object to figure // out which elements of the R-Tree should be returned by the query. -func geomCallback(tls *libc.TLS, ctx uintptr, nArg int32, aArg uintptr) { /* sqlite3.c:202090:13: */ +func geomCallback(tls *libc.TLS, ctx uintptr, nArg int32, aArg uintptr) { /* sqlite3.c:202147:13: */ var pGeomCtx uintptr = Xsqlite3_user_data(tls, ctx) var pBlob uintptr var nBlob Sqlite3_int64 @@ -163357,7 +163388,7 @@ func geomCallback(tls *libc.TLS, ctx uintptr, nArg int32, aArg uintptr) { /* sql } // 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) int32 { /* sqlite3.c:202128:16: */ +func Xsqlite3_rtree_geometry_callback(tls *libc.TLS, db uintptr, zGeom uintptr, xGeom uintptr, pContext uintptr) int32 { /* sqlite3.c:202185:16: */ var pGeomCtx uintptr // Context object for new user-function // Allocate and populate the context object. @@ -163377,7 +163408,7 @@ func Xsqlite3_rtree_geometry_callback(tls *libc.TLS, db uintptr, zGeom uintptr, // 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) int32 { /* sqlite3.c:202152:16: */ +func Xsqlite3_rtree_query_callback(tls *libc.TLS, db uintptr, zQueryFunc uintptr, xQueryFunc uintptr, pContext uintptr, xDestructor uintptr) int32 { /* sqlite3.c:202209:16: */ var pGeomCtx uintptr // Context object for new user-function // Allocate and populate the context object. @@ -163833,7 +163864,7 @@ type sqlite3rbu = struct { FnRbu int32 F__ccgo_pad6 [4]byte FpRbuFd uintptr -} /* sqlite3.c:203382:9 */ +} /* sqlite3.c:203439:9 */ //************* End of rtree.c ********************************************** //************* Begin file icu.c ******************************************** @@ -164234,7 +164265,7 @@ type sqlite3rbu = struct { // #include "sqlite3.h" ** Required for error code definitions ** -type Sqlite3rbu = sqlite3rbu /* sqlite3.c:203382:27 */ +type Sqlite3rbu = sqlite3rbu /* sqlite3.c:203439:27 */ //************* End of sqlite3rbu.h ***************************************** //************* Continuing where we left off in sqlite3rbu.c **************** @@ -164299,7 +164330,7 @@ type Sqlite3rbu = sqlite3rbu /* sqlite3.c:203382:27 */ type RbuFrame1 = struct { FiDbPage U32 FiWalFrame U32 -} /* sqlite3.c:203382:9 */ +} /* sqlite3.c:203439:9 */ //************* End of sqlite3rbu.h ***************************************** //************* Continuing where we left off in sqlite3rbu.c **************** @@ -164361,7 +164392,7 @@ type RbuFrame1 = struct { // Only valid if STAGE==1. The RBU database name of the table // currently being read. -type RbuFrame = RbuFrame1 /* sqlite3.c:203813:25 */ +type RbuFrame = RbuFrame1 /* sqlite3.c:203870:25 */ type RbuObjIter1 = struct { FpTblIter uintptr FpIdxIter uintptr @@ -164393,9 +164424,9 @@ type RbuObjIter1 = struct { FaIdxCol uintptr FzIdxSql uintptr FpRbuUpdate uintptr -} /* sqlite3.c:203382:9 */ +} /* sqlite3.c:203439:9 */ -type RbuObjIter = RbuObjIter1 /* sqlite3.c:203814:27 */ +type RbuObjIter = RbuObjIter1 /* sqlite3.c:203871:27 */ type RbuState1 = struct { FeStage int32 F__ccgo_pad1 [4]byte @@ -164410,16 +164441,16 @@ type RbuState1 = struct { F__ccgo_pad3 [4]byte FiOalSz I64 FnPhaseOneStep I64 -} /* sqlite3.c:203815:9 */ +} /* sqlite3.c:203872:9 */ -type RbuState = RbuState1 /* sqlite3.c:203815:25 */ +type RbuState = RbuState1 /* sqlite3.c:203872:25 */ type RbuSpan1 = struct { FzSpan uintptr FnSpan int32 F__ccgo_pad1 [4]byte -} /* sqlite3.c:203382:9 */ +} /* sqlite3.c:203439:9 */ -type RbuSpan = RbuSpan1 /* sqlite3.c:203816:24 */ +type RbuSpan = RbuSpan1 /* sqlite3.c:203873:24 */ type rbu_vfs = struct { Fbase Sqlite3_vfs FpRealVfs uintptr @@ -164427,9 +164458,9 @@ type rbu_vfs = struct { FpRbu uintptr FpMain uintptr FpMainRbu uintptr -} /* sqlite3.c:203382:9 */ +} /* sqlite3.c:203439:9 */ -type Rbu_vfs = rbu_vfs /* sqlite3.c:203817:24 */ +type Rbu_vfs = rbu_vfs /* sqlite3.c:203874:24 */ type rbu_file = struct { Fbase Sqlite3_file FpReal uintptr @@ -164448,16 +164479,16 @@ type rbu_file = struct { FpWalFd uintptr FpMainNext uintptr FpMainRbuNext uintptr -} /* sqlite3.c:203382:9 */ +} /* sqlite3.c:203439:9 */ -type Rbu_file = rbu_file /* sqlite3.c:203818:25 */ +type Rbu_file = rbu_file /* sqlite3.c:203875:25 */ type RbuUpdateStmt1 = struct { FzMask uintptr FpUpdate uintptr FpNext uintptr -} /* sqlite3.c:203382:9 */ +} /* sqlite3.c:203439:9 */ -type RbuUpdateStmt = RbuUpdateStmt1 /* sqlite3.c:203819:30 */ +type RbuUpdateStmt = RbuUpdateStmt1 /* sqlite3.c:203876:30 */ // True for an RBU vacuum handle, or false otherwise. @@ -164476,7 +164507,7 @@ type RbuUpdateStmt = RbuUpdateStmt1 /* sqlite3.c:203819:30 */ // finished, leave *pz pointing to the first character past the end of // the integer. The *pLen parameter holds the length of the string // in *pz and is decremented once for each character in the integer. -func rbuDeltaGetInt(tls *libc.TLS, pz uintptr, pLen uintptr) uint32 { /* sqlite3.c:204109:21: */ +func rbuDeltaGetInt(tls *libc.TLS, pz uintptr, pLen uintptr) uint32 { /* sqlite3.c:204166:21: */ var v uint32 = uint32(0) var c int32 var z uintptr = *(*uintptr)(unsafe.Pointer(pz)) @@ -164499,7 +164530,7 @@ var zValue = [128]int8{ int8(25), int8(26), int8(27), int8(28), int8(29), int8(30), int8(31), int8(32), int8(33), int8(34), int8(35), int8(-1), int8(-1), int8(-1), int8(-1), int8(36), int8(-1), int8(37), int8(38), int8(39), int8(40), int8(41), int8(42), int8(43), int8(44), int8(45), int8(46), int8(47), int8(48), int8(49), int8(50), int8(51), int8(52), int8(53), int8(54), int8(55), int8(56), int8(57), int8(58), int8(59), int8(60), int8(61), int8(62), int8(-1), int8(-1), int8(-1), int8(63), int8(-1), -} /* sqlite3.c:204110:28 */ +} /* sqlite3.c:204167:28 */ // Apply a delta. // @@ -164519,7 +164550,7 @@ var zValue = [128]int8{ // // Refer to the delta_create() documentation above for a description // of the delta file format. -func rbuDeltaApply(tls *libc.TLS, zSrc uintptr, lenSrc int32, zDelta uintptr, lenDelta int32, zOut uintptr) int32 { /* sqlite3.c:204190:12: */ +func rbuDeltaApply(tls *libc.TLS, zSrc uintptr, lenSrc int32, zDelta uintptr, lenDelta int32, zOut uintptr) int32 { /* sqlite3.c:204247:12: */ bp := tls.Alloc(12) defer tls.Free(12) *(*uintptr)(unsafe.Pointer(bp)) = zDelta @@ -164609,7 +164640,7 @@ func rbuDeltaApply(tls *libc.TLS, zSrc uintptr, lenSrc int32, zDelta uintptr, le return -1 } -func rbuDeltaOutputSize(tls *libc.TLS, zDelta uintptr, lenDelta int32) int32 { /* sqlite3.c:204276:12: */ +func rbuDeltaOutputSize(tls *libc.TLS, zDelta uintptr, lenDelta int32) int32 { /* sqlite3.c:204333:12: */ bp := tls.Alloc(12) defer tls.Free(12) *(*uintptr)(unsafe.Pointer(bp)) = zDelta @@ -164634,7 +164665,7 @@ func rbuDeltaOutputSize(tls *libc.TLS, zDelta uintptr, lenDelta int32) int32 { / // arguments must be passed to this function. The first is the blob to // patch and the second the patch to apply. If no error occurs, this // function returns the patched blob. -func rbuFossilDeltaFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:204298:13: */ +func rbuFossilDeltaFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:204355:13: */ var aDelta uintptr var nDelta int32 var aOrig uintptr @@ -164677,7 +164708,7 @@ func rbuFossilDeltaFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr // an SQLite error code. Additionally, set output variable *pzErrmsg to // point to a buffer containing an error message. It is the responsibility // of the caller to (eventually) free this buffer using sqlite3_free(). -func prepareAndCollectError(tls *libc.TLS, db uintptr, ppStmt uintptr, pzErrmsg uintptr, zSql uintptr) int32 { /* sqlite3.c:204351:12: */ +func prepareAndCollectError(tls *libc.TLS, db uintptr, ppStmt uintptr, pzErrmsg uintptr, zSql uintptr) int32 { /* sqlite3.c:204408:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -164695,7 +164726,7 @@ func prepareAndCollectError(tls *libc.TLS, db uintptr, ppStmt uintptr, pzErrmsg // If an error has occurred, then set *pzErrmsg to point to a buffer // containing an error message. It is the responsibility of the caller // to eventually free this buffer using sqlite3_free(). -func resetAndCollectError(tls *libc.TLS, pStmt uintptr, pzErrmsg uintptr) int32 { /* sqlite3.c:204373:12: */ +func resetAndCollectError(tls *libc.TLS, pStmt uintptr, pzErrmsg uintptr) int32 { /* sqlite3.c:204430:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -164719,7 +164750,7 @@ func resetAndCollectError(tls *libc.TLS, pStmt uintptr, pzErrmsg uintptr) int32 // // If argument zSql is NULL, this function assumes that an OOM has occurred. // In this case SQLITE_NOMEM is returned and *ppStmt set to NULL. -func prepareFreeAndCollectError(tls *libc.TLS, db uintptr, ppStmt uintptr, pzErrmsg uintptr, zSql uintptr) int32 { /* sqlite3.c:204396:12: */ +func prepareFreeAndCollectError(tls *libc.TLS, db uintptr, ppStmt uintptr, pzErrmsg uintptr, zSql uintptr) int32 { /* sqlite3.c:204453:12: */ var rc int32 if zSql == uintptr(0) { @@ -164734,7 +164765,7 @@ func prepareFreeAndCollectError(tls *libc.TLS, db uintptr, ppStmt uintptr, pzErr // Free the RbuObjIter.azTblCol[] and RbuObjIter.abTblPk[] arrays allocated // by an earlier call to rbuObjIterCacheTableInfo(). -func rbuObjIterFreeCols(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:204418:13: */ +func rbuObjIterFreeCols(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:204475:13: */ var i int32 for i = 0; i < (*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol; i++ { Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8))) @@ -164752,7 +164783,7 @@ func rbuObjIterFreeCols(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:204418:13: // Finalize all statements and free all allocations that are specific to // the current object (table/index pair). -func rbuObjIterClearStatements(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:204438:13: */ +func rbuObjIterClearStatements(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:204495:13: */ var pUp uintptr Xsqlite3_finalize(tls, (*RbuObjIter)(unsafe.Pointer(pIter)).FpSelect) @@ -164782,7 +164813,7 @@ func rbuObjIterClearStatements(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:2044 // Clean up any resources allocated as part of the iterator object passed // as the only argument. -func rbuObjIterFinalize(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:204470:13: */ +func rbuObjIterFinalize(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:204527:13: */ rbuObjIterClearStatements(tls, pIter) Xsqlite3_finalize(tls, (*RbuObjIter)(unsafe.Pointer(pIter)).FpTblIter) Xsqlite3_finalize(tls, (*RbuObjIter)(unsafe.Pointer(pIter)).FpIdxIter) @@ -164796,7 +164827,7 @@ func rbuObjIterFinalize(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:204470:13: // pointing to the next entry. Otherwise, an error code and message is // left in the RBU handle passed as the first argument. A copy of the // error code is returned. -func rbuObjIterNext(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlite3.c:204486:12: */ +func rbuObjIterNext(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlite3.c:204543:12: */ var rc int32 = (*Sqlite3rbu)(unsafe.Pointer(p)).Frc if rc == SQLITE_OK { @@ -164877,7 +164908,7 @@ func rbuObjIterNext(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlite3. // // For an rbu vacuum handle, a copy of the first argument is returned if // the second argument is either missing or 0 (not a view). -func rbuTargetNameFunc(tls *libc.TLS, pCtx uintptr, argc int32, argv uintptr) { /* sqlite3.c:204566:13: */ +func rbuTargetNameFunc(tls *libc.TLS, pCtx uintptr, argc int32, argv uintptr) { /* sqlite3.c:204623:13: */ var p uintptr = Xsqlite3_user_data(tls, pCtx) var zIn uintptr @@ -164907,7 +164938,7 @@ func rbuTargetNameFunc(tls *libc.TLS, pCtx uintptr, argc int32, argv uintptr) { // pointing to the first entry. Otherwise, an error code and message is // left in the RBU handle passed as the first argument. A copy of the // error code is returned. -func rbuObjIterFirst(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlite3.c:204602:12: */ +func rbuObjIterFirst(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlite3.c:204659:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -164942,7 +164973,7 @@ func rbuObjIterFirst(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlite3 // than SQLITE_OK), then this function returns NULL without modifying the // stored error code. In this case it still calls sqlite3_free() on any // printf() parameters associated with %z conversions. -func rbuMPrintf(tls *libc.TLS, p uintptr, zFmt uintptr, va uintptr) uintptr { /* sqlite3.c:204637:13: */ +func rbuMPrintf(tls *libc.TLS, p uintptr, zFmt uintptr, va uintptr) uintptr { /* sqlite3.c:204694:13: */ var zSql uintptr = uintptr(0) var ap Va_list _ = ap @@ -164968,7 +164999,7 @@ func rbuMPrintf(tls *libc.TLS, p uintptr, zFmt uintptr, va uintptr) uintptr { /* // If an error occurs, an error code and error message is stored in the // RBU handle. If an error has already occurred when this function is // called, it is a no-op. -func rbuMPrintfExec(tls *libc.TLS, p uintptr, db uintptr, zFmt uintptr, va uintptr) int32 { /* sqlite3.c:204662:12: */ +func rbuMPrintfExec(tls *libc.TLS, p uintptr, db uintptr, zFmt uintptr, va uintptr) int32 { /* sqlite3.c:204719:12: */ var ap Va_list _ = ap var zSql uintptr @@ -164994,7 +165025,7 @@ func rbuMPrintfExec(tls *libc.TLS, p uintptr, db uintptr, zFmt uintptr, va uintp // error has already occurred when this function is called, return NULL // immediately without attempting the allocation or modifying the stored // error code. -func rbuMalloc(tls *libc.TLS, p uintptr, nByte Sqlite3_int64) uintptr { /* sqlite3.c:204689:13: */ +func rbuMalloc(tls *libc.TLS, p uintptr, nByte Sqlite3_int64) uintptr { /* sqlite3.c:204746:13: */ var pRet uintptr = uintptr(0) if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { @@ -165011,7 +165042,7 @@ func rbuMalloc(tls *libc.TLS, p uintptr, nByte Sqlite3_int64) uintptr { /* sqlit // Allocate and zero the pIter->azTblCol[] and abTblPk[] arrays so that // there is room for at least nCol elements. If an OOM occurs, store an // error code in the RBU handle passed as the first argument. -func rbuAllocateIterArrays(tls *libc.TLS, p uintptr, pIter uintptr, nCol int32) { /* sqlite3.c:204709:13: */ +func rbuAllocateIterArrays(tls *libc.TLS, p uintptr, pIter uintptr, nCol int32) { /* sqlite3.c:204766:13: */ var nByte Sqlite3_int64 = Sqlite3_int64((uint64(2)*uint64(unsafe.Sizeof(uintptr(0))) + uint64(unsafe.Sizeof(int32(0))) + uint64(3)*uint64(unsafe.Sizeof(U8(0)))) * uint64(nCol)) var azNew uintptr @@ -165034,7 +165065,7 @@ func rbuAllocateIterArrays(tls *libc.TLS, p uintptr, pIter uintptr, nCol int32) // If an OOM condition is encountered when attempting to allocate memory, // output variable (*pRc) is set to SQLITE_NOMEM before returning. Otherwise, // if the allocation succeeds, (*pRc) is left unchanged. -func rbuStrndup(tls *libc.TLS, zStr uintptr, pRc uintptr) uintptr { /* sqlite3.c:204734:13: */ +func rbuStrndup(tls *libc.TLS, zStr uintptr, pRc uintptr) uintptr { /* sqlite3.c:204791:13: */ var zRet uintptr = uintptr(0) if *(*int32)(unsafe.Pointer(pRc)) == SQLITE_OK { @@ -165057,7 +165088,7 @@ func rbuStrndup(tls *libc.TLS, zStr uintptr, pRc uintptr) uintptr { /* sqlite3.c // If the sqlite3_finalize() call indicates that an error occurs, and the // rbu handle error code is not already set, set the error code and error // message accordingly. -func rbuFinalize(tls *libc.TLS, p uintptr, pStmt uintptr) { /* sqlite3.c:204759:13: */ +func rbuFinalize(tls *libc.TLS, p uintptr, pStmt uintptr) { /* sqlite3.c:204816:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -165107,7 +165138,7 @@ func rbuFinalize(tls *libc.TLS, p uintptr, pStmt uintptr) { /* sqlite3.c:204759: // }else{ // return RBU_PK_NONE // } -func rbuTableType(tls *libc.TLS, p uintptr, zTab uintptr, peType uintptr, piTnum uintptr, piPk uintptr) { /* sqlite3.c:204807:13: */ +func rbuTableType(tls *libc.TLS, p uintptr, zTab uintptr, peType uintptr, piTnum uintptr, piPk uintptr) { /* sqlite3.c:204864:13: */ bp := tls.Alloc(64) defer tls.Free(64) @@ -165227,7 +165258,7 @@ __16: // This is a helper function for rbuObjIterCacheTableInfo(). It populates // the pIter->abIndexed[] array. -func rbuObjIterCacheIndexedCols(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:204893:13: */ +func rbuObjIterCacheIndexedCols(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:204950:13: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -165285,7 +165316,7 @@ func rbuObjIterCacheIndexedCols(tls *libc.TLS, p uintptr, pIter uintptr) { /* sq // Return SQLITE_OK if successful, or an SQLite error code otherwise. If // an error does occur, an error code and error message are also left in // the RBU handle. -func rbuObjIterCacheTableInfo(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlite3.c:204947:12: */ +func rbuObjIterCacheTableInfo(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlite3.c:205004:12: */ bp := tls.Alloc(72) defer tls.Free(72) @@ -165407,7 +165438,7 @@ func rbuObjIterCacheTableInfo(tls *libc.TLS, p uintptr, pIter uintptr) int32 { / // This function constructs and returns a pointer to a nul-terminated // string containing some SQL clause or list based on one or more of the // column names currently stored in the pIter->azTblCol[] array. -func rbuObjIterGetCollist(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { /* sqlite3.c:205057:13: */ +func rbuObjIterGetCollist(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { /* sqlite3.c:205114:13: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -165426,7 +165457,7 @@ func rbuObjIterGetCollist(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { /* // in order, for the current table. Before each column name, add the text // zPre. After each column name, add the zPost text. Use zSeparator as // the separator text (usually ", "). -func rbuObjIterGetPkList(tls *libc.TLS, p uintptr, pIter uintptr, zPre uintptr, zSeparator uintptr, zPost uintptr) uintptr { /* sqlite3.c:205078:13: */ +func rbuObjIterGetPkList(tls *libc.TLS, p uintptr, pIter uintptr, zPre uintptr, zSeparator uintptr, zPost uintptr) uintptr { /* sqlite3.c:205135:13: */ bp := tls.Alloc(40) defer tls.Free(40) @@ -165468,7 +165499,7 @@ func rbuObjIterGetPkList(tls *libc.TLS, p uintptr, pIter uintptr, zPre uintptr, // // Instead of "?" placeholders, the actual WHERE clauses created by // this function contain literal SQL values. -func rbuVacuumTableStart(tls *libc.TLS, p uintptr, pIter uintptr, bRowid int32, zWrite uintptr) uintptr { /* sqlite3.c:205123:13: */ +func rbuVacuumTableStart(tls *libc.TLS, p uintptr, pIter uintptr, bRowid int32, zWrite uintptr) uintptr { /* sqlite3.c:205180:13: */ bp := tls.Alloc(80) defer tls.Free(80) @@ -165527,7 +165558,7 @@ func rbuVacuumTableStart(tls *libc.TLS, p uintptr, pIter uintptr, bRowid int32, // If the expression cannot be created, NULL is returned. In this case, // the caller has to use an OFFSET clause to extract only the required // rows from the sourct table, just as it does for an RBU update operation. -func rbuVacuumIndexStart(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { /* sqlite3.c:205190:13: */ +func rbuVacuumIndexStart(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { /* sqlite3.c:205247:13: */ bp := tls.Alloc(192) defer tls.Free(192) @@ -165708,7 +165739,7 @@ index_start_out: // pzImposterCols: ... // pzImposterPk: ... // pzWhere: ... -func rbuObjIterGetIndexCols(tls *libc.TLS, p uintptr, pIter uintptr, pzImposterCols uintptr, pzImposterPk uintptr, pzWhere uintptr, pnBind uintptr) uintptr { /* sqlite3.c:205305:13: */ +func rbuObjIterGetIndexCols(tls *libc.TLS, p uintptr, pIter uintptr, pzImposterCols uintptr, pzImposterPk uintptr, pzWhere uintptr, pnBind uintptr) uintptr { /* sqlite3.c:205362:13: */ bp := tls.Alloc(208) defer tls.Free(208) @@ -165819,7 +165850,7 @@ func rbuObjIterGetIndexCols(tls *libc.TLS, p uintptr, pIter uintptr, pzImposterC // // For tables with implicit rowids - RBU_PK_EXTERNAL and RBU_PK_NONE, append // the text ", old._rowid_" to the returned value. -func rbuObjIterGetOldlist(tls *libc.TLS, p uintptr, pIter uintptr, zObj uintptr) uintptr { /* sqlite3.c:205417:13: */ +func rbuObjIterGetOldlist(tls *libc.TLS, p uintptr, pIter uintptr, zObj uintptr) uintptr { /* sqlite3.c:205474:13: */ bp := tls.Alloc(64) defer tls.Free(64) @@ -165857,7 +165888,7 @@ func rbuObjIterGetOldlist(tls *libc.TLS, p uintptr, pIter uintptr, zObj uintptr) // Return the string: // // "b = ?1 AND c = ?2" -func rbuObjIterGetWhere(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { /* sqlite3.c:205458:13: */ +func rbuObjIterGetWhere(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { /* sqlite3.c:205515:13: */ bp := tls.Alloc(80) defer tls.Free(80) @@ -165895,7 +165926,7 @@ func rbuObjIterGetWhere(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { /* sq // is something wrong with the rbu_control value in the rbu_control value // stored in the (p->nCol+1)'th column. Set the error code and error message // of the RBU handle to something reflecting this. -func rbuBadControlError(tls *libc.TLS, p uintptr) { /* sqlite3.c:205499:13: */ +func rbuBadControlError(tls *libc.TLS, p uintptr) { /* sqlite3.c:205556:13: */ (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_ERROR (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+29162, 0) } @@ -165915,7 +165946,7 @@ func rbuBadControlError(tls *libc.TLS, p uintptr) { /* sqlite3.c:205499:13: */ // argument and NULL is returned. Or, if an error has already occurred // when this function is called, NULL is returned immediately, without // attempting the allocation or modifying the stored error code. -func rbuObjIterGetSetlist(tls *libc.TLS, p uintptr, pIter uintptr, zMask uintptr) uintptr { /* sqlite3.c:205522:13: */ +func rbuObjIterGetSetlist(tls *libc.TLS, p uintptr, pIter uintptr, zMask uintptr) uintptr { /* sqlite3.c:205579:13: */ bp := tls.Alloc(112) defer tls.Free(112) @@ -165961,7 +165992,7 @@ func rbuObjIterGetSetlist(tls *libc.TLS, p uintptr, pIter uintptr, zMask uintptr // argument and NULL is returned. Or, if an error has already occurred // when this function is called, NULL is returned immediately, without // attempting the allocation or modifying the stored error code. -func rbuObjIterGetBindlist(tls *libc.TLS, p uintptr, nBind int32) uintptr { /* sqlite3.c:205576:13: */ +func rbuObjIterGetBindlist(tls *libc.TLS, p uintptr, nBind int32) uintptr { /* sqlite3.c:205633:13: */ var zRet uintptr = uintptr(0) var nByte Sqlite3_int64 = int64(2)*Sqlite3_int64(nBind) + int64(1) @@ -165991,7 +166022,7 @@ func rbuObjIterGetBindlist(tls *libc.TLS, p uintptr, nBind int32) uintptr { /* s // this function returns: // // PRIMARY KEY("b", "a" DESC) -func rbuWithoutRowidPK(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { /* sqlite3.c:205603:13: */ +func rbuWithoutRowidPK(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { /* sqlite3.c:205660:13: */ bp := tls.Alloc(72) defer tls.Free(72) @@ -166054,7 +166085,7 @@ func rbuWithoutRowidPK(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { /* sql // // CREATE TABLE rbu_imposter2(c1 TEXT, c2 REAL, id INTEGER) WITHOUT ROWID; // -func rbuCreateImposterTable2(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:205662:13: */ +func rbuCreateImposterTable2(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:205719:13: */ bp := tls.Alloc(184) defer tls.Free(184) @@ -166130,7 +166161,7 @@ func rbuCreateImposterTable2(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlit // More precisely, the "same schema" means the same columns, types, // collation sequences. For tables that do not have an external PRIMARY // KEY, it also means the same PRIMARY KEY declaration. -func rbuCreateImposterTable(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:205736:13: */ +func rbuCreateImposterTable(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:205793:13: */ bp := tls.Alloc(200) defer tls.Free(200) @@ -166194,7 +166225,7 @@ func rbuCreateImposterTable(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite // the target table, plus one (for the rbu_control column), plus one more // (for the rbu_rowid column) if the target table is an implicit IPK or // virtual table. -func rbuObjIterPrepareTmpInsert(tls *libc.TLS, p uintptr, pIter uintptr, zCollist uintptr, zRbuRowid uintptr) { /* sqlite3.c:205792:13: */ +func rbuObjIterPrepareTmpInsert(tls *libc.TLS, p uintptr, pIter uintptr, zCollist uintptr, zRbuRowid uintptr) { /* sqlite3.c:205849:13: */ bp := tls.Alloc(40) defer tls.Free(40) @@ -166209,7 +166240,7 @@ func rbuObjIterPrepareTmpInsert(tls *libc.TLS, p uintptr, pIter uintptr, zCollis } } -func rbuTmpInsertFunc(tls *libc.TLS, pCtx uintptr, nVal int32, apVal uintptr) { /* sqlite3.c:205810:13: */ +func rbuTmpInsertFunc(tls *libc.TLS, pCtx uintptr, nVal int32, apVal uintptr) { /* sqlite3.c:205867:13: */ var p uintptr = Xsqlite3_user_data(tls, pCtx) var rc int32 = SQLITE_OK var i int32 @@ -166231,7 +166262,7 @@ func rbuTmpInsertFunc(tls *libc.TLS, pCtx uintptr, nVal int32, apVal uintptr) { } } -func rbuObjIterGetIndexWhere(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { /* sqlite3.c:205840:13: */ +func rbuObjIterGetIndexWhere(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { /* sqlite3.c:205897:13: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -166339,7 +166370,7 @@ func rbuObjIterGetIndexWhere(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { // Ensure that the SQLite statement handles required to update the // target database object currently indicated by the iterator passed // as the second argument are available. -func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32) int32 { /* sqlite3.c:205940:12: */ +func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32) int32 { /* sqlite3.c:205997:12: */ bp := tls.Alloc(628) defer tls.Free(628) @@ -166614,7 +166645,7 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32 // // If the zMask string does not specify any columns to update, then this // is not an error. Output variable *ppStmt is set to NULL in this case. -func rbuGetUpdateStmt(tls *libc.TLS, p uintptr, pIter uintptr, zMask uintptr, ppStmt uintptr) int32 { /* sqlite3.c:206207:12: */ +func rbuGetUpdateStmt(tls *libc.TLS, p uintptr, pIter uintptr, zMask uintptr, ppStmt uintptr) int32 { /* sqlite3.c:206264:12: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -166680,7 +166711,7 @@ func rbuGetUpdateStmt(tls *libc.TLS, p uintptr, pIter uintptr, zMask uintptr, pp return (*Sqlite3rbu)(unsafe.Pointer(p)).Frc } -func rbuOpenDbhandle(tls *libc.TLS, p uintptr, zName uintptr, bUseVfs int32) uintptr { /* sqlite3.c:206275:16: */ +func rbuOpenDbhandle(tls *libc.TLS, p uintptr, zName uintptr, bUseVfs int32) uintptr { /* sqlite3.c:206332:16: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -166703,7 +166734,7 @@ func rbuOpenDbhandle(tls *libc.TLS, p uintptr, zName uintptr, bUseVfs int32) uin } // Free an RbuState object allocated by rbuLoadState(). -func rbuFreeState(tls *libc.TLS, p uintptr) { /* sqlite3.c:206296:13: */ +func rbuFreeState(tls *libc.TLS, p uintptr) { /* sqlite3.c:206353:13: */ if p != 0 { Xsqlite3_free(tls, (*RbuState)(unsafe.Pointer(p)).FzTbl) Xsqlite3_free(tls, (*RbuState)(unsafe.Pointer(p)).FzDataTbl) @@ -166719,7 +166750,7 @@ func rbuFreeState(tls *libc.TLS, p uintptr) { /* sqlite3.c:206296:13: */ // // If an error occurs, leave an error code and message in the rbu handle // and return NULL. -func rbuLoadState(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:206314:17: */ +func rbuLoadState(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:206371:17: */ bp := tls.Alloc(20) defer tls.Free(20) @@ -166803,7 +166834,7 @@ func rbuLoadState(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:206314:17: */ // If argument dbMain is not NULL, then it is a database handle already // open on the target database. Use this handle instead of opening a new // one. -func rbuOpenDatabase(tls *libc.TLS, p uintptr, dbMain uintptr, pbRetry uintptr) { /* sqlite3.c:206395:13: */ +func rbuOpenDatabase(tls *libc.TLS, p uintptr, dbMain uintptr, pbRetry uintptr) { /* sqlite3.c:206452:13: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -166965,7 +166996,7 @@ func rbuOpenDatabase(tls *libc.TLS, p uintptr, dbMain uintptr, pbRetry uintptr) // test.db-wal => test.wal // test.db-shm => test.shm // test.db-mj7f3319fa => test.9fa -func rbuFileSuffix3(tls *libc.TLS, zBase uintptr, z uintptr) { /* sqlite3.c:206576:13: */ +func rbuFileSuffix3(tls *libc.TLS, zBase uintptr, z uintptr) { /* sqlite3.c:206633:13: */ } // Return the current wal-index header checksum for the target database @@ -166973,7 +167004,7 @@ func rbuFileSuffix3(tls *libc.TLS, zBase uintptr, z uintptr) { /* sqlite3.c:2065 // // The checksum is store in the first page of xShmMap memory as an 8-byte // blob starting at byte offset 40. -func rbuShmChecksum(tls *libc.TLS, p uintptr) I64 { /* sqlite3.c:206597:12: */ +func rbuShmChecksum(tls *libc.TLS, p uintptr) I64 { /* sqlite3.c:206654:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -167006,7 +167037,7 @@ func rbuShmChecksum(tls *libc.TLS, p uintptr) I64 { /* sqlite3.c:206597:12: */ // object, then the rbu handle is set to DONE state. This occurs if some // other client appends a transaction to the wal file in the middle of // an incremental checkpoint. -func rbuSetupCheckpoint(tls *libc.TLS, p uintptr, pState uintptr) { /* sqlite3.c:206626:13: */ +func rbuSetupCheckpoint(tls *libc.TLS, p uintptr, pState uintptr) { /* sqlite3.c:206683:13: */ // If pState is NULL, then the wal file may not have been opened and // recovered. Running a read-statement here to ensure that doing so @@ -167098,7 +167129,7 @@ func rbuSetupCheckpoint(tls *libc.TLS, p uintptr, pState uintptr) { /* sqlite3.c // Called when iAmt bytes are read from offset iOff of the wal file while // the rbu object is in capture mode. Record the frame number of the frame // being read in the aFrame[] array. -func rbuCaptureWalRead(tls *libc.TLS, pRbu uintptr, iOff I64, iAmt int32) int32 { /* sqlite3.c:206710:12: */ +func rbuCaptureWalRead(tls *libc.TLS, pRbu uintptr, iOff I64, iAmt int32) int32 { /* sqlite3.c:206767:12: */ var mReq U32 = U32(int32(1)<dbMain to one more than the schema cookie of the main // db opened by p->dbRbu. -func rbuIncrSchemaCookie(tls *libc.TLS, p uintptr) { /* sqlite3.c:207135:13: */ +func rbuIncrSchemaCookie(tls *libc.TLS, p uintptr) { /* sqlite3.c:207192:13: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -167505,7 +167536,7 @@ func rbuIncrSchemaCookie(tls *libc.TLS, p uintptr) { /* sqlite3.c:207135:13: */ // Update the contents of the rbu_state table within the rbu database. The // value stored in the RBU_STATE_STAGE column is eStage. All other values // are determined by inspecting the rbu handle passed as the first argument. -func rbuSaveState(tls *libc.TLS, p uintptr, eStage int32) { /* sqlite3.c:207166:13: */ +func rbuSaveState(tls *libc.TLS, p uintptr, eStage int32) { /* sqlite3.c:207223:13: */ bp := tls.Alloc(176) defer tls.Free(176) @@ -167560,7 +167591,7 @@ func rbuSaveState(tls *libc.TLS, p uintptr, eStage int32) { /* sqlite3.c:207166: // // In short, it copies the value of the specified PRAGMA setting from // dbRbu to dbMain. -func rbuCopyPragma(tls *libc.TLS, p uintptr, zPragma uintptr) { /* sqlite3.c:207227:13: */ +func rbuCopyPragma(tls *libc.TLS, p uintptr, zPragma uintptr) { /* sqlite3.c:207284:13: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -167579,7 +167610,7 @@ func rbuCopyPragma(tls *libc.TLS, p uintptr, zPragma uintptr) { /* sqlite3.c:207 // The RBU handle passed as the only argument has just been opened and // the state database is empty. If this RBU handle was opened for an // RBU vacuum operation, create the schema in the target db. -func rbuCreateTargetSchema(tls *libc.TLS, p uintptr) { /* sqlite3.c:207247:13: */ +func rbuCreateTargetSchema(tls *libc.TLS, p uintptr) { /* sqlite3.c:207304:13: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -167629,7 +167660,7 @@ func rbuCreateTargetSchema(tls *libc.TLS, p uintptr) { /* sqlite3.c:207247:13: * } // Step the RBU object. -func Xsqlite3rbu_step(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:207299:16: */ +func Xsqlite3rbu_step(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:207356:16: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -167772,7 +167803,7 @@ func Xsqlite3rbu_step(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:207299:16: // Compare strings z1 and z2, returning 0 if they are identical, or non-zero // otherwise. Either or both argument may be NULL. Two NULL values are // considered equal, and NULL is considered distinct from all other values. -func rbuStrCompare(tls *libc.TLS, z1 uintptr, z2 uintptr) int32 { /* sqlite3.c:207428:12: */ +func rbuStrCompare(tls *libc.TLS, z1 uintptr, z2 uintptr) int32 { /* sqlite3.c:207485:12: */ if z1 == uintptr(0) && z2 == uintptr(0) { return 0 } @@ -167790,7 +167821,7 @@ func rbuStrCompare(tls *libc.TLS, z1 uintptr, z2 uintptr) int32 { /* sqlite3.c:2 // // If an error occurs, an error code and error message are left in the // rbu handle passed as the first argument. -func rbuSetupOal(tls *libc.TLS, p uintptr, pState uintptr) { /* sqlite3.c:207444:13: */ +func rbuSetupOal(tls *libc.TLS, p uintptr, pState uintptr) { /* sqlite3.c:207501:13: */ if (*RbuState)(unsafe.Pointer(pState)).FzTbl != 0 { var pIter uintptr = p + 80 @@ -167820,7 +167851,7 @@ func rbuSetupOal(tls *libc.TLS, p uintptr, pState uintptr) { /* sqlite3.c:207444 // If there is a "*-oal" file in the file-system corresponding to the // target database in the file-system, delete it. If an error occurs, // leave an error code and error message in the rbu handle. -func rbuDeleteOalFile(tls *libc.TLS, p uintptr) { /* sqlite3.c:207477:13: */ +func rbuDeleteOalFile(tls *libc.TLS, p uintptr) { /* sqlite3.c:207534:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -167839,7 +167870,7 @@ func rbuDeleteOalFile(tls *libc.TLS, p uintptr) { /* sqlite3.c:207477:13: */ // argument. This VFS will be used unless the call to sqlite3rbu_open() // specified a URI with a vfs=? option in place of a target database // file name. -func rbuCreateVfs(tls *libc.TLS, p uintptr) { /* sqlite3.c:207493:13: */ +func rbuCreateVfs(tls *libc.TLS, p uintptr) { /* sqlite3.c:207550:13: */ bp := tls.Alloc(76) defer tls.Free(76) @@ -167860,7 +167891,7 @@ func rbuCreateVfs(tls *libc.TLS, p uintptr) { /* sqlite3.c:207493:13: */ // Destroy the private VFS created for the rbu handle passed as the only // argument by an earlier call to rbuCreateVfs(). -func rbuDeleteVfs(tls *libc.TLS, p uintptr) { /* sqlite3.c:207513:13: */ +func rbuDeleteVfs(tls *libc.TLS, p uintptr) { /* sqlite3.c:207570:13: */ if (*Sqlite3rbu)(unsafe.Pointer(p)).FzVfsName != 0 { Xsqlite3rbu_destroy_vfs(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FzVfsName) (*Sqlite3rbu)(unsafe.Pointer(p)).FzVfsName = uintptr(0) @@ -167870,7 +167901,7 @@ func rbuDeleteVfs(tls *libc.TLS, p uintptr) { /* sqlite3.c:207513:13: */ // This user-defined SQL function is invoked with a single argument - the // name of a table expected to appear in the target database. It returns // the number of auxilliary indexes on the table. -func rbuIndexCntFunc(tls *libc.TLS, pCtx uintptr, nVal int32, apVal uintptr) { /* sqlite3.c:207525:13: */ +func rbuIndexCntFunc(tls *libc.TLS, pCtx uintptr, nVal int32, apVal uintptr) { /* sqlite3.c:207582:13: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -167919,7 +167950,7 @@ func rbuIndexCntFunc(tls *libc.TLS, pCtx uintptr, nVal int32, apVal uintptr) { / // sqlite3rbu.nPhaseOneStep is initialized to the sum of (1 + nIndex) * cnt // for all rows in the rbu_count table, where nIndex is the number of // indexes on the corresponding target database table. -func rbuInitPhaseOneSteps(tls *libc.TLS, p uintptr) { /* sqlite3.c:207575:13: */ +func rbuInitPhaseOneSteps(tls *libc.TLS, p uintptr) { /* sqlite3.c:207632:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -167961,7 +167992,7 @@ func rbuInitPhaseOneSteps(tls *libc.TLS, p uintptr) { /* sqlite3.c:207575:13: */ } } -func openRbuHandle(tls *libc.TLS, zTarget uintptr, zRbu uintptr, zState uintptr) uintptr { /* sqlite3.c:207616:19: */ +func openRbuHandle(tls *libc.TLS, zTarget uintptr, zRbu uintptr, zState uintptr) uintptr { /* sqlite3.c:207673:19: */ bp := tls.Alloc(20) defer tls.Free(20) @@ -168134,7 +168165,7 @@ func openRbuHandle(tls *libc.TLS, zTarget uintptr, zRbu uintptr, zState uintptr) // Allocate and return an RBU handle with all fields zeroed except for the // error code, which is set to SQLITE_MISUSE. -func rbuMisuseError(tls *libc.TLS) uintptr { /* sqlite3.c:207780:19: */ +func rbuMisuseError(tls *libc.TLS) uintptr { /* sqlite3.c:207837:19: */ var pRet uintptr pRet = Xsqlite3_malloc64(tls, uint64(unsafe.Sizeof(Sqlite3rbu{}))) if pRet != 0 { @@ -168145,7 +168176,7 @@ func rbuMisuseError(tls *libc.TLS) uintptr { /* sqlite3.c:207780:19: */ } // Open and return a new RBU handle. -func Xsqlite3rbu_open(tls *libc.TLS, zTarget uintptr, zRbu uintptr, zState uintptr) uintptr { /* sqlite3.c:207793:23: */ +func Xsqlite3rbu_open(tls *libc.TLS, zTarget uintptr, zRbu uintptr, zState uintptr) uintptr { /* sqlite3.c:207850:23: */ if zTarget == uintptr(0) || zRbu == uintptr(0) { return rbuMisuseError(tls) } @@ -168153,7 +168184,7 @@ func Xsqlite3rbu_open(tls *libc.TLS, zTarget uintptr, zRbu uintptr, zState uintp } // Open a handle to begin or resume an RBU VACUUM operation. -func Xsqlite3rbu_vacuum(tls *libc.TLS, zTarget uintptr, zState uintptr) uintptr { /* sqlite3.c:207805:23: */ +func Xsqlite3rbu_vacuum(tls *libc.TLS, zTarget uintptr, zState uintptr) uintptr { /* sqlite3.c:207862:23: */ if zTarget == uintptr(0) { return rbuMisuseError(tls) } @@ -168168,7 +168199,7 @@ func Xsqlite3rbu_vacuum(tls *libc.TLS, zTarget uintptr, zState uintptr) uintptr } // Return the database handle used by pRbu. -func Xsqlite3rbu_db(tls *libc.TLS, pRbu uintptr, bRbu int32) uintptr { /* sqlite3.c:207823:20: */ +func Xsqlite3rbu_db(tls *libc.TLS, pRbu uintptr, bRbu int32) uintptr { /* sqlite3.c:207880:20: */ var db uintptr = uintptr(0) if pRbu != 0 { db = func() uintptr { @@ -168184,7 +168215,7 @@ func Xsqlite3rbu_db(tls *libc.TLS, pRbu uintptr, bRbu int32) uintptr { /* sqlite // If the error code currently stored in the RBU handle is SQLITE_CONSTRAINT, // then edit any error message string so as to remove all occurrences of // the pattern "rbu_imp_[0-9]*". -func rbuEditErrmsg(tls *libc.TLS, p uintptr) { /* sqlite3.c:207837:13: */ +func rbuEditErrmsg(tls *libc.TLS, p uintptr) { /* sqlite3.c:207894:13: */ if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_CONSTRAINT && (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg != 0 { var i uint32 var nErrmsg Size_t = libc.Xstrlen(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg) @@ -168202,7 +168233,7 @@ func rbuEditErrmsg(tls *libc.TLS, p uintptr) { /* sqlite3.c:207837:13: */ } // Close the RBU handle. -func Xsqlite3rbu_close(tls *libc.TLS, p uintptr, pzErrmsg uintptr) int32 { /* sqlite3.c:207855:16: */ +func Xsqlite3rbu_close(tls *libc.TLS, p uintptr, pzErrmsg uintptr) int32 { /* sqlite3.c:207912:16: */ var rc int32 if p != 0 { @@ -168267,13 +168298,13 @@ func Xsqlite3rbu_close(tls *libc.TLS, p uintptr, pzErrmsg uintptr) int32 { /* sq // Return the total number of key-value operations (inserts, deletes or // updates) that have been performed on the target database since the // current RBU update was started. -func Xsqlite3rbu_progress(tls *libc.TLS, pRbu uintptr) Sqlite3_int64 { /* sqlite3.c:207918:26: */ +func Xsqlite3rbu_progress(tls *libc.TLS, pRbu uintptr) Sqlite3_int64 { /* sqlite3.c:207975:26: */ return Sqlite3_int64((*Sqlite3rbu)(unsafe.Pointer(pRbu)).FnProgress) } // Return permyriadage progress indications for the two main stages of // an RBU update. -func Xsqlite3rbu_bp_progress(tls *libc.TLS, p uintptr, pnOne uintptr, pnTwo uintptr) { /* sqlite3.c:207926:17: */ +func Xsqlite3rbu_bp_progress(tls *libc.TLS, p uintptr, pnOne uintptr, pnTwo uintptr) { /* sqlite3.c:207983:17: */ var MAX_PROGRESS int32 = 10000 switch (*Sqlite3rbu)(unsafe.Pointer(p)).FeStage { case RBU_STAGE_OAL: @@ -168306,7 +168337,7 @@ func Xsqlite3rbu_bp_progress(tls *libc.TLS, p uintptr, pnOne uintptr, pnTwo uint } // Return the current state of the RBU vacuum or update operation. -func Xsqlite3rbu_state(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:207961:16: */ +func Xsqlite3rbu_state(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:208018:16: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -168324,7 +168355,7 @@ func Xsqlite3rbu_state(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:207961:16: return int32(0) } -func Xsqlite3rbu_savestate(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:207989:16: */ +func Xsqlite3rbu_savestate(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:208046:16: */ var rc int32 = (*Sqlite3rbu)(unsafe.Pointer(p)).Frc if rc == SQLITE_DONE { return SQLITE_OK @@ -168431,7 +168462,7 @@ func Xsqlite3rbu_savestate(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:207989 // relinquished). Finally, calls to xSync() on the target database // file fail with SQLITE_INTERNAL errors. -func rbuUnlockShm(tls *libc.TLS, p uintptr) { /* sqlite3.c:208082:13: */ +func rbuUnlockShm(tls *libc.TLS, p uintptr) { /* sqlite3.c:208139:13: */ if (*Rbu_file)(unsafe.Pointer(p)).FpRbu != 0 { var xShmLock uintptr = (*sqlite3_io_methods)(unsafe.Pointer((*Sqlite3_file)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer(p)).FpReal)).FpMethods)).FxShmLock @@ -168448,7 +168479,7 @@ func rbuUnlockShm(tls *libc.TLS, p uintptr) { /* sqlite3.c:208082:13: */ } // -func rbuUpdateTempSize(tls *libc.TLS, pFd uintptr, nNew Sqlite3_int64) int32 { /* sqlite3.c:208098:12: */ +func rbuUpdateTempSize(tls *libc.TLS, pFd uintptr, nNew Sqlite3_int64) int32 { /* sqlite3.c:208155:12: */ var pRbu uintptr = (*Rbu_file)(unsafe.Pointer(pFd)).FpRbu var nDiff I64 = nNew - (*Rbu_file)(unsafe.Pointer(pFd)).Fsz *(*I64)(unsafe.Pointer(pRbu + 360)) += nDiff @@ -168466,7 +168497,7 @@ func rbuUpdateTempSize(tls *libc.TLS, pFd uintptr, nNew Sqlite3_int64) int32 { / // for all file descriptors with rbu_file.pDb!=0. If the argument has // rbu_file.pDb!=0, then it is assumed to already be present on the // main list and is only added to the pDb!=0 list. -func rbuMainlistAdd(tls *libc.TLS, p uintptr) { /* sqlite3.c:208116:13: */ +func rbuMainlistAdd(tls *libc.TLS, p uintptr) { /* sqlite3.c:208173:13: */ var pRbuVfs uintptr = (*Rbu_file)(unsafe.Pointer(p)).FpRbuVfs var pIter uintptr @@ -168488,7 +168519,7 @@ func rbuMainlistAdd(tls *libc.TLS, p uintptr) { /* sqlite3.c:208116:13: */ } // Remove an item from the main-db lists. -func rbuMainlistRemove(tls *libc.TLS, p uintptr) { /* sqlite3.c:208138:13: */ +func rbuMainlistRemove(tls *libc.TLS, p uintptr) { /* sqlite3.c:208195:13: */ var pp uintptr Xsqlite3_mutex_enter(tls, (*Rbu_vfs)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer(p)).FpRbuVfs)).Fmutex) for pp = (*Rbu_file)(unsafe.Pointer(p)).FpRbuVfs + 192; *(*uintptr)(unsafe.Pointer(pp)) != 0 && *(*uintptr)(unsafe.Pointer(pp)) != p; pp = *(*uintptr)(unsafe.Pointer(pp)) + 88 { @@ -168513,7 +168544,7 @@ func rbuMainlistRemove(tls *libc.TLS, p uintptr) { /* sqlite3.c:208138:13: */ // // If parameter bRbu is true, only search for file-descriptors with // rbu_file.pDb!=0. -func rbuFindMaindb(tls *libc.TLS, pRbuVfs uintptr, zWal uintptr, bRbu int32) uintptr { /* sqlite3.c:208159:17: */ +func rbuFindMaindb(tls *libc.TLS, pRbuVfs uintptr, zWal uintptr, bRbu int32) uintptr { /* sqlite3.c:208216:17: */ var pDb uintptr Xsqlite3_mutex_enter(tls, (*Rbu_vfs)(unsafe.Pointer(pRbuVfs)).Fmutex) if bRbu != 0 { @@ -168528,7 +168559,7 @@ func rbuFindMaindb(tls *libc.TLS, pRbuVfs uintptr, zWal uintptr, bRbu int32) uin } // Close an rbu file. -func rbuVfsClose(tls *libc.TLS, pFile uintptr) int32 { /* sqlite3.c:208174:12: */ +func rbuVfsClose(tls *libc.TLS, pFile uintptr) int32 { /* sqlite3.c:208231:12: */ var p uintptr = pFile var rc int32 var i int32 @@ -168560,7 +168591,7 @@ func rbuVfsClose(tls *libc.TLS, pFile uintptr) int32 { /* sqlite3.c:208174:12: * // Read and return an unsigned 32-bit big-endian integer from the buffer // passed as the only argument. -func rbuGetU32(tls *libc.TLS, aBuf uintptr) U32 { /* sqlite3.c:208207:12: */ +func rbuGetU32(tls *libc.TLS, aBuf uintptr) U32 { /* sqlite3.c:208264:12: */ return U32(*(*U8)(unsafe.Pointer(aBuf)))<<24 + U32(*(*U8)(unsafe.Pointer(aBuf + 1)))<<16 + U32(*(*U8)(unsafe.Pointer(aBuf + 2)))<<8 + @@ -168569,20 +168600,20 @@ func rbuGetU32(tls *libc.TLS, aBuf uintptr) U32 { /* sqlite3.c:208207:12: */ // Write an unsigned 32-bit value in big-endian format to the supplied // buffer. -func rbuPutU32(tls *libc.TLS, aBuf uintptr, iVal U32) { /* sqlite3.c:208218:13: */ +func rbuPutU32(tls *libc.TLS, aBuf uintptr, iVal U32) { /* sqlite3.c:208275:13: */ *(*U8)(unsafe.Pointer(aBuf)) = U8(iVal >> 24 & U32(0xFF)) *(*U8)(unsafe.Pointer(aBuf + 1)) = U8(iVal >> 16 & U32(0xFF)) *(*U8)(unsafe.Pointer(aBuf + 2)) = U8(iVal >> 8 & U32(0xFF)) *(*U8)(unsafe.Pointer(aBuf + 3)) = U8(iVal >> 0 & U32(0xFF)) } -func rbuPutU16(tls *libc.TLS, aBuf uintptr, iVal U16) { /* sqlite3.c:208225:13: */ +func rbuPutU16(tls *libc.TLS, aBuf uintptr, iVal U16) { /* sqlite3.c:208282:13: */ *(*U8)(unsafe.Pointer(aBuf)) = U8(int32(iVal) >> 8 & 0xFF) *(*U8)(unsafe.Pointer(aBuf + 1)) = U8(int32(iVal) >> 0 & 0xFF) } // Read data from an rbuVfs-file. -func rbuVfsRead(tls *libc.TLS, pFile uintptr, zBuf uintptr, iAmt int32, iOfst Sqlite_int64) int32 { /* sqlite3.c:208233:12: */ +func rbuVfsRead(tls *libc.TLS, pFile uintptr, zBuf uintptr, iAmt int32, iOfst Sqlite_int64) int32 { /* sqlite3.c:208290:12: */ var p uintptr = pFile var pRbu uintptr = (*Rbu_file)(unsafe.Pointer(p)).FpRbu var rc int32 @@ -168646,7 +168677,7 @@ func rbuVfsRead(tls *libc.TLS, pFile uintptr, zBuf uintptr, iAmt int32, iOfst Sq } // Write data to an rbuVfs-file. -func rbuVfsWrite(tls *libc.TLS, pFile uintptr, zBuf uintptr, iAmt int32, iOfst Sqlite_int64) int32 { /* sqlite3.c:208299:12: */ +func rbuVfsWrite(tls *libc.TLS, pFile uintptr, zBuf uintptr, iAmt int32, iOfst Sqlite_int64) int32 { /* sqlite3.c:208356:12: */ var p uintptr = pFile var pRbu uintptr = (*Rbu_file)(unsafe.Pointer(p)).FpRbu var rc int32 @@ -168685,7 +168716,7 @@ func rbuVfsWrite(tls *libc.TLS, pFile uintptr, zBuf uintptr, iAmt int32, iOfst S } // Truncate an rbuVfs-file. -func rbuVfsTruncate(tls *libc.TLS, pFile uintptr, size Sqlite_int64) int32 { /* sqlite3.c:208342:12: */ +func rbuVfsTruncate(tls *libc.TLS, pFile uintptr, size Sqlite_int64) int32 { /* sqlite3.c:208399:12: */ var p uintptr = pFile if (*Rbu_file)(unsafe.Pointer(p)).FopenFlags&SQLITE_OPEN_DELETEONCLOSE != 0 && (*Rbu_file)(unsafe.Pointer(p)).FpRbu != 0 { var rc int32 = rbuUpdateTempSize(tls, p, size) @@ -168699,7 +168730,7 @@ func rbuVfsTruncate(tls *libc.TLS, pFile uintptr, size Sqlite_int64) int32 { /* } // Sync an rbuVfs-file. -func rbuVfsSync(tls *libc.TLS, pFile uintptr, flags int32) int32 { /* sqlite3.c:208354:12: */ +func rbuVfsSync(tls *libc.TLS, pFile uintptr, flags int32) int32 { /* sqlite3.c:208411:12: */ var p uintptr = pFile if (*Rbu_file)(unsafe.Pointer(p)).FpRbu != 0 && (*Sqlite3rbu)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer(p)).FpRbu)).FeStage == RBU_STAGE_CAPTURE { if (*Rbu_file)(unsafe.Pointer(p)).FopenFlags&SQLITE_OPEN_MAIN_DB != 0 { @@ -168713,7 +168744,7 @@ func rbuVfsSync(tls *libc.TLS, pFile uintptr, flags int32) int32 { /* sqlite3.c: } // Return the current file-size of an rbuVfs-file. -func rbuVfsFileSize(tls *libc.TLS, pFile uintptr, pSize uintptr) int32 { /* sqlite3.c:208368:12: */ +func rbuVfsFileSize(tls *libc.TLS, pFile uintptr, pSize uintptr) int32 { /* sqlite3.c:208425:12: */ var p uintptr = pFile var rc int32 rc = (*struct { @@ -168733,7 +168764,7 @@ func rbuVfsFileSize(tls *libc.TLS, pFile uintptr, pSize uintptr) int32 { /* sqli } // Lock an rbuVfs-file. -func rbuVfsLock(tls *libc.TLS, pFile uintptr, eLock int32) int32 { /* sqlite3.c:208389:12: */ +func rbuVfsLock(tls *libc.TLS, pFile uintptr, eLock int32) int32 { /* sqlite3.c:208446:12: */ var p uintptr = pFile var pRbu uintptr = (*Rbu_file)(unsafe.Pointer(p)).FpRbu var rc int32 = SQLITE_OK @@ -168753,7 +168784,7 @@ func rbuVfsLock(tls *libc.TLS, pFile uintptr, eLock int32) int32 { /* sqlite3.c: } // Unlock an rbuVfs-file. -func rbuVfsUnlock(tls *libc.TLS, pFile uintptr, eLock int32) int32 { /* sqlite3.c:208411:12: */ +func rbuVfsUnlock(tls *libc.TLS, pFile uintptr, eLock int32) int32 { /* sqlite3.c:208468:12: */ var p uintptr = pFile return (*struct { f func(*libc.TLS, uintptr, int32) int32 @@ -168761,7 +168792,7 @@ func rbuVfsUnlock(tls *libc.TLS, pFile uintptr, eLock int32) int32 { /* sqlite3. } // Check if another file-handle holds a RESERVED lock on an rbuVfs-file. -func rbuVfsCheckReservedLock(tls *libc.TLS, pFile uintptr, pResOut uintptr) int32 { /* sqlite3.c:208419:12: */ +func rbuVfsCheckReservedLock(tls *libc.TLS, pFile uintptr, pResOut uintptr) int32 { /* sqlite3.c:208476:12: */ var p uintptr = pFile return (*struct { f func(*libc.TLS, uintptr, uintptr) int32 @@ -168769,7 +168800,7 @@ func rbuVfsCheckReservedLock(tls *libc.TLS, pFile uintptr, pResOut uintptr) int3 } // File control method. For custom operations on an rbuVfs-file. -func rbuVfsFileControl(tls *libc.TLS, pFile uintptr, op int32, pArg uintptr) int32 { /* sqlite3.c:208427:12: */ +func rbuVfsFileControl(tls *libc.TLS, pFile uintptr, op int32, pArg uintptr) int32 { /* sqlite3.c:208484:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -168832,7 +168863,7 @@ func rbuVfsFileControl(tls *libc.TLS, pFile uintptr, op int32, pArg uintptr) int } // Return the sector-size in bytes for an rbuVfs-file. -func rbuVfsSectorSize(tls *libc.TLS, pFile uintptr) int32 { /* sqlite3.c:208483:12: */ +func rbuVfsSectorSize(tls *libc.TLS, pFile uintptr) int32 { /* sqlite3.c:208540:12: */ var p uintptr = pFile return (*struct { f func(*libc.TLS, uintptr) int32 @@ -168840,7 +168871,7 @@ func rbuVfsSectorSize(tls *libc.TLS, pFile uintptr) int32 { /* sqlite3.c:208483: } // Return the device characteristic flags supported by an rbuVfs-file. -func rbuVfsDeviceCharacteristics(tls *libc.TLS, pFile uintptr) int32 { /* sqlite3.c:208491:12: */ +func rbuVfsDeviceCharacteristics(tls *libc.TLS, pFile uintptr) int32 { /* sqlite3.c:208548:12: */ var p uintptr = pFile return (*struct { f func(*libc.TLS, uintptr) int32 @@ -168848,7 +168879,7 @@ func rbuVfsDeviceCharacteristics(tls *libc.TLS, pFile uintptr) int32 { /* sqlite } // Take or release a shared-memory lock. -func rbuVfsShmLock(tls *libc.TLS, pFile uintptr, ofst int32, n int32, flags int32) int32 { /* sqlite3.c:208499:12: */ +func rbuVfsShmLock(tls *libc.TLS, pFile uintptr, ofst int32, n int32, flags int32) int32 { /* sqlite3.c:208556:12: */ var p uintptr = pFile var pRbu uintptr = (*Rbu_file)(unsafe.Pointer(p)).FpRbu var rc int32 = SQLITE_OK @@ -168881,7 +168912,7 @@ func rbuVfsShmLock(tls *libc.TLS, pFile uintptr, ofst int32, n int32, flags int3 } // Obtain a pointer to a mapping of a single 32KiB page of the *-shm file. -func rbuVfsShmMap(tls *libc.TLS, pFile uintptr, iRegion int32, szRegion int32, isWrite int32, pp uintptr) int32 { /* sqlite3.c:208537:12: */ +func rbuVfsShmMap(tls *libc.TLS, pFile uintptr, iRegion int32, szRegion int32, isWrite int32, pp uintptr) int32 { /* sqlite3.c:208594:12: */ var p uintptr = pFile var rc int32 = SQLITE_OK var eStage int32 = func() int32 { @@ -168938,13 +168969,13 @@ func rbuVfsShmMap(tls *libc.TLS, pFile uintptr, iRegion int32, szRegion int32, i } // Memory barrier. -func rbuVfsShmBarrier(tls *libc.TLS, pFile uintptr) { /* sqlite3.c:208595:13: */ +func rbuVfsShmBarrier(tls *libc.TLS, pFile uintptr) { /* sqlite3.c:208652:13: */ var p uintptr = pFile (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods)(unsafe.Pointer((*Sqlite3_file)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer(p)).FpReal)).FpMethods)).FxShmBarrier})).f(tls, (*Rbu_file)(unsafe.Pointer(p)).FpReal) } // The xShmUnmap method. -func rbuVfsShmUnmap(tls *libc.TLS, pFile uintptr, delFlag int32) int32 { /* sqlite3.c:208603:12: */ +func rbuVfsShmUnmap(tls *libc.TLS, pFile uintptr, delFlag int32) int32 { /* sqlite3.c:208660:12: */ var p uintptr = pFile var rc int32 = SQLITE_OK var eStage int32 = func() int32 { @@ -168967,7 +168998,7 @@ func rbuVfsShmUnmap(tls *libc.TLS, pFile uintptr, delFlag int32) int32 { /* sqli } // Open an rbu file handle. -func rbuVfsOpen(tls *libc.TLS, pVfs uintptr, zName uintptr, pFile uintptr, flags int32, pOutFlags uintptr) int32 { /* sqlite3.c:208622:12: */ +func rbuVfsOpen(tls *libc.TLS, pVfs uintptr, zName uintptr, pFile uintptr, flags int32, pOutFlags uintptr) int32 { /* sqlite3.c:208679:12: */ var pRbuVfs uintptr = pVfs var pRealVfs uintptr = (*Rbu_vfs)(unsafe.Pointer(pRbuVfs)).FpRealVfs var pFd uintptr = pFile @@ -169053,10 +169084,10 @@ var rbuvfs_io_methods = Sqlite3_io_methods{ FxShmLock: 0, // xShmLock FxShmBarrier: 0, // xShmBarrier FxShmUnmap: 0, // xFetch, xUnfetch -} /* sqlite3.c:208629:29 */ +} /* sqlite3.c:208686:29 */ // Delete the file located at zPath. -func rbuVfsDelete(tls *libc.TLS, pVfs uintptr, zPath uintptr, dirSync int32) int32 { /* sqlite3.c:208720:12: */ +func rbuVfsDelete(tls *libc.TLS, pVfs uintptr, zPath uintptr, dirSync int32) int32 { /* sqlite3.c:208777:12: */ var pRealVfs uintptr = (*Rbu_vfs)(unsafe.Pointer(pVfs)).FpRealVfs return (*struct { f func(*libc.TLS, uintptr, uintptr, int32) int32 @@ -169065,7 +169096,7 @@ func rbuVfsDelete(tls *libc.TLS, pVfs uintptr, zPath uintptr, dirSync int32) int // Test for access permissions. Return true if the requested permission // is available, or false otherwise. -func rbuVfsAccess(tls *libc.TLS, pVfs uintptr, zPath uintptr, flags int32, pResOut uintptr) int32 { /* sqlite3.c:208729:12: */ +func rbuVfsAccess(tls *libc.TLS, pVfs uintptr, zPath uintptr, flags int32, pResOut uintptr) int32 { /* sqlite3.c:208786:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -169110,7 +169141,7 @@ func rbuVfsAccess(tls *libc.TLS, pVfs uintptr, zPath uintptr, flags int32, pResO // Populate buffer zOut with the full canonical pathname corresponding // to the pathname in zPath. zOut is guaranteed to point to a buffer // of at least (DEVSYM_MAX_PATHNAME+1) bytes. -func rbuVfsFullPathname(tls *libc.TLS, pVfs uintptr, zPath uintptr, nOut int32, zOut uintptr) int32 { /* sqlite3.c:208777:12: */ +func rbuVfsFullPathname(tls *libc.TLS, pVfs uintptr, zPath uintptr, nOut int32, zOut uintptr) int32 { /* sqlite3.c:208834:12: */ var pRealVfs uintptr = (*Rbu_vfs)(unsafe.Pointer(pVfs)).FpRealVfs return (*struct { f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 @@ -169118,7 +169149,7 @@ func rbuVfsFullPathname(tls *libc.TLS, pVfs uintptr, zPath uintptr, nOut int32, } // Open the dynamic library located at zPath and return a handle. -func rbuVfsDlOpen(tls *libc.TLS, pVfs uintptr, zPath uintptr) uintptr { /* sqlite3.c:208791:13: */ +func rbuVfsDlOpen(tls *libc.TLS, pVfs uintptr, zPath uintptr) uintptr { /* sqlite3.c:208848:13: */ var pRealVfs uintptr = (*Rbu_vfs)(unsafe.Pointer(pVfs)).FpRealVfs return (*struct { f func(*libc.TLS, uintptr, uintptr) uintptr @@ -169128,7 +169159,7 @@ func rbuVfsDlOpen(tls *libc.TLS, pVfs uintptr, zPath uintptr) uintptr { /* sqlit // Populate the buffer zErrMsg (size nByte bytes) with a human readable // utf-8 string describing the most recent error encountered associated // with dynamic libraries. -func rbuVfsDlError(tls *libc.TLS, pVfs uintptr, nByte int32, zErrMsg uintptr) { /* sqlite3.c:208801:13: */ +func rbuVfsDlError(tls *libc.TLS, pVfs uintptr, nByte int32, zErrMsg uintptr) { /* sqlite3.c:208858:13: */ var pRealVfs uintptr = (*Rbu_vfs)(unsafe.Pointer(pVfs)).FpRealVfs (*struct { f func(*libc.TLS, uintptr, int32, uintptr) @@ -169136,7 +169167,7 @@ func rbuVfsDlError(tls *libc.TLS, pVfs uintptr, nByte int32, zErrMsg uintptr) { } // Return a pointer to the symbol zSymbol in the dynamic library pHandle. -func rbuVfsDlSym(tls *libc.TLS, pVfs uintptr, pArg uintptr, zSym uintptr) uintptr { /* sqlite3.c:208809:13: */ +func rbuVfsDlSym(tls *libc.TLS, pVfs uintptr, pArg uintptr, zSym uintptr) uintptr { /* sqlite3.c:208866:13: */ var pRealVfs uintptr = (*Rbu_vfs)(unsafe.Pointer(pVfs)).FpRealVfs return (*struct { f func(*libc.TLS, uintptr, uintptr, uintptr) uintptr @@ -169144,7 +169175,7 @@ func rbuVfsDlSym(tls *libc.TLS, pVfs uintptr, pArg uintptr, zSym uintptr) uintpt } // Close the dynamic library handle pHandle. -func rbuVfsDlClose(tls *libc.TLS, pVfs uintptr, pHandle uintptr) { /* sqlite3.c:208821:13: */ +func rbuVfsDlClose(tls *libc.TLS, pVfs uintptr, pHandle uintptr) { /* sqlite3.c:208878:13: */ var pRealVfs uintptr = (*Rbu_vfs)(unsafe.Pointer(pVfs)).FpRealVfs (*struct { f func(*libc.TLS, uintptr, uintptr) @@ -169153,7 +169184,7 @@ func rbuVfsDlClose(tls *libc.TLS, pVfs uintptr, pHandle uintptr) { /* sqlite3.c: // Populate the buffer pointed to by zBufOut with nByte bytes of // random data. -func rbuVfsRandomness(tls *libc.TLS, pVfs uintptr, nByte int32, zBufOut uintptr) int32 { /* sqlite3.c:208831:12: */ +func rbuVfsRandomness(tls *libc.TLS, pVfs uintptr, nByte int32, zBufOut uintptr) int32 { /* sqlite3.c:208888:12: */ var pRealVfs uintptr = (*Rbu_vfs)(unsafe.Pointer(pVfs)).FpRealVfs return (*struct { f func(*libc.TLS, uintptr, int32, uintptr) int32 @@ -169162,7 +169193,7 @@ func rbuVfsRandomness(tls *libc.TLS, pVfs uintptr, nByte int32, zBufOut uintptr) // Sleep for nMicro microseconds. Return the number of microseconds // actually slept. -func rbuVfsSleep(tls *libc.TLS, pVfs uintptr, nMicro int32) int32 { /* sqlite3.c:208840:12: */ +func rbuVfsSleep(tls *libc.TLS, pVfs uintptr, nMicro int32) int32 { /* sqlite3.c:208897:12: */ var pRealVfs uintptr = (*Rbu_vfs)(unsafe.Pointer(pVfs)).FpRealVfs return (*struct { f func(*libc.TLS, uintptr, int32) int32 @@ -169170,7 +169201,7 @@ func rbuVfsSleep(tls *libc.TLS, pVfs uintptr, nMicro int32) int32 { /* sqlite3.c } // Return the current time as a Julian Day number in *pTimeOut. -func rbuVfsCurrentTime(tls *libc.TLS, pVfs uintptr, pTimeOut uintptr) int32 { /* sqlite3.c:208848:12: */ +func rbuVfsCurrentTime(tls *libc.TLS, pVfs uintptr, pTimeOut uintptr) int32 { /* sqlite3.c:208905:12: */ var pRealVfs uintptr = (*Rbu_vfs)(unsafe.Pointer(pVfs)).FpRealVfs return (*struct { f func(*libc.TLS, uintptr, uintptr) int32 @@ -169178,13 +169209,13 @@ func rbuVfsCurrentTime(tls *libc.TLS, pVfs uintptr, pTimeOut uintptr) int32 { /* } // No-op. -func rbuVfsGetLastError(tls *libc.TLS, pVfs uintptr, a int32, b uintptr) int32 { /* sqlite3.c:208856:12: */ +func rbuVfsGetLastError(tls *libc.TLS, pVfs uintptr, a int32, b uintptr) int32 { /* sqlite3.c:208913:12: */ return 0 } // Deregister and destroy an RBU vfs created by an earlier call to // sqlite3rbu_create_vfs(). -func Xsqlite3rbu_destroy_vfs(tls *libc.TLS, zName uintptr) { /* sqlite3.c:208864:17: */ +func Xsqlite3rbu_destroy_vfs(tls *libc.TLS, zName uintptr) { /* sqlite3.c:208921:17: */ var pVfs uintptr = Xsqlite3_vfs_find(tls, zName) if pVfs != 0 && (*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FxOpen == *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32 @@ -169198,7 +169229,7 @@ func Xsqlite3rbu_destroy_vfs(tls *libc.TLS, zName uintptr) { /* sqlite3.c:208864 // Create an RBU VFS named zName that accesses the underlying file-system // via existing VFS zParent. The new object is registered as a non-default // VFS with SQLite before returning. -func Xsqlite3rbu_create_vfs(tls *libc.TLS, zName uintptr, zParent uintptr) int32 { /* sqlite3.c:208878:16: */ +func Xsqlite3rbu_create_vfs(tls *libc.TLS, zName uintptr, zParent uintptr) int32 { /* sqlite3.c:208935:16: */ var pNew uintptr = uintptr(0) // Newly allocated VFS var rc int32 = SQLITE_OK @@ -169259,17 +169290,17 @@ var vfs_template = Sqlite3_vfs{ FxSleep: 0, // xSleep FxCurrentTime: 0, // xCurrentTime FxGetLastError: 0, // Unimplemented version 3 methods -} /* sqlite3.c:208881:22 */ +} /* sqlite3.c:208938:22 */ // Configure the aggregate temp file size limit for this RBU handle. -func Xsqlite3rbu_temp_size_limit(tls *libc.TLS, pRbu uintptr, n Sqlite3_int64) Sqlite3_int64 { /* sqlite3.c:208956:26: */ +func Xsqlite3rbu_temp_size_limit(tls *libc.TLS, pRbu uintptr, n Sqlite3_int64) Sqlite3_int64 { /* sqlite3.c:209013:26: */ if n >= int64(0) { (*Sqlite3rbu)(unsafe.Pointer(pRbu)).FszTempLimit = n } return (*Sqlite3rbu)(unsafe.Pointer(pRbu)).FszTempLimit } -func Xsqlite3rbu_temp_size(tls *libc.TLS, pRbu uintptr) Sqlite3_int64 { /* sqlite3.c:208963:26: */ +func Xsqlite3rbu_temp_size(tls *libc.TLS, pRbu uintptr) Sqlite3_int64 { /* sqlite3.c:209020:26: */ return (*Sqlite3rbu)(unsafe.Pointer(pRbu)).FszTemp } @@ -169423,7 +169454,7 @@ type SessionTable1 = struct { // #include // #include -type SessionTable = SessionTable1 /* sqlite3.c:210308:29 */ +type SessionTable = SessionTable1 /* sqlite3.c:210365:29 */ type SessionChange1 = struct { Fop U8 FbIndirect U8 @@ -169435,14 +169466,14 @@ type SessionChange1 = struct { FpNext uintptr } /* sqlite3.c:10832:9 */ -type SessionChange = SessionChange1 /* sqlite3.c:210309:30 */ +type SessionChange = SessionChange1 /* sqlite3.c:210366:30 */ type SessionBuffer1 = struct { FaBuf uintptr FnBuf int32 FnAlloc int32 } /* sqlite3.c:10840:9 */ -type SessionBuffer = SessionBuffer1 /* sqlite3.c:210310:30 */ +type SessionBuffer = SessionBuffer1 /* sqlite3.c:210367:30 */ type SessionInput1 = struct { FbNoDiscard int32 FiCurrent int32 @@ -169458,11 +169489,11 @@ type SessionInput1 = struct { F__ccgo_pad3 [4]byte } /* sqlite3.c:10840:9 */ -type SessionInput = SessionInput1 /* sqlite3.c:210311:29 */ +type SessionInput = SessionInput1 /* sqlite3.c:210368:29 */ // Minimum chunk size used by streaming versions of functions. -var sessions_strm_chunk_size int32 = SESSIONS_STRM_CHUNK_SIZE /* sqlite3.c:210324:12 */ +var sessions_strm_chunk_size int32 = SESSIONS_STRM_CHUNK_SIZE /* sqlite3.c:210381:12 */ type SessionHook1 = struct { FpCtx uintptr @@ -169472,11 +169503,11 @@ type SessionHook1 = struct { FxDepth uintptr } /* sqlite3.c:10832:9 */ -type SessionHook = SessionHook1 /* sqlite3.c:210326:28 */ +type SessionHook = SessionHook1 /* sqlite3.c:210383:28 */ // Write a varint with value iVal into the buffer at aBuf. Return the // number of bytes written. -func sessionVarintPut(tls *libc.TLS, aBuf uintptr, iVal int32) int32 { /* sqlite3.c:210604:12: */ +func sessionVarintPut(tls *libc.TLS, aBuf uintptr, iVal int32) int32 { /* sqlite3.c:210661:12: */ return int32(func() uint8 { if U32(iVal) < U32(0x80) { return uint8(func() int32 { *(*U8)(unsafe.Pointer(aBuf)) = uint8(iVal); return 1 }()) @@ -169486,13 +169517,13 @@ func sessionVarintPut(tls *libc.TLS, aBuf uintptr, iVal int32) int32 { /* sqlite } // Return the number of bytes required to store value iVal as a varint. -func sessionVarintLen(tls *libc.TLS, iVal int32) int32 { /* sqlite3.c:210611:12: */ +func sessionVarintLen(tls *libc.TLS, iVal int32) int32 { /* sqlite3.c:210668:12: */ return Xsqlite3VarintLen(tls, uint64(iVal)) } // Read a varint value from aBuf[] into *piVal. Return the number of // bytes read. -func sessionVarintGet(tls *libc.TLS, aBuf uintptr, piVal uintptr) int32 { /* sqlite3.c:210619:12: */ +func sessionVarintGet(tls *libc.TLS, aBuf uintptr, piVal uintptr) int32 { /* sqlite3.c:210676:12: */ return int32(func() uint8 { if int32(*(*U8)(unsafe.Pointer(aBuf))) < int32(U8(0x80)) { return uint8(func() int32 { *(*int32)(unsafe.Pointer(piVal)) = int32(U32(*(*U8)(unsafe.Pointer(aBuf)))); return 1 }()) @@ -169505,7 +169536,7 @@ func sessionVarintGet(tls *libc.TLS, aBuf uintptr, piVal uintptr) int32 { /* sql // Read a 64-bit big-endian integer value from buffer aRec[]. Return // the value read. -func sessionGetI64(tls *libc.TLS, aRec uintptr) Sqlite3_int64 { /* sqlite3.c:210630:22: */ +func sessionGetI64(tls *libc.TLS, aRec uintptr) Sqlite3_int64 { /* sqlite3.c:210687:22: */ var x U64 = U64(U32(*(*U8)(unsafe.Pointer(aRec)))<<24 | U32(int32(*(*U8)(unsafe.Pointer(aRec + 1)))<<16) | U32(int32(*(*U8)(unsafe.Pointer(aRec + 2)))<<8) | U32(*(*U8)(unsafe.Pointer(aRec + 3)))) var y U32 = U32(*(*U8)(unsafe.Pointer(aRec + uintptr(4))))<<24 | U32(int32(*(*U8)(unsafe.Pointer(aRec + uintptr(4) + 1)))<<16) | U32(int32(*(*U8)(unsafe.Pointer(aRec + uintptr(4) + 2)))<<8) | U32(*(*U8)(unsafe.Pointer(aRec + uintptr(4) + 3))) x = x<<32 + U64(y) @@ -169513,7 +169544,7 @@ func sessionGetI64(tls *libc.TLS, aRec uintptr) Sqlite3_int64 { /* sqlite3.c:210 } // Write a 64-bit big-endian integer value to the buffer aBuf[]. -func sessionPutI64(tls *libc.TLS, aBuf uintptr, i Sqlite3_int64) { /* sqlite3.c:210640:13: */ +func sessionPutI64(tls *libc.TLS, aBuf uintptr, i Sqlite3_int64) { /* sqlite3.c:210697:13: */ *(*U8)(unsafe.Pointer(aBuf)) = U8(i >> 56 & int64(0xFF)) *(*U8)(unsafe.Pointer(aBuf + 1)) = U8(i >> 48 & int64(0xFF)) *(*U8)(unsafe.Pointer(aBuf + 2)) = U8(i >> 40 & int64(0xFF)) @@ -169535,7 +169566,7 @@ func sessionPutI64(tls *libc.TLS, aBuf uintptr, i Sqlite3_int64) { /* sqlite3.c: // If no error occurs, SQLITE_OK is returned. Or, if an OOM error occurs // within a call to sqlite3_value_text() (may fail if the db is utf-16)) // SQLITE_NOMEM is returned. -func sessionSerializeValue(tls *libc.TLS, aBuf uintptr, pValue uintptr, pnWrite uintptr) int32 { /* sqlite3.c:210664:12: */ +func sessionSerializeValue(tls *libc.TLS, aBuf uintptr, pValue uintptr, pnWrite uintptr) int32 { /* sqlite3.c:210721:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -169623,7 +169654,7 @@ func sessionSerializeValue(tls *libc.TLS, aBuf uintptr, pValue uintptr, pnWrite // Allocate and return a pointer to a buffer nByte bytes in size. If // pSession is not NULL, increase the sqlite3_session.nMalloc variable // by the number of bytes allocated. -func sessionMalloc64(tls *libc.TLS, pSession uintptr, nByte I64) uintptr { /* sqlite3.c:210740:13: */ +func sessionMalloc64(tls *libc.TLS, pSession uintptr, nByte I64) uintptr { /* sqlite3.c:210797:13: */ var pRet uintptr = Xsqlite3_malloc64(tls, uint64(nByte)) if pSession != 0 { *(*I64)(unsafe.Pointer(pSession + 56)) += I64(Xsqlite3_msize(tls, pRet)) @@ -169634,7 +169665,7 @@ func sessionMalloc64(tls *libc.TLS, pSession uintptr, nByte I64) uintptr { /* sq // Free buffer pFree, which must have been allocated by an earlier // call to sessionMalloc64(). If pSession is not NULL, decrease the // sqlite3_session.nMalloc counter by the number of bytes freed. -func sessionFree(tls *libc.TLS, pSession uintptr, pFree uintptr) { /* sqlite3.c:210751:13: */ +func sessionFree(tls *libc.TLS, pSession uintptr, pFree uintptr) { /* sqlite3.c:210808:13: */ if pSession != 0 { *(*I64)(unsafe.Pointer(pSession + 56)) -= I64(Xsqlite3_msize(tls, pFree)) } @@ -169657,14 +169688,14 @@ func sessionFree(tls *libc.TLS, pSession uintptr, pFree uintptr) { /* sqlite3.c: // Append the hash of the 64-bit integer passed as the second argument to the // hash-key value passed as the first. Return the new hash-key value. -func sessionHashAppendI64(tls *libc.TLS, h uint32, i I64) uint32 { /* sqlite3.c:210777:21: */ +func sessionHashAppendI64(tls *libc.TLS, h uint32, i I64) uint32 { /* sqlite3.c:210834:21: */ h = h<<3 ^ h ^ uint32(i&int64(0xFFFFFFFF)) return h<<3 ^ h ^ uint32(i>>32&int64(0xFFFFFFFF)) } // Append the hash of the blob passed via the second and third arguments to // the hash-key value passed as the first. Return the new hash-key value. -func sessionHashAppendBlob(tls *libc.TLS, h uint32, n int32, z uintptr) uint32 { /* sqlite3.c:210786:21: */ +func sessionHashAppendBlob(tls *libc.TLS, h uint32, n int32, z uintptr) uint32 { /* sqlite3.c:210843:21: */ var i int32 for i = 0; i < n; i++ { h = h<<3 ^ h ^ uint32(*(*U8)(unsafe.Pointer(z + uintptr(i)))) @@ -169674,7 +169705,7 @@ func sessionHashAppendBlob(tls *libc.TLS, h uint32, n int32, z uintptr) uint32 { // Append the hash of the data type passed as the second argument to the // hash-key value passed as the first. Return the new hash-key value. -func sessionHashAppendType(tls *libc.TLS, h uint32, eType int32) uint32 { /* sqlite3.c:210796:21: */ +func sessionHashAppendType(tls *libc.TLS, h uint32, eType int32) uint32 { /* sqlite3.c:210853:21: */ return h<<3 ^ h ^ uint32(eType) } @@ -169687,7 +169718,7 @@ func sessionHashAppendType(tls *libc.TLS, h uint32, eType int32) uint32 { /* sql // If an error occurs, an SQLite error code is returned and the final values // of *piHash asn *pbNullPK are undefined. Otherwise, SQLITE_OK is returned // and the output variables are set as described above. -func sessionPreupdateHash(tls *libc.TLS, pSession uintptr, pTab uintptr, bNew int32, piHash uintptr, pbNullPK uintptr) int32 { /* sqlite3.c:210811:12: */ +func sessionPreupdateHash(tls *libc.TLS, pSession uintptr, pTab uintptr, bNew int32, piHash uintptr, pbNullPK uintptr) int32 { /* sqlite3.c:210868:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -169753,7 +169784,7 @@ func sessionPreupdateHash(tls *libc.TLS, pSession uintptr, pTab uintptr, bNew in // The buffer that the argument points to contains a serialized SQL value. // Return the number of bytes of space occupied by the value (including // the type byte). -func sessionSerialLen(tls *libc.TLS, a uintptr) int32 { /* sqlite3.c:210876:12: */ +func sessionSerialLen(tls *libc.TLS, a uintptr) int32 { /* sqlite3.c:210933:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -169779,7 +169810,7 @@ func sessionSerialLen(tls *libc.TLS, a uintptr) int32 { /* sqlite3.c:210876:12: // // The bPkOnly argument is non-zero if the record at aRecord[] is from // a patchset DELETE. In this case the non-PK fields are omitted entirely. -func sessionChangeHash(tls *libc.TLS, pTab uintptr, bPkOnly int32, aRecord uintptr, nBucket int32) uint32 { /* sqlite3.c:210894:21: */ +func sessionChangeHash(tls *libc.TLS, pTab uintptr, bPkOnly int32, aRecord uintptr, nBucket int32) uint32 { /* sqlite3.c:210951:21: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -169822,7 +169853,7 @@ func sessionChangeHash(tls *libc.TLS, pTab uintptr, bPkOnly int32, aRecord uintp // This function returns true if the two records apply to the same row (i.e. // have the same values stored in the primary key columns), or false // otherwise. -func sessionChangeEqual(tls *libc.TLS, pTab uintptr, bLeftPkOnly int32, aLeft uintptr, bRightPkOnly int32, aRight uintptr) int32 { /* sqlite3.c:210943:12: */ +func sessionChangeEqual(tls *libc.TLS, pTab uintptr, bLeftPkOnly int32, aLeft uintptr, bRightPkOnly int32, aRight uintptr) int32 { /* sqlite3.c:211000:12: */ var a1 uintptr = aLeft // Cursor to iterate through aLeft var a2 uintptr = aRight // Cursor to iterate through aRight var iCol int32 // Used to iterate through table columns @@ -169861,7 +169892,7 @@ func sessionChangeEqual(tls *libc.TLS, pTab uintptr, bLeftPkOnly int32, aLeft ui // their. Otherwise, if aLeft contains a value, copy it. If neither // record contains a value for a given column, then neither does the // output record. -func sessionMergeRecord(tls *libc.TLS, paOut uintptr, nCol int32, aLeft uintptr, aRight uintptr) { /* sqlite3.c:210986:13: */ +func sessionMergeRecord(tls *libc.TLS, paOut uintptr, nCol int32, aLeft uintptr, aRight uintptr) { /* sqlite3.c:211043:13: */ var a1 uintptr = aLeft // Cursor used to iterate through aLeft var a2 uintptr = aRight // Cursor used to iterate through aRight var aOut uintptr = *(*uintptr)(unsafe.Pointer(paOut)) // Output cursor @@ -169900,7 +169931,7 @@ func sessionMergeRecord(tls *libc.TLS, paOut uintptr, nCol int32, aLeft uintptr, // if( *paTwo is valid ) return *paTwo; // return *paOne; // -func sessionMergeValue(tls *libc.TLS, paOne uintptr, paTwo uintptr, pnVal uintptr) uintptr { /* sqlite3.c:211032:11: */ +func sessionMergeValue(tls *libc.TLS, paOne uintptr, paTwo uintptr, pnVal uintptr) uintptr { /* sqlite3.c:211089:11: */ var a1 uintptr = *(*uintptr)(unsafe.Pointer(paOne)) var a2 uintptr = *(*uintptr)(unsafe.Pointer(paTwo)) var pRet uintptr = uintptr(0) @@ -169927,7 +169958,7 @@ func sessionMergeValue(tls *libc.TLS, paOne uintptr, paTwo uintptr, pnVal uintpt // This function is used by changeset_concat() to merge two UPDATE changes // on the same row. -func sessionMergeUpdate(tls *libc.TLS, paOut uintptr, pTab uintptr, bPatchset int32, aOldRecord1 uintptr, aOldRecord2 uintptr, aNewRecord1 uintptr, aNewRecord2 uintptr) int32 { /* sqlite3.c:211066:12: */ +func sessionMergeUpdate(tls *libc.TLS, paOut uintptr, pTab uintptr, bPatchset int32, aOldRecord1 uintptr, aOldRecord2 uintptr, aNewRecord1 uintptr, aNewRecord2 uintptr) int32 { /* sqlite3.c:211123:12: */ bp := tls.Alloc(52) defer tls.Free(52) @@ -170002,7 +170033,7 @@ func sessionMergeUpdate(tls *libc.TLS, paOut uintptr, pTab uintptr, bPatchset in // as the change stored in argument pChange. If so, it returns true. Otherwise // if the pre-update-hook does not affect the same row as pChange, it returns // false. -func sessionPreupdateEqual(tls *libc.TLS, pSession uintptr, pTab uintptr, pChange uintptr, op int32) int32 { /* sqlite3.c:211143:12: */ +func sessionPreupdateEqual(tls *libc.TLS, pSession uintptr, pTab uintptr, pChange uintptr, op int32) int32 { /* sqlite3.c:211200:12: */ bp := tls.Alloc(28) defer tls.Free(28) @@ -170090,7 +170121,7 @@ func sessionPreupdateEqual(tls *libc.TLS, pSession uintptr, pTab uintptr, pChang // that case the hash-table does not grow, but SQLITE_OK is returned anyway. // Growing the hash table in this case is a performance optimization only, // it is not required for correct operation. -func sessionGrowHash(tls *libc.TLS, pSession uintptr, bPatchset int32, pTab uintptr) int32 { /* sqlite3.c:211222:12: */ +func sessionGrowHash(tls *libc.TLS, pSession uintptr, bPatchset int32, pTab uintptr) int32 { /* sqlite3.c:211279:12: */ if (*SessionTable)(unsafe.Pointer(pTab)).FnChange == 0 || (*SessionTable)(unsafe.Pointer(pTab)).FnEntry >= (*SessionTable)(unsafe.Pointer(pTab)).FnChange/2 { var i int32 var apNew uintptr @@ -170154,7 +170185,7 @@ func sessionGrowHash(tls *libc.TLS, pSession uintptr, bPatchset int32, pTab uint // // All returned buffers are part of the same single allocation, which must // be freed using sqlite3_free() by the caller -func sessionTableInfo(tls *libc.TLS, pSession uintptr, db uintptr, zDb uintptr, zThis uintptr, pnCol uintptr, pzTab uintptr, pazCol uintptr, pabPK uintptr) int32 { /* sqlite3.c:211288:12: */ +func sessionTableInfo(tls *libc.TLS, pSession uintptr, db uintptr, zDb uintptr, zThis uintptr, pnCol uintptr, pzTab uintptr, pazCol uintptr, pabPK uintptr) int32 { /* sqlite3.c:211345:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -170285,7 +170316,7 @@ func sessionTableInfo(tls *libc.TLS, pSession uintptr, db uintptr, zDb uintptr, // key, sqlite3_session.rc is left set to SQLITE_OK and non-zero returned to // indicate that updates on this table should be ignored. SessionTable.abPK // is set to NULL in this case. -func sessionInitTable(tls *libc.TLS, pSession uintptr, pTab uintptr) int32 { /* sqlite3.c:211421:12: */ +func sessionInitTable(tls *libc.TLS, pSession uintptr, pTab uintptr) int32 { /* sqlite3.c:211478:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -170321,15 +170352,15 @@ func sessionInitTable(tls *libc.TLS, pSession uintptr, pTab uintptr) int32 { /* type SessionStat1Ctx1 = struct { Fhook SessionHook FpSession uintptr -} /* sqlite3.c:211456:9 */ +} /* sqlite3.c:211513:9 */ // Versions of the four methods in object SessionHook for use with the // sqlite_stat1 table. The purpose of this is to substitute a zero-length // blob each time a NULL value is read from the "idx" column of the // sqlite_stat1 table. -type SessionStat1Ctx = SessionStat1Ctx1 /* sqlite3.c:211456:32 */ +type SessionStat1Ctx = SessionStat1Ctx1 /* sqlite3.c:211513:32 */ -func sessionStat1Old(tls *libc.TLS, pCtx uintptr, iCol int32, ppVal uintptr) int32 { /* sqlite3.c:211461:12: */ +func sessionStat1Old(tls *libc.TLS, pCtx uintptr, iCol int32, ppVal uintptr) int32 { /* sqlite3.c:211518:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -170345,7 +170376,7 @@ func sessionStat1Old(tls *libc.TLS, pCtx uintptr, iCol int32, ppVal uintptr) int return rc } -func sessionStat1New(tls *libc.TLS, pCtx uintptr, iCol int32, ppVal uintptr) int32 { /* sqlite3.c:211471:12: */ +func sessionStat1New(tls *libc.TLS, pCtx uintptr, iCol int32, ppVal uintptr) int32 { /* sqlite3.c:211528:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -170361,21 +170392,21 @@ func sessionStat1New(tls *libc.TLS, pCtx uintptr, iCol int32, ppVal uintptr) int return rc } -func sessionStat1Count(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:211481:12: */ +func sessionStat1Count(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:211538:12: */ var p uintptr = pCtx return (*struct { f func(*libc.TLS, uintptr) int32 })(unsafe.Pointer(&struct{ uintptr }{(*SessionStat1Ctx)(unsafe.Pointer(p)).Fhook.FxCount})).f(tls, (*SessionStat1Ctx)(unsafe.Pointer(p)).Fhook.FpCtx) } -func sessionStat1Depth(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:211485:12: */ +func sessionStat1Depth(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:211542:12: */ var p uintptr = pCtx return (*struct { f func(*libc.TLS, uintptr) int32 })(unsafe.Pointer(&struct{ uintptr }{(*SessionStat1Ctx)(unsafe.Pointer(p)).Fhook.FxDepth})).f(tls, (*SessionStat1Ctx)(unsafe.Pointer(p)).Fhook.FpCtx) } -func sessionUpdateMaxSize(tls *libc.TLS, op int32, pSession uintptr, pTab uintptr, pC uintptr) int32 { /* sqlite3.c:211490:12: */ +func sessionUpdateMaxSize(tls *libc.TLS, op int32, pSession uintptr, pTab uintptr, pC uintptr) int32 { /* sqlite3.c:211547:12: */ bp := tls.Alloc(44) defer tls.Free(44) @@ -170489,7 +170520,7 @@ func sessionUpdateMaxSize(tls *libc.TLS, op int32, pSession uintptr, pTab uintpt // // Unless one is already present or an error occurs, an entry is added // to the changed-rows hash table associated with table pTab. -func sessionPreupdateOneChange(tls *libc.TLS, op int32, pSession uintptr, pTab uintptr) { /* sqlite3.c:211596:13: */ +func sessionPreupdateOneChange(tls *libc.TLS, op int32, pSession uintptr, pTab uintptr) { /* sqlite3.c:211653:13: */ bp := tls.Alloc(80) defer tls.Free(80) @@ -170785,7 +170816,7 @@ __35: __36: } -func sessionFindTable(tls *libc.TLS, pSession uintptr, zName uintptr, ppTab uintptr) int32 { /* sqlite3.c:211745:12: */ +func sessionFindTable(tls *libc.TLS, pSession uintptr, zName uintptr, ppTab uintptr) int32 { /* sqlite3.c:211802:12: */ var rc int32 = SQLITE_OK var nName int32 = Xsqlite3Strlen30(tls, zName) var pRet uintptr @@ -170820,7 +170851,7 @@ func sessionFindTable(tls *libc.TLS, pSession uintptr, zName uintptr, ppTab uint } // The 'pre-update' hook registered by this module with SQLite databases. -func xPreUpdate(tls *libc.TLS, pCtx uintptr, db uintptr, op int32, zDb uintptr, zName uintptr, iKey1 Sqlite3_int64, iKey2 Sqlite3_int64) { /* sqlite3.c:211785:13: */ +func xPreUpdate(tls *libc.TLS, pCtx uintptr, db uintptr, op int32, zDb uintptr, zName uintptr, iKey1 Sqlite3_int64, iKey2 Sqlite3_int64) { /* sqlite3.c:211842:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -170855,25 +170886,25 @@ func xPreUpdate(tls *libc.TLS, pCtx uintptr, db uintptr, op int32, zDb uintptr, } // The pre-update hook implementations. -func sessionPreupdateOld(tls *libc.TLS, pCtx uintptr, iVal int32, ppVal uintptr) int32 { /* sqlite3.c:211823:12: */ +func sessionPreupdateOld(tls *libc.TLS, pCtx uintptr, iVal int32, ppVal uintptr) int32 { /* sqlite3.c:211880:12: */ return Xsqlite3_preupdate_old(tls, pCtx, iVal, ppVal) } -func sessionPreupdateNew(tls *libc.TLS, pCtx uintptr, iVal int32, ppVal uintptr) int32 { /* sqlite3.c:211826:12: */ +func sessionPreupdateNew(tls *libc.TLS, pCtx uintptr, iVal int32, ppVal uintptr) int32 { /* sqlite3.c:211883:12: */ return Xsqlite3_preupdate_new(tls, pCtx, iVal, ppVal) } -func sessionPreupdateCount(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:211829:12: */ +func sessionPreupdateCount(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:211886:12: */ return Xsqlite3_preupdate_count(tls, pCtx) } -func sessionPreupdateDepth(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:211832:12: */ +func sessionPreupdateDepth(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:211889:12: */ return Xsqlite3_preupdate_depth(tls, pCtx) } // Install the pre-update hooks on the session object passed as the only // argument. -func sessionPreupdateHooks(tls *libc.TLS, pSession uintptr) { /* sqlite3.c:211840:13: */ +func sessionPreupdateHooks(tls *libc.TLS, pSession uintptr) { /* sqlite3.c:211897:13: */ (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx = (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FxOld = *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) int32 @@ -170893,24 +170924,24 @@ type SessionDiffCtx1 = struct { FpStmt uintptr FnOldOff int32 F__ccgo_pad1 [4]byte -} /* sqlite3.c:211850:9 */ +} /* sqlite3.c:211907:9 */ -type SessionDiffCtx = SessionDiffCtx1 /* sqlite3.c:211850:31 */ +type SessionDiffCtx = SessionDiffCtx1 /* sqlite3.c:211907:31 */ // The diff hook implementations. -func sessionDiffOld(tls *libc.TLS, pCtx uintptr, iVal int32, ppVal uintptr) int32 { /* sqlite3.c:211859:12: */ +func sessionDiffOld(tls *libc.TLS, pCtx uintptr, iVal int32, ppVal uintptr) int32 { /* sqlite3.c:211916:12: */ var p uintptr = pCtx *(*uintptr)(unsafe.Pointer(ppVal)) = Xsqlite3_column_value(tls, (*SessionDiffCtx)(unsafe.Pointer(p)).FpStmt, iVal+(*SessionDiffCtx)(unsafe.Pointer(p)).FnOldOff) return SQLITE_OK } -func sessionDiffNew(tls *libc.TLS, pCtx uintptr, iVal int32, ppVal uintptr) int32 { /* sqlite3.c:211864:12: */ +func sessionDiffNew(tls *libc.TLS, pCtx uintptr, iVal int32, ppVal uintptr) int32 { /* sqlite3.c:211921:12: */ var p uintptr = pCtx *(*uintptr)(unsafe.Pointer(ppVal)) = Xsqlite3_column_value(tls, (*SessionDiffCtx)(unsafe.Pointer(p)).FpStmt, iVal) return SQLITE_OK } -func sessionDiffCount(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:211869:12: */ +func sessionDiffCount(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:211926:12: */ var p uintptr = pCtx if (*SessionDiffCtx)(unsafe.Pointer(p)).FnOldOff != 0 { return (*SessionDiffCtx)(unsafe.Pointer(p)).FnOldOff @@ -170918,13 +170949,13 @@ func sessionDiffCount(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:211869:1 return Xsqlite3_column_count(tls, (*SessionDiffCtx)(unsafe.Pointer(p)).FpStmt) } -func sessionDiffDepth(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:211873:12: */ +func sessionDiffDepth(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:211930:12: */ return 0 } // Install the diff hooks on the session object passed as the only // argument. -func sessionDiffHooks(tls *libc.TLS, pSession uintptr, pDiffCtx uintptr) { /* sqlite3.c:211881:13: */ +func sessionDiffHooks(tls *libc.TLS, pSession uintptr, pDiffCtx uintptr) { /* sqlite3.c:211938:13: */ (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx = pDiffCtx (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FxOld = *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) int32 @@ -170940,7 +170971,7 @@ func sessionDiffHooks(tls *libc.TLS, pSession uintptr, pDiffCtx uintptr) { /* sq }{sessionDiffDepth})) } -func sessionExprComparePK(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uintptr, zTab uintptr, azCol uintptr, abPK uintptr) uintptr { /* sqlite3.c:211892:13: */ +func sessionExprComparePK(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uintptr, zTab uintptr, azCol uintptr, abPK uintptr) uintptr { /* sqlite3.c:211949:13: */ bp := tls.Alloc(64) defer tls.Free(64) @@ -170962,7 +170993,7 @@ func sessionExprComparePK(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uintptr, return zRet } -func sessionExprCompareOther(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uintptr, zTab uintptr, azCol uintptr, abPK uintptr) uintptr { /* sqlite3.c:211915:13: */ +func sessionExprCompareOther(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uintptr, zTab uintptr, azCol uintptr, abPK uintptr) uintptr { /* sqlite3.c:211972:13: */ bp := tls.Alloc(64) defer tls.Free(64) @@ -170992,7 +171023,7 @@ func sessionExprCompareOther(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uintp return zRet } -func sessionSelectFindNew(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uintptr, zTbl uintptr, zExpr uintptr) uintptr { /* sqlite3.c:211946:13: */ +func sessionSelectFindNew(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uintptr, zTbl uintptr, zExpr uintptr) uintptr { /* sqlite3.c:212003:13: */ bp := tls.Alloc(40) defer tls.Free(40) @@ -171003,7 +171034,7 @@ func sessionSelectFindNew(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uintptr, return zRet } -func sessionDiffFindNew(tls *libc.TLS, op int32, pSession uintptr, pTab uintptr, zDb1 uintptr, zDb2 uintptr, zExpr uintptr) int32 { /* sqlite3.c:211962:12: */ +func sessionDiffFindNew(tls *libc.TLS, op int32, pSession uintptr, pTab uintptr, zDb1 uintptr, zDb2 uintptr, zExpr uintptr) int32 { /* sqlite3.c:212019:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -171031,7 +171062,7 @@ func sessionDiffFindNew(tls *libc.TLS, op int32, pSession uintptr, pTab uintptr, return rc } -func sessionDiffFindModified(tls *libc.TLS, pSession uintptr, pTab uintptr, zFrom uintptr, zExpr uintptr) int32 { /* sqlite3.c:211993:12: */ +func sessionDiffFindModified(tls *libc.TLS, pSession uintptr, pTab uintptr, zFrom uintptr, zExpr uintptr) int32 { /* sqlite3.c:212050:12: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -171068,7 +171099,7 @@ func sessionDiffFindModified(tls *libc.TLS, pSession uintptr, pTab uintptr, zFro return rc } -func Xsqlite3session_diff(tls *libc.TLS, pSession uintptr, zFrom uintptr, zTbl uintptr, pzErrMsg uintptr) int32 { /* sqlite3.c:212033:16: */ +func Xsqlite3session_diff(tls *libc.TLS, pSession uintptr, zFrom uintptr, zTbl uintptr, pzErrMsg uintptr) int32 { /* sqlite3.c:212090:16: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -171241,7 +171272,7 @@ diff_out: // Create a session object. This session object will record changes to // database zDb attached to connection db. -func Xsqlite3session_create(tls *libc.TLS, db uintptr, zDb uintptr, ppSession uintptr) int32 { /* sqlite3.c:212128:16: */ +func Xsqlite3session_create(tls *libc.TLS, db uintptr, zDb uintptr, ppSession uintptr) int32 { /* sqlite3.c:212185:16: */ var pNew uintptr // Newly allocated session object var pOld uintptr // Session object already attached to db var nDb int32 = Xsqlite3Strlen30(tls, zDb) // Length of zDb in bytes @@ -171277,7 +171308,7 @@ func Xsqlite3session_create(tls *libc.TLS, db uintptr, zDb uintptr, ppSession ui // Free the list of table objects passed as the first argument. The contents // of the changed-rows hash tables are also deleted. -func sessionDeleteTable(tls *libc.TLS, pSession uintptr, pList uintptr) { /* sqlite3.c:212166:13: */ +func sessionDeleteTable(tls *libc.TLS, pSession uintptr, pList uintptr) { /* sqlite3.c:212223:13: */ var pNext uintptr var pTab uintptr @@ -171299,7 +171330,7 @@ func sessionDeleteTable(tls *libc.TLS, pSession uintptr, pList uintptr) { /* sql } // Delete a session object previously allocated using sqlite3session_create(). -func Xsqlite3session_delete(tls *libc.TLS, pSession uintptr) { /* sqlite3.c:212190:17: */ +func Xsqlite3session_delete(tls *libc.TLS, pSession uintptr) { /* sqlite3.c:212247:17: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -171337,7 +171368,7 @@ func Xsqlite3session_delete(tls *libc.TLS, pSession uintptr) { /* sqlite3.c:2121 } // Set a table filter on a Session Object. -func Xsqlite3session_table_filter(tls *libc.TLS, pSession uintptr, xFilter uintptr, pCtx uintptr) { /* sqlite3.c:212222:17: */ +func Xsqlite3session_table_filter(tls *libc.TLS, pSession uintptr, xFilter uintptr, pCtx uintptr) { /* sqlite3.c:212279:17: */ (*Sqlite3_session)(unsafe.Pointer(pSession)).FbAutoAttach = 1 (*Sqlite3_session)(unsafe.Pointer(pSession)).FpFilterCtx = pCtx (*Sqlite3_session)(unsafe.Pointer(pSession)).FxTableFilter = xFilter @@ -171349,7 +171380,7 @@ func Xsqlite3session_table_filter(tls *libc.TLS, pSession uintptr, xFilter uintp // Only tables that have a PRIMARY KEY defined may be attached. It does // not matter if the PRIMARY KEY is an "INTEGER PRIMARY KEY" (rowid alias) // or not. -func Xsqlite3session_attach(tls *libc.TLS, pSession uintptr, zName uintptr) int32 { /* sqlite3.c:212240:16: */ +func Xsqlite3session_attach(tls *libc.TLS, pSession uintptr, zName uintptr) int32 { /* sqlite3.c:212297:16: */ var rc int32 = SQLITE_OK Xsqlite3_mutex_enter(tls, Xsqlite3_db_mutex(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb)) @@ -171400,7 +171431,7 @@ func Xsqlite3session_attach(tls *libc.TLS, pSession uintptr, zName uintptr) int3 // // If successful, return zero. Otherwise, if an OOM condition is encountered, // set *pRc to SQLITE_NOMEM and return non-zero. -func sessionBufferGrow(tls *libc.TLS, p uintptr, nByte I64, pRc uintptr) int32 { /* sqlite3.c:212293:12: */ +func sessionBufferGrow(tls *libc.TLS, p uintptr, nByte I64, pRc uintptr) int32 { /* sqlite3.c:212350:12: */ var nReq I64 = I64((*SessionBuffer)(unsafe.Pointer(p)).FnBuf) + nByte if *(*int32)(unsafe.Pointer(pRc)) == SQLITE_OK && nReq > I64((*SessionBuffer)(unsafe.Pointer(p)).FnAlloc) { var aNew uintptr @@ -171445,7 +171476,7 @@ func sessionBufferGrow(tls *libc.TLS, p uintptr, nByte I64, pRc uintptr) int32 { // This function is a no-op if *pRc is non-zero when it is called. // Otherwise, if an error occurs, *pRc is set to an SQLite error code // before returning. -func sessionAppendValue(tls *libc.TLS, p uintptr, pVal uintptr, pRc uintptr) { /* sqlite3.c:212336:13: */ +func sessionAppendValue(tls *libc.TLS, p uintptr, pVal uintptr, pRc uintptr) { /* sqlite3.c:212393:13: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -171468,7 +171499,7 @@ func sessionAppendValue(tls *libc.TLS, p uintptr, pVal uintptr, pRc uintptr) { / // // If an OOM condition is encountered, set *pRc to SQLITE_NOMEM before // returning. -func sessionAppendByte(tls *libc.TLS, p uintptr, v U8, pRc uintptr) { /* sqlite3.c:212358:13: */ +func sessionAppendByte(tls *libc.TLS, p uintptr, v U8, pRc uintptr) { /* sqlite3.c:212415:13: */ if 0 == sessionBufferGrow(tls, p, int64(1), pRc) { *(*U8)(unsafe.Pointer((*SessionBuffer)(unsafe.Pointer(p)).FaBuf + uintptr(libc.PostIncInt32(&(*SessionBuffer)(unsafe.Pointer(p)).FnBuf, 1)))) = v } @@ -171479,7 +171510,7 @@ func sessionAppendByte(tls *libc.TLS, p uintptr, v U8, pRc uintptr) { /* sqlite3 // // If an OOM condition is encountered, set *pRc to SQLITE_NOMEM before // returning. -func sessionAppendVarint(tls *libc.TLS, p uintptr, v int32, pRc uintptr) { /* sqlite3.c:212371:13: */ +func sessionAppendVarint(tls *libc.TLS, p uintptr, v int32, pRc uintptr) { /* sqlite3.c:212428:13: */ if 0 == sessionBufferGrow(tls, p, int64(9), pRc) { *(*int32)(unsafe.Pointer(p + 8)) += sessionVarintPut(tls, (*SessionBuffer)(unsafe.Pointer(p)).FaBuf+uintptr((*SessionBuffer)(unsafe.Pointer(p)).FnBuf), v) } @@ -171490,7 +171521,7 @@ func sessionAppendVarint(tls *libc.TLS, p uintptr, v int32, pRc uintptr) { /* sq // // If an OOM condition is encountered, set *pRc to SQLITE_NOMEM before // returning. -func sessionAppendBlob(tls *libc.TLS, p uintptr, aBlob uintptr, nBlob int32, pRc uintptr) { /* sqlite3.c:212384:13: */ +func sessionAppendBlob(tls *libc.TLS, p uintptr, aBlob uintptr, nBlob int32, pRc uintptr) { /* sqlite3.c:212441:13: */ if nBlob > 0 && 0 == sessionBufferGrow(tls, p, int64(nBlob), pRc) { libc.Xmemcpy(tls, (*SessionBuffer)(unsafe.Pointer(p)).FaBuf+uintptr((*SessionBuffer)(unsafe.Pointer(p)).FnBuf), aBlob, uint64(nBlob)) *(*int32)(unsafe.Pointer(p + 8)) += nBlob @@ -171503,7 +171534,7 @@ func sessionAppendBlob(tls *libc.TLS, p uintptr, aBlob uintptr, nBlob int32, pRc // // If an OOM condition is encountered, set *pRc to SQLITE_NOMEM before // returning. -func sessionAppendStr(tls *libc.TLS, p uintptr, zStr uintptr, pRc uintptr) { /* sqlite3.c:212404:13: */ +func sessionAppendStr(tls *libc.TLS, p uintptr, zStr uintptr, pRc uintptr) { /* sqlite3.c:212461:13: */ var nStr int32 = Xsqlite3Strlen30(tls, zStr) if 0 == sessionBufferGrow(tls, p, int64(nStr), pRc) { libc.Xmemcpy(tls, (*SessionBuffer)(unsafe.Pointer(p)).FaBuf+uintptr((*SessionBuffer)(unsafe.Pointer(p)).FnBuf), zStr, uint64(nStr)) @@ -171517,7 +171548,7 @@ func sessionAppendStr(tls *libc.TLS, p uintptr, zStr uintptr, pRc uintptr) { /* // // If an OOM condition is encountered, set *pRc to SQLITE_NOMEM before // returning. -func sessionAppendInteger(tls *libc.TLS, p uintptr, iVal int32, pRc uintptr) { /* sqlite3.c:212424:13: */ +func sessionAppendInteger(tls *libc.TLS, p uintptr, iVal int32, pRc uintptr) { /* sqlite3.c:212481:13: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -171534,7 +171565,7 @@ func sessionAppendInteger(tls *libc.TLS, p uintptr, iVal int32, pRc uintptr) { / // // If an OOM condition is encountered, set *pRc to SQLITE_NOMEM before // returning. -func sessionAppendIdent(tls *libc.TLS, p uintptr, zStr uintptr, pRc uintptr) { /* sqlite3.c:212443:13: */ +func sessionAppendIdent(tls *libc.TLS, p uintptr, zStr uintptr, pRc uintptr) { /* sqlite3.c:212500:13: */ var nStr int32 = Xsqlite3Strlen30(tls, zStr)*2 + 2 + 1 if 0 == sessionBufferGrow(tls, p, int64(nStr), pRc) { var zOut uintptr = (*SessionBuffer)(unsafe.Pointer(p)).FaBuf + uintptr((*SessionBuffer)(unsafe.Pointer(p)).FnBuf) @@ -171555,7 +171586,7 @@ func sessionAppendIdent(tls *libc.TLS, p uintptr, zStr uintptr, pRc uintptr) { / // called. Otherwse, it appends the serialized version of the value stored // in column iCol of the row that SQL statement pStmt currently points // to to the buffer. -func sessionAppendCol(tls *libc.TLS, p uintptr, pStmt uintptr, iCol int32, pRc uintptr) { /* sqlite3.c:212468:13: */ +func sessionAppendCol(tls *libc.TLS, p uintptr, pStmt uintptr, iCol int32, pRc uintptr) { /* sqlite3.c:212525:13: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -171615,7 +171646,7 @@ func sessionAppendCol(tls *libc.TLS, p uintptr, pStmt uintptr, iCol int32, pRc u // Otherwise, the old.* record contains all primary key values and the // original values of any fields that have been modified. The new.* record // contains the new values of only those fields that have been modified. -func sessionAppendUpdate(tls *libc.TLS, pBuf uintptr, bPatchset int32, pStmt uintptr, p uintptr, abPK uintptr) int32 { /* sqlite3.c:212530:12: */ +func sessionAppendUpdate(tls *libc.TLS, pBuf uintptr, bPatchset int32, pStmt uintptr, p uintptr, abPK uintptr) int32 { /* sqlite3.c:212587:12: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -171721,7 +171752,7 @@ func sessionAppendUpdate(tls *libc.TLS, pBuf uintptr, bPatchset int32, pStmt uin // Append a DELETE change to the buffer passed as the first argument. Use // the changeset format if argument bPatchset is zero, or the patchset // format otherwise. -func sessionAppendDelete(tls *libc.TLS, pBuf uintptr, bPatchset int32, p uintptr, nCol int32, abPK uintptr) int32 { /* sqlite3.c:212630:12: */ +func sessionAppendDelete(tls *libc.TLS, pBuf uintptr, bPatchset int32, p uintptr, nCol int32, abPK uintptr) int32 { /* sqlite3.c:212687:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -171778,7 +171809,7 @@ func sessionAppendDelete(tls *libc.TLS, pBuf uintptr, bPatchset int32, p uintptr // zTab in database zDb based on its primary key. i.e. // // SELECT * FROM zDb.zTab WHERE pk1 = ? AND pk2 = ? AND ... -func sessionSelectStmt(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, nCol int32, azCol uintptr, abPK uintptr, ppStmt uintptr) int32 { /* sqlite3.c:212685:12: */ +func sessionSelectStmt(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, nCol int32, azCol uintptr, abPK uintptr, ppStmt uintptr) int32 { /* sqlite3.c:212742:12: */ bp := tls.Alloc(28) defer tls.Free(28) @@ -171829,7 +171860,7 @@ func sessionSelectStmt(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, nCo // // Return SQLITE_OK if all PK values are successfully bound, or an SQLite // error code (e.g. SQLITE_NOMEM) otherwise. -func sessionSelectBind(tls *libc.TLS, pSelect uintptr, nCol int32, abPK uintptr, pChange uintptr) int32 { /* sqlite3.c:212742:12: */ +func sessionSelectBind(tls *libc.TLS, pSelect uintptr, nCol int32, abPK uintptr, pChange uintptr) int32 { /* sqlite3.c:212799:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -171907,7 +171938,7 @@ func sessionSelectBind(tls *libc.TLS, pSelect uintptr, nCol int32, abPK uintptr, // is called. Otherwise, append a serialized table header (part of the binary // changeset format) to buffer *pBuf. If an error occurs, set *pRc to an // SQLite error code before returning. -func sessionAppendTableHdr(tls *libc.TLS, pBuf uintptr, bPatchset int32, pTab uintptr, pRc uintptr) { /* sqlite3.c:212813:13: */ +func sessionAppendTableHdr(tls *libc.TLS, pBuf uintptr, bPatchset int32, pTab uintptr, pRc uintptr) { /* sqlite3.c:212870:13: */ // Write a table header sessionAppendByte(tls, pBuf, func() uint8 { if bPatchset != 0 { @@ -171928,7 +171959,7 @@ func sessionAppendTableHdr(tls *libc.TLS, pBuf uintptr, bPatchset int32, pTab ui // stored in output variables *pnChangeset and *ppChangeset. Or, if an error // 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) int32 { /* sqlite3.c:212836:12: */ +func sessionGenerateChangeset(tls *libc.TLS, pSession uintptr, bPatchset int32, xOutput uintptr, pOut uintptr, pnChangeset uintptr, ppChangeset uintptr) int32 { /* sqlite3.c:212893:12: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -172058,7 +172089,7 @@ func sessionGenerateChangeset(tls *libc.TLS, pSession uintptr, bPatchset int32, // // It is the responsibility of the caller to eventually free the buffer // using sqlite3_free(). -func Xsqlite3session_changeset(tls *libc.TLS, pSession uintptr, pnChangeset uintptr, ppChangeset uintptr) int32 { /* sqlite3.c:212965:16: */ +func Xsqlite3session_changeset(tls *libc.TLS, pSession uintptr, pnChangeset uintptr, ppChangeset uintptr) int32 { /* sqlite3.c:213022:16: */ var rc int32 if pnChangeset == uintptr(0) || ppChangeset == uintptr(0) { @@ -172070,7 +172101,7 @@ func Xsqlite3session_changeset(tls *libc.TLS, pSession uintptr, pnChangeset uint } // Streaming version of sqlite3session_changeset(). -func Xsqlite3session_changeset_strm(tls *libc.TLS, pSession uintptr, xOutput uintptr, pOut uintptr) int32 { /* sqlite3.c:212983:16: */ +func Xsqlite3session_changeset_strm(tls *libc.TLS, pSession uintptr, xOutput uintptr, pOut uintptr) int32 { /* sqlite3.c:213040:16: */ if xOutput == uintptr(0) { return SQLITE_MISUSE } @@ -172078,7 +172109,7 @@ func Xsqlite3session_changeset_strm(tls *libc.TLS, pSession uintptr, xOutput uin } // Streaming version of sqlite3session_patchset(). -func Xsqlite3session_patchset_strm(tls *libc.TLS, pSession uintptr, xOutput uintptr, pOut uintptr) int32 { /* sqlite3.c:212995:16: */ +func Xsqlite3session_patchset_strm(tls *libc.TLS, pSession uintptr, xOutput uintptr, pOut uintptr) int32 { /* sqlite3.c:213052:16: */ if xOutput == uintptr(0) { return SQLITE_MISUSE } @@ -172090,7 +172121,7 @@ func Xsqlite3session_patchset_strm(tls *libc.TLS, pSession uintptr, xOutput uint // // It is the responsibility of the caller to eventually free the buffer // using sqlite3_free(). -func Xsqlite3session_patchset(tls *libc.TLS, pSession uintptr, pnPatchset uintptr, ppPatchset uintptr) int32 { /* sqlite3.c:213011:16: */ +func Xsqlite3session_patchset(tls *libc.TLS, pSession uintptr, pnPatchset uintptr, ppPatchset uintptr) int32 { /* sqlite3.c:213068:16: */ if pnPatchset == uintptr(0) || ppPatchset == uintptr(0) { return SQLITE_MISUSE } @@ -172098,7 +172129,7 @@ func Xsqlite3session_patchset(tls *libc.TLS, pSession uintptr, pnPatchset uintpt } // Enable or disable the session object passed as the first argument. -func Xsqlite3session_enable(tls *libc.TLS, pSession uintptr, bEnable int32) int32 { /* sqlite3.c:213023:16: */ +func Xsqlite3session_enable(tls *libc.TLS, pSession uintptr, bEnable int32) int32 { /* sqlite3.c:213080:16: */ var ret int32 Xsqlite3_mutex_enter(tls, Xsqlite3_db_mutex(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb)) if bEnable >= 0 { @@ -172110,7 +172141,7 @@ func Xsqlite3session_enable(tls *libc.TLS, pSession uintptr, bEnable int32) int3 } // Enable or disable the session object passed as the first argument. -func Xsqlite3session_indirect(tls *libc.TLS, pSession uintptr, bIndirect int32) int32 { /* sqlite3.c:213037:16: */ +func Xsqlite3session_indirect(tls *libc.TLS, pSession uintptr, bIndirect int32) int32 { /* sqlite3.c:213094:16: */ var ret int32 Xsqlite3_mutex_enter(tls, Xsqlite3_db_mutex(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb)) if bIndirect >= 0 { @@ -172123,7 +172154,7 @@ func Xsqlite3session_indirect(tls *libc.TLS, pSession uintptr, bIndirect int32) // Return true if there have been no changes to monitored tables recorded // by the session object passed as the only argument. -func Xsqlite3session_isempty(tls *libc.TLS, pSession uintptr) int32 { /* sqlite3.c:213052:16: */ +func Xsqlite3session_isempty(tls *libc.TLS, pSession uintptr) int32 { /* sqlite3.c:213109:16: */ var ret int32 = 0 var pTab uintptr @@ -172137,12 +172168,12 @@ func Xsqlite3session_isempty(tls *libc.TLS, pSession uintptr) int32 { /* sqlite3 } // Return the amount of heap memory in use. -func Xsqlite3session_memory_used(tls *libc.TLS, pSession uintptr) Sqlite3_int64 { /* sqlite3.c:213068:26: */ +func Xsqlite3session_memory_used(tls *libc.TLS, pSession uintptr) Sqlite3_int64 { /* sqlite3.c:213125:26: */ return (*Sqlite3_session)(unsafe.Pointer(pSession)).FnMalloc } // Configure the session object passed as the first argument. -func Xsqlite3session_object_config(tls *libc.TLS, pSession uintptr, op int32, pArg uintptr) int32 { /* sqlite3.c:213075:16: */ +func Xsqlite3session_object_config(tls *libc.TLS, pSession uintptr, op int32, pArg uintptr) int32 { /* sqlite3.c:213132:16: */ var rc int32 = SQLITE_OK switch op { case SQLITE_SESSION_OBJCONFIG_SIZE: @@ -172168,12 +172199,12 @@ func Xsqlite3session_object_config(tls *libc.TLS, pSession uintptr, op int32, pA } // Return the maximum size of sqlite3session_changeset() output. -func Xsqlite3session_changeset_size(tls *libc.TLS, pSession uintptr) Sqlite3_int64 { /* sqlite3.c:213101:26: */ +func Xsqlite3session_changeset_size(tls *libc.TLS, pSession uintptr) Sqlite3_int64 { /* sqlite3.c:213158:26: */ return (*Sqlite3_session)(unsafe.Pointer(pSession)).FnMaxChangesetSize } // 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) int32 { /* sqlite3.c:213108:12: */ +func sessionChangesetStart(tls *libc.TLS, pp uintptr, xInput uintptr, pIn uintptr, nChangeset int32, pChangeset uintptr, bInvert int32, bSkipEmpty int32) int32 { /* sqlite3.c:213165:12: */ var pRet uintptr // Iterator to return var nByte int32 // Number of bytes to allocate for iterator @@ -172206,28 +172237,28 @@ func sessionChangesetStart(tls *libc.TLS, pp uintptr, xInput uintptr, pIn uintpt } // Create an iterator used to iterate through the contents of a changeset. -func Xsqlite3changeset_start(tls *libc.TLS, pp uintptr, nChangeset int32, pChangeset uintptr) int32 { /* sqlite3.c:213146:16: */ +func Xsqlite3changeset_start(tls *libc.TLS, pp uintptr, nChangeset int32, pChangeset uintptr) int32 { /* sqlite3.c:213203:16: */ return sessionChangesetStart(tls, pp, uintptr(0), uintptr(0), nChangeset, pChangeset, 0, 0) } -func Xsqlite3changeset_start_v2(tls *libc.TLS, pp uintptr, nChangeset int32, pChangeset uintptr, flags int32) int32 { /* sqlite3.c:213153:16: */ +func Xsqlite3changeset_start_v2(tls *libc.TLS, pp uintptr, nChangeset int32, pChangeset uintptr, flags int32) int32 { /* sqlite3.c:213210:16: */ var bInvert int32 = libc.BoolInt32(!!(flags&SQLITE_CHANGESETSTART_INVERT != 0)) return sessionChangesetStart(tls, pp, uintptr(0), uintptr(0), nChangeset, pChangeset, bInvert, 0) } // Streaming version of sqlite3changeset_start(). -func Xsqlite3changeset_start_strm(tls *libc.TLS, pp uintptr, xInput uintptr, pIn uintptr) int32 { /* sqlite3.c:213166:16: */ +func Xsqlite3changeset_start_strm(tls *libc.TLS, pp uintptr, xInput uintptr, pIn uintptr) int32 { /* sqlite3.c:213223:16: */ return sessionChangesetStart(tls, pp, xInput, pIn, 0, uintptr(0), 0, 0) } -func Xsqlite3changeset_start_v2_strm(tls *libc.TLS, pp uintptr, xInput uintptr, pIn uintptr, flags int32) int32 { /* sqlite3.c:213173:16: */ +func Xsqlite3changeset_start_v2_strm(tls *libc.TLS, pp uintptr, xInput uintptr, pIn uintptr, flags int32) int32 { /* sqlite3.c:213230:16: */ var bInvert int32 = libc.BoolInt32(!!(flags&SQLITE_CHANGESETSTART_INVERT != 0)) return sessionChangesetStart(tls, pp, xInput, pIn, 0, uintptr(0), bInvert, 0) } // If the SessionInput object passed as the only argument is a streaming // object and the buffer is full, discard some data to free up space. -func sessionDiscardData(tls *libc.TLS, pIn uintptr) { /* sqlite3.c:213187:13: */ +func sessionDiscardData(tls *libc.TLS, pIn uintptr) { /* sqlite3.c:213244:13: */ if (*SessionInput)(unsafe.Pointer(pIn)).FxInput != 0 && (*SessionInput)(unsafe.Pointer(pIn)).FiNext >= sessions_strm_chunk_size { var nMove int32 = (*SessionInput)(unsafe.Pointer(pIn)).Fbuf.FnBuf - (*SessionInput)(unsafe.Pointer(pIn)).FiNext @@ -172245,7 +172276,7 @@ func sessionDiscardData(tls *libc.TLS, pIn uintptr) { /* sqlite3.c:213187:13: */ // data is in the buffer. // // Return an SQLite error code if an error occurs, or SQLITE_OK otherwise. -func sessionInputBuffer(tls *libc.TLS, pIn uintptr, nByte int32) int32 { /* sqlite3.c:213207:12: */ +func sessionInputBuffer(tls *libc.TLS, pIn uintptr, nByte int32) int32 { /* sqlite3.c:213264:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -172278,7 +172309,7 @@ func sessionInputBuffer(tls *libc.TLS, pIn uintptr, nByte int32) int32 { /* sqli // When this function is called, *ppRec points to the start of a record // that contains nCol values. This function advances the pointer *ppRec // until it points to the byte immediately following that record. -func sessionSkipRecord(tls *libc.TLS, ppRec uintptr, nCol int32) { /* sqlite3.c:213235:13: */ +func sessionSkipRecord(tls *libc.TLS, ppRec uintptr, nCol int32) { /* sqlite3.c:213292:13: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -172303,7 +172334,7 @@ func sessionSkipRecord(tls *libc.TLS, ppRec uintptr, nCol int32) { /* sqlite3.c: // first argument to a copy of the string or blob held in the aData[] // buffer. SQLITE_OK is returned if successful, or SQLITE_NOMEM if an OOM // error occurs. -func sessionValueSetStr(tls *libc.TLS, pVal uintptr, aData uintptr, nData int32, enc U8) int32 { /* sqlite3.c:213261:12: */ +func sessionValueSetStr(tls *libc.TLS, pVal uintptr, aData uintptr, nData int32, enc U8) int32 { /* sqlite3.c:213318:12: */ // In theory this code could just pass SQLITE_TRANSIENT as the final // argument to sqlite3ValueSetStr() and have the copy created // automatically. But doing so makes it difficult to detect any OOM @@ -172339,7 +172370,7 @@ func sessionValueSetStr(tls *libc.TLS, pVal uintptr, aData uintptr, nData int32, // // If an error occurs, an SQLite error code (e.g. SQLITE_NOMEM) is returned. // The apOut[] array may have been partially populated in this case. -func sessionReadRecord(tls *libc.TLS, pIn uintptr, nCol int32, abPK uintptr, apOut uintptr, pbEmpty uintptr) int32 { /* sqlite3.c:213302:12: */ +func sessionReadRecord(tls *libc.TLS, pIn uintptr, nCol int32, abPK uintptr, apOut uintptr, pbEmpty uintptr) int32 { /* sqlite3.c:213359:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -172357,7 +172388,7 @@ func sessionReadRecord(tls *libc.TLS, pIn uintptr, nCol int32, abPK uintptr, apO rc = sessionInputBuffer(tls, pIn, 9) if rc == SQLITE_OK { if (*SessionInput)(unsafe.Pointer(pIn)).FiNext >= (*SessionInput)(unsafe.Pointer(pIn)).FnData { - rc = Xsqlite3CorruptError(tls, 213320) + rc = Xsqlite3CorruptError(tls, 213377) } else { eType = int32(*(*U8)(unsafe.Pointer((*SessionInput)(unsafe.Pointer(pIn)).FaData + uintptr(libc.PostIncInt32(&(*SessionInput)(unsafe.Pointer(pIn)).FiNext, 1))))) @@ -172382,7 +172413,7 @@ func sessionReadRecord(tls *libc.TLS, pIn uintptr, nCol int32, abPK uintptr, apO rc = sessionInputBuffer(tls, pIn, *(*int32)(unsafe.Pointer(bp /* nByte */))) if rc == SQLITE_OK { if *(*int32)(unsafe.Pointer(bp)) < 0 || *(*int32)(unsafe.Pointer(bp)) > (*SessionInput)(unsafe.Pointer(pIn)).FnData-(*SessionInput)(unsafe.Pointer(pIn)).FiNext { - rc = Xsqlite3CorruptError(tls, 213340) + rc = Xsqlite3CorruptError(tls, 213397) } else { var enc U8 = func() uint8 { if eType == SQLITE_TEXT { @@ -172424,7 +172455,7 @@ func sessionReadRecord(tls *libc.TLS, pIn uintptr, nCol int32, abPK uintptr, apO // buffer (i.e. that it can be accessed without any calls to xInput()). // If successful, SQLITE_OK is returned. Otherwise, an SQLite error code. // The input pointer is not moved. -func sessionChangesetBufferTblhdr(tls *libc.TLS, pIn uintptr, pnByte uintptr) int32 { /* sqlite3.c:213378:12: */ +func sessionChangesetBufferTblhdr(tls *libc.TLS, pIn uintptr, pnByte uintptr) int32 { /* sqlite3.c:213435:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -172443,7 +172474,7 @@ func sessionChangesetBufferTblhdr(tls *libc.TLS, pIn uintptr, pnByte uintptr) in // 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)) > 65536 { - rc = Xsqlite3CorruptError(tls, 213394) + rc = Xsqlite3CorruptError(tls, 213451) } else { rc = sessionInputBuffer(tls, pIn, nRead+*(*int32)(unsafe.Pointer(bp))+100) nRead = nRead + *(*int32)(unsafe.Pointer(bp)) @@ -172470,7 +172501,7 @@ func sessionChangesetBufferTblhdr(tls *libc.TLS, pIn uintptr, pnByte uintptr) in // If successful, SQLITE_OK is returned and *pnByte is set to the size of // the record in bytes. Otherwise, an SQLite error code is returned. The // final value of *pnByte is undefined in this case. -func sessionChangesetBufferRecord(tls *libc.TLS, pIn uintptr, nCol int32, pnByte uintptr) int32 { /* sqlite3.c:213421:12: */ +func sessionChangesetBufferRecord(tls *libc.TLS, pIn uintptr, nCol int32, pnByte uintptr) int32 { /* sqlite3.c:213478:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -172512,7 +172543,7 @@ func sessionChangesetBufferRecord(tls *libc.TLS, pIn uintptr, nCol int32, pnByte // If successful, SQLITE_OK is returned. Otherwise, an SQLite error code // is returned and the final values of the various fields enumerated above // are undefined. -func sessionChangesetReadTblhdr(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:213465:12: */ +func sessionChangesetReadTblhdr(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:213522:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -172532,7 +172563,7 @@ func sessionChangesetReadTblhdr(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:2 (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Ftblhdr.FnBuf = 0 sessionBufferGrow(tls, p+72, int64(nByte), bp+4) } else { - *(*int32)(unsafe.Pointer(bp + 4 /* rc */)) = Xsqlite3CorruptError(tls, 213482) + *(*int32)(unsafe.Pointer(bp + 4 /* rc */)) = Xsqlite3CorruptError(tls, 213539) } } @@ -172567,7 +172598,7 @@ func sessionChangesetReadTblhdr(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:2 // // * If the iterator is configured to skip no-op UPDATEs, // sessionChangesetNext() does that. This function does not. -func sessionChangesetNextOne(tls *libc.TLS, p uintptr, paRec uintptr, pnRec uintptr, pbNew uintptr, pbEmpty uintptr) int32 { /* sqlite3.c:213514:12: */ +func sessionChangesetNextOne(tls *libc.TLS, p uintptr, paRec uintptr, pnRec uintptr, pbNew uintptr, pbEmpty uintptr) int32 { /* sqlite3.c:213571:12: */ var i int32 var op U8 @@ -172624,13 +172655,13 @@ func sessionChangesetNextOne(tls *libc.TLS, p uintptr, paRec uintptr, pnRec uint // The first record in the changeset is not a table header. Must be a // corrupt changeset. - return libc.AssignPtrInt32(p+100, Xsqlite3CorruptError(tls, 213568)) + return libc.AssignPtrInt32(p+100, Xsqlite3CorruptError(tls, 213625)) } (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fop = int32(op) (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FbIndirect = int32(*(*U8)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FaData + uintptr(libc.PostIncInt32(&(*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FiNext, 1))))) if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fop != SQLITE_UPDATE && (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fop != SQLITE_DELETE && (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fop != SQLITE_INSERT { - return libc.AssignPtrInt32(p+100, Xsqlite3CorruptError(tls, 213574)) + return libc.AssignPtrInt32(p+100, Xsqlite3CorruptError(tls, 213631)) } if paRec != 0 { @@ -172700,7 +172731,7 @@ func sessionChangesetNextOne(tls *libc.TLS, p uintptr, paRec uintptr, pnRec uint *(*uintptr)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue + uintptr(i)*8)) = *(*uintptr)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue + uintptr(i+(*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol)*8)) if *(*uintptr)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue + uintptr(i)*8)) == uintptr(0) { - return libc.AssignPtrInt32(p+100, Xsqlite3CorruptError(tls, 213618)) + return libc.AssignPtrInt32(p+100, Xsqlite3CorruptError(tls, 213675)) } *(*uintptr)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue + uintptr(i+(*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol)*8)) = uintptr(0) } @@ -172731,7 +172762,7 @@ func sessionChangesetNextOne(tls *libc.TLS, p uintptr, paRec uintptr, pnRec uint // successfully advanced to the next change in the changeset, an SQLite // error code if an error occurs, or SQLITE_DONE if there are no further // changes in the changeset. -func sessionChangesetNext(tls *libc.TLS, p uintptr, paRec uintptr, pnRec uintptr, pbNew uintptr) int32 { /* sqlite3.c:213647:12: */ +func sessionChangesetNext(tls *libc.TLS, p uintptr, paRec uintptr, pnRec uintptr, pbNew uintptr) int32 { /* sqlite3.c:213704:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -172751,14 +172782,14 @@ func sessionChangesetNext(tls *libc.TLS, p uintptr, paRec uintptr, pnRec uintptr // // This function may not be called on iterators passed to a conflict handler // callback by changeset_apply(). -func Xsqlite3changeset_next(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:213670:16: */ +func Xsqlite3changeset_next(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:213727:16: */ return sessionChangesetNext(tls, p, uintptr(0), uintptr(0), uintptr(0)) } // The following function extracts information on the current change // from a changeset iterator. It may only be called after changeset_next() // has returned SQLITE_ROW. -func Xsqlite3changeset_op(tls *libc.TLS, pIter uintptr, pzTab uintptr, pnCol uintptr, pOp uintptr, pbIndirect uintptr) int32 { /* sqlite3.c:213679:16: */ +func Xsqlite3changeset_op(tls *libc.TLS, pIter uintptr, pzTab uintptr, pnCol uintptr, pOp uintptr, pbIndirect uintptr) int32 { /* sqlite3.c:213736:16: */ *(*int32)(unsafe.Pointer(pOp)) = (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fop *(*int32)(unsafe.Pointer(pnCol)) = (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol *(*uintptr)(unsafe.Pointer(pzTab)) = (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FzTab @@ -172772,7 +172803,7 @@ func Xsqlite3changeset_op(tls *libc.TLS, pIter uintptr, pzTab uintptr, pnCol uin // the database table affected by the change that pIter currently points // to. This function may only be called after changeset_next() returns // SQLITE_ROW. -func Xsqlite3changeset_pk(tls *libc.TLS, pIter uintptr, pabPK uintptr, pnCol uintptr) int32 { /* sqlite3.c:213699:16: */ +func Xsqlite3changeset_pk(tls *libc.TLS, pIter uintptr, pabPK uintptr, pnCol uintptr) int32 { /* sqlite3.c:213756:16: */ *(*uintptr)(unsafe.Pointer(pabPK)) = (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FabPK if pnCol != 0 { *(*int32)(unsafe.Pointer(pnCol)) = (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol @@ -172791,7 +172822,7 @@ func Xsqlite3changeset_pk(tls *libc.TLS, pIter uintptr, pabPK uintptr, pnCol uin // // If value iVal is out-of-range, SQLITE_RANGE is returned and *ppValue is // not modified. Otherwise, SQLITE_OK. -func Xsqlite3changeset_old(tls *libc.TLS, pIter uintptr, iVal int32, ppValue uintptr) int32 { /* sqlite3.c:213722:16: */ +func Xsqlite3changeset_old(tls *libc.TLS, pIter uintptr, iVal int32, ppValue uintptr) int32 { /* sqlite3.c:213779:16: */ if (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fop != SQLITE_UPDATE && (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fop != SQLITE_DELETE { return SQLITE_MISUSE } @@ -172813,7 +172844,7 @@ func Xsqlite3changeset_old(tls *libc.TLS, pIter uintptr, iVal int32, ppValue uin // // If value iVal is out-of-range, SQLITE_RANGE is returned and *ppValue is // not modified. Otherwise, SQLITE_OK. -func Xsqlite3changeset_new(tls *libc.TLS, pIter uintptr, iVal int32, ppValue uintptr) int32 { /* sqlite3.c:213750:16: */ +func Xsqlite3changeset_new(tls *libc.TLS, pIter uintptr, iVal int32, ppValue uintptr) int32 { /* sqlite3.c:213807:16: */ if (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fop != SQLITE_UPDATE && (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fop != SQLITE_INSERT { return SQLITE_MISUSE } @@ -172837,7 +172868,7 @@ func Xsqlite3changeset_new(tls *libc.TLS, pIter uintptr, iVal int32, ppValue uin // // If value iVal is out-of-range or some other error occurs, an SQLite error // code is returned. Otherwise, SQLITE_OK. -func Xsqlite3changeset_conflict(tls *libc.TLS, pIter uintptr, iVal int32, ppValue uintptr) int32 { /* sqlite3.c:213784:16: */ +func Xsqlite3changeset_conflict(tls *libc.TLS, pIter uintptr, iVal int32, ppValue uintptr) int32 { /* sqlite3.c:213841:16: */ if !(int32((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FpConflict) != 0) { return SQLITE_MISUSE } @@ -172854,7 +172885,7 @@ func Xsqlite3changeset_conflict(tls *libc.TLS, pIter uintptr, iVal int32, ppValu // violations in the destination database and returns SQLITE_OK. // // In all other cases this function returns SQLITE_MISUSE. -func Xsqlite3changeset_fk_conflicts(tls *libc.TLS, pIter uintptr, pnOut uintptr) int32 { /* sqlite3.c:213807:16: */ +func Xsqlite3changeset_fk_conflicts(tls *libc.TLS, pIter uintptr, pnOut uintptr) int32 { /* sqlite3.c:213864:16: */ if (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FpConflict != 0 || (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FapValue != 0 { return SQLITE_MISUSE } @@ -172866,7 +172897,7 @@ func Xsqlite3changeset_fk_conflicts(tls *libc.TLS, pIter uintptr, pnOut uintptr) // // This function may not be called on iterators passed to a conflict handler // callback by changeset_apply(). -func Xsqlite3changeset_finalize(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:213825:16: */ +func Xsqlite3changeset_finalize(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:213882:16: */ var rc int32 = SQLITE_OK if p != 0 { var i int32 // Used to iterate through p->apValue[] @@ -172883,7 +172914,7 @@ func Xsqlite3changeset_finalize(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:2 return rc } -func sessionChangesetInvert(tls *libc.TLS, pInput uintptr, xOutput uintptr, pOut uintptr, pnInverted uintptr, ppInverted uintptr) int32 { /* sqlite3.c:213840:12: */ +func sessionChangesetInvert(tls *libc.TLS, pInput uintptr, xOutput uintptr, pOut uintptr, pnInverted uintptr, ppInverted uintptr) int32 { /* sqlite3.c:213897:12: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -173119,7 +173150,7 @@ __27: goto __6 __11: - *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = Xsqlite3CorruptError(tls, 213967) + *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = Xsqlite3CorruptError(tls, 214024) goto finished_invert __6: ; @@ -173170,7 +173201,7 @@ finished_invert: } // Invert a changeset object. -func Xsqlite3changeset_invert(tls *libc.TLS, nChangeset int32, pChangeset uintptr, pnInverted uintptr, ppInverted uintptr) int32 { /* sqlite3.c:213999:16: */ +func Xsqlite3changeset_invert(tls *libc.TLS, nChangeset int32, pChangeset uintptr, pnInverted uintptr, ppInverted uintptr) int32 { /* sqlite3.c:214056:16: */ bp := tls.Alloc(72) defer tls.Free(72) @@ -173185,7 +173216,7 @@ func Xsqlite3changeset_invert(tls *libc.TLS, nChangeset int32, pChangeset uintpt } // Streaming version of sqlite3changeset_invert(). -func Xsqlite3changeset_invert_strm(tls *libc.TLS, xInput uintptr, pIn uintptr, xOutput uintptr, pOut uintptr) int32 { /* sqlite3.c:214018:16: */ +func Xsqlite3changeset_invert_strm(tls *libc.TLS, xInput uintptr, pIn uintptr, xOutput uintptr, pOut uintptr) int32 { /* sqlite3.c:214075:16: */ bp := tls.Alloc(72) defer tls.Free(72) @@ -173207,9 +173238,9 @@ type SessionUpdate1 = struct { FpStmt uintptr FaMask uintptr FpNext uintptr -} /* sqlite3.c:214038:9 */ +} /* sqlite3.c:214095:9 */ -type SessionUpdate = SessionUpdate1 /* sqlite3.c:214038:30 */ +type SessionUpdate = SessionUpdate1 /* sqlite3.c:214095:30 */ type SessionApplyCtx1 = struct { Fdb uintptr @@ -173231,9 +173262,9 @@ type SessionApplyCtx1 = struct { FbRebaseStarted U8 FbRebase U8 F__ccgo_pad3 [6]byte -} /* sqlite3.c:214045:9 */ +} /* sqlite3.c:214102:9 */ -type SessionApplyCtx = SessionApplyCtx1 /* sqlite3.c:214045:32 */ +type SessionApplyCtx = SessionApplyCtx1 /* sqlite3.c:214102:32 */ // Number of prepared UPDATE statements to cache. @@ -173241,7 +173272,7 @@ type SessionApplyCtx = SessionApplyCtx1 /* sqlite3.c:214045:32 */ // being visited by the iterator. The UPDATE is of the form: // // UPDATE tbl SET col = ?, col2 = ? WHERE pk1 IS ? AND pk2 IS ? -func sessionUpdateFind(tls *libc.TLS, pIter uintptr, p uintptr, bPatchset int32, ppStmt uintptr) int32 { /* sqlite3.c:214074:12: */ +func sessionUpdateFind(tls *libc.TLS, pIter uintptr, p uintptr, bPatchset int32, ppStmt uintptr) int32 { /* sqlite3.c:214131:12: */ bp := tls.Alloc(20) defer tls.Free(20) @@ -173375,7 +173406,7 @@ func sessionUpdateFind(tls *libc.TLS, pIter uintptr, p uintptr, bPatchset int32, } // Free all cached UPDATE statements. -func sessionUpdateFree(tls *libc.TLS, p uintptr) { /* sqlite3.c:214213:13: */ +func sessionUpdateFree(tls *libc.TLS, p uintptr) { /* sqlite3.c:214270:13: */ var pUp uintptr var pNext uintptr for pUp = (*SessionApplyCtx)(unsafe.Pointer(p)).FpUp; pUp != 0; pUp = pNext { @@ -173403,7 +173434,7 @@ func sessionUpdateFree(tls *libc.TLS, p uintptr) { /* sqlite3.c:214213:13: */ // // If successful, SQLITE_OK is returned and SessionApplyCtx.pDelete is left // pointing to the prepared version of the SQL statement. -func sessionDeleteRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) int32 { /* sqlite3.c:214243:12: */ +func sessionDeleteRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) int32 { /* sqlite3.c:214300:12: */ bp := tls.Alloc(20) defer tls.Free(20) @@ -173465,7 +173496,7 @@ func sessionDeleteRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) int32 // // If successful, SQLITE_OK is returned and SessionApplyCtx.pSelect is left // pointing to the prepared version of the SQL statement. -func sessionSelectRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) int32 { /* sqlite3.c:214308:12: */ +func sessionSelectRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) int32 { /* sqlite3.c:214365:12: */ return sessionSelectStmt(tls, db, ts+6332, zTab, (*SessionApplyCtx)(unsafe.Pointer(p)).FnCol, (*SessionApplyCtx)(unsafe.Pointer(p)).FazCol, (*SessionApplyCtx)(unsafe.Pointer(p)).FabPK, p+24) } @@ -173477,7 +173508,7 @@ func sessionSelectRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) int32 // // If successful, SQLITE_OK is returned and SessionApplyCtx.pInsert is left // pointing to the prepared version of the SQL statement. -func sessionInsertRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) int32 { /* sqlite3.c:214326:12: */ +func sessionInsertRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) int32 { /* sqlite3.c:214383:12: */ bp := tls.Alloc(20) defer tls.Free(20) @@ -173508,7 +173539,7 @@ func sessionInsertRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) int32 return *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) } -func sessionPrepare(tls *libc.TLS, db uintptr, pp uintptr, zSql uintptr) int32 { /* sqlite3.c:214356:12: */ +func sessionPrepare(tls *libc.TLS, db uintptr, pp uintptr, zSql uintptr) int32 { /* sqlite3.c:214413:12: */ return Xsqlite3_prepare_v2(tls, db, zSql, -1, pp, uintptr(0)) } @@ -173516,7 +173547,7 @@ func sessionPrepare(tls *libc.TLS, db uintptr, pp uintptr, zSql uintptr) int32 { // These are similar to those created by sessionSelectRow(), // sessionInsertRow(), sessionUpdateRow() and sessionDeleteRow() for // other tables. -func sessionStat1Sql(tls *libc.TLS, db uintptr, p uintptr) int32 { /* sqlite3.c:214366:12: */ +func sessionStat1Sql(tls *libc.TLS, db uintptr, p uintptr) int32 { /* sqlite3.c:214423:12: */ var rc int32 = sessionSelectRow(tls, db, ts+11233, p) if rc == SQLITE_OK { rc = sessionPrepare(tls, db, p+16, @@ -173533,7 +173564,7 @@ func sessionStat1Sql(tls *libc.TLS, db uintptr, p uintptr) int32 { /* sqlite3.c: // A wrapper around sqlite3_bind_value() that detects an extra problem. // See comments in the body of this function for details. -func sessionBindValue(tls *libc.TLS, pStmt uintptr, i int32, pVal uintptr) int32 { /* sqlite3.c:214389:12: */ +func sessionBindValue(tls *libc.TLS, pStmt uintptr, i int32, pVal uintptr) int32 { /* sqlite3.c:214446:12: */ var eType int32 = Xsqlite3_value_type(tls, pVal) // COVERAGE: The (pVal->z==0) branch is never true using current versions // of SQLite. If a malloc fails in an sqlite3_value_xxx() function, either @@ -173560,7 +173591,7 @@ func sessionBindValue(tls *libc.TLS, pStmt uintptr, i int32, pVal uintptr) int32 // statement. // // 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) int32 { /* sqlite3.c:214422:12: */ +func sessionBindRow(tls *libc.TLS, pIter uintptr, xValue uintptr, nCol int32, abPK uintptr, pStmt uintptr) int32 { /* sqlite3.c:214479:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -173581,7 +173612,7 @@ func sessionBindRow(tls *libc.TLS, pIter uintptr, xValue uintptr, nCol int32, ab if *(*uintptr)(unsafe.Pointer(bp)) == uintptr(0) { // The value in the changeset was "undefined". This indicates a // corrupt changeset blob. - rc = Xsqlite3CorruptError(tls, 214445) + rc = Xsqlite3CorruptError(tls, 214502) } else { rc = sessionBindValue(tls, pStmt, i+1, *(*uintptr)(unsafe.Pointer(bp /* pVal */))) } @@ -173605,7 +173636,7 @@ func sessionBindRow(tls *libc.TLS, pIter uintptr, xValue uintptr, nCol int32, ab // If the iterator currently points to an INSERT record, bind values from the // new.* record to the SELECT statement. Or, if it points to a DELETE or // UPDATE, bind values from the old.* record. -func sessionSeekToRow(tls *libc.TLS, db uintptr, pIter uintptr, abPK uintptr, pSelect uintptr) int32 { /* sqlite3.c:214471:12: */ +func sessionSeekToRow(tls *libc.TLS, db uintptr, pIter uintptr, abPK uintptr, pSelect uintptr) int32 { /* sqlite3.c:214528:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -173649,7 +173680,7 @@ func sessionSeekToRow(tls *libc.TLS, db uintptr, pIter uintptr, abPK uintptr, pS // of apply_v2() as the "rebase" buffer. // // Return SQLITE_OK if successful, or an SQLite error code otherwise. -func sessionRebaseAdd(tls *libc.TLS, p uintptr, eType int32, pIter uintptr) int32 { /* sqlite3.c:214506:12: */ +func sessionRebaseAdd(tls *libc.TLS, p uintptr, eType int32, pIter uintptr) int32 { /* sqlite3.c:214563:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -173721,7 +173752,7 @@ func sessionRebaseAdd(tls *libc.TLS, p uintptr, eType int32, pIter uintptr) int3 // returned. Or, if the conflict handler returns an invalid value, // 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) int32 { /* sqlite3.c:214580:12: */ +func sessionConflictHandler(tls *libc.TLS, eType int32, p uintptr, pIter uintptr, xConflict uintptr, pCtx uintptr, pbReplace uintptr) int32 { /* sqlite3.c:214637:12: */ bp := tls.Alloc(20) defer tls.Free(20) @@ -173821,7 +173852,7 @@ func sessionConflictHandler(tls *libc.TLS, eType int32, p uintptr, pIter uintptr // If any conflict handler returns SQLITE_CHANGESET_ABORT, this function // 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) int32 { /* sqlite3.c:214678:12: */ +func sessionApplyOneOp(tls *libc.TLS, pIter uintptr, p uintptr, xConflict uintptr, pCtx uintptr, pbReplace uintptr, pbRetry uintptr) int32 { /* sqlite3.c:214735:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -173956,7 +173987,7 @@ func sessionApplyOneOp(tls *libc.TLS, pIter uintptr, p uintptr, xConflict uintpt // function handles the case where the conflict-handler is invoked and // 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) int32 { /* sqlite3.c:214811:12: */ +func sessionApplyOneWithRetry(tls *libc.TLS, db uintptr, pIter uintptr, pApply uintptr, xConflict uintptr, pCtx uintptr) int32 { /* sqlite3.c:214868:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -174003,7 +174034,7 @@ func sessionApplyOneWithRetry(tls *libc.TLS, db uintptr, pIter uintptr, pApply u } // 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) int32 { /* sqlite3.c:214868:12: */ +func sessionRetryConstraints(tls *libc.TLS, db uintptr, bPatchset int32, zTab uintptr, pApply uintptr, xConflict uintptr, pCtx uintptr) int32 { /* sqlite3.c:214925:12: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -174057,7 +174088,7 @@ func sessionRetryConstraints(tls *libc.TLS, db uintptr, bPatchset int32, zTab ui // changeset to the main database attached to handle "db". The supplied // 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) int32 { /* sqlite3.c:214924:12: */ +func sessionChangesetApply(tls *libc.TLS, db uintptr, pIter uintptr, xFilter uintptr, xConflict uintptr, pCtx uintptr, ppRebase uintptr, pnRebase uintptr, flags int32) int32 { /* sqlite3.c:214981:12: */ bp := tls.Alloc(368) defer tls.Free(368) @@ -174248,7 +174279,7 @@ func sessionChangesetApply(tls *libc.TLS, db uintptr, pIter uintptr, xFilter uin // 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) int32 { /* sqlite3.c:215122:16: */ +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) int32 { /* sqlite3.c:215179:16: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -174266,7 +174297,7 @@ func Xsqlite3changeset_apply_v2(tls *libc.TLS, db uintptr, nChangeset int32, pCh // Apply the changeset passed via pChangeset/nChangeset to the main database // 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) int32 { /* sqlite3.c:215155:16: */ +func Xsqlite3changeset_apply(tls *libc.TLS, db uintptr, nChangeset int32, pChangeset uintptr, xFilter uintptr, xConflict uintptr, pCtx uintptr) int32 { /* sqlite3.c:215212:16: */ return Xsqlite3changeset_apply_v2(tls, db, nChangeset, pChangeset, xFilter, xConflict, pCtx, uintptr(0), uintptr(0), 0) } @@ -174274,7 +174305,7 @@ func Xsqlite3changeset_apply(tls *libc.TLS, db uintptr, nChangeset int32, pChang // Apply the changeset passed via xInput/pIn to the main database // 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) int32 { /* sqlite3.c:215180:16: */ +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) int32 { /* sqlite3.c:215237:16: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -174289,7 +174320,7 @@ func Xsqlite3changeset_apply_v2_strm(tls *libc.TLS, db uintptr, xInput uintptr, return rc } -func Xsqlite3changeset_apply_strm(tls *libc.TLS, db uintptr, xInput uintptr, pIn uintptr, xFilter uintptr, xConflict uintptr, pCtx uintptr) int32 { /* sqlite3.c:215207:16: */ +func Xsqlite3changeset_apply_strm(tls *libc.TLS, db uintptr, xInput uintptr, pIn uintptr, xFilter uintptr, xConflict uintptr, pCtx uintptr) int32 { /* sqlite3.c:215264:16: */ return Xsqlite3changeset_apply_v2_strm(tls, db, xInput, pIn, xFilter, xConflict, pCtx, uintptr(0), uintptr(0), 0) } @@ -174297,7 +174328,7 @@ func Xsqlite3changeset_apply_strm(tls *libc.TLS, db uintptr, xInput uintptr, pIn // This function is called to merge two changes to the same row together as // part of an sqlite3changeset_concat() operation. A new change object is // allocated and a pointer to it stored in *ppNew. -func sessionChangeMerge(tls *libc.TLS, pTab uintptr, bRebase int32, bPatchset int32, pExist uintptr, op2 int32, bIndirect int32, aRec uintptr, nRec int32, ppNew uintptr) int32 { /* sqlite3.c:215241:12: */ +func sessionChangeMerge(tls *libc.TLS, pTab uintptr, bRebase int32, bPatchset int32, pExist uintptr, op2 int32, bIndirect int32, aRec uintptr, nRec int32, ppNew uintptr) int32 { /* sqlite3.c:215298:12: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -174469,7 +174500,7 @@ func sessionChangeMerge(tls *libc.TLS, pTab uintptr, bRebase int32, bPatchset in // Add all changes in the changeset traversed by the iterator passed as // the first argument to the changegroup hash tables. -func sessionChangesetToHash(tls *libc.TLS, pIter uintptr, pGrp uintptr, bRebase int32) int32 { /* sqlite3.c:215423:12: */ +func sessionChangesetToHash(tls *libc.TLS, pIter uintptr, pGrp uintptr, bRebase int32) int32 { /* sqlite3.c:215480:12: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -174600,7 +174631,7 @@ func sessionChangesetToHash(tls *libc.TLS, pIter uintptr, pGrp uintptr, bRebase // If successful, SQLITE_OK is returned. Or, if an error occurs, an SQLite // 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) int32 { /* sqlite3.c:215546:12: */ +func sessionChangegroupOutput(tls *libc.TLS, pGrp uintptr, xOutput uintptr, pOut uintptr, pnOut uintptr, ppOut uintptr) int32 { /* sqlite3.c:215603:12: */ bp := tls.Alloc(20) defer tls.Free(20) @@ -174654,7 +174685,7 @@ func sessionChangegroupOutput(tls *libc.TLS, pGrp uintptr, xOutput uintptr, pOut } // Allocate a new, empty, sqlite3_changegroup. -func Xsqlite3changegroup_new(tls *libc.TLS, pp uintptr) int32 { /* sqlite3.c:215597:16: */ +func Xsqlite3changegroup_new(tls *libc.TLS, pp uintptr) int32 { /* sqlite3.c:215654:16: */ var rc int32 = SQLITE_OK // Return code var p uintptr // New object p = Xsqlite3_malloc(tls, int32(unsafe.Sizeof(Sqlite3_changegroup{}))) @@ -174669,7 +174700,7 @@ func Xsqlite3changegroup_new(tls *libc.TLS, pp uintptr) int32 { /* sqlite3.c:215 // Add the changeset currently stored in buffer pData, size nData bytes, // to changeset-group p. -func Xsqlite3changegroup_add(tls *libc.TLS, pGrp uintptr, nData int32, pData uintptr) int32 { /* sqlite3.c:215614:16: */ +func Xsqlite3changegroup_add(tls *libc.TLS, pGrp uintptr, nData int32, pData uintptr) int32 { /* sqlite3.c:215671:16: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -174687,12 +174718,12 @@ func Xsqlite3changegroup_add(tls *libc.TLS, pGrp uintptr, nData int32, pData uin // Obtain a buffer containing a changeset representing the concatenation // of all changesets added to the group so far. -func Xsqlite3changegroup_output(tls *libc.TLS, pGrp uintptr, pnData uintptr, ppData uintptr) int32 { /* sqlite3.c:215630:16: */ +func Xsqlite3changegroup_output(tls *libc.TLS, pGrp uintptr, pnData uintptr, ppData uintptr) int32 { /* sqlite3.c:215687:16: */ return sessionChangegroupOutput(tls, pGrp, uintptr(0), uintptr(0), pnData, ppData) } // Streaming versions of changegroup_add(). -func Xsqlite3changegroup_add_strm(tls *libc.TLS, pGrp uintptr, xInput uintptr, pIn uintptr) int32 { /* sqlite3.c:215641:16: */ +func Xsqlite3changegroup_add_strm(tls *libc.TLS, pGrp uintptr, xInput uintptr, pIn uintptr) int32 { /* sqlite3.c:215698:16: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -174709,12 +174740,12 @@ func Xsqlite3changegroup_add_strm(tls *libc.TLS, pGrp uintptr, xInput uintptr, p } // Streaming versions of changegroup_output(). -func Xsqlite3changegroup_output_strm(tls *libc.TLS, pGrp uintptr, xOutput uintptr, pOut uintptr) int32 { /* sqlite3.c:215660:16: */ +func Xsqlite3changegroup_output_strm(tls *libc.TLS, pGrp uintptr, xOutput uintptr, pOut uintptr) int32 { /* sqlite3.c:215717:16: */ return sessionChangegroupOutput(tls, pGrp, xOutput, pOut, uintptr(0), uintptr(0)) } // Delete a changegroup object. -func Xsqlite3changegroup_delete(tls *libc.TLS, pGrp uintptr) { /* sqlite3.c:215671:17: */ +func Xsqlite3changegroup_delete(tls *libc.TLS, pGrp uintptr) { /* sqlite3.c:215728:17: */ if pGrp != 0 { sessionDeleteTable(tls, uintptr(0), (*Sqlite3_changegroup)(unsafe.Pointer(pGrp)).FpList) Xsqlite3_free(tls, pGrp) @@ -174722,7 +174753,7 @@ func Xsqlite3changegroup_delete(tls *libc.TLS, pGrp uintptr) { /* sqlite3.c:2156 } // Combine two changesets together. -func Xsqlite3changeset_concat(tls *libc.TLS, nLeft int32, pLeft uintptr, nRight int32, pRight uintptr, pnOut uintptr, ppOut uintptr) int32 { /* sqlite3.c:215681:16: */ +func Xsqlite3changeset_concat(tls *libc.TLS, nLeft int32, pLeft uintptr, nRight int32, pRight uintptr, pnOut uintptr, ppOut uintptr) int32 { /* sqlite3.c:215738:16: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -174746,7 +174777,7 @@ func Xsqlite3changeset_concat(tls *libc.TLS, nLeft int32, pLeft uintptr, nRight } // Streaming version of sqlite3changeset_concat(). -func Xsqlite3changeset_concat_strm(tls *libc.TLS, xInputA uintptr, pInA uintptr, xInputB uintptr, pInB uintptr, xOutput uintptr, pOut uintptr) int32 { /* sqlite3.c:215710:16: */ +func Xsqlite3changeset_concat_strm(tls *libc.TLS, xInputA uintptr, pInA uintptr, xInputB uintptr, pInB uintptr, xOutput uintptr, pOut uintptr) int32 { /* sqlite3.c:215767:16: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -174773,7 +174804,7 @@ func Xsqlite3changeset_concat_strm(tls *libc.TLS, xInputA uintptr, pInA uintptr, // fields in size. This function appends an nCol sessions module // record to buffer pBuf that is a copy of a1, except that for // each field that is undefined in a1[], swap in the field from a2[]. -func sessionAppendRecordMerge(tls *libc.TLS, pBuf uintptr, nCol int32, a1 uintptr, n1 int32, a2 uintptr, n2 int32, pRc uintptr) { /* sqlite3.c:215749:13: */ +func sessionAppendRecordMerge(tls *libc.TLS, pBuf uintptr, nCol int32, a1 uintptr, n1 int32, a2 uintptr, n2 int32, pRc uintptr) { /* sqlite3.c:215806:13: */ sessionBufferGrow(tls, pBuf, int64(n1+n2), pRc) if *(*int32)(unsafe.Pointer(pRc)) == SQLITE_OK { var i int32 @@ -174814,7 +174845,7 @@ func sessionAppendRecordMerge(tls *libc.TLS, pBuf uintptr, nCol int32, a1 uintpt // corresponding field in the rebase buffer is not "undefined" (0x00) // or "replaced" (0xFF), the old.* value is replaced by the value // in the rebase buffer. -func sessionAppendPartialUpdate(tls *libc.TLS, pBuf uintptr, pIter uintptr, aRec uintptr, nRec int32, aChange uintptr, nChange int32, pRc uintptr) { /* sqlite3.c:215798:13: */ +func sessionAppendPartialUpdate(tls *libc.TLS, pBuf uintptr, pIter uintptr, aRec uintptr, nRec int32, aChange uintptr, nChange int32, pRc uintptr) { /* sqlite3.c:215855:13: */ sessionBufferGrow(tls, pBuf, int64(2+nRec+nChange), pRc) if *(*int32)(unsafe.Pointer(pRc)) == SQLITE_OK { var bData int32 = 0 @@ -174876,7 +174907,7 @@ func sessionAppendPartialUpdate(tls *libc.TLS, pBuf uintptr, pIter uintptr, aRec // If an error occurs, an SQLite error code is returned. If ppOut and // 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) int32 { /* sqlite3.c:215866:12: */ +func sessionRebase(tls *libc.TLS, p uintptr, pIter uintptr, xOutput uintptr, pOut uintptr, pnOut uintptr, ppOut uintptr) int32 { /* sqlite3.c:215923:12: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -175014,7 +175045,7 @@ func sessionRebase(tls *libc.TLS, p uintptr, pIter uintptr, xOutput uintptr, pOu } // Create a new rebaser object. -func Xsqlite3rebaser_create(tls *libc.TLS, ppNew uintptr) int32 { /* sqlite3.c:215998:16: */ +func Xsqlite3rebaser_create(tls *libc.TLS, ppNew uintptr) int32 { /* sqlite3.c:216055:16: */ var rc int32 = SQLITE_OK var pNew uintptr @@ -175029,7 +175060,7 @@ func Xsqlite3rebaser_create(tls *libc.TLS, ppNew uintptr) int32 { /* sqlite3.c:2 } // Call this one or more times to configure a rebaser. -func Xsqlite3rebaser_configure(tls *libc.TLS, p uintptr, nRebase int32, pRebase uintptr) int32 { /* sqlite3.c:216015:16: */ +func Xsqlite3rebaser_configure(tls *libc.TLS, p uintptr, nRebase int32, pRebase uintptr) int32 { /* sqlite3.c:216072:16: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -175044,7 +175075,7 @@ func Xsqlite3rebaser_configure(tls *libc.TLS, p uintptr, nRebase int32, pRebase } // Rebase a changeset according to current rebaser configuration -func Xsqlite3rebaser_rebase(tls *libc.TLS, p uintptr, nIn int32, pIn uintptr, pnOut uintptr, ppOut uintptr) int32 { /* sqlite3.c:216032:16: */ +func Xsqlite3rebaser_rebase(tls *libc.TLS, p uintptr, nIn int32, pIn uintptr, pnOut uintptr, ppOut uintptr) int32 { /* sqlite3.c:216089:16: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -175060,7 +175091,7 @@ func Xsqlite3rebaser_rebase(tls *libc.TLS, p uintptr, nIn int32, pIn uintptr, pn } // 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) int32 { /* sqlite3.c:216051:16: */ +func Xsqlite3rebaser_rebase_strm(tls *libc.TLS, p uintptr, xInput uintptr, pIn uintptr, xOutput uintptr, pOut uintptr) int32 { /* sqlite3.c:216108:16: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -175076,7 +175107,7 @@ func Xsqlite3rebaser_rebase_strm(tls *libc.TLS, p uintptr, xInput uintptr, pIn u } // Destroy a rebaser object -func Xsqlite3rebaser_delete(tls *libc.TLS, p uintptr) { /* sqlite3.c:216072:17: */ +func Xsqlite3rebaser_delete(tls *libc.TLS, p uintptr) { /* sqlite3.c:216129:17: */ if p != 0 { sessionDeleteTable(tls, uintptr(0), (*Sqlite3_rebaser)(unsafe.Pointer(p)).Fgrp.FpList) Xsqlite3_free(tls, p) @@ -175084,7 +175115,7 @@ func Xsqlite3rebaser_delete(tls *libc.TLS, p uintptr) { /* sqlite3.c:216072:17: } // Global configuration -func Xsqlite3session_config(tls *libc.TLS, op int32, pArg uintptr) int32 { /* sqlite3.c:216082:16: */ +func Xsqlite3session_config(tls *libc.TLS, op int32, pArg uintptr) int32 { /* sqlite3.c:216139:16: */ var rc int32 = SQLITE_OK switch op { case SQLITE_SESSION_CONFIG_STRMSIZE: @@ -175172,7 +175203,7 @@ type Fts5Global1 = struct { FpTok uintptr FpDfltTok uintptr FpCsr uintptr -} /* sqlite3.c:216813:9 */ +} /* sqlite3.c:216870:9 */ //************* End of sqlite3session.c ************************************* //************* Begin file fts5.c ******************************************* @@ -175234,13 +175265,13 @@ type Fts5Global1 = struct { // Mark a function parameter as unused, to suppress nuisance compiler // warnings. -type Fts5Global = Fts5Global1 /* sqlite3.c:216813:27 */ +type Fts5Global = Fts5Global1 /* sqlite3.c:216870:27 */ type Fts5Colset1 = struct { FnCol int32 FaiCol [1]int32 -} /* sqlite3.c:216813:9 */ +} /* sqlite3.c:216870:9 */ -type Fts5Colset = Fts5Colset1 /* sqlite3.c:216814:27 */ +type Fts5Colset = Fts5Colset1 /* sqlite3.c:216871:27 */ // ************************************************************************* // @@ -175278,14 +175309,14 @@ type Fts5Config1 = struct { FzRank uintptr FzRankArgs uintptr FpzErrmsg uintptr -} /* sqlite3.c:216813:9 */ +} /* sqlite3.c:216870:9 */ // ************************************************************************* // // Interface to code in fts5_config.c. fts5_config.c contains contains code // to parse the arguments passed to the CREATE VIRTUAL TABLE statement. -type Fts5Config = Fts5Config1 /* sqlite3.c:216834:27 */ +type Fts5Config = Fts5Config1 /* sqlite3.c:216891:27 */ // // End of interface to code in fts5_config.c. @@ -175300,7 +175331,7 @@ type Fts5Buffer1 = struct { Fp uintptr Fn int32 FnSpace int32 -} /* sqlite3.c:216813:9 */ +} /* sqlite3.c:216870:9 */ // // End of interface to code in fts5_config.c. @@ -175311,7 +175342,7 @@ type Fts5Buffer1 = struct { // Interface to code in fts5_buffer.c. // Buffer object for the incremental building of string data. -type Fts5Buffer = Fts5Buffer1 /* sqlite3.c:216960:27 */ +type Fts5Buffer = Fts5Buffer1 /* sqlite3.c:217017:27 */ type Fts5PoslistReader1 = struct { Fa uintptr @@ -175321,19 +175352,19 @@ type Fts5PoslistReader1 = struct { FbEof U8 F__ccgo_pad1 [6]byte FiPos I64 -} /* sqlite3.c:216813:9 */ +} /* sqlite3.c:216870:9 */ -type Fts5PoslistReader = Fts5PoslistReader1 /* sqlite3.c:216996:34 */ +type Fts5PoslistReader = Fts5PoslistReader1 /* sqlite3.c:217053:34 */ -type Fts5PoslistWriter1 = struct{ FiPrev I64 } /* sqlite3.c:217015:9 */ +type Fts5PoslistWriter1 = struct{ FiPrev I64 } /* sqlite3.c:217072:9 */ -type Fts5PoslistWriter = Fts5PoslistWriter1 /* sqlite3.c:217015:34 */ +type Fts5PoslistWriter = Fts5PoslistWriter1 /* sqlite3.c:217072:34 */ // Bucket of terms object used by the integrity-check in offsets=0 mode. -type Fts5Termset1 = struct{ FapHash [512]uintptr } /* sqlite3.c:217037:9 */ +type Fts5Termset1 = struct{ FapHash [512]uintptr } /* sqlite3.c:217094:9 */ // Bucket of terms object used by the integrity-check in offsets=0 mode. -type Fts5Termset = Fts5Termset1 /* sqlite3.c:217037:28 */ +type Fts5Termset = Fts5Termset1 /* sqlite3.c:217094:28 */ // // End of interface to code in fts5_buffer.c. @@ -175366,7 +175397,7 @@ type Fts5Index1 = struct { FpDataVersion uintptr FiStructVersion I64 FpStruct uintptr -} /* sqlite3.c:216813:9 */ +} /* sqlite3.c:216870:9 */ // // End of interface to code in fts5_buffer.c. @@ -175377,16 +175408,16 @@ type Fts5Index1 = struct { // Interface to code in fts5_index.c. fts5_index.c contains contains code // to access the data stored in the %_data table. -type Fts5Index = Fts5Index1 /* sqlite3.c:217051:26 */ +type Fts5Index = Fts5Index1 /* sqlite3.c:217108:26 */ type Fts5IndexIter1 = struct { FiRowid I64 FpData uintptr FnData int32 FbEof U8 F__ccgo_pad1 [3]byte -} /* sqlite3.c:216813:9 */ +} /* sqlite3.c:216870:9 */ -type Fts5IndexIter = Fts5IndexIter1 /* sqlite3.c:217052:30 */ +type Fts5IndexIter = Fts5IndexIter1 /* sqlite3.c:217109:30 */ // // End of interface to code in fts5_varint.c. @@ -175401,7 +175432,7 @@ type Fts5Table1 = struct { Fbase Sqlite3_vtab FpConfig uintptr FpIndex uintptr -} /* sqlite3.c:217254:9 */ +} /* sqlite3.c:217311:9 */ // // End of interface to code in fts5_varint.c. @@ -175412,7 +175443,7 @@ type Fts5Table1 = struct { // Interface to code in fts5_main.c. // Virtual-table object. -type Fts5Table = Fts5Table1 /* sqlite3.c:217254:26 */ +type Fts5Table = Fts5Table1 /* sqlite3.c:217311:26 */ // // End of interface to code in fts5.c. @@ -175429,7 +175460,7 @@ type Fts5Hash1 = struct { FnSlot int32 FpScan uintptr FaSlot uintptr -} /* sqlite3.c:216813:9 */ +} /* sqlite3.c:216870:9 */ // // End of interface to code in fts5.c. @@ -175438,7 +175469,7 @@ type Fts5Hash1 = struct { // ************************************************************************* // // Interface to code in fts5_hash.c. -type Fts5Hash = Fts5Hash1 /* sqlite3.c:217280:25 */ +type Fts5Hash = Fts5Hash1 /* sqlite3.c:217337:25 */ // // End of interface to code in fts5_hash.c. @@ -175457,7 +175488,7 @@ type Fts5Storage1 = struct { FnTotalRow I64 FaTotalSize uintptr FaStmt [11]uintptr -} /* sqlite3.c:217336:9 */ +} /* sqlite3.c:217393:9 */ // // End of interface to code in fts5_hash.c. @@ -175468,7 +175499,7 @@ type Fts5Storage1 = struct { // Interface to code in fts5_storage.c. fts5_storage.c contains contains // code to access the data stored in the %_content and %_docsize tables. -type Fts5Storage = Fts5Storage1 /* sqlite3.c:217336:28 */ +type Fts5Storage = Fts5Storage1 /* sqlite3.c:217393:28 */ // // End of interface to code in fts5_storage.c. @@ -175484,7 +175515,7 @@ type Fts5Expr1 = struct { FbDesc int32 FnPhrase int32 FapExprPhrase uintptr -} /* sqlite3.c:216813:9 */ +} /* sqlite3.c:216870:9 */ // // End of interface to code in fts5_storage.c. @@ -175493,7 +175524,7 @@ type Fts5Expr1 = struct { // ************************************************************************* // // Interface to code in fts5_expr.c. -type Fts5Expr = Fts5Expr1 /* sqlite3.c:217379:25 */ +type Fts5Expr = Fts5Expr1 /* sqlite3.c:217436:25 */ type Fts5ExprNode1 = struct { FeType int32 FbEof int32 @@ -175505,9 +175536,9 @@ type Fts5ExprNode1 = struct { FnChild int32 F__ccgo_pad2 [4]byte FapChild [1]uintptr -} /* sqlite3.c:216813:9 */ +} /* sqlite3.c:216870:9 */ -type Fts5ExprNode = Fts5ExprNode1 /* sqlite3.c:217380:29 */ +type Fts5ExprNode = Fts5ExprNode1 /* sqlite3.c:217437:29 */ type Fts5Parse1 = struct { FpConfig uintptr FzErr uintptr @@ -175517,25 +175548,25 @@ type Fts5Parse1 = struct { FpExpr uintptr FbPhraseToAnd int32 F__ccgo_pad1 [4]byte -} /* sqlite3.c:217381:9 */ +} /* sqlite3.c:217438:9 */ -type Fts5Parse = Fts5Parse1 /* sqlite3.c:217381:26 */ +type Fts5Parse = Fts5Parse1 /* sqlite3.c:217438:26 */ type Fts5Token1 = struct { Fp uintptr Fn int32 F__ccgo_pad1 [4]byte -} /* sqlite3.c:217382:9 */ +} /* sqlite3.c:217439:9 */ -type Fts5Token = Fts5Token1 /* sqlite3.c:217382:26 */ +type Fts5Token = Fts5Token1 /* sqlite3.c:217439:26 */ type Fts5ExprPhrase1 = struct { FpNode uintptr Fposlist Fts5Buffer FnTerm int32 F__ccgo_pad1 [4]byte FaTerm [1]Fts5ExprTerm -} /* sqlite3.c:216813:9 */ +} /* sqlite3.c:216870:9 */ -type Fts5ExprPhrase = Fts5ExprPhrase1 /* sqlite3.c:217383:31 */ +type Fts5ExprPhrase = Fts5ExprPhrase1 /* sqlite3.c:217440:31 */ type Fts5ExprNearset1 = struct { FnNear int32 F__ccgo_pad1 [4]byte @@ -175543,17 +175574,17 @@ type Fts5ExprNearset1 = struct { FnPhrase int32 F__ccgo_pad2 [4]byte FapPhrase [1]uintptr -} /* sqlite3.c:216813:9 */ +} /* sqlite3.c:216870:9 */ -type Fts5ExprNearset = Fts5ExprNearset1 /* sqlite3.c:217384:32 */ +type Fts5ExprNearset = Fts5ExprNearset1 /* sqlite3.c:217441:32 */ type Fts5PoslistPopulator1 = struct { Fwriter Fts5PoslistWriter FbOk int32 FbMiss int32 -} /* sqlite3.c:217432:9 */ +} /* sqlite3.c:217489:9 */ -type Fts5PoslistPopulator = Fts5PoslistPopulator1 /* sqlite3.c:217432:37 */ +type Fts5PoslistPopulator = Fts5PoslistPopulator1 /* sqlite3.c:217489:37 */ // // End of interface to code in fts5_unicode2.c. // @@ -175658,7 +175689,7 @@ type Fts5YYMINORTYPE = struct { F__ccgo_pad1 [0]uint64 Ffts5yyinit int32 F__ccgo_pad2 [12]byte -} /* sqlite3.c:217708:3 */ +} /* sqlite3.c:217765:3 */ //************ End control #defines ****************************************** // Define the fts5yytestcase() macro to be a no-op if is not already defined @@ -175731,7 +175762,7 @@ var fts5yy_action = [105]uint8{ /* 80 */ uint8(5), uint8(3), uint8(63), uint8(5), uint8(3), uint8(62), uint8(12), uint8(2), uint8(86), uint8(13), /* 90 */ uint8(9), uint8(30), uint8(10), uint8(10), uint8(54), uint8(57), uint8(75), uint8(78), uint8(78), uint8(53), /* 100 */ uint8(57), uint8(15), uint8(82), uint8(82), uint8(71), -} /* sqlite3.c:217801:31 */ +} /* sqlite3.c:217858:31 */ var fts5yy_lookahead = [121]uint8{ /* 0 */ uint8(16), uint8(17), uint8(18), uint8(19), uint8(20), uint8(22), uint8(22), uint8(24), uint8(24), uint8(17), /* 10 */ uint8(18), uint8(19), uint8(20), uint8(7), uint8(22), uint8(9), uint8(24), uint8(17), uint8(18), uint8(19), @@ -175746,23 +175777,23 @@ var fts5yy_lookahead = [121]uint8{ /* 100 */ uint8(9), uint8(9), uint8(27), uint8(27), uint8(11), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), /* 110 */ uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), /* 120 */ uint8(27), -} /* sqlite3.c:217814:29 */ +} /* sqlite3.c:217871:29 */ var fts5yy_shift_ofst = [35]uint8{ /* 0 */ uint8(44), uint8(44), uint8(44), uint8(44), uint8(44), uint8(44), uint8(51), uint8(77), uint8(43), uint8(12), /* 10 */ uint8(14), uint8(83), uint8(82), uint8(14), uint8(23), uint8(23), uint8(31), uint8(31), uint8(71), uint8(74), /* 20 */ uint8(78), uint8(81), uint8(86), uint8(91), uint8(6), uint8(53), uint8(53), uint8(60), uint8(64), uint8(68), /* 30 */ uint8(53), uint8(87), uint8(92), uint8(53), uint8(93), -} /* sqlite3.c:217832:28 */ +} /* sqlite3.c:217889:28 */ var fts5yy_reduce_ofst = [18]int8{ /* 0 */ int8(-16), int8(-8), int8(0), int8(9), int8(17), int8(25), int8(46), int8(-17), int8(-17), int8(37), /* 10 */ int8(67), int8(4), int8(4), int8(8), int8(4), int8(20), int8(27), int8(38), -} /* sqlite3.c:217841:26 */ +} /* sqlite3.c:217898:26 */ var fts5yy_default = [35]uint8{ /* 0 */ uint8(80), uint8(80), uint8(80), uint8(80), uint8(80), uint8(80), uint8(95), uint8(80), uint8(80), uint8(105), /* 10 */ uint8(80), uint8(110), uint8(110), uint8(80), uint8(110), uint8(110), uint8(80), uint8(80), uint8(80), uint8(80), /* 20 */ uint8(80), uint8(91), uint8(80), uint8(80), uint8(80), uint8(101), uint8(100), uint8(80), uint8(80), uint8(90), /* 30 */ uint8(103), uint8(80), uint8(80), uint8(104), uint8(80), -} /* sqlite3.c:217845:31 */ +} /* sqlite3.c:217902:31 */ //********* End of lemon-generated parsing tables **************************** // The next table maps tokens (terminal symbols) into fallback tokens. @@ -175799,9 +175830,9 @@ type fts5yyStackEntry = struct { Fmajor uint8 F__ccgo_pad1 [6]byte Fminor Fts5YYMINORTYPE -} /* sqlite3.c:217888:1 */ +} /* sqlite3.c:217945:1 */ -type Fts5yyStackEntry = fts5yyStackEntry /* sqlite3.c:217895:33 */ +type Fts5yyStackEntry = fts5yyStackEntry /* sqlite3.c:217952:33 */ // The state of the parser is completely contained in an instance of // the following structure @@ -175810,9 +175841,9 @@ type fts5yyParser = struct { FpParse uintptr Ffts5yystack [100]Fts5yyStackEntry Ffts5yystackEnd uintptr -} /* sqlite3.c:217899:1 */ +} /* sqlite3.c:217956:1 */ -type Fts5yyParser = fts5yyParser /* sqlite3.c:217918:29 */ +type Fts5yyParser = fts5yyParser /* sqlite3.c:217975:29 */ // #include @@ -175822,7 +175853,7 @@ type Fts5yyParser = fts5yyParser /* sqlite3.c:217918:29 */ // grammar. // Initialize a new parser that has already been allocated. -func sqlite3Fts5ParserInit(tls *libc.TLS, fts5yypRawParser uintptr) { /* sqlite3.c:218067:13: */ +func sqlite3Fts5ParserInit(tls *libc.TLS, fts5yypRawParser uintptr) { /* sqlite3.c:218124:13: */ var fts5yypParser uintptr = fts5yypRawParser (*Fts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yytos = fts5yypParser + 16 /* &.fts5yystack */ @@ -175841,7 +175872,7 @@ func sqlite3Fts5ParserInit(tls *libc.TLS, fts5yypRawParser uintptr) { /* sqlite3 // Outputs: // A pointer to a parser. This pointer is used in subsequent calls // to sqlite3Fts5Parser and sqlite3Fts5ParserFree. -func sqlite3Fts5ParserAlloc(tls *libc.TLS, mallocProc uintptr) uintptr { /* sqlite3.c:218106:13: */ +func sqlite3Fts5ParserAlloc(tls *libc.TLS, mallocProc uintptr) uintptr { /* sqlite3.c:218163:13: */ var fts5yypParser uintptr fts5yypParser = (*struct{ f func(*libc.TLS, U64) uintptr })(unsafe.Pointer(&struct{ uintptr }{mallocProc})).f(tls, U64(unsafe.Sizeof(Fts5yyParser{}))) if fts5yypParser != 0 { @@ -175857,7 +175888,7 @@ func sqlite3Fts5ParserAlloc(tls *libc.TLS, mallocProc uintptr) uintptr { /* sqli // a pointer to the value to be deleted. The code used to do the // deletions is derived from the %destructor and/or %token_destructor // directives of the input grammar. -func fts5yy_destructor(tls *libc.TLS, fts5yypParser uintptr, fts5yymajor uint8, fts5yypminor uintptr) { /* sqlite3.c:218125:13: */ +func fts5yy_destructor(tls *libc.TLS, fts5yypParser uintptr, fts5yymajor uint8, fts5yypminor uintptr) { /* sqlite3.c:218182:13: */ var pParse uintptr = (*Fts5yyParser)(unsafe.Pointer(fts5yypParser)).FpParse _ = pParse @@ -175915,7 +175946,7 @@ func fts5yy_destructor(tls *libc.TLS, fts5yypParser uintptr, fts5yymajor uint8, // // If there is a destructor routine associated with the token which // is popped from the stack, then call it. -func fts5yy_pop_parser_stack(tls *libc.TLS, pParser uintptr) { /* sqlite3.c:218184:13: */ +func fts5yy_pop_parser_stack(tls *libc.TLS, pParser uintptr) { /* sqlite3.c:218241:13: */ var fts5yytos uintptr fts5yytos = libc.PostDecUintptr(&(*Fts5yyParser)(unsafe.Pointer(pParser)).Ffts5yytos, 24) @@ -175923,7 +175954,7 @@ func fts5yy_pop_parser_stack(tls *libc.TLS, pParser uintptr) { /* sqlite3.c:2181 } // Clear all secondary memory allocations from the parser -func sqlite3Fts5ParserFinalize(tls *libc.TLS, p uintptr) { /* sqlite3.c:218202:13: */ +func sqlite3Fts5ParserFinalize(tls *libc.TLS, p uintptr) { /* sqlite3.c:218259:13: */ var pParser uintptr = p for (*Fts5yyParser)(unsafe.Pointer(pParser)).Ffts5yytos > pParser+16 { fts5yy_pop_parser_stack(tls, pParser) @@ -175936,7 +175967,7 @@ func sqlite3Fts5ParserFinalize(tls *libc.TLS, p uintptr) { /* sqlite3.c:218202:1 // If the fts5YYPARSEFREENEVERNULL macro exists (for example because it // 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) { /* sqlite3.c:218219:13: */ +func sqlite3Fts5ParserFree(tls *libc.TLS, p uintptr, freeProc uintptr) { /* sqlite3.c:218276:13: */ if p == uintptr(0) { return } @@ -175960,7 +175991,7 @@ func sqlite3Fts5ParserFree(tls *libc.TLS, p uintptr, freeProc uintptr) { /* sqli // Find the appropriate action for a parser given the terminal // look-ahead token iLookAhead. -func fts5yy_find_shift_action(tls *libc.TLS, iLookAhead uint8, stateno uint8) uint8 { /* sqlite3.c:218282:25: */ +func fts5yy_find_shift_action(tls *libc.TLS, iLookAhead uint8, stateno uint8) uint8 { /* sqlite3.c:218339:25: */ var i int32 if int32(stateno) > Fts5YY_MAX_SHIFT { @@ -175984,7 +176015,7 @@ func fts5yy_find_shift_action(tls *libc.TLS, iLookAhead uint8, stateno uint8) ui // Find the appropriate action for a parser given the non-terminal // look-ahead token iLookAhead. -func fts5yy_find_reduce_action(tls *libc.TLS, stateno uint8, iLookAhead uint8) uint8 { /* sqlite3.c:218347:25: */ +func fts5yy_find_reduce_action(tls *libc.TLS, stateno uint8, iLookAhead uint8) uint8 { /* sqlite3.c:218404:25: */ var i int32 i = int32(fts5yy_reduce_ofst[stateno]) @@ -175995,7 +176026,7 @@ func fts5yy_find_reduce_action(tls *libc.TLS, stateno uint8, iLookAhead uint8) u } // The following routine is called if the stack overflows. -func fts5yyStackOverflow(tls *libc.TLS, fts5yypParser uintptr) { /* sqlite3.c:218376:13: */ +func fts5yyStackOverflow(tls *libc.TLS, fts5yypParser uintptr) { /* sqlite3.c:218433:13: */ var pParse uintptr = (*Fts5yyParser)(unsafe.Pointer(fts5yypParser)).FpParse for (*Fts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yytos > fts5yypParser+16 { @@ -176014,7 +176045,7 @@ func fts5yyStackOverflow(tls *libc.TLS, fts5yypParser uintptr) { /* sqlite3.c:21 // Print tracing information for a SHIFT action // Perform a shift action. -func fts5yy_shift(tls *libc.TLS, fts5yypParser uintptr, fts5yyNewState uint8, fts5yyMajor uint8, fts5yyMinor Fts5Token) { /* sqlite3.c:218419:13: */ +func fts5yy_shift(tls *libc.TLS, fts5yypParser uintptr, fts5yyNewState uint8, fts5yyMajor uint8, fts5yyMinor Fts5Token) { /* sqlite3.c:218476:13: */ var fts5yytos uintptr (*Fts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yytos += 24 if (*Fts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yytos > (*Fts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yystackEnd { @@ -176063,7 +176094,7 @@ var fts5yyRuleInfoLhs = [28]uint8{ uint8(24), // (25) phrase ::= STRING star_opt uint8(26), // (26) star_opt ::= STAR uint8(26), // (27) star_opt ::= -} /* sqlite3.c:218460:29 */ +} /* sqlite3.c:218517:29 */ // For rule J, fts5yyRuleInfoNRhs[J] contains the negative of the number // of symbols on the right-hand side of that rule. @@ -176096,7 +176127,7 @@ var fts5yyRuleInfoNRhs = [28]int8{ int8(-2), // (25) phrase ::= STRING star_opt int8(-1), // (26) star_opt ::= STAR int8(0), // (27) star_opt ::= -} /* sqlite3.c:218493:26 */ +} /* sqlite3.c:218550:26 */ // Forward Declaration @@ -176108,7 +176139,7 @@ var fts5yyRuleInfoNRhs = [28]int8{ // if the lookahead token has already been consumed. As this procedure is // only called from one place, optimizing compilers will in-line it, which // means that the extra parameters have no performance impact. -func fts5yy_reduce(tls *libc.TLS, fts5yypParser uintptr, fts5yyruleno uint32, fts5yyLookahead int32, fts5yyLookaheadToken Fts5Token) uint8 { /* sqlite3.c:218536:25: */ +func fts5yy_reduce(tls *libc.TLS, fts5yypParser uintptr, fts5yyruleno uint32, fts5yyLookahead int32, fts5yyLookaheadToken Fts5Token) uint8 { /* sqlite3.c:218593:25: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -176318,7 +176349,7 @@ func fts5yy_reduce(tls *libc.TLS, fts5yypParser uintptr, fts5yyruleno uint32, ft // The following code executes when the parse fails // The following code executes when a syntax error first occurs. -func fts5yy_syntax_error(tls *libc.TLS, fts5yypParser uintptr, fts5yymajor int32, fts5yyminor Fts5Token) { /* sqlite3.c:218754:13: */ +func fts5yy_syntax_error(tls *libc.TLS, fts5yypParser uintptr, fts5yymajor int32, fts5yyminor Fts5Token) { /* sqlite3.c:218811:13: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -176335,7 +176366,7 @@ func fts5yy_syntax_error(tls *libc.TLS, fts5yypParser uintptr, fts5yymajor int32 } // The following is executed when the parser accepts -func fts5yy_accept(tls *libc.TLS, fts5yypParser uintptr) { /* sqlite3.c:218776:13: */ +func fts5yy_accept(tls *libc.TLS, fts5yypParser uintptr) { /* sqlite3.c:218833:13: */ var pParse uintptr = (*Fts5yyParser)(unsafe.Pointer(fts5yypParser)).FpParse // Here code is inserted which will be executed whenever the @@ -176364,7 +176395,7 @@ func fts5yy_accept(tls *libc.TLS, fts5yypParser uintptr) { /* sqlite3.c:218776:1 // // Outputs: // None. -func sqlite3Fts5Parser(tls *libc.TLS, fts5yyp uintptr, fts5yymajor int32, fts5yyminor Fts5Token, pParse uintptr) { /* sqlite3.c:218817:13: */ +func sqlite3Fts5Parser(tls *libc.TLS, fts5yyp uintptr, fts5yymajor int32, fts5yyminor Fts5Token, pParse uintptr) { /* sqlite3.c:218874:13: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -176419,7 +176450,7 @@ func sqlite3Fts5Parser(tls *libc.TLS, fts5yyp uintptr, fts5yymajor int32, fts5yy // Return the fallback token corresponding to canonical token iToken, or // 0 if iToken has no fallback. -func sqlite3Fts5ParserFallback(tls *libc.TLS, iToken int32) int32 { /* sqlite3.c:219034:12: */ +func sqlite3Fts5ParserFallback(tls *libc.TLS, iToken int32) int32 { /* sqlite3.c:219091:12: */ _ = iToken return 0 } @@ -176482,7 +176513,7 @@ type CInstIter1 = struct { FiStart int32 FiEnd int32 F__ccgo_pad1 [4]byte -} /* sqlite3.c:219080:9 */ +} /* sqlite3.c:219137:9 */ // 2014 May 31 // @@ -176533,11 +176564,11 @@ type CInstIter1 = struct { // printf("instance starts at %d, ends at %d\n", iter.iStart, iter.iEnd); // } // -type CInstIter = CInstIter1 /* sqlite3.c:219080:26 */ +type CInstIter = CInstIter1 /* sqlite3.c:219137:26 */ // Advance the iterator to the next coalesced phrase instance. Return // an SQLite error code if an error occurs, or SQLITE_OK otherwise. -func fts5CInstIterNext(tls *libc.TLS, pIter uintptr) int32 { /* sqlite3.c:219097:12: */ +func fts5CInstIterNext(tls *libc.TLS, pIter uintptr) int32 { /* sqlite3.c:219154:12: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -176580,7 +176611,7 @@ func fts5CInstIterNext(tls *libc.TLS, pIter uintptr) int32 { /* sqlite3.c:219097 // Initialize the iterator object indicated by the final parameter to // iterate through coalesced phrase instances in column iCol. -func fts5CInstIterInit(tls *libc.TLS, pApi uintptr, pFts uintptr, iCol int32, pIter uintptr) int32 { /* sqlite3.c:219128:12: */ +func fts5CInstIterInit(tls *libc.TLS, pApi uintptr, pFts uintptr, iCol int32, pIter uintptr) int32 { /* sqlite3.c:219185:12: */ var rc int32 libc.Xmemset(tls, pIter, 0, uint64(unsafe.Sizeof(CInstIter{}))) @@ -176613,12 +176644,12 @@ type HighlightContext1 = struct { FnIn int32 FiOff int32 FzOut uintptr -} /* sqlite3.c:219154:9 */ +} /* sqlite3.c:219211:9 */ // ************************************************************************ // // Start of highlight() implementation. -type HighlightContext = HighlightContext1 /* sqlite3.c:219154:33 */ +type HighlightContext = HighlightContext1 /* sqlite3.c:219211:33 */ // Append text to the HighlightContext output string - p->zOut. Argument // z points to a buffer containing n bytes of text to append. If n is @@ -176627,7 +176658,7 @@ type HighlightContext = HighlightContext1 /* sqlite3.c:219154:33 */ // If *pRc is set to any value other than SQLITE_OK when this function is // called, it is a no-op. If an error (i.e. an OOM condition) is encountered, // *pRc is set to an error code before returning. -func fts5HighlightAppend(tls *libc.TLS, pRc uintptr, p uintptr, z uintptr, n int32) { /* sqlite3.c:219177:13: */ +func fts5HighlightAppend(tls *libc.TLS, pRc uintptr, p uintptr, z uintptr, n int32) { /* sqlite3.c:219234:13: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -176643,7 +176674,7 @@ func fts5HighlightAppend(tls *libc.TLS, pRc uintptr, p uintptr, z uintptr, n int } // Tokenizer callback used by implementation of highlight() function. -func fts5HighlightCb(tls *libc.TLS, pContext uintptr, tflags int32, pToken uintptr, nToken int32, iStartOff int32, iEndOff int32) int32 { /* sqlite3.c:219192:12: */ +func fts5HighlightCb(tls *libc.TLS, pContext uintptr, tflags int32, pToken uintptr, nToken int32, iStartOff int32, iEndOff int32) int32 { /* sqlite3.c:219249:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -176698,7 +176729,7 @@ func fts5HighlightCb(tls *libc.TLS, pContext uintptr, tflags int32, pToken uintp } // Implementation of highlight() function. -func fts5HighlightFunction(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uintptr, nVal int32, apVal uintptr) { /* sqlite3.c:219246:13: */ +func fts5HighlightFunction(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uintptr, nVal int32, apVal uintptr) { /* sqlite3.c:219303:13: */ bp := tls.Alloc(100) defer tls.Free(100) @@ -176758,19 +176789,19 @@ type Fts5SFinder1 = struct { F__ccgo_pad1 [4]byte FaFirst uintptr FzDoc uintptr -} /* sqlite3.c:219295:9 */ +} /* sqlite3.c:219352:9 */ // // End of highlight() implementation. // // Context object passed to the fts5SentenceFinderCb() function. -type Fts5SFinder = Fts5SFinder1 /* sqlite3.c:219295:28 */ +type Fts5SFinder = Fts5SFinder1 /* sqlite3.c:219352:28 */ // Add an entry to the Fts5SFinder.aFirst[] array. Grow the array if // necessary. Return SQLITE_OK if successful, or SQLITE_NOMEM if an // error occurs. -func fts5SentenceFinderAdd(tls *libc.TLS, p uintptr, iAdd int32) int32 { /* sqlite3.c:219309:12: */ +func fts5SentenceFinderAdd(tls *libc.TLS, p uintptr, iAdd int32) int32 { /* sqlite3.c:219366:12: */ if (*Fts5SFinder)(unsafe.Pointer(p)).FnFirstAlloc == (*Fts5SFinder)(unsafe.Pointer(p)).FnFirst { var nNew int32 if (*Fts5SFinder)(unsafe.Pointer(p)).FnFirstAlloc != 0 { @@ -176794,7 +176825,7 @@ func fts5SentenceFinderAdd(tls *libc.TLS, p uintptr, iAdd int32) int32 { /* sqli // This function is an xTokenize() callback used by the auxiliary snippet() // function. Its job is to identify tokens that are the first in a sentence. // For each such token, an entry is added to the SFinder.aFirst[] array. -func fts5SentenceFinderCb(tls *libc.TLS, pContext uintptr, tflags int32, pToken uintptr, nToken int32, iStartOff int32, iEndOff int32) int32 { /* sqlite3.c:219328:12: */ +func fts5SentenceFinderCb(tls *libc.TLS, pContext uintptr, tflags int32, pToken uintptr, nToken int32, iStartOff int32, iEndOff int32) int32 { /* sqlite3.c:219385:12: */ var rc int32 = SQLITE_OK _ = pToken @@ -176823,7 +176854,7 @@ func fts5SentenceFinderCb(tls *libc.TLS, pContext uintptr, tflags int32, pToken return rc } -func fts5SnippetScore(tls *libc.TLS, pApi uintptr, pFts uintptr, nDocsize int32, aSeen uintptr, iCol int32, iPos int32, nToken int32, pnScore uintptr, piPos uintptr) int32 { /* sqlite3.c:219361:12: */ +func fts5SnippetScore(tls *libc.TLS, pApi uintptr, pFts uintptr, nDocsize int32, aSeen uintptr, iCol int32, iPos int32, nToken int32, pnScore uintptr, piPos uintptr) int32 { /* sqlite3.c:219418:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -176881,7 +176912,7 @@ func fts5SnippetScore(tls *libc.TLS, pApi uintptr, pFts uintptr, nDocsize int32, // Return the value in pVal interpreted as utf-8 text. Except, if pVal // contains a NULL value, return a pointer to a static string zero // bytes in length instead of a NULL pointer. -func fts5ValueToText(tls *libc.TLS, pVal uintptr) uintptr { /* sqlite3.c:219410:19: */ +func fts5ValueToText(tls *libc.TLS, pVal uintptr) uintptr { /* sqlite3.c:219467:19: */ var zRet uintptr = Xsqlite3_value_text(tls, pVal) if zRet != 0 { return zRet @@ -176890,7 +176921,7 @@ func fts5ValueToText(tls *libc.TLS, pVal uintptr) uintptr { /* sqlite3.c:219410: } // Implementation of snippet() function. -func fts5SnippetFunction(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uintptr, nVal int32, apVal uintptr) { /* sqlite3.c:219418:13: */ +func fts5SnippetFunction(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uintptr, nVal int32, apVal uintptr) { /* sqlite3.c:219475:13: */ bp := tls.Alloc(172) defer tls.Free(172) @@ -177105,17 +177136,17 @@ type Fts5Bm25Data1 = struct { Favgdl float64 FaIDF uintptr FaFreq uintptr -} /* sqlite3.c:219576:9 */ +} /* sqlite3.c:219633:9 */ //********************************************************************** // The first time the bm25() function is called for a query, an instance // of the following structure is allocated and populated. -type Fts5Bm25Data = Fts5Bm25Data1 /* sqlite3.c:219576:29 */ +type Fts5Bm25Data = Fts5Bm25Data1 /* sqlite3.c:219633:29 */ // Callback used by fts5Bm25GetData() to count the number of rows in the // table matched by each individual phrase within the query. -func fts5CountCb(tls *libc.TLS, pApi uintptr, pFts uintptr, pUserData uintptr) int32 { /* sqlite3.c:219588:12: */ +func fts5CountCb(tls *libc.TLS, pApi uintptr, pFts uintptr, pUserData uintptr) int32 { /* sqlite3.c:219645:12: */ var pn uintptr = pUserData _ = pApi _ = pFts @@ -177126,7 +177157,7 @@ func fts5CountCb(tls *libc.TLS, pApi uintptr, pFts uintptr, pUserData uintptr) i // Set *ppData to point to the Fts5Bm25Data object for the current query. // If the object has not already been allocated, allocate and populate it // now. -func fts5Bm25GetData(tls *libc.TLS, pApi uintptr, pFts uintptr, ppData uintptr) int32 { /* sqlite3.c:219604:12: */ +func fts5Bm25GetData(tls *libc.TLS, pApi uintptr, pFts uintptr, ppData uintptr) int32 { /* sqlite3.c:219661:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -177220,7 +177251,7 @@ func fts5Bm25GetData(tls *libc.TLS, pApi uintptr, pFts uintptr, ppData uintptr) } // Implementation of bm25() function. -func fts5Bm25Function(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uintptr, nVal int32, apVal uintptr) { /* sqlite3.c:219677:13: */ +func fts5Bm25Function(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uintptr, nVal int32, apVal uintptr) { /* sqlite3.c:219734:13: */ bp := tls.Alloc(28) defer tls.Free(28) @@ -177288,7 +177319,7 @@ func fts5Bm25Function(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uintptr, n } } -func sqlite3Fts5AuxInit(tls *libc.TLS, pApi uintptr) int32 { /* sqlite3.c:219733:12: */ +func sqlite3Fts5AuxInit(tls *libc.TLS, pApi uintptr) int32 { /* sqlite3.c:219790:12: */ bp := tls.Alloc(96) defer tls.Free(96) @@ -177324,7 +177355,7 @@ type Builtin = struct { FpUserData uintptr FxFunc Fts5_extension_function FxDestroy uintptr -} /* sqlite3.c:219734:3 */ +} /* sqlite3.c:219791:3 */ // 2014 May 31 // @@ -177339,7 +177370,7 @@ type Builtin = struct { // #include "fts5Int.h" -func sqlite3Fts5BufferSize(tls *libc.TLS, pRc uintptr, pBuf uintptr, nByte U32) int32 { /* sqlite3.c:219776:12: */ +func sqlite3Fts5BufferSize(tls *libc.TLS, pRc uintptr, pBuf uintptr, nByte U32) int32 { /* sqlite3.c:219833:12: */ if U32((*Fts5Buffer)(unsafe.Pointer(pBuf)).FnSpace) < nByte { var nNew U64 if (*Fts5Buffer)(unsafe.Pointer(pBuf)).FnSpace != 0 { @@ -177365,7 +177396,7 @@ func sqlite3Fts5BufferSize(tls *libc.TLS, pRc uintptr, pBuf uintptr, nByte U32) // Encode value iVal as an SQLite varint and append it to the buffer object // pBuf. If an OOM error occurs, set the error code in p. -func sqlite3Fts5BufferAppendVarint(tls *libc.TLS, pRc uintptr, pBuf uintptr, iVal I64) { /* sqlite3.c:219800:13: */ +func sqlite3Fts5BufferAppendVarint(tls *libc.TLS, pRc uintptr, pBuf uintptr, iVal I64) { /* sqlite3.c:219857:13: */ if func() int32 { if U32((*Fts5Buffer)(unsafe.Pointer(pBuf)).Fn)+U32(9) <= U32((*Fts5Buffer)(unsafe.Pointer(pBuf)).FnSpace) { return 0 @@ -177377,21 +177408,21 @@ func sqlite3Fts5BufferAppendVarint(tls *libc.TLS, pRc uintptr, pBuf uintptr, iVa *(*int32)(unsafe.Pointer(pBuf + 8)) += sqlite3Fts5PutVarint(tls, (*Fts5Buffer)(unsafe.Pointer(pBuf)).Fp+uintptr((*Fts5Buffer)(unsafe.Pointer(pBuf)).Fn), uint64(iVal)) } -func sqlite3Fts5Put32(tls *libc.TLS, aBuf uintptr, iVal int32) { /* sqlite3.c:219805:13: */ +func sqlite3Fts5Put32(tls *libc.TLS, aBuf uintptr, iVal int32) { /* sqlite3.c:219862:13: */ *(*U8)(unsafe.Pointer(aBuf)) = U8(iVal >> 24 & 0x00FF) *(*U8)(unsafe.Pointer(aBuf + 1)) = U8(iVal >> 16 & 0x00FF) *(*U8)(unsafe.Pointer(aBuf + 2)) = U8(iVal >> 8 & 0x00FF) *(*U8)(unsafe.Pointer(aBuf + 3)) = U8(iVal >> 0 & 0x00FF) } -func sqlite3Fts5Get32(tls *libc.TLS, aBuf uintptr) int32 { /* sqlite3.c:219812:12: */ +func sqlite3Fts5Get32(tls *libc.TLS, aBuf uintptr) int32 { /* sqlite3.c:219869:12: */ return int32(U32(*(*U8)(unsafe.Pointer(aBuf)))<<24 + U32(int32(*(*U8)(unsafe.Pointer(aBuf + 1)))<<16) + U32(int32(*(*U8)(unsafe.Pointer(aBuf + 2)))<<8) + U32(*(*U8)(unsafe.Pointer(aBuf + 3)))) } // Append buffer nData/pData to buffer pBuf. If an OOM error occurs, set // the error code in p. If an error has already occurred when this function // is called, it is a no-op. -func sqlite3Fts5BufferAppendBlob(tls *libc.TLS, pRc uintptr, pBuf uintptr, nData U32, pData uintptr) { /* sqlite3.c:219821:13: */ +func sqlite3Fts5BufferAppendBlob(tls *libc.TLS, pRc uintptr, pBuf uintptr, nData U32, pData uintptr) { /* sqlite3.c:219878:13: */ if nData != 0 { if func() int32 { if U32((*Fts5Buffer)(unsafe.Pointer(pBuf)).Fn)+nData <= U32((*Fts5Buffer)(unsafe.Pointer(pBuf)).FnSpace) { @@ -177409,7 +177440,7 @@ func sqlite3Fts5BufferAppendBlob(tls *libc.TLS, pRc uintptr, pBuf uintptr, nData // Append the nul-terminated string zStr to the buffer pBuf. This function // ensures that the byte following the buffer data is set to 0x00, even // though this byte is not included in the pBuf->n count. -func sqlite3Fts5BufferAppendString(tls *libc.TLS, pRc uintptr, pBuf uintptr, zStr uintptr) { /* sqlite3.c:219839:13: */ +func sqlite3Fts5BufferAppendString(tls *libc.TLS, pRc uintptr, pBuf uintptr, zStr uintptr) { /* sqlite3.c:219896:13: */ var nStr int32 = int32(libc.Xstrlen(tls, zStr)) sqlite3Fts5BufferAppendBlob(tls, pRc, pBuf, uint32(nStr+1), zStr) (*Fts5Buffer)(unsafe.Pointer(pBuf)).Fn-- @@ -177421,7 +177452,7 @@ func sqlite3Fts5BufferAppendString(tls *libc.TLS, pRc uintptr, pBuf uintptr, zSt // Like sqlite3Fts5BufferAppendString(), this function ensures that the byte // following the buffer data is set to 0x00, even though this byte is not // included in the pBuf->n count. -func sqlite3Fts5BufferAppendPrintf(tls *libc.TLS, pRc uintptr, pBuf uintptr, zFmt uintptr, va uintptr) { /* sqlite3.c:219857:13: */ +func sqlite3Fts5BufferAppendPrintf(tls *libc.TLS, pRc uintptr, pBuf uintptr, zFmt uintptr, va uintptr) { /* sqlite3.c:219914:13: */ if *(*int32)(unsafe.Pointer(pRc)) == SQLITE_OK { var zTmp uintptr var ap Va_list @@ -177439,7 +177470,7 @@ func sqlite3Fts5BufferAppendPrintf(tls *libc.TLS, pRc uintptr, pBuf uintptr, zFm } } -func sqlite3Fts5Mprintf(tls *libc.TLS, pRc uintptr, zFmt uintptr, va uintptr) uintptr { /* sqlite3.c:219878:13: */ +func sqlite3Fts5Mprintf(tls *libc.TLS, pRc uintptr, zFmt uintptr, va uintptr) uintptr { /* sqlite3.c:219935:13: */ var zRet uintptr = uintptr(0) if *(*int32)(unsafe.Pointer(pRc)) == SQLITE_OK { var ap Va_list @@ -177455,26 +177486,26 @@ func sqlite3Fts5Mprintf(tls *libc.TLS, pRc uintptr, zFmt uintptr, va uintptr) ui } // Free any buffer allocated by pBuf. Zero the structure before returning. -func sqlite3Fts5BufferFree(tls *libc.TLS, pBuf uintptr) { /* sqlite3.c:219896:13: */ +func sqlite3Fts5BufferFree(tls *libc.TLS, pBuf uintptr) { /* sqlite3.c:219953:13: */ Xsqlite3_free(tls, (*Fts5Buffer)(unsafe.Pointer(pBuf)).Fp) libc.Xmemset(tls, pBuf, 0, uint64(unsafe.Sizeof(Fts5Buffer{}))) } // Zero the contents of the buffer object. But do not free the associated // memory allocation. -func sqlite3Fts5BufferZero(tls *libc.TLS, pBuf uintptr) { /* sqlite3.c:219905:13: */ +func sqlite3Fts5BufferZero(tls *libc.TLS, pBuf uintptr) { /* sqlite3.c:219962:13: */ (*Fts5Buffer)(unsafe.Pointer(pBuf)).Fn = 0 } // Set the buffer to contain nData/pData. If an OOM error occurs, leave an // the error code in p. If an error has already occurred when this function // is called, it is a no-op. -func sqlite3Fts5BufferSet(tls *libc.TLS, pRc uintptr, pBuf uintptr, nData int32, pData uintptr) { /* sqlite3.c:219914:13: */ +func sqlite3Fts5BufferSet(tls *libc.TLS, pRc uintptr, pBuf uintptr, nData int32, pData uintptr) { /* sqlite3.c:219971:13: */ (*Fts5Buffer)(unsafe.Pointer(pBuf)).Fn = 0 sqlite3Fts5BufferAppendBlob(tls, pRc, pBuf, uint32(nData), pData) } -func sqlite3Fts5PoslistNext64(tls *libc.TLS, a uintptr, n int32, pi uintptr, piOff uintptr) int32 { /* sqlite3.c:219924:12: */ +func sqlite3Fts5PoslistNext64(tls *libc.TLS, a uintptr, n int32, pi uintptr, piOff uintptr) int32 { /* sqlite3.c:219981:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -177536,14 +177567,14 @@ func sqlite3Fts5PoslistNext64(tls *libc.TLS, a uintptr, n int32, pi uintptr, piO // Advance the iterator object passed as the only argument. Return true // if the iterator reaches EOF, or false otherwise. -func sqlite3Fts5PoslistReaderNext(tls *libc.TLS, pIter uintptr) int32 { /* sqlite3.c:219967:12: */ +func sqlite3Fts5PoslistReaderNext(tls *libc.TLS, pIter uintptr) int32 { /* sqlite3.c:220024:12: */ if sqlite3Fts5PoslistNext64(tls, (*Fts5PoslistReader)(unsafe.Pointer(pIter)).Fa, (*Fts5PoslistReader)(unsafe.Pointer(pIter)).Fn, pIter+12, pIter+24) != 0 { (*Fts5PoslistReader)(unsafe.Pointer(pIter)).FbEof = U8(1) } return int32((*Fts5PoslistReader)(unsafe.Pointer(pIter)).FbEof) } -func sqlite3Fts5PoslistReaderInit(tls *libc.TLS, a uintptr, n int32, pIter uintptr) int32 { /* sqlite3.c:219974:12: */ +func sqlite3Fts5PoslistReaderInit(tls *libc.TLS, a uintptr, n int32, pIter uintptr) int32 { /* sqlite3.c:220031:12: */ libc.Xmemset(tls, pIter, 0, uint64(unsafe.Sizeof(Fts5PoslistReader{}))) (*Fts5PoslistReader)(unsafe.Pointer(pIter)).Fa = a (*Fts5PoslistReader)(unsafe.Pointer(pIter)).Fn = n @@ -177555,7 +177586,7 @@ func sqlite3Fts5PoslistReaderInit(tls *libc.TLS, a uintptr, n int32, pIter uintp // pBuf, which must be already be large enough to hold the new data. // The previous position written to this list is *piPrev. *piPrev is set // to iPos before returning. -func sqlite3Fts5PoslistSafeAppend(tls *libc.TLS, pBuf uintptr, piPrev uintptr, iPos I64) { /* sqlite3.c:219991:13: */ +func sqlite3Fts5PoslistSafeAppend(tls *libc.TLS, pBuf uintptr, piPrev uintptr, iPos I64) { /* sqlite3.c:220048:13: */ if iPos >= *(*I64)(unsafe.Pointer(piPrev)) { if iPos&colmask != *(*I64)(unsafe.Pointer(piPrev))&colmask { *(*U8)(unsafe.Pointer((*Fts5Buffer)(unsafe.Pointer(pBuf)).Fp + uintptr(libc.PostIncInt32(&(*Fts5Buffer)(unsafe.Pointer(pBuf)).Fn, 1)))) = U8(1) @@ -177567,9 +177598,9 @@ func sqlite3Fts5PoslistSafeAppend(tls *libc.TLS, pBuf uintptr, piPrev uintptr, i } } -var colmask I64 = I64(int64(0x7FFFFFFF)) << 32 /* sqlite3.c:219997:22 */ +var colmask I64 = I64(int64(0x7FFFFFFF)) << 32 /* sqlite3.c:220054:22 */ -func sqlite3Fts5PoslistWriterAppend(tls *libc.TLS, pBuf uintptr, pWriter uintptr, iPos I64) int32 { /* sqlite3.c:220008:12: */ +func sqlite3Fts5PoslistWriterAppend(tls *libc.TLS, pBuf uintptr, pWriter uintptr, iPos I64) int32 { /* sqlite3.c:220065:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -177586,7 +177617,7 @@ func sqlite3Fts5PoslistWriterAppend(tls *libc.TLS, pBuf uintptr, pWriter uintptr return SQLITE_OK } -func sqlite3Fts5MallocZero(tls *libc.TLS, pRc uintptr, nByte Sqlite3_int64) uintptr { /* sqlite3.c:220019:13: */ +func sqlite3Fts5MallocZero(tls *libc.TLS, pRc uintptr, nByte Sqlite3_int64) uintptr { /* sqlite3.c:220076:13: */ var pRet uintptr = uintptr(0) if *(*int32)(unsafe.Pointer(pRc)) == SQLITE_OK { pRet = Xsqlite3_malloc64(tls, uint64(nByte)) @@ -177607,7 +177638,7 @@ func sqlite3Fts5MallocZero(tls *libc.TLS, pRc uintptr, nByte Sqlite3_int64) uint // // It is the responsibility of the caller to eventually free the returned // buffer using sqlite3_free(). If an OOM error occurs, NULL is returned. -func sqlite3Fts5Strndup(tls *libc.TLS, pRc uintptr, pIn uintptr, nIn int32) uintptr { /* sqlite3.c:220040:13: */ +func sqlite3Fts5Strndup(tls *libc.TLS, pRc uintptr, pIn uintptr, nIn int32) uintptr { /* sqlite3.c:220097:13: */ var zRet uintptr = uintptr(0) if *(*int32)(unsafe.Pointer(pRc)) == SQLITE_OK { if nIn < 0 { @@ -177632,7 +177663,7 @@ func sqlite3Fts5Strndup(tls *libc.TLS, pRc uintptr, pIn uintptr, nIn int32) uint // * The 10 integer ASCII characters. // * The underscore character "_" (0x5F). // * The unicode "subsitute" character (0x1A). -func sqlite3Fts5IsBareword(tls *libc.TLS, t uint8) int32 { /* sqlite3.c:220068:12: */ +func sqlite3Fts5IsBareword(tls *libc.TLS, t uint8) int32 { /* sqlite3.c:220125:12: */ bp := tls.Alloc(128) defer tls.Free(128) @@ -177657,13 +177688,13 @@ type Fts5TermsetEntry1 = struct { FnTerm int32 FiIdx int32 FpNext uintptr -} /* sqlite3.c:217037:9 */ +} /* sqlite3.c:217094:9 */ // ************************************************************************ // -type Fts5TermsetEntry = Fts5TermsetEntry1 /* sqlite3.c:220086:33 */ +type Fts5TermsetEntry = Fts5TermsetEntry1 /* sqlite3.c:220143:33 */ -func sqlite3Fts5TermsetNew(tls *libc.TLS, pp uintptr) int32 { /* sqlite3.c:220098:12: */ +func sqlite3Fts5TermsetNew(tls *libc.TLS, pp uintptr) int32 { /* sqlite3.c:220155:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -177672,7 +177703,7 @@ func sqlite3Fts5TermsetNew(tls *libc.TLS, pp uintptr) int32 { /* sqlite3.c:22009 return *(*int32)(unsafe.Pointer(bp /* rc */)) } -func sqlite3Fts5TermsetAdd(tls *libc.TLS, p uintptr, iIdx int32, pTerm uintptr, nTerm int32, pbPresent uintptr) int32 { /* sqlite3.c:220104:12: */ +func sqlite3Fts5TermsetAdd(tls *libc.TLS, p uintptr, iIdx int32, pTerm uintptr, nTerm int32, pbPresent uintptr) int32 { /* sqlite3.c:220161:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -177718,7 +177749,7 @@ func sqlite3Fts5TermsetAdd(tls *libc.TLS, p uintptr, iIdx int32, pTerm uintptr, return *(*int32)(unsafe.Pointer(bp /* rc */)) } -func sqlite3Fts5TermsetFree(tls *libc.TLS, p uintptr) { /* sqlite3.c:220153:13: */ +func sqlite3Fts5TermsetFree(tls *libc.TLS, p uintptr) { /* sqlite3.c:220210:13: */ if p != 0 { var i U32 for i = U32(0); i < U32(int32(uint64(unsafe.Sizeof([512]uintptr{}))/uint64(unsafe.Sizeof(uintptr(0))))); i++ { @@ -177750,18 +177781,18 @@ func sqlite3Fts5TermsetFree(tls *libc.TLS, p uintptr) { /* sqlite3.c:220153:13: // Maximum allowed page size -func fts5_iswhitespace(tls *libc.TLS, x uint8) int32 { /* sqlite3.c:220195:12: */ +func fts5_iswhitespace(tls *libc.TLS, x uint8) int32 { /* sqlite3.c:220252:12: */ return libc.Bool32(int32(x) == ' ') } -func fts5_isopenquote(tls *libc.TLS, x uint8) int32 { /* sqlite3.c:220199:12: */ +func fts5_isopenquote(tls *libc.TLS, x uint8) int32 { /* sqlite3.c:220256:12: */ return libc.Bool32(int32(x) == '"' || int32(x) == '\'' || int32(x) == '[' || int32(x) == '`') } // Argument pIn points to a character that is part of a nul-terminated // string. Return a pointer to the first character following *pIn in // the string that is not a white-space character. -func fts5ConfigSkipWhitespace(tls *libc.TLS, pIn uintptr) uintptr { /* sqlite3.c:220208:19: */ +func fts5ConfigSkipWhitespace(tls *libc.TLS, pIn uintptr) uintptr { /* sqlite3.c:220265:19: */ var p uintptr = pIn if p != 0 { for fts5_iswhitespace(tls, *(*uint8)(unsafe.Pointer(p))) != 0 { @@ -177774,7 +177805,7 @@ func fts5ConfigSkipWhitespace(tls *libc.TLS, pIn uintptr) uintptr { /* sqlite3.c // Argument pIn points to a character that is part of a nul-terminated // string. Return a pointer to the first character following *pIn in // the string that is not a "bareword" character. -func fts5ConfigSkipBareword(tls *libc.TLS, pIn uintptr) uintptr { /* sqlite3.c:220221:19: */ +func fts5ConfigSkipBareword(tls *libc.TLS, pIn uintptr) uintptr { /* sqlite3.c:220278:19: */ var p uintptr = pIn for sqlite3Fts5IsBareword(tls, *(*uint8)(unsafe.Pointer(p))) != 0 { p++ @@ -177785,11 +177816,11 @@ func fts5ConfigSkipBareword(tls *libc.TLS, pIn uintptr) uintptr { /* sqlite3.c:2 return p } -func fts5_isdigit(tls *libc.TLS, a uint8) int32 { /* sqlite3.c:220228:12: */ +func fts5_isdigit(tls *libc.TLS, a uint8) int32 { /* sqlite3.c:220285:12: */ return libc.Bool32(int32(a) >= '0' && int32(a) <= '9') } -func fts5ConfigSkipLiteral(tls *libc.TLS, pIn uintptr) uintptr { /* sqlite3.c:220234:19: */ +func fts5ConfigSkipLiteral(tls *libc.TLS, pIn uintptr) uintptr { /* sqlite3.c:220291:19: */ var p uintptr = pIn switch int32(*(*uint8)(unsafe.Pointer(p))) { case 'n': @@ -177878,7 +177909,7 @@ func fts5ConfigSkipLiteral(tls *libc.TLS, pIn uintptr) uintptr { /* sqlite3.c:22 // the character immediately following it. Or, if the close-quote is not // found, -1 is returned. If -1 is returned, the buffer is left in an // undefined state. -func fts5Dequote(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:220310:12: */ +func fts5Dequote(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:220367:12: */ var q uint8 var iIn int32 = 1 var iOut int32 = 0 @@ -177923,7 +177954,7 @@ func fts5Dequote(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:220310:12: */ // 'xyz' becomes xyz // [pqr] becomes pqr // `mno` becomes mno -func sqlite3Fts5Dequote(tls *libc.TLS, z uintptr) { /* sqlite3.c:220355:13: */ +func sqlite3Fts5Dequote(tls *libc.TLS, z uintptr) { /* sqlite3.c:220412:13: */ var quote uint8 // Quote character (if any ) quote = *(*uint8)(unsafe.Pointer(z)) @@ -177936,11 +177967,11 @@ type Fts5Enum1 = struct { FzName uintptr FeVal int32 F__ccgo_pad1 [4]byte -} /* sqlite3.c:220366:1 */ +} /* sqlite3.c:220423:1 */ -type Fts5Enum = Fts5Enum1 /* sqlite3.c:220370:25 */ +type Fts5Enum = Fts5Enum1 /* sqlite3.c:220427:25 */ -func fts5ConfigSetEnum(tls *libc.TLS, aEnum uintptr, zEnum uintptr, peVal uintptr) int32 { /* sqlite3.c:220372:12: */ +func fts5ConfigSetEnum(tls *libc.TLS, aEnum uintptr, zEnum uintptr, peVal uintptr) int32 { /* sqlite3.c:220429:12: */ var nEnum int32 = int32(libc.Xstrlen(tls, zEnum)) var i int32 var iVal int32 = -1 @@ -177968,7 +177999,7 @@ func fts5ConfigSetEnum(tls *libc.TLS, aEnum uintptr, zEnum uintptr, peVal uintpt // an error occurs, an SQLite error code is returned and an error message // may be left in *pzErr. It is the responsibility of the caller to // eventually free any such error message using sqlite3_free(). -func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCmd uintptr, zArg uintptr, pzErr uintptr) int32 { /* sqlite3.c:220401:12: */ +func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCmd uintptr, zArg uintptr, pzErr uintptr) int32 { /* sqlite3.c:220458:12: */ bp := tls.Alloc(112) defer tls.Free(112) @@ -178131,7 +178162,7 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm // Allocate an instance of the default tokenizer ("simple") at // Fts5Config.pTokenizer. Return SQLITE_OK if successful, or an SQLite error // code if an error occurs. -func fts5ConfigDefaultTokenizer(tls *libc.TLS, pGlobal uintptr, pConfig uintptr) int32 { /* sqlite3.c:220565:12: */ +func fts5ConfigDefaultTokenizer(tls *libc.TLS, pGlobal uintptr, pConfig uintptr) int32 { /* sqlite3.c:220622:12: */ return sqlite3Fts5GetTokenizer(tls, pGlobal, uintptr(0), 0, pConfig, uintptr(0)) } @@ -178149,7 +178180,7 @@ func fts5ConfigDefaultTokenizer(tls *libc.TLS, pGlobal uintptr, pConfig uintptr) // a no-op (NULL is returned). Otherwise, if an OOM occurs within this // function, *pRc is set to SQLITE_NOMEM before returning. *pRc is *not* // set if a parse error (failed to find close quote) occurs. -func fts5ConfigGobbleWord(tls *libc.TLS, pRc uintptr, zIn uintptr, pzOut uintptr, pbQuoted uintptr) uintptr { /* sqlite3.c:220585:19: */ +func fts5ConfigGobbleWord(tls *libc.TLS, pRc uintptr, zIn uintptr, pzOut uintptr, pbQuoted uintptr) uintptr { /* sqlite3.c:220642:19: */ var zRet uintptr = uintptr(0) var nIn Sqlite3_int64 = Sqlite3_int64(libc.Xstrlen(tls, zIn)) @@ -178183,7 +178214,7 @@ func fts5ConfigGobbleWord(tls *libc.TLS, pRc uintptr, zIn uintptr, pzOut uintptr return zRet } -func fts5ConfigParseColumn(tls *libc.TLS, p uintptr, zCol uintptr, zArg uintptr, pzErr uintptr) int32 { /* sqlite3.c:220625:12: */ +func fts5ConfigParseColumn(tls *libc.TLS, p uintptr, zCol uintptr, zArg uintptr, pzErr uintptr) int32 { /* sqlite3.c:220682:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -178206,7 +178237,7 @@ func fts5ConfigParseColumn(tls *libc.TLS, p uintptr, zCol uintptr, zArg uintptr, } // Populate the Fts5Config.zContentExprlist string. -func fts5ConfigMakeExprlist(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:220653:12: */ +func fts5ConfigMakeExprlist(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:220710:12: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -178239,7 +178270,7 @@ func fts5ConfigMakeExprlist(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:22065 // returned, *ppOut is set to NULL and an error message may be left in // *pzErr. It is the responsibility of the caller to eventually free any // such error message using sqlite3_free(). -func sqlite3Fts5ConfigParse(tls *libc.TLS, pGlobal uintptr, db uintptr, nArg int32, azArg uintptr, ppOut uintptr, pzErr uintptr) int32 { /* sqlite3.c:220686:12: */ +func sqlite3Fts5ConfigParse(tls *libc.TLS, pGlobal uintptr, db uintptr, nArg int32, azArg uintptr, ppOut uintptr, pzErr uintptr) int32 { /* sqlite3.c:220743:12: */ bp := tls.Alloc(76) defer tls.Free(76) @@ -178372,7 +178403,7 @@ func sqlite3Fts5ConfigParse(tls *libc.TLS, pGlobal uintptr, db uintptr, nArg int } // Free the configuration object passed as the only argument. -func sqlite3Fts5ConfigFree(tls *libc.TLS, pConfig uintptr) { /* sqlite3.c:220810:13: */ +func sqlite3Fts5ConfigFree(tls *libc.TLS, pConfig uintptr) { /* sqlite3.c:220867:13: */ if pConfig != 0 { var i int32 if (*Fts5Config)(unsafe.Pointer(pConfig)).FpTok != 0 { @@ -178397,7 +178428,7 @@ func sqlite3Fts5ConfigFree(tls *libc.TLS, pConfig uintptr) { /* sqlite3.c:220810 // Call sqlite3_declare_vtab() based on the contents of the configuration // object passed as the only argument. Return SQLITE_OK if successful, or // an SQLite error code if an error occurs. -func sqlite3Fts5ConfigDeclareVtab(tls *libc.TLS, pConfig uintptr) int32 { /* sqlite3.c:220837:12: */ +func sqlite3Fts5ConfigDeclareVtab(tls *libc.TLS, pConfig uintptr) int32 { /* sqlite3.c:220894:12: */ bp := tls.Alloc(52) defer tls.Free(52) @@ -178447,7 +178478,7 @@ func sqlite3Fts5ConfigDeclareVtab(tls *libc.TLS, pConfig uintptr) int32 { /* sql // still returns SQLITE_OK. Or, if the tokenization was abandoned early // 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) int32 { /* sqlite3.c:220883:12: */ +func sqlite3Fts5Tokenize(tls *libc.TLS, pConfig uintptr, flags int32, pText uintptr, nText int32, pCtx uintptr, xToken uintptr) int32 { /* sqlite3.c:220940:12: */ if pText == uintptr(0) { return SQLITE_OK } @@ -178461,7 +178492,7 @@ func sqlite3Fts5Tokenize(tls *libc.TLS, pConfig uintptr, flags int32, pText uint // a comma-separated list of SQL literals followed by a ')' character. // If it actually is this, return a pointer to the ')'. Otherwise, return // NULL to indicate a parse error. -func fts5ConfigSkipArgs(tls *libc.TLS, pIn uintptr) uintptr { /* sqlite3.c:220902:19: */ +func fts5ConfigSkipArgs(tls *libc.TLS, pIn uintptr) uintptr { /* sqlite3.c:220959:19: */ var p uintptr = pIn for 1 != 0 { @@ -178488,7 +178519,7 @@ func fts5ConfigSkipArgs(tls *libc.TLS, pIn uintptr) uintptr { /* sqlite3.c:22090 // + Open parenthesis - "(" // + Zero or more SQL literals in a comma separated list // + Close parenthesis - ")" -func sqlite3Fts5ConfigParseRank(tls *libc.TLS, zIn uintptr, pzRank uintptr, pzRankArgs uintptr) int32 { /* sqlite3.c:220929:12: */ +func sqlite3Fts5ConfigParseRank(tls *libc.TLS, zIn uintptr, pzRank uintptr, pzRankArgs uintptr) int32 { /* sqlite3.c:220986:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -178552,7 +178583,7 @@ func sqlite3Fts5ConfigParseRank(tls *libc.TLS, zIn uintptr, pzRank uintptr, pzRa return *(*int32)(unsafe.Pointer(bp /* rc */)) } -func sqlite3Fts5ConfigSetValue(tls *libc.TLS, pConfig uintptr, zKey uintptr, pVal uintptr, pbBadkey uintptr) int32 { /* sqlite3.c:220988:12: */ +func sqlite3Fts5ConfigSetValue(tls *libc.TLS, pConfig uintptr, zKey uintptr, pVal uintptr, pbBadkey uintptr) int32 { /* sqlite3.c:221045:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -178640,7 +178671,7 @@ func sqlite3Fts5ConfigSetValue(tls *libc.TLS, pConfig uintptr, zKey uintptr, pVa } // Load the contents of the %_config table into memory. -func sqlite3Fts5ConfigLoad(tls *libc.TLS, pConfig uintptr, iCookie int32) int32 { /* sqlite3.c:221082:12: */ +func sqlite3Fts5ConfigLoad(tls *libc.TLS, pConfig uintptr, iCookie int32) int32 { /* sqlite3.c:221139:12: */ bp := tls.Alloc(52) defer tls.Free(52) @@ -178717,7 +178748,7 @@ type Fts5ExprTerm1 = struct { FzTerm uintptr FpIter uintptr FpSynonym uintptr -} /* sqlite3.c:216813:9 */ +} /* sqlite3.c:216870:9 */ // 2014 May 31 // @@ -178736,9 +178767,9 @@ type Fts5ExprTerm1 = struct { // All token types in the generated fts5parse.h file are greater than 0. -type Fts5ExprTerm = Fts5ExprTerm1 /* sqlite3.c:221160:29 */ +type Fts5ExprTerm = Fts5ExprTerm1 /* sqlite3.c:221217:29 */ -func sqlite3Fts5ParseError(tls *libc.TLS, pParse uintptr, zFmt uintptr, va uintptr) { /* sqlite3.c:221267:13: */ +func sqlite3Fts5ParseError(tls *libc.TLS, pParse uintptr, zFmt uintptr, va uintptr) { /* sqlite3.c:221324:13: */ var ap Va_list _ = ap ap = va @@ -178750,12 +178781,12 @@ func sqlite3Fts5ParseError(tls *libc.TLS, pParse uintptr, zFmt uintptr, va uintp _ = ap } -func fts5ExprIsspace(tls *libc.TLS, t uint8) int32 { /* sqlite3.c:221278:12: */ +func fts5ExprIsspace(tls *libc.TLS, t uint8) int32 { /* sqlite3.c:221335:12: */ return libc.Bool32(int32(t) == ' ' || int32(t) == '\t' || int32(t) == '\n' || int32(t) == '\r') } // Read the first token from the nul-terminated string at *pz. -func fts5ExprGetToken(tls *libc.TLS, pParse uintptr, pz uintptr, pToken uintptr) int32 { /* sqlite3.c:221285:12: */ +func fts5ExprGetToken(tls *libc.TLS, pParse uintptr, pz uintptr, pToken uintptr) int32 { /* sqlite3.c:221342:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -178855,15 +178886,15 @@ func fts5ExprGetToken(tls *libc.TLS, pParse uintptr, pz uintptr, pToken uintptr) return tok } -func fts5ParseAlloc(tls *libc.TLS, t U64) uintptr { /* sqlite3.c:221349:13: */ +func fts5ParseAlloc(tls *libc.TLS, t U64) uintptr { /* sqlite3.c:221406:13: */ return Xsqlite3_malloc64(tls, uint64(Sqlite3_int64(t))) } -func fts5ParseFree(tls *libc.TLS, p uintptr) { /* sqlite3.c:221350:13: */ +func fts5ParseFree(tls *libc.TLS, p uintptr) { /* sqlite3.c:221407:13: */ Xsqlite3_free(tls, p) } -func sqlite3Fts5ExprNew(tls *libc.TLS, pConfig uintptr, bPhraseToAnd int32, iCol int32, zExpr uintptr, ppNew uintptr, pzErr uintptr) int32 { /* sqlite3.c:221352:12: */ +func sqlite3Fts5ExprNew(tls *libc.TLS, pConfig uintptr, bPhraseToAnd int32, iCol int32, zExpr uintptr, ppNew uintptr, pzErr uintptr) int32 { /* sqlite3.c:221409:12: */ bp := tls.Alloc(72) defer tls.Free(72) @@ -178941,7 +178972,7 @@ func sqlite3Fts5ExprNew(tls *libc.TLS, pConfig uintptr, bPhraseToAnd int32, iCol // expression that will match a superset of the rows matched by the LIKE or // GLOB. If successful, SQLITE_OK is returned. Otherwise, an SQLite error // code. -func sqlite3Fts5ExprPattern(tls *libc.TLS, pConfig uintptr, bGlob int32, iCol int32, zText uintptr, pp uintptr) int32 { /* sqlite3.c:221433:12: */ +func sqlite3Fts5ExprPattern(tls *libc.TLS, pConfig uintptr, bGlob int32, iCol int32, zText uintptr, pp uintptr) int32 { /* sqlite3.c:221490:12: */ bp := tls.Alloc(3) defer tls.Free(3) @@ -179016,7 +179047,7 @@ func sqlite3Fts5ExprPattern(tls *libc.TLS, pConfig uintptr, bGlob int32, iCol in } // Free the expression node object passed as the only argument. -func sqlite3Fts5ParseNodeFree(tls *libc.TLS, p uintptr) { /* sqlite3.c:221503:13: */ +func sqlite3Fts5ParseNodeFree(tls *libc.TLS, p uintptr) { /* sqlite3.c:221560:13: */ if p != 0 { var i int32 for i = 0; i < (*Fts5ExprNode)(unsafe.Pointer(p)).FnChild; i++ { @@ -179028,7 +179059,7 @@ func sqlite3Fts5ParseNodeFree(tls *libc.TLS, p uintptr) { /* sqlite3.c:221503:13 } // Free the expression object passed as the only argument. -func sqlite3Fts5ExprFree(tls *libc.TLS, p uintptr) { /* sqlite3.c:221517:13: */ +func sqlite3Fts5ExprFree(tls *libc.TLS, p uintptr) { /* sqlite3.c:221574:13: */ if p != 0 { sqlite3Fts5ParseNodeFree(tls, (*Fts5Expr)(unsafe.Pointer(p)).FpRoot) Xsqlite3_free(tls, (*Fts5Expr)(unsafe.Pointer(p)).FapExprPhrase) @@ -179036,7 +179067,7 @@ func sqlite3Fts5ExprFree(tls *libc.TLS, p uintptr) { /* sqlite3.c:221517:13: */ } } -func sqlite3Fts5ExprAnd(tls *libc.TLS, pp1 uintptr, p2 uintptr) int32 { /* sqlite3.c:221525:12: */ +func sqlite3Fts5ExprAnd(tls *libc.TLS, pp1 uintptr, p2 uintptr) int32 { /* sqlite3.c:221582:12: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -179077,7 +179108,7 @@ func sqlite3Fts5ExprAnd(tls *libc.TLS, pp1 uintptr, p2 uintptr) int32 { /* sqlit // Argument pTerm must be a synonym iterator. Return the current rowid // that it points to. -func fts5ExprSynonymRowid(tls *libc.TLS, pTerm uintptr, bDesc int32, pbEof uintptr) I64 { /* sqlite3.c:221565:12: */ +func fts5ExprSynonymRowid(tls *libc.TLS, pTerm uintptr, bDesc int32, pbEof uintptr) I64 { /* sqlite3.c:221622:12: */ var iRet I64 = int64(0) var bRetValid int32 = 0 var p uintptr @@ -179099,7 +179130,7 @@ func fts5ExprSynonymRowid(tls *libc.TLS, pTerm uintptr, bDesc int32, pbEof uintp } // Argument pTerm must be a synonym iterator. -func fts5ExprSynonymList(tls *libc.TLS, pTerm uintptr, iRowid I64, pBuf uintptr, pa uintptr, pn uintptr) int32 { /* sqlite3.c:221590:12: */ +func fts5ExprSynonymList(tls *libc.TLS, pTerm uintptr, iRowid I64, pBuf uintptr, pa uintptr, pn uintptr) int32 { /* sqlite3.c:221647:12: */ bp := tls.Alloc(136) defer tls.Free(136) @@ -179263,7 +179294,7 @@ __22: // SQLITE_OK is returned if an error occurs, or an SQLite error code // otherwise. It is not considered an error code if the current rowid is // not a match. -func fts5ExprPhraseIsMatch(tls *libc.TLS, pNode uintptr, pPhrase uintptr, pbMatch uintptr) int32 { /* sqlite3.c:221673:12: */ +func fts5ExprPhraseIsMatch(tls *libc.TLS, pNode uintptr, pPhrase uintptr, pbMatch uintptr) int32 { /* sqlite3.c:221730:12: */ bp := tls.Alloc(168) defer tls.Free(168) @@ -179488,11 +179519,11 @@ type Fts5LookaheadReader1 = struct { Fi int32 FiPos I64 FiLookahead I64 -} /* sqlite3.c:221757:9 */ +} /* sqlite3.c:221814:9 */ -type Fts5LookaheadReader = Fts5LookaheadReader1 /* sqlite3.c:221757:36 */ +type Fts5LookaheadReader = Fts5LookaheadReader1 /* sqlite3.c:221814:36 */ -func fts5LookaheadReaderNext(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:221768:12: */ +func fts5LookaheadReaderNext(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:221825:12: */ (*Fts5LookaheadReader)(unsafe.Pointer(p)).FiPos = (*Fts5LookaheadReader)(unsafe.Pointer(p)).FiLookahead if sqlite3Fts5PoslistNext64(tls, (*Fts5LookaheadReader)(unsafe.Pointer(p)).Fa, (*Fts5LookaheadReader)(unsafe.Pointer(p)).Fn, p+12, p+24) != 0 { (*Fts5LookaheadReader)(unsafe.Pointer(p)).FiLookahead = I64(int64(1)) << 62 @@ -179500,7 +179531,7 @@ func fts5LookaheadReaderNext(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:2217 return libc.Bool32((*Fts5LookaheadReader)(unsafe.Pointer(p)).FiPos == I64(int64(1))<<62) } -func fts5LookaheadReaderInit(tls *libc.TLS, a uintptr, n int32, p uintptr) int32 { /* sqlite3.c:221776:12: */ +func fts5LookaheadReaderInit(tls *libc.TLS, a uintptr, n int32, p uintptr) int32 { /* sqlite3.c:221833:12: */ libc.Xmemset(tls, p, 0, uint64(unsafe.Sizeof(Fts5LookaheadReader{}))) (*Fts5LookaheadReader)(unsafe.Pointer(p)).Fa = a (*Fts5LookaheadReader)(unsafe.Pointer(p)).Fn = n @@ -179512,9 +179543,9 @@ type Fts5NearTrimmer1 = struct { Freader Fts5LookaheadReader Fwriter Fts5PoslistWriter FpOut uintptr -} /* sqlite3.c:221787:9 */ +} /* sqlite3.c:221844:9 */ -type Fts5NearTrimmer = Fts5NearTrimmer1 /* sqlite3.c:221787:32 */ +type Fts5NearTrimmer = Fts5NearTrimmer1 /* sqlite3.c:221844:32 */ // The near-set object passed as the first argument contains more than // one phrase. All phrases currently point to the same row. The @@ -179531,7 +179562,7 @@ type Fts5NearTrimmer = Fts5NearTrimmer1 /* sqlite3.c:221787:32 */ // If no error occurs and non-zero (a match) is returned, the position-list // of each phrase object is edited to contain only those entries that // meet the constraint before returning. -func fts5ExprNearIsMatch(tls *libc.TLS, pRc uintptr, pNear uintptr) int32 { /* sqlite3.c:221811:12: */ +func fts5ExprNearIsMatch(tls *libc.TLS, pRc uintptr, pNear uintptr) int32 { /* sqlite3.c:221868:12: */ bp := tls.Alloc(196) defer tls.Free(196) @@ -179733,7 +179764,7 @@ __29: // If the iterator reaches EOF, set *pbEof to true before returning. If // an error occurs, set *pRc to an error code. If either *pbEof or *pRc // are set, return a non-zero value. Otherwise, return zero. -func fts5ExprAdvanceto(tls *libc.TLS, pIter uintptr, bDesc int32, piLast uintptr, pRc uintptr, pbEof uintptr) int32 { /* sqlite3.c:221910:12: */ +func fts5ExprAdvanceto(tls *libc.TLS, pIter uintptr, bDesc int32, piLast uintptr, pRc uintptr, pbEof uintptr) int32 { /* sqlite3.c:221967:12: */ var iLast I64 = *(*I64)(unsafe.Pointer(piLast)) var iRowid I64 @@ -179753,7 +179784,7 @@ func fts5ExprAdvanceto(tls *libc.TLS, pIter uintptr, bDesc int32, piLast uintptr return 0 } -func fts5ExprSynonymAdvanceto(tls *libc.TLS, pTerm uintptr, bDesc int32, piLast uintptr, pRc uintptr) int32 { /* sqlite3.c:221936:12: */ +func fts5ExprSynonymAdvanceto(tls *libc.TLS, pTerm uintptr, bDesc int32, piLast uintptr, pRc uintptr) int32 { /* sqlite3.c:221993:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -179780,7 +179811,7 @@ func fts5ExprSynonymAdvanceto(tls *libc.TLS, pTerm uintptr, bDesc int32, piLast return *(*int32)(unsafe.Pointer(bp /* bEof */)) } -func fts5ExprNearTest(tls *libc.TLS, pRc uintptr, pExpr uintptr, pNode uintptr) int32 { /* sqlite3.c:221966:12: */ +func fts5ExprNearTest(tls *libc.TLS, pRc uintptr, pExpr uintptr, pNode uintptr) int32 { /* sqlite3.c:222023:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -179837,7 +179868,7 @@ func fts5ExprNearTest(tls *libc.TLS, pRc uintptr, pExpr uintptr, pNode uintptr) // If an error occurs, return an SQLite error code. Otherwise, return // SQLITE_OK. It is not considered an error if some term matches zero // documents. -func fts5ExprNearInitAll(tls *libc.TLS, pExpr uintptr, pNode uintptr) int32 { /* sqlite3.c:222025:12: */ +func fts5ExprNearInitAll(tls *libc.TLS, pExpr uintptr, pNode uintptr) int32 { /* sqlite3.c:222082:12: */ var pNear uintptr = (*Fts5ExprNode)(unsafe.Pointer(pNode)).FpNear var i int32 @@ -179903,7 +179934,7 @@ func fts5ExprNearInitAll(tls *libc.TLS, pExpr uintptr, pNode uintptr) int32 { /* // Otherwise, if this is a DESC iterator, the opposite is returned: // // (iRhs - iLhs) -func fts5RowidCmp(tls *libc.TLS, pExpr uintptr, iLhs I64, iRhs I64) int32 { /* sqlite3.c:222087:12: */ +func fts5RowidCmp(tls *libc.TLS, pExpr uintptr, iLhs I64, iRhs I64) int32 { /* sqlite3.c:222144:12: */ if (*Fts5Expr)(unsafe.Pointer(pExpr)).FbDesc == 0 { if iLhs < iRhs { @@ -179919,7 +179950,7 @@ func fts5RowidCmp(tls *libc.TLS, pExpr uintptr, iLhs I64, iRhs I64) int32 { /* s return int32(0) } -func fts5ExprSetEof(tls *libc.TLS, pNode uintptr) { /* sqlite3.c:222102:13: */ +func fts5ExprSetEof(tls *libc.TLS, pNode uintptr) { /* sqlite3.c:222159:13: */ var i int32 (*Fts5ExprNode)(unsafe.Pointer(pNode)).FbEof = 1 (*Fts5ExprNode)(unsafe.Pointer(pNode)).FbNomatch = 0 @@ -179928,7 +179959,7 @@ func fts5ExprSetEof(tls *libc.TLS, pNode uintptr) { /* sqlite3.c:222102:13: */ } } -func fts5ExprNodeZeroPoslist(tls *libc.TLS, pNode uintptr) { /* sqlite3.c:222111:13: */ +func fts5ExprNodeZeroPoslist(tls *libc.TLS, pNode uintptr) { /* sqlite3.c:222168:13: */ if (*Fts5ExprNode)(unsafe.Pointer(pNode)).FeType == FTS5_STRING || (*Fts5ExprNode)(unsafe.Pointer(pNode)).FeType == FTS5_TERM { var pNear uintptr = (*Fts5ExprNode)(unsafe.Pointer(pNode)).FpNear var i int32 @@ -179954,7 +179985,7 @@ func fts5ExprNodeZeroPoslist(tls *libc.TLS, pNode uintptr) { /* sqlite3.c:222111 // This means that if the iteration order is ASC, then numerically larger // rowids are considered larger. Or if it is the default DESC, numerically // smaller rowids are larger. -func fts5NodeCompare(tls *libc.TLS, pExpr uintptr, p1 uintptr, p2 uintptr) int32 { /* sqlite3.c:222141:12: */ +func fts5NodeCompare(tls *libc.TLS, pExpr uintptr, p1 uintptr, p2 uintptr) int32 { /* sqlite3.c:222198:12: */ if (*Fts5ExprNode)(unsafe.Pointer(p2)).FbEof != 0 { return -1 } @@ -179973,7 +180004,7 @@ func fts5NodeCompare(tls *libc.TLS, pExpr uintptr, p1 uintptr, p2 uintptr) int32 // SQLITE_OK is returned if an error occurs, or an SQLite error code // otherwise. It is not considered an error code if an iterator reaches // EOF. -func fts5ExprNodeTest_STRING(tls *libc.TLS, pExpr uintptr, pNode uintptr) int32 { /* sqlite3.c:222162:12: */ +func fts5ExprNodeTest_STRING(tls *libc.TLS, pExpr uintptr, pNode uintptr) int32 { /* sqlite3.c:222219:12: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -180041,7 +180072,7 @@ func fts5ExprNodeTest_STRING(tls *libc.TLS, pExpr uintptr, pNode uintptr) int32 // // Return SQLITE_OK if successful, or an SQLite error code if an error // occurs. -func fts5ExprNodeNext_STRING(tls *libc.TLS, pExpr uintptr, pNode uintptr, bFromValid int32, iFrom I64) int32 { /* sqlite3.c:222232:12: */ +func fts5ExprNodeNext_STRING(tls *libc.TLS, pExpr uintptr, pNode uintptr, bFromValid int32, iFrom I64) int32 { /* sqlite3.c:222289:12: */ var pTerm uintptr = *(*uintptr)(unsafe.Pointer((*Fts5ExprNode)(unsafe.Pointer(pNode)).FpNear + 24)) + 32 var rc int32 = SQLITE_OK @@ -180100,7 +180131,7 @@ func fts5ExprNodeNext_STRING(tls *libc.TLS, pExpr uintptr, pNode uintptr, bFromV return rc } -func fts5ExprNodeTest_TERM(tls *libc.TLS, pExpr uintptr, pNode uintptr) int32 { /* sqlite3.c:222297:12: */ +func fts5ExprNodeTest_TERM(tls *libc.TLS, pExpr uintptr, pNode uintptr) int32 { /* sqlite3.c:222354:12: */ // As this "NEAR" object is actually a single phrase that consists // of a single term only, grab pointers into the poslist managed by the // fts5_index.c iterator object. This is much faster than synthesizing @@ -180119,7 +180150,7 @@ func fts5ExprNodeTest_TERM(tls *libc.TLS, pExpr uintptr, pNode uintptr) int32 { } // xNext() method for a node of type FTS5_TERM. -func fts5ExprNodeNext_TERM(tls *libc.TLS, pExpr uintptr, pNode uintptr, bFromValid int32, iFrom I64) int32 { /* sqlite3.c:222325:12: */ +func fts5ExprNodeNext_TERM(tls *libc.TLS, pExpr uintptr, pNode uintptr, bFromValid int32, iFrom I64) int32 { /* sqlite3.c:222382:12: */ var rc int32 var pIter uintptr = (*Fts5ExprTerm)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer((*Fts5ExprNode)(unsafe.Pointer(pNode)).FpNear + 24)) + 32)).FpIter @@ -180137,7 +180168,7 @@ func fts5ExprNodeNext_TERM(tls *libc.TLS, pExpr uintptr, pNode uintptr, bFromVal return rc } -func fts5ExprNodeTest_OR(tls *libc.TLS, pExpr uintptr, pNode uintptr) { /* sqlite3.c:222349:13: */ +func fts5ExprNodeTest_OR(tls *libc.TLS, pExpr uintptr, pNode uintptr) { /* sqlite3.c:222406:13: */ var pNext uintptr = *(*uintptr)(unsafe.Pointer(pNode + 48)) var i int32 @@ -180153,7 +180184,7 @@ func fts5ExprNodeTest_OR(tls *libc.TLS, pExpr uintptr, pNode uintptr) { /* sqlit (*Fts5ExprNode)(unsafe.Pointer(pNode)).FbNomatch = (*Fts5ExprNode)(unsafe.Pointer(pNext)).FbNomatch } -func fts5ExprNodeNext_OR(tls *libc.TLS, pExpr uintptr, pNode uintptr, bFromValid int32, iFrom I64) int32 { /* sqlite3.c:222368:12: */ +func fts5ExprNodeNext_OR(tls *libc.TLS, pExpr uintptr, pNode uintptr, bFromValid int32, iFrom I64) int32 { /* sqlite3.c:222425:12: */ var i int32 var iLast I64 = (*Fts5ExprNode)(unsafe.Pointer(pNode)).FiRowid @@ -180179,7 +180210,7 @@ func fts5ExprNodeNext_OR(tls *libc.TLS, pExpr uintptr, pNode uintptr, bFromValid } // Argument pNode is an FTS5_AND node. -func fts5ExprNodeTest_AND(tls *libc.TLS, pExpr uintptr, pAnd uintptr) int32 { /* sqlite3.c:222400:12: */ +func fts5ExprNodeTest_AND(tls *libc.TLS, pExpr uintptr, pAnd uintptr) int32 { /* sqlite3.c:222457:12: */ var iChild int32 var iLast I64 = (*Fts5ExprNode)(unsafe.Pointer(pAnd)).FiRowid var rc int32 = SQLITE_OK @@ -180229,7 +180260,7 @@ func fts5ExprNodeTest_AND(tls *libc.TLS, pExpr uintptr, pAnd uintptr) int32 { /* return SQLITE_OK } -func fts5ExprNodeNext_AND(tls *libc.TLS, pExpr uintptr, pNode uintptr, bFromValid int32, iFrom I64) int32 { /* sqlite3.c:222452:12: */ +func fts5ExprNodeNext_AND(tls *libc.TLS, pExpr uintptr, pNode uintptr, bFromValid int32, iFrom I64) int32 { /* sqlite3.c:222509:12: */ var rc int32 = (*struct { f func(*libc.TLS, uintptr, uintptr, int32, I64) int32 })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExprNode)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pNode + 48 /* &.apChild */)))).FxNext})).f(tls, pExpr, *(*uintptr)(unsafe.Pointer(pNode + 48 /* &.apChild */)), bFromValid, iFrom) @@ -180241,7 +180272,7 @@ func fts5ExprNodeNext_AND(tls *libc.TLS, pExpr uintptr, pNode uintptr, bFromVali return rc } -func fts5ExprNodeTest_NOT(tls *libc.TLS, pExpr uintptr, pNode uintptr) int32 { /* sqlite3.c:222467:12: */ +func fts5ExprNodeTest_NOT(tls *libc.TLS, pExpr uintptr, pNode uintptr) int32 { /* sqlite3.c:222524:12: */ var rc int32 = SQLITE_OK var p1 uintptr = *(*uintptr)(unsafe.Pointer(pNode + 48)) var p2 uintptr = *(*uintptr)(unsafe.Pointer(pNode + 48 + 1*8)) @@ -180271,7 +180302,7 @@ func fts5ExprNodeTest_NOT(tls *libc.TLS, pExpr uintptr, pNode uintptr) int32 { / return rc } -func fts5ExprNodeNext_NOT(tls *libc.TLS, pExpr uintptr, pNode uintptr, bFromValid int32, iFrom I64) int32 { /* sqlite3.c:222495:12: */ +func fts5ExprNodeNext_NOT(tls *libc.TLS, pExpr uintptr, pNode uintptr, bFromValid int32, iFrom I64) int32 { /* sqlite3.c:222552:12: */ var rc int32 = (*struct { f func(*libc.TLS, uintptr, uintptr, int32, I64) int32 })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExprNode)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pNode + 48 /* &.apChild */)))).FxNext})).f(tls, pExpr, *(*uintptr)(unsafe.Pointer(pNode + 48 /* &.apChild */)), bFromValid, iFrom) @@ -180287,7 +180318,7 @@ func fts5ExprNodeNext_NOT(tls *libc.TLS, pExpr uintptr, pNode uintptr, bFromVali // If pNode currently points to a match, this function returns SQLITE_OK // without modifying it. Otherwise, pNode is advanced until it does point // to a match or EOF is reached. -func fts5ExprNodeTest(tls *libc.TLS, pExpr uintptr, pNode uintptr) int32 { /* sqlite3.c:222516:12: */ +func fts5ExprNodeTest(tls *libc.TLS, pExpr uintptr, pNode uintptr) int32 { /* sqlite3.c:222573:12: */ var rc int32 = SQLITE_OK if (*Fts5ExprNode)(unsafe.Pointer(pNode)).FbEof == 0 { switch (*Fts5ExprNode)(unsafe.Pointer(pNode)).FeType { @@ -180340,7 +180371,7 @@ func fts5ExprNodeTest(tls *libc.TLS, pExpr uintptr, pNode uintptr) int32 { /* sq // // Return an SQLite error code if an error occurs, or SQLITE_OK otherwise. // It is not an error if there are no matches. -func fts5ExprNodeFirst(tls *libc.TLS, pExpr uintptr, pNode uintptr) int32 { /* sqlite3.c:222561:12: */ +func fts5ExprNodeFirst(tls *libc.TLS, pExpr uintptr, pNode uintptr) int32 { /* sqlite3.c:222618:12: */ var rc int32 = SQLITE_OK (*Fts5ExprNode)(unsafe.Pointer(pNode)).FbEof = 0 (*Fts5ExprNode)(unsafe.Pointer(pNode)).FbNomatch = 0 @@ -180402,7 +180433,7 @@ func fts5ExprNodeFirst(tls *libc.TLS, pExpr uintptr, pNode uintptr) int32 { /* s // // Return SQLITE_OK if successful, or an SQLite error code otherwise. It // is not considered an error if the query does not match any documents. -func sqlite3Fts5ExprFirst(tls *libc.TLS, p uintptr, pIdx uintptr, iFirst I64, bDesc int32) int32 { /* sqlite3.c:222620:12: */ +func sqlite3Fts5ExprFirst(tls *libc.TLS, p uintptr, pIdx uintptr, iFirst I64, bDesc int32) int32 { /* sqlite3.c:222677:12: */ var pRoot uintptr = (*Fts5Expr)(unsafe.Pointer(p)).FpRoot var rc int32 // Return code @@ -180434,7 +180465,7 @@ func sqlite3Fts5ExprFirst(tls *libc.TLS, p uintptr, pIdx uintptr, iFirst I64, bD // // Return SQLITE_OK if successful, or an SQLite error code otherwise. It // is not considered an error if the query does not match any documents. -func sqlite3Fts5ExprNext(tls *libc.TLS, p uintptr, iLast I64) int32 { /* sqlite3.c:222651:12: */ +func sqlite3Fts5ExprNext(tls *libc.TLS, p uintptr, iLast I64) int32 { /* sqlite3.c:222708:12: */ var rc int32 var pRoot uintptr = (*Fts5Expr)(unsafe.Pointer(p)).FpRoot @@ -180450,15 +180481,15 @@ func sqlite3Fts5ExprNext(tls *libc.TLS, p uintptr, iLast I64) int32 { /* sqlite3 return rc } -func sqlite3Fts5ExprEof(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:222665:12: */ +func sqlite3Fts5ExprEof(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:222722:12: */ return (*Fts5ExprNode)(unsafe.Pointer((*Fts5Expr)(unsafe.Pointer(p)).FpRoot)).FbEof } -func sqlite3Fts5ExprRowid(tls *libc.TLS, p uintptr) I64 { /* sqlite3.c:222669:12: */ +func sqlite3Fts5ExprRowid(tls *libc.TLS, p uintptr) I64 { /* sqlite3.c:222726:12: */ return (*Fts5ExprNode)(unsafe.Pointer((*Fts5Expr)(unsafe.Pointer(p)).FpRoot)).FiRowid } -func fts5ParseStringFromToken(tls *libc.TLS, pToken uintptr, pz uintptr) int32 { /* sqlite3.c:222673:12: */ +func fts5ParseStringFromToken(tls *libc.TLS, pToken uintptr, pz uintptr) int32 { /* sqlite3.c:222730:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -180468,7 +180499,7 @@ func fts5ParseStringFromToken(tls *libc.TLS, pToken uintptr, pz uintptr) int32 { } // Free the phrase object passed as the only argument. -func fts5ExprPhraseFree(tls *libc.TLS, pPhrase uintptr) { /* sqlite3.c:222682:13: */ +func fts5ExprPhraseFree(tls *libc.TLS, pPhrase uintptr) { /* sqlite3.c:222739:13: */ if pPhrase != 0 { var i int32 for i = 0; i < (*Fts5ExprPhrase)(unsafe.Pointer(pPhrase)).FnTerm; i++ { @@ -180493,7 +180524,7 @@ func fts5ExprPhraseFree(tls *libc.TLS, pPhrase uintptr) { /* sqlite3.c:222682:13 // Set the "bFirst" flag on the first token of the phrase passed as the // only argument. -func sqlite3Fts5ParseSetCaret(tls *libc.TLS, pPhrase uintptr) { /* sqlite3.c:222707:13: */ +func sqlite3Fts5ParseSetCaret(tls *libc.TLS, pPhrase uintptr) { /* sqlite3.c:222764:13: */ if pPhrase != 0 && (*Fts5ExprPhrase)(unsafe.Pointer(pPhrase)).FnTerm != 0 { (*Fts5ExprTerm)(unsafe.Pointer(pPhrase + 32)).FbFirst = U8(1) } @@ -180505,7 +180536,7 @@ func sqlite3Fts5ParseSetCaret(tls *libc.TLS, pPhrase uintptr) { /* sqlite3.c:222 // // If an OOM error occurs, both the pNear and pPhrase objects are freed and // NULL returned. -func sqlite3Fts5ParseNearset(tls *libc.TLS, pParse uintptr, pNear uintptr, pPhrase uintptr) uintptr { /* sqlite3.c:222721:24: */ +func sqlite3Fts5ParseNearset(tls *libc.TLS, pParse uintptr, pNear uintptr, pPhrase uintptr) uintptr { /* sqlite3.c:222778:24: */ var SZALLOC int32 = 8 var pRet uintptr = uintptr(0) @@ -180565,12 +180596,12 @@ type TokenCtx1 = struct { FpPhrase uintptr Frc int32 F__ccgo_pad1 [4]byte -} /* sqlite3.c:222781:9 */ +} /* sqlite3.c:222838:9 */ -type TokenCtx = TokenCtx1 /* sqlite3.c:222781:25 */ +type TokenCtx = TokenCtx1 /* sqlite3.c:222838:25 */ // Callback for tokenizing terms used by ParseTerm(). -func fts5ParseTokenize(tls *libc.TLS, pContext uintptr, tflags int32, pToken uintptr, nToken int32, iUnused1 int32, iUnused2 int32) int32 { /* sqlite3.c:222790:12: */ +func fts5ParseTokenize(tls *libc.TLS, pContext uintptr, tflags int32, pToken uintptr, nToken int32, iUnused1 int32, iUnused2 int32) int32 { /* sqlite3.c:222847:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -180639,12 +180670,12 @@ func fts5ParseTokenize(tls *libc.TLS, pContext uintptr, tflags int32, pToken uin } // Free the phrase object passed as the only argument. -func sqlite3Fts5ParsePhraseFree(tls *libc.TLS, pPhrase uintptr) { /* sqlite3.c:222855:13: */ +func sqlite3Fts5ParsePhraseFree(tls *libc.TLS, pPhrase uintptr) { /* sqlite3.c:222912:13: */ fts5ExprPhraseFree(tls, pPhrase) } // Free the phrase object passed as the second argument. -func sqlite3Fts5ParseNearsetFree(tls *libc.TLS, pNear uintptr) { /* sqlite3.c:222862:13: */ +func sqlite3Fts5ParseNearsetFree(tls *libc.TLS, pNear uintptr) { /* sqlite3.c:222919:13: */ if pNear != 0 { var i int32 for i = 0; i < (*Fts5ExprNearset)(unsafe.Pointer(pNear)).FnPhrase; i++ { @@ -180655,12 +180686,12 @@ func sqlite3Fts5ParseNearsetFree(tls *libc.TLS, pNear uintptr) { /* sqlite3.c:22 } } -func sqlite3Fts5ParseFinished(tls *libc.TLS, pParse uintptr, p uintptr) { /* sqlite3.c:222873:13: */ +func sqlite3Fts5ParseFinished(tls *libc.TLS, pParse uintptr, p uintptr) { /* sqlite3.c:222930:13: */ (*Fts5Parse)(unsafe.Pointer(pParse)).FpExpr = p } -func parseGrowPhraseArray(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:222878:12: */ +func parseGrowPhraseArray(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:222935:12: */ if (*Fts5Parse)(unsafe.Pointer(pParse)).FnPhrase%8 == 0 { var nByte Sqlite3_int64 = Sqlite3_int64(uint64(unsafe.Sizeof(uintptr(0))) * uint64((*Fts5Parse)(unsafe.Pointer(pParse)).FnPhrase+8)) var apNew uintptr @@ -180677,7 +180708,7 @@ func parseGrowPhraseArray(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:22 // This function is called by the parser to process a string token. The // string may or may not be quoted. In any case it is tokenized and a // phrase object consisting of all tokens returned. -func sqlite3Fts5ParseTerm(tls *libc.TLS, pParse uintptr, pAppend uintptr, pToken uintptr, bPrefix int32) uintptr { /* sqlite3.c:222897:23: */ +func sqlite3Fts5ParseTerm(tls *libc.TLS, pParse uintptr, pAppend uintptr, pToken uintptr, bPrefix int32) uintptr { /* sqlite3.c:222954:23: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -180735,7 +180766,7 @@ func sqlite3Fts5ParseTerm(tls *libc.TLS, pParse uintptr, pAppend uintptr, pToken // Create a new FTS5 expression by cloning phrase iPhrase of the // expression passed as the second argument. -func sqlite3Fts5ExprClonePhrase(tls *libc.TLS, pExpr uintptr, iPhrase int32, ppNew uintptr) int32 { /* sqlite3.c:222951:12: */ +func sqlite3Fts5ExprClonePhrase(tls *libc.TLS, pExpr uintptr, iPhrase int32, ppNew uintptr) int32 { /* sqlite3.c:223008:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -180830,7 +180861,7 @@ func sqlite3Fts5ExprClonePhrase(tls *libc.TLS, pExpr uintptr, iPhrase int32, ppN // Token pTok has appeared in a MATCH expression where the NEAR operator // is expected. If token pTok does not contain "NEAR", store an error // in the pParse object. -func sqlite3Fts5ParseNear(tls *libc.TLS, pParse uintptr, pTok uintptr) { /* sqlite3.c:223047:13: */ +func sqlite3Fts5ParseNear(tls *libc.TLS, pParse uintptr, pTok uintptr) { /* sqlite3.c:223104:13: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -180840,7 +180871,7 @@ func sqlite3Fts5ParseNear(tls *libc.TLS, pParse uintptr, pTok uintptr) { /* sqli } } -func sqlite3Fts5ParseSetDistance(tls *libc.TLS, pParse uintptr, pNear uintptr, p uintptr) { /* sqlite3.c:223055:13: */ +func sqlite3Fts5ParseSetDistance(tls *libc.TLS, pParse uintptr, pNear uintptr, p uintptr) { /* sqlite3.c:223112:13: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -180871,7 +180902,7 @@ func sqlite3Fts5ParseSetDistance(tls *libc.TLS, pParse uintptr, pNear uintptr, p // // If an OOM error occurs, store an error code in pParse and return NULL. // The old colset object (if any) is not freed in this case. -func fts5ParseColset(tls *libc.TLS, pParse uintptr, p uintptr, iCol int32) uintptr { /* sqlite3.c:223090:19: */ +func fts5ParseColset(tls *libc.TLS, pParse uintptr, p uintptr, iCol int32) uintptr { /* sqlite3.c:223147:19: */ var nCol int32 if p != 0 { nCol = (*Fts5Colset)(unsafe.Pointer(p)).FnCol @@ -180909,7 +180940,7 @@ func fts5ParseColset(tls *libc.TLS, pParse uintptr, p uintptr, iCol int32) uintp // Allocate and return an Fts5Colset object specifying the inverse of // the colset passed as the second argument. Free the colset passed // as the second argument before returning. -func sqlite3Fts5ParseColsetInvert(tls *libc.TLS, pParse uintptr, p uintptr) uintptr { /* sqlite3.c:223131:19: */ +func sqlite3Fts5ParseColsetInvert(tls *libc.TLS, pParse uintptr, p uintptr) uintptr { /* sqlite3.c:223188:19: */ var pRet uintptr var nCol int32 = (*Fts5Config)(unsafe.Pointer((*Fts5Parse)(unsafe.Pointer(pParse)).FpConfig)).FnCol @@ -180931,7 +180962,7 @@ func sqlite3Fts5ParseColsetInvert(tls *libc.TLS, pParse uintptr, p uintptr) uint return pRet } -func sqlite3Fts5ParseColset(tls *libc.TLS, pParse uintptr, pColset uintptr, p uintptr) uintptr { /* sqlite3.c:223154:19: */ +func sqlite3Fts5ParseColset(tls *libc.TLS, pParse uintptr, pColset uintptr, p uintptr) uintptr { /* sqlite3.c:223211:19: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -180970,7 +181001,7 @@ func sqlite3Fts5ParseColset(tls *libc.TLS, pParse uintptr, pColset uintptr, p ui // Otherwise, a copy of (*pOrig) is made into memory obtained from // sqlite3Fts5MallocZero() and a pointer to it returned. If the allocation // fails, (*pRc) is set to SQLITE_NOMEM and NULL is returned. -func fts5CloneColset(tls *libc.TLS, pRc uintptr, pOrig uintptr) uintptr { /* sqlite3.c:223194:19: */ +func fts5CloneColset(tls *libc.TLS, pRc uintptr, pOrig uintptr) uintptr { /* sqlite3.c:223251:19: */ var pRet uintptr if pOrig != 0 { var nByte Sqlite3_int64 = Sqlite3_int64(uint64(unsafe.Sizeof(Fts5Colset{})) + uint64((*Fts5Colset)(unsafe.Pointer(pOrig)).FnCol-1)*uint64(unsafe.Sizeof(int32(0)))) @@ -180985,7 +181016,7 @@ func fts5CloneColset(tls *libc.TLS, pRc uintptr, pOrig uintptr) uintptr { /* sql } // Remove from colset pColset any columns that are not also in colset pMerge. -func fts5MergeColset(tls *libc.TLS, pColset uintptr, pMerge uintptr) { /* sqlite3.c:223211:13: */ +func fts5MergeColset(tls *libc.TLS, pColset uintptr, pMerge uintptr) { /* sqlite3.c:223268:13: */ var iIn int32 = 0 // Next input in pColset var iMerge int32 = 0 // Next input in pMerge var iOut int32 = 0 // Next output slot in pColset @@ -181009,7 +181040,7 @@ func fts5MergeColset(tls *libc.TLS, pColset uintptr, pMerge uintptr) { /* sqlite // its decendents. If (*ppFree) is not NULL, it contains a spare copy // of pColset. This function may use the spare copy and set (*ppFree) to // zero, or it may create copies of pColset using fts5CloneColset(). -func fts5ParseSetColset(tls *libc.TLS, pParse uintptr, pNode uintptr, pColset uintptr, ppFree uintptr) { /* sqlite3.c:223237:13: */ +func fts5ParseSetColset(tls *libc.TLS, pParse uintptr, pNode uintptr, pColset uintptr, ppFree uintptr) { /* sqlite3.c:223294:13: */ if (*Fts5Parse)(unsafe.Pointer(pParse)).Frc == SQLITE_OK { if (*Fts5ExprNode)(unsafe.Pointer(pNode)).FeType == FTS5_STRING || (*Fts5ExprNode)(unsafe.Pointer(pNode)).FeType == FTS5_TERM { @@ -181037,7 +181068,7 @@ func fts5ParseSetColset(tls *libc.TLS, pParse uintptr, pNode uintptr, pColset ui } // Apply colset pColset to expression node pExpr and all of its descendents. -func sqlite3Fts5ParseSetColset(tls *libc.TLS, pParse uintptr, pExpr uintptr, pColset uintptr) { /* sqlite3.c:223275:13: */ +func sqlite3Fts5ParseSetColset(tls *libc.TLS, pParse uintptr, pExpr uintptr, pColset uintptr) { /* sqlite3.c:223332:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -181051,7 +181082,7 @@ func sqlite3Fts5ParseSetColset(tls *libc.TLS, pParse uintptr, pExpr uintptr, pCo Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp /* pFree */))) } -func fts5ExprAssignXNext(tls *libc.TLS, pNode uintptr) { /* sqlite3.c:223291:13: */ +func fts5ExprAssignXNext(tls *libc.TLS, pNode uintptr) { /* sqlite3.c:223348:13: */ switch (*Fts5ExprNode)(unsafe.Pointer(pNode)).FeType { case FTS5_STRING: { @@ -181102,7 +181133,7 @@ func fts5ExprAssignXNext(tls *libc.TLS, pNode uintptr) { /* sqlite3.c:223291:13: } } -func fts5ExprAddChildren(tls *libc.TLS, p uintptr, pSub uintptr) { /* sqlite3.c:223324:13: */ +func fts5ExprAddChildren(tls *libc.TLS, p uintptr, pSub uintptr) { /* sqlite3.c:223381:13: */ if (*Fts5ExprNode)(unsafe.Pointer(p)).FeType != FTS5_NOT && (*Fts5ExprNode)(unsafe.Pointer(pSub)).FeType == (*Fts5ExprNode)(unsafe.Pointer(p)).FeType { var nByte int32 = int32(uint64(unsafe.Sizeof(uintptr(0))) * uint64((*Fts5ExprNode)(unsafe.Pointer(pSub)).FnChild)) libc.Xmemcpy(tls, p+48+uintptr((*Fts5ExprNode)(unsafe.Pointer(p)).FnChild)*8, pSub+48, uint64(nByte)) @@ -181122,7 +181153,7 @@ func fts5ExprAddChildren(tls *libc.TLS, p uintptr, pSub uintptr) { /* sqlite3.c: // into an AND tree: // // abc AND def AND ghi -func fts5ParsePhraseToAnd(tls *libc.TLS, pParse uintptr, pNear uintptr) uintptr { /* sqlite3.c:223346:21: */ +func fts5ParsePhraseToAnd(tls *libc.TLS, pParse uintptr, pNear uintptr) uintptr { /* sqlite3.c:223403:21: */ var nTerm int32 = (*Fts5ExprPhrase)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pNear + 24)))).FnTerm var ii int32 var nByte int32 @@ -181165,7 +181196,7 @@ func fts5ParsePhraseToAnd(tls *libc.TLS, pParse uintptr, pNear uintptr) uintptr // Allocate and return a new expression object. If anything goes wrong (i.e. // OOM error), leave an error code in pParse and return NULL. -func sqlite3Fts5ParseNode(tls *libc.TLS, pParse uintptr, eType int32, pLeft uintptr, pRight uintptr, pNear uintptr) uintptr { /* sqlite3.c:223400:21: */ +func sqlite3Fts5ParseNode(tls *libc.TLS, pParse uintptr, eType int32, pLeft uintptr, pRight uintptr, pNear uintptr) uintptr { /* sqlite3.c:223457:21: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -181253,7 +181284,7 @@ func sqlite3Fts5ParseNode(tls *libc.TLS, pParse uintptr, eType int32, pLeft uint return pRet } -func sqlite3Fts5ParseImplicitAnd(tls *libc.TLS, pParse uintptr, pLeft uintptr, pRight uintptr) uintptr { /* sqlite3.c:223482:21: */ +func sqlite3Fts5ParseImplicitAnd(tls *libc.TLS, pParse uintptr, pLeft uintptr, pRight uintptr) uintptr { /* sqlite3.c:223539:21: */ var pRet uintptr = uintptr(0) var pPrev uintptr @@ -181299,7 +181330,7 @@ func sqlite3Fts5ParseImplicitAnd(tls *libc.TLS, pParse uintptr, pLeft uintptr, p // This is called during initialization to register the fts5_expr() scalar // UDF with the SQLite handle passed as the only argument. -func sqlite3Fts5ExprInit(tls *libc.TLS, pGlobal uintptr, db uintptr) int32 { /* sqlite3.c:223919:12: */ +func sqlite3Fts5ExprInit(tls *libc.TLS, pGlobal uintptr, db uintptr) int32 { /* sqlite3.c:223976:12: */ var rc int32 = SQLITE_OK _ = pGlobal _ = db @@ -181312,7 +181343,7 @@ func sqlite3Fts5ExprInit(tls *libc.TLS, pGlobal uintptr, db uintptr) int32 { /* } // Return the number of phrases in expression pExpr. -func sqlite3Fts5ExprPhraseCount(tls *libc.TLS, pExpr uintptr) int32 { /* sqlite3.c:223956:12: */ +func sqlite3Fts5ExprPhraseCount(tls *libc.TLS, pExpr uintptr) int32 { /* sqlite3.c:224013:12: */ return func() int32 { if pExpr != 0 { return (*Fts5Expr)(unsafe.Pointer(pExpr)).FnPhrase @@ -181322,7 +181353,7 @@ func sqlite3Fts5ExprPhraseCount(tls *libc.TLS, pExpr uintptr) int32 { /* sqlite3 } // Return the number of terms in the iPhrase'th phrase in pExpr. -func sqlite3Fts5ExprPhraseSize(tls *libc.TLS, pExpr uintptr, iPhrase int32) int32 { /* sqlite3.c:223963:12: */ +func sqlite3Fts5ExprPhraseSize(tls *libc.TLS, pExpr uintptr, iPhrase int32) int32 { /* sqlite3.c:224020:12: */ if iPhrase < 0 || iPhrase >= (*Fts5Expr)(unsafe.Pointer(pExpr)).FnPhrase { return 0 } @@ -181331,7 +181362,7 @@ func sqlite3Fts5ExprPhraseSize(tls *libc.TLS, pExpr uintptr, iPhrase int32) int3 // This function is used to access the current position list for phrase // iPhrase. -func sqlite3Fts5ExprPoslist(tls *libc.TLS, pExpr uintptr, iPhrase int32, pa uintptr) int32 { /* sqlite3.c:223972:12: */ +func sqlite3Fts5ExprPoslist(tls *libc.TLS, pExpr uintptr, iPhrase int32, pa uintptr) int32 { /* sqlite3.c:224029:12: */ var nRet int32 var pPhrase uintptr = *(*uintptr)(unsafe.Pointer((*Fts5Expr)(unsafe.Pointer(pExpr)).FapExprPhrase + uintptr(iPhrase)*8)) var pNode uintptr = (*Fts5ExprPhrase)(unsafe.Pointer(pPhrase)).FpNode @@ -181352,7 +181383,7 @@ func sqlite3Fts5ExprPoslist(tls *libc.TLS, pExpr uintptr, iPhrase int32, pa uint // At present this function is only used for detail=col and detail=none // fts5 tables. This implies that all phrases must be at most 1 token // in size, as phrase matches are not supported without detail=full. -func sqlite3Fts5ExprClearPoslists(tls *libc.TLS, pExpr uintptr, bLive int32) uintptr { /* sqlite3.c:224001:29: */ +func sqlite3Fts5ExprClearPoslists(tls *libc.TLS, pExpr uintptr, bLive int32) uintptr { /* sqlite3.c:224058:29: */ var pRet uintptr pRet = Xsqlite3_malloc64(tls, uint64(uint64(unsafe.Sizeof(Fts5PoslistPopulator{}))*uint64((*Fts5Expr)(unsafe.Pointer(pExpr)).FnPhrase))) if pRet != 0 { @@ -181376,12 +181407,12 @@ type Fts5ExprCtx1 = struct { FpExpr uintptr FaPopulator uintptr FiOff I64 -} /* sqlite3.c:224023:1 */ +} /* sqlite3.c:224080:1 */ -type Fts5ExprCtx = Fts5ExprCtx1 /* sqlite3.c:224028:28 */ +type Fts5ExprCtx = Fts5ExprCtx1 /* sqlite3.c:224085:28 */ // TODO: Make this more efficient! -func fts5ExprColsetTest(tls *libc.TLS, pColset uintptr, iCol int32) int32 { /* sqlite3.c:224033:12: */ +func fts5ExprColsetTest(tls *libc.TLS, pColset uintptr, iCol int32) int32 { /* sqlite3.c:224090:12: */ var i int32 for i = 0; i < (*Fts5Colset)(unsafe.Pointer(pColset)).FnCol; i++ { if *(*int32)(unsafe.Pointer(pColset + 4 + uintptr(i)*4)) == iCol { @@ -181391,7 +181422,7 @@ func fts5ExprColsetTest(tls *libc.TLS, pColset uintptr, iCol int32) int32 { /* s return 0 } -func fts5ExprPopulatePoslistsCb(tls *libc.TLS, pCtx uintptr, tflags int32, pToken uintptr, nToken int32, iUnused1 int32, iUnused2 int32) int32 { /* sqlite3.c:224041:12: */ +func fts5ExprPopulatePoslistsCb(tls *libc.TLS, pCtx uintptr, tflags int32, pToken uintptr, nToken int32, iUnused1 int32, iUnused2 int32) int32 { /* sqlite3.c:224098:12: */ var p uintptr = pCtx var pExpr uintptr = (*Fts5ExprCtx)(unsafe.Pointer(p)).FpExpr var i int32 @@ -181426,7 +181457,7 @@ func fts5ExprPopulatePoslistsCb(tls *libc.TLS, pCtx uintptr, tflags int32, pToke return SQLITE_OK } -func sqlite3Fts5ExprPopulatePoslists(tls *libc.TLS, pConfig uintptr, pExpr uintptr, aPopulator uintptr, iCol int32, z uintptr, n int32) int32 { /* sqlite3.c:224076:12: */ +func sqlite3Fts5ExprPopulatePoslists(tls *libc.TLS, pConfig uintptr, pExpr uintptr, aPopulator uintptr, iCol int32, z uintptr, n int32) int32 { /* sqlite3.c:224133:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -181454,7 +181485,7 @@ func sqlite3Fts5ExprPopulatePoslists(tls *libc.TLS, pConfig uintptr, pExpr uintp }{fts5ExprPopulatePoslistsCb}))) } -func fts5ExprClearPoslists(tls *libc.TLS, pNode uintptr) { /* sqlite3.c:224106:13: */ +func fts5ExprClearPoslists(tls *libc.TLS, pNode uintptr) { /* sqlite3.c:224163:13: */ if (*Fts5ExprNode)(unsafe.Pointer(pNode)).FeType == FTS5_TERM || (*Fts5ExprNode)(unsafe.Pointer(pNode)).FeType == FTS5_STRING { (*Fts5ExprPhrase)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer((*Fts5ExprNode)(unsafe.Pointer(pNode)).FpNear + 24)))).Fposlist.Fn = 0 } else { @@ -181465,7 +181496,7 @@ func fts5ExprClearPoslists(tls *libc.TLS, pNode uintptr) { /* sqlite3.c:224106:1 } } -func fts5ExprCheckPoslists(tls *libc.TLS, pNode uintptr, iRowid I64) int32 { /* sqlite3.c:224117:12: */ +func fts5ExprCheckPoslists(tls *libc.TLS, pNode uintptr, iRowid I64) int32 { /* sqlite3.c:224174:12: */ (*Fts5ExprNode)(unsafe.Pointer(pNode)).FiRowid = iRowid (*Fts5ExprNode)(unsafe.Pointer(pNode)).FbEof = 0 switch (*Fts5ExprNode)(unsafe.Pointer(pNode)).FeType { @@ -181515,12 +181546,12 @@ func fts5ExprCheckPoslists(tls *libc.TLS, pNode uintptr, iRowid I64) int32 { /* return 1 } -func sqlite3Fts5ExprCheckPoslists(tls *libc.TLS, pExpr uintptr, iRowid I64) { /* sqlite3.c:224161:13: */ +func sqlite3Fts5ExprCheckPoslists(tls *libc.TLS, pExpr uintptr, iRowid I64) { /* sqlite3.c:224218:13: */ fts5ExprCheckPoslists(tls, (*Fts5Expr)(unsafe.Pointer(pExpr)).FpRoot, iRowid) } // This function is only called for detail=columns tables. -func sqlite3Fts5ExprPhraseCollist(tls *libc.TLS, pExpr uintptr, iPhrase int32, ppCollist uintptr, pnCollist uintptr) int32 { /* sqlite3.c:224168:12: */ +func sqlite3Fts5ExprPhraseCollist(tls *libc.TLS, pExpr uintptr, iPhrase int32, ppCollist uintptr, pnCollist uintptr) int32 { /* sqlite3.c:224225:12: */ var pPhrase uintptr = *(*uintptr)(unsafe.Pointer((*Fts5Expr)(unsafe.Pointer(pExpr)).FapExprPhrase + uintptr(iPhrase)*8)) var pNode uintptr = (*Fts5ExprPhrase)(unsafe.Pointer(pPhrase)).FpNode var rc int32 = SQLITE_OK @@ -181571,7 +181602,7 @@ type Fts5HashEntry1 = struct { FiCol I16 FiPos int32 FiRowid I64 -} /* sqlite3.c:216813:9 */ +} /* sqlite3.c:216870:9 */ // 2014 August 11 // @@ -181587,14 +181618,14 @@ type Fts5HashEntry1 = struct { // #include "fts5Int.h" -type Fts5HashEntry = Fts5HashEntry1 /* sqlite3.c:224221:30 */ +type Fts5HashEntry = Fts5HashEntry1 /* sqlite3.c:224278:30 */ // Eqivalent to: // // char *fts5EntryKey(Fts5HashEntry *pEntry){ return zKey; } // Allocate a new hash table. -func sqlite3Fts5HashNew(tls *libc.TLS, pConfig uintptr, ppNew uintptr, pnByte uintptr) int32 { /* sqlite3.c:224287:12: */ +func sqlite3Fts5HashNew(tls *libc.TLS, pConfig uintptr, ppNew uintptr, pnByte uintptr) int32 { /* sqlite3.c:224344:12: */ var rc int32 = SQLITE_OK var pNew uintptr @@ -181622,7 +181653,7 @@ func sqlite3Fts5HashNew(tls *libc.TLS, pConfig uintptr, ppNew uintptr, pnByte ui } // Free a hash table object. -func sqlite3Fts5HashFree(tls *libc.TLS, pHash uintptr) { /* sqlite3.c:224317:13: */ +func sqlite3Fts5HashFree(tls *libc.TLS, pHash uintptr) { /* sqlite3.c:224374:13: */ if pHash != 0 { sqlite3Fts5HashClear(tls, pHash) Xsqlite3_free(tls, (*Fts5Hash)(unsafe.Pointer(pHash)).FaSlot) @@ -181631,7 +181662,7 @@ func sqlite3Fts5HashFree(tls *libc.TLS, pHash uintptr) { /* sqlite3.c:224317:13: } // Empty (but do not delete) a hash table. -func sqlite3Fts5HashClear(tls *libc.TLS, pHash uintptr) { /* sqlite3.c:224328:13: */ +func sqlite3Fts5HashClear(tls *libc.TLS, pHash uintptr) { /* sqlite3.c:224385:13: */ var i int32 for i = 0; i < (*Fts5Hash)(unsafe.Pointer(pHash)).FnSlot; i++ { var pNext uintptr @@ -181645,7 +181676,7 @@ func sqlite3Fts5HashClear(tls *libc.TLS, pHash uintptr) { /* sqlite3.c:224328:13 (*Fts5Hash)(unsafe.Pointer(pHash)).FnEntry = 0 } -func fts5HashKey(tls *libc.TLS, nSlot int32, p uintptr, n int32) uint32 { /* sqlite3.c:224342:21: */ +func fts5HashKey(tls *libc.TLS, nSlot int32, p uintptr, n int32) uint32 { /* sqlite3.c:224399:21: */ var i int32 var h uint32 = uint32(13) for i = n - 1; i >= 0; i-- { @@ -181654,7 +181685,7 @@ func fts5HashKey(tls *libc.TLS, nSlot int32, p uintptr, n int32) uint32 { /* sql return h % uint32(nSlot) } -func fts5HashKey2(tls *libc.TLS, nSlot int32, b U8, p uintptr, n int32) uint32 { /* sqlite3.c:224351:21: */ +func fts5HashKey2(tls *libc.TLS, nSlot int32, b U8, p uintptr, n int32) uint32 { /* sqlite3.c:224408:21: */ var i int32 var h uint32 = uint32(13) for i = n - 1; i >= 0; i-- { @@ -181665,7 +181696,7 @@ func fts5HashKey2(tls *libc.TLS, nSlot int32, b U8, p uintptr, n int32) uint32 { } // Resize the hash table by doubling the number of slots. -func fts5HashResize(tls *libc.TLS, pHash uintptr) int32 { /* sqlite3.c:224364:12: */ +func fts5HashResize(tls *libc.TLS, pHash uintptr) int32 { /* sqlite3.c:224421:12: */ var nNew int32 = (*Fts5Hash)(unsafe.Pointer(pHash)).FnSlot * 2 var i int32 var apNew uintptr @@ -181695,7 +181726,7 @@ func fts5HashResize(tls *libc.TLS, pHash uintptr) int32 { /* sqlite3.c:224364:12 return SQLITE_OK } -func fts5HashAddPoslistSize(tls *libc.TLS, pHash uintptr, p uintptr, p2 uintptr) int32 { /* sqlite3.c:224392:12: */ +func fts5HashAddPoslistSize(tls *libc.TLS, pHash uintptr, p uintptr, p2 uintptr) int32 { /* sqlite3.c:224449:12: */ var nRet int32 = 0 if (*Fts5HashEntry)(unsafe.Pointer(p)).FiSzPoslist != 0 { var pPtr uintptr @@ -181744,7 +181775,7 @@ func fts5HashAddPoslistSize(tls *libc.TLS, pHash uintptr, p uintptr, p2 uintptr) // (bByte || pToken) -> (iRowid,iCol,iPos) // // Or, if iCol is negative, then the value is a delete marker. -func sqlite3Fts5HashWrite(tls *libc.TLS, pHash uintptr, iRowid I64, iCol int32, iPos int32, bByte uint8, pToken uintptr, nToken int32) int32 { /* sqlite3.c:224443:12: */ +func sqlite3Fts5HashWrite(tls *libc.TLS, pHash uintptr, iRowid I64, iCol int32, iPos int32, bByte uint8, pToken uintptr, nToken int32) int32 { /* sqlite3.c:224500:12: */ var iHash uint32 var p uintptr var pPtr uintptr @@ -181903,7 +181934,7 @@ func sqlite3Fts5HashWrite(tls *libc.TLS, pHash uintptr, iRowid I64, iCol int32, // Arguments pLeft and pRight point to linked-lists of hash-entry objects, // each sorted in key order. This function merges the two lists into a // single list and returns a pointer to its first element. -func fts5HashEntryMerge(tls *libc.TLS, pLeft uintptr, pRight uintptr) uintptr { /* sqlite3.c:224596:22: */ +func fts5HashEntryMerge(tls *libc.TLS, pLeft uintptr, pRight uintptr) uintptr { /* sqlite3.c:224653:22: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -181949,7 +181980,7 @@ func fts5HashEntryMerge(tls *libc.TLS, pLeft uintptr, pRight uintptr) uintptr { // in sorted order. The hash table is cleared before returning. It is // the responsibility of the caller to free the elements of the returned // list. -func fts5HashEntrySort(tls *libc.TLS, pHash uintptr, pTerm uintptr, nTerm int32, ppSorted uintptr) int32 { /* sqlite3.c:224642:12: */ +func fts5HashEntrySort(tls *libc.TLS, pHash uintptr, pTerm uintptr, nTerm int32, ppSorted uintptr) int32 { /* sqlite3.c:224699:12: */ var nMergeSlot int32 = 32 var ap uintptr var pList uintptr @@ -181991,7 +182022,7 @@ func fts5HashEntrySort(tls *libc.TLS, pHash uintptr, pTerm uintptr, nTerm int32, } // Query the hash table for a doclist associated with term pTerm/nTerm. -func sqlite3Fts5HashQuery(tls *libc.TLS, pHash uintptr, nPre int32, pTerm uintptr, nTerm int32, ppOut uintptr, pnDoclist uintptr) int32 { /* sqlite3.c:224689:12: */ +func sqlite3Fts5HashQuery(tls *libc.TLS, pHash uintptr, nPre int32, pTerm uintptr, nTerm int32, ppOut uintptr, pnDoclist uintptr) int32 { /* sqlite3.c:224746:12: */ var iHash uint32 = fts5HashKey(tls, (*Fts5Hash)(unsafe.Pointer(pHash)).FnSlot, pTerm, nTerm) var zKey uintptr = uintptr(0) var p uintptr @@ -182025,20 +182056,20 @@ func sqlite3Fts5HashQuery(tls *libc.TLS, pHash uintptr, nPre int32, pTerm uintpt return SQLITE_OK } -func sqlite3Fts5HashScanInit(tls *libc.TLS, p uintptr, pTerm uintptr, nTerm int32) int32 { /* sqlite3.c:224727:12: */ +func sqlite3Fts5HashScanInit(tls *libc.TLS, p uintptr, pTerm uintptr, nTerm int32) int32 { /* sqlite3.c:224784:12: */ return fts5HashEntrySort(tls, p, pTerm, nTerm, p+24) } -func sqlite3Fts5HashScanNext(tls *libc.TLS, p uintptr) { /* sqlite3.c:224734:13: */ +func sqlite3Fts5HashScanNext(tls *libc.TLS, p uintptr) { /* sqlite3.c:224791:13: */ (*Fts5Hash)(unsafe.Pointer(p)).FpScan = (*Fts5HashEntry)(unsafe.Pointer((*Fts5Hash)(unsafe.Pointer(p)).FpScan)).FpScanNext } -func sqlite3Fts5HashScanEof(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:224739:12: */ +func sqlite3Fts5HashScanEof(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:224796:12: */ return libc.Bool32((*Fts5Hash)(unsafe.Pointer(p)).FpScan == uintptr(0)) } -func sqlite3Fts5HashScanEntry(tls *libc.TLS, pHash uintptr, pzTerm uintptr, ppDoclist uintptr, pnDoclist uintptr) { /* sqlite3.c:224743:13: */ +func sqlite3Fts5HashScanEntry(tls *libc.TLS, pHash uintptr, pzTerm uintptr, ppDoclist uintptr, pnDoclist uintptr) { /* sqlite3.c:224800:13: */ var p uintptr if libc.AssignUintptr(&p, (*Fts5Hash)(unsafe.Pointer(pHash)).FpScan) != 0 { var zKey uintptr = p + 1*48 @@ -182264,7 +182295,7 @@ type Fts5Data1 = struct { Fp uintptr Fnn int32 FszLeaf int32 -} /* sqlite3.c:225018:9 */ +} /* sqlite3.c:225075:9 */ // 2014 May 31 // @@ -182472,14 +182503,14 @@ type Fts5Data1 = struct { // many zero bytes. This makes it easier to decode the various record formats // without overreading if the records are corrupt. -type Fts5Data = Fts5Data1 /* sqlite3.c:225018:25 */ +type Fts5Data = Fts5Data1 /* sqlite3.c:225075:25 */ type Fts5DlidxIter1 = struct { FnLvl int32 FiSegid int32 FaLvl [1]Fts5DlidxLvl -} /* sqlite3.c:225019:9 */ +} /* sqlite3.c:225076:9 */ -type Fts5DlidxIter = Fts5DlidxIter1 /* sqlite3.c:225019:30 */ +type Fts5DlidxIter = Fts5DlidxIter1 /* sqlite3.c:225076:30 */ type Fts5DlidxLvl1 = struct { FpData uintptr FiOff int32 @@ -182487,17 +182518,17 @@ type Fts5DlidxLvl1 = struct { FiFirstOff int32 FiLeafPgno int32 FiRowid I64 -} /* sqlite3.c:225019:9 */ +} /* sqlite3.c:225076:9 */ -type Fts5DlidxLvl = Fts5DlidxLvl1 /* sqlite3.c:225020:29 */ +type Fts5DlidxLvl = Fts5DlidxLvl1 /* sqlite3.c:225077:29 */ type Fts5DlidxWriter1 = struct { Fpgno int32 FbPrevValid int32 FiPrev I64 Fbuf Fts5Buffer -} /* sqlite3.c:225021:9 */ +} /* sqlite3.c:225078:9 */ -type Fts5DlidxWriter = Fts5DlidxWriter1 /* sqlite3.c:225021:32 */ +type Fts5DlidxWriter = Fts5DlidxWriter1 /* sqlite3.c:225078:32 */ type Fts5Iter1 = struct { Fbase Fts5IndexIter FpIndex uintptr @@ -182511,18 +182542,18 @@ type Fts5Iter1 = struct { FiSwitchRowid I64 FaFirst uintptr FaSeg [1]Fts5SegIter -} /* sqlite3.c:225022:9 */ +} /* sqlite3.c:225079:9 */ -type Fts5Iter = Fts5Iter1 /* sqlite3.c:225022:25 */ +type Fts5Iter = Fts5Iter1 /* sqlite3.c:225079:25 */ type Fts5PageWriter1 = struct { Fpgno int32 FiPrevPgidx int32 Fbuf Fts5Buffer Fpgidx Fts5Buffer Fterm Fts5Buffer -} /* sqlite3.c:225023:9 */ +} /* sqlite3.c:225080:9 */ -type Fts5PageWriter = Fts5PageWriter1 /* sqlite3.c:225023:31 */ +type Fts5PageWriter = Fts5PageWriter1 /* sqlite3.c:225080:31 */ type Fts5SegIter1 = struct { FpSeg uintptr Fflags int32 @@ -182544,18 +182575,18 @@ type Fts5SegIter1 = struct { FnPos int32 FbDel U8 F__ccgo_pad1 [3]byte -} /* sqlite3.c:225022:9 */ +} /* sqlite3.c:225079:9 */ -type Fts5SegIter = Fts5SegIter1 /* sqlite3.c:225024:28 */ +type Fts5SegIter = Fts5SegIter1 /* sqlite3.c:225081:28 */ type Fts5DoclistIter1 = struct { FaEof uintptr FiRowid I64 FaPoslist uintptr FnPoslist int32 FnSize int32 -} /* sqlite3.c:225025:9 */ +} /* sqlite3.c:225082:9 */ -type Fts5DoclistIter = Fts5DoclistIter1 /* sqlite3.c:225025:32 */ +type Fts5DoclistIter = Fts5DoclistIter1 /* sqlite3.c:225082:32 */ type Fts5SegWriter1 = struct { FiSegid int32 F__ccgo_pad1 [4]byte @@ -182572,9 +182603,9 @@ type Fts5SegWriter1 = struct { Fbtterm Fts5Buffer FiBtPage int32 F__ccgo_pad3 [4]byte -} /* sqlite3.c:225026:9 */ +} /* sqlite3.c:225083:9 */ -type Fts5SegWriter = Fts5SegWriter1 /* sqlite3.c:225026:30 */ +type Fts5SegWriter = Fts5SegWriter1 /* sqlite3.c:225083:30 */ type Fts5Structure1 = struct { FnRef int32 F__ccgo_pad1 [4]byte @@ -182582,38 +182613,38 @@ type Fts5Structure1 = struct { FnSegment int32 FnLevel int32 FaLevel [1]Fts5StructureLevel -} /* sqlite3.c:216813:9 */ +} /* sqlite3.c:216870:9 */ -type Fts5Structure = Fts5Structure1 /* sqlite3.c:225027:30 */ +type Fts5Structure = Fts5Structure1 /* sqlite3.c:225084:30 */ type Fts5StructureLevel1 = struct { FnMerge int32 FnSeg int32 FaSeg uintptr -} /* sqlite3.c:216813:9 */ +} /* sqlite3.c:216870:9 */ -type Fts5StructureLevel = Fts5StructureLevel1 /* sqlite3.c:225028:35 */ +type Fts5StructureLevel = Fts5StructureLevel1 /* sqlite3.c:225085:35 */ type Fts5StructureSegment1 = struct { FiSegid int32 FpgnoFirst int32 FpgnoLast int32 -} /* sqlite3.c:216813:9 */ +} /* sqlite3.c:216870:9 */ -type Fts5StructureSegment = Fts5StructureSegment1 /* sqlite3.c:225029:37 */ +type Fts5StructureSegment = Fts5StructureSegment1 /* sqlite3.c:225086:37 */ type Fts5CResult1 = struct { FiFirst U16 FbTermEq U8 F__ccgo_pad1 [1]byte -} /* sqlite3.c:225022:9 */ +} /* sqlite3.c:225079:9 */ -type Fts5CResult = Fts5CResult1 /* sqlite3.c:225139:28 */ +type Fts5CResult = Fts5CResult1 /* sqlite3.c:225196:28 */ -func fts5PutU16(tls *libc.TLS, aOut uintptr, iVal U16) { /* sqlite3.c:225318:13: */ +func fts5PutU16(tls *libc.TLS, aOut uintptr, iVal U16) { /* sqlite3.c:225375:13: */ *(*U8)(unsafe.Pointer(aOut)) = U8(int32(iVal) >> 8) *(*U8)(unsafe.Pointer(aOut + 1)) = U8(int32(iVal) & 0xFF) } -func fts5GetU16(tls *libc.TLS, aIn uintptr) U16 { /* sqlite3.c:225323:12: */ +func fts5GetU16(tls *libc.TLS, aIn uintptr) U16 { /* sqlite3.c:225380:12: */ return U16(int32(U16(*(*U8)(unsafe.Pointer(aIn))))<<8 + int32(*(*U8)(unsafe.Pointer(aIn + 1)))) } @@ -182621,7 +182652,7 @@ func fts5GetU16(tls *libc.TLS, aIn uintptr) U16 { /* sqlite3.c:225323:12: */ // // If an OOM error is encountered, return NULL and set the error code in // the Fts5Index handle passed as the first argument. -func fts5IdxMalloc(tls *libc.TLS, p uintptr, nByte Sqlite3_int64) uintptr { /* sqlite3.c:225333:13: */ +func fts5IdxMalloc(tls *libc.TLS, p uintptr, nByte Sqlite3_int64) uintptr { /* sqlite3.c:225390:13: */ return sqlite3Fts5MallocZero(tls, p+52, nByte) } @@ -182639,7 +182670,7 @@ func fts5IdxMalloc(tls *libc.TLS, p uintptr, nByte Sqlite3_int64) uintptr { /* s // +ve if pRight is smaller than pLeft. In other words: // // res = *pLeft - *pRight -func fts5BufferCompare(tls *libc.TLS, pLeft uintptr, pRight uintptr) int32 { /* sqlite3.c:225365:12: */ +func fts5BufferCompare(tls *libc.TLS, pLeft uintptr, pRight uintptr) int32 { /* sqlite3.c:225422:12: */ var nCmp int32 var res int32 nCmp = func() int32 { @@ -182663,7 +182694,7 @@ func fts5BufferCompare(tls *libc.TLS, pLeft uintptr, pRight uintptr) int32 { /* }() } -func fts5LeafFirstTermOff(tls *libc.TLS, pLeaf uintptr) int32 { /* sqlite3.c:225374:12: */ +func fts5LeafFirstTermOff(tls *libc.TLS, pLeaf uintptr) int32 { /* sqlite3.c:225431:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -182674,7 +182705,7 @@ func fts5LeafFirstTermOff(tls *libc.TLS, pLeaf uintptr) int32 { /* sqlite3.c:225 } // Close the read-only blob handle, if it is open. -func sqlite3Fts5IndexCloseReader(tls *libc.TLS, p uintptr) { /* sqlite3.c:225383:13: */ +func sqlite3Fts5IndexCloseReader(tls *libc.TLS, p uintptr) { /* sqlite3.c:225440:13: */ if (*Fts5Index)(unsafe.Pointer(p)).FpReader != 0 { var pReader uintptr = (*Fts5Index)(unsafe.Pointer(p)).FpReader (*Fts5Index)(unsafe.Pointer(p)).FpReader = uintptr(0) @@ -182686,7 +182717,7 @@ func sqlite3Fts5IndexCloseReader(tls *libc.TLS, p uintptr) { /* sqlite3.c:225383 // // If an error occurs, NULL is returned and an error left in the // Fts5Index object. -func fts5DataRead(tls *libc.TLS, p uintptr, iRowid I64) uintptr { /* sqlite3.c:225397:17: */ +func fts5DataRead(tls *libc.TLS, p uintptr, iRowid I64) uintptr { /* sqlite3.c:225454:17: */ var pRet uintptr = uintptr(0) if (*Fts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK { var rc int32 = SQLITE_OK @@ -182759,11 +182790,11 @@ func fts5DataRead(tls *libc.TLS, p uintptr, iRowid I64) uintptr { /* sqlite3.c:2 // Release a reference to data record returned by an earlier call to // fts5DataRead(). -func fts5DataRelease(tls *libc.TLS, pData uintptr) { /* sqlite3.c:225471:13: */ +func fts5DataRelease(tls *libc.TLS, pData uintptr) { /* sqlite3.c:225528:13: */ Xsqlite3_free(tls, pData) } -func fts5LeafRead(tls *libc.TLS, p uintptr, iRowid I64) uintptr { /* sqlite3.c:225475:17: */ +func fts5LeafRead(tls *libc.TLS, p uintptr, iRowid I64) uintptr { /* sqlite3.c:225532:17: */ var pRet uintptr = fts5DataRead(tls, p, iRowid) if pRet != 0 { if (*Fts5Data)(unsafe.Pointer(pRet)).Fnn < 4 || (*Fts5Data)(unsafe.Pointer(pRet)).FszLeaf > (*Fts5Data)(unsafe.Pointer(pRet)).Fnn { @@ -182775,7 +182806,7 @@ func fts5LeafRead(tls *libc.TLS, p uintptr, iRowid I64) uintptr { /* sqlite3.c:2 return pRet } -func fts5IndexPrepareStmt(tls *libc.TLS, p uintptr, ppStmt uintptr, zSql uintptr) int32 { /* sqlite3.c:225487:12: */ +func fts5IndexPrepareStmt(tls *libc.TLS, p uintptr, ppStmt uintptr, zSql uintptr) int32 { /* sqlite3.c:225544:12: */ if (*Fts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK { if zSql != 0 { (*Fts5Index)(unsafe.Pointer(p)).Frc = Xsqlite3_prepare_v3(tls, (*Fts5Config)(unsafe.Pointer((*Fts5Index)(unsafe.Pointer(p)).FpConfig)).Fdb, zSql, -1, @@ -182790,7 +182821,7 @@ func fts5IndexPrepareStmt(tls *libc.TLS, p uintptr, ppStmt uintptr, zSql uintptr } // INSERT OR REPLACE a record into the %_data table. -func fts5DataWrite(tls *libc.TLS, p uintptr, iRowid I64, pData uintptr, nData int32) { /* sqlite3.c:225509:13: */ +func fts5DataWrite(tls *libc.TLS, p uintptr, iRowid I64, pData uintptr, nData int32) { /* sqlite3.c:225566:13: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -182818,7 +182849,7 @@ func fts5DataWrite(tls *libc.TLS, p uintptr, iRowid I64, pData uintptr, nData in // Execute the following SQL: // // DELETE FROM %_data WHERE id BETWEEN $iFirst AND $iLast -func fts5DataDelete(tls *libc.TLS, p uintptr, iFirst I64, iLast I64) { /* sqlite3.c:225533:13: */ +func fts5DataDelete(tls *libc.TLS, p uintptr, iFirst I64, iLast I64) { /* sqlite3.c:225590:13: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -182843,7 +182874,7 @@ func fts5DataDelete(tls *libc.TLS, p uintptr, iFirst I64, iLast I64) { /* sqlite } // Remove all records associated with segment iSegid. -func fts5DataRemoveSegment(tls *libc.TLS, p uintptr, iSegid int32) { /* sqlite3.c:225554:13: */ +func fts5DataRemoveSegment(tls *libc.TLS, p uintptr, iSegid int32) { /* sqlite3.c:225611:13: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -182865,7 +182896,7 @@ func fts5DataRemoveSegment(tls *libc.TLS, p uintptr, iSegid int32) { /* sqlite3. // Release a reference to an Fts5Structure object returned by an earlier // call to fts5StructureRead() or fts5StructureDecode(). -func fts5StructureRelease(tls *libc.TLS, pStruct uintptr) { /* sqlite3.c:225576:13: */ +func fts5StructureRelease(tls *libc.TLS, pStruct uintptr) { /* sqlite3.c:225633:13: */ if pStruct != 0 && 0 >= libc.PreDecInt32(&(*Fts5Structure)(unsafe.Pointer(pStruct)).FnRef, 1) { var i int32 @@ -182876,22 +182907,22 @@ func fts5StructureRelease(tls *libc.TLS, pStruct uintptr) { /* sqlite3.c:225576: } } -func fts5StructureRef(tls *libc.TLS, pStruct uintptr) { /* sqlite3.c:225587:13: */ +func fts5StructureRef(tls *libc.TLS, pStruct uintptr) { /* sqlite3.c:225644:13: */ (*Fts5Structure)(unsafe.Pointer(pStruct)).FnRef++ } -func sqlite3Fts5StructureRef(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:225591:13: */ +func sqlite3Fts5StructureRef(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:225648:13: */ fts5StructureRef(tls, (*Fts5Index)(unsafe.Pointer(p)).FpStruct) return (*Fts5Index)(unsafe.Pointer(p)).FpStruct } -func sqlite3Fts5StructureRelease(tls *libc.TLS, p uintptr) { /* sqlite3.c:225595:13: */ +func sqlite3Fts5StructureRelease(tls *libc.TLS, p uintptr) { /* sqlite3.c:225652:13: */ if p != 0 { fts5StructureRelease(tls, p) } } -func sqlite3Fts5StructureTest(tls *libc.TLS, p uintptr, pStruct uintptr) int32 { /* sqlite3.c:225600:12: */ +func sqlite3Fts5StructureTest(tls *libc.TLS, p uintptr, pStruct uintptr) int32 { /* sqlite3.c:225657:12: */ if (*Fts5Index)(unsafe.Pointer(p)).FpStruct != pStruct { return SQLITE_ABORT } @@ -182902,7 +182933,7 @@ func sqlite3Fts5StructureTest(tls *libc.TLS, p uintptr, pStruct uintptr) int32 { // // This function is a no-op if (*pRc) is not SQLITE_OK when it is called. If // an error occurs, (*pRc) is set to an SQLite error code before returning. -func fts5StructureMakeWritable(tls *libc.TLS, pRc uintptr, pp uintptr) { /* sqlite3.c:225613:13: */ +func fts5StructureMakeWritable(tls *libc.TLS, pRc uintptr, pp uintptr) { /* sqlite3.c:225670:13: */ var p uintptr = *(*uintptr)(unsafe.Pointer(pp)) if *(*int32)(unsafe.Pointer(pRc)) == SQLITE_OK && (*Fts5Structure)(unsafe.Pointer(p)).FnRef > 1 { var nByte I64 = I64(uint64(unsafe.Sizeof(Fts5Structure{})) + uint64((*Fts5Structure)(unsafe.Pointer(p)).FnLevel-1)*uint64(unsafe.Sizeof(Fts5StructureLevel{}))) @@ -182944,7 +182975,7 @@ func fts5StructureMakeWritable(tls *libc.TLS, pRc uintptr, pp uintptr) { /* sqli // If an error occurs, *ppOut is set to NULL and an SQLite error code // returned. Otherwise, *ppOut is set to point to the new object and // SQLITE_OK returned. -func fts5StructureDecode(tls *libc.TLS, pData uintptr, nData int32, piCookie uintptr, ppOut uintptr) int32 { /* sqlite3.c:225655:12: */ +func fts5StructureDecode(tls *libc.TLS, pData uintptr, nData int32, piCookie uintptr, ppOut uintptr) int32 { /* sqlite3.c:225712:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -183037,7 +183068,7 @@ func fts5StructureDecode(tls *libc.TLS, pData uintptr, nData int32, piCookie uin // Add a level to the Fts5Structure.aLevel[] array of structure object // (*ppStruct). -func fts5StructureAddLevel(tls *libc.TLS, pRc uintptr, ppStruct uintptr) { /* sqlite3.c:225747:13: */ +func fts5StructureAddLevel(tls *libc.TLS, pRc uintptr, ppStruct uintptr) { /* sqlite3.c:225804:13: */ fts5StructureMakeWritable(tls, pRc, ppStruct) if *(*int32)(unsafe.Pointer(pRc)) == SQLITE_OK { var pStruct uintptr = *(*uintptr)(unsafe.Pointer(ppStruct)) @@ -183057,7 +183088,7 @@ func fts5StructureAddLevel(tls *libc.TLS, pRc uintptr, ppStruct uintptr) { /* sq // Extend level iLvl so that there is room for at least nExtra more // segments. -func fts5StructureExtendLevel(tls *libc.TLS, pRc uintptr, pStruct uintptr, iLvl int32, nExtra int32, bInsert int32) { /* sqlite3.c:225772:13: */ +func fts5StructureExtendLevel(tls *libc.TLS, pRc uintptr, pStruct uintptr, iLvl int32, nExtra int32, bInsert int32) { /* sqlite3.c:225829:13: */ if *(*int32)(unsafe.Pointer(pRc)) == SQLITE_OK { var pLvl uintptr = pStruct + 24 + uintptr(iLvl)*16 var aNew uintptr @@ -183080,7 +183111,7 @@ func fts5StructureExtendLevel(tls *libc.TLS, pRc uintptr, pStruct uintptr, iLvl } } -func fts5StructureReadUncached(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:225801:22: */ +func fts5StructureReadUncached(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:225858:22: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -183108,7 +183139,7 @@ func fts5StructureReadUncached(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c: return *(*uintptr)(unsafe.Pointer(bp + 8 /* pRet */)) } -func fts5IndexDataVersion(tls *libc.TLS, p uintptr) I64 { /* sqlite3.c:225825:12: */ +func fts5IndexDataVersion(tls *libc.TLS, p uintptr) I64 { /* sqlite3.c:225882:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -183141,7 +183172,7 @@ func fts5IndexDataVersion(tls *libc.TLS, p uintptr) I64 { /* sqlite3.c:225825:12 // If an error occurs, NULL is returned and an error code left in the // Fts5Index handle. If an error has already occurred when this function // is called, it is a no-op. -func fts5StructureRead(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:225856:22: */ +func fts5StructureRead(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:225913:22: */ if (*Fts5Index)(unsafe.Pointer(p)).FpStruct == uintptr(0) { (*Fts5Index)(unsafe.Pointer(p)).FiStructVersion = fts5IndexDataVersion(tls, p) @@ -183158,7 +183189,7 @@ func fts5StructureRead(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:225856:2 return (*Fts5Index)(unsafe.Pointer(p)).FpStruct } -func fts5StructureInvalidate(tls *libc.TLS, p uintptr) { /* sqlite3.c:225895:13: */ +func fts5StructureInvalidate(tls *libc.TLS, p uintptr) { /* sqlite3.c:225952:13: */ if (*Fts5Index)(unsafe.Pointer(p)).FpStruct != 0 { fts5StructureRelease(tls, (*Fts5Index)(unsafe.Pointer(p)).FpStruct) (*Fts5Index)(unsafe.Pointer(p)).FpStruct = uintptr(0) @@ -183172,7 +183203,7 @@ func fts5StructureInvalidate(tls *libc.TLS, p uintptr) { /* sqlite3.c:225895:13: // // If an error occurs, leave an error code in the Fts5Index object. If an // error has already occurred, this function is a no-op. -func fts5StructureWrite(tls *libc.TLS, p uintptr, pStruct uintptr) { /* sqlite3.c:225938:13: */ +func fts5StructureWrite(tls *libc.TLS, p uintptr, pStruct uintptr) { /* sqlite3.c:225995:13: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -183225,14 +183256,14 @@ func fts5StructureWrite(tls *libc.TLS, p uintptr, pStruct uintptr) { /* sqlite3. } } -func fts5SegmentSize(tls *libc.TLS, pSeg uintptr) int32 { /* sqlite3.c:225993:12: */ +func fts5SegmentSize(tls *libc.TLS, pSeg uintptr) int32 { /* sqlite3.c:226050:12: */ return 1 + (*Fts5StructureSegment)(unsafe.Pointer(pSeg)).FpgnoLast - (*Fts5StructureSegment)(unsafe.Pointer(pSeg)).FpgnoFirst } // Return a copy of index structure pStruct. Except, promote as many // segments as possible to level iPromote. If an OOM occurs, NULL is // returned. -func fts5StructurePromoteTo(tls *libc.TLS, p uintptr, iPromote int32, szPromote int32, pStruct uintptr) { /* sqlite3.c:226002:13: */ +func fts5StructurePromoteTo(tls *libc.TLS, p uintptr, iPromote int32, szPromote int32, pStruct uintptr) { /* sqlite3.c:226059:13: */ var il int32 var is int32 var pOut uintptr = pStruct + 24 + uintptr(iPromote)*16 @@ -183275,7 +183306,7 @@ func fts5StructurePromoteTo(tls *libc.TLS, p uintptr, iPromote int32, szPromote // // If one or more segments are promoted, the structure object is updated // to reflect this. -func fts5StructurePromote(tls *libc.TLS, p uintptr, iLvl int32, pStruct uintptr) { /* sqlite3.c:226045:13: */ +func fts5StructurePromote(tls *libc.TLS, p uintptr, iLvl int32, pStruct uintptr) { /* sqlite3.c:226102:13: */ if (*Fts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK { var iTst int32 var iPromote int32 = -1 @@ -183324,7 +183355,7 @@ func fts5StructurePromote(tls *libc.TLS, p uintptr, iLvl int32, pStruct uintptr) // Advance the iterator passed as the only argument. If the end of the // doclist-index page is reached, return non-zero. -func fts5DlidxLvlNext(tls *libc.TLS, pLvl uintptr) int32 { /* sqlite3.c:226096:12: */ +func fts5DlidxLvlNext(tls *libc.TLS, pLvl uintptr) int32 { /* sqlite3.c:226153:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -183360,7 +183391,7 @@ func fts5DlidxLvlNext(tls *libc.TLS, pLvl uintptr) int32 { /* sqlite3.c:226096:1 } // Advance the iterator passed as the only argument. -func fts5DlidxIterNextR(tls *libc.TLS, p uintptr, pIter uintptr, iLvl int32) int32 { /* sqlite3.c:226128:12: */ +func fts5DlidxIterNextR(tls *libc.TLS, p uintptr, pIter uintptr, iLvl int32) int32 { /* sqlite3.c:226185:12: */ var pLvl uintptr = pIter + 8 + uintptr(iLvl)*32 if fts5DlidxLvlNext(tls, pLvl) != 0 { @@ -183381,7 +183412,7 @@ func fts5DlidxIterNextR(tls *libc.TLS, p uintptr, pIter uintptr, iLvl int32) int return (*Fts5DlidxLvl)(unsafe.Pointer(pIter + 8)).FbEof } -func fts5DlidxIterNext(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlite3.c:226148:12: */ +func fts5DlidxIterNext(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlite3.c:226205:12: */ return fts5DlidxIterNextR(tls, p, pIter, 0) } @@ -183394,7 +183425,7 @@ func fts5DlidxIterNext(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlit // // When this function is called pIter->iLeafPgno is the page number the // doclist is associated with (the one featuring the term). -func fts5DlidxIterFirst(tls *libc.TLS, pIter uintptr) int32 { /* sqlite3.c:226163:12: */ +func fts5DlidxIterFirst(tls *libc.TLS, pIter uintptr) int32 { /* sqlite3.c:226220:12: */ var i int32 for i = 0; i < (*Fts5DlidxIter)(unsafe.Pointer(pIter)).FnLvl; i++ { fts5DlidxLvlNext(tls, pIter+8+uintptr(i)*32) @@ -183402,11 +183433,11 @@ func fts5DlidxIterFirst(tls *libc.TLS, pIter uintptr) int32 { /* sqlite3.c:22616 return (*Fts5DlidxLvl)(unsafe.Pointer(pIter + 8)).FbEof } -func fts5DlidxIterEof(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlite3.c:226172:12: */ +func fts5DlidxIterEof(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlite3.c:226229:12: */ return libc.Bool32((*Fts5Index)(unsafe.Pointer(p)).Frc != SQLITE_OK || (*Fts5DlidxLvl)(unsafe.Pointer(pIter+8)).FbEof != 0) } -func fts5DlidxIterLast(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:226176:13: */ +func fts5DlidxIterLast(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:226233:13: */ var i int32 // Advance each level to the last entry on the last page @@ -183427,7 +183458,7 @@ func fts5DlidxIterLast(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:2 } // Move the iterator passed as the only argument to the previous entry. -func fts5DlidxLvlPrev(tls *libc.TLS, pLvl uintptr) int32 { /* sqlite3.c:226199:12: */ +func fts5DlidxLvlPrev(tls *libc.TLS, pLvl uintptr) int32 { /* sqlite3.c:226256:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -183489,7 +183520,7 @@ func fts5DlidxLvlPrev(tls *libc.TLS, pLvl uintptr) int32 { /* sqlite3.c:226199:1 return (*Fts5DlidxLvl)(unsafe.Pointer(pLvl)).FbEof } -func fts5DlidxIterPrevR(tls *libc.TLS, p uintptr, pIter uintptr, iLvl int32) int32 { /* sqlite3.c:226248:12: */ +func fts5DlidxIterPrevR(tls *libc.TLS, p uintptr, pIter uintptr, iLvl int32) int32 { /* sqlite3.c:226305:12: */ var pLvl uintptr = pIter + 8 + uintptr(iLvl)*32 if fts5DlidxLvlPrev(tls, pLvl) != 0 { @@ -183512,12 +183543,12 @@ func fts5DlidxIterPrevR(tls *libc.TLS, p uintptr, pIter uintptr, iLvl int32) int return (*Fts5DlidxLvl)(unsafe.Pointer(pIter + 8)).FbEof } -func fts5DlidxIterPrev(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlite3.c:226271:12: */ +func fts5DlidxIterPrev(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlite3.c:226328:12: */ return fts5DlidxIterPrevR(tls, p, pIter, 0) } // Free a doclist-index iterator object allocated by fts5DlidxIterInit(). -func fts5DlidxIterFree(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:226278:13: */ +func fts5DlidxIterFree(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:226335:13: */ if pIter != 0 { var i int32 for i = 0; i < (*Fts5DlidxIter)(unsafe.Pointer(pIter)).FnLvl; i++ { @@ -183527,7 +183558,7 @@ func fts5DlidxIterFree(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:226278:13: * } } -func fts5DlidxIterInit(tls *libc.TLS, p uintptr, bRev int32, iSegid int32, iLeafPg int32) uintptr { /* sqlite3.c:226288:22: */ +func fts5DlidxIterInit(tls *libc.TLS, p uintptr, bRev int32, iSegid int32, iLeafPg int32) uintptr { /* sqlite3.c:226345:22: */ var pIter uintptr = uintptr(0) var i int32 var bDone int32 = 0 @@ -183569,16 +183600,16 @@ func fts5DlidxIterInit(tls *libc.TLS, p uintptr, bRev int32, iSegid int32, iLeaf return pIter } -func fts5DlidxIterRowid(tls *libc.TLS, pIter uintptr) I64 { /* sqlite3.c:226335:12: */ +func fts5DlidxIterRowid(tls *libc.TLS, pIter uintptr) I64 { /* sqlite3.c:226392:12: */ return (*Fts5DlidxLvl)(unsafe.Pointer(pIter + 8)).FiRowid } -func fts5DlidxIterPgno(tls *libc.TLS, pIter uintptr) int32 { /* sqlite3.c:226338:12: */ +func fts5DlidxIterPgno(tls *libc.TLS, pIter uintptr) int32 { /* sqlite3.c:226395:12: */ return (*Fts5DlidxLvl)(unsafe.Pointer(pIter + 8)).FiLeafPgno } // Load the next leaf page into the segment iterator. -func fts5SegIterNextPage(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:226345:13: */ +func fts5SegIterNextPage(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:226402:13: */ var pLeaf uintptr var pSeg uintptr = (*Fts5SegIter)(unsafe.Pointer(pIter)).FpSeg fts5DataRelease(tls, (*Fts5SegIter)(unsafe.Pointer(pIter)).FpLeaf) @@ -183608,7 +183639,7 @@ func fts5SegIterNextPage(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c // position list size field. Read the varint and return the number of bytes // read. Before returning, set *pnSz to the number of bytes in the position // list, and *pbDel to true if the delete flag is set, or false otherwise. -func fts5GetPoslistSize(tls *libc.TLS, p uintptr, pnSz uintptr, pbDel uintptr) int32 { /* sqlite3.c:226383:12: */ +func fts5GetPoslistSize(tls *libc.TLS, p uintptr, pnSz uintptr, pbDel uintptr) int32 { /* sqlite3.c:226440:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -183637,7 +183668,7 @@ func fts5GetPoslistSize(tls *libc.TLS, p uintptr, pnSz uintptr, pbDel uintptr) i // // Leave Fts5SegIter.iLeafOffset pointing to the first byte of the // position list content (if any). -func fts5SegIterLoadNPos(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:226404:13: */ +func fts5SegIterLoadNPos(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:226461:13: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -183682,7 +183713,7 @@ func fts5SegIterLoadNPos(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c } } -func fts5SegIterLoadRowid(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:226433:13: */ +func fts5SegIterLoadRowid(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:226490:13: */ var a uintptr = (*Fts5Data)(unsafe.Pointer((*Fts5SegIter)(unsafe.Pointer(pIter)).FpLeaf)).Fp // Buffer to read data from var iOff I64 = (*Fts5SegIter)(unsafe.Pointer(pIter)).FiLeafOffset @@ -183714,7 +183745,7 @@ func fts5SegIterLoadRowid(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3. // accordingly and leaves (Fts5SegIter.iLeafOffset) set to the content of // the first position list. The position list belonging to document // (Fts5SegIter.iRowid). -func fts5SegIterLoadTerm(tls *libc.TLS, p uintptr, pIter uintptr, nKeep int32) { /* sqlite3.c:226466:13: */ +func fts5SegIterLoadTerm(tls *libc.TLS, p uintptr, pIter uintptr, nKeep int32) { /* sqlite3.c:226523:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -183748,7 +183779,7 @@ func fts5SegIterLoadTerm(tls *libc.TLS, p uintptr, pIter uintptr, nKeep int32) { fts5SegIterLoadRowid(tls, p, pIter) } -func fts5SegIterSetNext(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:226499:13: */ +func fts5SegIterSetNext(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:226556:13: */ if (*Fts5SegIter)(unsafe.Pointer(pIter)).Fflags&FTS5_SEGITER_REVERSE != 0 { (*Fts5SegIter)(unsafe.Pointer(pIter)).FxNext = *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, uintptr) @@ -183770,7 +183801,7 @@ func fts5SegIterSetNext(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c: // // If an error occurs, Fts5Index.rc is set to an appropriate error code. If // an error has already occurred when this function is called, it is a no-op. -func fts5SegIterInit(tls *libc.TLS, p uintptr, pSeg uintptr, pIter uintptr) { /* sqlite3.c:226517:13: */ +func fts5SegIterInit(tls *libc.TLS, p uintptr, pSeg uintptr, pIter uintptr) { /* sqlite3.c:226574:13: */ if (*Fts5StructureSegment)(unsafe.Pointer(pSeg)).FpgnoFirst == 0 { // This happens if the segment is being used as an input to an incremental // merge and all data has already been "trimmed". See function @@ -183811,7 +183842,7 @@ func fts5SegIterInit(tls *libc.TLS, p uintptr, pSeg uintptr, pIter uintptr) { /* // aRowidOffset[] and iRowidOffset variables. At this point the iterator // is in its regular state - Fts5SegIter.iLeafOffset points to the first // byte of the position list content associated with said rowid. -func fts5SegIterReverseInitPage(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:226566:13: */ +func fts5SegIterReverseInitPage(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:226623:13: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -183870,7 +183901,7 @@ func fts5SegIterReverseInitPage(tls *libc.TLS, p uintptr, pIter uintptr) { /* sq } // -func fts5SegIterReverseNewPage(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:226619:13: */ +func fts5SegIterReverseNewPage(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:226676:13: */ fts5DataRelease(tls, (*Fts5SegIter)(unsafe.Pointer(pIter)).FpLeaf) (*Fts5SegIter)(unsafe.Pointer(pIter)).FpLeaf = uintptr(0) @@ -183920,7 +183951,7 @@ func fts5SegIterReverseNewPage(tls *libc.TLS, p uintptr, pIter uintptr) { /* sql // Return true if the iterator passed as the second argument currently // points to a delete marker. A delete marker is an entry with a 0 byte // position-list. -func fts5MultiIterIsEmpty(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlite3.c:226675:12: */ +func fts5MultiIterIsEmpty(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlite3.c:226732:12: */ var pSeg uintptr = pIter + 96 + uintptr((*Fts5CResult)(unsafe.Pointer((*Fts5Iter)(unsafe.Pointer(pIter)).FaFirst+1*4)).FiFirst)*120 return libc.Bool32((*Fts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK && (*Fts5SegIter)(unsafe.Pointer(pSeg)).FpLeaf != 0 && (*Fts5SegIter)(unsafe.Pointer(pSeg)).FnPos == 0) } @@ -183928,7 +183959,7 @@ func fts5MultiIterIsEmpty(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sq // Advance iterator pIter to the next entry. // // This version of fts5SegIterNext() is only used by reverse iterators. -func fts5SegIterNext_Reverse(tls *libc.TLS, p uintptr, pIter uintptr, pbUnused uintptr) { /* sqlite3.c:226685:13: */ +func fts5SegIterNext_Reverse(tls *libc.TLS, p uintptr, pIter uintptr, pbUnused uintptr) { /* sqlite3.c:226742:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -183957,7 +183988,7 @@ func fts5SegIterNext_Reverse(tls *libc.TLS, p uintptr, pIter uintptr, pbUnused u // // This version of fts5SegIterNext() is only used if detail=none and the // iterator is not a reverse direction iterator. -func fts5SegIterNext_None(tls *libc.TLS, p uintptr, pIter uintptr, pbNewTerm uintptr) { /* sqlite3.c:226719:13: */ +func fts5SegIterNext_None(tls *libc.TLS, p uintptr, pIter uintptr, pbNewTerm uintptr) { /* sqlite3.c:226776:13: */ bp := tls.Alloc(36) defer tls.Free(36) @@ -184062,7 +184093,7 @@ next_none_eof: // If an error occurs, Fts5Index.rc is set to an appropriate error code. It // is not considered an error if the iterator reaches EOF. If an error has // already occurred when this function is called, it is a no-op. -func fts5SegIterNext(tls *libc.TLS, p uintptr, pIter uintptr, pbNewTerm uintptr) { /* sqlite3.c:226791:13: */ +func fts5SegIterNext(tls *libc.TLS, p uintptr, pIter uintptr, pbNewTerm uintptr) { /* sqlite3.c:226848:13: */ bp := tls.Alloc(44) defer tls.Free(44) @@ -184187,7 +184218,7 @@ func fts5SegIterNext(tls *libc.TLS, p uintptr, pIter uintptr, pbNewTerm uintptr) // Iterator pIter currently points to the first rowid in a doclist. This // function sets the iterator up so that iterates in reverse order through // the doclist. -func fts5SegIterReverse(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:226922:13: */ +func fts5SegIterReverse(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:226979:13: */ var pDlidx uintptr = (*Fts5SegIter)(unsafe.Pointer(pIter)).FpDlidx var pLast uintptr = uintptr(0) var pgnoLast int32 = 0 @@ -184287,7 +184318,7 @@ func fts5SegIterReverse(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c: // There is a doclist-index associated with the final term on the current // page. If the current term is the last term on the page, load the // doclist-index from disk and initialize an iterator at (pIter->pDlidx). -func fts5SegIterLoadDlidx(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:227011:13: */ +func fts5SegIterLoadDlidx(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:227068:13: */ var iSeg int32 = (*Fts5StructureSegment)(unsafe.Pointer((*Fts5SegIter)(unsafe.Pointer(pIter)).FpSeg)).FiSegid var bRev int32 = (*Fts5SegIter)(unsafe.Pointer(pIter)).Fflags & FTS5_SEGITER_REVERSE var pLeaf uintptr = (*Fts5SegIter)(unsafe.Pointer(pIter)).FpLeaf // Current leaf data @@ -184315,7 +184346,7 @@ func fts5SegIterLoadDlidx(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3. // iterator is left pointing to the smallest term in the segment that // is larger than the specified term, even if this term is not on the // current page. -func fts5LeafSeek(tls *libc.TLS, p uintptr, bGe int32, pIter uintptr, pTerm uintptr, nTerm int32) { /* sqlite3.c:227045:13: */ +func fts5LeafSeek(tls *libc.TLS, p uintptr, bGe int32, pIter uintptr, pTerm uintptr, nTerm int32) { /* sqlite3.c:227102:13: */ bp := tls.Alloc(20) defer tls.Free(20) @@ -184549,7 +184580,7 @@ __31: fts5SegIterLoadNPos(tls, p, pIter) } -func fts5IdxSelectStmt(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:227171:21: */ +func fts5IdxSelectStmt(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:227228:21: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -184568,7 +184599,7 @@ func fts5IdxSelectStmt(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:227171:2 // // If an error occurs, Fts5Index.rc is set to an appropriate error code. If // an error has already occurred when this function is called, it is a no-op. -func fts5SegIterSeekInit(tls *libc.TLS, p uintptr, pTerm uintptr, nTerm int32, flags int32, pSeg uintptr, pIter uintptr) { /* sqlite3.c:227190:13: */ +func fts5SegIterSeekInit(tls *libc.TLS, p uintptr, pTerm uintptr, nTerm int32, flags int32, pSeg uintptr, pIter uintptr) { /* sqlite3.c:227247:13: */ var iPg int32 = 1 var bGe int32 = flags & FTS5INDEX_QUERY_SCAN var bDlidx int32 = 0 // True if there is a doclist-index @@ -184638,7 +184669,7 @@ func fts5SegIterSeekInit(tls *libc.TLS, p uintptr, pTerm uintptr, nTerm int32, f // // If an error occurs, Fts5Index.rc is set to an appropriate error code. If // an error has already occurred when this function is called, it is a no-op. -func fts5SegIterHashInit(tls *libc.TLS, p uintptr, pTerm uintptr, nTerm int32, flags int32, pIter uintptr) { /* sqlite3.c:227273:13: */ +func fts5SegIterHashInit(tls *libc.TLS, p uintptr, pTerm uintptr, nTerm int32, flags int32, pIter uintptr) { /* sqlite3.c:227330:13: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -184694,7 +184725,7 @@ func fts5SegIterHashInit(tls *libc.TLS, p uintptr, pTerm uintptr, nTerm int32, f } // Zero the iterator passed as the only argument. -func fts5SegIterClear(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:227332:13: */ +func fts5SegIterClear(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:227389:13: */ sqlite3Fts5BufferFree(tls, pIter+88) fts5DataRelease(tls, (*Fts5SegIter)(unsafe.Pointer(pIter)).FpLeaf) fts5DataRelease(tls, (*Fts5SegIter)(unsafe.Pointer(pIter)).FpNextLeaf) @@ -184709,7 +184740,7 @@ func fts5SegIterClear(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:227332:13: */ // in the pIter->aSeg[] array that is (a) not at EOF, and (b) pointing // to a key that is a duplicate of another, higher priority, // segment-iterator in the pSeg->aSeg[] array. -func fts5MultiIterDoCompare(tls *libc.TLS, pIter uintptr, iOut int32) int32 { /* sqlite3.c:227436:12: */ +func fts5MultiIterDoCompare(tls *libc.TLS, pIter uintptr, iOut int32) int32 { /* sqlite3.c:227493:12: */ var i1 int32 // Index of left-hand Fts5SegIter var i2 int32 // Index of right-hand Fts5SegIter var iRes int32 @@ -184761,7 +184792,7 @@ func fts5MultiIterDoCompare(tls *libc.TLS, pIter uintptr, iOut int32) int32 { /* // Move the seg-iter so that it points to the first rowid on page iLeafPgno. // It is an error if leaf iLeafPgno does not exist or contains no rowids. -func fts5SegIterGotoPage(tls *libc.TLS, p uintptr, pIter uintptr, iLeafPgno int32) { /* sqlite3.c:227490:13: */ +func fts5SegIterGotoPage(tls *libc.TLS, p uintptr, pIter uintptr, iLeafPgno int32) { /* sqlite3.c:227547:13: */ if iLeafPgno > (*Fts5StructureSegment)(unsafe.Pointer((*Fts5SegIter)(unsafe.Pointer(pIter)).FpSeg)).FpgnoLast { (*Fts5Index)(unsafe.Pointer(p)).Frc = SQLITE_CORRUPT | int32(1)<<8 @@ -184791,7 +184822,7 @@ func fts5SegIterGotoPage(tls *libc.TLS, p uintptr, pIter uintptr, iLeafPgno int3 // Advance the iterator passed as the second argument until it is at or // past rowid iFrom. Regardless of the value of iFrom, the iterator is // always advanced at least once. -func fts5SegIterNextFrom(tls *libc.TLS, p uintptr, pIter uintptr, iMatch I64) { /* sqlite3.c:227528:13: */ +func fts5SegIterNextFrom(tls *libc.TLS, p uintptr, pIter uintptr, iMatch I64) { /* sqlite3.c:227585:13: */ var bRev int32 = (*Fts5SegIter)(unsafe.Pointer(pIter)).Fflags & FTS5_SEGITER_REVERSE var pDlidx uintptr = (*Fts5SegIter)(unsafe.Pointer(pIter)).FpDlidx var iLeafPgno int32 = (*Fts5SegIter)(unsafe.Pointer(pIter)).FiLeafPgno @@ -184841,7 +184872,7 @@ func fts5SegIterNextFrom(tls *libc.TLS, p uintptr, pIter uintptr, iMatch I64) { } // Free the iterator object passed as the second argument. -func fts5MultiIterFree(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:227582:13: */ +func fts5MultiIterFree(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:227639:13: */ if pIter != 0 { var i int32 for i = 0; i < (*Fts5Iter)(unsafe.Pointer(pIter)).FnSeg; i++ { @@ -184852,7 +184883,7 @@ func fts5MultiIterFree(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:227582:13: * } } -func fts5MultiIterAdvanced(tls *libc.TLS, p uintptr, pIter uintptr, iChanged int32, iMinset int32) { /* sqlite3.c:227593:13: */ +func fts5MultiIterAdvanced(tls *libc.TLS, p uintptr, pIter uintptr, iChanged int32, iMinset int32) { /* sqlite3.c:227650:13: */ var i int32 for i = ((*Fts5Iter)(unsafe.Pointer(pIter)).FnSeg + iChanged) / 2; i >= iMinset && (*Fts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK; i = i / 2 { var iEq int32 @@ -184875,7 +184906,7 @@ func fts5MultiIterAdvanced(tls *libc.TLS, p uintptr, pIter uintptr, iChanged int // If non-zero is returned, the caller should call fts5MultiIterAdvanced() // on the iterator instead. That function does the same as this one, except // that it deals with more complicated cases as well. -func fts5MultiIterAdvanceRowid(tls *libc.TLS, pIter uintptr, iChanged int32, ppFirst uintptr) int32 { /* sqlite3.c:227621:12: */ +func fts5MultiIterAdvanceRowid(tls *libc.TLS, pIter uintptr, iChanged int32, ppFirst uintptr) int32 { /* sqlite3.c:227678:12: */ var pNew uintptr = pIter + 96 + uintptr(iChanged)*120 if (*Fts5SegIter)(unsafe.Pointer(pNew)).FiRowid == (*Fts5Iter)(unsafe.Pointer(pIter)).FiSwitchRowid || @@ -184915,7 +184946,7 @@ func fts5MultiIterAdvanceRowid(tls *libc.TLS, pIter uintptr, iChanged int32, ppF } // Set the pIter->bEof variable based on the state of the sub-iterators. -func fts5MultiIterSetEof(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:227664:13: */ +func fts5MultiIterSetEof(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:227721:13: */ var pSeg uintptr = pIter + 96 + uintptr((*Fts5CResult)(unsafe.Pointer((*Fts5Iter)(unsafe.Pointer(pIter)).FaFirst+1*4)).FiFirst)*120 (*Fts5Iter)(unsafe.Pointer(pIter)).Fbase.FbEof = U8(libc.Bool32((*Fts5SegIter)(unsafe.Pointer(pSeg)).FpLeaf == uintptr(0))) (*Fts5Iter)(unsafe.Pointer(pIter)).FiSwitchRowid = (*Fts5SegIter)(unsafe.Pointer(pSeg)).FiRowid @@ -184926,7 +184957,7 @@ func fts5MultiIterSetEof(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:227664:13: // If an error occurs, an error code is left in Fts5Index.rc. It is not // considered an error if the iterator reaches EOF, or if it is already at // EOF when this function is called. -func fts5MultiIterNext(tls *libc.TLS, p uintptr, pIter uintptr, bFrom int32, iFrom I64) { /* sqlite3.c:227677:13: */ +func fts5MultiIterNext(tls *libc.TLS, p uintptr, pIter uintptr, bFrom int32, iFrom I64) { /* sqlite3.c:227734:13: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -184965,7 +184996,7 @@ func fts5MultiIterNext(tls *libc.TLS, p uintptr, pIter uintptr, bFrom int32, iFr } } -func fts5MultiIterNext2(tls *libc.TLS, p uintptr, pIter uintptr, pbNewTerm uintptr) { /* sqlite3.c:227715:13: */ +func fts5MultiIterNext2(tls *libc.TLS, p uintptr, pIter uintptr, pbNewTerm uintptr) { /* sqlite3.c:227772:13: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -184990,12 +185021,12 @@ func fts5MultiIterNext2(tls *libc.TLS, p uintptr, pIter uintptr, pbNewTerm uintp } } -func fts5IterSetOutputs_Noop(tls *libc.TLS, pUnused1 uintptr, pUnused2 uintptr) { /* sqlite3.c:227743:13: */ +func fts5IterSetOutputs_Noop(tls *libc.TLS, pUnused1 uintptr, pUnused2 uintptr) { /* sqlite3.c:227800:13: */ _ = pUnused1 _ = pUnused2 } -func fts5MultiIterAlloc(tls *libc.TLS, p uintptr, nSeg int32) uintptr { /* sqlite3.c:227747:17: */ +func fts5MultiIterAlloc(tls *libc.TLS, p uintptr, nSeg int32) uintptr { /* sqlite3.c:227804:17: */ var pNew uintptr var nSlot int32 // Power of two >= nSeg @@ -185014,7 +185045,7 @@ func fts5MultiIterAlloc(tls *libc.TLS, p uintptr, nSeg int32) uintptr { /* sqlit return pNew } -func fts5PoslistCallback(tls *libc.TLS, pUnused uintptr, pContext uintptr, pChunk uintptr, nChunk int32) { /* sqlite3.c:227769:13: */ +func fts5PoslistCallback(tls *libc.TLS, pUnused uintptr, pContext uintptr, pChunk uintptr, nChunk int32) { /* sqlite3.c:227826:13: */ _ = pUnused if nChunk > 0 { @@ -185031,21 +185062,21 @@ type PoslistCallbackCtx1 = struct { FpColset uintptr FeState int32 F__ccgo_pad1 [4]byte -} /* sqlite3.c:227781:9 */ +} /* sqlite3.c:227838:9 */ -type PoslistCallbackCtx = PoslistCallbackCtx1 /* sqlite3.c:227781:35 */ +type PoslistCallbackCtx = PoslistCallbackCtx1 /* sqlite3.c:227838:35 */ type PoslistOffsetsCtx1 = struct { FpBuf uintptr FpColset uintptr FiRead int32 FiWrite int32 -} /* sqlite3.c:227788:9 */ +} /* sqlite3.c:227845:9 */ -type PoslistOffsetsCtx = PoslistOffsetsCtx1 /* sqlite3.c:227788:34 */ +type PoslistOffsetsCtx = PoslistOffsetsCtx1 /* sqlite3.c:227845:34 */ // TODO: Make this more efficient! -func fts5IndexColsetTest(tls *libc.TLS, pColset uintptr, iCol int32) int32 { /* sqlite3.c:227799:12: */ +func fts5IndexColsetTest(tls *libc.TLS, pColset uintptr, iCol int32) int32 { /* sqlite3.c:227856:12: */ var i int32 for i = 0; i < (*Fts5Colset)(unsafe.Pointer(pColset)).FnCol; i++ { if *(*int32)(unsafe.Pointer(pColset + 4 + uintptr(i)*4)) == iCol { @@ -185055,7 +185086,7 @@ func fts5IndexColsetTest(tls *libc.TLS, pColset uintptr, iCol int32) int32 { /* return 0 } -func fts5PoslistOffsetsCallback(tls *libc.TLS, pUnused uintptr, pContext uintptr, pChunk uintptr, nChunk int32) { /* sqlite3.c:227807:13: */ +func fts5PoslistOffsetsCallback(tls *libc.TLS, pUnused uintptr, pContext uintptr, pChunk uintptr, nChunk int32) { /* sqlite3.c:227864:13: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -185081,7 +185112,7 @@ func fts5PoslistOffsetsCallback(tls *libc.TLS, pUnused uintptr, pContext uintptr } } -func fts5PoslistFilterCallback(tls *libc.TLS, pUnused uintptr, pContext uintptr, pChunk uintptr, nChunk int32) { /* sqlite3.c:227830:13: */ +func fts5PoslistFilterCallback(tls *libc.TLS, pUnused uintptr, pContext uintptr, pChunk uintptr, nChunk int32) { /* sqlite3.c:227887:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -185161,7 +185192,7 @@ func fts5PoslistFilterCallback(tls *libc.TLS, pUnused uintptr, pContext uintptr, } } -func fts5ChunkIterate(tls *libc.TLS, p uintptr, pSeg uintptr, pCtx uintptr, xChunk uintptr) { /* sqlite3.c:227882:13: */ +func fts5ChunkIterate(tls *libc.TLS, p uintptr, pSeg uintptr, pCtx uintptr, xChunk uintptr) { /* sqlite3.c:227939:13: */ var nRem int32 = (*Fts5SegIter)(unsafe.Pointer(pSeg)).FnPos // Number of bytes still to come var pData uintptr = uintptr(0) var pChunk uintptr = (*Fts5Data)(unsafe.Pointer((*Fts5SegIter)(unsafe.Pointer(pSeg)).FpLeaf)).Fp + uintptr((*Fts5SegIter)(unsafe.Pointer(pSeg)).FiLeafOffset) @@ -185217,7 +185248,7 @@ func fts5ChunkIterate(tls *libc.TLS, p uintptr, pSeg uintptr, pCtx uintptr, xChu // function appends the position list data for the current entry to // buffer pBuf. It does not make a copy of the position-list size // field. -func fts5SegiterPoslist(tls *libc.TLS, p uintptr, pSeg uintptr, pColset uintptr, pBuf uintptr) { /* sqlite3.c:227932:13: */ +func fts5SegiterPoslist(tls *libc.TLS, p uintptr, pSeg uintptr, pColset uintptr, pBuf uintptr) { /* sqlite3.c:227989:13: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -185268,7 +185299,7 @@ func fts5SegiterPoslist(tls *libc.TLS, p uintptr, pSeg uintptr, pColset uintptr, // This function is a no-op if *pRc is other than SQLITE_OK when it is // called. If an OOM error is encountered, *pRc is set to SQLITE_NOMEM // before returning. -func fts5IndexExtractColset(tls *libc.TLS, pRc uintptr, pColset uintptr, pPos uintptr, nPos int32, pIter uintptr) { /* sqlite3.c:227977:13: */ +func fts5IndexExtractColset(tls *libc.TLS, pRc uintptr, pColset uintptr, pPos uintptr, nPos int32, pIter uintptr) { /* sqlite3.c:228034:13: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -185329,7 +185360,7 @@ func fts5IndexExtractColset(tls *libc.TLS, pRc uintptr, pColset uintptr, pPos ui } // xSetOutputs callback used by detail=none tables. -func fts5IterSetOutputs_None(tls *libc.TLS, pIter uintptr, pSeg uintptr) { /* sqlite3.c:228037:13: */ +func fts5IterSetOutputs_None(tls *libc.TLS, pIter uintptr, pSeg uintptr) { /* sqlite3.c:228094:13: */ (*Fts5Iter)(unsafe.Pointer(pIter)).Fbase.FiRowid = (*Fts5SegIter)(unsafe.Pointer(pSeg)).FiRowid (*Fts5Iter)(unsafe.Pointer(pIter)).Fbase.FnData = (*Fts5SegIter)(unsafe.Pointer(pSeg)).FnPos @@ -185337,7 +185368,7 @@ func fts5IterSetOutputs_None(tls *libc.TLS, pIter uintptr, pSeg uintptr) { /* sq // xSetOutputs callback used by detail=full and detail=col tables when no // column filters are specified. -func fts5IterSetOutputs_Nocolset(tls *libc.TLS, pIter uintptr, pSeg uintptr) { /* sqlite3.c:228047:13: */ +func fts5IterSetOutputs_Nocolset(tls *libc.TLS, pIter uintptr, pSeg uintptr) { /* sqlite3.c:228104:13: */ (*Fts5Iter)(unsafe.Pointer(pIter)).Fbase.FiRowid = (*Fts5SegIter)(unsafe.Pointer(pSeg)).FiRowid (*Fts5Iter)(unsafe.Pointer(pIter)).Fbase.FnData = (*Fts5SegIter)(unsafe.Pointer(pSeg)).FnPos @@ -185357,7 +185388,7 @@ func fts5IterSetOutputs_Nocolset(tls *libc.TLS, pIter uintptr, pSeg uintptr) { / // xSetOutputs callback used when the Fts5Colset object has nCol==0 (match // against no columns at all). -func fts5IterSetOutputs_ZeroColset(tls *libc.TLS, pIter uintptr, pSeg uintptr) { /* sqlite3.c:228072:13: */ +func fts5IterSetOutputs_ZeroColset(tls *libc.TLS, pIter uintptr, pSeg uintptr) { /* sqlite3.c:228129:13: */ _ = pSeg (*Fts5Iter)(unsafe.Pointer(pIter)).Fbase.FnData = 0 } @@ -185365,7 +185396,7 @@ func fts5IterSetOutputs_ZeroColset(tls *libc.TLS, pIter uintptr, pSeg uintptr) { // xSetOutputs callback used by detail=col when there is a column filter // and there are 100 or more columns. Also called as a fallback from // fts5IterSetOutputs_Col100 if the column-list spans more than one page. -func fts5IterSetOutputs_Col(tls *libc.TLS, pIter uintptr, pSeg uintptr) { /* sqlite3.c:228082:13: */ +func fts5IterSetOutputs_Col(tls *libc.TLS, pIter uintptr, pSeg uintptr) { /* sqlite3.c:228139:13: */ sqlite3Fts5BufferZero(tls, pIter+32) fts5SegiterPoslist(tls, (*Fts5Iter)(unsafe.Pointer(pIter)).FpIndex, pSeg, (*Fts5Iter)(unsafe.Pointer(pIter)).FpColset, pIter+32) (*Fts5Iter)(unsafe.Pointer(pIter)).Fbase.FiRowid = (*Fts5SegIter)(unsafe.Pointer(pSeg)).FiRowid @@ -185381,7 +185412,7 @@ func fts5IterSetOutputs_Col(tls *libc.TLS, pIter uintptr, pSeg uintptr) { /* sql // // The last point is to ensure all column numbers are stored as // single-byte varints. -func fts5IterSetOutputs_Col100(tls *libc.TLS, pIter uintptr, pSeg uintptr) { /* sqlite3.c:228100:13: */ +func fts5IterSetOutputs_Col100(tls *libc.TLS, pIter uintptr, pSeg uintptr) { /* sqlite3.c:228157:13: */ var a uintptr var pEnd uintptr var iPrev int32 @@ -185443,7 +185474,7 @@ __2: } // xSetOutputs callback used by detail=full when there is a column filter. -func fts5IterSetOutputs_Full(tls *libc.TLS, pIter uintptr, pSeg uintptr) { /* sqlite3.c:228140:13: */ +func fts5IterSetOutputs_Full(tls *libc.TLS, pIter uintptr, pSeg uintptr) { /* sqlite3.c:228197:13: */ var pColset uintptr = (*Fts5Iter)(unsafe.Pointer(pIter)).FpColset (*Fts5Iter)(unsafe.Pointer(pIter)).Fbase.FiRowid = (*Fts5SegIter)(unsafe.Pointer(pSeg)).FiRowid @@ -185465,7 +185496,7 @@ func fts5IterSetOutputs_Full(tls *libc.TLS, pIter uintptr, pSeg uintptr) { /* sq } } -func fts5IterSetOutputCb(tls *libc.TLS, pRc uintptr, pIter uintptr) { /* sqlite3.c:228165:13: */ +func fts5IterSetOutputCb(tls *libc.TLS, pRc uintptr, pIter uintptr) { /* sqlite3.c:228222:13: */ if *(*int32)(unsafe.Pointer(pRc)) == SQLITE_OK { var pConfig uintptr = (*Fts5Index)(unsafe.Pointer((*Fts5Iter)(unsafe.Pointer(pIter)).FpIndex)).FpConfig @@ -185510,7 +185541,7 @@ func fts5IterSetOutputCb(tls *libc.TLS, pRc uintptr, pIter uintptr) { /* sqlite3 // // The iterator initially points to the first term/rowid entry in the // iterated data. -func fts5MultiIterNew(tls *libc.TLS, p uintptr, pStruct uintptr, flags int32, pColset uintptr, pTerm uintptr, nTerm int32, iLevel int32, nSegment int32, ppOut uintptr) { /* sqlite3.c:228209:13: */ +func fts5MultiIterNew(tls *libc.TLS, p uintptr, pStruct uintptr, flags int32, pColset uintptr, pTerm uintptr, nTerm int32, iLevel int32, nSegment int32, ppOut uintptr) { /* sqlite3.c:228266:13: */ var nSeg int32 // Number of segment-iters in use var iIter int32 // var iSeg int32 // Used to iterate through segments @@ -185713,7 +185744,7 @@ fts5MultiIterNew_post_check: // Create an Fts5Iter that iterates through the doclist provided // as the second argument. -func fts5MultiIterNew2(tls *libc.TLS, p uintptr, pData uintptr, bDesc int32, ppOut uintptr) { /* sqlite3.c:228315:13: */ +func fts5MultiIterNew2(tls *libc.TLS, p uintptr, pData uintptr, bDesc int32, ppOut uintptr) { /* sqlite3.c:228372:13: */ var pNew uintptr pNew = fts5MultiIterAlloc(tls, p, 2) if pNew != 0 { @@ -185746,7 +185777,7 @@ func fts5MultiIterNew2(tls *libc.TLS, p uintptr, pData uintptr, bDesc int32, ppO // Return true if the iterator is at EOF or if an error has occurred. // False otherwise. -func fts5MultiIterEof(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlite3.c:228355:12: */ +func fts5MultiIterEof(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlite3.c:228412:12: */ return libc.Bool32((*Fts5Index)(unsafe.Pointer(p)).Frc != 0 || (*Fts5Iter)(unsafe.Pointer(pIter)).Fbase.FbEof != 0) } @@ -185754,13 +185785,13 @@ func fts5MultiIterEof(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlite // Return the rowid of the entry that the iterator currently points // to. If the iterator points to EOF when this function is called the // results are undefined. -func fts5MultiIterRowid(tls *libc.TLS, pIter uintptr) I64 { /* sqlite3.c:228368:12: */ +func fts5MultiIterRowid(tls *libc.TLS, pIter uintptr) I64 { /* sqlite3.c:228425:12: */ return (*Fts5SegIter)(unsafe.Pointer(pIter + 96 + uintptr((*Fts5CResult)(unsafe.Pointer((*Fts5Iter)(unsafe.Pointer(pIter)).FaFirst+1*4)).FiFirst)*120)).FiRowid } // Move the iterator to the next entry at or following iMatch. -func fts5MultiIterNextFrom(tls *libc.TLS, p uintptr, pIter uintptr, iMatch I64) { /* sqlite3.c:228376:13: */ +func fts5MultiIterNextFrom(tls *libc.TLS, p uintptr, pIter uintptr, iMatch I64) { /* sqlite3.c:228433:13: */ for 1 != 0 { var iRowid I64 fts5MultiIterNext(tls, p, pIter, 1, iMatch) @@ -185779,7 +185810,7 @@ func fts5MultiIterNextFrom(tls *libc.TLS, p uintptr, pIter uintptr, iMatch I64) // Return a pointer to a buffer containing the term associated with the // entry that the iterator currently points to. -func fts5MultiIterTerm(tls *libc.TLS, pIter uintptr, pn uintptr) uintptr { /* sqlite3.c:228395:17: */ +func fts5MultiIterTerm(tls *libc.TLS, pIter uintptr, pn uintptr) uintptr { /* sqlite3.c:228452:17: */ var p uintptr = pIter + 96 + uintptr((*Fts5CResult)(unsafe.Pointer((*Fts5Iter)(unsafe.Pointer(pIter)).FaFirst+1*4)).FiFirst)*120 *(*int32)(unsafe.Pointer(pn)) = (*Fts5SegIter)(unsafe.Pointer(p)).Fterm.Fn return (*Fts5SegIter)(unsafe.Pointer(p)).Fterm.Fp @@ -185792,7 +185823,7 @@ func fts5MultiIterTerm(tls *libc.TLS, pIter uintptr, pn uintptr) uintptr { /* sq // // If an error has already occurred, this function is a no-op. 0 is // returned in this case. -func fts5AllocateSegid(tls *libc.TLS, p uintptr, pStruct uintptr) int32 { /* sqlite3.c:228410:12: */ +func fts5AllocateSegid(tls *libc.TLS, p uintptr, pStruct uintptr) int32 { /* sqlite3.c:228467:12: */ bp := tls.Alloc(252) defer tls.Free(252) @@ -185834,7 +185865,7 @@ func fts5AllocateSegid(tls *libc.TLS, p uintptr, pStruct uintptr) int32 { /* sql } // Discard all data currently cached in the hash-tables. -func fts5IndexDiscardData(tls *libc.TLS, p uintptr) { /* sqlite3.c:228467:13: */ +func fts5IndexDiscardData(tls *libc.TLS, p uintptr) { /* sqlite3.c:228524:13: */ if (*Fts5Index)(unsafe.Pointer(p)).FpHash != 0 { sqlite3Fts5HashClear(tls, (*Fts5Index)(unsafe.Pointer(p)).FpHash) @@ -185847,7 +185878,7 @@ func fts5IndexDiscardData(tls *libc.TLS, p uintptr) { /* sqlite3.c:228467:13: */ // // Buffer (pNew/) is guaranteed to be greater // than buffer (pOld/nOld). -func fts5PrefixCompress(tls *libc.TLS, nOld int32, pOld uintptr, pNew uintptr) int32 { /* sqlite3.c:228482:12: */ +func fts5PrefixCompress(tls *libc.TLS, nOld int32, pOld uintptr, pNew uintptr) int32 { /* sqlite3.c:228539:12: */ var i int32 for i = 0; i < nOld; i++ { if int32(*(*U8)(unsafe.Pointer(pOld + uintptr(i)))) != int32(*(*U8)(unsafe.Pointer(pNew + uintptr(i)))) { @@ -185857,7 +185888,7 @@ func fts5PrefixCompress(tls *libc.TLS, nOld int32, pOld uintptr, pNew uintptr) i return i } -func fts5WriteDlidxClear(tls *libc.TLS, p uintptr, pWriter uintptr, bFlush int32) { /* sqlite3.c:228490:13: */ +func fts5WriteDlidxClear(tls *libc.TLS, p uintptr, pWriter uintptr, bFlush int32) { /* sqlite3.c:228547:13: */ var i int32 for i = 0; i < (*Fts5SegWriter)(unsafe.Pointer(pWriter)).FnDlidx; i++ { @@ -185878,7 +185909,7 @@ func fts5WriteDlidxClear(tls *libc.TLS, p uintptr, pWriter uintptr, bFlush int32 // Grow the pWriter->aDlidx[] array to at least nLvl elements in size. // Any new array elements are zeroed before returning. -func fts5WriteDlidxGrow(tls *libc.TLS, p uintptr, pWriter uintptr, nLvl int32) int32 { /* sqlite3.c:228516:12: */ +func fts5WriteDlidxGrow(tls *libc.TLS, p uintptr, pWriter uintptr, nLvl int32) int32 { /* sqlite3.c:228573:12: */ if (*Fts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK && nLvl >= (*Fts5SegWriter)(unsafe.Pointer(pWriter)).FnDlidx { var aDlidx uintptr = Xsqlite3_realloc64(tls, (*Fts5SegWriter)(unsafe.Pointer(pWriter)).FaDlidx, uint64(uint64(unsafe.Sizeof(Fts5DlidxWriter{}))*uint64(nLvl))) @@ -185897,7 +185928,7 @@ func fts5WriteDlidxGrow(tls *libc.TLS, p uintptr, pWriter uintptr, nLvl int32) i // If the current doclist-index accumulating in pWriter->aDlidx[] is large // enough, flush it to disk and return 1. Otherwise discard it and return // zero. -func fts5WriteFlushDlidx(tls *libc.TLS, p uintptr, pWriter uintptr) int32 { /* sqlite3.c:228542:12: */ +func fts5WriteFlushDlidx(tls *libc.TLS, p uintptr, pWriter uintptr) int32 { /* sqlite3.c:228599:12: */ var bFlag int32 = 0 // If there were FTS5_MIN_DLIDX_SIZE or more empty leaf pages written @@ -185919,7 +185950,7 @@ func fts5WriteFlushDlidx(tls *libc.TLS, p uintptr, pWriter uintptr) int32 { /* s // it. // // Fts5SegWriter.btterm currently contains the first term on page iBtPage. -func fts5WriteFlushBtree(tls *libc.TLS, p uintptr, pWriter uintptr) { /* sqlite3.c:228566:13: */ +func fts5WriteFlushBtree(tls *libc.TLS, p uintptr, pWriter uintptr) { /* sqlite3.c:228623:13: */ var bFlag int32 if (*Fts5SegWriter)(unsafe.Pointer(pWriter)).FiBtPage == 0 { @@ -185952,7 +185983,7 @@ func fts5WriteFlushBtree(tls *libc.TLS, p uintptr, pWriter uintptr) { /* sqlite3 // // If an error occurs, an error code is left in Fts5Index.rc. If an error // has already occurred when this function is called, it is a no-op. -func fts5WriteBtreeTerm(tls *libc.TLS, p uintptr, pWriter uintptr, nTerm int32, pTerm uintptr) { /* sqlite3.c:228595:13: */ +func fts5WriteBtreeTerm(tls *libc.TLS, p uintptr, pWriter uintptr, nTerm int32, pTerm uintptr) { /* sqlite3.c:228652:13: */ fts5WriteFlushBtree(tls, p, pWriter) if (*Fts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK { sqlite3Fts5BufferSet(tls, p+52, pWriter+96, nTerm, pTerm) @@ -185962,7 +185993,7 @@ func fts5WriteBtreeTerm(tls *libc.TLS, p uintptr, pWriter uintptr, nTerm int32, // This function is called when flushing a leaf page that contains no // terms at all to disk. -func fts5WriteBtreeNoTerm(tls *libc.TLS, p uintptr, pWriter uintptr) { /* sqlite3.c:228611:13: */ +func fts5WriteBtreeNoTerm(tls *libc.TLS, p uintptr, pWriter uintptr) { /* sqlite3.c:228668:13: */ // If there were no rowids on the leaf page either and the doclist-index // has already been started, append an 0x00 byte to it. if (*Fts5SegWriter)(unsafe.Pointer(pWriter)).FbFirstRowidInPage != 0 && (*Fts5DlidxWriter)(unsafe.Pointer((*Fts5SegWriter)(unsafe.Pointer(pWriter)).FaDlidx)).Fbuf.Fn > 0 { @@ -185975,7 +186006,7 @@ func fts5WriteBtreeNoTerm(tls *libc.TLS, p uintptr, pWriter uintptr) { /* sqlite (*Fts5SegWriter)(unsafe.Pointer(pWriter)).FnEmpty++ } -func fts5DlidxExtractFirstRowid(tls *libc.TLS, pBuf uintptr) I64 { /* sqlite3.c:228627:12: */ +func fts5DlidxExtractFirstRowid(tls *libc.TLS, pBuf uintptr) I64 { /* sqlite3.c:228684:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -185991,7 +186022,7 @@ func fts5DlidxExtractFirstRowid(tls *libc.TLS, pBuf uintptr) I64 { /* sqlite3.c: // Rowid iRowid has just been appended to the current leaf page. It is the // first on the page. This function appends an appropriate entry to the current // doclist-index. -func fts5WriteDlidxAppend(tls *libc.TLS, p uintptr, pWriter uintptr, iRowid I64) { /* sqlite3.c:228641:13: */ +func fts5WriteDlidxAppend(tls *libc.TLS, p uintptr, pWriter uintptr, iRowid I64) { /* sqlite3.c:228698:13: */ var i int32 var bDone int32 = 0 @@ -186051,7 +186082,7 @@ func fts5WriteDlidxAppend(tls *libc.TLS, p uintptr, pWriter uintptr, iRowid I64) } } -func fts5WriteFlushLeaf(tls *libc.TLS, p uintptr, pWriter uintptr) { /* sqlite3.c:228701:13: */ +func fts5WriteFlushLeaf(tls *libc.TLS, p uintptr, pWriter uintptr) { /* sqlite3.c:228758:13: */ var pPage uintptr = pWriter + 8 var iRowid I64 @@ -186087,14 +186118,14 @@ func fts5WriteFlushLeaf(tls *libc.TLS, p uintptr, pWriter uintptr) { /* sqlite3. (*Fts5SegWriter)(unsafe.Pointer(pWriter)).FbFirstRowidInPage = U8(1) } -var zero = [4]U8{U8(0x00), U8(0x00), U8(0x00), U8(0x00)} /* sqlite3.c:228702:19 */ +var zero = [4]U8{U8(0x00), U8(0x00), U8(0x00), U8(0x00)} /* sqlite3.c:228759:19 */ // Append term pTerm/nTerm to the segment being written by the writer passed // as the second argument. // // If an error occurs, set the Fts5Index.rc error code. If an error has // already occurred, this function is a no-op. -func fts5WriteAppendTerm(tls *libc.TLS, p uintptr, pWriter uintptr, nTerm int32, pTerm uintptr) { /* sqlite3.c:228747:13: */ +func fts5WriteAppendTerm(tls *libc.TLS, p uintptr, pWriter uintptr, nTerm int32, pTerm uintptr) { /* sqlite3.c:228804:13: */ var nPrefix int32 // Bytes of prefix compression for term var pPage uintptr = pWriter + 8 var pPgidx uintptr = pWriter + 8 + 24 @@ -186170,7 +186201,7 @@ func fts5WriteAppendTerm(tls *libc.TLS, p uintptr, pWriter uintptr, nTerm int32, } // Append a rowid and position-list size field to the writers output. -func fts5WriteAppendRowid(tls *libc.TLS, p uintptr, pWriter uintptr, iRowid I64) { /* sqlite3.c:228828:13: */ +func fts5WriteAppendRowid(tls *libc.TLS, p uintptr, pWriter uintptr, iRowid I64) { /* sqlite3.c:228885:13: */ if (*Fts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK { var pPage uintptr = pWriter + 8 @@ -186199,7 +186230,7 @@ func fts5WriteAppendRowid(tls *libc.TLS, p uintptr, pWriter uintptr, iRowid I64) } } -func fts5WriteAppendPoslistData(tls *libc.TLS, p uintptr, pWriter uintptr, aData uintptr, nData int32) { /* sqlite3.c:228861:13: */ +func fts5WriteAppendPoslistData(tls *libc.TLS, p uintptr, pWriter uintptr, aData uintptr, nData int32) { /* sqlite3.c:228918:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -186228,7 +186259,7 @@ func fts5WriteAppendPoslistData(tls *libc.TLS, p uintptr, pWriter uintptr, aData // Flush any data cached by the writer object to the database. Free any // allocations associated with the writer. -func fts5WriteFinish(tls *libc.TLS, p uintptr, pWriter uintptr, pnLeaf uintptr) { /* sqlite3.c:228895:13: */ +func fts5WriteFinish(tls *libc.TLS, p uintptr, pWriter uintptr, pnLeaf uintptr) { /* sqlite3.c:228952:13: */ var i int32 var pLeaf uintptr = pWriter + 8 if (*Fts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK { @@ -186252,7 +186283,7 @@ func fts5WriteFinish(tls *libc.TLS, p uintptr, pWriter uintptr, pnLeaf uintptr) Xsqlite3_free(tls, (*Fts5SegWriter)(unsafe.Pointer(pWriter)).FaDlidx) } -func fts5WriteInit(tls *libc.TLS, p uintptr, pWriter uintptr, iSegid int32) { /* sqlite3.c:228923:13: */ +func fts5WriteInit(tls *libc.TLS, p uintptr, pWriter uintptr, iSegid int32) { /* sqlite3.c:228980:13: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -186292,7 +186323,7 @@ func fts5WriteInit(tls *libc.TLS, p uintptr, pWriter uintptr, iSegid int32) { /* // Iterator pIter was used to iterate through the input segments of on an // incremental merge operation. This function is called if the incremental // merge step has finished but the input has not been completely exhausted. -func fts5TrimSegments(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:228970:13: */ +func fts5TrimSegments(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:229027:13: */ bp := tls.Alloc(20) defer tls.Free(20) @@ -186361,13 +186392,13 @@ func fts5TrimSegments(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:22 sqlite3Fts5BufferFree(tls, bp) } -func fts5MergeChunkCallback(tls *libc.TLS, p uintptr, pCtx uintptr, pChunk uintptr, nChunk int32) { /* sqlite3.c:229036:13: */ +func fts5MergeChunkCallback(tls *libc.TLS, p uintptr, pCtx uintptr, pChunk uintptr, nChunk int32) { /* sqlite3.c:229093:13: */ var pWriter uintptr = pCtx fts5WriteAppendPoslistData(tls, p, pWriter, pChunk, nChunk) } // -func fts5IndexMergeLevel(tls *libc.TLS, p uintptr, ppStruct uintptr, iLvl int32, pnRem uintptr) { /* sqlite3.c:229048:13: */ +func fts5IndexMergeLevel(tls *libc.TLS, p uintptr, ppStruct uintptr, iLvl int32, pnRem uintptr) { /* sqlite3.c:229105:13: */ bp := tls.Alloc(148) defer tls.Free(148) @@ -186526,7 +186557,7 @@ func fts5IndexMergeLevel(tls *libc.TLS, p uintptr, ppStruct uintptr, iLvl int32, // Do up to nPg pages of automerge work on the index. // // Return true if any changes were actually made, or false otherwise. -func fts5IndexMerge(tls *libc.TLS, p uintptr, ppStruct uintptr, nPg int32, nMin int32) int32 { /* sqlite3.c:229198:12: */ +func fts5IndexMerge(tls *libc.TLS, p uintptr, ppStruct uintptr, nPg int32, nMin int32) int32 { /* sqlite3.c:229255:12: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -186576,7 +186607,7 @@ func fts5IndexMerge(tls *libc.TLS, p uintptr, ppStruct uintptr, nPg int32, nMin // // If an error occurs, set the Fts5Index.rc error code. If an error has // already occurred, this function is a no-op. -func fts5IndexAutomerge(tls *libc.TLS, p uintptr, ppStruct uintptr, nLeaf int32) { /* sqlite3.c:229257:13: */ +func fts5IndexAutomerge(tls *libc.TLS, p uintptr, ppStruct uintptr, nLeaf int32) { /* sqlite3.c:229314:13: */ if (*Fts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK && (*Fts5Config)(unsafe.Pointer((*Fts5Index)(unsafe.Pointer(p)).FpConfig)).FnAutomerge > 0 && *(*uintptr)(unsafe.Pointer(ppStruct)) != uintptr(0) { var pStruct uintptr = *(*uintptr)(unsafe.Pointer(ppStruct)) var nWrite U64 // Initial value of write-counter @@ -186593,7 +186624,7 @@ func fts5IndexAutomerge(tls *libc.TLS, p uintptr, ppStruct uintptr, nLeaf int32) } } -func fts5IndexCrisismerge(tls *libc.TLS, p uintptr, ppStruct uintptr) { /* sqlite3.c:229278:13: */ +func fts5IndexCrisismerge(tls *libc.TLS, p uintptr, ppStruct uintptr) { /* sqlite3.c:229335:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -186610,7 +186641,7 @@ func fts5IndexCrisismerge(tls *libc.TLS, p uintptr, ppStruct uintptr) { /* sqlit *(*uintptr)(unsafe.Pointer(ppStruct)) = *(*uintptr)(unsafe.Pointer(bp /* pStruct */)) } -func fts5IndexReturn(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:229296:12: */ +func fts5IndexReturn(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:229353:12: */ var rc int32 = (*Fts5Index)(unsafe.Pointer(p)).Frc (*Fts5Index)(unsafe.Pointer(p)).Frc = SQLITE_OK return rc @@ -186619,14 +186650,14 @@ func fts5IndexReturn(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:229296:12: * type Fts5FlushCtx1 = struct { FpIdx uintptr Fwriter Fts5SegWriter -} /* sqlite3.c:229302:9 */ +} /* sqlite3.c:229359:9 */ -type Fts5FlushCtx = Fts5FlushCtx1 /* sqlite3.c:229302:29 */ +type Fts5FlushCtx = Fts5FlushCtx1 /* sqlite3.c:229359:29 */ // Buffer aBuf[] contains a list of varints, all small enough to fit // in a 32-bit integer. Return the size of the largest prefix of this // list nMax bytes or less in size. -func fts5PoslistPrefix(tls *libc.TLS, aBuf uintptr, nMax int32) int32 { /* sqlite3.c:229313:12: */ +func fts5PoslistPrefix(tls *libc.TLS, aBuf uintptr, nMax int32) int32 { /* sqlite3.c:229370:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -186651,7 +186682,7 @@ func fts5PoslistPrefix(tls *libc.TLS, aBuf uintptr, nMax int32) int32 { /* sqlit // // If an error occurs, set the Fts5Index.rc error code. If an error has // already occurred, this function is a no-op. -func fts5FlushOneHash(tls *libc.TLS, p uintptr) { /* sqlite3.c:229334:13: */ +func fts5FlushOneHash(tls *libc.TLS, p uintptr) { /* sqlite3.c:229391:13: */ bp := tls.Alloc(176) defer tls.Free(176) @@ -186829,7 +186860,7 @@ func fts5FlushOneHash(tls *libc.TLS, p uintptr) { /* sqlite3.c:229334:13: */ } // Flush any data stored in the in-memory hash tables to the database. -func fts5IndexFlush(tls *libc.TLS, p uintptr) { /* sqlite3.c:229488:13: */ +func fts5IndexFlush(tls *libc.TLS, p uintptr) { /* sqlite3.c:229545:13: */ // Unless it is empty, flush the hash table to disk if (*Fts5Index)(unsafe.Pointer(p)).FnPendingData != 0 { @@ -186838,7 +186869,7 @@ func fts5IndexFlush(tls *libc.TLS, p uintptr) { /* sqlite3.c:229488:13: */ } } -func fts5IndexOptimizeStruct(tls *libc.TLS, p uintptr, pStruct uintptr) uintptr { /* sqlite3.c:229497:22: */ +func fts5IndexOptimizeStruct(tls *libc.TLS, p uintptr, pStruct uintptr) uintptr { /* sqlite3.c:229554:22: */ var pNew uintptr = uintptr(0) var nByte Sqlite3_int64 = Sqlite3_int64(unsafe.Sizeof(Fts5Structure{})) var nSeg int32 = (*Fts5Structure)(unsafe.Pointer(pStruct)).FnSegment @@ -186899,7 +186930,7 @@ func fts5IndexOptimizeStruct(tls *libc.TLS, p uintptr, pStruct uintptr) uintptr return pNew } -func sqlite3Fts5IndexOptimize(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:229559:12: */ +func sqlite3Fts5IndexOptimize(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:229616:12: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -186933,7 +186964,7 @@ func sqlite3Fts5IndexOptimize(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:229 // This is called to implement the special "VALUES('merge', $nMerge)" // INSERT command. -func sqlite3Fts5IndexMerge(tls *libc.TLS, p uintptr, nMerge int32) int32 { /* sqlite3.c:229593:12: */ +func sqlite3Fts5IndexMerge(tls *libc.TLS, p uintptr, nMerge int32) int32 { /* sqlite3.c:229650:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -186958,12 +186989,12 @@ func sqlite3Fts5IndexMerge(tls *libc.TLS, p uintptr, nMerge int32) int32 { /* sq return fts5IndexReturn(tls, p) } -func fts5AppendRowid(tls *libc.TLS, p uintptr, iDelta I64, pUnused uintptr, pBuf uintptr) { /* sqlite3.c:229615:13: */ +func fts5AppendRowid(tls *libc.TLS, p uintptr, iDelta I64, pUnused uintptr, pBuf uintptr) { /* sqlite3.c:229672:13: */ _ = pUnused sqlite3Fts5BufferAppendVarint(tls, p+52, pBuf, iDelta) } -func fts5AppendPoslist(tls *libc.TLS, p uintptr, iDelta I64, pMulti uintptr, pBuf uintptr) { /* sqlite3.c:229625:13: */ +func fts5AppendPoslist(tls *libc.TLS, p uintptr, iDelta I64, pMulti uintptr, pBuf uintptr) { /* sqlite3.c:229682:13: */ var nData int32 = (*Fts5Iter)(unsafe.Pointer(pMulti)).Fbase.FnData var nByte int32 = nData + 9 + 9 + FTS5_DATA_ZERO_PADDING @@ -186990,7 +187021,7 @@ func fts5AppendPoslist(tls *libc.TLS, p uintptr, iDelta I64, pMulti uintptr, pBu } } -func fts5DoclistIterNext(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:229643:13: */ +func fts5DoclistIterNext(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:229700:13: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -187022,7 +187053,7 @@ func fts5DoclistIterNext(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:229643:13: } } -func fts5DoclistIterInit(tls *libc.TLS, pBuf uintptr, pIter uintptr) { /* sqlite3.c:229672:13: */ +func fts5DoclistIterInit(tls *libc.TLS, pBuf uintptr, pIter uintptr) { /* sqlite3.c:229729:13: */ libc.Xmemset(tls, pIter, 0, uint64(unsafe.Sizeof(Fts5DoclistIter{}))) if (*Fts5Buffer)(unsafe.Pointer(pBuf)).Fn > 0 { (*Fts5DoclistIter)(unsafe.Pointer(pIter)).FaPoslist = (*Fts5Buffer)(unsafe.Pointer(pBuf)).Fp @@ -187032,13 +187063,13 @@ func fts5DoclistIterInit(tls *libc.TLS, pBuf uintptr, pIter uintptr) { /* sqlite } // Swap the contents of buffer *p1 with that of *p2. -func fts5BufferSwap(tls *libc.TLS, p1 uintptr, p2 uintptr) { /* sqlite3.c:229711:13: */ +func fts5BufferSwap(tls *libc.TLS, p1 uintptr, p2 uintptr) { /* sqlite3.c:229768:13: */ var tmp = *(*Fts5Buffer)(unsafe.Pointer(p1)) *(*Fts5Buffer)(unsafe.Pointer(p1)) = *(*Fts5Buffer)(unsafe.Pointer(p2)) *(*Fts5Buffer)(unsafe.Pointer(p2)) = tmp } -func fts5NextRowid(tls *libc.TLS, pBuf uintptr, piOff uintptr, piRowid uintptr) { /* sqlite3.c:229717:13: */ +func fts5NextRowid(tls *libc.TLS, pBuf uintptr, piOff uintptr, piRowid uintptr) { /* sqlite3.c:229774:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -187055,7 +187086,7 @@ func fts5NextRowid(tls *libc.TLS, pBuf uintptr, piOff uintptr, piRowid uintptr) // This is the equivalent of fts5MergePrefixLists() for detail=none mode. // In this case the buffers consist of a delta-encoded list of rowids only. -func fts5MergeRowidLists(tls *libc.TLS, p uintptr, p1 uintptr, nBuf int32, aBuf uintptr) { /* sqlite3.c:229732:13: */ +func fts5MergeRowidLists(tls *libc.TLS, p uintptr, p1 uintptr, nBuf int32, aBuf uintptr) { /* sqlite3.c:229789:13: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -187111,11 +187142,11 @@ type PrefixMerger1 = struct { F__ccgo_pad1 [4]byte FaPos uintptr FpNext uintptr -} /* sqlite3.c:229775:9 */ +} /* sqlite3.c:229832:9 */ -type PrefixMerger = PrefixMerger1 /* sqlite3.c:229775:29 */ +type PrefixMerger = PrefixMerger1 /* sqlite3.c:229832:29 */ -func fts5PrefixMergerInsertByRowid(tls *libc.TLS, ppHead uintptr, p uintptr) { /* sqlite3.c:229784:13: */ +func fts5PrefixMergerInsertByRowid(tls *libc.TLS, ppHead uintptr, p uintptr) { /* sqlite3.c:229841:13: */ if (*PrefixMerger)(unsafe.Pointer(p)).Fiter.FaPoslist != 0 { var pp uintptr = ppHead for *(*uintptr)(unsafe.Pointer(pp)) != 0 && (*PrefixMerger)(unsafe.Pointer(p)).Fiter.FiRowid > (*PrefixMerger)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pp)))).Fiter.FiRowid { @@ -187126,7 +187157,7 @@ func fts5PrefixMergerInsertByRowid(tls *libc.TLS, ppHead uintptr, p uintptr) { / } } -func fts5PrefixMergerInsertByPosition(tls *libc.TLS, ppHead uintptr, p uintptr) { /* sqlite3.c:229798:13: */ +func fts5PrefixMergerInsertByPosition(tls *libc.TLS, ppHead uintptr, p uintptr) { /* sqlite3.c:229855:13: */ if (*PrefixMerger)(unsafe.Pointer(p)).FiPos >= int64(0) { var pp uintptr = ppHead for *(*uintptr)(unsafe.Pointer(pp)) != 0 && (*PrefixMerger)(unsafe.Pointer(p)).FiPos > (*PrefixMerger)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pp)))).FiPos { @@ -187139,7 +187170,7 @@ func fts5PrefixMergerInsertByPosition(tls *libc.TLS, ppHead uintptr, p uintptr) // Array aBuf[] contains nBuf doclists. These are all merged in with the // doclist in buffer p1. -func fts5MergePrefixLists(tls *libc.TLS, p uintptr, p1 uintptr, nBuf int32, aBuf uintptr) { /* sqlite3.c:229817:13: */ +func fts5MergePrefixLists(tls *libc.TLS, p uintptr, p1 uintptr, nBuf int32, aBuf uintptr) { /* sqlite3.c:229874:13: */ bp := tls.Alloc(1072) defer tls.Free(1072) @@ -187304,7 +187335,7 @@ func fts5MergePrefixLists(tls *libc.TLS, p uintptr, p1 uintptr, nBuf int32, aBuf *(*Fts5Buffer)(unsafe.Pointer(p1)) = *(*Fts5Buffer)(unsafe.Pointer(bp + 1032 /* out */)) } -func fts5SetupPrefixIter(tls *libc.TLS, p uintptr, bDesc int32, iIdx int32, pToken uintptr, nToken int32, pColset uintptr, ppIter uintptr) { /* sqlite3.c:229961:13: */ +func fts5SetupPrefixIter(tls *libc.TLS, p uintptr, bDesc int32, iIdx int32, pToken uintptr, nToken int32, pColset uintptr, ppIter uintptr) { /* sqlite3.c:230018:13: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -187451,7 +187482,7 @@ func fts5SetupPrefixIter(tls *libc.TLS, p uintptr, bDesc int32, iIdx int32, pTok // Indicate that all subsequent calls to sqlite3Fts5IndexWrite() pertain // to the document with rowid iRowid. -func sqlite3Fts5IndexBeginWrite(tls *libc.TLS, p uintptr, bDelete int32, iRowid I64) int32 { /* sqlite3.c:230098:12: */ +func sqlite3Fts5IndexBeginWrite(tls *libc.TLS, p uintptr, bDelete int32, iRowid I64) int32 { /* sqlite3.c:230155:12: */ // Allocate the hash table if it has not already been allocated if (*Fts5Index)(unsafe.Pointer(p)).FpHash == uintptr(0) { @@ -187471,7 +187502,7 @@ func sqlite3Fts5IndexBeginWrite(tls *libc.TLS, p uintptr, bDelete int32, iRowid } // Commit data to disk. -func sqlite3Fts5IndexSync(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:230122:12: */ +func sqlite3Fts5IndexSync(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:230179:12: */ fts5IndexFlush(tls, p) sqlite3Fts5IndexCloseReader(tls, p) @@ -187482,7 +187513,7 @@ func sqlite3Fts5IndexSync(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:230122: // to the database. Additionally, assume that the contents of the %_data // table may have changed on disk. So any in-memory caches of %_data // records must be invalidated. -func sqlite3Fts5IndexRollback(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:230135:12: */ +func sqlite3Fts5IndexRollback(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:230192:12: */ sqlite3Fts5IndexCloseReader(tls, p) fts5IndexDiscardData(tls, p) fts5StructureInvalidate(tls, p) @@ -187493,7 +187524,7 @@ func sqlite3Fts5IndexRollback(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:230 // The %_data table is completely empty when this function is called. This // function populates it with the initial structure objects for each index, // and the initial version of the "averages" record (a zero-byte blob). -func sqlite3Fts5IndexReinit(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:230148:12: */ +func sqlite3Fts5IndexReinit(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:230205:12: */ bp := tls.Alloc(40) defer tls.Free(40) @@ -187512,7 +187543,7 @@ func sqlite3Fts5IndexReinit(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:23014 // // If successful, set *pp to point to the new object and return SQLITE_OK. // Otherwise, set *pp to NULL and return an SQLite error code. -func sqlite3Fts5IndexOpen(tls *libc.TLS, pConfig uintptr, bCreate int32, pp uintptr, pzErr uintptr) int32 { /* sqlite3.c:230165:12: */ +func sqlite3Fts5IndexOpen(tls *libc.TLS, pConfig uintptr, bCreate int32, pp uintptr, pzErr uintptr) int32 { /* sqlite3.c:230222:12: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -187546,7 +187577,7 @@ func sqlite3Fts5IndexOpen(tls *libc.TLS, pConfig uintptr, bCreate int32, pp uint } // Close a handle opened by an earlier call to sqlite3Fts5IndexOpen(). -func sqlite3Fts5IndexClose(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:230206:12: */ +func sqlite3Fts5IndexClose(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:230263:12: */ var rc int32 = SQLITE_OK if p != 0 { @@ -187567,7 +187598,7 @@ func sqlite3Fts5IndexClose(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:230206 // Argument p points to a buffer containing utf-8 text that is n bytes in // size. Return the number of bytes in the nChar character prefix of the // buffer, or 0 if there are less than nChar characters in total. -func sqlite3Fts5IndexCharlenToBytelen(tls *libc.TLS, p uintptr, nByte int32, nChar int32) int32 { /* sqlite3.c:230229:12: */ +func sqlite3Fts5IndexCharlenToBytelen(tls *libc.TLS, p uintptr, nByte int32, nChar int32) int32 { /* sqlite3.c:230286:12: */ var n int32 = 0 var i int32 for i = 0; i < nChar; i++ { @@ -187594,7 +187625,7 @@ func sqlite3Fts5IndexCharlenToBytelen(tls *libc.TLS, p uintptr, nByte int32, nCh // pIn is a UTF-8 encoded string, nIn bytes in size. Return the number of // unicode characters in the string. -func fts5IndexCharlen(tls *libc.TLS, pIn uintptr, nIn int32) int32 { /* sqlite3.c:230256:12: */ +func fts5IndexCharlen(tls *libc.TLS, pIn uintptr, nIn int32) int32 { /* sqlite3.c:230313:12: */ var nChar int32 = 0 var i int32 = 0 for i < nIn { @@ -187616,7 +187647,7 @@ func fts5IndexCharlen(tls *libc.TLS, pIn uintptr, nIn int32) int32 { /* sqlite3. // If the operation is a delete, it must be called (at least) once for each // unique token in the document with an iCol value less than zero. The iPos // argument is ignored for a delete. -func sqlite3Fts5IndexWrite(tls *libc.TLS, p uintptr, iCol int32, iPos int32, pToken uintptr, nToken int32) int32 { /* sqlite3.c:230278:12: */ +func sqlite3Fts5IndexWrite(tls *libc.TLS, p uintptr, iCol int32, iPos int32, pToken uintptr, nToken int32) int32 { /* sqlite3.c:230335:12: */ var i int32 // Used to iterate through indexes var rc int32 = SQLITE_OK // Return code var pConfig uintptr = (*Fts5Index)(unsafe.Pointer(p)).FpConfig @@ -187640,7 +187671,7 @@ func sqlite3Fts5IndexWrite(tls *libc.TLS, p uintptr, iCol int32, iPos int32, pTo // Open a new iterator to iterate though all rowid that match the // specified token or token prefix. -func sqlite3Fts5IndexQuery(tls *libc.TLS, p uintptr, pToken uintptr, nToken int32, flags int32, pColset uintptr, ppIter uintptr) int32 { /* sqlite3.c:230314:12: */ +func sqlite3Fts5IndexQuery(tls *libc.TLS, p uintptr, pToken uintptr, nToken int32, flags int32, pColset uintptr, ppIter uintptr) int32 { /* sqlite3.c:230371:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -187723,7 +187754,7 @@ func sqlite3Fts5IndexQuery(tls *libc.TLS, p uintptr, pToken uintptr, nToken int3 // Return true if the iterator passed as the only argument is at EOF. // Move to the next matching rowid. -func sqlite3Fts5IterNext(tls *libc.TLS, pIndexIter uintptr) int32 { /* sqlite3.c:230402:12: */ +func sqlite3Fts5IterNext(tls *libc.TLS, pIndexIter uintptr) int32 { /* sqlite3.c:230459:12: */ var pIter uintptr = pIndexIter fts5MultiIterNext(tls, (*Fts5Iter)(unsafe.Pointer(pIter)).FpIndex, pIter, 0, int64(0)) @@ -187731,7 +187762,7 @@ func sqlite3Fts5IterNext(tls *libc.TLS, pIndexIter uintptr) int32 { /* sqlite3.c } // Move to the next matching term/rowid. Used by the fts5vocab module. -func sqlite3Fts5IterNextScan(tls *libc.TLS, pIndexIter uintptr) int32 { /* sqlite3.c:230412:12: */ +func sqlite3Fts5IterNextScan(tls *libc.TLS, pIndexIter uintptr) int32 { /* sqlite3.c:230469:12: */ var pIter uintptr = pIndexIter var p uintptr = (*Fts5Iter)(unsafe.Pointer(pIter)).FpIndex @@ -187751,14 +187782,14 @@ func sqlite3Fts5IterNextScan(tls *libc.TLS, pIndexIter uintptr) int32 { /* sqlit // Move to the next matching rowid that occurs at or after iMatch. The // definition of "at or after" depends on whether this iterator iterates // in ascending or descending rowid order. -func sqlite3Fts5IterNextFrom(tls *libc.TLS, pIndexIter uintptr, iMatch I64) int32 { /* sqlite3.c:230436:12: */ +func sqlite3Fts5IterNextFrom(tls *libc.TLS, pIndexIter uintptr, iMatch I64) int32 { /* sqlite3.c:230493:12: */ var pIter uintptr = pIndexIter fts5MultiIterNextFrom(tls, (*Fts5Iter)(unsafe.Pointer(pIter)).FpIndex, pIter, iMatch) return fts5IndexReturn(tls, (*Fts5Iter)(unsafe.Pointer(pIter)).FpIndex) } // Return the current term. -func sqlite3Fts5IterTerm(tls *libc.TLS, pIndexIter uintptr, pn uintptr) uintptr { /* sqlite3.c:230445:19: */ +func sqlite3Fts5IterTerm(tls *libc.TLS, pIndexIter uintptr, pn uintptr) uintptr { /* sqlite3.c:230502:19: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -187776,7 +187807,7 @@ func sqlite3Fts5IterTerm(tls *libc.TLS, pIndexIter uintptr, pn uintptr) uintptr } // Close an iterator opened by an earlier call to sqlite3Fts5IndexQuery(). -func sqlite3Fts5IterClose(tls *libc.TLS, pIndexIter uintptr) { /* sqlite3.c:230456:13: */ +func sqlite3Fts5IterClose(tls *libc.TLS, pIndexIter uintptr) { /* sqlite3.c:230513:13: */ if pIndexIter != 0 { var pIter uintptr = pIndexIter var pIndex uintptr = (*Fts5Iter)(unsafe.Pointer(pIter)).FpIndex @@ -187789,7 +187820,7 @@ func sqlite3Fts5IterClose(tls *libc.TLS, pIndexIter uintptr) { /* sqlite3.c:2304 // // Parameter anSize must point to an array of size nCol, where nCol is // the number of user defined columns in the FTS table. -func sqlite3Fts5IndexGetAverages(tls *libc.TLS, p uintptr, pnRow uintptr, anSize uintptr) int32 { /* sqlite3.c:230471:12: */ +func sqlite3Fts5IndexGetAverages(tls *libc.TLS, p uintptr, pnRow uintptr, anSize uintptr) int32 { /* sqlite3.c:230528:12: */ var nCol int32 = (*Fts5Config)(unsafe.Pointer((*Fts5Index)(unsafe.Pointer(p)).FpConfig)).FnCol var pData uintptr @@ -187811,7 +187842,7 @@ func sqlite3Fts5IndexGetAverages(tls *libc.TLS, p uintptr, pnRow uintptr, anSize // Replace the current "averages" record with the contents of the buffer // supplied as the second argument. -func sqlite3Fts5IndexSetAverages(tls *libc.TLS, p uintptr, pData uintptr, nData int32) int32 { /* sqlite3.c:230495:12: */ +func sqlite3Fts5IndexSetAverages(tls *libc.TLS, p uintptr, pData uintptr, nData int32) int32 { /* sqlite3.c:230552:12: */ fts5DataWrite(tls, p, int64(FTS5_AVERAGES_ROWID), pData, nData) return fts5IndexReturn(tls, p) @@ -187819,7 +187850,7 @@ func sqlite3Fts5IndexSetAverages(tls *libc.TLS, p uintptr, pData uintptr, nData // Return the total number of blocks this module has read from the %_data // table since it was created. -func sqlite3Fts5IndexReads(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:230505:12: */ +func sqlite3Fts5IndexReads(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:230562:12: */ return (*Fts5Index)(unsafe.Pointer(p)).FnRead } @@ -187828,7 +187859,7 @@ func sqlite3Fts5IndexReads(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:230505 // // Return SQLITE_OK if successful, or an SQLite error code if an error // occurs. -func sqlite3Fts5IndexSetCookie(tls *libc.TLS, p uintptr, iNew int32) int32 { /* sqlite3.c:230516:12: */ +func sqlite3Fts5IndexSetCookie(tls *libc.TLS, p uintptr, iNew int32) int32 { /* sqlite3.c:230573:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -187850,7 +187881,7 @@ func sqlite3Fts5IndexSetCookie(tls *libc.TLS, p uintptr, iNew int32) int32 { /* return rc } -func sqlite3Fts5IndexLoadConfig(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:230536:12: */ +func sqlite3Fts5IndexLoadConfig(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:230593:12: */ var pStruct uintptr pStruct = fts5StructureRead(tls, p) fts5StructureRelease(tls, pStruct) @@ -187864,7 +187895,7 @@ func sqlite3Fts5IndexLoadConfig(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:2 // functionality. // Return a simple checksum value based on the arguments. -func sqlite3Fts5IndexEntryCksum(tls *libc.TLS, iRowid I64, iCol int32, iPos int32, iIdx int32, pTerm uintptr, nTerm int32) U64 { /* sqlite3.c:230553:12: */ +func sqlite3Fts5IndexEntryCksum(tls *libc.TLS, iRowid I64, iCol int32, iPos int32, iIdx int32, pTerm uintptr, nTerm int32) U64 { /* sqlite3.c:230610:12: */ var i int32 var ret U64 = U64(iRowid) ret = ret + (ret<<3 + U64(iCol)) @@ -187884,7 +187915,7 @@ func sqlite3Fts5IndexEntryCksum(tls *libc.TLS, iRowid I64, iCol int32, iPos int3 // contain zero terms. // 2) All leaves of pSeg between iNoRowid and iLast (inclusive) exist and // contain zero rowids. -func fts5IndexIntegrityCheckEmpty(tls *libc.TLS, p uintptr, pSeg uintptr, iFirst int32, iNoRowid int32, iLast int32) { /* sqlite3.c:230771:13: */ +func fts5IndexIntegrityCheckEmpty(tls *libc.TLS, p uintptr, pSeg uintptr, iFirst int32, iNoRowid int32, iLast int32) { /* sqlite3.c:230828:13: */ var i int32 // Now check that the iter.nEmpty leaves following the current leaf @@ -187903,7 +187934,7 @@ func fts5IndexIntegrityCheckEmpty(tls *libc.TLS, p uintptr, pSeg uintptr, iFirst } } -func fts5IntegrityCheckPgidx(tls *libc.TLS, p uintptr, pLeaf uintptr) { /* sqlite3.c:230792:13: */ +func fts5IntegrityCheckPgidx(tls *libc.TLS, p uintptr, pLeaf uintptr) { /* sqlite3.c:230849:13: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -187962,7 +187993,7 @@ func fts5IntegrityCheckPgidx(tls *libc.TLS, p uintptr, pLeaf uintptr) { /* sqlit sqlite3Fts5BufferFree(tls, bp+32) } -func fts5IndexIntegrityCheckSegment(tls *libc.TLS, p uintptr, pSeg uintptr) { /* sqlite3.c:230842:13: */ +func fts5IndexIntegrityCheckSegment(tls *libc.TLS, p uintptr, pSeg uintptr) { /* sqlite3.c:230899:13: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -188131,7 +188162,7 @@ func fts5IndexIntegrityCheckSegment(tls *libc.TLS, p uintptr, pSeg uintptr) { /* // checksum does not match. Return SQLITE_OK if all checks pass without // error, or some other SQLite error code if another error (e.g. OOM) // occurs. -func sqlite3Fts5IndexIntegrityCheck(tls *libc.TLS, p uintptr, cksum U64, bUseCksum int32) int32 { /* sqlite3.c:230987:12: */ +func sqlite3Fts5IndexIntegrityCheck(tls *libc.TLS, p uintptr, cksum U64, bUseCksum int32) int32 { /* sqlite3.c:231044:12: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -188221,13 +188252,13 @@ func sqlite3Fts5IndexIntegrityCheck(tls *libc.TLS, p uintptr, cksum U64, bUseCks // // If successful, SQLITE_OK is returned. If an error occurs, some other // SQLite error code is returned instead. -func sqlite3Fts5IndexInit(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:231550:12: */ +func sqlite3Fts5IndexInit(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:231607:12: */ return SQLITE_OK _ = db return int32(0) } -func sqlite3Fts5IndexReset(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:231576:12: */ +func sqlite3Fts5IndexReset(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:231633:12: */ if fts5IndexDataVersion(tls, p) != (*Fts5Index)(unsafe.Pointer(p)).FiStructVersion { fts5StructureInvalidate(tls, p) @@ -188260,7 +188291,7 @@ type Fts5Auxdata1 = struct { FpPtr uintptr FxDelete uintptr FpNext uintptr -} /* sqlite3.c:216813:9 */ +} /* sqlite3.c:216870:9 */ // 2014 Jun 09 // @@ -188282,7 +188313,7 @@ type Fts5Auxdata1 = struct { // assert() conditions in the fts5 code are activated - conditions that are // only true if it is guaranteed that the fts5 database is not corrupt. -type Fts5Auxdata = Fts5Auxdata1 /* sqlite3.c:231613:28 */ +type Fts5Auxdata = Fts5Auxdata1 /* sqlite3.c:231670:28 */ type Fts5Auxiliary1 = struct { FpGlobal uintptr FzFunc uintptr @@ -188290,9 +188321,9 @@ type Fts5Auxiliary1 = struct { FxFunc Fts5_extension_function FxDestroy uintptr FpNext uintptr -} /* sqlite3.c:216813:9 */ +} /* sqlite3.c:216870:9 */ -type Fts5Auxiliary = Fts5Auxiliary1 /* sqlite3.c:231614:30 */ +type Fts5Auxiliary = Fts5Auxiliary1 /* sqlite3.c:231671:30 */ type Fts5Cursor1 = struct { Fbase Sqlite3_vtab_cursor FpNext uintptr @@ -188321,35 +188352,35 @@ type Fts5Cursor1 = struct { FnInstAlloc int32 FnInstCount int32 FaInst uintptr -} /* sqlite3.c:216813:9 */ +} /* sqlite3.c:216870:9 */ -type Fts5Cursor = Fts5Cursor1 /* sqlite3.c:231615:27 */ +type Fts5Cursor = Fts5Cursor1 /* sqlite3.c:231672:27 */ type Fts5FullTable1 = struct { Fp Fts5Table FpStorage uintptr FpGlobal uintptr FpSortCsr uintptr -} /* sqlite3.c:231616:9 */ +} /* sqlite3.c:231673:9 */ -type Fts5FullTable = Fts5FullTable1 /* sqlite3.c:231616:30 */ +type Fts5FullTable = Fts5FullTable1 /* sqlite3.c:231673:30 */ type Fts5Sorter1 = struct { FpStmt uintptr FiRowid I64 FaPoslist uintptr FnIdx int32 FaIdx [1]int32 -} /* sqlite3.c:216813:9 */ +} /* sqlite3.c:216870:9 */ -type Fts5Sorter = Fts5Sorter1 /* sqlite3.c:231617:27 */ +type Fts5Sorter = Fts5Sorter1 /* sqlite3.c:231674:27 */ type Fts5TokenizerModule1 = struct { FzName uintptr FpUserData uintptr Fx Fts5_tokenizer FxDestroy uintptr FpNext uintptr -} /* sqlite3.c:216813:9 */ +} /* sqlite3.c:216870:9 */ -type Fts5TokenizerModule = Fts5TokenizerModule1 /* sqlite3.c:231618:36 */ +type Fts5TokenizerModule = Fts5TokenizerModule1 /* sqlite3.c:231675:36 */ // NOTES ON TRANSACTIONS: // @@ -188383,21 +188414,21 @@ type Fts5TokenizerModule = Fts5TokenizerModule1 /* sqlite3.c:231618:36 */ type Fts5TransactionState = struct { FeState int32 FiSavepoint int32 -} /* sqlite3.c:231651:1 */ +} /* sqlite3.c:231708:1 */ type Fts5MatchPhrase = struct { FpPoslist uintptr FnTerm int32 F__ccgo_pad1 [4]byte -} /* sqlite3.c:231708:1 */ +} /* sqlite3.c:231765:1 */ // Return true if pTab is a contentless table. -func fts5IsContentless(tls *libc.TLS, pTab uintptr) int32 { /* sqlite3.c:231892:12: */ +func fts5IsContentless(tls *libc.TLS, pTab uintptr) int32 { /* sqlite3.c:231949:12: */ return libc.Bool32((*Fts5Config)(unsafe.Pointer((*Fts5FullTable)(unsafe.Pointer(pTab)).Fp.FpConfig)).FeContent == FTS5_CONTENT_NONE) } // Delete a virtual table handle allocated by fts5InitVtab(). -func fts5FreeVtab(tls *libc.TLS, pTab uintptr) { /* sqlite3.c:231899:13: */ +func fts5FreeVtab(tls *libc.TLS, pTab uintptr) { /* sqlite3.c:231956:13: */ if pTab != 0 { sqlite3Fts5IndexClose(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).Fp.FpIndex) sqlite3Fts5StorageClose(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).FpStorage) @@ -188407,13 +188438,13 @@ func fts5FreeVtab(tls *libc.TLS, pTab uintptr) { /* sqlite3.c:231899:13: */ } // The xDisconnect() virtual table method. -func fts5DisconnectMethod(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:231911:12: */ +func fts5DisconnectMethod(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:231968:12: */ fts5FreeVtab(tls, pVtab) return SQLITE_OK } // The xDestroy() virtual table method. -func fts5DestroyMethod(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:231919:12: */ +func fts5DestroyMethod(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:231976:12: */ var pTab uintptr = pVtab var rc int32 = sqlite3Fts5DropAll(tls, (*Fts5Table)(unsafe.Pointer(pTab)).FpConfig) if rc == SQLITE_OK { @@ -188431,7 +188462,7 @@ func fts5DestroyMethod(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:231919 // argv[1] -> database name // argv[2] -> table name // argv[...] -> "column name" and other module argument fields. -func fts5InitVtab(tls *libc.TLS, bCreate int32, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVTab uintptr, pzErr uintptr) int32 { /* sqlite3.c:231939:12: */ +func fts5InitVtab(tls *libc.TLS, bCreate int32, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVTab uintptr, pzErr uintptr) int32 { /* sqlite3.c:231996:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -188489,11 +188520,11 @@ func fts5InitVtab(tls *libc.TLS, bCreate int32, db uintptr, pAux uintptr, argc i // The xConnect() and xCreate() methods for the virtual table. All the // work is done in function fts5InitVtab(). -func fts5ConnectMethod(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 { /* sqlite3.c:232005:12: */ +func fts5ConnectMethod(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 { /* sqlite3.c:232062:12: */ return fts5InitVtab(tls, 0, db, pAux, argc, argv, ppVtab, pzErr) } -func fts5CreateMethod(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 { /* sqlite3.c:232015:12: */ +func fts5CreateMethod(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 { /* sqlite3.c:232072:12: */ return fts5InitVtab(tls, 1, db, pAux, argc, argv, ppVtab, pzErr) } @@ -188502,14 +188533,14 @@ func fts5CreateMethod(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv // Set the SQLITE_INDEX_SCAN_UNIQUE flag in pIdxInfo->flags. Unless this // extension is currently being used by a version of SQLite too old to // support index-info flags. In that case this function is a no-op. -func fts5SetUniqueFlag(tls *libc.TLS, pIdxInfo uintptr) { /* sqlite3.c:232041:13: */ +func fts5SetUniqueFlag(tls *libc.TLS, pIdxInfo uintptr) { /* sqlite3.c:232098:13: */ { *(*int32)(unsafe.Pointer(pIdxInfo + 80)) |= SQLITE_INDEX_SCAN_UNIQUE } } -func fts5UsePatternMatch(tls *libc.TLS, pConfig uintptr, p uintptr) int32 { /* sqlite3.c:232052:12: */ +func fts5UsePatternMatch(tls *libc.TLS, pConfig uintptr, p uintptr) int32 { /* sqlite3.c:232109:12: */ if (*Fts5Config)(unsafe.Pointer(pConfig)).FePattern == FTS5_PATTERN_GLOB && int32((*sqlite3_index_constraint)(unsafe.Pointer(p)).Fop) == FTS5_PATTERN_GLOB { return 1 @@ -188580,7 +188611,7 @@ func fts5UsePatternMatch(tls *libc.TLS, pConfig uintptr, p uintptr) int32 { /* s // * An == rowid constraint: cost=10.0 // // Costs are not modified by the ORDER BY clause. -func fts5BestIndexMethod(tls *libc.TLS, pVTab uintptr, pInfo uintptr) int32 { /* sqlite3.c:232130:12: */ +func fts5BestIndexMethod(tls *libc.TLS, pVTab uintptr, pInfo uintptr) int32 { /* sqlite3.c:232187:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -188742,7 +188773,7 @@ func fts5BestIndexMethod(tls *libc.TLS, pVTab uintptr, pInfo uintptr) int32 { /* return SQLITE_OK } -func fts5NewTransaction(tls *libc.TLS, pTab uintptr) int32 { /* sqlite3.c:232265:12: */ +func fts5NewTransaction(tls *libc.TLS, pTab uintptr) int32 { /* sqlite3.c:232322:12: */ var pCsr uintptr for pCsr = (*Fts5Global)(unsafe.Pointer((*Fts5FullTable)(unsafe.Pointer(pTab)).FpGlobal)).FpCsr; pCsr != 0; pCsr = (*Fts5Cursor)(unsafe.Pointer(pCsr)).FpNext { if (*Fts5Cursor)(unsafe.Pointer(pCsr)).Fbase.FpVtab == pTab { @@ -188753,7 +188784,7 @@ func fts5NewTransaction(tls *libc.TLS, pTab uintptr) int32 { /* sqlite3.c:232265 } // Implementation of xOpen method. -func fts5OpenMethod(tls *libc.TLS, pVTab uintptr, ppCsr uintptr) int32 { /* sqlite3.c:232276:12: */ +func fts5OpenMethod(tls *libc.TLS, pVTab uintptr, ppCsr uintptr) int32 { /* sqlite3.c:232333:12: */ var pTab uintptr = pVTab var pConfig uintptr = (*Fts5FullTable)(unsafe.Pointer(pTab)).Fp.FpConfig var pCsr uintptr = uintptr(0) // New cursor object @@ -188779,7 +188810,7 @@ func fts5OpenMethod(tls *libc.TLS, pVTab uintptr, ppCsr uintptr) int32 { /* sqli return rc } -func fts5StmtType(tls *libc.TLS, pCsr uintptr) int32 { /* sqlite3.c:232302:12: */ +func fts5StmtType(tls *libc.TLS, pCsr uintptr) int32 { /* sqlite3.c:232359:12: */ if (*Fts5Cursor)(unsafe.Pointer(pCsr)).FePlan == FTS5_PLAN_SCAN { if (*Fts5Cursor)(unsafe.Pointer(pCsr)).FbDesc != 0 { return FTS5_STMT_SCAN_DESC @@ -188792,11 +188823,11 @@ func fts5StmtType(tls *libc.TLS, pCsr uintptr) int32 { /* sqlite3.c:232302:12: * // This function is called after the cursor passed as the only argument // is moved to point at a different row. It clears all cached data // specific to the previous row stored by the cursor object. -func fts5CsrNewrow(tls *libc.TLS, pCsr uintptr) { /* sqlite3.c:232314:13: */ +func fts5CsrNewrow(tls *libc.TLS, pCsr uintptr) { /* sqlite3.c:232371:13: */ *(*int32)(unsafe.Pointer(pCsr + 80)) |= FTS5CSR_REQUIRE_CONTENT | FTS5CSR_REQUIRE_DOCSIZE | FTS5CSR_REQUIRE_INST | FTS5CSR_REQUIRE_POSLIST } -func fts5FreeCursorComponents(tls *libc.TLS, pCsr uintptr) { /* sqlite3.c:232323:13: */ +func fts5FreeCursorComponents(tls *libc.TLS, pCsr uintptr) { /* sqlite3.c:232380:13: */ var pTab uintptr = (*Fts5Cursor)(unsafe.Pointer(pCsr)).Fbase.FpVtab var pData uintptr var pNext uintptr @@ -188839,7 +188870,7 @@ func fts5FreeCursorComponents(tls *libc.TLS, pCsr uintptr) { /* sqlite3.c:232323 // Close the cursor. For additional information see the documentation // on the xClose method of the virtual table interface. -func fts5CloseMethod(tls *libc.TLS, pCursor uintptr) int32 { /* sqlite3.c:232367:12: */ +func fts5CloseMethod(tls *libc.TLS, pCursor uintptr) int32 { /* sqlite3.c:232424:12: */ if pCursor != 0 { var pTab uintptr = (*Sqlite3_vtab_cursor)(unsafe.Pointer(pCursor)).FpVtab var pCsr uintptr = pCursor @@ -188856,7 +188887,7 @@ func fts5CloseMethod(tls *libc.TLS, pCursor uintptr) int32 { /* sqlite3.c:232367 return SQLITE_OK } -func fts5SorterNext(tls *libc.TLS, pCsr uintptr) int32 { /* sqlite3.c:232383:12: */ +func fts5SorterNext(tls *libc.TLS, pCsr uintptr) int32 { /* sqlite3.c:232440:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -188900,7 +188931,7 @@ func fts5SorterNext(tls *libc.TLS, pCsr uintptr) int32 { /* sqlite3.c:232383:12: // Set the FTS5CSR_REQUIRE_RESEEK flag on all FTS5_PLAN_MATCH cursors // open on table pTab. -func fts5TripCursors(tls *libc.TLS, pTab uintptr) { /* sqlite3.c:232426:13: */ +func fts5TripCursors(tls *libc.TLS, pTab uintptr) { /* sqlite3.c:232483:13: */ var pCsr uintptr for pCsr = (*Fts5Global)(unsafe.Pointer((*Fts5FullTable)(unsafe.Pointer(pTab)).FpGlobal)).FpCsr; pCsr != 0; pCsr = (*Fts5Cursor)(unsafe.Pointer(pCsr)).FpNext { if (*Fts5Cursor)(unsafe.Pointer(pCsr)).FePlan == FTS5_PLAN_MATCH && @@ -188920,7 +188951,7 @@ func fts5TripCursors(tls *libc.TLS, pTab uintptr) { /* sqlite3.c:232426:13: */ // // Return SQLITE_OK if successful or if no reseek was required, or an // error code if an error occurred. -func fts5CursorReseek(tls *libc.TLS, pCsr uintptr, pbSkip uintptr) int32 { /* sqlite3.c:232449:12: */ +func fts5CursorReseek(tls *libc.TLS, pCsr uintptr, pbSkip uintptr) int32 { /* sqlite3.c:232506:12: */ var rc int32 = SQLITE_OK if (*Fts5Cursor)(unsafe.Pointer(pCsr)).Fcsrflags&FTS5CSR_REQUIRE_RESEEK != 0 { @@ -188949,7 +188980,7 @@ func fts5CursorReseek(tls *libc.TLS, pCsr uintptr, pbSkip uintptr) int32 { /* sq // Return SQLITE_OK if nothing goes wrong. SQLITE_OK is returned // even if we reach end-of-file. The fts5EofMethod() will be called // subsequently to determine whether or not an EOF was hit. -func fts5NextMethod(tls *libc.TLS, pCursor uintptr) int32 { /* sqlite3.c:232481:12: */ +func fts5NextMethod(tls *libc.TLS, pCursor uintptr) int32 { /* sqlite3.c:232538:12: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -189008,7 +189039,7 @@ func fts5NextMethod(tls *libc.TLS, pCursor uintptr) int32 { /* sqlite3.c:232481: return rc } -func fts5PrepareStatement(tls *libc.TLS, ppStmt uintptr, pConfig uintptr, zFmt uintptr, va uintptr) int32 { /* sqlite3.c:232534:12: */ +func fts5PrepareStatement(tls *libc.TLS, ppStmt uintptr, pConfig uintptr, zFmt uintptr, va uintptr) int32 { /* sqlite3.c:232591:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -189036,7 +189067,7 @@ func fts5PrepareStatement(tls *libc.TLS, ppStmt uintptr, pConfig uintptr, zFmt u return rc } -func fts5CursorFirstSorted(tls *libc.TLS, pTab uintptr, pCsr uintptr, bDesc int32) int32 { /* sqlite3.c:232563:12: */ +func fts5CursorFirstSorted(tls *libc.TLS, pTab uintptr, pCsr uintptr, bDesc int32) int32 { /* sqlite3.c:232620:12: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -189103,7 +189134,7 @@ func fts5CursorFirstSorted(tls *libc.TLS, pTab uintptr, pCsr uintptr, bDesc int3 return rc } -func fts5CursorFirst(tls *libc.TLS, pTab uintptr, pCsr uintptr, bDesc int32) int32 { /* sqlite3.c:232615:12: */ +func fts5CursorFirst(tls *libc.TLS, pTab uintptr, pCsr uintptr, bDesc int32) int32 { /* sqlite3.c:232672:12: */ var rc int32 var pExpr uintptr = (*Fts5Cursor)(unsafe.Pointer(pCsr)).FpExpr rc = sqlite3Fts5ExprFirst(tls, pExpr, (*Fts5FullTable)(unsafe.Pointer(pTab)).Fp.FpIndex, (*Fts5Cursor)(unsafe.Pointer(pCsr)).FiFirstRowid, bDesc) @@ -189118,7 +189149,7 @@ func fts5CursorFirst(tls *libc.TLS, pTab uintptr, pCsr uintptr, bDesc int32) int // MATCH expression that begins with a '*' character. The remainder of // the text passed to the MATCH operator are used as the special query // parameters. -func fts5SpecialMatch(tls *libc.TLS, pTab uintptr, pCsr uintptr, zQuery uintptr) int32 { /* sqlite3.c:232632:12: */ +func fts5SpecialMatch(tls *libc.TLS, pTab uintptr, pCsr uintptr, zQuery uintptr) int32 { /* sqlite3.c:232689:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -189150,7 +189181,7 @@ func fts5SpecialMatch(tls *libc.TLS, pTab uintptr, pCsr uintptr, zQuery uintptr) // Search for an auxiliary function named zName that can be used with table // pTab. If one is found, return a pointer to the corresponding Fts5Auxiliary // structure. Otherwise, if no such function exists, return NULL. -func fts5FindAuxiliary(tls *libc.TLS, pTab uintptr, zName uintptr) uintptr { /* sqlite3.c:232667:22: */ +func fts5FindAuxiliary(tls *libc.TLS, pTab uintptr, zName uintptr) uintptr { /* sqlite3.c:232724:22: */ var pAux uintptr for pAux = (*Fts5Global)(unsafe.Pointer((*Fts5FullTable)(unsafe.Pointer(pTab)).FpGlobal)).FpAux; pAux != 0; pAux = (*Fts5Auxiliary)(unsafe.Pointer(pAux)).FpNext { @@ -189163,7 +189194,7 @@ func fts5FindAuxiliary(tls *libc.TLS, pTab uintptr, zName uintptr) uintptr { /* return uintptr(0) } -func fts5FindRankFunction(tls *libc.TLS, pCsr uintptr) int32 { /* sqlite3.c:232679:12: */ +func fts5FindRankFunction(tls *libc.TLS, pCsr uintptr) int32 { /* sqlite3.c:232736:12: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -189216,7 +189247,7 @@ func fts5FindRankFunction(tls *libc.TLS, pCsr uintptr) int32 { /* sqlite3.c:2326 return *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) } -func fts5CursorParseRank(tls *libc.TLS, pConfig uintptr, pCsr uintptr, pRank uintptr) int32 { /* sqlite3.c:232730:12: */ +func fts5CursorParseRank(tls *libc.TLS, pConfig uintptr, pCsr uintptr, pRank uintptr) int32 { /* sqlite3.c:232787:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -189253,7 +189284,7 @@ func fts5CursorParseRank(tls *libc.TLS, pConfig uintptr, pCsr uintptr, pRank uin return rc } -func fts5GetRowidLimit(tls *libc.TLS, pVal uintptr, iDefault I64) I64 { /* sqlite3.c:232767:12: */ +func fts5GetRowidLimit(tls *libc.TLS, pVal uintptr, iDefault I64) I64 { /* sqlite3.c:232824:12: */ if pVal != 0 { var eType int32 = Xsqlite3_value_numeric_type(tls, pVal) if eType == SQLITE_INTEGER { @@ -189272,7 +189303,7 @@ func fts5GetRowidLimit(tls *libc.TLS, pVal uintptr, iDefault I64) I64 { /* sqlit // 1. Full-text search using a MATCH operator. // 2. A by-rowid lookup. // 3. A full-table scan. -func fts5FilterMethod(tls *libc.TLS, pCursor uintptr, idxNum int32, idxStr uintptr, nVal int32, apVal uintptr) int32 { /* sqlite3.c:232788:12: */ +func fts5FilterMethod(tls *libc.TLS, pCursor uintptr, idxNum int32, idxStr uintptr, nVal int32, apVal uintptr) int32 { /* sqlite3.c:232845:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -189593,7 +189624,7 @@ filter_out: // This is the xEof method of the virtual table. SQLite calls this // routine to find out if it has reached the end of a result set. -func fts5EofMethod(tls *libc.TLS, pCursor uintptr) int32 { /* sqlite3.c:232981:12: */ +func fts5EofMethod(tls *libc.TLS, pCursor uintptr) int32 { /* sqlite3.c:233038:12: */ var pCsr uintptr = pCursor return func() int32 { if (*Fts5Cursor)(unsafe.Pointer(pCsr)).Fcsrflags&FTS5CSR_EOF != 0 { @@ -189604,7 +189635,7 @@ func fts5EofMethod(tls *libc.TLS, pCursor uintptr) int32 { /* sqlite3.c:232981:1 } // Return the rowid that the cursor currently points to. -func fts5CursorRowid(tls *libc.TLS, pCsr uintptr) I64 { /* sqlite3.c:232989:12: */ +func fts5CursorRowid(tls *libc.TLS, pCsr uintptr) I64 { /* sqlite3.c:233046:12: */ if (*Fts5Cursor)(unsafe.Pointer(pCsr)).FpSorter != 0 { return (*Fts5Sorter)(unsafe.Pointer((*Fts5Cursor)(unsafe.Pointer(pCsr)).FpSorter)).FiRowid @@ -189618,7 +189649,7 @@ func fts5CursorRowid(tls *libc.TLS, pCsr uintptr) I64 { /* sqlite3.c:232989:12: // retrieve the rowid for the current row of the result set. fts5 // exposes %_content.rowid as the rowid for the virtual table. The // rowid should be written to *pRowid. -func fts5RowidMethod(tls *libc.TLS, pCursor uintptr, pRowid uintptr) int32 { /* sqlite3.c:233007:12: */ +func fts5RowidMethod(tls *libc.TLS, pCursor uintptr, pRowid uintptr) int32 { /* sqlite3.c:233064:12: */ var pCsr uintptr = pCursor var ePlan int32 = (*Fts5Cursor)(unsafe.Pointer(pCsr)).FePlan @@ -189648,7 +189679,7 @@ func fts5RowidMethod(tls *libc.TLS, pCursor uintptr, pRowid uintptr) int32 { /* // // If argument bErrormsg is true and an error occurs, an error message may // be left in sqlite3_vtab.zErrMsg. -func fts5SeekCursor(tls *libc.TLS, pCsr uintptr, bErrormsg int32) int32 { /* sqlite3.c:233038:12: */ +func fts5SeekCursor(tls *libc.TLS, pCsr uintptr, bErrormsg int32) int32 { /* sqlite3.c:233095:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -189692,7 +189723,7 @@ func fts5SeekCursor(tls *libc.TLS, pCsr uintptr, bErrormsg int32) int32 { /* sql return rc } -func fts5SetVtabError(tls *libc.TLS, p uintptr, zFormat uintptr, va uintptr) { /* sqlite3.c:233077:13: */ +func fts5SetVtabError(tls *libc.TLS, p uintptr, zFormat uintptr, va uintptr) { /* sqlite3.c:233134:13: */ var ap Va_list _ = ap // ... printf arguments ap = va @@ -189714,7 +189745,7 @@ func fts5SetVtabError(tls *libc.TLS, p uintptr, zFormat uintptr, va uintptr) { / // The commands implemented by this function are documented in the "Special // INSERT Directives" section of the documentation. It should be updated if // more commands are added to this function. -func fts5SpecialInsert(tls *libc.TLS, pTab uintptr, zCmd uintptr, pVal uintptr) int32 { /* sqlite3.c:233100:12: */ +func fts5SpecialInsert(tls *libc.TLS, pTab uintptr, zCmd uintptr, pVal uintptr) int32 { /* sqlite3.c:233157:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -189763,7 +189794,7 @@ func fts5SpecialInsert(tls *libc.TLS, pTab uintptr, zCmd uintptr, pVal uintptr) return rc } -func fts5SpecialDelete(tls *libc.TLS, pTab uintptr, apVal uintptr) int32 { /* sqlite3.c:233156:12: */ +func fts5SpecialDelete(tls *libc.TLS, pTab uintptr, apVal uintptr) int32 { /* sqlite3.c:233213:12: */ var rc int32 = SQLITE_OK var eType1 int32 = Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(apVal + 1*8))) if eType1 == SQLITE_INTEGER { @@ -189773,7 +189804,7 @@ func fts5SpecialDelete(tls *libc.TLS, pTab uintptr, apVal uintptr) int32 { /* sq return rc } -func fts5StorageInsert(tls *libc.TLS, pRc uintptr, pTab uintptr, apVal uintptr, piRowid uintptr) { /* sqlite3.c:233169:13: */ +func fts5StorageInsert(tls *libc.TLS, pRc uintptr, pTab uintptr, apVal uintptr, piRowid uintptr) { /* sqlite3.c:233226:13: */ var rc int32 = *(*int32)(unsafe.Pointer(pRc)) if rc == SQLITE_OK { rc = sqlite3Fts5StorageContentInsert(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).FpStorage, apVal, piRowid) @@ -189796,7 +189827,7 @@ func fts5StorageInsert(tls *libc.TLS, pRc uintptr, pTab uintptr, apVal uintptr, // 2. The "new" rowid. // 3. Values for each of the nCol matchable columns. // 4. Values for the two hidden columns ( and "rank"). -func fts5UpdateMethod(tls *libc.TLS, pVtab uintptr, nArg int32, apVal uintptr, pRowid uintptr) int32 { /* sqlite3.c:233199:12: */ +func fts5UpdateMethod(tls *libc.TLS, pVtab uintptr, nArg int32, apVal uintptr, pRowid uintptr) int32 { /* sqlite3.c:233256:12: */ bp := tls.Alloc(20) defer tls.Free(20) @@ -189898,7 +189929,7 @@ func fts5UpdateMethod(tls *libc.TLS, pVtab uintptr, nArg int32, apVal uintptr, p } // Implementation of xSync() method. -func fts5SyncMethod(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:233325:12: */ +func fts5SyncMethod(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:233382:12: */ var rc int32 var pTab uintptr = pVtab @@ -189910,7 +189941,7 @@ func fts5SyncMethod(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:233325:12 } // Implementation of xBegin() method. -func fts5BeginMethod(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:233339:12: */ +func fts5BeginMethod(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:233396:12: */ fts5NewTransaction(tls, pVtab) return SQLITE_OK @@ -189919,7 +189950,7 @@ func fts5BeginMethod(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:233339:1 // Implementation of xCommit() method. This is a no-op. The contents of // the pending-terms hash-table have already been flushed into the database // by fts5SyncMethod(). -func fts5CommitMethod(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:233350:12: */ +func fts5CommitMethod(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:233407:12: */ _ = pVtab // Call below is a no-op for NDEBUG builds return SQLITE_OK @@ -189927,7 +189958,7 @@ func fts5CommitMethod(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:233350: // Implementation of xRollback(). Discard the contents of the pending-terms // hash-table. Any changes made to the database are reverted by SQLite. -func fts5RollbackMethod(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:233360:12: */ +func fts5RollbackMethod(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:233417:12: */ var rc int32 var pTab uintptr = pVtab @@ -189935,46 +189966,46 @@ func fts5RollbackMethod(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:23336 return rc } -func fts5ApiUserData(tls *libc.TLS, pCtx uintptr) uintptr { /* sqlite3.c:233370:13: */ +func fts5ApiUserData(tls *libc.TLS, pCtx uintptr) uintptr { /* sqlite3.c:233427:13: */ var pCsr uintptr = pCtx return (*Fts5Auxiliary)(unsafe.Pointer((*Fts5Cursor)(unsafe.Pointer(pCsr)).FpAux)).FpUserData } -func fts5ApiColumnCount(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:233375:12: */ +func fts5ApiColumnCount(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:233432:12: */ var pCsr uintptr = pCtx return (*Fts5Config)(unsafe.Pointer((*Fts5Table)(unsafe.Pointer((*Fts5Cursor)(unsafe.Pointer(pCsr)).Fbase.FpVtab)).FpConfig)).FnCol } -func fts5ApiColumnTotalSize(tls *libc.TLS, pCtx uintptr, iCol int32, pnToken uintptr) int32 { /* sqlite3.c:233380:12: */ +func fts5ApiColumnTotalSize(tls *libc.TLS, pCtx uintptr, iCol int32, pnToken uintptr) int32 { /* sqlite3.c:233437:12: */ var pCsr uintptr = pCtx var pTab uintptr = (*Fts5Cursor)(unsafe.Pointer(pCsr)).Fbase.FpVtab return sqlite3Fts5StorageSize(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).FpStorage, iCol, pnToken) } -func fts5ApiRowCount(tls *libc.TLS, pCtx uintptr, pnRow uintptr) int32 { /* sqlite3.c:233390:12: */ +func fts5ApiRowCount(tls *libc.TLS, pCtx uintptr, pnRow uintptr) int32 { /* sqlite3.c:233447:12: */ var pCsr uintptr = pCtx var pTab uintptr = (*Fts5Cursor)(unsafe.Pointer(pCsr)).Fbase.FpVtab return sqlite3Fts5StorageRowCount(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).FpStorage, pnRow) } -func fts5ApiTokenize(tls *libc.TLS, pCtx uintptr, pText uintptr, nText int32, pUserData uintptr, xToken uintptr) int32 { /* sqlite3.c:233396:12: */ +func fts5ApiTokenize(tls *libc.TLS, pCtx uintptr, pText uintptr, nText int32, pUserData uintptr, xToken uintptr) int32 { /* sqlite3.c:233453:12: */ var pCsr uintptr = pCtx var pTab uintptr = (*Fts5Cursor)(unsafe.Pointer(pCsr)).Fbase.FpVtab return sqlite3Fts5Tokenize(tls, (*Fts5Table)(unsafe.Pointer(pTab)).FpConfig, FTS5_TOKENIZE_AUX, pText, nText, pUserData, xToken) } -func fts5ApiPhraseCount(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:233409:12: */ +func fts5ApiPhraseCount(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:233466:12: */ var pCsr uintptr = pCtx return sqlite3Fts5ExprPhraseCount(tls, (*Fts5Cursor)(unsafe.Pointer(pCsr)).FpExpr) } -func fts5ApiPhraseSize(tls *libc.TLS, pCtx uintptr, iPhrase int32) int32 { /* sqlite3.c:233414:12: */ +func fts5ApiPhraseSize(tls *libc.TLS, pCtx uintptr, iPhrase int32) int32 { /* sqlite3.c:233471:12: */ var pCsr uintptr = pCtx return sqlite3Fts5ExprPhraseSize(tls, (*Fts5Cursor)(unsafe.Pointer(pCsr)).FpExpr, iPhrase) } -func fts5ApiColumnText(tls *libc.TLS, pCtx uintptr, iCol int32, pz uintptr, pn uintptr) int32 { /* sqlite3.c:233419:12: */ +func fts5ApiColumnText(tls *libc.TLS, pCtx uintptr, iCol int32, pz uintptr, pn uintptr) int32 { /* sqlite3.c:233476:12: */ var rc int32 = SQLITE_OK var pCsr uintptr = pCtx if fts5IsContentless(tls, (*Fts5Cursor)(unsafe.Pointer(pCsr)).Fbase.FpVtab) != 0 || @@ -189991,7 +190022,7 @@ func fts5ApiColumnText(tls *libc.TLS, pCtx uintptr, iCol int32, pz uintptr, pn u return rc } -func fts5CsrPoslist(tls *libc.TLS, pCsr uintptr, iPhrase int32, pa uintptr, pn uintptr) int32 { /* sqlite3.c:233442:12: */ +func fts5CsrPoslist(tls *libc.TLS, pCsr uintptr, iPhrase int32, pa uintptr, pn uintptr) int32 { /* sqlite3.c:233499:12: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -190048,7 +190079,7 @@ func fts5CsrPoslist(tls *libc.TLS, pCsr uintptr, iPhrase int32, pa uintptr, pn u // Ensure that the Fts5Cursor.nInstCount and aInst[] variables are populated // correctly for the current view. Return SQLITE_OK if successful, or an // SQLite error code otherwise. -func fts5CacheInstArray(tls *libc.TLS, pCsr uintptr) int32 { /* sqlite3.c:233494:12: */ +func fts5CacheInstArray(tls *libc.TLS, pCsr uintptr) int32 { /* sqlite3.c:233551:12: */ bp := tls.Alloc(20) defer tls.Free(20) @@ -190132,7 +190163,7 @@ func fts5CacheInstArray(tls *libc.TLS, pCsr uintptr) int32 { /* sqlite3.c:233494 return *(*int32)(unsafe.Pointer(bp /* rc */)) } -func fts5ApiInstCount(tls *libc.TLS, pCtx uintptr, pnInst uintptr) int32 { /* sqlite3.c:233568:12: */ +func fts5ApiInstCount(tls *libc.TLS, pCtx uintptr, pnInst uintptr) int32 { /* sqlite3.c:233625:12: */ var pCsr uintptr = pCtx var rc int32 = SQLITE_OK if (*Fts5Cursor)(unsafe.Pointer(pCsr)).Fcsrflags&FTS5CSR_REQUIRE_INST == 0 || @@ -190142,7 +190173,7 @@ func fts5ApiInstCount(tls *libc.TLS, pCtx uintptr, pnInst uintptr) int32 { /* sq return rc } -func fts5ApiInst(tls *libc.TLS, pCtx uintptr, iIdx int32, piPhrase uintptr, piCol uintptr, piOff uintptr) int32 { /* sqlite3.c:233578:12: */ +func fts5ApiInst(tls *libc.TLS, pCtx uintptr, iIdx int32, piPhrase uintptr, piCol uintptr, piOff uintptr) int32 { /* sqlite3.c:233635:12: */ var pCsr uintptr = pCtx var rc int32 = SQLITE_OK if (*Fts5Cursor)(unsafe.Pointer(pCsr)).Fcsrflags&FTS5CSR_REQUIRE_INST == 0 || @@ -190158,11 +190189,11 @@ func fts5ApiInst(tls *libc.TLS, pCtx uintptr, iIdx int32, piPhrase uintptr, piCo return rc } -func fts5ApiRowid(tls *libc.TLS, pCtx uintptr) Sqlite3_int64 { /* sqlite3.c:233607:22: */ +func fts5ApiRowid(tls *libc.TLS, pCtx uintptr) Sqlite3_int64 { /* sqlite3.c:233664:22: */ return fts5CursorRowid(tls, pCtx) } -func fts5ColumnSizeCb(tls *libc.TLS, pContext uintptr, tflags int32, pUnused uintptr, nUnused int32, iUnused1 int32, iUnused2 int32) int32 { /* sqlite3.c:233611:12: */ +func fts5ColumnSizeCb(tls *libc.TLS, pContext uintptr, tflags int32, pUnused uintptr, nUnused int32, iUnused1 int32, iUnused2 int32) int32 { /* sqlite3.c:233668:12: */ var pCnt uintptr = pContext _ = pUnused _ = nUnused @@ -190174,7 +190205,7 @@ func fts5ColumnSizeCb(tls *libc.TLS, pContext uintptr, tflags int32, pUnused uin return SQLITE_OK } -func fts5ApiColumnSize(tls *libc.TLS, pCtx uintptr, iCol int32, pnToken uintptr) int32 { /* sqlite3.c:233628:12: */ +func fts5ApiColumnSize(tls *libc.TLS, pCtx uintptr, iCol int32, pnToken uintptr) int32 { /* sqlite3.c:233685:12: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -190232,7 +190263,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) int32 { /* sqlite3.c:233681:12: */ +func fts5ApiSetAuxdata(tls *libc.TLS, pCtx uintptr, pPtr uintptr, xDelete uintptr) int32 { /* sqlite3.c:233738:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -190270,7 +190301,7 @@ func fts5ApiSetAuxdata(tls *libc.TLS, pCtx uintptr, pPtr uintptr, xDelete uintpt return SQLITE_OK } -func fts5ApiGetAuxdata(tls *libc.TLS, pCtx uintptr, bClear int32) uintptr { /* sqlite3.c:233716:13: */ +func fts5ApiGetAuxdata(tls *libc.TLS, pCtx uintptr, bClear int32) uintptr { /* sqlite3.c:233773:13: */ var pCsr uintptr = pCtx var pData uintptr var pRet uintptr = uintptr(0) @@ -190292,7 +190323,7 @@ func fts5ApiGetAuxdata(tls *libc.TLS, pCtx uintptr, bClear int32) uintptr { /* s return pRet } -func fts5ApiPhraseNext(tls *libc.TLS, pUnused uintptr, pIter uintptr, piCol uintptr, piOff uintptr) { /* sqlite3.c:233736:13: */ +func fts5ApiPhraseNext(tls *libc.TLS, pUnused uintptr, pIter uintptr, piCol uintptr, piOff uintptr) { /* sqlite3.c:233793:13: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -190314,7 +190345,7 @@ func fts5ApiPhraseNext(tls *libc.TLS, pUnused uintptr, pIter uintptr, piCol uint } } -func fts5ApiPhraseFirst(tls *libc.TLS, pCtx uintptr, iPhrase int32, pIter uintptr, piCol uintptr, piOff uintptr) int32 { /* sqlite3.c:233758:12: */ +func fts5ApiPhraseFirst(tls *libc.TLS, pCtx uintptr, iPhrase int32, pIter uintptr, piCol uintptr, piOff uintptr) int32 { /* sqlite3.c:233815:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -190337,7 +190368,7 @@ func fts5ApiPhraseFirst(tls *libc.TLS, pCtx uintptr, iPhrase int32, pIter uintpt return rc } -func fts5ApiPhraseNextColumn(tls *libc.TLS, pCtx uintptr, pIter uintptr, piCol uintptr) { /* sqlite3.c:233777:13: */ +func fts5ApiPhraseNextColumn(tls *libc.TLS, pCtx uintptr, pIter uintptr, piCol uintptr) { /* sqlite3.c:233834:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -190370,7 +190401,7 @@ func fts5ApiPhraseNextColumn(tls *libc.TLS, pCtx uintptr, pIter uintptr, piCol u } } -func fts5ApiPhraseFirstColumn(tls *libc.TLS, pCtx uintptr, iPhrase int32, pIter uintptr, piCol uintptr) int32 { /* sqlite3.c:233807:12: */ +func fts5ApiPhraseFirstColumn(tls *libc.TLS, pCtx uintptr, iPhrase int32, pIter uintptr, piCol uintptr) int32 { /* sqlite3.c:233864:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -190451,10 +190482,10 @@ var sFts5Api = Fts5ExtensionApi{ FxPhraseNext: 0, FxPhraseFirstColumn: 0, FxPhraseNextColumn: 0, -} /* sqlite3.c:233857:31 */ +} /* sqlite3.c:233914:31 */ // Implementation of API function xQueryPhrase(). -func fts5ApiQueryPhrase(tls *libc.TLS, pCtx uintptr, iPhrase int32, pUserData uintptr, xCallback uintptr) int32 { /* sqlite3.c:233883:12: */ +func fts5ApiQueryPhrase(tls *libc.TLS, pCtx uintptr, iPhrase int32, pUserData uintptr, xCallback uintptr) int32 { /* sqlite3.c:233940:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -190490,7 +190521,7 @@ func fts5ApiQueryPhrase(tls *libc.TLS, pCtx uintptr, iPhrase int32, pUserData ui return rc } -func fts5ApiInvoke(tls *libc.TLS, pAux uintptr, pCsr uintptr, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:233920:13: */ +func fts5ApiInvoke(tls *libc.TLS, pAux uintptr, pCsr uintptr, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:233977:13: */ (*Fts5Cursor)(unsafe.Pointer(pCsr)).FpAux = pAux (*struct { @@ -190499,7 +190530,7 @@ func fts5ApiInvoke(tls *libc.TLS, pAux uintptr, pCsr uintptr, context uintptr, a (*Fts5Cursor)(unsafe.Pointer(pCsr)).FpAux = uintptr(0) } -func fts5CursorFromCsrid(tls *libc.TLS, pGlobal uintptr, iCsrId I64) uintptr { /* sqlite3.c:233933:19: */ +func fts5CursorFromCsrid(tls *libc.TLS, pGlobal uintptr, iCsrId I64) uintptr { /* sqlite3.c:233990:19: */ var pCsr uintptr for pCsr = (*Fts5Global)(unsafe.Pointer(pGlobal)).FpCsr; pCsr != 0; pCsr = (*Fts5Cursor)(unsafe.Pointer(pCsr)).FpNext { if (*Fts5Cursor)(unsafe.Pointer(pCsr)).FiCsrId == iCsrId { @@ -190509,7 +190540,7 @@ func fts5CursorFromCsrid(tls *libc.TLS, pGlobal uintptr, iCsrId I64) uintptr { / return pCsr } -func fts5ApiCallback(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:233941:13: */ +func fts5ApiCallback(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:233998:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -190532,7 +190563,7 @@ func fts5ApiCallback(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { // Given cursor id iId, return a pointer to the corresponding Fts5Table // object. Or NULL If the cursor id does not exist. -func sqlite3Fts5TableFromCsrid(tls *libc.TLS, pGlobal uintptr, iCsrId I64) uintptr { /* sqlite3.c:233970:18: */ +func sqlite3Fts5TableFromCsrid(tls *libc.TLS, pGlobal uintptr, iCsrId I64) uintptr { /* sqlite3.c:234027:18: */ var pCsr uintptr pCsr = fts5CursorFromCsrid(tls, pGlobal, iCsrId) if pCsr != 0 { @@ -190554,7 +190585,7 @@ func sqlite3Fts5TableFromCsrid(tls *libc.TLS, pGlobal uintptr, iCsrId I64) uintp // for phrase 0. The second (same disclaimer) contains the size of position // list 1. And so on. There is no size field for the final position list, // as it can be derived from the total size of the blob. -func fts5PoslistBlob(tls *libc.TLS, pCtx uintptr, pCsr uintptr) int32 { /* sqlite3.c:233997:12: */ +func fts5PoslistBlob(tls *libc.TLS, pCtx uintptr, pCsr uintptr) int32 { /* sqlite3.c:234054:12: */ bp := tls.Alloc(68) defer tls.Free(68) @@ -190618,7 +190649,7 @@ func fts5PoslistBlob(tls *libc.TLS, pCtx uintptr, pCsr uintptr) int32 { /* sqlit // This is the xColumn method, called by SQLite to request a value from // the row that the supplied cursor currently points to. -func fts5ColumnMethod(tls *libc.TLS, pCursor uintptr, pCtx uintptr, iCol int32) int32 { /* sqlite3.c:234054:12: */ +func fts5ColumnMethod(tls *libc.TLS, pCursor uintptr, pCtx uintptr, iCol int32) int32 { /* sqlite3.c:234111:12: */ var pTab uintptr = (*Sqlite3_vtab_cursor)(unsafe.Pointer(pCursor)).FpVtab var pConfig uintptr = (*Fts5FullTable)(unsafe.Pointer(pTab)).Fp.FpConfig var pCsr uintptr = pCursor @@ -190658,7 +190689,7 @@ 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) int32 { /* sqlite3.c:234107:12: */ +func fts5FindFunctionMethod(tls *libc.TLS, pVtab uintptr, nUnused int32, zName uintptr, pxFunc uintptr, ppArg uintptr) int32 { /* sqlite3.c:234164:12: */ var pTab uintptr = pVtab var pAux uintptr @@ -190677,12 +190708,12 @@ func fts5FindFunctionMethod(tls *libc.TLS, pVtab uintptr, nUnused int32, zName u } // Implementation of FTS5 xRename method. Rename an fts5 table. -func fts5RenameMethod(tls *libc.TLS, pVtab uintptr, zName uintptr) int32 { /* sqlite3.c:234132:12: */ +func fts5RenameMethod(tls *libc.TLS, pVtab uintptr, zName uintptr) int32 { /* sqlite3.c:234189:12: */ var pTab uintptr = pVtab return sqlite3Fts5StorageRename(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).FpStorage, zName) } -func sqlite3Fts5FlushToDisk(tls *libc.TLS, pTab uintptr) int32 { /* sqlite3.c:234140:12: */ +func sqlite3Fts5FlushToDisk(tls *libc.TLS, pTab uintptr) int32 { /* sqlite3.c:234197:12: */ fts5TripCursors(tls, pTab) return sqlite3Fts5StorageSync(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).FpStorage) } @@ -190690,7 +190721,7 @@ func sqlite3Fts5FlushToDisk(tls *libc.TLS, pTab uintptr) int32 { /* sqlite3.c:23 // The xSavepoint() method. // // Flush the contents of the pending-terms table to disk. -func fts5SavepointMethod(tls *libc.TLS, pVtab uintptr, iSavepoint int32) int32 { /* sqlite3.c:234150:12: */ +func fts5SavepointMethod(tls *libc.TLS, pVtab uintptr, iSavepoint int32) int32 { /* sqlite3.c:234207:12: */ _ = iSavepoint // Call below is a no-op for NDEBUG builds return sqlite3Fts5FlushToDisk(tls, pVtab) @@ -190699,7 +190730,7 @@ func fts5SavepointMethod(tls *libc.TLS, pVtab uintptr, iSavepoint int32) int32 { // The xRelease() method. // // This is a no-op. -func fts5ReleaseMethod(tls *libc.TLS, pVtab uintptr, iSavepoint int32) int32 { /* sqlite3.c:234161:12: */ +func fts5ReleaseMethod(tls *libc.TLS, pVtab uintptr, iSavepoint int32) int32 { /* sqlite3.c:234218:12: */ _ = iSavepoint // Call below is a no-op for NDEBUG builds return sqlite3Fts5FlushToDisk(tls, pVtab) @@ -190708,7 +190739,7 @@ func fts5ReleaseMethod(tls *libc.TLS, pVtab uintptr, iSavepoint int32) int32 { / // The xRollbackTo() method. // // Discard the contents of the pending terms table. -func fts5RollbackToMethod(tls *libc.TLS, pVtab uintptr, iSavepoint int32) int32 { /* sqlite3.c:234172:12: */ +func fts5RollbackToMethod(tls *libc.TLS, pVtab uintptr, iSavepoint int32) int32 { /* sqlite3.c:234229:12: */ var pTab uintptr = pVtab _ = iSavepoint // Call below is a no-op for NDEBUG builds @@ -190717,7 +190748,7 @@ func fts5RollbackToMethod(tls *libc.TLS, pVtab uintptr, iSavepoint int32) int32 } // Register a new auxiliary function with global context pGlobal. -func fts5CreateAux(tls *libc.TLS, pApi uintptr, zName uintptr, pUserData uintptr, xFunc Fts5_extension_function, xDestroy uintptr) int32 { /* sqlite3.c:234183:12: */ +func fts5CreateAux(tls *libc.TLS, pApi uintptr, zName uintptr, pUserData uintptr, xFunc Fts5_extension_function, xDestroy uintptr) int32 { /* sqlite3.c:234240:12: */ var pGlobal uintptr = pApi var rc int32 = Xsqlite3_overload_function(tls, (*Fts5Global)(unsafe.Pointer(pGlobal)).Fdb, zName, -1) if rc == SQLITE_OK { @@ -190748,7 +190779,7 @@ func fts5CreateAux(tls *libc.TLS, pApi uintptr, zName uintptr, pUserData uintptr // Register a new tokenizer. This is the implementation of the // fts5_api.xCreateTokenizer() method. -func fts5CreateTokenizer(tls *libc.TLS, pApi uintptr, zName uintptr, pUserData uintptr, pTokenizer uintptr, xDestroy uintptr) int32 { /* sqlite3.c:234222:12: */ +func fts5CreateTokenizer(tls *libc.TLS, pApi uintptr, zName uintptr, pUserData uintptr, pTokenizer uintptr, xDestroy uintptr) int32 { /* sqlite3.c:234279:12: */ var pGlobal uintptr = pApi var pNew uintptr var nName Sqlite3_int64 // Size of zName and its \0 terminator @@ -190777,7 +190808,7 @@ func fts5CreateTokenizer(tls *libc.TLS, pApi uintptr, zName uintptr, pUserData u return rc } -func fts5LocateTokenizer(tls *libc.TLS, pGlobal uintptr, zName uintptr) uintptr { /* sqlite3.c:234257:28: */ +func fts5LocateTokenizer(tls *libc.TLS, pGlobal uintptr, zName uintptr) uintptr { /* sqlite3.c:234314:28: */ var pMod uintptr = uintptr(0) if zName == uintptr(0) { @@ -190795,7 +190826,7 @@ func fts5LocateTokenizer(tls *libc.TLS, pGlobal uintptr, zName uintptr) uintptr // Find a tokenizer. This is the implementation of the // fts5_api.xFindTokenizer() method. -func fts5FindTokenizer(tls *libc.TLS, pApi uintptr, zName uintptr, ppUserData uintptr, pTokenizer uintptr) int32 { /* sqlite3.c:234278:12: */ +func fts5FindTokenizer(tls *libc.TLS, pApi uintptr, zName uintptr, ppUserData uintptr, pTokenizer uintptr) int32 { /* sqlite3.c:234335:12: */ var rc int32 = SQLITE_OK var pMod uintptr @@ -190811,7 +190842,7 @@ func fts5FindTokenizer(tls *libc.TLS, pApi uintptr, zName uintptr, ppUserData ui return rc } -func sqlite3Fts5GetTokenizer(tls *libc.TLS, pGlobal uintptr, azArg uintptr, nArg int32, pConfig uintptr, pzErr uintptr) int32 { /* sqlite3.c:234299:12: */ +func sqlite3Fts5GetTokenizer(tls *libc.TLS, pGlobal uintptr, azArg uintptr, nArg int32, pConfig uintptr, pzErr uintptr) int32 { /* sqlite3.c:234356:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -190862,7 +190893,7 @@ func sqlite3Fts5GetTokenizer(tls *libc.TLS, pGlobal uintptr, azArg uintptr, nArg return rc } -func fts5ModuleDestroy(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:234336:13: */ +func fts5ModuleDestroy(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:234393:13: */ var pTok uintptr var pNextTok uintptr var pAux uintptr @@ -190888,7 +190919,7 @@ func fts5ModuleDestroy(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:234336:13: */ Xsqlite3_free(tls, pGlobal) } -func fts5Fts5Func(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:234356:13: */ +func fts5Fts5Func(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:234413:13: */ var pGlobal uintptr = Xsqlite3_user_data(tls, pCtx) var ppApi uintptr _ = nArg @@ -190900,7 +190931,7 @@ func fts5Fts5Func(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* s } // Implementation of fts5_source_id() function. -func fts5SourceIdFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apUnused uintptr) { /* sqlite3.c:234372:13: */ +func fts5SourceIdFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apUnused uintptr) { /* sqlite3.c:234429:13: */ _ = nArg _ = apUnused @@ -190909,7 +190940,7 @@ func fts5SourceIdFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apUnused uintptr) // Return true if zName is the extension on one of the shadow tables used // by this module. -func fts5ShadowName(tls *libc.TLS, zName uintptr) int32 { /* sqlite3.c:234386:12: */ +func fts5ShadowName(tls *libc.TLS, zName uintptr) int32 { /* sqlite3.c:234443:12: */ var i uint32 for i = uint32(0); uint64(i) < uint64(unsafe.Sizeof(azName2))/uint64(unsafe.Sizeof(uintptr(0))); i++ { if Xsqlite3_stricmp(tls, zName, azName2[i]) == 0 { @@ -190921,9 +190952,9 @@ func fts5ShadowName(tls *libc.TLS, zName uintptr) int32 { /* sqlite3.c:234386:12 var azName2 = [5]uintptr{ ts + 35779, ts + 33878, ts + 24878, ts + 34229, ts + 11373, -} /* sqlite3.c:234387:21 */ +} /* sqlite3.c:234444:21 */ -func fts5Init(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:234397:12: */ +func fts5Init(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:234454:12: */ var rc int32 var pGlobal uintptr = uintptr(0) @@ -191006,7 +191037,7 @@ var fts5Mod = Sqlite3_module{ /* xRelease */ FxRelease: 0, /* xRollbackTo */ FxRollbackTo: 0, /* xShadowName */ FxShadowName: 0, -} /* sqlite3.c:234398:31 */ +} /* sqlite3.c:234455:31 */ // The following functions are used to register the module with SQLite. If // this module is being built as part of the SQLite core (SQLITE_CORE is @@ -191015,7 +191046,7 @@ var fts5Mod = Sqlite3_module{ // Or, if this module is being built as a loadable extension, // sqlite3Fts5Init() is omitted and the two standard entry points // sqlite3_fts_init() and sqlite3_fts5_init() defined instead. -func Xsqlite3Fts5Init(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:234506:20: */ +func Xsqlite3Fts5Init(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:234563:20: */ return fts5Init(tls, db) } @@ -191023,7 +191054,7 @@ func Xsqlite3Fts5Init(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:234506:20: // Fts5Storage.pInsertDocsize - if they have not already been prepared. // Return SQLITE_OK if successful, or an SQLite error code if an error // occurs. -func fts5StorageGetStmt(tls *libc.TLS, p uintptr, eStmt int32, ppStmt uintptr, pzErrMsg uintptr) int32 { /* sqlite3.c:234564:12: */ +func fts5StorageGetStmt(tls *libc.TLS, p uintptr, eStmt int32, ppStmt uintptr, pzErrMsg uintptr) int32 { /* sqlite3.c:234621:12: */ bp := tls.Alloc(216) defer tls.Free(216) @@ -191124,7 +191155,7 @@ func fts5StorageGetStmt(tls *libc.TLS, p uintptr, eStmt int32, ppStmt uintptr, p return rc } -func fts5ExecPrintf(tls *libc.TLS, db uintptr, pzErr uintptr, zFormat uintptr, va uintptr) int32 { /* sqlite3.c:234667:12: */ +func fts5ExecPrintf(tls *libc.TLS, db uintptr, pzErr uintptr, zFormat uintptr, va uintptr) int32 { /* sqlite3.c:234724:12: */ var rc int32 var ap Va_list _ = ap // ... printf arguments @@ -191146,7 +191177,7 @@ func fts5ExecPrintf(tls *libc.TLS, db uintptr, pzErr uintptr, zFormat uintptr, v // Drop all shadow tables. Return SQLITE_OK if successful or an SQLite error // code otherwise. -func sqlite3Fts5DropAll(tls *libc.TLS, pConfig uintptr) int32 { /* sqlite3.c:234695:12: */ +func sqlite3Fts5DropAll(tls *libc.TLS, pConfig uintptr) int32 { /* sqlite3.c:234752:12: */ bp := tls.Alloc(80) defer tls.Free(80) @@ -191169,7 +191200,7 @@ func sqlite3Fts5DropAll(tls *libc.TLS, pConfig uintptr) int32 { /* sqlite3.c:234 return rc } -func fts5StorageRenameOne(tls *libc.TLS, pConfig uintptr, pRc uintptr, zTail uintptr, zName uintptr) { /* sqlite3.c:234719:13: */ +func fts5StorageRenameOne(tls *libc.TLS, pConfig uintptr, pRc uintptr, zTail uintptr, zName uintptr) { /* sqlite3.c:234776:13: */ bp := tls.Alloc(40) defer tls.Free(40) @@ -191180,7 +191211,7 @@ func fts5StorageRenameOne(tls *libc.TLS, pConfig uintptr, pRc uintptr, zTail uin } } -func sqlite3Fts5StorageRename(tls *libc.TLS, pStorage uintptr, zName uintptr) int32 { /* sqlite3.c:234733:12: */ +func sqlite3Fts5StorageRename(tls *libc.TLS, pStorage uintptr, zName uintptr) int32 { /* sqlite3.c:234790:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -191201,7 +191232,7 @@ func sqlite3Fts5StorageRename(tls *libc.TLS, pStorage uintptr, zName uintptr) in // Create the shadow table named zPost, with definition zDefn. Return // SQLITE_OK if successful, or an SQLite error code otherwise. -func sqlite3Fts5CreateTable(tls *libc.TLS, pConfig uintptr, zPost uintptr, zDefn uintptr, bWithout int32, pzErr uintptr) int32 { /* sqlite3.c:234753:12: */ +func sqlite3Fts5CreateTable(tls *libc.TLS, pConfig uintptr, zPost uintptr, zDefn uintptr, bWithout int32, pzErr uintptr) int32 { /* sqlite3.c:234810:12: */ bp := tls.Alloc(72) defer tls.Free(72) @@ -191231,7 +191262,7 @@ func sqlite3Fts5CreateTable(tls *libc.TLS, pConfig uintptr, zPost uintptr, zDefn // // If successful, set *pp to point to the new object and return SQLITE_OK. // Otherwise, set *pp to NULL and return an SQLite error code. -func sqlite3Fts5StorageOpen(tls *libc.TLS, pConfig uintptr, pIndex uintptr, bCreate int32, pp uintptr, pzErr uintptr) int32 { /* sqlite3.c:234788:12: */ +func sqlite3Fts5StorageOpen(tls *libc.TLS, pConfig uintptr, pIndex uintptr, bCreate int32, pp uintptr, pzErr uintptr) int32 { /* sqlite3.c:234845:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -191292,7 +191323,7 @@ func sqlite3Fts5StorageOpen(tls *libc.TLS, pConfig uintptr, pIndex uintptr, bCre } // Close a handle opened by an earlier call to sqlite3Fts5StorageOpen(). -func sqlite3Fts5StorageClose(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:234854:12: */ +func sqlite3Fts5StorageClose(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:234911:12: */ var rc int32 = SQLITE_OK if p != 0 { var i int32 @@ -191311,12 +191342,12 @@ type Fts5InsertCtx1 = struct { FpStorage uintptr FiCol int32 FszCol int32 -} /* sqlite3.c:234869:9 */ +} /* sqlite3.c:234926:9 */ -type Fts5InsertCtx = Fts5InsertCtx1 /* sqlite3.c:234869:30 */ +type Fts5InsertCtx = Fts5InsertCtx1 /* sqlite3.c:234926:30 */ // Tokenization callback used when inserting tokens into the FTS index. -func fts5StorageInsertCallback(tls *libc.TLS, pContext uintptr, tflags int32, pToken uintptr, nToken int32, iUnused1 int32, iUnused2 int32) int32 { /* sqlite3.c:234879:12: */ +func fts5StorageInsertCallback(tls *libc.TLS, pContext uintptr, tflags int32, pToken uintptr, nToken int32, iUnused1 int32, iUnused2 int32) int32 { /* sqlite3.c:234936:12: */ var pCtx uintptr = pContext var pIdx uintptr = (*Fts5Storage)(unsafe.Pointer((*Fts5InsertCtx)(unsafe.Pointer(pCtx)).FpStorage)).FpIndex _ = iUnused1 @@ -191333,7 +191364,7 @@ func fts5StorageInsertCallback(tls *libc.TLS, pContext uintptr, tflags int32, pT // If a row with rowid iDel is present in the %_content table, add the // delete-markers to the FTS index necessary to delete it. Do not actually // remove the %_content row at this time though. -func fts5StorageDeleteFromIndex(tls *libc.TLS, p uintptr, iDel I64, apVal uintptr) int32 { /* sqlite3.c:234902:12: */ +func fts5StorageDeleteFromIndex(tls *libc.TLS, p uintptr, iDel I64, apVal uintptr) int32 { /* sqlite3.c:234959:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -191402,7 +191433,7 @@ func fts5StorageDeleteFromIndex(tls *libc.TLS, p uintptr, iDel I64, apVal uintpt // // If there is no %_docsize table (as happens if the columnsize=0 option // is specified when the FTS5 table is created), this function is a no-op. -func fts5StorageInsertDocsize(tls *libc.TLS, p uintptr, iRowid I64, pBuf uintptr) int32 { /* sqlite3.c:234971:12: */ +func fts5StorageInsertDocsize(tls *libc.TLS, p uintptr, iRowid I64, pBuf uintptr) int32 { /* sqlite3.c:235028:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -191429,7 +191460,7 @@ func fts5StorageInsertDocsize(tls *libc.TLS, p uintptr, iRowid I64, pBuf uintptr // // Return SQLITE_OK if successful, or an SQLite error code if an error // occurs. -func fts5StorageLoadTotals(tls *libc.TLS, p uintptr, bCache int32) int32 { /* sqlite3.c:235001:12: */ +func fts5StorageLoadTotals(tls *libc.TLS, p uintptr, bCache int32) int32 { /* sqlite3.c:235058:12: */ var rc int32 = SQLITE_OK if (*Fts5Storage)(unsafe.Pointer(p)).FbTotalsValid == 0 { rc = sqlite3Fts5IndexGetAverages(tls, (*Fts5Storage)(unsafe.Pointer(p)).FpIndex, p+24, (*Fts5Storage)(unsafe.Pointer(p)).FaTotalSize) @@ -191443,7 +191474,7 @@ func fts5StorageLoadTotals(tls *libc.TLS, p uintptr, bCache int32) int32 { /* sq // // Return SQLITE_OK if successful, or an SQLite error code if an error // occurs. -func fts5StorageSaveTotals(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:235017:12: */ +func fts5StorageSaveTotals(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:235074:12: */ bp := tls.Alloc(20) defer tls.Free(20) @@ -191467,7 +191498,7 @@ func fts5StorageSaveTotals(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:235017 } // Remove a row from the FTS table. -func sqlite3Fts5StorageDelete(tls *libc.TLS, p uintptr, iDel I64, apVal uintptr) int32 { /* sqlite3.c:235039:12: */ +func sqlite3Fts5StorageDelete(tls *libc.TLS, p uintptr, iDel I64, apVal uintptr) int32 { /* sqlite3.c:235096:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -191508,7 +191539,7 @@ func sqlite3Fts5StorageDelete(tls *libc.TLS, p uintptr, iDel I64, apVal uintptr) } // Delete all entries in the FTS5 index. -func sqlite3Fts5StorageDeleteAll(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:235080:12: */ +func sqlite3Fts5StorageDeleteAll(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:235137:12: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -191540,7 +191571,7 @@ func sqlite3Fts5StorageDeleteAll(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c: return rc } -func sqlite3Fts5StorageRebuild(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:235111:12: */ +func sqlite3Fts5StorageRebuild(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:235168:12: */ bp := tls.Alloc(44) defer tls.Free(44) @@ -191604,15 +191635,15 @@ func sqlite3Fts5StorageRebuild(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:23 return *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) } -func sqlite3Fts5StorageOptimize(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:235166:12: */ +func sqlite3Fts5StorageOptimize(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:235223:12: */ return sqlite3Fts5IndexOptimize(tls, (*Fts5Storage)(unsafe.Pointer(p)).FpIndex) } -func sqlite3Fts5StorageMerge(tls *libc.TLS, p uintptr, nMerge int32) int32 { /* sqlite3.c:235170:12: */ +func sqlite3Fts5StorageMerge(tls *libc.TLS, p uintptr, nMerge int32) int32 { /* sqlite3.c:235227:12: */ return sqlite3Fts5IndexMerge(tls, (*Fts5Storage)(unsafe.Pointer(p)).FpIndex, nMerge) } -func sqlite3Fts5StorageReset(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:235174:12: */ +func sqlite3Fts5StorageReset(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:235231:12: */ return sqlite3Fts5IndexReset(tls, (*Fts5Storage)(unsafe.Pointer(p)).FpIndex) } @@ -191623,7 +191654,7 @@ func sqlite3Fts5StorageReset(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:2351 // // If the %_docsize table does not exist, SQLITE_MISMATCH is returned. In // this case the user is required to provide a rowid explicitly. -func fts5StorageNewRowid(tls *libc.TLS, p uintptr, piRowid uintptr) int32 { /* sqlite3.c:235187:12: */ +func fts5StorageNewRowid(tls *libc.TLS, p uintptr, piRowid uintptr) int32 { /* sqlite3.c:235244:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -191645,7 +191676,7 @@ func fts5StorageNewRowid(tls *libc.TLS, p uintptr, piRowid uintptr) int32 { /* s } // Insert a new row into the FTS content table. -func sqlite3Fts5StorageContentInsert(tls *libc.TLS, p uintptr, apVal uintptr, piRowid uintptr) int32 { /* sqlite3.c:235208:12: */ +func sqlite3Fts5StorageContentInsert(tls *libc.TLS, p uintptr, apVal uintptr, piRowid uintptr) int32 { /* sqlite3.c:235265:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -191677,7 +191708,7 @@ func sqlite3Fts5StorageContentInsert(tls *libc.TLS, p uintptr, apVal uintptr, pi } // Insert new entries into the FTS index and %_docsize table. -func sqlite3Fts5StorageIndexInsert(tls *libc.TLS, p uintptr, apVal uintptr, iRowid I64) int32 { /* sqlite3.c:235243:12: */ +func sqlite3Fts5StorageIndexInsert(tls *libc.TLS, p uintptr, apVal uintptr, iRowid I64) int32 { /* sqlite3.c:235300:12: */ bp := tls.Alloc(36) defer tls.Free(36) @@ -191722,7 +191753,7 @@ func sqlite3Fts5StorageIndexInsert(tls *libc.TLS, p uintptr, apVal uintptr, iRow return *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) } -func fts5StorageCount(tls *libc.TLS, p uintptr, zSuffix uintptr, pnRow uintptr) int32 { /* sqlite3.c:235286:12: */ +func fts5StorageCount(tls *libc.TLS, p uintptr, zSuffix uintptr, pnRow uintptr) int32 { /* sqlite3.c:235343:12: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -191757,13 +191788,13 @@ type Fts5IntegrityCtx1 = struct { Fcksum U64 FpTermset uintptr FpConfig uintptr -} /* sqlite3.c:235314:9 */ +} /* sqlite3.c:235371:9 */ // Context object used by sqlite3Fts5StorageIntegrity(). -type Fts5IntegrityCtx = Fts5IntegrityCtx1 /* sqlite3.c:235314:33 */ +type Fts5IntegrityCtx = Fts5IntegrityCtx1 /* sqlite3.c:235371:33 */ // Tokenization callback used by integrity check. -func fts5StorageIntegrityCallback(tls *libc.TLS, pContext uintptr, tflags int32, pToken uintptr, nToken int32, iUnused1 int32, iUnused2 int32) int32 { /* sqlite3.c:235328:12: */ +func fts5StorageIntegrityCallback(tls *libc.TLS, pContext uintptr, tflags int32, pToken uintptr, nToken int32, iUnused1 int32, iUnused2 int32) int32 { /* sqlite3.c:235385:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -191829,7 +191860,7 @@ func fts5StorageIntegrityCallback(tls *libc.TLS, pContext uintptr, tflags int32, // table. Return SQLITE_OK if they do, or SQLITE_CORRUPT if not. Return // some other SQLite error code if an error occurs while attempting to // determine this. -func sqlite3Fts5StorageIntegrity(tls *libc.TLS, p uintptr, iArg int32) int32 { /* sqlite3.c:235398:12: */ +func sqlite3Fts5StorageIntegrity(tls *libc.TLS, p uintptr, iArg int32) int32 { /* sqlite3.c:235455:12: */ bp := tls.Alloc(64) defer tls.Free(64) @@ -191954,7 +191985,7 @@ func sqlite3Fts5StorageIntegrity(tls *libc.TLS, p uintptr, iArg int32) int32 { / // Obtain an SQLite statement handle that may be used to read data from the // %_content table. -func sqlite3Fts5StorageStmt(tls *libc.TLS, p uintptr, eStmt int32, pp uintptr, pzErrMsg uintptr) int32 { /* sqlite3.c:235506:12: */ +func sqlite3Fts5StorageStmt(tls *libc.TLS, p uintptr, eStmt int32, pp uintptr, pzErrMsg uintptr) int32 { /* sqlite3.c:235563:12: */ var rc int32 rc = fts5StorageGetStmt(tls, p, eStmt, pp, pzErrMsg) @@ -191968,7 +191999,7 @@ func sqlite3Fts5StorageStmt(tls *libc.TLS, p uintptr, eStmt int32, pp uintptr, p // Release an SQLite statement handle obtained via an earlier call to // sqlite3Fts5StorageStmt(). The eStmt parameter passed to this function // must match that passed to the sqlite3Fts5StorageStmt() call. -func sqlite3Fts5StorageStmtRelease(tls *libc.TLS, p uintptr, eStmt int32, pStmt uintptr) { /* sqlite3.c:235530:13: */ +func sqlite3Fts5StorageStmtRelease(tls *libc.TLS, p uintptr, eStmt int32, pStmt uintptr) { /* sqlite3.c:235587:13: */ if *(*uintptr)(unsafe.Pointer(p + 40 + uintptr(eStmt)*8)) == uintptr(0) { Xsqlite3_reset(tls, pStmt) @@ -191978,7 +192009,7 @@ func sqlite3Fts5StorageStmtRelease(tls *libc.TLS, p uintptr, eStmt int32, pStmt } } -func fts5StorageDecodeSizeArray(tls *libc.TLS, aCol uintptr, nCol int32, aBlob uintptr, nBlob int32) int32 { /* sqlite3.c:235547:12: */ +func fts5StorageDecodeSizeArray(tls *libc.TLS, aCol uintptr, nCol int32, aBlob uintptr, nBlob int32) int32 { /* sqlite3.c:235604:12: */ var i int32 var iOff int32 = 0 for i = 0; i < nCol; i++ { @@ -191996,7 +192027,7 @@ func fts5StorageDecodeSizeArray(tls *libc.TLS, aCol uintptr, nCol int32, aBlob u // // An SQLite error code is returned if an error occurs, or SQLITE_OK // otherwise. -func sqlite3Fts5StorageDocsize(tls *libc.TLS, p uintptr, iRowid I64, aCol uintptr) int32 { /* sqlite3.c:235568:12: */ +func sqlite3Fts5StorageDocsize(tls *libc.TLS, p uintptr, iRowid I64, aCol uintptr) int32 { /* sqlite3.c:235625:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -192027,7 +192058,7 @@ func sqlite3Fts5StorageDocsize(tls *libc.TLS, p uintptr, iRowid I64, aCol uintpt return rc } -func sqlite3Fts5StorageSize(tls *libc.TLS, p uintptr, iCol int32, pnToken uintptr) int32 { /* sqlite3.c:235597:12: */ +func sqlite3Fts5StorageSize(tls *libc.TLS, p uintptr, iCol int32, pnToken uintptr) int32 { /* sqlite3.c:235654:12: */ var rc int32 = fts5StorageLoadTotals(tls, p, 0) if rc == SQLITE_OK { *(*I64)(unsafe.Pointer(pnToken)) = int64(0) @@ -192045,7 +192076,7 @@ func sqlite3Fts5StorageSize(tls *libc.TLS, p uintptr, iCol int32, pnToken uintpt return rc } -func sqlite3Fts5StorageRowCount(tls *libc.TLS, p uintptr, pnRow uintptr) int32 { /* sqlite3.c:235615:12: */ +func sqlite3Fts5StorageRowCount(tls *libc.TLS, p uintptr, pnRow uintptr) int32 { /* sqlite3.c:235672:12: */ var rc int32 = fts5StorageLoadTotals(tls, p, 0) if rc == SQLITE_OK { // nTotalRow being zero does not necessarily indicate a corrupt @@ -192062,7 +192093,7 @@ func sqlite3Fts5StorageRowCount(tls *libc.TLS, p uintptr, pnRow uintptr) int32 { } // Flush any data currently held in-memory to disk. -func sqlite3Fts5StorageSync(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:235632:12: */ +func sqlite3Fts5StorageSync(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:235689:12: */ var rc int32 = SQLITE_OK var iLastRowid I64 = Xsqlite3_last_insert_rowid(tls, (*Fts5Config)(unsafe.Pointer((*Fts5Storage)(unsafe.Pointer(p)).FpConfig)).Fdb) if (*Fts5Storage)(unsafe.Pointer(p)).FbTotalsValid != 0 { @@ -192076,12 +192107,12 @@ func sqlite3Fts5StorageSync(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:23563 return rc } -func sqlite3Fts5StorageRollback(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:235646:12: */ +func sqlite3Fts5StorageRollback(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:235703:12: */ (*Fts5Storage)(unsafe.Pointer(p)).FbTotalsValid = 0 return sqlite3Fts5IndexRollback(tls, (*Fts5Storage)(unsafe.Pointer(p)).FpIndex) } -func sqlite3Fts5StorageConfigValue(tls *libc.TLS, p uintptr, z uintptr, pVal uintptr, iVal int32) int32 { /* sqlite3.c:235651:12: */ +func sqlite3Fts5StorageConfigValue(tls *libc.TLS, p uintptr, z uintptr, pVal uintptr, iVal int32) int32 { /* sqlite3.c:235708:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -192136,13 +192167,13 @@ var aAsciiTokenChar = [128]uint8{ uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), // 0x50..0x5F uint8(0), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), // 0x60..0x6F uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), // 0x70..0x7F -} /* sqlite3.c:235704:22 */ +} /* sqlite3.c:235761:22 */ -type AsciiTokenizer1 = struct{ FaTokenChar [128]uint8 } /* sqlite3.c:235715:9 */ +type AsciiTokenizer1 = struct{ FaTokenChar [128]uint8 } /* sqlite3.c:235772:9 */ -type AsciiTokenizer = AsciiTokenizer1 /* sqlite3.c:235715:31 */ +type AsciiTokenizer = AsciiTokenizer1 /* sqlite3.c:235772:31 */ -func fts5AsciiAddExceptions(tls *libc.TLS, p uintptr, zArg uintptr, bTokenChars int32) { /* sqlite3.c:235720:13: */ +func fts5AsciiAddExceptions(tls *libc.TLS, p uintptr, zArg uintptr, bTokenChars int32) { /* sqlite3.c:235777:13: */ var i int32 for i = 0; *(*uint8)(unsafe.Pointer(zArg + uintptr(i))) != 0; i++ { if int32(*(*uint8)(unsafe.Pointer(zArg + uintptr(i))))&0x80 == 0 { @@ -192152,12 +192183,12 @@ func fts5AsciiAddExceptions(tls *libc.TLS, p uintptr, zArg uintptr, bTokenChars } // Delete a "ascii" tokenizer. -func fts5AsciiDelete(tls *libc.TLS, p uintptr) { /* sqlite3.c:235736:13: */ +func fts5AsciiDelete(tls *libc.TLS, p uintptr) { /* sqlite3.c:235793:13: */ Xsqlite3_free(tls, p) } // Create an "ascii" tokenizer. -func fts5AsciiCreate(tls *libc.TLS, pUnused uintptr, azArg uintptr, nArg int32, ppOut uintptr) int32 { /* sqlite3.c:235743:12: */ +func fts5AsciiCreate(tls *libc.TLS, pUnused uintptr, azArg uintptr, nArg int32, ppOut uintptr) int32 { /* sqlite3.c:235800:12: */ var rc int32 = SQLITE_OK var p uintptr = uintptr(0) _ = pUnused @@ -192192,7 +192223,7 @@ func fts5AsciiCreate(tls *libc.TLS, pUnused uintptr, azArg uintptr, nArg int32, return rc } -func asciiFold(tls *libc.TLS, aOut uintptr, aIn uintptr, nByte int32) { /* sqlite3.c:235784:13: */ +func asciiFold(tls *libc.TLS, aOut uintptr, aIn uintptr, nByte int32) { /* sqlite3.c:235841:13: */ var i int32 for i = 0; i < nByte; i++ { var c uint8 = *(*uint8)(unsafe.Pointer(aIn + uintptr(i))) @@ -192204,7 +192235,7 @@ func asciiFold(tls *libc.TLS, aOut uintptr, aIn uintptr, nByte int32) { /* sqlit } // Tokenize some text using the ascii tokenizer. -func fts5AsciiTokenize(tls *libc.TLS, pTokenizer uintptr, pCtx uintptr, iUnused int32, pText uintptr, nText int32, xToken uintptr) int32 { /* sqlite3.c:235796:12: */ +func fts5AsciiTokenize(tls *libc.TLS, pTokenizer uintptr, pCtx uintptr, iUnused int32, pText uintptr, nText int32, xToken uintptr) int32 { /* sqlite3.c:235853:12: */ bp := tls.Alloc(64) defer tls.Free(64) @@ -192285,7 +192316,7 @@ type Unicode61Tokenizer1 = struct { F__ccgo_pad1 [4]byte FaiException uintptr FaCategory [32]uint8 -} /* sqlite3.c:235911:9 */ +} /* sqlite3.c:235968:9 */ // ************************************************************************* // @@ -192295,11 +192326,11 @@ type Unicode61Tokenizer1 = struct { // from the sqlite3 source file utf.c. If this file is compiled as part // of the amalgamation, they are not required. -type Unicode61Tokenizer = Unicode61Tokenizer1 /* sqlite3.c:235911:35 */ +type Unicode61Tokenizer = Unicode61Tokenizer1 /* sqlite3.c:235968:35 */ // Values for eRemoveDiacritic (must match internals of fts5_unicode2.c) -func fts5UnicodeAddExceptions(tls *libc.TLS, p uintptr, z uintptr, bTokenChars int32) int32 { /* sqlite3.c:235928:12: */ +func fts5UnicodeAddExceptions(tls *libc.TLS, p uintptr, z uintptr, bTokenChars int32) int32 { /* sqlite3.c:235985:12: */ var rc int32 = SQLITE_OK var n int32 = int32(libc.Xstrlen(tls, z)) var aNew uintptr @@ -192354,7 +192385,7 @@ func fts5UnicodeAddExceptions(tls *libc.TLS, p uintptr, z uintptr, bTokenChars i } // Return true if the p->aiException[] array contains the value iCode. -func fts5UnicodeIsException(tls *libc.TLS, p uintptr, iCode int32) int32 { /* sqlite3.c:235978:12: */ +func fts5UnicodeIsException(tls *libc.TLS, p uintptr, iCode int32) int32 { /* sqlite3.c:236035:12: */ if (*Unicode61Tokenizer)(unsafe.Pointer(p)).FnException > 0 { var a uintptr = (*Unicode61Tokenizer)(unsafe.Pointer(p)).FaiException var iLo int32 = 0 @@ -192376,7 +192407,7 @@ func fts5UnicodeIsException(tls *libc.TLS, p uintptr, iCode int32) int32 { /* sq } // Delete a "unicode61" tokenizer. -func fts5UnicodeDelete(tls *libc.TLS, pTok uintptr) { /* sqlite3.c:236002:13: */ +func fts5UnicodeDelete(tls *libc.TLS, pTok uintptr) { /* sqlite3.c:236059:13: */ if pTok != 0 { var p uintptr = pTok Xsqlite3_free(tls, (*Unicode61Tokenizer)(unsafe.Pointer(p)).FaiException) @@ -192386,7 +192417,7 @@ func fts5UnicodeDelete(tls *libc.TLS, pTok uintptr) { /* sqlite3.c:236002:13: */ return } -func unicodeSetCategories(tls *libc.TLS, p uintptr, zCat uintptr) int32 { /* sqlite3.c:236012:12: */ +func unicodeSetCategories(tls *libc.TLS, p uintptr, zCat uintptr) int32 { /* sqlite3.c:236069:12: */ var z uintptr = zCat for *(*uint8)(unsafe.Pointer(z)) != 0 { @@ -192406,7 +192437,7 @@ func unicodeSetCategories(tls *libc.TLS, p uintptr, zCat uintptr) int32 { /* sql } // Create a "unicode61" tokenizer. -func fts5UnicodeCreate(tls *libc.TLS, pUnused uintptr, azArg uintptr, nArg int32, ppOut uintptr) int32 { /* sqlite3.c:236030:12: */ +func fts5UnicodeCreate(tls *libc.TLS, pUnused uintptr, azArg uintptr, nArg int32, ppOut uintptr) int32 { /* sqlite3.c:236087:12: */ var rc int32 = SQLITE_OK // Return code var p uintptr = uintptr(0) // New tokenizer object @@ -192474,12 +192505,12 @@ func fts5UnicodeCreate(tls *libc.TLS, pUnused uintptr, azArg uintptr, nArg int32 // Return true if, for the purposes of tokenizing with the tokenizer // passed as the first argument, codepoint iCode is considered a token // character (not a separator). -func fts5UnicodeIsAlnum(tls *libc.TLS, p uintptr, iCode int32) int32 { /* sqlite3.c:236110:12: */ +func fts5UnicodeIsAlnum(tls *libc.TLS, p uintptr, iCode int32) int32 { /* sqlite3.c:236167:12: */ return int32(*(*uint8)(unsafe.Pointer(p + 160 + uintptr(sqlite3Fts5UnicodeCategory(tls, U32(iCode)))))) ^ fts5UnicodeIsException(tls, p, iCode) } -func fts5UnicodeTokenize(tls *libc.TLS, pTokenizer uintptr, pCtx uintptr, iUnused int32, pText uintptr, nText int32, xToken uintptr) int32 { /* sqlite3.c:236117:12: */ +func fts5UnicodeTokenize(tls *libc.TLS, pTokenizer uintptr, pCtx uintptr, iUnused int32, pText uintptr, nText int32, xToken uintptr) int32 { /* sqlite3.c:236174:12: */ var p uintptr var rc int32 var a uintptr @@ -192735,7 +192766,7 @@ type PorterTokenizer1 = struct { Ftokenizer Fts5_tokenizer FpTokenizer uintptr FaBuf [128]uint8 -} /* sqlite3.c:236229:9 */ +} /* sqlite3.c:236286:9 */ // ************************************************************************* // @@ -192744,10 +192775,10 @@ type PorterTokenizer1 = struct { // Any tokens larger than this (in bytes) are passed through without // stemming. -type PorterTokenizer = PorterTokenizer1 /* sqlite3.c:236229:32 */ +type PorterTokenizer = PorterTokenizer1 /* sqlite3.c:236286:32 */ // Delete a "porter" tokenizer. -func fts5PorterDelete(tls *libc.TLS, pTok uintptr) { /* sqlite3.c:236239:13: */ +func fts5PorterDelete(tls *libc.TLS, pTok uintptr) { /* sqlite3.c:236296:13: */ if pTok != 0 { var p uintptr = pTok if (*PorterTokenizer)(unsafe.Pointer(p)).FpTokenizer != 0 { @@ -192758,7 +192789,7 @@ func fts5PorterDelete(tls *libc.TLS, pTok uintptr) { /* sqlite3.c:236239:13: */ } // Create a "porter" tokenizer. -func fts5PorterCreate(tls *libc.TLS, pCtx uintptr, azArg uintptr, nArg int32, ppOut uintptr) int32 { /* sqlite3.c:236252:12: */ +func fts5PorterCreate(tls *libc.TLS, pCtx uintptr, azArg uintptr, nArg int32, ppOut uintptr) int32 { /* sqlite3.c:236309:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -192811,9 +192842,9 @@ type PorterContext1 = struct { FpCtx uintptr FxToken uintptr FaBuf uintptr -} /* sqlite3.c:236288:9 */ +} /* sqlite3.c:236345:9 */ -type PorterContext = PorterContext1 /* sqlite3.c:236288:30 */ +type PorterContext = PorterContext1 /* sqlite3.c:236345:30 */ type PorterRule1 = struct { FzSuffix uintptr @@ -192823,15 +192854,15 @@ type PorterRule1 = struct { FzOutput uintptr FnOutput int32 F__ccgo_pad2 [4]byte -} /* sqlite3.c:236295:9 */ +} /* sqlite3.c:236352:9 */ -type PorterRule = PorterRule1 /* sqlite3.c:236295:27 */ +type PorterRule = PorterRule1 /* sqlite3.c:236352:27 */ -func fts5PorterIsVowel(tls *libc.TLS, c uint8, bYIsVowel int32) int32 { /* sqlite3.c:236330:12: */ +func fts5PorterIsVowel(tls *libc.TLS, c uint8, bYIsVowel int32) int32 { /* sqlite3.c:236387:12: */ return libc.Bool32(int32(c) == 'a' || int32(c) == 'e' || int32(c) == 'i' || int32(c) == 'o' || int32(c) == 'u' || bYIsVowel != 0 && int32(c) == 'y') } -func fts5PorterGobbleVC(tls *libc.TLS, zStem uintptr, nStem int32, bPrevCons int32) int32 { /* sqlite3.c:236336:12: */ +func fts5PorterGobbleVC(tls *libc.TLS, zStem uintptr, nStem int32, bPrevCons int32) int32 { /* sqlite3.c:236393:12: */ var i int32 var bCons int32 = bPrevCons @@ -192852,12 +192883,12 @@ func fts5PorterGobbleVC(tls *libc.TLS, zStem uintptr, nStem int32, bPrevCons int } // porter rule condition: (m > 0) -func fts5Porter_MGt0(tls *libc.TLS, zStem uintptr, nStem int32) int32 { /* sqlite3.c:236353:12: */ +func fts5Porter_MGt0(tls *libc.TLS, zStem uintptr, nStem int32) int32 { /* sqlite3.c:236410:12: */ return libc.BoolInt32(!!(fts5PorterGobbleVC(tls, zStem, nStem, 0) != 0)) } // porter rule condition: (m > 1) -func fts5Porter_MGt1(tls *libc.TLS, zStem uintptr, nStem int32) int32 { /* sqlite3.c:236358:12: */ +func fts5Porter_MGt1(tls *libc.TLS, zStem uintptr, nStem int32) int32 { /* sqlite3.c:236415:12: */ var n int32 n = fts5PorterGobbleVC(tls, zStem, nStem, 0) if n != 0 && fts5PorterGobbleVC(tls, zStem+uintptr(n), nStem-n, 1) != 0 { @@ -192867,7 +192898,7 @@ func fts5Porter_MGt1(tls *libc.TLS, zStem uintptr, nStem int32) int32 { /* sqlit } // porter rule condition: (m = 1) -func fts5Porter_MEq1(tls *libc.TLS, zStem uintptr, nStem int32) int32 { /* sqlite3.c:236368:12: */ +func fts5Porter_MEq1(tls *libc.TLS, zStem uintptr, nStem int32) int32 { /* sqlite3.c:236425:12: */ var n int32 n = fts5PorterGobbleVC(tls, zStem, nStem, 0) if n != 0 && 0 == fts5PorterGobbleVC(tls, zStem+uintptr(n), nStem-n, 1) { @@ -192877,7 +192908,7 @@ func fts5Porter_MEq1(tls *libc.TLS, zStem uintptr, nStem int32) int32 { /* sqlit } // porter rule condition: (*o) -func fts5Porter_Ostar(tls *libc.TLS, zStem uintptr, nStem int32) int32 { /* sqlite3.c:236378:12: */ +func fts5Porter_Ostar(tls *libc.TLS, zStem uintptr, nStem int32) int32 { /* sqlite3.c:236435:12: */ if int32(*(*uint8)(unsafe.Pointer(zStem + uintptr(nStem-1)))) == 'w' || int32(*(*uint8)(unsafe.Pointer(zStem + uintptr(nStem-1)))) == 'x' || int32(*(*uint8)(unsafe.Pointer(zStem + uintptr(nStem-1)))) == 'y' { return 0 } else { @@ -192895,14 +192926,14 @@ func fts5Porter_Ostar(tls *libc.TLS, zStem uintptr, nStem int32) int32 { /* sqli } // porter rule condition: (m > 1 and (*S or *T)) -func fts5Porter_MGt1_and_S_or_T(tls *libc.TLS, zStem uintptr, nStem int32) int32 { /* sqlite3.c:236395:12: */ +func fts5Porter_MGt1_and_S_or_T(tls *libc.TLS, zStem uintptr, nStem int32) int32 { /* sqlite3.c:236452:12: */ return libc.Bool32((int32(*(*uint8)(unsafe.Pointer(zStem + uintptr(nStem-1)))) == 's' || int32(*(*uint8)(unsafe.Pointer(zStem + uintptr(nStem-1)))) == 't') && fts5Porter_MGt1(tls, zStem, nStem) != 0) } // porter rule condition: (*v*) -func fts5Porter_Vowel(tls *libc.TLS, zStem uintptr, nStem int32) int32 { /* sqlite3.c:236402:12: */ +func fts5Porter_Vowel(tls *libc.TLS, zStem uintptr, nStem int32) int32 { /* sqlite3.c:236459:12: */ var i int32 for i = 0; i < nStem; i++ { if fts5PorterIsVowel(tls, *(*uint8)(unsafe.Pointer(zStem + uintptr(i))), libc.Bool32(i > 0)) != 0 { @@ -192917,7 +192948,7 @@ func fts5Porter_Vowel(tls *libc.TLS, zStem uintptr, nStem int32) int32 { /* sqli // // GENERATED CODE STARTS HERE (mkportersteps.tcl) -func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqlite3.c:236418:12: */ +func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqlite3.c:236475:12: */ var ret int32 = 0 var nBuf int32 = *(*int32)(unsafe.Pointer(pnBuf)) switch int32(*(*uint8)(unsafe.Pointer(aBuf + uintptr(nBuf-2)))) { @@ -193050,7 +193081,7 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli return ret } -func fts5PorterStep1B2(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqlite3.c:236552:12: */ +func fts5PorterStep1B2(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqlite3.c:236609:12: */ var ret int32 = 0 var nBuf int32 = *(*int32)(unsafe.Pointer(pnBuf)) switch int32(*(*uint8)(unsafe.Pointer(aBuf + uintptr(nBuf-2)))) { @@ -193083,7 +193114,7 @@ func fts5PorterStep1B2(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sq return ret } -func fts5PorterStep2(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqlite3.c:236586:12: */ +func fts5PorterStep2(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqlite3.c:236643:12: */ var ret int32 = 0 var nBuf int32 = *(*int32)(unsafe.Pointer(pnBuf)) switch int32(*(*uint8)(unsafe.Pointer(aBuf + uintptr(nBuf-2)))) { @@ -193229,7 +193260,7 @@ func fts5PorterStep2(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli return ret } -func fts5PorterStep3(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqlite3.c:236733:12: */ +func fts5PorterStep3(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqlite3.c:236790:12: */ var ret int32 = 0 var nBuf int32 = *(*int32)(unsafe.Pointer(pnBuf)) switch int32(*(*uint8)(unsafe.Pointer(aBuf + uintptr(nBuf-2)))) { @@ -193294,7 +193325,7 @@ func fts5PorterStep3(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli return ret } -func fts5PorterStep1B(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqlite3.c:236799:12: */ +func fts5PorterStep1B(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqlite3.c:236856:12: */ var ret int32 = 0 var nBuf int32 = *(*int32)(unsafe.Pointer(pnBuf)) switch int32(*(*uint8)(unsafe.Pointer(aBuf + uintptr(nBuf-2)))) { @@ -193331,7 +193362,7 @@ func fts5PorterStep1B(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sql // // -func fts5PorterStep1A(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) { /* sqlite3.c:236836:13: */ +func fts5PorterStep1A(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) { /* sqlite3.c:236893:13: */ var nBuf int32 = *(*int32)(unsafe.Pointer(pnBuf)) if int32(*(*uint8)(unsafe.Pointer(aBuf + uintptr(nBuf-1)))) == 's' { if int32(*(*uint8)(unsafe.Pointer(aBuf + uintptr(nBuf-2)))) == 'e' { @@ -193347,7 +193378,7 @@ func fts5PorterStep1A(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) { /* sqlite3.c } } -func fts5PorterCb(tls *libc.TLS, pCtx uintptr, tflags int32, pToken uintptr, nToken int32, iStart int32, iEnd int32) int32 { /* sqlite3.c:236854:12: */ +func fts5PorterCb(tls *libc.TLS, pCtx uintptr, tflags int32, pToken uintptr, nToken int32, iStart int32, iEnd int32) int32 { /* sqlite3.c:236911:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -193445,7 +193476,7 @@ pass_through: } // Tokenize using the porter tokenizer. -func fts5PorterTokenize(tls *libc.TLS, pTokenizer uintptr, pCtx uintptr, flags int32, pText uintptr, nText int32, xToken uintptr) int32 { /* sqlite3.c:236923:12: */ +func fts5PorterTokenize(tls *libc.TLS, pTokenizer uintptr, pCtx uintptr, flags int32, pText uintptr, nText int32, xToken uintptr) int32 { /* sqlite3.c:236980:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -193466,20 +193497,20 @@ func fts5PorterTokenize(tls *libc.TLS, pTokenizer uintptr, pCtx uintptr, flags i // ************************************************************************* // // Start of trigram implementation. -type TrigramTokenizer1 = struct{ FbFold int32 } /* sqlite3.c:236943:9 */ +type TrigramTokenizer1 = struct{ FbFold int32 } /* sqlite3.c:237000:9 */ // ************************************************************************* // // Start of trigram implementation. -type TrigramTokenizer = TrigramTokenizer1 /* sqlite3.c:236943:33 */ +type TrigramTokenizer = TrigramTokenizer1 /* sqlite3.c:237000:33 */ // Free a trigram tokenizer. -func fts5TriDelete(tls *libc.TLS, p uintptr) { /* sqlite3.c:236951:13: */ +func fts5TriDelete(tls *libc.TLS, p uintptr) { /* sqlite3.c:237008:13: */ Xsqlite3_free(tls, p) } // Allocate a trigram tokenizer. -func fts5TriCreate(tls *libc.TLS, pUnused uintptr, azArg uintptr, nArg int32, ppOut uintptr) int32 { /* sqlite3.c:236958:12: */ +func fts5TriCreate(tls *libc.TLS, pUnused uintptr, azArg uintptr, nArg int32, ppOut uintptr) int32 { /* sqlite3.c:237015:12: */ var rc int32 = SQLITE_OK var pNew uintptr = Xsqlite3_malloc(tls, int32(unsafe.Sizeof(TrigramTokenizer{}))) _ = pUnused @@ -193510,7 +193541,7 @@ func fts5TriCreate(tls *libc.TLS, pUnused uintptr, azArg uintptr, nArg int32, pp } // Trigram tokenizer tokenize routine. -func fts5TriTokenize(tls *libc.TLS, pTok uintptr, pCtx uintptr, unusedFlags int32, pText uintptr, nText int32, xToken uintptr) int32 { /* sqlite3.c:236996:12: */ +func fts5TriTokenize(tls *libc.TLS, pTok uintptr, pCtx uintptr, unusedFlags int32, pText uintptr, nText int32, xToken uintptr) int32 { /* sqlite3.c:237053:12: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -193663,7 +193694,7 @@ func fts5TriTokenize(tls *libc.TLS, pTok uintptr, pCtx uintptr, unusedFlags int3 // "trigram" tokenizer, case_sensitive=1 - FTS5_PATTERN_GLOB // "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) int32 { /* sqlite3.c:237056:12: */ +func sqlite3Fts5TokenizerPattern(tls *libc.TLS, xCreate uintptr, pTok uintptr) int32 { /* sqlite3.c:237113:12: */ if xCreate == *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 }{fts5TriCreate})) { @@ -193677,7 +193708,7 @@ func sqlite3Fts5TokenizerPattern(tls *libc.TLS, xCreate uintptr, pTok uintptr) i } // Register all built-in tokenizers with FTS5. -func sqlite3Fts5TokenizerInit(tls *libc.TLS, pApi uintptr) int32 { /* sqlite3.c:237070:12: */ +func sqlite3Fts5TokenizerInit(tls *libc.TLS, pApi uintptr) int32 { /* sqlite3.c:237127:12: */ bp := tls.Alloc(128) defer tls.Free(128) @@ -193723,7 +193754,7 @@ func sqlite3Fts5TokenizerInit(tls *libc.TLS, pApi uintptr) int32 { /* sqlite3.c: type BuiltinTokenizer = struct { FzName uintptr Fx Fts5_tokenizer -} /* sqlite3.c:237071:3 */ +} /* sqlite3.c:237128:3 */ // 2012-05-25 // @@ -193746,7 +193777,7 @@ type BuiltinTokenizer = struct { // SMALL LETTER E WITH DIAERESIS" - return 65 ("LATIN SMALL LETTER // E"). The resuls of passing a codepoint that corresponds to an // uppercase letter are undefined. -func fts5_remove_diacritic(tls *libc.TLS, c int32, bComplex int32) int32 { /* sqlite3.c:237126:12: */ +func fts5_remove_diacritic(tls *libc.TLS, c int32, bComplex int32) int32 { /* sqlite3.c:237183:12: */ bp := tls.Alloc(378) defer tls.Free(378) @@ -193817,7 +193848,7 @@ func fts5_remove_diacritic(tls *libc.TLS, c int32, bComplex int32) int32 { /* sq // Return true if the argument interpreted as a unicode codepoint // is a diacritical modifier character. -func sqlite3Fts5UnicodeIsdiacritic(tls *libc.TLS, c int32) int32 { /* sqlite3.c:237193:12: */ +func sqlite3Fts5UnicodeIsdiacritic(tls *libc.TLS, c int32) int32 { /* sqlite3.c:237250:12: */ var mask0 uint32 = uint32(0x08029FDF) var mask1 uint32 = uint32(0x000361F8) if c < 768 || c > 817 { @@ -193836,7 +193867,7 @@ func sqlite3Fts5UnicodeIsdiacritic(tls *libc.TLS, c int32) int32 { /* sqlite3.c: // // The results are undefined if the value passed to this function // is less than zero. -func sqlite3Fts5UnicodeFold(tls *libc.TLS, c int32, eRemoveDiacritic int32) int32 { /* sqlite3.c:237212:12: */ +func sqlite3Fts5UnicodeFold(tls *libc.TLS, c int32, eRemoveDiacritic int32) int32 { /* sqlite3.c:237269:12: */ var ret int32 = c @@ -193897,7 +193928,7 @@ type TableEntry = struct { FiCode uint16 Fflags uint8 FnRange uint8 -} /* sqlite3.c:237230:16 */ +} /* sqlite3.c:237287:16 */ var aEntry = [163]TableEntry{ {FiCode: uint16(65), Fflags: uint8(14), FnRange: uint8(26)}, {FiCode: uint16(181), Fflags: uint8(64), FnRange: uint8(1)}, {FiCode: uint16(192), Fflags: uint8(14), FnRange: uint8(23)}, @@ -193955,7 +193986,7 @@ var aEntry = [163]TableEntry{ {FiCode: uint16(42878), Fflags: uint8(1), FnRange: uint8(10)}, {FiCode: uint16(42891), FnRange: uint8(1)}, {FiCode: uint16(42893), Fflags: uint8(74), FnRange: uint8(1)}, {FiCode: uint16(42896), Fflags: uint8(1), FnRange: uint8(4)}, {FiCode: uint16(42912), Fflags: uint8(1), FnRange: uint8(10)}, {FiCode: uint16(42922), Fflags: uint8(72), FnRange: uint8(1)}, {FiCode: uint16(65313), Fflags: uint8(14), FnRange: uint8(26)}, -} /* sqlite3.c:237234:5 */ +} /* sqlite3.c:237291:5 */ var aiOff = [77]uint16{ uint16(1), uint16(2), uint16(8), uint16(15), uint16(16), uint16(26), uint16(28), uint16(32), uint16(37), uint16(38), uint16(40), uint16(48), uint16(63), uint16(64), uint16(69), uint16(71), @@ -193967,9 +193998,9 @@ var aiOff = [77]uint16{ uint16(65408), uint16(65410), uint16(65415), uint16(65424), uint16(65436), uint16(65439), uint16(65450), uint16(65462), uint16(65472), uint16(65476), uint16(65478), uint16(65480), uint16(65482), uint16(65488), uint16(65506), uint16(65511), uint16(65514), uint16(65521), uint16(65527), uint16(65528), uint16(65529), -} /* sqlite3.c:237291:31 */ +} /* sqlite3.c:237348:31 */ -func sqlite3Fts5UnicodeCatParse(tls *libc.TLS, zCat uintptr, aArray uintptr) int32 { /* sqlite3.c:237348:12: */ +func sqlite3Fts5UnicodeCatParse(tls *libc.TLS, zCat uintptr, aArray uintptr) int32 { /* sqlite3.c:237405:12: */ *(*U8)(unsafe.Pointer(aArray)) = U8(1) switch int32(*(*uint8)(unsafe.Pointer(zCat))) { case 'C': @@ -194166,7 +194197,7 @@ func sqlite3Fts5UnicodeCatParse(tls *libc.TLS, zCat uintptr, aArray uintptr) int var aFts5UnicodeBlock = [17]U16{ U16(0), U16(1471), U16(1753), U16(1760), U16(1760), U16(1760), U16(1760), U16(1760), U16(1760), U16(1760), U16(1760), U16(1760), U16(1760), U16(1760), U16(1760), U16(1763), U16(1765), -} /* sqlite3.c:237466:12 */ +} /* sqlite3.c:237523:12 */ var aFts5UnicodeMap = [1765]U16{ U16(0), U16(32), U16(33), U16(36), U16(37), U16(40), U16(41), U16(42), U16(43), U16(44), U16(45), U16(46), U16(48), U16(58), U16(60), U16(63), U16(65), U16(91), U16(92), U16(93), @@ -194345,7 +194376,7 @@ var aFts5UnicodeMap = [1765]U16{ U16(62406), U16(62432), U16(62464), U16(62528), U16(62530), U16(62713), U16(62720), U16(62784), U16(62800), U16(62971), U16(63045), U16(63104), U16(63232), U16(0), U16(42710), U16(42752), U16(46900), U16(46912), U16(47133), U16(63488), U16(1), U16(32), U16(256), U16(0), U16(65533), -} /* sqlite3.c:237470:12 */ +} /* sqlite3.c:237527:12 */ var aFts5UnicodeData = [1765]U16{ U16(1025), U16(61), U16(117), U16(55), U16(117), U16(54), U16(50), U16(53), U16(57), U16(53), U16(49), U16(85), U16(333), U16(85), U16(121), U16(85), U16(841), U16(54), U16(53), U16(50), @@ -194524,9 +194555,9 @@ var aFts5UnicodeData = [1765]U16{ U16(186), U16(570), U16(2042), U16(58), U16(5850), U16(154), U16(2010), U16(154), U16(794), U16(2266), U16(378), U16(2266), U16(3738), U16(39), U16(39), U16(39), U16(39), U16(39), U16(39), U16(17351), U16(34), U16(3074), U16(7692), U16(63), U16(63), -} /* sqlite3.c:237649:12 */ +} /* sqlite3.c:237706:12 */ -func sqlite3Fts5UnicodeCategory(tls *libc.TLS, iCode U32) int32 { /* sqlite3.c:237829:12: */ +func sqlite3Fts5UnicodeCategory(tls *libc.TLS, iCode U32) int32 { /* sqlite3.c:237886:12: */ var iRes int32 = -1 var iHi int32 var iLo int32 @@ -194566,7 +194597,7 @@ func sqlite3Fts5UnicodeCategory(tls *libc.TLS, iCode U32) int32 { /* sqlite3.c:2 return 9 } -func sqlite3Fts5UnicodeAscii(tls *libc.TLS, aArray uintptr, aAscii uintptr) { /* sqlite3.c:237860:13: */ +func sqlite3Fts5UnicodeAscii(tls *libc.TLS, aArray uintptr, aAscii uintptr) { /* sqlite3.c:237917:13: */ var i int32 = 0 var iTbl int32 = 0 for i < 128 { @@ -194598,7 +194629,7 @@ func sqlite3Fts5UnicodeAscii(tls *libc.TLS, aArray uintptr, aAscii uintptr) { /* // This is a copy of the sqlite3GetVarint32() routine from the SQLite core. // Except, this version does handle the single byte case that the core // version depends on being handled before its function is called. -func sqlite3Fts5GetVarint32(tls *libc.TLS, p uintptr, v uintptr) int32 { /* sqlite3.c:237898:12: */ +func sqlite3Fts5GetVarint32(tls *libc.TLS, p uintptr, v uintptr) int32 { /* sqlite3.c:237955:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -194673,7 +194704,7 @@ func sqlite3Fts5GetVarint32(tls *libc.TLS, p uintptr, v uintptr) int32 { /* sqli // Read a 64-bit variable-length integer from memory starting at p[0]. // Return the number of bytes read. The value is stored in *v. -func sqlite3Fts5GetVarint(tls *libc.TLS, p uintptr, v uintptr) U8 { /* sqlite3.c:237976:11: */ +func sqlite3Fts5GetVarint(tls *libc.TLS, p uintptr, v uintptr) U8 { /* sqlite3.c:238033:11: */ var a U32 var b U32 var s U32 @@ -194849,7 +194880,7 @@ func sqlite3Fts5GetVarint(tls *libc.TLS, p uintptr, v uintptr) U8 { /* sqlite3.c // for all bytes that have the 8th bit set and one byte with the 8th // bit clear. Except, if we get to the 9th byte, it stores the full // 8 bits and is the last byte. -func fts5PutVarint64(tls *libc.TLS, p uintptr, v U64) int32 { /* sqlite3.c:238170:26: */ +func fts5PutVarint64(tls *libc.TLS, p uintptr, v U64) int32 { /* sqlite3.c:238227:26: */ bp := tls.Alloc(10) defer tls.Free(10) @@ -194895,7 +194926,7 @@ __3: return n } -func sqlite3Fts5PutVarint(tls *libc.TLS, p uintptr, v U64) int32 { /* sqlite3.c:238195:12: */ +func sqlite3Fts5PutVarint(tls *libc.TLS, p uintptr, v U64) int32 { /* sqlite3.c:238252:12: */ if v <= uint64(0x7f) { *(*uint8)(unsafe.Pointer(p)) = uint8(v & uint64(0x7f)) return 1 @@ -194908,7 +194939,7 @@ func sqlite3Fts5PutVarint(tls *libc.TLS, p uintptr, v U64) int32 { /* sqlite3.c: return fts5PutVarint64(tls, p, v) } -func sqlite3Fts5GetVarintLen(tls *libc.TLS, iVal U32) int32 { /* sqlite3.c:238209:12: */ +func sqlite3Fts5GetVarintLen(tls *libc.TLS, iVal U32) int32 { /* sqlite3.c:238266:12: */ if iVal < U32(int32(1)<<14) { return 2 @@ -194968,7 +194999,7 @@ type Fts5VocabTable1 = struct { FpGlobal uintptr FeType int32 FbBusy uint32 -} /* sqlite3.c:238262:9 */ +} /* sqlite3.c:238319:9 */ // 2015 May 08 // @@ -195008,7 +195039,7 @@ type Fts5VocabTable1 = struct { // #include "fts5Int.h" -type Fts5VocabTable = Fts5VocabTable1 /* sqlite3.c:238262:31 */ +type Fts5VocabTable = Fts5VocabTable1 /* sqlite3.c:238319:31 */ type Fts5VocabCursor1 = struct { Fbase Sqlite3_vtab_cursor FpStmt uintptr @@ -195029,9 +195060,9 @@ type Fts5VocabCursor1 = struct { FiInstPos I64 FiInstOff int32 F__ccgo_pad4 [4]byte -} /* sqlite3.c:238263:9 */ +} /* sqlite3.c:238320:9 */ -type Fts5VocabCursor = Fts5VocabCursor1 /* sqlite3.c:238263:32 */ +type Fts5VocabCursor = Fts5VocabCursor1 /* sqlite3.c:238320:32 */ // Bits for the mask used as the idxNum value by xBestIndex/xFilter. @@ -195039,7 +195070,7 @@ type Fts5VocabCursor = Fts5VocabCursor1 /* sqlite3.c:238263:32 */ // FTS5_VOCAB_XXX constant. If successful, set *peType to the output // value and return SQLITE_OK. Otherwise, set *pzErr to an error message // and return SQLITE_ERROR. -func fts5VocabTableType(tls *libc.TLS, zType uintptr, pzErr uintptr, peType uintptr) int32 { /* sqlite3.c:238323:12: */ +func fts5VocabTableType(tls *libc.TLS, zType uintptr, pzErr uintptr, peType uintptr) int32 { /* sqlite3.c:238380:12: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -195064,14 +195095,14 @@ func fts5VocabTableType(tls *libc.TLS, zType uintptr, pzErr uintptr, peType uint } // The xDisconnect() virtual table method. -func fts5VocabDisconnectMethod(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:238352:12: */ +func fts5VocabDisconnectMethod(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:238409:12: */ var pTab uintptr = pVtab Xsqlite3_free(tls, pTab) return SQLITE_OK } // The xDestroy() virtual table method. -func fts5VocabDestroyMethod(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:238361:12: */ +func fts5VocabDestroyMethod(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:238418:12: */ var pTab uintptr = pVtab Xsqlite3_free(tls, pTab) return SQLITE_OK @@ -195096,7 +195127,7 @@ func fts5VocabDestroyMethod(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:2 // argv[3] -> name of fts5 tables database // argv[4] -> name of fts5 table // argv[5] -> type of fts5vocab table -func fts5VocabInitVtab(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVTab uintptr, pzErr uintptr) int32 { /* sqlite3.c:238388:12: */ +func fts5VocabInitVtab(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVTab uintptr, pzErr uintptr) int32 { /* sqlite3.c:238445:12: */ bp := tls.Alloc(36) defer tls.Free(36) @@ -195166,11 +195197,11 @@ func fts5VocabInitVtab(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv // The xConnect() and xCreate() methods for the virtual table. All the // work is done in function fts5VocabInitVtab(). -func fts5VocabConnectMethod(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 { /* sqlite3.c:238450:12: */ +func fts5VocabConnectMethod(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 { /* sqlite3.c:238507:12: */ return fts5VocabInitVtab(tls, db, pAux, argc, argv, ppVtab, pzErr) } -func fts5VocabCreateMethod(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 { /* sqlite3.c:238460:12: */ +func fts5VocabCreateMethod(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 { /* sqlite3.c:238517:12: */ return fts5VocabInitVtab(tls, db, pAux, argc, argv, ppVtab, pzErr) } @@ -195184,7 +195215,7 @@ func fts5VocabCreateMethod(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, // // are interpreted. Less-than and less-than-or-equal are treated // identically, as are greater-than and greater-than-or-equal. -func fts5VocabBestIndexMethod(tls *libc.TLS, pUnused uintptr, pInfo uintptr) int32 { /* sqlite3.c:238483:12: */ +func fts5VocabBestIndexMethod(tls *libc.TLS, pUnused uintptr, pInfo uintptr) int32 { /* sqlite3.c:238540:12: */ var i int32 var iTermEq int32 = -1 var iTermGe int32 = -1 @@ -195252,7 +195283,7 @@ func fts5VocabBestIndexMethod(tls *libc.TLS, pUnused uintptr, pInfo uintptr) int } // Implementation of xOpen method. -func fts5VocabOpenMethod(tls *libc.TLS, pVTab uintptr, ppCsr uintptr) int32 { /* sqlite3.c:238545:12: */ +func fts5VocabOpenMethod(tls *libc.TLS, pVTab uintptr, ppCsr uintptr) int32 { /* sqlite3.c:238602:12: */ bp := tls.Alloc(80) defer tls.Free(80) @@ -195319,7 +195350,7 @@ func fts5VocabOpenMethod(tls *libc.TLS, pVTab uintptr, ppCsr uintptr) int32 { /* return *(*int32)(unsafe.Pointer(bp + 64 /* rc */)) } -func fts5VocabResetCursor(tls *libc.TLS, pCsr uintptr) { /* sqlite3.c:238613:13: */ +func fts5VocabResetCursor(tls *libc.TLS, pCsr uintptr) { /* sqlite3.c:238670:13: */ (*Fts5VocabCursor)(unsafe.Pointer(pCsr)).Frowid = int64(0) sqlite3Fts5IterClose(tls, (*Fts5VocabCursor)(unsafe.Pointer(pCsr)).FpIter) sqlite3Fts5StructureRelease(tls, (*Fts5VocabCursor)(unsafe.Pointer(pCsr)).FpStruct) @@ -195333,7 +195364,7 @@ func fts5VocabResetCursor(tls *libc.TLS, pCsr uintptr) { /* sqlite3.c:238613:13: // Close the cursor. For additional information see the documentation // on the xClose method of the virtual table interface. -func fts5VocabCloseMethod(tls *libc.TLS, pCursor uintptr) int32 { /* sqlite3.c:238629:12: */ +func fts5VocabCloseMethod(tls *libc.TLS, pCursor uintptr) int32 { /* sqlite3.c:238686:12: */ var pCsr uintptr = pCursor fts5VocabResetCursor(tls, pCsr) sqlite3Fts5BufferFree(tls, pCsr+96) @@ -195342,7 +195373,7 @@ func fts5VocabCloseMethod(tls *libc.TLS, pCursor uintptr) int32 { /* sqlite3.c:2 return SQLITE_OK } -func fts5VocabInstanceNewTerm(tls *libc.TLS, pCsr uintptr) int32 { /* sqlite3.c:238638:12: */ +func fts5VocabInstanceNewTerm(tls *libc.TLS, pCsr uintptr) int32 { /* sqlite3.c:238695:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -195373,7 +195404,7 @@ func fts5VocabInstanceNewTerm(tls *libc.TLS, pCsr uintptr) int32 { /* sqlite3.c: return *(*int32)(unsafe.Pointer(bp + 4 /* rc */)) } -func fts5VocabInstanceNext(tls *libc.TLS, pCsr uintptr) int32 { /* sqlite3.c:238660:12: */ +func fts5VocabInstanceNext(tls *libc.TLS, pCsr uintptr) int32 { /* sqlite3.c:238717:12: */ var eDetail int32 = (*Fts5Config)(unsafe.Pointer((*Fts5Table)(unsafe.Pointer((*Fts5VocabCursor)(unsafe.Pointer(pCsr)).FpFts5)).FpConfig)).FeDetail var rc int32 = SQLITE_OK var pIter uintptr = (*Fts5VocabCursor)(unsafe.Pointer(pCsr)).FpIter @@ -195402,7 +195433,7 @@ func fts5VocabInstanceNext(tls *libc.TLS, pCsr uintptr) int32 { /* sqlite3.c:238 } // Advance the cursor to the next row in the table. -func fts5VocabNextMethod(tls *libc.TLS, pCursor uintptr) int32 { /* sqlite3.c:238692:12: */ +func fts5VocabNextMethod(tls *libc.TLS, pCursor uintptr) int32 { /* sqlite3.c:238749:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -195546,7 +195577,7 @@ func fts5VocabNextMethod(tls *libc.TLS, pCursor uintptr) int32 { /* sqlite3.c:23 } // This is the xFilter implementation for the virtual table. -func fts5VocabFilterMethod(tls *libc.TLS, pCursor uintptr, idxNum int32, zUnused uintptr, nUnused int32, apVal uintptr) int32 { /* sqlite3.c:238820:12: */ +func fts5VocabFilterMethod(tls *libc.TLS, pCursor uintptr, idxNum int32, zUnused uintptr, nUnused int32, apVal uintptr) int32 { /* sqlite3.c:238877:12: */ var pTab uintptr = (*Sqlite3_vtab_cursor)(unsafe.Pointer(pCursor)).FpVtab var pCsr uintptr = pCursor var eType int32 = (*Fts5VocabTable)(unsafe.Pointer(pTab)).FeType @@ -195620,12 +195651,12 @@ func fts5VocabFilterMethod(tls *libc.TLS, pCursor uintptr, idxNum int32, zUnused // This is the xEof method of the virtual table. SQLite calls this // routine to find out if it has reached the end of a result set. -func fts5VocabEofMethod(tls *libc.TLS, pCursor uintptr) int32 { /* sqlite3.c:238894:12: */ +func fts5VocabEofMethod(tls *libc.TLS, pCursor uintptr) int32 { /* sqlite3.c:238951:12: */ var pCsr uintptr = pCursor return (*Fts5VocabCursor)(unsafe.Pointer(pCsr)).FbEof } -func fts5VocabColumnMethod(tls *libc.TLS, pCursor uintptr, pCtx uintptr, iCol int32) int32 { /* sqlite3.c:238899:12: */ +func fts5VocabColumnMethod(tls *libc.TLS, pCursor uintptr, pCtx uintptr, iCol int32) int32 { /* sqlite3.c:238956:12: */ var pCsr uintptr = pCursor var eDetail int32 = (*Fts5Config)(unsafe.Pointer((*Fts5Table)(unsafe.Pointer((*Fts5VocabCursor)(unsafe.Pointer(pCsr)).FpFts5)).FpConfig)).FeDetail var eType int32 = (*Fts5VocabTable)(unsafe.Pointer((*Sqlite3_vtab_cursor)(unsafe.Pointer(pCursor)).FpVtab)).FeType @@ -195698,13 +195729,13 @@ func fts5VocabColumnMethod(tls *libc.TLS, pCursor uintptr, pCtx uintptr, iCol in // This is the xRowid method. The SQLite core calls this routine to // retrieve the rowid for the current row of the result set. The // rowid should be written to *pRowid. -func fts5VocabRowidMethod(tls *libc.TLS, pCursor uintptr, pRowid uintptr) int32 { /* sqlite3.c:238971:12: */ +func fts5VocabRowidMethod(tls *libc.TLS, pCursor uintptr, pRowid uintptr) int32 { /* sqlite3.c:239028:12: */ var pCsr uintptr = pCursor *(*Sqlite_int64)(unsafe.Pointer(pRowid)) = (*Fts5VocabCursor)(unsafe.Pointer(pCsr)).Frowid return SQLITE_OK } -func sqlite3Fts5VocabInit(tls *libc.TLS, pGlobal uintptr, db uintptr) int32 { /* sqlite3.c:238980:12: */ +func sqlite3Fts5VocabInit(tls *libc.TLS, pGlobal uintptr, db uintptr) int32 { /* sqlite3.c:239037:12: */ var p uintptr = pGlobal return Xsqlite3_create_module_v2(tls, db, ts+37459, uintptr(unsafe.Pointer(&fts5Vocab)), p, uintptr(0)) @@ -195724,7 +195755,7 @@ var fts5Vocab = Sqlite3_module{ /* xEof */ FxEof: 0, /* xColumn */ FxColumn: 0, /* xRowid */ FxRowid: 0, -} /* sqlite3.c:238981:31 */ +} /* sqlite3.c:239038:31 */ //************* End of fts5.c *********************************************** //************* Begin file stmt.c ******************************************* @@ -195751,8 +195782,8 @@ var fts5Vocab = Sqlite3_module{ //************* End of stmt.c *********************************************** // Return the source-id for this library -func Xsqlite3_sourceid(tls *libc.TLS) uintptr { /* sqlite3.c:239321:23: */ - return ts + 37469 /* "2022-03-12 13:37..." */ +func Xsqlite3_sourceid(tls *libc.TLS) uintptr { /* sqlite3.c:239378:23: */ + return ts + 37469 /* "2022-03-26 13:51..." */ } //************************* End of sqlite3.c ***************************** @@ -195761,162 +195792,162 @@ func init() { *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&Xsqlite3aEQb)) + 0)) = uintptr(unsafe.Pointer(&Xsqlite3UpperToLower)) + 210 // sqlite3.c:21690:51: *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&Xsqlite3aGTb)) + 0)) = uintptr(unsafe.Pointer(&Xsqlite3UpperToLower)) + 216 // sqlite3.c:21691:51: *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&Xsqlite3aLTb)) + 0)) = uintptr(unsafe.Pointer(&Xsqlite3UpperToLower)) + 204 // sqlite3.c:21689:51: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aAgg)) + 0)) = geopolyBBoxStep // sqlite3.c:201985:8: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aAgg)) + 8)) = geopolyBBoxFinal // sqlite3.c:201985:25: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aAlterTableFuncs)) + 24)) = renameColumnFunc // sqlite3.c:111067:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aAlterTableFuncs)) + 96)) = renameTableFunc // sqlite3.c:111068:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aAlterTableFuncs)) + 168)) = renameTableTest // sqlite3.c:111069:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aAlterTableFuncs)) + 240)) = dropColumnFunc // sqlite3.c:111070:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aAlterTableFuncs)) + 312)) = renameQuotefixFunc // sqlite3.c:111071:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 24)) = versionFunc // sqlite3.c:123272:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 96)) = versionFunc // sqlite3.c:123273:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 168)) = versionFunc // sqlite3.c:123274:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 240)) = versionFunc // sqlite3.c:123275:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 312)) = soundexFunc // sqlite3.c:123279:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 384)) = loadExt // sqlite3.c:123282:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 456)) = loadExt // sqlite3.c:123283:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 528)) = compileoptionusedFunc // sqlite3.c:123289:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 600)) = compileoptiongetFunc // sqlite3.c:123290:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 672)) = versionFunc // sqlite3.c:123292:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 744)) = versionFunc // sqlite3.c:123293:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 816)) = versionFunc // sqlite3.c:123294:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 888)) = versionFunc // sqlite3.c:123297:12: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 960)) = trimFunc // sqlite3.c:123299:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1032)) = trimFunc // sqlite3.c:123300:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1104)) = trimFunc // sqlite3.c:123301:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1176)) = trimFunc // sqlite3.c:123302:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1248)) = trimFunc // sqlite3.c:123303:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1320)) = trimFunc // sqlite3.c:123304:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1392)) = minmaxFunc // sqlite3.c:123305:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1536)) = minmaxStep // sqlite3.c:123307:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1544)) = minMaxFinalize // sqlite3.c:123307:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1552)) = minMaxValue // sqlite3.c:123307:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1608)) = minmaxFunc // sqlite3.c:123309:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1752)) = minmaxStep // sqlite3.c:123311:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1760)) = minMaxFinalize // sqlite3.c:123311:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1768)) = minMaxValue // sqlite3.c:123311:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1824)) = typeofFunc // sqlite3.c:123313:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1896)) = subtypeFunc // sqlite3.c:123314:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1968)) = lengthFunc // sqlite3.c:123315:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2040)) = instrFunc // sqlite3.c:123316:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2112)) = printfFunc // sqlite3.c:123317:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2184)) = printfFunc // sqlite3.c:123318:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2256)) = unicodeFunc // sqlite3.c:123319:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2328)) = charFunc // sqlite3.c:123320:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2400)) = absFunc // sqlite3.c:123321:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2472)) = roundFunc // sqlite3.c:123323:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2544)) = roundFunc // sqlite3.c:123324:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2616)) = upperFunc // sqlite3.c:123326:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2688)) = lowerFunc // sqlite3.c:123327:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2760)) = hexFunc // sqlite3.c:123328:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2832)) = versionFunc // sqlite3.c:123329:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2904)) = randomFunc // sqlite3.c:123330:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2976)) = randomBlob // sqlite3.c:123331:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3048)) = nullifFunc // sqlite3.c:123332:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3120)) = versionFunc // sqlite3.c:123333:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3192)) = sourceidFunc // sqlite3.c:123334:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3264)) = errlogFunc // sqlite3.c:123335:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3336)) = quoteFunc // sqlite3.c:123336:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3408)) = last_insert_rowid // sqlite3.c:123337:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3480)) = changes // sqlite3.c:123338:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3552)) = total_changes // sqlite3.c:123339:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3624)) = replaceFunc // sqlite3.c:123340:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3696)) = zeroblobFunc // sqlite3.c:123341:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3768)) = substrFunc // sqlite3.c:123342:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3840)) = substrFunc // sqlite3.c:123343:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3912)) = substrFunc // sqlite3.c:123344:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3984)) = substrFunc // sqlite3.c:123345:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4056)) = sumStep // sqlite3.c:123346:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4064)) = sumFinalize // sqlite3.c:123346:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4072)) = sumFinalize // sqlite3.c:123346:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4080)) = sumInverse // sqlite3.c:123346:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4128)) = sumStep // sqlite3.c:123347:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4136)) = totalFinalize // sqlite3.c:123347:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4144)) = totalFinalize // sqlite3.c:123347:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4152)) = sumInverse // sqlite3.c:123347:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4200)) = sumStep // sqlite3.c:123348:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4208)) = avgFinalize // sqlite3.c:123348:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4216)) = avgFinalize // sqlite3.c:123348:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4224)) = sumInverse // sqlite3.c:123348:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4272)) = countStep // sqlite3.c:123349:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4280)) = countFinalize // sqlite3.c:123349:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4288)) = countFinalize // sqlite3.c:123349:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4296)) = countInverse // sqlite3.c:123349:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4344)) = countStep // sqlite3.c:123352:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4352)) = countFinalize // sqlite3.c:123352:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4360)) = countFinalize // sqlite3.c:123352:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4368)) = countInverse // sqlite3.c:123352:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4416)) = groupConcatStep // sqlite3.c:123354:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4424)) = groupConcatFinalize // sqlite3.c:123354:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4432)) = groupConcatValue // sqlite3.c:123354:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4440)) = groupConcatInverse // sqlite3.c:123354:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4488)) = groupConcatStep // sqlite3.c:123356:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4496)) = groupConcatFinalize // sqlite3.c:123356:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4504)) = groupConcatValue // sqlite3.c:123356:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4512)) = groupConcatInverse // sqlite3.c:123356:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4544 /* .pUserData */)) = uintptr(unsafe.Pointer(&globInfo)) // sqlite3.c:123359:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4560)) = likeFunc // sqlite3.c:123359:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4616 /* .pUserData */)) = uintptr(unsafe.Pointer(&likeInfoNorm)) // sqlite3.c:123364:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4632)) = likeFunc // sqlite3.c:123364:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4688 /* .pUserData */)) = uintptr(unsafe.Pointer(&likeInfoNorm)) // sqlite3.c:123365:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4704)) = likeFunc // sqlite3.c:123365:5: - *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4904)) = xCeil // sqlite3.c:123373:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4920)) = ceilingFunc // sqlite3.c:123373:5: - *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4976)) = xCeil // sqlite3.c:123374:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4992)) = ceilingFunc // sqlite3.c:123374:5: - *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5048)) = xFloor // sqlite3.c:123375:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5064)) = ceilingFunc // sqlite3.c:123375:5: - *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5120)) = libc.Xtrunc // sqlite3.c:123377:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5136)) = ceilingFunc // sqlite3.c:123377:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5208)) = logFunc // sqlite3.c:123379:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5280)) = logFunc // sqlite3.c:123380:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5352)) = logFunc // sqlite3.c:123381:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5424)) = logFunc // sqlite3.c:123382:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5496)) = logFunc // sqlite3.c:123383:5: - *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5552)) = libc.Xexp // sqlite3.c:123384:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5568)) = math1Func // sqlite3.c:123384:5: - *(*func(*libc.TLS, float64, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5624)) = libc.Xpow // sqlite3.c:123385:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5640)) = math2Func // sqlite3.c:123385:5: - *(*func(*libc.TLS, float64, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5696)) = libc.Xpow // sqlite3.c:123386:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5712)) = math2Func // sqlite3.c:123386:5: - *(*func(*libc.TLS, float64, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5768)) = libc.Xfmod // sqlite3.c:123387:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5784)) = math2Func // sqlite3.c:123387:5: - *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5840)) = libc.Xacos // sqlite3.c:123388:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5856)) = math1Func // sqlite3.c:123388:5: - *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5912)) = libc.Xasin // sqlite3.c:123389:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5928)) = math1Func // sqlite3.c:123389:5: - *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5984)) = libc.Xatan // sqlite3.c:123390:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6000)) = math1Func // sqlite3.c:123390:5: - *(*func(*libc.TLS, float64, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6056)) = libc.Xatan2 // sqlite3.c:123391:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6072)) = math2Func // sqlite3.c:123391:5: - *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6128)) = libc.Xcos // sqlite3.c:123392:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6144)) = math1Func // sqlite3.c:123392:5: - *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6200)) = libc.Xsin // sqlite3.c:123393:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6216)) = math1Func // sqlite3.c:123393:5: - *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6272)) = libc.Xtan // sqlite3.c:123394:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6288)) = math1Func // sqlite3.c:123394:5: - *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6344)) = libc.Xcosh // sqlite3.c:123395:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6360)) = math1Func // sqlite3.c:123395:5: - *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6416)) = libc.Xsinh // sqlite3.c:123396:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6432)) = math1Func // sqlite3.c:123396:5: - *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6488)) = libc.Xtanh // sqlite3.c:123397:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6504)) = math1Func // sqlite3.c:123397:5: - *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6560)) = libc.Xacosh // sqlite3.c:123399:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6576)) = math1Func // sqlite3.c:123399:5: - *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6632)) = libc.Xasinh // sqlite3.c:123400:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6648)) = math1Func // sqlite3.c:123400:5: - *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6704)) = libc.Xatanh // sqlite3.c:123401:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6720)) = math1Func // sqlite3.c:123401:5: - *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6776)) = libc.Xsqrt // sqlite3.c:123403:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6792)) = math1Func // sqlite3.c:123403:5: - *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6848)) = degToRad // sqlite3.c:123404:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6864)) = math1Func // sqlite3.c:123404:5: - *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6920)) = radToDeg // sqlite3.c:123405:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6936)) = math1Func // sqlite3.c:123405:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 7008)) = piFunc // sqlite3.c:123406:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 7080)) = signFunc // sqlite3.c:123408:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 7152)) = versionFunc // sqlite3.c:123409:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 7224)) = versionFunc // sqlite3.c:123410:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aAgg)) + 0)) = geopolyBBoxStep // sqlite3.c:202042:8: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aAgg)) + 8)) = geopolyBBoxFinal // sqlite3.c:202042:25: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aAlterTableFuncs)) + 24)) = renameColumnFunc // sqlite3.c:111080:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aAlterTableFuncs)) + 96)) = renameTableFunc // sqlite3.c:111081:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aAlterTableFuncs)) + 168)) = renameTableTest // sqlite3.c:111082:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aAlterTableFuncs)) + 240)) = dropColumnFunc // sqlite3.c:111083:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aAlterTableFuncs)) + 312)) = renameQuotefixFunc // sqlite3.c:111084:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 24)) = versionFunc // sqlite3.c:123285:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 96)) = versionFunc // sqlite3.c:123286:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 168)) = versionFunc // sqlite3.c:123287:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 240)) = versionFunc // sqlite3.c:123288:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 312)) = soundexFunc // sqlite3.c:123292:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 384)) = loadExt // sqlite3.c:123295:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 456)) = loadExt // sqlite3.c:123296:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 528)) = compileoptionusedFunc // sqlite3.c:123302:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 600)) = compileoptiongetFunc // sqlite3.c:123303:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 672)) = versionFunc // sqlite3.c:123305:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 744)) = versionFunc // sqlite3.c:123306:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 816)) = versionFunc // sqlite3.c:123307:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 888)) = versionFunc // sqlite3.c:123310:12: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 960)) = trimFunc // sqlite3.c:123312:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1032)) = trimFunc // sqlite3.c:123313:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1104)) = trimFunc // sqlite3.c:123314:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1176)) = trimFunc // sqlite3.c:123315:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1248)) = trimFunc // sqlite3.c:123316:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1320)) = trimFunc // sqlite3.c:123317:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1392)) = minmaxFunc // sqlite3.c:123318:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1536)) = minmaxStep // sqlite3.c:123320:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1544)) = minMaxFinalize // sqlite3.c:123320:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1552)) = minMaxValue // sqlite3.c:123320:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1608)) = minmaxFunc // sqlite3.c:123322:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1752)) = minmaxStep // sqlite3.c:123324:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1760)) = minMaxFinalize // sqlite3.c:123324:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1768)) = minMaxValue // sqlite3.c:123324:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1824)) = typeofFunc // sqlite3.c:123326:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1896)) = subtypeFunc // sqlite3.c:123327:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1968)) = lengthFunc // sqlite3.c:123328:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2040)) = instrFunc // sqlite3.c:123329:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2112)) = printfFunc // sqlite3.c:123330:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2184)) = printfFunc // sqlite3.c:123331:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2256)) = unicodeFunc // sqlite3.c:123332:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2328)) = charFunc // sqlite3.c:123333:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2400)) = absFunc // sqlite3.c:123334:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2472)) = roundFunc // sqlite3.c:123336:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2544)) = roundFunc // sqlite3.c:123337:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2616)) = upperFunc // sqlite3.c:123339:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2688)) = lowerFunc // sqlite3.c:123340:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2760)) = hexFunc // sqlite3.c:123341:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2832)) = versionFunc // sqlite3.c:123342:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2904)) = randomFunc // sqlite3.c:123343:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2976)) = randomBlob // sqlite3.c:123344:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3048)) = nullifFunc // sqlite3.c:123345:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3120)) = versionFunc // sqlite3.c:123346:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3192)) = sourceidFunc // sqlite3.c:123347:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3264)) = errlogFunc // sqlite3.c:123348:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3336)) = quoteFunc // sqlite3.c:123349:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3408)) = last_insert_rowid // sqlite3.c:123350:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3480)) = changes // sqlite3.c:123351:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3552)) = total_changes // sqlite3.c:123352:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3624)) = replaceFunc // sqlite3.c:123353:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3696)) = zeroblobFunc // sqlite3.c:123354:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3768)) = substrFunc // sqlite3.c:123355:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3840)) = substrFunc // sqlite3.c:123356:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3912)) = substrFunc // sqlite3.c:123357:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3984)) = substrFunc // sqlite3.c:123358:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4056)) = sumStep // sqlite3.c:123359:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4064)) = sumFinalize // sqlite3.c:123359:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4072)) = sumFinalize // sqlite3.c:123359:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4080)) = sumInverse // sqlite3.c:123359:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4128)) = sumStep // sqlite3.c:123360:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4136)) = totalFinalize // sqlite3.c:123360:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4144)) = totalFinalize // sqlite3.c:123360:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4152)) = sumInverse // sqlite3.c:123360:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4200)) = sumStep // sqlite3.c:123361:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4208)) = avgFinalize // sqlite3.c:123361:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4216)) = avgFinalize // sqlite3.c:123361:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4224)) = sumInverse // sqlite3.c:123361:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4272)) = countStep // sqlite3.c:123362:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4280)) = countFinalize // sqlite3.c:123362:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4288)) = countFinalize // sqlite3.c:123362:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4296)) = countInverse // sqlite3.c:123362:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4344)) = countStep // sqlite3.c:123365:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4352)) = countFinalize // sqlite3.c:123365:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4360)) = countFinalize // sqlite3.c:123365:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4368)) = countInverse // sqlite3.c:123365:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4416)) = groupConcatStep // sqlite3.c:123367:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4424)) = groupConcatFinalize // sqlite3.c:123367:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4432)) = groupConcatValue // sqlite3.c:123367:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4440)) = groupConcatInverse // sqlite3.c:123367:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4488)) = groupConcatStep // sqlite3.c:123369:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4496)) = groupConcatFinalize // sqlite3.c:123369:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4504)) = groupConcatValue // sqlite3.c:123369:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4512)) = groupConcatInverse // sqlite3.c:123369:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4544 /* .pUserData */)) = uintptr(unsafe.Pointer(&globInfo)) // sqlite3.c:123372:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4560)) = likeFunc // sqlite3.c:123372:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4616 /* .pUserData */)) = uintptr(unsafe.Pointer(&likeInfoNorm)) // sqlite3.c:123377:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4632)) = likeFunc // sqlite3.c:123377:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4688 /* .pUserData */)) = uintptr(unsafe.Pointer(&likeInfoNorm)) // sqlite3.c:123378:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4704)) = likeFunc // sqlite3.c:123378:5: + *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4904)) = xCeil // sqlite3.c:123386:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4920)) = ceilingFunc // sqlite3.c:123386:5: + *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4976)) = xCeil // sqlite3.c:123387:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4992)) = ceilingFunc // sqlite3.c:123387:5: + *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5048)) = xFloor // sqlite3.c:123388:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5064)) = ceilingFunc // sqlite3.c:123388:5: + *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5120)) = libc.Xtrunc // sqlite3.c:123390:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5136)) = ceilingFunc // sqlite3.c:123390:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5208)) = logFunc // sqlite3.c:123392:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5280)) = logFunc // sqlite3.c:123393:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5352)) = logFunc // sqlite3.c:123394:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5424)) = logFunc // sqlite3.c:123395:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5496)) = logFunc // sqlite3.c:123396:5: + *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5552)) = libc.Xexp // sqlite3.c:123397:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5568)) = math1Func // sqlite3.c:123397:5: + *(*func(*libc.TLS, float64, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5624)) = libc.Xpow // sqlite3.c:123398:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5640)) = math2Func // sqlite3.c:123398:5: + *(*func(*libc.TLS, float64, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5696)) = libc.Xpow // sqlite3.c:123399:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5712)) = math2Func // sqlite3.c:123399:5: + *(*func(*libc.TLS, float64, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5768)) = libc.Xfmod // sqlite3.c:123400:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5784)) = math2Func // sqlite3.c:123400:5: + *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5840)) = libc.Xacos // sqlite3.c:123401:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5856)) = math1Func // sqlite3.c:123401:5: + *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5912)) = libc.Xasin // sqlite3.c:123402:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5928)) = math1Func // sqlite3.c:123402:5: + *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5984)) = libc.Xatan // sqlite3.c:123403:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6000)) = math1Func // sqlite3.c:123403:5: + *(*func(*libc.TLS, float64, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6056)) = libc.Xatan2 // sqlite3.c:123404:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6072)) = math2Func // sqlite3.c:123404:5: + *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6128)) = libc.Xcos // sqlite3.c:123405:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6144)) = math1Func // sqlite3.c:123405:5: + *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6200)) = libc.Xsin // sqlite3.c:123406:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6216)) = math1Func // sqlite3.c:123406:5: + *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6272)) = libc.Xtan // sqlite3.c:123407:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6288)) = math1Func // sqlite3.c:123407:5: + *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6344)) = libc.Xcosh // sqlite3.c:123408:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6360)) = math1Func // sqlite3.c:123408:5: + *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6416)) = libc.Xsinh // sqlite3.c:123409:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6432)) = math1Func // sqlite3.c:123409:5: + *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6488)) = libc.Xtanh // sqlite3.c:123410:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6504)) = math1Func // sqlite3.c:123410:5: + *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6560)) = libc.Xacosh // sqlite3.c:123412:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6576)) = math1Func // sqlite3.c:123412:5: + *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6632)) = libc.Xasinh // sqlite3.c:123413:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6648)) = math1Func // sqlite3.c:123413:5: + *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6704)) = libc.Xatanh // sqlite3.c:123414:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6720)) = math1Func // sqlite3.c:123414:5: + *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6776)) = libc.Xsqrt // sqlite3.c:123416:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6792)) = math1Func // sqlite3.c:123416:5: + *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6848)) = degToRad // sqlite3.c:123417:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6864)) = math1Func // sqlite3.c:123417:5: + *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6920)) = radToDeg // sqlite3.c:123418:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6936)) = math1Func // sqlite3.c:123418:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 7008)) = piFunc // sqlite3.c:123419:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 7080)) = signFunc // sqlite3.c:123421:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 7152)) = versionFunc // sqlite3.c:123422:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 7224)) = versionFunc // sqlite3.c:123423:5: *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aDateTimeFuncs)) + 8 /* .pUserData */)) = uintptr(unsafe.Pointer(&Xsqlite3Config)) // sqlite3.c:24402:5: *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aDateTimeFuncs)) + 24)) = juliandayFunc // sqlite3.c:24402:5: *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aDateTimeFuncs)) + 80 /* .pUserData */)) = uintptr(unsafe.Pointer(&Xsqlite3Config)) // sqlite3.c:24403:5: @@ -195932,45 +195963,45 @@ func init() { *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aDateTimeFuncs)) + 456)) = ctimeFunc // sqlite3.c:24408:5: *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aDateTimeFuncs)) + 528)) = ctimestampFunc // sqlite3.c:24409:5: *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aDateTimeFuncs)) + 600)) = cdateFunc // sqlite3.c:24410:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 0)) = geopolyAreaFunc // sqlite3.c:201967:8: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 24)) = geopolyBlobFunc // sqlite3.c:201968:8: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 48)) = geopolyJsonFunc // sqlite3.c:201969:8: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 72)) = geopolySvgFunc // sqlite3.c:201970:8: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 96)) = geopolyWithinFunc // sqlite3.c:201971:8: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 120)) = geopolyContainsPointFunc // sqlite3.c:201972:8: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 144)) = geopolyOverlapFunc // sqlite3.c:201973:8: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 168)) = geopolyDebugFunc // sqlite3.c:201974:8: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 192)) = geopolyBBoxFunc // sqlite3.c:201975:8: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 216)) = geopolyXformFunc // sqlite3.c:201976:8: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 240)) = geopolyRegularFunc // sqlite3.c:201977:8: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 264)) = geopolyCcwFunc // sqlite3.c:201978:8: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 24)) = jsonRemoveFunc // sqlite3.c:195736:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 96)) = jsonArrayFunc // sqlite3.c:195737:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 168)) = jsonArrayLengthFunc // sqlite3.c:195738:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 240)) = jsonArrayLengthFunc // sqlite3.c:195739:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 312)) = jsonExtractFunc // sqlite3.c:195740:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 384)) = jsonExtractFunc // sqlite3.c:195741:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 456)) = jsonExtractFunc // sqlite3.c:195742:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 528)) = jsonSetFunc // sqlite3.c:195743:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 600)) = jsonObjectFunc // sqlite3.c:195744:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 672)) = jsonPatchFunc // sqlite3.c:195745:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 744)) = jsonQuoteFunc // sqlite3.c:195746:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 816)) = jsonRemoveFunc // sqlite3.c:195747:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 888)) = jsonReplaceFunc // sqlite3.c:195748:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 960)) = jsonSetFunc // sqlite3.c:195749:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 1032)) = jsonTypeFunc // sqlite3.c:195750:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 1104)) = jsonTypeFunc // sqlite3.c:195751:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 1176)) = jsonValidFunc // sqlite3.c:195752:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 1248)) = jsonArrayStep // sqlite3.c:195757:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 1256)) = jsonArrayFinal // sqlite3.c:195757:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 1264)) = jsonArrayValue // sqlite3.c:195757:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 1272)) = jsonGroupInverse // sqlite3.c:195757:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 1320)) = jsonObjectStep // sqlite3.c:195760:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 1328)) = jsonObjectFinal // sqlite3.c:195760:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 1336)) = jsonObjectValue // sqlite3.c:195760:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 1344)) = jsonGroupInverse // sqlite3.c:195760:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aMod)) + 8 /* .pModule */)) = uintptr(unsafe.Pointer(&jsonEachModule)) // sqlite3.c:195778:31: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aMod)) + 24 /* .pModule */)) = uintptr(unsafe.Pointer(&jsonTreeModule)) // sqlite3.c:195779:31: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 0)) = geopolyAreaFunc // sqlite3.c:202024:8: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 24)) = geopolyBlobFunc // sqlite3.c:202025:8: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 48)) = geopolyJsonFunc // sqlite3.c:202026:8: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 72)) = geopolySvgFunc // sqlite3.c:202027:8: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 96)) = geopolyWithinFunc // sqlite3.c:202028:8: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 120)) = geopolyContainsPointFunc // sqlite3.c:202029:8: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 144)) = geopolyOverlapFunc // sqlite3.c:202030:8: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 168)) = geopolyDebugFunc // sqlite3.c:202031:8: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 192)) = geopolyBBoxFunc // sqlite3.c:202032:8: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 216)) = geopolyXformFunc // sqlite3.c:202033:8: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 240)) = geopolyRegularFunc // sqlite3.c:202034:8: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 264)) = geopolyCcwFunc // sqlite3.c:202035:8: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 24)) = jsonRemoveFunc // sqlite3.c:195793:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 96)) = jsonArrayFunc // sqlite3.c:195794:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 168)) = jsonArrayLengthFunc // sqlite3.c:195795:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 240)) = jsonArrayLengthFunc // sqlite3.c:195796:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 312)) = jsonExtractFunc // sqlite3.c:195797:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 384)) = jsonExtractFunc // sqlite3.c:195798:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 456)) = jsonExtractFunc // sqlite3.c:195799:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 528)) = jsonSetFunc // sqlite3.c:195800:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 600)) = jsonObjectFunc // sqlite3.c:195801:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 672)) = jsonPatchFunc // sqlite3.c:195802:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 744)) = jsonQuoteFunc // sqlite3.c:195803:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 816)) = jsonRemoveFunc // sqlite3.c:195804:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 888)) = jsonReplaceFunc // sqlite3.c:195805:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 960)) = jsonSetFunc // sqlite3.c:195806:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 1032)) = jsonTypeFunc // sqlite3.c:195807:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 1104)) = jsonTypeFunc // sqlite3.c:195808:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 1176)) = jsonValidFunc // sqlite3.c:195809:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 1248)) = jsonArrayStep // sqlite3.c:195814:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 1256)) = jsonArrayFinal // sqlite3.c:195814:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 1264)) = jsonArrayValue // sqlite3.c:195814:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 1272)) = jsonGroupInverse // sqlite3.c:195814:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 1320)) = jsonObjectStep // sqlite3.c:195817:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 1328)) = jsonObjectFinal // sqlite3.c:195817:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 1336)) = jsonObjectValue // sqlite3.c:195817:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 1344)) = jsonGroupInverse // sqlite3.c:195817:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aMod)) + 8 /* .pModule */)) = uintptr(unsafe.Pointer(&jsonEachModule)) // sqlite3.c:195835:31: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aMod)) + 24 /* .pModule */)) = uintptr(unsafe.Pointer(&jsonTreeModule)) // sqlite3.c:195836:31: *(*Sqlite3_syscall_ptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 8 /* .pCurrent */)) = *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, int32) int32 }{posixOpen})) // sqlite3.c:35170:21: @@ -196034,150 +196065,150 @@ func init() { *(*Sqlite3_syscall_ptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 656 /* .pCurrent */)) = *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr) int32 }{libc.Xlstat})) // sqlite3.c:35313:22: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 32 /* .pAppData */)) = uintptr(unsafe.Pointer(&posixIoFinder)) // sqlite3.c:42842:5: - *(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 40)) = unixOpen // sqlite3.c:42842:5: - *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 48)) = unixDelete // sqlite3.c:42842:5: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 56)) = unixAccess // sqlite3.c:42842:5: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 64)) = unixFullPathname // sqlite3.c:42842:5: - *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 72)) = unixDlOpen // sqlite3.c:42842:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 80)) = unixDlError // sqlite3.c:42842:5: - *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 88)) = unixDlSym // sqlite3.c:42842:5: - *(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 96)) = unixDlClose // sqlite3.c:42842:5: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 104)) = unixRandomness // sqlite3.c:42842:5: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 112)) = unixSleep // sqlite3.c:42842:5: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 120)) = unixCurrentTime // sqlite3.c:42842:5: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 128)) = unixGetLastError // sqlite3.c:42842:5: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 136)) = unixCurrentTimeInt64 // sqlite3.c:42842:5: - *(*func(*libc.TLS, uintptr, uintptr, Sqlite3_syscall_ptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 144)) = unixSetSystemCall // sqlite3.c:42842:5: - *(*func(*libc.TLS, uintptr, uintptr) Sqlite3_syscall_ptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 152)) = unixGetSystemCall // sqlite3.c:42842:5: - *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 160)) = unixNextSystemCall // sqlite3.c:42842:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 200 /* .pAppData */)) = uintptr(unsafe.Pointer(&nolockIoFinder)) // sqlite3.c:42844:5: - *(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 208)) = unixOpen // sqlite3.c:42844:5: - *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 216)) = unixDelete // sqlite3.c:42844:5: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 224)) = unixAccess // sqlite3.c:42844:5: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 232)) = unixFullPathname // sqlite3.c:42844:5: - *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 240)) = unixDlOpen // sqlite3.c:42844:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 248)) = unixDlError // sqlite3.c:42844:5: - *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 256)) = unixDlSym // sqlite3.c:42844:5: - *(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 264)) = unixDlClose // sqlite3.c:42844:5: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 272)) = unixRandomness // sqlite3.c:42844:5: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 280)) = unixSleep // sqlite3.c:42844:5: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 288)) = unixCurrentTime // sqlite3.c:42844:5: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 296)) = unixGetLastError // sqlite3.c:42844:5: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 304)) = unixCurrentTimeInt64 // sqlite3.c:42844:5: - *(*func(*libc.TLS, uintptr, uintptr, Sqlite3_syscall_ptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 312)) = unixSetSystemCall // sqlite3.c:42844:5: - *(*func(*libc.TLS, uintptr, uintptr) Sqlite3_syscall_ptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 320)) = unixGetSystemCall // sqlite3.c:42844:5: - *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 328)) = unixNextSystemCall // sqlite3.c:42844:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 368 /* .pAppData */)) = uintptr(unsafe.Pointer(&dotlockIoFinder)) // sqlite3.c:42845:5: - *(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 376)) = unixOpen // sqlite3.c:42845:5: - *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 384)) = unixDelete // sqlite3.c:42845:5: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 392)) = unixAccess // sqlite3.c:42845:5: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 400)) = unixFullPathname // sqlite3.c:42845:5: - *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 408)) = unixDlOpen // sqlite3.c:42845:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 416)) = unixDlError // sqlite3.c:42845:5: - *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 424)) = unixDlSym // sqlite3.c:42845:5: - *(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 432)) = unixDlClose // sqlite3.c:42845:5: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 440)) = unixRandomness // sqlite3.c:42845:5: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 448)) = unixSleep // sqlite3.c:42845:5: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 456)) = unixCurrentTime // sqlite3.c:42845:5: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 464)) = unixGetLastError // sqlite3.c:42845:5: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 472)) = unixCurrentTimeInt64 // sqlite3.c:42845:5: - *(*func(*libc.TLS, uintptr, uintptr, Sqlite3_syscall_ptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 480)) = unixSetSystemCall // sqlite3.c:42845:5: - *(*func(*libc.TLS, uintptr, uintptr) Sqlite3_syscall_ptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 488)) = unixGetSystemCall // sqlite3.c:42845:5: - *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 496)) = unixNextSystemCall // sqlite3.c:42845:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 536 /* .pAppData */)) = uintptr(unsafe.Pointer(&posixIoFinder)) // sqlite3.c:42846:5: - *(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 544)) = unixOpen // sqlite3.c:42846:5: - *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 552)) = unixDelete // sqlite3.c:42846:5: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 560)) = unixAccess // sqlite3.c:42846:5: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 568)) = unixFullPathname // sqlite3.c:42846:5: - *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 576)) = unixDlOpen // sqlite3.c:42846:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 584)) = unixDlError // sqlite3.c:42846:5: - *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 592)) = unixDlSym // sqlite3.c:42846:5: - *(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 600)) = unixDlClose // sqlite3.c:42846:5: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 608)) = unixRandomness // sqlite3.c:42846:5: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 616)) = unixSleep // sqlite3.c:42846:5: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 624)) = unixCurrentTime // sqlite3.c:42846:5: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 632)) = unixGetLastError // sqlite3.c:42846:5: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 640)) = unixCurrentTimeInt64 // sqlite3.c:42846:5: - *(*func(*libc.TLS, uintptr, uintptr, Sqlite3_syscall_ptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 648)) = unixSetSystemCall // sqlite3.c:42846:5: - *(*func(*libc.TLS, uintptr, uintptr) Sqlite3_syscall_ptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 656)) = unixGetSystemCall // sqlite3.c:42846:5: - *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 664)) = unixNextSystemCall // sqlite3.c:42846:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 24)) = row_numberStepFunc // sqlite3.c:158796:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 32)) = row_numberValueFunc // sqlite3.c:158796:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 40)) = row_numberValueFunc // sqlite3.c:158796:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 48)) = noopStepFunc // sqlite3.c:158796:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 56 /* .zName */)) = uintptr(unsafe.Pointer(&row_numberName)) // sqlite3.c:158796:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 96)) = dense_rankStepFunc // sqlite3.c:158797:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 104)) = dense_rankValueFunc // sqlite3.c:158797:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 112)) = dense_rankValueFunc // sqlite3.c:158797:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 120)) = noopStepFunc // sqlite3.c:158797:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 128 /* .zName */)) = uintptr(unsafe.Pointer(&dense_rankName)) // sqlite3.c:158797:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 168)) = rankStepFunc // sqlite3.c:158798:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 176)) = rankValueFunc // sqlite3.c:158798:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 184)) = rankValueFunc // sqlite3.c:158798:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 192)) = noopStepFunc // sqlite3.c:158798:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 200 /* .zName */)) = uintptr(unsafe.Pointer(&rankName)) // sqlite3.c:158798:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 240)) = percent_rankStepFunc // sqlite3.c:158799:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 248)) = percent_rankValueFunc // sqlite3.c:158799:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 256)) = percent_rankValueFunc // sqlite3.c:158799:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 264)) = percent_rankInvFunc // sqlite3.c:158799:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 272 /* .zName */)) = uintptr(unsafe.Pointer(&percent_rankName)) // sqlite3.c:158799:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 312)) = cume_distStepFunc // sqlite3.c:158800:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 320)) = cume_distValueFunc // sqlite3.c:158800:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 328)) = cume_distValueFunc // sqlite3.c:158800:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 336)) = cume_distInvFunc // sqlite3.c:158800:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 344 /* .zName */)) = uintptr(unsafe.Pointer(&cume_distName)) // sqlite3.c:158800:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 384)) = ntileStepFunc // sqlite3.c:158801:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 392)) = ntileValueFunc // sqlite3.c:158801:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 400)) = ntileValueFunc // sqlite3.c:158801:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 408)) = ntileInvFunc // sqlite3.c:158801:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 416 /* .zName */)) = uintptr(unsafe.Pointer(&ntileName)) // sqlite3.c:158801:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 456)) = last_valueStepFunc // sqlite3.c:158802:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 464)) = last_valueFinalizeFunc // sqlite3.c:158802:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 472)) = last_valueValueFunc // sqlite3.c:158802:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 480)) = last_valueInvFunc // sqlite3.c:158802:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 488 /* .zName */)) = uintptr(unsafe.Pointer(&last_valueName)) // sqlite3.c:158802:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 528)) = nth_valueStepFunc // sqlite3.c:158803:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 536)) = nth_valueFinalizeFunc // sqlite3.c:158803:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 544)) = noopValueFunc // sqlite3.c:158803:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 552)) = noopStepFunc // sqlite3.c:158803:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 560 /* .zName */)) = uintptr(unsafe.Pointer(&nth_valueName)) // sqlite3.c:158803:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 600)) = first_valueStepFunc // sqlite3.c:158804:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 608)) = first_valueFinalizeFunc // sqlite3.c:158804:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 616)) = noopValueFunc // sqlite3.c:158804:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 624)) = noopStepFunc // sqlite3.c:158804:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 632 /* .zName */)) = uintptr(unsafe.Pointer(&first_valueName)) // sqlite3.c:158804:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 672)) = noopStepFunc // sqlite3.c:158805:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 680)) = noopValueFunc // sqlite3.c:158805:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 688)) = noopValueFunc // sqlite3.c:158805:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 696)) = noopStepFunc // sqlite3.c:158805:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 704 /* .zName */)) = uintptr(unsafe.Pointer(&leadName)) // sqlite3.c:158805:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 744)) = noopStepFunc // sqlite3.c:158806:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 752)) = noopValueFunc // sqlite3.c:158806:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 760)) = noopValueFunc // sqlite3.c:158806:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 768)) = noopStepFunc // sqlite3.c:158806:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 776 /* .zName */)) = uintptr(unsafe.Pointer(&leadName)) // sqlite3.c:158806:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 816)) = noopStepFunc // sqlite3.c:158807:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 824)) = noopValueFunc // sqlite3.c:158807:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 832)) = noopValueFunc // sqlite3.c:158807:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 840)) = noopStepFunc // sqlite3.c:158807:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 848 /* .zName */)) = uintptr(unsafe.Pointer(&leadName)) // sqlite3.c:158807:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 888)) = noopStepFunc // sqlite3.c:158808:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 896)) = noopValueFunc // sqlite3.c:158808:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 904)) = noopValueFunc // sqlite3.c:158808:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 912)) = noopStepFunc // sqlite3.c:158808:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 920 /* .zName */)) = uintptr(unsafe.Pointer(&lagName)) // sqlite3.c:158808:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 960)) = noopStepFunc // sqlite3.c:158809:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 968)) = noopValueFunc // sqlite3.c:158809:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 976)) = noopValueFunc // sqlite3.c:158809:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 984)) = noopStepFunc // sqlite3.c:158809:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 992 /* .zName */)) = uintptr(unsafe.Pointer(&lagName)) // sqlite3.c:158809:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 1032)) = noopStepFunc // sqlite3.c:158810:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 1040)) = noopValueFunc // sqlite3.c:158810:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 1048)) = noopValueFunc // sqlite3.c:158810:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 1056)) = noopStepFunc // sqlite3.c:158810:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 1064 /* .zName */)) = uintptr(unsafe.Pointer(&lagName)) // sqlite3.c:158810:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&attach_func)) + 24)) = attachFunc // sqlite3.c:113438:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 32 /* .pAppData */)) = uintptr(unsafe.Pointer(&posixIoFinder)) // sqlite3.c:42848:5: + *(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 40)) = unixOpen // sqlite3.c:42848:5: + *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 48)) = unixDelete // sqlite3.c:42848:5: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 56)) = unixAccess // sqlite3.c:42848:5: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 64)) = unixFullPathname // sqlite3.c:42848:5: + *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 72)) = unixDlOpen // sqlite3.c:42848:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 80)) = unixDlError // sqlite3.c:42848:5: + *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 88)) = unixDlSym // sqlite3.c:42848:5: + *(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 96)) = unixDlClose // sqlite3.c:42848:5: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 104)) = unixRandomness // sqlite3.c:42848:5: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 112)) = unixSleep // sqlite3.c:42848:5: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 120)) = unixCurrentTime // sqlite3.c:42848:5: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 128)) = unixGetLastError // sqlite3.c:42848:5: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 136)) = unixCurrentTimeInt64 // sqlite3.c:42848:5: + *(*func(*libc.TLS, uintptr, uintptr, Sqlite3_syscall_ptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 144)) = unixSetSystemCall // sqlite3.c:42848:5: + *(*func(*libc.TLS, uintptr, uintptr) Sqlite3_syscall_ptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 152)) = unixGetSystemCall // sqlite3.c:42848:5: + *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 160)) = unixNextSystemCall // sqlite3.c:42848:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 200 /* .pAppData */)) = uintptr(unsafe.Pointer(&nolockIoFinder)) // sqlite3.c:42850:5: + *(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 208)) = unixOpen // sqlite3.c:42850:5: + *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 216)) = unixDelete // sqlite3.c:42850:5: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 224)) = unixAccess // sqlite3.c:42850:5: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 232)) = unixFullPathname // sqlite3.c:42850:5: + *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 240)) = unixDlOpen // sqlite3.c:42850:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 248)) = unixDlError // sqlite3.c:42850:5: + *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 256)) = unixDlSym // sqlite3.c:42850:5: + *(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 264)) = unixDlClose // sqlite3.c:42850:5: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 272)) = unixRandomness // sqlite3.c:42850:5: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 280)) = unixSleep // sqlite3.c:42850:5: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 288)) = unixCurrentTime // sqlite3.c:42850:5: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 296)) = unixGetLastError // sqlite3.c:42850:5: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 304)) = unixCurrentTimeInt64 // sqlite3.c:42850:5: + *(*func(*libc.TLS, uintptr, uintptr, Sqlite3_syscall_ptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 312)) = unixSetSystemCall // sqlite3.c:42850:5: + *(*func(*libc.TLS, uintptr, uintptr) Sqlite3_syscall_ptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 320)) = unixGetSystemCall // sqlite3.c:42850:5: + *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 328)) = unixNextSystemCall // sqlite3.c:42850:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 368 /* .pAppData */)) = uintptr(unsafe.Pointer(&dotlockIoFinder)) // sqlite3.c:42851:5: + *(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 376)) = unixOpen // sqlite3.c:42851:5: + *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 384)) = unixDelete // sqlite3.c:42851:5: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 392)) = unixAccess // sqlite3.c:42851:5: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 400)) = unixFullPathname // sqlite3.c:42851:5: + *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 408)) = unixDlOpen // sqlite3.c:42851:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 416)) = unixDlError // sqlite3.c:42851:5: + *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 424)) = unixDlSym // sqlite3.c:42851:5: + *(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 432)) = unixDlClose // sqlite3.c:42851:5: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 440)) = unixRandomness // sqlite3.c:42851:5: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 448)) = unixSleep // sqlite3.c:42851:5: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 456)) = unixCurrentTime // sqlite3.c:42851:5: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 464)) = unixGetLastError // sqlite3.c:42851:5: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 472)) = unixCurrentTimeInt64 // sqlite3.c:42851:5: + *(*func(*libc.TLS, uintptr, uintptr, Sqlite3_syscall_ptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 480)) = unixSetSystemCall // sqlite3.c:42851:5: + *(*func(*libc.TLS, uintptr, uintptr) Sqlite3_syscall_ptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 488)) = unixGetSystemCall // sqlite3.c:42851:5: + *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 496)) = unixNextSystemCall // sqlite3.c:42851:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 536 /* .pAppData */)) = uintptr(unsafe.Pointer(&posixIoFinder)) // sqlite3.c:42852:5: + *(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 544)) = unixOpen // sqlite3.c:42852:5: + *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 552)) = unixDelete // sqlite3.c:42852:5: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 560)) = unixAccess // sqlite3.c:42852:5: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 568)) = unixFullPathname // sqlite3.c:42852:5: + *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 576)) = unixDlOpen // sqlite3.c:42852:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 584)) = unixDlError // sqlite3.c:42852:5: + *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 592)) = unixDlSym // sqlite3.c:42852:5: + *(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 600)) = unixDlClose // sqlite3.c:42852:5: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 608)) = unixRandomness // sqlite3.c:42852:5: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 616)) = unixSleep // sqlite3.c:42852:5: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 624)) = unixCurrentTime // sqlite3.c:42852:5: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 632)) = unixGetLastError // sqlite3.c:42852:5: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 640)) = unixCurrentTimeInt64 // sqlite3.c:42852:5: + *(*func(*libc.TLS, uintptr, uintptr, Sqlite3_syscall_ptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 648)) = unixSetSystemCall // sqlite3.c:42852:5: + *(*func(*libc.TLS, uintptr, uintptr) Sqlite3_syscall_ptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 656)) = unixGetSystemCall // sqlite3.c:42852:5: + *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 664)) = unixNextSystemCall // sqlite3.c:42852:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 24)) = row_numberStepFunc // sqlite3.c:158853:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 32)) = row_numberValueFunc // sqlite3.c:158853:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 40)) = row_numberValueFunc // sqlite3.c:158853:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 48)) = noopStepFunc // sqlite3.c:158853:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 56 /* .zName */)) = uintptr(unsafe.Pointer(&row_numberName)) // sqlite3.c:158853:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 96)) = dense_rankStepFunc // sqlite3.c:158854:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 104)) = dense_rankValueFunc // sqlite3.c:158854:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 112)) = dense_rankValueFunc // sqlite3.c:158854:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 120)) = noopStepFunc // sqlite3.c:158854:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 128 /* .zName */)) = uintptr(unsafe.Pointer(&dense_rankName)) // sqlite3.c:158854:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 168)) = rankStepFunc // sqlite3.c:158855:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 176)) = rankValueFunc // sqlite3.c:158855:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 184)) = rankValueFunc // sqlite3.c:158855:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 192)) = noopStepFunc // sqlite3.c:158855:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 200 /* .zName */)) = uintptr(unsafe.Pointer(&rankName)) // sqlite3.c:158855:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 240)) = percent_rankStepFunc // sqlite3.c:158856:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 248)) = percent_rankValueFunc // sqlite3.c:158856:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 256)) = percent_rankValueFunc // sqlite3.c:158856:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 264)) = percent_rankInvFunc // sqlite3.c:158856:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 272 /* .zName */)) = uintptr(unsafe.Pointer(&percent_rankName)) // sqlite3.c:158856:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 312)) = cume_distStepFunc // sqlite3.c:158857:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 320)) = cume_distValueFunc // sqlite3.c:158857:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 328)) = cume_distValueFunc // sqlite3.c:158857:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 336)) = cume_distInvFunc // sqlite3.c:158857:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 344 /* .zName */)) = uintptr(unsafe.Pointer(&cume_distName)) // sqlite3.c:158857:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 384)) = ntileStepFunc // sqlite3.c:158858:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 392)) = ntileValueFunc // sqlite3.c:158858:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 400)) = ntileValueFunc // sqlite3.c:158858:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 408)) = ntileInvFunc // sqlite3.c:158858:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 416 /* .zName */)) = uintptr(unsafe.Pointer(&ntileName)) // sqlite3.c:158858:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 456)) = last_valueStepFunc // sqlite3.c:158859:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 464)) = last_valueFinalizeFunc // sqlite3.c:158859:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 472)) = last_valueValueFunc // sqlite3.c:158859:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 480)) = last_valueInvFunc // sqlite3.c:158859:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 488 /* .zName */)) = uintptr(unsafe.Pointer(&last_valueName)) // sqlite3.c:158859:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 528)) = nth_valueStepFunc // sqlite3.c:158860:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 536)) = nth_valueFinalizeFunc // sqlite3.c:158860:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 544)) = noopValueFunc // sqlite3.c:158860:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 552)) = noopStepFunc // sqlite3.c:158860:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 560 /* .zName */)) = uintptr(unsafe.Pointer(&nth_valueName)) // sqlite3.c:158860:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 600)) = first_valueStepFunc // sqlite3.c:158861:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 608)) = first_valueFinalizeFunc // sqlite3.c:158861:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 616)) = noopValueFunc // sqlite3.c:158861:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 624)) = noopStepFunc // sqlite3.c:158861:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 632 /* .zName */)) = uintptr(unsafe.Pointer(&first_valueName)) // sqlite3.c:158861:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 672)) = noopStepFunc // sqlite3.c:158862:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 680)) = noopValueFunc // sqlite3.c:158862:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 688)) = noopValueFunc // sqlite3.c:158862:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 696)) = noopStepFunc // sqlite3.c:158862:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 704 /* .zName */)) = uintptr(unsafe.Pointer(&leadName)) // sqlite3.c:158862:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 744)) = noopStepFunc // sqlite3.c:158863:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 752)) = noopValueFunc // sqlite3.c:158863:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 760)) = noopValueFunc // sqlite3.c:158863:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 768)) = noopStepFunc // sqlite3.c:158863:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 776 /* .zName */)) = uintptr(unsafe.Pointer(&leadName)) // sqlite3.c:158863:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 816)) = noopStepFunc // sqlite3.c:158864:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 824)) = noopValueFunc // sqlite3.c:158864:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 832)) = noopValueFunc // sqlite3.c:158864:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 840)) = noopStepFunc // sqlite3.c:158864:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 848 /* .zName */)) = uintptr(unsafe.Pointer(&leadName)) // sqlite3.c:158864:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 888)) = noopStepFunc // sqlite3.c:158865:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 896)) = noopValueFunc // sqlite3.c:158865:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 904)) = noopValueFunc // sqlite3.c:158865:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 912)) = noopStepFunc // sqlite3.c:158865:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 920 /* .zName */)) = uintptr(unsafe.Pointer(&lagName)) // sqlite3.c:158865:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 960)) = noopStepFunc // sqlite3.c:158866:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 968)) = noopValueFunc // sqlite3.c:158866:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 976)) = noopValueFunc // sqlite3.c:158866:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 984)) = noopStepFunc // sqlite3.c:158866:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 992 /* .zName */)) = uintptr(unsafe.Pointer(&lagName)) // sqlite3.c:158866:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 1032)) = noopStepFunc // sqlite3.c:158867:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 1040)) = noopValueFunc // sqlite3.c:158867:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 1048)) = noopValueFunc // sqlite3.c:158867:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 1056)) = noopStepFunc // sqlite3.c:158867:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 1064 /* .zName */)) = uintptr(unsafe.Pointer(&lagName)) // sqlite3.c:158867:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&attach_func)) + 24)) = attachFunc // sqlite3.c:113451:5: *(*func(*libc.TLS, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods)) + 0)) = sqlite3MemMalloc // sqlite3.c:25299:6: *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods)) + 8)) = sqlite3MemFree // sqlite3.c:25300:6: *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods)) + 16)) = sqlite3MemRealloc // sqlite3.c:25301:6: @@ -196185,243 +196216,243 @@ func init() { *(*func(*libc.TLS, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods)) + 32)) = sqlite3MemRoundup // sqlite3.c:25303:6: *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods)) + 40)) = sqlite3MemInit // sqlite3.c:25304:6: *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods)) + 48)) = sqlite3MemShutdown // sqlite3.c:25305:6: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods1)) + 16)) = pcache1Init // sqlite3.c:52453:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods1)) + 24)) = pcache1Shutdown // sqlite3.c:52454:5: - *(*func(*libc.TLS, int32, int32, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods1)) + 32)) = pcache1Create // sqlite3.c:52455:5: - *(*func(*libc.TLS, uintptr, int32))(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods1)) + 40)) = pcache1Cachesize // sqlite3.c:52456:5: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods1)) + 48)) = pcache1Pagecount // sqlite3.c:52457:5: - *(*func(*libc.TLS, uintptr, uint32, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods1)) + 56)) = pcache1Fetch // sqlite3.c:52458:5: - *(*func(*libc.TLS, uintptr, uintptr, int32))(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods1)) + 64)) = pcache1Unpin // sqlite3.c:52459:5: - *(*func(*libc.TLS, uintptr, uintptr, uint32, uint32))(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods1)) + 72)) = pcache1Rekey // sqlite3.c:52460:5: - *(*func(*libc.TLS, uintptr, uint32))(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods1)) + 80)) = pcache1Truncate // sqlite3.c:52461:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods1)) + 88)) = pcache1Destroy // sqlite3.c:52462:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods1)) + 96)) = pcache1Shrink // sqlite3.c:52463:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&detach_func)) + 24)) = detachFunc // sqlite3.c:113418:5: - *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoFinder)) + 0)) = dotlockIoFinderImpl // sqlite3.c:40202:1: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 8)) = dotlockClose // sqlite3.c:40202:1: - *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 16)) = unixRead // sqlite3.c:40202:1: - *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 24)) = unixWrite // sqlite3.c:40202:1: - *(*func(*libc.TLS, uintptr, I64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 32)) = unixTruncate // sqlite3.c:40202:1: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 40)) = unixSync // sqlite3.c:40202:1: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 48)) = unixFileSize // sqlite3.c:40202:1: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 56)) = dotlockLock // sqlite3.c:40202:1: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 64)) = dotlockUnlock // sqlite3.c:40202:1: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 72)) = dotlockCheckReservedLock // sqlite3.c:40202:1: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 80)) = unixFileControl // sqlite3.c:40202:1: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 88)) = unixSectorSize // sqlite3.c:40202:1: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 96)) = unixDeviceCharacteristics // sqlite3.c:40202:1: - *(*func(*libc.TLS, uintptr, int32, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 112)) = unixShmLock // sqlite3.c:40202:1: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 120)) = unixShmBarrier // sqlite3.c:40202:1: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 128)) = unixShmUnmap // sqlite3.c:40202:1: - *(*func(*libc.TLS, uintptr, I64, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 136)) = unixFetch // sqlite3.c:40202:1: - *(*func(*libc.TLS, uintptr, I64, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 144)) = unixUnfetch // sqlite3.c:40202:1: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 8)) = fts5CreateMethod // sqlite3.c:234400:25: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 16)) = fts5ConnectMethod // sqlite3.c:234401:25: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 24)) = fts5BestIndexMethod // sqlite3.c:234402:25: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 32)) = fts5DisconnectMethod // sqlite3.c:234403:25: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 40)) = fts5DestroyMethod // sqlite3.c:234404:25: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 48)) = fts5OpenMethod // sqlite3.c:234405:25: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 56)) = fts5CloseMethod // sqlite3.c:234406:25: - *(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 64)) = fts5FilterMethod // sqlite3.c:234407:25: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 72)) = fts5NextMethod // sqlite3.c:234408:25: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 80)) = fts5EofMethod // sqlite3.c:234409:25: - *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 88)) = fts5ColumnMethod // sqlite3.c:234410:25: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 96)) = fts5RowidMethod // sqlite3.c:234411:25: - *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 104)) = fts5UpdateMethod // sqlite3.c:234412:25: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 112)) = fts5BeginMethod // sqlite3.c:234413:25: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 120)) = fts5SyncMethod // sqlite3.c:234414:25: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 128)) = fts5CommitMethod // sqlite3.c:234415:25: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 136)) = fts5RollbackMethod // sqlite3.c:234416:25: - *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 144)) = fts5FindFunctionMethod // sqlite3.c:234417:25: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 152)) = fts5RenameMethod // sqlite3.c:234418:25: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 160)) = fts5SavepointMethod // sqlite3.c:234419:25: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 168)) = fts5ReleaseMethod // sqlite3.c:234420:25: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 176)) = fts5RollbackToMethod // sqlite3.c:234421:25: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 184)) = fts5ShadowName // sqlite3.c:234422:25: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 8)) = fts5VocabCreateMethod // sqlite3.c:238983:25: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 16)) = fts5VocabConnectMethod // sqlite3.c:238984:25: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 24)) = fts5VocabBestIndexMethod // sqlite3.c:238985:25: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 32)) = fts5VocabDisconnectMethod // sqlite3.c:238986:25: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 40)) = fts5VocabDestroyMethod // sqlite3.c:238987:25: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 48)) = fts5VocabOpenMethod // sqlite3.c:238988:25: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 56)) = fts5VocabCloseMethod // sqlite3.c:238989:25: - *(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 64)) = fts5VocabFilterMethod // sqlite3.c:238990:25: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 72)) = fts5VocabNextMethod // sqlite3.c:238991:25: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 80)) = fts5VocabEofMethod // sqlite3.c:238992:25: - *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 88)) = fts5VocabColumnMethod // sqlite3.c:238993:25: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 96)) = fts5VocabRowidMethod // sqlite3.c:238994:25: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 8)) = geopolyCreate // sqlite3.c:201934:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 16)) = geopolyConnect // sqlite3.c:201935:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 24)) = geopolyBestIndex // sqlite3.c:201936:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 32)) = rtreeDisconnect // sqlite3.c:201937:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 40)) = rtreeDestroy // sqlite3.c:201938:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 48)) = rtreeOpen // sqlite3.c:201939:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 56)) = rtreeClose // sqlite3.c:201940:3: - *(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 64)) = geopolyFilter // sqlite3.c:201941:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 72)) = rtreeNext // sqlite3.c:201942:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 80)) = rtreeEof // sqlite3.c:201943:3: - *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 88)) = geopolyColumn // sqlite3.c:201944:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 96)) = rtreeRowid // sqlite3.c:201945:3: - *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 104)) = geopolyUpdate // sqlite3.c:201946:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 112)) = rtreeBeginTransaction // sqlite3.c:201947:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 120)) = rtreeEndTransaction // sqlite3.c:201948:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 128)) = rtreeEndTransaction // sqlite3.c:201949:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 136)) = rtreeEndTransaction // sqlite3.c:201950:3: - *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 144)) = geopolyFindFunction // sqlite3.c:201951:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 152)) = rtreeRename // sqlite3.c:201952:3: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 160)) = rtreeSavepoint // sqlite3.c:201953:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 184)) = rtreeShadowName // sqlite3.c:201956:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonEachModule)) + 16)) = jsonEachConnect // sqlite3.c:195676:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonEachModule)) + 24)) = jsonEachBestIndex // sqlite3.c:195677:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonEachModule)) + 32)) = jsonEachDisconnect // sqlite3.c:195678:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonEachModule)) + 48)) = jsonEachOpenEach // sqlite3.c:195680:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonEachModule)) + 56)) = jsonEachClose // sqlite3.c:195681:3: - *(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonEachModule)) + 64)) = jsonEachFilter // sqlite3.c:195682:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonEachModule)) + 72)) = jsonEachNext // sqlite3.c:195683:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonEachModule)) + 80)) = jsonEachEof // sqlite3.c:195684:3: - *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonEachModule)) + 88)) = jsonEachColumn // sqlite3.c:195685:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonEachModule)) + 96)) = jsonEachRowid // sqlite3.c:195686:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonTreeModule)) + 16)) = jsonEachConnect // sqlite3.c:195704:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonTreeModule)) + 24)) = jsonEachBestIndex // sqlite3.c:195705:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonTreeModule)) + 32)) = jsonEachDisconnect // sqlite3.c:195706:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonTreeModule)) + 48)) = jsonEachOpenTree // sqlite3.c:195708:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonTreeModule)) + 56)) = jsonEachClose // sqlite3.c:195709:3: - *(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonTreeModule)) + 64)) = jsonEachFilter // sqlite3.c:195710:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonTreeModule)) + 72)) = jsonEachNext // sqlite3.c:195711:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonTreeModule)) + 80)) = jsonEachEof // sqlite3.c:195712:3: - *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonTreeModule)) + 88)) = jsonEachColumn // sqlite3.c:195713:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonTreeModule)) + 96)) = jsonEachRowid // sqlite3.c:195714:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 8)) = memdbClose // sqlite3.c:49233:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 16)) = memdbRead // sqlite3.c:49234:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 24)) = memdbWrite // sqlite3.c:49235:3: - *(*func(*libc.TLS, uintptr, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 32)) = memdbTruncate // sqlite3.c:49236:3: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 40)) = memdbSync // sqlite3.c:49237:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 48)) = memdbFileSize // sqlite3.c:49238:3: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 56)) = memdbLock // sqlite3.c:49239:3: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 64)) = memdbLock // sqlite3.c:49240:3: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 80)) = memdbFileControl // sqlite3.c:49242:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 96)) = memdbDeviceCharacteristics // sqlite3.c:49244:3: - *(*func(*libc.TLS, uintptr, Sqlite3_int64, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 136)) = memdbFetch // sqlite3.c:49249:3: - *(*func(*libc.TLS, uintptr, Sqlite3_int64, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 144)) = memdbUnfetch // sqlite3.c:49250:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_vfs)) + 40)) = memdbOpen // sqlite3.c:49213:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_vfs)) + 56)) = memdbAccess // sqlite3.c:49215:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_vfs)) + 64)) = memdbFullPathname // sqlite3.c:49216:3: - *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_vfs)) + 72)) = memdbDlOpen // sqlite3.c:49217:3: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_vfs)) + 80)) = memdbDlError // sqlite3.c:49218:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_vfs)) + 88)) = memdbDlSym // sqlite3.c:49219:3: - *(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_vfs)) + 96)) = memdbDlClose // sqlite3.c:49220:3: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_vfs)) + 104)) = memdbRandomness // sqlite3.c:49221:3: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_vfs)) + 112)) = memdbSleep // sqlite3.c:49222:3: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_vfs)) + 128)) = memdbGetLastError // sqlite3.c:49224:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_vfs)) + 136)) = memdbCurrentTimeInt64 // sqlite3.c:49225:3: - *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoFinder)) + 0)) = nolockIoFinderImpl // sqlite3.c:40192:1: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 8)) = nolockClose // sqlite3.c:40192:1: - *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 16)) = unixRead // sqlite3.c:40192:1: - *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 24)) = unixWrite // sqlite3.c:40192:1: - *(*func(*libc.TLS, uintptr, I64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 32)) = unixTruncate // sqlite3.c:40192:1: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 40)) = unixSync // sqlite3.c:40192:1: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 48)) = unixFileSize // sqlite3.c:40192:1: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 56)) = nolockLock // sqlite3.c:40192:1: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 64)) = nolockUnlock // sqlite3.c:40192:1: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 72)) = nolockCheckReservedLock // sqlite3.c:40192:1: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 80)) = unixFileControl // sqlite3.c:40192:1: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 88)) = unixSectorSize // sqlite3.c:40192:1: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 96)) = unixDeviceCharacteristics // sqlite3.c:40192:1: - *(*func(*libc.TLS, uintptr, int32, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 112)) = unixShmLock // sqlite3.c:40192:1: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 120)) = unixShmBarrier // sqlite3.c:40192:1: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 128)) = unixShmUnmap // sqlite3.c:40192:1: - *(*func(*libc.TLS, uintptr, I64, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 136)) = unixFetch // sqlite3.c:40192:1: - *(*func(*libc.TLS, uintptr, I64, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 144)) = unixUnfetch // sqlite3.c:40192:1: - *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoFinder)) + 0)) = posixIoFinderImpl // sqlite3.c:40182:1: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 8)) = unixClose // sqlite3.c:40182:1: - *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 16)) = unixRead // sqlite3.c:40182:1: - *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 24)) = unixWrite // sqlite3.c:40182:1: - *(*func(*libc.TLS, uintptr, I64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 32)) = unixTruncate // sqlite3.c:40182:1: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 40)) = unixSync // sqlite3.c:40182:1: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 48)) = unixFileSize // sqlite3.c:40182:1: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 56)) = unixLock // sqlite3.c:40182:1: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 64)) = unixUnlock // sqlite3.c:40182:1: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 72)) = unixCheckReservedLock // sqlite3.c:40182:1: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 80)) = unixFileControl // sqlite3.c:40182:1: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 88)) = unixSectorSize // sqlite3.c:40182:1: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 96)) = unixDeviceCharacteristics // sqlite3.c:40182:1: - *(*func(*libc.TLS, uintptr, int32, int32, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 104)) = unixShmMap // sqlite3.c:40182:1: - *(*func(*libc.TLS, uintptr, int32, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 112)) = unixShmLock // sqlite3.c:40182:1: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 120)) = unixShmBarrier // sqlite3.c:40182:1: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 128)) = unixShmUnmap // sqlite3.c:40182:1: - *(*func(*libc.TLS, uintptr, I64, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 136)) = unixFetch // sqlite3.c:40182:1: - *(*func(*libc.TLS, uintptr, I64, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 144)) = unixUnfetch // sqlite3.c:40182:1: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&pragmaVtabModule)) + 16)) = pragmaVtabConnect // sqlite3.c:133106:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&pragmaVtabModule)) + 24)) = pragmaVtabBestIndex // sqlite3.c:133107:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&pragmaVtabModule)) + 32)) = pragmaVtabDisconnect // sqlite3.c:133108:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&pragmaVtabModule)) + 48)) = pragmaVtabOpen // sqlite3.c:133110:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&pragmaVtabModule)) + 56)) = pragmaVtabClose // sqlite3.c:133111:3: - *(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&pragmaVtabModule)) + 64)) = pragmaVtabFilter // sqlite3.c:133112:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&pragmaVtabModule)) + 72)) = pragmaVtabNext // sqlite3.c:133113:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&pragmaVtabModule)) + 80)) = pragmaVtabEof // sqlite3.c:133114:3: - *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&pragmaVtabModule)) + 88)) = pragmaVtabColumn // sqlite3.c:133115:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&pragmaVtabModule)) + 96)) = pragmaVtabRowid // sqlite3.c:133116:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 8)) = rbuVfsClose // sqlite3.c:208631:5: - *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 16)) = rbuVfsRead // sqlite3.c:208632:5: - *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 24)) = rbuVfsWrite // sqlite3.c:208633:5: - *(*func(*libc.TLS, uintptr, Sqlite_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 32)) = rbuVfsTruncate // sqlite3.c:208634:5: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 40)) = rbuVfsSync // sqlite3.c:208635:5: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 48)) = rbuVfsFileSize // sqlite3.c:208636:5: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 56)) = rbuVfsLock // sqlite3.c:208637:5: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 64)) = rbuVfsUnlock // sqlite3.c:208638:5: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 72)) = rbuVfsCheckReservedLock // sqlite3.c:208639:5: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 80)) = rbuVfsFileControl // sqlite3.c:208640:5: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 88)) = rbuVfsSectorSize // sqlite3.c:208641:5: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 96)) = rbuVfsDeviceCharacteristics // sqlite3.c:208642:5: - *(*func(*libc.TLS, uintptr, int32, int32, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 104)) = rbuVfsShmMap // sqlite3.c:208643:5: - *(*func(*libc.TLS, uintptr, int32, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 112)) = rbuVfsShmLock // sqlite3.c:208644:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 120)) = rbuVfsShmBarrier // sqlite3.c:208645:5: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 128)) = rbuVfsShmUnmap // sqlite3.c:208646:5: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 8)) = rtreeCreate // sqlite3.c:199272:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 16)) = rtreeConnect // sqlite3.c:199273:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 24)) = rtreeBestIndex // sqlite3.c:199274:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 32)) = rtreeDisconnect // sqlite3.c:199275:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 40)) = rtreeDestroy // sqlite3.c:199276:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 48)) = rtreeOpen // sqlite3.c:199277:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 56)) = rtreeClose // sqlite3.c:199278:3: - *(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 64)) = rtreeFilter // sqlite3.c:199279:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 72)) = rtreeNext // sqlite3.c:199280:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 80)) = rtreeEof // sqlite3.c:199281:3: - *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 88)) = rtreeColumn // sqlite3.c:199282:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 96)) = rtreeRowid // sqlite3.c:199283:3: - *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 104)) = rtreeUpdate // sqlite3.c:199284:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 112)) = rtreeBeginTransaction // sqlite3.c:199285:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 120)) = rtreeEndTransaction // sqlite3.c:199286:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 128)) = rtreeEndTransaction // sqlite3.c:199287:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 136)) = rtreeEndTransaction // sqlite3.c:199288:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 152)) = rtreeRename // sqlite3.c:199290:3: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 160)) = rtreeSavepoint // sqlite3.c:199291:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 184)) = rtreeShadowName // sqlite3.c:199294:3: - *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 8)) = fts5ApiUserData // sqlite3.c:233859:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 16)) = fts5ApiColumnCount // sqlite3.c:233860:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 24)) = fts5ApiRowCount // sqlite3.c:233861:3: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 32)) = fts5ApiColumnTotalSize // sqlite3.c:233862:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 40)) = fts5ApiTokenize // sqlite3.c:233863:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 48)) = fts5ApiPhraseCount // sqlite3.c:233864:3: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 56)) = fts5ApiPhraseSize // sqlite3.c:233865:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 64)) = fts5ApiInstCount // sqlite3.c:233866:3: - *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 72)) = fts5ApiInst // sqlite3.c:233867:3: - *(*func(*libc.TLS, uintptr) Sqlite3_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 80)) = fts5ApiRowid // sqlite3.c:233868:3: - *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 88)) = fts5ApiColumnText // sqlite3.c:233869:3: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 96)) = fts5ApiColumnSize // sqlite3.c:233870:3: - *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 104)) = fts5ApiQueryPhrase // sqlite3.c:233871:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 112)) = fts5ApiSetAuxdata // sqlite3.c:233872:3: - *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 120)) = fts5ApiGetAuxdata // sqlite3.c:233873:3: - *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 128)) = fts5ApiPhraseFirst // sqlite3.c:233874:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 136)) = fts5ApiPhraseNext // sqlite3.c:233875:3: - *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 144)) = fts5ApiPhraseFirstColumn // sqlite3.c:233876:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 152)) = fts5ApiPhraseNextColumn // sqlite3.c:233877:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sMemJournalMethods)) + 8)) = memjrnlClose // sqlite3.c:100023:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sMemJournalMethods)) + 16)) = memjrnlRead // sqlite3.c:100024:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sMemJournalMethods)) + 24)) = memjrnlWrite // sqlite3.c:100025:3: - *(*func(*libc.TLS, uintptr, Sqlite_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sMemJournalMethods)) + 32)) = memjrnlTruncate // sqlite3.c:100026:3: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sMemJournalMethods)) + 40)) = memjrnlSync // sqlite3.c:100027:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sMemJournalMethods)) + 48)) = memjrnlFileSize // sqlite3.c:100028:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods1)) + 16)) = pcache1Init // sqlite3.c:52463:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods1)) + 24)) = pcache1Shutdown // sqlite3.c:52464:5: + *(*func(*libc.TLS, int32, int32, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods1)) + 32)) = pcache1Create // sqlite3.c:52465:5: + *(*func(*libc.TLS, uintptr, int32))(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods1)) + 40)) = pcache1Cachesize // sqlite3.c:52466:5: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods1)) + 48)) = pcache1Pagecount // sqlite3.c:52467:5: + *(*func(*libc.TLS, uintptr, uint32, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods1)) + 56)) = pcache1Fetch // sqlite3.c:52468:5: + *(*func(*libc.TLS, uintptr, uintptr, int32))(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods1)) + 64)) = pcache1Unpin // sqlite3.c:52469:5: + *(*func(*libc.TLS, uintptr, uintptr, uint32, uint32))(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods1)) + 72)) = pcache1Rekey // sqlite3.c:52470:5: + *(*func(*libc.TLS, uintptr, uint32))(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods1)) + 80)) = pcache1Truncate // sqlite3.c:52471:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods1)) + 88)) = pcache1Destroy // sqlite3.c:52472:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods1)) + 96)) = pcache1Shrink // sqlite3.c:52473:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&detach_func)) + 24)) = detachFunc // sqlite3.c:113431:5: + *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoFinder)) + 0)) = dotlockIoFinderImpl // sqlite3.c:40208:1: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 8)) = dotlockClose // sqlite3.c:40208:1: + *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 16)) = unixRead // sqlite3.c:40208:1: + *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 24)) = unixWrite // sqlite3.c:40208:1: + *(*func(*libc.TLS, uintptr, I64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 32)) = unixTruncate // sqlite3.c:40208:1: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 40)) = unixSync // sqlite3.c:40208:1: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 48)) = unixFileSize // sqlite3.c:40208:1: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 56)) = dotlockLock // sqlite3.c:40208:1: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 64)) = dotlockUnlock // sqlite3.c:40208:1: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 72)) = dotlockCheckReservedLock // sqlite3.c:40208:1: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 80)) = unixFileControl // sqlite3.c:40208:1: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 88)) = unixSectorSize // sqlite3.c:40208:1: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 96)) = unixDeviceCharacteristics // sqlite3.c:40208:1: + *(*func(*libc.TLS, uintptr, int32, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 112)) = unixShmLock // sqlite3.c:40208:1: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 120)) = unixShmBarrier // sqlite3.c:40208:1: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 128)) = unixShmUnmap // sqlite3.c:40208:1: + *(*func(*libc.TLS, uintptr, I64, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 136)) = unixFetch // sqlite3.c:40208:1: + *(*func(*libc.TLS, uintptr, I64, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 144)) = unixUnfetch // sqlite3.c:40208:1: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 8)) = fts5CreateMethod // sqlite3.c:234457:25: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 16)) = fts5ConnectMethod // sqlite3.c:234458:25: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 24)) = fts5BestIndexMethod // sqlite3.c:234459:25: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 32)) = fts5DisconnectMethod // sqlite3.c:234460:25: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 40)) = fts5DestroyMethod // sqlite3.c:234461:25: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 48)) = fts5OpenMethod // sqlite3.c:234462:25: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 56)) = fts5CloseMethod // sqlite3.c:234463:25: + *(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 64)) = fts5FilterMethod // sqlite3.c:234464:25: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 72)) = fts5NextMethod // sqlite3.c:234465:25: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 80)) = fts5EofMethod // sqlite3.c:234466:25: + *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 88)) = fts5ColumnMethod // sqlite3.c:234467:25: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 96)) = fts5RowidMethod // sqlite3.c:234468:25: + *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 104)) = fts5UpdateMethod // sqlite3.c:234469:25: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 112)) = fts5BeginMethod // sqlite3.c:234470:25: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 120)) = fts5SyncMethod // sqlite3.c:234471:25: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 128)) = fts5CommitMethod // sqlite3.c:234472:25: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 136)) = fts5RollbackMethod // sqlite3.c:234473:25: + *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 144)) = fts5FindFunctionMethod // sqlite3.c:234474:25: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 152)) = fts5RenameMethod // sqlite3.c:234475:25: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 160)) = fts5SavepointMethod // sqlite3.c:234476:25: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 168)) = fts5ReleaseMethod // sqlite3.c:234477:25: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 176)) = fts5RollbackToMethod // sqlite3.c:234478:25: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 184)) = fts5ShadowName // sqlite3.c:234479:25: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 8)) = fts5VocabCreateMethod // sqlite3.c:239040:25: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 16)) = fts5VocabConnectMethod // sqlite3.c:239041:25: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 24)) = fts5VocabBestIndexMethod // sqlite3.c:239042:25: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 32)) = fts5VocabDisconnectMethod // sqlite3.c:239043:25: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 40)) = fts5VocabDestroyMethod // sqlite3.c:239044:25: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 48)) = fts5VocabOpenMethod // sqlite3.c:239045:25: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 56)) = fts5VocabCloseMethod // sqlite3.c:239046:25: + *(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 64)) = fts5VocabFilterMethod // sqlite3.c:239047:25: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 72)) = fts5VocabNextMethod // sqlite3.c:239048:25: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 80)) = fts5VocabEofMethod // sqlite3.c:239049:25: + *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 88)) = fts5VocabColumnMethod // sqlite3.c:239050:25: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 96)) = fts5VocabRowidMethod // sqlite3.c:239051:25: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 8)) = geopolyCreate // sqlite3.c:201991:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 16)) = geopolyConnect // sqlite3.c:201992:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 24)) = geopolyBestIndex // sqlite3.c:201993:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 32)) = rtreeDisconnect // sqlite3.c:201994:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 40)) = rtreeDestroy // sqlite3.c:201995:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 48)) = rtreeOpen // sqlite3.c:201996:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 56)) = rtreeClose // sqlite3.c:201997:3: + *(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 64)) = geopolyFilter // sqlite3.c:201998:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 72)) = rtreeNext // sqlite3.c:201999:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 80)) = rtreeEof // sqlite3.c:202000:3: + *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 88)) = geopolyColumn // sqlite3.c:202001:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 96)) = rtreeRowid // sqlite3.c:202002:3: + *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 104)) = geopolyUpdate // sqlite3.c:202003:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 112)) = rtreeBeginTransaction // sqlite3.c:202004:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 120)) = rtreeEndTransaction // sqlite3.c:202005:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 128)) = rtreeEndTransaction // sqlite3.c:202006:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 136)) = rtreeEndTransaction // sqlite3.c:202007:3: + *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 144)) = geopolyFindFunction // sqlite3.c:202008:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 152)) = rtreeRename // sqlite3.c:202009:3: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 160)) = rtreeSavepoint // sqlite3.c:202010:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 184)) = rtreeShadowName // sqlite3.c:202013:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonEachModule)) + 16)) = jsonEachConnect // sqlite3.c:195733:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonEachModule)) + 24)) = jsonEachBestIndex // sqlite3.c:195734:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonEachModule)) + 32)) = jsonEachDisconnect // sqlite3.c:195735:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonEachModule)) + 48)) = jsonEachOpenEach // sqlite3.c:195737:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonEachModule)) + 56)) = jsonEachClose // sqlite3.c:195738:3: + *(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonEachModule)) + 64)) = jsonEachFilter // sqlite3.c:195739:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonEachModule)) + 72)) = jsonEachNext // sqlite3.c:195740:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonEachModule)) + 80)) = jsonEachEof // sqlite3.c:195741:3: + *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonEachModule)) + 88)) = jsonEachColumn // sqlite3.c:195742:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonEachModule)) + 96)) = jsonEachRowid // sqlite3.c:195743:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonTreeModule)) + 16)) = jsonEachConnect // sqlite3.c:195761:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonTreeModule)) + 24)) = jsonEachBestIndex // sqlite3.c:195762:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonTreeModule)) + 32)) = jsonEachDisconnect // sqlite3.c:195763:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonTreeModule)) + 48)) = jsonEachOpenTree // sqlite3.c:195765:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonTreeModule)) + 56)) = jsonEachClose // sqlite3.c:195766:3: + *(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonTreeModule)) + 64)) = jsonEachFilter // sqlite3.c:195767:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonTreeModule)) + 72)) = jsonEachNext // sqlite3.c:195768:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonTreeModule)) + 80)) = jsonEachEof // sqlite3.c:195769:3: + *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonTreeModule)) + 88)) = jsonEachColumn // sqlite3.c:195770:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonTreeModule)) + 96)) = jsonEachRowid // sqlite3.c:195771:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 8)) = memdbClose // sqlite3.c:49243:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 16)) = memdbRead // sqlite3.c:49244:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 24)) = memdbWrite // sqlite3.c:49245:3: + *(*func(*libc.TLS, uintptr, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 32)) = memdbTruncate // sqlite3.c:49246:3: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 40)) = memdbSync // sqlite3.c:49247:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 48)) = memdbFileSize // sqlite3.c:49248:3: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 56)) = memdbLock // sqlite3.c:49249:3: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 64)) = memdbLock // sqlite3.c:49250:3: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 80)) = memdbFileControl // sqlite3.c:49252:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 96)) = memdbDeviceCharacteristics // sqlite3.c:49254:3: + *(*func(*libc.TLS, uintptr, Sqlite3_int64, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 136)) = memdbFetch // sqlite3.c:49259:3: + *(*func(*libc.TLS, uintptr, Sqlite3_int64, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 144)) = memdbUnfetch // sqlite3.c:49260:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_vfs)) + 40)) = memdbOpen // sqlite3.c:49223:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_vfs)) + 56)) = memdbAccess // sqlite3.c:49225:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_vfs)) + 64)) = memdbFullPathname // sqlite3.c:49226:3: + *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_vfs)) + 72)) = memdbDlOpen // sqlite3.c:49227:3: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_vfs)) + 80)) = memdbDlError // sqlite3.c:49228:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_vfs)) + 88)) = memdbDlSym // sqlite3.c:49229:3: + *(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_vfs)) + 96)) = memdbDlClose // sqlite3.c:49230:3: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_vfs)) + 104)) = memdbRandomness // sqlite3.c:49231:3: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_vfs)) + 112)) = memdbSleep // sqlite3.c:49232:3: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_vfs)) + 128)) = memdbGetLastError // sqlite3.c:49234:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_vfs)) + 136)) = memdbCurrentTimeInt64 // sqlite3.c:49235:3: + *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoFinder)) + 0)) = nolockIoFinderImpl // sqlite3.c:40198:1: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 8)) = nolockClose // sqlite3.c:40198:1: + *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 16)) = unixRead // sqlite3.c:40198:1: + *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 24)) = unixWrite // sqlite3.c:40198:1: + *(*func(*libc.TLS, uintptr, I64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 32)) = unixTruncate // sqlite3.c:40198:1: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 40)) = unixSync // sqlite3.c:40198:1: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 48)) = unixFileSize // sqlite3.c:40198:1: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 56)) = nolockLock // sqlite3.c:40198:1: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 64)) = nolockUnlock // sqlite3.c:40198:1: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 72)) = nolockCheckReservedLock // sqlite3.c:40198:1: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 80)) = unixFileControl // sqlite3.c:40198:1: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 88)) = unixSectorSize // sqlite3.c:40198:1: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 96)) = unixDeviceCharacteristics // sqlite3.c:40198:1: + *(*func(*libc.TLS, uintptr, int32, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 112)) = unixShmLock // sqlite3.c:40198:1: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 120)) = unixShmBarrier // sqlite3.c:40198:1: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 128)) = unixShmUnmap // sqlite3.c:40198:1: + *(*func(*libc.TLS, uintptr, I64, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 136)) = unixFetch // sqlite3.c:40198:1: + *(*func(*libc.TLS, uintptr, I64, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 144)) = unixUnfetch // sqlite3.c:40198:1: + *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoFinder)) + 0)) = posixIoFinderImpl // sqlite3.c:40188:1: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 8)) = unixClose // sqlite3.c:40188:1: + *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 16)) = unixRead // sqlite3.c:40188:1: + *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 24)) = unixWrite // sqlite3.c:40188:1: + *(*func(*libc.TLS, uintptr, I64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 32)) = unixTruncate // sqlite3.c:40188:1: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 40)) = unixSync // sqlite3.c:40188:1: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 48)) = unixFileSize // sqlite3.c:40188:1: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 56)) = unixLock // sqlite3.c:40188:1: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 64)) = unixUnlock // sqlite3.c:40188:1: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 72)) = unixCheckReservedLock // sqlite3.c:40188:1: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 80)) = unixFileControl // sqlite3.c:40188:1: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 88)) = unixSectorSize // sqlite3.c:40188:1: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 96)) = unixDeviceCharacteristics // sqlite3.c:40188:1: + *(*func(*libc.TLS, uintptr, int32, int32, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 104)) = unixShmMap // sqlite3.c:40188:1: + *(*func(*libc.TLS, uintptr, int32, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 112)) = unixShmLock // sqlite3.c:40188:1: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 120)) = unixShmBarrier // sqlite3.c:40188:1: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 128)) = unixShmUnmap // sqlite3.c:40188:1: + *(*func(*libc.TLS, uintptr, I64, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 136)) = unixFetch // sqlite3.c:40188:1: + *(*func(*libc.TLS, uintptr, I64, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 144)) = unixUnfetch // sqlite3.c:40188:1: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&pragmaVtabModule)) + 16)) = pragmaVtabConnect // sqlite3.c:133119:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&pragmaVtabModule)) + 24)) = pragmaVtabBestIndex // sqlite3.c:133120:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&pragmaVtabModule)) + 32)) = pragmaVtabDisconnect // sqlite3.c:133121:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&pragmaVtabModule)) + 48)) = pragmaVtabOpen // sqlite3.c:133123:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&pragmaVtabModule)) + 56)) = pragmaVtabClose // sqlite3.c:133124:3: + *(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&pragmaVtabModule)) + 64)) = pragmaVtabFilter // sqlite3.c:133125:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&pragmaVtabModule)) + 72)) = pragmaVtabNext // sqlite3.c:133126:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&pragmaVtabModule)) + 80)) = pragmaVtabEof // sqlite3.c:133127:3: + *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&pragmaVtabModule)) + 88)) = pragmaVtabColumn // sqlite3.c:133128:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&pragmaVtabModule)) + 96)) = pragmaVtabRowid // sqlite3.c:133129:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 8)) = rbuVfsClose // sqlite3.c:208688:5: + *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 16)) = rbuVfsRead // sqlite3.c:208689:5: + *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 24)) = rbuVfsWrite // sqlite3.c:208690:5: + *(*func(*libc.TLS, uintptr, Sqlite_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 32)) = rbuVfsTruncate // sqlite3.c:208691:5: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 40)) = rbuVfsSync // sqlite3.c:208692:5: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 48)) = rbuVfsFileSize // sqlite3.c:208693:5: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 56)) = rbuVfsLock // sqlite3.c:208694:5: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 64)) = rbuVfsUnlock // sqlite3.c:208695:5: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 72)) = rbuVfsCheckReservedLock // sqlite3.c:208696:5: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 80)) = rbuVfsFileControl // sqlite3.c:208697:5: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 88)) = rbuVfsSectorSize // sqlite3.c:208698:5: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 96)) = rbuVfsDeviceCharacteristics // sqlite3.c:208699:5: + *(*func(*libc.TLS, uintptr, int32, int32, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 104)) = rbuVfsShmMap // sqlite3.c:208700:5: + *(*func(*libc.TLS, uintptr, int32, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 112)) = rbuVfsShmLock // sqlite3.c:208701:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 120)) = rbuVfsShmBarrier // sqlite3.c:208702:5: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 128)) = rbuVfsShmUnmap // sqlite3.c:208703:5: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 8)) = rtreeCreate // sqlite3.c:199329:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 16)) = rtreeConnect // sqlite3.c:199330:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 24)) = rtreeBestIndex // sqlite3.c:199331:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 32)) = rtreeDisconnect // sqlite3.c:199332:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 40)) = rtreeDestroy // sqlite3.c:199333:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 48)) = rtreeOpen // sqlite3.c:199334:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 56)) = rtreeClose // sqlite3.c:199335:3: + *(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 64)) = rtreeFilter // sqlite3.c:199336:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 72)) = rtreeNext // sqlite3.c:199337:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 80)) = rtreeEof // sqlite3.c:199338:3: + *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 88)) = rtreeColumn // sqlite3.c:199339:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 96)) = rtreeRowid // sqlite3.c:199340:3: + *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 104)) = rtreeUpdate // sqlite3.c:199341:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 112)) = rtreeBeginTransaction // sqlite3.c:199342:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 120)) = rtreeEndTransaction // sqlite3.c:199343:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 128)) = rtreeEndTransaction // sqlite3.c:199344:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 136)) = rtreeEndTransaction // sqlite3.c:199345:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 152)) = rtreeRename // sqlite3.c:199347:3: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 160)) = rtreeSavepoint // sqlite3.c:199348:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 184)) = rtreeShadowName // sqlite3.c:199351:3: + *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 8)) = fts5ApiUserData // sqlite3.c:233916:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 16)) = fts5ApiColumnCount // sqlite3.c:233917:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 24)) = fts5ApiRowCount // sqlite3.c:233918:3: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 32)) = fts5ApiColumnTotalSize // sqlite3.c:233919:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 40)) = fts5ApiTokenize // sqlite3.c:233920:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 48)) = fts5ApiPhraseCount // sqlite3.c:233921:3: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 56)) = fts5ApiPhraseSize // sqlite3.c:233922:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 64)) = fts5ApiInstCount // sqlite3.c:233923:3: + *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 72)) = fts5ApiInst // sqlite3.c:233924:3: + *(*func(*libc.TLS, uintptr) Sqlite3_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 80)) = fts5ApiRowid // sqlite3.c:233925:3: + *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 88)) = fts5ApiColumnText // sqlite3.c:233926:3: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 96)) = fts5ApiColumnSize // sqlite3.c:233927:3: + *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 104)) = fts5ApiQueryPhrase // sqlite3.c:233928:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 112)) = fts5ApiSetAuxdata // sqlite3.c:233929:3: + *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 120)) = fts5ApiGetAuxdata // sqlite3.c:233930:3: + *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 128)) = fts5ApiPhraseFirst // sqlite3.c:233931:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 136)) = fts5ApiPhraseNext // sqlite3.c:233932:3: + *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 144)) = fts5ApiPhraseFirstColumn // sqlite3.c:233933:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 152)) = fts5ApiPhraseNextColumn // sqlite3.c:233934:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sMemJournalMethods)) + 8)) = memjrnlClose // sqlite3.c:100036:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sMemJournalMethods)) + 16)) = memjrnlRead // sqlite3.c:100037:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sMemJournalMethods)) + 24)) = memjrnlWrite // sqlite3.c:100038:3: + *(*func(*libc.TLS, uintptr, Sqlite_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sMemJournalMethods)) + 32)) = memjrnlTruncate // sqlite3.c:100039:3: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sMemJournalMethods)) + 40)) = memjrnlSync // sqlite3.c:100040:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sMemJournalMethods)) + 48)) = memjrnlFileSize // sqlite3.c:100041:3: *(*func(*libc.TLS) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sMutex)) + 0)) = noopMutexInit // sqlite3.c:27532:5: *(*func(*libc.TLS) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sMutex)) + 8)) = noopMutexEnd // sqlite3.c:27533:5: *(*func(*libc.TLS, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sMutex)) + 16)) = noopMutexAlloc // sqlite3.c:27534:5: @@ -196429,288 +196460,288 @@ func init() { *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sMutex)) + 32)) = noopMutexEnter // sqlite3.c:27536:5: *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sMutex)) + 40)) = noopMutexTry // sqlite3.c:27537:5: *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sMutex)) + 48)) = noopMutexLeave // sqlite3.c:27538:5: - *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 0)) = Xsqlite3_aggregate_context // sqlite3.c:129019:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 8)) = Xsqlite3_aggregate_count // sqlite3.c:129021:3: - *(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 16)) = Xsqlite3_bind_blob // sqlite3.c:129025:3: - *(*func(*libc.TLS, uintptr, int32, float64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 24)) = Xsqlite3_bind_double // sqlite3.c:129026:3: - *(*func(*libc.TLS, uintptr, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 32)) = Xsqlite3_bind_int // sqlite3.c:129027:3: - *(*func(*libc.TLS, uintptr, int32, Sqlite_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 40)) = Xsqlite3_bind_int64 // sqlite3.c:129028:3: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 48)) = Xsqlite3_bind_null // sqlite3.c:129029:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 56)) = Xsqlite3_bind_parameter_count // sqlite3.c:129030:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 64)) = Xsqlite3_bind_parameter_index // sqlite3.c:129031:3: - *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 72)) = Xsqlite3_bind_parameter_name // sqlite3.c:129032:3: - *(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 80)) = Xsqlite3_bind_text // sqlite3.c:129033:3: - *(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 88)) = Xsqlite3_bind_text16 // sqlite3.c:129034:3: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 96)) = Xsqlite3_bind_value // sqlite3.c:129035:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 104)) = Xsqlite3_busy_handler // sqlite3.c:129036:3: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 112)) = Xsqlite3_busy_timeout // sqlite3.c:129037:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 120)) = Xsqlite3_changes // sqlite3.c:129038:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 128)) = Xsqlite3_close // sqlite3.c:129039:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 136)) = Xsqlite3_collation_needed // sqlite3.c:129040:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 144)) = Xsqlite3_collation_needed16 // sqlite3.c:129041:3: - *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 152)) = Xsqlite3_column_blob // sqlite3.c:129042:3: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 160)) = Xsqlite3_column_bytes // sqlite3.c:129043:3: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 168)) = Xsqlite3_column_bytes16 // sqlite3.c:129044:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 176)) = Xsqlite3_column_count // sqlite3.c:129045:3: - *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 184)) = Xsqlite3_column_database_name // sqlite3.c:129046:3: - *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 192)) = Xsqlite3_column_database_name16 // sqlite3.c:129047:3: - *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 200)) = Xsqlite3_column_decltype // sqlite3.c:129048:3: - *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 208)) = Xsqlite3_column_decltype16 // sqlite3.c:129049:3: - *(*func(*libc.TLS, uintptr, int32) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 216)) = Xsqlite3_column_double // sqlite3.c:129050:3: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 224)) = Xsqlite3_column_int // sqlite3.c:129051:3: - *(*func(*libc.TLS, uintptr, int32) Sqlite_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 232)) = Xsqlite3_column_int64 // sqlite3.c:129052:3: - *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 240)) = Xsqlite3_column_name // sqlite3.c:129053:3: - *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 248)) = Xsqlite3_column_name16 // sqlite3.c:129054:3: - *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 256)) = Xsqlite3_column_origin_name // sqlite3.c:129055:3: - *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 264)) = Xsqlite3_column_origin_name16 // sqlite3.c:129056:3: - *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 272)) = Xsqlite3_column_table_name // sqlite3.c:129057:3: - *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 280)) = Xsqlite3_column_table_name16 // sqlite3.c:129058:3: - *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 288)) = Xsqlite3_column_text // sqlite3.c:129059:3: - *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 296)) = Xsqlite3_column_text16 // sqlite3.c:129060:3: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 304)) = Xsqlite3_column_type // sqlite3.c:129061:3: - *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 312)) = Xsqlite3_column_value // sqlite3.c:129062:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 320)) = Xsqlite3_commit_hook // sqlite3.c:129063:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 328)) = Xsqlite3_complete // sqlite3.c:129064:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 336)) = Xsqlite3_complete16 // sqlite3.c:129065:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 344)) = Xsqlite3_create_collation // sqlite3.c:129066:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 352)) = Xsqlite3_create_collation16 // sqlite3.c:129067:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, int32, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 360)) = Xsqlite3_create_function // sqlite3.c:129068:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, int32, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 368)) = Xsqlite3_create_function16 // sqlite3.c:129069:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 376)) = Xsqlite3_create_module // sqlite3.c:129070:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 384)) = Xsqlite3_data_count // sqlite3.c:129071:3: - *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 392)) = Xsqlite3_db_handle // sqlite3.c:129072:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 400)) = Xsqlite3_declare_vtab // sqlite3.c:129073:3: - *(*func(*libc.TLS, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 408)) = Xsqlite3_enable_shared_cache // sqlite3.c:129074:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 416)) = Xsqlite3_errcode // sqlite3.c:129075:3: - *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 424)) = Xsqlite3_errmsg // sqlite3.c:129076:3: - *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 432)) = Xsqlite3_errmsg16 // sqlite3.c:129077:3: - *(*func(*libc.TLS, uintptr, uintptr, Sqlite3_callback, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 440)) = Xsqlite3_exec // sqlite3.c:129078:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 448)) = Xsqlite3_expired // sqlite3.c:129080:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 456)) = Xsqlite3_finalize // sqlite3.c:129084:3: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 464)) = Xsqlite3_free // sqlite3.c:129085:3: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 472)) = Xsqlite3_free_table // sqlite3.c:129086:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 480)) = Xsqlite3_get_autocommit // sqlite3.c:129087:3: - *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 488)) = Xsqlite3_get_auxdata // sqlite3.c:129088:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 496)) = Xsqlite3_get_table // sqlite3.c:129089:3: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 512)) = Xsqlite3_interrupt // sqlite3.c:129091:3: - *(*func(*libc.TLS, uintptr) Sqlite3_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 520)) = Xsqlite3_last_insert_rowid // sqlite3.c:129092:3: - *(*func(*libc.TLS) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 528)) = Xsqlite3_libversion // sqlite3.c:129093:3: - *(*func(*libc.TLS) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 536)) = Xsqlite3_libversion_number // sqlite3.c:129094:3: - *(*func(*libc.TLS, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 544)) = Xsqlite3_malloc // sqlite3.c:129095:3: - *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 552)) = Xsqlite3_mprintf // sqlite3.c:129096:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 560)) = Xsqlite3_open // sqlite3.c:129097:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 568)) = Xsqlite3_open16 // sqlite3.c:129098:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 576)) = Xsqlite3_prepare // sqlite3.c:129099:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 584)) = Xsqlite3_prepare16 // sqlite3.c:129100:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 592)) = Xsqlite3_profile // sqlite3.c:129101:3: - *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 600)) = Xsqlite3_progress_handler // sqlite3.c:129102:3: - *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 608)) = Xsqlite3_realloc // sqlite3.c:129103:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 616)) = Xsqlite3_reset // sqlite3.c:129104:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 624)) = Xsqlite3_result_blob // sqlite3.c:129105:3: - *(*func(*libc.TLS, uintptr, float64))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 632)) = Xsqlite3_result_double // sqlite3.c:129106:3: - *(*func(*libc.TLS, uintptr, uintptr, int32))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 640)) = Xsqlite3_result_error // sqlite3.c:129107:3: - *(*func(*libc.TLS, uintptr, uintptr, int32))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 648)) = Xsqlite3_result_error16 // sqlite3.c:129108:3: - *(*func(*libc.TLS, uintptr, int32))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 656)) = Xsqlite3_result_int // sqlite3.c:129109:3: - *(*func(*libc.TLS, uintptr, I64))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 664)) = Xsqlite3_result_int64 // sqlite3.c:129110:3: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 672)) = Xsqlite3_result_null // sqlite3.c:129111:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 680)) = Xsqlite3_result_text // sqlite3.c:129112:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 688)) = Xsqlite3_result_text16 // sqlite3.c:129113:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 696)) = Xsqlite3_result_text16be // sqlite3.c:129114:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 704)) = Xsqlite3_result_text16le // sqlite3.c:129115:3: - *(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 712)) = Xsqlite3_result_value // sqlite3.c:129116:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 720)) = Xsqlite3_rollback_hook // sqlite3.c:129117:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 728)) = Xsqlite3_set_authorizer // sqlite3.c:129118:3: - *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 736)) = Xsqlite3_set_auxdata // sqlite3.c:129119:3: - *(*func(*libc.TLS, int32, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 744)) = Xsqlite3_snprintf // sqlite3.c:129120:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 752)) = Xsqlite3_step // sqlite3.c:129121:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr, uintptr, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 760)) = Xsqlite3_table_column_metadata // sqlite3.c:129122:3: - *(*func(*libc.TLS))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 768)) = Xsqlite3_thread_cleanup // sqlite3.c:129124:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 776)) = Xsqlite3_total_changes // sqlite3.c:129128:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 784)) = Xsqlite3_trace // sqlite3.c:129129:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 792)) = Xsqlite3_transfer_bindings // sqlite3.c:129131:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 800)) = Xsqlite3_update_hook // sqlite3.c:129135:3: - *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 808)) = Xsqlite3_user_data // sqlite3.c:129136:3: - *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 816)) = Xsqlite3_value_blob // sqlite3.c:129137:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 824)) = Xsqlite3_value_bytes // sqlite3.c:129138:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 832)) = Xsqlite3_value_bytes16 // sqlite3.c:129139:3: - *(*func(*libc.TLS, uintptr) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 840)) = Xsqlite3_value_double // sqlite3.c:129140:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 848)) = Xsqlite3_value_int // sqlite3.c:129141:3: - *(*func(*libc.TLS, uintptr) Sqlite_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 856)) = Xsqlite3_value_int64 // sqlite3.c:129142:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 864)) = Xsqlite3_value_numeric_type // sqlite3.c:129143:3: - *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 872)) = Xsqlite3_value_text // sqlite3.c:129144:3: - *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 880)) = Xsqlite3_value_text16 // sqlite3.c:129145:3: - *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 888)) = Xsqlite3_value_text16be // sqlite3.c:129146:3: - *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 896)) = Xsqlite3_value_text16le // sqlite3.c:129147:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 904)) = Xsqlite3_value_type // sqlite3.c:129148:3: - *(*func(*libc.TLS, uintptr, Va_list) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 912)) = Xsqlite3_vmprintf // sqlite3.c:129149:3: - *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 920)) = Xsqlite3_overload_function // sqlite3.c:129158:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 928)) = Xsqlite3_prepare_v2 // sqlite3.c:129163:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 936)) = Xsqlite3_prepare16_v2 // sqlite3.c:129164:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 944)) = Xsqlite3_clear_bindings // sqlite3.c:129165:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 952)) = Xsqlite3_create_module_v2 // sqlite3.c:129170:3: - *(*func(*libc.TLS, uintptr, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 960)) = Xsqlite3_bind_zeroblob // sqlite3.c:129175:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 968)) = Xsqlite3_blob_bytes // sqlite3.c:129176:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 976)) = Xsqlite3_blob_close // sqlite3.c:129177:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr, Sqlite_int64, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 984)) = Xsqlite3_blob_open // sqlite3.c:129178:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 992)) = Xsqlite3_blob_read // sqlite3.c:129179:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1000)) = Xsqlite3_blob_write // sqlite3.c:129180:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1008)) = Xsqlite3_create_collation_v2 // sqlite3.c:129181:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1016)) = Xsqlite3_file_control // sqlite3.c:129182:3: - *(*func(*libc.TLS, int32) Sqlite3_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1024)) = Xsqlite3_memory_highwater // sqlite3.c:129183:3: - *(*func(*libc.TLS) Sqlite3_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1032)) = Xsqlite3_memory_used // sqlite3.c:129184:3: - *(*func(*libc.TLS, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1040)) = Xsqlite3_mutex_alloc // sqlite3.c:129192:3: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1048)) = Xsqlite3_mutex_enter // sqlite3.c:129193:3: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1056)) = Xsqlite3_mutex_free // sqlite3.c:129194:3: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1064)) = Xsqlite3_mutex_leave // sqlite3.c:129195:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1072)) = Xsqlite3_mutex_try // sqlite3.c:129196:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1080)) = Xsqlite3_open_v2 // sqlite3.c:129198:3: - *(*func(*libc.TLS, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1088)) = Xsqlite3_release_memory // sqlite3.c:129199:3: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1096)) = Xsqlite3_result_error_nomem // sqlite3.c:129200:3: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1104)) = Xsqlite3_result_error_toobig // sqlite3.c:129201:3: - *(*func(*libc.TLS, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1112)) = Xsqlite3_sleep // sqlite3.c:129202:3: - *(*func(*libc.TLS, int32))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1120)) = Xsqlite3_soft_heap_limit // sqlite3.c:129203:3: - *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1128)) = Xsqlite3_vfs_find // sqlite3.c:129204:3: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1136)) = Xsqlite3_vfs_register // sqlite3.c:129205:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1144)) = Xsqlite3_vfs_unregister // sqlite3.c:129206:3: - *(*func(*libc.TLS) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1152)) = Xsqlite3_threadsafe // sqlite3.c:129211:3: - *(*func(*libc.TLS, uintptr, int32))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1160)) = Xsqlite3_result_zeroblob // sqlite3.c:129212:3: - *(*func(*libc.TLS, uintptr, int32))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1168)) = Xsqlite3_result_error_code // sqlite3.c:129213:3: - *(*func(*libc.TLS, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1176)) = Xsqlite3_test_control // sqlite3.c:129214:3: - *(*func(*libc.TLS, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1184)) = Xsqlite3_randomness // sqlite3.c:129215:3: - *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1192)) = Xsqlite3_context_db_handle // sqlite3.c:129216:3: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1200)) = Xsqlite3_extended_result_codes // sqlite3.c:129221:3: - *(*func(*libc.TLS, uintptr, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1208)) = Xsqlite3_limit // sqlite3.c:129222:3: - *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1216)) = Xsqlite3_next_stmt // sqlite3.c:129223:3: - *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1224)) = Xsqlite3_sql // sqlite3.c:129224:3: - *(*func(*libc.TLS, int32, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1232)) = Xsqlite3_status // sqlite3.c:129225:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1240)) = Xsqlite3_backup_finish // sqlite3.c:129230:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1248)) = Xsqlite3_backup_init // sqlite3.c:129231:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1256)) = Xsqlite3_backup_pagecount // sqlite3.c:129232:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1264)) = Xsqlite3_backup_remaining // sqlite3.c:129233:3: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1272)) = Xsqlite3_backup_step // sqlite3.c:129234:3: - *(*func(*libc.TLS, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1280)) = Xsqlite3_compileoption_get // sqlite3.c:129236:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1288)) = Xsqlite3_compileoption_used // sqlite3.c:129237:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, int32, uintptr, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1296)) = Xsqlite3_create_function_v2 // sqlite3.c:129242:3: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1304)) = Xsqlite3_db_config // sqlite3.c:129243:3: - *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1312)) = Xsqlite3_db_mutex // sqlite3.c:129244:3: - *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1320)) = Xsqlite3_db_status // sqlite3.c:129245:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1328)) = Xsqlite3_extended_errcode // sqlite3.c:129246:3: - *(*func(*libc.TLS, int32, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1336)) = Xsqlite3_log // sqlite3.c:129247:3: - *(*func(*libc.TLS, Sqlite3_int64) Sqlite3_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1344)) = Xsqlite3_soft_heap_limit64 // sqlite3.c:129248:3: - *(*func(*libc.TLS) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1352)) = Xsqlite3_sourceid // sqlite3.c:129249:3: - *(*func(*libc.TLS, uintptr, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1360)) = Xsqlite3_stmt_status // sqlite3.c:129250:3: - *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1368)) = Xsqlite3_strnicmp // sqlite3.c:129251:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1376)) = Xsqlite3_unlock_notify // sqlite3.c:129253:3: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1384)) = Xsqlite3_wal_autocheckpoint // sqlite3.c:129258:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1392)) = Xsqlite3_wal_checkpoint // sqlite3.c:129259:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1400)) = Xsqlite3_wal_hook // sqlite3.c:129260:3: - *(*func(*libc.TLS, uintptr, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1408)) = Xsqlite3_blob_reopen // sqlite3.c:129266:3: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1416)) = Xsqlite3_vtab_config // sqlite3.c:129267:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1424)) = Xsqlite3_vtab_on_conflict // sqlite3.c:129268:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1432)) = Xsqlite3_close_v2 // sqlite3.c:129269:3: - *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1440)) = Xsqlite3_db_filename // sqlite3.c:129270:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1448)) = Xsqlite3_db_readonly // sqlite3.c:129271:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1456)) = Xsqlite3_db_release_memory // sqlite3.c:129272:3: - *(*func(*libc.TLS, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1464)) = Xsqlite3_errstr // sqlite3.c:129273:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1472)) = Xsqlite3_stmt_busy // sqlite3.c:129274:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1480)) = Xsqlite3_stmt_readonly // sqlite3.c:129275:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1488)) = Xsqlite3_stricmp // sqlite3.c:129276:3: - *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1496)) = Xsqlite3_uri_boolean // sqlite3.c:129277:3: - *(*func(*libc.TLS, uintptr, uintptr, Sqlite3_int64) Sqlite3_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1504)) = Xsqlite3_uri_int64 // sqlite3.c:129278:3: - *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1512)) = Xsqlite3_uri_parameter // sqlite3.c:129279:3: - *(*func(*libc.TLS, int32, uintptr, uintptr, Va_list) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1520)) = Xsqlite3_vsnprintf // sqlite3.c:129280:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1528)) = Xsqlite3_wal_checkpoint_v2 // sqlite3.c:129281:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1536)) = Xsqlite3_auto_extension // sqlite3.c:129283:3: - *(*func(*libc.TLS, uintptr, int32, uintptr, Sqlite3_uint64, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1544)) = Xsqlite3_bind_blob64 // sqlite3.c:129284:3: - *(*func(*libc.TLS, uintptr, int32, uintptr, Sqlite3_uint64, uintptr, uint8) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1552)) = Xsqlite3_bind_text64 // sqlite3.c:129285:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1560)) = Xsqlite3_cancel_auto_extension // sqlite3.c:129286:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1568)) = Xsqlite3_load_extension // sqlite3.c:129287:3: - *(*func(*libc.TLS, Sqlite3_uint64) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1576)) = Xsqlite3_malloc64 // sqlite3.c:129288:3: - *(*func(*libc.TLS, uintptr) Sqlite3_uint64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1584)) = Xsqlite3_msize // sqlite3.c:129289:3: - *(*func(*libc.TLS, uintptr, Sqlite3_uint64) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1592)) = Xsqlite3_realloc64 // sqlite3.c:129290:3: - *(*func(*libc.TLS))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1600)) = Xsqlite3_reset_auto_extension // sqlite3.c:129291:3: - *(*func(*libc.TLS, uintptr, uintptr, Sqlite3_uint64, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1608)) = Xsqlite3_result_blob64 // sqlite3.c:129292:3: - *(*func(*libc.TLS, uintptr, uintptr, Sqlite3_uint64, uintptr, uint8))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1616)) = Xsqlite3_result_text64 // sqlite3.c:129293:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1624)) = Xsqlite3_strglob // sqlite3.c:129294:3: + *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 0)) = Xsqlite3_aggregate_context // sqlite3.c:129032:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 8)) = Xsqlite3_aggregate_count // sqlite3.c:129034:3: + *(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 16)) = Xsqlite3_bind_blob // sqlite3.c:129038:3: + *(*func(*libc.TLS, uintptr, int32, float64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 24)) = Xsqlite3_bind_double // sqlite3.c:129039:3: + *(*func(*libc.TLS, uintptr, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 32)) = Xsqlite3_bind_int // sqlite3.c:129040:3: + *(*func(*libc.TLS, uintptr, int32, Sqlite_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 40)) = Xsqlite3_bind_int64 // sqlite3.c:129041:3: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 48)) = Xsqlite3_bind_null // sqlite3.c:129042:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 56)) = Xsqlite3_bind_parameter_count // sqlite3.c:129043:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 64)) = Xsqlite3_bind_parameter_index // sqlite3.c:129044:3: + *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 72)) = Xsqlite3_bind_parameter_name // sqlite3.c:129045:3: + *(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 80)) = Xsqlite3_bind_text // sqlite3.c:129046:3: + *(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 88)) = Xsqlite3_bind_text16 // sqlite3.c:129047:3: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 96)) = Xsqlite3_bind_value // sqlite3.c:129048:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 104)) = Xsqlite3_busy_handler // sqlite3.c:129049:3: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 112)) = Xsqlite3_busy_timeout // sqlite3.c:129050:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 120)) = Xsqlite3_changes // sqlite3.c:129051:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 128)) = Xsqlite3_close // sqlite3.c:129052:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 136)) = Xsqlite3_collation_needed // sqlite3.c:129053:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 144)) = Xsqlite3_collation_needed16 // sqlite3.c:129054:3: + *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 152)) = Xsqlite3_column_blob // sqlite3.c:129055:3: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 160)) = Xsqlite3_column_bytes // sqlite3.c:129056:3: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 168)) = Xsqlite3_column_bytes16 // sqlite3.c:129057:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 176)) = Xsqlite3_column_count // sqlite3.c:129058:3: + *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 184)) = Xsqlite3_column_database_name // sqlite3.c:129059:3: + *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 192)) = Xsqlite3_column_database_name16 // sqlite3.c:129060:3: + *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 200)) = Xsqlite3_column_decltype // sqlite3.c:129061:3: + *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 208)) = Xsqlite3_column_decltype16 // sqlite3.c:129062:3: + *(*func(*libc.TLS, uintptr, int32) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 216)) = Xsqlite3_column_double // sqlite3.c:129063:3: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 224)) = Xsqlite3_column_int // sqlite3.c:129064:3: + *(*func(*libc.TLS, uintptr, int32) Sqlite_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 232)) = Xsqlite3_column_int64 // sqlite3.c:129065:3: + *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 240)) = Xsqlite3_column_name // sqlite3.c:129066:3: + *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 248)) = Xsqlite3_column_name16 // sqlite3.c:129067:3: + *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 256)) = Xsqlite3_column_origin_name // sqlite3.c:129068:3: + *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 264)) = Xsqlite3_column_origin_name16 // sqlite3.c:129069:3: + *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 272)) = Xsqlite3_column_table_name // sqlite3.c:129070:3: + *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 280)) = Xsqlite3_column_table_name16 // sqlite3.c:129071:3: + *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 288)) = Xsqlite3_column_text // sqlite3.c:129072:3: + *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 296)) = Xsqlite3_column_text16 // sqlite3.c:129073:3: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 304)) = Xsqlite3_column_type // sqlite3.c:129074:3: + *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 312)) = Xsqlite3_column_value // sqlite3.c:129075:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 320)) = Xsqlite3_commit_hook // sqlite3.c:129076:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 328)) = Xsqlite3_complete // sqlite3.c:129077:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 336)) = Xsqlite3_complete16 // sqlite3.c:129078:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 344)) = Xsqlite3_create_collation // sqlite3.c:129079:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 352)) = Xsqlite3_create_collation16 // sqlite3.c:129080:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, int32, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 360)) = Xsqlite3_create_function // sqlite3.c:129081:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, int32, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 368)) = Xsqlite3_create_function16 // sqlite3.c:129082:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 376)) = Xsqlite3_create_module // sqlite3.c:129083:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 384)) = Xsqlite3_data_count // sqlite3.c:129084:3: + *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 392)) = Xsqlite3_db_handle // sqlite3.c:129085:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 400)) = Xsqlite3_declare_vtab // sqlite3.c:129086:3: + *(*func(*libc.TLS, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 408)) = Xsqlite3_enable_shared_cache // sqlite3.c:129087:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 416)) = Xsqlite3_errcode // sqlite3.c:129088:3: + *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 424)) = Xsqlite3_errmsg // sqlite3.c:129089:3: + *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 432)) = Xsqlite3_errmsg16 // sqlite3.c:129090:3: + *(*func(*libc.TLS, uintptr, uintptr, Sqlite3_callback, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 440)) = Xsqlite3_exec // sqlite3.c:129091:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 448)) = Xsqlite3_expired // sqlite3.c:129093:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 456)) = Xsqlite3_finalize // sqlite3.c:129097:3: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 464)) = Xsqlite3_free // sqlite3.c:129098:3: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 472)) = Xsqlite3_free_table // sqlite3.c:129099:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 480)) = Xsqlite3_get_autocommit // sqlite3.c:129100:3: + *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 488)) = Xsqlite3_get_auxdata // sqlite3.c:129101:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 496)) = Xsqlite3_get_table // sqlite3.c:129102:3: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 512)) = Xsqlite3_interrupt // sqlite3.c:129104:3: + *(*func(*libc.TLS, uintptr) Sqlite3_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 520)) = Xsqlite3_last_insert_rowid // sqlite3.c:129105:3: + *(*func(*libc.TLS) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 528)) = Xsqlite3_libversion // sqlite3.c:129106:3: + *(*func(*libc.TLS) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 536)) = Xsqlite3_libversion_number // sqlite3.c:129107:3: + *(*func(*libc.TLS, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 544)) = Xsqlite3_malloc // sqlite3.c:129108:3: + *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 552)) = Xsqlite3_mprintf // sqlite3.c:129109:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 560)) = Xsqlite3_open // sqlite3.c:129110:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 568)) = Xsqlite3_open16 // sqlite3.c:129111:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 576)) = Xsqlite3_prepare // sqlite3.c:129112:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 584)) = Xsqlite3_prepare16 // sqlite3.c:129113:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 592)) = Xsqlite3_profile // sqlite3.c:129114:3: + *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 600)) = Xsqlite3_progress_handler // sqlite3.c:129115:3: + *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 608)) = Xsqlite3_realloc // sqlite3.c:129116:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 616)) = Xsqlite3_reset // sqlite3.c:129117:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 624)) = Xsqlite3_result_blob // sqlite3.c:129118:3: + *(*func(*libc.TLS, uintptr, float64))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 632)) = Xsqlite3_result_double // sqlite3.c:129119:3: + *(*func(*libc.TLS, uintptr, uintptr, int32))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 640)) = Xsqlite3_result_error // sqlite3.c:129120:3: + *(*func(*libc.TLS, uintptr, uintptr, int32))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 648)) = Xsqlite3_result_error16 // sqlite3.c:129121:3: + *(*func(*libc.TLS, uintptr, int32))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 656)) = Xsqlite3_result_int // sqlite3.c:129122:3: + *(*func(*libc.TLS, uintptr, I64))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 664)) = Xsqlite3_result_int64 // sqlite3.c:129123:3: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 672)) = Xsqlite3_result_null // sqlite3.c:129124:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 680)) = Xsqlite3_result_text // sqlite3.c:129125:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 688)) = Xsqlite3_result_text16 // sqlite3.c:129126:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 696)) = Xsqlite3_result_text16be // sqlite3.c:129127:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 704)) = Xsqlite3_result_text16le // sqlite3.c:129128:3: + *(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 712)) = Xsqlite3_result_value // sqlite3.c:129129:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 720)) = Xsqlite3_rollback_hook // sqlite3.c:129130:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 728)) = Xsqlite3_set_authorizer // sqlite3.c:129131:3: + *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 736)) = Xsqlite3_set_auxdata // sqlite3.c:129132:3: + *(*func(*libc.TLS, int32, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 744)) = Xsqlite3_snprintf // sqlite3.c:129133:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 752)) = Xsqlite3_step // sqlite3.c:129134:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr, uintptr, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 760)) = Xsqlite3_table_column_metadata // sqlite3.c:129135:3: + *(*func(*libc.TLS))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 768)) = Xsqlite3_thread_cleanup // sqlite3.c:129137:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 776)) = Xsqlite3_total_changes // sqlite3.c:129141:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 784)) = Xsqlite3_trace // sqlite3.c:129142:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 792)) = Xsqlite3_transfer_bindings // sqlite3.c:129144:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 800)) = Xsqlite3_update_hook // sqlite3.c:129148:3: + *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 808)) = Xsqlite3_user_data // sqlite3.c:129149:3: + *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 816)) = Xsqlite3_value_blob // sqlite3.c:129150:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 824)) = Xsqlite3_value_bytes // sqlite3.c:129151:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 832)) = Xsqlite3_value_bytes16 // sqlite3.c:129152:3: + *(*func(*libc.TLS, uintptr) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 840)) = Xsqlite3_value_double // sqlite3.c:129153:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 848)) = Xsqlite3_value_int // sqlite3.c:129154:3: + *(*func(*libc.TLS, uintptr) Sqlite_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 856)) = Xsqlite3_value_int64 // sqlite3.c:129155:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 864)) = Xsqlite3_value_numeric_type // sqlite3.c:129156:3: + *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 872)) = Xsqlite3_value_text // sqlite3.c:129157:3: + *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 880)) = Xsqlite3_value_text16 // sqlite3.c:129158:3: + *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 888)) = Xsqlite3_value_text16be // sqlite3.c:129159:3: + *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 896)) = Xsqlite3_value_text16le // sqlite3.c:129160:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 904)) = Xsqlite3_value_type // sqlite3.c:129161:3: + *(*func(*libc.TLS, uintptr, Va_list) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 912)) = Xsqlite3_vmprintf // sqlite3.c:129162:3: + *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 920)) = Xsqlite3_overload_function // sqlite3.c:129171:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 928)) = Xsqlite3_prepare_v2 // sqlite3.c:129176:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 936)) = Xsqlite3_prepare16_v2 // sqlite3.c:129177:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 944)) = Xsqlite3_clear_bindings // sqlite3.c:129178:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 952)) = Xsqlite3_create_module_v2 // sqlite3.c:129183:3: + *(*func(*libc.TLS, uintptr, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 960)) = Xsqlite3_bind_zeroblob // sqlite3.c:129188:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 968)) = Xsqlite3_blob_bytes // sqlite3.c:129189:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 976)) = Xsqlite3_blob_close // sqlite3.c:129190:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr, Sqlite_int64, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 984)) = Xsqlite3_blob_open // sqlite3.c:129191:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 992)) = Xsqlite3_blob_read // sqlite3.c:129192:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1000)) = Xsqlite3_blob_write // sqlite3.c:129193:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1008)) = Xsqlite3_create_collation_v2 // sqlite3.c:129194:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1016)) = Xsqlite3_file_control // sqlite3.c:129195:3: + *(*func(*libc.TLS, int32) Sqlite3_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1024)) = Xsqlite3_memory_highwater // sqlite3.c:129196:3: + *(*func(*libc.TLS) Sqlite3_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1032)) = Xsqlite3_memory_used // sqlite3.c:129197:3: + *(*func(*libc.TLS, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1040)) = Xsqlite3_mutex_alloc // sqlite3.c:129205:3: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1048)) = Xsqlite3_mutex_enter // sqlite3.c:129206:3: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1056)) = Xsqlite3_mutex_free // sqlite3.c:129207:3: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1064)) = Xsqlite3_mutex_leave // sqlite3.c:129208:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1072)) = Xsqlite3_mutex_try // sqlite3.c:129209:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1080)) = Xsqlite3_open_v2 // sqlite3.c:129211:3: + *(*func(*libc.TLS, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1088)) = Xsqlite3_release_memory // sqlite3.c:129212:3: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1096)) = Xsqlite3_result_error_nomem // sqlite3.c:129213:3: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1104)) = Xsqlite3_result_error_toobig // sqlite3.c:129214:3: + *(*func(*libc.TLS, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1112)) = Xsqlite3_sleep // sqlite3.c:129215:3: + *(*func(*libc.TLS, int32))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1120)) = Xsqlite3_soft_heap_limit // sqlite3.c:129216:3: + *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1128)) = Xsqlite3_vfs_find // sqlite3.c:129217:3: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1136)) = Xsqlite3_vfs_register // sqlite3.c:129218:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1144)) = Xsqlite3_vfs_unregister // sqlite3.c:129219:3: + *(*func(*libc.TLS) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1152)) = Xsqlite3_threadsafe // sqlite3.c:129224:3: + *(*func(*libc.TLS, uintptr, int32))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1160)) = Xsqlite3_result_zeroblob // sqlite3.c:129225:3: + *(*func(*libc.TLS, uintptr, int32))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1168)) = Xsqlite3_result_error_code // sqlite3.c:129226:3: + *(*func(*libc.TLS, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1176)) = Xsqlite3_test_control // sqlite3.c:129227:3: + *(*func(*libc.TLS, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1184)) = Xsqlite3_randomness // sqlite3.c:129228:3: + *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1192)) = Xsqlite3_context_db_handle // sqlite3.c:129229:3: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1200)) = Xsqlite3_extended_result_codes // sqlite3.c:129234:3: + *(*func(*libc.TLS, uintptr, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1208)) = Xsqlite3_limit // sqlite3.c:129235:3: + *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1216)) = Xsqlite3_next_stmt // sqlite3.c:129236:3: + *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1224)) = Xsqlite3_sql // sqlite3.c:129237:3: + *(*func(*libc.TLS, int32, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1232)) = Xsqlite3_status // sqlite3.c:129238:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1240)) = Xsqlite3_backup_finish // sqlite3.c:129243:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1248)) = Xsqlite3_backup_init // sqlite3.c:129244:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1256)) = Xsqlite3_backup_pagecount // sqlite3.c:129245:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1264)) = Xsqlite3_backup_remaining // sqlite3.c:129246:3: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1272)) = Xsqlite3_backup_step // sqlite3.c:129247:3: + *(*func(*libc.TLS, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1280)) = Xsqlite3_compileoption_get // sqlite3.c:129249:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1288)) = Xsqlite3_compileoption_used // sqlite3.c:129250:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, int32, uintptr, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1296)) = Xsqlite3_create_function_v2 // sqlite3.c:129255:3: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1304)) = Xsqlite3_db_config // sqlite3.c:129256:3: + *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1312)) = Xsqlite3_db_mutex // sqlite3.c:129257:3: + *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1320)) = Xsqlite3_db_status // sqlite3.c:129258:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1328)) = Xsqlite3_extended_errcode // sqlite3.c:129259:3: + *(*func(*libc.TLS, int32, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1336)) = Xsqlite3_log // sqlite3.c:129260:3: + *(*func(*libc.TLS, Sqlite3_int64) Sqlite3_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1344)) = Xsqlite3_soft_heap_limit64 // sqlite3.c:129261:3: + *(*func(*libc.TLS) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1352)) = Xsqlite3_sourceid // sqlite3.c:129262:3: + *(*func(*libc.TLS, uintptr, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1360)) = Xsqlite3_stmt_status // sqlite3.c:129263:3: + *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1368)) = Xsqlite3_strnicmp // sqlite3.c:129264:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1376)) = Xsqlite3_unlock_notify // sqlite3.c:129266:3: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1384)) = Xsqlite3_wal_autocheckpoint // sqlite3.c:129271:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1392)) = Xsqlite3_wal_checkpoint // sqlite3.c:129272:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1400)) = Xsqlite3_wal_hook // sqlite3.c:129273:3: + *(*func(*libc.TLS, uintptr, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1408)) = Xsqlite3_blob_reopen // sqlite3.c:129279:3: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1416)) = Xsqlite3_vtab_config // sqlite3.c:129280:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1424)) = Xsqlite3_vtab_on_conflict // sqlite3.c:129281:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1432)) = Xsqlite3_close_v2 // sqlite3.c:129282:3: + *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1440)) = Xsqlite3_db_filename // sqlite3.c:129283:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1448)) = Xsqlite3_db_readonly // sqlite3.c:129284:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1456)) = Xsqlite3_db_release_memory // sqlite3.c:129285:3: + *(*func(*libc.TLS, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1464)) = Xsqlite3_errstr // sqlite3.c:129286:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1472)) = Xsqlite3_stmt_busy // sqlite3.c:129287:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1480)) = Xsqlite3_stmt_readonly // sqlite3.c:129288:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1488)) = Xsqlite3_stricmp // sqlite3.c:129289:3: + *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1496)) = Xsqlite3_uri_boolean // sqlite3.c:129290:3: + *(*func(*libc.TLS, uintptr, uintptr, Sqlite3_int64) Sqlite3_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1504)) = Xsqlite3_uri_int64 // sqlite3.c:129291:3: + *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1512)) = Xsqlite3_uri_parameter // sqlite3.c:129292:3: + *(*func(*libc.TLS, int32, uintptr, uintptr, Va_list) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1520)) = Xsqlite3_vsnprintf // sqlite3.c:129293:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1528)) = Xsqlite3_wal_checkpoint_v2 // sqlite3.c:129294:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1536)) = Xsqlite3_auto_extension // sqlite3.c:129296:3: + *(*func(*libc.TLS, uintptr, int32, uintptr, Sqlite3_uint64, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1544)) = Xsqlite3_bind_blob64 // sqlite3.c:129297:3: + *(*func(*libc.TLS, uintptr, int32, uintptr, Sqlite3_uint64, uintptr, uint8) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1552)) = Xsqlite3_bind_text64 // sqlite3.c:129298:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1560)) = Xsqlite3_cancel_auto_extension // sqlite3.c:129299:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1568)) = Xsqlite3_load_extension // sqlite3.c:129300:3: + *(*func(*libc.TLS, Sqlite3_uint64) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1576)) = Xsqlite3_malloc64 // sqlite3.c:129301:3: + *(*func(*libc.TLS, uintptr) Sqlite3_uint64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1584)) = Xsqlite3_msize // sqlite3.c:129302:3: + *(*func(*libc.TLS, uintptr, Sqlite3_uint64) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1592)) = Xsqlite3_realloc64 // sqlite3.c:129303:3: + *(*func(*libc.TLS))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1600)) = Xsqlite3_reset_auto_extension // sqlite3.c:129304:3: + *(*func(*libc.TLS, uintptr, uintptr, Sqlite3_uint64, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1608)) = Xsqlite3_result_blob64 // sqlite3.c:129305:3: + *(*func(*libc.TLS, uintptr, uintptr, Sqlite3_uint64, uintptr, uint8))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1616)) = Xsqlite3_result_text64 // sqlite3.c:129306:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1624)) = Xsqlite3_strglob // sqlite3.c:129307:3: *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1632 /* .value_dup */)) = *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr) uintptr - }{Xsqlite3_value_dup})) // sqlite3.c:129296:3: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1640)) = Xsqlite3_value_free // sqlite3.c:129297:3: - *(*func(*libc.TLS, uintptr, U64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1648)) = Xsqlite3_result_zeroblob64 // sqlite3.c:129298:3: - *(*func(*libc.TLS, uintptr, int32, Sqlite3_uint64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1656)) = Xsqlite3_bind_zeroblob64 // sqlite3.c:129299:3: - *(*func(*libc.TLS, uintptr) uint32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1664)) = Xsqlite3_value_subtype // sqlite3.c:129301:3: - *(*func(*libc.TLS, uintptr, uint32))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1672)) = Xsqlite3_result_subtype // sqlite3.c:129302:3: - *(*func(*libc.TLS, int32, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1680)) = Xsqlite3_status64 // sqlite3.c:129304:3: - *(*func(*libc.TLS, uintptr, uintptr, uint32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1688)) = Xsqlite3_strlike // sqlite3.c:129305:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1696)) = Xsqlite3_db_cacheflush // sqlite3.c:129306:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1704)) = Xsqlite3_system_errno // sqlite3.c:129308:3: - *(*func(*libc.TLS, uintptr, uint32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1712)) = Xsqlite3_trace_v2 // sqlite3.c:129310:3: - *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1720)) = Xsqlite3_expanded_sql // sqlite3.c:129311:3: - *(*func(*libc.TLS, uintptr, Sqlite3_int64))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1728)) = Xsqlite3_set_last_insert_rowid // sqlite3.c:129313:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uint32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1736)) = Xsqlite3_prepare_v3 // sqlite3.c:129315:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uint32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1744)) = Xsqlite3_prepare16_v3 // sqlite3.c:129316:3: - *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1752)) = Xsqlite3_bind_pointer // sqlite3.c:129317:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1760)) = Xsqlite3_result_pointer // sqlite3.c:129318:3: - *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1768)) = Xsqlite3_value_pointer // sqlite3.c:129319:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1776)) = Xsqlite3_vtab_nochange // sqlite3.c:129321:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1784)) = Xsqlite3_value_nochange // sqlite3.c:129322:3: - *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1792)) = Xsqlite3_vtab_collation // sqlite3.c:129323:3: - *(*func(*libc.TLS) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1800)) = Xsqlite3_keyword_count // sqlite3.c:129325:3: - *(*func(*libc.TLS, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1808)) = Xsqlite3_keyword_name // sqlite3.c:129326:3: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1816)) = Xsqlite3_keyword_check // sqlite3.c:129327:3: - *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1824)) = Xsqlite3_str_new // sqlite3.c:129328:3: - *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1832)) = Xsqlite3_str_finish // sqlite3.c:129329:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1840)) = Xsqlite3_str_appendf // sqlite3.c:129330:3: - *(*func(*libc.TLS, uintptr, uintptr, Va_list))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1848)) = Xsqlite3_str_vappendf // sqlite3.c:129331:3: - *(*func(*libc.TLS, uintptr, uintptr, int32))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1856)) = Xsqlite3_str_append // sqlite3.c:129332:3: - *(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1864)) = Xsqlite3_str_appendall // sqlite3.c:129333:3: - *(*func(*libc.TLS, uintptr, int32, uint8))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1872)) = Xsqlite3_str_appendchar // sqlite3.c:129334:3: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1880)) = Xsqlite3_str_reset // sqlite3.c:129335:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1888)) = Xsqlite3_str_errcode // sqlite3.c:129336:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1896)) = Xsqlite3_str_length // sqlite3.c:129337:3: - *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1904)) = Xsqlite3_str_value // sqlite3.c:129338:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, int32, uintptr, uintptr, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1912)) = Xsqlite3_create_window_function // sqlite3.c:129340:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1928)) = Xsqlite3_stmt_isexplain // sqlite3.c:129348:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1936)) = Xsqlite3_value_frombind // sqlite3.c:129349:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1944)) = Xsqlite3_drop_modules // sqlite3.c:129352:3: - *(*func(*libc.TLS, Sqlite3_int64) Sqlite3_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1952)) = Xsqlite3_hard_heap_limit64 // sqlite3.c:129357:3: - *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1960)) = Xsqlite3_uri_key // sqlite3.c:129358:3: - *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1968)) = Xsqlite3_filename_database // sqlite3.c:129359:3: - *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1976)) = Xsqlite3_filename_journal // sqlite3.c:129360:3: - *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1984)) = Xsqlite3_filename_wal // sqlite3.c:129361:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1992)) = Xsqlite3_create_filename // sqlite3.c:129363:3: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 2000)) = Xsqlite3_free_filename // sqlite3.c:129364:3: - *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 2008)) = Xsqlite3_database_file_object // sqlite3.c:129365:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 2016)) = Xsqlite3_txn_state // sqlite3.c:129367:3: - *(*func(*libc.TLS, uintptr) Sqlite3_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 2024)) = Xsqlite3_changes64 // sqlite3.c:129369:3: - *(*func(*libc.TLS, uintptr) Sqlite3_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 2032)) = Xsqlite3_total_changes64 // sqlite3.c:129370:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 2040)) = Xsqlite3_autovacuum_pages // sqlite3.c:129372:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 2048)) = Xsqlite3_error_offset // sqlite3.c:129374:3: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 2056)) = Xsqlite3_vtab_rhs_value // sqlite3.c:129375:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 2064)) = Xsqlite3_vtab_distinct // sqlite3.c:129376:3: - *(*func(*libc.TLS, uintptr, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 2072)) = Xsqlite3_vtab_in // sqlite3.c:129377:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 2080)) = Xsqlite3_vtab_in_first // sqlite3.c:129378:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 2088)) = Xsqlite3_vtab_in_next // sqlite3.c:129379:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3BuiltinExtensions)) + 0)) = Xsqlite3Fts5Init // sqlite3.c:168488:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3BuiltinExtensions)) + 8)) = Xsqlite3RtreeInit // sqlite3.c:168494:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3BuiltinExtensions)) + 16)) = sqlite3TestExtInit // sqlite3.c:168502:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3BuiltinExtensions)) + 24)) = Xsqlite3JsonTableFunctions // sqlite3.c:168504:3: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&statGetFuncdef)) + 24)) = statGet // sqlite3.c:111993:3: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&statInitFuncdef)) + 24)) = statInit // sqlite3.c:111569:3: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&statPushFuncdef)) + 24)) = statPush // sqlite3.c:111859:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 40)) = rbuVfsOpen // sqlite3.c:208888:5: - *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 48)) = rbuVfsDelete // sqlite3.c:208889:5: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 56)) = rbuVfsAccess // sqlite3.c:208890:5: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 64)) = rbuVfsFullPathname // sqlite3.c:208891:5: - *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 72)) = rbuVfsDlOpen // sqlite3.c:208894:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 80)) = rbuVfsDlError // sqlite3.c:208895:5: - *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 88)) = rbuVfsDlSym // sqlite3.c:208896:5: - *(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 96)) = rbuVfsDlClose // sqlite3.c:208897:5: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 104)) = rbuVfsRandomness // sqlite3.c:208902:5: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 112)) = rbuVfsSleep // sqlite3.c:208903:5: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 120)) = rbuVfsCurrentTime // sqlite3.c:208904:5: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 128)) = rbuVfsGetLastError // sqlite3.c:208905:5: -} - -var ts1 = "3.38.1\x00ATOMIC_INTRINSICS=1\x00COMPILER=gcc-10.2.1 20210110\x00DEFAULT_AUTOVACUUM\x00DEFAULT_CACHE_SIZE=-2000\x00DEFAULT_FILE_FORMAT=4\x00DEFAULT_JOURNAL_SIZE_LIMIT=-1\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\x00ENABLE_COLUMN_METADATA\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=127\x00MAX_LENGTH=1000000000\x00MAX_LIKE_PATTERN_LENGTH=50000\x00MAX_MMAP_SIZE=0x7fff0000\x00MAX_PAGE_COUNT=1073741823\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\x00BINARY\x00ANY\x00BLOB\x00INT\x00INTEGER\x00REAL\x00TEXT\x0020b:20e\x0020c:20e\x0020e\x0040f-21a-21d\x00now\x00local time unavailable\x00second\x00minute\x00hour\x00\x00\x00day\x00\x00\x00\x00month\x00\x00year\x00\x00\x00auto\x00julianday\x00localtime\x00unixepoch\x00utc\x00weekday \x00start of \x00month\x00year\x00day\x00%02d\x00%06.3f\x00%03d\x00%.16g\x00%lld\x00%04d\x00date\x00time\x00datetime\x00strftime\x00current_time\x00current_timestamp\x00current_date\x00failed to allocate %u bytes of memory\x00failed memory resize %u to %u bytes\x00out of memory\x000123456789ABCDEF0123456789abcdef\x00-x0\x00X0\x00%\x00NaN\x00Inf\x00\x00NULL\x00(NULL)\x00.\x00SUBQUERY %u\x00thstndrd\x00922337203685477580\x00API call with %s database connection pointer\x00unopened\x00invalid\x00Savepoint\x00AutoCommit\x00Transaction\x00SorterNext\x00Prev\x00Next\x00Checkpoint\x00JournalMode\x00Vacuum\x00VFilter\x00VUpdate\x00Goto\x00Gosub\x00InitCoroutine\x00Yield\x00MustBeInt\x00Jump\x00Once\x00If\x00Not\x00IfNot\x00IsNullOrType\x00IfNullRow\x00SeekLT\x00SeekLE\x00SeekGE\x00SeekGT\x00IfNotOpen\x00IfNoHope\x00NoConflict\x00NotFound\x00Found\x00SeekRowid\x00NotExists\x00Last\x00IfSmaller\x00SorterSort\x00Sort\x00Rewind\x00IdxLE\x00IdxGT\x00IdxLT\x00IdxGE\x00Or\x00And\x00RowSetRead\x00RowSetTest\x00Program\x00FkIfZero\x00IfPos\x00IsNull\x00NotNull\x00Ne\x00Eq\x00Gt\x00Le\x00Lt\x00Ge\x00ElseEq\x00IfNotZero\x00DecrJumpZero\x00IncrVacuum\x00VNext\x00Filter\x00Init\x00PureFunc\x00Function\x00Return\x00EndCoroutine\x00HaltIfNull\x00Halt\x00Integer\x00Int64\x00String\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\x00VInitIn\x00VColumn\x00VRename\x00Pagecount\x00MaxPgcnt\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\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\x00SQLite format 3\x00:memory:\x00@ \x00\n\x00invalid page number %d\x002nd reference to page %d\x00Failed to read ptrmap key=%d\x00Bad ptr map entry key=%d expected=(%d,%d) got=(%d,%d)\x00failed to get page %d\x00freelist leaf count too big on page %d\x00%s is %d but should be %d\x00size\x00overflow list length\x00Page %u: \x00unable to get the page. error code=%d\x00btreeInitPage() returns error code %d\x00free space corruption\x00On tree page %u cell %d: \x00On page %u at right child: \x00Offset %d out of range %d..%d\x00Extends off end of page\x00Rowid %lld out of order\x00Child page depth differs\x00Multiple uses for byte %u of page %u\x00Fragmentation of %d bytes reported as %d on page %u\x00Main freelist: \x00max rootpage (%d) disagrees with header (%d)\x00incremental_vacuum enabled with a max rootpage of zero\x00Page %d is never used\x00Pointer map page %d is referenced\x00unknown database %s\x00destination database is in use\x00source and destination must be distinct\x00%!.15g\x00-\x00%s%s\x00k(%d\x00B\x00,%s%s%s\x00N.\x00)\x00%.18s-%s\x00%s(%d)\x00%d\x00(blob)\x00vtab:%p\x00%c%u\x00]\x00program\x00?\x008\x0016LE\x0016BE\x00addr\x00opcode\x00p1\x00p2\x00p3\x00p4\x00p5\x00comment\x00id\x00parent\x00notused\x00detail\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\x00ValueList\x00bind on a busy prepared statement: [%s]\x00-- \x00'%.*q'\x00zeroblob(%d)\x00x'\x00%02x\x00'\x00%s constraint failed\x00%z: %s\x00abort at %d in [%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\x00cannot change %s wal mode from within a transaction\x00into\x00out of\x00database table is locked: %s\x00-- %s\x00statement aborts at %d: [%s] %s\x00NOT NULL\x00UNIQUE\x00CHECK\x00FOREIGN KEY\x00cannot open value of type %s\x00null\x00real\x00integer\x00no such rowid: %lld\x00cannot open virtual table: %s\x00cannot open table without rowid: %s\x00cannot open view: %s\x00no such column: \"%s\"\x00foreign key\x00indexed\x00cannot open %s column for writing\x00main\x00*\x00new\x00old\x00excluded\x00misuse of aliased aggregate %s\x00misuse of aliased window function %s\x00row value misused\x00double-quoted string literal: \"%w\"\x00no such column\x00ambiguous column name\x00%s: %s.%s.%s\x00%s: %s.%s\x00%s: %s\x00partial index WHERE clauses\x00index expressions\x00CHECK constraints\x00generated columns\x00%s prohibited in %s\x00true\x00false\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\x00a GROUP BY clause is required before HAVING\x00GROUP\x00aggregate functions are not allowed in the GROUP BY clause\x00Expression tree is too large (maximum depth %d)\x00IN(...) element has %d term%s - expected %d\x00s\x000\x00too many arguments on function %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\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\x00%sLIST SUBQUERY %d\x00CORRELATED \x00REUSE SUBQUERY %d\x00%sSCALAR SUBQUERY %d\x001\x000x\x00hex literal too big: %s%#T\x00generated column loop on \"%s\"\x00blob\x00text\x00numeric\x00none\x00misuse of aggregate: %#T()\x00unknown function: %#T()\x00RAISE() may only be used within a trigger-program\x00B\x00C\x00D\x00E\x00sqlite_\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') ELSE raise(ABORT,'NOT NULL constraint failed') END FROM pragma_quick_check(%Q,%Q) WHERE quick_check GLOB 'CHECK*' OR quick_check GLOB 'NULL*'\x00virtual tables may not be altered\x00Cannot add a column to a view\x00sqlite_altertab_%s\x00view\x00virtual table\x00cannot %s %s \"%s\"\x00drop column from\x00rename columns of\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')\x00error in %s %s%s%s: %s\x00 \x00CREATE \x00\"%w\" \x00%Q%s\x00%.*s%s\x00cannot drop %s column: \"%s\"\x00PRIMARY KEY\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\x00CREATE TABLE %Q.%s(%s)\x00DELETE FROM %Q.%s WHERE %s=%Q\x00DELETE FROM %Q.%s\x00sqlite_stat1\x00tbl,idx,stat\x00sqlite_stat4\x00tbl,idx,neq,nlt,ndlt,sample\x00sqlite_stat3\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\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\x00sqlite_temp_schema\x00sqlite_schema\x00sqlite_temp_master\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\x00sqlite_returning\x00cannot use RETURNING in a trigger\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'\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\x00unsupported use of NULLS %s\x00FIRST\x00LAST\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\x00CREATE%s INDEX %.*s\x00 UNIQUE\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\x00a JOIN clause is required before %s\x00ON\x00USING\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\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%!.20e\x00%Q\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\x00instr\x00printf\x00format\x00unicode\x00char\x00abs\x00round\x00upper\x00lower\x00hex\x00ifnull\x00random\x00randomblob\x00nullif\x00sqlite_version\x00sqlite_source_id\x00sqlite_log\x00quote\x00last_insert_rowid\x00changes\x00total_changes\x00replace\x00zeroblob\x00substr\x00substring\x00sum\x00total\x00avg\x00count\x00group_concat\x00glob\x00coalesce\x00ceil\x00ceiling\x00floor\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\x00foreign key mismatch - \"%w\" referencing \"%w\"\x00cannot INSERT into generated column \"%s\"\x00table %S has no column named %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\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]\x00so\x00automatic extension loading failed: %s\x00seq\x00from\x00to\x00on_update\x00on_delete\x00match\x00cid\x00name\x00type\x00notnull\x00dflt_value\x00pk\x00hidden\x00schema\x00ncol\x00wr\x00strict\x00seqno\x00desc\x00coll\x00key\x00builtin\x00enc\x00narg\x00flags\x00wdth\x00hght\x00flgs\x00unique\x00origin\x00partial\x00rowid\x00fkid\x00file\x00busy\x00checkpointed\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\x00onoffalseyestruextrafull\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\x00w\x00a\x00sissii\x00utf8\x00utf16le\x00utf16be\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\x00NULL value in %s.%s\x00non-%s value in %s.%s\x00CHECK constraint failed in %s\x00row \x00 missing from index \x00non-unique entry in index \x00wrong # of entries in index \x00ok\x00unsupported encoding: %s\x00restart\x00ANALYZE \"%w\".\"%w\"\x00UTF8\x00UTF-8\x00UTF-16le\x00UTF-16be\x00UTF16le\x00UTF16be\x00UTF-16\x00UTF16\x00CREATE TABLE x\x00%c\"%s\"\x00(\"%s\"\x00,arg HIDDEN\x00,schema HIDDEN\x00PRAGMA \x00%Q.\x00=%Q\x00error in %s %s after %s: %s\x00malformed database schema (%s)\x00%z - %s\x00rename\x00drop column\x00add column\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 or unsupported join type: %T %T%s%T\x00RIGHT and FULL OUTER JOINs are not currently supported\x00naturaleftouterightfullinnercross\x00a NATURAL join may not have an ON or USING clause\x00cannot have both ON and USING clauses in the same join\x00cannot join using column %s - column not present in both tables\x00UNION ALL\x00INTERSECT\x00EXCEPT\x00UNION\x00USE TEMP B-TREE FOR %s\x00column%d\x00%.*z:%u\x00cannot use window functions in recursive queries\x00recursive aggregate queries not supported\x00SETUP\x00RECURSIVE STEP\x00SCAN %d CONSTANT ROW%s\x00S\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\x00subquery_%u\x00too many references to \"%s\": max 65535\x00access to view \"%s\" prohibited\x00unsafe use of virtual table \"%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)\x00SCAN %s%s%s\x00 USING COVERING INDEX \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\x00RIGHT PART OF ORDER BY\x00ORDER 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\x00trigger %T already exists\x00cannot create trigger on system table\x00cannot create %s trigger on view: %S\x00BEFORE\x00AFTER\x00cannot create INSTEAD OF trigger on 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'\x00%s RETURNING is not available on virtual tables\x00DELETE\x00UPDATE\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\x00ATTACH %Q AS vacuum_db\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 vacuum_db.'||quote(name)||' SELECT*FROM\"%w\".'||quote(name)FROM vacuum_db.sqlite_schema WHERE type='table'AND coalesce(rootpage,1)>0\x00INSERT INTO vacuum_db.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\x00\x00 AND \x00(\x00 (\x00%s=?\x00ANY(%s)\x00>\x00<\x00%s %S\x00SEARCH\x00SCAN\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 %d:%s\x00BLOOM FILTER ON %S (\x00rowid=?\x00MULTI-INDEX OR\x00INDEX %d\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\x00second argument to nth_value must be a positive integer\x00argument of ntile must be a positive integer\x00row_number\x00dense_rank\x00rank\x00percent_rank\x00cume_dist\x00ntile\x00last_value\x00nth_value\x00first_value\x00lead\x00lag\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\x00%s clause should come after %s not before\x00LIMIT\x00too many terms in compound SELECT\x00syntax error after column name \"%.*s\"\x00parser stack overflow\x00unknown table option: %.*s\x00set list\x00near \"%T\": syntax error\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\x00unknown error\x00abort due to ROLLBACK\x00another row available\x00no more rows available\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\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\x00mode\x00no such %s mode: %s\x00%s mode not allowed: %s\x00no such vfs: %s\x00shared\x00private\x00ro\x00rw\x00rwc\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\x000123456789abcdef\x00JSON cannot hold BLOB values\x00malformed JSON\x00[0]\x00JSON path error near '%q'\x00json_%s() needs an odd number of arguments\x00$[\x00$.\x00json_object() requires an even number of arguments\x00json_object() labels must be TEXT\x00set\x00insert\x00[]\x00{}\x00CREATE TABLE x(key,value,type,atom,id,parent,fullkey,path,json HIDDEN,root HIDDEN)\x00[%d]\x00.%.*s\x00$\x00json\x00json_array\x00json_array_length\x00json_extract\x00->\x00->>\x00json_insert\x00json_object\x00json_patch\x00json_quote\x00json_remove\x00json_replace\x00json_set\x00json_type\x00json_valid\x00json_group_array\x00json_group_object\x00json_each\x00json_tree\x00%s_node\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\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\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\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\x00CREATE TABLE x(%.*s INT\x00,%.*s\x00);\x00,%.*s REAL\x00,%.*s INT\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\x00Mapping (%lld -> %lld) missing from %s table\x00%_rowid\x00%_parent\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\x00END\x00wrong number of arguments to function rtreecheck()\x00[\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\x00geopoly_area\x00geopoly_blob\x00geopoly_json\x00geopoly_svg\x00geopoly_contains_point\x00geopoly_debug\x00geopoly_bbox\x00geopoly_xform\x00geopoly_regular\x00geopoly_ccw\x00geopoly_group_bbox\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;\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\x00AND rootpage!=0 AND rootpage IS NOT NULL\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\x00table %q %s rbu_rowid column\x00may not have\x00requires\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%z%s\"%w\" %s %sCOLLATE %Q%s\x00 NOT NULL\x00%z, %z\x00CREATE TABLE \"rbu_imp_%w\"(%z)%s\x00 WITHOUT ROWID\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\x00SELECT %s, 0 AS rbu_control FROM '%q' %s %s %s ORDER BY %s%s\x00AND\x00WHERE\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_\x00INSERT INTO \"%s%w\"(%s%s) VALUES(%s)\x00, _rowid_\x00DELETE FROM \"%s%w\" WHERE %s\x00, rbu_rowid\x00CREATE TABLE IF NOT EXISTS %s.'rbu_tmp_%q' AS SELECT *%s FROM '%q' WHERE 0;\x00, 0 AS rbu_rowid\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\x00SELECT %s,%s rbu_control%s FROM '%q'%s %s %s %s\x000 AS \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\x00file:%s-vactmp?rbu_memory=1%s%s\x00&\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, %d), (%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\x00database modified during rbu %s\x00vacuum\x00update\x00BEGIN IMMEDIATE\x00PRAGMA journal_mode=off\x00-vactmp\x00DELETE FROM stat.rbu_state\x00rbu/zipvfs setup error\x00rbu(%s)/%z\x00rbu_memory\x00SELECT 0, 'tbl', '', 0, '', 1 UNION ALL SELECT 1, 'idx', '', 0, '', 2 UNION ALL SELECT 2, 'stat', '', 0, '', 0\x00PRAGMA '%q'.table_info('%q')\x00%z%s\"%w\".\"%w\".\"%w\"=\"%w\".\"%w\".\"%w\"\x00%z%s\"%w\".\"%w\".\"%w\" IS NOT \"%w\".\"%w\".\"%w\"\x00 OR \x00SELECT * FROM \"%w\".\"%w\" WHERE NOT EXISTS ( SELECT 1 FROM \"%w\".\"%w\" WHERE %s)\x00SELECT * FROM \"%w\".\"%w\", \"%w\".\"%w\" WHERE %s AND (%z)\x00table schemas do not match\x00SELECT tbl, ?2, stat FROM %Q.sqlite_stat1 WHERE tbl IS ?1 AND idx IS (CASE WHEN ?2=X'' THEN NULL ELSE ?2 END)\x00SELECT * FROM \x00 WHERE \x00 IS ?\x00SAVEPOINT changeset\x00RELEASE changeset\x00UPDATE main.\x00 SET \x00 = ?\x00idx IS CASE WHEN length(?4)=0 AND typeof(?4)='blob' THEN NULL ELSE ?4 END \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()\x00snippet\x00highlight\x00bm25\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\x00content_rowid\x00multiple content_rowid=... directives\x00columnsize\x00malformed columnsize=... directive\x00columns\x00malformed detail=... directive\x00unrecognized option: \"%.*s\"\x00reserved fts5 column name: %s\x00unindexed\x00unrecognized column option: %s\x00T.%Q\x00, T.%Q\x00, T.c%d\x00reserved fts5 table name: %s\x00parse error in \"%s\"\x00docsize\x00%Q.'%q_%s'\x00CREATE TABLE x(\x00%z%s%Q\x00%z, %Q HIDDEN, %s HIDDEN)\x00pgsz\x00hashsize\x00automerge\x00usermerge\x00crisismerge\x00SELECT k, v FROM %Q.'%q_config'\x00version\x00invalid fts5 file format (found %d, expected %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)\x00fts5: %s queries are not supported (detail!=full)\x00phrase\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=?\x00PRAGMA %Q.data_version\x00SELECT pgno FROM '%q'.'%q_idx' WHERE segid=? AND term<=? ORDER BY term DESC LIMIT 1\x00INSERT INTO '%q'.'%q_idx'(segid,term,pgno) VALUES(?,?,?)\x00%s_data\x00id INTEGER PRIMARY KEY, block BLOB\x00segid, term, pgno, PRIMARY KEY(segid, term)\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\x00SELECT rowid, rank FROM %Q.%Q ORDER BY %s(\"%w\"%s%s) %s\x00DESC\x00ASC\x00reads\x00unknown special query: %.*s\x00SELECT %s\x00no such function: %s\x00parse error in rank function: %s\x00%s: table does not support scanning\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\x00cannot %s contentless fts5 table: %s\x00DELETE from\x00no such cursor: %lld\x00no such tokenizer: %s\x00error in tokenizer constructor\x00fts5_api_ptr\x00fts5: 2022-03-12 13:37:29 38c210fdd258658321c85ec9c01a072fda3ada94540e3239d29b34dc547a8cbc\x00config\x00fts5\x00fts5_source_id\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(?,?)\x00DELETE FROM %Q.'%q_docsize' WHERE id=?\x00SELECT sz FROM %Q.'%q_docsize' WHERE id=?\x00REPLACE INTO %Q.'%q_config' VALUES(?,?)\x00SELECT %s FROM %s AS T\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\x00id INTEGER PRIMARY KEY, sz BLOB\x00k PRIMARY KEY, v\x00DELETE FROM %Q.'%q_data';DELETE FROM %Q.'%q_idx';\x00DELETE FROM %Q.'%q_docsize';\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\x00ascii\x00porter\x00trigram\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\x002022-03-12 13:37:29 38c210fdd258658321c85ec9c01a072fda3ada94540e3239d29b34dc547a8cbc\x00" + }{Xsqlite3_value_dup})) // sqlite3.c:129309:3: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1640)) = Xsqlite3_value_free // sqlite3.c:129310:3: + *(*func(*libc.TLS, uintptr, U64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1648)) = Xsqlite3_result_zeroblob64 // sqlite3.c:129311:3: + *(*func(*libc.TLS, uintptr, int32, Sqlite3_uint64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1656)) = Xsqlite3_bind_zeroblob64 // sqlite3.c:129312:3: + *(*func(*libc.TLS, uintptr) uint32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1664)) = Xsqlite3_value_subtype // sqlite3.c:129314:3: + *(*func(*libc.TLS, uintptr, uint32))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1672)) = Xsqlite3_result_subtype // sqlite3.c:129315:3: + *(*func(*libc.TLS, int32, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1680)) = Xsqlite3_status64 // sqlite3.c:129317:3: + *(*func(*libc.TLS, uintptr, uintptr, uint32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1688)) = Xsqlite3_strlike // sqlite3.c:129318:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1696)) = Xsqlite3_db_cacheflush // sqlite3.c:129319:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1704)) = Xsqlite3_system_errno // sqlite3.c:129321:3: + *(*func(*libc.TLS, uintptr, uint32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1712)) = Xsqlite3_trace_v2 // sqlite3.c:129323:3: + *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1720)) = Xsqlite3_expanded_sql // sqlite3.c:129324:3: + *(*func(*libc.TLS, uintptr, Sqlite3_int64))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1728)) = Xsqlite3_set_last_insert_rowid // sqlite3.c:129326:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uint32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1736)) = Xsqlite3_prepare_v3 // sqlite3.c:129328:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uint32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1744)) = Xsqlite3_prepare16_v3 // sqlite3.c:129329:3: + *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1752)) = Xsqlite3_bind_pointer // sqlite3.c:129330:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1760)) = Xsqlite3_result_pointer // sqlite3.c:129331:3: + *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1768)) = Xsqlite3_value_pointer // sqlite3.c:129332:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1776)) = Xsqlite3_vtab_nochange // sqlite3.c:129334:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1784)) = Xsqlite3_value_nochange // sqlite3.c:129335:3: + *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1792)) = Xsqlite3_vtab_collation // sqlite3.c:129336:3: + *(*func(*libc.TLS) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1800)) = Xsqlite3_keyword_count // sqlite3.c:129338:3: + *(*func(*libc.TLS, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1808)) = Xsqlite3_keyword_name // sqlite3.c:129339:3: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1816)) = Xsqlite3_keyword_check // sqlite3.c:129340:3: + *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1824)) = Xsqlite3_str_new // sqlite3.c:129341:3: + *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1832)) = Xsqlite3_str_finish // sqlite3.c:129342:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1840)) = Xsqlite3_str_appendf // sqlite3.c:129343:3: + *(*func(*libc.TLS, uintptr, uintptr, Va_list))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1848)) = Xsqlite3_str_vappendf // sqlite3.c:129344:3: + *(*func(*libc.TLS, uintptr, uintptr, int32))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1856)) = Xsqlite3_str_append // sqlite3.c:129345:3: + *(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1864)) = Xsqlite3_str_appendall // sqlite3.c:129346:3: + *(*func(*libc.TLS, uintptr, int32, uint8))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1872)) = Xsqlite3_str_appendchar // sqlite3.c:129347:3: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1880)) = Xsqlite3_str_reset // sqlite3.c:129348:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1888)) = Xsqlite3_str_errcode // sqlite3.c:129349:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1896)) = Xsqlite3_str_length // sqlite3.c:129350:3: + *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1904)) = Xsqlite3_str_value // sqlite3.c:129351:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, int32, uintptr, uintptr, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1912)) = Xsqlite3_create_window_function // sqlite3.c:129353:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1928)) = Xsqlite3_stmt_isexplain // sqlite3.c:129361:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1936)) = Xsqlite3_value_frombind // sqlite3.c:129362:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1944)) = Xsqlite3_drop_modules // sqlite3.c:129365:3: + *(*func(*libc.TLS, Sqlite3_int64) Sqlite3_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1952)) = Xsqlite3_hard_heap_limit64 // sqlite3.c:129370:3: + *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1960)) = Xsqlite3_uri_key // sqlite3.c:129371:3: + *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1968)) = Xsqlite3_filename_database // sqlite3.c:129372:3: + *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1976)) = Xsqlite3_filename_journal // sqlite3.c:129373:3: + *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1984)) = Xsqlite3_filename_wal // sqlite3.c:129374:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1992)) = Xsqlite3_create_filename // sqlite3.c:129376:3: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 2000)) = Xsqlite3_free_filename // sqlite3.c:129377:3: + *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 2008)) = Xsqlite3_database_file_object // sqlite3.c:129378:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 2016)) = Xsqlite3_txn_state // sqlite3.c:129380:3: + *(*func(*libc.TLS, uintptr) Sqlite3_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 2024)) = Xsqlite3_changes64 // sqlite3.c:129382:3: + *(*func(*libc.TLS, uintptr) Sqlite3_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 2032)) = Xsqlite3_total_changes64 // sqlite3.c:129383:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 2040)) = Xsqlite3_autovacuum_pages // sqlite3.c:129385:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 2048)) = Xsqlite3_error_offset // sqlite3.c:129387:3: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 2056)) = Xsqlite3_vtab_rhs_value // sqlite3.c:129388:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 2064)) = Xsqlite3_vtab_distinct // sqlite3.c:129389:3: + *(*func(*libc.TLS, uintptr, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 2072)) = Xsqlite3_vtab_in // sqlite3.c:129390:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 2080)) = Xsqlite3_vtab_in_first // sqlite3.c:129391:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 2088)) = Xsqlite3_vtab_in_next // sqlite3.c:129392:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3BuiltinExtensions)) + 0)) = Xsqlite3Fts5Init // sqlite3.c:168545:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3BuiltinExtensions)) + 8)) = Xsqlite3RtreeInit // sqlite3.c:168551:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3BuiltinExtensions)) + 16)) = sqlite3TestExtInit // sqlite3.c:168559:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3BuiltinExtensions)) + 24)) = Xsqlite3JsonTableFunctions // sqlite3.c:168561:3: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&statGetFuncdef)) + 24)) = statGet // sqlite3.c:112006:3: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&statInitFuncdef)) + 24)) = statInit // sqlite3.c:111582:3: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&statPushFuncdef)) + 24)) = statPush // sqlite3.c:111872:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 40)) = rbuVfsOpen // sqlite3.c:208945:5: + *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 48)) = rbuVfsDelete // sqlite3.c:208946:5: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 56)) = rbuVfsAccess // sqlite3.c:208947:5: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 64)) = rbuVfsFullPathname // sqlite3.c:208948:5: + *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 72)) = rbuVfsDlOpen // sqlite3.c:208951:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 80)) = rbuVfsDlError // sqlite3.c:208952:5: + *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 88)) = rbuVfsDlSym // sqlite3.c:208953:5: + *(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 96)) = rbuVfsDlClose // sqlite3.c:208954:5: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 104)) = rbuVfsRandomness // sqlite3.c:208959:5: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 112)) = rbuVfsSleep // sqlite3.c:208960:5: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 120)) = rbuVfsCurrentTime // sqlite3.c:208961:5: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 128)) = rbuVfsGetLastError // sqlite3.c:208962:5: +} + +var ts1 = "3.38.2\x00ATOMIC_INTRINSICS=1\x00COMPILER=gcc-10.2.1 20210110\x00DEFAULT_AUTOVACUUM\x00DEFAULT_CACHE_SIZE=-2000\x00DEFAULT_FILE_FORMAT=4\x00DEFAULT_JOURNAL_SIZE_LIMIT=-1\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\x00ENABLE_COLUMN_METADATA\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=127\x00MAX_LENGTH=1000000000\x00MAX_LIKE_PATTERN_LENGTH=50000\x00MAX_MMAP_SIZE=0x7fff0000\x00MAX_PAGE_COUNT=1073741823\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\x00BINARY\x00ANY\x00BLOB\x00INT\x00INTEGER\x00REAL\x00TEXT\x0020b:20e\x0020c:20e\x0020e\x0040f-21a-21d\x00now\x00local time unavailable\x00second\x00minute\x00hour\x00\x00\x00day\x00\x00\x00\x00month\x00\x00year\x00\x00\x00auto\x00julianday\x00localtime\x00unixepoch\x00utc\x00weekday \x00start of \x00month\x00year\x00day\x00%02d\x00%06.3f\x00%03d\x00%.16g\x00%lld\x00%04d\x00date\x00time\x00datetime\x00strftime\x00current_time\x00current_timestamp\x00current_date\x00failed to allocate %u bytes of memory\x00failed memory resize %u to %u bytes\x00out of memory\x000123456789ABCDEF0123456789abcdef\x00-x0\x00X0\x00%\x00NaN\x00Inf\x00\x00NULL\x00(NULL)\x00.\x00SUBQUERY %u\x00thstndrd\x00922337203685477580\x00API call with %s database connection pointer\x00unopened\x00invalid\x00Savepoint\x00AutoCommit\x00Transaction\x00SorterNext\x00Prev\x00Next\x00Checkpoint\x00JournalMode\x00Vacuum\x00VFilter\x00VUpdate\x00Goto\x00Gosub\x00InitCoroutine\x00Yield\x00MustBeInt\x00Jump\x00Once\x00If\x00Not\x00IfNot\x00IsNullOrType\x00IfNullRow\x00SeekLT\x00SeekLE\x00SeekGE\x00SeekGT\x00IfNotOpen\x00IfNoHope\x00NoConflict\x00NotFound\x00Found\x00SeekRowid\x00NotExists\x00Last\x00IfSmaller\x00SorterSort\x00Sort\x00Rewind\x00IdxLE\x00IdxGT\x00IdxLT\x00IdxGE\x00Or\x00And\x00RowSetRead\x00RowSetTest\x00Program\x00FkIfZero\x00IfPos\x00IsNull\x00NotNull\x00Ne\x00Eq\x00Gt\x00Le\x00Lt\x00Ge\x00ElseEq\x00IfNotZero\x00DecrJumpZero\x00IncrVacuum\x00VNext\x00Filter\x00Init\x00PureFunc\x00Function\x00Return\x00EndCoroutine\x00HaltIfNull\x00Halt\x00Integer\x00Int64\x00String\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\x00VInitIn\x00VColumn\x00VRename\x00Pagecount\x00MaxPgcnt\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\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\x00SQLite format 3\x00:memory:\x00@ \x00\n\x00invalid page number %d\x002nd reference to page %d\x00Failed to read ptrmap key=%d\x00Bad ptr map entry key=%d expected=(%d,%d) got=(%d,%d)\x00failed to get page %d\x00freelist leaf count too big on page %d\x00%s is %d but should be %d\x00size\x00overflow list length\x00Page %u: \x00unable to get the page. error code=%d\x00btreeInitPage() returns error code %d\x00free space corruption\x00On tree page %u cell %d: \x00On page %u at right child: \x00Offset %d out of range %d..%d\x00Extends off end of page\x00Rowid %lld out of order\x00Child page depth differs\x00Multiple uses for byte %u of page %u\x00Fragmentation of %d bytes reported as %d on page %u\x00Main freelist: \x00max rootpage (%d) disagrees with header (%d)\x00incremental_vacuum enabled with a max rootpage of zero\x00Page %d is never used\x00Pointer map page %d is referenced\x00unknown database %s\x00destination database is in use\x00source and destination must be distinct\x00%!.15g\x00-\x00%s%s\x00k(%d\x00B\x00,%s%s%s\x00N.\x00)\x00%.18s-%s\x00%s(%d)\x00%d\x00(blob)\x00vtab:%p\x00%c%u\x00]\x00program\x00?\x008\x0016LE\x0016BE\x00addr\x00opcode\x00p1\x00p2\x00p3\x00p4\x00p5\x00comment\x00id\x00parent\x00notused\x00detail\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\x00ValueList\x00bind on a busy prepared statement: [%s]\x00-- \x00'%.*q'\x00zeroblob(%d)\x00x'\x00%02x\x00'\x00%s constraint failed\x00%z: %s\x00abort at %d in [%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\x00cannot change %s wal mode from within a transaction\x00into\x00out of\x00database table is locked: %s\x00-- %s\x00statement aborts at %d: [%s] %s\x00NOT NULL\x00UNIQUE\x00CHECK\x00FOREIGN KEY\x00cannot open value of type %s\x00null\x00real\x00integer\x00no such rowid: %lld\x00cannot open virtual table: %s\x00cannot open table without rowid: %s\x00cannot open view: %s\x00no such column: \"%s\"\x00foreign key\x00indexed\x00cannot open %s column for writing\x00main\x00*\x00new\x00old\x00excluded\x00misuse of aliased aggregate %s\x00misuse of aliased window function %s\x00row value misused\x00double-quoted string literal: \"%w\"\x00no such column\x00ambiguous column name\x00%s: %s.%s.%s\x00%s: %s.%s\x00%s: %s\x00partial index WHERE clauses\x00index expressions\x00CHECK constraints\x00generated columns\x00%s prohibited in %s\x00true\x00false\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\x00a GROUP BY clause is required before HAVING\x00GROUP\x00aggregate functions are not allowed in the GROUP BY clause\x00Expression tree is too large (maximum depth %d)\x00IN(...) element has %d term%s - expected %d\x00s\x000\x00too many arguments on function %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\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\x00%sLIST SUBQUERY %d\x00CORRELATED \x00REUSE SUBQUERY %d\x00%sSCALAR SUBQUERY %d\x001\x000x\x00hex literal too big: %s%#T\x00generated column loop on \"%s\"\x00blob\x00text\x00numeric\x00none\x00misuse of aggregate: %#T()\x00unknown function: %#T()\x00RAISE() may only be used within a trigger-program\x00B\x00C\x00D\x00E\x00sqlite_\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') ELSE raise(ABORT,'NOT NULL constraint failed') END FROM pragma_quick_check(%Q,%Q) WHERE quick_check GLOB 'CHECK*' OR quick_check GLOB 'NULL*'\x00virtual tables may not be altered\x00Cannot add a column to a view\x00sqlite_altertab_%s\x00view\x00virtual table\x00cannot %s %s \"%s\"\x00drop column from\x00rename columns of\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')\x00error in %s %s%s%s: %s\x00 \x00CREATE \x00\"%w\" \x00%Q%s\x00%.*s%s\x00cannot drop %s column: \"%s\"\x00PRIMARY KEY\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\x00CREATE TABLE %Q.%s(%s)\x00DELETE FROM %Q.%s WHERE %s=%Q\x00DELETE FROM %Q.%s\x00sqlite_stat1\x00tbl,idx,stat\x00sqlite_stat4\x00tbl,idx,neq,nlt,ndlt,sample\x00sqlite_stat3\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\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\x00sqlite_temp_schema\x00sqlite_schema\x00sqlite_temp_master\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\x00sqlite_returning\x00cannot use RETURNING in a trigger\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'\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\x00unsupported use of NULLS %s\x00FIRST\x00LAST\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\x00CREATE%s INDEX %.*s\x00 UNIQUE\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\x00a JOIN clause is required before %s\x00ON\x00USING\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\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%!.20e\x00%Q\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\x00instr\x00printf\x00format\x00unicode\x00char\x00abs\x00round\x00upper\x00lower\x00hex\x00ifnull\x00random\x00randomblob\x00nullif\x00sqlite_version\x00sqlite_source_id\x00sqlite_log\x00quote\x00last_insert_rowid\x00changes\x00total_changes\x00replace\x00zeroblob\x00substr\x00substring\x00sum\x00total\x00avg\x00count\x00group_concat\x00glob\x00coalesce\x00ceil\x00ceiling\x00floor\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\x00foreign key mismatch - \"%w\" referencing \"%w\"\x00cannot INSERT into generated column \"%s\"\x00table %S has no column named %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\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]\x00so\x00automatic extension loading failed: %s\x00seq\x00from\x00to\x00on_update\x00on_delete\x00match\x00cid\x00name\x00type\x00notnull\x00dflt_value\x00pk\x00hidden\x00schema\x00ncol\x00wr\x00strict\x00seqno\x00desc\x00coll\x00key\x00builtin\x00enc\x00narg\x00flags\x00wdth\x00hght\x00flgs\x00unique\x00origin\x00partial\x00rowid\x00fkid\x00file\x00busy\x00checkpointed\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\x00onoffalseyestruextrafull\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\x00w\x00a\x00sissii\x00utf8\x00utf16le\x00utf16be\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\x00NULL value in %s.%s\x00non-%s value in %s.%s\x00CHECK constraint failed in %s\x00row \x00 missing from index \x00non-unique entry in index \x00wrong # of entries in index \x00ok\x00unsupported encoding: %s\x00restart\x00ANALYZE \"%w\".\"%w\"\x00UTF8\x00UTF-8\x00UTF-16le\x00UTF-16be\x00UTF16le\x00UTF16be\x00UTF-16\x00UTF16\x00CREATE TABLE x\x00%c\"%s\"\x00(\"%s\"\x00,arg HIDDEN\x00,schema HIDDEN\x00PRAGMA \x00%Q.\x00=%Q\x00error in %s %s after %s: %s\x00malformed database schema (%s)\x00%z - %s\x00rename\x00drop column\x00add column\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 or unsupported join type: %T %T%s%T\x00RIGHT and FULL OUTER JOINs are not currently supported\x00naturaleftouterightfullinnercross\x00a NATURAL join may not have an ON or USING clause\x00cannot have both ON and USING clauses in the same join\x00cannot join using column %s - column not present in both tables\x00UNION ALL\x00INTERSECT\x00EXCEPT\x00UNION\x00USE TEMP B-TREE FOR %s\x00column%d\x00%.*z:%u\x00cannot use window functions in recursive queries\x00recursive aggregate queries not supported\x00SETUP\x00RECURSIVE STEP\x00SCAN %d CONSTANT ROW%s\x00S\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\x00subquery_%u\x00too many references to \"%s\": max 65535\x00access to view \"%s\" prohibited\x00unsafe use of virtual table \"%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)\x00SCAN %s%s%s\x00 USING COVERING INDEX \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\x00RIGHT PART OF ORDER BY\x00ORDER 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\x00trigger %T already exists\x00cannot create trigger on system table\x00cannot create %s trigger on view: %S\x00BEFORE\x00AFTER\x00cannot create INSTEAD OF trigger on 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'\x00%s RETURNING is not available on virtual tables\x00DELETE\x00UPDATE\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\x00ATTACH %Q AS vacuum_db\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 vacuum_db.'||quote(name)||' SELECT*FROM\"%w\".'||quote(name)FROM vacuum_db.sqlite_schema WHERE type='table'AND coalesce(rootpage,1)>0\x00INSERT INTO vacuum_db.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\x00\x00 AND \x00(\x00 (\x00%s=?\x00ANY(%s)\x00>\x00<\x00%s %S\x00SEARCH\x00SCAN\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 %d:%s\x00BLOOM FILTER ON %S (\x00rowid=?\x00MULTI-INDEX OR\x00INDEX %d\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\x00second argument to nth_value must be a positive integer\x00argument of ntile must be a positive integer\x00row_number\x00dense_rank\x00rank\x00percent_rank\x00cume_dist\x00ntile\x00last_value\x00nth_value\x00first_value\x00lead\x00lag\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\x00%s clause should come after %s not before\x00LIMIT\x00too many terms in compound SELECT\x00syntax error after column name \"%.*s\"\x00parser stack overflow\x00unknown table option: %.*s\x00set list\x00near \"%T\": syntax error\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\x00unknown error\x00abort due to ROLLBACK\x00another row available\x00no more rows available\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\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\x00mode\x00no such %s mode: %s\x00%s mode not allowed: %s\x00no such vfs: %s\x00shared\x00private\x00ro\x00rw\x00rwc\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\x000123456789abcdef\x00JSON cannot hold BLOB values\x00malformed JSON\x00[0]\x00JSON path error near '%q'\x00json_%s() needs an odd number of arguments\x00$[\x00$.\x00json_object() requires an even number of arguments\x00json_object() labels must be TEXT\x00set\x00insert\x00[]\x00{}\x00CREATE TABLE x(key,value,type,atom,id,parent,fullkey,path,json HIDDEN,root HIDDEN)\x00[%d]\x00.%.*s\x00$\x00json\x00json_array\x00json_array_length\x00json_extract\x00->\x00->>\x00json_insert\x00json_object\x00json_patch\x00json_quote\x00json_remove\x00json_replace\x00json_set\x00json_type\x00json_valid\x00json_group_array\x00json_group_object\x00json_each\x00json_tree\x00%s_node\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\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\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\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\x00CREATE TABLE x(%.*s INT\x00,%.*s\x00);\x00,%.*s REAL\x00,%.*s INT\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\x00Mapping (%lld -> %lld) missing from %s table\x00%_rowid\x00%_parent\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\x00END\x00wrong number of arguments to function rtreecheck()\x00[\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\x00geopoly_area\x00geopoly_blob\x00geopoly_json\x00geopoly_svg\x00geopoly_contains_point\x00geopoly_debug\x00geopoly_bbox\x00geopoly_xform\x00geopoly_regular\x00geopoly_ccw\x00geopoly_group_bbox\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;\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\x00AND rootpage!=0 AND rootpage IS NOT NULL\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\x00table %q %s rbu_rowid column\x00may not have\x00requires\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%z%s\"%w\" %s %sCOLLATE %Q%s\x00 NOT NULL\x00%z, %z\x00CREATE TABLE \"rbu_imp_%w\"(%z)%s\x00 WITHOUT ROWID\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\x00SELECT %s, 0 AS rbu_control FROM '%q' %s %s %s ORDER BY %s%s\x00AND\x00WHERE\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_\x00INSERT INTO \"%s%w\"(%s%s) VALUES(%s)\x00, _rowid_\x00DELETE FROM \"%s%w\" WHERE %s\x00, rbu_rowid\x00CREATE TABLE IF NOT EXISTS %s.'rbu_tmp_%q' AS SELECT *%s FROM '%q' WHERE 0;\x00, 0 AS rbu_rowid\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\x00SELECT %s,%s rbu_control%s FROM '%q'%s %s %s %s\x000 AS \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\x00file:%s-vactmp?rbu_memory=1%s%s\x00&\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, %d), (%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\x00database modified during rbu %s\x00vacuum\x00update\x00BEGIN IMMEDIATE\x00PRAGMA journal_mode=off\x00-vactmp\x00DELETE FROM stat.rbu_state\x00rbu/zipvfs setup error\x00rbu(%s)/%z\x00rbu_memory\x00SELECT 0, 'tbl', '', 0, '', 1 UNION ALL SELECT 1, 'idx', '', 0, '', 2 UNION ALL SELECT 2, 'stat', '', 0, '', 0\x00PRAGMA '%q'.table_info('%q')\x00%z%s\"%w\".\"%w\".\"%w\"=\"%w\".\"%w\".\"%w\"\x00%z%s\"%w\".\"%w\".\"%w\" IS NOT \"%w\".\"%w\".\"%w\"\x00 OR \x00SELECT * FROM \"%w\".\"%w\" WHERE NOT EXISTS ( SELECT 1 FROM \"%w\".\"%w\" WHERE %s)\x00SELECT * FROM \"%w\".\"%w\", \"%w\".\"%w\" WHERE %s AND (%z)\x00table schemas do not match\x00SELECT tbl, ?2, stat FROM %Q.sqlite_stat1 WHERE tbl IS ?1 AND idx IS (CASE WHEN ?2=X'' THEN NULL ELSE ?2 END)\x00SELECT * FROM \x00 WHERE \x00 IS ?\x00SAVEPOINT changeset\x00RELEASE changeset\x00UPDATE main.\x00 SET \x00 = ?\x00idx IS CASE WHEN length(?4)=0 AND typeof(?4)='blob' THEN NULL ELSE ?4 END \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()\x00snippet\x00highlight\x00bm25\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\x00content_rowid\x00multiple content_rowid=... directives\x00columnsize\x00malformed columnsize=... directive\x00columns\x00malformed detail=... directive\x00unrecognized option: \"%.*s\"\x00reserved fts5 column name: %s\x00unindexed\x00unrecognized column option: %s\x00T.%Q\x00, T.%Q\x00, T.c%d\x00reserved fts5 table name: %s\x00parse error in \"%s\"\x00docsize\x00%Q.'%q_%s'\x00CREATE TABLE x(\x00%z%s%Q\x00%z, %Q HIDDEN, %s HIDDEN)\x00pgsz\x00hashsize\x00automerge\x00usermerge\x00crisismerge\x00SELECT k, v FROM %Q.'%q_config'\x00version\x00invalid fts5 file format (found %d, expected %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)\x00fts5: %s queries are not supported (detail!=full)\x00phrase\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=?\x00PRAGMA %Q.data_version\x00SELECT pgno FROM '%q'.'%q_idx' WHERE segid=? AND term<=? ORDER BY term DESC LIMIT 1\x00INSERT INTO '%q'.'%q_idx'(segid,term,pgno) VALUES(?,?,?)\x00%s_data\x00id INTEGER PRIMARY KEY, block BLOB\x00segid, term, pgno, PRIMARY KEY(segid, term)\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\x00SELECT rowid, rank FROM %Q.%Q ORDER BY %s(\"%w\"%s%s) %s\x00DESC\x00ASC\x00reads\x00unknown special query: %.*s\x00SELECT %s\x00no such function: %s\x00parse error in rank function: %s\x00%s: table does not support scanning\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\x00cannot %s contentless fts5 table: %s\x00DELETE from\x00no such cursor: %lld\x00no such tokenizer: %s\x00error in tokenizer constructor\x00fts5_api_ptr\x00fts5: 2022-03-26 13:51:10 d33c709cc0af66bc5b6dc6216eba9f1f0b40960b9ae83694c986fbf4c1d6f08f\x00config\x00fts5\x00fts5_source_id\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(?,?)\x00DELETE FROM %Q.'%q_docsize' WHERE id=?\x00SELECT sz FROM %Q.'%q_docsize' WHERE id=?\x00REPLACE INTO %Q.'%q_config' VALUES(?,?)\x00SELECT %s FROM %s AS T\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\x00id INTEGER PRIMARY KEY, sz BLOB\x00k PRIMARY KEY, v\x00DELETE FROM %Q.'%q_data';DELETE FROM %Q.'%q_idx';\x00DELETE FROM %Q.'%q_docsize';\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\x00ascii\x00porter\x00trigram\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\x002022-03-26 13:51:10 d33c709cc0af66bc5b6dc6216eba9f1f0b40960b9ae83694c986fbf4c1d6f08f\x00" var ts = (*reflect.StringHeader)(unsafe.Pointer(&ts1)).Data diff --git a/vendor/modernc.org/sqlite/lib/sqlite_openbsd_amd64.go b/vendor/modernc.org/sqlite/lib/sqlite_openbsd_amd64.go index 8c256f45..84fe5cf8 100644 --- a/vendor/modernc.org/sqlite/lib/sqlite_openbsd_amd64.go +++ b/vendor/modernc.org/sqlite/lib/sqlite_openbsd_amd64.go @@ -1,4 +1,4 @@ -// Code generated by 'ccgo -DSQLITE_PRIVATE= -export-defines "" -export-enums "" -export-externs X -export-fields F -export-typedefs "" -ignore-unsupported-alignment -pkgname sqlite3 -o lib/sqlite_openbsd_amd64.go -trace-translation-units testdata/sqlite-amalgamation-3380100/sqlite3.c -DNDEBUG -DHAVE_USLEEP -DLONGDOUBLE_TYPE=double -DSQLITE_CORE -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_GEOPOLY -DSQLITE_ENABLE_MATH_FUNCTIONS -DSQLITE_ENABLE_MEMORY_MANAGEMENT -DSQLITE_ENABLE_OFFSET_SQL_FUNC -DSQLITE_ENABLE_PREUPDATE_HOOK -DSQLITE_ENABLE_RBU -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_SESSION -DSQLITE_ENABLE_SNAPSHOT -DSQLITE_ENABLE_STAT4 -DSQLITE_ENABLE_UNLOCK_NOTIFY -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_MUTEX_APPDEF=1 -DSQLITE_MUTEX_NOOP -DSQLITE_SOUNDEX -DSQLITE_THREADSAFE=1 -DSQLITE_OS_UNIX=1', DO NOT EDIT. +// Code generated by 'ccgo -DSQLITE_PRIVATE= -export-defines "" -export-enums "" -export-externs X -export-fields F -export-typedefs "" -ignore-unsupported-alignment -pkgname sqlite3 -o lib/sqlite_openbsd_amd64.go -trace-translation-units testdata/sqlite-amalgamation-3380200/sqlite3.c -DNDEBUG -DHAVE_USLEEP -DLONGDOUBLE_TYPE=double -DSQLITE_CORE -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_GEOPOLY -DSQLITE_ENABLE_MATH_FUNCTIONS -DSQLITE_ENABLE_MEMORY_MANAGEMENT -DSQLITE_ENABLE_OFFSET_SQL_FUNC -DSQLITE_ENABLE_PREUPDATE_HOOK -DSQLITE_ENABLE_RBU -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_SESSION -DSQLITE_ENABLE_SNAPSHOT -DSQLITE_ENABLE_STAT4 -DSQLITE_ENABLE_UNLOCK_NOTIFY -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_MUTEX_APPDEF=1 -DSQLITE_MUTEX_NOOP -DSQLITE_SOUNDEX -DSQLITE_THREADSAFE=1 -DSQLITE_OS_UNIX=1', DO NOT EDIT. package sqlite3 @@ -1812,7 +1812,7 @@ const ( SQLITE_SHM_UNLOCK = 1 SQLITE_SORTER_PMASZ = 250 SQLITE_SOUNDEX = 1 - SQLITE_SOURCE_ID = "2022-03-12 13:37:29 38c210fdd258658321c85ec9c01a072fda3ada94540e3239d29b34dc547a8cbc" + SQLITE_SOURCE_ID = "2022-03-26 13:51:10 d33c709cc0af66bc5b6dc6216eba9f1f0b40960b9ae83694c986fbf4c1d6f08f" SQLITE_SO_ASC = 0 SQLITE_SO_DESC = 1 SQLITE_SO_UNDEFINED = -1 @@ -1920,8 +1920,8 @@ const ( SQLITE_UTF8 = 1 SQLITE_VDBEINT_H = 0 SQLITE_VDBE_H = 0 - SQLITE_VERSION = "3.38.1" - SQLITE_VERSION_NUMBER = 3038001 + SQLITE_VERSION = "3.38.2" + SQLITE_VERSION_NUMBER = 3038002 SQLITE_VTABRISK_High = 2 SQLITE_VTABRISK_Low = 0 SQLITE_VTABRISK_Normal = 1 @@ -2847,7 +2847,7 @@ type X__float128 = float64 /* :47:21 */ // ***************************************************************************** // // This file is an amalgamation of many separate C source files from SQLite -// version 3.38.1. By combining all the individual C code files into this +// version 3.38.2. By combining all the individual C code files into this // single large file, the entire code can be compiled as a single translation // unit. This allows many compilers to do optimizations that would not be // possible if the files were compiled separately. Performance improvements @@ -23268,12 +23268,22 @@ var pgsz int32 = 4096 /* sqlite3.c:39581:28 */ // to shared and back or from unlocked to exclusive and back. But one may // not go from shared to exclusive or from exclusive to shared. func unixShmLock(tls *libc.TLS, fd uintptr, ofst int32, n int32, flags int32) int32 { /* sqlite3.c:39687:12: */ - var pDbFd uintptr = fd // Connection holding shared memory - var p uintptr = (*UnixFile)(unsafe.Pointer(pDbFd)).FpShm // The shared memory being locked - var pShmNode uintptr = (*UnixShm)(unsafe.Pointer(p)).FpShmNode // The underlying file iNode - var rc int32 = SQLITE_OK // Result code - var mask U16 // Mask of locks to take or release - var aLock uintptr = pShmNode + 64 /* &.aLock */ + var pDbFd uintptr = fd // Connection holding shared memory + var p uintptr // The shared memory being locked + var pShmNode uintptr // The underlying file iNode + var rc int32 = SQLITE_OK // Result code + var mask U16 // Mask of locks to take or release + var aLock uintptr + + p = (*UnixFile)(unsafe.Pointer(pDbFd)).FpShm + if p == uintptr(0) { + return SQLITE_IOERR | int32(20)<<8 + } + pShmNode = (*UnixShm)(unsafe.Pointer(p)).FpShmNode + if pShmNode == uintptr(0) { + return SQLITE_IOERR | int32(20)<<8 + } + aLock = pShmNode + 64 /* &.aLock */ // Check that, if this to be a blocking lock, no locks that occur later // in the following list than the lock being obtained are already held: @@ -23374,7 +23384,7 @@ func unixShmLock(tls *libc.TLS, fd uintptr, ofst int32, n int32, flags int32) in // // All loads and stores begun before the barrier must complete before // any load or store begun after the barrier. -func unixShmBarrier(tls *libc.TLS, fd uintptr) { /* sqlite3.c:39819:13: */ +func unixShmBarrier(tls *libc.TLS, fd uintptr) { /* sqlite3.c:39825:13: */ _ = fd // compiler-defined memory barrier @@ -23387,7 +23397,7 @@ func unixShmBarrier(tls *libc.TLS, fd uintptr) { /* sqlite3.c:39819:13: */ // // If there is no shared memory associated with the connection then this // routine is a harmless no-op. -func unixShmUnmap(tls *libc.TLS, fd uintptr, deleteFlag int32) int32 { /* sqlite3.c:39838:12: */ +func unixShmUnmap(tls *libc.TLS, fd uintptr, deleteFlag int32) int32 { /* sqlite3.c:39844:12: */ var p uintptr // The connection to be closed var pShmNode uintptr // The underlying shared-memory file var pp uintptr // For looping over sibling connections @@ -23439,7 +23449,7 @@ func unixShmUnmap(tls *libc.TLS, fd uintptr, deleteFlag int32) int32 { /* sqlite // // If this function does return a pointer, the caller must eventually // release the reference by calling unixUnfetch(). -func unixFetch(tls *libc.TLS, fd uintptr, iOff I64, nAmt int32, pp uintptr) int32 { /* sqlite3.c:40049:12: */ +func unixFetch(tls *libc.TLS, fd uintptr, iOff I64, nAmt int32, pp uintptr) int32 { /* sqlite3.c:40055:12: */ *(*uintptr)(unsafe.Pointer(pp)) = uintptr(0) return SQLITE_OK @@ -23453,7 +23463,7 @@ func unixFetch(tls *libc.TLS, fd uintptr, iOff I64, nAmt int32, pp uintptr) int3 // Or, if the third argument is NULL, then this function is being called // to inform the VFS layer that, according to POSIX, any existing mapping // may now be invalid and should be unmapped. -func unixUnfetch(tls *libc.TLS, fd uintptr, iOff I64, p uintptr) int32 { /* sqlite3.c:40080:12: */ +func unixUnfetch(tls *libc.TLS, fd uintptr, iOff I64, p uintptr) int32 { /* sqlite3.c:40086:12: */ _ = fd _ = p _ = iOff @@ -23502,33 +23512,33 @@ func unixUnfetch(tls *libc.TLS, fd uintptr, iOff I64, p uintptr) int32 { /* sqli // Here are all of the sqlite3_io_methods objects for each of the // locking strategies. Functions that return pointers to these methods // are also created. -var posixIoMethods = Sqlite3_io_methods{FiVersion: 3 /* iVersion */, FxClose: 0 /* xClose */, FxRead: 0 /* xRead */, FxWrite: 0 /* xWrite */, FxTruncate: 0 /* xTruncate */, FxSync: 0 /* xSync */, FxFileSize: 0 /* xFileSize */, FxLock: 0 /* xLock */, FxUnlock: 0 /* xUnlock */, FxCheckReservedLock: 0 /* xCheckReservedLock */, FxFileControl: 0 /* xFileControl */, FxSectorSize: 0 /* xSectorSize */, FxDeviceCharacteristics: 0 /* xDeviceCapabilities */, FxShmMap: 0 /* xShmMap */, FxShmLock: 0 /* xShmLock */, FxShmBarrier: 0 /* xShmBarrier */, FxShmUnmap: 0 /* xShmUnmap */, FxFetch: 0 /* xFetch */, FxUnfetch: 0 /* xUnfetch */} /* sqlite3.c:40182:1 */ +var posixIoMethods = Sqlite3_io_methods{FiVersion: 3 /* iVersion */, FxClose: 0 /* xClose */, FxRead: 0 /* xRead */, FxWrite: 0 /* xWrite */, FxTruncate: 0 /* xTruncate */, FxSync: 0 /* xSync */, FxFileSize: 0 /* xFileSize */, FxLock: 0 /* xLock */, FxUnlock: 0 /* xUnlock */, FxCheckReservedLock: 0 /* xCheckReservedLock */, FxFileControl: 0 /* xFileControl */, FxSectorSize: 0 /* xSectorSize */, FxDeviceCharacteristics: 0 /* xDeviceCapabilities */, FxShmMap: 0 /* xShmMap */, FxShmLock: 0 /* xShmLock */, FxShmBarrier: 0 /* xShmBarrier */, FxShmUnmap: 0 /* xShmUnmap */, FxFetch: 0 /* xFetch */, FxUnfetch: 0 /* xUnfetch */} /* sqlite3.c:40188:1 */ -func posixIoFinderImpl(tls *libc.TLS, z uintptr, p uintptr) uintptr { /* sqlite3.c:40182:1: */ +func posixIoFinderImpl(tls *libc.TLS, z uintptr, p uintptr) uintptr { /* sqlite3.c:40188:1: */ _ = z _ = p return uintptr(unsafe.Pointer(&posixIoMethods)) } -var posixIoFinder uintptr = 0 /* sqlite3.c:40182:1 */ -var nolockIoMethods = Sqlite3_io_methods{FiVersion: 3 /* iVersion */, FxClose: 0 /* xClose */, FxRead: 0 /* xRead */, FxWrite: 0 /* xWrite */, FxTruncate: 0 /* xTruncate */, FxSync: 0 /* xSync */, FxFileSize: 0 /* xFileSize */, FxLock: 0 /* xLock */, FxUnlock: 0 /* xUnlock */, FxCheckReservedLock: 0 /* xCheckReservedLock */, FxFileControl: 0 /* xFileControl */, FxSectorSize: 0 /* xSectorSize */, FxDeviceCharacteristics: 0 /* xShmMap */, FxShmLock: 0 /* xShmLock */, FxShmBarrier: 0 /* xShmBarrier */, FxShmUnmap: 0 /* xShmUnmap */, FxFetch: 0 /* xFetch */, FxUnfetch: 0 /* xUnfetch */} /* sqlite3.c:40192:1 */ +var posixIoFinder uintptr = 0 /* sqlite3.c:40188:1 */ +var nolockIoMethods = Sqlite3_io_methods{FiVersion: 3 /* iVersion */, FxClose: 0 /* xClose */, FxRead: 0 /* xRead */, FxWrite: 0 /* xWrite */, FxTruncate: 0 /* xTruncate */, FxSync: 0 /* xSync */, FxFileSize: 0 /* xFileSize */, FxLock: 0 /* xLock */, FxUnlock: 0 /* xUnlock */, FxCheckReservedLock: 0 /* xCheckReservedLock */, FxFileControl: 0 /* xFileControl */, FxSectorSize: 0 /* xSectorSize */, FxDeviceCharacteristics: 0 /* xShmMap */, FxShmLock: 0 /* xShmLock */, FxShmBarrier: 0 /* xShmBarrier */, FxShmUnmap: 0 /* xShmUnmap */, FxFetch: 0 /* xFetch */, FxUnfetch: 0 /* xUnfetch */} /* sqlite3.c:40198:1 */ -func nolockIoFinderImpl(tls *libc.TLS, z uintptr, p uintptr) uintptr { /* sqlite3.c:40192:1: */ +func nolockIoFinderImpl(tls *libc.TLS, z uintptr, p uintptr) uintptr { /* sqlite3.c:40198:1: */ _ = z _ = p return uintptr(unsafe.Pointer(&nolockIoMethods)) } -var nolockIoFinder uintptr = 0 /* sqlite3.c:40192:1 */ -var dotlockIoMethods = Sqlite3_io_methods{FiVersion: 1 /* iVersion */, FxClose: 0 /* xClose */, FxRead: 0 /* xRead */, FxWrite: 0 /* xWrite */, FxTruncate: 0 /* xTruncate */, FxSync: 0 /* xSync */, FxFileSize: 0 /* xFileSize */, FxLock: 0 /* xLock */, FxUnlock: 0 /* xUnlock */, FxCheckReservedLock: 0 /* xCheckReservedLock */, FxFileControl: 0 /* xFileControl */, FxSectorSize: 0 /* xSectorSize */, FxDeviceCharacteristics: 0 /* xShmMap */, FxShmLock: 0 /* xShmLock */, FxShmBarrier: 0 /* xShmBarrier */, FxShmUnmap: 0 /* xShmUnmap */, FxFetch: 0 /* xFetch */, FxUnfetch: 0 /* xUnfetch */} /* sqlite3.c:40202:1 */ +var nolockIoFinder uintptr = 0 /* sqlite3.c:40198:1 */ +var dotlockIoMethods = Sqlite3_io_methods{FiVersion: 1 /* iVersion */, FxClose: 0 /* xClose */, FxRead: 0 /* xRead */, FxWrite: 0 /* xWrite */, FxTruncate: 0 /* xTruncate */, FxSync: 0 /* xSync */, FxFileSize: 0 /* xFileSize */, FxLock: 0 /* xLock */, FxUnlock: 0 /* xUnlock */, FxCheckReservedLock: 0 /* xCheckReservedLock */, FxFileControl: 0 /* xFileControl */, FxSectorSize: 0 /* xSectorSize */, FxDeviceCharacteristics: 0 /* xShmMap */, FxShmLock: 0 /* xShmLock */, FxShmBarrier: 0 /* xShmBarrier */, FxShmUnmap: 0 /* xShmUnmap */, FxFetch: 0 /* xFetch */, FxUnfetch: 0 /* xUnfetch */} /* sqlite3.c:40208:1 */ -func dotlockIoFinderImpl(tls *libc.TLS, z uintptr, p uintptr) uintptr { /* sqlite3.c:40202:1: */ +func dotlockIoFinderImpl(tls *libc.TLS, z uintptr, p uintptr) uintptr { /* sqlite3.c:40208:1: */ _ = z _ = p return uintptr(unsafe.Pointer(&dotlockIoMethods)) } -var dotlockIoFinder uintptr = 0 /* sqlite3.c:40202:1 */ +var dotlockIoFinder uintptr = 0 /* sqlite3.c:40208:1 */ // The proxy locking method is a "super-method" in the sense that it // opens secondary file descriptors for the conch and lock files and @@ -23541,7 +23551,7 @@ var dotlockIoFinder uintptr = 0 /* sqlite3.c:40202:1 */ // nfs lockd on OSX 10.3+ doesn't clear write locks when a read lock is set // An abstract type for a pointer to an IO method finder function: -type Finder_type = uintptr /* sqlite3.c:40397:34 */ +type Finder_type = uintptr /* sqlite3.c:40403:34 */ // *************************************************************************** // @@ -23551,7 +23561,7 @@ type Finder_type = uintptr /* sqlite3.c:40397:34 */ // sqlite3_vfs object. // Initialize the contents of the unixFile structure pointed to by pId. -func fillInUnixFile(tls *libc.TLS, pVfs uintptr, h int32, pId uintptr, zFilename uintptr, ctrlFlags int32) int32 { /* sqlite3.c:40410:12: */ +func fillInUnixFile(tls *libc.TLS, pVfs uintptr, h int32, pId uintptr, zFilename uintptr, ctrlFlags int32) int32 { /* sqlite3.c:40416:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -23607,7 +23617,7 @@ func fillInUnixFile(tls *libc.TLS, pVfs uintptr, h int32, pId uintptr, zFilename // If scenario (a) caused the error then things are not so safe. The // implicit assumption here is that if fstat() fails, things are in // such bad shape that dropping a lock or two doesn't matter much. - robust_close(tls, pNew, h, 40488) + robust_close(tls, pNew, h, 40494) h = -1 } unixLeaveMutex(tls) @@ -23630,7 +23640,7 @@ func fillInUnixFile(tls *libc.TLS, pVfs uintptr, h int32, pId uintptr, zFilename storeLastErrno(tls, pNew, 0) if rc != SQLITE_OK { if h >= 0 { - robust_close(tls, pNew, h, 40573) + robust_close(tls, pNew, h, 40579) } } else { (*Sqlite3_file)(unsafe.Pointer(pId)).FpMethods = pLockingStyle @@ -23648,17 +23658,17 @@ var azTempDirs = [6]uintptr{ ts + 3664, ts + 3673, ts + 1531, -} /* sqlite3.c:40585:19 */ +} /* sqlite3.c:40591:19 */ // Initialize first two members of azTempDirs[] array. -func unixTempFileInit(tls *libc.TLS) { /* sqlite3.c:40597:13: */ +func unixTempFileInit(tls *libc.TLS) { /* sqlite3.c:40603:13: */ azTempDirs[0] = libc.Xgetenv(tls, ts+3678) azTempDirs[1] = libc.Xgetenv(tls, ts+3692) } // Return the name of a directory in which to put temporary files. // If no suitable temporary file directory can be found, return NULL. -func unixTempFileDir(tls *libc.TLS) uintptr { /* sqlite3.c:40606:19: */ +func unixTempFileDir(tls *libc.TLS) uintptr { /* sqlite3.c:40612:19: */ bp := tls.Alloc(128) defer tls.Free(128) @@ -23685,7 +23695,7 @@ func unixTempFileDir(tls *libc.TLS) uintptr { /* sqlite3.c:40606:19: */ // Create a temporary file name in zBuf. zBuf must be allocated // by the calling process and must be big enough to hold at least // pVfs->mxPathname bytes. -func unixGetTempname(tls *libc.TLS, nBuf int32, zBuf uintptr) int32 { /* sqlite3.c:40630:12: */ +func unixGetTempname(tls *libc.TLS, nBuf int32, zBuf uintptr) int32 { /* sqlite3.c:40636:12: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -23729,7 +23739,7 @@ func unixGetTempname(tls *libc.TLS, nBuf int32, zBuf uintptr) int32 { /* sqlite3 // // If a suitable file descriptor is found, then it is returned. If no // such file descriptor is located, -1 is returned. -func findReusableFd(tls *libc.TLS, zPath uintptr, flags int32) uintptr { /* sqlite3.c:40680:21: */ +func findReusableFd(tls *libc.TLS, zPath uintptr, flags int32) uintptr { /* sqlite3.c:40686:21: */ bp := tls.Alloc(128) defer tls.Free(128) @@ -23780,7 +23790,7 @@ func findReusableFd(tls *libc.TLS, zPath uintptr, flags int32) uintptr { /* sqli } // Find the mode, uid and gid of file zFile. -func getFileMode(tls *libc.TLS, zFile uintptr, pMode uintptr, pUid uintptr, pGid uintptr) int32 { /* sqlite3.c:40730:12: */ +func getFileMode(tls *libc.TLS, zFile uintptr, pMode uintptr, pUid uintptr, pGid uintptr) int32 { /* sqlite3.c:40736:12: */ bp := tls.Alloc(128) defer tls.Free(128) @@ -23816,7 +23826,7 @@ func getFileMode(tls *libc.TLS, zFile uintptr, pMode uintptr, pUid uintptr, pGid // original filename is unavailable. But 8_3_NAMES is only used for // FAT filesystems and permissions do not matter there, so just use // the default permissions. In 8_3_NAMES mode, leave *pMode set to zero. -func findCreateFileMode(tls *libc.TLS, zPath uintptr, flags int32, pMode uintptr, pUid uintptr, pGid uintptr) int32 { /* sqlite3.c:40769:12: */ +func findCreateFileMode(tls *libc.TLS, zPath uintptr, flags int32, pMode uintptr, pUid uintptr, pGid uintptr) int32 { /* sqlite3.c:40775:12: */ bp := tls.Alloc(513) defer tls.Free(513) @@ -23890,7 +23900,7 @@ func findCreateFileMode(tls *libc.TLS, zPath uintptr, flags int32, pMode uintptr // file handle closed. To achieve the same effect using this new // interface, add the DELETEONCLOSE flag to those specified above for // OpenExclusive(). -func unixOpen(tls *libc.TLS, pVfs uintptr, zPath uintptr, pFile uintptr, flags int32, pOutFlags uintptr) int32 { /* sqlite3.c:40846:12: */ +func unixOpen(tls *libc.TLS, pVfs uintptr, zPath uintptr, pFile uintptr, flags int32, pOutFlags uintptr) int32 { /* sqlite3.c:40852:12: */ bp := tls.Alloc(528) defer tls.Free(528) @@ -24088,7 +24098,7 @@ __15: if !(fd < 0) { goto __19 } - rc2 = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 41002), ts+3196, zName, 41002) + rc2 = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 41008), ts+3196, zName, 41008) if !(rc == SQLITE_OK) { goto __20 } @@ -24188,7 +24198,7 @@ __30: // Delete the file at zPath. If the dirSync argument is true, fsync() // the directory after deleting the file. -func unixDelete(tls *libc.TLS, NotUsed uintptr, zPath uintptr, dirSync int32) int32 { /* sqlite3.c:41125:12: */ +func unixDelete(tls *libc.TLS, NotUsed uintptr, zPath uintptr, dirSync int32) int32 { /* sqlite3.c:41131:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -24199,7 +24209,7 @@ func unixDelete(tls *libc.TLS, NotUsed uintptr, zPath uintptr, dirSync int32) in if *(*int32)(unsafe.Pointer(libc.X__errno(tls))) == ENOENT { rc = SQLITE_IOERR | int32(23)<<8 } else { - rc = unixLogErrorAtLine(tls, SQLITE_IOERR|int32(10)<<8, ts+3306, zPath, 41141) + rc = unixLogErrorAtLine(tls, SQLITE_IOERR|int32(10)<<8, ts+3306, zPath, 41147) } return rc } @@ -24209,9 +24219,9 @@ func unixDelete(tls *libc.TLS, NotUsed uintptr, zPath uintptr, dirSync int32) in rc = (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 17*24 + 8)))(tls, zPath, bp) if rc == SQLITE_OK { if full_fsync(tls, *(*int32)(unsafe.Pointer(bp)), 0, 0) != 0 { - rc = unixLogErrorAtLine(tls, SQLITE_IOERR|int32(5)<<8, ts+3723, zPath, 41151) + rc = unixLogErrorAtLine(tls, SQLITE_IOERR|int32(5)<<8, ts+3723, zPath, 41157) } - robust_close(tls, uintptr(0), *(*int32)(unsafe.Pointer(bp /* fd */)), 41153) + robust_close(tls, uintptr(0), *(*int32)(unsafe.Pointer(bp /* fd */)), 41159) } else { rc = SQLITE_OK @@ -24228,7 +24238,7 @@ func unixDelete(tls *libc.TLS, NotUsed uintptr, zPath uintptr, dirSync int32) in // SQLITE_ACCESS_READONLY: Return 1 if the file is readable. // // Otherwise return 0. -func unixAccess(tls *libc.TLS, NotUsed uintptr, zPath uintptr, flags int32, pResOut uintptr) int32 { /* sqlite3.c:41173:12: */ +func unixAccess(tls *libc.TLS, NotUsed uintptr, zPath uintptr, flags int32, pResOut uintptr) int32 { /* sqlite3.c:41179:12: */ bp := tls.Alloc(128) defer tls.Free(128) @@ -24250,7 +24260,7 @@ func unixAccess(tls *libc.TLS, NotUsed uintptr, zPath uintptr, flags int32, pRes // If the last component of the pathname in z[0]..z[j-1] is something // other than ".." then back it out and return true. If the last // component is empty or if it is ".." then return false. -func unixBackupDir(tls *libc.TLS, z uintptr, pJ uintptr) int32 { /* sqlite3.c:41202:12: */ +func unixBackupDir(tls *libc.TLS, z uintptr, pJ uintptr) int32 { /* sqlite3.c:41208:12: */ var j int32 = *(*int32)(unsafe.Pointer(pJ)) var i int32 if j <= 0 { @@ -24273,7 +24283,7 @@ func unixBackupDir(tls *libc.TLS, z uintptr, pJ uintptr) int32 { /* sqlite3.c:41 // // Remove all instances of /./ // Remove all isntances of /X/../ for any X -func mkFullPathname(tls *libc.TLS, zPath uintptr, zOut uintptr, nOut int32) int32 { /* sqlite3.c:41220:12: */ +func mkFullPathname(tls *libc.TLS, zPath uintptr, zOut uintptr, nOut int32) int32 { /* sqlite3.c:41226:12: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -24284,7 +24294,7 @@ func mkFullPathname(tls *libc.TLS, zPath uintptr, zOut uintptr, nOut int32) int3 if int32(*(*int8)(unsafe.Pointer(zPath))) != '/' { if (*(*func(*libc.TLS, uintptr, Size_t) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 3*24 + 8)))(tls, zOut, uint64(nOut-2)) == uintptr(0) { - return unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 41230), ts+3214, zPath, 41230) + return unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 41236), ts+3214, zPath, 41236) } iOff = Xsqlite3Strlen30(tls, zOut) *(*int8)(unsafe.Pointer(zOut + uintptr(libc.PostIncInt32(&iOff, 1)))) = int8('/') @@ -24293,7 +24303,7 @@ func mkFullPathname(tls *libc.TLS, zPath uintptr, zOut uintptr, nOut int32) int3 // SQLite assumes that xFullPathname() nul-terminates the output buffer // even if it returns an error. *(*int8)(unsafe.Pointer(zOut + uintptr(iOff))) = int8(0) - return Xsqlite3CantopenError(tls, 41239) + return Xsqlite3CantopenError(tls, 41245) } Xsqlite3_snprintf(tls, nOut-iOff, zOut+uintptr(iOff), ts+3598, libc.VaList(bp, zPath)) @@ -24344,7 +24354,7 @@ func mkFullPathname(tls *libc.TLS, zPath uintptr, zOut uintptr, nOut int32) int3 // zOut points to a buffer of at least sqlite3_vfs.mxPathname bytes // (in this case, MAX_PATHNAME bytes). The full-path is written to // this buffer before returning. -func unixFullPathname(tls *libc.TLS, pVfs uintptr, zPath uintptr, nOut int32, zOut uintptr) int32 { /* sqlite3.c:41289:12: */ +func unixFullPathname(tls *libc.TLS, pVfs uintptr, zPath uintptr, nOut int32, zOut uintptr) int32 { /* sqlite3.c:41295:12: */ bp := tls.Alloc(128) defer tls.Free(128) @@ -24370,7 +24380,7 @@ func unixFullPathname(tls *libc.TLS, pVfs uintptr, zPath uintptr, nOut int32, zO if (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 27*24 + 8)))(tls, zIn, bp) != 0 { if *(*int32)(unsafe.Pointer(libc.X__errno(tls))) != ENOENT { - rc = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 41322), ts+3394, zIn, 41322) + rc = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 41328), ts+3394, zIn, 41328) } } else { bLink = libc.Bool32((*stat)(unsafe.Pointer(bp)).Fst_mode&Mode_t(0170000) == Mode_t(0120000)) @@ -24384,20 +24394,20 @@ func unixFullPathname(tls *libc.TLS, pVfs uintptr, zPath uintptr, nOut int32, zO rc = SQLITE_NOMEM } } else if nLink >= SQLITE_MAX_SYMLINKS { - rc = Xsqlite3CantopenError(tls, 41334) + rc = Xsqlite3CantopenError(tls, 41340) } if rc == SQLITE_OK { nByte = int32((*(*func(*libc.TLS, uintptr, uintptr, Size_t) Ssize_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 26*24 + 8)))(tls, zIn, zDel, uint64(nOut-1))) if nByte < 0 { - rc = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 41340), ts+3385, zIn, 41340) + rc = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 41346), ts+3385, zIn, 41346) } else { if int32(*(*int8)(unsafe.Pointer(zDel))) != '/' { var n int32 for n = Xsqlite3Strlen30(tls, zIn); n > 0 && int32(*(*int8)(unsafe.Pointer(zIn + uintptr(n-1)))) != '/'; n-- { } if nByte+n+1 > nOut { - rc = Xsqlite3CantopenError(tls, 41346) + rc = Xsqlite3CantopenError(tls, 41352) } else { libc.Xmemmove(tls, zDel+uintptr(n), zDel, uint64(nByte+1)) libc.Xmemcpy(tls, zDel, zIn, uint64(n)) @@ -24582,7 +24592,7 @@ type dl_info = struct { // Structure filled in by dladdr(). type Dl_info = dl_info /* dlfcn.h:64:3 */ -func unixDlOpen(tls *libc.TLS, NotUsed uintptr, zFilename uintptr) uintptr { /* sqlite3.c:41381:13: */ +func unixDlOpen(tls *libc.TLS, NotUsed uintptr, zFilename uintptr) uintptr { /* sqlite3.c:41387:13: */ _ = NotUsed return libc.Xdlopen(tls, zFilename, RTLD_NOW|RTLD_GLOBAL) } @@ -24592,7 +24602,7 @@ func unixDlOpen(tls *libc.TLS, NotUsed uintptr, zFilename uintptr) uintptr { /* // message is available, it is written to zBufOut. If no error message // is available, zBufOut is left unmodified and SQLite uses a default // error message. -func unixDlError(tls *libc.TLS, NotUsed uintptr, nBuf int32, zBufOut uintptr) { /* sqlite3.c:41393:13: */ +func unixDlError(tls *libc.TLS, NotUsed uintptr, nBuf int32, zBufOut uintptr) { /* sqlite3.c:41399:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -24606,7 +24616,7 @@ func unixDlError(tls *libc.TLS, NotUsed uintptr, nBuf int32, zBufOut uintptr) { unixLeaveMutex(tls) } -func unixDlSym(tls *libc.TLS, NotUsed uintptr, p uintptr, zSym uintptr) uintptr { /* sqlite3.c:41403:13: */ +func unixDlSym(tls *libc.TLS, NotUsed uintptr, p uintptr, zSym uintptr) uintptr { /* sqlite3.c:41409:13: */ // GCC with -pedantic-errors says that C90 does not allow a void* to be // cast into a pointer to a function. And yet the library dlsym() routine // returns a void* which is really a pointer to a function. So how do we @@ -24632,13 +24642,13 @@ func unixDlSym(tls *libc.TLS, NotUsed uintptr, p uintptr, zSym uintptr) uintptr })(unsafe.Pointer(&struct{ uintptr }{x})).f(tls, p, zSym) } -func unixDlClose(tls *libc.TLS, NotUsed uintptr, pHandle uintptr) { /* sqlite3.c:41426:13: */ +func unixDlClose(tls *libc.TLS, NotUsed uintptr, pHandle uintptr) { /* sqlite3.c:41432:13: */ _ = NotUsed libc.Xdlclose(tls, pHandle) } // Write nBuf bytes of random data to the supplied buffer zBuf. -func unixRandomness(tls *libc.TLS, NotUsed uintptr, nBuf int32, zBuf uintptr) int32 { /* sqlite3.c:41440:12: */ +func unixRandomness(tls *libc.TLS, NotUsed uintptr, nBuf int32, zBuf uintptr) int32 { /* sqlite3.c:41446:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -24673,7 +24683,7 @@ func unixRandomness(tls *libc.TLS, NotUsed uintptr, nBuf int32, zBuf uintptr) in for __ccgo := true; __ccgo; __ccgo = got < 0 && *(*int32)(unsafe.Pointer(libc.X__errno(tls))) == EINTR { got = int32((*(*func(*libc.TLS, int32, uintptr, Size_t) Ssize_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 8*24 + 8)))(tls, fd, zBuf, uint64(nBuf))) } - robust_close(tls, uintptr(0), fd, 41471) + robust_close(tls, uintptr(0), fd, 41477) } } @@ -24686,7 +24696,7 @@ func unixRandomness(tls *libc.TLS, NotUsed uintptr, nBuf int32, zBuf uintptr) in // requested from the underlying operating system, a number which // might be greater than or equal to the argument, but not less // than the argument. -func unixSleep(tls *libc.TLS, NotUsed uintptr, microseconds int32) int32 { /* sqlite3.c:41487:12: */ +func unixSleep(tls *libc.TLS, NotUsed uintptr, microseconds int32) int32 { /* sqlite3.c:41493:12: */ if microseconds >= 1000000 { libc.Xsleep(tls, uint32(microseconds/1000000)) } @@ -24709,7 +24719,7 @@ func unixSleep(tls *libc.TLS, NotUsed uintptr, microseconds int32) int32 { /* sq // // On success, return SQLITE_OK. Return SQLITE_ERROR if the time and date // cannot be found. -func unixCurrentTimeInt64(tls *libc.TLS, NotUsed uintptr, piNow uintptr) int32 { /* sqlite3.c:41528:12: */ +func unixCurrentTimeInt64(tls *libc.TLS, NotUsed uintptr, piNow uintptr) int32 { /* sqlite3.c:41534:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -24723,12 +24733,12 @@ func unixCurrentTimeInt64(tls *libc.TLS, NotUsed uintptr, piNow uintptr) int32 { return rc } -var unixEpoch Sqlite3_int64 = int64(24405875) * int64(8640000) /* sqlite3.c:41529:30 */ +var unixEpoch Sqlite3_int64 = int64(24405875) * int64(8640000) /* sqlite3.c:41535:30 */ // Find the current time (in Universal Coordinated Time). Write the // current time and date as a Julian Day number into *prNow and // return 0. Return 1 if the time and date cannot be found. -func unixCurrentTime(tls *libc.TLS, NotUsed uintptr, prNow uintptr) int32 { /* sqlite3.c:41560:12: */ +func unixCurrentTime(tls *libc.TLS, NotUsed uintptr, prNow uintptr) int32 { /* sqlite3.c:41566:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -24744,7 +24754,7 @@ func unixCurrentTime(tls *libc.TLS, NotUsed uintptr, prNow uintptr) int32 { /* s // low-level error message when operating-system problems come up // during SQLite operation. Only the integer return code is currently // used. -func unixGetLastError(tls *libc.TLS, NotUsed uintptr, NotUsed2 int32, NotUsed3 uintptr) int32 { /* sqlite3.c:41578:12: */ +func unixGetLastError(tls *libc.TLS, NotUsed uintptr, NotUsed2 int32, NotUsed3 uintptr) int32 { /* sqlite3.c:41584:12: */ _ = NotUsed _ = NotUsed2 _ = NotUsed3 @@ -24926,7 +24936,7 @@ func unixGetLastError(tls *libc.TLS, NotUsed uintptr, NotUsed2 int32, NotUsed3 u // single thread. The memory allocation and mutex subsystems have not // necessarily been initialized when this routine is called, and so they // should not be used. -func Xsqlite3_os_init(tls *libc.TLS) int32 { /* sqlite3.c:42783:16: */ +func Xsqlite3_os_init(tls *libc.TLS) int32 { /* sqlite3.c:42789:16: */ var i uint32 // Loop counter // Double-check that the aSyscall[] array has been constructed @@ -24964,14 +24974,14 @@ var aVfs = [4]Sqlite3_vfs{ {FiVersion: 3 /* iVersion */, FszOsFile: int32(unsafe.Sizeof(UnixFile{})) /* szOsFile */, FmxPathname: MAX_PATHNAME /* pNext */, FzName: ts + 3747, FpAppData: 0 /* pAppData */, FxOpen: 0 /* xOpen */, FxDelete: 0 /* xDelete */, FxAccess: 0 /* xAccess */, FxFullPathname: 0 /* xFullPathname */, FxDlOpen: 0 /* xDlOpen */, FxDlError: 0 /* xDlError */, FxDlSym: 0 /* xDlSym */, FxDlClose: 0 /* xDlClose */, FxRandomness: 0 /* xRandomness */, FxSleep: 0 /* xSleep */, FxCurrentTime: 0 /* xCurrentTime */, FxGetLastError: 0 /* xGetLastError */, FxCurrentTimeInt64: 0 /* xCurrentTimeInt64 */, FxSetSystemCall: 0 /* xSetSystemCall */, FxGetSystemCall: 0 /* xGetSystemCall */, FxNextSystemCall: 0 /* xNextSystemCall */}, {FiVersion: 3 /* iVersion */, FszOsFile: int32(unsafe.Sizeof(UnixFile{})) /* szOsFile */, FmxPathname: MAX_PATHNAME /* pNext */, FzName: ts + 3757, FpAppData: 0 /* pAppData */, FxOpen: 0 /* xOpen */, FxDelete: 0 /* xDelete */, FxAccess: 0 /* xAccess */, FxFullPathname: 0 /* xFullPathname */, FxDlOpen: 0 /* xDlOpen */, FxDlError: 0 /* xDlError */, FxDlSym: 0 /* xDlSym */, FxDlClose: 0 /* xDlClose */, FxRandomness: 0 /* xRandomness */, FxSleep: 0 /* xSleep */, FxCurrentTime: 0 /* xCurrentTime */, FxGetLastError: 0 /* xGetLastError */, FxCurrentTimeInt64: 0 /* xCurrentTimeInt64 */, FxSetSystemCall: 0 /* xSetSystemCall */, FxGetSystemCall: 0 /* xGetSystemCall */, FxNextSystemCall: 0 /* xNextSystemCall */}, {FiVersion: 3 /* iVersion */, FszOsFile: int32(unsafe.Sizeof(UnixFile{})) /* szOsFile */, FmxPathname: MAX_PATHNAME /* pNext */, FzName: ts + 3637, FpAppData: 0 /* pAppData */, FxOpen: 0 /* xOpen */, FxDelete: 0 /* xDelete */, FxAccess: 0 /* xAccess */, FxFullPathname: 0 /* xFullPathname */, FxDlOpen: 0 /* xDlOpen */, FxDlError: 0 /* xDlError */, FxDlSym: 0 /* xDlSym */, FxDlClose: 0 /* xDlClose */, FxRandomness: 0 /* xRandomness */, FxSleep: 0 /* xSleep */, FxCurrentTime: 0 /* xCurrentTime */, FxGetLastError: 0 /* xGetLastError */, FxCurrentTimeInt64: 0 /* xCurrentTimeInt64 */, FxSetSystemCall: 0 /* xSetSystemCall */, FxGetSystemCall: 0 /* xGetSystemCall */, FxNextSystemCall: 0 /* xNextSystemCall */}, -} /* sqlite3.c:42836:22 */ +} /* sqlite3.c:42842:22 */ // Shutdown the operating system interface. // // Some operating systems might need to do some cleanup in this routine, // to release dynamically allocated objects. But not on unix. // This routine is a no-op for unix. -func Xsqlite3_os_end(tls *libc.TLS) int32 { /* sqlite3.c:42905:16: */ +func Xsqlite3_os_end(tls *libc.TLS) int32 { /* sqlite3.c:42911:16: */ unixBigLock = uintptr(0) return SQLITE_OK } @@ -25013,15 +25023,15 @@ func Xsqlite3_os_end(tls *libc.TLS) int32 { /* sqlite3.c:42905:16: */ // #include "sqliteInt.h" // Forward declaration of objects used by this utility -type MemVfs = sqlite3_vfs /* sqlite3.c:49095:28 */ +type MemVfs = sqlite3_vfs /* sqlite3.c:49105:28 */ type MemFile1 = struct { Fbase Sqlite3_file FpStore uintptr FeLock int32 F__ccgo_pad1 [4]byte -} /* sqlite3.c:49096:9 */ +} /* sqlite3.c:49106:9 */ -type MemFile = MemFile1 /* sqlite3.c:49096:24 */ +type MemFile = MemFile1 /* sqlite3.c:49106:24 */ type MemStore1 = struct { Fsz Sqlite3_int64 FszAlloc Sqlite3_int64 @@ -25035,9 +25045,9 @@ type MemStore1 = struct { FnRef int32 F__ccgo_pad1 [4]byte FzFName uintptr -} /* sqlite3.c:49096:9 */ +} /* sqlite3.c:49106:9 */ -type MemStore = MemStore1 /* sqlite3.c:49097:25 */ +type MemStore = MemStore1 /* sqlite3.c:49107:25 */ // File-scope variables for holding the memdb files that are accessible // to multiple database connections in separate threads. @@ -25047,13 +25057,13 @@ type MemFS = struct { FnMemStore int32 F__ccgo_pad1 [4]byte FapMemStore uintptr -} /* sqlite3.c:49167:8 */ +} /* sqlite3.c:49177:8 */ // File-scope variables for holding the memdb files that are accessible // to multiple database connections in separate threads. // // Must hold SQLITE_MUTEX_STATIC_VFS1 to access any part of this object. -var memdb_g MemFS /* sqlite3.c:49170:3: */ +var memdb_g MemFS /* sqlite3.c:49180:3: */ var memdb_vfs = Sqlite3_vfs{ FiVersion: 2, // szOsFile (set when registered) @@ -25070,7 +25080,7 @@ var memdb_vfs = Sqlite3_vfs{ FxSleep: 0, /* memdbCurrentTime, */ // xCurrentTime FxGetLastError: 0, // xGetLastError FxCurrentTimeInt64: 0, // xNextSystemCall -} /* sqlite3.c:49206:20 */ +} /* sqlite3.c:49216:20 */ var memdb_io_methods = Sqlite3_io_methods{ FiVersion: 3, // iVersion @@ -25086,21 +25096,21 @@ var memdb_io_methods = Sqlite3_io_methods{ FxDeviceCharacteristics: 0, // xShmUnmap FxFetch: 0, // xFetch FxUnfetch: 0, // xUnfetch -} /* sqlite3.c:49231:33 */ +} /* sqlite3.c:49241:33 */ // Enter/leave the mutex on a MemStore -func memdbEnter(tls *libc.TLS, p uintptr) { /* sqlite3.c:49264:13: */ +func memdbEnter(tls *libc.TLS, p uintptr) { /* sqlite3.c:49274:13: */ Xsqlite3_mutex_enter(tls, (*MemStore)(unsafe.Pointer(p)).FpMutex) } -func memdbLeave(tls *libc.TLS, p uintptr) { /* sqlite3.c:49267:13: */ +func memdbLeave(tls *libc.TLS, p uintptr) { /* sqlite3.c:49277:13: */ Xsqlite3_mutex_leave(tls, (*MemStore)(unsafe.Pointer(p)).FpMutex) } // Close an memdb-file. // Free the underlying MemStore object when its refcount drops to zero // or less. -func memdbClose(tls *libc.TLS, pFile uintptr) int32 { /* sqlite3.c:49279:12: */ +func memdbClose(tls *libc.TLS, pFile uintptr) int32 { /* sqlite3.c:49289:12: */ var p uintptr = (*MemFile)(unsafe.Pointer(pFile)).FpStore if (*MemStore)(unsafe.Pointer(p)).FzFName != 0 { var i int32 @@ -25138,7 +25148,7 @@ func memdbClose(tls *libc.TLS, pFile uintptr) int32 { /* sqlite3.c:49279:12: */ } // Read data from an memdb-file. -func memdbRead(tls *libc.TLS, pFile uintptr, zBuf uintptr, iAmt int32, iOfst Sqlite_int64) int32 { /* sqlite3.c:49321:12: */ +func memdbRead(tls *libc.TLS, pFile uintptr, zBuf uintptr, iAmt int32, iOfst Sqlite_int64) int32 { /* sqlite3.c:49331:12: */ var p uintptr = (*MemFile)(unsafe.Pointer(pFile)).FpStore memdbEnter(tls, p) if iOfst+Sqlite_int64(iAmt) > (*MemStore)(unsafe.Pointer(p)).Fsz { @@ -25155,7 +25165,7 @@ func memdbRead(tls *libc.TLS, pFile uintptr, zBuf uintptr, iAmt int32, iOfst Sql } // Try to enlarge the memory allocation to hold at least sz bytes -func memdbEnlarge(tls *libc.TLS, p uintptr, newSz Sqlite3_int64) int32 { /* sqlite3.c:49343:12: */ +func memdbEnlarge(tls *libc.TLS, p uintptr, newSz Sqlite3_int64) int32 { /* sqlite3.c:49353:12: */ var pNew uintptr if (*MemStore)(unsafe.Pointer(p)).FmFlags&uint32(SQLITE_DESERIALIZE_RESIZEABLE) == uint32(0) || (*MemStore)(unsafe.Pointer(p)).FnMmap > 0 { return SQLITE_FULL @@ -25177,7 +25187,7 @@ func memdbEnlarge(tls *libc.TLS, p uintptr, newSz Sqlite3_int64) int32 { /* sqli } // Write data to an memdb-file. -func memdbWrite(tls *libc.TLS, pFile uintptr, z uintptr, iAmt int32, iOfst Sqlite_int64) int32 { /* sqlite3.c:49363:12: */ +func memdbWrite(tls *libc.TLS, pFile uintptr, z uintptr, iAmt int32, iOfst Sqlite_int64) int32 { /* sqlite3.c:49373:12: */ var p uintptr = (*MemFile)(unsafe.Pointer(pFile)).FpStore memdbEnter(tls, p) if (*MemStore)(unsafe.Pointer(p)).FmFlags&uint32(SQLITE_DESERIALIZE_READONLY) != 0 { @@ -25208,7 +25218,7 @@ func memdbWrite(tls *libc.TLS, pFile uintptr, z uintptr, iAmt int32, iOfst Sqlit // In rollback mode (which is always the case for memdb, as it does not // support WAL mode) the truncate() method is only used to reduce // the size of a file, never to increase the size. -func memdbTruncate(tls *libc.TLS, pFile uintptr, size Sqlite_int64) int32 { /* sqlite3.c:49400:12: */ +func memdbTruncate(tls *libc.TLS, pFile uintptr, size Sqlite_int64) int32 { /* sqlite3.c:49410:12: */ var p uintptr = (*MemFile)(unsafe.Pointer(pFile)).FpStore var rc int32 = SQLITE_OK memdbEnter(tls, p) @@ -25223,14 +25233,14 @@ func memdbTruncate(tls *libc.TLS, pFile uintptr, size Sqlite_int64) int32 { /* s } // Sync an memdb-file. -func memdbSync(tls *libc.TLS, pFile uintptr, flags int32) int32 { /* sqlite3.c:49417:12: */ +func memdbSync(tls *libc.TLS, pFile uintptr, flags int32) int32 { /* sqlite3.c:49427:12: */ _ = pFile _ = flags return SQLITE_OK } // Return the current file-size of an memdb-file. -func memdbFileSize(tls *libc.TLS, pFile uintptr, pSize uintptr) int32 { /* sqlite3.c:49426:12: */ +func memdbFileSize(tls *libc.TLS, pFile uintptr, pSize uintptr) int32 { /* sqlite3.c:49436:12: */ var p uintptr = (*MemFile)(unsafe.Pointer(pFile)).FpStore memdbEnter(tls, p) *(*Sqlite_int64)(unsafe.Pointer(pSize)) = (*MemStore)(unsafe.Pointer(p)).Fsz @@ -25239,7 +25249,7 @@ func memdbFileSize(tls *libc.TLS, pFile uintptr, pSize uintptr) int32 { /* sqlit } // Lock an memdb-file. -func memdbLock(tls *libc.TLS, pFile uintptr, eLock int32) int32 { /* sqlite3.c:49437:12: */ +func memdbLock(tls *libc.TLS, pFile uintptr, eLock int32) int32 { /* sqlite3.c:49447:12: */ var pThis uintptr = pFile var p uintptr = (*MemFile)(unsafe.Pointer(pThis)).FpStore var rc int32 = SQLITE_OK @@ -25283,7 +25293,7 @@ func memdbLock(tls *libc.TLS, pFile uintptr, eLock int32) int32 { /* sqlite3.c:4 } // File control method. For custom operations on an memdb-file. -func memdbFileControl(tls *libc.TLS, pFile uintptr, op int32, pArg uintptr) int32 { /* sqlite3.c:49491:12: */ +func memdbFileControl(tls *libc.TLS, pFile uintptr, op int32, pArg uintptr) int32 { /* sqlite3.c:49501:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -25312,13 +25322,13 @@ func memdbFileControl(tls *libc.TLS, pFile uintptr, op int32, pArg uintptr) int3 } // Return the device characteristic flags supported by an memdb-file. -func memdbDeviceCharacteristics(tls *libc.TLS, pFile uintptr) int32 { /* sqlite3.c:49528:12: */ +func memdbDeviceCharacteristics(tls *libc.TLS, pFile uintptr) int32 { /* sqlite3.c:49538:12: */ _ = pFile return SQLITE_IOCAP_ATOMIC | SQLITE_IOCAP_POWERSAFE_OVERWRITE | SQLITE_IOCAP_SAFE_APPEND | SQLITE_IOCAP_SEQUENTIAL } // Fetch a page of a memory-mapped file -func memdbFetch(tls *libc.TLS, pFile uintptr, iOfst Sqlite3_int64, iAmt int32, pp uintptr) int32 { /* sqlite3.c:49537:12: */ +func memdbFetch(tls *libc.TLS, pFile uintptr, iOfst Sqlite3_int64, iAmt int32, pp uintptr) int32 { /* sqlite3.c:49547:12: */ var p uintptr = (*MemFile)(unsafe.Pointer(pFile)).FpStore memdbEnter(tls, p) if iOfst+Sqlite3_int64(iAmt) > (*MemStore)(unsafe.Pointer(p)).Fsz || (*MemStore)(unsafe.Pointer(p)).FmFlags&uint32(SQLITE_DESERIALIZE_RESIZEABLE) != uint32(0) { @@ -25332,7 +25342,7 @@ func memdbFetch(tls *libc.TLS, pFile uintptr, iOfst Sqlite3_int64, iAmt int32, p } // Release a memory-mapped page -func memdbUnfetch(tls *libc.TLS, pFile uintptr, iOfst Sqlite3_int64, pPage uintptr) int32 { /* sqlite3.c:49556:12: */ +func memdbUnfetch(tls *libc.TLS, pFile uintptr, iOfst Sqlite3_int64, pPage uintptr) int32 { /* sqlite3.c:49566:12: */ var p uintptr = (*MemFile)(unsafe.Pointer(pFile)).FpStore _ = iOfst _ = pPage @@ -25343,7 +25353,7 @@ func memdbUnfetch(tls *libc.TLS, pFile uintptr, iOfst Sqlite3_int64, pPage uintp } // Open an mem file handle. -func memdbOpen(tls *libc.TLS, pVfs uintptr, zName uintptr, pFd uintptr, flags int32, pOutFlags uintptr) int32 { /* sqlite3.c:49569:12: */ +func memdbOpen(tls *libc.TLS, pVfs uintptr, zName uintptr, pFd uintptr, flags int32, pOutFlags uintptr) int32 { /* sqlite3.c:49579:12: */ var pFile uintptr = pFd var p uintptr = uintptr(0) var szName int32 @@ -25418,7 +25428,7 @@ func memdbOpen(tls *libc.TLS, pVfs uintptr, zName uintptr, pFd uintptr, flags in // is available, or false otherwise. // // With memdb, no files ever exist on disk. So always return false. -func memdbAccess(tls *libc.TLS, pVfs uintptr, zPath uintptr, flags int32, pResOut uintptr) int32 { /* sqlite3.c:49666:12: */ +func memdbAccess(tls *libc.TLS, pVfs uintptr, zPath uintptr, flags int32, pResOut uintptr) int32 { /* sqlite3.c:49676:12: */ _ = pVfs _ = zPath _ = flags @@ -25429,7 +25439,7 @@ func memdbAccess(tls *libc.TLS, pVfs uintptr, zPath uintptr, flags int32, pResOu // Populate buffer zOut with the full canonical pathname corresponding // to the pathname in zPath. zOut is guaranteed to point to a buffer // of at least (INST_MAX_PATHNAME+1) bytes. -func memdbFullPathname(tls *libc.TLS, pVfs uintptr, zPath uintptr, nOut int32, zOut uintptr) int32 { /* sqlite3.c:49684:12: */ +func memdbFullPathname(tls *libc.TLS, pVfs uintptr, zPath uintptr, nOut int32, zOut uintptr) int32 { /* sqlite3.c:49694:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -25439,7 +25449,7 @@ func memdbFullPathname(tls *libc.TLS, pVfs uintptr, zPath uintptr, nOut int32, z } // Open the dynamic library located at zPath and return a handle. -func memdbDlOpen(tls *libc.TLS, pVfs uintptr, zPath uintptr) uintptr { /* sqlite3.c:49698:13: */ +func memdbDlOpen(tls *libc.TLS, pVfs uintptr, zPath uintptr) uintptr { /* sqlite3.c:49708:13: */ return (*struct { f func(*libc.TLS, uintptr, uintptr) uintptr })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer((*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData)).FxDlOpen})).f(tls, (*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, zPath) @@ -25448,21 +25458,21 @@ func memdbDlOpen(tls *libc.TLS, pVfs uintptr, zPath uintptr) uintptr { /* sqlite // Populate the buffer zErrMsg (size nByte bytes) with a human readable // utf-8 string describing the most recent error encountered associated // with dynamic libraries. -func memdbDlError(tls *libc.TLS, pVfs uintptr, nByte int32, zErrMsg uintptr) { /* sqlite3.c:49707:13: */ +func memdbDlError(tls *libc.TLS, pVfs uintptr, nByte int32, zErrMsg uintptr) { /* sqlite3.c:49717:13: */ (*struct { f func(*libc.TLS, uintptr, int32, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer((*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData)).FxDlError})).f(tls, (*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, nByte, zErrMsg) } // Return a pointer to the symbol zSymbol in the dynamic library pHandle. -func memdbDlSym(tls *libc.TLS, pVfs uintptr, p uintptr, zSym uintptr) uintptr { /* sqlite3.c:49714:13: */ +func memdbDlSym(tls *libc.TLS, pVfs uintptr, p uintptr, zSym uintptr) uintptr { /* sqlite3.c:49724:13: */ return (*struct { f func(*libc.TLS, uintptr, uintptr, uintptr) uintptr })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer((*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData)).FxDlSym})).f(tls, (*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, p, zSym) } // Close the dynamic library handle pHandle. -func memdbDlClose(tls *libc.TLS, pVfs uintptr, pHandle uintptr) { /* sqlite3.c:49721:13: */ +func memdbDlClose(tls *libc.TLS, pVfs uintptr, pHandle uintptr) { /* sqlite3.c:49731:13: */ (*struct { f func(*libc.TLS, uintptr, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer((*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData)).FxDlClose})).f(tls, (*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, pHandle) @@ -25470,7 +25480,7 @@ func memdbDlClose(tls *libc.TLS, pVfs uintptr, pHandle uintptr) { /* sqlite3.c:4 // Populate the buffer pointed to by zBufOut with nByte bytes of // random data. -func memdbRandomness(tls *libc.TLS, pVfs uintptr, nByte int32, zBufOut uintptr) int32 { /* sqlite3.c:49729:12: */ +func memdbRandomness(tls *libc.TLS, pVfs uintptr, nByte int32, zBufOut uintptr) int32 { /* sqlite3.c:49739:12: */ return (*struct { f func(*libc.TLS, uintptr, int32, uintptr) int32 })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer((*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData)).FxRandomness})).f(tls, (*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, nByte, zBufOut) @@ -25478,19 +25488,19 @@ func memdbRandomness(tls *libc.TLS, pVfs uintptr, nByte int32, zBufOut uintptr) // Sleep for nMicro microseconds. Return the number of microseconds // actually slept. -func memdbSleep(tls *libc.TLS, pVfs uintptr, nMicro int32) int32 { /* sqlite3.c:49737:12: */ +func memdbSleep(tls *libc.TLS, pVfs uintptr, nMicro int32) int32 { /* sqlite3.c:49747:12: */ return (*struct { f func(*libc.TLS, uintptr, int32) int32 })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer((*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData)).FxSleep})).f(tls, (*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, nMicro) } -func memdbGetLastError(tls *libc.TLS, pVfs uintptr, a int32, b uintptr) int32 { /* sqlite3.c:49750:12: */ +func memdbGetLastError(tls *libc.TLS, pVfs uintptr, a int32, b uintptr) int32 { /* sqlite3.c:49760:12: */ return (*struct { f func(*libc.TLS, uintptr, int32, uintptr) int32 })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer((*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData)).FxGetLastError})).f(tls, (*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, a, b) } -func memdbCurrentTimeInt64(tls *libc.TLS, pVfs uintptr, p uintptr) int32 { /* sqlite3.c:49753:12: */ +func memdbCurrentTimeInt64(tls *libc.TLS, pVfs uintptr, p uintptr) int32 { /* sqlite3.c:49763:12: */ return (*struct { f func(*libc.TLS, uintptr, uintptr) int32 })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer((*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData)).FxCurrentTimeInt64})).f(tls, (*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, p) @@ -25498,7 +25508,7 @@ func memdbCurrentTimeInt64(tls *libc.TLS, pVfs uintptr, p uintptr) int32 { /* sq // Translate a database connection pointer and schema name into a // MemFile pointer. -func memdbFromDbSchema(tls *libc.TLS, db uintptr, zSchema uintptr) uintptr { /* sqlite3.c:49761:16: */ +func memdbFromDbSchema(tls *libc.TLS, db uintptr, zSchema uintptr) uintptr { /* sqlite3.c:49771:16: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -25521,7 +25531,7 @@ func memdbFromDbSchema(tls *libc.TLS, db uintptr, zSchema uintptr) uintptr { /* } // Return the serialization of a database -func Xsqlite3_serialize(tls *libc.TLS, db uintptr, zSchema uintptr, piSize uintptr, mFlags uint32) uintptr { /* sqlite3.c:49777:26: */ +func Xsqlite3_serialize(tls *libc.TLS, db uintptr, zSchema uintptr, piSize uintptr, mFlags uint32) uintptr { /* sqlite3.c:49787:26: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -25612,7 +25622,7 @@ func Xsqlite3_serialize(tls *libc.TLS, db uintptr, zSchema uintptr, piSize uintp } // Convert zSchema to a MemDB and initialize its content. -func Xsqlite3_deserialize(tls *libc.TLS, db uintptr, zSchema uintptr, pData uintptr, szDb Sqlite3_int64, szBuf Sqlite3_int64, mFlags uint32) int32 { /* sqlite3.c:49858:16: */ +func Xsqlite3_deserialize(tls *libc.TLS, db uintptr, zSchema uintptr, pData uintptr, szDb Sqlite3_int64, szBuf Sqlite3_int64, mFlags uint32) int32 { /* sqlite3.c:49868:16: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -25707,7 +25717,7 @@ __10: // This routine is called when the extension is loaded. // Register the new VFS. -func Xsqlite3MemdbInit(tls *libc.TLS) int32 { /* sqlite3.c:49934:20: */ +func Xsqlite3MemdbInit(tls *libc.TLS) int32 { /* sqlite3.c:49944:20: */ var pLower uintptr = Xsqlite3_vfs_find(tls, uintptr(0)) var sz uint32 if pLower == uintptr(0) { @@ -25729,7 +25739,7 @@ func Xsqlite3MemdbInit(tls *libc.TLS) int32 { /* sqlite3.c:49934:20: */ // Create a new bitmap object able to handle bits between 0 and iSize, // inclusive. Return a pointer to the new object. Return NULL if // malloc fails. -func Xsqlite3BitvecCreate(tls *libc.TLS, iSize U32) uintptr { /* sqlite3.c:50066:23: */ +func Xsqlite3BitvecCreate(tls *libc.TLS, iSize U32) uintptr { /* sqlite3.c:50076:23: */ var p uintptr p = Xsqlite3MallocZero(tls, uint64(unsafe.Sizeof(Bitvec{}))) @@ -25742,7 +25752,7 @@ func Xsqlite3BitvecCreate(tls *libc.TLS, iSize U32) uintptr { /* sqlite3.c:50066 // Check to see if the i-th bit is set. Return true or false. // If p is NULL (if the bitmap has not been created) or if // i is out of range, then return false. -func Xsqlite3BitvecTestNotNull(tls *libc.TLS, p uintptr, i U32) int32 { /* sqlite3.c:50081:20: */ +func Xsqlite3BitvecTestNotNull(tls *libc.TLS, p uintptr, i U32) int32 { /* sqlite3.c:50091:20: */ i-- if i >= (*Bitvec)(unsafe.Pointer(p)).FiSize { @@ -25771,7 +25781,7 @@ func Xsqlite3BitvecTestNotNull(tls *libc.TLS, p uintptr, i U32) int32 { /* sqlit return int32(0) } -func Xsqlite3BitvecTest(tls *libc.TLS, p uintptr, i U32) int32 { /* sqlite3.c:50104:20: */ +func Xsqlite3BitvecTest(tls *libc.TLS, p uintptr, i U32) int32 { /* sqlite3.c:50114:20: */ return libc.Bool32(p != uintptr(0) && Xsqlite3BitvecTestNotNull(tls, p, i) != 0) } @@ -25785,7 +25795,7 @@ func Xsqlite3BitvecTest(tls *libc.TLS, p uintptr, i U32) int32 { /* sqlite3.c:50 // The calling function must ensure that p is a valid Bitvec object // and that the value for "i" is within range of the Bitvec object. // Otherwise the behavior is undefined. -func Xsqlite3BitvecSet(tls *libc.TLS, p uintptr, i U32) int32 { /* sqlite3.c:50120:20: */ +func Xsqlite3BitvecSet(tls *libc.TLS, p uintptr, i U32) int32 { /* sqlite3.c:50130:20: */ var h U32 var bin U32 var j uint32 @@ -25922,7 +25932,7 @@ bitvec_set_end: // // pBuf must be a pointer to at least BITVEC_SZ bytes of temporary storage // that BitvecClear can use to rebuilt its hash table. -func Xsqlite3BitvecClear(tls *libc.TLS, p uintptr, i U32, pBuf uintptr) { /* sqlite3.c:50191:21: */ +func Xsqlite3BitvecClear(tls *libc.TLS, p uintptr, i U32, pBuf uintptr) { /* sqlite3.c:50201:21: */ if p == uintptr(0) { return } @@ -25961,7 +25971,7 @@ func Xsqlite3BitvecClear(tls *libc.TLS, p uintptr, i U32, pBuf uintptr) { /* sql } // Destroy a bitmap object. Reclaim all memory used. -func Xsqlite3BitvecDestroy(tls *libc.TLS, p uintptr) { /* sqlite3.c:50228:21: */ +func Xsqlite3BitvecDestroy(tls *libc.TLS, p uintptr) { /* sqlite3.c:50238:21: */ if p == uintptr(0) { return } @@ -25976,7 +25986,7 @@ func Xsqlite3BitvecDestroy(tls *libc.TLS, p uintptr) { /* sqlite3.c:50228:21: */ // Return the value of the iSize parameter specified when Bitvec *p // was created. -func Xsqlite3BitvecSize(tls *libc.TLS, p uintptr) U32 { /* sqlite3.c:50243:20: */ +func Xsqlite3BitvecSize(tls *libc.TLS, p uintptr) U32 { /* sqlite3.c:50253:20: */ return (*Bitvec)(unsafe.Pointer(p)).FiSize } @@ -26013,7 +26023,7 @@ func Xsqlite3BitvecSize(tls *libc.TLS, p uintptr) U32 { /* sqlite3.c:50243:20: * // an error is returned. If they are the same, zero is returned. // // If a memory allocation error occurs, return -1. -func Xsqlite3BitvecBuiltinTest(tls *libc.TLS, sz int32, aOp uintptr) int32 { /* sqlite3.c:50288:20: */ +func Xsqlite3BitvecBuiltinTest(tls *libc.TLS, sz int32, aOp uintptr) int32 { /* sqlite3.c:50298:20: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -26176,7 +26186,7 @@ bitvec_end: // argument determines what operation to do. The 0x01 bit means first // remove pPage from the dirty list. The 0x02 means add pPage back to // the dirty list. Doing both moves pPage to the front of the dirty list. -func pcacheManageDirtyList(tls *libc.TLS, pPage uintptr, addRemove U8) { /* sqlite3.c:50523:13: */ +func pcacheManageDirtyList(tls *libc.TLS, pPage uintptr, addRemove U8) { /* sqlite3.c:50533:13: */ var p uintptr = (*PgHdr)(unsafe.Pointer(pPage)).FpCache if int32(addRemove)&PCACHE_DIRTYLIST_REMOVE != 0 { @@ -26238,7 +26248,7 @@ func pcacheManageDirtyList(tls *libc.TLS, pPage uintptr, addRemove U8) { /* sqli // Wrapper around the pluggable caches xUnpin method. If the cache is // being used for an in-memory database, this function is a no-op. -func pcacheUnpin(tls *libc.TLS, p uintptr) { /* sqlite3.c:50593:13: */ +func pcacheUnpin(tls *libc.TLS, p uintptr) { /* sqlite3.c:50603:13: */ if (*PCache)(unsafe.Pointer((*PgHdr)(unsafe.Pointer(p)).FpCache)).FbPurgeable != 0 { (*struct { @@ -26250,7 +26260,7 @@ func pcacheUnpin(tls *libc.TLS, p uintptr) { /* sqlite3.c:50593:13: */ // Compute the number of pages of cache requested. p->szCache is the // cache size requested by the "PRAGMA cache_size" statement. -func numberOfCachePages(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:50605:12: */ +func numberOfCachePages(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:50615:12: */ if (*PCache)(unsafe.Pointer(p)).FszCache >= 0 { // IMPLEMENTATION-OF: R-42059-47211 If the argument N is positive then the // suggested cache size is set to N. @@ -26275,7 +26285,7 @@ func numberOfCachePages(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:50605:12: // // Initialize and shutdown the page cache subsystem. Neither of these // functions are threadsafe. -func Xsqlite3PcacheInitialize(tls *libc.TLS) int32 { /* sqlite3.c:50627:20: */ +func Xsqlite3PcacheInitialize(tls *libc.TLS) int32 { /* sqlite3.c:50637:20: */ if Xsqlite3Config.Fpcache2.FxInit == uintptr(0) { // IMPLEMENTATION-OF: R-26801-64137 If the xInit() method is NULL, then the // built-in default page cache is used instead of the application defined @@ -26288,7 +26298,7 @@ func Xsqlite3PcacheInitialize(tls *libc.TLS) int32 { /* sqlite3.c:50627:20: */ })(unsafe.Pointer(&struct{ uintptr }{Xsqlite3Config.Fpcache2.FxInit})).f(tls, Xsqlite3Config.Fpcache2.FpArg) } -func Xsqlite3PcacheShutdown(tls *libc.TLS) { /* sqlite3.c:50637:21: */ +func Xsqlite3PcacheShutdown(tls *libc.TLS) { /* sqlite3.c:50647:21: */ if Xsqlite3Config.Fpcache2.FxShutdown != 0 { // IMPLEMENTATION-OF: R-26000-56589 The xShutdown() method may be NULL. (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{Xsqlite3Config.Fpcache2.FxShutdown})).f(tls, Xsqlite3Config.Fpcache2.FpArg) @@ -26296,7 +26306,7 @@ func Xsqlite3PcacheShutdown(tls *libc.TLS) { /* sqlite3.c:50637:21: */ } // Return the size in bytes of a PCache object. -func Xsqlite3PcacheSize(tls *libc.TLS) int32 { /* sqlite3.c:50647:20: */ +func Xsqlite3PcacheSize(tls *libc.TLS) int32 { /* sqlite3.c:50657:20: */ return int32(unsafe.Sizeof(PCache{})) } @@ -26310,7 +26320,7 @@ func Xsqlite3PcacheSize(tls *libc.TLS) int32 { /* sqlite3.c:50647:20: */ // but remaining content will be uninitialized. Though it is opaque // to this module, the extra space really ends up being the MemPage // structure in the pager. -func Xsqlite3PcacheOpen(tls *libc.TLS, szPage int32, szExtra int32, bPurgeable int32, xStress uintptr, pStress uintptr, p uintptr) int32 { /* sqlite3.c:50661:20: */ +func Xsqlite3PcacheOpen(tls *libc.TLS, szPage int32, szExtra int32, bPurgeable int32, xStress uintptr, pStress uintptr, p uintptr) int32 { /* sqlite3.c:50671:20: */ libc.Xmemset(tls, p, 0, uint64(unsafe.Sizeof(PCache{}))) (*PCache)(unsafe.Pointer(p)).FszPage = 1 (*PCache)(unsafe.Pointer(p)).FszExtra = szExtra @@ -26327,7 +26337,7 @@ func Xsqlite3PcacheOpen(tls *libc.TLS, szPage int32, szExtra int32, bPurgeable i // Change the page size for PCache object. The caller must ensure that there // are no outstanding page references when this function is called. -func Xsqlite3PcacheSetPageSize(tls *libc.TLS, pCache uintptr, szPage int32) int32 { /* sqlite3.c:50687:20: */ +func Xsqlite3PcacheSetPageSize(tls *libc.TLS, pCache uintptr, szPage int32) int32 { /* sqlite3.c:50697:20: */ if (*PCache)(unsafe.Pointer(pCache)).FszPage != 0 { var pNew uintptr @@ -26374,7 +26384,7 @@ func Xsqlite3PcacheSetPageSize(tls *libc.TLS, pCache uintptr, szPage int32) int3 // they can both (usually) operate without having to push values to // the stack on entry and pop them back off on exit, which saves a // lot of pushing and popping. -func Xsqlite3PcacheFetch(tls *libc.TLS, pCache uintptr, pgno Pgno, createFlag int32) uintptr { /* sqlite3.c:50731:36: */ +func Xsqlite3PcacheFetch(tls *libc.TLS, pCache uintptr, pgno Pgno, createFlag int32) uintptr { /* sqlite3.c:50741:36: */ var eCreate int32 var pRes uintptr @@ -26402,7 +26412,7 @@ func Xsqlite3PcacheFetch(tls *libc.TLS, pCache uintptr, pgno Pgno, createFlag in // an OOM error. // // This routine should be invoked only after sqlite3PcacheFetch() fails. -func Xsqlite3PcacheFetchStress(tls *libc.TLS, pCache uintptr, pgno Pgno, ppPage uintptr) int32 { /* sqlite3.c:50772:20: */ +func Xsqlite3PcacheFetchStress(tls *libc.TLS, pCache uintptr, pgno Pgno, ppPage uintptr) int32 { /* sqlite3.c:50782:20: */ var pPg uintptr if int32((*PCache)(unsafe.Pointer(pCache)).FeCreate) == 2 { return 0 @@ -26453,7 +26463,7 @@ func Xsqlite3PcacheFetchStress(tls *libc.TLS, pCache uintptr, pgno Pgno, ppPage // This routine is broken out into a separate function since it // requires extra stack manipulation that can be avoided in the common // case. -func pcacheFetchFinishWithInit(tls *libc.TLS, pCache uintptr, pgno Pgno, pPage uintptr) uintptr { /* sqlite3.c:50828:30: */ +func pcacheFetchFinishWithInit(tls *libc.TLS, pCache uintptr, pgno Pgno, pPage uintptr) uintptr { /* sqlite3.c:50838:30: */ var pPgHdr uintptr pPgHdr = (*Sqlite3_pcache_page)(unsafe.Pointer(pPage)).FpExtra @@ -26473,7 +26483,7 @@ func pcacheFetchFinishWithInit(tls *libc.TLS, pCache uintptr, pgno Pgno, pPage u // sqlite3PcacheFetch() into an initialized PgHdr object. This routine // must be called after sqlite3PcacheFetch() in order to get a usable // result. -func Xsqlite3PcacheFetchFinish(tls *libc.TLS, pCache uintptr, pgno Pgno, pPage uintptr) uintptr { /* sqlite3.c:50854:22: */ +func Xsqlite3PcacheFetchFinish(tls *libc.TLS, pCache uintptr, pgno Pgno, pPage uintptr) uintptr { /* sqlite3.c:50864:22: */ var pPgHdr uintptr pPgHdr = (*Sqlite3_pcache_page)(unsafe.Pointer(pPage)).FpExtra @@ -26489,7 +26499,7 @@ func Xsqlite3PcacheFetchFinish(tls *libc.TLS, pCache uintptr, pgno Pgno, pPage u // Decrement the reference count on a page. If the page is clean and the // reference count drops to 0, then it is made eligible for recycling. -func Xsqlite3PcacheRelease(tls *libc.TLS, p uintptr) { /* sqlite3.c:50877:37: */ +func Xsqlite3PcacheRelease(tls *libc.TLS, p uintptr) { /* sqlite3.c:50887:37: */ (*PCache)(unsafe.Pointer((*PgHdr)(unsafe.Pointer(p)).FpCache)).FnRefSum-- if int32(libc.PreDecInt16(&(*PgHdr)(unsafe.Pointer(p)).FnRef, 1)) == 0 { @@ -26502,7 +26512,7 @@ func Xsqlite3PcacheRelease(tls *libc.TLS, p uintptr) { /* sqlite3.c:50877:37: */ } // Increase the reference count of a supplied page by 1. -func Xsqlite3PcacheRef(tls *libc.TLS, p uintptr) { /* sqlite3.c:50892:21: */ +func Xsqlite3PcacheRef(tls *libc.TLS, p uintptr) { /* sqlite3.c:50902:21: */ (*PgHdr)(unsafe.Pointer(p)).FnRef++ (*PCache)(unsafe.Pointer((*PgHdr)(unsafe.Pointer(p)).FpCache)).FnRefSum++ @@ -26511,7 +26521,7 @@ func Xsqlite3PcacheRef(tls *libc.TLS, p uintptr) { /* sqlite3.c:50892:21: */ // Drop a page from the cache. There must be exactly one reference to the // page. This function deletes that reference, so after it returns the // page pointed to by p is invalid. -func Xsqlite3PcacheDrop(tls *libc.TLS, p uintptr) { /* sqlite3.c:50904:21: */ +func Xsqlite3PcacheDrop(tls *libc.TLS, p uintptr) { /* sqlite3.c:50914:21: */ if int32((*PgHdr)(unsafe.Pointer(p)).Fflags)&PGHDR_DIRTY != 0 { pcacheManageDirtyList(tls, p, uint8(PCACHE_DIRTYLIST_REMOVE)) @@ -26524,7 +26534,7 @@ func Xsqlite3PcacheDrop(tls *libc.TLS, p uintptr) { /* sqlite3.c:50904:21: */ // Make sure the page is marked as dirty. If it isn't dirty already, // make it so. -func Xsqlite3PcacheMakeDirty(tls *libc.TLS, p uintptr) { /* sqlite3.c:50918:21: */ +func Xsqlite3PcacheMakeDirty(tls *libc.TLS, p uintptr) { /* sqlite3.c:50928:21: */ if int32((*PgHdr)(unsafe.Pointer(p)).Fflags)&(PGHDR_CLEAN|PGHDR_DONT_WRITE) != 0 { //OPTIMIZATION-IF-FALSE *(*U16)(unsafe.Pointer(p + 52)) &= libc.Uint16FromInt32(libc.CplInt32(PGHDR_DONT_WRITE)) @@ -26539,7 +26549,7 @@ func Xsqlite3PcacheMakeDirty(tls *libc.TLS, p uintptr) { /* sqlite3.c:50918:21: // Make sure the page is marked as clean. If it isn't clean already, // make it so. -func Xsqlite3PcacheMakeClean(tls *libc.TLS, p uintptr) { /* sqlite3.c:50938:21: */ +func Xsqlite3PcacheMakeClean(tls *libc.TLS, p uintptr) { /* sqlite3.c:50948:21: */ pcacheManageDirtyList(tls, p, uint8(PCACHE_DIRTYLIST_REMOVE)) *(*U16)(unsafe.Pointer(p + 52)) &= libc.Uint16FromInt32(libc.CplInt32(PGHDR_DIRTY | PGHDR_NEED_SYNC | PGHDR_WRITEABLE)) @@ -26551,7 +26561,7 @@ func Xsqlite3PcacheMakeClean(tls *libc.TLS, p uintptr) { /* sqlite3.c:50938:21: } // Make every page in the cache clean. -func Xsqlite3PcacheCleanAll(tls *libc.TLS, pCache uintptr) { /* sqlite3.c:50955:21: */ +func Xsqlite3PcacheCleanAll(tls *libc.TLS, pCache uintptr) { /* sqlite3.c:50965:21: */ var p uintptr for libc.AssignUintptr(&p, (*PCache)(unsafe.Pointer(pCache)).FpDirty) != uintptr(0) { @@ -26560,7 +26570,7 @@ func Xsqlite3PcacheCleanAll(tls *libc.TLS, pCache uintptr) { /* sqlite3.c:50955: } // Clear the PGHDR_NEED_SYNC and PGHDR_WRITEABLE flag from all dirty pages. -func Xsqlite3PcacheClearWritable(tls *libc.TLS, pCache uintptr) { /* sqlite3.c:50966:21: */ +func Xsqlite3PcacheClearWritable(tls *libc.TLS, pCache uintptr) { /* sqlite3.c:50976:21: */ var p uintptr for p = (*PCache)(unsafe.Pointer(pCache)).FpDirty; p != 0; p = (*PgHdr)(unsafe.Pointer(p)).FpDirtyNext { @@ -26570,7 +26580,7 @@ func Xsqlite3PcacheClearWritable(tls *libc.TLS, pCache uintptr) { /* sqlite3.c:5 } // Clear the PGHDR_NEED_SYNC flag from all dirty pages. -func Xsqlite3PcacheClearSyncFlags(tls *libc.TLS, pCache uintptr) { /* sqlite3.c:50978:21: */ +func Xsqlite3PcacheClearSyncFlags(tls *libc.TLS, pCache uintptr) { /* sqlite3.c:50988:21: */ var p uintptr for p = (*PCache)(unsafe.Pointer(pCache)).FpDirty; p != 0; p = (*PgHdr)(unsafe.Pointer(p)).FpDirtyNext { *(*U16)(unsafe.Pointer(p + 52)) &= libc.Uint16FromInt32(libc.CplInt32(PGHDR_NEED_SYNC)) @@ -26579,7 +26589,7 @@ func Xsqlite3PcacheClearSyncFlags(tls *libc.TLS, pCache uintptr) { /* sqlite3.c: } // Change the page number of page p to newPgno. -func Xsqlite3PcacheMove(tls *libc.TLS, p uintptr, newPgno Pgno) { /* sqlite3.c:50989:21: */ +func Xsqlite3PcacheMove(tls *libc.TLS, p uintptr, newPgno Pgno) { /* sqlite3.c:50999:21: */ var pCache uintptr = (*PgHdr)(unsafe.Pointer(p)).FpCache (*struct { @@ -26598,7 +26608,7 @@ func Xsqlite3PcacheMove(tls *libc.TLS, p uintptr, newPgno Pgno) { /* sqlite3.c:5 // If there is a reference to page 1 and the pgno parameter passed to this // function is 0, then the data area associated with page 1 is zeroed, but // the page object is not dropped. -func Xsqlite3PcacheTruncate(tls *libc.TLS, pCache uintptr, pgno Pgno) { /* sqlite3.c:51011:21: */ +func Xsqlite3PcacheTruncate(tls *libc.TLS, pCache uintptr, pgno Pgno) { /* sqlite3.c:51021:21: */ if (*PCache)(unsafe.Pointer(pCache)).FpCache != 0 { var p uintptr var pNext uintptr @@ -26632,19 +26642,19 @@ func Xsqlite3PcacheTruncate(tls *libc.TLS, pCache uintptr, pgno Pgno) { /* sqlit } // Close a cache. -func Xsqlite3PcacheClose(tls *libc.TLS, pCache uintptr) { /* sqlite3.c:51044:21: */ +func Xsqlite3PcacheClose(tls *libc.TLS, pCache uintptr) { /* sqlite3.c:51054:21: */ (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{Xsqlite3Config.Fpcache2.FxDestroy})).f(tls, (*PCache)(unsafe.Pointer(pCache)).FpCache) } // Discard the contents of the cache. -func Xsqlite3PcacheClear(tls *libc.TLS, pCache uintptr) { /* sqlite3.c:51053:21: */ +func Xsqlite3PcacheClear(tls *libc.TLS, pCache uintptr) { /* sqlite3.c:51063:21: */ Xsqlite3PcacheTruncate(tls, pCache, uint32(0)) } // Merge two lists of pages connected by pDirty and in pgno order. // Do not bother fixing the pDirtyPrev pointers. -func pcacheMergeDirtyList(tls *libc.TLS, pA uintptr, pB uintptr) uintptr { /* sqlite3.c:51061:14: */ +func pcacheMergeDirtyList(tls *libc.TLS, pA uintptr, pB uintptr) uintptr { /* sqlite3.c:51071:14: */ bp := tls.Alloc(72) defer tls.Free(72) @@ -26683,7 +26693,7 @@ func pcacheMergeDirtyList(tls *libc.TLS, pA uintptr, pB uintptr) uintptr { /* sq // there cannot be more than 31 buckets required by the merge sorter. // One extra bucket is added to catch overflow in case something // ever changes to make the previous sentence incorrect. -func pcacheSortDirtyList(tls *libc.TLS, pIn uintptr) uintptr { /* sqlite3.c:51098:14: */ +func pcacheSortDirtyList(tls *libc.TLS, pIn uintptr) uintptr { /* sqlite3.c:51108:14: */ bp := tls.Alloc(256) defer tls.Free(256) @@ -26726,7 +26736,7 @@ func pcacheSortDirtyList(tls *libc.TLS, pIn uintptr) uintptr { /* sqlite3.c:5109 } // Return a list of all dirty pages in the cache, sorted by page number. -func Xsqlite3PcacheDirtyList(tls *libc.TLS, pCache uintptr) uintptr { /* sqlite3.c:51133:22: */ +func Xsqlite3PcacheDirtyList(tls *libc.TLS, pCache uintptr) uintptr { /* sqlite3.c:51143:22: */ var p uintptr for p = (*PCache)(unsafe.Pointer(pCache)).FpDirty; p != 0; p = (*PgHdr)(unsafe.Pointer(p)).FpDirtyNext { (*PgHdr)(unsafe.Pointer(p)).FpDirty = (*PgHdr)(unsafe.Pointer(p)).FpDirtyNext @@ -26738,17 +26748,17 @@ func Xsqlite3PcacheDirtyList(tls *libc.TLS, pCache uintptr) uintptr { /* sqlite3 // // This is not the total number of pages referenced, but the sum of the // reference count for all pages. -func Xsqlite3PcacheRefCount(tls *libc.TLS, pCache uintptr) int32 { /* sqlite3.c:51147:20: */ +func Xsqlite3PcacheRefCount(tls *libc.TLS, pCache uintptr) int32 { /* sqlite3.c:51157:20: */ return (*PCache)(unsafe.Pointer(pCache)).FnRefSum } // Return the number of references to the page supplied as an argument. -func Xsqlite3PcachePageRefcount(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:51154:20: */ +func Xsqlite3PcachePageRefcount(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:51164:20: */ return int32((*PgHdr)(unsafe.Pointer(p)).FnRef) } // Return the total number of pages in the cache. -func Xsqlite3PcachePagecount(tls *libc.TLS, pCache uintptr) int32 { /* sqlite3.c:51161:20: */ +func Xsqlite3PcachePagecount(tls *libc.TLS, pCache uintptr) int32 { /* sqlite3.c:51171:20: */ return (*struct { f func(*libc.TLS, uintptr) int32 @@ -26756,7 +26766,7 @@ func Xsqlite3PcachePagecount(tls *libc.TLS, pCache uintptr) int32 { /* sqlite3.c } // Set the suggested cache-size value. -func Xsqlite3PcacheSetCachesize(tls *libc.TLS, pCache uintptr, mxPage int32) { /* sqlite3.c:51178:21: */ +func Xsqlite3PcacheSetCachesize(tls *libc.TLS, pCache uintptr, mxPage int32) { /* sqlite3.c:51188:21: */ (*PCache)(unsafe.Pointer(pCache)).FszCache = mxPage (*struct { @@ -26768,7 +26778,7 @@ func Xsqlite3PcacheSetCachesize(tls *libc.TLS, pCache uintptr, mxPage int32) { / // Set the suggested cache-spill value. Make no changes if if the // argument is zero. Return the effective cache-spill size, which will // be the larger of the szSpill and szCache. -func Xsqlite3PcacheSetSpillsize(tls *libc.TLS, p uintptr, mxPage int32) int32 { /* sqlite3.c:51190:20: */ +func Xsqlite3PcacheSetSpillsize(tls *libc.TLS, p uintptr, mxPage int32) int32 { /* sqlite3.c:51200:20: */ var res int32 if mxPage != 0 { @@ -26785,20 +26795,20 @@ func Xsqlite3PcacheSetSpillsize(tls *libc.TLS, p uintptr, mxPage int32) int32 { } // Free up as much memory as possible from the page cache. -func Xsqlite3PcacheShrink(tls *libc.TLS, pCache uintptr) { /* sqlite3.c:51207:21: */ +func Xsqlite3PcacheShrink(tls *libc.TLS, pCache uintptr) { /* sqlite3.c:51217:21: */ (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{Xsqlite3Config.Fpcache2.FxShrink})).f(tls, (*PCache)(unsafe.Pointer(pCache)).FpCache) } // Return the size of the header added by this middleware layer // in the page-cache hierarchy. -func Xsqlite3HeaderSizePcache(tls *libc.TLS) int32 { /* sqlite3.c:51216:20: */ +func Xsqlite3HeaderSizePcache(tls *libc.TLS) int32 { /* sqlite3.c:51226:20: */ return int32((uint64(unsafe.Sizeof(PgHdr{})) + uint64(7)) & libc.Uint64FromInt32(libc.CplInt32(7))) } // Return the number of dirty pages currently in the cache, as a percentage // of the configured cache size. -func Xsqlite3PCachePercentDirty(tls *libc.TLS, pCache uintptr) int32 { /* sqlite3.c:51222:20: */ +func Xsqlite3PCachePercentDirty(tls *libc.TLS, pCache uintptr) int32 { /* sqlite3.c:51232:20: */ var pDirty uintptr var nDirty int32 = 0 var nCache int32 = numberOfCachePages(tls, pCache) @@ -26913,7 +26923,7 @@ type PCache11 = struct { FapHash uintptr FpFree uintptr FpBulk uintptr -} /* sqlite3.c:51339:9 */ +} /* sqlite3.c:51349:9 */ //************* End of pcache.c ********************************************* //************* Begin file pcache1.c **************************************** @@ -26999,7 +27009,7 @@ type PCache11 = struct { // common workloads. // #include "sqliteInt.h" -type PCache1 = PCache11 /* sqlite3.c:51339:24 */ +type PCache1 = PCache11 /* sqlite3.c:51349:24 */ type PgHdr11 = struct { Fpage Sqlite3_pcache_page FiKey uint32 @@ -27009,12 +27019,12 @@ type PgHdr11 = struct { FpCache uintptr FpLruNext uintptr FpLruPrev uintptr -} /* sqlite3.c:51339:9 */ +} /* sqlite3.c:51349:9 */ -type PgHdr1 = PgHdr11 /* sqlite3.c:51340:23 */ -type PgFreeslot1 = struct{ FpNext uintptr } /* sqlite3.c:51341:9 */ +type PgHdr1 = PgHdr11 /* sqlite3.c:51350:23 */ +type PgFreeslot1 = struct{ FpNext uintptr } /* sqlite3.c:51351:9 */ -type PgFreeslot = PgFreeslot1 /* sqlite3.c:51341:27 */ +type PgFreeslot = PgFreeslot1 /* sqlite3.c:51351:27 */ type PGroup1 = struct { Fmutex uintptr FnMaxPage uint32 @@ -27022,9 +27032,9 @@ type PGroup1 = struct { FmxPinned uint32 FnPurgeable uint32 Flru PgHdr1 -} /* sqlite3.c:51339:9 */ +} /* sqlite3.c:51349:9 */ -type PGroup = PGroup1 /* sqlite3.c:51342:23 */ +type PGroup = PGroup1 /* sqlite3.c:51352:23 */ // Global data used by this cache. type PCacheGlobal = struct { @@ -27041,10 +27051,10 @@ type PCacheGlobal = struct { FpFree uintptr FnFreeSlot int32 FbUnderPressure int32 -} /* sqlite3.c:51459:19 */ +} /* sqlite3.c:51469:19 */ // Global data used by this cache. -var pcache1_g PCacheGlobal /* sqlite3.c:51483:3: */ +var pcache1_g PCacheGlobal /* sqlite3.c:51493:3: */ // All code in this file should access the global structure above via the // alias "pcache1". This ensures that the WSD emulation is used when @@ -27062,7 +27072,7 @@ var pcache1_g PCacheGlobal /* sqlite3.c:51483:3: */ // // This routine is called from sqlite3_initialize() and so it is guaranteed // to be serialized already. There is no need for further mutexing. -func Xsqlite3PCacheBufferSetup(tls *libc.TLS, pBuf uintptr, sz int32, n int32) { /* sqlite3.c:51518:21: */ +func Xsqlite3PCacheBufferSetup(tls *libc.TLS, pBuf uintptr, sz int32, n int32) { /* sqlite3.c:51528:21: */ if pcache1_g.FisInit != 0 { var p uintptr if pBuf == uintptr(0) { @@ -27095,7 +27105,7 @@ func Xsqlite3PCacheBufferSetup(tls *libc.TLS, pBuf uintptr, sz int32, n int32) { // Try to initialize the pCache->pFree and pCache->pBulk fields. Return // true if pCache->pFree ends up containing one or more free pages. -func pcache1InitBulk(tls *libc.TLS, pCache uintptr) int32 { /* sqlite3.c:51544:12: */ +func pcache1InitBulk(tls *libc.TLS, pCache uintptr) int32 { /* sqlite3.c:51554:12: */ var szBulk I64 var zBulk uintptr if pcache1_g.FnInitPage == 0 { @@ -27140,7 +27150,7 @@ func pcache1InitBulk(tls *libc.TLS, pCache uintptr) int32 { /* sqlite3.c:51544:1 // // Multiple threads can run this routine at the same time. Global variables // in pcache1 need to be protected via mutex. -func pcache1Alloc(tls *libc.TLS, nByte int32) uintptr { /* sqlite3.c:51587:13: */ +func pcache1Alloc(tls *libc.TLS, nByte int32) uintptr { /* sqlite3.c:51597:13: */ var p uintptr = uintptr(0) if nByte <= pcache1_g.FszSlot { @@ -27173,7 +27183,7 @@ func pcache1Alloc(tls *libc.TLS, nByte int32) uintptr { /* sqlite3.c:51587:13: * } // Free an allocated buffer obtained from pcache1Alloc(). -func pcache1Free(tls *libc.TLS, p uintptr) { /* sqlite3.c:51625:13: */ +func pcache1Free(tls *libc.TLS, p uintptr) { /* sqlite3.c:51635:13: */ if p == uintptr(0) { return } @@ -27203,7 +27213,7 @@ func pcache1Free(tls *libc.TLS, p uintptr) { /* sqlite3.c:51625:13: */ } // Return the size of a pcache allocation -func pcache1MemSize(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:51658:12: */ +func pcache1MemSize(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:51668:12: */ if p >= pcache1_g.FpStart && p < pcache1_g.FpEnd { return pcache1_g.FszSlot } else { @@ -27217,7 +27227,7 @@ func pcache1MemSize(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:51658:12: */ } // Allocate a new page object initially associated with cache pCache. -func pcache1AllocPage(tls *libc.TLS, pCache uintptr, benignMalloc int32) uintptr { /* sqlite3.c:51675:15: */ +func pcache1AllocPage(tls *libc.TLS, pCache uintptr, benignMalloc int32) uintptr { /* sqlite3.c:51685:15: */ var p uintptr = uintptr(0) var pPg uintptr @@ -27255,7 +27265,7 @@ func pcache1AllocPage(tls *libc.TLS, pCache uintptr, benignMalloc int32) uintptr } // Free a page object allocated by pcache1AllocPage(). -func pcache1FreePage(tls *libc.TLS, p uintptr) { /* sqlite3.c:51727:13: */ +func pcache1FreePage(tls *libc.TLS, p uintptr) { /* sqlite3.c:51737:13: */ var pCache uintptr pCache = (*PgHdr1)(unsafe.Pointer(p)).FpCache @@ -27272,13 +27282,13 @@ func pcache1FreePage(tls *libc.TLS, p uintptr) { /* sqlite3.c:51727:13: */ // Malloc function used by SQLite to obtain space from the buffer configured // using sqlite3_config(SQLITE_CONFIG_PAGECACHE) option. If no such buffer // exists, this function falls back to sqlite3Malloc(). -func Xsqlite3PageMalloc(tls *libc.TLS, sz int32) uintptr { /* sqlite3.c:51749:21: */ +func Xsqlite3PageMalloc(tls *libc.TLS, sz int32) uintptr { /* sqlite3.c:51759:21: */ // These allocations are never very large return pcache1Alloc(tls, sz) } // Free an allocated buffer obtained from sqlite3PageMalloc(). -func Xsqlite3PageFree(tls *libc.TLS, p uintptr) { /* sqlite3.c:51757:21: */ +func Xsqlite3PageFree(tls *libc.TLS, p uintptr) { /* sqlite3.c:51767:21: */ pcache1Free(tls, p) } @@ -27296,7 +27306,7 @@ func Xsqlite3PageFree(tls *libc.TLS, p uintptr) { /* sqlite3.c:51757:21: */ // under memory pressure, then again it is desirable to avoid // allocating a new page cache entry in order to avoid stressing // the heap even further. -func pcache1UnderMemoryPressure(tls *libc.TLS, pCache uintptr) int32 { /* sqlite3.c:51778:12: */ +func pcache1UnderMemoryPressure(tls *libc.TLS, pCache uintptr) int32 { /* sqlite3.c:51788:12: */ if pcache1_g.FnSlot != 0 && (*PCache1)(unsafe.Pointer(pCache)).FszPage+(*PCache1)(unsafe.Pointer(pCache)).FszExtra <= pcache1_g.FszSlot { return pcache1_g.FbUnderPressure } else { @@ -27312,7 +27322,7 @@ func pcache1UnderMemoryPressure(tls *libc.TLS, pCache uintptr) int32 { /* sqlite // as the first argument. // // The PCache mutex must be held when this function is called. -func pcache1ResizeHash(tls *libc.TLS, p uintptr) { /* sqlite3.c:51795:13: */ +func pcache1ResizeHash(tls *libc.TLS, p uintptr) { /* sqlite3.c:51805:13: */ var apNew uintptr var nNew uint32 var i uint32 @@ -27353,7 +27363,7 @@ func pcache1ResizeHash(tls *libc.TLS, p uintptr) { /* sqlite3.c:51795:13: */ // LRU list, then this function is a no-op. // // The PGroup mutex must be held when this function is called. -func pcache1PinPage(tls *libc.TLS, pPage uintptr) uintptr { /* sqlite3.c:51836:15: */ +func pcache1PinPage(tls *libc.TLS, pPage uintptr) uintptr { /* sqlite3.c:51846:15: */ (*PgHdr1)(unsafe.Pointer((*PgHdr1)(unsafe.Pointer(pPage)).FpLruPrev)).FpLruNext = (*PgHdr1)(unsafe.Pointer(pPage)).FpLruNext (*PgHdr1)(unsafe.Pointer((*PgHdr1)(unsafe.Pointer(pPage)).FpLruNext)).FpLruPrev = (*PgHdr1)(unsafe.Pointer(pPage)).FpLruPrev @@ -27370,7 +27380,7 @@ func pcache1PinPage(tls *libc.TLS, pPage uintptr) uintptr { /* sqlite3.c:51836:1 // Also free the page if freePage is true. // // The PGroup mutex must be held when this function is called. -func pcache1RemoveFromHash(tls *libc.TLS, pPage uintptr, freeFlag int32) { /* sqlite3.c:51861:13: */ +func pcache1RemoveFromHash(tls *libc.TLS, pPage uintptr, freeFlag int32) { /* sqlite3.c:51871:13: */ var h uint32 var pCache uintptr = (*PgHdr1)(unsafe.Pointer(pPage)).FpCache var pp uintptr @@ -27388,7 +27398,7 @@ func pcache1RemoveFromHash(tls *libc.TLS, pPage uintptr, freeFlag int32) { /* sq // If there are currently more than nMaxPage pages allocated, try // to recycle pages to reduce the number allocated to nMaxPage. -func pcache1EnforceMaxPage(tls *libc.TLS, pCache uintptr) { /* sqlite3.c:51879:13: */ +func pcache1EnforceMaxPage(tls *libc.TLS, pCache uintptr) { /* sqlite3.c:51889:13: */ var pGroup uintptr = (*PCache1)(unsafe.Pointer(pCache)).FpGroup var p uintptr @@ -27409,7 +27419,7 @@ func pcache1EnforceMaxPage(tls *libc.TLS, pCache uintptr) { /* sqlite3.c:51879:1 // criteria are unpinned before they are discarded. // // The PCache mutex must be held when this function is called. -func pcache1TruncateUnsafe(tls *libc.TLS, pCache uintptr, iLimit uint32) { /* sqlite3.c:51904:13: */ +func pcache1TruncateUnsafe(tls *libc.TLS, pCache uintptr, iLimit uint32) { /* sqlite3.c:51914:13: */ var h uint32 var iStop uint32 @@ -27457,7 +27467,7 @@ func pcache1TruncateUnsafe(tls *libc.TLS, pCache uintptr, iLimit uint32) { /* sq //******* sqlite3_pcache Methods ********************************************* // Implementation of the sqlite3_pcache.xInit method. -func pcache1Init(tls *libc.TLS, NotUsed uintptr) int32 { /* sqlite3.c:51955:12: */ +func pcache1Init(tls *libc.TLS, NotUsed uintptr) int32 { /* sqlite3.c:51965:12: */ _ = NotUsed libc.Xmemset(tls, uintptr(unsafe.Pointer(&pcache1_g)), 0, uint64(unsafe.Sizeof(pcache1_g))) @@ -27495,7 +27505,7 @@ func pcache1Init(tls *libc.TLS, NotUsed uintptr) int32 { /* sqlite3.c:51955:12: // Implementation of the sqlite3_pcache.xShutdown method. // Note that the static mutex allocated in xInit does // not need to be freed. -func pcache1Shutdown(tls *libc.TLS, NotUsed uintptr) { /* sqlite3.c:52008:13: */ +func pcache1Shutdown(tls *libc.TLS, NotUsed uintptr) { /* sqlite3.c:52018:13: */ _ = NotUsed libc.Xmemset(tls, uintptr(unsafe.Pointer(&pcache1_g)), 0, uint64(unsafe.Sizeof(pcache1_g))) @@ -27504,7 +27514,7 @@ func pcache1Shutdown(tls *libc.TLS, NotUsed uintptr) { /* sqlite3.c:52008:13: */ // Implementation of the sqlite3_pcache.xCreate method. // // Allocate a new cache. -func pcache1Create(tls *libc.TLS, szPage int32, szExtra int32, bPurgeable int32) uintptr { /* sqlite3.c:52022:23: */ +func pcache1Create(tls *libc.TLS, szPage int32, szExtra int32, bPurgeable int32) uintptr { /* sqlite3.c:52032:23: */ var pCache uintptr // The newly created page cache var pGroup uintptr // The group the new page cache will belong to var sz int32 // Bytes of memory required to allocate the new cache @@ -27554,7 +27564,7 @@ func pcache1Create(tls *libc.TLS, szPage int32, szExtra int32, bPurgeable int32) // Implementation of the sqlite3_pcache.xCachesize method. // // Configure the cache_size limit for a cache. -func pcache1Cachesize(tls *libc.TLS, p uintptr, nMax int32) { /* sqlite3.c:52072:13: */ +func pcache1Cachesize(tls *libc.TLS, p uintptr, nMax int32) { /* sqlite3.c:52082:13: */ var pCache uintptr = p var n U32 @@ -27577,7 +27587,7 @@ func pcache1Cachesize(tls *libc.TLS, p uintptr, nMax int32) { /* sqlite3.c:52072 // Implementation of the sqlite3_pcache.xShrink method. // // Free up as much memory as possible. -func pcache1Shrink(tls *libc.TLS, p uintptr) { /* sqlite3.c:52097:13: */ +func pcache1Shrink(tls *libc.TLS, p uintptr) { /* sqlite3.c:52107:13: */ var pCache uintptr = p if (*PCache1)(unsafe.Pointer(pCache)).FbPurgeable != 0 { var pGroup uintptr = (*PCache1)(unsafe.Pointer(pCache)).FpGroup @@ -27592,7 +27602,7 @@ func pcache1Shrink(tls *libc.TLS, p uintptr) { /* sqlite3.c:52097:13: */ } // Implementation of the sqlite3_pcache.xPagecount method. -func pcache1Pagecount(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:52114:12: */ +func pcache1Pagecount(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:52124:12: */ var n int32 var pCache uintptr = p Xsqlite3_mutex_enter(tls, (*PGroup)(unsafe.Pointer((*PCache1)(unsafe.Pointer(pCache)).FpGroup)).Fmutex) @@ -27607,7 +27617,7 @@ func pcache1Pagecount(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:52114:12: * // This steps are broken out into a separate procedure because they are // usually not needed, and by avoiding the stack initialization required // for these steps, the main pcache1Fetch() procedure can run faster. -func pcache1FetchStage2(tls *libc.TLS, pCache uintptr, iKey uint32, createFlag int32) uintptr { /* sqlite3.c:52132:31: */ +func pcache1FetchStage2(tls *libc.TLS, pCache uintptr, iKey uint32, createFlag int32) uintptr { /* sqlite3.c:52142:31: */ var nPinned uint32 var pGroup uintptr = (*PCache1)(unsafe.Pointer(pCache)).FpGroup var pPage uintptr = uintptr(0) @@ -27725,7 +27735,7 @@ func pcache1FetchStage2(tls *libc.TLS, pCache uintptr, iKey uint32, createFlag i // the general case. pcache1FetchNoMutex() is a faster implementation for // the common case where pGroup->mutex is NULL. The pcache1Fetch() wrapper // invokes the appropriate routine. -func pcache1FetchNoMutex(tls *libc.TLS, p uintptr, iKey uint32, createFlag int32) uintptr { /* sqlite3.c:52260:15: */ +func pcache1FetchNoMutex(tls *libc.TLS, p uintptr, iKey uint32, createFlag int32) uintptr { /* sqlite3.c:52270:15: */ var pCache uintptr = p var pPage uintptr = uintptr(0) @@ -27754,7 +27764,7 @@ func pcache1FetchNoMutex(tls *libc.TLS, p uintptr, iKey uint32, createFlag int32 return uintptr(0) } -func pcache1FetchWithMutex(tls *libc.TLS, p uintptr, iKey uint32, createFlag int32) uintptr { /* sqlite3.c:52290:15: */ +func pcache1FetchWithMutex(tls *libc.TLS, p uintptr, iKey uint32, createFlag int32) uintptr { /* sqlite3.c:52300:15: */ var pCache uintptr = p var pPage uintptr @@ -27765,7 +27775,7 @@ func pcache1FetchWithMutex(tls *libc.TLS, p uintptr, iKey uint32, createFlag int return pPage } -func pcache1Fetch(tls *libc.TLS, p uintptr, iKey uint32, createFlag int32) uintptr { /* sqlite3.c:52305:28: */ +func pcache1Fetch(tls *libc.TLS, p uintptr, iKey uint32, createFlag int32) uintptr { /* sqlite3.c:52315:28: */ var pCache uintptr = p if (*PGroup)(unsafe.Pointer((*PCache1)(unsafe.Pointer(pCache)).FpGroup)).Fmutex != 0 { @@ -27779,7 +27789,7 @@ func pcache1Fetch(tls *libc.TLS, p uintptr, iKey uint32, createFlag int32) uintp // Implementation of the sqlite3_pcache.xUnpin method. // // Mark a page as unpinned (eligible for asynchronous recycling). -func pcache1Unpin(tls *libc.TLS, p uintptr, pPg uintptr, reuseUnlikely int32) { /* sqlite3.c:52336:13: */ +func pcache1Unpin(tls *libc.TLS, p uintptr, pPg uintptr, reuseUnlikely int32) { /* sqlite3.c:52346:13: */ var pCache uintptr = p var pPage uintptr = pPg var pGroup uintptr = (*PCache1)(unsafe.Pointer(pCache)).FpGroup @@ -27804,7 +27814,7 @@ func pcache1Unpin(tls *libc.TLS, p uintptr, pPg uintptr, reuseUnlikely int32) { } // Implementation of the sqlite3_pcache.xRekey method. -func pcache1Rekey(tls *libc.TLS, p uintptr, pPg uintptr, iOld uint32, iNew uint32) { /* sqlite3.c:52371:13: */ +func pcache1Rekey(tls *libc.TLS, p uintptr, pPg uintptr, iOld uint32, iNew uint32) { /* sqlite3.c:52381:13: */ var pCache uintptr = p var pPage uintptr = pPg var pp uintptr @@ -27835,7 +27845,7 @@ func pcache1Rekey(tls *libc.TLS, p uintptr, pPg uintptr, iOld uint32, iNew uint3 // Discard all unpinned pages in the cache with a page number equal to // or greater than parameter iLimit. Any pinned pages with a page number // equal to or greater than iLimit are implicitly unpinned. -func pcache1Truncate(tls *libc.TLS, p uintptr, iLimit uint32) { /* sqlite3.c:52411:13: */ +func pcache1Truncate(tls *libc.TLS, p uintptr, iLimit uint32) { /* sqlite3.c:52421:13: */ var pCache uintptr = p Xsqlite3_mutex_enter(tls, (*PGroup)(unsafe.Pointer((*PCache1)(unsafe.Pointer(pCache)).FpGroup)).Fmutex) if iLimit <= (*PCache1)(unsafe.Pointer(pCache)).FiMaxKey { @@ -27848,7 +27858,7 @@ func pcache1Truncate(tls *libc.TLS, p uintptr, iLimit uint32) { /* sqlite3.c:524 // Implementation of the sqlite3_pcache.xDestroy method. // // Destroy a cache allocated using pcache1Create(). -func pcache1Destroy(tls *libc.TLS, p uintptr) { /* sqlite3.c:52426:13: */ +func pcache1Destroy(tls *libc.TLS, p uintptr) { /* sqlite3.c:52436:13: */ var pCache uintptr = p var pGroup uintptr = (*PCache1)(unsafe.Pointer(pCache)).FpGroup @@ -27871,7 +27881,7 @@ func pcache1Destroy(tls *libc.TLS, p uintptr) { /* sqlite3.c:52426:13: */ // This function is called during initialization (sqlite3_initialize()) to // install the default pluggable cache module, assuming the user has not // already provided an alternative. -func Xsqlite3PCacheSetDefault(tls *libc.TLS) { /* sqlite3.c:52449:21: */ +func Xsqlite3PCacheSetDefault(tls *libc.TLS) { /* sqlite3.c:52459:21: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -27891,16 +27901,16 @@ var defaultMethods1 = Sqlite3_pcache_methods2{ FxTruncate: 0, // xTruncate FxDestroy: 0, // xDestroy FxShrink: 0, // xShrink -} /* sqlite3.c:52450:40 */ +} /* sqlite3.c:52460:40 */ // Return the size of the header on each page of this PCACHE implementation. -func Xsqlite3HeaderSizePcache1(tls *libc.TLS) int32 { /* sqlite3.c:52471:20: */ +func Xsqlite3HeaderSizePcache1(tls *libc.TLS) int32 { /* sqlite3.c:52481:20: */ return int32((uint64(unsafe.Sizeof(PgHdr1{})) + uint64(7)) & libc.Uint64FromInt32(libc.CplInt32(7))) } // Return the global mutex used by this PCACHE implementation. The // sqlite3_status() routine needs access to this mutex. -func Xsqlite3Pcache1Mutex(tls *libc.TLS) uintptr { /* sqlite3.c:52477:30: */ +func Xsqlite3Pcache1Mutex(tls *libc.TLS) uintptr { /* sqlite3.c:52487:30: */ return pcache1_g.Fmutex } @@ -27911,7 +27921,7 @@ func Xsqlite3Pcache1Mutex(tls *libc.TLS) uintptr { /* sqlite3.c:52477:30: */ // nReq is the number of bytes of memory required. Once this much has // been released, the function returns. The return value is the total number // of bytes of memory released. -func Xsqlite3PcacheReleaseMemory(tls *libc.TLS, nReq int32) int32 { /* sqlite3.c:52491:20: */ +func Xsqlite3PcacheReleaseMemory(tls *libc.TLS, nReq int32) int32 { /* sqlite3.c:52501:20: */ var nFree int32 = 0 if Xsqlite3Config.FpPage == uintptr(0) { @@ -28028,7 +28038,7 @@ type RowSetChunk = struct { // Allocate a RowSet object. Return NULL if a memory allocation // error occurs. -func Xsqlite3RowSetInit(tls *libc.TLS, db uintptr) uintptr { /* sqlite3.c:52671:23: */ +func Xsqlite3RowSetInit(tls *libc.TLS, db uintptr) uintptr { /* sqlite3.c:52681:23: */ var p uintptr = Xsqlite3DbMallocRawNN(tls, db, uint64(unsafe.Sizeof(RowSet{}))) if p != 0 { var N int32 = Xsqlite3DbMallocSize(tls, db, p) @@ -28048,7 +28058,7 @@ func Xsqlite3RowSetInit(tls *libc.TLS, db uintptr) uintptr { /* sqlite3.c:52671: // Deallocate all chunks from a RowSet. This frees all memory that // the RowSet has allocated over its lifetime. This routine is // the destructor for the RowSet. -func Xsqlite3RowSetClear(tls *libc.TLS, pArg uintptr) { /* sqlite3.c:52693:21: */ +func Xsqlite3RowSetClear(tls *libc.TLS, pArg uintptr) { /* sqlite3.c:52703:21: */ var p uintptr = pArg var pChunk uintptr var pNextChunk uintptr @@ -28067,7 +28077,7 @@ func Xsqlite3RowSetClear(tls *libc.TLS, pArg uintptr) { /* sqlite3.c:52693:21: * // Deallocate all chunks from a RowSet. This frees all memory that // the RowSet has allocated over its lifetime. This routine is // the destructor for the RowSet. -func Xsqlite3RowSetDelete(tls *libc.TLS, pArg uintptr) { /* sqlite3.c:52713:21: */ +func Xsqlite3RowSetDelete(tls *libc.TLS, pArg uintptr) { /* sqlite3.c:52723:21: */ Xsqlite3RowSetClear(tls, pArg) Xsqlite3DbFree(tls, (*RowSet)(unsafe.Pointer(pArg)).Fdb, pArg) } @@ -28078,7 +28088,7 @@ func Xsqlite3RowSetDelete(tls *libc.TLS, pArg uintptr) { /* sqlite3.c:52713:21: // // In an OOM situation, the RowSet.db->mallocFailed flag is set and this // routine returns NULL. -func rowSetEntryAlloc(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:52726:27: */ +func rowSetEntryAlloc(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:52736:27: */ if int32((*RowSet)(unsafe.Pointer(p)).FnFresh) == 0 { //OPTIMIZATION-IF-FALSE // We could allocate a fresh RowSetEntry each time one is needed, but it @@ -28101,7 +28111,7 @@ func rowSetEntryAlloc(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:52726:27: // // The mallocFailed flag of the database connection is set if a // memory allocation fails. -func Xsqlite3RowSetInsert(tls *libc.TLS, p uintptr, rowid I64) { /* sqlite3.c:52751:21: */ +func Xsqlite3RowSetInsert(tls *libc.TLS, p uintptr, rowid I64) { /* sqlite3.c:52761:21: */ var pEntry uintptr // The new entry var pLast uintptr // The last prior entry @@ -28131,7 +28141,7 @@ func Xsqlite3RowSetInsert(tls *libc.TLS, p uintptr, rowid I64) { /* sqlite3.c:52 // // The input lists are connected via pRight pointers and are // assumed to each already be in sorted order. -func rowSetEntryMerge(tls *libc.TLS, pA uintptr, pB uintptr) uintptr { /* sqlite3.c:52782:27: */ +func rowSetEntryMerge(tls *libc.TLS, pA uintptr, pB uintptr) uintptr { /* sqlite3.c:52792:27: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -28166,7 +28176,7 @@ func rowSetEntryMerge(tls *libc.TLS, pA uintptr, pB uintptr) uintptr { /* sqlite // Sort all elements on the list of RowSetEntry objects into order of // increasing v. -func rowSetEntrySort(tls *libc.TLS, pIn uintptr) uintptr { /* sqlite3.c:52817:27: */ +func rowSetEntrySort(tls *libc.TLS, pIn uintptr) uintptr { /* sqlite3.c:52827:27: */ bp := tls.Alloc(320) defer tls.Free(320) @@ -28202,7 +28212,7 @@ func rowSetEntrySort(tls *libc.TLS, pIn uintptr) uintptr { /* sqlite3.c:52817:27 // The input, pIn, is a binary tree (or subtree) of RowSetEntry objects. // Convert this tree into a linked list connected by the pRight pointers // and return pointers to the first and last elements of the new list. -func rowSetTreeToList(tls *libc.TLS, pIn uintptr, ppFirst uintptr, ppLast uintptr) { /* sqlite3.c:52846:13: */ +func rowSetTreeToList(tls *libc.TLS, pIn uintptr, ppFirst uintptr, ppLast uintptr) { /* sqlite3.c:52856:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -28233,7 +28243,7 @@ func rowSetTreeToList(tls *libc.TLS, pIn uintptr, ppFirst uintptr, ppLast uintpt // and leave *ppList set to NULL. // // Return a pointer to the root of the constructed binary tree. -func rowSetNDeepTree(tls *libc.TLS, ppList uintptr, iDepth int32) uintptr { /* sqlite3.c:52881:27: */ +func rowSetNDeepTree(tls *libc.TLS, ppList uintptr, iDepth int32) uintptr { /* sqlite3.c:52891:27: */ var p uintptr // Root of the new tree var pLeft uintptr // Left subtree if *(*uintptr)(unsafe.Pointer(ppList)) == uintptr(0) { //OPTIMIZATION-IF-TRUE @@ -28264,7 +28274,7 @@ func rowSetNDeepTree(tls *libc.TLS, ppList uintptr, iDepth int32) uintptr { /* s // Convert a sorted list of elements into a binary tree. Make the tree // as deep as it needs to be in order to contain the entire list. -func rowSetListToTree(tls *libc.TLS, pList uintptr) uintptr { /* sqlite3.c:52917:27: */ +func rowSetListToTree(tls *libc.TLS, pList uintptr) uintptr { /* sqlite3.c:52927:27: */ bp := tls.Alloc(8) defer tls.Free(8) *(*uintptr)(unsafe.Pointer(bp)) = pList @@ -28297,7 +28307,7 @@ func rowSetListToTree(tls *libc.TLS, pList uintptr) uintptr { /* sqlite3.c:52917 // been used. Older versions of RowSet allowed that, but as the // capability was not used by the code generator, it was removed // for code economy. -func Xsqlite3RowSetNext(tls *libc.TLS, p uintptr, pRowid uintptr) int32 { /* sqlite3.c:52949:20: */ +func Xsqlite3RowSetNext(tls *libc.TLS, p uintptr, pRowid uintptr) int32 { /* sqlite3.c:52959:20: */ // Cannot be used with sqlite3RowSetText() @@ -28330,7 +28340,7 @@ func Xsqlite3RowSetNext(tls *libc.TLS, p uintptr, pRowid uintptr) int32 { /* sql // If this is the first test of a new batch and if there exist entries // on pRowSet->pEntry, then sort those entries into the forest at // pRowSet->pForest so that they can be tested. -func Xsqlite3RowSetTest(tls *libc.TLS, pRowSet uintptr, iBatch int32, iRowid Sqlite3_int64) int32 { /* sqlite3.c:52983:20: */ +func Xsqlite3RowSetTest(tls *libc.TLS, pRowSet uintptr, iBatch int32, iRowid Sqlite3_int64) int32 { /* sqlite3.c:52993:20: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -28515,7 +28525,7 @@ type Wal1 = struct { // Connection to a write-ahead log (WAL) file. // There is one object of this type for each pager. -type Wal = Wal1 /* sqlite3.c:53125:20 */ +type Wal = Wal1 /* sqlite3.c:53135:20 */ //************* End of wal.h ************************************************ //************* Continuing where we left off in pager.c ********************* @@ -29284,7 +29294,7 @@ type PagerSavepoint1 = struct { // immediately following the last journal record written into the main // journal before the journal-header. This is required during savepoint // rollback (see pagerPlaybackSavepoint()). -type PagerSavepoint = PagerSavepoint1 /* sqlite3.c:53636:31 */ +type PagerSavepoint = PagerSavepoint1 /* sqlite3.c:53646:31 */ // Indexes for use with Pager.aStat[]. The Pager.aStat[] array contains // the values accessed by passing SQLITE_DBSTATUS_CACHE_HIT, CACHE_MISS @@ -29317,11 +29327,11 @@ type PagerSavepoint = PagerSavepoint1 /* sqlite3.c:53636:31 */ // is different for every journal, we minimize that risk. var aJournalMagic = [8]uint8{ uint8(0xd9), uint8(0xd5), uint8(0x05), uint8(0xf9), uint8(0x20), uint8(0xa1), uint8(0x63), uint8(0xd7), -} /* sqlite3.c:53958:28 */ +} /* sqlite3.c:53968:28 */ // Set the Pager.xGet method for the appropriate routine used to fetch // content from the pager. -func setGetterMethod(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:54251:13: */ +func setGetterMethod(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:54261:13: */ if (*Pager)(unsafe.Pointer(pPager)).FerrCode != 0 { (*Pager)(unsafe.Pointer(pPager)).FxGet = *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, Pgno, uintptr, int32) int32 @@ -29340,7 +29350,7 @@ func setGetterMethod(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:54251:13: */ // * The page-number is less than or equal to PagerSavepoint.nOrig, and // * The bit corresponding to the page-number is not set in // PagerSavepoint.pInSavepoint. -func subjRequiresPage(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:54272:12: */ +func subjRequiresPage(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:54282:12: */ var pPager uintptr = (*PgHdr)(unsafe.Pointer(pPg)).FpPager var p uintptr var pgno Pgno = (*PgHdr)(unsafe.Pointer(pPg)).Fpgno @@ -29362,7 +29372,7 @@ func subjRequiresPage(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:54272:12: // error code is something goes wrong. // // All values are stored on disk as big-endian. -func read32bits(tls *libc.TLS, fd uintptr, offset I64, pRes uintptr) int32 { /* sqlite3.c:54305:12: */ +func read32bits(tls *libc.TLS, fd uintptr, offset I64, pRes uintptr) int32 { /* sqlite3.c:54315:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -29379,7 +29389,7 @@ func read32bits(tls *libc.TLS, fd uintptr, offset I64, pRes uintptr) int32 { /* // Write a 32-bit integer into the given file descriptor. Return SQLITE_OK // on success or an error code is something goes wrong. -func write32bits(tls *libc.TLS, fd uintptr, offset I64, val U32) int32 { /* sqlite3.c:54324:12: */ +func write32bits(tls *libc.TLS, fd uintptr, offset I64, val U32) int32 { /* sqlite3.c:54334:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -29396,7 +29406,7 @@ func write32bits(tls *libc.TLS, fd uintptr, offset I64, val U32) int32 { /* sqli // Except, if Pager.eLock is set to UNKNOWN_LOCK when this function is // called, do not modify it. See the comment above the #define of // UNKNOWN_LOCK for an explanation of this. -func pagerUnlockDb(tls *libc.TLS, pPager uintptr, eLock int32) int32 { /* sqlite3.c:54339:12: */ +func pagerUnlockDb(tls *libc.TLS, pPager uintptr, eLock int32) int32 { /* sqlite3.c:54349:12: */ var rc int32 = SQLITE_OK if (*Sqlite3_file)(unsafe.Pointer((*Pager)(unsafe.Pointer(pPager)).Ffd)).FpMethods != uintptr(0) { @@ -29423,7 +29433,7 @@ func pagerUnlockDb(tls *libc.TLS, pPager uintptr, eLock int32) int32 { /* sqlite // called, do not modify it unless the new locking state is EXCLUSIVE_LOCK. // See the comment above the #define of UNKNOWN_LOCK for an explanation // of this. -func pagerLockDb(tls *libc.TLS, pPager uintptr, eLock int32) int32 { /* sqlite3.c:54367:12: */ +func pagerLockDb(tls *libc.TLS, pPager uintptr, eLock int32) int32 { /* sqlite3.c:54377:12: */ var rc int32 = SQLITE_OK if int32((*Pager)(unsafe.Pointer(pPager)).FeLock) < eLock || int32((*Pager)(unsafe.Pointer(pPager)).FeLock) == EXCLUSIVE_LOCK+1 { @@ -29457,7 +29467,7 @@ func pagerLockDb(tls *libc.TLS, pPager uintptr, eLock int32) int32 { /* sqlite3. // returned in this case. // // If neither optimization can be used, 0 is returned. -func jrnlBufferSize(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:54400:12: */ +func jrnlBufferSize(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:54410:12: */ _ = pPager @@ -29491,7 +29501,7 @@ func jrnlBufferSize(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:54400:12 // // If an error occurs while reading from the journal file, an SQLite // error code is returned. -func readSuperJournal(tls *libc.TLS, pJrnl uintptr, zSuper uintptr, nSuper U32) int32 { /* sqlite3.c:54505:12: */ +func readSuperJournal(tls *libc.TLS, pJrnl uintptr, zSuper uintptr, nSuper U32) int32 { /* sqlite3.c:54515:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -29550,7 +29560,7 @@ func readSuperJournal(tls *libc.TLS, pJrnl uintptr, zSuper uintptr, nSuper U32) // 100 512 // 2000 2048 // -func journalHdrOffset(tls *libc.TLS, pPager uintptr) I64 { /* sqlite3.c:54561:12: */ +func journalHdrOffset(tls *libc.TLS, pPager uintptr) I64 { /* sqlite3.c:54571:12: */ var offset I64 = int64(0) var c I64 = (*Pager)(unsafe.Pointer(pPager)).FjournalOff if c != 0 { @@ -29579,7 +29589,7 @@ func journalHdrOffset(tls *libc.TLS, pPager uintptr) I64 { /* sqlite3.c:54561:12 // // If an IO error occurs, abandon processing and return the IO error code. // Otherwise, return SQLITE_OK. -func zeroJournalHdr(tls *libc.TLS, pPager uintptr, doTruncate int32) int32 { /* sqlite3.c:54594:12: */ +func zeroJournalHdr(tls *libc.TLS, pPager uintptr, doTruncate int32) int32 { /* sqlite3.c:54604:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -29614,7 +29624,7 @@ func zeroJournalHdr(tls *libc.TLS, pPager uintptr, doTruncate int32) int32 { /* return rc } -var zeroHdr = [28]int8{0: int8(0)} /* sqlite3.c:54605:25 */ +var zeroHdr = [28]int8{0: int8(0)} /* sqlite3.c:54615:25 */ // The journal file must be open when this routine is called. A journal // header (JOURNAL_HDR_SZ bytes) is written into the journal file at the @@ -29629,7 +29639,7 @@ var zeroHdr = [28]int8{0: int8(0)} /* sqlite3.c:54605:25 */ // - 4 bytes: Database page size. // // Followed by (JOURNAL_HDR_SZ - 28) bytes of unused space. -func writeJournalHdr(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:54644:12: */ +func writeJournalHdr(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:54654:12: */ var rc int32 = SQLITE_OK // Return code var zHeader uintptr = (*Pager)(unsafe.Pointer(pPager)).FpTmpSpace // Temporary space used to build header var nHeader U32 = U32((*Pager)(unsafe.Pointer(pPager)).FpageSize) // Size of buffer pointed to by zHeader @@ -29739,7 +29749,7 @@ func writeJournalHdr(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:54644:1 // If the journal header file appears to be corrupted, SQLITE_DONE is // returned and *pNRec and *PDbSize are undefined. If JOURNAL_HDR_SZ bytes // cannot be read from the journal file an error code is returned. -func readJournalHdr(tls *libc.TLS, pPager uintptr, isHot int32, journalSize I64, pNRec uintptr, pDbSize uintptr) int32 { /* sqlite3.c:54762:12: */ +func readJournalHdr(tls *libc.TLS, pPager uintptr, isHot int32, journalSize I64, pNRec uintptr, pDbSize uintptr) int32 { /* sqlite3.c:54772:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -29849,7 +29859,7 @@ func readJournalHdr(tls *libc.TLS, pPager uintptr, isHot int32, journalSize I64, // // If zSuper is a NULL pointer (occurs for a single database transaction), // this call is a no-op. -func writeSuperJournal(tls *libc.TLS, pPager uintptr, zSuper uintptr) int32 { /* sqlite3.c:54887:12: */ +func writeSuperJournal(tls *libc.TLS, pPager uintptr, zSuper uintptr) int32 { /* sqlite3.c:54897:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -29909,21 +29919,21 @@ func writeSuperJournal(tls *libc.TLS, pPager uintptr, zSuper uintptr) int32 { /* } // Discard the entire contents of the in-memory page-cache. -func pager_reset(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:54955:13: */ +func pager_reset(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:54965:13: */ (*Pager)(unsafe.Pointer(pPager)).FiDataVersion++ Xsqlite3BackupRestart(tls, (*Pager)(unsafe.Pointer(pPager)).FpBackup) Xsqlite3PcacheClear(tls, (*Pager)(unsafe.Pointer(pPager)).FpPCache) } // Return the pPager->iDataVersion value -func Xsqlite3PagerDataVersion(tls *libc.TLS, pPager uintptr) U32 { /* sqlite3.c:54964:20: */ +func Xsqlite3PagerDataVersion(tls *libc.TLS, pPager uintptr) U32 { /* sqlite3.c:54974:20: */ return (*Pager)(unsafe.Pointer(pPager)).FiDataVersion } // Free all structures in the Pager.aSavepoint[] array and set both // Pager.aSavepoint and Pager.nSavepoint to zero. Close the sub-journal // if it is open and the pager is not in exclusive mode. -func releaseAllSavepoints(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:54973:13: */ +func releaseAllSavepoints(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:54983:13: */ var ii int32 // Iterator for looping through Pager.aSavepoint for ii = 0; ii < (*Pager)(unsafe.Pointer(pPager)).FnSavepoint; ii++ { Xsqlite3BitvecDestroy(tls, (*PagerSavepoint)(unsafe.Pointer((*Pager)(unsafe.Pointer(pPager)).FaSavepoint+uintptr(ii)*56)).FpInSavepoint) @@ -29940,7 +29950,7 @@ func releaseAllSavepoints(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:54973:13 // Set the bit number pgno in the PagerSavepoint.pInSavepoint // bitvecs of all open savepoints. Return SQLITE_OK if successful // or SQLITE_NOMEM if a malloc failure occurs. -func addToSavepointBitvecs(tls *libc.TLS, pPager uintptr, pgno Pgno) int32 { /* sqlite3.c:54992:12: */ +func addToSavepointBitvecs(tls *libc.TLS, pPager uintptr, pgno Pgno) int32 { /* sqlite3.c:55002:12: */ var ii int32 // Loop counter var rc int32 = SQLITE_OK // Result code @@ -29969,7 +29979,7 @@ func addToSavepointBitvecs(tls *libc.TLS, pPager uintptr, pgno Pgno) int32 { /* // or not, any journal file left in the file-system will be treated // as a hot-journal and rolled back the next time a read-transaction // is opened (by this or by any other connection). -func pager_unlock(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:55024:13: */ +func pager_unlock(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:55034:13: */ Xsqlite3BitvecDestroy(tls, (*Pager)(unsafe.Pointer(pPager)).FpInJournal) (*Pager)(unsafe.Pointer(pPager)).FpInJournal = uintptr(0) @@ -30061,7 +30071,7 @@ func pager_unlock(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:55024:13: */ // the persistent error occurred, then the rollback journal may need // to be replayed to restore the contents of the database file (as if // it were a hot-journal). -func pager_error(tls *libc.TLS, pPager uintptr, rc int32) int32 { /* sqlite3.c:55121:12: */ +func pager_error(tls *libc.TLS, pPager uintptr, rc int32) int32 { /* sqlite3.c:55131:12: */ var rc2 int32 = rc & 0xff if rc2 == SQLITE_FULL || rc2 == SQLITE_IOERR { @@ -30086,7 +30096,7 @@ func pager_error(tls *libc.TLS, pPager uintptr, rc int32) int32 { /* sqlite3.c:5 // file has been created already (via a spill on pagerStress()) and // when the number of dirty pages in memory exceeds 25% of the total // cache size. -func pagerFlushOnCommit(tls *libc.TLS, pPager uintptr, bCommit int32) int32 { /* sqlite3.c:55155:12: */ +func pagerFlushOnCommit(tls *libc.TLS, pPager uintptr, bCommit int32) int32 { /* sqlite3.c:55165:12: */ if int32((*Pager)(unsafe.Pointer(pPager)).FtempFile) == 0 { return 1 } @@ -30150,7 +30160,7 @@ func pagerFlushOnCommit(tls *libc.TLS, pPager uintptr, bCommit int32) int32 { /* // unlock operation fails as well, then the first error code related // to the first error encountered (the journal finalization one) is // returned. -func pager_end_transaction(tls *libc.TLS, pPager uintptr, hasSuper int32, bCommit int32) int32 { /* sqlite3.c:55215:12: */ +func pager_end_transaction(tls *libc.TLS, pPager uintptr, hasSuper int32, bCommit int32) int32 { /* sqlite3.c:55225:12: */ var rc int32 = SQLITE_OK // Error code from journal finalization operation var rc2 int32 = SQLITE_OK // Error code from db file unlock operation @@ -30277,7 +30287,7 @@ func pager_end_transaction(tls *libc.TLS, pPager uintptr, hasSuper int32, bCommi // malloc error occurs during a rollback, then this will itself cause // the pager to enter the ERROR state. Which will be cleared by the // call to pager_unlock(), as described above. -func pagerUnlockAndRollback(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:55362:13: */ +func pagerUnlockAndRollback(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:55372:13: */ if int32((*Pager)(unsafe.Pointer(pPager)).FeState) != PAGER_ERROR && int32((*Pager)(unsafe.Pointer(pPager)).FeState) != PAGER_OPEN { if int32((*Pager)(unsafe.Pointer(pPager)).FeState) >= PAGER_WRITER_LOCKED { @@ -30309,7 +30319,7 @@ func pagerUnlockAndRollback(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:55362: // It is much less likely that the two ends of the journal record will be // correct and the middle be corrupt. Thus, this "checksum" scheme, // though fast and simple, catches the mostly likely kind of corruption. -func pager_cksum(tls *libc.TLS, pPager uintptr, aData uintptr) U32 { /* sqlite3.c:55396:12: */ +func pager_cksum(tls *libc.TLS, pPager uintptr, aData uintptr) U32 { /* sqlite3.c:55406:12: */ var cksum U32 = (*Pager)(unsafe.Pointer(pPager)).FcksumInit // Checksum value to return var i int32 = int32((*Pager)(unsafe.Pointer(pPager)).FpageSize - int64(200)) // Loop counter for i > 0 { @@ -30354,7 +30364,7 @@ func pager_cksum(tls *libc.TLS, pPager uintptr, aData uintptr) U32 { /* sqlite3. // If this is a savepoint rollback, then memory may have to be dynamically // allocated by this function. If this is the case and an allocation fails, // SQLITE_NOMEM is returned. -func pager_playback_one_page(tls *libc.TLS, pPager uintptr, pOffset uintptr, pDone uintptr, isMainJrnl int32, isSavepnt int32) int32 { /* sqlite3.c:55443:12: */ +func pager_playback_one_page(tls *libc.TLS, pPager uintptr, pOffset uintptr, pDone uintptr, isMainJrnl int32, isSavepnt int32) int32 { /* sqlite3.c:55453:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -30588,7 +30598,7 @@ func pager_playback_one_page(tls *libc.TLS, pPager uintptr, pOffset uintptr, pDo // the entire contents of the super-journal file. This could be // a couple of kilobytes or so - potentially larger than the page // size. -func pager_delsuper(tls *libc.TLS, pPager uintptr, zSuper uintptr) int32 { /* sqlite3.c:55690:12: */ +func pager_delsuper(tls *libc.TLS, pPager uintptr, zSuper uintptr) int32 { /* sqlite3.c:55700:12: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -30754,7 +30764,7 @@ __14: // // If successful, return SQLITE_OK. If an IO error occurs while modifying // the database file, return the error code to the caller. -func pager_truncate(tls *libc.TLS, pPager uintptr, nPage Pgno) int32 { /* sqlite3.c:55808:12: */ +func pager_truncate(tls *libc.TLS, pPager uintptr, nPage Pgno) int32 { /* sqlite3.c:55818:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -30789,7 +30799,7 @@ func pager_truncate(tls *libc.TLS, pPager uintptr, nPage Pgno) int32 { /* sqlite // Return a sanitized version of the sector-size of OS file pFile. The // return value is guaranteed to lie between 32 and MAX_SECTOR_SIZE. -func Xsqlite3SectorSize(tls *libc.TLS, pFile uintptr) int32 { /* sqlite3.c:55844:20: */ +func Xsqlite3SectorSize(tls *libc.TLS, pFile uintptr) int32 { /* sqlite3.c:55854:20: */ var iRet int32 = Xsqlite3OsSectorSize(tls, pFile) if iRet < 32 { iRet = 512 @@ -30821,7 +30831,7 @@ func Xsqlite3SectorSize(tls *libc.TLS, pFile uintptr) int32 { /* sqlite3.c:55844 // (that is what POWERSAFE_OVERWRITE means), so we minimize the sector // size. For backwards compatibility of the rollback journal file format, // we cannot reduce the effective sector size below 512. -func setSectorSize(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:55878:13: */ +func setSectorSize(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:55888:13: */ if (*Pager)(unsafe.Pointer(pPager)).FtempFile != 0 || Xsqlite3OsDeviceCharacteristics(tls, (*Pager)(unsafe.Pointer(pPager)).Ffd)&SQLITE_IOCAP_POWERSAFE_OVERWRITE != 0 { @@ -30889,7 +30899,7 @@ func setSectorSize(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:55878:13: */ // If the journal really is hot, reset the pager cache prior rolling // back any content. If the journal is merely persistent, no reset is // needed. -func pager_playback(tls *libc.TLS, pPager uintptr, isHot int32) int32 { /* sqlite3.c:55951:12: */ +func pager_playback(tls *libc.TLS, pPager uintptr, isHot int32) int32 { /* sqlite3.c:55961:12: */ bp := tls.Alloc(40) defer tls.Free(40) @@ -31180,7 +31190,7 @@ __28: // // If an IO error occurs, then the IO error is returned to the caller. // Otherwise, SQLITE_OK is returned. -func readDbPage(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:56171:12: */ +func readDbPage(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:56181:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -31234,7 +31244,7 @@ func readDbPage(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:56171:12: */ // This is an unconditional update. See also the pager_incr_changecounter() // routine which only updates the change-counter if the update is actually // needed, as determined by the pPager->changeCountDone state variable. -func pager_write_changecounter(tls *libc.TLS, pPg uintptr) { /* sqlite3.c:56234:13: */ +func pager_write_changecounter(tls *libc.TLS, pPg uintptr) { /* sqlite3.c:56244:13: */ var change_counter U32 if pPg == uintptr(0) { return @@ -31261,7 +31271,7 @@ func pager_write_changecounter(tls *libc.TLS, pPg uintptr) { /* sqlite3.c:56234: // references, the page content is reloaded from the database. If the // attempt to reload content from the database is required and fails, // return an SQLite error code. Otherwise, SQLITE_OK. -func pagerUndoCallback(tls *libc.TLS, pCtx uintptr, iPg Pgno) int32 { /* sqlite3.c:56262:12: */ +func pagerUndoCallback(tls *libc.TLS, pCtx uintptr, iPg Pgno) int32 { /* sqlite3.c:56272:12: */ var rc int32 = SQLITE_OK var pPager uintptr = pCtx var pPg uintptr @@ -31292,7 +31302,7 @@ func pagerUndoCallback(tls *libc.TLS, pCtx uintptr, iPg Pgno) int32 { /* sqlite3 } // This function is called to rollback a transaction on a WAL database. -func pagerRollbackWal(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:56297:12: */ +func pagerRollbackWal(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:56307:12: */ var rc int32 // Return Code var pList uintptr // List of dirty pages to revert @@ -31323,7 +31333,7 @@ func pagerRollbackWal(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:56297: // // The list of pages passed into this routine is always sorted by page number. // Hence, if page 1 appears anywhere on the list, it will be the first page. -func pagerWalFrames(tls *libc.TLS, pPager uintptr, pList uintptr, nTruncate Pgno, isCommit int32) int32 { /* sqlite3.c:56329:12: */ +func pagerWalFrames(tls *libc.TLS, pPager uintptr, pList uintptr, nTruncate Pgno, isCommit int32) int32 { /* sqlite3.c:56339:12: */ bp := tls.Alloc(8) defer tls.Free(8) *(*uintptr)(unsafe.Pointer(bp)) = pList @@ -31371,7 +31381,7 @@ func pagerWalFrames(tls *libc.TLS, pPager uintptr, pList uintptr, nTruncate Pgno // makes a snapshot of the database at the current point in time and preserves // that snapshot for use by the reader in spite of concurrently changes by // other writers or checkpointers. -func pagerBeginReadTransaction(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:56396:12: */ +func pagerBeginReadTransaction(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:56406:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -31402,7 +31412,7 @@ func pagerBeginReadTransaction(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3 // If no error occurs, SQLITE_OK is returned and the size of the database // in pages is stored in *pnPage. Otherwise, an error code (perhaps // SQLITE_IOERR_FSTAT) is returned and *pnPage is left unmodified. -func pagerPagecount(tls *libc.TLS, pPager uintptr, pnPage uintptr) int32 { /* sqlite3.c:56429:12: */ +func pagerPagecount(tls *libc.TLS, pPager uintptr, pnPage uintptr) int32 { /* sqlite3.c:56439:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -31456,7 +31466,7 @@ func pagerPagecount(tls *libc.TLS, pPager uintptr, pnPage uintptr) int32 { /* sq // a WAL on a none-empty database, this ensures there is no race condition // between the xAccess() below and an xDelete() being executed by some // other connection. -func pagerOpenWalIfPresent(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:56489:12: */ +func pagerOpenWalIfPresent(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:56499:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -31524,7 +31534,7 @@ func pagerOpenWalIfPresent(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:5 // is reset to the value that it held at the start of the savepoint // (or transaction). No page with a page-number greater than this value // is played back. If one is encountered it is simply skipped. -func pagerPlaybackSavepoint(tls *libc.TLS, pPager uintptr, pSavepoint uintptr) int32 { /* sqlite3.c:56556:12: */ +func pagerPlaybackSavepoint(tls *libc.TLS, pPager uintptr, pSavepoint uintptr) int32 { /* sqlite3.c:56566:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -31633,28 +31643,28 @@ func pagerPlaybackSavepoint(tls *libc.TLS, pPager uintptr, pSavepoint uintptr) i // Change the maximum number of in-memory pages that are allowed // before attempting to recycle clean and unused pages. -func Xsqlite3PagerSetCachesize(tls *libc.TLS, pPager uintptr, mxPage int32) { /* sqlite3.c:56668:21: */ +func Xsqlite3PagerSetCachesize(tls *libc.TLS, pPager uintptr, mxPage int32) { /* sqlite3.c:56678:21: */ Xsqlite3PcacheSetCachesize(tls, (*Pager)(unsafe.Pointer(pPager)).FpPCache, mxPage) } // Change the maximum number of in-memory pages that are allowed // before attempting to spill pages to journal. -func Xsqlite3PagerSetSpillsize(tls *libc.TLS, pPager uintptr, mxPage int32) int32 { /* sqlite3.c:56676:20: */ +func Xsqlite3PagerSetSpillsize(tls *libc.TLS, pPager uintptr, mxPage int32) int32 { /* sqlite3.c:56686:20: */ return Xsqlite3PcacheSetSpillsize(tls, (*Pager)(unsafe.Pointer(pPager)).FpPCache, mxPage) } // Invoke SQLITE_FCNTL_MMAP_SIZE based on the current value of szMmap. -func pagerFixMaplimit(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:56683:13: */ +func pagerFixMaplimit(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:56693:13: */ } // Change the maximum size of any memory mapping made of the database file. -func Xsqlite3PagerSetMmapLimit(tls *libc.TLS, pPager uintptr, szMmap Sqlite3_int64) { /* sqlite3.c:56699:21: */ +func Xsqlite3PagerSetMmapLimit(tls *libc.TLS, pPager uintptr, szMmap Sqlite3_int64) { /* sqlite3.c:56709:21: */ (*Pager)(unsafe.Pointer(pPager)).FszMmap = szMmap pagerFixMaplimit(tls, pPager) } // Free as much memory as possible from the pager. -func Xsqlite3PagerShrink(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:56707:21: */ +func Xsqlite3PagerShrink(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:56717:21: */ Xsqlite3PcacheShrink(tls, (*Pager)(unsafe.Pointer(pPager)).FpPCache) } @@ -31707,7 +31717,7 @@ func Xsqlite3PagerShrink(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:56707:21: // // Numeric values associated with these states are OFF==1, NORMAL=2, // and FULL=3. -func Xsqlite3PagerSetFlags(tls *libc.TLS, pPager uintptr, pgFlags uint32) { /* sqlite3.c:56763:21: */ +func Xsqlite3PagerSetFlags(tls *libc.TLS, pPager uintptr, pgFlags uint32) { /* sqlite3.c:56773:21: */ var level uint32 = pgFlags & uint32(PAGER_SYNCHRONOUS_MASK) if (*Pager)(unsafe.Pointer(pPager)).FtempFile != 0 { (*Pager)(unsafe.Pointer(pPager)).FnoSync = U8(1) @@ -31771,7 +31781,7 @@ func Xsqlite3PagerSetFlags(tls *libc.TLS, pPager uintptr, pgFlags uint32) { /* s // SQLITE_OPEN_CREATE // SQLITE_OPEN_EXCLUSIVE // SQLITE_OPEN_DELETEONCLOSE -func pagerOpentemp(tls *libc.TLS, pPager uintptr, pFile uintptr, vfsFlags int32) int32 { /* sqlite3.c:56823:12: */ +func pagerOpentemp(tls *libc.TLS, pPager uintptr, pFile uintptr, vfsFlags int32) int32 { /* sqlite3.c:56833:12: */ var rc int32 // Return code vfsFlags = vfsFlags | (SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE | SQLITE_OPEN_EXCLUSIVE | SQLITE_OPEN_DELETEONCLOSE) @@ -31799,7 +31809,7 @@ func pagerOpentemp(tls *libc.TLS, pPager uintptr, pFile uintptr, vfsFlags int32) // If the busy-handler callback returns non-zero, the lock is // retried. If it returns zero, then the SQLITE_BUSY error is // returned to the caller of the pager API function. -func Xsqlite3PagerSetBusyHandler(tls *libc.TLS, pPager uintptr, xBusyHandler uintptr, pBusyHandlerArg uintptr) { /* sqlite3.c:56862:21: */ +func Xsqlite3PagerSetBusyHandler(tls *libc.TLS, pPager uintptr, xBusyHandler uintptr, pBusyHandlerArg uintptr) { /* sqlite3.c:56872:21: */ var ap uintptr (*Pager)(unsafe.Pointer(pPager)).FxBusyHandler = xBusyHandler (*Pager)(unsafe.Pointer(pPager)).FpBusyHandlerArg = pBusyHandlerArg @@ -31836,7 +31846,7 @@ func Xsqlite3PagerSetBusyHandler(tls *libc.TLS, pPager uintptr, xBusyHandler uin // conditions above is not true, the pager was in error state when this // function was called, or because the memory allocation attempt failed, // then *pPageSize is set to the old, retained page size before returning. -func Xsqlite3PagerSetPagesize(tls *libc.TLS, pPager uintptr, pPageSize uintptr, nReserve int32) int32 { /* sqlite3.c:56906:20: */ +func Xsqlite3PagerSetPagesize(tls *libc.TLS, pPager uintptr, pPageSize uintptr, nReserve int32) int32 { /* sqlite3.c:56916:20: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -31905,7 +31915,7 @@ func Xsqlite3PagerSetPagesize(tls *libc.TLS, pPager uintptr, pPageSize uintptr, // during rollback and will be overwritten whenever a rollback // occurs. But other modules are free to use it too, as long as // no rollbacks are happening. -func Xsqlite3PagerTempSpace(tls *libc.TLS, pPager uintptr) uintptr { /* sqlite3.c:56974:21: */ +func Xsqlite3PagerTempSpace(tls *libc.TLS, pPager uintptr) uintptr { /* sqlite3.c:56984:21: */ return (*Pager)(unsafe.Pointer(pPager)).FpTmpSpace } @@ -31914,7 +31924,7 @@ func Xsqlite3PagerTempSpace(tls *libc.TLS, pPager uintptr) uintptr { /* sqlite3. // maximum page count below the current size of the database. // // Regardless of mxPage, return the current maximum page count. -func Xsqlite3PagerMaxPageCount(tls *libc.TLS, pPager uintptr, mxPage Pgno) Pgno { /* sqlite3.c:56985:21: */ +func Xsqlite3PagerMaxPageCount(tls *libc.TLS, pPager uintptr, mxPage Pgno) Pgno { /* sqlite3.c:56995:21: */ if mxPage > Pgno(0) { (*Pager)(unsafe.Pointer(pPager)).FmxPgno = mxPage } @@ -31945,7 +31955,7 @@ func Xsqlite3PagerMaxPageCount(tls *libc.TLS, pPager uintptr, mxPage Pgno) Pgno // If any IO error apart from SQLITE_IOERR_SHORT_READ is encountered, // the error code is returned to the caller and the contents of the // output buffer undefined. -func Xsqlite3PagerReadFileheader(tls *libc.TLS, pPager uintptr, N int32, pDest uintptr) int32 { /* sqlite3.c:57035:20: */ +func Xsqlite3PagerReadFileheader(tls *libc.TLS, pPager uintptr, N int32, pDest uintptr) int32 { /* sqlite3.c:57045:20: */ var rc int32 = SQLITE_OK libc.Xmemset(tls, pDest, 0, uint64(N)) @@ -31968,7 +31978,7 @@ func Xsqlite3PagerReadFileheader(tls *libc.TLS, pPager uintptr, N int32, pDest u // // However, if the file is between 1 and bytes in size, then // this is considered a 1 page file. -func Xsqlite3PagerPagecount(tls *libc.TLS, pPager uintptr, pnPage uintptr) { /* sqlite3.c:57063:21: */ +func Xsqlite3PagerPagecount(tls *libc.TLS, pPager uintptr, pnPage uintptr) { /* sqlite3.c:57073:21: */ *(*int32)(unsafe.Pointer(pnPage)) = int32((*Pager)(unsafe.Pointer(pPager)).FdbSize) } @@ -31985,7 +31995,7 @@ func Xsqlite3PagerPagecount(tls *libc.TLS, pPager uintptr, pnPage uintptr) { /* // Return SQLITE_OK on success and an error code if we cannot obtain // the lock. If the lock is obtained successfully, set the Pager.state // variable to locktype before returning. -func pager_wait_on_lock(tls *libc.TLS, pPager uintptr, locktype int32) int32 { /* sqlite3.c:57084:12: */ +func pager_wait_on_lock(tls *libc.TLS, pPager uintptr, locktype int32) int32 { /* sqlite3.c:57094:12: */ var rc int32 // Return code // Check that this is either a no-op (because the requested lock is @@ -32030,7 +32040,7 @@ func pager_wait_on_lock(tls *libc.TLS, pPager uintptr, locktype int32) int32 { / // Once this function has been called, the transaction must either be // rolled back or committed. It is not safe to call this function and // then continue writing to the database. -func Xsqlite3PagerTruncateImage(tls *libc.TLS, pPager uintptr, nPage Pgno) { /* sqlite3.c:57155:21: */ +func Xsqlite3PagerTruncateImage(tls *libc.TLS, pPager uintptr, nPage Pgno) { /* sqlite3.c:57165:21: */ (*Pager)(unsafe.Pointer(pPager)).FdbSize = nPage @@ -32057,7 +32067,7 @@ func Xsqlite3PagerTruncateImage(tls *libc.TLS, pPager uintptr, nPage Pgno) { /* // // If everything goes as planned, SQLITE_OK is returned. Otherwise, // an SQLite error code. -func pagerSyncHotJournal(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:57186:12: */ +func pagerSyncHotJournal(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:57196:12: */ var rc int32 = SQLITE_OK if !(int32((*Pager)(unsafe.Pointer(pPager)).FnoSync) != 0) { rc = Xsqlite3OsSync(tls, (*Pager)(unsafe.Pointer(pPager)).Fjfd, SQLITE_SYNC_NORMAL) @@ -32070,7 +32080,7 @@ func pagerSyncHotJournal(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:571 // Release a reference to page pPg. pPg must have been returned by an // earlier call to pagerAcquireMapPage(). -func pagerReleaseMapPage(tls *libc.TLS, pPg uintptr) { /* sqlite3.c:57252:13: */ +func pagerReleaseMapPage(tls *libc.TLS, pPg uintptr) { /* sqlite3.c:57262:13: */ var pPager uintptr = (*PgHdr)(unsafe.Pointer(pPg)).FpPager (*Pager)(unsafe.Pointer(pPager)).FnMmapOut-- (*PgHdr)(unsafe.Pointer(pPg)).FpDirty = (*Pager)(unsafe.Pointer(pPager)).FpMmapFreelist @@ -32080,7 +32090,7 @@ func pagerReleaseMapPage(tls *libc.TLS, pPg uintptr) { /* sqlite3.c:57252:13: */ } // Free all PgHdr objects stored in the Pager.pMmapFreelist list. -func pagerFreeMapHdrs(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:57265:13: */ +func pagerFreeMapHdrs(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:57275:13: */ var p uintptr var pNext uintptr for p = (*Pager)(unsafe.Pointer(pPager)).FpMmapFreelist; p != 0; p = pNext { @@ -32093,7 +32103,7 @@ func pagerFreeMapHdrs(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:57265:13: */ // under the pager. Return SQLITE_OK if the database is still where it ought // to be on disk. Return non-zero (SQLITE_READONLY_DBMOVED or some other error // code from sqlite3OsAccess()) if the database has gone missing. -func databaseIsUnmoved(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:57279:12: */ +func databaseIsUnmoved(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:57289:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -32131,7 +32141,7 @@ func databaseIsUnmoved(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:57279 // is made to roll it back. If an error occurs during the rollback // a hot journal may be left in the filesystem but no error is returned // to the caller. -func Xsqlite3PagerClose(tls *libc.TLS, pPager uintptr, db uintptr) int32 { /* sqlite3.c:57313:20: */ +func Xsqlite3PagerClose(tls *libc.TLS, pPager uintptr, db uintptr) int32 { /* sqlite3.c:57323:20: */ var pTmp uintptr = (*Pager)(unsafe.Pointer(pPager)).FpTmpSpace Xsqlite3BeginBenignMalloc(tls) @@ -32180,7 +32190,7 @@ func Xsqlite3PagerClose(tls *libc.TLS, pPager uintptr, db uintptr) int32 { /* sq } // Increment the reference count for page pPg. -func Xsqlite3PagerRef(tls *libc.TLS, pPg uintptr) { /* sqlite3.c:57382:21: */ +func Xsqlite3PagerRef(tls *libc.TLS, pPg uintptr) { /* sqlite3.c:57392:21: */ Xsqlite3PcacheRef(tls, pPg) } @@ -32217,7 +32227,7 @@ func Xsqlite3PagerRef(tls *libc.TLS, pPg uintptr) { /* sqlite3.c:57382:21: */ // If successful, this routine clears the PGHDR_NEED_SYNC flag of every // page currently held in memory before returning SQLITE_OK. If an IO // error is encountered, then the IO error code is returned to the caller. -func syncJournal(tls *libc.TLS, pPager uintptr, newHdr int32) int32 { /* sqlite3.c:57421:12: */ +func syncJournal(tls *libc.TLS, pPager uintptr, newHdr int32) int32 { /* sqlite3.c:57431:12: */ bp := tls.Alloc(20) defer tls.Free(20) @@ -32331,7 +32341,7 @@ func syncJournal(tls *libc.TLS, pPager uintptr, newHdr int32) int32 { /* sqlite3 return SQLITE_OK } -var zerobyte U8 = U8(0) /* sqlite3.c:57472:27 */ +var zerobyte U8 = U8(0) /* sqlite3.c:57482:27 */ // The argument is the first in a linked list of dirty pages connected // by the PgHdr.pDirty pointer. This function writes each one of the @@ -32363,7 +32373,7 @@ var zerobyte U8 = U8(0) /* sqlite3.c:57472:27 */ // If everything is successful, SQLITE_OK is returned. If an IO error // occurs, an IO error code is returned. Or, if the EXCLUSIVE lock cannot // be obtained, SQLITE_BUSY is returned. -func pager_write_pagelist(tls *libc.TLS, pPager uintptr, pList uintptr) int32 { /* sqlite3.c:57564:12: */ +func pager_write_pagelist(tls *libc.TLS, pPager uintptr, pList uintptr) int32 { /* sqlite3.c:57574:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -32443,7 +32453,7 @@ func pager_write_pagelist(tls *libc.TLS, pPager uintptr, pList uintptr) int32 { // SQLITE_OK is returned if everything goes according to plan. An // SQLITE_IOERR_XXX error code is returned if a call to sqlite3OsOpen() // fails. -func openSubJournal(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:57655:12: */ +func openSubJournal(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:57665:12: */ var rc int32 = SQLITE_OK if !((*Sqlite3_file)(unsafe.Pointer((*Pager)(unsafe.Pointer(pPager)).Fsjfd)).FpMethods != uintptr(0)) { var flags int32 = SQLITE_OPEN_SUBJOURNAL | SQLITE_OPEN_READWRITE | @@ -32467,7 +32477,7 @@ func openSubJournal(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:57655:12 // error code if the attempt to write to the sub-journal fails, or // SQLITE_NOMEM if a malloc fails while setting a bit in a savepoint // bitvec. -func subjournalPage(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:57681:12: */ +func subjournalPage(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:57691:12: */ var rc int32 = SQLITE_OK var pPager uintptr = (*PgHdr)(unsafe.Pointer(pPg)).FpPager if int32((*Pager)(unsafe.Pointer(pPager)).FjournalMode) != PAGER_JOURNALMODE_OFF { @@ -32498,7 +32508,7 @@ func subjournalPage(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:57681:12: * return rc } -func subjournalPageIfRequired(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:57717:12: */ +func subjournalPageIfRequired(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:57727:12: */ if subjRequiresPage(tls, pPg) != 0 { return subjournalPage(tls, pPg) } else { @@ -32524,7 +32534,7 @@ func subjournalPageIfRequired(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:5 // page clean, the IO error code is returned. If the page cannot be // made clean for some other reason, but no error occurs, then SQLITE_OK // is returned by sqlite3PcacheMakeClean() is not called. -func pagerStress(tls *libc.TLS, p uintptr, pPg uintptr) int32 { /* sqlite3.c:57744:12: */ +func pagerStress(tls *libc.TLS, p uintptr, pPg uintptr) int32 { /* sqlite3.c:57754:12: */ var pPager uintptr = p var rc int32 = SQLITE_OK @@ -32586,7 +32596,7 @@ func pagerStress(tls *libc.TLS, p uintptr, pPg uintptr) int32 { /* sqlite3.c:577 } // Flush all unreferenced dirty pages to disk. -func Xsqlite3PagerFlush(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:57821:20: */ +func Xsqlite3PagerFlush(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:57831:20: */ var rc int32 = (*Pager)(unsafe.Pointer(pPager)).FerrCode if !(int32((*Pager)(unsafe.Pointer(pPager)).FmemDb) != 0) { var pList uintptr = Xsqlite3PcacheDirtyList(tls, (*Pager)(unsafe.Pointer(pPager)).FpPCache) @@ -32633,7 +32643,7 @@ func Xsqlite3PagerFlush(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:5782 // and error code returned. This function may return SQLITE_NOMEM // (sqlite3Malloc() is used to allocate memory), SQLITE_CANTOPEN or // various SQLITE_IO_XXX errors. -func Xsqlite3PagerOpen(tls *libc.TLS, pVfs uintptr, ppPager uintptr, zFilename uintptr, nExtra int32, flags int32, vfsFlags int32, xReinit uintptr) int32 { /* sqlite3.c:57870:20: */ +func Xsqlite3PagerOpen(tls *libc.TLS, pVfs uintptr, ppPager uintptr, zFilename uintptr, nExtra int32, flags int32, vfsFlags int32, xReinit uintptr) int32 { /* sqlite3.c:57880:20: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -32759,7 +32769,7 @@ __11: // bytes in length. This means the database cannot be opened, // as it will not be possible to open the journal file or even // check for a hot-journal before reading. - rc = Xsqlite3CantopenError(tls, 57957) + rc = Xsqlite3CantopenError(tls, 57967) __12: ; if !(rc != SQLITE_OK) { @@ -33078,7 +33088,7 @@ __37: // Return the sqlite3_file for the main database given the name // of the corresonding WAL or Journal name as passed into // xOpen. -func Xsqlite3_database_file_object(tls *libc.TLS, zName uintptr) uintptr { /* sqlite3.c:58242:25: */ +func Xsqlite3_database_file_object(tls *libc.TLS, zName uintptr) uintptr { /* sqlite3.c:58252:25: */ var pPager uintptr for int32(*(*int8)(unsafe.Pointer(zName + libc.UintptrFromInt32(-1)))) != 0 || int32(*(*int8)(unsafe.Pointer(zName + libc.UintptrFromInt32(-2)))) != 0 || int32(*(*int8)(unsafe.Pointer(zName + libc.UintptrFromInt32(-3)))) != 0 || int32(*(*int8)(unsafe.Pointer(zName + libc.UintptrFromInt32(-4)))) != 0 { zName-- @@ -33116,7 +33126,7 @@ func Xsqlite3_database_file_object(tls *libc.TLS, zName uintptr) uintptr { /* sq // set to 0 and SQLITE_OK returned. If an IO error occurs while trying // to determine whether or not a hot-journal file exists, the IO error // code is returned and the value of *pExists is undefined. -func hasHotJournal(tls *libc.TLS, pPager uintptr, pExists uintptr) int32 { /* sqlite3.c:58283:12: */ +func hasHotJournal(tls *libc.TLS, pPager uintptr, pExists uintptr) int32 { /* sqlite3.c:58293:12: */ bp := tls.Alloc(17) defer tls.Free(17) @@ -33227,7 +33237,7 @@ func hasHotJournal(tls *libc.TLS, pPager uintptr, pExists uintptr) int32 { /* sq // If everything is successful, SQLITE_OK is returned. If an IO error // occurs while locking the database, checking for a hot-journal file or // rolling back a journal file, the IO error code is returned. -func Xsqlite3PagerSharedLock(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:58403:20: */ +func Xsqlite3PagerSharedLock(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:58413:20: */ bp := tls.Alloc(28) defer tls.Free(28) @@ -33353,7 +33363,7 @@ __7: if !(rc == SQLITE_OK && *(*int32)(unsafe.Pointer(bp + 8))&SQLITE_OPEN_READONLY != 0) { goto __10 } - rc = Xsqlite3CantopenError(tls, 58487) + rc = Xsqlite3CantopenError(tls, 58497) Xsqlite3OsClose(tls, (*Pager)(unsafe.Pointer(pPager)).Fjfd) __10: ; @@ -33502,7 +33512,7 @@ __24: // Except, in locking_mode=EXCLUSIVE when there is nothing to in // the rollback journal, the unlock is not performed and there is // nothing to rollback, so this routine is a no-op. -func pagerUnlockIfUnused(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:58620:13: */ +func pagerUnlockIfUnused(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:58630:13: */ if Xsqlite3PcacheRefCount(tls, (*Pager)(unsafe.Pointer(pPager)).FpPCache) == 0 { // because page1 is never memory mapped pagerUnlockAndRollback(tls, pPager) @@ -33564,7 +33574,7 @@ func pagerUnlockIfUnused(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:58620:13: // has to go to disk, and could also playback an old journal if necessary. // Since Lookup() never goes to disk, it never has to deal with locks // or journal files. -func getPageNormal(tls *libc.TLS, pPager uintptr, pgno Pgno, ppPage uintptr, flags int32) int32 { /* sqlite3.c:58684:12: */ +func getPageNormal(tls *libc.TLS, pPager uintptr, pgno Pgno, ppPage uintptr, flags int32) int32 { /* sqlite3.c:58694:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -33577,7 +33587,7 @@ func getPageNormal(tls *libc.TLS, pPager uintptr, pgno Pgno, ppPage uintptr, fla if !(pgno == Pgno(0)) { goto __1 } - return Xsqlite3CorruptError(tls, 58700) + return Xsqlite3CorruptError(tls, 58710) __1: ; *(*uintptr)(unsafe.Pointer(bp /* pBase */)) = Xsqlite3PcacheFetch(tls, (*Pager)(unsafe.Pointer(pPager)).FpPCache, pgno, 3) @@ -33623,7 +33633,7 @@ __5: if !(pgno == Pgno(I64(Xsqlite3PendingByte)/(*Pager)(unsafe.Pointer(pPager)).FpageSize+int64(1))) { goto __7 } - rc = Xsqlite3CorruptError(tls, 58732) + rc = Xsqlite3CorruptError(tls, 58742) goto pager_acquire_err __7: ; @@ -33695,7 +33705,7 @@ __14: } // The page getter method for when the pager is an error state -func getPageError(tls *libc.TLS, pPager uintptr, pgno Pgno, ppPage uintptr, flags int32) int32 { /* sqlite3.c:58855:12: */ +func getPageError(tls *libc.TLS, pPager uintptr, pgno Pgno, ppPage uintptr, flags int32) int32 { /* sqlite3.c:58865:12: */ _ = pgno _ = flags @@ -33704,7 +33714,7 @@ func getPageError(tls *libc.TLS, pPager uintptr, pgno Pgno, ppPage uintptr, flag } // Dispatch all page fetch requests to the appropriate getter method. -func Xsqlite3PagerGet(tls *libc.TLS, pPager uintptr, pgno Pgno, ppPage uintptr, flags int32) int32 { /* sqlite3.c:58871:20: */ +func Xsqlite3PagerGet(tls *libc.TLS, pPager uintptr, pgno Pgno, ppPage uintptr, flags int32) int32 { /* sqlite3.c:58881:20: */ // printf("PAGE %u\n", pgno); fflush(stdout); return (*struct { f func(*libc.TLS, uintptr, Pgno, uintptr, int32) int32 @@ -33720,7 +33730,7 @@ func Xsqlite3PagerGet(tls *libc.TLS, pPager uintptr, pgno Pgno, ppPage uintptr, // in the page if the page is not already in cache. This routine // returns NULL if the page is not in cache or if a disk I/O error // has ever happened. -func Xsqlite3PagerLookup(tls *libc.TLS, pPager uintptr, pgno Pgno) uintptr { /* sqlite3.c:58892:23: */ +func Xsqlite3PagerLookup(tls *libc.TLS, pPager uintptr, pgno Pgno) uintptr { /* sqlite3.c:58902:23: */ var pPage uintptr pPage = Xsqlite3PcacheFetch(tls, (*Pager)(unsafe.Pointer(pPager)).FpPCache, pgno, 0) @@ -33741,7 +33751,7 @@ func Xsqlite3PagerLookup(tls *libc.TLS, pPager uintptr, pgno Pgno) uintptr { /* // Use sqlite3PagerUnrefPageOne() to release page1. This latter routine // checks the total number of outstanding pages and if the number of // pages reaches zero it drops the database lock. -func Xsqlite3PagerUnrefNotNull(tls *libc.TLS, pPg uintptr) { /* sqlite3.c:58915:21: */ +func Xsqlite3PagerUnrefNotNull(tls *libc.TLS, pPg uintptr) { /* sqlite3.c:58925:21: */ if int32((*DbPage)(unsafe.Pointer(pPg)).Fflags)&PGHDR_MMAP != 0 { // Page1 is never memory mapped @@ -33753,13 +33763,13 @@ func Xsqlite3PagerUnrefNotNull(tls *libc.TLS, pPg uintptr) { /* sqlite3.c:58915: } -func Xsqlite3PagerUnref(tls *libc.TLS, pPg uintptr) { /* sqlite3.c:58927:21: */ +func Xsqlite3PagerUnref(tls *libc.TLS, pPg uintptr) { /* sqlite3.c:58937:21: */ if pPg != 0 { Xsqlite3PagerUnrefNotNull(tls, pPg) } } -func Xsqlite3PagerUnrefPageOne(tls *libc.TLS, pPg uintptr) { /* sqlite3.c:58930:21: */ +func Xsqlite3PagerUnrefPageOne(tls *libc.TLS, pPg uintptr) { /* sqlite3.c:58940:21: */ var pPager uintptr // Page1 is never memory mapped @@ -33788,7 +33798,7 @@ func Xsqlite3PagerUnrefPageOne(tls *libc.TLS, pPg uintptr) { /* sqlite3.c:58930: // Return SQLITE_OK if everything is successful. Otherwise, return // SQLITE_NOMEM if the attempt to allocate Pager.pInJournal fails, or // an IO error code if opening or writing the journal file fails. -func pager_open_journal(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:58962:12: */ +func pager_open_journal(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:58972:12: */ var rc int32 = SQLITE_OK // Return code var pVfs uintptr = (*Pager)(unsafe.Pointer(pPager)).FpVfs // Local cache of vfs pointer @@ -33870,7 +33880,7 @@ func pager_open_journal(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:5896 // sub-journal. If the subjInMemory argument is zero, then any required // sub-journal is implemented in-memory if pPager is an in-memory database, // or using a temporary file otherwise. -func Xsqlite3PagerBegin(tls *libc.TLS, pPager uintptr, exFlag int32, subjInMemory int32) int32 { /* sqlite3.c:59051:20: */ +func Xsqlite3PagerBegin(tls *libc.TLS, pPager uintptr, exFlag int32, subjInMemory int32) int32 { /* sqlite3.c:59061:20: */ var rc int32 = SQLITE_OK if (*Pager)(unsafe.Pointer(pPager)).FerrCode != 0 { @@ -33930,7 +33940,7 @@ func Xsqlite3PagerBegin(tls *libc.TLS, pPager uintptr, exFlag int32, subjInMemor } // Write page pPg onto the end of the rollback journal. -func pagerAddPageToRollbackJournal(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:59120:28: */ +func pagerAddPageToRollbackJournal(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:59130:28: */ var pPager uintptr = (*PgHdr)(unsafe.Pointer(pPg)).FpPager var rc int32 var cksum U32 @@ -33980,7 +33990,7 @@ func pagerAddPageToRollbackJournal(tls *libc.TLS, pPg uintptr) int32 { /* sqlite // one of the journals, the corresponding bit is set in the // Pager.pInJournal bitvec and the PagerSavepoint.pInSavepoint bitvecs // of any open savepoints as appropriate. -func pager_write(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:59177:12: */ +func pager_write(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:59187:12: */ var pPager uintptr = (*PgHdr)(unsafe.Pointer(pPg)).FpPager var rc int32 = SQLITE_OK @@ -34054,7 +34064,7 @@ func pager_write(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:59177:12: */ // Usually, the sector size is less than or equal to the page size, in which // case pages can be individually written. This routine only runs in the // exceptional case where the page size is smaller than the sector size. -func pagerWriteLargeSector(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:59269:28: */ +func pagerWriteLargeSector(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:59279:28: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -34142,7 +34152,7 @@ func pagerWriteLargeSector(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:5926 // // If an error occurs, SQLITE_NOMEM or an IO error code is returned // as appropriate. Otherwise, SQLITE_OK. -func Xsqlite3PagerWrite(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:59363:20: */ +func Xsqlite3PagerWrite(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:59373:20: */ var pPager uintptr = (*PgHdr)(unsafe.Pointer(pPg)).FpPager if int32((*PgHdr)(unsafe.Pointer(pPg)).Fflags)&PGHDR_WRITEABLE != 0 && (*Pager)(unsafe.Pointer(pPager)).FdbSize >= (*PgHdr)(unsafe.Pointer(pPg)).Fpgno { @@ -34183,7 +34193,7 @@ func Xsqlite3PagerWrite(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:59363:2 // memory pressure forces page pPg out of the cache, the data does need // to be written out to disk so that it may be read back in if the // current transaction is rolled back. -func Xsqlite3PagerDontWrite(tls *libc.TLS, pPg uintptr) { /* sqlite3.c:59412:21: */ +func Xsqlite3PagerDontWrite(tls *libc.TLS, pPg uintptr) { /* sqlite3.c:59422:21: */ var pPager uintptr = (*PgHdr)(unsafe.Pointer(pPg)).FpPager if !(int32((*Pager)(unsafe.Pointer(pPager)).FtempFile) != 0) && int32((*PgHdr)(unsafe.Pointer(pPg)).Fflags)&PGHDR_DIRTY != 0 && (*Pager)(unsafe.Pointer(pPager)).FnSavepoint == 0 { @@ -34213,7 +34223,7 @@ func Xsqlite3PagerDontWrite(tls *libc.TLS, pPg uintptr) { /* sqlite3.c:59412:21: // if isDirect is non-zero, then the database file is updated directly // by writing an updated version of page 1 using a call to the // sqlite3OsWrite() function. -func pager_incr_changecounter(tls *libc.TLS, pPager uintptr, isDirectMode int32) int32 { /* sqlite3.c:59446:12: */ +func pager_incr_changecounter(tls *libc.TLS, pPager uintptr, isDirectMode int32) int32 { /* sqlite3.c:59456:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -34283,7 +34293,7 @@ func pager_incr_changecounter(tls *libc.TLS, pPager uintptr, isDirectMode int32) // // If successful, or if called on a pager for which it is a no-op, this // function returns SQLITE_OK. Otherwise, an IO error code is returned. -func Xsqlite3PagerSync(tls *libc.TLS, pPager uintptr, zSuper uintptr) int32 { /* sqlite3.c:59529:20: */ +func Xsqlite3PagerSync(tls *libc.TLS, pPager uintptr, zSuper uintptr) int32 { /* sqlite3.c:59539:20: */ var rc int32 = SQLITE_OK var pArg uintptr = zSuper rc = Xsqlite3OsFileControl(tls, (*Pager)(unsafe.Pointer(pPager)).Ffd, SQLITE_FCNTL_SYNC, pArg) @@ -34306,7 +34316,7 @@ func Xsqlite3PagerSync(tls *libc.TLS, pPager uintptr, zSuper uintptr) int32 { /* // successful, or the connection is in WAL mode, SQLITE_OK is returned. // Otherwise, either SQLITE_BUSY or an SQLITE_IOERR_XXX error code is // returned. -func Xsqlite3PagerExclusiveLock(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:59552:20: */ +func Xsqlite3PagerExclusiveLock(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:59562:20: */ var rc int32 = (*Pager)(unsafe.Pointer(pPager)).FerrCode if rc == SQLITE_OK { @@ -34342,7 +34352,7 @@ func Xsqlite3PagerExclusiveLock(tls *libc.TLS, pPager uintptr) int32 { /* sqlite // is not synced. The caller must call sqlite3PagerSync() directly to // sync the database file before calling CommitPhaseTwo() to delete the // journal file in this case. -func Xsqlite3PagerCommitPhaseOne(tls *libc.TLS, pPager uintptr, zSuper uintptr, noSync int32) int32 { /* sqlite3.c:59594:20: */ +func Xsqlite3PagerCommitPhaseOne(tls *libc.TLS, pPager uintptr, zSuper uintptr, noSync int32) int32 { /* sqlite3.c:59604:20: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -34532,7 +34542,7 @@ __19: // // If an error occurs, an IO error code is returned and the pager // moves into the error state. Otherwise, SQLITE_OK is returned. -func Xsqlite3PagerCommitPhaseTwo(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:59824:20: */ +func Xsqlite3PagerCommitPhaseTwo(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:59834:20: */ var rc int32 = SQLITE_OK // Return code // This routine should not be called if a prior error has occurred. @@ -34589,7 +34599,7 @@ func Xsqlite3PagerCommitPhaseTwo(tls *libc.TLS, pPager uintptr) int32 { /* sqlit // current transaction are either expelled from the cache or reverted to // their pre-transaction state by re-reading data from the database or // WAL files. The WAL transaction is then closed. -func Xsqlite3PagerRollback(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:59890:20: */ +func Xsqlite3PagerRollback(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:59900:20: */ var rc int32 = SQLITE_OK // Return code // PagerRollback() is a no-op if called in READER or OPEN state. If @@ -34633,13 +34643,13 @@ func Xsqlite3PagerRollback(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:5 // Return TRUE if the database file is opened read-only. Return FALSE // if the database is (in theory) writable. -func Xsqlite3PagerIsreadonly(tls *libc.TLS, pPager uintptr) U8 { /* sqlite3.c:59940:19: */ +func Xsqlite3PagerIsreadonly(tls *libc.TLS, pPager uintptr) U8 { /* sqlite3.c:59950:19: */ return (*Pager)(unsafe.Pointer(pPager)).FreadOnly } // Return the approximate number of bytes of memory currently // used by the pager and its associated cache. -func Xsqlite3PagerMemUsed(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:59957:20: */ +func Xsqlite3PagerMemUsed(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:59967:20: */ var perPageSize int32 = int32((*Pager)(unsafe.Pointer(pPager)).FpageSize + I64((*Pager)(unsafe.Pointer(pPager)).FnExtra) + I64(int32(uint64(unsafe.Sizeof(PgHdr{}))+uint64(5)*uint64(unsafe.Sizeof(uintptr(0)))))) return int32(I64(perPageSize*Xsqlite3PcachePagecount(tls, (*Pager)(unsafe.Pointer(pPager)).FpPCache)+ @@ -34648,7 +34658,7 @@ func Xsqlite3PagerMemUsed(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:59 } // Return the number of references to the specified page. -func Xsqlite3PagerPageRefcount(tls *libc.TLS, pPage uintptr) int32 { /* sqlite3.c:59968:20: */ +func Xsqlite3PagerPageRefcount(tls *libc.TLS, pPage uintptr) int32 { /* sqlite3.c:59978:20: */ return Xsqlite3PcachePageRefcount(tls, pPage) } @@ -34661,7 +34671,7 @@ func Xsqlite3PagerPageRefcount(tls *libc.TLS, pPage uintptr) int32 { /* sqlite3. // current cache hit or miss count, according to the value of eStat. If the // reset parameter is non-zero, the cache hit or miss count is zeroed before // returning. -func Xsqlite3PagerCacheStat(tls *libc.TLS, pPager uintptr, eStat int32, reset int32, pnVal uintptr) { /* sqlite3.c:60004:21: */ +func Xsqlite3PagerCacheStat(tls *libc.TLS, pPager uintptr, eStat int32, reset int32, pnVal uintptr) { /* sqlite3.c:60014:21: */ eStat = eStat - SQLITE_DBSTATUS_CACHE_HIT *(*int32)(unsafe.Pointer(pnVal)) += *(*int32)(unsafe.Pointer(pPager + 240 + uintptr(eStat)*4)) @@ -34671,7 +34681,7 @@ func Xsqlite3PagerCacheStat(tls *libc.TLS, pPager uintptr, eStat int32, reset in } // Return true if this is an in-memory or temp-file backed pager. -func Xsqlite3PagerIsMemdb(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:60027:20: */ +func Xsqlite3PagerIsMemdb(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:60037:20: */ return libc.Bool32((*Pager)(unsafe.Pointer(pPager)).FtempFile != 0 || (*Pager)(unsafe.Pointer(pPager)).FmemVfs != 0) } @@ -34683,7 +34693,7 @@ func Xsqlite3PagerIsMemdb(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:60 // If a memory allocation fails, SQLITE_NOMEM is returned. If an error // occurs while opening the sub-journal file, then an IO error code is // returned. Otherwise, SQLITE_OK. -func pagerOpenSavepoint(tls *libc.TLS, pPager uintptr, nSavepoint int32) int32 { /* sqlite3.c:60041:28: */ +func pagerOpenSavepoint(tls *libc.TLS, pPager uintptr, nSavepoint int32) int32 { /* sqlite3.c:60051:28: */ var rc int32 = SQLITE_OK // Return code var nCurrent int32 = (*Pager)(unsafe.Pointer(pPager)).FnSavepoint // Current number of savepoints var ii int32 // Iterator variable @@ -34723,7 +34733,7 @@ func pagerOpenSavepoint(tls *libc.TLS, pPager uintptr, nSavepoint int32) int32 { return rc } -func Xsqlite3PagerOpenSavepoint(tls *libc.TLS, pPager uintptr, nSavepoint int32) int32 { /* sqlite3.c:60087:20: */ +func Xsqlite3PagerOpenSavepoint(tls *libc.TLS, pPager uintptr, nSavepoint int32) int32 { /* sqlite3.c:60097:20: */ if nSavepoint > (*Pager)(unsafe.Pointer(pPager)).FnSavepoint && (*Pager)(unsafe.Pointer(pPager)).FuseJournal != 0 { return pagerOpenSavepoint(tls, pPager, nSavepoint) @@ -34761,7 +34771,7 @@ func Xsqlite3PagerOpenSavepoint(tls *libc.TLS, pPager uintptr, nSavepoint int32) // This function may return SQLITE_NOMEM if a memory allocation fails, // or an IO error code if an IO error occurs while rolling back a // savepoint. If no errors occur, SQLITE_OK is returned. -func Xsqlite3PagerSavepoint(tls *libc.TLS, pPager uintptr, op int32, iSavepoint int32) int32 { /* sqlite3.c:60129:20: */ +func Xsqlite3PagerSavepoint(tls *libc.TLS, pPager uintptr, op int32, iSavepoint int32) int32 { /* sqlite3.c:60139:20: */ var rc int32 = (*Pager)(unsafe.Pointer(pPager)).FerrCode if rc == SQLITE_OK && iSavepoint < (*Pager)(unsafe.Pointer(pPager)).FnSavepoint { @@ -34822,30 +34832,30 @@ func Xsqlite3PagerSavepoint(tls *libc.TLS, pPager uintptr, op int32, iSavepoint // // The return value to this routine is always safe to use with // sqlite3_uri_parameter() and sqlite3_filename_database() and friends. -func Xsqlite3PagerFilename(tls *libc.TLS, pPager uintptr, nullIfMemDb int32) uintptr { /* sqlite3.c:60210:27: */ +func Xsqlite3PagerFilename(tls *libc.TLS, pPager uintptr, nullIfMemDb int32) uintptr { /* sqlite3.c:60220:27: */ if nullIfMemDb != 0 && (*Pager)(unsafe.Pointer(pPager)).FmemDb != 0 { return uintptr(unsafe.Pointer(&zFake)) + 4 } return (*Pager)(unsafe.Pointer(pPager)).FzFilename } -var zFake = [8]int8{int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0)} /* sqlite3.c:60211:21 */ +var zFake = [8]int8{int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0)} /* sqlite3.c:60221:21 */ // Return the VFS structure for the pager. -func Xsqlite3PagerVfs(tls *libc.TLS, pPager uintptr) uintptr { /* sqlite3.c:60218:28: */ +func Xsqlite3PagerVfs(tls *libc.TLS, pPager uintptr) uintptr { /* sqlite3.c:60228:28: */ return (*Pager)(unsafe.Pointer(pPager)).FpVfs } // Return the file handle for the database file associated // with the pager. This might return NULL if the file has // not yet been opened. -func Xsqlite3PagerFile(tls *libc.TLS, pPager uintptr) uintptr { /* sqlite3.c:60227:29: */ +func Xsqlite3PagerFile(tls *libc.TLS, pPager uintptr) uintptr { /* sqlite3.c:60237:29: */ return (*Pager)(unsafe.Pointer(pPager)).Ffd } // Return the file handle for the journal file (if it exists). // This will be either the rollback journal or the WAL file. -func Xsqlite3PagerJrnlFile(tls *libc.TLS, pPager uintptr) uintptr { /* sqlite3.c:60235:29: */ +func Xsqlite3PagerJrnlFile(tls *libc.TLS, pPager uintptr) uintptr { /* sqlite3.c:60245:29: */ if (*Pager)(unsafe.Pointer(pPager)).FpWal != 0 { return Xsqlite3WalFile(tls, (*Pager)(unsafe.Pointer(pPager)).FpWal) } @@ -34853,7 +34863,7 @@ func Xsqlite3PagerJrnlFile(tls *libc.TLS, pPager uintptr) uintptr { /* sqlite3.c } // Return the full pathname of the journal file. -func Xsqlite3PagerJournalname(tls *libc.TLS, pPager uintptr) uintptr { /* sqlite3.c:60246:27: */ +func Xsqlite3PagerJournalname(tls *libc.TLS, pPager uintptr) uintptr { /* sqlite3.c:60256:27: */ return (*Pager)(unsafe.Pointer(pPager)).FzJournal } @@ -34880,7 +34890,7 @@ func Xsqlite3PagerJournalname(tls *libc.TLS, pPager uintptr) uintptr { /* sqlite // // This function may return SQLITE_NOMEM or an IO error code if an error // occurs. Otherwise, it returns SQLITE_OK. -func Xsqlite3PagerMovepage(tls *libc.TLS, pPager uintptr, pPg uintptr, pgno Pgno, isCommit int32) int32 { /* sqlite3.c:60276:20: */ +func Xsqlite3PagerMovepage(tls *libc.TLS, pPager uintptr, pPg uintptr, pgno Pgno, isCommit int32) int32 { /* sqlite3.c:60286:20: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -34942,7 +34952,7 @@ func Xsqlite3PagerMovepage(tls *libc.TLS, pPager uintptr, pPg uintptr, pgno Pgno if pPgOld != 0 { if int32((*PgHdr)(unsafe.Pointer(pPgOld)).FnRef) > 1 { Xsqlite3PagerUnrefNotNull(tls, pPgOld) - return Xsqlite3CorruptError(tls, 60350) + return Xsqlite3CorruptError(tls, 60360) } *(*U16)(unsafe.Pointer(pPg + 52)) |= U16(int32((*PgHdr)(unsafe.Pointer(pPgOld)).Fflags) & PGHDR_NEED_SYNC) if (*Pager)(unsafe.Pointer(pPager)).FtempFile != 0 { @@ -35002,21 +35012,21 @@ func Xsqlite3PagerMovepage(tls *libc.TLS, pPager uintptr, pPg uintptr, pgno Pgno // with a page number other than iNew. This function changes the page's // page number to iNew and sets the value of the PgHdr.flags field to // the value passed as the third parameter. -func Xsqlite3PagerRekey(tls *libc.TLS, pPg uintptr, iNew Pgno, flags U16) { /* sqlite3.c:60414:21: */ +func Xsqlite3PagerRekey(tls *libc.TLS, pPg uintptr, iNew Pgno, flags U16) { /* sqlite3.c:60424:21: */ (*DbPage)(unsafe.Pointer(pPg)).Fflags = flags Xsqlite3PcacheMove(tls, pPg, iNew) } // Return a pointer to the data for the specified page. -func Xsqlite3PagerGetData(tls *libc.TLS, pPg uintptr) uintptr { /* sqlite3.c:60423:21: */ +func Xsqlite3PagerGetData(tls *libc.TLS, pPg uintptr) uintptr { /* sqlite3.c:60433:21: */ return (*DbPage)(unsafe.Pointer(pPg)).FpData } // Return a pointer to the Pager.nExtra bytes of "extra" space // allocated along with the specified page. -func Xsqlite3PagerGetExtra(tls *libc.TLS, pPg uintptr) uintptr { /* sqlite3.c:60432:21: */ +func Xsqlite3PagerGetExtra(tls *libc.TLS, pPg uintptr) uintptr { /* sqlite3.c:60442:21: */ return (*DbPage)(unsafe.Pointer(pPg)).FpExtra } @@ -35028,7 +35038,7 @@ func Xsqlite3PagerGetExtra(tls *libc.TLS, pPg uintptr) uintptr { /* sqlite3.c:60 // The returned value is either PAGER_LOCKINGMODE_NORMAL or // PAGER_LOCKINGMODE_EXCLUSIVE, indicating the current (possibly updated) // locking-mode. -func Xsqlite3PagerLockingMode(tls *libc.TLS, pPager uintptr, eMode int32) int32 { /* sqlite3.c:60446:20: */ +func Xsqlite3PagerLockingMode(tls *libc.TLS, pPager uintptr, eMode int32) int32 { /* sqlite3.c:60456:20: */ if eMode >= 0 && !(int32((*Pager)(unsafe.Pointer(pPager)).FtempFile) != 0) && !(Xsqlite3WalHeapMemory(tls, (*Pager)(unsafe.Pointer(pPager)).FpWal) != 0) { (*Pager)(unsafe.Pointer(pPager)).FexclusiveMode = U8(eMode) @@ -35054,7 +35064,7 @@ func Xsqlite3PagerLockingMode(tls *libc.TLS, pPager uintptr, eMode int32) int32 // * Temporary databases cannot have _WAL journalmode. // // The returned indicate the current (possibly updated) journal-mode. -func Xsqlite3PagerSetJournalMode(tls *libc.TLS, pPager uintptr, eMode int32) int32 { /* sqlite3.c:60479:20: */ +func Xsqlite3PagerSetJournalMode(tls *libc.TLS, pPager uintptr, eMode int32) int32 { /* sqlite3.c:60489:20: */ var eOld U8 = (*Pager)(unsafe.Pointer(pPager)).FjournalMode // Prior journalmode // The eMode parameter is always valid @@ -35124,14 +35134,14 @@ func Xsqlite3PagerSetJournalMode(tls *libc.TLS, pPager uintptr, eMode int32) int } // Return the current journal mode. -func Xsqlite3PagerGetJournalMode(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:60569:20: */ +func Xsqlite3PagerGetJournalMode(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:60579:20: */ return int32((*Pager)(unsafe.Pointer(pPager)).FjournalMode) } // Return TRUE if the pager is in a state where it is OK to change the // journalmode. Journalmode changes can only happen when the database // is unmodified. -func Xsqlite3PagerOkToChangeJournalMode(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:60578:20: */ +func Xsqlite3PagerOkToChangeJournalMode(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:60588:20: */ if int32((*Pager)(unsafe.Pointer(pPager)).FeState) >= PAGER_WRITER_CACHEMOD { return 0 @@ -35146,7 +35156,7 @@ func Xsqlite3PagerOkToChangeJournalMode(tls *libc.TLS, pPager uintptr) int32 { / // // Setting the size limit to -1 means no limit is enforced. // An attempt to set a limit smaller than -1 is a no-op. -func Xsqlite3PagerJournalSizeLimit(tls *libc.TLS, pPager uintptr, iLimit I64) I64 { /* sqlite3.c:60591:20: */ +func Xsqlite3PagerJournalSizeLimit(tls *libc.TLS, pPager uintptr, iLimit I64) I64 { /* sqlite3.c:60601:20: */ if iLimit >= int64(-1) { (*Pager)(unsafe.Pointer(pPager)).FjournalSizeLimit = iLimit Xsqlite3WalLimit(tls, (*Pager)(unsafe.Pointer(pPager)).FpWal, iLimit) @@ -35158,12 +35168,12 @@ func Xsqlite3PagerJournalSizeLimit(tls *libc.TLS, pPager uintptr, iLimit I64) I6 // in backup.c maintains the content of this variable. This module // uses it opaquely as an argument to sqlite3BackupRestart() and // sqlite3BackupUpdate() only. -func Xsqlite3PagerBackupPtr(tls *libc.TLS, pPager uintptr) uintptr { /* sqlite3.c:60605:31: */ +func Xsqlite3PagerBackupPtr(tls *libc.TLS, pPager uintptr) uintptr { /* sqlite3.c:60615:31: */ return pPager + 112 } // Unless this is an in-memory or temporary database, clear the pager cache. -func Xsqlite3PagerClearCache(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:60613:21: */ +func Xsqlite3PagerClearCache(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:60623:21: */ if int32((*Pager)(unsafe.Pointer(pPager)).FtempFile) == 0 { pager_reset(tls, pPager) @@ -35175,7 +35185,7 @@ func Xsqlite3PagerClearCache(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:60613 // or wal_blocking_checkpoint() API functions. // // Parameter eMode is one of SQLITE_CHECKPOINT_PASSIVE, FULL or RESTART. -func Xsqlite3PagerCheckpoint(tls *libc.TLS, pPager uintptr, db uintptr, eMode int32, pnLog uintptr, pnCkpt uintptr) int32 { /* sqlite3.c:60628:20: */ +func Xsqlite3PagerCheckpoint(tls *libc.TLS, pPager uintptr, db uintptr, eMode int32, pnLog uintptr, pnCkpt uintptr) int32 { /* sqlite3.c:60638:20: */ var rc int32 = SQLITE_OK if (*Pager)(unsafe.Pointer(pPager)).FpWal == uintptr(0) && int32((*Pager)(unsafe.Pointer(pPager)).FjournalMode) == PAGER_JOURNALMODE_WAL { // This only happens when a database file is zero bytes in size opened and @@ -35203,13 +35213,13 @@ func Xsqlite3PagerCheckpoint(tls *libc.TLS, pPager uintptr, db uintptr, eMode in return rc } -func Xsqlite3PagerWalCallback(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:60659:20: */ +func Xsqlite3PagerWalCallback(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:60669:20: */ return Xsqlite3WalCallback(tls, (*Pager)(unsafe.Pointer(pPager)).FpWal) } // Return true if the underlying VFS for the given pager supports the // primitives necessary for write-ahead logging. -func Xsqlite3PagerWalSupported(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:60667:20: */ +func Xsqlite3PagerWalSupported(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:60677:20: */ var pMethods uintptr = (*Sqlite3_file)(unsafe.Pointer((*Pager)(unsafe.Pointer(pPager)).Ffd)).FpMethods if (*Pager)(unsafe.Pointer(pPager)).FnoLock != 0 { return 0 @@ -35219,7 +35229,7 @@ func Xsqlite3PagerWalSupported(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3 // Attempt to take an exclusive lock on the database file. If a PENDING lock // is obtained instead, immediately release it. -func pagerExclusiveLock(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:60677:12: */ +func pagerExclusiveLock(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:60687:12: */ var rc int32 // Return code rc = pagerLockDb(tls, pPager, EXCLUSIVE_LOCK) @@ -35236,7 +35246,7 @@ func pagerExclusiveLock(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:6067 // exclusive-locking mode when this function is called, take an EXCLUSIVE // lock on the database file and use heap-memory to store the wal-index // in. Otherwise, use the normal shared-memory. -func pagerOpenWal(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:60697:12: */ +func pagerOpenWal(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:60707:12: */ var rc int32 = SQLITE_OK // If the pager is already in exclusive-mode, the WAL module will use @@ -35272,7 +35282,7 @@ func pagerOpenWal(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:60697:12: // If the pager is open on a temp-file (or in-memory database), or if // the WAL file is already open, set *pbOpen to 1 and return SQLITE_OK // without doing anything. -func Xsqlite3PagerOpenWal(tls *libc.TLS, pPager uintptr, pbOpen uintptr) int32 { /* sqlite3.c:60742:20: */ +func Xsqlite3PagerOpenWal(tls *libc.TLS, pPager uintptr, pbOpen uintptr) int32 { /* sqlite3.c:60752:20: */ var rc int32 = SQLITE_OK // Return code if !(int32((*Pager)(unsafe.Pointer(pPager)).FtempFile) != 0) && !(int32((*Pager)(unsafe.Pointer(pPager)).FpWal) != 0) { @@ -35302,7 +35312,7 @@ func Xsqlite3PagerOpenWal(tls *libc.TLS, pPager uintptr, pbOpen uintptr) int32 { // EXCLUSIVE lock on the database file. If this cannot be obtained, an // error (SQLITE_BUSY) is returned and the log connection is not closed. // If successful, the EXCLUSIVE lock is not released before returning. -func Xsqlite3PagerCloseWal(tls *libc.TLS, pPager uintptr, db uintptr) int32 { /* sqlite3.c:60781:20: */ +func Xsqlite3PagerCloseWal(tls *libc.TLS, pPager uintptr, db uintptr) int32 { /* sqlite3.c:60791:20: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -35342,7 +35352,7 @@ func Xsqlite3PagerCloseWal(tls *libc.TLS, pPager uintptr, db uintptr) int32 { /* // If this is a WAL database, obtain a snapshot handle for the snapshot // currently open. Otherwise, return an error. -func Xsqlite3PagerSnapshotGet(tls *libc.TLS, pPager uintptr, ppSnapshot uintptr) int32 { /* sqlite3.c:60850:20: */ +func Xsqlite3PagerSnapshotGet(tls *libc.TLS, pPager uintptr, ppSnapshot uintptr) int32 { /* sqlite3.c:60860:20: */ var rc int32 = SQLITE_ERROR if (*Pager)(unsafe.Pointer(pPager)).FpWal != 0 { rc = Xsqlite3WalSnapshotGet(tls, (*Pager)(unsafe.Pointer(pPager)).FpWal, ppSnapshot) @@ -35353,7 +35363,7 @@ func Xsqlite3PagerSnapshotGet(tls *libc.TLS, pPager uintptr, ppSnapshot uintptr) // If this is a WAL database, store a pointer to pSnapshot. Next time a // read transaction is opened, attempt to read from the snapshot it // identifies. If this is not a WAL database, return an error. -func Xsqlite3PagerSnapshotOpen(tls *libc.TLS, pPager uintptr, pSnapshot uintptr) int32 { /* sqlite3.c:60863:20: */ +func Xsqlite3PagerSnapshotOpen(tls *libc.TLS, pPager uintptr, pSnapshot uintptr) int32 { /* sqlite3.c:60873:20: */ var rc int32 = SQLITE_OK if (*Pager)(unsafe.Pointer(pPager)).FpWal != 0 { Xsqlite3WalSnapshotOpen(tls, (*Pager)(unsafe.Pointer(pPager)).FpWal, pSnapshot) @@ -35365,7 +35375,7 @@ func Xsqlite3PagerSnapshotOpen(tls *libc.TLS, pPager uintptr, pSnapshot uintptr) // If this is a WAL database, call sqlite3WalSnapshotRecover(). If this // is not a WAL database, return an error. -func Xsqlite3PagerSnapshotRecover(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:60880:20: */ +func Xsqlite3PagerSnapshotRecover(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:60890:20: */ var rc int32 if (*Pager)(unsafe.Pointer(pPager)).FpWal != 0 { rc = Xsqlite3WalSnapshotRecover(tls, (*Pager)(unsafe.Pointer(pPager)).FpWal) @@ -35385,7 +35395,7 @@ func Xsqlite3PagerSnapshotRecover(tls *libc.TLS, pPager uintptr) int32 { /* sqli // the CHECKPOINTER lock cannot be obtained, SQLITE_BUSY. If any error // occurs (any value other than SQLITE_OK is returned), the CHECKPOINTER // lock is released before returning. -func Xsqlite3PagerSnapshotCheck(tls *libc.TLS, pPager uintptr, pSnapshot uintptr) int32 { /* sqlite3.c:60902:20: */ +func Xsqlite3PagerSnapshotCheck(tls *libc.TLS, pPager uintptr, pSnapshot uintptr) int32 { /* sqlite3.c:60912:20: */ var rc int32 if (*Pager)(unsafe.Pointer(pPager)).FpWal != 0 { rc = Xsqlite3WalSnapshotCheck(tls, (*Pager)(unsafe.Pointer(pPager)).FpWal, pSnapshot) @@ -35397,7 +35407,7 @@ func Xsqlite3PagerSnapshotCheck(tls *libc.TLS, pPager uintptr, pSnapshot uintptr // Release a lock obtained by an earlier successful call to // sqlite3PagerSnapshotCheck(). -func Xsqlite3PagerSnapshotUnlock(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:60916:21: */ +func Xsqlite3PagerSnapshotUnlock(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:60926:21: */ Xsqlite3WalSnapshotUnlock(tls, (*Pager)(unsafe.Pointer(pPager)).FpWal) } @@ -35976,7 +35986,7 @@ type WalIndexHdr1 = struct { // byte. // Object declarations -type WalIndexHdr = WalIndexHdr1 /* sqlite3.c:61244:28 */ +type WalIndexHdr = WalIndexHdr1 /* sqlite3.c:61254:28 */ type WalIterator1 = struct { FiPrior U32 FnSegment int32 @@ -35988,18 +35998,18 @@ type WalIterator1 = struct { FnEntry int32 FiZero int32 } -} /* sqlite3.c:61245:9 */ +} /* sqlite3.c:61255:9 */ -type WalIterator = WalIterator1 /* sqlite3.c:61245:28 */ +type WalIterator = WalIterator1 /* sqlite3.c:61255:28 */ type WalCkptInfo1 = struct { FnBackfill U32 FaReadMark [5]U32 FaLock [8]U8 FnBackfillAttempted U32 FnotUsed0 U32 -} /* sqlite3.c:61246:9 */ +} /* sqlite3.c:61256:9 */ -type WalCkptInfo = WalCkptInfo1 /* sqlite3.c:61246:28 */ +type WalCkptInfo = WalCkptInfo1 /* sqlite3.c:61256:28 */ // Candidate values for Wal.exclusiveMode. @@ -36007,7 +36017,7 @@ type WalCkptInfo = WalCkptInfo1 /* sqlite3.c:61246:28 */ // Each page of the wal-index mapping contains a hash-table made up of // an array of HASHTABLE_NSLOT elements of the following type. -type Ht_slot = U16 /* sqlite3.c:61501:13 */ +type Ht_slot = U16 /* sqlite3.c:61511:13 */ // 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 @@ -36029,7 +36039,7 @@ type WalSegment = struct { FaPgno uintptr FnEntry int32 FiZero int32 -} /* sqlite3.c:61245:9 */ +} /* sqlite3.c:61255:9 */ // Define the parameters of the hash tables in the wal-index file. There // is a hash-table following every HASHTABLE_NPAGE page numbers in the @@ -36060,7 +36070,7 @@ type WalSegment = struct { // (3) rc==SQLITE_OK and *ppPage==NULL // only if iPage==0 // // Scenario (3) can only occur when pWal->writeLock is false and iPage==0 -func walIndexPageRealloc(tls *libc.TLS, pWal uintptr, iPage int32, ppPage uintptr) int32 { /* sqlite3.c:61572:28: */ +func walIndexPageRealloc(tls *libc.TLS, pWal uintptr, iPage int32, ppPage uintptr) int32 { /* sqlite3.c:61582:28: */ var rc int32 = SQLITE_OK // Enlarge the pWal->apWiData[] array if required @@ -36106,7 +36116,7 @@ func walIndexPageRealloc(tls *libc.TLS, pWal uintptr, iPage int32, ppPage uintpt return rc } -func walIndexPage(tls *libc.TLS, pWal uintptr, iPage int32, ppPage uintptr) int32 { /* sqlite3.c:61621:12: */ +func walIndexPage(tls *libc.TLS, pWal uintptr, iPage int32, ppPage uintptr) int32 { /* sqlite3.c:61631:12: */ if (*Wal)(unsafe.Pointer(pWal)).FnWiData <= iPage || libc.AssignPtrUintptr(ppPage, *(*uintptr)(unsafe.Pointer((*Wal)(unsafe.Pointer(pWal)).FapWiData + uintptr(iPage)*8))) == uintptr(0) { return walIndexPageRealloc(tls, pWal, iPage, ppPage) } @@ -36114,13 +36124,13 @@ func walIndexPage(tls *libc.TLS, pWal uintptr, iPage int32, ppPage uintptr) int3 } // Return a pointer to the WalCkptInfo structure in the wal-index. -func walCkptInfo(tls *libc.TLS, pWal uintptr) uintptr { /* sqlite3.c:61635:29: */ +func walCkptInfo(tls *libc.TLS, pWal uintptr) uintptr { /* sqlite3.c:61645:29: */ return *(*uintptr)(unsafe.Pointer((*Wal)(unsafe.Pointer(pWal)).FapWiData)) + 24*4 } // Return a pointer to the WalIndexHdr structure in the wal-index. -func walIndexHdr(tls *libc.TLS, pWal uintptr) uintptr { /* sqlite3.c:61643:29: */ +func walIndexHdr(tls *libc.TLS, pWal uintptr) uintptr { /* sqlite3.c:61653:29: */ return *(*uintptr)(unsafe.Pointer((*Wal)(unsafe.Pointer(pWal)).FapWiData)) } @@ -36138,7 +36148,7 @@ func walIndexHdr(tls *libc.TLS, pWal uintptr) uintptr { /* sqlite3.c:61643:29: * // The checksum is written back into aOut[] before returning. // // nByte must be a positive multiple of 8. -func walChecksumBytes(tls *libc.TLS, nativeCksum int32, a uintptr, nByte int32, aIn uintptr, aOut uintptr) { /* sqlite3.c:61669:13: */ +func walChecksumBytes(tls *libc.TLS, nativeCksum int32, a uintptr, nByte int32, aIn uintptr, aOut uintptr) { /* sqlite3.c:61679:13: */ var s1 U32 var s2 U32 var aData uintptr = a @@ -36170,7 +36180,7 @@ func walChecksumBytes(tls *libc.TLS, nativeCksum int32, a uintptr, nByte int32, // If there is the possibility of concurrent access to the SHM file // from multiple threads and/or processes, then do a memory barrier. -func walShmBarrier(tls *libc.TLS, pWal uintptr) { /* sqlite3.c:61712:13: */ +func walShmBarrier(tls *libc.TLS, pWal uintptr) { /* sqlite3.c:61722:13: */ if int32((*Wal)(unsafe.Pointer(pWal)).FexclusiveMode) != WAL_HEAPMEMORY_MODE { Xsqlite3OsShmBarrier(tls, (*Wal)(unsafe.Pointer(pWal)).FpDbFd) } @@ -36185,7 +36195,7 @@ func walShmBarrier(tls *libc.TLS, pWal uintptr) { /* sqlite3.c:61712:13: */ // Write the header information in pWal->hdr into the wal-index. // // The checksum on pWal->hdr is updated before it is written. -func walIndexWriteHdr(tls *libc.TLS, pWal uintptr) { /* sqlite3.c:61736:28: */ +func walIndexWriteHdr(tls *libc.TLS, pWal uintptr) { /* sqlite3.c:61746:28: */ var aHdr uintptr = walIndexHdr(tls, pWal) var nCksum int32 = int32(uintptr(0) + 40) @@ -36209,7 +36219,7 @@ func walIndexWriteHdr(tls *libc.TLS, pWal uintptr) { /* sqlite3.c:61736:28: */ // 12: Salt-2 (copied from the wal-header) // 16: Checksum-1. // 20: Checksum-2. -func walEncodeFrame(tls *libc.TLS, pWal uintptr, iPage U32, nTruncate U32, aData uintptr, aFrame uintptr) { /* sqlite3.c:61763:13: */ +func walEncodeFrame(tls *libc.TLS, pWal uintptr, iPage U32, nTruncate U32, aData uintptr, aFrame uintptr) { /* sqlite3.c:61773:13: */ var nativeCksum int32 // True for native byte-order checksums var aCksum uintptr = pWal + 72 + 24 @@ -36232,7 +36242,7 @@ func walEncodeFrame(tls *libc.TLS, pWal uintptr, iPage U32, nTruncate U32, aData // Check to see if the frame with header in aFrame[] and content // in aData[] is valid. If it is a valid frame, fill *piPage and // *pnTruncate and return true. Return if the frame is not valid. -func walDecodeFrame(tls *libc.TLS, pWal uintptr, piPage uintptr, pnTruncate uintptr, aData uintptr, aFrame uintptr) int32 { /* sqlite3.c:61794:12: */ +func walDecodeFrame(tls *libc.TLS, pWal uintptr, piPage uintptr, pnTruncate uintptr, aData uintptr, aFrame uintptr) int32 { /* sqlite3.c:61804:12: */ var nativeCksum int32 // True for native byte-order checksums var aCksum uintptr = pWal + 72 + 24 var pgno U32 // Page number of the frame @@ -36274,7 +36284,7 @@ func walDecodeFrame(tls *libc.TLS, pWal uintptr, piPage uintptr, pnTruncate uint // through the unlocked state first. // // In locking_mode=EXCLUSIVE, all of these routines become no-ops. -func walLockShared(tls *libc.TLS, pWal uintptr, lockIdx int32) int32 { /* sqlite3.c:61873:12: */ +func walLockShared(tls *libc.TLS, pWal uintptr, lockIdx int32) int32 { /* sqlite3.c:61883:12: */ var rc int32 if (*Wal)(unsafe.Pointer(pWal)).FexclusiveMode != 0 { return SQLITE_OK @@ -36285,7 +36295,7 @@ func walLockShared(tls *libc.TLS, pWal uintptr, lockIdx int32) int32 { /* sqlite return rc } -func walUnlockShared(tls *libc.TLS, pWal uintptr, lockIdx int32) { /* sqlite3.c:61883:13: */ +func walUnlockShared(tls *libc.TLS, pWal uintptr, lockIdx int32) { /* sqlite3.c:61893:13: */ if (*Wal)(unsafe.Pointer(pWal)).FexclusiveMode != 0 { return } @@ -36294,7 +36304,7 @@ func walUnlockShared(tls *libc.TLS, pWal uintptr, lockIdx int32) { /* sqlite3.c: } -func walLockExclusive(tls *libc.TLS, pWal uintptr, lockIdx int32, n int32) int32 { /* sqlite3.c:61889:12: */ +func walLockExclusive(tls *libc.TLS, pWal uintptr, lockIdx int32, n int32) int32 { /* sqlite3.c:61899:12: */ var rc int32 if (*Wal)(unsafe.Pointer(pWal)).FexclusiveMode != 0 { return SQLITE_OK @@ -36305,7 +36315,7 @@ func walLockExclusive(tls *libc.TLS, pWal uintptr, lockIdx int32, n int32) int32 return rc } -func walUnlockExclusive(tls *libc.TLS, pWal uintptr, lockIdx int32, n int32) { /* sqlite3.c:61899:13: */ +func walUnlockExclusive(tls *libc.TLS, pWal uintptr, lockIdx int32, n int32) { /* sqlite3.c:61909:13: */ if (*Wal)(unsafe.Pointer(pWal)).FexclusiveMode != 0 { return } @@ -36317,12 +36327,12 @@ func walUnlockExclusive(tls *libc.TLS, pWal uintptr, lockIdx int32, n int32) { / // Compute a hash on a page number. The resulting hash value must land // between 0 and (HASHTABLE_NSLOT-1). The walHashNext() function advances // the hash to the next value in the event of a collision. -func walHash(tls *libc.TLS, iPage U32) int32 { /* sqlite3.c:61912:12: */ +func walHash(tls *libc.TLS, iPage U32) int32 { /* sqlite3.c:61922:12: */ return int32(iPage * U32(HASHTABLE_HASH_1) & U32(HASHTABLE_NPAGE*2-1)) } -func walNextHash(tls *libc.TLS, iPriorHash int32) int32 { /* sqlite3.c:61917:12: */ +func walNextHash(tls *libc.TLS, iPriorHash int32) int32 { /* sqlite3.c:61927:12: */ return (iPriorHash + 1) & (HASHTABLE_NPAGE*2 - 1) } @@ -36334,12 +36344,12 @@ type WalHashLoc1 = struct { FaPgno uintptr FiZero U32 F__ccgo_pad1 [4]byte -} /* sqlite3.c:61926:9 */ +} /* sqlite3.c:61936:9 */ // An instance of the WalHashLoc object is used to describe the location // of a page hash table in the wal-index. This becomes the return value // from walHashGet(). -type WalHashLoc = WalHashLoc1 /* sqlite3.c:61926:27 */ +type WalHashLoc = WalHashLoc1 /* sqlite3.c:61936:27 */ // Return pointers to the hash table and page number array stored on // page iHash of the wal-index. The wal-index is broken into 32KB pages @@ -36353,7 +36363,7 @@ type WalHashLoc = WalHashLoc1 /* sqlite3.c:61926:27 */ // // Finally, set pLoc->aPgno so that pLoc->aPgno[0] is the page number of the // first frame indexed by the hash table, frame (pLoc->iZero). -func walHashGet(tls *libc.TLS, pWal uintptr, iHash int32, pLoc uintptr) int32 { /* sqlite3.c:61947:12: */ +func walHashGet(tls *libc.TLS, pWal uintptr, iHash int32, pLoc uintptr) int32 { /* sqlite3.c:61957:12: */ var rc int32 // Return code rc = walIndexPage(tls, pWal, iHash, pLoc+8) @@ -36376,14 +36386,14 @@ func walHashGet(tls *libc.TLS, pWal uintptr, iHash int32, pLoc uintptr) int32 { // and page-number array that contain entries corresponding to WAL frame // iFrame. The wal-index is broken up into 32KB pages. Wal-index pages // are numbered starting from 0. -func walFramePage(tls *libc.TLS, iFrame U32) int32 { /* sqlite3.c:61977:12: */ +func walFramePage(tls *libc.TLS, iFrame U32) int32 { /* sqlite3.c:61987:12: */ var iHash int32 = int32((uint64(iFrame+U32(HASHTABLE_NPAGE)) - (uint64(HASHTABLE_NPAGE) - (uint64(unsafe.Sizeof(WalIndexHdr{}))*uint64(2)+uint64(unsafe.Sizeof(WalCkptInfo{})))/uint64(unsafe.Sizeof(U32(0)))) - uint64(1)) / uint64(HASHTABLE_NPAGE)) return iHash } // Return the page number associated with frame iFrame in this WAL. -func walFramePgno(tls *libc.TLS, pWal uintptr, iFrame U32) U32 { /* sqlite3.c:61992:12: */ +func walFramePgno(tls *libc.TLS, pWal uintptr, iFrame U32) U32 { /* sqlite3.c:62002:12: */ var iHash int32 = walFramePage(tls, iFrame) if iHash == 0 { return *(*U32)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer((*Wal)(unsafe.Pointer(pWal)).FapWiData)) + uintptr((uint64(unsafe.Sizeof(WalIndexHdr{}))*uint64(2)+uint64(unsafe.Sizeof(WalCkptInfo{})))/uint64(unsafe.Sizeof(U32(0)))+uint64(iFrame)-uint64(1))*4)) @@ -36401,7 +36411,7 @@ func walFramePgno(tls *libc.TLS, pWal uintptr, iFrame U32) U32 { /* sqlite3.c:61 // updated. Any later hash tables will be automatically cleared when // pWal->hdr.mxFrame advances to the point where those hash tables are // actually needed. -func walCleanupHash(tls *libc.TLS, pWal uintptr) { /* sqlite3.c:62012:13: */ +func walCleanupHash(tls *libc.TLS, pWal uintptr) { /* sqlite3.c:62022:13: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -36444,7 +36454,7 @@ func walCleanupHash(tls *libc.TLS, pWal uintptr) { /* sqlite3.c:62012:13: */ // Set an entry in the wal-index that will map database page number // pPage into WAL frame iFrame. -func walIndexAppend(tls *libc.TLS, pWal uintptr, iFrame U32, iPage U32) int32 { /* sqlite3.c:62074:12: */ +func walIndexAppend(tls *libc.TLS, pWal uintptr, iFrame U32, iPage U32) int32 { /* sqlite3.c:62084:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -36485,7 +36495,7 @@ func walIndexAppend(tls *libc.TLS, pWal uintptr, iFrame U32, iPage U32) int32 { nCollide = idx for iKey = walHash(tls, iPage); *(*Ht_slot)(unsafe.Pointer((*WalHashLoc)(unsafe.Pointer(bp /* &sLoc */)).FaHash + uintptr(iKey)*2)) != 0; iKey = walNextHash(tls, iKey) { if libc.PostDecInt32(&nCollide, 1) == 0 { - return Xsqlite3CorruptError(tls, 62114) + return Xsqlite3CorruptError(tls, 62124) } } *(*U32)(unsafe.Pointer((*WalHashLoc)(unsafe.Pointer(bp /* &sLoc */)).FaPgno + uintptr(idx-1)*4)) = iPage @@ -36504,7 +36514,7 @@ func walIndexAppend(tls *libc.TLS, pWal uintptr, iFrame U32, iPage U32) int32 { // WAL_RECOVER_LOCK is also held so that other threads will know // that this thread is running recovery. If unable to establish // the necessary locks, this routine returns SQLITE_BUSY. -func walIndexRecover(tls *libc.TLS, pWal uintptr) int32 { /* sqlite3.c:62163:12: */ +func walIndexRecover(tls *libc.TLS, pWal uintptr) int32 { /* sqlite3.c:62173:12: */ bp := tls.Alloc(80) defer tls.Free(80) @@ -36619,7 +36629,7 @@ __6: if !(version != U32(WAL_MAX_VERSION)) { goto __7 } - rc = Xsqlite3CantopenError(tls, 62246) + rc = Xsqlite3CantopenError(tls, 62256) goto finished __7: ; @@ -36823,7 +36833,7 @@ recovery_error: } // Close an open wal-index. -func walIndexClose(tls *libc.TLS, pWal uintptr, isDelete int32) { /* sqlite3.c:62386:13: */ +func walIndexClose(tls *libc.TLS, pWal uintptr, isDelete int32) { /* sqlite3.c:62396:13: */ if int32((*Wal)(unsafe.Pointer(pWal)).FexclusiveMode) == WAL_HEAPMEMORY_MODE || (*Wal)(unsafe.Pointer(pWal)).FbShmUnreliable != 0 { var i int32 for i = 0; i < (*Wal)(unsafe.Pointer(pWal)).FnWiData; i++ { @@ -36849,7 +36859,7 @@ func walIndexClose(tls *libc.TLS, pWal uintptr, isDelete int32) { /* sqlite3.c:6 // If the log file is successfully opened, SQLITE_OK is returned and // *ppWal is set to point to a new WAL handle. If an error occurs, // an SQLite error code is returned and *ppWal is left unmodified. -func Xsqlite3WalOpen(tls *libc.TLS, pVfs uintptr, pDbFd uintptr, zWalName uintptr, bNoShm int32, mxWalSize I64, ppWal uintptr) int32 { /* sqlite3.c:62414:20: */ +func Xsqlite3WalOpen(tls *libc.TLS, pVfs uintptr, pDbFd uintptr, zWalName uintptr, bNoShm int32, mxWalSize I64, ppWal uintptr) int32 { /* sqlite3.c:62424:20: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -36921,7 +36931,7 @@ func Xsqlite3WalOpen(tls *libc.TLS, pVfs uintptr, pDbFd uintptr, zWalName uintpt } // Change the size to which the WAL file is trucated on each reset. -func Xsqlite3WalLimit(tls *libc.TLS, pWal uintptr, iLimit I64) { /* sqlite3.c:62517:21: */ +func Xsqlite3WalLimit(tls *libc.TLS, pWal uintptr, iLimit I64) { /* sqlite3.c:62527:21: */ if pWal != 0 { (*Wal)(unsafe.Pointer(pWal)).FmxWalSize = iLimit } @@ -36935,7 +36945,7 @@ func Xsqlite3WalLimit(tls *libc.TLS, pWal uintptr, iLimit I64) { /* sqlite3.c:62 // // Return 0 on success. If there are no pages in the WAL with a page // number larger than *piPage, then return 1. -func walIteratorNext(tls *libc.TLS, p uintptr, piPage uintptr, piFrame uintptr) int32 { /* sqlite3.c:62531:12: */ +func walIteratorNext(tls *libc.TLS, p uintptr, piPage uintptr, piFrame uintptr) int32 { /* sqlite3.c:62541:12: */ var iMin U32 // Result pgno must be greater than iMin var iRet U32 = 0xFFFFFFFF // 0xffffffff is never a valid page number var i int32 // For looping through segments @@ -36982,7 +36992,7 @@ func walIteratorNext(tls *libc.TLS, p uintptr, piPage uintptr, piFrame uintptr) // aLeft[X]!=aRight[Y] && aContent[aLeft[X]] == aContent[aRight[Y]] // // When that happens, omit the aLeft[X] and use the aRight[Y] index. -func walMerge(tls *libc.TLS, aContent uintptr, aLeft uintptr, nLeft int32, paRight uintptr, pnRight uintptr, aTmp uintptr) { /* sqlite3.c:62584:13: */ +func walMerge(tls *libc.TLS, aContent uintptr, aLeft uintptr, nLeft int32, paRight uintptr, pnRight uintptr, aTmp uintptr) { /* sqlite3.c:62594:13: */ var iLeft int32 = 0 // Current index in aLeft var iRight int32 = 0 // Current index in aRight var iOut int32 = 0 // Current index in output buffer @@ -37028,7 +37038,7 @@ func walMerge(tls *libc.TLS, aContent uintptr, aLeft uintptr, nLeft int32, paRig // // Keep the larger of the two values aList[X] and aList[Y] and discard // the smaller. -func walMergesort(tls *libc.TLS, aContent uintptr, aBuffer uintptr, aList uintptr, pnList uintptr) { /* sqlite3.c:62641:13: */ +func walMergesort(tls *libc.TLS, aContent uintptr, aBuffer uintptr, aList uintptr, pnList uintptr) { /* sqlite3.c:62651:13: */ bp := tls.Alloc(220) defer tls.Free(220) @@ -37074,10 +37084,10 @@ type Sublist = struct { FnList int32 F__ccgo_pad1 [4]byte FaList uintptr -} /* sqlite3.c:62647:3 */ +} /* sqlite3.c:62657:3 */ // Free an iterator allocated by walIteratorInit(). -func walIteratorFree(tls *libc.TLS, p uintptr) { /* sqlite3.c:62704:13: */ +func walIteratorFree(tls *libc.TLS, p uintptr) { /* sqlite3.c:62714:13: */ Xsqlite3_free(tls, p) } @@ -37092,7 +37102,7 @@ func walIteratorFree(tls *libc.TLS, p uintptr) { /* sqlite3.c:62704:13: */ // // The calling routine should invoke walIteratorFree() to destroy the // WalIterator object when it has finished with it. -func walIteratorInit(tls *libc.TLS, pWal uintptr, nBackfill U32, pp uintptr) int32 { /* sqlite3.c:62721:12: */ +func walIteratorInit(tls *libc.TLS, pWal uintptr, nBackfill U32, pp uintptr) int32 { /* sqlite3.c:62731:12: */ bp := tls.Alloc(28) defer tls.Free(28) @@ -37176,7 +37186,7 @@ func walIteratorInit(tls *libc.TLS, pWal uintptr, nBackfill U32, pp uintptr) int // n. If the attempt fails and parameter xBusy is not NULL, then it is a // 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) int32 { /* sqlite3.c:62884:12: */ +func walBusyLock(tls *libc.TLS, pWal uintptr, xBusy uintptr, pBusyArg uintptr, lockIdx int32, n int32) int32 { /* sqlite3.c:62894:12: */ var rc int32 for __ccgo := true; __ccgo; __ccgo = xBusy != 0 && rc == SQLITE_BUSY && (*struct { f func(*libc.TLS, uintptr) int32 @@ -37188,7 +37198,7 @@ func walBusyLock(tls *libc.TLS, pWal uintptr, xBusy uintptr, pBusyArg uintptr, l // The cache of the wal-index header must be valid to call this function. // Return the page-size in bytes used by the database. -func walPagesize(tls *libc.TLS, pWal uintptr) int32 { /* sqlite3.c:62908:12: */ +func walPagesize(tls *libc.TLS, pWal uintptr) int32 { /* sqlite3.c:62918:12: */ return int32((*Wal)(unsafe.Pointer(pWal)).Fhdr.FszPage)&0xfe00 + int32((*Wal)(unsafe.Pointer(pWal)).Fhdr.FszPage)&0x0001<<16 } @@ -37207,7 +37217,7 @@ func walPagesize(tls *libc.TLS, pWal uintptr) int32 { /* sqlite3.c:62908:12: */ // The value of parameter salt1 is used as the aSalt[1] value in the // new wal-index header. It should be passed a pseudo-random value (i.e. // one obtained from sqlite3_randomness()). -func walRestartHdr(tls *libc.TLS, pWal uintptr, salt1 U32) { /* sqlite3.c:62929:13: */ +func walRestartHdr(tls *libc.TLS, pWal uintptr, salt1 U32) { /* sqlite3.c:62939:13: */ bp := tls.Alloc(4) defer tls.Free(4) *(*U32)(unsafe.Pointer(bp)) = salt1 @@ -37258,7 +37268,7 @@ func walRestartHdr(tls *libc.TLS, pWal uintptr, salt1 U32) { /* sqlite3.c:62929: // The caller must be holding sufficient locks to ensure that no other // 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) int32 { /* sqlite3.c:62976:12: */ +func walCheckpoint(tls *libc.TLS, pWal uintptr, db uintptr, eMode int32, xBusy uintptr, pBusyArg uintptr, sync_flags int32, zBuf uintptr) int32 { /* sqlite3.c:62986:12: */ bp := tls.Alloc(36) defer tls.Free(36) @@ -37389,7 +37399,7 @@ __10: // 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 = Xsqlite3CorruptError(tls, 63060) + rc = Xsqlite3CorruptError(tls, 63070) goto __15 __14: Xsqlite3OsFileControlHint(tls, (*Wal)(unsafe.Pointer(pWal)).FpDbFd, SQLITE_FCNTL_SIZE_HINT, bp+16) @@ -37550,7 +37560,7 @@ walcheckpoint_out: // If the WAL file is currently larger than nMax bytes in size, truncate // it to exactly nMax bytes. If an error occurs while doing so, ignore it. -func walLimitSize(tls *libc.TLS, pWal uintptr, nMax I64) { /* sqlite3.c:63162:13: */ +func walLimitSize(tls *libc.TLS, pWal uintptr, nMax I64) { /* sqlite3.c:63172:13: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -37569,7 +37579,7 @@ func walLimitSize(tls *libc.TLS, pWal uintptr, nMax I64) { /* sqlite3.c:63162:13 } // Close a connection to a log file. -func Xsqlite3WalClose(tls *libc.TLS, pWal uintptr, db uintptr, sync_flags int32, nBuf int32, zBuf uintptr) int32 { /* sqlite3.c:63179:20: */ +func Xsqlite3WalClose(tls *libc.TLS, pWal uintptr, db uintptr, sync_flags int32, nBuf int32, zBuf uintptr) int32 { /* sqlite3.c:63189:20: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -37641,7 +37651,7 @@ func Xsqlite3WalClose(tls *libc.TLS, pWal uintptr, db uintptr, sync_flags int32, // // If the checksum cannot be verified return non-zero. If the header // is read successfully and the checksum verified, return zero. -func walIndexTryHdr(tls *libc.TLS, pWal uintptr, pChanged uintptr) int32 { /* sqlite3.c:63260:27: */ +func walIndexTryHdr(tls *libc.TLS, pWal uintptr, pChanged uintptr) int32 { /* sqlite3.c:63270:27: */ bp := tls.Alloc(104) defer tls.Free(104) @@ -37710,7 +37720,7 @@ func walIndexTryHdr(tls *libc.TLS, pWal uintptr, pChanged uintptr) int32 { /* sq // // If the wal-index header is successfully read, return SQLITE_OK. // Otherwise an SQLite error code. -func walIndexReadHdr(tls *libc.TLS, pWal uintptr, pChanged uintptr) int32 { /* sqlite3.c:63330:12: */ +func walIndexReadHdr(tls *libc.TLS, pWal uintptr, pChanged uintptr) int32 { /* sqlite3.c:63340:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -37790,7 +37800,7 @@ func walIndexReadHdr(tls *libc.TLS, pWal uintptr, pChanged uintptr) int32 { /* s // sure the wal-index was not constructed with some future format that // this version of SQLite cannot understand. if badHdr == 0 && (*Wal)(unsafe.Pointer(pWal)).Fhdr.FiVersion != U32(WALINDEX_MAX_VERSION) { - rc = Xsqlite3CantopenError(tls, 63409) + rc = Xsqlite3CantopenError(tls, 63419) } if (*Wal)(unsafe.Pointer(pWal)).FbShmUnreliable != 0 { if rc != SQLITE_OK { @@ -37835,7 +37845,7 @@ func walIndexReadHdr(tls *libc.TLS, pWal uintptr, pChanged uintptr) int32 { /* s // beginning (including attempting to map the *-shm file). // // If an error occurs, an SQLite error code is returned. -func walBeginShmUnreliable(tls *libc.TLS, pWal uintptr, pChanged uintptr) int32 { /* sqlite3.c:63454:12: */ +func walBeginShmUnreliable(tls *libc.TLS, pWal uintptr, pChanged uintptr) int32 { /* sqlite3.c:63464:12: */ bp := tls.Alloc(64) defer tls.Free(64) @@ -38101,7 +38111,7 @@ __15: // update values of the aReadMark[] array in the header, but if it does // so it takes care to hold an exclusive lock on the corresponding // WAL_READ_LOCK() while changing values. -func walTryBeginRead(tls *libc.TLS, pWal uintptr, pChanged uintptr, useWal int32, cnt int32) int32 { /* sqlite3.c:63651:12: */ +func walTryBeginRead(tls *libc.TLS, pWal uintptr, pChanged uintptr, useWal int32, cnt int32) int32 { /* sqlite3.c:63661:12: */ var pInfo uintptr // Checkpoint information in wal-index var mxReadMark U32 // Largest aReadMark[] value var mxI int32 // Index of largest aReadMark[] value @@ -38318,7 +38328,7 @@ func walTryBeginRead(tls *libc.TLS, pWal uintptr, pChanged uintptr, useWal int32 // SQLITE_OK is returned if successful, or an SQLite error code if an // error occurs. It is not an error if nBackfillAttempted cannot be // decreased at all. -func Xsqlite3WalSnapshotRecover(tls *libc.TLS, pWal uintptr) int32 { /* sqlite3.c:63881:20: */ +func Xsqlite3WalSnapshotRecover(tls *libc.TLS, pWal uintptr) int32 { /* sqlite3.c:63891:20: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -38392,7 +38402,7 @@ func Xsqlite3WalSnapshotRecover(tls *libc.TLS, pWal uintptr) int32 { /* sqlite3. // transaction, then *pChanged is set to 1 before returning. The // Pager layer will use this to know that its cache is stale and // needs to be flushed. -func Xsqlite3WalBeginReadTransaction(tls *libc.TLS, pWal uintptr, pChanged uintptr) int32 { /* sqlite3.c:63952:20: */ +func Xsqlite3WalBeginReadTransaction(tls *libc.TLS, pWal uintptr, pChanged uintptr) int32 { /* sqlite3.c:63962:20: */ var rc int32 // Return code var cnt int32 = 0 // Number of TryBeginRead attempts var bChanged int32 = 0 @@ -38480,7 +38490,7 @@ func Xsqlite3WalBeginReadTransaction(tls *libc.TLS, pWal uintptr, pChanged uintp // Finish with a read transaction. All this does is release the // read-lock. -func Xsqlite3WalEndReadTransaction(tls *libc.TLS, pWal uintptr) { /* sqlite3.c:64060:21: */ +func Xsqlite3WalEndReadTransaction(tls *libc.TLS, pWal uintptr) { /* sqlite3.c:64070:21: */ Xsqlite3WalEndWriteTransaction(tls, pWal) if int32((*Wal)(unsafe.Pointer(pWal)).FreadLock) >= 0 { walUnlockShared(tls, pWal, 3+int32((*Wal)(unsafe.Pointer(pWal)).FreadLock)) @@ -38494,7 +38504,7 @@ func Xsqlite3WalEndReadTransaction(tls *libc.TLS, pWal uintptr) { /* sqlite3.c:6 // // Return SQLITE_OK if successful, or an error code if an error occurs. If an // error does occur, the final value of *piRead is undefined. -func Xsqlite3WalFindFrame(tls *libc.TLS, pWal uintptr, pgno Pgno, piRead uintptr) int32 { /* sqlite3.c:64076:20: */ +func Xsqlite3WalFindFrame(tls *libc.TLS, pWal uintptr, pgno Pgno, piRead uintptr) int32 { /* sqlite3.c:64086:20: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -38561,7 +38571,7 @@ func Xsqlite3WalFindFrame(tls *libc.TLS, pWal uintptr, pgno Pgno, piRead uintptr iRead = iFrame } if libc.PostDecInt32(&nCollide, 1) == 0 { - return Xsqlite3CorruptError(tls, 64146) + return Xsqlite3CorruptError(tls, 64156) } iKey = walNextHash(tls, iKey) } @@ -38577,7 +38587,7 @@ func Xsqlite3WalFindFrame(tls *libc.TLS, pWal uintptr, pgno Pgno, piRead uintptr // Read the contents of frame iRead from the wal file into buffer pOut // (which is nOut bytes in size). Return SQLITE_OK if successful, or an // error code otherwise. -func Xsqlite3WalReadFrame(tls *libc.TLS, pWal uintptr, iRead U32, nOut int32, pOut uintptr) int32 { /* sqlite3.c:64180:20: */ +func Xsqlite3WalReadFrame(tls *libc.TLS, pWal uintptr, iRead U32, nOut int32, pOut uintptr) int32 { /* sqlite3.c:64190:20: */ var sz int32 var iOffset I64 sz = int32((*Wal)(unsafe.Pointer(pWal)).Fhdr.FszPage) @@ -38594,7 +38604,7 @@ func Xsqlite3WalReadFrame(tls *libc.TLS, pWal uintptr, iRead U32, nOut int32, pO } // Return the size of the database in pages (or zero, if unknown). -func Xsqlite3WalDbsize(tls *libc.TLS, pWal uintptr) Pgno { /* sqlite3.c:64200:21: */ +func Xsqlite3WalDbsize(tls *libc.TLS, pWal uintptr) Pgno { /* sqlite3.c:64210:21: */ if pWal != 0 && int32((*Wal)(unsafe.Pointer(pWal)).FreadLock) >= 0 { return (*Wal)(unsafe.Pointer(pWal)).Fhdr.FnPage } @@ -38612,7 +38622,7 @@ func Xsqlite3WalDbsize(tls *libc.TLS, pWal uintptr) Pgno { /* sqlite3.c:64200:21 // returns SQLITE_BUSY in that case and no write transaction is started. // // There can only be a single writer active at a time. -func Xsqlite3WalBeginWriteTransaction(tls *libc.TLS, pWal uintptr) int32 { /* sqlite3.c:64221:20: */ +func Xsqlite3WalBeginWriteTransaction(tls *libc.TLS, pWal uintptr) int32 { /* sqlite3.c:64231:20: */ var rc int32 // Cannot start a write transaction without first holding a read @@ -38644,7 +38654,7 @@ func Xsqlite3WalBeginWriteTransaction(tls *libc.TLS, pWal uintptr) int32 { /* sq // End a write transaction. The commit has already been done. This // routine merely releases the lock. -func Xsqlite3WalEndWriteTransaction(tls *libc.TLS, pWal uintptr) int32 { /* sqlite3.c:64269:20: */ +func Xsqlite3WalEndWriteTransaction(tls *libc.TLS, pWal uintptr) int32 { /* sqlite3.c:64279:20: */ if (*Wal)(unsafe.Pointer(pWal)).FwriteLock != 0 { walUnlockExclusive(tls, pWal, WAL_WRITE_LOCK, 1) (*Wal)(unsafe.Pointer(pWal)).FwriteLock = U8(0) @@ -38664,7 +38674,7 @@ func Xsqlite3WalEndWriteTransaction(tls *libc.TLS, pWal uintptr) int32 { /* sqli // // Otherwise, if the callback function does not return an error, this // function returns SQLITE_OK. -func Xsqlite3WalUndo(tls *libc.TLS, pWal uintptr, xUndo uintptr, pUndoCtx uintptr) int32 { /* sqlite3.c:64291:20: */ +func Xsqlite3WalUndo(tls *libc.TLS, pWal uintptr, xUndo uintptr, pUndoCtx uintptr) int32 { /* sqlite3.c:64301:20: */ var rc int32 = SQLITE_OK if (*Wal)(unsafe.Pointer(pWal)).FwriteLock != 0 { var iMax Pgno = (*Wal)(unsafe.Pointer(pWal)).Fhdr.FmxFrame @@ -38701,7 +38711,7 @@ func Xsqlite3WalUndo(tls *libc.TLS, pWal uintptr, xUndo uintptr, pUndoCtx uintpt // values. This function populates the array with values required to // "rollback" the write position of the WAL handle back to the current // point in the event of a savepoint rollback (via WalSavepointUndo()). -func Xsqlite3WalSavepoint(tls *libc.TLS, pWal uintptr, aWalData uintptr) { /* sqlite3.c:64331:21: */ +func Xsqlite3WalSavepoint(tls *libc.TLS, pWal uintptr, aWalData uintptr) { /* sqlite3.c:64341:21: */ *(*U32)(unsafe.Pointer(aWalData)) = (*Wal)(unsafe.Pointer(pWal)).Fhdr.FmxFrame *(*U32)(unsafe.Pointer(aWalData + 1*4)) = *(*U32)(unsafe.Pointer(pWal + 72 + 24)) @@ -38713,7 +38723,7 @@ func Xsqlite3WalSavepoint(tls *libc.TLS, pWal uintptr, aWalData uintptr) { /* sq // the values in the aWalData[] array. aWalData must point to an array // of WAL_SAVEPOINT_NDATA u32 values that has been previously populated // by a call to WalSavepoint(). -func Xsqlite3WalSavepointUndo(tls *libc.TLS, pWal uintptr, aWalData uintptr) int32 { /* sqlite3.c:64345:20: */ +func Xsqlite3WalSavepointUndo(tls *libc.TLS, pWal uintptr, aWalData uintptr) int32 { /* sqlite3.c:64355:20: */ var rc int32 = SQLITE_OK if *(*U32)(unsafe.Pointer(aWalData + 3*4)) != (*Wal)(unsafe.Pointer(pWal)).FnCkpt { @@ -38744,7 +38754,7 @@ func Xsqlite3WalSavepointUndo(tls *libc.TLS, pWal uintptr, aWalData uintptr) int // SQLITE_OK is returned if no error is encountered (regardless of whether // or not pWal->hdr.mxFrame is modified). An SQLite error code is returned // if an error occurs. -func walRestartLog(tls *libc.TLS, pWal uintptr) int32 { /* sqlite3.c:64382:12: */ +func walRestartLog(tls *libc.TLS, pWal uintptr) int32 { /* sqlite3.c:64392:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -38798,12 +38808,12 @@ type WalWriter1 = struct { FiSyncPoint Sqlite3_int64 FsyncFlags int32 FszPage int32 -} /* sqlite3.c:64429:9 */ +} /* sqlite3.c:64439:9 */ // Information about the current state of the WAL file and where // the next fsync should occur - passed from sqlite3WalFrames() into // walWriteToLog(). -type WalWriter = WalWriter1 /* sqlite3.c:64435:3 */ +type WalWriter = WalWriter1 /* sqlite3.c:64445:3 */ // Write iAmt bytes of content into the WAL file beginning at iOffset. // Do a sync when crossing the p->iSyncPoint boundary. @@ -38811,7 +38821,7 @@ type WalWriter = WalWriter1 /* sqlite3.c:64435:3 */ // In other words, if iSyncPoint is in between iOffset and iOffset+iAmt, // first write the part before iSyncPoint, then sync, then write the // rest. -func walWriteToLog(tls *libc.TLS, p uintptr, pContent uintptr, iAmt int32, iOffset Sqlite3_int64) int32 { /* sqlite3.c:64445:12: */ +func walWriteToLog(tls *libc.TLS, p uintptr, pContent uintptr, iAmt int32, iOffset Sqlite3_int64) int32 { /* sqlite3.c:64455:12: */ var rc int32 if iOffset < (*WalWriter)(unsafe.Pointer(p)).FiSyncPoint && iOffset+Sqlite3_int64(iAmt) >= (*WalWriter)(unsafe.Pointer(p)).FiSyncPoint { var iFirstAmt int32 = int32((*WalWriter)(unsafe.Pointer(p)).FiSyncPoint - iOffset) @@ -38833,7 +38843,7 @@ func walWriteToLog(tls *libc.TLS, p uintptr, pContent uintptr, iAmt int32, iOffs } // Write out a single frame of the WAL -func walWriteOneFrame(tls *libc.TLS, p uintptr, pPage uintptr, nTruncate int32, iOffset Sqlite3_int64) int32 { /* sqlite3.c:64470:12: */ +func walWriteOneFrame(tls *libc.TLS, p uintptr, pPage uintptr, nTruncate int32, iOffset Sqlite3_int64) int32 { /* sqlite3.c:64480:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -38858,7 +38868,7 @@ func walWriteOneFrame(tls *libc.TLS, p uintptr, pPage uintptr, nTruncate int32, // with the earliest to have been overwritten. // // SQLITE_OK is returned if successful, or an SQLite error code otherwise. -func walRewriteChecksums(tls *libc.TLS, pWal uintptr, iLast U32) int32 { /* sqlite3.c:64496:12: */ +func walRewriteChecksums(tls *libc.TLS, pWal uintptr, iLast U32) int32 { /* sqlite3.c:64506:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -38912,7 +38922,7 @@ func walRewriteChecksums(tls *libc.TLS, pWal uintptr, iLast U32) int32 { /* sqli // Write a set of frames to the log. The caller must hold the write-lock // on the log file (obtained using sqlite3WalBeginWriteTransaction()). -func Xsqlite3WalFrames(tls *libc.TLS, pWal uintptr, szPage int32, pList uintptr, nTruncate Pgno, isCommit int32, sync_flags int32) int32 { /* sqlite3.c:64545:20: */ +func Xsqlite3WalFrames(tls *libc.TLS, pWal uintptr, szPage int32, pList uintptr, nTruncate Pgno, isCommit int32, sync_flags int32) int32 { /* sqlite3.c:64555:20: */ bp := tls.Alloc(80) defer tls.Free(80) @@ -39145,7 +39155,7 @@ func Xsqlite3WalFrames(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 Xsqlite3WalCheckpoint(tls *libc.TLS, pWal uintptr, db uintptr, eMode int32, xBusy uintptr, pBusyArg uintptr, sync_flags int32, nBuf int32, zBuf uintptr, pnLog uintptr, pnCkpt uintptr) int32 { /* sqlite3.c:64783:20: */ +func Xsqlite3WalCheckpoint(tls *libc.TLS, pWal uintptr, db uintptr, eMode int32, xBusy uintptr, pBusyArg uintptr, sync_flags int32, nBuf int32, zBuf uintptr, pnLog uintptr, pnCkpt uintptr) int32 { /* sqlite3.c:64793:20: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -39210,7 +39220,7 @@ func Xsqlite3WalCheckpoint(tls *libc.TLS, pWal uintptr, db uintptr, eMode int32, if rc == SQLITE_OK { if (*Wal)(unsafe.Pointer(pWal)).Fhdr.FmxFrame != 0 && walPagesize(tls, pWal) != nBuf { - rc = Xsqlite3CorruptError(tls, 64865) + rc = Xsqlite3CorruptError(tls, 64875) } else { rc = walCheckpoint(tls, pWal, db, eMode2, xBusy2, pBusyArg, sync_flags, zBuf) } @@ -39254,7 +39264,7 @@ func Xsqlite3WalCheckpoint(tls *libc.TLS, pWal uintptr, db uintptr, eMode int32, // number of frames in the WAL at the point of the last commit since // sqlite3WalCallback() was called. If no commits have occurred since // the last call, then return 0. -func Xsqlite3WalCallback(tls *libc.TLS, pWal uintptr) int32 { /* sqlite3.c:64908:20: */ +func Xsqlite3WalCallback(tls *libc.TLS, pWal uintptr) int32 { /* sqlite3.c:64918:20: */ var ret U32 = U32(0) if pWal != 0 { ret = (*Wal)(unsafe.Pointer(pWal)).FiCallback @@ -39285,7 +39295,7 @@ func Xsqlite3WalCallback(tls *libc.TLS, pWal uintptr) int32 { /* sqlite3.c:64908 // not actually change anything. The pager uses this to see if it // should acquire the database exclusive lock prior to invoking // the op==1 case. -func Xsqlite3WalExclusiveMode(tls *libc.TLS, pWal uintptr, op int32) int32 { /* sqlite3.c:64941:20: */ +func Xsqlite3WalExclusiveMode(tls *libc.TLS, pWal uintptr, op int32) int32 { /* sqlite3.c:64951:20: */ var rc int32 // pWal->readLock is usually set, but might be -1 if there was a @@ -39319,14 +39329,14 @@ func Xsqlite3WalExclusiveMode(tls *libc.TLS, pWal uintptr, op int32) int32 { /* // Return true if the argument is non-NULL and the WAL module is using // heap-memory for the wal-index. Otherwise, if the argument is NULL or the // WAL module is using shared-memory, return false. -func Xsqlite3WalHeapMemory(tls *libc.TLS, pWal uintptr) int32 { /* sqlite3.c:64983:20: */ +func Xsqlite3WalHeapMemory(tls *libc.TLS, pWal uintptr) int32 { /* sqlite3.c:64993:20: */ return libc.Bool32(pWal != 0 && int32((*Wal)(unsafe.Pointer(pWal)).FexclusiveMode) == WAL_HEAPMEMORY_MODE) } // Create a snapshot object. The content of a snapshot is opaque to // every other subsystem, so the WAL module can put whatever it needs // in the object. -func Xsqlite3WalSnapshotGet(tls *libc.TLS, pWal uintptr, ppSnapshot uintptr) int32 { /* sqlite3.c:64992:20: */ +func Xsqlite3WalSnapshotGet(tls *libc.TLS, pWal uintptr, ppSnapshot uintptr) int32 { /* sqlite3.c:65002:20: */ var rc int32 = SQLITE_OK var pRet uintptr @@ -39345,16 +39355,16 @@ func Xsqlite3WalSnapshotGet(tls *libc.TLS, pWal uintptr, ppSnapshot uintptr) int return rc } -var aZero = [4]U32{U32(0), U32(0), U32(0), U32(0)} /* sqlite3.c:64995:20 */ +var aZero = [4]U32{U32(0), U32(0), U32(0), U32(0)} /* sqlite3.c:65005:20 */ // Try to open on pSnapshot when the next read-transaction starts -func Xsqlite3WalSnapshotOpen(tls *libc.TLS, pWal uintptr, pSnapshot uintptr) { /* sqlite3.c:65016:21: */ +func Xsqlite3WalSnapshotOpen(tls *libc.TLS, pWal uintptr, pSnapshot uintptr) { /* sqlite3.c:65026:21: */ (*Wal)(unsafe.Pointer(pWal)).FpSnapshot = pSnapshot } // Return a +ve value if snapshot p1 is newer than p2. A -ve value if // p1 is older than p2 and zero if p1 and p2 are the same snapshot. -func Xsqlite3_snapshot_cmp(tls *libc.TLS, p1 uintptr, p2 uintptr) int32 { /* sqlite3.c:65027:16: */ +func Xsqlite3_snapshot_cmp(tls *libc.TLS, p1 uintptr, p2 uintptr) int32 { /* sqlite3.c:65037:16: */ var pHdr1 uintptr = p1 var pHdr2 uintptr = p2 @@ -39384,7 +39394,7 @@ func Xsqlite3_snapshot_cmp(tls *libc.TLS, p1 uintptr, p2 uintptr) int32 { /* sql // the CHECKPOINTER lock cannot be obtained, SQLITE_BUSY. If any error // occurs (any value other than SQLITE_OK is returned), the CHECKPOINTER // lock is released before returning. -func Xsqlite3WalSnapshotCheck(tls *libc.TLS, pWal uintptr, pSnapshot uintptr) int32 { /* sqlite3.c:65051:20: */ +func Xsqlite3WalSnapshotCheck(tls *libc.TLS, pWal uintptr, pSnapshot uintptr) int32 { /* sqlite3.c:65061:20: */ var rc int32 rc = walLockShared(tls, pWal, WAL_CKPT_LOCK) if rc == SQLITE_OK { @@ -39400,13 +39410,13 @@ func Xsqlite3WalSnapshotCheck(tls *libc.TLS, pWal uintptr, pSnapshot uintptr) in // Release a lock obtained by an earlier successful call to // sqlite3WalSnapshotCheck(). -func Xsqlite3WalSnapshotUnlock(tls *libc.TLS, pWal uintptr) { /* sqlite3.c:65070:21: */ +func Xsqlite3WalSnapshotUnlock(tls *libc.TLS, pWal uintptr) { /* sqlite3.c:65080:21: */ walUnlockShared(tls, pWal, WAL_CKPT_LOCK) } // Return the sqlite3_file object for the WAL file -func Xsqlite3WalFile(tls *libc.TLS, pWal uintptr) uintptr { /* sqlite3.c:65092:29: */ +func Xsqlite3WalFile(tls *libc.TLS, pWal uintptr) uintptr { /* sqlite3.c:65102:29: */ return (*Wal)(unsafe.Pointer(pWal)).FpWalFd } @@ -39927,7 +39937,7 @@ type MemPage1 = struct { // small cells will be rare, but they are possible. // Forward declarations -type MemPage = MemPage1 /* sqlite3.c:65350:24 */ +type MemPage = MemPage1 /* sqlite3.c:65360:24 */ type BtLock1 = struct { FpBtree uintptr FiTable Pgno @@ -39936,7 +39946,7 @@ type BtLock1 = struct { FpNext uintptr } /* sqlite3.c:578:9 */ -type BtLock = BtLock1 /* sqlite3.c:65351:23 */ +type BtLock = BtLock1 /* sqlite3.c:65361:23 */ type CellInfo1 = struct { FnKey I64 FpPayload uintptr @@ -39945,7 +39955,7 @@ type CellInfo1 = struct { FnSize U16 } /* sqlite3.c:578:9 */ -type CellInfo = CellInfo1 /* sqlite3.c:65352:25 */ +type CellInfo = CellInfo1 /* sqlite3.c:65362:25 */ // Legal values for BtCursor.curFlags @@ -40055,7 +40065,7 @@ type IntegrityCk1 = struct { FerrMsg StrAccum Fheap uintptr Fdb uintptr -} /* sqlite3.c:65811:9 */ +} /* sqlite3.c:65821:9 */ // Legal values for BtCursor.curFlags @@ -40151,7 +40161,7 @@ type IntegrityCk1 = struct { // the database the corresponding bit is set. This allows integrity-check to // detect pages that are used twice and orphaned pages (both of which // indicate corruption). -type IntegrityCk = IntegrityCk1 /* sqlite3.c:65811:28 */ +type IntegrityCk = IntegrityCk1 /* sqlite3.c:65821:28 */ // Routines to read or write a two- and four-byte big-endian integer values. @@ -40165,7 +40175,7 @@ type IntegrityCk = IntegrityCk1 /* sqlite3.c:65811:28 */ // Obtain the BtShared mutex associated with B-Tree handle p. Also, // set BtShared.db to the database handle associated with p and the // p->locked boolean to true. -func lockBtreeMutex(tls *libc.TLS, p uintptr) { /* sqlite3.c:65861:13: */ +func lockBtreeMutex(tls *libc.TLS, p uintptr) { /* sqlite3.c:65871:13: */ Xsqlite3_mutex_enter(tls, (*BtShared)(unsafe.Pointer((*Btree)(unsafe.Pointer(p)).FpBt)).Fmutex) (*BtShared)(unsafe.Pointer((*Btree)(unsafe.Pointer(p)).FpBt)).Fdb = (*Btree)(unsafe.Pointer(p)).Fdb @@ -40174,7 +40184,7 @@ func lockBtreeMutex(tls *libc.TLS, p uintptr) { /* sqlite3.c:65861:13: */ // Release the BtShared mutex associated with B-Tree handle p and // clear the p->locked boolean. -func unlockBtreeMutex(tls *libc.TLS, p uintptr) { /* sqlite3.c:65875:29: */ +func unlockBtreeMutex(tls *libc.TLS, p uintptr) { /* sqlite3.c:65885:29: */ var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt Xsqlite3_mutex_leave(tls, (*BtShared)(unsafe.Pointer(pBt)).Fmutex) @@ -40195,7 +40205,7 @@ func unlockBtreeMutex(tls *libc.TLS, p uintptr) { /* sqlite3.c:65875:29: */ // p, then first unlock all of the others on p->pNext, then wait // for the lock to become available on p, then relock all of the // subsequent Btrees that desire a lock. -func Xsqlite3BtreeEnter(tls *libc.TLS, p uintptr) { /* sqlite3.c:65905:21: */ +func Xsqlite3BtreeEnter(tls *libc.TLS, p uintptr) { /* sqlite3.c:65915:21: */ // Some basic sanity checking on the Btree. The list of Btrees // connected by pNext and pPrev should be in sorted order by // Btree.pBt value. All elements of the list should belong to @@ -40223,7 +40233,7 @@ func Xsqlite3BtreeEnter(tls *libc.TLS, p uintptr) { /* sqlite3.c:65905:21: */ // into this routine, we avoid unnecessary stack pointer changes // and thus help the sqlite3BtreeLock() routine to run much faster // in the common case. -func btreeLockCarefully(tls *libc.TLS, p uintptr) { /* sqlite3.c:65939:29: */ +func btreeLockCarefully(tls *libc.TLS, p uintptr) { /* sqlite3.c:65949:29: */ var pLater uintptr // In most cases, we should be able to acquire the lock we @@ -40254,7 +40264,7 @@ func btreeLockCarefully(tls *libc.TLS, p uintptr) { /* sqlite3.c:65939:29: */ } // Exit the recursive mutex on a Btree. -func Xsqlite3BtreeLeave(tls *libc.TLS, p uintptr) { /* sqlite3.c:65977:21: */ +func Xsqlite3BtreeLeave(tls *libc.TLS, p uintptr) { /* sqlite3.c:65987:21: */ if (*Btree)(unsafe.Pointer(p)).Fsharable != 0 { @@ -40277,7 +40287,7 @@ func Xsqlite3BtreeLeave(tls *libc.TLS, p uintptr) { /* sqlite3.c:65977:21: */ // to avoid the possibility of deadlock when two threads with // two or more btrees in common both try to lock all their btrees // at the same instant. -func btreeEnterAll(tls *libc.TLS, db uintptr) { /* sqlite3.c:66020:29: */ +func btreeEnterAll(tls *libc.TLS, db uintptr) { /* sqlite3.c:66030:29: */ var i int32 var skipOk int32 = 1 var p uintptr @@ -40292,13 +40302,13 @@ func btreeEnterAll(tls *libc.TLS, db uintptr) { /* sqlite3.c:66020:29: */ (*Sqlite3)(unsafe.Pointer(db)).FnoSharedCache = U8(skipOk) } -func Xsqlite3BtreeEnterAll(tls *libc.TLS, db uintptr) { /* sqlite3.c:66034:21: */ +func Xsqlite3BtreeEnterAll(tls *libc.TLS, db uintptr) { /* sqlite3.c:66044:21: */ if int32((*Sqlite3)(unsafe.Pointer(db)).FnoSharedCache) == 0 { btreeEnterAll(tls, db) } } -func btreeLeaveAll(tls *libc.TLS, db uintptr) { /* sqlite3.c:66037:29: */ +func btreeLeaveAll(tls *libc.TLS, db uintptr) { /* sqlite3.c:66047:29: */ var i int32 var p uintptr @@ -40310,7 +40320,7 @@ func btreeLeaveAll(tls *libc.TLS, db uintptr) { /* sqlite3.c:66037:29: */ } } -func Xsqlite3BtreeLeaveAll(tls *libc.TLS, db uintptr) { /* sqlite3.c:66046:21: */ +func Xsqlite3BtreeLeaveAll(tls *libc.TLS, db uintptr) { /* sqlite3.c:66056:21: */ if int32((*Sqlite3)(unsafe.Pointer(db)).FnoSharedCache) == 0 { btreeLeaveAll(tls, db) } @@ -40321,11 +40331,11 @@ func Xsqlite3BtreeLeaveAll(tls *libc.TLS, db uintptr) { /* sqlite3.c:66046:21: * // These entry points are used by incremental I/O only. Enter() is required // any time OMIT_SHARED_CACHE is not defined, regardless of whether or not // the build is threadsafe. Leave() is only required by threadsafe builds. -func Xsqlite3BtreeEnterCursor(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:66132:21: */ +func Xsqlite3BtreeEnterCursor(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:66142:21: */ Xsqlite3BtreeEnter(tls, (*BtCursor)(unsafe.Pointer(pCur)).FpBtree) } -func Xsqlite3BtreeLeaveCursor(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:66136:21: */ +func Xsqlite3BtreeLeaveCursor(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:66146:21: */ Xsqlite3BtreeLeave(tls, (*BtCursor)(unsafe.Pointer(pCur)).FpBtree) } @@ -40348,7 +40358,7 @@ func Xsqlite3BtreeLeaveCursor(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:66136: // The header string that appears at the beginning of every // SQLite database. -var zMagicHeader = *(*[16]int8)(unsafe.Pointer(ts + 3968)) /* sqlite3.c:66167:19 */ +var zMagicHeader = *(*[16]int8)(unsafe.Pointer(ts + 3968)) /* sqlite3.c:66177:19 */ // Set this global variable to 1 to enable tracing using the TRACE // macro. @@ -40374,14 +40384,14 @@ var zMagicHeader = *(*[16]int8)(unsafe.Pointer(ts + 3968)) /* sqlite3.c:66167:19 // test builds. // // Access to this variable is protected by SQLITE_MUTEX_STATIC_MAIN. -var sqlite3SharedCacheList uintptr = uintptr(0) /* sqlite3.c:66222:17 */ +var sqlite3SharedCacheList uintptr = uintptr(0) /* sqlite3.c:66232:17 */ // Enable or disable the shared pager and schema features. // // This routine has no effect on existing database connections. // The shared cache setting effects only future calls to // sqlite3_open(), sqlite3_open16(), or sqlite3_open_v2(). -func Xsqlite3_enable_shared_cache(tls *libc.TLS, enable int32) int32 { /* sqlite3.c:66234:16: */ +func Xsqlite3_enable_shared_cache(tls *libc.TLS, enable int32) int32 { /* sqlite3.c:66244:16: */ Xsqlite3Config.FsharedCacheEnabled = enable return SQLITE_OK } @@ -40398,7 +40408,7 @@ func Xsqlite3_enable_shared_cache(tls *libc.TLS, enable int32) int32 { /* sqlite // (READ_LOCK or WRITE_LOCK) on the table with root-page iTab. Return // SQLITE_OK if the lock may be obtained (by calling // setSharedCacheTableLock()), or SQLITE_LOCKED if not. -func querySharedCacheTableLock(tls *libc.TLS, p uintptr, iTab Pgno, eLock U8) int32 { /* sqlite3.c:66433:12: */ +func querySharedCacheTableLock(tls *libc.TLS, p uintptr, iTab Pgno, eLock U8) int32 { /* sqlite3.c:66443:12: */ var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt var pIter uintptr @@ -40455,7 +40465,7 @@ func querySharedCacheTableLock(tls *libc.TLS, p uintptr, iTab Pgno, eLock U8) in // // SQLITE_OK is returned if the lock is added successfully. SQLITE_NOMEM // is returned if a malloc attempt fails. -func setSharedCacheTableLock(tls *libc.TLS, p uintptr, iTable Pgno, eLock U8) int32 { /* sqlite3.c:66505:12: */ +func setSharedCacheTableLock(tls *libc.TLS, p uintptr, iTable Pgno, eLock U8) int32 { /* sqlite3.c:66515:12: */ var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt var pLock uintptr = uintptr(0) var pIter uintptr @@ -40506,7 +40516,7 @@ func setSharedCacheTableLock(tls *libc.TLS, p uintptr, iTable Pgno, eLock U8) in // This function assumes that Btree p has an open read or write // transaction. If it does not, then the BTS_PENDING flag // may be incorrectly cleared. -func clearAllSharedCacheTableLocks(tls *libc.TLS, p uintptr) { /* sqlite3.c:66569:13: */ +func clearAllSharedCacheTableLocks(tls *libc.TLS, p uintptr) { /* sqlite3.c:66579:13: */ var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt var ppIter uintptr = pBt + 120 @@ -40541,7 +40551,7 @@ func clearAllSharedCacheTableLocks(tls *libc.TLS, p uintptr) { /* sqlite3.c:6656 } // This function changes all write-locks held by Btree p into read-locks. -func downgradeAllSharedCacheTableLocks(tls *libc.TLS, p uintptr) { /* sqlite3.c:66613:13: */ +func downgradeAllSharedCacheTableLocks(tls *libc.TLS, p uintptr) { /* sqlite3.c:66623:13: */ var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt if (*BtShared)(unsafe.Pointer(pBt)).FpWriter == p { var pLock uintptr @@ -40565,7 +40575,7 @@ func downgradeAllSharedCacheTableLocks(tls *libc.TLS, p uintptr) { /* sqlite3.c: // Invalidate the overflow page-list cache for all cursors opened // on the shared btree structure pBt. -func invalidateAllOverflowCache(tls *libc.TLS, pBt uintptr) { /* sqlite3.c:66666:13: */ +func invalidateAllOverflowCache(tls *libc.TLS, pBt uintptr) { /* sqlite3.c:66676:13: */ var p uintptr for p = (*BtShared)(unsafe.Pointer(pBt)).FpCursor; p != 0; p = (*BtCursor)(unsafe.Pointer(p)).FpNext { @@ -40584,7 +40594,7 @@ func invalidateAllOverflowCache(tls *libc.TLS, pBt uintptr) { /* sqlite3.c:66666 // Otherwise, if argument isClearTable is false, then the row with // rowid iRow is being replaced or deleted. In this case invalidate // only those incrblob cursors open on that specific row. -func invalidateIncrblobCursors(tls *libc.TLS, pBtree uintptr, pgnoRoot Pgno, iRow I64, isClearTable int32) { /* sqlite3.c:66688:13: */ +func invalidateIncrblobCursors(tls *libc.TLS, pBtree uintptr, pgnoRoot Pgno, iRow I64, isClearTable int32) { /* sqlite3.c:66698:13: */ var p uintptr (*Btree)(unsafe.Pointer(pBtree)).FhasIncrblobCur = U8(0) @@ -40631,7 +40641,7 @@ func invalidateIncrblobCursors(tls *libc.TLS, pBtree uintptr, pgnoRoot Pgno, iRo // optimization 2 above is omitted if the corresponding bit is already // set in BtShared.pHasContent. The contents of the bitvec are cleared // at the end of every transaction. -func btreeSetHasContent(tls *libc.TLS, pBt uintptr, pgno Pgno) int32 { /* sqlite3.c:66748:12: */ +func btreeSetHasContent(tls *libc.TLS, pBt uintptr, pgno Pgno) int32 { /* sqlite3.c:66758:12: */ var rc int32 = SQLITE_OK if !(int32((*BtShared)(unsafe.Pointer(pBt)).FpHasContent) != 0) { @@ -40651,20 +40661,20 @@ func btreeSetHasContent(tls *libc.TLS, pBt uintptr, pgno Pgno) int32 { /* sqlite // This function is called when a free-list leaf page is removed from the // free-list for reuse. It returns false if it is safe to retrieve the // page from the pager layer with the 'no-content' flag set. True otherwise. -func btreeGetHasContent(tls *libc.TLS, pBt uintptr, pgno Pgno) int32 { /* sqlite3.c:66770:12: */ +func btreeGetHasContent(tls *libc.TLS, pBt uintptr, pgno Pgno) int32 { /* sqlite3.c:66780:12: */ var p uintptr = (*BtShared)(unsafe.Pointer(pBt)).FpHasContent return libc.Bool32(p != 0 && (pgno > Xsqlite3BitvecSize(tls, p) || Xsqlite3BitvecTestNotNull(tls, p, pgno) != 0)) } // Clear (destroy) the BtShared.pHasContent bitvec. This should be // invoked at the conclusion of each write-transaction. -func btreeClearHasContent(tls *libc.TLS, pBt uintptr) { /* sqlite3.c:66779:13: */ +func btreeClearHasContent(tls *libc.TLS, pBt uintptr) { /* sqlite3.c:66789:13: */ Xsqlite3BitvecDestroy(tls, (*BtShared)(unsafe.Pointer(pBt)).FpHasContent) (*BtShared)(unsafe.Pointer(pBt)).FpHasContent = uintptr(0) } // Release all of the apPage[] pages for a cursor. -func btreeReleaseAllCursorPages(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:66787:13: */ +func btreeReleaseAllCursorPages(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:66797:13: */ var i int32 if int32((*BtCursor)(unsafe.Pointer(pCur)).FiPage) >= 0 { for i = 0; i < int32((*BtCursor)(unsafe.Pointer(pCur)).FiPage); i++ { @@ -40686,7 +40696,7 @@ func btreeReleaseAllCursorPages(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:6678 // NULL. If the cursor is open on a non-intkey table, then pCur->pKey is // set to point to a malloced buffer pCur->nKey bytes in size containing // the key. -func saveCursorKey(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:66811:12: */ +func saveCursorKey(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:66821:12: */ var rc int32 = SQLITE_OK if (*BtCursor)(unsafe.Pointer(pCur)).FcurIntKey != 0 { @@ -40723,7 +40733,7 @@ func saveCursorKey(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:66811:12: * // // The caller must ensure that the cursor is valid (has eState==CURSOR_VALID) // prior to calling this routine. -func saveCursorPosition(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:66853:12: */ +func saveCursorPosition(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:66863:12: */ var rc int32 if int32((*BtCursor)(unsafe.Pointer(pCur)).FcurFlags)&BTCF_Pinned != 0 { @@ -40764,7 +40774,7 @@ func saveCursorPosition(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:66853: // Implementation note: This routine merely checks to see if any cursors // need to be saved. It calls out to saveCursorsOnList() in the (unusual) // event that cursors are in need to being saved. -func saveAllCursors(tls *libc.TLS, pBt uintptr, iRoot Pgno, pExcept uintptr) int32 { /* sqlite3.c:66903:12: */ +func saveAllCursors(tls *libc.TLS, pBt uintptr, iRoot Pgno, pExcept uintptr) int32 { /* sqlite3.c:66913:12: */ var p uintptr for p = (*BtShared)(unsafe.Pointer(pBt)).FpCursor; p != 0; p = (*BtCursor)(unsafe.Pointer(p)).FpNext { @@ -40785,7 +40795,7 @@ func saveAllCursors(tls *libc.TLS, pBt uintptr, iRoot Pgno, pExcept uintptr) int // the cursors if and when a cursor is found that actually requires saving. // The common case is that no cursors need to be saved, so this routine is // broken out from its caller to avoid unnecessary stack pointer movement. -func saveCursorsOnList(tls *libc.TLS, p uintptr, iRoot Pgno, pExcept uintptr) int32 { /* sqlite3.c:66920:28: */ +func saveCursorsOnList(tls *libc.TLS, p uintptr, iRoot Pgno, pExcept uintptr) int32 { /* sqlite3.c:66930:28: */ for __ccgo := true; __ccgo; __ccgo = p != 0 { if p != pExcept && (Pgno(0) == iRoot || (*BtCursor)(unsafe.Pointer(p)).FpgnoRoot == iRoot) { if int32((*BtCursor)(unsafe.Pointer(p)).FeState) == CURSOR_VALID || int32((*BtCursor)(unsafe.Pointer(p)).FeState) == CURSOR_SKIPNEXT { @@ -40804,7 +40814,7 @@ func saveCursorsOnList(tls *libc.TLS, p uintptr, iRoot Pgno, pExcept uintptr) in } // Clear the current cursor position. -func Xsqlite3BtreeClearCursor(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:66945:21: */ +func Xsqlite3BtreeClearCursor(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:66955:21: */ Xsqlite3_free(tls, (*BtCursor)(unsafe.Pointer(pCur)).FpKey) (*BtCursor)(unsafe.Pointer(pCur)).FpKey = uintptr(0) @@ -40814,7 +40824,7 @@ func Xsqlite3BtreeClearCursor(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:66945: // In this version of BtreeMoveto, pKey is a packed index record // such as is generated by the OP_MakeRecord opcode. Unpack the // record and then call BtreeMovetoUnpacked() to do the work. -func btreeMoveto(tls *libc.TLS, pCur uintptr, pKey uintptr, nKey I64, bias int32, pRes uintptr) int32 { /* sqlite3.c:66957:12: */ +func btreeMoveto(tls *libc.TLS, pCur uintptr, pKey uintptr, nKey I64, bias int32, pRes uintptr) int32 { /* sqlite3.c:66967:12: */ var rc int32 // Status code var pIdxKey uintptr // Unpacked index key @@ -40827,7 +40837,7 @@ func btreeMoveto(tls *libc.TLS, pCur uintptr, pKey uintptr, nKey I64, bias int32 } Xsqlite3VdbeRecordUnpack(tls, pKeyInfo, int32(nKey), pKey, pIdxKey) if int32((*UnpackedRecord)(unsafe.Pointer(pIdxKey)).FnField) == 0 || int32((*UnpackedRecord)(unsafe.Pointer(pIdxKey)).FnField) > int32((*KeyInfo)(unsafe.Pointer(pKeyInfo)).FnAllField) { - rc = Xsqlite3CorruptError(tls, 66974) + rc = Xsqlite3CorruptError(tls, 66984) } else { rc = Xsqlite3BtreeIndexMoveto(tls, pCur, pIdxKey, pRes) } @@ -40844,7 +40854,7 @@ func btreeMoveto(tls *libc.TLS, pCur uintptr, pKey uintptr, nKey I64, bias int32 // saved position info stored by saveCursorPosition(), so there can be // at most one effective restoreCursorPosition() call after each // saveCursorPosition(). -func btreeRestoreCursorPosition(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:66993:12: */ +func btreeRestoreCursorPosition(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:67003:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -40884,7 +40894,7 @@ func btreeRestoreCursorPosition(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3. // // Use the separate sqlite3BtreeCursorRestore() routine to restore a cursor // back to where it ought to be if this routine returns true. -func Xsqlite3BtreeCursorHasMoved(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:67036:20: */ +func Xsqlite3BtreeCursorHasMoved(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:67046:20: */ return libc.Bool32(CURSOR_VALID != int32(*(*U8)(unsafe.Pointer(pCur)))) } @@ -40892,12 +40902,12 @@ func Xsqlite3BtreeCursorHasMoved(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3 // Return a pointer to a fake BtCursor object that will always answer // false to the sqlite3BtreeCursorHasMoved() routine above. The fake // cursor returned must not be used with any other Btree interface. -func Xsqlite3BtreeFakeValidCursor(tls *libc.TLS) uintptr { /* sqlite3.c:67049:25: */ +func Xsqlite3BtreeFakeValidCursor(tls *libc.TLS) uintptr { /* sqlite3.c:67059:25: */ return uintptr(unsafe.Pointer(&fakeCursor)) } -var fakeCursor U8 = U8(CURSOR_VALID) /* sqlite3.c:67050:13 */ +var fakeCursor U8 = U8(CURSOR_VALID) /* sqlite3.c:67060:13 */ // This routine restores a cursor back to its original position after it // has been moved by some outside activity (such as a btree rebalance or @@ -40910,7 +40920,7 @@ var fakeCursor U8 = U8(CURSOR_VALID) /* sqlite3.c:67050:13 */ // // This routine should only be called for a cursor that just returned // TRUE from sqlite3BtreeCursorHasMoved(). -func Xsqlite3BtreeCursorRestore(tls *libc.TLS, pCur uintptr, pDifferentRow uintptr) int32 { /* sqlite3.c:67068:20: */ +func Xsqlite3BtreeCursorRestore(tls *libc.TLS, pCur uintptr, pDifferentRow uintptr) int32 { /* sqlite3.c:67078:20: */ var rc int32 rc = func() int32 { @@ -40932,7 +40942,7 @@ func Xsqlite3BtreeCursorRestore(tls *libc.TLS, pCur uintptr, pDifferentRow uintp } // Provide flag hints to the cursor. -func Xsqlite3BtreeCursorHintFlags(tls *libc.TLS, pCur uintptr, x uint32) { /* sqlite3.c:67100:21: */ +func Xsqlite3BtreeCursorHintFlags(tls *libc.TLS, pCur uintptr, x uint32) { /* sqlite3.c:67110:21: */ (*BtCursor)(unsafe.Pointer(pCur)).Fhints = U8(x) } @@ -40944,7 +40954,7 @@ func Xsqlite3BtreeCursorHintFlags(tls *libc.TLS, pCur uintptr, x uint32) { /* sq // Return 0 (not a valid page) for pgno==1 since there is // no pointer map associated with page 1. The integrity_check logic // requires that ptrmapPageno(*,1)!=1. -func ptrmapPageno(tls *libc.TLS, pBt uintptr, pgno Pgno) Pgno { /* sqlite3.c:67116:13: */ +func ptrmapPageno(tls *libc.TLS, pBt uintptr, pgno Pgno) Pgno { /* sqlite3.c:67126:13: */ var nPagesPerMapPage int32 var iPtrMap Pgno var ret Pgno @@ -40969,7 +40979,7 @@ func ptrmapPageno(tls *libc.TLS, pBt uintptr, pgno Pgno) Pgno { /* sqlite3.c:671 // If *pRC is initially non-zero (non-SQLITE_OK) then this routine is // a no-op. If an error occurs, the appropriate error code is written // into *pRC. -func ptrmapPut(tls *libc.TLS, pBt uintptr, key Pgno, eType U8, parent Pgno, pRC uintptr) { /* sqlite3.c:67140:13: */ +func ptrmapPut(tls *libc.TLS, pBt uintptr, key Pgno, eType U8, parent Pgno, pRC uintptr) { /* sqlite3.c:67150:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -40992,7 +41002,7 @@ __1: if !(key == Pgno(0)) { goto __2 } - *(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 67155) + *(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 67165) return __2: ; @@ -41011,7 +41021,7 @@ __3: // 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)) = Xsqlite3CorruptError(tls, 67168) + *(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 67178) goto ptrmap_exit __4: ; @@ -41019,7 +41029,7 @@ __4: if !(offset < 0) { goto __5 } - *(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 67173) + *(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 67183) goto ptrmap_exit __5: ; @@ -41050,7 +41060,7 @@ ptrmap_exit: // This routine retrieves the pointer map entry for page 'key', writing // the type and parent page number to *pEType and *pPgno respectively. // An error code is returned if something goes wrong, otherwise SQLITE_OK. -func ptrmapGet(tls *libc.TLS, pBt uintptr, key Pgno, pEType uintptr, pPgno uintptr) int32 { /* sqlite3.c:67199:12: */ +func ptrmapGet(tls *libc.TLS, pBt uintptr, key Pgno, pEType uintptr, pPgno uintptr) int32 { /* sqlite3.c:67209:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -41071,7 +41081,7 @@ func ptrmapGet(tls *libc.TLS, pBt uintptr, key Pgno, pEType uintptr, pPgno uintp offset = int32(Pgno(5) * (key - Pgno(iPtrmap) - Pgno(1))) if offset < 0 { Xsqlite3PagerUnref(tls, *(*uintptr)(unsafe.Pointer(bp /* pDbPage */))) - return Xsqlite3CorruptError(tls, 67218) + return Xsqlite3CorruptError(tls, 67228) } *(*U8)(unsafe.Pointer(pEType)) = *(*U8)(unsafe.Pointer(pPtrmap + uintptr(offset))) @@ -41081,7 +41091,7 @@ func ptrmapGet(tls *libc.TLS, pBt uintptr, key Pgno, pEType uintptr, pPgno uintp Xsqlite3PagerUnref(tls, *(*uintptr)(unsafe.Pointer(bp /* pDbPage */))) if int32(*(*U8)(unsafe.Pointer(pEType))) < 1 || int32(*(*U8)(unsafe.Pointer(pEType))) > 5 { - return Xsqlite3CorruptError(tls, 67226) + return Xsqlite3CorruptError(tls, 67236) } return SQLITE_OK } @@ -41099,7 +41109,7 @@ func ptrmapGet(tls *libc.TLS, pBt uintptr, key Pgno, pEType uintptr, pPgno uintp // btreeParseCellPtrIndex() for the case when the cell does not fit entirely // on a single B-tree page. Make necessary adjustments to the CellInfo // structure. -func btreeParseCellAdjustSizeForOverflow(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintptr) { /* sqlite3.c:67258:29: */ +func btreeParseCellAdjustSizeForOverflow(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintptr) { /* sqlite3.c:67268:29: */ // If the payload will not fit completely on the local page, we have // to decide how much to store locally and how much to spill onto // overflow pages. The strategy is to minimize the amount of unused @@ -41126,7 +41136,7 @@ func btreeParseCellAdjustSizeForOverflow(tls *libc.TLS, pPage uintptr, pCell uin // Given a record with nPayload bytes of payload stored within btree // page pPage, return the number of bytes of payload stored locally. -func btreePayloadToLocal(tls *libc.TLS, pPage uintptr, nPayload I64) int32 { /* sqlite3.c:67293:12: */ +func btreePayloadToLocal(tls *libc.TLS, pPage uintptr, nPayload I64) int32 { /* sqlite3.c:67303:12: */ var maxLocal int32 // Maximum amount of payload held locally maxLocal = int32((*MemPage)(unsafe.Pointer(pPage)).FmaxLocal) if nPayload <= I64(maxLocal) { @@ -41156,7 +41166,7 @@ func btreePayloadToLocal(tls *libc.TLS, pPage uintptr, nPayload I64) int32 { /* // There is also a wrapper function btreeParseCell() that works for // all MemPage types and that references the cell by index rather than // by pointer. -func btreeParseCellPtrNoPayload(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintptr) { /* sqlite3.c:67321:13: */ +func btreeParseCellPtrNoPayload(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintptr) { /* sqlite3.c:67331:13: */ _ = pPage (*CellInfo)(unsafe.Pointer(pInfo)).FnSize = U16(4 + int32(Xsqlite3GetVarint(tls, pCell+4, pInfo))) @@ -41166,7 +41176,7 @@ func btreeParseCellPtrNoPayload(tls *libc.TLS, pPage uintptr, pCell uintptr, pIn return } -func btreeParseCellPtr(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintptr) { /* sqlite3.c:67338:13: */ +func btreeParseCellPtr(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintptr) { /* sqlite3.c:67348:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -41243,7 +41253,7 @@ func btreeParseCellPtr(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintpt } } -func btreeParseCellPtrIndex(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintptr) { /* sqlite3.c:67420:13: */ +func btreeParseCellPtrIndex(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintptr) { /* sqlite3.c:67430:13: */ var pIter uintptr // For scanning through pCell var nPayload U32 // Number of bytes of cell payload @@ -41274,7 +41284,7 @@ func btreeParseCellPtrIndex(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo u } } -func btreeParseCell(tls *libc.TLS, pPage uintptr, iCell int32, pInfo uintptr) { /* sqlite3.c:67457:13: */ +func btreeParseCell(tls *libc.TLS, pPage uintptr, iCell int32, pInfo uintptr) { /* sqlite3.c:67467:13: */ (*struct { f func(*libc.TLS, uintptr, uintptr, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*MemPage)(unsafe.Pointer(pPage)).FxParseCell})).f(tls, pPage, (*MemPage)(unsafe.Pointer(pPage)).FaData+uintptr(int32((*MemPage)(unsafe.Pointer(pPage)).FmaskPage)&(int32(*(*U8)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPage)).FaCellIdx + uintptr(2*iCell))))<<8|int32(*(*U8)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPage)).FaCellIdx + uintptr(2*iCell) + 1))))), pInfo) @@ -41290,7 +41300,7 @@ func btreeParseCell(tls *libc.TLS, pPage uintptr, iCell int32, pInfo uintptr) { // // cellSizePtrNoPayload() => table internal nodes // cellSizePtr() => all index nodes & table leaf nodes -func cellSizePtr(tls *libc.TLS, pPage uintptr, pCell uintptr) U16 { /* sqlite3.c:67477:12: */ +func cellSizePtr(tls *libc.TLS, pPage uintptr, pCell uintptr) U16 { /* sqlite3.c:67487:12: */ var pIter uintptr = pCell + uintptr((*MemPage)(unsafe.Pointer(pPage)).FchildPtrSize) // For looping over bytes of pCell var pEnd uintptr // End mark for a varint var nSize U32 // Size value to return @@ -41331,7 +41341,7 @@ func cellSizePtr(tls *libc.TLS, pPage uintptr, pCell uintptr) U16 { /* sqlite3.c return U16(nSize) } -func cellSizePtrNoPayload(tls *libc.TLS, pPage uintptr, pCell uintptr) U16 { /* sqlite3.c:67525:12: */ +func cellSizePtrNoPayload(tls *libc.TLS, pPage uintptr, pCell uintptr) U16 { /* sqlite3.c:67535:12: */ var pIter uintptr = pCell + uintptr(4) // For looping over bytes of pCell var pEnd uintptr // End mark for a varint @@ -41348,7 +41358,7 @@ func cellSizePtrNoPayload(tls *libc.TLS, pPage uintptr, pCell uintptr) U16 { /* // of pPage. (pSrc and pPager are often the same.) If pCell contains a // pointer to an overflow page, insert an entry into the pointer-map for // the overflow page that will be valid after pCell has been moved to pPage. -func ptrmapPutOvflPtr(tls *libc.TLS, pPage uintptr, pSrc uintptr, pCell uintptr, pRC uintptr) { /* sqlite3.c:67563:13: */ +func ptrmapPutOvflPtr(tls *libc.TLS, pPage uintptr, pSrc uintptr, pCell uintptr, pRC uintptr) { /* sqlite3.c:67573:13: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -41365,7 +41375,7 @@ func ptrmapPutOvflPtr(tls *libc.TLS, pPage uintptr, pSrc uintptr, pCell uintptr, var ovfl Pgno if Uptr((*MemPage)(unsafe.Pointer(pSrc)).FaDataEnd) >= Uptr(pCell) && Uptr((*MemPage)(unsafe.Pointer(pSrc)).FaDataEnd) < Uptr(pCell+uintptr((*CellInfo)(unsafe.Pointer(bp)).FnLocal)) { - *(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 67572) + *(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 67582) return } ovfl = Xsqlite3Get4byte(tls, pCell+uintptr(int32((*CellInfo)(unsafe.Pointer(bp)).FnSize)-4)) @@ -41383,7 +41393,7 @@ func ptrmapPutOvflPtr(tls *libc.TLS, pPage uintptr, pSrc uintptr, pCell uintptr, // b-tree page so that there are no freeblocks or fragment bytes, all // unused bytes are contained in the unallocated space region, and all // cells are packed tightly at the end of the page. -func defragmentPage(tls *libc.TLS, pPage uintptr, nMaxFrag int32) int32 { /* sqlite3.c:67594:12: */ +func defragmentPage(tls *libc.TLS, pPage uintptr, nMaxFrag int32) int32 { /* sqlite3.c:67604:12: */ var i int32 // Loop counter var pc int32 // Address of the i-th cell var hdr int32 // Offset to the page header @@ -41428,7 +41438,7 @@ func defragmentPage(tls *libc.TLS, pPage uintptr, nMaxFrag int32) int32 { /* sql if !(iFree > usableSize-4) { goto __2 } - return Xsqlite3CorruptError(tls, 67631) + return Xsqlite3CorruptError(tls, 67641) __2: ; if !(iFree != 0) { @@ -41438,7 +41448,7 @@ __2: if !(iFree2 > usableSize-4) { goto __4 } - return Xsqlite3CorruptError(tls, 67634) + return Xsqlite3CorruptError(tls, 67644) __4: ; if !(0 == iFree2 || int32(*(*uint8)(unsafe.Pointer(data + uintptr(iFree2)))) == 0 && int32(*(*uint8)(unsafe.Pointer(data + uintptr(iFree2+1)))) == 0) { @@ -41451,7 +41461,7 @@ __4: if !(top >= iFree) { goto __6 } - return Xsqlite3CorruptError(tls, 67642) + return Xsqlite3CorruptError(tls, 67652) __6: ; if !(iFree2 != 0) { @@ -41460,14 +41470,14 @@ __6: if !(iFree+sz > iFree2) { goto __9 } - return Xsqlite3CorruptError(tls, 67645) + return Xsqlite3CorruptError(tls, 67655) __9: ; sz2 = int32(*(*uint8)(unsafe.Pointer(data + uintptr(iFree2+2))))<<8 | int32(*(*uint8)(unsafe.Pointer(data + uintptr(iFree2+2) + 1))) if !(iFree2+sz2 > usableSize) { goto __10 } - return Xsqlite3CorruptError(tls, 67647) + return Xsqlite3CorruptError(tls, 67657) __10: ; libc.Xmemmove(tls, data+uintptr(iFree+sz+sz2), data+uintptr(iFree+sz), uint64(iFree2-(iFree+sz))) @@ -41477,7 +41487,7 @@ __7: if !(iFree+sz > usableSize) { goto __11 } - return Xsqlite3CorruptError(tls, 67651) + return Xsqlite3CorruptError(tls, 67661) __11: ; __8: @@ -41539,7 +41549,7 @@ __18: if !(pc < iCellStart || pc > iCellLast) { goto __21 } - return Xsqlite3CorruptError(tls, 67680) + return Xsqlite3CorruptError(tls, 67690) __21: ; @@ -41550,7 +41560,7 @@ __21: if !(cbrk < iCellStart || pc+size > usableSize) { goto __22 } - return Xsqlite3CorruptError(tls, 67686) + return Xsqlite3CorruptError(tls, 67696) __22: ; @@ -41585,7 +41595,7 @@ defragment_out: if !(int32(*(*uint8)(unsafe.Pointer(data + uintptr(hdr+7))))+cbrk-iCellFirst != (*MemPage)(unsafe.Pointer(pPage)).FnFree) { goto __25 } - return Xsqlite3CorruptError(tls, 67705) + return Xsqlite3CorruptError(tls, 67715) __25: ; @@ -41610,7 +41620,7 @@ __25: // Slots on the free list that are between 1 and 3 bytes larger than nByte // will be ignored if adding the extra space to the fragmentation count // causes the fragmentation count to exceed 60. -func pageFindSlot(tls *libc.TLS, pPg uintptr, nByte int32, pRc uintptr) uintptr { /* sqlite3.c:67730:11: */ +func pageFindSlot(tls *libc.TLS, pPg uintptr, nByte int32, pRc uintptr) uintptr { /* sqlite3.c:67740:11: */ var hdr int32 = int32((*MemPage)(unsafe.Pointer(pPg)).FhdrOffset) // Offset to page header var aData uintptr = (*MemPage)(unsafe.Pointer(pPg)).FaData // Page data var iAddr int32 = hdr + 1 // Address of ptr to pc @@ -41639,7 +41649,7 @@ func pageFindSlot(tls *libc.TLS, pPg uintptr, nByte int32, pRc uintptr) uintptr *(*U8)(unsafe.Pointer(aData + uintptr(hdr+7))) += U8(int32(U8(x))) } else if x+pc > maxPC { // This slot extends off the end of the usable part of the page - *(*int32)(unsafe.Pointer(pRc)) = Xsqlite3CorruptError(tls, 67759) + *(*int32)(unsafe.Pointer(pRc)) = Xsqlite3CorruptError(tls, 67769) return uintptr(0) } else { // The slot remains on the free-list. Reduce its size to account @@ -41654,14 +41664,14 @@ func pageFindSlot(tls *libc.TLS, pPg uintptr, nByte int32, pRc uintptr) uintptr if pc <= iAddr+size { if pc != 0 { // The next slot in the chain is not past the end of the current slot - *(*int32)(unsafe.Pointer(pRc)) = Xsqlite3CorruptError(tls, 67773) + *(*int32)(unsafe.Pointer(pRc)) = Xsqlite3CorruptError(tls, 67783) } return uintptr(0) } } if pc > maxPC+nByte-4 { // The free slot chain extends off the end of the page - *(*int32)(unsafe.Pointer(pRc)) = Xsqlite3CorruptError(tls, 67780) + *(*int32)(unsafe.Pointer(pRc)) = Xsqlite3CorruptError(tls, 67790) } return uintptr(0) } @@ -41677,7 +41687,7 @@ func pageFindSlot(tls *libc.TLS, pPg uintptr, nByte int32, pRc uintptr) uintptr // the first two bytes past the cell pointer area since presumably this // allocation is being made in order to insert a new cell, so we will // also end up needing a new cell pointer. -func allocateSpace(tls *libc.TLS, pPage uintptr, nByte int32, pIdx uintptr) int32 { /* sqlite3.c:67798:12: */ +func allocateSpace(tls *libc.TLS, pPage uintptr, nByte int32, pIdx uintptr) int32 { /* sqlite3.c:67808:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -41702,7 +41712,7 @@ func allocateSpace(tls *libc.TLS, pPage uintptr, nByte int32, pIdx uintptr) int3 if top == 0 && (*BtShared)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize == U32(65536) { top = 65536 } else { - return Xsqlite3CorruptError(tls, 67827) + return Xsqlite3CorruptError(tls, 67837) } } @@ -41717,7 +41727,7 @@ func allocateSpace(tls *libc.TLS, pPage uintptr, nByte int32, pIdx uintptr) int3 *(*int32)(unsafe.Pointer(pIdx)) = libc.AssignInt32(&g2, int32((int64(pSpace)-int64(data))/1)) if g2 <= gap { - return Xsqlite3CorruptError(tls, 67845) + return Xsqlite3CorruptError(tls, 67855) } else { return SQLITE_OK } @@ -41768,7 +41778,7 @@ func allocateSpace(tls *libc.TLS, pPage uintptr, nByte int32, pIdx uintptr) int3 // does it detect cells or freeblocks that encrouch into the reserved bytes // at the end of the page. So do additional corruption checks inside this // routine and return SQLITE_CORRUPT if any problems are found. -func freeSpace(tls *libc.TLS, pPage uintptr, iStart U16, iSize U16) int32 { /* sqlite3.c:67894:12: */ +func freeSpace(tls *libc.TLS, pPage uintptr, iStart U16, iSize U16) int32 { /* sqlite3.c:67904:12: */ var iPtr U16 // Address of ptr to next freeblock var iFreeBlk U16 // Address of the next freeblock var hdr U8 // Page header size. 0 or 100 @@ -41792,12 +41802,12 @@ func freeSpace(tls *libc.TLS, pPage uintptr, iStart U16, iSize U16) int32 { /* s if int32(iFreeBlk) == 0 { break } // TH3: corrupt082.100 - return Xsqlite3CorruptError(tls, 67923) + return Xsqlite3CorruptError(tls, 67933) } iPtr = iFreeBlk } if U32(iFreeBlk) > (*BtShared)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize-U32(4) { // TH3: corrupt081.100 - return Xsqlite3CorruptError(tls, 67928) + return Xsqlite3CorruptError(tls, 67938) } // At this point: @@ -41808,11 +41818,11 @@ func freeSpace(tls *libc.TLS, pPage uintptr, iStart U16, iSize U16) int32 { /* s if iFreeBlk != 0 && iEnd+U32(3) >= U32(iFreeBlk) { nFrag = U8(U32(iFreeBlk) - iEnd) if iEnd > U32(iFreeBlk) { - return Xsqlite3CorruptError(tls, 67940) + return Xsqlite3CorruptError(tls, 67950) } iEnd = U32(int32(iFreeBlk) + (int32(*(*uint8)(unsafe.Pointer(data + uintptr(int32(iFreeBlk)+2))))<<8 | int32(*(*uint8)(unsafe.Pointer(data + uintptr(int32(iFreeBlk)+2) + 1))))) if iEnd > (*BtShared)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize { - return Xsqlite3CorruptError(tls, 67943) + return Xsqlite3CorruptError(tls, 67953) } iSize = U16(iEnd - U32(iStart)) iFreeBlk = U16(int32(*(*uint8)(unsafe.Pointer(data + uintptr(iFreeBlk))))<<8 | int32(*(*uint8)(unsafe.Pointer(data + uintptr(iFreeBlk) + 1)))) @@ -41825,7 +41835,7 @@ func freeSpace(tls *libc.TLS, pPage uintptr, iStart U16, iSize U16) int32 { /* s var iPtrEnd int32 = int32(iPtr) + (int32(*(*uint8)(unsafe.Pointer(data + uintptr(int32(iPtr)+2))))<<8 | int32(*(*uint8)(unsafe.Pointer(data + uintptr(int32(iPtr)+2) + 1)))) if iPtrEnd+3 >= int32(iStart) { if iPtrEnd > int32(iStart) { - return Xsqlite3CorruptError(tls, 67956) + return Xsqlite3CorruptError(tls, 67966) } nFrag = U8(int32(nFrag) + (int32(iStart) - iPtrEnd)) iSize = U16(iEnd - U32(iPtr)) @@ -41833,7 +41843,7 @@ func freeSpace(tls *libc.TLS, pPage uintptr, iStart U16, iSize U16) int32 { /* s } } if int32(nFrag) > int32(*(*uint8)(unsafe.Pointer(data + uintptr(int32(hdr)+7)))) { - return Xsqlite3CorruptError(tls, 67962) + return Xsqlite3CorruptError(tls, 67972) } *(*uint8)(unsafe.Pointer(data + uintptr(int32(hdr)+7))) -= uint8(int32(nFrag)) } @@ -41843,10 +41853,10 @@ func freeSpace(tls *libc.TLS, pPage uintptr, iStart U16, iSize U16) int32 { /* s // so just extend the cell content area rather than create another // freelist entry if int32(iStart) < int32(x) { - return Xsqlite3CorruptError(tls, 67970) + return Xsqlite3CorruptError(tls, 67980) } if int32(iPtr) != int32(hdr)+1 { - return Xsqlite3CorruptError(tls, 67971) + return Xsqlite3CorruptError(tls, 67981) } *(*uint8)(unsafe.Pointer(data + uintptr(int32(hdr)+1))) = U8(int32(iFreeBlk) >> 8) *(*uint8)(unsafe.Pointer(data + uintptr(int32(hdr)+1) + 1)) = U8(iFreeBlk) @@ -41880,7 +41890,7 @@ func freeSpace(tls *libc.TLS, pPage uintptr, iStart U16, iSize U16) int32 { /* s // PTF_ZERODATA | PTF_LEAF // PTF_LEAFDATA | PTF_INTKEY // PTF_LEAFDATA | PTF_INTKEY | PTF_LEAF -func decodeFlags(tls *libc.TLS, pPage uintptr, flagByte int32) int32 { /* sqlite3.c:68001:12: */ +func decodeFlags(tls *libc.TLS, pPage uintptr, flagByte int32) int32 { /* sqlite3.c:68011:12: */ var pBt uintptr // A copy of pPage->pBt (*MemPage)(unsafe.Pointer(pPage)).Fleaf = U8(flagByte >> 3) @@ -41931,7 +41941,7 @@ func decodeFlags(tls *libc.TLS, pPage uintptr, flagByte int32) int32 { /* sqlite } else { // EVIDENCE-OF: R-47608-56469 Any other value for the b-tree page type is // an error. - return Xsqlite3CorruptError(tls, 68044) + return Xsqlite3CorruptError(tls, 68054) } (*MemPage)(unsafe.Pointer(pPage)).Fmax1bytePayload = (*BtShared)(unsafe.Pointer(pBt)).Fmax1bytePayload return SQLITE_OK @@ -41939,7 +41949,7 @@ func decodeFlags(tls *libc.TLS, pPage uintptr, flagByte int32) int32 { /* sqlite // Compute the amount of freespace on the page. In other words, fill // in the pPage->nFree field. -func btreeComputeFreeSpace(tls *libc.TLS, pPage uintptr) int32 { /* sqlite3.c:68054:12: */ +func btreeComputeFreeSpace(tls *libc.TLS, pPage uintptr) int32 { /* sqlite3.c:68064:12: */ var pc int32 // Address of a freeblock within pPage->aData[] var hdr U8 // Offset to beginning of page header var data uintptr // Equal to pPage->aData @@ -41971,12 +41981,12 @@ func btreeComputeFreeSpace(tls *libc.TLS, pPage uintptr) int32 { /* sqlite3.c:68 if pc < top { // 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 Xsqlite3CorruptError(tls, 68095) + return Xsqlite3CorruptError(tls, 68105) } for 1 != 0 { if pc > iCellLast { // Freeblock off the end of the page - return Xsqlite3CorruptError(tls, 68100) + return Xsqlite3CorruptError(tls, 68110) } next = U32(int32(*(*U8)(unsafe.Pointer(data + uintptr(pc))))<<8 | int32(*(*U8)(unsafe.Pointer(data + uintptr(pc) + 1)))) size = U32(int32(*(*U8)(unsafe.Pointer(data + uintptr(pc+2))))<<8 | int32(*(*U8)(unsafe.Pointer(data + uintptr(pc+2) + 1)))) @@ -41988,11 +41998,11 @@ func btreeComputeFreeSpace(tls *libc.TLS, pPage uintptr) int32 { /* sqlite3.c:68 } if next > U32(0) { // Freeblock not in ascending order - return Xsqlite3CorruptError(tls, 68110) + return Xsqlite3CorruptError(tls, 68120) } if U32(pc)+size > uint32(usableSize) { // Last freeblock extends past page end - return Xsqlite3CorruptError(tls, 68114) + return Xsqlite3CorruptError(tls, 68124) } } @@ -42003,7 +42013,7 @@ func btreeComputeFreeSpace(tls *libc.TLS, pPage uintptr) int32 { /* sqlite3.c:68 // serves to verify that the offset to the start of the cell-content // area, according to the page header, lies within the page. if nFree > usableSize || nFree < iCellFirst { - return Xsqlite3CorruptError(tls, 68126) + return Xsqlite3CorruptError(tls, 68136) } (*MemPage)(unsafe.Pointer(pPage)).FnFree = int32(U16(nFree - iCellFirst)) return SQLITE_OK @@ -42011,7 +42021,7 @@ func btreeComputeFreeSpace(tls *libc.TLS, pPage uintptr) int32 { /* sqlite3.c:68 // Do additional sanity check after btreeInitPage() if // PRAGMA cell_size_check=ON -func btreeCellSizeCheck(tls *libc.TLS, pPage uintptr) int32 { /* sqlite3.c:68136:28: */ +func btreeCellSizeCheck(tls *libc.TLS, pPage uintptr) int32 { /* sqlite3.c:68146:28: */ var iCellFirst int32 // First allowable cell or freeblock offset var iCellLast int32 // Last possible cell or freeblock offset var i int32 // Index into the cell pointer array @@ -42033,14 +42043,14 @@ func btreeCellSizeCheck(tls *libc.TLS, pPage uintptr) int32 { /* sqlite3.c:68136 pc = int32(*(*U8)(unsafe.Pointer(data + uintptr(cellOffset+i*2))))<<8 | int32(*(*U8)(unsafe.Pointer(data + uintptr(cellOffset+i*2) + 1))) if pc < iCellFirst || pc > iCellLast { - return Xsqlite3CorruptError(tls, 68157) + return Xsqlite3CorruptError(tls, 68167) } sz = int32((*struct { f func(*libc.TLS, uintptr, uintptr) U16 })(unsafe.Pointer(&struct{ uintptr }{(*MemPage)(unsafe.Pointer(pPage)).FxCellSize})).f(tls, pPage, data+uintptr(pc))) if pc+sz > usableSize { - return Xsqlite3CorruptError(tls, 68162) + return Xsqlite3CorruptError(tls, 68172) } } return SQLITE_OK @@ -42053,7 +42063,7 @@ func btreeCellSizeCheck(tls *libc.TLS, pPage uintptr) int32 { /* sqlite3.c:68136 // SQLITE_CORRUPT. Note that a return of SQLITE_OK does not // guarantee that the page is well-formed. It only shows that // we failed to detect any corruption. -func btreeInitPage(tls *libc.TLS, pPage uintptr) int32 { /* sqlite3.c:68177:12: */ +func btreeInitPage(tls *libc.TLS, pPage uintptr) int32 { /* sqlite3.c:68187:12: */ var data uintptr // Equal to pPage->aData var pBt uintptr // The main btree structure @@ -42062,7 +42072,7 @@ func btreeInitPage(tls *libc.TLS, pPage uintptr) int32 { /* sqlite3.c:68177:12: // EVIDENCE-OF: R-28594-02890 The one-byte flag at offset 0 indicating // the b-tree page type. if decodeFlags(tls, pPage, int32(*(*U8)(unsafe.Pointer(data)))) != 0 { - return Xsqlite3CorruptError(tls, 68194) + return Xsqlite3CorruptError(tls, 68204) } (*MemPage)(unsafe.Pointer(pPage)).FmaskPage = U16((*BtShared)(unsafe.Pointer(pBt)).FpageSize - U32(1)) @@ -42076,7 +42086,7 @@ func btreeInitPage(tls *libc.TLS, pPage uintptr) int32 { /* sqlite3.c:68177:12: (*MemPage)(unsafe.Pointer(pPage)).FnCell = U16(int32(*(*U8)(unsafe.Pointer(data + 3)))<<8 | int32(*(*U8)(unsafe.Pointer(data + 3 + 1)))) if U32((*MemPage)(unsafe.Pointer(pPage)).FnCell) > ((*BtShared)(unsafe.Pointer(pBt)).FpageSize-U32(8))/U32(6) { // To many cells for a single page. The page must be corrupt - return Xsqlite3CorruptError(tls, 68208) + return Xsqlite3CorruptError(tls, 68218) } // EVIDENCE-OF: R-24089-57979 If a page contains no cells (which is only @@ -42094,7 +42104,7 @@ func btreeInitPage(tls *libc.TLS, pPage uintptr) int32 { /* sqlite3.c:68177:12: // Set up a raw page so that it looks like a database page holding // no entries. -func zeroPage(tls *libc.TLS, pPage uintptr, flags int32) { /* sqlite3.c:68230:13: */ +func zeroPage(tls *libc.TLS, pPage uintptr, flags int32) { /* sqlite3.c:68240:13: */ var data uintptr = (*MemPage)(unsafe.Pointer(pPage)).FaData var pBt uintptr = (*MemPage)(unsafe.Pointer(pPage)).FpBt var hdr U8 = (*MemPage)(unsafe.Pointer(pPage)).FhdrOffset @@ -42129,7 +42139,7 @@ func zeroPage(tls *libc.TLS, pPage uintptr, flags int32) { /* sqlite3.c:68230:13 // Convert a DbPage obtained from the pager into a MemPage used by // the btree layer. -func btreePageFromDbPage(tls *libc.TLS, pDbPage uintptr, pgno Pgno, pBt uintptr) uintptr { /* sqlite3.c:68267:16: */ +func btreePageFromDbPage(tls *libc.TLS, pDbPage uintptr, pgno Pgno, pBt uintptr) uintptr { /* sqlite3.c:68277:16: */ var pPage uintptr = Xsqlite3PagerGetExtra(tls, pDbPage) if pgno != (*MemPage)(unsafe.Pointer(pPage)).Fpgno { (*MemPage)(unsafe.Pointer(pPage)).FaData = Xsqlite3PagerGetData(tls, pDbPage) @@ -42156,7 +42166,7 @@ func btreePageFromDbPage(tls *libc.TLS, pDbPage uintptr, pgno Pgno, pBt uintptr) // If in the future we call sqlite3PagerWrite() on this page, that // means we have started to be concerned about content and the disk // read should occur at that point. -func btreeGetPage(tls *libc.TLS, pBt uintptr, pgno Pgno, ppPage uintptr, flags int32) int32 { /* sqlite3.c:68291:12: */ +func btreeGetPage(tls *libc.TLS, pBt uintptr, pgno Pgno, ppPage uintptr, flags int32) int32 { /* sqlite3.c:68301:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -42174,7 +42184,7 @@ func btreeGetPage(tls *libc.TLS, pBt uintptr, pgno Pgno, ppPage uintptr, flags i // Retrieve a page from the pager cache. If the requested page is not // already in the pager cache return NULL. Initialize the MemPage.pBt and // MemPage.aData elements if needed. -func btreePageLookup(tls *libc.TLS, pBt uintptr, pgno Pgno) uintptr { /* sqlite3.c:68313:16: */ +func btreePageLookup(tls *libc.TLS, pBt uintptr, pgno Pgno) uintptr { /* sqlite3.c:68323:16: */ var pDbPage uintptr pDbPage = Xsqlite3PagerLookup(tls, (*BtShared)(unsafe.Pointer(pBt)).FpPager, pgno) @@ -42186,11 +42196,11 @@ func btreePageLookup(tls *libc.TLS, pBt uintptr, pgno Pgno) uintptr { /* sqlite3 // Return the size of the database file in pages. If there is any kind of // error, return ((unsigned int)-1). -func btreePagecount(tls *libc.TLS, pBt uintptr) Pgno { /* sqlite3.c:68327:13: */ +func btreePagecount(tls *libc.TLS, pBt uintptr) Pgno { /* sqlite3.c:68337:13: */ return (*BtShared)(unsafe.Pointer(pBt)).FnPage } -func Xsqlite3BtreeLastPage(tls *libc.TLS, p uintptr) Pgno { /* sqlite3.c:68330:21: */ +func Xsqlite3BtreeLastPage(tls *libc.TLS, p uintptr) Pgno { /* sqlite3.c:68340:21: */ return btreePagecount(tls, (*Btree)(unsafe.Pointer(p)).FpBt) } @@ -42206,7 +42216,7 @@ func Xsqlite3BtreeLastPage(tls *libc.TLS, p uintptr) Pgno { /* sqlite3.c:68330:2 // // If an error occurs, then *ppPage is undefined. It // may remain unchanged, or it may be set to an invalid value. -func getAndInitPage(tls *libc.TLS, pBt uintptr, pgno Pgno, ppPage uintptr, pCur uintptr, bReadOnly int32) int32 { /* sqlite3.c:68348:12: */ +func getAndInitPage(tls *libc.TLS, pBt uintptr, pgno Pgno, ppPage uintptr, pCur uintptr, bReadOnly int32) int32 { /* sqlite3.c:68358:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -42216,7 +42226,7 @@ func getAndInitPage(tls *libc.TLS, pBt uintptr, pgno Pgno, ppPage uintptr, pCur if !(pgno > btreePagecount(tls, pBt)) { goto __1 } - rc = Xsqlite3CorruptError(tls, 68363) + rc = Xsqlite3CorruptError(tls, 68373) goto getAndInitPage_error1 __1: ; @@ -42247,7 +42257,7 @@ __3: if !(pCur != 0 && (int32((*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(ppPage)))).FnCell) < 1 || int32((*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(ppPage)))).FintKey) != int32((*BtCursor)(unsafe.Pointer(pCur)).FcurIntKey))) { goto __5 } - rc = Xsqlite3CorruptError(tls, 68384) + rc = Xsqlite3CorruptError(tls, 68394) goto getAndInitPage_error2 __5: ; @@ -42271,18 +42281,18 @@ __6: // call to btreeGetPage. // // Page1 is a special case and must be released using releasePageOne(). -func releasePageNotNull(tls *libc.TLS, pPage uintptr) { /* sqlite3.c:68407:13: */ +func releasePageNotNull(tls *libc.TLS, pPage uintptr) { /* sqlite3.c:68417:13: */ Xsqlite3PagerUnrefNotNull(tls, (*MemPage)(unsafe.Pointer(pPage)).FpDbPage) } -func releasePage(tls *libc.TLS, pPage uintptr) { /* sqlite3.c:68416:13: */ +func releasePage(tls *libc.TLS, pPage uintptr) { /* sqlite3.c:68426:13: */ if pPage != 0 { releasePageNotNull(tls, pPage) } } -func releasePageOne(tls *libc.TLS, pPage uintptr) { /* sqlite3.c:68419:13: */ +func releasePageOne(tls *libc.TLS, pPage uintptr) { /* sqlite3.c:68429:13: */ Xsqlite3PagerUnrefPageOne(tls, (*MemPage)(unsafe.Pointer(pPage)).FpDbPage) } @@ -42294,13 +42304,13 @@ func releasePageOne(tls *libc.TLS, pPage uintptr) { /* sqlite3.c:68419:13: */ // * If the page is already in use for some other purpose, immediately // release it and return an SQLITE_CURRUPT error. // * Make sure the isInit flag is clear -func btreeGetUnusedPage(tls *libc.TLS, pBt uintptr, pgno Pgno, ppPage uintptr, flags int32) int32 { /* sqlite3.c:68439:12: */ +func btreeGetUnusedPage(tls *libc.TLS, pBt uintptr, pgno Pgno, ppPage uintptr, flags int32) int32 { /* sqlite3.c:68449:12: */ var rc int32 = btreeGetPage(tls, pBt, pgno, ppPage, flags) if rc == SQLITE_OK { if Xsqlite3PagerPageRefcount(tls, (*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(ppPage)))).FpDbPage) > 1 { releasePage(tls, *(*uintptr)(unsafe.Pointer(ppPage))) *(*uintptr)(unsafe.Pointer(ppPage)) = uintptr(0) - return Xsqlite3CorruptError(tls, 68450) + return Xsqlite3CorruptError(tls, 68460) } (*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(ppPage)))).FisInit = U8(0) } else { @@ -42315,7 +42325,7 @@ func btreeGetUnusedPage(tls *libc.TLS, pBt uintptr, pgno Pgno, ppPage uintptr, f // // This routine needs to reset the extra data section at the end of the // page to agree with the restored data. -func pageReinit(tls *libc.TLS, pData uintptr) { /* sqlite3.c:68468:13: */ +func pageReinit(tls *libc.TLS, pData uintptr) { /* sqlite3.c:68478:13: */ var pPage uintptr pPage = Xsqlite3PagerGetExtra(tls, pData) @@ -42335,7 +42345,7 @@ func pageReinit(tls *libc.TLS, pData uintptr) { /* sqlite3.c:68468:13: */ } // Invoke the busy handler for a btree. -func btreeInvokeBusyHandler(tls *libc.TLS, pArg uintptr) int32 { /* sqlite3.c:68490:12: */ +func btreeInvokeBusyHandler(tls *libc.TLS, pArg uintptr) int32 { /* sqlite3.c:68500:12: */ var pBt uintptr = pArg return Xsqlite3InvokeBusyHandler(tls, (*BtShared)(unsafe.Pointer(pBt)).Fdb+664) @@ -42360,7 +42370,7 @@ func btreeInvokeBusyHandler(tls *libc.TLS, pArg uintptr) int32 { /* sqlite3.c:68 // SQLITE_CONSTRAINT error. We cannot allow two or more BtShared // objects in the same database connection since doing so will lead // to problems with locking. -func Xsqlite3BtreeOpen(tls *libc.TLS, pVfs uintptr, zFilename uintptr, db uintptr, ppBtree uintptr, flags int32, vfsFlags int32) int32 { /* sqlite3.c:68518:20: */ +func Xsqlite3BtreeOpen(tls *libc.TLS, pVfs uintptr, zFilename uintptr, db uintptr, ppBtree uintptr, flags int32, vfsFlags int32) int32 { /* sqlite3.c:68528:20: */ bp := tls.Alloc(100) defer tls.Free(100) @@ -42781,7 +42791,7 @@ __49: // remove the BtShared structure from the sharing list. Return // true if the BtShared.nRef counter reaches zero and return // false if it is still positive. -func removeFromSharingList(tls *libc.TLS, pBt uintptr) int32 { /* sqlite3.c:68816:12: */ +func removeFromSharingList(tls *libc.TLS, pBt uintptr) int32 { /* sqlite3.c:68826:12: */ var pMainMtx uintptr var pList uintptr var removed int32 = 0 @@ -42813,7 +42823,7 @@ func removeFromSharingList(tls *libc.TLS, pBt uintptr) int32 { /* sqlite3.c:6881 // Make sure pBt->pTmpSpace points to an allocation of // MX_CELL_SIZE(pBt) bytes with a 4-byte prefix for a left-child // pointer. -func allocateTempSpace(tls *libc.TLS, pBt uintptr) int32 { /* sqlite3.c:68855:28: */ +func allocateTempSpace(tls *libc.TLS, pBt uintptr) int32 { /* sqlite3.c:68865:28: */ // This routine is called only by btreeCursor() when allocating the // first write cursor for the BtShared object @@ -42846,7 +42856,7 @@ func allocateTempSpace(tls *libc.TLS, pBt uintptr) int32 { /* sqlite3.c:68855:28 } // Free the pBt->pTmpSpace allocation -func freeTempSpace(tls *libc.TLS, pBt uintptr) { /* sqlite3.c:68892:13: */ +func freeTempSpace(tls *libc.TLS, pBt uintptr) { /* sqlite3.c:68902:13: */ if (*BtShared)(unsafe.Pointer(pBt)).FpTmpSpace != 0 { *(*uintptr)(unsafe.Pointer(pBt + 136)) -= uintptr(4) Xsqlite3PageFree(tls, (*BtShared)(unsafe.Pointer(pBt)).FpTmpSpace) @@ -42855,7 +42865,7 @@ func freeTempSpace(tls *libc.TLS, pBt uintptr) { /* sqlite3.c:68892:13: */ } // Close an open database and invalidate all cursors. -func Xsqlite3BtreeClose(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:68903:20: */ +func Xsqlite3BtreeClose(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:68913:20: */ var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt // Close all cursors opened via this handle. @@ -42905,7 +42915,7 @@ func Xsqlite3BtreeClose(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:68903:20: // pages in the cache exceeds this soft limit. But the size of the // cache is allowed to grow larger than this limit if it contains // dirty pages or pages still in active use. -func Xsqlite3BtreeSetCacheSize(tls *libc.TLS, p uintptr, mxPage int32) int32 { /* sqlite3.c:68969:20: */ +func Xsqlite3BtreeSetCacheSize(tls *libc.TLS, p uintptr, mxPage int32) int32 { /* sqlite3.c:68979:20: */ var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt Xsqlite3BtreeEnter(tls, p) @@ -42922,7 +42932,7 @@ func Xsqlite3BtreeSetCacheSize(tls *libc.TLS, p uintptr, mxPage int32) int32 { / // The value returned is the current spill size. If zero is passed // as an argument, no changes are made to the spill size setting, so // using mxPage of 0 is a way to query the current spill size. -func Xsqlite3BtreeSetSpillSize(tls *libc.TLS, p uintptr, mxPage int32) int32 { /* sqlite3.c:68988:20: */ +func Xsqlite3BtreeSetSpillSize(tls *libc.TLS, p uintptr, mxPage int32) int32 { /* sqlite3.c:68998:20: */ var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt var res int32 @@ -42938,7 +42948,7 @@ func Xsqlite3BtreeSetSpillSize(tls *libc.TLS, p uintptr, mxPage int32) int32 { / // there is a high probability of damage) Level 2 is the default. There // is a very low but non-zero probability of damage. Level 3 reduces the // probability of damage to near zero but with a write performance reduction. -func Xsqlite3BtreeSetPagerFlags(tls *libc.TLS, p uintptr, pgFlags uint32) int32 { /* sqlite3.c:69022:20: */ +func Xsqlite3BtreeSetPagerFlags(tls *libc.TLS, p uintptr, pgFlags uint32) int32 { /* sqlite3.c:69032:20: */ var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt Xsqlite3BtreeEnter(tls, p) @@ -42965,7 +42975,7 @@ func Xsqlite3BtreeSetPagerFlags(tls *libc.TLS, p uintptr, pgFlags uint32) int32 // // If the iFix!=0 then the BTS_PAGESIZE_FIXED flag is set so that the page size // and autovacuum mode can no longer be changed. -func Xsqlite3BtreeSetPageSize(tls *libc.TLS, p uintptr, pageSize int32, nReserve int32, iFix int32) int32 { /* sqlite3.c:69055:20: */ +func Xsqlite3BtreeSetPageSize(tls *libc.TLS, p uintptr, pageSize int32, nReserve int32, iFix int32) int32 { /* sqlite3.c:69065:20: */ var rc int32 = SQLITE_OK var x int32 var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt @@ -42999,7 +43009,7 @@ func Xsqlite3BtreeSetPageSize(tls *libc.TLS, p uintptr, pageSize int32, nReserve } // Return the currently defined page size -func Xsqlite3BtreeGetPageSize(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:69087:20: */ +func Xsqlite3BtreeGetPageSize(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:69097:20: */ return int32((*BtShared)(unsafe.Pointer((*Btree)(unsafe.Pointer(p)).FpBt)).FpageSize) } @@ -43012,7 +43022,7 @@ func Xsqlite3BtreeGetPageSize(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:690 // database handle that owns *p is not. In this case if sqlite3BtreeEnter() // were to be called, it might collide with some other operation on the // database handle that owns *p, causing undefined behavior. -func Xsqlite3BtreeGetReserveNoMutex(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:69102:20: */ +func Xsqlite3BtreeGetReserveNoMutex(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:69112:20: */ var n int32 n = int32((*BtShared)(unsafe.Pointer((*Btree)(unsafe.Pointer(p)).FpBt)).FpageSize - (*BtShared)(unsafe.Pointer((*Btree)(unsafe.Pointer(p)).FpBt)).FusableSize) @@ -43026,7 +43036,7 @@ func Xsqlite3BtreeGetReserveNoMutex(tls *libc.TLS, p uintptr) int32 { /* sqlite3 // The value returned is the larger of the current reserve size and // the latest reserve size requested by SQLITE_FILECTRL_RESERVE_BYTES. // The amount of reserve can only grow - never shrink. -func Xsqlite3BtreeGetRequestedReserve(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:69118:20: */ +func Xsqlite3BtreeGetRequestedReserve(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:69128:20: */ var n1 int32 var n2 int32 Xsqlite3BtreeEnter(tls, p) @@ -43042,7 +43052,7 @@ func Xsqlite3BtreeGetRequestedReserve(tls *libc.TLS, p uintptr) int32 { /* sqlit // Set the maximum page count for a database if mxPage is positive. // No changes are made if mxPage is 0 or negative. // Regardless of the value of mxPage, return the maximum page count. -func Xsqlite3BtreeMaxPageCount(tls *libc.TLS, p uintptr, mxPage Pgno) Pgno { /* sqlite3.c:69133:21: */ +func Xsqlite3BtreeMaxPageCount(tls *libc.TLS, p uintptr, mxPage Pgno) Pgno { /* sqlite3.c:69143:21: */ var n Pgno Xsqlite3BtreeEnter(tls, p) n = Xsqlite3PagerMaxPageCount(tls, (*BtShared)(unsafe.Pointer((*Btree)(unsafe.Pointer(p)).FpBt)).FpPager, mxPage) @@ -43066,7 +43076,7 @@ func Xsqlite3BtreeMaxPageCount(tls *libc.TLS, p uintptr, mxPage Pgno) Pgno { /* // With BTS_SECURE_DELETE, operation is like BTS_OVERWRITE with the addition // that freelist leaf pages are written back into the database, increasing // the amount of disk I/O. -func Xsqlite3BtreeSecureDelete(tls *libc.TLS, p uintptr, newFlag int32) int32 { /* sqlite3.c:69159:20: */ +func Xsqlite3BtreeSecureDelete(tls *libc.TLS, p uintptr, newFlag int32) int32 { /* sqlite3.c:69169:20: */ var b int32 if p == uintptr(0) { return 0 @@ -43086,7 +43096,7 @@ func Xsqlite3BtreeSecureDelete(tls *libc.TLS, p uintptr, newFlag int32) int32 { // parameter is non-zero, then auto-vacuum mode is enabled. If zero, it // is disabled. The default value for the auto-vacuum property is // determined by the SQLITE_DEFAULT_AUTOVACUUM macro. -func Xsqlite3BtreeSetAutoVacuum(tls *libc.TLS, p uintptr, autoVacuum int32) int32 { /* sqlite3.c:69180:20: */ +func Xsqlite3BtreeSetAutoVacuum(tls *libc.TLS, p uintptr, autoVacuum int32) int32 { /* sqlite3.c:69190:20: */ var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt var rc int32 = SQLITE_OK var av U8 = U8(autoVacuum) @@ -43119,7 +43129,7 @@ func Xsqlite3BtreeSetAutoVacuum(tls *libc.TLS, p uintptr, autoVacuum int32) int3 // Return the value of the 'auto-vacuum' property. If auto-vacuum is // enabled 1 is returned. Otherwise 0. -func Xsqlite3BtreeGetAutoVacuum(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:69204:20: */ +func Xsqlite3BtreeGetAutoVacuum(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:69214:20: */ var rc int32 Xsqlite3BtreeEnter(tls, p) rc = func() int32 { @@ -43144,7 +43154,7 @@ func Xsqlite3BtreeGetAutoVacuum(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:6 // well-formed database file, then SQLITE_CORRUPT is returned. // SQLITE_BUSY is returned if the database is locked. SQLITE_NOMEM // is returned if we run out of memory. -func lockBtree(tls *libc.TLS, pBt uintptr) int32 { /* sqlite3.c:69260:12: */ +func lockBtree(tls *libc.TLS, pBt uintptr) int32 { /* sqlite3.c:69270:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -43313,7 +43323,7 @@ __16: if !(Xsqlite3WritableSchema(tls, (*BtShared)(unsafe.Pointer(pBt)).Fdb) == 0) { goto __18 } - rc = Xsqlite3CorruptError(tls, 69385) + rc = Xsqlite3CorruptError(tls, 69395) goto page1_init_failed goto __19 __18: @@ -43390,7 +43400,7 @@ page1_init_failed: // has the effect of releasing the read lock. // // If there is a transaction in progress, this routine is a no-op. -func unlockBtreeIfUnused(tls *libc.TLS, pBt uintptr) { /* sqlite3.c:69470:13: */ +func unlockBtreeIfUnused(tls *libc.TLS, pBt uintptr) { /* sqlite3.c:69480:13: */ if int32((*BtShared)(unsafe.Pointer(pBt)).FinTransaction) == TRANS_NONE && (*BtShared)(unsafe.Pointer(pBt)).FpPage1 != uintptr(0) { var pPage1 uintptr = (*BtShared)(unsafe.Pointer(pBt)).FpPage1 @@ -43403,7 +43413,7 @@ func unlockBtreeIfUnused(tls *libc.TLS, pBt uintptr) { /* sqlite3.c:69470:13: */ // If pBt points to an empty file then convert that empty file // into a new empty database by initializing the first page of // the database. -func newDatabase(tls *libc.TLS, pBt uintptr) int32 { /* sqlite3.c:69487:12: */ +func newDatabase(tls *libc.TLS, pBt uintptr) int32 { /* sqlite3.c:69497:12: */ var pP1 uintptr var data uintptr var rc int32 @@ -43443,7 +43453,7 @@ func newDatabase(tls *libc.TLS, pBt uintptr) int32 { /* sqlite3.c:69487:12: */ // Initialize the first page of the database file (creating a database // consisting of a single page and no schema objects). Return SQLITE_OK // if successful, or an SQLite error code otherwise. -func Xsqlite3BtreeNewDb(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:69531:20: */ +func Xsqlite3BtreeNewDb(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:69541:20: */ var rc int32 Xsqlite3BtreeEnter(tls, p) (*BtShared)(unsafe.Pointer((*Btree)(unsafe.Pointer(p)).FpBt)).FnPage = U32(0) @@ -43485,7 +43495,7 @@ func Xsqlite3BtreeNewDb(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:69531:20: // no progress. By returning SQLITE_BUSY and not invoking the busy callback // when A already has a read lock, we encourage A to give up and let B // proceed. -func Xsqlite3BtreeBeginTrans(tls *libc.TLS, p uintptr, wrflag int32, pSchemaVersion uintptr) int32 { /* sqlite3.c:69575:20: */ +func Xsqlite3BtreeBeginTrans(tls *libc.TLS, p uintptr, wrflag int32, pSchemaVersion uintptr) int32 { /* sqlite3.c:69585:20: */ var pBt uintptr var pPager uintptr var rc int32 @@ -43749,7 +43759,7 @@ __34: // Set the pointer-map entries for all children of page pPage. Also, if // pPage contains cells that point to overflow pages, set the pointer // map entries for the overflow pages as well. -func setChildPtrmaps(tls *libc.TLS, pPage uintptr) int32 { /* sqlite3.c:69755:12: */ +func setChildPtrmaps(tls *libc.TLS, pPage uintptr) int32 { /* sqlite3.c:69765:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -43801,14 +43811,14 @@ func setChildPtrmaps(tls *libc.TLS, pPage uintptr) int32 { /* sqlite3.c:69755:12 // // PTRMAP_OVERFLOW2: pPage is an overflow-page. The pointer points at the next // overflow page in the list. -func modifyPagePointer(tls *libc.TLS, pPage uintptr, iFrom Pgno, iTo Pgno, eType U8) int32 { /* sqlite3.c:69800:12: */ +func modifyPagePointer(tls *libc.TLS, pPage uintptr, iFrom Pgno, iTo Pgno, eType U8) int32 { /* sqlite3.c:69810:12: */ bp := tls.Alloc(24) defer tls.Free(24) if int32(eType) == PTRMAP_OVERFLOW2 { // The pointer is always the first 4 bytes of the page in this case. if Xsqlite3Get4byte(tls, (*MemPage)(unsafe.Pointer(pPage)).FaData) != iFrom { - return Xsqlite3CorruptError(tls, 69806) + return Xsqlite3CorruptError(tls, 69816) } Xsqlite3Put4byte(tls, (*MemPage)(unsafe.Pointer(pPage)).FaData, iTo) } else { @@ -43836,7 +43846,7 @@ func modifyPagePointer(tls *libc.TLS, pPage uintptr, iFrom Pgno, iTo Pgno, eType })(unsafe.Pointer(&struct{ uintptr }{(*MemPage)(unsafe.Pointer(pPage)).FxParseCell})).f(tls, pPage, pCell, bp /* &info */) if U32((*CellInfo)(unsafe.Pointer(bp)).FnLocal) < (*CellInfo)(unsafe.Pointer(bp)).FnPayload { if pCell+uintptr((*CellInfo)(unsafe.Pointer(bp)).FnSize) > (*MemPage)(unsafe.Pointer(pPage)).FaData+uintptr((*BtShared)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize) { - return Xsqlite3CorruptError(tls, 69825) + return Xsqlite3CorruptError(tls, 69835) } if iFrom == Xsqlite3Get4byte(tls, pCell+uintptr((*CellInfo)(unsafe.Pointer(bp)).FnSize)-uintptr(4)) { Xsqlite3Put4byte(tls, pCell+uintptr((*CellInfo)(unsafe.Pointer(bp)).FnSize)-uintptr(4), iTo) @@ -43853,7 +43863,7 @@ func modifyPagePointer(tls *libc.TLS, pPage uintptr, iFrom Pgno, iTo Pgno, eType if i == nCell { if int32(eType) != PTRMAP_BTREE || Xsqlite3Get4byte(tls, (*MemPage)(unsafe.Pointer(pPage)).FaData+uintptr(int32((*MemPage)(unsafe.Pointer(pPage)).FhdrOffset)+8)) != iFrom { - return Xsqlite3CorruptError(tls, 69843) + return Xsqlite3CorruptError(tls, 69853) } Xsqlite3Put4byte(tls, (*MemPage)(unsafe.Pointer(pPage)).FaData+uintptr(int32((*MemPage)(unsafe.Pointer(pPage)).FhdrOffset)+8), iTo) } @@ -43868,7 +43878,7 @@ func modifyPagePointer(tls *libc.TLS, pPage uintptr, iFrom Pgno, iTo Pgno, eType // the journal needs to be sync()ed before database page pDbPage->pgno // can be written to. The caller has already promised not to write to that // page. -func relocatePage(tls *libc.TLS, pBt uintptr, pDbPage uintptr, eType U8, iPtrPage Pgno, iFreePage Pgno, isCommit int32) int32 { /* sqlite3.c:69861:12: */ +func relocatePage(tls *libc.TLS, pBt uintptr, pDbPage uintptr, eType U8, iPtrPage Pgno, iFreePage Pgno, isCommit int32) int32 { /* sqlite3.c:69871:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -43879,7 +43889,7 @@ func relocatePage(tls *libc.TLS, pBt uintptr, pDbPage uintptr, eType U8, iPtrPag // var rc int32 at bp, 4 if iDbPage < Pgno(3) { - return Xsqlite3CorruptError(tls, 69878) + return Xsqlite3CorruptError(tls, 69888) } // Move page iDbPage from its current location to page number iFreePage @@ -43949,7 +43959,7 @@ func relocatePage(tls *libc.TLS, pBt uintptr, pDbPage uintptr, eType U8, iPtrPag // caller will keep calling incrVacuumStep() until it returns SQLITE_DONE // or an error. bCommit is passed true for an auto-vacuum-on-commit // operation, or false for an incremental vacuum. -func incrVacuumStep(tls *libc.TLS, pBt uintptr, nFin Pgno, iLastPg Pgno, bCommit int32) int32 { /* sqlite3.c:69955:12: */ +func incrVacuumStep(tls *libc.TLS, pBt uintptr, nFin Pgno, iLastPg Pgno, bCommit int32) int32 { /* sqlite3.c:69965:12: */ bp := tls.Alloc(44) defer tls.Free(44) @@ -43971,7 +43981,7 @@ func incrVacuumStep(tls *libc.TLS, pBt uintptr, nFin Pgno, iLastPg Pgno, bCommit return rc } if int32(*(*U8)(unsafe.Pointer(bp))) == PTRMAP_ROOTPAGE { - return Xsqlite3CorruptError(tls, 69976) + return Xsqlite3CorruptError(tls, 69986) } if int32(*(*U8)(unsafe.Pointer(bp))) == PTRMAP_FREEPAGE { @@ -44046,7 +44056,7 @@ func incrVacuumStep(tls *libc.TLS, pBt uintptr, nFin Pgno, iLastPg Pgno, bCommit // The database opened by the first argument is an auto-vacuum database // nOrig pages in size containing nFree free pages. Return the expected // size of the database in pages following an auto-vacuum operation. -func finalDbSize(tls *libc.TLS, pBt uintptr, nOrig Pgno, nFree Pgno) Pgno { /* sqlite3.c:70051:13: */ +func finalDbSize(tls *libc.TLS, pBt uintptr, nOrig Pgno, nFree Pgno) Pgno { /* sqlite3.c:70061:13: */ var nEntry int32 // Number of entries on one ptrmap page var nPtrmap Pgno // Number of PtrMap pages to be freed var nFin Pgno // Return value @@ -44070,7 +44080,7 @@ func finalDbSize(tls *libc.TLS, pBt uintptr, nOrig Pgno, nFree Pgno) Pgno { /* s // If the incremental vacuum is finished after this function has run, // SQLITE_DONE is returned. If it is not finished, but no error occurred, // SQLITE_OK is returned. Otherwise an SQLite error code. -func Xsqlite3BtreeIncrVacuum(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:70077:20: */ +func Xsqlite3BtreeIncrVacuum(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:70087:20: */ var rc int32 var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt @@ -44084,7 +44094,7 @@ func Xsqlite3BtreeIncrVacuum(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:7007 var nFin Pgno = finalDbSize(tls, pBt, nOrig, nFree) if nOrig < nFin || nFree >= nOrig { - rc = Xsqlite3CorruptError(tls, 70091) + rc = Xsqlite3CorruptError(tls, 70101) } else if nFree > Pgno(0) { rc = saveAllCursors(tls, pBt, uint32(0), uintptr(0)) if rc == SQLITE_OK { @@ -44105,7 +44115,7 @@ func Xsqlite3BtreeIncrVacuum(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:7007 // This routine is called prior to sqlite3PagerCommit when a transaction // is committed for an auto-vacuum database. -func autoVacuumCommit(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:70114:12: */ +func autoVacuumCommit(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:70124:12: */ var rc int32 = SQLITE_OK var pPager uintptr var pBt uintptr @@ -44128,7 +44138,7 @@ func autoVacuumCommit(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:70114:12: * // It is not possible to create a database for which the final page // is either a pointer-map page or the pending-byte page. If one // is encountered, this indicates corruption. - return Xsqlite3CorruptError(tls, 70142) + return Xsqlite3CorruptError(tls, 70152) } nFree = Xsqlite3Get4byte(tls, (*MemPage)(unsafe.Pointer((*BtShared)(unsafe.Pointer(pBt)).FpPage1)).FaData+36) @@ -44159,7 +44169,7 @@ func autoVacuumCommit(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:70114:12: * } nFin = finalDbSize(tls, pBt, nOrig, nVac) if nFin > nOrig { - return Xsqlite3CorruptError(tls, 70169) + return Xsqlite3CorruptError(tls, 70179) } if nFin < nOrig { rc = saveAllCursors(tls, pBt, uint32(0), uintptr(0)) @@ -44209,7 +44219,7 @@ func autoVacuumCommit(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:70114:12: * // // Once this is routine has returned, the only thing required to commit // the write-transaction for this database file is to delete the journal. -func Xsqlite3BtreeCommitPhaseOne(tls *libc.TLS, p uintptr, zSuperJrnl uintptr) int32 { /* sqlite3.c:70225:20: */ +func Xsqlite3BtreeCommitPhaseOne(tls *libc.TLS, p uintptr, zSuperJrnl uintptr) int32 { /* sqlite3.c:70235:20: */ var rc int32 = SQLITE_OK if int32((*Btree)(unsafe.Pointer(p)).FinTrans) == TRANS_WRITE { var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt @@ -44232,7 +44242,7 @@ func Xsqlite3BtreeCommitPhaseOne(tls *libc.TLS, p uintptr, zSuperJrnl uintptr) i // This function is called from both BtreeCommitPhaseTwo() and BtreeRollback() // at the conclusion of a transaction. -func btreeEndTransaction(tls *libc.TLS, p uintptr) { /* sqlite3.c:70252:13: */ +func btreeEndTransaction(tls *libc.TLS, p uintptr) { /* sqlite3.c:70262:13: */ var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt var db uintptr = (*Btree)(unsafe.Pointer(p)).Fdb @@ -44288,7 +44298,7 @@ func btreeEndTransaction(tls *libc.TLS, p uintptr) { /* sqlite3.c:70252:13: */ // // This will release the write lock on the database file. If there // are no active cursors, it also releases the read lock. -func Xsqlite3BtreeCommitPhaseTwo(tls *libc.TLS, p uintptr, bCleanup int32) int32 { /* sqlite3.c:70314:20: */ +func Xsqlite3BtreeCommitPhaseTwo(tls *libc.TLS, p uintptr, bCleanup int32) int32 { /* sqlite3.c:70324:20: */ if int32((*Btree)(unsafe.Pointer(p)).FinTrans) == TRANS_NONE { return SQLITE_OK @@ -44317,7 +44327,7 @@ func Xsqlite3BtreeCommitPhaseTwo(tls *libc.TLS, p uintptr, bCleanup int32) int32 } // Do both phases of a commit. -func Xsqlite3BtreeCommit(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:70346:20: */ +func Xsqlite3BtreeCommit(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:70356:20: */ var rc int32 Xsqlite3BtreeEnter(tls, p) rc = Xsqlite3BtreeCommitPhaseOne(tls, p, uintptr(0)) @@ -44352,7 +44362,7 @@ func Xsqlite3BtreeCommit(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:70346:20 // // SQLITE_OK is returned if successful, or if an error occurs while // saving a cursor position, an SQLite error code. -func Xsqlite3BtreeTripAllCursors(tls *libc.TLS, pBtree uintptr, errCode int32, writeOnly int32) int32 { /* sqlite3.c:70383:20: */ +func Xsqlite3BtreeTripAllCursors(tls *libc.TLS, pBtree uintptr, errCode int32, writeOnly int32) int32 { /* sqlite3.c:70393:20: */ var p uintptr var rc int32 = SQLITE_OK @@ -44381,7 +44391,7 @@ func Xsqlite3BtreeTripAllCursors(tls *libc.TLS, pBtree uintptr, errCode int32, w // Set the pBt->nPage field correctly, according to the current // state of the database. Assume pBt->pPage1 is valid. -func btreeSetNPage(tls *libc.TLS, pBt uintptr, pPage1 uintptr) { /* sqlite3.c:70415:13: */ +func btreeSetNPage(tls *libc.TLS, pBt uintptr, pPage1 uintptr) { /* sqlite3.c:70425:13: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -44403,7 +44413,7 @@ func btreeSetNPage(tls *libc.TLS, pBt uintptr, pPage1 uintptr) { /* sqlite3.c:70 // // This will release the write lock on the database file. If there // are no active cursors, it also releases the read lock. -func Xsqlite3BtreeRollback(tls *libc.TLS, p uintptr, tripCode int32, writeOnly int32) int32 { /* sqlite3.c:70434:20: */ +func Xsqlite3BtreeRollback(tls *libc.TLS, p uintptr, tripCode int32, writeOnly int32) int32 { /* sqlite3.c:70444:20: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -44469,7 +44479,7 @@ func Xsqlite3BtreeRollback(tls *libc.TLS, p uintptr, tripCode int32, writeOnly i // are no active savepoints and no other statement-transactions open, // iStatement is 1. This anonymous savepoint can be released or rolled back // using the sqlite3BtreeSavepoint() function. -func Xsqlite3BtreeBeginStmt(tls *libc.TLS, p uintptr, iStatement int32) int32 { /* sqlite3.c:70499:20: */ +func Xsqlite3BtreeBeginStmt(tls *libc.TLS, p uintptr, iStatement int32) int32 { /* sqlite3.c:70509:20: */ var rc int32 var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt Xsqlite3BtreeEnter(tls, p) @@ -44493,7 +44503,7 @@ func Xsqlite3BtreeBeginStmt(tls *libc.TLS, p uintptr, iStatement int32) int32 { // contents of the entire transaction are rolled back. This is different // from a normal transaction rollback, as no locks are released and the // transaction remains open. -func Xsqlite3BtreeSavepoint(tls *libc.TLS, p uintptr, op int32, iSavepoint int32) int32 { /* sqlite3.c:70530:20: */ +func Xsqlite3BtreeSavepoint(tls *libc.TLS, p uintptr, op int32, iSavepoint int32) int32 { /* sqlite3.c:70540:20: */ var rc int32 = SQLITE_OK if p != 0 && int32((*Btree)(unsafe.Pointer(p)).FinTrans) == TRANS_WRITE { var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt @@ -44561,7 +44571,7 @@ func Xsqlite3BtreeSavepoint(tls *libc.TLS, p uintptr, op int32, iSavepoint int32 // // It is assumed that the sqlite3BtreeCursorZero() has been called // on pCur to initialize the memory space prior to invoking this routine. -func btreeCursor(tls *libc.TLS, p uintptr, iTable Pgno, wrFlag int32, pKeyInfo uintptr, pCur uintptr) int32 { /* sqlite3.c:70601:12: */ +func btreeCursor(tls *libc.TLS, p uintptr, iTable Pgno, wrFlag int32, pKeyInfo uintptr, pCur uintptr) int32 { /* sqlite3.c:70611:12: */ var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt // Shared b-tree handle var pX uintptr // Looping over other all cursors @@ -44574,7 +44584,7 @@ func btreeCursor(tls *libc.TLS, p uintptr, iTable Pgno, wrFlag int32, pKeyInfo u if iTable <= Pgno(1) { if iTable < Pgno(1) { - return Xsqlite3CorruptError(tls, 70633) + return Xsqlite3CorruptError(tls, 70643) } else if btreePagecount(tls, pBt) == Pgno(0) { iTable = Pgno(0) @@ -44612,7 +44622,7 @@ func btreeCursor(tls *libc.TLS, p uintptr, iTable Pgno, wrFlag int32, pKeyInfo u return SQLITE_OK } -func btreeCursorWithLock(tls *libc.TLS, p uintptr, iTable Pgno, wrFlag int32, pKeyInfo uintptr, pCur uintptr) int32 { /* sqlite3.c:70668:12: */ +func btreeCursorWithLock(tls *libc.TLS, p uintptr, iTable Pgno, wrFlag int32, pKeyInfo uintptr, pCur uintptr) int32 { /* sqlite3.c:70678:12: */ var rc int32 Xsqlite3BtreeEnter(tls, p) rc = btreeCursor(tls, p, iTable, wrFlag, pKeyInfo, pCur) @@ -44620,7 +44630,7 @@ func btreeCursorWithLock(tls *libc.TLS, p uintptr, iTable Pgno, wrFlag int32, pK return rc } -func Xsqlite3BtreeCursor(tls *libc.TLS, p uintptr, iTable Pgno, wrFlag int32, pKeyInfo uintptr, pCur uintptr) int32 { /* sqlite3.c:70681:20: */ +func Xsqlite3BtreeCursor(tls *libc.TLS, p uintptr, iTable Pgno, wrFlag int32, pKeyInfo uintptr, pCur uintptr) int32 { /* sqlite3.c:70691:20: */ if (*Btree)(unsafe.Pointer(p)).Fsharable != 0 { return btreeCursorWithLock(tls, p, iTable, wrFlag, pKeyInfo, pCur) } else { @@ -44635,7 +44645,7 @@ func Xsqlite3BtreeCursor(tls *libc.TLS, p uintptr, iTable Pgno, wrFlag int32, pK // sufficient storage to hold a cursor. The BtCursor object is opaque // to users so they cannot do the sizeof() themselves - they must call // this routine. -func Xsqlite3BtreeCursorSize(tls *libc.TLS) int32 { /* sqlite3.c:70703:20: */ +func Xsqlite3BtreeCursorSize(tls *libc.TLS) int32 { /* sqlite3.c:70713:20: */ return int32((uint64(unsafe.Sizeof(BtCursor{})) + uint64(7)) & libc.Uint64FromInt32(libc.CplInt32(7))) } @@ -44645,13 +44655,13 @@ func Xsqlite3BtreeCursorSize(tls *libc.TLS) int32 { /* sqlite3.c:70703:20: */ // to zero. But it turns out that the apPage[] and aiIdx[] arrays // do not need to be zeroed and they are large, so we can save a lot // of run-time by skipping the initialization of those elements. -func Xsqlite3BtreeCursorZero(tls *libc.TLS, p uintptr) { /* sqlite3.c:70715:21: */ +func Xsqlite3BtreeCursorZero(tls *libc.TLS, p uintptr) { /* sqlite3.c:70725:21: */ libc.Xmemset(tls, p, 0, uint64(uintptr(0)+32)) } // Close a cursor. The read lock on the database file is released // when the last cursor is closed. -func Xsqlite3BtreeCloseCursor(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:70723:20: */ +func Xsqlite3BtreeCloseCursor(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:70733:20: */ var pBtree uintptr = (*BtCursor)(unsafe.Pointer(pCur)).FpBtree if pBtree != 0 { var pBt uintptr = (*BtCursor)(unsafe.Pointer(pCur)).FpBt @@ -44692,7 +44702,7 @@ func Xsqlite3BtreeCloseCursor(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c: // // BtCursor.info is a cache of the information in the current cell. // Using this cache reduces the number of calls to btreeParseCell(). -func getCellInfo(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:70784:29: */ +func getCellInfo(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:70794:29: */ if int32((*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnSize) == 0 { *(*U8)(unsafe.Pointer(pCur + 1)) |= U8(BTCF_ValidNKey) btreeParseCell(tls, (*BtCursor)(unsafe.Pointer(pCur)).FpPage, int32((*BtCursor)(unsafe.Pointer(pCur)).Fix), pCur+48) @@ -44701,7 +44711,7 @@ func getCellInfo(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:70784:29: */ } } -func Xsqlite3BtreeCursorIsValidNN(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:70803:20: */ +func Xsqlite3BtreeCursorIsValidNN(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:70813:20: */ return libc.Bool32(int32((*BtCursor)(unsafe.Pointer(pCur)).FeState) == CURSOR_VALID) } @@ -44710,26 +44720,26 @@ func Xsqlite3BtreeCursorIsValidNN(tls *libc.TLS, pCur uintptr) int32 { /* sqlite // This routine is only valid for a cursor that is pointing into a // ordinary table btree. If the cursor points to an index btree or // is invalid, the result of this routine is undefined. -func Xsqlite3BtreeIntegerKey(tls *libc.TLS, pCur uintptr) I64 { /* sqlite3.c:70814:20: */ +func Xsqlite3BtreeIntegerKey(tls *libc.TLS, pCur uintptr) I64 { /* sqlite3.c:70824:20: */ getCellInfo(tls, pCur) return (*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnKey } // Pin or unpin a cursor. -func Xsqlite3BtreeCursorPin(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:70825:21: */ +func Xsqlite3BtreeCursorPin(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:70835:21: */ *(*U8)(unsafe.Pointer(pCur + 1)) |= U8(BTCF_Pinned) } -func Xsqlite3BtreeCursorUnpin(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:70829:21: */ +func Xsqlite3BtreeCursorUnpin(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:70839:21: */ *(*U8)(unsafe.Pointer(pCur + 1)) &= libc.Uint8FromInt32(libc.CplInt32(BTCF_Pinned)) } // Return the offset into the database file for the start of the // payload to which the cursor is pointing. -func Xsqlite3BtreeOffset(tls *libc.TLS, pCur uintptr) I64 { /* sqlite3.c:70839:20: */ +func Xsqlite3BtreeOffset(tls *libc.TLS, pCur uintptr) I64 { /* sqlite3.c:70849:20: */ getCellInfo(tls, pCur) return I64((*BtShared)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pCur)).FpBt)).FpageSize)*(I64((*MemPage)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pCur)).FpPage)).Fpgno)-int64(1)) + I64((int64((*BtCursor)(unsafe.Pointer(pCur)).Finfo.FpPayload)-int64((*MemPage)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pCur)).FpPage)).FaData))/1) @@ -44742,7 +44752,7 @@ func Xsqlite3BtreeOffset(tls *libc.TLS, pCur uintptr) I64 { /* sqlite3.c:70839:2 // The caller must guarantee that the cursor is pointing to a non-NULL // valid entry. In other words, the calling procedure must guarantee // that the cursor has Cursor.eState==CURSOR_VALID. -func Xsqlite3BtreePayloadSize(tls *libc.TLS, pCur uintptr) U32 { /* sqlite3.c:70857:20: */ +func Xsqlite3BtreePayloadSize(tls *libc.TLS, pCur uintptr) U32 { /* sqlite3.c:70867:20: */ getCellInfo(tls, pCur) return (*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnPayload @@ -44759,7 +44769,7 @@ func Xsqlite3BtreePayloadSize(tls *libc.TLS, pCur uintptr) U32 { /* sqlite3.c:70 // // The current implementation merely returns the size of the underlying // database file. -func Xsqlite3BtreeMaxRecordSize(tls *libc.TLS, pCur uintptr) Sqlite3_int64 { /* sqlite3.c:70877:30: */ +func Xsqlite3BtreeMaxRecordSize(tls *libc.TLS, pCur uintptr) Sqlite3_int64 { /* sqlite3.c:70887:30: */ return Sqlite3_int64((*BtShared)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pCur)).FpBt)).FpageSize) * Sqlite3_int64((*BtShared)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pCur)).FpBt)).FnPage) } @@ -44781,7 +44791,7 @@ func Xsqlite3BtreeMaxRecordSize(tls *libc.TLS, pCur uintptr) Sqlite3_int64 { /* // on *ppPage to free the reference. In no reference was obtained (because // the pointer-map was used to obtain the value for *pPgnoNext), then // *ppPage is set to zero. -func getOverflowPage(tls *libc.TLS, pBt uintptr, ovfl Pgno, ppPage uintptr, pPgnoNext uintptr) int32 { /* sqlite3.c:70902:12: */ +func getOverflowPage(tls *libc.TLS, pBt uintptr, ovfl Pgno, ppPage uintptr, pPgnoNext uintptr) int32 { /* sqlite3.c:70912:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -44849,7 +44859,7 @@ func getOverflowPage(tls *libc.TLS, pBt uintptr, ovfl Pgno, ppPage uintptr, pPgn // of data are copied from the buffer pBuf to pPayload. // // SQLITE_OK is returned on success, otherwise an error code. -func copyPayload(tls *libc.TLS, pPayload uintptr, pBuf uintptr, nByte int32, eOp int32, pDbPage uintptr) int32 { /* sqlite3.c:70970:12: */ +func copyPayload(tls *libc.TLS, pPayload uintptr, pBuf uintptr, nByte int32, eOp int32, pDbPage uintptr) int32 { /* sqlite3.c:70980:12: */ if eOp != 0 { // Copy data from buffer to page (a write operation) var rc int32 = Xsqlite3PagerWrite(tls, pDbPage) @@ -44891,7 +44901,7 @@ func copyPayload(tls *libc.TLS, pPayload uintptr, pBuf uintptr, nByte int32, eOp // * An incremental vacuum, // * A commit in auto_vacuum="full" mode, // * Creating a table (may require moving an overflow page). -func accessPayload(tls *libc.TLS, pCur uintptr, offset U32, amt U32, pBuf uintptr, eOp int32) int32 { /* sqlite3.c:71020:12: */ +func accessPayload(tls *libc.TLS, pCur uintptr, offset U32, amt U32, pBuf uintptr, eOp int32) int32 { /* sqlite3.c:71030:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -44902,7 +44912,7 @@ func accessPayload(tls *libc.TLS, pCur uintptr, offset U32, amt U32, pBuf uintpt var pBt uintptr = (*BtCursor)(unsafe.Pointer(pCur)).FpBt // Btree this cursor belongs to if int32((*BtCursor)(unsafe.Pointer(pCur)).Fix) >= int32((*MemPage)(unsafe.Pointer(pPage)).FnCell) { - return Xsqlite3CorruptError(tls, 71040) + return Xsqlite3CorruptError(tls, 71050) } getCellInfo(tls, pCur) @@ -44913,7 +44923,7 @@ func accessPayload(tls *libc.TLS, pCur uintptr, offset U32, amt U32, pBuf uintpt // conditional above is really: // &aPayload[pCur->info.nLocal] > &pPage->aData[pBt->usableSize] // but is recast into its current form to avoid integer overflow problems - return Xsqlite3CorruptError(tls, 71055) + return Xsqlite3CorruptError(tls, 71065) } // Check if data must be read/written to/from the btree page itself. @@ -44970,7 +44980,7 @@ func accessPayload(tls *libc.TLS, pCur uintptr, offset U32, amt U32, pBuf uintpt for *(*Pgno)(unsafe.Pointer(bp)) != 0 { // If required, populate the overflow page-list cache. if *(*Pgno)(unsafe.Pointer(bp)) > (*BtShared)(unsafe.Pointer(pBt)).FnPage { - return Xsqlite3CorruptError(tls, 71117) + return Xsqlite3CorruptError(tls, 71127) } *(*Pgno)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pCur)).FaOverflow + uintptr(iIdx)*4)) = *(*Pgno)(unsafe.Pointer(bp /* nextPage */)) @@ -45030,7 +45040,7 @@ func accessPayload(tls *libc.TLS, pCur uintptr, offset U32, amt U32, pBuf uintpt if rc == SQLITE_OK && amt > U32(0) { // Overflow chain ends prematurely - return Xsqlite3CorruptError(tls, 71202) + return Xsqlite3CorruptError(tls, 71212) } return rc } @@ -45050,7 +45060,7 @@ func accessPayload(tls *libc.TLS, pCur uintptr, offset U32, amt U32, pBuf uintpt // Return SQLITE_OK on success or an error code if anything goes // wrong. An error is returned if "offset+amt" is larger than // the available payload. -func Xsqlite3BtreePayload(tls *libc.TLS, pCur uintptr, offset U32, amt U32, pBuf uintptr) int32 { /* sqlite3.c:71224:20: */ +func Xsqlite3BtreePayload(tls *libc.TLS, pCur uintptr, offset U32, amt U32, pBuf uintptr) int32 { /* sqlite3.c:71234:20: */ return accessPayload(tls, pCur, offset, amt, pBuf, 0) } @@ -45058,7 +45068,7 @@ func Xsqlite3BtreePayload(tls *libc.TLS, pCur uintptr, offset U32, amt U32, pBuf // This variant of sqlite3BtreePayload() works even if the cursor has not // in the CURSOR_VALID state. It is only used by the sqlite3_blob_read() // interface. -func accessPayloadChecked(tls *libc.TLS, pCur uintptr, offset U32, amt U32, pBuf uintptr) int32 { /* sqlite3.c:71237:28: */ +func accessPayloadChecked(tls *libc.TLS, pCur uintptr, offset U32, amt U32, pBuf uintptr) int32 { /* sqlite3.c:71247:28: */ var rc int32 if int32((*BtCursor)(unsafe.Pointer(pCur)).FeState) == CURSOR_INVALID { return SQLITE_ABORT @@ -45071,7 +45081,7 @@ func accessPayloadChecked(tls *libc.TLS, pCur uintptr, offset U32, amt U32, pBuf return accessPayload(tls, pCur, offset, amt, pBuf, 0) } -func Xsqlite3BtreePayloadChecked(tls *libc.TLS, pCur uintptr, offset U32, amt U32, pBuf uintptr) int32 { /* sqlite3.c:71251:20: */ +func Xsqlite3BtreePayloadChecked(tls *libc.TLS, pCur uintptr, offset U32, amt U32, pBuf uintptr) int32 { /* sqlite3.c:71261:20: */ if int32((*BtCursor)(unsafe.Pointer(pCur)).FeState) == CURSOR_VALID { return accessPayload(tls, pCur, offset, amt, pBuf, 0) @@ -45098,7 +45108,7 @@ func Xsqlite3BtreePayloadChecked(tls *libc.TLS, pCur uintptr, offset U32, amt U3 // The pointer returned by this routine looks directly into the cached // page of the database. The data might change or move the next time // any btree routine is called. -func fetchPayload(tls *libc.TLS, pCur uintptr, pAmt uintptr) uintptr { /* sqlite3.c:71280:19: */ +func fetchPayload(tls *libc.TLS, pCur uintptr, pAmt uintptr) uintptr { /* sqlite3.c:71290:19: */ var amt int32 amt = int32((*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnLocal) @@ -45129,7 +45139,7 @@ func fetchPayload(tls *libc.TLS, pCur uintptr, pAmt uintptr) uintptr { /* sqlite // // These routines is used to get quick access to key and data // in the common case where no overflow pages are used. -func Xsqlite3BtreePayloadFetch(tls *libc.TLS, pCur uintptr, pAmt uintptr) uintptr { /* sqlite3.c:71319:27: */ +func Xsqlite3BtreePayloadFetch(tls *libc.TLS, pCur uintptr, pAmt uintptr) uintptr { /* sqlite3.c:71329:27: */ return fetchPayload(tls, pCur, pAmt) } @@ -45140,11 +45150,11 @@ func Xsqlite3BtreePayloadFetch(tls *libc.TLS, pCur uintptr, pAmt uintptr) uintpt // the new child page does not match the flags field of the parent (i.e. // if an intkey page appears to be the parent of a non-intkey page, or // vice-versa). -func moveToChild(tls *libc.TLS, pCur uintptr, newPgno U32) int32 { /* sqlite3.c:71333:12: */ +func moveToChild(tls *libc.TLS, pCur uintptr, newPgno U32) int32 { /* sqlite3.c:71343:12: */ var pBt uintptr = (*BtCursor)(unsafe.Pointer(pCur)).FpBt if int32((*BtCursor)(unsafe.Pointer(pCur)).FiPage) >= BTCURSOR_MAX_DEPTH-1 { - return Xsqlite3CorruptError(tls, 71341) + return Xsqlite3CorruptError(tls, 71351) } (*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnSize = U16(0) *(*U8)(unsafe.Pointer(pCur + 1)) &= libc.Uint8FromInt32(libc.CplInt32(BTCF_ValidNKey | BTCF_ValidOvfl)) @@ -45161,7 +45171,7 @@ func moveToChild(tls *libc.TLS, pCur uintptr, newPgno U32) int32 { /* sqlite3.c: // to the page we are coming from. If we are coming from the // right-most child page then pCur->idx is set to one more than // the largest cell index. -func moveToParent(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:71382:13: */ +func moveToParent(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:71392:13: */ var pLeaf uintptr (*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnSize = U16(0) @@ -45191,7 +45201,7 @@ func moveToParent(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:71382:13: */ // indicating a table b-tree, or if the caller did specify a KeyInfo // structure the flags byte is set to 0x02 or 0x0A, indicating an index // b-tree). -func moveToRoot(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:71423:12: */ +func moveToRoot(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:71433:12: */ var pRoot uintptr var rc int32 var subpage Pgno @@ -45270,7 +45280,7 @@ __2: if !(int32((*MemPage)(unsafe.Pointer(pRoot)).FisInit) == 0 || libc.Bool32((*BtCursor)(unsafe.Pointer(pCur)).FpKeyInfo == uintptr(0)) != int32((*MemPage)(unsafe.Pointer(pRoot)).FintKey)) { goto __11 } - return Xsqlite3CorruptError(tls, 71479) + return Xsqlite3CorruptError(tls, 71489) __11: ; @@ -45291,7 +45301,7 @@ __12: if !((*MemPage)(unsafe.Pointer(pRoot)).Fpgno != Pgno(1)) { goto __16 } - return Xsqlite3CorruptError(tls, 71491) + return Xsqlite3CorruptError(tls, 71501) __16: ; subpage = Xsqlite3Get4byte(tls, (*MemPage)(unsafe.Pointer(pRoot)).FaData+uintptr(int32((*MemPage)(unsafe.Pointer(pRoot)).FhdrOffset)+8)) @@ -45313,7 +45323,7 @@ __13: // // The left-most leaf is the one with the smallest key - the first // in ascending order. -func moveToLeftmost(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:71509:12: */ +func moveToLeftmost(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:71519:12: */ var pgno Pgno var rc int32 = SQLITE_OK var pPage uintptr @@ -45334,7 +45344,7 @@ func moveToLeftmost(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:71509:12: // // The right-most entry is the one with the largest key - the last // key in ascending order. -func moveToRightmost(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:71534:12: */ +func moveToRightmost(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:71544:12: */ var pgno Pgno var rc int32 = SQLITE_OK var pPage uintptr = uintptr(0) @@ -45355,7 +45365,7 @@ func moveToRightmost(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:71534:12: // Move the cursor to the first entry in the table. Return SQLITE_OK // on success. Set *pRes to 0 if the cursor actually points to something // or set *pRes to 1 if the table is empty. -func Xsqlite3BtreeFirst(tls *libc.TLS, pCur uintptr, pRes uintptr) int32 { /* sqlite3.c:71557:20: */ +func Xsqlite3BtreeFirst(tls *libc.TLS, pCur uintptr, pRes uintptr) int32 { /* sqlite3.c:71567:20: */ var rc int32 rc = moveToRoot(tls, pCur) @@ -45374,7 +45384,7 @@ func Xsqlite3BtreeFirst(tls *libc.TLS, pCur uintptr, pRes uintptr) int32 { /* sq // Move the cursor to the last entry in the table. Return SQLITE_OK // on success. Set *pRes to 0 if the cursor actually points to something // or set *pRes to 1 if the table is empty. -func Xsqlite3BtreeLast(tls *libc.TLS, pCur uintptr, pRes uintptr) int32 { /* sqlite3.c:71579:20: */ +func Xsqlite3BtreeLast(tls *libc.TLS, pCur uintptr, pRes uintptr) int32 { /* sqlite3.c:71589:20: */ var rc int32 // If the cursor already points to the last entry, this is a no-op. @@ -45423,7 +45433,7 @@ func Xsqlite3BtreeLast(tls *libc.TLS, pCur uintptr, pRes uintptr) int32 { /* sql // // *pRes>0 The cursor is left pointing at an entry that // is larger than intKey. -func Xsqlite3BtreeTableMoveto(tls *libc.TLS, pCur uintptr, intKey I64, biasRight int32, pRes uintptr) int32 { /* sqlite3.c:71644:20: */ +func Xsqlite3BtreeTableMoveto(tls *libc.TLS, pCur uintptr, intKey I64, biasRight int32, pRes uintptr) int32 { /* sqlite3.c:71654:20: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -45538,7 +45548,7 @@ __19: if !(pCell >= (*MemPage)(unsafe.Pointer(pPage)).FaDataEnd) { goto __21 } - return Xsqlite3CorruptError(tls, 71733) + return Xsqlite3CorruptError(tls, 71743) __21: ; goto __19 @@ -45667,7 +45677,7 @@ moveto_table_finish: // // The pIdxKey->eqSeen field is set to 1 if there // exists an entry in the table that exactly matches pIdxKey. -func Xsqlite3BtreeIndexMoveto(tls *libc.TLS, pCur uintptr, pIdxKey uintptr, pRes uintptr) int32 { /* sqlite3.c:71812:20: */ +func Xsqlite3BtreeIndexMoveto(tls *libc.TLS, pCur uintptr, pIdxKey uintptr, pRes uintptr) int32 { /* sqlite3.c:71822:20: */ var rc int32 var xRecordCompare RecordCompare // The record flows over onto one or more overflow pages. In @@ -45771,7 +45781,7 @@ __11: if !(nCell < 2 || U32(nCell)/(*BtShared)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pCur)).FpBt)).FusableSize > (*BtShared)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pCur)).FpBt)).FnPage) { goto __13 } - rc = Xsqlite3CorruptError(tls, 71914) + rc = Xsqlite3CorruptError(tls, 71924) goto moveto_index_finish __13: ; @@ -45820,7 +45830,7 @@ __18: if !((*UnpackedRecord)(unsafe.Pointer(pIdxKey)).FerrCode != 0) { goto __20 } - rc = Xsqlite3CorruptError(tls, 71946) + rc = Xsqlite3CorruptError(tls, 71956) __20: ; goto moveto_index_finish @@ -45887,7 +45897,7 @@ moveto_index_finish: // TRUE will be returned after a call to sqlite3BtreeNext() moves // past the last entry in the table or sqlite3BtreePrev() moves past // the first entry. TRUE is also returned if the table is empty. -func Xsqlite3BtreeEof(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:71985:20: */ +func Xsqlite3BtreeEof(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:71995:20: */ // TODO: What if the cursor is in CURSOR_REQUIRESEEK but all table entries // have been deleted? This API will need to change to return an error code // as well as the boolean result value. @@ -45897,7 +45907,7 @@ func Xsqlite3BtreeEof(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:71985:20 // Return an estimate for the number of rows in the table that pCur is // pointing to. Return a negative number if no estimate is currently // available. -func Xsqlite3BtreeRowCountEst(tls *libc.TLS, pCur uintptr) I64 { /* sqlite3.c:71998:20: */ +func Xsqlite3BtreeRowCountEst(tls *libc.TLS, pCur uintptr) I64 { /* sqlite3.c:72008:20: */ var n I64 var i U8 @@ -45936,7 +45946,7 @@ func Xsqlite3BtreeRowCountEst(tls *libc.TLS, pCur uintptr) I64 { /* sqlite3.c:71 // skipped if the SQL index had been a unique index. The F argument // is a hint to the implement. SQLite btree implementation does not use // this hint, but COMDB2 does. -func btreeNext(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:72038:28: */ +func btreeNext(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:72048:28: */ var rc int32 var idx int32 var pPage uintptr @@ -45973,7 +45983,7 @@ func btreeNext(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:72038:28: */ // has pages in common with the table being queried. See TH3 // module cov1/btree78.test testcase 220 (2018-06-08) for an // example. - return Xsqlite3CorruptError(tls, 72069) + return Xsqlite3CorruptError(tls, 72079) } if idx >= int32((*MemPage)(unsafe.Pointer(pPage)).FnCell) { @@ -46006,7 +46016,7 @@ func btreeNext(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:72038:28: */ return int32(0) } -func Xsqlite3BtreeNext(tls *libc.TLS, pCur uintptr, flags int32) int32 { /* sqlite3.c:72098:20: */ +func Xsqlite3BtreeNext(tls *libc.TLS, pCur uintptr, flags int32) int32 { /* sqlite3.c:72108:20: */ var pPage uintptr _ = flags // Used in COMDB2 but not native SQLite @@ -46046,7 +46056,7 @@ func Xsqlite3BtreeNext(tls *libc.TLS, pCur uintptr, flags int32) int32 { /* sqli // skipped if the SQL index had been a unique index. The F argument is a // hint to the implement. The native SQLite btree implementation does not // use this hint, but COMDB2 does. -func btreePrevious(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:72138:28: */ +func btreePrevious(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:72148:28: */ var rc int32 var pPage uintptr @@ -46100,7 +46110,7 @@ func btreePrevious(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:72138:28: * return rc } -func Xsqlite3BtreePrevious(tls *libc.TLS, pCur uintptr, flags int32) int32 { /* sqlite3.c:72187:20: */ +func Xsqlite3BtreePrevious(tls *libc.TLS, pCur uintptr, flags int32) int32 { /* sqlite3.c:72197:20: */ _ = flags // Used in COMDB2 but not native SQLite *(*U8)(unsafe.Pointer(pCur + 1)) &= libc.Uint8FromInt32(libc.CplInt32(BTCF_AtLast | BTCF_ValidOvfl | BTCF_ValidNKey)) @@ -46134,7 +46144,7 @@ func Xsqlite3BtreePrevious(tls *libc.TLS, pCur uintptr, flags int32) int32 { /* // eMode is BTALLOC_LT then the page returned will be less than or equal // to nearby if any such page exists. If eMode is BTALLOC_ANY then there // are no restrictions on which page is returned. -func allocateBtreePage(tls *libc.TLS, pBt uintptr, ppPage uintptr, pPgno uintptr, nearby Pgno, eMode U8) int32 { /* sqlite3.c:72225:12: */ +func allocateBtreePage(tls *libc.TLS, pBt uintptr, ppPage uintptr, pPgno uintptr, nearby Pgno, eMode U8) int32 { /* sqlite3.c:72235:12: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -46201,7 +46211,7 @@ func allocateBtreePage(tls *libc.TLS, pBt uintptr, ppPage uintptr, pPgno uintptr if !(n >= mxPage) { goto __1 } - return Xsqlite3CorruptError(tls, 72249) + return Xsqlite3CorruptError(tls, 72259) __1: ; if !(n > U32(0)) { @@ -46282,7 +46292,7 @@ __15: if !(iTrunk > mxPage || libc.PostIncUint32(&nSearch, 1) > n) { goto __16 } - rc = Xsqlite3CorruptError(tls, 72305) + rc = Xsqlite3CorruptError(tls, 72315) goto __17 __16: rc = btreeGetUnusedPage(tls, pBt, iTrunk, bp+8, 0) @@ -46324,7 +46334,7 @@ __19: goto __22 } // Value of k is out of range. Database corruption - rc = Xsqlite3CorruptError(tls, 72334) + rc = Xsqlite3CorruptError(tls, 72344) goto end_allocate_page goto __23 __22: @@ -46369,7 +46379,7 @@ __27: if !(iNewTrunk > mxPage) { goto __32 } - rc = Xsqlite3CorruptError(tls, 72368) + rc = Xsqlite3CorruptError(tls, 72378) goto end_allocate_page __32: ; @@ -46483,7 +46493,7 @@ __40: if !(iPage > mxPage || iPage < Pgno(2)) { goto __51 } - rc = Xsqlite3CorruptError(tls, 72433) + rc = Xsqlite3CorruptError(tls, 72443) goto end_allocate_page __51: ; @@ -46658,7 +46668,7 @@ end_allocate_page: // // If a pointer to a MemPage object is passed as the second argument, // its reference count is not altered by this function. -func freePage2(tls *libc.TLS, pBt uintptr, pMemPage uintptr, iPage Pgno) int32 { /* sqlite3.c:72547:12: */ +func freePage2(tls *libc.TLS, pBt uintptr, pMemPage uintptr, iPage Pgno) int32 { /* sqlite3.c:72557:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -46679,7 +46689,7 @@ func freePage2(tls *libc.TLS, pBt uintptr, pMemPage uintptr, iPage Pgno) int32 { if !(iPage < Pgno(2) || iPage > (*BtShared)(unsafe.Pointer(pBt)).FnPage) { goto __1 } - return Xsqlite3CorruptError(tls, 72560) + return Xsqlite3CorruptError(tls, 72570) __1: ; if !(pMemPage != 0) { @@ -46749,7 +46759,7 @@ __7: if !(iTrunk > btreePagecount(tls, pBt)) { goto __10 } - *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) = Xsqlite3CorruptError(tls, 72607) + *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) = Xsqlite3CorruptError(tls, 72617) goto freepage_out __10: ; @@ -46766,7 +46776,7 @@ __11: if !(nLeaf > (*BtShared)(unsafe.Pointer(pBt)).FusableSize/U32(4)-U32(2)) { goto __12 } - *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) = Xsqlite3CorruptError(tls, 72618) + *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) = Xsqlite3CorruptError(tls, 72628) goto freepage_out __12: ; @@ -46847,14 +46857,14 @@ __18: return *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) } -func freePage(tls *libc.TLS, pPage uintptr, pRC uintptr) { /* sqlite3.c:72681:13: */ +func freePage(tls *libc.TLS, pPage uintptr, pRC uintptr) { /* sqlite3.c:72691:13: */ if *(*int32)(unsafe.Pointer(pRC)) == SQLITE_OK { *(*int32)(unsafe.Pointer(pRC)) = freePage2(tls, (*MemPage)(unsafe.Pointer(pPage)).FpBt, pPage, (*MemPage)(unsafe.Pointer(pPage)).Fpgno) } } // Free the overflow pages associated with the given Cell. -func clearCellOverflow(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintptr) int32 { /* sqlite3.c:72690:28: */ +func clearCellOverflow(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintptr) int32 { /* sqlite3.c:72700:28: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -46866,7 +46876,7 @@ func clearCellOverflow(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintpt if pCell+uintptr((*CellInfo)(unsafe.Pointer(pInfo)).FnSize) > (*MemPage)(unsafe.Pointer(pPage)).FaDataEnd { // Cell extends past end of page - return Xsqlite3CorruptError(tls, 72707) + return Xsqlite3CorruptError(tls, 72717) } ovflPgno = Xsqlite3Get4byte(tls, pCell+uintptr((*CellInfo)(unsafe.Pointer(pInfo)).FnSize)-uintptr(4)) pBt = (*MemPage)(unsafe.Pointer(pPage)).FpBt @@ -46881,7 +46891,7 @@ func clearCellOverflow(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintpt // 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 Xsqlite3CorruptError(tls, 72724) + return Xsqlite3CorruptError(tls, 72734) } if nOvfl != 0 { rc = getOverflowPage(tls, pBt, ovflPgno, bp, bp+8) @@ -46901,7 +46911,7 @@ func clearCellOverflow(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintpt // enabled. If this 'overflow' page happens to be a page that the // caller is iterating through or using in some other way, this // can be problematic. - rc = Xsqlite3CorruptError(tls, 72744) + rc = Xsqlite3CorruptError(tls, 72754) } else { rc = freePage2(tls, pBt, *(*uintptr)(unsafe.Pointer(bp /* pOvfl */)), ovflPgno) } @@ -46933,7 +46943,7 @@ func clearCellOverflow(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintpt // area. pCell might point to some temporary storage. The cell will // be constructed in this temporary area then copied into pPage->aData // later. -func fillInCell(tls *libc.TLS, pPage uintptr, pCell uintptr, pX uintptr, pnSize uintptr) int32 { /* sqlite3.c:72785:12: */ +func fillInCell(tls *libc.TLS, pPage uintptr, pCell uintptr, pX uintptr, pnSize uintptr) int32 { /* sqlite3.c:72795:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -47115,7 +47125,7 @@ func fillInCell(tls *libc.TLS, pPage uintptr, pCell uintptr, pX uintptr, pnSize // removes the reference to the cell from pPage. // // "sz" must be the number of bytes in the cell. -func dropCell(tls *libc.TLS, pPage uintptr, idx int32, sz int32, pRC uintptr) { /* sqlite3.c:72975:13: */ +func dropCell(tls *libc.TLS, pPage uintptr, idx int32, sz int32, pRC uintptr) { /* sqlite3.c:72985:13: */ var pc U32 // Offset to cell content of cell being deleted var data uintptr // pPage->aData var ptr uintptr // Used to move bytes around within data[] @@ -47133,7 +47143,7 @@ func dropCell(tls *libc.TLS, pPage uintptr, idx int32, sz int32, pRC uintptr) { hdr = int32((*MemPage)(unsafe.Pointer(pPage)).FhdrOffset) if pc+U32(sz) > (*BtShared)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize { - *(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 73003) + *(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 73013) return } rc = freeSpace(tls, pPage, uint16(pc), uint16(sz)) @@ -47169,7 +47179,7 @@ func dropCell(tls *libc.TLS, pPage uintptr, idx int32, sz int32, pRC uintptr) { // pPage->nOverflow is incremented. // // *pRC must be SQLITE_OK when this routine is called. -func insertCell(tls *libc.TLS, pPage uintptr, i int32, pCell uintptr, sz int32, pTemp uintptr, iChild Pgno, pRC uintptr) { /* sqlite3.c:73039:13: */ +func insertCell(tls *libc.TLS, pPage uintptr, i int32, pCell uintptr, sz int32, pTemp uintptr, iChild Pgno, pRC uintptr) { /* sqlite3.c:73049:13: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -47330,7 +47340,7 @@ type CellArray1 = struct { FszCell uintptr FapEnd [6]uintptr FixNx [6]int32 -} /* sqlite3.c:73214:9 */ +} /* sqlite3.c:73224:9 */ // The following parameters determine how many adjacent pages get involved // in a balancing operation. NN is the number of neighbors on either side @@ -47407,11 +47417,11 @@ type CellArray1 = struct { // cases, ixNx[] entries with higher indexes, and the corresponding apEnd[] // entries, shift down. The end result is that each ixNx[] entry should // be larger than the previous -type CellArray = CellArray1 /* sqlite3.c:73214:26 */ +type CellArray = CellArray1 /* sqlite3.c:73224:26 */ // Make sure the cell sizes at idx, idx+1, ..., idx+N-1 have been // computed. -func populateCellCache(tls *libc.TLS, p uintptr, idx int32, N int32) { /* sqlite3.c:73228:13: */ +func populateCellCache(tls *libc.TLS, p uintptr, idx int32, N int32) { /* sqlite3.c:73238:13: */ for N > 0 { @@ -47428,7 +47438,7 @@ func populateCellCache(tls *libc.TLS, p uintptr, idx int32, N int32) { /* sqlite } // Return the size of the Nth element of the cell array -func computeCellSize(tls *libc.TLS, p uintptr, N int32) U16 { /* sqlite3.c:73246:28: */ +func computeCellSize(tls *libc.TLS, p uintptr, N int32) U16 { /* sqlite3.c:73256:28: */ *(*U16)(unsafe.Pointer((*CellArray)(unsafe.Pointer(p)).FszCell + uintptr(N)*2)) = (*struct { f func(*libc.TLS, uintptr, uintptr) U16 @@ -47436,7 +47446,7 @@ func computeCellSize(tls *libc.TLS, p uintptr, N int32) U16 { /* sqlite3.c:73246 return *(*U16)(unsafe.Pointer((*CellArray)(unsafe.Pointer(p)).FszCell + uintptr(N)*2)) } -func cachedCellSize(tls *libc.TLS, p uintptr, N int32) U16 { /* sqlite3.c:73252:12: */ +func cachedCellSize(tls *libc.TLS, p uintptr, N int32) U16 { /* sqlite3.c:73262:12: */ if *(*U16)(unsafe.Pointer((*CellArray)(unsafe.Pointer(p)).FszCell + uintptr(N)*2)) != 0 { return *(*U16)(unsafe.Pointer((*CellArray)(unsafe.Pointer(p)).FszCell + uintptr(N)*2)) @@ -47455,7 +47465,7 @@ func cachedCellSize(tls *libc.TLS, p uintptr, N int32) U16 { /* sqlite3.c:73252: // // The MemPage.nFree field is invalidated by this function. It is the // responsibility of the caller to set it correctly. -func rebuildPage(tls *libc.TLS, pCArray uintptr, iFirst int32, nCell int32, pPg uintptr) int32 { /* sqlite3.c:73271:12: */ +func rebuildPage(tls *libc.TLS, pCArray uintptr, iFirst int32, nCell int32, pPg uintptr) int32 { /* sqlite3.c:73281:12: */ var hdr int32 = int32((*MemPage)(unsafe.Pointer(pPg)).FhdrOffset) // Offset of header on pPg var aData uintptr = (*MemPage)(unsafe.Pointer(pPg)).FaData // Pointer to data for pPg var usableSize int32 = int32((*BtShared)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPg)).FpBt)).FusableSize) @@ -47486,12 +47496,12 @@ func rebuildPage(tls *libc.TLS, pCArray uintptr, iFirst int32, nCell int32, pPg if Uptr(pCell) >= Uptr(aData+uintptr(j)) && Uptr(pCell) < Uptr(pEnd) { if Uptr(pCell+uintptr(sz)) > Uptr(pEnd) { - return Xsqlite3CorruptError(tls, 73304) + return Xsqlite3CorruptError(tls, 73314) } pCell = pTmp + uintptr((int64(pCell)-int64(aData))/1) } else if Uptr(pCell+uintptr(sz)) > Uptr(pSrcEnd) && Uptr(pCell) < Uptr(pSrcEnd) { - return Xsqlite3CorruptError(tls, 73309) + return Xsqlite3CorruptError(tls, 73319) } pData -= uintptr(sz) @@ -47499,7 +47509,7 @@ func rebuildPage(tls *libc.TLS, pCArray uintptr, iFirst int32, nCell int32, pPg *(*U8)(unsafe.Pointer(pCellptr + 1)) = U8((int64(pData) - int64(aData)) / 1) pCellptr += uintptr(2) if pData < pCellptr { - return Xsqlite3CorruptError(tls, 73315) + return Xsqlite3CorruptError(tls, 73325) } libc.Xmemmove(tls, pData, pCell, uint64(sz)) @@ -47549,7 +47559,7 @@ func rebuildPage(tls *libc.TLS, pCArray uintptr, iFirst int32, nCell int32, pPg // all cells - not just those inserted by the current call). If the content // area must be extended to before this point in order to accomodate all // cells in apCell[], then the cells do not fit and non-zero is returned. -func pageInsertArray(tls *libc.TLS, pPg uintptr, pBegin uintptr, ppData uintptr, pCellptr uintptr, iFirst int32, nCell int32, pCArray uintptr) int32 { /* sqlite3.c:73361:12: */ +func pageInsertArray(tls *libc.TLS, pPg uintptr, pBegin uintptr, ppData uintptr, pCellptr uintptr, iFirst int32, nCell int32, pCArray uintptr) int32 { /* sqlite3.c:73371:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -47587,7 +47597,7 @@ func pageInsertArray(tls *libc.TLS, pPg uintptr, pBegin uintptr, ppData uintptr, if Uptr(*(*uintptr)(unsafe.Pointer((*CellArray)(unsafe.Pointer(pCArray)).FapCell + uintptr(i)*8))+uintptr(sz)) > Uptr(pEnd) && Uptr(*(*uintptr)(unsafe.Pointer((*CellArray)(unsafe.Pointer(pCArray)).FapCell + uintptr(i)*8))) < Uptr(pEnd) { - Xsqlite3CorruptError(tls, 73400) + Xsqlite3CorruptError(tls, 73410) return 1 } libc.Xmemmove(tls, pSlot, *(*uintptr)(unsafe.Pointer((*CellArray)(unsafe.Pointer(pCArray)).FapCell + uintptr(i)*8)), uint64(sz)) @@ -47614,7 +47624,7 @@ func pageInsertArray(tls *libc.TLS, pPg uintptr, pBegin uintptr, ppData uintptr, // The cell-pointers and other fields of the page are not updated. // // This function returns the total number of cells added to the free-list. -func pageFreeArray(tls *libc.TLS, pPg uintptr, iFirst int32, nCell int32, pCArray uintptr) int32 { /* sqlite3.c:73426:12: */ +func pageFreeArray(tls *libc.TLS, pPg uintptr, iFirst int32, nCell int32, pCArray uintptr) int32 { /* sqlite3.c:73436:12: */ var aData uintptr = (*MemPage)(unsafe.Pointer(pPg)).FaData var pEnd uintptr = aData + uintptr((*BtShared)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPg)).FpBt)).FusableSize) var pStart uintptr = aData + uintptr(int32((*MemPage)(unsafe.Pointer(pPg)).FhdrOffset)+8+int32((*MemPage)(unsafe.Pointer(pPg)).FchildPtrSize)) @@ -47666,7 +47676,7 @@ func pageFreeArray(tls *libc.TLS, pPg uintptr, iFirst int32, nCell int32, pCArra // // The pPg->nFree field is invalid when this function returns. It is the // responsibility of the caller to set it correctly. -func editPage(tls *libc.TLS, pPg uintptr, iOld int32, iNew int32, nNew int32, pCArray uintptr) int32 { /* sqlite3.c:73485:12: */ +func editPage(tls *libc.TLS, pPg uintptr, iOld int32, iNew int32, nNew int32, pCArray uintptr) int32 { /* sqlite3.c:73495:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -47700,7 +47710,7 @@ func editPage(tls *libc.TLS, pPg uintptr, iOld int32, iNew int32, nNew int32, pC if !(nShift > nCell) { goto __2 } - return Xsqlite3CorruptError(tls, 73511) + return Xsqlite3CorruptError(tls, 73521) __2: ; libc.Xmemmove(tls, (*MemPage)(unsafe.Pointer(pPg)).FaCellIdx, (*MemPage)(unsafe.Pointer(pPg)).FaCellIdx+uintptr(nShift*2), uint64(nCell*2)) @@ -47840,7 +47850,7 @@ editpage_fail: // byte page number followed by a variable length integer. In other // words, at most 13 bytes. Hence the pSpace buffer must be at // least 13 bytes in size. -func balance_quick(tls *libc.TLS, pParent uintptr, pPage uintptr, pSpace uintptr) int32 { /* sqlite3.c:73614:12: */ +func balance_quick(tls *libc.TLS, pParent uintptr, pPage uintptr, pSpace uintptr) int32 { /* sqlite3.c:73624:12: */ bp := tls.Alloc(140) defer tls.Free(140) @@ -47853,7 +47863,7 @@ func balance_quick(tls *libc.TLS, pParent uintptr, pPage uintptr, pSpace uintptr // Page number of pNew if int32((*MemPage)(unsafe.Pointer(pPage)).FnCell) == 0 { - return Xsqlite3CorruptError(tls, 73624) + return Xsqlite3CorruptError(tls, 73634) } // dbfuzz001.test // Allocate a new page. This page will become the right-sibling of @@ -47951,7 +47961,7 @@ func balance_quick(tls *libc.TLS, pParent uintptr, pPage uintptr, pSpace uintptr // The performance of this function is not critical. It is only used by // the balance_shallower() and balance_deeper() procedures, neither of // which are called often under normal circumstances. -func copyNodeContent(tls *libc.TLS, pFrom uintptr, pTo uintptr, pRC uintptr) { /* sqlite3.c:73769:13: */ +func copyNodeContent(tls *libc.TLS, pFrom uintptr, pTo uintptr, pRC uintptr) { /* sqlite3.c:73779:13: */ if *(*int32)(unsafe.Pointer(pRC)) == SQLITE_OK { var pBt uintptr = (*MemPage)(unsafe.Pointer(pFrom)).FpBt var aFrom uintptr = (*MemPage)(unsafe.Pointer(pFrom)).FaData @@ -48031,7 +48041,7 @@ func copyNodeContent(tls *libc.TLS, pFrom uintptr, pTo uintptr, pRC uintptr) { / // // If aOvflSpace is set to a null pointer, this function returns // SQLITE_NOMEM. -func balance_nonroot(tls *libc.TLS, pParent uintptr, iParentIdx int32, aOvflSpace uintptr, isRoot int32, bBulk int32) int32 { /* sqlite3.c:73851:12: */ +func balance_nonroot(tls *libc.TLS, pParent uintptr, iParentIdx int32, aOvflSpace uintptr, isRoot int32, bBulk int32) int32 { /* sqlite3.c:73861:12: */ bp := tls.Alloc(344) defer tls.Free(344) @@ -48333,7 +48343,7 @@ __22: if !(int32(*(*U8)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pOld)).FaData))) != int32(*(*U8)(unsafe.Pointer((*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 112)))).FaData)))) { goto __25 } - *(*int32)(unsafe.Pointer(bp + 172 /* rc */)) = Xsqlite3CorruptError(tls, 74047) + *(*int32)(unsafe.Pointer(bp + 172 /* rc */)) = Xsqlite3CorruptError(tls, 74057) goto balance_cleanup __25: ; @@ -48361,7 +48371,7 @@ __25: if !(limit < int32(*(*U16)(unsafe.Pointer(pOld + 28)))) { goto __27 } - *(*int32)(unsafe.Pointer(bp + 172 /* rc */)) = Xsqlite3CorruptError(tls, 74071) + *(*int32)(unsafe.Pointer(bp + 172 /* rc */)) = Xsqlite3CorruptError(tls, 74081) goto balance_cleanup __27: ; @@ -48540,7 +48550,7 @@ __52: if !(k > NB+2) { goto __55 } - *(*int32)(unsafe.Pointer(bp + 172 /* rc */)) = Xsqlite3CorruptError(tls, 74172) + *(*int32)(unsafe.Pointer(bp + 172 /* rc */)) = Xsqlite3CorruptError(tls, 74182) goto balance_cleanup __55: ; @@ -48614,7 +48624,7 @@ __65: }()) { goto __67 } - *(*int32)(unsafe.Pointer(bp + 172 /* rc */)) = Xsqlite3CorruptError(tls, 74205) + *(*int32)(unsafe.Pointer(bp + 172 /* rc */)) = Xsqlite3CorruptError(tls, 74215) goto balance_cleanup __67: ; @@ -48687,7 +48697,7 @@ __73: }()) { goto __75 } - *(*int32)(unsafe.Pointer(bp + 172 /* rc */)) = Xsqlite3CorruptError(tls, 74247) + *(*int32)(unsafe.Pointer(bp + 172 /* rc */)) = Xsqlite3CorruptError(tls, 74257) goto balance_cleanup __75: ; @@ -48724,7 +48734,7 @@ __76: *(*int32)(unsafe.Pointer(bp + 172)) == SQLITE_OK) { goto __81 } - *(*int32)(unsafe.Pointer(bp + 172 /* rc */)) = Xsqlite3CorruptError(tls, 74280) + *(*int32)(unsafe.Pointer(bp + 172 /* rc */)) = Xsqlite3CorruptError(tls, 74290) __81: ; if !(*(*int32)(unsafe.Pointer(bp + 172)) != 0) { @@ -48808,7 +48818,7 @@ __89: // cache with two separate objects associated with the same // page number. - *(*int32)(unsafe.Pointer(bp + 172 /* rc */)) = Xsqlite3CorruptError(tls, 74326) + *(*int32)(unsafe.Pointer(bp + 172 /* rc */)) = Xsqlite3CorruptError(tls, 74336) goto balance_cleanup __92: ; @@ -49061,7 +49071,7 @@ __125: if !(Uptr(pSrcEnd) >= Uptr(pCell1) && Uptr(pSrcEnd) < Uptr(pCell1+uintptr(sz2))) { goto __126 } - *(*int32)(unsafe.Pointer(bp + 172 /* rc */)) = Xsqlite3CorruptError(tls, 74483) + *(*int32)(unsafe.Pointer(bp + 172 /* rc */)) = Xsqlite3CorruptError(tls, 74493) goto balance_cleanup __126: ; @@ -49283,7 +49293,7 @@ __150: // page and SQLITE_OK is returned. In this case the caller is required // to call releasePage() on *ppChild exactly once. If an error occurs, // an error code is returned and *ppChild is set to 0. -func balance_deeper(tls *libc.TLS, pRoot uintptr, ppChild uintptr) int32 { /* sqlite3.c:74648:12: */ +func balance_deeper(tls *libc.TLS, pRoot uintptr, ppChild uintptr) int32 { /* sqlite3.c:74658:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -49334,13 +49344,13 @@ func balance_deeper(tls *libc.TLS, pRoot uintptr, ppChild uintptr) int32 { /* sq // table linked to the same b-tree. If the secondary insert causes a // rebalance, that can change content out from under the cursor on the // first SQL table, violating invariants on the first insert. -func anotherValidCursor(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:74706:12: */ +func anotherValidCursor(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:74716:12: */ var pOther uintptr for pOther = (*BtShared)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pCur)).FpBt)).FpCursor; pOther != 0; pOther = (*BtCursor)(unsafe.Pointer(pOther)).FpNext { if pOther != pCur && int32((*BtCursor)(unsafe.Pointer(pOther)).FeState) == CURSOR_VALID && (*BtCursor)(unsafe.Pointer(pOther)).FpPage == (*BtCursor)(unsafe.Pointer(pCur)).FpPage { - return Xsqlite3CorruptError(tls, 74713) + return Xsqlite3CorruptError(tls, 74723) } } return SQLITE_OK @@ -49354,7 +49364,7 @@ func anotherValidCursor(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:74706: // balance_quick() // balance_deeper() // balance_nonroot() -func balance(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:74729:12: */ +func balance(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:74739:12: */ bp := tls.Alloc(13) defer tls.Free(13) @@ -49473,7 +49483,7 @@ func balance(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:74729:12: */ // Overwrite content from pX into pDest. Only do the write if the // content is different from what is already there. -func btreeOverwriteContent(tls *libc.TLS, pPage uintptr, pDest uintptr, pX uintptr, iOffset int32, iAmt int32) int32 { /* sqlite3.c:74855:12: */ +func btreeOverwriteContent(tls *libc.TLS, pPage uintptr, pDest uintptr, pX uintptr, iOffset int32, iAmt int32) int32 { /* sqlite3.c:74865:12: */ var nData int32 = (*BtreePayload)(unsafe.Pointer(pX)).FnData - iOffset if nData <= 0 { // Overwritting with zeros @@ -49515,7 +49525,7 @@ func btreeOverwriteContent(tls *libc.TLS, pPage uintptr, pDest uintptr, pX uintp // Overwrite the cell that cursor pCur is pointing to with fresh content // contained in pX. -func btreeOverwriteCell(tls *libc.TLS, pCur uintptr, pX uintptr) int32 { /* sqlite3.c:74898:12: */ +func btreeOverwriteCell(tls *libc.TLS, pCur uintptr, pX uintptr) int32 { /* sqlite3.c:74908:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -49529,7 +49539,7 @@ func btreeOverwriteCell(tls *libc.TLS, pCur uintptr, pX uintptr) int32 { /* sqli if (*BtCursor)(unsafe.Pointer(pCur)).Finfo.FpPayload+uintptr((*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnLocal) > (*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FaDataEnd || (*BtCursor)(unsafe.Pointer(pCur)).Finfo.FpPayload < (*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FaData+uintptr((*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FcellOffset) { - return Xsqlite3CorruptError(tls, 74910) + return Xsqlite3CorruptError(tls, 74920) } // Overwrite the local portion first rc = btreeOverwriteContent(tls, *(*uintptr)(unsafe.Pointer(bp /* pPage */)), (*BtCursor)(unsafe.Pointer(pCur)).Finfo.FpPayload, pX, @@ -49553,7 +49563,7 @@ func btreeOverwriteCell(tls *libc.TLS, pCur uintptr, pX uintptr) int32 { /* sqli return rc } if Xsqlite3PagerPageRefcount(tls, (*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FpDbPage) != 1 || (*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FisInit != 0 { - rc = Xsqlite3CorruptError(tls, 74929) + rc = Xsqlite3CorruptError(tls, 74939) } else { if U32(iOffset)+ovflPageSize < U32(nTotal) { ovflPgno = Xsqlite3Get4byte(tls, (*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* pPage */)))).FaData) @@ -49600,7 +49610,7 @@ func btreeOverwriteCell(tls *libc.TLS, pCur uintptr, pX uintptr) int32 { /* sqli // if pX->nMem is non-zero, then pX->aMem contains pointers to the unpacked // key values and pX->aMem can be used instead of pX->pKey to avoid having // to decode the key. -func Xsqlite3BtreeInsert(tls *libc.TLS, pCur uintptr, pX uintptr, flags int32, seekResult int32) int32 { /* sqlite3.c:74977:20: */ +func Xsqlite3BtreeInsert(tls *libc.TLS, pCur uintptr, pX uintptr, flags int32, seekResult int32) int32 { /* sqlite3.c:74987:20: */ bp := tls.Alloc(136) defer tls.Free(136) @@ -49630,20 +49640,6 @@ func Xsqlite3BtreeInsert(tls *libc.TLS, pCur uintptr, pX uintptr, flags int32, s pBt = (*Btree)(unsafe.Pointer(p)).FpBt newCell = uintptr(0) - if !(int32((*BtCursor)(unsafe.Pointer(pCur)).FeState) == CURSOR_FAULT) { - goto __1 - } - - return (*BtCursor)(unsafe.Pointer(pCur)).FskipNext -__1: - ; - - // Assert that the caller has been consistent. If this cursor was opened - // expecting an index b-tree, then the caller should be inserting blob - // keys with no associated data. If the cursor was opened expecting an - // intkey table, the caller should be inserting integer keys with a - // blob of associated data. - // Save the positions of any other cursors open on this table. // // In some cases, the call to btreeMoveto() below is a no-op. For @@ -49655,40 +49651,59 @@ __1: // doing any work. To avoid thwarting these optimizations, it is important // not to clear the cursor here. if !(int32((*BtCursor)(unsafe.Pointer(pCur)).FcurFlags)&BTCF_Multiple != 0) { - goto __2 + goto __1 } *(*int32)(unsafe.Pointer(bp + 104 /* rc */)) = saveAllCursors(tls, pBt, (*BtCursor)(unsafe.Pointer(pCur)).FpgnoRoot, pCur) if !(*(*int32)(unsafe.Pointer(bp + 104)) != 0) { - goto __3 + goto __2 } return *(*int32)(unsafe.Pointer(bp + 104 /* rc */)) -__3: +__2: ; if !(*(*int32)(unsafe.Pointer(bp)) != 0 && int32((*BtCursor)(unsafe.Pointer(pCur)).FiPage) < 0) { - goto __4 + goto __3 } // This can only happen if the schema is corrupt such that there is more // than one table or index with the same root page as used by the cursor. // 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 Xsqlite3CorruptError(tls, 75034) -__4: + return Xsqlite3CorruptError(tls, 75026) +__3: ; -__2: +__1: ; - if !((*BtCursor)(unsafe.Pointer(pCur)).FpKeyInfo == uintptr(0)) { + if !(int32((*BtCursor)(unsafe.Pointer(pCur)).FeState) >= CURSOR_REQUIRESEEK) { + goto __4 + } + *(*int32)(unsafe.Pointer(bp + 104 /* rc */)) = moveToRoot(tls, pCur) + if !(*(*int32)(unsafe.Pointer(bp + 104)) != 0 && *(*int32)(unsafe.Pointer(bp + 104)) != SQLITE_EMPTY) { goto __5 } + return *(*int32)(unsafe.Pointer(bp + 104 /* rc */)) +__5: + ; +__4: + ; + + // Assert that the caller has been consistent. If this cursor was opened + // expecting an index b-tree, then the caller should be inserting blob + // keys with no associated data. If the cursor was opened expecting an + // intkey table, the caller should be inserting integer keys with a + // blob of associated data. + + if !((*BtCursor)(unsafe.Pointer(pCur)).FpKeyInfo == uintptr(0)) { + goto __6 + } // If this is an insert into a table b-tree, invalidate any incrblob // cursors open on the row being replaced if !((*Btree)(unsafe.Pointer(p)).FhasIncrblobCur != 0) { - goto __7 + goto __8 } invalidateIncrblobCursors(tls, p, (*BtCursor)(unsafe.Pointer(pCur)).FpgnoRoot, (*BtreePayload)(unsafe.Pointer(pX)).FnKey, 0) -__7: +__8: ; // If BTREE_SAVEPOSITION is set, the cursor must already be pointing @@ -49698,24 +49713,24 @@ __7: // that the cursor is not pointing to a row to be overwritten. // So do a complete check. if !(int32((*BtCursor)(unsafe.Pointer(pCur)).FcurFlags)&BTCF_ValidNKey != 0 && (*BtreePayload)(unsafe.Pointer(pX)).FnKey == (*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnKey) { - goto __8 + goto __9 } // The cursor is pointing to the entry that is to be // overwritten if !(int32((*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnSize) != 0 && (*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnPayload == U32((*BtreePayload)(unsafe.Pointer(pX)).FnData)+U32((*BtreePayload)(unsafe.Pointer(pX)).FnZero)) { - goto __10 + goto __11 } // New entry is the same size as the old. Do an overwrite return btreeOverwriteCell(tls, pCur, pX) -__10: +__11: ; - goto __9 -__8: + goto __10 +__9: if !(*(*int32)(unsafe.Pointer(bp)) == 0) { - goto __11 + goto __12 } // The cursor is *not* pointing to the cell to be overwritten, nor // to an adjacent cell. Move the cursor so that it is pointing either @@ -49723,17 +49738,17 @@ __8: *(*int32)(unsafe.Pointer(bp + 104 /* rc */)) = Xsqlite3BtreeTableMoveto(tls, pCur, (*BtreePayload)(unsafe.Pointer(pX)).FnKey, libc.Bool32(flags&BTREE_APPEND != 0), bp) if !(*(*int32)(unsafe.Pointer(bp + 104)) != 0) { - goto __12 + goto __13 } return *(*int32)(unsafe.Pointer(bp + 104 /* rc */)) -__12: +__13: ; -__11: +__12: ; -__9: +__10: ; - goto __6 -__5: + goto __7 +__6: // This is an index or a WITHOUT ROWID table // If BTREE_SAVEPOSITION is set, the cursor must already be pointing @@ -49745,10 +49760,10 @@ __5: // not pointing to an immediately adjacent cell, then move the cursor // so that it does. if !(*(*int32)(unsafe.Pointer(bp)) == 0 && flags&BTREE_SAVEPOSITION == 0) { - goto __13 + goto __14 } if !((*BtreePayload)(unsafe.Pointer(pX)).FnMem != 0) { - goto __14 + goto __15 } (*UnpackedRecord)(unsafe.Pointer(bp + 8 /* &r */)).FpKeyInfo = (*BtCursor)(unsafe.Pointer(pCur)).FpKeyInfo (*UnpackedRecord)(unsafe.Pointer(bp + 8 /* &r */)).FaMem = (*BtreePayload)(unsafe.Pointer(pX)).FaMem @@ -49756,147 +49771,147 @@ __5: (*UnpackedRecord)(unsafe.Pointer(bp + 8 /* &r */)).Fdefault_rc = int8(0) (*UnpackedRecord)(unsafe.Pointer(bp + 8 /* &r */)).FeqSeen = U8(0) *(*int32)(unsafe.Pointer(bp + 104 /* rc */)) = Xsqlite3BtreeIndexMoveto(tls, pCur, bp+8, bp) - goto __15 -__14: + goto __16 +__15: *(*int32)(unsafe.Pointer(bp + 104 /* rc */)) = btreeMoveto(tls, pCur, (*BtreePayload)(unsafe.Pointer(pX)).FpKey, (*BtreePayload)(unsafe.Pointer(pX)).FnKey, libc.Bool32(flags&BTREE_APPEND != 0), bp) -__15: +__16: ; if !(*(*int32)(unsafe.Pointer(bp + 104)) != 0) { - goto __16 + goto __17 } return *(*int32)(unsafe.Pointer(bp + 104 /* rc */)) -__16: +__17: ; -__13: +__14: ; // If the cursor is currently pointing to an entry to be overwritten // and the new content is the same as as the old, then use the // overwrite optimization. if !(*(*int32)(unsafe.Pointer(bp)) == 0) { - goto __17 + goto __18 } getCellInfo(tls, pCur) if !((*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnKey == (*BtreePayload)(unsafe.Pointer(pX)).FnKey) { - goto __18 + goto __19 } (*BtreePayload)(unsafe.Pointer(bp + 32 /* &x2 */)).FpData = (*BtreePayload)(unsafe.Pointer(pX)).FpKey (*BtreePayload)(unsafe.Pointer(bp + 32 /* &x2 */)).FnData = int32((*BtreePayload)(unsafe.Pointer(pX)).FnKey) (*BtreePayload)(unsafe.Pointer(bp + 32 /* &x2 */)).FnZero = 0 return btreeOverwriteCell(tls, pCur, bp+32) -__18: +__19: ; -__17: +__18: ; -__6: +__7: ; pPage = (*BtCursor)(unsafe.Pointer(pCur)).FpPage if !((*MemPage)(unsafe.Pointer(pPage)).FnFree < 0) { - goto __19 + goto __20 } if !(int32((*BtCursor)(unsafe.Pointer(pCur)).FeState) > CURSOR_INVALID) { - goto __20 + goto __21 } - *(*int32)(unsafe.Pointer(bp + 104 /* rc */)) = Xsqlite3CorruptError(tls, 75134) - goto __21 -__20: - *(*int32)(unsafe.Pointer(bp + 104 /* rc */)) = btreeComputeFreeSpace(tls, pPage) + *(*int32)(unsafe.Pointer(bp + 104 /* rc */)) = Xsqlite3CorruptError(tls, 75143) + goto __22 __21: + *(*int32)(unsafe.Pointer(bp + 104 /* rc */)) = btreeComputeFreeSpace(tls, pPage) +__22: ; if !(*(*int32)(unsafe.Pointer(bp + 104)) != 0) { - goto __22 + goto __23 } return *(*int32)(unsafe.Pointer(bp + 104 /* rc */)) -__22: +__23: ; -__19: +__20: ; newCell = (*BtShared)(unsafe.Pointer(pBt)).FpTmpSpace if !(flags&BTREE_PREFORMAT != 0) { - goto __23 + goto __24 } *(*int32)(unsafe.Pointer(bp + 104 /* rc */)) = SQLITE_OK *(*int32)(unsafe.Pointer(bp + 108 /* szNew */)) = (*BtShared)(unsafe.Pointer(pBt)).FnPreformatSize if !(*(*int32)(unsafe.Pointer(bp + 108)) < 4) { - goto __25 + goto __26 } *(*int32)(unsafe.Pointer(bp + 108 /* szNew */)) = 4 -__25: +__26: ; if !((*BtShared)(unsafe.Pointer(pBt)).FautoVacuum != 0 && *(*int32)(unsafe.Pointer(bp + 108)) > int32((*MemPage)(unsafe.Pointer(pPage)).FmaxLocal)) { - goto __26 + goto __27 } (*struct { f func(*libc.TLS, uintptr, uintptr, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*MemPage)(unsafe.Pointer(pPage)).FxParseCell})).f(tls, pPage, newCell, bp+80 /* &info */) if !((*CellInfo)(unsafe.Pointer(bp+80)).FnPayload != U32((*CellInfo)(unsafe.Pointer(bp+80)).FnLocal)) { - goto __27 + goto __28 } ovfl = Xsqlite3Get4byte(tls, newCell+uintptr(*(*int32)(unsafe.Pointer(bp + 108))-4)) ptrmapPut(tls, pBt, ovfl, uint8(PTRMAP_OVERFLOW1), (*MemPage)(unsafe.Pointer(pPage)).Fpgno, bp+104) -__27: +__28: ; -__26: +__27: ; - goto __24 -__23: - *(*int32)(unsafe.Pointer(bp + 104 /* rc */)) = fillInCell(tls, pPage, newCell, pX, bp+108) + goto __25 __24: + *(*int32)(unsafe.Pointer(bp + 104 /* rc */)) = fillInCell(tls, pPage, newCell, pX, bp+108) +__25: ; if !(*(*int32)(unsafe.Pointer(bp + 104)) != 0) { - goto __28 + goto __29 } goto end_insert -__28: +__29: ; idx = int32((*BtCursor)(unsafe.Pointer(pCur)).Fix) if !(*(*int32)(unsafe.Pointer(bp)) == 0) { - goto __29 + goto __30 } if !(idx >= int32((*MemPage)(unsafe.Pointer(pPage)).FnCell)) { - goto __31 + goto __32 } - return Xsqlite3CorruptError(tls, 75170) -__31: + return Xsqlite3CorruptError(tls, 75179) +__32: ; *(*int32)(unsafe.Pointer(bp + 104 /* rc */)) = Xsqlite3PagerWrite(tls, (*MemPage)(unsafe.Pointer(pPage)).FpDbPage) if !(*(*int32)(unsafe.Pointer(bp + 104)) != 0) { - goto __32 + goto __33 } goto end_insert -__32: +__33: ; oldCell = (*MemPage)(unsafe.Pointer(pPage)).FaData + uintptr(int32((*MemPage)(unsafe.Pointer(pPage)).FmaskPage)&(int32(*(*U8)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPage)).FaCellIdx + uintptr(2*idx))))<<8|int32(*(*U8)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPage)).FaCellIdx + uintptr(2*idx) + 1))))) if !!(int32((*MemPage)(unsafe.Pointer(pPage)).Fleaf) != 0) { - goto __33 + goto __34 } libc.Xmemcpy(tls, newCell, oldCell, uint64(4)) -__33: +__34: ; (*struct { f func(*libc.TLS, uintptr, uintptr, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*MemPage)(unsafe.Pointer(pPage)).FxParseCell})).f(tls, pPage, oldCell, bp+112 /* &info1 */) if !(U32((*CellInfo)(unsafe.Pointer(bp+112 /* &info1 */)).FnLocal) != (*CellInfo)(unsafe.Pointer(bp+112 /* &info1 */)).FnPayload) { - goto __34 + goto __35 } *(*int32)(unsafe.Pointer(bp + 104 /* rc */)) = clearCellOverflow(tls, pPage, oldCell, bp+112 /* &info1 */) - goto __35 -__34: - *(*int32)(unsafe.Pointer(bp + 104 /* rc */)) = SQLITE_OK + goto __36 __35: + *(*int32)(unsafe.Pointer(bp + 104 /* rc */)) = SQLITE_OK +__36: ; *(*U8)(unsafe.Pointer(pCur + 1)) &= libc.Uint8FromInt32(libc.CplInt32(BTCF_ValidOvfl)) if !(int32((*CellInfo)(unsafe.Pointer(bp+112)).FnSize) == *(*int32)(unsafe.Pointer(bp + 108)) && U32((*CellInfo)(unsafe.Pointer(bp+112)).FnLocal) == (*CellInfo)(unsafe.Pointer(bp+112)).FnPayload && (!(int32((*BtShared)(unsafe.Pointer(pBt)).FautoVacuum) != 0) || *(*int32)(unsafe.Pointer(bp + 108)) < int32((*MemPage)(unsafe.Pointer(pPage)).FminLocal))) { - goto __36 + goto __37 } // Overwrite the old cell with the new if they are the same size. // We could also try to do this if the old cell is smaller, then add @@ -49909,42 +49924,42 @@ __35: // necessary to add the PTRMAP_OVERFLOW1 pointer-map entry. // clearCell never fails when nLocal==nPayload if !(oldCell < (*MemPage)(unsafe.Pointer(pPage)).FaData+uintptr((*MemPage)(unsafe.Pointer(pPage)).FhdrOffset)+uintptr(10)) { - goto __37 + goto __38 } - return Xsqlite3CorruptError(tls, 75197) -__37: + return Xsqlite3CorruptError(tls, 75206) +__38: ; if !(oldCell+uintptr(*(*int32)(unsafe.Pointer(bp + 108))) > (*MemPage)(unsafe.Pointer(pPage)).FaDataEnd) { - goto __38 + goto __39 } - return Xsqlite3CorruptError(tls, 75200) -__38: + return Xsqlite3CorruptError(tls, 75209) +__39: ; libc.Xmemcpy(tls, oldCell, newCell, uint64(*(*int32)(unsafe.Pointer(bp + 108 /* szNew */)))) return SQLITE_OK -__36: +__37: ; dropCell(tls, pPage, idx, int32((*CellInfo)(unsafe.Pointer(bp+112 /* &info1 */)).FnSize), bp+104) if !(*(*int32)(unsafe.Pointer(bp + 104)) != 0) { - goto __39 + goto __40 } goto end_insert -__39: +__40: ; - goto __30 -__29: + goto __31 +__30: if !(*(*int32)(unsafe.Pointer(bp)) < 0 && int32((*MemPage)(unsafe.Pointer(pPage)).FnCell) > 0) { - goto __40 + goto __41 } idx = int32(libc.PreIncUint16(&(*BtCursor)(unsafe.Pointer(pCur)).Fix, 1)) *(*U8)(unsafe.Pointer(pCur + 1)) &= libc.Uint8FromInt32(libc.CplInt32(BTCF_ValidNKey)) - goto __41 -__40: - ; + goto __42 __41: ; -__30: +__42: + ; +__31: ; insertCell(tls, pPage, idx, newCell, *(*int32)(unsafe.Pointer(bp + 108 /* szNew */)), uintptr(0), uint32(0), bp+104) @@ -49969,7 +49984,7 @@ __30: // row without seeking the cursor. This can be a big performance boost. (*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnSize = U16(0) if !((*MemPage)(unsafe.Pointer(pPage)).FnOverflow != 0) { - goto __42 + goto __43 } *(*U8)(unsafe.Pointer(pCur + 1)) &= libc.Uint8FromInt32(libc.CplInt32(BTCF_ValidNKey)) @@ -49982,30 +49997,30 @@ __30: (*MemPage)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pCur)).FpPage)).FnOverflow = U8(0) (*BtCursor)(unsafe.Pointer(pCur)).FeState = U8(CURSOR_INVALID) if !(flags&BTREE_SAVEPOSITION != 0 && *(*int32)(unsafe.Pointer(bp + 104)) == SQLITE_OK) { - goto __43 + goto __44 } btreeReleaseAllCursorPages(tls, pCur) if !((*BtCursor)(unsafe.Pointer(pCur)).FpKeyInfo != 0) { - goto __44 + goto __45 } (*BtCursor)(unsafe.Pointer(pCur)).FpKey = Xsqlite3Malloc(tls, uint64((*BtreePayload)(unsafe.Pointer(pX)).FnKey)) if !((*BtCursor)(unsafe.Pointer(pCur)).FpKey == uintptr(0)) { - goto __45 + goto __46 } *(*int32)(unsafe.Pointer(bp + 104 /* rc */)) = SQLITE_NOMEM - goto __46 -__45: - libc.Xmemcpy(tls, (*BtCursor)(unsafe.Pointer(pCur)).FpKey, (*BtreePayload)(unsafe.Pointer(pX)).FpKey, uint64((*BtreePayload)(unsafe.Pointer(pX)).FnKey)) + goto __47 __46: + libc.Xmemcpy(tls, (*BtCursor)(unsafe.Pointer(pCur)).FpKey, (*BtreePayload)(unsafe.Pointer(pX)).FpKey, uint64((*BtreePayload)(unsafe.Pointer(pX)).FnKey)) +__47: ; -__44: +__45: ; (*BtCursor)(unsafe.Pointer(pCur)).FeState = U8(CURSOR_REQUIRESEEK) (*BtCursor)(unsafe.Pointer(pCur)).FnKey = (*BtreePayload)(unsafe.Pointer(pX)).FnKey -__43: +__44: ; -__42: +__43: ; end_insert: @@ -50025,7 +50040,7 @@ end_insert: // calling sqlite3BtreeInsert() with the BTREE_PREFORMAT flag specified. // // SQLITE_OK is returned if successful, or an SQLite error code otherwise. -func Xsqlite3BtreeTransferRow(tls *libc.TLS, pDest uintptr, pSrc uintptr, iKey I64) int32 { /* sqlite3.c:75286:20: */ +func Xsqlite3BtreeTransferRow(tls *libc.TLS, pDest uintptr, pSrc uintptr, iKey I64) int32 { /* sqlite3.c:75295:20: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -50052,7 +50067,7 @@ func Xsqlite3BtreeTransferRow(tls *libc.TLS, pDest uintptr, pSrc uintptr, iKey I nIn = U32((*BtCursor)(unsafe.Pointer(pSrc)).Finfo.FnLocal) aIn = (*BtCursor)(unsafe.Pointer(pSrc)).Finfo.FpPayload if aIn+uintptr(nIn) > (*MemPage)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pSrc)).FpPage)).FaDataEnd { - return Xsqlite3CorruptError(tls, 75300) + return Xsqlite3CorruptError(tls, 75309) } nRem = (*BtCursor)(unsafe.Pointer(pSrc)).Finfo.FnPayload if nIn == nRem && nIn < U32((*MemPage)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pDest)).FpPage)).FmaxLocal) { @@ -50075,7 +50090,7 @@ func Xsqlite3BtreeTransferRow(tls *libc.TLS, pDest uintptr, pSrc uintptr, iKey I if nRem > nIn { if aIn+uintptr(nIn)+uintptr(4) > (*MemPage)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pSrc)).FpPage)).FaDataEnd { - return Xsqlite3CorruptError(tls, 75323) + return Xsqlite3CorruptError(tls, 75332) } ovflIn = Xsqlite3Get4byte(tls, (*BtCursor)(unsafe.Pointer(pSrc)).Finfo.FpPayload+uintptr(nIn)) } @@ -50157,7 +50172,7 @@ func Xsqlite3BtreeTransferRow(tls *libc.TLS, pDest uintptr, pSrc uintptr, iKey I // operation on non-FORDELETE cursors is tagged with the AUXDELETE flag. // The BTREE_AUXDELETE bit is a hint that is not used by this implementation, // but which might be used by alternative storage engines. -func Xsqlite3BtreeDelete(tls *libc.TLS, pCur uintptr, flags U8) int32 { /* sqlite3.c:75396:20: */ +func Xsqlite3BtreeDelete(tls *libc.TLS, pCur uintptr, flags U8) int32 { /* sqlite3.c:75405:20: */ bp := tls.Alloc(28) defer tls.Free(28) @@ -50173,11 +50188,15 @@ func Xsqlite3BtreeDelete(tls *libc.TLS, pCur uintptr, flags U8) int32 { /* sqlit // Size of the cell being deleted var bPreserve U8 // Keep cursor valid. 2 for CURSOR_SKIPNEXT - if int32((*BtCursor)(unsafe.Pointer(pCur)).FeState) == CURSOR_REQUIRESEEK { - *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) = btreeRestoreCursorPosition(tls, pCur) + if int32((*BtCursor)(unsafe.Pointer(pCur)).FeState) != CURSOR_VALID { + if int32((*BtCursor)(unsafe.Pointer(pCur)).FeState) >= CURSOR_REQUIRESEEK { + *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) = btreeRestoreCursorPosition(tls, pCur) - if *(*int32)(unsafe.Pointer(bp + 24)) != 0 || int32((*BtCursor)(unsafe.Pointer(pCur)).FeState) != CURSOR_VALID { - return *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) + if *(*int32)(unsafe.Pointer(bp + 24)) != 0 || int32((*BtCursor)(unsafe.Pointer(pCur)).FeState) != CURSOR_VALID { + return *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) + } + } else { + return Xsqlite3CorruptError(tls, 75429) } } @@ -50185,11 +50204,11 @@ func Xsqlite3BtreeDelete(tls *libc.TLS, pCur uintptr, flags U8) int32 { /* sqlit iCellIdx = int32((*BtCursor)(unsafe.Pointer(pCur)).Fix) pPage = (*BtCursor)(unsafe.Pointer(pCur)).FpPage if int32((*MemPage)(unsafe.Pointer(pPage)).FnCell) <= iCellIdx { - return Xsqlite3CorruptError(tls, 75425) + return Xsqlite3CorruptError(tls, 75438) } pCell = (*MemPage)(unsafe.Pointer(pPage)).FaData + uintptr(int32((*MemPage)(unsafe.Pointer(pPage)).FmaskPage)&(int32(*(*U8)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPage)).FaCellIdx + uintptr(2*iCellIdx))))<<8|int32(*(*U8)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPage)).FaCellIdx + uintptr(2*iCellIdx) + 1))))) if (*MemPage)(unsafe.Pointer(pPage)).FnFree < 0 && btreeComputeFreeSpace(tls, pPage) != 0 { - return Xsqlite3CorruptError(tls, 75429) + return Xsqlite3CorruptError(tls, 75442) } // If the BTREE_SAVEPOSITION bit is on, then the cursor position must @@ -50298,7 +50317,7 @@ func Xsqlite3BtreeDelete(tls *libc.TLS, pCur uintptr, flags U8) int32 { /* sqlit } pCell = (*MemPage)(unsafe.Pointer(pLeaf)).FaData + uintptr(int32((*MemPage)(unsafe.Pointer(pLeaf)).FmaskPage)&(int32(*(*U8)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pLeaf)).FaCellIdx + uintptr(2*(int32((*MemPage)(unsafe.Pointer(pLeaf)).FnCell)-1)))))<<8|int32(*(*U8)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pLeaf)).FaCellIdx + uintptr(2*(int32((*MemPage)(unsafe.Pointer(pLeaf)).FnCell)-1)) + 1))))) if pCell < (*MemPage)(unsafe.Pointer(pLeaf)).FaData+4 { - return Xsqlite3CorruptError(tls, 75519) + return Xsqlite3CorruptError(tls, 75532) } nCell = int32((*struct { f func(*libc.TLS, uintptr, uintptr) U16 @@ -50375,7 +50394,7 @@ func Xsqlite3BtreeDelete(tls *libc.TLS, pCur uintptr, flags U8) int32 { /* sqlit // // BTREE_INTKEY|BTREE_LEAFDATA Used for SQL tables with rowid keys // BTREE_ZERODATA Used for SQL indices -func btreeCreateTable(tls *libc.TLS, p uintptr, piTable uintptr, createTabFlags int32) int32 { /* sqlite3.c:75593:12: */ +func btreeCreateTable(tls *libc.TLS, p uintptr, piTable uintptr, createTabFlags int32) int32 { /* sqlite3.c:75606:12: */ bp := tls.Alloc(44) defer tls.Free(44) @@ -50405,7 +50424,7 @@ func btreeCreateTable(tls *libc.TLS, p uintptr, piTable uintptr, createTabFlags // created so far, so the new root-page is (meta[3]+1). Xsqlite3BtreeGetMeta(tls, p, BTREE_LARGEST_ROOT_PAGE, bp) if *(*Pgno)(unsafe.Pointer(bp)) > btreePagecount(tls, pBt) { - return Xsqlite3CorruptError(tls, 75627) + return Xsqlite3CorruptError(tls, 75640) } *(*Pgno)(unsafe.Pointer(bp /* pgnoRoot */))++ @@ -50448,7 +50467,7 @@ func btreeCreateTable(tls *libc.TLS, p uintptr, piTable uintptr, createTabFlags } *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = ptrmapGet(tls, pBt, *(*Pgno)(unsafe.Pointer(bp /* pgnoRoot */)), bp+32, bp+36) if int32(*(*U8)(unsafe.Pointer(bp + 32))) == PTRMAP_ROOTPAGE || int32(*(*U8)(unsafe.Pointer(bp + 32))) == PTRMAP_FREEPAGE { - *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = Xsqlite3CorruptError(tls, 75675) + *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = Xsqlite3CorruptError(tls, 75688) } if *(*int32)(unsafe.Pointer(bp + 40)) != SQLITE_OK { releasePage(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* pRoot */))) @@ -50511,7 +50530,7 @@ func btreeCreateTable(tls *libc.TLS, p uintptr, piTable uintptr, createTabFlags return SQLITE_OK } -func Xsqlite3BtreeCreateTable(tls *libc.TLS, p uintptr, piTable uintptr, flags int32) int32 { /* sqlite3.c:75738:20: */ +func Xsqlite3BtreeCreateTable(tls *libc.TLS, p uintptr, piTable uintptr, flags int32) int32 { /* sqlite3.c:75751:20: */ var rc int32 Xsqlite3BtreeEnter(tls, p) rc = btreeCreateTable(tls, p, piTable, flags) @@ -50521,7 +50540,7 @@ func Xsqlite3BtreeCreateTable(tls *libc.TLS, p uintptr, piTable uintptr, flags i // Erase the given database page and all its children. Return // the page to the freelist. -func clearDatabasePage(tls *libc.TLS, pBt uintptr, pgno Pgno, freePageFlag int32, pnChange uintptr) int32 { /* sqlite3.c:75750:12: */ +func clearDatabasePage(tls *libc.TLS, pBt uintptr, pgno Pgno, freePageFlag int32, pnChange uintptr) int32 { /* sqlite3.c:75763:12: */ bp := tls.Alloc(36) defer tls.Free(36) @@ -50537,7 +50556,7 @@ func clearDatabasePage(tls *libc.TLS, pBt uintptr, pgno Pgno, freePageFlag int32 if !(pgno > btreePagecount(tls, pBt)) { goto __1 } - return Xsqlite3CorruptError(tls, 75765) + return Xsqlite3CorruptError(tls, 75778) __1: ; *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) = getAndInitPage(tls, pBt, pgno, bp, uintptr(0), 0) @@ -50551,7 +50570,7 @@ __2: Xsqlite3PagerPageRefcount(tls, (*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FpDbPage) != 1+libc.Bool32(pgno == Pgno(1))) { goto __3 } - *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) = Xsqlite3CorruptError(tls, 75772) + *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) = Xsqlite3CorruptError(tls, 75785) goto cleardatabasepage_out __3: ; @@ -50655,7 +50674,7 @@ cleardatabasepage_out: // // If pnChange is not NULL, then the integer value pointed to by pnChange // is incremented by the number of entries in the table. -func Xsqlite3BtreeClearTable(tls *libc.TLS, p uintptr, iTable int32, pnChange uintptr) int32 { /* sqlite3.c:75817:20: */ +func Xsqlite3BtreeClearTable(tls *libc.TLS, p uintptr, iTable int32, pnChange uintptr) int32 { /* sqlite3.c:75830:20: */ var rc int32 var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt Xsqlite3BtreeEnter(tls, p) @@ -50678,7 +50697,7 @@ func Xsqlite3BtreeClearTable(tls *libc.TLS, p uintptr, iTable int32, pnChange ui // Delete all information from the single table that pCur is open on. // // This routine only work for pCur on an ephemeral table. -func Xsqlite3BtreeClearTableOfCursor(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:75843:20: */ +func Xsqlite3BtreeClearTableOfCursor(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:75856:20: */ return Xsqlite3BtreeClearTable(tls, (*BtCursor)(unsafe.Pointer(pCur)).FpBtree, int32((*BtCursor)(unsafe.Pointer(pCur)).FpgnoRoot), uintptr(0)) } @@ -50700,7 +50719,7 @@ func Xsqlite3BtreeClearTableOfCursor(tls *libc.TLS, pCur uintptr) int32 { /* sql // the move. If no page gets moved, *piMoved is set to 0. // The last root page is recorded in meta[3] and the value of // meta[3] is updated by this procedure. -func btreeDropTable(tls *libc.TLS, p uintptr, iTable Pgno, piMoved uintptr) int32 { /* sqlite3.c:75867:12: */ +func btreeDropTable(tls *libc.TLS, p uintptr, iTable Pgno, piMoved uintptr) int32 { /* sqlite3.c:75880:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -50710,7 +50729,7 @@ func btreeDropTable(tls *libc.TLS, p uintptr, iTable Pgno, piMoved uintptr) int3 var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt if iTable > btreePagecount(tls, pBt) { - return Xsqlite3CorruptError(tls, 75876) + return Xsqlite3CorruptError(tls, 75889) } *(*int32)(unsafe.Pointer(bp + 12 /* rc */)) = Xsqlite3BtreeClearTable(tls, p, int32(iTable), uintptr(0)) @@ -50782,7 +50801,7 @@ func btreeDropTable(tls *libc.TLS, p uintptr, iTable Pgno, piMoved uintptr) int3 return *(*int32)(unsafe.Pointer(bp + 12 /* rc */)) } -func Xsqlite3BtreeDropTable(tls *libc.TLS, p uintptr, iTable int32, piMoved uintptr) int32 { /* sqlite3.c:75952:20: */ +func Xsqlite3BtreeDropTable(tls *libc.TLS, p uintptr, iTable int32, piMoved uintptr) int32 { /* sqlite3.c:75965:20: */ var rc int32 Xsqlite3BtreeEnter(tls, p) rc = btreeDropTable(tls, p, uint32(iTable), piMoved) @@ -50808,7 +50827,7 @@ func Xsqlite3BtreeDropTable(tls *libc.TLS, p uintptr, iTable int32, piMoved uint // database file. It is a number computed by the pager. But its access // pattern is the same as header meta values, and so it is convenient to // read it from this routine. -func Xsqlite3BtreeGetMeta(tls *libc.TLS, p uintptr, idx int32, pMeta uintptr) { /* sqlite3.c:75981:21: */ +func Xsqlite3BtreeGetMeta(tls *libc.TLS, p uintptr, idx int32, pMeta uintptr) { /* sqlite3.c:75994:21: */ var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt Xsqlite3BtreeEnter(tls, p) @@ -50827,7 +50846,7 @@ func Xsqlite3BtreeGetMeta(tls *libc.TLS, p uintptr, idx int32, pMeta uintptr) { // Write meta-information back into the database. Meta[0] is // read-only and may not be written. -func Xsqlite3BtreeUpdateMeta(tls *libc.TLS, p uintptr, idx int32, iMeta U32) int32 { /* sqlite3.c:76011:20: */ +func Xsqlite3BtreeUpdateMeta(tls *libc.TLS, p uintptr, idx int32, iMeta U32) int32 { /* sqlite3.c:76024:20: */ var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt var pP1 uintptr var rc int32 @@ -50853,7 +50872,7 @@ func Xsqlite3BtreeUpdateMeta(tls *libc.TLS, p uintptr, idx int32, iMeta U32) int // SQLITE_OK is returned if the operation is successfully executed. // Otherwise, if an error is encountered (i.e. an IO error or database // corruption) an SQLite error code is returned. -func Xsqlite3BtreeCount(tls *libc.TLS, db uintptr, pCur uintptr, pnEntry uintptr) int32 { /* sqlite3.c:76043:20: */ +func Xsqlite3BtreeCount(tls *libc.TLS, db uintptr, pCur uintptr, pnEntry uintptr) int32 { /* sqlite3.c:76056:20: */ var nEntry I64 = int64(0) // Value to return in *pnEntry var rc int32 // Return code @@ -50916,12 +50935,12 @@ func Xsqlite3BtreeCount(tls *libc.TLS, db uintptr, pCur uintptr, pnEntry uintptr // Return the pager associated with a BTree. This routine is used for // testing and debugging only. -func Xsqlite3BtreePager(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:76112:22: */ +func Xsqlite3BtreePager(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:76125:22: */ return (*BtShared)(unsafe.Pointer((*Btree)(unsafe.Pointer(p)).FpBt)).FpPager } // Append a message to the error message string. -func checkAppendMsg(tls *libc.TLS, pCheck uintptr, zFormat uintptr, va uintptr) { /* sqlite3.c:76120:13: */ +func checkAppendMsg(tls *libc.TLS, pCheck uintptr, zFormat uintptr, va uintptr) { /* sqlite3.c:76133:13: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -50948,13 +50967,13 @@ func checkAppendMsg(tls *libc.TLS, pCheck uintptr, zFormat uintptr, va uintptr) // Return non-zero if the bit in the IntegrityCk.aPgRef[] array that // corresponds to page iPg is already set. -func getPageReferenced(tls *libc.TLS, pCheck uintptr, iPg Pgno) int32 { /* sqlite3.c:76150:12: */ +func getPageReferenced(tls *libc.TLS, pCheck uintptr, iPg Pgno) int32 { /* sqlite3.c:76163:12: */ return int32(*(*U8)(unsafe.Pointer((*IntegrityCk)(unsafe.Pointer(pCheck)).FaPgRef + uintptr(iPg/Pgno(8))))) & (int32(1) << (iPg & Pgno(0x07))) } // Set the bit in the IntegrityCk.aPgRef[] array that corresponds to page iPg. -func setPageReferenced(tls *libc.TLS, pCheck uintptr, iPg Pgno) { /* sqlite3.c:76158:13: */ +func setPageReferenced(tls *libc.TLS, pCheck uintptr, iPg Pgno) { /* sqlite3.c:76171:13: */ *(*U8)(unsafe.Pointer((*IntegrityCk)(unsafe.Pointer(pCheck)).FaPgRef + uintptr(iPg/Pgno(8)))) |= U8(int32(1) << (iPg & Pgno(0x07))) } @@ -50965,7 +50984,7 @@ func setPageReferenced(tls *libc.TLS, pCheck uintptr, iPg Pgno) { /* sqlite3.c:7 // if this is the first reference to the page. // // Also check that the page number is in bounds. -func checkRef(tls *libc.TLS, pCheck uintptr, iPage Pgno) int32 { /* sqlite3.c:76172:12: */ +func checkRef(tls *libc.TLS, pCheck uintptr, iPage Pgno) int32 { /* sqlite3.c:76185:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -50987,7 +51006,7 @@ func checkRef(tls *libc.TLS, pCheck uintptr, iPage Pgno) int32 { /* sqlite3.c:76 // Check that the entry in the pointer-map for page iChild maps to // page iParent, pointer type ptrType. If not, append an error message // to pCheck. -func checkPtrmap(tls *libc.TLS, pCheck uintptr, iChild Pgno, eType U8, iParent Pgno) { /* sqlite3.c:76192:13: */ +func checkPtrmap(tls *libc.TLS, pCheck uintptr, iChild Pgno, eType U8, iParent Pgno) { /* sqlite3.c:76205:13: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -51014,7 +51033,7 @@ func checkPtrmap(tls *libc.TLS, pCheck uintptr, iChild Pgno, eType U8, iParent P // Check the integrity of the freelist or of an overflow page list. // Verify that the number of pages on the list is N. -func checkList(tls *libc.TLS, pCheck uintptr, isFreeList int32, iPage Pgno, N U32) { /* sqlite3.c:76221:13: */ +func checkList(tls *libc.TLS, pCheck uintptr, isFreeList int32, iPage Pgno, N U32) { /* sqlite3.c:76234:13: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -51098,7 +51117,7 @@ func checkList(tls *libc.TLS, pCheck uintptr, isFreeList int32, iPage Pgno, N U3 // entry represents the span of a cell or freeblock on a btree page. // The upper 16 bits are the index of the first byte of a range and the // lower 16 bits are the index of the last byte of that range. -func btreeHeapInsert(tls *libc.TLS, aHeap uintptr, x U32) { /* sqlite3.c:76310:13: */ +func btreeHeapInsert(tls *libc.TLS, aHeap uintptr, x U32) { /* sqlite3.c:76323:13: */ var j U32 var i U32 = libc.PreIncUint32(&*(*U32)(unsafe.Pointer(aHeap)), 1) *(*U32)(unsafe.Pointer(aHeap + uintptr(i)*4)) = x @@ -51110,7 +51129,7 @@ func btreeHeapInsert(tls *libc.TLS, aHeap uintptr, x U32) { /* sqlite3.c:76310:1 } } -func btreeHeapPull(tls *libc.TLS, aHeap uintptr, pOut uintptr) int32 { /* sqlite3.c:76320:12: */ +func btreeHeapPull(tls *libc.TLS, aHeap uintptr, pOut uintptr) int32 { /* sqlite3.c:76333:12: */ var j U32 var i U32 var x U32 @@ -51149,7 +51168,7 @@ func btreeHeapPull(tls *libc.TLS, aHeap uintptr, pOut uintptr) int32 { /* sqlite // 3. Check the integrity of overflow pages. // 4. Recursively call checkTreePage on all children. // 5. Verify that the depth of all children is the same. -func checkTreePage(tls *libc.TLS, pCheck uintptr, iPage Pgno, piMinKey uintptr, maxKey I64) int32 { /* sqlite3.c:76354:12: */ +func checkTreePage(tls *libc.TLS, pCheck uintptr, iPage Pgno, piMinKey uintptr, maxKey I64) int32 { /* sqlite3.c:76367:12: */ bp := tls.Alloc(140) defer tls.Free(140) *(*I64)(unsafe.Pointer(bp + 104)) = maxKey @@ -51538,7 +51557,7 @@ __34: // since obviously it is not possible to know which pages are covered by // the unverified btrees. Except, if aRoot[1] is 1, then the freelist // checks are still performed. -func Xsqlite3BtreeIntegrityCheck(tls *libc.TLS, db uintptr, p uintptr, aRoot uintptr, nRoot int32, mxErr int32, pnErr uintptr) uintptr { /* sqlite3.c:76633:21: */ +func Xsqlite3BtreeIntegrityCheck(tls *libc.TLS, db uintptr, p uintptr, aRoot uintptr, nRoot int32, mxErr int32, pnErr uintptr) uintptr { /* sqlite3.c:76646:21: */ bp := tls.Alloc(248) defer tls.Free(248) @@ -51772,7 +51791,7 @@ __29: // // The pager filename is invariant as long as the pager is // open so it is safe to access without the BtShared mutex. -func Xsqlite3BtreeGetFilename(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:76788:27: */ +func Xsqlite3BtreeGetFilename(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:76801:27: */ return Xsqlite3PagerFilename(tls, (*BtShared)(unsafe.Pointer((*Btree)(unsafe.Pointer(p)).FpBt)).FpPager, 1) } @@ -51783,14 +51802,14 @@ func Xsqlite3BtreeGetFilename(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:7 // // The pager journal filename is invariant as long as the pager is // open so it is safe to access without the BtShared mutex. -func Xsqlite3BtreeGetJournalname(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:76801:27: */ +func Xsqlite3BtreeGetJournalname(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:76814:27: */ return Xsqlite3PagerJournalname(tls, (*BtShared)(unsafe.Pointer((*Btree)(unsafe.Pointer(p)).FpBt)).FpPager) } // Return one of SQLITE_TXN_NONE, SQLITE_TXN_READ, or SQLITE_TXN_WRITE // to describe the current transaction state of Btree p. -func Xsqlite3BtreeTxnState(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:76810:20: */ +func Xsqlite3BtreeTxnState(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:76823:20: */ if p != 0 { return int32((*Btree)(unsafe.Pointer(p)).FinTrans) @@ -51804,7 +51823,7 @@ func Xsqlite3BtreeTxnState(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:76810: // transaction on the shared-cache the argument Btree is connected to. // // Parameter eMode is one of SQLITE_CHECKPOINT_PASSIVE, FULL or RESTART. -func Xsqlite3BtreeCheckpoint(tls *libc.TLS, p uintptr, eMode int32, pnLog uintptr, pnCkpt uintptr) int32 { /* sqlite3.c:76824:20: */ +func Xsqlite3BtreeCheckpoint(tls *libc.TLS, p uintptr, eMode int32, pnLog uintptr, pnCkpt uintptr) int32 { /* sqlite3.c:76837:20: */ var rc int32 = SQLITE_OK if p != 0 { var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt @@ -51820,7 +51839,7 @@ func Xsqlite3BtreeCheckpoint(tls *libc.TLS, p uintptr, eMode int32, pnLog uintpt } // Return true if there is currently a backup running on Btree p. -func Xsqlite3BtreeIsInBackup(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:76843:20: */ +func Xsqlite3BtreeIsInBackup(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:76856:20: */ return libc.Bool32((*Btree)(unsafe.Pointer(p)).FnBackup != 0) } @@ -51843,7 +51862,7 @@ func Xsqlite3BtreeIsInBackup(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:7684 // xFree argument when the memory allocation was made is invoked on the // blob of allocated memory. The xFree function should not call sqlite3_free() // on the memory, the btree layer does that. -func Xsqlite3BtreeSchema(tls *libc.TLS, p uintptr, nBytes int32, xFree uintptr) uintptr { /* sqlite3.c:76869:21: */ +func Xsqlite3BtreeSchema(tls *libc.TLS, p uintptr, nBytes int32, xFree uintptr) uintptr { /* sqlite3.c:76882:21: */ var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt Xsqlite3BtreeEnter(tls, p) if !(int32((*BtShared)(unsafe.Pointer(pBt)).FpSchema) != 0) && nBytes != 0 { @@ -51857,7 +51876,7 @@ func Xsqlite3BtreeSchema(tls *libc.TLS, p uintptr, nBytes int32, xFree uintptr) // Return SQLITE_LOCKED_SHAREDCACHE if another user of the same shared // btree as the argument handle holds an exclusive lock on the // sqlite_schema table. Otherwise SQLITE_OK. -func Xsqlite3BtreeSchemaLocked(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:76885:20: */ +func Xsqlite3BtreeSchemaLocked(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:76898:20: */ var rc int32 Xsqlite3BtreeEnter(tls, p) @@ -51870,7 +51889,7 @@ func Xsqlite3BtreeSchemaLocked(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:76 // Obtain a lock on the table whose root page is iTab. The // lock is a write lock if isWritelock is true or a read lock // if it is false. -func Xsqlite3BtreeLockTable(tls *libc.TLS, p uintptr, iTab int32, isWriteLock U8) int32 { /* sqlite3.c:76902:20: */ +func Xsqlite3BtreeLockTable(tls *libc.TLS, p uintptr, iTab int32, isWriteLock U8) int32 { /* sqlite3.c:76915:20: */ var rc int32 = SQLITE_OK if (*Btree)(unsafe.Pointer(p)).Fsharable != 0 { @@ -51894,7 +51913,7 @@ func Xsqlite3BtreeLockTable(tls *libc.TLS, p uintptr, iTab int32, isWriteLock U8 // change the length of the data stored. If this function is called with // parameters that attempt to write past the end of the existing data, // no modifications are made and SQLITE_CORRUPT is returned. -func Xsqlite3BtreePutData(tls *libc.TLS, pCsr uintptr, offset U32, amt U32, z uintptr) int32 { /* sqlite3.c:76932:20: */ +func Xsqlite3BtreePutData(tls *libc.TLS, pCsr uintptr, offset U32, amt U32, z uintptr) int32 { /* sqlite3.c:76945:20: */ var rc int32 rc = func() int32 { @@ -51934,7 +51953,7 @@ func Xsqlite3BtreePutData(tls *libc.TLS, pCsr uintptr, offset U32, amt U32, z ui } // Mark this cursor as an incremental blob cursor. -func Xsqlite3BtreeIncrblobCursor(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:76980:21: */ +func Xsqlite3BtreeIncrblobCursor(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:76993:21: */ *(*U8)(unsafe.Pointer(pCur + 1)) |= U8(BTCF_Incrblob) (*Btree)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pCur)).FpBtree)).FhasIncrblobCur = U8(1) } @@ -51942,7 +51961,7 @@ func Xsqlite3BtreeIncrblobCursor(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:769 // Set both the "read version" (single byte at byte offset 18) and // "write version" (single byte at byte offset 19) fields in the database // header to iVersion. -func Xsqlite3BtreeSetVersion(tls *libc.TLS, pBtree uintptr, iVersion int32) int32 { /* sqlite3.c:76991:20: */ +func Xsqlite3BtreeSetVersion(tls *libc.TLS, pBtree uintptr, iVersion int32) int32 { /* sqlite3.c:77004:20: */ var pBt uintptr = (*Btree)(unsafe.Pointer(pBtree)).FpBt var rc int32 // Return code @@ -51974,29 +51993,29 @@ func Xsqlite3BtreeSetVersion(tls *libc.TLS, pBtree uintptr, iVersion int32) int3 // Return true if the cursor has a hint specified. This routine is // only used from within assert() statements -func Xsqlite3BtreeCursorHasHint(tls *libc.TLS, pCsr uintptr, mask uint32) int32 { /* sqlite3.c:77026:20: */ +func Xsqlite3BtreeCursorHasHint(tls *libc.TLS, pCsr uintptr, mask uint32) int32 { /* sqlite3.c:77039:20: */ return libc.Bool32(uint32((*BtCursor)(unsafe.Pointer(pCsr)).Fhints)&mask != uint32(0)) } // Return true if the given Btree is read-only. -func Xsqlite3BtreeIsReadonly(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:77033:20: */ +func Xsqlite3BtreeIsReadonly(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:77046:20: */ return libc.Bool32(int32((*BtShared)(unsafe.Pointer((*Btree)(unsafe.Pointer(p)).FpBt)).FbtsFlags)&BTS_READ_ONLY != 0) } // Return the size of the header added to each page by this module. -func Xsqlite3HeaderSizeBtree(tls *libc.TLS) int32 { /* sqlite3.c:77040:20: */ +func Xsqlite3HeaderSizeBtree(tls *libc.TLS) int32 { /* sqlite3.c:77053:20: */ return int32((uint64(unsafe.Sizeof(MemPage{})) + uint64(7)) & libc.Uint64FromInt32(libc.CplInt32(7))) } // Return true if the Btree passed as the only argument is sharable. -func Xsqlite3BtreeSharable(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:77046:20: */ +func Xsqlite3BtreeSharable(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:77059:20: */ return int32((*Btree)(unsafe.Pointer(p)).Fsharable) } // Return the number of connections to the BtShared object accessed by // the Btree handle passed as the only argument. For private caches // this is always 1. For shared caches it may be 1 or greater. -func Xsqlite3BtreeConnectionCount(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:77055:20: */ +func Xsqlite3BtreeConnectionCount(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:77068:20: */ return (*BtShared)(unsafe.Pointer((*Btree)(unsafe.Pointer(p)).FpBt)).FnRef } @@ -52036,7 +52055,7 @@ func Xsqlite3BtreeConnectionCount(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c // If the "temp" database is requested, it may need to be opened by this // function. If an error occurs while doing so, return 0 and write an // error message to pErrorDb. -func findBtree(tls *libc.TLS, pErrorDb uintptr, pDb uintptr, zDb uintptr) uintptr { /* sqlite3.c:77144:14: */ +func findBtree(tls *libc.TLS, pErrorDb uintptr, pDb uintptr, zDb uintptr) uintptr { /* sqlite3.c:77157:14: */ bp := tls.Alloc(424) defer tls.Free(424) @@ -52068,7 +52087,7 @@ func findBtree(tls *libc.TLS, pErrorDb uintptr, pDb uintptr, zDb uintptr) uintpt // Attempt to set the page size of the destination to match the page size // of the source. -func setDestPgsz(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:77174:12: */ +func setDestPgsz(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:77187:12: */ var rc int32 rc = Xsqlite3BtreeSetPageSize(tls, (*Sqlite3_backup)(unsafe.Pointer(p)).FpDest, Xsqlite3BtreeGetPageSize(tls, (*Sqlite3_backup)(unsafe.Pointer(p)).FpSrc), 0, 0) return rc @@ -52078,7 +52097,7 @@ func setDestPgsz(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:77174:12: */ // second argument. If there is not, return SQLITE_OK. Otherwise, if there // is an open read-transaction, return SQLITE_ERROR and leave an error // message in database handle db. -func checkReadTransaction(tls *libc.TLS, db uintptr, p uintptr) int32 { /* sqlite3.c:77186:12: */ +func checkReadTransaction(tls *libc.TLS, db uintptr, p uintptr) int32 { /* sqlite3.c:77199:12: */ if Xsqlite3BtreeTxnState(tls, p) != SQLITE_TXN_NONE { Xsqlite3ErrorWithMsg(tls, db, SQLITE_ERROR, ts+4789, 0) return SQLITE_ERROR @@ -52092,7 +52111,7 @@ func checkReadTransaction(tls *libc.TLS, db uintptr, p uintptr) int32 { /* sqlit // // If an error occurs, NULL is returned and an error code and error message // stored in database handle pDestDb. -func Xsqlite3_backup_init(tls *libc.TLS, pDestDb uintptr, zDestDb uintptr, pSrcDb uintptr, zSrcDb uintptr) uintptr { /* sqlite3.c:77202:27: */ +func Xsqlite3_backup_init(tls *libc.TLS, pDestDb uintptr, zDestDb uintptr, pSrcDb uintptr, zSrcDb uintptr) uintptr { /* sqlite3.c:77215:27: */ var p uintptr // Value to return // Lock the source database handle. The destination database @@ -52152,14 +52171,14 @@ func Xsqlite3_backup_init(tls *libc.TLS, pDestDb uintptr, zDestDb uintptr, pSrcD // Argument rc is an SQLite error code. Return true if this error is // considered fatal if encountered during a backup operation. All errors // are considered fatal except for SQLITE_BUSY and SQLITE_LOCKED. -func isFatalError(tls *libc.TLS, rc int32) int32 { /* sqlite3.c:77279:12: */ +func isFatalError(tls *libc.TLS, rc int32) int32 { /* sqlite3.c:77292:12: */ return libc.Bool32(rc != SQLITE_OK && rc != SQLITE_BUSY && rc != SQLITE_LOCKED) } // Parameter zSrcData points to a buffer containing the data for // page iSrcPg from the source database. Copy this data into the // destination database. -func backupOnePage(tls *libc.TLS, p uintptr, iSrcPg Pgno, zSrcData uintptr, bUpdate int32) int32 { /* sqlite3.c:77288:12: */ +func backupOnePage(tls *libc.TLS, p uintptr, iSrcPg Pgno, zSrcData uintptr, bUpdate int32) int32 { /* sqlite3.c:77301:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -52221,7 +52240,7 @@ func backupOnePage(tls *libc.TLS, p uintptr, iSrcPg Pgno, zSrcData uintptr, bUpd // // Return SQLITE_OK if everything is successful, or an SQLite error // code if an error occurs. -func backupTruncateFile(tls *libc.TLS, pFile uintptr, iSize I64) int32 { /* sqlite3.c:77357:12: */ +func backupTruncateFile(tls *libc.TLS, pFile uintptr, iSize I64) int32 { /* sqlite3.c:77370:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -52236,7 +52255,7 @@ func backupTruncateFile(tls *libc.TLS, pFile uintptr, iSize I64) int32 { /* sqli // Register this backup object with the associated source pager for // callbacks when pages are changed or the cache invalidated. -func attachBackupObject(tls *libc.TLS, p uintptr) { /* sqlite3.c:77370:13: */ +func attachBackupObject(tls *libc.TLS, p uintptr) { /* sqlite3.c:77383:13: */ var pp uintptr pp = Xsqlite3PagerBackupPtr(tls, Xsqlite3BtreePager(tls, (*Sqlite3_backup)(unsafe.Pointer(p)).FpSrc)) @@ -52246,7 +52265,7 @@ func attachBackupObject(tls *libc.TLS, p uintptr) { /* sqlite3.c:77370:13: */ } // Copy nPage pages from the source b-tree to the destination. -func Xsqlite3_backup_step(tls *libc.TLS, p uintptr, nPage int32) int32 { /* sqlite3.c:77382:16: */ +func Xsqlite3_backup_step(tls *libc.TLS, p uintptr, nPage int32) int32 { /* sqlite3.c:77395:16: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -52484,7 +52503,7 @@ func Xsqlite3_backup_step(tls *libc.TLS, p uintptr, nPage int32) int32 { /* sqli } // Release all resources associated with an sqlite3_backup* handle. -func Xsqlite3_backup_finish(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:77636:16: */ +func Xsqlite3_backup_finish(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:77649:16: */ var pp uintptr // Ptr to head of pagers backup list var pSrcDb uintptr // Source database connection var rc int32 // Value to return @@ -52542,13 +52561,13 @@ func Xsqlite3_backup_finish(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:77636 // Return the number of pages still to be backed up as of the most recent // call to sqlite3_backup_step(). -func Xsqlite3_backup_remaining(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:77690:16: */ +func Xsqlite3_backup_remaining(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:77703:16: */ return int32((*Sqlite3_backup)(unsafe.Pointer(p)).FnRemaining) } // Return the total number of pages in the source database as of the most // recent call to sqlite3_backup_step(). -func Xsqlite3_backup_pagecount(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:77704:16: */ +func Xsqlite3_backup_pagecount(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:77717:16: */ return int32((*Sqlite3_backup)(unsafe.Pointer(p)).FnPagecount) } @@ -52562,7 +52581,7 @@ func Xsqlite3_backup_pagecount(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:77 // It is assumed that the mutex associated with the BtShared object // corresponding to the source database is held when this function is // called. -func backupUpdate(tls *libc.TLS, p uintptr, iPage Pgno, aData uintptr) { /* sqlite3.c:77726:29: */ +func backupUpdate(tls *libc.TLS, p uintptr, iPage Pgno, aData uintptr) { /* sqlite3.c:77739:29: */ for __ccgo := true; __ccgo; __ccgo = libc.AssignUintptr(&p, (*Sqlite3_backup)(unsafe.Pointer(p)).FpNext) != uintptr(0) { @@ -52583,7 +52602,7 @@ func backupUpdate(tls *libc.TLS, p uintptr, iPage Pgno, aData uintptr) { /* sqli } } -func Xsqlite3BackupUpdate(tls *libc.TLS, pBackup uintptr, iPage Pgno, aData uintptr) { /* sqlite3.c:77751:21: */ +func Xsqlite3BackupUpdate(tls *libc.TLS, pBackup uintptr, iPage Pgno, aData uintptr) { /* sqlite3.c:77764:21: */ if pBackup != 0 { backupUpdate(tls, pBackup, iPage, aData) } @@ -52598,7 +52617,7 @@ func Xsqlite3BackupUpdate(tls *libc.TLS, pBackup uintptr, iPage Pgno, aData uint // It is assumed that the mutex associated with the BtShared object // corresponding to the source database is held when this function is // called. -func Xsqlite3BackupRestart(tls *libc.TLS, pBackup uintptr) { /* sqlite3.c:77766:21: */ +func Xsqlite3BackupRestart(tls *libc.TLS, pBackup uintptr) { /* sqlite3.c:77779:21: */ var p uintptr // Iterator variable for p = pBackup; p != 0; p = (*Sqlite3_backup)(unsafe.Pointer(p)).FpNext { @@ -52612,7 +52631,7 @@ func Xsqlite3BackupRestart(tls *libc.TLS, pBackup uintptr) { /* sqlite3.c:77766: // The size of file pTo may be reduced by this operation. If anything // goes wrong, the transaction on pTo is rolled back. If successful, the // transaction is committed before returning. -func Xsqlite3BtreeCopyFile(tls *libc.TLS, pTo uintptr, pFrom uintptr) int32 { /* sqlite3.c:77783:20: */ +func Xsqlite3BtreeCopyFile(tls *libc.TLS, pTo uintptr, pFrom uintptr) int32 { /* sqlite3.c:77796:20: */ bp := tls.Alloc(80) defer tls.Free(80) @@ -52706,7 +52725,7 @@ copy_finished: // Render a Mem object which is one of MEM_Int, MEM_Real, or MEM_IntReal // into a buffer. -func vdbeMemRenderNum(tls *libc.TLS, sz int32, zBuf uintptr, p uintptr) { /* sqlite3.c:77941:13: */ +func vdbeMemRenderNum(tls *libc.TLS, sz int32, zBuf uintptr, p uintptr) { /* sqlite3.c:77954:13: */ bp := tls.Alloc(40) defer tls.Free(40) @@ -52739,7 +52758,7 @@ func vdbeMemRenderNum(tls *libc.TLS, sz int32, zBuf uintptr, p uintptr) { /* sql // SQLITE_OK is returned if the conversion is successful (or not required). // SQLITE_NOMEM may be returned if a malloc() fails during conversion // between formats. -func Xsqlite3VdbeChangeEncoding(tls *libc.TLS, pMem uintptr, desiredEnc int32) int32 { /* sqlite3.c:78034:20: */ +func Xsqlite3VdbeChangeEncoding(tls *libc.TLS, pMem uintptr, desiredEnc int32) int32 { /* sqlite3.c:78047:20: */ var rc int32 if !(int32((*Mem)(unsafe.Pointer(pMem)).Fflags)&MEM_Str != 0) || int32((*Mem)(unsafe.Pointer(pMem)).Fenc) == desiredEnc { @@ -52759,7 +52778,7 @@ func Xsqlite3VdbeChangeEncoding(tls *libc.TLS, pMem uintptr, desiredEnc int32) i // pMem->z into the new allocation. pMem must be either a string or // blob if bPreserve is true. If bPreserve is false, any prior content // in pMem->z is discarded. -func Xsqlite3VdbeMemGrow(tls *libc.TLS, pMem uintptr, n int32, bPreserve int32) int32 { /* sqlite3.c:78069:36: */ +func Xsqlite3VdbeMemGrow(tls *libc.TLS, pMem uintptr, n int32, bPreserve int32) int32 { /* sqlite3.c:78082:36: */ // If the bPreserve flag is set to true, then the memory cell must already // contain a valid string or blob value. @@ -52815,7 +52834,7 @@ func Xsqlite3VdbeMemGrow(tls *libc.TLS, pMem uintptr, n int32, bPreserve int32) // // Return SQLITE_OK on success or an error code (probably SQLITE_NOMEM) // if unable to complete the resizing. -func Xsqlite3VdbeMemClearAndResize(tls *libc.TLS, pMem uintptr, szNew int32) int32 { /* sqlite3.c:78132:20: */ +func Xsqlite3VdbeMemClearAndResize(tls *libc.TLS, pMem uintptr, szNew int32) int32 { /* sqlite3.c:78145:20: */ if (*Mem)(unsafe.Pointer(pMem)).FszMalloc < szNew { return Xsqlite3VdbeMemGrow(tls, pMem, szNew, 0) @@ -52833,7 +52852,7 @@ func Xsqlite3VdbeMemClearAndResize(tls *libc.TLS, pMem uintptr, szNew int32) int // to be a double-zero byte at an even byte boundary in order to // terminate a UTF16 string, even if the initial size of the buffer // is an odd number of bytes. -func vdbeMemAddTerminator(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c:78153:28: */ +func vdbeMemAddTerminator(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c:78166:28: */ if Xsqlite3VdbeMemGrow(tls, pMem, (*Mem)(unsafe.Pointer(pMem)).Fn+3, 1) != 0 { return SQLITE_NOMEM } @@ -52848,7 +52867,7 @@ func vdbeMemAddTerminator(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c:7815 // MEM.zMalloc, where it can be safely written. // // Return SQLITE_OK on success or SQLITE_NOMEM if malloc fails. -func Xsqlite3VdbeMemMakeWriteable(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c:78170:20: */ +func Xsqlite3VdbeMemMakeWriteable(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c:78183:20: */ if int32((*Mem)(unsafe.Pointer(pMem)).Fflags)&(MEM_Str|MEM_Blob) != 0 { if func() int32 { @@ -52873,7 +52892,7 @@ func Xsqlite3VdbeMemMakeWriteable(tls *libc.TLS, pMem uintptr) int32 { /* sqlite // If the given Mem* has a zero-filled tail, turn it into an ordinary // blob stored in dynamically allocated space. -func Xsqlite3VdbeMemExpandBlob(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c:78194:20: */ +func Xsqlite3VdbeMemExpandBlob(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c:78207:20: */ var nByte int32 // Set nByte to the number of bytes required to store the expanded blob. @@ -52895,7 +52914,7 @@ func Xsqlite3VdbeMemExpandBlob(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c } // Make sure the given Mem is \u0000 terminated. -func Xsqlite3VdbeMemNulTerminate(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c:78225:20: */ +func Xsqlite3VdbeMemNulTerminate(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c:78238:20: */ if int32((*Mem)(unsafe.Pointer(pMem)).Fflags)&(MEM_Term|MEM_Str) != MEM_Str { return SQLITE_OK // Nothing to do @@ -52917,7 +52936,7 @@ func Xsqlite3VdbeMemNulTerminate(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3 // sqlite3_value_text()), or for ensuring that values to be used as btree // keys are strings. In the former case a NULL pointer is returned the // user and the latter is an internal programming error. -func Xsqlite3VdbeMemStringify(tls *libc.TLS, pMem uintptr, enc U8, bForce U8) int32 { /* sqlite3.c:78251:20: */ +func Xsqlite3VdbeMemStringify(tls *libc.TLS, pMem uintptr, enc U8, bForce U8) int32 { /* sqlite3.c:78264:20: */ var nByte int32 = 32 if Xsqlite3VdbeMemClearAndResize(tls, pMem, nByte) != 0 { @@ -52943,7 +52962,7 @@ func Xsqlite3VdbeMemStringify(tls *libc.TLS, pMem uintptr, enc U8, bForce U8) in // // Return SQLITE_ERROR if the finalizer reports an error. SQLITE_OK // otherwise. -func Xsqlite3VdbeMemFinalize(tls *libc.TLS, pMem uintptr, pFunc uintptr) int32 { /* sqlite3.c:78286:20: */ +func Xsqlite3VdbeMemFinalize(tls *libc.TLS, pMem uintptr, pFunc uintptr) int32 { /* sqlite3.c:78299:20: */ bp := tls.Alloc(112) defer tls.Free(112) @@ -52973,7 +52992,7 @@ func Xsqlite3VdbeMemFinalize(tls *libc.TLS, pMem uintptr, pFunc uintptr) int32 { // // SQLITE_ERROR is returned if xValue() reports an error. SQLITE_OK // otherwise. -func Xsqlite3VdbeMemAggValue(tls *libc.TLS, pAccum uintptr, pOut uintptr, pFunc uintptr) int32 { /* sqlite3.c:78317:20: */ +func Xsqlite3VdbeMemAggValue(tls *libc.TLS, pAccum uintptr, pOut uintptr, pFunc uintptr) int32 { /* sqlite3.c:78330:20: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -52995,7 +53014,7 @@ func Xsqlite3VdbeMemAggValue(tls *libc.TLS, pAccum uintptr, pOut uintptr, pFunc // This is a helper routine for sqlite3VdbeMemSetNull() and // for sqlite3VdbeMemRelease(). Use those other routines as the // entry point for releasing Mem resources. -func vdbeMemClearExternAndSetNull(tls *libc.TLS, p uintptr) { /* sqlite3.c:78342:29: */ +func vdbeMemClearExternAndSetNull(tls *libc.TLS, p uintptr) { /* sqlite3.c:78355:29: */ if int32((*Mem)(unsafe.Pointer(p)).Fflags)&MEM_Agg != 0 { Xsqlite3VdbeMemFinalize(tls, p, *(*uintptr)(unsafe.Pointer(p))) @@ -53014,7 +53033,7 @@ func vdbeMemClearExternAndSetNull(tls *libc.TLS, p uintptr) { /* sqlite3.c:78342 // This is a helper routine invoked by sqlite3VdbeMemRelease() in // the unusual case where there really is memory in p that needs // to be freed. -func vdbeMemClear(tls *libc.TLS, p uintptr) { /* sqlite3.c:78365:29: */ +func vdbeMemClear(tls *libc.TLS, p uintptr) { /* sqlite3.c:78378:29: */ if int32((*Mem)(unsafe.Pointer(p)).Fflags)&(MEM_Agg|MEM_Dyn) != 0 { vdbeMemClearExternAndSetNull(tls, p) } @@ -53033,7 +53052,7 @@ func vdbeMemClear(tls *libc.TLS, p uintptr) { /* sqlite3.c:78365:29: */ // // Use sqlite3VdbeMemSetNull() to release just the Mem.xDel space // prior to inserting new content into the Mem. -func Xsqlite3VdbeMemRelease(tls *libc.TLS, p uintptr) { /* sqlite3.c:78386:21: */ +func Xsqlite3VdbeMemRelease(tls *libc.TLS, p uintptr) { /* sqlite3.c:78399:21: */ if int32((*Mem)(unsafe.Pointer(p)).Fflags)&(MEM_Agg|MEM_Dyn) != 0 || (*Mem)(unsafe.Pointer(p)).FszMalloc != 0 { vdbeMemClear(tls, p) @@ -53043,7 +53062,7 @@ func Xsqlite3VdbeMemRelease(tls *libc.TLS, p uintptr) { /* sqlite3.c:78386:21: * // Convert a 64-bit IEEE double into a 64-bit signed integer. // If the double is out of range of a 64-bit signed integer then // return the closest available 64-bit signed integer. -func doubleToInt64(tls *libc.TLS, r float64) I64 { /* sqlite3.c:78398:28: */ +func doubleToInt64(tls *libc.TLS, r float64) I64 { /* sqlite3.c:78411:28: */ if r <= float64(minInt) { return minInt @@ -53055,8 +53074,8 @@ func doubleToInt64(tls *libc.TLS, r float64) I64 { /* sqlite3.c:78398:28: */ return I64(0) } -var maxInt I64 = int64(0xffffffff) | I64(int64(0x7fffffff))<<32 /* sqlite3.c:78410:20 */ -var minInt I64 = int64(-1) - (int64(0xffffffff) | I64(int64(0x7fffffff))<<32) /* sqlite3.c:78411:20 */ +var maxInt I64 = int64(0xffffffff) | I64(int64(0x7fffffff))<<32 /* sqlite3.c:78423:20 */ +var minInt I64 = int64(-1) - (int64(0xffffffff) | I64(int64(0x7fffffff))<<32) /* sqlite3.c:78424:20 */ // Return some kind of integer value which is the best we can do // at representing the value that *pMem describes as an integer. @@ -53067,7 +53086,7 @@ var minInt I64 = int64(-1) - (int64(0xffffffff) | I64(int64(0x7fffffff))<<32) /* // an SQL-NULL value, return 0. // // If pMem represents a string value, its encoding might be changed. -func memIntValue(tls *libc.TLS, pMem uintptr) I64 { /* sqlite3.c:78434:28: */ +func memIntValue(tls *libc.TLS, pMem uintptr) I64 { /* sqlite3.c:78447:28: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -53076,7 +53095,7 @@ func memIntValue(tls *libc.TLS, pMem uintptr) I64 { /* sqlite3.c:78434:28: */ return *(*I64)(unsafe.Pointer(bp /* value */)) } -func Xsqlite3VdbeIntValue(tls *libc.TLS, pMem uintptr) I64 { /* sqlite3.c:78439:20: */ +func Xsqlite3VdbeIntValue(tls *libc.TLS, pMem uintptr) I64 { /* sqlite3.c:78452:20: */ var flags int32 flags = int32((*Mem)(unsafe.Pointer(pMem)).Fflags) @@ -53097,7 +53116,7 @@ func Xsqlite3VdbeIntValue(tls *libc.TLS, pMem uintptr) I64 { /* sqlite3.c:78439: // double. If pMem is already a double or an integer, return its // value. If it is a string or blob, try to convert it to a double. // If it is a NULL, return 0.0. -func memRealValue(tls *libc.TLS, pMem uintptr) float64 { /* sqlite3.c:78463:31: */ +func memRealValue(tls *libc.TLS, pMem uintptr) float64 { /* sqlite3.c:78476:31: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -53107,7 +53126,7 @@ func memRealValue(tls *libc.TLS, pMem uintptr) float64 { /* sqlite3.c:78463:31: return *(*float64)(unsafe.Pointer(bp /* val */)) } -func Xsqlite3VdbeRealValue(tls *libc.TLS, pMem uintptr) float64 { /* sqlite3.c:78469:23: */ +func Xsqlite3VdbeRealValue(tls *libc.TLS, pMem uintptr) float64 { /* sqlite3.c:78482:23: */ if int32((*Mem)(unsafe.Pointer(pMem)).Fflags)&MEM_Real != 0 { return *(*float64)(unsafe.Pointer(pMem)) @@ -53125,7 +53144,7 @@ func Xsqlite3VdbeRealValue(tls *libc.TLS, pMem uintptr) float64 { /* sqlite3.c:7 // Return 1 if pMem represents true, and return 0 if pMem represents false. // Return the value ifNull if pMem is NULL. -func Xsqlite3VdbeBooleanValue(tls *libc.TLS, pMem uintptr, ifNull int32) int32 { /* sqlite3.c:78490:20: */ +func Xsqlite3VdbeBooleanValue(tls *libc.TLS, pMem uintptr, ifNull int32) int32 { /* sqlite3.c:78503:20: */ if int32((*Mem)(unsafe.Pointer(pMem)).Fflags)&(MEM_Int|MEM_IntReal) != 0 { return libc.Bool32(*(*I64)(unsafe.Pointer(pMem)) != int64(0)) @@ -53138,7 +53157,7 @@ func Xsqlite3VdbeBooleanValue(tls *libc.TLS, pMem uintptr, ifNull int32) int32 { // The MEM structure is already a MEM_Real. Try to also make it a // MEM_Int if we can. -func Xsqlite3VdbeIntegerAffinity(tls *libc.TLS, pMem uintptr) { /* sqlite3.c:78501:21: */ +func Xsqlite3VdbeIntegerAffinity(tls *libc.TLS, pMem uintptr) { /* sqlite3.c:78514:21: */ var ix I64 ix = doubleToInt64(tls, *(*float64)(unsafe.Pointer(pMem))) @@ -53159,7 +53178,7 @@ func Xsqlite3VdbeIntegerAffinity(tls *libc.TLS, pMem uintptr) { /* sqlite3.c:785 } // Convert pMem to type integer. Invalidate any prior representations. -func Xsqlite3VdbeMemIntegerify(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c:78530:20: */ +func Xsqlite3VdbeMemIntegerify(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c:78543:20: */ *(*I64)(unsafe.Pointer(pMem)) = Xsqlite3VdbeIntValue(tls, pMem) (*Mem)(unsafe.Pointer(pMem)).Fflags = U16(int32((*Mem)(unsafe.Pointer(pMem)).Fflags)&libc.CplInt32(MEM_TypeMask|MEM_Zero) | MEM_Int) @@ -53168,7 +53187,7 @@ func Xsqlite3VdbeMemIntegerify(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c // Convert pMem so that it is of type MEM_Real. // Invalidate any prior representations. -func Xsqlite3VdbeMemRealify(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c:78545:20: */ +func Xsqlite3VdbeMemRealify(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c:78558:20: */ *(*float64)(unsafe.Pointer(pMem)) = Xsqlite3VdbeRealValue(tls, pMem) (*Mem)(unsafe.Pointer(pMem)).Fflags = U16(int32((*Mem)(unsafe.Pointer(pMem)).Fflags)&libc.CplInt32(MEM_TypeMask|MEM_Zero) | MEM_Real) @@ -53183,7 +53202,7 @@ func Xsqlite3VdbeMemRealify(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c:78 // For some versions of GCC on 32-bit machines, if you do the more obvious // comparison of "r1==(double)i" you sometimes get an answer of false even // though the r1 and (double)i values are bit-for-bit the same. -func Xsqlite3RealSameAsInt(tls *libc.TLS, r1 float64, i Sqlite3_int64) int32 { /* sqlite3.c:78564:20: */ +func Xsqlite3RealSameAsInt(tls *libc.TLS, r1 float64, i Sqlite3_int64) int32 { /* sqlite3.c:78577:20: */ bp := tls.Alloc(16) defer tls.Free(16) *(*float64)(unsafe.Pointer(bp)) = r1 @@ -53200,7 +53219,7 @@ func Xsqlite3RealSameAsInt(tls *libc.TLS, r1 float64, i Sqlite3_int64) int32 { / // Every effort is made to force the conversion, even if the input // is a string that does not look completely like a number. Convert // as much of the string as we can and ignore the rest. -func Xsqlite3VdbeMemNumerify(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c:78579:20: */ +func Xsqlite3VdbeMemNumerify(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c:78592:20: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -53227,7 +53246,7 @@ func Xsqlite3VdbeMemNumerify(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c:7 // is forced. In other words, the value is converted into the desired // affinity even if that results in loss of data. This routine is // used (for example) to implement the SQL "cast()" operator. -func Xsqlite3VdbeMemCast(tls *libc.TLS, pMem uintptr, aff U8, encoding U8) int32 { /* sqlite3.c:78612:20: */ +func Xsqlite3VdbeMemCast(tls *libc.TLS, pMem uintptr, aff U8, encoding U8) int32 { /* sqlite3.c:78625:20: */ if int32((*Mem)(unsafe.Pointer(pMem)).Fflags)&MEM_Null != 0 { return SQLITE_OK } @@ -53281,7 +53300,7 @@ func Xsqlite3VdbeMemCast(tls *libc.TLS, pMem uintptr, aff U8, encoding U8) int32 // Initialize bulk memory to be a consistent Mem object. // // The minimum amount of initialization feasible is performed. -func Xsqlite3VdbeMemInit(tls *libc.TLS, pMem uintptr, db uintptr, flags U16) { /* sqlite3.c:78655:21: */ +func Xsqlite3VdbeMemInit(tls *libc.TLS, pMem uintptr, db uintptr, flags U16) { /* sqlite3.c:78668:21: */ (*Mem)(unsafe.Pointer(pMem)).Fflags = flags (*Mem)(unsafe.Pointer(pMem)).Fdb = db @@ -53298,7 +53317,7 @@ func Xsqlite3VdbeMemInit(tls *libc.TLS, pMem uintptr, db uintptr, flags U16) { / // Use this routine to reset the Mem prior to insert a new value. // // Use sqlite3VdbeMemRelease() to complete erase the Mem prior to abandoning it. -func Xsqlite3VdbeMemSetNull(tls *libc.TLS, pMem uintptr) { /* sqlite3.c:78675:21: */ +func Xsqlite3VdbeMemSetNull(tls *libc.TLS, pMem uintptr) { /* sqlite3.c:78688:21: */ if int32((*Mem)(unsafe.Pointer(pMem)).Fflags)&(MEM_Agg|MEM_Dyn) != 0 { vdbeMemClearExternAndSetNull(tls, pMem) } else { @@ -53306,13 +53325,13 @@ func Xsqlite3VdbeMemSetNull(tls *libc.TLS, pMem uintptr) { /* sqlite3.c:78675:21 } } -func Xsqlite3ValueSetNull(tls *libc.TLS, p uintptr) { /* sqlite3.c:78682:21: */ +func Xsqlite3ValueSetNull(tls *libc.TLS, p uintptr) { /* sqlite3.c:78695:21: */ Xsqlite3VdbeMemSetNull(tls, p) } // Delete any previous value and set the value to be a BLOB of length // n containing all zeros. -func Xsqlite3VdbeMemSetZeroBlob(tls *libc.TLS, pMem uintptr, n int32) { /* sqlite3.c:78691:21: */ +func Xsqlite3VdbeMemSetZeroBlob(tls *libc.TLS, pMem uintptr, n int32) { /* sqlite3.c:78704:21: */ Xsqlite3VdbeMemRelease(tls, pMem) (*Mem)(unsafe.Pointer(pMem)).Fflags = U16(MEM_Blob | MEM_Zero) (*Mem)(unsafe.Pointer(pMem)).Fn = 0 @@ -53327,7 +53346,7 @@ func Xsqlite3VdbeMemSetZeroBlob(tls *libc.TLS, pMem uintptr, n int32) { /* sqlit // The pMem is known to contain content that needs to be destroyed prior // to a value change. So invoke the destructor, then set the value to // a 64-bit integer. -func vdbeReleaseAndSetInt64(tls *libc.TLS, pMem uintptr, val I64) { /* sqlite3.c:78721:29: */ +func vdbeReleaseAndSetInt64(tls *libc.TLS, pMem uintptr, val I64) { /* sqlite3.c:78734:29: */ Xsqlite3VdbeMemSetNull(tls, pMem) *(*I64)(unsafe.Pointer(pMem)) = val (*Mem)(unsafe.Pointer(pMem)).Fflags = U16(MEM_Int) @@ -53335,7 +53354,7 @@ func vdbeReleaseAndSetInt64(tls *libc.TLS, pMem uintptr, val I64) { /* sqlite3.c // Delete any previous value and set the value stored in *pMem to val, // manifest type INTEGER. -func Xsqlite3VdbeMemSetInt64(tls *libc.TLS, pMem uintptr, val I64) { /* sqlite3.c:78731:21: */ +func Xsqlite3VdbeMemSetInt64(tls *libc.TLS, pMem uintptr, val I64) { /* sqlite3.c:78744:21: */ if int32((*Mem)(unsafe.Pointer(pMem)).Fflags)&(MEM_Agg|MEM_Dyn) != 0 { vdbeReleaseAndSetInt64(tls, pMem, val) } else { @@ -53345,13 +53364,13 @@ func Xsqlite3VdbeMemSetInt64(tls *libc.TLS, pMem uintptr, val I64) { /* sqlite3. } // A no-op destructor -func Xsqlite3NoopDestructor(tls *libc.TLS, p uintptr) { /* sqlite3.c:78741:21: */ +func Xsqlite3NoopDestructor(tls *libc.TLS, p uintptr) { /* sqlite3.c:78754:21: */ _ = p } // Set the value stored in *pMem should already be a NULL. // Also store a pointer to go with it. -func Xsqlite3VdbeMemSetPointer(tls *libc.TLS, pMem uintptr, pPtr uintptr, zPType uintptr, xDestructor uintptr) { /* sqlite3.c:78747:21: */ +func Xsqlite3VdbeMemSetPointer(tls *libc.TLS, pMem uintptr, pPtr uintptr, zPType uintptr, xDestructor uintptr) { /* sqlite3.c:78760:21: */ vdbeMemClear(tls, pMem) *(*uintptr)(unsafe.Pointer(pMem)) = func() uintptr { @@ -53373,7 +53392,7 @@ func Xsqlite3VdbeMemSetPointer(tls *libc.TLS, pMem uintptr, pPtr uintptr, zPType // Delete any previous value and set the value stored in *pMem to val, // manifest type REAL. -func Xsqlite3VdbeMemSetDouble(tls *libc.TLS, pMem uintptr, val float64) { /* sqlite3.c:78767:21: */ +func Xsqlite3VdbeMemSetDouble(tls *libc.TLS, pMem uintptr, val float64) { /* sqlite3.c:78780:21: */ Xsqlite3VdbeMemSetNull(tls, pMem) if !(Xsqlite3IsNaN(tls, val) != 0) { *(*float64)(unsafe.Pointer(pMem)) = val @@ -53386,7 +53405,7 @@ func Xsqlite3VdbeMemSetDouble(tls *libc.TLS, pMem uintptr, val float64) { /* sql // // Return SQLITE_OK on success and SQLITE_NOMEM if a memory allocation // error occurs. -func Xsqlite3VdbeMemSetRowSet(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c:78794:20: */ +func Xsqlite3VdbeMemSetRowSet(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c:78807:20: */ var db uintptr = (*Mem)(unsafe.Pointer(pMem)).Fdb var p uintptr @@ -53403,7 +53422,7 @@ func Xsqlite3VdbeMemSetRowSet(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c: // Return true if the Mem object contains a TEXT or BLOB that is // too large - whose size exceeds SQLITE_MAX_LENGTH. -func Xsqlite3VdbeMemTooBig(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:78812:20: */ +func Xsqlite3VdbeMemTooBig(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:78825:20: */ if int32((*Mem)(unsafe.Pointer(p)).Fflags)&(MEM_Str|MEM_Blob) != 0 { var n int32 = (*Mem)(unsafe.Pointer(p)).Fn @@ -53419,13 +53438,13 @@ func Xsqlite3VdbeMemTooBig(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:78812: // pTo are freed. The pFrom->z field is not duplicated. If // pFrom->z is used, then pTo->z points to the same thing as pFrom->z // and flags gets srcType (either MEM_Ephem or MEM_Static). -func vdbeClrCopy(tls *libc.TLS, pTo uintptr, pFrom uintptr, eType int32) { /* sqlite3.c:78868:29: */ +func vdbeClrCopy(tls *libc.TLS, pTo uintptr, pFrom uintptr, eType int32) { /* sqlite3.c:78881:29: */ vdbeMemClearExternAndSetNull(tls, pTo) Xsqlite3VdbeMemShallowCopy(tls, pTo, pFrom, eType) } -func Xsqlite3VdbeMemShallowCopy(tls *libc.TLS, pTo uintptr, pFrom uintptr, srcType int32) { /* sqlite3.c:78873:21: */ +func Xsqlite3VdbeMemShallowCopy(tls *libc.TLS, pTo uintptr, pFrom uintptr, srcType int32) { /* sqlite3.c:78886:21: */ if int32((*Mem)(unsafe.Pointer(pTo)).Fflags)&(MEM_Agg|MEM_Dyn) != 0 { vdbeClrCopy(tls, pTo, pFrom, srcType) @@ -53441,7 +53460,7 @@ func Xsqlite3VdbeMemShallowCopy(tls *libc.TLS, pTo uintptr, pFrom uintptr, srcTy // Make a full copy of pFrom into pTo. Prior contents of pTo are // freed before the copy is made. -func Xsqlite3VdbeMemCopy(tls *libc.TLS, pTo uintptr, pFrom uintptr) int32 { /* sqlite3.c:78889:20: */ +func Xsqlite3VdbeMemCopy(tls *libc.TLS, pTo uintptr, pFrom uintptr) int32 { /* sqlite3.c:78902:20: */ var rc int32 = SQLITE_OK if int32((*Mem)(unsafe.Pointer(pTo)).Fflags)&(MEM_Agg|MEM_Dyn) != 0 { @@ -53463,7 +53482,7 @@ func Xsqlite3VdbeMemCopy(tls *libc.TLS, pTo uintptr, pFrom uintptr) int32 { /* s // freed. If pFrom contains ephemeral data, a copy is made. // // pFrom contains an SQL NULL when this routine returns. -func Xsqlite3VdbeMemMove(tls *libc.TLS, pTo uintptr, pFrom uintptr) { /* sqlite3.c:78912:21: */ +func Xsqlite3VdbeMemMove(tls *libc.TLS, pTo uintptr, pFrom uintptr) { /* sqlite3.c:78925:21: */ Xsqlite3VdbeMemRelease(tls, pTo) libc.Xmemcpy(tls, pTo, pFrom, uint64(unsafe.Sizeof(Mem{}))) @@ -53484,7 +53503,7 @@ func Xsqlite3VdbeMemMove(tls *libc.TLS, pTo uintptr, pFrom uintptr) { /* sqlite3 // stored without allocating memory, then it is. If a memory allocation // is required to store the string, then value of pMem is unchanged. In // either case, SQLITE_TOOBIG is returned. -func Xsqlite3VdbeMemSetStr(tls *libc.TLS, pMem uintptr, z uintptr, n I64, enc U8, xDel uintptr) int32 { /* sqlite3.c:78938:20: */ +func Xsqlite3VdbeMemSetStr(tls *libc.TLS, pMem uintptr, z uintptr, n I64, enc U8, xDel uintptr) int32 { /* sqlite3.c:78951:20: */ var nByte I64 = n // New value for pMem->n var iLimit int32 // Maximum allowed string or blob size var flags U16 = U16(0) // New value for pMem->flags @@ -53597,11 +53616,11 @@ func Xsqlite3VdbeMemSetStr(tls *libc.TLS, pMem uintptr, z uintptr, n I64, enc U8 // // If this routine fails for any reason (malloc returns NULL or unable // to read from the disk) then the pMem is left in an inconsistent state. -func Xsqlite3VdbeMemFromBtree(tls *libc.TLS, pCur uintptr, offset U32, amt U32, pMem uintptr) int32 { /* sqlite3.c:79047:20: */ +func Xsqlite3VdbeMemFromBtree(tls *libc.TLS, pCur uintptr, offset U32, amt U32, pMem uintptr) int32 { /* sqlite3.c:79060:20: */ var rc int32 (*Mem)(unsafe.Pointer(pMem)).Fflags = U16(MEM_Null) if Xsqlite3BtreeMaxRecordSize(tls, pCur) < Sqlite3_int64(offset+amt) { - return Xsqlite3CorruptError(tls, 79056) + return Xsqlite3CorruptError(tls, 79069) } if SQLITE_OK == libc.AssignInt32(&rc, Xsqlite3VdbeMemClearAndResize(tls, pMem, int32(amt+U32(1)))) { rc = Xsqlite3BtreePayload(tls, pCur, offset, amt, (*Mem)(unsafe.Pointer(pMem)).Fz) @@ -53616,7 +53635,7 @@ func Xsqlite3VdbeMemFromBtree(tls *libc.TLS, pCur uintptr, offset U32, amt U32, return rc } -func Xsqlite3VdbeMemFromBtreeZeroOffset(tls *libc.TLS, pCur uintptr, amt U32, pMem uintptr) int32 { /* sqlite3.c:79070:20: */ +func Xsqlite3VdbeMemFromBtreeZeroOffset(tls *libc.TLS, pCur uintptr, amt U32, pMem uintptr) int32 { /* sqlite3.c:79083:20: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -53641,7 +53660,7 @@ func Xsqlite3VdbeMemFromBtreeZeroOffset(tls *libc.TLS, pCur uintptr, amt U32, pM // The pVal argument is known to be a value other than NULL. // Convert it into a string with encoding enc and return a pointer // to a zero-terminated version of that string. -func valueToText(tls *libc.TLS, pVal uintptr, enc U8) uintptr { /* sqlite3.c:79102:35: */ +func valueToText(tls *libc.TLS, pVal uintptr, enc U8) uintptr { /* sqlite3.c:79115:35: */ if int32((*Sqlite3_value)(unsafe.Pointer(pVal)).Fflags)&(MEM_Blob|MEM_Str) != 0 { if func() int32 { @@ -53686,7 +53705,7 @@ func valueToText(tls *libc.TLS, pVal uintptr, enc U8) uintptr { /* sqlite3.c:791 // (2006-02-16:) The enc value can be or-ed with SQLITE_UTF16_ALIGNED. // If that is the case, then the result must be aligned on an even byte // boundary. -func Xsqlite3ValueText(tls *libc.TLS, pVal uintptr, enc U8) uintptr { /* sqlite3.c:79145:27: */ +func Xsqlite3ValueText(tls *libc.TLS, pVal uintptr, enc U8) uintptr { /* sqlite3.c:79158:27: */ if !(pVal != 0) { return uintptr(0) } @@ -53702,7 +53721,7 @@ func Xsqlite3ValueText(tls *libc.TLS, pVal uintptr, enc U8) uintptr { /* sqlite3 } // Create a new sqlite3_value object. -func Xsqlite3ValueNew(tls *libc.TLS, db uintptr) uintptr { /* sqlite3.c:79163:30: */ +func Xsqlite3ValueNew(tls *libc.TLS, db uintptr) uintptr { /* sqlite3.c:79176:30: */ var p uintptr = Xsqlite3DbMallocZero(tls, db, uint64(unsafe.Sizeof(Mem{}))) if p != 0 { (*Mem)(unsafe.Pointer(p)).Fflags = U16(MEM_Null) @@ -53719,7 +53738,7 @@ type ValueNewStat4Ctx = struct { FppRec uintptr FiVal int32 F__ccgo_pad1 [4]byte -} /* sqlite3.c:79176:1 */ +} /* sqlite3.c:79189:1 */ // Allocate and return a pointer to a new sqlite3_value object. If // the second argument to this function is NULL, the object is allocated @@ -53730,7 +53749,7 @@ type ValueNewStat4Ctx = struct { // already been allocated, allocate the UnpackedRecord structure that // that function will return to its caller here. Then return a pointer to // an sqlite3_value within the UnpackedRecord.a[] array. -func valueNew(tls *libc.TLS, db uintptr, p uintptr) uintptr { /* sqlite3.c:79194:22: */ +func valueNew(tls *libc.TLS, db uintptr, p uintptr) uintptr { /* sqlite3.c:79207:22: */ if p != 0 { var pRec uintptr = *(*uintptr)(unsafe.Pointer((*ValueNewStat4Ctx)(unsafe.Pointer(p)).FppRec)) @@ -53786,7 +53805,7 @@ func valueNew(tls *libc.TLS, db uintptr, p uintptr) uintptr { /* sqlite3.c:79194 // If the conditions above are not met, this function returns SQLITE_OK // and sets (*ppVal) to NULL. Or, if an error occurs, (*ppVal) is set to // NULL and an SQLite error code returned. -func valueFromFunction(tls *libc.TLS, db uintptr, p uintptr, enc U8, aff U8, ppVal uintptr, pCtx uintptr) int32 { /* sqlite3.c:79256:12: */ +func valueFromFunction(tls *libc.TLS, db uintptr, p uintptr, enc U8, aff U8, ppVal uintptr, pCtx uintptr) int32 { /* sqlite3.c:79269:12: */ bp := tls.Alloc(64) defer tls.Free(64) @@ -53932,7 +53951,7 @@ __14: // has been allocated, it is freed before returning. Or, if pCtx is not // NULL, it is assumed that the caller will free any allocated object // in all cases. -func valueFromExpr(tls *libc.TLS, db uintptr, pExpr uintptr, enc U8, affinity U8, ppVal uintptr, pCtx uintptr) int32 { /* sqlite3.c:79352:12: */ +func valueFromExpr(tls *libc.TLS, db uintptr, pExpr uintptr, enc U8, affinity U8, ppVal uintptr, pCtx uintptr) int32 { /* sqlite3.c:79365:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -54180,7 +54199,7 @@ __35: // a pointer written to *ppVal. The caller is responsible for deallocating // the value by passing it to sqlite3ValueFree() later on. If the expression // cannot be converted to a value, then *ppVal is set to NULL. -func Xsqlite3ValueFromExpr(tls *libc.TLS, db uintptr, pExpr uintptr, enc U8, affinity U8, ppVal uintptr) int32 { /* sqlite3.c:79507:20: */ +func Xsqlite3ValueFromExpr(tls *libc.TLS, db uintptr, pExpr uintptr, enc U8, affinity U8, ppVal uintptr) int32 { /* sqlite3.c:79520:20: */ if pExpr != 0 { return valueFromExpr(tls, db, pExpr, enc, affinity, ppVal, uintptr(0)) } @@ -54203,7 +54222,7 @@ func Xsqlite3ValueFromExpr(tls *libc.TLS, db uintptr, pExpr uintptr, enc U8, aff // // On success, *ppVal is made to point to the extracted value. The caller // is responsible for ensuring that the value is eventually freed. -func stat4ValueFromExpr(tls *libc.TLS, pParse uintptr, pExpr uintptr, affinity U8, pAlloc uintptr, ppVal uintptr) int32 { /* sqlite3.c:79536:12: */ +func stat4ValueFromExpr(tls *libc.TLS, pParse uintptr, pExpr uintptr, affinity U8, pAlloc uintptr, ppVal uintptr) int32 { /* sqlite3.c:79549:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -54271,7 +54290,7 @@ func stat4ValueFromExpr(tls *libc.TLS, pParse uintptr, pExpr uintptr, affinity U // Unless an error is encountered, SQLITE_OK is returned. It is not an // error if a value cannot be extracted from pExpr. If an error does // occur, an SQLite error code is returned. -func Xsqlite3Stat4ProbeSetValue(tls *libc.TLS, pParse uintptr, pIdx uintptr, ppRec uintptr, pExpr uintptr, nElem int32, iVal int32, pnExtract uintptr) int32 { /* sqlite3.c:79611:20: */ +func Xsqlite3Stat4ProbeSetValue(tls *libc.TLS, pParse uintptr, pIdx uintptr, ppRec uintptr, pExpr uintptr, nElem int32, iVal int32, pnExtract uintptr) int32 { /* sqlite3.c:79624:20: */ bp := tls.Alloc(40) defer tls.Free(40) @@ -54316,7 +54335,7 @@ func Xsqlite3Stat4ProbeSetValue(tls *libc.TLS, pParse uintptr, pIdx uintptr, ppR // (e.g. OOM), return SQLITE_OK and set *ppVal to NULL. Or, if an error // does occur, return an SQLite error code. The final value of *ppVal // is undefined in this case. -func Xsqlite3Stat4ValueFromExpr(tls *libc.TLS, pParse uintptr, pExpr uintptr, affinity U8, ppVal uintptr) int32 { /* sqlite3.c:79656:20: */ +func Xsqlite3Stat4ValueFromExpr(tls *libc.TLS, pParse uintptr, pExpr uintptr, affinity U8, ppVal uintptr) int32 { /* sqlite3.c:79669:20: */ return stat4ValueFromExpr(tls, pParse, pExpr, affinity, uintptr(0), ppVal) } @@ -54326,7 +54345,7 @@ func Xsqlite3Stat4ValueFromExpr(tls *libc.TLS, pParse uintptr, pExpr uintptr, af // // If *ppVal is initially NULL then the caller is responsible for // ensuring that the value written into *ppVal is eventually freed. -func Xsqlite3Stat4Column(tls *libc.TLS, db uintptr, pRec uintptr, nRec int32, iCol int32, ppVal uintptr) int32 { /* sqlite3.c:79673:20: */ +func Xsqlite3Stat4Column(tls *libc.TLS, db uintptr, pRec uintptr, nRec int32, iCol int32, ppVal uintptr) int32 { /* sqlite3.c:79686:20: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -54347,7 +54366,7 @@ func Xsqlite3Stat4Column(tls *libc.TLS, db uintptr, pRec uintptr, nRec int32, iC return Xsqlite3GetVarint32(tls, a, bp) }()) if *(*int32)(unsafe.Pointer(bp)) > nRec || iHdr >= *(*int32)(unsafe.Pointer(bp)) { - return Xsqlite3CorruptError(tls, 79691) + return Xsqlite3CorruptError(tls, 79704) } iField = *(*int32)(unsafe.Pointer(bp /* nHdr */)) for i = 0; i <= iCol; i++ { @@ -54362,14 +54381,14 @@ func Xsqlite3Stat4Column(tls *libc.TLS, db uintptr, pRec uintptr, nRec int32, iC }()) if iHdr > *(*int32)(unsafe.Pointer(bp)) { - return Xsqlite3CorruptError(tls, 79697) + return Xsqlite3CorruptError(tls, 79710) } szField = int32(Xsqlite3VdbeSerialTypeLen(tls, *(*U32)(unsafe.Pointer(bp + 4 /* t */)))) iField = iField + szField } if iField > nRec { - return Xsqlite3CorruptError(tls, 79703) + return Xsqlite3CorruptError(tls, 79716) } if pMem == uintptr(0) { pMem = libc.AssignPtrUintptr(ppVal, Xsqlite3ValueNew(tls, db)) @@ -54385,7 +54404,7 @@ func Xsqlite3Stat4Column(tls *libc.TLS, db uintptr, pRec uintptr, nRec int32, iC // Unless it is NULL, the argument must be an UnpackedRecord object returned // by an earlier call to sqlite3Stat4ProbeSetValue(). This call deletes // the object. -func Xsqlite3Stat4ProbeFree(tls *libc.TLS, pRec uintptr) { /* sqlite3.c:79718:21: */ +func Xsqlite3Stat4ProbeFree(tls *libc.TLS, pRec uintptr) { /* sqlite3.c:79731:21: */ if pRec != 0 { var i int32 var nCol int32 = int32((*KeyInfo)(unsafe.Pointer((*UnpackedRecord)(unsafe.Pointer(pRec)).FpKeyInfo)).FnAllField) @@ -54400,14 +54419,14 @@ func Xsqlite3Stat4ProbeFree(tls *libc.TLS, pRec uintptr) { /* sqlite3.c:79718:21 } // Change the string value of an sqlite3_value object -func Xsqlite3ValueSetStr(tls *libc.TLS, v uintptr, n int32, z uintptr, enc U8, xDel uintptr) { /* sqlite3.c:79736:21: */ +func Xsqlite3ValueSetStr(tls *libc.TLS, v uintptr, n int32, z uintptr, enc U8, xDel uintptr) { /* sqlite3.c:79749:21: */ if v != 0 { Xsqlite3VdbeMemSetStr(tls, v, z, int64(n), enc, xDel) } } // Free an sqlite3_value object -func Xsqlite3ValueFree(tls *libc.TLS, v uintptr) { /* sqlite3.c:79749:21: */ +func Xsqlite3ValueFree(tls *libc.TLS, v uintptr) { /* sqlite3.c:79762:21: */ if !(v != 0) { return } @@ -54418,14 +54437,14 @@ func Xsqlite3ValueFree(tls *libc.TLS, v uintptr) { /* sqlite3.c:79749:21: */ // The sqlite3ValueBytes() routine returns the number of bytes in the // sqlite3_value object assuming that it uses the encoding "enc". // The valueBytes() routine is a helper function. -func valueBytes(tls *libc.TLS, pVal uintptr, enc U8) int32 { /* sqlite3.c:79760:28: */ +func valueBytes(tls *libc.TLS, pVal uintptr, enc U8) int32 { /* sqlite3.c:79773:28: */ if valueToText(tls, pVal, enc) != uintptr(0) { return (*Sqlite3_value)(unsafe.Pointer(pVal)).Fn } return 0 } -func Xsqlite3ValueBytes(tls *libc.TLS, pVal uintptr, enc U8) int32 { /* sqlite3.c:79763:20: */ +func Xsqlite3ValueBytes(tls *libc.TLS, pVal uintptr, enc U8) int32 { /* sqlite3.c:79776:20: */ var p uintptr = pVal if int32((*Mem)(unsafe.Pointer(p)).Fflags)&MEM_Str != 0 && int32((*Sqlite3_value)(unsafe.Pointer(pVal)).Fenc) == int32(enc) { @@ -54445,7 +54464,7 @@ func Xsqlite3ValueBytes(tls *libc.TLS, pVal uintptr, enc U8) int32 { /* sqlite3. } // Create a new virtual database engine. -func Xsqlite3VdbeCreate(tls *libc.TLS, pParse uintptr) uintptr { /* sqlite3.c:79806:21: */ +func Xsqlite3VdbeCreate(tls *libc.TLS, pParse uintptr) uintptr { /* sqlite3.c:79819:21: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb var p uintptr p = Xsqlite3DbMallocRawNN(tls, db, uint64(unsafe.Sizeof(Vdbe{}))) @@ -54469,12 +54488,12 @@ func Xsqlite3VdbeCreate(tls *libc.TLS, pParse uintptr) uintptr { /* sqlite3.c:79 } // Return the Parse object that owns a Vdbe object. -func Xsqlite3VdbeParser(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:79833:22: */ +func Xsqlite3VdbeParser(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:79846:22: */ return (*Vdbe)(unsafe.Pointer(p)).FpParse } // Change the error string stored in Vdbe.zErrMsg -func Xsqlite3VdbeError(tls *libc.TLS, p uintptr, zFormat uintptr, va uintptr) { /* sqlite3.c:79840:21: */ +func Xsqlite3VdbeError(tls *libc.TLS, p uintptr, zFormat uintptr, va uintptr) { /* sqlite3.c:79853:21: */ var ap Va_list _ = ap Xsqlite3DbFree(tls, (*Vdbe)(unsafe.Pointer(p)).Fdb, (*Vdbe)(unsafe.Pointer(p)).FzErrMsg) @@ -54484,7 +54503,7 @@ func Xsqlite3VdbeError(tls *libc.TLS, p uintptr, zFormat uintptr, va uintptr) { } // Remember the SQL string for a prepared statement. -func Xsqlite3VdbeSetSql(tls *libc.TLS, p uintptr, z uintptr, n int32, prepFlags U8) { /* sqlite3.c:79851:21: */ +func Xsqlite3VdbeSetSql(tls *libc.TLS, p uintptr, z uintptr, n int32, prepFlags U8) { /* sqlite3.c:79864:21: */ if p == uintptr(0) { return } @@ -54497,7 +54516,7 @@ func Xsqlite3VdbeSetSql(tls *libc.TLS, p uintptr, z uintptr, n int32, prepFlags } // Swap all content between two VDBE structures. -func Xsqlite3VdbeSwap(tls *libc.TLS, pA uintptr, pB uintptr) { /* sqlite3.c:79901:21: */ +func Xsqlite3VdbeSwap(tls *libc.TLS, pA uintptr, pB uintptr) { /* sqlite3.c:79914:21: */ var tmp Vdbe var pTmp uintptr var zTmp uintptr @@ -54528,7 +54547,7 @@ func Xsqlite3VdbeSwap(tls *libc.TLS, pA uintptr, pB uintptr) { /* sqlite3.c:7990 // SQLITE_NOMEM. In this case Vdbe.aOp and Vdbe.nOpAlloc remain // unchanged (this is so that any opcodes already allocated can be // correctly deallocated along with the rest of the Vdbe). -func growOpArray(tls *libc.TLS, v uintptr, nOp int32) int32 { /* sqlite3.c:79938:12: */ +func growOpArray(tls *libc.TLS, v uintptr, nOp int32) int32 { /* sqlite3.c:79951:12: */ var pNew uintptr var p uintptr = (*Vdbe)(unsafe.Pointer(v)).FpParse @@ -54581,7 +54600,7 @@ func growOpArray(tls *libc.TLS, v uintptr, nOp int32) int32 { /* sqlite3.c:79938 // Use the sqlite3VdbeResolveLabel() function to fix an address and // the sqlite3VdbeChangeP4() function to change the value of the P4 // operand. -func growOp3(tls *libc.TLS, p uintptr, op int32, p1 int32, p2 int32, p3 int32) int32 { /* sqlite3.c:80009:28: */ +func growOp3(tls *libc.TLS, p uintptr, op int32, p1 int32, p2 int32, p3 int32) int32 { /* sqlite3.c:80022:28: */ if growOpArray(tls, p, 1) != 0 { return 1 @@ -54590,7 +54609,7 @@ func growOp3(tls *libc.TLS, p uintptr, op int32, p1 int32, p2 int32, p3 int32) i return Xsqlite3VdbeAddOp3(tls, p, op, p1, p2, p3) } -func Xsqlite3VdbeAddOp3(tls *libc.TLS, p uintptr, op int32, p1 int32, p2 int32, p3 int32) int32 { /* sqlite3.c:80015:20: */ +func Xsqlite3VdbeAddOp3(tls *libc.TLS, p uintptr, op int32, p1 int32, p2 int32, p3 int32) int32 { /* sqlite3.c:80028:20: */ var i int32 var pOp uintptr @@ -54613,26 +54632,26 @@ func Xsqlite3VdbeAddOp3(tls *libc.TLS, p uintptr, op int32, p1 int32, p2 int32, return i } -func Xsqlite3VdbeAddOp0(tls *libc.TLS, p uintptr, op int32) int32 { /* sqlite3.c:80054:20: */ +func Xsqlite3VdbeAddOp0(tls *libc.TLS, p uintptr, op int32) int32 { /* sqlite3.c:80067:20: */ return Xsqlite3VdbeAddOp3(tls, p, op, 0, 0, 0) } -func Xsqlite3VdbeAddOp1(tls *libc.TLS, p uintptr, op int32, p1 int32) int32 { /* sqlite3.c:80057:20: */ +func Xsqlite3VdbeAddOp1(tls *libc.TLS, p uintptr, op int32, p1 int32) int32 { /* sqlite3.c:80070:20: */ return Xsqlite3VdbeAddOp3(tls, p, op, p1, 0, 0) } -func Xsqlite3VdbeAddOp2(tls *libc.TLS, p uintptr, op int32, p1 int32, p2 int32) int32 { /* sqlite3.c:80060:20: */ +func Xsqlite3VdbeAddOp2(tls *libc.TLS, p uintptr, op int32, p1 int32, p2 int32) int32 { /* sqlite3.c:80073:20: */ return Xsqlite3VdbeAddOp3(tls, p, op, p1, p2, 0) } // Generate code for an unconditional jump to instruction iDest -func Xsqlite3VdbeGoto(tls *libc.TLS, p uintptr, iDest int32) int32 { /* sqlite3.c:80066:20: */ +func Xsqlite3VdbeGoto(tls *libc.TLS, p uintptr, iDest int32) int32 { /* sqlite3.c:80079:20: */ return Xsqlite3VdbeAddOp3(tls, p, OP_Goto, 0, iDest, 0) } // Generate code to cause the string zStr to be loaded into // register iDest -func Xsqlite3VdbeLoadString(tls *libc.TLS, p uintptr, iDest int32, zStr uintptr) int32 { /* sqlite3.c:80073:20: */ +func Xsqlite3VdbeLoadString(tls *libc.TLS, p uintptr, iDest int32, zStr uintptr) int32 { /* sqlite3.c:80086:20: */ return Xsqlite3VdbeAddOp4(tls, p, OP_String8, 0, iDest, 0, zStr, 0) } @@ -54645,7 +54664,7 @@ func Xsqlite3VdbeLoadString(tls *libc.TLS, p uintptr, iDest int32, zStr uintptr) // // If the input string does not end with "X" then an OP_ResultRow instruction // is generated for the values inserted. -func Xsqlite3VdbeMultiLoad(tls *libc.TLS, p uintptr, iDest int32, zTypes uintptr, va uintptr) { /* sqlite3.c:80088:21: */ +func Xsqlite3VdbeMultiLoad(tls *libc.TLS, p uintptr, iDest int32, zTypes uintptr, va uintptr) { /* sqlite3.c:80101:21: */ var ap Va_list _ = ap var i int32 @@ -54693,7 +54712,7 @@ skip_op_resultrow: } // Add an opcode that includes the p4 value as a pointer. -func Xsqlite3VdbeAddOp4(tls *libc.TLS, p uintptr, op int32, p1 int32, p2 int32, p3 int32, zP4 uintptr, p4type int32) int32 { /* sqlite3.c:80111:20: */ +func Xsqlite3VdbeAddOp4(tls *libc.TLS, p uintptr, op int32, p1 int32, p2 int32, p3 int32, zP4 uintptr, p4type int32) int32 { /* sqlite3.c:80124:20: */ var addr int32 = Xsqlite3VdbeAddOp3(tls, p, op, p1, p2, p3) Xsqlite3VdbeChangeP4(tls, p, addr, zP4, p4type) return addr @@ -54707,7 +54726,7 @@ func Xsqlite3VdbeAddOp4(tls *libc.TLS, p uintptr, op int32, p1 int32, p2 int32, // NC_IdxExpr means called as part of an index expression. NC_PartIdx // means in the WHERE clause of a partial index. NC_GenCol means called // while computing a generated column value. 0 is the usual case. -func Xsqlite3VdbeAddFunctionCall(tls *libc.TLS, pParse uintptr, p1 int32, p2 int32, p3 int32, nArg int32, pFunc uintptr, eCallCtx int32) int32 { /* sqlite3.c:80135:20: */ +func Xsqlite3VdbeAddFunctionCall(tls *libc.TLS, pParse uintptr, p1 int32, p2 int32, p3 int32, nArg int32, pFunc uintptr, eCallCtx int32) int32 { /* sqlite3.c:80148:20: */ var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe var nByte int32 var addr int32 @@ -54739,7 +54758,7 @@ func Xsqlite3VdbeAddFunctionCall(tls *libc.TLS, pParse uintptr, p1 int32, p2 int // Add an opcode that includes the p4 value with a P4_INT64 or // P4_REAL type. -func Xsqlite3VdbeAddOp4Dup8(tls *libc.TLS, p uintptr, op int32, p1 int32, p2 int32, p3 int32, zP4 uintptr, p4type int32) int32 { /* sqlite3.c:80172:20: */ +func Xsqlite3VdbeAddOp4Dup8(tls *libc.TLS, p uintptr, op int32, p1 int32, p2 int32, p3 int32, zP4 uintptr, p4type int32) int32 { /* sqlite3.c:80185:20: */ var p4copy uintptr = Xsqlite3DbMallocRawNN(tls, Xsqlite3VdbeDb(tls, p), uint64(8)) if p4copy != 0 { libc.Xmemcpy(tls, p4copy, zP4, uint64(8)) @@ -54749,7 +54768,7 @@ func Xsqlite3VdbeAddOp4Dup8(tls *libc.TLS, p uintptr, op int32, p1 int32, p2 int // Return the address of the current EXPLAIN QUERY PLAN baseline. // 0 means "none". -func Xsqlite3VdbeExplainParent(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:80191:20: */ +func Xsqlite3VdbeExplainParent(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:80204:20: */ var pOp uintptr if (*Parse)(unsafe.Pointer(pParse)).FaddrExplain == 0 { return 0 @@ -54765,7 +54784,7 @@ func Xsqlite3VdbeExplainParent(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3 // // If the bPush flag is true, then make this opcode the parent for // subsequent Explains until sqlite3VdbeExplainPop() is called. -func Xsqlite3VdbeExplain(tls *libc.TLS, pParse uintptr, bPush U8, zFmt uintptr, va uintptr) { /* sqlite3.c:80215:21: */ +func Xsqlite3VdbeExplain(tls *libc.TLS, pParse uintptr, bPush U8, zFmt uintptr, va uintptr) { /* sqlite3.c:80228:21: */ // Always include the OP_Explain opcodes if SQLITE_DEBUG is defined. // But omit them (for performance) during production builds if int32((*Parse)(unsafe.Pointer(pParse)).Fexplain) == 2 { @@ -54789,7 +54808,7 @@ func Xsqlite3VdbeExplain(tls *libc.TLS, pParse uintptr, bPush U8, zFmt uintptr, } // Pop the EXPLAIN QUERY PLAN stack one level. -func Xsqlite3VdbeExplainPop(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:80243:21: */ +func Xsqlite3VdbeExplainPop(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:80256:21: */ (*Parse)(unsafe.Pointer(pParse)).FaddrExplain = Xsqlite3VdbeExplainParent(tls, pParse) } @@ -54800,7 +54819,7 @@ func Xsqlite3VdbeExplainPop(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:80243: // // The zWhere string must have been obtained from sqlite3_malloc(). // This routine will take ownership of the allocated memory. -func Xsqlite3VdbeAddParseSchemaOp(tls *libc.TLS, p uintptr, iDb int32, zWhere uintptr, p5 U16) { /* sqlite3.c:80257:21: */ +func Xsqlite3VdbeAddParseSchemaOp(tls *libc.TLS, p uintptr, iDb int32, zWhere uintptr, p5 U16) { /* sqlite3.c:80270:21: */ var j int32 Xsqlite3VdbeAddOp4(tls, p, OP_ParseSchema, iDb, 0, 0, zWhere, -7) Xsqlite3VdbeChangeP5(tls, p, p5) @@ -54811,7 +54830,7 @@ func Xsqlite3VdbeAddParseSchemaOp(tls *libc.TLS, p uintptr, iDb int32, zWhere ui } // Add an opcode that includes the p4 value as an integer. -func Xsqlite3VdbeAddOp4Int(tls *libc.TLS, p uintptr, op int32, p1 int32, p2 int32, p3 int32, p4 int32) int32 { /* sqlite3.c:80268:20: */ +func Xsqlite3VdbeAddOp4Int(tls *libc.TLS, p uintptr, op int32, p1 int32, p2 int32, p3 int32, p4 int32) int32 { /* sqlite3.c:80281:20: */ var addr int32 = Xsqlite3VdbeAddOp3(tls, p, op, p1, p2, p3) if int32((*Sqlite3)(unsafe.Pointer((*Vdbe)(unsafe.Pointer(p)).Fdb)).FmallocFailed) == 0 { var pOp uintptr = (*Vdbe)(unsafe.Pointer(p)).FaOp + uintptr(addr)*24 @@ -54822,7 +54841,7 @@ func Xsqlite3VdbeAddOp4Int(tls *libc.TLS, p uintptr, op int32, p1 int32, p2 int3 } // Insert the end of a co-routine -func Xsqlite3VdbeEndCoroutine(tls *libc.TLS, v uintptr, regYield int32) { /* sqlite3.c:80287:21: */ +func Xsqlite3VdbeEndCoroutine(tls *libc.TLS, v uintptr, regYield int32) { /* sqlite3.c:80300:21: */ Xsqlite3VdbeAddOp1(tls, v, OP_EndCoroutine, regYield) // Clear the temporary register cache, thereby ensuring that each @@ -54857,14 +54876,14 @@ func Xsqlite3VdbeEndCoroutine(tls *libc.TLS, v uintptr, regYield int32) { /* sql // been issued. The negative is stored because // that gives a performance improvement over storing // the equivalent positive value. -func Xsqlite3VdbeMakeLabel(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:80325:20: */ +func Xsqlite3VdbeMakeLabel(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:80338:20: */ return libc.PreDecInt32(&(*Parse)(unsafe.Pointer(pParse)).FnLabel, 1) } // Resolve label "x" to be the address of the next instruction to // be inserted. The parameter "x" must have been obtained from // a prior call to sqlite3VdbeMakeLabel(). -func resizeResolveLabel(tls *libc.TLS, p uintptr, v uintptr, j int32) { /* sqlite3.c:80334:29: */ +func resizeResolveLabel(tls *libc.TLS, p uintptr, v uintptr, j int32) { /* sqlite3.c:80347:29: */ var nNewSize int32 = 10 - (*Parse)(unsafe.Pointer(p)).FnLabel (*Parse)(unsafe.Pointer(p)).FaLabel = Xsqlite3DbReallocOrFree(tls, (*Parse)(unsafe.Pointer(p)).Fdb, (*Parse)(unsafe.Pointer(p)).FaLabel, uint64(uint64(nNewSize)*uint64(unsafe.Sizeof(int32(0))))) @@ -54876,7 +54895,7 @@ func resizeResolveLabel(tls *libc.TLS, p uintptr, v uintptr, j int32) { /* sqlit } } -func Xsqlite3VdbeResolveLabel(tls *libc.TLS, v uintptr, x int32) { /* sqlite3.c:80349:21: */ +func Xsqlite3VdbeResolveLabel(tls *libc.TLS, v uintptr, x int32) { /* sqlite3.c:80362:21: */ var p uintptr = (*Vdbe)(unsafe.Pointer(v)).FpParse var j int32 = ^x @@ -54889,12 +54908,12 @@ func Xsqlite3VdbeResolveLabel(tls *libc.TLS, v uintptr, x int32) { /* sqlite3.c: } // Mark the VDBE as one that can only be run one time. -func Xsqlite3VdbeRunOnlyOnce(tls *libc.TLS, p uintptr) { /* sqlite3.c:80371:21: */ +func Xsqlite3VdbeRunOnlyOnce(tls *libc.TLS, p uintptr) { /* sqlite3.c:80384:21: */ libc.SetBitFieldPtr16Uint32(p+208, Bft(1), 5, 0x20) } // Mark the VDBE as one that can only be run multiple times. -func Xsqlite3VdbeReusable(tls *libc.TLS, p uintptr) { /* sqlite3.c:80378:21: */ +func Xsqlite3VdbeReusable(tls *libc.TLS, p uintptr) { /* sqlite3.c:80391:21: */ libc.SetBitFieldPtr16Uint32(p+208, Bft(0), 5, 0x20) } @@ -54917,7 +54936,7 @@ func Xsqlite3VdbeReusable(tls *libc.TLS, p uintptr) { /* sqlite3.c:80378:21: */ // This routine will only function correctly if the mkopcodeh.tcl generator // script numbers the opcodes correctly. Changes to this routine must be // coordinated with changes to mkopcodeh.tcl. -func resolveP2Values(tls *libc.TLS, p uintptr, pMaxFuncArgs uintptr) { /* sqlite3.c:80574:13: */ +func resolveP2Values(tls *libc.TLS, p uintptr, pMaxFuncArgs uintptr) { /* sqlite3.c:80587:13: */ var nMaxArgs int32 = *(*int32)(unsafe.Pointer(pMaxFuncArgs)) var pOp uintptr var pParse uintptr = (*Vdbe)(unsafe.Pointer(p)).FpParse @@ -55049,7 +55068,7 @@ func resolveP2Values(tls *libc.TLS, p uintptr, pMaxFuncArgs uintptr) { /* sqlite } // Return the address of the next instruction to be inserted. -func Xsqlite3VdbeCurrentAddr(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:80676:20: */ +func Xsqlite3VdbeCurrentAddr(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:80689:20: */ return (*Vdbe)(unsafe.Pointer(p)).FnOp } @@ -55080,7 +55099,7 @@ func Xsqlite3VdbeCurrentAddr(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:8067 // array. Also, *pnMaxArg is set to the larger of its current value and // the number of entries in the Vdbe.apArg[] array required to execute the // returned program. -func Xsqlite3VdbeTakeOpArray(tls *libc.TLS, p uintptr, pnOp uintptr, pnMaxArg uintptr) uintptr { /* sqlite3.c:80733:23: */ +func Xsqlite3VdbeTakeOpArray(tls *libc.TLS, p uintptr, pnOp uintptr, pnMaxArg uintptr) uintptr { /* sqlite3.c:80746:23: */ var aOp uintptr = (*Vdbe)(unsafe.Pointer(p)).FaOp // Check that sqlite3VdbeUsesBtree() was not called on this VM @@ -55096,7 +55115,7 @@ func Xsqlite3VdbeTakeOpArray(tls *libc.TLS, p uintptr, pnOp uintptr, pnMaxArg ui // // Non-zero P2 arguments to jump instructions are automatically adjusted // so that the jump target is relative to the first operation inserted. -func Xsqlite3VdbeAddOpList(tls *libc.TLS, p uintptr, nOp int32, aOp uintptr, iLineno int32) uintptr { /* sqlite3.c:80753:23: */ +func Xsqlite3VdbeAddOpList(tls *libc.TLS, p uintptr, nOp int32, aOp uintptr, iLineno int32) uintptr { /* sqlite3.c:80766:23: */ var i int32 var pOut uintptr var pFirst uintptr @@ -55140,23 +55159,23 @@ __3: // Change the value of the opcode, or P1, P2, P3, or P5 operands // for a specific instruction. -func Xsqlite3VdbeChangeOpcode(tls *libc.TLS, p uintptr, addr int32, iNewOpcode U8) { /* sqlite3.c:80829:21: */ +func Xsqlite3VdbeChangeOpcode(tls *libc.TLS, p uintptr, addr int32, iNewOpcode U8) { /* sqlite3.c:80842:21: */ (*VdbeOp)(unsafe.Pointer(Xsqlite3VdbeGetOp(tls, p, addr))).Fopcode = iNewOpcode } -func Xsqlite3VdbeChangeP1(tls *libc.TLS, p uintptr, addr int32, val int32) { /* sqlite3.c:80832:21: */ +func Xsqlite3VdbeChangeP1(tls *libc.TLS, p uintptr, addr int32, val int32) { /* sqlite3.c:80845:21: */ (*VdbeOp)(unsafe.Pointer(Xsqlite3VdbeGetOp(tls, p, addr))).Fp1 = val } -func Xsqlite3VdbeChangeP2(tls *libc.TLS, p uintptr, addr int32, val int32) { /* sqlite3.c:80835:21: */ +func Xsqlite3VdbeChangeP2(tls *libc.TLS, p uintptr, addr int32, val int32) { /* sqlite3.c:80848:21: */ (*VdbeOp)(unsafe.Pointer(Xsqlite3VdbeGetOp(tls, p, addr))).Fp2 = val } -func Xsqlite3VdbeChangeP3(tls *libc.TLS, p uintptr, addr int32, val int32) { /* sqlite3.c:80838:21: */ +func Xsqlite3VdbeChangeP3(tls *libc.TLS, p uintptr, addr int32, val int32) { /* sqlite3.c:80851:21: */ (*VdbeOp)(unsafe.Pointer(Xsqlite3VdbeGetOp(tls, p, addr))).Fp3 = val } -func Xsqlite3VdbeChangeP5(tls *libc.TLS, p uintptr, p5 U16) { /* sqlite3.c:80841:21: */ +func Xsqlite3VdbeChangeP5(tls *libc.TLS, p uintptr, p5 U16) { /* sqlite3.c:80854:21: */ if (*Vdbe)(unsafe.Pointer(p)).FnOp > 0 { (*Op)(unsafe.Pointer((*Vdbe)(unsafe.Pointer(p)).FaOp + uintptr((*Vdbe)(unsafe.Pointer(p)).FnOp-1)*24)).Fp5 = p5 @@ -55165,7 +55184,7 @@ func Xsqlite3VdbeChangeP5(tls *libc.TLS, p uintptr, p5 U16) { /* sqlite3.c:80841 // Change the P2 operand of instruction addr so that it points to // the address of the next instruction to be coded. -func Xsqlite3VdbeJumpHere(tls *libc.TLS, p uintptr, addr int32) { /* sqlite3.c:80850:21: */ +func Xsqlite3VdbeJumpHere(tls *libc.TLS, p uintptr, addr int32) { /* sqlite3.c:80863:21: */ Xsqlite3VdbeChangeP2(tls, p, addr, (*Vdbe)(unsafe.Pointer(p)).FnOp) } @@ -55180,7 +55199,7 @@ func Xsqlite3VdbeJumpHere(tls *libc.TLS, p uintptr, addr int32) { /* sqlite3.c:8 // // 7 Once 0 8 0 // 8 ... -func Xsqlite3VdbeJumpHereOrPopInst(tls *libc.TLS, p uintptr, addr int32) { /* sqlite3.c:80867:21: */ +func Xsqlite3VdbeJumpHereOrPopInst(tls *libc.TLS, p uintptr, addr int32) { /* sqlite3.c:80880:21: */ if addr == (*Vdbe)(unsafe.Pointer(p)).FnOp-1 { (*Vdbe)(unsafe.Pointer(p)).FnOp-- @@ -55191,26 +55210,26 @@ func Xsqlite3VdbeJumpHereOrPopInst(tls *libc.TLS, p uintptr, addr int32) { /* sq // If the input FuncDef structure is ephemeral, then free it. If // the FuncDef is not ephermal, then do nothing. -func freeEphemeralFunction(tls *libc.TLS, db uintptr, pDef uintptr) { /* sqlite3.c:80887:13: */ +func freeEphemeralFunction(tls *libc.TLS, db uintptr, pDef uintptr) { /* sqlite3.c:80900:13: */ if (*FuncDef)(unsafe.Pointer(pDef)).FfuncFlags&U32(SQLITE_FUNC_EPHEM) != U32(0) { Xsqlite3DbFreeNN(tls, db, pDef) } } // Delete a P4 value if necessary. -func freeP4Mem(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:80896:29: */ +func freeP4Mem(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:80909:29: */ if (*Mem)(unsafe.Pointer(p)).FszMalloc != 0 { Xsqlite3DbFree(tls, db, (*Mem)(unsafe.Pointer(p)).FzMalloc) } Xsqlite3DbFreeNN(tls, db, p) } -func freeP4FuncCtx(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:80900:29: */ +func freeP4FuncCtx(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:80913:29: */ freeEphemeralFunction(tls, db, (*Sqlite3_context)(unsafe.Pointer(p)).FpFunc) Xsqlite3DbFreeNN(tls, db, p) } -func freeP4(tls *libc.TLS, db uintptr, p4type int32, p4 uintptr) { /* sqlite3.c:80904:13: */ +func freeP4(tls *libc.TLS, db uintptr, p4type int32, p4 uintptr) { /* sqlite3.c:80917:13: */ switch p4type { case -16: @@ -55271,7 +55290,7 @@ func freeP4(tls *libc.TLS, db uintptr, p4type int32, p4 uintptr) { /* sqlite3.c: // Free the space allocated for aOp and any p4 values allocated for the // opcodes contained within. If aOp is not NULL it is assumed to contain // nOp entries. -func vdbeFreeOpArray(tls *libc.TLS, db uintptr, aOp uintptr, nOp int32) { /* sqlite3.c:80953:13: */ +func vdbeFreeOpArray(tls *libc.TLS, db uintptr, aOp uintptr, nOp int32) { /* sqlite3.c:80966:13: */ if aOp != 0 { var pOp uintptr for pOp = aOp + uintptr(nOp-1)*24; pOp >= aOp; pOp -= 24 { @@ -55286,18 +55305,18 @@ func vdbeFreeOpArray(tls *libc.TLS, db uintptr, aOp uintptr, nOp int32) { /* sql // Link the SubProgram object passed as the second argument into the linked // list at Vdbe.pSubProgram. This list is used to delete all sub-program // objects when the VM is no longer required. -func Xsqlite3VdbeLinkSubProgram(tls *libc.TLS, pVdbe uintptr, p uintptr) { /* sqlite3.c:80971:21: */ +func Xsqlite3VdbeLinkSubProgram(tls *libc.TLS, pVdbe uintptr, p uintptr) { /* sqlite3.c:80984:21: */ (*SubProgram)(unsafe.Pointer(p)).FpNext = (*Vdbe)(unsafe.Pointer(pVdbe)).FpProgram (*Vdbe)(unsafe.Pointer(pVdbe)).FpProgram = p } // Return true if the given Vdbe has any SubPrograms. -func Xsqlite3VdbeHasSubProgram(tls *libc.TLS, pVdbe uintptr) int32 { /* sqlite3.c:80979:20: */ +func Xsqlite3VdbeHasSubProgram(tls *libc.TLS, pVdbe uintptr) int32 { /* sqlite3.c:80992:20: */ return libc.Bool32((*Vdbe)(unsafe.Pointer(pVdbe)).FpProgram != uintptr(0)) } // Change the opcode at addr into OP_Noop -func Xsqlite3VdbeChangeToNoop(tls *libc.TLS, p uintptr, addr int32) int32 { /* sqlite3.c:80986:20: */ +func Xsqlite3VdbeChangeToNoop(tls *libc.TLS, p uintptr, addr int32) int32 { /* sqlite3.c:80999:20: */ var pOp uintptr if (*Sqlite3)(unsafe.Pointer((*Vdbe)(unsafe.Pointer(p)).Fdb)).FmallocFailed != 0 { return 0 @@ -55313,7 +55332,7 @@ func Xsqlite3VdbeChangeToNoop(tls *libc.TLS, p uintptr, addr int32) int32 { /* s // If the last opcode is "op" and it is not a jump destination, // then remove it. Return true if and only if an opcode was removed. -func Xsqlite3VdbeDeletePriorOpcode(tls *libc.TLS, p uintptr, op U8) int32 { /* sqlite3.c:81002:20: */ +func Xsqlite3VdbeDeletePriorOpcode(tls *libc.TLS, p uintptr, op U8) int32 { /* sqlite3.c:81015:20: */ if (*Vdbe)(unsafe.Pointer(p)).FnOp > 0 && int32((*Op)(unsafe.Pointer((*Vdbe)(unsafe.Pointer(p)).FaOp+uintptr((*Vdbe)(unsafe.Pointer(p)).FnOp-1)*24)).Fopcode) == int32(op) { return Xsqlite3VdbeChangeToNoop(tls, p, (*Vdbe)(unsafe.Pointer(p)).FnOp-1) } else { @@ -55337,7 +55356,7 @@ func Xsqlite3VdbeDeletePriorOpcode(tls *libc.TLS, p uintptr, op U8) int32 { /* s // the Vdbe. In these cases we can just copy the pointer. // // If addr<0 then change P4 on the most recently inserted instruction. -func vdbeChangeP4Full(tls *libc.TLS, p uintptr, pOp uintptr, zP4 uintptr, n int32) { /* sqlite3.c:81062:29: */ +func vdbeChangeP4Full(tls *libc.TLS, p uintptr, pOp uintptr, zP4 uintptr, n int32) { /* sqlite3.c:81075:29: */ if (*Op)(unsafe.Pointer(pOp)).Fp4type != 0 { freeP4(tls, (*Vdbe)(unsafe.Pointer(p)).Fdb, int32((*Op)(unsafe.Pointer(pOp)).Fp4type), *(*uintptr)(unsafe.Pointer(pOp + 16))) (*Op)(unsafe.Pointer(pOp)).Fp4type = int8(0) @@ -55354,7 +55373,7 @@ func vdbeChangeP4Full(tls *libc.TLS, p uintptr, pOp uintptr, zP4 uintptr, n int3 } } -func Xsqlite3VdbeChangeP4(tls *libc.TLS, p uintptr, addr int32, zP4 uintptr, n int32) { /* sqlite3.c:81081:21: */ +func Xsqlite3VdbeChangeP4(tls *libc.TLS, p uintptr, addr int32, zP4 uintptr, n int32) { /* sqlite3.c:81094:21: */ bp := tls.Alloc(8) defer tls.Free(8) *(*uintptr)(unsafe.Pointer(bp)) = zP4 @@ -55401,7 +55420,7 @@ func Xsqlite3VdbeChangeP4(tls *libc.TLS, p uintptr, addr int32, zP4 uintptr, n i // The P4 operand must not have been previously defined. And the new // P4 must not be P4_INT32. Use sqlite3VdbeChangeP4() in either of // those cases. -func Xsqlite3VdbeAppendP4(tls *libc.TLS, p uintptr, pP4 uintptr, n int32) { /* sqlite3.c:81124:21: */ +func Xsqlite3VdbeAppendP4(tls *libc.TLS, p uintptr, pP4 uintptr, n int32) { /* sqlite3.c:81137:21: */ var pOp uintptr if (*Sqlite3)(unsafe.Pointer((*Vdbe)(unsafe.Pointer(p)).Fdb)).FmallocFailed != 0 { @@ -55417,7 +55436,7 @@ func Xsqlite3VdbeAppendP4(tls *libc.TLS, p uintptr, pP4 uintptr, n int32) { /* s // Set the P4 on the most recently added opcode to the KeyInfo for the // index given. -func Xsqlite3VdbeSetP4KeyInfo(tls *libc.TLS, pParse uintptr, pIdx uintptr) { /* sqlite3.c:81144:21: */ +func Xsqlite3VdbeSetP4KeyInfo(tls *libc.TLS, pParse uintptr, pIdx uintptr) { /* sqlite3.c:81157:21: */ var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe var pKeyInfo uintptr @@ -55438,7 +55457,7 @@ func Xsqlite3VdbeSetP4KeyInfo(tls *libc.TLS, pParse uintptr, pIdx uintptr) { /* // this routine is a valid pointer. But because the dummy.opcode is 0, // dummy will never be written to. This is verified by code inspection and // by running with Valgrind. -func Xsqlite3VdbeGetOp(tls *libc.TLS, p uintptr, addr int32) uintptr { /* sqlite3.c:81210:23: */ // Ignore the MSVC warning about no initializer +func Xsqlite3VdbeGetOp(tls *libc.TLS, p uintptr, addr int32) uintptr { /* sqlite3.c:81223:23: */ // Ignore the MSVC warning about no initializer if addr < 0 { addr = (*Vdbe)(unsafe.Pointer(p)).FnOp - 1 @@ -55452,11 +55471,11 @@ func Xsqlite3VdbeGetOp(tls *libc.TLS, p uintptr, addr int32) uintptr { /* sqlite return uintptr(0) } -var dummy VdbeOp /* sqlite3.c:81213:17: */ +var dummy VdbeOp /* sqlite3.c:81226:17: */ // Compute a string that describes the P4 parameter for an opcode. // Use zTemp for any required temporary buffer space. -func Xsqlite3VdbeDisplayP4(tls *libc.TLS, db uintptr, pOp uintptr) uintptr { /* sqlite3.c:81414:21: */ +func Xsqlite3VdbeDisplayP4(tls *libc.TLS, db uintptr, pOp uintptr) uintptr { /* sqlite3.c:81427:21: */ bp := tls.Alloc(176) defer tls.Free(176) @@ -55619,7 +55638,7 @@ func Xsqlite3VdbeDisplayP4(tls *libc.TLS, db uintptr, pOp uintptr) uintptr { /* return Xsqlite3StrAccumFinish(tls, bp+144) } -var encnames = [4]uintptr{ts + 4943, ts + 4945, ts + 4947, ts + 4952} /* sqlite3.c:81444:25 */ +var encnames = [4]uintptr{ts + 4943, ts + 4945, ts + 4947, ts + 4952} /* sqlite3.c:81457:25 */ // Declare to the Vdbe that the BTree object at db->aDb[i] is used. // @@ -55627,7 +55646,7 @@ var encnames = [4]uintptr{ts + 4943, ts + 4945, ts + 4947, ts + 4952} /* sqlite3 // attached databases that will be use. A mask of these databases // is maintained in p->btreeMask. The p->lockMask value is the subset of // p->btreeMask of databases that will require a lock. -func Xsqlite3VdbeUsesBtree(tls *libc.TLS, p uintptr, i int32) { /* sqlite3.c:81539:21: */ +func Xsqlite3VdbeUsesBtree(tls *libc.TLS, p uintptr, i int32) { /* sqlite3.c:81552:21: */ *(*YDbMask)(unsafe.Pointer(p + 212)) |= YDbMask(YDbMask(1)) << i if i != 1 && Xsqlite3BtreeSharable(tls, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer((*Vdbe)(unsafe.Pointer(p)).Fdb)).FaDb+uintptr(i)*32)).FpBt) != 0 { @@ -55654,7 +55673,7 @@ func Xsqlite3VdbeUsesBtree(tls *libc.TLS, p uintptr, i int32) { /* sqlite3.c:815 // corresponding to btrees that use shared cache. Then the runtime of // this routine is N*N. But as N is rarely more than 1, this should not // be a problem. -func Xsqlite3VdbeEnter(tls *libc.TLS, p uintptr) { /* sqlite3.c:81570:21: */ +func Xsqlite3VdbeEnter(tls *libc.TLS, p uintptr) { /* sqlite3.c:81583:21: */ var i int32 var db uintptr var aDb uintptr @@ -55673,7 +55692,7 @@ func Xsqlite3VdbeEnter(tls *libc.TLS, p uintptr) { /* sqlite3.c:81570:21: */ } // Unlock all of the btrees previously locked by a call to sqlite3VdbeEnter(). -func vdbeLeave(tls *libc.TLS, p uintptr) { /* sqlite3.c:81591:29: */ +func vdbeLeave(tls *libc.TLS, p uintptr) { /* sqlite3.c:81604:29: */ var i int32 var db uintptr var aDb uintptr @@ -55688,7 +55707,7 @@ func vdbeLeave(tls *libc.TLS, p uintptr) { /* sqlite3.c:81591:29: */ } } -func Xsqlite3VdbeLeave(tls *libc.TLS, p uintptr) { /* sqlite3.c:81605:21: */ +func Xsqlite3VdbeLeave(tls *libc.TLS, p uintptr) { /* sqlite3.c:81618:21: */ if (*Vdbe)(unsafe.Pointer(p)).FlockMask == YDbMask(0) { return } // The common case @@ -55696,7 +55715,7 @@ func Xsqlite3VdbeLeave(tls *libc.TLS, p uintptr) { /* sqlite3.c:81605:21: */ } // Initialize an array of N Mem element. -func initMemArray(tls *libc.TLS, p uintptr, N int32, db uintptr, flags U16) { /* sqlite3.c:81647:13: */ +func initMemArray(tls *libc.TLS, p uintptr, N int32, db uintptr, flags U16) { /* sqlite3.c:81660:13: */ for libc.PostDecInt32(&N, 1) > 0 { (*Mem)(unsafe.Pointer(p)).Fdb = db (*Mem)(unsafe.Pointer(p)).Fflags = flags @@ -55706,7 +55725,7 @@ func initMemArray(tls *libc.TLS, p uintptr, N int32, db uintptr, flags U16) { /* } // Release an array of N Mem elements -func releaseMemArray(tls *libc.TLS, p uintptr, N int32) { /* sqlite3.c:81662:13: */ +func releaseMemArray(tls *libc.TLS, p uintptr, N int32) { /* sqlite3.c:81675:13: */ if p != 0 && N != 0 { var pEnd uintptr = p + uintptr(N)*56 var db uintptr = (*Mem)(unsafe.Pointer(p)).Fdb @@ -55750,7 +55769,7 @@ func releaseMemArray(tls *libc.TLS, p uintptr, N int32) { /* sqlite3.c:81662:13: // // This routine does not delete the Frame right away. It merely adds the // frame to a list of frames to be deleted when the Vdbe halts. -func Xsqlite3VdbeFrameMemDel(tls *libc.TLS, pArg uintptr) { /* sqlite3.c:81724:21: */ +func Xsqlite3VdbeFrameMemDel(tls *libc.TLS, pArg uintptr) { /* sqlite3.c:81737:21: */ var pFrame uintptr = pArg (*VdbeFrame)(unsafe.Pointer(pFrame)).FpParent = (*Vdbe)(unsafe.Pointer((*VdbeFrame)(unsafe.Pointer(pFrame)).Fv)).FpDelFrame @@ -55762,7 +55781,7 @@ func Xsqlite3VdbeFrameMemDel(tls *libc.TLS, pArg uintptr) { /* sqlite3.c:81724:2 // // Return SQLITE_ROW on success. Return SQLITE_DONE if there are no // more opcodes to be displayed. -func Xsqlite3VdbeNextOpcode(tls *libc.TLS, p uintptr, pSub uintptr, eMode int32, piPc uintptr, piAddr uintptr, paOp uintptr) int32 { /* sqlite3.c:81739:20: */ +func Xsqlite3VdbeNextOpcode(tls *libc.TLS, p uintptr, pSub uintptr, eMode int32, piPc uintptr, piAddr uintptr, paOp uintptr) int32 { /* sqlite3.c:81752:20: */ var nRow int32 // Stop when row count reaches this var nSub int32 = 0 // Number of sub-vdbes seen so far var apSub uintptr = uintptr(0) // Array of sub-vdbes @@ -55861,7 +55880,7 @@ func Xsqlite3VdbeNextOpcode(tls *libc.TLS, p uintptr, pSub uintptr, eMode int32, // Delete a VdbeFrame object and its contents. VdbeFrame objects are // allocated by the OP_Program opcode in sqlite3VdbeExec(). -func Xsqlite3VdbeFrameDelete(tls *libc.TLS, p uintptr) { /* sqlite3.c:81851:21: */ +func Xsqlite3VdbeFrameDelete(tls *libc.TLS, p uintptr) { /* sqlite3.c:81864:21: */ var i int32 var aMem uintptr = p + 120 var apCsr uintptr = aMem + uintptr((*VdbeFrame)(unsafe.Pointer(p)).FnChildMem)*56 @@ -55890,7 +55909,7 @@ func Xsqlite3VdbeFrameDelete(tls *libc.TLS, p uintptr) { /* sqlite3.c:81851:21: // // When p->explain==1, first the main program is listed, then each of // the trigger subprograms are listed one by one. -func Xsqlite3VdbeList(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:81883:20: */ +func Xsqlite3VdbeList(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:81896:20: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -55979,7 +55998,7 @@ type ReusableSpace = struct { FpSpace uintptr FnFree Sqlite3_int64 FnNeeded Sqlite3_int64 -} /* sqlite3.c:82028:1 */ +} /* sqlite3.c:82041:1 */ // Try to allocate nByte bytes of 8-byte aligned bulk memory for pBuf // from the ReusableSpace object. Return a pointer to the allocated @@ -55994,7 +56013,7 @@ type ReusableSpace = struct { // This allocator is employed to repurpose unused slots at the end of the // opcode array of prepared state for other memory needs of the prepared // statement. -func allocSpace(tls *libc.TLS, p uintptr, pBuf uintptr, nByte Sqlite3_int64) uintptr { /* sqlite3.c:82048:13: */ +func allocSpace(tls *libc.TLS, p uintptr, pBuf uintptr, nByte Sqlite3_int64) uintptr { /* sqlite3.c:82061:13: */ if pBuf == uintptr(0) { nByte = (nByte + int64(7)) & int64(libc.CplInt32(7)) @@ -56011,7 +56030,7 @@ func allocSpace(tls *libc.TLS, p uintptr, pBuf uintptr, nByte Sqlite3_int64) uin // Rewind the VDBE back to the beginning in preparation for // running it. -func Xsqlite3VdbeRewind(tls *libc.TLS, p uintptr) { /* sqlite3.c:82071:21: */ +func Xsqlite3VdbeRewind(tls *libc.TLS, p uintptr) { /* sqlite3.c:82084:21: */ // There should be at least one opcode. @@ -56044,7 +56063,7 @@ func Xsqlite3VdbeRewind(tls *libc.TLS, p uintptr) { /* sqlite3.c:82071:21: */ // // Use the sqlite3VdbeRewind() procedure to restore a virtual machine back // to its initial state after it has been run. -func Xsqlite3VdbeMakeReady(tls *libc.TLS, p uintptr, pParse uintptr) { /* sqlite3.c:82124:21: */ +func Xsqlite3VdbeMakeReady(tls *libc.TLS, p uintptr, pParse uintptr) { /* sqlite3.c:82137:21: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -56153,11 +56172,11 @@ func Xsqlite3VdbeMakeReady(tls *libc.TLS, p uintptr, pParse uintptr) { /* sqlite var azColName = [12]uintptr{ ts + 4957, ts + 4962, ts + 4969, ts + 4972, ts + 4975, ts + 4978, ts + 4981, ts + 4984, ts + 4992, ts + 4995, ts + 5002, ts + 5010, -} /* sqlite3.c:82172:23 */ +} /* sqlite3.c:82185:23 */ // Close a VDBE cursor and release all the resources that cursor // happens to hold. -func Xsqlite3VdbeFreeCursor(tls *libc.TLS, p uintptr, pCx uintptr) { /* sqlite3.c:82249:21: */ +func Xsqlite3VdbeFreeCursor(tls *libc.TLS, p uintptr, pCx uintptr) { /* sqlite3.c:82262:21: */ if pCx == uintptr(0) { return } @@ -56191,7 +56210,7 @@ func Xsqlite3VdbeFreeCursor(tls *libc.TLS, p uintptr, pCx uintptr) { /* sqlite3. } // Close all cursors in the current frame. -func closeCursorsInFrame(tls *libc.TLS, p uintptr) { /* sqlite3.c:82279:13: */ +func closeCursorsInFrame(tls *libc.TLS, p uintptr) { /* sqlite3.c:82292:13: */ if (*Vdbe)(unsafe.Pointer(p)).FapCsr != 0 { var i int32 for i = 0; i < (*Vdbe)(unsafe.Pointer(p)).FnCursor; i++ { @@ -56207,7 +56226,7 @@ func closeCursorsInFrame(tls *libc.TLS, p uintptr) { /* sqlite3.c:82279:13: */ // Copy the values stored in the VdbeFrame structure to its Vdbe. This // is used, for example, when a trigger sub-program is halted to restore // control to the main program. -func Xsqlite3VdbeFrameRestore(tls *libc.TLS, pFrame uintptr) int32 { /* sqlite3.c:82297:20: */ +func Xsqlite3VdbeFrameRestore(tls *libc.TLS, pFrame uintptr) int32 { /* sqlite3.c:82310:20: */ var v uintptr = (*VdbeFrame)(unsafe.Pointer(pFrame)).Fv closeCursorsInFrame(tls, v) (*Vdbe)(unsafe.Pointer(v)).FaOp = (*VdbeFrame)(unsafe.Pointer(pFrame)).FaOp @@ -56231,7 +56250,7 @@ func Xsqlite3VdbeFrameRestore(tls *libc.TLS, pFrame uintptr) int32 { /* sqlite3. // cell array. This is necessary as the memory cell array may contain // pointers to VdbeFrame objects, which may in turn contain pointers to // open cursors. -func closeAllCursors(tls *libc.TLS, p uintptr) { /* sqlite3.c:82326:13: */ +func closeAllCursors(tls *libc.TLS, p uintptr) { /* sqlite3.c:82339:13: */ if (*Vdbe)(unsafe.Pointer(p)).FpFrame != 0 { var pFrame uintptr for pFrame = (*Vdbe)(unsafe.Pointer(p)).FpFrame; (*VdbeFrame)(unsafe.Pointer(pFrame)).FpParent != 0; pFrame = (*VdbeFrame)(unsafe.Pointer(pFrame)).FpParent { @@ -56262,7 +56281,7 @@ func closeAllCursors(tls *libc.TLS, p uintptr) { /* sqlite3.c:82326:13: */ // statement. This is now set at compile time, rather than during // execution of the vdbe program so that sqlite3_column_count() can // be called on an SQL statement before sqlite3_step(). -func Xsqlite3VdbeSetNumCols(tls *libc.TLS, p uintptr, nResColumn int32) { /* sqlite3.c:82356:21: */ +func Xsqlite3VdbeSetNumCols(tls *libc.TLS, p uintptr, nResColumn int32) { /* sqlite3.c:82369:21: */ var n int32 var db uintptr = (*Vdbe)(unsafe.Pointer(p)).Fdb @@ -56287,7 +56306,7 @@ func Xsqlite3VdbeSetNumCols(tls *libc.TLS, p uintptr, nResColumn int32) { /* sql // The final parameter, xDel, must be one of SQLITE_DYNAMIC, SQLITE_STATIC // 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 Xsqlite3VdbeSetColName(tls *libc.TLS, p uintptr, idx int32, var1 int32, zName uintptr, xDel uintptr) int32 { /* sqlite3.c:82381:20: */ +func Xsqlite3VdbeSetColName(tls *libc.TLS, p uintptr, idx int32, var1 int32, zName uintptr, xDel uintptr) int32 { /* sqlite3.c:82394:20: */ var rc int32 var pColName uintptr @@ -56306,7 +56325,7 @@ func Xsqlite3VdbeSetColName(tls *libc.TLS, p uintptr, idx int32, var1 int32, zNa // db. If a transaction is active, commit it. If there is a // write-transaction spanning more than one database file, this routine // takes care of the super-journal trickery. -func vdbeCommit(tls *libc.TLS, db uintptr, p uintptr) int32 { /* sqlite3.c:82409:12: */ +func vdbeCommit(tls *libc.TLS, db uintptr, p uintptr) int32 { /* sqlite3.c:82422:12: */ bp := tls.Alloc(72) defer tls.Free(72) @@ -56534,7 +56553,7 @@ var aMJNeeded = [6]U8{ /* TRUNCATE */ U8(1), /* MEMORY */ U8(0), /* WAL */ U8(0), -} /* sqlite3.c:82444:23 */ +} /* sqlite3.c:82457:23 */ // This routine checks that the sqlite3.nVdbeActive count variable // matches the number of vdbe's in the list sqlite3.pVdbe that are @@ -56552,7 +56571,7 @@ var aMJNeeded = [6]U8{ // // If an IO error occurs, an SQLITE_IOERR_XXX error code is returned. // Otherwise SQLITE_OK. -func vdbeCloseStatement(tls *libc.TLS, p uintptr, eOp int32) int32 { /* sqlite3.c:82705:28: */ +func vdbeCloseStatement(tls *libc.TLS, p uintptr, eOp int32) int32 { /* sqlite3.c:82718:28: */ var db uintptr = (*Vdbe)(unsafe.Pointer(p)).Fdb var rc int32 = SQLITE_OK var i int32 @@ -56595,7 +56614,7 @@ func vdbeCloseStatement(tls *libc.TLS, p uintptr, eOp int32) int32 { /* sqlite3. return rc } -func Xsqlite3VdbeCloseStatement(tls *libc.TLS, p uintptr, eOp int32) int32 { /* sqlite3.c:82751:20: */ +func Xsqlite3VdbeCloseStatement(tls *libc.TLS, p uintptr, eOp int32) int32 { /* sqlite3.c:82764:20: */ if (*Sqlite3)(unsafe.Pointer((*Vdbe)(unsafe.Pointer(p)).Fdb)).FnStatement != 0 && (*Vdbe)(unsafe.Pointer(p)).FiStatement != 0 { return vdbeCloseStatement(tls, p, eOp) } @@ -56610,7 +56629,7 @@ func Xsqlite3VdbeCloseStatement(tls *libc.TLS, p uintptr, eOp int32) int32 { /* // If there are outstanding FK violations and this function returns // SQLITE_ERROR, set the result of the VM to SQLITE_CONSTRAINT_FOREIGNKEY // and write an error message to it. Then return SQLITE_ERROR. -func Xsqlite3VdbeCheckFk(tls *libc.TLS, p uintptr, deferred int32) int32 { /* sqlite3.c:82770:20: */ +func Xsqlite3VdbeCheckFk(tls *libc.TLS, p uintptr, deferred int32) int32 { /* sqlite3.c:82783:20: */ var db uintptr = (*Vdbe)(unsafe.Pointer(p)).Fdb if deferred != 0 && (*Sqlite3)(unsafe.Pointer(db)).FnDeferredCons+(*Sqlite3)(unsafe.Pointer(db)).FnDeferredImmCons > int64(0) || !(deferred != 0) && (*Vdbe)(unsafe.Pointer(p)).FnFkConstraint > int64(0) { @@ -56633,7 +56652,7 @@ func Xsqlite3VdbeCheckFk(tls *libc.TLS, p uintptr, deferred int32) int32 { /* sq // Return an error code. If the commit could not complete because of // lock contention, return SQLITE_BUSY. If SQLITE_BUSY is returned, it // means the close did not happen and needs to be repeated. -func Xsqlite3VdbeHalt(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:82797:20: */ +func Xsqlite3VdbeHalt(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:82810:20: */ var rc int32 // Used to store transient return codes var db uintptr = (*Vdbe)(unsafe.Pointer(p)).Fdb @@ -56837,7 +56856,7 @@ func Xsqlite3VdbeHalt(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:82797:20: * // Each VDBE holds the result of the most recent sqlite3_step() call // in p->rc. This routine sets that result back to SQLITE_OK. -func Xsqlite3VdbeResetStepResult(tls *libc.TLS, p uintptr) { /* sqlite3.c:83007:21: */ +func Xsqlite3VdbeResetStepResult(tls *libc.TLS, p uintptr) { /* sqlite3.c:83020:21: */ (*Vdbe)(unsafe.Pointer(p)).Frc = SQLITE_OK } @@ -56847,7 +56866,7 @@ func Xsqlite3VdbeResetStepResult(tls *libc.TLS, p uintptr) { /* sqlite3.c:83007: // // This function does not clear the VDBE error code or message, just // copies them to the database handle. -func Xsqlite3VdbeTransferError(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:83019:20: */ +func Xsqlite3VdbeTransferError(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:83032:20: */ var db uintptr = (*Vdbe)(unsafe.Pointer(p)).Fdb var rc int32 = (*Vdbe)(unsafe.Pointer(p)).Frc if (*Vdbe)(unsafe.Pointer(p)).FzErrMsg != 0 { @@ -56876,7 +56895,7 @@ func Xsqlite3VdbeTransferError(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:83 // To look at it another way, this routine resets the state of the // virtual machine from VDBE_MAGIC_RUN or VDBE_MAGIC_HALT back to // VDBE_MAGIC_INIT. -func Xsqlite3VdbeReset(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:83069:20: */ +func Xsqlite3VdbeReset(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:83082:20: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -56928,7 +56947,7 @@ func Xsqlite3VdbeReset(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:83069:20: // Clean up and delete a VDBE after execution. Return an integer which is // the result code. Write any error message text into *pzErrMsg. -func Xsqlite3VdbeFinalize(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:83166:20: */ +func Xsqlite3VdbeFinalize(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:83179:20: */ var rc int32 = SQLITE_OK if (*Vdbe)(unsafe.Pointer(p)).FiVdbeMagic == U32(VDBE_MAGIC_RUN) || (*Vdbe)(unsafe.Pointer(p)).FiVdbeMagic == U32(VDBE_MAGIC_HALT) { rc = Xsqlite3VdbeReset(tls, p) @@ -56952,7 +56971,7 @@ func Xsqlite3VdbeFinalize(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:83166:2 // // * the corresponding bit in argument mask is clear (where the first // function parameter corresponds to bit 0 etc.). -func Xsqlite3VdbeDeleteAuxData(tls *libc.TLS, db uintptr, pp uintptr, iOp int32, mask int32) { /* sqlite3.c:83192:21: */ +func Xsqlite3VdbeDeleteAuxData(tls *libc.TLS, db uintptr, pp uintptr, iOp int32, mask int32) { /* sqlite3.c:83205:21: */ for *(*uintptr)(unsafe.Pointer(pp)) != 0 { var pAux uintptr = *(*uintptr)(unsafe.Pointer(pp)) if iOp < 0 || @@ -56977,7 +56996,7 @@ func Xsqlite3VdbeDeleteAuxData(tls *libc.TLS, db uintptr, pp uintptr, iOp int32, // The difference between this function and sqlite3VdbeDelete() is that // VdbeDelete() also unlinks the Vdbe from the list of VMs associated with // the database connection and frees the object itself. -func Xsqlite3VdbeClearObject(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:83220:21: */ +func Xsqlite3VdbeClearObject(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:83233:21: */ var pSub uintptr var pNext uintptr @@ -56998,7 +57017,7 @@ func Xsqlite3VdbeClearObject(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3. } // Delete an entire VDBE. -func Xsqlite3VdbeDelete(tls *libc.TLS, p uintptr) { /* sqlite3.c:83261:21: */ +func Xsqlite3VdbeDelete(tls *libc.TLS, p uintptr) { /* sqlite3.c:83274:21: */ var db uintptr db = (*Vdbe)(unsafe.Pointer(p)).Fdb @@ -57021,7 +57040,7 @@ func Xsqlite3VdbeDelete(tls *libc.TLS, p uintptr) { /* sqlite3.c:83261:21: */ // The cursor "p" has a pending seek operation that has not yet been // carried out. Seek the cursor now. If an error occurs, return // the appropriate error code. -func Xsqlite3VdbeFinishMoveto(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:83287:36: */ +func Xsqlite3VdbeFinishMoveto(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:83300:36: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -57034,7 +57053,7 @@ func Xsqlite3VdbeFinishMoveto(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:832 return rc } if *(*int32)(unsafe.Pointer(bp)) != 0 { - return Xsqlite3CorruptError(tls, 83297) + return Xsqlite3CorruptError(tls, 83310) } (*VdbeCursor)(unsafe.Pointer(p)).FdeferredMoveto = U8(0) (*VdbeCursor)(unsafe.Pointer(p)).FcacheStatus = U32(CACHE_STALE) @@ -57046,7 +57065,7 @@ func Xsqlite3VdbeFinishMoveto(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:832 // rebalanced. Whatever the cause, try to restore "p" to the place it // is supposed to be pointing. If the row was deleted out from under the // cursor, set the cursor to point to a NULL row. -func handleMovedCursor(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:83313:28: */ +func handleMovedCursor(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:83326:28: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -57064,7 +57083,7 @@ func handleMovedCursor(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:83313:28: // Check to ensure that the cursor is valid. Restore the cursor // if need be. Return any I/O error from the restore operation. -func Xsqlite3VdbeCursorRestore(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:83328:20: */ +func Xsqlite3VdbeCursorRestore(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:83341:20: */ if Xsqlite3BtreeCursorHasMoved(tls, *(*uintptr)(unsafe.Pointer(p + 48))) != 0 { return handleMovedCursor(tls, p) @@ -57083,7 +57102,7 @@ func Xsqlite3VdbeCursorRestore(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:83 // // If the cursor is already pointing to the correct row and that row has // not been deleted out from under the cursor, then this routine is a no-op. -func Xsqlite3VdbeCursorMoveto(tls *libc.TLS, pp uintptr, piCol uintptr) int32 { /* sqlite3.c:83349:20: */ +func Xsqlite3VdbeCursorMoveto(tls *libc.TLS, pp uintptr, piCol uintptr) int32 { /* sqlite3.c:83362:20: */ var p uintptr = *(*uintptr)(unsafe.Pointer(pp)) if (*VdbeCursor)(unsafe.Pointer(p)).FdeferredMoveto != 0 { @@ -57158,10 +57177,10 @@ var sqlite3SmallTypeSizes = [128]U8{ /* 100 */ U8(44), U8(44), U8(45), U8(45), U8(46), U8(46), U8(47), U8(47), U8(48), U8(48), /* 110 */ U8(49), U8(49), U8(50), U8(50), U8(51), U8(51), U8(52), U8(52), U8(53), U8(53), /* 120 */ U8(54), U8(54), U8(55), U8(55), U8(56), U8(56), U8(57), U8(57), -} /* sqlite3.c:83486:17 */ +} /* sqlite3.c:83499:17 */ // Return the length of the data corresponding to the supplied serial-type. -func Xsqlite3VdbeSerialTypeLen(tls *libc.TLS, serial_type U32) U32 { /* sqlite3.c:83506:20: */ +func Xsqlite3VdbeSerialTypeLen(tls *libc.TLS, serial_type U32) U32 { /* sqlite3.c:83519:20: */ if serial_type >= U32(128) { return (serial_type - U32(12)) / U32(2) } else { @@ -57171,7 +57190,7 @@ func Xsqlite3VdbeSerialTypeLen(tls *libc.TLS, serial_type U32) U32 { /* sqlite3. return U32(0) } -func Xsqlite3VdbeOneByteSerialTypeLen(tls *libc.TLS, serial_type U8) U8 { /* sqlite3.c:83515:19: */ +func Xsqlite3VdbeOneByteSerialTypeLen(tls *libc.TLS, serial_type U8) U8 { /* sqlite3.c:83528:19: */ return sqlite3SmallTypeSizes[serial_type] } @@ -57220,7 +57239,7 @@ func Xsqlite3VdbeOneByteSerialTypeLen(tls *libc.TLS, serial_type U8) U8 { /* sql // Return the number of bytes actually written into buf[]. The number // of bytes in the zero-filled tail is included in the return value only // if those bytes were zeroed in buf[]. -func Xsqlite3VdbeSerialPut(tls *libc.TLS, buf uintptr, pMem uintptr, serial_type U32) U32 { /* sqlite3.c:83586:20: */ +func Xsqlite3VdbeSerialPut(tls *libc.TLS, buf uintptr, pMem uintptr, serial_type U32) U32 { /* sqlite3.c:83599:20: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -57271,7 +57290,7 @@ func Xsqlite3VdbeSerialPut(tls *libc.TLS, buf uintptr, pMem uintptr, serial_type // The few cases that require local variables are broken out into a separate // routine so that in most cases the overhead of moving the stack pointer // is avoided. -func serialGet(tls *libc.TLS, buf uintptr, serial_type U32, pMem uintptr) { /* sqlite3.c:83640:13: */ +func serialGet(tls *libc.TLS, buf uintptr, serial_type U32, pMem uintptr) { /* sqlite3.c:83653:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -57298,7 +57317,7 @@ func serialGet(tls *libc.TLS, buf uintptr, serial_type U32, pMem uintptr) { /* s } } -func Xsqlite3VdbeSerialGet(tls *libc.TLS, buf uintptr, serial_type U32, pMem uintptr) { /* sqlite3.c:83675:21: */ +func Xsqlite3VdbeSerialGet(tls *libc.TLS, buf uintptr, serial_type U32, pMem uintptr) { /* sqlite3.c:83688:21: */ switch serial_type { case U32(10): { // Internal use only: NULL with virtual table @@ -57401,7 +57420,7 @@ func Xsqlite3VdbeSerialGet(tls *libc.TLS, buf uintptr, serial_type U32, pMem uin return } -var aFlag = [2]U16{U16(MEM_Blob | MEM_Ephem), U16(MEM_Str | MEM_Ephem)} /* sqlite3.c:83758:24 */ +var aFlag = [2]U16{U16(MEM_Blob | MEM_Ephem), U16(MEM_Str | MEM_Ephem)} /* sqlite3.c:83771:24 */ // This routine is used to allocate sufficient space for an UnpackedRecord // structure large enough to be used with sqlite3VdbeRecordUnpack() if @@ -57415,7 +57434,7 @@ var aFlag = [2]U16{U16(MEM_Blob | MEM_Ephem), U16(MEM_Str | MEM_Ephem)} /* sqlit // before returning. // // If an OOM error occurs, NULL is returned. -func Xsqlite3VdbeAllocUnpackedRecord(tls *libc.TLS, pKeyInfo uintptr) uintptr { /* sqlite3.c:83781:31: */ +func Xsqlite3VdbeAllocUnpackedRecord(tls *libc.TLS, pKeyInfo uintptr) uintptr { /* sqlite3.c:83794:31: */ var p uintptr // Unpacked record to return var nByte int32 // Number of bytes required for *p nByte = int32((uint64(unsafe.Sizeof(UnpackedRecord{}))+uint64(7))&libc.Uint64FromInt32(libc.CplInt32(7)) + uint64(unsafe.Sizeof(Mem{}))*uint64(int32((*KeyInfo)(unsafe.Pointer(pKeyInfo)).FnKeyField)+1)) @@ -57433,7 +57452,7 @@ func Xsqlite3VdbeAllocUnpackedRecord(tls *libc.TLS, pKeyInfo uintptr) uintptr { // Given the nKey-byte encoding of a record in pKey[], populate the // UnpackedRecord structure indicated by the fourth argument with the // contents of the decoded record. -func Xsqlite3VdbeRecordUnpack(tls *libc.TLS, pKeyInfo uintptr, nKey int32, pKey uintptr, p uintptr) { /* sqlite3.c:83801:21: */ +func Xsqlite3VdbeRecordUnpack(tls *libc.TLS, pKeyInfo uintptr, nKey int32, pKey uintptr, p uintptr) { /* sqlite3.c:83814:21: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -57494,7 +57513,7 @@ func Xsqlite3VdbeRecordUnpack(tls *libc.TLS, pKeyInfo uintptr, nKey int32, pKey // using the collation sequence pColl. As usual, return a negative , zero // or positive value if *pMem1 is less than, equal to or greater than // *pMem2, respectively. Similar in spirit to "rc = (*pMem1) - (*pMem2);". -func vdbeCompareMemString(tls *libc.TLS, pMem1 uintptr, pMem2 uintptr, pColl uintptr, prcErr uintptr) int32 { /* sqlite3.c:83998:12: */ +func vdbeCompareMemString(tls *libc.TLS, pMem1 uintptr, pMem2 uintptr, pColl uintptr, prcErr uintptr) int32 { /* sqlite3.c:84011:12: */ bp := tls.Alloc(112) defer tls.Free(112) @@ -57537,7 +57556,7 @@ func vdbeCompareMemString(tls *libc.TLS, pMem1 uintptr, pMem2 uintptr, pColl uin // The input pBlob is guaranteed to be a Blob that is not marked // with MEM_Zero. Return true if it could be a zero-blob. -func isAllZero(tls *libc.TLS, z uintptr, n int32) int32 { /* sqlite3.c:84035:12: */ +func isAllZero(tls *libc.TLS, z uintptr, n int32) int32 { /* sqlite3.c:84048:12: */ var i int32 for i = 0; i < n; i++ { if *(*int8)(unsafe.Pointer(z + uintptr(i))) != 0 { @@ -57550,7 +57569,7 @@ func isAllZero(tls *libc.TLS, z uintptr, n int32) int32 { /* sqlite3.c:84035:12: // Compare two blobs. Return negative, zero, or positive if the first // is less than, equal to, or greater than the second, respectively. // If one blob is a prefix of the other, then the shorter is the lessor. -func Xsqlite3BlobCompare(tls *libc.TLS, pB1 uintptr, pB2 uintptr) int32 { /* sqlite3.c:84048:36: */ +func Xsqlite3BlobCompare(tls *libc.TLS, pB1 uintptr, pB2 uintptr) int32 { /* sqlite3.c:84061:36: */ var c int32 var n1 int32 = (*Mem)(unsafe.Pointer(pB1)).Fn var n2 int32 = (*Mem)(unsafe.Pointer(pB2)).Fn @@ -57590,7 +57609,7 @@ func Xsqlite3BlobCompare(tls *libc.TLS, pB1 uintptr, pB2 uintptr) int32 { /* sql // Do a comparison between a 64-bit signed integer and a 64-bit floating-point // number. Return negative, zero, or positive if the first (i64) is less than, // equal to, or greater than the second (double). -func Xsqlite3IntFloatCompare(tls *libc.TLS, i I64, r float64) int32 { /* sqlite3.c:84081:20: */ +func Xsqlite3IntFloatCompare(tls *libc.TLS, i I64, r float64) int32 { /* sqlite3.c:84094:20: */ if uint64(unsafe.Sizeof(float64(0))) > uint64(8) { var x float64 = float64(i) @@ -57636,7 +57655,7 @@ func Xsqlite3IntFloatCompare(tls *libc.TLS, i I64, r float64) int32 { /* sqlite3 // sequence pColl and finally blob's ordered by memcmp(). // // Two NULL values are considered equal by this function. -func Xsqlite3MemCompare(tls *libc.TLS, pMem1 uintptr, pMem2 uintptr, pColl uintptr) int32 { /* sqlite3.c:84114:20: */ +func Xsqlite3MemCompare(tls *libc.TLS, pMem1 uintptr, pMem2 uintptr, pColl uintptr) int32 { /* sqlite3.c:84127:20: */ var f1 int32 var f2 int32 var combined_flags int32 @@ -57730,7 +57749,7 @@ func Xsqlite3MemCompare(tls *libc.TLS, pMem1 uintptr, pMem2 uintptr, pColl uintp // except 7. The second points to a buffer containing an integer value // serialized according to serial_type. This function deserializes // and returns the value. -func vdbeRecordDecodeInt(tls *libc.TLS, serial_type U32, aKey uintptr) I64 { /* sqlite3.c:84213:12: */ +func vdbeRecordDecodeInt(tls *libc.TLS, serial_type U32, aKey uintptr) I64 { /* sqlite3.c:84226:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -57793,7 +57812,7 @@ func vdbeRecordDecodeInt(tls *libc.TLS, serial_type U32, aKey uintptr) I64 { /* // SQLITE_CORRUPT and return 0. If an OOM error is encountered, // pPKey2->errCode is set to SQLITE_NOMEM and, if it is not NULL, the // malloc-failed flag set on database handle (pPKey2->pKeyInfo->db). -func Xsqlite3VdbeRecordCompareWithSkip(tls *libc.TLS, nKey1 int32, pKey1 uintptr, pPKey2 uintptr, bSkip int32) int32 { /* sqlite3.c:84268:20: */ +func Xsqlite3VdbeRecordCompareWithSkip(tls *libc.TLS, nKey1 int32, pKey1 uintptr, pPKey2 uintptr, bSkip int32) int32 { /* sqlite3.c:84281:20: */ bp := tls.Alloc(68) defer tls.Free(68) @@ -57835,7 +57854,7 @@ func Xsqlite3VdbeRecordCompareWithSkip(tls *libc.TLS, nKey1 int32, pKey1 uintptr i = 0 } if d1 > uint32(nKey1) { - (*UnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = U8(Xsqlite3CorruptError(tls, 84299)) + (*UnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = U8(Xsqlite3CorruptError(tls, 84312)) return 0 // Corruption } @@ -57900,7 +57919,7 @@ func Xsqlite3VdbeRecordCompareWithSkip(tls *libc.TLS, nKey1 int32, pKey1 uintptr if d1+U32((*Mem)(unsafe.Pointer(bp+8)).Fn) > uint32(nKey1) || int32((*KeyInfo)(unsafe.Pointer(libc.AssignUintptr(&pKeyInfo, (*UnpackedRecord)(unsafe.Pointer(pPKey2)).FpKeyInfo))).FnAllField) <= i { - (*UnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = U8(Xsqlite3CorruptError(tls, 84376)) + (*UnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = U8(Xsqlite3CorruptError(tls, 84389)) return 0 // Corruption } else if *(*uintptr)(unsafe.Pointer(pKeyInfo + 32 + uintptr(i)*8)) != 0 { (*Mem)(unsafe.Pointer(bp + 8 /* &mem1 */)).Fenc = (*KeyInfo)(unsafe.Pointer(pKeyInfo)).Fenc @@ -57935,7 +57954,7 @@ func Xsqlite3VdbeRecordCompareWithSkip(tls *libc.TLS, nKey1 int32, pKey1 uintptr var nStr int32 = int32((*(*U32)(unsafe.Pointer(bp + 64)) - U32(12)) / U32(2)) if d1+U32(nStr) > uint32(nKey1) { - (*UnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = U8(Xsqlite3CorruptError(tls, 84406)) + (*UnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = U8(Xsqlite3CorruptError(tls, 84419)) return 0 // Corruption } else if int32((*Mem)(unsafe.Pointer(pRhs)).Fflags)&MEM_Zero != 0 { if !(isAllZero(tls, aKey1+uintptr(d1), nStr) != 0) { @@ -57996,7 +58015,7 @@ func Xsqlite3VdbeRecordCompareWithSkip(tls *libc.TLS, nKey1 int32, pKey1 uintptr return int32((*UnpackedRecord)(unsafe.Pointer(pPKey2)).Fdefault_rc) } -func Xsqlite3VdbeRecordCompare(tls *libc.TLS, nKey1 int32, pKey1 uintptr, pPKey2 uintptr) int32 { /* sqlite3.c:84465:20: */ +func Xsqlite3VdbeRecordCompare(tls *libc.TLS, nKey1 int32, pKey1 uintptr, pPKey2 uintptr) int32 { /* sqlite3.c:84478:20: */ return Xsqlite3VdbeRecordCompareWithSkip(tls, nKey1, pKey1, pPKey2, 0) } @@ -58007,7 +58026,7 @@ func Xsqlite3VdbeRecordCompare(tls *libc.TLS, nKey1 int32, pKey1 uintptr, pPKey2 // // To avoid concerns about buffer overreads, this routine is only used // on schemas where the maximum valid header size is 63 bytes or less. -func vdbeRecordCompareInt(tls *libc.TLS, nKey1 int32, pKey1 uintptr, pPKey2 uintptr) int32 { /* sqlite3.c:84482:12: */ +func vdbeRecordCompareInt(tls *libc.TLS, nKey1 int32, pKey1 uintptr, pPKey2 uintptr) int32 { /* sqlite3.c:84495:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -58112,7 +58131,7 @@ func vdbeRecordCompareInt(tls *libc.TLS, nKey1 int32, pKey1 uintptr, pPKey2 uint // that (a) the first field of pPKey2 is a string, that (b) the first field // uses the collation sequence BINARY and (c) that the size-of-header varint // at the start of (pKey1/nKey1) fits in a single byte. -func vdbeRecordCompareString(tls *libc.TLS, nKey1 int32, pKey1 uintptr, pPKey2 uintptr) int32 { /* sqlite3.c:84576:12: */ +func vdbeRecordCompareString(tls *libc.TLS, nKey1 int32, pKey1 uintptr, pPKey2 uintptr) int32 { /* sqlite3.c:84589:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -58136,7 +58155,7 @@ func vdbeRecordCompareString(tls *libc.TLS, nKey1 int32, pKey1 uintptr, pPKey2 u nStr = (*(*int32)(unsafe.Pointer(bp)) - 12) / 2 if szHdr+nStr > nKey1 { - (*UnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = U8(Xsqlite3CorruptError(tls, 84601)) + (*UnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = U8(Xsqlite3CorruptError(tls, 84614)) return 0 // Corruption } nCmp = func() int32 { @@ -58174,7 +58193,7 @@ func vdbeRecordCompareString(tls *libc.TLS, nKey1 int32, pKey1 uintptr, pPKey2 u // Return a pointer to an sqlite3VdbeRecordCompare() compatible function // suitable for comparing serialized records to the unpacked record passed // as the only argument. -func Xsqlite3VdbeFindCompare(tls *libc.TLS, p uintptr) RecordCompare { /* sqlite3.c:84640:30: */ +func Xsqlite3VdbeFindCompare(tls *libc.TLS, p uintptr) RecordCompare { /* sqlite3.c:84653:30: */ // varintRecordCompareInt() and varintRecordCompareString() both assume // that the size-of-header varint that occurs at the start of each record // fits in a single byte (i.e. is 127 or less). varintRecordCompareInt() @@ -58228,7 +58247,7 @@ func Xsqlite3VdbeFindCompare(tls *libc.TLS, p uintptr) RecordCompare { /* sqlite // // pCur might be pointing to text obtained from a corrupt database file. // So the content cannot be trusted. Do appropriate checks on the content. -func Xsqlite3VdbeIdxRowid(tls *libc.TLS, db uintptr, pCur uintptr, rowid uintptr) int32 { /* sqlite3.c:84691:20: */ +func Xsqlite3VdbeIdxRowid(tls *libc.TLS, db uintptr, pCur uintptr, rowid uintptr) int32 { /* sqlite3.c:84704:20: */ bp := tls.Alloc(120) defer tls.Free(120) @@ -58313,7 +58332,7 @@ __6: idx_rowid_corruption: ; Xsqlite3VdbeMemRelease(tls, bp) - return Xsqlite3CorruptError(tls, 84756) + return Xsqlite3CorruptError(tls, 84769) } // Compare the key of the index entry that cursor pC is pointing to against @@ -58325,7 +58344,7 @@ idx_rowid_corruption: // omits the rowid at the end. The rowid at the end of the index entry // is ignored as well. Hence, this routine only compares the prefixes // of the keys prior to the final rowid, not the entire key. -func Xsqlite3VdbeIdxKeyCompare(tls *libc.TLS, db uintptr, pC uintptr, pUnpacked uintptr, res uintptr) int32 { /* sqlite3.c:84770:20: */ +func Xsqlite3VdbeIdxKeyCompare(tls *libc.TLS, db uintptr, pC uintptr, pUnpacked uintptr, res uintptr) int32 { /* sqlite3.c:84783:20: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -58341,7 +58360,7 @@ func Xsqlite3VdbeIdxKeyCompare(tls *libc.TLS, db uintptr, pC uintptr, pUnpacked // that btreeParseCellPtr() and sqlite3GetVarint32() are implemented if nCellKey <= int64(0) || nCellKey > int64(0x7fffffff) { *(*int32)(unsafe.Pointer(res)) = 0 - return Xsqlite3CorruptError(tls, 84789) + return Xsqlite3CorruptError(tls, 84802) } Xsqlite3VdbeMemInit(tls, bp, db, uint16(0)) rc = Xsqlite3VdbeMemFromBtreeZeroOffset(tls, pCur, U32(nCellKey), bp) @@ -58355,7 +58374,7 @@ func Xsqlite3VdbeIdxKeyCompare(tls *libc.TLS, db uintptr, pC uintptr, pUnpacked // This routine sets the value to be returned by subsequent calls to // sqlite3_changes() on the database handle 'db'. -func Xsqlite3VdbeSetChanges(tls *libc.TLS, db uintptr, nChange I64) { /* sqlite3.c:84805:21: */ +func Xsqlite3VdbeSetChanges(tls *libc.TLS, db uintptr, nChange I64) { /* sqlite3.c:84818:21: */ (*Sqlite3)(unsafe.Pointer(db)).FnChange = nChange *(*I64)(unsafe.Pointer(db + 128)) += nChange @@ -58363,7 +58382,7 @@ func Xsqlite3VdbeSetChanges(tls *libc.TLS, db uintptr, nChange I64) { /* sqlite3 // Set a flag in the vdbe to update the change counter when it is finalised // or reset. -func Xsqlite3VdbeCountChanges(tls *libc.TLS, v uintptr) { /* sqlite3.c:84815:21: */ +func Xsqlite3VdbeCountChanges(tls *libc.TLS, v uintptr) { /* sqlite3.c:84828:21: */ libc.SetBitFieldPtr16Uint32(v+208, Bft(1), 4, 0x10) } @@ -58383,7 +58402,7 @@ func Xsqlite3VdbeCountChanges(tls *libc.TLS, v uintptr) { /* sqlite3.c:84815:21: // Internally, this function just sets the Vdbe.expired flag on all // prepared statements. The flag is set to 1 for an immediate expiration // and set to 2 for an advisory expiration. -func Xsqlite3ExpirePreparedStatements(tls *libc.TLS, db uintptr, iCode int32) { /* sqlite3.c:84837:21: */ +func Xsqlite3ExpirePreparedStatements(tls *libc.TLS, db uintptr, iCode int32) { /* sqlite3.c:84850:21: */ var p uintptr for p = (*Sqlite3)(unsafe.Pointer(db)).FpVdbe; p != 0; p = (*Vdbe)(unsafe.Pointer(p)).FpNext { libc.SetBitFieldPtr16Uint32(p+208, Bft(iCode+1), 0, 0x3) @@ -58391,12 +58410,12 @@ func Xsqlite3ExpirePreparedStatements(tls *libc.TLS, db uintptr, iCode int32) { } // Return the database associated with the Vdbe. -func Xsqlite3VdbeDb(tls *libc.TLS, v uintptr) uintptr { /* sqlite3.c:84847:24: */ +func Xsqlite3VdbeDb(tls *libc.TLS, v uintptr) uintptr { /* sqlite3.c:84860:24: */ return (*Vdbe)(unsafe.Pointer(v)).Fdb } // Return the SQLITE_PREPARE flags for a Vdbe. -func Xsqlite3VdbePrepareFlags(tls *libc.TLS, v uintptr) U8 { /* sqlite3.c:84854:19: */ +func Xsqlite3VdbePrepareFlags(tls *libc.TLS, v uintptr) U8 { /* sqlite3.c:84867:19: */ return (*Vdbe)(unsafe.Pointer(v)).FprepFlags } @@ -58406,7 +58425,7 @@ func Xsqlite3VdbePrepareFlags(tls *libc.TLS, v uintptr) U8 { /* sqlite3.c:84854: // constants) to the value before returning it. // // The returned value must be freed by the caller using sqlite3ValueFree(). -func Xsqlite3VdbeGetBoundValue(tls *libc.TLS, v uintptr, iVar int32, aff U8) uintptr { /* sqlite3.c:84866:30: */ +func Xsqlite3VdbeGetBoundValue(tls *libc.TLS, v uintptr, iVar int32, aff U8) uintptr { /* sqlite3.c:84879:30: */ if v != 0 { var pMem uintptr = (*Vdbe)(unsafe.Pointer(v)).FaVar + uintptr(iVar-1)*56 @@ -58426,7 +58445,7 @@ func Xsqlite3VdbeGetBoundValue(tls *libc.TLS, v uintptr, iVar int32, aff U8) uin // Configure SQL variable iVar so that binding a new value to it signals // to sqlite3_reoptimize() that re-preparing the statement may result // in a better query plan. -func Xsqlite3VdbeSetVarmask(tls *libc.TLS, v uintptr, iVar int32) { /* sqlite3.c:84888:21: */ +func Xsqlite3VdbeSetVarmask(tls *libc.TLS, v uintptr, iVar int32) { /* sqlite3.c:84901:21: */ if iVar >= 32 { *(*U32)(unsafe.Pointer(v + 292)) |= 0x80000000 @@ -58442,7 +58461,7 @@ func Xsqlite3VdbeSetVarmask(tls *libc.TLS, v uintptr, iVar int32) { /* sqlite3.c // throw an error if it is given inputs that would make it non-deterministic. // This routine is invoked by date/time functions that use non-deterministic // features such as 'now'. -func Xsqlite3NotPureFunc(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:84907:20: */ +func Xsqlite3NotPureFunc(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:84920:20: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -58473,7 +58492,7 @@ func Xsqlite3NotPureFunc(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:84907 // Transfer error message text from an sqlite3_vtab.zErrMsg (text stored // in memory obtained from sqlite3_malloc) into a Vdbe.zErrMsg (text stored // in memory obtained from sqlite3DbMalloc). -func Xsqlite3VtabImportErrmsg(tls *libc.TLS, p uintptr, pVtab uintptr) { /* sqlite3.c:84938:21: */ +func Xsqlite3VtabImportErrmsg(tls *libc.TLS, p uintptr, pVtab uintptr) { /* sqlite3.c:84951:21: */ if (*Sqlite3_vtab)(unsafe.Pointer(pVtab)).FzErrMsg != 0 { var db uintptr = (*Vdbe)(unsafe.Pointer(p)).Fdb Xsqlite3DbFree(tls, db, (*Vdbe)(unsafe.Pointer(p)).FzErrMsg) @@ -58489,7 +58508,7 @@ func Xsqlite3VtabImportErrmsg(tls *libc.TLS, p uintptr, pVtab uintptr) { /* sqli // // This function is used to free UnpackedRecord structures allocated by // the vdbeUnpackRecord() function found in vdbeapi.c. -func vdbeFreeUnpacked(tls *libc.TLS, db uintptr, nField int32, p uintptr) { /* sqlite3.c:84959:13: */ +func vdbeFreeUnpacked(tls *libc.TLS, db uintptr, nField int32, p uintptr) { /* sqlite3.c:84972:13: */ if p != 0 { var i int32 for i = 0; i < nField; i++ { @@ -58506,7 +58525,7 @@ func vdbeFreeUnpacked(tls *libc.TLS, db uintptr, nField int32, p uintptr) { /* s // then cursor passed as the second argument should point to the row about // to be update or deleted. If the application calls sqlite3_preupdate_old(), // the required value will be read from the row the cursor points to. -func Xsqlite3VdbePreUpdateHook(tls *libc.TLS, v uintptr, pCsr uintptr, op int32, zDb uintptr, pTab uintptr, iKey1 I64, iReg int32, iBlobWrite int32) { /* sqlite3.c:84978:21: */ +func Xsqlite3VdbePreUpdateHook(tls *libc.TLS, v uintptr, pCsr uintptr, op int32, zDb uintptr, pTab uintptr, iKey1 I64, iReg int32, iBlobWrite int32) { /* sqlite3.c:84991:21: */ bp := tls.Alloc(136) defer tls.Free(136) @@ -58558,7 +58577,7 @@ func Xsqlite3VdbePreUpdateHook(tls *libc.TLS, v uintptr, pCsr uintptr, op int32, } } -var fakeSortOrder U8 = U8(0) /* sqlite3.c:84992:19 */ +var fakeSortOrder U8 = U8(0) /* sqlite3.c:85005:19 */ //************* End of vdbeaux.c ******************************************** //************* Begin file vdbeapi.c **************************************** @@ -58584,7 +58603,7 @@ var fakeSortOrder U8 = U8(0) /* sqlite3.c:84992:19 */ // that sqlite3_prepare() generates. For example, if new functions or // collating sequences are registered or if an authorizer function is // added or changed. -func Xsqlite3_expired(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:85071:16: */ +func Xsqlite3_expired(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:85084:16: */ var p uintptr = pStmt return libc.Bool32(p == uintptr(0) || Bft(int32(*(*uint16)(unsafe.Pointer(p + 208))&0x3>>0)) != 0) } @@ -58592,7 +58611,7 @@ func Xsqlite3_expired(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:85071:1 // Check on a Vdbe to make sure it has not been finalized. Log // an error and return true if it has been finalized (or is otherwise // invalid). Return false if it is ok. -func vdbeSafety(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:85082:12: */ +func vdbeSafety(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:85095:12: */ if (*Vdbe)(unsafe.Pointer(p)).Fdb == uintptr(0) { Xsqlite3_log(tls, SQLITE_MISUSE, ts+5184, 0) return 1 @@ -58602,7 +58621,7 @@ func vdbeSafety(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:85082:12: */ return int32(0) } -func vdbeSafetyNotNull(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:85090:12: */ +func vdbeSafetyNotNull(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:85103:12: */ if p == uintptr(0) { Xsqlite3_log(tls, SQLITE_MISUSE, ts+5229, 0) return 1 @@ -58614,7 +58633,7 @@ func vdbeSafetyNotNull(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:85090:12: // Invoke the profile callback. This routine is only called if we already // know that the profile callback is defined and needs to be invoked. -func invokeProfileCallback(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:85104:29: */ +func invokeProfileCallback(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:85117:29: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -58647,7 +58666,7 @@ func invokeProfileCallback(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c: // // This routine sets the error code and string returned by // sqlite3_errcode(), sqlite3_errmsg() and sqlite3_errmsg16(). -func Xsqlite3_finalize(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:85142:16: */ +func Xsqlite3_finalize(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:85155:16: */ var rc int32 if pStmt == uintptr(0) { // IMPLEMENTATION-OF: R-57228-12904 Invoking sqlite3_finalize() on a NULL @@ -58657,7 +58676,7 @@ func Xsqlite3_finalize(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:85142: var v uintptr = pStmt var db uintptr = (*Vdbe)(unsafe.Pointer(v)).Fdb if vdbeSafety(tls, v) != 0 { - return Xsqlite3MisuseError(tls, 85151) + return Xsqlite3MisuseError(tls, 85164) } Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) if (*Vdbe)(unsafe.Pointer(v)).FstartTime > int64(0) { @@ -58677,7 +58696,7 @@ func Xsqlite3_finalize(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:85142: // // This routine sets the error code and string returned by // sqlite3_errcode(), sqlite3_errmsg() and sqlite3_errmsg16(). -func Xsqlite3_reset(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:85169:16: */ +func Xsqlite3_reset(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:85182:16: */ var rc int32 if pStmt == uintptr(0) { rc = SQLITE_OK @@ -58699,7 +58718,7 @@ func Xsqlite3_reset(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:85169:16: } // Set all the parameters in the compiled SQL statement to NULL. -func Xsqlite3_clear_bindings(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:85190:16: */ +func Xsqlite3_clear_bindings(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:85203:16: */ var i int32 var rc int32 = SQLITE_OK var p uintptr = pStmt @@ -58721,7 +58740,7 @@ func Xsqlite3_clear_bindings(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c: // // The following routines extract information from a Mem or sqlite3_value // structure. -func Xsqlite3_value_blob(tls *libc.TLS, pVal uintptr) uintptr { /* sqlite3.c:85215:23: */ +func Xsqlite3_value_blob(tls *libc.TLS, pVal uintptr) uintptr { /* sqlite3.c:85228:23: */ var p uintptr = pVal if int32((*Mem)(unsafe.Pointer(p)).Fflags)&(MEM_Blob|MEM_Str) != 0 { if func() int32 { @@ -58744,27 +58763,27 @@ func Xsqlite3_value_blob(tls *libc.TLS, pVal uintptr) uintptr { /* sqlite3.c:852 return uintptr(0) } -func Xsqlite3_value_bytes(tls *libc.TLS, pVal uintptr) int32 { /* sqlite3.c:85228:16: */ +func Xsqlite3_value_bytes(tls *libc.TLS, pVal uintptr) int32 { /* sqlite3.c:85241:16: */ return Xsqlite3ValueBytes(tls, pVal, uint8(SQLITE_UTF8)) } -func Xsqlite3_value_bytes16(tls *libc.TLS, pVal uintptr) int32 { /* sqlite3.c:85231:16: */ +func Xsqlite3_value_bytes16(tls *libc.TLS, pVal uintptr) int32 { /* sqlite3.c:85244:16: */ return Xsqlite3ValueBytes(tls, pVal, uint8(SQLITE_UTF16LE)) } -func Xsqlite3_value_double(tls *libc.TLS, pVal uintptr) float64 { /* sqlite3.c:85234:19: */ +func Xsqlite3_value_double(tls *libc.TLS, pVal uintptr) float64 { /* sqlite3.c:85247:19: */ return Xsqlite3VdbeRealValue(tls, pVal) } -func Xsqlite3_value_int(tls *libc.TLS, pVal uintptr) int32 { /* sqlite3.c:85237:16: */ +func Xsqlite3_value_int(tls *libc.TLS, pVal uintptr) int32 { /* sqlite3.c:85250:16: */ return int32(Xsqlite3VdbeIntValue(tls, pVal)) } -func Xsqlite3_value_int64(tls *libc.TLS, pVal uintptr) Sqlite_int64 { /* sqlite3.c:85240:25: */ +func Xsqlite3_value_int64(tls *libc.TLS, pVal uintptr) Sqlite_int64 { /* sqlite3.c:85253:25: */ return Xsqlite3VdbeIntValue(tls, pVal) } -func Xsqlite3_value_subtype(tls *libc.TLS, pVal uintptr) uint32 { /* sqlite3.c:85243:25: */ +func Xsqlite3_value_subtype(tls *libc.TLS, pVal uintptr) uint32 { /* sqlite3.c:85256:25: */ var pMem uintptr = pVal return func() uint32 { if int32((*Mem)(unsafe.Pointer(pMem)).Fflags)&MEM_Subtype != 0 { @@ -58774,7 +58793,7 @@ func Xsqlite3_value_subtype(tls *libc.TLS, pVal uintptr) uint32 { /* sqlite3.c:8 }() } -func Xsqlite3_value_pointer(tls *libc.TLS, pVal uintptr, zPType uintptr) uintptr { /* sqlite3.c:85247:17: */ +func Xsqlite3_value_pointer(tls *libc.TLS, pVal uintptr, zPType uintptr) uintptr { /* sqlite3.c:85260:17: */ var p uintptr = pVal if int32((*Mem)(unsafe.Pointer(p)).Fflags)&(MEM_TypeMask|MEM_Term|MEM_Subtype) == MEM_Null|MEM_Term|MEM_Subtype && zPType != uintptr(0) && @@ -58787,26 +58806,26 @@ func Xsqlite3_value_pointer(tls *libc.TLS, pVal uintptr, zPType uintptr) uintptr return uintptr(0) } -func Xsqlite3_value_text(tls *libc.TLS, pVal uintptr) uintptr { /* sqlite3.c:85260:32: */ +func Xsqlite3_value_text(tls *libc.TLS, pVal uintptr) uintptr { /* sqlite3.c:85273:32: */ return Xsqlite3ValueText(tls, pVal, uint8(SQLITE_UTF8)) } -func Xsqlite3_value_text16(tls *libc.TLS, pVal uintptr) uintptr { /* sqlite3.c:85264:23: */ +func Xsqlite3_value_text16(tls *libc.TLS, pVal uintptr) uintptr { /* sqlite3.c:85277:23: */ return Xsqlite3ValueText(tls, pVal, uint8(SQLITE_UTF16LE)) } -func Xsqlite3_value_text16be(tls *libc.TLS, pVal uintptr) uintptr { /* sqlite3.c:85267:23: */ +func Xsqlite3_value_text16be(tls *libc.TLS, pVal uintptr) uintptr { /* sqlite3.c:85280:23: */ return Xsqlite3ValueText(tls, pVal, uint8(SQLITE_UTF16BE)) } -func Xsqlite3_value_text16le(tls *libc.TLS, pVal uintptr) uintptr { /* sqlite3.c:85270:23: */ +func Xsqlite3_value_text16le(tls *libc.TLS, pVal uintptr) uintptr { /* sqlite3.c:85283:23: */ return Xsqlite3ValueText(tls, pVal, uint8(SQLITE_UTF16LE)) } // EVIDENCE-OF: R-12793-43283 Every value in SQLite has one of five // fundamental datatypes: 64-bit signed integer 64-bit IEEE floating // point number string BLOB NULL -func Xsqlite3_value_type(tls *libc.TLS, pVal uintptr) int32 { /* sqlite3.c:85278:16: */ +func Xsqlite3_value_type(tls *libc.TLS, pVal uintptr) int32 { /* sqlite3.c:85291:16: */ return int32(aType[int32((*Sqlite3_value)(unsafe.Pointer(pVal)).Fflags)&MEM_AffMask]) } @@ -58875,20 +58894,20 @@ var aType = [64]U8{ U8(SQLITE_NULL), // 0x3d (not possible) U8(SQLITE_FLOAT), // 0x3e (not possible) U8(SQLITE_NULL), // 0x3f (not possible) -} /* sqlite3.c:85279:19 */ +} /* sqlite3.c:85292:19 */ // Return true if a parameter to xUpdate represents an unchanged column -func Xsqlite3_value_nochange(tls *libc.TLS, pVal uintptr) int32 { /* sqlite3.c:85364:16: */ +func Xsqlite3_value_nochange(tls *libc.TLS, pVal uintptr) int32 { /* sqlite3.c:85377:16: */ return libc.Bool32(int32((*Sqlite3_value)(unsafe.Pointer(pVal)).Fflags)&(MEM_Null|MEM_Zero) == MEM_Null|MEM_Zero) } // Return true if a parameter value originated from an sqlite3_bind() -func Xsqlite3_value_frombind(tls *libc.TLS, pVal uintptr) int32 { /* sqlite3.c:85369:16: */ +func Xsqlite3_value_frombind(tls *libc.TLS, pVal uintptr) int32 { /* sqlite3.c:85382:16: */ return libc.Bool32(int32((*Sqlite3_value)(unsafe.Pointer(pVal)).Fflags)&MEM_FromBind != 0) } // Make a copy of an sqlite3_value object -func Xsqlite3_value_dup(tls *libc.TLS, pOrig uintptr) uintptr { /* sqlite3.c:85375:26: */ +func Xsqlite3_value_dup(tls *libc.TLS, pOrig uintptr) uintptr { /* sqlite3.c:85388:26: */ var pNew uintptr if pOrig == uintptr(0) { return uintptr(0) @@ -58914,7 +58933,7 @@ func Xsqlite3_value_dup(tls *libc.TLS, pOrig uintptr) uintptr { /* sqlite3.c:853 // Destroy an sqlite3_value object previously obtained from // sqlite3_value_dup(). -func Xsqlite3_value_free(tls *libc.TLS, pOld uintptr) { /* sqlite3.c:85398:17: */ +func Xsqlite3_value_free(tls *libc.TLS, pOld uintptr) { /* sqlite3.c:85411:17: */ Xsqlite3ValueFree(tls, pOld) } @@ -58929,7 +58948,7 @@ func Xsqlite3_value_free(tls *libc.TLS, pOld uintptr) { /* sqlite3.c:85398:17: * // // The invokeValueDestructor(P,X) routine invokes destructor function X() // on value P is not going to be used and need to be destroyed. -func setResultStrOrError(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, enc U8, xDel uintptr) { /* sqlite3.c:85414:13: */ +func setResultStrOrError(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, enc U8, xDel uintptr) { /* sqlite3.c:85427:13: */ var rc int32 = Xsqlite3VdbeMemSetStr(tls, (*Sqlite3_context)(unsafe.Pointer(pCtx)).FpOut, z, int64(n), enc, xDel) if rc != 0 { if rc == SQLITE_TOOBIG { @@ -58943,7 +58962,7 @@ func setResultStrOrError(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, enc U8 } } -func invokeValueDestructor(tls *libc.TLS, p uintptr, xDel uintptr, pCtx uintptr) int32 { /* sqlite3.c:85433:12: */ +func invokeValueDestructor(tls *libc.TLS, p uintptr, xDel uintptr, pCtx uintptr) int32 { /* sqlite3.c:85446:12: */ if xDel == uintptr(0) { // noop @@ -58956,12 +58975,12 @@ func invokeValueDestructor(tls *libc.TLS, p uintptr, xDel uintptr, pCtx uintptr) return SQLITE_TOOBIG } -func Xsqlite3_result_blob(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, xDel uintptr) { /* sqlite3.c:85449:17: */ +func Xsqlite3_result_blob(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, xDel uintptr) { /* sqlite3.c:85462:17: */ setResultStrOrError(tls, pCtx, z, n, uint8(0), xDel) } -func Xsqlite3_result_blob64(tls *libc.TLS, pCtx uintptr, z uintptr, n Sqlite3_uint64, xDel uintptr) { /* sqlite3.c:85459:17: */ +func Xsqlite3_result_blob64(tls *libc.TLS, pCtx uintptr, z uintptr, n Sqlite3_uint64, xDel uintptr) { /* sqlite3.c:85472:17: */ if n > uint64(0x7fffffff) { invokeValueDestructor(tls, z, xDel, pCtx) @@ -58970,39 +58989,39 @@ func Xsqlite3_result_blob64(tls *libc.TLS, pCtx uintptr, z uintptr, n Sqlite3_ui } } -func Xsqlite3_result_double(tls *libc.TLS, pCtx uintptr, rVal float64) { /* sqlite3.c:85473:17: */ +func Xsqlite3_result_double(tls *libc.TLS, pCtx uintptr, rVal float64) { /* sqlite3.c:85486:17: */ Xsqlite3VdbeMemSetDouble(tls, (*Sqlite3_context)(unsafe.Pointer(pCtx)).FpOut, rVal) } -func Xsqlite3_result_error(tls *libc.TLS, pCtx uintptr, z uintptr, n int32) { /* sqlite3.c:85477:17: */ +func Xsqlite3_result_error(tls *libc.TLS, pCtx uintptr, z uintptr, n int32) { /* sqlite3.c:85490:17: */ (*Sqlite3_context)(unsafe.Pointer(pCtx)).FisError = SQLITE_ERROR Xsqlite3VdbeMemSetStr(tls, (*Sqlite3_context)(unsafe.Pointer(pCtx)).FpOut, z, int64(n), uint8(SQLITE_UTF8), libc.UintptrFromInt32(-1)) } -func Xsqlite3_result_error16(tls *libc.TLS, pCtx uintptr, z uintptr, n int32) { /* sqlite3.c:85483:17: */ +func Xsqlite3_result_error16(tls *libc.TLS, pCtx uintptr, z uintptr, n int32) { /* sqlite3.c:85496:17: */ (*Sqlite3_context)(unsafe.Pointer(pCtx)).FisError = SQLITE_ERROR Xsqlite3VdbeMemSetStr(tls, (*Sqlite3_context)(unsafe.Pointer(pCtx)).FpOut, z, int64(n), uint8(SQLITE_UTF16LE), libc.UintptrFromInt32(-1)) } -func Xsqlite3_result_int(tls *libc.TLS, pCtx uintptr, iVal int32) { /* sqlite3.c:85489:17: */ +func Xsqlite3_result_int(tls *libc.TLS, pCtx uintptr, iVal int32) { /* sqlite3.c:85502:17: */ Xsqlite3VdbeMemSetInt64(tls, (*Sqlite3_context)(unsafe.Pointer(pCtx)).FpOut, I64(iVal)) } -func Xsqlite3_result_int64(tls *libc.TLS, pCtx uintptr, iVal I64) { /* sqlite3.c:85493:17: */ +func Xsqlite3_result_int64(tls *libc.TLS, pCtx uintptr, iVal I64) { /* sqlite3.c:85506:17: */ Xsqlite3VdbeMemSetInt64(tls, (*Sqlite3_context)(unsafe.Pointer(pCtx)).FpOut, iVal) } -func Xsqlite3_result_null(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:85497:17: */ +func Xsqlite3_result_null(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:85510:17: */ Xsqlite3VdbeMemSetNull(tls, (*Sqlite3_context)(unsafe.Pointer(pCtx)).FpOut) } -func Xsqlite3_result_pointer(tls *libc.TLS, pCtx uintptr, pPtr uintptr, zPType uintptr, xDestructor uintptr) { /* sqlite3.c:85501:17: */ +func Xsqlite3_result_pointer(tls *libc.TLS, pCtx uintptr, pPtr uintptr, zPType uintptr, xDestructor uintptr) { /* sqlite3.c:85514:17: */ var pOut uintptr = (*Sqlite3_context)(unsafe.Pointer(pCtx)).FpOut Xsqlite3VdbeMemRelease(tls, pOut) @@ -59010,19 +59029,19 @@ func Xsqlite3_result_pointer(tls *libc.TLS, pCtx uintptr, pPtr uintptr, zPType u Xsqlite3VdbeMemSetPointer(tls, pOut, pPtr, zPType, xDestructor) } -func Xsqlite3_result_subtype(tls *libc.TLS, pCtx uintptr, eSubtype uint32) { /* sqlite3.c:85513:17: */ +func Xsqlite3_result_subtype(tls *libc.TLS, pCtx uintptr, eSubtype uint32) { /* sqlite3.c:85526:17: */ var pOut uintptr = (*Sqlite3_context)(unsafe.Pointer(pCtx)).FpOut (*Mem)(unsafe.Pointer(pOut)).FeSubtype = U8(eSubtype & uint32(0xff)) *(*U16)(unsafe.Pointer(pOut + 8)) |= U16(MEM_Subtype) } -func Xsqlite3_result_text(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, xDel uintptr) { /* sqlite3.c:85519:17: */ +func Xsqlite3_result_text(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, xDel uintptr) { /* sqlite3.c:85532:17: */ setResultStrOrError(tls, pCtx, z, n, uint8(SQLITE_UTF8), xDel) } -func Xsqlite3_result_text64(tls *libc.TLS, pCtx uintptr, z uintptr, n Sqlite3_uint64, xDel uintptr, enc uint8) { /* sqlite3.c:85528:17: */ +func Xsqlite3_result_text64(tls *libc.TLS, pCtx uintptr, z uintptr, n Sqlite3_uint64, xDel uintptr, enc uint8) { /* sqlite3.c:85541:17: */ if int32(enc) == SQLITE_UTF16 { enc = uint8(SQLITE_UTF16LE) @@ -59034,32 +59053,32 @@ func Xsqlite3_result_text64(tls *libc.TLS, pCtx uintptr, z uintptr, n Sqlite3_ui } } -func Xsqlite3_result_text16(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, xDel uintptr) { /* sqlite3.c:85545:17: */ +func Xsqlite3_result_text16(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, xDel uintptr) { /* sqlite3.c:85558:17: */ setResultStrOrError(tls, pCtx, z, n, uint8(SQLITE_UTF16LE), xDel) } -func Xsqlite3_result_text16be(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, xDel uintptr) { /* sqlite3.c:85554:17: */ +func Xsqlite3_result_text16be(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, xDel uintptr) { /* sqlite3.c:85567:17: */ setResultStrOrError(tls, pCtx, z, n, uint8(SQLITE_UTF16BE), xDel) } -func Xsqlite3_result_text16le(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, xDel uintptr) { /* sqlite3.c:85563:17: */ +func Xsqlite3_result_text16le(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, xDel uintptr) { /* sqlite3.c:85576:17: */ setResultStrOrError(tls, pCtx, z, n, uint8(SQLITE_UTF16LE), xDel) } -func Xsqlite3_result_value(tls *libc.TLS, pCtx uintptr, pValue uintptr) { /* sqlite3.c:85573:17: */ +func Xsqlite3_result_value(tls *libc.TLS, pCtx uintptr, pValue uintptr) { /* sqlite3.c:85586:17: */ Xsqlite3VdbeMemCopy(tls, (*Sqlite3_context)(unsafe.Pointer(pCtx)).FpOut, pValue) } -func Xsqlite3_result_zeroblob(tls *libc.TLS, pCtx uintptr, n int32) { /* sqlite3.c:85577:17: */ +func Xsqlite3_result_zeroblob(tls *libc.TLS, pCtx uintptr, n int32) { /* sqlite3.c:85590:17: */ Xsqlite3VdbeMemSetZeroBlob(tls, (*Sqlite3_context)(unsafe.Pointer(pCtx)).FpOut, n) } -func Xsqlite3_result_zeroblob64(tls *libc.TLS, pCtx uintptr, n U64) int32 { /* sqlite3.c:85581:16: */ +func Xsqlite3_result_zeroblob64(tls *libc.TLS, pCtx uintptr, n U64) int32 { /* sqlite3.c:85594:16: */ var pOut uintptr = (*Sqlite3_context)(unsafe.Pointer(pCtx)).FpOut if n > U64(*(*int32)(unsafe.Pointer((*Mem)(unsafe.Pointer(pOut)).Fdb + 136))) { @@ -59069,7 +59088,7 @@ func Xsqlite3_result_zeroblob64(tls *libc.TLS, pCtx uintptr, n U64) int32 { /* s return SQLITE_OK } -func Xsqlite3_result_error_code(tls *libc.TLS, pCtx uintptr, errCode int32) { /* sqlite3.c:85594:17: */ +func Xsqlite3_result_error_code(tls *libc.TLS, pCtx uintptr, errCode int32) { /* sqlite3.c:85607:17: */ (*Sqlite3_context)(unsafe.Pointer(pCtx)).FisError = func() int32 { if errCode != 0 { return errCode @@ -59083,7 +59102,7 @@ func Xsqlite3_result_error_code(tls *libc.TLS, pCtx uintptr, errCode int32) { /* } // Force an SQLITE_TOOBIG error. -func Xsqlite3_result_error_toobig(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:85606:17: */ +func Xsqlite3_result_error_toobig(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:85619:17: */ (*Sqlite3_context)(unsafe.Pointer(pCtx)).FisError = SQLITE_TOOBIG Xsqlite3VdbeMemSetStr(tls, (*Sqlite3_context)(unsafe.Pointer(pCtx)).FpOut, ts+5269, int64(-1), @@ -59091,7 +59110,7 @@ func Xsqlite3_result_error_toobig(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:85 } // An SQLITE_NOMEM error. -func Xsqlite3_result_error_nomem(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:85614:17: */ +func Xsqlite3_result_error_nomem(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:85627:17: */ Xsqlite3VdbeMemSetNull(tls, (*Sqlite3_context)(unsafe.Pointer(pCtx)).FpOut) (*Sqlite3_context)(unsafe.Pointer(pCtx)).FisError = SQLITE_NOMEM @@ -59101,7 +59120,7 @@ func Xsqlite3_result_error_nomem(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:856 // Force the INT64 value currently stored as the result to be // a MEM_IntReal value. See the SQLITE_TESTCTRL_RESULT_INTREAL // test-control. -func Xsqlite3ResultIntReal(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:85626:21: */ +func Xsqlite3ResultIntReal(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:85639:21: */ if int32((*Mem)(unsafe.Pointer((*Sqlite3_context)(unsafe.Pointer(pCtx)).FpOut)).Fflags)&MEM_Int != 0 { *(*U16)(unsafe.Pointer((*Sqlite3_context)(unsafe.Pointer(pCtx)).FpOut + 8)) &= libc.Uint16FromInt32(libc.CplInt32(MEM_Int)) @@ -59111,7 +59130,7 @@ func Xsqlite3ResultIntReal(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:85626:21: // This function is called after a transaction has been committed. It // invokes callbacks registered with sqlite3_wal_hook() as required. -func doWalCallbacks(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:85640:12: */ +func doWalCallbacks(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:85653:12: */ var rc int32 = SQLITE_OK var i int32 for i = 0; i < (*Sqlite3)(unsafe.Pointer(db)).FnDb; i++ { @@ -59138,7 +59157,7 @@ func doWalCallbacks(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:85640:12: */ // API. The only thing omitted is the automatic recompile if a // schema change has occurred. That detail is handled by the // outer sqlite3_step() wrapper procedure. -func sqlite3Step(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:85670:12: */ +func sqlite3Step(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:85683:12: */ var db uintptr var rc int32 @@ -59305,14 +59324,14 @@ end_of_step: // This is the top-level implementation of sqlite3_step(). Call // sqlite3Step() to do most of the work. If a schema error occurs, // call sqlite3Reprepare() and try again. -func Xsqlite3_step(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:85804:16: */ +func Xsqlite3_step(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:85817:16: */ var rc int32 = SQLITE_OK // Result from sqlite3Step() var v uintptr = pStmt // the prepared statement var cnt int32 = 0 // Counter to prevent infinite loop of reprepares var db uintptr // The database connection if vdbeSafetyNotNull(tls, v) != 0 { - return Xsqlite3MisuseError(tls, 85811) + return Xsqlite3MisuseError(tls, 85824) } db = (*Vdbe)(unsafe.Pointer(v)).Fdb Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) @@ -59352,7 +59371,7 @@ func Xsqlite3_step(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:85804:16: // Extract the user data from a sqlite3_context structure and return a // pointer to it. -func Xsqlite3_user_data(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:85853:17: */ +func Xsqlite3_user_data(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:85866:17: */ return (*FuncDef)(unsafe.Pointer((*Sqlite3_context)(unsafe.Pointer(p)).FpFunc)).FpUserData } @@ -59365,7 +59384,7 @@ func Xsqlite3_user_data(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:85853:1 // parameter) of the sqlite3_create_function() and // sqlite3_create_function16() routines that originally registered the // application defined function. -func Xsqlite3_context_db_handle(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:85868:20: */ +func Xsqlite3_context_db_handle(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:85881:20: */ return (*Mem)(unsafe.Pointer((*Sqlite3_context)(unsafe.Pointer(p)).FpOut)).Fdb } @@ -59382,14 +59401,14 @@ func Xsqlite3_context_db_handle(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c // Virtual table implements might use this routine to optimize their // performance by substituting a NULL result, or some other light-weight // value, as a signal to the xUpdate routine that the column is unchanged. -func Xsqlite3_vtab_nochange(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:85887:16: */ +func Xsqlite3_vtab_nochange(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:85900:16: */ return Xsqlite3_value_nochange(tls, (*Sqlite3_context)(unsafe.Pointer(p)).FpOut) } // Implementation of sqlite3_vtab_in_first() (if bNext==0) and // sqlite3_vtab_in_next() (if bNext!=0). -func valueFromValueList(tls *libc.TLS, pVal uintptr, ppOut uintptr, bNext int32) int32 { /* sqlite3.c:85896:12: */ +func valueFromValueList(tls *libc.TLS, pVal uintptr, ppOut uintptr, bNext int32) int32 { /* sqlite3.c:85909:12: */ bp := tls.Alloc(68) defer tls.Free(68) @@ -59447,13 +59466,13 @@ func valueFromValueList(tls *libc.TLS, pVal uintptr, ppOut uintptr, bNext int32) // Set the iterator value pVal to point to the first value in the set. // Set (*ppOut) to point to this value before returning. -func Xsqlite3_vtab_in_first(tls *libc.TLS, pVal uintptr, ppOut uintptr) int32 { /* sqlite3.c:85944:16: */ +func Xsqlite3_vtab_in_first(tls *libc.TLS, pVal uintptr, ppOut uintptr) int32 { /* sqlite3.c:85957:16: */ return valueFromValueList(tls, pVal, ppOut, 0) } // Set the iterator value pVal to point to the next value in the set. // Set (*ppOut) to point to this value before returning. -func Xsqlite3_vtab_in_next(tls *libc.TLS, pVal uintptr, ppOut uintptr) int32 { /* sqlite3.c:85952:16: */ +func Xsqlite3_vtab_in_next(tls *libc.TLS, pVal uintptr, ppOut uintptr) int32 { /* sqlite3.c:85965:16: */ return valueFromValueList(tls, pVal, ppOut, 1) } @@ -59462,7 +59481,7 @@ func Xsqlite3_vtab_in_next(tls *libc.TLS, pVal uintptr, ppOut uintptr) int32 { / // statement, the exact same time is returned for each invocation regardless // of the amount of time that elapses between invocations. In other words, // the time returned is always the time of the first call. -func Xsqlite3StmtCurrentTime(tls *libc.TLS, p uintptr) Sqlite3_int64 { /* sqlite3.c:85963:30: */ +func Xsqlite3StmtCurrentTime(tls *libc.TLS, p uintptr) Sqlite3_int64 { /* sqlite3.c:85976:30: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -59485,7 +59504,7 @@ func Xsqlite3StmtCurrentTime(tls *libc.TLS, p uintptr) Sqlite3_int64 { /* sqlite // Create a new aggregate context for p and return a pointer to // its pMem->z element. -func createAggContext(tls *libc.TLS, p uintptr, nByte int32) uintptr { /* sqlite3.c:85983:29: */ +func createAggContext(tls *libc.TLS, p uintptr, nByte int32) uintptr { /* sqlite3.c:85996:29: */ var pMem uintptr = (*Sqlite3_context)(unsafe.Pointer(p)).FpMem if nByte <= 0 { @@ -59505,7 +59524,7 @@ func createAggContext(tls *libc.TLS, p uintptr, nByte int32) uintptr { /* sqlite // Allocate or return the aggregate context for a user function. A new // context is allocated on the first call. Subsequent calls return the // same context that was returned on prior calls. -func Xsqlite3_aggregate_context(tls *libc.TLS, p uintptr, nByte int32) uintptr { /* sqlite3.c:86005:17: */ +func Xsqlite3_aggregate_context(tls *libc.TLS, p uintptr, nByte int32) uintptr { /* sqlite3.c:86018:17: */ if int32((*Mem)(unsafe.Pointer((*Sqlite3_context)(unsafe.Pointer(p)).FpMem)).Fflags)&MEM_Agg == 0 { return createAggContext(tls, p, nByte) @@ -59523,7 +59542,7 @@ func Xsqlite3_aggregate_context(tls *libc.TLS, p uintptr, nByte int32) uintptr { // Undocumented behavior: If iArg is negative then access a cache of // auxiliary data pointers that is available to all functions within a // single prepared statement. The iArg values must match. -func Xsqlite3_get_auxdata(tls *libc.TLS, pCtx uintptr, iArg int32) uintptr { /* sqlite3.c:86026:17: */ +func Xsqlite3_get_auxdata(tls *libc.TLS, pCtx uintptr, iArg int32) uintptr { /* sqlite3.c:86039:17: */ var pAuxData uintptr if (*Sqlite3_context)(unsafe.Pointer(pCtx)).FpVdbe == uintptr(0) { @@ -59546,7 +59565,7 @@ func Xsqlite3_get_auxdata(tls *libc.TLS, pCtx uintptr, iArg int32) uintptr { /* // Undocumented behavior: If iArg is negative then make the data available // 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) { /* sqlite3.c:86054:17: */ +func Xsqlite3_set_auxdata(tls *libc.TLS, pCtx uintptr, iArg int32, pAux uintptr, xDelete uintptr) { /* sqlite3.c:86067:17: */ var pAuxData uintptr var pVdbe uintptr pVdbe = (*Sqlite3_context)(unsafe.Pointer(pCtx)).FpVdbe @@ -59626,13 +59645,13 @@ __11: // provide only to avoid breaking legacy code. New aggregate function // implementations should keep their own counts within their aggregate // context. -func Xsqlite3_aggregate_count(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:86107:16: */ +func Xsqlite3_aggregate_count(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:86120:16: */ return (*Mem)(unsafe.Pointer((*Sqlite3_context)(unsafe.Pointer(p)).FpMem)).Fn } // Return the number of columns in the result set for the statement pStmt. -func Xsqlite3_column_count(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:86116:16: */ +func Xsqlite3_column_count(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:86129:16: */ var pVm uintptr = pStmt if pVm != 0 { return int32((*Vdbe)(unsafe.Pointer(pVm)).FnResColumn) @@ -59642,7 +59661,7 @@ func Xsqlite3_column_count(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:86 // Return the number of values available from the current row of the // currently executing statement pStmt. -func Xsqlite3_data_count(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:86125:16: */ +func Xsqlite3_data_count(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:86138:16: */ var pVm uintptr = pStmt if pVm == uintptr(0) || (*Vdbe)(unsafe.Pointer(pVm)).FpResultSet == uintptr(0) { return 0 @@ -59651,19 +59670,19 @@ func Xsqlite3_data_count(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:8612 } // Return a pointer to static memory containing an SQL NULL value. -func columnNullValue(tls *libc.TLS) uintptr { /* sqlite3.c:86134:18: */ +func columnNullValue(tls *libc.TLS) uintptr { /* sqlite3.c:86147:18: */ return uintptr(unsafe.Pointer(&nullMem)) } var nullMem = Mem{ /* .flags = */ Fflags: U16(MEM_Null), -} /* sqlite3.c:86144:20 */ +} /* sqlite3.c:86157:20 */ // Check to see if column iCol of the given statement is valid. If // it is, return a pointer to the Mem for the value of that column. // If iCol is not valid, return a pointer to a Mem which has a value // of NULL. -func columnMem(tls *libc.TLS, pStmt uintptr, i int32) uintptr { /* sqlite3.c:86174:12: */ +func columnMem(tls *libc.TLS, pStmt uintptr, i int32) uintptr { /* sqlite3.c:86187:12: */ var pVm uintptr var pOut uintptr @@ -59698,7 +59717,7 @@ func columnMem(tls *libc.TLS, pStmt uintptr, i int32) uintptr { /* sqlite3.c:861 // sqlite3_column_bytes() // sqlite3_column_bytes16() // sqiite3_column_blob() -func columnMallocFailure(tls *libc.TLS, pStmt uintptr) { /* sqlite3.c:86209:13: */ +func columnMallocFailure(tls *libc.TLS, pStmt uintptr) { /* sqlite3.c:86222:13: */ // If malloc() failed during an encoding conversion within an // sqlite3_column_XXX API, then set the return code of the statement to // SQLITE_NOMEM. The next call to _step() (if any) will return SQLITE_ERROR @@ -59715,7 +59734,7 @@ func columnMallocFailure(tls *libc.TLS, pStmt uintptr) { /* sqlite3.c:86209:13: // // The following routines are used to access elements of the current row // in the result set. -func Xsqlite3_column_blob(tls *libc.TLS, pStmt uintptr, i int32) uintptr { /* sqlite3.c:86229:23: */ +func Xsqlite3_column_blob(tls *libc.TLS, pStmt uintptr, i int32) uintptr { /* sqlite3.c:86242:23: */ var val uintptr val = Xsqlite3_value_blob(tls, columnMem(tls, pStmt, i)) // Even though there is no encoding conversion, value_blob() might @@ -59725,43 +59744,43 @@ func Xsqlite3_column_blob(tls *libc.TLS, pStmt uintptr, i int32) uintptr { /* sq return val } -func Xsqlite3_column_bytes(tls *libc.TLS, pStmt uintptr, i int32) int32 { /* sqlite3.c:86239:16: */ +func Xsqlite3_column_bytes(tls *libc.TLS, pStmt uintptr, i int32) int32 { /* sqlite3.c:86252:16: */ var val int32 = Xsqlite3_value_bytes(tls, columnMem(tls, pStmt, i)) columnMallocFailure(tls, pStmt) return val } -func Xsqlite3_column_bytes16(tls *libc.TLS, pStmt uintptr, i int32) int32 { /* sqlite3.c:86244:16: */ +func Xsqlite3_column_bytes16(tls *libc.TLS, pStmt uintptr, i int32) int32 { /* sqlite3.c:86257:16: */ var val int32 = Xsqlite3_value_bytes16(tls, columnMem(tls, pStmt, i)) columnMallocFailure(tls, pStmt) return val } -func Xsqlite3_column_double(tls *libc.TLS, pStmt uintptr, i int32) float64 { /* sqlite3.c:86249:19: */ +func Xsqlite3_column_double(tls *libc.TLS, pStmt uintptr, i int32) float64 { /* sqlite3.c:86262:19: */ var val float64 = Xsqlite3_value_double(tls, columnMem(tls, pStmt, i)) columnMallocFailure(tls, pStmt) return val } -func Xsqlite3_column_int(tls *libc.TLS, pStmt uintptr, i int32) int32 { /* sqlite3.c:86254:16: */ +func Xsqlite3_column_int(tls *libc.TLS, pStmt uintptr, i int32) int32 { /* sqlite3.c:86267:16: */ var val int32 = Xsqlite3_value_int(tls, columnMem(tls, pStmt, i)) columnMallocFailure(tls, pStmt) return val } -func Xsqlite3_column_int64(tls *libc.TLS, pStmt uintptr, i int32) Sqlite_int64 { /* sqlite3.c:86259:25: */ +func Xsqlite3_column_int64(tls *libc.TLS, pStmt uintptr, i int32) Sqlite_int64 { /* sqlite3.c:86272:25: */ var val Sqlite_int64 = Xsqlite3_value_int64(tls, columnMem(tls, pStmt, i)) columnMallocFailure(tls, pStmt) return val } -func Xsqlite3_column_text(tls *libc.TLS, pStmt uintptr, i int32) uintptr { /* sqlite3.c:86264:32: */ +func Xsqlite3_column_text(tls *libc.TLS, pStmt uintptr, i int32) uintptr { /* sqlite3.c:86277:32: */ var val uintptr = Xsqlite3_value_text(tls, columnMem(tls, pStmt, i)) columnMallocFailure(tls, pStmt) return val } -func Xsqlite3_column_value(tls *libc.TLS, pStmt uintptr, i int32) uintptr { /* sqlite3.c:86269:26: */ +func Xsqlite3_column_value(tls *libc.TLS, pStmt uintptr, i int32) uintptr { /* sqlite3.c:86282:26: */ var pOut uintptr = columnMem(tls, pStmt, i) if int32((*Mem)(unsafe.Pointer(pOut)).Fflags)&MEM_Static != 0 { *(*U16)(unsafe.Pointer(pOut + 8)) &= libc.Uint16FromInt32(libc.CplInt32(MEM_Static)) @@ -59771,13 +59790,13 @@ func Xsqlite3_column_value(tls *libc.TLS, pStmt uintptr, i int32) uintptr { /* s return pOut } -func Xsqlite3_column_text16(tls *libc.TLS, pStmt uintptr, i int32) uintptr { /* sqlite3.c:86279:23: */ +func Xsqlite3_column_text16(tls *libc.TLS, pStmt uintptr, i int32) uintptr { /* sqlite3.c:86292:23: */ var val uintptr = Xsqlite3_value_text16(tls, columnMem(tls, pStmt, i)) columnMallocFailure(tls, pStmt) return val } -func Xsqlite3_column_type(tls *libc.TLS, pStmt uintptr, i int32) int32 { /* sqlite3.c:86285:16: */ +func Xsqlite3_column_type(tls *libc.TLS, pStmt uintptr, i int32) int32 { /* sqlite3.c:86298:16: */ var iType int32 = Xsqlite3_value_type(tls, columnMem(tls, pStmt, i)) columnMallocFailure(tls, pStmt) return iType @@ -59797,7 +59816,7 @@ func Xsqlite3_column_type(tls *libc.TLS, pStmt uintptr, i int32) int32 { /* sqli // // If the result is not a simple column reference (if it is an expression // or a constant) then useTypes 2, 3, and 4 return NULL. -func columnName(tls *libc.TLS, pStmt uintptr, N int32, useUtf16 int32, useType int32) uintptr { /* sqlite3.c:86307:19: */ +func columnName(tls *libc.TLS, pStmt uintptr, N int32, useUtf16 int32, useType int32) uintptr { /* sqlite3.c:86320:19: */ var ret uintptr var p uintptr var n int32 @@ -59829,11 +59848,11 @@ func columnName(tls *libc.TLS, pStmt uintptr, N int32, useUtf16 int32, useType i // Return the name of the Nth column of the result set returned by SQL // statement pStmt. -func Xsqlite3_column_name(tls *libc.TLS, pStmt uintptr, N int32) uintptr { /* sqlite3.c:86356:23: */ +func Xsqlite3_column_name(tls *libc.TLS, pStmt uintptr, N int32) uintptr { /* sqlite3.c:86369:23: */ return columnName(tls, pStmt, N, 0, COLNAME_NAME) } -func Xsqlite3_column_name16(tls *libc.TLS, pStmt uintptr, N int32) uintptr { /* sqlite3.c:86360:23: */ +func Xsqlite3_column_name16(tls *libc.TLS, pStmt uintptr, N int32) uintptr { /* sqlite3.c:86373:23: */ return columnName(tls, pStmt, N, 1, COLNAME_NAME) } @@ -59842,44 +59861,44 @@ func Xsqlite3_column_name16(tls *libc.TLS, pStmt uintptr, N int32) uintptr { /* // Return the column declaration type (if applicable) of the 'i'th column // of the result set of SQL statement pStmt. -func Xsqlite3_column_decltype(tls *libc.TLS, pStmt uintptr, N int32) uintptr { /* sqlite3.c:86379:23: */ +func Xsqlite3_column_decltype(tls *libc.TLS, pStmt uintptr, N int32) uintptr { /* sqlite3.c:86392:23: */ return columnName(tls, pStmt, N, 0, COLNAME_DECLTYPE) } -func Xsqlite3_column_decltype16(tls *libc.TLS, pStmt uintptr, N int32) uintptr { /* sqlite3.c:86383:23: */ +func Xsqlite3_column_decltype16(tls *libc.TLS, pStmt uintptr, N int32) uintptr { /* sqlite3.c:86396:23: */ return columnName(tls, pStmt, N, 1, COLNAME_DECLTYPE) } // Return the name of the database from which a result column derives. // NULL is returned if the result column is an expression or constant or // anything else which is not an unambiguous reference to a database column. -func Xsqlite3_column_database_name(tls *libc.TLS, pStmt uintptr, N int32) uintptr { /* sqlite3.c:86395:23: */ +func Xsqlite3_column_database_name(tls *libc.TLS, pStmt uintptr, N int32) uintptr { /* sqlite3.c:86408:23: */ return columnName(tls, pStmt, N, 0, COLNAME_DATABASE) } -func Xsqlite3_column_database_name16(tls *libc.TLS, pStmt uintptr, N int32) uintptr { /* sqlite3.c:86399:23: */ +func Xsqlite3_column_database_name16(tls *libc.TLS, pStmt uintptr, N int32) uintptr { /* sqlite3.c:86412:23: */ return columnName(tls, pStmt, N, 1, COLNAME_DATABASE) } // Return the name of the table from which a result column derives. // NULL is returned if the result column is an expression or constant or // anything else which is not an unambiguous reference to a database column. -func Xsqlite3_column_table_name(tls *libc.TLS, pStmt uintptr, N int32) uintptr { /* sqlite3.c:86409:23: */ +func Xsqlite3_column_table_name(tls *libc.TLS, pStmt uintptr, N int32) uintptr { /* sqlite3.c:86422:23: */ return columnName(tls, pStmt, N, 0, COLNAME_TABLE) } -func Xsqlite3_column_table_name16(tls *libc.TLS, pStmt uintptr, N int32) uintptr { /* sqlite3.c:86413:23: */ +func Xsqlite3_column_table_name16(tls *libc.TLS, pStmt uintptr, N int32) uintptr { /* sqlite3.c:86426:23: */ return columnName(tls, pStmt, N, 1, COLNAME_TABLE) } // Return the name of the table column from which a result column derives. // NULL is returned if the result column is an expression or constant or // anything else which is not an unambiguous reference to a database column. -func Xsqlite3_column_origin_name(tls *libc.TLS, pStmt uintptr, N int32) uintptr { /* sqlite3.c:86423:23: */ +func Xsqlite3_column_origin_name(tls *libc.TLS, pStmt uintptr, N int32) uintptr { /* sqlite3.c:86436:23: */ return columnName(tls, pStmt, N, 0, COLNAME_COLUMN) } -func Xsqlite3_column_origin_name16(tls *libc.TLS, pStmt uintptr, N int32) uintptr { /* sqlite3.c:86427:23: */ +func Xsqlite3_column_origin_name16(tls *libc.TLS, pStmt uintptr, N int32) uintptr { /* sqlite3.c:86440:23: */ return columnName(tls, pStmt, N, 1, COLNAME_COLUMN) } @@ -59896,13 +59915,13 @@ func Xsqlite3_column_origin_name16(tls *libc.TLS, pStmt uintptr, N int32) uintpt // // The error code stored in database p->db is overwritten with the return // value in any case. -func vdbeUnbind(tls *libc.TLS, p uintptr, i int32) int32 { /* sqlite3.c:86449:12: */ +func vdbeUnbind(tls *libc.TLS, p uintptr, i int32) int32 { /* sqlite3.c:86462:12: */ bp := tls.Alloc(8) defer tls.Free(8) var pVar uintptr if vdbeSafetyNotNull(tls, p) != 0 { - return Xsqlite3MisuseError(tls, 86452) + return Xsqlite3MisuseError(tls, 86465) } Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer((*Vdbe)(unsafe.Pointer(p)).Fdb)).Fmutex) if (*Vdbe)(unsafe.Pointer(p)).FiVdbeMagic != U32(VDBE_MAGIC_RUN) || (*Vdbe)(unsafe.Pointer(p)).Fpc >= 0 { @@ -59910,7 +59929,7 @@ func vdbeUnbind(tls *libc.TLS, p uintptr, i int32) int32 { /* sqlite3.c:86449:12 Xsqlite3_mutex_leave(tls, (*Sqlite3)(unsafe.Pointer((*Vdbe)(unsafe.Pointer(p)).Fdb)).Fmutex) Xsqlite3_log(tls, SQLITE_MISUSE, ts+5302, libc.VaList(bp, (*Vdbe)(unsafe.Pointer(p)).FzSql)) - return Xsqlite3MisuseError(tls, 86460) + return Xsqlite3MisuseError(tls, 86473) } if i < 1 || i > int32((*Vdbe)(unsafe.Pointer(p)).FnVar) { Xsqlite3Error(tls, (*Vdbe)(unsafe.Pointer(p)).Fdb, SQLITE_RANGE) @@ -59944,7 +59963,7 @@ func vdbeUnbind(tls *libc.TLS, p uintptr, i int32) int32 { /* sqlite3.c:86449:12 } // Bind a text or BLOB value. -func bindText(tls *libc.TLS, pStmt uintptr, i int32, zData uintptr, nData I64, xDel uintptr, encoding U8) int32 { /* sqlite3.c:86492:12: */ +func bindText(tls *libc.TLS, pStmt uintptr, i int32, zData uintptr, nData I64, xDel uintptr, encoding U8) int32 { /* sqlite3.c:86505:12: */ var p uintptr = pStmt var pVar uintptr var rc int32 @@ -59970,16 +59989,16 @@ func bindText(tls *libc.TLS, pStmt uintptr, i int32, zData uintptr, nData I64, x } // 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) int32 { /* sqlite3.c:86528:16: */ +func Xsqlite3_bind_blob(tls *libc.TLS, pStmt uintptr, i int32, zData uintptr, nData int32, xDel uintptr) int32 { /* sqlite3.c:86541:16: */ return bindText(tls, pStmt, i, zData, int64(nData), xDel, uint8(0)) } -func Xsqlite3_bind_blob64(tls *libc.TLS, pStmt uintptr, i int32, zData uintptr, nData Sqlite3_uint64, xDel uintptr) int32 { /* sqlite3.c:86540:16: */ +func Xsqlite3_bind_blob64(tls *libc.TLS, pStmt uintptr, i int32, zData uintptr, nData Sqlite3_uint64, xDel uintptr) int32 { /* sqlite3.c:86553:16: */ return bindText(tls, pStmt, i, zData, int64(nData), xDel, uint8(0)) } -func Xsqlite3_bind_double(tls *libc.TLS, pStmt uintptr, i int32, rValue float64) int32 { /* sqlite3.c:86550:16: */ +func Xsqlite3_bind_double(tls *libc.TLS, pStmt uintptr, i int32, rValue float64) int32 { /* sqlite3.c:86563:16: */ var rc int32 var p uintptr = pStmt rc = vdbeUnbind(tls, p, i) @@ -59990,11 +60009,11 @@ func Xsqlite3_bind_double(tls *libc.TLS, pStmt uintptr, i int32, rValue float64) return rc } -func Xsqlite3_bind_int(tls *libc.TLS, p uintptr, i int32, iValue int32) int32 { /* sqlite3.c:86560:16: */ +func Xsqlite3_bind_int(tls *libc.TLS, p uintptr, i int32, iValue int32) int32 { /* sqlite3.c:86573:16: */ return Xsqlite3_bind_int64(tls, p, i, I64(iValue)) } -func Xsqlite3_bind_int64(tls *libc.TLS, pStmt uintptr, i int32, iValue Sqlite_int64) int32 { /* sqlite3.c:86563:16: */ +func Xsqlite3_bind_int64(tls *libc.TLS, pStmt uintptr, i int32, iValue Sqlite_int64) int32 { /* sqlite3.c:86576:16: */ var rc int32 var p uintptr = pStmt rc = vdbeUnbind(tls, p, i) @@ -60005,7 +60024,7 @@ func Xsqlite3_bind_int64(tls *libc.TLS, pStmt uintptr, i int32, iValue Sqlite_in return rc } -func Xsqlite3_bind_null(tls *libc.TLS, pStmt uintptr, i int32) int32 { /* sqlite3.c:86573:16: */ +func Xsqlite3_bind_null(tls *libc.TLS, pStmt uintptr, i int32) int32 { /* sqlite3.c:86586:16: */ var rc int32 var p uintptr = pStmt rc = vdbeUnbind(tls, p, i) @@ -60015,7 +60034,7 @@ func Xsqlite3_bind_null(tls *libc.TLS, pStmt uintptr, i int32) int32 { /* sqlite return rc } -func Xsqlite3_bind_pointer(tls *libc.TLS, pStmt uintptr, i int32, pPtr uintptr, zPTtype uintptr, xDestructor uintptr) int32 { /* sqlite3.c:86582:16: */ +func Xsqlite3_bind_pointer(tls *libc.TLS, pStmt uintptr, i int32, pPtr uintptr, zPTtype uintptr, xDestructor uintptr) int32 { /* sqlite3.c:86595:16: */ var rc int32 var p uintptr = pStmt rc = vdbeUnbind(tls, p, i) @@ -60028,11 +60047,11 @@ func Xsqlite3_bind_pointer(tls *libc.TLS, pStmt uintptr, i int32, pPtr uintptr, return rc } -func Xsqlite3_bind_text(tls *libc.TLS, pStmt uintptr, i int32, zData uintptr, nData int32, xDel uintptr) int32 { /* sqlite3.c:86600:16: */ +func Xsqlite3_bind_text(tls *libc.TLS, pStmt uintptr, i int32, zData uintptr, nData int32, xDel uintptr) int32 { /* sqlite3.c:86613:16: */ return bindText(tls, pStmt, i, zData, int64(nData), xDel, uint8(SQLITE_UTF8)) } -func Xsqlite3_bind_text64(tls *libc.TLS, pStmt uintptr, i int32, zData uintptr, nData Sqlite3_uint64, xDel uintptr, enc uint8) int32 { /* sqlite3.c:86609:16: */ +func Xsqlite3_bind_text64(tls *libc.TLS, pStmt uintptr, i int32, zData uintptr, nData Sqlite3_uint64, xDel uintptr, enc uint8) int32 { /* sqlite3.c:86622:16: */ if int32(enc) == SQLITE_UTF16 { enc = uint8(SQLITE_UTF16LE) @@ -60040,11 +60059,11 @@ func Xsqlite3_bind_text64(tls *libc.TLS, pStmt uintptr, i int32, zData uintptr, return bindText(tls, pStmt, i, zData, int64(nData), xDel, enc) } -func Xsqlite3_bind_text16(tls *libc.TLS, pStmt uintptr, i int32, zData uintptr, nData int32, xDel uintptr) int32 { /* sqlite3.c:86622:16: */ +func Xsqlite3_bind_text16(tls *libc.TLS, pStmt uintptr, i int32, zData uintptr, nData int32, xDel uintptr) int32 { /* sqlite3.c:86635:16: */ return bindText(tls, pStmt, i, zData, int64(nData), xDel, uint8(SQLITE_UTF16LE)) } -func Xsqlite3_bind_value(tls *libc.TLS, pStmt uintptr, i int32, pValue uintptr) int32 { /* sqlite3.c:86632:16: */ +func Xsqlite3_bind_value(tls *libc.TLS, pStmt uintptr, i int32, pValue uintptr) int32 { /* sqlite3.c:86645:16: */ var rc int32 switch Xsqlite3_value_type(tls, pValue) { case SQLITE_INTEGER: @@ -60093,7 +60112,7 @@ func Xsqlite3_bind_value(tls *libc.TLS, pStmt uintptr, i int32, pValue uintptr) return rc } -func Xsqlite3_bind_zeroblob(tls *libc.TLS, pStmt uintptr, i int32, n int32) int32 { /* sqlite3.c:86666:16: */ +func Xsqlite3_bind_zeroblob(tls *libc.TLS, pStmt uintptr, i int32, n int32) int32 { /* sqlite3.c:86679:16: */ var rc int32 var p uintptr = pStmt rc = vdbeUnbind(tls, p, i) @@ -60104,7 +60123,7 @@ func Xsqlite3_bind_zeroblob(tls *libc.TLS, pStmt uintptr, i int32, n int32) int3 return rc } -func Xsqlite3_bind_zeroblob64(tls *libc.TLS, pStmt uintptr, i int32, n Sqlite3_uint64) int32 { /* sqlite3.c:86680:16: */ +func Xsqlite3_bind_zeroblob64(tls *libc.TLS, pStmt uintptr, i int32, n Sqlite3_uint64) int32 { /* sqlite3.c:86693:16: */ var rc int32 var p uintptr = pStmt Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer((*Vdbe)(unsafe.Pointer(p)).Fdb)).Fmutex) @@ -60121,7 +60140,7 @@ func Xsqlite3_bind_zeroblob64(tls *libc.TLS, pStmt uintptr, i int32, n Sqlite3_u // Return the number of wildcards that can be potentially bound to. // This routine is added to support DBD::SQLite. -func Xsqlite3_bind_parameter_count(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:86699:16: */ +func Xsqlite3_bind_parameter_count(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:86712:16: */ var p uintptr = pStmt if p != 0 { return int32((*Vdbe)(unsafe.Pointer(p)).FnVar) @@ -60133,7 +60152,7 @@ func Xsqlite3_bind_parameter_count(tls *libc.TLS, pStmt uintptr) int32 { /* sqli // is out of range or if the wildcard is unnamed. // // The result is always UTF-8. -func Xsqlite3_bind_parameter_name(tls *libc.TLS, pStmt uintptr, i int32) uintptr { /* sqlite3.c:86710:23: */ +func Xsqlite3_bind_parameter_name(tls *libc.TLS, pStmt uintptr, i int32) uintptr { /* sqlite3.c:86723:23: */ var p uintptr = pStmt if p == uintptr(0) { return uintptr(0) @@ -60144,19 +60163,19 @@ func Xsqlite3_bind_parameter_name(tls *libc.TLS, pStmt uintptr, i int32) uintptr // Given a wildcard parameter name, return the index of the variable // with that name. If there is no variable with the given name, // return 0. -func Xsqlite3VdbeParameterIndex(tls *libc.TLS, p uintptr, zName uintptr, nName int32) int32 { /* sqlite3.c:86721:20: */ +func Xsqlite3VdbeParameterIndex(tls *libc.TLS, p uintptr, zName uintptr, nName int32) int32 { /* sqlite3.c:86734:20: */ if p == uintptr(0) || zName == uintptr(0) { return 0 } return Xsqlite3VListNameToNum(tls, (*Vdbe)(unsafe.Pointer(p)).FpVList, zName, nName) } -func Xsqlite3_bind_parameter_index(tls *libc.TLS, pStmt uintptr, zName uintptr) int32 { /* sqlite3.c:86725:16: */ +func Xsqlite3_bind_parameter_index(tls *libc.TLS, pStmt uintptr, zName uintptr) int32 { /* sqlite3.c:86738:16: */ return Xsqlite3VdbeParameterIndex(tls, pStmt, zName, Xsqlite3Strlen30(tls, zName)) } // Transfer all bindings from the first statement over to the second. -func Xsqlite3TransferBindings(tls *libc.TLS, pFromStmt uintptr, pToStmt uintptr) int32 { /* sqlite3.c:86732:20: */ +func Xsqlite3TransferBindings(tls *libc.TLS, pFromStmt uintptr, pToStmt uintptr) int32 { /* sqlite3.c:86745:20: */ var pFrom uintptr = pFromStmt var pTo uintptr = pToStmt var i int32 @@ -60179,7 +60198,7 @@ func Xsqlite3TransferBindings(tls *libc.TLS, pFromStmt uintptr, pToStmt uintptr) // If the two statements contain a different number of bindings, then // an SQLITE_ERROR is returned. Nothing else can go wrong, so otherwise // SQLITE_OK is returned. -func Xsqlite3_transfer_bindings(tls *libc.TLS, pFromStmt uintptr, pToStmt uintptr) int32 { /* sqlite3.c:86759:16: */ +func Xsqlite3_transfer_bindings(tls *libc.TLS, pFromStmt uintptr, pToStmt uintptr) int32 { /* sqlite3.c:86772:16: */ var pFrom uintptr = pFromStmt var pTo uintptr = pToStmt if int32((*Vdbe)(unsafe.Pointer(pFrom)).FnVar) != int32((*Vdbe)(unsafe.Pointer(pTo)).FnVar) { @@ -60200,7 +60219,7 @@ func Xsqlite3_transfer_bindings(tls *libc.TLS, pFromStmt uintptr, pToStmt uintpt // in the argument belongs. This is the same database handle that was // the first argument to the sqlite3_prepare() that was used to create // the statement in the first place. -func Xsqlite3_db_handle(tls *libc.TLS, pStmt uintptr) uintptr { /* sqlite3.c:86783:20: */ +func Xsqlite3_db_handle(tls *libc.TLS, pStmt uintptr) uintptr { /* sqlite3.c:86796:20: */ if pStmt != 0 { return (*Vdbe)(unsafe.Pointer(pStmt)).Fdb } @@ -60209,7 +60228,7 @@ func Xsqlite3_db_handle(tls *libc.TLS, pStmt uintptr) uintptr { /* sqlite3.c:867 // Return true if the prepared statement is guaranteed to not modify the // database. -func Xsqlite3_stmt_readonly(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:86791:16: */ +func Xsqlite3_stmt_readonly(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:86804:16: */ if pStmt != 0 { return int32(*(*uint16)(unsafe.Pointer(pStmt + 208)) & 0x80 >> 7) } @@ -60218,7 +60237,7 @@ func Xsqlite3_stmt_readonly(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:8 // Return 1 if the statement is an EXPLAIN and return 2 if the // statement is an EXPLAIN QUERY PLAN -func Xsqlite3_stmt_isexplain(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:86799:16: */ +func Xsqlite3_stmt_isexplain(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:86812:16: */ if pStmt != 0 { return int32(*(*uint16)(unsafe.Pointer(pStmt + 208)) & 0xc >> 2) } @@ -60226,7 +60245,7 @@ func Xsqlite3_stmt_isexplain(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c: } // Return true if the prepared statement is in need of being reset. -func Xsqlite3_stmt_busy(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:86806:16: */ +func Xsqlite3_stmt_busy(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:86819:16: */ var v uintptr = pStmt return libc.Bool32(v != uintptr(0) && (*Vdbe)(unsafe.Pointer(v)).FiVdbeMagic == U32(VDBE_MAGIC_RUN) && (*Vdbe)(unsafe.Pointer(v)).Fpc >= 0) } @@ -60235,7 +60254,7 @@ func Xsqlite3_stmt_busy(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:86806 // with database connection pDb. If pStmt is NULL, return the first // prepared statement for the database connection. Return NULL if there // are no more. -func Xsqlite3_next_stmt(tls *libc.TLS, pDb uintptr, pStmt uintptr) uintptr { /* sqlite3.c:86817:25: */ +func Xsqlite3_next_stmt(tls *libc.TLS, pDb uintptr, pStmt uintptr) uintptr { /* sqlite3.c:86830:25: */ var pNext uintptr Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(pDb)).Fmutex) if pStmt == uintptr(0) { @@ -60248,7 +60267,7 @@ func Xsqlite3_next_stmt(tls *libc.TLS, pDb uintptr, pStmt uintptr) uintptr { /* } // Return the value of a status counter for a prepared statement -func Xsqlite3_stmt_status(tls *libc.TLS, pStmt uintptr, op int32, resetFlag int32) int32 { /* sqlite3.c:86838:16: */ +func Xsqlite3_stmt_status(tls *libc.TLS, pStmt uintptr, op int32, resetFlag int32) int32 { /* sqlite3.c:86851:16: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -60274,7 +60293,7 @@ func Xsqlite3_stmt_status(tls *libc.TLS, pStmt uintptr, op int32, resetFlag int3 } // Return the SQL associated with a prepared statement -func Xsqlite3_sql(tls *libc.TLS, pStmt uintptr) uintptr { /* sqlite3.c:86868:23: */ +func Xsqlite3_sql(tls *libc.TLS, pStmt uintptr) uintptr { /* sqlite3.c:86881:23: */ var p uintptr = pStmt if p != 0 { return (*Vdbe)(unsafe.Pointer(p)).FzSql @@ -60289,7 +60308,7 @@ func Xsqlite3_sql(tls *libc.TLS, pStmt uintptr) uintptr { /* sqlite3.c:86868:23: // // The SQLITE_TRACE_SIZE_LIMIT puts an upper bound on the size of // expanded bound parameters. -func Xsqlite3_expanded_sql(tls *libc.TLS, pStmt uintptr) uintptr { /* sqlite3.c:86882:17: */ +func Xsqlite3_expanded_sql(tls *libc.TLS, pStmt uintptr) uintptr { /* sqlite3.c:86895:17: */ var z uintptr = uintptr(0) var zSql uintptr = Xsqlite3_sql(tls, pStmt) if zSql != 0 { @@ -60304,7 +60323,7 @@ func Xsqlite3_expanded_sql(tls *libc.TLS, pStmt uintptr) uintptr { /* sqlite3.c: // Allocate and populate an UnpackedRecord structure based on the serialized // record in nKey/pKey. Return a pointer to the new UnpackedRecord structure // if successful, or a NULL pointer if an OOM error is encountered. -func vdbeUnpackRecord(tls *libc.TLS, pKeyInfo uintptr, nKey int32, pKey uintptr) uintptr { /* sqlite3.c:86920:23: */ +func vdbeUnpackRecord(tls *libc.TLS, pKeyInfo uintptr, nKey int32, pKey uintptr) uintptr { /* sqlite3.c:86933:23: */ var pRet uintptr // Return value pRet = Xsqlite3VdbeAllocUnpackedRecord(tls, pKeyInfo) @@ -60317,7 +60336,7 @@ func vdbeUnpackRecord(tls *libc.TLS, pKeyInfo uintptr, nKey int32, pKey uintptr) // This function is called from within a pre-update callback to retrieve // a field of the row currently being updated or deleted. -func Xsqlite3_preupdate_old(tls *libc.TLS, db uintptr, iIdx int32, ppValue uintptr) int32 { /* sqlite3.c:86939:16: */ +func Xsqlite3_preupdate_old(tls *libc.TLS, db uintptr, iIdx int32, ppValue uintptr) int32 { /* sqlite3.c:86952:16: */ var p uintptr var pMem uintptr var rc int32 @@ -60331,7 +60350,7 @@ func Xsqlite3_preupdate_old(tls *libc.TLS, db uintptr, iIdx int32, ppValue uintp if !(!(p != 0) || (*PreUpdate)(unsafe.Pointer(p)).Fop == SQLITE_INSERT) { goto __1 } - rc = Xsqlite3MisuseError(tls, 86947) + rc = Xsqlite3MisuseError(tls, 86960) goto preupdate_old_out __1: ; @@ -60423,7 +60442,7 @@ preupdate_old_out: // This function is called from within a pre-update callback to retrieve // the number of columns in the row being updated, deleted or inserted. -func Xsqlite3_preupdate_count(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:87003:16: */ +func Xsqlite3_preupdate_count(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:87016:16: */ var p uintptr = (*Sqlite3)(unsafe.Pointer(db)).FpPreUpdate return func() int32 { if p != 0 { @@ -60442,7 +60461,7 @@ func Xsqlite3_preupdate_count(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:87 // // For the purposes of the previous paragraph, a foreign key CASCADE, SET NULL // or SET DEFAULT action is considered a trigger. -func Xsqlite3_preupdate_depth(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:87021:16: */ +func Xsqlite3_preupdate_depth(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:87034:16: */ var p uintptr = (*Sqlite3)(unsafe.Pointer(db)).FpPreUpdate return func() int32 { if p != 0 { @@ -60454,7 +60473,7 @@ func Xsqlite3_preupdate_depth(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:87 // This function is designed to be called from within a pre-update callback // only. -func Xsqlite3_preupdate_blobwrite(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:87032:16: */ +func Xsqlite3_preupdate_blobwrite(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:87045:16: */ var p uintptr = (*Sqlite3)(unsafe.Pointer(db)).FpPreUpdate return func() int32 { if p != 0 { @@ -60466,7 +60485,7 @@ func Xsqlite3_preupdate_blobwrite(tls *libc.TLS, db uintptr) int32 { /* sqlite3. // This function is called from within a pre-update callback to retrieve // a field of the row currently being updated or inserted. -func Xsqlite3_preupdate_new(tls *libc.TLS, db uintptr, iIdx int32, ppValue uintptr) int32 { /* sqlite3.c:87043:16: */ +func Xsqlite3_preupdate_new(tls *libc.TLS, db uintptr, iIdx int32, ppValue uintptr) int32 { /* sqlite3.c:87056:16: */ var p uintptr var rc int32 var pMem uintptr @@ -60480,7 +60499,7 @@ func Xsqlite3_preupdate_new(tls *libc.TLS, db uintptr, iIdx int32, ppValue uintp if !(!(p != 0) || (*PreUpdate)(unsafe.Pointer(p)).Fop == SQLITE_DELETE) { goto __1 } - rc = Xsqlite3MisuseError(tls, 87049) + rc = Xsqlite3MisuseError(tls, 87062) goto preupdate_new_out __1: ; @@ -60621,7 +60640,7 @@ preupdate_new_out: // bytes in this text up to but excluding the first character in // a host parameter. If the text contains no host parameters, return // the total number of bytes in the text. -func findNextHostParameter(tls *libc.TLS, zSql uintptr, pnToken uintptr) int32 { /* sqlite3.c:87213:12: */ +func findNextHostParameter(tls *libc.TLS, zSql uintptr, pnToken uintptr) int32 { /* sqlite3.c:87226:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -60666,7 +60685,7 @@ func findNextHostParameter(tls *libc.TLS, zSql uintptr, pnToken uintptr) int32 { // statement for the corresponding OP_Variable opcode. Once the host // parameter index is known, locate the value in p->aVar[]. Then render // the value as a literal in place of the host parameter name. -func Xsqlite3VdbeExpandSql(tls *libc.TLS, p uintptr, zRawSql uintptr) uintptr { /* sqlite3.c:87256:21: */ +func Xsqlite3VdbeExpandSql(tls *libc.TLS, p uintptr, zRawSql uintptr) uintptr { /* sqlite3.c:87269:21: */ bp := tls.Alloc(144) defer tls.Free(144) @@ -60889,7 +60908,7 @@ func Xsqlite3VdbeExpandSql(tls *libc.TLS, p uintptr, zRawSql uintptr) uintptr { // Allocate VdbeCursor number iCur. Return a pointer to it. Return NULL // if we run out of memory. -func allocateCursor(tls *libc.TLS, p uintptr, iCur int32, nField int32, eCurType U8) uintptr { /* sqlite3.c:87619:19: */ +func allocateCursor(tls *libc.TLS, p uintptr, iCur int32, nField int32, eCurType U8) uintptr { /* sqlite3.c:87632:19: */ // Find the memory cell that will be used to store the blob of memory // required for this VdbeCursor structure. It is convenient to use a // vdbe memory cell to manage the memory allocation required for a @@ -60960,7 +60979,7 @@ func allocateCursor(tls *libc.TLS, p uintptr, iCur int32, nField int32, eCurType // floating point value of rValue. Return true and set *piValue to the // integer value if the string is in range to be an integer. Otherwise, // return false. -func alsoAnInt(tls *libc.TLS, pRec uintptr, rValue float64, piValue uintptr) int32 { /* sqlite3.c:87695:12: */ +func alsoAnInt(tls *libc.TLS, pRec uintptr, rValue float64, piValue uintptr) int32 { /* sqlite3.c:87708:12: */ var iValue I64 = I64(rValue) if Xsqlite3RealSameAsInt(tls, rValue, iValue) != 0 { *(*I64)(unsafe.Pointer(piValue)) = iValue @@ -60982,7 +61001,7 @@ func alsoAnInt(tls *libc.TLS, pRec uintptr, rValue float64, piValue uintptr) int // If bTryForInt is false, then if the input string contains a decimal // point or exponential notation, the result is only MEM_Real, even // if there is an exact integer representation of the quantity. -func applyNumericAffinity(tls *libc.TLS, pRec uintptr, bTryForInt int32) { /* sqlite3.c:87719:13: */ +func applyNumericAffinity(tls *libc.TLS, pRec uintptr, bTryForInt int32) { /* sqlite3.c:87732:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -61028,7 +61047,7 @@ func applyNumericAffinity(tls *libc.TLS, pRec uintptr, bTryForInt int32) { /* sq // SQLITE_AFF_BLOB: // SQLITE_AFF_NONE: // No-op. pRec is unchanged. -func applyAffinity(tls *libc.TLS, pRec uintptr, affinity int8, enc U8) { /* sqlite3.c:87759:13: */ +func applyAffinity(tls *libc.TLS, pRec uintptr, affinity int8, enc U8) { /* sqlite3.c:87772:13: */ if int32(affinity) >= SQLITE_AFF_NUMERIC { if int32((*Mem)(unsafe.Pointer(pRec)).Fflags)&MEM_Int == 0 { //OPTIMIZATION-IF-FALSE @@ -61060,7 +61079,7 @@ func applyAffinity(tls *libc.TLS, pRec uintptr, affinity int8, enc U8) { /* sqli // into a numeric representation. Use either INTEGER or REAL whichever // is appropriate. But only do the conversion if it is possible without // loss of information and return the revised type of the argument. -func Xsqlite3_value_numeric_type(tls *libc.TLS, pVal uintptr) int32 { /* sqlite3.c:87798:16: */ +func Xsqlite3_value_numeric_type(tls *libc.TLS, pVal uintptr) int32 { /* sqlite3.c:87811:16: */ var eType int32 = Xsqlite3_value_type(tls, pVal) if eType == SQLITE_TEXT { var pMem uintptr = pVal @@ -61072,7 +61091,7 @@ func Xsqlite3_value_numeric_type(tls *libc.TLS, pVal uintptr) int32 { /* sqlite3 // Exported version of applyAffinity(). This one works on sqlite3_value*, // not the internal Mem* type. -func Xsqlite3ValueApplyAffinity(tls *libc.TLS, pVal uintptr, affinity U8, enc U8) { /* sqlite3.c:87812:21: */ +func Xsqlite3ValueApplyAffinity(tls *libc.TLS, pVal uintptr, affinity U8, enc U8) { /* sqlite3.c:87825:21: */ applyAffinity(tls, pVal, int8(affinity), enc) } @@ -61080,7 +61099,7 @@ func Xsqlite3ValueApplyAffinity(tls *libc.TLS, pVal uintptr, affinity U8, enc U8 // interpret as a string if we want to). Compute its corresponding // numeric type, if has one. Set the pMem->u.r and pMem->u.i fields // accordingly. -func computeNumericType(tls *libc.TLS, pMem uintptr) U16 { /* sqlite3.c:87826:28: */ +func computeNumericType(tls *libc.TLS, pMem uintptr) U16 { /* sqlite3.c:87839:28: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -61116,7 +61135,7 @@ func computeNumericType(tls *libc.TLS, pMem uintptr) U16 { /* sqlite3.c:87826:28 // // Unlike applyNumericAffinity(), this routine does not modify pMem->flags. // But it does set pMem->u.r and pMem->u.i appropriately. -func numericType(tls *libc.TLS, pMem uintptr) U16 { /* sqlite3.c:87857:12: */ +func numericType(tls *libc.TLS, pMem uintptr) U16 { /* sqlite3.c:87870:12: */ if int32((*Mem)(unsafe.Pointer(pMem)).Fflags)&(MEM_Int|MEM_Real|MEM_IntReal) != 0 { return U16(int32((*Mem)(unsafe.Pointer(pMem)).Fflags) & (MEM_Int | MEM_Real | MEM_IntReal)) @@ -61130,13 +61149,13 @@ func numericType(tls *libc.TLS, pMem uintptr) U16 { /* sqlite3.c:87857:12: */ // Return the register of pOp->p2 after first preparing it to be // overwritten with an integer value. -func out2PrereleaseWithClear(tls *libc.TLS, pOut uintptr) uintptr { /* sqlite3.c:88032:28: */ +func out2PrereleaseWithClear(tls *libc.TLS, pOut uintptr) uintptr { /* sqlite3.c:88045:28: */ Xsqlite3VdbeMemSetNull(tls, pOut) (*Mem)(unsafe.Pointer(pOut)).Fflags = U16(MEM_Int) return pOut } -func out2Prerelease(tls *libc.TLS, p uintptr, pOp uintptr) uintptr { /* sqlite3.c:88037:12: */ +func out2Prerelease(tls *libc.TLS, p uintptr, pOp uintptr) uintptr { /* sqlite3.c:88050:12: */ var pOut uintptr pOut = (*Vdbe)(unsafe.Pointer(p)).FaMem + uintptr((*VdbeOp)(unsafe.Pointer(pOp)).Fp2)*56 @@ -61152,7 +61171,7 @@ func out2Prerelease(tls *libc.TLS, p uintptr, pOp uintptr) uintptr { /* sqlite3. // Compute a bloom filter hash using pOp->p4.i registers from aMem[] beginning // with pOp->p3. Return the hash. -func filterHash(tls *libc.TLS, aMem uintptr, pOp uintptr) U64 { /* sqlite3.c:88055:12: */ +func filterHash(tls *libc.TLS, aMem uintptr, pOp uintptr) U64 { /* sqlite3.c:88068:12: */ var i int32 var mx int32 var h U64 = uint64(0) @@ -61176,7 +61195,7 @@ func filterHash(tls *libc.TLS, aMem uintptr, pOp uintptr) U64 { /* sqlite3.c:880 } // Return the symbolic name for the data type of a pMem -func vdbeMemTypeName(tls *libc.TLS, pMem uintptr) uintptr { /* sqlite3.c:88077:19: */ +func vdbeMemTypeName(tls *libc.TLS, pMem uintptr) uintptr { /* sqlite3.c:88090:19: */ return azTypes[Xsqlite3_value_type(tls, pMem)-1] } @@ -61186,11 +61205,11 @@ var azTypes = [5]uintptr{ ts + 1096, ts + 1074, ts + 1519, -} /* sqlite3.c:88078:21 */ +} /* sqlite3.c:88091:21 */ // Execute as much of a VDBE program as we can. // This is the core of sqlite3_step(). -func Xsqlite3VdbeExec(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:88092:20: */ +func Xsqlite3VdbeExec(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:88105:20: */ bp := tls.Alloc(976) defer tls.Free(976) @@ -66714,7 +66733,7 @@ op_column_corrupt: goto __8 goto __400 __399: - rc = Xsqlite3CorruptError(tls, 90310) + rc = Xsqlite3CorruptError(tls, 90323) goto abort_due_to_error __400: ; @@ -69213,7 +69232,7 @@ notExistsWithKey: if !((*Op)(unsafe.Pointer(pOp)).Fp2 == 0) { goto __642 } - rc = Xsqlite3CorruptError(tls, 92457) + rc = Xsqlite3CorruptError(tls, 92470) goto __643 __642: goto jump_to_p2 @@ -70377,7 +70396,7 @@ __724: if !((*Op)(unsafe.Pointer(pOp)).Fp5 != 0 && !(Xsqlite3WritableSchema(tls, db) != 0)) { goto __727 } - rc = Xsqlite3ReportError(tls, SQLITE_CORRUPT|int32(3)<<8, 93513, ts+5811) + rc = Xsqlite3ReportError(tls, SQLITE_CORRUPT|int32(3)<<8, 93526, ts+5811) goto abort_due_to_error __727: ; @@ -70569,7 +70588,7 @@ __737: if !(nCellKey <= int64(0) || nCellKey > int64(0x7fffffff)) { goto __738 } - rc = Xsqlite3CorruptError(tls, 93717) + rc = Xsqlite3CorruptError(tls, 93730) goto abort_due_to_error __738: ; @@ -70845,7 +70864,7 @@ __759: // 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 = Xsqlite3CorruptError(tls, 93969) + rc = Xsqlite3CorruptError(tls, 93982) __760: ; Xsqlite3DbFreeNN(tls, db, zSql) @@ -72858,7 +72877,7 @@ __916: if !(rc == SQLITE_IOERR|int32(33)<<8) { goto __918 } - rc = Xsqlite3CorruptError(tls, 95906) + rc = Xsqlite3CorruptError(tls, 95919) __918: ; __917: @@ -72947,11 +72966,11 @@ abort_due_to_interrupt: } var azType = [4]uintptr{ts + 6053, ts + 6062, ts + 6069, - ts + 6075} /* sqlite3.c:88537:25 */ -var and_logic = [9]uint8{uint8(0), uint8(0), uint8(0), uint8(0), uint8(1), uint8(2), uint8(0), uint8(2), uint8(2)} /* sqlite3.c:89761:32 */ -var or_logic = [9]uint8{uint8(0), uint8(1), uint8(2), uint8(1), uint8(1), uint8(1), uint8(2), uint8(1), uint8(2)} /* sqlite3.c:89764:32 */ -var aFlag1 = [2]U16{U16(MEM_Blob), U16(MEM_Str | MEM_Term)} /* sqlite3.c:90257:24 */ -var vfsFlags int32 = SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE | SQLITE_OPEN_EXCLUSIVE | SQLITE_OPEN_DELETEONCLOSE | SQLITE_OPEN_TRANSIENT_DB /* sqlite3.c:91512:20 */ + ts + 6075} /* sqlite3.c:88550:25 */ +var and_logic = [9]uint8{uint8(0), uint8(0), uint8(0), uint8(0), uint8(1), uint8(2), uint8(0), uint8(2), uint8(2)} /* sqlite3.c:89774:32 */ +var or_logic = [9]uint8{uint8(0), uint8(1), uint8(2), uint8(1), uint8(1), uint8(1), uint8(2), uint8(1), uint8(2)} /* sqlite3.c:89777:32 */ +var aFlag1 = [2]U16{U16(MEM_Blob), U16(MEM_Str | MEM_Term)} /* sqlite3.c:90270:24 */ +var vfsFlags int32 = SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE | SQLITE_OPEN_EXCLUSIVE | SQLITE_OPEN_DELETEONCLOSE | SQLITE_OPEN_TRANSIENT_DB /* sqlite3.c:91525:20 */ //************* End of vdbe.c *********************************************** //************* Begin file vdbeblob.c *************************************** @@ -72982,7 +73001,7 @@ type Incrblob1 = struct { Fdb uintptr FzDb uintptr FpTab uintptr -} /* sqlite3.c:96011:9 */ +} /* sqlite3.c:96024:9 */ //************* End of vdbe.c *********************************************** //************* Begin file vdbeblob.c *************************************** @@ -73003,7 +73022,7 @@ type Incrblob1 = struct { // #include "vdbeInt.h" // Valid sqlite3_blob* handles point to Incrblob structures. -type Incrblob = Incrblob1 /* sqlite3.c:96011:25 */ +type Incrblob = Incrblob1 /* sqlite3.c:96024:25 */ // This function is used by both blob_open() and blob_reopen(). It seeks // the b-tree cursor associated with blob handle p to point to row iRow. @@ -73020,7 +73039,7 @@ type Incrblob = Incrblob1 /* sqlite3.c:96011:25 */ // If an error does occur, then the b-tree cursor is closed. All subsequent // calls to sqlite3_blob_read(), blob_write() or blob_reopen() will // immediately return SQLITE_ABORT. -func blobSeekToRow(tls *libc.TLS, p uintptr, iRow Sqlite3_int64, pzErr uintptr) int32 { /* sqlite3.c:96041:12: */ +func blobSeekToRow(tls *libc.TLS, p uintptr, iRow Sqlite3_int64, pzErr uintptr) int32 { /* sqlite3.c:96054:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -73096,7 +73115,7 @@ func blobSeekToRow(tls *libc.TLS, p uintptr, iRow Sqlite3_int64, pzErr uintptr) } // Open a blob handle. -func Xsqlite3_blob_open(tls *libc.TLS, db uintptr, zDb uintptr, zTable uintptr, zColumn uintptr, iRow Sqlite_int64, wrFlag int32, ppBlob uintptr) int32 { /* sqlite3.c:96109:16: */ +func Xsqlite3_blob_open(tls *libc.TLS, db uintptr, zDb uintptr, zTable uintptr, zColumn uintptr, iRow Sqlite_int64, wrFlag int32, ppBlob uintptr) int32 { /* sqlite3.c:96122:16: */ bp := tls.Alloc(464) defer tls.Free(464) @@ -73417,7 +73436,7 @@ __38: return rc } -var iLn int32 = 0 /* sqlite3.c:96252:24 */ +var iLn int32 = 0 /* sqlite3.c:96265:24 */ var openBlob = [6]VdbeOpList{ {Fopcode: U8(OP_TableLock)}, // 0: Acquire a read or write lock {Fopcode: U8(OP_OpenRead)}, // 1: Open a cursor @@ -73426,11 +73445,11 @@ var openBlob = [6]VdbeOpList{ {Fopcode: U8(OP_Column), Fp3: int8(1)}, // 3 {Fopcode: U8(OP_ResultRow), Fp1: int8(1)}, // 4 {Fopcode: U8(OP_Halt)}, // 5 -} /* sqlite3.c:96253:31 */ +} /* sqlite3.c:96266:31 */ // Close a blob handle that was previously created using // sqlite3_blob_open(). -func Xsqlite3_blob_close(tls *libc.TLS, pBlob uintptr) int32 { /* sqlite3.c:96344:16: */ +func Xsqlite3_blob_close(tls *libc.TLS, pBlob uintptr) int32 { /* sqlite3.c:96357:16: */ var p uintptr = pBlob var rc int32 var db uintptr @@ -73449,14 +73468,14 @@ func Xsqlite3_blob_close(tls *libc.TLS, pBlob uintptr) int32 { /* sqlite3.c:9634 } // Perform a read or write operation on a blob -func blobReadWrite(tls *libc.TLS, pBlob uintptr, z uintptr, n int32, iOffset int32, xCall uintptr) int32 { /* sqlite3.c:96365:12: */ +func blobReadWrite(tls *libc.TLS, pBlob uintptr, z uintptr, n int32, iOffset int32, xCall uintptr) int32 { /* sqlite3.c:96378:12: */ var rc int32 var p uintptr = pBlob var v uintptr var db uintptr if p == uintptr(0) { - return Xsqlite3MisuseError(tls, 96377) + return Xsqlite3MisuseError(tls, 96390) } db = (*Incrblob)(unsafe.Pointer(p)).Fdb Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) @@ -73515,14 +73534,14 @@ func blobReadWrite(tls *libc.TLS, pBlob uintptr, z uintptr, n int32, iOffset int } // Read data from a blob handle. -func Xsqlite3_blob_read(tls *libc.TLS, pBlob uintptr, z uintptr, n int32, iOffset int32) int32 { /* sqlite3.c:96440:16: */ +func Xsqlite3_blob_read(tls *libc.TLS, pBlob uintptr, z uintptr, n int32, iOffset int32) int32 { /* sqlite3.c:96453:16: */ return blobReadWrite(tls, pBlob, z, n, iOffset, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, U32, U32, uintptr) int32 }{Xsqlite3BtreePayloadChecked}))) } // Write data to a blob handle. -func Xsqlite3_blob_write(tls *libc.TLS, pBlob uintptr, z uintptr, n int32, iOffset int32) int32 { /* sqlite3.c:96447:16: */ +func Xsqlite3_blob_write(tls *libc.TLS, pBlob uintptr, z uintptr, n int32, iOffset int32) int32 { /* sqlite3.c:96460:16: */ return blobReadWrite(tls, pBlob, z, n, iOffset, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, U32, U32, uintptr) int32 }{Xsqlite3BtreePutData}))) @@ -73532,7 +73551,7 @@ func Xsqlite3_blob_write(tls *libc.TLS, pBlob uintptr, z uintptr, n int32, iOffs // // The Incrblob.nByte field is fixed for the lifetime of the Incrblob // so no mutex is required for access. -func Xsqlite3_blob_bytes(tls *libc.TLS, pBlob uintptr) int32 { /* sqlite3.c:96457:16: */ +func Xsqlite3_blob_bytes(tls *libc.TLS, pBlob uintptr) int32 { /* sqlite3.c:96470:16: */ var p uintptr = pBlob if p != 0 && (*Incrblob)(unsafe.Pointer(p)).FpStmt != 0 { return (*Incrblob)(unsafe.Pointer(p)).FnByte @@ -73548,7 +73567,7 @@ func Xsqlite3_blob_bytes(tls *libc.TLS, pBlob uintptr) int32 { /* sqlite3.c:9645 // database handle error code and message set. If this happens, then all // subsequent calls to sqlite3_blob_xxx() functions (except blob_close()) // immediately return SQLITE_ABORT. -func Xsqlite3_blob_reopen(tls *libc.TLS, pBlob uintptr, iRow Sqlite3_int64) int32 { /* sqlite3.c:96472:16: */ +func Xsqlite3_blob_reopen(tls *libc.TLS, pBlob uintptr, iRow Sqlite3_int64) int32 { /* sqlite3.c:96485:16: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -73557,7 +73576,7 @@ func Xsqlite3_blob_reopen(tls *libc.TLS, pBlob uintptr, iRow Sqlite3_int64) int3 var db uintptr if p == uintptr(0) { - return Xsqlite3MisuseError(tls, 96477) + return Xsqlite3MisuseError(tls, 96490) } db = (*Incrblob)(unsafe.Pointer(p)).Fdb Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) @@ -73895,7 +73914,7 @@ type MergeEngine1 = struct { // overflows. 512MiB. // Private objects used by the sorter -type MergeEngine = MergeEngine1 /* sqlite3.c:96666:28 */ // Merge PMAs together +type MergeEngine = MergeEngine1 /* sqlite3.c:96679:28 */ // Merge PMAs together type PmaReader1 = struct { FiReadOff I64 FiEof I64 @@ -73912,7 +73931,7 @@ type PmaReader1 = struct { } /* sqlite3.c:22082:9 */ // Merge PMAs together -type PmaReader = PmaReader1 /* sqlite3.c:96667:26 */ // Incrementally read one PMA +type PmaReader = PmaReader1 /* sqlite3.c:96680:26 */ // Incrementally read one PMA type PmaWriter1 = struct { FeFWErr int32 F__ccgo_pad1 [4]byte @@ -73923,10 +73942,10 @@ type PmaWriter1 = struct { F__ccgo_pad2 [4]byte FiWriteOff I64 FpFd uintptr -} /* sqlite3.c:96668:9 */ +} /* sqlite3.c:96681:9 */ // Incrementally read one PMA -type PmaWriter = PmaWriter1 /* sqlite3.c:96668:26 */ // Incrementally write one PMA +type PmaWriter = PmaWriter1 /* sqlite3.c:96681:26 */ // Incrementally write one PMA type SorterRecord1 = struct { FnVal int32 F__ccgo_pad1 [4]byte @@ -73934,7 +73953,7 @@ type SorterRecord1 = struct { } /* sqlite3.c:22082:9 */ // Incrementally write one PMA -type SorterRecord = SorterRecord1 /* sqlite3.c:96669:29 */ // A record being sorted +type SorterRecord = SorterRecord1 /* sqlite3.c:96682:29 */ // A record being sorted type SortSubtask1 = struct { FpThread uintptr FbDone int32 @@ -73950,14 +73969,14 @@ type SortSubtask1 = struct { } /* sqlite3.c:22082:9 */ // A record being sorted -type SortSubtask = SortSubtask1 /* sqlite3.c:96670:28 */ // A sub-task in the sort process +type SortSubtask = SortSubtask1 /* sqlite3.c:96683:28 */ // A sub-task in the sort process type SorterFile1 = struct { FpFd uintptr FiEof I64 } /* sqlite3.c:22082:9 */ // A sub-task in the sort process -type SorterFile = SorterFile1 /* sqlite3.c:96671:27 */ // Temporary file object wrapper +type SorterFile = SorterFile1 /* sqlite3.c:96684:27 */ // Temporary file object wrapper type SorterList1 = struct { FpList uintptr FaMemory uintptr @@ -73966,7 +73985,7 @@ type SorterList1 = struct { } /* sqlite3.c:22082:9 */ // Temporary file object wrapper -type SorterList = SorterList1 /* sqlite3.c:96672:27 */ // In-memory list of records +type SorterList = SorterList1 /* sqlite3.c:96685:27 */ // In-memory list of records type IncrMerger1 = struct { FpTask uintptr FpMerger uintptr @@ -73979,7 +73998,7 @@ type IncrMerger1 = struct { } /* sqlite3.c:22082:9 */ // In-memory list of records -type IncrMerger = IncrMerger1 /* sqlite3.c:96673:27 */ +type IncrMerger = IncrMerger1 /* sqlite3.c:96686:27 */ // This object represents a single thread of control in a sort operation. // Exactly VdbeSorter.nTask instances of this object are allocated @@ -74010,11 +74029,11 @@ type IncrMerger = IncrMerger1 /* sqlite3.c:96673:27 */ // In both cases, the effects of the main thread seeing (bDone==0) even // after the thread has finished are not dire. So we don't worry about // memory barriers and such here. -type SorterCompare = uintptr /* sqlite3.c:96800:13 */ +type SorterCompare = uintptr /* sqlite3.c:96813:13 */ // Free all memory belonging to the PmaReader object passed as the // argument. All structure fields are set to zero before returning. -func vdbePmaReaderClear(tls *libc.TLS, pReadr uintptr) { /* sqlite3.c:96975:13: */ +func vdbePmaReaderClear(tls *libc.TLS, pReadr uintptr) { /* sqlite3.c:96988:13: */ Xsqlite3_free(tls, (*PmaReader)(unsafe.Pointer(pReadr)).FaAlloc) Xsqlite3_free(tls, (*PmaReader)(unsafe.Pointer(pReadr)).FaBuffer) if (*PmaReader)(unsafe.Pointer(pReadr)).FaMap != 0 { @@ -74031,7 +74050,7 @@ func vdbePmaReaderClear(tls *libc.TLS, pReadr uintptr) { /* sqlite3.c:96975:13: // // The buffer returned in *ppOut is only valid until the // next call to this function. -func vdbePmaReadBlob(tls *libc.TLS, p uintptr, nByte int32, ppOut uintptr) int32 { /* sqlite3.c:96992:12: */ +func vdbePmaReadBlob(tls *libc.TLS, p uintptr, nByte int32, ppOut uintptr) int32 { /* sqlite3.c:97005:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -74135,7 +74154,7 @@ func vdbePmaReadBlob(tls *libc.TLS, p uintptr, nByte int32, ppOut uintptr) int32 // Read a varint from the stream of data accessed by p. Set *pnOut to // the value read. -func vdbePmaReadVarint(tls *libc.TLS, p uintptr, pnOut uintptr) int32 { /* sqlite3.c:97086:12: */ +func vdbePmaReadVarint(tls *libc.TLS, p uintptr, pnOut uintptr) int32 { /* sqlite3.c:97099:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -74175,7 +74194,7 @@ func vdbePmaReadVarint(tls *libc.TLS, p uintptr, pnOut uintptr) int32 { /* sqlit // // Or, if an error occurs, return an SQLite error code. The final value of // *pp is undefined in this case. -func vdbeSorterMapFile(tls *libc.TLS, pTask uintptr, pFile uintptr, pp uintptr) int32 { /* sqlite3.c:97119:12: */ +func vdbeSorterMapFile(tls *libc.TLS, pTask uintptr, pFile uintptr, pp uintptr) int32 { /* sqlite3.c:97132:12: */ var rc int32 = SQLITE_OK if (*SorterFile)(unsafe.Pointer(pFile)).FiEof <= I64((*Sqlite3)(unsafe.Pointer((*VdbeSorter)(unsafe.Pointer((*SortSubtask)(unsafe.Pointer(pTask)).FpSorter)).Fdb)).FnMaxSorterMmap) { var pFd uintptr = (*SorterFile)(unsafe.Pointer(pFile)).FpFd @@ -74190,7 +74209,7 @@ func vdbeSorterMapFile(tls *libc.TLS, pTask uintptr, pFile uintptr, pp uintptr) // Attach PmaReader pReadr to file pFile (if it is not already attached to // that file) and seek it to offset iOff within the file. Return SQLITE_OK // if successful, or an SQLite error code if an error occurs. -func vdbePmaReaderSeek(tls *libc.TLS, pTask uintptr, pReadr uintptr, pFile uintptr, iOff I64) int32 { /* sqlite3.c:97136:12: */ +func vdbePmaReaderSeek(tls *libc.TLS, pTask uintptr, pReadr uintptr, pFile uintptr, iOff I64) int32 { /* sqlite3.c:97149:12: */ var rc int32 = SQLITE_OK if Xsqlite3FaultSim(tls, 201) != 0 { @@ -74231,7 +74250,7 @@ func vdbePmaReaderSeek(tls *libc.TLS, pTask uintptr, pReadr uintptr, pFile uintp // Advance PmaReader pReadr to the next key in its PMA. Return SQLITE_OK if // no error occurs, or an SQLite error code if one does. -func vdbePmaReaderNext(tls *libc.TLS, pReadr uintptr) int32 { /* sqlite3.c:97183:12: */ +func vdbePmaReaderNext(tls *libc.TLS, pReadr uintptr) int32 { /* sqlite3.c:97196:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -74277,7 +74296,7 @@ func vdbePmaReaderNext(tls *libc.TLS, pReadr uintptr) int32 { /* sqlite3.c:97183 // // If the pnByte parameter is NULL, then it is assumed that the file // contains a single PMA, and that that PMA omits the initial length varint. -func vdbePmaReaderInit(tls *libc.TLS, pTask uintptr, pFile uintptr, iStart I64, pReadr uintptr, pnByte uintptr) int32 { /* sqlite3.c:97230:12: */ +func vdbePmaReaderInit(tls *libc.TLS, pTask uintptr, pFile uintptr, iStart I64, pReadr uintptr, pnByte uintptr) int32 { /* sqlite3.c:97243:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -74300,7 +74319,7 @@ func vdbePmaReaderInit(tls *libc.TLS, pTask uintptr, pFile uintptr, iStart I64, // A version of vdbeSorterCompare() that assumes that it has already been // determined that the first field of key1 is equal to the first field of // key2. -func vdbeSorterCompareTail(tls *libc.TLS, pTask uintptr, pbKey2Cached uintptr, pKey1 uintptr, nKey1 int32, pKey2 uintptr, nKey2 int32) int32 { /* sqlite3.c:97263:12: */ +func vdbeSorterCompareTail(tls *libc.TLS, pTask uintptr, pbKey2Cached uintptr, pKey1 uintptr, nKey1 int32, pKey2 uintptr, nKey2 int32) int32 { /* sqlite3.c:97276:12: */ var r2 uintptr = (*SortSubtask)(unsafe.Pointer(pTask)).FpUnpacked if *(*int32)(unsafe.Pointer(pbKey2Cached)) == 0 { Xsqlite3VdbeRecordUnpack(tls, (*VdbeSorter)(unsafe.Pointer((*SortSubtask)(unsafe.Pointer(pTask)).FpSorter)).FpKeyInfo, nKey2, pKey2, r2) @@ -74320,7 +74339,7 @@ func vdbeSorterCompareTail(tls *libc.TLS, pTask uintptr, pbKey2Cached uintptr, p // // If an OOM error is encountered, (pTask->pUnpacked->error_rc) is set // to SQLITE_NOMEM. -func vdbeSorterCompare(tls *libc.TLS, pTask uintptr, pbKey2Cached uintptr, pKey1 uintptr, nKey1 int32, pKey2 uintptr, nKey2 int32) int32 { /* sqlite3.c:97290:12: */ +func vdbeSorterCompare(tls *libc.TLS, pTask uintptr, pbKey2Cached uintptr, pKey1 uintptr, nKey1 int32, pKey2 uintptr, nKey2 int32) int32 { /* sqlite3.c:97303:12: */ var r2 uintptr = (*SortSubtask)(unsafe.Pointer(pTask)).FpUnpacked if !(*(*int32)(unsafe.Pointer(pbKey2Cached)) != 0) { Xsqlite3VdbeRecordUnpack(tls, (*VdbeSorter)(unsafe.Pointer((*SortSubtask)(unsafe.Pointer(pTask)).FpSorter)).FpKeyInfo, nKey2, pKey2, r2) @@ -74332,7 +74351,7 @@ func vdbeSorterCompare(tls *libc.TLS, pTask uintptr, pbKey2Cached uintptr, pKey1 // A specially optimized version of vdbeSorterCompare() that assumes that // the first field of each key is a TEXT value and that the collation // sequence to compare them with is BINARY. -func vdbeSorterCompareText(tls *libc.TLS, pTask uintptr, pbKey2Cached uintptr, pKey1 uintptr, nKey1 int32, pKey2 uintptr, nKey2 int32) int32 { /* sqlite3.c:97309:12: */ +func vdbeSorterCompareText(tls *libc.TLS, pTask uintptr, pbKey2Cached uintptr, pKey1 uintptr, nKey1 int32, pKey2 uintptr, nKey2 int32) int32 { /* sqlite3.c:97322:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -74382,7 +74401,7 @@ func vdbeSorterCompareText(tls *libc.TLS, pTask uintptr, pbKey2Cached uintptr, p // A specially optimized version of vdbeSorterCompare() that assumes that // the first field of each key is an INTEGER value. -func vdbeSorterCompareInt(tls *libc.TLS, pTask uintptr, pbKey2Cached uintptr, pKey1 uintptr, nKey1 int32, pKey2 uintptr, nKey2 int32) int32 { /* sqlite3.c:97351:12: */ +func vdbeSorterCompareInt(tls *libc.TLS, pTask uintptr, pbKey2Cached uintptr, pKey1 uintptr, nKey1 int32, pKey2 uintptr, nKey2 int32) int32 { /* sqlite3.c:97364:12: */ var p1 uintptr = pKey1 var p2 uintptr = pKey2 var s1 int32 = int32(*(*U8)(unsafe.Pointer(p1 + 1))) // Left hand serial type @@ -74442,7 +74461,7 @@ func vdbeSorterCompareInt(tls *libc.TLS, pTask uintptr, pbKey2Cached uintptr, pK return res } -var aLen = [10]U8{U8(0), U8(1), U8(2), U8(3), U8(4), U8(6), U8(8), U8(0), U8(0), U8(0)} /* sqlite3.c:97370:21 */ +var aLen = [10]U8{U8(0), U8(1), U8(2), U8(3), U8(4), U8(6), U8(8), U8(0), U8(0), U8(0)} /* sqlite3.c:97383:21 */ // Initialize the temporary index cursor just opened as a sorter cursor. // @@ -74461,7 +74480,7 @@ var aLen = [10]U8{U8(0), U8(1), U8(2), U8(3), U8(4), U8(6), U8(8), U8(0), U8(0), // mode, but not in multi-threaded mode. // // SQLITE_OK is returned if successful, or an SQLite error code otherwise. -func Xsqlite3VdbeSorterInit(tls *libc.TLS, db uintptr, nField int32, pCsr uintptr) int32 { /* sqlite3.c:97434:20: */ +func Xsqlite3VdbeSorterInit(tls *libc.TLS, db uintptr, nField int32, pCsr uintptr) int32 { /* sqlite3.c:97447:20: */ var pgsz int32 // Page size of main database var i int32 // Used to iterate through aTask[] var pSorter uintptr // The new sorter @@ -74557,7 +74576,7 @@ func Xsqlite3VdbeSorterInit(tls *libc.TLS, db uintptr, nField int32, pCsr uintpt } // Free the list of sorted records starting at pRecord. -func vdbeSorterRecordFree(tls *libc.TLS, db uintptr, pRecord uintptr) { /* sqlite3.c:97540:13: */ +func vdbeSorterRecordFree(tls *libc.TLS, db uintptr, pRecord uintptr) { /* sqlite3.c:97553:13: */ var p uintptr var pNext uintptr for p = pRecord; p != 0; p = pNext { @@ -74568,7 +74587,7 @@ func vdbeSorterRecordFree(tls *libc.TLS, db uintptr, pRecord uintptr) { /* sqlit // Free all resources owned by the object indicated by argument pTask. All // fields of *pTask are zeroed before returning. -func vdbeSortSubtaskCleanup(tls *libc.TLS, db uintptr, pTask uintptr) { /* sqlite3.c:97553:13: */ +func vdbeSortSubtaskCleanup(tls *libc.TLS, db uintptr, pTask uintptr) { /* sqlite3.c:97566:13: */ Xsqlite3DbFree(tls, db, (*SortSubtask)(unsafe.Pointer(pTask)).FpUnpacked) // pTask->list.aMemory can only be non-zero if it was handed memory // from the main thread. That only occurs SQLITE_MAX_WORKER_THREADS>0 @@ -74588,7 +74607,7 @@ func vdbeSortSubtaskCleanup(tls *libc.TLS, db uintptr, pTask uintptr) { /* sqlit } // Join thread pTask->thread. -func vdbeSorterJoinThread(tls *libc.TLS, pTask uintptr) int32 { /* sqlite3.c:97619:12: */ +func vdbeSorterJoinThread(tls *libc.TLS, pTask uintptr) int32 { /* sqlite3.c:97632:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -74607,14 +74626,14 @@ func vdbeSorterJoinThread(tls *libc.TLS, pTask uintptr) int32 { /* sqlite3.c:976 } // Launch a background thread to run xTask(pIn). -func vdbeSorterCreateThread(tls *libc.TLS, pTask uintptr, xTask uintptr, pIn uintptr) int32 { /* sqlite3.c:97640:12: */ +func vdbeSorterCreateThread(tls *libc.TLS, pTask uintptr, xTask uintptr, pIn uintptr) int32 { /* sqlite3.c:97653:12: */ return Xsqlite3ThreadCreate(tls, pTask, xTask, pIn) } // Join all outstanding threads launched by SorterWrite() to create // level-0 PMAs. -func vdbeSorterJoinAll(tls *libc.TLS, pSorter uintptr, rcin int32) int32 { /* sqlite3.c:97653:12: */ +func vdbeSorterJoinAll(tls *libc.TLS, pSorter uintptr, rcin int32) int32 { /* sqlite3.c:97666:12: */ var rc int32 = rcin var i int32 @@ -74640,7 +74659,7 @@ func vdbeSorterJoinAll(tls *libc.TLS, pSorter uintptr, rcin int32) int32 { /* sq // // nReader is automatically rounded up to the next power of two. // nReader may not exceed SORTER_MAX_MERGE_COUNT even after rounding up. -func vdbeMergeEngineNew(tls *libc.TLS, nReader int32) uintptr { /* sqlite3.c:97683:20: */ +func vdbeMergeEngineNew(tls *libc.TLS, nReader int32) uintptr { /* sqlite3.c:97696:20: */ var N int32 = 2 // Smallest power of two >= nReader var nByte int32 // Total bytes of space to allocate var pNew uintptr // Pointer to allocated object to return @@ -74665,7 +74684,7 @@ func vdbeMergeEngineNew(tls *libc.TLS, nReader int32) uintptr { /* sqlite3.c:976 } // Free the MergeEngine object passed as the only argument. -func vdbeMergeEngineFree(tls *libc.TLS, pMerger uintptr) { /* sqlite3.c:97706:13: */ +func vdbeMergeEngineFree(tls *libc.TLS, pMerger uintptr) { /* sqlite3.c:97719:13: */ var i int32 if pMerger != 0 { for i = 0; i < (*MergeEngine)(unsafe.Pointer(pMerger)).FnTree; i++ { @@ -74677,7 +74696,7 @@ func vdbeMergeEngineFree(tls *libc.TLS, pMerger uintptr) { /* sqlite3.c:97706:13 // Free all resources associated with the IncrMerger object indicated by // the first argument. -func vdbeIncrFree(tls *libc.TLS, pIncr uintptr) { /* sqlite3.c:97720:13: */ +func vdbeIncrFree(tls *libc.TLS, pIncr uintptr) { /* sqlite3.c:97733:13: */ if pIncr != 0 { if (*IncrMerger)(unsafe.Pointer(pIncr)).FbUseThread != 0 { vdbeSorterJoinThread(tls, (*IncrMerger)(unsafe.Pointer(pIncr)).FpTask) @@ -74694,7 +74713,7 @@ func vdbeIncrFree(tls *libc.TLS, pIncr uintptr) { /* sqlite3.c:97720:13: */ } // Reset a sorting cursor back to its original empty state. -func Xsqlite3VdbeSorterReset(tls *libc.TLS, db uintptr, pSorter uintptr) { /* sqlite3.c:97737:21: */ +func Xsqlite3VdbeSorterReset(tls *libc.TLS, db uintptr, pSorter uintptr) { /* sqlite3.c:97750:21: */ var i int32 vdbeSorterJoinAll(tls, pSorter, SQLITE_OK) @@ -74723,7 +74742,7 @@ func Xsqlite3VdbeSorterReset(tls *libc.TLS, db uintptr, pSorter uintptr) { /* sq } // Free any cursor components allocated by sqlite3VdbeSorterXXX routines. -func Xsqlite3VdbeSorterClose(tls *libc.TLS, db uintptr, pCsr uintptr) { /* sqlite3.c:97770:21: */ +func Xsqlite3VdbeSorterClose(tls *libc.TLS, db uintptr, pCsr uintptr) { /* sqlite3.c:97783:21: */ var pSorter uintptr pSorter = *(*uintptr)(unsafe.Pointer(pCsr + 48)) @@ -74738,7 +74757,7 @@ func Xsqlite3VdbeSorterClose(tls *libc.TLS, db uintptr, pCsr uintptr) { /* sqlit // Allocate space for a file-handle and open a temporary file. If successful, // set *ppFd to point to the malloc'd file-handle and return SQLITE_OK. // Otherwise, set *ppFd to 0 and return an SQLite error code. -func vdbeSorterOpenTempFile(tls *libc.TLS, db uintptr, nExtend I64, ppFd uintptr) int32 { /* sqlite3.c:97811:12: */ +func vdbeSorterOpenTempFile(tls *libc.TLS, db uintptr, nExtend I64, ppFd uintptr) int32 { /* sqlite3.c:97824:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -74762,7 +74781,7 @@ func vdbeSorterOpenTempFile(tls *libc.TLS, db uintptr, nExtend I64, ppFd uintptr // If it has not already been allocated, allocate the UnpackedRecord // structure at pTask->pUnpacked. Return SQLITE_OK if successful (or // if no allocation was required), or SQLITE_NOMEM otherwise. -func vdbeSortAllocUnpacked(tls *libc.TLS, pTask uintptr) int32 { /* sqlite3.c:97838:12: */ +func vdbeSortAllocUnpacked(tls *libc.TLS, pTask uintptr) int32 { /* sqlite3.c:97851:12: */ if (*SortSubtask)(unsafe.Pointer(pTask)).FpUnpacked == uintptr(0) { (*SortSubtask)(unsafe.Pointer(pTask)).FpUnpacked = Xsqlite3VdbeAllocUnpackedRecord(tls, (*VdbeSorter)(unsafe.Pointer((*SortSubtask)(unsafe.Pointer(pTask)).FpSorter)).FpKeyInfo) if (*SortSubtask)(unsafe.Pointer(pTask)).FpUnpacked == uintptr(0) { @@ -74775,7 +74794,7 @@ func vdbeSortAllocUnpacked(tls *libc.TLS, pTask uintptr) int32 { /* sqlite3.c:97 } // Merge the two sorted lists p1 and p2 into a single list. -func vdbeSorterMerge(tls *libc.TLS, pTask uintptr, p1 uintptr, p2 uintptr) uintptr { /* sqlite3.c:97852:21: */ +func vdbeSorterMerge(tls *libc.TLS, pTask uintptr, p1 uintptr, p2 uintptr) uintptr { /* sqlite3.c:97865:21: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -74814,7 +74833,7 @@ func vdbeSorterMerge(tls *libc.TLS, pTask uintptr, p1 uintptr, p2 uintptr) uintp // Return the SorterCompare function to compare values collected by the // sorter object passed as the only argument. -func vdbeSorterGetCompare(tls *libc.TLS, p uintptr) SorterCompare { /* sqlite3.c:97894:22: */ +func vdbeSorterGetCompare(tls *libc.TLS, p uintptr) SorterCompare { /* sqlite3.c:97907:22: */ if int32((*VdbeSorter)(unsafe.Pointer(p)).FtypeMask) == SORTER_TYPE_INTEGER { return *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr, int32) int32 @@ -74832,7 +74851,7 @@ func vdbeSorterGetCompare(tls *libc.TLS, p uintptr) SorterCompare { /* sqlite3.c // Sort the linked list of records headed at pTask->pList. Return // SQLITE_OK if successful, or an SQLite error code (i.e. SQLITE_NOMEM) if // an error occurs. -func vdbeSorterSort(tls *libc.TLS, pTask uintptr, pList uintptr) int32 { /* sqlite3.c:97908:12: */ +func vdbeSorterSort(tls *libc.TLS, pTask uintptr, pList uintptr) int32 { /* sqlite3.c:97921:12: */ bp := tls.Alloc(512) defer tls.Free(512) @@ -74889,7 +74908,7 @@ func vdbeSorterSort(tls *libc.TLS, pTask uintptr, pList uintptr) int32 { /* sqli } // Initialize a PMA-writer object. -func vdbePmaWriterInit(tls *libc.TLS, pFd uintptr, p uintptr, nBuf int32, iStart I64) { /* sqlite3.c:97959:13: */ +func vdbePmaWriterInit(tls *libc.TLS, pFd uintptr, p uintptr, nBuf int32, iStart I64) { /* sqlite3.c:97972:13: */ libc.Xmemset(tls, p, 0, uint64(unsafe.Sizeof(PmaWriter{}))) (*PmaWriter)(unsafe.Pointer(p)).FaBuffer = Xsqlite3Malloc(tls, uint64(nBuf)) if !(int32((*PmaWriter)(unsafe.Pointer(p)).FaBuffer) != 0) { @@ -74904,7 +74923,7 @@ func vdbePmaWriterInit(tls *libc.TLS, pFd uintptr, p uintptr, nBuf int32, iStart // Write nData bytes of data to the PMA. Return SQLITE_OK // if successful, or an SQLite error code if an error occurs. -func vdbePmaWriteBlob(tls *libc.TLS, p uintptr, pData uintptr, nData int32) { /* sqlite3.c:97981:13: */ +func vdbePmaWriteBlob(tls *libc.TLS, p uintptr, pData uintptr, nData int32) { /* sqlite3.c:97994:13: */ var nRem int32 = nData for nRem > 0 && (*PmaWriter)(unsafe.Pointer(p)).FeFWErr == 0 { var nCopy int32 = nRem @@ -74933,7 +74952,7 @@ func vdbePmaWriteBlob(tls *libc.TLS, p uintptr, pData uintptr, nData int32) { /* // // Before returning, set *piEof to the offset immediately following the // last byte written to the file. -func vdbePmaWriterFinish(tls *libc.TLS, p uintptr, piEof uintptr) int32 { /* sqlite3.c:98014:12: */ +func vdbePmaWriterFinish(tls *libc.TLS, p uintptr, piEof uintptr) int32 { /* sqlite3.c:98027:12: */ var rc int32 if (*PmaWriter)(unsafe.Pointer(p)).FeFWErr == 0 && (*PmaWriter)(unsafe.Pointer(p)).FaBuffer != 0 && (*PmaWriter)(unsafe.Pointer(p)).FiBufEnd > (*PmaWriter)(unsafe.Pointer(p)).FiBufStart { (*PmaWriter)(unsafe.Pointer(p)).FeFWErr = Xsqlite3OsWrite(tls, (*PmaWriter)(unsafe.Pointer(p)).FpFd, @@ -74949,7 +74968,7 @@ func vdbePmaWriterFinish(tls *libc.TLS, p uintptr, piEof uintptr) int32 { /* sql // Write value iVal encoded as a varint to the PMA. Return // SQLITE_OK if successful, or an SQLite error code if an error occurs. -func vdbePmaWriteVarint(tls *libc.TLS, p uintptr, iVal U64) { /* sqlite3.c:98033:13: */ +func vdbePmaWriteVarint(tls *libc.TLS, p uintptr, iVal U64) { /* sqlite3.c:98046:13: */ bp := tls.Alloc(10) defer tls.Free(10) @@ -74972,7 +74991,7 @@ func vdbePmaWriteVarint(tls *libc.TLS, p uintptr, iVal U64) { /* sqlite3.c:98033 // * One or more records packed end-to-end in order of ascending keys. // Each record consists of a varint followed by a blob of data (the // key). The varint is the number of bytes in the blob of data. -func vdbeSorterListToPMA(tls *libc.TLS, pTask uintptr, pList uintptr) int32 { /* sqlite3.c:98054:12: */ +func vdbeSorterListToPMA(tls *libc.TLS, pTask uintptr, pList uintptr) int32 { /* sqlite3.c:98067:12: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -75027,7 +75046,7 @@ func vdbeSorterListToPMA(tls *libc.TLS, pTask uintptr, pList uintptr) int32 { /* // the MergeEngine has reached the end of all its inputs. // // Return SQLITE_OK if successful or an error code if an error occurs. -func vdbeMergeEngineStep(tls *libc.TLS, pMerger uintptr, pbEof uintptr) int32 { /* sqlite3.c:98118:12: */ +func vdbeMergeEngineStep(tls *libc.TLS, pMerger uintptr, pbEof uintptr) int32 { /* sqlite3.c:98131:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -75103,7 +75122,7 @@ func vdbeMergeEngineStep(tls *libc.TLS, pMerger uintptr, pbEof uintptr) int32 { } // The main routine for background threads that write level-0 PMAs. -func vdbeSorterFlushThread(tls *libc.TLS, pCtx uintptr) uintptr { /* sqlite3.c:98189:13: */ +func vdbeSorterFlushThread(tls *libc.TLS, pCtx uintptr) uintptr { /* sqlite3.c:98202:13: */ var pTask uintptr = pCtx var rc int32 // Return code @@ -75114,7 +75133,7 @@ func vdbeSorterFlushThread(tls *libc.TLS, pCtx uintptr) uintptr { /* sqlite3.c:9 // Flush the current contents of VdbeSorter.list to a new PMA, possibly // using a background thread. -func vdbeSorterFlushPMA(tls *libc.TLS, pSorter uintptr) int32 { /* sqlite3.c:98203:12: */ +func vdbeSorterFlushPMA(tls *libc.TLS, pSorter uintptr) int32 { /* sqlite3.c:98216:12: */ var rc int32 = SQLITE_OK var i int32 var pTask uintptr = uintptr(0) // Thread context used to create new PMA @@ -75178,7 +75197,7 @@ func vdbeSorterFlushPMA(tls *libc.TLS, pSorter uintptr) int32 { /* sqlite3.c:982 } // Add a record to the sorter. -func Xsqlite3VdbeSorterWrite(tls *libc.TLS, pCsr uintptr, pVal uintptr) int32 { /* sqlite3.c:98273:20: */ +func Xsqlite3VdbeSorterWrite(tls *libc.TLS, pCsr uintptr, pVal uintptr) int32 { /* sqlite3.c:98286:20: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -75294,7 +75313,7 @@ func Xsqlite3VdbeSorterWrite(tls *libc.TLS, pCsr uintptr, pVal uintptr) int32 { // Read keys from pIncr->pMerger and populate pIncr->aFile[1]. The format // of the data stored in aFile[1] is the same as that used by regular PMAs, // except that the number-of-bytes varint is omitted from the start. -func vdbeIncrPopulate(tls *libc.TLS, pIncr uintptr) int32 { /* sqlite3.c:98385:12: */ +func vdbeIncrPopulate(tls *libc.TLS, pIncr uintptr) int32 { /* sqlite3.c:98398:12: */ bp := tls.Alloc(52) defer tls.Free(52) @@ -75340,7 +75359,7 @@ func vdbeIncrPopulate(tls *libc.TLS, pIncr uintptr) int32 { /* sqlite3.c:98385:1 // The main routine for background threads that populate aFile[1] of // multi-threaded IncrMerger objects. -func vdbeIncrPopulateThread(tls *libc.TLS, pCtx uintptr) uintptr { /* sqlite3.c:98427:13: */ +func vdbeIncrPopulateThread(tls *libc.TLS, pCtx uintptr) uintptr { /* sqlite3.c:98440:13: */ var pIncr uintptr = pCtx var pRet uintptr = uintptr(int64(vdbeIncrPopulate(tls, pIncr))) (*SortSubtask)(unsafe.Pointer((*IncrMerger)(unsafe.Pointer(pIncr)).FpTask)).FbDone = 1 @@ -75348,7 +75367,7 @@ func vdbeIncrPopulateThread(tls *libc.TLS, pCtx uintptr) uintptr { /* sqlite3.c: } // Launch a background thread to populate aFile[1] of pIncr. -func vdbeIncrBgPopulate(tls *libc.TLS, pIncr uintptr) int32 { /* sqlite3.c:98437:12: */ +func vdbeIncrBgPopulate(tls *libc.TLS, pIncr uintptr) int32 { /* sqlite3.c:98450:12: */ var p uintptr = pIncr return vdbeSorterCreateThread(tls, (*IncrMerger)(unsafe.Pointer(pIncr)).FpTask, *(*uintptr)(unsafe.Pointer(&struct { @@ -75371,7 +75390,7 @@ func vdbeIncrBgPopulate(tls *libc.TLS, pIncr uintptr) int32 { /* sqlite3.c:98437 // to populate the new aFile[1]. // // SQLITE_OK is returned on success, or an SQLite error code otherwise. -func vdbeIncrSwap(tls *libc.TLS, pIncr uintptr) int32 { /* sqlite3.c:98461:12: */ +func vdbeIncrSwap(tls *libc.TLS, pIncr uintptr) int32 { /* sqlite3.c:98474:12: */ var rc int32 = SQLITE_OK if (*IncrMerger)(unsafe.Pointer(pIncr)).FbUseThread != 0 { @@ -75405,7 +75424,7 @@ func vdbeIncrSwap(tls *libc.TLS, pIncr uintptr) int32 { /* sqlite3.c:98461:12: * // // If an OOM condition is encountered, return NULL. In this case free the // pMerger argument before returning. -func vdbeIncrMergerNew(tls *libc.TLS, pTask uintptr, pMerger uintptr, ppOut uintptr) int32 { /* sqlite3.c:98500:12: */ +func vdbeIncrMergerNew(tls *libc.TLS, pTask uintptr, pMerger uintptr, ppOut uintptr) int32 { /* sqlite3.c:98513:12: */ var rc int32 = SQLITE_OK var pIncr uintptr = libc.AssignPtrUintptr(ppOut, func() uintptr { if Xsqlite3FaultSim(tls, 100) != 0 { @@ -75432,7 +75451,7 @@ func vdbeIncrMergerNew(tls *libc.TLS, pTask uintptr, pMerger uintptr, ppOut uint } // Set the "use-threads" flag on object pIncr. -func vdbeIncrMergerSetThreads(tls *libc.TLS, pIncr uintptr) { /* sqlite3.c:98525:13: */ +func vdbeIncrMergerSetThreads(tls *libc.TLS, pIncr uintptr) { /* sqlite3.c:98538:13: */ (*IncrMerger)(unsafe.Pointer(pIncr)).FbUseThread = 1 *(*I64)(unsafe.Pointer((*IncrMerger)(unsafe.Pointer(pIncr)).FpTask + 88 + 8)) -= I64((*IncrMerger)(unsafe.Pointer(pIncr)).FmxSz) } @@ -75440,7 +75459,7 @@ func vdbeIncrMergerSetThreads(tls *libc.TLS, pIncr uintptr) { /* sqlite3.c:98525 // Recompute pMerger->aTree[iOut] by comparing the next keys on the // two PmaReaders that feed that entry. Neither of the PmaReaders // are advanced. This routine merely does the comparison. -func vdbeMergeEngineCompare(tls *libc.TLS, pMerger uintptr, iOut int32) { /* sqlite3.c:98538:13: */ +func vdbeMergeEngineCompare(tls *libc.TLS, pMerger uintptr, iOut int32) { /* sqlite3.c:98551:13: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -75500,7 +75519,7 @@ func vdbeMergeEngineCompare(tls *libc.TLS, pMerger uintptr, iOut int32) { /* sql // to pMerger. // // SQLITE_OK is returned if successful, or an SQLite error code otherwise. -func vdbeMergeEngineInit(tls *libc.TLS, pTask uintptr, pMerger uintptr, eMode int32) int32 { /* sqlite3.c:98620:12: */ +func vdbeMergeEngineInit(tls *libc.TLS, pTask uintptr, pMerger uintptr, eMode int32) int32 { /* sqlite3.c:98633:12: */ var rc int32 = SQLITE_OK // Return code var i int32 // For looping over PmaReader objects var nTree int32 // Number of subtrees to merge @@ -75570,7 +75589,7 @@ func vdbeMergeEngineInit(tls *libc.TLS, pTask uintptr, pMerger uintptr, eMode in // the current PmaReader set to point to the first key in its range. // // SQLITE_OK is returned if successful, or an SQLite error code otherwise. -func vdbePmaReaderIncrMergeInit(tls *libc.TLS, pReadr uintptr, eMode int32) int32 { /* sqlite3.c:98696:12: */ +func vdbePmaReaderIncrMergeInit(tls *libc.TLS, pReadr uintptr, eMode int32) int32 { /* sqlite3.c:98709:12: */ var rc int32 = SQLITE_OK var pIncr uintptr = (*PmaReader)(unsafe.Pointer(pReadr)).FpIncr var pTask uintptr = (*IncrMerger)(unsafe.Pointer(pIncr)).FpTask @@ -75627,7 +75646,7 @@ func vdbePmaReaderIncrMergeInit(tls *libc.TLS, pReadr uintptr, eMode int32) int3 // The main routine for vdbePmaReaderIncrMergeInit() operations run in // background threads. -func vdbePmaReaderBgIncrInit(tls *libc.TLS, pCtx uintptr) uintptr { /* sqlite3.c:98763:13: */ +func vdbePmaReaderBgIncrInit(tls *libc.TLS, pCtx uintptr) uintptr { /* sqlite3.c:98776:13: */ var pReader uintptr = pCtx var pRet uintptr = uintptr(int64(vdbePmaReaderIncrMergeInit(tls, pReader, INCRINIT_TASK))) (*SortSubtask)(unsafe.Pointer((*IncrMerger)(unsafe.Pointer((*PmaReader)(unsafe.Pointer(pReader)).FpIncr)).FpTask)).FbDone = 1 @@ -75643,7 +75662,7 @@ func vdbePmaReaderBgIncrInit(tls *libc.TLS, pCtx uintptr) uintptr { /* sqlite3.c // then a background thread is launched to call vdbePmaReaderIncrMergeInit(). // Or, if the IncrMerger is single threaded, the same function is called // using the current thread. -func vdbePmaReaderIncrInit(tls *libc.TLS, pReadr uintptr, eMode int32) int32 { /* sqlite3.c:98784:12: */ +func vdbePmaReaderIncrInit(tls *libc.TLS, pReadr uintptr, eMode int32) int32 { /* sqlite3.c:98797:12: */ var pIncr uintptr = (*PmaReader)(unsafe.Pointer(pReadr)).FpIncr // Incremental merger var rc int32 = SQLITE_OK // Return code if pIncr != 0 { @@ -75670,7 +75689,7 @@ func vdbePmaReaderIncrInit(tls *libc.TLS, pReadr uintptr, eMode int32) int32 { / // set to the offset immediately following the last byte of the last // PMA before returning. If an error does occur, then the final value of // *piOffset is undefined. -func vdbeMergeEngineLevel0(tls *libc.TLS, pTask uintptr, nPMA int32, piOffset uintptr, ppOut uintptr) int32 { /* sqlite3.c:98814:12: */ +func vdbeMergeEngineLevel0(tls *libc.TLS, pTask uintptr, nPMA int32, piOffset uintptr, ppOut uintptr) int32 { /* sqlite3.c:98827:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -75707,7 +75726,7 @@ func vdbeMergeEngineLevel0(tls *libc.TLS, pTask uintptr, nPMA int32, piOffset ui // nPMA<=16 -> TreeDepth() == 0 // nPMA<=256 -> TreeDepth() == 1 // nPMA<=65536 -> TreeDepth() == 2 -func vdbeSorterTreeDepth(tls *libc.TLS, nPMA int32) int32 { /* sqlite3.c:98853:12: */ +func vdbeSorterTreeDepth(tls *libc.TLS, nPMA int32) int32 { /* sqlite3.c:98866:12: */ var nDepth int32 = 0 var nDiv I64 = int64(SORTER_MAX_MERGE_COUNT) for nDiv < I64(nPMA) { @@ -75723,7 +75742,7 @@ func vdbeSorterTreeDepth(tls *libc.TLS, nPMA int32) int32 { /* sqlite3.c:98853:1 // // If successful, SQLITE_OK is returned. If an error occurs, an SQLite error // code is returned and pLeaf is freed. -func vdbeSorterAddToTree(tls *libc.TLS, pTask uintptr, nDepth int32, iSeq int32, pRoot uintptr, pLeaf uintptr) int32 { /* sqlite3.c:98871:12: */ +func vdbeSorterAddToTree(tls *libc.TLS, pTask uintptr, nDepth int32, iSeq int32, pRoot uintptr, pLeaf uintptr) int32 { /* sqlite3.c:98884:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -75774,7 +75793,7 @@ func vdbeSorterAddToTree(tls *libc.TLS, pTask uintptr, nDepth int32, iSeq int32, // MergeEngine object at the root of the tree before returning. Or, if an // error occurs, an SQLite error code is returned and the final value // of *ppOut is undefined. -func vdbeSorterMergeTreeBuild(tls *libc.TLS, pSorter uintptr, ppOut uintptr) int32 { /* sqlite3.c:98927:12: */ +func vdbeSorterMergeTreeBuild(tls *libc.TLS, pSorter uintptr, ppOut uintptr) int32 { /* sqlite3.c:98940:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -75855,7 +75874,7 @@ func vdbeSorterMergeTreeBuild(tls *libc.TLS, pSorter uintptr, ppOut uintptr) int // all records stored in the sorter. // // SQLITE_OK is returned if successful, or an SQLite error code otherwise. -func vdbeSorterSetupMerge(tls *libc.TLS, pSorter uintptr) int32 { /* sqlite3.c:99006:12: */ +func vdbeSorterSetupMerge(tls *libc.TLS, pSorter uintptr) int32 { /* sqlite3.c:99019:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -75930,7 +75949,7 @@ func vdbeSorterSetupMerge(tls *libc.TLS, pSorter uintptr) int32 { /* sqlite3.c:9 // Once the sorter has been populated by calls to sqlite3VdbeSorterWrite, // this function is called to prepare for iterating through the records // in sorted order. -func Xsqlite3VdbeSorterRewind(tls *libc.TLS, pCsr uintptr, pbEof uintptr) int32 { /* sqlite3.c:99088:20: */ +func Xsqlite3VdbeSorterRewind(tls *libc.TLS, pCsr uintptr, pbEof uintptr) int32 { /* sqlite3.c:99101:20: */ var pSorter uintptr var rc int32 = SQLITE_OK // Return code @@ -75975,7 +75994,7 @@ func Xsqlite3VdbeSorterRewind(tls *libc.TLS, pCsr uintptr, pbEof uintptr) int32 // SQLITE_OK success // SQLITE_DONE end of data // otherwise some kind of error. -func Xsqlite3VdbeSorterNext(tls *libc.TLS, db uintptr, pCsr uintptr) int32 { /* sqlite3.c:99140:20: */ +func Xsqlite3VdbeSorterNext(tls *libc.TLS, db uintptr, pCsr uintptr) int32 { /* sqlite3.c:99153:20: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -76017,7 +76036,7 @@ func Xsqlite3VdbeSorterNext(tls *libc.TLS, db uintptr, pCsr uintptr) int32 { /* // Return a pointer to a buffer owned by the sorter that contains the // current key. -func vdbeSorterRowkey(tls *libc.TLS, pSorter uintptr, pnKey uintptr) uintptr { /* sqlite3.c:99178:13: */ +func vdbeSorterRowkey(tls *libc.TLS, pSorter uintptr, pnKey uintptr) uintptr { /* sqlite3.c:99191:13: */ var pKey uintptr if (*VdbeSorter)(unsafe.Pointer(pSorter)).FbUsePMA != 0 { var pReader uintptr @@ -76036,7 +76055,7 @@ func vdbeSorterRowkey(tls *libc.TLS, pSorter uintptr, pnKey uintptr) uintptr { / } // Copy the current sorter key into the memory cell pOut. -func Xsqlite3VdbeSorterRowkey(tls *libc.TLS, pCsr uintptr, pOut uintptr) int32 { /* sqlite3.c:99205:20: */ +func Xsqlite3VdbeSorterRowkey(tls *libc.TLS, pCsr uintptr, pOut uintptr) int32 { /* sqlite3.c:99218:20: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -76071,7 +76090,7 @@ func Xsqlite3VdbeSorterRowkey(tls *libc.TLS, pCsr uintptr, pOut uintptr) int32 { // // This routine forms the core of the OP_SorterCompare opcode, which in // turn is used to verify uniqueness when constructing a UNIQUE INDEX. -func Xsqlite3VdbeSorterCompare(tls *libc.TLS, pCsr uintptr, pVal uintptr, nKeyCol int32, pRes uintptr) int32 { /* sqlite3.c:99238:20: */ +func Xsqlite3VdbeSorterCompare(tls *libc.TLS, pCsr uintptr, pVal uintptr, nKeyCol int32, pRes uintptr) int32 { /* sqlite3.c:99251:20: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -76163,7 +76182,7 @@ type MemJournal1 = struct { F__ccgo_pad1 [4]byte FpVfs uintptr FzJournal uintptr -} /* sqlite3.c:99731:9 */ +} /* sqlite3.c:99744:9 */ //************* End of vdbesort.c ******************************************* //************* Begin file vdbevtab.c *************************************** @@ -76210,23 +76229,23 @@ type MemJournal1 = struct { // #include "sqliteInt.h" // Forward references to internal structures -type MemJournal = MemJournal1 /* sqlite3.c:99731:27 */ +type MemJournal = MemJournal1 /* sqlite3.c:99744:27 */ type FilePoint1 = struct { FiOffset Sqlite3_int64 FpChunk uintptr -} /* sqlite3.c:99731:9 */ +} /* sqlite3.c:99744:9 */ -type FilePoint = FilePoint1 /* sqlite3.c:99732:26 */ +type FilePoint = FilePoint1 /* sqlite3.c:99745:26 */ type FileChunk1 = struct { FpNext uintptr FzChunk [8]U8 -} /* sqlite3.c:99731:9 */ +} /* sqlite3.c:99744:9 */ -type FileChunk = FileChunk1 /* sqlite3.c:99733:26 */ +type FileChunk = FileChunk1 /* sqlite3.c:99746:26 */ // Read data from the in-memory journal file. This is the implementation // of the sqlite3_vfs.xRead method. -func memjrnlRead(tls *libc.TLS, pJfd uintptr, zBuf uintptr, iAmt int32, iOfst Sqlite_int64) int32 { /* sqlite3.c:99788:12: */ +func memjrnlRead(tls *libc.TLS, pJfd uintptr, zBuf uintptr, iAmt int32, iOfst Sqlite_int64) int32 { /* sqlite3.c:99801:12: */ var p uintptr = pJfd var zOut uintptr = zBuf var nRead int32 = iAmt @@ -76273,7 +76292,7 @@ func memjrnlRead(tls *libc.TLS, pJfd uintptr, zBuf uintptr, iAmt int32, iOfst Sq } // Free the list of FileChunk structures headed at MemJournal.pFirst. -func memjrnlFreeChunks(tls *libc.TLS, pFirst uintptr) { /* sqlite3.c:99835:13: */ +func memjrnlFreeChunks(tls *libc.TLS, pFirst uintptr) { /* sqlite3.c:99848:13: */ var pIter uintptr var pNext uintptr for pIter = pFirst; pIter != 0; pIter = pNext { @@ -76283,7 +76302,7 @@ func memjrnlFreeChunks(tls *libc.TLS, pFirst uintptr) { /* sqlite3.c:99835:13: * } // Flush the contents of memory to a real file on disk. -func memjrnlCreateFile(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:99847:12: */ +func memjrnlCreateFile(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:99860:12: */ var rc int32 var pReal uintptr = p var copy = *(*MemJournal)(unsafe.Pointer(p)) @@ -76321,7 +76340,7 @@ func memjrnlCreateFile(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:99847:12: } // Write data to the file. -func memjrnlWrite(tls *libc.TLS, pJfd uintptr, zBuf uintptr, iAmt int32, iOfst Sqlite_int64) int32 { /* sqlite3.c:99889:12: */ +func memjrnlWrite(tls *libc.TLS, pJfd uintptr, zBuf uintptr, iAmt int32, iOfst Sqlite_int64) int32 { /* sqlite3.c:99902:12: */ var p uintptr = pJfd var nWrite int32 = iAmt var zWrite uintptr = zBuf @@ -76387,7 +76406,7 @@ func memjrnlWrite(tls *libc.TLS, pJfd uintptr, zBuf uintptr, iAmt int32, iOfst S } // Truncate the in-memory file. -func memjrnlTruncate(tls *libc.TLS, pJfd uintptr, size Sqlite_int64) int32 { /* sqlite3.c:99962:12: */ +func memjrnlTruncate(tls *libc.TLS, pJfd uintptr, size Sqlite_int64) int32 { /* sqlite3.c:99975:12: */ var p uintptr = pJfd if size < (*MemJournal)(unsafe.Pointer(p)).Fendpoint.FiOffset { @@ -76415,7 +76434,7 @@ func memjrnlTruncate(tls *libc.TLS, pJfd uintptr, size Sqlite_int64) int32 { /* } // Close the file. -func memjrnlClose(tls *libc.TLS, pJfd uintptr) int32 { /* sqlite3.c:99992:12: */ +func memjrnlClose(tls *libc.TLS, pJfd uintptr) int32 { /* sqlite3.c:100005:12: */ var p uintptr = pJfd memjrnlFreeChunks(tls, (*MemJournal)(unsafe.Pointer(p)).FpFirst) return SQLITE_OK @@ -76425,14 +76444,14 @@ func memjrnlClose(tls *libc.TLS, pJfd uintptr) int32 { /* sqlite3.c:99992:12: */ // // If the real file has been created, call its xSync method. Otherwise, // syncing an in-memory journal is a no-op. -func memjrnlSync(tls *libc.TLS, pJfd uintptr, flags int32) int32 { /* sqlite3.c:100004:12: */ +func memjrnlSync(tls *libc.TLS, pJfd uintptr, flags int32) int32 { /* sqlite3.c:100017:12: */ _ = pJfd _ = flags return SQLITE_OK } // Query the size of the file in bytes. -func memjrnlFileSize(tls *libc.TLS, pJfd uintptr, pSize uintptr) int32 { /* sqlite3.c:100012:12: */ +func memjrnlFileSize(tls *libc.TLS, pJfd uintptr, pSize uintptr) int32 { /* sqlite3.c:100025:12: */ var p uintptr = pJfd *(*Sqlite_int64)(unsafe.Pointer(pSize)) = (*MemJournal)(unsafe.Pointer(p)).Fendpoint.FiOffset return SQLITE_OK @@ -76447,7 +76466,7 @@ var sMemJournalMethods = sqlite3_io_methods{ FxTruncate: 0, // xTruncate FxSync: 0, // xSync FxFileSize: 0, // xUnfetch -} /* sqlite3.c:100021:40 */ +} /* sqlite3.c:100034:40 */ // Open a journal file. // @@ -76459,7 +76478,7 @@ var sMemJournalMethods = sqlite3_io_methods{ // but may be flushed to disk later on. In this case the journal file is // flushed to disk either when it grows larger than nSpill bytes in size, // or when sqlite3JournalCreate() is called. -func Xsqlite3JournalOpen(tls *libc.TLS, pVfs uintptr, zName uintptr, pJfd uintptr, flags int32, nSpill int32) int32 { /* sqlite3.c:100055:20: */ +func Xsqlite3JournalOpen(tls *libc.TLS, pVfs uintptr, zName uintptr, pJfd uintptr, flags int32, nSpill int32) int32 { /* sqlite3.c:100068:20: */ var p uintptr = pJfd // Zero the file-handle object. If nSpill was passed zero, initialize @@ -76487,20 +76506,20 @@ func Xsqlite3JournalOpen(tls *libc.TLS, pVfs uintptr, zName uintptr, pJfd uintpt } // Open an in-memory journal file. -func Xsqlite3MemJournalOpen(tls *libc.TLS, pJfd uintptr) { /* sqlite3.c:100091:21: */ +func Xsqlite3MemJournalOpen(tls *libc.TLS, pJfd uintptr) { /* sqlite3.c:100104:21: */ Xsqlite3JournalOpen(tls, uintptr(0), uintptr(0), pJfd, 0, -1) } // The file-handle passed as the only argument is open on a journal file. // Return true if this "journal file" is currently stored in heap memory, // or false otherwise. -func Xsqlite3JournalIsInMemory(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:100130:20: */ +func Xsqlite3JournalIsInMemory(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:100143:20: */ return libc.Bool32((*Sqlite3_file)(unsafe.Pointer(p)).FpMethods == uintptr(unsafe.Pointer(&sMemJournalMethods))) } // Return the number of bytes required to store a JournalFile that uses vfs // pVfs to create the underlying on-disk files. -func Xsqlite3JournalSize(tls *libc.TLS, pVfs uintptr) int32 { /* sqlite3.c:100138:20: */ +func Xsqlite3JournalSize(tls *libc.TLS, pVfs uintptr) int32 { /* sqlite3.c:100151:20: */ return func() int32 { if (*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FszOsFile > int32(unsafe.Sizeof(MemJournal{})) { return (*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FszOsFile @@ -76529,7 +76548,7 @@ func Xsqlite3JournalSize(tls *libc.TLS, pVfs uintptr) int32 { /* sqlite3.c:10013 // Walk all expressions linked into the list of Window objects passed // as the second argument. -func walkWindowList(tls *libc.TLS, pWalker uintptr, pList uintptr, bOneOnly int32) int32 { /* sqlite3.c:100168:12: */ +func walkWindowList(tls *libc.TLS, pWalker uintptr, pList uintptr, bOneOnly int32) int32 { /* sqlite3.c:100181:12: */ var pWin uintptr for pWin = pList; pWin != 0; pWin = (*Window)(unsafe.Pointer(pWin)).FpNextWin { var rc int32 @@ -76577,7 +76596,7 @@ func walkWindowList(tls *libc.TLS, pWalker uintptr, pList uintptr, bOneOnly int3 // // The return value from this routine is WRC_Abort to abandon the tree walk // and WRC_Continue to continue. -func walkExpr(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:100207:28: */ +func walkExpr(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:100220:28: */ var rc int32 for 1 != 0 { @@ -76619,7 +76638,7 @@ func walkExpr(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3. return WRC_Continue } -func Xsqlite3WalkExpr(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:100239:20: */ +func Xsqlite3WalkExpr(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:100252:20: */ if pExpr != 0 { return walkExpr(tls, pWalker, pExpr) } @@ -76628,7 +76647,7 @@ func Xsqlite3WalkExpr(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* // Call sqlite3WalkExpr() for every expression in list p or until // an abort request is seen. -func Xsqlite3WalkExprList(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sqlite3.c:100247:20: */ +func Xsqlite3WalkExprList(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sqlite3.c:100260:20: */ var i int32 var pItem uintptr if p != 0 { @@ -76657,7 +76676,7 @@ func Xsqlite3WalkExprList(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* // This is a no-op callback for Walker->xSelectCallback2. If this // callback is set, then the Select->pWinDefn list is traversed. -func Xsqlite3WalkWinDefnDummyCallback(tls *libc.TLS, pWalker uintptr, p uintptr) { /* sqlite3.c:100262:21: */ +func Xsqlite3WalkWinDefnDummyCallback(tls *libc.TLS, pWalker uintptr, p uintptr) { /* sqlite3.c:100275:21: */ _ = pWalker _ = p // No-op @@ -76667,7 +76686,7 @@ func Xsqlite3WalkWinDefnDummyCallback(tls *libc.TLS, pWalker uintptr, p uintptr) // not invoke the SELECT callback on p, but do (of course) invoke // any expr callbacks and SELECT callbacks that come from subqueries. // Return WRC_Abort or WRC_Continue. -func Xsqlite3WalkSelectExpr(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sqlite3.c:100274:20: */ +func Xsqlite3WalkSelectExpr(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sqlite3.c:100287:20: */ if Xsqlite3WalkExprList(tls, pWalker, (*Select)(unsafe.Pointer(p)).FpEList) != 0 { return WRC_Abort } @@ -76709,7 +76728,7 @@ func Xsqlite3WalkSelectExpr(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { / // callback on p, but do invoke it on each FROM clause subquery // and on any subqueries further down in the tree. Return // WRC_Abort or WRC_Continue; -func Xsqlite3WalkSelectFrom(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sqlite3.c:100307:20: */ +func Xsqlite3WalkSelectFrom(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sqlite3.c:100320:20: */ var pSrc uintptr var i int32 var pItem uintptr @@ -76758,7 +76777,7 @@ func Xsqlite3WalkSelectFrom(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { / // // If the Walker does not have an xSelectCallback() then this routine // is a no-op returning WRC_Continue. -func Xsqlite3WalkSelect(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sqlite3.c:100345:20: */ +func Xsqlite3WalkSelect(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sqlite3.c:100358:20: */ var rc int32 if p == uintptr(0) { return WRC_Continue @@ -76789,13 +76808,13 @@ func Xsqlite3WalkSelect(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sq // Increase the walkerDepth when entering a subquery, and // descrease when leaving the subquery. -func Xsqlite3WalkerDepthIncrease(tls *libc.TLS, pWalker uintptr, pSelect uintptr) int32 { /* sqlite3.c:100368:20: */ +func Xsqlite3WalkerDepthIncrease(tls *libc.TLS, pWalker uintptr, pSelect uintptr) int32 { /* sqlite3.c:100381:20: */ _ = pSelect (*Walker)(unsafe.Pointer(pWalker)).FwalkerDepth++ return WRC_Continue } -func Xsqlite3WalkerDepthDecrease(tls *libc.TLS, pWalker uintptr, pSelect uintptr) { /* sqlite3.c:100373:21: */ +func Xsqlite3WalkerDepthDecrease(tls *libc.TLS, pWalker uintptr, pSelect uintptr) { /* sqlite3.c:100386:21: */ _ = pSelect (*Walker)(unsafe.Pointer(pWalker)).FwalkerDepth-- } @@ -76807,7 +76826,7 @@ func Xsqlite3WalkerDepthDecrease(tls *libc.TLS, pWalker uintptr, pSelect uintptr // when this routine is used for Walker.xExprCallback then // Walker.xSelectCallback is set to do something useful for every // subquery in the parser tree. -func Xsqlite3ExprWalkNoop(tls *libc.TLS, NotUsed uintptr, NotUsed2 uintptr) int32 { /* sqlite3.c:100388:20: */ +func Xsqlite3ExprWalkNoop(tls *libc.TLS, NotUsed uintptr, NotUsed2 uintptr) int32 { /* sqlite3.c:100401:20: */ _ = NotUsed _ = NotUsed2 return WRC_Continue @@ -76815,7 +76834,7 @@ func Xsqlite3ExprWalkNoop(tls *libc.TLS, NotUsed uintptr, NotUsed2 uintptr) int3 // No-op routine for the parse-tree walker for SELECT statements. // subquery in the parser tree. -func Xsqlite3SelectWalkNoop(tls *libc.TLS, NotUsed uintptr, NotUsed2 uintptr) int32 { /* sqlite3.c:100397:20: */ +func Xsqlite3SelectWalkNoop(tls *libc.TLS, NotUsed uintptr, NotUsed2 uintptr) int32 { /* sqlite3.c:100410:20: */ _ = NotUsed _ = NotUsed2 return WRC_Continue @@ -76850,14 +76869,14 @@ func Xsqlite3SelectWalkNoop(tls *libc.TLS, NotUsed uintptr, NotUsed2 uintptr) in // is a helper function - a callback for the tree walker. // // See also the sqlite3WindowExtraAggFuncDepth() routine in window.c -func incrAggDepth(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:100438:12: */ +func incrAggDepth(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:100451:12: */ if int32((*Expr)(unsafe.Pointer(pExpr)).Fop) == TK_AGG_FUNCTION { *(*U8)(unsafe.Pointer(pExpr + 2)) += U8(*(*int32)(unsafe.Pointer(pWalker + 40))) } return WRC_Continue } -func incrAggFunctionDepth(tls *libc.TLS, pExpr uintptr, N int32) { /* sqlite3.c:100442:13: */ +func incrAggFunctionDepth(tls *libc.TLS, pExpr uintptr, N int32) { /* sqlite3.c:100455:13: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -76890,7 +76909,7 @@ func incrAggFunctionDepth(tls *libc.TLS, pExpr uintptr, N int32) { /* sqlite3.c: // zero but it might be more if the alias is contained within a subquery // of the original expression. The Expr.op2 field of TK_AGG_FUNCTION // structures must be increased by the nSubquery amount. -func resolveAlias(tls *libc.TLS, pParse uintptr, pEList uintptr, iCol int32, pExpr uintptr, nSubquery int32) { /* sqlite3.c:100471:13: */ +func resolveAlias(tls *libc.TLS, pParse uintptr, pEList uintptr, iCol int32, pExpr uintptr, nSubquery int32) { /* sqlite3.c:100484:13: */ var pOrig uintptr // The iCol-th column of the result set var pDup uintptr // Copy of pOrig var db uintptr // The database connection @@ -76936,7 +76955,7 @@ func resolveAlias(tls *libc.TLS, pParse uintptr, pEList uintptr, iCol int32, pEx // // Return FALSE if the USING clause is NULL or if it does not contain // zCol. -func nameInUsingClause(tls *libc.TLS, pUsing uintptr, zCol uintptr) int32 { /* sqlite3.c:100528:12: */ +func nameInUsingClause(tls *libc.TLS, pUsing uintptr, zCol uintptr) int32 { /* sqlite3.c:100541:12: */ if pUsing != 0 { var k int32 for k = 0; k < (*IdList)(unsafe.Pointer(pUsing)).FnId; k++ { @@ -76953,7 +76972,7 @@ func nameInUsingClause(tls *libc.TLS, pUsing uintptr, zCol uintptr) int32 { /* s // Check to see if the zSpan given to this routine matches the zDb, zTab, // and zCol. If any of zDb, zTab, and zCol are NULL then those fields will // match anything. -func Xsqlite3MatchEName(tls *libc.TLS, pItem uintptr, zCol uintptr, zTab uintptr, zDb uintptr) int32 { /* sqlite3.c:100545:20: */ +func Xsqlite3MatchEName(tls *libc.TLS, pItem uintptr, zCol uintptr, zTab uintptr, zDb uintptr) int32 { /* sqlite3.c:100558:20: */ var n int32 var zSpan uintptr if int32(*(*uint8)(unsafe.Pointer(pItem + 20))&0x3>>0) != ENAME_TAB { @@ -76979,7 +76998,7 @@ func Xsqlite3MatchEName(tls *libc.TLS, pItem uintptr, zCol uintptr, zTab uintptr } // Return TRUE if the double-quoted string mis-feature should be supported. -func areDoubleQuotedStringsEnabled(tls *libc.TLS, db uintptr, pTopNC uintptr) int32 { /* sqlite3.c:100574:12: */ +func areDoubleQuotedStringsEnabled(tls *libc.TLS, db uintptr, pTopNC uintptr) int32 { /* sqlite3.c:100587:12: */ if (*Sqlite3)(unsafe.Pointer(db)).Finit.Fbusy != 0 { return 1 } // Always support for legacy schemas @@ -76998,7 +77017,7 @@ func areDoubleQuotedStringsEnabled(tls *libc.TLS, db uintptr, pTopNC uintptr) in // The argument is guaranteed to be a non-NULL Expr node of type TK_COLUMN. // return the appropriate colUsed mask. -func Xsqlite3ExprColUsed(tls *libc.TLS, pExpr uintptr) Bitmask { /* sqlite3.c:100592:24: */ +func Xsqlite3ExprColUsed(tls *libc.TLS, pExpr uintptr) Bitmask { /* sqlite3.c:100605:24: */ var n int32 var pExTab uintptr @@ -77048,7 +77067,7 @@ func Xsqlite3ExprColUsed(tls *libc.TLS, pExpr uintptr) Bitmask { /* sqlite3.c:10 // // If the name cannot be resolved unambiguously, leave an error message // in pParse and return WRC_Abort. Return WRC_Prune on success. -func lookupName(tls *libc.TLS, pParse uintptr, zDb uintptr, zTab uintptr, zCol uintptr, pNC uintptr, pExpr uintptr) int32 { /* sqlite3.c:100641:12: */ +func lookupName(tls *libc.TLS, pParse uintptr, zDb uintptr, zTab uintptr, zCol uintptr, pNC uintptr, pExpr uintptr) int32 { /* sqlite3.c:100654:12: */ bp := tls.Alloc(96) defer tls.Free(96) @@ -77763,7 +77782,7 @@ __88: // Allocate and return a pointer to an expression to load the column iCol // from datasource iSrc in SrcList pSrc. -func Xsqlite3CreateColumnExpr(tls *libc.TLS, db uintptr, pSrc uintptr, iSrc int32, iCol int32) uintptr { /* sqlite3.c:101087:21: */ +func Xsqlite3CreateColumnExpr(tls *libc.TLS, db uintptr, pSrc uintptr, iSrc int32, iCol int32) uintptr { /* sqlite3.c:101100:21: */ var p uintptr = Xsqlite3ExprAlloc(tls, db, TK_COLUMN, uintptr(0), 0) if p != 0 { var pItem uintptr = pSrc + 8 + uintptr(iSrc)*112 @@ -77812,7 +77831,7 @@ func Xsqlite3CreateColumnExpr(tls *libc.TLS, db uintptr, pSrc uintptr, iSrc int3 // As an optimization, since the conditional is almost always false // (because errors are rare), the conditional is moved outside of the // function call using a macro. -func notValidImpl(tls *libc.TLS, pParse uintptr, pNC uintptr, zMsg uintptr, pExpr uintptr, pError uintptr) { /* sqlite3.c:101131:13: */ +func notValidImpl(tls *libc.TLS, pParse uintptr, pNC uintptr, zMsg uintptr, pExpr uintptr, pError uintptr) { /* sqlite3.c:101144:13: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -77834,7 +77853,7 @@ func notValidImpl(tls *libc.TLS, pParse uintptr, pNC uintptr, zMsg uintptr, pExp // Expression p should encode a floating point value between 1.0 and 0.0. // Return 1024 times this value. Or return -1 if p is not a floating point // value between 1.0 and 0.0. -func exprProbability(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:101159:12: */ +func exprProbability(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:101172:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -77860,7 +77879,7 @@ func exprProbability(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:101159:12: * // This routine also does error checking and name resolution for // function names. The operator for aggregate functions is changed // to TK_AGG_FUNCTION. -func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:101180:12: */ +func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:101193:12: */ bp := tls.Alloc(96) defer tls.Free(96) @@ -78342,7 +78361,7 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* s // return 0. // // pEList has been resolved. pE has not. -func resolveAsName(tls *libc.TLS, pParse uintptr, pEList uintptr, pE uintptr) int32 { /* sqlite3.c:101638:12: */ +func resolveAsName(tls *libc.TLS, pParse uintptr, pEList uintptr, pE uintptr) int32 { /* sqlite3.c:101651:12: */ var i int32 // Loop counter _ = pParse @@ -78377,7 +78396,7 @@ func resolveAsName(tls *libc.TLS, pParse uintptr, pEList uintptr, pE uintptr) in // the column. // // If there is no match, return 0. Return -1 if an error occurs. -func resolveOrderByTermToExprList(tls *libc.TLS, pParse uintptr, pSelect uintptr, pE uintptr) int32 { /* sqlite3.c:101680:12: */ +func resolveOrderByTermToExprList(tls *libc.TLS, pParse uintptr, pSelect uintptr, pE uintptr) int32 { /* sqlite3.c:101693:12: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -78421,7 +78440,7 @@ func resolveOrderByTermToExprList(tls *libc.TLS, pParse uintptr, pSelect uintptr } // Generate an ORDER BY or GROUP BY term out-of-range error. -func resolveOutOfRangeError(tls *libc.TLS, pParse uintptr, zType uintptr, i int32, mx int32, pError uintptr) { /* sqlite3.c:101727:13: */ +func resolveOutOfRangeError(tls *libc.TLS, pParse uintptr, zType uintptr, i int32, mx int32, pError uintptr) { /* sqlite3.c:101740:13: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -78444,7 +78463,7 @@ func resolveOutOfRangeError(tls *libc.TLS, pParse uintptr, zType uintptr, i int3 // the integer column number. // // Return the number of errors seen. -func resolveCompoundOrderBy(tls *libc.TLS, pParse uintptr, pSelect uintptr) int32 { /* sqlite3.c:101755:12: */ +func resolveCompoundOrderBy(tls *libc.TLS, pParse uintptr, pSelect uintptr) int32 { /* sqlite3.c:101768:12: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -78581,7 +78600,7 @@ func resolveCompoundOrderBy(tls *libc.TLS, pParse uintptr, pSelect uintptr) int3 // // If any errors are detected, add an error message to pParse and // return non-zero. Return zero if no errors are seen. -func Xsqlite3ResolveOrderGroupBy(tls *libc.TLS, pParse uintptr, pSelect uintptr, pOrderBy uintptr, zType uintptr) int32 { /* sqlite3.c:101868:20: */ +func Xsqlite3ResolveOrderGroupBy(tls *libc.TLS, pParse uintptr, pSelect uintptr, pOrderBy uintptr, zType uintptr) int32 { /* sqlite3.c:101881:20: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -78627,7 +78646,7 @@ __3: } // Walker callback for windowRemoveExprFromSelect(). -func resolveRemoveWindowsCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:101902:12: */ +func resolveRemoveWindowsCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:101915:12: */ _ = pWalker if (*Expr)(unsafe.Pointer(pExpr)).Fflags&U32(EP_WinFunc) != U32(0) { var pWin uintptr = *(*uintptr)(unsafe.Pointer(pExpr + 64)) @@ -78638,7 +78657,7 @@ func resolveRemoveWindowsCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 // Remove any Window objects owned by the expression pExpr from the // Select.pWin list of Select object pSelect. -func windowRemoveExprFromSelect(tls *libc.TLS, pSelect uintptr, pExpr uintptr) { /* sqlite3.c:101915:13: */ +func windowRemoveExprFromSelect(tls *libc.TLS, pSelect uintptr, pExpr uintptr) { /* sqlite3.c:101928:13: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -78670,7 +78689,7 @@ func windowRemoveExprFromSelect(tls *libc.TLS, pSelect uintptr, pExpr uintptr) { // This routine returns the number of errors. If errors occur, then // an appropriate error message might be left in pParse. (OOM errors // excepted.) -func resolveOrderGroupBy(tls *libc.TLS, pNC uintptr, pSelect uintptr, pOrderBy uintptr, zType uintptr) int32 { /* sqlite3.c:101946:12: */ +func resolveOrderGroupBy(tls *libc.TLS, pNC uintptr, pSelect uintptr, pOrderBy uintptr, zType uintptr) int32 { /* sqlite3.c:101959:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -78747,7 +78766,7 @@ __3: } // Resolve names in the SELECT statement p and all of its descendants. -func resolveSelectStep(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sqlite3.c:102009:12: */ +func resolveSelectStep(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sqlite3.c:102022:12: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -79046,7 +79065,7 @@ func resolveSelectStep(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sql // // An error message is left in pParse if anything is amiss. The number // if errors is returned. -func Xsqlite3ResolveExprNames(tls *libc.TLS, pNC uintptr, pExpr uintptr) int32 { /* sqlite3.c:102297:20: */ +func Xsqlite3ResolveExprNames(tls *libc.TLS, pNC uintptr, pExpr uintptr) int32 { /* sqlite3.c:102310:20: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -79087,7 +79106,7 @@ func Xsqlite3ResolveExprNames(tls *libc.TLS, pNC uintptr, pExpr uintptr) int32 { // Resolve all names for all expression in an expression list. This is // just like sqlite3ResolveExprNames() except that it works for an expression // list rather than a single expression. -func Xsqlite3ResolveExprListNames(tls *libc.TLS, pNC uintptr, pList uintptr) int32 { /* sqlite3.c:102336:20: */ +func Xsqlite3ResolveExprListNames(tls *libc.TLS, pNC uintptr, pList uintptr) int32 { /* sqlite3.c:102349:20: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -79144,7 +79163,7 @@ func Xsqlite3ResolveExprListNames(tls *libc.TLS, pNC uintptr, pList uintptr) int // // All SELECT statements should have been expanded using // sqlite3SelectExpand() prior to invoking this routine. -func Xsqlite3ResolveSelectNames(tls *libc.TLS, pParse uintptr, p uintptr, pOuterNC uintptr) { /* sqlite3.c:102392:21: */ +func Xsqlite3ResolveSelectNames(tls *libc.TLS, pParse uintptr, p uintptr, pOuterNC uintptr) { /* sqlite3.c:102405:21: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -79178,7 +79197,7 @@ func Xsqlite3ResolveSelectNames(tls *libc.TLS, pParse uintptr, p uintptr, pOuter // set to the column number. In case (4), TK_COLUMN nodes cause an error. // // Any errors cause an error message to be set in pParse. -func Xsqlite3ResolveSelfReference(tls *libc.TLS, pParse uintptr, pTab uintptr, type1 int32, pExpr uintptr, pList uintptr) int32 { /* sqlite3.c:102426:20: */ +func Xsqlite3ResolveSelfReference(tls *libc.TLS, pParse uintptr, pTab uintptr, type1 int32, pExpr uintptr, pList uintptr) int32 { /* sqlite3.c:102439:20: */ bp := tls.Alloc(176) defer tls.Free(176) @@ -79214,7 +79233,7 @@ func Xsqlite3ResolveSelfReference(tls *libc.TLS, pParse uintptr, pTab uintptr, t } // Return the affinity character for a single column of a table. -func Xsqlite3TableColumnAffinity(tls *libc.TLS, pTab uintptr, iCol int32) int8 { /* sqlite3.c:102486:21: */ +func Xsqlite3TableColumnAffinity(tls *libc.TLS, pTab uintptr, iCol int32) int8 { /* sqlite3.c:102499:21: */ if iCol < 0 || iCol >= int32((*Table)(unsafe.Pointer(pTab)).FnCol) { return int8(SQLITE_AFF_INTEGER) } @@ -79235,7 +79254,7 @@ func Xsqlite3TableColumnAffinity(tls *libc.TLS, pTab uintptr, iCol int32) int8 { // SELECT * FROM t1 WHERE a; // SELECT a AS b FROM t1 WHERE b; // SELECT * FROM t1 WHERE (select a from t1); -func Xsqlite3ExprAffinity(tls *libc.TLS, pExpr uintptr) int8 { /* sqlite3.c:102507:21: */ +func Xsqlite3ExprAffinity(tls *libc.TLS, pExpr uintptr) int8 { /* sqlite3.c:102520:21: */ var op int32 for (*Expr)(unsafe.Pointer(pExpr)).Fflags&U32(EP_Skip|EP_IfNullRow) != U32(0) { @@ -79278,7 +79297,7 @@ func Xsqlite3ExprAffinity(tls *libc.TLS, pExpr uintptr) int8 { /* sqlite3.c:1025 // // If a memory allocation error occurs, that fact is recorded in pParse->db // and the pExpr parameter is returned unchanged. -func Xsqlite3ExprAddCollateToken(tls *libc.TLS, pParse uintptr, pExpr uintptr, pCollName uintptr, dequote int32) uintptr { /* sqlite3.c:102560:21: */ +func Xsqlite3ExprAddCollateToken(tls *libc.TLS, pParse uintptr, pExpr uintptr, pCollName uintptr, dequote int32) uintptr { /* sqlite3.c:102573:21: */ if (*Token)(unsafe.Pointer(pCollName)).Fn > uint32(0) { var pNew uintptr = Xsqlite3ExprAlloc(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, TK_COLLATE, pCollName, dequote) if pNew != 0 { @@ -79290,7 +79309,7 @@ func Xsqlite3ExprAddCollateToken(tls *libc.TLS, pParse uintptr, pExpr uintptr, p return pExpr } -func Xsqlite3ExprAddCollateString(tls *libc.TLS, pParse uintptr, pExpr uintptr, zC uintptr) uintptr { /* sqlite3.c:102576:21: */ +func Xsqlite3ExprAddCollateString(tls *libc.TLS, pParse uintptr, pExpr uintptr, zC uintptr) uintptr { /* sqlite3.c:102589:21: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -79301,7 +79320,7 @@ func Xsqlite3ExprAddCollateString(tls *libc.TLS, pParse uintptr, pExpr uintptr, } // Skip over any TK_COLLATE operators. -func Xsqlite3ExprSkipCollate(tls *libc.TLS, pExpr uintptr) uintptr { /* sqlite3.c:102590:21: */ +func Xsqlite3ExprSkipCollate(tls *libc.TLS, pExpr uintptr) uintptr { /* sqlite3.c:102603:21: */ for pExpr != 0 && (*Expr)(unsafe.Pointer(pExpr)).Fflags&U32(EP_Skip) != U32(0) { pExpr = (*Expr)(unsafe.Pointer(pExpr)).FpLeft @@ -79312,7 +79331,7 @@ func Xsqlite3ExprSkipCollate(tls *libc.TLS, pExpr uintptr) uintptr { /* sqlite3. // Skip over any TK_COLLATE operators and/or any unlikely() // or likelihood() or likely() functions at the root of an // expression. -func Xsqlite3ExprSkipCollateAndLikely(tls *libc.TLS, pExpr uintptr) uintptr { /* sqlite3.c:102603:21: */ +func Xsqlite3ExprSkipCollateAndLikely(tls *libc.TLS, pExpr uintptr) uintptr { /* sqlite3.c:102616:21: */ for pExpr != 0 && (*Expr)(unsafe.Pointer(pExpr)).Fflags&U32(EP_Skip|EP_Unlikely) != U32(0) { if (*Expr)(unsafe.Pointer(pExpr)).Fflags&U32(EP_Unlikely) != U32(0) { @@ -79337,7 +79356,7 @@ func Xsqlite3ExprSkipCollateAndLikely(tls *libc.TLS, pExpr uintptr) uintptr { /* // or by the presence of a column with a defined collating sequence. // COLLATE operators take first precedence. Left operands take // precedence over right operands. -func Xsqlite3ExprCollSeq(tls *libc.TLS, pParse uintptr, pExpr uintptr) uintptr { /* sqlite3.c:102632:24: */ +func Xsqlite3ExprCollSeq(tls *libc.TLS, pParse uintptr, pExpr uintptr) uintptr { /* sqlite3.c:102645:24: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb var pColl uintptr = uintptr(0) var p uintptr = pExpr @@ -79409,7 +79428,7 @@ func Xsqlite3ExprCollSeq(tls *libc.TLS, pParse uintptr, pExpr uintptr) uintptr { // // The sqlite3ExprCollSeq() routine works the same except that it // returns NULL if there is no defined collation. -func Xsqlite3ExprNNCollSeq(tls *libc.TLS, pParse uintptr, pExpr uintptr) uintptr { /* sqlite3.c:102705:24: */ +func Xsqlite3ExprNNCollSeq(tls *libc.TLS, pParse uintptr, pExpr uintptr) uintptr { /* sqlite3.c:102718:24: */ var p uintptr = Xsqlite3ExprCollSeq(tls, pParse, pExpr) if p == uintptr(0) { p = (*Sqlite3)(unsafe.Pointer((*Parse)(unsafe.Pointer(pParse)).Fdb)).FpDfltColl @@ -79419,7 +79438,7 @@ func Xsqlite3ExprNNCollSeq(tls *libc.TLS, pParse uintptr, pExpr uintptr) uintptr } // Return TRUE if the two expressions have equivalent collating sequences. -func Xsqlite3ExprCollSeqMatch(tls *libc.TLS, pParse uintptr, pE1 uintptr, pE2 uintptr) int32 { /* sqlite3.c:102715:20: */ +func Xsqlite3ExprCollSeqMatch(tls *libc.TLS, pParse uintptr, pE1 uintptr, pE2 uintptr) int32 { /* sqlite3.c:102728:20: */ var pColl1 uintptr = Xsqlite3ExprNNCollSeq(tls, pParse, pE1) var pColl2 uintptr = Xsqlite3ExprNNCollSeq(tls, pParse, pE2) return libc.Bool32(Xsqlite3StrICmp(tls, (*CollSeq)(unsafe.Pointer(pColl1)).FzName, (*CollSeq)(unsafe.Pointer(pColl2)).FzName) == 0) @@ -79428,7 +79447,7 @@ func Xsqlite3ExprCollSeqMatch(tls *libc.TLS, pParse uintptr, pE1 uintptr, pE2 ui // pExpr is an operand of a comparison operator. aff2 is the // type affinity of the other operand. This routine returns the // type affinity that should be used for the comparison operator. -func Xsqlite3CompareAffinity(tls *libc.TLS, pExpr uintptr, aff2 int8) int8 { /* sqlite3.c:102726:21: */ +func Xsqlite3CompareAffinity(tls *libc.TLS, pExpr uintptr, aff2 int8) int8 { /* sqlite3.c:102739:21: */ var aff1 int8 = Xsqlite3ExprAffinity(tls, pExpr) if int32(aff1) > SQLITE_AFF_NONE && int32(aff2) > SQLITE_AFF_NONE { // Both sides of the comparison are columns. If one has numeric @@ -79453,7 +79472,7 @@ func Xsqlite3CompareAffinity(tls *libc.TLS, pExpr uintptr, aff2 int8) int8 { /* // pExpr is a comparison operator. Return the type affinity that should // be applied to both operands prior to doing the comparison. -func comparisonAffinity(tls *libc.TLS, pExpr uintptr) int8 { /* sqlite3.c:102748:13: */ +func comparisonAffinity(tls *libc.TLS, pExpr uintptr) int8 { /* sqlite3.c:102761:13: */ var aff int8 aff = Xsqlite3ExprAffinity(tls, (*Expr)(unsafe.Pointer(pExpr)).FpLeft) @@ -79471,7 +79490,7 @@ func comparisonAffinity(tls *libc.TLS, pExpr uintptr) int8 { /* sqlite3.c:102748 // idx_affinity is the affinity of an indexed column. Return true // if the index with affinity idx_affinity may be used to implement // the comparison in pExpr. -func Xsqlite3IndexAffinityOk(tls *libc.TLS, pExpr uintptr, idx_affinity int8) int32 { /* sqlite3.c:102771:20: */ +func Xsqlite3IndexAffinityOk(tls *libc.TLS, pExpr uintptr, idx_affinity int8) int32 { /* sqlite3.c:102784:20: */ var aff int8 = comparisonAffinity(tls, pExpr) if int32(aff) < SQLITE_AFF_TEXT { return 1 @@ -79484,7 +79503,7 @@ func Xsqlite3IndexAffinityOk(tls *libc.TLS, pExpr uintptr, idx_affinity int8) in // Return the P5 value that should be used for a binary comparison // opcode (OP_Eq, OP_Ge etc.) used to compare pExpr1 and pExpr2. -func binaryCompareP5(tls *libc.TLS, pExpr1 uintptr, pExpr2 uintptr, jumpIfNull int32) U8 { /* sqlite3.c:102786:11: */ +func binaryCompareP5(tls *libc.TLS, pExpr1 uintptr, pExpr2 uintptr, jumpIfNull int32) U8 { /* sqlite3.c:102799:11: */ var aff U8 = U8(Xsqlite3ExprAffinity(tls, pExpr2)) aff = U8(int32(U8(Xsqlite3CompareAffinity(tls, pExpr1, int8(aff)))) | int32(U8(jumpIfNull))) return aff @@ -79500,7 +79519,7 @@ func binaryCompareP5(tls *libc.TLS, pExpr1 uintptr, pExpr2 uintptr, jumpIfNull i // // Argument pRight (but not pLeft) may be a null pointer. In this case, // it is not considered. -func Xsqlite3BinaryCompareCollSeq(tls *libc.TLS, pParse uintptr, pLeft uintptr, pRight uintptr) uintptr { /* sqlite3.c:102808:24: */ +func Xsqlite3BinaryCompareCollSeq(tls *libc.TLS, pParse uintptr, pLeft uintptr, pRight uintptr) uintptr { /* sqlite3.c:102821:24: */ var pColl uintptr if (*Expr)(unsafe.Pointer(pLeft)).Fflags&U32(EP_Collate) != 0 { @@ -79523,7 +79542,7 @@ func Xsqlite3BinaryCompareCollSeq(tls *libc.TLS, pParse uintptr, pLeft uintptr, // However, if the OP_Commuted flag is set, then the order of the operands // is reversed in the sqlite3BinaryCompareCollSeq() call so that the // correct collating sequence is found. -func Xsqlite3ExprCompareCollSeq(tls *libc.TLS, pParse uintptr, p uintptr) uintptr { /* sqlite3.c:102836:24: */ +func Xsqlite3ExprCompareCollSeq(tls *libc.TLS, pParse uintptr, p uintptr) uintptr { /* sqlite3.c:102849:24: */ if (*Expr)(unsafe.Pointer(p)).Fflags&U32(EP_Commuted) != U32(0) { return Xsqlite3BinaryCompareCollSeq(tls, pParse, (*Expr)(unsafe.Pointer(p)).FpRight, (*Expr)(unsafe.Pointer(p)).FpLeft) } else { @@ -79533,7 +79552,7 @@ func Xsqlite3ExprCompareCollSeq(tls *libc.TLS, pParse uintptr, p uintptr) uintpt } // Generate code for a comparison operator. -func codeCompare(tls *libc.TLS, pParse uintptr, pLeft uintptr, pRight uintptr, opcode int32, in1 int32, in2 int32, dest int32, jumpIfNull int32, isCommuted int32) int32 { /* sqlite3.c:102847:12: */ +func codeCompare(tls *libc.TLS, pParse uintptr, pLeft uintptr, pRight uintptr, opcode int32, in1 int32, in2 int32, dest int32, jumpIfNull int32, isCommuted int32) int32 { /* sqlite3.c:102860:12: */ var p5 int32 var addr int32 var p4 uintptr @@ -79560,7 +79579,7 @@ func codeCompare(tls *libc.TLS, pParse uintptr, pLeft uintptr, pRight uintptr, o // parser will not generate a TK_VECTOR with fewer than two entries. // But a TK_SELECT might be either a vector or a scalar. It is only // considered a vector if it has two or more result columns. -func Xsqlite3ExprIsVector(tls *libc.TLS, pExpr uintptr) int32 { /* sqlite3.c:102883:20: */ +func Xsqlite3ExprIsVector(tls *libc.TLS, pExpr uintptr) int32 { /* sqlite3.c:102896:20: */ return libc.Bool32(Xsqlite3ExprVectorSize(tls, pExpr) > 1) } @@ -79568,7 +79587,7 @@ func Xsqlite3ExprIsVector(tls *libc.TLS, pExpr uintptr) int32 { /* sqlite3.c:102 // return the number of expressions in the vector. Or, if the expression // is a sub-select, return the number of columns in the sub-select. For // any other type of expression, return 1. -func Xsqlite3ExprVectorSize(tls *libc.TLS, pExpr uintptr) int32 { /* sqlite3.c:102893:20: */ +func Xsqlite3ExprVectorSize(tls *libc.TLS, pExpr uintptr) int32 { /* sqlite3.c:102906:20: */ var op U8 = (*Expr)(unsafe.Pointer(pExpr)).Fop if int32(op) == TK_REGISTER { op = (*Expr)(unsafe.Pointer(pExpr)).Fop2 @@ -79598,7 +79617,7 @@ func Xsqlite3ExprVectorSize(tls *libc.TLS, pExpr uintptr) int32 { /* sqlite3.c:1 // just the expression for the i-th term of the result set, and may // not be ready for evaluation because the table cursor has not yet // been positioned. -func Xsqlite3VectorFieldSubexpr(tls *libc.TLS, pVector uintptr, i int32) uintptr { /* sqlite3.c:102922:21: */ +func Xsqlite3VectorFieldSubexpr(tls *libc.TLS, pVector uintptr, i int32) uintptr { /* sqlite3.c:102935:21: */ if Xsqlite3ExprIsVector(tls, pVector) != 0 { @@ -79632,7 +79651,7 @@ func Xsqlite3VectorFieldSubexpr(tls *libc.TLS, pVector uintptr, i int32) uintptr // A trick to cause a TK_SELECT pVector to be deleted together with // the returned Expr object is to attach the pVector to the pRight field // of the returned TK_SELECT_COLUMN Expr object. -func Xsqlite3ExprForVectorField(tls *libc.TLS, pParse uintptr, pVector uintptr, iField int32, nField int32) uintptr { /* sqlite3.c:102958:21: */ +func Xsqlite3ExprForVectorField(tls *libc.TLS, pParse uintptr, pVector uintptr, iField int32, nField int32) uintptr { /* sqlite3.c:102971:21: */ var pRet uintptr if int32((*Expr)(unsafe.Pointer(pVector)).Fop) == TK_SELECT { @@ -79680,7 +79699,7 @@ func Xsqlite3ExprForVectorField(tls *libc.TLS, pParse uintptr, pVector uintptr, // of registers in which the result is stored). // // If pExpr is not a TK_SELECT expression, return 0. -func exprCodeSubselect(tls *libc.TLS, pParse uintptr, pExpr uintptr) int32 { /* sqlite3.c:103014:12: */ +func exprCodeSubselect(tls *libc.TLS, pParse uintptr, pExpr uintptr) int32 { /* sqlite3.c:103027:12: */ var reg int32 = 0 if int32((*Expr)(unsafe.Pointer(pExpr)).Fop) == TK_SELECT { reg = Xsqlite3CodeSubselect(tls, pParse, pExpr) @@ -79704,7 +79723,7 @@ func exprCodeSubselect(tls *libc.TLS, pParse uintptr, pExpr uintptr) int32 { /* // // Before returning, output parameter (*ppExpr) is set to point to the // Expr object corresponding to element iElem of the vector. -func exprVectorRegister(tls *libc.TLS, pParse uintptr, pVector uintptr, iField int32, regSelect int32, ppExpr uintptr, pRegFree uintptr) int32 { /* sqlite3.c:103042:12: */ +func exprVectorRegister(tls *libc.TLS, pParse uintptr, pVector uintptr, iField int32, regSelect int32, ppExpr uintptr, pRegFree uintptr) int32 { /* sqlite3.c:103055:12: */ var op U8 = (*Expr)(unsafe.Pointer(pVector)).Fop if int32(op) == TK_REGISTER { @@ -79733,7 +79752,7 @@ func exprVectorRegister(tls *libc.TLS, pParse uintptr, pVector uintptr, iField i // if pExpr->op==TK_IS: op==TK_EQ and p5==SQLITE_NULLEQ // if pExpr->op==TK_ISNOT: op==TK_NE and p5==SQLITE_NULLEQ // otherwise: op==pExpr->op and p5==0 -func codeVectorCompare(tls *libc.TLS, pParse uintptr, pExpr uintptr, dest int32, op U8, p5 U8) { /* sqlite3.c:103080:13: */ +func codeVectorCompare(tls *libc.TLS, pParse uintptr, pExpr uintptr, dest int32, op U8, p5 U8) { /* sqlite3.c:103093:13: */ bp := tls.Alloc(28) defer tls.Free(28) @@ -79821,7 +79840,7 @@ func codeVectorCompare(tls *libc.TLS, pParse uintptr, pExpr uintptr, dest int32, // Check that argument nHeight is less than or equal to the maximum // expression depth allowed. If it is not, leave an error message in // pParse. -func Xsqlite3ExprCheckHeight(tls *libc.TLS, pParse uintptr, nHeight int32) int32 { /* sqlite3.c:103175:20: */ +func Xsqlite3ExprCheckHeight(tls *libc.TLS, pParse uintptr, nHeight int32) int32 { /* sqlite3.c:103188:20: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -79843,7 +79862,7 @@ func Xsqlite3ExprCheckHeight(tls *libc.TLS, pParse uintptr, nHeight int32) int32 // If this maximum height is greater than the current value pointed // to by pnHeight, the second parameter, then set *pnHeight to that // value. -func heightOfExpr(tls *libc.TLS, p uintptr, pnHeight uintptr) { /* sqlite3.c:103196:13: */ +func heightOfExpr(tls *libc.TLS, p uintptr, pnHeight uintptr) { /* sqlite3.c:103209:13: */ if p != 0 { if (*Expr)(unsafe.Pointer(p)).FnHeight > *(*int32)(unsafe.Pointer(pnHeight)) { *(*int32)(unsafe.Pointer(pnHeight)) = (*Expr)(unsafe.Pointer(p)).FnHeight @@ -79851,7 +79870,7 @@ func heightOfExpr(tls *libc.TLS, p uintptr, pnHeight uintptr) { /* sqlite3.c:103 } } -func heightOfExprList(tls *libc.TLS, p uintptr, pnHeight uintptr) { /* sqlite3.c:103203:13: */ +func heightOfExprList(tls *libc.TLS, p uintptr, pnHeight uintptr) { /* sqlite3.c:103216:13: */ if p != 0 { var i int32 for i = 0; i < (*ExprList)(unsafe.Pointer(p)).FnExpr; i++ { @@ -79860,7 +79879,7 @@ func heightOfExprList(tls *libc.TLS, p uintptr, pnHeight uintptr) { /* sqlite3.c } } -func heightOfSelect(tls *libc.TLS, pSelect uintptr, pnHeight uintptr) { /* sqlite3.c:103211:13: */ +func heightOfSelect(tls *libc.TLS, pSelect uintptr, pnHeight uintptr) { /* sqlite3.c:103224:13: */ var p uintptr for p = pSelect; p != 0; p = (*Select)(unsafe.Pointer(p)).FpPrior { heightOfExpr(tls, (*Select)(unsafe.Pointer(p)).FpWhere, pnHeight) @@ -79880,7 +79899,7 @@ func heightOfSelect(tls *libc.TLS, pSelect uintptr, pnHeight uintptr) { /* sqlit // // Also propagate EP_Propagate flags up from Expr.x.pList to Expr.flags, // if appropriate. -func exprSetHeight(tls *libc.TLS, p uintptr) { /* sqlite3.c:103233:13: */ +func exprSetHeight(tls *libc.TLS, p uintptr) { /* sqlite3.c:103246:13: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -79907,7 +79926,7 @@ func exprSetHeight(tls *libc.TLS, p uintptr) { /* sqlite3.c:103233:13: */ // // Also propagate all EP_Propagate flags from the Expr.x.pList into // Expr.flags. -func Xsqlite3ExprSetHeightAndFlags(tls *libc.TLS, pParse uintptr, p uintptr) { /* sqlite3.c:103253:21: */ +func Xsqlite3ExprSetHeightAndFlags(tls *libc.TLS, pParse uintptr, p uintptr) { /* sqlite3.c:103266:21: */ if (*Parse)(unsafe.Pointer(pParse)).FnErr != 0 { return } @@ -79917,7 +79936,7 @@ func Xsqlite3ExprSetHeightAndFlags(tls *libc.TLS, pParse uintptr, p uintptr) { / // Return the maximum height of any expression tree referenced // by the select statement passed as an argument. -func Xsqlite3SelectExprHeight(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:103263:20: */ +func Xsqlite3SelectExprHeight(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:103276:20: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -79944,7 +79963,7 @@ func Xsqlite3SelectExprHeight(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:103 // stored in u.zToken. Instead, the integer values is written // into u.iValue and the EP_IntValue flag is set. No extra storage // is allocated to hold the integer text and the dequote flag is ignored. -func Xsqlite3ExprAlloc(tls *libc.TLS, db uintptr, op int32, pToken uintptr, dequote int32) uintptr { /* sqlite3.c:103302:21: */ +func Xsqlite3ExprAlloc(tls *libc.TLS, db uintptr, op int32, pToken uintptr, dequote int32) uintptr { /* sqlite3.c:103315:21: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -79992,7 +80011,7 @@ func Xsqlite3ExprAlloc(tls *libc.TLS, db uintptr, op int32, pToken uintptr, dequ // Allocate a new expression node from a zero-terminated token that has // already been dequoted. -func Xsqlite3Expr(tls *libc.TLS, db uintptr, op int32, zToken uintptr) uintptr { /* sqlite3.c:103350:21: */ +func Xsqlite3Expr(tls *libc.TLS, db uintptr, op int32, zToken uintptr) uintptr { /* sqlite3.c:103363:21: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -80007,7 +80026,7 @@ func Xsqlite3Expr(tls *libc.TLS, db uintptr, op int32, zToken uintptr) uintptr { // // If pRoot==NULL that means that a memory allocation error has occurred. // In that case, delete the subtrees pLeft and pRight. -func Xsqlite3ExprAttachSubtrees(tls *libc.TLS, db uintptr, pRoot uintptr, pLeft uintptr, pRight uintptr) { /* sqlite3.c:103367:21: */ +func Xsqlite3ExprAttachSubtrees(tls *libc.TLS, db uintptr, pRoot uintptr, pLeft uintptr, pRight uintptr) { /* sqlite3.c:103380:21: */ if pRoot == uintptr(0) { Xsqlite3ExprDelete(tls, db, pLeft) @@ -80030,7 +80049,7 @@ func Xsqlite3ExprAttachSubtrees(tls *libc.TLS, db uintptr, pRoot uintptr, pLeft // One or both of the subtrees can be NULL. Return a pointer to the new // Expr node. Or, if an OOM error occurs, set pParse->db->mallocFailed, // free the subtrees and return NULL. -func Xsqlite3PExpr(tls *libc.TLS, pParse uintptr, op int32, pLeft uintptr, pRight uintptr) uintptr { /* sqlite3.c:103397:21: */ +func Xsqlite3PExpr(tls *libc.TLS, pParse uintptr, op int32, pLeft uintptr, pRight uintptr) uintptr { /* sqlite3.c:103410:21: */ var p uintptr p = Xsqlite3DbMallocRawNN(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, uint64(unsafe.Sizeof(Expr{}))) if p != 0 { @@ -80048,7 +80067,7 @@ func Xsqlite3PExpr(tls *libc.TLS, pParse uintptr, op int32, pLeft uintptr, pRigh // Add pSelect to the Expr.x.pSelect field. Or, if pExpr is NULL (due // do a memory allocation failure) then delete the pSelect object. -func Xsqlite3PExprAddSelect(tls *libc.TLS, pParse uintptr, pExpr uintptr, pSelect uintptr) { /* sqlite3.c:103422:21: */ +func Xsqlite3PExprAddSelect(tls *libc.TLS, pParse uintptr, pExpr uintptr, pSelect uintptr) { /* sqlite3.c:103435:21: */ if pExpr != 0 { *(*uintptr)(unsafe.Pointer(pExpr + 32)) = pSelect *(*U32)(unsafe.Pointer(pExpr + 4)) |= U32(EP_xIsSelect | EP_Subquery) @@ -80076,7 +80095,7 @@ func Xsqlite3PExprAddSelect(tls *libc.TLS, pParse uintptr, pExpr uintptr, pSelec // // This is used as part of processing IN(...) expressions with a list // of vectors on the RHS. e.g. "... IN ((1,2), (3,4), (5,6))". -func Xsqlite3ExprListToValues(tls *libc.TLS, pParse uintptr, nElem int32, pEList uintptr) uintptr { /* sqlite3.c:103452:23: */ +func Xsqlite3ExprListToValues(tls *libc.TLS, pParse uintptr, nElem int32, pEList uintptr) uintptr { /* sqlite3.c:103465:23: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -80128,7 +80147,7 @@ func Xsqlite3ExprListToValues(tls *libc.TLS, pParse uintptr, nElem int32, pEList // If one side or the other of the AND is known to be false, then instead // of returning an AND expression, just return a constant expression with // a value of false. -func Xsqlite3ExprAnd(tls *libc.TLS, pParse uintptr, pLeft uintptr, pRight uintptr) uintptr { /* sqlite3.c:103499:21: */ +func Xsqlite3ExprAnd(tls *libc.TLS, pParse uintptr, pLeft uintptr, pRight uintptr) uintptr { /* sqlite3.c:103512:21: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb if pLeft == uintptr(0) { return pRight @@ -80147,7 +80166,7 @@ func Xsqlite3ExprAnd(tls *libc.TLS, pParse uintptr, pLeft uintptr, pRight uintpt // Construct a new expression node for a function with multiple // arguments. -func Xsqlite3ExprFunction(tls *libc.TLS, pParse uintptr, pList uintptr, pToken uintptr, eDistinct int32) uintptr { /* sqlite3.c:103520:21: */ +func Xsqlite3ExprFunction(tls *libc.TLS, pParse uintptr, pList uintptr, pToken uintptr, eDistinct int32) uintptr { /* sqlite3.c:103533:21: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -80184,7 +80203,7 @@ func Xsqlite3ExprFunction(tls *libc.TLS, pParse uintptr, pList uintptr, pToken u // top-level SQL // // If the function is not usable, create an error. -func Xsqlite3ExprFunctionUsable(tls *libc.TLS, pParse uintptr, pExpr uintptr, pDef uintptr) { /* sqlite3.c:103560:21: */ +func Xsqlite3ExprFunctionUsable(tls *libc.TLS, pParse uintptr, pExpr uintptr, pDef uintptr) { /* sqlite3.c:103573:21: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -80216,7 +80235,7 @@ func Xsqlite3ExprFunctionUsable(tls *libc.TLS, pParse uintptr, pExpr uintptr, pD // as the previous instance of the same wildcard. Or if this is the first // instance of the wildcard, the next sequential variable number is // assigned. -func Xsqlite3ExprAssignVarNumber(tls *libc.TLS, pParse uintptr, pExpr uintptr, n U32) { /* sqlite3.c:103599:21: */ +func Xsqlite3ExprAssignVarNumber(tls *libc.TLS, pParse uintptr, pExpr uintptr, n U32) { /* sqlite3.c:103612:21: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -80284,7 +80303,7 @@ func Xsqlite3ExprAssignVarNumber(tls *libc.TLS, pParse uintptr, pExpr uintptr, n } // Recursively delete an expression tree. -func sqlite3ExprDeleteNN(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:103669:29: */ +func sqlite3ExprDeleteNN(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:103682:29: */ if !((*Expr)(unsafe.Pointer(p)).Fflags&U32(EP_TokenOnly|EP_Leaf) != U32(0)) { // The Expr.x union is never used at the same time as Expr.pRight @@ -80314,7 +80333,7 @@ func sqlite3ExprDeleteNN(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:10 } } -func Xsqlite3ExprDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:103710:21: */ +func Xsqlite3ExprDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:103723:21: */ if p != 0 { sqlite3ExprDeleteNN(tls, db, p) } @@ -80328,13 +80347,13 @@ func Xsqlite3ExprDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:103 // // The deferred delete is (currently) implemented by adding the // pExpr to the pParse->pConstExpr list with a register number of 0. -func Xsqlite3ExprDeferredDelete(tls *libc.TLS, pParse uintptr, pExpr uintptr) { /* sqlite3.c:103725:21: */ +func Xsqlite3ExprDeferredDelete(tls *libc.TLS, pParse uintptr, pExpr uintptr) { /* sqlite3.c:103738:21: */ (*Parse)(unsafe.Pointer(pParse)).FpConstExpr = Xsqlite3ExprListAppend(tls, pParse, (*Parse)(unsafe.Pointer(pParse)).FpConstExpr, pExpr) } // Invoke sqlite3RenameExprUnmap() and sqlite3ExprDelete() on the // expression. -func Xsqlite3ExprUnmapAndDelete(tls *libc.TLS, pParse uintptr, p uintptr) { /* sqlite3.c:103733:21: */ +func Xsqlite3ExprUnmapAndDelete(tls *libc.TLS, pParse uintptr, p uintptr) { /* sqlite3.c:103746:21: */ if p != 0 { if int32((*Parse)(unsafe.Pointer(pParse)).FeParseMode) >= PARSE_MODE_RENAME { Xsqlite3RenameExprUnmap(tls, pParse, p) @@ -80346,7 +80365,7 @@ func Xsqlite3ExprUnmapAndDelete(tls *libc.TLS, pParse uintptr, p uintptr) { /* s // Return the number of bytes allocated for the expression structure // passed as the first argument. This is always one of EXPR_FULLSIZE, // EXPR_REDUCEDSIZE or EXPR_TOKENONLYSIZE. -func exprStructSize(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:103747:12: */ +func exprStructSize(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:103760:12: */ if (*Expr)(unsafe.Pointer(p)).Fflags&U32(EP_TokenOnly) != U32(0) { return int32(uintptr(0) + 16) } @@ -80388,7 +80407,7 @@ func exprStructSize(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:103747:12: */ // to reduce a pristine expression tree from the parser. The implementation // of dupedExprStructSize() contain multiple assert() statements that attempt // to enforce this constraint. -func dupedExprStructSize(tls *libc.TLS, p uintptr, flags int32) int32 { /* sqlite3.c:103787:12: */ +func dupedExprStructSize(tls *libc.TLS, p uintptr, flags int32) int32 { /* sqlite3.c:103800:12: */ var nSize int32 // Only one flag value allowed @@ -80410,7 +80429,7 @@ func dupedExprStructSize(tls *libc.TLS, p uintptr, flags int32) int32 { /* sqlit // This function returns the space in bytes required to store the copy // of the Expr structure and a copy of the Expr.u.zToken string (if that // string is defined.) -func dupedExprNodeSize(tls *libc.TLS, p uintptr, flags int32) int32 { /* sqlite3.c:103818:12: */ +func dupedExprNodeSize(tls *libc.TLS, p uintptr, flags int32) int32 { /* sqlite3.c:103831:12: */ var nByte int32 = dupedExprStructSize(tls, p, flags) & 0xfff if !((*Expr)(unsafe.Pointer(p)).Fflags&U32(EP_IntValue) != U32(0)) && *(*uintptr)(unsafe.Pointer(p + 8)) != 0 { nByte = int32(Size_t(nByte) + (libc.Xstrlen(tls, *(*uintptr)(unsafe.Pointer(p + 8)))&uint64(0x3fffffff) + uint64(1))) @@ -80429,7 +80448,7 @@ func dupedExprNodeSize(tls *libc.TLS, p uintptr, flags int32) int32 { /* sqlite3 // space to duplicate all Expr nodes in the tree formed by Expr.pLeft // and Expr.pRight variables (but not for any structures pointed to or // descended from the Expr.x.pList or Expr.x.pSelect variables). -func dupedExprSize(tls *libc.TLS, p uintptr, flags int32) int32 { /* sqlite3.c:103839:12: */ +func dupedExprSize(tls *libc.TLS, p uintptr, flags int32) int32 { /* sqlite3.c:103852:12: */ var nByte int32 = 0 if p != 0 { nByte = dupedExprNodeSize(tls, p, flags) @@ -80446,7 +80465,7 @@ func dupedExprSize(tls *libc.TLS, p uintptr, flags int32) int32 { /* sqlite3.c:1 // (if applicable), and the copies of the p->pLeft and p->pRight expressions, // if any. Before returning, *pzBuffer is set to the first byte past the // portion of the buffer copied into by this function. -func exprDup(tls *libc.TLS, db uintptr, p uintptr, dupFlags int32, pzBuffer uintptr) uintptr { /* sqlite3.c:103858:13: */ +func exprDup(tls *libc.TLS, db uintptr, p uintptr, dupFlags int32, pzBuffer uintptr) uintptr { /* sqlite3.c:103871:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -80556,7 +80575,7 @@ func exprDup(tls *libc.TLS, db uintptr, p uintptr, dupFlags int32, pzBuffer uint // Create and return a deep copy of the object passed as the second // argument. If an OOM condition is encountered, NULL is returned // and the db->mallocFailed flag set. -func Xsqlite3WithDup(tls *libc.TLS, db uintptr, p uintptr) uintptr { /* sqlite3.c:103968:21: */ +func Xsqlite3WithDup(tls *libc.TLS, db uintptr, p uintptr) uintptr { /* sqlite3.c:103981:21: */ var pRet uintptr = uintptr(0) if p != 0 { var nByte Sqlite3_int64 = Sqlite3_int64(uint64(unsafe.Sizeof(With{})) + uint64(unsafe.Sizeof(Cte{}))*uint64((*With)(unsafe.Pointer(p)).FnCte-1)) @@ -80578,7 +80597,7 @@ func Xsqlite3WithDup(tls *libc.TLS, db uintptr, p uintptr) uintptr { /* sqlite3. // gatherSelectWindowsCallback() are used to scan all the expressions // an a newly duplicated SELECT statement and gather all of the Window // objects found there, assembling them onto the linked list at Select->pWin. -func gatherSelectWindowsCallback(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:103996:12: */ +func gatherSelectWindowsCallback(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:104009:12: */ if int32((*Expr)(unsafe.Pointer(pExpr)).Fop) == TK_FUNCTION && (*Expr)(unsafe.Pointer(pExpr)).Fflags&U32(EP_WinFunc) != U32(0) { var pSelect uintptr = *(*uintptr)(unsafe.Pointer(pWalker + 40)) var pWin uintptr = *(*uintptr)(unsafe.Pointer(pExpr + 64)) @@ -80588,14 +80607,14 @@ func gatherSelectWindowsCallback(tls *libc.TLS, pWalker uintptr, pExpr uintptr) return WRC_Continue } -func gatherSelectWindowsSelectCallback(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sqlite3.c:104007:12: */ +func gatherSelectWindowsSelectCallback(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sqlite3.c:104020:12: */ if p == *(*uintptr)(unsafe.Pointer(pWalker + 40)) { return WRC_Continue } return WRC_Prune } -func gatherSelectWindows(tls *libc.TLS, p uintptr) { /* sqlite3.c:104010:13: */ +func gatherSelectWindows(tls *libc.TLS, p uintptr) { /* sqlite3.c:104023:13: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -80628,7 +80647,7 @@ func gatherSelectWindows(tls *libc.TLS, p uintptr) { /* sqlite3.c:104010:13: */ // If the EXPRDUP_REDUCE flag is set, then the structure returned is a // truncated version of the usual Expr structure that will be stored as // part of the in-memory representation of the database schema. -func Xsqlite3ExprDup(tls *libc.TLS, db uintptr, p uintptr, flags int32) uintptr { /* sqlite3.c:104039:21: */ +func Xsqlite3ExprDup(tls *libc.TLS, db uintptr, p uintptr, flags int32) uintptr { /* sqlite3.c:104052:21: */ if p != 0 { return exprDup(tls, db, p, flags, uintptr(0)) @@ -80636,7 +80655,7 @@ func Xsqlite3ExprDup(tls *libc.TLS, db uintptr, p uintptr, flags int32) uintptr return uintptr(0) } -func Xsqlite3ExprListDup(tls *libc.TLS, db uintptr, p uintptr, flags int32) uintptr { /* sqlite3.c:104043:25: */ +func Xsqlite3ExprListDup(tls *libc.TLS, db uintptr, p uintptr, flags int32) uintptr { /* sqlite3.c:104056:25: */ var pNew uintptr var pItem uintptr var pOldItem uintptr @@ -80705,7 +80724,7 @@ __3: // the build, then none of the following routines, except for // sqlite3SelectDup(), can be called. sqlite3SelectDup() is sometimes // called with a NULL argument. -func Xsqlite3SrcListDup(tls *libc.TLS, db uintptr, p uintptr, flags int32) uintptr { /* sqlite3.c:104098:24: */ +func Xsqlite3SrcListDup(tls *libc.TLS, db uintptr, p uintptr, flags int32) uintptr { /* sqlite3.c:104111:24: */ var pNew uintptr var i int32 var nByte int32 @@ -80758,7 +80777,7 @@ func Xsqlite3SrcListDup(tls *libc.TLS, db uintptr, p uintptr, flags int32) uintp return pNew } -func Xsqlite3IdListDup(tls *libc.TLS, db uintptr, p uintptr) uintptr { /* sqlite3.c:104142:23: */ +func Xsqlite3IdListDup(tls *libc.TLS, db uintptr, p uintptr) uintptr { /* sqlite3.c:104155:23: */ var pNew uintptr var i int32 @@ -80787,7 +80806,7 @@ func Xsqlite3IdListDup(tls *libc.TLS, db uintptr, p uintptr) uintptr { /* sqlite return pNew } -func Xsqlite3SelectDup(tls *libc.TLS, db uintptr, pDup uintptr, flags int32) uintptr { /* sqlite3.c:104166:23: */ +func Xsqlite3SelectDup(tls *libc.TLS, db uintptr, pDup uintptr, flags int32) uintptr { /* sqlite3.c:104179:23: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -80853,9 +80872,9 @@ func Xsqlite3SelectDup(tls *libc.TLS, db uintptr, pDup uintptr, flags int32) uin // If a memory allocation error occurs, the entire list is freed and // NULL is returned. If non-NULL is returned, then it is guaranteed // that the new entry was successfully appended. -var zeroItem = ExprList_item{} /* sqlite3.c:104237:35 */ +var zeroItem = ExprList_item{} /* sqlite3.c:104250:35 */ -func Xsqlite3ExprListAppendNew(tls *libc.TLS, db uintptr, pExpr uintptr) uintptr { /* sqlite3.c:104238:41: */ +func Xsqlite3ExprListAppendNew(tls *libc.TLS, db uintptr, pExpr uintptr) uintptr { /* sqlite3.c:104251:41: */ var pItem uintptr var pList uintptr @@ -80872,7 +80891,7 @@ func Xsqlite3ExprListAppendNew(tls *libc.TLS, db uintptr, pExpr uintptr) uintptr return pList } -func Xsqlite3ExprListAppendGrow(tls *libc.TLS, db uintptr, pList uintptr, pExpr uintptr) uintptr { /* sqlite3.c:104257:41: */ +func Xsqlite3ExprListAppendGrow(tls *libc.TLS, db uintptr, pList uintptr, pExpr uintptr) uintptr { /* sqlite3.c:104270:41: */ var pItem uintptr var pNew uintptr *(*int32)(unsafe.Pointer(pList + 4)) *= 2 @@ -80891,7 +80910,7 @@ func Xsqlite3ExprListAppendGrow(tls *libc.TLS, db uintptr, pList uintptr, pExpr return pList } -func Xsqlite3ExprListAppend(tls *libc.TLS, pParse uintptr, pList uintptr, pExpr uintptr) uintptr { /* sqlite3.c:104279:25: */ +func Xsqlite3ExprListAppend(tls *libc.TLS, pParse uintptr, pList uintptr, pExpr uintptr) uintptr { /* sqlite3.c:104292:25: */ var pItem uintptr if pList == uintptr(0) { return Xsqlite3ExprListAppendNew(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, pExpr) @@ -80914,7 +80933,7 @@ func Xsqlite3ExprListAppend(tls *libc.TLS, pParse uintptr, pList uintptr, pExpr // For each term of the vector assignment, append new entries to the // expression list pList. In the case of a subquery on the RHS, append // TK_SELECT_COLUMN expressions. -func Xsqlite3ExprListAppendVector(tls *libc.TLS, pParse uintptr, pList uintptr, pColumns uintptr, pExpr uintptr) uintptr { /* sqlite3.c:104308:25: */ +func Xsqlite3ExprListAppendVector(tls *libc.TLS, pParse uintptr, pList uintptr, pColumns uintptr, pExpr uintptr) uintptr { /* sqlite3.c:104321:25: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -81011,7 +81030,7 @@ vector_append_error: } // Set the sort order for the last element on the given ExprList. -func Xsqlite3ExprListSetSortOrder(tls *libc.TLS, p uintptr, iSortOrder int32, eNulls int32) { /* sqlite3.c:104370:21: */ +func Xsqlite3ExprListSetSortOrder(tls *libc.TLS, p uintptr, iSortOrder int32, eNulls int32) { /* sqlite3.c:104383:21: */ var pItem uintptr if p == uintptr(0) { return @@ -81038,7 +81057,7 @@ func Xsqlite3ExprListSetSortOrder(tls *libc.TLS, p uintptr, iSortOrder int32, eN // pList might be NULL following an OOM error. But pName should never be // NULL. If a memory allocation fails, the pParse->db->mallocFailed flag // is set. -func Xsqlite3ExprListSetName(tls *libc.TLS, pParse uintptr, pList uintptr, pName uintptr, dequote int32) { /* sqlite3.c:104408:21: */ +func Xsqlite3ExprListSetName(tls *libc.TLS, pParse uintptr, pList uintptr, pName uintptr, dequote int32) { /* sqlite3.c:104421:21: */ if pList != 0 { var pItem uintptr @@ -81064,7 +81083,7 @@ func Xsqlite3ExprListSetName(tls *libc.TLS, pParse uintptr, pList uintptr, pName // pList might be NULL following an OOM error. But pSpan should never be // NULL. If a memory allocation fails, the pParse->db->mallocFailed flag // is set. -func Xsqlite3ExprListSetSpan(tls *libc.TLS, pParse uintptr, pList uintptr, zStart uintptr, zEnd uintptr) { /* sqlite3.c:104443:21: */ +func Xsqlite3ExprListSetSpan(tls *libc.TLS, pParse uintptr, pList uintptr, zStart uintptr, zEnd uintptr) { /* sqlite3.c:104456:21: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb if pList != 0 { @@ -81079,7 +81098,7 @@ func Xsqlite3ExprListSetSpan(tls *libc.TLS, pParse uintptr, pList uintptr, zStar // If the expression list pEList contains more than iLimit elements, // leave an error message in pParse. -func Xsqlite3ExprListCheckLength(tls *libc.TLS, pParse uintptr, pEList uintptr, zObject uintptr) { /* sqlite3.c:104465:21: */ +func Xsqlite3ExprListCheckLength(tls *libc.TLS, pParse uintptr, pEList uintptr, zObject uintptr) { /* sqlite3.c:104478:21: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -81091,7 +81110,7 @@ func Xsqlite3ExprListCheckLength(tls *libc.TLS, pParse uintptr, pEList uintptr, } // Delete an entire expression list. -func exprListDeleteNN(tls *libc.TLS, db uintptr, pList uintptr) { /* sqlite3.c:104481:29: */ +func exprListDeleteNN(tls *libc.TLS, db uintptr, pList uintptr) { /* sqlite3.c:104494:29: */ var i int32 = (*ExprList)(unsafe.Pointer(pList)).FnExpr var pItem uintptr = pList + 8 /* &.a */ @@ -81103,7 +81122,7 @@ func exprListDeleteNN(tls *libc.TLS, db uintptr, pList uintptr) { /* sqlite3.c:1 Xsqlite3DbFreeNN(tls, db, pList) } -func Xsqlite3ExprListDelete(tls *libc.TLS, db uintptr, pList uintptr) { /* sqlite3.c:104492:21: */ +func Xsqlite3ExprListDelete(tls *libc.TLS, db uintptr, pList uintptr) { /* sqlite3.c:104505:21: */ if pList != 0 { exprListDeleteNN(tls, db, pList) } @@ -81111,7 +81130,7 @@ func Xsqlite3ExprListDelete(tls *libc.TLS, db uintptr, pList uintptr) { /* sqlit // Return the bitwise-OR of all Expr.flags fields in the given // ExprList. -func Xsqlite3ExprListFlags(tls *libc.TLS, pList uintptr) U32 { /* sqlite3.c:104500:20: */ +func Xsqlite3ExprListFlags(tls *libc.TLS, pList uintptr) U32 { /* sqlite3.c:104513:20: */ var i int32 var m U32 = U32(0) @@ -81128,7 +81147,7 @@ func Xsqlite3ExprListFlags(tls *libc.TLS, pList uintptr) U32 { /* sqlite3.c:1045 // pWalker->eCode to zero and abort. // // This callback is used by multiple expression walkers. -func Xsqlite3SelectWalkFail(tls *libc.TLS, pWalker uintptr, NotUsed uintptr) int32 { /* sqlite3.c:104519:20: */ +func Xsqlite3SelectWalkFail(tls *libc.TLS, pWalker uintptr, NotUsed uintptr) int32 { /* sqlite3.c:104532:20: */ _ = NotUsed (*Walker)(unsafe.Pointer(pWalker)).FeCode = U16(0) return WRC_Abort @@ -81140,7 +81159,7 @@ func Xsqlite3SelectWalkFail(tls *libc.TLS, pWalker uintptr, NotUsed uintptr) int // "true" EP_IsTrue // "false" EP_IsFalse // anything else 0 -func Xsqlite3IsTrueOrFalse(tls *libc.TLS, zIn uintptr) U32 { /* sqlite3.c:104533:20: */ +func Xsqlite3IsTrueOrFalse(tls *libc.TLS, zIn uintptr) U32 { /* sqlite3.c:104546:20: */ if Xsqlite3StrICmp(tls, zIn, ts+6630) == 0 { return U32(EP_IsTrue) } @@ -81153,7 +81172,7 @@ func Xsqlite3IsTrueOrFalse(tls *libc.TLS, zIn uintptr) U32 { /* sqlite3.c:104533 // If the input expression is an ID with the name "true" or "false" // then convert it into an TK_TRUEFALSE term. Return non-zero if // the conversion happened, and zero if the expression is unaltered. -func Xsqlite3ExprIdToTrueFalse(tls *libc.TLS, pExpr uintptr) int32 { /* sqlite3.c:104545:20: */ +func Xsqlite3ExprIdToTrueFalse(tls *libc.TLS, pExpr uintptr) int32 { /* sqlite3.c:104558:20: */ var v U32 if !((*Expr)(unsafe.Pointer(pExpr)).Fflags&U32(EP_Quoted|EP_IntValue) != U32(0)) && @@ -81167,7 +81186,7 @@ func Xsqlite3ExprIdToTrueFalse(tls *libc.TLS, pExpr uintptr) int32 { /* sqlite3. // The argument must be a TK_TRUEFALSE Expr node. Return 1 if it is TRUE // and 0 if it is FALSE. -func Xsqlite3ExprTruthValue(tls *libc.TLS, pExpr uintptr) int32 { /* sqlite3.c:104562:20: */ +func Xsqlite3ExprTruthValue(tls *libc.TLS, pExpr uintptr) int32 { /* sqlite3.c:104575:20: */ pExpr = Xsqlite3ExprSkipCollate(tls, pExpr) return libc.Bool32(int32(*(*int8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pExpr + 8)) + 4))) == 0) @@ -81184,7 +81203,7 @@ func Xsqlite3ExprTruthValue(tls *libc.TLS, pExpr uintptr) int32 { /* sqlite3.c:1 // (x<10) AND (y=22 OR false) => (x<10) AND (y=22) // (x<10) AND (y=22 OR true) => (x<10) // (y=22) OR true => true -func Xsqlite3ExprSimplifiedAndOr(tls *libc.TLS, pExpr uintptr) uintptr { /* sqlite3.c:104584:21: */ +func Xsqlite3ExprSimplifiedAndOr(tls *libc.TLS, pExpr uintptr) uintptr { /* sqlite3.c:104597:21: */ if int32((*Expr)(unsafe.Pointer(pExpr)).Fop) == TK_AND || int32((*Expr)(unsafe.Pointer(pExpr)).Fop) == TK_OR { var pRight uintptr = Xsqlite3ExprSimplifiedAndOr(tls, (*Expr)(unsafe.Pointer(pExpr)).FpRight) @@ -81230,7 +81249,7 @@ func Xsqlite3ExprSimplifiedAndOr(tls *libc.TLS, pExpr uintptr) uintptr { /* sqli // contain a bound parameter because they were generated by older versions // of SQLite to be parsed by newer versions of SQLite without raising a // malformed schema error. -func exprNodeIsConstant(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:104625:12: */ +func exprNodeIsConstant(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:104638:12: */ // If pWalker->eCode is 2 then any term of the expression that comes from // the ON or USING clauses of a left join disqualifies the expression @@ -81308,7 +81327,7 @@ func exprNodeIsConstant(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { / return int32(0) } -func exprIsConst(tls *libc.TLS, p uintptr, initFlag int32, iCur int32) int32 { /* sqlite3.c:104697:12: */ +func exprIsConst(tls *libc.TLS, p uintptr, initFlag int32, iCur int32) int32 { /* sqlite3.c:104710:12: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -81332,7 +81351,7 @@ func exprIsConst(tls *libc.TLS, p uintptr, initFlag int32, iCur int32) int32 { / // For the purposes of this function, a double-quoted string (ex: "abc") // is considered a variable but a single-quoted string (ex: 'abc') is // a constant. -func Xsqlite3ExprIsConstant(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:104718:20: */ +func Xsqlite3ExprIsConstant(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:104731:20: */ return exprIsConst(tls, p, 1, 0) } @@ -81347,7 +81366,7 @@ func Xsqlite3ExprIsConstant(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:10471 // When this routine returns true, it indicates that the expression // can be added to the pParse->pConstExpr list and evaluated once when // the prepared statement starts up. See sqlite3ExprCodeRunJustOnce(). -func Xsqlite3ExprIsConstantNotJoin(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:104735:20: */ +func Xsqlite3ExprIsConstantNotJoin(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:104748:20: */ return exprIsConst(tls, p, 2, 0) } @@ -81355,12 +81374,12 @@ func Xsqlite3ExprIsConstantNotJoin(tls *libc.TLS, p uintptr) int32 { /* sqlite3. // for any single row of the table with cursor iCur. In other words, the // expression must not refer to any non-deterministic function nor any // table other than iCur. -func Xsqlite3ExprIsTableConstant(tls *libc.TLS, p uintptr, iCur int32) int32 { /* sqlite3.c:104745:20: */ +func Xsqlite3ExprIsTableConstant(tls *libc.TLS, p uintptr, iCur int32) int32 { /* sqlite3.c:104758:20: */ return exprIsConst(tls, p, 3, iCur) } // sqlite3WalkExpr() callback used by sqlite3ExprIsConstantOrGroupBy(). -func exprNodeIsConstantOrGroupBy(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:104753:12: */ +func exprNodeIsConstantOrGroupBy(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:104766:12: */ var pGroupBy uintptr = *(*uintptr)(unsafe.Pointer(pWalker + 40)) var i int32 @@ -81402,7 +81421,7 @@ func exprNodeIsConstantOrGroupBy(tls *libc.TLS, pWalker uintptr, pExpr uintptr) // alternative collating sequences are uncommon, and this is only an // optimization, so we take the easy way out and simply require the // GROUP BY to use the BINARY collating sequence. -func Xsqlite3ExprIsConstantOrGroupBy(tls *libc.TLS, pParse uintptr, p uintptr, pGroupBy uintptr) int32 { /* sqlite3.c:104797:20: */ +func Xsqlite3ExprIsConstantOrGroupBy(tls *libc.TLS, pParse uintptr, p uintptr, pGroupBy uintptr) int32 { /* sqlite3.c:104810:20: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -81438,7 +81457,7 @@ func Xsqlite3ExprIsConstantOrGroupBy(tls *libc.TLS, pParse uintptr, p uintptr, p // For the purposes of this function, a double-quoted string (ex: "abc") // is considered a variable but a single-quoted string (ex: 'abc') is // a constant. -func Xsqlite3ExprIsConstantOrFunction(tls *libc.TLS, p uintptr, isInit U8) int32 { /* sqlite3.c:104829:20: */ +func Xsqlite3ExprIsConstantOrFunction(tls *libc.TLS, p uintptr, isInit U8) int32 { /* sqlite3.c:104842:20: */ return exprIsConst(tls, p, 4+int32(isInit), 0) } @@ -81447,7 +81466,7 @@ func Xsqlite3ExprIsConstantOrFunction(tls *libc.TLS, p uintptr, isInit U8) int32 // to fit in a 32-bit integer, return 1 and put the value of the integer // in *pValue. If the expression is not an integer or if it is too big // to fit in a signed 32-bit integer, return 0 and leave *pValue unchanged. -func Xsqlite3ExprIsInteger(tls *libc.TLS, p uintptr, pValue uintptr) int32 { /* sqlite3.c:104858:20: */ +func Xsqlite3ExprIsInteger(tls *libc.TLS, p uintptr, pValue uintptr) int32 { /* sqlite3.c:104871:20: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -81499,7 +81518,7 @@ func Xsqlite3ExprIsInteger(tls *libc.TLS, p uintptr, pValue uintptr) int32 { /* // hand, a false negative (returning FALSE when the result could be NULL) // will likely result in an incorrect answer. So when in doubt, return // TRUE. -func Xsqlite3ExprCanBeNull(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:104904:20: */ +func Xsqlite3ExprCanBeNull(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:104917:20: */ var op U8 for int32((*Expr)(unsafe.Pointer(p)).Fop) == TK_UPLUS || int32((*Expr)(unsafe.Pointer(p)).Fop) == TK_UMINUS { @@ -81538,7 +81557,7 @@ func Xsqlite3ExprCanBeNull(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:104904 // can be omitted. When in doubt return FALSE. A false negative // is harmless. A false positive, however, can result in the wrong // answer. -func Xsqlite3ExprNeedsNoAffinityChange(tls *libc.TLS, p uintptr, aff int8) int32 { /* sqlite3.c:104941:20: */ +func Xsqlite3ExprNeedsNoAffinityChange(tls *libc.TLS, p uintptr, aff int8) int32 { /* sqlite3.c:104954:20: */ var op U8 var unaryMinus int32 = 0 if int32(aff) == SQLITE_AFF_BLOB { @@ -81591,7 +81610,7 @@ func Xsqlite3ExprNeedsNoAffinityChange(tls *libc.TLS, p uintptr, aff int8) int32 } // Return TRUE if the given string is a row-id column name. -func Xsqlite3IsRowid(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:104977:20: */ +func Xsqlite3IsRowid(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:104990:20: */ if Xsqlite3StrICmp(tls, z, ts+7576) == 0 { return 1 } @@ -81609,7 +81628,7 @@ func Xsqlite3IsRowid(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:104977:20: * // a pointer to the SELECT statement. If pX is not a SELECT statement, // or if the SELECT statement needs to be manifested into a transient // table, then return NULL. -func isCandidateForInOpt(tls *libc.TLS, pX uintptr) uintptr { /* sqlite3.c:104992:15: */ +func isCandidateForInOpt(tls *libc.TLS, pX uintptr) uintptr { /* sqlite3.c:105005:15: */ var p uintptr var pSrc uintptr var pEList uintptr @@ -81667,7 +81686,7 @@ func isCandidateForInOpt(tls *libc.TLS, pX uintptr) uintptr { /* sqlite3.c:10499 // it contains any NULL entries. Cause the register at regHasNull to be set // to a non-NULL value if iCur contains no NULLs. Cause register regHasNull // to be set to NULL if iCur contains one or more NULL values. -func sqlite3SetHasNullFlag(tls *libc.TLS, v uintptr, iCur int32, regHasNull int32) { /* sqlite3.c:105037:13: */ +func sqlite3SetHasNullFlag(tls *libc.TLS, v uintptr, iCur int32, regHasNull int32) { /* sqlite3.c:105050:13: */ var addr1 int32 Xsqlite3VdbeAddOp2(tls, v, OP_Integer, 0, regHasNull) addr1 = Xsqlite3VdbeAddOp1(tls, v, OP_Rewind, iCur) @@ -81679,7 +81698,7 @@ func sqlite3SetHasNullFlag(tls *libc.TLS, v uintptr, iCur int32, regHasNull int3 // The argument is an IN operator with a list (not a subquery) on the // right-hand side. Return TRUE if that list is constant. -func sqlite3InRhsIsConstant(tls *libc.TLS, pIn uintptr) int32 { /* sqlite3.c:105054:12: */ +func sqlite3InRhsIsConstant(tls *libc.TLS, pIn uintptr) int32 { /* sqlite3.c:105067:12: */ var pLHS uintptr var res int32 @@ -81768,7 +81787,7 @@ func sqlite3InRhsIsConstant(tls *libc.TLS, pIn uintptr) int32 { /* sqlite3.c:105 // CREATE INDEX i1 ON t1(b, c, a); // // then aiMap[] is populated with {2, 0, 1}. -func Xsqlite3FindInIndex(tls *libc.TLS, pParse uintptr, pX uintptr, inFlags U32, prRhsHasNull uintptr, aiMap uintptr, piTab uintptr) int32 { /* sqlite3.c:105147:20: */ +func Xsqlite3FindInIndex(tls *libc.TLS, pParse uintptr, pX uintptr, inFlags U32, prRhsHasNull uintptr, aiMap uintptr, piTab uintptr) int32 { /* sqlite3.c:105160:20: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -81986,7 +82005,7 @@ func Xsqlite3FindInIndex(tls *libc.TLS, pParse uintptr, pX uintptr, inFlags U32, // // It is the responsibility of the caller to ensure that the returned // string is eventually freed using sqlite3DbFree(). -func exprINAffinity(tls *libc.TLS, pParse uintptr, pExpr uintptr) uintptr { /* sqlite3.c:105370:13: */ +func exprINAffinity(tls *libc.TLS, pParse uintptr, pExpr uintptr) uintptr { /* sqlite3.c:105383:13: */ var pLeft uintptr = (*Expr)(unsafe.Pointer(pExpr)).FpLeft var nVal int32 = Xsqlite3ExprVectorSize(tls, pLeft) var pSelect uintptr @@ -82018,7 +82037,7 @@ func exprINAffinity(tls *libc.TLS, pParse uintptr, pExpr uintptr) uintptr { /* s // message of the form: // // "sub-select returns N columns - expected M" -func Xsqlite3SubselectError(tls *libc.TLS, pParse uintptr, nActual int32, nExpect int32) { /* sqlite3.c:105402:21: */ +func Xsqlite3SubselectError(tls *libc.TLS, pParse uintptr, nActual int32, nExpect int32) { /* sqlite3.c:105415:21: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -82037,7 +82056,7 @@ func Xsqlite3SubselectError(tls *libc.TLS, pParse uintptr, nActual int32, nExpec // Or, if it is a regular scalar vector: // // "row value misused" -func Xsqlite3VectorErrorMsg(tls *libc.TLS, pParse uintptr, pExpr uintptr) { /* sqlite3.c:105421:21: */ +func Xsqlite3VectorErrorMsg(tls *libc.TLS, pParse uintptr, pExpr uintptr) { /* sqlite3.c:105434:21: */ if (*Expr)(unsafe.Pointer(pExpr)).Fflags&U32(EP_xIsSelect) != U32(0) { Xsqlite3SubselectError(tls, pParse, (*ExprList)(unsafe.Pointer((*Select)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pExpr + 32)))).FpEList)).FnExpr, 1) } else { @@ -82065,7 +82084,7 @@ func Xsqlite3VectorErrorMsg(tls *libc.TLS, pParse uintptr, pExpr uintptr) { /* s // if either column has NUMERIC or INTEGER affinity. If neither // 'x' nor the SELECT... statement are columns, then numeric affinity // is used. -func Xsqlite3CodeRhsOfIN(tls *libc.TLS, pParse uintptr, pExpr uintptr, iTab int32) { /* sqlite3.c:105455:21: */ +func Xsqlite3CodeRhsOfIN(tls *libc.TLS, pParse uintptr, pExpr uintptr, iTab int32) { /* sqlite3.c:105468:21: */ bp := tls.Alloc(65) defer tls.Free(65) @@ -82260,7 +82279,7 @@ func Xsqlite3CodeRhsOfIN(tls *libc.TLS, pParse uintptr, pExpr uintptr, iTab int3 // the result is stored in a contiguous array of registers and the // return value is the register of the left-most result column. // Return 0 if an error occurs. -func Xsqlite3CodeSubselect(tls *libc.TLS, pParse uintptr, pExpr uintptr) int32 { /* sqlite3.c:105650:20: */ +func Xsqlite3CodeSubselect(tls *libc.TLS, pParse uintptr, pExpr uintptr) int32 { /* sqlite3.c:105663:20: */ bp := tls.Alloc(64) defer tls.Free(64) @@ -82383,7 +82402,7 @@ func Xsqlite3CodeSubselect(tls *libc.TLS, pParse uintptr, pExpr uintptr) int32 { // sub-select on the RHS of the IN() operator has the same number of // columns as the vector on the LHS. Or, if the RHS of the IN() is not // a sub-query, that the LHS is a vector of size 1. -func Xsqlite3ExprCheckIN(tls *libc.TLS, pParse uintptr, pIn uintptr) int32 { /* sqlite3.c:105772:20: */ +func Xsqlite3ExprCheckIN(tls *libc.TLS, pParse uintptr, pIn uintptr) int32 { /* sqlite3.c:105785:20: */ var nVector int32 = Xsqlite3ExprVectorSize(tls, (*Expr)(unsafe.Pointer(pIn)).FpLeft) if (*Expr)(unsafe.Pointer(pIn)).Fflags&U32(EP_xIsSelect) != U32(0) && !(int32((*Sqlite3)(unsafe.Pointer((*Parse)(unsafe.Pointer(pParse)).Fdb)).FmallocFailed) != 0) { if nVector != (*ExprList)(unsafe.Pointer((*Select)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pIn + 32)))).FpEList)).FnExpr { @@ -82420,7 +82439,7 @@ func Xsqlite3ExprCheckIN(tls *libc.TLS, pParse uintptr, pIn uintptr) int32 { /* // // See the separate in-operator.md documentation file in the canonical // SQLite source tree for additional information. -func sqlite3ExprCodeIN(tls *libc.TLS, pParse uintptr, pExpr uintptr, destIfFalse int32, destIfNull int32) { /* sqlite3.c:105813:13: */ +func sqlite3ExprCodeIN(tls *libc.TLS, pParse uintptr, pExpr uintptr, destIfFalse int32, destIfNull int32) { /* sqlite3.c:105826:13: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -82801,7 +82820,7 @@ sqlite3ExprCodeIN_oom_error: // The z[] string will probably not be zero-terminated. But the // z[n] character is guaranteed to be something that does not look // like the continuation of the number. -func codeReal(tls *libc.TLS, v uintptr, z uintptr, negateFlag int32, iMem int32) { /* sqlite3.c:106071:13: */ +func codeReal(tls *libc.TLS, v uintptr, z uintptr, negateFlag int32, iMem int32) { /* sqlite3.c:106084:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -82821,7 +82840,7 @@ func codeReal(tls *libc.TLS, v uintptr, z uintptr, negateFlag int32, iMem int32) // text z[0..n-1] into register iMem. // // Expr.u.zToken is always UTF8 and zero-terminated. -func codeInteger(tls *libc.TLS, pParse uintptr, pExpr uintptr, negFlag int32, iMem int32) { /* sqlite3.c:106089:13: */ +func codeInteger(tls *libc.TLS, pParse uintptr, pExpr uintptr, negFlag int32, iMem int32) { /* sqlite3.c:106102:13: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -82867,7 +82886,7 @@ func codeInteger(tls *libc.TLS, pParse uintptr, pExpr uintptr, negFlag int32, iM // Generate code that will load into register regOut a value that is // appropriate for the iIdxCol-th column of index pIdx. -func Xsqlite3ExprCodeLoadIndexColumn(tls *libc.TLS, pParse uintptr, pIdx uintptr, iTabCur int32, iIdxCol int32, regOut int32) { /* sqlite3.c:106127:21: */ +func Xsqlite3ExprCodeLoadIndexColumn(tls *libc.TLS, pParse uintptr, pIdx uintptr, iTabCur int32, iIdxCol int32, regOut int32) { /* sqlite3.c:106140:21: */ var iTabCol I16 = *(*I16)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FaiColumn + uintptr(iIdxCol)*2)) if int32(iTabCol) == -2 { @@ -82882,7 +82901,7 @@ func Xsqlite3ExprCodeLoadIndexColumn(tls *libc.TLS, pParse uintptr, pIdx uintptr // Generate code that will compute the value of generated column pCol // and store the result in register regOut -func Xsqlite3ExprCodeGeneratedColumn(tls *libc.TLS, pParse uintptr, pTab uintptr, pCol uintptr, regOut int32) { /* sqlite3.c:106152:21: */ +func Xsqlite3ExprCodeGeneratedColumn(tls *libc.TLS, pParse uintptr, pTab uintptr, pCol uintptr, regOut int32) { /* sqlite3.c:106165:21: */ var iAddr int32 var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe @@ -82901,7 +82920,7 @@ func Xsqlite3ExprCodeGeneratedColumn(tls *libc.TLS, pParse uintptr, pTab uintptr } // Generate code to extract the value of the iCol-th column of a table. -func Xsqlite3ExprCodeGetColumnOfTable(tls *libc.TLS, v uintptr, pTab uintptr, iTabCur int32, iCol int32, regOut int32) { /* sqlite3.c:106178:21: */ +func Xsqlite3ExprCodeGetColumnOfTable(tls *libc.TLS, v uintptr, pTab uintptr, iTabCur int32, iCol int32, regOut int32) { /* sqlite3.c:106191:21: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -82952,7 +82971,7 @@ func Xsqlite3ExprCodeGetColumnOfTable(tls *libc.TLS, v uintptr, pTab uintptr, iT // // There must be an open cursor to pTab in iTable when this routine // is called. If iColumn<0 then code is generated that extracts the rowid. -func Xsqlite3ExprCodeGetColumn(tls *libc.TLS, pParse uintptr, pTab uintptr, iColumn int32, iTable int32, iReg int32, p5 U8) int32 { /* sqlite3.c:106236:20: */ +func Xsqlite3ExprCodeGetColumn(tls *libc.TLS, pParse uintptr, pTab uintptr, iColumn int32, iTable int32, iReg int32, p5 U8) int32 { /* sqlite3.c:106249:20: */ Xsqlite3ExprCodeGetColumnOfTable(tls, (*Parse)(unsafe.Pointer(pParse)).FpVdbe, pTab, iTable, iColumn, iReg) if p5 != 0 { @@ -82966,14 +82985,14 @@ func Xsqlite3ExprCodeGetColumn(tls *libc.TLS, pParse uintptr, pTab uintptr, iCol // Generate code to move content from registers iFrom...iFrom+nReg-1 // over to iTo..iTo+nReg-1. -func Xsqlite3ExprCodeMove(tls *libc.TLS, pParse uintptr, iFrom int32, iTo int32, nReg int32) { /* sqlite3.c:106257:21: */ +func Xsqlite3ExprCodeMove(tls *libc.TLS, pParse uintptr, iFrom int32, iTo int32, nReg int32) { /* sqlite3.c:106270:21: */ Xsqlite3VdbeAddOp3(tls, (*Parse)(unsafe.Pointer(pParse)).FpVdbe, OP_Move, iFrom, iTo, nReg) } // Convert a scalar expression node to a TK_REGISTER referencing // register iReg. The caller must ensure that iReg already contains // the correct value for the expression. -func exprToRegister(tls *libc.TLS, pExpr uintptr, iReg int32) { /* sqlite3.c:106266:13: */ +func exprToRegister(tls *libc.TLS, pExpr uintptr, iReg int32) { /* sqlite3.c:106279:13: */ var p uintptr = Xsqlite3ExprSkipCollateAndLikely(tls, pExpr) if p == uintptr(0) { return @@ -82992,7 +83011,7 @@ func exprToRegister(tls *libc.TLS, pExpr uintptr, iReg int32) { /* sqlite3.c:106 // that register number into *piFreeable. If the returned result register // is not a temporary or if the expression is a vector set *piFreeable // to 0. -func exprCodeVector(tls *libc.TLS, pParse uintptr, p uintptr, piFreeable uintptr) int32 { /* sqlite3.c:106285:12: */ +func exprCodeVector(tls *libc.TLS, pParse uintptr, p uintptr, piFreeable uintptr) int32 { /* sqlite3.c:106298:12: */ var iResult int32 var nResult int32 = Xsqlite3ExprVectorSize(tls, p) if nResult == 1 { @@ -83016,7 +83035,7 @@ func exprCodeVector(tls *libc.TLS, pParse uintptr, p uintptr, piFreeable uintptr // If the last opcode is a OP_Copy, then set the do-not-merge flag (p5) // so that a subsequent copy will not be merged into this one. -func setDoNotMergeFlagOnCopy(tls *libc.TLS, v uintptr) { /* sqlite3.c:106315:13: */ +func setDoNotMergeFlagOnCopy(tls *libc.TLS, v uintptr) { /* sqlite3.c:106328:13: */ if int32((*VdbeOp)(unsafe.Pointer(Xsqlite3VdbeGetOp(tls, v, -1))).Fopcode) == OP_Copy { Xsqlite3VdbeChangeP5(tls, v, uint16(1)) // Tag trailing OP_Copy as not mergable } @@ -83024,7 +83043,7 @@ func setDoNotMergeFlagOnCopy(tls *libc.TLS, v uintptr) { /* sqlite3.c:106315:13: // Generate code to implement special SQL functions that are implemented // in-line rather than by using the usual callbacks. -func exprCodeInlineFunction(tls *libc.TLS, pParse uintptr, pFarg uintptr, iFuncId int32, target int32) int32 { /* sqlite3.c:106325:12: */ +func exprCodeInlineFunction(tls *libc.TLS, pParse uintptr, pFarg uintptr, iFuncId int32, target int32) int32 { /* sqlite3.c:106338:12: */ bp := tls.Alloc(112) defer tls.Free(112) @@ -83149,7 +83168,7 @@ func exprCodeInlineFunction(tls *libc.TLS, pParse uintptr, pFarg uintptr, iFuncI // register if it is convenient to do so. The calling function // must check the return code and move the results to the desired // register. -func Xsqlite3ExprCodeTarget(tls *libc.TLS, pParse uintptr, pExpr uintptr, target int32) int32 { /* sqlite3.c:106441:20: */ +func Xsqlite3ExprCodeTarget(tls *libc.TLS, pParse uintptr, pExpr uintptr, target int32) int32 { /* sqlite3.c:106454:20: */ bp := tls.Alloc(192) defer tls.Free(192) @@ -84220,7 +84239,7 @@ __3: return inReg } -var zAff = *(*[8]int8)(unsafe.Pointer(ts + 7995)) /* sqlite3.c:106508:29 */ +var zAff = *(*[8]int8)(unsafe.Pointer(ts + 7995)) /* sqlite3.c:106521:29 */ // Generate code that will evaluate expression pExpr just one time // per prepared statement execution. @@ -84237,7 +84256,7 @@ var zAff = *(*[8]int8)(unsafe.Pointer(ts + 7995)) /* sqlite3.c:106508:29 */ // code to the same register, if they do not contain function calls and hence // are factored out into the initialization section at the end of the // prepared statement. -func Xsqlite3ExprCodeRunJustOnce(tls *libc.TLS, pParse uintptr, pExpr uintptr, regDest int32) int32 { /* sqlite3.c:107215:20: */ +func Xsqlite3ExprCodeRunJustOnce(tls *libc.TLS, pParse uintptr, pExpr uintptr, regDest int32) int32 { /* sqlite3.c:107228:20: */ var p uintptr p = (*Parse)(unsafe.Pointer(pParse)).FpConstExpr @@ -84306,7 +84325,7 @@ func Xsqlite3ExprCodeRunJustOnce(tls *libc.TLS, pParse uintptr, pExpr uintptr, r // If pExpr is a constant, then this routine might generate this // code to fill the register in the initialization section of the // VDBE program, in order to factor it out of the evaluation loop. -func Xsqlite3ExprCodeTemp(tls *libc.TLS, pParse uintptr, pExpr uintptr, pReg uintptr) int32 { /* sqlite3.c:107272:20: */ +func Xsqlite3ExprCodeTemp(tls *libc.TLS, pParse uintptr, pExpr uintptr, pReg uintptr) int32 { /* sqlite3.c:107285:20: */ var r2 int32 pExpr = Xsqlite3ExprSkipCollateAndLikely(tls, pExpr) if (*Parse)(unsafe.Pointer(pParse)).FokConstFactor != 0 && @@ -84331,7 +84350,7 @@ func Xsqlite3ExprCodeTemp(tls *libc.TLS, pParse uintptr, pExpr uintptr, pReg uin // Generate code that will evaluate expression pExpr and store the // results in register target. The results are guaranteed to appear // in register target. -func Xsqlite3ExprCode(tls *libc.TLS, pParse uintptr, pExpr uintptr, target int32) { /* sqlite3.c:107300:21: */ +func Xsqlite3ExprCode(tls *libc.TLS, pParse uintptr, pExpr uintptr, target int32) { /* sqlite3.c:107313:21: */ var inReg int32 if (*Parse)(unsafe.Pointer(pParse)).FpVdbe == uintptr(0) { @@ -84352,7 +84371,7 @@ func Xsqlite3ExprCode(tls *libc.TLS, pParse uintptr, pExpr uintptr, target int32 // Make a transient copy of expression pExpr and then code it using // sqlite3ExprCode(). This routine works just like sqlite3ExprCode() // except that the input expression is guaranteed to be unchanged. -func Xsqlite3ExprCodeCopy(tls *libc.TLS, pParse uintptr, pExpr uintptr, target int32) { /* sqlite3.c:107324:21: */ +func Xsqlite3ExprCodeCopy(tls *libc.TLS, pParse uintptr, pExpr uintptr, target int32) { /* sqlite3.c:107337:21: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb pExpr = Xsqlite3ExprDup(tls, db, pExpr, 0) if !(int32((*Sqlite3)(unsafe.Pointer(db)).FmallocFailed) != 0) { @@ -84365,7 +84384,7 @@ func Xsqlite3ExprCodeCopy(tls *libc.TLS, pParse uintptr, pExpr uintptr, target i // results in register target. The results are guaranteed to appear // in register target. If the expression is constant, then this routine // might choose to code the expression at initialization time. -func Xsqlite3ExprCodeFactorable(tls *libc.TLS, pParse uintptr, pExpr uintptr, target int32) { /* sqlite3.c:107337:21: */ +func Xsqlite3ExprCodeFactorable(tls *libc.TLS, pParse uintptr, pExpr uintptr, target int32) { /* sqlite3.c:107350:21: */ if (*Parse)(unsafe.Pointer(pParse)).FokConstFactor != 0 && Xsqlite3ExprIsConstantNotJoin(tls, pExpr) != 0 { Xsqlite3ExprCodeRunJustOnce(tls, pParse, pExpr, target) } else { @@ -84391,7 +84410,7 @@ func Xsqlite3ExprCodeFactorable(tls *libc.TLS, pParse uintptr, pExpr uintptr, ta // in registers at srcReg, and so the value can be copied from there. // If SQLITE_ECEL_OMITREF is also set, then the values with u.x.iOrderByCol>0 // are simply omitted rather than being copied from srcReg. -func Xsqlite3ExprCodeExprList(tls *libc.TLS, pParse uintptr, pList uintptr, target int32, srcReg int32, flags U8) int32 { /* sqlite3.c:107365:20: */ +func Xsqlite3ExprCodeExprList(tls *libc.TLS, pParse uintptr, pList uintptr, target int32, srcReg int32, flags U8) int32 { /* sqlite3.c:107378:20: */ var pItem uintptr var i int32 var j int32 @@ -84473,7 +84492,7 @@ __3: // sqlite3ExprIfFalse: Jump to dest if false // // The jumpIfNull parameter is ignored if xJumpIf is NULL. -func exprCodeBetween(tls *libc.TLS, pParse uintptr, pExpr uintptr, dest int32, xJump uintptr, jumpIfNull int32) { /* sqlite3.c:107440:13: */ +func exprCodeBetween(tls *libc.TLS, pParse uintptr, pExpr uintptr, dest int32, xJump uintptr, jumpIfNull int32) { /* sqlite3.c:107453:13: */ bp := tls.Alloc(220) defer tls.Free(220) @@ -84536,7 +84555,7 @@ func exprCodeBetween(tls *libc.TLS, pParse uintptr, pExpr uintptr, dest int32, x // operation. Special comments in vdbe.c and the mkopcodeh.awk script in // the make process cause these values to align. Assert()s in the code // below verify that the numbers are aligned correctly. -func Xsqlite3ExprIfTrue(tls *libc.TLS, pParse uintptr, pExpr uintptr, dest int32, jumpIfNull int32) { /* sqlite3.c:107512:21: */ +func Xsqlite3ExprIfTrue(tls *libc.TLS, pParse uintptr, pExpr uintptr, dest int32, jumpIfNull int32) { /* sqlite3.c:107525:21: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -84768,7 +84787,7 @@ __3: // If the expression evaluates to NULL (neither true nor false) then // jump if jumpIfNull is SQLITE_JUMPIFNULL or fall through if jumpIfNull // is 0. -func Xsqlite3ExprIfFalse(tls *libc.TLS, pParse uintptr, pExpr uintptr, dest int32, jumpIfNull int32) { /* sqlite3.c:107654:21: */ +func Xsqlite3ExprIfFalse(tls *libc.TLS, pParse uintptr, pExpr uintptr, dest int32, jumpIfNull int32) { /* sqlite3.c:107667:21: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -85018,7 +85037,7 @@ __3: // Like sqlite3ExprIfFalse() except that a copy is made of pExpr before // code generation, and that copy is deleted after code generation. This // ensures that the original pExpr is unchanged. -func Xsqlite3ExprIfFalseDup(tls *libc.TLS, pParse uintptr, pExpr uintptr, dest int32, jumpIfNull int32) { /* sqlite3.c:107826:21: */ +func Xsqlite3ExprIfFalseDup(tls *libc.TLS, pParse uintptr, pExpr uintptr, dest int32, jumpIfNull int32) { /* sqlite3.c:107839:21: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb var pCopy uintptr = Xsqlite3ExprDup(tls, db, pExpr, 0) if int32((*Sqlite3)(unsafe.Pointer(db)).FmallocFailed) == 0 { @@ -85038,7 +85057,7 @@ func Xsqlite3ExprIfFalseDup(tls *libc.TLS, pParse uintptr, pExpr uintptr, dest i // same as that currently bound to variable pVar, non-zero is returned. // Otherwise, if the values are not the same or if pExpr is not a simple // SQL value, zero is returned. -func exprCompareVariable(tls *libc.TLS, pParse uintptr, pVar uintptr, pExpr uintptr) int32 { /* sqlite3.c:107848:12: */ +func exprCompareVariable(tls *libc.TLS, pParse uintptr, pVar uintptr, pExpr uintptr) int32 { /* sqlite3.c:107861:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -85092,7 +85111,7 @@ func exprCompareVariable(tls *libc.TLS, pParse uintptr, pVar uintptr, pExpr uint // If pParse is NULL (the normal case) then any TK_VARIABLE term in // Argument pParse should normally be NULL. If it is not NULL and pA or // pB causes a return value of 2. -func Xsqlite3ExprCompare(tls *libc.TLS, pParse uintptr, pA uintptr, pB uintptr, iTab int32) int32 { /* sqlite3.c:107904:20: */ +func Xsqlite3ExprCompare(tls *libc.TLS, pParse uintptr, pA uintptr, pB uintptr, iTab int32) int32 { /* sqlite3.c:107917:20: */ var combinedFlags U32 if pA == uintptr(0) || pB == uintptr(0) { if pB == pA { @@ -85196,7 +85215,7 @@ func Xsqlite3ExprCompare(tls *libc.TLS, pParse uintptr, pA uintptr, pB uintptr, // // Two NULL pointers are considered to be the same. But a NULL pointer // always differs from a non-NULL pointer. -func Xsqlite3ExprListCompare(tls *libc.TLS, pA uintptr, pB uintptr, iTab int32) int32 { /* sqlite3.c:108000:20: */ +func Xsqlite3ExprListCompare(tls *libc.TLS, pA uintptr, pB uintptr, iTab int32) int32 { /* sqlite3.c:108013:20: */ var i int32 if pA == uintptr(0) && pB == uintptr(0) { return 0 @@ -85223,7 +85242,7 @@ func Xsqlite3ExprListCompare(tls *libc.TLS, pA uintptr, pB uintptr, iTab int32) // Like sqlite3ExprCompare() except COLLATE operators at the top-level // are ignored. -func Xsqlite3ExprCompareSkip(tls *libc.TLS, pA uintptr, pB uintptr, iTab int32) int32 { /* sqlite3.c:108019:20: */ +func Xsqlite3ExprCompareSkip(tls *libc.TLS, pA uintptr, pB uintptr, iTab int32) int32 { /* sqlite3.c:108032:20: */ return Xsqlite3ExprCompare(tls, uintptr(0), Xsqlite3ExprSkipCollateAndLikely(tls, pA), Xsqlite3ExprSkipCollateAndLikely(tls, pB), @@ -85234,7 +85253,7 @@ func Xsqlite3ExprCompareSkip(tls *libc.TLS, pA uintptr, pB uintptr, iTab int32) // // Or if seenNot is true, return non-zero if Expr p can only be // non-NULL if pNN is not NULL -func exprImpliesNotNull(tls *libc.TLS, pParse uintptr, p uintptr, pNN uintptr, iTab int32, seenNot int32) int32 { /* sqlite3.c:108032:12: */ +func exprImpliesNotNull(tls *libc.TLS, pParse uintptr, p uintptr, pNN uintptr, iTab int32, seenNot int32) int32 { /* sqlite3.c:108045:12: */ if Xsqlite3ExprCompare(tls, pParse, p, pNN, iTab) == 0 { return libc.Bool32(int32((*Expr)(unsafe.Pointer(pNN)).Fop) != TK_NULL) @@ -85362,7 +85381,7 @@ func exprImpliesNotNull(tls *libc.TLS, pParse uintptr, p uintptr, pNN uintptr, i // When in doubt, return false. Returning true might give a performance // improvement. Returning false might cause a performance reduction, but // it will always give the correct answer and is hence always safe. -func Xsqlite3ExprImpliesExpr(tls *libc.TLS, pParse uintptr, pE1 uintptr, pE2 uintptr, iTab int32) int32 { /* sqlite3.c:108129:20: */ +func Xsqlite3ExprImpliesExpr(tls *libc.TLS, pParse uintptr, pE1 uintptr, pE2 uintptr, iTab int32) int32 { /* sqlite3.c:108142:20: */ if Xsqlite3ExprCompare(tls, pParse, pE1, pE2, iTab) == 0 { return 1 } @@ -85385,7 +85404,7 @@ func Xsqlite3ExprImpliesExpr(tls *libc.TLS, pParse uintptr, pE1 uintptr, pE2 uin // This routine controls an optimization. False positives (setting // pWalker->eCode to 1 when it should not be) are deadly, but false-negatives // (never setting pWalker->eCode) is a harmless missed optimization. -func impliesNotNullRow(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:108161:12: */ +func impliesNotNullRow(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:108174:12: */ if (*Expr)(unsafe.Pointer(pExpr)).Fflags&U32(EP_FromJoin) != U32(0) { return WRC_Prune @@ -85495,7 +85514,7 @@ func impliesNotNullRow(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* // clause requires that some column of the right table of the LEFT JOIN // be non-NULL, then the LEFT JOIN can be safely converted into an // ordinary join. -func Xsqlite3ExprImpliesNonNullRow(tls *libc.TLS, p uintptr, iTab int32) int32 { /* sqlite3.c:108270:20: */ +func Xsqlite3ExprImpliesNonNullRow(tls *libc.TLS, p uintptr, iTab int32) int32 { /* sqlite3.c:108283:20: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -85529,7 +85548,7 @@ func Xsqlite3ExprImpliesNonNullRow(tls *libc.TLS, p uintptr, iTab int32) int32 { // Check to see if there are references to columns in table // pWalker->u.pIdxCover->iCur can be satisfied using the index // pWalker->u.pIdxCover->pIdx. -func exprIdxCover(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:108308:12: */ +func exprIdxCover(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:108321:12: */ if int32((*Expr)(unsafe.Pointer(pExpr)).Fop) == TK_COLUMN && (*Expr)(unsafe.Pointer(pExpr)).FiTable == (*IdxCover)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pWalker + 40)))).FiCur && int32(Xsqlite3TableColumnToIndex(tls, (*IdxCover)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pWalker + 40)))).FpIdx, (*Expr)(unsafe.Pointer(pExpr)).FiColumn)) < 0 { @@ -85547,7 +85566,7 @@ func exprIdxCover(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqli // An index covering an expression means that the expression can be // evaluated using only the index and without having to lookup the // corresponding table entry. -func Xsqlite3ExprCoveredByIndex(tls *libc.TLS, pExpr uintptr, iCur int32, pIdx uintptr) int32 { /* sqlite3.c:108329:20: */ +func Xsqlite3ExprCoveredByIndex(tls *libc.TLS, pExpr uintptr, iCur int32, pIdx uintptr) int32 { /* sqlite3.c:108342:20: */ bp := tls.Alloc(64) defer tls.Free(64) @@ -85572,7 +85591,7 @@ func Xsqlite3ExprCoveredByIndex(tls *libc.TLS, pExpr uintptr, iCur int32, pIdx u // entries for that subquery to the exclude list. // // When leaving the subquery, remove those entries from the exclude list. -func selectRefEnter(tls *libc.TLS, pWalker uintptr, pSelect uintptr) int32 { /* sqlite3.c:108364:12: */ +func selectRefEnter(tls *libc.TLS, pWalker uintptr, pSelect uintptr) int32 { /* sqlite3.c:108377:12: */ var p uintptr = *(*uintptr)(unsafe.Pointer(pWalker + 40)) var pSrc uintptr = (*Select)(unsafe.Pointer(pSelect)).FpSrc var i I64 @@ -85610,7 +85629,7 @@ __3: return WRC_Continue } -func selectRefLeave(tls *libc.TLS, pWalker uintptr, pSelect uintptr) { /* sqlite3.c:108384:13: */ +func selectRefLeave(tls *libc.TLS, pWalker uintptr, pSelect uintptr) { /* sqlite3.c:108397:13: */ var p uintptr = *(*uintptr)(unsafe.Pointer(pWalker + 40)) var pSrc uintptr = (*Select)(unsafe.Pointer(pSelect)).FpSrc if (*RefSrcList)(unsafe.Pointer(p)).FnExclude != 0 { @@ -85626,7 +85645,7 @@ func selectRefLeave(tls *libc.TLS, pWalker uintptr, pSelect uintptr) { /* sqlite // // Set the 0x02 bit of pWalker->eCode if there is a reference to a // table is in neither RefSrcList.pRef nor RefSrcList.aiExclude. -func exprRefToSrcList(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:108401:12: */ +func exprRefToSrcList(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:108414:12: */ if int32((*Expr)(unsafe.Pointer(pExpr)).Fop) == TK_COLUMN || int32((*Expr)(unsafe.Pointer(pExpr)).Fop) == TK_AGG_COLUMN { var i int32 @@ -85666,7 +85685,7 @@ func exprRefToSrcList(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* // // As currently used, pExpr is always an aggregate function call. That // fact is exploited for efficiency. -func Xsqlite3ReferencesSrcList(tls *libc.TLS, pParse uintptr, pExpr uintptr, pSrcList uintptr) int32 { /* sqlite3.c:108438:20: */ +func Xsqlite3ReferencesSrcList(tls *libc.TLS, pParse uintptr, pExpr uintptr, pSrcList uintptr) int32 { /* sqlite3.c:108451:20: */ bp := tls.Alloc(80) defer tls.Free(80) @@ -85715,7 +85734,7 @@ func Xsqlite3ReferencesSrcList(tls *libc.TLS, pParse uintptr, pExpr uintptr, pSr // This will cause the expression to be deleted automatically when the // Parse object is destroyed, but the zero register number means that it // will not generate any code in the preamble. -func agginfoPersistExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:108480:12: */ +func agginfoPersistExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:108493:12: */ if !((*Expr)(unsafe.Pointer(pExpr)).Fflags&U32(EP_TokenOnly|EP_Reduced) != U32(0)) && (*Expr)(unsafe.Pointer(pExpr)).FpAggInfo != uintptr(0) { var pAggInfo uintptr = (*Expr)(unsafe.Pointer(pExpr)).FpAggInfo @@ -85748,7 +85767,7 @@ func agginfoPersistExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { // Initialize a Walker object so that will persist AggInfo entries referenced // by the tree that is walked. -func Xsqlite3AggInfoPersistWalkerInit(tls *libc.TLS, pWalker uintptr, pParse uintptr) { /* sqlite3.c:108516:21: */ +func Xsqlite3AggInfoPersistWalkerInit(tls *libc.TLS, pWalker uintptr, pParse uintptr) { /* sqlite3.c:108529:21: */ libc.Xmemset(tls, pWalker, 0, uint64(unsafe.Sizeof(Walker{}))) (*Walker)(unsafe.Pointer(pWalker)).FpParse = pParse (*Walker)(unsafe.Pointer(pWalker)).FxExprCallback = *(*uintptr)(unsafe.Pointer(&struct { @@ -85761,7 +85780,7 @@ func Xsqlite3AggInfoPersistWalkerInit(tls *libc.TLS, pWalker uintptr, pParse uin // Add a new element to the pAggInfo->aCol[] array. Return the index of // the new element. Return a negative number if malloc fails. -func addAggInfoColumn(tls *libc.TLS, db uintptr, pInfo uintptr) int32 { /* sqlite3.c:108527:12: */ +func addAggInfoColumn(tls *libc.TLS, db uintptr, pInfo uintptr) int32 { /* sqlite3.c:108540:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -85778,7 +85797,7 @@ func addAggInfoColumn(tls *libc.TLS, db uintptr, pInfo uintptr) int32 { /* sqlit // Add a new element to the pAggInfo->aFunc[] array. Return the index of // the new element. Return a negative number if malloc fails. -func addAggInfoFunc(tls *libc.TLS, db uintptr, pInfo uintptr) int32 { /* sqlite3.c:108543:12: */ +func addAggInfoFunc(tls *libc.TLS, db uintptr, pInfo uintptr) int32 { /* sqlite3.c:108556:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -85796,7 +85815,7 @@ func addAggInfoFunc(tls *libc.TLS, db uintptr, pInfo uintptr) int32 { /* sqlite3 // This is the xExprCallback for a tree walker. It is used to // implement sqlite3ExprAnalyzeAggregates(). See sqlite3ExprAnalyzeAggregates // for additional information. -func analyzeAggregate(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:108560:12: */ +func analyzeAggregate(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:108573:12: */ var i int32 var pNC uintptr = *(*uintptr)(unsafe.Pointer(pWalker + 40)) var pParse uintptr = (*NameContext)(unsafe.Pointer(pNC)).FpParse @@ -85987,7 +86006,7 @@ func analyzeAggregate(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* // // This routine should only be called after the expression has been // analyzed by sqlite3ResolveExprNames(). -func Xsqlite3ExprAnalyzeAggregates(tls *libc.TLS, pNC uintptr, pExpr uintptr) { /* sqlite3.c:108698:21: */ +func Xsqlite3ExprAnalyzeAggregates(tls *libc.TLS, pNC uintptr, pExpr uintptr) { /* sqlite3.c:108711:21: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -86013,7 +86032,7 @@ func Xsqlite3ExprAnalyzeAggregates(tls *libc.TLS, pNC uintptr, pExpr uintptr) { // expression list. Return the number of errors. // // If an error is found, the analysis is cut short. -func Xsqlite3ExprAnalyzeAggList(tls *libc.TLS, pNC uintptr, pList uintptr) { /* sqlite3.c:108716:21: */ +func Xsqlite3ExprAnalyzeAggList(tls *libc.TLS, pNC uintptr, pList uintptr) { /* sqlite3.c:108729:21: */ var pItem uintptr var i int32 if pList != 0 { @@ -86038,7 +86057,7 @@ func Xsqlite3ExprAnalyzeAggList(tls *libc.TLS, pNC uintptr, pList uintptr) { /* } // Allocate a single new register for use to hold some intermediate result. -func Xsqlite3GetTempReg(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:108729:20: */ +func Xsqlite3GetTempReg(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:108742:20: */ if int32((*Parse)(unsafe.Pointer(pParse)).FnTempReg) == 0 { return libc.PreIncInt32(&(*Parse)(unsafe.Pointer(pParse)).FnMem, 1) } @@ -86047,7 +86066,7 @@ func Xsqlite3GetTempReg(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:1087 // Deallocate a register, making available for reuse for some other // purpose. -func Xsqlite3ReleaseTempReg(tls *libc.TLS, pParse uintptr, iReg int32) { /* sqlite3.c:108740:21: */ +func Xsqlite3ReleaseTempReg(tls *libc.TLS, pParse uintptr, iReg int32) { /* sqlite3.c:108753:21: */ if iReg != 0 { if int32((*Parse)(unsafe.Pointer(pParse)).FnTempReg) < int32(uint64(unsafe.Sizeof([8]int32{}))/uint64(unsafe.Sizeof(int32(0)))) { @@ -86057,7 +86076,7 @@ func Xsqlite3ReleaseTempReg(tls *libc.TLS, pParse uintptr, iReg int32) { /* sqli } // Allocate or deallocate a block of nReg consecutive registers. -func Xsqlite3GetTempRange(tls *libc.TLS, pParse uintptr, nReg int32) int32 { /* sqlite3.c:108752:20: */ +func Xsqlite3GetTempRange(tls *libc.TLS, pParse uintptr, nReg int32) int32 { /* sqlite3.c:108765:20: */ var i int32 var n int32 if nReg == 1 { @@ -86075,7 +86094,7 @@ func Xsqlite3GetTempRange(tls *libc.TLS, pParse uintptr, nReg int32) int32 { /* return i } -func Xsqlite3ReleaseTempRange(tls *libc.TLS, pParse uintptr, iReg int32, nReg int32) { /* sqlite3.c:108766:21: */ +func Xsqlite3ReleaseTempRange(tls *libc.TLS, pParse uintptr, iReg int32, nReg int32) { /* sqlite3.c:108779:21: */ if nReg == 1 { Xsqlite3ReleaseTempReg(tls, pParse, iReg) return @@ -86093,7 +86112,7 @@ func Xsqlite3ReleaseTempRange(tls *libc.TLS, pParse uintptr, iReg int32, nReg in // that might be invoked from other parts of the code, to ensure that // the sub/co-routine does not use registers in common with the code that // invokes the sub/co-routine. -func Xsqlite3ClearTempRegCache(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:108786:21: */ +func Xsqlite3ClearTempRegCache(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:108799:21: */ (*Parse)(unsafe.Pointer(pParse)).FnTempReg = U8(0) (*Parse)(unsafe.Pointer(pParse)).FnRangeReg = 0 } @@ -86127,7 +86146,7 @@ func Xsqlite3ClearTempRegCache(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:108 // in pParse->zErr (system tables may not be altered) and returns non-zero. // // Or, if zName is not a system table, zero is returned. -func isAlterableTable(tls *libc.TLS, pParse uintptr, pTab uintptr) int32 { /* sqlite3.c:108846:12: */ +func isAlterableTable(tls *libc.TLS, pParse uintptr, pTab uintptr) int32 { /* sqlite3.c:108859:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -86146,7 +86165,7 @@ func isAlterableTable(tls *libc.TLS, pParse uintptr, pTab uintptr) int32 { /* sq // called at the end of the generation of an ALTER TABLE ... RENAME ... // statement to ensure that the operation has not rendered any schema // objects unusable. -func renameTestSchema(tls *libc.TLS, pParse uintptr, zDb uintptr, bTemp int32, zWhen uintptr, bNoDQS int32) { /* sqlite3.c:108868:13: */ +func renameTestSchema(tls *libc.TLS, pParse uintptr, zDb uintptr, bTemp int32, zWhen uintptr, bNoDQS int32) { /* sqlite3.c:108881:13: */ bp := tls.Alloc(64) defer tls.Free(64) @@ -86170,7 +86189,7 @@ func renameTestSchema(tls *libc.TLS, pParse uintptr, zDb uintptr, bTemp int32, z // database zDb with their single-quoted equivalents. If argument bTemp is // not true, similarly update all SQL statements in the sqlite_schema table // of the temp db. -func renameFixQuotes(tls *libc.TLS, pParse uintptr, zDb uintptr, bTemp int32) { /* sqlite3.c:108905:13: */ +func renameFixQuotes(tls *libc.TLS, pParse uintptr, zDb uintptr, bTemp int32) { /* sqlite3.c:108918:13: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -86186,7 +86205,7 @@ func renameFixQuotes(tls *libc.TLS, pParse uintptr, zDb uintptr, bTemp int32) { // Generate code to reload the schema for database iDb. And, if iDb!=1, for // the temp database as well. -func renameReloadSchema(tls *libc.TLS, pParse uintptr, iDb int32, p5 U16) { /* sqlite3.c:108926:13: */ +func renameReloadSchema(tls *libc.TLS, pParse uintptr, iDb int32, p5 U16) { /* sqlite3.c:108939:13: */ var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe if v != 0 { Xsqlite3ChangeCookie(tls, pParse, iDb) @@ -86199,7 +86218,7 @@ func renameReloadSchema(tls *libc.TLS, pParse uintptr, iDb int32, p5 U16) { /* s // Generate code to implement the "ALTER TABLE xxx RENAME TO yyy" // command. -func Xsqlite3AlterRenameTable(tls *libc.TLS, pParse uintptr, pSrc uintptr, pName uintptr) { /* sqlite3.c:108939:21: */ +func Xsqlite3AlterRenameTable(tls *libc.TLS, pParse uintptr, pSrc uintptr, pName uintptr) { /* sqlite3.c:108952:21: */ bp := tls.Alloc(184) defer tls.Free(184) @@ -86384,7 +86403,7 @@ exit_rename_table: // Write code that will raise an error if the table described by // zDb and zTab is not empty. -func sqlite3ErrorIfNotEmpty(tls *libc.TLS, pParse uintptr, zDb uintptr, zTab uintptr, zErr uintptr) { /* sqlite3.c:109108:13: */ +func sqlite3ErrorIfNotEmpty(tls *libc.TLS, pParse uintptr, zDb uintptr, zTab uintptr, zErr uintptr) { /* sqlite3.c:109121:13: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -86399,7 +86418,7 @@ func sqlite3ErrorIfNotEmpty(tls *libc.TLS, pParse uintptr, zDb uintptr, zTab uin // // The Table structure pParse->pNewTable was extended to include // the new column during parsing. -func Xsqlite3AlterFinishAddColumn(tls *libc.TLS, pParse uintptr, pColDef uintptr) { /* sqlite3.c:109128:21: */ +func Xsqlite3AlterFinishAddColumn(tls *libc.TLS, pParse uintptr, pColDef uintptr) { /* sqlite3.c:109141:21: */ bp := tls.Alloc(64) defer tls.Free(64) @@ -86545,7 +86564,7 @@ func Xsqlite3AlterFinishAddColumn(tls *libc.TLS, pParse uintptr, pColDef uintptr // // Routine sqlite3AlterFinishAddColumn() will be called to complete // coding the "ALTER TABLE ... ADD" statement. -func Xsqlite3AlterBeginAddColumn(tls *libc.TLS, pParse uintptr, pSrc uintptr) { /* sqlite3.c:109293:21: */ +func Xsqlite3AlterBeginAddColumn(tls *libc.TLS, pParse uintptr, pSrc uintptr) { /* sqlite3.c:109306:21: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -86662,7 +86681,7 @@ exit_begin_add_column: // it loads an error message into pParse and returns non-zero. // // Or, if pTab is not a view or virtual table, zero is returned. -func isRealTable(tls *libc.TLS, pParse uintptr, pTab uintptr, bDrop int32) int32 { /* sqlite3.c:109376:12: */ +func isRealTable(tls *libc.TLS, pParse uintptr, pTab uintptr, bDrop int32) int32 { /* sqlite3.c:109389:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -86690,7 +86709,7 @@ func isRealTable(tls *libc.TLS, pParse uintptr, pTab uintptr, bDrop int32) int32 // Handles the following parser reduction: // // cmd ::= ALTER TABLE pSrc RENAME COLUMN pOld TO pNew -func Xsqlite3AlterRenameColumn(tls *libc.TLS, pParse uintptr, pSrc uintptr, pOld uintptr, pNew uintptr) { /* sqlite3.c:109406:21: */ +func Xsqlite3AlterRenameColumn(tls *libc.TLS, pParse uintptr, pSrc uintptr, pOld uintptr, pNew uintptr) { /* sqlite3.c:109419:21: */ bp := tls.Alloc(112) defer tls.Free(112) @@ -86819,7 +86838,7 @@ exit_rename_column: // The context of an ALTER TABLE RENAME COLUMN operation that gets passed // down into the Walker. -type RenameCtx = RenameCtx1 /* sqlite3.c:109521:26 */ +type RenameCtx = RenameCtx1 /* sqlite3.c:109534:26 */ // Remember that the parser tree element pPtr was created using // the token pToken. @@ -86831,7 +86850,7 @@ type RenameCtx = RenameCtx1 /* sqlite3.c:109521:26 */ // The pPtr argument is returned so that this routine can be used // with tail recursion in tokenExpr() routine, for a small performance // improvement. -func Xsqlite3RenameTokenMap(tls *libc.TLS, pParse uintptr, pPtr uintptr, pToken uintptr) uintptr { /* sqlite3.c:109584:27: */ +func Xsqlite3RenameTokenMap(tls *libc.TLS, pParse uintptr, pPtr uintptr, pToken uintptr) uintptr { /* sqlite3.c:109597:27: */ var pNew uintptr if int32((*Parse)(unsafe.Pointer(pParse)).FeParseMode) != PARSE_MODE_UNMAP { @@ -86850,7 +86869,7 @@ func Xsqlite3RenameTokenMap(tls *libc.TLS, pParse uintptr, pPtr uintptr, pToken // It is assumed that there is already a RenameToken object associated // with parse tree element pFrom. This function remaps the associated token // to parse tree element pTo. -func Xsqlite3RenameTokenRemap(tls *libc.TLS, pParse uintptr, pTo uintptr, pFrom uintptr) { /* sqlite3.c:109610:21: */ +func Xsqlite3RenameTokenRemap(tls *libc.TLS, pParse uintptr, pTo uintptr, pFrom uintptr) { /* sqlite3.c:109623:21: */ var p uintptr for p = (*Parse)(unsafe.Pointer(pParse)).FpRename; p != 0; p = (*RenameToken)(unsafe.Pointer(p)).FpNext { @@ -86862,7 +86881,7 @@ func Xsqlite3RenameTokenRemap(tls *libc.TLS, pParse uintptr, pTo uintptr, pFrom } // Walker callback used by sqlite3RenameExprUnmap(). -func renameUnmapExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:109624:12: */ +func renameUnmapExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:109637:12: */ var pParse uintptr = (*Walker)(unsafe.Pointer(pWalker)).FpParse Xsqlite3RenameTokenRemap(tls, pParse, uintptr(0), pExpr) if (*Expr)(unsafe.Pointer(pExpr)).Fflags&U32(EP_WinFunc|EP_Subrtn) == U32(0) { @@ -86873,7 +86892,7 @@ func renameUnmapExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* // Iterate through the Select objects that are part of WITH clauses attached // to select statement pSelect. -func renameWalkWith(tls *libc.TLS, pWalker uintptr, pSelect uintptr) { /* sqlite3.c:109637:13: */ +func renameWalkWith(tls *libc.TLS, pWalker uintptr, pSelect uintptr) { /* sqlite3.c:109650:13: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -86914,7 +86933,7 @@ func renameWalkWith(tls *libc.TLS, pWalker uintptr, pSelect uintptr) { /* sqlite } // Unmap all tokens in the IdList object passed as the second argument. -func unmapColumnIdlistNames(tls *libc.TLS, pParse uintptr, pIdList uintptr) { /* sqlite3.c:109672:13: */ +func unmapColumnIdlistNames(tls *libc.TLS, pParse uintptr, pIdList uintptr) { /* sqlite3.c:109685:13: */ if pIdList != 0 { var ii int32 for ii = 0; ii < (*IdList)(unsafe.Pointer(pIdList)).FnId; ii++ { @@ -86924,7 +86943,7 @@ func unmapColumnIdlistNames(tls *libc.TLS, pParse uintptr, pIdList uintptr) { /* } // Walker callback used by sqlite3RenameExprUnmap(). -func renameUnmapSelectCb(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sqlite3.c:109687:12: */ +func renameUnmapSelectCb(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sqlite3.c:109700:12: */ var pParse uintptr = (*Walker)(unsafe.Pointer(pWalker)).FpParse var i int32 if (*Parse)(unsafe.Pointer(pParse)).FnErr != 0 { @@ -86956,7 +86975,7 @@ func renameUnmapSelectCb(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* s } // Remove all nodes that are part of expression pExpr from the rename list. -func Xsqlite3RenameExprUnmap(tls *libc.TLS, pParse uintptr, pExpr uintptr) { /* sqlite3.c:109720:21: */ +func Xsqlite3RenameExprUnmap(tls *libc.TLS, pParse uintptr, pExpr uintptr) { /* sqlite3.c:109733:21: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -86978,7 +86997,7 @@ func Xsqlite3RenameExprUnmap(tls *libc.TLS, pParse uintptr, pExpr uintptr) { /* // Remove all nodes that are part of expression-list pEList from the // rename list. -func Xsqlite3RenameExprlistUnmap(tls *libc.TLS, pParse uintptr, pEList uintptr) { /* sqlite3.c:109736:21: */ +func Xsqlite3RenameExprlistUnmap(tls *libc.TLS, pParse uintptr, pEList uintptr) { /* sqlite3.c:109749:21: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -87001,7 +87020,7 @@ func Xsqlite3RenameExprlistUnmap(tls *libc.TLS, pParse uintptr, pEList uintptr) } // Free the list of RenameToken objects given in the second argument -func renameTokenFree(tls *libc.TLS, db uintptr, pToken uintptr) { /* sqlite3.c:109755:13: */ +func renameTokenFree(tls *libc.TLS, db uintptr, pToken uintptr) { /* sqlite3.c:109768:13: */ var pNext uintptr var p uintptr for p = pToken; p != 0; p = pNext { @@ -87017,7 +87036,7 @@ func renameTokenFree(tls *libc.TLS, db uintptr, pToken uintptr) { /* sqlite3.c:1 // If the second argument passed to this function is not NULL and a matching // RenameToken object is found, remove it from the Parse object and add it to // the list maintained by the RenameCtx object. -func renameTokenFind(tls *libc.TLS, pParse uintptr, pCtx uintptr, pPtr uintptr) uintptr { /* sqlite3.c:109773:20: */ +func renameTokenFind(tls *libc.TLS, pParse uintptr, pCtx uintptr, pPtr uintptr) uintptr { /* sqlite3.c:109786:20: */ var pp uintptr if pPtr == uintptr(0) { return uintptr(0) @@ -87040,7 +87059,7 @@ func renameTokenFind(tls *libc.TLS, pParse uintptr, pCtx uintptr, pPtr uintptr) // This is a Walker select callback. It does nothing. It is only required // because without a dummy callback, sqlite3WalkExpr() and similar do not // descend into sub-select statements. -func renameColumnSelectCb(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sqlite3.c:109802:12: */ +func renameColumnSelectCb(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sqlite3.c:109815:12: */ if (*Select)(unsafe.Pointer(p)).FselFlags&U32(SF_View|SF_CopyCte) != 0 { return WRC_Prune @@ -87056,7 +87075,7 @@ func renameColumnSelectCb(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* // ALTER TABLE statement. If it is, then attach its associated // RenameToken object to the list of RenameToken objects being // constructed in RenameCtx object at pWalker->u.pRename. -func renameColumnExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:109821:12: */ +func renameColumnExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:109834:12: */ var p uintptr = *(*uintptr)(unsafe.Pointer(pWalker + 40)) if int32((*Expr)(unsafe.Pointer(pExpr)).Fop) == TK_TRIGGER && int32((*Expr)(unsafe.Pointer(pExpr)).FiColumn) == (*RenameCtx)(unsafe.Pointer(p)).FiCol && @@ -87078,7 +87097,7 @@ func renameColumnExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { / // the input SQL is parsed from left to right. Repeated calls to this routine // return all column name tokens in the order that they are encountered // in the SQL statement. -func renameColumnTokenNext(tls *libc.TLS, pCtx uintptr) uintptr { /* sqlite3.c:109847:20: */ +func renameColumnTokenNext(tls *libc.TLS, pCtx uintptr) uintptr { /* sqlite3.c:109860:20: */ var pBest uintptr = (*RenameCtx)(unsafe.Pointer(pCtx)).FpList var pToken uintptr var pp uintptr @@ -87100,7 +87119,7 @@ func renameColumnTokenNext(tls *libc.TLS, pCtx uintptr) uintptr { /* sqlite3.c:1 // ALTER TABLE RENAME COLUMN program. The error message emitted by the // sub-routine is currently stored in pParse->zErrMsg. This function // adds context to the error message and then stores it in pCtx. -func renameColumnParseError(tls *libc.TLS, pCtx uintptr, zWhen uintptr, pType uintptr, pObject uintptr, pParse uintptr) { /* sqlite3.c:109868:13: */ +func renameColumnParseError(tls *libc.TLS, pCtx uintptr, zWhen uintptr, pType uintptr, pObject uintptr, pParse uintptr) { /* sqlite3.c:109881:13: */ bp := tls.Alloc(40) defer tls.Free(40) @@ -87124,7 +87143,7 @@ func renameColumnParseError(tls *libc.TLS, pCtx uintptr, zWhen uintptr, pType ui // pEList->a[i].zName) that matches the string in zOld, extract the // corresponding rename-token from Parse object pParse and add it // to the RenameCtx pCtx. -func renameColumnElistNames(tls *libc.TLS, pParse uintptr, pCtx uintptr, pEList uintptr, zOld uintptr) { /* sqlite3.c:109893:13: */ +func renameColumnElistNames(tls *libc.TLS, pParse uintptr, pCtx uintptr, pEList uintptr, zOld uintptr) { /* sqlite3.c:109906:13: */ if pEList != 0 { var i int32 for i = 0; i < (*ExprList)(unsafe.Pointer(pEList)).FnExpr; i++ { @@ -87141,7 +87160,7 @@ func renameColumnElistNames(tls *libc.TLS, pParse uintptr, pCtx uintptr, pEList // For each name in the the id-list pIdList (i.e. each pIdList->a[i].zName) // that matches the string in zOld, extract the corresponding rename-token // from Parse object pParse and add it to the RenameCtx pCtx. -func renameColumnIdlistNames(tls *libc.TLS, pParse uintptr, pCtx uintptr, pIdList uintptr, zOld uintptr) { /* sqlite3.c:109918:13: */ +func renameColumnIdlistNames(tls *libc.TLS, pParse uintptr, pCtx uintptr, pIdList uintptr, zOld uintptr) { /* sqlite3.c:109931:13: */ if pIdList != 0 { var i int32 for i = 0; i < (*IdList)(unsafe.Pointer(pIdList)).FnId; i++ { @@ -87155,7 +87174,7 @@ func renameColumnIdlistNames(tls *libc.TLS, pParse uintptr, pCtx uintptr, pIdLis // Parse the SQL statement zSql using Parse object (*p). The Parse object // is initialized by this function before it is used. -func renameParseSql(tls *libc.TLS, p uintptr, zDb uintptr, db uintptr, zSql uintptr, bTemp int32) int32 { /* sqlite3.c:109940:12: */ +func renameParseSql(tls *libc.TLS, p uintptr, zDb uintptr, db uintptr, zSql uintptr, bTemp int32) int32 { /* sqlite3.c:109953:12: */ var rc int32 Xsqlite3ParseObjectInit(tls, p, db) @@ -87163,7 +87182,7 @@ func renameParseSql(tls *libc.TLS, p uintptr, zDb uintptr, db uintptr, zSql uint return SQLITE_NOMEM } if Xsqlite3_strnicmp(tls, zSql, ts+10791, 7) != 0 { - return Xsqlite3CorruptError(tls, 109954) + return Xsqlite3CorruptError(tls, 109967) } (*Sqlite3)(unsafe.Pointer(db)).Finit.FiDb = func() uint8 { if bTemp != 0 { @@ -87180,7 +87199,7 @@ func renameParseSql(tls *libc.TLS, p uintptr, zDb uintptr, db uintptr, zSql uint } if rc == SQLITE_OK && ((*Parse)(unsafe.Pointer(p)).FpNewTable == uintptr(0) && (*Parse)(unsafe.Pointer(p)).FpNewIndex == uintptr(0) && (*Parse)(unsafe.Pointer(p)).FpNewTrigger == uintptr(0)) { - rc = Xsqlite3CorruptError(tls, 109965) + rc = Xsqlite3CorruptError(tls, 109978) } (*Sqlite3)(unsafe.Pointer(db)).Finit.FiDb = U8(0) @@ -87194,7 +87213,7 @@ func renameParseSql(tls *libc.TLS, p uintptr, zDb uintptr, db uintptr, zSql uint // // Or, if an error occurs (i.e. an OOM condition), an error is left in // pCtx and an SQLite error code returned. -func renameEditSql(tls *libc.TLS, pCtx uintptr, pRename uintptr, zSql uintptr, zNew uintptr, bQuote int32) int32 { /* sqlite3.c:109993:12: */ +func renameEditSql(tls *libc.TLS, pCtx uintptr, pRename uintptr, zSql uintptr, zNew uintptr, bQuote int32) int32 { /* sqlite3.c:110006:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -87300,7 +87319,7 @@ func renameEditSql(tls *libc.TLS, pCtx uintptr, pRename uintptr, zSql uintptr, z // it was read from the schema of database zDb. Return SQLITE_OK if // successful. Otherwise, return an SQLite error code and leave an error // message in the Parse object. -func renameResolveTrigger(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:110100:12: */ +func renameResolveTrigger(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:110113:12: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -87398,7 +87417,7 @@ func renameResolveTrigger(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:11 // Invoke sqlite3WalkExpr() or sqlite3WalkSelect() on all Select or Expr // objects that are part of the trigger passed as the second argument. -func renameWalkTrigger(tls *libc.TLS, pWalker uintptr, pTrigger uintptr) { /* sqlite3.c:110196:13: */ +func renameWalkTrigger(tls *libc.TLS, pWalker uintptr, pTrigger uintptr) { /* sqlite3.c:110209:13: */ var pStep uintptr // Find tokens to edit in WHEN clause @@ -87427,7 +87446,7 @@ func renameWalkTrigger(tls *libc.TLS, pWalker uintptr, pTrigger uintptr) { /* sq // Free the contents of Parse object (*pParse). Do not free the memory // occupied by the Parse object itself. -func renameParseCleanup(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:110227:13: */ +func renameParseCleanup(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:110240:13: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb var pIdx uintptr if (*Parse)(unsafe.Pointer(pParse)).FpVdbe != 0 { @@ -87466,7 +87485,7 @@ func renameParseCleanup(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:110227:13: // It is only accessible to SQL created using sqlite3NestedParse(). It is // not reachable from ordinary SQL passed into sqlite3_prepare() unless the // SQLITE_TESTCTRL_INTERNAL_FUNCTIONS test setting is enabled. -func renameColumnFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { /* sqlite3.c:110268:13: */ +func renameColumnFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { /* sqlite3.c:110281:13: */ bp := tls.Alloc(488) defer tls.Free(488) @@ -87809,7 +87828,7 @@ __44: } // Walker expression callback used by "RENAME TABLE". -func renameTableExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:110435:12: */ +func renameTableExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:110448:12: */ var p uintptr = *(*uintptr)(unsafe.Pointer(pWalker + 40)) if int32((*Expr)(unsafe.Pointer(pExpr)).Fop) == TK_COLUMN && (*Expr)(unsafe.Pointer(pExpr)).Fflags&U32(EP_WinFunc|EP_Subrtn) == U32(0) && @@ -87820,7 +87839,7 @@ func renameTableExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* } // Walker select callback used by "RENAME TABLE". -func renameTableSelectCb(tls *libc.TLS, pWalker uintptr, pSelect uintptr) int32 { /* sqlite3.c:110449:12: */ +func renameTableSelectCb(tls *libc.TLS, pWalker uintptr, pSelect uintptr) int32 { /* sqlite3.c:110462:12: */ var i int32 var p uintptr = *(*uintptr)(unsafe.Pointer(pWalker + 40)) var pSrc uintptr = (*Select)(unsafe.Pointer(pSelect)).FpSrc @@ -87860,7 +87879,7 @@ func renameTableSelectCb(tls *libc.TLS, pWalker uintptr, pSelect uintptr) int32 // // sqlite_rename_table('main', 'CREATE TABLE t1(a REFERENCES t2)','t2','t3',0) // -> 'CREATE TABLE t1(a REFERENCES t3)' -func renameTableFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { /* sqlite3.c:110493:13: */ +func renameTableFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { /* sqlite3.c:110506:13: */ bp := tls.Alloc(544) defer tls.Free(544) @@ -87994,7 +88013,7 @@ func renameTableFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr return } -func renameQuotefixExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:110636:12: */ +func renameQuotefixExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:110649:12: */ if int32((*Expr)(unsafe.Pointer(pExpr)).Fop) == TK_STRING && (*Expr)(unsafe.Pointer(pExpr)).Fflags&U32(EP_DblQuoted) != 0 { renameTokenFind(tls, (*Walker)(unsafe.Pointer(pWalker)).FpParse, *(*uintptr)(unsafe.Pointer(pWalker + 40)), pExpr) } @@ -88027,7 +88046,7 @@ func renameQuotefixExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { // If there is a error in the input SQL, then raise an error, except // if PRAGMA writable_schema=ON, then just return the input string // unmodified following an error. -func renameQuotefixFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { /* sqlite3.c:110670:13: */ +func renameQuotefixFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { /* sqlite3.c:110683:13: */ bp := tls.Alloc(488) defer tls.Free(488) @@ -88141,7 +88160,7 @@ func renameQuotefixFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uint // B. Else if a trigger is created and the the table that the trigger is // attached to is in database zDb, then return 1. // C. Otherwise return NULL. -func renameTableTest(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { /* sqlite3.c:110783:13: */ +func renameTableTest(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { /* sqlite3.c:110796:13: */ bp := tls.Alloc(464) defer tls.Free(464) @@ -88213,7 +88232,7 @@ func renameTableTest(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr // // The value returned is a string containing the CREATE TABLE statement // with column argv[2] removed. -func dropColumnFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { /* sqlite3.c:110858:13: */ +func dropColumnFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { /* sqlite3.c:110871:13: */ bp := tls.Alloc(432) defer tls.Free(432) @@ -88253,7 +88272,7 @@ __1: goto __2 } // This can happen if the sqlite_schema table is corrupt - rc = Xsqlite3CorruptError(tls, 110886) + rc = Xsqlite3CorruptError(tls, 110899) goto drop_column_done __2: ; @@ -88299,7 +88318,7 @@ __7: // // statement. Argument pSrc contains the possibly qualified name of the // table being edited, and token pName the name of the column to drop. -func Xsqlite3AlterDropColumn(tls *libc.TLS, pParse uintptr, pSrc uintptr, pName uintptr) { /* sqlite3.c:110923:21: */ +func Xsqlite3AlterDropColumn(tls *libc.TLS, pParse uintptr, pSrc uintptr, pName uintptr) { /* sqlite3.c:110936:21: */ bp := tls.Alloc(64) defer tls.Free(64) @@ -88532,7 +88551,7 @@ exit_drop_column: } // Register built-in functions used to help implement ALTER TABLE -func Xsqlite3AlterFunctions(tls *libc.TLS) { /* sqlite3.c:111065:21: */ +func Xsqlite3AlterFunctions(tls *libc.TLS) { /* sqlite3.c:111078:21: */ Xsqlite3InsertBuiltinFuncs(tls, uintptr(unsafe.Pointer(&aAlterTableFuncs)), int32(uint64(unsafe.Sizeof(aAlterTableFuncs))/uint64(unsafe.Sizeof(FuncDef{})))) } @@ -88541,7 +88560,7 @@ var aAlterTableFuncs = [5]FuncDef{ {FnArg: int8(7), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_FUNC_INTERNAL | SQLITE_UTF8 | SQLITE_FUNC_CONSTANT), FxSFunc: 0, FzName: ts + 11065}, {FnArg: int8(7), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_FUNC_INTERNAL | SQLITE_UTF8 | SQLITE_FUNC_CONSTANT), FxSFunc: 0, FzName: ts + 11085}, {FnArg: int8(3), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_FUNC_INTERNAL | SQLITE_UTF8 | SQLITE_FUNC_CONSTANT), FxSFunc: 0, FzName: ts + 11104}, - {FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_FUNC_INTERNAL | SQLITE_UTF8 | SQLITE_FUNC_CONSTANT), FxSFunc: 0, FzName: ts + 11123}} /* sqlite3.c:111066:18 */ + {FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_FUNC_INTERNAL | SQLITE_UTF8 | SQLITE_FUNC_CONSTANT), FxSFunc: 0, FzName: ts + 11123}} /* sqlite3.c:111079:18 */ //************* End of alter.c ********************************************** //************* Begin file analyze.c **************************************** @@ -88697,7 +88716,7 @@ var aAlterTableFuncs = [5]FuncDef{ // or it may be a NULL pointer. If it is not NULL, then all entries in // the sqlite_statN tables associated with the named table are deleted. // If zWhere==0, then code is generated to delete all stat table entries. -func openStatTable(tls *libc.TLS, pParse uintptr, iDb int32, iStatCur int32, zWhere uintptr, zWhereType uintptr) { /* sqlite3.c:111244:13: */ +func openStatTable(tls *libc.TLS, pParse uintptr, iDb int32, iStatCur int32, zWhere uintptr, zWhereType uintptr) { /* sqlite3.c:111257:13: */ bp := tls.Alloc(88) defer tls.Free(88) @@ -88777,7 +88796,7 @@ var aTable = [3]struct { {FzName: ts + 11217 /* "sqlite_stat1" */, FzCols: ts + 11230 /* "tbl,idx,stat" */}, {FzName: ts + 11243 /* "sqlite_stat4" */, FzCols: ts + 11256 /* "tbl,idx,neq,nlt,..." */}, {FzName: ts + 11284 /* "sqlite_stat3" */}, -} /* sqlite3.c:111254:5 */ +} /* sqlite3.c:111267:5 */ // Recommended number of samples for sqlite_stat4 @@ -88804,14 +88823,14 @@ type StatAccum1 = struct { FnMaxEqZero int32 FiGet int32 Fa uintptr -} /* sqlite3.c:111342:9 */ +} /* sqlite3.c:111355:9 */ // Recommended number of samples for sqlite_stat4 // Three SQL functions - stat_init(), stat_push(), and stat_get() - // share an instance of the following structure to hold their state // information. -type StatAccum = StatAccum1 /* sqlite3.c:111342:26 */ +type StatAccum = StatAccum1 /* sqlite3.c:111355:26 */ type StatSample1 = struct { FanEq uintptr FanDLt uintptr @@ -88822,12 +88841,12 @@ type StatSample1 = struct { F__ccgo_pad1 [3]byte FiCol int32 FiHash U32 -} /* sqlite3.c:111342:9 */ +} /* sqlite3.c:111355:9 */ -type StatSample = StatSample1 /* sqlite3.c:111343:27 */ +type StatSample = StatSample1 /* sqlite3.c:111356:27 */ // Reclaim memory used by a StatSample -func sampleClear(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:111384:13: */ +func sampleClear(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:111397:13: */ if (*StatSample)(unsafe.Pointer(p)).FnRowid != 0 { Xsqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(p + 24))) @@ -88836,7 +88855,7 @@ func sampleClear(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:111384:13: } // Initialize the BLOB value of a ROWID -func sampleSetRowid(tls *libc.TLS, db uintptr, p uintptr, n int32, pData uintptr) { /* sqlite3.c:111396:13: */ +func sampleSetRowid(tls *libc.TLS, db uintptr, p uintptr, n int32, pData uintptr) { /* sqlite3.c:111409:13: */ if (*StatSample)(unsafe.Pointer(p)).FnRowid != 0 { Xsqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(p + 24))) @@ -88851,7 +88870,7 @@ func sampleSetRowid(tls *libc.TLS, db uintptr, p uintptr, n int32, pData uintptr } // Initialize the INTEGER value of a ROWID. -func sampleSetRowidInt64(tls *libc.TLS, db uintptr, p uintptr, iRowid I64) { /* sqlite3.c:111412:13: */ +func sampleSetRowidInt64(tls *libc.TLS, db uintptr, p uintptr, iRowid I64) { /* sqlite3.c:111425:13: */ if (*StatSample)(unsafe.Pointer(p)).FnRowid != 0 { Xsqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(p + 24))) @@ -88861,7 +88880,7 @@ func sampleSetRowidInt64(tls *libc.TLS, db uintptr, p uintptr, iRowid I64) { /* } // Copy the contents of object (*pFrom) into (*pTo). -func sampleCopy(tls *libc.TLS, p uintptr, pTo uintptr, pFrom uintptr) { /* sqlite3.c:111425:13: */ +func sampleCopy(tls *libc.TLS, p uintptr, pTo uintptr, pFrom uintptr) { /* sqlite3.c:111438:13: */ (*StatSample)(unsafe.Pointer(pTo)).FisPSample = (*StatSample)(unsafe.Pointer(pFrom)).FisPSample (*StatSample)(unsafe.Pointer(pTo)).FiCol = (*StatSample)(unsafe.Pointer(pFrom)).FiCol (*StatSample)(unsafe.Pointer(pTo)).FiHash = (*StatSample)(unsafe.Pointer(pFrom)).FiHash @@ -88876,7 +88895,7 @@ func sampleCopy(tls *libc.TLS, p uintptr, pTo uintptr, pFrom uintptr) { /* sqlit } // Reclaim all memory of a StatAccum structure. -func statAccumDestructor(tls *libc.TLS, pOld uintptr) { /* sqlite3.c:111443:13: */ +func statAccumDestructor(tls *libc.TLS, pOld uintptr) { /* sqlite3.c:111456:13: */ var p uintptr = pOld if (*StatAccum)(unsafe.Pointer(p)).FmxSample != 0 { var i int32 @@ -88911,7 +88930,7 @@ func statAccumDestructor(tls *libc.TLS, pOld uintptr) { /* sqlite3.c:111443:13: // value is a pointer to the StatAccum object. The datatype of the // return value is BLOB, but it is really just a pointer to the StatAccum // object. -func statInit(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:111478:13: */ +func statInit(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:111491:13: */ var p uintptr var nCol int32 // Number of columns in index being sampled var nKeyCol int32 // Number of key columns @@ -89006,7 +89025,7 @@ var statInitFuncdef = FuncDef{ FnArg: int8(4), // nArg FfuncFlags: U32(SQLITE_UTF8), // pNext FxSFunc: 0, // xValue, xInverse - FzName: ts + 11297} /* sqlite3.c:111564:22 */ + FzName: ts + 11297} /* sqlite3.c:111577:22 */ // pNew and pOld are both candidate non-periodic samples selected for // the same column (pNew->iCol==pOld->iCol). Ignoring this column and @@ -89017,7 +89036,7 @@ var statInitFuncdef = FuncDef{ // // This function assumes that for each argument sample, the contents of // the anEq[] array from pSample->anEq[pSample->iCol+1] onwards are valid. -func sampleIsBetterPost(tls *libc.TLS, pAccum uintptr, pNew uintptr, pOld uintptr) int32 { /* sqlite3.c:111588:12: */ +func sampleIsBetterPost(tls *libc.TLS, pAccum uintptr, pNew uintptr, pOld uintptr) int32 { /* sqlite3.c:111601:12: */ var nCol int32 = (*StatAccum)(unsafe.Pointer(pAccum)).FnCol var i int32 @@ -89039,7 +89058,7 @@ func sampleIsBetterPost(tls *libc.TLS, pAccum uintptr, pNew uintptr, pOld uintpt // // This function assumes that for each argument sample, the contents of // the anEq[] array from pSample->anEq[pSample->iCol] onwards are valid. -func sampleIsBetter(tls *libc.TLS, pAccum uintptr, pNew uintptr, pOld uintptr) int32 { /* sqlite3.c:111612:12: */ +func sampleIsBetter(tls *libc.TLS, pAccum uintptr, pNew uintptr, pOld uintptr) int32 { /* sqlite3.c:111625:12: */ var nEqNew TRowcnt = *(*TRowcnt)(unsafe.Pointer((*StatSample)(unsafe.Pointer(pNew)).FanEq + uintptr((*StatSample)(unsafe.Pointer(pNew)).FiCol)*4)) var nEqOld TRowcnt = *(*TRowcnt)(unsafe.Pointer((*StatSample)(unsafe.Pointer(pOld)).FanEq + uintptr((*StatSample)(unsafe.Pointer(pOld)).FiCol)*4)) @@ -89057,7 +89076,7 @@ func sampleIsBetter(tls *libc.TLS, pAccum uintptr, pNew uintptr, pOld uintptr) i // Copy the contents of sample *pNew into the p->a[] array. If necessary, // remove the least desirable sample from p->a[] to make room. -func sampleInsert(tls *libc.TLS, p uintptr, pNew uintptr, nEqZero int32) { /* sqlite3.c:111635:13: */ +func sampleInsert(tls *libc.TLS, p uintptr, pNew uintptr, nEqZero int32) { /* sqlite3.c:111648:13: */ var pSample uintptr var i int32 var pOld uintptr @@ -89200,7 +89219,7 @@ __11: // p->current contains a sample that reflects the previous row of the // index. The value of anEq[iChng] and subsequent anEq[] elements are // correct at this point. -func samplePushPrevious(tls *libc.TLS, p uintptr, iChng int32) { /* sqlite3.c:111727:13: */ +func samplePushPrevious(tls *libc.TLS, p uintptr, iChng int32) { /* sqlite3.c:111740:13: */ var i int32 // Check if any samples from the aBest[] array should be pushed @@ -89252,7 +89271,7 @@ func samplePushPrevious(tls *libc.TLS, p uintptr, iChng int32) { /* sqlite3.c:11 // if it wants the byte-code to do special processing. // // The R parameter is only used for STAT4 -func statPush(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:111779:13: */ +func statPush(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:111792:13: */ var i int32 // The three function arguments @@ -89324,7 +89343,7 @@ var statPushFuncdef = FuncDef{ FnArg: int8(2 + IsStat4), FfuncFlags: U32(SQLITE_UTF8), // pNext FxSFunc: 0, // xValue, xInverse - FzName: ts + 11307} /* sqlite3.c:111854:22 */ + FzName: ts + 11307} /* sqlite3.c:111867:22 */ // Implementation of the stat_get(P,J) SQL function. This routine is // used to query statistical information that has been gathered into @@ -89343,7 +89362,7 @@ var statPushFuncdef = FuncDef{ // STAT_GET_STAT1 and is hence omitted and this routine becomes // a one-parameter function, stat_get(P), that always returns the // stat1 table entry information. -func statGet(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:111891:13: */ +func statGet(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:111904:13: */ bp := tls.Alloc(88) defer tls.Free(88) @@ -89444,9 +89463,9 @@ var statGetFuncdef = FuncDef{ FnArg: int8(1 + IsStat4), FfuncFlags: U32(SQLITE_UTF8), // pNext FxSFunc: 0, // xValue, xInverse - FzName: ts + 11334} /* sqlite3.c:111988:22 */ + FzName: ts + 11334} /* sqlite3.c:112001:22 */ -func callStatGet(tls *libc.TLS, pParse uintptr, regStat int32, iParam int32, regOut int32) { /* sqlite3.c:112000:13: */ +func callStatGet(tls *libc.TLS, pParse uintptr, regStat int32, iParam int32, regOut int32) { /* sqlite3.c:112013:13: */ Xsqlite3VdbeAddOp2(tls, (*Parse)(unsafe.Pointer(pParse)).FpVdbe, OP_Integer, iParam, regStat+1) Xsqlite3VdbeAddFunctionCall(tls, pParse, 0, regStat, regOut, 1+IsStat4, @@ -89455,7 +89474,7 @@ func callStatGet(tls *libc.TLS, pParse uintptr, regStat int32, iParam int32, reg // Generate code to do an analysis of all indices associated with // a single table. -func analyzeOneTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uintptr, iStatCur int32, iMem int32, iTab int32) { /* sqlite3.c:112041:13: */ +func analyzeOneTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uintptr, iStatCur int32, iMem int32, iTab int32) { /* sqlite3.c:112054:13: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb // Database handle var pIdx uintptr // An index to being analyzed var iIdxCur int32 // Cursor open on index being analyzed @@ -89815,7 +89834,7 @@ func analyzeOneTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uintp // Generate code that will cause the most recent index analysis to // be loaded into internal hash tables where is can be used. -func loadAnalysis(tls *libc.TLS, pParse uintptr, iDb int32) { /* sqlite3.c:112403:13: */ +func loadAnalysis(tls *libc.TLS, pParse uintptr, iDb int32) { /* sqlite3.c:112416:13: */ var v uintptr = Xsqlite3GetVdbe(tls, pParse) if v != 0 { Xsqlite3VdbeAddOp1(tls, v, OP_LoadAnalysis, iDb) @@ -89823,7 +89842,7 @@ func loadAnalysis(tls *libc.TLS, pParse uintptr, iDb int32) { /* sqlite3.c:11240 } // Generate code that will do an analysis of an entire database -func analyzeDatabase(tls *libc.TLS, pParse uintptr, iDb int32) { /* sqlite3.c:112413:13: */ +func analyzeDatabase(tls *libc.TLS, pParse uintptr, iDb int32) { /* sqlite3.c:112426:13: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb var pSchema uintptr = (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32)).FpSchema // Schema of database iDb var k uintptr @@ -89848,7 +89867,7 @@ func analyzeDatabase(tls *libc.TLS, pParse uintptr, iDb int32) { /* sqlite3.c:11 // Generate code that will do an analysis of a single table in // a database. If pOnlyIdx is not NULL then it is a single index // in pTab that should be analyzed. -func analyzeTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uintptr) { /* sqlite3.c:112440:13: */ +func analyzeTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uintptr) { /* sqlite3.c:112453:13: */ var iDb int32 var iStatCur int32 @@ -89875,7 +89894,7 @@ func analyzeTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uintptr) // Form 1 causes all indices in all attached databases to be analyzed. // Form 2 analyzes all indices the single database named. // Form 3 analyzes all indices associated with the named table. -func Xsqlite3Analyze(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 uintptr) { /* sqlite3.c:112471:21: */ +func Xsqlite3Analyze(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 uintptr) { /* sqlite3.c:112484:21: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -89938,16 +89957,16 @@ func Xsqlite3Analyze(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 uintp type analysisInfo = struct { Fdb uintptr FzDatabase uintptr -} /* sqlite3.c:112523:9 */ +} /* sqlite3.c:112536:9 */ // Used to pass information from the analyzer reader through to the // callback routine. -type AnalysisInfo = analysisInfo /* sqlite3.c:112523:29 */ +type AnalysisInfo = analysisInfo /* sqlite3.c:112536:29 */ // The first argument points to a nul-terminated string containing a // list of space separated integers. Read the first nOut of these into // the array aOut[]. -func decodeIntArray(tls *libc.TLS, zIntArray uintptr, nOut int32, aOut uintptr, aLog uintptr, pIndex uintptr) { /* sqlite3.c:112534:13: */ +func decodeIntArray(tls *libc.TLS, zIntArray uintptr, nOut int32, aOut uintptr, aLog uintptr, pIndex uintptr) { /* sqlite3.c:112547:13: */ var z uintptr = zIntArray var c int32 var i int32 @@ -90006,7 +90025,7 @@ func decodeIntArray(tls *libc.TLS, zIntArray uintptr, nOut int32, aOut uintptr, // // Entries for which argv[1]==NULL simply record the number of rows in // the table. -func analysisLoader(tls *libc.TLS, pData uintptr, argc int32, argv uintptr, NotUsed uintptr) int32 { /* sqlite3.c:112607:12: */ +func analysisLoader(tls *libc.TLS, pData uintptr, argc int32, argv uintptr, NotUsed uintptr) int32 { /* sqlite3.c:112620:12: */ bp := tls.Alloc(152) defer tls.Free(152) @@ -90068,7 +90087,7 @@ func analysisLoader(tls *libc.TLS, pData uintptr, argc int32, argv uintptr, NotU // If the Index.aSample variable is not NULL, delete the aSample[] array // and its contents. -func Xsqlite3DeleteIndexSamples(tls *libc.TLS, db uintptr, pIdx uintptr) { /* sqlite3.c:112670:21: */ +func Xsqlite3DeleteIndexSamples(tls *libc.TLS, db uintptr, pIdx uintptr) { /* sqlite3.c:112683:21: */ if (*Index)(unsafe.Pointer(pIdx)).FaSample != 0 { var j int32 for j = 0; j < (*Index)(unsafe.Pointer(pIdx)).FnSample; j++ { @@ -90085,7 +90104,7 @@ func Xsqlite3DeleteIndexSamples(tls *libc.TLS, db uintptr, pIdx uintptr) { /* sq // Populate the pIdx->aAvgEq[] array based on the samples currently // stored in pIdx->aSample[]. -func initAvgEq(tls *libc.TLS, pIdx uintptr) { /* sqlite3.c:112695:13: */ +func initAvgEq(tls *libc.TLS, pIdx uintptr) { /* sqlite3.c:112708:13: */ if pIdx != 0 { var aSample uintptr = (*Index)(unsafe.Pointer(pIdx)).FaSample var pFinal uintptr = aSample + uintptr((*Index)(unsafe.Pointer(pIdx)).FnSample-1)*40 @@ -90143,7 +90162,7 @@ func initAvgEq(tls *libc.TLS, pIdx uintptr) { /* sqlite3.c:112695:13: */ // Look up an index by name. Or, if the name of a WITHOUT ROWID table // is supplied instead, find the PRIMARY KEY index for that table. -func findIndexOrPrimaryKey(tls *libc.TLS, db uintptr, zName uintptr, zDb uintptr) uintptr { /* sqlite3.c:112754:14: */ +func findIndexOrPrimaryKey(tls *libc.TLS, db uintptr, zName uintptr, zDb uintptr) uintptr { /* sqlite3.c:112767:14: */ var pIdx uintptr = Xsqlite3FindIndex(tls, db, zName, zDb) if pIdx == uintptr(0) { var pTab uintptr = Xsqlite3FindTable(tls, db, zName, zDb) @@ -90164,7 +90183,7 @@ func findIndexOrPrimaryKey(tls *libc.TLS, db uintptr, zName uintptr, zDb uintptr // zSql2: SELECT idx,neq,nlt,ndlt,sample FROM %Q.sqlite_stat4 // // where %Q is replaced with the database name before the SQL is executed. -func loadStatTbl(tls *libc.TLS, db uintptr, zSql1 uintptr, zSql2 uintptr, zDb uintptr) int32 { /* sqlite3.c:112779:12: */ +func loadStatTbl(tls *libc.TLS, db uintptr, zSql1 uintptr, zSql2 uintptr, zDb uintptr) int32 { /* sqlite3.c:112792:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -90300,7 +90319,7 @@ func loadStatTbl(tls *libc.TLS, db uintptr, zSql1 uintptr, zSql2 uintptr, zDb ui // Load content from the sqlite_stat4 table into // the Index.aSample[] arrays of all indices. -func loadStat4(tls *libc.TLS, db uintptr, zDb uintptr) int32 { /* sqlite3.c:112900:12: */ +func loadStat4(tls *libc.TLS, db uintptr, zDb uintptr) int32 { /* sqlite3.c:112913:12: */ var rc int32 = SQLITE_OK // Result codes from subroutines var pStat4 uintptr @@ -90332,7 +90351,7 @@ func loadStat4(tls *libc.TLS, db uintptr, zDb uintptr) int32 { /* sqlite3.c:1129 // If an OOM error occurs, this function always sets db->mallocFailed. // This means if the caller does not care about other errors, the return // code may be ignored. -func Xsqlite3AnalysisLoad(tls *libc.TLS, db uintptr, iDb int32) int32 { /* sqlite3.c:112938:20: */ +func Xsqlite3AnalysisLoad(tls *libc.TLS, db uintptr, iDb int32) int32 { /* sqlite3.c:112951:20: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -90439,7 +90458,7 @@ func Xsqlite3AnalysisLoad(tls *libc.TLS, db uintptr, iDb int32) int32 { /* sqlit // ATTACH DATABASE abc||def AS 'db2' // // will fail because neither abc or def can be resolved. -func resolveAttachExpr(tls *libc.TLS, pName uintptr, pExpr uintptr) int32 { /* sqlite3.c:113046:12: */ +func resolveAttachExpr(tls *libc.TLS, pName uintptr, pExpr uintptr) int32 { /* sqlite3.c:113059:12: */ var rc int32 = SQLITE_OK if pExpr != 0 { if int32((*Expr)(unsafe.Pointer(pExpr)).Fop) != TK_ID { @@ -90453,7 +90472,7 @@ func resolveAttachExpr(tls *libc.TLS, pName uintptr, pExpr uintptr) int32 { /* s // Return true if zName points to a name that may be used to refer to // database iDb attached to handle db. -func Xsqlite3DbIsNamed(tls *libc.TLS, db uintptr, iDb int32, zName uintptr) int32 { /* sqlite3.c:113063:20: */ +func Xsqlite3DbIsNamed(tls *libc.TLS, db uintptr, iDb int32, zName uintptr) int32 { /* sqlite3.c:113076:20: */ return libc.Bool32(Xsqlite3StrICmp(tls, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(iDb)*32)).FzDbSName, zName) == 0 || iDb == 0 && Xsqlite3StrICmp(tls, ts+6316, zName) == 0) } @@ -90471,7 +90490,7 @@ func Xsqlite3DbIsNamed(tls *libc.TLS, db uintptr, iDb int32, zName uintptr) int3 // If the db->init.reopenMemdb flags is set, then instead of attaching a // new database, close the database on db->init.iDb and reopen it as an // empty MemDB. -func attachFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { /* sqlite3.c:113085:13: */ +func attachFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { /* sqlite3.c:113098:13: */ bp := tls.Alloc(64) defer tls.Free(64) @@ -90764,7 +90783,7 @@ __34: // DETACH DATABASE x // // SELECT sqlite_detach(x) -func detachFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { /* sqlite3.c:113278:13: */ +func detachFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { /* sqlite3.c:113291:13: */ bp := tls.Alloc(152) defer tls.Free(152) @@ -90869,7 +90888,7 @@ detach_error: // This procedure generates VDBE code for a single invocation of either the // sqlite_detach() or sqlite_attach() SQL user functions. -func codeAttach(tls *libc.TLS, pParse uintptr, type1 int32, pFunc uintptr, pAuthArg uintptr, pFilename uintptr, pDbname uintptr, pKey uintptr) { /* sqlite3.c:113340:13: */ +func codeAttach(tls *libc.TLS, pParse uintptr, type1 int32, pFunc uintptr, pAuthArg uintptr, pFilename uintptr, pDbname uintptr, pKey uintptr) { /* sqlite3.c:113353:13: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -90948,7 +90967,7 @@ attach_end: // Called by the parser to compile a DETACH statement. // // DETACH pDbname -func Xsqlite3Detach(tls *libc.TLS, pParse uintptr, pDbname uintptr) { /* sqlite3.c:113412:21: */ +func Xsqlite3Detach(tls *libc.TLS, pParse uintptr, pDbname uintptr) { /* sqlite3.c:113425:21: */ codeAttach(tls, pParse, SQLITE_DETACH, uintptr(unsafe.Pointer(&detach_func)), pDbname, uintptr(0), uintptr(0), pDbname) } @@ -90956,12 +90975,12 @@ var detach_func = FuncDef{ FnArg: int8(1), // nArg FfuncFlags: U32(SQLITE_UTF8), // pNext FxSFunc: 0, // xValue, xInverse - FzName: ts + 11809} /* sqlite3.c:113413:24 */ + FzName: ts + 11809} /* sqlite3.c:113426:24 */ // Called by the parser to compile an ATTACH statement. // // ATTACH p AS pDbname KEY pKey -func Xsqlite3Attach(tls *libc.TLS, pParse uintptr, p uintptr, pDbname uintptr, pKey uintptr) { /* sqlite3.c:113432:21: */ +func Xsqlite3Attach(tls *libc.TLS, pParse uintptr, p uintptr, pDbname uintptr, pKey uintptr) { /* sqlite3.c:113445:21: */ codeAttach(tls, pParse, SQLITE_ATTACH, uintptr(unsafe.Pointer(&attach_func)), p, p, pDbname, pKey) } @@ -90969,10 +90988,10 @@ var attach_func = FuncDef{ FnArg: int8(3), // nArg FfuncFlags: U32(SQLITE_UTF8), // pNext FxSFunc: 0, // xValue, xInverse - FzName: ts + 11823} /* sqlite3.c:113433:24 */ + FzName: ts + 11823} /* sqlite3.c:113446:24 */ // Expression callback used by sqlite3FixAAAA() routines. -func fixExprCb(tls *libc.TLS, p uintptr, pExpr uintptr) int32 { /* sqlite3.c:113451:12: */ +func fixExprCb(tls *libc.TLS, p uintptr, pExpr uintptr) int32 { /* sqlite3.c:113464:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -90992,7 +91011,7 @@ func fixExprCb(tls *libc.TLS, p uintptr, pExpr uintptr) int32 { /* sqlite3.c:113 } // Select callback used by sqlite3FixAAAA() routines. -func fixSelectCb(tls *libc.TLS, p uintptr, pSelect uintptr) int32 { /* sqlite3.c:113468:12: */ +func fixSelectCb(tls *libc.TLS, p uintptr, pSelect uintptr) int32 { /* sqlite3.c:113481:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -91053,7 +91072,7 @@ __3: // Initialize a DbFixer structure. This routine must be called prior // to passing the structure to one of the sqliteFixAAAA() routines below. -func Xsqlite3FixInit(tls *libc.TLS, pFix uintptr, pParse uintptr, iDb int32, zType uintptr, pName uintptr) { /* sqlite3.c:113511:21: */ +func Xsqlite3FixInit(tls *libc.TLS, pFix uintptr, pParse uintptr, iDb int32, zType uintptr, pName uintptr) { /* sqlite3.c:113524:21: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb (*DbFixer)(unsafe.Pointer(pFix)).FpParse = pParse @@ -91089,7 +91108,7 @@ func Xsqlite3FixInit(tls *libc.TLS, pFix uintptr, pParse uintptr, iDb int32, zTy // to an object in a different database, an error message is added to // pParse->zErrMsg and these routines return non-zero. If everything // checks out, these routines return 0. -func Xsqlite3FixSrcList(tls *libc.TLS, pFix uintptr, pList uintptr) int32 { /* sqlite3.c:113549:20: */ +func Xsqlite3FixSrcList(tls *libc.TLS, pFix uintptr, pList uintptr) int32 { /* sqlite3.c:113562:20: */ bp := tls.Alloc(128) defer tls.Free(128) @@ -91104,15 +91123,15 @@ func Xsqlite3FixSrcList(tls *libc.TLS, pFix uintptr, pList uintptr) int32 { /* s return res } -func Xsqlite3FixSelect(tls *libc.TLS, pFix uintptr, pSelect uintptr) int32 { /* sqlite3.c:113563:20: */ +func Xsqlite3FixSelect(tls *libc.TLS, pFix uintptr, pSelect uintptr) int32 { /* sqlite3.c:113576:20: */ return Xsqlite3WalkSelect(tls, pFix+8, pSelect) } -func Xsqlite3FixExpr(tls *libc.TLS, pFix uintptr, pExpr uintptr) int32 { /* sqlite3.c:113569:20: */ +func Xsqlite3FixExpr(tls *libc.TLS, pFix uintptr, pExpr uintptr) int32 { /* sqlite3.c:113582:20: */ return Xsqlite3WalkExpr(tls, pFix+8, pExpr) } -func Xsqlite3FixTriggerStep(tls *libc.TLS, pFix uintptr, pStep uintptr) int32 { /* sqlite3.c:113578:20: */ +func Xsqlite3FixTriggerStep(tls *libc.TLS, pFix uintptr, pStep uintptr) int32 { /* sqlite3.c:113591:20: */ for pStep != 0 { if Xsqlite3WalkSelect(tls, pFix+8, (*TriggerStep)(unsafe.Pointer(pStep)).FpSelect) != 0 || Xsqlite3WalkExpr(tls, pFix+8, (*TriggerStep)(unsafe.Pointer(pStep)).FpWhere) != 0 || @@ -91202,7 +91221,7 @@ func Xsqlite3FixTriggerStep(tls *libc.TLS, pFix uintptr, pStep uintptr) 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) int32 { /* sqlite3.c:113682:16: */ +func Xsqlite3_set_authorizer(tls *libc.TLS, db uintptr, xAuth uintptr, pArg uintptr) int32 { /* sqlite3.c:113695:16: */ Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) (*Sqlite3)(unsafe.Pointer(db)).FxAuth = xAuth (*Sqlite3)(unsafe.Pointer(db)).FpAuthArg = pArg @@ -91215,7 +91234,7 @@ func Xsqlite3_set_authorizer(tls *libc.TLS, db uintptr, xAuth uintptr, pArg uint // Write an error message into pParse->zErrMsg that explains that the // user-supplied authorization function returned an illegal value. -func sqliteAuthBadReturnCode(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:113702:13: */ +func sqliteAuthBadReturnCode(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:113715:13: */ Xsqlite3ErrorMsg(tls, pParse, ts+11907, 0) (*Parse)(unsafe.Pointer(pParse)).Frc = SQLITE_ERROR } @@ -91227,7 +91246,7 @@ func sqliteAuthBadReturnCode(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:11370 // If SQLITE_IGNORE is returned and pExpr is not NULL, then pExpr is changed // to an SQL NULL expression. Otherwise, if pExpr is NULL, then SQLITE_IGNORE // is treated as SQLITE_DENY. In this case an error is left in pParse. -func Xsqlite3AuthReadCol(tls *libc.TLS, pParse uintptr, zTab uintptr, zCol uintptr, iDb int32) int32 { /* sqlite3.c:113716:20: */ +func Xsqlite3AuthReadCol(tls *libc.TLS, pParse uintptr, zTab uintptr, zCol uintptr, iDb int32) int32 { /* sqlite3.c:113729:20: */ bp := tls.Alloc(40) defer tls.Free(40) @@ -91261,7 +91280,7 @@ func Xsqlite3AuthReadCol(tls *libc.TLS, pParse uintptr, zTab uintptr, zCol uintp // If the auth function returns SQLITE_IGNORE, change the TK_COLUMN // instruction into a TK_NULL. If the auth function returns SQLITE_DENY, // then generate an error. -func Xsqlite3AuthRead(tls *libc.TLS, pParse uintptr, pExpr uintptr, pSchema uintptr, pTabList uintptr) { /* sqlite3.c:113752:21: */ +func Xsqlite3AuthRead(tls *libc.TLS, pParse uintptr, pExpr uintptr, pSchema uintptr, pTabList uintptr) { /* sqlite3.c:113765:21: */ var pTab uintptr = uintptr(0) // The table being read var zCol uintptr // Name of the column of the table var iSrc int32 // Index in pTabList->a[] of table being read @@ -91310,7 +91329,7 @@ func Xsqlite3AuthRead(tls *libc.TLS, pParse uintptr, pExpr uintptr, pSchema uint // either SQLITE_OK (zero) or SQLITE_IGNORE or SQLITE_DENY. If SQLITE_DENY // is returned, then the error count and error message in pParse are // modified appropriately. -func Xsqlite3AuthCheck(tls *libc.TLS, pParse uintptr, code int32, zArg1 uintptr, zArg2 uintptr, zArg3 uintptr) int32 { /* sqlite3.c:113809:20: */ +func Xsqlite3AuthCheck(tls *libc.TLS, pParse uintptr, code int32, zArg1 uintptr, zArg2 uintptr, zArg3 uintptr) int32 { /* sqlite3.c:113822:20: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb var rc int32 @@ -91344,7 +91363,7 @@ func Xsqlite3AuthCheck(tls *libc.TLS, pParse uintptr, code int32, zArg1 uintptr, // Push an authorization context. After this routine is called, the // zArg3 argument to authorization callbacks will be zContext until // popped. Or if pParse==0, this routine is a no-op. -func Xsqlite3AuthContextPush(tls *libc.TLS, pParse uintptr, pContext uintptr, zContext uintptr) { /* sqlite3.c:113858:21: */ +func Xsqlite3AuthContextPush(tls *libc.TLS, pParse uintptr, pContext uintptr, zContext uintptr) { /* sqlite3.c:113871:21: */ (*AuthContext)(unsafe.Pointer(pContext)).FpParse = pParse (*AuthContext)(unsafe.Pointer(pContext)).FzAuthContext = (*Parse)(unsafe.Pointer(pParse)).FzAuthContext @@ -91353,7 +91372,7 @@ func Xsqlite3AuthContextPush(tls *libc.TLS, pParse uintptr, pContext uintptr, zC // Pop an authorization context that was previously pushed // by sqlite3AuthContextPush -func Xsqlite3AuthContextPop(tls *libc.TLS, pContext uintptr) { /* sqlite3.c:113873:21: */ +func Xsqlite3AuthContextPop(tls *libc.TLS, pContext uintptr) { /* sqlite3.c:113886:21: */ if (*AuthContext)(unsafe.Pointer(pContext)).FpParse != 0 { (*Parse)(unsafe.Pointer((*AuthContext)(unsafe.Pointer(pContext)).FpParse)).FzAuthContext = (*AuthContext)(unsafe.Pointer(pContext)).FzAuthContext (*AuthContext)(unsafe.Pointer(pContext)).FpParse = uintptr(0) @@ -91368,7 +91387,7 @@ func Xsqlite3AuthContextPop(tls *libc.TLS, pContext uintptr) { /* sqlite3.c:1138 // This routine just records the fact that the lock is desired. The // code to make the lock occur is generated by a later call to // codeTableLocks() which occurs during sqlite3FinishCoding(). -func lockTable(tls *libc.TLS, pParse uintptr, iDb int32, iTab Pgno, isWriteLock U8, zName uintptr) { /* sqlite3.c:113932:29: */ +func lockTable(tls *libc.TLS, pParse uintptr, iDb int32, iTab Pgno, isWriteLock U8, zName uintptr) { /* sqlite3.c:113945:29: */ var pToplevel uintptr var i int32 var nBytes int32 @@ -91402,7 +91421,7 @@ func lockTable(tls *libc.TLS, pParse uintptr, iDb int32, iTab Pgno, isWriteLock } } -func Xsqlite3TableLock(tls *libc.TLS, pParse uintptr, iDb int32, iTab Pgno, isWriteLock U8, zName uintptr) { /* sqlite3.c:113968:21: */ +func Xsqlite3TableLock(tls *libc.TLS, pParse uintptr, iDb int32, iTab Pgno, isWriteLock U8, zName uintptr) { /* sqlite3.c:113981:21: */ if iDb == 1 { return } @@ -91414,7 +91433,7 @@ func Xsqlite3TableLock(tls *libc.TLS, pParse uintptr, iDb int32, iTab Pgno, isWr // Code an OP_TableLock instruction for each table locked by the // statement (configured by calls to sqlite3TableLock()). -func codeTableLocks(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:113984:13: */ +func codeTableLocks(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:113997:13: */ var i int32 var pVdbe uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe @@ -91438,7 +91457,7 @@ func codeTableLocks(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:113984:13: */ // // Note that if an error occurred, it might be the case that // no VDBE code was generated. -func Xsqlite3FinishCoding(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:114023:21: */ +func Xsqlite3FinishCoding(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:114036:21: */ var db uintptr var v uintptr @@ -91591,7 +91610,7 @@ func Xsqlite3FinishCoding(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:114023:2 // * Built-in SQL functions always take precedence over application-defined // SQL functions. In other words, it is not possible to override a // built-in function. -func Xsqlite3NestedParse(tls *libc.TLS, pParse uintptr, zFormat uintptr, va uintptr) { /* sqlite3.c:114194:21: */ +func Xsqlite3NestedParse(tls *libc.TLS, pParse uintptr, zFormat uintptr, va uintptr) { /* sqlite3.c:114207:21: */ bp := tls.Alloc(136) defer tls.Free(136) @@ -91642,7 +91661,7 @@ func Xsqlite3NestedParse(tls *libc.TLS, pParse uintptr, zFormat uintptr, va uint // auxiliary databases added using the ATTACH command. // // See also sqlite3LocateTable(). -func Xsqlite3FindTable(tls *libc.TLS, db uintptr, zName uintptr, zDatabase uintptr) uintptr { /* sqlite3.c:114249:22: */ +func Xsqlite3FindTable(tls *libc.TLS, db uintptr, zName uintptr, zDatabase uintptr) uintptr { /* sqlite3.c:114262:22: */ var p uintptr = uintptr(0) var i int32 @@ -91718,7 +91737,7 @@ func Xsqlite3FindTable(tls *libc.TLS, db uintptr, zName uintptr, zDatabase uintp // The difference between this routine and sqlite3FindTable() is that this // routine leaves an error message in pParse->zErrMsg where // sqlite3FindTable() does not. -func Xsqlite3LocateTable(tls *libc.TLS, pParse uintptr, flags U32, zName uintptr, zDbase uintptr) uintptr { /* sqlite3.c:114327:22: */ +func Xsqlite3LocateTable(tls *libc.TLS, pParse uintptr, flags U32, zName uintptr, zDbase uintptr) uintptr { /* sqlite3.c:114340:22: */ bp := tls.Alloc(40) defer tls.Free(40) @@ -91781,7 +91800,7 @@ func Xsqlite3LocateTable(tls *libc.TLS, pParse uintptr, flags U32, zName uintptr // the search to schema (p->pSchema) if it is not NULL. p->pSchema may be // non-NULL if it is part of a view or trigger program definition. See // sqlite3FixSrcList() for details. -func Xsqlite3LocateTableItem(tls *libc.TLS, pParse uintptr, flags U32, p uintptr) uintptr { /* sqlite3.c:114390:22: */ +func Xsqlite3LocateTableItem(tls *libc.TLS, pParse uintptr, flags U32, p uintptr) uintptr { /* sqlite3.c:114403:22: */ var zDb uintptr if (*SrcItem)(unsafe.Pointer(p)).FpSchema != 0 { @@ -91795,7 +91814,7 @@ func Xsqlite3LocateTableItem(tls *libc.TLS, pParse uintptr, flags U32, p uintptr // Return the preferred table name for system tables. Translate legacy // names into the new preferred names, as appropriate. -func Xsqlite3PreferredTableName(tls *libc.TLS, zName uintptr) uintptr { /* sqlite3.c:114410:27: */ +func Xsqlite3PreferredTableName(tls *libc.TLS, zName uintptr) uintptr { /* sqlite3.c:114423:27: */ if Xsqlite3_strnicmp(tls, zName, ts+8003, 7) == 0 { if Xsqlite3StrICmp(tls, zName+uintptr(7), ts+5828+7) == 0 { return ts + 12003 /* "sqlite_schema" */ @@ -91817,7 +91836,7 @@ func Xsqlite3PreferredTableName(tls *libc.TLS, zName uintptr) uintptr { /* sqlit // for duplicate index names is done.) The search order is // TEMP first, then MAIN, then any auxiliary databases added // using the ATTACH command. -func Xsqlite3FindIndex(tls *libc.TLS, db uintptr, zName uintptr, zDb uintptr) uintptr { /* sqlite3.c:114434:22: */ +func Xsqlite3FindIndex(tls *libc.TLS, db uintptr, zName uintptr, zDb uintptr) uintptr { /* sqlite3.c:114447:22: */ var p uintptr = uintptr(0) var i int32 // All mutexes are required for schema access. Make sure we hold them. @@ -91844,7 +91863,7 @@ func Xsqlite3FindIndex(tls *libc.TLS, db uintptr, zName uintptr, zDb uintptr) ui } // Reclaim the memory used by an index -func Xsqlite3FreeIndex(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:114454:21: */ +func Xsqlite3FreeIndex(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:114467:21: */ Xsqlite3DeleteIndexSamples(tls, db, p) Xsqlite3ExprDelete(tls, db, (*Index)(unsafe.Pointer(p)).FpPartIdxWhere) Xsqlite3ExprListDelete(tls, db, (*Index)(unsafe.Pointer(p)).FaColExpr) @@ -91860,7 +91879,7 @@ func Xsqlite3FreeIndex(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:1144 // unlike that index from its Table then remove the index from // the index hash table and free all memory structures associated // with the index. -func Xsqlite3UnlinkAndDeleteIndex(tls *libc.TLS, db uintptr, iDb int32, zIdxName uintptr) { /* sqlite3.c:114474:21: */ +func Xsqlite3UnlinkAndDeleteIndex(tls *libc.TLS, db uintptr, iDb int32, zIdxName uintptr) { /* sqlite3.c:114487:21: */ var pIndex uintptr var pHash uintptr @@ -91892,7 +91911,7 @@ func Xsqlite3UnlinkAndDeleteIndex(tls *libc.TLS, db uintptr, iDb int32, zIdxName // // Entry 0 (the "main" database) and entry 1 (the "temp" database) // are never candidates for being collapsed. -func Xsqlite3CollapseDatabaseArray(tls *libc.TLS, db uintptr) { /* sqlite3.c:114507:21: */ +func Xsqlite3CollapseDatabaseArray(tls *libc.TLS, db uintptr) { /* sqlite3.c:114520:21: */ var i int32 var j int32 for i = libc.AssignInt32(&j, 2); i < (*Sqlite3)(unsafe.Pointer(db)).FnDb; i++ { @@ -91918,7 +91937,7 @@ func Xsqlite3CollapseDatabaseArray(tls *libc.TLS, db uintptr) { /* sqlite3.c:114 // Reset the schema for the database at index iDb. Also reset the // TEMP schema. The reset is deferred if db->nSchemaLock is not zero. // Deferred resets may be run by calling with iDb<0. -func Xsqlite3ResetOneSchema(tls *libc.TLS, db uintptr, iDb int32) { /* sqlite3.c:114534:21: */ +func Xsqlite3ResetOneSchema(tls *libc.TLS, db uintptr, iDb int32) { /* sqlite3.c:114547:21: */ var i int32 if iDb >= 0 { @@ -91939,7 +91958,7 @@ func Xsqlite3ResetOneSchema(tls *libc.TLS, db uintptr, iDb int32) { /* sqlite3.c // Erase all schema information from all attached databases (including // "main" and "temp") for a single database connection. -func Xsqlite3ResetAllSchemasOfConnection(tls *libc.TLS, db uintptr) { /* sqlite3.c:114558:21: */ +func Xsqlite3ResetAllSchemasOfConnection(tls *libc.TLS, db uintptr) { /* sqlite3.c:114571:21: */ var i int32 Xsqlite3BtreeEnterAll(tls, db) for i = 0; i < (*Sqlite3)(unsafe.Pointer(db)).FnDb; i++ { @@ -91961,14 +91980,14 @@ func Xsqlite3ResetAllSchemasOfConnection(tls *libc.TLS, db uintptr) { /* sqlite3 } // This routine is called when a commit occurs. -func Xsqlite3CommitInternalChanges(tls *libc.TLS, db uintptr) { /* sqlite3.c:114582:21: */ +func Xsqlite3CommitInternalChanges(tls *libc.TLS, db uintptr) { /* sqlite3.c:114595:21: */ *(*U32)(unsafe.Pointer(db + 44)) &= libc.Uint32FromInt32(libc.CplInt32(DBFLAG_SchemaChange)) } // Set the expression associated with a column. This is usually // the DEFAULT value, but might also be the expression that computes // the value for a generated column. -func Xsqlite3ColumnSetExpr(tls *libc.TLS, pParse uintptr, pTab uintptr, pCol uintptr, pExpr uintptr) { /* sqlite3.c:114591:21: */ +func Xsqlite3ColumnSetExpr(tls *libc.TLS, pParse uintptr, pTab uintptr, pCol uintptr, pExpr uintptr) { /* sqlite3.c:114604:21: */ var pList uintptr pList = *(*uintptr)(unsafe.Pointer(pTab + 64 + 16 /* &.pDfltList */)) @@ -91991,7 +92010,7 @@ func Xsqlite3ColumnSetExpr(tls *libc.TLS, pParse uintptr, pTab uintptr, pCol uin // Return the expression associated with a column. The expression might be // the DEFAULT clause or the AS clause of a generated column. // Return NULL if the column has no associated expression. -func Xsqlite3ColumnExpr(tls *libc.TLS, pTab uintptr, pCol uintptr) uintptr { /* sqlite3.c:114617:21: */ +func Xsqlite3ColumnExpr(tls *libc.TLS, pTab uintptr, pCol uintptr) uintptr { /* sqlite3.c:114630:21: */ if int32((*Column)(unsafe.Pointer(pCol)).FiDflt) == 0 { return uintptr(0) } @@ -92008,7 +92027,7 @@ func Xsqlite3ColumnExpr(tls *libc.TLS, pTab uintptr, pCol uintptr) uintptr { /* } // Set the collating sequence name for a column. -func Xsqlite3ColumnSetColl(tls *libc.TLS, db uintptr, pCol uintptr, zColl uintptr) { /* sqlite3.c:114628:21: */ +func Xsqlite3ColumnSetColl(tls *libc.TLS, db uintptr, pCol uintptr, zColl uintptr) { /* sqlite3.c:114641:21: */ var nColl I64 var n I64 var zNew uintptr @@ -92027,7 +92046,7 @@ func Xsqlite3ColumnSetColl(tls *libc.TLS, db uintptr, pCol uintptr, zColl uintpt } // Return the collating squence name for a column -func Xsqlite3ColumnColl(tls *libc.TLS, pCol uintptr) uintptr { /* sqlite3.c:114653:27: */ +func Xsqlite3ColumnColl(tls *libc.TLS, pCol uintptr) uintptr { /* sqlite3.c:114666:27: */ var z uintptr if int32((*Column)(unsafe.Pointer(pCol)).FcolFlags)&COLFLAG_HASCOLL == 0 { return uintptr(0) @@ -92046,7 +92065,7 @@ func Xsqlite3ColumnColl(tls *libc.TLS, pCol uintptr) uintptr { /* sqlite3.c:1146 // Delete memory allocated for the column names of a table or view (the // Table.aCol[] array). -func Xsqlite3DeleteColumnNames(tls *libc.TLS, db uintptr, pTable uintptr) { /* sqlite3.c:114668:21: */ +func Xsqlite3DeleteColumnNames(tls *libc.TLS, db uintptr, pTable uintptr) { /* sqlite3.c:114681:21: */ var i int32 var pCol uintptr @@ -92096,7 +92115,7 @@ func Xsqlite3DeleteColumnNames(tls *libc.TLS, db uintptr, pTable uintptr) { /* s // lookaside memory, but some ephemeral Table objects do.) Or the // db parameter can be used with db->pnBytesFreed to measure the memory // used by the Table object. -func deleteTable(tls *libc.TLS, db uintptr, pTable uintptr) { /* sqlite3.c:114706:29: */ +func deleteTable(tls *libc.TLS, db uintptr, pTable uintptr) { /* sqlite3.c:114719:29: */ var pIndex uintptr var pNext uintptr @@ -92133,7 +92152,7 @@ func deleteTable(tls *libc.TLS, db uintptr, pTable uintptr) { /* sqlite3.c:11470 } -func Xsqlite3DeleteTable(tls *libc.TLS, db uintptr, pTable uintptr) { /* sqlite3.c:114763:21: */ +func Xsqlite3DeleteTable(tls *libc.TLS, db uintptr, pTable uintptr) { /* sqlite3.c:114776:21: */ // Do not delete the table until the reference count reaches zero. if !(pTable != 0) { return @@ -92146,7 +92165,7 @@ func Xsqlite3DeleteTable(tls *libc.TLS, db uintptr, pTable uintptr) { /* sqlite3 // Unlink the given table from the hash tables and the delete the // table structure with all its indices and foreign keys. -func Xsqlite3UnlinkAndDeleteTable(tls *libc.TLS, db uintptr, iDb int32, zTabName uintptr) { /* sqlite3.c:114775:21: */ +func Xsqlite3UnlinkAndDeleteTable(tls *libc.TLS, db uintptr, iDb int32, zTabName uintptr) { /* sqlite3.c:114788:21: */ var p uintptr var pDb uintptr @@ -92168,7 +92187,7 @@ func Xsqlite3UnlinkAndDeleteTable(tls *libc.TLS, db uintptr, iDb int32, zTabName // Tokens are often just pointers into the original SQL text and so // are not \000 terminated and are not persistent. The returned string // is \000 terminated and is persistent. -func Xsqlite3NameFromToken(tls *libc.TLS, db uintptr, pName uintptr) uintptr { /* sqlite3.c:114803:21: */ +func Xsqlite3NameFromToken(tls *libc.TLS, db uintptr, pName uintptr) uintptr { /* sqlite3.c:114816:21: */ var zName uintptr if pName != 0 { zName = Xsqlite3DbStrNDup(tls, db, (*Token)(unsafe.Pointer(pName)).Fz, uint64((*Token)(unsafe.Pointer(pName)).Fn)) @@ -92181,7 +92200,7 @@ func Xsqlite3NameFromToken(tls *libc.TLS, db uintptr, pName uintptr) uintptr { / // Open the sqlite_schema table stored in database number iDb for // writing. The table is opened using cursor 0. -func Xsqlite3OpenSchemaTable(tls *libc.TLS, p uintptr, iDb int32) { /* sqlite3.c:114818:21: */ +func Xsqlite3OpenSchemaTable(tls *libc.TLS, p uintptr, iDb int32) { /* sqlite3.c:114831:21: */ var v uintptr = Xsqlite3GetVdbe(tls, p) Xsqlite3TableLock(tls, p, iDb, uint32(SCHEMA_ROOT), uint8(1), ts+5828) Xsqlite3VdbeAddOp4Int(tls, v, OP_OpenWrite, 0, SCHEMA_ROOT, iDb, 5) @@ -92194,7 +92213,7 @@ func Xsqlite3OpenSchemaTable(tls *libc.TLS, p uintptr, iDb int32) { /* sqlite3.c // of a database ("main", "temp" or the name of an attached db). This // function returns the index of the named database in db->aDb[], or // -1 if the named db cannot be found. -func Xsqlite3FindDbName(tls *libc.TLS, db uintptr, zName uintptr) int32 { /* sqlite3.c:114833:20: */ +func Xsqlite3FindDbName(tls *libc.TLS, db uintptr, zName uintptr) int32 { /* sqlite3.c:114846:20: */ var i int32 = -1 // Database number if zName != 0 { var pDb uintptr @@ -92230,7 +92249,7 @@ func Xsqlite3FindDbName(tls *libc.TLS, db uintptr, zName uintptr) int32 { /* sql // "temp" or the name of an attached db). This routine returns the // index of the named database in db->aDb[], or -1 if the named db // does not exist. -func Xsqlite3FindDb(tls *libc.TLS, db uintptr, pName uintptr) int32 { /* sqlite3.c:114853:20: */ +func Xsqlite3FindDb(tls *libc.TLS, db uintptr, pName uintptr) int32 { /* sqlite3.c:114866:20: */ var i int32 // Database number var zName uintptr // Name we are searching for zName = Xsqlite3NameFromToken(tls, db, pName) @@ -92254,7 +92273,7 @@ func Xsqlite3FindDb(tls *libc.TLS, db uintptr, pName uintptr) int32 { /* sqlite3 // This routine sets the *ppUnqual pointer to point at the token (pName1 or // pName2) that stores the unqualified table name. The index of the // database "xxx" is returned. -func Xsqlite3TwoPartName(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 uintptr, pUnqual uintptr) int32 { /* sqlite3.c:114878:20: */ +func Xsqlite3TwoPartName(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 uintptr, pUnqual uintptr) int32 { /* sqlite3.c:114891:20: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -92281,7 +92300,7 @@ func Xsqlite3TwoPartName(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 u } // True if PRAGMA writable_schema is ON -func Xsqlite3WritableSchema(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:114911:20: */ +func Xsqlite3WritableSchema(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:114924:20: */ return libc.Bool32((*Sqlite3)(unsafe.Pointer(db)).Fflags&uint64(SQLITE_WriteSchema|SQLITE_Defensive) == uint64(SQLITE_WriteSchema)) } @@ -92295,7 +92314,7 @@ func Xsqlite3WritableSchema(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:1149 // When parsing the sqlite_schema table, this routine also checks to // make sure the "type", "name", and "tbl_name" columns are consistent // with the SQL. -func Xsqlite3CheckObjectName(tls *libc.TLS, pParse uintptr, zName uintptr, zType uintptr, zTblName uintptr) int32 { /* sqlite3.c:114933:20: */ +func Xsqlite3CheckObjectName(tls *libc.TLS, pParse uintptr, zName uintptr, zType uintptr, zTblName uintptr) int32 { /* sqlite3.c:114946:20: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -92326,7 +92345,7 @@ func Xsqlite3CheckObjectName(tls *libc.TLS, pParse uintptr, zName uintptr, zType } // Return the PRIMARY KEY index of a table -func Xsqlite3PrimaryKeyIndex(tls *libc.TLS, pTab uintptr) uintptr { /* sqlite3.c:114971:22: */ +func Xsqlite3PrimaryKeyIndex(tls *libc.TLS, pTab uintptr) uintptr { /* sqlite3.c:114984:22: */ var p uintptr for p = (*Table)(unsafe.Pointer(pTab)).FpIndex; p != 0 && !(int32(*(*uint16)(unsafe.Pointer(p + 100 /* &.idxType */))&0x3>>0) == SQLITE_IDXTYPE_PRIMARYKEY); p = (*Index)(unsafe.Pointer(p)).FpNext { } @@ -92337,7 +92356,7 @@ func Xsqlite3PrimaryKeyIndex(tls *libc.TLS, pTab uintptr) uintptr { /* sqlite3.c // for the column iCol in the table (as defined by the CREATE TABLE statement) // find the (first) offset of that column in index pIdx. Or return -1 // if column iCol is not used in index pIdx. -func Xsqlite3TableColumnToIndex(tls *libc.TLS, pIdx uintptr, iCol I16) I16 { /* sqlite3.c:114983:20: */ +func Xsqlite3TableColumnToIndex(tls *libc.TLS, pIdx uintptr, iCol I16) I16 { /* sqlite3.c:114996:20: */ var i int32 for i = 0; i < int32((*Index)(unsafe.Pointer(pIdx)).FnColumn); i++ { if int32(iCol) == int32(*(*I16)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FaiColumn + uintptr(i)*2))) { @@ -92357,7 +92376,7 @@ func Xsqlite3TableColumnToIndex(tls *libc.TLS, pIdx uintptr, iCol I16) I16 { /* // and only there are VIRTUAL columns to the left. // // If SQLITE_OMIT_GENERATED_COLUMNS, this routine is a no-op macro. -func Xsqlite3StorageColumnToTable(tls *libc.TLS, pTab uintptr, iCol I16) I16 { /* sqlite3.c:115003:20: */ +func Xsqlite3StorageColumnToTable(tls *libc.TLS, pTab uintptr, iCol I16) I16 { /* sqlite3.c:115016:20: */ if (*Table)(unsafe.Pointer(pTab)).FtabFlags&U32(TF_HasVirtual) != 0 { var i int32 for i = 0; i <= int32(iCol); i++ { @@ -92404,7 +92423,7 @@ func Xsqlite3StorageColumnToTable(tls *libc.TLS, pTab uintptr, iCol I16) I16 { / // this routine is a no-op macro. If the pTab does not have any virtual // columns, then this routine is no-op that always return iCol. If iCol // is negative (indicating the ROWID column) then this routine return iCol. -func Xsqlite3TableColumnToStorage(tls *libc.TLS, pTab uintptr, iCol I16) I16 { /* sqlite3.c:115051:20: */ +func Xsqlite3TableColumnToStorage(tls *libc.TLS, pTab uintptr, iCol I16) I16 { /* sqlite3.c:115064:20: */ var i int32 var n I16 @@ -92434,7 +92453,7 @@ func Xsqlite3TableColumnToStorage(tls *libc.TLS, pTab uintptr, iCol I16) I16 { / // exists, so that the prepared statement for CREATE TABLE IF NOT EXISTS // will return false for sqlite3_stmt_readonly() even if that statement // is a read-only no-op. -func sqlite3ForceNotReadOnly(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:115077:13: */ +func sqlite3ForceNotReadOnly(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:115090:13: */ var iReg int32 = libc.PreIncInt32(&(*Parse)(unsafe.Pointer(pParse)).FnMem, 1) var v uintptr = Xsqlite3GetVdbe(tls, pParse) if v != 0 { @@ -92457,7 +92476,7 @@ func sqlite3ForceNotReadOnly(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:11507 // routines will be called to add more information to this record. // At the end of the CREATE TABLE statement, the sqlite3EndTable() routine // is called to complete the construction of the new table record. -func Xsqlite3StartTable(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 uintptr, isTemp int32, isView int32, isVirtual int32, noErr int32) { /* sqlite3.c:115102:21: */ +func Xsqlite3StartTable(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 uintptr, isTemp int32, isView int32, isVirtual int32, noErr int32) { /* sqlite3.c:115115:21: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -92715,8 +92734,8 @@ var aCode = [4]U8{ U8(SQLITE_CREATE_TEMP_TABLE), U8(SQLITE_CREATE_VIEW), U8(SQLITE_CREATE_TEMP_VIEW), -} /* sqlite3.c:115149:21 */ -var nullRow = [6]int8{int8(6), int8(0), int8(0), int8(0), int8(0), int8(0)} /* sqlite3.c:115228:23 */ +} /* sqlite3.c:115162:21 */ +var nullRow = [6]int8{int8(6), int8(0), int8(0), int8(0), int8(0), int8(0)} /* sqlite3.c:115241:23 */ // Set properties of a table column based on the (magical) // name of the column. @@ -92726,7 +92745,7 @@ var nullRow = [6]int8{int8(6), int8(0), int8(0), int8(0), int8(0), int8(0)} /* s // with any application-generated triggers. // Clean up the data structures associated with the RETURNING clause. -func sqlite3DeleteReturning(tls *libc.TLS, db uintptr, pRet uintptr) { /* sqlite3.c:115313:13: */ +func sqlite3DeleteReturning(tls *libc.TLS, db uintptr, pRet uintptr) { /* sqlite3.c:115326:13: */ var pHash uintptr pHash = (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+1*32)).FpSchema + 56 Xsqlite3HashInsert(tls, pHash, ts+12247, uintptr(0)) @@ -92748,7 +92767,7 @@ func sqlite3DeleteReturning(tls *libc.TLS, db uintptr, pRet uintptr) { /* sqlite // is attached to a DELETE, INSERT, or UPDATE, so construct it as a // RETURNING trigger instead. It will then be converted into the appropriate // type on the first call to sqlite3TriggersExist(). -func Xsqlite3AddReturning(tls *libc.TLS, pParse uintptr, pList uintptr) { /* sqlite3.c:115337:21: */ +func Xsqlite3AddReturning(tls *libc.TLS, pParse uintptr, pList uintptr) { /* sqlite3.c:115350:21: */ var pRet uintptr var pHash uintptr var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb @@ -92798,7 +92817,7 @@ func Xsqlite3AddReturning(tls *libc.TLS, pParse uintptr, pList uintptr) { /* sql // in a CREATE TABLE statement. sqlite3StartTable() gets called // first to get things going. Then this routine is called for each // column. -func Xsqlite3AddColumn(tls *libc.TLS, pParse uintptr, sName Token, sType Token) { /* sqlite3.c:115385:21: */ +func Xsqlite3AddColumn(tls *libc.TLS, pParse uintptr, sName Token, sType Token) { /* sqlite3.c:115398:21: */ bp := tls.Alloc(48) defer tls.Free(48) *(*Token)(unsafe.Pointer(bp + 16)) = sName @@ -92917,7 +92936,7 @@ func Xsqlite3AddColumn(tls *libc.TLS, pParse uintptr, sName Token, sType Token) // parsing a CREATE TABLE statement. A "NOT NULL" constraint has // been seen on a column. This routine sets the notNull flag on // the column currently under construction. -func Xsqlite3AddNotNull(tls *libc.TLS, pParse uintptr, onError int32) { /* sqlite3.c:115498:21: */ +func Xsqlite3AddNotNull(tls *libc.TLS, pParse uintptr, onError int32) { /* sqlite3.c:115511:21: */ var p uintptr var pCol uintptr p = (*Parse)(unsafe.Pointer(pParse)).FpNewTable @@ -92964,7 +92983,7 @@ func Xsqlite3AddNotNull(tls *libc.TLS, pParse uintptr, onError int32) { /* sqlit // // If none of the substrings in the above table are found, // SQLITE_AFF_NUMERIC is returned. -func Xsqlite3AffinityType(tls *libc.TLS, zIn uintptr, pCol uintptr) int8 { /* sqlite3.c:115545:21: */ +func Xsqlite3AffinityType(tls *libc.TLS, zIn uintptr, pCol uintptr) int8 { /* sqlite3.c:115558:21: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -93038,7 +93057,7 @@ func Xsqlite3AffinityType(tls *libc.TLS, zIn uintptr, pCol uintptr) int8 { /* sq // // This routine is called by the parser while in the middle of // parsing a CREATE TABLE statement. -func Xsqlite3AddDefaultValue(tls *libc.TLS, pParse uintptr, pExpr uintptr, zStart uintptr, zEnd uintptr) { /* sqlite3.c:115622:21: */ +func Xsqlite3AddDefaultValue(tls *libc.TLS, pParse uintptr, pExpr uintptr, zStart uintptr, zEnd uintptr) { /* sqlite3.c:115635:21: */ bp := tls.Alloc(80) defer tls.Free(80) @@ -93091,7 +93110,7 @@ func Xsqlite3AddDefaultValue(tls *libc.TLS, pParse uintptr, pExpr uintptr, zStar // if the expression is just a TK_STRING with an optional COLLATE clause. // If the expression is anything other than TK_STRING, the expression is // unchanged. -func sqlite3StringToId(tls *libc.TLS, p uintptr) { /* sqlite3.c:115681:13: */ +func sqlite3StringToId(tls *libc.TLS, p uintptr) { /* sqlite3.c:115694:13: */ if int32((*Expr)(unsafe.Pointer(p)).Fop) == TK_STRING { (*Expr)(unsafe.Pointer(p)).Fop = U8(TK_ID) } else if int32((*Expr)(unsafe.Pointer(p)).Fop) == TK_COLLATE && int32((*Expr)(unsafe.Pointer((*Expr)(unsafe.Pointer(p)).FpLeft)).Fop) == TK_STRING { @@ -93100,7 +93119,7 @@ func sqlite3StringToId(tls *libc.TLS, p uintptr) { /* sqlite3.c:115681:13: */ } // Tag the given column as being part of the PRIMARY KEY -func makeColumnPartOfPrimaryKey(tls *libc.TLS, pParse uintptr, pCol uintptr) { /* sqlite3.c:115692:13: */ +func makeColumnPartOfPrimaryKey(tls *libc.TLS, pParse uintptr, pCol uintptr) { /* sqlite3.c:115705:13: */ *(*U16)(unsafe.Pointer(pCol + 16)) |= U16(COLFLAG_PRIMKEY) if int32((*Column)(unsafe.Pointer(pCol)).FcolFlags)&COLFLAG_GENERATED != 0 { @@ -93125,7 +93144,7 @@ func makeColumnPartOfPrimaryKey(tls *libc.TLS, pParse uintptr, pCol uintptr) { / // // If the key is not an INTEGER PRIMARY KEY, then create a unique // index for the key. No index is created for INTEGER PRIMARY KEYs. -func Xsqlite3AddPrimaryKey(tls *libc.TLS, pParse uintptr, pList uintptr, onError int32, autoInc int32, sortOrder int32) { /* sqlite3.c:115722:21: */ +func Xsqlite3AddPrimaryKey(tls *libc.TLS, pParse uintptr, pList uintptr, onError int32, autoInc int32, sortOrder int32) { /* sqlite3.c:115735:21: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -93256,7 +93275,7 @@ primary_key_exit: } // Add a new CHECK constraint to the table currently under construction. -func Xsqlite3AddCheckConstraint(tls *libc.TLS, pParse uintptr, pCheckExpr uintptr, zStart uintptr, zEnd uintptr) { /* sqlite3.c:115799:21: */ +func Xsqlite3AddCheckConstraint(tls *libc.TLS, pParse uintptr, pCheckExpr uintptr, zStart uintptr, zEnd uintptr) { /* sqlite3.c:115812:21: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -93286,7 +93305,7 @@ func Xsqlite3AddCheckConstraint(tls *libc.TLS, pParse uintptr, pCheckExpr uintpt // Set the collation function of the most recently parsed table column // to the CollSeq given. -func Xsqlite3AddCollateType(tls *libc.TLS, pParse uintptr, pToken uintptr) { /* sqlite3.c:115833:21: */ +func Xsqlite3AddCollateType(tls *libc.TLS, pParse uintptr, pToken uintptr) { /* sqlite3.c:115846:21: */ var p uintptr var i int32 var zColl uintptr // Dequoted name of collation sequence @@ -93321,7 +93340,7 @@ func Xsqlite3AddCollateType(tls *libc.TLS, pParse uintptr, pToken uintptr) { /* // Change the most recently parsed column to be a GENERATED ALWAYS AS // column. -func Xsqlite3AddGenerated(tls *libc.TLS, pParse uintptr, pExpr uintptr, pType uintptr) { /* sqlite3.c:115866:21: */ +func Xsqlite3AddGenerated(tls *libc.TLS, pParse uintptr, pExpr uintptr, pType uintptr) { /* sqlite3.c:115879:21: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -93416,7 +93435,7 @@ generated_done: // // IMPLEMENTATION-OF: R-34230-56049 SQLite automatically increments // the schema-version whenever the schema changes. -func Xsqlite3ChangeCookie(tls *libc.TLS, pParse uintptr, iDb int32) { /* sqlite3.c:115934:21: */ +func Xsqlite3ChangeCookie(tls *libc.TLS, pParse uintptr, iDb int32) { /* sqlite3.c:115947:21: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe @@ -93430,7 +93449,7 @@ func Xsqlite3ChangeCookie(tls *libc.TLS, pParse uintptr, iDb int32) { /* sqlite3 // // The estimate is conservative. It might be larger that what is // really needed. -func identLength(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:115950:12: */ +func identLength(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:115963:12: */ var n int32 n = 0 __1: @@ -93465,7 +93484,7 @@ __3: // characters, does not begin with a digit and is not an SQL keyword, // then it is copied to the output buffer exactly as it is. Otherwise, // it is quoted using double-quotes. -func identPut(tls *libc.TLS, z uintptr, pIdx uintptr, zSignedIdent uintptr) { /* sqlite3.c:115971:13: */ +func identPut(tls *libc.TLS, z uintptr, pIdx uintptr, zSignedIdent uintptr) { /* sqlite3.c:115984:13: */ var zIdent uintptr = zSignedIdent var i int32 var j int32 @@ -93501,7 +93520,7 @@ func identPut(tls *libc.TLS, z uintptr, pIdx uintptr, zSignedIdent uintptr) { /* // Generate a CREATE TABLE statement appropriate for the given // table. Memory to hold the text of the statement is obtained // from sqliteMalloc() and must be freed by the calling function. -func createTableStmt(tls *libc.TLS, db uintptr, p uintptr) uintptr { /* sqlite3.c:115999:13: */ +func createTableStmt(tls *libc.TLS, db uintptr, p uintptr) uintptr { /* sqlite3.c:116012:13: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -93593,11 +93612,11 @@ var azType1 = [5]uintptr{ ts + 12722, ts + 12727, ts + 12732, -} /* sqlite3.c:116029:23 */ +} /* sqlite3.c:116042:23 */ // Resize an Index object to hold N columns total. Return SQLITE_OK // on success and SQLITE_NOMEM on an OOM error. -func resizeIndexObject(tls *libc.TLS, db uintptr, pIdx uintptr, N int32) int32 { /* sqlite3.c:116067:12: */ +func resizeIndexObject(tls *libc.TLS, db uintptr, pIdx uintptr, N int32) int32 { /* sqlite3.c:116080:12: */ var zExtra uintptr var nByte int32 if int32((*Index)(unsafe.Pointer(pIdx)).FnColumn) >= N { @@ -93626,7 +93645,7 @@ func resizeIndexObject(tls *libc.TLS, db uintptr, pIdx uintptr, N int32) int32 { } // Estimate the total row width for a table. -func estimateTableWidth(tls *libc.TLS, pTab uintptr) { /* sqlite3.c:116094:13: */ +func estimateTableWidth(tls *libc.TLS, pTab uintptr) { /* sqlite3.c:116107:13: */ var wTable uint32 = uint32(0) var pTabCol uintptr var i int32 @@ -93655,7 +93674,7 @@ __3: } // Estimate the average size of a row for an index. -func estimateIndexWidth(tls *libc.TLS, pIdx uintptr) { /* sqlite3.c:116108:13: */ +func estimateIndexWidth(tls *libc.TLS, pIdx uintptr) { /* sqlite3.c:116121:13: */ var wIndex uint32 = uint32(0) var i int32 var aCol uintptr = (*Table)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FpTable)).FaCol @@ -93675,7 +93694,7 @@ func estimateIndexWidth(tls *libc.TLS, pIdx uintptr) { /* sqlite3.c:116108:13: * // Return true if column number x is any of the first nCol entries of aiCol[]. // This is used to determine if the column number x appears in any of the // first nCol entries of an index. -func hasColumn(tls *libc.TLS, aiCol uintptr, nCol int32, x int32) int32 { /* sqlite3.c:116124:12: */ +func hasColumn(tls *libc.TLS, aiCol uintptr, nCol int32, x int32) int32 { /* sqlite3.c:116137:12: */ for libc.PostDecInt32(&nCol, 1) > 0 { if x == int32(*(*I16)(unsafe.Pointer(libc.PostIncUintptr(&aiCol, 2)))) { return 1 @@ -93695,7 +93714,7 @@ func hasColumn(tls *libc.TLS, aiCol uintptr, nCol int32, x int32) int32 { /* sql // This routine differs from hasColumn() in that both the column and the // collating sequence must match for this routine, but for hasColumn() only // the column name must match. -func isDupColumn(tls *libc.TLS, pIdx uintptr, nKey int32, pPk uintptr, iCol int32) int32 { /* sqlite3.c:116146:12: */ +func isDupColumn(tls *libc.TLS, pIdx uintptr, nKey int32, pPk uintptr, iCol int32) int32 { /* sqlite3.c:116159:12: */ var i int32 var j int32 @@ -93728,7 +93747,7 @@ func isDupColumn(tls *libc.TLS, pIdx uintptr, nKey int32, pPk uintptr, iCol int3 // // The colNotIdxed mask is AND-ed with the SrcList.a[].colUsed mask // to determine if the index is covering index. -func recomputeColumnsNotIndexed(tls *libc.TLS, pIdx uintptr) { /* sqlite3.c:116185:13: */ +func recomputeColumnsNotIndexed(tls *libc.TLS, pIdx uintptr) { /* sqlite3.c:116198:13: */ var m Bitmask = uint64(0) var j int32 var pTab uintptr = (*Index)(unsafe.Pointer(pIdx)).FpTable @@ -93767,7 +93786,7 @@ func recomputeColumnsNotIndexed(tls *libc.TLS, pIdx uintptr) { /* sqlite3.c:1161 // indices with the PRIMARY KEY columns. // // For virtual tables, only (1) is performed. -func convertToWithoutRowidTable(tls *libc.TLS, pParse uintptr, pTab uintptr) { /* sqlite3.c:116225:13: */ +func convertToWithoutRowidTable(tls *libc.TLS, pParse uintptr, pTab uintptr) { /* sqlite3.c:116238:13: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -93930,7 +93949,7 @@ func convertToWithoutRowidTable(tls *libc.TLS, pParse uintptr, pTab uintptr) { / // Return true if pTab is a virtual table and zName is a shadow table name // for that virtual table. -func Xsqlite3IsShadowTableOf(tls *libc.TLS, db uintptr, pTab uintptr, zName uintptr) int32 { /* sqlite3.c:116385:20: */ +func Xsqlite3IsShadowTableOf(tls *libc.TLS, db uintptr, pTab uintptr, zName uintptr) int32 { /* sqlite3.c:116398:20: */ var nName int32 // Length of zName var pMod uintptr // Module for the virtual table @@ -93963,7 +93982,7 @@ func Xsqlite3IsShadowTableOf(tls *libc.TLS, db uintptr, pTab uintptr, zName uint // exists and has an xShadowName method, then loop over all other ordinary // tables within the same schema looking for shadow tables of pTab, and mark // any shadow tables seen using the TF_Shadow flag. -func Xsqlite3MarkAllShadowTablesOf(tls *libc.TLS, db uintptr, pTab uintptr) { /* sqlite3.c:116408:21: */ +func Xsqlite3MarkAllShadowTablesOf(tls *libc.TLS, db uintptr, pTab uintptr) { /* sqlite3.c:116421:21: */ var nName int32 // Length of pTab->zName var pMod uintptr // Module for the virtual table var k uintptr // For looping through the symbol table @@ -94007,7 +94026,7 @@ func Xsqlite3MarkAllShadowTablesOf(tls *libc.TLS, db uintptr, pTab uintptr) { /* // // zName is temporarily modified while this routine is running, but is // restored to its original value prior to this routine returning. -func Xsqlite3ShadowTableName(tls *libc.TLS, db uintptr, zName uintptr) int32 { /* sqlite3.c:116444:20: */ +func Xsqlite3ShadowTableName(tls *libc.TLS, db uintptr, zName uintptr) int32 { /* sqlite3.c:116457:20: */ var zTail uintptr // Pointer to the last "_" in zName var pTab uintptr // Table that zName is a shadow of zTail = libc.Xstrrchr(tls, zName, '_') @@ -94044,7 +94063,7 @@ func Xsqlite3ShadowTableName(tls *libc.TLS, db uintptr, zName uintptr) int32 { / // was called to create a table generated from a // "CREATE TABLE ... AS SELECT ..." statement. The column names of // the new table will match the result set of the SELECT. -func Xsqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr, tabOpts U32, pSelect uintptr) { /* sqlite3.c:116505:21: */ +func Xsqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr, tabOpts U32, pSelect uintptr) { /* sqlite3.c:116518:21: */ bp := tls.Alloc(184) defer tls.Free(184) @@ -94365,7 +94384,7 @@ func Xsqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr } // The parser calls this routine in order to create a new VIEW -func Xsqlite3CreateView(tls *libc.TLS, pParse uintptr, pBegin uintptr, pName1 uintptr, pName2 uintptr, pCNames uintptr, pSelect uintptr, isTemp int32, noErr int32) { /* sqlite3.c:116847:21: */ +func Xsqlite3CreateView(tls *libc.TLS, pParse uintptr, pBegin uintptr, pName1 uintptr, pName2 uintptr, pCNames uintptr, pSelect uintptr, isTemp int32, noErr int32) { /* sqlite3.c:116860:21: */ bp := tls.Alloc(120) defer tls.Free(120) @@ -94483,7 +94502,7 @@ __10: // The Table structure pTable is really a VIEW. Fill in the names of // the columns of the view in the pTable structure. Return the number // of errors. If an error is seen leave an error message in pParse->zErrMsg. -func Xsqlite3ViewGetColumnNames(tls *libc.TLS, pParse uintptr, pTable uintptr) int32 { /* sqlite3.c:116939:20: */ +func Xsqlite3ViewGetColumnNames(tls *libc.TLS, pParse uintptr, pTable uintptr) int32 { /* sqlite3.c:116952:20: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -94598,7 +94617,7 @@ func Xsqlite3ViewGetColumnNames(tls *libc.TLS, pParse uintptr, pTable uintptr) i } // Clear the column names from every VIEW in database idx. -func sqliteViewResetAll(tls *libc.TLS, db uintptr, idx int32) { /* sqlite3.c:117067:13: */ +func sqliteViewResetAll(tls *libc.TLS, db uintptr, idx int32) { /* sqlite3.c:117080:13: */ var i uintptr if !(int32((*Schema)(unsafe.Pointer((*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(idx)*32)).FpSchema)).FschemaFlags)&DB_UnresetViews == DB_UnresetViews) { @@ -94628,7 +94647,7 @@ func sqliteViewResetAll(tls *libc.TLS, db uintptr, idx int32) { /* sqlite3.c:117 // We must continue looping until all tables and indices with // rootpage==iFrom have been converted to have a rootpage of iTo // in order to be certain that we got the right one. -func Xsqlite3RootPageMoved(tls *libc.TLS, db uintptr, iDb int32, iFrom Pgno, iTo Pgno) { /* sqlite3.c:117101:21: */ +func Xsqlite3RootPageMoved(tls *libc.TLS, db uintptr, iDb int32, iFrom Pgno, iTo Pgno) { /* sqlite3.c:117114:21: */ var pElem uintptr var pHash uintptr var pDb uintptr @@ -94654,7 +94673,7 @@ func Xsqlite3RootPageMoved(tls *libc.TLS, db uintptr, iDb int32, iFrom Pgno, iTo // Also write code to modify the sqlite_schema table and internal schema // if a root-page of another table is moved by the btree-layer whilst // erasing iTable (this can happen with an auto-vacuum database). -func destroyRootPage(tls *libc.TLS, pParse uintptr, iTable int32, iDb int32) { /* sqlite3.c:117131:13: */ +func destroyRootPage(tls *libc.TLS, pParse uintptr, iTable int32, iDb int32) { /* sqlite3.c:117144:13: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -94684,7 +94703,7 @@ func destroyRootPage(tls *libc.TLS, pParse uintptr, iTable int32, iDb int32) { / // Code to update the sqlite_schema tables and internal schema definitions // in case a root-page belonging to another table is moved by the btree layer // is also added (this can happen with an auto-vacuum database). -func destroyTable(tls *libc.TLS, pParse uintptr, pTab uintptr) { /* sqlite3.c:117161:13: */ +func destroyTable(tls *libc.TLS, pParse uintptr, pTab uintptr) { /* sqlite3.c:117174:13: */ // If the database may be auto-vacuum capable (if SQLITE_OMIT_AUTOVACUUM // is not defined), then it is important to call OP_Destroy on the // table and index root-pages in order, starting with the numerically @@ -94730,7 +94749,7 @@ func destroyTable(tls *libc.TLS, pParse uintptr, pTab uintptr) { /* sqlite3.c:11 // Remove entries from the sqlite_statN tables (for N in (1,2,3)) // after a DROP INDEX or DROP TABLE command. -func sqlite3ClearStatTables(tls *libc.TLS, pParse uintptr, iDb int32, zType uintptr, zName uintptr) { /* sqlite3.c:117210:13: */ +func sqlite3ClearStatTables(tls *libc.TLS, pParse uintptr, iDb int32, zType uintptr, zName uintptr) { /* sqlite3.c:117223:13: */ bp := tls.Alloc(64) defer tls.Free(64) @@ -94749,7 +94768,7 @@ func sqlite3ClearStatTables(tls *libc.TLS, pParse uintptr, iDb int32, zType uint } // Generate code to drop a table. -func Xsqlite3CodeDropTable(tls *libc.TLS, pParse uintptr, pTab uintptr, iDb int32, isView int32) { /* sqlite3.c:117233:21: */ +func Xsqlite3CodeDropTable(tls *libc.TLS, pParse uintptr, pTab uintptr, iDb int32, isView int32) { /* sqlite3.c:117246:21: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -94813,7 +94832,7 @@ func Xsqlite3CodeDropTable(tls *libc.TLS, pParse uintptr, pTab uintptr, iDb int3 // Return TRUE if shadow tables should be read-only in the current // context. -func Xsqlite3ReadOnlyShadowTables(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:117306:20: */ +func Xsqlite3ReadOnlyShadowTables(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:117319:20: */ if (*Sqlite3)(unsafe.Pointer(db)).Fflags&uint64(SQLITE_Defensive) != uint64(0) && (*Sqlite3)(unsafe.Pointer(db)).FpVtabCtx == uintptr(0) && (*Sqlite3)(unsafe.Pointer(db)).FnVdbeExec == 0 && @@ -94824,7 +94843,7 @@ func Xsqlite3ReadOnlyShadowTables(tls *libc.TLS, db uintptr) int32 { /* sqlite3. } // Return true if it is not allowed to drop the given table -func tableMayNotBeDropped(tls *libc.TLS, db uintptr, pTab uintptr) int32 { /* sqlite3.c:117322:12: */ +func tableMayNotBeDropped(tls *libc.TLS, db uintptr, pTab uintptr) int32 { /* sqlite3.c:117335:12: */ if Xsqlite3_strnicmp(tls, (*Table)(unsafe.Pointer(pTab)).FzName, ts+8003, 7) == 0 { if Xsqlite3_strnicmp(tls, (*Table)(unsafe.Pointer(pTab)).FzName+uintptr(7), ts+3221, 4) == 0 { return 0 @@ -94845,7 +94864,7 @@ func tableMayNotBeDropped(tls *libc.TLS, db uintptr, pTab uintptr) int32 { /* sq // This routine is called to do the work of a DROP TABLE statement. // pName is the name of the table to be dropped. -func Xsqlite3DropTable(tls *libc.TLS, pParse uintptr, pName uintptr, isView int32, noErr int32) { /* sqlite3.c:117341:21: */ +func Xsqlite3DropTable(tls *libc.TLS, pParse uintptr, pName uintptr, isView int32, noErr int32) { /* sqlite3.c:117354:21: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -95033,7 +95052,7 @@ exit_drop_table: // // The foreign key is set for IMMEDIATE processing. A subsequent call // to sqlite3DeferForeignKey() might change this to DEFERRED. -func Xsqlite3CreateForeignKey(tls *libc.TLS, pParse uintptr, pFromCol uintptr, pTo uintptr, pToCol uintptr, flags int32) { /* sqlite3.c:117461:21: */ +func Xsqlite3CreateForeignKey(tls *libc.TLS, pParse uintptr, pFromCol uintptr, pTo uintptr, pToCol uintptr, flags int32) { /* sqlite3.c:117474:21: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -95256,7 +95275,7 @@ fk_end: // parameter is 1 for INITIALLY DEFERRED and 0 for INITIALLY IMMEDIATE. // The behavior of the most recently created foreign key is adjusted // accordingly. -func Xsqlite3DeferForeignKey(tls *libc.TLS, pParse uintptr, isDeferred int32) { /* sqlite3.c:117593:21: */ +func Xsqlite3DeferForeignKey(tls *libc.TLS, pParse uintptr, isDeferred int32) { /* sqlite3.c:117606:21: */ var pTab uintptr var pFKey uintptr if libc.AssignUintptr(&pTab, (*Parse)(unsafe.Pointer(pParse)).FpNewTable) == uintptr(0) { @@ -95281,7 +95300,7 @@ func Xsqlite3DeferForeignKey(tls *libc.TLS, pParse uintptr, isDeferred int32) { // root page number of the index. If memRootPage is negative, then // the index already exists and must be cleared before being refilled and // the root page number of the index is taken from pIndex->tnum. -func sqlite3RefillIndex(tls *libc.TLS, pParse uintptr, pIndex uintptr, memRootPage int32) { /* sqlite3.c:117616:13: */ +func sqlite3RefillIndex(tls *libc.TLS, pParse uintptr, pIndex uintptr, memRootPage int32) { /* sqlite3.c:117629:13: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -95393,7 +95412,7 @@ func sqlite3RefillIndex(tls *libc.TLS, pParse uintptr, pIndex uintptr, memRootPa // Increase the allocation size to provide an extra nExtra bytes // of 8-byte aligned space after the Index object and return a // pointer to this extra space in *ppExtra. -func Xsqlite3AllocateIndexObject(tls *libc.TLS, db uintptr, nCol I16, nExtra int32, ppExtra uintptr) uintptr { /* sqlite3.c:117722:22: */ +func Xsqlite3AllocateIndexObject(tls *libc.TLS, db uintptr, nCol I16, nExtra int32, ppExtra uintptr) uintptr { /* sqlite3.c:117735:22: */ var p uintptr // Allocated index object var nByte int32 // Bytes of space for Index object + arrays @@ -95418,7 +95437,7 @@ func Xsqlite3AllocateIndexObject(tls *libc.TLS, db uintptr, nCol I16, nExtra int // If expression list pList contains an expression that was parsed with // an explicit "NULLS FIRST" or "NULLS LAST" clause, leave an error in // pParse and return non-zero. Otherwise, return zero. -func Xsqlite3HasExplicitNulls(tls *libc.TLS, pParse uintptr, pList uintptr) int32 { /* sqlite3.c:117755:20: */ +func Xsqlite3HasExplicitNulls(tls *libc.TLS, pParse uintptr, pList uintptr) int32 { /* sqlite3.c:117768:20: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -95451,7 +95470,7 @@ func Xsqlite3HasExplicitNulls(tls *libc.TLS, pParse uintptr, pList uintptr) int3 // pList is a list of columns to be indexed. pList will be NULL if this // is a primary key or unique-constraint on the most recent column added // to the table currently under construction. -func Xsqlite3CreateIndex(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 uintptr, pTblName uintptr, pList uintptr, onError int32, pStart uintptr, pPIWhere uintptr, sortOrder int32, ifNotExist int32, idxType U8) { /* sqlite3.c:117783:21: */ +func Xsqlite3CreateIndex(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 uintptr, pTblName uintptr, pList uintptr, onError int32, pStart uintptr, pPIWhere uintptr, sortOrder int32, ifNotExist int32, idxType U8) { /* sqlite3.c:117796:21: */ bp := tls.Alloc(256) defer tls.Free(256) @@ -96221,7 +96240,7 @@ __81: goto __101 } Xsqlite3ErrorMsg(tls, pParse, ts+14061, 0) - (*Parse)(unsafe.Pointer(pParse)).Frc = Xsqlite3CorruptError(tls, 118239) + (*Parse)(unsafe.Pointer(pParse)).Frc = Xsqlite3CorruptError(tls, 118252) goto exit_create_index __101: ; @@ -96407,7 +96426,7 @@ __113: // Apart from that, we have little to go on besides intuition as to // how aiRowEst[] should be initialized. The numbers generated here // are based on typical values found in actual indices. -func Xsqlite3DefaultRowEst(tls *libc.TLS, pIdx uintptr) { /* sqlite3.c:118394:21: */ +func Xsqlite3DefaultRowEst(tls *libc.TLS, pIdx uintptr) { /* sqlite3.c:118407:21: */ var a uintptr = (*Index)(unsafe.Pointer(pIdx)).FaiRowLogEst var x LogEst var nCopy int32 = func() int32 { @@ -96451,11 +96470,11 @@ func Xsqlite3DefaultRowEst(tls *libc.TLS, pIdx uintptr) { /* sqlite3.c:118394:21 } } -var aVal = [5]LogEst{int16(33), int16(32), int16(30), int16(28), int16(26)} /* sqlite3.c:118396:23 */ +var aVal = [5]LogEst{int16(33), int16(32), int16(30), int16(28), int16(26)} /* sqlite3.c:118409:23 */ // This routine will drop an existing named index. This routine // implements the DROP INDEX statement. -func Xsqlite3DropIndex(tls *libc.TLS, pParse uintptr, pName uintptr, ifExists int32) { /* sqlite3.c:118438:21: */ +func Xsqlite3DropIndex(tls *libc.TLS, pParse uintptr, pName uintptr, ifExists int32) { /* sqlite3.c:118451:21: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -96574,7 +96593,7 @@ exit_drop_index: // // Otherwise, if the realloc() fails, *pIdx is set to -1, *pnEntry remains // unchanged and a copy of pArray returned. -func Xsqlite3ArrayAllocate(tls *libc.TLS, db uintptr, pArray uintptr, szEntry int32, pnEntry uintptr, pIdx uintptr) uintptr { /* sqlite3.c:118520:21: */ +func Xsqlite3ArrayAllocate(tls *libc.TLS, db uintptr, pArray uintptr, szEntry int32, pnEntry uintptr, pIdx uintptr) uintptr { /* sqlite3.c:118533:21: */ var z uintptr var n Sqlite3_int64 = Sqlite3_int64(libc.AssignPtrInt32(pIdx, *(*int32)(unsafe.Pointer(pnEntry)))) if n&(n-int64(1)) == int64(0) { @@ -96601,7 +96620,7 @@ func Xsqlite3ArrayAllocate(tls *libc.TLS, db uintptr, pArray uintptr, szEntry in // need be. // // A new IdList is returned, or NULL if malloc() fails. -func Xsqlite3IdListAppend(tls *libc.TLS, pParse uintptr, pList uintptr, pToken uintptr) uintptr { /* sqlite3.c:118550:23: */ +func Xsqlite3IdListAppend(tls *libc.TLS, pParse uintptr, pList uintptr, pToken uintptr) uintptr { /* sqlite3.c:118563:23: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -96632,7 +96651,7 @@ func Xsqlite3IdListAppend(tls *libc.TLS, pParse uintptr, pList uintptr, pToken u } // Delete an IdList. -func Xsqlite3IdListDelete(tls *libc.TLS, db uintptr, pList uintptr) { /* sqlite3.c:118578:21: */ +func Xsqlite3IdListDelete(tls *libc.TLS, db uintptr, pList uintptr) { /* sqlite3.c:118591:21: */ var i int32 if pList == uintptr(0) { return @@ -96646,7 +96665,7 @@ func Xsqlite3IdListDelete(tls *libc.TLS, db uintptr, pList uintptr) { /* sqlite3 // Return the index in pList of the identifier named zId. Return -1 // if not found. -func Xsqlite3IdListIndex(tls *libc.TLS, pList uintptr, zName uintptr) int32 { /* sqlite3.c:118592:20: */ +func Xsqlite3IdListIndex(tls *libc.TLS, pList uintptr, zName uintptr) int32 { /* sqlite3.c:118605:20: */ var i int32 if pList == uintptr(0) { return -1 @@ -96684,7 +96703,7 @@ func Xsqlite3IdListIndex(tls *libc.TLS, pList uintptr, zName uintptr) int32 { /* // If a memory allocation fails or the SrcList becomes too large, leave // the original SrcList unchanged, return NULL, and leave an error message // in pParse. -func Xsqlite3SrcListEnlarge(tls *libc.TLS, pParse uintptr, pSrc uintptr, nExtra int32, iStart int32) uintptr { /* sqlite3.c:118633:24: */ +func Xsqlite3SrcListEnlarge(tls *libc.TLS, pParse uintptr, pSrc uintptr, nExtra int32, iStart int32) uintptr { /* sqlite3.c:118646:24: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -96766,7 +96785,7 @@ func Xsqlite3SrcListEnlarge(tls *libc.TLS, pParse uintptr, pSrc uintptr, nExtra // // Both pTable and pDatabase are assumed to be quoted. They are dequoted // before being added to the SrcList. -func Xsqlite3SrcListAppend(tls *libc.TLS, pParse uintptr, pList uintptr, pTable uintptr, pDatabase uintptr) uintptr { /* sqlite3.c:118722:24: */ +func Xsqlite3SrcListAppend(tls *libc.TLS, pParse uintptr, pList uintptr, pTable uintptr, pDatabase uintptr) uintptr { /* sqlite3.c:118735:24: */ var pItem uintptr var db uintptr // Cannot have C without B @@ -96805,7 +96824,7 @@ func Xsqlite3SrcListAppend(tls *libc.TLS, pParse uintptr, pList uintptr, pTable } // Assign VdbeCursor index numbers to all tables in a SrcList -func Xsqlite3SrcListAssignCursors(tls *libc.TLS, pParse uintptr, pList uintptr) { /* sqlite3.c:118767:21: */ +func Xsqlite3SrcListAssignCursors(tls *libc.TLS, pParse uintptr, pList uintptr) { /* sqlite3.c:118780:21: */ var i int32 var pItem uintptr @@ -96837,7 +96856,7 @@ func Xsqlite3SrcListAssignCursors(tls *libc.TLS, pParse uintptr, pList uintptr) } // Delete an entire SrcList including all its substructure. -func Xsqlite3SrcListDelete(tls *libc.TLS, db uintptr, pList uintptr) { /* sqlite3.c:118785:21: */ +func Xsqlite3SrcListDelete(tls *libc.TLS, db uintptr, pList uintptr) { /* sqlite3.c:118798:21: */ var i int32 var pItem uintptr if pList == uintptr(0) { @@ -96900,7 +96919,7 @@ __3: // // Return a new SrcList which encodes is the FROM with the new // term added. -func Xsqlite3SrcListAppendFromTerm(tls *libc.TLS, pParse uintptr, p uintptr, pTable uintptr, pDatabase uintptr, pAlias uintptr, pSubquery uintptr, pOn uintptr, pUsing uintptr) uintptr { /* sqlite3.c:118819:24: */ +func Xsqlite3SrcListAppendFromTerm(tls *libc.TLS, pParse uintptr, p uintptr, pTable uintptr, pDatabase uintptr, pAlias uintptr, pSubquery uintptr, pOn uintptr, pUsing uintptr) uintptr { /* sqlite3.c:118832:24: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -96964,7 +96983,7 @@ append_from_error: // Add an INDEXED BY or NOT INDEXED clause to the most recently added // element of the source-list passed as the second argument. -func Xsqlite3SrcListIndexedBy(tls *libc.TLS, pParse uintptr, p uintptr, pIndexedBy uintptr) { /* sqlite3.c:118870:21: */ +func Xsqlite3SrcListIndexedBy(tls *libc.TLS, pParse uintptr, p uintptr, pIndexedBy uintptr) { /* sqlite3.c:118883:21: */ if p != 0 && (*Token)(unsafe.Pointer(pIndexedBy)).Fn > uint32(0) { var pItem uintptr @@ -96986,7 +97005,7 @@ func Xsqlite3SrcListIndexedBy(tls *libc.TLS, pParse uintptr, p uintptr, pIndexed // Append the contents of SrcList p2 to SrcList p1 and return the resulting // SrcList. Or, if an error occurs, return NULL. In all cases, p1 and p2 // are deleted by this function. -func Xsqlite3SrcListAppendList(tls *libc.TLS, pParse uintptr, p1 uintptr, p2 uintptr) uintptr { /* sqlite3.c:118896:24: */ +func Xsqlite3SrcListAppendList(tls *libc.TLS, pParse uintptr, p1 uintptr, p2 uintptr) uintptr { /* sqlite3.c:118909:24: */ if p2 != 0 { var pNew uintptr = Xsqlite3SrcListEnlarge(tls, pParse, p1, (*SrcList)(unsafe.Pointer(p2)).FnSrc, 1) @@ -97003,7 +97022,7 @@ func Xsqlite3SrcListAppendList(tls *libc.TLS, pParse uintptr, p1 uintptr, p2 uin // Add the list of function arguments to the SrcList entry for a // table-valued-function. -func Xsqlite3SrcListFuncArgs(tls *libc.TLS, pParse uintptr, p uintptr, pList uintptr) { /* sqlite3.c:118915:21: */ +func Xsqlite3SrcListFuncArgs(tls *libc.TLS, pParse uintptr, p uintptr, pList uintptr) { /* sqlite3.c:118928:21: */ if p != 0 { var pItem uintptr = p + 8 + uintptr((*SrcList)(unsafe.Pointer(p)).FnSrc-1)*112 @@ -97027,7 +97046,7 @@ func Xsqlite3SrcListFuncArgs(tls *libc.TLS, pParse uintptr, p uintptr, pList uin // The operator is "natural cross join". The A and B operands are stored // in p->a[0] and p->a[1], respectively. The parser initially stores the // operator with A. This routine shifts that operator over to B. -func Xsqlite3SrcListShiftJoinType(tls *libc.TLS, p uintptr) { /* sqlite3.c:118943:21: */ +func Xsqlite3SrcListShiftJoinType(tls *libc.TLS, p uintptr) { /* sqlite3.c:118956:21: */ if p != 0 { var i int32 for i = (*SrcList)(unsafe.Pointer(p)).FnSrc - 1; i > 0; i-- { @@ -97038,7 +97057,7 @@ func Xsqlite3SrcListShiftJoinType(tls *libc.TLS, p uintptr) { /* sqlite3.c:11894 } // Generate VDBE code for a BEGIN statement. -func Xsqlite3BeginTransaction(tls *libc.TLS, pParse uintptr, type1 int32) { /* sqlite3.c:118956:21: */ +func Xsqlite3BeginTransaction(tls *libc.TLS, pParse uintptr, type1 int32) { /* sqlite3.c:118969:21: */ var db uintptr var v uintptr var i int32 @@ -97073,7 +97092,7 @@ func Xsqlite3BeginTransaction(tls *libc.TLS, pParse uintptr, type1 int32) { /* s // Generate VDBE code for a COMMIT or ROLLBACK statement. // Code for ROLLBACK is generated if eType==TK_ROLLBACK. Otherwise // code is generated for a COMMIT. -func Xsqlite3EndTransaction(tls *libc.TLS, pParse uintptr, eType int32) { /* sqlite3.c:118992:21: */ +func Xsqlite3EndTransaction(tls *libc.TLS, pParse uintptr, eType int32) { /* sqlite3.c:119005:21: */ var v uintptr var isRollback int32 @@ -97095,7 +97114,7 @@ func Xsqlite3EndTransaction(tls *libc.TLS, pParse uintptr, eType int32) { /* sql // This function is called by the parser when it parses a command to create, // release or rollback an SQL savepoint. -func Xsqlite3Savepoint(tls *libc.TLS, pParse uintptr, op int32, pName uintptr) { /* sqlite3.c:119014:21: */ +func Xsqlite3Savepoint(tls *libc.TLS, pParse uintptr, op int32, pName uintptr) { /* sqlite3.c:119027:21: */ var zName uintptr = Xsqlite3NameFromToken(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, pName) if zName != 0 { var v uintptr = Xsqlite3GetVdbe(tls, pParse) @@ -97108,11 +97127,11 @@ func Xsqlite3Savepoint(tls *libc.TLS, pParse uintptr, op int32, pName uintptr) { } } -var az = [3]uintptr{ts + 14424, ts + 14446, ts + 14430} /* sqlite3.c:119019:23 */ +var az = [3]uintptr{ts + 14424, ts + 14446, ts + 14430} /* sqlite3.c:119032:23 */ // Make sure the TEMP database is open and available for use. Return // the number of errors. Leave any error messages in the pParse structure. -func Xsqlite3OpenTempDatabase(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:119034:20: */ +func Xsqlite3OpenTempDatabase(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:119047:20: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -97138,13 +97157,13 @@ func Xsqlite3OpenTempDatabase(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3. return 0 } -var flags int32 = SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE | SQLITE_OPEN_EXCLUSIVE | SQLITE_OPEN_DELETEONCLOSE | SQLITE_OPEN_TEMP_DB /* sqlite3.c:119039:22 */ +var flags int32 = SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE | SQLITE_OPEN_EXCLUSIVE | SQLITE_OPEN_DELETEONCLOSE | SQLITE_OPEN_TEMP_DB /* sqlite3.c:119052:22 */ // Record the fact that the schema cookie will need to be verified // for database iDb. The code to actually verify the schema cookie // will occur at the end of the top-level VDBE and will be generated // later, by sqlite3FinishCoding(). -func sqlite3CodeVerifySchemaAtToplevel(tls *libc.TLS, pToplevel uintptr, iDb int32) { /* sqlite3.c:119069:13: */ +func sqlite3CodeVerifySchemaAtToplevel(tls *libc.TLS, pToplevel uintptr, iDb int32) { /* sqlite3.c:119082:13: */ if libc.Bool32((*Parse)(unsafe.Pointer(pToplevel)).FcookieMask&(YDbMask(YDbMask(1))< UTF-16 conversion if // possible. -func synthCollSeq(tls *libc.TLS, db uintptr, pColl uintptr) int32 { /* sqlite3.c:119579:12: */ +func synthCollSeq(tls *libc.TLS, db uintptr, pColl uintptr) int32 { /* sqlite3.c:119592:12: */ var pColl2 uintptr var z uintptr = (*CollSeq)(unsafe.Pointer(pColl)).FzName var i int32 @@ -97657,7 +97676,7 @@ func synthCollSeq(tls *libc.TLS, db uintptr, pColl uintptr) int32 { /* sqlite3.c return SQLITE_ERROR } -var aEnc = [3]U8{U8(SQLITE_UTF16BE), U8(SQLITE_UTF16LE), U8(SQLITE_UTF8)} /* sqlite3.c:119583:19 */ +var aEnc = [3]U8{U8(SQLITE_UTF16BE), U8(SQLITE_UTF16LE), U8(SQLITE_UTF8)} /* sqlite3.c:119596:19 */ // This routine is called on a collation sequence before it is used to // check that it is defined. An undefined collation sequence exists when @@ -97668,7 +97687,7 @@ var aEnc = [3]U8{U8(SQLITE_UTF16BE), U8(SQLITE_UTF16LE), U8(SQLITE_UTF8)} /* sql // request a definition of the collating sequence. If this doesn't work, // an equivalent collating sequence that uses a text encoding different // from the main database is substituted, if one is available. -func Xsqlite3CheckCollSeq(tls *libc.TLS, pParse uintptr, pColl uintptr) int32 { /* sqlite3.c:119606:20: */ +func Xsqlite3CheckCollSeq(tls *libc.TLS, pParse uintptr, pColl uintptr) int32 { /* sqlite3.c:119619:20: */ if pColl != 0 && (*CollSeq)(unsafe.Pointer(pColl)).FxCmp == uintptr(0) { var zName uintptr = (*CollSeq)(unsafe.Pointer(pColl)).FzName var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb @@ -97692,7 +97711,7 @@ func Xsqlite3CheckCollSeq(tls *libc.TLS, pParse uintptr, pColl uintptr) int32 { // Stored immediately after the three collation sequences is a copy of // the collation sequence name. A pointer to this string is stored in // each collation sequence structure. -func findCollSeqEntry(tls *libc.TLS, db uintptr, zName uintptr, create int32) uintptr { /* sqlite3.c:119634:16: */ +func findCollSeqEntry(tls *libc.TLS, db uintptr, zName uintptr, create int32) uintptr { /* sqlite3.c:119647:16: */ var pColl uintptr pColl = Xsqlite3HashFind(tls, db+640, zName) @@ -97737,7 +97756,7 @@ func findCollSeqEntry(tls *libc.TLS, db uintptr, zName uintptr, create int32) ui // cannot be found. // // See also: sqlite3LocateCollSeq(), sqlite3GetCollSeq() -func Xsqlite3FindCollSeq(tls *libc.TLS, db uintptr, enc U8, zName uintptr, create int32) uintptr { /* sqlite3.c:119686:24: */ +func Xsqlite3FindCollSeq(tls *libc.TLS, db uintptr, enc U8, zName uintptr, create int32) uintptr { /* sqlite3.c:119699:24: */ var pColl uintptr if zName != 0 { @@ -97753,7 +97772,7 @@ func Xsqlite3FindCollSeq(tls *libc.TLS, db uintptr, enc U8, zName uintptr, creat // Change the text encoding for a database connection. This means that // the pDfltColl must change as well. -func Xsqlite3SetTextEncoding(tls *libc.TLS, db uintptr, enc U8) { /* sqlite3.c:119708:21: */ +func Xsqlite3SetTextEncoding(tls *libc.TLS, db uintptr, enc U8) { /* sqlite3.c:119721:21: */ (*Sqlite3)(unsafe.Pointer(db)).Fenc = enc // EVIDENCE-OF: R-08308-17224 The default collating function for all @@ -97773,7 +97792,7 @@ func Xsqlite3SetTextEncoding(tls *libc.TLS, db uintptr, enc U8) { /* sqlite3.c:1 // sequence can be found. If no collation is found, leave an error message. // // See also: sqlite3LocateCollSeq(), sqlite3FindCollSeq() -func Xsqlite3GetCollSeq(tls *libc.TLS, pParse uintptr, enc U8, pColl uintptr, zName uintptr) uintptr { /* sqlite3.c:119731:24: */ +func Xsqlite3GetCollSeq(tls *libc.TLS, pParse uintptr, enc U8, pColl uintptr, zName uintptr) uintptr { /* sqlite3.c:119744:24: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -97819,7 +97838,7 @@ func Xsqlite3GetCollSeq(tls *libc.TLS, pParse uintptr, enc U8, pColl uintptr, zN // and generates an error message. // // See also: sqlite3FindCollSeq(), sqlite3GetCollSeq() -func Xsqlite3LocateCollSeq(tls *libc.TLS, pParse uintptr, zName uintptr) uintptr { /* sqlite3.c:119782:24: */ +func Xsqlite3LocateCollSeq(tls *libc.TLS, pParse uintptr, zName uintptr) uintptr { /* sqlite3.c:119795:24: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb var enc U8 = (*Sqlite3)(unsafe.Pointer(db)).Fenc var initbusy U8 = (*Sqlite3)(unsafe.Pointer(db)).Finit.Fbusy @@ -97860,7 +97879,7 @@ func Xsqlite3LocateCollSeq(tls *libc.TLS, pParse uintptr, zName uintptr) uintptr // If nArg==(-2) then any function with a non-null xSFunc is // a perfect match and any function with xSFunc NULL is // a non-match. -func matchQuality(tls *libc.TLS, p uintptr, nArg int32, enc U8) int32 { /* sqlite3.c:119825:12: */ +func matchQuality(tls *libc.TLS, p uintptr, nArg int32, enc U8) int32 { /* sqlite3.c:119838:12: */ var match int32 // Wrong number of arguments means "no match" @@ -97896,7 +97915,7 @@ func matchQuality(tls *libc.TLS, p uintptr, nArg int32, enc U8) int32 { /* sqlit // Search a FuncDefHash for a function with the given name. Return // a pointer to the matching FuncDef if found, or 0 if there is no match. -func Xsqlite3FunctionSearch(tls *libc.TLS, h int32, zFunc uintptr) uintptr { /* sqlite3.c:119861:24: */ +func Xsqlite3FunctionSearch(tls *libc.TLS, h int32, zFunc uintptr) uintptr { /* sqlite3.c:119874:24: */ var p uintptr for p = *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&Xsqlite3BuiltinFunctions)) + uintptr(h)*8)); p != 0; p = *(*uintptr)(unsafe.Pointer(p + 64)) { @@ -97908,7 +97927,7 @@ func Xsqlite3FunctionSearch(tls *libc.TLS, h int32, zFunc uintptr) uintptr { /* } // Insert a new FuncDef into a FuncDefHash hash table. -func Xsqlite3InsertBuiltinFuncs(tls *libc.TLS, aDef uintptr, nDef int32) { /* sqlite3.c:119878:21: */ +func Xsqlite3InsertBuiltinFuncs(tls *libc.TLS, aDef uintptr, nDef int32) { /* sqlite3.c:119891:21: */ var i int32 for i = 0; i < nDef; i++ { var pOther uintptr @@ -97946,7 +97965,7 @@ func Xsqlite3InsertBuiltinFuncs(tls *libc.TLS, aDef uintptr, nDef int32) { /* sq // If createFlag is false, then a function with the required name and // number of arguments may be returned even if the eTextRep flag does not // match that requested. -func Xsqlite3FindFunction(tls *libc.TLS, db uintptr, zName uintptr, nArg int32, enc U8, createFlag U8) uintptr { /* sqlite3.c:119923:24: */ +func Xsqlite3FindFunction(tls *libc.TLS, db uintptr, zName uintptr, nArg int32, enc U8, createFlag U8) uintptr { /* sqlite3.c:119936:24: */ var p uintptr // Iterator variable var pBest uintptr = uintptr(0) // Best match found so far var bestScore int32 = 0 // Score of best match @@ -98026,7 +98045,7 @@ func Xsqlite3FindFunction(tls *libc.TLS, db uintptr, zName uintptr, nArg int32, // of the schema hash tables). // // The Schema.cache_size variable is not cleared. -func Xsqlite3SchemaClear(tls *libc.TLS, p uintptr) { /* sqlite3.c:120015:21: */ +func Xsqlite3SchemaClear(tls *libc.TLS, p uintptr) { /* sqlite3.c:120028:21: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -98061,7 +98080,7 @@ func Xsqlite3SchemaClear(tls *libc.TLS, p uintptr) { /* sqlite3.c:120015:21: */ // Find and return the schema associated with a BTree. Create // a new one if necessary. -func Xsqlite3SchemaGet(tls *libc.TLS, db uintptr, pBt uintptr) uintptr { /* sqlite3.c:120047:23: */ +func Xsqlite3SchemaGet(tls *libc.TLS, db uintptr, pBt uintptr) uintptr { /* sqlite3.c:120060:23: */ var p uintptr if pBt != 0 { p = Xsqlite3BtreeSchema(tls, pBt, int32(unsafe.Sizeof(Schema{})), *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{Xsqlite3SchemaClear}))) @@ -98108,7 +98127,7 @@ func Xsqlite3SchemaGet(tls *libc.TLS, db uintptr, pBt uintptr) uintptr { /* sqli // pSrc->a[0].pTab Pointer to the Table object // pSrc->a[0].pIndex Pointer to the INDEXED BY index, if there is one // -func Xsqlite3SrcListLookup(tls *libc.TLS, pParse uintptr, pSrc uintptr) uintptr { /* sqlite3.c:120098:22: */ +func Xsqlite3SrcListLookup(tls *libc.TLS, pParse uintptr, pSrc uintptr) uintptr { /* sqlite3.c:120111:22: */ var pItem uintptr = pSrc + 8 /* &.a */ var pTab uintptr @@ -98126,7 +98145,7 @@ func Xsqlite3SrcListLookup(tls *libc.TLS, pParse uintptr, pSrc uintptr) uintptr // Generate byte-code that will report the number of rows modified // by a DELETE, INSERT, or UPDATE statement. -func Xsqlite3CodeChangeCount(tls *libc.TLS, v uintptr, regCounter int32, zColName uintptr) { /* sqlite3.c:120117:21: */ +func Xsqlite3CodeChangeCount(tls *libc.TLS, v uintptr, regCounter int32, zColName uintptr) { /* sqlite3.c:120130:21: */ Xsqlite3VdbeAddOp0(tls, v, OP_FkCheck) Xsqlite3VdbeAddOp2(tls, v, OP_ResultRow, regCounter, 1) Xsqlite3VdbeSetNumCols(tls, v, 1) @@ -98147,7 +98166,7 @@ func Xsqlite3CodeChangeCount(tls *libc.TLS, v uintptr, regCounter int32, zColNam // 3) The table is a shadow table, the database connection is in // defensive mode, and the current sqlite3_prepare() // is for a top-level SQL statement. -func tabIsReadOnly(tls *libc.TLS, pParse uintptr, pTab uintptr) int32 { /* sqlite3.c:120139:12: */ +func tabIsReadOnly(tls *libc.TLS, pParse uintptr, pTab uintptr) int32 { /* sqlite3.c:120152:12: */ var db uintptr if int32((*Table)(unsafe.Pointer(pTab)).FeTabType) == TABTYP_VTAB { return libc.Bool32((*Sqlite3_module)(unsafe.Pointer((*Module)(unsafe.Pointer((*VTable)(unsafe.Pointer(Xsqlite3GetVTable(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, pTab))).FpMod)).FpModule)).FxUpdate == uintptr(0)) @@ -98166,7 +98185,7 @@ func tabIsReadOnly(tls *libc.TLS, pParse uintptr, pTab uintptr) int32 { /* sqlit // Check to make sure the given table is writable. If it is not // writable, generate an error message and return 1. If it is // writable return 0; -func Xsqlite3IsReadOnly(tls *libc.TLS, pParse uintptr, pTab uintptr, viewOk int32) int32 { /* sqlite3.c:120158:20: */ +func Xsqlite3IsReadOnly(tls *libc.TLS, pParse uintptr, pTab uintptr, viewOk int32) int32 { /* sqlite3.c:120171:20: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -98184,7 +98203,7 @@ func Xsqlite3IsReadOnly(tls *libc.TLS, pParse uintptr, pTab uintptr, viewOk int3 // Evaluate a view and store its result in an ephemeral table. The // pWhere argument is an optional WHERE clause that restricts the // set of rows in the view that are to be added to the ephemeral table. -func Xsqlite3MaterializeView(tls *libc.TLS, pParse uintptr, pView uintptr, pWhere uintptr, pOrderBy uintptr, pLimit uintptr, iCur int32) { /* sqlite3.c:120179:21: */ +func Xsqlite3MaterializeView(tls *libc.TLS, pParse uintptr, pView uintptr, pWhere uintptr, pOrderBy uintptr, pLimit uintptr, iCur int32) { /* sqlite3.c:120192:21: */ bp := tls.Alloc(40) defer tls.Free(40) @@ -98216,7 +98235,7 @@ func Xsqlite3MaterializeView(tls *libc.TLS, pParse uintptr, pView uintptr, pWher // DELETE FROM table_wxyz WHERE a<5 AND b NOT NULL; // \________/ \________________/ // pTabList pWhere -func Xsqlite3DeleteFrom(tls *libc.TLS, pParse uintptr, pTabList uintptr, pWhere uintptr, pOrderBy uintptr, pLimit uintptr) { /* sqlite3.c:120318:21: */ +func Xsqlite3DeleteFrom(tls *libc.TLS, pParse uintptr, pTabList uintptr, pWhere uintptr, pOrderBy uintptr, pLimit uintptr) { /* sqlite3.c:120331:21: */ bp := tls.Alloc(88) defer tls.Free(88) @@ -98822,7 +98841,7 @@ delete_from_cleanup: // starting at iIdxCur) that already points to the index entry to be deleted. // Except, this optimization is disabled if there are BEFORE triggers since // the trigger body might have moved the cursor. -func Xsqlite3GenerateRowDelete(tls *libc.TLS, pParse uintptr, pTab uintptr, pTrigger uintptr, iDataCur int32, iIdxCur int32, iPk int32, nPk I16, count U8, onconf U8, eMode U8, iIdxNoSeek int32) { /* sqlite3.c:120766:21: */ +func Xsqlite3GenerateRowDelete(tls *libc.TLS, pParse uintptr, pTab uintptr, pTrigger uintptr, iDataCur int32, iIdxCur int32, iPk int32, nPk I16, count U8, onconf U8, eMode U8, iIdxNoSeek int32) { /* sqlite3.c:120779:21: */ var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe // Vdbe var iOld int32 = 0 // First register in OLD.* array var iLabel int32 // Label resolved to end of generated code @@ -98959,7 +98978,7 @@ func Xsqlite3GenerateRowDelete(tls *libc.TLS, pParse uintptr, pTab uintptr, pTri // // 3. The "iDataCur" cursor must be already be positioned on the row // that is to be deleted. -func Xsqlite3GenerateRowIndexDelete(tls *libc.TLS, pParse uintptr, pTab uintptr, iDataCur int32, iIdxCur int32, aRegIdx uintptr, iIdxNoSeek int32) { /* sqlite3.c:120918:21: */ +func Xsqlite3GenerateRowIndexDelete(tls *libc.TLS, pParse uintptr, pTab uintptr, iDataCur int32, iIdxCur int32, aRegIdx uintptr, iIdxNoSeek int32) { /* sqlite3.c:120931:21: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -99048,7 +99067,7 @@ __3: // This optimization is helpful when doing a DELETE or an INTEGRITY_CHECK // on a table with multiple indices, and especially with the ROWID or // PRIMARY KEY columns of the index. -func Xsqlite3GenerateIndexKey(tls *libc.TLS, pParse uintptr, pIdx uintptr, iDataCur int32, regOut int32, prefixOnly int32, piPartIdxLabel uintptr, pPrior uintptr, regPrior int32) int32 { /* sqlite3.c:120983:20: */ +func Xsqlite3GenerateIndexKey(tls *libc.TLS, pParse uintptr, pIdx uintptr, iDataCur int32, regOut int32, prefixOnly int32, piPartIdxLabel uintptr, pPrior uintptr, regPrior int32) int32 { /* sqlite3.c:120996:20: */ var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe var j int32 var regBase int32 @@ -99104,7 +99123,7 @@ func Xsqlite3GenerateIndexKey(tls *libc.TLS, pParse uintptr, pIdx uintptr, iData // If a prior call to sqlite3GenerateIndexKey() generated a jump-over label // because it was a partial index, then this routine should be called to // resolve that label. -func Xsqlite3ResolvePartIdxLabel(tls *libc.TLS, pParse uintptr, iLabel int32) { /* sqlite3.c:121045:21: */ +func Xsqlite3ResolvePartIdxLabel(tls *libc.TLS, pParse uintptr, iLabel int32) { /* sqlite3.c:121058:21: */ if iLabel != 0 { Xsqlite3VdbeResolveLabel(tls, (*Parse)(unsafe.Pointer(pParse)).FpVdbe, iLabel) } @@ -99132,7 +99151,7 @@ func Xsqlite3ResolvePartIdxLabel(tls *libc.TLS, pParse uintptr, iLabel int32) { // #include "vdbeInt.h" // Return the collating function associated with a function. -func sqlite3GetFuncCollSeq(tls *libc.TLS, context uintptr) uintptr { /* sqlite3.c:121079:16: */ +func sqlite3GetFuncCollSeq(tls *libc.TLS, context uintptr) uintptr { /* sqlite3.c:121092:16: */ var pOp uintptr pOp = (*Vdbe)(unsafe.Pointer((*Sqlite3_context)(unsafe.Pointer(context)).FpVdbe)).FaOp + uintptr((*Sqlite3_context)(unsafe.Pointer(context)).FiOp-1)*24 @@ -99142,14 +99161,14 @@ func sqlite3GetFuncCollSeq(tls *libc.TLS, context uintptr) uintptr { /* sqlite3. // Indicate that the accumulator load should be skipped on this // iteration of the aggregate loop. -func sqlite3SkipAccumulatorLoad(tls *libc.TLS, context uintptr) { /* sqlite3.c:121092:13: */ +func sqlite3SkipAccumulatorLoad(tls *libc.TLS, context uintptr) { /* sqlite3.c:121105:13: */ (*Sqlite3_context)(unsafe.Pointer(context)).FisError = -1 (*Sqlite3_context)(unsafe.Pointer(context)).FskipFlag = U8(1) } // Implementation of the non-aggregate min() and max() functions -func minmaxFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121101:13: */ +func minmaxFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121114:13: */ var i int32 var mask int32 // 0 for min() or 0xffffffff for max() var iBest int32 @@ -99179,7 +99198,7 @@ func minmaxFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* s } // Return the type of the argument. -func typeofFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { /* sqlite3.c:121131:13: */ +func typeofFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { /* sqlite3.c:121144:13: */ var i int32 = Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(argv))) - 1 _ = NotUsed @@ -99190,18 +99209,18 @@ func typeofFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { / Xsqlite3_result_text(tls, context, azType2[i], -1, uintptr(0)) } -var azType2 = [5]uintptr{ts + 6126, ts + 6121, ts + 7876, ts + 7871, ts + 6116} /* sqlite3.c:121136:21 */ +var azType2 = [5]uintptr{ts + 6126, ts + 6121, ts + 7876, ts + 7871, ts + 6116} /* sqlite3.c:121149:21 */ // subtype(X) // // Return the subtype of X -func subtypeFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121156:13: */ +func subtypeFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121169:13: */ _ = argc Xsqlite3_result_int(tls, context, int32(Xsqlite3_value_subtype(tls, *(*uintptr)(unsafe.Pointer(argv))))) } // Implementation of the length() function -func lengthFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121168:13: */ +func lengthFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121181:13: */ _ = argc switch Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(argv))) { @@ -99250,7 +99269,7 @@ func lengthFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* s // // IMP: R-23979-26855 The abs(X) function returns the absolute value of // the numeric argument X. -func absFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121210:13: */ +func absFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121223:13: */ _ = argc switch Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(argv))) { @@ -99304,7 +99323,7 @@ func absFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqli // If both haystack and needle are BLOBs, then the result is one more than // the number of bytes in haystack prior to the first occurrence of needle, // or 0 if needle never occurs in haystack. -func instrFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121259:13: */ +func instrFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121272:13: */ var zHaystack uintptr var zNeedle uintptr var nHaystack int32 @@ -99419,7 +99438,7 @@ endInstrOOM: } // Implementation of the printf() (a.k.a. format()) SQL function. -func printfFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121327:13: */ +func printfFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121340:13: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -99456,7 +99475,7 @@ func printfFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* s // If p1 is negative, then we begin abs(p1) from the end of x[]. // // If p2 is negative, return the p2 characters preceding p1. -func substrFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121363:13: */ +func substrFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121376:13: */ var z uintptr var z2 uintptr var len int32 @@ -99564,7 +99583,7 @@ func substrFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* s } // Implementation of the round() function -func roundFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121458:13: */ +func roundFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121471:13: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -99618,7 +99637,7 @@ func roundFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sq // the database handle that malloc() has failed and return NULL. // If nByte is larger than the maximum string or blob length, then // raise an SQLITE_TOOBIG exception and return NULL. -func contextMalloc(tls *libc.TLS, context uintptr, nByte I64) uintptr { /* sqlite3.c:121499:13: */ +func contextMalloc(tls *libc.TLS, context uintptr, nByte I64) uintptr { /* sqlite3.c:121512:13: */ var z uintptr var db uintptr = Xsqlite3_context_db_handle(tls, context) @@ -99635,7 +99654,7 @@ func contextMalloc(tls *libc.TLS, context uintptr, nByte I64) uintptr { /* sqlit } // Implementation of the upper() and lower() SQL functions. -func upperFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121520:13: */ +func upperFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121533:13: */ var z1 uintptr var z2 uintptr var i int32 @@ -99656,7 +99675,7 @@ func upperFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sq } } -func lowerFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121539:13: */ +func lowerFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121552:13: */ var z1 uintptr var z2 uintptr var i int32 @@ -99685,7 +99704,7 @@ func lowerFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sq // is. We might as well use the "version()" function as a substitute. // Implementation of random(). Return a random integer. -func randomFunc(tls *libc.TLS, context uintptr, NotUsed int32, NotUsed2 uintptr) { /* sqlite3.c:121572:13: */ +func randomFunc(tls *libc.TLS, context uintptr, NotUsed int32, NotUsed2 uintptr) { /* sqlite3.c:121585:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -99709,7 +99728,7 @@ func randomFunc(tls *libc.TLS, context uintptr, NotUsed int32, NotUsed2 uintptr) // Implementation of randomblob(N). Return a random blob // that is N bytes long. -func randomBlob(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121598:13: */ +func randomBlob(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121611:13: */ var n Sqlite3_int64 var p uintptr @@ -99727,7 +99746,7 @@ func randomBlob(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* s // Implementation of the last_insert_rowid() SQL function. The return // value is the same as the sqlite3_last_insert_rowid() API function. -func last_insert_rowid(tls *libc.TLS, context uintptr, NotUsed int32, NotUsed2 uintptr) { /* sqlite3.c:121622:13: */ +func last_insert_rowid(tls *libc.TLS, context uintptr, NotUsed int32, NotUsed2 uintptr) { /* sqlite3.c:121635:13: */ var db uintptr = Xsqlite3_context_db_handle(tls, context) _ = NotUsed _ = NotUsed2 @@ -99742,7 +99761,7 @@ func last_insert_rowid(tls *libc.TLS, context uintptr, NotUsed int32, NotUsed2 u // IMP: R-32760-32347 The changes() SQL function is a wrapper // around the sqlite3_changes64() C/C++ function and hence follows the // same rules for counting changes. -func changes(tls *libc.TLS, context uintptr, NotUsed int32, NotUsed2 uintptr) { /* sqlite3.c:121642:13: */ +func changes(tls *libc.TLS, context uintptr, NotUsed int32, NotUsed2 uintptr) { /* sqlite3.c:121655:13: */ var db uintptr = Xsqlite3_context_db_handle(tls, context) _ = NotUsed _ = NotUsed2 @@ -99751,7 +99770,7 @@ func changes(tls *libc.TLS, context uintptr, NotUsed int32, NotUsed2 uintptr) { // Implementation of the total_changes() SQL function. The return value is // the same as the sqlite3_total_changes64() API function. -func total_changes(tls *libc.TLS, context uintptr, NotUsed int32, NotUsed2 uintptr) { /* sqlite3.c:121656:13: */ +func total_changes(tls *libc.TLS, context uintptr, NotUsed int32, NotUsed2 uintptr) { /* sqlite3.c:121669:13: */ var db uintptr = Xsqlite3_context_db_handle(tls, context) _ = NotUsed _ = NotUsed2 @@ -99766,20 +99785,20 @@ type compareInfo = struct { FmatchOne U8 FmatchSet U8 FnoCase U8 -} /* sqlite3.c:121671:1 */ +} /* sqlite3.c:121684:1 */ // For LIKE and GLOB matching on EBCDIC machines, assume that every // character is exactly one byte in size. Also, provde the Utf8Read() // macro for fast reading of the next character in the common case where // the next character is ASCII. -var globInfo = compareInfo{FmatchAll: U8('*'), FmatchOne: U8('?'), FmatchSet: U8('[')} /* sqlite3.c:121691:33 */ +var globInfo = compareInfo{FmatchAll: U8('*'), FmatchOne: U8('?'), FmatchSet: U8('[')} /* sqlite3.c:121704:33 */ // The correct SQL-92 behavior is for the LIKE operator to ignore // case. Thus 'a' LIKE 'A' would be true. -var likeInfoNorm = compareInfo{FmatchAll: U8('%'), FmatchOne: U8('_'), FnoCase: U8(1)} /* sqlite3.c:121694:33 */ +var likeInfoNorm = compareInfo{FmatchAll: U8('%'), FmatchOne: U8('_'), FnoCase: U8(1)} /* sqlite3.c:121707:33 */ // If SQLITE_CASE_SENSITIVE_LIKE is defined, then the LIKE operator // is case sensitive causing 'a' LIKE 'A' to be false -var likeInfoAlt = compareInfo{FmatchAll: U8('%'), FmatchOne: U8('_')} /* sqlite3.c:121697:33 */ +var likeInfoAlt = compareInfo{FmatchAll: U8('%'), FmatchOne: U8('_')} /* sqlite3.c:121710:33 */ // Possible error returns from patternMatch() @@ -99819,7 +99838,7 @@ var likeInfoAlt = compareInfo{FmatchAll: U8('%'), FmatchOne: U8('_')} /* sqlite3 // The comments within this routine usually assume glob matching. // // This routine is usually quick, but can be N**2 in the worst case. -func patternCompare(tls *libc.TLS, zPattern uintptr, zString uintptr, pInfo uintptr, matchOther U32) int32 { /* sqlite3.c:121744:12: */ +func patternCompare(tls *libc.TLS, zPattern uintptr, zString uintptr, pInfo uintptr, matchOther U32) int32 { /* sqlite3.c:121757:12: */ bp := tls.Alloc(19) defer tls.Free(19) *(*uintptr)(unsafe.Pointer(bp)) = zPattern @@ -100005,13 +100024,13 @@ func patternCompare(tls *libc.TLS, zPattern uintptr, zString uintptr, pInfo uint // The sqlite3_strglob() interface. Return 0 on a match (like strcmp()) and // non-zero if there is no match. -func Xsqlite3_strglob(tls *libc.TLS, zGlobPattern uintptr, zString uintptr) int32 { /* sqlite3.c:121877:16: */ +func Xsqlite3_strglob(tls *libc.TLS, zGlobPattern uintptr, zString uintptr) int32 { /* sqlite3.c:121890:16: */ return patternCompare(tls, zGlobPattern, zString, uintptr(unsafe.Pointer(&globInfo)), uint32('[')) } // The sqlite3_strlike() interface. Return 0 on a match and non-zero for // a miss - like strcmp(). -func Xsqlite3_strlike(tls *libc.TLS, zPattern uintptr, zStr uintptr, esc uint32) int32 { /* sqlite3.c:121885:16: */ +func Xsqlite3_strlike(tls *libc.TLS, zPattern uintptr, zStr uintptr, esc uint32) int32 { /* sqlite3.c:121898:16: */ return patternCompare(tls, zPattern, zStr, uintptr(unsafe.Pointer(&likeInfoNorm)), esc) } @@ -100029,7 +100048,7 @@ func Xsqlite3_strlike(tls *libc.TLS, zPattern uintptr, zStr uintptr, esc uint32) // // This same function (with a different compareInfo structure) computes // the GLOB operator. -func likeFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121911:13: */ +func likeFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121924:13: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -100092,7 +100111,7 @@ func likeFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sql // Implementation of the NULLIF(x,y) function. The result is the first // argument if the arguments are different. The result is NULL if the // arguments are equal to each other. -func nullifFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { /* sqlite3.c:121982:13: */ +func nullifFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { /* sqlite3.c:121995:13: */ var pColl uintptr = sqlite3GetFuncCollSeq(tls, context) _ = NotUsed if Xsqlite3MemCompare(tls, *(*uintptr)(unsafe.Pointer(argv)), *(*uintptr)(unsafe.Pointer(argv + 1*8)), pColl) != 0 { @@ -100102,7 +100121,7 @@ func nullifFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { / // Implementation of the sqlite_version() function. The result is the version // of the SQLite library that is running. -func versionFunc(tls *libc.TLS, context uintptr, NotUsed int32, NotUsed2 uintptr) { /* sqlite3.c:121998:13: */ +func versionFunc(tls *libc.TLS, context uintptr, NotUsed int32, NotUsed2 uintptr) { /* sqlite3.c:122011:13: */ _ = NotUsed _ = NotUsed2 // IMP: R-48699-48617 This function is an SQL wrapper around the @@ -100113,7 +100132,7 @@ func versionFunc(tls *libc.TLS, context uintptr, NotUsed int32, NotUsed2 uintptr // Implementation of the sqlite_source_id() function. The result is a string // that identifies the particular version of the source code used to build // SQLite. -func sourceidFunc(tls *libc.TLS, context uintptr, NotUsed int32, NotUsed2 uintptr) { /* sqlite3.c:122014:13: */ +func sourceidFunc(tls *libc.TLS, context uintptr, NotUsed int32, NotUsed2 uintptr) { /* sqlite3.c:122027:13: */ _ = NotUsed _ = NotUsed2 // IMP: R-24470-31136 This function is an SQL wrapper around the @@ -100124,7 +100143,7 @@ func sourceidFunc(tls *libc.TLS, context uintptr, NotUsed int32, NotUsed2 uintpt // Implementation of the sqlite_log() function. This is a wrapper around // sqlite3_log(). The return value is NULL. The function exists purely for // its side-effects. -func errlogFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122030:13: */ +func errlogFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122043:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -100136,7 +100155,7 @@ func errlogFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* s // Implementation of the sqlite_compileoption_used() function. // The result is an integer that identifies if the compiler option // was used to build SQLite. -func compileoptionusedFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122046:13: */ +func compileoptionusedFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122059:13: */ var zOptName uintptr _ = argc @@ -100151,7 +100170,7 @@ func compileoptionusedFunc(tls *libc.TLS, context uintptr, argc int32, argv uint // Implementation of the sqlite_compileoption_get() function. // The result is a string that identifies the compiler options // used to build SQLite. -func compileoptiongetFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122070:13: */ +func compileoptiongetFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122083:13: */ var n int32 _ = argc @@ -100166,11 +100185,11 @@ func compileoptiongetFunc(tls *libc.TLS, context uintptr, argc int32, argv uintp var hexdigits = [16]int8{ int8('0'), int8('1'), int8('2'), int8('3'), int8('4'), int8('5'), int8('6'), int8('7'), int8('8'), int8('9'), int8('A'), int8('B'), int8('C'), int8('D'), int8('E'), int8('F'), -} /* sqlite3.c:122088:19 */ +} /* sqlite3.c:122101:19 */ // Append to pStr text that is the SQL literal representation of the // value contained in pValue. -func Xsqlite3QuoteValue(tls *libc.TLS, pStr uintptr, pValue uintptr) { /* sqlite3.c:122097:21: */ +func Xsqlite3QuoteValue(tls *libc.TLS, pStr uintptr, pValue uintptr) { /* sqlite3.c:122110:21: */ bp := tls.Alloc(40) defer tls.Free(40) @@ -100251,7 +100270,7 @@ func Xsqlite3QuoteValue(tls *libc.TLS, pStr uintptr, pValue uintptr) { /* sqlite // as needed. BLOBs are encoded as hexadecimal literals. Strings with // embedded NUL characters cannot be represented as string literals in SQL // and hence the returned string literal is truncated prior to the first NUL. -func quoteFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122166:13: */ +func quoteFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122179:13: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -100274,7 +100293,7 @@ func quoteFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sq // The unicode() function. Return the integer unicode code-point value // for the first character of the input string. -func unicodeFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122185:13: */ +func unicodeFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122198:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -100288,7 +100307,7 @@ func unicodeFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* // The char() function takes zero or more arguments, each of which is // an integer. It constructs a string where each character of the string // is the unicode character for the corresponding integer argument. -func charFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122200:13: */ +func charFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122213:13: */ var z uintptr var zOut uintptr var i int32 @@ -100326,7 +100345,7 @@ func charFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sql // The hex() function. Interpret the argument as a blob. Return // a hexadecimal rendering as text. -func hexFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122241:13: */ +func hexFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122254:13: */ var i int32 var n int32 var pBlob uintptr @@ -100364,7 +100383,7 @@ func hexFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqli } // The zeroblob(N) function returns a zero-filled blob of size N bytes. -func zeroblobFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122269:13: */ +func zeroblobFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122282:13: */ var n I64 var rc int32 @@ -100383,7 +100402,7 @@ func zeroblobFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* // them A, B, and C. The result is also a string which is derived // from A by replacing every occurrence of B with C. The match // must be exact. Collating sequences are not used. -func replaceFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122292:13: */ +func replaceFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122305:13: */ var zStr uintptr // The input string A var zPattern uintptr // The pattern string B var zRep uintptr // The replacement string C @@ -100472,7 +100491,7 @@ func replaceFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* // Implementation of the TRIM(), LTRIM(), and RTRIM() functions. // The userdata is 0x1 for left trim, 0x2 for right trim, 0x3 for both. -func trimFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122385:13: */ +func trimFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122398:13: */ var zIn uintptr // Input string var zCharSet uintptr // Set of characters to trim var nIn uint32 // Number of bytes in input @@ -100575,8 +100594,8 @@ func trimFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sql Xsqlite3_result_text(tls, context, zIn, int32(nIn), libc.UintptrFromInt32(-1)) } -var lenOne = [1]uint32{uint32(1)} /* sqlite3.c:122407:27 */ -var azOne = [1]uintptr{uintptr(ts + 10789 /* " " */)} /* sqlite3.c:122408:26 */ +var lenOne = [1]uint32{uint32(1)} /* sqlite3.c:122420:27 */ +var azOne = [1]uintptr{uintptr(ts + 10789 /* " " */)} /* sqlite3.c:122421:26 */ // IMP: R-25361-16150 This function is omitted from SQLite by default. It // is only available if the SQLITE_SOUNDEX compile-time option is used @@ -100585,7 +100604,7 @@ var azOne = [1]uintptr{uintptr(ts + 10789 /* " " */)} /* sqlite3.c:122408:26 */ // // IMP: R-59782-00072 The soundex(X) function returns a string that is the // soundex encoding of the string X. -func soundexFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122498:13: */ +func soundexFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122511:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -100636,10 +100655,10 @@ var iCode = [128]uint8{ uint8(1), uint8(2), uint8(6), uint8(2), uint8(3), uint8(0), uint8(1), uint8(0), uint8(2), uint8(0), uint8(2), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(1), uint8(2), uint8(3), uint8(0), uint8(1), uint8(2), uint8(0), uint8(0), uint8(2), uint8(2), uint8(4), uint8(5), uint8(5), uint8(0), uint8(1), uint8(2), uint8(6), uint8(2), uint8(3), uint8(0), uint8(1), uint8(0), uint8(2), uint8(0), uint8(2), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), -} /* sqlite3.c:122506:30 */ +} /* sqlite3.c:122519:30 */ // A function that loads a shared-library extension then returns NULL. -func loadExt(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122551:13: */ +func loadExt(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122564:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -100675,11 +100694,11 @@ type SumCtx1 = struct { Foverflow U8 Fapprox U8 F__ccgo_pad1 [6]byte -} /* sqlite3.c:122582:9 */ +} /* sqlite3.c:122595:9 */ // An instance of the following structure holds the context of a // sum() or avg() aggregate computation. -type SumCtx = SumCtx1 /* sqlite3.c:122582:23 */ +type SumCtx = SumCtx1 /* sqlite3.c:122595:23 */ // Routines used to compute the sum, average, and total. // @@ -100689,7 +100708,7 @@ type SumCtx = SumCtx1 /* sqlite3.c:122582:23 */ // SUM might return an integer if it never encounters a floating point // value. TOTAL never fails, but SUM might through an exception if // it overflows an integer. -func sumStep(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122601:13: */ +func sumStep(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122614:13: */ var p uintptr var type1 int32 @@ -100711,7 +100730,7 @@ func sumStep(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqli } } -func sumInverse(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122623:13: */ +func sumInverse(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122636:13: */ var p uintptr var type1 int32 @@ -100734,7 +100753,7 @@ func sumInverse(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* s } } -func sumFinalize(tls *libc.TLS, context uintptr) { /* sqlite3.c:122648:13: */ +func sumFinalize(tls *libc.TLS, context uintptr) { /* sqlite3.c:122661:13: */ var p uintptr p = Xsqlite3_aggregate_context(tls, context, 0) if p != 0 && (*SumCtx)(unsafe.Pointer(p)).Fcnt > int64(0) { @@ -100748,7 +100767,7 @@ func sumFinalize(tls *libc.TLS, context uintptr) { /* sqlite3.c:122648:13: */ } } -func avgFinalize(tls *libc.TLS, context uintptr) { /* sqlite3.c:122661:13: */ +func avgFinalize(tls *libc.TLS, context uintptr) { /* sqlite3.c:122674:13: */ var p uintptr p = Xsqlite3_aggregate_context(tls, context, 0) if p != 0 && (*SumCtx)(unsafe.Pointer(p)).Fcnt > int64(0) { @@ -100756,7 +100775,7 @@ func avgFinalize(tls *libc.TLS, context uintptr) { /* sqlite3.c:122661:13: */ } } -func totalFinalize(tls *libc.TLS, context uintptr) { /* sqlite3.c:122668:13: */ +func totalFinalize(tls *libc.TLS, context uintptr) { /* sqlite3.c:122681:13: */ var p uintptr p = Xsqlite3_aggregate_context(tls, context, 0) // (double)0 In case of SQLITE_OMIT_FLOATING_POINT... @@ -100770,14 +100789,14 @@ func totalFinalize(tls *libc.TLS, context uintptr) { /* sqlite3.c:122668:13: */ // The following structure keeps track of state information for the // count() aggregate function. -type CountCtx1 = struct{ Fn I64 } /* sqlite3.c:122679:9 */ +type CountCtx1 = struct{ Fn I64 } /* sqlite3.c:122692:9 */ // The following structure keeps track of state information for the // count() aggregate function. -type CountCtx = CountCtx1 /* sqlite3.c:122679:25 */ +type CountCtx = CountCtx1 /* sqlite3.c:122692:25 */ // Routines to implement the count() aggregate function. -func countStep(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122690:13: */ +func countStep(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122703:13: */ var p uintptr p = Xsqlite3_aggregate_context(tls, context, int32(unsafe.Sizeof(CountCtx{}))) if (argc == 0 || SQLITE_NULL != Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(argv)))) && p != 0 { @@ -100791,7 +100810,7 @@ func countStep(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sq } -func countFinalize(tls *libc.TLS, context uintptr) { /* sqlite3.c:122706:13: */ +func countFinalize(tls *libc.TLS, context uintptr) { /* sqlite3.c:122719:13: */ var p uintptr p = Xsqlite3_aggregate_context(tls, context, 0) Xsqlite3_result_int64(tls, context, func() int64 { @@ -100802,7 +100821,7 @@ func countFinalize(tls *libc.TLS, context uintptr) { /* sqlite3.c:122706:13: */ }()) } -func countInverse(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:122712:13: */ +func countInverse(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:122725:13: */ var p uintptr p = Xsqlite3_aggregate_context(tls, ctx, int32(unsafe.Sizeof(CountCtx{}))) // p is always non-NULL since countStep() will have been called first @@ -100812,7 +100831,7 @@ func countInverse(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sql } // Routines to implement min() and max() aggregate functions. -func minmaxStep(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { /* sqlite3.c:122730:13: */ +func minmaxStep(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { /* sqlite3.c:122743:13: */ var pArg uintptr = *(*uintptr)(unsafe.Pointer(argv)) var pBest uintptr _ = NotUsed @@ -100850,7 +100869,7 @@ func minmaxStep(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { / } } -func minMaxValueFinalize(tls *libc.TLS, context uintptr, bValue int32) { /* sqlite3.c:122768:13: */ +func minMaxValueFinalize(tls *libc.TLS, context uintptr, bValue int32) { /* sqlite3.c:122781:13: */ var pRes uintptr pRes = Xsqlite3_aggregate_context(tls, context, 0) if pRes != 0 { @@ -100863,11 +100882,11 @@ func minMaxValueFinalize(tls *libc.TLS, context uintptr, bValue int32) { /* sqli } } -func minMaxValue(tls *libc.TLS, context uintptr) { /* sqlite3.c:122779:13: */ +func minMaxValue(tls *libc.TLS, context uintptr) { /* sqlite3.c:122792:13: */ minMaxValueFinalize(tls, context, 1) } -func minMaxFinalize(tls *libc.TLS, context uintptr) { /* sqlite3.c:122785:13: */ +func minMaxFinalize(tls *libc.TLS, context uintptr) { /* sqlite3.c:122798:13: */ minMaxValueFinalize(tls, context, 0) } @@ -100883,9 +100902,9 @@ type GroupConcatCtx = struct { FnAccum int32 FnFirstSepLength int32 FpnSepLengths uintptr -} /* sqlite3.c:122810:3 */ +} /* sqlite3.c:122823:3 */ -func groupConcatStep(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122812:13: */ +func groupConcatStep(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122825:13: */ var zVal uintptr var pGCC uintptr var zSep uintptr @@ -100950,7 +100969,7 @@ func groupConcatStep(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { } } -func groupConcatInverse(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122883:13: */ +func groupConcatInverse(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122896:13: */ var pGCC uintptr _ = argc // Suppress unused parameter warning @@ -100992,7 +101011,7 @@ func groupConcatInverse(tls *libc.TLS, context uintptr, argc int32, argv uintptr } } -func groupConcatFinalize(tls *libc.TLS, context uintptr) { /* sqlite3.c:122929:13: */ +func groupConcatFinalize(tls *libc.TLS, context uintptr) { /* sqlite3.c:122942:13: */ var pGCC uintptr = Xsqlite3_aggregate_context(tls, context, 0) if pGCC != 0 { Xsqlite3ResultStrAccum(tls, context, pGCC) @@ -101000,7 +101019,7 @@ func groupConcatFinalize(tls *libc.TLS, context uintptr) { /* sqlite3.c:122929:1 } } -func groupConcatValue(tls *libc.TLS, context uintptr) { /* sqlite3.c:122940:13: */ +func groupConcatValue(tls *libc.TLS, context uintptr) { /* sqlite3.c:122953:13: */ var pGCC uintptr = Xsqlite3_aggregate_context(tls, context, 0) if pGCC != 0 { var pAccum uintptr = pGCC @@ -101018,7 +101037,7 @@ func groupConcatValue(tls *libc.TLS, context uintptr) { /* sqlite3.c:122940:13: // This routine does per-connection function registration. Most // of the built-in functions above are part of the global function set. // This routine only deals with those that are not global. -func Xsqlite3RegisterPerConnectionBuiltinFunctions(tls *libc.TLS, db uintptr) { /* sqlite3.c:122964:21: */ +func Xsqlite3RegisterPerConnectionBuiltinFunctions(tls *libc.TLS, db uintptr) { /* sqlite3.c:122977:21: */ var rc int32 = Xsqlite3_overload_function(tls, db, ts+14849, 2) if rc == SQLITE_NOMEM { @@ -101029,7 +101048,7 @@ func Xsqlite3RegisterPerConnectionBuiltinFunctions(tls *libc.TLS, db uintptr) { // Re-register the built-in LIKE functions. The caseSensitive // parameter determines whether or not the LIKE operator is case // sensitive. -func Xsqlite3RegisterLikeFunctions(tls *libc.TLS, db uintptr, caseSensitive int32) { /* sqlite3.c:122977:21: */ +func Xsqlite3RegisterLikeFunctions(tls *libc.TLS, db uintptr, caseSensitive int32) { /* sqlite3.c:122990:21: */ var pInfo uintptr var flags int32 if caseSensitive != 0 { @@ -101064,7 +101083,7 @@ func Xsqlite3RegisterLikeFunctions(tls *libc.TLS, db uintptr, caseSensitive int3 // the function (default for LIKE). If the function makes the distinction // between uppercase and lowercase (as does GLOB) then *pIsNocase is set to // false. -func Xsqlite3IsLikeFunction(tls *libc.TLS, db uintptr, pExpr uintptr, pIsNocase uintptr, aWc uintptr) int32 { /* sqlite3.c:123010:20: */ +func Xsqlite3IsLikeFunction(tls *libc.TLS, db uintptr, pExpr uintptr, pIsNocase uintptr, aWc uintptr) int32 { /* sqlite3.c:123023:20: */ var pDef uintptr var nExpr int32 @@ -101120,7 +101139,7 @@ func Xsqlite3IsLikeFunction(tls *libc.TLS, db uintptr, pExpr uintptr, pIsNocase // // The sqlite3_user_data() pointer is a pointer to the libm implementation // of the underlying C function. -func ceilingFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:123081:13: */ +func ceilingFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:123094:13: */ switch Xsqlite3_value_numeric_type(tls, *(*uintptr)(unsafe.Pointer(argv))) { case SQLITE_INTEGER: @@ -101149,11 +101168,11 @@ func ceilingFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* // On some systems, ceil() and floor() are intrinsic function. You are // unable to take a pointer to these functions. Hence, we here wrap them // in our own actual functions. -func xCeil(tls *libc.TLS, x float64) float64 { /* sqlite3.c:123108:15: */ +func xCeil(tls *libc.TLS, x float64) float64 { /* sqlite3.c:123121:15: */ return libc.Xceil(tls, x) } -func xFloor(tls *libc.TLS, x float64) float64 { /* sqlite3.c:123109:15: */ +func xFloor(tls *libc.TLS, x float64) float64 { /* sqlite3.c:123122:15: */ return libc.Xfloor(tls, x) } @@ -101163,7 +101182,7 @@ func xFloor(tls *libc.TLS, x float64) float64 { /* sqlite3.c:123109:15: */ // log(X) - log X base 10 // log10(X) - log X base 10 // log(B,X) - log X base B -func logFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:123119:13: */ +func logFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:123132:13: */ var x float64 var b float64 var ans float64 @@ -101220,18 +101239,18 @@ func logFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqli } // Functions to converts degrees to radians and radians to degrees. -func degToRad(tls *libc.TLS, x float64) float64 { /* sqlite3.c:123169:15: */ +func degToRad(tls *libc.TLS, x float64) float64 { /* sqlite3.c:123182:15: */ return x * (float64(3.14159265358979323846) / 180.0) } -func radToDeg(tls *libc.TLS, x float64) float64 { /* sqlite3.c:123170:15: */ +func radToDeg(tls *libc.TLS, x float64) float64 { /* sqlite3.c:123183:15: */ return x * (float64(180.0) / 3.14159265358979323846) } // Implementation of 1-argument SQL math functions: // // exp(X) - Compute e to the X-th power -func math1Func(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:123177:13: */ +func math1Func(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:123190:13: */ var type0 int32 var v0 float64 var ans float64 @@ -101252,7 +101271,7 @@ func math1Func(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sq // Implementation of 2-argument SQL math functions: // // power(X,Y) - Compute X to the Y-th power -func math2Func(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:123199:13: */ +func math2Func(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:123212:13: */ var type0 int32 var type1 int32 var v0 float64 @@ -101278,13 +101297,13 @@ func math2Func(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sq } // Implementation of 0-argument pi() function. -func piFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:123222:13: */ +func piFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:123235:13: */ Xsqlite3_result_double(tls, context, 3.14159265358979323846) } // Implementation of sign(X) function. -func signFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:123236:13: */ +func signFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:123249:13: */ var type0 int32 var x float64 _ = argc @@ -101312,7 +101331,7 @@ func signFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sql // a consequence of calling sqlite3_initialize()). // // After this routine runs -func Xsqlite3RegisterBuiltinFunctions(tls *libc.TLS) { /* sqlite3.c:123258:21: */ +func Xsqlite3RegisterBuiltinFunctions(tls *libc.TLS) { /* sqlite3.c:123271:21: */ Xsqlite3AlterFunctions(tls) Xsqlite3WindowFunctions(tls) Xsqlite3RegisterDateTimeFunctions(tls) @@ -101425,7 +101444,7 @@ var aBuiltinFunc = [101]FuncDef{ {FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_FUNC_CONSTANT | SQLITE_UTF8 | 0*SQLITE_FUNC_NEEDCOLL), FxSFunc: 0, FzName: ts + 15491}, {FnArg: int8(1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_FUNC_CONSTANT | SQLITE_UTF8 | 0*SQLITE_FUNC_NEEDCOLL), FxSFunc: 0, FzName: ts + 15494}, {FnArg: int8(-1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_UTF8 | SQLITE_FUNC_INLINE | SQLITE_FUNC_CONSTANT | 0), FxSFunc: 0, FzName: ts + 15334}, - {FnArg: int8(3), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_UTF8 | SQLITE_FUNC_INLINE | SQLITE_FUNC_CONSTANT | 0), FpUserData: uintptr(int64(INLINEFUNC_iif)), FxSFunc: 0, FzName: ts + 15499}} /* sqlite3.c:123269:18 */ + {FnArg: int8(3), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_UTF8 | SQLITE_FUNC_INLINE | SQLITE_FUNC_CONSTANT | 0), FpUserData: uintptr(int64(INLINEFUNC_iif)), FxSFunc: 0, FzName: ts + 15499}} /* sqlite3.c:123282:18 */ //************* End of func.c *********************************************** //************* Begin file fkey.c ******************************************* @@ -101600,7 +101619,7 @@ var aBuiltinFunc = [101]FuncDef{ // then non-zero is returned, and a "foreign key mismatch" error loaded // into pParse. If an OOM error occurs, non-zero is returned and the // pParse->db->mallocFailed flag is set. -func Xsqlite3FkLocateIndex(tls *libc.TLS, pParse uintptr, pParent uintptr, pFKey uintptr, ppIdx uintptr, paiCol uintptr) int32 { /* sqlite3.c:123622:20: */ +func Xsqlite3FkLocateIndex(tls *libc.TLS, pParse uintptr, pParent uintptr, pFKey uintptr, ppIdx uintptr, paiCol uintptr) int32 { /* sqlite3.c:123635:20: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -101746,7 +101765,7 @@ func Xsqlite3FkLocateIndex(tls *libc.TLS, pParse uintptr, pParent uintptr, pFKey // // These operations are identified in the comment at the top of this file // (fkey.c) as "I.1" and "D.1". -func fkLookupParent(tls *libc.TLS, pParse uintptr, iDb int32, pTab uintptr, pIdx uintptr, pFKey uintptr, aiCol uintptr, regData int32, nIncr int32, isIgnore int32) { /* sqlite3.c:123759:13: */ +func fkLookupParent(tls *libc.TLS, pParse uintptr, iDb int32, pTab uintptr, pIdx uintptr, pFKey uintptr, aiCol uintptr, regData int32, nIncr int32, isIgnore int32) { /* sqlite3.c:123772:13: */ var i int32 // Iterator variable var v uintptr = Xsqlite3GetVdbe(tls, pParse) // Vdbe to add code to var iCur int32 = (*Parse)(unsafe.Pointer(pParse)).FnTab - 1 // Cursor number to use @@ -101876,7 +101895,7 @@ func fkLookupParent(tls *libc.TLS, pParse uintptr, iDb int32, pTab uintptr, pIdx // regBase is the first of an array of register that contains the data // for pTab. regBase itself holds the rowid. regBase+1 holds the first // column. regBase+2 holds the second column, and so forth. -func exprTableRegister(tls *libc.TLS, pParse uintptr, pTab uintptr, regBase int32, iCol I16) uintptr { /* sqlite3.c:123912:13: */ +func exprTableRegister(tls *libc.TLS, pParse uintptr, pTab uintptr, regBase int32, iCol I16) uintptr { /* sqlite3.c:123925:13: */ var pExpr uintptr var pCol uintptr var zColl uintptr @@ -101903,7 +101922,7 @@ func exprTableRegister(tls *libc.TLS, pParse uintptr, pTab uintptr, regBase int3 // Return an Expr object that refers to column iCol of table pTab which // has cursor iCur. -func exprTableColumn(tls *libc.TLS, db uintptr, pTab uintptr, iCursor int32, iCol I16) uintptr { /* sqlite3.c:123944:13: */ +func exprTableColumn(tls *libc.TLS, db uintptr, pTab uintptr, iCursor int32, iCol I16) uintptr { /* sqlite3.c:123957:13: */ var pExpr uintptr = Xsqlite3Expr(tls, db, TK_COLUMN, uintptr(0)) if pExpr != 0 { @@ -101944,7 +101963,7 @@ func exprTableColumn(tls *libc.TLS, db uintptr, pTab uintptr, iCursor int32, iCo // // These operations are identified in the comment at the top of this file // (fkey.c) as "I.2" and "D.2". -func fkScanChildren(tls *libc.TLS, pParse uintptr, pSrc uintptr, pTab uintptr, pIdx uintptr, pFKey uintptr, aiCol uintptr, regData int32, nIncr int32) { /* sqlite3.c:123992:13: */ +func fkScanChildren(tls *libc.TLS, pParse uintptr, pSrc uintptr, pTab uintptr, pIdx uintptr, pFKey uintptr, aiCol uintptr, regData int32, nIncr int32) { /* sqlite3.c:124005:13: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -102068,7 +102087,7 @@ func fkScanChildren(tls *libc.TLS, pParse uintptr, pSrc uintptr, pTab uintptr, p // "t2". Calling this function with "t2" as the argument would return a // NULL pointer (as there are no FK constraints for which t2 is the parent // table). -func Xsqlite3FkReferences(tls *libc.TLS, pTab uintptr) uintptr { /* sqlite3.c:124121:21: */ +func Xsqlite3FkReferences(tls *libc.TLS, pTab uintptr) uintptr { /* sqlite3.c:124134:21: */ return Xsqlite3HashFind(tls, (*Table)(unsafe.Pointer(pTab)).FpSchema+80, (*Table)(unsafe.Pointer(pTab)).FzName) } @@ -102078,7 +102097,7 @@ func Xsqlite3FkReferences(tls *libc.TLS, pTab uintptr) uintptr { /* sqlite3.c:12 // // The Trigger structure or any of its sub-components may be allocated from // the lookaside buffer belonging to database handle dbMem. -func fkTriggerDelete(tls *libc.TLS, dbMem uintptr, p uintptr) { /* sqlite3.c:124133:13: */ +func fkTriggerDelete(tls *libc.TLS, dbMem uintptr, p uintptr) { /* sqlite3.c:124146:13: */ if p != 0 { var pStep uintptr = (*Trigger)(unsafe.Pointer(p)).Fstep_list Xsqlite3ExprDelete(tls, dbMem, (*TriggerStep)(unsafe.Pointer(pStep)).FpWhere) @@ -102092,7 +102111,7 @@ func fkTriggerDelete(tls *libc.TLS, dbMem uintptr, p uintptr) { /* sqlite3.c:124 // Clear the apTrigger[] cache of CASCADE triggers for all foreign keys // in a particular database. This needs to happen when the schema // changes. -func Xsqlite3FkClearTriggerCache(tls *libc.TLS, db uintptr, iDb int32) { /* sqlite3.c:124149:21: */ +func Xsqlite3FkClearTriggerCache(tls *libc.TLS, db uintptr, iDb int32) { /* sqlite3.c:124162:21: */ var k uintptr var pHash uintptr = (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(iDb)*32)).FpSchema + 8 for k = (*Hash)(unsafe.Pointer(pHash)).Ffirst; k != 0; k = (*HashElem)(unsafe.Pointer(k)).Fnext { @@ -102125,7 +102144,7 @@ func Xsqlite3FkClearTriggerCache(tls *libc.TLS, db uintptr, iDb int32) { /* sqli // then the equivalent of "DELETE FROM " is executed before dropping // the table from the database. Triggers are disabled while running this // DELETE, but foreign key actions are not. -func Xsqlite3FkDropTable(tls *libc.TLS, pParse uintptr, pName uintptr, pTab uintptr) { /* sqlite3.c:124180:21: */ +func Xsqlite3FkDropTable(tls *libc.TLS, pParse uintptr, pName uintptr, pTab uintptr) { /* sqlite3.c:124193:21: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb if (*Sqlite3)(unsafe.Pointer(db)).Fflags&uint64(SQLITE_ForeignKeys) != 0 && int32((*Table)(unsafe.Pointer(pTab)).FeTabType) == TABTYP_NORM { var iSkip int32 = 0 @@ -102188,7 +102207,7 @@ func Xsqlite3FkDropTable(tls *libc.TLS, pParse uintptr, pName uintptr, pTab uint // // This function returns true if any of the columns that are part of the // child key for FK constraint *p are modified. -func fkChildIsModified(tls *libc.TLS, pTab uintptr, p uintptr, aChange uintptr, bChngRowid int32) int32 { /* sqlite3.c:124243:12: */ +func fkChildIsModified(tls *libc.TLS, pTab uintptr, p uintptr, aChange uintptr, bChngRowid int32) int32 { /* sqlite3.c:124256:12: */ var i int32 for i = 0; i < (*FKey)(unsafe.Pointer(p)).FnCol; i++ { var iChildKey int32 = (*sColMap)(unsafe.Pointer(p + 64 + uintptr(i)*16)).FiFrom @@ -102212,7 +102231,7 @@ func fkChildIsModified(tls *libc.TLS, pTab uintptr, p uintptr, aChange uintptr, // // This function returns true if any of the columns that are part of the // parent key for FK constraint *p are modified. -func fkParentIsModified(tls *libc.TLS, pTab uintptr, p uintptr, aChange uintptr, bChngRowid int32) int32 { /* sqlite3.c:124270:12: */ +func fkParentIsModified(tls *libc.TLS, pTab uintptr, p uintptr, aChange uintptr, bChngRowid int32) int32 { /* sqlite3.c:124283:12: */ var i int32 for i = 0; i < (*FKey)(unsafe.Pointer(p)).FnCol; i++ { var zKey uintptr = (*sColMap)(unsafe.Pointer(p + 64 + uintptr(i)*16)).FzCol @@ -102236,7 +102255,7 @@ func fkParentIsModified(tls *libc.TLS, pTab uintptr, p uintptr, aChange uintptr, // Return true if the parser passed as the first argument is being // used to code a trigger that is really a "SET NULL" action belonging // to trigger pFKey. -func isSetNullAction(tls *libc.TLS, pParse uintptr, pFKey uintptr) int32 { /* sqlite3.c:124299:12: */ +func isSetNullAction(tls *libc.TLS, pParse uintptr, pFKey uintptr) int32 { /* sqlite3.c:124312:12: */ var pTop uintptr = func() uintptr { if (*Parse)(unsafe.Pointer(pParse)).FpToplevel != 0 { return (*Parse)(unsafe.Pointer(pParse)).FpToplevel @@ -102271,7 +102290,7 @@ func isSetNullAction(tls *libc.TLS, pParse uintptr, pFKey uintptr) int32 { /* sq // the original record is deleted from the table using the calling convention // described for DELETE. Then again after the original record is deleted // but before the new record is inserted using the INSERT convention. -func Xsqlite3FkCheck(tls *libc.TLS, pParse uintptr, pTab uintptr, regOld int32, regNew int32, aChange uintptr, bChngRowid int32) { /* sqlite3.c:124332:21: */ +func Xsqlite3FkCheck(tls *libc.TLS, pParse uintptr, pTab uintptr, regOld int32, regNew int32, aChange uintptr, bChngRowid int32) { /* sqlite3.c:124345:21: */ bp := tls.Alloc(40) defer tls.Free(40) @@ -102473,7 +102492,7 @@ func Xsqlite3FkCheck(tls *libc.TLS, pParse uintptr, pTab uintptr, regOld int32, // This function is called before generating code to update or delete a // row contained in table pTab. -func Xsqlite3FkOldmask(tls *libc.TLS, pParse uintptr, pTab uintptr) U32 { /* sqlite3.c:124535:20: */ +func Xsqlite3FkOldmask(tls *libc.TLS, pParse uintptr, pTab uintptr) U32 { /* sqlite3.c:124548:20: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -102532,7 +102551,7 @@ func Xsqlite3FkOldmask(tls *libc.TLS, pParse uintptr, pTab uintptr) U32 { /* sql // not "NO ACTION" (i.e. is CASCADE, SET DEFAULT or SET NULL). // // Or, assuming some other foreign key processing is required, 1. -func Xsqlite3FkRequired(tls *libc.TLS, pParse uintptr, pTab uintptr, aChange uintptr, chngRowid int32) int32 { /* sqlite3.c:124585:20: */ +func Xsqlite3FkRequired(tls *libc.TLS, pParse uintptr, pTab uintptr, aChange uintptr, chngRowid int32) int32 { /* sqlite3.c:124598:20: */ var eRet int32 = 1 // Value to return if bHaveFK is true var bHaveFK int32 = 0 // If FK processing is required if (*Sqlite3)(unsafe.Pointer((*Parse)(unsafe.Pointer(pParse)).Fdb)).Fflags&uint64(SQLITE_ForeignKeys) != 0 && int32((*Table)(unsafe.Pointer(pTab)).FeTabType) == TABTYP_NORM { @@ -102600,7 +102619,7 @@ func Xsqlite3FkRequired(tls *libc.TLS, pParse uintptr, pTab uintptr, aChange uin // The returned pointer is cached as part of the foreign key object. It // is eventually freed along with the rest of the foreign key object by // sqlite3FkDelete(). -func fkActionTrigger(tls *libc.TLS, pParse uintptr, pTab uintptr, pFKey uintptr, pChanges uintptr) uintptr { /* sqlite3.c:124653:16: */ +func fkActionTrigger(tls *libc.TLS, pParse uintptr, pTab uintptr, pFKey uintptr, pChanges uintptr) uintptr { /* sqlite3.c:124666:16: */ bp := tls.Alloc(96) defer tls.Free(96) @@ -102803,7 +102822,7 @@ func fkActionTrigger(tls *libc.TLS, pParse uintptr, pTab uintptr, pFKey uintptr, // This function is called when deleting or updating a row to implement // any required CASCADE, SET NULL or SET DEFAULT actions. -func Xsqlite3FkActions(tls *libc.TLS, pParse uintptr, pTab uintptr, pChanges uintptr, regOld int32, aChange uintptr, bChngRowid int32) { /* sqlite3.c:124845:21: */ +func Xsqlite3FkActions(tls *libc.TLS, pParse uintptr, pTab uintptr, pChanges uintptr, regOld int32, aChange uintptr, bChngRowid int32) { /* sqlite3.c:124858:21: */ // If foreign-key support is enabled, iterate through all FKs that // refer to table pTab. If there is an action associated with the FK // for this operation (either update or delete), invoke the associated @@ -102824,7 +102843,7 @@ func Xsqlite3FkActions(tls *libc.TLS, pParse uintptr, pTab uintptr, pChanges uin // Free all memory associated with foreign key definitions attached to // table pTab. Remove the deleted foreign keys from the Schema.fkeyHash // hash table. -func Xsqlite3FkDelete(tls *libc.TLS, db uintptr, pTab uintptr) { /* sqlite3.c:124877:21: */ +func Xsqlite3FkDelete(tls *libc.TLS, db uintptr, pTab uintptr) { /* sqlite3.c:124890:21: */ var pFKey uintptr // Iterator variable var pNext uintptr // Copy of pFKey->pNextFrom @@ -102884,7 +102903,7 @@ func Xsqlite3FkDelete(tls *libc.TLS, db uintptr, pTab uintptr) { /* sqlite3.c:12 // // If pTab is a WITHOUT ROWID table, then it is the PRIMARY KEY index // for that table that is actually opened. -func Xsqlite3OpenTable(tls *libc.TLS, pParse uintptr, iCur int32, iDb int32, pTab uintptr, opcode int32) { /* sqlite3.c:124943:21: */ +func Xsqlite3OpenTable(tls *libc.TLS, pParse uintptr, iCur int32, iDb int32, pTab uintptr, opcode int32) { /* sqlite3.c:124956:21: */ var v uintptr v = (*Parse)(unsafe.Pointer(pParse)).FpVdbe @@ -102926,7 +102945,7 @@ func Xsqlite3OpenTable(tls *libc.TLS, pParse uintptr, iCur int32, iDb int32, pTa // Memory for the buffer containing the column index affinity string // is managed along with the rest of the Index structure. It will be // released when sqlite3DeleteIndex() is called. -func Xsqlite3IndexAffinityStr(tls *libc.TLS, db uintptr, pIdx uintptr) uintptr { /* sqlite3.c:124990:27: */ +func Xsqlite3IndexAffinityStr(tls *libc.TLS, db uintptr, pIdx uintptr) uintptr { /* sqlite3.c:125003:27: */ if !(int32((*Index)(unsafe.Pointer(pIdx)).FzColAff) != 0) { // The first time a column affinity string for a particular index is // required, it is allocated and populated here. It is then stored as @@ -103005,7 +103024,7 @@ func Xsqlite3IndexAffinityStr(tls *libc.TLS, db uintptr, pIdx uintptr) uintptr { // register set as the OP_MakeRecord. If iReg>0 then register iReg is // the first of a series of registers that will form the new record. // Apply the type checking to that array of registers. -func Xsqlite3TableAffinity(tls *libc.TLS, v uintptr, pTab uintptr, iReg int32) { /* sqlite3.c:125069:21: */ +func Xsqlite3TableAffinity(tls *libc.TLS, v uintptr, pTab uintptr, iReg int32) { /* sqlite3.c:125082:21: */ var i int32 var j int32 var zColAff uintptr @@ -103063,7 +103082,7 @@ func Xsqlite3TableAffinity(tls *libc.TLS, v uintptr, pTab uintptr, iReg int32) { // have been opened at any point in the VDBE program. This is used to see if // a statement of the form "INSERT INTO SELECT ..." can // run without using a temporary table for the results of the SELECT. -func readsTable(tls *libc.TLS, p uintptr, iDb int32, pTab uintptr) int32 { /* sqlite3.c:125130:12: */ +func readsTable(tls *libc.TLS, p uintptr, iDb int32, pTab uintptr) int32 { /* sqlite3.c:125143:12: */ var v uintptr = Xsqlite3GetVdbe(tls, p) var i int32 var iEnd int32 = Xsqlite3VdbeCurrentAddr(tls, v) @@ -103099,7 +103118,7 @@ func readsTable(tls *libc.TLS, p uintptr, iDb int32, pTab uintptr) int32 { /* sq // This walker callback will compute the union of colFlags flags for all // referenced columns in a CHECK constraint or generated column expression. -func exprColumnFlagUnion(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:125167:12: */ +func exprColumnFlagUnion(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:125180:12: */ if int32((*Expr)(unsafe.Pointer(pExpr)).Fop) == TK_COLUMN && int32((*Expr)(unsafe.Pointer(pExpr)).FiColumn) >= 0 { *(*U16)(unsafe.Pointer(pWalker + 36)) |= U16(int32((*Column)(unsafe.Pointer((*Table1)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pWalker + 40)))).FaCol + uintptr((*Expr)(unsafe.Pointer(pExpr)).FiColumn)*24)).FcolFlags)) @@ -103112,7 +103131,7 @@ func exprColumnFlagUnion(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { // or VIRTUAL columns have not yet been initialized. This routine goes // back and computes the values for those columns based on the previously // computed normal columns. -func Xsqlite3ComputeGeneratedColumns(tls *libc.TLS, pParse uintptr, iRegStore int32, pTab uintptr) { /* sqlite3.c:125183:21: */ +func Xsqlite3ComputeGeneratedColumns(tls *libc.TLS, pParse uintptr, iRegStore int32, pTab uintptr) { /* sqlite3.c:125196:21: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -103225,7 +103244,7 @@ func Xsqlite3ComputeGeneratedColumns(tls *libc.TLS, pParse uintptr, iRegStore in // // The 2nd register is the one that is returned. That is all the // insert routine needs to know about. -func autoIncBegin(tls *libc.TLS, pParse uintptr, iDb int32, pTab uintptr) int32 { /* sqlite3.c:125307:12: */ +func autoIncBegin(tls *libc.TLS, pParse uintptr, iDb int32, pTab uintptr) int32 { /* sqlite3.c:125320:12: */ var memId int32 = 0 // Register holding maximum rowid if (*Table)(unsafe.Pointer(pTab)).FtabFlags&U32(TF_Autoincrement) != U32(0) && @@ -103279,7 +103298,7 @@ func autoIncBegin(tls *libc.TLS, pParse uintptr, iDb int32, pTab uintptr) int32 // This routine generates code that will initialize all of the // register used by the autoincrement tracker. -func Xsqlite3AutoincrementBegin(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:125358:21: */ +func Xsqlite3AutoincrementBegin(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:125371:21: */ var p uintptr // Information about an AUTOINCREMENT var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb // The database connection var pDb uintptr // Database only autoinc table @@ -103319,7 +103338,7 @@ func Xsqlite3AutoincrementBegin(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:12 } } -var iLn1 int32 = 0 /* sqlite3.c:125372:22 */ +var iLn1 int32 = 0 /* sqlite3.c:125385:22 */ var autoInc = [12]VdbeOpList{ /* 0 */ {Fopcode: U8(OP_Null)}, /* 1 */ {Fopcode: U8(OP_Rewind), Fp2: int8(10)}, @@ -103333,7 +103352,7 @@ var autoInc = [12]VdbeOpList{ /* 9 */ {Fopcode: U8(OP_Next), Fp2: int8(2)}, /* 10 */ {Fopcode: U8(OP_Integer)}, /* 11 */ {Fopcode: U8(OP_Close)}, -} /* sqlite3.c:125373:29 */ +} /* sqlite3.c:125386:29 */ // Update the maximum rowid for an autoincrement calculation. // @@ -103341,7 +103360,7 @@ var autoInc = [12]VdbeOpList{ // new rowid that is about to be inserted. If that new rowid is // larger than the maximum rowid in the memId memory cell, then the // memory cell is updated. -func autoIncStep(tls *libc.TLS, pParse uintptr, memId int32, regRowid int32) { /* sqlite3.c:125419:13: */ +func autoIncStep(tls *libc.TLS, pParse uintptr, memId int32, regRowid int32) { /* sqlite3.c:125432:13: */ if memId > 0 { Xsqlite3VdbeAddOp2(tls, (*Parse)(unsafe.Pointer(pParse)).FpVdbe, OP_MemMax, memId, regRowid) } @@ -103352,7 +103371,7 @@ func autoIncStep(tls *libc.TLS, pParse uintptr, memId int32, regRowid int32) { / // Every statement that might do an INSERT into an autoincrement // table (either directly or through triggers) needs to call this // routine just before the "exit" code. -func autoIncrementEnd(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:125432:29: */ +func autoIncrementEnd(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:125445:29: */ var p uintptr var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb @@ -103383,16 +103402,16 @@ func autoIncrementEnd(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:125432:29: * } } -var iLn2 int32 = 0 /* sqlite3.c:125439:22 */ +var iLn2 int32 = 0 /* sqlite3.c:125452:22 */ var autoIncEnd = [5]VdbeOpList{ /* 0 */ {Fopcode: U8(OP_NotNull), Fp2: int8(2)}, /* 1 */ {Fopcode: U8(OP_NewRowid)}, /* 2 */ {Fopcode: U8(OP_MakeRecord), Fp2: int8(2)}, /* 3 */ {Fopcode: U8(OP_Insert)}, /* 4 */ {Fopcode: U8(OP_Close)}, -} /* sqlite3.c:125440:29 */ +} /* sqlite3.c:125453:29 */ -func Xsqlite3AutoincrementEnd(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:125469:21: */ +func Xsqlite3AutoincrementEnd(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:125482:21: */ if (*Parse)(unsafe.Pointer(pParse)).FpAinc != 0 { autoIncrementEnd(tls, pParse) } @@ -103493,7 +103512,7 @@ func Xsqlite3AutoincrementEnd(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:1254 // transfer values form intermediate table into
// end loop // D: cleanup -func Xsqlite3Insert(tls *libc.TLS, pParse uintptr, pTabList uintptr, pSelect uintptr, pColumn uintptr, onError int32, pUpsert uintptr) { /* sqlite3.c:125588:21: */ +func Xsqlite3Insert(tls *libc.TLS, pParse uintptr, pTabList uintptr, pSelect uintptr, pColumn uintptr, onError int32, pUpsert uintptr) { /* sqlite3.c:125601:21: */ bp := tls.Alloc(188) defer tls.Free(188) @@ -104547,7 +104566,7 @@ insert_cleanup: // Set bit 0x01 of pWalker->eCode if pWalker->eCode to 0 and if this // expression node references any of the // columns that are being modifed by an UPDATE statement. -func checkConstraintExprNode(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:126347:12: */ +func checkConstraintExprNode(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:126360:12: */ if int32((*Expr)(unsafe.Pointer(pExpr)).Fop) == TK_COLUMN { if int32((*Expr)(unsafe.Pointer(pExpr)).FiColumn) >= 0 { @@ -104574,7 +104593,7 @@ func checkConstraintExprNode(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int3 // The operation of this routine is the same - return true if an only if // the expression uses one or more of columns identified by the second and // third arguments. -func Xsqlite3ExprReferencesUpdatedColumn(tls *libc.TLS, pExpr uintptr, aiChng uintptr, chngRowid int32) int32 { /* sqlite3.c:126376:20: */ +func Xsqlite3ExprReferencesUpdatedColumn(tls *libc.TLS, pExpr uintptr, aiChng uintptr, chngRowid int32) int32 { /* sqlite3.c:126389:20: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -104608,7 +104627,7 @@ type IndexListTerm1 = struct { Fp uintptr Fix int32 F__ccgo_pad1 [4]byte -} /* sqlite3.c:126409:9 */ +} /* sqlite3.c:126422:9 */ // The sqlite3GenerateConstraintChecks() routine usually wants to visit // the indexes of a table in the order provided in the Table->pIndex list. @@ -104619,7 +104638,7 @@ type IndexListTerm1 = struct { // The IndexIterator object is used to walk through all of the indexes // of a table in either Index.pNext order, or in some other order established // by an array of IndexListTerm objects. -type IndexListTerm = IndexListTerm1 /* sqlite3.c:126409:30 */ +type IndexListTerm = IndexListTerm1 /* sqlite3.c:126422:30 */ type IndexIterator1 = struct { FeType int32 Fi int32 @@ -104627,12 +104646,12 @@ type IndexIterator1 = struct { Flx struct{ FpIdx uintptr } F__ccgo_pad1 [8]byte } -} /* sqlite3.c:126410:9 */ +} /* sqlite3.c:126423:9 */ -type IndexIterator = IndexIterator1 /* sqlite3.c:126410:30 */ +type IndexIterator = IndexIterator1 /* sqlite3.c:126423:30 */ // Return the first index on the list -func indexIteratorFirst(tls *libc.TLS, pIter uintptr, pIx uintptr) uintptr { /* sqlite3.c:126434:14: */ +func indexIteratorFirst(tls *libc.TLS, pIter uintptr, pIx uintptr) uintptr { /* sqlite3.c:126447:14: */ if (*IndexIterator)(unsafe.Pointer(pIter)).FeType != 0 { *(*int32)(unsafe.Pointer(pIx)) = (*IndexListTerm)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pIter + 8 + 8 /* &.aIdx */)))).Fix @@ -104645,7 +104664,7 @@ func indexIteratorFirst(tls *libc.TLS, pIter uintptr, pIx uintptr) uintptr { /* } // Return the next index from the list. Return NULL when out of indexes -func indexIteratorNext(tls *libc.TLS, pIter uintptr, pIx uintptr) uintptr { /* sqlite3.c:126446:14: */ +func indexIteratorNext(tls *libc.TLS, pIter uintptr, pIx uintptr) uintptr { /* sqlite3.c:126459:14: */ if (*IndexIterator)(unsafe.Pointer(pIter)).FeType != 0 { var i int32 = libc.PreIncInt32(&(*IndexIterator)(unsafe.Pointer(pIter)).Fi, 1) if i >= *(*int32)(unsafe.Pointer(pIter + 8)) { @@ -104751,7 +104770,7 @@ func indexIteratorNext(tls *libc.TLS, pIter uintptr, pIx uintptr) uintptr { /* s // Or if overrideError==OE_Default, then the pParse->onError parameter // is used. Or if pParse->onError==OE_Default then the onError value // for the constraint is used. -func Xsqlite3GenerateConstraintChecks(tls *libc.TLS, pParse uintptr, pTab uintptr, aRegIdx uintptr, iDataCur int32, iIdxCur int32, regNewData int32, regOldData int32, pkChng U8, overrideError U8, ignoreDest int32, pbMayReplace uintptr, aiChng uintptr, pUpsert uintptr) { /* sqlite3.c:126553:21: */ +func Xsqlite3GenerateConstraintChecks(tls *libc.TLS, pParse uintptr, pTab uintptr, aRegIdx uintptr, iDataCur int32, iIdxCur int32, regNewData int32, regOldData int32, pkChng U8, overrideError U8, ignoreDest int32, pbMayReplace uintptr, aiChng uintptr, pUpsert uintptr) { /* sqlite3.c:126566:21: */ bp := tls.Alloc(72) defer tls.Free(72) @@ -105614,7 +105633,7 @@ func Xsqlite3GenerateConstraintChecks(tls *libc.TLS, pParse uintptr, pTab uintpt // number is iCur, and register regData contains the new record for the // PK index. This function adds code to invoke the pre-update hook, // if one is registered. -func codeWithoutRowidPreupdate(tls *libc.TLS, pParse uintptr, pTab uintptr, iCur int32, regData int32) { /* sqlite3.c:127411:13: */ +func codeWithoutRowidPreupdate(tls *libc.TLS, pParse uintptr, pTab uintptr, iCur int32, regData int32) { /* sqlite3.c:127424:13: */ var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe var r int32 = Xsqlite3GetTempReg(tls, pParse) @@ -105631,7 +105650,7 @@ func codeWithoutRowidPreupdate(tls *libc.TLS, pParse uintptr, pTab uintptr, iCur // // The arguments to this routine should be the same as the first six // arguments to sqlite3GenerateConstraintChecks. -func Xsqlite3CompleteInsertion(tls *libc.TLS, pParse uintptr, pTab uintptr, iDataCur int32, iIdxCur int32, regNewData int32, aRegIdx uintptr, update_flags int32, appendBias int32, useSeekResult int32) { /* sqlite3.c:127439:21: */ +func Xsqlite3CompleteInsertion(tls *libc.TLS, pParse uintptr, pTab uintptr, iDataCur int32, iIdxCur int32, regNewData int32, aRegIdx uintptr, update_flags int32, appendBias int32, useSeekResult int32) { /* sqlite3.c:127452:21: */ var v uintptr // Prepared statements under construction var pIdx uintptr // An index being inserted or updated var pik_flags U8 // flag values passed to the btree insert @@ -105734,7 +105753,7 @@ __3: // // If pTab is a virtual table, then this routine is a no-op and the // *piDataCur and *piIdxCur values are left uninitialized. -func Xsqlite3OpenTableAndIndices(tls *libc.TLS, pParse uintptr, pTab uintptr, op int32, p5 U8, iBase int32, aToOpen uintptr, piDataCur uintptr, piIdxCur uintptr) int32 { /* sqlite3.c:127527:20: */ +func Xsqlite3OpenTableAndIndices(tls *libc.TLS, pParse uintptr, pTab uintptr, op int32, p5 U8, iBase int32, aToOpen uintptr, piDataCur uintptr, piIdxCur uintptr) int32 { /* sqlite3.c:127540:20: */ var i int32 var iDb int32 var iDataCur int32 @@ -105812,7 +105831,7 @@ __3: // * The same onError processing (OE_Abort, OE_Ignore, etc) // * The same collating sequence on each column // * The index has the exact same WHERE clause -func xferCompatibleIndex(tls *libc.TLS, pDest uintptr, pSrc uintptr) int32 { /* sqlite3.c:127606:12: */ +func xferCompatibleIndex(tls *libc.TLS, pDest uintptr, pSrc uintptr) int32 { /* sqlite3.c:127619:12: */ var i int32 if int32((*Index)(unsafe.Pointer(pDest)).FnKeyCol) != int32((*Index)(unsafe.Pointer(pSrc)).FnKeyCol) || int32((*Index)(unsafe.Pointer(pDest)).FnColumn) != int32((*Index)(unsafe.Pointer(pSrc)).FnColumn) { @@ -105870,7 +105889,7 @@ func xferCompatibleIndex(tls *libc.TLS, pDest uintptr, pSrc uintptr) int32 { /* // is no chance that the xfer optimization can be applied. // // This optimization is particularly useful at making VACUUM run faster. -func xferOptimization(tls *libc.TLS, pParse uintptr, pDest uintptr, pSelect uintptr, onError int32, iDbDest int32) int32 { /* sqlite3.c:127667:12: */ +func xferOptimization(tls *libc.TLS, pParse uintptr, pDest uintptr, pSelect uintptr, onError int32, iDbDest int32) int32 { /* sqlite3.c:127680:12: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb var pEList uintptr // The result set of the SELECT var pSrc uintptr // The table in the FROM clause of SELECT @@ -106250,7 +106269,7 @@ func xferOptimization(tls *libc.TLS, pParse uintptr, pDest uintptr, pSelect uint // the xCallback() function is called. pArg becomes the first // 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 Sqlite3_callback, pArg uintptr, pzErrMsg uintptr) int32 { /* sqlite3.c:128078:16: */ +func Xsqlite3_exec(tls *libc.TLS, db uintptr, zSql uintptr, xCallback Sqlite3_callback, pArg uintptr, pzErrMsg uintptr) int32 { /* sqlite3.c:128091:16: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -106271,7 +106290,7 @@ func Xsqlite3_exec(tls *libc.TLS, db uintptr, zSql uintptr, xCallback Sqlite3_ca if !!(Xsqlite3SafetyCheckOk(tls, db) != 0) { goto __1 } - return Xsqlite3MisuseError(tls, 128091) + return Xsqlite3MisuseError(tls, 128104) __1: ; if !(zSql == uintptr(0)) { @@ -106460,7 +106479,7 @@ __26: // This is the function signature used for all extension entry points. It // is also defined in the file "loadext.c". -type Sqlite3_loadext_entry = uintptr /* sqlite3.c:128572:13 */ +type Sqlite3_loadext_entry = uintptr /* sqlite3.c:128585:13 */ // The following macros redefine the API routines so that they are // redirected through the global sqlite3_api structure. @@ -106794,7 +106813,7 @@ var sqlite3Apis = Sqlite3_api_routines{ Fvtab_in: 0, Fvtab_in_first: 0, Fvtab_in_next: 0, -} /* sqlite3.c:129018:35 */ +} /* sqlite3.c:129031:35 */ // True if x is the directory separator character @@ -106808,7 +106827,7 @@ var sqlite3Apis = Sqlite3_api_routines{ // If an error occurs and pzErrMsg is not 0, then fill *pzErrMsg with // error message text. The calling function should free this memory // by calling sqlite3DbFree(db, ). -func sqlite3LoadExtension(tls *libc.TLS, db uintptr, zFile uintptr, zProc uintptr, pzErrMsg uintptr) int32 { /* sqlite3.c:129402:12: */ +func sqlite3LoadExtension(tls *libc.TLS, db uintptr, zFile uintptr, zProc uintptr, pzErrMsg uintptr) int32 { /* sqlite3.c:129415:12: */ bp := tls.Alloc(64) defer tls.Free(64) @@ -107062,9 +107081,9 @@ __28: var azEndings = [1]uintptr{ ts + 15933, -} /* sqlite3.c:129420:21 */ +} /* sqlite3.c:129433:21 */ -func Xsqlite3_load_extension(tls *libc.TLS, db uintptr, zFile uintptr, zProc uintptr, pzErrMsg uintptr) int32 { /* sqlite3.c:129553:16: */ +func Xsqlite3_load_extension(tls *libc.TLS, db uintptr, zFile uintptr, zProc uintptr, pzErrMsg uintptr) int32 { /* sqlite3.c:129566:16: */ var rc int32 Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) rc = sqlite3LoadExtension(tls, db, zFile, zProc, pzErrMsg) @@ -107075,7 +107094,7 @@ func Xsqlite3_load_extension(tls *libc.TLS, db uintptr, zFile uintptr, zProc uin // Call this routine when the database connection is closing in order // to clean up loaded extensions -func Xsqlite3CloseExtensions(tls *libc.TLS, db uintptr) { /* sqlite3.c:129571:21: */ +func Xsqlite3CloseExtensions(tls *libc.TLS, db uintptr) { /* sqlite3.c:129584:21: */ var i int32 for i = 0; i < (*Sqlite3)(unsafe.Pointer(db)).FnExtension; i++ { @@ -107086,7 +107105,7 @@ func Xsqlite3CloseExtensions(tls *libc.TLS, db uintptr) { /* sqlite3.c:129571:21 // Enable or disable extension loading. Extension loading is disabled by // default so as not to open security holes in older applications. -func Xsqlite3_enable_load_extension(tls *libc.TLS, db uintptr, onoff int32) int32 { /* sqlite3.c:129584:16: */ +func Xsqlite3_enable_load_extension(tls *libc.TLS, db uintptr, onoff int32) int32 { /* sqlite3.c:129597:16: */ Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) if onoff != 0 { *(*U64)(unsafe.Pointer(db + 48)) |= uint64(SQLITE_LoadExtension | SQLITE_LoadExtFunc) @@ -107106,15 +107125,15 @@ type sqlite3AutoExtList = struct { FnExt U32 F__ccgo_pad1 [4]byte FaExt uintptr -} /* sqlite3.c:129604:9 */ +} /* sqlite3.c:129617:9 */ // The following object holds the list of automatically loaded // extensions. // // This list is shared across threads. The SQLITE_MUTEX_STATIC_MAIN // mutex must be held while accessing this list. -type Sqlite3AutoExtList = sqlite3AutoExtList /* sqlite3.c:129604:35 */ -var sqlite3Autoext = sqlite3AutoExtList{} /* sqlite3.c:129608:3 */ +type Sqlite3AutoExtList = sqlite3AutoExtList /* sqlite3.c:129617:35 */ +var sqlite3Autoext = sqlite3AutoExtList{} /* sqlite3.c:129621:3 */ // The "wsdAutoext" macro will resolve to the autoextension // state vector. If writable static data is unsupported on the target, @@ -107124,7 +107143,7 @@ var sqlite3Autoext = sqlite3AutoExtList{} /* sqlite3.c:129608:3 */ // Register a statically linked extension that is automatically // loaded by every new database connection. -func Xsqlite3_auto_extension(tls *libc.TLS, xInit uintptr) int32 { /* sqlite3.c:129630:16: */ +func Xsqlite3_auto_extension(tls *libc.TLS, xInit uintptr) int32 { /* sqlite3.c:129643:16: */ var rc int32 = SQLITE_OK rc = Xsqlite3_initialize(tls) if rc != 0 { @@ -107165,7 +107184,7 @@ func Xsqlite3_auto_extension(tls *libc.TLS, xInit uintptr) int32 { /* sqlite3.c: // // 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) int32 { /* sqlite3.c:129677:16: */ +func Xsqlite3_cancel_auto_extension(tls *libc.TLS, xInit uintptr) int32 { /* sqlite3.c:129690:16: */ var mutex uintptr = Xsqlite3MutexAlloc(tls, SQLITE_MUTEX_STATIC_MAIN) var i int32 var n int32 = 0 @@ -107184,7 +107203,7 @@ func Xsqlite3_cancel_auto_extension(tls *libc.TLS, xInit uintptr) int32 { /* sql } // Reset the automatic extension loading mechanism. -func Xsqlite3_reset_auto_extension(tls *libc.TLS) { /* sqlite3.c:129702:17: */ +func Xsqlite3_reset_auto_extension(tls *libc.TLS) { /* sqlite3.c:129715:17: */ if Xsqlite3_initialize(tls) == SQLITE_OK { var mutex uintptr = Xsqlite3MutexAlloc(tls, SQLITE_MUTEX_STATIC_MAIN) @@ -107199,7 +107218,7 @@ func Xsqlite3_reset_auto_extension(tls *libc.TLS) { /* sqlite3.c:129702:17: */ // Load all automatic extensions. // // If anything goes wrong, set an error in the database connection. -func Xsqlite3AutoLoadExtensions(tls *libc.TLS, db uintptr) { /* sqlite3.c:129724:21: */ +func Xsqlite3AutoLoadExtensions(tls *libc.TLS, db uintptr) { /* sqlite3.c:129737:21: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -107336,7 +107355,7 @@ var pragCName = [57]uintptr{ ts + 16208, ts + 16219, -} /* sqlite3.c:129865:19 */ +} /* sqlite3.c:129878:19 */ // Definitions of all built-in pragmas type PragmaName1 = struct { @@ -107347,10 +107366,10 @@ type PragmaName1 = struct { FnPragCName U8 F__ccgo_pad1 [4]byte FiArg U64 -} /* sqlite3.c:129930:9 */ +} /* sqlite3.c:129943:9 */ // Definitions of all built-in pragmas -type PragmaName = PragmaName1 /* sqlite3.c:129937:3 */ +type PragmaName = PragmaName1 /* sqlite3.c:129950:3 */ var aPragmaName = [66]PragmaName{ { /* zName: */ FzName: ts + 16227, /* ePragTyp: */ FePragTyp: U8(PragTyp_ANALYSIS_LIMIT), @@ -107587,7 +107606,7 @@ var aPragmaName = [66]PragmaName{ /* ePragTyp: */ FePragTyp: U8(PragTyp_FLAG), /* ePragFlg: */ FmPragFlg: U8(PragFlg_Result0 | PragFlg_NoColumns1), /* iArg: */ FiArg: uint64(SQLITE_WriteSchema | SQLITE_NoSchemaError)}, -} /* sqlite3.c:129938:25 */ +} /* sqlite3.c:129951:25 */ // Number of pragmas: 68 on by default, 78 total. @@ -107603,7 +107622,7 @@ var aPragmaName = [66]PragmaName{ // should be passed into sqlite3BtreeSetSafetyLevel(). The is done // to support legacy SQL code. The safety level used to be boolean // and older scripts may have used numbers 0 for OFF and 1 for ON. -func getSafetyLevel(tls *libc.TLS, z uintptr, omitFull int32, dflt U8) U8 { /* sqlite3.c:130472:11: */ +func getSafetyLevel(tls *libc.TLS, z uintptr, omitFull int32, dflt U8) U8 { /* sqlite3.c:130485:11: */ // on no off false yes true extra full var i int32 var n int32 @@ -107620,13 +107639,13 @@ func getSafetyLevel(tls *libc.TLS, z uintptr, omitFull int32, dflt U8) U8 { /* s return dflt } -var zText = *(*[25]int8)(unsafe.Pointer(ts + 17194)) /* sqlite3.c:130474:21 */ -var iOffset = [8]U8{U8(0), U8(1), U8(2), U8(4), U8(9), U8(12), U8(15), U8(20)} /* sqlite3.c:130475:19 */ -var iLength = [8]U8{U8(2), U8(2), U8(3), U8(5), U8(3), U8(4), U8(5), U8(4)} /* sqlite3.c:130476:19 */ -var iValue = [8]U8{U8(1), U8(0), U8(0), U8(0), U8(1), U8(1), U8(3), U8(2)} /* sqlite3.c:130477:19 */ +var zText = *(*[25]int8)(unsafe.Pointer(ts + 17194)) /* sqlite3.c:130487:21 */ +var iOffset = [8]U8{U8(0), U8(1), U8(2), U8(4), U8(9), U8(12), U8(15), U8(20)} /* sqlite3.c:130488:19 */ +var iLength = [8]U8{U8(2), U8(2), U8(3), U8(5), U8(3), U8(4), U8(5), U8(4)} /* sqlite3.c:130489:19 */ +var iValue = [8]U8{U8(1), U8(0), U8(0), U8(0), U8(1), U8(1), U8(3), U8(2)} /* sqlite3.c:130490:19 */ // Interpret the given string as a boolean value. -func Xsqlite3GetBoolean(tls *libc.TLS, z uintptr, dflt U8) U8 { /* sqlite3.c:130497:19: */ +func Xsqlite3GetBoolean(tls *libc.TLS, z uintptr, dflt U8) U8 { /* sqlite3.c:130510:19: */ return U8(libc.Bool32(int32(getSafetyLevel(tls, z, 1, dflt)) != 0)) } @@ -107635,7 +107654,7 @@ func Xsqlite3GetBoolean(tls *libc.TLS, z uintptr, dflt U8) U8 { /* sqlite3.c:130 // the rest of the file if PRAGMAs are omitted from the build. // Interpret the given string as a locking mode value. -func getLockingMode(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:130510:12: */ +func getLockingMode(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:130523:12: */ if z != 0 { if 0 == Xsqlite3StrICmp(tls, z, ts+17219) { return PAGER_LOCKINGMODE_EXCLUSIVE @@ -107651,7 +107670,7 @@ func getLockingMode(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:130510:12: */ // // The following strings, "none", "full" and "incremental" are // acceptable, as are their numeric equivalents: 0, 1 and 2 respectively. -func getAutoVacuum(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:130525:12: */ +func getAutoVacuum(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:130538:12: */ var i int32 if 0 == Xsqlite3StrICmp(tls, z, ts+7889) { return BTREE_AUTOVACUUM_NONE @@ -107674,7 +107693,7 @@ func getAutoVacuum(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:130525:12: */ // Interpret the given string as a temp db location. Return 1 for file // backed temporary databases, 2 for the Red-Black tree in memory database // and 0 to use the compile-time default. -func getTempStore(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:130541:12: */ +func getTempStore(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:130554:12: */ if int32(*(*int8)(unsafe.Pointer(z))) >= '0' && int32(*(*int8)(unsafe.Pointer(z))) <= '2' { return int32(*(*int8)(unsafe.Pointer(z))) - '0' } else if Xsqlite3StrICmp(tls, z, ts+16169) == 0 { @@ -107689,7 +107708,7 @@ func getTempStore(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:130541:12: */ // Invalidate temp storage, either when the temp storage is changed // from default, or when 'file' and the temp_store_directory has changed -func invalidateTempStorage(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:130559:12: */ +func invalidateTempStorage(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:130572:12: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb if (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+1*32)).FpBt != uintptr(0) { if !(int32((*Sqlite3)(unsafe.Pointer(db)).FautoCommit) != 0) || @@ -107708,7 +107727,7 @@ func invalidateTempStorage(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:1 // If the TEMP database is open, close it and mark the database schema // as needing reloading. This must be done when using the SQLITE_TEMP_STORE // or DEFAULT_TEMP_STORE pragmas. -func changeTempStorage(tls *libc.TLS, pParse uintptr, zStorageType uintptr) int32 { /* sqlite3.c:130583:12: */ +func changeTempStorage(tls *libc.TLS, pParse uintptr, zStorageType uintptr) int32 { /* sqlite3.c:130596:12: */ var ts int32 = getTempStore(tls, zStorageType) var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb if int32((*Sqlite3)(unsafe.Pointer(db)).Ftemp_store) == ts { @@ -107722,7 +107741,7 @@ func changeTempStorage(tls *libc.TLS, pParse uintptr, zStorageType uintptr) int3 } // Set result column names for a pragma. -func setPragmaResultColumnNames(tls *libc.TLS, v uintptr, pPragma uintptr) { /* sqlite3.c:130598:13: */ +func setPragmaResultColumnNames(tls *libc.TLS, v uintptr, pPragma uintptr) { /* sqlite3.c:130611:13: */ var n U8 = (*PragmaName)(unsafe.Pointer(pPragma)).FnPragCName Xsqlite3VdbeSetNumCols(tls, v, func() int32 { if int32(n) == 0 { @@ -107756,7 +107775,7 @@ func setPragmaResultColumnNames(tls *libc.TLS, v uintptr, pPragma uintptr) { /* } // Generate code to return a single integer value. -func returnSingleInt(tls *libc.TLS, v uintptr, value I64) { /* sqlite3.c:130617:13: */ +func returnSingleInt(tls *libc.TLS, v uintptr, value I64) { /* sqlite3.c:130630:13: */ bp := tls.Alloc(8) defer tls.Free(8) *(*I64)(unsafe.Pointer(bp)) = value @@ -107766,7 +107785,7 @@ func returnSingleInt(tls *libc.TLS, v uintptr, value I64) { /* sqlite3.c:130617: } // Generate code to return a single text value. -func returnSingleText(tls *libc.TLS, v uintptr, zValue uintptr) { /* sqlite3.c:130625:13: */ +func returnSingleText(tls *libc.TLS, v uintptr, zValue uintptr) { /* sqlite3.c:130638:13: */ if zValue != 0 { Xsqlite3VdbeLoadString(tls, v, 1, zValue) Xsqlite3VdbeAddOp2(tls, v, OP_ResultRow, 1, 1) @@ -107775,7 +107794,7 @@ func returnSingleText(tls *libc.TLS, v uintptr, zValue uintptr) { /* sqlite3.c:1 // Set the safety_level and pager flags for pager iDb. Or if iDb<0 // set these values for all pagers. -func setAllPagerFlags(tls *libc.TLS, db uintptr) { /* sqlite3.c:130641:13: */ +func setAllPagerFlags(tls *libc.TLS, db uintptr) { /* sqlite3.c:130654:13: */ if (*Sqlite3)(unsafe.Pointer(db)).FautoCommit != 0 { var pDb uintptr = (*Sqlite3)(unsafe.Pointer(db)).FaDb var n int32 = (*Sqlite3)(unsafe.Pointer(db)).FnDb @@ -107791,7 +107810,7 @@ func setAllPagerFlags(tls *libc.TLS, db uintptr) { /* sqlite3.c:130641:13: */ } // Return a human-readable name for a constraint resolution action. -func actionName(tls *libc.TLS, action U8) uintptr { /* sqlite3.c:130669:19: */ +func actionName(tls *libc.TLS, action U8) uintptr { /* sqlite3.c:130682:19: */ var zName uintptr switch int32(action) { case OE_SetNull: @@ -107816,7 +107835,7 @@ func actionName(tls *libc.TLS, action U8) uintptr { /* sqlite3.c:130669:19: */ // Parameter eMode must be one of the PAGER_JOURNALMODE_XXX constants // defined in pager.h. This function returns the associated lowercase // journal-mode name. -func Xsqlite3JournalModename(tls *libc.TLS, eMode int32) uintptr { /* sqlite3.c:130689:27: */ +func Xsqlite3JournalModename(tls *libc.TLS, eMode int32) uintptr { /* sqlite3.c:130702:27: */ if eMode == int32(uint64(unsafe.Sizeof(azModeName))/uint64(unsafe.Sizeof(uintptr(0)))) { return uintptr(0) @@ -107826,10 +107845,10 @@ func Xsqlite3JournalModename(tls *libc.TLS, eMode int32) uintptr { /* sqlite3.c: var azModeName = [6]uintptr{ ts + 17370, ts + 17377, ts + 17385, ts + 17389, ts + 17253, ts + 17398, -} /* sqlite3.c:130690:15 */ +} /* sqlite3.c:130703:15 */ // Locate a pragma in the aPragmaName[] array. -func pragmaLocate(tls *libc.TLS, zName uintptr) uintptr { /* sqlite3.c:130711:25: */ +func pragmaLocate(tls *libc.TLS, zName uintptr) uintptr { /* sqlite3.c:130724:25: */ var upr int32 var lwr int32 var mid int32 = 0 @@ -107856,7 +107875,7 @@ func pragmaLocate(tls *libc.TLS, zName uintptr) uintptr { /* sqlite3.c:130711:25 // Create zero or more entries in the output for the SQL functions // defined by FuncDef p. -func pragmaFunclistLine(tls *libc.TLS, v uintptr, p uintptr, isBuiltin int32, showInternFuncs int32) { /* sqlite3.c:130732:13: */ +func pragmaFunclistLine(tls *libc.TLS, v uintptr, p uintptr, isBuiltin int32, showInternFuncs int32) { /* sqlite3.c:130745:13: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -107885,15 +107904,15 @@ func pragmaFunclistLine(tls *libc.TLS, v uintptr, p uintptr, isBuiltin int32, sh } } -var mask U32 = U32(SQLITE_DETERMINISTIC | SQLITE_DIRECTONLY | SQLITE_SUBTYPE | SQLITE_INNOCUOUS | SQLITE_FUNC_INTERNAL) /* sqlite3.c:130740:22 */ -var azEnc = [4]uintptr{uintptr(0), ts + 17413, ts + 17418, ts + 17426 /* "utf16be" */} /* sqlite3.c:130747:23 */ +var mask U32 = U32(SQLITE_DETERMINISTIC | SQLITE_DIRECTONLY | SQLITE_SUBTYPE | SQLITE_INNOCUOUS | SQLITE_FUNC_INTERNAL) /* sqlite3.c:130753:22 */ +var azEnc = [4]uintptr{uintptr(0), ts + 17413, ts + 17418, ts + 17426 /* "utf16be" */} /* sqlite3.c:130760:23 */ // Helper subroutine for PRAGMA integrity_check: // // Generate code to output a single-column result row with a value of the // string held in register 3. Decrement the result count in register 1 // and halt if the maximum number of result rows have been issued. -func integrityCheckResultRow(tls *libc.TLS, v uintptr) int32 { /* sqlite3.c:130784:12: */ +func integrityCheckResultRow(tls *libc.TLS, v uintptr) int32 { /* sqlite3.c:130797:12: */ var addr int32 Xsqlite3VdbeAddOp2(tls, v, OP_ResultRow, 3, 1) addr = Xsqlite3VdbeAddOp3(tls, v, OP_IfPos, 1, Xsqlite3VdbeCurrentAddr(tls, v)+2, 1) @@ -107915,7 +107934,7 @@ func integrityCheckResultRow(tls *libc.TLS, v uintptr) int32 { /* sqlite3.c:1307 // If the left side is "database.id" then pId1 is the database name // and pId2 is the id. If the left side is just "id" then pId1 is the // id and pId2 is any empty string. -func Xsqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, pValue uintptr, minusFlag int32) { /* sqlite3.c:130808:21: */ +func Xsqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, pValue uintptr, minusFlag int32) { /* sqlite3.c:130821:21: */ bp := tls.Alloc(608) defer tls.Free(608) @@ -111259,9 +111278,9 @@ type EncName = struct { FzName uintptr Fenc U8 F__ccgo_pad1 [7]byte -} /* sqlite3.c:132383:18 */ +} /* sqlite3.c:132396:18 */ -var iLn3 int32 = 0 /* sqlite3.c:130937:22 */ +var iLn3 int32 = 0 /* sqlite3.c:130950:22 */ var getCacheSize = [9]VdbeOpList{ {Fopcode: U8(OP_Transaction)}, // 0 {Fopcode: U8(OP_ReadCookie), Fp2: int8(1), Fp3: int8(BTREE_DEFAULT_CACHE_SIZE)}, // 1 @@ -111272,16 +111291,16 @@ var getCacheSize = [9]VdbeOpList{ {Fopcode: U8(OP_Integer), Fp2: int8(1)}, // 6 {Fopcode: U8(OP_Noop)}, {Fopcode: U8(OP_ResultRow), Fp1: int8(1), Fp2: int8(1)}, -} /* sqlite3.c:130938:29 */ -var iLn4 int32 = 0 /* sqlite3.c:131206:26 */ +} /* sqlite3.c:130951:29 */ +var iLn4 int32 = 0 /* sqlite3.c:131219:26 */ var setMeta6 = [5]VdbeOpList{ {Fopcode: U8(OP_Transaction), Fp2: int8(1)}, // 0 {Fopcode: U8(OP_ReadCookie), Fp2: int8(1), Fp3: int8(BTREE_LARGEST_ROOT_PAGE)}, {Fopcode: U8(OP_If), Fp1: int8(1)}, // 2 {Fopcode: U8(OP_Halt), Fp2: int8(OE_Abort)}, // 3 {Fopcode: U8(OP_SetCookie), Fp2: int8(BTREE_INCR_VACUUM)}, // 4 -} /* sqlite3.c:131207:33 */ -var iLn5 int32 = 0 /* sqlite3.c:132333:24 */ +} /* sqlite3.c:131220:33 */ +var iLn5 int32 = 0 /* sqlite3.c:132346:24 */ var endCode = [7]VdbeOpList{ {Fopcode: U8(OP_AddImm), Fp1: int8(1)}, // 0 {Fopcode: U8(OP_IfNotZero), Fp1: int8(1), Fp2: int8(4)}, // 1 @@ -111290,7 +111309,7 @@ var endCode = [7]VdbeOpList{ {Fopcode: U8(OP_Halt)}, // 4 {Fopcode: U8(OP_String8), Fp2: int8(3)}, // 5 {Fopcode: U8(OP_Goto), Fp2: int8(3)}, // 6 -} /* sqlite3.c:132334:31 */ +} /* sqlite3.c:132347:31 */ var encnames1 = [9]EncName{ {FzName: ts + 17849, Fenc: U8(SQLITE_UTF8)}, {FzName: ts + 17854, Fenc: U8(SQLITE_UTF8)}, // Must be element [1] @@ -111301,16 +111320,16 @@ var encnames1 = [9]EncName{ {FzName: ts + 17894}, {FzName: ts + 17901}, {}, -} /* sqlite3.c:132386:7 */ +} /* sqlite3.c:132399:7 */ var setCookie = [2]VdbeOpList{ {Fopcode: U8(OP_Transaction), Fp2: int8(1)}, // 0 {Fopcode: U8(OP_SetCookie)}, // 1 -} /* sqlite3.c:132466:31 */ +} /* sqlite3.c:132479:31 */ var readCookie = [3]VdbeOpList{ {Fopcode: U8(OP_Transaction)}, // 0 {Fopcode: U8(OP_ReadCookie), Fp2: int8(1)}, // 1 {Fopcode: U8(OP_ResultRow), Fp1: int8(1), Fp2: int8(1)}, -} /* sqlite3.c:132481:31 */ +} /* sqlite3.c:132494:31 */ // **************************************************************************** // // Implementation of an eponymous virtual table that runs a pragma. @@ -111322,24 +111341,24 @@ type PragmaVtab1 = struct { FnHidden U8 FiHidden U8 F__ccgo_pad1 [6]byte -} /* sqlite3.c:132841:9 */ +} /* sqlite3.c:132854:9 */ // **************************************************************************** // // Implementation of an eponymous virtual table that runs a pragma. // -type PragmaVtab = PragmaVtab1 /* sqlite3.c:132841:27 */ +type PragmaVtab = PragmaVtab1 /* sqlite3.c:132854:27 */ type PragmaVtabCursor1 = struct { Fbase Sqlite3_vtab_cursor FpPragma uintptr FiRowid Sqlite_int64 FazArg [2]uintptr -} /* sqlite3.c:132842:9 */ +} /* sqlite3.c:132855:9 */ -type PragmaVtabCursor = PragmaVtabCursor1 /* sqlite3.c:132842:33 */ +type PragmaVtabCursor = PragmaVtabCursor1 /* sqlite3.c:132855:33 */ // Pragma virtual table module xConnect method. -func pragmaVtabConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 { /* sqlite3.c:132860:12: */ +func pragmaVtabConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 { /* sqlite3.c:132873:12: */ bp := tls.Alloc(264) defer tls.Free(264) @@ -111413,7 +111432,7 @@ __3: } // Pragma virtual table module xDisconnect method. -func pragmaVtabDisconnect(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:132922:12: */ +func pragmaVtabDisconnect(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:132935:12: */ var pTab uintptr = pVtab Xsqlite3_free(tls, pTab) return SQLITE_OK @@ -111425,7 +111444,7 @@ func pragmaVtabDisconnect(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:132 // query planner to give == constraints on as many hidden parameters as // possible, and especially on the first hidden parameter. So return a // high cost if hidden parameters are unconstrained. -func pragmaVtabBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 { /* sqlite3.c:132935:12: */ +func pragmaVtabBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 { /* sqlite3.c:132948:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -111490,7 +111509,7 @@ __3: } // Create a new cursor for the pragma virtual table -func pragmaVtabOpen(tls *libc.TLS, pVtab uintptr, ppCursor uintptr) int32 { /* sqlite3.c:132972:12: */ +func pragmaVtabOpen(tls *libc.TLS, pVtab uintptr, ppCursor uintptr) int32 { /* sqlite3.c:132985:12: */ var pCsr uintptr pCsr = Xsqlite3_malloc(tls, int32(unsafe.Sizeof(PragmaVtabCursor{}))) if pCsr == uintptr(0) { @@ -111503,7 +111522,7 @@ func pragmaVtabOpen(tls *libc.TLS, pVtab uintptr, ppCursor uintptr) int32 { /* s } // Clear all content from pragma virtual table cursor. -func pragmaVtabCursorClear(tls *libc.TLS, pCsr uintptr) { /* sqlite3.c:132983:13: */ +func pragmaVtabCursorClear(tls *libc.TLS, pCsr uintptr) { /* sqlite3.c:132996:13: */ var i int32 Xsqlite3_finalize(tls, (*PragmaVtabCursor)(unsafe.Pointer(pCsr)).FpPragma) (*PragmaVtabCursor)(unsafe.Pointer(pCsr)).FpPragma = uintptr(0) @@ -111514,7 +111533,7 @@ func pragmaVtabCursorClear(tls *libc.TLS, pCsr uintptr) { /* sqlite3.c:132983:13 } // Close a pragma virtual table cursor -func pragmaVtabClose(tls *libc.TLS, cur uintptr) int32 { /* sqlite3.c:132994:12: */ +func pragmaVtabClose(tls *libc.TLS, cur uintptr) int32 { /* sqlite3.c:133007:12: */ var pCsr uintptr = cur pragmaVtabCursorClear(tls, pCsr) Xsqlite3_free(tls, pCsr) @@ -111522,7 +111541,7 @@ func pragmaVtabClose(tls *libc.TLS, cur uintptr) int32 { /* sqlite3.c:132994:12: } // Advance the pragma virtual table cursor to the next row -func pragmaVtabNext(tls *libc.TLS, pVtabCursor uintptr) int32 { /* sqlite3.c:133002:12: */ +func pragmaVtabNext(tls *libc.TLS, pVtabCursor uintptr) int32 { /* sqlite3.c:133015:12: */ var pCsr uintptr = pVtabCursor var rc int32 = SQLITE_OK @@ -111538,7 +111557,7 @@ func pragmaVtabNext(tls *libc.TLS, pVtabCursor uintptr) int32 { /* sqlite3.c:133 } // Pragma virtual table module xFilter method. -func pragmaVtabFilter(tls *libc.TLS, pVtabCursor uintptr, idxNum int32, idxStr uintptr, argc int32, argv uintptr) int32 { /* sqlite3.c:133020:12: */ +func pragmaVtabFilter(tls *libc.TLS, pVtabCursor uintptr, idxNum int32, idxStr uintptr, argc int32, argv uintptr) int32 { /* sqlite3.c:133033:12: */ bp := tls.Alloc(64) defer tls.Free(64) @@ -111606,14 +111625,14 @@ __3: } // Pragma virtual table module xEof method. -func pragmaVtabEof(tls *libc.TLS, pVtabCursor uintptr) int32 { /* sqlite3.c:133070:12: */ +func pragmaVtabEof(tls *libc.TLS, pVtabCursor uintptr) int32 { /* sqlite3.c:133083:12: */ var pCsr uintptr = pVtabCursor return libc.Bool32((*PragmaVtabCursor)(unsafe.Pointer(pCsr)).FpPragma == uintptr(0)) } // The xColumn method simply returns the corresponding column from // the PRAGMA. -func pragmaVtabColumn(tls *libc.TLS, pVtabCursor uintptr, ctx uintptr, i int32) int32 { /* sqlite3.c:133078:12: */ +func pragmaVtabColumn(tls *libc.TLS, pVtabCursor uintptr, ctx uintptr, i int32) int32 { /* sqlite3.c:133091:12: */ var pCsr uintptr = pVtabCursor var pTab uintptr = (*Sqlite3_vtab_cursor)(unsafe.Pointer(pVtabCursor)).FpVtab if i < int32((*PragmaVtab)(unsafe.Pointer(pTab)).FiHidden) { @@ -111625,7 +111644,7 @@ func pragmaVtabColumn(tls *libc.TLS, pVtabCursor uintptr, ctx uintptr, i int32) } // Pragma virtual table module xRowid method. -func pragmaVtabRowid(tls *libc.TLS, pVtabCursor uintptr, p uintptr) int32 { /* sqlite3.c:133096:12: */ +func pragmaVtabRowid(tls *libc.TLS, pVtabCursor uintptr, p uintptr) int32 { /* sqlite3.c:133109:12: */ var pCsr uintptr = pVtabCursor *(*Sqlite_int64)(unsafe.Pointer(p)) = (*PragmaVtabCursor)(unsafe.Pointer(pCsr)).FiRowid return SQLITE_OK @@ -111643,12 +111662,12 @@ var pragmaVtabModule = Sqlite3_module{ // xCreate - create a table FxEof: 0, // xEof FxColumn: 0, // xColumn - read data FxRowid: 0, // xShadowName -} /* sqlite3.c:133103:29 */ +} /* sqlite3.c:133116:29 */ // Check to see if zTabName is really the name of a pragma. If it is, // then register an eponymous virtual table for that pragma and return // a pointer to the Module object for the new virtual table. -func Xsqlite3PragmaVtabRegister(tls *libc.TLS, db uintptr, zName uintptr) uintptr { /* sqlite3.c:133135:23: */ +func Xsqlite3PragmaVtabRegister(tls *libc.TLS, db uintptr, zName uintptr) uintptr { /* sqlite3.c:133148:23: */ var pName uintptr pName = pragmaLocate(tls, zName+uintptr(7)) @@ -111681,7 +111700,7 @@ func Xsqlite3PragmaVtabRegister(tls *libc.TLS, db uintptr, zName uintptr) uintpt // Fill the InitData structure with an error message that indicates // that the database is corrupt. -func corruptSchema(tls *libc.TLS, pData uintptr, azObj uintptr, zExtra uintptr) { /* sqlite3.c:133172:13: */ +func corruptSchema(tls *libc.TLS, pData uintptr, azObj uintptr, zExtra uintptr) { /* sqlite3.c:133185:13: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -111697,7 +111716,7 @@ func corruptSchema(tls *libc.TLS, pData uintptr, azObj uintptr, zExtra uintptr) zExtra)) (*InitData)(unsafe.Pointer(pData)).Frc = SQLITE_ERROR } else if (*Sqlite3)(unsafe.Pointer(db)).Fflags&uint64(SQLITE_WriteSchema) != 0 { - (*InitData)(unsafe.Pointer(pData)).Frc = Xsqlite3CorruptError(tls, 133195) + (*InitData)(unsafe.Pointer(pData)).Frc = Xsqlite3CorruptError(tls, 133208) } else { var z uintptr var zObj uintptr @@ -111711,7 +111730,7 @@ func corruptSchema(tls *libc.TLS, pData uintptr, azObj uintptr, zExtra uintptr) z = Xsqlite3MPrintf(tls, db, ts+18037, libc.VaList(bp+40, z, zExtra)) } *(*uintptr)(unsafe.Pointer((*InitData)(unsafe.Pointer(pData)).FpzErrMsg)) = z - (*InitData)(unsafe.Pointer(pData)).Frc = Xsqlite3CorruptError(tls, 133202) + (*InitData)(unsafe.Pointer(pData)).Frc = Xsqlite3CorruptError(tls, 133215) } } @@ -111719,12 +111738,12 @@ var azAlterType = [3]uintptr{ ts + 18045, ts + 18052, ts + 18064, -} /* sqlite3.c:133183:23 */ +} /* sqlite3.c:133196:23 */ // Check to see if any sibling index (another index on the same table) // of pIndex has the same root page number, and if it does, return true. // This would indicate a corrupt schema. -func Xsqlite3IndexHasDuplicateRootPage(tls *libc.TLS, pIndex uintptr) int32 { /* sqlite3.c:133211:20: */ +func Xsqlite3IndexHasDuplicateRootPage(tls *libc.TLS, pIndex uintptr) int32 { /* sqlite3.c:133224:20: */ var p uintptr for p = (*Table)(unsafe.Pointer((*Index)(unsafe.Pointer(pIndex)).FpTable)).FpIndex; p != 0; p = (*Index)(unsafe.Pointer(p)).FpNext { if (*Index)(unsafe.Pointer(p)).Ftnum == (*Index)(unsafe.Pointer(pIndex)).Ftnum && p != pIndex { @@ -111746,7 +111765,7 @@ func Xsqlite3IndexHasDuplicateRootPage(tls *libc.TLS, pIndex uintptr) int32 { /* // argv[3] = root page number for table or index. 0 for trigger or view. // argv[4] = SQL text for the CREATE statement. // -func Xsqlite3InitCallback(tls *libc.TLS, pInit uintptr, argc int32, argv uintptr, NotUsed uintptr) int32 { /* sqlite3.c:133245:20: */ +func Xsqlite3InitCallback(tls *libc.TLS, pInit uintptr, argc int32, argv uintptr, NotUsed uintptr) int32 { /* sqlite3.c:133258:20: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -111848,7 +111867,7 @@ func Xsqlite3InitCallback(tls *libc.TLS, pInit uintptr, argc int32, argv uintptr // database. iDb==1 should never be used. iDb>=2 is used for // auxiliary databases. Return one of the SQLITE_ error codes to // indicate success or failure. -func Xsqlite3InitOne(tls *libc.TLS, db uintptr, iDb int32, pzErrMsg uintptr, mFlags U32) int32 { /* sqlite3.c:133348:20: */ +func Xsqlite3InitOne(tls *libc.TLS, db uintptr, iDb int32, pzErrMsg uintptr, mFlags U32) int32 { /* sqlite3.c:133361:20: */ bp := tls.Alloc(124) defer tls.Free(124) @@ -112094,7 +112113,7 @@ __20: pDb = (*Sqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32 goto __22 __21: - if !(rc == SQLITE_OK || (*Sqlite3)(unsafe.Pointer(db)).Fflags&uint64(SQLITE_NoSchemaError) != 0) { + if !(rc == SQLITE_OK || (*Sqlite3)(unsafe.Pointer(db)).Fflags&uint64(SQLITE_NoSchemaError) != 0 && rc != SQLITE_NOMEM) { goto __23 } // Hack: If the SQLITE_NoSchemaError flag is set, then consider @@ -112149,7 +112168,7 @@ __25: // // After a database is initialized, the DB_SchemaLoaded bit is set // bit is set in the flags field of the Db structure. -func Xsqlite3Init(tls *libc.TLS, db uintptr, pzErrMsg uintptr) int32 { /* sqlite3.c:133587:20: */ +func Xsqlite3Init(tls *libc.TLS, db uintptr, pzErrMsg uintptr) int32 { /* sqlite3.c:133600:20: */ var i int32 var rc int32 var commit_internal int32 = libc.BoolInt32(!((*Sqlite3)(unsafe.Pointer(db)).FmDbFlags&U32(DBFLAG_SchemaChange) != 0)) @@ -112181,7 +112200,7 @@ func Xsqlite3Init(tls *libc.TLS, db uintptr, pzErrMsg uintptr) int32 { /* sqlite // This routine is a no-op if the database schema is already initialized. // Otherwise, the schema is loaded. An error code is returned. -func Xsqlite3ReadSchema(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:133619:20: */ +func Xsqlite3ReadSchema(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:133632:20: */ var rc int32 = SQLITE_OK var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb @@ -112200,7 +112219,7 @@ func Xsqlite3ReadSchema(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:1336 // Check schema cookies in all databases. If any cookie is out // of date set pParse->rc to SQLITE_SCHEMA. If all schema cookies // make no changes to pParse->rc. -func schemaIsValid(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:133641:13: */ +func schemaIsValid(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:133654:13: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -112253,7 +112272,7 @@ func schemaIsValid(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:133641:13: */ // // If the same database is attached more than once, the first // attached database is returned. -func Xsqlite3SchemaToIndex(tls *libc.TLS, db uintptr, pSchema uintptr) int32 { /* sqlite3.c:133691:20: */ +func Xsqlite3SchemaToIndex(tls *libc.TLS, db uintptr, pSchema uintptr) int32 { /* sqlite3.c:133704:20: */ var i int32 = -32768 // If pSchema is NULL, then return -32768. This happens when code in @@ -112280,7 +112299,7 @@ func Xsqlite3SchemaToIndex(tls *libc.TLS, db uintptr, pSchema uintptr) int32 { / } // Free all memory allocations in the pParse object -func Xsqlite3ParseObjectReset(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:133721:21: */ +func Xsqlite3ParseObjectReset(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:133734:21: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb Xsqlite3DbFree(tls, db, (*Parse)(unsafe.Pointer(pParse)).FaTableLock) @@ -112336,7 +112355,7 @@ func Xsqlite3ParseObjectReset(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:1337 // return value thereafter. Something like this: // // pObj = sqlite3ParserAddCleanup(pParse, destructor, pObj); -func Xsqlite3ParserAddCleanup(tls *libc.TLS, pParse uintptr, xCleanup uintptr, pPtr uintptr) uintptr { /* sqlite3.c:133776:21: */ +func Xsqlite3ParserAddCleanup(tls *libc.TLS, pParse uintptr, xCleanup uintptr, pPtr uintptr) uintptr { /* sqlite3.c:133789:21: */ var pCleanup uintptr = Xsqlite3DbMallocRaw(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, uint64(unsafe.Sizeof(ParseCleanup{}))) if pCleanup != 0 { (*ParseCleanup)(unsafe.Pointer(pCleanup)).FpNext = (*Parse)(unsafe.Pointer(pParse)).FpCleanup @@ -112359,7 +112378,7 @@ func Xsqlite3ParserAddCleanup(tls *libc.TLS, pParse uintptr, xCleanup uintptr, p // // Caution: Do not confuse this routine with sqlite3ParseObjectInit() which // is generated by Lemon. -func Xsqlite3ParseObjectInit(tls *libc.TLS, pParse uintptr, db uintptr) { /* sqlite3.c:133806:21: */ +func Xsqlite3ParseObjectInit(tls *libc.TLS, pParse uintptr, db uintptr) { /* sqlite3.c:133819:21: */ libc.Xmemset(tls, pParse+uintptr(uint64(uintptr(0)+8)), 0, uint64(uintptr(0)+216)-uint64(uintptr(0)+8)) libc.Xmemset(tls, pParse+uintptr(uint64(uintptr(0)+272)), 0, uint64(unsafe.Sizeof(Parse{}))-uint64(uintptr(0)+272)) @@ -112372,7 +112391,7 @@ func Xsqlite3ParseObjectInit(tls *libc.TLS, pParse uintptr, db uintptr) { /* sql } // Compile the UTF-8 encoded SQL statement zSql into a statement handle. -func sqlite3Prepare(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, prepFlags U32, pReprepare uintptr, ppStmt uintptr, pzTail uintptr) int32 { /* sqlite3.c:133819:12: */ +func sqlite3Prepare(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, prepFlags U32, pReprepare uintptr, ppStmt uintptr, pzTail uintptr) int32 { /* sqlite3.c:133832:12: */ bp := tls.Alloc(424) defer tls.Free(424) @@ -112578,13 +112597,13 @@ end_prepare: return rc } -func sqlite3LockAndPrepare(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, prepFlags U32, pOld uintptr, ppStmt uintptr, pzTail uintptr) int32 { /* sqlite3.c:133962:12: */ +func sqlite3LockAndPrepare(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, prepFlags U32, pOld uintptr, ppStmt uintptr, pzTail uintptr) int32 { /* sqlite3.c:133975:12: */ var rc int32 var cnt int32 = 0 *(*uintptr)(unsafe.Pointer(ppStmt)) = uintptr(0) if !(Xsqlite3SafetyCheckOk(tls, db) != 0) || zSql == uintptr(0) { - return Xsqlite3MisuseError(tls, 133979) + return Xsqlite3MisuseError(tls, 133992) } Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) Xsqlite3BtreeEnterAll(tls, db) @@ -112613,7 +112632,7 @@ func sqlite3LockAndPrepare(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32 // if the statement cannot be recompiled because another connection has // locked the sqlite3_schema table, return SQLITE_LOCKED. If any other error // occurs, return SQLITE_SCHEMA. -func Xsqlite3Reprepare(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:134009:20: */ +func Xsqlite3Reprepare(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:134022:20: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -112652,14 +112671,14 @@ func Xsqlite3Reprepare(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:134009:20: // sqlite3_step(). In the new version, the original SQL text is retained // and the statement is automatically recompiled if an schema change // occurs. -func Xsqlite3_prepare(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, ppStmt uintptr, pzTail uintptr) int32 { /* sqlite3.c:134048:16: */ +func Xsqlite3_prepare(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, ppStmt uintptr, pzTail uintptr) int32 { /* sqlite3.c:134061:16: */ var rc int32 rc = sqlite3LockAndPrepare(tls, db, zSql, nBytes, uint32(0), uintptr(0), ppStmt, pzTail) // VERIFY: F13021 return rc } -func Xsqlite3_prepare_v2(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, ppStmt uintptr, pzTail uintptr) int32 { /* sqlite3.c:134060:16: */ +func Xsqlite3_prepare_v2(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, ppStmt uintptr, pzTail uintptr) int32 { /* sqlite3.c:134073:16: */ var rc int32 // EVIDENCE-OF: R-37923-12173 The sqlite3_prepare_v2() interface works // exactly the same as sqlite3_prepare_v3() with a zero prepFlags @@ -112672,7 +112691,7 @@ func Xsqlite3_prepare_v2(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, return rc } -func Xsqlite3_prepare_v3(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, prepFlags uint32, ppStmt uintptr, pzTail uintptr) int32 { /* sqlite3.c:134078:16: */ +func Xsqlite3_prepare_v3(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, prepFlags uint32, ppStmt uintptr, pzTail uintptr) int32 { /* sqlite3.c:134091:16: */ var rc int32 // EVIDENCE-OF: R-56861-42673 sqlite3_prepare_v3() differs from // sqlite3_prepare_v2() only in having the extra prepFlags parameter, @@ -112689,7 +112708,7 @@ func Xsqlite3_prepare_v3(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, } // Compile the UTF-16 encoded SQL statement zSql into a statement handle. -func sqlite3Prepare16(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, prepFlags U32, ppStmt uintptr, pzTail uintptr) int32 { /* sqlite3.c:134106:12: */ +func sqlite3Prepare16(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, prepFlags U32, ppStmt uintptr, pzTail uintptr) int32 { /* sqlite3.c:134119:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -112702,7 +112721,7 @@ func sqlite3Prepare16(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, pre *(*uintptr)(unsafe.Pointer(ppStmt)) = uintptr(0) if !(Xsqlite3SafetyCheckOk(tls, db) != 0) || zSql == uintptr(0) { - return Xsqlite3MisuseError(tls, 134127) + return Xsqlite3MisuseError(tls, 134140) } if nBytes >= 0 { var sz int32 @@ -112737,21 +112756,21 @@ func sqlite3Prepare16(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, pre // sqlite3_step(). In the new version, the original SQL text is retained // and the statement is automatically recompiled if an schema change // occurs. -func Xsqlite3_prepare16(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, ppStmt uintptr, pzTail uintptr) int32 { /* sqlite3.c:134164:16: */ +func Xsqlite3_prepare16(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, ppStmt uintptr, pzTail uintptr) int32 { /* sqlite3.c:134177:16: */ var rc int32 rc = sqlite3Prepare16(tls, db, zSql, nBytes, uint32(0), ppStmt, pzTail) // VERIFY: F13021 return rc } -func Xsqlite3_prepare16_v2(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, ppStmt uintptr, pzTail uintptr) int32 { /* sqlite3.c:134176:16: */ +func Xsqlite3_prepare16_v2(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, ppStmt uintptr, pzTail uintptr) int32 { /* sqlite3.c:134189:16: */ var rc int32 rc = sqlite3Prepare16(tls, db, zSql, nBytes, uint32(SQLITE_PREPARE_SAVESQL), ppStmt, pzTail) // VERIFY: F13021 return rc } -func Xsqlite3_prepare16_v3(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, prepFlags uint32, ppStmt uintptr, pzTail uintptr) int32 { /* sqlite3.c:134188:16: */ +func Xsqlite3_prepare16_v3(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, prepFlags uint32, ppStmt uintptr, pzTail uintptr) int32 { /* sqlite3.c:134201:16: */ var rc int32 rc = sqlite3Prepare16(tls, db, zSql, nBytes, uint32(SQLITE_PREPARE_SAVESQL)|prepFlags&uint32(SQLITE_PREPARE_MASK), @@ -112785,7 +112804,7 @@ type DistinctCtx1 = struct { F__ccgo_pad1 [2]byte FtabTnct int32 FaddrTnct int32 -} /* sqlite3.c:134229:9 */ +} /* sqlite3.c:134242:9 */ //************* End of prepare.c ******************************************** //************* Begin file select.c ***************************************** @@ -112806,7 +112825,7 @@ type DistinctCtx1 = struct { // An instance of the following object is used to record information about // how to process the DISTINCT keyword, to simplify passing that information // into the selectInnerLoop() routine. -type DistinctCtx = DistinctCtx1 /* sqlite3.c:134229:28 */ +type DistinctCtx = DistinctCtx1 /* sqlite3.c:134242:28 */ // An instance of the following object is used to record information about // the ORDER BY (or GROUP BY) clause of query is being coded. @@ -112836,7 +112855,7 @@ type SortCtx1 = struct { FsortFlags U8 F__ccgo_pad1 [3]byte FpDeferredRowLoad uintptr -} /* sqlite3.c:134255:9 */ +} /* sqlite3.c:134268:9 */ // An instance of the following object is used to record information about // the ORDER BY (or GROUP BY) clause of query is being coded. @@ -112854,19 +112873,19 @@ type SortCtx1 = struct { // When the sorter-reference optimization is used, there is one entry in the // aDefer[] array for each database table that may be read as values are // extracted from the sorter. -type SortCtx = SortCtx1 /* sqlite3.c:134255:24 */ +type SortCtx = SortCtx1 /* sqlite3.c:134268:24 */ type RowLoadInfo1 = struct { FregResult int32 FecelFlags U8 F__ccgo_pad1 [3]byte -} /* sqlite3.c:134255:9 */ +} /* sqlite3.c:134268:9 */ // Delete all the content of a Select structure. Deallocate the structure // itself depending on the value of bFree // // If bFree==1, call sqlite3DbFree() on the p object. // If bFree==0, Leave the first Select object unfreed -func clearSelect(tls *libc.TLS, db uintptr, p uintptr, bFree int32) { /* sqlite3.c:134285:13: */ +func clearSelect(tls *libc.TLS, db uintptr, p uintptr, bFree int32) { /* sqlite3.c:134298:13: */ for p != 0 { var pPrior uintptr = (*Select)(unsafe.Pointer(p)).FpPrior Xsqlite3ExprListDelete(tls, db, (*Select)(unsafe.Pointer(p)).FpEList) @@ -112895,7 +112914,7 @@ func clearSelect(tls *libc.TLS, db uintptr, p uintptr, bFree int32) { /* sqlite3 } // Initialize a SelectDest structure. -func Xsqlite3SelectDestInit(tls *libc.TLS, pDest uintptr, eDest int32, iParm int32) { /* sqlite3.c:134314:21: */ +func Xsqlite3SelectDestInit(tls *libc.TLS, pDest uintptr, eDest int32, iParm int32) { /* sqlite3.c:134327:21: */ (*SelectDest)(unsafe.Pointer(pDest)).FeDest = U8(eDest) (*SelectDest)(unsafe.Pointer(pDest)).FiSDParm = iParm (*SelectDest)(unsafe.Pointer(pDest)).FiSDParm2 = 0 @@ -112906,7 +112925,7 @@ func Xsqlite3SelectDestInit(tls *libc.TLS, pDest uintptr, eDest int32, iParm int // Allocate a new Select structure and return a pointer to that // structure. -func Xsqlite3SelectNew(tls *libc.TLS, pParse uintptr, pEList uintptr, pSrc uintptr, pWhere uintptr, pGroupBy uintptr, pHaving uintptr, pOrderBy uintptr, selFlags U32, pLimit uintptr) uintptr { /* sqlite3.c:134328:23: */ +func Xsqlite3SelectNew(tls *libc.TLS, pParse uintptr, pEList uintptr, pSrc uintptr, pWhere uintptr, pGroupBy uintptr, pHaving uintptr, pOrderBy uintptr, selFlags U32, pLimit uintptr) uintptr { /* sqlite3.c:134341:23: */ bp := tls.Alloc(128) defer tls.Free(128) @@ -112956,14 +112975,14 @@ func Xsqlite3SelectNew(tls *libc.TLS, pParse uintptr, pEList uintptr, pSrc uintp } // Delete the given Select structure and all of its substructures. -func Xsqlite3SelectDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:134386:21: */ +func Xsqlite3SelectDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:134399:21: */ if p != 0 { clearSelect(tls, db, p, 1) } } // Return a pointer to the right-most SELECT statement in a compound. -func findRightmost(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:134393:15: */ +func findRightmost(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:134406:15: */ for (*Select)(unsafe.Pointer(p)).FpNext != 0 { p = (*Select)(unsafe.Pointer(p)).FpNext } @@ -112985,7 +113004,7 @@ func findRightmost(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:134393:15: * // // If an illegal or unsupported join type is seen, then still return // a join type, but put an error in the pParse structure. -func Xsqlite3JoinType(tls *libc.TLS, pParse uintptr, pA uintptr, pB uintptr, pC uintptr) int32 { /* sqlite3.c:134415:20: */ +func Xsqlite3JoinType(tls *libc.TLS, pParse uintptr, pA uintptr, pB uintptr, pC uintptr) int32 { /* sqlite3.c:134428:20: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -113039,7 +113058,7 @@ func Xsqlite3JoinType(tls *libc.TLS, pParse uintptr, pA uintptr, pB uintptr, pC return jointype } -var zKeyText = *(*[34]int8)(unsafe.Pointer(ts + 18366)) /* sqlite3.c:134420:21 */ +var zKeyText = *(*[34]int8)(unsafe.Pointer(ts + 18366)) /* sqlite3.c:134433:21 */ var aKeyword = [7]struct { Fi U8 FnChar U8 @@ -113052,11 +113071,11 @@ var aKeyword = [7]struct { /* full */ {Fi: U8(19), FnChar: U8(4), Fcode: U8(JT_LEFT | JT_RIGHT | JT_OUTER)}, /* inner */ {Fi: U8(23), FnChar: U8(5), Fcode: U8(JT_INNER)}, /* cross */ {Fi: U8(28), FnChar: U8(5), Fcode: U8(JT_INNER | JT_CROSS)}, -} /* sqlite3.c:134425:5 */ +} /* sqlite3.c:134438:5 */ // Return the index of a column in a table. Return -1 if the column // is not contained in the table. -func Xsqlite3ColumnIndex(tls *libc.TLS, pTab uintptr, zCol uintptr) int32 { /* sqlite3.c:134476:20: */ +func Xsqlite3ColumnIndex(tls *libc.TLS, pTab uintptr, zCol uintptr) int32 { /* sqlite3.c:134489:20: */ var i int32 var h U8 = Xsqlite3StrIHash(tls, zCol) var pCol uintptr @@ -113090,7 +113109,7 @@ __3: // of the matching column and return TRUE. // // If not found, return FALSE. -func tableAndColumnIndex(tls *libc.TLS, pSrc uintptr, N int32, zCol uintptr, piTab uintptr, piCol uintptr, bIgnoreHidden int32) int32 { /* sqlite3.c:134495:12: */ +func tableAndColumnIndex(tls *libc.TLS, pSrc uintptr, N int32, zCol uintptr, piTab uintptr, piCol uintptr, bIgnoreHidden int32) int32 { /* sqlite3.c:134508:12: */ var i int32 // For looping over tables in pSrc var iCol int32 // Index of column matching zCol @@ -113118,7 +113137,7 @@ func tableAndColumnIndex(tls *libc.TLS, pSrc uintptr, N int32, zCol uintptr, piT // where tab1 is the iSrc'th table in SrcList pSrc and tab2 is the // (iSrc+1)'th. Column col1 is column iColLeft of tab1, and col2 is // column iColRight of tab2. -func addWhereTerm(tls *libc.TLS, pParse uintptr, pSrc uintptr, iLeft int32, iColLeft int32, iRight int32, iColRight int32, isOuterJoin int32, ppWhere uintptr) { /* sqlite3.c:134533:13: */ +func addWhereTerm(tls *libc.TLS, pParse uintptr, pSrc uintptr, iLeft int32, iColLeft int32, iRight int32, iColRight int32, isOuterJoin int32, ppWhere uintptr) { /* sqlite3.c:134546:13: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb var pE1 uintptr var pE2 uintptr @@ -113163,7 +113182,7 @@ func addWhereTerm(tls *libc.TLS, pParse uintptr, pSrc uintptr, iLeft int32, iCol // defer the handling of t1.x=5, it will be processed immediately // after the t1 loop and rows with t1.x!=5 will never appear in // the output, which is incorrect. -func Xsqlite3SetJoinExpr(tls *libc.TLS, p uintptr, iTable int32) { /* sqlite3.c:134595:21: */ +func Xsqlite3SetJoinExpr(tls *libc.TLS, p uintptr, iTable int32) { /* sqlite3.c:134608:21: */ for p != 0 { *(*U32)(unsafe.Pointer(p + 4)) |= U32(EP_FromJoin) @@ -113187,7 +113206,7 @@ func Xsqlite3SetJoinExpr(tls *libc.TLS, p uintptr, iTable int32) { /* sqlite3.c: // an ordinary term that omits the EP_FromJoin mark. // // This happens when a LEFT JOIN is simplified into an ordinary JOIN. -func unsetJoinExpr(tls *libc.TLS, p uintptr, iTable int32) { /* sqlite3.c:134621:13: */ +func unsetJoinExpr(tls *libc.TLS, p uintptr, iTable int32) { /* sqlite3.c:134634:13: */ for p != 0 { if (*Expr)(unsafe.Pointer(p)).Fflags&U32(EP_FromJoin) != U32(0) && (iTable < 0 || *(*int32)(unsafe.Pointer(p + 52)) == iTable) { @@ -113222,7 +113241,7 @@ func unsetJoinExpr(tls *libc.TLS, p uintptr, iTable int32) { /* sqlite3.c:134621 // also attached to the left entry. // // This routine returns the number of errors encountered. -func sqliteProcessJoin(tls *libc.TLS, pParse uintptr, p uintptr) int32 { /* sqlite3.c:134658:12: */ +func sqliteProcessJoin(tls *libc.TLS, pParse uintptr, p uintptr) int32 { /* sqlite3.c:134671:12: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -113336,11 +113355,11 @@ __3: // An instance of this object holds information (beyond pParse and pSelect) // needed to load the next result row that is to be added to the sorter. -type RowLoadInfo = RowLoadInfo1 /* sqlite3.c:134750:28 */ +type RowLoadInfo = RowLoadInfo1 /* sqlite3.c:134763:28 */ // This routine does the work of loading query data into an array of // registers so that it can be added to the sorter. -func innerLoopLoadRow(tls *libc.TLS, pParse uintptr, pSelect uintptr, pInfo uintptr) { /* sqlite3.c:134764:13: */ +func innerLoopLoadRow(tls *libc.TLS, pParse uintptr, pSelect uintptr, pInfo uintptr) { /* sqlite3.c:134777:13: */ Xsqlite3ExprCodeExprList(tls, pParse, (*Select)(unsafe.Pointer(pSelect)).FpEList, (*RowLoadInfo)(unsafe.Pointer(pInfo)).FregResult, 0, (*RowLoadInfo)(unsafe.Pointer(pInfo)).FecelFlags) } @@ -113349,7 +113368,7 @@ func innerLoopLoadRow(tls *libc.TLS, pParse uintptr, pSelect uintptr, pInfo uint // added into the sorter. // // Return the register in which the result is stored. -func makeSorterRecord(tls *libc.TLS, pParse uintptr, pSort uintptr, pSelect uintptr, regBase int32, nBase int32) int32 { /* sqlite3.c:134785:12: */ +func makeSorterRecord(tls *libc.TLS, pParse uintptr, pSort uintptr, pSelect uintptr, regBase int32, nBase int32) int32 { /* sqlite3.c:134798:12: */ var nOBSat int32 = (*SortCtx)(unsafe.Pointer(pSort)).FnOBSat var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe var regOut int32 = libc.PreIncInt32(&(*Parse)(unsafe.Pointer(pParse)).FnMem, 1) @@ -113362,7 +113381,7 @@ func makeSorterRecord(tls *libc.TLS, pParse uintptr, pSort uintptr, pSelect uint // Generate code that will push the record in registers regData // through regData+nData-1 onto the sorter. -func pushOntoSorter(tls *libc.TLS, pParse uintptr, pSort uintptr, pSelect uintptr, regData int32, regOrigData int32, nData int32, nPrefixReg int32) { /* sqlite3.c:134806:13: */ +func pushOntoSorter(tls *libc.TLS, pParse uintptr, pSort uintptr, pSelect uintptr, regData int32, regOrigData int32, nData int32, nPrefixReg int32) { /* sqlite3.c:134819:13: */ var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe // Stmt under construction var bSeq int32 = libc.Bool32(int32((*SortCtx)(unsafe.Pointer(pSort)).FsortFlags)&SORTFLAG_UseSorter == 0) var nExpr int32 = (*ExprList)(unsafe.Pointer((*SortCtx)(unsafe.Pointer(pSort)).FpOrderBy)).FnExpr // No. of ORDER BY terms @@ -113505,7 +113524,7 @@ func pushOntoSorter(tls *libc.TLS, pParse uintptr, pSort uintptr, pSelect uintpt } // Add code to implement the OFFSET -func codeOffset(tls *libc.TLS, v uintptr, iOffset int32, iContinue int32) { /* sqlite3.c:134948:13: */ +func codeOffset(tls *libc.TLS, v uintptr, iOffset int32, iContinue int32) { /* sqlite3.c:134961:13: */ if iOffset > 0 { Xsqlite3VdbeAddOp3(tls, v, OP_IfPos, iOffset, iContinue, 1) @@ -113553,7 +113572,7 @@ func codeOffset(tls *libc.TLS, v uintptr, iOffset int32, iContinue int32) { /* s // how many elements there are in the array of registers and (b) the // collation sequences that should be used for the comparisons if // eTnctType is WHERE_DISTINCT_ORDERED. -func codeDistinct(tls *libc.TLS, pParse uintptr, eTnctType int32, iTab int32, addrRepeat int32, pEList uintptr, regElem int32) int32 { /* sqlite3.c:135002:12: */ +func codeDistinct(tls *libc.TLS, pParse uintptr, eTnctType int32, iTab int32, addrRepeat int32, pEList uintptr, regElem int32) int32 { /* sqlite3.c:135015:12: */ var iRet int32 = 0 var nResultCol int32 = (*ExprList)(unsafe.Pointer(pEList)).FnExpr var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe @@ -113634,7 +113653,7 @@ func codeDistinct(tls *libc.TLS, pParse uintptr, eTnctType int32, iTab int32, ad // The ephemeral table is not needed. But we do need register // iVal to be initialized to NULL. So change the OP_OpenEphemeral // into an OP_Null on the iVal register. -func fixDistinctOpenEph(tls *libc.TLS, pParse uintptr, eTnctType int32, iVal int32, iOpenEphAddr int32) { /* sqlite3.c:135086:13: */ +func fixDistinctOpenEph(tls *libc.TLS, pParse uintptr, eTnctType int32, iVal int32, iOpenEphAddr int32) { /* sqlite3.c:135099:13: */ if (*Parse)(unsafe.Pointer(pParse)).FnErr == 0 && (eTnctType == WHERE_DISTINCT_UNIQUE || eTnctType == WHERE_DISTINCT_ORDERED) { var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe @@ -113662,7 +113681,7 @@ func fixDistinctOpenEph(tls *libc.TLS, pParse uintptr, eTnctType int32, iVal int // are evaluated in order to get the data for this row. If srcTab is // zero or more, then data is pulled from srcTab and p->pEList is used only // to get the number of columns and the collation sequence for each column. -func selectInnerLoop(tls *libc.TLS, pParse uintptr, p uintptr, srcTab int32, pSort uintptr, pDistinct uintptr, pDest uintptr, iContinue int32, iBreak int32) { /* sqlite3.c:135208:13: */ +func selectInnerLoop(tls *libc.TLS, pParse uintptr, p uintptr, srcTab int32, pSort uintptr, pDistinct uintptr, pDest uintptr, iContinue int32, iBreak int32) { /* sqlite3.c:135221:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -114018,7 +114037,7 @@ func selectInnerLoop(tls *libc.TLS, pParse uintptr, p uintptr, srcTab int32, pSo // Allocate a KeyInfo object sufficient for an index of N key columns and // X extra columns. -func Xsqlite3KeyInfoAlloc(tls *libc.TLS, db uintptr, N int32, X int32) uintptr { /* sqlite3.c:135602:24: */ +func Xsqlite3KeyInfoAlloc(tls *libc.TLS, db uintptr, N int32, X int32) uintptr { /* sqlite3.c:135615:24: */ var nExtra int32 = int32(uint64(N+X)*(uint64(unsafe.Sizeof(uintptr(0)))+uint64(1)) - uint64(unsafe.Sizeof(uintptr(0)))) var p uintptr = Xsqlite3DbMallocRawNN(tls, db, uint64(uint64(unsafe.Sizeof(KeyInfo{}))+uint64(nExtra))) if p != 0 { @@ -114036,7 +114055,7 @@ func Xsqlite3KeyInfoAlloc(tls *libc.TLS, db uintptr, N int32, X int32) uintptr { } // Deallocate a KeyInfo object -func Xsqlite3KeyInfoUnref(tls *libc.TLS, p uintptr) { /* sqlite3.c:135622:21: */ +func Xsqlite3KeyInfoUnref(tls *libc.TLS, p uintptr) { /* sqlite3.c:135635:21: */ if p != 0 { (*KeyInfo)(unsafe.Pointer(p)).FnRef-- @@ -114047,7 +114066,7 @@ func Xsqlite3KeyInfoUnref(tls *libc.TLS, p uintptr) { /* sqlite3.c:135622:21: */ } // Make a new pointer to a KeyInfo object -func Xsqlite3KeyInfoRef(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:135633:24: */ +func Xsqlite3KeyInfoRef(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:135646:24: */ if p != 0 { (*KeyInfo)(unsafe.Pointer(p)).FnRef++ @@ -114067,7 +114086,7 @@ func Xsqlite3KeyInfoRef(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:135633: // Space to hold the KeyInfo structure is obtained from malloc. The calling // function is responsible for seeing that this structure is eventually // freed. -func Xsqlite3KeyInfoFromExprList(tls *libc.TLS, pParse uintptr, pList uintptr, iStart int32, nExtra int32) uintptr { /* sqlite3.c:135665:24: */ +func Xsqlite3KeyInfoFromExprList(tls *libc.TLS, pParse uintptr, pList uintptr, iStart int32, nExtra int32) uintptr { /* sqlite3.c:135678:24: */ var nExpr int32 var pInfo uintptr var pItem uintptr @@ -114101,7 +114120,7 @@ func Xsqlite3KeyInfoFromExprList(tls *libc.TLS, pParse uintptr, pList uintptr, i } // Name of the connection operator, used for error messages. -func Xsqlite3SelectOpName(tls *libc.TLS, id int32) uintptr { /* sqlite3.c:135692:27: */ +func Xsqlite3SelectOpName(tls *libc.TLS, id int32) uintptr { /* sqlite3.c:135705:27: */ var z uintptr switch id { case TK_ALL: @@ -114128,7 +114147,7 @@ func Xsqlite3SelectOpName(tls *libc.TLS, id int32) uintptr { /* sqlite3.c:135692 // // where xxx is one of "DISTINCT", "ORDER BY" or "GROUP BY". Exactly which // is determined by the zUsage argument. -func explainTempTable(tls *libc.TLS, pParse uintptr, zUsage uintptr) { /* sqlite3.c:135714:13: */ +func explainTempTable(tls *libc.TLS, pParse uintptr, zUsage uintptr) { /* sqlite3.c:135727:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -114145,7 +114164,7 @@ func explainTempTable(tls *libc.TLS, pParse uintptr, zUsage uintptr) { /* sqlite // then the results were placed in a sorter. After the loop is terminated // we need to run the sorter and output the results. The following // routine generates the code needed to do that. -func generateSortTail(tls *libc.TLS, pParse uintptr, p uintptr, pSort uintptr, nColumn int32, pDest uintptr) { /* sqlite3.c:135740:13: */ +func generateSortTail(tls *libc.TLS, pParse uintptr, p uintptr, pSort uintptr, nColumn int32, pDest uintptr) { /* sqlite3.c:135753:13: */ var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe // The prepared statement var addrBreak int32 = (*SortCtx)(unsafe.Pointer(pSort)).FlabelDone // Jump here to exit loop var addrContinue int32 = Xsqlite3VdbeMakeLabel(tls, pParse) // Jump here for next cycle @@ -114324,7 +114343,7 @@ func generateSortTail(tls *libc.TLS, pParse uintptr, p uintptr, pSort uintptr, n // // This routine has either 3 or 6 parameters depending on whether or not // the SQLITE_ENABLE_COLUMN_METADATA compile-time option is used. -func columnTypeImpl(tls *libc.TLS, pNC uintptr, pExpr uintptr, pzOrigDb uintptr, pzOrigTab uintptr, pzOrigCol uintptr) uintptr { /* sqlite3.c:135968:19: */ +func columnTypeImpl(tls *libc.TLS, pNC uintptr, pExpr uintptr, pzOrigDb uintptr, pzOrigTab uintptr, pzOrigCol uintptr) uintptr { /* sqlite3.c:135981:19: */ bp := tls.Alloc(136) defer tls.Free(136) @@ -114448,7 +114467,7 @@ func columnTypeImpl(tls *libc.TLS, pNC uintptr, pExpr uintptr, pzOrigDb uintptr, // Generate code that will tell the VDBE the declaration types of columns // in the result set. -func generateColumnTypes(tls *libc.TLS, pParse uintptr, pTabList uintptr, pEList uintptr) { /* sqlite3.c:136119:13: */ +func generateColumnTypes(tls *libc.TLS, pParse uintptr, pTabList uintptr, pEList uintptr) { /* sqlite3.c:136132:13: */ bp := tls.Alloc(80) defer tls.Free(80) @@ -114505,7 +114524,7 @@ func generateColumnTypes(tls *libc.TLS, pParse uintptr, pTabList uintptr, pEList // full=ON, short=ANY: If the result refers directly to a table column, // then the result column name with the table name // prefix, ex: TABLE.COLUMN. Otherwise use zSpan. -func Xsqlite3GenerateColumnNames(tls *libc.TLS, pParse uintptr, pSelect uintptr) { /* sqlite3.c:136186:21: */ +func Xsqlite3GenerateColumnNames(tls *libc.TLS, pParse uintptr, pSelect uintptr) { /* sqlite3.c:136199:21: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -114605,7 +114624,7 @@ func Xsqlite3GenerateColumnNames(tls *libc.TLS, pParse uintptr, pSelect uintptr) // when modifying this routine to avoid breaking legacy. // // See Also: sqlite3GenerateColumnNames() -func Xsqlite3ColumnsFromExprList(tls *libc.TLS, pParse uintptr, pEList uintptr, pnCol uintptr, paCol uintptr) int32 { /* sqlite3.c:136279:20: */ +func Xsqlite3ColumnsFromExprList(tls *libc.TLS, pParse uintptr, pEList uintptr, pnCol uintptr, paCol uintptr) int32 { /* sqlite3.c:136292:20: */ bp := tls.Alloc(60) defer tls.Free(60) @@ -114737,7 +114756,7 @@ __3: // // This routine requires that all identifiers in the SELECT // statement be resolved. -func Xsqlite3SelectAddColumnTypeAndCollation(tls *libc.TLS, pParse uintptr, pTab uintptr, pSelect uintptr, aff int8) { /* sqlite3.c:136386:21: */ +func Xsqlite3SelectAddColumnTypeAndCollation(tls *libc.TLS, pParse uintptr, pTab uintptr, pSelect uintptr, aff int8) { /* sqlite3.c:136399:21: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -114806,7 +114825,7 @@ __3: // Given a SELECT statement, generate a Table structure that describes // the result set of that SELECT. -func Xsqlite3ResultSetOfSelect(tls *libc.TLS, pParse uintptr, pSelect uintptr, aff int8) uintptr { /* sqlite3.c:136441:22: */ +func Xsqlite3ResultSetOfSelect(tls *libc.TLS, pParse uintptr, pSelect uintptr, aff int8) uintptr { /* sqlite3.c:136454:22: */ var pTab uintptr var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb var savedFlags U64 @@ -114841,7 +114860,7 @@ func Xsqlite3ResultSetOfSelect(tls *libc.TLS, pParse uintptr, pSelect uintptr, a // Get a VDBE for the given parser context. Create a new one if necessary. // If an error occurs, return NULL and leave a message in pParse. -func Xsqlite3GetVdbe(tls *libc.TLS, pParse uintptr) uintptr { /* sqlite3.c:136474:21: */ +func Xsqlite3GetVdbe(tls *libc.TLS, pParse uintptr) uintptr { /* sqlite3.c:136487:21: */ if (*Parse)(unsafe.Pointer(pParse)).FpVdbe != 0 { return (*Parse)(unsafe.Pointer(pParse)).FpVdbe } @@ -114873,7 +114892,7 @@ func Xsqlite3GetVdbe(tls *libc.TLS, pParse uintptr) uintptr { /* sqlite3.c:13647 // redefined. The UNION ALL operator uses this property to force // the reuse of the same limit and offset registers across multiple // SELECT statements. -func computeLimitRegisters(tls *libc.TLS, pParse uintptr, p uintptr, iBreak int32) { /* sqlite3.c:136510:13: */ +func computeLimitRegisters(tls *libc.TLS, pParse uintptr, p uintptr, iBreak int32) { /* sqlite3.c:136523:13: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -114930,7 +114949,7 @@ func computeLimitRegisters(tls *libc.TLS, pParse uintptr, p uintptr, iBreak int3 // // The collating sequence for the compound select is taken from the // left-most term of the select that has a collating sequence. -func multiSelectCollSeq(tls *libc.TLS, pParse uintptr, p uintptr, iCol int32) uintptr { /* sqlite3.c:136567:16: */ +func multiSelectCollSeq(tls *libc.TLS, pParse uintptr, p uintptr, iCol int32) uintptr { /* sqlite3.c:136580:16: */ var pRet uintptr if (*Select)(unsafe.Pointer(p)).FpPrior != 0 { pRet = multiSelectCollSeq(tls, pParse, (*Select)(unsafe.Pointer(p)).FpPrior, iCol) @@ -114954,7 +114973,7 @@ func multiSelectCollSeq(tls *libc.TLS, pParse uintptr, p uintptr, iCol int32) ui // Space to hold the KeyInfo structure is obtained from malloc. The calling // function is responsible for ensuring that this structure is eventually // freed. -func multiSelectOrderByKeyInfo(tls *libc.TLS, pParse uintptr, p uintptr, nExtra int32) uintptr { /* sqlite3.c:136593:16: */ +func multiSelectOrderByKeyInfo(tls *libc.TLS, pParse uintptr, p uintptr, nExtra int32) uintptr { /* sqlite3.c:136606:16: */ var pOrderBy uintptr = (*Select)(unsafe.Pointer(p)).FpOrderBy var nOrderBy int32 if pOrderBy != uintptr(0) { @@ -115023,7 +115042,7 @@ func multiSelectOrderByKeyInfo(tls *libc.TLS, pParse uintptr, p uintptr, nExtra // with a positive value, then the first OFFSET outputs are discarded rather // than being sent to pDest. The LIMIT count does not begin until after OFFSET // rows have been skipped. -func generateWithRecursiveQuery(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) { /* sqlite3.c:136659:13: */ +func generateWithRecursiveQuery(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) { /* sqlite3.c:136672:13: */ bp := tls.Alloc(40) defer tls.Free(40) @@ -115264,7 +115283,7 @@ end_of_recursive_query: // clause occurs within scalar expression (ex: "SELECT (VALUES(1),(2),(3))"). // The sqlite3CodeSubselect will have added the LIMIT 1 clause in tht case. // Since the limit is exactly 1, we only need to evalutes the left-most VALUES. -func multiSelectValues(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) int32 { /* sqlite3.c:136835:12: */ +func multiSelectValues(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) int32 { /* sqlite3.c:136848:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -115304,7 +115323,7 @@ func multiSelectValues(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) // Return true if the SELECT statement which is known to be the recursive // part of a recursive CTE still has its anchor terms attached. If the // anchor terms have already been removed, then return false. -func hasAnchor(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:136872:12: */ +func hasAnchor(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:136885:12: */ for p != 0 && (*Select)(unsafe.Pointer(p)).FselFlags&U32(SF_Recursive) != U32(0) { p = (*Select)(unsafe.Pointer(p)).FpPrior } @@ -115340,7 +115359,7 @@ func hasAnchor(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:136872:12: */ // // Notice that because of the way SQLite parses compound SELECTs, the // individual selects always group from left to right. -func multiSelect(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) int32 { /* sqlite3.c:136908:12: */ +func multiSelect(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) int32 { /* sqlite3.c:136921:12: */ bp := tls.Alloc(144) defer tls.Free(144) @@ -115803,7 +115822,7 @@ __44: // Error message for when two or more terms of a compound select have different // size result sets. -func Xsqlite3SelectWrongNumTermsError(tls *libc.TLS, pParse uintptr, p uintptr) { /* sqlite3.c:137264:21: */ +func Xsqlite3SelectWrongNumTermsError(tls *libc.TLS, pParse uintptr, p uintptr) { /* sqlite3.c:137277:21: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -115834,7 +115853,7 @@ func Xsqlite3SelectWrongNumTermsError(tls *libc.TLS, pParse uintptr, p uintptr) // // If the LIMIT found in p->iLimit is reached, jump immediately to // iBreak. -func generateOutputSubroutine(tls *libc.TLS, pParse uintptr, p uintptr, pIn uintptr, pDest uintptr, regReturn int32, regPrev int32, pKeyInfo uintptr, iBreak int32) int32 { /* sqlite3.c:137294:12: */ +func generateOutputSubroutine(tls *libc.TLS, pParse uintptr, p uintptr, pIn uintptr, pDest uintptr, regReturn int32, regPrev int32, pKeyInfo uintptr, iBreak int32) int32 { /* sqlite3.c:137307:12: */ var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe var iContinue int32 var addr int32 @@ -116030,7 +116049,7 @@ func generateOutputSubroutine(tls *libc.TLS, pParse uintptr, p uintptr, pIn uint // actually called using Gosub and they do not Return. EofA and EofB loop // until all data is exhausted then jump to the "end" labe. AltB, AeqB, // and AgtB jump to either L2 or to one of EofA or EofB. -func multiSelectOrderBy(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) int32 { /* sqlite3.c:137502:12: */ +func multiSelectOrderBy(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) int32 { /* sqlite3.c:137515:12: */ bp := tls.Alloc(88) defer tls.Free(88) @@ -116380,14 +116399,14 @@ type SubstContext1 = struct { FisLeftJoin int32 F__ccgo_pad1 [4]byte FpEList uintptr -} /* sqlite3.c:137827:9 */ +} /* sqlite3.c:137840:9 */ // An instance of the SubstContext object describes an substitution edit // to be performed on a parse tree. // // All references to columns in table iTable are to be replaced by corresponding // expressions in pEList. -type SubstContext = SubstContext1 /* sqlite3.c:137833:3 */ +type SubstContext = SubstContext1 /* sqlite3.c:137846:3 */ // Scan through the expression pExpr. Replace every reference to // a column in table number iTable with a copy of the iColumn-th @@ -116400,7 +116419,7 @@ type SubstContext = SubstContext1 /* sqlite3.c:137833:3 */ // FORM clause entry is iTable. This routine makes the necessary // changes to pExpr so that it refers directly to the source table // of the subquery rather the result set of the subquery. -func substExpr(tls *libc.TLS, pSubst uintptr, pExpr uintptr) uintptr { /* sqlite3.c:137852:13: */ +func substExpr(tls *libc.TLS, pSubst uintptr, pExpr uintptr) uintptr { /* sqlite3.c:137865:13: */ bp := tls.Alloc(72) defer tls.Free(72) @@ -116483,7 +116502,7 @@ func substExpr(tls *libc.TLS, pSubst uintptr, pExpr uintptr) uintptr { /* sqlite return pExpr } -func substExprList(tls *libc.TLS, pSubst uintptr, pList uintptr) { /* sqlite3.c:137937:13: */ +func substExprList(tls *libc.TLS, pSubst uintptr, pList uintptr) { /* sqlite3.c:137950:13: */ var i int32 if pList == uintptr(0) { return @@ -116493,7 +116512,7 @@ func substExprList(tls *libc.TLS, pSubst uintptr, pList uintptr) { /* sqlite3.c: } } -func substSelect(tls *libc.TLS, pSubst uintptr, p uintptr, doPrior int32) { /* sqlite3.c:137947:13: */ +func substSelect(tls *libc.TLS, pSubst uintptr, p uintptr, doPrior int32) { /* sqlite3.c:137960:13: */ var pSrc uintptr var pItem uintptr var i int32 @@ -116536,7 +116555,7 @@ func substSelect(tls *libc.TLS, pSubst uintptr, p uintptr, doPrior int32) { /* s // // This routine scans the entire SELECT statement and recomputes the // pSrcItem->colUsed mask. -func recomputeColumnsUsedExpr(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:137982:12: */ +func recomputeColumnsUsedExpr(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:137995:12: */ var pItem uintptr if int32((*Expr)(unsafe.Pointer(pExpr)).Fop) != TK_COLUMN { return WRC_Continue @@ -116552,7 +116571,7 @@ func recomputeColumnsUsedExpr(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int return WRC_Continue } -func recomputeColumnsUsed(tls *libc.TLS, pSelect uintptr, pSrcItem uintptr) { /* sqlite3.c:137991:13: */ +func recomputeColumnsUsed(tls *libc.TLS, pSelect uintptr, pSrcItem uintptr) { /* sqlite3.c:138004:13: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -116584,7 +116603,7 @@ func recomputeColumnsUsed(tls *libc.TLS, pSelect uintptr, pSrcItem uintptr) { /* // // If pSrc contains any sub-selects, call this routine recursively // on the FROM clause of each such sub-select, with iExcept set to -1. -func srclistRenumberCursors(tls *libc.TLS, pParse uintptr, aCsrMap uintptr, pSrc uintptr, iExcept int32) { /* sqlite3.c:138020:13: */ +func srclistRenumberCursors(tls *libc.TLS, pParse uintptr, aCsrMap uintptr, pSrc uintptr, iExcept int32) { /* sqlite3.c:138033:13: */ var i int32 var pItem uintptr i = 0 @@ -116617,7 +116636,7 @@ __3: } // *piCursor is a cursor number. Change it if it needs to be mapped. -func renumberCursorDoMapping(tls *libc.TLS, pWalker uintptr, piCursor uintptr) { /* sqlite3.c:138046:13: */ +func renumberCursorDoMapping(tls *libc.TLS, pWalker uintptr, piCursor uintptr) { /* sqlite3.c:138059:13: */ var aCsrMap uintptr = *(*uintptr)(unsafe.Pointer(pWalker + 40)) var iCsr int32 = *(*int32)(unsafe.Pointer(piCursor)) if iCsr < *(*int32)(unsafe.Pointer(aCsrMap)) && *(*int32)(unsafe.Pointer(aCsrMap + uintptr(iCsr+1)*4)) > 0 { @@ -116627,7 +116646,7 @@ func renumberCursorDoMapping(tls *libc.TLS, pWalker uintptr, piCursor uintptr) { // Expression walker callback used by renumberCursors() to update // Expr objects to match newly assigned cursor numbers. -func renumberCursorsCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:138058:12: */ +func renumberCursorsCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:138071:12: */ var op int32 = int32((*Expr)(unsafe.Pointer(pExpr)).Fop) if op == TK_COLUMN || op == TK_IF_NULL_ROW { renumberCursorDoMapping(tls, pWalker, pExpr+44) @@ -116654,7 +116673,7 @@ func renumberCursorsCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* // * the array entries for all cursor numbers that do *not* appear in // FROM clauses of the select statement as described above are // initialized to zero. -func renumberCursors(tls *libc.TLS, pParse uintptr, p uintptr, iExcept int32, aCsrMap uintptr) { /* sqlite3.c:138087:13: */ +func renumberCursors(tls *libc.TLS, pParse uintptr, p uintptr, iExcept int32, aCsrMap uintptr) { /* sqlite3.c:138100:13: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -116824,7 +116843,7 @@ func renumberCursors(tls *libc.TLS, pParse uintptr, p uintptr, iExcept int32, aC // // All of the expression analysis must occur on both the outer query and // the subquery before this routine runs. -func flattenSubquery(tls *libc.TLS, pParse uintptr, p uintptr, iFrom int32, isAgg int32) int32 { /* sqlite3.c:138258:12: */ +func flattenSubquery(tls *libc.TLS, pParse uintptr, p uintptr, iFrom int32, isAgg int32) int32 { /* sqlite3.c:138271:12: */ bp := tls.Alloc(80) defer tls.Free(80) @@ -117249,7 +117268,7 @@ __3: // A structure to keep track of all of the column values that are fixed to // a known value due to WHERE clause constraints of the form COLUMN=VALUE. -type WhereConst = WhereConst1 /* sqlite3.c:138682:27 */ +type WhereConst = WhereConst1 /* sqlite3.c:138695:27 */ // Add a new entry to the pConst object. Except, do not add duplicate // pColumn entires. Also, do not add if doing so would not be appropriate. @@ -117257,7 +117276,7 @@ type WhereConst = WhereConst1 /* sqlite3.c:138682:27 */ // The caller guarantees the pColumn is a column and pValue is a constant. // This routine has to do some additional checks before completing the // insert. -func constInsert(tls *libc.TLS, pConst uintptr, pColumn uintptr, pValue uintptr, pExpr uintptr) { /* sqlite3.c:138700:13: */ +func constInsert(tls *libc.TLS, pConst uintptr, pColumn uintptr, pValue uintptr, pExpr uintptr) { /* sqlite3.c:138713:13: */ var i int32 if (*Expr)(unsafe.Pointer(pColumn)).Fflags&U32(EP_FixedCol) != U32(0) { @@ -117299,7 +117318,7 @@ func constInsert(tls *libc.TLS, pConst uintptr, pColumn uintptr, pValue uintptr, // is a constant expression and where the term must be true because it // is part of the AND-connected terms of the expression. For each term // found, add it to the pConst structure. -func findConstInWhere(tls *libc.TLS, pConst uintptr, pExpr uintptr) { /* sqlite3.c:138748:13: */ +func findConstInWhere(tls *libc.TLS, pConst uintptr, pExpr uintptr) { /* sqlite3.c:138761:13: */ var pRight uintptr var pLeft uintptr if pExpr == uintptr(0) { @@ -117334,7 +117353,7 @@ func findConstInWhere(tls *libc.TLS, pConst uintptr, pExpr uintptr) { /* sqlite3 // then overwrite it with the corresponding value. Except, do not do so // if argument bIgnoreAffBlob is non-zero and the affinity of pExpr // is SQLITE_AFF_BLOB. -func propagateConstantExprRewriteOne(tls *libc.TLS, pConst uintptr, pExpr uintptr, bIgnoreAffBlob int32) int32 { /* sqlite3.c:138779:12: */ +func propagateConstantExprRewriteOne(tls *libc.TLS, pConst uintptr, pExpr uintptr, bIgnoreAffBlob int32) int32 { /* sqlite3.c:138792:12: */ var i int32 if *(*U8)(unsafe.Pointer((*WhereConst)(unsafe.Pointer(pConst)).FpOomFault)) != 0 { return WRC_Prune @@ -117388,7 +117407,7 @@ func propagateConstantExprRewriteOne(tls *libc.TLS, pConst uintptr, pExpr uintpt // uses an affinity other than TEXT and one of its immediate // children is a column that matches one of the columns in // pWalker->u.pConst. -func propagateConstantExprRewrite(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:138828:12: */ +func propagateConstantExprRewrite(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:138841:12: */ var pConst uintptr = *(*uintptr)(unsafe.Pointer(pWalker + 40)) if (*WhereConst)(unsafe.Pointer(pConst)).FbHasAffBlob != 0 { @@ -117455,7 +117474,7 @@ func propagateConstantExprRewrite(tls *libc.TLS, pWalker uintptr, pExpr uintptr) // operators ==, <=, <, >=, >, or IS in a way that will cause the correct // type conversions to occur. See logic associated with the bHasAffBlob flag // for details. -func propagateConstants(tls *libc.TLS, pParse uintptr, p uintptr) int32 { /* sqlite3.c:138899:12: */ +func propagateConstants(tls *libc.TLS, pParse uintptr, p uintptr) int32 { /* sqlite3.c:138912:12: */ bp := tls.Alloc(88) defer tls.Free(88) @@ -117508,7 +117527,7 @@ func propagateConstants(tls *libc.TLS, pParse uintptr, p uintptr) int32 { /* sql // // * the sub-query uses only one distinct window frame, and // * that the window frame has a PARTITION BY clase. -func pushDownWindowCheck(tls *libc.TLS, pParse uintptr, pSubq uintptr, pExpr uintptr) int32 { /* sqlite3.c:138950:12: */ +func pushDownWindowCheck(tls *libc.TLS, pParse uintptr, pSubq uintptr, pExpr uintptr) int32 { /* sqlite3.c:138963:12: */ return Xsqlite3ExprIsConstantOrGroupBy(tls, pParse, pExpr, (*Window)(unsafe.Pointer((*Select)(unsafe.Pointer(pSubq)).FpWin)).FpPartition) } @@ -117579,7 +117598,7 @@ func pushDownWindowCheck(tls *libc.TLS, pParse uintptr, pSubq uintptr, pExpr uin // // Return 0 if no changes are made and non-zero if one or more WHERE clause // terms are duplicated into the subquery. -func pushDownWhereTerms(tls *libc.TLS, pParse uintptr, pSubq uintptr, pWhere uintptr, iCursor int32, isLeftJoin int32) int32 { /* sqlite3.c:139028:12: */ +func pushDownWhereTerms(tls *libc.TLS, pParse uintptr, pSubq uintptr, pWhere uintptr, iCursor int32, isLeftJoin int32) int32 { /* sqlite3.c:139041:12: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -117667,7 +117686,7 @@ func pushDownWhereTerms(tls *libc.TLS, pParse uintptr, pSubq uintptr, pWhere uin // This routine must be called after aggregate functions have been // located but before their arguments have been subjected to aggregate // analysis. -func minMaxQuery(tls *libc.TLS, db uintptr, pFunc uintptr, ppMinMax uintptr) U8 { /* sqlite3.c:139132:11: */ +func minMaxQuery(tls *libc.TLS, db uintptr, pFunc uintptr, ppMinMax uintptr) U8 { /* sqlite3.c:139145:11: */ var eRet int32 = WHERE_ORDERBY_NORMAL // Return value var pEList uintptr // Arguments to agg function var zFunc uintptr // Name of aggregate function pFunc @@ -117717,7 +117736,7 @@ func minMaxQuery(tls *libc.TLS, db uintptr, pFunc uintptr, ppMinMax uintptr) U8 // this routine returns NULL when it could have returned a table pointer. // But returning the pointer when NULL should have been returned can // result in incorrect answers and/or crashes. So, when in doubt, return NULL. -func isSimpleCount(tls *libc.TLS, p uintptr, pAggInfo uintptr) uintptr { /* sqlite3.c:139187:14: */ +func isSimpleCount(tls *libc.TLS, p uintptr, pAggInfo uintptr) uintptr { /* sqlite3.c:139200:14: */ var pTab uintptr var pExpr uintptr @@ -117757,7 +117776,7 @@ func isSimpleCount(tls *libc.TLS, p uintptr, pAggInfo uintptr) uintptr { /* sqli // was such a clause and the named index cannot be found, return // SQLITE_ERROR and leave an error in pParse. Otherwise, populate // pFrom->pIndex and return SQLITE_OK. -func Xsqlite3IndexedByLookup(tls *libc.TLS, pParse uintptr, pFrom uintptr) int32 { /* sqlite3.c:139225:20: */ +func Xsqlite3IndexedByLookup(tls *libc.TLS, pParse uintptr, pFrom uintptr) int32 { /* sqlite3.c:139238:20: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -117796,7 +117815,7 @@ func Xsqlite3IndexedByLookup(tls *libc.TLS, pParse uintptr, pFrom uintptr) int32 // This transformation is only needed for EXCEPT, INTERSECT, and UNION. // The UNION ALL operator works fine with multiSelectOrderBy() even when // there are COLLATE terms in the ORDER BY. -func convertCompoundSelectToSubquery(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sqlite3.c:139267:12: */ +func convertCompoundSelectToSubquery(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sqlite3.c:139280:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -117875,7 +117894,7 @@ func convertCompoundSelectToSubquery(tls *libc.TLS, pWalker uintptr, p uintptr) // Check to see if the FROM clause term pFrom has table-valued function // arguments. If it does, leave an error message in pParse and return // non-zero, since pFrom is not allowed to be a table-valued function. -func cannotBeFunction(tls *libc.TLS, pParse uintptr, pFrom uintptr) int32 { /* sqlite3.c:139332:12: */ +func cannotBeFunction(tls *libc.TLS, pParse uintptr, pFrom uintptr) int32 { /* sqlite3.c:139345:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -117894,7 +117913,7 @@ func cannotBeFunction(tls *libc.TLS, pParse uintptr, pFrom uintptr) int32 { /* s // // If a non-NULL value is returned, set *ppContext to point to the With // object that the returned CTE belongs to. -func searchWith(tls *libc.TLS, pWith uintptr, pItem uintptr, ppContext uintptr) uintptr { /* sqlite3.c:139351:19: */ +func searchWith(tls *libc.TLS, pWith uintptr, pItem uintptr, ppContext uintptr) uintptr { /* sqlite3.c:139364:19: */ var zName uintptr = (*SrcItem)(unsafe.Pointer(pItem)).FzName var p uintptr @@ -117929,7 +117948,7 @@ func searchWith(tls *libc.TLS, pWith uintptr, pItem uintptr, ppContext uintptr) // // If bFree is true, do not continue to use the pWith pointer after // calling this routine, Instead, use only the return value. -func Xsqlite3WithPush(tls *libc.TLS, pParse uintptr, pWith uintptr, bFree U8) uintptr { /* sqlite3.c:139390:21: */ +func Xsqlite3WithPush(tls *libc.TLS, pParse uintptr, pWith uintptr, bFree U8) uintptr { /* sqlite3.c:139403:21: */ if pWith != 0 { if bFree != 0 { pWith = Xsqlite3ParserAddCleanup(tls, pParse, @@ -117962,7 +117981,7 @@ func Xsqlite3WithPush(tls *libc.TLS, pParse uintptr, pWith uintptr, bFree U8) ui // Return 0 if no match is found. // Return 1 if a match is found. // Return 2 if an error condition is detected. -func resolveFromTermToCte(tls *libc.TLS, pParse uintptr, pWalker uintptr, pFrom uintptr) int32 { /* sqlite3.c:139421:12: */ +func resolveFromTermToCte(tls *libc.TLS, pParse uintptr, pWalker uintptr, pFrom uintptr) int32 { /* sqlite3.c:139434:12: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -118144,7 +118163,7 @@ func resolveFromTermToCte(tls *libc.TLS, pParse uintptr, pWalker uintptr, pFrom // This function is used as the xSelectCallback2() callback by // sqlite3SelectExpand() when walking a SELECT tree to resolve table // names and other FROM clause elements. -func Xsqlite3SelectPopWith(tls *libc.TLS, pWalker uintptr, p uintptr) { /* sqlite3.c:139605:21: */ +func Xsqlite3SelectPopWith(tls *libc.TLS, pWalker uintptr, p uintptr) { /* sqlite3.c:139618:21: */ var pParse uintptr = (*Walker)(unsafe.Pointer(pWalker)).FpParse if (*Parse)(unsafe.Pointer(pParse)).FpWith != 0 && (*Select)(unsafe.Pointer(p)).FpPrior == uintptr(0) { var pWith uintptr = (*Select)(unsafe.Pointer(findRightmost(tls, p))).FpWith @@ -118160,7 +118179,7 @@ func Xsqlite3SelectPopWith(tls *libc.TLS, pWalker uintptr, p uintptr) { /* sqlit // allocates and populates the SrcList_item.pTab object. If successful, // SQLITE_OK is returned. Otherwise, if an OOM error is encountered, // SQLITE_NOMEM. -func Xsqlite3ExpandSubquery(tls *libc.TLS, pParse uintptr, pFrom uintptr) int32 { /* sqlite3.c:139624:20: */ +func Xsqlite3ExpandSubquery(tls *libc.TLS, pParse uintptr, pFrom uintptr) int32 { /* sqlite3.c:139637:20: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -118214,7 +118233,7 @@ func Xsqlite3ExpandSubquery(tls *libc.TLS, pParse uintptr, pFrom uintptr) int32 // If found, expand each "*" to be every column in every table // and TABLE.* to be every column in TABLE. // -func selectExpander(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sqlite3.c:139676:12: */ +func selectExpander(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sqlite3.c:139689:12: */ bp := tls.Alloc(88) defer tls.Free(88) @@ -118563,7 +118582,7 @@ __3: // If anything goes wrong, an error message is written into pParse. // The calling function can detect the problem by looking at pParse->nErr // and/or pParse->db->mallocFailed. -func sqlite3SelectExpand(tls *libc.TLS, pParse uintptr, pSelect uintptr) { /* sqlite3.c:140003:13: */ +func sqlite3SelectExpand(tls *libc.TLS, pParse uintptr, pSelect uintptr) { /* sqlite3.c:140016:13: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -118601,7 +118620,7 @@ func sqlite3SelectExpand(tls *libc.TLS, pParse uintptr, pSelect uintptr) { /* sq // by selectExpander() but the type and collation information was omitted // at that point because identifiers had not yet been resolved. This // routine is called after identifier resolution. -func selectAddSubqueryTypeInfo(tls *libc.TLS, pWalker uintptr, p uintptr) { /* sqlite3.c:140033:13: */ +func selectAddSubqueryTypeInfo(tls *libc.TLS, pWalker uintptr, p uintptr) { /* sqlite3.c:140046:13: */ var pParse uintptr var i int32 var pTabList uintptr @@ -118649,7 +118668,7 @@ __3: // SELECT statement. // // Use this routine after name resolution. -func sqlite3SelectAddTypeInfo(tls *libc.TLS, pParse uintptr, pSelect uintptr) { /* sqlite3.c:140068:13: */ +func sqlite3SelectAddTypeInfo(tls *libc.TLS, pParse uintptr, pSelect uintptr) { /* sqlite3.c:140081:13: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -118678,7 +118697,7 @@ func sqlite3SelectAddTypeInfo(tls *libc.TLS, pParse uintptr, pSelect uintptr) { // * Identifiers in expression are matched to tables. // // This routine acts recursively on all subqueries within the SELECT. -func Xsqlite3SelectPrep(tls *libc.TLS, pParse uintptr, p uintptr, pOuterNC uintptr) { /* sqlite3.c:140092:21: */ +func Xsqlite3SelectPrep(tls *libc.TLS, pParse uintptr, p uintptr, pOuterNC uintptr) { /* sqlite3.c:140105:21: */ if (*Sqlite3)(unsafe.Pointer((*Parse)(unsafe.Pointer(pParse)).Fdb)).FmallocFailed != 0 { return @@ -118703,7 +118722,7 @@ func Xsqlite3SelectPrep(tls *libc.TLS, pParse uintptr, p uintptr, pOuterNC uintp // intermediate results while calculating an aggregate. This // routine generates code that stores NULLs in all of those memory // cells. -func resetAccumulator(tls *libc.TLS, pParse uintptr, pAggInfo uintptr) { /* sqlite3.c:140116:13: */ +func resetAccumulator(tls *libc.TLS, pParse uintptr, pAggInfo uintptr) { /* sqlite3.c:140129:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -118753,7 +118772,7 @@ __3: // Invoke the OP_AggFinalize opcode for every aggregate function // in the AggInfo structure. -func finalizeAggFunctions(tls *libc.TLS, pParse uintptr, pAggInfo uintptr) { /* sqlite3.c:140162:13: */ +func finalizeAggFunctions(tls *libc.TLS, pParse uintptr, pAggInfo uintptr) { /* sqlite3.c:140175:13: */ var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe var i int32 var pF uintptr @@ -118792,7 +118811,7 @@ __3: // in pAggInfo, then only populate the pAggInfo->nAccumulator accumulator // registers if register regAcc contains 0. The caller will take care // of setting and clearing regAcc. -func updateAccumulator(tls *libc.TLS, pParse uintptr, regAcc int32, pAggInfo uintptr, eDistinctType int32) { /* sqlite3.c:140185:13: */ +func updateAccumulator(tls *libc.TLS, pParse uintptr, regAcc int32, pAggInfo uintptr, eDistinctType int32) { /* sqlite3.c:140198:13: */ var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe var i int32 var regHit int32 = 0 @@ -118933,7 +118952,7 @@ __9: // Add a single OP_Explain instruction to the VDBE to explain a simple // count(*) query ("SELECT count(*) FROM pTab"). -func explainSimpleCount(tls *libc.TLS, pParse uintptr, pTab uintptr, pIdx uintptr) { /* sqlite3.c:140287:13: */ +func explainSimpleCount(tls *libc.TLS, pParse uintptr, pTab uintptr, pIdx uintptr) { /* sqlite3.c:140300:13: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -118965,7 +118984,7 @@ func explainSimpleCount(tls *libc.TLS, pParse uintptr, pTab uintptr, pIdx uintpt // sub-expression matches the criteria for being moved to the WHERE // clause. If so, add it to the WHERE clause and replace the sub-expression // within the HAVING expression with a constant "1". -func havingToWhereExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:140316:12: */ +func havingToWhereExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:140329:12: */ if int32((*Expr)(unsafe.Pointer(pExpr)).Fop) != TK_AND { var pS uintptr = *(*uintptr)(unsafe.Pointer(pWalker + 40)) // This routine is called before the HAVING clause of the current @@ -119011,7 +119030,7 @@ func havingToWhereExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { // A term of the HAVING expression is eligible for transfer if it consists // entirely of constants and expressions that are also GROUP BY terms that // use the "BINARY" collation sequence. -func havingToWhere(tls *libc.TLS, pParse uintptr, p uintptr) { /* sqlite3.c:140360:13: */ +func havingToWhere(tls *libc.TLS, pParse uintptr, p uintptr) { /* sqlite3.c:140373:13: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -119029,7 +119048,7 @@ func havingToWhere(tls *libc.TLS, pParse uintptr, p uintptr) { /* sqlite3.c:1403 // Check to see if the pThis entry of pTabList is a self-join of a prior view. // If it is, then return the SrcList_item for the prior view. If it is not, // then return 0. -func isSelfJoinView(tls *libc.TLS, pTabList uintptr, pThis uintptr) uintptr { /* sqlite3.c:140380:16: */ +func isSelfJoinView(tls *libc.TLS, pTabList uintptr, pThis uintptr) uintptr { /* sqlite3.c:140393:16: */ var pItem uintptr if (*Select)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pThis)).FpSelect)).FselFlags&U32(SF_PushDown) != 0 { @@ -119070,7 +119089,7 @@ func isSelfJoinView(tls *libc.TLS, pTabList uintptr, pThis uintptr) uintptr { /* } // Deallocate a single AggInfo object -func agginfoFree(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:140415:13: */ +func agginfoFree(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:140428:13: */ Xsqlite3DbFree(tls, db, (*AggInfo)(unsafe.Pointer(p)).FaCol) Xsqlite3DbFree(tls, db, (*AggInfo)(unsafe.Pointer(p)).FaFunc) Xsqlite3DbFreeNN(tls, db, p) @@ -119087,7 +119106,7 @@ func agginfoFree(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:140415:13: // // This routine does NOT free the Select structure passed in. The // calling function needs to do that. -func Xsqlite3Select(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) int32 { /* sqlite3.c:140523:20: */ +func Xsqlite3Select(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) int32 { /* sqlite3.c:140536:20: */ bp := tls.Alloc(216) defer tls.Free(216) @@ -120684,7 +120703,7 @@ type TabResult1 = struct { FnData U32 Frc int32 F__ccgo_pad1 [4]byte -} /* sqlite3.c:141786:9 */ +} /* sqlite3.c:141799:9 */ //************* End of select.c ********************************************* //************* Begin file table.c ****************************************** @@ -120708,12 +120727,12 @@ type TabResult1 = struct { // This structure is used to pass data from sqlite3_get_table() through // to the callback function is uses to build the result. -type TabResult = TabResult1 /* sqlite3.c:141794:3 */ +type TabResult = TabResult1 /* sqlite3.c:141807:3 */ // This routine is called once for each row in the result table. Its job // is to fill in the TabResult structure appropriately, allocating new // memory as necessary. -func sqlite3_get_table_cb(tls *libc.TLS, pArg uintptr, nCol int32, argv uintptr, colv uintptr) int32 { /* sqlite3.c:141801:12: */ +func sqlite3_get_table_cb(tls *libc.TLS, pArg uintptr, nCol int32, argv uintptr, colv uintptr) int32 { /* sqlite3.c:141814:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -120844,7 +120863,7 @@ malloc_failed: // from malloc(). But the caller cannot free this memory directly. // Instead, the entire table should be passed to sqlite3_free_table() when // the calling procedure is finished using it. -func Xsqlite3_get_table(tls *libc.TLS, db uintptr, zSql uintptr, pazResult uintptr, pnRow uintptr, pnColumn uintptr, pzErrMsg uintptr) int32 { /* sqlite3.c:141875:16: */ +func Xsqlite3_get_table(tls *libc.TLS, db uintptr, zSql uintptr, pazResult uintptr, pnRow uintptr, pnColumn uintptr, pzErrMsg uintptr) int32 { /* sqlite3.c:141888:16: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -120916,7 +120935,7 @@ func Xsqlite3_get_table(tls *libc.TLS, db uintptr, zSql uintptr, pazResult uintp } // This routine frees the space the sqlite3_get_table() malloced. -func Xsqlite3_free_table(tls *libc.TLS, azResult uintptr) { /* sqlite3.c:141944:17: */ +func Xsqlite3_free_table(tls *libc.TLS, azResult uintptr) { /* sqlite3.c:141957:17: */ if azResult != 0 { var i int32 var n int32 @@ -120947,7 +120966,7 @@ func Xsqlite3_free_table(tls *libc.TLS, azResult uintptr) { /* sqlite3.c:141944: // #include "sqliteInt.h" // Delete a linked list of TriggerStep structures. -func Xsqlite3DeleteTriggerStep(tls *libc.TLS, db uintptr, pTriggerStep uintptr) { /* sqlite3.c:141979:21: */ +func Xsqlite3DeleteTriggerStep(tls *libc.TLS, db uintptr, pTriggerStep uintptr) { /* sqlite3.c:141992:21: */ for pTriggerStep != 0 { var pTmp uintptr = pTriggerStep pTriggerStep = (*TriggerStep)(unsafe.Pointer(pTriggerStep)).FpNext @@ -120976,7 +120995,7 @@ func Xsqlite3DeleteTriggerStep(tls *libc.TLS, db uintptr, pTriggerStep uintptr) // To state it another way: This routine returns a list of all triggers // that fire off of pTab. The list will include any TEMP triggers on // pTab as well as the triggers lised in pTab->pTrigger. -func Xsqlite3TriggerList(tls *libc.TLS, pParse uintptr, pTab uintptr) uintptr { /* sqlite3.c:142010:24: */ +func Xsqlite3TriggerList(tls *libc.TLS, pParse uintptr, pTab uintptr) uintptr { /* sqlite3.c:142023:24: */ var pTmpSchema uintptr // Schema of the pTab table var pList uintptr // List of triggers to return var p uintptr // Loop variable for TEMP triggers @@ -121014,7 +121033,7 @@ func Xsqlite3TriggerList(tls *libc.TLS, pParse uintptr, pTab uintptr) uintptr { // in pParse->pNewTrigger. After the trigger actions have been parsed, the // sqlite3FinishTrigger() function is called to complete the trigger // construction process. -func Xsqlite3BeginTrigger(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 uintptr, tr_tm int32, op int32, pColumns uintptr, pTableName uintptr, pWhen uintptr, isTemp int32, noErr int32) { /* sqlite3.c:142066:21: */ +func Xsqlite3BeginTrigger(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 uintptr, tr_tm int32, op int32, pColumns uintptr, pTableName uintptr, pWhen uintptr, isTemp int32, noErr int32) { /* sqlite3.c:142079:21: */ bp := tls.Alloc(136) defer tls.Free(136) @@ -121321,7 +121340,7 @@ __31: // This routine is called after all of the trigger actions have been parsed // in order to complete the process of building the trigger. -func Xsqlite3FinishTrigger(tls *libc.TLS, pParse uintptr, pStepList uintptr, pAll uintptr) { /* sqlite3.c:142273:21: */ +func Xsqlite3FinishTrigger(tls *libc.TLS, pParse uintptr, pStepList uintptr, pAll uintptr) { /* sqlite3.c:142286:21: */ bp := tls.Alloc(152) defer tls.Free(152) @@ -121445,7 +121464,7 @@ triggerfinish_cleanup: // Duplicate a range of text from an SQL statement, then convert all // whitespace characters into ordinary space characters. -func triggerSpanDup(tls *libc.TLS, db uintptr, zStart uintptr, zEnd uintptr) uintptr { /* sqlite3.c:142361:13: */ +func triggerSpanDup(tls *libc.TLS, db uintptr, zStart uintptr, zEnd uintptr) uintptr { /* sqlite3.c:142374:13: */ var z uintptr = Xsqlite3DbSpanDup(tls, db, zStart, zEnd) var i int32 if z != 0 { @@ -121463,7 +121482,7 @@ func triggerSpanDup(tls *libc.TLS, db uintptr, zStart uintptr, zEnd uintptr) uin // // The parser calls this routine when it finds a SELECT statement in // body of a TRIGGER. -func Xsqlite3TriggerSelectStep(tls *libc.TLS, db uintptr, pSelect uintptr, zStart uintptr, zEnd uintptr) uintptr { /* sqlite3.c:142375:28: */ +func Xsqlite3TriggerSelectStep(tls *libc.TLS, db uintptr, pSelect uintptr, zStart uintptr, zEnd uintptr) uintptr { /* sqlite3.c:142388:28: */ var pTriggerStep uintptr = Xsqlite3DbMallocZero(tls, db, uint64(unsafe.Sizeof(TriggerStep{}))) if pTriggerStep == uintptr(0) { Xsqlite3SelectDelete(tls, db, pSelect) @@ -121480,7 +121499,7 @@ func Xsqlite3TriggerSelectStep(tls *libc.TLS, db uintptr, pSelect uintptr, zStar // holds both the TriggerStep object and the TriggerStep.target.z string. // // If an OOM error occurs, NULL is returned and db->mallocFailed is set. -func triggerStepAllocate(tls *libc.TLS, pParse uintptr, op U8, pName uintptr, zStart uintptr, zEnd uintptr) uintptr { /* sqlite3.c:142399:20: */ +func triggerStepAllocate(tls *libc.TLS, pParse uintptr, op U8, pName uintptr, zStart uintptr, zEnd uintptr) uintptr { /* sqlite3.c:142412:20: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb var pTriggerStep uintptr @@ -121507,7 +121526,7 @@ func triggerStepAllocate(tls *libc.TLS, pParse uintptr, op U8, pName uintptr, zS // // The parser calls this routine when it sees an INSERT inside the // body of a trigger. -func Xsqlite3TriggerInsertStep(tls *libc.TLS, pParse uintptr, pTableName uintptr, pColumn uintptr, pSelect uintptr, orconf U8, pUpsert uintptr, zStart uintptr, zEnd uintptr) uintptr { /* sqlite3.c:142432:28: */ +func Xsqlite3TriggerInsertStep(tls *libc.TLS, pParse uintptr, pTableName uintptr, pColumn uintptr, pSelect uintptr, orconf U8, pUpsert uintptr, zStart uintptr, zEnd uintptr) uintptr { /* sqlite3.c:142445:28: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb var pTriggerStep uintptr @@ -121539,7 +121558,7 @@ func Xsqlite3TriggerInsertStep(tls *libc.TLS, pParse uintptr, pTableName uintptr // Construct a trigger step that implements an UPDATE statement and return // a pointer to that trigger step. The parser calls this routine when it // sees an UPDATE statement inside the body of a CREATE TRIGGER. -func Xsqlite3TriggerUpdateStep(tls *libc.TLS, pParse uintptr, pTableName uintptr, pFrom uintptr, pEList uintptr, pWhere uintptr, orconf U8, zStart uintptr, zEnd uintptr) uintptr { /* sqlite3.c:142477:28: */ +func Xsqlite3TriggerUpdateStep(tls *libc.TLS, pParse uintptr, pTableName uintptr, pFrom uintptr, pEList uintptr, pWhere uintptr, orconf U8, zStart uintptr, zEnd uintptr) uintptr { /* sqlite3.c:142490:28: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb var pTriggerStep uintptr @@ -121568,7 +121587,7 @@ func Xsqlite3TriggerUpdateStep(tls *libc.TLS, pParse uintptr, pTableName uintptr // Construct a trigger step that implements a DELETE statement and return // a pointer to that trigger step. The parser calls this routine when it // sees a DELETE statement inside the body of a CREATE TRIGGER. -func Xsqlite3TriggerDeleteStep(tls *libc.TLS, pParse uintptr, pTableName uintptr, pWhere uintptr, zStart uintptr, zEnd uintptr) uintptr { /* sqlite3.c:142517:28: */ +func Xsqlite3TriggerDeleteStep(tls *libc.TLS, pParse uintptr, pTableName uintptr, pWhere uintptr, zStart uintptr, zEnd uintptr) uintptr { /* sqlite3.c:142530:28: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb var pTriggerStep uintptr @@ -121587,7 +121606,7 @@ func Xsqlite3TriggerDeleteStep(tls *libc.TLS, pParse uintptr, pTableName uintptr } // Recursively delete a Trigger structure -func Xsqlite3DeleteTrigger(tls *libc.TLS, db uintptr, pTrigger uintptr) { /* sqlite3.c:142544:21: */ +func Xsqlite3DeleteTrigger(tls *libc.TLS, db uintptr, pTrigger uintptr) { /* sqlite3.c:142557:21: */ if pTrigger == uintptr(0) || (*Trigger)(unsafe.Pointer(pTrigger)).FbReturning != 0 { return } @@ -121607,7 +121626,7 @@ func Xsqlite3DeleteTrigger(tls *libc.TLS, db uintptr, pTrigger uintptr) { /* sql // same job as this routine except it takes a pointer to the trigger // instead of the trigger name. // -func Xsqlite3DropTrigger(tls *libc.TLS, pParse uintptr, pName uintptr, noErr int32) { /* sqlite3.c:142562:21: */ +func Xsqlite3DropTrigger(tls *libc.TLS, pParse uintptr, pName uintptr, noErr int32) { /* sqlite3.c:142575:21: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -121691,12 +121710,12 @@ drop_trigger_cleanup: // Return a pointer to the Table structure for the table that a trigger // is set on. -func tableOfTrigger(tls *libc.TLS, pTrigger uintptr) uintptr { /* sqlite3.c:142604:14: */ +func tableOfTrigger(tls *libc.TLS, pTrigger uintptr) uintptr { /* sqlite3.c:142617:14: */ return Xsqlite3HashFind(tls, (*Trigger)(unsafe.Pointer(pTrigger)).FpTabSchema+8, (*Trigger)(unsafe.Pointer(pTrigger)).Ftable) } // Drop a trigger given a pointer to that trigger. -func Xsqlite3DropTriggerPtr(tls *libc.TLS, pParse uintptr, pTrigger uintptr) { /* sqlite3.c:142612:21: */ +func Xsqlite3DropTriggerPtr(tls *libc.TLS, pParse uintptr, pTrigger uintptr) { /* sqlite3.c:142625:21: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -121737,7 +121756,7 @@ func Xsqlite3DropTriggerPtr(tls *libc.TLS, pParse uintptr, pTrigger uintptr) { / } // Remove a trigger from the hash tables of the sqlite* pointer. -func Xsqlite3UnlinkAndDeleteTrigger(tls *libc.TLS, db uintptr, iDb int32, zName uintptr) { /* sqlite3.c:142650:21: */ +func Xsqlite3UnlinkAndDeleteTrigger(tls *libc.TLS, db uintptr, iDb int32, zName uintptr) { /* sqlite3.c:142663:21: */ var pTrigger uintptr var pHash uintptr @@ -121768,7 +121787,7 @@ func Xsqlite3UnlinkAndDeleteTrigger(tls *libc.TLS, db uintptr, iDb int32, zName // wildcard that matches anything. Likewise if pEList==NULL then // it matches anything so always return true. Return false only // if there is no match. -func checkColumnOverlap(tls *libc.TLS, pIdList uintptr, pEList uintptr) int32 { /* sqlite3.c:142684:12: */ +func checkColumnOverlap(tls *libc.TLS, pIdList uintptr, pEList uintptr) int32 { /* sqlite3.c:142697:12: */ var e int32 if pIdList == uintptr(0) || pEList == uintptr(0) { return 1 @@ -121785,7 +121804,7 @@ func checkColumnOverlap(tls *libc.TLS, pIdList uintptr, pEList uintptr) int32 { // one trigger that must be fired when an operation of type 'op' is // performed on the table, and, if that operation is an UPDATE, if at // least one of the columns in pChanges is being modified. -func Xsqlite3TriggersExist(tls *libc.TLS, pParse uintptr, pTab uintptr, op int32, pChanges uintptr, pMask uintptr) uintptr { /* sqlite3.c:142699:24: */ +func Xsqlite3TriggersExist(tls *libc.TLS, pParse uintptr, pTab uintptr, op int32, pChanges uintptr, pMask uintptr) uintptr { /* sqlite3.c:142712:24: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -121912,7 +121931,7 @@ __17: // referring to a target in another database. An exception is when the // trigger is in TEMP in which case it can refer to any other database it // wants. -func Xsqlite3TriggerStepSrc(tls *libc.TLS, pParse uintptr, pStep uintptr) uintptr { /* sqlite3.c:142773:24: */ +func Xsqlite3TriggerStepSrc(tls *libc.TLS, pParse uintptr, pStep uintptr) uintptr { /* sqlite3.c:142786:24: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb var pSrc uintptr // SrcList to be returned var zName uintptr = Xsqlite3DbStrDup(tls, db, (*TriggerStep)(unsafe.Pointer(pStep)).FzTarget) @@ -121937,7 +121956,7 @@ func Xsqlite3TriggerStepSrc(tls *libc.TLS, pParse uintptr, pStep uintptr) uintpt // Return true if the pExpr term from the RETURNING clause argument // list is of the form "*". Raise an error if the terms if of the // form "table.*". -func isAsteriskTerm(tls *libc.TLS, pParse uintptr, pTerm uintptr) int32 { /* sqlite3.c:142804:12: */ +func isAsteriskTerm(tls *libc.TLS, pParse uintptr, pTerm uintptr) int32 { /* sqlite3.c:142817:12: */ if int32((*Expr)(unsafe.Pointer(pTerm)).Fop) == TK_ASTERISK { return 1 @@ -121958,7 +121977,7 @@ func isAsteriskTerm(tls *libc.TLS, pParse uintptr, pTerm uintptr) int32 { /* sql // // This routine makes a copy of the pList, and at the same time expands // any "*" wildcards to be the complete set of columns from pTab. -func sqlite3ExpandReturning(tls *libc.TLS, pParse uintptr, pList uintptr, pTab uintptr) uintptr { /* sqlite3.c:142824:17: */ +func sqlite3ExpandReturning(tls *libc.TLS, pParse uintptr, pList uintptr, pTab uintptr) uintptr { /* sqlite3.c:142837:17: */ var pNew uintptr = uintptr(0) var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb var i int32 @@ -121999,7 +122018,7 @@ func sqlite3ExpandReturning(tls *libc.TLS, pParse uintptr, pList uintptr, pTab u // Generate code for the RETURNING trigger. Unlike other triggers // that invoke a subprogram in the bytecode, the code for RETURNING // is generated in-line. -func codeReturningTrigger(tls *libc.TLS, pParse uintptr, pTrigger uintptr, pTab uintptr, regIn int32) { /* sqlite3.c:142867:13: */ +func codeReturningTrigger(tls *libc.TLS, pParse uintptr, pTrigger uintptr, pTab uintptr, regIn int32) { /* sqlite3.c:142880:13: */ bp := tls.Alloc(304) defer tls.Free(304) @@ -122067,7 +122086,7 @@ func codeReturningTrigger(tls *libc.TLS, pParse uintptr, pTrigger uintptr, pTab // Generate VDBE code for the statements inside the body of a single // trigger. -func codeTriggerProgram(tls *libc.TLS, pParse uintptr, pStepList uintptr, orconf int32) int32 { /* sqlite3.c:142943:12: */ +func codeTriggerProgram(tls *libc.TLS, pParse uintptr, pStepList uintptr, orconf int32) int32 { /* sqlite3.c:142956:12: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -122154,7 +122173,7 @@ func codeTriggerProgram(tls *libc.TLS, pParse uintptr, pStepList uintptr, orconf // Parse context structure pFrom has just been used to create a sub-vdbe // (trigger program). If an error has occurred, transfer error information // from pFrom to pTo. -func transferParseError(tls *libc.TLS, pTo uintptr, pFrom uintptr) { /* sqlite3.c:143047:13: */ +func transferParseError(tls *libc.TLS, pTo uintptr, pFrom uintptr) { /* sqlite3.c:143060:13: */ if (*Parse)(unsafe.Pointer(pTo)).FnErr == 0 { (*Parse)(unsafe.Pointer(pTo)).FzErrMsg = (*Parse)(unsafe.Pointer(pFrom)).FzErrMsg @@ -122167,7 +122186,7 @@ func transferParseError(tls *libc.TLS, pTo uintptr, pFrom uintptr) { /* sqlite3. // Create and populate a new TriggerPrg object with a sub-program // implementing trigger pTrigger with ON CONFLICT policy orconf. -func codeRowTrigger(tls *libc.TLS, pParse uintptr, pTrigger uintptr, pTab uintptr, orconf int32) uintptr { /* sqlite3.c:143063:19: */ +func codeRowTrigger(tls *libc.TLS, pParse uintptr, pTrigger uintptr, pTab uintptr, orconf int32) uintptr { /* sqlite3.c:143076:19: */ bp := tls.Alloc(472) defer tls.Free(472) @@ -122273,7 +122292,7 @@ func codeRowTrigger(tls *libc.TLS, pParse uintptr, pTrigger uintptr, pTab uintpt // trigger pTrigger with default ON CONFLICT algorithm orconf. If no such // TriggerPrg object exists, a new object is allocated and populated before // being returned. -func getRowTrigger(tls *libc.TLS, pParse uintptr, pTrigger uintptr, pTab uintptr, orconf int32) uintptr { /* sqlite3.c:143177:19: */ +func getRowTrigger(tls *libc.TLS, pParse uintptr, pTrigger uintptr, pTab uintptr, orconf int32) uintptr { /* sqlite3.c:143190:19: */ var pRoot uintptr = func() uintptr { if (*Parse)(unsafe.Pointer(pParse)).FpToplevel != 0 { return (*Parse)(unsafe.Pointer(pParse)).FpToplevel @@ -122302,7 +122321,7 @@ func getRowTrigger(tls *libc.TLS, pParse uintptr, pTrigger uintptr, pTab uintptr // table pTab. The reg, orconf and ignoreJump parameters passed to this // function are the same as those described in the header function for // sqlite3CodeRowTrigger() -func Xsqlite3CodeRowTriggerDirect(tls *libc.TLS, pParse uintptr, p uintptr, pTab uintptr, reg int32, orconf int32, ignoreJump int32) { /* sqlite3.c:143212:21: */ +func Xsqlite3CodeRowTriggerDirect(tls *libc.TLS, pParse uintptr, p uintptr, pTab uintptr, reg int32, orconf int32, ignoreJump int32) { /* sqlite3.c:143225:21: */ var v uintptr = Xsqlite3GetVdbe(tls, pParse) // Main VM var pPrg uintptr pPrg = getRowTrigger(tls, pParse, p, pTab, orconf) @@ -122362,7 +122381,7 @@ func Xsqlite3CodeRowTriggerDirect(tls *libc.TLS, pParse uintptr, p uintptr, pTab // trigger program to use (REPLACE, IGNORE etc.). Parameter ignoreJump // is the instruction that control should jump to if a trigger program // raises an IGNORE exception. -func Xsqlite3CodeRowTrigger(tls *libc.TLS, pParse uintptr, pTrigger uintptr, op int32, pChanges uintptr, tr_tm int32, pTab uintptr, reg int32, orconf int32, ignoreJump int32) { /* sqlite3.c:143284:21: */ +func Xsqlite3CodeRowTrigger(tls *libc.TLS, pParse uintptr, pTrigger uintptr, op int32, pChanges uintptr, tr_tm int32, pTab uintptr, reg int32, orconf int32, ignoreJump int32) { /* sqlite3.c:143297:21: */ var p uintptr // Used to iterate through pTrigger list for p = pTrigger; p != 0; p = (*Trigger)(unsafe.Pointer(p)).FpNext { @@ -122410,7 +122429,7 @@ func Xsqlite3CodeRowTrigger(tls *libc.TLS, pParse uintptr, pTrigger uintptr, op // included in the returned mask if the TRIGGER_BEFORE bit is set in the // tr_tm parameter. Similarly, values accessed by AFTER triggers are only // included in the returned mask if the TRIGGER_AFTER bit is set in tr_tm. -func Xsqlite3TriggerColmask(tls *libc.TLS, pParse uintptr, pTrigger uintptr, pChanges uintptr, isNew int32, tr_tm int32, pTab uintptr, orconf int32) U32 { /* sqlite3.c:143354:20: */ +func Xsqlite3TriggerColmask(tls *libc.TLS, pParse uintptr, pTrigger uintptr, pChanges uintptr, isNew int32, tr_tm int32, pTab uintptr, orconf int32) U32 { /* sqlite3.c:143367:20: */ var op int32 if pChanges != 0 { op = TK_UPDATE @@ -122467,7 +122486,7 @@ func Xsqlite3TriggerColmask(tls *libc.TLS, pParse uintptr, pTrigger uintptr, pCh // (not a virtual table) then the value might have been stored as an // integer. In that case, add an OP_RealAffinity opcode to make sure // it has been converted into REAL. -func Xsqlite3ColumnDefault(tls *libc.TLS, v uintptr, pTab uintptr, i int32, iReg int32) { /* sqlite3.c:143452:21: */ +func Xsqlite3ColumnDefault(tls *libc.TLS, v uintptr, pTab uintptr, i int32, iReg int32) { /* sqlite3.c:143465:21: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -122497,7 +122516,7 @@ func Xsqlite3ColumnDefault(tls *libc.TLS, v uintptr, pTab uintptr, i int32, iReg // aXRef[j] will be non-negative if column j of the original table is // being updated. chngRowid will be true if the rowid of the table is // being updated. -func indexColumnIsBeingUpdated(tls *libc.TLS, pIdx uintptr, iCol int32, aXRef uintptr, chngRowid int32) int32 { /* sqlite3.c:143485:12: */ +func indexColumnIsBeingUpdated(tls *libc.TLS, pIdx uintptr, iCol int32, aXRef uintptr, chngRowid int32) int32 { /* sqlite3.c:143498:12: */ var iIdxCol I16 = *(*I16)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FaiColumn + uintptr(iCol)*2)) // Cannot index rowid if int32(iIdxCol) >= 0 { @@ -122518,7 +122537,7 @@ func indexColumnIsBeingUpdated(tls *libc.TLS, pIdx uintptr, iCol int32, aXRef ui // aXRef[j] will be non-negative if column j of the original table is // being updated. chngRowid will be true if the rowid of the table is // being updated. -func indexWhereClauseMightChange(tls *libc.TLS, pIdx uintptr, aXRef uintptr, chngRowid int32) int32 { /* sqlite3.c:143515:12: */ +func indexWhereClauseMightChange(tls *libc.TLS, pIdx uintptr, aXRef uintptr, chngRowid int32) int32 { /* sqlite3.c:143528:12: */ if (*Index)(unsafe.Pointer(pIdx)).FpPartIdxWhere == uintptr(0) { return 0 } @@ -122530,7 +122549,7 @@ func indexWhereClauseMightChange(tls *libc.TLS, pIdx uintptr, aXRef uintptr, chn // Expr.iColumn set to value (iCol+1). The resolver will modify the // expression to be a TK_COLUMN reading column iCol of the first // table in the source-list (pSrc->a[0]). -func exprRowColumn(tls *libc.TLS, pParse uintptr, iCol int32) uintptr { /* sqlite3.c:143531:13: */ +func exprRowColumn(tls *libc.TLS, pParse uintptr, iCol int32) uintptr { /* sqlite3.c:143544:13: */ var pRet uintptr = Xsqlite3PExpr(tls, pParse, TK_ROW, uintptr(0), uintptr(0)) if pRet != 0 { (*Expr)(unsafe.Pointer(pRet)).FiColumn = YnVar(iCol + 1) @@ -122574,7 +122593,7 @@ func exprRowColumn(tls *libc.TLS, pParse uintptr, iCol int32) uintptr { /* sqlit // records with automatically assigned integer keys For intkey tables, the // rowid value in is used as the integer key, and the // remaining fields make up the table record. -func updateFromSelect(tls *libc.TLS, pParse uintptr, iEph int32, pPk uintptr, pChanges uintptr, pTabList uintptr, pWhere uintptr, pOrderBy uintptr, pLimit uintptr) { /* sqlite3.c:143575:13: */ +func updateFromSelect(tls *libc.TLS, pParse uintptr, iEph int32, pPk uintptr, pChanges uintptr, pTabList uintptr, pWhere uintptr, pOrderBy uintptr, pLimit uintptr) { /* sqlite3.c:143588:13: */ bp := tls.Alloc(40) defer tls.Free(40) @@ -122657,7 +122676,7 @@ func updateFromSelect(tls *libc.TLS, pParse uintptr, iEph int32, pPk uintptr, pC // onError | pChanges | pWhere // \_______________________/ // pTabList -func Xsqlite3Update(tls *libc.TLS, pParse uintptr, pTabList uintptr, pChanges uintptr, pWhere uintptr, onError int32, pOrderBy uintptr, pLimit uintptr, pUpsert uintptr) { /* sqlite3.c:143672:21: */ +func Xsqlite3Update(tls *libc.TLS, pParse uintptr, pTabList uintptr, pChanges uintptr, pWhere uintptr, onError int32, pOrderBy uintptr, pLimit uintptr, pUpsert uintptr) { /* sqlite3.c:143685:21: */ bp := tls.Alloc(108) defer tls.Free(108) @@ -124047,7 +124066,7 @@ update_cleanup: // The "onepass" strategy does not use an ephemeral table. Instead, it // stores the same values (A, B and C above) in a register array and // makes a single invocation of VUpdate. -func updateVirtualTable(tls *libc.TLS, pParse uintptr, pSrc uintptr, pTab uintptr, pChanges uintptr, pRowid uintptr, aXRef uintptr, pWhere uintptr, onError int32) { /* sqlite3.c:144564:13: */ +func updateVirtualTable(tls *libc.TLS, pParse uintptr, pSrc uintptr, pTab uintptr, pChanges uintptr, pRowid uintptr, aXRef uintptr, pWhere uintptr, onError int32) { /* sqlite3.c:144577:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -124220,7 +124239,7 @@ func updateVirtualTable(tls *libc.TLS, pParse uintptr, pSrc uintptr, pTab uintpt // #include "sqliteInt.h" // Free a list of Upsert objects -func upsertDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:144752:29: */ +func upsertDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:144765:29: */ for __ccgo := true; __ccgo; __ccgo = p != 0 { var pNext uintptr = (*Upsert)(unsafe.Pointer(p)).FpNextUpsert Xsqlite3ExprListDelete(tls, db, (*Upsert)(unsafe.Pointer(p)).FpUpsertTarget) @@ -124233,14 +124252,14 @@ func upsertDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:144752:29 } } -func Xsqlite3UpsertDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:144764:21: */ +func Xsqlite3UpsertDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:144777:21: */ if p != 0 { upsertDelete(tls, db, p) } } // Duplicate an Upsert object. -func Xsqlite3UpsertDup(tls *libc.TLS, db uintptr, p uintptr) uintptr { /* sqlite3.c:144772:23: */ +func Xsqlite3UpsertDup(tls *libc.TLS, db uintptr, p uintptr) uintptr { /* sqlite3.c:144785:23: */ if p == uintptr(0) { return uintptr(0) } @@ -124253,7 +124272,7 @@ func Xsqlite3UpsertDup(tls *libc.TLS, db uintptr, p uintptr) uintptr { /* sqlite } // Create a new Upsert object. -func Xsqlite3UpsertNew(tls *libc.TLS, db uintptr, pTarget uintptr, pTargetWhere uintptr, pSet uintptr, pWhere uintptr, pNext uintptr) uintptr { /* sqlite3.c:144786:23: */ +func Xsqlite3UpsertNew(tls *libc.TLS, db uintptr, pTarget uintptr, pTargetWhere uintptr, pSet uintptr, pWhere uintptr, pNext uintptr) uintptr { /* sqlite3.c:144799:23: */ var pNew uintptr pNew = Xsqlite3DbMallocZero(tls, db, uint64(unsafe.Sizeof(Upsert{}))) if pNew == uintptr(0) { @@ -124279,7 +124298,7 @@ func Xsqlite3UpsertNew(tls *libc.TLS, db uintptr, pTarget uintptr, pTargetWhere // // Return SQLITE_OK if everything works, or an error code is something // is wrong. -func Xsqlite3UpsertAnalyzeTarget(tls *libc.TLS, pParse uintptr, pTabList uintptr, pUpsert uintptr) int32 { /* sqlite3.c:144821:20: */ +func Xsqlite3UpsertAnalyzeTarget(tls *libc.TLS, pParse uintptr, pTabList uintptr, pUpsert uintptr) int32 { /* sqlite3.c:144834:20: */ bp := tls.Alloc(232) defer tls.Free(232) @@ -124421,7 +124440,7 @@ __3: // Return true if pUpsert is the last ON CONFLICT clause with a // conflict target, or if pUpsert is followed by another ON CONFLICT // clause that targets the INTEGER PRIMARY KEY. -func Xsqlite3UpsertNextIsIPK(tls *libc.TLS, pUpsert uintptr) int32 { /* sqlite3.c:144948:20: */ +func Xsqlite3UpsertNextIsIPK(tls *libc.TLS, pUpsert uintptr) int32 { /* sqlite3.c:144961:20: */ var pNext uintptr if pUpsert == uintptr(0) { return 0 @@ -124443,7 +124462,7 @@ func Xsqlite3UpsertNextIsIPK(tls *libc.TLS, pUpsert uintptr) int32 { /* sqlite3. // a particular index pIdx, return a pointer to the particular ON CONFLICT // clause that applies to the index. Or, if the index is not subject to // any ON CONFLICT clause, return NULL. -func Xsqlite3UpsertOfIndex(tls *libc.TLS, pUpsert uintptr, pIdx uintptr) uintptr { /* sqlite3.c:144964:23: */ +func Xsqlite3UpsertOfIndex(tls *libc.TLS, pUpsert uintptr, pIdx uintptr) uintptr { /* sqlite3.c:144977:23: */ for pUpsert != 0 && (*Upsert)(unsafe.Pointer(pUpsert)).FpUpsertTarget != uintptr(0) && (*Upsert)(unsafe.Pointer(pUpsert)).FpUpsertIdx != pIdx { @@ -124459,7 +124478,7 @@ func Xsqlite3UpsertOfIndex(tls *libc.TLS, pUpsert uintptr, pIdx uintptr) uintptr // currently points to the conflicting table row. Otherwise, if pIdx // is not NULL, then pIdx is the constraint that failed and iCur is a // cursor points to the conflicting row. -func Xsqlite3UpsertDoUpdate(tls *libc.TLS, pParse uintptr, pUpsert uintptr, pTab uintptr, pIdx uintptr, iCur int32) { /* sqlite3.c:144984:21: */ +func Xsqlite3UpsertDoUpdate(tls *libc.TLS, pParse uintptr, pUpsert uintptr, pTab uintptr, pIdx uintptr, iCur int32) { /* sqlite3.c:144997:21: */ var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb var pSrc uintptr // FROM clause for the UPDATE @@ -124539,7 +124558,7 @@ func Xsqlite3UpsertDoUpdate(tls *libc.TLS, pParse uintptr, pUpsert uintptr, pTab // // The execSqlF() routine does the same thing, except it accepts // a format string as its third argument -func execSql(tls *libc.TLS, db uintptr, pzErrMsg uintptr, zSql uintptr) int32 { /* sqlite3.c:145081:12: */ +func execSql(tls *libc.TLS, db uintptr, pzErrMsg uintptr, zSql uintptr) int32 { /* sqlite3.c:145094:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -124579,7 +124598,7 @@ func execSql(tls *libc.TLS, db uintptr, pzErrMsg uintptr, zSql uintptr) int32 { return rc } -func execSqlF(tls *libc.TLS, db uintptr, pzErrMsg uintptr, zSql uintptr, va uintptr) int32 { /* sqlite3.c:145111:12: */ +func execSqlF(tls *libc.TLS, db uintptr, pzErrMsg uintptr, zSql uintptr, va uintptr) int32 { /* sqlite3.c:145124:12: */ var z uintptr var ap Va_list _ = ap @@ -124623,7 +124642,7 @@ func execSqlF(tls *libc.TLS, db uintptr, pzErrMsg uintptr, zSql uintptr, va uint // And a power loss in between deleting the original and renaming the // transient would cause the database file to appear to be deleted // following reboot. -func Xsqlite3Vacuum(tls *libc.TLS, pParse uintptr, pNm uintptr, pInto uintptr) { /* sqlite3.c:145154:21: */ +func Xsqlite3Vacuum(tls *libc.TLS, pParse uintptr, pNm uintptr, pInto uintptr) { /* sqlite3.c:145167:21: */ bp := tls.Alloc(8) defer tls.Free(8) *(*uintptr)(unsafe.Pointer(bp)) = pNm @@ -124680,7 +124699,7 @@ build_vacuum_end: } // This routine implements the OP_Vacuum opcode of the VDBE. -func Xsqlite3RunVacuum(tls *libc.TLS, pzErrMsg uintptr, db uintptr, iDb int32, pOut uintptr) int32 { /* sqlite3.c:145192:36: */ +func Xsqlite3RunVacuum(tls *libc.TLS, pzErrMsg uintptr, db uintptr, iDb int32, pOut uintptr) int32 { /* sqlite3.c:145205:36: */ bp := tls.Alloc(52) defer tls.Free(52) @@ -125018,7 +125037,7 @@ var aCopy = [10]uint8{ uint8(BTREE_TEXT_ENCODING), uint8(0), // Preserve the text encoding uint8(BTREE_USER_VERSION), uint8(0), // Preserve the user version uint8(BTREE_APPLICATION_ID), uint8(0), // Preserve the application id -} /* sqlite3.c:145385:32 */ +} /* sqlite3.c:145398:32 */ // Construct and install a Module object for a virtual table. When this // routine is called, it is guaranteed that all appropriate locks are held @@ -125026,7 +125045,7 @@ var aCopy = [10]uint8{ // // 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 Xsqlite3VtabCreateModule(tls *libc.TLS, db uintptr, zName uintptr, pModule uintptr, pAux uintptr, xDestroy uintptr) uintptr { /* sqlite3.c:145497:23: */ +func Xsqlite3VtabCreateModule(tls *libc.TLS, db uintptr, zName uintptr, pModule uintptr, pAux uintptr, xDestroy uintptr) uintptr { /* sqlite3.c:145510:23: */ var pMod uintptr var pDel uintptr var zCopy uintptr @@ -125066,7 +125085,7 @@ func Xsqlite3VtabCreateModule(tls *libc.TLS, db uintptr, zName uintptr, pModule // The actual function that does the work of creating a new module. // 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) int32 { /* sqlite3.c:145545:12: */ +func createModule(tls *libc.TLS, db uintptr, zName uintptr, pModule uintptr, pAux uintptr, xDestroy uintptr) int32 { /* sqlite3.c:145558:12: */ var rc int32 = SQLITE_OK Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) @@ -125080,18 +125099,18 @@ func createModule(tls *libc.TLS, db uintptr, zName uintptr, pModule uintptr, pAu } // External API function used to create a new virtual-table module. -func Xsqlite3_create_module(tls *libc.TLS, db uintptr, zName uintptr, pModule uintptr, pAux uintptr) int32 { /* sqlite3.c:145566:16: */ +func Xsqlite3_create_module(tls *libc.TLS, db uintptr, zName uintptr, pModule uintptr, pAux uintptr) int32 { /* sqlite3.c:145579:16: */ return createModule(tls, db, zName, pModule, pAux, uintptr(0)) } // 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) int32 { /* sqlite3.c:145581:16: */ +func Xsqlite3_create_module_v2(tls *libc.TLS, db uintptr, zName uintptr, pModule uintptr, pAux uintptr, xDestroy uintptr) int32 { /* sqlite3.c:145594:16: */ return createModule(tls, db, zName, pModule, pAux, xDestroy) } // External API to drop all virtual-table modules, except those named // on the azNames list. -func Xsqlite3_drop_modules(tls *libc.TLS, db uintptr, azNames uintptr) int32 { /* sqlite3.c:145598:16: */ +func Xsqlite3_drop_modules(tls *libc.TLS, db uintptr, azNames uintptr) int32 { /* sqlite3.c:145611:16: */ var pThis uintptr var pNext uintptr for pThis = (*Hash)(unsafe.Pointer(db + 568)).Ffirst; pThis != 0; pThis = pNext { @@ -125112,7 +125131,7 @@ func Xsqlite3_drop_modules(tls *libc.TLS, db uintptr, azNames uintptr) int32 { / // Decrement the reference count on a Module object. Destroy the // module when the reference count reaches zero. -func Xsqlite3VtabModuleUnref(tls *libc.TLS, db uintptr, pMod uintptr) { /* sqlite3.c:145620:21: */ +func Xsqlite3VtabModuleUnref(tls *libc.TLS, db uintptr, pMod uintptr) { /* sqlite3.c:145633:21: */ (*Module)(unsafe.Pointer(pMod)).FnRefModule-- if (*Module)(unsafe.Pointer(pMod)).FnRefModule == 0 { @@ -125130,14 +125149,14 @@ func Xsqlite3VtabModuleUnref(tls *libc.TLS, db uintptr, pMod uintptr) { /* sqlit // // If a disconnect is attempted while a virtual table is locked, // the disconnect is deferred until all locks have been removed. -func Xsqlite3VtabLock(tls *libc.TLS, pVTab uintptr) { /* sqlite3.c:145640:21: */ +func Xsqlite3VtabLock(tls *libc.TLS, pVTab uintptr) { /* sqlite3.c:145653:21: */ (*VTable)(unsafe.Pointer(pVTab)).FnRef++ } // pTab is a pointer to a Table structure representing a virtual-table. // Return a pointer to the VTable object used by connection db to access // this virtual-table, if one has been created, or NULL otherwise. -func Xsqlite3GetVTable(tls *libc.TLS, db uintptr, pTab uintptr) uintptr { /* sqlite3.c:145650:23: */ +func Xsqlite3GetVTable(tls *libc.TLS, db uintptr, pTab uintptr) uintptr { /* sqlite3.c:145663:23: */ var pVtab uintptr for pVtab = *(*uintptr)(unsafe.Pointer(pTab + 64 + 16 /* &.p */)); pVtab != 0 && (*VTable)(unsafe.Pointer(pVtab)).Fdb != db; pVtab = (*VTable)(unsafe.Pointer(pVtab)).FpNext { @@ -125147,7 +125166,7 @@ func Xsqlite3GetVTable(tls *libc.TLS, db uintptr, pTab uintptr) uintptr { /* sql // Decrement the ref-count on a virtual table object. When the ref-count // reaches zero, call the xDisconnect() method to delete the object. -func Xsqlite3VtabUnlock(tls *libc.TLS, pVTab uintptr) { /* sqlite3.c:145661:21: */ +func Xsqlite3VtabUnlock(tls *libc.TLS, pVTab uintptr) { /* sqlite3.c:145674:21: */ var db uintptr = (*VTable)(unsafe.Pointer(pVTab)).Fdb (*VTable)(unsafe.Pointer(pVTab)).FnRef-- @@ -125168,7 +125187,7 @@ func Xsqlite3VtabUnlock(tls *libc.TLS, pVTab uintptr) { /* sqlite3.c:145661:21: // database connections to be disconnected at the next opportunity. // Except, if argument db is not NULL, then the entry associated with // connection db is left in the p->u.vtab.p list. -func vtabDisconnectAll(tls *libc.TLS, db uintptr, p uintptr) uintptr { /* sqlite3.c:145687:15: */ +func vtabDisconnectAll(tls *libc.TLS, db uintptr, p uintptr) uintptr { /* sqlite3.c:145700:15: */ var pRet uintptr = uintptr(0) var pVTable uintptr @@ -125205,7 +125224,7 @@ func vtabDisconnectAll(tls *libc.TLS, db uintptr, p uintptr) uintptr { /* sqlite // used when closing database connection db to free all of its VTable // objects without disturbing the rest of the Schema object (which may // be being used by other shared-cache connections). -func Xsqlite3VtabDisconnect(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:145730:21: */ +func Xsqlite3VtabDisconnect(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:145743:21: */ var ppVTab uintptr for ppVTab = p + 64 + 16; *(*uintptr)(unsafe.Pointer(ppVTab)) != 0; ppVTab = *(*uintptr)(unsafe.Pointer(ppVTab)) + 40 { @@ -125236,7 +125255,7 @@ func Xsqlite3VtabDisconnect(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c // // As a result, a sqlite3.pDisconnect cannot be accessed simultaneously // by multiple threads. It is thread-safe. -func Xsqlite3VtabUnlockList(tls *libc.TLS, db uintptr) { /* sqlite3.c:145768:21: */ +func Xsqlite3VtabUnlockList(tls *libc.TLS, db uintptr) { /* sqlite3.c:145781:21: */ var p uintptr = (*Sqlite3)(unsafe.Pointer(db)).FpDisconnect if p != 0 { @@ -125262,7 +125281,7 @@ func Xsqlite3VtabUnlockList(tls *libc.TLS, db uintptr) { /* sqlite3.c:145768:21: // structure being xDisconnected and free). Any other VTable structures // in the list are moved to the sqlite3.pDisconnect list of the associated // database connection. -func Xsqlite3VtabClear(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:145799:21: */ +func Xsqlite3VtabClear(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:145812:21: */ if !(db != 0) || (*Sqlite3)(unsafe.Pointer(db)).FpnBytesFreed == uintptr(0) { vtabDisconnectAll(tls, uintptr(0), p) @@ -125282,7 +125301,7 @@ func Xsqlite3VtabClear(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:1457 // The string is not copied - the pointer is stored. The // string will be freed automatically when the table is // deleted. -func addModuleArgument(tls *libc.TLS, pParse uintptr, pTable uintptr, zArg uintptr) { /* sqlite3.c:145817:13: */ +func addModuleArgument(tls *libc.TLS, pParse uintptr, pTable uintptr, zArg uintptr) { /* sqlite3.c:145830:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -125308,7 +125327,7 @@ func addModuleArgument(tls *libc.TLS, pParse uintptr, pTable uintptr, zArg uintp // The parser calls this routine when it first sees a CREATE VIRTUAL TABLE // statement. The module name has been parsed, but the optional list // of parameters that follow the module name are still pending. -func Xsqlite3VtabBeginParse(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 uintptr, pModuleName uintptr, ifNotExists int32) { /* sqlite3.c:145843:21: */ +func Xsqlite3VtabBeginParse(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 uintptr, pModuleName uintptr, ifNotExists int32) { /* sqlite3.c:145856:21: */ var pTable uintptr // The new virtual table var db uintptr // Database connection @@ -125343,7 +125362,7 @@ func Xsqlite3VtabBeginParse(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName // This routine takes the module argument that has been accumulating // in pParse->zArg[] and appends it to the list of arguments on the // virtual table currently under construction in pParse->pTable. -func addArgumentToVtab(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:145892:13: */ +func addArgumentToVtab(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:145905:13: */ if (*Parse)(unsafe.Pointer(pParse)).FsArg.Fz != 0 && (*Parse)(unsafe.Pointer(pParse)).FpNewTable != 0 { var z uintptr = (*Parse)(unsafe.Pointer(pParse)).FsArg.Fz var n int32 = int32((*Parse)(unsafe.Pointer(pParse)).FsArg.Fn) @@ -125354,7 +125373,7 @@ func addArgumentToVtab(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:145892:13: // The parser calls this routine after the CREATE VIRTUAL TABLE statement // has been completely parsed. -func Xsqlite3VtabFinishParse(tls *libc.TLS, pParse uintptr, pEnd uintptr) { /* sqlite3.c:145905:21: */ +func Xsqlite3VtabFinishParse(tls *libc.TLS, pParse uintptr, pEnd uintptr) { /* sqlite3.c:145918:21: */ bp := tls.Alloc(64) defer tls.Free(64) @@ -125438,7 +125457,7 @@ func Xsqlite3VtabFinishParse(tls *libc.TLS, pParse uintptr, pEnd uintptr) { /* s // The parser calls this routine when it sees the first token // of an argument to the module name in a CREATE VIRTUAL TABLE statement. -func Xsqlite3VtabArgInit(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:145988:21: */ +func Xsqlite3VtabArgInit(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:146001:21: */ addArgumentToVtab(tls, pParse) (*Parse)(unsafe.Pointer(pParse)).FsArg.Fz = uintptr(0) (*Parse)(unsafe.Pointer(pParse)).FsArg.Fn = uint32(0) @@ -125446,7 +125465,7 @@ func Xsqlite3VtabArgInit(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:145988:21 // The parser calls this routine for each token after the first token // in an argument to the module name in a CREATE VIRTUAL TABLE statement. -func Xsqlite3VtabArgExtend(tls *libc.TLS, pParse uintptr, p uintptr) { /* sqlite3.c:145998:21: */ +func Xsqlite3VtabArgExtend(tls *libc.TLS, pParse uintptr, p uintptr) { /* sqlite3.c:146011:21: */ var pArg uintptr = pParse + 368 if (*Token)(unsafe.Pointer(pArg)).Fz == uintptr(0) { (*Token)(unsafe.Pointer(pArg)).Fz = (*Token)(unsafe.Pointer(p)).Fz @@ -125460,7 +125479,7 @@ func Xsqlite3VtabArgExtend(tls *libc.TLS, pParse uintptr, p uintptr) { /* sqlite // Invoke a virtual table constructor (either xCreate or xConnect). The // 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) int32 { /* sqlite3.c:146014:12: */ +func vtabCallConstructor(tls *libc.TLS, db uintptr, pTab uintptr, pMod uintptr, xConstruct uintptr, pzErr uintptr) int32 { /* sqlite3.c:146027:12: */ bp := tls.Alloc(72) defer tls.Free(72) @@ -125596,7 +125615,7 @@ func vtabCallConstructor(tls *libc.TLS, db uintptr, pTab uintptr, pMod uintptr, // and an error left in pParse. // // This call is a no-op if table pTab is not a virtual table. -func Xsqlite3VtabCallConnect(tls *libc.TLS, pParse uintptr, pTab uintptr) int32 { /* sqlite3.c:146150:20: */ +func Xsqlite3VtabCallConnect(tls *libc.TLS, pParse uintptr, pTab uintptr) int32 { /* sqlite3.c:146163:20: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -125632,7 +125651,7 @@ func Xsqlite3VtabCallConnect(tls *libc.TLS, pParse uintptr, pTab uintptr) int32 // Grow the db->aVTrans[] array so that there is room for at least one // more v-table. Return SQLITE_NOMEM if a malloc fails, or SQLITE_OK otherwise. -func growVTrans(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:146186:12: */ +func growVTrans(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:146199:12: */ var ARRAY_INCR int32 = 5 // Grow the sqlite3.aVTrans array if required @@ -125652,7 +125671,7 @@ func growVTrans(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:146186:12: */ // Add the virtual table pVTab to the array sqlite3.aVTrans[]. Space should // have already been reserved using growVTrans(). -func addToVTrans(tls *libc.TLS, db uintptr, pVTab uintptr) { /* sqlite3.c:146209:13: */ +func addToVTrans(tls *libc.TLS, db uintptr, pVTab uintptr) { /* sqlite3.c:146222:13: */ // Add pVtab to the end of sqlite3.aVTrans *(*uintptr)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaVTrans + uintptr(libc.PostIncInt32(&(*Sqlite3)(unsafe.Pointer(db)).FnVTrans, 1))*8)) = pVTab Xsqlite3VtabLock(tls, pVTab) @@ -125664,7 +125683,7 @@ func addToVTrans(tls *libc.TLS, db uintptr, pVTab uintptr) { /* sqlite3.c:146209 // If an error occurs, *pzErr is set to point to an English language // description of the error and an SQLITE_XXX error code is returned. // In this case the caller must call sqlite3DbFree(db, ) on *pzErr. -func Xsqlite3VtabCallCreate(tls *libc.TLS, db uintptr, iDb int32, zTab uintptr, pzErr uintptr) int32 { /* sqlite3.c:146223:20: */ +func Xsqlite3VtabCallCreate(tls *libc.TLS, db uintptr, iDb int32, zTab uintptr, pzErr uintptr) int32 { /* sqlite3.c:146236:20: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -125704,7 +125723,7 @@ func Xsqlite3VtabCallCreate(tls *libc.TLS, db uintptr, iDb int32, zTab uintptr, // This function is used to set the schema of a virtual table. It is only // valid to call this function from within the xCreate() or xConnect() of a // virtual table module. -func Xsqlite3_declare_vtab(tls *libc.TLS, db uintptr, zCreateTable uintptr) int32 { /* sqlite3.c:146264:16: */ +func Xsqlite3_declare_vtab(tls *libc.TLS, db uintptr, zCreateTable uintptr) int32 { /* sqlite3.c:146277:16: */ bp := tls.Alloc(416) defer tls.Free(416) @@ -125720,12 +125739,13 @@ func Xsqlite3_declare_vtab(tls *libc.TLS, db uintptr, zCreateTable uintptr) int3 if !(pCtx != 0) || (*VtabCtx)(unsafe.Pointer(pCtx)).FbDeclared != 0 { Xsqlite3Error(tls, db, SQLITE_MISUSE) Xsqlite3_mutex_leave(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) - return Xsqlite3MisuseError(tls, 146281) + return Xsqlite3MisuseError(tls, 146294) } pTab = (*VtabCtx)(unsafe.Pointer(pCtx)).FpTab Xsqlite3ParseObjectInit(tls, bp+8, db) (*Parse)(unsafe.Pointer(bp + 8 /* &sParse */)).FeParseMode = U8(PARSE_MODE_DECLARE_VTAB) + (*Parse)(unsafe.Pointer(bp + 8 /* &sParse */)).FdisableTriggers = U8(1) // We should never be able to reach this point while loading the // schema. Nevertheless, defend against that (turn off db->init.busy) // in case a bug arises. @@ -125794,7 +125814,7 @@ func Xsqlite3_declare_vtab(tls *libc.TLS, db uintptr, zCreateTable uintptr) int3 // when a DROP TABLE is mentioned. // // This call is a no-op if zTab is not a virtual table. -func Xsqlite3VtabCallDestroy(tls *libc.TLS, db uintptr, iDb int32, zTab uintptr) int32 { /* sqlite3.c:146357:20: */ +func Xsqlite3VtabCallDestroy(tls *libc.TLS, db uintptr, iDb int32, zTab uintptr) int32 { /* sqlite3.c:146371:20: */ var rc int32 = SQLITE_OK var pTab uintptr @@ -125839,7 +125859,7 @@ func Xsqlite3VtabCallDestroy(tls *libc.TLS, db uintptr, iDb int32, zTab uintptr) // the offset of the method to call in the sqlite3_module structure. // // The array is cleared after invoking the callbacks. -func callFinaliser(tls *libc.TLS, db uintptr, offset int32) { /* sqlite3.c:146401:13: */ +func callFinaliser(tls *libc.TLS, db uintptr, offset int32) { /* sqlite3.c:146415:13: */ var i int32 if (*Sqlite3)(unsafe.Pointer(db)).FaVTrans != 0 { var aVTrans uintptr = (*Sqlite3)(unsafe.Pointer(db)).FaVTrans @@ -125869,7 +125889,7 @@ func callFinaliser(tls *libc.TLS, db uintptr, offset int32) { /* sqlite3.c:14640 // SQLITE_OK if all xSync operations are successful. // // If an error message is available, leave it in p->zErrMsg. -func Xsqlite3VtabSync(tls *libc.TLS, db uintptr, p uintptr) int32 { /* sqlite3.c:146429:20: */ +func Xsqlite3VtabSync(tls *libc.TLS, db uintptr, p uintptr) int32 { /* sqlite3.c:146443:20: */ var i int32 var rc int32 = SQLITE_OK var aVTrans uintptr = (*Sqlite3)(unsafe.Pointer(db)).FaVTrans @@ -125891,14 +125911,14 @@ func Xsqlite3VtabSync(tls *libc.TLS, db uintptr, p uintptr) int32 { /* sqlite3.c // Invoke the xRollback method of all virtual tables in the // sqlite3.aVTrans array. Then clear the array itself. -func Xsqlite3VtabRollback(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:146451:20: */ +func Xsqlite3VtabRollback(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:146465:20: */ callFinaliser(tls, db, int32(uintptr(0)+136)) return SQLITE_OK } // Invoke the xCommit method of all virtual tables in the // sqlite3.aVTrans array. Then clear the array itself. -func Xsqlite3VtabCommit(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:146460:20: */ +func Xsqlite3VtabCommit(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:146474:20: */ callFinaliser(tls, db, int32(uintptr(0)+128)) return SQLITE_OK } @@ -125909,7 +125929,7 @@ func Xsqlite3VtabCommit(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:146460:2 // // If the xBegin call is successful, place the sqlite3_vtab pointer // in the sqlite3.aVTrans array. -func Xsqlite3VtabBegin(tls *libc.TLS, db uintptr, pVTab uintptr) int32 { /* sqlite3.c:146473:20: */ +func Xsqlite3VtabBegin(tls *libc.TLS, db uintptr, pVTab uintptr) int32 { /* sqlite3.c:146487:20: */ var rc int32 = SQLITE_OK var pModule uintptr @@ -125970,7 +125990,7 @@ func Xsqlite3VtabBegin(tls *libc.TLS, db uintptr, pVTab uintptr) int32 { /* sqli // processing is abandoned and the error returned to the caller of this // function immediately. If all calls to virtual table methods are successful, // SQLITE_OK is returned. -func Xsqlite3VtabSavepoint(tls *libc.TLS, db uintptr, op int32, iSavepoint int32) int32 { /* sqlite3.c:146533:20: */ +func Xsqlite3VtabSavepoint(tls *libc.TLS, db uintptr, op int32, iSavepoint int32) int32 { /* sqlite3.c:146547:20: */ var rc int32 = SQLITE_OK if (*Sqlite3)(unsafe.Pointer(db)).FaVTrans != 0 { @@ -126018,7 +126038,7 @@ func Xsqlite3VtabSavepoint(tls *libc.TLS, db uintptr, op int32, iSavepoint int32 // Return either the pDef argument (indicating no change) or a // new FuncDef structure that is marked as ephemeral using the // SQLITE_FUNC_EPHEM flag. -func Xsqlite3VtabOverloadFunction(tls *libc.TLS, db uintptr, pDef uintptr, nArg int32, pExpr uintptr) uintptr { /* sqlite3.c:146581:24: */ +func Xsqlite3VtabOverloadFunction(tls *libc.TLS, db uintptr, pDef uintptr, nArg int32, pExpr uintptr) uintptr { /* sqlite3.c:146595:24: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -126085,7 +126105,7 @@ func Xsqlite3VtabOverloadFunction(tls *libc.TLS, db uintptr, pDef uintptr, nArg // array so that an OP_VBegin will get generated for it. Add pTab to the // array if it is missing. If pTab is already in the array, this routine // is a no-op. -func Xsqlite3VtabMakeWritable(tls *libc.TLS, pParse uintptr, pTab uintptr) { /* sqlite3.c:146651:21: */ +func Xsqlite3VtabMakeWritable(tls *libc.TLS, pParse uintptr, pTab uintptr) { /* sqlite3.c:146665:21: */ var pToplevel uintptr = func() uintptr { if (*Parse)(unsafe.Pointer(pParse)).FpToplevel != 0 { return (*Parse)(unsafe.Pointer(pParse)).FpToplevel @@ -126124,7 +126144,7 @@ func Xsqlite3VtabMakeWritable(tls *libc.TLS, pParse uintptr, pTab uintptr) { /* // // Any virtual table module for which xConnect and xCreate are the same // method can have an eponymous virtual table instance. -func Xsqlite3VtabEponymousTableInit(tls *libc.TLS, pParse uintptr, pMod uintptr) int32 { /* sqlite3.c:146685:20: */ +func Xsqlite3VtabEponymousTableInit(tls *libc.TLS, pParse uintptr, pMod uintptr) int32 { /* sqlite3.c:146699:20: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -126169,7 +126189,7 @@ func Xsqlite3VtabEponymousTableInit(tls *libc.TLS, pParse uintptr, pMod uintptr) // Erase the eponymous virtual table instance associated with // virtual table module pMod, if it exists. -func Xsqlite3VtabEponymousTableClear(tls *libc.TLS, db uintptr, pMod uintptr) { /* sqlite3.c:146723:21: */ +func Xsqlite3VtabEponymousTableClear(tls *libc.TLS, db uintptr, pMod uintptr) { /* sqlite3.c:146737:21: */ var pTab uintptr = (*Module)(unsafe.Pointer(pMod)).FpEpoTab if pTab != uintptr(0) { // Mark the table as Ephemeral prior to deleting it, so that the @@ -126186,19 +126206,19 @@ func Xsqlite3VtabEponymousTableClear(tls *libc.TLS, db uintptr, pMod uintptr) { // // The results of this routine are undefined unless it is called from // within an xUpdate method. -func Xsqlite3_vtab_on_conflict(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:146742:16: */ +func Xsqlite3_vtab_on_conflict(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:146756:16: */ return int32(aMap[int32((*Sqlite3)(unsafe.Pointer(db)).FvtabOnConflict)-1]) } var aMap = [5]uint8{ uint8(SQLITE_ROLLBACK), uint8(SQLITE_ABORT), uint8(SQLITE_FAIL), uint8(SQLITE_IGNORE), uint8(SQLITE_REPLACE), -} /* sqlite3.c:146743:30 */ +} /* sqlite3.c:146757:30 */ // Call from within the xCreate() or xConnect() methods to provide // the SQLite core with additional information about the behavior // of the virtual table being implemented. -func Xsqlite3_vtab_config(tls *libc.TLS, db uintptr, op int32, va uintptr) int32 { /* sqlite3.c:146760:16: */ +func Xsqlite3_vtab_config(tls *libc.TLS, db uintptr, op int32, va uintptr) int32 { /* sqlite3.c:146774:16: */ var ap Va_list _ = ap var rc int32 = SQLITE_OK @@ -126207,7 +126227,7 @@ func Xsqlite3_vtab_config(tls *libc.TLS, db uintptr, op int32, va uintptr) int32 Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) p = (*Sqlite3)(unsafe.Pointer(db)).FpVtabCtx if !(p != 0) { - rc = Xsqlite3MisuseError(tls, 146771) + rc = Xsqlite3MisuseError(tls, 146785) } else { ap = va @@ -126235,7 +126255,7 @@ func Xsqlite3_vtab_config(tls *libc.TLS, db uintptr, op int32, va uintptr) int32 fallthrough default: { - rc = Xsqlite3MisuseError(tls, 146789) + rc = Xsqlite3MisuseError(tls, 146803) break } @@ -126339,23 +126359,23 @@ type WhereClause1 = struct { // a separate source file for easier editing. // Forward references -type WhereClause = WhereClause1 /* sqlite3.c:146849:28 */ +type WhereClause = WhereClause1 /* sqlite3.c:146863:28 */ type WhereMaskSet1 = struct { FbVarSelect int32 Fn int32 Fix [64]int32 } /* sqlite3.c:14626:9 */ -type WhereMaskSet = WhereMaskSet1 /* sqlite3.c:146850:29 */ +type WhereMaskSet = WhereMaskSet1 /* sqlite3.c:146864:29 */ type WhereOrInfo1 = struct { Fwc WhereClause Findexable Bitmask -} /* sqlite3.c:146851:9 */ +} /* sqlite3.c:146865:9 */ -type WhereOrInfo = WhereOrInfo1 /* sqlite3.c:146851:28 */ -type WhereAndInfo1 = struct{ Fwc WhereClause } /* sqlite3.c:146852:9 */ +type WhereOrInfo = WhereOrInfo1 /* sqlite3.c:146865:28 */ +type WhereAndInfo1 = struct{ Fwc WhereClause } /* sqlite3.c:146866:9 */ -type WhereAndInfo = WhereAndInfo1 /* sqlite3.c:146852:29 */ +type WhereAndInfo = WhereAndInfo1 /* sqlite3.c:146866:29 */ type WhereLevel1 = struct { FiLeftJoin int32 FiTabCur int32 @@ -126387,7 +126407,7 @@ type WhereLevel1 = struct { FnotReady Bitmask } /* sqlite3.c:14626:9 */ -type WhereLevel = WhereLevel1 /* sqlite3.c:146853:27 */ +type WhereLevel = WhereLevel1 /* sqlite3.c:146867:27 */ type WhereLoop1 = struct { Fprereq Bitmask FmaskSelf Bitmask @@ -126416,7 +126436,7 @@ type WhereLoop1 = struct { FaLTermSpace [3]uintptr } /* sqlite3.c:14626:9 */ -type WhereLoop = WhereLoop1 /* sqlite3.c:146854:26 */ +type WhereLoop = WhereLoop1 /* sqlite3.c:146868:26 */ type WherePath1 = struct { FmaskLoop Bitmask FrevLoop Bitmask @@ -126426,9 +126446,9 @@ type WherePath1 = struct { FisOrdered I8 F__ccgo_pad1 [1]byte FaLoop uintptr -} /* sqlite3.c:146855:9 */ +} /* sqlite3.c:146869:9 */ -type WherePath = WherePath1 /* sqlite3.c:146855:26 */ +type WherePath = WherePath1 /* sqlite3.c:146869:26 */ type WhereTerm1 = struct { FpExpr uintptr FpWC uintptr @@ -126450,7 +126470,7 @@ type WhereTerm1 = struct { FprereqAll Bitmask } /* sqlite3.c:14626:9 */ -type WhereTerm = WhereTerm1 /* sqlite3.c:146856:26 */ +type WhereTerm = WhereTerm1 /* sqlite3.c:146870:26 */ type WhereLoopBuilder1 = struct { FpWInfo uintptr FpWC uintptr @@ -126463,9 +126483,9 @@ type WhereLoopBuilder1 = struct { F__ccgo_pad1 [2]byte FiPlanLimit uint32 F__ccgo_pad2 [4]byte -} /* sqlite3.c:146857:9 */ +} /* sqlite3.c:146871:9 */ -type WhereLoopBuilder = WhereLoopBuilder1 /* sqlite3.c:146857:33 */ +type WhereLoopBuilder = WhereLoopBuilder1 /* sqlite3.c:146871:33 */ type WhereScan1 = struct { FpOrigWC uintptr FpWC uintptr @@ -126480,24 +126500,24 @@ type WhereScan1 = struct { FaiCur [11]int32 FaiColumn [11]I16 F__ccgo_pad2 [2]byte -} /* sqlite3.c:146858:9 */ +} /* sqlite3.c:146872:9 */ -type WhereScan = WhereScan1 /* sqlite3.c:146858:26 */ +type WhereScan = WhereScan1 /* sqlite3.c:146872:26 */ type WhereOrCost1 = struct { Fprereq Bitmask FrRun LogEst FnOut LogEst F__ccgo_pad1 [4]byte -} /* sqlite3.c:146857:9 */ +} /* sqlite3.c:146871:9 */ -type WhereOrCost = WhereOrCost1 /* sqlite3.c:146859:28 */ +type WhereOrCost = WhereOrCost1 /* sqlite3.c:146873:28 */ type WhereOrSet1 = struct { Fn U16 F__ccgo_pad1 [6]byte Fa [3]WhereOrCost -} /* sqlite3.c:146857:9 */ +} /* sqlite3.c:146871:9 */ -type WhereOrSet = WhereOrSet1 /* sqlite3.c:146860:27 */ +type WhereOrSet = WhereOrSet1 /* sqlite3.c:146874:27 */ // This object contains information needed to implement a single nested // loop in WHERE clause. @@ -126519,7 +126539,7 @@ type InLoop = struct { FnPrefix int32 FeEndLoopOp U8 F__ccgo_pad1 [3]byte -} /* sqlite3.c:146900:7 */ +} /* sqlite3.c:146914:7 */ // Allowed values for WhereLoopBuider.bldFlags @@ -126567,7 +126587,7 @@ type WhereExprMod1 = struct { // of an index rather than an expression or a virtual column. All // such transformations need to be undone at the end of WHERE clause // processing. -type WhereExprMod = WhereExprMod1 /* sqlite3.c:147262:29 */ +type WhereExprMod = WhereExprMod1 /* sqlite3.c:147276:29 */ // Bitmasks for the operators on WhereTerm objects. These are all // operators that are of interest to the query planner. An @@ -126589,7 +126609,7 @@ type WhereExprMod = WhereExprMod1 /* sqlite3.c:147262:29 */ //************* Continuing where we left off in wherecode.c ***************** // Return the name of the i-th column of the pIdx index. -func explainIndexColumnName(tls *libc.TLS, pIdx uintptr, i int32) uintptr { /* sqlite3.c:147456:19: */ +func explainIndexColumnName(tls *libc.TLS, pIdx uintptr, i int32) uintptr { /* sqlite3.c:147470:19: */ i = int32(*(*I16)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FaiColumn + uintptr(i)*2))) if i == -2 { return ts + 21358 /* "" */ @@ -126606,7 +126626,7 @@ func explainIndexColumnName(tls *libc.TLS, pIdx uintptr, i int32) uintptr { /* s // at a time. This routine adds a new term to the end of the expression. // Terms are separated by AND so add the "AND" text for second and subsequent // terms only. -func explainAppendTerm(tls *libc.TLS, pStr uintptr, pIdx uintptr, nTerm int32, iTerm int32, bAnd int32, zOp uintptr) { /* sqlite3.c:147471:13: */ +func explainAppendTerm(tls *libc.TLS, pStr uintptr, pIdx uintptr, nTerm int32, iTerm int32, bAnd int32, zOp uintptr) { /* sqlite3.c:147485:13: */ var i int32 if bAnd != 0 { @@ -126654,7 +126674,7 @@ func explainAppendTerm(tls *libc.TLS, pStr uintptr, pIdx uintptr, nTerm int32, i // string similar to: // // "a=? AND b>?" -func explainIndexRange(tls *libc.TLS, pStr uintptr, pLoop uintptr) { /* sqlite3.c:147515:13: */ +func explainIndexRange(tls *libc.TLS, pStr uintptr, pLoop uintptr) { /* sqlite3.c:147529:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -126699,7 +126719,7 @@ func explainIndexRange(tls *libc.TLS, pStr uintptr, pLoop uintptr) { /* sqlite3. // // If an OP_Explain opcode is added to the VM, its address is returned. // Otherwise, if no OP_Explain is coded, zero is returned. -func Xsqlite3WhereExplainOneScan(tls *libc.TLS, pParse uintptr, pTabList uintptr, pLevel uintptr, wctrlFlags U16) int32 { /* sqlite3.c:147549:20: */ +func Xsqlite3WhereExplainOneScan(tls *libc.TLS, pParse uintptr, pTabList uintptr, pLevel uintptr, wctrlFlags U16) int32 { /* sqlite3.c:147563:20: */ bp := tls.Alloc(196) defer tls.Free(196) @@ -126800,7 +126820,7 @@ func Xsqlite3WhereExplainOneScan(tls *libc.TLS, pParse uintptr, pTabList uintptr // // If an OP_Explain opcode is added to the VM, its address is returned. // Otherwise, if no OP_Explain is coded, zero is returned. -func Xsqlite3WhereExplainBloomFilter(tls *libc.TLS, pParse uintptr, pWInfo uintptr, pLevel uintptr) int32 { /* sqlite3.c:147661:20: */ +func Xsqlite3WhereExplainBloomFilter(tls *libc.TLS, pParse uintptr, pWInfo uintptr, pLevel uintptr) int32 { /* sqlite3.c:147675:20: */ bp := tls.Alloc(156) defer tls.Free(156) @@ -126883,7 +126903,7 @@ func Xsqlite3WhereExplainBloomFilter(tls *libc.TLS, pParse uintptr, pWInfo uintp // The TERM_LIKECOND marking indicates that the term should be coded inside // a conditional such that is only evaluated on the second pass of a // LIKE-optimization loop, when scanning BLOBs instead of strings. -func disableTerm(tls *libc.TLS, pLevel uintptr, pTerm uintptr) { /* sqlite3.c:147774:13: */ +func disableTerm(tls *libc.TLS, pLevel uintptr, pTerm uintptr) { /* sqlite3.c:147788:13: */ var nLoop int32 = 0 for int32((*WhereTerm)(unsafe.Pointer(pTerm)).FwtFlags)&TERM_CODED == 0 && @@ -126916,7 +126936,7 @@ func disableTerm(tls *libc.TLS, pLevel uintptr, pTerm uintptr) { /* sqlite3.c:14 // // This routine makes its own copy of zAff so that the caller is free // to modify zAff after this routine returns. -func codeApplyAffinity(tls *libc.TLS, pParse uintptr, base int32, n int32, zAff uintptr) { /* sqlite3.c:147812:13: */ +func codeApplyAffinity(tls *libc.TLS, pParse uintptr, base int32, n int32, zAff uintptr) { /* sqlite3.c:147826:13: */ var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe if zAff == uintptr(0) { @@ -126949,7 +126969,7 @@ func codeApplyAffinity(tls *libc.TLS, pParse uintptr, base int32, n int32, zAff // // * the comparison will be performed with no affinity, or // * the affinity change in zAff is guaranteed not to change the value. -func updateRangeAffinityStr(tls *libc.TLS, pRight uintptr, n int32, zAff uintptr) { /* sqlite3.c:147849:13: */ +func updateRangeAffinityStr(tls *libc.TLS, pRight uintptr, n int32, zAff uintptr) { /* sqlite3.c:147863:13: */ var i int32 for i = 0; i < n; i++ { var p uintptr = Xsqlite3VectorFieldSubexpr(tls, pRight, i) @@ -126987,7 +127007,7 @@ func updateRangeAffinityStr(tls *libc.TLS, pRight uintptr, n int32, zAff uintptr // The reduced pX is different from the original (obviously) and thus is // only used for indexing, to improve performance. The original unaltered // IN expression must also be run on each output row for correctness. -func removeUnindexableInClauseTerms(tls *libc.TLS, pParse uintptr, iEq int32, pLoop uintptr, pX uintptr) uintptr { /* sqlite3.c:147895:13: */ +func removeUnindexableInClauseTerms(tls *libc.TLS, pParse uintptr, iEq int32, pLoop uintptr, pX uintptr) uintptr { /* sqlite3.c:147909:13: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb var pNew uintptr pNew = Xsqlite3ExprDup(tls, db, pX, 0) @@ -127062,7 +127082,7 @@ func removeUnindexableInClauseTerms(tls *libc.TLS, pParse uintptr, iEq int32, pL // For a constraint of the form X=expr, the expression is evaluated in // straight-line code. For constraints of the form X IN (...) // this routine sets up a loop that will iterate over all values of X. -func codeEqualityTerm(tls *libc.TLS, pParse uintptr, pTerm uintptr, pLevel uintptr, iEq int32, bRev int32, iTarget int32) int32 { /* sqlite3.c:147984:12: */ +func codeEqualityTerm(tls *libc.TLS, pParse uintptr, pTerm uintptr, pLevel uintptr, iEq int32, bRev int32, iTarget int32) int32 { /* sqlite3.c:147998:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -127255,7 +127275,7 @@ func codeEqualityTerm(tls *libc.TLS, pParse uintptr, pTerm uintptr, pLevel uintp // no conversion should be attempted before using a t2.b value as part of // a key to search the index. Hence the first byte in the returned affinity // string in this example would be set to SQLITE_AFF_BLOB. -func codeAllEqualityTerms(tls *libc.TLS, pParse uintptr, pLevel uintptr, bRev int32, nExtraReg int32, pzAff uintptr) int32 { /* sqlite3.c:148180:12: */ +func codeAllEqualityTerms(tls *libc.TLS, pParse uintptr, pLevel uintptr, bRev int32, nExtraReg int32, pzAff uintptr) int32 { /* sqlite3.c:148194:12: */ var nEq U16 // The number of == or IN constraints to code var nSkip U16 // Number of left-most columns to skip var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe // The vm under construction @@ -127376,7 +127396,7 @@ func codeAllEqualityTerms(tls *libc.TLS, pParse uintptr, pLevel uintptr, bRev in // on. For each table column, if the column is the i'th column of the // index, then the corresponding array entry is set to (i+1). If the column // does not appear in the index at all, the array entry is set to 0. -func codeDeferredSeek(tls *libc.TLS, pWInfo uintptr, pIdx uintptr, iCur int32, iIdxCur int32) { /* sqlite3.c:148558:13: */ +func codeDeferredSeek(tls *libc.TLS, pWInfo uintptr, pIdx uintptr, iCur int32, iIdxCur int32) { /* sqlite3.c:148572:13: */ var pParse uintptr = (*WhereInfo)(unsafe.Pointer(pWInfo)).FpParse // Parse context var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe // Vdbe to generate code within @@ -127417,7 +127437,7 @@ func codeDeferredSeek(tls *libc.TLS, pWInfo uintptr, pIdx uintptr, iCur int32, i // If the expression is not a vector, then nReg must be passed 1. In // this case, generate code to evaluate the expression and leave the // result in register iReg. -func codeExprOrVector(tls *libc.TLS, pParse uintptr, p uintptr, iReg int32, nReg int32) { /* sqlite3.c:148602:13: */ +func codeExprOrVector(tls *libc.TLS, pParse uintptr, p uintptr, iReg int32, nReg int32) { /* sqlite3.c:148616:13: */ if p != 0 && Xsqlite3ExprIsVector(tls, p) != 0 { if (*Expr)(unsafe.Pointer(p)).Fflags&U32(EP_xIsSelect) != U32(0) { @@ -127445,10 +127465,10 @@ func codeExprOrVector(tls *libc.TLS, pParse uintptr, p uintptr, iReg int32, nReg // An instance of the IdxExprTrans object carries information about a // mapping from an expression on table columns into a column in an index // down through the Walker. -type IdxExprTrans = IdxExprTrans1 /* sqlite3.c:148642:3 */ +type IdxExprTrans = IdxExprTrans1 /* sqlite3.c:148656:3 */ // Preserve pExpr on the WhereETrans list of the WhereInfo. -func preserveExpr(tls *libc.TLS, pTrans uintptr, pExpr uintptr) { /* sqlite3.c:148647:13: */ +func preserveExpr(tls *libc.TLS, pTrans uintptr, pExpr uintptr) { /* sqlite3.c:148661:13: */ var pNew uintptr pNew = Xsqlite3DbMallocRaw(tls, (*IdxExprTrans)(unsafe.Pointer(pTrans)).Fdb, uint64(unsafe.Sizeof(WhereExprMod{}))) if pNew == uintptr(0) { @@ -127465,7 +127485,7 @@ func preserveExpr(tls *libc.TLS, pTrans uintptr, pExpr uintptr) { /* sqlite3.c:1 // // If pExpr matches, then transform it into a reference to the index column // that contains the value of pExpr. -func whereIndexExprTransNode(tls *libc.TLS, p uintptr, pExpr uintptr) int32 { /* sqlite3.c:148663:12: */ +func whereIndexExprTransNode(tls *libc.TLS, p uintptr, pExpr uintptr) int32 { /* sqlite3.c:148677:12: */ var pX uintptr = *(*uintptr)(unsafe.Pointer(p + 40)) if Xsqlite3ExprCompare(tls, uintptr(0), pExpr, (*IdxExprTrans)(unsafe.Pointer(pX)).FpIdxExpr, (*IdxExprTrans)(unsafe.Pointer(pX)).FiTabCur) == 0 { preserveExpr(tls, pX, pExpr) @@ -127485,7 +127505,7 @@ func whereIndexExprTransNode(tls *libc.TLS, p uintptr, pExpr uintptr) int32 { /* // A walker node callback that translates a column reference to a table // into a corresponding column reference of an index. -func whereIndexExprTransColumn(tls *libc.TLS, p uintptr, pExpr uintptr) int32 { /* sqlite3.c:148685:12: */ +func whereIndexExprTransColumn(tls *libc.TLS, p uintptr, pExpr uintptr) int32 { /* sqlite3.c:148699:12: */ if int32((*Expr)(unsafe.Pointer(pExpr)).Fop) == TK_COLUMN { var pX uintptr = *(*uintptr)(unsafe.Pointer(p + 40)) if (*Expr)(unsafe.Pointer(pExpr)).FiTable == (*IdxExprTrans)(unsafe.Pointer(pX)).FiTabCur && int32((*Expr)(unsafe.Pointer(pExpr)).FiColumn) == (*IdxExprTrans)(unsafe.Pointer(pX)).FiTabCol { @@ -127507,7 +127527,7 @@ func whereIndexExprTransColumn(tls *libc.TLS, p uintptr, pExpr uintptr) int32 { // 2019-10-24: Updated to also translate references to a VIRTUAL column in // the table into references to the corresponding (stored) column of the // index. -func whereIndexExprTrans(tls *libc.TLS, pIdx uintptr, iTabCur int32, iIdxCur int32, pWInfo uintptr) { /* sqlite3.c:148710:13: */ +func whereIndexExprTrans(tls *libc.TLS, pIdx uintptr, iTabCur int32, iIdxCur int32, pWInfo uintptr) { /* sqlite3.c:148724:13: */ bp := tls.Alloc(88) defer tls.Free(88) @@ -127572,7 +127592,7 @@ func whereIndexExprTrans(tls *libc.TLS, pIdx uintptr, iTabCur int32, iIdxCur int // WHERE clause terms on the query, and if any of those terms must be // true because pTruth is true, then mark those WHERE clause terms as // coded. -func whereApplyPartialIndexConstraints(tls *libc.TLS, pTruth uintptr, iTabCur int32, pWC uintptr) { /* sqlite3.c:148774:13: */ +func whereApplyPartialIndexConstraints(tls *libc.TLS, pTruth uintptr, iTabCur int32, pWC uintptr) { /* sqlite3.c:148788:13: */ var i int32 var pTerm uintptr for int32((*Expr)(unsafe.Pointer(pTruth)).Fop) == TK_AND { @@ -127618,7 +127638,7 @@ __3: // WhereLevel.regFilter set. If an inner-loop Bloom filter is checked, // then clear the WhereLevel.regFilter value to prevent the Bloom filter // from being checked a second time when the inner loop is evaluated. -func filterPullDown(tls *libc.TLS, pParse uintptr, pWInfo uintptr, iLevel int32, addrNxt int32, notReady Bitmask) { /* sqlite3.c:148810:29: */ +func filterPullDown(tls *libc.TLS, pParse uintptr, pWInfo uintptr, iLevel int32, addrNxt int32, notReady Bitmask) { /* sqlite3.c:148824:29: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -127663,7 +127683,7 @@ func filterPullDown(tls *libc.TLS, pParse uintptr, pWInfo uintptr, iLevel int32, // Generate code for the start of the iLevel-th loop in the WHERE clause // implementation described by pWInfo. -func Xsqlite3WhereCodeOneLoopStart(tls *libc.TLS, pParse uintptr, v uintptr, pWInfo uintptr, iLevel int32, pLevel uintptr, notReady Bitmask) Bitmask { /* sqlite3.c:148858:24: */ +func Xsqlite3WhereCodeOneLoopStart(tls *libc.TLS, pParse uintptr, v uintptr, pWInfo uintptr, iLevel int32, pLevel uintptr, notReady Bitmask) Bitmask { /* sqlite3.c:148872:24: */ bp := tls.Alloc(96) defer tls.Free(96) @@ -128893,24 +128913,24 @@ var aStartOp = [8]U8{ U8(OP_SeekLT), // 5: (start_constraints && !startEq && bRev) U8(OP_SeekGE), // 6: (start_constraints && startEq && !bRev) U8(OP_SeekLE), // 7: (start_constraints && startEq && bRev) -} /* sqlite3.c:149238:21 */ +} /* sqlite3.c:149252:21 */ var aEndOp = [4]U8{ U8(OP_IdxGE), // 0: (end_constraints && !bRev && !endEq) U8(OP_IdxGT), // 1: (end_constraints && !bRev && endEq) U8(OP_IdxLE), // 2: (end_constraints && bRev && !endEq) U8(OP_IdxLT), // 3: (end_constraints && bRev && endEq) -} /* sqlite3.c:149248:21 */ -var aStep = [2]U8{U8(OP_Next), U8(OP_Prev)} /* sqlite3.c:149966:21 */ -var aStart = [2]U8{U8(OP_Rewind), U8(OP_Last)} /* sqlite3.c:149967:21 */ +} /* sqlite3.c:149262:21 */ +var aStep = [2]U8{U8(OP_Next), U8(OP_Prev)} /* sqlite3.c:149980:21 */ +var aStart = [2]U8{U8(OP_Rewind), U8(OP_Last)} /* sqlite3.c:149981:21 */ // Deallocate all memory associated with a WhereOrInfo object. -func whereOrInfoDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:150176:13: */ +func whereOrInfoDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:150190:13: */ Xsqlite3WhereClauseClear(tls, p) Xsqlite3DbFree(tls, db, p) } // Deallocate all memory associated with a WhereAndInfo object. -func whereAndInfoDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:150184:13: */ +func whereAndInfoDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:150198:13: */ Xsqlite3WhereClauseClear(tls, p) Xsqlite3DbFree(tls, db, p) } @@ -128932,7 +128952,7 @@ func whereAndInfoDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:150 // WhereTerms. All pointers to WhereTerms should be invalidated after // calling this routine. Such pointers may be reinitialized by referencing // the pWC->a[] array. -func whereClauseInsert(tls *libc.TLS, pWC uintptr, p uintptr, wtFlags U16) int32 { /* sqlite3.c:150208:12: */ +func whereClauseInsert(tls *libc.TLS, pWC uintptr, p uintptr, wtFlags U16) int32 { /* sqlite3.c:150222:12: */ var pTerm uintptr var idx int32 @@ -128974,14 +128994,14 @@ func whereClauseInsert(tls *libc.TLS, pWC uintptr, p uintptr, wtFlags U16) int32 // Return TRUE if the given operator is one of the operators that is // allowed for an indexable WHERE clause term. The allowed operators are // "=", "<", ">", "<=", ">=", "IN", "IS", and "IS NULL" -func allowedOp(tls *libc.TLS, op int32) int32 { /* sqlite3.c:150250:12: */ +func allowedOp(tls *libc.TLS, op int32) int32 { /* sqlite3.c:150264:12: */ return libc.Bool32(op == TK_IN || op >= TK_EQ && op <= TK_GE || op == TK_ISNULL || op == TK_IS) } // Commute a comparison operator. Expressions of the form "X op Y" // are converted into "Y op X". -func exprCommute(tls *libc.TLS, pParse uintptr, pExpr uintptr) U16 { /* sqlite3.c:150262:12: */ +func exprCommute(tls *libc.TLS, pParse uintptr, pExpr uintptr) U16 { /* sqlite3.c:150276:12: */ if int32((*Expr)(unsafe.Pointer((*Expr)(unsafe.Pointer(pExpr)).FpLeft)).Fop) == TK_VECTOR || int32((*Expr)(unsafe.Pointer((*Expr)(unsafe.Pointer(pExpr)).FpRight)).Fop) == TK_VECTOR || Xsqlite3BinaryCompareCollSeq(tls, pParse, (*Expr)(unsafe.Pointer(pExpr)).FpLeft, (*Expr)(unsafe.Pointer(pExpr)).FpRight) != Xsqlite3BinaryCompareCollSeq(tls, pParse, (*Expr)(unsafe.Pointer(pExpr)).FpRight, (*Expr)(unsafe.Pointer(pExpr)).FpLeft) { @@ -129001,7 +129021,7 @@ func exprCommute(tls *libc.TLS, pParse uintptr, pExpr uintptr) U16 { /* sqlite3. } // Translate from TK_xx operator to WO_xx bitmask. -func operatorMask(tls *libc.TLS, op int32) U16 { /* sqlite3.c:150285:12: */ +func operatorMask(tls *libc.TLS, op int32) U16 { /* sqlite3.c:150299:12: */ var c U16 if op == TK_IN { @@ -129028,7 +129048,7 @@ func operatorMask(tls *libc.TLS, op int32) U16 { /* sqlite3.c:150285:12: */ // that virtual tables cannot participate in the LIKE optimization.) The // collating sequence for the column on the LHS must be appropriate for // the operator. -func isLikeOrGlob(tls *libc.TLS, pParse uintptr, pExpr uintptr, ppPrefix uintptr, pisComplete uintptr, pnoCase uintptr) int32 { /* sqlite3.c:150323:12: */ +func isLikeOrGlob(tls *libc.TLS, pParse uintptr, pExpr uintptr, ppPrefix uintptr, pisComplete uintptr, pnoCase uintptr) int32 { /* sqlite3.c:150337:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -129200,7 +129220,7 @@ func isLikeOrGlob(tls *libc.TLS, pParse uintptr, pExpr uintptr, ppPrefix uintptr // of virtual table in forms (5) or (7) then return 2. // // If the expression matches none of the patterns above, return 0. -func isAuxiliaryVtabOperator(tls *libc.TLS, db uintptr, pExpr uintptr, peOp2 uintptr, ppLeft uintptr, ppRight uintptr) int32 { /* sqlite3.c:150502:12: */ +func isAuxiliaryVtabOperator(tls *libc.TLS, db uintptr, pExpr uintptr, peOp2 uintptr, ppLeft uintptr, ppRight uintptr) int32 { /* sqlite3.c:150516:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -129305,18 +129325,18 @@ type Op2 = struct { FzOp uintptr FeOp2 uint8 F__ccgo_pad1 [7]byte -} /* sqlite3.c:150510:18 */ +} /* sqlite3.c:150524:18 */ var aOp = [4]Op2{ {FzOp: ts + 16007, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_MATCH)}, {FzOp: ts + 15329, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_GLOB)}, {FzOp: ts + 14855, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_LIKE)}, {FzOp: ts + 21630, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_REGEXP)}, -} /* sqlite3.c:150513:7 */ +} /* sqlite3.c:150527:7 */ // If the pBase expression originated in the ON or USING clause of // a join, then transfer the appropriate markings over to derived. -func transferJoinMarkings(tls *libc.TLS, pDerived uintptr, pBase uintptr) { /* sqlite3.c:150614:13: */ +func transferJoinMarkings(tls *libc.TLS, pDerived uintptr, pBase uintptr) { /* sqlite3.c:150628:13: */ if pDerived != 0 { *(*U32)(unsafe.Pointer(pDerived + 4)) |= (*Expr)(unsafe.Pointer(pBase)).Fflags & U32(EP_FromJoin) *(*int32)(unsafe.Pointer(pDerived + 52)) = *(*int32)(unsafe.Pointer(pBase + 52)) @@ -129324,7 +129344,7 @@ func transferJoinMarkings(tls *libc.TLS, pDerived uintptr, pBase uintptr) { /* s } // Mark term iChild as being a child of term iParent -func markTermAsChild(tls *libc.TLS, pWC uintptr, iChild int32, iParent int32) { /* sqlite3.c:150624:13: */ +func markTermAsChild(tls *libc.TLS, pWC uintptr, iChild int32, iParent int32) { /* sqlite3.c:150638:13: */ (*WhereTerm)(unsafe.Pointer((*WhereClause)(unsafe.Pointer(pWC)).Fa + uintptr(iChild)*56)).FiParent = iParent (*WhereTerm)(unsafe.Pointer((*WhereClause)(unsafe.Pointer(pWC)).Fa + uintptr(iChild)*56)).FtruthProb = (*WhereTerm)(unsafe.Pointer((*WhereClause)(unsafe.Pointer(pWC)).Fa + uintptr(iParent)*56)).FtruthProb (*WhereTerm)(unsafe.Pointer((*WhereClause)(unsafe.Pointer(pWC)).Fa+uintptr(iParent)*56)).FnChild++ @@ -129333,7 +129353,7 @@ func markTermAsChild(tls *libc.TLS, pWC uintptr, iChild int32, iParent int32) { // Return the N-th AND-connected subterm of pTerm. Or if pTerm is not // a conjunction, then return just pTerm when N==0. If N is exceeds // the number of available subterms, return NULL. -func whereNthSubterm(tls *libc.TLS, pTerm uintptr, N int32) uintptr { /* sqlite3.c:150635:18: */ +func whereNthSubterm(tls *libc.TLS, pTerm uintptr, N int32) uintptr { /* sqlite3.c:150649:18: */ if int32((*WhereTerm)(unsafe.Pointer(pTerm)).FeOperator) != WO_AND { if N == 0 { return pTerm @@ -129364,7 +129384,7 @@ func whereNthSubterm(tls *libc.TLS, pTerm uintptr, N int32) uintptr { /* sqlite3 // The following is NOT generated: // // xy --> x!=y -func whereCombineDisjuncts(tls *libc.TLS, pSrc uintptr, pWC uintptr, pOne uintptr, pTwo uintptr) { /* sqlite3.c:150665:13: */ +func whereCombineDisjuncts(tls *libc.TLS, pSrc uintptr, pWC uintptr, pOne uintptr, pTwo uintptr) { /* sqlite3.c:150679:13: */ var eOp U16 = U16(int32((*WhereTerm)(unsafe.Pointer(pOne)).FeOperator) | int32((*WhereTerm)(unsafe.Pointer(pTwo)).FeOperator)) var db uintptr // Database connection (for malloc) var pNew uintptr // New virtual expression @@ -129497,7 +129517,7 @@ func whereCombineDisjuncts(tls *libc.TLS, pSrc uintptr, pWC uintptr, pOne uintpt // // If none of cases 1, 2, or 3 apply, then leave the eOperator set to // zero. This term is not useful for search. -func exprAnalyzeOrTerm(tls *libc.TLS, pSrc uintptr, pWC uintptr, idxTerm int32) { /* sqlite3.c:150792:13: */ +func exprAnalyzeOrTerm(tls *libc.TLS, pSrc uintptr, pWC uintptr, idxTerm int32) { /* sqlite3.c:150806:13: */ var pWInfo uintptr = (*WhereClause)(unsafe.Pointer(pWC)).FpWInfo // WHERE clause processing context var pParse uintptr = (*WhereInfo)(unsafe.Pointer(pWInfo)).FpParse // Parser context var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb // Database connection @@ -129816,7 +129836,7 @@ __3: // for the LHS anyplace else in the WHERE clause where the LHS column occurs. // This is an optimization. No harm comes from returning 0. But if 1 is // returned when it should not be, then incorrect answers might result. -func termIsEquivalence(tls *libc.TLS, pParse uintptr, pExpr uintptr) int32 { /* sqlite3.c:151066:12: */ +func termIsEquivalence(tls *libc.TLS, pParse uintptr, pExpr uintptr) int32 { /* sqlite3.c:151080:12: */ var aff1 int8 var aff2 int8 var pColl uintptr @@ -129845,7 +129865,7 @@ func termIsEquivalence(tls *libc.TLS, pParse uintptr, pExpr uintptr) int32 { /* // Recursively walk the expressions of a SELECT statement and generate // a bitmask indicating which tables are used in that expression // tree. -func exprSelectUsage(tls *libc.TLS, pMaskSet uintptr, pS uintptr) Bitmask { /* sqlite3.c:151089:16: */ +func exprSelectUsage(tls *libc.TLS, pMaskSet uintptr, pS uintptr) Bitmask { /* sqlite3.c:151103:16: */ var mask Bitmask = uint64(0) for pS != 0 { var pSrc uintptr = (*Select)(unsafe.Pointer(pS)).FpSrc @@ -129880,7 +129900,7 @@ func exprSelectUsage(tls *libc.TLS, pMaskSet uintptr, pS uintptr) Bitmask { /* s // If pExpr is a TK_COLUMN column reference, then this routine always returns // true even if that particular column is not indexed, because the column // might be added to an automatic index later. -func exprMightBeIndexed2(tls *libc.TLS, pFrom uintptr, mPrereq Bitmask, aiCurCol uintptr, pExpr uintptr) int32 { /* sqlite3.c:151126:28: */ +func exprMightBeIndexed2(tls *libc.TLS, pFrom uintptr, mPrereq Bitmask, aiCurCol uintptr, pExpr uintptr) int32 { /* sqlite3.c:151140:28: */ var pIdx uintptr var i int32 var iCur int32 @@ -129918,7 +129938,7 @@ __3: return 0 } -func exprMightBeIndexed(tls *libc.TLS, pFrom uintptr, mPrereq Bitmask, aiCurCol uintptr, pExpr uintptr, op int32) int32 { /* sqlite3.c:151150:12: */ +func exprMightBeIndexed(tls *libc.TLS, pFrom uintptr, mPrereq Bitmask, aiCurCol uintptr, pExpr uintptr, op int32) int32 { /* sqlite3.c:151164:12: */ // If this expression is a vector to the left or right of a // inequality constraint (>, <, >= or <=), perform the processing // on the first element of the vector. @@ -129959,7 +129979,7 @@ func exprMightBeIndexed(tls *libc.TLS, pFrom uintptr, mPrereq Bitmask, aiCurCol // needs to be freed with the WhereClause) and TERM_VIRTUAL (because it // is a commuted copy of a prior term.) The original term has nChild=1 // and the copy has idxParent set to the index of the original term. -func exprAnalyze(tls *libc.TLS, pSrc uintptr, pWC uintptr, idxTerm int32) { /* sqlite3.c:151198:13: */ +func exprAnalyze(tls *libc.TLS, pSrc uintptr, pWC uintptr, idxTerm int32) { /* sqlite3.c:151212:13: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -130327,7 +130347,7 @@ func exprAnalyze(tls *libc.TLS, pSrc uintptr, pWC uintptr, idxTerm int32) { /* s *(*Bitmask)(unsafe.Pointer(pTerm + 40)) |= extraRight } -var ops = [2]U8{U8(TK_GE), U8(TK_LE)} /* sqlite3.c:151367:21 */ +var ops = [2]U8{U8(TK_GE), U8(TK_LE)} /* sqlite3.c:151381:21 */ // ************************************************************************** // @@ -130350,7 +130370,7 @@ var ops = [2]U8{U8(TK_GE), U8(TK_LE)} /* sqlite3.c:151367:21 */ // In the previous sentence and in the diagram, "slot[]" refers to // the WhereClause.a[] array. The slot[] array grows as needed to contain // all terms of the WHERE clause. -func Xsqlite3WhereSplit(tls *libc.TLS, pWC uintptr, pExpr uintptr, op U8) { /* sqlite3.c:151663:21: */ +func Xsqlite3WhereSplit(tls *libc.TLS, pWC uintptr, pExpr uintptr, op U8) { /* sqlite3.c:151677:21: */ var pE2 uintptr = Xsqlite3ExprSkipCollateAndLikely(tls, pExpr) (*WhereClause)(unsafe.Pointer(pWC)).Fop = op @@ -130374,7 +130394,7 @@ func Xsqlite3WhereSplit(tls *libc.TLS, pWC uintptr, pExpr uintptr, op U8) { /* s // (example: "LIMIT 5 OFFSET 10") then the expression codes as a // TK_INTEGER so that it will be available to sqlite3_vtab_rhs_value(). // If not, then it codes as a TK_REGISTER expression. -func whereAddLimitExpr(tls *libc.TLS, pWC uintptr, iReg int32, pExpr uintptr, iCsr int32, eMatchOp int32) { /* sqlite3.c:151687:13: */ +func whereAddLimitExpr(tls *libc.TLS, pWC uintptr, iReg int32, pExpr uintptr, iCsr int32, eMatchOp int32) { /* sqlite3.c:151701:13: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -130426,7 +130446,7 @@ func whereAddLimitExpr(tls *libc.TLS, pWC uintptr, iReg int32, pExpr uintptr, iC // LIMIT and OFFSET terms are ignored by most of the planner code. They // exist only so that they may be passed to the xBestIndex method of the // single virtual table in the FROM clause of the SELECT. -func Xsqlite3WhereAddLimit(tls *libc.TLS, pWC uintptr, p uintptr) { /* sqlite3.c:151740:21: */ +func Xsqlite3WhereAddLimit(tls *libc.TLS, pWC uintptr, p uintptr) { /* sqlite3.c:151754:21: */ if p != 0 && (*Select)(unsafe.Pointer(p)).FpLimit != 0 && (*Select)(unsafe.Pointer(p)).FselFlags&U32(SF_Distinct|SF_Aggregate) == U32(0) && @@ -130476,7 +130496,7 @@ func Xsqlite3WhereAddLimit(tls *libc.TLS, pWC uintptr, p uintptr) { /* sqlite3.c } // Initialize a preallocated WhereClause structure. -func Xsqlite3WhereClauseInit(tls *libc.TLS, pWC uintptr, pWInfo uintptr) { /* sqlite3.c:151786:21: */ +func Xsqlite3WhereClauseInit(tls *libc.TLS, pWC uintptr, pWInfo uintptr) { /* sqlite3.c:151800:21: */ (*WhereClause)(unsafe.Pointer(pWC)).FpWInfo = pWInfo (*WhereClause)(unsafe.Pointer(pWC)).FhasOr = U8(0) (*WhereClause)(unsafe.Pointer(pWC)).FpOuter = uintptr(0) @@ -130489,7 +130509,7 @@ func Xsqlite3WhereClauseInit(tls *libc.TLS, pWC uintptr, pWInfo uintptr) { /* sq // Deallocate a WhereClause structure. The WhereClause structure // itself is not freed. This routine is the inverse of // sqlite3WhereClauseInit(). -func Xsqlite3WhereClauseClear(tls *libc.TLS, pWC uintptr) { /* sqlite3.c:151804:21: */ +func Xsqlite3WhereClauseClear(tls *libc.TLS, pWC uintptr) { /* sqlite3.c:151818:21: */ var db uintptr = (*Parse)(unsafe.Pointer((*WhereInfo)(unsafe.Pointer((*WhereClause)(unsafe.Pointer(pWC)).FpWInfo)).FpParse)).Fdb if (*WhereClause)(unsafe.Pointer(pWC)).FnTerm > 0 { @@ -130549,7 +130569,7 @@ func Xsqlite3WhereClauseClear(tls *libc.TLS, pWC uintptr) { /* sqlite3.c:151804: // computations done by this routine are broken out into a separate // "no-inline" function to avoid the stack push overhead in the // common case where it is not needed. -func sqlite3WhereExprUsageFull(tls *libc.TLS, pMaskSet uintptr, p uintptr) Bitmask { /* sqlite3.c:151872:32: */ +func sqlite3WhereExprUsageFull(tls *libc.TLS, pMaskSet uintptr, p uintptr) Bitmask { /* sqlite3.c:151886:32: */ var mask Bitmask if int32((*Expr)(unsafe.Pointer(p)).Fop) == TK_IF_NULL_ROW { mask = Xsqlite3WhereGetMask(tls, pMaskSet, (*Expr)(unsafe.Pointer(p)).FiTable) @@ -130579,7 +130599,7 @@ func sqlite3WhereExprUsageFull(tls *libc.TLS, pMaskSet uintptr, p uintptr) Bitma return mask } -func Xsqlite3WhereExprUsageNN(tls *libc.TLS, pMaskSet uintptr, p uintptr) Bitmask { /* sqlite3.c:151898:24: */ +func Xsqlite3WhereExprUsageNN(tls *libc.TLS, pMaskSet uintptr, p uintptr) Bitmask { /* sqlite3.c:151912:24: */ if int32((*Expr)(unsafe.Pointer(p)).Fop) == TK_COLUMN && !((*Expr)(unsafe.Pointer(p)).Fflags&U32(EP_FixedCol) != U32(0)) { return Xsqlite3WhereGetMask(tls, pMaskSet, (*Expr)(unsafe.Pointer(p)).FiTable) } else if (*Expr)(unsafe.Pointer(p)).Fflags&U32(EP_TokenOnly|EP_Leaf) != U32(0) { @@ -130589,14 +130609,14 @@ func Xsqlite3WhereExprUsageNN(tls *libc.TLS, pMaskSet uintptr, p uintptr) Bitmas return sqlite3WhereExprUsageFull(tls, pMaskSet, p) } -func Xsqlite3WhereExprUsage(tls *libc.TLS, pMaskSet uintptr, p uintptr) Bitmask { /* sqlite3.c:151907:24: */ +func Xsqlite3WhereExprUsage(tls *libc.TLS, pMaskSet uintptr, p uintptr) Bitmask { /* sqlite3.c:151921:24: */ if p != 0 { return Xsqlite3WhereExprUsageNN(tls, pMaskSet, p) } return uint64(0) } -func Xsqlite3WhereExprListUsage(tls *libc.TLS, pMaskSet uintptr, pList uintptr) Bitmask { /* sqlite3.c:151910:24: */ +func Xsqlite3WhereExprListUsage(tls *libc.TLS, pMaskSet uintptr, pList uintptr) Bitmask { /* sqlite3.c:151924:24: */ var i int32 var mask Bitmask = uint64(0) if pList != 0 { @@ -130613,7 +130633,7 @@ func Xsqlite3WhereExprListUsage(tls *libc.TLS, pMaskSet uintptr, pList uintptr) // end of the WHERE clause. We do not want to analyze these new // virtual terms, so start analyzing at the end and work forward // so that the added virtual terms are never processed. -func Xsqlite3WhereExprAnalyze(tls *libc.TLS, pTabList uintptr, pWC uintptr) { /* sqlite3.c:151930:21: */ +func Xsqlite3WhereExprAnalyze(tls *libc.TLS, pTabList uintptr, pWC uintptr) { /* sqlite3.c:151944:21: */ var i int32 for i = (*WhereClause)(unsafe.Pointer(pWC)).FnTerm - 1; i >= 0; i-- { exprAnalyze(tls, pTabList, pWC, i) @@ -130625,7 +130645,7 @@ func Xsqlite3WhereExprAnalyze(tls *libc.TLS, pTabList uintptr, pWC uintptr) { /* // // Each function argument translates into an equality constraint against // a HIDDEN column in the table. -func Xsqlite3WhereTabFuncArgs(tls *libc.TLS, pParse uintptr, pItem uintptr, pWC uintptr) { /* sqlite3.c:151947:21: */ +func Xsqlite3WhereTabFuncArgs(tls *libc.TLS, pParse uintptr, pItem uintptr, pWC uintptr) { /* sqlite3.c:151961:21: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -130709,7 +130729,7 @@ type HiddenIndexInfo1 = struct { FmHandleIn U32 F__ccgo_pad1 [4]byte FaRhs [1]uintptr -} /* sqlite3.c:152019:9 */ +} /* sqlite3.c:152033:9 */ //************* End of whereexpr.c ****************************************** //************* Begin file where.c ****************************************** @@ -130739,16 +130759,16 @@ type HiddenIndexInfo1 = struct { // This object is not an API and can be changed from one release to the // next. As long as allocateIndexInfo() and sqlite3_vtab_collation() // agree on the structure, all will be well. -type HiddenIndexInfo = HiddenIndexInfo1 /* sqlite3.c:152019:32 */ +type HiddenIndexInfo = HiddenIndexInfo1 /* sqlite3.c:152033:32 */ // Return the estimated number of output rows from a WHERE clause -func Xsqlite3WhereOutputRowCount(tls *libc.TLS, pWInfo uintptr) LogEst { /* sqlite3.c:152037:23: */ +func Xsqlite3WhereOutputRowCount(tls *libc.TLS, pWInfo uintptr) LogEst { /* sqlite3.c:152051:23: */ return (*WhereInfo)(unsafe.Pointer(pWInfo)).FnRowOut } // Return one of the WHERE_DISTINCT_xxxxx values to indicate how this // WHERE clause returns outputs for DISTINCT processing. -func Xsqlite3WhereIsDistinct(tls *libc.TLS, pWInfo uintptr) int32 { /* sqlite3.c:152045:20: */ +func Xsqlite3WhereIsDistinct(tls *libc.TLS, pWInfo uintptr) int32 { /* sqlite3.c:152059:20: */ return int32((*WhereInfo)(unsafe.Pointer(pWInfo)).FeDistinct) } @@ -130758,7 +130778,7 @@ func Xsqlite3WhereIsDistinct(tls *libc.TLS, pWInfo uintptr) int32 { /* sqlite3.c // terms means that no sorting is needed at all. A return that // is positive but less than the number of ORDER BY terms means that // block sorting is required. -func Xsqlite3WhereIsOrdered(tls *libc.TLS, pWInfo uintptr) int32 { /* sqlite3.c:152057:20: */ +func Xsqlite3WhereIsOrdered(tls *libc.TLS, pWInfo uintptr) int32 { /* sqlite3.c:152071:20: */ return int32((*WhereInfo)(unsafe.Pointer(pWInfo)).FnOBSat) } @@ -130783,7 +130803,7 @@ func Xsqlite3WhereIsOrdered(tls *libc.TLS, pWInfo uintptr) int32 { /* sqlite3.c: // Returning the continuation the second inner loop is an optimization // that might make the code run a little faster, but should not change // the final answer. -func Xsqlite3WhereOrderByLimitOptLabel(tls *libc.TLS, pWInfo uintptr) int32 { /* sqlite3.c:152084:20: */ +func Xsqlite3WhereOrderByLimitOptLabel(tls *libc.TLS, pWInfo uintptr) int32 { /* sqlite3.c:152098:20: */ var pInner uintptr if !(int32(*(*uint8)(unsafe.Pointer(pWInfo + 76))&0x4>>2) != 0) { // The ORDER BY LIMIT optimization does not apply. Jump to the @@ -130804,7 +130824,7 @@ func Xsqlite3WhereOrderByLimitOptLabel(tls *libc.TLS, pWInfo uintptr) int32 { /* // Any extra OP_Goto that is coded here is an optimization. The // correct answer should be obtained regardless. This OP_Goto just // makes the answer appear faster. -func Xsqlite3WhereMinMaxOptEarlyOut(tls *libc.TLS, v uintptr, pWInfo uintptr) { /* sqlite3.c:152107:21: */ +func Xsqlite3WhereMinMaxOptEarlyOut(tls *libc.TLS, v uintptr, pWInfo uintptr) { /* sqlite3.c:152121:21: */ var pInner uintptr var i int32 if !(int32(*(*uint8)(unsafe.Pointer(pWInfo + 76))&0x4>>2) != 0) { @@ -130825,14 +130845,14 @@ func Xsqlite3WhereMinMaxOptEarlyOut(tls *libc.TLS, v uintptr, pWInfo uintptr) { // Return the VDBE address or label to jump to in order to continue // immediately with the next row of a WHERE clause. -func Xsqlite3WhereContinueLabel(tls *libc.TLS, pWInfo uintptr) int32 { /* sqlite3.c:152126:20: */ +func Xsqlite3WhereContinueLabel(tls *libc.TLS, pWInfo uintptr) int32 { /* sqlite3.c:152140:20: */ return (*WhereInfo)(unsafe.Pointer(pWInfo)).FiContinue } // Return the VDBE address or label to jump to in order to break // out of a WHERE loop. -func Xsqlite3WhereBreakLabel(tls *libc.TLS, pWInfo uintptr) int32 { /* sqlite3.c:152135:20: */ +func Xsqlite3WhereBreakLabel(tls *libc.TLS, pWInfo uintptr) int32 { /* sqlite3.c:152149:20: */ return (*WhereInfo)(unsafe.Pointer(pWInfo)).FiBreak } @@ -130851,19 +130871,19 @@ func Xsqlite3WhereBreakLabel(tls *libc.TLS, pWInfo uintptr) int32 { /* sqlite3.c // // aiCur[0] and aiCur[1] both get -1 if the where-clause logic is // unable to use the ONEPASS optimization. -func Xsqlite3WhereOkOnePass(tls *libc.TLS, pWInfo uintptr, aiCur uintptr) int32 { /* sqlite3.c:152156:20: */ +func Xsqlite3WhereOkOnePass(tls *libc.TLS, pWInfo uintptr, aiCur uintptr) int32 { /* sqlite3.c:152170:20: */ libc.Xmemcpy(tls, aiCur, pWInfo+48, uint64(unsafe.Sizeof(int32(0)))*uint64(2)) return int32((*WhereInfo)(unsafe.Pointer(pWInfo)).FeOnePass) } // Return TRUE if the WHERE loop uses the OP_DeferredSeek opcode to move // the data cursor to the row selected by the index cursor. -func Xsqlite3WhereUsesDeferredSeek(tls *libc.TLS, pWInfo uintptr) int32 { /* sqlite3.c:152172:20: */ +func Xsqlite3WhereUsesDeferredSeek(tls *libc.TLS, pWInfo uintptr) int32 { /* sqlite3.c:152186:20: */ return int32(*(*uint8)(unsafe.Pointer(pWInfo + 76)) & 0x1 >> 0) } // Move the content of pSrc into pDest -func whereOrMove(tls *libc.TLS, pDest uintptr, pSrc uintptr) { /* sqlite3.c:152179:13: */ +func whereOrMove(tls *libc.TLS, pDest uintptr, pSrc uintptr) { /* sqlite3.c:152193:13: */ (*WhereOrSet)(unsafe.Pointer(pDest)).Fn = (*WhereOrSet)(unsafe.Pointer(pSrc)).Fn libc.Xmemcpy(tls, pDest+8, pSrc+8, uint64((*WhereOrSet)(unsafe.Pointer(pDest)).Fn)*uint64(unsafe.Sizeof(WhereOrCost{}))) } @@ -130873,7 +130893,7 @@ func whereOrMove(tls *libc.TLS, pDest uintptr, pSrc uintptr) { /* sqlite3.c:1521 // The new entry might overwrite an existing entry, or it might be // appended, or it might be discarded. Do whatever is the right thing // so that pSet keeps the N_OR_COST best entries seen so far. -func whereOrInsert(tls *libc.TLS, pSet uintptr, prereq Bitmask, rRun LogEst, nOut LogEst) int32 { /* sqlite3.c:152191:12: */ +func whereOrInsert(tls *libc.TLS, pSet uintptr, prereq Bitmask, rRun LogEst, nOut LogEst) int32 { /* sqlite3.c:152205:12: */ var i U16 var p uintptr i = (*WhereOrSet)(unsafe.Pointer(pSet)).Fn @@ -130950,7 +130970,7 @@ __13: // Return the bitmask for the given cursor number. Return 0 if // iCursor is not in the set. -func Xsqlite3WhereGetMask(tls *libc.TLS, pMaskSet uintptr, iCursor int32) Bitmask { /* sqlite3.c:152228:24: */ +func Xsqlite3WhereGetMask(tls *libc.TLS, pMaskSet uintptr, iCursor int32) Bitmask { /* sqlite3.c:152242:24: */ var i int32 if *(*int32)(unsafe.Pointer(pMaskSet + 8)) == iCursor { @@ -130970,14 +130990,14 @@ func Xsqlite3WhereGetMask(tls *libc.TLS, pMaskSet uintptr, iCursor int32) Bitmas // tables in the FROM clause is limited by a test early in the // sqlite3WhereBegin() routine. So we know that the pMaskSet->ix[] // array will never overflow. -func createMask(tls *libc.TLS, pMaskSet uintptr, iCursor int32) { /* sqlite3.c:152252:13: */ +func createMask(tls *libc.TLS, pMaskSet uintptr, iCursor int32) { /* sqlite3.c:152266:13: */ *(*int32)(unsafe.Pointer(pMaskSet + 8 + uintptr(libc.PostIncInt32(&(*WhereMaskSet)(unsafe.Pointer(pMaskSet)).Fn, 1))*4)) = iCursor } // If the right-hand branch of the expression is a TK_COLUMN, then return // a pointer to the right-hand branch. Otherwise, return NULL. -func whereRightSubexprIsColumn(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:152261:13: */ +func whereRightSubexprIsColumn(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:152275:13: */ p = Xsqlite3ExprSkipCollateAndLikely(tls, (*Expr)(unsafe.Pointer(p)).FpRight) if p != uintptr(0) && int32((*Expr)(unsafe.Pointer(p)).Fop) == TK_COLUMN && !((*Expr)(unsafe.Pointer(p)).Fflags&U32(EP_FixedCol) != U32(0)) { return p @@ -130988,7 +131008,7 @@ func whereRightSubexprIsColumn(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c: // Advance to the next WhereTerm that matches according to the criteria // established when the pScan object was initialized by whereScanInit(). // Return NULL if there are no more matching WhereTerms. -func whereScanNext(tls *libc.TLS, pScan uintptr) uintptr { /* sqlite3.c:152274:18: */ +func whereScanNext(tls *libc.TLS, pScan uintptr) uintptr { /* sqlite3.c:152288:18: */ var iCur int32 // The cursor on the LHS of the term var iColumn I16 // The column on the LHS of the term. -1 for IPK var pX uintptr // An expression being tested @@ -131092,7 +131112,7 @@ func whereScanNext(tls *libc.TLS, pScan uintptr) uintptr { /* sqlite3.c:152274:1 // It is factored out into a separate tail-recursion subroutine so that // the normal whereScanInit() routine, which is a high-runner, does not // need to push registers onto the stack as part of its prologue. -func whereScanInitIndexExpr(tls *libc.TLS, pScan uintptr) uintptr { /* sqlite3.c:152376:34: */ +func whereScanInitIndexExpr(tls *libc.TLS, pScan uintptr) uintptr { /* sqlite3.c:152390:34: */ (*WhereScan)(unsafe.Pointer(pScan)).Fidxaff = Xsqlite3ExprAffinity(tls, (*WhereScan)(unsafe.Pointer(pScan)).FpIdxExpr) return whereScanNext(tls, pScan) } @@ -131114,7 +131134,7 @@ func whereScanInitIndexExpr(tls *libc.TLS, pScan uintptr) uintptr { /* sqlite3.c // // If X is not the INTEGER PRIMARY KEY then X must be compatible with // index pIdx. -func whereScanInit(tls *libc.TLS, pScan uintptr, pWC uintptr, iCur int32, iColumn int32, opMask U32, pIdx uintptr) uintptr { /* sqlite3.c:152400:18: */ +func whereScanInit(tls *libc.TLS, pScan uintptr, pWC uintptr, iCur int32, iColumn int32, opMask U32, pIdx uintptr) uintptr { /* sqlite3.c:152414:18: */ (*WhereScan)(unsafe.Pointer(pScan)).FpOrigWC = pWC (*WhereScan)(unsafe.Pointer(pScan)).FpWC = pWC (*WhereScan)(unsafe.Pointer(pScan)).FpIdxExpr = uintptr(0) @@ -131169,7 +131189,7 @@ func whereScanInit(tls *libc.TLS, pScan uintptr, pWC uintptr, iCur int32, iColum // the form "X Y" where Y is a column in another table if no terms of // the form "X " exist. If no terms with a constant RHS // exist, try to return a term that does not use WO_EQUIV. -func Xsqlite3WhereFindTerm(tls *libc.TLS, pWC uintptr, iCur int32, iColumn int32, notReady Bitmask, op U32, pIdx uintptr) uintptr { /* sqlite3.c:152464:26: */ +func Xsqlite3WhereFindTerm(tls *libc.TLS, pWC uintptr, iCur int32, iColumn int32, notReady Bitmask, op U32, pIdx uintptr) uintptr { /* sqlite3.c:152478:26: */ bp := tls.Alloc(112) defer tls.Free(112) @@ -131199,7 +131219,7 @@ func Xsqlite3WhereFindTerm(tls *libc.TLS, pWC uintptr, iCur int32, iColumn int32 // // If such an expression is found, its index in pList->a[] is returned. If // no expression is found, -1 is returned. -func findIndexCol(tls *libc.TLS, pParse uintptr, pList uintptr, iBase int32, pIdx uintptr, iCol int32) int32 { /* sqlite3.c:152498:12: */ +func findIndexCol(tls *libc.TLS, pParse uintptr, pList uintptr, iBase int32, pIdx uintptr, iCol int32) int32 { /* sqlite3.c:152512:12: */ var i int32 var zColl uintptr = *(*uintptr)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FazColl + uintptr(iCol)*8)) @@ -131220,7 +131240,7 @@ func findIndexCol(tls *libc.TLS, pParse uintptr, pList uintptr, iBase int32, pId } // Return TRUE if the iCol-th column of index pIdx is NOT NULL -func indexColumnNotNull(tls *libc.TLS, pIdx uintptr, iCol int32) int32 { /* sqlite3.c:152528:12: */ +func indexColumnNotNull(tls *libc.TLS, pIdx uintptr, iCol int32) int32 { /* sqlite3.c:152542:12: */ var j int32 j = int32(*(*I16)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FaiColumn + uintptr(iCol)*2))) @@ -131241,7 +131261,7 @@ func indexColumnNotNull(tls *libc.TLS, pIdx uintptr, iCol int32) int32 { /* sqli // // A DISTINCT list is redundant if any subset of the columns in the // DISTINCT list are collectively unique and individually non-null. -func isDistinctRedundant(tls *libc.TLS, pParse uintptr, pTabList uintptr, pWC uintptr, pDistinct uintptr) int32 { /* sqlite3.c:152551:12: */ +func isDistinctRedundant(tls *libc.TLS, pParse uintptr, pTabList uintptr, pWC uintptr, pDistinct uintptr) int32 { /* sqlite3.c:152565:12: */ var pTab uintptr var pIdx uintptr var i int32 @@ -131311,7 +131331,7 @@ func isDistinctRedundant(tls *libc.TLS, pParse uintptr, pTabList uintptr, pWC ui } // Estimate the logarithm of the input value to base 2. -func estLog(tls *libc.TLS, N LogEst) LogEst { /* sqlite3.c:152615:15: */ +func estLog(tls *libc.TLS, N LogEst) LogEst { /* sqlite3.c:152629:15: */ if int32(N) <= 10 { return int16(0) } @@ -131328,7 +131348,7 @@ func estLog(tls *libc.TLS, N LogEst) LogEst { /* sqlite3.c:152615:15: */ // cursor iTabCur are transformed into OP_Sequence opcode for the // iAutoidxCur cursor, in order to generate unique rowids for the // automatic index being generated. -func translateColumnToCopy(tls *libc.TLS, pParse uintptr, iStart int32, iTabCur int32, iRegister int32, iAutoidxCur int32) { /* sqlite3.c:152631:13: */ +func translateColumnToCopy(tls *libc.TLS, pParse uintptr, iStart int32, iTabCur int32, iRegister int32, iAutoidxCur int32) { /* sqlite3.c:152645:13: */ var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe var pOp uintptr = Xsqlite3VdbeGetOp(tls, v, iStart) var iEnd int32 = Xsqlite3VdbeCurrentAddr(tls, v) @@ -131371,7 +131391,7 @@ __3: // Return TRUE if the WHERE clause term pTerm is of a form where it // could be used with an index to access pSrc, assuming an appropriate // index existed. -func termCanDriveIndex(tls *libc.TLS, pTerm uintptr, pSrc uintptr, notReady Bitmask) int32 { /* sqlite3.c:152715:12: */ +func termCanDriveIndex(tls *libc.TLS, pTerm uintptr, pSrc uintptr, notReady Bitmask) int32 { /* sqlite3.c:152729:12: */ var aff int8 if (*WhereTerm)(unsafe.Pointer(pTerm)).FleftCursor != (*SrcItem)(unsafe.Pointer(pSrc)).FiCursor { return 0 @@ -131405,7 +131425,7 @@ func termCanDriveIndex(tls *libc.TLS, pTerm uintptr, pSrc uintptr, notReady Bitm // Generate code to construct the Index object for an automatic index // and to set up the WhereLevel object pLevel so that the code generator // makes use of the automatic index. -func constructAutomaticIndex(tls *libc.TLS, pParse uintptr, pWC uintptr, pSrc uintptr, notReady Bitmask, pLevel uintptr) { /* sqlite3.c:152749:29: */ +func constructAutomaticIndex(tls *libc.TLS, pParse uintptr, pWC uintptr, pSrc uintptr, notReady Bitmask, pLevel uintptr) { /* sqlite3.c:152763:29: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -131763,7 +131783,7 @@ end_auto_index_create: // This routine may only be called if it has previously been determined that // the loop would benefit from a Bloom filter, and the WHERE_BLOOMFILTER bit // is set. -func sqlite3ConstructBloomFilter(tls *libc.TLS, pWInfo uintptr, iLevel int32, pLevel uintptr, notReady Bitmask) { /* sqlite3.c:152984:29: */ +func sqlite3ConstructBloomFilter(tls *libc.TLS, pWInfo uintptr, iLevel int32, pLevel uintptr, notReady Bitmask) { /* sqlite3.c:152998:29: */ var addrOnce int32 // Address of opening OP_Once var addrTop int32 // Address of OP_Rewind var addrCont int32 // Jump here to skip a row @@ -131868,7 +131888,7 @@ func sqlite3ConstructBloomFilter(tls *libc.TLS, pWInfo uintptr, iLevel int32, pL // Allocate and populate an sqlite3_index_info structure. It is the // responsibility of the caller to eventually release the structure // by passing the pointer returned by this function to freeIndexInfo(). -func allocateIndexInfo(tls *libc.TLS, pWInfo uintptr, pWC uintptr, mUnusable Bitmask, pSrc uintptr, pmNoOmit uintptr) uintptr { /* sqlite3.c:153097:27: */ +func allocateIndexInfo(tls *libc.TLS, pWInfo uintptr, pWC uintptr, mUnusable Bitmask, pSrc uintptr, pmNoOmit uintptr) uintptr { /* sqlite3.c:153111:27: */ var i int32 var j int32 var nTerm int32 @@ -132094,7 +132114,7 @@ __6: // Free an sqlite3_index_info structure allocated by allocateIndexInfo() // and possibly modified by xBestIndex methods. -func freeIndexInfo(tls *libc.TLS, db uintptr, pIdxInfo uintptr) { /* sqlite3.c:153296:13: */ +func freeIndexInfo(tls *libc.TLS, db uintptr, pIdxInfo uintptr) { /* sqlite3.c:153310:13: */ var pHidden uintptr var i int32 @@ -132121,7 +132141,7 @@ func freeIndexInfo(tls *libc.TLS, db uintptr, pIdxInfo uintptr) { /* sqlite3.c:1 // Whether or not an error is returned, it is the responsibility of the // caller to eventually free p->idxStr if p->needToFreeIdxStr indicates // that this is required. -func vtabBestIndex(tls *libc.TLS, pParse uintptr, pTab uintptr, p uintptr) int32 { /* sqlite3.c:153326:12: */ +func vtabBestIndex(tls *libc.TLS, pParse uintptr, pTab uintptr, p uintptr) int32 { /* sqlite3.c:153340:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -132159,7 +132179,7 @@ func vtabBestIndex(tls *libc.TLS, pParse uintptr, pTab uintptr, p uintptr) int32 // into the aSample[] array - it is an index into a virtual set of samples // based on the contents of aSample[] and the number of fields in record // pRec. -func whereKeyStats(tls *libc.TLS, pParse uintptr, pIdx uintptr, pRec uintptr, roundUp int32, aStat uintptr) int32 { /* sqlite3.c:153365:12: */ +func whereKeyStats(tls *libc.TLS, pParse uintptr, pIdx uintptr, pRec uintptr, roundUp int32, aStat uintptr) int32 { /* sqlite3.c:153379:12: */ var aSample uintptr = (*Index)(unsafe.Pointer(pIdx)).FaSample var iCol int32 // Index of required stats in anEq[] etc. var i int32 // Index of first sample >= pRec @@ -132298,7 +132318,7 @@ func whereKeyStats(tls *libc.TLS, pParse uintptr, pIdx uintptr, pRec uintptr, ro // then the return value is the likelihood multiplied by the number of // input rows. Otherwise, this function assumes that an "IS NOT NULL" term // has a likelihood of 0.50, and any other term a likelihood of 0.25. -func whereRangeAdjust(tls *libc.TLS, pTerm uintptr, nNew LogEst) LogEst { /* sqlite3.c:153557:15: */ +func whereRangeAdjust(tls *libc.TLS, pTerm uintptr, nNew LogEst) LogEst { /* sqlite3.c:153571:15: */ var nRet LogEst = nNew if pTerm != 0 { if int32((*WhereTerm)(unsafe.Pointer(pTerm)).FtruthProb) <= 0 { @@ -132311,7 +132331,7 @@ func whereRangeAdjust(tls *libc.TLS, pTerm uintptr, nNew LogEst) LogEst { /* sql } // Return the affinity for a single column of an index. -func Xsqlite3IndexColumnAffinity(tls *libc.TLS, db uintptr, pIdx uintptr, iCol int32) int8 { /* sqlite3.c:153574:21: */ +func Xsqlite3IndexColumnAffinity(tls *libc.TLS, db uintptr, pIdx uintptr, iCol int32) int8 { /* sqlite3.c:153588:21: */ if !(int32((*Index)(unsafe.Pointer(pIdx)).FzColAff) != 0) { if Xsqlite3IndexAffinityStr(tls, db, pIdx) == uintptr(0) { @@ -132355,7 +132375,7 @@ func Xsqlite3IndexColumnAffinity(tls *libc.TLS, db uintptr, pIdx uintptr, iCol i // // If an error occurs, an SQLite error code is returned. Otherwise, // SQLITE_OK. -func whereRangeSkipScanEst(tls *libc.TLS, pParse uintptr, pLower uintptr, pUpper uintptr, pLoop uintptr, pbDone uintptr) int32 { /* sqlite3.c:153621:12: */ +func whereRangeSkipScanEst(tls *libc.TLS, pParse uintptr, pLower uintptr, pUpper uintptr, pLoop uintptr, pbDone uintptr) int32 { /* sqlite3.c:153635:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -132470,7 +132490,7 @@ func whereRangeSkipScanEst(tls *libc.TLS, pParse uintptr, pLower uintptr, pUpper // used, a single range inequality reduces the search space by a factor of 4. // and a pair of constraints (x>? AND x>0)) != 0 { Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(p + 24 + 16 /* &.idxStr */))) @@ -132778,7 +132798,7 @@ func whereLoopClearUnion(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:15 } // Deallocate internal memory used by a WhereLoop object -func whereLoopClear(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:154152:13: */ +func whereLoopClear(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:154166:13: */ if (*WhereLoop)(unsafe.Pointer(p)).FaLTerm != p+88 { Xsqlite3DbFreeNN(tls, db, (*WhereLoop)(unsafe.Pointer(p)).FaLTerm) } @@ -132787,7 +132807,7 @@ func whereLoopClear(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:154152: } // Increase the memory allocation for pLoop->aLTerm[] to be at least n. -func whereLoopResize(tls *libc.TLS, db uintptr, p uintptr, n int32) int32 { /* sqlite3.c:154161:12: */ +func whereLoopResize(tls *libc.TLS, db uintptr, p uintptr, n int32) int32 { /* sqlite3.c:154175:12: */ var paNew uintptr if int32((*WhereLoop)(unsafe.Pointer(p)).FnLSlot) >= n { return SQLITE_OK @@ -132807,7 +132827,7 @@ func whereLoopResize(tls *libc.TLS, db uintptr, p uintptr, n int32) int32 { /* s } // Transfer content from the second pLoop into the first. -func whereLoopXfer(tls *libc.TLS, db uintptr, pTo uintptr, pFrom uintptr) int32 { /* sqlite3.c:154177:12: */ +func whereLoopXfer(tls *libc.TLS, db uintptr, pTo uintptr, pFrom uintptr) int32 { /* sqlite3.c:154191:12: */ whereLoopClearUnion(tls, db, pTo) if whereLoopResize(tls, db, pTo, int32((*WhereLoop)(unsafe.Pointer(pFrom)).FnLTerm)) != 0 { libc.Xmemset(tls, pTo, 0, uint64(uintptr(0)+64)) @@ -132824,13 +132844,13 @@ func whereLoopXfer(tls *libc.TLS, db uintptr, pTo uintptr, pFrom uintptr) int32 } // Delete a WhereLoop object -func whereLoopDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:154196:13: */ +func whereLoopDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:154210:13: */ whereLoopClear(tls, db, p) Xsqlite3DbFreeNN(tls, db, p) } // Free a WhereInfo structure -func whereInfoFree(tls *libc.TLS, db uintptr, pWInfo uintptr) { /* sqlite3.c:154204:13: */ +func whereInfoFree(tls *libc.TLS, db uintptr, pWInfo uintptr) { /* sqlite3.c:154218:13: */ var i int32 for i = 0; i < int32((*WhereInfo)(unsafe.Pointer(pWInfo)).FnLevel); i++ { @@ -132851,7 +132871,7 @@ func whereInfoFree(tls *libc.TLS, db uintptr, pWInfo uintptr) { /* sqlite3.c:154 } // Undo all Expr node modifications -func whereUndoExprMods(tls *libc.TLS, pWInfo uintptr) { /* sqlite3.c:154226:13: */ +func whereUndoExprMods(tls *libc.TLS, pWInfo uintptr) { /* sqlite3.c:154240:13: */ for (*WhereInfo)(unsafe.Pointer(pWInfo)).FpExprMods != 0 { var p uintptr = (*WhereInfo)(unsafe.Pointer(pWInfo)).FpExprMods (*WhereInfo)(unsafe.Pointer(pWInfo)).FpExprMods = (*WhereExprMod)(unsafe.Pointer(p)).FpNext @@ -132877,7 +132897,7 @@ func whereUndoExprMods(tls *libc.TLS, pWInfo uintptr) { /* sqlite3.c:154226:13: // deserve a lower cost even if it is a proper subset of Y. Constraint (5) // was added because a covering index probably deserves to have a lower cost // than a non-covering index even if it is a proper subset. -func whereLoopCheaperProperSubset(tls *libc.TLS, pX uintptr, pY uintptr) int32 { /* sqlite3.c:154254:12: */ +func whereLoopCheaperProperSubset(tls *libc.TLS, pX uintptr, pY uintptr) int32 { /* sqlite3.c:154268:12: */ var i int32 var j int32 if int32((*WhereLoop)(unsafe.Pointer(pX)).FnLTerm)-int32((*WhereLoop)(unsafe.Pointer(pX)).FnSkip) >= int32((*WhereLoop)(unsafe.Pointer(pY)).FnLTerm)-int32((*WhereLoop)(unsafe.Pointer(pY)).FnSkip) { @@ -132921,7 +132941,7 @@ func whereLoopCheaperProperSubset(tls *libc.TLS, pX uintptr, pY uintptr) int32 { // To say "WhereLoop X is a proper subset of Y" means that X uses fewer // WHERE clause terms than Y and that every WHERE clause term used by X is // also used by Y. -func whereLoopAdjustCost(tls *libc.TLS, p uintptr, pTemplate uintptr) { /* sqlite3.c:154292:13: */ +func whereLoopAdjustCost(tls *libc.TLS, p uintptr, pTemplate uintptr) { /* sqlite3.c:154306:13: */ if (*WhereLoop)(unsafe.Pointer(pTemplate)).FwsFlags&U32(WHERE_INDEXED) == U32(0) { return } @@ -132980,7 +133000,7 @@ func whereLoopAdjustCost(tls *libc.TLS, p uintptr, pTemplate uintptr) { /* sqlit // If pTemplate cannot replace any existing element of the list but needs // to be added to the list as a new entry, then return a pointer to the // tail of the list. -func whereLoopFindLesser(tls *libc.TLS, ppPrev uintptr, pTemplate uintptr) uintptr { /* sqlite3.c:154333:18: */ +func whereLoopFindLesser(tls *libc.TLS, ppPrev uintptr, pTemplate uintptr) uintptr { /* sqlite3.c:154347:18: */ var p uintptr p = *(*uintptr)(unsafe.Pointer(ppPrev)) __1: @@ -133069,7 +133089,7 @@ __3: // (2) They have the same iSortIdx. // (3) The template has same or fewer dependencies than the current loop // (4) The template has the same or lower cost than the current loop -func whereLoopInsert(tls *libc.TLS, pBuilder uintptr, pTemplate uintptr) int32 { /* sqlite3.c:154421:12: */ +func whereLoopInsert(tls *libc.TLS, pBuilder uintptr, pTemplate uintptr) int32 { /* sqlite3.c:154435:12: */ var ppPrev uintptr var p uintptr var pWInfo uintptr = (*WhereLoopBuilder)(unsafe.Pointer(pBuilder)).FpWInfo @@ -133176,7 +133196,7 @@ func whereLoopInsert(tls *libc.TLS, pBuilder uintptr, pTemplate uintptr) int32 { // "x" column is boolean or else -1 or 0 or 1 is a common default value // on the "x" column and so in that case only cap the output row estimate // at 1/2 instead of 1/4. -func whereLoopOutputAdjust(tls *libc.TLS, pWC uintptr, pLoop uintptr, nRow LogEst) { /* sqlite3.c:154558:13: */ +func whereLoopOutputAdjust(tls *libc.TLS, pWC uintptr, pLoop uintptr, nRow LogEst) { /* sqlite3.c:154572:13: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -133222,7 +133242,14 @@ __1: // that depend only on the table being scanned, and that will tend to // cause many rows to be omitted, then mark that table as // "self-culling". - *(*U32)(unsafe.Pointer(pLoop + 56)) |= U32(WHERE_SELFCULL) + // + // 2022-03-24: Self-culling only applies if either the extra terms + // are straight comparison operators that are non-true with NULL + // operand, or if the loop is not a LEFT JOIN. + if int32((*WhereTerm)(unsafe.Pointer(pTerm)).FeOperator)&0x3f != 0 || + int32((*SrcItem)(unsafe.Pointer((*WhereInfo)(unsafe.Pointer((*WhereClause)(unsafe.Pointer(pWC)).FpWInfo)).FpTabList+8+uintptr((*WhereLoop)(unsafe.Pointer(pLoop)).FiTab)*112)).Ffg.Fjointype)&JT_LEFT == 0 { + *(*U32)(unsafe.Pointer(pLoop + 56)) |= U32(WHERE_SELFCULL) + } } if int32((*WhereTerm)(unsafe.Pointer(pTerm)).FtruthProb) <= 0 { // If a truth probability is specified using the likelihood() hints, @@ -133279,7 +133306,7 @@ __3: // // then this function would be invoked with nEq=1. The value returned in // this case is 3. -func whereRangeVectorLen(tls *libc.TLS, pParse uintptr, iCur int32, pIdx uintptr, nEq int32, pTerm uintptr) int32 { /* sqlite3.c:154637:12: */ +func whereRangeVectorLen(tls *libc.TLS, pParse uintptr, iCur int32, pIdx uintptr, nEq int32, pTerm uintptr) int32 { /* sqlite3.c:154660:12: */ var nCmp int32 = Xsqlite3ExprVectorSize(tls, (*Expr)(unsafe.Pointer((*WhereTerm)(unsafe.Pointer(pTerm)).FpExpr)).FpLeft) var i int32 @@ -133347,7 +133374,7 @@ func whereRangeVectorLen(tls *libc.TLS, pParse uintptr, iCur int32, pIdx uintptr // // If pProbe->idxType==SQLITE_IDXTYPE_IPK, that means pIndex is // a fake index used for the INTEGER PRIMARY KEY. -func whereLoopAddBtreeIndex(tls *libc.TLS, pBuilder uintptr, pSrc uintptr, pProbe uintptr, nInMul LogEst) int32 { /* sqlite3.c:154711:12: */ +func whereLoopAddBtreeIndex(tls *libc.TLS, pBuilder uintptr, pSrc uintptr, pProbe uintptr, nInMul LogEst) int32 { /* sqlite3.c:154734:12: */ bp := tls.Alloc(116) defer tls.Free(116) @@ -133707,7 +133734,7 @@ func whereLoopAddBtreeIndex(tls *libc.TLS, pBuilder uintptr, pSrc uintptr, pProb // Return False if pBuilder does not contain an ORDER BY clause or // if there is no way for pIndex to be useful in implementing that // ORDER BY clause. -func indexMightHelpWithOrderBy(tls *libc.TLS, pBuilder uintptr, pIndex uintptr, iCursor int32) int32 { /* sqlite3.c:155111:12: */ +func indexMightHelpWithOrderBy(tls *libc.TLS, pBuilder uintptr, pIndex uintptr, iCursor int32) int32 { /* sqlite3.c:155134:12: */ var pOB uintptr var aColExpr uintptr var ii int32 @@ -133749,7 +133776,7 @@ func indexMightHelpWithOrderBy(tls *libc.TLS, pBuilder uintptr, pIndex uintptr, // Check to see if a partial index with pPartIndexWhere can be used // in the current query. Return true if it can be and false if not. -func whereUsablePartialIndex(tls *libc.TLS, iTab int32, isLeft int32, pWC uintptr, pWhere uintptr) int32 { /* sqlite3.c:155145:12: */ +func whereUsablePartialIndex(tls *libc.TLS, iTab int32, isLeft int32, pWC uintptr, pWhere uintptr) int32 { /* sqlite3.c:155168:12: */ var i int32 var pTerm uintptr var pParse uintptr = (*WhereInfo)(unsafe.Pointer((*WhereClause)(unsafe.Pointer(pWC)).FpWInfo)).FpParse @@ -133824,7 +133851,7 @@ __3: // bias the scoring in favor of using an index, since the worst-case // performance of using an index is far better than the worst-case performance // of a full table scan. -func whereLoopAddBtree(tls *libc.TLS, pBuilder uintptr, mPrereq Bitmask) int32 { /* sqlite3.c:155209:12: */ +func whereLoopAddBtree(tls *libc.TLS, pBuilder uintptr, mPrereq Bitmask) int32 { /* sqlite3.c:155232:12: */ bp := tls.Alloc(158) defer tls.Free(158) @@ -134109,7 +134136,7 @@ __3: } // Return true if pTerm is a virtual table LIMIT or OFFSET term. -func isLimitTerm(tls *libc.TLS, pTerm uintptr) int32 { /* sqlite3.c:155467:12: */ +func isLimitTerm(tls *libc.TLS, pTerm uintptr) int32 { /* sqlite3.c:155490:12: */ return libc.Bool32(int32((*WhereTerm)(unsafe.Pointer(pTerm)).FeMatchOp) >= SQLITE_INDEX_CONSTRAINT_LIMIT && int32((*WhereTerm)(unsafe.Pointer(pTerm)).FeMatchOp) <= SQLITE_INDEX_CONSTRAINT_OFFSET) @@ -134133,7 +134160,7 @@ func isLimitTerm(tls *libc.TLS, pTerm uintptr) int32 { /* sqlite3.c:155467:12: * // // Output parameter *pbIn is set to true if the plan added to pBuilder // uses one or more WO_IN terms, or false otherwise. -func whereLoopAddVirtualOne(tls *libc.TLS, pBuilder uintptr, mPrereq Bitmask, mUsable Bitmask, mExclude U16, pIdxInfo uintptr, mNoOmit U16, pbIn uintptr, pbRetryLimit uintptr) int32 { /* sqlite3.c:155493:12: */ +func whereLoopAddVirtualOne(tls *libc.TLS, pBuilder uintptr, mPrereq Bitmask, mUsable Bitmask, mExclude U16, pIdxInfo uintptr, mNoOmit U16, pbIn uintptr, pbRetryLimit uintptr) int32 { /* sqlite3.c:155516:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -134357,7 +134384,7 @@ __6: // 2. Else, if the column has an alternative collation, return that. // // 3. Otherwise, return "BINARY". -func Xsqlite3_vtab_collation(tls *libc.TLS, pIdxInfo uintptr, iCons int32) uintptr { /* sqlite3.c:155685:23: */ +func Xsqlite3_vtab_collation(tls *libc.TLS, pIdxInfo uintptr, iCons int32) uintptr { /* sqlite3.c:155708:23: */ var pHidden uintptr = pIdxInfo + 1*96 var zRet uintptr = uintptr(0) if iCons >= 0 && iCons < (*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FnConstraint { @@ -134380,7 +134407,7 @@ func Xsqlite3_vtab_collation(tls *libc.TLS, pIdxInfo uintptr, iCons int32) uintp // Return true if constraint iCons is really an IN(...) constraint, or // false otherwise. If iCons is an IN(...) constraint, set (if bHandle!=0) // or clear (if bHandle==0) the flag to handle it using an iterator. -func Xsqlite3_vtab_in(tls *libc.TLS, pIdxInfo uintptr, iCons int32, bHandle int32) int32 { /* sqlite3.c:155705:16: */ +func Xsqlite3_vtab_in(tls *libc.TLS, pIdxInfo uintptr, iCons int32, bHandle int32) int32 { /* sqlite3.c:155728:16: */ var pHidden uintptr = pIdxInfo + 1*96 var m U32 = func() uint32 { if iCons <= 31 { @@ -134403,7 +134430,7 @@ func Xsqlite3_vtab_in(tls *libc.TLS, pIdxInfo uintptr, iCons int32, bHandle int3 // // If possible, set (*ppVal) to point to an object containing the value // on the right-hand-side of constraint iCons. -func Xsqlite3_vtab_rhs_value(tls *libc.TLS, pIdxInfo uintptr, iCons int32, ppVal uintptr) int32 { /* sqlite3.c:155725:16: */ +func Xsqlite3_vtab_rhs_value(tls *libc.TLS, pIdxInfo uintptr, iCons int32, ppVal uintptr) int32 { /* sqlite3.c:155748:16: */ var pH uintptr = pIdxInfo + 1*96 var pVal uintptr = uintptr(0) var rc int32 = SQLITE_OK @@ -134429,7 +134456,7 @@ func Xsqlite3_vtab_rhs_value(tls *libc.TLS, pIdxInfo uintptr, iCons int32, ppVal } // Return true if ORDER BY clause may be handled as DISTINCT. -func Xsqlite3_vtab_distinct(tls *libc.TLS, pIdxInfo uintptr) int32 { /* sqlite3.c:155758:16: */ +func Xsqlite3_vtab_distinct(tls *libc.TLS, pIdxInfo uintptr) int32 { /* sqlite3.c:155781:16: */ var pHidden uintptr = pIdxInfo + 1*96 return (*HiddenIndexInfo)(unsafe.Pointer(pHidden)).FeDistinct @@ -134458,7 +134485,7 @@ func Xsqlite3_vtab_distinct(tls *libc.TLS, pIdxInfo uintptr) int32 { /* sqlite3. // Conversely, all tables in mUnusable must be scanned after the current // virtual table, so any terms for which the prerequisites overlap with // mUnusable should always be configured as "not-usable" for xBestIndex. -func whereLoopAddVirtual(tls *libc.TLS, pBuilder uintptr, mPrereq Bitmask, mUnusable Bitmask) int32 { /* sqlite3.c:155807:12: */ +func whereLoopAddVirtual(tls *libc.TLS, pBuilder uintptr, mPrereq Bitmask, mUnusable Bitmask) int32 { /* sqlite3.c:155830:12: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -134594,7 +134621,7 @@ func whereLoopAddVirtual(tls *libc.TLS, pBuilder uintptr, mPrereq Bitmask, mUnus // Add WhereLoop entries to handle OR terms. This works for either // btrees or virtual tables. -func whereLoopAddOr(tls *libc.TLS, pBuilder uintptr, mPrereq Bitmask, mUnusable Bitmask) int32 { /* sqlite3.c:155938:12: */ +func whereLoopAddOr(tls *libc.TLS, pBuilder uintptr, mPrereq Bitmask, mUnusable Bitmask) int32 { /* sqlite3.c:155961:12: */ bp := tls.Alloc(712) defer tls.Free(712) @@ -134719,7 +134746,7 @@ func whereLoopAddOr(tls *libc.TLS, pBuilder uintptr, mPrereq Bitmask, mUnusable } // Add all WhereLoop objects for all tables -func whereLoopAddAll(tls *libc.TLS, pBuilder uintptr) int32 { /* sqlite3.c:156064:12: */ +func whereLoopAddAll(tls *libc.TLS, pBuilder uintptr) int32 { /* sqlite3.c:156087:12: */ var pWInfo uintptr = (*WhereLoopBuilder)(unsafe.Pointer(pBuilder)).FpWInfo var mPrereq Bitmask = uint64(0) var mPrior Bitmask = uint64(0) @@ -134807,7 +134834,7 @@ __3: // as equivalent rows are grouped together. Thus for GROUP BY and DISTINCT // the pOrderBy terms can be matched in any order. With ORDER BY, the // pOrderBy terms must be matched in strict left-to-right order. -func wherePathSatisfiesOrderBy(tls *libc.TLS, pWInfo uintptr, pOrderBy uintptr, pPath uintptr, wctrlFlags U16, nLoop U16, pLast uintptr, pRevMask uintptr) I8 { /* sqlite3.c:156142:11: */ +func wherePathSatisfiesOrderBy(tls *libc.TLS, pWInfo uintptr, pOrderBy uintptr, pPath uintptr, wctrlFlags U16, nLoop U16, pLast uintptr, pRevMask uintptr) I8 { /* sqlite3.c:156165:11: */ var revSet U8 // True if rev is known var rev U8 // Composite sort order var revIdx U8 // Index sort order @@ -135175,7 +135202,7 @@ func wherePathSatisfiesOrderBy(tls *libc.TLS, pWInfo uintptr, pOrderBy uintptr, // // SELECT * FROM t1 GROUP BY x,y ORDER BY x,y; -- IsSorted()==1 // SELECT * FROM t1 GROUP BY y,x ORDER BY y,x; -- IsSorted()==0 -func Xsqlite3WhereIsSorted(tls *libc.TLS, pWInfo uintptr) int32 { /* sqlite3.c:156487:20: */ +func Xsqlite3WhereIsSorted(tls *libc.TLS, pWInfo uintptr) int32 { /* sqlite3.c:156510:20: */ return int32(*(*uint8)(unsafe.Pointer(pWInfo + 76)) & 0x8 >> 3) } @@ -135183,7 +135210,7 @@ func Xsqlite3WhereIsSorted(tls *libc.TLS, pWInfo uintptr) int32 { /* sqlite3.c:1 // Return the cost of sorting nRow rows, assuming that the keys have // nOrderby columns and that the first nSorted columns are already in // order. -func whereSortingCost(tls *libc.TLS, pWInfo uintptr, nRow LogEst, nOrderBy int32, nSorted int32) LogEst { /* sqlite3.c:156510:15: */ +func whereSortingCost(tls *libc.TLS, pWInfo uintptr, nRow LogEst, nOrderBy int32, nSorted int32) LogEst { /* sqlite3.c:156533:15: */ // TUNING: Estimated cost of a full external sort, where N is // the number of rows to sort is: // @@ -135230,7 +135257,7 @@ func whereSortingCost(tls *libc.TLS, pWInfo uintptr, nRow LogEst, nOrderBy int32 // // Return SQLITE_OK on success or SQLITE_NOMEM of a memory allocation // error occurs. -func wherePathSolver(tls *libc.TLS, pWInfo uintptr, nRowEst LogEst) int32 { /* sqlite3.c:156563:12: */ +func wherePathSolver(tls *libc.TLS, pWInfo uintptr, nRowEst LogEst) int32 { /* sqlite3.c:156586:12: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -135637,7 +135664,7 @@ __3: // Return non-zero on success, if this query can be handled by this // no-frills query planner. Return zero if this query needs the // general-purpose query planner. -func whereShortCut(tls *libc.TLS, pBuilder uintptr) int32 { /* sqlite3.c:156955:12: */ +func whereShortCut(tls *libc.TLS, pBuilder uintptr) int32 { /* sqlite3.c:156978:12: */ bp := tls.Alloc(112) defer tls.Free(112) @@ -135744,7 +135771,7 @@ func whereShortCut(tls *libc.TLS, pBuilder uintptr) int32 { /* sqlite3.c:156955: } // Helper function for exprIsDeterministic(). -func exprNodeIsDeterministic(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:157046:12: */ +func exprNodeIsDeterministic(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:157069:12: */ if int32((*Expr)(unsafe.Pointer(pExpr)).Fop) == TK_FUNCTION && libc.Bool32((*Expr)(unsafe.Pointer(pExpr)).Fflags&U32(EP_ConstFunc) != U32(0)) == 0 { (*Walker)(unsafe.Pointer(pWalker)).FeCode = U16(0) return WRC_Abort @@ -135755,7 +135782,7 @@ func exprNodeIsDeterministic(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int3 // Return true if the expression contains no non-deterministic SQL // functions. Do not consider non-deterministic SQL functions that are // part of sub-select statements. -func exprIsDeterministic(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:157059:12: */ +func exprIsDeterministic(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:157082:12: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -135801,7 +135828,7 @@ func exprIsDeterministic(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:157059:1 // SELECT DISTINCT v1, v3 FROM t1 // LEFT JOIN t2 // LEFT JOIN t3 ON (t1.ipk=t3.ipk) -func whereOmitNoopJoin(tls *libc.TLS, pWInfo uintptr, notReady Bitmask) Bitmask { /* sqlite3.c:157120:32: */ +func whereOmitNoopJoin(tls *libc.TLS, pWInfo uintptr, notReady Bitmask) Bitmask { /* sqlite3.c:157143:32: */ var i int32 var tabUsed Bitmask @@ -135876,7 +135903,7 @@ func whereOmitNoopJoin(tls *libc.TLS, pWInfo uintptr, notReady Bitmask) Bitmask // appropriate, and if so sets the WHERE_BLOOMFILTER flag on the // WhereLoop. The implementation of the Bloom filter comes further // down where the code for each WhereLoop is generated. -func whereCheckIfBloomFilterIsUseful(tls *libc.TLS, pWInfo uintptr) { /* sqlite3.c:157199:29: */ +func whereCheckIfBloomFilterIsUseful(tls *libc.TLS, pWInfo uintptr) { /* sqlite3.c:157222:29: */ var i int32 var nSearch LogEst @@ -135988,7 +136015,7 @@ func whereCheckIfBloomFilterIsUseful(tls *libc.TLS, pWInfo uintptr) { /* sqlite3 // the first cursor in an array of cursors for all indices. iIdxCur should // be used to compute the appropriate cursor depending on which index is // used. -func Xsqlite3WhereBegin(tls *libc.TLS, pParse uintptr, pTabList uintptr, pWhere uintptr, pOrderBy uintptr, pResultSet uintptr, pLimit uintptr, wctrlFlags U16, iAuxArg int32) uintptr { /* sqlite3.c:157323:26: */ +func Xsqlite3WhereBegin(tls *libc.TLS, pParse uintptr, pTabList uintptr, pWhere uintptr, pOrderBy uintptr, pResultSet uintptr, pLimit uintptr, wctrlFlags U16, iAuxArg int32) uintptr { /* sqlite3.c:157346:26: */ bp := tls.Alloc(64) defer tls.Free(64) @@ -136673,7 +136700,7 @@ __78: // Generate the end of the WHERE loop. See comments on // sqlite3WhereBegin() for additional information. -func Xsqlite3WhereEnd(tls *libc.TLS, pWInfo uintptr) { /* sqlite3.c:157889:21: */ +func Xsqlite3WhereEnd(tls *libc.TLS, pWInfo uintptr) { /* sqlite3.c:157932:21: */ var pParse uintptr = (*WhereInfo)(unsafe.Pointer(pWInfo)).FpParse var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe var i int32 @@ -136886,12 +136913,12 @@ __4: int32((*VdbeOp)(unsafe.Pointer(pOp)).Fopcode) == OP_Offset { var x int32 = (*VdbeOp)(unsafe.Pointer(pOp)).Fp2 - if !((*Table)(unsafe.Pointer(pTab)).FtabFlags&U32(TF_WithoutRowid) == U32(0)) { + if int32((*VdbeOp)(unsafe.Pointer(pOp)).Fopcode) == OP_Offset { + // Do not need to translate the column number + } else if !((*Table)(unsafe.Pointer(pTab)).FtabFlags&U32(TF_WithoutRowid) == U32(0)) { var pPk uintptr = Xsqlite3PrimaryKeyIndex(tls, pTab) x = int32(*(*I16)(unsafe.Pointer((*Index)(unsafe.Pointer(pPk)).FaiColumn + uintptr(x)*2))) - } else if int32((*VdbeOp)(unsafe.Pointer(pOp)).Fopcode) == OP_Offset { - // Do not need to translate the column number } else { x = int32(Xsqlite3StorageColumnToTable(tls, pTab, int16(x))) @@ -136901,8 +136928,12 @@ __4: (*VdbeOp)(unsafe.Pointer(pOp)).Fp2 = x (*VdbeOp)(unsafe.Pointer(pOp)).Fp1 = (*WhereLevel)(unsafe.Pointer(pLevel)).FiIdxCur - } + } else { + // Unable to translate the table reference into an index + // reference. Verify that this is harmless - that the + // table being referenced really is open. + } } else if int32((*VdbeOp)(unsafe.Pointer(pOp)).Fopcode) == OP_Rowid { (*VdbeOp)(unsafe.Pointer(pOp)).Fp1 = (*WhereLevel)(unsafe.Pointer(pLevel)).FiIdxCur (*VdbeOp)(unsafe.Pointer(pOp)).Fopcode = U8(OP_IdxRowid) @@ -137073,7 +137104,7 @@ __6: // window frame has been coerced to: // // ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW -func row_numberStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158331:13: */ +func row_numberStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158388:13: */ var p uintptr = Xsqlite3_aggregate_context(tls, pCtx, int32(unsafe.Sizeof(I64(0)))) if p != 0 { *(*I64)(unsafe.Pointer(p))++ @@ -137082,7 +137113,7 @@ func row_numberStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) _ = apArg } -func row_numberValueFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158341:13: */ +func row_numberValueFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158398:13: */ var p uintptr = Xsqlite3_aggregate_context(tls, pCtx, int32(unsafe.Sizeof(I64(0)))) Xsqlite3_result_int64(tls, pCtx, func() int64 { if p != 0 { @@ -137098,13 +137129,13 @@ type CallCount = struct { FnValue I64 FnStep I64 FnTotal I64 -} /* sqlite3.c:158350:1 */ +} /* sqlite3.c:158407:1 */ // Implementation of built-in window function dense_rank(). Assumes that // the window frame has been set to: // // RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW -func dense_rankStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158362:13: */ +func dense_rankStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158419:13: */ var p uintptr p = Xsqlite3_aggregate_context(tls, pCtx, int32(unsafe.Sizeof(CallCount{}))) if p != 0 { @@ -137114,7 +137145,7 @@ func dense_rankStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) _ = apArg } -func dense_rankValueFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158373:13: */ +func dense_rankValueFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158430:13: */ var p uintptr p = Xsqlite3_aggregate_context(tls, pCtx, int32(unsafe.Sizeof(CallCount{}))) if p != 0 { @@ -137132,9 +137163,9 @@ func dense_rankValueFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158373:13: type NthValueCtx = struct { FnStep I64 FpValue uintptr -} /* sqlite3.c:158390:1 */ +} /* sqlite3.c:158447:1 */ -func nth_valueStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158394:13: */ +func nth_valueStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158451:13: */ var p uintptr var fVal float64 var iVal I64 @@ -137200,7 +137231,7 @@ error_out: pCtx, ts+21883, -1) } -func nth_valueFinalizeFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158435:13: */ +func nth_valueFinalizeFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158492:13: */ var p uintptr p = Xsqlite3_aggregate_context(tls, pCtx, 0) if p != 0 && (*NthValueCtx)(unsafe.Pointer(p)).FpValue != 0 { @@ -137210,7 +137241,7 @@ func nth_valueFinalizeFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158435:13 } } -func first_valueStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158447:13: */ +func first_valueStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158504:13: */ var p uintptr p = Xsqlite3_aggregate_context(tls, pCtx, int32(unsafe.Sizeof(NthValueCtx{}))) if p != 0 && (*NthValueCtx)(unsafe.Pointer(p)).FpValue == uintptr(0) { @@ -137223,7 +137254,7 @@ func first_valueStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) _ = apArg } -func first_valueFinalizeFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158463:13: */ +func first_valueFinalizeFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158520:13: */ var p uintptr p = Xsqlite3_aggregate_context(tls, pCtx, int32(unsafe.Sizeof(NthValueCtx{}))) if p != 0 && (*NthValueCtx)(unsafe.Pointer(p)).FpValue != 0 { @@ -137237,7 +137268,7 @@ func first_valueFinalizeFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158463: // the window frame has been set to: // // RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW -func rankStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158481:13: */ +func rankStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158538:13: */ var p uintptr p = Xsqlite3_aggregate_context(tls, pCtx, int32(unsafe.Sizeof(CallCount{}))) if p != 0 { @@ -137250,7 +137281,7 @@ func rankStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* s _ = apArg } -func rankValueFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158497:13: */ +func rankValueFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158554:13: */ var p uintptr p = Xsqlite3_aggregate_context(tls, pCtx, int32(unsafe.Sizeof(CallCount{}))) if p != 0 { @@ -137263,7 +137294,7 @@ func rankValueFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158497:13: */ // the window frame has been set to: // // GROUPS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING -func percent_rankStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158512:13: */ +func percent_rankStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158569:13: */ var p uintptr _ = nArg _ = apArg @@ -137273,7 +137304,7 @@ func percent_rankStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr } } -func percent_rankInvFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158525:13: */ +func percent_rankInvFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158582:13: */ var p uintptr _ = nArg _ = apArg @@ -137281,7 +137312,7 @@ func percent_rankInvFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) (*CallCount)(unsafe.Pointer(p)).FnStep++ } -func percent_rankValueFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158536:13: */ +func percent_rankValueFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158593:13: */ var p uintptr p = Xsqlite3_aggregate_context(tls, pCtx, int32(unsafe.Sizeof(CallCount{}))) if p != 0 { @@ -137299,7 +137330,7 @@ func percent_rankValueFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158536:13 // the window frame has been set to: // // GROUPS BETWEEN 1 FOLLOWING AND UNBOUNDED FOLLOWING -func cume_distStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158557:13: */ +func cume_distStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158614:13: */ var p uintptr _ = nArg _ = apArg @@ -137309,7 +137340,7 @@ func cume_distStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { } } -func cume_distInvFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158570:13: */ +func cume_distInvFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158627:13: */ var p uintptr _ = nArg _ = apArg @@ -137317,7 +137348,7 @@ func cume_distInvFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { (*CallCount)(unsafe.Pointer(p)).FnStep++ } -func cume_distValueFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158581:13: */ +func cume_distValueFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158638:13: */ var p uintptr p = Xsqlite3_aggregate_context(tls, pCtx, 0) if p != 0 { @@ -137331,13 +137362,13 @@ type NtileCtx = struct { FnTotal I64 FnParam I64 FiRow I64 -} /* sqlite3.c:158594:1 */ +} /* sqlite3.c:158651:1 */ // Implementation of ntile(). This assumes that the window frame has // been coerced to: // // ROWS CURRENT ROW AND UNBOUNDED FOLLOWING -func ntileStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158606:13: */ +func ntileStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158663:13: */ var p uintptr _ = nArg p = Xsqlite3_aggregate_context(tls, pCtx, int32(unsafe.Sizeof(NtileCtx{}))) @@ -137353,7 +137384,7 @@ func ntileStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* } } -func ntileInvFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158626:13: */ +func ntileInvFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158683:13: */ var p uintptr _ = nArg _ = apArg @@ -137361,7 +137392,7 @@ func ntileInvFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* s (*NtileCtx)(unsafe.Pointer(p)).FiRow++ } -func ntileValueFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158637:13: */ +func ntileValueFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158694:13: */ var p uintptr p = Xsqlite3_aggregate_context(tls, pCtx, int32(unsafe.Sizeof(NtileCtx{}))) if p != 0 && (*NtileCtx)(unsafe.Pointer(p)).FnParam > int64(0) { @@ -137387,10 +137418,10 @@ type LastValueCtx = struct { FpVal uintptr FnVal int32 F__ccgo_pad1 [4]byte -} /* sqlite3.c:158664:1 */ +} /* sqlite3.c:158721:1 */ // Implementation of last_value(). -func last_valueStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158672:13: */ +func last_valueStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158729:13: */ var p uintptr _ = nArg p = Xsqlite3_aggregate_context(tls, pCtx, int32(unsafe.Sizeof(LastValueCtx{}))) @@ -137405,7 +137436,7 @@ func last_valueStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) } } -func last_valueInvFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158690:13: */ +func last_valueInvFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158747:13: */ var p uintptr _ = nArg _ = apArg @@ -137419,7 +137450,7 @@ func last_valueInvFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { } } -func last_valueValueFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158707:13: */ +func last_valueValueFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158764:13: */ var p uintptr p = Xsqlite3_aggregate_context(tls, pCtx, 0) if p != 0 && (*LastValueCtx)(unsafe.Pointer(p)).FpVal != 0 { @@ -137427,7 +137458,7 @@ func last_valueValueFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158707:13: } } -func last_valueFinalizeFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158714:13: */ +func last_valueFinalizeFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158771:13: */ var p uintptr p = Xsqlite3_aggregate_context(tls, pCtx, int32(unsafe.Sizeof(LastValueCtx{}))) if p != 0 && (*LastValueCtx)(unsafe.Pointer(p)).FpVal != 0 { @@ -137443,17 +137474,17 @@ func last_valueFinalizeFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158714:1 // comparison of the zName pointer. Example: // // if( pFuncDef->zName==row_valueName ){ ... } -var row_numberName = *(*[11]int8)(unsafe.Pointer(ts + 21984)) /* sqlite3.c:158732:19 */ -var dense_rankName = *(*[11]int8)(unsafe.Pointer(ts + 21995)) /* sqlite3.c:158733:19 */ -var rankName = *(*[5]int8)(unsafe.Pointer(ts + 22006)) /* sqlite3.c:158734:19 */ -var percent_rankName = *(*[13]int8)(unsafe.Pointer(ts + 22011)) /* sqlite3.c:158735:19 */ -var cume_distName = *(*[10]int8)(unsafe.Pointer(ts + 22024)) /* sqlite3.c:158736:19 */ -var ntileName = *(*[6]int8)(unsafe.Pointer(ts + 22034)) /* sqlite3.c:158737:19 */ -var last_valueName = *(*[11]int8)(unsafe.Pointer(ts + 22040)) /* sqlite3.c:158738:19 */ -var nth_valueName = *(*[10]int8)(unsafe.Pointer(ts + 22051)) /* sqlite3.c:158739:19 */ -var first_valueName = *(*[12]int8)(unsafe.Pointer(ts + 22061)) /* sqlite3.c:158740:19 */ -var leadName = *(*[5]int8)(unsafe.Pointer(ts + 22073)) /* sqlite3.c:158741:19 */ -var lagName = *(*[4]int8)(unsafe.Pointer(ts + 22078 /* "lag" */)) /* sqlite3.c:158742:19 */ +var row_numberName = *(*[11]int8)(unsafe.Pointer(ts + 21984)) /* sqlite3.c:158789:19 */ +var dense_rankName = *(*[11]int8)(unsafe.Pointer(ts + 21995)) /* sqlite3.c:158790:19 */ +var rankName = *(*[5]int8)(unsafe.Pointer(ts + 22006)) /* sqlite3.c:158791:19 */ +var percent_rankName = *(*[13]int8)(unsafe.Pointer(ts + 22011)) /* sqlite3.c:158792:19 */ +var cume_distName = *(*[10]int8)(unsafe.Pointer(ts + 22024)) /* sqlite3.c:158793:19 */ +var ntileName = *(*[6]int8)(unsafe.Pointer(ts + 22034)) /* sqlite3.c:158794:19 */ +var last_valueName = *(*[11]int8)(unsafe.Pointer(ts + 22040)) /* sqlite3.c:158795:19 */ +var nth_valueName = *(*[10]int8)(unsafe.Pointer(ts + 22051)) /* sqlite3.c:158796:19 */ +var first_valueName = *(*[12]int8)(unsafe.Pointer(ts + 22061)) /* sqlite3.c:158797:19 */ +var leadName = *(*[5]int8)(unsafe.Pointer(ts + 22073)) /* sqlite3.c:158798:19 */ +var lagName = *(*[4]int8)(unsafe.Pointer(ts + 22078 /* "lag" */)) /* sqlite3.c:158799:19 */ // No-op implementations of xStep() and xFinalize(). Used as place-holders // for built-in window functions that never call those interfaces. @@ -137462,7 +137493,7 @@ var lagName = *(*[4]int8)(unsafe.Pointer(ts + 22078 /* "lag" */)) /* sqlite3.c:1 // noopStepFunc() is never called, and so it is marked with NO_TEST to // let the test coverage routine know not to expect this function to be // invoked. -func noopStepFunc(tls *libc.TLS, p uintptr, n int32, a uintptr) { /* sqlite3.c:158753:13: */ //NO_TEST +func noopStepFunc(tls *libc.TLS, p uintptr, n int32, a uintptr) { /* sqlite3.c:158810:13: */ //NO_TEST _ = p //NO_TEST _ = n //NO_TEST _ = a //NO_TEST @@ -137470,7 +137501,7 @@ func noopStepFunc(tls *libc.TLS, p uintptr, n int32, a uintptr) { /* sqlite3.c:1 } //NO_TEST -func noopValueFunc(tls *libc.TLS, p uintptr) { /* sqlite3.c:158763:13: */ +func noopValueFunc(tls *libc.TLS, p uintptr) { /* sqlite3.c:158820:13: */ _ = p /*no-op*/ } @@ -137485,7 +137516,7 @@ func noopValueFunc(tls *libc.TLS, p uintptr) { /* sqlite3.c:158763:13: */ // xInverse. // Register those built-in window functions that are not also aggregates. -func Xsqlite3WindowFunctions(tls *libc.TLS) { /* sqlite3.c:158794:21: */ +func Xsqlite3WindowFunctions(tls *libc.TLS) { /* sqlite3.c:158851:21: */ Xsqlite3InsertBuiltinFuncs(tls, uintptr(unsafe.Pointer(&aWindowFuncs)), int32(uint64(unsafe.Sizeof(aWindowFuncs))/uint64(unsafe.Sizeof(FuncDef{})))) } @@ -137504,9 +137535,9 @@ var aWindowFuncs = [15]FuncDef{ {FnArg: int8(3), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_UTF8 | SQLITE_FUNC_WINDOW | 0), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: 0}, {FnArg: int8(1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_UTF8 | SQLITE_FUNC_WINDOW | 0), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: 0}, {FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_UTF8 | SQLITE_FUNC_WINDOW | 0), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: 0}, - {FnArg: int8(3), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_UTF8 | SQLITE_FUNC_WINDOW | 0), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: 0}} /* sqlite3.c:158795:18 */ + {FnArg: int8(3), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_UTF8 | SQLITE_FUNC_WINDOW | 0), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: 0}} /* sqlite3.c:158852:18 */ -func windowFind(tls *libc.TLS, pParse uintptr, pList uintptr, zName uintptr) uintptr { /* sqlite3.c:158815:15: */ +func windowFind(tls *libc.TLS, pParse uintptr, pList uintptr, zName uintptr) uintptr { /* sqlite3.c:158872:15: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -137537,7 +137568,7 @@ func windowFind(tls *libc.TLS, pParse uintptr, pList uintptr, zName uintptr) uin // * If the function is a built-in window function that requires the // window to be coerced (see "BUILT-IN WINDOW FUNCTIONS" at the top // of this file), pWin is updated here. -func Xsqlite3WindowUpdate(tls *libc.TLS, pParse uintptr, pList uintptr, pWin uintptr, pFunc uintptr) { /* sqlite3.c:158843:21: */ +func Xsqlite3WindowUpdate(tls *libc.TLS, pParse uintptr, pList uintptr, pWin uintptr, pFunc uintptr) { /* sqlite3.c:158900:21: */ bp := tls.Alloc(192) defer tls.Free(192) @@ -137605,16 +137636,16 @@ type WindowUpdate = struct { FeStart int32 FeEnd int32 F__ccgo_pad1 [4]byte -} /* sqlite3.c:158878:7 */ +} /* sqlite3.c:158935:7 */ // Context object passed through sqlite3WalkExprList() to // selectWindowRewriteExprCb() by selectWindowRewriteEList(). -type WindowRewrite = WindowRewrite1 /* sqlite3.c:158918:30 */ +type WindowRewrite = WindowRewrite1 /* sqlite3.c:158975:30 */ // Callback function used by selectWindowRewriteEList(). If necessary, // this function appends to the output expression-list and updates // expression (*ppExpr) in place. -func selectWindowRewriteExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:158932:12: */ +func selectWindowRewriteExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:158989:12: */ var p uintptr = *(*uintptr)(unsafe.Pointer(pWalker + 40)) var pParse uintptr = (*Walker)(unsafe.Pointer(pWalker)).FpParse @@ -137714,7 +137745,7 @@ func selectWindowRewriteExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) in return WRC_Continue } -func selectWindowRewriteSelectCb(tls *libc.TLS, pWalker uintptr, pSelect uintptr) int32 { /* sqlite3.c:159014:12: */ +func selectWindowRewriteSelectCb(tls *libc.TLS, pWalker uintptr, pSelect uintptr) int32 { /* sqlite3.c:159071:12: */ var p uintptr = *(*uintptr)(unsafe.Pointer(pWalker + 40)) var pSave uintptr = (*WindowRewrite1)(unsafe.Pointer(p)).FpSubSelect if pSave == pSelect { @@ -137738,7 +137769,7 @@ func selectWindowRewriteSelectCb(tls *libc.TLS, pWalker uintptr, pSelect uintptr // with a TK_COLUMN that reads the (N-1)th element of table // pWin->iEphCsr, where N is the number of elements in (*ppSub) after // appending the new one. -func selectWindowRewriteEList(tls *libc.TLS, pParse uintptr, pWin uintptr, pSrc uintptr, pEList uintptr, pTab uintptr, ppSub uintptr) { /* sqlite3.c:159041:13: */ +func selectWindowRewriteEList(tls *libc.TLS, pParse uintptr, pWin uintptr, pSrc uintptr, pEList uintptr, pTab uintptr, ppSub uintptr) { /* sqlite3.c:159098:13: */ bp := tls.Alloc(88) defer tls.Free(88) @@ -137770,7 +137801,7 @@ func selectWindowRewriteEList(tls *libc.TLS, pParse uintptr, pWin uintptr, pSrc // Append a copy of each expression in expression-list pAppend to // expression list pList. Return a pointer to the result list. -func exprListAppendList(tls *libc.TLS, pParse uintptr, pList uintptr, pAppend uintptr, bIntToNull int32) uintptr { /* sqlite3.c:159075:17: */ +func exprListAppendList(tls *libc.TLS, pParse uintptr, pList uintptr, pAppend uintptr, bIntToNull int32) uintptr { /* sqlite3.c:159132:17: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -137816,7 +137847,7 @@ func exprListAppendList(tls *libc.TLS, pParse uintptr, pList uintptr, pAppend ui // due to the extra subquery layer that was added. // // See also the incrAggDepth() routine in resolve.c -func sqlite3WindowExtraAggFuncDepth(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:159117:12: */ +func sqlite3WindowExtraAggFuncDepth(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:159174:12: */ if int32((*Expr)(unsafe.Pointer(pExpr)).Fop) == TK_AGG_FUNCTION && int32((*Expr)(unsafe.Pointer(pExpr)).Fop2) >= (*Walker)(unsafe.Pointer(pWalker)).FwalkerDepth { (*Expr)(unsafe.Pointer(pExpr)).Fop2++ @@ -137824,7 +137855,7 @@ func sqlite3WindowExtraAggFuncDepth(tls *libc.TLS, pWalker uintptr, pExpr uintpt return WRC_Continue } -func disallowAggregatesInOrderByCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:159126:12: */ +func disallowAggregatesInOrderByCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:159183:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -137841,7 +137872,7 @@ func disallowAggregatesInOrderByCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr // rewrites the SELECT statement so that window function xStep functions // are invoked in the correct order as described under "SELECT REWRITING" // at the top of this file. -func Xsqlite3WindowRewrite(tls *libc.TLS, pParse uintptr, p uintptr) int32 { /* sqlite3.c:159142:20: */ +func Xsqlite3WindowRewrite(tls *libc.TLS, pParse uintptr, p uintptr) int32 { /* sqlite3.c:159199:20: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -138025,7 +138056,7 @@ func Xsqlite3WindowRewrite(tls *libc.TLS, pParse uintptr, p uintptr) int32 { /* // Unlink the Window object from the Select to which it is attached, // if it is attached. -func Xsqlite3WindowUnlinkFromSelect(tls *libc.TLS, p uintptr) { /* sqlite3.c:159306:21: */ +func Xsqlite3WindowUnlinkFromSelect(tls *libc.TLS, p uintptr) { /* sqlite3.c:159363:21: */ if (*Window)(unsafe.Pointer(p)).FppThis != 0 { *(*uintptr)(unsafe.Pointer((*Window)(unsafe.Pointer(p)).FppThis)) = (*Window)(unsafe.Pointer(p)).FpNextWin if (*Window)(unsafe.Pointer(p)).FpNextWin != 0 { @@ -138036,7 +138067,7 @@ func Xsqlite3WindowUnlinkFromSelect(tls *libc.TLS, p uintptr) { /* sqlite3.c:159 } // Free the Window object passed as the second argument. -func Xsqlite3WindowDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:159317:21: */ +func Xsqlite3WindowDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:159374:21: */ if p != 0 { Xsqlite3WindowUnlinkFromSelect(tls, p) Xsqlite3ExprDelete(tls, db, (*Window)(unsafe.Pointer(p)).FpFilter) @@ -138051,7 +138082,7 @@ func Xsqlite3WindowDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:1 } // Free the linked list of Window objects starting at the second argument. -func Xsqlite3WindowListDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:159334:21: */ +func Xsqlite3WindowListDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:159391:21: */ for p != 0 { var pNext uintptr = (*Window)(unsafe.Pointer(p)).FpNextWin Xsqlite3WindowDelete(tls, db, p) @@ -138064,7 +138095,7 @@ func Xsqlite3WindowListDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3 // constant, change it to NULL. The fact that it is then a non-negative // integer will be caught later. But it is important not to leave // variable values in the expression tree. -func sqlite3WindowOffsetExpr(tls *libc.TLS, pParse uintptr, pExpr uintptr) uintptr { /* sqlite3.c:159349:13: */ +func sqlite3WindowOffsetExpr(tls *libc.TLS, pParse uintptr, pExpr uintptr) uintptr { /* sqlite3.c:159406:13: */ if 0 == Xsqlite3ExprIsConstant(tls, pExpr) { if int32((*Parse)(unsafe.Pointer(pParse)).FeParseMode) >= PARSE_MODE_RENAME { Xsqlite3RenameExprUnmap(tls, pParse, pExpr) @@ -138076,7 +138107,7 @@ func sqlite3WindowOffsetExpr(tls *libc.TLS, pParse uintptr, pExpr uintptr) uintp } // Allocate and return a new Window object describing a Window Definition. -func Xsqlite3WindowAlloc(tls *libc.TLS, pParse uintptr, eType int32, eStart int32, pStart uintptr, eEnd int32, pEnd uintptr, eExclude U8) uintptr { /* sqlite3.c:159361:23: */ +func Xsqlite3WindowAlloc(tls *libc.TLS, pParse uintptr, eType int32, eStart int32, pStart uintptr, eEnd int32, pEnd uintptr, eExclude U8) uintptr { /* sqlite3.c:159418:23: */ var pWin uintptr var bImplicitFrame int32 pWin = uintptr(0) @@ -138145,7 +138176,7 @@ windowAllocErr: // Attach PARTITION and ORDER BY clauses pPartition and pOrderBy to window // pWin. Also, if parameter pBase is not NULL, set pWin->zBase to the // equivalent nul-terminated string. -func Xsqlite3WindowAssemble(tls *libc.TLS, pParse uintptr, pWin uintptr, pPartition uintptr, pOrderBy uintptr, pBase uintptr) uintptr { /* sqlite3.c:159433:23: */ +func Xsqlite3WindowAssemble(tls *libc.TLS, pParse uintptr, pWin uintptr, pPartition uintptr, pOrderBy uintptr, pBase uintptr) uintptr { /* sqlite3.c:159490:23: */ if pWin != 0 { (*Window)(unsafe.Pointer(pWin)).FpPartition = pPartition (*Window)(unsafe.Pointer(pWin)).FpOrderBy = pOrderBy @@ -138164,7 +138195,7 @@ func Xsqlite3WindowAssemble(tls *libc.TLS, pParse uintptr, pWin uintptr, pPartit // stored in the linked list starting at pWin->pNextWin. This function // either updates *pWin according to the base specification, or else // leaves an error in pParse. -func Xsqlite3WindowChain(tls *libc.TLS, pParse uintptr, pWin uintptr, pList uintptr) { /* sqlite3.c:159460:21: */ +func Xsqlite3WindowChain(tls *libc.TLS, pParse uintptr, pWin uintptr, pList uintptr) { /* sqlite3.c:159517:21: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -138198,7 +138229,7 @@ func Xsqlite3WindowChain(tls *libc.TLS, pParse uintptr, pWin uintptr, pList uint } // Attach window object pWin to expression p. -func Xsqlite3WindowAttach(tls *libc.TLS, pParse uintptr, p uintptr, pWin uintptr) { /* sqlite3.c:159494:21: */ +func Xsqlite3WindowAttach(tls *libc.TLS, pParse uintptr, p uintptr, pWin uintptr) { /* sqlite3.c:159551:21: */ if p != 0 { *(*uintptr)(unsafe.Pointer(p + 64)) = pWin @@ -138217,7 +138248,7 @@ func Xsqlite3WindowAttach(tls *libc.TLS, pParse uintptr, p uintptr, pWin uintptr // to be processed as part of SELECT statement pSel). The window is linked // in if either (a) there are no other windows already linked to this // SELECT, or (b) the windows already linked use a compatible window frame. -func Xsqlite3WindowLink(tls *libc.TLS, pSel uintptr, pWin uintptr) { /* sqlite3.c:159517:21: */ +func Xsqlite3WindowLink(tls *libc.TLS, pSel uintptr, pWin uintptr) { /* sqlite3.c:159574:21: */ if pSel != 0 { if uintptr(0) == (*Select)(unsafe.Pointer(pSel)).FpWin || 0 == Xsqlite3WindowCompare(tls, uintptr(0), (*Select)(unsafe.Pointer(pSel)).FpWin, pWin, 0) { (*Window)(unsafe.Pointer(pWin)).FpNextWin = (*Select)(unsafe.Pointer(pSel)).FpWin @@ -138237,7 +138268,7 @@ func Xsqlite3WindowLink(tls *libc.TLS, pSel uintptr, pWin uintptr) { /* sqlite3. // Return 0 if the two window objects are identical, 1 if they are // different, or 2 if it cannot be determined if the objects are identical // or not. Identical window objects can be processed in a single scan. -func Xsqlite3WindowCompare(tls *libc.TLS, pParse uintptr, p1 uintptr, p2 uintptr, bFilter int32) int32 { /* sqlite3.c:159539:20: */ +func Xsqlite3WindowCompare(tls *libc.TLS, pParse uintptr, p1 uintptr, p2 uintptr, bFilter int32) int32 { /* sqlite3.c:159596:20: */ var res int32 if p1 == uintptr(0) || p2 == uintptr(0) { return 1 @@ -138277,7 +138308,7 @@ func Xsqlite3WindowCompare(tls *libc.TLS, pParse uintptr, p1 uintptr, p2 uintptr // This is called by code in select.c before it calls sqlite3WhereBegin() // to begin iterating through the sub-query results. It is used to allocate // and initialize registers and cursors used by sqlite3WindowCodeStep(). -func Xsqlite3WindowCodeInit(tls *libc.TLS, pParse uintptr, pSelect uintptr) { /* sqlite3.c:159573:21: */ +func Xsqlite3WindowCodeInit(tls *libc.TLS, pParse uintptr, pSelect uintptr) { /* sqlite3.c:159630:21: */ var nEphExpr int32 = (*ExprList)(unsafe.Pointer((*Select)(unsafe.Pointer((*SrcItem)(unsafe.Pointer((*Select)(unsafe.Pointer(pSelect)).FpSrc + 8)).FpSelect)).FpEList)).FnExpr var pMWin uintptr = (*Select)(unsafe.Pointer(pSelect)).FpWin var pWin uintptr @@ -138353,7 +138384,7 @@ func Xsqlite3WindowCodeInit(tls *libc.TLS, pParse uintptr, pSelect uintptr) { /* // evaluated and the result left in register reg. This function generates VM // code to check that the value is a non-negative integer and throws an // exception if it is not. -func windowCheckValue(tls *libc.TLS, pParse uintptr, reg int32, eCond int32) { /* sqlite3.c:159660:13: */ +func windowCheckValue(tls *libc.TLS, pParse uintptr, reg int32, eCond int32) { /* sqlite3.c:159717:13: */ var v uintptr = Xsqlite3GetVdbe(tls, pParse) var regZero int32 = Xsqlite3GetTempReg(tls, pParse) @@ -138387,12 +138418,12 @@ var azErr = [5]uintptr{ ts + 21883, ts + 22530, ts + 22582, -} /* sqlite3.c:159661:21 */ -var aOp1 = [5]int32{OP_Ge, OP_Ge, OP_Gt, OP_Ge, OP_Ge} /* sqlite3.c:159668:14 */ +} /* sqlite3.c:159718:21 */ +var aOp1 = [5]int32{OP_Ge, OP_Ge, OP_Gt, OP_Ge, OP_Ge} /* sqlite3.c:159725:14 */ // Return the number of arguments passed to the window-function associated // with the object passed as the only argument to this function. -func windowArgCount(tls *libc.TLS, pWin uintptr) int32 { /* sqlite3.c:159707:12: */ +func windowArgCount(tls *libc.TLS, pWin uintptr) int32 { /* sqlite3.c:159764:12: */ var pList uintptr pList = *(*uintptr)(unsafe.Pointer((*Window)(unsafe.Pointer(pWin)).FpOwner + 32)) @@ -138417,19 +138448,19 @@ type WindowCodeArg1 = struct { Fcurrent WindowCsrAndReg Fend WindowCsrAndReg F__ccgo_pad1 [4]byte -} /* sqlite3.c:159714:9 */ +} /* sqlite3.c:159771:9 */ -type WindowCodeArg = WindowCodeArg1 /* sqlite3.c:159714:30 */ +type WindowCodeArg = WindowCodeArg1 /* sqlite3.c:159771:30 */ type WindowCsrAndReg1 = struct { Fcsr int32 Freg int32 -} /* sqlite3.c:159714:9 */ +} /* sqlite3.c:159771:9 */ -type WindowCsrAndReg = WindowCsrAndReg1 /* sqlite3.c:159715:32 */ +type WindowCsrAndReg = WindowCsrAndReg1 /* sqlite3.c:159772:32 */ // Generate VM code to read the window frames peer values from cursor csr into // an array of registers starting at reg. -func windowReadPeerValues(tls *libc.TLS, p uintptr, csr int32, reg int32) { /* sqlite3.c:159799:13: */ +func windowReadPeerValues(tls *libc.TLS, p uintptr, csr int32, reg int32) { /* sqlite3.c:159856:13: */ var pMWin uintptr = (*WindowCodeArg)(unsafe.Pointer(p)).FpMWin var pOrderBy uintptr = (*Window)(unsafe.Pointer(pMWin)).FpOrderBy if pOrderBy != 0 { @@ -138465,7 +138496,7 @@ func windowReadPeerValues(tls *libc.TLS, p uintptr, csr int32, reg int32) { /* s // // If argument regPartSize is non-zero, then it is a register containing the // number of rows in the current partition. -func windowAggStep(tls *libc.TLS, p uintptr, pMWin uintptr, csr int32, bInverse int32, reg int32) { /* sqlite3.c:159836:13: */ +func windowAggStep(tls *libc.TLS, p uintptr, pMWin uintptr, csr int32, bInverse int32, reg int32) { /* sqlite3.c:159893:13: */ var pParse uintptr = (*WindowCodeArg)(unsafe.Pointer(p)).FpParse var v uintptr = Xsqlite3GetVdbe(tls, pParse) var pWin uintptr @@ -138572,7 +138603,7 @@ func windowAggStep(tls *libc.TLS, p uintptr, pMWin uintptr, csr int32, bInverse // (bFin==1) for each window function in the linked list starting at // pMWin. Or, for built-in window-functions that do not use the standard // API, generate the equivalent VM code. -func windowAggFinal(tls *libc.TLS, p uintptr, bFin int32) { /* sqlite3.c:159953:13: */ +func windowAggFinal(tls *libc.TLS, p uintptr, bFin int32) { /* sqlite3.c:160010:13: */ var pParse uintptr = (*WindowCodeArg)(unsafe.Pointer(p)).FpParse var pMWin uintptr = (*WindowCodeArg)(unsafe.Pointer(p)).FpMWin var v uintptr = Xsqlite3GetVdbe(tls, pParse) @@ -138608,7 +138639,7 @@ func windowAggFinal(tls *libc.TLS, p uintptr, bFin int32) { /* sqlite3.c:159953: // p->pMWin list by doing a full scan of the current window frame. Store the // results in the Window.regResult registers, ready to return the upper // layer. -func windowFullScan(tls *libc.TLS, p uintptr) { /* sqlite3.c:159992:13: */ +func windowFullScan(tls *libc.TLS, p uintptr) { /* sqlite3.c:160049:13: */ var pWin uintptr var pParse uintptr = (*WindowCodeArg)(unsafe.Pointer(p)).FpParse var pMWin uintptr = (*WindowCodeArg)(unsafe.Pointer(p)).FpMWin @@ -138715,7 +138746,7 @@ func windowFullScan(tls *libc.TLS, p uintptr) { /* sqlite3.c:159992:13: */ // first_value() // lag() // lead() -func windowReturnOneRow(tls *libc.TLS, p uintptr) { /* sqlite3.c:160098:13: */ +func windowReturnOneRow(tls *libc.TLS, p uintptr) { /* sqlite3.c:160155:13: */ var pMWin uintptr = (*WindowCodeArg)(unsafe.Pointer(p)).FpMWin var v uintptr = (*WindowCodeArg)(unsafe.Pointer(p)).FpVdbe @@ -138798,7 +138829,7 @@ func windowReturnOneRow(tls *libc.TLS, p uintptr) { /* sqlite3.c:160098:13: */ // in the linked list passed as the second argument to NULL. And perform // any equivalent initialization required by any built-in window functions // in the list. -func windowInitAccum(tls *libc.TLS, pParse uintptr, pMWin uintptr) int32 { /* sqlite3.c:160175:12: */ +func windowInitAccum(tls *libc.TLS, pParse uintptr, pMWin uintptr) int32 { /* sqlite3.c:160232:12: */ var v uintptr = Xsqlite3GetVdbe(tls, pParse) var regArg int32 var nArg int32 = 0 @@ -138833,7 +138864,7 @@ func windowInitAccum(tls *libc.TLS, pParse uintptr, pMWin uintptr) int32 { /* sq // Return true if the current frame should be cached in the ephemeral table, // even if there are no xInverse() calls required. -func windowCacheFrame(tls *libc.TLS, pMWin uintptr) int32 { /* sqlite3.c:160207:12: */ +func windowCacheFrame(tls *libc.TLS, pMWin uintptr) int32 { /* sqlite3.c:160264:12: */ var pWin uintptr if (*Window)(unsafe.Pointer(pMWin)).FregStartRowid != 0 { return 1 @@ -138858,7 +138889,7 @@ func windowCacheFrame(tls *libc.TLS, pMWin uintptr) int32 { /* sqlite3.c:160207: // If the two arrays are not equal, the contents of regNew is copied to // regOld and control falls through. Otherwise, if the contents of the arrays // are equal, an OP_Goto is executed. The address of the OP_Goto is returned. -func windowIfNewPeer(tls *libc.TLS, pParse uintptr, pOrderBy uintptr, regNew int32, regOld int32, addr int32) { /* sqlite3.c:160233:13: */ +func windowIfNewPeer(tls *libc.TLS, pParse uintptr, pOrderBy uintptr, regNew int32, regOld int32, addr int32) { /* sqlite3.c:160290:13: */ var v uintptr = Xsqlite3GetVdbe(tls, pParse) if pOrderBy != 0 { var nVal int32 = (*ExprList)(unsafe.Pointer(pOrderBy)).FnExpr @@ -138895,7 +138926,7 @@ func windowIfNewPeer(tls *libc.TLS, pParse uintptr, pOrderBy uintptr, regNew int // A special type of arithmetic is used such that if csr1.peerVal is not // a numeric type (real or integer), then the result of the addition // or subtraction is a a copy of csr1.peerVal. -func windowCodeRangeTest(tls *libc.TLS, p uintptr, op int32, csr1 int32, regVal int32, csr2 int32, lbl int32) { /* sqlite3.c:160279:13: */ +func windowCodeRangeTest(tls *libc.TLS, p uintptr, op int32, csr1 int32, regVal int32, csr2 int32, lbl int32) { /* sqlite3.c:160336:13: */ var pParse uintptr = (*WindowCodeArg)(unsafe.Pointer(p)).FpParse var v uintptr = Xsqlite3GetVdbe(tls, pParse) var pOrderBy uintptr = (*Window)(unsafe.Pointer((*WindowCodeArg)(unsafe.Pointer(p)).FpMWin)).FpOrderBy // ORDER BY clause for window @@ -139018,7 +139049,7 @@ func windowCodeRangeTest(tls *libc.TLS, p uintptr, op int32, csr1 int32, regVal // generates VM code for a single RETURN_ROW, AGGSTEP or AGGINVERSE // operation. Refer to the header comment for sqlite3WindowCodeStep() for // details. -func windowCodeOp(tls *libc.TLS, p uintptr, op int32, regCountdown int32, jumpOnEof int32) int32 { /* sqlite3.c:160412:12: */ +func windowCodeOp(tls *libc.TLS, p uintptr, op int32, regCountdown int32, jumpOnEof int32) int32 { /* sqlite3.c:160469:12: */ var csr int32 var reg int32 var pParse uintptr = (*WindowCodeArg)(unsafe.Pointer(p)).FpParse @@ -139166,7 +139197,7 @@ func windowCodeOp(tls *libc.TLS, p uintptr, op int32, regCountdown int32, jumpOn // Allocate and return a duplicate of the Window object indicated by the // third argument. Set the Window.pOwner field of the new object to // pOwner. -func Xsqlite3WindowDup(tls *libc.TLS, db uintptr, pOwner uintptr, p uintptr) uintptr { /* sqlite3.c:160561:23: */ +func Xsqlite3WindowDup(tls *libc.TLS, db uintptr, pOwner uintptr, p uintptr) uintptr { /* sqlite3.c:160618:23: */ var pNew uintptr = uintptr(0) if p != 0 { pNew = Xsqlite3DbMallocZero(tls, db, uint64(unsafe.Sizeof(Window{}))) @@ -139197,7 +139228,7 @@ func Xsqlite3WindowDup(tls *libc.TLS, db uintptr, pOwner uintptr, p uintptr) uin // Return a copy of the linked list of Window objects passed as the // second argument. -func Xsqlite3WindowListDup(tls *libc.TLS, db uintptr, p uintptr) uintptr { /* sqlite3.c:160594:23: */ +func Xsqlite3WindowListDup(tls *libc.TLS, db uintptr, p uintptr) uintptr { /* sqlite3.c:160651:23: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -139222,7 +139253,7 @@ func Xsqlite3WindowListDup(tls *libc.TLS, db uintptr, p uintptr) uintptr { /* sq // // If an OOM error occurs, this function sets the Parse.db.mallocFailed // flag and returns zero. -func windowExprGtZero(tls *libc.TLS, pParse uintptr, pExpr uintptr) int32 { /* sqlite3.c:160616:12: */ +func windowExprGtZero(tls *libc.TLS, pParse uintptr, pExpr uintptr) int32 { /* sqlite3.c:160673:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -139570,7 +139601,7 @@ func windowExprGtZero(tls *libc.TLS, pParse uintptr, pExpr uintptr) int32 { /* s // // The text above leaves out many details. Refer to the code and comments // below for a more complete picture. -func Xsqlite3WindowCodeStep(tls *libc.TLS, pParse uintptr, p uintptr, pWInfo uintptr, regGosub int32, addrGosub int32) { /* sqlite3.c:160963:21: */ +func Xsqlite3WindowCodeStep(tls *libc.TLS, pParse uintptr, p uintptr, pWInfo uintptr, regGosub int32, addrGosub int32) { /* sqlite3.c:161020:21: */ bp := tls.Alloc(72) defer tls.Free(72) @@ -139967,17 +139998,17 @@ type TrigEvent = struct { Fa int32 F__ccgo_pad1 [4]byte Fb uintptr -} /* sqlite3.c:161363:1 */ +} /* sqlite3.c:161420:1 */ type FrameBound = struct { FeType int32 F__ccgo_pad1 [4]byte FpExpr uintptr -} /* sqlite3.c:161365:1 */ +} /* sqlite3.c:161422:1 */ // Disable lookaside memory allocation for objects that might be // shared across database connections. -func disableLookaside(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:161371:13: */ +func disableLookaside(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:161428:13: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb (*Parse)(unsafe.Pointer(pParse)).FdisableLookaside++ (*Sqlite3)(unsafe.Pointer(db)).Flookaside.FbDisable++ @@ -139987,7 +140018,7 @@ func disableLookaside(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:161371:13: * // For a compound SELECT statement, make sure p->pPrior->pNext==p for // all elements in the list. And make sure list length does not exceed // SQLITE_LIMIT_COMPOUND_SELECT. -func parserDoubleLinkSelect(tls *libc.TLS, pParse uintptr, p uintptr) { /* sqlite3.c:161404:15: */ +func parserDoubleLinkSelect(tls *libc.TLS, pParse uintptr, p uintptr) { /* sqlite3.c:161461:15: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -140026,7 +140057,7 @@ func parserDoubleLinkSelect(tls *libc.TLS, pParse uintptr, p uintptr) { /* sqlit // Attach a With object describing the WITH clause to a Select // object describing the query for which the WITH clause is a prefix. -func attachWithToSelect(tls *libc.TLS, pParse uintptr, pSelect uintptr, pWith uintptr) uintptr { /* sqlite3.c:161435:17: */ +func attachWithToSelect(tls *libc.TLS, pParse uintptr, pSelect uintptr, pWith uintptr) uintptr { /* sqlite3.c:161492:17: */ if pSelect != 0 { (*Select)(unsafe.Pointer(pSelect)).FpWith = pWith parserDoubleLinkSelect(tls, pParse, pSelect) @@ -140038,7 +140069,7 @@ func attachWithToSelect(tls *libc.TLS, pParse uintptr, pSelect uintptr, pWith ui } // Construct a new Expr object from a single token -func tokenExpr(tls *libc.TLS, pParse uintptr, op int32, t Token) uintptr { /* sqlite3.c:161447:15: */ +func tokenExpr(tls *libc.TLS, pParse uintptr, op int32, t Token) uintptr { /* sqlite3.c:161504:15: */ bp := tls.Alloc(16) defer tls.Free(16) *(*Token)(unsafe.Pointer(bp)) = t @@ -140076,7 +140107,7 @@ func tokenExpr(tls *libc.TLS, pParse uintptr, op int32, t Token) uintptr { /* sq // A routine to convert a binary TK_IS or TK_ISNOT expression into a // unary TK_ISNULL or TK_NOTNULL expression. -func binaryToUnaryIfNull(tls *libc.TLS, pParse uintptr, pY uintptr, pA uintptr, op int32) { /* sqlite3.c:161483:15: */ +func binaryToUnaryIfNull(tls *libc.TLS, pParse uintptr, pY uintptr, pA uintptr, op int32) { /* sqlite3.c:161540:15: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb if pA != 0 && pY != 0 && int32((*Expr)(unsafe.Pointer(pY)).Fop) == TK_NULL && !(int32((*Parse)(unsafe.Pointer(pParse)).FeParseMode) >= PARSE_MODE_RENAME) { (*Expr)(unsafe.Pointer(pA)).Fop = U8(op) @@ -140090,7 +140121,7 @@ func binaryToUnaryIfNull(tls *libc.TLS, pParse uintptr, pY uintptr, pA uintptr, // list of identifiers. Report an error if the ID list contains // a COLLATE clause or an ASC or DESC keyword, except ignore the // error while parsing a legacy schema. -func parserAddExprIdListTerm(tls *libc.TLS, pParse uintptr, pPrior uintptr, pIdToken uintptr, hasCollate int32, sortOrder int32) uintptr { /* sqlite3.c:161497:19: */ +func parserAddExprIdListTerm(tls *libc.TLS, pParse uintptr, pPrior uintptr, pIdToken uintptr, hasCollate int32, sortOrder int32) uintptr { /* sqlite3.c:161554:19: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -140165,7 +140196,7 @@ type YYMINORTYPE = struct { F__ccgo_pad1 [0]uint64 Fyyinit int32 F__ccgo_pad2 [12]byte -} /* sqlite3.c:161789:3 */ +} /* sqlite3.c:161846:3 */ //************ End control #defines ****************************************** // Define the yytestcase() macro to be a no-op if is not already defined @@ -140434,7 +140465,7 @@ var yy_action = [2070]uint16{ /* 2040 */ uint16(29), uint16(921), uint16(390), uint16(1176), uint16(172), uint16(139), uint16(1175), uint16(1235), uint16(261), uint16(1235), /* 2050 */ uint16(1235), uint16(1235), uint16(1235), uint16(1235), uint16(1235), uint16(1235), uint16(1235), uint16(262), uint16(1235), uint16(1235), /* 2060 */ uint16(1235), uint16(1235), uint16(1235), uint16(1235), uint16(1235), uint16(1235), uint16(1235), uint16(1235), uint16(1593), uint16(1592), -} /* sqlite3.c:161883:27 */ +} /* sqlite3.c:161940:27 */ var yy_lookahead = [2255]uint16{ /* 0 */ uint16(193), uint16(223), uint16(193), uint16(225), uint16(193), uint16(193), uint16(193), uint16(274), uint16(275), uint16(276), /* 10 */ uint16(193), uint16(233), uint16(219), uint16(193), uint16(274), uint16(275), uint16(276), uint16(206), uint16(206), uint16(19), @@ -140662,7 +140693,7 @@ var yy_lookahead = [2255]uint16{ /* 2230 */ uint16(319), uint16(319), uint16(319), uint16(319), uint16(319), uint16(319), uint16(319), uint16(319), uint16(319), uint16(319), /* 2240 */ uint16(319), uint16(319), uint16(319), uint16(319), uint16(319), uint16(319), uint16(319), uint16(319), uint16(319), uint16(319), /* 2250 */ uint16(319), uint16(319), uint16(319), uint16(319), uint16(319), -} /* sqlite3.c:162092:25 */ +} /* sqlite3.c:162149:25 */ var yy_shift_ofst = [574]uint16{ /* 0 */ uint16(1648), uint16(1477), uint16(1272), uint16(322), uint16(322), uint16(262), uint16(1319), uint16(1478), uint16(1491), uint16(1662), /* 10 */ uint16(1662), uint16(1662), uint16(317), uint16(0), uint16(0), uint16(214), uint16(1093), uint16(1662), uint16(1662), uint16(1662), @@ -140722,7 +140753,7 @@ var yy_shift_ofst = [574]uint16{ /* 550 */ uint16(2005), uint16(2006), uint16(2007), uint16(2008), uint16(2009), uint16(2001), uint16(2020), uint16(2012), uint16(2013), uint16(2014), /* 560 */ uint16(2015), uint16(2017), uint16(2018), uint16(2011), uint16(1906), uint16(1907), uint16(1916), uint16(1927), uint16(1928), uint16(2019), /* 570 */ uint16(2022), uint16(2027), uint16(2042), uint16(2045), -} /* sqlite3.c:162323:33 */ +} /* sqlite3.c:162380:33 */ var yy_reduce_ofst = [409]int16{ /* 0 */ int16(-125), int16(733), int16(789), int16(241), int16(293), int16(-123), int16(-193), int16(-191), int16(-183), int16(-187), /* 10 */ int16(-180), int16(83), int16(133), int16(-207), int16(-198), int16(-267), int16(-175), int16(-6), int16(166), int16(313), @@ -140765,7 +140796,7 @@ var yy_reduce_ofst = [409]int16{ /* 380 */ int16(1641), int16(1602), int16(1676), int16(1642), int16(1646), int16(1644), int16(1650), int16(1654), int16(1683), int16(1694), /* 390 */ int16(1707), int16(1711), int16(1712), int16(1714), int16(1643), int16(1647), int16(1652), int16(1698), int16(1695), int16(1696), /* 400 */ int16(1697), int16(1699), int16(1700), int16(1689), int16(1691), int16(1701), int16(1702), int16(1704), int16(1715), -} /* sqlite3.c:162386:20 */ +} /* sqlite3.c:162443:20 */ var yy_default = [574]uint16{ /* 0 */ uint16(1637), uint16(1637), uint16(1637), uint16(1466), uint16(1233), uint16(1344), uint16(1233), uint16(1233), uint16(1233), uint16(1466), /* 10 */ uint16(1466), uint16(1466), uint16(1233), uint16(1374), uint16(1374), uint16(1519), uint16(1266), uint16(1233), uint16(1233), uint16(1233), @@ -140825,7 +140856,7 @@ var yy_default = [574]uint16{ /* 550 */ uint16(1233), uint16(1233), uint16(1233), uint16(1233), uint16(1233), uint16(1233), uint16(1233), uint16(1233), uint16(1233), uint16(1233), /* 560 */ uint16(1233), uint16(1233), uint16(1233), uint16(1610), uint16(1325), uint16(1416), uint16(1233), uint16(1415), uint16(1419), uint16(1255), /* 570 */ uint16(1233), uint16(1245), uint16(1233), uint16(1233), -} /* sqlite3.c:162429:27 */ +} /* sqlite3.c:162486:27 */ //********* End of lemon-generated parsing tables **************************** // The next table maps tokens (terminal symbols) into fallback tokens. @@ -141027,7 +141058,7 @@ var yyFallback = [185]uint16{ uint16(0), // ERROR => nothing uint16(0), // SPACE => nothing uint16(0), // ILLEGAL => nothing -} /* sqlite3.c:162506:25 */ +} /* sqlite3.c:162563:25 */ // The following structure represents a single element of the // parser's stack. Information stored includes: @@ -141049,9 +141080,9 @@ type yyStackEntry = struct { Fmajor uint16 F__ccgo_pad1 [4]byte Fminor YYMINORTYPE -} /* sqlite3.c:162711:1 */ +} /* sqlite3.c:162768:1 */ -type YyStackEntry = yyStackEntry /* sqlite3.c:162718:29 */ +type YyStackEntry = yyStackEntry /* sqlite3.c:162775:29 */ // The state of the parser is completely contained in an instance of // the following structure @@ -141060,9 +141091,9 @@ type yyParser = struct { FpParse uintptr Fyystack [100]YyStackEntry FyystackEnd uintptr -} /* sqlite3.c:162722:1 */ +} /* sqlite3.c:162779:1 */ -type YyParser = yyParser /* sqlite3.c:162741:25 */ +type YyParser = yyParser /* sqlite3.c:162798:25 */ // #include @@ -141072,7 +141103,7 @@ type YyParser = yyParser /* sqlite3.c:162741:25 */ // grammar. // Initialize a new parser that has already been allocated. -func Xsqlite3ParserInit(tls *libc.TLS, yypRawParser uintptr, pParse uintptr) { /* sqlite3.c:163556:21: */ +func Xsqlite3ParserInit(tls *libc.TLS, yypRawParser uintptr, pParse uintptr) { /* sqlite3.c:163613:21: */ var yypParser uintptr = yypRawParser (*YyParser)(unsafe.Pointer(yypParser)).FpParse = pParse (*YyParser)(unsafe.Pointer(yypParser)).Fyytos = yypParser + 16 /* &.yystack */ @@ -141087,7 +141118,7 @@ func Xsqlite3ParserInit(tls *libc.TLS, yypRawParser uintptr, pParse uintptr) { / // a pointer to the value to be deleted. The code used to do the // deletions is derived from the %destructor and/or %token_destructor // directives of the input grammar. -func yy_destructor(tls *libc.TLS, yypParser uintptr, yymajor uint16, yypminor uintptr) { /* sqlite3.c:163614:13: */ +func yy_destructor(tls *libc.TLS, yypParser uintptr, yymajor uint16, yypminor uintptr) { /* sqlite3.c:163671:13: */ var pParse uintptr = (*YyParser)(unsafe.Pointer(yypParser)).FpParse switch int32(yymajor) { @@ -141246,7 +141277,7 @@ func yy_destructor(tls *libc.TLS, yypParser uintptr, yymajor uint16, yypminor ui // // If there is a destructor routine associated with the token which // is popped from the stack, then call it. -func yy_pop_parser_stack(tls *libc.TLS, pParser uintptr) { /* sqlite3.c:163739:13: */ +func yy_pop_parser_stack(tls *libc.TLS, pParser uintptr) { /* sqlite3.c:163796:13: */ var yytos uintptr yytos = libc.PostDecUintptr(&(*YyParser)(unsafe.Pointer(pParser)).Fyytos, 24) @@ -141254,7 +141285,7 @@ func yy_pop_parser_stack(tls *libc.TLS, pParser uintptr) { /* sqlite3.c:163739:1 } // Clear all secondary memory allocations from the parser -func Xsqlite3ParserFinalize(tls *libc.TLS, p uintptr) { /* sqlite3.c:163757:21: */ +func Xsqlite3ParserFinalize(tls *libc.TLS, p uintptr) { /* sqlite3.c:163814:21: */ var pParser uintptr = p for (*YyParser)(unsafe.Pointer(pParser)).Fyytos > pParser+16 { yy_pop_parser_stack(tls, pParser) @@ -141277,7 +141308,7 @@ func Xsqlite3ParserFinalize(tls *libc.TLS, p uintptr) { /* sqlite3.c:163757:21: // Find the appropriate action for a parser given the terminal // look-ahead token iLookAhead. -func yy_find_shift_action(tls *libc.TLS, iLookAhead uint16, stateno uint16) uint16 { /* sqlite3.c:163837:21: */ +func yy_find_shift_action(tls *libc.TLS, iLookAhead uint16, stateno uint16) uint16 { /* sqlite3.c:163894:21: */ var i int32 if int32(stateno) > YY_MAX_SHIFT { @@ -141317,7 +141348,7 @@ func yy_find_shift_action(tls *libc.TLS, iLookAhead uint16, stateno uint16) uint // Find the appropriate action for a parser given the non-terminal // look-ahead token iLookAhead. -func yy_find_reduce_action(tls *libc.TLS, stateno uint16, iLookAhead uint16) uint16 { /* sqlite3.c:163902:21: */ +func yy_find_reduce_action(tls *libc.TLS, stateno uint16, iLookAhead uint16) uint16 { /* sqlite3.c:163959:21: */ var i int32 i = int32(yy_reduce_ofst[stateno]) @@ -141328,7 +141359,7 @@ func yy_find_reduce_action(tls *libc.TLS, stateno uint16, iLookAhead uint16) uin } // The following routine is called if the stack overflows. -func yyStackOverflow(tls *libc.TLS, yypParser uintptr) { /* sqlite3.c:163931:13: */ +func yyStackOverflow(tls *libc.TLS, yypParser uintptr) { /* sqlite3.c:163988:13: */ var pParse uintptr = (*YyParser)(unsafe.Pointer(yypParser)).FpParse for (*YyParser)(unsafe.Pointer(yypParser)).Fyytos > yypParser+16 { @@ -141347,7 +141378,7 @@ func yyStackOverflow(tls *libc.TLS, yypParser uintptr) { /* sqlite3.c:163931:13: // Print tracing information for a SHIFT action // Perform a shift action. -func yy_shift(tls *libc.TLS, yypParser uintptr, yyNewState uint16, yyMajor uint16, yyMinor Token) { /* sqlite3.c:163974:13: */ +func yy_shift(tls *libc.TLS, yypParser uintptr, yyNewState uint16, yyMajor uint16, yyMinor Token) { /* sqlite3.c:164031:13: */ var yytos uintptr (*YyParser)(unsafe.Pointer(yypParser)).Fyytos += 24 if (*YyParser)(unsafe.Pointer(yypParser)).Fyytos > (*YyParser)(unsafe.Pointer(yypParser)).FyystackEnd { @@ -141770,7 +141801,7 @@ var yyRuleInfoLhs = [402]uint16{ uint16(303), // (399) anylist ::= anylist LP anylist RP uint16(303), // (400) anylist ::= anylist ANY uint16(266), // (401) with ::= -} /* sqlite3.c:164015:25 */ +} /* sqlite3.c:164072:25 */ // For rule J, yyRuleInfoNRhs[J] contains the negative of the number // of symbols on the right-hand side of that rule. @@ -142177,7 +142208,7 @@ var yyRuleInfoNRhs = [402]int8{ int8(-4), // (399) anylist ::= anylist LP anylist RP int8(-2), // (400) anylist ::= anylist ANY int8(0), // (401) with ::= -} /* sqlite3.c:164422:26 */ +} /* sqlite3.c:164479:26 */ // Forward Declaration @@ -142189,7 +142220,7 @@ var yyRuleInfoNRhs = [402]int8{ // if the lookahead token has already been consumed. As this procedure is // only called from one place, optimizing compilers will in-line it, which // means that the extra parameters have no performance impact. -func yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead int32, yyLookaheadToken Token, pParse uintptr) uint16 { /* sqlite3.c:164839:21: */ +func yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead int32, yyLookaheadToken Token, pParse uintptr) uint16 { /* sqlite3.c:164896:21: */ bp := tls.Alloc(144) defer tls.Free(144) @@ -144184,7 +144215,7 @@ func yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead in // The following code executes when the parse fails // The following code executes when a syntax error first occurs. -func yy_syntax_error(tls *libc.TLS, yypParser uintptr, yymajor int32, yyminor Token) { /* sqlite3.c:166395:13: */ +func yy_syntax_error(tls *libc.TLS, yypParser uintptr, yymajor int32, yyminor Token) { /* sqlite3.c:166452:13: */ bp := tls.Alloc(24) defer tls.Free(24) *(*Token)(unsafe.Pointer(bp + 8)) = yyminor @@ -144204,7 +144235,7 @@ func yy_syntax_error(tls *libc.TLS, yypParser uintptr, yymajor int32, yyminor To } // The following is executed when the parser accepts -func yy_accept(tls *libc.TLS, yypParser uintptr) { /* sqlite3.c:166419:13: */ +func yy_accept(tls *libc.TLS, yypParser uintptr) { /* sqlite3.c:166476:13: */ var pParse uintptr = (*YyParser)(unsafe.Pointer(yypParser)).FpParse @@ -144234,7 +144265,7 @@ func yy_accept(tls *libc.TLS, yypParser uintptr) { /* sqlite3.c:166419:13: */ // // Outputs: // None. -func Xsqlite3Parser(tls *libc.TLS, yyp uintptr, yymajor int32, yyminor Token) { /* sqlite3.c:166460:21: */ +func Xsqlite3Parser(tls *libc.TLS, yyp uintptr, yymajor int32, yyminor Token) { /* sqlite3.c:166517:21: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -144288,7 +144319,7 @@ func Xsqlite3Parser(tls *libc.TLS, yyp uintptr, yymajor int32, yyminor Token) { // Return the fallback token corresponding to canonical token iToken, or // 0 if iToken has no fallback. -func Xsqlite3ParserFallback(tls *libc.TLS, iToken int32) int32 { /* sqlite3.c:166677:20: */ +func Xsqlite3ParserFallback(tls *libc.TLS, iToken int32) int32 { /* sqlite3.c:166734:20: */ return int32(yyFallback[iToken]) } @@ -144339,7 +144370,7 @@ var aiClass = [256]uint8{ /* Dx */ uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), /* Ex */ uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(30), /* Fx */ uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), -} /* sqlite3.c:166749:28 */ +} /* sqlite3.c:166806:28 */ // The charMap() macro maps alphabetic characters (only) into their // lower-case ASCII equivalent. On ASCII machines, this is just @@ -144425,7 +144456,7 @@ var zKWText = [666]int8{ int8('W'), int8('S'), int8('U'), int8('N'), int8('B'), int8('O'), int8('U'), int8('N'), int8('D'), int8('E'), int8('D'), int8('U'), int8('N'), int8('I'), int8('O'), int8('N'), int8('U'), int8('S'), int8('I'), int8('N'), int8('G'), int8('V'), int8('A'), int8('C'), int8('U'), int8('U'), int8('M'), int8('V'), int8('I'), int8('E'), int8('W'), int8('I'), int8('N'), int8('D'), int8('O'), int8('W'), int8('B'), int8('Y'), int8('I'), int8('N'), int8('I'), int8('T'), int8('I'), int8('A'), int8('L'), int8('L'), int8('Y'), int8('P'), int8('R'), int8('I'), int8('M'), int8('A'), int8('R'), int8('Y'), -} /* sqlite3.c:166865:19 */ +} /* sqlite3.c:166922:19 */ // aKWHash[i] is the hash value for the i-th keyword var aKWHash = [127]uint8{ uint8(84), uint8(92), uint8(134), uint8(82), uint8(105), uint8(29), uint8(0), uint8(0), uint8(94), uint8(0), uint8(85), uint8(72), uint8(0), @@ -144438,7 +144469,7 @@ var aKWHash = [127]uint8{ uint8(50), uint8(124), uint8(0), uint8(100), uint8(0), uint8(18), uint8(121), uint8(144), uint8(56), uint8(130), uint8(139), uint8(88), uint8(83), uint8(37), uint8(30), uint8(126), uint8(0), uint8(0), uint8(108), uint8(51), uint8(131), uint8(128), uint8(0), uint8(34), uint8(0), uint8(0), uint8(132), uint8(0), uint8(98), uint8(38), uint8(39), uint8(0), uint8(20), uint8(45), uint8(117), uint8(93), -} /* sqlite3.c:166905:28 */ +} /* sqlite3.c:166962:28 */ // aKWNext[] forms the hash collision chain. If aKWHash[i]==0 // then the i-th keyword has no more hash collisions. Otherwise, // the next keyword with the same hash is aKWHash[i]-1. @@ -144455,7 +144486,7 @@ var aKWNext = [147]uint8{ uint8(112), uint8(21), uint8(7), uint8(67), uint8(0), uint8(79), uint8(96), uint8(118), uint8(0), uint8(0), uint8(68), uint8(0), uint8(0), uint8(99), uint8(44), uint8(0), uint8(55), uint8(0), uint8(76), uint8(0), uint8(95), uint8(32), uint8(33), uint8(57), uint8(25), uint8(0), uint8(102), uint8(0), uint8(0), uint8(87), -} /* sqlite3.c:166920:28 */ +} /* sqlite3.c:166977:28 */ // aKWLen[i] is the length (in bytes) of the i-th keyword var aKWLen = [147]uint8{ uint8(7), uint8(7), uint8(5), uint8(4), uint8(6), uint8(4), uint8(5), uint8(3), uint8(6), uint8(7), uint8(3), uint8(6), uint8(6), @@ -144470,7 +144501,7 @@ var aKWLen = [147]uint8{ uint8(4), uint8(4), uint8(6), uint8(7), uint8(5), uint8(9), uint8(4), uint8(4), uint8(5), uint8(2), uint8(5), uint8(8), uint8(6), uint8(4), uint8(9), uint8(5), uint8(8), uint8(4), uint8(3), uint8(9), uint8(5), uint8(5), uint8(6), uint8(4), uint8(6), uint8(2), uint8(2), uint8(9), uint8(3), uint8(7), -} /* sqlite3.c:166935:28 */ +} /* sqlite3.c:166992:28 */ // aKWOffset[i] is the index into zKWText[] of the start of // the text for the i-th keyword. var aKWOffset = [147]uint16{ @@ -144486,7 +144517,7 @@ var aKWOffset = [147]uint16{ uint16(520), uint16(523), uint16(527), uint16(532), uint16(539), uint16(544), uint16(553), uint16(557), uint16(560), uint16(565), uint16(567), uint16(571), uint16(579), uint16(585), uint16(588), uint16(597), uint16(602), uint16(610), uint16(610), uint16(614), uint16(623), uint16(628), uint16(633), uint16(639), uint16(642), uint16(645), uint16(648), uint16(650), uint16(655), uint16(659), -} /* sqlite3.c:166951:33 */ +} /* sqlite3.c:167008:33 */ // aKWCode[i] is the parser symbol code for the i-th keyword var aKWCode = [147]uint8{ uint8(TK_REINDEX), uint8(TK_INDEXED), uint8(TK_INDEX), uint8(TK_DESC), uint8(TK_ESCAPE), @@ -144519,7 +144550,7 @@ var aKWCode = [147]uint8{ uint8(TK_ROW), uint8(TK_UNBOUNDED), uint8(TK_UNION), uint8(TK_USING), uint8(TK_VACUUM), uint8(TK_VIEW), uint8(TK_WINDOW), uint8(TK_DO), uint8(TK_BY), uint8(TK_INITIALLY), uint8(TK_ALL), uint8(TK_PRIMARY), -} /* sqlite3.c:166966:28 */ +} /* sqlite3.c:167023:28 */ // Hash table decoded: // 0: INSERT @@ -144652,7 +144683,7 @@ var aKWCode = [147]uint8{ // Check to see if z[0..n-1] is a keyword. If it is, write the // parser symbol code for that keyword into *pType. Always // return the integer n (the length of the token). -func keywordCode(tls *libc.TLS, z uintptr, n int32, pType uintptr) int32 { /* sqlite3.c:167130:12: */ +func keywordCode(tls *libc.TLS, z uintptr, n int32, pType uintptr) int32 { /* sqlite3.c:167187:12: */ var i int32 var j int32 var zKW uintptr @@ -144830,7 +144861,7 @@ func keywordCode(tls *libc.TLS, z uintptr, n int32, pType uintptr) int32 { /* sq return n } -func Xsqlite3KeywordCode(tls *libc.TLS, z uintptr, n int32) int32 { /* sqlite3.c:167304:20: */ +func Xsqlite3KeywordCode(tls *libc.TLS, z uintptr, n int32) int32 { /* sqlite3.c:167361:20: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -144839,7 +144870,7 @@ func Xsqlite3KeywordCode(tls *libc.TLS, z uintptr, n int32) int32 { /* sqlite3.c return *(*int32)(unsafe.Pointer(bp /* id */)) } -func Xsqlite3_keyword_name(tls *libc.TLS, i int32, pzName uintptr, pnName uintptr) int32 { /* sqlite3.c:167310:16: */ +func Xsqlite3_keyword_name(tls *libc.TLS, i int32, pzName uintptr, pnName uintptr) int32 { /* sqlite3.c:167367:16: */ if i < 0 || i >= SQLITE_N_KEYWORD { return SQLITE_ERROR } @@ -144848,11 +144879,11 @@ func Xsqlite3_keyword_name(tls *libc.TLS, i int32, pzName uintptr, pnName uintpt return SQLITE_OK } -func Xsqlite3_keyword_count(tls *libc.TLS) int32 { /* sqlite3.c:167316:16: */ +func Xsqlite3_keyword_count(tls *libc.TLS) int32 { /* sqlite3.c:167373:16: */ return SQLITE_N_KEYWORD } -func Xsqlite3_keyword_check(tls *libc.TLS, zName uintptr, nName int32) int32 { /* sqlite3.c:167317:16: */ +func Xsqlite3_keyword_check(tls *libc.TLS, zName uintptr, nName int32) int32 { /* sqlite3.c:167374:16: */ return libc.Bool32(TK_ID != Xsqlite3KeywordCode(tls, zName, nName)) } @@ -144875,13 +144906,13 @@ func Xsqlite3_keyword_check(tls *libc.TLS, zName uintptr, nName int32) int32 { / // But the feature is undocumented. // Make the IdChar function accessible from ctime.c and alter.c -func Xsqlite3IsIdChar(tls *libc.TLS, c U8) int32 { /* sqlite3.c:167364:20: */ +func Xsqlite3IsIdChar(tls *libc.TLS, c U8) int32 { /* sqlite3.c:167421:20: */ return libc.Bool32(int32(Xsqlite3CtypeMap[c])&0x46 != 0) } // Return the id of the next token in string (*pz). Before returning, set // (*pz) to point to the byte following the parsed token. -func getToken(tls *libc.TLS, pz uintptr) int32 { /* sqlite3.c:167371:12: */ +func getToken(tls *libc.TLS, pz uintptr) int32 { /* sqlite3.c:167428:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -144931,7 +144962,7 @@ func getToken(tls *libc.TLS, pz uintptr) int32 { /* sqlite3.c:167371:12: */ // // * the previous token was TK_RP, and // * the next token is TK_LP. -func analyzeWindowKeyword(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:167420:12: */ +func analyzeWindowKeyword(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:167477:12: */ bp := tls.Alloc(8) defer tls.Free(8) *(*uintptr)(unsafe.Pointer(bp)) = z @@ -144948,7 +144979,7 @@ func analyzeWindowKeyword(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:167420: return TK_WINDOW } -func analyzeOverKeyword(tls *libc.TLS, z uintptr, lastToken int32) int32 { /* sqlite3.c:167428:12: */ +func analyzeOverKeyword(tls *libc.TLS, z uintptr, lastToken int32) int32 { /* sqlite3.c:167485:12: */ bp := tls.Alloc(8) defer tls.Free(8) *(*uintptr)(unsafe.Pointer(bp)) = z @@ -144962,7 +144993,7 @@ func analyzeOverKeyword(tls *libc.TLS, z uintptr, lastToken int32) int32 { /* sq return TK_ID } -func analyzeFilterKeyword(tls *libc.TLS, z uintptr, lastToken int32) int32 { /* sqlite3.c:167435:12: */ +func analyzeFilterKeyword(tls *libc.TLS, z uintptr, lastToken int32) int32 { /* sqlite3.c:167492:12: */ bp := tls.Alloc(8) defer tls.Free(8) *(*uintptr)(unsafe.Pointer(bp)) = z @@ -144975,7 +145006,7 @@ func analyzeFilterKeyword(tls *libc.TLS, z uintptr, lastToken int32) int32 { /* // Return the length (in bytes) of the token that begins at z[0]. // Store the token type in *tokenType before returning. -func Xsqlite3GetToken(tls *libc.TLS, z uintptr, tokenType uintptr) int32 { /* sqlite3.c:167447:20: */ +func Xsqlite3GetToken(tls *libc.TLS, z uintptr, tokenType uintptr) int32 { /* sqlite3.c:167504:20: */ var i int32 var c int32 switch int32(aiClass[*(*uint8)(unsafe.Pointer(z))]) { // Switch on the character-class of the first byte @@ -145343,7 +145374,7 @@ func Xsqlite3GetToken(tls *libc.TLS, z uintptr, tokenType uintptr) int32 { /* sq } // Run the parser on the given SQL string. -func Xsqlite3RunParser(tls *libc.TLS, pParse uintptr, zSql uintptr) int32 { /* sqlite3.c:167741:20: */ +func Xsqlite3RunParser(tls *libc.TLS, pParse uintptr, zSql uintptr) int32 { /* sqlite3.c:167798:20: */ bp := tls.Alloc(2480) defer tls.Free(2480) @@ -145533,7 +145564,7 @@ func Xsqlite3RunParser(tls *libc.TLS, pParse uintptr, zSql uintptr) int32 { /* s // If we compile with SQLITE_OMIT_TRIGGER, all of the computation needed // to recognize the end of a trigger can be omitted. All we have to do // is look for a semicolon that is not part of an string or comment. -func Xsqlite3_complete(tls *libc.TLS, zSql uintptr) int32 { /* sqlite3.c:168133:16: */ +func Xsqlite3_complete(tls *libc.TLS, zSql uintptr) int32 { /* sqlite3.c:168190:16: */ var state U8 = U8(0) // Current state, using numbers defined in header comment var token U8 @@ -145710,12 +145741,12 @@ var trans = [8][8]U8{ /* 5 TRIGGER: */ {U8(6), U8(5), U8(5), U8(5), U8(5), U8(5), U8(5), U8(5)}, /* 6 SEMI: */ {U8(6), U8(6), U8(5), U8(5), U8(5), U8(5), U8(5), U8(7)}, /* 7 END: */ {U8(1), U8(7), U8(5), U8(5), U8(5), U8(5), U8(5), U8(5)}, -} /* sqlite3.c:168141:19 */ +} /* sqlite3.c:168198:19 */ // This routine is the same as the sqlite3_complete() routine described // above, except that the parameter is required to be UTF-16 encoded, not // UTF-8. -func Xsqlite3_complete16(tls *libc.TLS, zSql uintptr) int32 { /* sqlite3.c:168298:16: */ +func Xsqlite3_complete16(tls *libc.TLS, zSql uintptr) int32 { /* sqlite3.c:168355:16: */ var pVal uintptr var zSql8 uintptr var rc int32 @@ -145742,7 +145773,7 @@ func Xsqlite3_complete16(tls *libc.TLS, zSql uintptr) int32 { /* sqlite3.c:16829 // This is an extension initializer that is a no-op and always // succeeds, except that it fails if the fault-simulation is set // to 500. -func sqlite3TestExtInit(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:168450:12: */ +func sqlite3TestExtInit(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:168507:12: */ _ = db return Xsqlite3FaultSim(tls, 500) } @@ -145754,11 +145785,11 @@ var sqlite3BuiltinExtensions = [4]uintptr{ 0, 0, 0, -} /* sqlite3.c:168477:12 */ +} /* sqlite3.c:168534:12 */ // IMPLEMENTATION-OF: R-53536-42575 The sqlite3_libversion() function returns // a pointer to the to the sqlite3_version[] string constant. -func Xsqlite3_libversion(tls *libc.TLS) uintptr { /* sqlite3.c:168524:23: */ +func Xsqlite3_libversion(tls *libc.TLS) uintptr { /* sqlite3.c:168581:23: */ return uintptr(unsafe.Pointer(&Xsqlite3_version)) } @@ -145771,14 +145802,14 @@ func Xsqlite3_libversion(tls *libc.TLS) uintptr { /* sqlite3.c:168524:23: */ // IMPLEMENTATION-OF: R-35210-63508 The sqlite3_libversion_number() function // returns an integer equal to SQLITE_VERSION_NUMBER. -func Xsqlite3_libversion_number(tls *libc.TLS) int32 { /* sqlite3.c:168537:16: */ +func Xsqlite3_libversion_number(tls *libc.TLS) int32 { /* sqlite3.c:168594:16: */ return SQLITE_VERSION_NUMBER } // IMPLEMENTATION-OF: R-20790-14025 The sqlite3_threadsafe() function returns // zero if and only if SQLite was compiled with mutexing code omitted due to // the SQLITE_THREADSAFE compile-time option being set to 0. -func Xsqlite3_threadsafe(tls *libc.TLS) int32 { /* sqlite3.c:168543:16: */ +func Xsqlite3_threadsafe(tls *libc.TLS) int32 { /* sqlite3.c:168600:16: */ return SQLITE_THREADSAFE } @@ -145791,14 +145822,14 @@ func Xsqlite3_threadsafe(tls *libc.TLS) int32 { /* sqlite3.c:168543:16: */ // temporary files. // // See also the "PRAGMA temp_store_directory" SQL command. -var Xsqlite3_temp_directory uintptr = uintptr(0) /* sqlite3.c:168574:17 */ +var Xsqlite3_temp_directory uintptr = uintptr(0) /* sqlite3.c:168631:17 */ // If the following global variable points to a string which is the // name of a directory, then that directory will be used to store // all database files specified with a relative pathname. // // See also the "PRAGMA data_store_directory" SQL command. -var Xsqlite3_data_directory uintptr = uintptr(0) /* sqlite3.c:168583:17 */ +var Xsqlite3_data_directory uintptr = uintptr(0) /* sqlite3.c:168640:17 */ // Initialize SQLite. // @@ -145829,7 +145860,7 @@ var Xsqlite3_data_directory uintptr = uintptr(0) /* sqlite3.c:168583:17 */ // // * Recursive calls to this routine from thread X return immediately // without blocking. -func Xsqlite3_initialize(tls *libc.TLS) int32 { /* sqlite3.c:168616:16: */ +func Xsqlite3_initialize(tls *libc.TLS) int32 { /* sqlite3.c:168673:16: */ var pMainMtx uintptr // The main static mutex var rc int32 // Result code @@ -145955,7 +145986,7 @@ func Xsqlite3_initialize(tls *libc.TLS) int32 { /* sqlite3.c:168616:16: */ // routine is not threadsafe. But it is safe to invoke this routine // on when SQLite is already shut down. If SQLite is already shut down // when this routine is invoked, then this routine is a harmless no-op. -func Xsqlite3_shutdown(tls *libc.TLS) int32 { /* sqlite3.c:168791:16: */ +func Xsqlite3_shutdown(tls *libc.TLS) int32 { /* sqlite3.c:168848:16: */ if Xsqlite3Config.FisInit != 0 { Xsqlite3_os_end(tls) @@ -145994,7 +146025,7 @@ func Xsqlite3_shutdown(tls *libc.TLS) int32 { /* sqlite3.c:168791:16: */ // database connections or memory allocations. This routine is not // threadsafe. Failure to heed these warnings can lead to unpredictable // behavior. -func Xsqlite3_config(tls *libc.TLS, op int32, va uintptr) int32 { /* sqlite3.c:168845:16: */ +func Xsqlite3_config(tls *libc.TLS, op int32, va uintptr) int32 { /* sqlite3.c:168902:16: */ var ap Va_list _ = ap var rc int32 = SQLITE_OK @@ -146002,7 +146033,7 @@ func Xsqlite3_config(tls *libc.TLS, op int32, va uintptr) int32 { /* sqlite3.c:1 // sqlite3_config() shall return SQLITE_MISUSE if it is invoked while // the SQLite library is in use. if Xsqlite3Config.FisInit != 0 { - return Xsqlite3MisuseError(tls, 168851) + return Xsqlite3MisuseError(tls, 168908) } ap = va @@ -146272,7 +146303,7 @@ func Xsqlite3_config(tls *libc.TLS, op int32, va uintptr) int32 { /* sqlite3.c:1 // space for the lookaside memory is obtained from sqlite3_malloc(). // If pStart is not NULL then it is sz*cnt bytes of memory to use for // the lookaside memory. -func setupLookaside(tls *libc.TLS, db uintptr, pBuf uintptr, sz int32, cnt int32) int32 { /* sqlite3.c:169163:12: */ +func setupLookaside(tls *libc.TLS, db uintptr, pBuf uintptr, sz int32, cnt int32) int32 { /* sqlite3.c:169220:12: */ var pStart uintptr var szAlloc Sqlite3_int64 = Sqlite3_int64(sz) * Sqlite3_int64(cnt) var nBig int32 // Number of full-size slots @@ -146370,13 +146401,13 @@ func setupLookaside(tls *libc.TLS, db uintptr, pBuf uintptr, sz int32, cnt int32 } // Return the mutex associated with a database connection. -func Xsqlite3_db_mutex(tls *libc.TLS, db uintptr) uintptr { /* sqlite3.c:169263:26: */ +func Xsqlite3_db_mutex(tls *libc.TLS, db uintptr) uintptr { /* sqlite3.c:169320:26: */ return (*Sqlite3)(unsafe.Pointer(db)).Fmutex } // Free up as much memory as we can from the given database // connection. -func Xsqlite3_db_release_memory(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:169277:16: */ +func Xsqlite3_db_release_memory(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:169334:16: */ var i int32 Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) @@ -146395,7 +146426,7 @@ func Xsqlite3_db_release_memory(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c: // Flush any dirty pages in the pager-cache for any attached database // to disk. -func Xsqlite3_db_cacheflush(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:169301:16: */ +func Xsqlite3_db_cacheflush(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:169358:16: */ var i int32 var rc int32 = SQLITE_OK var bSeenBusy int32 = 0 @@ -146424,7 +146455,7 @@ func Xsqlite3_db_cacheflush(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:1693 } // Configuration settings for an individual database connection -func Xsqlite3_db_config(tls *libc.TLS, db uintptr, op int32, va uintptr) int32 { /* sqlite3.c:169330:16: */ +func Xsqlite3_db_config(tls *libc.TLS, db uintptr, op int32, va uintptr) int32 { /* sqlite3.c:169387:16: */ var ap Va_list _ = ap var rc int32 @@ -146503,11 +146534,11 @@ var aFlagOp = [16]struct { {Fop: SQLITE_DBCONFIG_DQS_DML, Fmask: U32(SQLITE_DqsDML)}, {Fop: SQLITE_DBCONFIG_LEGACY_FILE_FORMAT, Fmask: U32(SQLITE_LegacyFileFmt)}, {Fop: SQLITE_DBCONFIG_TRUSTED_SCHEMA, Fmask: U32(SQLITE_TrustedSchema)}, -} /* sqlite3.c:169353:9 */ +} /* sqlite3.c:169410:9 */ // This is the default collating function named "BINARY" which is always // available. -func binCollFunc(tls *libc.TLS, NotUsed uintptr, nKey1 int32, pKey1 uintptr, nKey2 int32, pKey2 uintptr) int32 { /* sqlite3.c:169405:12: */ +func binCollFunc(tls *libc.TLS, NotUsed uintptr, nKey1 int32, pKey1 uintptr, nKey2 int32, pKey2 uintptr) int32 { /* sqlite3.c:169462:12: */ var rc int32 var n int32 _ = NotUsed @@ -146529,7 +146560,7 @@ func binCollFunc(tls *libc.TLS, NotUsed uintptr, nKey1 int32, pKey1 uintptr, nKe // This is the collating function named "RTRIM" which is always // available. Ignore trailing spaces. -func rtrimCollFunc(tls *libc.TLS, pUser uintptr, nKey1 int32, pKey1 uintptr, nKey2 int32, pKey2 uintptr) int32 { /* sqlite3.c:169428:12: */ +func rtrimCollFunc(tls *libc.TLS, pUser uintptr, nKey1 int32, pKey1 uintptr, nKey2 int32, pKey2 uintptr) int32 { /* sqlite3.c:169485:12: */ var pK1 uintptr = pKey1 var pK2 uintptr = pKey2 for nKey1 != 0 && int32(*(*U8)(unsafe.Pointer(pK1 + uintptr(nKey1-1)))) == ' ' { @@ -146542,7 +146573,7 @@ func rtrimCollFunc(tls *libc.TLS, pUser uintptr, nKey1 int32, pKey1 uintptr, nKe } // Return true if CollSeq is the default built-in BINARY. -func Xsqlite3IsBinary(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:169443:20: */ +func Xsqlite3IsBinary(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:169500:20: */ return libc.Bool32(p == uintptr(0) || (*CollSeq)(unsafe.Pointer(p)).FxCmp == *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32 @@ -146556,7 +146587,7 @@ func Xsqlite3IsBinary(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:169443:20: // extends only to the 26 characters used in the English language. // // At the moment there is only a UTF-8 implementation. -func nocaseCollatingFunc(tls *libc.TLS, NotUsed uintptr, nKey1 int32, pKey1 uintptr, nKey2 int32, pKey2 uintptr) int32 { /* sqlite3.c:169457:12: */ +func nocaseCollatingFunc(tls *libc.TLS, NotUsed uintptr, nKey1 int32, pKey1 uintptr, nKey2 int32, pKey2 uintptr) int32 { /* sqlite3.c:169514:12: */ var r int32 = Xsqlite3_strnicmp(tls, pKey1, pKey2, func() int32 { if nKey1 < nKey2 { @@ -146572,39 +146603,39 @@ func nocaseCollatingFunc(tls *libc.TLS, NotUsed uintptr, nKey1 int32, pKey1 uint } // Return the ROWID of the most recent insert -func Xsqlite3_last_insert_rowid(tls *libc.TLS, db uintptr) Sqlite_int64 { /* sqlite3.c:169474:25: */ +func Xsqlite3_last_insert_rowid(tls *libc.TLS, db uintptr) Sqlite_int64 { /* sqlite3.c:169531:25: */ return (*Sqlite3)(unsafe.Pointer(db)).FlastRowid } // Set the value returned by the sqlite3_last_insert_rowid() API function. -func Xsqlite3_set_last_insert_rowid(tls *libc.TLS, db uintptr, iRowid Sqlite3_int64) { /* sqlite3.c:169487:17: */ +func Xsqlite3_set_last_insert_rowid(tls *libc.TLS, db uintptr, iRowid Sqlite3_int64) { /* sqlite3.c:169544:17: */ Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) (*Sqlite3)(unsafe.Pointer(db)).FlastRowid = iRowid Xsqlite3_mutex_leave(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) } // Return the number of changes in the most recent call to sqlite3_exec(). -func Xsqlite3_changes64(tls *libc.TLS, db uintptr) Sqlite3_int64 { /* sqlite3.c:169502:26: */ +func Xsqlite3_changes64(tls *libc.TLS, db uintptr) Sqlite3_int64 { /* sqlite3.c:169559:26: */ return (*Sqlite3)(unsafe.Pointer(db)).FnChange } -func Xsqlite3_changes(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:169511:16: */ +func Xsqlite3_changes(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:169568:16: */ return int32(Xsqlite3_changes64(tls, db)) } // Return the number of changes since the database handle was opened. -func Xsqlite3_total_changes64(tls *libc.TLS, db uintptr) Sqlite3_int64 { /* sqlite3.c:169518:26: */ +func Xsqlite3_total_changes64(tls *libc.TLS, db uintptr) Sqlite3_int64 { /* sqlite3.c:169575:26: */ return (*Sqlite3)(unsafe.Pointer(db)).FnTotalChange } -func Xsqlite3_total_changes(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:169527:16: */ +func Xsqlite3_total_changes(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:169584:16: */ return int32(Xsqlite3_total_changes64(tls, db)) } // Close all open savepoints. This function only manipulates fields of the // database handle object, it does not close any savepoints that may be open // at the b-tree/pager level. -func Xsqlite3CloseSavepoints(tls *libc.TLS, db uintptr) { /* sqlite3.c:169536:21: */ +func Xsqlite3CloseSavepoints(tls *libc.TLS, db uintptr) { /* sqlite3.c:169593:21: */ for (*Sqlite3)(unsafe.Pointer(db)).FpSavepoint != 0 { var pTmp uintptr = (*Sqlite3)(unsafe.Pointer(db)).FpSavepoint (*Sqlite3)(unsafe.Pointer(db)).FpSavepoint = (*Savepoint)(unsafe.Pointer(pTmp)).FpNext @@ -146619,7 +146650,7 @@ func Xsqlite3CloseSavepoints(tls *libc.TLS, db uintptr) { /* sqlite3.c:169536:21 // if this is not the last copy of the function, do not invoke it. Multiple // copies of a single function are created when create_function() is called // with SQLITE_ANY as the encoding. -func functionDestroy(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:169553:13: */ +func functionDestroy(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:169610:13: */ var pDestructor uintptr pDestructor = *(*uintptr)(unsafe.Pointer(p + 64)) @@ -146634,7 +146665,7 @@ func functionDestroy(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:169553 // Disconnect all sqlite3_vtab objects that belong to database connection // db. This is called when db is being closed. -func disconnectAllVtab(tls *libc.TLS, db uintptr) { /* sqlite3.c:169570:13: */ +func disconnectAllVtab(tls *libc.TLS, db uintptr) { /* sqlite3.c:169627:13: */ var i int32 var p uintptr Xsqlite3BtreeEnterAll(tls, db) @@ -146661,7 +146692,7 @@ func disconnectAllVtab(tls *libc.TLS, db uintptr) { /* sqlite3.c:169570:13: */ // Return TRUE if database connection db has unfinalized prepared // statements or unfinished sqlite3_backup objects. -func connectionIsBusy(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:169601:12: */ +func connectionIsBusy(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:169658:12: */ var j int32 if (*Sqlite3)(unsafe.Pointer(db)).FpVdbe != 0 { @@ -146677,14 +146708,14 @@ func connectionIsBusy(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:169601:12: } // Close an existing SQLite database -func sqlite3Close(tls *libc.TLS, db uintptr, forceZombie int32) int32 { /* sqlite3.c:169615:12: */ +func sqlite3Close(tls *libc.TLS, db uintptr, forceZombie int32) int32 { /* sqlite3.c:169672:12: */ if !(db != 0) { // EVIDENCE-OF: R-63257-11740 Calling sqlite3_close() or // sqlite3_close_v2() with a NULL pointer argument is a harmless no-op. return SQLITE_OK } if !(Xsqlite3SafetyCheckSickOrOk(tls, db) != 0) { - return Xsqlite3MisuseError(tls, 169622) + return Xsqlite3MisuseError(tls, 169679) } Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) if int32((*Sqlite3)(unsafe.Pointer(db)).FmTrace)&SQLITE_TRACE_CLOSE != 0 { @@ -146721,7 +146752,7 @@ func sqlite3Close(tls *libc.TLS, db uintptr, forceZombie int32) int32 { /* sqlit // Return the transaction state for a single databse, or the maximum // transaction state over all attached databases if zSchema is null. -func Xsqlite3_txn_state(tls *libc.TLS, db uintptr, zSchema uintptr) int32 { /* sqlite3.c:169669:16: */ +func Xsqlite3_txn_state(tls *libc.TLS, db uintptr, zSchema uintptr) int32 { /* sqlite3.c:169726:16: */ var iDb int32 var nDb int32 var iTxn int32 = -1 @@ -146758,11 +146789,11 @@ func Xsqlite3_txn_state(tls *libc.TLS, db uintptr, zSchema uintptr) int32 { /* s // version forces the connection to become a zombie if there are // unclosed resources, and arranges for deallocation when the last // prepare statement or sqlite3_backup closes. -func Xsqlite3_close(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:169704:16: */ +func Xsqlite3_close(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:169761:16: */ return sqlite3Close(tls, db, 0) } -func Xsqlite3_close_v2(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:169705:16: */ +func Xsqlite3_close_v2(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:169762:16: */ return sqlite3Close(tls, db, 1) } @@ -146772,7 +146803,7 @@ func Xsqlite3_close_v2(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:169705:16 // has been a prior call to sqlite3_close(db) or sqlite3_close_v2(db)) and // every sqlite3_stmt has now been finalized and every sqlite3_backup has // finished, then free all resources. -func Xsqlite3LeaveMutexAndCloseZombie(tls *libc.TLS, db uintptr) { /* sqlite3.c:169716:21: */ +func Xsqlite3LeaveMutexAndCloseZombie(tls *libc.TLS, db uintptr) { /* sqlite3.c:169773:21: */ var i uintptr // Hash table iterator var j int32 @@ -146882,7 +146913,7 @@ func Xsqlite3LeaveMutexAndCloseZombie(tls *libc.TLS, db uintptr) { /* sqlite3.c: // breaker") and made to return tripCode if there are any further // attempts to use that cursor. Read cursors remain open and valid // but are "saved" in case the table pages are moved around. -func Xsqlite3RollbackAll(tls *libc.TLS, db uintptr, tripCode int32) { /* sqlite3.c:169839:21: */ +func Xsqlite3RollbackAll(tls *libc.TLS, db uintptr, tripCode int32) { /* sqlite3.c:169896:21: */ var i int32 var inTrans int32 = 0 var schemaChange int32 @@ -146932,7 +146963,7 @@ func Xsqlite3RollbackAll(tls *libc.TLS, db uintptr, tripCode int32) { /* sqlite3 // Return a static string that describes the kind of error specified in the // argument. -func Xsqlite3ErrStr(tls *libc.TLS, rc int32) uintptr { /* sqlite3.c:170000:27: */ +func Xsqlite3ErrStr(tls *libc.TLS, rc int32) uintptr { /* sqlite3.c:170057:27: */ var zErr uintptr = ts + 23253 /* "unknown error" */ switch rc { case SQLITE_ABORT | int32(2)<<8: @@ -146996,7 +147027,7 @@ var aMsg = [29]uintptr{ ts + 23749, ts + 23772, ts + 23793, -} /* sqlite3.c:170001:20 */ +} /* sqlite3.c:170058:20 */ // This routine implements a busy callback that sleeps and tries // again until a timeout value is reached. The timeout value is @@ -147005,7 +147036,7 @@ var aMsg = [29]uintptr{ // // Return non-zero to retry the lock. Return zero to stop trying // and cause SQLite to return SQLITE_BUSY. -func sqliteDefaultBusyCallback(tls *libc.TLS, ptr uintptr, count int32) int32 { /* sqlite3.c:170070:12: */ +func sqliteDefaultBusyCallback(tls *libc.TLS, ptr uintptr, count int32) int32 { /* sqlite3.c:170127:12: */ var db uintptr = ptr var tmout int32 = (*Sqlite3)(unsafe.Pointer(db)).FbusyTimeout var delay int32 @@ -147028,8 +147059,8 @@ func sqliteDefaultBusyCallback(tls *libc.TLS, ptr uintptr, count int32) int32 { return 1 } -var delays = [12]U8{U8(1), U8(2), U8(5), U8(10), U8(15), U8(20), U8(25), U8(25), U8(25), U8(50), U8(50), U8(100)} /* sqlite3.c:170077:19 */ -var totals = [12]U8{U8(0), U8(1), U8(3), U8(8), U8(18), U8(33), U8(53), U8(78), U8(103), U8(128), U8(178), U8(228)} /* sqlite3.c:170079:19 */ +var delays = [12]U8{U8(1), U8(2), U8(5), U8(10), U8(15), U8(20), U8(25), U8(25), U8(25), U8(50), U8(50), U8(100)} /* sqlite3.c:170134:19 */ +var totals = [12]U8{U8(0), U8(1), U8(3), U8(8), U8(18), U8(33), U8(53), U8(78), U8(103), U8(128), U8(178), U8(228)} /* sqlite3.c:170136:19 */ // Invoke the given busy handler. // @@ -147038,7 +147069,7 @@ var totals = [12]U8{U8(0), U8(1), U8(3), U8(8), U8(18), U8(33), U8(53), U8(78), // // If this routine returns non-zero, the lock is retried. If it // returns 0, the operation aborts with an SQLITE_BUSY error. -func Xsqlite3InvokeBusyHandler(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:170122:20: */ +func Xsqlite3InvokeBusyHandler(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:170179:20: */ var rc int32 if (*BusyHandler)(unsafe.Pointer(p)).FxBusyHandler == uintptr(0) || (*BusyHandler)(unsafe.Pointer(p)).FnBusy < 0 { return 0 @@ -147056,7 +147087,7 @@ func Xsqlite3InvokeBusyHandler(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:17 // This routine sets the busy callback for an Sqlite database to the // given callback function with the given argument. -func Xsqlite3_busy_handler(tls *libc.TLS, db uintptr, xBusy uintptr, pArg uintptr) int32 { /* sqlite3.c:170138:16: */ +func Xsqlite3_busy_handler(tls *libc.TLS, db uintptr, xBusy uintptr, pArg uintptr) int32 { /* sqlite3.c:170195:16: */ Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) (*Sqlite3)(unsafe.Pointer(db)).FbusyHandler.FxBusyHandler = xBusy (*Sqlite3)(unsafe.Pointer(db)).FbusyHandler.FpBusyArg = pArg @@ -147069,7 +147100,7 @@ func Xsqlite3_busy_handler(tls *libc.TLS, db uintptr, xBusy uintptr, pArg uintpt // This routine sets the progress callback for an Sqlite database to the // given callback function with the given argument. The progress callback will // be invoked every nOps opcodes. -func Xsqlite3_progress_handler(tls *libc.TLS, db uintptr, nOps int32, xProgress uintptr, pArg uintptr) { /* sqlite3.c:170161:17: */ +func Xsqlite3_progress_handler(tls *libc.TLS, db uintptr, nOps int32, xProgress uintptr, pArg uintptr) { /* sqlite3.c:170218:17: */ Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) if nOps > 0 { (*Sqlite3)(unsafe.Pointer(db)).FxProgress = xProgress @@ -147085,7 +147116,7 @@ func Xsqlite3_progress_handler(tls *libc.TLS, db uintptr, nOps int32, xProgress // This routine installs a default busy handler that waits for the // specified number of milliseconds before returning 0. -func Xsqlite3_busy_timeout(tls *libc.TLS, db uintptr, ms int32) int32 { /* sqlite3.c:170192:16: */ +func Xsqlite3_busy_timeout(tls *libc.TLS, db uintptr, ms int32) int32 { /* sqlite3.c:170249:16: */ if ms > 0 { Xsqlite3_busy_handler(tls, db, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32) int32 @@ -147099,7 +147130,7 @@ func Xsqlite3_busy_timeout(tls *libc.TLS, db uintptr, ms int32) int32 { /* sqlit } // Cause any pending operation to stop at its earliest opportunity. -func Xsqlite3_interrupt(tls *libc.TLS, db uintptr) { /* sqlite3.c:170209:17: */ +func Xsqlite3_interrupt(tls *libc.TLS, db uintptr) { /* sqlite3.c:170266:17: */ *(*int32)(unsafe.Pointer(db + 432)) = 1 } @@ -147107,7 +147138,7 @@ func Xsqlite3_interrupt(tls *libc.TLS, db uintptr) { /* sqlite3.c:170209:17: */ // that it is designed to be called by internal code. The difference is // that if a malloc() fails in sqlite3_create_function(), an error code // is returned and the mallocFailed flag cleared. -func Xsqlite3CreateFunc(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) int32 { /* sqlite3.c:170226:20: */ +func Xsqlite3CreateFunc(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) int32 { /* sqlite3.c:170283:20: */ var p uintptr var extraFlags int32 @@ -147117,7 +147148,7 @@ func Xsqlite3CreateFunc(tls *libc.TLS, db uintptr, zFunctionName uintptr, nArg i libc.Bool32(xValue == uintptr(0)) != libc.Bool32(xInverse == uintptr(0)) || (nArg < -1 || nArg > SQLITE_MAX_FUNCTION_ARG) || 255 < Xsqlite3Strlen30(tls, zFunctionName) { - return Xsqlite3MisuseError(tls, 170251) + return Xsqlite3MisuseError(tls, 170308) } extraFlags = enc & (SQLITE_DETERMINISTIC | SQLITE_DIRECTONLY | SQLITE_SUBTYPE | SQLITE_INNOCUOUS) @@ -147222,7 +147253,7 @@ func Xsqlite3CreateFunc(tls *libc.TLS, db uintptr, zFunctionName uintptr, nArg i // sqlite3_create_function() // 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) int32 { /* sqlite3.c:170360:12: */ +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) int32 { /* sqlite3.c:170417:12: */ var rc int32 var pArg uintptr rc = SQLITE_ERROR @@ -147264,22 +147295,22 @@ out: } // 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) int32 { /* sqlite3.c:170411:16: */ +func Xsqlite3_create_function(tls *libc.TLS, db uintptr, zFunc uintptr, nArg int32, enc int32, p uintptr, xSFunc uintptr, xStep uintptr, xFinal uintptr) int32 { /* sqlite3.c:170468:16: */ return createFunctionApi(tls, db, zFunc, nArg, enc, p, xSFunc, xStep, 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) int32 { /* sqlite3.c:170424:16: */ +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) int32 { /* sqlite3.c:170481:16: */ return createFunctionApi(tls, db, zFunc, nArg, enc, p, xSFunc, xStep, xFinal, uintptr(0), uintptr(0), 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) int32 { /* sqlite3.c:170438:16: */ +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) int32 { /* sqlite3.c:170495:16: */ return createFunctionApi(tls, db, zFunc, nArg, enc, p, uintptr(0), xStep, xFinal, xValue, xInverse, xDestroy) } -func Xsqlite3_create_function16(tls *libc.TLS, db uintptr, zFunctionName uintptr, nArg int32, eTextRep int32, p uintptr, xSFunc uintptr, xStep uintptr, xFinal uintptr) int32 { /* sqlite3.c:170455:16: */ +func Xsqlite3_create_function16(tls *libc.TLS, db uintptr, zFunctionName uintptr, nArg int32, eTextRep int32, p uintptr, xSFunc uintptr, xStep uintptr, xFinal uintptr) int32 { /* sqlite3.c:170512:16: */ var rc int32 var zFunc8 uintptr @@ -147299,7 +147330,7 @@ func Xsqlite3_create_function16(tls *libc.TLS, db uintptr, zFunctionName uintptr // SQL function that use this routine so that the functions will exist // for name resolution but are actually overloaded by the xFindFunction // method of virtual tables. -func sqlite3InvalidFunction(tls *libc.TLS, context uintptr, NotUsed int32, NotUsed2 uintptr) { /* sqlite3.c:170491:13: */ +func sqlite3InvalidFunction(tls *libc.TLS, context uintptr, NotUsed int32, NotUsed2 uintptr) { /* sqlite3.c:170548:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -147323,7 +147354,7 @@ func sqlite3InvalidFunction(tls *libc.TLS, context uintptr, NotUsed int32, NotUs // should call this routine to make sure the global function exists. // A global function must exist in order for name resolution to work // properly. -func Xsqlite3_overload_function(tls *libc.TLS, db uintptr, zName uintptr, nArg int32) int32 { /* sqlite3.c:170517:16: */ +func Xsqlite3_overload_function(tls *libc.TLS, db uintptr, zName uintptr, nArg int32) int32 { /* sqlite3.c:170574:16: */ var rc int32 var zCopy uintptr @@ -147349,7 +147380,7 @@ func Xsqlite3_overload_function(tls *libc.TLS, db uintptr, zName uintptr, nArg i // A NULL trace function means that no tracing is executes. A non-NULL // 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) uintptr { /* sqlite3.c:170550:17: */ +func Xsqlite3_trace(tls *libc.TLS, db uintptr, xTrace uintptr, pArg uintptr) uintptr { /* sqlite3.c:170607:17: */ var pOld uintptr Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) @@ -147367,7 +147398,7 @@ func Xsqlite3_trace(tls *libc.TLS, db uintptr, xTrace uintptr, pArg uintptr) uin } // Register a trace callback using the version-2 interface. -func Xsqlite3_trace_v2(tls *libc.TLS, db uintptr, mTrace uint32, xTrace uintptr, pArg uintptr) int32 { /* sqlite3.c:170571:16: */ +func Xsqlite3_trace_v2(tls *libc.TLS, db uintptr, mTrace uint32, xTrace uintptr, pArg uintptr) int32 { /* sqlite3.c:170628:16: */ Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) if mTrace == uint32(0) { xTrace = uintptr(0) @@ -147388,7 +147419,7 @@ func Xsqlite3_trace_v2(tls *libc.TLS, db uintptr, mTrace uint32, xTrace uintptr, // A NULL profile function means that no profiling is executes. A non-NULL // 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) uintptr { /* sqlite3.c:170601:17: */ +func Xsqlite3_profile(tls *libc.TLS, db uintptr, xProfile uintptr, pArg uintptr) uintptr { /* sqlite3.c:170658:17: */ var pOld uintptr Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) @@ -147406,7 +147437,7 @@ func Xsqlite3_profile(tls *libc.TLS, db uintptr, xProfile uintptr, pArg uintptr) // Register a function to be invoked when a transaction commits. // 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) uintptr { /* sqlite3.c:170631:17: */ +func Xsqlite3_commit_hook(tls *libc.TLS, db uintptr, xCallback uintptr, pArg uintptr) uintptr { /* sqlite3.c:170688:17: */ var pOld uintptr Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) @@ -147419,7 +147450,7 @@ func Xsqlite3_commit_hook(tls *libc.TLS, db uintptr, xCallback uintptr, pArg uin // 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) uintptr { /* sqlite3.c:170656:17: */ +func Xsqlite3_update_hook(tls *libc.TLS, db uintptr, xCallback uintptr, pArg uintptr) uintptr { /* sqlite3.c:170713:17: */ var pRet uintptr Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) @@ -147432,7 +147463,7 @@ func Xsqlite3_update_hook(tls *libc.TLS, db uintptr, xCallback uintptr, pArg uin // 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) uintptr { /* sqlite3.c:170681:17: */ +func Xsqlite3_rollback_hook(tls *libc.TLS, db uintptr, xCallback uintptr, pArg uintptr) uintptr { /* sqlite3.c:170738:17: */ var pRet uintptr Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) @@ -147445,7 +147476,7 @@ func Xsqlite3_rollback_hook(tls *libc.TLS, db uintptr, xCallback uintptr, pArg u // 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) uintptr { /* sqlite3.c:170707:17: */ +func Xsqlite3_preupdate_hook(tls *libc.TLS, db uintptr, xCallback uintptr, pArg uintptr) uintptr { /* sqlite3.c:170764:17: */ var pRet uintptr Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) pRet = (*Sqlite3)(unsafe.Pointer(db)).FpPreUpdateArg @@ -147457,7 +147488,7 @@ func Xsqlite3_preupdate_hook(tls *libc.TLS, db uintptr, xCallback uintptr, pArg // 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) int32 { /* sqlite3.c:170727:16: */ +func Xsqlite3_autovacuum_pages(tls *libc.TLS, db uintptr, xCallback uintptr, pArg uintptr, xDestructor uintptr) int32 { /* sqlite3.c:170784:16: */ Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) if (*Sqlite3)(unsafe.Pointer(db)).FxAutovacDestr != 0 { (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3)(unsafe.Pointer(db)).FxAutovacDestr})).f(tls, (*Sqlite3)(unsafe.Pointer(db)).FpAutovacPagesArg) @@ -147473,7 +147504,7 @@ func Xsqlite3_autovacuum_pages(tls *libc.TLS, db uintptr, xCallback uintptr, pAr // Invoke sqlite3_wal_checkpoint if the number of frames in the log file // is greater than sqlite3.pWalArg cast to an integer (the value configured by // wal_autocheckpoint()). -func Xsqlite3WalDefaultHook(tls *libc.TLS, pClientData uintptr, db uintptr, zDb uintptr, nFrame int32) int32 { /* sqlite3.c:170758:20: */ +func Xsqlite3WalDefaultHook(tls *libc.TLS, pClientData uintptr, db uintptr, zDb uintptr, nFrame int32) int32 { /* sqlite3.c:170815:20: */ if nFrame >= int32(pClientData) { Xsqlite3BeginBenignMalloc(tls) Xsqlite3_wal_checkpoint(tls, db, zDb) @@ -147491,7 +147522,7 @@ func Xsqlite3WalDefaultHook(tls *libc.TLS, pClientData uintptr, db uintptr, zDb // registered using sqlite3_wal_hook(). Likewise, registering a callback // using sqlite3_wal_hook() disables the automatic checkpoint mechanism // configured by this function. -func Xsqlite3_wal_autocheckpoint(tls *libc.TLS, db uintptr, nFrame int32) int32 { /* sqlite3.c:170784:16: */ +func Xsqlite3_wal_autocheckpoint(tls *libc.TLS, db uintptr, nFrame int32) int32 { /* sqlite3.c:170841:16: */ if nFrame > 0 { Xsqlite3_wal_hook(tls, db, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, uintptr, int32) int32 @@ -147504,7 +147535,7 @@ func Xsqlite3_wal_autocheckpoint(tls *libc.TLS, db uintptr, nFrame int32) int32 // 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) uintptr { /* sqlite3.c:170805:17: */ +func Xsqlite3_wal_hook(tls *libc.TLS, db uintptr, xCallback uintptr, pArg uintptr) uintptr { /* sqlite3.c:170862:17: */ var pRet uintptr Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) pRet = (*Sqlite3)(unsafe.Pointer(db)).FpWalArg @@ -147515,7 +147546,7 @@ func Xsqlite3_wal_hook(tls *libc.TLS, db uintptr, xCallback uintptr, pArg uintpt } // Checkpoint database zDb. -func Xsqlite3_wal_checkpoint_v2(tls *libc.TLS, db uintptr, zDb uintptr, eMode int32, pnLog uintptr, pnCkpt uintptr) int32 { /* sqlite3.c:170832:16: */ +func Xsqlite3_wal_checkpoint_v2(tls *libc.TLS, db uintptr, zDb uintptr, eMode int32, pnLog uintptr, pnCkpt uintptr) int32 { /* sqlite3.c:170889:16: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -147565,7 +147596,7 @@ func Xsqlite3_wal_checkpoint_v2(tls *libc.TLS, db uintptr, zDb uintptr, eMode in // Checkpoint database zDb. If zDb is NULL, or if the buffer zDb points // to contains a zero-length string, all attached databases are // checkpointed. -func Xsqlite3_wal_checkpoint(tls *libc.TLS, db uintptr, zDb uintptr) int32 { /* sqlite3.c:170896:16: */ +func Xsqlite3_wal_checkpoint(tls *libc.TLS, db uintptr, zDb uintptr) int32 { /* sqlite3.c:170953:16: */ // EVIDENCE-OF: R-41613-20553 The sqlite3_wal_checkpoint(D,X) is equivalent to // sqlite3_wal_checkpoint_v2(D,X,SQLITE_CHECKPOINT_PASSIVE,0,0). return Xsqlite3_wal_checkpoint_v2(tls, db, zDb, SQLITE_CHECKPOINT_PASSIVE, uintptr(0), uintptr(0)) @@ -147589,7 +147620,7 @@ func Xsqlite3_wal_checkpoint(tls *libc.TLS, db uintptr, zDb uintptr) int32 { /* // // Parameter eMode is one of SQLITE_CHECKPOINT_PASSIVE, FULL, RESTART // or TRUNCATE. -func Xsqlite3Checkpoint(tls *libc.TLS, db uintptr, iDb int32, eMode int32, pnLog uintptr, pnCkpt uintptr) int32 { /* sqlite3.c:170923:20: */ +func Xsqlite3Checkpoint(tls *libc.TLS, db uintptr, iDb int32, eMode int32, pnLog uintptr, pnCkpt uintptr) int32 { /* sqlite3.c:170980:20: */ var rc int32 = SQLITE_OK // Return code var i int32 // Used to iterate through attached dbs var bBusy int32 = 0 // True if SQLITE_BUSY has been encountered @@ -147631,19 +147662,19 @@ func Xsqlite3Checkpoint(tls *libc.TLS, db uintptr, iDb int32, eMode int32, pnLog // 2 2 memory (return 1) // 2 0 memory (return 1) // 3 any memory (return 1) -func Xsqlite3TempInMemory(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:170969:20: */ +func Xsqlite3TempInMemory(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:171026:20: */ return libc.Bool32(int32((*Sqlite3)(unsafe.Pointer(db)).Ftemp_store) == 2) } // Return UTF-8 encoded English language explanation of the most recent // error. -func Xsqlite3_errmsg(tls *libc.TLS, db uintptr) uintptr { /* sqlite3.c:170990:23: */ +func Xsqlite3_errmsg(tls *libc.TLS, db uintptr) uintptr { /* sqlite3.c:171047:23: */ var z uintptr if !(db != 0) { return Xsqlite3ErrStr(tls, SQLITE_NOMEM) } if !(Xsqlite3SafetyCheckSickOrOk(tls, db) != 0) { - return Xsqlite3ErrStr(tls, Xsqlite3MisuseError(tls, 170996)) + return Xsqlite3ErrStr(tls, Xsqlite3MisuseError(tls, 171053)) } Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) if (*Sqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 { @@ -147665,7 +147696,7 @@ func Xsqlite3_errmsg(tls *libc.TLS, db uintptr) uintptr { /* sqlite3.c:170990:23 } // Return the byte offset of the most recent error -func Xsqlite3_error_offset(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:171016:16: */ +func Xsqlite3_error_offset(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:171073:16: */ var iOffset int32 = -1 if db != 0 && Xsqlite3SafetyCheckSickOrOk(tls, db) != 0 && (*Sqlite3)(unsafe.Pointer(db)).FerrCode != 0 { Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) @@ -147677,7 +147708,7 @@ func Xsqlite3_error_offset(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:17101 // Return UTF-16 encoded English language explanation of the most recent // error. -func Xsqlite3_errmsg16(tls *libc.TLS, db uintptr) uintptr { /* sqlite3.c:171031:23: */ +func Xsqlite3_errmsg16(tls *libc.TLS, db uintptr) uintptr { /* sqlite3.c:171088:23: */ var z uintptr if !(db != 0) { return uintptr(uintptr(unsafe.Pointer(&outOfMem))) @@ -147706,18 +147737,18 @@ func Xsqlite3_errmsg16(tls *libc.TLS, db uintptr) uintptr { /* sqlite3.c:171031: var outOfMem = [14]U16{ U16('o'), U16('u'), U16('t'), U16(' '), U16('o'), U16('f'), U16(' '), U16('m'), U16('e'), U16('m'), U16('o'), U16('r'), U16('y'), U16(0), -} /* sqlite3.c:171032:20 */ +} /* sqlite3.c:171089:20 */ var misuse = [34]U16{ U16('b'), U16('a'), U16('d'), U16(' '), U16('p'), U16('a'), U16('r'), U16('a'), U16('m'), U16('e'), U16('t'), U16('e'), U16('r'), U16(' '), U16('o'), U16('r'), U16(' '), U16('o'), U16('t'), U16('h'), U16('e'), U16('r'), U16(' '), U16('A'), U16('P'), U16('I'), U16(' '), U16('m'), U16('i'), U16('s'), U16('u'), U16('s'), U16('e'), U16(0), -} /* sqlite3.c:171035:20 */ +} /* sqlite3.c:171092:20 */ // Return the most recent error code generated by an SQLite routine. If NULL is // passed to this function, we assume a malloc() failed during sqlite3_open(). -func Xsqlite3_errcode(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:171073:16: */ +func Xsqlite3_errcode(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:171130:16: */ if db != 0 && !(Xsqlite3SafetyCheckSickOrOk(tls, db) != 0) { - return Xsqlite3MisuseError(tls, 171075) + return Xsqlite3MisuseError(tls, 171132) } if !(db != 0) || (*Sqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 { return SQLITE_NOMEM @@ -147725,9 +147756,9 @@ func Xsqlite3_errcode(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:171073:16: return (*Sqlite3)(unsafe.Pointer(db)).FerrCode & (*Sqlite3)(unsafe.Pointer(db)).FerrMask } -func Xsqlite3_extended_errcode(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:171082:16: */ +func Xsqlite3_extended_errcode(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:171139:16: */ if db != 0 && !(Xsqlite3SafetyCheckSickOrOk(tls, db) != 0) { - return Xsqlite3MisuseError(tls, 171084) + return Xsqlite3MisuseError(tls, 171141) } if !(db != 0) || (*Sqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 { return SQLITE_NOMEM @@ -147735,7 +147766,7 @@ func Xsqlite3_extended_errcode(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:1 return (*Sqlite3)(unsafe.Pointer(db)).FerrCode } -func Xsqlite3_system_errno(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:171091:16: */ +func Xsqlite3_system_errno(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:171148:16: */ if db != 0 { return (*Sqlite3)(unsafe.Pointer(db)).FiSysErrno } @@ -147745,13 +147776,13 @@ func Xsqlite3_system_errno(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:17109 // Return a string that describes the kind of error specified in the // argument. For now, this simply calls the internal sqlite3ErrStr() // function. -func Xsqlite3_errstr(tls *libc.TLS, rc int32) uintptr { /* sqlite3.c:171100:23: */ +func Xsqlite3_errstr(tls *libc.TLS, rc int32) uintptr { /* sqlite3.c:171157:23: */ return Xsqlite3ErrStr(tls, rc) } // 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 U8, pCtx uintptr, xCompare uintptr, xDel uintptr) int32 { /* sqlite3.c:171108:12: */ +func createCollation(tls *libc.TLS, db uintptr, zName uintptr, enc U8, pCtx uintptr, xCompare uintptr, xDel uintptr) int32 { /* sqlite3.c:171165:12: */ var pColl uintptr var enc2 int32 @@ -147764,7 +147795,7 @@ func createCollation(tls *libc.TLS, db uintptr, zName uintptr, enc U8, pCtx uint enc2 = SQLITE_UTF16LE } if enc2 < SQLITE_UTF8 || enc2 > SQLITE_UTF16BE { - return Xsqlite3MisuseError(tls, 171132) + return Xsqlite3MisuseError(tls, 171189) } // Check if this call is removing or replacing an existing collation @@ -147827,7 +147858,7 @@ var aHardLimit = [12]int32{ SQLITE_MAX_VARIABLE_NUMBER, // IMP: R-38091-32352 SQLITE_MAX_TRIGGER_DEPTH, SQLITE_MAX_WORKER_THREADS, -} /* sqlite3.c:171185:18 */ +} /* sqlite3.c:171242:18 */ // Make sure the hard limits are set to reasonable values @@ -147839,7 +147870,7 @@ var aHardLimit = [12]int32{ // A new lower limit does not shrink existing constructs. // It merely prevents new constructs that exceed the limit // from forming. -func Xsqlite3_limit(tls *libc.TLS, db uintptr, limitId int32, newLimit int32) int32 { /* sqlite3.c:171248:16: */ +func Xsqlite3_limit(tls *libc.TLS, db uintptr, limitId int32, newLimit int32) int32 { /* sqlite3.c:171305:16: */ var oldLimit int32 // EVIDENCE-OF: R-30189-54097 For each limit category SQLITE_LIMIT_NAME @@ -147886,7 +147917,7 @@ func Xsqlite3_limit(tls *libc.TLS, db uintptr, limitId int32, newLimit int32) in // may be set to point to a buffer containing an English language error // message. It is the responsibility of the caller to eventually release // this buffer by calling sqlite3_free(). -func Xsqlite3ParseUri(tls *libc.TLS, zDefaultVfs uintptr, zUri uintptr, pFlags uintptr, ppVfs uintptr, pzFile uintptr, pzErrMsg uintptr) int32 { /* sqlite3.c:171320:20: */ +func Xsqlite3ParseUri(tls *libc.TLS, zDefaultVfs uintptr, zUri uintptr, pFlags uintptr, ppVfs uintptr, pzFile uintptr, pzErrMsg uintptr) int32 { /* sqlite3.c:171377:20: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -148224,24 +148255,24 @@ type OpenMode = struct { Fz uintptr Fmode int32 F__ccgo_pad1 [4]byte -} /* sqlite3.c:171462:9 */ +} /* sqlite3.c:171519:9 */ var aCacheMode = [3]OpenMode{ {Fz: ts + 24131, Fmode: SQLITE_OPEN_SHAREDCACHE}, {Fz: ts + 24138, Fmode: SQLITE_OPEN_PRIVATECACHE}, {}, -} /* sqlite3.c:171471:34 */ +} /* sqlite3.c:171528:34 */ var aOpenMode = [5]OpenMode{ {Fz: ts + 24146, Fmode: SQLITE_OPEN_READONLY}, {Fz: ts + 24149, Fmode: SQLITE_OPEN_READWRITE}, {Fz: ts + 24152, Fmode: SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE}, {Fz: ts + 17253, Fmode: SQLITE_OPEN_MEMORY}, {}, -} /* sqlite3.c:171483:34 */ +} /* sqlite3.c:171540:34 */ // This routine does the core work of extracting URI parameters from a // database filename for the sqlite3_uri_parameter() interface. -func uriParameter(tls *libc.TLS, zFilename uintptr, zParam uintptr) uintptr { /* sqlite3.c:171557:19: */ +func uriParameter(tls *libc.TLS, zFilename uintptr, zParam uintptr) uintptr { /* sqlite3.c:171614:19: */ zFilename += uintptr(Xsqlite3Strlen30(tls, zFilename) + 1) for zFilename != uintptr(0) && *(*int8)(unsafe.Pointer(zFilename)) != 0 { var x int32 = libc.Xstrcmp(tls, zFilename, zParam) @@ -148257,7 +148288,7 @@ func uriParameter(tls *libc.TLS, zFilename uintptr, zParam uintptr) uintptr { /* // This routine does the work of opening a database on behalf of // sqlite3_open() and sqlite3_open16(). The database filename "zFilename" // is UTF-8 encoded. -func openDatabase(tls *libc.TLS, zFilename uintptr, ppDb uintptr, flags uint32, zVfs uintptr) int32 { /* sqlite3.c:171575:12: */ +func openDatabase(tls *libc.TLS, zFilename uintptr, ppDb uintptr, flags uint32, zVfs uintptr) int32 { /* sqlite3.c:171632:12: */ bp := tls.Alloc(32) defer tls.Free(32) *(*uint32)(unsafe.Pointer(bp + 8)) = flags @@ -148441,7 +148472,7 @@ __15: if !(int32(1)<<(*(*uint32)(unsafe.Pointer(bp + 8))&uint32(7))&0x46 == 0) { goto __16 } - rc = Xsqlite3MisuseError(tls, 171788) // IMP: R-18321-05872 + rc = Xsqlite3MisuseError(tls, 171845) // IMP: R-18321-05872 goto __17 __16: rc = Xsqlite3ParseUri(tls, zVfs, zFilename, bp+8, db, bp+16, bp+24) @@ -148597,17 +148628,17 @@ __32: } // Open a new database handle. -func Xsqlite3_open(tls *libc.TLS, zFilename uintptr, ppDb uintptr) int32 { /* sqlite3.c:171910:16: */ +func Xsqlite3_open(tls *libc.TLS, zFilename uintptr, ppDb uintptr) int32 { /* sqlite3.c:171967:16: */ return openDatabase(tls, zFilename, ppDb, uint32(SQLITE_OPEN_READWRITE|SQLITE_OPEN_CREATE), uintptr(0)) } -func Xsqlite3_open_v2(tls *libc.TLS, filename uintptr, ppDb uintptr, flags int32, zVfs uintptr) int32 { /* sqlite3.c:171917:16: */ +func Xsqlite3_open_v2(tls *libc.TLS, filename uintptr, ppDb uintptr, flags int32, zVfs uintptr) int32 { /* sqlite3.c:171974:16: */ return openDatabase(tls, filename, ppDb, uint32(flags), zVfs) } // Open a new database handle. -func Xsqlite3_open16(tls *libc.TLS, zFilename uintptr, ppDb uintptr) int32 { /* sqlite3.c:171930:16: */ +func Xsqlite3_open16(tls *libc.TLS, zFilename uintptr, ppDb uintptr) int32 { /* sqlite3.c:171987:16: */ var zFilename8 uintptr // zFilename encoded in UTF-8 instead of UTF-16 var pVal uintptr var rc int32 @@ -148639,12 +148670,12 @@ func Xsqlite3_open16(tls *libc.TLS, zFilename uintptr, ppDb uintptr) int32 { /* } // 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) int32 { /* sqlite3.c:171969:16: */ +func Xsqlite3_create_collation(tls *libc.TLS, db uintptr, zName uintptr, enc int32, pCtx uintptr, xCompare uintptr) int32 { /* sqlite3.c:172026:16: */ return Xsqlite3_create_collation_v2(tls, db, zName, enc, pCtx, xCompare, uintptr(0)) } // 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) int32 { /* sqlite3.c:171982:16: */ +func Xsqlite3_create_collation_v2(tls *libc.TLS, db uintptr, zName uintptr, enc int32, pCtx uintptr, xCompare uintptr, xDel uintptr) int32 { /* sqlite3.c:172039:16: */ var rc int32 Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) @@ -148656,7 +148687,7 @@ func Xsqlite3_create_collation_v2(tls *libc.TLS, db uintptr, zName uintptr, enc } // 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) int32 { /* sqlite3.c:172007:16: */ +func Xsqlite3_create_collation16(tls *libc.TLS, db uintptr, zName uintptr, enc int32, pCtx uintptr, xCompare uintptr) int32 { /* sqlite3.c:172064:16: */ var rc int32 = SQLITE_OK var zName8 uintptr @@ -148674,7 +148705,7 @@ func Xsqlite3_create_collation16(tls *libc.TLS, db uintptr, zName uintptr, enc i // 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) int32 { /* sqlite3.c:172037:16: */ +func Xsqlite3_collation_needed(tls *libc.TLS, db uintptr, pCollNeededArg uintptr, xCollNeeded uintptr) int32 { /* sqlite3.c:172094:16: */ Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) (*Sqlite3)(unsafe.Pointer(db)).FxCollNeeded = xCollNeeded (*Sqlite3)(unsafe.Pointer(db)).FxCollNeeded16 = uintptr(0) @@ -148685,7 +148716,7 @@ func Xsqlite3_collation_needed(tls *libc.TLS, db uintptr, pCollNeededArg uintptr // 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) int32 { /* sqlite3.c:172058:16: */ +func Xsqlite3_collation_needed16(tls *libc.TLS, db uintptr, pCollNeededArg uintptr, xCollNeeded16 uintptr) int32 { /* sqlite3.c:172115:16: */ Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) (*Sqlite3)(unsafe.Pointer(db)).FxCollNeeded = uintptr(0) (*Sqlite3)(unsafe.Pointer(db)).FxCollNeeded16 = xCollNeeded16 @@ -148696,7 +148727,7 @@ func Xsqlite3_collation_needed16(tls *libc.TLS, db uintptr, pCollNeededArg uintp // This function is now an anachronism. It used to be used to recover from a // malloc() failure, but SQLite now does this automatically. -func Xsqlite3_global_recover(tls *libc.TLS) int32 { /* sqlite3.c:172080:16: */ +func Xsqlite3_global_recover(tls *libc.TLS) int32 { /* sqlite3.c:172137:16: */ return SQLITE_OK } @@ -148704,7 +148735,7 @@ func Xsqlite3_global_recover(tls *libc.TLS) int32 { /* sqlite3.c:172080:16: */ // mode. Return TRUE if it is and FALSE if not. Autocommit mode is on // by default. Autocommit is disabled by a BEGIN statement and reenabled // by the next COMMIT or ROLLBACK. -func Xsqlite3_get_autocommit(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:172091:16: */ +func Xsqlite3_get_autocommit(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:172148:16: */ return int32((*Sqlite3)(unsafe.Pointer(db)).FautoCommit) } @@ -148717,7 +148748,7 @@ func Xsqlite3_get_autocommit(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:172 // // 2. Invoke sqlite3_log() to provide the source code location where // a low-level error is first detected. -func Xsqlite3ReportError(tls *libc.TLS, iErr int32, lineno int32, zType uintptr) int32 { /* sqlite3.c:172112:20: */ +func Xsqlite3ReportError(tls *libc.TLS, iErr int32, lineno int32, zType uintptr) int32 { /* sqlite3.c:172169:20: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -148726,17 +148757,17 @@ func Xsqlite3ReportError(tls *libc.TLS, iErr int32, lineno int32, zType uintptr) return iErr } -func Xsqlite3CorruptError(tls *libc.TLS, lineno int32) int32 { /* sqlite3.c:172117:20: */ +func Xsqlite3CorruptError(tls *libc.TLS, lineno int32) int32 { /* sqlite3.c:172174:20: */ return Xsqlite3ReportError(tls, SQLITE_CORRUPT, lineno, ts+24190) } -func Xsqlite3MisuseError(tls *libc.TLS, lineno int32) int32 { /* sqlite3.c:172121:20: */ +func Xsqlite3MisuseError(tls *libc.TLS, lineno int32) int32 { /* sqlite3.c:172178:20: */ return Xsqlite3ReportError(tls, SQLITE_MISUSE, lineno, ts+24210) } -func Xsqlite3CantopenError(tls *libc.TLS, lineno int32) int32 { /* sqlite3.c:172125:20: */ +func Xsqlite3CantopenError(tls *libc.TLS, lineno int32) int32 { /* sqlite3.c:172182:20: */ return Xsqlite3ReportError(tls, SQLITE_CANTOPEN, lineno, ts+24217) } @@ -148746,12 +148777,12 @@ func Xsqlite3CantopenError(tls *libc.TLS, lineno int32) int32 { /* sqlite3.c:172 // // SQLite no longer uses thread-specific data so this routine is now a // no-op. It is retained for historical compatibility. -func Xsqlite3_thread_cleanup(tls *libc.TLS) { /* sqlite3.c:172156:17: */ +func Xsqlite3_thread_cleanup(tls *libc.TLS) { /* sqlite3.c:172213:17: */ } // Return meta information about a specific column of a database table. // See comment in sqlite3.h (sqlite.h.in) for details. -func Xsqlite3_table_column_metadata(tls *libc.TLS, db uintptr, zDbName uintptr, zTableName uintptr, zColumnName uintptr, pzDataType uintptr, pzCollSeq uintptr, pNotNull uintptr, pPrimaryKey uintptr, pAutoinc uintptr) int32 { /* sqlite3.c:172164:16: */ +func Xsqlite3_table_column_metadata(tls *libc.TLS, db uintptr, zDbName uintptr, zTableName uintptr, zColumnName uintptr, pzDataType uintptr, pzCollSeq uintptr, pNotNull uintptr, pPrimaryKey uintptr, pAutoinc uintptr) int32 { /* sqlite3.c:172221:16: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -148935,7 +148966,7 @@ __20: } // Sleep for a little while. Return the amount of time slept. -func Xsqlite3_sleep(tls *libc.TLS, ms int32) int32 { /* sqlite3.c:172282:16: */ +func Xsqlite3_sleep(tls *libc.TLS, ms int32) int32 { /* sqlite3.c:172339:16: */ var pVfs uintptr var rc int32 pVfs = Xsqlite3_vfs_find(tls, uintptr(0)) @@ -148950,7 +148981,7 @@ func Xsqlite3_sleep(tls *libc.TLS, ms int32) int32 { /* sqlite3.c:172282:16: */ } // Enable or disable the extended result codes. -func Xsqlite3_extended_result_codes(tls *libc.TLS, db uintptr, onoff int32) int32 { /* sqlite3.c:172298:16: */ +func Xsqlite3_extended_result_codes(tls *libc.TLS, db uintptr, onoff int32) int32 { /* sqlite3.c:172355:16: */ Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) (*Sqlite3)(unsafe.Pointer(db)).FerrMask = func() int32 { if onoff != 0 { @@ -148963,7 +148994,7 @@ func Xsqlite3_extended_result_codes(tls *libc.TLS, db uintptr, onoff int32) int3 } // Invoke the xFileControl method on a particular database. -func Xsqlite3_file_control(tls *libc.TLS, db uintptr, zDbName uintptr, op int32, pArg uintptr) int32 { /* sqlite3.c:172311:16: */ +func Xsqlite3_file_control(tls *libc.TLS, db uintptr, zDbName uintptr, op int32, pArg uintptr) int32 { /* sqlite3.c:172368:16: */ var rc int32 = SQLITE_ERROR var pBtree uintptr @@ -149008,7 +149039,7 @@ func Xsqlite3_file_control(tls *libc.TLS, db uintptr, zDbName uintptr, op int32, } // Interface to the testing logic. -func Xsqlite3_test_control(tls *libc.TLS, op int32, va uintptr) int32 { /* sqlite3.c:172361:16: */ +func Xsqlite3_test_control(tls *libc.TLS, op int32, va uintptr) int32 { /* sqlite3.c:172418:16: */ var rc int32 = 0 var ap Va_list _ = ap @@ -149467,7 +149498,7 @@ func Xsqlite3_test_control(tls *libc.TLS, op int32, va uintptr) int32 { /* sqlit // backwards for the first byte following four consecutive zero bytes. // // This only works if the filename passed in was obtained from the Pager. -func databaseName(tls *libc.TLS, zName uintptr) uintptr { /* sqlite3.c:172857:19: */ +func databaseName(tls *libc.TLS, zName uintptr) uintptr { /* sqlite3.c:172914:19: */ for int32(*(*int8)(unsafe.Pointer(zName + libc.UintptrFromInt32(-1)))) != 0 || int32(*(*int8)(unsafe.Pointer(zName + libc.UintptrFromInt32(-2)))) != 0 || int32(*(*int8)(unsafe.Pointer(zName + libc.UintptrFromInt32(-3)))) != 0 || int32(*(*int8)(unsafe.Pointer(zName + libc.UintptrFromInt32(-4)))) != 0 { zName-- } @@ -149476,7 +149507,7 @@ func databaseName(tls *libc.TLS, zName uintptr) uintptr { /* sqlite3.c:172857:19 // Append text z[] to the end of p[]. Return a pointer to the first // character after then zero terminator on the new text in p[]. -func appendText(tls *libc.TLS, p uintptr, z uintptr) uintptr { /* sqlite3.c:172868:13: */ +func appendText(tls *libc.TLS, p uintptr, z uintptr) uintptr { /* sqlite3.c:172925:13: */ var n Size_t = libc.Xstrlen(tls, z) libc.Xmemcpy(tls, p, z, n+uint64(1)) return p + uintptr(n) + uintptr(1) @@ -149489,7 +149520,7 @@ func appendText(tls *libc.TLS, p uintptr, z uintptr) uintptr { /* sqlite3.c:1728 // // Memory layout must be compatible with that generated by the pager // and expected by sqlite3_uri_parameter() and databaseName(). -func Xsqlite3_create_filename(tls *libc.TLS, zDatabase uintptr, zJournal uintptr, zWal uintptr, nParam int32, azParam uintptr) uintptr { /* sqlite3.c:172883:17: */ +func Xsqlite3_create_filename(tls *libc.TLS, zDatabase uintptr, zJournal uintptr, zWal uintptr, nParam int32, azParam uintptr) uintptr { /* sqlite3.c:172940:17: */ var nByte Sqlite3_int64 var i int32 var pResult uintptr @@ -149520,7 +149551,7 @@ func Xsqlite3_create_filename(tls *libc.TLS, zDatabase uintptr, zJournal uintptr // Free memory obtained from sqlite3_create_filename(). It is a severe // error to call this routine with any parameter other than a pointer // previously obtained from sqlite3_create_filename() or a NULL pointer. -func Xsqlite3_free_filename(tls *libc.TLS, p uintptr) { /* sqlite3.c:172919:17: */ +func Xsqlite3_free_filename(tls *libc.TLS, p uintptr) { /* sqlite3.c:172976:17: */ if p == uintptr(0) { return } @@ -149537,7 +149568,7 @@ func Xsqlite3_free_filename(tls *libc.TLS, p uintptr) { /* sqlite3.c:172919:17: // query parameter we seek. This routine returns the value of the zParam // parameter if it exists. If the parameter does not exist, this routine // returns a NULL pointer. -func Xsqlite3_uri_parameter(tls *libc.TLS, zFilename uintptr, zParam uintptr) uintptr { /* sqlite3.c:172937:23: */ +func Xsqlite3_uri_parameter(tls *libc.TLS, zFilename uintptr, zParam uintptr) uintptr { /* sqlite3.c:172994:23: */ if zFilename == uintptr(0) || zParam == uintptr(0) { return uintptr(0) } @@ -149546,7 +149577,7 @@ func Xsqlite3_uri_parameter(tls *libc.TLS, zFilename uintptr, zParam uintptr) ui } // Return a pointer to the name of Nth query parameter of the filename. -func Xsqlite3_uri_key(tls *libc.TLS, zFilename uintptr, N int32) uintptr { /* sqlite3.c:172946:23: */ +func Xsqlite3_uri_key(tls *libc.TLS, zFilename uintptr, N int32) uintptr { /* sqlite3.c:173003:23: */ if zFilename == uintptr(0) || N < 0 { return uintptr(0) } @@ -149563,7 +149594,7 @@ func Xsqlite3_uri_key(tls *libc.TLS, zFilename uintptr, N int32) uintptr { /* sq } // Return a boolean value for a query parameter. -func Xsqlite3_uri_boolean(tls *libc.TLS, zFilename uintptr, zParam uintptr, bDflt int32) int32 { /* sqlite3.c:172960:16: */ +func Xsqlite3_uri_boolean(tls *libc.TLS, zFilename uintptr, zParam uintptr, bDflt int32) int32 { /* sqlite3.c:173017:16: */ var z uintptr = Xsqlite3_uri_parameter(tls, zFilename, zParam) bDflt = libc.Bool32(bDflt != 0) if z != 0 { @@ -149573,7 +149604,7 @@ func Xsqlite3_uri_boolean(tls *libc.TLS, zFilename uintptr, zParam uintptr, bDfl } // Return a 64-bit integer value for a query parameter. -func Xsqlite3_uri_int64(tls *libc.TLS, zFilename uintptr, zParam uintptr, bDflt Sqlite3_int64) Sqlite3_int64 { /* sqlite3.c:172969:26: */ +func Xsqlite3_uri_int64(tls *libc.TLS, zFilename uintptr, zParam uintptr, bDflt Sqlite3_int64) Sqlite3_int64 { /* sqlite3.c:173026:26: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -149594,14 +149625,14 @@ func Xsqlite3_uri_int64(tls *libc.TLS, zFilename uintptr, zParam uintptr, bDflt // passing free() a pointer that was not obtained from malloc() - it is // an error that we cannot easily detect but that will likely cause memory // corruption. -func Xsqlite3_filename_database(tls *libc.TLS, zFilename uintptr) uintptr { /* sqlite3.c:172992:23: */ +func Xsqlite3_filename_database(tls *libc.TLS, zFilename uintptr) uintptr { /* sqlite3.c:173049:23: */ if zFilename == uintptr(0) { return uintptr(0) } return databaseName(tls, zFilename) } -func Xsqlite3_filename_journal(tls *libc.TLS, zFilename uintptr) uintptr { /* sqlite3.c:172996:23: */ +func Xsqlite3_filename_journal(tls *libc.TLS, zFilename uintptr) uintptr { /* sqlite3.c:173053:23: */ if zFilename == uintptr(0) { return uintptr(0) } @@ -149614,7 +149645,7 @@ func Xsqlite3_filename_journal(tls *libc.TLS, zFilename uintptr) uintptr { /* sq return zFilename + uintptr(1) } -func Xsqlite3_filename_wal(tls *libc.TLS, zFilename uintptr) uintptr { /* sqlite3.c:173006:23: */ +func Xsqlite3_filename_wal(tls *libc.TLS, zFilename uintptr) uintptr { /* sqlite3.c:173063:23: */ zFilename = Xsqlite3_filename_journal(tls, zFilename) if zFilename != 0 { zFilename += uintptr(Xsqlite3Strlen30(tls, zFilename) + 1) @@ -149623,7 +149654,7 @@ func Xsqlite3_filename_wal(tls *libc.TLS, zFilename uintptr) uintptr { /* sqlite } // Return the Btree pointer identified by zDbName. Return NULL if not found. -func Xsqlite3DbNameToBtree(tls *libc.TLS, db uintptr, zDbName uintptr) uintptr { /* sqlite3.c:173019:22: */ +func Xsqlite3DbNameToBtree(tls *libc.TLS, db uintptr, zDbName uintptr) uintptr { /* sqlite3.c:173076:22: */ var iDb int32 if zDbName != 0 { iDb = Xsqlite3FindDbName(tls, db, zDbName) @@ -149638,7 +149669,7 @@ func Xsqlite3DbNameToBtree(tls *libc.TLS, db uintptr, zDbName uintptr) uintptr { // Return the filename of the database associated with a database // connection. -func Xsqlite3_db_filename(tls *libc.TLS, db uintptr, zDbName uintptr) uintptr { /* sqlite3.c:173028:23: */ +func Xsqlite3_db_filename(tls *libc.TLS, db uintptr, zDbName uintptr) uintptr { /* sqlite3.c:173085:23: */ var pBt uintptr pBt = Xsqlite3DbNameToBtree(tls, db, zDbName) if pBt != 0 { @@ -149649,7 +149680,7 @@ func Xsqlite3_db_filename(tls *libc.TLS, db uintptr, zDbName uintptr) uintptr { // Return 1 if database is read-only or 0 if read/write. Return -1 if // no such database exists. -func Xsqlite3_db_readonly(tls *libc.TLS, db uintptr, zDbName uintptr) int32 { /* sqlite3.c:173044:16: */ +func Xsqlite3_db_readonly(tls *libc.TLS, db uintptr, zDbName uintptr) int32 { /* sqlite3.c:173101:16: */ var pBt uintptr pBt = Xsqlite3DbNameToBtree(tls, db, zDbName) if pBt != 0 { @@ -149660,7 +149691,7 @@ func Xsqlite3_db_readonly(tls *libc.TLS, db uintptr, zDbName uintptr) int32 { /* // Obtain a snapshot handle for the snapshot of database zDb currently // being read by handle db. -func Xsqlite3_snapshot_get(tls *libc.TLS, db uintptr, zDb uintptr, ppSnapshot uintptr) int32 { /* sqlite3.c:173061:16: */ +func Xsqlite3_snapshot_get(tls *libc.TLS, db uintptr, zDb uintptr, ppSnapshot uintptr) int32 { /* sqlite3.c:173118:16: */ var rc int32 = SQLITE_ERROR Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) @@ -149683,7 +149714,7 @@ func Xsqlite3_snapshot_get(tls *libc.TLS, db uintptr, zDb uintptr, ppSnapshot ui } // Open a read-transaction on the snapshot idendified by pSnapshot. -func Xsqlite3_snapshot_open(tls *libc.TLS, db uintptr, zDb uintptr, pSnapshot uintptr) int32 { /* sqlite3.c:173097:16: */ +func Xsqlite3_snapshot_open(tls *libc.TLS, db uintptr, zDb uintptr, pSnapshot uintptr) int32 { /* sqlite3.c:173154:16: */ var rc int32 = SQLITE_ERROR Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) @@ -149726,7 +149757,7 @@ func Xsqlite3_snapshot_open(tls *libc.TLS, db uintptr, zDb uintptr, pSnapshot ui // Recover as many snapshots as possible from the wal file associated with // schema zDb of database db. -func Xsqlite3_snapshot_recover(tls *libc.TLS, db uintptr, zDb uintptr) int32 { /* sqlite3.c:173153:16: */ +func Xsqlite3_snapshot_recover(tls *libc.TLS, db uintptr, zDb uintptr) int32 { /* sqlite3.c:173210:16: */ var rc int32 = SQLITE_ERROR var iDb int32 @@ -149747,7 +149778,7 @@ func Xsqlite3_snapshot_recover(tls *libc.TLS, db uintptr, zDb uintptr) int32 { / } // Free a snapshot handle obtained from sqlite3_snapshot_get(). -func Xsqlite3_snapshot_free(tls *libc.TLS, pSnapshot uintptr) { /* sqlite3.c:173184:17: */ +func Xsqlite3_snapshot_free(tls *libc.TLS, pSnapshot uintptr) { /* sqlite3.c:173241:17: */ Xsqlite3_free(tls, pSnapshot) } @@ -149756,7 +149787,7 @@ func Xsqlite3_snapshot_free(tls *libc.TLS, pSnapshot uintptr) { /* sqlite3.c:173 // // The name can optionally begin with "SQLITE_" but the "SQLITE_" prefix // is not required for a match. -func Xsqlite3_compileoption_used(tls *libc.TLS, zOptName uintptr) int32 { /* sqlite3.c:173197:16: */ +func Xsqlite3_compileoption_used(tls *libc.TLS, zOptName uintptr) int32 { /* sqlite3.c:173254:16: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -149786,7 +149817,7 @@ func Xsqlite3_compileoption_used(tls *libc.TLS, zOptName uintptr) int32 { /* sql // Return the N-th compile-time option string. If N is out of range, // return a NULL pointer. -func Xsqlite3_compileoption_get(tls *libc.TLS, N int32) uintptr { /* sqlite3.c:173230:23: */ +func Xsqlite3_compileoption_get(tls *libc.TLS, N int32) uintptr { /* sqlite3.c:173287:23: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -149831,11 +149862,11 @@ func Xsqlite3_compileoption_get(tls *libc.TLS, N int32) uintptr { /* sqlite3.c:1 // for which either sqlite3.pBlockingConnection or sqlite3.pUnlockConnection // is not NULL. This variable may only accessed while the STATIC_MAIN // mutex is held. -var sqlite3BlockedList uintptr = uintptr(0) /* sqlite3.c:173282:16 */ +var sqlite3BlockedList uintptr = uintptr(0) /* sqlite3.c:173339:16 */ // Remove connection db from the blocked connections list. If connection // db is not currently a part of the list, this function is a no-op. -func removeFromBlockedList(tls *libc.TLS, db uintptr) { /* sqlite3.c:173325:13: */ +func removeFromBlockedList(tls *libc.TLS, db uintptr) { /* sqlite3.c:173382:13: */ var pp uintptr for pp = uintptr(unsafe.Pointer(&sqlite3BlockedList)); *(*uintptr)(unsafe.Pointer(pp)) != 0; pp = *(*uintptr)(unsafe.Pointer(pp)) + 832 { @@ -149848,7 +149879,7 @@ func removeFromBlockedList(tls *libc.TLS, db uintptr) { /* sqlite3.c:173325:13: // Add connection db to the blocked connections list. It is assumed // that it is not already a part of the list. -func addToBlockedList(tls *libc.TLS, db uintptr) { /* sqlite3.c:173340:13: */ +func addToBlockedList(tls *libc.TLS, db uintptr) { /* sqlite3.c:173397:13: */ var pp uintptr for pp = uintptr(unsafe.Pointer(&sqlite3BlockedList)); *(*uintptr)(unsafe.Pointer(pp)) != 0 && (*Sqlite3)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pp)))).FxUnlockNotify != (*Sqlite3)(unsafe.Pointer(db)).FxUnlockNotify; pp = *(*uintptr)(unsafe.Pointer(pp)) + 832 { @@ -149858,13 +149889,13 @@ func addToBlockedList(tls *libc.TLS, db uintptr) { /* sqlite3.c:173340:13: */ } // Obtain the STATIC_MAIN mutex. -func enterMutex(tls *libc.TLS) { /* sqlite3.c:173355:13: */ +func enterMutex(tls *libc.TLS) { /* sqlite3.c:173412:13: */ Xsqlite3_mutex_enter(tls, Xsqlite3MutexAlloc(tls, SQLITE_MUTEX_STATIC_MAIN)) } // Release the STATIC_MAIN mutex. -func leaveMutex(tls *libc.TLS) { /* sqlite3.c:173363:13: */ +func leaveMutex(tls *libc.TLS) { /* sqlite3.c:173420:13: */ Xsqlite3_mutex_leave(tls, Xsqlite3MutexAlloc(tls, SQLITE_MUTEX_STATIC_MAIN)) } @@ -149888,7 +149919,7 @@ func leaveMutex(tls *libc.TLS) { /* sqlite3.c:173363:13: */ // Each call to this routine overrides any prior callbacks registered // 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) int32 { /* sqlite3.c:173390:16: */ +func Xsqlite3_unlock_notify(tls *libc.TLS, db uintptr, xNotify uintptr, pArg uintptr) int32 { /* sqlite3.c:173447:16: */ bp := tls.Alloc(8) defer tls.Free(8) *(*uintptr)(unsafe.Pointer(bp)) = pArg @@ -149943,7 +149974,7 @@ func Xsqlite3_unlock_notify(tls *libc.TLS, db uintptr, xNotify uintptr, pArg uin // associated with connection db. The operation will return SQLITE_LOCKED // to the user because it requires a lock that will not be available // until connection pBlocker concludes its current transaction. -func Xsqlite3ConnectionBlocked(tls *libc.TLS, db uintptr, pBlocker uintptr) { /* sqlite3.c:173440:21: */ +func Xsqlite3ConnectionBlocked(tls *libc.TLS, db uintptr, pBlocker uintptr) { /* sqlite3.c:173497:21: */ enterMutex(tls) if (*Sqlite3)(unsafe.Pointer(db)).FpBlockingConnection == uintptr(0) && (*Sqlite3)(unsafe.Pointer(db)).FpUnlockConnection == uintptr(0) { addToBlockedList(tls, db) @@ -149969,7 +150000,7 @@ func Xsqlite3ConnectionBlocked(tls *libc.TLS, db uintptr, pBlocker uintptr) { /* // 3) If the two steps above mean that pBlockingConnection==0 and // pUnlockConnection==0, remove the entry from the blocked connections // list. -func Xsqlite3ConnectionUnlocked(tls *libc.TLS, db uintptr) { /* sqlite3.c:173468:21: */ +func Xsqlite3ConnectionUnlocked(tls *libc.TLS, db uintptr) { /* sqlite3.c:173525:21: */ bp := tls.Alloc(128) defer tls.Free(128) @@ -150073,7 +150104,7 @@ func Xsqlite3ConnectionUnlocked(tls *libc.TLS, db uintptr) { /* sqlite3.c:173468 // This is called when the database connection passed as an argument is // being closed. The connection is removed from the blocked list. -func Xsqlite3ConnectionClosed(tls *libc.TLS, db uintptr) { /* sqlite3.c:173567:21: */ +func Xsqlite3ConnectionClosed(tls *libc.TLS, db uintptr) { /* sqlite3.c:173624:21: */ Xsqlite3ConnectionUnlocked(tls, db) enterMutex(tls) removeFromBlockedList(tls, db) @@ -150678,7 +150709,7 @@ var jsonIsSpace = [256]int8{ int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), -} /* sqlite3.c:193144:19 */ +} /* sqlite3.c:193201:19 */ // Objects type JsonString1 = struct { @@ -150690,10 +150721,10 @@ type JsonString1 = struct { FbErr U8 FzSpace [100]int8 F__ccgo_pad1 [2]byte -} /* sqlite3.c:193171:9 */ +} /* sqlite3.c:193228:9 */ // Objects -type JsonString = JsonString1 /* sqlite3.c:193171:27 */ +type JsonString = JsonString1 /* sqlite3.c:193228:27 */ type JsonNode1 = struct { FeType U8 FjnFlags U8 @@ -150701,9 +150732,9 @@ type JsonNode1 = struct { F__ccgo_pad1 [1]byte Fn U32 Fu struct{ FzJContent uintptr } -} /* sqlite3.c:193172:9 */ +} /* sqlite3.c:193229:9 */ -type JsonNode = JsonNode1 /* sqlite3.c:193172:25 */ +type JsonNode = JsonNode1 /* sqlite3.c:193229:25 */ type JsonParse1 = struct { FnNode U32 FnAlloc U32 @@ -150716,9 +150747,9 @@ type JsonParse1 = struct { FnJson int32 FiHold U32 F__ccgo_pad1 [4]byte -} /* sqlite3.c:193173:9 */ +} /* sqlite3.c:193230:9 */ -type JsonParse = JsonParse1 /* sqlite3.c:193173:26 */ +type JsonParse = JsonParse1 /* sqlite3.c:193230:26 */ // JSON type values @@ -150727,7 +150758,7 @@ type JsonParse = JsonParse1 /* sqlite3.c:193173:26 */ // Names of the various JSON types: var jsonType = [8]uintptr{ ts + 6116, ts + 6630, ts + 6635, ts + 6126, ts + 6121, ts + 7876, ts + 24293, ts + 24299, -} /* sqlite3.c:193206:19 */ +} /* sqlite3.c:193263:19 */ // Maximum nesting depth of JSON for this implementation. // @@ -150741,7 +150772,7 @@ var jsonType = [8]uintptr{ // // Set the JsonString object to an empty string -func jsonZero(tls *libc.TLS, p uintptr) { /* sqlite3.c:193267:13: */ +func jsonZero(tls *libc.TLS, p uintptr) { /* sqlite3.c:193324:13: */ (*JsonString)(unsafe.Pointer(p)).FzBuf = p + 34 /* &.zSpace */ (*JsonString)(unsafe.Pointer(p)).FnAlloc = U64(unsafe.Sizeof([100]int8{})) (*JsonString)(unsafe.Pointer(p)).FnUsed = uint64(0) @@ -150749,7 +150780,7 @@ func jsonZero(tls *libc.TLS, p uintptr) { /* sqlite3.c:193267:13: */ } // Initialize the JsonString object -func jsonInit(tls *libc.TLS, p uintptr, pCtx uintptr) { /* sqlite3.c:193276:13: */ +func jsonInit(tls *libc.TLS, p uintptr, pCtx uintptr) { /* sqlite3.c:193333:13: */ (*JsonString)(unsafe.Pointer(p)).FpCtx = pCtx (*JsonString)(unsafe.Pointer(p)).FbErr = U8(0) jsonZero(tls, p) @@ -150757,7 +150788,7 @@ func jsonInit(tls *libc.TLS, p uintptr, pCtx uintptr) { /* sqlite3.c:193276:13: // Free all allocated memory and reset the JsonString object back to its // initial state. -func jsonReset(tls *libc.TLS, p uintptr) { /* sqlite3.c:193286:13: */ +func jsonReset(tls *libc.TLS, p uintptr) { /* sqlite3.c:193343:13: */ if !(int32((*JsonString)(unsafe.Pointer(p)).FbStatic) != 0) { Xsqlite3_free(tls, (*JsonString)(unsafe.Pointer(p)).FzBuf) } @@ -150765,7 +150796,7 @@ func jsonReset(tls *libc.TLS, p uintptr) { /* sqlite3.c:193286:13: */ } // Report an out-of-memory (OOM) condition -func jsonOom(tls *libc.TLS, p uintptr) { /* sqlite3.c:193294:13: */ +func jsonOom(tls *libc.TLS, p uintptr) { /* sqlite3.c:193351:13: */ (*JsonString)(unsafe.Pointer(p)).FbErr = U8(1) Xsqlite3_result_error_nomem(tls, (*JsonString)(unsafe.Pointer(p)).FpCtx) jsonReset(tls, p) @@ -150773,7 +150804,7 @@ func jsonOom(tls *libc.TLS, p uintptr) { /* sqlite3.c:193294:13: */ // Enlarge pJson->zBuf so that it can hold at least N more bytes. // Return zero on success. Return non-zero on an OOM error -func jsonGrow(tls *libc.TLS, p uintptr, N U32) int32 { /* sqlite3.c:193303:12: */ +func jsonGrow(tls *libc.TLS, p uintptr, N U32) int32 { /* sqlite3.c:193360:12: */ var nTotal U64 if U64(N) < (*JsonString)(unsafe.Pointer(p)).FnAlloc { nTotal = (*JsonString)(unsafe.Pointer(p)).FnAlloc * uint64(2) @@ -150806,7 +150837,7 @@ func jsonGrow(tls *libc.TLS, p uintptr, N U32) int32 { /* sqlite3.c:193303:12: * } // Append N bytes from zIn onto the end of the JsonString string. -func jsonAppendRaw(tls *libc.TLS, p uintptr, zIn uintptr, N U32) { /* sqlite3.c:193330:13: */ +func jsonAppendRaw(tls *libc.TLS, p uintptr, zIn uintptr, N U32) { /* sqlite3.c:193387:13: */ if N == U32(0) { return } @@ -150818,7 +150849,7 @@ func jsonAppendRaw(tls *libc.TLS, p uintptr, zIn uintptr, N U32) { /* sqlite3.c: } // Append formatted text (not to exceed N bytes) to the JsonString. -func jsonPrintf(tls *libc.TLS, N int32, p uintptr, zFormat uintptr, va uintptr) { /* sqlite3.c:193339:13: */ +func jsonPrintf(tls *libc.TLS, N int32, p uintptr, zFormat uintptr, va uintptr) { /* sqlite3.c:193396:13: */ var ap Va_list _ = ap if (*JsonString)(unsafe.Pointer(p)).FnUsed+U64(N) >= (*JsonString)(unsafe.Pointer(p)).FnAlloc && jsonGrow(tls, p, uint32(N)) != 0 { @@ -150831,7 +150862,7 @@ func jsonPrintf(tls *libc.TLS, N int32, p uintptr, zFormat uintptr, va uintptr) } // Append a single character -func jsonAppendChar(tls *libc.TLS, p uintptr, c int8) { /* sqlite3.c:193350:13: */ +func jsonAppendChar(tls *libc.TLS, p uintptr, c int8) { /* sqlite3.c:193407:13: */ if (*JsonString)(unsafe.Pointer(p)).FnUsed >= (*JsonString)(unsafe.Pointer(p)).FnAlloc && jsonGrow(tls, p, uint32(1)) != 0 { return } @@ -150840,7 +150871,7 @@ func jsonAppendChar(tls *libc.TLS, p uintptr, c int8) { /* sqlite3.c:193350:13: // Append a comma separator to the output buffer, if the previous // character is not '[' or '{'. -func jsonAppendSeparator(tls *libc.TLS, p uintptr) { /* sqlite3.c:193358:13: */ +func jsonAppendSeparator(tls *libc.TLS, p uintptr) { /* sqlite3.c:193415:13: */ var c int8 if (*JsonString)(unsafe.Pointer(p)).FnUsed == uint64(0) { return @@ -150855,7 +150886,7 @@ func jsonAppendSeparator(tls *libc.TLS, p uintptr) { /* sqlite3.c:193358:13: */ // under construction. Enclose the string in "..." and escape // any double-quotes or backslash characters contained within the // string. -func jsonAppendString(tls *libc.TLS, p uintptr, zIn uintptr, N U32) { /* sqlite3.c:193370:13: */ +func jsonAppendString(tls *libc.TLS, p uintptr, zIn uintptr, N U32) { /* sqlite3.c:193427:13: */ var i U32 var c uint8 if !(zIn == uintptr(0) || U64(N)+(*JsonString)(unsafe.Pointer(p)).FnUsed+uint64(2) >= (*JsonString)(unsafe.Pointer(p)).FnAlloc && jsonGrow(tls, p, N+U32(2)) != 0) { @@ -150926,11 +150957,11 @@ __4: var aSpecial = [32]int8{ int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8('b'), int8('t'), int8('n'), int8(0), int8('f'), int8('r'), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), -} /* sqlite3.c:193381:25 */ +} /* sqlite3.c:193438:25 */ // Append a function parameter value to the JSON string under // construction. -func jsonAppendValue(tls *libc.TLS, p uintptr, pValue uintptr) { /* sqlite3.c:193413:13: */ +func jsonAppendValue(tls *libc.TLS, p uintptr, pValue uintptr) { /* sqlite3.c:193470:13: */ switch Xsqlite3_value_type(tls, pValue) { case SQLITE_NULL: { @@ -150974,7 +151005,7 @@ func jsonAppendValue(tls *libc.TLS, p uintptr, pValue uintptr) { /* sqlite3.c:19 } // Make the JSON in p the result of the SQL function. -func jsonResult(tls *libc.TLS, p uintptr) { /* sqlite3.c:193453:13: */ +func jsonResult(tls *libc.TLS, p uintptr) { /* sqlite3.c:193510:13: */ if int32((*JsonString)(unsafe.Pointer(p)).FbErr) == 0 { Xsqlite3_result_text64(tls, (*JsonString)(unsafe.Pointer(p)).FpCtx, (*JsonString)(unsafe.Pointer(p)).FzBuf, (*JsonString)(unsafe.Pointer(p)).FnUsed, func() uintptr { @@ -151001,7 +151032,7 @@ func jsonResult(tls *libc.TLS, p uintptr) { /* sqlite3.c:193453:13: */ // Appended elements are not counted. The value returned is the number // by which the JsonNode counter should increment in order to go to the // next peer value. -func jsonNodeSize(tls *libc.TLS, pNode uintptr) U32 { /* sqlite3.c:193476:12: */ +func jsonNodeSize(tls *libc.TLS, pNode uintptr) U32 { /* sqlite3.c:193533:12: */ if int32((*JsonNode)(unsafe.Pointer(pNode)).FeType) >= JSON_ARRAY { return (*JsonNode)(unsafe.Pointer(pNode)).Fn + U32(1) } @@ -151010,7 +151041,7 @@ func jsonNodeSize(tls *libc.TLS, pNode uintptr) U32 { /* sqlite3.c:193476:12: */ // Reclaim all memory allocated by a JsonParse object. But do not // delete the JsonParse object itself. -func jsonParseReset(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:193484:13: */ +func jsonParseReset(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:193541:13: */ Xsqlite3_free(tls, (*JsonParse)(unsafe.Pointer(pParse)).FaNode) (*JsonParse)(unsafe.Pointer(pParse)).FaNode = uintptr(0) (*JsonParse)(unsafe.Pointer(pParse)).FnNode = U32(0) @@ -151020,7 +151051,7 @@ func jsonParseReset(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:193484:13: */ } // Free a JsonParse object that was obtained from sqlite3_malloc(). -func jsonParseFree(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:193496:13: */ +func jsonParseFree(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:193553:13: */ jsonParseReset(tls, pParse) Xsqlite3_free(tls, pParse) } @@ -151028,7 +151059,7 @@ func jsonParseFree(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:193496:13: */ // Convert the JsonNode pNode into a pure JSON string and // append to pOut. Subsubstructure is also included. Return // the number of JsonNode objects that are encoded. -func jsonRenderNode(tls *libc.TLS, pNode uintptr, pOut uintptr, aReplace uintptr) { /* sqlite3.c:193506:13: */ +func jsonRenderNode(tls *libc.TLS, pNode uintptr, pOut uintptr, aReplace uintptr) { /* sqlite3.c:193563:13: */ if int32((*JsonNode)(unsafe.Pointer(pNode)).FjnFlags)&(JNODE_REPLACE|JNODE_PATCH) != 0 { if int32((*JsonNode)(unsafe.Pointer(pNode)).FjnFlags)&JNODE_REPLACE != 0 && aReplace != uintptr(0) { @@ -151131,7 +151162,7 @@ func jsonRenderNode(tls *libc.TLS, pNode uintptr, pOut uintptr, aReplace uintptr } // Return a JsonNode and all its descendents as a JSON string. -func jsonReturnJson(tls *libc.TLS, pNode uintptr, pCtx uintptr, aReplace uintptr) { /* sqlite3.c:193595:13: */ +func jsonReturnJson(tls *libc.TLS, pNode uintptr, pCtx uintptr, aReplace uintptr) { /* sqlite3.c:193652:13: */ bp := tls.Alloc(136) defer tls.Free(136) @@ -151146,14 +151177,14 @@ func jsonReturnJson(tls *libc.TLS, pNode uintptr, pCtx uintptr, aReplace uintptr // Translate a single byte of Hex into an integer. // This routine only works if h really is a valid hexadecimal // character: 0..9a..fA..F -func jsonHexToInt(tls *libc.TLS, h int32) U8 { /* sqlite3.c:193612:11: */ +func jsonHexToInt(tls *libc.TLS, h int32) U8 { /* sqlite3.c:193669:11: */ h = h + 9*(1&(h>>6)) return U8(h & 0xf) } // Convert a 4-byte hex string into an integer -func jsonHexToInt4(tls *libc.TLS, z uintptr) U32 { /* sqlite3.c:193625:12: */ +func jsonHexToInt4(tls *libc.TLS, z uintptr) U32 { /* sqlite3.c:193682:12: */ var v U32 v = U32(int32(jsonHexToInt(tls, int32(*(*int8)(unsafe.Pointer(z)))))<<12 + @@ -151164,7 +151195,7 @@ func jsonHexToInt4(tls *libc.TLS, z uintptr) U32 { /* sqlite3.c:193625:12: */ } // Make the JsonNode the return value of the function. -func jsonReturn(tls *libc.TLS, pNode uintptr, pCtx uintptr, aReplace uintptr) { /* sqlite3.c:193641:13: */ +func jsonReturn(tls *libc.TLS, pNode uintptr, pCtx uintptr, aReplace uintptr) { /* sqlite3.c:193698:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -151445,7 +151476,7 @@ __1: // A macro to hint to the compiler that a function should not be // inlined. -func jsonParseAddNodeExpand(tls *libc.TLS, pParse uintptr, eType U32, n U32, zContent uintptr) int32 { /* sqlite3.c:193814:26: */ +func jsonParseAddNodeExpand(tls *libc.TLS, pParse uintptr, eType U32, n U32, zContent uintptr) int32 { /* sqlite3.c:193871:26: */ var nNew U32 var pNew uintptr @@ -151467,7 +151498,7 @@ func jsonParseAddNodeExpand(tls *libc.TLS, pParse uintptr, eType U32, n U32, zCo // Create a new JsonNode instance based on the arguments and append that // instance to the JsonParse. Return the index in pParse->aNode[] of the // new node, or -1 if a memory allocation fails. -func jsonParseAddNode(tls *libc.TLS, pParse uintptr, eType U32, n U32, zContent uintptr) int32 { /* sqlite3.c:193841:12: */ +func jsonParseAddNode(tls *libc.TLS, pParse uintptr, eType U32, n U32, zContent uintptr) int32 { /* sqlite3.c:193898:12: */ var p uintptr if (*JsonParse)(unsafe.Pointer(pParse)).FaNode == uintptr(0) || (*JsonParse)(unsafe.Pointer(pParse)).FnNode >= (*JsonParse)(unsafe.Pointer(pParse)).FnAlloc { return jsonParseAddNodeExpand(tls, pParse, eType, n, zContent) @@ -151482,7 +151513,7 @@ func jsonParseAddNode(tls *libc.TLS, pParse uintptr, eType U32, n U32, zContent } // Return true if z[] begins with 4 (or more) hexadecimal digits -func jsonIs4Hex(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:193863:12: */ +func jsonIs4Hex(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:193920:12: */ var i int32 for i = 0; i < 4; i++ { if !(int32(Xsqlite3CtypeMap[uint8(*(*int8)(unsafe.Pointer(z + uintptr(i))))])&0x08 != 0) { @@ -151498,7 +151529,7 @@ func jsonIs4Hex(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:193863:12: */ // Return negative for a syntax error. Special cases: return -2 if the // first non-whitespace character is '}' and return -3 if the first // non-whitespace character is ']'. -func jsonParseValue(tls *libc.TLS, pParse uintptr, i U32) int32 { /* sqlite3.c:193877:12: */ +func jsonParseValue(tls *libc.TLS, pParse uintptr, i U32) int32 { /* sqlite3.c:193934:12: */ var c int8 var j U32 var iThis int32 @@ -151725,7 +151756,7 @@ func jsonParseValue(tls *libc.TLS, pParse uintptr, i U32) int32 { /* sqlite3.c:1 // pParse. // // pParse is uninitialized when this routine is called. -func jsonParse(tls *libc.TLS, pParse uintptr, pCtx uintptr, zJson uintptr) int32 { /* sqlite3.c:194038:12: */ +func jsonParse(tls *libc.TLS, pParse uintptr, pCtx uintptr, zJson uintptr) int32 { /* sqlite3.c:194095:12: */ var i int32 libc.Xmemset(tls, pParse, 0, uint64(unsafe.Sizeof(JsonParse{}))) if zJson == uintptr(0) { @@ -151761,7 +151792,7 @@ func jsonParse(tls *libc.TLS, pParse uintptr, pCtx uintptr, zJson uintptr) int32 // Mark node i of pParse as being a child of iParent. Call recursively // to fill in all the descendants of node i. -func jsonParseFillInParentage(tls *libc.TLS, pParse uintptr, i U32, iParent U32) { /* sqlite3.c:194071:13: */ +func jsonParseFillInParentage(tls *libc.TLS, pParse uintptr, i U32, iParent U32) { /* sqlite3.c:194128:13: */ var pNode uintptr = (*JsonParse)(unsafe.Pointer(pParse)).FaNode + uintptr(i)*16 var j U32 *(*U32)(unsafe.Pointer((*JsonParse)(unsafe.Pointer(pParse)).FaUp + uintptr(i)*4)) = iParent @@ -151792,7 +151823,7 @@ func jsonParseFillInParentage(tls *libc.TLS, pParse uintptr, i U32, iParent U32) } // Compute the parentage of all nodes in a completed parse. -func jsonParseFindParents(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:194098:12: */ +func jsonParseFindParents(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:194155:12: */ var aUp uintptr aUp = libc.AssignPtrUintptr(pParse+24, Xsqlite3_malloc64(tls, uint64(uint64(unsafe.Sizeof(U32(0)))*uint64((*JsonParse)(unsafe.Pointer(pParse)).FnNode)))) @@ -151812,7 +151843,7 @@ func jsonParseFindParents(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:19 // is no longer valid, parse the JSON again and return the new parse, // and also register the new parse so that it will be available for // future sqlite3_get_auxdata() calls. -func jsonParseCached(tls *libc.TLS, pCtx uintptr, argv uintptr, pErrCtx uintptr) uintptr { /* sqlite3.c:194124:18: */ +func jsonParseCached(tls *libc.TLS, pCtx uintptr, argv uintptr, pErrCtx uintptr) uintptr { /* sqlite3.c:194181:18: */ var zJson uintptr = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv))) var nJson int32 = Xsqlite3_value_bytes(tls, *(*uintptr)(unsafe.Pointer(argv))) var p uintptr @@ -151869,7 +151900,7 @@ func jsonParseCached(tls *libc.TLS, pCtx uintptr, argv uintptr, pErrCtx uintptr) // Compare the OBJECT label at pNode against zKey,nKey. Return true on // a match. -func jsonLabelCompare(tls *libc.TLS, pNode uintptr, zKey uintptr, nKey U32) int32 { /* sqlite3.c:194186:12: */ +func jsonLabelCompare(tls *libc.TLS, pNode uintptr, zKey uintptr, nKey U32) int32 { /* sqlite3.c:194243:12: */ if int32((*JsonNode)(unsafe.Pointer(pNode)).FjnFlags)&JNODE_RAW != 0 { if (*JsonNode)(unsafe.Pointer(pNode)).Fn != nKey { @@ -151892,7 +151923,7 @@ func jsonLabelCompare(tls *libc.TLS, pNode uintptr, zKey uintptr, nKey U32) int3 // If pApnd!=0, then try to append new nodes to complete zPath if it is // possible to do so and if no existing node corresponds to zPath. If // new nodes are appended *pApnd is set to 1. -func jsonLookupStep(tls *libc.TLS, pParse uintptr, iRoot U32, zPath uintptr, pApnd uintptr, pzErr uintptr) uintptr { /* sqlite3.c:194209:17: */ +func jsonLookupStep(tls *libc.TLS, pParse uintptr, iRoot U32, zPath uintptr, pApnd uintptr, pzErr uintptr) uintptr { /* sqlite3.c:194266:17: */ var i U32 var j U32 var nKey U32 @@ -152067,7 +152098,7 @@ func jsonLookupStep(tls *libc.TLS, pParse uintptr, iRoot U32, zPath uintptr, pAp // Append content to pParse that will complete zPath. Return a pointer // to the inserted node, or return NULL if the append fails. -func jsonLookupAppend(tls *libc.TLS, pParse uintptr, zPath uintptr, pApnd uintptr, pzErr uintptr) uintptr { /* sqlite3.c:194361:17: */ +func jsonLookupAppend(tls *libc.TLS, pParse uintptr, zPath uintptr, pApnd uintptr, pzErr uintptr) uintptr { /* sqlite3.c:194418:17: */ *(*int32)(unsafe.Pointer(pApnd)) = 1 if int32(*(*int8)(unsafe.Pointer(zPath))) == 0 { jsonParseAddNode(tls, pParse, uint32(JSON_NULL), uint32(0), uintptr(0)) @@ -152091,7 +152122,7 @@ func jsonLookupAppend(tls *libc.TLS, pParse uintptr, zPath uintptr, pApnd uintpt // Return the text of a syntax error message on a JSON path. Space is // obtained from sqlite3_malloc(). -func jsonPathSyntaxError(tls *libc.TLS, zErr uintptr) uintptr { /* sqlite3.c:194387:13: */ +func jsonPathSyntaxError(tls *libc.TLS, zErr uintptr) uintptr { /* sqlite3.c:194444:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -152106,7 +152137,7 @@ func jsonPathSyntaxError(tls *libc.TLS, zErr uintptr) uintptr { /* sqlite3.c:194 // // If pApnd!=NULL then try to append missing nodes and set *pApnd = 1 if // nodes are appended. -func jsonLookup(tls *libc.TLS, pParse uintptr, zPath uintptr, pApnd uintptr, pCtx uintptr) uintptr { /* sqlite3.c:194401:17: */ +func jsonLookup(tls *libc.TLS, pParse uintptr, zPath uintptr, pApnd uintptr, pCtx uintptr) uintptr { /* sqlite3.c:194458:17: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -152158,7 +152189,7 @@ __5: // Report the wrong number of arguments for json_insert(), json_replace() // or json_set(). -func jsonWrongNumArgs(tls *libc.TLS, pCtx uintptr, zFuncName uintptr) { /* sqlite3.c:194438:13: */ +func jsonWrongNumArgs(tls *libc.TLS, pCtx uintptr, zFuncName uintptr) { /* sqlite3.c:194495:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -152169,7 +152200,7 @@ func jsonWrongNumArgs(tls *libc.TLS, pCtx uintptr, zFuncName uintptr) { /* sqlit } // Mark all NULL entries in the Object passed in as JNODE_REMOVE. -func jsonRemoveAllNulls(tls *libc.TLS, pNode uintptr) { /* sqlite3.c:194451:13: */ +func jsonRemoveAllNulls(tls *libc.TLS, pNode uintptr) { /* sqlite3.c:194508:13: */ var i int32 var n int32 @@ -152200,7 +152231,7 @@ func jsonRemoveAllNulls(tls *libc.TLS, pNode uintptr) { /* sqlite3.c:194451:13: // corresponding to the SQL value input. Mostly this means putting // double-quotes around strings and returning the unquoted string "null" // when given a NULL input. -func jsonQuoteFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:194540:13: */ +func jsonQuoteFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:194597:13: */ bp := tls.Alloc(136) defer tls.Free(136) @@ -152217,7 +152248,7 @@ func jsonQuoteFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sq // Implementation of the json_array(VALUE,...) function. Return a JSON // array that contains all values given in arguments. Or if any argument // is a BLOB, throw an error. -func jsonArrayFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:194559:13: */ +func jsonArrayFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:194616:13: */ bp := tls.Alloc(136) defer tls.Free(136) @@ -152240,7 +152271,7 @@ func jsonArrayFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sq // // Return the number of elements in the top-level JSON array. // Return 0 if the input is not a well-formed JSON array. -func jsonArrayLengthFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:194586:13: */ +func jsonArrayLengthFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:194643:13: */ var p uintptr // The parse var n Sqlite3_int64 = int64(0) var i U32 @@ -152290,7 +152321,7 @@ func jsonArrayLengthFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { // // Abbreviated JSON path expressions are allows if JSON_ABPATH, for // compatibility with PG. -func jsonExtractFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:194646:13: */ +func jsonExtractFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:194703:13: */ bp := tls.Alloc(136) defer tls.Free(136) @@ -152384,7 +152415,7 @@ func jsonExtractFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* } // This is the RFC 7396 MergePatch algorithm. -func jsonMergePatch(tls *libc.TLS, pParse uintptr, iTarget U32, pPatch uintptr) uintptr { /* sqlite3.c:194729:17: */ +func jsonMergePatch(tls *libc.TLS, pParse uintptr, iTarget U32, pPatch uintptr) uintptr { /* sqlite3.c:194786:17: */ var i U32 var j U32 var iRoot U32 @@ -152457,7 +152488,7 @@ func jsonMergePatch(tls *libc.TLS, pParse uintptr, iTarget U32, pPatch uintptr) // Implementation of the json_mergepatch(JSON1,JSON2) function. Return a JSON // object that is the result of running the RFC 7396 MergePatch() algorithm // on the two arguments. -func jsonPatchFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:194811:13: */ +func jsonPatchFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:194868:13: */ bp := tls.Alloc(96) defer tls.Free(96) @@ -152489,7 +152520,7 @@ func jsonPatchFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sq // Implementation of the json_object(NAME,VALUE,...) function. Return a JSON // object that contains all name/value given in arguments. Or if any name // is not a string or if any value is a BLOB, throw an error. -func jsonObjectFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:194843:13: */ +func jsonObjectFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:194900:13: */ bp := tls.Alloc(136) defer tls.Free(136) @@ -152528,7 +152559,7 @@ func jsonObjectFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* s // // Remove the named elements from JSON and return the result. malformed // JSON or PATH arguments result in an error. -func jsonRemoveFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:194885:13: */ +func jsonRemoveFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:194942:13: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -152597,7 +152628,7 @@ remove_done: // // Replace the value at PATH with VALUE. If PATH does not already exist, // this routine is a no-op. If JSON or PATH is malformed, throw an error. -func jsonReplaceFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:194918:13: */ +func jsonReplaceFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:194975:13: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -152680,7 +152711,7 @@ replace_err: // // Create PATH and initialize it to VALUE. If PATH already exists, this // routine is a no-op. If JSON or PATH is malformed, throw an error. -func jsonSetFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:194970:13: */ +func jsonSetFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:195027:13: */ bp := tls.Alloc(52) defer tls.Free(52) @@ -152778,7 +152809,7 @@ jsonSetDone: // // Return the top-level "type" of a JSON string. json_type() raises an // error if either the JSON or PATH inputs are not well-formed. -func jsonTypeFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:195023:13: */ +func jsonTypeFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:195080:13: */ var p uintptr // The parse var zPath uintptr var pNode uintptr @@ -152802,7 +152833,7 @@ func jsonTypeFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sql // // Return 1 if JSON is a well-formed JSON string according to RFC-7159. // Return 0 otherwise. -func jsonValidFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:195051:13: */ +func jsonValidFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:195108:13: */ var p uintptr // The parse _ = argc p = jsonParseCached(tls, ctx, argv, uintptr(0)) @@ -152816,7 +152847,7 @@ func jsonValidFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sq // json_group_array(VALUE) // // Return a JSON array composed of all values in the aggregate. -func jsonArrayStep(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:195071:13: */ +func jsonArrayStep(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:195128:13: */ var pStr uintptr _ = argc pStr = Xsqlite3_aggregate_context(tls, ctx, int32(unsafe.Sizeof(JsonString{}))) @@ -152832,7 +152863,7 @@ func jsonArrayStep(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sq } } -func jsonArrayCompute(tls *libc.TLS, ctx uintptr, isFinal int32) { /* sqlite3.c:195090:13: */ +func jsonArrayCompute(tls *libc.TLS, ctx uintptr, isFinal int32) { /* sqlite3.c:195147:13: */ var pStr uintptr pStr = Xsqlite3_aggregate_context(tls, ctx, 0) if pStr != 0 { @@ -152862,11 +152893,11 @@ func jsonArrayCompute(tls *libc.TLS, ctx uintptr, isFinal int32) { /* sqlite3.c: Xsqlite3_result_subtype(tls, ctx, uint32(JSON_SUBTYPE)) } -func jsonArrayValue(tls *libc.TLS, ctx uintptr) { /* sqlite3.c:195112:13: */ +func jsonArrayValue(tls *libc.TLS, ctx uintptr) { /* sqlite3.c:195169:13: */ jsonArrayCompute(tls, ctx, 0) } -func jsonArrayFinal(tls *libc.TLS, ctx uintptr) { /* sqlite3.c:195115:13: */ +func jsonArrayFinal(tls *libc.TLS, ctx uintptr) { /* sqlite3.c:195172:13: */ jsonArrayCompute(tls, ctx, 1) } @@ -152874,7 +152905,7 @@ func jsonArrayFinal(tls *libc.TLS, ctx uintptr) { /* sqlite3.c:195115:13: */ // It works by removing the first element of the group by searching forward // to the first comma (",") that is not within a string and deleting all // text through that comma. -func jsonGroupInverse(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:195126:13: */ +func jsonGroupInverse(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:195183:13: */ var i uint32 var inStr int32 = 0 var nNest int32 = 0 @@ -152916,7 +152947,7 @@ func jsonGroupInverse(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* // json_group_obj(NAME,VALUE) // // Return a JSON object composed of all names and values in the aggregate. -func jsonObjectStep(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:195174:13: */ +func jsonObjectStep(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:195231:13: */ var pStr uintptr var z uintptr var n U32 @@ -152938,7 +152969,7 @@ func jsonObjectStep(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* s } } -func jsonObjectCompute(tls *libc.TLS, ctx uintptr, isFinal int32) { /* sqlite3.c:195199:13: */ +func jsonObjectCompute(tls *libc.TLS, ctx uintptr, isFinal int32) { /* sqlite3.c:195256:13: */ var pStr uintptr pStr = Xsqlite3_aggregate_context(tls, ctx, 0) if pStr != 0 { @@ -152967,11 +152998,11 @@ func jsonObjectCompute(tls *libc.TLS, ctx uintptr, isFinal int32) { /* sqlite3.c Xsqlite3_result_subtype(tls, ctx, uint32(JSON_SUBTYPE)) } -func jsonObjectValue(tls *libc.TLS, ctx uintptr) { /* sqlite3.c:195220:13: */ +func jsonObjectValue(tls *libc.TLS, ctx uintptr) { /* sqlite3.c:195277:13: */ jsonObjectCompute(tls, ctx, 0) } -func jsonObjectFinal(tls *libc.TLS, ctx uintptr) { /* sqlite3.c:195223:13: */ +func jsonObjectFinal(tls *libc.TLS, ctx uintptr) { /* sqlite3.c:195280:13: */ jsonObjectCompute(tls, ctx, 1) } @@ -152991,16 +153022,16 @@ type JsonEachCursor1 = struct { FzJson uintptr FzRoot uintptr FsParse JsonParse -} /* sqlite3.c:195233:9 */ +} /* sqlite3.c:195290:9 */ // *************************************************************************** // // The json_each virtual table // -type JsonEachCursor = JsonEachCursor1 /* sqlite3.c:195233:31 */ +type JsonEachCursor = JsonEachCursor1 /* sqlite3.c:195290:31 */ // Constructor for the json_each virtual table -func jsonEachConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 { /* sqlite3.c:195248:12: */ +func jsonEachConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 { /* sqlite3.c:195305:12: */ var pNew uintptr var rc int32 @@ -153028,13 +153059,13 @@ func jsonEachConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv u } // destructor for json_each virtual table -func jsonEachDisconnect(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:195290:12: */ +func jsonEachDisconnect(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:195347:12: */ Xsqlite3_free(tls, pVtab) return SQLITE_OK } // constructor for a JsonEachCursor object for json_each(). -func jsonEachOpenEach(tls *libc.TLS, p uintptr, ppCursor uintptr) int32 { /* sqlite3.c:195296:12: */ +func jsonEachOpenEach(tls *libc.TLS, p uintptr, ppCursor uintptr) int32 { /* sqlite3.c:195353:12: */ var pCur uintptr _ = p @@ -153048,7 +153079,7 @@ func jsonEachOpenEach(tls *libc.TLS, p uintptr, ppCursor uintptr) int32 { /* sql } // constructor for a JsonEachCursor object for json_tree(). -func jsonEachOpenTree(tls *libc.TLS, p uintptr, ppCursor uintptr) int32 { /* sqlite3.c:195308:12: */ +func jsonEachOpenTree(tls *libc.TLS, p uintptr, ppCursor uintptr) int32 { /* sqlite3.c:195365:12: */ var rc int32 = jsonEachOpenEach(tls, p, ppCursor) if rc == SQLITE_OK { var pCur uintptr = *(*uintptr)(unsafe.Pointer(ppCursor)) @@ -153059,7 +153090,7 @@ func jsonEachOpenTree(tls *libc.TLS, p uintptr, ppCursor uintptr) int32 { /* sql // Reset a JsonEachCursor back to its original state. Free any memory // held. -func jsonEachCursorReset(tls *libc.TLS, p uintptr) { /* sqlite3.c:195319:13: */ +func jsonEachCursorReset(tls *libc.TLS, p uintptr) { /* sqlite3.c:195376:13: */ Xsqlite3_free(tls, (*JsonEachCursor)(unsafe.Pointer(p)).FzJson) Xsqlite3_free(tls, (*JsonEachCursor)(unsafe.Pointer(p)).FzRoot) jsonParseReset(tls, p+48) @@ -153072,7 +153103,7 @@ func jsonEachCursorReset(tls *libc.TLS, p uintptr) { /* sqlite3.c:195319:13: */ } // Destructor for a jsonEachCursor object -func jsonEachClose(tls *libc.TLS, cur uintptr) int32 { /* sqlite3.c:195332:12: */ +func jsonEachClose(tls *libc.TLS, cur uintptr) int32 { /* sqlite3.c:195389:12: */ var p uintptr = cur jsonEachCursorReset(tls, p) Xsqlite3_free(tls, cur) @@ -153081,13 +153112,13 @@ func jsonEachClose(tls *libc.TLS, cur uintptr) int32 { /* sqlite3.c:195332:12: * // Return TRUE if the jsonEachCursor object has been advanced off the end // of the JSON object -func jsonEachEof(tls *libc.TLS, cur uintptr) int32 { /* sqlite3.c:195341:12: */ +func jsonEachEof(tls *libc.TLS, cur uintptr) int32 { /* sqlite3.c:195398:12: */ var p uintptr = cur return libc.Bool32((*JsonEachCursor)(unsafe.Pointer(p)).Fi >= (*JsonEachCursor)(unsafe.Pointer(p)).FiEnd) } // Advance the cursor to the next element for json_tree() -func jsonEachNext(tls *libc.TLS, cur uintptr) int32 { /* sqlite3.c:195347:12: */ +func jsonEachNext(tls *libc.TLS, cur uintptr) int32 { /* sqlite3.c:195404:12: */ var p uintptr = cur if (*JsonEachCursor)(unsafe.Pointer(p)).FbRecursive != 0 { if int32((*JsonNode)(unsafe.Pointer((*JsonEachCursor)(unsafe.Pointer(p)).FsParse.FaNode+uintptr((*JsonEachCursor)(unsafe.Pointer(p)).Fi)*16)).FjnFlags)&JNODE_LABEL != 0 { @@ -153138,7 +153169,7 @@ func jsonEachNext(tls *libc.TLS, cur uintptr) int32 { /* sqlite3.c:195347:12: */ } // Append the name of the path for element i to pStr -func jsonEachComputePath(tls *libc.TLS, p uintptr, pStr uintptr, i U32) { /* sqlite3.c:195391:13: */ +func jsonEachComputePath(tls *libc.TLS, p uintptr, pStr uintptr, i U32) { /* sqlite3.c:195448:13: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -153167,7 +153198,7 @@ func jsonEachComputePath(tls *libc.TLS, p uintptr, pStr uintptr, i U32) { /* sql } // Return the value of a column -func jsonEachColumn(tls *libc.TLS, cur uintptr, ctx uintptr, i int32) int32 { /* sqlite3.c:195421:12: */ +func jsonEachColumn(tls *libc.TLS, cur uintptr, ctx uintptr, i int32) int32 { /* sqlite3.c:195478:12: */ bp := tls.Alloc(296) defer tls.Free(296) @@ -153304,7 +153335,7 @@ func jsonEachColumn(tls *libc.TLS, cur uintptr, ctx uintptr, i int32) int32 { /* } // Return the current rowid value -func jsonEachRowid(tls *libc.TLS, cur uintptr, pRowid uintptr) int32 { /* sqlite3.c:195522:12: */ +func jsonEachRowid(tls *libc.TLS, cur uintptr, pRowid uintptr) int32 { /* sqlite3.c:195579:12: */ var p uintptr = cur *(*Sqlite_int64)(unsafe.Pointer(pRowid)) = Sqlite_int64((*JsonEachCursor)(unsafe.Pointer(p)).FiRowid) return SQLITE_OK @@ -153314,7 +153345,7 @@ func jsonEachRowid(tls *libc.TLS, cur uintptr, pRowid uintptr) int32 { /* sqlite // column. Without such a constraint, the table cannot operate. idxNum is // 1 if the constraint is found, 3 if the constraint and zRoot are found, // and 0 otherwise. -func jsonEachBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 { /* sqlite3.c:195533:12: */ +func jsonEachBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 { /* sqlite3.c:195590:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -153389,7 +153420,7 @@ __3: } // Start a search on a new JSON string -func jsonEachFilter(tls *libc.TLS, cur uintptr, idxNum int32, idxStr uintptr, argc int32, argv uintptr) int32 { /* sqlite3.c:195592:12: */ +func jsonEachFilter(tls *libc.TLS, cur uintptr, idxNum int32, idxStr uintptr, argc int32, argv uintptr) int32 { /* sqlite3.c:195649:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -153494,7 +153525,7 @@ var jsonEachModule = Sqlite3_module{ // xCreate FxEof: 0, // xEof - check for end of scan FxColumn: 0, // xColumn - read data FxRowid: 0, // xShadowName -} /* sqlite3.c:195673:23 */ +} /* sqlite3.c:195730:23 */ // The methods of the json_tree virtual table. var jsonTreeModule = Sqlite3_module{ // xCreate @@ -153508,10 +153539,10 @@ var jsonTreeModule = Sqlite3_module{ // xCreate FxEof: 0, // xEof - check for end of scan FxColumn: 0, // xColumn - read data FxRowid: 0, // xShadowName -} /* sqlite3.c:195701:23 */ +} /* sqlite3.c:195758:23 */ // Register JSON functions. -func Xsqlite3RegisterJsonFunctions(tls *libc.TLS) { /* sqlite3.c:195733:21: */ +func Xsqlite3RegisterJsonFunctions(tls *libc.TLS) { /* sqlite3.c:195790:21: */ Xsqlite3InsertBuiltinFuncs(tls, uintptr(unsafe.Pointer(&aJsonFunc)), int32(uint64(unsafe.Sizeof(aJsonFunc))/uint64(unsafe.Sizeof(FuncDef{})))) } @@ -153534,10 +153565,10 @@ var aJsonFunc = [19]FuncDef{ {FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_INNOCUOUS | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24778}, {FnArg: int8(1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_INNOCUOUS | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24788}, {FnArg: int8(1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_UTF8 | 0*SQLITE_FUNC_NEEDCOLL | SQLITE_SUBTYPE | SQLITE_UTF8 | SQLITE_DETERMINISTIC | SQLITE_INNOCUOUS), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 24799}, - {FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_UTF8 | 0*SQLITE_FUNC_NEEDCOLL | SQLITE_SUBTYPE | SQLITE_UTF8 | SQLITE_DETERMINISTIC | SQLITE_INNOCUOUS), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 24816}} /* sqlite3.c:195735:18 */ + {FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_UTF8 | 0*SQLITE_FUNC_NEEDCOLL | SQLITE_SUBTYPE | SQLITE_UTF8 | SQLITE_DETERMINISTIC | SQLITE_INNOCUOUS), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 24816}} /* sqlite3.c:195792:18 */ // Register the JSON table-valued functions -func Xsqlite3JsonTableFunctions(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:195772:20: */ +func Xsqlite3JsonTableFunctions(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:195829:20: */ var rc int32 = SQLITE_OK var i uint32 for i = uint32(0); uint64(i) < uint64(unsafe.Sizeof(aMod))/uint64(unsafe.Sizeof(struct { @@ -153555,7 +153586,7 @@ var aMod = [2]struct { }{ {FzName: ts + 24834 /* "json_each" */, FpModule: 0}, {FzName: ts + 24844 /* "json_tree" */, FpModule: 0}, -} /* sqlite3.c:195777:5 */ // In the SQLite core +} /* sqlite3.c:195834:5 */ // In the SQLite core // If building separately, we will need some setup that is normally // found in sqliteInt.h @@ -153602,7 +153633,7 @@ type Rtree1 = struct { FpDeleteParent uintptr FpWriteAux uintptr FaHash [97]uintptr -} /* sqlite3.c:195900:9 */ +} /* sqlite3.c:195957:9 */ // In the SQLite core @@ -153616,7 +153647,7 @@ type Rtree1 = struct { // The following macro is used to suppress compiler warnings. -type Rtree = Rtree1 /* sqlite3.c:195900:22 */ +type Rtree = Rtree1 /* sqlite3.c:195957:22 */ type RtreeCursor1 = struct { Fbase Sqlite3_vtab_cursor FatEOF U8 @@ -153637,9 +153668,9 @@ type RtreeCursor1 = struct { FaNode [5]uintptr FanQueue [41]U32 F__ccgo_pad4 [4]byte -} /* sqlite3.c:195901:9 */ +} /* sqlite3.c:195958:9 */ -type RtreeCursor = RtreeCursor1 /* sqlite3.c:195901:28 */ +type RtreeCursor = RtreeCursor1 /* sqlite3.c:195958:28 */ type RtreeNode1 = struct { FpParent uintptr FiNode I64 @@ -153647,23 +153678,23 @@ type RtreeNode1 = struct { FisDirty int32 FzData uintptr FpNext uintptr -} /* sqlite3.c:195900:9 */ +} /* sqlite3.c:195957:9 */ -type RtreeNode = RtreeNode1 /* sqlite3.c:195902:26 */ +type RtreeNode = RtreeNode1 /* sqlite3.c:195959:26 */ type RtreeCell1 = struct { FiRowid I64 FaCoord [10]RtreeCoord -} /* sqlite3.c:195903:9 */ +} /* sqlite3.c:195960:9 */ -type RtreeCell = RtreeCell1 /* sqlite3.c:195903:26 */ +type RtreeCell = RtreeCell1 /* sqlite3.c:195960:26 */ type RtreeConstraint1 = struct { FiCoord int32 Fop int32 Fu struct{ FrValue RtreeDValue } FpInfo uintptr -} /* sqlite3.c:195901:9 */ +} /* sqlite3.c:195958:9 */ -type RtreeConstraint = RtreeConstraint1 /* sqlite3.c:195904:32 */ +type RtreeConstraint = RtreeConstraint1 /* sqlite3.c:195961:32 */ type RtreeMatchArg1 = struct { FiSize U32 F__ccgo_pad1 [4]byte @@ -153672,20 +153703,20 @@ type RtreeMatchArg1 = struct { F__ccgo_pad2 [4]byte FapSqlParam uintptr FaParam [1]RtreeDValue -} /* sqlite3.c:195905:9 */ +} /* sqlite3.c:195962:9 */ -type RtreeMatchArg = RtreeMatchArg1 /* sqlite3.c:195905:30 */ +type RtreeMatchArg = RtreeMatchArg1 /* sqlite3.c:195962:30 */ type RtreeGeomCallback1 = struct { FxGeom uintptr FxQueryFunc uintptr FxDestructor uintptr FpContext uintptr -} /* sqlite3.c:195905:9 */ +} /* sqlite3.c:195962:9 */ -type RtreeGeomCallback = RtreeGeomCallback1 /* sqlite3.c:195906:34 */ -type RtreeCoord1 = struct{ Ff RtreeValue } /* sqlite3.c:195903:9 */ +type RtreeGeomCallback = RtreeGeomCallback1 /* sqlite3.c:195963:34 */ +type RtreeCoord1 = struct{ Ff RtreeValue } /* sqlite3.c:195960:9 */ -type RtreeCoord = RtreeCoord1 /* sqlite3.c:195907:26 */ +type RtreeCoord = RtreeCoord1 /* sqlite3.c:195964:26 */ type RtreeSearchPoint1 = struct { FrScore RtreeDValue Fid Sqlite3_int64 @@ -153693,17 +153724,17 @@ type RtreeSearchPoint1 = struct { FeWithin U8 FiCell U8 F__ccgo_pad1 [5]byte -} /* sqlite3.c:195901:9 */ +} /* sqlite3.c:195958:9 */ -type RtreeSearchPoint = RtreeSearchPoint1 /* sqlite3.c:195908:33 */ +type RtreeSearchPoint = RtreeSearchPoint1 /* sqlite3.c:195965:33 */ // Possible values for Rtree.eCoordType: // 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 RtreeDValue = float64 /* sqlite3.c:196005:18 */ // High accuracy coordinate -type RtreeValue = float32 /* sqlite3.c:196006:17 */ +type RtreeDValue = float64 /* sqlite3.c:196062:18 */ // High accuracy coordinate +type RtreeValue = float32 /* sqlite3.c:196063:17 */ // What version of GCC is being used. 0 means GCC is not being used . // Note that the GCC_VERSION macro will also be set correctly when using @@ -153729,28 +153760,28 @@ type RtreeValue = float32 /* sqlite3.c:196006:17 */ // Functions to deserialize a 16 bit integer, 32 bit real number and // 64 bit integer. The deserialized value is returned. -func readInt16(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:196290:12: */ +func readInt16(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:196347:12: */ return int32(*(*U8)(unsafe.Pointer(p)))<<8 + int32(*(*U8)(unsafe.Pointer(p + 1))) } -func readCoord(tls *libc.TLS, p uintptr, pCoord uintptr) { /* sqlite3.c:196293:13: */ +func readCoord(tls *libc.TLS, p uintptr, pCoord uintptr) { /* sqlite3.c:196350:13: */ // p is always 4-byte aligned *(*U32)(unsafe.Pointer(pCoord)) = U32(*(*U8)(unsafe.Pointer(p)))<<24 + U32(*(*U8)(unsafe.Pointer(p + 1)))<<16 + U32(*(*U8)(unsafe.Pointer(p + 2)))<<8 + U32(*(*U8)(unsafe.Pointer(p + 3)))<<0 } -func readInt64(tls *libc.TLS, p uintptr) I64 { /* sqlite3.c:196310:12: */ +func readInt64(tls *libc.TLS, p uintptr) I64 { /* sqlite3.c:196367:12: */ return I64(U64(*(*U8)(unsafe.Pointer(p)))<<56 + U64(*(*U8)(unsafe.Pointer(p + 1)))<<48 + U64(*(*U8)(unsafe.Pointer(p + 2)))<<40 + U64(*(*U8)(unsafe.Pointer(p + 3)))<<32 + U64(*(*U8)(unsafe.Pointer(p + 4)))<<24 + U64(*(*U8)(unsafe.Pointer(p + 5)))<<16 + U64(*(*U8)(unsafe.Pointer(p + 6)))<<8 + U64(*(*U8)(unsafe.Pointer(p + 7)))<<0) } // Functions to serialize a 16 bit integer, 32 bit real number and // 64 bit integer. The value returned is the number of bytes written // to the argument buffer (always 2, 4 and 8 respectively). -func writeInt16(tls *libc.TLS, p uintptr, i int32) { /* sqlite3.c:196342:13: */ +func writeInt16(tls *libc.TLS, p uintptr, i int32) { /* sqlite3.c:196399:13: */ *(*U8)(unsafe.Pointer(p)) = U8(i >> 8 & 0xFF) *(*U8)(unsafe.Pointer(p + 1)) = U8(i >> 0 & 0xFF) } -func writeCoord(tls *libc.TLS, p uintptr, pCoord uintptr) int32 { /* sqlite3.c:196346:12: */ +func writeCoord(tls *libc.TLS, p uintptr, pCoord uintptr) int32 { /* sqlite3.c:196403:12: */ var i U32 // p is always 4-byte aligned @@ -153762,7 +153793,7 @@ func writeCoord(tls *libc.TLS, p uintptr, pCoord uintptr) int32 { /* sqlite3.c:1 return 4 } -func writeInt64(tls *libc.TLS, p uintptr, i I64) int32 { /* sqlite3.c:196369:12: */ +func writeInt64(tls *libc.TLS, p uintptr, i I64) int32 { /* sqlite3.c:196426:12: */ *(*U8)(unsafe.Pointer(p)) = U8(i >> 56 & int64(0xFF)) *(*U8)(unsafe.Pointer(p + 1)) = U8(i >> 48 & int64(0xFF)) *(*U8)(unsafe.Pointer(p + 2)) = U8(i >> 40 & int64(0xFF)) @@ -153775,7 +153806,7 @@ func writeInt64(tls *libc.TLS, p uintptr, i I64) int32 { /* sqlite3.c:196369:12: } // Increment the reference count of node p. -func nodeReference(tls *libc.TLS, p uintptr) { /* sqlite3.c:196394:13: */ +func nodeReference(tls *libc.TLS, p uintptr) { /* sqlite3.c:196451:13: */ if p != 0 { (*RtreeNode)(unsafe.Pointer(p)).FnRef++ @@ -153783,20 +153814,20 @@ func nodeReference(tls *libc.TLS, p uintptr) { /* sqlite3.c:196394:13: */ } // Clear the content of node p (set all bytes to 0x00). -func nodeZero(tls *libc.TLS, pRtree uintptr, p uintptr) { /* sqlite3.c:196404:13: */ +func nodeZero(tls *libc.TLS, pRtree uintptr, p uintptr) { /* sqlite3.c:196461:13: */ libc.Xmemset(tls, (*RtreeNode)(unsafe.Pointer(p)).FzData+2, 0, uint64((*Rtree)(unsafe.Pointer(pRtree)).FiNodeSize-2)) (*RtreeNode)(unsafe.Pointer(p)).FisDirty = 1 } // Given a node number iNode, return the corresponding key to use // in the Rtree.aHash table. -func nodeHash(tls *libc.TLS, iNode I64) uint32 { /* sqlite3.c:196413:21: */ +func nodeHash(tls *libc.TLS, iNode I64) uint32 { /* sqlite3.c:196470:21: */ return uint32(iNode) % uint32(HASHSIZE) } // Search the node hash table for node iNode. If found, return a pointer // to it. Otherwise, return 0. -func nodeHashLookup(tls *libc.TLS, pRtree uintptr, iNode I64) uintptr { /* sqlite3.c:196421:18: */ +func nodeHashLookup(tls *libc.TLS, pRtree uintptr, iNode I64) uintptr { /* sqlite3.c:196478:18: */ var p uintptr for p = *(*uintptr)(unsafe.Pointer(pRtree + 192 + uintptr(nodeHash(tls, iNode))*8)); p != 0 && (*RtreeNode)(unsafe.Pointer(p)).FiNode != iNode; p = (*RtreeNode)(unsafe.Pointer(p)).FpNext { } @@ -153804,7 +153835,7 @@ func nodeHashLookup(tls *libc.TLS, pRtree uintptr, iNode I64) uintptr { /* sqlit } // Add node pNode to the node hash table. -func nodeHashInsert(tls *libc.TLS, pRtree uintptr, pNode uintptr) { /* sqlite3.c:196430:13: */ +func nodeHashInsert(tls *libc.TLS, pRtree uintptr, pNode uintptr) { /* sqlite3.c:196487:13: */ var iHash int32 iHash = int32(nodeHash(tls, (*RtreeNode)(unsafe.Pointer(pNode)).FiNode)) @@ -153813,7 +153844,7 @@ func nodeHashInsert(tls *libc.TLS, pRtree uintptr, pNode uintptr) { /* sqlite3.c } // Remove node pNode from the node hash table. -func nodeHashDelete(tls *libc.TLS, pRtree uintptr, pNode uintptr) { /* sqlite3.c:196441:13: */ +func nodeHashDelete(tls *libc.TLS, pRtree uintptr, pNode uintptr) { /* sqlite3.c:196498:13: */ var pp uintptr if (*RtreeNode)(unsafe.Pointer(pNode)).FiNode != int64(0) { pp = pRtree + 192 + uintptr(nodeHash(tls, (*RtreeNode)(unsafe.Pointer(pNode)).FiNode))*8 @@ -153828,7 +153859,7 @@ func nodeHashDelete(tls *libc.TLS, pRtree uintptr, pNode uintptr) { /* sqlite3.c // indicating that node has not yet been assigned a node number. It is // assigned a node number when nodeWrite() is called to write the // node contents out to the database. -func nodeNew(tls *libc.TLS, pRtree uintptr, pParent uintptr) uintptr { /* sqlite3.c:196457:18: */ +func nodeNew(tls *libc.TLS, pRtree uintptr, pParent uintptr) uintptr { /* sqlite3.c:196514:18: */ var pNode uintptr pNode = Xsqlite3_malloc64(tls, uint64(uint64(unsafe.Sizeof(RtreeNode{}))+uint64((*Rtree)(unsafe.Pointer(pRtree)).FiNodeSize))) if pNode != 0 { @@ -153844,7 +153875,7 @@ func nodeNew(tls *libc.TLS, pRtree uintptr, pParent uintptr) uintptr { /* sqlite } // Clear the Rtree.pNodeBlob object -func nodeBlobReset(tls *libc.TLS, pRtree uintptr) { /* sqlite3.c:196475:13: */ +func nodeBlobReset(tls *libc.TLS, pRtree uintptr) { /* sqlite3.c:196532:13: */ if (*Rtree)(unsafe.Pointer(pRtree)).FpNodeBlob != 0 && int32((*Rtree)(unsafe.Pointer(pRtree)).FinWrTrans) == 0 && (*Rtree)(unsafe.Pointer(pRtree)).FnCursor == U32(0) { var pBlob uintptr = (*Rtree)(unsafe.Pointer(pRtree)).FpNodeBlob (*Rtree)(unsafe.Pointer(pRtree)).FpNodeBlob = uintptr(0) @@ -153853,7 +153884,7 @@ func nodeBlobReset(tls *libc.TLS, pRtree uintptr) { /* sqlite3.c:196475:13: */ } // Obtain a reference to an r-tree node. -func nodeAcquire(tls *libc.TLS, pRtree uintptr, iNode I64, pParent uintptr, ppNode uintptr) int32 { /* sqlite3.c:196486:12: */ +func nodeAcquire(tls *libc.TLS, pRtree uintptr, iNode I64, pParent uintptr, ppNode uintptr) int32 { /* sqlite3.c:196543:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -153963,7 +153994,7 @@ func nodeAcquire(tls *libc.TLS, pRtree uintptr, iNode I64, pParent uintptr, ppNo } // Overwrite cell iCell of node pNode with the contents of pCell. -func nodeOverwriteCell(tls *libc.TLS, pRtree uintptr, pNode uintptr, pCell uintptr, iCell int32) { /* sqlite3.c:196599:13: */ +func nodeOverwriteCell(tls *libc.TLS, pRtree uintptr, pNode uintptr, pCell uintptr, iCell int32) { /* sqlite3.c:196656:13: */ var ii int32 var p uintptr = (*RtreeNode)(unsafe.Pointer(pNode)).FzData + uintptr(4+int32((*Rtree)(unsafe.Pointer(pRtree)).FnBytesPerCell)*iCell) p += uintptr(writeInt64(tls, p, (*RtreeCell)(unsafe.Pointer(pCell)).FiRowid)) @@ -153974,7 +154005,7 @@ func nodeOverwriteCell(tls *libc.TLS, pRtree uintptr, pNode uintptr, pCell uintp } // Remove the cell with index iCell from node pNode. -func nodeDeleteCell(tls *libc.TLS, pRtree uintptr, pNode uintptr, iCell int32) { /* sqlite3.c:196617:13: */ +func nodeDeleteCell(tls *libc.TLS, pRtree uintptr, pNode uintptr, iCell int32) { /* sqlite3.c:196674:13: */ var pDst uintptr = (*RtreeNode)(unsafe.Pointer(pNode)).FzData + uintptr(4+int32((*Rtree)(unsafe.Pointer(pRtree)).FnBytesPerCell)*iCell) var pSrc uintptr = pDst + uintptr((*Rtree)(unsafe.Pointer(pRtree)).FnBytesPerCell) var nByte int32 = (readInt16(tls, (*RtreeNode)(unsafe.Pointer(pNode)).FzData+2) - iCell - 1) * int32((*Rtree)(unsafe.Pointer(pRtree)).FnBytesPerCell) @@ -153987,7 +154018,7 @@ func nodeDeleteCell(tls *libc.TLS, pRtree uintptr, pNode uintptr, iCell int32) { // is successful, return SQLITE_OK. // // If there is not enough free space in pNode, return SQLITE_FULL. -func nodeInsertCell(tls *libc.TLS, pRtree uintptr, pNode uintptr, pCell uintptr) int32 { /* sqlite3.c:196632:12: */ +func nodeInsertCell(tls *libc.TLS, pRtree uintptr, pNode uintptr, pCell uintptr) int32 { /* sqlite3.c:196689:12: */ var nCell int32 // Current number of cells in pNode var nMaxCell int32 // Maximum number of cells for pNode @@ -154004,7 +154035,7 @@ func nodeInsertCell(tls *libc.TLS, pRtree uintptr, pNode uintptr, pCell uintptr) } // If the node is dirty, write it out to the database. -func nodeWrite(tls *libc.TLS, pRtree uintptr, pNode uintptr) int32 { /* sqlite3.c:196656:12: */ +func nodeWrite(tls *libc.TLS, pRtree uintptr, pNode uintptr) int32 { /* sqlite3.c:196713:12: */ var rc int32 = SQLITE_OK if (*RtreeNode)(unsafe.Pointer(pNode)).FisDirty != 0 { var p uintptr = (*Rtree)(unsafe.Pointer(pRtree)).FpWriteNode @@ -154028,7 +154059,7 @@ func nodeWrite(tls *libc.TLS, pRtree uintptr, pNode uintptr) int32 { /* sqlite3. // Release a reference to a node. If the node is dirty and the reference // count drops to zero, the node data is written to the database. -func nodeRelease(tls *libc.TLS, pRtree uintptr, pNode uintptr) int32 { /* sqlite3.c:196682:12: */ +func nodeRelease(tls *libc.TLS, pRtree uintptr, pNode uintptr) int32 { /* sqlite3.c:196739:12: */ var rc int32 = SQLITE_OK if pNode != 0 { @@ -154054,19 +154085,19 @@ func nodeRelease(tls *libc.TLS, pRtree uintptr, pNode uintptr) int32 { /* sqlite // Return the 64-bit integer value associated with cell iCell of // node pNode. If pNode is a leaf node, this is a rowid. If it is // an internal node, then the 64-bit integer is a child page number. -func nodeGetRowid(tls *libc.TLS, pRtree uintptr, pNode uintptr, iCell int32) I64 { /* sqlite3.c:196711:12: */ +func nodeGetRowid(tls *libc.TLS, pRtree uintptr, pNode uintptr, iCell int32) I64 { /* sqlite3.c:196768:12: */ return readInt64(tls, (*RtreeNode)(unsafe.Pointer(pNode)).FzData+uintptr(4+int32((*Rtree)(unsafe.Pointer(pRtree)).FnBytesPerCell)*iCell)) } // Return coordinate iCoord from cell iCell in node pNode. -func nodeGetCoord(tls *libc.TLS, pRtree uintptr, pNode uintptr, iCell int32, iCoord int32, pCoord uintptr) { /* sqlite3.c:196723:13: */ +func nodeGetCoord(tls *libc.TLS, pRtree uintptr, pNode uintptr, iCell int32, iCoord int32, pCoord uintptr) { /* sqlite3.c:196780:13: */ readCoord(tls, (*RtreeNode)(unsafe.Pointer(pNode)).FzData+uintptr(12+int32((*Rtree)(unsafe.Pointer(pRtree)).FnBytesPerCell)*iCell+4*iCoord), pCoord) } // Deserialize cell iCell of node pNode. Populate the structure pointed // to by pCell with the results. -func nodeGetCell(tls *libc.TLS, pRtree uintptr, pNode uintptr, iCell int32, pCell uintptr) { /* sqlite3.c:196737:13: */ +func nodeGetCell(tls *libc.TLS, pRtree uintptr, pNode uintptr, iCell int32, pCell uintptr) { /* sqlite3.c:196794:13: */ var pData uintptr var pCoord uintptr var ii int32 = 0 @@ -154082,23 +154113,23 @@ func nodeGetCell(tls *libc.TLS, pRtree uintptr, pNode uintptr, iCell int32, pCel } // Rtree virtual table module xCreate method. -func rtreeCreate(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 { /* sqlite3.c:196768:12: */ +func rtreeCreate(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 { /* sqlite3.c:196825:12: */ return rtreeInit(tls, db, pAux, argc, argv, ppVtab, pzErr, 1) } // Rtree virtual table module xConnect method. -func rtreeConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 { /* sqlite3.c:196781:12: */ +func rtreeConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 { /* sqlite3.c:196838:12: */ return rtreeInit(tls, db, pAux, argc, argv, ppVtab, pzErr, 0) } // Increment the r-tree reference count. -func rtreeReference(tls *libc.TLS, pRtree uintptr) { /* sqlite3.c:196794:13: */ +func rtreeReference(tls *libc.TLS, pRtree uintptr) { /* sqlite3.c:196851:13: */ (*Rtree)(unsafe.Pointer(pRtree)).FnBusy++ } // Decrement the r-tree reference count. When the reference count reaches // zero the structure is deleted. -func rtreeRelease(tls *libc.TLS, pRtree uintptr) { /* sqlite3.c:196802:13: */ +func rtreeRelease(tls *libc.TLS, pRtree uintptr) { /* sqlite3.c:196859:13: */ (*Rtree)(unsafe.Pointer(pRtree)).FnBusy-- if (*Rtree)(unsafe.Pointer(pRtree)).FnBusy == U32(0) { (*Rtree)(unsafe.Pointer(pRtree)).FinWrTrans = U8(0) @@ -154120,13 +154151,13 @@ func rtreeRelease(tls *libc.TLS, pRtree uintptr) { /* sqlite3.c:196802:13: */ } // Rtree virtual table module xDisconnect method. -func rtreeDisconnect(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:196826:12: */ +func rtreeDisconnect(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:196883:12: */ rtreeRelease(tls, pVtab) return SQLITE_OK } // Rtree virtual table module xDestroy method. -func rtreeDestroy(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:196834:12: */ +func rtreeDestroy(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:196891:12: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -154153,7 +154184,7 @@ func rtreeDestroy(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:196834:12: } // Rtree virtual table module xOpen method. -func rtreeOpen(tls *libc.TLS, pVTab uintptr, ppCursor uintptr) int32 { /* sqlite3.c:196862:12: */ +func rtreeOpen(tls *libc.TLS, pVTab uintptr, ppCursor uintptr) int32 { /* sqlite3.c:196919:12: */ var rc int32 = SQLITE_NOMEM var pRtree uintptr = pVTab var pCsr uintptr @@ -154171,7 +154202,7 @@ func rtreeOpen(tls *libc.TLS, pVTab uintptr, ppCursor uintptr) int32 { /* sqlite } // Reset a cursor back to its initial state. -func resetCursor(tls *libc.TLS, pCsr uintptr) { /* sqlite3.c:196883:13: */ +func resetCursor(tls *libc.TLS, pCsr uintptr) { /* sqlite3.c:196940:13: */ var pRtree uintptr = (*RtreeCursor)(unsafe.Pointer(pCsr)).Fbase.FpVtab var ii int32 var pStmt uintptr @@ -154201,7 +154232,7 @@ func resetCursor(tls *libc.TLS, pCsr uintptr) { /* sqlite3.c:196883:13: */ } // Rtree virtual table module xClose method. -func rtreeClose(tls *libc.TLS, cur uintptr) int32 { /* sqlite3.c:196911:12: */ +func rtreeClose(tls *libc.TLS, cur uintptr) int32 { /* sqlite3.c:196968:12: */ var pRtree uintptr = (*Sqlite3_vtab_cursor)(unsafe.Pointer(cur)).FpVtab var pCsr uintptr = cur @@ -154217,7 +154248,7 @@ func rtreeClose(tls *libc.TLS, cur uintptr) int32 { /* sqlite3.c:196911:12: */ // // Return non-zero if the cursor does not currently point to a valid // record (i.e if the scan has finished), or zero otherwise. -func rtreeEof(tls *libc.TLS, cur uintptr) int32 { /* sqlite3.c:196929:12: */ +func rtreeEof(tls *libc.TLS, cur uintptr) int32 { /* sqlite3.c:196986:12: */ var pCsr uintptr = cur return int32((*RtreeCursor)(unsafe.Pointer(pCsr)).FatEOF) } @@ -154234,7 +154265,7 @@ func rtreeEof(tls *libc.TLS, cur uintptr) int32 { /* sqlite3.c:196929:12: */ // Check the RTree node or entry given by pCellData and p against the MATCH // constraint pConstraint. -func rtreeCallbackConstraint(tls *libc.TLS, pConstraint uintptr, eInt int32, pCellData uintptr, pSearch uintptr, prScore uintptr, peWithin uintptr) int32 { /* sqlite3.c:196984:12: */ +func rtreeCallbackConstraint(tls *libc.TLS, pConstraint uintptr, eInt int32, pCellData uintptr, pSearch uintptr, prScore uintptr, peWithin uintptr) int32 { /* sqlite3.c:197041:12: */ bp := tls.Alloc(92) defer tls.Free(92) @@ -154346,7 +154377,7 @@ func rtreeCallbackConstraint(tls *libc.TLS, pConstraint uintptr, eInt int32, pCe // Check the internal RTree node given by pCellData against constraint p. // If this constraint cannot be satisfied by any child within the node, // set *peWithin to NOT_WITHIN. -func rtreeNonleafConstraint(tls *libc.TLS, p uintptr, eInt int32, pCellData uintptr, peWithin uintptr) { /* sqlite3.c:197060:13: */ +func rtreeNonleafConstraint(tls *libc.TLS, p uintptr, eInt int32, pCellData uintptr, peWithin uintptr) { /* sqlite3.c:197117:13: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -154448,7 +154479,7 @@ func rtreeNonleafConstraint(tls *libc.TLS, p uintptr, eInt int32, pCellData uint // // The op is given by p->op. The xN is p->iCoord-th coordinate in // pCellData. $val is given by p->u.rValue. -func rtreeLeafConstraint(tls *libc.TLS, p uintptr, eInt int32, pCellData uintptr, peWithin uintptr) { /* sqlite3.c:197117:13: */ +func rtreeLeafConstraint(tls *libc.TLS, p uintptr, eInt int32, pCellData uintptr, peWithin uintptr) { /* sqlite3.c:197174:13: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -154504,7 +154535,7 @@ func rtreeLeafConstraint(tls *libc.TLS, p uintptr, eInt int32, pCellData uintptr // One of the cells in node pNode is guaranteed to have a 64-bit // integer value equal to iRowid. Return the index of this cell. -func nodeRowidIndex(tls *libc.TLS, pRtree uintptr, pNode uintptr, iRowid I64, piIndex uintptr) int32 { /* sqlite3.c:197147:12: */ +func nodeRowidIndex(tls *libc.TLS, pRtree uintptr, pNode uintptr, iRowid I64, piIndex uintptr) int32 { /* sqlite3.c:197204:12: */ var ii int32 var nCell int32 = readInt16(tls, (*RtreeNode)(unsafe.Pointer(pNode)).FzData+2) @@ -154520,7 +154551,7 @@ func nodeRowidIndex(tls *libc.TLS, pRtree uintptr, pNode uintptr, iRowid I64, pi // Return the index of the cell containing a pointer to node pNode // in its parent. If pNode is the root node, return -1. -func nodeParentIndex(tls *libc.TLS, pRtree uintptr, pNode uintptr, piIndex uintptr) int32 { /* sqlite3.c:197170:12: */ +func nodeParentIndex(tls *libc.TLS, pRtree uintptr, pNode uintptr, piIndex uintptr) int32 { /* sqlite3.c:197227:12: */ var pParent uintptr = (*RtreeNode)(unsafe.Pointer(pNode)).FpParent if pParent != 0 { return nodeRowidIndex(tls, pRtree, pParent, (*RtreeNode)(unsafe.Pointer(pNode)).FiNode, piIndex) @@ -154539,7 +154570,7 @@ func nodeParentIndex(tls *libc.TLS, pRtree uintptr, pNode uintptr, piIndex uintp // iLevel values coming first. In this way, if rScore is the same for all // SearchPoints, then iLevel becomes the deciding factor and the result // is a depth-first search, which is the desired default behavior. -func rtreeSearchPointCompare(tls *libc.TLS, pA uintptr, pB uintptr) int32 { /* sqlite3.c:197190:12: */ +func rtreeSearchPointCompare(tls *libc.TLS, pA uintptr, pB uintptr) int32 { /* sqlite3.c:197247:12: */ if (*RtreeSearchPoint)(unsafe.Pointer(pA)).FrScore < (*RtreeSearchPoint)(unsafe.Pointer(pB)).FrScore { return -1 } @@ -154556,7 +154587,7 @@ func rtreeSearchPointCompare(tls *libc.TLS, pA uintptr, pB uintptr) int32 { /* s } // Interchange two search points in a cursor. -func rtreeSearchPointSwap(tls *libc.TLS, p uintptr, i int32, j int32) { /* sqlite3.c:197204:13: */ +func rtreeSearchPointSwap(tls *libc.TLS, p uintptr, i int32, j int32) { /* sqlite3.c:197261:13: */ var t = *(*RtreeSearchPoint)(unsafe.Pointer((*RtreeCursor)(unsafe.Pointer(p)).FaPoint + uintptr(i)*24)) *(*RtreeSearchPoint)(unsafe.Pointer((*RtreeCursor)(unsafe.Pointer(p)).FaPoint + uintptr(i)*24)) = *(*RtreeSearchPoint)(unsafe.Pointer((*RtreeCursor)(unsafe.Pointer(p)).FaPoint + uintptr(j)*24)) @@ -154576,7 +154607,7 @@ func rtreeSearchPointSwap(tls *libc.TLS, p uintptr, i int32, j int32) { /* sqlit } // Return the search point with the lowest current score. -func rtreeSearchPointFirst(tls *libc.TLS, pCur uintptr) uintptr { /* sqlite3.c:197225:25: */ +func rtreeSearchPointFirst(tls *libc.TLS, pCur uintptr) uintptr { /* sqlite3.c:197282:25: */ if (*RtreeCursor)(unsafe.Pointer(pCur)).FbPoint != 0 { return pCur + 64 } @@ -154587,7 +154618,7 @@ func rtreeSearchPointFirst(tls *libc.TLS, pCur uintptr) uintptr { /* sqlite3.c:1 } // Get the RtreeNode for the search point with the lowest score. -func rtreeNodeOfFirstSearchPoint(tls *libc.TLS, pCur uintptr, pRC uintptr) uintptr { /* sqlite3.c:197232:18: */ +func rtreeNodeOfFirstSearchPoint(tls *libc.TLS, pCur uintptr, pRC uintptr) uintptr { /* sqlite3.c:197289:18: */ var id Sqlite3_int64 var ii int32 = 1 - int32((*RtreeCursor)(unsafe.Pointer(pCur)).FbPoint) @@ -154604,7 +154635,7 @@ func rtreeNodeOfFirstSearchPoint(tls *libc.TLS, pCur uintptr, pRC uintptr) uintp } // Push a new element onto the priority queue -func rtreeEnqueue(tls *libc.TLS, pCur uintptr, rScore RtreeDValue, iLevel U8) uintptr { /* sqlite3.c:197248:25: */ +func rtreeEnqueue(tls *libc.TLS, pCur uintptr, rScore RtreeDValue, iLevel U8) uintptr { /* sqlite3.c:197305:25: */ var i int32 var j int32 var pNew uintptr @@ -154638,7 +154669,7 @@ func rtreeEnqueue(tls *libc.TLS, pCur uintptr, rScore RtreeDValue, iLevel U8) ui // Allocate a new RtreeSearchPoint and return a pointer to it. Return // NULL if malloc fails. -func rtreeSearchPointNew(tls *libc.TLS, pCur uintptr, rScore RtreeDValue, iLevel U8) uintptr { /* sqlite3.c:197283:25: */ +func rtreeSearchPointNew(tls *libc.TLS, pCur uintptr, rScore RtreeDValue, iLevel U8) uintptr { /* sqlite3.c:197340:25: */ var pNew uintptr var pFirst uintptr pFirst = rtreeSearchPointFirst(tls, pCur) @@ -154674,7 +154705,7 @@ func rtreeSearchPointNew(tls *libc.TLS, pCur uintptr, rScore RtreeDValue, iLevel } // Remove the search point with the lowest current score. -func rtreeSearchPointPop(tls *libc.TLS, p uintptr) { /* sqlite3.c:197351:13: */ +func rtreeSearchPointPop(tls *libc.TLS, p uintptr) { /* sqlite3.c:197408:13: */ var i int32 var j int32 var k int32 @@ -154722,7 +154753,7 @@ func rtreeSearchPointPop(tls *libc.TLS, p uintptr) { /* sqlite3.c:197351:13: */ // contains an entry suitable for returning as a result-set row, // or until the RtreeSearchPoint queue is empty, indicating that the // query has completed. -func rtreeStepToLeaf(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:197399:12: */ +func rtreeStepToLeaf(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:197456:12: */ bp := tls.Alloc(20) defer tls.Free(20) @@ -154815,7 +154846,7 @@ func rtreeStepToLeaf(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:197399:12 } // Rtree virtual table module xNext method. -func rtreeNext(tls *libc.TLS, pVtabCursor uintptr) int32 { /* sqlite3.c:197480:12: */ +func rtreeNext(tls *libc.TLS, pVtabCursor uintptr) int32 { /* sqlite3.c:197537:12: */ var pCsr uintptr = pVtabCursor var rc int32 = SQLITE_OK @@ -154831,7 +154862,7 @@ func rtreeNext(tls *libc.TLS, pVtabCursor uintptr) int32 { /* sqlite3.c:197480:1 } // Rtree virtual table module xRowid method. -func rtreeRowid(tls *libc.TLS, pVtabCursor uintptr, pRowid uintptr) int32 { /* sqlite3.c:197498:12: */ +func rtreeRowid(tls *libc.TLS, pVtabCursor uintptr, pRowid uintptr) int32 { /* sqlite3.c:197555:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -154846,7 +154877,7 @@ func rtreeRowid(tls *libc.TLS, pVtabCursor uintptr, pRowid uintptr) int32 { /* s } // Rtree virtual table module xColumn method. -func rtreeColumn(tls *libc.TLS, cur uintptr, ctx uintptr, i int32) int32 { /* sqlite3.c:197512:12: */ +func rtreeColumn(tls *libc.TLS, cur uintptr, ctx uintptr, i int32) int32 { /* sqlite3.c:197569:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -154907,7 +154938,7 @@ func rtreeColumn(tls *libc.TLS, cur uintptr, ctx uintptr, i int32) int32 { /* sq // return SQLITE_OK. If there is no such record in the table, set // *ppLeaf to 0 and return SQLITE_OK. If an error occurs, set *ppLeaf // to zero and return an SQLite error code. -func findLeafNode(tls *libc.TLS, pRtree uintptr, iRowid I64, ppLeaf uintptr, piNode uintptr) int32 { /* sqlite3.c:197566:12: */ +func findLeafNode(tls *libc.TLS, pRtree uintptr, iRowid I64, ppLeaf uintptr, piNode uintptr) int32 { /* sqlite3.c:197623:12: */ var rc int32 *(*uintptr)(unsafe.Pointer(ppLeaf)) = uintptr(0) Xsqlite3_bind_int64(tls, (*Rtree)(unsafe.Pointer(pRtree)).FpReadRowid, 1, iRowid) @@ -154928,7 +154959,7 @@ func findLeafNode(tls *libc.TLS, pRtree uintptr, iRowid I64, ppLeaf uintptr, piN // as the second argument for a MATCH constraint. The value passed as the // first argument to this function is the right-hand operand to the MATCH // operator. -func deserializeGeometry(tls *libc.TLS, pValue uintptr, pCons uintptr) int32 { /* sqlite3.c:197592:12: */ +func deserializeGeometry(tls *libc.TLS, pValue uintptr, pCons uintptr) int32 { /* sqlite3.c:197649:12: */ var pBlob uintptr var pSrc uintptr // BLOB returned by geometry function var pInfo uintptr // Callback information @@ -154960,7 +154991,7 @@ func deserializeGeometry(tls *libc.TLS, pValue uintptr, pCons uintptr) int32 { / } // Rtree virtual table module xFilter method. -func rtreeFilter(tls *libc.TLS, pVtabCursor uintptr, idxNum int32, idxStr uintptr, argc int32, argv uintptr) int32 { /* sqlite3.c:197622:12: */ +func rtreeFilter(tls *libc.TLS, pVtabCursor uintptr, idxNum int32, idxStr uintptr, argc int32, argv uintptr) int32 { /* sqlite3.c:197679:12: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -155103,7 +155134,7 @@ func rtreeFilter(tls *libc.TLS, pVtabCursor uintptr, idxNum int32, idxStr uintpt // The second of each pair of bytes identifies the coordinate column // to which the constraint applies. The leftmost coordinate column // is 'a', the second from the left 'b' etc. -func rtreeBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 { /* sqlite3.c:197775:12: */ +func rtreeBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 { /* sqlite3.c:197832:12: */ bp := tls.Alloc(49) defer tls.Free(49) @@ -155210,7 +155241,7 @@ func rtreeBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 { /* sql } // Return the N-dimensional volumn of the cell stored in *p. -func cellArea(tls *libc.TLS, pRtree uintptr, p uintptr) RtreeDValue { /* sqlite3.c:197864:20: */ +func cellArea(tls *libc.TLS, pRtree uintptr, p uintptr) RtreeDValue { /* sqlite3.c:197921:20: */ var area RtreeDValue = RtreeDValue(1) if int32((*Rtree)(unsafe.Pointer(pRtree)).FeCoordType) == RTREE_COORD_REAL32 { @@ -155253,7 +155284,7 @@ func cellArea(tls *libc.TLS, pRtree uintptr, p uintptr) RtreeDValue { /* sqlite3 // Return the margin length of cell p. The margin length is the sum // of the objects size in each dimension. -func cellMargin(tls *libc.TLS, pRtree uintptr, p uintptr) RtreeDValue { /* sqlite3.c:197894:20: */ +func cellMargin(tls *libc.TLS, pRtree uintptr, p uintptr) RtreeDValue { /* sqlite3.c:197951:20: */ var margin RtreeDValue = RtreeDValue(0) var ii int32 = int32((*Rtree)(unsafe.Pointer(pRtree)).FnDim2) - 2 for __ccgo := true; __ccgo; __ccgo = ii >= 0 { @@ -155274,7 +155305,7 @@ func cellMargin(tls *libc.TLS, pRtree uintptr, p uintptr) RtreeDValue { /* sqlit } // Store the union of cells p1 and p2 in p1. -func cellUnion(tls *libc.TLS, pRtree uintptr, p1 uintptr, p2 uintptr) { /* sqlite3.c:197907:13: */ +func cellUnion(tls *libc.TLS, pRtree uintptr, p1 uintptr, p2 uintptr) { /* sqlite3.c:197964:13: */ var ii int32 = 0 if int32((*Rtree)(unsafe.Pointer(pRtree)).FeCoordType) == RTREE_COORD_REAL32 { for __ccgo := true; __ccgo; __ccgo = ii < int32((*Rtree)(unsafe.Pointer(pRtree)).FnDim2) { @@ -155313,7 +155344,7 @@ func cellUnion(tls *libc.TLS, pRtree uintptr, p1 uintptr, p2 uintptr) { /* sqlit // Return true if the area covered by p2 is a subset of the area covered // by p1. False otherwise. -func cellContains(tls *libc.TLS, pRtree uintptr, p1 uintptr, p2 uintptr) int32 { /* sqlite3.c:197928:12: */ +func cellContains(tls *libc.TLS, pRtree uintptr, p1 uintptr, p2 uintptr) int32 { /* sqlite3.c:197985:12: */ var ii int32 var isInt int32 = libc.Bool32(int32((*Rtree)(unsafe.Pointer(pRtree)).FeCoordType) == RTREE_COORD_INT32) for ii = 0; ii < int32((*Rtree)(unsafe.Pointer(pRtree)).FnDim2); ii = ii + 2 { @@ -155328,7 +155359,7 @@ func cellContains(tls *libc.TLS, pRtree uintptr, p1 uintptr, p2 uintptr) int32 { } // Return the amount cell p would grow by if it were unioned with pCell. -func cellGrowth(tls *libc.TLS, pRtree uintptr, p uintptr, pCell uintptr) RtreeDValue { /* sqlite3.c:197946:20: */ +func cellGrowth(tls *libc.TLS, pRtree uintptr, p uintptr, pCell uintptr) RtreeDValue { /* sqlite3.c:198003:20: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -155341,7 +155372,7 @@ func cellGrowth(tls *libc.TLS, pRtree uintptr, p uintptr, pCell uintptr) RtreeDV return cellArea(tls, pRtree, bp) - area } -func cellOverlap(tls *libc.TLS, pRtree uintptr, p uintptr, aCell uintptr, nCell int32) RtreeDValue { /* sqlite3.c:197955:20: */ +func cellOverlap(tls *libc.TLS, pRtree uintptr, p uintptr, aCell uintptr, nCell int32) RtreeDValue { /* sqlite3.c:198012:20: */ var ii int32 var overlap RtreeDValue = 0.0 for ii = 0; ii < nCell; ii++ { @@ -155416,7 +155447,7 @@ func cellOverlap(tls *libc.TLS, pRtree uintptr, p uintptr, aCell uintptr, nCell // This function implements the ChooseLeaf algorithm from Gutman[84]. // ChooseSubTree in r*tree terminology. -func sChooseLeaf(tls *libc.TLS, pRtree uintptr, pCell uintptr, iHeight int32, ppLeaf uintptr) int32 { /* sqlite3.c:197987:12: */ +func sChooseLeaf(tls *libc.TLS, pRtree uintptr, pCell uintptr, iHeight int32, ppLeaf uintptr) int32 { /* sqlite3.c:198044:12: */ bp := tls.Alloc(64) defer tls.Free(64) @@ -155472,7 +155503,7 @@ func sChooseLeaf(tls *libc.TLS, pRtree uintptr, pCell uintptr, iHeight int32, pp // A cell with the same content as pCell has just been inserted into // the node pNode. This function updates the bounding box cells in // all ancestor elements. -func sAdjustTree(tls *libc.TLS, pRtree uintptr, pNode uintptr, pCell uintptr) int32 { /* sqlite3.c:198047:12: */ +func sAdjustTree(tls *libc.TLS, pRtree uintptr, pNode uintptr, pCell uintptr) int32 { /* sqlite3.c:198104:12: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -155508,7 +155539,7 @@ func sAdjustTree(tls *libc.TLS, pRtree uintptr, pNode uintptr, pCell uintptr) in } // Write mapping (iRowid->iNode) to the _rowid table. -func rowidWrite(tls *libc.TLS, pRtree uintptr, iRowid Sqlite3_int64, iNode Sqlite3_int64) int32 { /* sqlite3.c:198085:12: */ +func rowidWrite(tls *libc.TLS, pRtree uintptr, iRowid Sqlite3_int64, iNode Sqlite3_int64) int32 { /* sqlite3.c:198142:12: */ Xsqlite3_bind_int64(tls, (*Rtree)(unsafe.Pointer(pRtree)).FpWriteRowid, 1, iRowid) Xsqlite3_bind_int64(tls, (*Rtree)(unsafe.Pointer(pRtree)).FpWriteRowid, 2, iNode) Xsqlite3_step(tls, (*Rtree)(unsafe.Pointer(pRtree)).FpWriteRowid) @@ -155516,7 +155547,7 @@ func rowidWrite(tls *libc.TLS, pRtree uintptr, iRowid Sqlite3_int64, iNode Sqlit } // Write mapping (iNode->iPar) to the _parent table. -func parentWrite(tls *libc.TLS, pRtree uintptr, iNode Sqlite3_int64, iPar Sqlite3_int64) int32 { /* sqlite3.c:198095:12: */ +func parentWrite(tls *libc.TLS, pRtree uintptr, iNode Sqlite3_int64, iPar Sqlite3_int64) int32 { /* sqlite3.c:198152:12: */ Xsqlite3_bind_int64(tls, (*Rtree)(unsafe.Pointer(pRtree)).FpWriteParent, 1, iNode) Xsqlite3_bind_int64(tls, (*Rtree)(unsafe.Pointer(pRtree)).FpWriteParent, 2, iPar) Xsqlite3_step(tls, (*Rtree)(unsafe.Pointer(pRtree)).FpWriteParent) @@ -155538,7 +155569,7 @@ func parentWrite(tls *libc.TLS, pRtree uintptr, iNode Sqlite3_int64, iPar Sqlite // // The aSpare array is used as temporary working space by the // sorting algorithm. -func sSortByDistance(tls *libc.TLS, aIdx uintptr, nIdx int32, aDistance uintptr, aSpare uintptr) { /* sqlite3.c:198122:13: */ +func sSortByDistance(tls *libc.TLS, aIdx uintptr, nIdx int32, aDistance uintptr, aSpare uintptr) { /* sqlite3.c:198179:13: */ if nIdx > 1 { var iLeft int32 = 0 var iRight int32 = 0 @@ -155586,7 +155617,7 @@ func sSortByDistance(tls *libc.TLS, aIdx uintptr, nIdx int32, aDistance uintptr, // // The aSpare array is used as temporary working space by the // sorting algorithm. -func sSortByDimension(tls *libc.TLS, pRtree uintptr, aIdx uintptr, nIdx int32, iDim int32, aCell uintptr, aSpare uintptr) { /* sqlite3.c:198188:13: */ +func sSortByDimension(tls *libc.TLS, pRtree uintptr, aIdx uintptr, nIdx int32, iDim int32, aCell uintptr, aSpare uintptr) { /* sqlite3.c:198245:13: */ if nIdx > 1 { var iLeft int32 = 0 @@ -155642,7 +155673,7 @@ func sSortByDimension(tls *libc.TLS, pRtree uintptr, aIdx uintptr, nIdx int32, i } // Implementation of the R*-tree variant of SplitNode from Beckman[1990]. -func splitNodeStartree(tls *libc.TLS, pRtree uintptr, aCell uintptr, nCell int32, pLeft uintptr, pRight uintptr, pBboxLeft uintptr, pBboxRight uintptr) int32 { /* sqlite3.c:198247:12: */ +func splitNodeStartree(tls *libc.TLS, pRtree uintptr, aCell uintptr, nCell int32, pLeft uintptr, pRight uintptr, pBboxLeft uintptr, pBboxRight uintptr) int32 { /* sqlite3.c:198304:12: */ bp := tls.Alloc(96) defer tls.Free(96) @@ -155741,7 +155772,7 @@ func splitNodeStartree(tls *libc.TLS, pRtree uintptr, aCell uintptr, nCell int32 return SQLITE_OK } -func updateMapping(tls *libc.TLS, pRtree uintptr, iRowid I64, pNode uintptr, iHeight int32) int32 { /* sqlite3.c:198345:12: */ +func updateMapping(tls *libc.TLS, pRtree uintptr, iRowid I64, pNode uintptr, iHeight int32) int32 { /* sqlite3.c:198402:12: */ var xSetMapping uintptr xSetMapping = func() uintptr { if iHeight == 0 { @@ -155775,7 +155806,7 @@ func updateMapping(tls *libc.TLS, pRtree uintptr, iRowid I64, pNode uintptr, iHe })(unsafe.Pointer(&struct{ uintptr }{xSetMapping})).f(tls, pRtree, iRowid, (*RtreeNode)(unsafe.Pointer(pNode)).FiNode) } -func sSplitNode(tls *libc.TLS, pRtree uintptr, pNode uintptr, pCell uintptr, iHeight int32) int32 { /* sqlite3.c:198369:12: */ +func sSplitNode(tls *libc.TLS, pRtree uintptr, pNode uintptr, pCell uintptr, iHeight int32) int32 { /* sqlite3.c:198426:12: */ bp := tls.Alloc(100) defer tls.Free(100) @@ -156010,7 +156041,7 @@ splitnode_out: // rowid of the row to delete, which can be used to find the leaf on which // the entry resides (argument pLeaf). Once the leaf is located, this // function is called to determine its ancestry. -func fixLeafParent(tls *libc.TLS, pRtree uintptr, pLeaf uintptr) int32 { /* sqlite3.c:198517:12: */ +func fixLeafParent(tls *libc.TLS, pRtree uintptr, pLeaf uintptr) int32 { /* sqlite3.c:198574:12: */ var rc int32 = SQLITE_OK var pChild uintptr = pLeaf for rc == SQLITE_OK && (*RtreeNode)(unsafe.Pointer(pChild)).FiNode != int64(1) && (*RtreeNode)(unsafe.Pointer(pChild)).FpParent == uintptr(0) { @@ -156045,7 +156076,7 @@ func fixLeafParent(tls *libc.TLS, pRtree uintptr, pLeaf uintptr) int32 { /* sqli return rc } -func removeNode(tls *libc.TLS, pRtree uintptr, pNode uintptr, iHeight int32) int32 { /* sqlite3.c:198552:12: */ +func removeNode(tls *libc.TLS, pRtree uintptr, pNode uintptr, iHeight int32) int32 { /* sqlite3.c:198609:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -156095,7 +156126,7 @@ func removeNode(tls *libc.TLS, pRtree uintptr, pNode uintptr, iHeight int32) int return SQLITE_OK } -func fixBoundingBox(tls *libc.TLS, pRtree uintptr, pNode uintptr) int32 { /* sqlite3.c:198602:12: */ +func fixBoundingBox(tls *libc.TLS, pRtree uintptr, pNode uintptr) int32 { /* sqlite3.c:198659:12: */ bp := tls.Alloc(100) defer tls.Free(100) @@ -156126,7 +156157,7 @@ func fixBoundingBox(tls *libc.TLS, pRtree uintptr, pNode uintptr) int32 { /* sql // Delete the cell at index iCell of node pNode. After removing the // cell, adjust the r-tree data structure if required. -func deleteCell(tls *libc.TLS, pRtree uintptr, pNode uintptr, iCell int32, iHeight int32) int32 { /* sqlite3.c:198629:12: */ +func deleteCell(tls *libc.TLS, pRtree uintptr, pNode uintptr, iCell int32, iHeight int32) int32 { /* sqlite3.c:198686:12: */ var pParent uintptr var rc int32 @@ -156155,7 +156186,7 @@ func deleteCell(tls *libc.TLS, pRtree uintptr, pNode uintptr, iCell int32, iHeig return rc } -func sReinsert(tls *libc.TLS, pRtree uintptr, pNode uintptr, pCell uintptr, iHeight int32) int32 { /* sqlite3.c:198660:12: */ +func sReinsert(tls *libc.TLS, pRtree uintptr, pNode uintptr, pCell uintptr, iHeight int32) int32 { /* sqlite3.c:198717:12: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -156270,7 +156301,7 @@ func sReinsert(tls *libc.TLS, pRtree uintptr, pNode uintptr, pCell uintptr, iHei // Insert cell pCell into node pNode. Node pNode is the head of a // subtree iHeight high (leaf nodes have iHeight==0). -func rtreeInsertCell(tls *libc.TLS, pRtree uintptr, pNode uintptr, pCell uintptr, iHeight int32) int32 { /* sqlite3.c:198765:12: */ +func rtreeInsertCell(tls *libc.TLS, pRtree uintptr, pNode uintptr, pCell uintptr, iHeight int32) int32 { /* sqlite3.c:198822:12: */ var rc int32 = SQLITE_OK if iHeight > 0 { var pChild uintptr = nodeHashLookup(tls, pRtree, (*RtreeCell)(unsafe.Pointer(pCell)).FiRowid) @@ -156300,7 +156331,7 @@ func rtreeInsertCell(tls *libc.TLS, pRtree uintptr, pNode uintptr, pCell uintptr return rc } -func reinsertNodeContent(tls *libc.TLS, pRtree uintptr, pNode uintptr) int32 { /* sqlite3.c:198800:12: */ +func reinsertNodeContent(tls *libc.TLS, pRtree uintptr, pNode uintptr) int32 { /* sqlite3.c:198857:12: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -156331,7 +156362,7 @@ func reinsertNodeContent(tls *libc.TLS, pRtree uintptr, pNode uintptr) int32 { / } // Select a currently unused rowid for a new r-tree record. -func rtreeNewRowid(tls *libc.TLS, pRtree uintptr, piRowid uintptr) int32 { /* sqlite3.c:198829:12: */ +func rtreeNewRowid(tls *libc.TLS, pRtree uintptr, piRowid uintptr) int32 { /* sqlite3.c:198886:12: */ var rc int32 Xsqlite3_bind_null(tls, (*Rtree)(unsafe.Pointer(pRtree)).FpWriteRowid, 1) Xsqlite3_bind_null(tls, (*Rtree)(unsafe.Pointer(pRtree)).FpWriteRowid, 2) @@ -156342,7 +156373,7 @@ func rtreeNewRowid(tls *libc.TLS, pRtree uintptr, piRowid uintptr) int32 { /* sq } // Remove the entry with rowid=iDelete from the r-tree structure. -func rtreeDeleteRowid(tls *libc.TLS, pRtree uintptr, iDelete Sqlite3_int64) int32 { /* sqlite3.c:198842:12: */ +func rtreeDeleteRowid(tls *libc.TLS, pRtree uintptr, iDelete Sqlite3_int64) int32 { /* sqlite3.c:198899:12: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -156431,7 +156462,7 @@ func rtreeDeleteRowid(tls *libc.TLS, pRtree uintptr, iDelete Sqlite3_int64) int3 // Convert an sqlite3_value into an RtreeValue (presumably a float) // while taking care to round toward negative or positive, respectively. -func rtreeValueDown(tls *libc.TLS, v uintptr) RtreeValue { /* sqlite3.c:198939:19: */ +func rtreeValueDown(tls *libc.TLS, v uintptr) RtreeValue { /* sqlite3.c:198996:19: */ var d float64 = Xsqlite3_value_double(tls, v) var f float32 = float32(d) if float64(f) > d { @@ -156445,7 +156476,7 @@ func rtreeValueDown(tls *libc.TLS, v uintptr) RtreeValue { /* sqlite3.c:198939:1 return f } -func rtreeValueUp(tls *libc.TLS, v uintptr) RtreeValue { /* sqlite3.c:198947:19: */ +func rtreeValueUp(tls *libc.TLS, v uintptr) RtreeValue { /* sqlite3.c:199004:19: */ var d float64 = Xsqlite3_value_double(tls, v) var f float32 = float32(d) if float64(f) < d { @@ -156470,7 +156501,7 @@ func rtreeValueUp(tls *libc.TLS, v uintptr) RtreeValue { /* sqlite3.c:198947:19: // (c1<=c2) constraint on columns iCol and iCol+1 that has failed. // // If an OOM occurs, SQLITE_NOMEM is returned instead of SQLITE_CONSTRAINT. -func rtreeConstraintError(tls *libc.TLS, pRtree uintptr, iCol int32) int32 { /* sqlite3.c:198970:12: */ +func rtreeConstraintError(tls *libc.TLS, pRtree uintptr, iCol int32) int32 { /* sqlite3.c:199027:12: */ bp := tls.Alloc(64) defer tls.Free(64) @@ -156509,7 +156540,7 @@ func rtreeConstraintError(tls *libc.TLS, pRtree uintptr, iCol int32) int32 { /* } // The xUpdate method for rtree module virtual tables. -func rtreeUpdate(tls *libc.TLS, pVtab uintptr, nData int32, aData uintptr, pRowid uintptr) int32 { /* sqlite3.c:199008:12: */ +func rtreeUpdate(tls *libc.TLS, pVtab uintptr, nData int32, aData uintptr, pRowid uintptr) int32 { /* sqlite3.c:199065:12: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -156738,7 +156769,7 @@ constraint: } // Called when a transaction starts. -func rtreeBeginTransaction(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:199156:12: */ +func rtreeBeginTransaction(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:199213:12: */ var pRtree uintptr = pVtab (*Rtree)(unsafe.Pointer(pRtree)).FinWrTrans++ @@ -156747,7 +156778,7 @@ func rtreeBeginTransaction(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:19 // Called when a transaction completes (either by COMMIT or ROLLBACK). // The sqlite3_blob object should be released at this point. -func rtreeEndTransaction(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:199167:12: */ +func rtreeEndTransaction(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:199224:12: */ var pRtree uintptr = pVtab (*Rtree)(unsafe.Pointer(pRtree)).FinWrTrans = U8(0) nodeBlobReset(tls, pRtree) @@ -156755,7 +156786,7 @@ func rtreeEndTransaction(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:1991 } // The xRename method for rtree module virtual tables. -func rtreeRename(tls *libc.TLS, pVtab uintptr, zNewName uintptr) int32 { /* sqlite3.c:199177:12: */ +func rtreeRename(tls *libc.TLS, pVtab uintptr, zNewName uintptr) int32 { /* sqlite3.c:199234:12: */ bp := tls.Alloc(72) defer tls.Free(72) @@ -156784,7 +156815,7 @@ func rtreeRename(tls *libc.TLS, pVtab uintptr, zNewName uintptr) int32 { /* sqli // INSERT INTO rtree... // DROP TABLE ; -- Would fail with SQLITE_LOCKED // COMMIT; -func rtreeSavepoint(tls *libc.TLS, pVtab uintptr, iSavepoint int32) int32 { /* sqlite3.c:199210:12: */ +func rtreeSavepoint(tls *libc.TLS, pVtab uintptr, iSavepoint int32) int32 { /* sqlite3.c:199267:12: */ var pRtree uintptr = pVtab var iwt U8 = (*Rtree)(unsafe.Pointer(pRtree)).FinWrTrans _ = iSavepoint @@ -156797,7 +156828,7 @@ func rtreeSavepoint(tls *libc.TLS, pVtab uintptr, iSavepoint int32) int32 { /* s // This function populates the pRtree->nRowEst variable with an estimate // of the number of rows in the virtual table. If possible, this is based // on sqlite_stat1 data. Otherwise, use RTREE_DEFAULT_ROWEST. -func rtreeQueryStat1(tls *libc.TLS, db uintptr, pRtree uintptr) int32 { /* sqlite3.c:199225:12: */ +func rtreeQueryStat1(tls *libc.TLS, db uintptr, pRtree uintptr) int32 { /* sqlite3.c:199282:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -156841,7 +156872,7 @@ func rtreeQueryStat1(tls *libc.TLS, db uintptr, pRtree uintptr) int32 { /* sqlit // Return true if zName is the extension on one of the shadow tables used // by this module. -func rtreeShadowName(tls *libc.TLS, zName uintptr) int32 { /* sqlite3.c:199259:12: */ +func rtreeShadowName(tls *libc.TLS, zName uintptr) int32 { /* sqlite3.c:199316:12: */ var i uint32 for i = uint32(0); uint64(i) < uint64(unsafe.Sizeof(azName1))/uint64(unsafe.Sizeof(uintptr(0))); i++ { if Xsqlite3_stricmp(tls, zName, azName1[i]) == 0 { @@ -156853,7 +156884,7 @@ func rtreeShadowName(tls *libc.TLS, zName uintptr) int32 { /* sqlite3.c:199259:1 var azName1 = [3]uintptr{ ts + 25253, ts + 4995, ts + 16158, -} /* sqlite3.c:199260:21 */ +} /* sqlite3.c:199317:21 */ var rtreeModule = Sqlite3_module{ FiVersion: 3, // iVersion @@ -156877,9 +156908,9 @@ var rtreeModule = Sqlite3_module{ FxRename: 0, // xRename - rename the table FxSavepoint: 0, // xRollbackTo FxShadowName: 0, // xShadowName -} /* sqlite3.c:199270:23 */ +} /* sqlite3.c:199327:23 */ -func rtreeSqlInit(tls *libc.TLS, pRtree uintptr, db uintptr, zDb uintptr, zPrefix uintptr, isCreate int32) int32 { /* sqlite3.c:199297:12: */ +func rtreeSqlInit(tls *libc.TLS, pRtree uintptr, db uintptr, zDb uintptr, zPrefix uintptr, isCreate int32) int32 { /* sqlite3.c:199354:12: */ bp := tls.Alloc(232) defer tls.Free(232) @@ -156996,14 +157027,14 @@ var azSql = [8]uintptr{ ts + 25983, ts + 26041, ts + 26096, -} /* sqlite3.c:199307:21 */ +} /* sqlite3.c:199364:21 */ // The second argument to this function contains the text of an SQL statement // that returns a single integer value. The statement is compiled and executed // using database connection db. If successful, the integer value returned // is written to *piVal and SQLITE_OK returned. Otherwise, an SQLite error // code is returned and the value of *piVal after returning is not defined. -func getIntFromStmt(tls *libc.TLS, db uintptr, zSql uintptr, piVal uintptr) int32 { /* sqlite3.c:199430:12: */ +func getIntFromStmt(tls *libc.TLS, db uintptr, zSql uintptr, piVal uintptr) int32 { /* sqlite3.c:199487:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -157034,7 +157065,7 @@ func getIntFromStmt(tls *libc.TLS, db uintptr, zSql uintptr, piVal uintptr) int3 // This ensures that each node is stored on a single database page. If the // database page-size is so large that more than RTREE_MAXCELLS entries // would fit in a single node, use a smaller node-size. -func getNodeSize(tls *libc.TLS, db uintptr, pRtree uintptr, isCreate int32, pzErr uintptr) int32 { /* sqlite3.c:199460:12: */ +func getNodeSize(tls *libc.TLS, db uintptr, pRtree uintptr, isCreate int32, pzErr uintptr) int32 { /* sqlite3.c:199517:12: */ bp := tls.Alloc(52) defer tls.Free(52) @@ -157072,7 +157103,7 @@ func getNodeSize(tls *libc.TLS, db uintptr, pRtree uintptr, isCreate int32, pzEr } // Return the length of a token -func rtreeTokenLength(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:199503:12: */ +func rtreeTokenLength(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:199560:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -157087,7 +157118,7 @@ func rtreeTokenLength(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:199503:12: // argv[1] -> database name // argv[2] -> table name // argv[...] -> column names... -func rtreeInit(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr, isCreate int32) int32 { /* sqlite3.c:199517:12: */ +func rtreeInit(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr, isCreate int32) int32 { /* sqlite3.c:199574:12: */ bp := tls.Alloc(136) defer tls.Free(136) @@ -157287,7 +157318,7 @@ __25: return rc } -var azFormat = [2]uintptr{ts + 26439, ts + 26450} /* sqlite3.c:199583:25 */ +var azFormat = [2]uintptr{ts + 26439, ts + 26450} /* sqlite3.c:199640:25 */ // Implementation of a scalar function that decodes r-tree nodes to // human readable strings. This can be used for debugging and analysis. @@ -157303,7 +157334,7 @@ var azFormat = [2]uintptr{ts + 26439, ts + 26450} /* sqlite3.c:199583:25 */ // entry for each cell in the r-tree node. Each entry is itself a // list, containing the 8-byte rowid/pageno followed by the // *2 coordinates. -func rtreenode(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:199654:13: */ +func rtreenode(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:199711:13: */ bp := tls.Alloc(1072) defer tls.Free(1072) @@ -157366,7 +157397,7 @@ func rtreenode(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) { /* sqlit // The depth value is 0 for all nodes other than the root node, and the root // node always has nodeno=1, so the example above is the primary use for this // routine. This routine is intended for testing and analysis only. -func rtreedepth(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:199706:13: */ +func rtreedepth(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:199763:13: */ _ = nArg if Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(apArg))) != SQLITE_BLOB || Xsqlite3_value_bytes(tls, *(*uintptr)(unsafe.Pointer(apArg))) < 2 { @@ -157398,15 +157429,15 @@ type RtreeCheck1 = struct { FzReport uintptr FnErr int32 F__ccgo_pad2 [4]byte -} /* sqlite3.c:199727:9 */ +} /* sqlite3.c:199784:9 */ // Context object passed between the various routines that make up the // implementation of integrity-check function rtreecheck(). -type RtreeCheck = RtreeCheck1 /* sqlite3.c:199727:27 */ +type RtreeCheck = RtreeCheck1 /* sqlite3.c:199784:27 */ // Reset SQL statement pStmt. If the sqlite3_reset() call returns an error, // and RtreeCheck.rc==SQLITE_OK, set RtreeCheck.rc to the error code. -func rtreeCheckReset(tls *libc.TLS, pCheck uintptr, pStmt uintptr) { /* sqlite3.c:199749:13: */ +func rtreeCheckReset(tls *libc.TLS, pCheck uintptr, pStmt uintptr) { /* sqlite3.c:199806:13: */ var rc int32 = Xsqlite3_reset(tls, pStmt) if (*RtreeCheck)(unsafe.Pointer(pCheck)).Frc == SQLITE_OK { (*RtreeCheck)(unsafe.Pointer(pCheck)).Frc = rc @@ -157419,7 +157450,7 @@ func rtreeCheckReset(tls *libc.TLS, pCheck uintptr, pStmt uintptr) { /* sqlite3. // // If successful, a pointer to the new SQL statement is returned. Otherwise, // NULL is returned and an error code left in RtreeCheck.rc. -func rtreeCheckPrepare(tls *libc.TLS, pCheck uintptr, zFmt uintptr, va uintptr) uintptr { /* sqlite3.c:199762:21: */ +func rtreeCheckPrepare(tls *libc.TLS, pCheck uintptr, zFmt uintptr, va uintptr) uintptr { /* sqlite3.c:199819:21: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -157447,7 +157478,7 @@ func rtreeCheckPrepare(tls *libc.TLS, pCheck uintptr, zFmt uintptr, va uintptr) // The second and subsequent arguments to this function are a printf() // style format string and arguments. This function formats the string and // appends it to the report being accumuated in pCheck. -func rtreeCheckAppendMsg(tls *libc.TLS, pCheck uintptr, zFmt uintptr, va uintptr) { /* sqlite3.c:199791:13: */ +func rtreeCheckAppendMsg(tls *libc.TLS, pCheck uintptr, zFmt uintptr, va uintptr) { /* sqlite3.c:199848:13: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -157487,7 +157518,7 @@ func rtreeCheckAppendMsg(tls *libc.TLS, pCheck uintptr, zFmt uintptr, va uintptr // Or, if an error does occur, NULL is returned and an error code left // in the RtreeCheck object. The final value of *pnNode is undefined in // this case. -func rtreeCheckGetNode(tls *libc.TLS, pCheck uintptr, iNode I64, pnNode uintptr) uintptr { /* sqlite3.c:199825:11: */ +func rtreeCheckGetNode(tls *libc.TLS, pCheck uintptr, iNode I64, pnNode uintptr) uintptr { /* sqlite3.c:199882:11: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -157531,7 +157562,7 @@ func rtreeCheckGetNode(tls *libc.TLS, pCheck uintptr, iNode I64, pnNode uintptr) // In both cases, this function checks that there exists an entry with // IPK value iKey and the second column set to iVal. // -func rtreeCheckMapping(tls *libc.TLS, pCheck uintptr, bLeaf int32, iKey I64, iVal I64) { /* sqlite3.c:199869:13: */ +func rtreeCheckMapping(tls *libc.TLS, pCheck uintptr, bLeaf int32, iKey I64, iVal I64) { /* sqlite3.c:199926:13: */ bp := tls.Alloc(96) defer tls.Free(96) @@ -157587,7 +157618,7 @@ func rtreeCheckMapping(tls *libc.TLS, pCheck uintptr, bLeaf int32, iKey I64, iVa // containing pCell. In this case it is also verified that the two // sets of coordinates are mutually consistent and an error message added // to the RtreeCheck object if they are not. -func rtreeCheckCellCoord(tls *libc.TLS, pCheck uintptr, iNode I64, iCell int32, pCell uintptr, pParent uintptr) { /* sqlite3.c:199921:13: */ +func rtreeCheckCellCoord(tls *libc.TLS, pCheck uintptr, iNode I64, iCell int32, pCell uintptr, pParent uintptr) { /* sqlite3.c:199978:13: */ bp := tls.Alloc(64) defer tls.Free(64) @@ -157645,7 +157676,7 @@ func rtreeCheckCellCoord(tls *libc.TLS, pCheck uintptr, iNode I64, iCell int32, // // If any problems are discovered, an error message is appended to the // report accumulated in the RtreeCheck object. -func rtreeCheckNode(tls *libc.TLS, pCheck uintptr, iDepth int32, aParent uintptr, iNode I64) { /* sqlite3.c:199967:13: */ +func rtreeCheckNode(tls *libc.TLS, pCheck uintptr, iDepth int32, aParent uintptr, iNode I64) { /* sqlite3.c:200024:13: */ bp := tls.Alloc(52) defer tls.Free(52) @@ -157699,7 +157730,7 @@ func rtreeCheckNode(tls *libc.TLS, pCheck uintptr, iDepth int32, aParent uintptr // %_rowid or %_parent table is exactly nExpect. If not, it adds // an error message to the report in the RtreeCheck object indicated // by the first argument. -func rtreeCheckCount(tls *libc.TLS, pCheck uintptr, zTbl uintptr, nExpect I64) { /* sqlite3.c:200030:13: */ +func rtreeCheckCount(tls *libc.TLS, pCheck uintptr, zTbl uintptr, nExpect I64) { /* sqlite3.c:200087:13: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -157722,7 +157753,7 @@ func rtreeCheckCount(tls *libc.TLS, pCheck uintptr, zTbl uintptr, nExpect I64) { // This function does the bulk of the work for the rtree integrity-check. // It is called by rtreecheck(), which is the SQL function implementation. -func rtreeCheckTable(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, pzReport uintptr) int32 { /* sqlite3.c:200054:12: */ +func rtreeCheckTable(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, pzReport uintptr) int32 { /* sqlite3.c:200111:12: */ bp := tls.Alloc(120) defer tls.Free(120) @@ -157829,7 +157860,7 @@ func rtreeCheckTable(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, pzRep // as there are non-leaf cells in the r-tree structure, and that // there is a non-leaf cell that corresponds to each entry in the // %_parent table. -func rtreecheck(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:200161:13: */ +func rtreecheck(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:200218:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -157892,7 +157923,7 @@ func rtreecheck(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) { /* sqli // Compiler and version // Datatype for coordinates -type GeoCoord = float32 /* sqlite3.c:200282:15 */ +type GeoCoord = float32 /* sqlite3.c:200339:15 */ // Internal representation of a polygon. // @@ -157918,7 +157949,7 @@ type GeoPoly1 = struct { FnVertex int32 Fhdr [4]uint8 Fa [8]GeoCoord -} /* sqlite3.c:200306:9 */ +} /* sqlite3.c:200363:9 */ // Internal representation of a polygon. // @@ -157940,7 +157971,7 @@ type GeoPoly1 = struct { // warnings coming from some compiler (notably, clang). In reality, the size // of each GeoPoly memory allocate is adjusted as necessary so that the // GeoPoly.a[] array at the end is the appropriate size. -type GeoPoly = GeoPoly1 /* sqlite3.c:200306:24 */ +type GeoPoly = GeoPoly1 /* sqlite3.c:200363:24 */ // The size of a memory allocation needed for a GeoPoly object sufficient // to hold N coordinate pairs. @@ -157957,7 +157988,7 @@ type GeoParse1 = struct { FnErr int32 F__ccgo_pad1 [4]byte Fa uintptr -} /* sqlite3.c:200329:9 */ +} /* sqlite3.c:200386:9 */ // The size of a memory allocation needed for a GeoPoly object sufficient // to hold N coordinate pairs. @@ -157967,10 +157998,10 @@ type GeoParse1 = struct { // to silence (incorrect) UBSAN warnings if the array index is too large. // State of a parse of a GeoJSON input. -type GeoParse = GeoParse1 /* sqlite3.c:200329:25 */ +type GeoParse = GeoParse1 /* sqlite3.c:200386:25 */ // Do a 4-byte byte swap -func geopolySwab32(tls *libc.TLS, a uintptr) { /* sqlite3.c:200339:13: */ +func geopolySwab32(tls *libc.TLS, a uintptr) { /* sqlite3.c:200396:13: */ var t uint8 = *(*uint8)(unsafe.Pointer(a)) *(*uint8)(unsafe.Pointer(a)) = *(*uint8)(unsafe.Pointer(a + 3)) *(*uint8)(unsafe.Pointer(a + 3)) = t @@ -157980,7 +158011,7 @@ func geopolySwab32(tls *libc.TLS, a uintptr) { /* sqlite3.c:200339:13: */ } // Skip whitespace. Return the next non-whitespace character. -func geopolySkipSpace(tls *libc.TLS, p uintptr) int8 { /* sqlite3.c:200349:13: */ +func geopolySkipSpace(tls *libc.TLS, p uintptr) int8 { /* sqlite3.c:200406:13: */ for jsonIsSpace[*(*uint8)(unsafe.Pointer((*GeoParse)(unsafe.Pointer(p)).Fz))] != 0 { (*GeoParse)(unsafe.Pointer(p)).Fz++ } @@ -157989,7 +158020,7 @@ func geopolySkipSpace(tls *libc.TLS, p uintptr) int8 { /* sqlite3.c:200349:13: * // Parse out a number. Write the value into *pVal if pVal!=0. // return non-zero on success and zero if the next token is not a number. -func geopolyParseNumber(tls *libc.TLS, p uintptr, pVal uintptr) int32 { /* sqlite3.c:200357:12: */ +func geopolyParseNumber(tls *libc.TLS, p uintptr, pVal uintptr) int32 { /* sqlite3.c:200414:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -158061,7 +158092,7 @@ func geopolyParseNumber(tls *libc.TLS, p uintptr, pVal uintptr) int32 { /* sqlit // that object. // // If any error occurs, return NULL. -func geopolyParseJson(tls *libc.TLS, z uintptr, pRc uintptr) uintptr { /* sqlite3.c:200415:16: */ +func geopolyParseJson(tls *libc.TLS, z uintptr, pRc uintptr) uintptr { /* sqlite3.c:200472:16: */ bp := tls.Alloc(36) defer tls.Free(36) @@ -158203,7 +158234,7 @@ __16: // in the binary format or JSON text. Compute a GeoPoly object and // return a pointer to that object. Or if the input is not a well-formed // polygon, put an error message in sqlite3_context and return NULL. -func geopolyFuncParam(tls *libc.TLS, pCtx uintptr, pVal uintptr, pRc uintptr) uintptr { /* sqlite3.c:200492:16: */ +func geopolyFuncParam(tls *libc.TLS, pCtx uintptr, pVal uintptr, pRc uintptr) uintptr { /* sqlite3.c:200549:16: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -158272,7 +158303,7 @@ func geopolyFuncParam(tls *libc.TLS, pCtx uintptr, pVal uintptr, pRc uintptr) ui // If the input is a well-formed Geopoly BLOB or JSON string // then return the BLOB representation of the polygon. Otherwise // return NULL. -func geopolyBlobFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:200553:13: */ +func geopolyBlobFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:200610:13: */ var p uintptr = geopolyFuncParam(tls, context, *(*uintptr)(unsafe.Pointer(argv)), uintptr(0)) if p != 0 { Xsqlite3_result_blob(tls, context, p+4, @@ -158285,7 +158316,7 @@ func geopolyBlobFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { // // Interpret X as a polygon and render it as a JSON array // of coordinates. Or, if X is not a valid polygon, return NULL. -func geopolyJsonFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:200572:13: */ +func geopolyJsonFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:200629:13: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -158308,7 +158339,7 @@ func geopolyJsonFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { // // Interpret X as a polygon and render it as a SVG . // Additional arguments are added as attributes to the . -func geopolySvgFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:200598:13: */ +func geopolySvgFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:200655:13: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -158354,7 +158385,7 @@ func geopolySvgFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { // Rotate by R around the point (0,0): // // geopoly_xform(poly, cos(R), sin(R), -sin(R), cos(R), 0, 0) -func geopolyXformFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:200645:13: */ +func geopolyXformFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:200702:13: */ var p uintptr = geopolyFuncParam(tls, context, *(*uintptr)(unsafe.Pointer(argv)), uintptr(0)) var A float64 = Xsqlite3_value_double(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))) var B float64 = Xsqlite3_value_double(tls, *(*uintptr)(unsafe.Pointer(argv + 2*8))) @@ -158387,7 +158418,7 @@ func geopolyXformFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) // This routine can also be used to detect polygons that rotate in // the wrong direction. Polygons are suppose to be counter-clockwise (CCW). // This routine returns a negative value for clockwise (CW) polygons. -func geopolyArea(tls *libc.TLS, p uintptr) float64 { /* sqlite3.c:200681:15: */ +func geopolyArea(tls *libc.TLS, p uintptr) float64 { /* sqlite3.c:200738:15: */ var rArea float64 = 0.0 var ii int32 for ii = 0; ii < (*GeoPoly)(unsafe.Pointer(p)).FnVertex-1; ii++ { @@ -158407,7 +158438,7 @@ func geopolyArea(tls *libc.TLS, p uintptr) float64 { /* sqlite3.c:200681:15: */ // enclosed by the polygon. If the polygon circulates clockwise instead // of counterclockwise (as it should) then return the negative of the // enclosed area. Otherwise return NULL. -func geopolyAreaFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:200703:13: */ +func geopolyAreaFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:200760:13: */ var p uintptr = geopolyFuncParam(tls, context, *(*uintptr)(unsafe.Pointer(argv)), uintptr(0)) if p != 0 { Xsqlite3_result_double(tls, context, geopolyArea(tls, p)) @@ -158426,7 +158457,7 @@ func geopolyAreaFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { // // Use this routine to sanitize historical inputs that that sometimes // contain polygons that wind in the wrong direction. -func geopolyCcwFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:200728:13: */ +func geopolyCcwFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:200785:13: */ var p uintptr = geopolyFuncParam(tls, context, *(*uintptr)(unsafe.Pointer(argv)), uintptr(0)) if p != 0 { if geopolyArea(tls, p) < 0.0 { @@ -158462,7 +158493,7 @@ func geopolyCcwFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { } // Fast approximation for sine(X) for X between -0.5*pi and 2*pi -func geopolySine(tls *libc.TLS, r float64) float64 { /* sqlite3.c:200756:15: */ +func geopolySine(tls *libc.TLS, r float64) float64 { /* sqlite3.c:200813:15: */ if r >= float64(1.5)*3.1415926535897932385 { r = r - float64(2.0)*3.1415926535897932385 @@ -158482,7 +158513,7 @@ func geopolySine(tls *libc.TLS, r float64) float64 { /* sqlite3.c:200756:15: */ // // Construct a simple, convex, regular polygon centered at X, Y // with circumradius R and with N sides. -func geopolyRegularFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:200777:13: */ +func geopolyRegularFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:200834:13: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -158527,7 +158558,7 @@ func geopolyRegularFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr // // If pPoly is NULL but aCoord is not NULL, then compute a new GeoPoly from // the bounding box in aCoord and return a pointer to that GeoPoly. -func geopolyBBox(tls *libc.TLS, context uintptr, pPoly uintptr, aCoord uintptr, pRc uintptr) uintptr { /* sqlite3.c:200820:16: */ +func geopolyBBox(tls *libc.TLS, context uintptr, pPoly uintptr, aCoord uintptr, pRc uintptr) uintptr { /* sqlite3.c:200877:16: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -158668,7 +158699,7 @@ __4: } // Implementation of the geopoly_bbox(X) SQL function. -func geopolyBBoxFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:200891:13: */ +func geopolyBBoxFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:200948:13: */ var p uintptr = geopolyBBox(tls, context, *(*uintptr)(unsafe.Pointer(argv)), uintptr(0), uintptr(0)) if p != 0 { Xsqlite3_result_blob(tls, context, p+4, @@ -158681,13 +158712,13 @@ func geopolyBBoxFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { type GeoBBox1 = struct { FisInit int32 Fa [4]RtreeCoord -} /* sqlite3.c:200907:9 */ +} /* sqlite3.c:200964:9 */ // State vector for the geopoly_group_bbox() aggregate function. -type GeoBBox = GeoBBox1 /* sqlite3.c:200907:24 */ +type GeoBBox = GeoBBox1 /* sqlite3.c:200964:24 */ // Implementation of the geopoly_group_bbox(X) aggregate SQL function. -func geopolyBBoxStep(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:200917:13: */ +func geopolyBBoxStep(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:200974:13: */ bp := tls.Alloc(20) defer tls.Free(20) @@ -158721,7 +158752,7 @@ func geopolyBBoxStep(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { } } -func geopolyBBoxFinal(tls *libc.TLS, context uintptr) { /* sqlite3.c:200940:13: */ +func geopolyBBoxFinal(tls *libc.TLS, context uintptr) { /* sqlite3.c:200997:13: */ var p uintptr var pBBox uintptr pBBox = Xsqlite3_aggregate_context(tls, context, 0) @@ -158748,7 +158779,7 @@ func geopolyBBoxFinal(tls *libc.TLS, context uintptr) { /* sqlite3.c:200940:13: // // The left-most coordinate min(x1,x2) is not considered to be part of // the line segment for the purposes of this analysis. -func pointBeneathLine(tls *libc.TLS, x0 float64, y0 float64, x1 float64, y1 float64, x2 float64, y2 float64) int32 { /* sqlite3.c:200970:12: */ +func pointBeneathLine(tls *libc.TLS, x0 float64, y0 float64, x1 float64, y1 float64, x2 float64, y2 float64) int32 { /* sqlite3.c:201027:12: */ var y float64 if x0 == x1 && y0 == y1 { return 2 @@ -158789,7 +158820,7 @@ func pointBeneathLine(tls *libc.TLS, x0 float64, y0 float64, x1 float64, y1 floa // Return +2 if point X,Y is within polygon P. // Return +1 if point X,Y is on the polygon boundary. // Return 0 if point X,Y is outside the polygon -func geopolyContainsPointFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:201001:13: */ +func geopolyContainsPointFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:201058:13: */ var p1 uintptr = geopolyFuncParam(tls, context, *(*uintptr)(unsafe.Pointer(argv)), uintptr(0)) var x0 float64 = Xsqlite3_value_double(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))) var y0 float64 = Xsqlite3_value_double(tls, *(*uintptr)(unsafe.Pointer(argv + 2*8))) @@ -158827,7 +158858,7 @@ func geopolyContainsPointFunc(tls *libc.TLS, context uintptr, argc int32, argv u // Return +1 if P2 is contained within P1 // Return 0 if any part of P2 is on the outside of P1 // -func geopolyWithinFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:201044:13: */ +func geopolyWithinFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:201101:13: */ var p1 uintptr = geopolyFuncParam(tls, context, *(*uintptr)(unsafe.Pointer(argv)), uintptr(0)) var p2 uintptr = geopolyFuncParam(tls, context, *(*uintptr)(unsafe.Pointer(argv + 1*8)), uintptr(0)) if p1 != 0 && p2 != 0 { @@ -158859,10 +158890,10 @@ type GeoEvent1 = struct { F__ccgo_pad1 [4]byte FpSeg uintptr FpNext uintptr -} /* sqlite3.c:201064:9 */ +} /* sqlite3.c:201121:9 */ // Objects used by the overlap algorihm. -type GeoEvent = GeoEvent1 /* sqlite3.c:201064:25 */ +type GeoEvent = GeoEvent1 /* sqlite3.c:201121:25 */ type GeoSegment1 = struct { FC float64 FB float64 @@ -158873,20 +158904,20 @@ type GeoSegment1 = struct { Fidx uint32 F__ccgo_pad2 [4]byte FpNext uintptr -} /* sqlite3.c:201064:9 */ +} /* sqlite3.c:201121:9 */ -type GeoSegment = GeoSegment1 /* sqlite3.c:201065:27 */ +type GeoSegment = GeoSegment1 /* sqlite3.c:201122:27 */ type GeoOverlap1 = struct { FaEvent uintptr FaSegment uintptr FnEvent int32 FnSegment int32 -} /* sqlite3.c:201066:9 */ +} /* sqlite3.c:201123:9 */ -type GeoOverlap = GeoOverlap1 /* sqlite3.c:201066:27 */ +type GeoOverlap = GeoOverlap1 /* sqlite3.c:201123:27 */ // Add a single segment and its associated events. -func geopolyAddOneSegment(tls *libc.TLS, p uintptr, x0 GeoCoord, y0 GeoCoord, x1 GeoCoord, y1 GeoCoord, side uint8, idx uint32) { /* sqlite3.c:201091:13: */ +func geopolyAddOneSegment(tls *libc.TLS, p uintptr, x0 GeoCoord, y0 GeoCoord, x1 GeoCoord, y1 GeoCoord, side uint8, idx uint32) { /* sqlite3.c:201148:13: */ var pSeg uintptr var pEvent uintptr if x0 == x1 { @@ -158920,7 +158951,7 @@ func geopolyAddOneSegment(tls *libc.TLS, p uintptr, x0 GeoCoord, y0 GeoCoord, x1 } // Insert all segments and events for polygon pPoly. -func geopolyAddSegments(tls *libc.TLS, p uintptr, pPoly uintptr, side uint8) { /* sqlite3.c:201135:13: */ +func geopolyAddSegments(tls *libc.TLS, p uintptr, pPoly uintptr, side uint8) { /* sqlite3.c:201192:13: */ var i uint32 var x uintptr for i = uint32(0); i < uint32((*GeoPoly)(unsafe.Pointer(pPoly)).FnVertex)-uint32(1); i++ { @@ -158932,7 +158963,7 @@ func geopolyAddSegments(tls *libc.TLS, p uintptr, pPoly uintptr, side uint8) { / } // Merge two lists of sorted events by X coordinate -func geopolyEventMerge(tls *libc.TLS, pLeft uintptr, pRight uintptr) uintptr { /* sqlite3.c:201153:17: */ +func geopolyEventMerge(tls *libc.TLS, pLeft uintptr, pRight uintptr) uintptr { /* sqlite3.c:201210:17: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -158962,7 +158993,7 @@ func geopolyEventMerge(tls *libc.TLS, pLeft uintptr, pRight uintptr) uintptr { / } // Sort an array of nEvent event objects into a list. -func geopolySortEventsByX(tls *libc.TLS, aEvent uintptr, nEvent int32) uintptr { /* sqlite3.c:201175:17: */ +func geopolySortEventsByX(tls *libc.TLS, aEvent uintptr, nEvent int32) uintptr { /* sqlite3.c:201232:17: */ bp := tls.Alloc(400) defer tls.Free(400) @@ -158992,7 +159023,7 @@ func geopolySortEventsByX(tls *libc.TLS, aEvent uintptr, nEvent int32) uintptr { } // Merge two lists of sorted segments by Y, and then by C. -func geopolySegmentMerge(tls *libc.TLS, pLeft uintptr, pRight uintptr) uintptr { /* sqlite3.c:201200:19: */ +func geopolySegmentMerge(tls *libc.TLS, pLeft uintptr, pRight uintptr) uintptr { /* sqlite3.c:201257:19: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -159027,7 +159058,7 @@ func geopolySegmentMerge(tls *libc.TLS, pLeft uintptr, pRight uintptr) uintptr { // Sort a list of GeoSegments in order of increasing Y and in the event of // a tie, increasing C (slope). -func geopolySortSegmentsByYAndC(tls *libc.TLS, pList uintptr) uintptr { /* sqlite3.c:201225:19: */ +func geopolySortSegmentsByYAndC(tls *libc.TLS, pList uintptr) uintptr { /* sqlite3.c:201282:19: */ bp := tls.Alloc(400) defer tls.Free(400) @@ -159057,7 +159088,7 @@ func geopolySortSegmentsByYAndC(tls *libc.TLS, pList uintptr) uintptr { /* sqlit } // Determine the overlap between two polygons -func geopolyOverlap(tls *libc.TLS, p1 uintptr, p2 uintptr) int32 { /* sqlite3.c:201251:12: */ +func geopolyOverlap(tls *libc.TLS, p1 uintptr, p2 uintptr) int32 { /* sqlite3.c:201308:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -159293,7 +159324,7 @@ geopolyOverlapDone: // 3 P2 is completely contained within P1 // 4 P1 and P2 are the same polygon // NULL Either P1 or P2 or both are not valid polygons -func geopolyOverlapFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:201374:13: */ +func geopolyOverlapFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:201431:13: */ var p1 uintptr = geopolyFuncParam(tls, context, *(*uintptr)(unsafe.Pointer(argv)), uintptr(0)) var p2 uintptr = geopolyFuncParam(tls, context, *(*uintptr)(unsafe.Pointer(argv + 1*8)), uintptr(0)) if p1 != 0 && p2 != 0 { @@ -159309,7 +159340,7 @@ func geopolyOverlapFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr } // Enable or disable debugging output -func geopolyDebugFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:201396:13: */ +func geopolyDebugFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:201453:13: */ } // This function is the implementation of both the xConnect and xCreate @@ -159319,7 +159350,7 @@ func geopolyDebugFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) // argv[1] -> database name // argv[2] -> table name // argv[...] -> column names... -func geopolyInit(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr, isCreate int32) int32 { /* sqlite3.c:201415:12: */ +func geopolyInit(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr, isCreate int32) int32 { /* sqlite3.c:201472:12: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -159434,12 +159465,12 @@ __11: } // GEOPOLY virtual table module xCreate method. -func geopolyCreate(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 { /* sqlite3.c:201499:12: */ +func geopolyCreate(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 { /* sqlite3.c:201556:12: */ return geopolyInit(tls, db, pAux, argc, argv, ppVtab, pzErr, 1) } // GEOPOLY virtual table module xConnect method. -func geopolyConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 { /* sqlite3.c:201512:12: */ +func geopolyConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 { /* sqlite3.c:201569:12: */ return geopolyInit(tls, db, pAux, argc, argv, ppVtab, pzErr, 0) } @@ -159453,7 +159484,7 @@ func geopolyConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv ui // 3 search for objects overlapping the same bounding box // that contains polygon argv[0] // 4 full table scan -func geopolyFilter(tls *libc.TLS, pVtabCursor uintptr, idxNum int32, idxStr uintptr, argc int32, argv uintptr) int32 { /* sqlite3.c:201535:12: */ +func geopolyFilter(tls *libc.TLS, pVtabCursor uintptr, idxNum int32, idxStr uintptr, argc int32, argv uintptr) int32 { /* sqlite3.c:201592:12: */ bp := tls.Alloc(52) defer tls.Free(52) @@ -159620,7 +159651,7 @@ geopoly_filter_end: // 3 "rtree" R-tree within query using geopoly_within() // 4 "fullscan" full-table scan. // ------------------------------------------------ -func geopolyBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 { /* sqlite3.c:201667:12: */ +func geopolyBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 { /* sqlite3.c:201724:12: */ var ii int32 var iRowidTerm int32 = -1 var iFuncTerm int32 = -1 @@ -159671,7 +159702,7 @@ func geopolyBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 { /* s } // GEOPOLY virtual table module xColumn method. -func geopolyColumn(tls *libc.TLS, cur uintptr, ctx uintptr, i int32) int32 { /* sqlite3.c:201719:12: */ +func geopolyColumn(tls *libc.TLS, cur uintptr, ctx uintptr, i int32) int32 { /* sqlite3.c:201776:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -159736,7 +159767,7 @@ func geopolyColumn(tls *libc.TLS, cur uintptr, ctx uintptr, i int32) int32 { /* // argv[1] = rowid after the change. Never NULL // argv[2] = new value for _shape // argv[3] = new value for first application-defined column.... -func geopolyUpdate(tls *libc.TLS, pVtab uintptr, nData int32, aData uintptr, pRowid uintptr) int32 { /* sqlite3.c:201774:12: */ +func geopolyUpdate(tls *libc.TLS, pVtab uintptr, nData int32, aData uintptr, pRowid uintptr) int32 { /* sqlite3.c:201831:12: */ bp := tls.Alloc(64) defer tls.Free(64) @@ -159947,7 +159978,7 @@ 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) int32 { /* sqlite3.c:201911:12: */ +func geopolyFindFunction(tls *libc.TLS, pVtab uintptr, nArg int32, zName uintptr, pxFunc uintptr, ppArg uintptr) int32 { /* sqlite3.c:201968:12: */ if Xsqlite3_stricmp(tls, zName, ts+27428) == 0 { *(*uintptr)(unsafe.Pointer(pxFunc)) = *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) @@ -159988,9 +160019,9 @@ var geopolyModule = Sqlite3_module{ FxRename: 0, // xRename - rename the table FxSavepoint: 0, // xRollbackTo FxShadowName: 0, // xShadowName -} /* sqlite3.c:201932:23 */ +} /* sqlite3.c:201989:23 */ -func sqlite3_geopoly_init(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:201959:12: */ +func sqlite3_geopoly_init(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:202016:12: */ var rc int32 = SQLITE_OK var i int32 for i = 0; uint64(i) < uint64(unsafe.Sizeof(aFunc))/uint64(unsafe.Sizeof(struct { @@ -160044,14 +160075,14 @@ var aFunc = [12]struct { {FxFunc: 0, FnArg: int8(7), FbPure: uint8(1), FzName: ts + 27568 /* "geopoly_xform" */}, {FxFunc: 0, FnArg: int8(4), FbPure: uint8(1), FzName: ts + 27582 /* "geopoly_regular" */}, {FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 27598 /* "geopoly_ccw" */}, -} /* sqlite3.c:201966:5 */ +} /* sqlite3.c:202023:5 */ var aAgg = [1]struct { FxStep uintptr FxFinal uintptr FzName uintptr }{ {FxStep: 0, FxFinal: 0, FzName: ts + 27610 /* "geopoly_group_bb..." */}, -} /* sqlite3.c:201984:5 */ +} /* sqlite3.c:202041:5 */ //************* End of geopoly.c ******************************************** //************* Continuing where we left off in rtree.c ********************* @@ -160059,7 +160090,7 @@ var aAgg = [1]struct { // Register the r-tree module with database handle db. This creates the // virtual table module "rtree" and the debugging/analysis scalar // function "rtreenode". -func Xsqlite3RtreeInit(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:202019:20: */ +func Xsqlite3RtreeInit(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:202076:20: */ var utf8 int32 = SQLITE_UTF8 var rc int32 @@ -160096,7 +160127,7 @@ func Xsqlite3RtreeInit(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:202019:20 // or sqlite3_rtree_query_callback(). In other words, this routine is the // destructor for an RtreeGeomCallback objecct. This routine is called when // the corresponding SQL function is deleted. -func rtreeFreeCallback(tls *libc.TLS, p uintptr) { /* sqlite3.c:202058:13: */ +func rtreeFreeCallback(tls *libc.TLS, p uintptr) { /* sqlite3.c:202115:13: */ var pInfo uintptr = p if (*RtreeGeomCallback)(unsafe.Pointer(pInfo)).FxDestructor != 0 { (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*RtreeGeomCallback)(unsafe.Pointer(pInfo)).FxDestructor})).f(tls, (*RtreeGeomCallback)(unsafe.Pointer(pInfo)).FpContext) @@ -160105,7 +160136,7 @@ func rtreeFreeCallback(tls *libc.TLS, p uintptr) { /* sqlite3.c:202058:13: */ } // This routine frees the BLOB that is returned by geomCallback(). -func rtreeMatchArgFree(tls *libc.TLS, pArg uintptr) { /* sqlite3.c:202067:13: */ +func rtreeMatchArgFree(tls *libc.TLS, pArg uintptr) { /* sqlite3.c:202124:13: */ var i int32 var p uintptr = pArg for i = 0; i < (*RtreeMatchArg)(unsafe.Pointer(p)).FnParam; i++ { @@ -160126,7 +160157,7 @@ func rtreeMatchArgFree(tls *libc.TLS, pArg uintptr) { /* sqlite3.c:202067:13: */ // The R-Tree MATCH operator will read the returned BLOB, deserialize // the RtreeMatchArg object, and use the RtreeMatchArg object to figure // out which elements of the R-Tree should be returned by the query. -func geomCallback(tls *libc.TLS, ctx uintptr, nArg int32, aArg uintptr) { /* sqlite3.c:202090:13: */ +func geomCallback(tls *libc.TLS, ctx uintptr, nArg int32, aArg uintptr) { /* sqlite3.c:202147:13: */ var pGeomCtx uintptr = Xsqlite3_user_data(tls, ctx) var pBlob uintptr var nBlob Sqlite3_int64 @@ -160160,7 +160191,7 @@ func geomCallback(tls *libc.TLS, ctx uintptr, nArg int32, aArg uintptr) { /* sql } // 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) int32 { /* sqlite3.c:202128:16: */ +func Xsqlite3_rtree_geometry_callback(tls *libc.TLS, db uintptr, zGeom uintptr, xGeom uintptr, pContext uintptr) int32 { /* sqlite3.c:202185:16: */ var pGeomCtx uintptr // Context object for new user-function // Allocate and populate the context object. @@ -160180,7 +160211,7 @@ func Xsqlite3_rtree_geometry_callback(tls *libc.TLS, db uintptr, zGeom uintptr, // 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) int32 { /* sqlite3.c:202152:16: */ +func Xsqlite3_rtree_query_callback(tls *libc.TLS, db uintptr, zQueryFunc uintptr, xQueryFunc uintptr, pContext uintptr, xDestructor uintptr) int32 { /* sqlite3.c:202209:16: */ var pGeomCtx uintptr // Context object for new user-function // Allocate and populate the context object. @@ -160636,7 +160667,7 @@ type sqlite3rbu = struct { FnRbu int32 F__ccgo_pad6 [4]byte FpRbuFd uintptr -} /* sqlite3.c:203382:9 */ +} /* sqlite3.c:203439:9 */ //************* End of rtree.c ********************************************** //************* Begin file icu.c ******************************************** @@ -161037,7 +161068,7 @@ type sqlite3rbu = struct { // #include "sqlite3.h" ** Required for error code definitions ** -type Sqlite3rbu = sqlite3rbu /* sqlite3.c:203382:27 */ +type Sqlite3rbu = sqlite3rbu /* sqlite3.c:203439:27 */ //************* End of sqlite3rbu.h ***************************************** //************* Continuing where we left off in sqlite3rbu.c **************** @@ -161102,7 +161133,7 @@ type Sqlite3rbu = sqlite3rbu /* sqlite3.c:203382:27 */ type RbuFrame1 = struct { FiDbPage U32 FiWalFrame U32 -} /* sqlite3.c:203382:9 */ +} /* sqlite3.c:203439:9 */ //************* End of sqlite3rbu.h ***************************************** //************* Continuing where we left off in sqlite3rbu.c **************** @@ -161164,7 +161195,7 @@ type RbuFrame1 = struct { // Only valid if STAGE==1. The RBU database name of the table // currently being read. -type RbuFrame = RbuFrame1 /* sqlite3.c:203813:25 */ +type RbuFrame = RbuFrame1 /* sqlite3.c:203870:25 */ type RbuObjIter1 = struct { FpTblIter uintptr FpIdxIter uintptr @@ -161196,9 +161227,9 @@ type RbuObjIter1 = struct { FaIdxCol uintptr FzIdxSql uintptr FpRbuUpdate uintptr -} /* sqlite3.c:203382:9 */ +} /* sqlite3.c:203439:9 */ -type RbuObjIter = RbuObjIter1 /* sqlite3.c:203814:27 */ +type RbuObjIter = RbuObjIter1 /* sqlite3.c:203871:27 */ type RbuState1 = struct { FeStage int32 F__ccgo_pad1 [4]byte @@ -161213,16 +161244,16 @@ type RbuState1 = struct { F__ccgo_pad3 [4]byte FiOalSz I64 FnPhaseOneStep I64 -} /* sqlite3.c:203815:9 */ +} /* sqlite3.c:203872:9 */ -type RbuState = RbuState1 /* sqlite3.c:203815:25 */ +type RbuState = RbuState1 /* sqlite3.c:203872:25 */ type RbuSpan1 = struct { FzSpan uintptr FnSpan int32 F__ccgo_pad1 [4]byte -} /* sqlite3.c:203382:9 */ +} /* sqlite3.c:203439:9 */ -type RbuSpan = RbuSpan1 /* sqlite3.c:203816:24 */ +type RbuSpan = RbuSpan1 /* sqlite3.c:203873:24 */ type rbu_vfs = struct { Fbase Sqlite3_vfs FpRealVfs uintptr @@ -161230,9 +161261,9 @@ type rbu_vfs = struct { FpRbu uintptr FpMain uintptr FpMainRbu uintptr -} /* sqlite3.c:203382:9 */ +} /* sqlite3.c:203439:9 */ -type Rbu_vfs = rbu_vfs /* sqlite3.c:203817:24 */ +type Rbu_vfs = rbu_vfs /* sqlite3.c:203874:24 */ type rbu_file = struct { Fbase Sqlite3_file FpReal uintptr @@ -161251,16 +161282,16 @@ type rbu_file = struct { FpWalFd uintptr FpMainNext uintptr FpMainRbuNext uintptr -} /* sqlite3.c:203382:9 */ +} /* sqlite3.c:203439:9 */ -type Rbu_file = rbu_file /* sqlite3.c:203818:25 */ +type Rbu_file = rbu_file /* sqlite3.c:203875:25 */ type RbuUpdateStmt1 = struct { FzMask uintptr FpUpdate uintptr FpNext uintptr -} /* sqlite3.c:203382:9 */ +} /* sqlite3.c:203439:9 */ -type RbuUpdateStmt = RbuUpdateStmt1 /* sqlite3.c:203819:30 */ +type RbuUpdateStmt = RbuUpdateStmt1 /* sqlite3.c:203876:30 */ // True for an RBU vacuum handle, or false otherwise. @@ -161279,7 +161310,7 @@ type RbuUpdateStmt = RbuUpdateStmt1 /* sqlite3.c:203819:30 */ // finished, leave *pz pointing to the first character past the end of // the integer. The *pLen parameter holds the length of the string // in *pz and is decremented once for each character in the integer. -func rbuDeltaGetInt(tls *libc.TLS, pz uintptr, pLen uintptr) uint32 { /* sqlite3.c:204109:21: */ +func rbuDeltaGetInt(tls *libc.TLS, pz uintptr, pLen uintptr) uint32 { /* sqlite3.c:204166:21: */ var v uint32 = uint32(0) var c int32 var z uintptr = *(*uintptr)(unsafe.Pointer(pz)) @@ -161302,7 +161333,7 @@ var zValue = [128]int8{ int8(25), int8(26), int8(27), int8(28), int8(29), int8(30), int8(31), int8(32), int8(33), int8(34), int8(35), int8(-1), int8(-1), int8(-1), int8(-1), int8(36), int8(-1), int8(37), int8(38), int8(39), int8(40), int8(41), int8(42), int8(43), int8(44), int8(45), int8(46), int8(47), int8(48), int8(49), int8(50), int8(51), int8(52), int8(53), int8(54), int8(55), int8(56), int8(57), int8(58), int8(59), int8(60), int8(61), int8(62), int8(-1), int8(-1), int8(-1), int8(63), int8(-1), -} /* sqlite3.c:204110:28 */ +} /* sqlite3.c:204167:28 */ // Apply a delta. // @@ -161322,7 +161353,7 @@ var zValue = [128]int8{ // // Refer to the delta_create() documentation above for a description // of the delta file format. -func rbuDeltaApply(tls *libc.TLS, zSrc uintptr, lenSrc int32, zDelta uintptr, lenDelta int32, zOut uintptr) int32 { /* sqlite3.c:204190:12: */ +func rbuDeltaApply(tls *libc.TLS, zSrc uintptr, lenSrc int32, zDelta uintptr, lenDelta int32, zOut uintptr) int32 { /* sqlite3.c:204247:12: */ bp := tls.Alloc(12) defer tls.Free(12) *(*uintptr)(unsafe.Pointer(bp)) = zDelta @@ -161412,7 +161443,7 @@ func rbuDeltaApply(tls *libc.TLS, zSrc uintptr, lenSrc int32, zDelta uintptr, le return -1 } -func rbuDeltaOutputSize(tls *libc.TLS, zDelta uintptr, lenDelta int32) int32 { /* sqlite3.c:204276:12: */ +func rbuDeltaOutputSize(tls *libc.TLS, zDelta uintptr, lenDelta int32) int32 { /* sqlite3.c:204333:12: */ bp := tls.Alloc(12) defer tls.Free(12) *(*uintptr)(unsafe.Pointer(bp)) = zDelta @@ -161437,7 +161468,7 @@ func rbuDeltaOutputSize(tls *libc.TLS, zDelta uintptr, lenDelta int32) int32 { / // arguments must be passed to this function. The first is the blob to // patch and the second the patch to apply. If no error occurs, this // function returns the patched blob. -func rbuFossilDeltaFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:204298:13: */ +func rbuFossilDeltaFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:204355:13: */ var aDelta uintptr var nDelta int32 var aOrig uintptr @@ -161480,7 +161511,7 @@ func rbuFossilDeltaFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr // an SQLite error code. Additionally, set output variable *pzErrmsg to // point to a buffer containing an error message. It is the responsibility // of the caller to (eventually) free this buffer using sqlite3_free(). -func prepareAndCollectError(tls *libc.TLS, db uintptr, ppStmt uintptr, pzErrmsg uintptr, zSql uintptr) int32 { /* sqlite3.c:204351:12: */ +func prepareAndCollectError(tls *libc.TLS, db uintptr, ppStmt uintptr, pzErrmsg uintptr, zSql uintptr) int32 { /* sqlite3.c:204408:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -161498,7 +161529,7 @@ func prepareAndCollectError(tls *libc.TLS, db uintptr, ppStmt uintptr, pzErrmsg // If an error has occurred, then set *pzErrmsg to point to a buffer // containing an error message. It is the responsibility of the caller // to eventually free this buffer using sqlite3_free(). -func resetAndCollectError(tls *libc.TLS, pStmt uintptr, pzErrmsg uintptr) int32 { /* sqlite3.c:204373:12: */ +func resetAndCollectError(tls *libc.TLS, pStmt uintptr, pzErrmsg uintptr) int32 { /* sqlite3.c:204430:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -161522,7 +161553,7 @@ func resetAndCollectError(tls *libc.TLS, pStmt uintptr, pzErrmsg uintptr) int32 // // If argument zSql is NULL, this function assumes that an OOM has occurred. // In this case SQLITE_NOMEM is returned and *ppStmt set to NULL. -func prepareFreeAndCollectError(tls *libc.TLS, db uintptr, ppStmt uintptr, pzErrmsg uintptr, zSql uintptr) int32 { /* sqlite3.c:204396:12: */ +func prepareFreeAndCollectError(tls *libc.TLS, db uintptr, ppStmt uintptr, pzErrmsg uintptr, zSql uintptr) int32 { /* sqlite3.c:204453:12: */ var rc int32 if zSql == uintptr(0) { @@ -161537,7 +161568,7 @@ func prepareFreeAndCollectError(tls *libc.TLS, db uintptr, ppStmt uintptr, pzErr // Free the RbuObjIter.azTblCol[] and RbuObjIter.abTblPk[] arrays allocated // by an earlier call to rbuObjIterCacheTableInfo(). -func rbuObjIterFreeCols(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:204418:13: */ +func rbuObjIterFreeCols(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:204475:13: */ var i int32 for i = 0; i < (*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol; i++ { Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8))) @@ -161555,7 +161586,7 @@ func rbuObjIterFreeCols(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:204418:13: // Finalize all statements and free all allocations that are specific to // the current object (table/index pair). -func rbuObjIterClearStatements(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:204438:13: */ +func rbuObjIterClearStatements(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:204495:13: */ var pUp uintptr Xsqlite3_finalize(tls, (*RbuObjIter)(unsafe.Pointer(pIter)).FpSelect) @@ -161585,7 +161616,7 @@ func rbuObjIterClearStatements(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:2044 // Clean up any resources allocated as part of the iterator object passed // as the only argument. -func rbuObjIterFinalize(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:204470:13: */ +func rbuObjIterFinalize(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:204527:13: */ rbuObjIterClearStatements(tls, pIter) Xsqlite3_finalize(tls, (*RbuObjIter)(unsafe.Pointer(pIter)).FpTblIter) Xsqlite3_finalize(tls, (*RbuObjIter)(unsafe.Pointer(pIter)).FpIdxIter) @@ -161599,7 +161630,7 @@ func rbuObjIterFinalize(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:204470:13: // pointing to the next entry. Otherwise, an error code and message is // left in the RBU handle passed as the first argument. A copy of the // error code is returned. -func rbuObjIterNext(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlite3.c:204486:12: */ +func rbuObjIterNext(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlite3.c:204543:12: */ var rc int32 = (*Sqlite3rbu)(unsafe.Pointer(p)).Frc if rc == SQLITE_OK { @@ -161680,7 +161711,7 @@ func rbuObjIterNext(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlite3. // // For an rbu vacuum handle, a copy of the first argument is returned if // the second argument is either missing or 0 (not a view). -func rbuTargetNameFunc(tls *libc.TLS, pCtx uintptr, argc int32, argv uintptr) { /* sqlite3.c:204566:13: */ +func rbuTargetNameFunc(tls *libc.TLS, pCtx uintptr, argc int32, argv uintptr) { /* sqlite3.c:204623:13: */ var p uintptr = Xsqlite3_user_data(tls, pCtx) var zIn uintptr @@ -161710,7 +161741,7 @@ func rbuTargetNameFunc(tls *libc.TLS, pCtx uintptr, argc int32, argv uintptr) { // pointing to the first entry. Otherwise, an error code and message is // left in the RBU handle passed as the first argument. A copy of the // error code is returned. -func rbuObjIterFirst(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlite3.c:204602:12: */ +func rbuObjIterFirst(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlite3.c:204659:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -161745,7 +161776,7 @@ func rbuObjIterFirst(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlite3 // than SQLITE_OK), then this function returns NULL without modifying the // stored error code. In this case it still calls sqlite3_free() on any // printf() parameters associated with %z conversions. -func rbuMPrintf(tls *libc.TLS, p uintptr, zFmt uintptr, va uintptr) uintptr { /* sqlite3.c:204637:13: */ +func rbuMPrintf(tls *libc.TLS, p uintptr, zFmt uintptr, va uintptr) uintptr { /* sqlite3.c:204694:13: */ var zSql uintptr = uintptr(0) var ap Va_list _ = ap @@ -161771,7 +161802,7 @@ func rbuMPrintf(tls *libc.TLS, p uintptr, zFmt uintptr, va uintptr) uintptr { /* // If an error occurs, an error code and error message is stored in the // RBU handle. If an error has already occurred when this function is // called, it is a no-op. -func rbuMPrintfExec(tls *libc.TLS, p uintptr, db uintptr, zFmt uintptr, va uintptr) int32 { /* sqlite3.c:204662:12: */ +func rbuMPrintfExec(tls *libc.TLS, p uintptr, db uintptr, zFmt uintptr, va uintptr) int32 { /* sqlite3.c:204719:12: */ var ap Va_list _ = ap var zSql uintptr @@ -161797,7 +161828,7 @@ func rbuMPrintfExec(tls *libc.TLS, p uintptr, db uintptr, zFmt uintptr, va uintp // error has already occurred when this function is called, return NULL // immediately without attempting the allocation or modifying the stored // error code. -func rbuMalloc(tls *libc.TLS, p uintptr, nByte Sqlite3_int64) uintptr { /* sqlite3.c:204689:13: */ +func rbuMalloc(tls *libc.TLS, p uintptr, nByte Sqlite3_int64) uintptr { /* sqlite3.c:204746:13: */ var pRet uintptr = uintptr(0) if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { @@ -161814,7 +161845,7 @@ func rbuMalloc(tls *libc.TLS, p uintptr, nByte Sqlite3_int64) uintptr { /* sqlit // Allocate and zero the pIter->azTblCol[] and abTblPk[] arrays so that // there is room for at least nCol elements. If an OOM occurs, store an // error code in the RBU handle passed as the first argument. -func rbuAllocateIterArrays(tls *libc.TLS, p uintptr, pIter uintptr, nCol int32) { /* sqlite3.c:204709:13: */ +func rbuAllocateIterArrays(tls *libc.TLS, p uintptr, pIter uintptr, nCol int32) { /* sqlite3.c:204766:13: */ var nByte Sqlite3_int64 = Sqlite3_int64((uint64(2)*uint64(unsafe.Sizeof(uintptr(0))) + uint64(unsafe.Sizeof(int32(0))) + uint64(3)*uint64(unsafe.Sizeof(U8(0)))) * uint64(nCol)) var azNew uintptr @@ -161837,7 +161868,7 @@ func rbuAllocateIterArrays(tls *libc.TLS, p uintptr, pIter uintptr, nCol int32) // If an OOM condition is encountered when attempting to allocate memory, // output variable (*pRc) is set to SQLITE_NOMEM before returning. Otherwise, // if the allocation succeeds, (*pRc) is left unchanged. -func rbuStrndup(tls *libc.TLS, zStr uintptr, pRc uintptr) uintptr { /* sqlite3.c:204734:13: */ +func rbuStrndup(tls *libc.TLS, zStr uintptr, pRc uintptr) uintptr { /* sqlite3.c:204791:13: */ var zRet uintptr = uintptr(0) if *(*int32)(unsafe.Pointer(pRc)) == SQLITE_OK { @@ -161860,7 +161891,7 @@ func rbuStrndup(tls *libc.TLS, zStr uintptr, pRc uintptr) uintptr { /* sqlite3.c // If the sqlite3_finalize() call indicates that an error occurs, and the // rbu handle error code is not already set, set the error code and error // message accordingly. -func rbuFinalize(tls *libc.TLS, p uintptr, pStmt uintptr) { /* sqlite3.c:204759:13: */ +func rbuFinalize(tls *libc.TLS, p uintptr, pStmt uintptr) { /* sqlite3.c:204816:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -161910,7 +161941,7 @@ func rbuFinalize(tls *libc.TLS, p uintptr, pStmt uintptr) { /* sqlite3.c:204759: // }else{ // return RBU_PK_NONE // } -func rbuTableType(tls *libc.TLS, p uintptr, zTab uintptr, peType uintptr, piTnum uintptr, piPk uintptr) { /* sqlite3.c:204807:13: */ +func rbuTableType(tls *libc.TLS, p uintptr, zTab uintptr, peType uintptr, piTnum uintptr, piPk uintptr) { /* sqlite3.c:204864:13: */ bp := tls.Alloc(64) defer tls.Free(64) @@ -162031,7 +162062,7 @@ __16: // This is a helper function for rbuObjIterCacheTableInfo(). It populates // the pIter->abIndexed[] array. -func rbuObjIterCacheIndexedCols(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:204893:13: */ +func rbuObjIterCacheIndexedCols(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:204950:13: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -162089,7 +162120,7 @@ func rbuObjIterCacheIndexedCols(tls *libc.TLS, p uintptr, pIter uintptr) { /* sq // Return SQLITE_OK if successful, or an SQLite error code otherwise. If // an error does occur, an error code and error message are also left in // the RBU handle. -func rbuObjIterCacheTableInfo(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlite3.c:204947:12: */ +func rbuObjIterCacheTableInfo(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlite3.c:205004:12: */ bp := tls.Alloc(72) defer tls.Free(72) @@ -162211,7 +162242,7 @@ func rbuObjIterCacheTableInfo(tls *libc.TLS, p uintptr, pIter uintptr) int32 { / // This function constructs and returns a pointer to a nul-terminated // string containing some SQL clause or list based on one or more of the // column names currently stored in the pIter->azTblCol[] array. -func rbuObjIterGetCollist(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { /* sqlite3.c:205057:13: */ +func rbuObjIterGetCollist(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { /* sqlite3.c:205114:13: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -162230,7 +162261,7 @@ func rbuObjIterGetCollist(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { /* // in order, for the current table. Before each column name, add the text // zPre. After each column name, add the zPost text. Use zSeparator as // the separator text (usually ", "). -func rbuObjIterGetPkList(tls *libc.TLS, p uintptr, pIter uintptr, zPre uintptr, zSeparator uintptr, zPost uintptr) uintptr { /* sqlite3.c:205078:13: */ +func rbuObjIterGetPkList(tls *libc.TLS, p uintptr, pIter uintptr, zPre uintptr, zSeparator uintptr, zPost uintptr) uintptr { /* sqlite3.c:205135:13: */ bp := tls.Alloc(40) defer tls.Free(40) @@ -162272,7 +162303,7 @@ func rbuObjIterGetPkList(tls *libc.TLS, p uintptr, pIter uintptr, zPre uintptr, // // Instead of "?" placeholders, the actual WHERE clauses created by // this function contain literal SQL values. -func rbuVacuumTableStart(tls *libc.TLS, p uintptr, pIter uintptr, bRowid int32, zWrite uintptr) uintptr { /* sqlite3.c:205123:13: */ +func rbuVacuumTableStart(tls *libc.TLS, p uintptr, pIter uintptr, bRowid int32, zWrite uintptr) uintptr { /* sqlite3.c:205180:13: */ bp := tls.Alloc(80) defer tls.Free(80) @@ -162331,7 +162362,7 @@ func rbuVacuumTableStart(tls *libc.TLS, p uintptr, pIter uintptr, bRowid int32, // If the expression cannot be created, NULL is returned. In this case, // the caller has to use an OFFSET clause to extract only the required // rows from the sourct table, just as it does for an RBU update operation. -func rbuVacuumIndexStart(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { /* sqlite3.c:205190:13: */ +func rbuVacuumIndexStart(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { /* sqlite3.c:205247:13: */ bp := tls.Alloc(192) defer tls.Free(192) @@ -162512,7 +162543,7 @@ index_start_out: // pzImposterCols: ... // pzImposterPk: ... // pzWhere: ... -func rbuObjIterGetIndexCols(tls *libc.TLS, p uintptr, pIter uintptr, pzImposterCols uintptr, pzImposterPk uintptr, pzWhere uintptr, pnBind uintptr) uintptr { /* sqlite3.c:205305:13: */ +func rbuObjIterGetIndexCols(tls *libc.TLS, p uintptr, pIter uintptr, pzImposterCols uintptr, pzImposterPk uintptr, pzWhere uintptr, pnBind uintptr) uintptr { /* sqlite3.c:205362:13: */ bp := tls.Alloc(208) defer tls.Free(208) @@ -162623,7 +162654,7 @@ func rbuObjIterGetIndexCols(tls *libc.TLS, p uintptr, pIter uintptr, pzImposterC // // For tables with implicit rowids - RBU_PK_EXTERNAL and RBU_PK_NONE, append // the text ", old._rowid_" to the returned value. -func rbuObjIterGetOldlist(tls *libc.TLS, p uintptr, pIter uintptr, zObj uintptr) uintptr { /* sqlite3.c:205417:13: */ +func rbuObjIterGetOldlist(tls *libc.TLS, p uintptr, pIter uintptr, zObj uintptr) uintptr { /* sqlite3.c:205474:13: */ bp := tls.Alloc(64) defer tls.Free(64) @@ -162661,7 +162692,7 @@ func rbuObjIterGetOldlist(tls *libc.TLS, p uintptr, pIter uintptr, zObj uintptr) // Return the string: // // "b = ?1 AND c = ?2" -func rbuObjIterGetWhere(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { /* sqlite3.c:205458:13: */ +func rbuObjIterGetWhere(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { /* sqlite3.c:205515:13: */ bp := tls.Alloc(80) defer tls.Free(80) @@ -162699,7 +162730,7 @@ func rbuObjIterGetWhere(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { /* sq // is something wrong with the rbu_control value in the rbu_control value // stored in the (p->nCol+1)'th column. Set the error code and error message // of the RBU handle to something reflecting this. -func rbuBadControlError(tls *libc.TLS, p uintptr) { /* sqlite3.c:205499:13: */ +func rbuBadControlError(tls *libc.TLS, p uintptr) { /* sqlite3.c:205556:13: */ (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_ERROR (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+29146, 0) } @@ -162719,7 +162750,7 @@ func rbuBadControlError(tls *libc.TLS, p uintptr) { /* sqlite3.c:205499:13: */ // argument and NULL is returned. Or, if an error has already occurred // when this function is called, NULL is returned immediately, without // attempting the allocation or modifying the stored error code. -func rbuObjIterGetSetlist(tls *libc.TLS, p uintptr, pIter uintptr, zMask uintptr) uintptr { /* sqlite3.c:205522:13: */ +func rbuObjIterGetSetlist(tls *libc.TLS, p uintptr, pIter uintptr, zMask uintptr) uintptr { /* sqlite3.c:205579:13: */ bp := tls.Alloc(112) defer tls.Free(112) @@ -162765,7 +162796,7 @@ func rbuObjIterGetSetlist(tls *libc.TLS, p uintptr, pIter uintptr, zMask uintptr // argument and NULL is returned. Or, if an error has already occurred // when this function is called, NULL is returned immediately, without // attempting the allocation or modifying the stored error code. -func rbuObjIterGetBindlist(tls *libc.TLS, p uintptr, nBind int32) uintptr { /* sqlite3.c:205576:13: */ +func rbuObjIterGetBindlist(tls *libc.TLS, p uintptr, nBind int32) uintptr { /* sqlite3.c:205633:13: */ var zRet uintptr = uintptr(0) var nByte Sqlite3_int64 = int64(2)*Sqlite3_int64(nBind) + int64(1) @@ -162795,7 +162826,7 @@ func rbuObjIterGetBindlist(tls *libc.TLS, p uintptr, nBind int32) uintptr { /* s // this function returns: // // PRIMARY KEY("b", "a" DESC) -func rbuWithoutRowidPK(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { /* sqlite3.c:205603:13: */ +func rbuWithoutRowidPK(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { /* sqlite3.c:205660:13: */ bp := tls.Alloc(72) defer tls.Free(72) @@ -162858,7 +162889,7 @@ func rbuWithoutRowidPK(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { /* sql // // CREATE TABLE rbu_imposter2(c1 TEXT, c2 REAL, id INTEGER) WITHOUT ROWID; // -func rbuCreateImposterTable2(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:205662:13: */ +func rbuCreateImposterTable2(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:205719:13: */ bp := tls.Alloc(184) defer tls.Free(184) @@ -162934,7 +162965,7 @@ func rbuCreateImposterTable2(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlit // More precisely, the "same schema" means the same columns, types, // collation sequences. For tables that do not have an external PRIMARY // KEY, it also means the same PRIMARY KEY declaration. -func rbuCreateImposterTable(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:205736:13: */ +func rbuCreateImposterTable(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:205793:13: */ bp := tls.Alloc(200) defer tls.Free(200) @@ -162998,7 +163029,7 @@ func rbuCreateImposterTable(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite // the target table, plus one (for the rbu_control column), plus one more // (for the rbu_rowid column) if the target table is an implicit IPK or // virtual table. -func rbuObjIterPrepareTmpInsert(tls *libc.TLS, p uintptr, pIter uintptr, zCollist uintptr, zRbuRowid uintptr) { /* sqlite3.c:205792:13: */ +func rbuObjIterPrepareTmpInsert(tls *libc.TLS, p uintptr, pIter uintptr, zCollist uintptr, zRbuRowid uintptr) { /* sqlite3.c:205849:13: */ bp := tls.Alloc(40) defer tls.Free(40) @@ -163013,7 +163044,7 @@ func rbuObjIterPrepareTmpInsert(tls *libc.TLS, p uintptr, pIter uintptr, zCollis } } -func rbuTmpInsertFunc(tls *libc.TLS, pCtx uintptr, nVal int32, apVal uintptr) { /* sqlite3.c:205810:13: */ +func rbuTmpInsertFunc(tls *libc.TLS, pCtx uintptr, nVal int32, apVal uintptr) { /* sqlite3.c:205867:13: */ var p uintptr = Xsqlite3_user_data(tls, pCtx) var rc int32 = SQLITE_OK var i int32 @@ -163035,7 +163066,7 @@ func rbuTmpInsertFunc(tls *libc.TLS, pCtx uintptr, nVal int32, apVal uintptr) { } } -func rbuObjIterGetIndexWhere(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { /* sqlite3.c:205840:13: */ +func rbuObjIterGetIndexWhere(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { /* sqlite3.c:205897:13: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -163143,7 +163174,7 @@ func rbuObjIterGetIndexWhere(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { // Ensure that the SQLite statement handles required to update the // target database object currently indicated by the iterator passed // as the second argument are available. -func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32) int32 { /* sqlite3.c:205940:12: */ +func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32) int32 { /* sqlite3.c:205997:12: */ bp := tls.Alloc(628) defer tls.Free(628) @@ -163418,7 +163449,7 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32 // // If the zMask string does not specify any columns to update, then this // is not an error. Output variable *ppStmt is set to NULL in this case. -func rbuGetUpdateStmt(tls *libc.TLS, p uintptr, pIter uintptr, zMask uintptr, ppStmt uintptr) int32 { /* sqlite3.c:206207:12: */ +func rbuGetUpdateStmt(tls *libc.TLS, p uintptr, pIter uintptr, zMask uintptr, ppStmt uintptr) int32 { /* sqlite3.c:206264:12: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -163484,7 +163515,7 @@ func rbuGetUpdateStmt(tls *libc.TLS, p uintptr, pIter uintptr, zMask uintptr, pp return (*Sqlite3rbu)(unsafe.Pointer(p)).Frc } -func rbuOpenDbhandle(tls *libc.TLS, p uintptr, zName uintptr, bUseVfs int32) uintptr { /* sqlite3.c:206275:16: */ +func rbuOpenDbhandle(tls *libc.TLS, p uintptr, zName uintptr, bUseVfs int32) uintptr { /* sqlite3.c:206332:16: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -163507,7 +163538,7 @@ func rbuOpenDbhandle(tls *libc.TLS, p uintptr, zName uintptr, bUseVfs int32) uin } // Free an RbuState object allocated by rbuLoadState(). -func rbuFreeState(tls *libc.TLS, p uintptr) { /* sqlite3.c:206296:13: */ +func rbuFreeState(tls *libc.TLS, p uintptr) { /* sqlite3.c:206353:13: */ if p != 0 { Xsqlite3_free(tls, (*RbuState)(unsafe.Pointer(p)).FzTbl) Xsqlite3_free(tls, (*RbuState)(unsafe.Pointer(p)).FzDataTbl) @@ -163523,7 +163554,7 @@ func rbuFreeState(tls *libc.TLS, p uintptr) { /* sqlite3.c:206296:13: */ // // If an error occurs, leave an error code and message in the rbu handle // and return NULL. -func rbuLoadState(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:206314:17: */ +func rbuLoadState(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:206371:17: */ bp := tls.Alloc(20) defer tls.Free(20) @@ -163607,7 +163638,7 @@ func rbuLoadState(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:206314:17: */ // If argument dbMain is not NULL, then it is a database handle already // open on the target database. Use this handle instead of opening a new // one. -func rbuOpenDatabase(tls *libc.TLS, p uintptr, dbMain uintptr, pbRetry uintptr) { /* sqlite3.c:206395:13: */ +func rbuOpenDatabase(tls *libc.TLS, p uintptr, dbMain uintptr, pbRetry uintptr) { /* sqlite3.c:206452:13: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -163769,7 +163800,7 @@ func rbuOpenDatabase(tls *libc.TLS, p uintptr, dbMain uintptr, pbRetry uintptr) // test.db-wal => test.wal // test.db-shm => test.shm // test.db-mj7f3319fa => test.9fa -func rbuFileSuffix3(tls *libc.TLS, zBase uintptr, z uintptr) { /* sqlite3.c:206576:13: */ +func rbuFileSuffix3(tls *libc.TLS, zBase uintptr, z uintptr) { /* sqlite3.c:206633:13: */ } // Return the current wal-index header checksum for the target database @@ -163777,7 +163808,7 @@ func rbuFileSuffix3(tls *libc.TLS, zBase uintptr, z uintptr) { /* sqlite3.c:2065 // // The checksum is store in the first page of xShmMap memory as an 8-byte // blob starting at byte offset 40. -func rbuShmChecksum(tls *libc.TLS, p uintptr) I64 { /* sqlite3.c:206597:12: */ +func rbuShmChecksum(tls *libc.TLS, p uintptr) I64 { /* sqlite3.c:206654:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -163810,7 +163841,7 @@ func rbuShmChecksum(tls *libc.TLS, p uintptr) I64 { /* sqlite3.c:206597:12: */ // object, then the rbu handle is set to DONE state. This occurs if some // other client appends a transaction to the wal file in the middle of // an incremental checkpoint. -func rbuSetupCheckpoint(tls *libc.TLS, p uintptr, pState uintptr) { /* sqlite3.c:206626:13: */ +func rbuSetupCheckpoint(tls *libc.TLS, p uintptr, pState uintptr) { /* sqlite3.c:206683:13: */ // If pState is NULL, then the wal file may not have been opened and // recovered. Running a read-statement here to ensure that doing so @@ -163902,7 +163933,7 @@ func rbuSetupCheckpoint(tls *libc.TLS, p uintptr, pState uintptr) { /* sqlite3.c // Called when iAmt bytes are read from offset iOff of the wal file while // the rbu object is in capture mode. Record the frame number of the frame // being read in the aFrame[] array. -func rbuCaptureWalRead(tls *libc.TLS, pRbu uintptr, iOff I64, iAmt int32) int32 { /* sqlite3.c:206710:12: */ +func rbuCaptureWalRead(tls *libc.TLS, pRbu uintptr, iOff I64, iAmt int32) int32 { /* sqlite3.c:206767:12: */ var mReq U32 = U32(int32(1)<dbMain to one more than the schema cookie of the main // db opened by p->dbRbu. -func rbuIncrSchemaCookie(tls *libc.TLS, p uintptr) { /* sqlite3.c:207135:13: */ +func rbuIncrSchemaCookie(tls *libc.TLS, p uintptr) { /* sqlite3.c:207192:13: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -164309,7 +164340,7 @@ func rbuIncrSchemaCookie(tls *libc.TLS, p uintptr) { /* sqlite3.c:207135:13: */ // Update the contents of the rbu_state table within the rbu database. The // value stored in the RBU_STATE_STAGE column is eStage. All other values // are determined by inspecting the rbu handle passed as the first argument. -func rbuSaveState(tls *libc.TLS, p uintptr, eStage int32) { /* sqlite3.c:207166:13: */ +func rbuSaveState(tls *libc.TLS, p uintptr, eStage int32) { /* sqlite3.c:207223:13: */ bp := tls.Alloc(176) defer tls.Free(176) @@ -164364,7 +164395,7 @@ func rbuSaveState(tls *libc.TLS, p uintptr, eStage int32) { /* sqlite3.c:207166: // // In short, it copies the value of the specified PRAGMA setting from // dbRbu to dbMain. -func rbuCopyPragma(tls *libc.TLS, p uintptr, zPragma uintptr) { /* sqlite3.c:207227:13: */ +func rbuCopyPragma(tls *libc.TLS, p uintptr, zPragma uintptr) { /* sqlite3.c:207284:13: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -164383,7 +164414,7 @@ func rbuCopyPragma(tls *libc.TLS, p uintptr, zPragma uintptr) { /* sqlite3.c:207 // The RBU handle passed as the only argument has just been opened and // the state database is empty. If this RBU handle was opened for an // RBU vacuum operation, create the schema in the target db. -func rbuCreateTargetSchema(tls *libc.TLS, p uintptr) { /* sqlite3.c:207247:13: */ +func rbuCreateTargetSchema(tls *libc.TLS, p uintptr) { /* sqlite3.c:207304:13: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -164433,7 +164464,7 @@ func rbuCreateTargetSchema(tls *libc.TLS, p uintptr) { /* sqlite3.c:207247:13: * } // Step the RBU object. -func Xsqlite3rbu_step(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:207299:16: */ +func Xsqlite3rbu_step(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:207356:16: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -164576,7 +164607,7 @@ func Xsqlite3rbu_step(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:207299:16: // Compare strings z1 and z2, returning 0 if they are identical, or non-zero // otherwise. Either or both argument may be NULL. Two NULL values are // considered equal, and NULL is considered distinct from all other values. -func rbuStrCompare(tls *libc.TLS, z1 uintptr, z2 uintptr) int32 { /* sqlite3.c:207428:12: */ +func rbuStrCompare(tls *libc.TLS, z1 uintptr, z2 uintptr) int32 { /* sqlite3.c:207485:12: */ if z1 == uintptr(0) && z2 == uintptr(0) { return 0 } @@ -164594,7 +164625,7 @@ func rbuStrCompare(tls *libc.TLS, z1 uintptr, z2 uintptr) int32 { /* sqlite3.c:2 // // If an error occurs, an error code and error message are left in the // rbu handle passed as the first argument. -func rbuSetupOal(tls *libc.TLS, p uintptr, pState uintptr) { /* sqlite3.c:207444:13: */ +func rbuSetupOal(tls *libc.TLS, p uintptr, pState uintptr) { /* sqlite3.c:207501:13: */ if (*RbuState)(unsafe.Pointer(pState)).FzTbl != 0 { var pIter uintptr = p + 80 @@ -164624,7 +164655,7 @@ func rbuSetupOal(tls *libc.TLS, p uintptr, pState uintptr) { /* sqlite3.c:207444 // If there is a "*-oal" file in the file-system corresponding to the // target database in the file-system, delete it. If an error occurs, // leave an error code and error message in the rbu handle. -func rbuDeleteOalFile(tls *libc.TLS, p uintptr) { /* sqlite3.c:207477:13: */ +func rbuDeleteOalFile(tls *libc.TLS, p uintptr) { /* sqlite3.c:207534:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -164643,7 +164674,7 @@ func rbuDeleteOalFile(tls *libc.TLS, p uintptr) { /* sqlite3.c:207477:13: */ // argument. This VFS will be used unless the call to sqlite3rbu_open() // specified a URI with a vfs=? option in place of a target database // file name. -func rbuCreateVfs(tls *libc.TLS, p uintptr) { /* sqlite3.c:207493:13: */ +func rbuCreateVfs(tls *libc.TLS, p uintptr) { /* sqlite3.c:207550:13: */ bp := tls.Alloc(76) defer tls.Free(76) @@ -164664,7 +164695,7 @@ func rbuCreateVfs(tls *libc.TLS, p uintptr) { /* sqlite3.c:207493:13: */ // Destroy the private VFS created for the rbu handle passed as the only // argument by an earlier call to rbuCreateVfs(). -func rbuDeleteVfs(tls *libc.TLS, p uintptr) { /* sqlite3.c:207513:13: */ +func rbuDeleteVfs(tls *libc.TLS, p uintptr) { /* sqlite3.c:207570:13: */ if (*Sqlite3rbu)(unsafe.Pointer(p)).FzVfsName != 0 { Xsqlite3rbu_destroy_vfs(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FzVfsName) (*Sqlite3rbu)(unsafe.Pointer(p)).FzVfsName = uintptr(0) @@ -164674,7 +164705,7 @@ func rbuDeleteVfs(tls *libc.TLS, p uintptr) { /* sqlite3.c:207513:13: */ // This user-defined SQL function is invoked with a single argument - the // name of a table expected to appear in the target database. It returns // the number of auxilliary indexes on the table. -func rbuIndexCntFunc(tls *libc.TLS, pCtx uintptr, nVal int32, apVal uintptr) { /* sqlite3.c:207525:13: */ +func rbuIndexCntFunc(tls *libc.TLS, pCtx uintptr, nVal int32, apVal uintptr) { /* sqlite3.c:207582:13: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -164723,7 +164754,7 @@ func rbuIndexCntFunc(tls *libc.TLS, pCtx uintptr, nVal int32, apVal uintptr) { / // sqlite3rbu.nPhaseOneStep is initialized to the sum of (1 + nIndex) * cnt // for all rows in the rbu_count table, where nIndex is the number of // indexes on the corresponding target database table. -func rbuInitPhaseOneSteps(tls *libc.TLS, p uintptr) { /* sqlite3.c:207575:13: */ +func rbuInitPhaseOneSteps(tls *libc.TLS, p uintptr) { /* sqlite3.c:207632:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -164765,7 +164796,7 @@ func rbuInitPhaseOneSteps(tls *libc.TLS, p uintptr) { /* sqlite3.c:207575:13: */ } } -func openRbuHandle(tls *libc.TLS, zTarget uintptr, zRbu uintptr, zState uintptr) uintptr { /* sqlite3.c:207616:19: */ +func openRbuHandle(tls *libc.TLS, zTarget uintptr, zRbu uintptr, zState uintptr) uintptr { /* sqlite3.c:207673:19: */ bp := tls.Alloc(20) defer tls.Free(20) @@ -164938,7 +164969,7 @@ func openRbuHandle(tls *libc.TLS, zTarget uintptr, zRbu uintptr, zState uintptr) // Allocate and return an RBU handle with all fields zeroed except for the // error code, which is set to SQLITE_MISUSE. -func rbuMisuseError(tls *libc.TLS) uintptr { /* sqlite3.c:207780:19: */ +func rbuMisuseError(tls *libc.TLS) uintptr { /* sqlite3.c:207837:19: */ var pRet uintptr pRet = Xsqlite3_malloc64(tls, uint64(unsafe.Sizeof(Sqlite3rbu{}))) if pRet != 0 { @@ -164949,7 +164980,7 @@ func rbuMisuseError(tls *libc.TLS) uintptr { /* sqlite3.c:207780:19: */ } // Open and return a new RBU handle. -func Xsqlite3rbu_open(tls *libc.TLS, zTarget uintptr, zRbu uintptr, zState uintptr) uintptr { /* sqlite3.c:207793:23: */ +func Xsqlite3rbu_open(tls *libc.TLS, zTarget uintptr, zRbu uintptr, zState uintptr) uintptr { /* sqlite3.c:207850:23: */ if zTarget == uintptr(0) || zRbu == uintptr(0) { return rbuMisuseError(tls) } @@ -164957,7 +164988,7 @@ func Xsqlite3rbu_open(tls *libc.TLS, zTarget uintptr, zRbu uintptr, zState uintp } // Open a handle to begin or resume an RBU VACUUM operation. -func Xsqlite3rbu_vacuum(tls *libc.TLS, zTarget uintptr, zState uintptr) uintptr { /* sqlite3.c:207805:23: */ +func Xsqlite3rbu_vacuum(tls *libc.TLS, zTarget uintptr, zState uintptr) uintptr { /* sqlite3.c:207862:23: */ if zTarget == uintptr(0) { return rbuMisuseError(tls) } @@ -164972,7 +165003,7 @@ func Xsqlite3rbu_vacuum(tls *libc.TLS, zTarget uintptr, zState uintptr) uintptr } // Return the database handle used by pRbu. -func Xsqlite3rbu_db(tls *libc.TLS, pRbu uintptr, bRbu int32) uintptr { /* sqlite3.c:207823:20: */ +func Xsqlite3rbu_db(tls *libc.TLS, pRbu uintptr, bRbu int32) uintptr { /* sqlite3.c:207880:20: */ var db uintptr = uintptr(0) if pRbu != 0 { db = func() uintptr { @@ -164988,7 +165019,7 @@ func Xsqlite3rbu_db(tls *libc.TLS, pRbu uintptr, bRbu int32) uintptr { /* sqlite // If the error code currently stored in the RBU handle is SQLITE_CONSTRAINT, // then edit any error message string so as to remove all occurrences of // the pattern "rbu_imp_[0-9]*". -func rbuEditErrmsg(tls *libc.TLS, p uintptr) { /* sqlite3.c:207837:13: */ +func rbuEditErrmsg(tls *libc.TLS, p uintptr) { /* sqlite3.c:207894:13: */ if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_CONSTRAINT && (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg != 0 { var i uint32 var nErrmsg Size_t = libc.Xstrlen(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg) @@ -165006,7 +165037,7 @@ func rbuEditErrmsg(tls *libc.TLS, p uintptr) { /* sqlite3.c:207837:13: */ } // Close the RBU handle. -func Xsqlite3rbu_close(tls *libc.TLS, p uintptr, pzErrmsg uintptr) int32 { /* sqlite3.c:207855:16: */ +func Xsqlite3rbu_close(tls *libc.TLS, p uintptr, pzErrmsg uintptr) int32 { /* sqlite3.c:207912:16: */ var rc int32 if p != 0 { @@ -165071,13 +165102,13 @@ func Xsqlite3rbu_close(tls *libc.TLS, p uintptr, pzErrmsg uintptr) int32 { /* sq // Return the total number of key-value operations (inserts, deletes or // updates) that have been performed on the target database since the // current RBU update was started. -func Xsqlite3rbu_progress(tls *libc.TLS, pRbu uintptr) Sqlite3_int64 { /* sqlite3.c:207918:26: */ +func Xsqlite3rbu_progress(tls *libc.TLS, pRbu uintptr) Sqlite3_int64 { /* sqlite3.c:207975:26: */ return Sqlite3_int64((*Sqlite3rbu)(unsafe.Pointer(pRbu)).FnProgress) } // Return permyriadage progress indications for the two main stages of // an RBU update. -func Xsqlite3rbu_bp_progress(tls *libc.TLS, p uintptr, pnOne uintptr, pnTwo uintptr) { /* sqlite3.c:207926:17: */ +func Xsqlite3rbu_bp_progress(tls *libc.TLS, p uintptr, pnOne uintptr, pnTwo uintptr) { /* sqlite3.c:207983:17: */ var MAX_PROGRESS int32 = 10000 switch (*Sqlite3rbu)(unsafe.Pointer(p)).FeStage { case RBU_STAGE_OAL: @@ -165110,7 +165141,7 @@ func Xsqlite3rbu_bp_progress(tls *libc.TLS, p uintptr, pnOne uintptr, pnTwo uint } // Return the current state of the RBU vacuum or update operation. -func Xsqlite3rbu_state(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:207961:16: */ +func Xsqlite3rbu_state(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:208018:16: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -165128,7 +165159,7 @@ func Xsqlite3rbu_state(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:207961:16: return int32(0) } -func Xsqlite3rbu_savestate(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:207989:16: */ +func Xsqlite3rbu_savestate(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:208046:16: */ var rc int32 = (*Sqlite3rbu)(unsafe.Pointer(p)).Frc if rc == SQLITE_DONE { return SQLITE_OK @@ -165235,7 +165266,7 @@ func Xsqlite3rbu_savestate(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:207989 // relinquished). Finally, calls to xSync() on the target database // file fail with SQLITE_INTERNAL errors. -func rbuUnlockShm(tls *libc.TLS, p uintptr) { /* sqlite3.c:208082:13: */ +func rbuUnlockShm(tls *libc.TLS, p uintptr) { /* sqlite3.c:208139:13: */ if (*Rbu_file)(unsafe.Pointer(p)).FpRbu != 0 { var xShmLock uintptr = (*sqlite3_io_methods)(unsafe.Pointer((*Sqlite3_file)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer(p)).FpReal)).FpMethods)).FxShmLock @@ -165252,7 +165283,7 @@ func rbuUnlockShm(tls *libc.TLS, p uintptr) { /* sqlite3.c:208082:13: */ } // -func rbuUpdateTempSize(tls *libc.TLS, pFd uintptr, nNew Sqlite3_int64) int32 { /* sqlite3.c:208098:12: */ +func rbuUpdateTempSize(tls *libc.TLS, pFd uintptr, nNew Sqlite3_int64) int32 { /* sqlite3.c:208155:12: */ var pRbu uintptr = (*Rbu_file)(unsafe.Pointer(pFd)).FpRbu var nDiff I64 = nNew - (*Rbu_file)(unsafe.Pointer(pFd)).Fsz *(*I64)(unsafe.Pointer(pRbu + 360)) += nDiff @@ -165270,7 +165301,7 @@ func rbuUpdateTempSize(tls *libc.TLS, pFd uintptr, nNew Sqlite3_int64) int32 { / // for all file descriptors with rbu_file.pDb!=0. If the argument has // rbu_file.pDb!=0, then it is assumed to already be present on the // main list and is only added to the pDb!=0 list. -func rbuMainlistAdd(tls *libc.TLS, p uintptr) { /* sqlite3.c:208116:13: */ +func rbuMainlistAdd(tls *libc.TLS, p uintptr) { /* sqlite3.c:208173:13: */ var pRbuVfs uintptr = (*Rbu_file)(unsafe.Pointer(p)).FpRbuVfs var pIter uintptr @@ -165292,7 +165323,7 @@ func rbuMainlistAdd(tls *libc.TLS, p uintptr) { /* sqlite3.c:208116:13: */ } // Remove an item from the main-db lists. -func rbuMainlistRemove(tls *libc.TLS, p uintptr) { /* sqlite3.c:208138:13: */ +func rbuMainlistRemove(tls *libc.TLS, p uintptr) { /* sqlite3.c:208195:13: */ var pp uintptr Xsqlite3_mutex_enter(tls, (*Rbu_vfs)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer(p)).FpRbuVfs)).Fmutex) for pp = (*Rbu_file)(unsafe.Pointer(p)).FpRbuVfs + 192; *(*uintptr)(unsafe.Pointer(pp)) != 0 && *(*uintptr)(unsafe.Pointer(pp)) != p; pp = *(*uintptr)(unsafe.Pointer(pp)) + 88 { @@ -165317,7 +165348,7 @@ func rbuMainlistRemove(tls *libc.TLS, p uintptr) { /* sqlite3.c:208138:13: */ // // If parameter bRbu is true, only search for file-descriptors with // rbu_file.pDb!=0. -func rbuFindMaindb(tls *libc.TLS, pRbuVfs uintptr, zWal uintptr, bRbu int32) uintptr { /* sqlite3.c:208159:17: */ +func rbuFindMaindb(tls *libc.TLS, pRbuVfs uintptr, zWal uintptr, bRbu int32) uintptr { /* sqlite3.c:208216:17: */ var pDb uintptr Xsqlite3_mutex_enter(tls, (*Rbu_vfs)(unsafe.Pointer(pRbuVfs)).Fmutex) if bRbu != 0 { @@ -165332,7 +165363,7 @@ func rbuFindMaindb(tls *libc.TLS, pRbuVfs uintptr, zWal uintptr, bRbu int32) uin } // Close an rbu file. -func rbuVfsClose(tls *libc.TLS, pFile uintptr) int32 { /* sqlite3.c:208174:12: */ +func rbuVfsClose(tls *libc.TLS, pFile uintptr) int32 { /* sqlite3.c:208231:12: */ var p uintptr = pFile var rc int32 var i int32 @@ -165364,7 +165395,7 @@ func rbuVfsClose(tls *libc.TLS, pFile uintptr) int32 { /* sqlite3.c:208174:12: * // Read and return an unsigned 32-bit big-endian integer from the buffer // passed as the only argument. -func rbuGetU32(tls *libc.TLS, aBuf uintptr) U32 { /* sqlite3.c:208207:12: */ +func rbuGetU32(tls *libc.TLS, aBuf uintptr) U32 { /* sqlite3.c:208264:12: */ return U32(*(*U8)(unsafe.Pointer(aBuf)))<<24 + U32(*(*U8)(unsafe.Pointer(aBuf + 1)))<<16 + U32(*(*U8)(unsafe.Pointer(aBuf + 2)))<<8 + @@ -165373,20 +165404,20 @@ func rbuGetU32(tls *libc.TLS, aBuf uintptr) U32 { /* sqlite3.c:208207:12: */ // Write an unsigned 32-bit value in big-endian format to the supplied // buffer. -func rbuPutU32(tls *libc.TLS, aBuf uintptr, iVal U32) { /* sqlite3.c:208218:13: */ +func rbuPutU32(tls *libc.TLS, aBuf uintptr, iVal U32) { /* sqlite3.c:208275:13: */ *(*U8)(unsafe.Pointer(aBuf)) = U8(iVal >> 24 & U32(0xFF)) *(*U8)(unsafe.Pointer(aBuf + 1)) = U8(iVal >> 16 & U32(0xFF)) *(*U8)(unsafe.Pointer(aBuf + 2)) = U8(iVal >> 8 & U32(0xFF)) *(*U8)(unsafe.Pointer(aBuf + 3)) = U8(iVal >> 0 & U32(0xFF)) } -func rbuPutU16(tls *libc.TLS, aBuf uintptr, iVal U16) { /* sqlite3.c:208225:13: */ +func rbuPutU16(tls *libc.TLS, aBuf uintptr, iVal U16) { /* sqlite3.c:208282:13: */ *(*U8)(unsafe.Pointer(aBuf)) = U8(int32(iVal) >> 8 & 0xFF) *(*U8)(unsafe.Pointer(aBuf + 1)) = U8(int32(iVal) >> 0 & 0xFF) } // Read data from an rbuVfs-file. -func rbuVfsRead(tls *libc.TLS, pFile uintptr, zBuf uintptr, iAmt int32, iOfst Sqlite_int64) int32 { /* sqlite3.c:208233:12: */ +func rbuVfsRead(tls *libc.TLS, pFile uintptr, zBuf uintptr, iAmt int32, iOfst Sqlite_int64) int32 { /* sqlite3.c:208290:12: */ var p uintptr = pFile var pRbu uintptr = (*Rbu_file)(unsafe.Pointer(p)).FpRbu var rc int32 @@ -165450,7 +165481,7 @@ func rbuVfsRead(tls *libc.TLS, pFile uintptr, zBuf uintptr, iAmt int32, iOfst Sq } // Write data to an rbuVfs-file. -func rbuVfsWrite(tls *libc.TLS, pFile uintptr, zBuf uintptr, iAmt int32, iOfst Sqlite_int64) int32 { /* sqlite3.c:208299:12: */ +func rbuVfsWrite(tls *libc.TLS, pFile uintptr, zBuf uintptr, iAmt int32, iOfst Sqlite_int64) int32 { /* sqlite3.c:208356:12: */ var p uintptr = pFile var pRbu uintptr = (*Rbu_file)(unsafe.Pointer(p)).FpRbu var rc int32 @@ -165489,7 +165520,7 @@ func rbuVfsWrite(tls *libc.TLS, pFile uintptr, zBuf uintptr, iAmt int32, iOfst S } // Truncate an rbuVfs-file. -func rbuVfsTruncate(tls *libc.TLS, pFile uintptr, size Sqlite_int64) int32 { /* sqlite3.c:208342:12: */ +func rbuVfsTruncate(tls *libc.TLS, pFile uintptr, size Sqlite_int64) int32 { /* sqlite3.c:208399:12: */ var p uintptr = pFile if (*Rbu_file)(unsafe.Pointer(p)).FopenFlags&SQLITE_OPEN_DELETEONCLOSE != 0 && (*Rbu_file)(unsafe.Pointer(p)).FpRbu != 0 { var rc int32 = rbuUpdateTempSize(tls, p, size) @@ -165503,7 +165534,7 @@ func rbuVfsTruncate(tls *libc.TLS, pFile uintptr, size Sqlite_int64) int32 { /* } // Sync an rbuVfs-file. -func rbuVfsSync(tls *libc.TLS, pFile uintptr, flags int32) int32 { /* sqlite3.c:208354:12: */ +func rbuVfsSync(tls *libc.TLS, pFile uintptr, flags int32) int32 { /* sqlite3.c:208411:12: */ var p uintptr = pFile if (*Rbu_file)(unsafe.Pointer(p)).FpRbu != 0 && (*Sqlite3rbu)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer(p)).FpRbu)).FeStage == RBU_STAGE_CAPTURE { if (*Rbu_file)(unsafe.Pointer(p)).FopenFlags&SQLITE_OPEN_MAIN_DB != 0 { @@ -165517,7 +165548,7 @@ func rbuVfsSync(tls *libc.TLS, pFile uintptr, flags int32) int32 { /* sqlite3.c: } // Return the current file-size of an rbuVfs-file. -func rbuVfsFileSize(tls *libc.TLS, pFile uintptr, pSize uintptr) int32 { /* sqlite3.c:208368:12: */ +func rbuVfsFileSize(tls *libc.TLS, pFile uintptr, pSize uintptr) int32 { /* sqlite3.c:208425:12: */ var p uintptr = pFile var rc int32 rc = (*struct { @@ -165537,7 +165568,7 @@ func rbuVfsFileSize(tls *libc.TLS, pFile uintptr, pSize uintptr) int32 { /* sqli } // Lock an rbuVfs-file. -func rbuVfsLock(tls *libc.TLS, pFile uintptr, eLock int32) int32 { /* sqlite3.c:208389:12: */ +func rbuVfsLock(tls *libc.TLS, pFile uintptr, eLock int32) int32 { /* sqlite3.c:208446:12: */ var p uintptr = pFile var pRbu uintptr = (*Rbu_file)(unsafe.Pointer(p)).FpRbu var rc int32 = SQLITE_OK @@ -165557,7 +165588,7 @@ func rbuVfsLock(tls *libc.TLS, pFile uintptr, eLock int32) int32 { /* sqlite3.c: } // Unlock an rbuVfs-file. -func rbuVfsUnlock(tls *libc.TLS, pFile uintptr, eLock int32) int32 { /* sqlite3.c:208411:12: */ +func rbuVfsUnlock(tls *libc.TLS, pFile uintptr, eLock int32) int32 { /* sqlite3.c:208468:12: */ var p uintptr = pFile return (*struct { f func(*libc.TLS, uintptr, int32) int32 @@ -165565,7 +165596,7 @@ func rbuVfsUnlock(tls *libc.TLS, pFile uintptr, eLock int32) int32 { /* sqlite3. } // Check if another file-handle holds a RESERVED lock on an rbuVfs-file. -func rbuVfsCheckReservedLock(tls *libc.TLS, pFile uintptr, pResOut uintptr) int32 { /* sqlite3.c:208419:12: */ +func rbuVfsCheckReservedLock(tls *libc.TLS, pFile uintptr, pResOut uintptr) int32 { /* sqlite3.c:208476:12: */ var p uintptr = pFile return (*struct { f func(*libc.TLS, uintptr, uintptr) int32 @@ -165573,7 +165604,7 @@ func rbuVfsCheckReservedLock(tls *libc.TLS, pFile uintptr, pResOut uintptr) int3 } // File control method. For custom operations on an rbuVfs-file. -func rbuVfsFileControl(tls *libc.TLS, pFile uintptr, op int32, pArg uintptr) int32 { /* sqlite3.c:208427:12: */ +func rbuVfsFileControl(tls *libc.TLS, pFile uintptr, op int32, pArg uintptr) int32 { /* sqlite3.c:208484:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -165636,7 +165667,7 @@ func rbuVfsFileControl(tls *libc.TLS, pFile uintptr, op int32, pArg uintptr) int } // Return the sector-size in bytes for an rbuVfs-file. -func rbuVfsSectorSize(tls *libc.TLS, pFile uintptr) int32 { /* sqlite3.c:208483:12: */ +func rbuVfsSectorSize(tls *libc.TLS, pFile uintptr) int32 { /* sqlite3.c:208540:12: */ var p uintptr = pFile return (*struct { f func(*libc.TLS, uintptr) int32 @@ -165644,7 +165675,7 @@ func rbuVfsSectorSize(tls *libc.TLS, pFile uintptr) int32 { /* sqlite3.c:208483: } // Return the device characteristic flags supported by an rbuVfs-file. -func rbuVfsDeviceCharacteristics(tls *libc.TLS, pFile uintptr) int32 { /* sqlite3.c:208491:12: */ +func rbuVfsDeviceCharacteristics(tls *libc.TLS, pFile uintptr) int32 { /* sqlite3.c:208548:12: */ var p uintptr = pFile return (*struct { f func(*libc.TLS, uintptr) int32 @@ -165652,7 +165683,7 @@ func rbuVfsDeviceCharacteristics(tls *libc.TLS, pFile uintptr) int32 { /* sqlite } // Take or release a shared-memory lock. -func rbuVfsShmLock(tls *libc.TLS, pFile uintptr, ofst int32, n int32, flags int32) int32 { /* sqlite3.c:208499:12: */ +func rbuVfsShmLock(tls *libc.TLS, pFile uintptr, ofst int32, n int32, flags int32) int32 { /* sqlite3.c:208556:12: */ var p uintptr = pFile var pRbu uintptr = (*Rbu_file)(unsafe.Pointer(p)).FpRbu var rc int32 = SQLITE_OK @@ -165685,7 +165716,7 @@ func rbuVfsShmLock(tls *libc.TLS, pFile uintptr, ofst int32, n int32, flags int3 } // Obtain a pointer to a mapping of a single 32KiB page of the *-shm file. -func rbuVfsShmMap(tls *libc.TLS, pFile uintptr, iRegion int32, szRegion int32, isWrite int32, pp uintptr) int32 { /* sqlite3.c:208537:12: */ +func rbuVfsShmMap(tls *libc.TLS, pFile uintptr, iRegion int32, szRegion int32, isWrite int32, pp uintptr) int32 { /* sqlite3.c:208594:12: */ var p uintptr = pFile var rc int32 = SQLITE_OK var eStage int32 = func() int32 { @@ -165742,13 +165773,13 @@ func rbuVfsShmMap(tls *libc.TLS, pFile uintptr, iRegion int32, szRegion int32, i } // Memory barrier. -func rbuVfsShmBarrier(tls *libc.TLS, pFile uintptr) { /* sqlite3.c:208595:13: */ +func rbuVfsShmBarrier(tls *libc.TLS, pFile uintptr) { /* sqlite3.c:208652:13: */ var p uintptr = pFile (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods)(unsafe.Pointer((*Sqlite3_file)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer(p)).FpReal)).FpMethods)).FxShmBarrier})).f(tls, (*Rbu_file)(unsafe.Pointer(p)).FpReal) } // The xShmUnmap method. -func rbuVfsShmUnmap(tls *libc.TLS, pFile uintptr, delFlag int32) int32 { /* sqlite3.c:208603:12: */ +func rbuVfsShmUnmap(tls *libc.TLS, pFile uintptr, delFlag int32) int32 { /* sqlite3.c:208660:12: */ var p uintptr = pFile var rc int32 = SQLITE_OK var eStage int32 = func() int32 { @@ -165771,7 +165802,7 @@ func rbuVfsShmUnmap(tls *libc.TLS, pFile uintptr, delFlag int32) int32 { /* sqli } // Open an rbu file handle. -func rbuVfsOpen(tls *libc.TLS, pVfs uintptr, zName uintptr, pFile uintptr, flags int32, pOutFlags uintptr) int32 { /* sqlite3.c:208622:12: */ +func rbuVfsOpen(tls *libc.TLS, pVfs uintptr, zName uintptr, pFile uintptr, flags int32, pOutFlags uintptr) int32 { /* sqlite3.c:208679:12: */ var pRbuVfs uintptr = pVfs var pRealVfs uintptr = (*Rbu_vfs)(unsafe.Pointer(pRbuVfs)).FpRealVfs var pFd uintptr = pFile @@ -165857,10 +165888,10 @@ var rbuvfs_io_methods = Sqlite3_io_methods{ FxShmLock: 0, // xShmLock FxShmBarrier: 0, // xShmBarrier FxShmUnmap: 0, // xFetch, xUnfetch -} /* sqlite3.c:208629:29 */ +} /* sqlite3.c:208686:29 */ // Delete the file located at zPath. -func rbuVfsDelete(tls *libc.TLS, pVfs uintptr, zPath uintptr, dirSync int32) int32 { /* sqlite3.c:208720:12: */ +func rbuVfsDelete(tls *libc.TLS, pVfs uintptr, zPath uintptr, dirSync int32) int32 { /* sqlite3.c:208777:12: */ var pRealVfs uintptr = (*Rbu_vfs)(unsafe.Pointer(pVfs)).FpRealVfs return (*struct { f func(*libc.TLS, uintptr, uintptr, int32) int32 @@ -165869,7 +165900,7 @@ func rbuVfsDelete(tls *libc.TLS, pVfs uintptr, zPath uintptr, dirSync int32) int // Test for access permissions. Return true if the requested permission // is available, or false otherwise. -func rbuVfsAccess(tls *libc.TLS, pVfs uintptr, zPath uintptr, flags int32, pResOut uintptr) int32 { /* sqlite3.c:208729:12: */ +func rbuVfsAccess(tls *libc.TLS, pVfs uintptr, zPath uintptr, flags int32, pResOut uintptr) int32 { /* sqlite3.c:208786:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -165914,7 +165945,7 @@ func rbuVfsAccess(tls *libc.TLS, pVfs uintptr, zPath uintptr, flags int32, pResO // Populate buffer zOut with the full canonical pathname corresponding // to the pathname in zPath. zOut is guaranteed to point to a buffer // of at least (DEVSYM_MAX_PATHNAME+1) bytes. -func rbuVfsFullPathname(tls *libc.TLS, pVfs uintptr, zPath uintptr, nOut int32, zOut uintptr) int32 { /* sqlite3.c:208777:12: */ +func rbuVfsFullPathname(tls *libc.TLS, pVfs uintptr, zPath uintptr, nOut int32, zOut uintptr) int32 { /* sqlite3.c:208834:12: */ var pRealVfs uintptr = (*Rbu_vfs)(unsafe.Pointer(pVfs)).FpRealVfs return (*struct { f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 @@ -165922,7 +165953,7 @@ func rbuVfsFullPathname(tls *libc.TLS, pVfs uintptr, zPath uintptr, nOut int32, } // Open the dynamic library located at zPath and return a handle. -func rbuVfsDlOpen(tls *libc.TLS, pVfs uintptr, zPath uintptr) uintptr { /* sqlite3.c:208791:13: */ +func rbuVfsDlOpen(tls *libc.TLS, pVfs uintptr, zPath uintptr) uintptr { /* sqlite3.c:208848:13: */ var pRealVfs uintptr = (*Rbu_vfs)(unsafe.Pointer(pVfs)).FpRealVfs return (*struct { f func(*libc.TLS, uintptr, uintptr) uintptr @@ -165932,7 +165963,7 @@ func rbuVfsDlOpen(tls *libc.TLS, pVfs uintptr, zPath uintptr) uintptr { /* sqlit // Populate the buffer zErrMsg (size nByte bytes) with a human readable // utf-8 string describing the most recent error encountered associated // with dynamic libraries. -func rbuVfsDlError(tls *libc.TLS, pVfs uintptr, nByte int32, zErrMsg uintptr) { /* sqlite3.c:208801:13: */ +func rbuVfsDlError(tls *libc.TLS, pVfs uintptr, nByte int32, zErrMsg uintptr) { /* sqlite3.c:208858:13: */ var pRealVfs uintptr = (*Rbu_vfs)(unsafe.Pointer(pVfs)).FpRealVfs (*struct { f func(*libc.TLS, uintptr, int32, uintptr) @@ -165940,7 +165971,7 @@ func rbuVfsDlError(tls *libc.TLS, pVfs uintptr, nByte int32, zErrMsg uintptr) { } // Return a pointer to the symbol zSymbol in the dynamic library pHandle. -func rbuVfsDlSym(tls *libc.TLS, pVfs uintptr, pArg uintptr, zSym uintptr) uintptr { /* sqlite3.c:208809:13: */ +func rbuVfsDlSym(tls *libc.TLS, pVfs uintptr, pArg uintptr, zSym uintptr) uintptr { /* sqlite3.c:208866:13: */ var pRealVfs uintptr = (*Rbu_vfs)(unsafe.Pointer(pVfs)).FpRealVfs return (*struct { f func(*libc.TLS, uintptr, uintptr, uintptr) uintptr @@ -165948,7 +165979,7 @@ func rbuVfsDlSym(tls *libc.TLS, pVfs uintptr, pArg uintptr, zSym uintptr) uintpt } // Close the dynamic library handle pHandle. -func rbuVfsDlClose(tls *libc.TLS, pVfs uintptr, pHandle uintptr) { /* sqlite3.c:208821:13: */ +func rbuVfsDlClose(tls *libc.TLS, pVfs uintptr, pHandle uintptr) { /* sqlite3.c:208878:13: */ var pRealVfs uintptr = (*Rbu_vfs)(unsafe.Pointer(pVfs)).FpRealVfs (*struct { f func(*libc.TLS, uintptr, uintptr) @@ -165957,7 +165988,7 @@ func rbuVfsDlClose(tls *libc.TLS, pVfs uintptr, pHandle uintptr) { /* sqlite3.c: // Populate the buffer pointed to by zBufOut with nByte bytes of // random data. -func rbuVfsRandomness(tls *libc.TLS, pVfs uintptr, nByte int32, zBufOut uintptr) int32 { /* sqlite3.c:208831:12: */ +func rbuVfsRandomness(tls *libc.TLS, pVfs uintptr, nByte int32, zBufOut uintptr) int32 { /* sqlite3.c:208888:12: */ var pRealVfs uintptr = (*Rbu_vfs)(unsafe.Pointer(pVfs)).FpRealVfs return (*struct { f func(*libc.TLS, uintptr, int32, uintptr) int32 @@ -165966,7 +165997,7 @@ func rbuVfsRandomness(tls *libc.TLS, pVfs uintptr, nByte int32, zBufOut uintptr) // Sleep for nMicro microseconds. Return the number of microseconds // actually slept. -func rbuVfsSleep(tls *libc.TLS, pVfs uintptr, nMicro int32) int32 { /* sqlite3.c:208840:12: */ +func rbuVfsSleep(tls *libc.TLS, pVfs uintptr, nMicro int32) int32 { /* sqlite3.c:208897:12: */ var pRealVfs uintptr = (*Rbu_vfs)(unsafe.Pointer(pVfs)).FpRealVfs return (*struct { f func(*libc.TLS, uintptr, int32) int32 @@ -165974,7 +166005,7 @@ func rbuVfsSleep(tls *libc.TLS, pVfs uintptr, nMicro int32) int32 { /* sqlite3.c } // Return the current time as a Julian Day number in *pTimeOut. -func rbuVfsCurrentTime(tls *libc.TLS, pVfs uintptr, pTimeOut uintptr) int32 { /* sqlite3.c:208848:12: */ +func rbuVfsCurrentTime(tls *libc.TLS, pVfs uintptr, pTimeOut uintptr) int32 { /* sqlite3.c:208905:12: */ var pRealVfs uintptr = (*Rbu_vfs)(unsafe.Pointer(pVfs)).FpRealVfs return (*struct { f func(*libc.TLS, uintptr, uintptr) int32 @@ -165982,13 +166013,13 @@ func rbuVfsCurrentTime(tls *libc.TLS, pVfs uintptr, pTimeOut uintptr) int32 { /* } // No-op. -func rbuVfsGetLastError(tls *libc.TLS, pVfs uintptr, a int32, b uintptr) int32 { /* sqlite3.c:208856:12: */ +func rbuVfsGetLastError(tls *libc.TLS, pVfs uintptr, a int32, b uintptr) int32 { /* sqlite3.c:208913:12: */ return 0 } // Deregister and destroy an RBU vfs created by an earlier call to // sqlite3rbu_create_vfs(). -func Xsqlite3rbu_destroy_vfs(tls *libc.TLS, zName uintptr) { /* sqlite3.c:208864:17: */ +func Xsqlite3rbu_destroy_vfs(tls *libc.TLS, zName uintptr) { /* sqlite3.c:208921:17: */ var pVfs uintptr = Xsqlite3_vfs_find(tls, zName) if pVfs != 0 && (*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FxOpen == *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32 @@ -166002,7 +166033,7 @@ func Xsqlite3rbu_destroy_vfs(tls *libc.TLS, zName uintptr) { /* sqlite3.c:208864 // Create an RBU VFS named zName that accesses the underlying file-system // via existing VFS zParent. The new object is registered as a non-default // VFS with SQLite before returning. -func Xsqlite3rbu_create_vfs(tls *libc.TLS, zName uintptr, zParent uintptr) int32 { /* sqlite3.c:208878:16: */ +func Xsqlite3rbu_create_vfs(tls *libc.TLS, zName uintptr, zParent uintptr) int32 { /* sqlite3.c:208935:16: */ var pNew uintptr = uintptr(0) // Newly allocated VFS var rc int32 = SQLITE_OK @@ -166063,17 +166094,17 @@ var vfs_template = Sqlite3_vfs{ FxSleep: 0, // xSleep FxCurrentTime: 0, // xCurrentTime FxGetLastError: 0, // Unimplemented version 3 methods -} /* sqlite3.c:208881:22 */ +} /* sqlite3.c:208938:22 */ // Configure the aggregate temp file size limit for this RBU handle. -func Xsqlite3rbu_temp_size_limit(tls *libc.TLS, pRbu uintptr, n Sqlite3_int64) Sqlite3_int64 { /* sqlite3.c:208956:26: */ +func Xsqlite3rbu_temp_size_limit(tls *libc.TLS, pRbu uintptr, n Sqlite3_int64) Sqlite3_int64 { /* sqlite3.c:209013:26: */ if n >= int64(0) { (*Sqlite3rbu)(unsafe.Pointer(pRbu)).FszTempLimit = n } return (*Sqlite3rbu)(unsafe.Pointer(pRbu)).FszTempLimit } -func Xsqlite3rbu_temp_size(tls *libc.TLS, pRbu uintptr) Sqlite3_int64 { /* sqlite3.c:208963:26: */ +func Xsqlite3rbu_temp_size(tls *libc.TLS, pRbu uintptr) Sqlite3_int64 { /* sqlite3.c:209020:26: */ return (*Sqlite3rbu)(unsafe.Pointer(pRbu)).FszTemp } @@ -166227,7 +166258,7 @@ type SessionTable1 = struct { // #include // #include -type SessionTable = SessionTable1 /* sqlite3.c:210308:29 */ +type SessionTable = SessionTable1 /* sqlite3.c:210365:29 */ type SessionChange1 = struct { Fop U8 FbIndirect U8 @@ -166239,14 +166270,14 @@ type SessionChange1 = struct { FpNext uintptr } /* sqlite3.c:10832:9 */ -type SessionChange = SessionChange1 /* sqlite3.c:210309:30 */ +type SessionChange = SessionChange1 /* sqlite3.c:210366:30 */ type SessionBuffer1 = struct { FaBuf uintptr FnBuf int32 FnAlloc int32 } /* sqlite3.c:10840:9 */ -type SessionBuffer = SessionBuffer1 /* sqlite3.c:210310:30 */ +type SessionBuffer = SessionBuffer1 /* sqlite3.c:210367:30 */ type SessionInput1 = struct { FbNoDiscard int32 FiCurrent int32 @@ -166262,11 +166293,11 @@ type SessionInput1 = struct { F__ccgo_pad3 [4]byte } /* sqlite3.c:10840:9 */ -type SessionInput = SessionInput1 /* sqlite3.c:210311:29 */ +type SessionInput = SessionInput1 /* sqlite3.c:210368:29 */ // Minimum chunk size used by streaming versions of functions. -var sessions_strm_chunk_size int32 = SESSIONS_STRM_CHUNK_SIZE /* sqlite3.c:210324:12 */ +var sessions_strm_chunk_size int32 = SESSIONS_STRM_CHUNK_SIZE /* sqlite3.c:210381:12 */ type SessionHook1 = struct { FpCtx uintptr @@ -166276,11 +166307,11 @@ type SessionHook1 = struct { FxDepth uintptr } /* sqlite3.c:10832:9 */ -type SessionHook = SessionHook1 /* sqlite3.c:210326:28 */ +type SessionHook = SessionHook1 /* sqlite3.c:210383:28 */ // Write a varint with value iVal into the buffer at aBuf. Return the // number of bytes written. -func sessionVarintPut(tls *libc.TLS, aBuf uintptr, iVal int32) int32 { /* sqlite3.c:210604:12: */ +func sessionVarintPut(tls *libc.TLS, aBuf uintptr, iVal int32) int32 { /* sqlite3.c:210661:12: */ return int32(func() uint8 { if U32(iVal) < U32(0x80) { return uint8(func() int32 { *(*U8)(unsafe.Pointer(aBuf)) = uint8(iVal); return 1 }()) @@ -166290,13 +166321,13 @@ func sessionVarintPut(tls *libc.TLS, aBuf uintptr, iVal int32) int32 { /* sqlite } // Return the number of bytes required to store value iVal as a varint. -func sessionVarintLen(tls *libc.TLS, iVal int32) int32 { /* sqlite3.c:210611:12: */ +func sessionVarintLen(tls *libc.TLS, iVal int32) int32 { /* sqlite3.c:210668:12: */ return Xsqlite3VarintLen(tls, uint64(iVal)) } // Read a varint value from aBuf[] into *piVal. Return the number of // bytes read. -func sessionVarintGet(tls *libc.TLS, aBuf uintptr, piVal uintptr) int32 { /* sqlite3.c:210619:12: */ +func sessionVarintGet(tls *libc.TLS, aBuf uintptr, piVal uintptr) int32 { /* sqlite3.c:210676:12: */ return int32(func() uint8 { if int32(*(*U8)(unsafe.Pointer(aBuf))) < int32(U8(0x80)) { return uint8(func() int32 { *(*int32)(unsafe.Pointer(piVal)) = int32(U32(*(*U8)(unsafe.Pointer(aBuf)))); return 1 }()) @@ -166309,7 +166340,7 @@ func sessionVarintGet(tls *libc.TLS, aBuf uintptr, piVal uintptr) int32 { /* sql // Read a 64-bit big-endian integer value from buffer aRec[]. Return // the value read. -func sessionGetI64(tls *libc.TLS, aRec uintptr) Sqlite3_int64 { /* sqlite3.c:210630:22: */ +func sessionGetI64(tls *libc.TLS, aRec uintptr) Sqlite3_int64 { /* sqlite3.c:210687:22: */ var x U64 = U64(U32(*(*U8)(unsafe.Pointer(aRec)))<<24 | U32(int32(*(*U8)(unsafe.Pointer(aRec + 1)))<<16) | U32(int32(*(*U8)(unsafe.Pointer(aRec + 2)))<<8) | U32(*(*U8)(unsafe.Pointer(aRec + 3)))) var y U32 = U32(*(*U8)(unsafe.Pointer(aRec + uintptr(4))))<<24 | U32(int32(*(*U8)(unsafe.Pointer(aRec + uintptr(4) + 1)))<<16) | U32(int32(*(*U8)(unsafe.Pointer(aRec + uintptr(4) + 2)))<<8) | U32(*(*U8)(unsafe.Pointer(aRec + uintptr(4) + 3))) x = x<<32 + U64(y) @@ -166317,7 +166348,7 @@ func sessionGetI64(tls *libc.TLS, aRec uintptr) Sqlite3_int64 { /* sqlite3.c:210 } // Write a 64-bit big-endian integer value to the buffer aBuf[]. -func sessionPutI64(tls *libc.TLS, aBuf uintptr, i Sqlite3_int64) { /* sqlite3.c:210640:13: */ +func sessionPutI64(tls *libc.TLS, aBuf uintptr, i Sqlite3_int64) { /* sqlite3.c:210697:13: */ *(*U8)(unsafe.Pointer(aBuf)) = U8(i >> 56 & int64(0xFF)) *(*U8)(unsafe.Pointer(aBuf + 1)) = U8(i >> 48 & int64(0xFF)) *(*U8)(unsafe.Pointer(aBuf + 2)) = U8(i >> 40 & int64(0xFF)) @@ -166339,7 +166370,7 @@ func sessionPutI64(tls *libc.TLS, aBuf uintptr, i Sqlite3_int64) { /* sqlite3.c: // If no error occurs, SQLITE_OK is returned. Or, if an OOM error occurs // within a call to sqlite3_value_text() (may fail if the db is utf-16)) // SQLITE_NOMEM is returned. -func sessionSerializeValue(tls *libc.TLS, aBuf uintptr, pValue uintptr, pnWrite uintptr) int32 { /* sqlite3.c:210664:12: */ +func sessionSerializeValue(tls *libc.TLS, aBuf uintptr, pValue uintptr, pnWrite uintptr) int32 { /* sqlite3.c:210721:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -166427,7 +166458,7 @@ func sessionSerializeValue(tls *libc.TLS, aBuf uintptr, pValue uintptr, pnWrite // Allocate and return a pointer to a buffer nByte bytes in size. If // pSession is not NULL, increase the sqlite3_session.nMalloc variable // by the number of bytes allocated. -func sessionMalloc64(tls *libc.TLS, pSession uintptr, nByte I64) uintptr { /* sqlite3.c:210740:13: */ +func sessionMalloc64(tls *libc.TLS, pSession uintptr, nByte I64) uintptr { /* sqlite3.c:210797:13: */ var pRet uintptr = Xsqlite3_malloc64(tls, uint64(nByte)) if pSession != 0 { *(*I64)(unsafe.Pointer(pSession + 56)) += I64(Xsqlite3_msize(tls, pRet)) @@ -166438,7 +166469,7 @@ func sessionMalloc64(tls *libc.TLS, pSession uintptr, nByte I64) uintptr { /* sq // Free buffer pFree, which must have been allocated by an earlier // call to sessionMalloc64(). If pSession is not NULL, decrease the // sqlite3_session.nMalloc counter by the number of bytes freed. -func sessionFree(tls *libc.TLS, pSession uintptr, pFree uintptr) { /* sqlite3.c:210751:13: */ +func sessionFree(tls *libc.TLS, pSession uintptr, pFree uintptr) { /* sqlite3.c:210808:13: */ if pSession != 0 { *(*I64)(unsafe.Pointer(pSession + 56)) -= I64(Xsqlite3_msize(tls, pFree)) } @@ -166461,14 +166492,14 @@ func sessionFree(tls *libc.TLS, pSession uintptr, pFree uintptr) { /* sqlite3.c: // Append the hash of the 64-bit integer passed as the second argument to the // hash-key value passed as the first. Return the new hash-key value. -func sessionHashAppendI64(tls *libc.TLS, h uint32, i I64) uint32 { /* sqlite3.c:210777:21: */ +func sessionHashAppendI64(tls *libc.TLS, h uint32, i I64) uint32 { /* sqlite3.c:210834:21: */ h = h<<3 ^ h ^ uint32(i&int64(0xFFFFFFFF)) return h<<3 ^ h ^ uint32(i>>32&int64(0xFFFFFFFF)) } // Append the hash of the blob passed via the second and third arguments to // the hash-key value passed as the first. Return the new hash-key value. -func sessionHashAppendBlob(tls *libc.TLS, h uint32, n int32, z uintptr) uint32 { /* sqlite3.c:210786:21: */ +func sessionHashAppendBlob(tls *libc.TLS, h uint32, n int32, z uintptr) uint32 { /* sqlite3.c:210843:21: */ var i int32 for i = 0; i < n; i++ { h = h<<3 ^ h ^ uint32(*(*U8)(unsafe.Pointer(z + uintptr(i)))) @@ -166478,7 +166509,7 @@ func sessionHashAppendBlob(tls *libc.TLS, h uint32, n int32, z uintptr) uint32 { // Append the hash of the data type passed as the second argument to the // hash-key value passed as the first. Return the new hash-key value. -func sessionHashAppendType(tls *libc.TLS, h uint32, eType int32) uint32 { /* sqlite3.c:210796:21: */ +func sessionHashAppendType(tls *libc.TLS, h uint32, eType int32) uint32 { /* sqlite3.c:210853:21: */ return h<<3 ^ h ^ uint32(eType) } @@ -166491,7 +166522,7 @@ func sessionHashAppendType(tls *libc.TLS, h uint32, eType int32) uint32 { /* sql // If an error occurs, an SQLite error code is returned and the final values // of *piHash asn *pbNullPK are undefined. Otherwise, SQLITE_OK is returned // and the output variables are set as described above. -func sessionPreupdateHash(tls *libc.TLS, pSession uintptr, pTab uintptr, bNew int32, piHash uintptr, pbNullPK uintptr) int32 { /* sqlite3.c:210811:12: */ +func sessionPreupdateHash(tls *libc.TLS, pSession uintptr, pTab uintptr, bNew int32, piHash uintptr, pbNullPK uintptr) int32 { /* sqlite3.c:210868:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -166557,7 +166588,7 @@ func sessionPreupdateHash(tls *libc.TLS, pSession uintptr, pTab uintptr, bNew in // The buffer that the argument points to contains a serialized SQL value. // Return the number of bytes of space occupied by the value (including // the type byte). -func sessionSerialLen(tls *libc.TLS, a uintptr) int32 { /* sqlite3.c:210876:12: */ +func sessionSerialLen(tls *libc.TLS, a uintptr) int32 { /* sqlite3.c:210933:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -166583,7 +166614,7 @@ func sessionSerialLen(tls *libc.TLS, a uintptr) int32 { /* sqlite3.c:210876:12: // // The bPkOnly argument is non-zero if the record at aRecord[] is from // a patchset DELETE. In this case the non-PK fields are omitted entirely. -func sessionChangeHash(tls *libc.TLS, pTab uintptr, bPkOnly int32, aRecord uintptr, nBucket int32) uint32 { /* sqlite3.c:210894:21: */ +func sessionChangeHash(tls *libc.TLS, pTab uintptr, bPkOnly int32, aRecord uintptr, nBucket int32) uint32 { /* sqlite3.c:210951:21: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -166626,7 +166657,7 @@ func sessionChangeHash(tls *libc.TLS, pTab uintptr, bPkOnly int32, aRecord uintp // This function returns true if the two records apply to the same row (i.e. // have the same values stored in the primary key columns), or false // otherwise. -func sessionChangeEqual(tls *libc.TLS, pTab uintptr, bLeftPkOnly int32, aLeft uintptr, bRightPkOnly int32, aRight uintptr) int32 { /* sqlite3.c:210943:12: */ +func sessionChangeEqual(tls *libc.TLS, pTab uintptr, bLeftPkOnly int32, aLeft uintptr, bRightPkOnly int32, aRight uintptr) int32 { /* sqlite3.c:211000:12: */ var a1 uintptr = aLeft // Cursor to iterate through aLeft var a2 uintptr = aRight // Cursor to iterate through aRight var iCol int32 // Used to iterate through table columns @@ -166665,7 +166696,7 @@ func sessionChangeEqual(tls *libc.TLS, pTab uintptr, bLeftPkOnly int32, aLeft ui // their. Otherwise, if aLeft contains a value, copy it. If neither // record contains a value for a given column, then neither does the // output record. -func sessionMergeRecord(tls *libc.TLS, paOut uintptr, nCol int32, aLeft uintptr, aRight uintptr) { /* sqlite3.c:210986:13: */ +func sessionMergeRecord(tls *libc.TLS, paOut uintptr, nCol int32, aLeft uintptr, aRight uintptr) { /* sqlite3.c:211043:13: */ var a1 uintptr = aLeft // Cursor used to iterate through aLeft var a2 uintptr = aRight // Cursor used to iterate through aRight var aOut uintptr = *(*uintptr)(unsafe.Pointer(paOut)) // Output cursor @@ -166704,7 +166735,7 @@ func sessionMergeRecord(tls *libc.TLS, paOut uintptr, nCol int32, aLeft uintptr, // if( *paTwo is valid ) return *paTwo; // return *paOne; // -func sessionMergeValue(tls *libc.TLS, paOne uintptr, paTwo uintptr, pnVal uintptr) uintptr { /* sqlite3.c:211032:11: */ +func sessionMergeValue(tls *libc.TLS, paOne uintptr, paTwo uintptr, pnVal uintptr) uintptr { /* sqlite3.c:211089:11: */ var a1 uintptr = *(*uintptr)(unsafe.Pointer(paOne)) var a2 uintptr = *(*uintptr)(unsafe.Pointer(paTwo)) var pRet uintptr = uintptr(0) @@ -166731,7 +166762,7 @@ func sessionMergeValue(tls *libc.TLS, paOne uintptr, paTwo uintptr, pnVal uintpt // This function is used by changeset_concat() to merge two UPDATE changes // on the same row. -func sessionMergeUpdate(tls *libc.TLS, paOut uintptr, pTab uintptr, bPatchset int32, aOldRecord1 uintptr, aOldRecord2 uintptr, aNewRecord1 uintptr, aNewRecord2 uintptr) int32 { /* sqlite3.c:211066:12: */ +func sessionMergeUpdate(tls *libc.TLS, paOut uintptr, pTab uintptr, bPatchset int32, aOldRecord1 uintptr, aOldRecord2 uintptr, aNewRecord1 uintptr, aNewRecord2 uintptr) int32 { /* sqlite3.c:211123:12: */ bp := tls.Alloc(52) defer tls.Free(52) @@ -166806,7 +166837,7 @@ func sessionMergeUpdate(tls *libc.TLS, paOut uintptr, pTab uintptr, bPatchset in // as the change stored in argument pChange. If so, it returns true. Otherwise // if the pre-update-hook does not affect the same row as pChange, it returns // false. -func sessionPreupdateEqual(tls *libc.TLS, pSession uintptr, pTab uintptr, pChange uintptr, op int32) int32 { /* sqlite3.c:211143:12: */ +func sessionPreupdateEqual(tls *libc.TLS, pSession uintptr, pTab uintptr, pChange uintptr, op int32) int32 { /* sqlite3.c:211200:12: */ bp := tls.Alloc(28) defer tls.Free(28) @@ -166894,7 +166925,7 @@ func sessionPreupdateEqual(tls *libc.TLS, pSession uintptr, pTab uintptr, pChang // that case the hash-table does not grow, but SQLITE_OK is returned anyway. // Growing the hash table in this case is a performance optimization only, // it is not required for correct operation. -func sessionGrowHash(tls *libc.TLS, pSession uintptr, bPatchset int32, pTab uintptr) int32 { /* sqlite3.c:211222:12: */ +func sessionGrowHash(tls *libc.TLS, pSession uintptr, bPatchset int32, pTab uintptr) int32 { /* sqlite3.c:211279:12: */ if (*SessionTable)(unsafe.Pointer(pTab)).FnChange == 0 || (*SessionTable)(unsafe.Pointer(pTab)).FnEntry >= (*SessionTable)(unsafe.Pointer(pTab)).FnChange/2 { var i int32 var apNew uintptr @@ -166958,7 +166989,7 @@ func sessionGrowHash(tls *libc.TLS, pSession uintptr, bPatchset int32, pTab uint // // All returned buffers are part of the same single allocation, which must // be freed using sqlite3_free() by the caller -func sessionTableInfo(tls *libc.TLS, pSession uintptr, db uintptr, zDb uintptr, zThis uintptr, pnCol uintptr, pzTab uintptr, pazCol uintptr, pabPK uintptr) int32 { /* sqlite3.c:211288:12: */ +func sessionTableInfo(tls *libc.TLS, pSession uintptr, db uintptr, zDb uintptr, zThis uintptr, pnCol uintptr, pzTab uintptr, pazCol uintptr, pabPK uintptr) int32 { /* sqlite3.c:211345:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -167089,7 +167120,7 @@ func sessionTableInfo(tls *libc.TLS, pSession uintptr, db uintptr, zDb uintptr, // key, sqlite3_session.rc is left set to SQLITE_OK and non-zero returned to // indicate that updates on this table should be ignored. SessionTable.abPK // is set to NULL in this case. -func sessionInitTable(tls *libc.TLS, pSession uintptr, pTab uintptr) int32 { /* sqlite3.c:211421:12: */ +func sessionInitTable(tls *libc.TLS, pSession uintptr, pTab uintptr) int32 { /* sqlite3.c:211478:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -167125,15 +167156,15 @@ func sessionInitTable(tls *libc.TLS, pSession uintptr, pTab uintptr) int32 { /* type SessionStat1Ctx1 = struct { Fhook SessionHook FpSession uintptr -} /* sqlite3.c:211456:9 */ +} /* sqlite3.c:211513:9 */ // Versions of the four methods in object SessionHook for use with the // sqlite_stat1 table. The purpose of this is to substitute a zero-length // blob each time a NULL value is read from the "idx" column of the // sqlite_stat1 table. -type SessionStat1Ctx = SessionStat1Ctx1 /* sqlite3.c:211456:32 */ +type SessionStat1Ctx = SessionStat1Ctx1 /* sqlite3.c:211513:32 */ -func sessionStat1Old(tls *libc.TLS, pCtx uintptr, iCol int32, ppVal uintptr) int32 { /* sqlite3.c:211461:12: */ +func sessionStat1Old(tls *libc.TLS, pCtx uintptr, iCol int32, ppVal uintptr) int32 { /* sqlite3.c:211518:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -167149,7 +167180,7 @@ func sessionStat1Old(tls *libc.TLS, pCtx uintptr, iCol int32, ppVal uintptr) int return rc } -func sessionStat1New(tls *libc.TLS, pCtx uintptr, iCol int32, ppVal uintptr) int32 { /* sqlite3.c:211471:12: */ +func sessionStat1New(tls *libc.TLS, pCtx uintptr, iCol int32, ppVal uintptr) int32 { /* sqlite3.c:211528:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -167165,21 +167196,21 @@ func sessionStat1New(tls *libc.TLS, pCtx uintptr, iCol int32, ppVal uintptr) int return rc } -func sessionStat1Count(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:211481:12: */ +func sessionStat1Count(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:211538:12: */ var p uintptr = pCtx return (*struct { f func(*libc.TLS, uintptr) int32 })(unsafe.Pointer(&struct{ uintptr }{(*SessionStat1Ctx)(unsafe.Pointer(p)).Fhook.FxCount})).f(tls, (*SessionStat1Ctx)(unsafe.Pointer(p)).Fhook.FpCtx) } -func sessionStat1Depth(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:211485:12: */ +func sessionStat1Depth(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:211542:12: */ var p uintptr = pCtx return (*struct { f func(*libc.TLS, uintptr) int32 })(unsafe.Pointer(&struct{ uintptr }{(*SessionStat1Ctx)(unsafe.Pointer(p)).Fhook.FxDepth})).f(tls, (*SessionStat1Ctx)(unsafe.Pointer(p)).Fhook.FpCtx) } -func sessionUpdateMaxSize(tls *libc.TLS, op int32, pSession uintptr, pTab uintptr, pC uintptr) int32 { /* sqlite3.c:211490:12: */ +func sessionUpdateMaxSize(tls *libc.TLS, op int32, pSession uintptr, pTab uintptr, pC uintptr) int32 { /* sqlite3.c:211547:12: */ bp := tls.Alloc(44) defer tls.Free(44) @@ -167293,7 +167324,7 @@ func sessionUpdateMaxSize(tls *libc.TLS, op int32, pSession uintptr, pTab uintpt // // Unless one is already present or an error occurs, an entry is added // to the changed-rows hash table associated with table pTab. -func sessionPreupdateOneChange(tls *libc.TLS, op int32, pSession uintptr, pTab uintptr) { /* sqlite3.c:211596:13: */ +func sessionPreupdateOneChange(tls *libc.TLS, op int32, pSession uintptr, pTab uintptr) { /* sqlite3.c:211653:13: */ bp := tls.Alloc(80) defer tls.Free(80) @@ -167589,7 +167620,7 @@ __35: __36: } -func sessionFindTable(tls *libc.TLS, pSession uintptr, zName uintptr, ppTab uintptr) int32 { /* sqlite3.c:211745:12: */ +func sessionFindTable(tls *libc.TLS, pSession uintptr, zName uintptr, ppTab uintptr) int32 { /* sqlite3.c:211802:12: */ var rc int32 = SQLITE_OK var nName int32 = Xsqlite3Strlen30(tls, zName) var pRet uintptr @@ -167624,7 +167655,7 @@ func sessionFindTable(tls *libc.TLS, pSession uintptr, zName uintptr, ppTab uint } // The 'pre-update' hook registered by this module with SQLite databases. -func xPreUpdate(tls *libc.TLS, pCtx uintptr, db uintptr, op int32, zDb uintptr, zName uintptr, iKey1 Sqlite3_int64, iKey2 Sqlite3_int64) { /* sqlite3.c:211785:13: */ +func xPreUpdate(tls *libc.TLS, pCtx uintptr, db uintptr, op int32, zDb uintptr, zName uintptr, iKey1 Sqlite3_int64, iKey2 Sqlite3_int64) { /* sqlite3.c:211842:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -167659,25 +167690,25 @@ func xPreUpdate(tls *libc.TLS, pCtx uintptr, db uintptr, op int32, zDb uintptr, } // The pre-update hook implementations. -func sessionPreupdateOld(tls *libc.TLS, pCtx uintptr, iVal int32, ppVal uintptr) int32 { /* sqlite3.c:211823:12: */ +func sessionPreupdateOld(tls *libc.TLS, pCtx uintptr, iVal int32, ppVal uintptr) int32 { /* sqlite3.c:211880:12: */ return Xsqlite3_preupdate_old(tls, pCtx, iVal, ppVal) } -func sessionPreupdateNew(tls *libc.TLS, pCtx uintptr, iVal int32, ppVal uintptr) int32 { /* sqlite3.c:211826:12: */ +func sessionPreupdateNew(tls *libc.TLS, pCtx uintptr, iVal int32, ppVal uintptr) int32 { /* sqlite3.c:211883:12: */ return Xsqlite3_preupdate_new(tls, pCtx, iVal, ppVal) } -func sessionPreupdateCount(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:211829:12: */ +func sessionPreupdateCount(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:211886:12: */ return Xsqlite3_preupdate_count(tls, pCtx) } -func sessionPreupdateDepth(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:211832:12: */ +func sessionPreupdateDepth(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:211889:12: */ return Xsqlite3_preupdate_depth(tls, pCtx) } // Install the pre-update hooks on the session object passed as the only // argument. -func sessionPreupdateHooks(tls *libc.TLS, pSession uintptr) { /* sqlite3.c:211840:13: */ +func sessionPreupdateHooks(tls *libc.TLS, pSession uintptr) { /* sqlite3.c:211897:13: */ (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx = (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FxOld = *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) int32 @@ -167697,24 +167728,24 @@ type SessionDiffCtx1 = struct { FpStmt uintptr FnOldOff int32 F__ccgo_pad1 [4]byte -} /* sqlite3.c:211850:9 */ +} /* sqlite3.c:211907:9 */ -type SessionDiffCtx = SessionDiffCtx1 /* sqlite3.c:211850:31 */ +type SessionDiffCtx = SessionDiffCtx1 /* sqlite3.c:211907:31 */ // The diff hook implementations. -func sessionDiffOld(tls *libc.TLS, pCtx uintptr, iVal int32, ppVal uintptr) int32 { /* sqlite3.c:211859:12: */ +func sessionDiffOld(tls *libc.TLS, pCtx uintptr, iVal int32, ppVal uintptr) int32 { /* sqlite3.c:211916:12: */ var p uintptr = pCtx *(*uintptr)(unsafe.Pointer(ppVal)) = Xsqlite3_column_value(tls, (*SessionDiffCtx)(unsafe.Pointer(p)).FpStmt, iVal+(*SessionDiffCtx)(unsafe.Pointer(p)).FnOldOff) return SQLITE_OK } -func sessionDiffNew(tls *libc.TLS, pCtx uintptr, iVal int32, ppVal uintptr) int32 { /* sqlite3.c:211864:12: */ +func sessionDiffNew(tls *libc.TLS, pCtx uintptr, iVal int32, ppVal uintptr) int32 { /* sqlite3.c:211921:12: */ var p uintptr = pCtx *(*uintptr)(unsafe.Pointer(ppVal)) = Xsqlite3_column_value(tls, (*SessionDiffCtx)(unsafe.Pointer(p)).FpStmt, iVal) return SQLITE_OK } -func sessionDiffCount(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:211869:12: */ +func sessionDiffCount(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:211926:12: */ var p uintptr = pCtx if (*SessionDiffCtx)(unsafe.Pointer(p)).FnOldOff != 0 { return (*SessionDiffCtx)(unsafe.Pointer(p)).FnOldOff @@ -167722,13 +167753,13 @@ func sessionDiffCount(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:211869:1 return Xsqlite3_column_count(tls, (*SessionDiffCtx)(unsafe.Pointer(p)).FpStmt) } -func sessionDiffDepth(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:211873:12: */ +func sessionDiffDepth(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:211930:12: */ return 0 } // Install the diff hooks on the session object passed as the only // argument. -func sessionDiffHooks(tls *libc.TLS, pSession uintptr, pDiffCtx uintptr) { /* sqlite3.c:211881:13: */ +func sessionDiffHooks(tls *libc.TLS, pSession uintptr, pDiffCtx uintptr) { /* sqlite3.c:211938:13: */ (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx = pDiffCtx (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FxOld = *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) int32 @@ -167744,7 +167775,7 @@ func sessionDiffHooks(tls *libc.TLS, pSession uintptr, pDiffCtx uintptr) { /* sq }{sessionDiffDepth})) } -func sessionExprComparePK(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uintptr, zTab uintptr, azCol uintptr, abPK uintptr) uintptr { /* sqlite3.c:211892:13: */ +func sessionExprComparePK(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uintptr, zTab uintptr, azCol uintptr, abPK uintptr) uintptr { /* sqlite3.c:211949:13: */ bp := tls.Alloc(64) defer tls.Free(64) @@ -167766,7 +167797,7 @@ func sessionExprComparePK(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uintptr, return zRet } -func sessionExprCompareOther(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uintptr, zTab uintptr, azCol uintptr, abPK uintptr) uintptr { /* sqlite3.c:211915:13: */ +func sessionExprCompareOther(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uintptr, zTab uintptr, azCol uintptr, abPK uintptr) uintptr { /* sqlite3.c:211972:13: */ bp := tls.Alloc(64) defer tls.Free(64) @@ -167796,7 +167827,7 @@ func sessionExprCompareOther(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uintp return zRet } -func sessionSelectFindNew(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uintptr, zTbl uintptr, zExpr uintptr) uintptr { /* sqlite3.c:211946:13: */ +func sessionSelectFindNew(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uintptr, zTbl uintptr, zExpr uintptr) uintptr { /* sqlite3.c:212003:13: */ bp := tls.Alloc(40) defer tls.Free(40) @@ -167807,7 +167838,7 @@ func sessionSelectFindNew(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uintptr, return zRet } -func sessionDiffFindNew(tls *libc.TLS, op int32, pSession uintptr, pTab uintptr, zDb1 uintptr, zDb2 uintptr, zExpr uintptr) int32 { /* sqlite3.c:211962:12: */ +func sessionDiffFindNew(tls *libc.TLS, op int32, pSession uintptr, pTab uintptr, zDb1 uintptr, zDb2 uintptr, zExpr uintptr) int32 { /* sqlite3.c:212019:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -167835,7 +167866,7 @@ func sessionDiffFindNew(tls *libc.TLS, op int32, pSession uintptr, pTab uintptr, return rc } -func sessionDiffFindModified(tls *libc.TLS, pSession uintptr, pTab uintptr, zFrom uintptr, zExpr uintptr) int32 { /* sqlite3.c:211993:12: */ +func sessionDiffFindModified(tls *libc.TLS, pSession uintptr, pTab uintptr, zFrom uintptr, zExpr uintptr) int32 { /* sqlite3.c:212050:12: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -167872,7 +167903,7 @@ func sessionDiffFindModified(tls *libc.TLS, pSession uintptr, pTab uintptr, zFro return rc } -func Xsqlite3session_diff(tls *libc.TLS, pSession uintptr, zFrom uintptr, zTbl uintptr, pzErrMsg uintptr) int32 { /* sqlite3.c:212033:16: */ +func Xsqlite3session_diff(tls *libc.TLS, pSession uintptr, zFrom uintptr, zTbl uintptr, pzErrMsg uintptr) int32 { /* sqlite3.c:212090:16: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -168045,7 +168076,7 @@ diff_out: // Create a session object. This session object will record changes to // database zDb attached to connection db. -func Xsqlite3session_create(tls *libc.TLS, db uintptr, zDb uintptr, ppSession uintptr) int32 { /* sqlite3.c:212128:16: */ +func Xsqlite3session_create(tls *libc.TLS, db uintptr, zDb uintptr, ppSession uintptr) int32 { /* sqlite3.c:212185:16: */ var pNew uintptr // Newly allocated session object var pOld uintptr // Session object already attached to db var nDb int32 = Xsqlite3Strlen30(tls, zDb) // Length of zDb in bytes @@ -168081,7 +168112,7 @@ func Xsqlite3session_create(tls *libc.TLS, db uintptr, zDb uintptr, ppSession ui // Free the list of table objects passed as the first argument. The contents // of the changed-rows hash tables are also deleted. -func sessionDeleteTable(tls *libc.TLS, pSession uintptr, pList uintptr) { /* sqlite3.c:212166:13: */ +func sessionDeleteTable(tls *libc.TLS, pSession uintptr, pList uintptr) { /* sqlite3.c:212223:13: */ var pNext uintptr var pTab uintptr @@ -168103,7 +168134,7 @@ func sessionDeleteTable(tls *libc.TLS, pSession uintptr, pList uintptr) { /* sql } // Delete a session object previously allocated using sqlite3session_create(). -func Xsqlite3session_delete(tls *libc.TLS, pSession uintptr) { /* sqlite3.c:212190:17: */ +func Xsqlite3session_delete(tls *libc.TLS, pSession uintptr) { /* sqlite3.c:212247:17: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -168141,7 +168172,7 @@ func Xsqlite3session_delete(tls *libc.TLS, pSession uintptr) { /* sqlite3.c:2121 } // Set a table filter on a Session Object. -func Xsqlite3session_table_filter(tls *libc.TLS, pSession uintptr, xFilter uintptr, pCtx uintptr) { /* sqlite3.c:212222:17: */ +func Xsqlite3session_table_filter(tls *libc.TLS, pSession uintptr, xFilter uintptr, pCtx uintptr) { /* sqlite3.c:212279:17: */ (*Sqlite3_session)(unsafe.Pointer(pSession)).FbAutoAttach = 1 (*Sqlite3_session)(unsafe.Pointer(pSession)).FpFilterCtx = pCtx (*Sqlite3_session)(unsafe.Pointer(pSession)).FxTableFilter = xFilter @@ -168153,7 +168184,7 @@ func Xsqlite3session_table_filter(tls *libc.TLS, pSession uintptr, xFilter uintp // Only tables that have a PRIMARY KEY defined may be attached. It does // not matter if the PRIMARY KEY is an "INTEGER PRIMARY KEY" (rowid alias) // or not. -func Xsqlite3session_attach(tls *libc.TLS, pSession uintptr, zName uintptr) int32 { /* sqlite3.c:212240:16: */ +func Xsqlite3session_attach(tls *libc.TLS, pSession uintptr, zName uintptr) int32 { /* sqlite3.c:212297:16: */ var rc int32 = SQLITE_OK Xsqlite3_mutex_enter(tls, Xsqlite3_db_mutex(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb)) @@ -168204,7 +168235,7 @@ func Xsqlite3session_attach(tls *libc.TLS, pSession uintptr, zName uintptr) int3 // // If successful, return zero. Otherwise, if an OOM condition is encountered, // set *pRc to SQLITE_NOMEM and return non-zero. -func sessionBufferGrow(tls *libc.TLS, p uintptr, nByte I64, pRc uintptr) int32 { /* sqlite3.c:212293:12: */ +func sessionBufferGrow(tls *libc.TLS, p uintptr, nByte I64, pRc uintptr) int32 { /* sqlite3.c:212350:12: */ var nReq I64 = I64((*SessionBuffer)(unsafe.Pointer(p)).FnBuf) + nByte if *(*int32)(unsafe.Pointer(pRc)) == SQLITE_OK && nReq > I64((*SessionBuffer)(unsafe.Pointer(p)).FnAlloc) { var aNew uintptr @@ -168249,7 +168280,7 @@ func sessionBufferGrow(tls *libc.TLS, p uintptr, nByte I64, pRc uintptr) int32 { // This function is a no-op if *pRc is non-zero when it is called. // Otherwise, if an error occurs, *pRc is set to an SQLite error code // before returning. -func sessionAppendValue(tls *libc.TLS, p uintptr, pVal uintptr, pRc uintptr) { /* sqlite3.c:212336:13: */ +func sessionAppendValue(tls *libc.TLS, p uintptr, pVal uintptr, pRc uintptr) { /* sqlite3.c:212393:13: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -168272,7 +168303,7 @@ func sessionAppendValue(tls *libc.TLS, p uintptr, pVal uintptr, pRc uintptr) { / // // If an OOM condition is encountered, set *pRc to SQLITE_NOMEM before // returning. -func sessionAppendByte(tls *libc.TLS, p uintptr, v U8, pRc uintptr) { /* sqlite3.c:212358:13: */ +func sessionAppendByte(tls *libc.TLS, p uintptr, v U8, pRc uintptr) { /* sqlite3.c:212415:13: */ if 0 == sessionBufferGrow(tls, p, int64(1), pRc) { *(*U8)(unsafe.Pointer((*SessionBuffer)(unsafe.Pointer(p)).FaBuf + uintptr(libc.PostIncInt32(&(*SessionBuffer)(unsafe.Pointer(p)).FnBuf, 1)))) = v } @@ -168283,7 +168314,7 @@ func sessionAppendByte(tls *libc.TLS, p uintptr, v U8, pRc uintptr) { /* sqlite3 // // If an OOM condition is encountered, set *pRc to SQLITE_NOMEM before // returning. -func sessionAppendVarint(tls *libc.TLS, p uintptr, v int32, pRc uintptr) { /* sqlite3.c:212371:13: */ +func sessionAppendVarint(tls *libc.TLS, p uintptr, v int32, pRc uintptr) { /* sqlite3.c:212428:13: */ if 0 == sessionBufferGrow(tls, p, int64(9), pRc) { *(*int32)(unsafe.Pointer(p + 8)) += sessionVarintPut(tls, (*SessionBuffer)(unsafe.Pointer(p)).FaBuf+uintptr((*SessionBuffer)(unsafe.Pointer(p)).FnBuf), v) } @@ -168294,7 +168325,7 @@ func sessionAppendVarint(tls *libc.TLS, p uintptr, v int32, pRc uintptr) { /* sq // // If an OOM condition is encountered, set *pRc to SQLITE_NOMEM before // returning. -func sessionAppendBlob(tls *libc.TLS, p uintptr, aBlob uintptr, nBlob int32, pRc uintptr) { /* sqlite3.c:212384:13: */ +func sessionAppendBlob(tls *libc.TLS, p uintptr, aBlob uintptr, nBlob int32, pRc uintptr) { /* sqlite3.c:212441:13: */ if nBlob > 0 && 0 == sessionBufferGrow(tls, p, int64(nBlob), pRc) { libc.Xmemcpy(tls, (*SessionBuffer)(unsafe.Pointer(p)).FaBuf+uintptr((*SessionBuffer)(unsafe.Pointer(p)).FnBuf), aBlob, uint64(nBlob)) *(*int32)(unsafe.Pointer(p + 8)) += nBlob @@ -168307,7 +168338,7 @@ func sessionAppendBlob(tls *libc.TLS, p uintptr, aBlob uintptr, nBlob int32, pRc // // If an OOM condition is encountered, set *pRc to SQLITE_NOMEM before // returning. -func sessionAppendStr(tls *libc.TLS, p uintptr, zStr uintptr, pRc uintptr) { /* sqlite3.c:212404:13: */ +func sessionAppendStr(tls *libc.TLS, p uintptr, zStr uintptr, pRc uintptr) { /* sqlite3.c:212461:13: */ var nStr int32 = Xsqlite3Strlen30(tls, zStr) if 0 == sessionBufferGrow(tls, p, int64(nStr), pRc) { libc.Xmemcpy(tls, (*SessionBuffer)(unsafe.Pointer(p)).FaBuf+uintptr((*SessionBuffer)(unsafe.Pointer(p)).FnBuf), zStr, uint64(nStr)) @@ -168321,7 +168352,7 @@ func sessionAppendStr(tls *libc.TLS, p uintptr, zStr uintptr, pRc uintptr) { /* // // If an OOM condition is encountered, set *pRc to SQLITE_NOMEM before // returning. -func sessionAppendInteger(tls *libc.TLS, p uintptr, iVal int32, pRc uintptr) { /* sqlite3.c:212424:13: */ +func sessionAppendInteger(tls *libc.TLS, p uintptr, iVal int32, pRc uintptr) { /* sqlite3.c:212481:13: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -168338,7 +168369,7 @@ func sessionAppendInteger(tls *libc.TLS, p uintptr, iVal int32, pRc uintptr) { / // // If an OOM condition is encountered, set *pRc to SQLITE_NOMEM before // returning. -func sessionAppendIdent(tls *libc.TLS, p uintptr, zStr uintptr, pRc uintptr) { /* sqlite3.c:212443:13: */ +func sessionAppendIdent(tls *libc.TLS, p uintptr, zStr uintptr, pRc uintptr) { /* sqlite3.c:212500:13: */ var nStr int32 = Xsqlite3Strlen30(tls, zStr)*2 + 2 + 1 if 0 == sessionBufferGrow(tls, p, int64(nStr), pRc) { var zOut uintptr = (*SessionBuffer)(unsafe.Pointer(p)).FaBuf + uintptr((*SessionBuffer)(unsafe.Pointer(p)).FnBuf) @@ -168359,7 +168390,7 @@ func sessionAppendIdent(tls *libc.TLS, p uintptr, zStr uintptr, pRc uintptr) { / // called. Otherwse, it appends the serialized version of the value stored // in column iCol of the row that SQL statement pStmt currently points // to to the buffer. -func sessionAppendCol(tls *libc.TLS, p uintptr, pStmt uintptr, iCol int32, pRc uintptr) { /* sqlite3.c:212468:13: */ +func sessionAppendCol(tls *libc.TLS, p uintptr, pStmt uintptr, iCol int32, pRc uintptr) { /* sqlite3.c:212525:13: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -168419,7 +168450,7 @@ func sessionAppendCol(tls *libc.TLS, p uintptr, pStmt uintptr, iCol int32, pRc u // Otherwise, the old.* record contains all primary key values and the // original values of any fields that have been modified. The new.* record // contains the new values of only those fields that have been modified. -func sessionAppendUpdate(tls *libc.TLS, pBuf uintptr, bPatchset int32, pStmt uintptr, p uintptr, abPK uintptr) int32 { /* sqlite3.c:212530:12: */ +func sessionAppendUpdate(tls *libc.TLS, pBuf uintptr, bPatchset int32, pStmt uintptr, p uintptr, abPK uintptr) int32 { /* sqlite3.c:212587:12: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -168525,7 +168556,7 @@ func sessionAppendUpdate(tls *libc.TLS, pBuf uintptr, bPatchset int32, pStmt uin // Append a DELETE change to the buffer passed as the first argument. Use // the changeset format if argument bPatchset is zero, or the patchset // format otherwise. -func sessionAppendDelete(tls *libc.TLS, pBuf uintptr, bPatchset int32, p uintptr, nCol int32, abPK uintptr) int32 { /* sqlite3.c:212630:12: */ +func sessionAppendDelete(tls *libc.TLS, pBuf uintptr, bPatchset int32, p uintptr, nCol int32, abPK uintptr) int32 { /* sqlite3.c:212687:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -168582,7 +168613,7 @@ func sessionAppendDelete(tls *libc.TLS, pBuf uintptr, bPatchset int32, p uintptr // zTab in database zDb based on its primary key. i.e. // // SELECT * FROM zDb.zTab WHERE pk1 = ? AND pk2 = ? AND ... -func sessionSelectStmt(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, nCol int32, azCol uintptr, abPK uintptr, ppStmt uintptr) int32 { /* sqlite3.c:212685:12: */ +func sessionSelectStmt(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, nCol int32, azCol uintptr, abPK uintptr, ppStmt uintptr) int32 { /* sqlite3.c:212742:12: */ bp := tls.Alloc(28) defer tls.Free(28) @@ -168633,7 +168664,7 @@ func sessionSelectStmt(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, nCo // // Return SQLITE_OK if all PK values are successfully bound, or an SQLite // error code (e.g. SQLITE_NOMEM) otherwise. -func sessionSelectBind(tls *libc.TLS, pSelect uintptr, nCol int32, abPK uintptr, pChange uintptr) int32 { /* sqlite3.c:212742:12: */ +func sessionSelectBind(tls *libc.TLS, pSelect uintptr, nCol int32, abPK uintptr, pChange uintptr) int32 { /* sqlite3.c:212799:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -168711,7 +168742,7 @@ func sessionSelectBind(tls *libc.TLS, pSelect uintptr, nCol int32, abPK uintptr, // is called. Otherwise, append a serialized table header (part of the binary // changeset format) to buffer *pBuf. If an error occurs, set *pRc to an // SQLite error code before returning. -func sessionAppendTableHdr(tls *libc.TLS, pBuf uintptr, bPatchset int32, pTab uintptr, pRc uintptr) { /* sqlite3.c:212813:13: */ +func sessionAppendTableHdr(tls *libc.TLS, pBuf uintptr, bPatchset int32, pTab uintptr, pRc uintptr) { /* sqlite3.c:212870:13: */ // Write a table header sessionAppendByte(tls, pBuf, func() uint8 { if bPatchset != 0 { @@ -168732,7 +168763,7 @@ func sessionAppendTableHdr(tls *libc.TLS, pBuf uintptr, bPatchset int32, pTab ui // stored in output variables *pnChangeset and *ppChangeset. Or, if an error // 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) int32 { /* sqlite3.c:212836:12: */ +func sessionGenerateChangeset(tls *libc.TLS, pSession uintptr, bPatchset int32, xOutput uintptr, pOut uintptr, pnChangeset uintptr, ppChangeset uintptr) int32 { /* sqlite3.c:212893:12: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -168862,7 +168893,7 @@ func sessionGenerateChangeset(tls *libc.TLS, pSession uintptr, bPatchset int32, // // It is the responsibility of the caller to eventually free the buffer // using sqlite3_free(). -func Xsqlite3session_changeset(tls *libc.TLS, pSession uintptr, pnChangeset uintptr, ppChangeset uintptr) int32 { /* sqlite3.c:212965:16: */ +func Xsqlite3session_changeset(tls *libc.TLS, pSession uintptr, pnChangeset uintptr, ppChangeset uintptr) int32 { /* sqlite3.c:213022:16: */ var rc int32 if pnChangeset == uintptr(0) || ppChangeset == uintptr(0) { @@ -168874,7 +168905,7 @@ func Xsqlite3session_changeset(tls *libc.TLS, pSession uintptr, pnChangeset uint } // Streaming version of sqlite3session_changeset(). -func Xsqlite3session_changeset_strm(tls *libc.TLS, pSession uintptr, xOutput uintptr, pOut uintptr) int32 { /* sqlite3.c:212983:16: */ +func Xsqlite3session_changeset_strm(tls *libc.TLS, pSession uintptr, xOutput uintptr, pOut uintptr) int32 { /* sqlite3.c:213040:16: */ if xOutput == uintptr(0) { return SQLITE_MISUSE } @@ -168882,7 +168913,7 @@ func Xsqlite3session_changeset_strm(tls *libc.TLS, pSession uintptr, xOutput uin } // Streaming version of sqlite3session_patchset(). -func Xsqlite3session_patchset_strm(tls *libc.TLS, pSession uintptr, xOutput uintptr, pOut uintptr) int32 { /* sqlite3.c:212995:16: */ +func Xsqlite3session_patchset_strm(tls *libc.TLS, pSession uintptr, xOutput uintptr, pOut uintptr) int32 { /* sqlite3.c:213052:16: */ if xOutput == uintptr(0) { return SQLITE_MISUSE } @@ -168894,7 +168925,7 @@ func Xsqlite3session_patchset_strm(tls *libc.TLS, pSession uintptr, xOutput uint // // It is the responsibility of the caller to eventually free the buffer // using sqlite3_free(). -func Xsqlite3session_patchset(tls *libc.TLS, pSession uintptr, pnPatchset uintptr, ppPatchset uintptr) int32 { /* sqlite3.c:213011:16: */ +func Xsqlite3session_patchset(tls *libc.TLS, pSession uintptr, pnPatchset uintptr, ppPatchset uintptr) int32 { /* sqlite3.c:213068:16: */ if pnPatchset == uintptr(0) || ppPatchset == uintptr(0) { return SQLITE_MISUSE } @@ -168902,7 +168933,7 @@ func Xsqlite3session_patchset(tls *libc.TLS, pSession uintptr, pnPatchset uintpt } // Enable or disable the session object passed as the first argument. -func Xsqlite3session_enable(tls *libc.TLS, pSession uintptr, bEnable int32) int32 { /* sqlite3.c:213023:16: */ +func Xsqlite3session_enable(tls *libc.TLS, pSession uintptr, bEnable int32) int32 { /* sqlite3.c:213080:16: */ var ret int32 Xsqlite3_mutex_enter(tls, Xsqlite3_db_mutex(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb)) if bEnable >= 0 { @@ -168914,7 +168945,7 @@ func Xsqlite3session_enable(tls *libc.TLS, pSession uintptr, bEnable int32) int3 } // Enable or disable the session object passed as the first argument. -func Xsqlite3session_indirect(tls *libc.TLS, pSession uintptr, bIndirect int32) int32 { /* sqlite3.c:213037:16: */ +func Xsqlite3session_indirect(tls *libc.TLS, pSession uintptr, bIndirect int32) int32 { /* sqlite3.c:213094:16: */ var ret int32 Xsqlite3_mutex_enter(tls, Xsqlite3_db_mutex(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb)) if bIndirect >= 0 { @@ -168927,7 +168958,7 @@ func Xsqlite3session_indirect(tls *libc.TLS, pSession uintptr, bIndirect int32) // Return true if there have been no changes to monitored tables recorded // by the session object passed as the only argument. -func Xsqlite3session_isempty(tls *libc.TLS, pSession uintptr) int32 { /* sqlite3.c:213052:16: */ +func Xsqlite3session_isempty(tls *libc.TLS, pSession uintptr) int32 { /* sqlite3.c:213109:16: */ var ret int32 = 0 var pTab uintptr @@ -168941,12 +168972,12 @@ func Xsqlite3session_isempty(tls *libc.TLS, pSession uintptr) int32 { /* sqlite3 } // Return the amount of heap memory in use. -func Xsqlite3session_memory_used(tls *libc.TLS, pSession uintptr) Sqlite3_int64 { /* sqlite3.c:213068:26: */ +func Xsqlite3session_memory_used(tls *libc.TLS, pSession uintptr) Sqlite3_int64 { /* sqlite3.c:213125:26: */ return (*Sqlite3_session)(unsafe.Pointer(pSession)).FnMalloc } // Configure the session object passed as the first argument. -func Xsqlite3session_object_config(tls *libc.TLS, pSession uintptr, op int32, pArg uintptr) int32 { /* sqlite3.c:213075:16: */ +func Xsqlite3session_object_config(tls *libc.TLS, pSession uintptr, op int32, pArg uintptr) int32 { /* sqlite3.c:213132:16: */ var rc int32 = SQLITE_OK switch op { case SQLITE_SESSION_OBJCONFIG_SIZE: @@ -168972,12 +169003,12 @@ func Xsqlite3session_object_config(tls *libc.TLS, pSession uintptr, op int32, pA } // Return the maximum size of sqlite3session_changeset() output. -func Xsqlite3session_changeset_size(tls *libc.TLS, pSession uintptr) Sqlite3_int64 { /* sqlite3.c:213101:26: */ +func Xsqlite3session_changeset_size(tls *libc.TLS, pSession uintptr) Sqlite3_int64 { /* sqlite3.c:213158:26: */ return (*Sqlite3_session)(unsafe.Pointer(pSession)).FnMaxChangesetSize } // 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) int32 { /* sqlite3.c:213108:12: */ +func sessionChangesetStart(tls *libc.TLS, pp uintptr, xInput uintptr, pIn uintptr, nChangeset int32, pChangeset uintptr, bInvert int32, bSkipEmpty int32) int32 { /* sqlite3.c:213165:12: */ var pRet uintptr // Iterator to return var nByte int32 // Number of bytes to allocate for iterator @@ -169010,28 +169041,28 @@ func sessionChangesetStart(tls *libc.TLS, pp uintptr, xInput uintptr, pIn uintpt } // Create an iterator used to iterate through the contents of a changeset. -func Xsqlite3changeset_start(tls *libc.TLS, pp uintptr, nChangeset int32, pChangeset uintptr) int32 { /* sqlite3.c:213146:16: */ +func Xsqlite3changeset_start(tls *libc.TLS, pp uintptr, nChangeset int32, pChangeset uintptr) int32 { /* sqlite3.c:213203:16: */ return sessionChangesetStart(tls, pp, uintptr(0), uintptr(0), nChangeset, pChangeset, 0, 0) } -func Xsqlite3changeset_start_v2(tls *libc.TLS, pp uintptr, nChangeset int32, pChangeset uintptr, flags int32) int32 { /* sqlite3.c:213153:16: */ +func Xsqlite3changeset_start_v2(tls *libc.TLS, pp uintptr, nChangeset int32, pChangeset uintptr, flags int32) int32 { /* sqlite3.c:213210:16: */ var bInvert int32 = libc.BoolInt32(!!(flags&SQLITE_CHANGESETSTART_INVERT != 0)) return sessionChangesetStart(tls, pp, uintptr(0), uintptr(0), nChangeset, pChangeset, bInvert, 0) } // Streaming version of sqlite3changeset_start(). -func Xsqlite3changeset_start_strm(tls *libc.TLS, pp uintptr, xInput uintptr, pIn uintptr) int32 { /* sqlite3.c:213166:16: */ +func Xsqlite3changeset_start_strm(tls *libc.TLS, pp uintptr, xInput uintptr, pIn uintptr) int32 { /* sqlite3.c:213223:16: */ return sessionChangesetStart(tls, pp, xInput, pIn, 0, uintptr(0), 0, 0) } -func Xsqlite3changeset_start_v2_strm(tls *libc.TLS, pp uintptr, xInput uintptr, pIn uintptr, flags int32) int32 { /* sqlite3.c:213173:16: */ +func Xsqlite3changeset_start_v2_strm(tls *libc.TLS, pp uintptr, xInput uintptr, pIn uintptr, flags int32) int32 { /* sqlite3.c:213230:16: */ var bInvert int32 = libc.BoolInt32(!!(flags&SQLITE_CHANGESETSTART_INVERT != 0)) return sessionChangesetStart(tls, pp, xInput, pIn, 0, uintptr(0), bInvert, 0) } // If the SessionInput object passed as the only argument is a streaming // object and the buffer is full, discard some data to free up space. -func sessionDiscardData(tls *libc.TLS, pIn uintptr) { /* sqlite3.c:213187:13: */ +func sessionDiscardData(tls *libc.TLS, pIn uintptr) { /* sqlite3.c:213244:13: */ if (*SessionInput)(unsafe.Pointer(pIn)).FxInput != 0 && (*SessionInput)(unsafe.Pointer(pIn)).FiNext >= sessions_strm_chunk_size { var nMove int32 = (*SessionInput)(unsafe.Pointer(pIn)).Fbuf.FnBuf - (*SessionInput)(unsafe.Pointer(pIn)).FiNext @@ -169049,7 +169080,7 @@ func sessionDiscardData(tls *libc.TLS, pIn uintptr) { /* sqlite3.c:213187:13: */ // data is in the buffer. // // Return an SQLite error code if an error occurs, or SQLITE_OK otherwise. -func sessionInputBuffer(tls *libc.TLS, pIn uintptr, nByte int32) int32 { /* sqlite3.c:213207:12: */ +func sessionInputBuffer(tls *libc.TLS, pIn uintptr, nByte int32) int32 { /* sqlite3.c:213264:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -169082,7 +169113,7 @@ func sessionInputBuffer(tls *libc.TLS, pIn uintptr, nByte int32) int32 { /* sqli // When this function is called, *ppRec points to the start of a record // that contains nCol values. This function advances the pointer *ppRec // until it points to the byte immediately following that record. -func sessionSkipRecord(tls *libc.TLS, ppRec uintptr, nCol int32) { /* sqlite3.c:213235:13: */ +func sessionSkipRecord(tls *libc.TLS, ppRec uintptr, nCol int32) { /* sqlite3.c:213292:13: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -169107,7 +169138,7 @@ func sessionSkipRecord(tls *libc.TLS, ppRec uintptr, nCol int32) { /* sqlite3.c: // first argument to a copy of the string or blob held in the aData[] // buffer. SQLITE_OK is returned if successful, or SQLITE_NOMEM if an OOM // error occurs. -func sessionValueSetStr(tls *libc.TLS, pVal uintptr, aData uintptr, nData int32, enc U8) int32 { /* sqlite3.c:213261:12: */ +func sessionValueSetStr(tls *libc.TLS, pVal uintptr, aData uintptr, nData int32, enc U8) int32 { /* sqlite3.c:213318:12: */ // In theory this code could just pass SQLITE_TRANSIENT as the final // argument to sqlite3ValueSetStr() and have the copy created // automatically. But doing so makes it difficult to detect any OOM @@ -169143,7 +169174,7 @@ func sessionValueSetStr(tls *libc.TLS, pVal uintptr, aData uintptr, nData int32, // // If an error occurs, an SQLite error code (e.g. SQLITE_NOMEM) is returned. // The apOut[] array may have been partially populated in this case. -func sessionReadRecord(tls *libc.TLS, pIn uintptr, nCol int32, abPK uintptr, apOut uintptr, pbEmpty uintptr) int32 { /* sqlite3.c:213302:12: */ +func sessionReadRecord(tls *libc.TLS, pIn uintptr, nCol int32, abPK uintptr, apOut uintptr, pbEmpty uintptr) int32 { /* sqlite3.c:213359:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -169161,7 +169192,7 @@ func sessionReadRecord(tls *libc.TLS, pIn uintptr, nCol int32, abPK uintptr, apO rc = sessionInputBuffer(tls, pIn, 9) if rc == SQLITE_OK { if (*SessionInput)(unsafe.Pointer(pIn)).FiNext >= (*SessionInput)(unsafe.Pointer(pIn)).FnData { - rc = Xsqlite3CorruptError(tls, 213320) + rc = Xsqlite3CorruptError(tls, 213377) } else { eType = int32(*(*U8)(unsafe.Pointer((*SessionInput)(unsafe.Pointer(pIn)).FaData + uintptr(libc.PostIncInt32(&(*SessionInput)(unsafe.Pointer(pIn)).FiNext, 1))))) @@ -169186,7 +169217,7 @@ func sessionReadRecord(tls *libc.TLS, pIn uintptr, nCol int32, abPK uintptr, apO rc = sessionInputBuffer(tls, pIn, *(*int32)(unsafe.Pointer(bp /* nByte */))) if rc == SQLITE_OK { if *(*int32)(unsafe.Pointer(bp)) < 0 || *(*int32)(unsafe.Pointer(bp)) > (*SessionInput)(unsafe.Pointer(pIn)).FnData-(*SessionInput)(unsafe.Pointer(pIn)).FiNext { - rc = Xsqlite3CorruptError(tls, 213340) + rc = Xsqlite3CorruptError(tls, 213397) } else { var enc U8 = func() uint8 { if eType == SQLITE_TEXT { @@ -169228,7 +169259,7 @@ func sessionReadRecord(tls *libc.TLS, pIn uintptr, nCol int32, abPK uintptr, apO // buffer (i.e. that it can be accessed without any calls to xInput()). // If successful, SQLITE_OK is returned. Otherwise, an SQLite error code. // The input pointer is not moved. -func sessionChangesetBufferTblhdr(tls *libc.TLS, pIn uintptr, pnByte uintptr) int32 { /* sqlite3.c:213378:12: */ +func sessionChangesetBufferTblhdr(tls *libc.TLS, pIn uintptr, pnByte uintptr) int32 { /* sqlite3.c:213435:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -169247,7 +169278,7 @@ func sessionChangesetBufferTblhdr(tls *libc.TLS, pIn uintptr, pnByte uintptr) in // 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)) > 65536 { - rc = Xsqlite3CorruptError(tls, 213394) + rc = Xsqlite3CorruptError(tls, 213451) } else { rc = sessionInputBuffer(tls, pIn, nRead+*(*int32)(unsafe.Pointer(bp))+100) nRead = nRead + *(*int32)(unsafe.Pointer(bp)) @@ -169274,7 +169305,7 @@ func sessionChangesetBufferTblhdr(tls *libc.TLS, pIn uintptr, pnByte uintptr) in // If successful, SQLITE_OK is returned and *pnByte is set to the size of // the record in bytes. Otherwise, an SQLite error code is returned. The // final value of *pnByte is undefined in this case. -func sessionChangesetBufferRecord(tls *libc.TLS, pIn uintptr, nCol int32, pnByte uintptr) int32 { /* sqlite3.c:213421:12: */ +func sessionChangesetBufferRecord(tls *libc.TLS, pIn uintptr, nCol int32, pnByte uintptr) int32 { /* sqlite3.c:213478:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -169316,7 +169347,7 @@ func sessionChangesetBufferRecord(tls *libc.TLS, pIn uintptr, nCol int32, pnByte // If successful, SQLITE_OK is returned. Otherwise, an SQLite error code // is returned and the final values of the various fields enumerated above // are undefined. -func sessionChangesetReadTblhdr(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:213465:12: */ +func sessionChangesetReadTblhdr(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:213522:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -169336,7 +169367,7 @@ func sessionChangesetReadTblhdr(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:2 (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Ftblhdr.FnBuf = 0 sessionBufferGrow(tls, p+72, int64(nByte), bp+4) } else { - *(*int32)(unsafe.Pointer(bp + 4 /* rc */)) = Xsqlite3CorruptError(tls, 213482) + *(*int32)(unsafe.Pointer(bp + 4 /* rc */)) = Xsqlite3CorruptError(tls, 213539) } } @@ -169371,7 +169402,7 @@ func sessionChangesetReadTblhdr(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:2 // // * If the iterator is configured to skip no-op UPDATEs, // sessionChangesetNext() does that. This function does not. -func sessionChangesetNextOne(tls *libc.TLS, p uintptr, paRec uintptr, pnRec uintptr, pbNew uintptr, pbEmpty uintptr) int32 { /* sqlite3.c:213514:12: */ +func sessionChangesetNextOne(tls *libc.TLS, p uintptr, paRec uintptr, pnRec uintptr, pbNew uintptr, pbEmpty uintptr) int32 { /* sqlite3.c:213571:12: */ var i int32 var op U8 @@ -169428,13 +169459,13 @@ func sessionChangesetNextOne(tls *libc.TLS, p uintptr, paRec uintptr, pnRec uint // The first record in the changeset is not a table header. Must be a // corrupt changeset. - return libc.AssignPtrInt32(p+100, Xsqlite3CorruptError(tls, 213568)) + return libc.AssignPtrInt32(p+100, Xsqlite3CorruptError(tls, 213625)) } (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fop = int32(op) (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FbIndirect = int32(*(*U8)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FaData + uintptr(libc.PostIncInt32(&(*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FiNext, 1))))) if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fop != SQLITE_UPDATE && (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fop != SQLITE_DELETE && (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fop != SQLITE_INSERT { - return libc.AssignPtrInt32(p+100, Xsqlite3CorruptError(tls, 213574)) + return libc.AssignPtrInt32(p+100, Xsqlite3CorruptError(tls, 213631)) } if paRec != 0 { @@ -169504,7 +169535,7 @@ func sessionChangesetNextOne(tls *libc.TLS, p uintptr, paRec uintptr, pnRec uint *(*uintptr)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue + uintptr(i)*8)) = *(*uintptr)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue + uintptr(i+(*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol)*8)) if *(*uintptr)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue + uintptr(i)*8)) == uintptr(0) { - return libc.AssignPtrInt32(p+100, Xsqlite3CorruptError(tls, 213618)) + return libc.AssignPtrInt32(p+100, Xsqlite3CorruptError(tls, 213675)) } *(*uintptr)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue + uintptr(i+(*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol)*8)) = uintptr(0) } @@ -169535,7 +169566,7 @@ func sessionChangesetNextOne(tls *libc.TLS, p uintptr, paRec uintptr, pnRec uint // successfully advanced to the next change in the changeset, an SQLite // error code if an error occurs, or SQLITE_DONE if there are no further // changes in the changeset. -func sessionChangesetNext(tls *libc.TLS, p uintptr, paRec uintptr, pnRec uintptr, pbNew uintptr) int32 { /* sqlite3.c:213647:12: */ +func sessionChangesetNext(tls *libc.TLS, p uintptr, paRec uintptr, pnRec uintptr, pbNew uintptr) int32 { /* sqlite3.c:213704:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -169555,14 +169586,14 @@ func sessionChangesetNext(tls *libc.TLS, p uintptr, paRec uintptr, pnRec uintptr // // This function may not be called on iterators passed to a conflict handler // callback by changeset_apply(). -func Xsqlite3changeset_next(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:213670:16: */ +func Xsqlite3changeset_next(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:213727:16: */ return sessionChangesetNext(tls, p, uintptr(0), uintptr(0), uintptr(0)) } // The following function extracts information on the current change // from a changeset iterator. It may only be called after changeset_next() // has returned SQLITE_ROW. -func Xsqlite3changeset_op(tls *libc.TLS, pIter uintptr, pzTab uintptr, pnCol uintptr, pOp uintptr, pbIndirect uintptr) int32 { /* sqlite3.c:213679:16: */ +func Xsqlite3changeset_op(tls *libc.TLS, pIter uintptr, pzTab uintptr, pnCol uintptr, pOp uintptr, pbIndirect uintptr) int32 { /* sqlite3.c:213736:16: */ *(*int32)(unsafe.Pointer(pOp)) = (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fop *(*int32)(unsafe.Pointer(pnCol)) = (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol *(*uintptr)(unsafe.Pointer(pzTab)) = (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FzTab @@ -169576,7 +169607,7 @@ func Xsqlite3changeset_op(tls *libc.TLS, pIter uintptr, pzTab uintptr, pnCol uin // the database table affected by the change that pIter currently points // to. This function may only be called after changeset_next() returns // SQLITE_ROW. -func Xsqlite3changeset_pk(tls *libc.TLS, pIter uintptr, pabPK uintptr, pnCol uintptr) int32 { /* sqlite3.c:213699:16: */ +func Xsqlite3changeset_pk(tls *libc.TLS, pIter uintptr, pabPK uintptr, pnCol uintptr) int32 { /* sqlite3.c:213756:16: */ *(*uintptr)(unsafe.Pointer(pabPK)) = (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FabPK if pnCol != 0 { *(*int32)(unsafe.Pointer(pnCol)) = (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol @@ -169595,7 +169626,7 @@ func Xsqlite3changeset_pk(tls *libc.TLS, pIter uintptr, pabPK uintptr, pnCol uin // // If value iVal is out-of-range, SQLITE_RANGE is returned and *ppValue is // not modified. Otherwise, SQLITE_OK. -func Xsqlite3changeset_old(tls *libc.TLS, pIter uintptr, iVal int32, ppValue uintptr) int32 { /* sqlite3.c:213722:16: */ +func Xsqlite3changeset_old(tls *libc.TLS, pIter uintptr, iVal int32, ppValue uintptr) int32 { /* sqlite3.c:213779:16: */ if (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fop != SQLITE_UPDATE && (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fop != SQLITE_DELETE { return SQLITE_MISUSE } @@ -169617,7 +169648,7 @@ func Xsqlite3changeset_old(tls *libc.TLS, pIter uintptr, iVal int32, ppValue uin // // If value iVal is out-of-range, SQLITE_RANGE is returned and *ppValue is // not modified. Otherwise, SQLITE_OK. -func Xsqlite3changeset_new(tls *libc.TLS, pIter uintptr, iVal int32, ppValue uintptr) int32 { /* sqlite3.c:213750:16: */ +func Xsqlite3changeset_new(tls *libc.TLS, pIter uintptr, iVal int32, ppValue uintptr) int32 { /* sqlite3.c:213807:16: */ if (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fop != SQLITE_UPDATE && (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fop != SQLITE_INSERT { return SQLITE_MISUSE } @@ -169641,7 +169672,7 @@ func Xsqlite3changeset_new(tls *libc.TLS, pIter uintptr, iVal int32, ppValue uin // // If value iVal is out-of-range or some other error occurs, an SQLite error // code is returned. Otherwise, SQLITE_OK. -func Xsqlite3changeset_conflict(tls *libc.TLS, pIter uintptr, iVal int32, ppValue uintptr) int32 { /* sqlite3.c:213784:16: */ +func Xsqlite3changeset_conflict(tls *libc.TLS, pIter uintptr, iVal int32, ppValue uintptr) int32 { /* sqlite3.c:213841:16: */ if !(int32((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FpConflict) != 0) { return SQLITE_MISUSE } @@ -169658,7 +169689,7 @@ func Xsqlite3changeset_conflict(tls *libc.TLS, pIter uintptr, iVal int32, ppValu // violations in the destination database and returns SQLITE_OK. // // In all other cases this function returns SQLITE_MISUSE. -func Xsqlite3changeset_fk_conflicts(tls *libc.TLS, pIter uintptr, pnOut uintptr) int32 { /* sqlite3.c:213807:16: */ +func Xsqlite3changeset_fk_conflicts(tls *libc.TLS, pIter uintptr, pnOut uintptr) int32 { /* sqlite3.c:213864:16: */ if (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FpConflict != 0 || (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FapValue != 0 { return SQLITE_MISUSE } @@ -169670,7 +169701,7 @@ func Xsqlite3changeset_fk_conflicts(tls *libc.TLS, pIter uintptr, pnOut uintptr) // // This function may not be called on iterators passed to a conflict handler // callback by changeset_apply(). -func Xsqlite3changeset_finalize(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:213825:16: */ +func Xsqlite3changeset_finalize(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:213882:16: */ var rc int32 = SQLITE_OK if p != 0 { var i int32 // Used to iterate through p->apValue[] @@ -169687,7 +169718,7 @@ func Xsqlite3changeset_finalize(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:2 return rc } -func sessionChangesetInvert(tls *libc.TLS, pInput uintptr, xOutput uintptr, pOut uintptr, pnInverted uintptr, ppInverted uintptr) int32 { /* sqlite3.c:213840:12: */ +func sessionChangesetInvert(tls *libc.TLS, pInput uintptr, xOutput uintptr, pOut uintptr, pnInverted uintptr, ppInverted uintptr) int32 { /* sqlite3.c:213897:12: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -169923,7 +169954,7 @@ __27: goto __6 __11: - *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = Xsqlite3CorruptError(tls, 213967) + *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = Xsqlite3CorruptError(tls, 214024) goto finished_invert __6: ; @@ -169974,7 +170005,7 @@ finished_invert: } // Invert a changeset object. -func Xsqlite3changeset_invert(tls *libc.TLS, nChangeset int32, pChangeset uintptr, pnInverted uintptr, ppInverted uintptr) int32 { /* sqlite3.c:213999:16: */ +func Xsqlite3changeset_invert(tls *libc.TLS, nChangeset int32, pChangeset uintptr, pnInverted uintptr, ppInverted uintptr) int32 { /* sqlite3.c:214056:16: */ bp := tls.Alloc(72) defer tls.Free(72) @@ -169989,7 +170020,7 @@ func Xsqlite3changeset_invert(tls *libc.TLS, nChangeset int32, pChangeset uintpt } // Streaming version of sqlite3changeset_invert(). -func Xsqlite3changeset_invert_strm(tls *libc.TLS, xInput uintptr, pIn uintptr, xOutput uintptr, pOut uintptr) int32 { /* sqlite3.c:214018:16: */ +func Xsqlite3changeset_invert_strm(tls *libc.TLS, xInput uintptr, pIn uintptr, xOutput uintptr, pOut uintptr) int32 { /* sqlite3.c:214075:16: */ bp := tls.Alloc(72) defer tls.Free(72) @@ -170011,9 +170042,9 @@ type SessionUpdate1 = struct { FpStmt uintptr FaMask uintptr FpNext uintptr -} /* sqlite3.c:214038:9 */ +} /* sqlite3.c:214095:9 */ -type SessionUpdate = SessionUpdate1 /* sqlite3.c:214038:30 */ +type SessionUpdate = SessionUpdate1 /* sqlite3.c:214095:30 */ type SessionApplyCtx1 = struct { Fdb uintptr @@ -170035,9 +170066,9 @@ type SessionApplyCtx1 = struct { FbRebaseStarted U8 FbRebase U8 F__ccgo_pad3 [6]byte -} /* sqlite3.c:214045:9 */ +} /* sqlite3.c:214102:9 */ -type SessionApplyCtx = SessionApplyCtx1 /* sqlite3.c:214045:32 */ +type SessionApplyCtx = SessionApplyCtx1 /* sqlite3.c:214102:32 */ // Number of prepared UPDATE statements to cache. @@ -170045,7 +170076,7 @@ type SessionApplyCtx = SessionApplyCtx1 /* sqlite3.c:214045:32 */ // being visited by the iterator. The UPDATE is of the form: // // UPDATE tbl SET col = ?, col2 = ? WHERE pk1 IS ? AND pk2 IS ? -func sessionUpdateFind(tls *libc.TLS, pIter uintptr, p uintptr, bPatchset int32, ppStmt uintptr) int32 { /* sqlite3.c:214074:12: */ +func sessionUpdateFind(tls *libc.TLS, pIter uintptr, p uintptr, bPatchset int32, ppStmt uintptr) int32 { /* sqlite3.c:214131:12: */ bp := tls.Alloc(20) defer tls.Free(20) @@ -170179,7 +170210,7 @@ func sessionUpdateFind(tls *libc.TLS, pIter uintptr, p uintptr, bPatchset int32, } // Free all cached UPDATE statements. -func sessionUpdateFree(tls *libc.TLS, p uintptr) { /* sqlite3.c:214213:13: */ +func sessionUpdateFree(tls *libc.TLS, p uintptr) { /* sqlite3.c:214270:13: */ var pUp uintptr var pNext uintptr for pUp = (*SessionApplyCtx)(unsafe.Pointer(p)).FpUp; pUp != 0; pUp = pNext { @@ -170207,7 +170238,7 @@ func sessionUpdateFree(tls *libc.TLS, p uintptr) { /* sqlite3.c:214213:13: */ // // If successful, SQLITE_OK is returned and SessionApplyCtx.pDelete is left // pointing to the prepared version of the SQL statement. -func sessionDeleteRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) int32 { /* sqlite3.c:214243:12: */ +func sessionDeleteRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) int32 { /* sqlite3.c:214300:12: */ bp := tls.Alloc(20) defer tls.Free(20) @@ -170269,7 +170300,7 @@ func sessionDeleteRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) int32 // // If successful, SQLITE_OK is returned and SessionApplyCtx.pSelect is left // pointing to the prepared version of the SQL statement. -func sessionSelectRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) int32 { /* sqlite3.c:214308:12: */ +func sessionSelectRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) int32 { /* sqlite3.c:214365:12: */ return sessionSelectStmt(tls, db, ts+6316, zTab, (*SessionApplyCtx)(unsafe.Pointer(p)).FnCol, (*SessionApplyCtx)(unsafe.Pointer(p)).FazCol, (*SessionApplyCtx)(unsafe.Pointer(p)).FabPK, p+24) } @@ -170281,7 +170312,7 @@ func sessionSelectRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) int32 // // If successful, SQLITE_OK is returned and SessionApplyCtx.pInsert is left // pointing to the prepared version of the SQL statement. -func sessionInsertRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) int32 { /* sqlite3.c:214326:12: */ +func sessionInsertRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) int32 { /* sqlite3.c:214383:12: */ bp := tls.Alloc(20) defer tls.Free(20) @@ -170312,7 +170343,7 @@ func sessionInsertRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) int32 return *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) } -func sessionPrepare(tls *libc.TLS, db uintptr, pp uintptr, zSql uintptr) int32 { /* sqlite3.c:214356:12: */ +func sessionPrepare(tls *libc.TLS, db uintptr, pp uintptr, zSql uintptr) int32 { /* sqlite3.c:214413:12: */ return Xsqlite3_prepare_v2(tls, db, zSql, -1, pp, uintptr(0)) } @@ -170320,7 +170351,7 @@ func sessionPrepare(tls *libc.TLS, db uintptr, pp uintptr, zSql uintptr) int32 { // These are similar to those created by sessionSelectRow(), // sessionInsertRow(), sessionUpdateRow() and sessionDeleteRow() for // other tables. -func sessionStat1Sql(tls *libc.TLS, db uintptr, p uintptr) int32 { /* sqlite3.c:214366:12: */ +func sessionStat1Sql(tls *libc.TLS, db uintptr, p uintptr) int32 { /* sqlite3.c:214423:12: */ var rc int32 = sessionSelectRow(tls, db, ts+11217, p) if rc == SQLITE_OK { rc = sessionPrepare(tls, db, p+16, @@ -170337,7 +170368,7 @@ func sessionStat1Sql(tls *libc.TLS, db uintptr, p uintptr) int32 { /* sqlite3.c: // A wrapper around sqlite3_bind_value() that detects an extra problem. // See comments in the body of this function for details. -func sessionBindValue(tls *libc.TLS, pStmt uintptr, i int32, pVal uintptr) int32 { /* sqlite3.c:214389:12: */ +func sessionBindValue(tls *libc.TLS, pStmt uintptr, i int32, pVal uintptr) int32 { /* sqlite3.c:214446:12: */ var eType int32 = Xsqlite3_value_type(tls, pVal) // COVERAGE: The (pVal->z==0) branch is never true using current versions // of SQLite. If a malloc fails in an sqlite3_value_xxx() function, either @@ -170364,7 +170395,7 @@ func sessionBindValue(tls *libc.TLS, pStmt uintptr, i int32, pVal uintptr) int32 // statement. // // 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) int32 { /* sqlite3.c:214422:12: */ +func sessionBindRow(tls *libc.TLS, pIter uintptr, xValue uintptr, nCol int32, abPK uintptr, pStmt uintptr) int32 { /* sqlite3.c:214479:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -170385,7 +170416,7 @@ func sessionBindRow(tls *libc.TLS, pIter uintptr, xValue uintptr, nCol int32, ab if *(*uintptr)(unsafe.Pointer(bp)) == uintptr(0) { // The value in the changeset was "undefined". This indicates a // corrupt changeset blob. - rc = Xsqlite3CorruptError(tls, 214445) + rc = Xsqlite3CorruptError(tls, 214502) } else { rc = sessionBindValue(tls, pStmt, i+1, *(*uintptr)(unsafe.Pointer(bp /* pVal */))) } @@ -170409,7 +170440,7 @@ func sessionBindRow(tls *libc.TLS, pIter uintptr, xValue uintptr, nCol int32, ab // If the iterator currently points to an INSERT record, bind values from the // new.* record to the SELECT statement. Or, if it points to a DELETE or // UPDATE, bind values from the old.* record. -func sessionSeekToRow(tls *libc.TLS, db uintptr, pIter uintptr, abPK uintptr, pSelect uintptr) int32 { /* sqlite3.c:214471:12: */ +func sessionSeekToRow(tls *libc.TLS, db uintptr, pIter uintptr, abPK uintptr, pSelect uintptr) int32 { /* sqlite3.c:214528:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -170453,7 +170484,7 @@ func sessionSeekToRow(tls *libc.TLS, db uintptr, pIter uintptr, abPK uintptr, pS // of apply_v2() as the "rebase" buffer. // // Return SQLITE_OK if successful, or an SQLite error code otherwise. -func sessionRebaseAdd(tls *libc.TLS, p uintptr, eType int32, pIter uintptr) int32 { /* sqlite3.c:214506:12: */ +func sessionRebaseAdd(tls *libc.TLS, p uintptr, eType int32, pIter uintptr) int32 { /* sqlite3.c:214563:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -170525,7 +170556,7 @@ func sessionRebaseAdd(tls *libc.TLS, p uintptr, eType int32, pIter uintptr) int3 // returned. Or, if the conflict handler returns an invalid value, // 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) int32 { /* sqlite3.c:214580:12: */ +func sessionConflictHandler(tls *libc.TLS, eType int32, p uintptr, pIter uintptr, xConflict uintptr, pCtx uintptr, pbReplace uintptr) int32 { /* sqlite3.c:214637:12: */ bp := tls.Alloc(20) defer tls.Free(20) @@ -170625,7 +170656,7 @@ func sessionConflictHandler(tls *libc.TLS, eType int32, p uintptr, pIter uintptr // If any conflict handler returns SQLITE_CHANGESET_ABORT, this function // 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) int32 { /* sqlite3.c:214678:12: */ +func sessionApplyOneOp(tls *libc.TLS, pIter uintptr, p uintptr, xConflict uintptr, pCtx uintptr, pbReplace uintptr, pbRetry uintptr) int32 { /* sqlite3.c:214735:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -170760,7 +170791,7 @@ func sessionApplyOneOp(tls *libc.TLS, pIter uintptr, p uintptr, xConflict uintpt // function handles the case where the conflict-handler is invoked and // 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) int32 { /* sqlite3.c:214811:12: */ +func sessionApplyOneWithRetry(tls *libc.TLS, db uintptr, pIter uintptr, pApply uintptr, xConflict uintptr, pCtx uintptr) int32 { /* sqlite3.c:214868:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -170807,7 +170838,7 @@ func sessionApplyOneWithRetry(tls *libc.TLS, db uintptr, pIter uintptr, pApply u } // 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) int32 { /* sqlite3.c:214868:12: */ +func sessionRetryConstraints(tls *libc.TLS, db uintptr, bPatchset int32, zTab uintptr, pApply uintptr, xConflict uintptr, pCtx uintptr) int32 { /* sqlite3.c:214925:12: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -170861,7 +170892,7 @@ func sessionRetryConstraints(tls *libc.TLS, db uintptr, bPatchset int32, zTab ui // changeset to the main database attached to handle "db". The supplied // 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) int32 { /* sqlite3.c:214924:12: */ +func sessionChangesetApply(tls *libc.TLS, db uintptr, pIter uintptr, xFilter uintptr, xConflict uintptr, pCtx uintptr, ppRebase uintptr, pnRebase uintptr, flags int32) int32 { /* sqlite3.c:214981:12: */ bp := tls.Alloc(368) defer tls.Free(368) @@ -171052,7 +171083,7 @@ func sessionChangesetApply(tls *libc.TLS, db uintptr, pIter uintptr, xFilter uin // 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) int32 { /* sqlite3.c:215122:16: */ +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) int32 { /* sqlite3.c:215179:16: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -171070,7 +171101,7 @@ func Xsqlite3changeset_apply_v2(tls *libc.TLS, db uintptr, nChangeset int32, pCh // Apply the changeset passed via pChangeset/nChangeset to the main database // 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) int32 { /* sqlite3.c:215155:16: */ +func Xsqlite3changeset_apply(tls *libc.TLS, db uintptr, nChangeset int32, pChangeset uintptr, xFilter uintptr, xConflict uintptr, pCtx uintptr) int32 { /* sqlite3.c:215212:16: */ return Xsqlite3changeset_apply_v2(tls, db, nChangeset, pChangeset, xFilter, xConflict, pCtx, uintptr(0), uintptr(0), 0) } @@ -171078,7 +171109,7 @@ func Xsqlite3changeset_apply(tls *libc.TLS, db uintptr, nChangeset int32, pChang // Apply the changeset passed via xInput/pIn to the main database // 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) int32 { /* sqlite3.c:215180:16: */ +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) int32 { /* sqlite3.c:215237:16: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -171093,7 +171124,7 @@ func Xsqlite3changeset_apply_v2_strm(tls *libc.TLS, db uintptr, xInput uintptr, return rc } -func Xsqlite3changeset_apply_strm(tls *libc.TLS, db uintptr, xInput uintptr, pIn uintptr, xFilter uintptr, xConflict uintptr, pCtx uintptr) int32 { /* sqlite3.c:215207:16: */ +func Xsqlite3changeset_apply_strm(tls *libc.TLS, db uintptr, xInput uintptr, pIn uintptr, xFilter uintptr, xConflict uintptr, pCtx uintptr) int32 { /* sqlite3.c:215264:16: */ return Xsqlite3changeset_apply_v2_strm(tls, db, xInput, pIn, xFilter, xConflict, pCtx, uintptr(0), uintptr(0), 0) } @@ -171101,7 +171132,7 @@ func Xsqlite3changeset_apply_strm(tls *libc.TLS, db uintptr, xInput uintptr, pIn // This function is called to merge two changes to the same row together as // part of an sqlite3changeset_concat() operation. A new change object is // allocated and a pointer to it stored in *ppNew. -func sessionChangeMerge(tls *libc.TLS, pTab uintptr, bRebase int32, bPatchset int32, pExist uintptr, op2 int32, bIndirect int32, aRec uintptr, nRec int32, ppNew uintptr) int32 { /* sqlite3.c:215241:12: */ +func sessionChangeMerge(tls *libc.TLS, pTab uintptr, bRebase int32, bPatchset int32, pExist uintptr, op2 int32, bIndirect int32, aRec uintptr, nRec int32, ppNew uintptr) int32 { /* sqlite3.c:215298:12: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -171273,7 +171304,7 @@ func sessionChangeMerge(tls *libc.TLS, pTab uintptr, bRebase int32, bPatchset in // Add all changes in the changeset traversed by the iterator passed as // the first argument to the changegroup hash tables. -func sessionChangesetToHash(tls *libc.TLS, pIter uintptr, pGrp uintptr, bRebase int32) int32 { /* sqlite3.c:215423:12: */ +func sessionChangesetToHash(tls *libc.TLS, pIter uintptr, pGrp uintptr, bRebase int32) int32 { /* sqlite3.c:215480:12: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -171404,7 +171435,7 @@ func sessionChangesetToHash(tls *libc.TLS, pIter uintptr, pGrp uintptr, bRebase // If successful, SQLITE_OK is returned. Or, if an error occurs, an SQLite // 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) int32 { /* sqlite3.c:215546:12: */ +func sessionChangegroupOutput(tls *libc.TLS, pGrp uintptr, xOutput uintptr, pOut uintptr, pnOut uintptr, ppOut uintptr) int32 { /* sqlite3.c:215603:12: */ bp := tls.Alloc(20) defer tls.Free(20) @@ -171458,7 +171489,7 @@ func sessionChangegroupOutput(tls *libc.TLS, pGrp uintptr, xOutput uintptr, pOut } // Allocate a new, empty, sqlite3_changegroup. -func Xsqlite3changegroup_new(tls *libc.TLS, pp uintptr) int32 { /* sqlite3.c:215597:16: */ +func Xsqlite3changegroup_new(tls *libc.TLS, pp uintptr) int32 { /* sqlite3.c:215654:16: */ var rc int32 = SQLITE_OK // Return code var p uintptr // New object p = Xsqlite3_malloc(tls, int32(unsafe.Sizeof(Sqlite3_changegroup{}))) @@ -171473,7 +171504,7 @@ func Xsqlite3changegroup_new(tls *libc.TLS, pp uintptr) int32 { /* sqlite3.c:215 // Add the changeset currently stored in buffer pData, size nData bytes, // to changeset-group p. -func Xsqlite3changegroup_add(tls *libc.TLS, pGrp uintptr, nData int32, pData uintptr) int32 { /* sqlite3.c:215614:16: */ +func Xsqlite3changegroup_add(tls *libc.TLS, pGrp uintptr, nData int32, pData uintptr) int32 { /* sqlite3.c:215671:16: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -171491,12 +171522,12 @@ func Xsqlite3changegroup_add(tls *libc.TLS, pGrp uintptr, nData int32, pData uin // Obtain a buffer containing a changeset representing the concatenation // of all changesets added to the group so far. -func Xsqlite3changegroup_output(tls *libc.TLS, pGrp uintptr, pnData uintptr, ppData uintptr) int32 { /* sqlite3.c:215630:16: */ +func Xsqlite3changegroup_output(tls *libc.TLS, pGrp uintptr, pnData uintptr, ppData uintptr) int32 { /* sqlite3.c:215687:16: */ return sessionChangegroupOutput(tls, pGrp, uintptr(0), uintptr(0), pnData, ppData) } // Streaming versions of changegroup_add(). -func Xsqlite3changegroup_add_strm(tls *libc.TLS, pGrp uintptr, xInput uintptr, pIn uintptr) int32 { /* sqlite3.c:215641:16: */ +func Xsqlite3changegroup_add_strm(tls *libc.TLS, pGrp uintptr, xInput uintptr, pIn uintptr) int32 { /* sqlite3.c:215698:16: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -171513,12 +171544,12 @@ func Xsqlite3changegroup_add_strm(tls *libc.TLS, pGrp uintptr, xInput uintptr, p } // Streaming versions of changegroup_output(). -func Xsqlite3changegroup_output_strm(tls *libc.TLS, pGrp uintptr, xOutput uintptr, pOut uintptr) int32 { /* sqlite3.c:215660:16: */ +func Xsqlite3changegroup_output_strm(tls *libc.TLS, pGrp uintptr, xOutput uintptr, pOut uintptr) int32 { /* sqlite3.c:215717:16: */ return sessionChangegroupOutput(tls, pGrp, xOutput, pOut, uintptr(0), uintptr(0)) } // Delete a changegroup object. -func Xsqlite3changegroup_delete(tls *libc.TLS, pGrp uintptr) { /* sqlite3.c:215671:17: */ +func Xsqlite3changegroup_delete(tls *libc.TLS, pGrp uintptr) { /* sqlite3.c:215728:17: */ if pGrp != 0 { sessionDeleteTable(tls, uintptr(0), (*Sqlite3_changegroup)(unsafe.Pointer(pGrp)).FpList) Xsqlite3_free(tls, pGrp) @@ -171526,7 +171557,7 @@ func Xsqlite3changegroup_delete(tls *libc.TLS, pGrp uintptr) { /* sqlite3.c:2156 } // Combine two changesets together. -func Xsqlite3changeset_concat(tls *libc.TLS, nLeft int32, pLeft uintptr, nRight int32, pRight uintptr, pnOut uintptr, ppOut uintptr) int32 { /* sqlite3.c:215681:16: */ +func Xsqlite3changeset_concat(tls *libc.TLS, nLeft int32, pLeft uintptr, nRight int32, pRight uintptr, pnOut uintptr, ppOut uintptr) int32 { /* sqlite3.c:215738:16: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -171550,7 +171581,7 @@ func Xsqlite3changeset_concat(tls *libc.TLS, nLeft int32, pLeft uintptr, nRight } // Streaming version of sqlite3changeset_concat(). -func Xsqlite3changeset_concat_strm(tls *libc.TLS, xInputA uintptr, pInA uintptr, xInputB uintptr, pInB uintptr, xOutput uintptr, pOut uintptr) int32 { /* sqlite3.c:215710:16: */ +func Xsqlite3changeset_concat_strm(tls *libc.TLS, xInputA uintptr, pInA uintptr, xInputB uintptr, pInB uintptr, xOutput uintptr, pOut uintptr) int32 { /* sqlite3.c:215767:16: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -171577,7 +171608,7 @@ func Xsqlite3changeset_concat_strm(tls *libc.TLS, xInputA uintptr, pInA uintptr, // fields in size. This function appends an nCol sessions module // record to buffer pBuf that is a copy of a1, except that for // each field that is undefined in a1[], swap in the field from a2[]. -func sessionAppendRecordMerge(tls *libc.TLS, pBuf uintptr, nCol int32, a1 uintptr, n1 int32, a2 uintptr, n2 int32, pRc uintptr) { /* sqlite3.c:215749:13: */ +func sessionAppendRecordMerge(tls *libc.TLS, pBuf uintptr, nCol int32, a1 uintptr, n1 int32, a2 uintptr, n2 int32, pRc uintptr) { /* sqlite3.c:215806:13: */ sessionBufferGrow(tls, pBuf, int64(n1+n2), pRc) if *(*int32)(unsafe.Pointer(pRc)) == SQLITE_OK { var i int32 @@ -171618,7 +171649,7 @@ func sessionAppendRecordMerge(tls *libc.TLS, pBuf uintptr, nCol int32, a1 uintpt // corresponding field in the rebase buffer is not "undefined" (0x00) // or "replaced" (0xFF), the old.* value is replaced by the value // in the rebase buffer. -func sessionAppendPartialUpdate(tls *libc.TLS, pBuf uintptr, pIter uintptr, aRec uintptr, nRec int32, aChange uintptr, nChange int32, pRc uintptr) { /* sqlite3.c:215798:13: */ +func sessionAppendPartialUpdate(tls *libc.TLS, pBuf uintptr, pIter uintptr, aRec uintptr, nRec int32, aChange uintptr, nChange int32, pRc uintptr) { /* sqlite3.c:215855:13: */ sessionBufferGrow(tls, pBuf, int64(2+nRec+nChange), pRc) if *(*int32)(unsafe.Pointer(pRc)) == SQLITE_OK { var bData int32 = 0 @@ -171680,7 +171711,7 @@ func sessionAppendPartialUpdate(tls *libc.TLS, pBuf uintptr, pIter uintptr, aRec // If an error occurs, an SQLite error code is returned. If ppOut and // 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) int32 { /* sqlite3.c:215866:12: */ +func sessionRebase(tls *libc.TLS, p uintptr, pIter uintptr, xOutput uintptr, pOut uintptr, pnOut uintptr, ppOut uintptr) int32 { /* sqlite3.c:215923:12: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -171818,7 +171849,7 @@ func sessionRebase(tls *libc.TLS, p uintptr, pIter uintptr, xOutput uintptr, pOu } // Create a new rebaser object. -func Xsqlite3rebaser_create(tls *libc.TLS, ppNew uintptr) int32 { /* sqlite3.c:215998:16: */ +func Xsqlite3rebaser_create(tls *libc.TLS, ppNew uintptr) int32 { /* sqlite3.c:216055:16: */ var rc int32 = SQLITE_OK var pNew uintptr @@ -171833,7 +171864,7 @@ func Xsqlite3rebaser_create(tls *libc.TLS, ppNew uintptr) int32 { /* sqlite3.c:2 } // Call this one or more times to configure a rebaser. -func Xsqlite3rebaser_configure(tls *libc.TLS, p uintptr, nRebase int32, pRebase uintptr) int32 { /* sqlite3.c:216015:16: */ +func Xsqlite3rebaser_configure(tls *libc.TLS, p uintptr, nRebase int32, pRebase uintptr) int32 { /* sqlite3.c:216072:16: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -171848,7 +171879,7 @@ func Xsqlite3rebaser_configure(tls *libc.TLS, p uintptr, nRebase int32, pRebase } // Rebase a changeset according to current rebaser configuration -func Xsqlite3rebaser_rebase(tls *libc.TLS, p uintptr, nIn int32, pIn uintptr, pnOut uintptr, ppOut uintptr) int32 { /* sqlite3.c:216032:16: */ +func Xsqlite3rebaser_rebase(tls *libc.TLS, p uintptr, nIn int32, pIn uintptr, pnOut uintptr, ppOut uintptr) int32 { /* sqlite3.c:216089:16: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -171864,7 +171895,7 @@ func Xsqlite3rebaser_rebase(tls *libc.TLS, p uintptr, nIn int32, pIn uintptr, pn } // 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) int32 { /* sqlite3.c:216051:16: */ +func Xsqlite3rebaser_rebase_strm(tls *libc.TLS, p uintptr, xInput uintptr, pIn uintptr, xOutput uintptr, pOut uintptr) int32 { /* sqlite3.c:216108:16: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -171880,7 +171911,7 @@ func Xsqlite3rebaser_rebase_strm(tls *libc.TLS, p uintptr, xInput uintptr, pIn u } // Destroy a rebaser object -func Xsqlite3rebaser_delete(tls *libc.TLS, p uintptr) { /* sqlite3.c:216072:17: */ +func Xsqlite3rebaser_delete(tls *libc.TLS, p uintptr) { /* sqlite3.c:216129:17: */ if p != 0 { sessionDeleteTable(tls, uintptr(0), (*Sqlite3_rebaser)(unsafe.Pointer(p)).Fgrp.FpList) Xsqlite3_free(tls, p) @@ -171888,7 +171919,7 @@ func Xsqlite3rebaser_delete(tls *libc.TLS, p uintptr) { /* sqlite3.c:216072:17: } // Global configuration -func Xsqlite3session_config(tls *libc.TLS, op int32, pArg uintptr) int32 { /* sqlite3.c:216082:16: */ +func Xsqlite3session_config(tls *libc.TLS, op int32, pArg uintptr) int32 { /* sqlite3.c:216139:16: */ var rc int32 = SQLITE_OK switch op { case SQLITE_SESSION_CONFIG_STRMSIZE: @@ -171976,7 +172007,7 @@ type Fts5Global1 = struct { FpTok uintptr FpDfltTok uintptr FpCsr uintptr -} /* sqlite3.c:216813:9 */ +} /* sqlite3.c:216870:9 */ //************* End of sqlite3session.c ************************************* //************* Begin file fts5.c ******************************************* @@ -172038,13 +172069,13 @@ type Fts5Global1 = struct { // Mark a function parameter as unused, to suppress nuisance compiler // warnings. -type Fts5Global = Fts5Global1 /* sqlite3.c:216813:27 */ +type Fts5Global = Fts5Global1 /* sqlite3.c:216870:27 */ type Fts5Colset1 = struct { FnCol int32 FaiCol [1]int32 -} /* sqlite3.c:216813:9 */ +} /* sqlite3.c:216870:9 */ -type Fts5Colset = Fts5Colset1 /* sqlite3.c:216814:27 */ +type Fts5Colset = Fts5Colset1 /* sqlite3.c:216871:27 */ // ************************************************************************* // @@ -172082,14 +172113,14 @@ type Fts5Config1 = struct { FzRank uintptr FzRankArgs uintptr FpzErrmsg uintptr -} /* sqlite3.c:216813:9 */ +} /* sqlite3.c:216870:9 */ // ************************************************************************* // // Interface to code in fts5_config.c. fts5_config.c contains contains code // to parse the arguments passed to the CREATE VIRTUAL TABLE statement. -type Fts5Config = Fts5Config1 /* sqlite3.c:216834:27 */ +type Fts5Config = Fts5Config1 /* sqlite3.c:216891:27 */ // // End of interface to code in fts5_config.c. @@ -172104,7 +172135,7 @@ type Fts5Buffer1 = struct { Fp uintptr Fn int32 FnSpace int32 -} /* sqlite3.c:216813:9 */ +} /* sqlite3.c:216870:9 */ // // End of interface to code in fts5_config.c. @@ -172115,7 +172146,7 @@ type Fts5Buffer1 = struct { // Interface to code in fts5_buffer.c. // Buffer object for the incremental building of string data. -type Fts5Buffer = Fts5Buffer1 /* sqlite3.c:216960:27 */ +type Fts5Buffer = Fts5Buffer1 /* sqlite3.c:217017:27 */ type Fts5PoslistReader1 = struct { Fa uintptr @@ -172125,19 +172156,19 @@ type Fts5PoslistReader1 = struct { FbEof U8 F__ccgo_pad1 [6]byte FiPos I64 -} /* sqlite3.c:216813:9 */ +} /* sqlite3.c:216870:9 */ -type Fts5PoslistReader = Fts5PoslistReader1 /* sqlite3.c:216996:34 */ +type Fts5PoslistReader = Fts5PoslistReader1 /* sqlite3.c:217053:34 */ -type Fts5PoslistWriter1 = struct{ FiPrev I64 } /* sqlite3.c:217015:9 */ +type Fts5PoslistWriter1 = struct{ FiPrev I64 } /* sqlite3.c:217072:9 */ -type Fts5PoslistWriter = Fts5PoslistWriter1 /* sqlite3.c:217015:34 */ +type Fts5PoslistWriter = Fts5PoslistWriter1 /* sqlite3.c:217072:34 */ // Bucket of terms object used by the integrity-check in offsets=0 mode. -type Fts5Termset1 = struct{ FapHash [512]uintptr } /* sqlite3.c:217037:9 */ +type Fts5Termset1 = struct{ FapHash [512]uintptr } /* sqlite3.c:217094:9 */ // Bucket of terms object used by the integrity-check in offsets=0 mode. -type Fts5Termset = Fts5Termset1 /* sqlite3.c:217037:28 */ +type Fts5Termset = Fts5Termset1 /* sqlite3.c:217094:28 */ // // End of interface to code in fts5_buffer.c. @@ -172170,7 +172201,7 @@ type Fts5Index1 = struct { FpDataVersion uintptr FiStructVersion I64 FpStruct uintptr -} /* sqlite3.c:216813:9 */ +} /* sqlite3.c:216870:9 */ // // End of interface to code in fts5_buffer.c. @@ -172181,16 +172212,16 @@ type Fts5Index1 = struct { // Interface to code in fts5_index.c. fts5_index.c contains contains code // to access the data stored in the %_data table. -type Fts5Index = Fts5Index1 /* sqlite3.c:217051:26 */ +type Fts5Index = Fts5Index1 /* sqlite3.c:217108:26 */ type Fts5IndexIter1 = struct { FiRowid I64 FpData uintptr FnData int32 FbEof U8 F__ccgo_pad1 [3]byte -} /* sqlite3.c:216813:9 */ +} /* sqlite3.c:216870:9 */ -type Fts5IndexIter = Fts5IndexIter1 /* sqlite3.c:217052:30 */ +type Fts5IndexIter = Fts5IndexIter1 /* sqlite3.c:217109:30 */ // // End of interface to code in fts5_varint.c. @@ -172205,7 +172236,7 @@ type Fts5Table1 = struct { Fbase Sqlite3_vtab FpConfig uintptr FpIndex uintptr -} /* sqlite3.c:217254:9 */ +} /* sqlite3.c:217311:9 */ // // End of interface to code in fts5_varint.c. @@ -172216,7 +172247,7 @@ type Fts5Table1 = struct { // Interface to code in fts5_main.c. // Virtual-table object. -type Fts5Table = Fts5Table1 /* sqlite3.c:217254:26 */ +type Fts5Table = Fts5Table1 /* sqlite3.c:217311:26 */ // // End of interface to code in fts5.c. @@ -172233,7 +172264,7 @@ type Fts5Hash1 = struct { FnSlot int32 FpScan uintptr FaSlot uintptr -} /* sqlite3.c:216813:9 */ +} /* sqlite3.c:216870:9 */ // // End of interface to code in fts5.c. @@ -172242,7 +172273,7 @@ type Fts5Hash1 = struct { // ************************************************************************* // // Interface to code in fts5_hash.c. -type Fts5Hash = Fts5Hash1 /* sqlite3.c:217280:25 */ +type Fts5Hash = Fts5Hash1 /* sqlite3.c:217337:25 */ // // End of interface to code in fts5_hash.c. @@ -172261,7 +172292,7 @@ type Fts5Storage1 = struct { FnTotalRow I64 FaTotalSize uintptr FaStmt [11]uintptr -} /* sqlite3.c:217336:9 */ +} /* sqlite3.c:217393:9 */ // // End of interface to code in fts5_hash.c. @@ -172272,7 +172303,7 @@ type Fts5Storage1 = struct { // Interface to code in fts5_storage.c. fts5_storage.c contains contains // code to access the data stored in the %_content and %_docsize tables. -type Fts5Storage = Fts5Storage1 /* sqlite3.c:217336:28 */ +type Fts5Storage = Fts5Storage1 /* sqlite3.c:217393:28 */ // // End of interface to code in fts5_storage.c. @@ -172288,7 +172319,7 @@ type Fts5Expr1 = struct { FbDesc int32 FnPhrase int32 FapExprPhrase uintptr -} /* sqlite3.c:216813:9 */ +} /* sqlite3.c:216870:9 */ // // End of interface to code in fts5_storage.c. @@ -172297,7 +172328,7 @@ type Fts5Expr1 = struct { // ************************************************************************* // // Interface to code in fts5_expr.c. -type Fts5Expr = Fts5Expr1 /* sqlite3.c:217379:25 */ +type Fts5Expr = Fts5Expr1 /* sqlite3.c:217436:25 */ type Fts5ExprNode1 = struct { FeType int32 FbEof int32 @@ -172309,9 +172340,9 @@ type Fts5ExprNode1 = struct { FnChild int32 F__ccgo_pad2 [4]byte FapChild [1]uintptr -} /* sqlite3.c:216813:9 */ +} /* sqlite3.c:216870:9 */ -type Fts5ExprNode = Fts5ExprNode1 /* sqlite3.c:217380:29 */ +type Fts5ExprNode = Fts5ExprNode1 /* sqlite3.c:217437:29 */ type Fts5Parse1 = struct { FpConfig uintptr FzErr uintptr @@ -172321,25 +172352,25 @@ type Fts5Parse1 = struct { FpExpr uintptr FbPhraseToAnd int32 F__ccgo_pad1 [4]byte -} /* sqlite3.c:217381:9 */ +} /* sqlite3.c:217438:9 */ -type Fts5Parse = Fts5Parse1 /* sqlite3.c:217381:26 */ +type Fts5Parse = Fts5Parse1 /* sqlite3.c:217438:26 */ type Fts5Token1 = struct { Fp uintptr Fn int32 F__ccgo_pad1 [4]byte -} /* sqlite3.c:217382:9 */ +} /* sqlite3.c:217439:9 */ -type Fts5Token = Fts5Token1 /* sqlite3.c:217382:26 */ +type Fts5Token = Fts5Token1 /* sqlite3.c:217439:26 */ type Fts5ExprPhrase1 = struct { FpNode uintptr Fposlist Fts5Buffer FnTerm int32 F__ccgo_pad1 [4]byte FaTerm [1]Fts5ExprTerm -} /* sqlite3.c:216813:9 */ +} /* sqlite3.c:216870:9 */ -type Fts5ExprPhrase = Fts5ExprPhrase1 /* sqlite3.c:217383:31 */ +type Fts5ExprPhrase = Fts5ExprPhrase1 /* sqlite3.c:217440:31 */ type Fts5ExprNearset1 = struct { FnNear int32 F__ccgo_pad1 [4]byte @@ -172347,17 +172378,17 @@ type Fts5ExprNearset1 = struct { FnPhrase int32 F__ccgo_pad2 [4]byte FapPhrase [1]uintptr -} /* sqlite3.c:216813:9 */ +} /* sqlite3.c:216870:9 */ -type Fts5ExprNearset = Fts5ExprNearset1 /* sqlite3.c:217384:32 */ +type Fts5ExprNearset = Fts5ExprNearset1 /* sqlite3.c:217441:32 */ type Fts5PoslistPopulator1 = struct { Fwriter Fts5PoslistWriter FbOk int32 FbMiss int32 -} /* sqlite3.c:217432:9 */ +} /* sqlite3.c:217489:9 */ -type Fts5PoslistPopulator = Fts5PoslistPopulator1 /* sqlite3.c:217432:37 */ +type Fts5PoslistPopulator = Fts5PoslistPopulator1 /* sqlite3.c:217489:37 */ // // End of interface to code in fts5_unicode2.c. // @@ -172462,7 +172493,7 @@ type Fts5YYMINORTYPE = struct { F__ccgo_pad1 [0]uint64 Ffts5yyinit int32 F__ccgo_pad2 [12]byte -} /* sqlite3.c:217708:3 */ +} /* sqlite3.c:217765:3 */ //************ End control #defines ****************************************** // Define the fts5yytestcase() macro to be a no-op if is not already defined @@ -172535,7 +172566,7 @@ var fts5yy_action = [105]uint8{ /* 80 */ uint8(5), uint8(3), uint8(63), uint8(5), uint8(3), uint8(62), uint8(12), uint8(2), uint8(86), uint8(13), /* 90 */ uint8(9), uint8(30), uint8(10), uint8(10), uint8(54), uint8(57), uint8(75), uint8(78), uint8(78), uint8(53), /* 100 */ uint8(57), uint8(15), uint8(82), uint8(82), uint8(71), -} /* sqlite3.c:217801:31 */ +} /* sqlite3.c:217858:31 */ var fts5yy_lookahead = [121]uint8{ /* 0 */ uint8(16), uint8(17), uint8(18), uint8(19), uint8(20), uint8(22), uint8(22), uint8(24), uint8(24), uint8(17), /* 10 */ uint8(18), uint8(19), uint8(20), uint8(7), uint8(22), uint8(9), uint8(24), uint8(17), uint8(18), uint8(19), @@ -172550,23 +172581,23 @@ var fts5yy_lookahead = [121]uint8{ /* 100 */ uint8(9), uint8(9), uint8(27), uint8(27), uint8(11), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), /* 110 */ uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), /* 120 */ uint8(27), -} /* sqlite3.c:217814:29 */ +} /* sqlite3.c:217871:29 */ var fts5yy_shift_ofst = [35]uint8{ /* 0 */ uint8(44), uint8(44), uint8(44), uint8(44), uint8(44), uint8(44), uint8(51), uint8(77), uint8(43), uint8(12), /* 10 */ uint8(14), uint8(83), uint8(82), uint8(14), uint8(23), uint8(23), uint8(31), uint8(31), uint8(71), uint8(74), /* 20 */ uint8(78), uint8(81), uint8(86), uint8(91), uint8(6), uint8(53), uint8(53), uint8(60), uint8(64), uint8(68), /* 30 */ uint8(53), uint8(87), uint8(92), uint8(53), uint8(93), -} /* sqlite3.c:217832:28 */ +} /* sqlite3.c:217889:28 */ var fts5yy_reduce_ofst = [18]int8{ /* 0 */ int8(-16), int8(-8), int8(0), int8(9), int8(17), int8(25), int8(46), int8(-17), int8(-17), int8(37), /* 10 */ int8(67), int8(4), int8(4), int8(8), int8(4), int8(20), int8(27), int8(38), -} /* sqlite3.c:217841:26 */ +} /* sqlite3.c:217898:26 */ var fts5yy_default = [35]uint8{ /* 0 */ uint8(80), uint8(80), uint8(80), uint8(80), uint8(80), uint8(80), uint8(95), uint8(80), uint8(80), uint8(105), /* 10 */ uint8(80), uint8(110), uint8(110), uint8(80), uint8(110), uint8(110), uint8(80), uint8(80), uint8(80), uint8(80), /* 20 */ uint8(80), uint8(91), uint8(80), uint8(80), uint8(80), uint8(101), uint8(100), uint8(80), uint8(80), uint8(90), /* 30 */ uint8(103), uint8(80), uint8(80), uint8(104), uint8(80), -} /* sqlite3.c:217845:31 */ +} /* sqlite3.c:217902:31 */ //********* End of lemon-generated parsing tables **************************** // The next table maps tokens (terminal symbols) into fallback tokens. @@ -172603,9 +172634,9 @@ type fts5yyStackEntry = struct { Fmajor uint8 F__ccgo_pad1 [6]byte Fminor Fts5YYMINORTYPE -} /* sqlite3.c:217888:1 */ +} /* sqlite3.c:217945:1 */ -type Fts5yyStackEntry = fts5yyStackEntry /* sqlite3.c:217895:33 */ +type Fts5yyStackEntry = fts5yyStackEntry /* sqlite3.c:217952:33 */ // The state of the parser is completely contained in an instance of // the following structure @@ -172614,9 +172645,9 @@ type fts5yyParser = struct { FpParse uintptr Ffts5yystack [100]Fts5yyStackEntry Ffts5yystackEnd uintptr -} /* sqlite3.c:217899:1 */ +} /* sqlite3.c:217956:1 */ -type Fts5yyParser = fts5yyParser /* sqlite3.c:217918:29 */ +type Fts5yyParser = fts5yyParser /* sqlite3.c:217975:29 */ // #include @@ -172626,7 +172657,7 @@ type Fts5yyParser = fts5yyParser /* sqlite3.c:217918:29 */ // grammar. // Initialize a new parser that has already been allocated. -func sqlite3Fts5ParserInit(tls *libc.TLS, fts5yypRawParser uintptr) { /* sqlite3.c:218067:13: */ +func sqlite3Fts5ParserInit(tls *libc.TLS, fts5yypRawParser uintptr) { /* sqlite3.c:218124:13: */ var fts5yypParser uintptr = fts5yypRawParser (*Fts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yytos = fts5yypParser + 16 /* &.fts5yystack */ @@ -172645,7 +172676,7 @@ func sqlite3Fts5ParserInit(tls *libc.TLS, fts5yypRawParser uintptr) { /* sqlite3 // Outputs: // A pointer to a parser. This pointer is used in subsequent calls // to sqlite3Fts5Parser and sqlite3Fts5ParserFree. -func sqlite3Fts5ParserAlloc(tls *libc.TLS, mallocProc uintptr) uintptr { /* sqlite3.c:218106:13: */ +func sqlite3Fts5ParserAlloc(tls *libc.TLS, mallocProc uintptr) uintptr { /* sqlite3.c:218163:13: */ var fts5yypParser uintptr fts5yypParser = (*struct{ f func(*libc.TLS, U64) uintptr })(unsafe.Pointer(&struct{ uintptr }{mallocProc})).f(tls, U64(unsafe.Sizeof(Fts5yyParser{}))) if fts5yypParser != 0 { @@ -172661,7 +172692,7 @@ func sqlite3Fts5ParserAlloc(tls *libc.TLS, mallocProc uintptr) uintptr { /* sqli // a pointer to the value to be deleted. The code used to do the // deletions is derived from the %destructor and/or %token_destructor // directives of the input grammar. -func fts5yy_destructor(tls *libc.TLS, fts5yypParser uintptr, fts5yymajor uint8, fts5yypminor uintptr) { /* sqlite3.c:218125:13: */ +func fts5yy_destructor(tls *libc.TLS, fts5yypParser uintptr, fts5yymajor uint8, fts5yypminor uintptr) { /* sqlite3.c:218182:13: */ var pParse uintptr = (*Fts5yyParser)(unsafe.Pointer(fts5yypParser)).FpParse _ = pParse @@ -172719,7 +172750,7 @@ func fts5yy_destructor(tls *libc.TLS, fts5yypParser uintptr, fts5yymajor uint8, // // If there is a destructor routine associated with the token which // is popped from the stack, then call it. -func fts5yy_pop_parser_stack(tls *libc.TLS, pParser uintptr) { /* sqlite3.c:218184:13: */ +func fts5yy_pop_parser_stack(tls *libc.TLS, pParser uintptr) { /* sqlite3.c:218241:13: */ var fts5yytos uintptr fts5yytos = libc.PostDecUintptr(&(*Fts5yyParser)(unsafe.Pointer(pParser)).Ffts5yytos, 24) @@ -172727,7 +172758,7 @@ func fts5yy_pop_parser_stack(tls *libc.TLS, pParser uintptr) { /* sqlite3.c:2181 } // Clear all secondary memory allocations from the parser -func sqlite3Fts5ParserFinalize(tls *libc.TLS, p uintptr) { /* sqlite3.c:218202:13: */ +func sqlite3Fts5ParserFinalize(tls *libc.TLS, p uintptr) { /* sqlite3.c:218259:13: */ var pParser uintptr = p for (*Fts5yyParser)(unsafe.Pointer(pParser)).Ffts5yytos > pParser+16 { fts5yy_pop_parser_stack(tls, pParser) @@ -172740,7 +172771,7 @@ func sqlite3Fts5ParserFinalize(tls *libc.TLS, p uintptr) { /* sqlite3.c:218202:1 // If the fts5YYPARSEFREENEVERNULL macro exists (for example because it // 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) { /* sqlite3.c:218219:13: */ +func sqlite3Fts5ParserFree(tls *libc.TLS, p uintptr, freeProc uintptr) { /* sqlite3.c:218276:13: */ if p == uintptr(0) { return } @@ -172764,7 +172795,7 @@ func sqlite3Fts5ParserFree(tls *libc.TLS, p uintptr, freeProc uintptr) { /* sqli // Find the appropriate action for a parser given the terminal // look-ahead token iLookAhead. -func fts5yy_find_shift_action(tls *libc.TLS, iLookAhead uint8, stateno uint8) uint8 { /* sqlite3.c:218282:25: */ +func fts5yy_find_shift_action(tls *libc.TLS, iLookAhead uint8, stateno uint8) uint8 { /* sqlite3.c:218339:25: */ var i int32 if int32(stateno) > Fts5YY_MAX_SHIFT { @@ -172788,7 +172819,7 @@ func fts5yy_find_shift_action(tls *libc.TLS, iLookAhead uint8, stateno uint8) ui // Find the appropriate action for a parser given the non-terminal // look-ahead token iLookAhead. -func fts5yy_find_reduce_action(tls *libc.TLS, stateno uint8, iLookAhead uint8) uint8 { /* sqlite3.c:218347:25: */ +func fts5yy_find_reduce_action(tls *libc.TLS, stateno uint8, iLookAhead uint8) uint8 { /* sqlite3.c:218404:25: */ var i int32 i = int32(fts5yy_reduce_ofst[stateno]) @@ -172799,7 +172830,7 @@ func fts5yy_find_reduce_action(tls *libc.TLS, stateno uint8, iLookAhead uint8) u } // The following routine is called if the stack overflows. -func fts5yyStackOverflow(tls *libc.TLS, fts5yypParser uintptr) { /* sqlite3.c:218376:13: */ +func fts5yyStackOverflow(tls *libc.TLS, fts5yypParser uintptr) { /* sqlite3.c:218433:13: */ var pParse uintptr = (*Fts5yyParser)(unsafe.Pointer(fts5yypParser)).FpParse for (*Fts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yytos > fts5yypParser+16 { @@ -172818,7 +172849,7 @@ func fts5yyStackOverflow(tls *libc.TLS, fts5yypParser uintptr) { /* sqlite3.c:21 // Print tracing information for a SHIFT action // Perform a shift action. -func fts5yy_shift(tls *libc.TLS, fts5yypParser uintptr, fts5yyNewState uint8, fts5yyMajor uint8, fts5yyMinor Fts5Token) { /* sqlite3.c:218419:13: */ +func fts5yy_shift(tls *libc.TLS, fts5yypParser uintptr, fts5yyNewState uint8, fts5yyMajor uint8, fts5yyMinor Fts5Token) { /* sqlite3.c:218476:13: */ var fts5yytos uintptr (*Fts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yytos += 24 if (*Fts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yytos > (*Fts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yystackEnd { @@ -172867,7 +172898,7 @@ var fts5yyRuleInfoLhs = [28]uint8{ uint8(24), // (25) phrase ::= STRING star_opt uint8(26), // (26) star_opt ::= STAR uint8(26), // (27) star_opt ::= -} /* sqlite3.c:218460:29 */ +} /* sqlite3.c:218517:29 */ // For rule J, fts5yyRuleInfoNRhs[J] contains the negative of the number // of symbols on the right-hand side of that rule. @@ -172900,7 +172931,7 @@ var fts5yyRuleInfoNRhs = [28]int8{ int8(-2), // (25) phrase ::= STRING star_opt int8(-1), // (26) star_opt ::= STAR int8(0), // (27) star_opt ::= -} /* sqlite3.c:218493:26 */ +} /* sqlite3.c:218550:26 */ // Forward Declaration @@ -172912,7 +172943,7 @@ var fts5yyRuleInfoNRhs = [28]int8{ // if the lookahead token has already been consumed. As this procedure is // only called from one place, optimizing compilers will in-line it, which // means that the extra parameters have no performance impact. -func fts5yy_reduce(tls *libc.TLS, fts5yypParser uintptr, fts5yyruleno uint32, fts5yyLookahead int32, fts5yyLookaheadToken Fts5Token) uint8 { /* sqlite3.c:218536:25: */ +func fts5yy_reduce(tls *libc.TLS, fts5yypParser uintptr, fts5yyruleno uint32, fts5yyLookahead int32, fts5yyLookaheadToken Fts5Token) uint8 { /* sqlite3.c:218593:25: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -173122,7 +173153,7 @@ func fts5yy_reduce(tls *libc.TLS, fts5yypParser uintptr, fts5yyruleno uint32, ft // The following code executes when the parse fails // The following code executes when a syntax error first occurs. -func fts5yy_syntax_error(tls *libc.TLS, fts5yypParser uintptr, fts5yymajor int32, fts5yyminor Fts5Token) { /* sqlite3.c:218754:13: */ +func fts5yy_syntax_error(tls *libc.TLS, fts5yypParser uintptr, fts5yymajor int32, fts5yyminor Fts5Token) { /* sqlite3.c:218811:13: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -173139,7 +173170,7 @@ func fts5yy_syntax_error(tls *libc.TLS, fts5yypParser uintptr, fts5yymajor int32 } // The following is executed when the parser accepts -func fts5yy_accept(tls *libc.TLS, fts5yypParser uintptr) { /* sqlite3.c:218776:13: */ +func fts5yy_accept(tls *libc.TLS, fts5yypParser uintptr) { /* sqlite3.c:218833:13: */ var pParse uintptr = (*Fts5yyParser)(unsafe.Pointer(fts5yypParser)).FpParse // Here code is inserted which will be executed whenever the @@ -173168,7 +173199,7 @@ func fts5yy_accept(tls *libc.TLS, fts5yypParser uintptr) { /* sqlite3.c:218776:1 // // Outputs: // None. -func sqlite3Fts5Parser(tls *libc.TLS, fts5yyp uintptr, fts5yymajor int32, fts5yyminor Fts5Token, pParse uintptr) { /* sqlite3.c:218817:13: */ +func sqlite3Fts5Parser(tls *libc.TLS, fts5yyp uintptr, fts5yymajor int32, fts5yyminor Fts5Token, pParse uintptr) { /* sqlite3.c:218874:13: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -173223,7 +173254,7 @@ func sqlite3Fts5Parser(tls *libc.TLS, fts5yyp uintptr, fts5yymajor int32, fts5yy // Return the fallback token corresponding to canonical token iToken, or // 0 if iToken has no fallback. -func sqlite3Fts5ParserFallback(tls *libc.TLS, iToken int32) int32 { /* sqlite3.c:219034:12: */ +func sqlite3Fts5ParserFallback(tls *libc.TLS, iToken int32) int32 { /* sqlite3.c:219091:12: */ _ = iToken return 0 } @@ -173278,7 +173309,7 @@ type CInstIter1 = struct { FiStart int32 FiEnd int32 F__ccgo_pad1 [4]byte -} /* sqlite3.c:219080:9 */ +} /* sqlite3.c:219137:9 */ // 2014 May 31 // @@ -173321,11 +173352,11 @@ type CInstIter1 = struct { // printf("instance starts at %d, ends at %d\n", iter.iStart, iter.iEnd); // } // -type CInstIter = CInstIter1 /* sqlite3.c:219080:26 */ +type CInstIter = CInstIter1 /* sqlite3.c:219137:26 */ // Advance the iterator to the next coalesced phrase instance. Return // an SQLite error code if an error occurs, or SQLITE_OK otherwise. -func fts5CInstIterNext(tls *libc.TLS, pIter uintptr) int32 { /* sqlite3.c:219097:12: */ +func fts5CInstIterNext(tls *libc.TLS, pIter uintptr) int32 { /* sqlite3.c:219154:12: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -173368,7 +173399,7 @@ func fts5CInstIterNext(tls *libc.TLS, pIter uintptr) int32 { /* sqlite3.c:219097 // Initialize the iterator object indicated by the final parameter to // iterate through coalesced phrase instances in column iCol. -func fts5CInstIterInit(tls *libc.TLS, pApi uintptr, pFts uintptr, iCol int32, pIter uintptr) int32 { /* sqlite3.c:219128:12: */ +func fts5CInstIterInit(tls *libc.TLS, pApi uintptr, pFts uintptr, iCol int32, pIter uintptr) int32 { /* sqlite3.c:219185:12: */ var rc int32 libc.Xmemset(tls, pIter, 0, uint64(unsafe.Sizeof(CInstIter{}))) @@ -173401,12 +173432,12 @@ type HighlightContext1 = struct { FnIn int32 FiOff int32 FzOut uintptr -} /* sqlite3.c:219154:9 */ +} /* sqlite3.c:219211:9 */ // ************************************************************************ // // Start of highlight() implementation. -type HighlightContext = HighlightContext1 /* sqlite3.c:219154:33 */ +type HighlightContext = HighlightContext1 /* sqlite3.c:219211:33 */ // Append text to the HighlightContext output string - p->zOut. Argument // z points to a buffer containing n bytes of text to append. If n is @@ -173415,7 +173446,7 @@ type HighlightContext = HighlightContext1 /* sqlite3.c:219154:33 */ // If *pRc is set to any value other than SQLITE_OK when this function is // called, it is a no-op. If an error (i.e. an OOM condition) is encountered, // *pRc is set to an error code before returning. -func fts5HighlightAppend(tls *libc.TLS, pRc uintptr, p uintptr, z uintptr, n int32) { /* sqlite3.c:219177:13: */ +func fts5HighlightAppend(tls *libc.TLS, pRc uintptr, p uintptr, z uintptr, n int32) { /* sqlite3.c:219234:13: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -173431,7 +173462,7 @@ func fts5HighlightAppend(tls *libc.TLS, pRc uintptr, p uintptr, z uintptr, n int } // Tokenizer callback used by implementation of highlight() function. -func fts5HighlightCb(tls *libc.TLS, pContext uintptr, tflags int32, pToken uintptr, nToken int32, iStartOff int32, iEndOff int32) int32 { /* sqlite3.c:219192:12: */ +func fts5HighlightCb(tls *libc.TLS, pContext uintptr, tflags int32, pToken uintptr, nToken int32, iStartOff int32, iEndOff int32) int32 { /* sqlite3.c:219249:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -173486,7 +173517,7 @@ func fts5HighlightCb(tls *libc.TLS, pContext uintptr, tflags int32, pToken uintp } // Implementation of highlight() function. -func fts5HighlightFunction(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uintptr, nVal int32, apVal uintptr) { /* sqlite3.c:219246:13: */ +func fts5HighlightFunction(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uintptr, nVal int32, apVal uintptr) { /* sqlite3.c:219303:13: */ bp := tls.Alloc(100) defer tls.Free(100) @@ -173546,19 +173577,19 @@ type Fts5SFinder1 = struct { F__ccgo_pad1 [4]byte FaFirst uintptr FzDoc uintptr -} /* sqlite3.c:219295:9 */ +} /* sqlite3.c:219352:9 */ // // End of highlight() implementation. // // Context object passed to the fts5SentenceFinderCb() function. -type Fts5SFinder = Fts5SFinder1 /* sqlite3.c:219295:28 */ +type Fts5SFinder = Fts5SFinder1 /* sqlite3.c:219352:28 */ // Add an entry to the Fts5SFinder.aFirst[] array. Grow the array if // necessary. Return SQLITE_OK if successful, or SQLITE_NOMEM if an // error occurs. -func fts5SentenceFinderAdd(tls *libc.TLS, p uintptr, iAdd int32) int32 { /* sqlite3.c:219309:12: */ +func fts5SentenceFinderAdd(tls *libc.TLS, p uintptr, iAdd int32) int32 { /* sqlite3.c:219366:12: */ if (*Fts5SFinder)(unsafe.Pointer(p)).FnFirstAlloc == (*Fts5SFinder)(unsafe.Pointer(p)).FnFirst { var nNew int32 if (*Fts5SFinder)(unsafe.Pointer(p)).FnFirstAlloc != 0 { @@ -173582,7 +173613,7 @@ func fts5SentenceFinderAdd(tls *libc.TLS, p uintptr, iAdd int32) int32 { /* sqli // This function is an xTokenize() callback used by the auxiliary snippet() // function. Its job is to identify tokens that are the first in a sentence. // For each such token, an entry is added to the SFinder.aFirst[] array. -func fts5SentenceFinderCb(tls *libc.TLS, pContext uintptr, tflags int32, pToken uintptr, nToken int32, iStartOff int32, iEndOff int32) int32 { /* sqlite3.c:219328:12: */ +func fts5SentenceFinderCb(tls *libc.TLS, pContext uintptr, tflags int32, pToken uintptr, nToken int32, iStartOff int32, iEndOff int32) int32 { /* sqlite3.c:219385:12: */ var rc int32 = SQLITE_OK _ = pToken @@ -173611,7 +173642,7 @@ func fts5SentenceFinderCb(tls *libc.TLS, pContext uintptr, tflags int32, pToken return rc } -func fts5SnippetScore(tls *libc.TLS, pApi uintptr, pFts uintptr, nDocsize int32, aSeen uintptr, iCol int32, iPos int32, nToken int32, pnScore uintptr, piPos uintptr) int32 { /* sqlite3.c:219361:12: */ +func fts5SnippetScore(tls *libc.TLS, pApi uintptr, pFts uintptr, nDocsize int32, aSeen uintptr, iCol int32, iPos int32, nToken int32, pnScore uintptr, piPos uintptr) int32 { /* sqlite3.c:219418:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -173669,7 +173700,7 @@ func fts5SnippetScore(tls *libc.TLS, pApi uintptr, pFts uintptr, nDocsize int32, // Return the value in pVal interpreted as utf-8 text. Except, if pVal // contains a NULL value, return a pointer to a static string zero // bytes in length instead of a NULL pointer. -func fts5ValueToText(tls *libc.TLS, pVal uintptr) uintptr { /* sqlite3.c:219410:19: */ +func fts5ValueToText(tls *libc.TLS, pVal uintptr) uintptr { /* sqlite3.c:219467:19: */ var zRet uintptr = Xsqlite3_value_text(tls, pVal) if zRet != 0 { return zRet @@ -173678,7 +173709,7 @@ func fts5ValueToText(tls *libc.TLS, pVal uintptr) uintptr { /* sqlite3.c:219410: } // Implementation of snippet() function. -func fts5SnippetFunction(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uintptr, nVal int32, apVal uintptr) { /* sqlite3.c:219418:13: */ +func fts5SnippetFunction(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uintptr, nVal int32, apVal uintptr) { /* sqlite3.c:219475:13: */ bp := tls.Alloc(172) defer tls.Free(172) @@ -173893,17 +173924,17 @@ type Fts5Bm25Data1 = struct { Favgdl float64 FaIDF uintptr FaFreq uintptr -} /* sqlite3.c:219576:9 */ +} /* sqlite3.c:219633:9 */ //********************************************************************** // The first time the bm25() function is called for a query, an instance // of the following structure is allocated and populated. -type Fts5Bm25Data = Fts5Bm25Data1 /* sqlite3.c:219576:29 */ +type Fts5Bm25Data = Fts5Bm25Data1 /* sqlite3.c:219633:29 */ // Callback used by fts5Bm25GetData() to count the number of rows in the // table matched by each individual phrase within the query. -func fts5CountCb(tls *libc.TLS, pApi uintptr, pFts uintptr, pUserData uintptr) int32 { /* sqlite3.c:219588:12: */ +func fts5CountCb(tls *libc.TLS, pApi uintptr, pFts uintptr, pUserData uintptr) int32 { /* sqlite3.c:219645:12: */ var pn uintptr = pUserData _ = pApi _ = pFts @@ -173914,7 +173945,7 @@ func fts5CountCb(tls *libc.TLS, pApi uintptr, pFts uintptr, pUserData uintptr) i // Set *ppData to point to the Fts5Bm25Data object for the current query. // If the object has not already been allocated, allocate and populate it // now. -func fts5Bm25GetData(tls *libc.TLS, pApi uintptr, pFts uintptr, ppData uintptr) int32 { /* sqlite3.c:219604:12: */ +func fts5Bm25GetData(tls *libc.TLS, pApi uintptr, pFts uintptr, ppData uintptr) int32 { /* sqlite3.c:219661:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -174008,7 +174039,7 @@ func fts5Bm25GetData(tls *libc.TLS, pApi uintptr, pFts uintptr, ppData uintptr) } // Implementation of bm25() function. -func fts5Bm25Function(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uintptr, nVal int32, apVal uintptr) { /* sqlite3.c:219677:13: */ +func fts5Bm25Function(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uintptr, nVal int32, apVal uintptr) { /* sqlite3.c:219734:13: */ bp := tls.Alloc(28) defer tls.Free(28) @@ -174076,7 +174107,7 @@ func fts5Bm25Function(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uintptr, n } } -func sqlite3Fts5AuxInit(tls *libc.TLS, pApi uintptr) int32 { /* sqlite3.c:219733:12: */ +func sqlite3Fts5AuxInit(tls *libc.TLS, pApi uintptr) int32 { /* sqlite3.c:219790:12: */ bp := tls.Alloc(96) defer tls.Free(96) @@ -174112,7 +174143,7 @@ type Builtin = struct { FpUserData uintptr FxFunc Fts5_extension_function FxDestroy uintptr -} /* sqlite3.c:219734:3 */ +} /* sqlite3.c:219791:3 */ // 2014 May 31 // @@ -174127,7 +174158,7 @@ type Builtin = struct { // #include "fts5Int.h" -func sqlite3Fts5BufferSize(tls *libc.TLS, pRc uintptr, pBuf uintptr, nByte U32) int32 { /* sqlite3.c:219776:12: */ +func sqlite3Fts5BufferSize(tls *libc.TLS, pRc uintptr, pBuf uintptr, nByte U32) int32 { /* sqlite3.c:219833:12: */ if U32((*Fts5Buffer)(unsafe.Pointer(pBuf)).FnSpace) < nByte { var nNew U64 if (*Fts5Buffer)(unsafe.Pointer(pBuf)).FnSpace != 0 { @@ -174153,7 +174184,7 @@ func sqlite3Fts5BufferSize(tls *libc.TLS, pRc uintptr, pBuf uintptr, nByte U32) // Encode value iVal as an SQLite varint and append it to the buffer object // pBuf. If an OOM error occurs, set the error code in p. -func sqlite3Fts5BufferAppendVarint(tls *libc.TLS, pRc uintptr, pBuf uintptr, iVal I64) { /* sqlite3.c:219800:13: */ +func sqlite3Fts5BufferAppendVarint(tls *libc.TLS, pRc uintptr, pBuf uintptr, iVal I64) { /* sqlite3.c:219857:13: */ if func() int32 { if U32((*Fts5Buffer)(unsafe.Pointer(pBuf)).Fn)+U32(9) <= U32((*Fts5Buffer)(unsafe.Pointer(pBuf)).FnSpace) { return 0 @@ -174165,21 +174196,21 @@ func sqlite3Fts5BufferAppendVarint(tls *libc.TLS, pRc uintptr, pBuf uintptr, iVa *(*int32)(unsafe.Pointer(pBuf + 8)) += sqlite3Fts5PutVarint(tls, (*Fts5Buffer)(unsafe.Pointer(pBuf)).Fp+uintptr((*Fts5Buffer)(unsafe.Pointer(pBuf)).Fn), uint64(iVal)) } -func sqlite3Fts5Put32(tls *libc.TLS, aBuf uintptr, iVal int32) { /* sqlite3.c:219805:13: */ +func sqlite3Fts5Put32(tls *libc.TLS, aBuf uintptr, iVal int32) { /* sqlite3.c:219862:13: */ *(*U8)(unsafe.Pointer(aBuf)) = U8(iVal >> 24 & 0x00FF) *(*U8)(unsafe.Pointer(aBuf + 1)) = U8(iVal >> 16 & 0x00FF) *(*U8)(unsafe.Pointer(aBuf + 2)) = U8(iVal >> 8 & 0x00FF) *(*U8)(unsafe.Pointer(aBuf + 3)) = U8(iVal >> 0 & 0x00FF) } -func sqlite3Fts5Get32(tls *libc.TLS, aBuf uintptr) int32 { /* sqlite3.c:219812:12: */ +func sqlite3Fts5Get32(tls *libc.TLS, aBuf uintptr) int32 { /* sqlite3.c:219869:12: */ return int32(U32(*(*U8)(unsafe.Pointer(aBuf)))<<24 + U32(int32(*(*U8)(unsafe.Pointer(aBuf + 1)))<<16) + U32(int32(*(*U8)(unsafe.Pointer(aBuf + 2)))<<8) + U32(*(*U8)(unsafe.Pointer(aBuf + 3)))) } // Append buffer nData/pData to buffer pBuf. If an OOM error occurs, set // the error code in p. If an error has already occurred when this function // is called, it is a no-op. -func sqlite3Fts5BufferAppendBlob(tls *libc.TLS, pRc uintptr, pBuf uintptr, nData U32, pData uintptr) { /* sqlite3.c:219821:13: */ +func sqlite3Fts5BufferAppendBlob(tls *libc.TLS, pRc uintptr, pBuf uintptr, nData U32, pData uintptr) { /* sqlite3.c:219878:13: */ if nData != 0 { if func() int32 { if U32((*Fts5Buffer)(unsafe.Pointer(pBuf)).Fn)+nData <= U32((*Fts5Buffer)(unsafe.Pointer(pBuf)).FnSpace) { @@ -174197,7 +174228,7 @@ func sqlite3Fts5BufferAppendBlob(tls *libc.TLS, pRc uintptr, pBuf uintptr, nData // Append the nul-terminated string zStr to the buffer pBuf. This function // ensures that the byte following the buffer data is set to 0x00, even // though this byte is not included in the pBuf->n count. -func sqlite3Fts5BufferAppendString(tls *libc.TLS, pRc uintptr, pBuf uintptr, zStr uintptr) { /* sqlite3.c:219839:13: */ +func sqlite3Fts5BufferAppendString(tls *libc.TLS, pRc uintptr, pBuf uintptr, zStr uintptr) { /* sqlite3.c:219896:13: */ var nStr int32 = int32(libc.Xstrlen(tls, zStr)) sqlite3Fts5BufferAppendBlob(tls, pRc, pBuf, uint32(nStr+1), zStr) (*Fts5Buffer)(unsafe.Pointer(pBuf)).Fn-- @@ -174209,7 +174240,7 @@ func sqlite3Fts5BufferAppendString(tls *libc.TLS, pRc uintptr, pBuf uintptr, zSt // Like sqlite3Fts5BufferAppendString(), this function ensures that the byte // following the buffer data is set to 0x00, even though this byte is not // included in the pBuf->n count. -func sqlite3Fts5BufferAppendPrintf(tls *libc.TLS, pRc uintptr, pBuf uintptr, zFmt uintptr, va uintptr) { /* sqlite3.c:219857:13: */ +func sqlite3Fts5BufferAppendPrintf(tls *libc.TLS, pRc uintptr, pBuf uintptr, zFmt uintptr, va uintptr) { /* sqlite3.c:219914:13: */ if *(*int32)(unsafe.Pointer(pRc)) == SQLITE_OK { var zTmp uintptr var ap Va_list @@ -174227,7 +174258,7 @@ func sqlite3Fts5BufferAppendPrintf(tls *libc.TLS, pRc uintptr, pBuf uintptr, zFm } } -func sqlite3Fts5Mprintf(tls *libc.TLS, pRc uintptr, zFmt uintptr, va uintptr) uintptr { /* sqlite3.c:219878:13: */ +func sqlite3Fts5Mprintf(tls *libc.TLS, pRc uintptr, zFmt uintptr, va uintptr) uintptr { /* sqlite3.c:219935:13: */ var zRet uintptr = uintptr(0) if *(*int32)(unsafe.Pointer(pRc)) == SQLITE_OK { var ap Va_list @@ -174243,26 +174274,26 @@ func sqlite3Fts5Mprintf(tls *libc.TLS, pRc uintptr, zFmt uintptr, va uintptr) ui } // Free any buffer allocated by pBuf. Zero the structure before returning. -func sqlite3Fts5BufferFree(tls *libc.TLS, pBuf uintptr) { /* sqlite3.c:219896:13: */ +func sqlite3Fts5BufferFree(tls *libc.TLS, pBuf uintptr) { /* sqlite3.c:219953:13: */ Xsqlite3_free(tls, (*Fts5Buffer)(unsafe.Pointer(pBuf)).Fp) libc.Xmemset(tls, pBuf, 0, uint64(unsafe.Sizeof(Fts5Buffer{}))) } // Zero the contents of the buffer object. But do not free the associated // memory allocation. -func sqlite3Fts5BufferZero(tls *libc.TLS, pBuf uintptr) { /* sqlite3.c:219905:13: */ +func sqlite3Fts5BufferZero(tls *libc.TLS, pBuf uintptr) { /* sqlite3.c:219962:13: */ (*Fts5Buffer)(unsafe.Pointer(pBuf)).Fn = 0 } // Set the buffer to contain nData/pData. If an OOM error occurs, leave an // the error code in p. If an error has already occurred when this function // is called, it is a no-op. -func sqlite3Fts5BufferSet(tls *libc.TLS, pRc uintptr, pBuf uintptr, nData int32, pData uintptr) { /* sqlite3.c:219914:13: */ +func sqlite3Fts5BufferSet(tls *libc.TLS, pRc uintptr, pBuf uintptr, nData int32, pData uintptr) { /* sqlite3.c:219971:13: */ (*Fts5Buffer)(unsafe.Pointer(pBuf)).Fn = 0 sqlite3Fts5BufferAppendBlob(tls, pRc, pBuf, uint32(nData), pData) } -func sqlite3Fts5PoslistNext64(tls *libc.TLS, a uintptr, n int32, pi uintptr, piOff uintptr) int32 { /* sqlite3.c:219924:12: */ +func sqlite3Fts5PoslistNext64(tls *libc.TLS, a uintptr, n int32, pi uintptr, piOff uintptr) int32 { /* sqlite3.c:219981:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -174324,14 +174355,14 @@ func sqlite3Fts5PoslistNext64(tls *libc.TLS, a uintptr, n int32, pi uintptr, piO // Advance the iterator object passed as the only argument. Return true // if the iterator reaches EOF, or false otherwise. -func sqlite3Fts5PoslistReaderNext(tls *libc.TLS, pIter uintptr) int32 { /* sqlite3.c:219967:12: */ +func sqlite3Fts5PoslistReaderNext(tls *libc.TLS, pIter uintptr) int32 { /* sqlite3.c:220024:12: */ if sqlite3Fts5PoslistNext64(tls, (*Fts5PoslistReader)(unsafe.Pointer(pIter)).Fa, (*Fts5PoslistReader)(unsafe.Pointer(pIter)).Fn, pIter+12, pIter+24) != 0 { (*Fts5PoslistReader)(unsafe.Pointer(pIter)).FbEof = U8(1) } return int32((*Fts5PoslistReader)(unsafe.Pointer(pIter)).FbEof) } -func sqlite3Fts5PoslistReaderInit(tls *libc.TLS, a uintptr, n int32, pIter uintptr) int32 { /* sqlite3.c:219974:12: */ +func sqlite3Fts5PoslistReaderInit(tls *libc.TLS, a uintptr, n int32, pIter uintptr) int32 { /* sqlite3.c:220031:12: */ libc.Xmemset(tls, pIter, 0, uint64(unsafe.Sizeof(Fts5PoslistReader{}))) (*Fts5PoslistReader)(unsafe.Pointer(pIter)).Fa = a (*Fts5PoslistReader)(unsafe.Pointer(pIter)).Fn = n @@ -174343,7 +174374,7 @@ func sqlite3Fts5PoslistReaderInit(tls *libc.TLS, a uintptr, n int32, pIter uintp // pBuf, which must be already be large enough to hold the new data. // The previous position written to this list is *piPrev. *piPrev is set // to iPos before returning. -func sqlite3Fts5PoslistSafeAppend(tls *libc.TLS, pBuf uintptr, piPrev uintptr, iPos I64) { /* sqlite3.c:219991:13: */ +func sqlite3Fts5PoslistSafeAppend(tls *libc.TLS, pBuf uintptr, piPrev uintptr, iPos I64) { /* sqlite3.c:220048:13: */ if iPos >= *(*I64)(unsafe.Pointer(piPrev)) { if iPos&colmask != *(*I64)(unsafe.Pointer(piPrev))&colmask { *(*U8)(unsafe.Pointer((*Fts5Buffer)(unsafe.Pointer(pBuf)).Fp + uintptr(libc.PostIncInt32(&(*Fts5Buffer)(unsafe.Pointer(pBuf)).Fn, 1)))) = U8(1) @@ -174355,9 +174386,9 @@ func sqlite3Fts5PoslistSafeAppend(tls *libc.TLS, pBuf uintptr, piPrev uintptr, i } } -var colmask I64 = I64(int64(0x7FFFFFFF)) << 32 /* sqlite3.c:219997:22 */ +var colmask I64 = I64(int64(0x7FFFFFFF)) << 32 /* sqlite3.c:220054:22 */ -func sqlite3Fts5PoslistWriterAppend(tls *libc.TLS, pBuf uintptr, pWriter uintptr, iPos I64) int32 { /* sqlite3.c:220008:12: */ +func sqlite3Fts5PoslistWriterAppend(tls *libc.TLS, pBuf uintptr, pWriter uintptr, iPos I64) int32 { /* sqlite3.c:220065:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -174374,7 +174405,7 @@ func sqlite3Fts5PoslistWriterAppend(tls *libc.TLS, pBuf uintptr, pWriter uintptr return SQLITE_OK } -func sqlite3Fts5MallocZero(tls *libc.TLS, pRc uintptr, nByte Sqlite3_int64) uintptr { /* sqlite3.c:220019:13: */ +func sqlite3Fts5MallocZero(tls *libc.TLS, pRc uintptr, nByte Sqlite3_int64) uintptr { /* sqlite3.c:220076:13: */ var pRet uintptr = uintptr(0) if *(*int32)(unsafe.Pointer(pRc)) == SQLITE_OK { pRet = Xsqlite3_malloc64(tls, uint64(nByte)) @@ -174395,7 +174426,7 @@ func sqlite3Fts5MallocZero(tls *libc.TLS, pRc uintptr, nByte Sqlite3_int64) uint // // It is the responsibility of the caller to eventually free the returned // buffer using sqlite3_free(). If an OOM error occurs, NULL is returned. -func sqlite3Fts5Strndup(tls *libc.TLS, pRc uintptr, pIn uintptr, nIn int32) uintptr { /* sqlite3.c:220040:13: */ +func sqlite3Fts5Strndup(tls *libc.TLS, pRc uintptr, pIn uintptr, nIn int32) uintptr { /* sqlite3.c:220097:13: */ var zRet uintptr = uintptr(0) if *(*int32)(unsafe.Pointer(pRc)) == SQLITE_OK { if nIn < 0 { @@ -174420,7 +174451,7 @@ func sqlite3Fts5Strndup(tls *libc.TLS, pRc uintptr, pIn uintptr, nIn int32) uint // * The 10 integer ASCII characters. // * The underscore character "_" (0x5F). // * The unicode "subsitute" character (0x1A). -func sqlite3Fts5IsBareword(tls *libc.TLS, t int8) int32 { /* sqlite3.c:220068:12: */ +func sqlite3Fts5IsBareword(tls *libc.TLS, t int8) int32 { /* sqlite3.c:220125:12: */ bp := tls.Alloc(128) defer tls.Free(128) @@ -174445,13 +174476,13 @@ type Fts5TermsetEntry1 = struct { FnTerm int32 FiIdx int32 FpNext uintptr -} /* sqlite3.c:217037:9 */ +} /* sqlite3.c:217094:9 */ // ************************************************************************ // -type Fts5TermsetEntry = Fts5TermsetEntry1 /* sqlite3.c:220086:33 */ +type Fts5TermsetEntry = Fts5TermsetEntry1 /* sqlite3.c:220143:33 */ -func sqlite3Fts5TermsetNew(tls *libc.TLS, pp uintptr) int32 { /* sqlite3.c:220098:12: */ +func sqlite3Fts5TermsetNew(tls *libc.TLS, pp uintptr) int32 { /* sqlite3.c:220155:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -174460,7 +174491,7 @@ func sqlite3Fts5TermsetNew(tls *libc.TLS, pp uintptr) int32 { /* sqlite3.c:22009 return *(*int32)(unsafe.Pointer(bp /* rc */)) } -func sqlite3Fts5TermsetAdd(tls *libc.TLS, p uintptr, iIdx int32, pTerm uintptr, nTerm int32, pbPresent uintptr) int32 { /* sqlite3.c:220104:12: */ +func sqlite3Fts5TermsetAdd(tls *libc.TLS, p uintptr, iIdx int32, pTerm uintptr, nTerm int32, pbPresent uintptr) int32 { /* sqlite3.c:220161:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -174506,7 +174537,7 @@ func sqlite3Fts5TermsetAdd(tls *libc.TLS, p uintptr, iIdx int32, pTerm uintptr, return *(*int32)(unsafe.Pointer(bp /* rc */)) } -func sqlite3Fts5TermsetFree(tls *libc.TLS, p uintptr) { /* sqlite3.c:220153:13: */ +func sqlite3Fts5TermsetFree(tls *libc.TLS, p uintptr) { /* sqlite3.c:220210:13: */ if p != 0 { var i U32 for i = U32(0); i < U32(int32(uint64(unsafe.Sizeof([512]uintptr{}))/uint64(unsafe.Sizeof(uintptr(0))))); i++ { @@ -174538,18 +174569,18 @@ func sqlite3Fts5TermsetFree(tls *libc.TLS, p uintptr) { /* sqlite3.c:220153:13: // Maximum allowed page size -func fts5_iswhitespace(tls *libc.TLS, x int8) int32 { /* sqlite3.c:220195:12: */ +func fts5_iswhitespace(tls *libc.TLS, x int8) int32 { /* sqlite3.c:220252:12: */ return libc.Bool32(int32(x) == ' ') } -func fts5_isopenquote(tls *libc.TLS, x int8) int32 { /* sqlite3.c:220199:12: */ +func fts5_isopenquote(tls *libc.TLS, x int8) int32 { /* sqlite3.c:220256:12: */ return libc.Bool32(int32(x) == '"' || int32(x) == '\'' || int32(x) == '[' || int32(x) == '`') } // Argument pIn points to a character that is part of a nul-terminated // string. Return a pointer to the first character following *pIn in // the string that is not a white-space character. -func fts5ConfigSkipWhitespace(tls *libc.TLS, pIn uintptr) uintptr { /* sqlite3.c:220208:19: */ +func fts5ConfigSkipWhitespace(tls *libc.TLS, pIn uintptr) uintptr { /* sqlite3.c:220265:19: */ var p uintptr = pIn if p != 0 { for fts5_iswhitespace(tls, *(*int8)(unsafe.Pointer(p))) != 0 { @@ -174562,7 +174593,7 @@ func fts5ConfigSkipWhitespace(tls *libc.TLS, pIn uintptr) uintptr { /* sqlite3.c // Argument pIn points to a character that is part of a nul-terminated // string. Return a pointer to the first character following *pIn in // the string that is not a "bareword" character. -func fts5ConfigSkipBareword(tls *libc.TLS, pIn uintptr) uintptr { /* sqlite3.c:220221:19: */ +func fts5ConfigSkipBareword(tls *libc.TLS, pIn uintptr) uintptr { /* sqlite3.c:220278:19: */ var p uintptr = pIn for sqlite3Fts5IsBareword(tls, *(*int8)(unsafe.Pointer(p))) != 0 { p++ @@ -174573,11 +174604,11 @@ func fts5ConfigSkipBareword(tls *libc.TLS, pIn uintptr) uintptr { /* sqlite3.c:2 return p } -func fts5_isdigit(tls *libc.TLS, a int8) int32 { /* sqlite3.c:220228:12: */ +func fts5_isdigit(tls *libc.TLS, a int8) int32 { /* sqlite3.c:220285:12: */ return libc.Bool32(int32(a) >= '0' && int32(a) <= '9') } -func fts5ConfigSkipLiteral(tls *libc.TLS, pIn uintptr) uintptr { /* sqlite3.c:220234:19: */ +func fts5ConfigSkipLiteral(tls *libc.TLS, pIn uintptr) uintptr { /* sqlite3.c:220291:19: */ var p uintptr = pIn switch int32(*(*int8)(unsafe.Pointer(p))) { case 'n': @@ -174666,7 +174697,7 @@ func fts5ConfigSkipLiteral(tls *libc.TLS, pIn uintptr) uintptr { /* sqlite3.c:22 // the character immediately following it. Or, if the close-quote is not // found, -1 is returned. If -1 is returned, the buffer is left in an // undefined state. -func fts5Dequote(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:220310:12: */ +func fts5Dequote(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:220367:12: */ var q int8 var iIn int32 = 1 var iOut int32 = 0 @@ -174711,7 +174742,7 @@ func fts5Dequote(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:220310:12: */ // 'xyz' becomes xyz // [pqr] becomes pqr // `mno` becomes mno -func sqlite3Fts5Dequote(tls *libc.TLS, z uintptr) { /* sqlite3.c:220355:13: */ +func sqlite3Fts5Dequote(tls *libc.TLS, z uintptr) { /* sqlite3.c:220412:13: */ var quote int8 // Quote character (if any ) quote = *(*int8)(unsafe.Pointer(z)) @@ -174724,11 +174755,11 @@ type Fts5Enum1 = struct { FzName uintptr FeVal int32 F__ccgo_pad1 [4]byte -} /* sqlite3.c:220366:1 */ +} /* sqlite3.c:220423:1 */ -type Fts5Enum = Fts5Enum1 /* sqlite3.c:220370:25 */ +type Fts5Enum = Fts5Enum1 /* sqlite3.c:220427:25 */ -func fts5ConfigSetEnum(tls *libc.TLS, aEnum uintptr, zEnum uintptr, peVal uintptr) int32 { /* sqlite3.c:220372:12: */ +func fts5ConfigSetEnum(tls *libc.TLS, aEnum uintptr, zEnum uintptr, peVal uintptr) int32 { /* sqlite3.c:220429:12: */ var nEnum int32 = int32(libc.Xstrlen(tls, zEnum)) var i int32 var iVal int32 = -1 @@ -174756,7 +174787,7 @@ func fts5ConfigSetEnum(tls *libc.TLS, aEnum uintptr, zEnum uintptr, peVal uintpt // an error occurs, an SQLite error code is returned and an error message // may be left in *pzErr. It is the responsibility of the caller to // eventually free any such error message using sqlite3_free(). -func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCmd uintptr, zArg uintptr, pzErr uintptr) int32 { /* sqlite3.c:220401:12: */ +func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCmd uintptr, zArg uintptr, pzErr uintptr) int32 { /* sqlite3.c:220458:12: */ bp := tls.Alloc(112) defer tls.Free(112) @@ -174919,7 +174950,7 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm // Allocate an instance of the default tokenizer ("simple") at // Fts5Config.pTokenizer. Return SQLITE_OK if successful, or an SQLite error // code if an error occurs. -func fts5ConfigDefaultTokenizer(tls *libc.TLS, pGlobal uintptr, pConfig uintptr) int32 { /* sqlite3.c:220565:12: */ +func fts5ConfigDefaultTokenizer(tls *libc.TLS, pGlobal uintptr, pConfig uintptr) int32 { /* sqlite3.c:220622:12: */ return sqlite3Fts5GetTokenizer(tls, pGlobal, uintptr(0), 0, pConfig, uintptr(0)) } @@ -174937,7 +174968,7 @@ func fts5ConfigDefaultTokenizer(tls *libc.TLS, pGlobal uintptr, pConfig uintptr) // a no-op (NULL is returned). Otherwise, if an OOM occurs within this // function, *pRc is set to SQLITE_NOMEM before returning. *pRc is *not* // set if a parse error (failed to find close quote) occurs. -func fts5ConfigGobbleWord(tls *libc.TLS, pRc uintptr, zIn uintptr, pzOut uintptr, pbQuoted uintptr) uintptr { /* sqlite3.c:220585:19: */ +func fts5ConfigGobbleWord(tls *libc.TLS, pRc uintptr, zIn uintptr, pzOut uintptr, pbQuoted uintptr) uintptr { /* sqlite3.c:220642:19: */ var zRet uintptr = uintptr(0) var nIn Sqlite3_int64 = Sqlite3_int64(libc.Xstrlen(tls, zIn)) @@ -174971,7 +175002,7 @@ func fts5ConfigGobbleWord(tls *libc.TLS, pRc uintptr, zIn uintptr, pzOut uintptr return zRet } -func fts5ConfigParseColumn(tls *libc.TLS, p uintptr, zCol uintptr, zArg uintptr, pzErr uintptr) int32 { /* sqlite3.c:220625:12: */ +func fts5ConfigParseColumn(tls *libc.TLS, p uintptr, zCol uintptr, zArg uintptr, pzErr uintptr) int32 { /* sqlite3.c:220682:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -174994,7 +175025,7 @@ func fts5ConfigParseColumn(tls *libc.TLS, p uintptr, zCol uintptr, zArg uintptr, } // Populate the Fts5Config.zContentExprlist string. -func fts5ConfigMakeExprlist(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:220653:12: */ +func fts5ConfigMakeExprlist(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:220710:12: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -175027,7 +175058,7 @@ func fts5ConfigMakeExprlist(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:22065 // returned, *ppOut is set to NULL and an error message may be left in // *pzErr. It is the responsibility of the caller to eventually free any // such error message using sqlite3_free(). -func sqlite3Fts5ConfigParse(tls *libc.TLS, pGlobal uintptr, db uintptr, nArg int32, azArg uintptr, ppOut uintptr, pzErr uintptr) int32 { /* sqlite3.c:220686:12: */ +func sqlite3Fts5ConfigParse(tls *libc.TLS, pGlobal uintptr, db uintptr, nArg int32, azArg uintptr, ppOut uintptr, pzErr uintptr) int32 { /* sqlite3.c:220743:12: */ bp := tls.Alloc(76) defer tls.Free(76) @@ -175160,7 +175191,7 @@ func sqlite3Fts5ConfigParse(tls *libc.TLS, pGlobal uintptr, db uintptr, nArg int } // Free the configuration object passed as the only argument. -func sqlite3Fts5ConfigFree(tls *libc.TLS, pConfig uintptr) { /* sqlite3.c:220810:13: */ +func sqlite3Fts5ConfigFree(tls *libc.TLS, pConfig uintptr) { /* sqlite3.c:220867:13: */ if pConfig != 0 { var i int32 if (*Fts5Config)(unsafe.Pointer(pConfig)).FpTok != 0 { @@ -175185,7 +175216,7 @@ func sqlite3Fts5ConfigFree(tls *libc.TLS, pConfig uintptr) { /* sqlite3.c:220810 // Call sqlite3_declare_vtab() based on the contents of the configuration // object passed as the only argument. Return SQLITE_OK if successful, or // an SQLite error code if an error occurs. -func sqlite3Fts5ConfigDeclareVtab(tls *libc.TLS, pConfig uintptr) int32 { /* sqlite3.c:220837:12: */ +func sqlite3Fts5ConfigDeclareVtab(tls *libc.TLS, pConfig uintptr) int32 { /* sqlite3.c:220894:12: */ bp := tls.Alloc(52) defer tls.Free(52) @@ -175235,7 +175266,7 @@ func sqlite3Fts5ConfigDeclareVtab(tls *libc.TLS, pConfig uintptr) int32 { /* sql // still returns SQLITE_OK. Or, if the tokenization was abandoned early // 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) int32 { /* sqlite3.c:220883:12: */ +func sqlite3Fts5Tokenize(tls *libc.TLS, pConfig uintptr, flags int32, pText uintptr, nText int32, pCtx uintptr, xToken uintptr) int32 { /* sqlite3.c:220940:12: */ if pText == uintptr(0) { return SQLITE_OK } @@ -175249,7 +175280,7 @@ func sqlite3Fts5Tokenize(tls *libc.TLS, pConfig uintptr, flags int32, pText uint // a comma-separated list of SQL literals followed by a ')' character. // If it actually is this, return a pointer to the ')'. Otherwise, return // NULL to indicate a parse error. -func fts5ConfigSkipArgs(tls *libc.TLS, pIn uintptr) uintptr { /* sqlite3.c:220902:19: */ +func fts5ConfigSkipArgs(tls *libc.TLS, pIn uintptr) uintptr { /* sqlite3.c:220959:19: */ var p uintptr = pIn for 1 != 0 { @@ -175276,7 +175307,7 @@ func fts5ConfigSkipArgs(tls *libc.TLS, pIn uintptr) uintptr { /* sqlite3.c:22090 // + Open parenthesis - "(" // + Zero or more SQL literals in a comma separated list // + Close parenthesis - ")" -func sqlite3Fts5ConfigParseRank(tls *libc.TLS, zIn uintptr, pzRank uintptr, pzRankArgs uintptr) int32 { /* sqlite3.c:220929:12: */ +func sqlite3Fts5ConfigParseRank(tls *libc.TLS, zIn uintptr, pzRank uintptr, pzRankArgs uintptr) int32 { /* sqlite3.c:220986:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -175340,7 +175371,7 @@ func sqlite3Fts5ConfigParseRank(tls *libc.TLS, zIn uintptr, pzRank uintptr, pzRa return *(*int32)(unsafe.Pointer(bp /* rc */)) } -func sqlite3Fts5ConfigSetValue(tls *libc.TLS, pConfig uintptr, zKey uintptr, pVal uintptr, pbBadkey uintptr) int32 { /* sqlite3.c:220988:12: */ +func sqlite3Fts5ConfigSetValue(tls *libc.TLS, pConfig uintptr, zKey uintptr, pVal uintptr, pbBadkey uintptr) int32 { /* sqlite3.c:221045:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -175428,7 +175459,7 @@ func sqlite3Fts5ConfigSetValue(tls *libc.TLS, pConfig uintptr, zKey uintptr, pVa } // Load the contents of the %_config table into memory. -func sqlite3Fts5ConfigLoad(tls *libc.TLS, pConfig uintptr, iCookie int32) int32 { /* sqlite3.c:221082:12: */ +func sqlite3Fts5ConfigLoad(tls *libc.TLS, pConfig uintptr, iCookie int32) int32 { /* sqlite3.c:221139:12: */ bp := tls.Alloc(52) defer tls.Free(52) @@ -175505,7 +175536,7 @@ type Fts5ExprTerm1 = struct { FzTerm uintptr FpIter uintptr FpSynonym uintptr -} /* sqlite3.c:216813:9 */ +} /* sqlite3.c:216870:9 */ // 2014 May 31 // @@ -175524,9 +175555,9 @@ type Fts5ExprTerm1 = struct { // All token types in the generated fts5parse.h file are greater than 0. -type Fts5ExprTerm = Fts5ExprTerm1 /* sqlite3.c:221160:29 */ +type Fts5ExprTerm = Fts5ExprTerm1 /* sqlite3.c:221217:29 */ -func sqlite3Fts5ParseError(tls *libc.TLS, pParse uintptr, zFmt uintptr, va uintptr) { /* sqlite3.c:221267:13: */ +func sqlite3Fts5ParseError(tls *libc.TLS, pParse uintptr, zFmt uintptr, va uintptr) { /* sqlite3.c:221324:13: */ var ap Va_list _ = ap ap = va @@ -175538,12 +175569,12 @@ func sqlite3Fts5ParseError(tls *libc.TLS, pParse uintptr, zFmt uintptr, va uintp _ = ap } -func fts5ExprIsspace(tls *libc.TLS, t int8) int32 { /* sqlite3.c:221278:12: */ +func fts5ExprIsspace(tls *libc.TLS, t int8) int32 { /* sqlite3.c:221335:12: */ return libc.Bool32(int32(t) == ' ' || int32(t) == '\t' || int32(t) == '\n' || int32(t) == '\r') } // Read the first token from the nul-terminated string at *pz. -func fts5ExprGetToken(tls *libc.TLS, pParse uintptr, pz uintptr, pToken uintptr) int32 { /* sqlite3.c:221285:12: */ +func fts5ExprGetToken(tls *libc.TLS, pParse uintptr, pz uintptr, pToken uintptr) int32 { /* sqlite3.c:221342:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -175643,15 +175674,15 @@ func fts5ExprGetToken(tls *libc.TLS, pParse uintptr, pz uintptr, pToken uintptr) return tok } -func fts5ParseAlloc(tls *libc.TLS, t U64) uintptr { /* sqlite3.c:221349:13: */ +func fts5ParseAlloc(tls *libc.TLS, t U64) uintptr { /* sqlite3.c:221406:13: */ return Xsqlite3_malloc64(tls, uint64(Sqlite3_int64(t))) } -func fts5ParseFree(tls *libc.TLS, p uintptr) { /* sqlite3.c:221350:13: */ +func fts5ParseFree(tls *libc.TLS, p uintptr) { /* sqlite3.c:221407:13: */ Xsqlite3_free(tls, p) } -func sqlite3Fts5ExprNew(tls *libc.TLS, pConfig uintptr, bPhraseToAnd int32, iCol int32, zExpr uintptr, ppNew uintptr, pzErr uintptr) int32 { /* sqlite3.c:221352:12: */ +func sqlite3Fts5ExprNew(tls *libc.TLS, pConfig uintptr, bPhraseToAnd int32, iCol int32, zExpr uintptr, ppNew uintptr, pzErr uintptr) int32 { /* sqlite3.c:221409:12: */ bp := tls.Alloc(72) defer tls.Free(72) @@ -175729,7 +175760,7 @@ func sqlite3Fts5ExprNew(tls *libc.TLS, pConfig uintptr, bPhraseToAnd int32, iCol // expression that will match a superset of the rows matched by the LIKE or // GLOB. If successful, SQLITE_OK is returned. Otherwise, an SQLite error // code. -func sqlite3Fts5ExprPattern(tls *libc.TLS, pConfig uintptr, bGlob int32, iCol int32, zText uintptr, pp uintptr) int32 { /* sqlite3.c:221433:12: */ +func sqlite3Fts5ExprPattern(tls *libc.TLS, pConfig uintptr, bGlob int32, iCol int32, zText uintptr, pp uintptr) int32 { /* sqlite3.c:221490:12: */ bp := tls.Alloc(3) defer tls.Free(3) @@ -175804,7 +175835,7 @@ func sqlite3Fts5ExprPattern(tls *libc.TLS, pConfig uintptr, bGlob int32, iCol in } // Free the expression node object passed as the only argument. -func sqlite3Fts5ParseNodeFree(tls *libc.TLS, p uintptr) { /* sqlite3.c:221503:13: */ +func sqlite3Fts5ParseNodeFree(tls *libc.TLS, p uintptr) { /* sqlite3.c:221560:13: */ if p != 0 { var i int32 for i = 0; i < (*Fts5ExprNode)(unsafe.Pointer(p)).FnChild; i++ { @@ -175816,7 +175847,7 @@ func sqlite3Fts5ParseNodeFree(tls *libc.TLS, p uintptr) { /* sqlite3.c:221503:13 } // Free the expression object passed as the only argument. -func sqlite3Fts5ExprFree(tls *libc.TLS, p uintptr) { /* sqlite3.c:221517:13: */ +func sqlite3Fts5ExprFree(tls *libc.TLS, p uintptr) { /* sqlite3.c:221574:13: */ if p != 0 { sqlite3Fts5ParseNodeFree(tls, (*Fts5Expr)(unsafe.Pointer(p)).FpRoot) Xsqlite3_free(tls, (*Fts5Expr)(unsafe.Pointer(p)).FapExprPhrase) @@ -175824,7 +175855,7 @@ func sqlite3Fts5ExprFree(tls *libc.TLS, p uintptr) { /* sqlite3.c:221517:13: */ } } -func sqlite3Fts5ExprAnd(tls *libc.TLS, pp1 uintptr, p2 uintptr) int32 { /* sqlite3.c:221525:12: */ +func sqlite3Fts5ExprAnd(tls *libc.TLS, pp1 uintptr, p2 uintptr) int32 { /* sqlite3.c:221582:12: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -175865,7 +175896,7 @@ func sqlite3Fts5ExprAnd(tls *libc.TLS, pp1 uintptr, p2 uintptr) int32 { /* sqlit // Argument pTerm must be a synonym iterator. Return the current rowid // that it points to. -func fts5ExprSynonymRowid(tls *libc.TLS, pTerm uintptr, bDesc int32, pbEof uintptr) I64 { /* sqlite3.c:221565:12: */ +func fts5ExprSynonymRowid(tls *libc.TLS, pTerm uintptr, bDesc int32, pbEof uintptr) I64 { /* sqlite3.c:221622:12: */ var iRet I64 = int64(0) var bRetValid int32 = 0 var p uintptr @@ -175887,7 +175918,7 @@ func fts5ExprSynonymRowid(tls *libc.TLS, pTerm uintptr, bDesc int32, pbEof uintp } // Argument pTerm must be a synonym iterator. -func fts5ExprSynonymList(tls *libc.TLS, pTerm uintptr, iRowid I64, pBuf uintptr, pa uintptr, pn uintptr) int32 { /* sqlite3.c:221590:12: */ +func fts5ExprSynonymList(tls *libc.TLS, pTerm uintptr, iRowid I64, pBuf uintptr, pa uintptr, pn uintptr) int32 { /* sqlite3.c:221647:12: */ bp := tls.Alloc(136) defer tls.Free(136) @@ -176051,7 +176082,7 @@ __22: // SQLITE_OK is returned if an error occurs, or an SQLite error code // otherwise. It is not considered an error code if the current rowid is // not a match. -func fts5ExprPhraseIsMatch(tls *libc.TLS, pNode uintptr, pPhrase uintptr, pbMatch uintptr) int32 { /* sqlite3.c:221673:12: */ +func fts5ExprPhraseIsMatch(tls *libc.TLS, pNode uintptr, pPhrase uintptr, pbMatch uintptr) int32 { /* sqlite3.c:221730:12: */ bp := tls.Alloc(168) defer tls.Free(168) @@ -176276,11 +176307,11 @@ type Fts5LookaheadReader1 = struct { Fi int32 FiPos I64 FiLookahead I64 -} /* sqlite3.c:221757:9 */ +} /* sqlite3.c:221814:9 */ -type Fts5LookaheadReader = Fts5LookaheadReader1 /* sqlite3.c:221757:36 */ +type Fts5LookaheadReader = Fts5LookaheadReader1 /* sqlite3.c:221814:36 */ -func fts5LookaheadReaderNext(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:221768:12: */ +func fts5LookaheadReaderNext(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:221825:12: */ (*Fts5LookaheadReader)(unsafe.Pointer(p)).FiPos = (*Fts5LookaheadReader)(unsafe.Pointer(p)).FiLookahead if sqlite3Fts5PoslistNext64(tls, (*Fts5LookaheadReader)(unsafe.Pointer(p)).Fa, (*Fts5LookaheadReader)(unsafe.Pointer(p)).Fn, p+12, p+24) != 0 { (*Fts5LookaheadReader)(unsafe.Pointer(p)).FiLookahead = I64(int64(1)) << 62 @@ -176288,7 +176319,7 @@ func fts5LookaheadReaderNext(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:2217 return libc.Bool32((*Fts5LookaheadReader)(unsafe.Pointer(p)).FiPos == I64(int64(1))<<62) } -func fts5LookaheadReaderInit(tls *libc.TLS, a uintptr, n int32, p uintptr) int32 { /* sqlite3.c:221776:12: */ +func fts5LookaheadReaderInit(tls *libc.TLS, a uintptr, n int32, p uintptr) int32 { /* sqlite3.c:221833:12: */ libc.Xmemset(tls, p, 0, uint64(unsafe.Sizeof(Fts5LookaheadReader{}))) (*Fts5LookaheadReader)(unsafe.Pointer(p)).Fa = a (*Fts5LookaheadReader)(unsafe.Pointer(p)).Fn = n @@ -176300,9 +176331,9 @@ type Fts5NearTrimmer1 = struct { Freader Fts5LookaheadReader Fwriter Fts5PoslistWriter FpOut uintptr -} /* sqlite3.c:221787:9 */ +} /* sqlite3.c:221844:9 */ -type Fts5NearTrimmer = Fts5NearTrimmer1 /* sqlite3.c:221787:32 */ +type Fts5NearTrimmer = Fts5NearTrimmer1 /* sqlite3.c:221844:32 */ // The near-set object passed as the first argument contains more than // one phrase. All phrases currently point to the same row. The @@ -176319,7 +176350,7 @@ type Fts5NearTrimmer = Fts5NearTrimmer1 /* sqlite3.c:221787:32 */ // If no error occurs and non-zero (a match) is returned, the position-list // of each phrase object is edited to contain only those entries that // meet the constraint before returning. -func fts5ExprNearIsMatch(tls *libc.TLS, pRc uintptr, pNear uintptr) int32 { /* sqlite3.c:221811:12: */ +func fts5ExprNearIsMatch(tls *libc.TLS, pRc uintptr, pNear uintptr) int32 { /* sqlite3.c:221868:12: */ bp := tls.Alloc(196) defer tls.Free(196) @@ -176521,7 +176552,7 @@ __29: // If the iterator reaches EOF, set *pbEof to true before returning. If // an error occurs, set *pRc to an error code. If either *pbEof or *pRc // are set, return a non-zero value. Otherwise, return zero. -func fts5ExprAdvanceto(tls *libc.TLS, pIter uintptr, bDesc int32, piLast uintptr, pRc uintptr, pbEof uintptr) int32 { /* sqlite3.c:221910:12: */ +func fts5ExprAdvanceto(tls *libc.TLS, pIter uintptr, bDesc int32, piLast uintptr, pRc uintptr, pbEof uintptr) int32 { /* sqlite3.c:221967:12: */ var iLast I64 = *(*I64)(unsafe.Pointer(piLast)) var iRowid I64 @@ -176541,7 +176572,7 @@ func fts5ExprAdvanceto(tls *libc.TLS, pIter uintptr, bDesc int32, piLast uintptr return 0 } -func fts5ExprSynonymAdvanceto(tls *libc.TLS, pTerm uintptr, bDesc int32, piLast uintptr, pRc uintptr) int32 { /* sqlite3.c:221936:12: */ +func fts5ExprSynonymAdvanceto(tls *libc.TLS, pTerm uintptr, bDesc int32, piLast uintptr, pRc uintptr) int32 { /* sqlite3.c:221993:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -176568,7 +176599,7 @@ func fts5ExprSynonymAdvanceto(tls *libc.TLS, pTerm uintptr, bDesc int32, piLast return *(*int32)(unsafe.Pointer(bp /* bEof */)) } -func fts5ExprNearTest(tls *libc.TLS, pRc uintptr, pExpr uintptr, pNode uintptr) int32 { /* sqlite3.c:221966:12: */ +func fts5ExprNearTest(tls *libc.TLS, pRc uintptr, pExpr uintptr, pNode uintptr) int32 { /* sqlite3.c:222023:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -176625,7 +176656,7 @@ func fts5ExprNearTest(tls *libc.TLS, pRc uintptr, pExpr uintptr, pNode uintptr) // If an error occurs, return an SQLite error code. Otherwise, return // SQLITE_OK. It is not considered an error if some term matches zero // documents. -func fts5ExprNearInitAll(tls *libc.TLS, pExpr uintptr, pNode uintptr) int32 { /* sqlite3.c:222025:12: */ +func fts5ExprNearInitAll(tls *libc.TLS, pExpr uintptr, pNode uintptr) int32 { /* sqlite3.c:222082:12: */ var pNear uintptr = (*Fts5ExprNode)(unsafe.Pointer(pNode)).FpNear var i int32 @@ -176691,7 +176722,7 @@ func fts5ExprNearInitAll(tls *libc.TLS, pExpr uintptr, pNode uintptr) int32 { /* // Otherwise, if this is a DESC iterator, the opposite is returned: // // (iRhs - iLhs) -func fts5RowidCmp(tls *libc.TLS, pExpr uintptr, iLhs I64, iRhs I64) int32 { /* sqlite3.c:222087:12: */ +func fts5RowidCmp(tls *libc.TLS, pExpr uintptr, iLhs I64, iRhs I64) int32 { /* sqlite3.c:222144:12: */ if (*Fts5Expr)(unsafe.Pointer(pExpr)).FbDesc == 0 { if iLhs < iRhs { @@ -176707,7 +176738,7 @@ func fts5RowidCmp(tls *libc.TLS, pExpr uintptr, iLhs I64, iRhs I64) int32 { /* s return int32(0) } -func fts5ExprSetEof(tls *libc.TLS, pNode uintptr) { /* sqlite3.c:222102:13: */ +func fts5ExprSetEof(tls *libc.TLS, pNode uintptr) { /* sqlite3.c:222159:13: */ var i int32 (*Fts5ExprNode)(unsafe.Pointer(pNode)).FbEof = 1 (*Fts5ExprNode)(unsafe.Pointer(pNode)).FbNomatch = 0 @@ -176716,7 +176747,7 @@ func fts5ExprSetEof(tls *libc.TLS, pNode uintptr) { /* sqlite3.c:222102:13: */ } } -func fts5ExprNodeZeroPoslist(tls *libc.TLS, pNode uintptr) { /* sqlite3.c:222111:13: */ +func fts5ExprNodeZeroPoslist(tls *libc.TLS, pNode uintptr) { /* sqlite3.c:222168:13: */ if (*Fts5ExprNode)(unsafe.Pointer(pNode)).FeType == FTS5_STRING || (*Fts5ExprNode)(unsafe.Pointer(pNode)).FeType == FTS5_TERM { var pNear uintptr = (*Fts5ExprNode)(unsafe.Pointer(pNode)).FpNear var i int32 @@ -176742,7 +176773,7 @@ func fts5ExprNodeZeroPoslist(tls *libc.TLS, pNode uintptr) { /* sqlite3.c:222111 // This means that if the iteration order is ASC, then numerically larger // rowids are considered larger. Or if it is the default DESC, numerically // smaller rowids are larger. -func fts5NodeCompare(tls *libc.TLS, pExpr uintptr, p1 uintptr, p2 uintptr) int32 { /* sqlite3.c:222141:12: */ +func fts5NodeCompare(tls *libc.TLS, pExpr uintptr, p1 uintptr, p2 uintptr) int32 { /* sqlite3.c:222198:12: */ if (*Fts5ExprNode)(unsafe.Pointer(p2)).FbEof != 0 { return -1 } @@ -176761,7 +176792,7 @@ func fts5NodeCompare(tls *libc.TLS, pExpr uintptr, p1 uintptr, p2 uintptr) int32 // SQLITE_OK is returned if an error occurs, or an SQLite error code // otherwise. It is not considered an error code if an iterator reaches // EOF. -func fts5ExprNodeTest_STRING(tls *libc.TLS, pExpr uintptr, pNode uintptr) int32 { /* sqlite3.c:222162:12: */ +func fts5ExprNodeTest_STRING(tls *libc.TLS, pExpr uintptr, pNode uintptr) int32 { /* sqlite3.c:222219:12: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -176829,7 +176860,7 @@ func fts5ExprNodeTest_STRING(tls *libc.TLS, pExpr uintptr, pNode uintptr) int32 // // Return SQLITE_OK if successful, or an SQLite error code if an error // occurs. -func fts5ExprNodeNext_STRING(tls *libc.TLS, pExpr uintptr, pNode uintptr, bFromValid int32, iFrom I64) int32 { /* sqlite3.c:222232:12: */ +func fts5ExprNodeNext_STRING(tls *libc.TLS, pExpr uintptr, pNode uintptr, bFromValid int32, iFrom I64) int32 { /* sqlite3.c:222289:12: */ var pTerm uintptr = *(*uintptr)(unsafe.Pointer((*Fts5ExprNode)(unsafe.Pointer(pNode)).FpNear + 24)) + 32 var rc int32 = SQLITE_OK @@ -176888,7 +176919,7 @@ func fts5ExprNodeNext_STRING(tls *libc.TLS, pExpr uintptr, pNode uintptr, bFromV return rc } -func fts5ExprNodeTest_TERM(tls *libc.TLS, pExpr uintptr, pNode uintptr) int32 { /* sqlite3.c:222297:12: */ +func fts5ExprNodeTest_TERM(tls *libc.TLS, pExpr uintptr, pNode uintptr) int32 { /* sqlite3.c:222354:12: */ // As this "NEAR" object is actually a single phrase that consists // of a single term only, grab pointers into the poslist managed by the // fts5_index.c iterator object. This is much faster than synthesizing @@ -176907,7 +176938,7 @@ func fts5ExprNodeTest_TERM(tls *libc.TLS, pExpr uintptr, pNode uintptr) int32 { } // xNext() method for a node of type FTS5_TERM. -func fts5ExprNodeNext_TERM(tls *libc.TLS, pExpr uintptr, pNode uintptr, bFromValid int32, iFrom I64) int32 { /* sqlite3.c:222325:12: */ +func fts5ExprNodeNext_TERM(tls *libc.TLS, pExpr uintptr, pNode uintptr, bFromValid int32, iFrom I64) int32 { /* sqlite3.c:222382:12: */ var rc int32 var pIter uintptr = (*Fts5ExprTerm)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer((*Fts5ExprNode)(unsafe.Pointer(pNode)).FpNear + 24)) + 32)).FpIter @@ -176925,7 +176956,7 @@ func fts5ExprNodeNext_TERM(tls *libc.TLS, pExpr uintptr, pNode uintptr, bFromVal return rc } -func fts5ExprNodeTest_OR(tls *libc.TLS, pExpr uintptr, pNode uintptr) { /* sqlite3.c:222349:13: */ +func fts5ExprNodeTest_OR(tls *libc.TLS, pExpr uintptr, pNode uintptr) { /* sqlite3.c:222406:13: */ var pNext uintptr = *(*uintptr)(unsafe.Pointer(pNode + 48)) var i int32 @@ -176941,7 +176972,7 @@ func fts5ExprNodeTest_OR(tls *libc.TLS, pExpr uintptr, pNode uintptr) { /* sqlit (*Fts5ExprNode)(unsafe.Pointer(pNode)).FbNomatch = (*Fts5ExprNode)(unsafe.Pointer(pNext)).FbNomatch } -func fts5ExprNodeNext_OR(tls *libc.TLS, pExpr uintptr, pNode uintptr, bFromValid int32, iFrom I64) int32 { /* sqlite3.c:222368:12: */ +func fts5ExprNodeNext_OR(tls *libc.TLS, pExpr uintptr, pNode uintptr, bFromValid int32, iFrom I64) int32 { /* sqlite3.c:222425:12: */ var i int32 var iLast I64 = (*Fts5ExprNode)(unsafe.Pointer(pNode)).FiRowid @@ -176967,7 +176998,7 @@ func fts5ExprNodeNext_OR(tls *libc.TLS, pExpr uintptr, pNode uintptr, bFromValid } // Argument pNode is an FTS5_AND node. -func fts5ExprNodeTest_AND(tls *libc.TLS, pExpr uintptr, pAnd uintptr) int32 { /* sqlite3.c:222400:12: */ +func fts5ExprNodeTest_AND(tls *libc.TLS, pExpr uintptr, pAnd uintptr) int32 { /* sqlite3.c:222457:12: */ var iChild int32 var iLast I64 = (*Fts5ExprNode)(unsafe.Pointer(pAnd)).FiRowid var rc int32 = SQLITE_OK @@ -177017,7 +177048,7 @@ func fts5ExprNodeTest_AND(tls *libc.TLS, pExpr uintptr, pAnd uintptr) int32 { /* return SQLITE_OK } -func fts5ExprNodeNext_AND(tls *libc.TLS, pExpr uintptr, pNode uintptr, bFromValid int32, iFrom I64) int32 { /* sqlite3.c:222452:12: */ +func fts5ExprNodeNext_AND(tls *libc.TLS, pExpr uintptr, pNode uintptr, bFromValid int32, iFrom I64) int32 { /* sqlite3.c:222509:12: */ var rc int32 = (*struct { f func(*libc.TLS, uintptr, uintptr, int32, I64) int32 })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExprNode)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pNode + 48 /* &.apChild */)))).FxNext})).f(tls, pExpr, *(*uintptr)(unsafe.Pointer(pNode + 48 /* &.apChild */)), bFromValid, iFrom) @@ -177029,7 +177060,7 @@ func fts5ExprNodeNext_AND(tls *libc.TLS, pExpr uintptr, pNode uintptr, bFromVali return rc } -func fts5ExprNodeTest_NOT(tls *libc.TLS, pExpr uintptr, pNode uintptr) int32 { /* sqlite3.c:222467:12: */ +func fts5ExprNodeTest_NOT(tls *libc.TLS, pExpr uintptr, pNode uintptr) int32 { /* sqlite3.c:222524:12: */ var rc int32 = SQLITE_OK var p1 uintptr = *(*uintptr)(unsafe.Pointer(pNode + 48)) var p2 uintptr = *(*uintptr)(unsafe.Pointer(pNode + 48 + 1*8)) @@ -177059,7 +177090,7 @@ func fts5ExprNodeTest_NOT(tls *libc.TLS, pExpr uintptr, pNode uintptr) int32 { / return rc } -func fts5ExprNodeNext_NOT(tls *libc.TLS, pExpr uintptr, pNode uintptr, bFromValid int32, iFrom I64) int32 { /* sqlite3.c:222495:12: */ +func fts5ExprNodeNext_NOT(tls *libc.TLS, pExpr uintptr, pNode uintptr, bFromValid int32, iFrom I64) int32 { /* sqlite3.c:222552:12: */ var rc int32 = (*struct { f func(*libc.TLS, uintptr, uintptr, int32, I64) int32 })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExprNode)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pNode + 48 /* &.apChild */)))).FxNext})).f(tls, pExpr, *(*uintptr)(unsafe.Pointer(pNode + 48 /* &.apChild */)), bFromValid, iFrom) @@ -177075,7 +177106,7 @@ func fts5ExprNodeNext_NOT(tls *libc.TLS, pExpr uintptr, pNode uintptr, bFromVali // If pNode currently points to a match, this function returns SQLITE_OK // without modifying it. Otherwise, pNode is advanced until it does point // to a match or EOF is reached. -func fts5ExprNodeTest(tls *libc.TLS, pExpr uintptr, pNode uintptr) int32 { /* sqlite3.c:222516:12: */ +func fts5ExprNodeTest(tls *libc.TLS, pExpr uintptr, pNode uintptr) int32 { /* sqlite3.c:222573:12: */ var rc int32 = SQLITE_OK if (*Fts5ExprNode)(unsafe.Pointer(pNode)).FbEof == 0 { switch (*Fts5ExprNode)(unsafe.Pointer(pNode)).FeType { @@ -177128,7 +177159,7 @@ func fts5ExprNodeTest(tls *libc.TLS, pExpr uintptr, pNode uintptr) int32 { /* sq // // Return an SQLite error code if an error occurs, or SQLITE_OK otherwise. // It is not an error if there are no matches. -func fts5ExprNodeFirst(tls *libc.TLS, pExpr uintptr, pNode uintptr) int32 { /* sqlite3.c:222561:12: */ +func fts5ExprNodeFirst(tls *libc.TLS, pExpr uintptr, pNode uintptr) int32 { /* sqlite3.c:222618:12: */ var rc int32 = SQLITE_OK (*Fts5ExprNode)(unsafe.Pointer(pNode)).FbEof = 0 (*Fts5ExprNode)(unsafe.Pointer(pNode)).FbNomatch = 0 @@ -177190,7 +177221,7 @@ func fts5ExprNodeFirst(tls *libc.TLS, pExpr uintptr, pNode uintptr) int32 { /* s // // Return SQLITE_OK if successful, or an SQLite error code otherwise. It // is not considered an error if the query does not match any documents. -func sqlite3Fts5ExprFirst(tls *libc.TLS, p uintptr, pIdx uintptr, iFirst I64, bDesc int32) int32 { /* sqlite3.c:222620:12: */ +func sqlite3Fts5ExprFirst(tls *libc.TLS, p uintptr, pIdx uintptr, iFirst I64, bDesc int32) int32 { /* sqlite3.c:222677:12: */ var pRoot uintptr = (*Fts5Expr)(unsafe.Pointer(p)).FpRoot var rc int32 // Return code @@ -177222,7 +177253,7 @@ func sqlite3Fts5ExprFirst(tls *libc.TLS, p uintptr, pIdx uintptr, iFirst I64, bD // // Return SQLITE_OK if successful, or an SQLite error code otherwise. It // is not considered an error if the query does not match any documents. -func sqlite3Fts5ExprNext(tls *libc.TLS, p uintptr, iLast I64) int32 { /* sqlite3.c:222651:12: */ +func sqlite3Fts5ExprNext(tls *libc.TLS, p uintptr, iLast I64) int32 { /* sqlite3.c:222708:12: */ var rc int32 var pRoot uintptr = (*Fts5Expr)(unsafe.Pointer(p)).FpRoot @@ -177238,15 +177269,15 @@ func sqlite3Fts5ExprNext(tls *libc.TLS, p uintptr, iLast I64) int32 { /* sqlite3 return rc } -func sqlite3Fts5ExprEof(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:222665:12: */ +func sqlite3Fts5ExprEof(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:222722:12: */ return (*Fts5ExprNode)(unsafe.Pointer((*Fts5Expr)(unsafe.Pointer(p)).FpRoot)).FbEof } -func sqlite3Fts5ExprRowid(tls *libc.TLS, p uintptr) I64 { /* sqlite3.c:222669:12: */ +func sqlite3Fts5ExprRowid(tls *libc.TLS, p uintptr) I64 { /* sqlite3.c:222726:12: */ return (*Fts5ExprNode)(unsafe.Pointer((*Fts5Expr)(unsafe.Pointer(p)).FpRoot)).FiRowid } -func fts5ParseStringFromToken(tls *libc.TLS, pToken uintptr, pz uintptr) int32 { /* sqlite3.c:222673:12: */ +func fts5ParseStringFromToken(tls *libc.TLS, pToken uintptr, pz uintptr) int32 { /* sqlite3.c:222730:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -177256,7 +177287,7 @@ func fts5ParseStringFromToken(tls *libc.TLS, pToken uintptr, pz uintptr) int32 { } // Free the phrase object passed as the only argument. -func fts5ExprPhraseFree(tls *libc.TLS, pPhrase uintptr) { /* sqlite3.c:222682:13: */ +func fts5ExprPhraseFree(tls *libc.TLS, pPhrase uintptr) { /* sqlite3.c:222739:13: */ if pPhrase != 0 { var i int32 for i = 0; i < (*Fts5ExprPhrase)(unsafe.Pointer(pPhrase)).FnTerm; i++ { @@ -177281,7 +177312,7 @@ func fts5ExprPhraseFree(tls *libc.TLS, pPhrase uintptr) { /* sqlite3.c:222682:13 // Set the "bFirst" flag on the first token of the phrase passed as the // only argument. -func sqlite3Fts5ParseSetCaret(tls *libc.TLS, pPhrase uintptr) { /* sqlite3.c:222707:13: */ +func sqlite3Fts5ParseSetCaret(tls *libc.TLS, pPhrase uintptr) { /* sqlite3.c:222764:13: */ if pPhrase != 0 && (*Fts5ExprPhrase)(unsafe.Pointer(pPhrase)).FnTerm != 0 { (*Fts5ExprTerm)(unsafe.Pointer(pPhrase + 32)).FbFirst = U8(1) } @@ -177293,7 +177324,7 @@ func sqlite3Fts5ParseSetCaret(tls *libc.TLS, pPhrase uintptr) { /* sqlite3.c:222 // // If an OOM error occurs, both the pNear and pPhrase objects are freed and // NULL returned. -func sqlite3Fts5ParseNearset(tls *libc.TLS, pParse uintptr, pNear uintptr, pPhrase uintptr) uintptr { /* sqlite3.c:222721:24: */ +func sqlite3Fts5ParseNearset(tls *libc.TLS, pParse uintptr, pNear uintptr, pPhrase uintptr) uintptr { /* sqlite3.c:222778:24: */ var SZALLOC int32 = 8 var pRet uintptr = uintptr(0) @@ -177353,12 +177384,12 @@ type TokenCtx1 = struct { FpPhrase uintptr Frc int32 F__ccgo_pad1 [4]byte -} /* sqlite3.c:222781:9 */ +} /* sqlite3.c:222838:9 */ -type TokenCtx = TokenCtx1 /* sqlite3.c:222781:25 */ +type TokenCtx = TokenCtx1 /* sqlite3.c:222838:25 */ // Callback for tokenizing terms used by ParseTerm(). -func fts5ParseTokenize(tls *libc.TLS, pContext uintptr, tflags int32, pToken uintptr, nToken int32, iUnused1 int32, iUnused2 int32) int32 { /* sqlite3.c:222790:12: */ +func fts5ParseTokenize(tls *libc.TLS, pContext uintptr, tflags int32, pToken uintptr, nToken int32, iUnused1 int32, iUnused2 int32) int32 { /* sqlite3.c:222847:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -177427,12 +177458,12 @@ func fts5ParseTokenize(tls *libc.TLS, pContext uintptr, tflags int32, pToken uin } // Free the phrase object passed as the only argument. -func sqlite3Fts5ParsePhraseFree(tls *libc.TLS, pPhrase uintptr) { /* sqlite3.c:222855:13: */ +func sqlite3Fts5ParsePhraseFree(tls *libc.TLS, pPhrase uintptr) { /* sqlite3.c:222912:13: */ fts5ExprPhraseFree(tls, pPhrase) } // Free the phrase object passed as the second argument. -func sqlite3Fts5ParseNearsetFree(tls *libc.TLS, pNear uintptr) { /* sqlite3.c:222862:13: */ +func sqlite3Fts5ParseNearsetFree(tls *libc.TLS, pNear uintptr) { /* sqlite3.c:222919:13: */ if pNear != 0 { var i int32 for i = 0; i < (*Fts5ExprNearset)(unsafe.Pointer(pNear)).FnPhrase; i++ { @@ -177443,12 +177474,12 @@ func sqlite3Fts5ParseNearsetFree(tls *libc.TLS, pNear uintptr) { /* sqlite3.c:22 } } -func sqlite3Fts5ParseFinished(tls *libc.TLS, pParse uintptr, p uintptr) { /* sqlite3.c:222873:13: */ +func sqlite3Fts5ParseFinished(tls *libc.TLS, pParse uintptr, p uintptr) { /* sqlite3.c:222930:13: */ (*Fts5Parse)(unsafe.Pointer(pParse)).FpExpr = p } -func parseGrowPhraseArray(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:222878:12: */ +func parseGrowPhraseArray(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:222935:12: */ if (*Fts5Parse)(unsafe.Pointer(pParse)).FnPhrase%8 == 0 { var nByte Sqlite3_int64 = Sqlite3_int64(uint64(unsafe.Sizeof(uintptr(0))) * uint64((*Fts5Parse)(unsafe.Pointer(pParse)).FnPhrase+8)) var apNew uintptr @@ -177465,7 +177496,7 @@ func parseGrowPhraseArray(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:22 // This function is called by the parser to process a string token. The // string may or may not be quoted. In any case it is tokenized and a // phrase object consisting of all tokens returned. -func sqlite3Fts5ParseTerm(tls *libc.TLS, pParse uintptr, pAppend uintptr, pToken uintptr, bPrefix int32) uintptr { /* sqlite3.c:222897:23: */ +func sqlite3Fts5ParseTerm(tls *libc.TLS, pParse uintptr, pAppend uintptr, pToken uintptr, bPrefix int32) uintptr { /* sqlite3.c:222954:23: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -177523,7 +177554,7 @@ func sqlite3Fts5ParseTerm(tls *libc.TLS, pParse uintptr, pAppend uintptr, pToken // Create a new FTS5 expression by cloning phrase iPhrase of the // expression passed as the second argument. -func sqlite3Fts5ExprClonePhrase(tls *libc.TLS, pExpr uintptr, iPhrase int32, ppNew uintptr) int32 { /* sqlite3.c:222951:12: */ +func sqlite3Fts5ExprClonePhrase(tls *libc.TLS, pExpr uintptr, iPhrase int32, ppNew uintptr) int32 { /* sqlite3.c:223008:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -177618,7 +177649,7 @@ func sqlite3Fts5ExprClonePhrase(tls *libc.TLS, pExpr uintptr, iPhrase int32, ppN // Token pTok has appeared in a MATCH expression where the NEAR operator // is expected. If token pTok does not contain "NEAR", store an error // in the pParse object. -func sqlite3Fts5ParseNear(tls *libc.TLS, pParse uintptr, pTok uintptr) { /* sqlite3.c:223047:13: */ +func sqlite3Fts5ParseNear(tls *libc.TLS, pParse uintptr, pTok uintptr) { /* sqlite3.c:223104:13: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -177628,7 +177659,7 @@ func sqlite3Fts5ParseNear(tls *libc.TLS, pParse uintptr, pTok uintptr) { /* sqli } } -func sqlite3Fts5ParseSetDistance(tls *libc.TLS, pParse uintptr, pNear uintptr, p uintptr) { /* sqlite3.c:223055:13: */ +func sqlite3Fts5ParseSetDistance(tls *libc.TLS, pParse uintptr, pNear uintptr, p uintptr) { /* sqlite3.c:223112:13: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -177659,7 +177690,7 @@ func sqlite3Fts5ParseSetDistance(tls *libc.TLS, pParse uintptr, pNear uintptr, p // // If an OOM error occurs, store an error code in pParse and return NULL. // The old colset object (if any) is not freed in this case. -func fts5ParseColset(tls *libc.TLS, pParse uintptr, p uintptr, iCol int32) uintptr { /* sqlite3.c:223090:19: */ +func fts5ParseColset(tls *libc.TLS, pParse uintptr, p uintptr, iCol int32) uintptr { /* sqlite3.c:223147:19: */ var nCol int32 if p != 0 { nCol = (*Fts5Colset)(unsafe.Pointer(p)).FnCol @@ -177697,7 +177728,7 @@ func fts5ParseColset(tls *libc.TLS, pParse uintptr, p uintptr, iCol int32) uintp // Allocate and return an Fts5Colset object specifying the inverse of // the colset passed as the second argument. Free the colset passed // as the second argument before returning. -func sqlite3Fts5ParseColsetInvert(tls *libc.TLS, pParse uintptr, p uintptr) uintptr { /* sqlite3.c:223131:19: */ +func sqlite3Fts5ParseColsetInvert(tls *libc.TLS, pParse uintptr, p uintptr) uintptr { /* sqlite3.c:223188:19: */ var pRet uintptr var nCol int32 = (*Fts5Config)(unsafe.Pointer((*Fts5Parse)(unsafe.Pointer(pParse)).FpConfig)).FnCol @@ -177719,7 +177750,7 @@ func sqlite3Fts5ParseColsetInvert(tls *libc.TLS, pParse uintptr, p uintptr) uint return pRet } -func sqlite3Fts5ParseColset(tls *libc.TLS, pParse uintptr, pColset uintptr, p uintptr) uintptr { /* sqlite3.c:223154:19: */ +func sqlite3Fts5ParseColset(tls *libc.TLS, pParse uintptr, pColset uintptr, p uintptr) uintptr { /* sqlite3.c:223211:19: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -177758,7 +177789,7 @@ func sqlite3Fts5ParseColset(tls *libc.TLS, pParse uintptr, pColset uintptr, p ui // Otherwise, a copy of (*pOrig) is made into memory obtained from // sqlite3Fts5MallocZero() and a pointer to it returned. If the allocation // fails, (*pRc) is set to SQLITE_NOMEM and NULL is returned. -func fts5CloneColset(tls *libc.TLS, pRc uintptr, pOrig uintptr) uintptr { /* sqlite3.c:223194:19: */ +func fts5CloneColset(tls *libc.TLS, pRc uintptr, pOrig uintptr) uintptr { /* sqlite3.c:223251:19: */ var pRet uintptr if pOrig != 0 { var nByte Sqlite3_int64 = Sqlite3_int64(uint64(unsafe.Sizeof(Fts5Colset{})) + uint64((*Fts5Colset)(unsafe.Pointer(pOrig)).FnCol-1)*uint64(unsafe.Sizeof(int32(0)))) @@ -177773,7 +177804,7 @@ func fts5CloneColset(tls *libc.TLS, pRc uintptr, pOrig uintptr) uintptr { /* sql } // Remove from colset pColset any columns that are not also in colset pMerge. -func fts5MergeColset(tls *libc.TLS, pColset uintptr, pMerge uintptr) { /* sqlite3.c:223211:13: */ +func fts5MergeColset(tls *libc.TLS, pColset uintptr, pMerge uintptr) { /* sqlite3.c:223268:13: */ var iIn int32 = 0 // Next input in pColset var iMerge int32 = 0 // Next input in pMerge var iOut int32 = 0 // Next output slot in pColset @@ -177797,7 +177828,7 @@ func fts5MergeColset(tls *libc.TLS, pColset uintptr, pMerge uintptr) { /* sqlite // its decendents. If (*ppFree) is not NULL, it contains a spare copy // of pColset. This function may use the spare copy and set (*ppFree) to // zero, or it may create copies of pColset using fts5CloneColset(). -func fts5ParseSetColset(tls *libc.TLS, pParse uintptr, pNode uintptr, pColset uintptr, ppFree uintptr) { /* sqlite3.c:223237:13: */ +func fts5ParseSetColset(tls *libc.TLS, pParse uintptr, pNode uintptr, pColset uintptr, ppFree uintptr) { /* sqlite3.c:223294:13: */ if (*Fts5Parse)(unsafe.Pointer(pParse)).Frc == SQLITE_OK { if (*Fts5ExprNode)(unsafe.Pointer(pNode)).FeType == FTS5_STRING || (*Fts5ExprNode)(unsafe.Pointer(pNode)).FeType == FTS5_TERM { @@ -177825,7 +177856,7 @@ func fts5ParseSetColset(tls *libc.TLS, pParse uintptr, pNode uintptr, pColset ui } // Apply colset pColset to expression node pExpr and all of its descendents. -func sqlite3Fts5ParseSetColset(tls *libc.TLS, pParse uintptr, pExpr uintptr, pColset uintptr) { /* sqlite3.c:223275:13: */ +func sqlite3Fts5ParseSetColset(tls *libc.TLS, pParse uintptr, pExpr uintptr, pColset uintptr) { /* sqlite3.c:223332:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -177839,7 +177870,7 @@ func sqlite3Fts5ParseSetColset(tls *libc.TLS, pParse uintptr, pExpr uintptr, pCo Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp /* pFree */))) } -func fts5ExprAssignXNext(tls *libc.TLS, pNode uintptr) { /* sqlite3.c:223291:13: */ +func fts5ExprAssignXNext(tls *libc.TLS, pNode uintptr) { /* sqlite3.c:223348:13: */ switch (*Fts5ExprNode)(unsafe.Pointer(pNode)).FeType { case FTS5_STRING: { @@ -177890,7 +177921,7 @@ func fts5ExprAssignXNext(tls *libc.TLS, pNode uintptr) { /* sqlite3.c:223291:13: } } -func fts5ExprAddChildren(tls *libc.TLS, p uintptr, pSub uintptr) { /* sqlite3.c:223324:13: */ +func fts5ExprAddChildren(tls *libc.TLS, p uintptr, pSub uintptr) { /* sqlite3.c:223381:13: */ if (*Fts5ExprNode)(unsafe.Pointer(p)).FeType != FTS5_NOT && (*Fts5ExprNode)(unsafe.Pointer(pSub)).FeType == (*Fts5ExprNode)(unsafe.Pointer(p)).FeType { var nByte int32 = int32(uint64(unsafe.Sizeof(uintptr(0))) * uint64((*Fts5ExprNode)(unsafe.Pointer(pSub)).FnChild)) libc.Xmemcpy(tls, p+48+uintptr((*Fts5ExprNode)(unsafe.Pointer(p)).FnChild)*8, pSub+48, uint64(nByte)) @@ -177910,7 +177941,7 @@ func fts5ExprAddChildren(tls *libc.TLS, p uintptr, pSub uintptr) { /* sqlite3.c: // into an AND tree: // // abc AND def AND ghi -func fts5ParsePhraseToAnd(tls *libc.TLS, pParse uintptr, pNear uintptr) uintptr { /* sqlite3.c:223346:21: */ +func fts5ParsePhraseToAnd(tls *libc.TLS, pParse uintptr, pNear uintptr) uintptr { /* sqlite3.c:223403:21: */ var nTerm int32 = (*Fts5ExprPhrase)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pNear + 24)))).FnTerm var ii int32 var nByte int32 @@ -177953,7 +177984,7 @@ func fts5ParsePhraseToAnd(tls *libc.TLS, pParse uintptr, pNear uintptr) uintptr // Allocate and return a new expression object. If anything goes wrong (i.e. // OOM error), leave an error code in pParse and return NULL. -func sqlite3Fts5ParseNode(tls *libc.TLS, pParse uintptr, eType int32, pLeft uintptr, pRight uintptr, pNear uintptr) uintptr { /* sqlite3.c:223400:21: */ +func sqlite3Fts5ParseNode(tls *libc.TLS, pParse uintptr, eType int32, pLeft uintptr, pRight uintptr, pNear uintptr) uintptr { /* sqlite3.c:223457:21: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -178041,7 +178072,7 @@ func sqlite3Fts5ParseNode(tls *libc.TLS, pParse uintptr, eType int32, pLeft uint return pRet } -func sqlite3Fts5ParseImplicitAnd(tls *libc.TLS, pParse uintptr, pLeft uintptr, pRight uintptr) uintptr { /* sqlite3.c:223482:21: */ +func sqlite3Fts5ParseImplicitAnd(tls *libc.TLS, pParse uintptr, pLeft uintptr, pRight uintptr) uintptr { /* sqlite3.c:223539:21: */ var pRet uintptr = uintptr(0) var pPrev uintptr @@ -178087,7 +178118,7 @@ func sqlite3Fts5ParseImplicitAnd(tls *libc.TLS, pParse uintptr, pLeft uintptr, p // This is called during initialization to register the fts5_expr() scalar // UDF with the SQLite handle passed as the only argument. -func sqlite3Fts5ExprInit(tls *libc.TLS, pGlobal uintptr, db uintptr) int32 { /* sqlite3.c:223919:12: */ +func sqlite3Fts5ExprInit(tls *libc.TLS, pGlobal uintptr, db uintptr) int32 { /* sqlite3.c:223976:12: */ var rc int32 = SQLITE_OK _ = pGlobal _ = db @@ -178100,7 +178131,7 @@ func sqlite3Fts5ExprInit(tls *libc.TLS, pGlobal uintptr, db uintptr) int32 { /* } // Return the number of phrases in expression pExpr. -func sqlite3Fts5ExprPhraseCount(tls *libc.TLS, pExpr uintptr) int32 { /* sqlite3.c:223956:12: */ +func sqlite3Fts5ExprPhraseCount(tls *libc.TLS, pExpr uintptr) int32 { /* sqlite3.c:224013:12: */ return func() int32 { if pExpr != 0 { return (*Fts5Expr)(unsafe.Pointer(pExpr)).FnPhrase @@ -178110,7 +178141,7 @@ func sqlite3Fts5ExprPhraseCount(tls *libc.TLS, pExpr uintptr) int32 { /* sqlite3 } // Return the number of terms in the iPhrase'th phrase in pExpr. -func sqlite3Fts5ExprPhraseSize(tls *libc.TLS, pExpr uintptr, iPhrase int32) int32 { /* sqlite3.c:223963:12: */ +func sqlite3Fts5ExprPhraseSize(tls *libc.TLS, pExpr uintptr, iPhrase int32) int32 { /* sqlite3.c:224020:12: */ if iPhrase < 0 || iPhrase >= (*Fts5Expr)(unsafe.Pointer(pExpr)).FnPhrase { return 0 } @@ -178119,7 +178150,7 @@ func sqlite3Fts5ExprPhraseSize(tls *libc.TLS, pExpr uintptr, iPhrase int32) int3 // This function is used to access the current position list for phrase // iPhrase. -func sqlite3Fts5ExprPoslist(tls *libc.TLS, pExpr uintptr, iPhrase int32, pa uintptr) int32 { /* sqlite3.c:223972:12: */ +func sqlite3Fts5ExprPoslist(tls *libc.TLS, pExpr uintptr, iPhrase int32, pa uintptr) int32 { /* sqlite3.c:224029:12: */ var nRet int32 var pPhrase uintptr = *(*uintptr)(unsafe.Pointer((*Fts5Expr)(unsafe.Pointer(pExpr)).FapExprPhrase + uintptr(iPhrase)*8)) var pNode uintptr = (*Fts5ExprPhrase)(unsafe.Pointer(pPhrase)).FpNode @@ -178140,7 +178171,7 @@ func sqlite3Fts5ExprPoslist(tls *libc.TLS, pExpr uintptr, iPhrase int32, pa uint // At present this function is only used for detail=col and detail=none // fts5 tables. This implies that all phrases must be at most 1 token // in size, as phrase matches are not supported without detail=full. -func sqlite3Fts5ExprClearPoslists(tls *libc.TLS, pExpr uintptr, bLive int32) uintptr { /* sqlite3.c:224001:29: */ +func sqlite3Fts5ExprClearPoslists(tls *libc.TLS, pExpr uintptr, bLive int32) uintptr { /* sqlite3.c:224058:29: */ var pRet uintptr pRet = Xsqlite3_malloc64(tls, uint64(uint64(unsafe.Sizeof(Fts5PoslistPopulator{}))*uint64((*Fts5Expr)(unsafe.Pointer(pExpr)).FnPhrase))) if pRet != 0 { @@ -178164,12 +178195,12 @@ type Fts5ExprCtx1 = struct { FpExpr uintptr FaPopulator uintptr FiOff I64 -} /* sqlite3.c:224023:1 */ +} /* sqlite3.c:224080:1 */ -type Fts5ExprCtx = Fts5ExprCtx1 /* sqlite3.c:224028:28 */ +type Fts5ExprCtx = Fts5ExprCtx1 /* sqlite3.c:224085:28 */ // TODO: Make this more efficient! -func fts5ExprColsetTest(tls *libc.TLS, pColset uintptr, iCol int32) int32 { /* sqlite3.c:224033:12: */ +func fts5ExprColsetTest(tls *libc.TLS, pColset uintptr, iCol int32) int32 { /* sqlite3.c:224090:12: */ var i int32 for i = 0; i < (*Fts5Colset)(unsafe.Pointer(pColset)).FnCol; i++ { if *(*int32)(unsafe.Pointer(pColset + 4 + uintptr(i)*4)) == iCol { @@ -178179,7 +178210,7 @@ func fts5ExprColsetTest(tls *libc.TLS, pColset uintptr, iCol int32) int32 { /* s return 0 } -func fts5ExprPopulatePoslistsCb(tls *libc.TLS, pCtx uintptr, tflags int32, pToken uintptr, nToken int32, iUnused1 int32, iUnused2 int32) int32 { /* sqlite3.c:224041:12: */ +func fts5ExprPopulatePoslistsCb(tls *libc.TLS, pCtx uintptr, tflags int32, pToken uintptr, nToken int32, iUnused1 int32, iUnused2 int32) int32 { /* sqlite3.c:224098:12: */ var p uintptr = pCtx var pExpr uintptr = (*Fts5ExprCtx)(unsafe.Pointer(p)).FpExpr var i int32 @@ -178214,7 +178245,7 @@ func fts5ExprPopulatePoslistsCb(tls *libc.TLS, pCtx uintptr, tflags int32, pToke return SQLITE_OK } -func sqlite3Fts5ExprPopulatePoslists(tls *libc.TLS, pConfig uintptr, pExpr uintptr, aPopulator uintptr, iCol int32, z uintptr, n int32) int32 { /* sqlite3.c:224076:12: */ +func sqlite3Fts5ExprPopulatePoslists(tls *libc.TLS, pConfig uintptr, pExpr uintptr, aPopulator uintptr, iCol int32, z uintptr, n int32) int32 { /* sqlite3.c:224133:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -178242,7 +178273,7 @@ func sqlite3Fts5ExprPopulatePoslists(tls *libc.TLS, pConfig uintptr, pExpr uintp }{fts5ExprPopulatePoslistsCb}))) } -func fts5ExprClearPoslists(tls *libc.TLS, pNode uintptr) { /* sqlite3.c:224106:13: */ +func fts5ExprClearPoslists(tls *libc.TLS, pNode uintptr) { /* sqlite3.c:224163:13: */ if (*Fts5ExprNode)(unsafe.Pointer(pNode)).FeType == FTS5_TERM || (*Fts5ExprNode)(unsafe.Pointer(pNode)).FeType == FTS5_STRING { (*Fts5ExprPhrase)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer((*Fts5ExprNode)(unsafe.Pointer(pNode)).FpNear + 24)))).Fposlist.Fn = 0 } else { @@ -178253,7 +178284,7 @@ func fts5ExprClearPoslists(tls *libc.TLS, pNode uintptr) { /* sqlite3.c:224106:1 } } -func fts5ExprCheckPoslists(tls *libc.TLS, pNode uintptr, iRowid I64) int32 { /* sqlite3.c:224117:12: */ +func fts5ExprCheckPoslists(tls *libc.TLS, pNode uintptr, iRowid I64) int32 { /* sqlite3.c:224174:12: */ (*Fts5ExprNode)(unsafe.Pointer(pNode)).FiRowid = iRowid (*Fts5ExprNode)(unsafe.Pointer(pNode)).FbEof = 0 switch (*Fts5ExprNode)(unsafe.Pointer(pNode)).FeType { @@ -178303,12 +178334,12 @@ func fts5ExprCheckPoslists(tls *libc.TLS, pNode uintptr, iRowid I64) int32 { /* return 1 } -func sqlite3Fts5ExprCheckPoslists(tls *libc.TLS, pExpr uintptr, iRowid I64) { /* sqlite3.c:224161:13: */ +func sqlite3Fts5ExprCheckPoslists(tls *libc.TLS, pExpr uintptr, iRowid I64) { /* sqlite3.c:224218:13: */ fts5ExprCheckPoslists(tls, (*Fts5Expr)(unsafe.Pointer(pExpr)).FpRoot, iRowid) } // This function is only called for detail=columns tables. -func sqlite3Fts5ExprPhraseCollist(tls *libc.TLS, pExpr uintptr, iPhrase int32, ppCollist uintptr, pnCollist uintptr) int32 { /* sqlite3.c:224168:12: */ +func sqlite3Fts5ExprPhraseCollist(tls *libc.TLS, pExpr uintptr, iPhrase int32, ppCollist uintptr, pnCollist uintptr) int32 { /* sqlite3.c:224225:12: */ var pPhrase uintptr = *(*uintptr)(unsafe.Pointer((*Fts5Expr)(unsafe.Pointer(pExpr)).FapExprPhrase + uintptr(iPhrase)*8)) var pNode uintptr = (*Fts5ExprPhrase)(unsafe.Pointer(pPhrase)).FpNode var rc int32 = SQLITE_OK @@ -178359,7 +178390,7 @@ type Fts5HashEntry1 = struct { FiCol I16 FiPos int32 FiRowid I64 -} /* sqlite3.c:216813:9 */ +} /* sqlite3.c:216870:9 */ // 2014 August 11 // @@ -178375,14 +178406,14 @@ type Fts5HashEntry1 = struct { // #include "fts5Int.h" -type Fts5HashEntry = Fts5HashEntry1 /* sqlite3.c:224221:30 */ +type Fts5HashEntry = Fts5HashEntry1 /* sqlite3.c:224278:30 */ // Eqivalent to: // // char *fts5EntryKey(Fts5HashEntry *pEntry){ return zKey; } // Allocate a new hash table. -func sqlite3Fts5HashNew(tls *libc.TLS, pConfig uintptr, ppNew uintptr, pnByte uintptr) int32 { /* sqlite3.c:224287:12: */ +func sqlite3Fts5HashNew(tls *libc.TLS, pConfig uintptr, ppNew uintptr, pnByte uintptr) int32 { /* sqlite3.c:224344:12: */ var rc int32 = SQLITE_OK var pNew uintptr @@ -178410,7 +178441,7 @@ func sqlite3Fts5HashNew(tls *libc.TLS, pConfig uintptr, ppNew uintptr, pnByte ui } // Free a hash table object. -func sqlite3Fts5HashFree(tls *libc.TLS, pHash uintptr) { /* sqlite3.c:224317:13: */ +func sqlite3Fts5HashFree(tls *libc.TLS, pHash uintptr) { /* sqlite3.c:224374:13: */ if pHash != 0 { sqlite3Fts5HashClear(tls, pHash) Xsqlite3_free(tls, (*Fts5Hash)(unsafe.Pointer(pHash)).FaSlot) @@ -178419,7 +178450,7 @@ func sqlite3Fts5HashFree(tls *libc.TLS, pHash uintptr) { /* sqlite3.c:224317:13: } // Empty (but do not delete) a hash table. -func sqlite3Fts5HashClear(tls *libc.TLS, pHash uintptr) { /* sqlite3.c:224328:13: */ +func sqlite3Fts5HashClear(tls *libc.TLS, pHash uintptr) { /* sqlite3.c:224385:13: */ var i int32 for i = 0; i < (*Fts5Hash)(unsafe.Pointer(pHash)).FnSlot; i++ { var pNext uintptr @@ -178433,7 +178464,7 @@ func sqlite3Fts5HashClear(tls *libc.TLS, pHash uintptr) { /* sqlite3.c:224328:13 (*Fts5Hash)(unsafe.Pointer(pHash)).FnEntry = 0 } -func fts5HashKey(tls *libc.TLS, nSlot int32, p uintptr, n int32) uint32 { /* sqlite3.c:224342:21: */ +func fts5HashKey(tls *libc.TLS, nSlot int32, p uintptr, n int32) uint32 { /* sqlite3.c:224399:21: */ var i int32 var h uint32 = uint32(13) for i = n - 1; i >= 0; i-- { @@ -178442,7 +178473,7 @@ func fts5HashKey(tls *libc.TLS, nSlot int32, p uintptr, n int32) uint32 { /* sql return h % uint32(nSlot) } -func fts5HashKey2(tls *libc.TLS, nSlot int32, b U8, p uintptr, n int32) uint32 { /* sqlite3.c:224351:21: */ +func fts5HashKey2(tls *libc.TLS, nSlot int32, b U8, p uintptr, n int32) uint32 { /* sqlite3.c:224408:21: */ var i int32 var h uint32 = uint32(13) for i = n - 1; i >= 0; i-- { @@ -178453,7 +178484,7 @@ func fts5HashKey2(tls *libc.TLS, nSlot int32, b U8, p uintptr, n int32) uint32 { } // Resize the hash table by doubling the number of slots. -func fts5HashResize(tls *libc.TLS, pHash uintptr) int32 { /* sqlite3.c:224364:12: */ +func fts5HashResize(tls *libc.TLS, pHash uintptr) int32 { /* sqlite3.c:224421:12: */ var nNew int32 = (*Fts5Hash)(unsafe.Pointer(pHash)).FnSlot * 2 var i int32 var apNew uintptr @@ -178483,7 +178514,7 @@ func fts5HashResize(tls *libc.TLS, pHash uintptr) int32 { /* sqlite3.c:224364:12 return SQLITE_OK } -func fts5HashAddPoslistSize(tls *libc.TLS, pHash uintptr, p uintptr, p2 uintptr) int32 { /* sqlite3.c:224392:12: */ +func fts5HashAddPoslistSize(tls *libc.TLS, pHash uintptr, p uintptr, p2 uintptr) int32 { /* sqlite3.c:224449:12: */ var nRet int32 = 0 if (*Fts5HashEntry)(unsafe.Pointer(p)).FiSzPoslist != 0 { var pPtr uintptr @@ -178532,7 +178563,7 @@ func fts5HashAddPoslistSize(tls *libc.TLS, pHash uintptr, p uintptr, p2 uintptr) // (bByte || pToken) -> (iRowid,iCol,iPos) // // Or, if iCol is negative, then the value is a delete marker. -func sqlite3Fts5HashWrite(tls *libc.TLS, pHash uintptr, iRowid I64, iCol int32, iPos int32, bByte int8, pToken uintptr, nToken int32) int32 { /* sqlite3.c:224443:12: */ +func sqlite3Fts5HashWrite(tls *libc.TLS, pHash uintptr, iRowid I64, iCol int32, iPos int32, bByte int8, pToken uintptr, nToken int32) int32 { /* sqlite3.c:224500:12: */ var iHash uint32 var p uintptr var pPtr uintptr @@ -178691,7 +178722,7 @@ func sqlite3Fts5HashWrite(tls *libc.TLS, pHash uintptr, iRowid I64, iCol int32, // Arguments pLeft and pRight point to linked-lists of hash-entry objects, // each sorted in key order. This function merges the two lists into a // single list and returns a pointer to its first element. -func fts5HashEntryMerge(tls *libc.TLS, pLeft uintptr, pRight uintptr) uintptr { /* sqlite3.c:224596:22: */ +func fts5HashEntryMerge(tls *libc.TLS, pLeft uintptr, pRight uintptr) uintptr { /* sqlite3.c:224653:22: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -178737,7 +178768,7 @@ func fts5HashEntryMerge(tls *libc.TLS, pLeft uintptr, pRight uintptr) uintptr { // in sorted order. The hash table is cleared before returning. It is // the responsibility of the caller to free the elements of the returned // list. -func fts5HashEntrySort(tls *libc.TLS, pHash uintptr, pTerm uintptr, nTerm int32, ppSorted uintptr) int32 { /* sqlite3.c:224642:12: */ +func fts5HashEntrySort(tls *libc.TLS, pHash uintptr, pTerm uintptr, nTerm int32, ppSorted uintptr) int32 { /* sqlite3.c:224699:12: */ var nMergeSlot int32 = 32 var ap uintptr var pList uintptr @@ -178779,7 +178810,7 @@ func fts5HashEntrySort(tls *libc.TLS, pHash uintptr, pTerm uintptr, nTerm int32, } // Query the hash table for a doclist associated with term pTerm/nTerm. -func sqlite3Fts5HashQuery(tls *libc.TLS, pHash uintptr, nPre int32, pTerm uintptr, nTerm int32, ppOut uintptr, pnDoclist uintptr) int32 { /* sqlite3.c:224689:12: */ +func sqlite3Fts5HashQuery(tls *libc.TLS, pHash uintptr, nPre int32, pTerm uintptr, nTerm int32, ppOut uintptr, pnDoclist uintptr) int32 { /* sqlite3.c:224746:12: */ var iHash uint32 = fts5HashKey(tls, (*Fts5Hash)(unsafe.Pointer(pHash)).FnSlot, pTerm, nTerm) var zKey uintptr = uintptr(0) var p uintptr @@ -178813,20 +178844,20 @@ func sqlite3Fts5HashQuery(tls *libc.TLS, pHash uintptr, nPre int32, pTerm uintpt return SQLITE_OK } -func sqlite3Fts5HashScanInit(tls *libc.TLS, p uintptr, pTerm uintptr, nTerm int32) int32 { /* sqlite3.c:224727:12: */ +func sqlite3Fts5HashScanInit(tls *libc.TLS, p uintptr, pTerm uintptr, nTerm int32) int32 { /* sqlite3.c:224784:12: */ return fts5HashEntrySort(tls, p, pTerm, nTerm, p+24) } -func sqlite3Fts5HashScanNext(tls *libc.TLS, p uintptr) { /* sqlite3.c:224734:13: */ +func sqlite3Fts5HashScanNext(tls *libc.TLS, p uintptr) { /* sqlite3.c:224791:13: */ (*Fts5Hash)(unsafe.Pointer(p)).FpScan = (*Fts5HashEntry)(unsafe.Pointer((*Fts5Hash)(unsafe.Pointer(p)).FpScan)).FpScanNext } -func sqlite3Fts5HashScanEof(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:224739:12: */ +func sqlite3Fts5HashScanEof(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:224796:12: */ return libc.Bool32((*Fts5Hash)(unsafe.Pointer(p)).FpScan == uintptr(0)) } -func sqlite3Fts5HashScanEntry(tls *libc.TLS, pHash uintptr, pzTerm uintptr, ppDoclist uintptr, pnDoclist uintptr) { /* sqlite3.c:224743:13: */ +func sqlite3Fts5HashScanEntry(tls *libc.TLS, pHash uintptr, pzTerm uintptr, ppDoclist uintptr, pnDoclist uintptr) { /* sqlite3.c:224800:13: */ var p uintptr if libc.AssignUintptr(&p, (*Fts5Hash)(unsafe.Pointer(pHash)).FpScan) != 0 { var zKey uintptr = p + 1*48 @@ -179052,7 +179083,7 @@ type Fts5Data1 = struct { Fp uintptr Fnn int32 FszLeaf int32 -} /* sqlite3.c:225018:9 */ +} /* sqlite3.c:225075:9 */ // 2014 May 31 // @@ -179260,14 +179291,14 @@ type Fts5Data1 = struct { // many zero bytes. This makes it easier to decode the various record formats // without overreading if the records are corrupt. -type Fts5Data = Fts5Data1 /* sqlite3.c:225018:25 */ +type Fts5Data = Fts5Data1 /* sqlite3.c:225075:25 */ type Fts5DlidxIter1 = struct { FnLvl int32 FiSegid int32 FaLvl [1]Fts5DlidxLvl -} /* sqlite3.c:225019:9 */ +} /* sqlite3.c:225076:9 */ -type Fts5DlidxIter = Fts5DlidxIter1 /* sqlite3.c:225019:30 */ +type Fts5DlidxIter = Fts5DlidxIter1 /* sqlite3.c:225076:30 */ type Fts5DlidxLvl1 = struct { FpData uintptr FiOff int32 @@ -179275,17 +179306,17 @@ type Fts5DlidxLvl1 = struct { FiFirstOff int32 FiLeafPgno int32 FiRowid I64 -} /* sqlite3.c:225019:9 */ +} /* sqlite3.c:225076:9 */ -type Fts5DlidxLvl = Fts5DlidxLvl1 /* sqlite3.c:225020:29 */ +type Fts5DlidxLvl = Fts5DlidxLvl1 /* sqlite3.c:225077:29 */ type Fts5DlidxWriter1 = struct { Fpgno int32 FbPrevValid int32 FiPrev I64 Fbuf Fts5Buffer -} /* sqlite3.c:225021:9 */ +} /* sqlite3.c:225078:9 */ -type Fts5DlidxWriter = Fts5DlidxWriter1 /* sqlite3.c:225021:32 */ +type Fts5DlidxWriter = Fts5DlidxWriter1 /* sqlite3.c:225078:32 */ type Fts5Iter1 = struct { Fbase Fts5IndexIter FpIndex uintptr @@ -179299,18 +179330,18 @@ type Fts5Iter1 = struct { FiSwitchRowid I64 FaFirst uintptr FaSeg [1]Fts5SegIter -} /* sqlite3.c:225022:9 */ +} /* sqlite3.c:225079:9 */ -type Fts5Iter = Fts5Iter1 /* sqlite3.c:225022:25 */ +type Fts5Iter = Fts5Iter1 /* sqlite3.c:225079:25 */ type Fts5PageWriter1 = struct { Fpgno int32 FiPrevPgidx int32 Fbuf Fts5Buffer Fpgidx Fts5Buffer Fterm Fts5Buffer -} /* sqlite3.c:225023:9 */ +} /* sqlite3.c:225080:9 */ -type Fts5PageWriter = Fts5PageWriter1 /* sqlite3.c:225023:31 */ +type Fts5PageWriter = Fts5PageWriter1 /* sqlite3.c:225080:31 */ type Fts5SegIter1 = struct { FpSeg uintptr Fflags int32 @@ -179332,18 +179363,18 @@ type Fts5SegIter1 = struct { FnPos int32 FbDel U8 F__ccgo_pad1 [3]byte -} /* sqlite3.c:225022:9 */ +} /* sqlite3.c:225079:9 */ -type Fts5SegIter = Fts5SegIter1 /* sqlite3.c:225024:28 */ +type Fts5SegIter = Fts5SegIter1 /* sqlite3.c:225081:28 */ type Fts5DoclistIter1 = struct { FaEof uintptr FiRowid I64 FaPoslist uintptr FnPoslist int32 FnSize int32 -} /* sqlite3.c:225025:9 */ +} /* sqlite3.c:225082:9 */ -type Fts5DoclistIter = Fts5DoclistIter1 /* sqlite3.c:225025:32 */ +type Fts5DoclistIter = Fts5DoclistIter1 /* sqlite3.c:225082:32 */ type Fts5SegWriter1 = struct { FiSegid int32 F__ccgo_pad1 [4]byte @@ -179360,9 +179391,9 @@ type Fts5SegWriter1 = struct { Fbtterm Fts5Buffer FiBtPage int32 F__ccgo_pad3 [4]byte -} /* sqlite3.c:225026:9 */ +} /* sqlite3.c:225083:9 */ -type Fts5SegWriter = Fts5SegWriter1 /* sqlite3.c:225026:30 */ +type Fts5SegWriter = Fts5SegWriter1 /* sqlite3.c:225083:30 */ type Fts5Structure1 = struct { FnRef int32 F__ccgo_pad1 [4]byte @@ -179370,38 +179401,38 @@ type Fts5Structure1 = struct { FnSegment int32 FnLevel int32 FaLevel [1]Fts5StructureLevel -} /* sqlite3.c:216813:9 */ +} /* sqlite3.c:216870:9 */ -type Fts5Structure = Fts5Structure1 /* sqlite3.c:225027:30 */ +type Fts5Structure = Fts5Structure1 /* sqlite3.c:225084:30 */ type Fts5StructureLevel1 = struct { FnMerge int32 FnSeg int32 FaSeg uintptr -} /* sqlite3.c:216813:9 */ +} /* sqlite3.c:216870:9 */ -type Fts5StructureLevel = Fts5StructureLevel1 /* sqlite3.c:225028:35 */ +type Fts5StructureLevel = Fts5StructureLevel1 /* sqlite3.c:225085:35 */ type Fts5StructureSegment1 = struct { FiSegid int32 FpgnoFirst int32 FpgnoLast int32 -} /* sqlite3.c:216813:9 */ +} /* sqlite3.c:216870:9 */ -type Fts5StructureSegment = Fts5StructureSegment1 /* sqlite3.c:225029:37 */ +type Fts5StructureSegment = Fts5StructureSegment1 /* sqlite3.c:225086:37 */ type Fts5CResult1 = struct { FiFirst U16 FbTermEq U8 F__ccgo_pad1 [1]byte -} /* sqlite3.c:225022:9 */ +} /* sqlite3.c:225079:9 */ -type Fts5CResult = Fts5CResult1 /* sqlite3.c:225139:28 */ +type Fts5CResult = Fts5CResult1 /* sqlite3.c:225196:28 */ -func fts5PutU16(tls *libc.TLS, aOut uintptr, iVal U16) { /* sqlite3.c:225318:13: */ +func fts5PutU16(tls *libc.TLS, aOut uintptr, iVal U16) { /* sqlite3.c:225375:13: */ *(*U8)(unsafe.Pointer(aOut)) = U8(int32(iVal) >> 8) *(*U8)(unsafe.Pointer(aOut + 1)) = U8(int32(iVal) & 0xFF) } -func fts5GetU16(tls *libc.TLS, aIn uintptr) U16 { /* sqlite3.c:225323:12: */ +func fts5GetU16(tls *libc.TLS, aIn uintptr) U16 { /* sqlite3.c:225380:12: */ return U16(int32(U16(*(*U8)(unsafe.Pointer(aIn))))<<8 + int32(*(*U8)(unsafe.Pointer(aIn + 1)))) } @@ -179409,7 +179440,7 @@ func fts5GetU16(tls *libc.TLS, aIn uintptr) U16 { /* sqlite3.c:225323:12: */ // // If an OOM error is encountered, return NULL and set the error code in // the Fts5Index handle passed as the first argument. -func fts5IdxMalloc(tls *libc.TLS, p uintptr, nByte Sqlite3_int64) uintptr { /* sqlite3.c:225333:13: */ +func fts5IdxMalloc(tls *libc.TLS, p uintptr, nByte Sqlite3_int64) uintptr { /* sqlite3.c:225390:13: */ return sqlite3Fts5MallocZero(tls, p+52, nByte) } @@ -179427,7 +179458,7 @@ func fts5IdxMalloc(tls *libc.TLS, p uintptr, nByte Sqlite3_int64) uintptr { /* s // +ve if pRight is smaller than pLeft. In other words: // // res = *pLeft - *pRight -func fts5BufferCompare(tls *libc.TLS, pLeft uintptr, pRight uintptr) int32 { /* sqlite3.c:225365:12: */ +func fts5BufferCompare(tls *libc.TLS, pLeft uintptr, pRight uintptr) int32 { /* sqlite3.c:225422:12: */ var nCmp int32 var res int32 nCmp = func() int32 { @@ -179451,7 +179482,7 @@ func fts5BufferCompare(tls *libc.TLS, pLeft uintptr, pRight uintptr) int32 { /* }() } -func fts5LeafFirstTermOff(tls *libc.TLS, pLeaf uintptr) int32 { /* sqlite3.c:225374:12: */ +func fts5LeafFirstTermOff(tls *libc.TLS, pLeaf uintptr) int32 { /* sqlite3.c:225431:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -179462,7 +179493,7 @@ func fts5LeafFirstTermOff(tls *libc.TLS, pLeaf uintptr) int32 { /* sqlite3.c:225 } // Close the read-only blob handle, if it is open. -func sqlite3Fts5IndexCloseReader(tls *libc.TLS, p uintptr) { /* sqlite3.c:225383:13: */ +func sqlite3Fts5IndexCloseReader(tls *libc.TLS, p uintptr) { /* sqlite3.c:225440:13: */ if (*Fts5Index)(unsafe.Pointer(p)).FpReader != 0 { var pReader uintptr = (*Fts5Index)(unsafe.Pointer(p)).FpReader (*Fts5Index)(unsafe.Pointer(p)).FpReader = uintptr(0) @@ -179474,7 +179505,7 @@ func sqlite3Fts5IndexCloseReader(tls *libc.TLS, p uintptr) { /* sqlite3.c:225383 // // If an error occurs, NULL is returned and an error left in the // Fts5Index object. -func fts5DataRead(tls *libc.TLS, p uintptr, iRowid I64) uintptr { /* sqlite3.c:225397:17: */ +func fts5DataRead(tls *libc.TLS, p uintptr, iRowid I64) uintptr { /* sqlite3.c:225454:17: */ var pRet uintptr = uintptr(0) if (*Fts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK { var rc int32 = SQLITE_OK @@ -179547,11 +179578,11 @@ func fts5DataRead(tls *libc.TLS, p uintptr, iRowid I64) uintptr { /* sqlite3.c:2 // Release a reference to data record returned by an earlier call to // fts5DataRead(). -func fts5DataRelease(tls *libc.TLS, pData uintptr) { /* sqlite3.c:225471:13: */ +func fts5DataRelease(tls *libc.TLS, pData uintptr) { /* sqlite3.c:225528:13: */ Xsqlite3_free(tls, pData) } -func fts5LeafRead(tls *libc.TLS, p uintptr, iRowid I64) uintptr { /* sqlite3.c:225475:17: */ +func fts5LeafRead(tls *libc.TLS, p uintptr, iRowid I64) uintptr { /* sqlite3.c:225532:17: */ var pRet uintptr = fts5DataRead(tls, p, iRowid) if pRet != 0 { if (*Fts5Data)(unsafe.Pointer(pRet)).Fnn < 4 || (*Fts5Data)(unsafe.Pointer(pRet)).FszLeaf > (*Fts5Data)(unsafe.Pointer(pRet)).Fnn { @@ -179563,7 +179594,7 @@ func fts5LeafRead(tls *libc.TLS, p uintptr, iRowid I64) uintptr { /* sqlite3.c:2 return pRet } -func fts5IndexPrepareStmt(tls *libc.TLS, p uintptr, ppStmt uintptr, zSql uintptr) int32 { /* sqlite3.c:225487:12: */ +func fts5IndexPrepareStmt(tls *libc.TLS, p uintptr, ppStmt uintptr, zSql uintptr) int32 { /* sqlite3.c:225544:12: */ if (*Fts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK { if zSql != 0 { (*Fts5Index)(unsafe.Pointer(p)).Frc = Xsqlite3_prepare_v3(tls, (*Fts5Config)(unsafe.Pointer((*Fts5Index)(unsafe.Pointer(p)).FpConfig)).Fdb, zSql, -1, @@ -179578,7 +179609,7 @@ func fts5IndexPrepareStmt(tls *libc.TLS, p uintptr, ppStmt uintptr, zSql uintptr } // INSERT OR REPLACE a record into the %_data table. -func fts5DataWrite(tls *libc.TLS, p uintptr, iRowid I64, pData uintptr, nData int32) { /* sqlite3.c:225509:13: */ +func fts5DataWrite(tls *libc.TLS, p uintptr, iRowid I64, pData uintptr, nData int32) { /* sqlite3.c:225566:13: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -179606,7 +179637,7 @@ func fts5DataWrite(tls *libc.TLS, p uintptr, iRowid I64, pData uintptr, nData in // Execute the following SQL: // // DELETE FROM %_data WHERE id BETWEEN $iFirst AND $iLast -func fts5DataDelete(tls *libc.TLS, p uintptr, iFirst I64, iLast I64) { /* sqlite3.c:225533:13: */ +func fts5DataDelete(tls *libc.TLS, p uintptr, iFirst I64, iLast I64) { /* sqlite3.c:225590:13: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -179631,7 +179662,7 @@ func fts5DataDelete(tls *libc.TLS, p uintptr, iFirst I64, iLast I64) { /* sqlite } // Remove all records associated with segment iSegid. -func fts5DataRemoveSegment(tls *libc.TLS, p uintptr, iSegid int32) { /* sqlite3.c:225554:13: */ +func fts5DataRemoveSegment(tls *libc.TLS, p uintptr, iSegid int32) { /* sqlite3.c:225611:13: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -179653,7 +179684,7 @@ func fts5DataRemoveSegment(tls *libc.TLS, p uintptr, iSegid int32) { /* sqlite3. // Release a reference to an Fts5Structure object returned by an earlier // call to fts5StructureRead() or fts5StructureDecode(). -func fts5StructureRelease(tls *libc.TLS, pStruct uintptr) { /* sqlite3.c:225576:13: */ +func fts5StructureRelease(tls *libc.TLS, pStruct uintptr) { /* sqlite3.c:225633:13: */ if pStruct != 0 && 0 >= libc.PreDecInt32(&(*Fts5Structure)(unsafe.Pointer(pStruct)).FnRef, 1) { var i int32 @@ -179664,22 +179695,22 @@ func fts5StructureRelease(tls *libc.TLS, pStruct uintptr) { /* sqlite3.c:225576: } } -func fts5StructureRef(tls *libc.TLS, pStruct uintptr) { /* sqlite3.c:225587:13: */ +func fts5StructureRef(tls *libc.TLS, pStruct uintptr) { /* sqlite3.c:225644:13: */ (*Fts5Structure)(unsafe.Pointer(pStruct)).FnRef++ } -func sqlite3Fts5StructureRef(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:225591:13: */ +func sqlite3Fts5StructureRef(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:225648:13: */ fts5StructureRef(tls, (*Fts5Index)(unsafe.Pointer(p)).FpStruct) return (*Fts5Index)(unsafe.Pointer(p)).FpStruct } -func sqlite3Fts5StructureRelease(tls *libc.TLS, p uintptr) { /* sqlite3.c:225595:13: */ +func sqlite3Fts5StructureRelease(tls *libc.TLS, p uintptr) { /* sqlite3.c:225652:13: */ if p != 0 { fts5StructureRelease(tls, p) } } -func sqlite3Fts5StructureTest(tls *libc.TLS, p uintptr, pStruct uintptr) int32 { /* sqlite3.c:225600:12: */ +func sqlite3Fts5StructureTest(tls *libc.TLS, p uintptr, pStruct uintptr) int32 { /* sqlite3.c:225657:12: */ if (*Fts5Index)(unsafe.Pointer(p)).FpStruct != pStruct { return SQLITE_ABORT } @@ -179690,7 +179721,7 @@ func sqlite3Fts5StructureTest(tls *libc.TLS, p uintptr, pStruct uintptr) int32 { // // This function is a no-op if (*pRc) is not SQLITE_OK when it is called. If // an error occurs, (*pRc) is set to an SQLite error code before returning. -func fts5StructureMakeWritable(tls *libc.TLS, pRc uintptr, pp uintptr) { /* sqlite3.c:225613:13: */ +func fts5StructureMakeWritable(tls *libc.TLS, pRc uintptr, pp uintptr) { /* sqlite3.c:225670:13: */ var p uintptr = *(*uintptr)(unsafe.Pointer(pp)) if *(*int32)(unsafe.Pointer(pRc)) == SQLITE_OK && (*Fts5Structure)(unsafe.Pointer(p)).FnRef > 1 { var nByte I64 = I64(uint64(unsafe.Sizeof(Fts5Structure{})) + uint64((*Fts5Structure)(unsafe.Pointer(p)).FnLevel-1)*uint64(unsafe.Sizeof(Fts5StructureLevel{}))) @@ -179732,7 +179763,7 @@ func fts5StructureMakeWritable(tls *libc.TLS, pRc uintptr, pp uintptr) { /* sqli // If an error occurs, *ppOut is set to NULL and an SQLite error code // returned. Otherwise, *ppOut is set to point to the new object and // SQLITE_OK returned. -func fts5StructureDecode(tls *libc.TLS, pData uintptr, nData int32, piCookie uintptr, ppOut uintptr) int32 { /* sqlite3.c:225655:12: */ +func fts5StructureDecode(tls *libc.TLS, pData uintptr, nData int32, piCookie uintptr, ppOut uintptr) int32 { /* sqlite3.c:225712:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -179825,7 +179856,7 @@ func fts5StructureDecode(tls *libc.TLS, pData uintptr, nData int32, piCookie uin // Add a level to the Fts5Structure.aLevel[] array of structure object // (*ppStruct). -func fts5StructureAddLevel(tls *libc.TLS, pRc uintptr, ppStruct uintptr) { /* sqlite3.c:225747:13: */ +func fts5StructureAddLevel(tls *libc.TLS, pRc uintptr, ppStruct uintptr) { /* sqlite3.c:225804:13: */ fts5StructureMakeWritable(tls, pRc, ppStruct) if *(*int32)(unsafe.Pointer(pRc)) == SQLITE_OK { var pStruct uintptr = *(*uintptr)(unsafe.Pointer(ppStruct)) @@ -179845,7 +179876,7 @@ func fts5StructureAddLevel(tls *libc.TLS, pRc uintptr, ppStruct uintptr) { /* sq // Extend level iLvl so that there is room for at least nExtra more // segments. -func fts5StructureExtendLevel(tls *libc.TLS, pRc uintptr, pStruct uintptr, iLvl int32, nExtra int32, bInsert int32) { /* sqlite3.c:225772:13: */ +func fts5StructureExtendLevel(tls *libc.TLS, pRc uintptr, pStruct uintptr, iLvl int32, nExtra int32, bInsert int32) { /* sqlite3.c:225829:13: */ if *(*int32)(unsafe.Pointer(pRc)) == SQLITE_OK { var pLvl uintptr = pStruct + 24 + uintptr(iLvl)*16 var aNew uintptr @@ -179868,7 +179899,7 @@ func fts5StructureExtendLevel(tls *libc.TLS, pRc uintptr, pStruct uintptr, iLvl } } -func fts5StructureReadUncached(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:225801:22: */ +func fts5StructureReadUncached(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:225858:22: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -179896,7 +179927,7 @@ func fts5StructureReadUncached(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c: return *(*uintptr)(unsafe.Pointer(bp + 8 /* pRet */)) } -func fts5IndexDataVersion(tls *libc.TLS, p uintptr) I64 { /* sqlite3.c:225825:12: */ +func fts5IndexDataVersion(tls *libc.TLS, p uintptr) I64 { /* sqlite3.c:225882:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -179929,7 +179960,7 @@ func fts5IndexDataVersion(tls *libc.TLS, p uintptr) I64 { /* sqlite3.c:225825:12 // If an error occurs, NULL is returned and an error code left in the // Fts5Index handle. If an error has already occurred when this function // is called, it is a no-op. -func fts5StructureRead(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:225856:22: */ +func fts5StructureRead(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:225913:22: */ if (*Fts5Index)(unsafe.Pointer(p)).FpStruct == uintptr(0) { (*Fts5Index)(unsafe.Pointer(p)).FiStructVersion = fts5IndexDataVersion(tls, p) @@ -179946,7 +179977,7 @@ func fts5StructureRead(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:225856:2 return (*Fts5Index)(unsafe.Pointer(p)).FpStruct } -func fts5StructureInvalidate(tls *libc.TLS, p uintptr) { /* sqlite3.c:225895:13: */ +func fts5StructureInvalidate(tls *libc.TLS, p uintptr) { /* sqlite3.c:225952:13: */ if (*Fts5Index)(unsafe.Pointer(p)).FpStruct != 0 { fts5StructureRelease(tls, (*Fts5Index)(unsafe.Pointer(p)).FpStruct) (*Fts5Index)(unsafe.Pointer(p)).FpStruct = uintptr(0) @@ -179960,7 +179991,7 @@ func fts5StructureInvalidate(tls *libc.TLS, p uintptr) { /* sqlite3.c:225895:13: // // If an error occurs, leave an error code in the Fts5Index object. If an // error has already occurred, this function is a no-op. -func fts5StructureWrite(tls *libc.TLS, p uintptr, pStruct uintptr) { /* sqlite3.c:225938:13: */ +func fts5StructureWrite(tls *libc.TLS, p uintptr, pStruct uintptr) { /* sqlite3.c:225995:13: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -180013,14 +180044,14 @@ func fts5StructureWrite(tls *libc.TLS, p uintptr, pStruct uintptr) { /* sqlite3. } } -func fts5SegmentSize(tls *libc.TLS, pSeg uintptr) int32 { /* sqlite3.c:225993:12: */ +func fts5SegmentSize(tls *libc.TLS, pSeg uintptr) int32 { /* sqlite3.c:226050:12: */ return 1 + (*Fts5StructureSegment)(unsafe.Pointer(pSeg)).FpgnoLast - (*Fts5StructureSegment)(unsafe.Pointer(pSeg)).FpgnoFirst } // Return a copy of index structure pStruct. Except, promote as many // segments as possible to level iPromote. If an OOM occurs, NULL is // returned. -func fts5StructurePromoteTo(tls *libc.TLS, p uintptr, iPromote int32, szPromote int32, pStruct uintptr) { /* sqlite3.c:226002:13: */ +func fts5StructurePromoteTo(tls *libc.TLS, p uintptr, iPromote int32, szPromote int32, pStruct uintptr) { /* sqlite3.c:226059:13: */ var il int32 var is int32 var pOut uintptr = pStruct + 24 + uintptr(iPromote)*16 @@ -180063,7 +180094,7 @@ func fts5StructurePromoteTo(tls *libc.TLS, p uintptr, iPromote int32, szPromote // // If one or more segments are promoted, the structure object is updated // to reflect this. -func fts5StructurePromote(tls *libc.TLS, p uintptr, iLvl int32, pStruct uintptr) { /* sqlite3.c:226045:13: */ +func fts5StructurePromote(tls *libc.TLS, p uintptr, iLvl int32, pStruct uintptr) { /* sqlite3.c:226102:13: */ if (*Fts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK { var iTst int32 var iPromote int32 = -1 @@ -180112,7 +180143,7 @@ func fts5StructurePromote(tls *libc.TLS, p uintptr, iLvl int32, pStruct uintptr) // Advance the iterator passed as the only argument. If the end of the // doclist-index page is reached, return non-zero. -func fts5DlidxLvlNext(tls *libc.TLS, pLvl uintptr) int32 { /* sqlite3.c:226096:12: */ +func fts5DlidxLvlNext(tls *libc.TLS, pLvl uintptr) int32 { /* sqlite3.c:226153:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -180148,7 +180179,7 @@ func fts5DlidxLvlNext(tls *libc.TLS, pLvl uintptr) int32 { /* sqlite3.c:226096:1 } // Advance the iterator passed as the only argument. -func fts5DlidxIterNextR(tls *libc.TLS, p uintptr, pIter uintptr, iLvl int32) int32 { /* sqlite3.c:226128:12: */ +func fts5DlidxIterNextR(tls *libc.TLS, p uintptr, pIter uintptr, iLvl int32) int32 { /* sqlite3.c:226185:12: */ var pLvl uintptr = pIter + 8 + uintptr(iLvl)*32 if fts5DlidxLvlNext(tls, pLvl) != 0 { @@ -180169,7 +180200,7 @@ func fts5DlidxIterNextR(tls *libc.TLS, p uintptr, pIter uintptr, iLvl int32) int return (*Fts5DlidxLvl)(unsafe.Pointer(pIter + 8)).FbEof } -func fts5DlidxIterNext(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlite3.c:226148:12: */ +func fts5DlidxIterNext(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlite3.c:226205:12: */ return fts5DlidxIterNextR(tls, p, pIter, 0) } @@ -180182,7 +180213,7 @@ func fts5DlidxIterNext(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlit // // When this function is called pIter->iLeafPgno is the page number the // doclist is associated with (the one featuring the term). -func fts5DlidxIterFirst(tls *libc.TLS, pIter uintptr) int32 { /* sqlite3.c:226163:12: */ +func fts5DlidxIterFirst(tls *libc.TLS, pIter uintptr) int32 { /* sqlite3.c:226220:12: */ var i int32 for i = 0; i < (*Fts5DlidxIter)(unsafe.Pointer(pIter)).FnLvl; i++ { fts5DlidxLvlNext(tls, pIter+8+uintptr(i)*32) @@ -180190,11 +180221,11 @@ func fts5DlidxIterFirst(tls *libc.TLS, pIter uintptr) int32 { /* sqlite3.c:22616 return (*Fts5DlidxLvl)(unsafe.Pointer(pIter + 8)).FbEof } -func fts5DlidxIterEof(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlite3.c:226172:12: */ +func fts5DlidxIterEof(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlite3.c:226229:12: */ return libc.Bool32((*Fts5Index)(unsafe.Pointer(p)).Frc != SQLITE_OK || (*Fts5DlidxLvl)(unsafe.Pointer(pIter+8)).FbEof != 0) } -func fts5DlidxIterLast(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:226176:13: */ +func fts5DlidxIterLast(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:226233:13: */ var i int32 // Advance each level to the last entry on the last page @@ -180215,7 +180246,7 @@ func fts5DlidxIterLast(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:2 } // Move the iterator passed as the only argument to the previous entry. -func fts5DlidxLvlPrev(tls *libc.TLS, pLvl uintptr) int32 { /* sqlite3.c:226199:12: */ +func fts5DlidxLvlPrev(tls *libc.TLS, pLvl uintptr) int32 { /* sqlite3.c:226256:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -180277,7 +180308,7 @@ func fts5DlidxLvlPrev(tls *libc.TLS, pLvl uintptr) int32 { /* sqlite3.c:226199:1 return (*Fts5DlidxLvl)(unsafe.Pointer(pLvl)).FbEof } -func fts5DlidxIterPrevR(tls *libc.TLS, p uintptr, pIter uintptr, iLvl int32) int32 { /* sqlite3.c:226248:12: */ +func fts5DlidxIterPrevR(tls *libc.TLS, p uintptr, pIter uintptr, iLvl int32) int32 { /* sqlite3.c:226305:12: */ var pLvl uintptr = pIter + 8 + uintptr(iLvl)*32 if fts5DlidxLvlPrev(tls, pLvl) != 0 { @@ -180300,12 +180331,12 @@ func fts5DlidxIterPrevR(tls *libc.TLS, p uintptr, pIter uintptr, iLvl int32) int return (*Fts5DlidxLvl)(unsafe.Pointer(pIter + 8)).FbEof } -func fts5DlidxIterPrev(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlite3.c:226271:12: */ +func fts5DlidxIterPrev(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlite3.c:226328:12: */ return fts5DlidxIterPrevR(tls, p, pIter, 0) } // Free a doclist-index iterator object allocated by fts5DlidxIterInit(). -func fts5DlidxIterFree(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:226278:13: */ +func fts5DlidxIterFree(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:226335:13: */ if pIter != 0 { var i int32 for i = 0; i < (*Fts5DlidxIter)(unsafe.Pointer(pIter)).FnLvl; i++ { @@ -180315,7 +180346,7 @@ func fts5DlidxIterFree(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:226278:13: * } } -func fts5DlidxIterInit(tls *libc.TLS, p uintptr, bRev int32, iSegid int32, iLeafPg int32) uintptr { /* sqlite3.c:226288:22: */ +func fts5DlidxIterInit(tls *libc.TLS, p uintptr, bRev int32, iSegid int32, iLeafPg int32) uintptr { /* sqlite3.c:226345:22: */ var pIter uintptr = uintptr(0) var i int32 var bDone int32 = 0 @@ -180357,16 +180388,16 @@ func fts5DlidxIterInit(tls *libc.TLS, p uintptr, bRev int32, iSegid int32, iLeaf return pIter } -func fts5DlidxIterRowid(tls *libc.TLS, pIter uintptr) I64 { /* sqlite3.c:226335:12: */ +func fts5DlidxIterRowid(tls *libc.TLS, pIter uintptr) I64 { /* sqlite3.c:226392:12: */ return (*Fts5DlidxLvl)(unsafe.Pointer(pIter + 8)).FiRowid } -func fts5DlidxIterPgno(tls *libc.TLS, pIter uintptr) int32 { /* sqlite3.c:226338:12: */ +func fts5DlidxIterPgno(tls *libc.TLS, pIter uintptr) int32 { /* sqlite3.c:226395:12: */ return (*Fts5DlidxLvl)(unsafe.Pointer(pIter + 8)).FiLeafPgno } // Load the next leaf page into the segment iterator. -func fts5SegIterNextPage(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:226345:13: */ +func fts5SegIterNextPage(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:226402:13: */ var pLeaf uintptr var pSeg uintptr = (*Fts5SegIter)(unsafe.Pointer(pIter)).FpSeg fts5DataRelease(tls, (*Fts5SegIter)(unsafe.Pointer(pIter)).FpLeaf) @@ -180396,7 +180427,7 @@ func fts5SegIterNextPage(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c // position list size field. Read the varint and return the number of bytes // read. Before returning, set *pnSz to the number of bytes in the position // list, and *pbDel to true if the delete flag is set, or false otherwise. -func fts5GetPoslistSize(tls *libc.TLS, p uintptr, pnSz uintptr, pbDel uintptr) int32 { /* sqlite3.c:226383:12: */ +func fts5GetPoslistSize(tls *libc.TLS, p uintptr, pnSz uintptr, pbDel uintptr) int32 { /* sqlite3.c:226440:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -180425,7 +180456,7 @@ func fts5GetPoslistSize(tls *libc.TLS, p uintptr, pnSz uintptr, pbDel uintptr) i // // Leave Fts5SegIter.iLeafOffset pointing to the first byte of the // position list content (if any). -func fts5SegIterLoadNPos(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:226404:13: */ +func fts5SegIterLoadNPos(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:226461:13: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -180470,7 +180501,7 @@ func fts5SegIterLoadNPos(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c } } -func fts5SegIterLoadRowid(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:226433:13: */ +func fts5SegIterLoadRowid(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:226490:13: */ var a uintptr = (*Fts5Data)(unsafe.Pointer((*Fts5SegIter)(unsafe.Pointer(pIter)).FpLeaf)).Fp // Buffer to read data from var iOff I64 = (*Fts5SegIter)(unsafe.Pointer(pIter)).FiLeafOffset @@ -180502,7 +180533,7 @@ func fts5SegIterLoadRowid(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3. // accordingly and leaves (Fts5SegIter.iLeafOffset) set to the content of // the first position list. The position list belonging to document // (Fts5SegIter.iRowid). -func fts5SegIterLoadTerm(tls *libc.TLS, p uintptr, pIter uintptr, nKeep int32) { /* sqlite3.c:226466:13: */ +func fts5SegIterLoadTerm(tls *libc.TLS, p uintptr, pIter uintptr, nKeep int32) { /* sqlite3.c:226523:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -180536,7 +180567,7 @@ func fts5SegIterLoadTerm(tls *libc.TLS, p uintptr, pIter uintptr, nKeep int32) { fts5SegIterLoadRowid(tls, p, pIter) } -func fts5SegIterSetNext(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:226499:13: */ +func fts5SegIterSetNext(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:226556:13: */ if (*Fts5SegIter)(unsafe.Pointer(pIter)).Fflags&FTS5_SEGITER_REVERSE != 0 { (*Fts5SegIter)(unsafe.Pointer(pIter)).FxNext = *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, uintptr) @@ -180558,7 +180589,7 @@ func fts5SegIterSetNext(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c: // // If an error occurs, Fts5Index.rc is set to an appropriate error code. If // an error has already occurred when this function is called, it is a no-op. -func fts5SegIterInit(tls *libc.TLS, p uintptr, pSeg uintptr, pIter uintptr) { /* sqlite3.c:226517:13: */ +func fts5SegIterInit(tls *libc.TLS, p uintptr, pSeg uintptr, pIter uintptr) { /* sqlite3.c:226574:13: */ if (*Fts5StructureSegment)(unsafe.Pointer(pSeg)).FpgnoFirst == 0 { // This happens if the segment is being used as an input to an incremental // merge and all data has already been "trimmed". See function @@ -180599,7 +180630,7 @@ func fts5SegIterInit(tls *libc.TLS, p uintptr, pSeg uintptr, pIter uintptr) { /* // aRowidOffset[] and iRowidOffset variables. At this point the iterator // is in its regular state - Fts5SegIter.iLeafOffset points to the first // byte of the position list content associated with said rowid. -func fts5SegIterReverseInitPage(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:226566:13: */ +func fts5SegIterReverseInitPage(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:226623:13: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -180658,7 +180689,7 @@ func fts5SegIterReverseInitPage(tls *libc.TLS, p uintptr, pIter uintptr) { /* sq } // -func fts5SegIterReverseNewPage(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:226619:13: */ +func fts5SegIterReverseNewPage(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:226676:13: */ fts5DataRelease(tls, (*Fts5SegIter)(unsafe.Pointer(pIter)).FpLeaf) (*Fts5SegIter)(unsafe.Pointer(pIter)).FpLeaf = uintptr(0) @@ -180708,7 +180739,7 @@ func fts5SegIterReverseNewPage(tls *libc.TLS, p uintptr, pIter uintptr) { /* sql // Return true if the iterator passed as the second argument currently // points to a delete marker. A delete marker is an entry with a 0 byte // position-list. -func fts5MultiIterIsEmpty(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlite3.c:226675:12: */ +func fts5MultiIterIsEmpty(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlite3.c:226732:12: */ var pSeg uintptr = pIter + 96 + uintptr((*Fts5CResult)(unsafe.Pointer((*Fts5Iter)(unsafe.Pointer(pIter)).FaFirst+1*4)).FiFirst)*120 return libc.Bool32((*Fts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK && (*Fts5SegIter)(unsafe.Pointer(pSeg)).FpLeaf != 0 && (*Fts5SegIter)(unsafe.Pointer(pSeg)).FnPos == 0) } @@ -180716,7 +180747,7 @@ func fts5MultiIterIsEmpty(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sq // Advance iterator pIter to the next entry. // // This version of fts5SegIterNext() is only used by reverse iterators. -func fts5SegIterNext_Reverse(tls *libc.TLS, p uintptr, pIter uintptr, pbUnused uintptr) { /* sqlite3.c:226685:13: */ +func fts5SegIterNext_Reverse(tls *libc.TLS, p uintptr, pIter uintptr, pbUnused uintptr) { /* sqlite3.c:226742:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -180745,7 +180776,7 @@ func fts5SegIterNext_Reverse(tls *libc.TLS, p uintptr, pIter uintptr, pbUnused u // // This version of fts5SegIterNext() is only used if detail=none and the // iterator is not a reverse direction iterator. -func fts5SegIterNext_None(tls *libc.TLS, p uintptr, pIter uintptr, pbNewTerm uintptr) { /* sqlite3.c:226719:13: */ +func fts5SegIterNext_None(tls *libc.TLS, p uintptr, pIter uintptr, pbNewTerm uintptr) { /* sqlite3.c:226776:13: */ bp := tls.Alloc(36) defer tls.Free(36) @@ -180850,7 +180881,7 @@ next_none_eof: // If an error occurs, Fts5Index.rc is set to an appropriate error code. It // is not considered an error if the iterator reaches EOF. If an error has // already occurred when this function is called, it is a no-op. -func fts5SegIterNext(tls *libc.TLS, p uintptr, pIter uintptr, pbNewTerm uintptr) { /* sqlite3.c:226791:13: */ +func fts5SegIterNext(tls *libc.TLS, p uintptr, pIter uintptr, pbNewTerm uintptr) { /* sqlite3.c:226848:13: */ bp := tls.Alloc(44) defer tls.Free(44) @@ -180975,7 +181006,7 @@ func fts5SegIterNext(tls *libc.TLS, p uintptr, pIter uintptr, pbNewTerm uintptr) // Iterator pIter currently points to the first rowid in a doclist. This // function sets the iterator up so that iterates in reverse order through // the doclist. -func fts5SegIterReverse(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:226922:13: */ +func fts5SegIterReverse(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:226979:13: */ var pDlidx uintptr = (*Fts5SegIter)(unsafe.Pointer(pIter)).FpDlidx var pLast uintptr = uintptr(0) var pgnoLast int32 = 0 @@ -181075,7 +181106,7 @@ func fts5SegIterReverse(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c: // There is a doclist-index associated with the final term on the current // page. If the current term is the last term on the page, load the // doclist-index from disk and initialize an iterator at (pIter->pDlidx). -func fts5SegIterLoadDlidx(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:227011:13: */ +func fts5SegIterLoadDlidx(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:227068:13: */ var iSeg int32 = (*Fts5StructureSegment)(unsafe.Pointer((*Fts5SegIter)(unsafe.Pointer(pIter)).FpSeg)).FiSegid var bRev int32 = (*Fts5SegIter)(unsafe.Pointer(pIter)).Fflags & FTS5_SEGITER_REVERSE var pLeaf uintptr = (*Fts5SegIter)(unsafe.Pointer(pIter)).FpLeaf // Current leaf data @@ -181103,7 +181134,7 @@ func fts5SegIterLoadDlidx(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3. // iterator is left pointing to the smallest term in the segment that // is larger than the specified term, even if this term is not on the // current page. -func fts5LeafSeek(tls *libc.TLS, p uintptr, bGe int32, pIter uintptr, pTerm uintptr, nTerm int32) { /* sqlite3.c:227045:13: */ +func fts5LeafSeek(tls *libc.TLS, p uintptr, bGe int32, pIter uintptr, pTerm uintptr, nTerm int32) { /* sqlite3.c:227102:13: */ bp := tls.Alloc(20) defer tls.Free(20) @@ -181337,7 +181368,7 @@ __31: fts5SegIterLoadNPos(tls, p, pIter) } -func fts5IdxSelectStmt(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:227171:21: */ +func fts5IdxSelectStmt(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:227228:21: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -181356,7 +181387,7 @@ func fts5IdxSelectStmt(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:227171:2 // // If an error occurs, Fts5Index.rc is set to an appropriate error code. If // an error has already occurred when this function is called, it is a no-op. -func fts5SegIterSeekInit(tls *libc.TLS, p uintptr, pTerm uintptr, nTerm int32, flags int32, pSeg uintptr, pIter uintptr) { /* sqlite3.c:227190:13: */ +func fts5SegIterSeekInit(tls *libc.TLS, p uintptr, pTerm uintptr, nTerm int32, flags int32, pSeg uintptr, pIter uintptr) { /* sqlite3.c:227247:13: */ var iPg int32 = 1 var bGe int32 = flags & FTS5INDEX_QUERY_SCAN var bDlidx int32 = 0 // True if there is a doclist-index @@ -181426,7 +181457,7 @@ func fts5SegIterSeekInit(tls *libc.TLS, p uintptr, pTerm uintptr, nTerm int32, f // // If an error occurs, Fts5Index.rc is set to an appropriate error code. If // an error has already occurred when this function is called, it is a no-op. -func fts5SegIterHashInit(tls *libc.TLS, p uintptr, pTerm uintptr, nTerm int32, flags int32, pIter uintptr) { /* sqlite3.c:227273:13: */ +func fts5SegIterHashInit(tls *libc.TLS, p uintptr, pTerm uintptr, nTerm int32, flags int32, pIter uintptr) { /* sqlite3.c:227330:13: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -181482,7 +181513,7 @@ func fts5SegIterHashInit(tls *libc.TLS, p uintptr, pTerm uintptr, nTerm int32, f } // Zero the iterator passed as the only argument. -func fts5SegIterClear(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:227332:13: */ +func fts5SegIterClear(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:227389:13: */ sqlite3Fts5BufferFree(tls, pIter+88) fts5DataRelease(tls, (*Fts5SegIter)(unsafe.Pointer(pIter)).FpLeaf) fts5DataRelease(tls, (*Fts5SegIter)(unsafe.Pointer(pIter)).FpNextLeaf) @@ -181497,7 +181528,7 @@ func fts5SegIterClear(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:227332:13: */ // in the pIter->aSeg[] array that is (a) not at EOF, and (b) pointing // to a key that is a duplicate of another, higher priority, // segment-iterator in the pSeg->aSeg[] array. -func fts5MultiIterDoCompare(tls *libc.TLS, pIter uintptr, iOut int32) int32 { /* sqlite3.c:227436:12: */ +func fts5MultiIterDoCompare(tls *libc.TLS, pIter uintptr, iOut int32) int32 { /* sqlite3.c:227493:12: */ var i1 int32 // Index of left-hand Fts5SegIter var i2 int32 // Index of right-hand Fts5SegIter var iRes int32 @@ -181549,7 +181580,7 @@ func fts5MultiIterDoCompare(tls *libc.TLS, pIter uintptr, iOut int32) int32 { /* // Move the seg-iter so that it points to the first rowid on page iLeafPgno. // It is an error if leaf iLeafPgno does not exist or contains no rowids. -func fts5SegIterGotoPage(tls *libc.TLS, p uintptr, pIter uintptr, iLeafPgno int32) { /* sqlite3.c:227490:13: */ +func fts5SegIterGotoPage(tls *libc.TLS, p uintptr, pIter uintptr, iLeafPgno int32) { /* sqlite3.c:227547:13: */ if iLeafPgno > (*Fts5StructureSegment)(unsafe.Pointer((*Fts5SegIter)(unsafe.Pointer(pIter)).FpSeg)).FpgnoLast { (*Fts5Index)(unsafe.Pointer(p)).Frc = SQLITE_CORRUPT | int32(1)<<8 @@ -181579,7 +181610,7 @@ func fts5SegIterGotoPage(tls *libc.TLS, p uintptr, pIter uintptr, iLeafPgno int3 // Advance the iterator passed as the second argument until it is at or // past rowid iFrom. Regardless of the value of iFrom, the iterator is // always advanced at least once. -func fts5SegIterNextFrom(tls *libc.TLS, p uintptr, pIter uintptr, iMatch I64) { /* sqlite3.c:227528:13: */ +func fts5SegIterNextFrom(tls *libc.TLS, p uintptr, pIter uintptr, iMatch I64) { /* sqlite3.c:227585:13: */ var bRev int32 = (*Fts5SegIter)(unsafe.Pointer(pIter)).Fflags & FTS5_SEGITER_REVERSE var pDlidx uintptr = (*Fts5SegIter)(unsafe.Pointer(pIter)).FpDlidx var iLeafPgno int32 = (*Fts5SegIter)(unsafe.Pointer(pIter)).FiLeafPgno @@ -181629,7 +181660,7 @@ func fts5SegIterNextFrom(tls *libc.TLS, p uintptr, pIter uintptr, iMatch I64) { } // Free the iterator object passed as the second argument. -func fts5MultiIterFree(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:227582:13: */ +func fts5MultiIterFree(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:227639:13: */ if pIter != 0 { var i int32 for i = 0; i < (*Fts5Iter)(unsafe.Pointer(pIter)).FnSeg; i++ { @@ -181640,7 +181671,7 @@ func fts5MultiIterFree(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:227582:13: * } } -func fts5MultiIterAdvanced(tls *libc.TLS, p uintptr, pIter uintptr, iChanged int32, iMinset int32) { /* sqlite3.c:227593:13: */ +func fts5MultiIterAdvanced(tls *libc.TLS, p uintptr, pIter uintptr, iChanged int32, iMinset int32) { /* sqlite3.c:227650:13: */ var i int32 for i = ((*Fts5Iter)(unsafe.Pointer(pIter)).FnSeg + iChanged) / 2; i >= iMinset && (*Fts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK; i = i / 2 { var iEq int32 @@ -181663,7 +181694,7 @@ func fts5MultiIterAdvanced(tls *libc.TLS, p uintptr, pIter uintptr, iChanged int // If non-zero is returned, the caller should call fts5MultiIterAdvanced() // on the iterator instead. That function does the same as this one, except // that it deals with more complicated cases as well. -func fts5MultiIterAdvanceRowid(tls *libc.TLS, pIter uintptr, iChanged int32, ppFirst uintptr) int32 { /* sqlite3.c:227621:12: */ +func fts5MultiIterAdvanceRowid(tls *libc.TLS, pIter uintptr, iChanged int32, ppFirst uintptr) int32 { /* sqlite3.c:227678:12: */ var pNew uintptr = pIter + 96 + uintptr(iChanged)*120 if (*Fts5SegIter)(unsafe.Pointer(pNew)).FiRowid == (*Fts5Iter)(unsafe.Pointer(pIter)).FiSwitchRowid || @@ -181703,7 +181734,7 @@ func fts5MultiIterAdvanceRowid(tls *libc.TLS, pIter uintptr, iChanged int32, ppF } // Set the pIter->bEof variable based on the state of the sub-iterators. -func fts5MultiIterSetEof(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:227664:13: */ +func fts5MultiIterSetEof(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:227721:13: */ var pSeg uintptr = pIter + 96 + uintptr((*Fts5CResult)(unsafe.Pointer((*Fts5Iter)(unsafe.Pointer(pIter)).FaFirst+1*4)).FiFirst)*120 (*Fts5Iter)(unsafe.Pointer(pIter)).Fbase.FbEof = U8(libc.Bool32((*Fts5SegIter)(unsafe.Pointer(pSeg)).FpLeaf == uintptr(0))) (*Fts5Iter)(unsafe.Pointer(pIter)).FiSwitchRowid = (*Fts5SegIter)(unsafe.Pointer(pSeg)).FiRowid @@ -181714,7 +181745,7 @@ func fts5MultiIterSetEof(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:227664:13: // If an error occurs, an error code is left in Fts5Index.rc. It is not // considered an error if the iterator reaches EOF, or if it is already at // EOF when this function is called. -func fts5MultiIterNext(tls *libc.TLS, p uintptr, pIter uintptr, bFrom int32, iFrom I64) { /* sqlite3.c:227677:13: */ +func fts5MultiIterNext(tls *libc.TLS, p uintptr, pIter uintptr, bFrom int32, iFrom I64) { /* sqlite3.c:227734:13: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -181753,7 +181784,7 @@ func fts5MultiIterNext(tls *libc.TLS, p uintptr, pIter uintptr, bFrom int32, iFr } } -func fts5MultiIterNext2(tls *libc.TLS, p uintptr, pIter uintptr, pbNewTerm uintptr) { /* sqlite3.c:227715:13: */ +func fts5MultiIterNext2(tls *libc.TLS, p uintptr, pIter uintptr, pbNewTerm uintptr) { /* sqlite3.c:227772:13: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -181778,12 +181809,12 @@ func fts5MultiIterNext2(tls *libc.TLS, p uintptr, pIter uintptr, pbNewTerm uintp } } -func fts5IterSetOutputs_Noop(tls *libc.TLS, pUnused1 uintptr, pUnused2 uintptr) { /* sqlite3.c:227743:13: */ +func fts5IterSetOutputs_Noop(tls *libc.TLS, pUnused1 uintptr, pUnused2 uintptr) { /* sqlite3.c:227800:13: */ _ = pUnused1 _ = pUnused2 } -func fts5MultiIterAlloc(tls *libc.TLS, p uintptr, nSeg int32) uintptr { /* sqlite3.c:227747:17: */ +func fts5MultiIterAlloc(tls *libc.TLS, p uintptr, nSeg int32) uintptr { /* sqlite3.c:227804:17: */ var pNew uintptr var nSlot int32 // Power of two >= nSeg @@ -181802,7 +181833,7 @@ func fts5MultiIterAlloc(tls *libc.TLS, p uintptr, nSeg int32) uintptr { /* sqlit return pNew } -func fts5PoslistCallback(tls *libc.TLS, pUnused uintptr, pContext uintptr, pChunk uintptr, nChunk int32) { /* sqlite3.c:227769:13: */ +func fts5PoslistCallback(tls *libc.TLS, pUnused uintptr, pContext uintptr, pChunk uintptr, nChunk int32) { /* sqlite3.c:227826:13: */ _ = pUnused if nChunk > 0 { @@ -181819,21 +181850,21 @@ type PoslistCallbackCtx1 = struct { FpColset uintptr FeState int32 F__ccgo_pad1 [4]byte -} /* sqlite3.c:227781:9 */ +} /* sqlite3.c:227838:9 */ -type PoslistCallbackCtx = PoslistCallbackCtx1 /* sqlite3.c:227781:35 */ +type PoslistCallbackCtx = PoslistCallbackCtx1 /* sqlite3.c:227838:35 */ type PoslistOffsetsCtx1 = struct { FpBuf uintptr FpColset uintptr FiRead int32 FiWrite int32 -} /* sqlite3.c:227788:9 */ +} /* sqlite3.c:227845:9 */ -type PoslistOffsetsCtx = PoslistOffsetsCtx1 /* sqlite3.c:227788:34 */ +type PoslistOffsetsCtx = PoslistOffsetsCtx1 /* sqlite3.c:227845:34 */ // TODO: Make this more efficient! -func fts5IndexColsetTest(tls *libc.TLS, pColset uintptr, iCol int32) int32 { /* sqlite3.c:227799:12: */ +func fts5IndexColsetTest(tls *libc.TLS, pColset uintptr, iCol int32) int32 { /* sqlite3.c:227856:12: */ var i int32 for i = 0; i < (*Fts5Colset)(unsafe.Pointer(pColset)).FnCol; i++ { if *(*int32)(unsafe.Pointer(pColset + 4 + uintptr(i)*4)) == iCol { @@ -181843,7 +181874,7 @@ func fts5IndexColsetTest(tls *libc.TLS, pColset uintptr, iCol int32) int32 { /* return 0 } -func fts5PoslistOffsetsCallback(tls *libc.TLS, pUnused uintptr, pContext uintptr, pChunk uintptr, nChunk int32) { /* sqlite3.c:227807:13: */ +func fts5PoslistOffsetsCallback(tls *libc.TLS, pUnused uintptr, pContext uintptr, pChunk uintptr, nChunk int32) { /* sqlite3.c:227864:13: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -181869,7 +181900,7 @@ func fts5PoslistOffsetsCallback(tls *libc.TLS, pUnused uintptr, pContext uintptr } } -func fts5PoslistFilterCallback(tls *libc.TLS, pUnused uintptr, pContext uintptr, pChunk uintptr, nChunk int32) { /* sqlite3.c:227830:13: */ +func fts5PoslistFilterCallback(tls *libc.TLS, pUnused uintptr, pContext uintptr, pChunk uintptr, nChunk int32) { /* sqlite3.c:227887:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -181949,7 +181980,7 @@ func fts5PoslistFilterCallback(tls *libc.TLS, pUnused uintptr, pContext uintptr, } } -func fts5ChunkIterate(tls *libc.TLS, p uintptr, pSeg uintptr, pCtx uintptr, xChunk uintptr) { /* sqlite3.c:227882:13: */ +func fts5ChunkIterate(tls *libc.TLS, p uintptr, pSeg uintptr, pCtx uintptr, xChunk uintptr) { /* sqlite3.c:227939:13: */ var nRem int32 = (*Fts5SegIter)(unsafe.Pointer(pSeg)).FnPos // Number of bytes still to come var pData uintptr = uintptr(0) var pChunk uintptr = (*Fts5Data)(unsafe.Pointer((*Fts5SegIter)(unsafe.Pointer(pSeg)).FpLeaf)).Fp + uintptr((*Fts5SegIter)(unsafe.Pointer(pSeg)).FiLeafOffset) @@ -182005,7 +182036,7 @@ func fts5ChunkIterate(tls *libc.TLS, p uintptr, pSeg uintptr, pCtx uintptr, xChu // function appends the position list data for the current entry to // buffer pBuf. It does not make a copy of the position-list size // field. -func fts5SegiterPoslist(tls *libc.TLS, p uintptr, pSeg uintptr, pColset uintptr, pBuf uintptr) { /* sqlite3.c:227932:13: */ +func fts5SegiterPoslist(tls *libc.TLS, p uintptr, pSeg uintptr, pColset uintptr, pBuf uintptr) { /* sqlite3.c:227989:13: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -182056,7 +182087,7 @@ func fts5SegiterPoslist(tls *libc.TLS, p uintptr, pSeg uintptr, pColset uintptr, // This function is a no-op if *pRc is other than SQLITE_OK when it is // called. If an OOM error is encountered, *pRc is set to SQLITE_NOMEM // before returning. -func fts5IndexExtractColset(tls *libc.TLS, pRc uintptr, pColset uintptr, pPos uintptr, nPos int32, pIter uintptr) { /* sqlite3.c:227977:13: */ +func fts5IndexExtractColset(tls *libc.TLS, pRc uintptr, pColset uintptr, pPos uintptr, nPos int32, pIter uintptr) { /* sqlite3.c:228034:13: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -182117,7 +182148,7 @@ func fts5IndexExtractColset(tls *libc.TLS, pRc uintptr, pColset uintptr, pPos ui } // xSetOutputs callback used by detail=none tables. -func fts5IterSetOutputs_None(tls *libc.TLS, pIter uintptr, pSeg uintptr) { /* sqlite3.c:228037:13: */ +func fts5IterSetOutputs_None(tls *libc.TLS, pIter uintptr, pSeg uintptr) { /* sqlite3.c:228094:13: */ (*Fts5Iter)(unsafe.Pointer(pIter)).Fbase.FiRowid = (*Fts5SegIter)(unsafe.Pointer(pSeg)).FiRowid (*Fts5Iter)(unsafe.Pointer(pIter)).Fbase.FnData = (*Fts5SegIter)(unsafe.Pointer(pSeg)).FnPos @@ -182125,7 +182156,7 @@ func fts5IterSetOutputs_None(tls *libc.TLS, pIter uintptr, pSeg uintptr) { /* sq // xSetOutputs callback used by detail=full and detail=col tables when no // column filters are specified. -func fts5IterSetOutputs_Nocolset(tls *libc.TLS, pIter uintptr, pSeg uintptr) { /* sqlite3.c:228047:13: */ +func fts5IterSetOutputs_Nocolset(tls *libc.TLS, pIter uintptr, pSeg uintptr) { /* sqlite3.c:228104:13: */ (*Fts5Iter)(unsafe.Pointer(pIter)).Fbase.FiRowid = (*Fts5SegIter)(unsafe.Pointer(pSeg)).FiRowid (*Fts5Iter)(unsafe.Pointer(pIter)).Fbase.FnData = (*Fts5SegIter)(unsafe.Pointer(pSeg)).FnPos @@ -182145,7 +182176,7 @@ func fts5IterSetOutputs_Nocolset(tls *libc.TLS, pIter uintptr, pSeg uintptr) { / // xSetOutputs callback used when the Fts5Colset object has nCol==0 (match // against no columns at all). -func fts5IterSetOutputs_ZeroColset(tls *libc.TLS, pIter uintptr, pSeg uintptr) { /* sqlite3.c:228072:13: */ +func fts5IterSetOutputs_ZeroColset(tls *libc.TLS, pIter uintptr, pSeg uintptr) { /* sqlite3.c:228129:13: */ _ = pSeg (*Fts5Iter)(unsafe.Pointer(pIter)).Fbase.FnData = 0 } @@ -182153,7 +182184,7 @@ func fts5IterSetOutputs_ZeroColset(tls *libc.TLS, pIter uintptr, pSeg uintptr) { // xSetOutputs callback used by detail=col when there is a column filter // and there are 100 or more columns. Also called as a fallback from // fts5IterSetOutputs_Col100 if the column-list spans more than one page. -func fts5IterSetOutputs_Col(tls *libc.TLS, pIter uintptr, pSeg uintptr) { /* sqlite3.c:228082:13: */ +func fts5IterSetOutputs_Col(tls *libc.TLS, pIter uintptr, pSeg uintptr) { /* sqlite3.c:228139:13: */ sqlite3Fts5BufferZero(tls, pIter+32) fts5SegiterPoslist(tls, (*Fts5Iter)(unsafe.Pointer(pIter)).FpIndex, pSeg, (*Fts5Iter)(unsafe.Pointer(pIter)).FpColset, pIter+32) (*Fts5Iter)(unsafe.Pointer(pIter)).Fbase.FiRowid = (*Fts5SegIter)(unsafe.Pointer(pSeg)).FiRowid @@ -182169,7 +182200,7 @@ func fts5IterSetOutputs_Col(tls *libc.TLS, pIter uintptr, pSeg uintptr) { /* sql // // The last point is to ensure all column numbers are stored as // single-byte varints. -func fts5IterSetOutputs_Col100(tls *libc.TLS, pIter uintptr, pSeg uintptr) { /* sqlite3.c:228100:13: */ +func fts5IterSetOutputs_Col100(tls *libc.TLS, pIter uintptr, pSeg uintptr) { /* sqlite3.c:228157:13: */ var a uintptr var pEnd uintptr var iPrev int32 @@ -182231,7 +182262,7 @@ __2: } // xSetOutputs callback used by detail=full when there is a column filter. -func fts5IterSetOutputs_Full(tls *libc.TLS, pIter uintptr, pSeg uintptr) { /* sqlite3.c:228140:13: */ +func fts5IterSetOutputs_Full(tls *libc.TLS, pIter uintptr, pSeg uintptr) { /* sqlite3.c:228197:13: */ var pColset uintptr = (*Fts5Iter)(unsafe.Pointer(pIter)).FpColset (*Fts5Iter)(unsafe.Pointer(pIter)).Fbase.FiRowid = (*Fts5SegIter)(unsafe.Pointer(pSeg)).FiRowid @@ -182253,7 +182284,7 @@ func fts5IterSetOutputs_Full(tls *libc.TLS, pIter uintptr, pSeg uintptr) { /* sq } } -func fts5IterSetOutputCb(tls *libc.TLS, pRc uintptr, pIter uintptr) { /* sqlite3.c:228165:13: */ +func fts5IterSetOutputCb(tls *libc.TLS, pRc uintptr, pIter uintptr) { /* sqlite3.c:228222:13: */ if *(*int32)(unsafe.Pointer(pRc)) == SQLITE_OK { var pConfig uintptr = (*Fts5Index)(unsafe.Pointer((*Fts5Iter)(unsafe.Pointer(pIter)).FpIndex)).FpConfig @@ -182298,7 +182329,7 @@ func fts5IterSetOutputCb(tls *libc.TLS, pRc uintptr, pIter uintptr) { /* sqlite3 // // The iterator initially points to the first term/rowid entry in the // iterated data. -func fts5MultiIterNew(tls *libc.TLS, p uintptr, pStruct uintptr, flags int32, pColset uintptr, pTerm uintptr, nTerm int32, iLevel int32, nSegment int32, ppOut uintptr) { /* sqlite3.c:228209:13: */ +func fts5MultiIterNew(tls *libc.TLS, p uintptr, pStruct uintptr, flags int32, pColset uintptr, pTerm uintptr, nTerm int32, iLevel int32, nSegment int32, ppOut uintptr) { /* sqlite3.c:228266:13: */ var nSeg int32 // Number of segment-iters in use var iIter int32 // var iSeg int32 // Used to iterate through segments @@ -182501,7 +182532,7 @@ fts5MultiIterNew_post_check: // Create an Fts5Iter that iterates through the doclist provided // as the second argument. -func fts5MultiIterNew2(tls *libc.TLS, p uintptr, pData uintptr, bDesc int32, ppOut uintptr) { /* sqlite3.c:228315:13: */ +func fts5MultiIterNew2(tls *libc.TLS, p uintptr, pData uintptr, bDesc int32, ppOut uintptr) { /* sqlite3.c:228372:13: */ var pNew uintptr pNew = fts5MultiIterAlloc(tls, p, 2) if pNew != 0 { @@ -182534,7 +182565,7 @@ func fts5MultiIterNew2(tls *libc.TLS, p uintptr, pData uintptr, bDesc int32, ppO // Return true if the iterator is at EOF or if an error has occurred. // False otherwise. -func fts5MultiIterEof(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlite3.c:228355:12: */ +func fts5MultiIterEof(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlite3.c:228412:12: */ return libc.Bool32((*Fts5Index)(unsafe.Pointer(p)).Frc != 0 || (*Fts5Iter)(unsafe.Pointer(pIter)).Fbase.FbEof != 0) } @@ -182542,13 +182573,13 @@ func fts5MultiIterEof(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlite // Return the rowid of the entry that the iterator currently points // to. If the iterator points to EOF when this function is called the // results are undefined. -func fts5MultiIterRowid(tls *libc.TLS, pIter uintptr) I64 { /* sqlite3.c:228368:12: */ +func fts5MultiIterRowid(tls *libc.TLS, pIter uintptr) I64 { /* sqlite3.c:228425:12: */ return (*Fts5SegIter)(unsafe.Pointer(pIter + 96 + uintptr((*Fts5CResult)(unsafe.Pointer((*Fts5Iter)(unsafe.Pointer(pIter)).FaFirst+1*4)).FiFirst)*120)).FiRowid } // Move the iterator to the next entry at or following iMatch. -func fts5MultiIterNextFrom(tls *libc.TLS, p uintptr, pIter uintptr, iMatch I64) { /* sqlite3.c:228376:13: */ +func fts5MultiIterNextFrom(tls *libc.TLS, p uintptr, pIter uintptr, iMatch I64) { /* sqlite3.c:228433:13: */ for 1 != 0 { var iRowid I64 fts5MultiIterNext(tls, p, pIter, 1, iMatch) @@ -182567,7 +182598,7 @@ func fts5MultiIterNextFrom(tls *libc.TLS, p uintptr, pIter uintptr, iMatch I64) // Return a pointer to a buffer containing the term associated with the // entry that the iterator currently points to. -func fts5MultiIterTerm(tls *libc.TLS, pIter uintptr, pn uintptr) uintptr { /* sqlite3.c:228395:17: */ +func fts5MultiIterTerm(tls *libc.TLS, pIter uintptr, pn uintptr) uintptr { /* sqlite3.c:228452:17: */ var p uintptr = pIter + 96 + uintptr((*Fts5CResult)(unsafe.Pointer((*Fts5Iter)(unsafe.Pointer(pIter)).FaFirst+1*4)).FiFirst)*120 *(*int32)(unsafe.Pointer(pn)) = (*Fts5SegIter)(unsafe.Pointer(p)).Fterm.Fn return (*Fts5SegIter)(unsafe.Pointer(p)).Fterm.Fp @@ -182580,7 +182611,7 @@ func fts5MultiIterTerm(tls *libc.TLS, pIter uintptr, pn uintptr) uintptr { /* sq // // If an error has already occurred, this function is a no-op. 0 is // returned in this case. -func fts5AllocateSegid(tls *libc.TLS, p uintptr, pStruct uintptr) int32 { /* sqlite3.c:228410:12: */ +func fts5AllocateSegid(tls *libc.TLS, p uintptr, pStruct uintptr) int32 { /* sqlite3.c:228467:12: */ bp := tls.Alloc(252) defer tls.Free(252) @@ -182622,7 +182653,7 @@ func fts5AllocateSegid(tls *libc.TLS, p uintptr, pStruct uintptr) int32 { /* sql } // Discard all data currently cached in the hash-tables. -func fts5IndexDiscardData(tls *libc.TLS, p uintptr) { /* sqlite3.c:228467:13: */ +func fts5IndexDiscardData(tls *libc.TLS, p uintptr) { /* sqlite3.c:228524:13: */ if (*Fts5Index)(unsafe.Pointer(p)).FpHash != 0 { sqlite3Fts5HashClear(tls, (*Fts5Index)(unsafe.Pointer(p)).FpHash) @@ -182635,7 +182666,7 @@ func fts5IndexDiscardData(tls *libc.TLS, p uintptr) { /* sqlite3.c:228467:13: */ // // Buffer (pNew/) is guaranteed to be greater // than buffer (pOld/nOld). -func fts5PrefixCompress(tls *libc.TLS, nOld int32, pOld uintptr, pNew uintptr) int32 { /* sqlite3.c:228482:12: */ +func fts5PrefixCompress(tls *libc.TLS, nOld int32, pOld uintptr, pNew uintptr) int32 { /* sqlite3.c:228539:12: */ var i int32 for i = 0; i < nOld; i++ { if int32(*(*U8)(unsafe.Pointer(pOld + uintptr(i)))) != int32(*(*U8)(unsafe.Pointer(pNew + uintptr(i)))) { @@ -182645,7 +182676,7 @@ func fts5PrefixCompress(tls *libc.TLS, nOld int32, pOld uintptr, pNew uintptr) i return i } -func fts5WriteDlidxClear(tls *libc.TLS, p uintptr, pWriter uintptr, bFlush int32) { /* sqlite3.c:228490:13: */ +func fts5WriteDlidxClear(tls *libc.TLS, p uintptr, pWriter uintptr, bFlush int32) { /* sqlite3.c:228547:13: */ var i int32 for i = 0; i < (*Fts5SegWriter)(unsafe.Pointer(pWriter)).FnDlidx; i++ { @@ -182666,7 +182697,7 @@ func fts5WriteDlidxClear(tls *libc.TLS, p uintptr, pWriter uintptr, bFlush int32 // Grow the pWriter->aDlidx[] array to at least nLvl elements in size. // Any new array elements are zeroed before returning. -func fts5WriteDlidxGrow(tls *libc.TLS, p uintptr, pWriter uintptr, nLvl int32) int32 { /* sqlite3.c:228516:12: */ +func fts5WriteDlidxGrow(tls *libc.TLS, p uintptr, pWriter uintptr, nLvl int32) int32 { /* sqlite3.c:228573:12: */ if (*Fts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK && nLvl >= (*Fts5SegWriter)(unsafe.Pointer(pWriter)).FnDlidx { var aDlidx uintptr = Xsqlite3_realloc64(tls, (*Fts5SegWriter)(unsafe.Pointer(pWriter)).FaDlidx, uint64(uint64(unsafe.Sizeof(Fts5DlidxWriter{}))*uint64(nLvl))) @@ -182685,7 +182716,7 @@ func fts5WriteDlidxGrow(tls *libc.TLS, p uintptr, pWriter uintptr, nLvl int32) i // If the current doclist-index accumulating in pWriter->aDlidx[] is large // enough, flush it to disk and return 1. Otherwise discard it and return // zero. -func fts5WriteFlushDlidx(tls *libc.TLS, p uintptr, pWriter uintptr) int32 { /* sqlite3.c:228542:12: */ +func fts5WriteFlushDlidx(tls *libc.TLS, p uintptr, pWriter uintptr) int32 { /* sqlite3.c:228599:12: */ var bFlag int32 = 0 // If there were FTS5_MIN_DLIDX_SIZE or more empty leaf pages written @@ -182707,7 +182738,7 @@ func fts5WriteFlushDlidx(tls *libc.TLS, p uintptr, pWriter uintptr) int32 { /* s // it. // // Fts5SegWriter.btterm currently contains the first term on page iBtPage. -func fts5WriteFlushBtree(tls *libc.TLS, p uintptr, pWriter uintptr) { /* sqlite3.c:228566:13: */ +func fts5WriteFlushBtree(tls *libc.TLS, p uintptr, pWriter uintptr) { /* sqlite3.c:228623:13: */ var bFlag int32 if (*Fts5SegWriter)(unsafe.Pointer(pWriter)).FiBtPage == 0 { @@ -182740,7 +182771,7 @@ func fts5WriteFlushBtree(tls *libc.TLS, p uintptr, pWriter uintptr) { /* sqlite3 // // If an error occurs, an error code is left in Fts5Index.rc. If an error // has already occurred when this function is called, it is a no-op. -func fts5WriteBtreeTerm(tls *libc.TLS, p uintptr, pWriter uintptr, nTerm int32, pTerm uintptr) { /* sqlite3.c:228595:13: */ +func fts5WriteBtreeTerm(tls *libc.TLS, p uintptr, pWriter uintptr, nTerm int32, pTerm uintptr) { /* sqlite3.c:228652:13: */ fts5WriteFlushBtree(tls, p, pWriter) if (*Fts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK { sqlite3Fts5BufferSet(tls, p+52, pWriter+96, nTerm, pTerm) @@ -182750,7 +182781,7 @@ func fts5WriteBtreeTerm(tls *libc.TLS, p uintptr, pWriter uintptr, nTerm int32, // This function is called when flushing a leaf page that contains no // terms at all to disk. -func fts5WriteBtreeNoTerm(tls *libc.TLS, p uintptr, pWriter uintptr) { /* sqlite3.c:228611:13: */ +func fts5WriteBtreeNoTerm(tls *libc.TLS, p uintptr, pWriter uintptr) { /* sqlite3.c:228668:13: */ // If there were no rowids on the leaf page either and the doclist-index // has already been started, append an 0x00 byte to it. if (*Fts5SegWriter)(unsafe.Pointer(pWriter)).FbFirstRowidInPage != 0 && (*Fts5DlidxWriter)(unsafe.Pointer((*Fts5SegWriter)(unsafe.Pointer(pWriter)).FaDlidx)).Fbuf.Fn > 0 { @@ -182763,7 +182794,7 @@ func fts5WriteBtreeNoTerm(tls *libc.TLS, p uintptr, pWriter uintptr) { /* sqlite (*Fts5SegWriter)(unsafe.Pointer(pWriter)).FnEmpty++ } -func fts5DlidxExtractFirstRowid(tls *libc.TLS, pBuf uintptr) I64 { /* sqlite3.c:228627:12: */ +func fts5DlidxExtractFirstRowid(tls *libc.TLS, pBuf uintptr) I64 { /* sqlite3.c:228684:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -182779,7 +182810,7 @@ func fts5DlidxExtractFirstRowid(tls *libc.TLS, pBuf uintptr) I64 { /* sqlite3.c: // Rowid iRowid has just been appended to the current leaf page. It is the // first on the page. This function appends an appropriate entry to the current // doclist-index. -func fts5WriteDlidxAppend(tls *libc.TLS, p uintptr, pWriter uintptr, iRowid I64) { /* sqlite3.c:228641:13: */ +func fts5WriteDlidxAppend(tls *libc.TLS, p uintptr, pWriter uintptr, iRowid I64) { /* sqlite3.c:228698:13: */ var i int32 var bDone int32 = 0 @@ -182839,7 +182870,7 @@ func fts5WriteDlidxAppend(tls *libc.TLS, p uintptr, pWriter uintptr, iRowid I64) } } -func fts5WriteFlushLeaf(tls *libc.TLS, p uintptr, pWriter uintptr) { /* sqlite3.c:228701:13: */ +func fts5WriteFlushLeaf(tls *libc.TLS, p uintptr, pWriter uintptr) { /* sqlite3.c:228758:13: */ var pPage uintptr = pWriter + 8 var iRowid I64 @@ -182875,14 +182906,14 @@ func fts5WriteFlushLeaf(tls *libc.TLS, p uintptr, pWriter uintptr) { /* sqlite3. (*Fts5SegWriter)(unsafe.Pointer(pWriter)).FbFirstRowidInPage = U8(1) } -var zero = [4]U8{U8(0x00), U8(0x00), U8(0x00), U8(0x00)} /* sqlite3.c:228702:19 */ +var zero = [4]U8{U8(0x00), U8(0x00), U8(0x00), U8(0x00)} /* sqlite3.c:228759:19 */ // Append term pTerm/nTerm to the segment being written by the writer passed // as the second argument. // // If an error occurs, set the Fts5Index.rc error code. If an error has // already occurred, this function is a no-op. -func fts5WriteAppendTerm(tls *libc.TLS, p uintptr, pWriter uintptr, nTerm int32, pTerm uintptr) { /* sqlite3.c:228747:13: */ +func fts5WriteAppendTerm(tls *libc.TLS, p uintptr, pWriter uintptr, nTerm int32, pTerm uintptr) { /* sqlite3.c:228804:13: */ var nPrefix int32 // Bytes of prefix compression for term var pPage uintptr = pWriter + 8 var pPgidx uintptr = pWriter + 8 + 24 @@ -182958,7 +182989,7 @@ func fts5WriteAppendTerm(tls *libc.TLS, p uintptr, pWriter uintptr, nTerm int32, } // Append a rowid and position-list size field to the writers output. -func fts5WriteAppendRowid(tls *libc.TLS, p uintptr, pWriter uintptr, iRowid I64) { /* sqlite3.c:228828:13: */ +func fts5WriteAppendRowid(tls *libc.TLS, p uintptr, pWriter uintptr, iRowid I64) { /* sqlite3.c:228885:13: */ if (*Fts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK { var pPage uintptr = pWriter + 8 @@ -182987,7 +183018,7 @@ func fts5WriteAppendRowid(tls *libc.TLS, p uintptr, pWriter uintptr, iRowid I64) } } -func fts5WriteAppendPoslistData(tls *libc.TLS, p uintptr, pWriter uintptr, aData uintptr, nData int32) { /* sqlite3.c:228861:13: */ +func fts5WriteAppendPoslistData(tls *libc.TLS, p uintptr, pWriter uintptr, aData uintptr, nData int32) { /* sqlite3.c:228918:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -183016,7 +183047,7 @@ func fts5WriteAppendPoslistData(tls *libc.TLS, p uintptr, pWriter uintptr, aData // Flush any data cached by the writer object to the database. Free any // allocations associated with the writer. -func fts5WriteFinish(tls *libc.TLS, p uintptr, pWriter uintptr, pnLeaf uintptr) { /* sqlite3.c:228895:13: */ +func fts5WriteFinish(tls *libc.TLS, p uintptr, pWriter uintptr, pnLeaf uintptr) { /* sqlite3.c:228952:13: */ var i int32 var pLeaf uintptr = pWriter + 8 if (*Fts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK { @@ -183040,7 +183071,7 @@ func fts5WriteFinish(tls *libc.TLS, p uintptr, pWriter uintptr, pnLeaf uintptr) Xsqlite3_free(tls, (*Fts5SegWriter)(unsafe.Pointer(pWriter)).FaDlidx) } -func fts5WriteInit(tls *libc.TLS, p uintptr, pWriter uintptr, iSegid int32) { /* sqlite3.c:228923:13: */ +func fts5WriteInit(tls *libc.TLS, p uintptr, pWriter uintptr, iSegid int32) { /* sqlite3.c:228980:13: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -183080,7 +183111,7 @@ func fts5WriteInit(tls *libc.TLS, p uintptr, pWriter uintptr, iSegid int32) { /* // Iterator pIter was used to iterate through the input segments of on an // incremental merge operation. This function is called if the incremental // merge step has finished but the input has not been completely exhausted. -func fts5TrimSegments(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:228970:13: */ +func fts5TrimSegments(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:229027:13: */ bp := tls.Alloc(20) defer tls.Free(20) @@ -183149,13 +183180,13 @@ func fts5TrimSegments(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:22 sqlite3Fts5BufferFree(tls, bp) } -func fts5MergeChunkCallback(tls *libc.TLS, p uintptr, pCtx uintptr, pChunk uintptr, nChunk int32) { /* sqlite3.c:229036:13: */ +func fts5MergeChunkCallback(tls *libc.TLS, p uintptr, pCtx uintptr, pChunk uintptr, nChunk int32) { /* sqlite3.c:229093:13: */ var pWriter uintptr = pCtx fts5WriteAppendPoslistData(tls, p, pWriter, pChunk, nChunk) } // -func fts5IndexMergeLevel(tls *libc.TLS, p uintptr, ppStruct uintptr, iLvl int32, pnRem uintptr) { /* sqlite3.c:229048:13: */ +func fts5IndexMergeLevel(tls *libc.TLS, p uintptr, ppStruct uintptr, iLvl int32, pnRem uintptr) { /* sqlite3.c:229105:13: */ bp := tls.Alloc(148) defer tls.Free(148) @@ -183314,7 +183345,7 @@ func fts5IndexMergeLevel(tls *libc.TLS, p uintptr, ppStruct uintptr, iLvl int32, // Do up to nPg pages of automerge work on the index. // // Return true if any changes were actually made, or false otherwise. -func fts5IndexMerge(tls *libc.TLS, p uintptr, ppStruct uintptr, nPg int32, nMin int32) int32 { /* sqlite3.c:229198:12: */ +func fts5IndexMerge(tls *libc.TLS, p uintptr, ppStruct uintptr, nPg int32, nMin int32) int32 { /* sqlite3.c:229255:12: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -183364,7 +183395,7 @@ func fts5IndexMerge(tls *libc.TLS, p uintptr, ppStruct uintptr, nPg int32, nMin // // If an error occurs, set the Fts5Index.rc error code. If an error has // already occurred, this function is a no-op. -func fts5IndexAutomerge(tls *libc.TLS, p uintptr, ppStruct uintptr, nLeaf int32) { /* sqlite3.c:229257:13: */ +func fts5IndexAutomerge(tls *libc.TLS, p uintptr, ppStruct uintptr, nLeaf int32) { /* sqlite3.c:229314:13: */ if (*Fts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK && (*Fts5Config)(unsafe.Pointer((*Fts5Index)(unsafe.Pointer(p)).FpConfig)).FnAutomerge > 0 && *(*uintptr)(unsafe.Pointer(ppStruct)) != uintptr(0) { var pStruct uintptr = *(*uintptr)(unsafe.Pointer(ppStruct)) var nWrite U64 // Initial value of write-counter @@ -183381,7 +183412,7 @@ func fts5IndexAutomerge(tls *libc.TLS, p uintptr, ppStruct uintptr, nLeaf int32) } } -func fts5IndexCrisismerge(tls *libc.TLS, p uintptr, ppStruct uintptr) { /* sqlite3.c:229278:13: */ +func fts5IndexCrisismerge(tls *libc.TLS, p uintptr, ppStruct uintptr) { /* sqlite3.c:229335:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -183398,7 +183429,7 @@ func fts5IndexCrisismerge(tls *libc.TLS, p uintptr, ppStruct uintptr) { /* sqlit *(*uintptr)(unsafe.Pointer(ppStruct)) = *(*uintptr)(unsafe.Pointer(bp /* pStruct */)) } -func fts5IndexReturn(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:229296:12: */ +func fts5IndexReturn(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:229353:12: */ var rc int32 = (*Fts5Index)(unsafe.Pointer(p)).Frc (*Fts5Index)(unsafe.Pointer(p)).Frc = SQLITE_OK return rc @@ -183407,14 +183438,14 @@ func fts5IndexReturn(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:229296:12: * type Fts5FlushCtx1 = struct { FpIdx uintptr Fwriter Fts5SegWriter -} /* sqlite3.c:229302:9 */ +} /* sqlite3.c:229359:9 */ -type Fts5FlushCtx = Fts5FlushCtx1 /* sqlite3.c:229302:29 */ +type Fts5FlushCtx = Fts5FlushCtx1 /* sqlite3.c:229359:29 */ // Buffer aBuf[] contains a list of varints, all small enough to fit // in a 32-bit integer. Return the size of the largest prefix of this // list nMax bytes or less in size. -func fts5PoslistPrefix(tls *libc.TLS, aBuf uintptr, nMax int32) int32 { /* sqlite3.c:229313:12: */ +func fts5PoslistPrefix(tls *libc.TLS, aBuf uintptr, nMax int32) int32 { /* sqlite3.c:229370:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -183439,7 +183470,7 @@ func fts5PoslistPrefix(tls *libc.TLS, aBuf uintptr, nMax int32) int32 { /* sqlit // // If an error occurs, set the Fts5Index.rc error code. If an error has // already occurred, this function is a no-op. -func fts5FlushOneHash(tls *libc.TLS, p uintptr) { /* sqlite3.c:229334:13: */ +func fts5FlushOneHash(tls *libc.TLS, p uintptr) { /* sqlite3.c:229391:13: */ bp := tls.Alloc(176) defer tls.Free(176) @@ -183617,7 +183648,7 @@ func fts5FlushOneHash(tls *libc.TLS, p uintptr) { /* sqlite3.c:229334:13: */ } // Flush any data stored in the in-memory hash tables to the database. -func fts5IndexFlush(tls *libc.TLS, p uintptr) { /* sqlite3.c:229488:13: */ +func fts5IndexFlush(tls *libc.TLS, p uintptr) { /* sqlite3.c:229545:13: */ // Unless it is empty, flush the hash table to disk if (*Fts5Index)(unsafe.Pointer(p)).FnPendingData != 0 { @@ -183626,7 +183657,7 @@ func fts5IndexFlush(tls *libc.TLS, p uintptr) { /* sqlite3.c:229488:13: */ } } -func fts5IndexOptimizeStruct(tls *libc.TLS, p uintptr, pStruct uintptr) uintptr { /* sqlite3.c:229497:22: */ +func fts5IndexOptimizeStruct(tls *libc.TLS, p uintptr, pStruct uintptr) uintptr { /* sqlite3.c:229554:22: */ var pNew uintptr = uintptr(0) var nByte Sqlite3_int64 = Sqlite3_int64(unsafe.Sizeof(Fts5Structure{})) var nSeg int32 = (*Fts5Structure)(unsafe.Pointer(pStruct)).FnSegment @@ -183687,7 +183718,7 @@ func fts5IndexOptimizeStruct(tls *libc.TLS, p uintptr, pStruct uintptr) uintptr return pNew } -func sqlite3Fts5IndexOptimize(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:229559:12: */ +func sqlite3Fts5IndexOptimize(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:229616:12: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -183721,7 +183752,7 @@ func sqlite3Fts5IndexOptimize(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:229 // This is called to implement the special "VALUES('merge', $nMerge)" // INSERT command. -func sqlite3Fts5IndexMerge(tls *libc.TLS, p uintptr, nMerge int32) int32 { /* sqlite3.c:229593:12: */ +func sqlite3Fts5IndexMerge(tls *libc.TLS, p uintptr, nMerge int32) int32 { /* sqlite3.c:229650:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -183746,12 +183777,12 @@ func sqlite3Fts5IndexMerge(tls *libc.TLS, p uintptr, nMerge int32) int32 { /* sq return fts5IndexReturn(tls, p) } -func fts5AppendRowid(tls *libc.TLS, p uintptr, iDelta I64, pUnused uintptr, pBuf uintptr) { /* sqlite3.c:229615:13: */ +func fts5AppendRowid(tls *libc.TLS, p uintptr, iDelta I64, pUnused uintptr, pBuf uintptr) { /* sqlite3.c:229672:13: */ _ = pUnused sqlite3Fts5BufferAppendVarint(tls, p+52, pBuf, iDelta) } -func fts5AppendPoslist(tls *libc.TLS, p uintptr, iDelta I64, pMulti uintptr, pBuf uintptr) { /* sqlite3.c:229625:13: */ +func fts5AppendPoslist(tls *libc.TLS, p uintptr, iDelta I64, pMulti uintptr, pBuf uintptr) { /* sqlite3.c:229682:13: */ var nData int32 = (*Fts5Iter)(unsafe.Pointer(pMulti)).Fbase.FnData var nByte int32 = nData + 9 + 9 + FTS5_DATA_ZERO_PADDING @@ -183778,7 +183809,7 @@ func fts5AppendPoslist(tls *libc.TLS, p uintptr, iDelta I64, pMulti uintptr, pBu } } -func fts5DoclistIterNext(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:229643:13: */ +func fts5DoclistIterNext(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:229700:13: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -183810,7 +183841,7 @@ func fts5DoclistIterNext(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:229643:13: } } -func fts5DoclistIterInit(tls *libc.TLS, pBuf uintptr, pIter uintptr) { /* sqlite3.c:229672:13: */ +func fts5DoclistIterInit(tls *libc.TLS, pBuf uintptr, pIter uintptr) { /* sqlite3.c:229729:13: */ libc.Xmemset(tls, pIter, 0, uint64(unsafe.Sizeof(Fts5DoclistIter{}))) if (*Fts5Buffer)(unsafe.Pointer(pBuf)).Fn > 0 { (*Fts5DoclistIter)(unsafe.Pointer(pIter)).FaPoslist = (*Fts5Buffer)(unsafe.Pointer(pBuf)).Fp @@ -183820,13 +183851,13 @@ func fts5DoclistIterInit(tls *libc.TLS, pBuf uintptr, pIter uintptr) { /* sqlite } // Swap the contents of buffer *p1 with that of *p2. -func fts5BufferSwap(tls *libc.TLS, p1 uintptr, p2 uintptr) { /* sqlite3.c:229711:13: */ +func fts5BufferSwap(tls *libc.TLS, p1 uintptr, p2 uintptr) { /* sqlite3.c:229768:13: */ var tmp = *(*Fts5Buffer)(unsafe.Pointer(p1)) *(*Fts5Buffer)(unsafe.Pointer(p1)) = *(*Fts5Buffer)(unsafe.Pointer(p2)) *(*Fts5Buffer)(unsafe.Pointer(p2)) = tmp } -func fts5NextRowid(tls *libc.TLS, pBuf uintptr, piOff uintptr, piRowid uintptr) { /* sqlite3.c:229717:13: */ +func fts5NextRowid(tls *libc.TLS, pBuf uintptr, piOff uintptr, piRowid uintptr) { /* sqlite3.c:229774:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -183843,7 +183874,7 @@ func fts5NextRowid(tls *libc.TLS, pBuf uintptr, piOff uintptr, piRowid uintptr) // This is the equivalent of fts5MergePrefixLists() for detail=none mode. // In this case the buffers consist of a delta-encoded list of rowids only. -func fts5MergeRowidLists(tls *libc.TLS, p uintptr, p1 uintptr, nBuf int32, aBuf uintptr) { /* sqlite3.c:229732:13: */ +func fts5MergeRowidLists(tls *libc.TLS, p uintptr, p1 uintptr, nBuf int32, aBuf uintptr) { /* sqlite3.c:229789:13: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -183899,11 +183930,11 @@ type PrefixMerger1 = struct { F__ccgo_pad1 [4]byte FaPos uintptr FpNext uintptr -} /* sqlite3.c:229775:9 */ +} /* sqlite3.c:229832:9 */ -type PrefixMerger = PrefixMerger1 /* sqlite3.c:229775:29 */ +type PrefixMerger = PrefixMerger1 /* sqlite3.c:229832:29 */ -func fts5PrefixMergerInsertByRowid(tls *libc.TLS, ppHead uintptr, p uintptr) { /* sqlite3.c:229784:13: */ +func fts5PrefixMergerInsertByRowid(tls *libc.TLS, ppHead uintptr, p uintptr) { /* sqlite3.c:229841:13: */ if (*PrefixMerger)(unsafe.Pointer(p)).Fiter.FaPoslist != 0 { var pp uintptr = ppHead for *(*uintptr)(unsafe.Pointer(pp)) != 0 && (*PrefixMerger)(unsafe.Pointer(p)).Fiter.FiRowid > (*PrefixMerger)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pp)))).Fiter.FiRowid { @@ -183914,7 +183945,7 @@ func fts5PrefixMergerInsertByRowid(tls *libc.TLS, ppHead uintptr, p uintptr) { / } } -func fts5PrefixMergerInsertByPosition(tls *libc.TLS, ppHead uintptr, p uintptr) { /* sqlite3.c:229798:13: */ +func fts5PrefixMergerInsertByPosition(tls *libc.TLS, ppHead uintptr, p uintptr) { /* sqlite3.c:229855:13: */ if (*PrefixMerger)(unsafe.Pointer(p)).FiPos >= int64(0) { var pp uintptr = ppHead for *(*uintptr)(unsafe.Pointer(pp)) != 0 && (*PrefixMerger)(unsafe.Pointer(p)).FiPos > (*PrefixMerger)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pp)))).FiPos { @@ -183927,7 +183958,7 @@ func fts5PrefixMergerInsertByPosition(tls *libc.TLS, ppHead uintptr, p uintptr) // Array aBuf[] contains nBuf doclists. These are all merged in with the // doclist in buffer p1. -func fts5MergePrefixLists(tls *libc.TLS, p uintptr, p1 uintptr, nBuf int32, aBuf uintptr) { /* sqlite3.c:229817:13: */ +func fts5MergePrefixLists(tls *libc.TLS, p uintptr, p1 uintptr, nBuf int32, aBuf uintptr) { /* sqlite3.c:229874:13: */ bp := tls.Alloc(1072) defer tls.Free(1072) @@ -184092,7 +184123,7 @@ func fts5MergePrefixLists(tls *libc.TLS, p uintptr, p1 uintptr, nBuf int32, aBuf *(*Fts5Buffer)(unsafe.Pointer(p1)) = *(*Fts5Buffer)(unsafe.Pointer(bp + 1032 /* out */)) } -func fts5SetupPrefixIter(tls *libc.TLS, p uintptr, bDesc int32, iIdx int32, pToken uintptr, nToken int32, pColset uintptr, ppIter uintptr) { /* sqlite3.c:229961:13: */ +func fts5SetupPrefixIter(tls *libc.TLS, p uintptr, bDesc int32, iIdx int32, pToken uintptr, nToken int32, pColset uintptr, ppIter uintptr) { /* sqlite3.c:230018:13: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -184239,7 +184270,7 @@ func fts5SetupPrefixIter(tls *libc.TLS, p uintptr, bDesc int32, iIdx int32, pTok // Indicate that all subsequent calls to sqlite3Fts5IndexWrite() pertain // to the document with rowid iRowid. -func sqlite3Fts5IndexBeginWrite(tls *libc.TLS, p uintptr, bDelete int32, iRowid I64) int32 { /* sqlite3.c:230098:12: */ +func sqlite3Fts5IndexBeginWrite(tls *libc.TLS, p uintptr, bDelete int32, iRowid I64) int32 { /* sqlite3.c:230155:12: */ // Allocate the hash table if it has not already been allocated if (*Fts5Index)(unsafe.Pointer(p)).FpHash == uintptr(0) { @@ -184259,7 +184290,7 @@ func sqlite3Fts5IndexBeginWrite(tls *libc.TLS, p uintptr, bDelete int32, iRowid } // Commit data to disk. -func sqlite3Fts5IndexSync(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:230122:12: */ +func sqlite3Fts5IndexSync(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:230179:12: */ fts5IndexFlush(tls, p) sqlite3Fts5IndexCloseReader(tls, p) @@ -184270,7 +184301,7 @@ func sqlite3Fts5IndexSync(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:230122: // to the database. Additionally, assume that the contents of the %_data // table may have changed on disk. So any in-memory caches of %_data // records must be invalidated. -func sqlite3Fts5IndexRollback(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:230135:12: */ +func sqlite3Fts5IndexRollback(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:230192:12: */ sqlite3Fts5IndexCloseReader(tls, p) fts5IndexDiscardData(tls, p) fts5StructureInvalidate(tls, p) @@ -184281,7 +184312,7 @@ func sqlite3Fts5IndexRollback(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:230 // The %_data table is completely empty when this function is called. This // function populates it with the initial structure objects for each index, // and the initial version of the "averages" record (a zero-byte blob). -func sqlite3Fts5IndexReinit(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:230148:12: */ +func sqlite3Fts5IndexReinit(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:230205:12: */ bp := tls.Alloc(40) defer tls.Free(40) @@ -184300,7 +184331,7 @@ func sqlite3Fts5IndexReinit(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:23014 // // If successful, set *pp to point to the new object and return SQLITE_OK. // Otherwise, set *pp to NULL and return an SQLite error code. -func sqlite3Fts5IndexOpen(tls *libc.TLS, pConfig uintptr, bCreate int32, pp uintptr, pzErr uintptr) int32 { /* sqlite3.c:230165:12: */ +func sqlite3Fts5IndexOpen(tls *libc.TLS, pConfig uintptr, bCreate int32, pp uintptr, pzErr uintptr) int32 { /* sqlite3.c:230222:12: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -184334,7 +184365,7 @@ func sqlite3Fts5IndexOpen(tls *libc.TLS, pConfig uintptr, bCreate int32, pp uint } // Close a handle opened by an earlier call to sqlite3Fts5IndexOpen(). -func sqlite3Fts5IndexClose(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:230206:12: */ +func sqlite3Fts5IndexClose(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:230263:12: */ var rc int32 = SQLITE_OK if p != 0 { @@ -184355,7 +184386,7 @@ func sqlite3Fts5IndexClose(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:230206 // Argument p points to a buffer containing utf-8 text that is n bytes in // size. Return the number of bytes in the nChar character prefix of the // buffer, or 0 if there are less than nChar characters in total. -func sqlite3Fts5IndexCharlenToBytelen(tls *libc.TLS, p uintptr, nByte int32, nChar int32) int32 { /* sqlite3.c:230229:12: */ +func sqlite3Fts5IndexCharlenToBytelen(tls *libc.TLS, p uintptr, nByte int32, nChar int32) int32 { /* sqlite3.c:230286:12: */ var n int32 = 0 var i int32 for i = 0; i < nChar; i++ { @@ -184382,7 +184413,7 @@ func sqlite3Fts5IndexCharlenToBytelen(tls *libc.TLS, p uintptr, nByte int32, nCh // pIn is a UTF-8 encoded string, nIn bytes in size. Return the number of // unicode characters in the string. -func fts5IndexCharlen(tls *libc.TLS, pIn uintptr, nIn int32) int32 { /* sqlite3.c:230256:12: */ +func fts5IndexCharlen(tls *libc.TLS, pIn uintptr, nIn int32) int32 { /* sqlite3.c:230313:12: */ var nChar int32 = 0 var i int32 = 0 for i < nIn { @@ -184404,7 +184435,7 @@ func fts5IndexCharlen(tls *libc.TLS, pIn uintptr, nIn int32) int32 { /* sqlite3. // If the operation is a delete, it must be called (at least) once for each // unique token in the document with an iCol value less than zero. The iPos // argument is ignored for a delete. -func sqlite3Fts5IndexWrite(tls *libc.TLS, p uintptr, iCol int32, iPos int32, pToken uintptr, nToken int32) int32 { /* sqlite3.c:230278:12: */ +func sqlite3Fts5IndexWrite(tls *libc.TLS, p uintptr, iCol int32, iPos int32, pToken uintptr, nToken int32) int32 { /* sqlite3.c:230335:12: */ var i int32 // Used to iterate through indexes var rc int32 = SQLITE_OK // Return code var pConfig uintptr = (*Fts5Index)(unsafe.Pointer(p)).FpConfig @@ -184428,7 +184459,7 @@ func sqlite3Fts5IndexWrite(tls *libc.TLS, p uintptr, iCol int32, iPos int32, pTo // Open a new iterator to iterate though all rowid that match the // specified token or token prefix. -func sqlite3Fts5IndexQuery(tls *libc.TLS, p uintptr, pToken uintptr, nToken int32, flags int32, pColset uintptr, ppIter uintptr) int32 { /* sqlite3.c:230314:12: */ +func sqlite3Fts5IndexQuery(tls *libc.TLS, p uintptr, pToken uintptr, nToken int32, flags int32, pColset uintptr, ppIter uintptr) int32 { /* sqlite3.c:230371:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -184511,7 +184542,7 @@ func sqlite3Fts5IndexQuery(tls *libc.TLS, p uintptr, pToken uintptr, nToken int3 // Return true if the iterator passed as the only argument is at EOF. // Move to the next matching rowid. -func sqlite3Fts5IterNext(tls *libc.TLS, pIndexIter uintptr) int32 { /* sqlite3.c:230402:12: */ +func sqlite3Fts5IterNext(tls *libc.TLS, pIndexIter uintptr) int32 { /* sqlite3.c:230459:12: */ var pIter uintptr = pIndexIter fts5MultiIterNext(tls, (*Fts5Iter)(unsafe.Pointer(pIter)).FpIndex, pIter, 0, int64(0)) @@ -184519,7 +184550,7 @@ func sqlite3Fts5IterNext(tls *libc.TLS, pIndexIter uintptr) int32 { /* sqlite3.c } // Move to the next matching term/rowid. Used by the fts5vocab module. -func sqlite3Fts5IterNextScan(tls *libc.TLS, pIndexIter uintptr) int32 { /* sqlite3.c:230412:12: */ +func sqlite3Fts5IterNextScan(tls *libc.TLS, pIndexIter uintptr) int32 { /* sqlite3.c:230469:12: */ var pIter uintptr = pIndexIter var p uintptr = (*Fts5Iter)(unsafe.Pointer(pIter)).FpIndex @@ -184539,14 +184570,14 @@ func sqlite3Fts5IterNextScan(tls *libc.TLS, pIndexIter uintptr) int32 { /* sqlit // Move to the next matching rowid that occurs at or after iMatch. The // definition of "at or after" depends on whether this iterator iterates // in ascending or descending rowid order. -func sqlite3Fts5IterNextFrom(tls *libc.TLS, pIndexIter uintptr, iMatch I64) int32 { /* sqlite3.c:230436:12: */ +func sqlite3Fts5IterNextFrom(tls *libc.TLS, pIndexIter uintptr, iMatch I64) int32 { /* sqlite3.c:230493:12: */ var pIter uintptr = pIndexIter fts5MultiIterNextFrom(tls, (*Fts5Iter)(unsafe.Pointer(pIter)).FpIndex, pIter, iMatch) return fts5IndexReturn(tls, (*Fts5Iter)(unsafe.Pointer(pIter)).FpIndex) } // Return the current term. -func sqlite3Fts5IterTerm(tls *libc.TLS, pIndexIter uintptr, pn uintptr) uintptr { /* sqlite3.c:230445:19: */ +func sqlite3Fts5IterTerm(tls *libc.TLS, pIndexIter uintptr, pn uintptr) uintptr { /* sqlite3.c:230502:19: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -184564,7 +184595,7 @@ func sqlite3Fts5IterTerm(tls *libc.TLS, pIndexIter uintptr, pn uintptr) uintptr } // Close an iterator opened by an earlier call to sqlite3Fts5IndexQuery(). -func sqlite3Fts5IterClose(tls *libc.TLS, pIndexIter uintptr) { /* sqlite3.c:230456:13: */ +func sqlite3Fts5IterClose(tls *libc.TLS, pIndexIter uintptr) { /* sqlite3.c:230513:13: */ if pIndexIter != 0 { var pIter uintptr = pIndexIter var pIndex uintptr = (*Fts5Iter)(unsafe.Pointer(pIter)).FpIndex @@ -184577,7 +184608,7 @@ func sqlite3Fts5IterClose(tls *libc.TLS, pIndexIter uintptr) { /* sqlite3.c:2304 // // Parameter anSize must point to an array of size nCol, where nCol is // the number of user defined columns in the FTS table. -func sqlite3Fts5IndexGetAverages(tls *libc.TLS, p uintptr, pnRow uintptr, anSize uintptr) int32 { /* sqlite3.c:230471:12: */ +func sqlite3Fts5IndexGetAverages(tls *libc.TLS, p uintptr, pnRow uintptr, anSize uintptr) int32 { /* sqlite3.c:230528:12: */ var nCol int32 = (*Fts5Config)(unsafe.Pointer((*Fts5Index)(unsafe.Pointer(p)).FpConfig)).FnCol var pData uintptr @@ -184599,7 +184630,7 @@ func sqlite3Fts5IndexGetAverages(tls *libc.TLS, p uintptr, pnRow uintptr, anSize // Replace the current "averages" record with the contents of the buffer // supplied as the second argument. -func sqlite3Fts5IndexSetAverages(tls *libc.TLS, p uintptr, pData uintptr, nData int32) int32 { /* sqlite3.c:230495:12: */ +func sqlite3Fts5IndexSetAverages(tls *libc.TLS, p uintptr, pData uintptr, nData int32) int32 { /* sqlite3.c:230552:12: */ fts5DataWrite(tls, p, int64(FTS5_AVERAGES_ROWID), pData, nData) return fts5IndexReturn(tls, p) @@ -184607,7 +184638,7 @@ func sqlite3Fts5IndexSetAverages(tls *libc.TLS, p uintptr, pData uintptr, nData // Return the total number of blocks this module has read from the %_data // table since it was created. -func sqlite3Fts5IndexReads(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:230505:12: */ +func sqlite3Fts5IndexReads(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:230562:12: */ return (*Fts5Index)(unsafe.Pointer(p)).FnRead } @@ -184616,7 +184647,7 @@ func sqlite3Fts5IndexReads(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:230505 // // Return SQLITE_OK if successful, or an SQLite error code if an error // occurs. -func sqlite3Fts5IndexSetCookie(tls *libc.TLS, p uintptr, iNew int32) int32 { /* sqlite3.c:230516:12: */ +func sqlite3Fts5IndexSetCookie(tls *libc.TLS, p uintptr, iNew int32) int32 { /* sqlite3.c:230573:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -184638,7 +184669,7 @@ func sqlite3Fts5IndexSetCookie(tls *libc.TLS, p uintptr, iNew int32) int32 { /* return rc } -func sqlite3Fts5IndexLoadConfig(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:230536:12: */ +func sqlite3Fts5IndexLoadConfig(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:230593:12: */ var pStruct uintptr pStruct = fts5StructureRead(tls, p) fts5StructureRelease(tls, pStruct) @@ -184652,7 +184683,7 @@ func sqlite3Fts5IndexLoadConfig(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:2 // functionality. // Return a simple checksum value based on the arguments. -func sqlite3Fts5IndexEntryCksum(tls *libc.TLS, iRowid I64, iCol int32, iPos int32, iIdx int32, pTerm uintptr, nTerm int32) U64 { /* sqlite3.c:230553:12: */ +func sqlite3Fts5IndexEntryCksum(tls *libc.TLS, iRowid I64, iCol int32, iPos int32, iIdx int32, pTerm uintptr, nTerm int32) U64 { /* sqlite3.c:230610:12: */ var i int32 var ret U64 = U64(iRowid) ret = ret + (ret<<3 + U64(iCol)) @@ -184672,7 +184703,7 @@ func sqlite3Fts5IndexEntryCksum(tls *libc.TLS, iRowid I64, iCol int32, iPos int3 // contain zero terms. // 2) All leaves of pSeg between iNoRowid and iLast (inclusive) exist and // contain zero rowids. -func fts5IndexIntegrityCheckEmpty(tls *libc.TLS, p uintptr, pSeg uintptr, iFirst int32, iNoRowid int32, iLast int32) { /* sqlite3.c:230771:13: */ +func fts5IndexIntegrityCheckEmpty(tls *libc.TLS, p uintptr, pSeg uintptr, iFirst int32, iNoRowid int32, iLast int32) { /* sqlite3.c:230828:13: */ var i int32 // Now check that the iter.nEmpty leaves following the current leaf @@ -184691,7 +184722,7 @@ func fts5IndexIntegrityCheckEmpty(tls *libc.TLS, p uintptr, pSeg uintptr, iFirst } } -func fts5IntegrityCheckPgidx(tls *libc.TLS, p uintptr, pLeaf uintptr) { /* sqlite3.c:230792:13: */ +func fts5IntegrityCheckPgidx(tls *libc.TLS, p uintptr, pLeaf uintptr) { /* sqlite3.c:230849:13: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -184750,7 +184781,7 @@ func fts5IntegrityCheckPgidx(tls *libc.TLS, p uintptr, pLeaf uintptr) { /* sqlit sqlite3Fts5BufferFree(tls, bp+32) } -func fts5IndexIntegrityCheckSegment(tls *libc.TLS, p uintptr, pSeg uintptr) { /* sqlite3.c:230842:13: */ +func fts5IndexIntegrityCheckSegment(tls *libc.TLS, p uintptr, pSeg uintptr) { /* sqlite3.c:230899:13: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -184919,7 +184950,7 @@ func fts5IndexIntegrityCheckSegment(tls *libc.TLS, p uintptr, pSeg uintptr) { /* // checksum does not match. Return SQLITE_OK if all checks pass without // error, or some other SQLite error code if another error (e.g. OOM) // occurs. -func sqlite3Fts5IndexIntegrityCheck(tls *libc.TLS, p uintptr, cksum U64, bUseCksum int32) int32 { /* sqlite3.c:230987:12: */ +func sqlite3Fts5IndexIntegrityCheck(tls *libc.TLS, p uintptr, cksum U64, bUseCksum int32) int32 { /* sqlite3.c:231044:12: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -185009,13 +185040,13 @@ func sqlite3Fts5IndexIntegrityCheck(tls *libc.TLS, p uintptr, cksum U64, bUseCks // // If successful, SQLITE_OK is returned. If an error occurs, some other // SQLite error code is returned instead. -func sqlite3Fts5IndexInit(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:231550:12: */ +func sqlite3Fts5IndexInit(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:231607:12: */ return SQLITE_OK _ = db return int32(0) } -func sqlite3Fts5IndexReset(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:231576:12: */ +func sqlite3Fts5IndexReset(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:231633:12: */ if fts5IndexDataVersion(tls, p) != (*Fts5Index)(unsafe.Pointer(p)).FiStructVersion { fts5StructureInvalidate(tls, p) @@ -185048,7 +185079,7 @@ type Fts5Auxdata1 = struct { FpPtr uintptr FxDelete uintptr FpNext uintptr -} /* sqlite3.c:216813:9 */ +} /* sqlite3.c:216870:9 */ // 2014 Jun 09 // @@ -185070,7 +185101,7 @@ type Fts5Auxdata1 = struct { // assert() conditions in the fts5 code are activated - conditions that are // only true if it is guaranteed that the fts5 database is not corrupt. -type Fts5Auxdata = Fts5Auxdata1 /* sqlite3.c:231613:28 */ +type Fts5Auxdata = Fts5Auxdata1 /* sqlite3.c:231670:28 */ type Fts5Auxiliary1 = struct { FpGlobal uintptr FzFunc uintptr @@ -185078,9 +185109,9 @@ type Fts5Auxiliary1 = struct { FxFunc Fts5_extension_function FxDestroy uintptr FpNext uintptr -} /* sqlite3.c:216813:9 */ +} /* sqlite3.c:216870:9 */ -type Fts5Auxiliary = Fts5Auxiliary1 /* sqlite3.c:231614:30 */ +type Fts5Auxiliary = Fts5Auxiliary1 /* sqlite3.c:231671:30 */ type Fts5Cursor1 = struct { Fbase Sqlite3_vtab_cursor FpNext uintptr @@ -185109,35 +185140,35 @@ type Fts5Cursor1 = struct { FnInstAlloc int32 FnInstCount int32 FaInst uintptr -} /* sqlite3.c:216813:9 */ +} /* sqlite3.c:216870:9 */ -type Fts5Cursor = Fts5Cursor1 /* sqlite3.c:231615:27 */ +type Fts5Cursor = Fts5Cursor1 /* sqlite3.c:231672:27 */ type Fts5FullTable1 = struct { Fp Fts5Table FpStorage uintptr FpGlobal uintptr FpSortCsr uintptr -} /* sqlite3.c:231616:9 */ +} /* sqlite3.c:231673:9 */ -type Fts5FullTable = Fts5FullTable1 /* sqlite3.c:231616:30 */ +type Fts5FullTable = Fts5FullTable1 /* sqlite3.c:231673:30 */ type Fts5Sorter1 = struct { FpStmt uintptr FiRowid I64 FaPoslist uintptr FnIdx int32 FaIdx [1]int32 -} /* sqlite3.c:216813:9 */ +} /* sqlite3.c:216870:9 */ -type Fts5Sorter = Fts5Sorter1 /* sqlite3.c:231617:27 */ +type Fts5Sorter = Fts5Sorter1 /* sqlite3.c:231674:27 */ type Fts5TokenizerModule1 = struct { FzName uintptr FpUserData uintptr Fx Fts5_tokenizer FxDestroy uintptr FpNext uintptr -} /* sqlite3.c:216813:9 */ +} /* sqlite3.c:216870:9 */ -type Fts5TokenizerModule = Fts5TokenizerModule1 /* sqlite3.c:231618:36 */ +type Fts5TokenizerModule = Fts5TokenizerModule1 /* sqlite3.c:231675:36 */ // NOTES ON TRANSACTIONS: // @@ -185171,21 +185202,21 @@ type Fts5TokenizerModule = Fts5TokenizerModule1 /* sqlite3.c:231618:36 */ type Fts5TransactionState = struct { FeState int32 FiSavepoint int32 -} /* sqlite3.c:231651:1 */ +} /* sqlite3.c:231708:1 */ type Fts5MatchPhrase = struct { FpPoslist uintptr FnTerm int32 F__ccgo_pad1 [4]byte -} /* sqlite3.c:231708:1 */ +} /* sqlite3.c:231765:1 */ // Return true if pTab is a contentless table. -func fts5IsContentless(tls *libc.TLS, pTab uintptr) int32 { /* sqlite3.c:231892:12: */ +func fts5IsContentless(tls *libc.TLS, pTab uintptr) int32 { /* sqlite3.c:231949:12: */ return libc.Bool32((*Fts5Config)(unsafe.Pointer((*Fts5FullTable)(unsafe.Pointer(pTab)).Fp.FpConfig)).FeContent == FTS5_CONTENT_NONE) } // Delete a virtual table handle allocated by fts5InitVtab(). -func fts5FreeVtab(tls *libc.TLS, pTab uintptr) { /* sqlite3.c:231899:13: */ +func fts5FreeVtab(tls *libc.TLS, pTab uintptr) { /* sqlite3.c:231956:13: */ if pTab != 0 { sqlite3Fts5IndexClose(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).Fp.FpIndex) sqlite3Fts5StorageClose(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).FpStorage) @@ -185195,13 +185226,13 @@ func fts5FreeVtab(tls *libc.TLS, pTab uintptr) { /* sqlite3.c:231899:13: */ } // The xDisconnect() virtual table method. -func fts5DisconnectMethod(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:231911:12: */ +func fts5DisconnectMethod(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:231968:12: */ fts5FreeVtab(tls, pVtab) return SQLITE_OK } // The xDestroy() virtual table method. -func fts5DestroyMethod(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:231919:12: */ +func fts5DestroyMethod(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:231976:12: */ var pTab uintptr = pVtab var rc int32 = sqlite3Fts5DropAll(tls, (*Fts5Table)(unsafe.Pointer(pTab)).FpConfig) if rc == SQLITE_OK { @@ -185219,7 +185250,7 @@ func fts5DestroyMethod(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:231919 // argv[1] -> database name // argv[2] -> table name // argv[...] -> "column name" and other module argument fields. -func fts5InitVtab(tls *libc.TLS, bCreate int32, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVTab uintptr, pzErr uintptr) int32 { /* sqlite3.c:231939:12: */ +func fts5InitVtab(tls *libc.TLS, bCreate int32, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVTab uintptr, pzErr uintptr) int32 { /* sqlite3.c:231996:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -185277,11 +185308,11 @@ func fts5InitVtab(tls *libc.TLS, bCreate int32, db uintptr, pAux uintptr, argc i // The xConnect() and xCreate() methods for the virtual table. All the // work is done in function fts5InitVtab(). -func fts5ConnectMethod(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 { /* sqlite3.c:232005:12: */ +func fts5ConnectMethod(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 { /* sqlite3.c:232062:12: */ return fts5InitVtab(tls, 0, db, pAux, argc, argv, ppVtab, pzErr) } -func fts5CreateMethod(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 { /* sqlite3.c:232015:12: */ +func fts5CreateMethod(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 { /* sqlite3.c:232072:12: */ return fts5InitVtab(tls, 1, db, pAux, argc, argv, ppVtab, pzErr) } @@ -185290,14 +185321,14 @@ func fts5CreateMethod(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv // Set the SQLITE_INDEX_SCAN_UNIQUE flag in pIdxInfo->flags. Unless this // extension is currently being used by a version of SQLite too old to // support index-info flags. In that case this function is a no-op. -func fts5SetUniqueFlag(tls *libc.TLS, pIdxInfo uintptr) { /* sqlite3.c:232041:13: */ +func fts5SetUniqueFlag(tls *libc.TLS, pIdxInfo uintptr) { /* sqlite3.c:232098:13: */ { *(*int32)(unsafe.Pointer(pIdxInfo + 80)) |= SQLITE_INDEX_SCAN_UNIQUE } } -func fts5UsePatternMatch(tls *libc.TLS, pConfig uintptr, p uintptr) int32 { /* sqlite3.c:232052:12: */ +func fts5UsePatternMatch(tls *libc.TLS, pConfig uintptr, p uintptr) int32 { /* sqlite3.c:232109:12: */ if (*Fts5Config)(unsafe.Pointer(pConfig)).FePattern == FTS5_PATTERN_GLOB && int32((*sqlite3_index_constraint)(unsafe.Pointer(p)).Fop) == FTS5_PATTERN_GLOB { return 1 @@ -185368,7 +185399,7 @@ func fts5UsePatternMatch(tls *libc.TLS, pConfig uintptr, p uintptr) int32 { /* s // * An == rowid constraint: cost=10.0 // // Costs are not modified by the ORDER BY clause. -func fts5BestIndexMethod(tls *libc.TLS, pVTab uintptr, pInfo uintptr) int32 { /* sqlite3.c:232130:12: */ +func fts5BestIndexMethod(tls *libc.TLS, pVTab uintptr, pInfo uintptr) int32 { /* sqlite3.c:232187:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -185530,7 +185561,7 @@ func fts5BestIndexMethod(tls *libc.TLS, pVTab uintptr, pInfo uintptr) int32 { /* return SQLITE_OK } -func fts5NewTransaction(tls *libc.TLS, pTab uintptr) int32 { /* sqlite3.c:232265:12: */ +func fts5NewTransaction(tls *libc.TLS, pTab uintptr) int32 { /* sqlite3.c:232322:12: */ var pCsr uintptr for pCsr = (*Fts5Global)(unsafe.Pointer((*Fts5FullTable)(unsafe.Pointer(pTab)).FpGlobal)).FpCsr; pCsr != 0; pCsr = (*Fts5Cursor)(unsafe.Pointer(pCsr)).FpNext { if (*Fts5Cursor)(unsafe.Pointer(pCsr)).Fbase.FpVtab == pTab { @@ -185541,7 +185572,7 @@ func fts5NewTransaction(tls *libc.TLS, pTab uintptr) int32 { /* sqlite3.c:232265 } // Implementation of xOpen method. -func fts5OpenMethod(tls *libc.TLS, pVTab uintptr, ppCsr uintptr) int32 { /* sqlite3.c:232276:12: */ +func fts5OpenMethod(tls *libc.TLS, pVTab uintptr, ppCsr uintptr) int32 { /* sqlite3.c:232333:12: */ var pTab uintptr = pVTab var pConfig uintptr = (*Fts5FullTable)(unsafe.Pointer(pTab)).Fp.FpConfig var pCsr uintptr = uintptr(0) // New cursor object @@ -185567,7 +185598,7 @@ func fts5OpenMethod(tls *libc.TLS, pVTab uintptr, ppCsr uintptr) int32 { /* sqli return rc } -func fts5StmtType(tls *libc.TLS, pCsr uintptr) int32 { /* sqlite3.c:232302:12: */ +func fts5StmtType(tls *libc.TLS, pCsr uintptr) int32 { /* sqlite3.c:232359:12: */ if (*Fts5Cursor)(unsafe.Pointer(pCsr)).FePlan == FTS5_PLAN_SCAN { if (*Fts5Cursor)(unsafe.Pointer(pCsr)).FbDesc != 0 { return FTS5_STMT_SCAN_DESC @@ -185580,11 +185611,11 @@ func fts5StmtType(tls *libc.TLS, pCsr uintptr) int32 { /* sqlite3.c:232302:12: * // This function is called after the cursor passed as the only argument // is moved to point at a different row. It clears all cached data // specific to the previous row stored by the cursor object. -func fts5CsrNewrow(tls *libc.TLS, pCsr uintptr) { /* sqlite3.c:232314:13: */ +func fts5CsrNewrow(tls *libc.TLS, pCsr uintptr) { /* sqlite3.c:232371:13: */ *(*int32)(unsafe.Pointer(pCsr + 80)) |= FTS5CSR_REQUIRE_CONTENT | FTS5CSR_REQUIRE_DOCSIZE | FTS5CSR_REQUIRE_INST | FTS5CSR_REQUIRE_POSLIST } -func fts5FreeCursorComponents(tls *libc.TLS, pCsr uintptr) { /* sqlite3.c:232323:13: */ +func fts5FreeCursorComponents(tls *libc.TLS, pCsr uintptr) { /* sqlite3.c:232380:13: */ var pTab uintptr = (*Fts5Cursor)(unsafe.Pointer(pCsr)).Fbase.FpVtab var pData uintptr var pNext uintptr @@ -185627,7 +185658,7 @@ func fts5FreeCursorComponents(tls *libc.TLS, pCsr uintptr) { /* sqlite3.c:232323 // Close the cursor. For additional information see the documentation // on the xClose method of the virtual table interface. -func fts5CloseMethod(tls *libc.TLS, pCursor uintptr) int32 { /* sqlite3.c:232367:12: */ +func fts5CloseMethod(tls *libc.TLS, pCursor uintptr) int32 { /* sqlite3.c:232424:12: */ if pCursor != 0 { var pTab uintptr = (*Sqlite3_vtab_cursor)(unsafe.Pointer(pCursor)).FpVtab var pCsr uintptr = pCursor @@ -185644,7 +185675,7 @@ func fts5CloseMethod(tls *libc.TLS, pCursor uintptr) int32 { /* sqlite3.c:232367 return SQLITE_OK } -func fts5SorterNext(tls *libc.TLS, pCsr uintptr) int32 { /* sqlite3.c:232383:12: */ +func fts5SorterNext(tls *libc.TLS, pCsr uintptr) int32 { /* sqlite3.c:232440:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -185688,7 +185719,7 @@ func fts5SorterNext(tls *libc.TLS, pCsr uintptr) int32 { /* sqlite3.c:232383:12: // Set the FTS5CSR_REQUIRE_RESEEK flag on all FTS5_PLAN_MATCH cursors // open on table pTab. -func fts5TripCursors(tls *libc.TLS, pTab uintptr) { /* sqlite3.c:232426:13: */ +func fts5TripCursors(tls *libc.TLS, pTab uintptr) { /* sqlite3.c:232483:13: */ var pCsr uintptr for pCsr = (*Fts5Global)(unsafe.Pointer((*Fts5FullTable)(unsafe.Pointer(pTab)).FpGlobal)).FpCsr; pCsr != 0; pCsr = (*Fts5Cursor)(unsafe.Pointer(pCsr)).FpNext { if (*Fts5Cursor)(unsafe.Pointer(pCsr)).FePlan == FTS5_PLAN_MATCH && @@ -185708,7 +185739,7 @@ func fts5TripCursors(tls *libc.TLS, pTab uintptr) { /* sqlite3.c:232426:13: */ // // Return SQLITE_OK if successful or if no reseek was required, or an // error code if an error occurred. -func fts5CursorReseek(tls *libc.TLS, pCsr uintptr, pbSkip uintptr) int32 { /* sqlite3.c:232449:12: */ +func fts5CursorReseek(tls *libc.TLS, pCsr uintptr, pbSkip uintptr) int32 { /* sqlite3.c:232506:12: */ var rc int32 = SQLITE_OK if (*Fts5Cursor)(unsafe.Pointer(pCsr)).Fcsrflags&FTS5CSR_REQUIRE_RESEEK != 0 { @@ -185737,7 +185768,7 @@ func fts5CursorReseek(tls *libc.TLS, pCsr uintptr, pbSkip uintptr) int32 { /* sq // Return SQLITE_OK if nothing goes wrong. SQLITE_OK is returned // even if we reach end-of-file. The fts5EofMethod() will be called // subsequently to determine whether or not an EOF was hit. -func fts5NextMethod(tls *libc.TLS, pCursor uintptr) int32 { /* sqlite3.c:232481:12: */ +func fts5NextMethod(tls *libc.TLS, pCursor uintptr) int32 { /* sqlite3.c:232538:12: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -185796,7 +185827,7 @@ func fts5NextMethod(tls *libc.TLS, pCursor uintptr) int32 { /* sqlite3.c:232481: return rc } -func fts5PrepareStatement(tls *libc.TLS, ppStmt uintptr, pConfig uintptr, zFmt uintptr, va uintptr) int32 { /* sqlite3.c:232534:12: */ +func fts5PrepareStatement(tls *libc.TLS, ppStmt uintptr, pConfig uintptr, zFmt uintptr, va uintptr) int32 { /* sqlite3.c:232591:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -185824,7 +185855,7 @@ func fts5PrepareStatement(tls *libc.TLS, ppStmt uintptr, pConfig uintptr, zFmt u return rc } -func fts5CursorFirstSorted(tls *libc.TLS, pTab uintptr, pCsr uintptr, bDesc int32) int32 { /* sqlite3.c:232563:12: */ +func fts5CursorFirstSorted(tls *libc.TLS, pTab uintptr, pCsr uintptr, bDesc int32) int32 { /* sqlite3.c:232620:12: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -185891,7 +185922,7 @@ func fts5CursorFirstSorted(tls *libc.TLS, pTab uintptr, pCsr uintptr, bDesc int3 return rc } -func fts5CursorFirst(tls *libc.TLS, pTab uintptr, pCsr uintptr, bDesc int32) int32 { /* sqlite3.c:232615:12: */ +func fts5CursorFirst(tls *libc.TLS, pTab uintptr, pCsr uintptr, bDesc int32) int32 { /* sqlite3.c:232672:12: */ var rc int32 var pExpr uintptr = (*Fts5Cursor)(unsafe.Pointer(pCsr)).FpExpr rc = sqlite3Fts5ExprFirst(tls, pExpr, (*Fts5FullTable)(unsafe.Pointer(pTab)).Fp.FpIndex, (*Fts5Cursor)(unsafe.Pointer(pCsr)).FiFirstRowid, bDesc) @@ -185906,7 +185937,7 @@ func fts5CursorFirst(tls *libc.TLS, pTab uintptr, pCsr uintptr, bDesc int32) int // MATCH expression that begins with a '*' character. The remainder of // the text passed to the MATCH operator are used as the special query // parameters. -func fts5SpecialMatch(tls *libc.TLS, pTab uintptr, pCsr uintptr, zQuery uintptr) int32 { /* sqlite3.c:232632:12: */ +func fts5SpecialMatch(tls *libc.TLS, pTab uintptr, pCsr uintptr, zQuery uintptr) int32 { /* sqlite3.c:232689:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -185938,7 +185969,7 @@ func fts5SpecialMatch(tls *libc.TLS, pTab uintptr, pCsr uintptr, zQuery uintptr) // Search for an auxiliary function named zName that can be used with table // pTab. If one is found, return a pointer to the corresponding Fts5Auxiliary // structure. Otherwise, if no such function exists, return NULL. -func fts5FindAuxiliary(tls *libc.TLS, pTab uintptr, zName uintptr) uintptr { /* sqlite3.c:232667:22: */ +func fts5FindAuxiliary(tls *libc.TLS, pTab uintptr, zName uintptr) uintptr { /* sqlite3.c:232724:22: */ var pAux uintptr for pAux = (*Fts5Global)(unsafe.Pointer((*Fts5FullTable)(unsafe.Pointer(pTab)).FpGlobal)).FpAux; pAux != 0; pAux = (*Fts5Auxiliary)(unsafe.Pointer(pAux)).FpNext { @@ -185951,7 +185982,7 @@ func fts5FindAuxiliary(tls *libc.TLS, pTab uintptr, zName uintptr) uintptr { /* return uintptr(0) } -func fts5FindRankFunction(tls *libc.TLS, pCsr uintptr) int32 { /* sqlite3.c:232679:12: */ +func fts5FindRankFunction(tls *libc.TLS, pCsr uintptr) int32 { /* sqlite3.c:232736:12: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -186004,7 +186035,7 @@ func fts5FindRankFunction(tls *libc.TLS, pCsr uintptr) int32 { /* sqlite3.c:2326 return *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) } -func fts5CursorParseRank(tls *libc.TLS, pConfig uintptr, pCsr uintptr, pRank uintptr) int32 { /* sqlite3.c:232730:12: */ +func fts5CursorParseRank(tls *libc.TLS, pConfig uintptr, pCsr uintptr, pRank uintptr) int32 { /* sqlite3.c:232787:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -186041,7 +186072,7 @@ func fts5CursorParseRank(tls *libc.TLS, pConfig uintptr, pCsr uintptr, pRank uin return rc } -func fts5GetRowidLimit(tls *libc.TLS, pVal uintptr, iDefault I64) I64 { /* sqlite3.c:232767:12: */ +func fts5GetRowidLimit(tls *libc.TLS, pVal uintptr, iDefault I64) I64 { /* sqlite3.c:232824:12: */ if pVal != 0 { var eType int32 = Xsqlite3_value_numeric_type(tls, pVal) if eType == SQLITE_INTEGER { @@ -186060,7 +186091,7 @@ func fts5GetRowidLimit(tls *libc.TLS, pVal uintptr, iDefault I64) I64 { /* sqlit // 1. Full-text search using a MATCH operator. // 2. A by-rowid lookup. // 3. A full-table scan. -func fts5FilterMethod(tls *libc.TLS, pCursor uintptr, idxNum int32, idxStr uintptr, nVal int32, apVal uintptr) int32 { /* sqlite3.c:232788:12: */ +func fts5FilterMethod(tls *libc.TLS, pCursor uintptr, idxNum int32, idxStr uintptr, nVal int32, apVal uintptr) int32 { /* sqlite3.c:232845:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -186381,7 +186412,7 @@ filter_out: // This is the xEof method of the virtual table. SQLite calls this // routine to find out if it has reached the end of a result set. -func fts5EofMethod(tls *libc.TLS, pCursor uintptr) int32 { /* sqlite3.c:232981:12: */ +func fts5EofMethod(tls *libc.TLS, pCursor uintptr) int32 { /* sqlite3.c:233038:12: */ var pCsr uintptr = pCursor return func() int32 { if (*Fts5Cursor)(unsafe.Pointer(pCsr)).Fcsrflags&FTS5CSR_EOF != 0 { @@ -186392,7 +186423,7 @@ func fts5EofMethod(tls *libc.TLS, pCursor uintptr) int32 { /* sqlite3.c:232981:1 } // Return the rowid that the cursor currently points to. -func fts5CursorRowid(tls *libc.TLS, pCsr uintptr) I64 { /* sqlite3.c:232989:12: */ +func fts5CursorRowid(tls *libc.TLS, pCsr uintptr) I64 { /* sqlite3.c:233046:12: */ if (*Fts5Cursor)(unsafe.Pointer(pCsr)).FpSorter != 0 { return (*Fts5Sorter)(unsafe.Pointer((*Fts5Cursor)(unsafe.Pointer(pCsr)).FpSorter)).FiRowid @@ -186406,7 +186437,7 @@ func fts5CursorRowid(tls *libc.TLS, pCsr uintptr) I64 { /* sqlite3.c:232989:12: // retrieve the rowid for the current row of the result set. fts5 // exposes %_content.rowid as the rowid for the virtual table. The // rowid should be written to *pRowid. -func fts5RowidMethod(tls *libc.TLS, pCursor uintptr, pRowid uintptr) int32 { /* sqlite3.c:233007:12: */ +func fts5RowidMethod(tls *libc.TLS, pCursor uintptr, pRowid uintptr) int32 { /* sqlite3.c:233064:12: */ var pCsr uintptr = pCursor var ePlan int32 = (*Fts5Cursor)(unsafe.Pointer(pCsr)).FePlan @@ -186436,7 +186467,7 @@ func fts5RowidMethod(tls *libc.TLS, pCursor uintptr, pRowid uintptr) int32 { /* // // If argument bErrormsg is true and an error occurs, an error message may // be left in sqlite3_vtab.zErrMsg. -func fts5SeekCursor(tls *libc.TLS, pCsr uintptr, bErrormsg int32) int32 { /* sqlite3.c:233038:12: */ +func fts5SeekCursor(tls *libc.TLS, pCsr uintptr, bErrormsg int32) int32 { /* sqlite3.c:233095:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -186480,7 +186511,7 @@ func fts5SeekCursor(tls *libc.TLS, pCsr uintptr, bErrormsg int32) int32 { /* sql return rc } -func fts5SetVtabError(tls *libc.TLS, p uintptr, zFormat uintptr, va uintptr) { /* sqlite3.c:233077:13: */ +func fts5SetVtabError(tls *libc.TLS, p uintptr, zFormat uintptr, va uintptr) { /* sqlite3.c:233134:13: */ var ap Va_list _ = ap // ... printf arguments ap = va @@ -186502,7 +186533,7 @@ func fts5SetVtabError(tls *libc.TLS, p uintptr, zFormat uintptr, va uintptr) { / // The commands implemented by this function are documented in the "Special // INSERT Directives" section of the documentation. It should be updated if // more commands are added to this function. -func fts5SpecialInsert(tls *libc.TLS, pTab uintptr, zCmd uintptr, pVal uintptr) int32 { /* sqlite3.c:233100:12: */ +func fts5SpecialInsert(tls *libc.TLS, pTab uintptr, zCmd uintptr, pVal uintptr) int32 { /* sqlite3.c:233157:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -186551,7 +186582,7 @@ func fts5SpecialInsert(tls *libc.TLS, pTab uintptr, zCmd uintptr, pVal uintptr) return rc } -func fts5SpecialDelete(tls *libc.TLS, pTab uintptr, apVal uintptr) int32 { /* sqlite3.c:233156:12: */ +func fts5SpecialDelete(tls *libc.TLS, pTab uintptr, apVal uintptr) int32 { /* sqlite3.c:233213:12: */ var rc int32 = SQLITE_OK var eType1 int32 = Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(apVal + 1*8))) if eType1 == SQLITE_INTEGER { @@ -186561,7 +186592,7 @@ func fts5SpecialDelete(tls *libc.TLS, pTab uintptr, apVal uintptr) int32 { /* sq return rc } -func fts5StorageInsert(tls *libc.TLS, pRc uintptr, pTab uintptr, apVal uintptr, piRowid uintptr) { /* sqlite3.c:233169:13: */ +func fts5StorageInsert(tls *libc.TLS, pRc uintptr, pTab uintptr, apVal uintptr, piRowid uintptr) { /* sqlite3.c:233226:13: */ var rc int32 = *(*int32)(unsafe.Pointer(pRc)) if rc == SQLITE_OK { rc = sqlite3Fts5StorageContentInsert(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).FpStorage, apVal, piRowid) @@ -186584,7 +186615,7 @@ func fts5StorageInsert(tls *libc.TLS, pRc uintptr, pTab uintptr, apVal uintptr, // 2. The "new" rowid. // 3. Values for each of the nCol matchable columns. // 4. Values for the two hidden columns ( and "rank"). -func fts5UpdateMethod(tls *libc.TLS, pVtab uintptr, nArg int32, apVal uintptr, pRowid uintptr) int32 { /* sqlite3.c:233199:12: */ +func fts5UpdateMethod(tls *libc.TLS, pVtab uintptr, nArg int32, apVal uintptr, pRowid uintptr) int32 { /* sqlite3.c:233256:12: */ bp := tls.Alloc(20) defer tls.Free(20) @@ -186686,7 +186717,7 @@ func fts5UpdateMethod(tls *libc.TLS, pVtab uintptr, nArg int32, apVal uintptr, p } // Implementation of xSync() method. -func fts5SyncMethod(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:233325:12: */ +func fts5SyncMethod(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:233382:12: */ var rc int32 var pTab uintptr = pVtab @@ -186698,7 +186729,7 @@ func fts5SyncMethod(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:233325:12 } // Implementation of xBegin() method. -func fts5BeginMethod(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:233339:12: */ +func fts5BeginMethod(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:233396:12: */ fts5NewTransaction(tls, pVtab) return SQLITE_OK @@ -186707,7 +186738,7 @@ func fts5BeginMethod(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:233339:1 // Implementation of xCommit() method. This is a no-op. The contents of // the pending-terms hash-table have already been flushed into the database // by fts5SyncMethod(). -func fts5CommitMethod(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:233350:12: */ +func fts5CommitMethod(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:233407:12: */ _ = pVtab // Call below is a no-op for NDEBUG builds return SQLITE_OK @@ -186715,7 +186746,7 @@ func fts5CommitMethod(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:233350: // Implementation of xRollback(). Discard the contents of the pending-terms // hash-table. Any changes made to the database are reverted by SQLite. -func fts5RollbackMethod(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:233360:12: */ +func fts5RollbackMethod(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:233417:12: */ var rc int32 var pTab uintptr = pVtab @@ -186723,46 +186754,46 @@ func fts5RollbackMethod(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:23336 return rc } -func fts5ApiUserData(tls *libc.TLS, pCtx uintptr) uintptr { /* sqlite3.c:233370:13: */ +func fts5ApiUserData(tls *libc.TLS, pCtx uintptr) uintptr { /* sqlite3.c:233427:13: */ var pCsr uintptr = pCtx return (*Fts5Auxiliary)(unsafe.Pointer((*Fts5Cursor)(unsafe.Pointer(pCsr)).FpAux)).FpUserData } -func fts5ApiColumnCount(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:233375:12: */ +func fts5ApiColumnCount(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:233432:12: */ var pCsr uintptr = pCtx return (*Fts5Config)(unsafe.Pointer((*Fts5Table)(unsafe.Pointer((*Fts5Cursor)(unsafe.Pointer(pCsr)).Fbase.FpVtab)).FpConfig)).FnCol } -func fts5ApiColumnTotalSize(tls *libc.TLS, pCtx uintptr, iCol int32, pnToken uintptr) int32 { /* sqlite3.c:233380:12: */ +func fts5ApiColumnTotalSize(tls *libc.TLS, pCtx uintptr, iCol int32, pnToken uintptr) int32 { /* sqlite3.c:233437:12: */ var pCsr uintptr = pCtx var pTab uintptr = (*Fts5Cursor)(unsafe.Pointer(pCsr)).Fbase.FpVtab return sqlite3Fts5StorageSize(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).FpStorage, iCol, pnToken) } -func fts5ApiRowCount(tls *libc.TLS, pCtx uintptr, pnRow uintptr) int32 { /* sqlite3.c:233390:12: */ +func fts5ApiRowCount(tls *libc.TLS, pCtx uintptr, pnRow uintptr) int32 { /* sqlite3.c:233447:12: */ var pCsr uintptr = pCtx var pTab uintptr = (*Fts5Cursor)(unsafe.Pointer(pCsr)).Fbase.FpVtab return sqlite3Fts5StorageRowCount(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).FpStorage, pnRow) } -func fts5ApiTokenize(tls *libc.TLS, pCtx uintptr, pText uintptr, nText int32, pUserData uintptr, xToken uintptr) int32 { /* sqlite3.c:233396:12: */ +func fts5ApiTokenize(tls *libc.TLS, pCtx uintptr, pText uintptr, nText int32, pUserData uintptr, xToken uintptr) int32 { /* sqlite3.c:233453:12: */ var pCsr uintptr = pCtx var pTab uintptr = (*Fts5Cursor)(unsafe.Pointer(pCsr)).Fbase.FpVtab return sqlite3Fts5Tokenize(tls, (*Fts5Table)(unsafe.Pointer(pTab)).FpConfig, FTS5_TOKENIZE_AUX, pText, nText, pUserData, xToken) } -func fts5ApiPhraseCount(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:233409:12: */ +func fts5ApiPhraseCount(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:233466:12: */ var pCsr uintptr = pCtx return sqlite3Fts5ExprPhraseCount(tls, (*Fts5Cursor)(unsafe.Pointer(pCsr)).FpExpr) } -func fts5ApiPhraseSize(tls *libc.TLS, pCtx uintptr, iPhrase int32) int32 { /* sqlite3.c:233414:12: */ +func fts5ApiPhraseSize(tls *libc.TLS, pCtx uintptr, iPhrase int32) int32 { /* sqlite3.c:233471:12: */ var pCsr uintptr = pCtx return sqlite3Fts5ExprPhraseSize(tls, (*Fts5Cursor)(unsafe.Pointer(pCsr)).FpExpr, iPhrase) } -func fts5ApiColumnText(tls *libc.TLS, pCtx uintptr, iCol int32, pz uintptr, pn uintptr) int32 { /* sqlite3.c:233419:12: */ +func fts5ApiColumnText(tls *libc.TLS, pCtx uintptr, iCol int32, pz uintptr, pn uintptr) int32 { /* sqlite3.c:233476:12: */ var rc int32 = SQLITE_OK var pCsr uintptr = pCtx if fts5IsContentless(tls, (*Fts5Cursor)(unsafe.Pointer(pCsr)).Fbase.FpVtab) != 0 || @@ -186779,7 +186810,7 @@ func fts5ApiColumnText(tls *libc.TLS, pCtx uintptr, iCol int32, pz uintptr, pn u return rc } -func fts5CsrPoslist(tls *libc.TLS, pCsr uintptr, iPhrase int32, pa uintptr, pn uintptr) int32 { /* sqlite3.c:233442:12: */ +func fts5CsrPoslist(tls *libc.TLS, pCsr uintptr, iPhrase int32, pa uintptr, pn uintptr) int32 { /* sqlite3.c:233499:12: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -186836,7 +186867,7 @@ func fts5CsrPoslist(tls *libc.TLS, pCsr uintptr, iPhrase int32, pa uintptr, pn u // Ensure that the Fts5Cursor.nInstCount and aInst[] variables are populated // correctly for the current view. Return SQLITE_OK if successful, or an // SQLite error code otherwise. -func fts5CacheInstArray(tls *libc.TLS, pCsr uintptr) int32 { /* sqlite3.c:233494:12: */ +func fts5CacheInstArray(tls *libc.TLS, pCsr uintptr) int32 { /* sqlite3.c:233551:12: */ bp := tls.Alloc(20) defer tls.Free(20) @@ -186920,7 +186951,7 @@ func fts5CacheInstArray(tls *libc.TLS, pCsr uintptr) int32 { /* sqlite3.c:233494 return *(*int32)(unsafe.Pointer(bp /* rc */)) } -func fts5ApiInstCount(tls *libc.TLS, pCtx uintptr, pnInst uintptr) int32 { /* sqlite3.c:233568:12: */ +func fts5ApiInstCount(tls *libc.TLS, pCtx uintptr, pnInst uintptr) int32 { /* sqlite3.c:233625:12: */ var pCsr uintptr = pCtx var rc int32 = SQLITE_OK if (*Fts5Cursor)(unsafe.Pointer(pCsr)).Fcsrflags&FTS5CSR_REQUIRE_INST == 0 || @@ -186930,7 +186961,7 @@ func fts5ApiInstCount(tls *libc.TLS, pCtx uintptr, pnInst uintptr) int32 { /* sq return rc } -func fts5ApiInst(tls *libc.TLS, pCtx uintptr, iIdx int32, piPhrase uintptr, piCol uintptr, piOff uintptr) int32 { /* sqlite3.c:233578:12: */ +func fts5ApiInst(tls *libc.TLS, pCtx uintptr, iIdx int32, piPhrase uintptr, piCol uintptr, piOff uintptr) int32 { /* sqlite3.c:233635:12: */ var pCsr uintptr = pCtx var rc int32 = SQLITE_OK if (*Fts5Cursor)(unsafe.Pointer(pCsr)).Fcsrflags&FTS5CSR_REQUIRE_INST == 0 || @@ -186946,11 +186977,11 @@ func fts5ApiInst(tls *libc.TLS, pCtx uintptr, iIdx int32, piPhrase uintptr, piCo return rc } -func fts5ApiRowid(tls *libc.TLS, pCtx uintptr) Sqlite3_int64 { /* sqlite3.c:233607:22: */ +func fts5ApiRowid(tls *libc.TLS, pCtx uintptr) Sqlite3_int64 { /* sqlite3.c:233664:22: */ return fts5CursorRowid(tls, pCtx) } -func fts5ColumnSizeCb(tls *libc.TLS, pContext uintptr, tflags int32, pUnused uintptr, nUnused int32, iUnused1 int32, iUnused2 int32) int32 { /* sqlite3.c:233611:12: */ +func fts5ColumnSizeCb(tls *libc.TLS, pContext uintptr, tflags int32, pUnused uintptr, nUnused int32, iUnused1 int32, iUnused2 int32) int32 { /* sqlite3.c:233668:12: */ var pCnt uintptr = pContext _ = pUnused _ = nUnused @@ -186962,7 +186993,7 @@ func fts5ColumnSizeCb(tls *libc.TLS, pContext uintptr, tflags int32, pUnused uin return SQLITE_OK } -func fts5ApiColumnSize(tls *libc.TLS, pCtx uintptr, iCol int32, pnToken uintptr) int32 { /* sqlite3.c:233628:12: */ +func fts5ApiColumnSize(tls *libc.TLS, pCtx uintptr, iCol int32, pnToken uintptr) int32 { /* sqlite3.c:233685:12: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -187020,7 +187051,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) int32 { /* sqlite3.c:233681:12: */ +func fts5ApiSetAuxdata(tls *libc.TLS, pCtx uintptr, pPtr uintptr, xDelete uintptr) int32 { /* sqlite3.c:233738:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -187058,7 +187089,7 @@ func fts5ApiSetAuxdata(tls *libc.TLS, pCtx uintptr, pPtr uintptr, xDelete uintpt return SQLITE_OK } -func fts5ApiGetAuxdata(tls *libc.TLS, pCtx uintptr, bClear int32) uintptr { /* sqlite3.c:233716:13: */ +func fts5ApiGetAuxdata(tls *libc.TLS, pCtx uintptr, bClear int32) uintptr { /* sqlite3.c:233773:13: */ var pCsr uintptr = pCtx var pData uintptr var pRet uintptr = uintptr(0) @@ -187080,7 +187111,7 @@ func fts5ApiGetAuxdata(tls *libc.TLS, pCtx uintptr, bClear int32) uintptr { /* s return pRet } -func fts5ApiPhraseNext(tls *libc.TLS, pUnused uintptr, pIter uintptr, piCol uintptr, piOff uintptr) { /* sqlite3.c:233736:13: */ +func fts5ApiPhraseNext(tls *libc.TLS, pUnused uintptr, pIter uintptr, piCol uintptr, piOff uintptr) { /* sqlite3.c:233793:13: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -187102,7 +187133,7 @@ func fts5ApiPhraseNext(tls *libc.TLS, pUnused uintptr, pIter uintptr, piCol uint } } -func fts5ApiPhraseFirst(tls *libc.TLS, pCtx uintptr, iPhrase int32, pIter uintptr, piCol uintptr, piOff uintptr) int32 { /* sqlite3.c:233758:12: */ +func fts5ApiPhraseFirst(tls *libc.TLS, pCtx uintptr, iPhrase int32, pIter uintptr, piCol uintptr, piOff uintptr) int32 { /* sqlite3.c:233815:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -187125,7 +187156,7 @@ func fts5ApiPhraseFirst(tls *libc.TLS, pCtx uintptr, iPhrase int32, pIter uintpt return rc } -func fts5ApiPhraseNextColumn(tls *libc.TLS, pCtx uintptr, pIter uintptr, piCol uintptr) { /* sqlite3.c:233777:13: */ +func fts5ApiPhraseNextColumn(tls *libc.TLS, pCtx uintptr, pIter uintptr, piCol uintptr) { /* sqlite3.c:233834:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -187158,7 +187189,7 @@ func fts5ApiPhraseNextColumn(tls *libc.TLS, pCtx uintptr, pIter uintptr, piCol u } } -func fts5ApiPhraseFirstColumn(tls *libc.TLS, pCtx uintptr, iPhrase int32, pIter uintptr, piCol uintptr) int32 { /* sqlite3.c:233807:12: */ +func fts5ApiPhraseFirstColumn(tls *libc.TLS, pCtx uintptr, iPhrase int32, pIter uintptr, piCol uintptr) int32 { /* sqlite3.c:233864:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -187239,10 +187270,10 @@ var sFts5Api = Fts5ExtensionApi{ FxPhraseNext: 0, FxPhraseFirstColumn: 0, FxPhraseNextColumn: 0, -} /* sqlite3.c:233857:31 */ +} /* sqlite3.c:233914:31 */ // Implementation of API function xQueryPhrase(). -func fts5ApiQueryPhrase(tls *libc.TLS, pCtx uintptr, iPhrase int32, pUserData uintptr, xCallback uintptr) int32 { /* sqlite3.c:233883:12: */ +func fts5ApiQueryPhrase(tls *libc.TLS, pCtx uintptr, iPhrase int32, pUserData uintptr, xCallback uintptr) int32 { /* sqlite3.c:233940:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -187278,7 +187309,7 @@ func fts5ApiQueryPhrase(tls *libc.TLS, pCtx uintptr, iPhrase int32, pUserData ui return rc } -func fts5ApiInvoke(tls *libc.TLS, pAux uintptr, pCsr uintptr, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:233920:13: */ +func fts5ApiInvoke(tls *libc.TLS, pAux uintptr, pCsr uintptr, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:233977:13: */ (*Fts5Cursor)(unsafe.Pointer(pCsr)).FpAux = pAux (*struct { @@ -187287,7 +187318,7 @@ func fts5ApiInvoke(tls *libc.TLS, pAux uintptr, pCsr uintptr, context uintptr, a (*Fts5Cursor)(unsafe.Pointer(pCsr)).FpAux = uintptr(0) } -func fts5CursorFromCsrid(tls *libc.TLS, pGlobal uintptr, iCsrId I64) uintptr { /* sqlite3.c:233933:19: */ +func fts5CursorFromCsrid(tls *libc.TLS, pGlobal uintptr, iCsrId I64) uintptr { /* sqlite3.c:233990:19: */ var pCsr uintptr for pCsr = (*Fts5Global)(unsafe.Pointer(pGlobal)).FpCsr; pCsr != 0; pCsr = (*Fts5Cursor)(unsafe.Pointer(pCsr)).FpNext { if (*Fts5Cursor)(unsafe.Pointer(pCsr)).FiCsrId == iCsrId { @@ -187297,7 +187328,7 @@ func fts5CursorFromCsrid(tls *libc.TLS, pGlobal uintptr, iCsrId I64) uintptr { / return pCsr } -func fts5ApiCallback(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:233941:13: */ +func fts5ApiCallback(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:233998:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -187320,7 +187351,7 @@ func fts5ApiCallback(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { // Given cursor id iId, return a pointer to the corresponding Fts5Table // object. Or NULL If the cursor id does not exist. -func sqlite3Fts5TableFromCsrid(tls *libc.TLS, pGlobal uintptr, iCsrId I64) uintptr { /* sqlite3.c:233970:18: */ +func sqlite3Fts5TableFromCsrid(tls *libc.TLS, pGlobal uintptr, iCsrId I64) uintptr { /* sqlite3.c:234027:18: */ var pCsr uintptr pCsr = fts5CursorFromCsrid(tls, pGlobal, iCsrId) if pCsr != 0 { @@ -187342,7 +187373,7 @@ func sqlite3Fts5TableFromCsrid(tls *libc.TLS, pGlobal uintptr, iCsrId I64) uintp // for phrase 0. The second (same disclaimer) contains the size of position // list 1. And so on. There is no size field for the final position list, // as it can be derived from the total size of the blob. -func fts5PoslistBlob(tls *libc.TLS, pCtx uintptr, pCsr uintptr) int32 { /* sqlite3.c:233997:12: */ +func fts5PoslistBlob(tls *libc.TLS, pCtx uintptr, pCsr uintptr) int32 { /* sqlite3.c:234054:12: */ bp := tls.Alloc(68) defer tls.Free(68) @@ -187406,7 +187437,7 @@ func fts5PoslistBlob(tls *libc.TLS, pCtx uintptr, pCsr uintptr) int32 { /* sqlit // This is the xColumn method, called by SQLite to request a value from // the row that the supplied cursor currently points to. -func fts5ColumnMethod(tls *libc.TLS, pCursor uintptr, pCtx uintptr, iCol int32) int32 { /* sqlite3.c:234054:12: */ +func fts5ColumnMethod(tls *libc.TLS, pCursor uintptr, pCtx uintptr, iCol int32) int32 { /* sqlite3.c:234111:12: */ var pTab uintptr = (*Sqlite3_vtab_cursor)(unsafe.Pointer(pCursor)).FpVtab var pConfig uintptr = (*Fts5FullTable)(unsafe.Pointer(pTab)).Fp.FpConfig var pCsr uintptr = pCursor @@ -187446,7 +187477,7 @@ 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) int32 { /* sqlite3.c:234107:12: */ +func fts5FindFunctionMethod(tls *libc.TLS, pVtab uintptr, nUnused int32, zName uintptr, pxFunc uintptr, ppArg uintptr) int32 { /* sqlite3.c:234164:12: */ var pTab uintptr = pVtab var pAux uintptr @@ -187465,12 +187496,12 @@ func fts5FindFunctionMethod(tls *libc.TLS, pVtab uintptr, nUnused int32, zName u } // Implementation of FTS5 xRename method. Rename an fts5 table. -func fts5RenameMethod(tls *libc.TLS, pVtab uintptr, zName uintptr) int32 { /* sqlite3.c:234132:12: */ +func fts5RenameMethod(tls *libc.TLS, pVtab uintptr, zName uintptr) int32 { /* sqlite3.c:234189:12: */ var pTab uintptr = pVtab return sqlite3Fts5StorageRename(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).FpStorage, zName) } -func sqlite3Fts5FlushToDisk(tls *libc.TLS, pTab uintptr) int32 { /* sqlite3.c:234140:12: */ +func sqlite3Fts5FlushToDisk(tls *libc.TLS, pTab uintptr) int32 { /* sqlite3.c:234197:12: */ fts5TripCursors(tls, pTab) return sqlite3Fts5StorageSync(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).FpStorage) } @@ -187478,7 +187509,7 @@ func sqlite3Fts5FlushToDisk(tls *libc.TLS, pTab uintptr) int32 { /* sqlite3.c:23 // The xSavepoint() method. // // Flush the contents of the pending-terms table to disk. -func fts5SavepointMethod(tls *libc.TLS, pVtab uintptr, iSavepoint int32) int32 { /* sqlite3.c:234150:12: */ +func fts5SavepointMethod(tls *libc.TLS, pVtab uintptr, iSavepoint int32) int32 { /* sqlite3.c:234207:12: */ _ = iSavepoint // Call below is a no-op for NDEBUG builds return sqlite3Fts5FlushToDisk(tls, pVtab) @@ -187487,7 +187518,7 @@ func fts5SavepointMethod(tls *libc.TLS, pVtab uintptr, iSavepoint int32) int32 { // The xRelease() method. // // This is a no-op. -func fts5ReleaseMethod(tls *libc.TLS, pVtab uintptr, iSavepoint int32) int32 { /* sqlite3.c:234161:12: */ +func fts5ReleaseMethod(tls *libc.TLS, pVtab uintptr, iSavepoint int32) int32 { /* sqlite3.c:234218:12: */ _ = iSavepoint // Call below is a no-op for NDEBUG builds return sqlite3Fts5FlushToDisk(tls, pVtab) @@ -187496,7 +187527,7 @@ func fts5ReleaseMethod(tls *libc.TLS, pVtab uintptr, iSavepoint int32) int32 { / // The xRollbackTo() method. // // Discard the contents of the pending terms table. -func fts5RollbackToMethod(tls *libc.TLS, pVtab uintptr, iSavepoint int32) int32 { /* sqlite3.c:234172:12: */ +func fts5RollbackToMethod(tls *libc.TLS, pVtab uintptr, iSavepoint int32) int32 { /* sqlite3.c:234229:12: */ var pTab uintptr = pVtab _ = iSavepoint // Call below is a no-op for NDEBUG builds @@ -187505,7 +187536,7 @@ func fts5RollbackToMethod(tls *libc.TLS, pVtab uintptr, iSavepoint int32) int32 } // Register a new auxiliary function with global context pGlobal. -func fts5CreateAux(tls *libc.TLS, pApi uintptr, zName uintptr, pUserData uintptr, xFunc Fts5_extension_function, xDestroy uintptr) int32 { /* sqlite3.c:234183:12: */ +func fts5CreateAux(tls *libc.TLS, pApi uintptr, zName uintptr, pUserData uintptr, xFunc Fts5_extension_function, xDestroy uintptr) int32 { /* sqlite3.c:234240:12: */ var pGlobal uintptr = pApi var rc int32 = Xsqlite3_overload_function(tls, (*Fts5Global)(unsafe.Pointer(pGlobal)).Fdb, zName, -1) if rc == SQLITE_OK { @@ -187536,7 +187567,7 @@ func fts5CreateAux(tls *libc.TLS, pApi uintptr, zName uintptr, pUserData uintptr // Register a new tokenizer. This is the implementation of the // fts5_api.xCreateTokenizer() method. -func fts5CreateTokenizer(tls *libc.TLS, pApi uintptr, zName uintptr, pUserData uintptr, pTokenizer uintptr, xDestroy uintptr) int32 { /* sqlite3.c:234222:12: */ +func fts5CreateTokenizer(tls *libc.TLS, pApi uintptr, zName uintptr, pUserData uintptr, pTokenizer uintptr, xDestroy uintptr) int32 { /* sqlite3.c:234279:12: */ var pGlobal uintptr = pApi var pNew uintptr var nName Sqlite3_int64 // Size of zName and its \0 terminator @@ -187565,7 +187596,7 @@ func fts5CreateTokenizer(tls *libc.TLS, pApi uintptr, zName uintptr, pUserData u return rc } -func fts5LocateTokenizer(tls *libc.TLS, pGlobal uintptr, zName uintptr) uintptr { /* sqlite3.c:234257:28: */ +func fts5LocateTokenizer(tls *libc.TLS, pGlobal uintptr, zName uintptr) uintptr { /* sqlite3.c:234314:28: */ var pMod uintptr = uintptr(0) if zName == uintptr(0) { @@ -187583,7 +187614,7 @@ func fts5LocateTokenizer(tls *libc.TLS, pGlobal uintptr, zName uintptr) uintptr // Find a tokenizer. This is the implementation of the // fts5_api.xFindTokenizer() method. -func fts5FindTokenizer(tls *libc.TLS, pApi uintptr, zName uintptr, ppUserData uintptr, pTokenizer uintptr) int32 { /* sqlite3.c:234278:12: */ +func fts5FindTokenizer(tls *libc.TLS, pApi uintptr, zName uintptr, ppUserData uintptr, pTokenizer uintptr) int32 { /* sqlite3.c:234335:12: */ var rc int32 = SQLITE_OK var pMod uintptr @@ -187599,7 +187630,7 @@ func fts5FindTokenizer(tls *libc.TLS, pApi uintptr, zName uintptr, ppUserData ui return rc } -func sqlite3Fts5GetTokenizer(tls *libc.TLS, pGlobal uintptr, azArg uintptr, nArg int32, pConfig uintptr, pzErr uintptr) int32 { /* sqlite3.c:234299:12: */ +func sqlite3Fts5GetTokenizer(tls *libc.TLS, pGlobal uintptr, azArg uintptr, nArg int32, pConfig uintptr, pzErr uintptr) int32 { /* sqlite3.c:234356:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -187650,7 +187681,7 @@ func sqlite3Fts5GetTokenizer(tls *libc.TLS, pGlobal uintptr, azArg uintptr, nArg return rc } -func fts5ModuleDestroy(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:234336:13: */ +func fts5ModuleDestroy(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:234393:13: */ var pTok uintptr var pNextTok uintptr var pAux uintptr @@ -187676,7 +187707,7 @@ func fts5ModuleDestroy(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:234336:13: */ Xsqlite3_free(tls, pGlobal) } -func fts5Fts5Func(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:234356:13: */ +func fts5Fts5Func(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:234413:13: */ var pGlobal uintptr = Xsqlite3_user_data(tls, pCtx) var ppApi uintptr _ = nArg @@ -187688,7 +187719,7 @@ func fts5Fts5Func(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* s } // Implementation of fts5_source_id() function. -func fts5SourceIdFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apUnused uintptr) { /* sqlite3.c:234372:13: */ +func fts5SourceIdFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apUnused uintptr) { /* sqlite3.c:234429:13: */ _ = nArg _ = apUnused @@ -187697,7 +187728,7 @@ func fts5SourceIdFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apUnused uintptr) // Return true if zName is the extension on one of the shadow tables used // by this module. -func fts5ShadowName(tls *libc.TLS, zName uintptr) int32 { /* sqlite3.c:234386:12: */ +func fts5ShadowName(tls *libc.TLS, zName uintptr) int32 { /* sqlite3.c:234443:12: */ var i uint32 for i = uint32(0); uint64(i) < uint64(unsafe.Sizeof(azName2))/uint64(unsafe.Sizeof(uintptr(0))); i++ { if Xsqlite3_stricmp(tls, zName, azName2[i]) == 0 { @@ -187709,9 +187740,9 @@ func fts5ShadowName(tls *libc.TLS, zName uintptr) int32 { /* sqlite3.c:234386:12 var azName2 = [5]uintptr{ ts + 35763, ts + 33862, ts + 24862, ts + 34213, ts + 11357, -} /* sqlite3.c:234387:21 */ +} /* sqlite3.c:234444:21 */ -func fts5Init(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:234397:12: */ +func fts5Init(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:234454:12: */ var rc int32 var pGlobal uintptr = uintptr(0) @@ -187794,7 +187825,7 @@ var fts5Mod = Sqlite3_module{ /* xRelease */ FxRelease: 0, /* xRollbackTo */ FxRollbackTo: 0, /* xShadowName */ FxShadowName: 0, -} /* sqlite3.c:234398:31 */ +} /* sqlite3.c:234455:31 */ // The following functions are used to register the module with SQLite. If // this module is being built as part of the SQLite core (SQLITE_CORE is @@ -187803,7 +187834,7 @@ var fts5Mod = Sqlite3_module{ // Or, if this module is being built as a loadable extension, // sqlite3Fts5Init() is omitted and the two standard entry points // sqlite3_fts_init() and sqlite3_fts5_init() defined instead. -func Xsqlite3Fts5Init(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:234506:20: */ +func Xsqlite3Fts5Init(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:234563:20: */ return fts5Init(tls, db) } @@ -187811,7 +187842,7 @@ func Xsqlite3Fts5Init(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:234506:20: // Fts5Storage.pInsertDocsize - if they have not already been prepared. // Return SQLITE_OK if successful, or an SQLite error code if an error // occurs. -func fts5StorageGetStmt(tls *libc.TLS, p uintptr, eStmt int32, ppStmt uintptr, pzErrMsg uintptr) int32 { /* sqlite3.c:234564:12: */ +func fts5StorageGetStmt(tls *libc.TLS, p uintptr, eStmt int32, ppStmt uintptr, pzErrMsg uintptr) int32 { /* sqlite3.c:234621:12: */ bp := tls.Alloc(216) defer tls.Free(216) @@ -187912,7 +187943,7 @@ func fts5StorageGetStmt(tls *libc.TLS, p uintptr, eStmt int32, ppStmt uintptr, p return rc } -func fts5ExecPrintf(tls *libc.TLS, db uintptr, pzErr uintptr, zFormat uintptr, va uintptr) int32 { /* sqlite3.c:234667:12: */ +func fts5ExecPrintf(tls *libc.TLS, db uintptr, pzErr uintptr, zFormat uintptr, va uintptr) int32 { /* sqlite3.c:234724:12: */ var rc int32 var ap Va_list _ = ap // ... printf arguments @@ -187934,7 +187965,7 @@ func fts5ExecPrintf(tls *libc.TLS, db uintptr, pzErr uintptr, zFormat uintptr, v // Drop all shadow tables. Return SQLITE_OK if successful or an SQLite error // code otherwise. -func sqlite3Fts5DropAll(tls *libc.TLS, pConfig uintptr) int32 { /* sqlite3.c:234695:12: */ +func sqlite3Fts5DropAll(tls *libc.TLS, pConfig uintptr) int32 { /* sqlite3.c:234752:12: */ bp := tls.Alloc(80) defer tls.Free(80) @@ -187957,7 +187988,7 @@ func sqlite3Fts5DropAll(tls *libc.TLS, pConfig uintptr) int32 { /* sqlite3.c:234 return rc } -func fts5StorageRenameOne(tls *libc.TLS, pConfig uintptr, pRc uintptr, zTail uintptr, zName uintptr) { /* sqlite3.c:234719:13: */ +func fts5StorageRenameOne(tls *libc.TLS, pConfig uintptr, pRc uintptr, zTail uintptr, zName uintptr) { /* sqlite3.c:234776:13: */ bp := tls.Alloc(40) defer tls.Free(40) @@ -187968,7 +187999,7 @@ func fts5StorageRenameOne(tls *libc.TLS, pConfig uintptr, pRc uintptr, zTail uin } } -func sqlite3Fts5StorageRename(tls *libc.TLS, pStorage uintptr, zName uintptr) int32 { /* sqlite3.c:234733:12: */ +func sqlite3Fts5StorageRename(tls *libc.TLS, pStorage uintptr, zName uintptr) int32 { /* sqlite3.c:234790:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -187989,7 +188020,7 @@ func sqlite3Fts5StorageRename(tls *libc.TLS, pStorage uintptr, zName uintptr) in // Create the shadow table named zPost, with definition zDefn. Return // SQLITE_OK if successful, or an SQLite error code otherwise. -func sqlite3Fts5CreateTable(tls *libc.TLS, pConfig uintptr, zPost uintptr, zDefn uintptr, bWithout int32, pzErr uintptr) int32 { /* sqlite3.c:234753:12: */ +func sqlite3Fts5CreateTable(tls *libc.TLS, pConfig uintptr, zPost uintptr, zDefn uintptr, bWithout int32, pzErr uintptr) int32 { /* sqlite3.c:234810:12: */ bp := tls.Alloc(72) defer tls.Free(72) @@ -188019,7 +188050,7 @@ func sqlite3Fts5CreateTable(tls *libc.TLS, pConfig uintptr, zPost uintptr, zDefn // // If successful, set *pp to point to the new object and return SQLITE_OK. // Otherwise, set *pp to NULL and return an SQLite error code. -func sqlite3Fts5StorageOpen(tls *libc.TLS, pConfig uintptr, pIndex uintptr, bCreate int32, pp uintptr, pzErr uintptr) int32 { /* sqlite3.c:234788:12: */ +func sqlite3Fts5StorageOpen(tls *libc.TLS, pConfig uintptr, pIndex uintptr, bCreate int32, pp uintptr, pzErr uintptr) int32 { /* sqlite3.c:234845:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -188080,7 +188111,7 @@ func sqlite3Fts5StorageOpen(tls *libc.TLS, pConfig uintptr, pIndex uintptr, bCre } // Close a handle opened by an earlier call to sqlite3Fts5StorageOpen(). -func sqlite3Fts5StorageClose(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:234854:12: */ +func sqlite3Fts5StorageClose(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:234911:12: */ var rc int32 = SQLITE_OK if p != 0 { var i int32 @@ -188099,12 +188130,12 @@ type Fts5InsertCtx1 = struct { FpStorage uintptr FiCol int32 FszCol int32 -} /* sqlite3.c:234869:9 */ +} /* sqlite3.c:234926:9 */ -type Fts5InsertCtx = Fts5InsertCtx1 /* sqlite3.c:234869:30 */ +type Fts5InsertCtx = Fts5InsertCtx1 /* sqlite3.c:234926:30 */ // Tokenization callback used when inserting tokens into the FTS index. -func fts5StorageInsertCallback(tls *libc.TLS, pContext uintptr, tflags int32, pToken uintptr, nToken int32, iUnused1 int32, iUnused2 int32) int32 { /* sqlite3.c:234879:12: */ +func fts5StorageInsertCallback(tls *libc.TLS, pContext uintptr, tflags int32, pToken uintptr, nToken int32, iUnused1 int32, iUnused2 int32) int32 { /* sqlite3.c:234936:12: */ var pCtx uintptr = pContext var pIdx uintptr = (*Fts5Storage)(unsafe.Pointer((*Fts5InsertCtx)(unsafe.Pointer(pCtx)).FpStorage)).FpIndex _ = iUnused1 @@ -188121,7 +188152,7 @@ func fts5StorageInsertCallback(tls *libc.TLS, pContext uintptr, tflags int32, pT // If a row with rowid iDel is present in the %_content table, add the // delete-markers to the FTS index necessary to delete it. Do not actually // remove the %_content row at this time though. -func fts5StorageDeleteFromIndex(tls *libc.TLS, p uintptr, iDel I64, apVal uintptr) int32 { /* sqlite3.c:234902:12: */ +func fts5StorageDeleteFromIndex(tls *libc.TLS, p uintptr, iDel I64, apVal uintptr) int32 { /* sqlite3.c:234959:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -188190,7 +188221,7 @@ func fts5StorageDeleteFromIndex(tls *libc.TLS, p uintptr, iDel I64, apVal uintpt // // If there is no %_docsize table (as happens if the columnsize=0 option // is specified when the FTS5 table is created), this function is a no-op. -func fts5StorageInsertDocsize(tls *libc.TLS, p uintptr, iRowid I64, pBuf uintptr) int32 { /* sqlite3.c:234971:12: */ +func fts5StorageInsertDocsize(tls *libc.TLS, p uintptr, iRowid I64, pBuf uintptr) int32 { /* sqlite3.c:235028:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -188217,7 +188248,7 @@ func fts5StorageInsertDocsize(tls *libc.TLS, p uintptr, iRowid I64, pBuf uintptr // // Return SQLITE_OK if successful, or an SQLite error code if an error // occurs. -func fts5StorageLoadTotals(tls *libc.TLS, p uintptr, bCache int32) int32 { /* sqlite3.c:235001:12: */ +func fts5StorageLoadTotals(tls *libc.TLS, p uintptr, bCache int32) int32 { /* sqlite3.c:235058:12: */ var rc int32 = SQLITE_OK if (*Fts5Storage)(unsafe.Pointer(p)).FbTotalsValid == 0 { rc = sqlite3Fts5IndexGetAverages(tls, (*Fts5Storage)(unsafe.Pointer(p)).FpIndex, p+24, (*Fts5Storage)(unsafe.Pointer(p)).FaTotalSize) @@ -188231,7 +188262,7 @@ func fts5StorageLoadTotals(tls *libc.TLS, p uintptr, bCache int32) int32 { /* sq // // Return SQLITE_OK if successful, or an SQLite error code if an error // occurs. -func fts5StorageSaveTotals(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:235017:12: */ +func fts5StorageSaveTotals(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:235074:12: */ bp := tls.Alloc(20) defer tls.Free(20) @@ -188255,7 +188286,7 @@ func fts5StorageSaveTotals(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:235017 } // Remove a row from the FTS table. -func sqlite3Fts5StorageDelete(tls *libc.TLS, p uintptr, iDel I64, apVal uintptr) int32 { /* sqlite3.c:235039:12: */ +func sqlite3Fts5StorageDelete(tls *libc.TLS, p uintptr, iDel I64, apVal uintptr) int32 { /* sqlite3.c:235096:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -188296,7 +188327,7 @@ func sqlite3Fts5StorageDelete(tls *libc.TLS, p uintptr, iDel I64, apVal uintptr) } // Delete all entries in the FTS5 index. -func sqlite3Fts5StorageDeleteAll(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:235080:12: */ +func sqlite3Fts5StorageDeleteAll(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:235137:12: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -188328,7 +188359,7 @@ func sqlite3Fts5StorageDeleteAll(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c: return rc } -func sqlite3Fts5StorageRebuild(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:235111:12: */ +func sqlite3Fts5StorageRebuild(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:235168:12: */ bp := tls.Alloc(44) defer tls.Free(44) @@ -188392,15 +188423,15 @@ func sqlite3Fts5StorageRebuild(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:23 return *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) } -func sqlite3Fts5StorageOptimize(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:235166:12: */ +func sqlite3Fts5StorageOptimize(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:235223:12: */ return sqlite3Fts5IndexOptimize(tls, (*Fts5Storage)(unsafe.Pointer(p)).FpIndex) } -func sqlite3Fts5StorageMerge(tls *libc.TLS, p uintptr, nMerge int32) int32 { /* sqlite3.c:235170:12: */ +func sqlite3Fts5StorageMerge(tls *libc.TLS, p uintptr, nMerge int32) int32 { /* sqlite3.c:235227:12: */ return sqlite3Fts5IndexMerge(tls, (*Fts5Storage)(unsafe.Pointer(p)).FpIndex, nMerge) } -func sqlite3Fts5StorageReset(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:235174:12: */ +func sqlite3Fts5StorageReset(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:235231:12: */ return sqlite3Fts5IndexReset(tls, (*Fts5Storage)(unsafe.Pointer(p)).FpIndex) } @@ -188411,7 +188442,7 @@ func sqlite3Fts5StorageReset(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:2351 // // If the %_docsize table does not exist, SQLITE_MISMATCH is returned. In // this case the user is required to provide a rowid explicitly. -func fts5StorageNewRowid(tls *libc.TLS, p uintptr, piRowid uintptr) int32 { /* sqlite3.c:235187:12: */ +func fts5StorageNewRowid(tls *libc.TLS, p uintptr, piRowid uintptr) int32 { /* sqlite3.c:235244:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -188433,7 +188464,7 @@ func fts5StorageNewRowid(tls *libc.TLS, p uintptr, piRowid uintptr) int32 { /* s } // Insert a new row into the FTS content table. -func sqlite3Fts5StorageContentInsert(tls *libc.TLS, p uintptr, apVal uintptr, piRowid uintptr) int32 { /* sqlite3.c:235208:12: */ +func sqlite3Fts5StorageContentInsert(tls *libc.TLS, p uintptr, apVal uintptr, piRowid uintptr) int32 { /* sqlite3.c:235265:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -188465,7 +188496,7 @@ func sqlite3Fts5StorageContentInsert(tls *libc.TLS, p uintptr, apVal uintptr, pi } // Insert new entries into the FTS index and %_docsize table. -func sqlite3Fts5StorageIndexInsert(tls *libc.TLS, p uintptr, apVal uintptr, iRowid I64) int32 { /* sqlite3.c:235243:12: */ +func sqlite3Fts5StorageIndexInsert(tls *libc.TLS, p uintptr, apVal uintptr, iRowid I64) int32 { /* sqlite3.c:235300:12: */ bp := tls.Alloc(36) defer tls.Free(36) @@ -188510,7 +188541,7 @@ func sqlite3Fts5StorageIndexInsert(tls *libc.TLS, p uintptr, apVal uintptr, iRow return *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) } -func fts5StorageCount(tls *libc.TLS, p uintptr, zSuffix uintptr, pnRow uintptr) int32 { /* sqlite3.c:235286:12: */ +func fts5StorageCount(tls *libc.TLS, p uintptr, zSuffix uintptr, pnRow uintptr) int32 { /* sqlite3.c:235343:12: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -188545,13 +188576,13 @@ type Fts5IntegrityCtx1 = struct { Fcksum U64 FpTermset uintptr FpConfig uintptr -} /* sqlite3.c:235314:9 */ +} /* sqlite3.c:235371:9 */ // Context object used by sqlite3Fts5StorageIntegrity(). -type Fts5IntegrityCtx = Fts5IntegrityCtx1 /* sqlite3.c:235314:33 */ +type Fts5IntegrityCtx = Fts5IntegrityCtx1 /* sqlite3.c:235371:33 */ // Tokenization callback used by integrity check. -func fts5StorageIntegrityCallback(tls *libc.TLS, pContext uintptr, tflags int32, pToken uintptr, nToken int32, iUnused1 int32, iUnused2 int32) int32 { /* sqlite3.c:235328:12: */ +func fts5StorageIntegrityCallback(tls *libc.TLS, pContext uintptr, tflags int32, pToken uintptr, nToken int32, iUnused1 int32, iUnused2 int32) int32 { /* sqlite3.c:235385:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -188617,7 +188648,7 @@ func fts5StorageIntegrityCallback(tls *libc.TLS, pContext uintptr, tflags int32, // table. Return SQLITE_OK if they do, or SQLITE_CORRUPT if not. Return // some other SQLite error code if an error occurs while attempting to // determine this. -func sqlite3Fts5StorageIntegrity(tls *libc.TLS, p uintptr, iArg int32) int32 { /* sqlite3.c:235398:12: */ +func sqlite3Fts5StorageIntegrity(tls *libc.TLS, p uintptr, iArg int32) int32 { /* sqlite3.c:235455:12: */ bp := tls.Alloc(64) defer tls.Free(64) @@ -188742,7 +188773,7 @@ func sqlite3Fts5StorageIntegrity(tls *libc.TLS, p uintptr, iArg int32) int32 { / // Obtain an SQLite statement handle that may be used to read data from the // %_content table. -func sqlite3Fts5StorageStmt(tls *libc.TLS, p uintptr, eStmt int32, pp uintptr, pzErrMsg uintptr) int32 { /* sqlite3.c:235506:12: */ +func sqlite3Fts5StorageStmt(tls *libc.TLS, p uintptr, eStmt int32, pp uintptr, pzErrMsg uintptr) int32 { /* sqlite3.c:235563:12: */ var rc int32 rc = fts5StorageGetStmt(tls, p, eStmt, pp, pzErrMsg) @@ -188756,7 +188787,7 @@ func sqlite3Fts5StorageStmt(tls *libc.TLS, p uintptr, eStmt int32, pp uintptr, p // Release an SQLite statement handle obtained via an earlier call to // sqlite3Fts5StorageStmt(). The eStmt parameter passed to this function // must match that passed to the sqlite3Fts5StorageStmt() call. -func sqlite3Fts5StorageStmtRelease(tls *libc.TLS, p uintptr, eStmt int32, pStmt uintptr) { /* sqlite3.c:235530:13: */ +func sqlite3Fts5StorageStmtRelease(tls *libc.TLS, p uintptr, eStmt int32, pStmt uintptr) { /* sqlite3.c:235587:13: */ if *(*uintptr)(unsafe.Pointer(p + 40 + uintptr(eStmt)*8)) == uintptr(0) { Xsqlite3_reset(tls, pStmt) @@ -188766,7 +188797,7 @@ func sqlite3Fts5StorageStmtRelease(tls *libc.TLS, p uintptr, eStmt int32, pStmt } } -func fts5StorageDecodeSizeArray(tls *libc.TLS, aCol uintptr, nCol int32, aBlob uintptr, nBlob int32) int32 { /* sqlite3.c:235547:12: */ +func fts5StorageDecodeSizeArray(tls *libc.TLS, aCol uintptr, nCol int32, aBlob uintptr, nBlob int32) int32 { /* sqlite3.c:235604:12: */ var i int32 var iOff int32 = 0 for i = 0; i < nCol; i++ { @@ -188784,7 +188815,7 @@ func fts5StorageDecodeSizeArray(tls *libc.TLS, aCol uintptr, nCol int32, aBlob u // // An SQLite error code is returned if an error occurs, or SQLITE_OK // otherwise. -func sqlite3Fts5StorageDocsize(tls *libc.TLS, p uintptr, iRowid I64, aCol uintptr) int32 { /* sqlite3.c:235568:12: */ +func sqlite3Fts5StorageDocsize(tls *libc.TLS, p uintptr, iRowid I64, aCol uintptr) int32 { /* sqlite3.c:235625:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -188815,7 +188846,7 @@ func sqlite3Fts5StorageDocsize(tls *libc.TLS, p uintptr, iRowid I64, aCol uintpt return rc } -func sqlite3Fts5StorageSize(tls *libc.TLS, p uintptr, iCol int32, pnToken uintptr) int32 { /* sqlite3.c:235597:12: */ +func sqlite3Fts5StorageSize(tls *libc.TLS, p uintptr, iCol int32, pnToken uintptr) int32 { /* sqlite3.c:235654:12: */ var rc int32 = fts5StorageLoadTotals(tls, p, 0) if rc == SQLITE_OK { *(*I64)(unsafe.Pointer(pnToken)) = int64(0) @@ -188833,7 +188864,7 @@ func sqlite3Fts5StorageSize(tls *libc.TLS, p uintptr, iCol int32, pnToken uintpt return rc } -func sqlite3Fts5StorageRowCount(tls *libc.TLS, p uintptr, pnRow uintptr) int32 { /* sqlite3.c:235615:12: */ +func sqlite3Fts5StorageRowCount(tls *libc.TLS, p uintptr, pnRow uintptr) int32 { /* sqlite3.c:235672:12: */ var rc int32 = fts5StorageLoadTotals(tls, p, 0) if rc == SQLITE_OK { // nTotalRow being zero does not necessarily indicate a corrupt @@ -188850,7 +188881,7 @@ func sqlite3Fts5StorageRowCount(tls *libc.TLS, p uintptr, pnRow uintptr) int32 { } // Flush any data currently held in-memory to disk. -func sqlite3Fts5StorageSync(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:235632:12: */ +func sqlite3Fts5StorageSync(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:235689:12: */ var rc int32 = SQLITE_OK var iLastRowid I64 = Xsqlite3_last_insert_rowid(tls, (*Fts5Config)(unsafe.Pointer((*Fts5Storage)(unsafe.Pointer(p)).FpConfig)).Fdb) if (*Fts5Storage)(unsafe.Pointer(p)).FbTotalsValid != 0 { @@ -188864,12 +188895,12 @@ func sqlite3Fts5StorageSync(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:23563 return rc } -func sqlite3Fts5StorageRollback(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:235646:12: */ +func sqlite3Fts5StorageRollback(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:235703:12: */ (*Fts5Storage)(unsafe.Pointer(p)).FbTotalsValid = 0 return sqlite3Fts5IndexRollback(tls, (*Fts5Storage)(unsafe.Pointer(p)).FpIndex) } -func sqlite3Fts5StorageConfigValue(tls *libc.TLS, p uintptr, z uintptr, pVal uintptr, iVal int32) int32 { /* sqlite3.c:235651:12: */ +func sqlite3Fts5StorageConfigValue(tls *libc.TLS, p uintptr, z uintptr, pVal uintptr, iVal int32) int32 { /* sqlite3.c:235708:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -188924,13 +188955,13 @@ var aAsciiTokenChar = [128]uint8{ uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), // 0x50..0x5F uint8(0), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), // 0x60..0x6F uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), // 0x70..0x7F -} /* sqlite3.c:235704:22 */ +} /* sqlite3.c:235761:22 */ -type AsciiTokenizer1 = struct{ FaTokenChar [128]uint8 } /* sqlite3.c:235715:9 */ +type AsciiTokenizer1 = struct{ FaTokenChar [128]uint8 } /* sqlite3.c:235772:9 */ -type AsciiTokenizer = AsciiTokenizer1 /* sqlite3.c:235715:31 */ +type AsciiTokenizer = AsciiTokenizer1 /* sqlite3.c:235772:31 */ -func fts5AsciiAddExceptions(tls *libc.TLS, p uintptr, zArg uintptr, bTokenChars int32) { /* sqlite3.c:235720:13: */ +func fts5AsciiAddExceptions(tls *libc.TLS, p uintptr, zArg uintptr, bTokenChars int32) { /* sqlite3.c:235777:13: */ var i int32 for i = 0; *(*int8)(unsafe.Pointer(zArg + uintptr(i))) != 0; i++ { if int32(*(*int8)(unsafe.Pointer(zArg + uintptr(i))))&0x80 == 0 { @@ -188940,12 +188971,12 @@ func fts5AsciiAddExceptions(tls *libc.TLS, p uintptr, zArg uintptr, bTokenChars } // Delete a "ascii" tokenizer. -func fts5AsciiDelete(tls *libc.TLS, p uintptr) { /* sqlite3.c:235736:13: */ +func fts5AsciiDelete(tls *libc.TLS, p uintptr) { /* sqlite3.c:235793:13: */ Xsqlite3_free(tls, p) } // Create an "ascii" tokenizer. -func fts5AsciiCreate(tls *libc.TLS, pUnused uintptr, azArg uintptr, nArg int32, ppOut uintptr) int32 { /* sqlite3.c:235743:12: */ +func fts5AsciiCreate(tls *libc.TLS, pUnused uintptr, azArg uintptr, nArg int32, ppOut uintptr) int32 { /* sqlite3.c:235800:12: */ var rc int32 = SQLITE_OK var p uintptr = uintptr(0) _ = pUnused @@ -188980,7 +189011,7 @@ func fts5AsciiCreate(tls *libc.TLS, pUnused uintptr, azArg uintptr, nArg int32, return rc } -func asciiFold(tls *libc.TLS, aOut uintptr, aIn uintptr, nByte int32) { /* sqlite3.c:235784:13: */ +func asciiFold(tls *libc.TLS, aOut uintptr, aIn uintptr, nByte int32) { /* sqlite3.c:235841:13: */ var i int32 for i = 0; i < nByte; i++ { var c int8 = *(*int8)(unsafe.Pointer(aIn + uintptr(i))) @@ -188992,7 +189023,7 @@ func asciiFold(tls *libc.TLS, aOut uintptr, aIn uintptr, nByte int32) { /* sqlit } // Tokenize some text using the ascii tokenizer. -func fts5AsciiTokenize(tls *libc.TLS, pTokenizer uintptr, pCtx uintptr, iUnused int32, pText uintptr, nText int32, xToken uintptr) int32 { /* sqlite3.c:235796:12: */ +func fts5AsciiTokenize(tls *libc.TLS, pTokenizer uintptr, pCtx uintptr, iUnused int32, pText uintptr, nText int32, xToken uintptr) int32 { /* sqlite3.c:235853:12: */ bp := tls.Alloc(64) defer tls.Free(64) @@ -189073,7 +189104,7 @@ type Unicode61Tokenizer1 = struct { F__ccgo_pad1 [4]byte FaiException uintptr FaCategory [32]uint8 -} /* sqlite3.c:235911:9 */ +} /* sqlite3.c:235968:9 */ // ************************************************************************* // @@ -189083,11 +189114,11 @@ type Unicode61Tokenizer1 = struct { // from the sqlite3 source file utf.c. If this file is compiled as part // of the amalgamation, they are not required. -type Unicode61Tokenizer = Unicode61Tokenizer1 /* sqlite3.c:235911:35 */ +type Unicode61Tokenizer = Unicode61Tokenizer1 /* sqlite3.c:235968:35 */ // Values for eRemoveDiacritic (must match internals of fts5_unicode2.c) -func fts5UnicodeAddExceptions(tls *libc.TLS, p uintptr, z uintptr, bTokenChars int32) int32 { /* sqlite3.c:235928:12: */ +func fts5UnicodeAddExceptions(tls *libc.TLS, p uintptr, z uintptr, bTokenChars int32) int32 { /* sqlite3.c:235985:12: */ var rc int32 = SQLITE_OK var n int32 = int32(libc.Xstrlen(tls, z)) var aNew uintptr @@ -189142,7 +189173,7 @@ func fts5UnicodeAddExceptions(tls *libc.TLS, p uintptr, z uintptr, bTokenChars i } // Return true if the p->aiException[] array contains the value iCode. -func fts5UnicodeIsException(tls *libc.TLS, p uintptr, iCode int32) int32 { /* sqlite3.c:235978:12: */ +func fts5UnicodeIsException(tls *libc.TLS, p uintptr, iCode int32) int32 { /* sqlite3.c:236035:12: */ if (*Unicode61Tokenizer)(unsafe.Pointer(p)).FnException > 0 { var a uintptr = (*Unicode61Tokenizer)(unsafe.Pointer(p)).FaiException var iLo int32 = 0 @@ -189164,7 +189195,7 @@ func fts5UnicodeIsException(tls *libc.TLS, p uintptr, iCode int32) int32 { /* sq } // Delete a "unicode61" tokenizer. -func fts5UnicodeDelete(tls *libc.TLS, pTok uintptr) { /* sqlite3.c:236002:13: */ +func fts5UnicodeDelete(tls *libc.TLS, pTok uintptr) { /* sqlite3.c:236059:13: */ if pTok != 0 { var p uintptr = pTok Xsqlite3_free(tls, (*Unicode61Tokenizer)(unsafe.Pointer(p)).FaiException) @@ -189174,7 +189205,7 @@ func fts5UnicodeDelete(tls *libc.TLS, pTok uintptr) { /* sqlite3.c:236002:13: */ return } -func unicodeSetCategories(tls *libc.TLS, p uintptr, zCat uintptr) int32 { /* sqlite3.c:236012:12: */ +func unicodeSetCategories(tls *libc.TLS, p uintptr, zCat uintptr) int32 { /* sqlite3.c:236069:12: */ var z uintptr = zCat for *(*int8)(unsafe.Pointer(z)) != 0 { @@ -189194,7 +189225,7 @@ func unicodeSetCategories(tls *libc.TLS, p uintptr, zCat uintptr) int32 { /* sql } // Create a "unicode61" tokenizer. -func fts5UnicodeCreate(tls *libc.TLS, pUnused uintptr, azArg uintptr, nArg int32, ppOut uintptr) int32 { /* sqlite3.c:236030:12: */ +func fts5UnicodeCreate(tls *libc.TLS, pUnused uintptr, azArg uintptr, nArg int32, ppOut uintptr) int32 { /* sqlite3.c:236087:12: */ var rc int32 = SQLITE_OK // Return code var p uintptr = uintptr(0) // New tokenizer object @@ -189262,12 +189293,12 @@ func fts5UnicodeCreate(tls *libc.TLS, pUnused uintptr, azArg uintptr, nArg int32 // Return true if, for the purposes of tokenizing with the tokenizer // passed as the first argument, codepoint iCode is considered a token // character (not a separator). -func fts5UnicodeIsAlnum(tls *libc.TLS, p uintptr, iCode int32) int32 { /* sqlite3.c:236110:12: */ +func fts5UnicodeIsAlnum(tls *libc.TLS, p uintptr, iCode int32) int32 { /* sqlite3.c:236167:12: */ return int32(*(*uint8)(unsafe.Pointer(p + 160 + uintptr(sqlite3Fts5UnicodeCategory(tls, U32(iCode)))))) ^ fts5UnicodeIsException(tls, p, iCode) } -func fts5UnicodeTokenize(tls *libc.TLS, pTokenizer uintptr, pCtx uintptr, iUnused int32, pText uintptr, nText int32, xToken uintptr) int32 { /* sqlite3.c:236117:12: */ +func fts5UnicodeTokenize(tls *libc.TLS, pTokenizer uintptr, pCtx uintptr, iUnused int32, pText uintptr, nText int32, xToken uintptr) int32 { /* sqlite3.c:236174:12: */ var p uintptr var rc int32 var a uintptr @@ -189523,7 +189554,7 @@ type PorterTokenizer1 = struct { Ftokenizer Fts5_tokenizer FpTokenizer uintptr FaBuf [128]int8 -} /* sqlite3.c:236229:9 */ +} /* sqlite3.c:236286:9 */ // ************************************************************************* // @@ -189532,10 +189563,10 @@ type PorterTokenizer1 = struct { // Any tokens larger than this (in bytes) are passed through without // stemming. -type PorterTokenizer = PorterTokenizer1 /* sqlite3.c:236229:32 */ +type PorterTokenizer = PorterTokenizer1 /* sqlite3.c:236286:32 */ // Delete a "porter" tokenizer. -func fts5PorterDelete(tls *libc.TLS, pTok uintptr) { /* sqlite3.c:236239:13: */ +func fts5PorterDelete(tls *libc.TLS, pTok uintptr) { /* sqlite3.c:236296:13: */ if pTok != 0 { var p uintptr = pTok if (*PorterTokenizer)(unsafe.Pointer(p)).FpTokenizer != 0 { @@ -189546,7 +189577,7 @@ func fts5PorterDelete(tls *libc.TLS, pTok uintptr) { /* sqlite3.c:236239:13: */ } // Create a "porter" tokenizer. -func fts5PorterCreate(tls *libc.TLS, pCtx uintptr, azArg uintptr, nArg int32, ppOut uintptr) int32 { /* sqlite3.c:236252:12: */ +func fts5PorterCreate(tls *libc.TLS, pCtx uintptr, azArg uintptr, nArg int32, ppOut uintptr) int32 { /* sqlite3.c:236309:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -189599,9 +189630,9 @@ type PorterContext1 = struct { FpCtx uintptr FxToken uintptr FaBuf uintptr -} /* sqlite3.c:236288:9 */ +} /* sqlite3.c:236345:9 */ -type PorterContext = PorterContext1 /* sqlite3.c:236288:30 */ +type PorterContext = PorterContext1 /* sqlite3.c:236345:30 */ type PorterRule1 = struct { FzSuffix uintptr @@ -189611,15 +189642,15 @@ type PorterRule1 = struct { FzOutput uintptr FnOutput int32 F__ccgo_pad2 [4]byte -} /* sqlite3.c:236295:9 */ +} /* sqlite3.c:236352:9 */ -type PorterRule = PorterRule1 /* sqlite3.c:236295:27 */ +type PorterRule = PorterRule1 /* sqlite3.c:236352:27 */ -func fts5PorterIsVowel(tls *libc.TLS, c int8, bYIsVowel int32) int32 { /* sqlite3.c:236330:12: */ +func fts5PorterIsVowel(tls *libc.TLS, c int8, bYIsVowel int32) int32 { /* sqlite3.c:236387:12: */ return libc.Bool32(int32(c) == 'a' || int32(c) == 'e' || int32(c) == 'i' || int32(c) == 'o' || int32(c) == 'u' || bYIsVowel != 0 && int32(c) == 'y') } -func fts5PorterGobbleVC(tls *libc.TLS, zStem uintptr, nStem int32, bPrevCons int32) int32 { /* sqlite3.c:236336:12: */ +func fts5PorterGobbleVC(tls *libc.TLS, zStem uintptr, nStem int32, bPrevCons int32) int32 { /* sqlite3.c:236393:12: */ var i int32 var bCons int32 = bPrevCons @@ -189640,12 +189671,12 @@ func fts5PorterGobbleVC(tls *libc.TLS, zStem uintptr, nStem int32, bPrevCons int } // porter rule condition: (m > 0) -func fts5Porter_MGt0(tls *libc.TLS, zStem uintptr, nStem int32) int32 { /* sqlite3.c:236353:12: */ +func fts5Porter_MGt0(tls *libc.TLS, zStem uintptr, nStem int32) int32 { /* sqlite3.c:236410:12: */ return libc.BoolInt32(!!(fts5PorterGobbleVC(tls, zStem, nStem, 0) != 0)) } // porter rule condition: (m > 1) -func fts5Porter_MGt1(tls *libc.TLS, zStem uintptr, nStem int32) int32 { /* sqlite3.c:236358:12: */ +func fts5Porter_MGt1(tls *libc.TLS, zStem uintptr, nStem int32) int32 { /* sqlite3.c:236415:12: */ var n int32 n = fts5PorterGobbleVC(tls, zStem, nStem, 0) if n != 0 && fts5PorterGobbleVC(tls, zStem+uintptr(n), nStem-n, 1) != 0 { @@ -189655,7 +189686,7 @@ func fts5Porter_MGt1(tls *libc.TLS, zStem uintptr, nStem int32) int32 { /* sqlit } // porter rule condition: (m = 1) -func fts5Porter_MEq1(tls *libc.TLS, zStem uintptr, nStem int32) int32 { /* sqlite3.c:236368:12: */ +func fts5Porter_MEq1(tls *libc.TLS, zStem uintptr, nStem int32) int32 { /* sqlite3.c:236425:12: */ var n int32 n = fts5PorterGobbleVC(tls, zStem, nStem, 0) if n != 0 && 0 == fts5PorterGobbleVC(tls, zStem+uintptr(n), nStem-n, 1) { @@ -189665,7 +189696,7 @@ func fts5Porter_MEq1(tls *libc.TLS, zStem uintptr, nStem int32) int32 { /* sqlit } // porter rule condition: (*o) -func fts5Porter_Ostar(tls *libc.TLS, zStem uintptr, nStem int32) int32 { /* sqlite3.c:236378:12: */ +func fts5Porter_Ostar(tls *libc.TLS, zStem uintptr, nStem int32) int32 { /* sqlite3.c:236435:12: */ if int32(*(*int8)(unsafe.Pointer(zStem + uintptr(nStem-1)))) == 'w' || int32(*(*int8)(unsafe.Pointer(zStem + uintptr(nStem-1)))) == 'x' || int32(*(*int8)(unsafe.Pointer(zStem + uintptr(nStem-1)))) == 'y' { return 0 } else { @@ -189683,14 +189714,14 @@ func fts5Porter_Ostar(tls *libc.TLS, zStem uintptr, nStem int32) int32 { /* sqli } // porter rule condition: (m > 1 and (*S or *T)) -func fts5Porter_MGt1_and_S_or_T(tls *libc.TLS, zStem uintptr, nStem int32) int32 { /* sqlite3.c:236395:12: */ +func fts5Porter_MGt1_and_S_or_T(tls *libc.TLS, zStem uintptr, nStem int32) int32 { /* sqlite3.c:236452:12: */ return libc.Bool32((int32(*(*int8)(unsafe.Pointer(zStem + uintptr(nStem-1)))) == 's' || int32(*(*int8)(unsafe.Pointer(zStem + uintptr(nStem-1)))) == 't') && fts5Porter_MGt1(tls, zStem, nStem) != 0) } // porter rule condition: (*v*) -func fts5Porter_Vowel(tls *libc.TLS, zStem uintptr, nStem int32) int32 { /* sqlite3.c:236402:12: */ +func fts5Porter_Vowel(tls *libc.TLS, zStem uintptr, nStem int32) int32 { /* sqlite3.c:236459:12: */ var i int32 for i = 0; i < nStem; i++ { if fts5PorterIsVowel(tls, *(*int8)(unsafe.Pointer(zStem + uintptr(i))), libc.Bool32(i > 0)) != 0 { @@ -189705,7 +189736,7 @@ func fts5Porter_Vowel(tls *libc.TLS, zStem uintptr, nStem int32) int32 { /* sqli // // GENERATED CODE STARTS HERE (mkportersteps.tcl) -func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqlite3.c:236418:12: */ +func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqlite3.c:236475:12: */ var ret int32 = 0 var nBuf int32 = *(*int32)(unsafe.Pointer(pnBuf)) switch int32(*(*int8)(unsafe.Pointer(aBuf + uintptr(nBuf-2)))) { @@ -189838,7 +189869,7 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli return ret } -func fts5PorterStep1B2(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqlite3.c:236552:12: */ +func fts5PorterStep1B2(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqlite3.c:236609:12: */ var ret int32 = 0 var nBuf int32 = *(*int32)(unsafe.Pointer(pnBuf)) switch int32(*(*int8)(unsafe.Pointer(aBuf + uintptr(nBuf-2)))) { @@ -189871,7 +189902,7 @@ func fts5PorterStep1B2(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sq return ret } -func fts5PorterStep2(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqlite3.c:236586:12: */ +func fts5PorterStep2(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqlite3.c:236643:12: */ var ret int32 = 0 var nBuf int32 = *(*int32)(unsafe.Pointer(pnBuf)) switch int32(*(*int8)(unsafe.Pointer(aBuf + uintptr(nBuf-2)))) { @@ -190017,7 +190048,7 @@ func fts5PorterStep2(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli return ret } -func fts5PorterStep3(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqlite3.c:236733:12: */ +func fts5PorterStep3(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqlite3.c:236790:12: */ var ret int32 = 0 var nBuf int32 = *(*int32)(unsafe.Pointer(pnBuf)) switch int32(*(*int8)(unsafe.Pointer(aBuf + uintptr(nBuf-2)))) { @@ -190082,7 +190113,7 @@ func fts5PorterStep3(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli return ret } -func fts5PorterStep1B(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqlite3.c:236799:12: */ +func fts5PorterStep1B(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqlite3.c:236856:12: */ var ret int32 = 0 var nBuf int32 = *(*int32)(unsafe.Pointer(pnBuf)) switch int32(*(*int8)(unsafe.Pointer(aBuf + uintptr(nBuf-2)))) { @@ -190119,7 +190150,7 @@ func fts5PorterStep1B(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sql // // -func fts5PorterStep1A(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) { /* sqlite3.c:236836:13: */ +func fts5PorterStep1A(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) { /* sqlite3.c:236893:13: */ var nBuf int32 = *(*int32)(unsafe.Pointer(pnBuf)) if int32(*(*int8)(unsafe.Pointer(aBuf + uintptr(nBuf-1)))) == 's' { if int32(*(*int8)(unsafe.Pointer(aBuf + uintptr(nBuf-2)))) == 'e' { @@ -190135,7 +190166,7 @@ func fts5PorterStep1A(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) { /* sqlite3.c } } -func fts5PorterCb(tls *libc.TLS, pCtx uintptr, tflags int32, pToken uintptr, nToken int32, iStart int32, iEnd int32) int32 { /* sqlite3.c:236854:12: */ +func fts5PorterCb(tls *libc.TLS, pCtx uintptr, tflags int32, pToken uintptr, nToken int32, iStart int32, iEnd int32) int32 { /* sqlite3.c:236911:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -190233,7 +190264,7 @@ pass_through: } // Tokenize using the porter tokenizer. -func fts5PorterTokenize(tls *libc.TLS, pTokenizer uintptr, pCtx uintptr, flags int32, pText uintptr, nText int32, xToken uintptr) int32 { /* sqlite3.c:236923:12: */ +func fts5PorterTokenize(tls *libc.TLS, pTokenizer uintptr, pCtx uintptr, flags int32, pText uintptr, nText int32, xToken uintptr) int32 { /* sqlite3.c:236980:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -190254,20 +190285,20 @@ func fts5PorterTokenize(tls *libc.TLS, pTokenizer uintptr, pCtx uintptr, flags i // ************************************************************************* // // Start of trigram implementation. -type TrigramTokenizer1 = struct{ FbFold int32 } /* sqlite3.c:236943:9 */ +type TrigramTokenizer1 = struct{ FbFold int32 } /* sqlite3.c:237000:9 */ // ************************************************************************* // // Start of trigram implementation. -type TrigramTokenizer = TrigramTokenizer1 /* sqlite3.c:236943:33 */ +type TrigramTokenizer = TrigramTokenizer1 /* sqlite3.c:237000:33 */ // Free a trigram tokenizer. -func fts5TriDelete(tls *libc.TLS, p uintptr) { /* sqlite3.c:236951:13: */ +func fts5TriDelete(tls *libc.TLS, p uintptr) { /* sqlite3.c:237008:13: */ Xsqlite3_free(tls, p) } // Allocate a trigram tokenizer. -func fts5TriCreate(tls *libc.TLS, pUnused uintptr, azArg uintptr, nArg int32, ppOut uintptr) int32 { /* sqlite3.c:236958:12: */ +func fts5TriCreate(tls *libc.TLS, pUnused uintptr, azArg uintptr, nArg int32, ppOut uintptr) int32 { /* sqlite3.c:237015:12: */ var rc int32 = SQLITE_OK var pNew uintptr = Xsqlite3_malloc(tls, int32(unsafe.Sizeof(TrigramTokenizer{}))) _ = pUnused @@ -190298,7 +190329,7 @@ func fts5TriCreate(tls *libc.TLS, pUnused uintptr, azArg uintptr, nArg int32, pp } // Trigram tokenizer tokenize routine. -func fts5TriTokenize(tls *libc.TLS, pTok uintptr, pCtx uintptr, unusedFlags int32, pText uintptr, nText int32, xToken uintptr) int32 { /* sqlite3.c:236996:12: */ +func fts5TriTokenize(tls *libc.TLS, pTok uintptr, pCtx uintptr, unusedFlags int32, pText uintptr, nText int32, xToken uintptr) int32 { /* sqlite3.c:237053:12: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -190451,7 +190482,7 @@ func fts5TriTokenize(tls *libc.TLS, pTok uintptr, pCtx uintptr, unusedFlags int3 // "trigram" tokenizer, case_sensitive=1 - FTS5_PATTERN_GLOB // "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) int32 { /* sqlite3.c:237056:12: */ +func sqlite3Fts5TokenizerPattern(tls *libc.TLS, xCreate uintptr, pTok uintptr) int32 { /* sqlite3.c:237113:12: */ if xCreate == *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 }{fts5TriCreate})) { @@ -190465,7 +190496,7 @@ func sqlite3Fts5TokenizerPattern(tls *libc.TLS, xCreate uintptr, pTok uintptr) i } // Register all built-in tokenizers with FTS5. -func sqlite3Fts5TokenizerInit(tls *libc.TLS, pApi uintptr) int32 { /* sqlite3.c:237070:12: */ +func sqlite3Fts5TokenizerInit(tls *libc.TLS, pApi uintptr) int32 { /* sqlite3.c:237127:12: */ bp := tls.Alloc(128) defer tls.Free(128) @@ -190511,7 +190542,7 @@ func sqlite3Fts5TokenizerInit(tls *libc.TLS, pApi uintptr) int32 { /* sqlite3.c: type BuiltinTokenizer = struct { FzName uintptr Fx Fts5_tokenizer -} /* sqlite3.c:237071:3 */ +} /* sqlite3.c:237128:3 */ // 2012-05-25 // @@ -190534,7 +190565,7 @@ type BuiltinTokenizer = struct { // SMALL LETTER E WITH DIAERESIS" - return 65 ("LATIN SMALL LETTER // E"). The resuls of passing a codepoint that corresponds to an // uppercase letter are undefined. -func fts5_remove_diacritic(tls *libc.TLS, c int32, bComplex int32) int32 { /* sqlite3.c:237126:12: */ +func fts5_remove_diacritic(tls *libc.TLS, c int32, bComplex int32) int32 { /* sqlite3.c:237183:12: */ bp := tls.Alloc(378) defer tls.Free(378) @@ -190605,7 +190636,7 @@ func fts5_remove_diacritic(tls *libc.TLS, c int32, bComplex int32) int32 { /* sq // Return true if the argument interpreted as a unicode codepoint // is a diacritical modifier character. -func sqlite3Fts5UnicodeIsdiacritic(tls *libc.TLS, c int32) int32 { /* sqlite3.c:237193:12: */ +func sqlite3Fts5UnicodeIsdiacritic(tls *libc.TLS, c int32) int32 { /* sqlite3.c:237250:12: */ var mask0 uint32 = uint32(0x08029FDF) var mask1 uint32 = uint32(0x000361F8) if c < 768 || c > 817 { @@ -190624,7 +190655,7 @@ func sqlite3Fts5UnicodeIsdiacritic(tls *libc.TLS, c int32) int32 { /* sqlite3.c: // // The results are undefined if the value passed to this function // is less than zero. -func sqlite3Fts5UnicodeFold(tls *libc.TLS, c int32, eRemoveDiacritic int32) int32 { /* sqlite3.c:237212:12: */ +func sqlite3Fts5UnicodeFold(tls *libc.TLS, c int32, eRemoveDiacritic int32) int32 { /* sqlite3.c:237269:12: */ var ret int32 = c @@ -190685,7 +190716,7 @@ type TableEntry = struct { FiCode uint16 Fflags uint8 FnRange uint8 -} /* sqlite3.c:237230:16 */ +} /* sqlite3.c:237287:16 */ var aEntry = [163]TableEntry{ {FiCode: uint16(65), Fflags: uint8(14), FnRange: uint8(26)}, {FiCode: uint16(181), Fflags: uint8(64), FnRange: uint8(1)}, {FiCode: uint16(192), Fflags: uint8(14), FnRange: uint8(23)}, @@ -190743,7 +190774,7 @@ var aEntry = [163]TableEntry{ {FiCode: uint16(42878), Fflags: uint8(1), FnRange: uint8(10)}, {FiCode: uint16(42891), FnRange: uint8(1)}, {FiCode: uint16(42893), Fflags: uint8(74), FnRange: uint8(1)}, {FiCode: uint16(42896), Fflags: uint8(1), FnRange: uint8(4)}, {FiCode: uint16(42912), Fflags: uint8(1), FnRange: uint8(10)}, {FiCode: uint16(42922), Fflags: uint8(72), FnRange: uint8(1)}, {FiCode: uint16(65313), Fflags: uint8(14), FnRange: uint8(26)}, -} /* sqlite3.c:237234:5 */ +} /* sqlite3.c:237291:5 */ var aiOff = [77]uint16{ uint16(1), uint16(2), uint16(8), uint16(15), uint16(16), uint16(26), uint16(28), uint16(32), uint16(37), uint16(38), uint16(40), uint16(48), uint16(63), uint16(64), uint16(69), uint16(71), @@ -190755,9 +190786,9 @@ var aiOff = [77]uint16{ uint16(65408), uint16(65410), uint16(65415), uint16(65424), uint16(65436), uint16(65439), uint16(65450), uint16(65462), uint16(65472), uint16(65476), uint16(65478), uint16(65480), uint16(65482), uint16(65488), uint16(65506), uint16(65511), uint16(65514), uint16(65521), uint16(65527), uint16(65528), uint16(65529), -} /* sqlite3.c:237291:31 */ +} /* sqlite3.c:237348:31 */ -func sqlite3Fts5UnicodeCatParse(tls *libc.TLS, zCat uintptr, aArray uintptr) int32 { /* sqlite3.c:237348:12: */ +func sqlite3Fts5UnicodeCatParse(tls *libc.TLS, zCat uintptr, aArray uintptr) int32 { /* sqlite3.c:237405:12: */ *(*U8)(unsafe.Pointer(aArray)) = U8(1) switch int32(*(*int8)(unsafe.Pointer(zCat))) { case 'C': @@ -190954,7 +190985,7 @@ func sqlite3Fts5UnicodeCatParse(tls *libc.TLS, zCat uintptr, aArray uintptr) int var aFts5UnicodeBlock = [17]U16{ U16(0), U16(1471), U16(1753), U16(1760), U16(1760), U16(1760), U16(1760), U16(1760), U16(1760), U16(1760), U16(1760), U16(1760), U16(1760), U16(1760), U16(1760), U16(1763), U16(1765), -} /* sqlite3.c:237466:12 */ +} /* sqlite3.c:237523:12 */ var aFts5UnicodeMap = [1765]U16{ U16(0), U16(32), U16(33), U16(36), U16(37), U16(40), U16(41), U16(42), U16(43), U16(44), U16(45), U16(46), U16(48), U16(58), U16(60), U16(63), U16(65), U16(91), U16(92), U16(93), @@ -191133,7 +191164,7 @@ var aFts5UnicodeMap = [1765]U16{ U16(62406), U16(62432), U16(62464), U16(62528), U16(62530), U16(62713), U16(62720), U16(62784), U16(62800), U16(62971), U16(63045), U16(63104), U16(63232), U16(0), U16(42710), U16(42752), U16(46900), U16(46912), U16(47133), U16(63488), U16(1), U16(32), U16(256), U16(0), U16(65533), -} /* sqlite3.c:237470:12 */ +} /* sqlite3.c:237527:12 */ var aFts5UnicodeData = [1765]U16{ U16(1025), U16(61), U16(117), U16(55), U16(117), U16(54), U16(50), U16(53), U16(57), U16(53), U16(49), U16(85), U16(333), U16(85), U16(121), U16(85), U16(841), U16(54), U16(53), U16(50), @@ -191312,9 +191343,9 @@ var aFts5UnicodeData = [1765]U16{ U16(186), U16(570), U16(2042), U16(58), U16(5850), U16(154), U16(2010), U16(154), U16(794), U16(2266), U16(378), U16(2266), U16(3738), U16(39), U16(39), U16(39), U16(39), U16(39), U16(39), U16(17351), U16(34), U16(3074), U16(7692), U16(63), U16(63), -} /* sqlite3.c:237649:12 */ +} /* sqlite3.c:237706:12 */ -func sqlite3Fts5UnicodeCategory(tls *libc.TLS, iCode U32) int32 { /* sqlite3.c:237829:12: */ +func sqlite3Fts5UnicodeCategory(tls *libc.TLS, iCode U32) int32 { /* sqlite3.c:237886:12: */ var iRes int32 = -1 var iHi int32 var iLo int32 @@ -191354,7 +191385,7 @@ func sqlite3Fts5UnicodeCategory(tls *libc.TLS, iCode U32) int32 { /* sqlite3.c:2 return 9 } -func sqlite3Fts5UnicodeAscii(tls *libc.TLS, aArray uintptr, aAscii uintptr) { /* sqlite3.c:237860:13: */ +func sqlite3Fts5UnicodeAscii(tls *libc.TLS, aArray uintptr, aAscii uintptr) { /* sqlite3.c:237917:13: */ var i int32 = 0 var iTbl int32 = 0 for i < 128 { @@ -191386,7 +191417,7 @@ func sqlite3Fts5UnicodeAscii(tls *libc.TLS, aArray uintptr, aAscii uintptr) { /* // This is a copy of the sqlite3GetVarint32() routine from the SQLite core. // Except, this version does handle the single byte case that the core // version depends on being handled before its function is called. -func sqlite3Fts5GetVarint32(tls *libc.TLS, p uintptr, v uintptr) int32 { /* sqlite3.c:237898:12: */ +func sqlite3Fts5GetVarint32(tls *libc.TLS, p uintptr, v uintptr) int32 { /* sqlite3.c:237955:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -191461,7 +191492,7 @@ func sqlite3Fts5GetVarint32(tls *libc.TLS, p uintptr, v uintptr) int32 { /* sqli // Read a 64-bit variable-length integer from memory starting at p[0]. // Return the number of bytes read. The value is stored in *v. -func sqlite3Fts5GetVarint(tls *libc.TLS, p uintptr, v uintptr) U8 { /* sqlite3.c:237976:11: */ +func sqlite3Fts5GetVarint(tls *libc.TLS, p uintptr, v uintptr) U8 { /* sqlite3.c:238033:11: */ var a U32 var b U32 var s U32 @@ -191637,7 +191668,7 @@ func sqlite3Fts5GetVarint(tls *libc.TLS, p uintptr, v uintptr) U8 { /* sqlite3.c // for all bytes that have the 8th bit set and one byte with the 8th // bit clear. Except, if we get to the 9th byte, it stores the full // 8 bits and is the last byte. -func fts5PutVarint64(tls *libc.TLS, p uintptr, v U64) int32 { /* sqlite3.c:238170:26: */ +func fts5PutVarint64(tls *libc.TLS, p uintptr, v U64) int32 { /* sqlite3.c:238227:26: */ bp := tls.Alloc(10) defer tls.Free(10) @@ -191683,7 +191714,7 @@ __3: return n } -func sqlite3Fts5PutVarint(tls *libc.TLS, p uintptr, v U64) int32 { /* sqlite3.c:238195:12: */ +func sqlite3Fts5PutVarint(tls *libc.TLS, p uintptr, v U64) int32 { /* sqlite3.c:238252:12: */ if v <= uint64(0x7f) { *(*uint8)(unsafe.Pointer(p)) = uint8(v & uint64(0x7f)) return 1 @@ -191696,7 +191727,7 @@ func sqlite3Fts5PutVarint(tls *libc.TLS, p uintptr, v U64) int32 { /* sqlite3.c: return fts5PutVarint64(tls, p, v) } -func sqlite3Fts5GetVarintLen(tls *libc.TLS, iVal U32) int32 { /* sqlite3.c:238209:12: */ +func sqlite3Fts5GetVarintLen(tls *libc.TLS, iVal U32) int32 { /* sqlite3.c:238266:12: */ if iVal < U32(int32(1)<<14) { return 2 @@ -191756,7 +191787,7 @@ type Fts5VocabTable1 = struct { FpGlobal uintptr FeType int32 FbBusy uint32 -} /* sqlite3.c:238262:9 */ +} /* sqlite3.c:238319:9 */ // 2015 May 08 // @@ -191796,7 +191827,7 @@ type Fts5VocabTable1 = struct { // #include "fts5Int.h" -type Fts5VocabTable = Fts5VocabTable1 /* sqlite3.c:238262:31 */ +type Fts5VocabTable = Fts5VocabTable1 /* sqlite3.c:238319:31 */ type Fts5VocabCursor1 = struct { Fbase Sqlite3_vtab_cursor FpStmt uintptr @@ -191817,9 +191848,9 @@ type Fts5VocabCursor1 = struct { FiInstPos I64 FiInstOff int32 F__ccgo_pad4 [4]byte -} /* sqlite3.c:238263:9 */ +} /* sqlite3.c:238320:9 */ -type Fts5VocabCursor = Fts5VocabCursor1 /* sqlite3.c:238263:32 */ +type Fts5VocabCursor = Fts5VocabCursor1 /* sqlite3.c:238320:32 */ // Bits for the mask used as the idxNum value by xBestIndex/xFilter. @@ -191827,7 +191858,7 @@ type Fts5VocabCursor = Fts5VocabCursor1 /* sqlite3.c:238263:32 */ // FTS5_VOCAB_XXX constant. If successful, set *peType to the output // value and return SQLITE_OK. Otherwise, set *pzErr to an error message // and return SQLITE_ERROR. -func fts5VocabTableType(tls *libc.TLS, zType uintptr, pzErr uintptr, peType uintptr) int32 { /* sqlite3.c:238323:12: */ +func fts5VocabTableType(tls *libc.TLS, zType uintptr, pzErr uintptr, peType uintptr) int32 { /* sqlite3.c:238380:12: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -191852,14 +191883,14 @@ func fts5VocabTableType(tls *libc.TLS, zType uintptr, pzErr uintptr, peType uint } // The xDisconnect() virtual table method. -func fts5VocabDisconnectMethod(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:238352:12: */ +func fts5VocabDisconnectMethod(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:238409:12: */ var pTab uintptr = pVtab Xsqlite3_free(tls, pTab) return SQLITE_OK } // The xDestroy() virtual table method. -func fts5VocabDestroyMethod(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:238361:12: */ +func fts5VocabDestroyMethod(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:238418:12: */ var pTab uintptr = pVtab Xsqlite3_free(tls, pTab) return SQLITE_OK @@ -191884,7 +191915,7 @@ func fts5VocabDestroyMethod(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:2 // argv[3] -> name of fts5 tables database // argv[4] -> name of fts5 table // argv[5] -> type of fts5vocab table -func fts5VocabInitVtab(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVTab uintptr, pzErr uintptr) int32 { /* sqlite3.c:238388:12: */ +func fts5VocabInitVtab(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVTab uintptr, pzErr uintptr) int32 { /* sqlite3.c:238445:12: */ bp := tls.Alloc(36) defer tls.Free(36) @@ -191954,11 +191985,11 @@ func fts5VocabInitVtab(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv // The xConnect() and xCreate() methods for the virtual table. All the // work is done in function fts5VocabInitVtab(). -func fts5VocabConnectMethod(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 { /* sqlite3.c:238450:12: */ +func fts5VocabConnectMethod(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 { /* sqlite3.c:238507:12: */ return fts5VocabInitVtab(tls, db, pAux, argc, argv, ppVtab, pzErr) } -func fts5VocabCreateMethod(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 { /* sqlite3.c:238460:12: */ +func fts5VocabCreateMethod(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 { /* sqlite3.c:238517:12: */ return fts5VocabInitVtab(tls, db, pAux, argc, argv, ppVtab, pzErr) } @@ -191972,7 +192003,7 @@ func fts5VocabCreateMethod(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, // // are interpreted. Less-than and less-than-or-equal are treated // identically, as are greater-than and greater-than-or-equal. -func fts5VocabBestIndexMethod(tls *libc.TLS, pUnused uintptr, pInfo uintptr) int32 { /* sqlite3.c:238483:12: */ +func fts5VocabBestIndexMethod(tls *libc.TLS, pUnused uintptr, pInfo uintptr) int32 { /* sqlite3.c:238540:12: */ var i int32 var iTermEq int32 = -1 var iTermGe int32 = -1 @@ -192040,7 +192071,7 @@ func fts5VocabBestIndexMethod(tls *libc.TLS, pUnused uintptr, pInfo uintptr) int } // Implementation of xOpen method. -func fts5VocabOpenMethod(tls *libc.TLS, pVTab uintptr, ppCsr uintptr) int32 { /* sqlite3.c:238545:12: */ +func fts5VocabOpenMethod(tls *libc.TLS, pVTab uintptr, ppCsr uintptr) int32 { /* sqlite3.c:238602:12: */ bp := tls.Alloc(80) defer tls.Free(80) @@ -192107,7 +192138,7 @@ func fts5VocabOpenMethod(tls *libc.TLS, pVTab uintptr, ppCsr uintptr) int32 { /* return *(*int32)(unsafe.Pointer(bp + 64 /* rc */)) } -func fts5VocabResetCursor(tls *libc.TLS, pCsr uintptr) { /* sqlite3.c:238613:13: */ +func fts5VocabResetCursor(tls *libc.TLS, pCsr uintptr) { /* sqlite3.c:238670:13: */ (*Fts5VocabCursor)(unsafe.Pointer(pCsr)).Frowid = int64(0) sqlite3Fts5IterClose(tls, (*Fts5VocabCursor)(unsafe.Pointer(pCsr)).FpIter) sqlite3Fts5StructureRelease(tls, (*Fts5VocabCursor)(unsafe.Pointer(pCsr)).FpStruct) @@ -192121,7 +192152,7 @@ func fts5VocabResetCursor(tls *libc.TLS, pCsr uintptr) { /* sqlite3.c:238613:13: // Close the cursor. For additional information see the documentation // on the xClose method of the virtual table interface. -func fts5VocabCloseMethod(tls *libc.TLS, pCursor uintptr) int32 { /* sqlite3.c:238629:12: */ +func fts5VocabCloseMethod(tls *libc.TLS, pCursor uintptr) int32 { /* sqlite3.c:238686:12: */ var pCsr uintptr = pCursor fts5VocabResetCursor(tls, pCsr) sqlite3Fts5BufferFree(tls, pCsr+96) @@ -192130,7 +192161,7 @@ func fts5VocabCloseMethod(tls *libc.TLS, pCursor uintptr) int32 { /* sqlite3.c:2 return SQLITE_OK } -func fts5VocabInstanceNewTerm(tls *libc.TLS, pCsr uintptr) int32 { /* sqlite3.c:238638:12: */ +func fts5VocabInstanceNewTerm(tls *libc.TLS, pCsr uintptr) int32 { /* sqlite3.c:238695:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -192161,7 +192192,7 @@ func fts5VocabInstanceNewTerm(tls *libc.TLS, pCsr uintptr) int32 { /* sqlite3.c: return *(*int32)(unsafe.Pointer(bp + 4 /* rc */)) } -func fts5VocabInstanceNext(tls *libc.TLS, pCsr uintptr) int32 { /* sqlite3.c:238660:12: */ +func fts5VocabInstanceNext(tls *libc.TLS, pCsr uintptr) int32 { /* sqlite3.c:238717:12: */ var eDetail int32 = (*Fts5Config)(unsafe.Pointer((*Fts5Table)(unsafe.Pointer((*Fts5VocabCursor)(unsafe.Pointer(pCsr)).FpFts5)).FpConfig)).FeDetail var rc int32 = SQLITE_OK var pIter uintptr = (*Fts5VocabCursor)(unsafe.Pointer(pCsr)).FpIter @@ -192190,7 +192221,7 @@ func fts5VocabInstanceNext(tls *libc.TLS, pCsr uintptr) int32 { /* sqlite3.c:238 } // Advance the cursor to the next row in the table. -func fts5VocabNextMethod(tls *libc.TLS, pCursor uintptr) int32 { /* sqlite3.c:238692:12: */ +func fts5VocabNextMethod(tls *libc.TLS, pCursor uintptr) int32 { /* sqlite3.c:238749:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -192334,7 +192365,7 @@ func fts5VocabNextMethod(tls *libc.TLS, pCursor uintptr) int32 { /* sqlite3.c:23 } // This is the xFilter implementation for the virtual table. -func fts5VocabFilterMethod(tls *libc.TLS, pCursor uintptr, idxNum int32, zUnused uintptr, nUnused int32, apVal uintptr) int32 { /* sqlite3.c:238820:12: */ +func fts5VocabFilterMethod(tls *libc.TLS, pCursor uintptr, idxNum int32, zUnused uintptr, nUnused int32, apVal uintptr) int32 { /* sqlite3.c:238877:12: */ var pTab uintptr = (*Sqlite3_vtab_cursor)(unsafe.Pointer(pCursor)).FpVtab var pCsr uintptr = pCursor var eType int32 = (*Fts5VocabTable)(unsafe.Pointer(pTab)).FeType @@ -192408,12 +192439,12 @@ func fts5VocabFilterMethod(tls *libc.TLS, pCursor uintptr, idxNum int32, zUnused // This is the xEof method of the virtual table. SQLite calls this // routine to find out if it has reached the end of a result set. -func fts5VocabEofMethod(tls *libc.TLS, pCursor uintptr) int32 { /* sqlite3.c:238894:12: */ +func fts5VocabEofMethod(tls *libc.TLS, pCursor uintptr) int32 { /* sqlite3.c:238951:12: */ var pCsr uintptr = pCursor return (*Fts5VocabCursor)(unsafe.Pointer(pCsr)).FbEof } -func fts5VocabColumnMethod(tls *libc.TLS, pCursor uintptr, pCtx uintptr, iCol int32) int32 { /* sqlite3.c:238899:12: */ +func fts5VocabColumnMethod(tls *libc.TLS, pCursor uintptr, pCtx uintptr, iCol int32) int32 { /* sqlite3.c:238956:12: */ var pCsr uintptr = pCursor var eDetail int32 = (*Fts5Config)(unsafe.Pointer((*Fts5Table)(unsafe.Pointer((*Fts5VocabCursor)(unsafe.Pointer(pCsr)).FpFts5)).FpConfig)).FeDetail var eType int32 = (*Fts5VocabTable)(unsafe.Pointer((*Sqlite3_vtab_cursor)(unsafe.Pointer(pCursor)).FpVtab)).FeType @@ -192486,13 +192517,13 @@ func fts5VocabColumnMethod(tls *libc.TLS, pCursor uintptr, pCtx uintptr, iCol in // This is the xRowid method. The SQLite core calls this routine to // retrieve the rowid for the current row of the result set. The // rowid should be written to *pRowid. -func fts5VocabRowidMethod(tls *libc.TLS, pCursor uintptr, pRowid uintptr) int32 { /* sqlite3.c:238971:12: */ +func fts5VocabRowidMethod(tls *libc.TLS, pCursor uintptr, pRowid uintptr) int32 { /* sqlite3.c:239028:12: */ var pCsr uintptr = pCursor *(*Sqlite_int64)(unsafe.Pointer(pRowid)) = (*Fts5VocabCursor)(unsafe.Pointer(pCsr)).Frowid return SQLITE_OK } -func sqlite3Fts5VocabInit(tls *libc.TLS, pGlobal uintptr, db uintptr) int32 { /* sqlite3.c:238980:12: */ +func sqlite3Fts5VocabInit(tls *libc.TLS, pGlobal uintptr, db uintptr) int32 { /* sqlite3.c:239037:12: */ var p uintptr = pGlobal return Xsqlite3_create_module_v2(tls, db, ts+37443, uintptr(unsafe.Pointer(&fts5Vocab)), p, uintptr(0)) @@ -192512,7 +192543,7 @@ var fts5Vocab = Sqlite3_module{ /* xEof */ FxEof: 0, /* xColumn */ FxColumn: 0, /* xRowid */ FxRowid: 0, -} /* sqlite3.c:238981:31 */ +} /* sqlite3.c:239038:31 */ //************* End of fts5.c *********************************************** //************* Begin file stmt.c ******************************************* @@ -192539,8 +192570,8 @@ var fts5Vocab = Sqlite3_module{ //************* End of stmt.c *********************************************** // Return the source-id for this library -func Xsqlite3_sourceid(tls *libc.TLS) uintptr { /* sqlite3.c:239321:23: */ - return ts + 37453 /* "2022-03-12 13:37..." */ +func Xsqlite3_sourceid(tls *libc.TLS) uintptr { /* sqlite3.c:239378:23: */ + return ts + 37453 /* "2022-03-26 13:51..." */ } //************************* End of sqlite3.c ***************************** @@ -192549,162 +192580,162 @@ func init() { *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&Xsqlite3aEQb)) + 0)) = uintptr(unsafe.Pointer(&Xsqlite3UpperToLower)) + 210 // sqlite3.c:21690:51: *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&Xsqlite3aGTb)) + 0)) = uintptr(unsafe.Pointer(&Xsqlite3UpperToLower)) + 216 // sqlite3.c:21691:51: *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&Xsqlite3aLTb)) + 0)) = uintptr(unsafe.Pointer(&Xsqlite3UpperToLower)) + 204 // sqlite3.c:21689:51: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aAgg)) + 0)) = geopolyBBoxStep // sqlite3.c:201985:8: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aAgg)) + 8)) = geopolyBBoxFinal // sqlite3.c:201985:25: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aAlterTableFuncs)) + 24)) = renameColumnFunc // sqlite3.c:111067:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aAlterTableFuncs)) + 96)) = renameTableFunc // sqlite3.c:111068:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aAlterTableFuncs)) + 168)) = renameTableTest // sqlite3.c:111069:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aAlterTableFuncs)) + 240)) = dropColumnFunc // sqlite3.c:111070:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aAlterTableFuncs)) + 312)) = renameQuotefixFunc // sqlite3.c:111071:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 24)) = versionFunc // sqlite3.c:123272:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 96)) = versionFunc // sqlite3.c:123273:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 168)) = versionFunc // sqlite3.c:123274:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 240)) = versionFunc // sqlite3.c:123275:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 312)) = soundexFunc // sqlite3.c:123279:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 384)) = loadExt // sqlite3.c:123282:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 456)) = loadExt // sqlite3.c:123283:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 528)) = compileoptionusedFunc // sqlite3.c:123289:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 600)) = compileoptiongetFunc // sqlite3.c:123290:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 672)) = versionFunc // sqlite3.c:123292:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 744)) = versionFunc // sqlite3.c:123293:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 816)) = versionFunc // sqlite3.c:123294:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 888)) = versionFunc // sqlite3.c:123297:12: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 960)) = trimFunc // sqlite3.c:123299:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1032)) = trimFunc // sqlite3.c:123300:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1104)) = trimFunc // sqlite3.c:123301:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1176)) = trimFunc // sqlite3.c:123302:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1248)) = trimFunc // sqlite3.c:123303:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1320)) = trimFunc // sqlite3.c:123304:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1392)) = minmaxFunc // sqlite3.c:123305:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1536)) = minmaxStep // sqlite3.c:123307:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1544)) = minMaxFinalize // sqlite3.c:123307:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1552)) = minMaxValue // sqlite3.c:123307:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1608)) = minmaxFunc // sqlite3.c:123309:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1752)) = minmaxStep // sqlite3.c:123311:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1760)) = minMaxFinalize // sqlite3.c:123311:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1768)) = minMaxValue // sqlite3.c:123311:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1824)) = typeofFunc // sqlite3.c:123313:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1896)) = subtypeFunc // sqlite3.c:123314:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1968)) = lengthFunc // sqlite3.c:123315:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2040)) = instrFunc // sqlite3.c:123316:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2112)) = printfFunc // sqlite3.c:123317:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2184)) = printfFunc // sqlite3.c:123318:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2256)) = unicodeFunc // sqlite3.c:123319:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2328)) = charFunc // sqlite3.c:123320:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2400)) = absFunc // sqlite3.c:123321:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2472)) = roundFunc // sqlite3.c:123323:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2544)) = roundFunc // sqlite3.c:123324:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2616)) = upperFunc // sqlite3.c:123326:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2688)) = lowerFunc // sqlite3.c:123327:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2760)) = hexFunc // sqlite3.c:123328:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2832)) = versionFunc // sqlite3.c:123329:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2904)) = randomFunc // sqlite3.c:123330:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2976)) = randomBlob // sqlite3.c:123331:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3048)) = nullifFunc // sqlite3.c:123332:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3120)) = versionFunc // sqlite3.c:123333:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3192)) = sourceidFunc // sqlite3.c:123334:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3264)) = errlogFunc // sqlite3.c:123335:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3336)) = quoteFunc // sqlite3.c:123336:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3408)) = last_insert_rowid // sqlite3.c:123337:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3480)) = changes // sqlite3.c:123338:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3552)) = total_changes // sqlite3.c:123339:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3624)) = replaceFunc // sqlite3.c:123340:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3696)) = zeroblobFunc // sqlite3.c:123341:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3768)) = substrFunc // sqlite3.c:123342:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3840)) = substrFunc // sqlite3.c:123343:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3912)) = substrFunc // sqlite3.c:123344:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3984)) = substrFunc // sqlite3.c:123345:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4056)) = sumStep // sqlite3.c:123346:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4064)) = sumFinalize // sqlite3.c:123346:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4072)) = sumFinalize // sqlite3.c:123346:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4080)) = sumInverse // sqlite3.c:123346:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4128)) = sumStep // sqlite3.c:123347:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4136)) = totalFinalize // sqlite3.c:123347:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4144)) = totalFinalize // sqlite3.c:123347:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4152)) = sumInverse // sqlite3.c:123347:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4200)) = sumStep // sqlite3.c:123348:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4208)) = avgFinalize // sqlite3.c:123348:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4216)) = avgFinalize // sqlite3.c:123348:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4224)) = sumInverse // sqlite3.c:123348:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4272)) = countStep // sqlite3.c:123349:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4280)) = countFinalize // sqlite3.c:123349:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4288)) = countFinalize // sqlite3.c:123349:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4296)) = countInverse // sqlite3.c:123349:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4344)) = countStep // sqlite3.c:123352:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4352)) = countFinalize // sqlite3.c:123352:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4360)) = countFinalize // sqlite3.c:123352:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4368)) = countInverse // sqlite3.c:123352:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4416)) = groupConcatStep // sqlite3.c:123354:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4424)) = groupConcatFinalize // sqlite3.c:123354:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4432)) = groupConcatValue // sqlite3.c:123354:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4440)) = groupConcatInverse // sqlite3.c:123354:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4488)) = groupConcatStep // sqlite3.c:123356:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4496)) = groupConcatFinalize // sqlite3.c:123356:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4504)) = groupConcatValue // sqlite3.c:123356:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4512)) = groupConcatInverse // sqlite3.c:123356:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4544 /* .pUserData */)) = uintptr(unsafe.Pointer(&globInfo)) // sqlite3.c:123359:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4560)) = likeFunc // sqlite3.c:123359:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4616 /* .pUserData */)) = uintptr(unsafe.Pointer(&likeInfoNorm)) // sqlite3.c:123364:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4632)) = likeFunc // sqlite3.c:123364:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4688 /* .pUserData */)) = uintptr(unsafe.Pointer(&likeInfoNorm)) // sqlite3.c:123365:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4704)) = likeFunc // sqlite3.c:123365:5: - *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4904)) = xCeil // sqlite3.c:123373:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4920)) = ceilingFunc // sqlite3.c:123373:5: - *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4976)) = xCeil // sqlite3.c:123374:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4992)) = ceilingFunc // sqlite3.c:123374:5: - *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5048)) = xFloor // sqlite3.c:123375:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5064)) = ceilingFunc // sqlite3.c:123375:5: - *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5120)) = libc.Xtrunc // sqlite3.c:123377:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5136)) = ceilingFunc // sqlite3.c:123377:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5208)) = logFunc // sqlite3.c:123379:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5280)) = logFunc // sqlite3.c:123380:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5352)) = logFunc // sqlite3.c:123381:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5424)) = logFunc // sqlite3.c:123382:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5496)) = logFunc // sqlite3.c:123383:5: - *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5552)) = libc.Xexp // sqlite3.c:123384:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5568)) = math1Func // sqlite3.c:123384:5: - *(*func(*libc.TLS, float64, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5624)) = libc.Xpow // sqlite3.c:123385:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5640)) = math2Func // sqlite3.c:123385:5: - *(*func(*libc.TLS, float64, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5696)) = libc.Xpow // sqlite3.c:123386:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5712)) = math2Func // sqlite3.c:123386:5: - *(*func(*libc.TLS, float64, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5768)) = libc.Xfmod // sqlite3.c:123387:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5784)) = math2Func // sqlite3.c:123387:5: - *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5840)) = libc.Xacos // sqlite3.c:123388:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5856)) = math1Func // sqlite3.c:123388:5: - *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5912)) = libc.Xasin // sqlite3.c:123389:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5928)) = math1Func // sqlite3.c:123389:5: - *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5984)) = libc.Xatan // sqlite3.c:123390:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6000)) = math1Func // sqlite3.c:123390:5: - *(*func(*libc.TLS, float64, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6056)) = libc.Xatan2 // sqlite3.c:123391:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6072)) = math2Func // sqlite3.c:123391:5: - *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6128)) = libc.Xcos // sqlite3.c:123392:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6144)) = math1Func // sqlite3.c:123392:5: - *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6200)) = libc.Xsin // sqlite3.c:123393:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6216)) = math1Func // sqlite3.c:123393:5: - *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6272)) = libc.Xtan // sqlite3.c:123394:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6288)) = math1Func // sqlite3.c:123394:5: - *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6344)) = libc.Xcosh // sqlite3.c:123395:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6360)) = math1Func // sqlite3.c:123395:5: - *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6416)) = libc.Xsinh // sqlite3.c:123396:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6432)) = math1Func // sqlite3.c:123396:5: - *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6488)) = libc.Xtanh // sqlite3.c:123397:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6504)) = math1Func // sqlite3.c:123397:5: - *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6560)) = libc.Xacosh // sqlite3.c:123399:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6576)) = math1Func // sqlite3.c:123399:5: - *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6632)) = libc.Xasinh // sqlite3.c:123400:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6648)) = math1Func // sqlite3.c:123400:5: - *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6704)) = libc.Xatanh // sqlite3.c:123401:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6720)) = math1Func // sqlite3.c:123401:5: - *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6776)) = libc.Xsqrt // sqlite3.c:123403:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6792)) = math1Func // sqlite3.c:123403:5: - *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6848)) = degToRad // sqlite3.c:123404:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6864)) = math1Func // sqlite3.c:123404:5: - *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6920)) = radToDeg // sqlite3.c:123405:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6936)) = math1Func // sqlite3.c:123405:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 7008)) = piFunc // sqlite3.c:123406:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 7080)) = signFunc // sqlite3.c:123408:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 7152)) = versionFunc // sqlite3.c:123409:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 7224)) = versionFunc // sqlite3.c:123410:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aAgg)) + 0)) = geopolyBBoxStep // sqlite3.c:202042:8: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aAgg)) + 8)) = geopolyBBoxFinal // sqlite3.c:202042:25: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aAlterTableFuncs)) + 24)) = renameColumnFunc // sqlite3.c:111080:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aAlterTableFuncs)) + 96)) = renameTableFunc // sqlite3.c:111081:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aAlterTableFuncs)) + 168)) = renameTableTest // sqlite3.c:111082:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aAlterTableFuncs)) + 240)) = dropColumnFunc // sqlite3.c:111083:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aAlterTableFuncs)) + 312)) = renameQuotefixFunc // sqlite3.c:111084:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 24)) = versionFunc // sqlite3.c:123285:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 96)) = versionFunc // sqlite3.c:123286:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 168)) = versionFunc // sqlite3.c:123287:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 240)) = versionFunc // sqlite3.c:123288:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 312)) = soundexFunc // sqlite3.c:123292:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 384)) = loadExt // sqlite3.c:123295:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 456)) = loadExt // sqlite3.c:123296:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 528)) = compileoptionusedFunc // sqlite3.c:123302:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 600)) = compileoptiongetFunc // sqlite3.c:123303:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 672)) = versionFunc // sqlite3.c:123305:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 744)) = versionFunc // sqlite3.c:123306:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 816)) = versionFunc // sqlite3.c:123307:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 888)) = versionFunc // sqlite3.c:123310:12: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 960)) = trimFunc // sqlite3.c:123312:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1032)) = trimFunc // sqlite3.c:123313:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1104)) = trimFunc // sqlite3.c:123314:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1176)) = trimFunc // sqlite3.c:123315:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1248)) = trimFunc // sqlite3.c:123316:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1320)) = trimFunc // sqlite3.c:123317:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1392)) = minmaxFunc // sqlite3.c:123318:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1536)) = minmaxStep // sqlite3.c:123320:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1544)) = minMaxFinalize // sqlite3.c:123320:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1552)) = minMaxValue // sqlite3.c:123320:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1608)) = minmaxFunc // sqlite3.c:123322:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1752)) = minmaxStep // sqlite3.c:123324:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1760)) = minMaxFinalize // sqlite3.c:123324:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1768)) = minMaxValue // sqlite3.c:123324:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1824)) = typeofFunc // sqlite3.c:123326:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1896)) = subtypeFunc // sqlite3.c:123327:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1968)) = lengthFunc // sqlite3.c:123328:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2040)) = instrFunc // sqlite3.c:123329:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2112)) = printfFunc // sqlite3.c:123330:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2184)) = printfFunc // sqlite3.c:123331:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2256)) = unicodeFunc // sqlite3.c:123332:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2328)) = charFunc // sqlite3.c:123333:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2400)) = absFunc // sqlite3.c:123334:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2472)) = roundFunc // sqlite3.c:123336:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2544)) = roundFunc // sqlite3.c:123337:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2616)) = upperFunc // sqlite3.c:123339:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2688)) = lowerFunc // sqlite3.c:123340:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2760)) = hexFunc // sqlite3.c:123341:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2832)) = versionFunc // sqlite3.c:123342:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2904)) = randomFunc // sqlite3.c:123343:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2976)) = randomBlob // sqlite3.c:123344:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3048)) = nullifFunc // sqlite3.c:123345:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3120)) = versionFunc // sqlite3.c:123346:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3192)) = sourceidFunc // sqlite3.c:123347:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3264)) = errlogFunc // sqlite3.c:123348:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3336)) = quoteFunc // sqlite3.c:123349:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3408)) = last_insert_rowid // sqlite3.c:123350:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3480)) = changes // sqlite3.c:123351:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3552)) = total_changes // sqlite3.c:123352:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3624)) = replaceFunc // sqlite3.c:123353:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3696)) = zeroblobFunc // sqlite3.c:123354:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3768)) = substrFunc // sqlite3.c:123355:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3840)) = substrFunc // sqlite3.c:123356:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3912)) = substrFunc // sqlite3.c:123357:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3984)) = substrFunc // sqlite3.c:123358:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4056)) = sumStep // sqlite3.c:123359:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4064)) = sumFinalize // sqlite3.c:123359:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4072)) = sumFinalize // sqlite3.c:123359:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4080)) = sumInverse // sqlite3.c:123359:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4128)) = sumStep // sqlite3.c:123360:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4136)) = totalFinalize // sqlite3.c:123360:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4144)) = totalFinalize // sqlite3.c:123360:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4152)) = sumInverse // sqlite3.c:123360:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4200)) = sumStep // sqlite3.c:123361:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4208)) = avgFinalize // sqlite3.c:123361:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4216)) = avgFinalize // sqlite3.c:123361:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4224)) = sumInverse // sqlite3.c:123361:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4272)) = countStep // sqlite3.c:123362:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4280)) = countFinalize // sqlite3.c:123362:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4288)) = countFinalize // sqlite3.c:123362:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4296)) = countInverse // sqlite3.c:123362:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4344)) = countStep // sqlite3.c:123365:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4352)) = countFinalize // sqlite3.c:123365:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4360)) = countFinalize // sqlite3.c:123365:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4368)) = countInverse // sqlite3.c:123365:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4416)) = groupConcatStep // sqlite3.c:123367:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4424)) = groupConcatFinalize // sqlite3.c:123367:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4432)) = groupConcatValue // sqlite3.c:123367:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4440)) = groupConcatInverse // sqlite3.c:123367:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4488)) = groupConcatStep // sqlite3.c:123369:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4496)) = groupConcatFinalize // sqlite3.c:123369:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4504)) = groupConcatValue // sqlite3.c:123369:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4512)) = groupConcatInverse // sqlite3.c:123369:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4544 /* .pUserData */)) = uintptr(unsafe.Pointer(&globInfo)) // sqlite3.c:123372:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4560)) = likeFunc // sqlite3.c:123372:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4616 /* .pUserData */)) = uintptr(unsafe.Pointer(&likeInfoNorm)) // sqlite3.c:123377:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4632)) = likeFunc // sqlite3.c:123377:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4688 /* .pUserData */)) = uintptr(unsafe.Pointer(&likeInfoNorm)) // sqlite3.c:123378:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4704)) = likeFunc // sqlite3.c:123378:5: + *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4904)) = xCeil // sqlite3.c:123386:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4920)) = ceilingFunc // sqlite3.c:123386:5: + *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4976)) = xCeil // sqlite3.c:123387:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4992)) = ceilingFunc // sqlite3.c:123387:5: + *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5048)) = xFloor // sqlite3.c:123388:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5064)) = ceilingFunc // sqlite3.c:123388:5: + *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5120)) = libc.Xtrunc // sqlite3.c:123390:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5136)) = ceilingFunc // sqlite3.c:123390:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5208)) = logFunc // sqlite3.c:123392:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5280)) = logFunc // sqlite3.c:123393:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5352)) = logFunc // sqlite3.c:123394:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5424)) = logFunc // sqlite3.c:123395:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5496)) = logFunc // sqlite3.c:123396:5: + *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5552)) = libc.Xexp // sqlite3.c:123397:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5568)) = math1Func // sqlite3.c:123397:5: + *(*func(*libc.TLS, float64, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5624)) = libc.Xpow // sqlite3.c:123398:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5640)) = math2Func // sqlite3.c:123398:5: + *(*func(*libc.TLS, float64, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5696)) = libc.Xpow // sqlite3.c:123399:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5712)) = math2Func // sqlite3.c:123399:5: + *(*func(*libc.TLS, float64, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5768)) = libc.Xfmod // sqlite3.c:123400:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5784)) = math2Func // sqlite3.c:123400:5: + *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5840)) = libc.Xacos // sqlite3.c:123401:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5856)) = math1Func // sqlite3.c:123401:5: + *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5912)) = libc.Xasin // sqlite3.c:123402:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5928)) = math1Func // sqlite3.c:123402:5: + *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5984)) = libc.Xatan // sqlite3.c:123403:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6000)) = math1Func // sqlite3.c:123403:5: + *(*func(*libc.TLS, float64, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6056)) = libc.Xatan2 // sqlite3.c:123404:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6072)) = math2Func // sqlite3.c:123404:5: + *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6128)) = libc.Xcos // sqlite3.c:123405:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6144)) = math1Func // sqlite3.c:123405:5: + *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6200)) = libc.Xsin // sqlite3.c:123406:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6216)) = math1Func // sqlite3.c:123406:5: + *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6272)) = libc.Xtan // sqlite3.c:123407:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6288)) = math1Func // sqlite3.c:123407:5: + *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6344)) = libc.Xcosh // sqlite3.c:123408:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6360)) = math1Func // sqlite3.c:123408:5: + *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6416)) = libc.Xsinh // sqlite3.c:123409:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6432)) = math1Func // sqlite3.c:123409:5: + *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6488)) = libc.Xtanh // sqlite3.c:123410:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6504)) = math1Func // sqlite3.c:123410:5: + *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6560)) = libc.Xacosh // sqlite3.c:123412:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6576)) = math1Func // sqlite3.c:123412:5: + *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6632)) = libc.Xasinh // sqlite3.c:123413:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6648)) = math1Func // sqlite3.c:123413:5: + *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6704)) = libc.Xatanh // sqlite3.c:123414:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6720)) = math1Func // sqlite3.c:123414:5: + *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6776)) = libc.Xsqrt // sqlite3.c:123416:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6792)) = math1Func // sqlite3.c:123416:5: + *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6848)) = degToRad // sqlite3.c:123417:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6864)) = math1Func // sqlite3.c:123417:5: + *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6920)) = radToDeg // sqlite3.c:123418:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6936)) = math1Func // sqlite3.c:123418:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 7008)) = piFunc // sqlite3.c:123419:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 7080)) = signFunc // sqlite3.c:123421:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 7152)) = versionFunc // sqlite3.c:123422:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 7224)) = versionFunc // sqlite3.c:123423:5: *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aDateTimeFuncs)) + 8 /* .pUserData */)) = uintptr(unsafe.Pointer(&Xsqlite3Config)) // sqlite3.c:24402:5: *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aDateTimeFuncs)) + 24)) = juliandayFunc // sqlite3.c:24402:5: *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aDateTimeFuncs)) + 80 /* .pUserData */)) = uintptr(unsafe.Pointer(&Xsqlite3Config)) // sqlite3.c:24403:5: @@ -192720,45 +192751,45 @@ func init() { *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aDateTimeFuncs)) + 456)) = ctimeFunc // sqlite3.c:24408:5: *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aDateTimeFuncs)) + 528)) = ctimestampFunc // sqlite3.c:24409:5: *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aDateTimeFuncs)) + 600)) = cdateFunc // sqlite3.c:24410:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 0)) = geopolyAreaFunc // sqlite3.c:201967:8: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 24)) = geopolyBlobFunc // sqlite3.c:201968:8: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 48)) = geopolyJsonFunc // sqlite3.c:201969:8: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 72)) = geopolySvgFunc // sqlite3.c:201970:8: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 96)) = geopolyWithinFunc // sqlite3.c:201971:8: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 120)) = geopolyContainsPointFunc // sqlite3.c:201972:8: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 144)) = geopolyOverlapFunc // sqlite3.c:201973:8: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 168)) = geopolyDebugFunc // sqlite3.c:201974:8: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 192)) = geopolyBBoxFunc // sqlite3.c:201975:8: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 216)) = geopolyXformFunc // sqlite3.c:201976:8: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 240)) = geopolyRegularFunc // sqlite3.c:201977:8: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 264)) = geopolyCcwFunc // sqlite3.c:201978:8: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 24)) = jsonRemoveFunc // sqlite3.c:195736:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 96)) = jsonArrayFunc // sqlite3.c:195737:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 168)) = jsonArrayLengthFunc // sqlite3.c:195738:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 240)) = jsonArrayLengthFunc // sqlite3.c:195739:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 312)) = jsonExtractFunc // sqlite3.c:195740:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 384)) = jsonExtractFunc // sqlite3.c:195741:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 456)) = jsonExtractFunc // sqlite3.c:195742:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 528)) = jsonSetFunc // sqlite3.c:195743:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 600)) = jsonObjectFunc // sqlite3.c:195744:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 672)) = jsonPatchFunc // sqlite3.c:195745:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 744)) = jsonQuoteFunc // sqlite3.c:195746:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 816)) = jsonRemoveFunc // sqlite3.c:195747:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 888)) = jsonReplaceFunc // sqlite3.c:195748:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 960)) = jsonSetFunc // sqlite3.c:195749:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 1032)) = jsonTypeFunc // sqlite3.c:195750:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 1104)) = jsonTypeFunc // sqlite3.c:195751:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 1176)) = jsonValidFunc // sqlite3.c:195752:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 1248)) = jsonArrayStep // sqlite3.c:195757:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 1256)) = jsonArrayFinal // sqlite3.c:195757:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 1264)) = jsonArrayValue // sqlite3.c:195757:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 1272)) = jsonGroupInverse // sqlite3.c:195757:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 1320)) = jsonObjectStep // sqlite3.c:195760:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 1328)) = jsonObjectFinal // sqlite3.c:195760:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 1336)) = jsonObjectValue // sqlite3.c:195760:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 1344)) = jsonGroupInverse // sqlite3.c:195760:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aMod)) + 8 /* .pModule */)) = uintptr(unsafe.Pointer(&jsonEachModule)) // sqlite3.c:195778:31: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aMod)) + 24 /* .pModule */)) = uintptr(unsafe.Pointer(&jsonTreeModule)) // sqlite3.c:195779:31: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 0)) = geopolyAreaFunc // sqlite3.c:202024:8: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 24)) = geopolyBlobFunc // sqlite3.c:202025:8: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 48)) = geopolyJsonFunc // sqlite3.c:202026:8: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 72)) = geopolySvgFunc // sqlite3.c:202027:8: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 96)) = geopolyWithinFunc // sqlite3.c:202028:8: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 120)) = geopolyContainsPointFunc // sqlite3.c:202029:8: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 144)) = geopolyOverlapFunc // sqlite3.c:202030:8: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 168)) = geopolyDebugFunc // sqlite3.c:202031:8: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 192)) = geopolyBBoxFunc // sqlite3.c:202032:8: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 216)) = geopolyXformFunc // sqlite3.c:202033:8: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 240)) = geopolyRegularFunc // sqlite3.c:202034:8: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 264)) = geopolyCcwFunc // sqlite3.c:202035:8: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 24)) = jsonRemoveFunc // sqlite3.c:195793:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 96)) = jsonArrayFunc // sqlite3.c:195794:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 168)) = jsonArrayLengthFunc // sqlite3.c:195795:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 240)) = jsonArrayLengthFunc // sqlite3.c:195796:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 312)) = jsonExtractFunc // sqlite3.c:195797:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 384)) = jsonExtractFunc // sqlite3.c:195798:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 456)) = jsonExtractFunc // sqlite3.c:195799:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 528)) = jsonSetFunc // sqlite3.c:195800:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 600)) = jsonObjectFunc // sqlite3.c:195801:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 672)) = jsonPatchFunc // sqlite3.c:195802:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 744)) = jsonQuoteFunc // sqlite3.c:195803:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 816)) = jsonRemoveFunc // sqlite3.c:195804:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 888)) = jsonReplaceFunc // sqlite3.c:195805:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 960)) = jsonSetFunc // sqlite3.c:195806:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 1032)) = jsonTypeFunc // sqlite3.c:195807:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 1104)) = jsonTypeFunc // sqlite3.c:195808:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 1176)) = jsonValidFunc // sqlite3.c:195809:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 1248)) = jsonArrayStep // sqlite3.c:195814:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 1256)) = jsonArrayFinal // sqlite3.c:195814:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 1264)) = jsonArrayValue // sqlite3.c:195814:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 1272)) = jsonGroupInverse // sqlite3.c:195814:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 1320)) = jsonObjectStep // sqlite3.c:195817:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 1328)) = jsonObjectFinal // sqlite3.c:195817:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 1336)) = jsonObjectValue // sqlite3.c:195817:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 1344)) = jsonGroupInverse // sqlite3.c:195817:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aMod)) + 8 /* .pModule */)) = uintptr(unsafe.Pointer(&jsonEachModule)) // sqlite3.c:195835:31: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aMod)) + 24 /* .pModule */)) = uintptr(unsafe.Pointer(&jsonTreeModule)) // sqlite3.c:195836:31: *(*Sqlite3_syscall_ptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 8 /* .pCurrent */)) = *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, int32) int32 }{posixOpen})) // sqlite3.c:35170:21: @@ -192819,150 +192850,150 @@ func init() { *(*Sqlite3_syscall_ptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 656 /* .pCurrent */)) = *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr) int32 }{libc.Xlstat})) // sqlite3.c:35313:22: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 32 /* .pAppData */)) = uintptr(unsafe.Pointer(&posixIoFinder)) // sqlite3.c:42842:5: - *(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 40)) = unixOpen // sqlite3.c:42842:5: - *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 48)) = unixDelete // sqlite3.c:42842:5: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 56)) = unixAccess // sqlite3.c:42842:5: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 64)) = unixFullPathname // sqlite3.c:42842:5: - *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 72)) = unixDlOpen // sqlite3.c:42842:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 80)) = unixDlError // sqlite3.c:42842:5: - *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 88)) = unixDlSym // sqlite3.c:42842:5: - *(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 96)) = unixDlClose // sqlite3.c:42842:5: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 104)) = unixRandomness // sqlite3.c:42842:5: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 112)) = unixSleep // sqlite3.c:42842:5: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 120)) = unixCurrentTime // sqlite3.c:42842:5: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 128)) = unixGetLastError // sqlite3.c:42842:5: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 136)) = unixCurrentTimeInt64 // sqlite3.c:42842:5: - *(*func(*libc.TLS, uintptr, uintptr, Sqlite3_syscall_ptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 144)) = unixSetSystemCall // sqlite3.c:42842:5: - *(*func(*libc.TLS, uintptr, uintptr) Sqlite3_syscall_ptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 152)) = unixGetSystemCall // sqlite3.c:42842:5: - *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 160)) = unixNextSystemCall // sqlite3.c:42842:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 200 /* .pAppData */)) = uintptr(unsafe.Pointer(&nolockIoFinder)) // sqlite3.c:42844:5: - *(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 208)) = unixOpen // sqlite3.c:42844:5: - *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 216)) = unixDelete // sqlite3.c:42844:5: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 224)) = unixAccess // sqlite3.c:42844:5: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 232)) = unixFullPathname // sqlite3.c:42844:5: - *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 240)) = unixDlOpen // sqlite3.c:42844:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 248)) = unixDlError // sqlite3.c:42844:5: - *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 256)) = unixDlSym // sqlite3.c:42844:5: - *(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 264)) = unixDlClose // sqlite3.c:42844:5: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 272)) = unixRandomness // sqlite3.c:42844:5: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 280)) = unixSleep // sqlite3.c:42844:5: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 288)) = unixCurrentTime // sqlite3.c:42844:5: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 296)) = unixGetLastError // sqlite3.c:42844:5: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 304)) = unixCurrentTimeInt64 // sqlite3.c:42844:5: - *(*func(*libc.TLS, uintptr, uintptr, Sqlite3_syscall_ptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 312)) = unixSetSystemCall // sqlite3.c:42844:5: - *(*func(*libc.TLS, uintptr, uintptr) Sqlite3_syscall_ptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 320)) = unixGetSystemCall // sqlite3.c:42844:5: - *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 328)) = unixNextSystemCall // sqlite3.c:42844:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 368 /* .pAppData */)) = uintptr(unsafe.Pointer(&dotlockIoFinder)) // sqlite3.c:42845:5: - *(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 376)) = unixOpen // sqlite3.c:42845:5: - *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 384)) = unixDelete // sqlite3.c:42845:5: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 392)) = unixAccess // sqlite3.c:42845:5: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 400)) = unixFullPathname // sqlite3.c:42845:5: - *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 408)) = unixDlOpen // sqlite3.c:42845:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 416)) = unixDlError // sqlite3.c:42845:5: - *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 424)) = unixDlSym // sqlite3.c:42845:5: - *(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 432)) = unixDlClose // sqlite3.c:42845:5: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 440)) = unixRandomness // sqlite3.c:42845:5: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 448)) = unixSleep // sqlite3.c:42845:5: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 456)) = unixCurrentTime // sqlite3.c:42845:5: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 464)) = unixGetLastError // sqlite3.c:42845:5: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 472)) = unixCurrentTimeInt64 // sqlite3.c:42845:5: - *(*func(*libc.TLS, uintptr, uintptr, Sqlite3_syscall_ptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 480)) = unixSetSystemCall // sqlite3.c:42845:5: - *(*func(*libc.TLS, uintptr, uintptr) Sqlite3_syscall_ptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 488)) = unixGetSystemCall // sqlite3.c:42845:5: - *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 496)) = unixNextSystemCall // sqlite3.c:42845:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 536 /* .pAppData */)) = uintptr(unsafe.Pointer(&posixIoFinder)) // sqlite3.c:42846:5: - *(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 544)) = unixOpen // sqlite3.c:42846:5: - *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 552)) = unixDelete // sqlite3.c:42846:5: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 560)) = unixAccess // sqlite3.c:42846:5: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 568)) = unixFullPathname // sqlite3.c:42846:5: - *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 576)) = unixDlOpen // sqlite3.c:42846:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 584)) = unixDlError // sqlite3.c:42846:5: - *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 592)) = unixDlSym // sqlite3.c:42846:5: - *(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 600)) = unixDlClose // sqlite3.c:42846:5: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 608)) = unixRandomness // sqlite3.c:42846:5: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 616)) = unixSleep // sqlite3.c:42846:5: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 624)) = unixCurrentTime // sqlite3.c:42846:5: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 632)) = unixGetLastError // sqlite3.c:42846:5: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 640)) = unixCurrentTimeInt64 // sqlite3.c:42846:5: - *(*func(*libc.TLS, uintptr, uintptr, Sqlite3_syscall_ptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 648)) = unixSetSystemCall // sqlite3.c:42846:5: - *(*func(*libc.TLS, uintptr, uintptr) Sqlite3_syscall_ptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 656)) = unixGetSystemCall // sqlite3.c:42846:5: - *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 664)) = unixNextSystemCall // sqlite3.c:42846:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 24)) = row_numberStepFunc // sqlite3.c:158796:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 32)) = row_numberValueFunc // sqlite3.c:158796:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 40)) = row_numberValueFunc // sqlite3.c:158796:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 48)) = noopStepFunc // sqlite3.c:158796:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 56 /* .zName */)) = uintptr(unsafe.Pointer(&row_numberName)) // sqlite3.c:158796:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 96)) = dense_rankStepFunc // sqlite3.c:158797:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 104)) = dense_rankValueFunc // sqlite3.c:158797:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 112)) = dense_rankValueFunc // sqlite3.c:158797:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 120)) = noopStepFunc // sqlite3.c:158797:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 128 /* .zName */)) = uintptr(unsafe.Pointer(&dense_rankName)) // sqlite3.c:158797:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 168)) = rankStepFunc // sqlite3.c:158798:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 176)) = rankValueFunc // sqlite3.c:158798:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 184)) = rankValueFunc // sqlite3.c:158798:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 192)) = noopStepFunc // sqlite3.c:158798:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 200 /* .zName */)) = uintptr(unsafe.Pointer(&rankName)) // sqlite3.c:158798:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 240)) = percent_rankStepFunc // sqlite3.c:158799:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 248)) = percent_rankValueFunc // sqlite3.c:158799:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 256)) = percent_rankValueFunc // sqlite3.c:158799:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 264)) = percent_rankInvFunc // sqlite3.c:158799:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 272 /* .zName */)) = uintptr(unsafe.Pointer(&percent_rankName)) // sqlite3.c:158799:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 312)) = cume_distStepFunc // sqlite3.c:158800:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 320)) = cume_distValueFunc // sqlite3.c:158800:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 328)) = cume_distValueFunc // sqlite3.c:158800:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 336)) = cume_distInvFunc // sqlite3.c:158800:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 344 /* .zName */)) = uintptr(unsafe.Pointer(&cume_distName)) // sqlite3.c:158800:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 384)) = ntileStepFunc // sqlite3.c:158801:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 392)) = ntileValueFunc // sqlite3.c:158801:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 400)) = ntileValueFunc // sqlite3.c:158801:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 408)) = ntileInvFunc // sqlite3.c:158801:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 416 /* .zName */)) = uintptr(unsafe.Pointer(&ntileName)) // sqlite3.c:158801:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 456)) = last_valueStepFunc // sqlite3.c:158802:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 464)) = last_valueFinalizeFunc // sqlite3.c:158802:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 472)) = last_valueValueFunc // sqlite3.c:158802:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 480)) = last_valueInvFunc // sqlite3.c:158802:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 488 /* .zName */)) = uintptr(unsafe.Pointer(&last_valueName)) // sqlite3.c:158802:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 528)) = nth_valueStepFunc // sqlite3.c:158803:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 536)) = nth_valueFinalizeFunc // sqlite3.c:158803:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 544)) = noopValueFunc // sqlite3.c:158803:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 552)) = noopStepFunc // sqlite3.c:158803:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 560 /* .zName */)) = uintptr(unsafe.Pointer(&nth_valueName)) // sqlite3.c:158803:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 600)) = first_valueStepFunc // sqlite3.c:158804:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 608)) = first_valueFinalizeFunc // sqlite3.c:158804:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 616)) = noopValueFunc // sqlite3.c:158804:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 624)) = noopStepFunc // sqlite3.c:158804:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 632 /* .zName */)) = uintptr(unsafe.Pointer(&first_valueName)) // sqlite3.c:158804:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 672)) = noopStepFunc // sqlite3.c:158805:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 680)) = noopValueFunc // sqlite3.c:158805:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 688)) = noopValueFunc // sqlite3.c:158805:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 696)) = noopStepFunc // sqlite3.c:158805:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 704 /* .zName */)) = uintptr(unsafe.Pointer(&leadName)) // sqlite3.c:158805:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 744)) = noopStepFunc // sqlite3.c:158806:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 752)) = noopValueFunc // sqlite3.c:158806:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 760)) = noopValueFunc // sqlite3.c:158806:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 768)) = noopStepFunc // sqlite3.c:158806:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 776 /* .zName */)) = uintptr(unsafe.Pointer(&leadName)) // sqlite3.c:158806:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 816)) = noopStepFunc // sqlite3.c:158807:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 824)) = noopValueFunc // sqlite3.c:158807:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 832)) = noopValueFunc // sqlite3.c:158807:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 840)) = noopStepFunc // sqlite3.c:158807:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 848 /* .zName */)) = uintptr(unsafe.Pointer(&leadName)) // sqlite3.c:158807:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 888)) = noopStepFunc // sqlite3.c:158808:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 896)) = noopValueFunc // sqlite3.c:158808:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 904)) = noopValueFunc // sqlite3.c:158808:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 912)) = noopStepFunc // sqlite3.c:158808:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 920 /* .zName */)) = uintptr(unsafe.Pointer(&lagName)) // sqlite3.c:158808:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 960)) = noopStepFunc // sqlite3.c:158809:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 968)) = noopValueFunc // sqlite3.c:158809:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 976)) = noopValueFunc // sqlite3.c:158809:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 984)) = noopStepFunc // sqlite3.c:158809:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 992 /* .zName */)) = uintptr(unsafe.Pointer(&lagName)) // sqlite3.c:158809:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 1032)) = noopStepFunc // sqlite3.c:158810:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 1040)) = noopValueFunc // sqlite3.c:158810:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 1048)) = noopValueFunc // sqlite3.c:158810:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 1056)) = noopStepFunc // sqlite3.c:158810:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 1064 /* .zName */)) = uintptr(unsafe.Pointer(&lagName)) // sqlite3.c:158810:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&attach_func)) + 24)) = attachFunc // sqlite3.c:113438:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 32 /* .pAppData */)) = uintptr(unsafe.Pointer(&posixIoFinder)) // sqlite3.c:42848:5: + *(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 40)) = unixOpen // sqlite3.c:42848:5: + *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 48)) = unixDelete // sqlite3.c:42848:5: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 56)) = unixAccess // sqlite3.c:42848:5: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 64)) = unixFullPathname // sqlite3.c:42848:5: + *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 72)) = unixDlOpen // sqlite3.c:42848:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 80)) = unixDlError // sqlite3.c:42848:5: + *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 88)) = unixDlSym // sqlite3.c:42848:5: + *(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 96)) = unixDlClose // sqlite3.c:42848:5: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 104)) = unixRandomness // sqlite3.c:42848:5: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 112)) = unixSleep // sqlite3.c:42848:5: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 120)) = unixCurrentTime // sqlite3.c:42848:5: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 128)) = unixGetLastError // sqlite3.c:42848:5: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 136)) = unixCurrentTimeInt64 // sqlite3.c:42848:5: + *(*func(*libc.TLS, uintptr, uintptr, Sqlite3_syscall_ptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 144)) = unixSetSystemCall // sqlite3.c:42848:5: + *(*func(*libc.TLS, uintptr, uintptr) Sqlite3_syscall_ptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 152)) = unixGetSystemCall // sqlite3.c:42848:5: + *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 160)) = unixNextSystemCall // sqlite3.c:42848:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 200 /* .pAppData */)) = uintptr(unsafe.Pointer(&nolockIoFinder)) // sqlite3.c:42850:5: + *(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 208)) = unixOpen // sqlite3.c:42850:5: + *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 216)) = unixDelete // sqlite3.c:42850:5: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 224)) = unixAccess // sqlite3.c:42850:5: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 232)) = unixFullPathname // sqlite3.c:42850:5: + *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 240)) = unixDlOpen // sqlite3.c:42850:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 248)) = unixDlError // sqlite3.c:42850:5: + *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 256)) = unixDlSym // sqlite3.c:42850:5: + *(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 264)) = unixDlClose // sqlite3.c:42850:5: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 272)) = unixRandomness // sqlite3.c:42850:5: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 280)) = unixSleep // sqlite3.c:42850:5: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 288)) = unixCurrentTime // sqlite3.c:42850:5: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 296)) = unixGetLastError // sqlite3.c:42850:5: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 304)) = unixCurrentTimeInt64 // sqlite3.c:42850:5: + *(*func(*libc.TLS, uintptr, uintptr, Sqlite3_syscall_ptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 312)) = unixSetSystemCall // sqlite3.c:42850:5: + *(*func(*libc.TLS, uintptr, uintptr) Sqlite3_syscall_ptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 320)) = unixGetSystemCall // sqlite3.c:42850:5: + *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 328)) = unixNextSystemCall // sqlite3.c:42850:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 368 /* .pAppData */)) = uintptr(unsafe.Pointer(&dotlockIoFinder)) // sqlite3.c:42851:5: + *(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 376)) = unixOpen // sqlite3.c:42851:5: + *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 384)) = unixDelete // sqlite3.c:42851:5: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 392)) = unixAccess // sqlite3.c:42851:5: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 400)) = unixFullPathname // sqlite3.c:42851:5: + *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 408)) = unixDlOpen // sqlite3.c:42851:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 416)) = unixDlError // sqlite3.c:42851:5: + *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 424)) = unixDlSym // sqlite3.c:42851:5: + *(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 432)) = unixDlClose // sqlite3.c:42851:5: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 440)) = unixRandomness // sqlite3.c:42851:5: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 448)) = unixSleep // sqlite3.c:42851:5: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 456)) = unixCurrentTime // sqlite3.c:42851:5: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 464)) = unixGetLastError // sqlite3.c:42851:5: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 472)) = unixCurrentTimeInt64 // sqlite3.c:42851:5: + *(*func(*libc.TLS, uintptr, uintptr, Sqlite3_syscall_ptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 480)) = unixSetSystemCall // sqlite3.c:42851:5: + *(*func(*libc.TLS, uintptr, uintptr) Sqlite3_syscall_ptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 488)) = unixGetSystemCall // sqlite3.c:42851:5: + *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 496)) = unixNextSystemCall // sqlite3.c:42851:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 536 /* .pAppData */)) = uintptr(unsafe.Pointer(&posixIoFinder)) // sqlite3.c:42852:5: + *(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 544)) = unixOpen // sqlite3.c:42852:5: + *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 552)) = unixDelete // sqlite3.c:42852:5: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 560)) = unixAccess // sqlite3.c:42852:5: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 568)) = unixFullPathname // sqlite3.c:42852:5: + *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 576)) = unixDlOpen // sqlite3.c:42852:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 584)) = unixDlError // sqlite3.c:42852:5: + *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 592)) = unixDlSym // sqlite3.c:42852:5: + *(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 600)) = unixDlClose // sqlite3.c:42852:5: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 608)) = unixRandomness // sqlite3.c:42852:5: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 616)) = unixSleep // sqlite3.c:42852:5: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 624)) = unixCurrentTime // sqlite3.c:42852:5: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 632)) = unixGetLastError // sqlite3.c:42852:5: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 640)) = unixCurrentTimeInt64 // sqlite3.c:42852:5: + *(*func(*libc.TLS, uintptr, uintptr, Sqlite3_syscall_ptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 648)) = unixSetSystemCall // sqlite3.c:42852:5: + *(*func(*libc.TLS, uintptr, uintptr) Sqlite3_syscall_ptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 656)) = unixGetSystemCall // sqlite3.c:42852:5: + *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aVfs)) + 664)) = unixNextSystemCall // sqlite3.c:42852:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 24)) = row_numberStepFunc // sqlite3.c:158853:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 32)) = row_numberValueFunc // sqlite3.c:158853:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 40)) = row_numberValueFunc // sqlite3.c:158853:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 48)) = noopStepFunc // sqlite3.c:158853:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 56 /* .zName */)) = uintptr(unsafe.Pointer(&row_numberName)) // sqlite3.c:158853:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 96)) = dense_rankStepFunc // sqlite3.c:158854:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 104)) = dense_rankValueFunc // sqlite3.c:158854:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 112)) = dense_rankValueFunc // sqlite3.c:158854:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 120)) = noopStepFunc // sqlite3.c:158854:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 128 /* .zName */)) = uintptr(unsafe.Pointer(&dense_rankName)) // sqlite3.c:158854:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 168)) = rankStepFunc // sqlite3.c:158855:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 176)) = rankValueFunc // sqlite3.c:158855:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 184)) = rankValueFunc // sqlite3.c:158855:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 192)) = noopStepFunc // sqlite3.c:158855:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 200 /* .zName */)) = uintptr(unsafe.Pointer(&rankName)) // sqlite3.c:158855:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 240)) = percent_rankStepFunc // sqlite3.c:158856:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 248)) = percent_rankValueFunc // sqlite3.c:158856:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 256)) = percent_rankValueFunc // sqlite3.c:158856:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 264)) = percent_rankInvFunc // sqlite3.c:158856:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 272 /* .zName */)) = uintptr(unsafe.Pointer(&percent_rankName)) // sqlite3.c:158856:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 312)) = cume_distStepFunc // sqlite3.c:158857:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 320)) = cume_distValueFunc // sqlite3.c:158857:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 328)) = cume_distValueFunc // sqlite3.c:158857:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 336)) = cume_distInvFunc // sqlite3.c:158857:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 344 /* .zName */)) = uintptr(unsafe.Pointer(&cume_distName)) // sqlite3.c:158857:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 384)) = ntileStepFunc // sqlite3.c:158858:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 392)) = ntileValueFunc // sqlite3.c:158858:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 400)) = ntileValueFunc // sqlite3.c:158858:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 408)) = ntileInvFunc // sqlite3.c:158858:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 416 /* .zName */)) = uintptr(unsafe.Pointer(&ntileName)) // sqlite3.c:158858:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 456)) = last_valueStepFunc // sqlite3.c:158859:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 464)) = last_valueFinalizeFunc // sqlite3.c:158859:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 472)) = last_valueValueFunc // sqlite3.c:158859:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 480)) = last_valueInvFunc // sqlite3.c:158859:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 488 /* .zName */)) = uintptr(unsafe.Pointer(&last_valueName)) // sqlite3.c:158859:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 528)) = nth_valueStepFunc // sqlite3.c:158860:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 536)) = nth_valueFinalizeFunc // sqlite3.c:158860:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 544)) = noopValueFunc // sqlite3.c:158860:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 552)) = noopStepFunc // sqlite3.c:158860:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 560 /* .zName */)) = uintptr(unsafe.Pointer(&nth_valueName)) // sqlite3.c:158860:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 600)) = first_valueStepFunc // sqlite3.c:158861:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 608)) = first_valueFinalizeFunc // sqlite3.c:158861:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 616)) = noopValueFunc // sqlite3.c:158861:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 624)) = noopStepFunc // sqlite3.c:158861:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 632 /* .zName */)) = uintptr(unsafe.Pointer(&first_valueName)) // sqlite3.c:158861:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 672)) = noopStepFunc // sqlite3.c:158862:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 680)) = noopValueFunc // sqlite3.c:158862:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 688)) = noopValueFunc // sqlite3.c:158862:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 696)) = noopStepFunc // sqlite3.c:158862:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 704 /* .zName */)) = uintptr(unsafe.Pointer(&leadName)) // sqlite3.c:158862:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 744)) = noopStepFunc // sqlite3.c:158863:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 752)) = noopValueFunc // sqlite3.c:158863:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 760)) = noopValueFunc // sqlite3.c:158863:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 768)) = noopStepFunc // sqlite3.c:158863:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 776 /* .zName */)) = uintptr(unsafe.Pointer(&leadName)) // sqlite3.c:158863:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 816)) = noopStepFunc // sqlite3.c:158864:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 824)) = noopValueFunc // sqlite3.c:158864:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 832)) = noopValueFunc // sqlite3.c:158864:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 840)) = noopStepFunc // sqlite3.c:158864:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 848 /* .zName */)) = uintptr(unsafe.Pointer(&leadName)) // sqlite3.c:158864:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 888)) = noopStepFunc // sqlite3.c:158865:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 896)) = noopValueFunc // sqlite3.c:158865:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 904)) = noopValueFunc // sqlite3.c:158865:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 912)) = noopStepFunc // sqlite3.c:158865:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 920 /* .zName */)) = uintptr(unsafe.Pointer(&lagName)) // sqlite3.c:158865:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 960)) = noopStepFunc // sqlite3.c:158866:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 968)) = noopValueFunc // sqlite3.c:158866:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 976)) = noopValueFunc // sqlite3.c:158866:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 984)) = noopStepFunc // sqlite3.c:158866:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 992 /* .zName */)) = uintptr(unsafe.Pointer(&lagName)) // sqlite3.c:158866:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 1032)) = noopStepFunc // sqlite3.c:158867:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 1040)) = noopValueFunc // sqlite3.c:158867:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 1048)) = noopValueFunc // sqlite3.c:158867:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 1056)) = noopStepFunc // sqlite3.c:158867:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 1064 /* .zName */)) = uintptr(unsafe.Pointer(&lagName)) // sqlite3.c:158867:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&attach_func)) + 24)) = attachFunc // sqlite3.c:113451:5: *(*func(*libc.TLS, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods)) + 0)) = sqlite3MemMalloc // sqlite3.c:25299:6: *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods)) + 8)) = sqlite3MemFree // sqlite3.c:25300:6: *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods)) + 16)) = sqlite3MemRealloc // sqlite3.c:25301:6: @@ -192970,243 +193001,243 @@ func init() { *(*func(*libc.TLS, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods)) + 32)) = sqlite3MemRoundup // sqlite3.c:25303:6: *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods)) + 40)) = sqlite3MemInit // sqlite3.c:25304:6: *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods)) + 48)) = sqlite3MemShutdown // sqlite3.c:25305:6: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods1)) + 16)) = pcache1Init // sqlite3.c:52453:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods1)) + 24)) = pcache1Shutdown // sqlite3.c:52454:5: - *(*func(*libc.TLS, int32, int32, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods1)) + 32)) = pcache1Create // sqlite3.c:52455:5: - *(*func(*libc.TLS, uintptr, int32))(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods1)) + 40)) = pcache1Cachesize // sqlite3.c:52456:5: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods1)) + 48)) = pcache1Pagecount // sqlite3.c:52457:5: - *(*func(*libc.TLS, uintptr, uint32, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods1)) + 56)) = pcache1Fetch // sqlite3.c:52458:5: - *(*func(*libc.TLS, uintptr, uintptr, int32))(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods1)) + 64)) = pcache1Unpin // sqlite3.c:52459:5: - *(*func(*libc.TLS, uintptr, uintptr, uint32, uint32))(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods1)) + 72)) = pcache1Rekey // sqlite3.c:52460:5: - *(*func(*libc.TLS, uintptr, uint32))(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods1)) + 80)) = pcache1Truncate // sqlite3.c:52461:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods1)) + 88)) = pcache1Destroy // sqlite3.c:52462:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods1)) + 96)) = pcache1Shrink // sqlite3.c:52463:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&detach_func)) + 24)) = detachFunc // sqlite3.c:113418:5: - *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoFinder)) + 0)) = dotlockIoFinderImpl // sqlite3.c:40202:1: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 8)) = dotlockClose // sqlite3.c:40202:1: - *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 16)) = unixRead // sqlite3.c:40202:1: - *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 24)) = unixWrite // sqlite3.c:40202:1: - *(*func(*libc.TLS, uintptr, I64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 32)) = unixTruncate // sqlite3.c:40202:1: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 40)) = unixSync // sqlite3.c:40202:1: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 48)) = unixFileSize // sqlite3.c:40202:1: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 56)) = dotlockLock // sqlite3.c:40202:1: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 64)) = dotlockUnlock // sqlite3.c:40202:1: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 72)) = dotlockCheckReservedLock // sqlite3.c:40202:1: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 80)) = unixFileControl // sqlite3.c:40202:1: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 88)) = unixSectorSize // sqlite3.c:40202:1: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 96)) = unixDeviceCharacteristics // sqlite3.c:40202:1: - *(*func(*libc.TLS, uintptr, int32, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 112)) = unixShmLock // sqlite3.c:40202:1: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 120)) = unixShmBarrier // sqlite3.c:40202:1: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 128)) = unixShmUnmap // sqlite3.c:40202:1: - *(*func(*libc.TLS, uintptr, I64, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 136)) = unixFetch // sqlite3.c:40202:1: - *(*func(*libc.TLS, uintptr, I64, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 144)) = unixUnfetch // sqlite3.c:40202:1: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 8)) = fts5CreateMethod // sqlite3.c:234400:25: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 16)) = fts5ConnectMethod // sqlite3.c:234401:25: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 24)) = fts5BestIndexMethod // sqlite3.c:234402:25: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 32)) = fts5DisconnectMethod // sqlite3.c:234403:25: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 40)) = fts5DestroyMethod // sqlite3.c:234404:25: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 48)) = fts5OpenMethod // sqlite3.c:234405:25: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 56)) = fts5CloseMethod // sqlite3.c:234406:25: - *(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 64)) = fts5FilterMethod // sqlite3.c:234407:25: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 72)) = fts5NextMethod // sqlite3.c:234408:25: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 80)) = fts5EofMethod // sqlite3.c:234409:25: - *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 88)) = fts5ColumnMethod // sqlite3.c:234410:25: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 96)) = fts5RowidMethod // sqlite3.c:234411:25: - *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 104)) = fts5UpdateMethod // sqlite3.c:234412:25: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 112)) = fts5BeginMethod // sqlite3.c:234413:25: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 120)) = fts5SyncMethod // sqlite3.c:234414:25: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 128)) = fts5CommitMethod // sqlite3.c:234415:25: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 136)) = fts5RollbackMethod // sqlite3.c:234416:25: - *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 144)) = fts5FindFunctionMethod // sqlite3.c:234417:25: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 152)) = fts5RenameMethod // sqlite3.c:234418:25: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 160)) = fts5SavepointMethod // sqlite3.c:234419:25: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 168)) = fts5ReleaseMethod // sqlite3.c:234420:25: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 176)) = fts5RollbackToMethod // sqlite3.c:234421:25: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 184)) = fts5ShadowName // sqlite3.c:234422:25: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 8)) = fts5VocabCreateMethod // sqlite3.c:238983:25: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 16)) = fts5VocabConnectMethod // sqlite3.c:238984:25: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 24)) = fts5VocabBestIndexMethod // sqlite3.c:238985:25: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 32)) = fts5VocabDisconnectMethod // sqlite3.c:238986:25: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 40)) = fts5VocabDestroyMethod // sqlite3.c:238987:25: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 48)) = fts5VocabOpenMethod // sqlite3.c:238988:25: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 56)) = fts5VocabCloseMethod // sqlite3.c:238989:25: - *(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 64)) = fts5VocabFilterMethod // sqlite3.c:238990:25: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 72)) = fts5VocabNextMethod // sqlite3.c:238991:25: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 80)) = fts5VocabEofMethod // sqlite3.c:238992:25: - *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 88)) = fts5VocabColumnMethod // sqlite3.c:238993:25: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 96)) = fts5VocabRowidMethod // sqlite3.c:238994:25: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 8)) = geopolyCreate // sqlite3.c:201934:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 16)) = geopolyConnect // sqlite3.c:201935:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 24)) = geopolyBestIndex // sqlite3.c:201936:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 32)) = rtreeDisconnect // sqlite3.c:201937:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 40)) = rtreeDestroy // sqlite3.c:201938:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 48)) = rtreeOpen // sqlite3.c:201939:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 56)) = rtreeClose // sqlite3.c:201940:3: - *(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 64)) = geopolyFilter // sqlite3.c:201941:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 72)) = rtreeNext // sqlite3.c:201942:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 80)) = rtreeEof // sqlite3.c:201943:3: - *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 88)) = geopolyColumn // sqlite3.c:201944:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 96)) = rtreeRowid // sqlite3.c:201945:3: - *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 104)) = geopolyUpdate // sqlite3.c:201946:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 112)) = rtreeBeginTransaction // sqlite3.c:201947:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 120)) = rtreeEndTransaction // sqlite3.c:201948:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 128)) = rtreeEndTransaction // sqlite3.c:201949:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 136)) = rtreeEndTransaction // sqlite3.c:201950:3: - *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 144)) = geopolyFindFunction // sqlite3.c:201951:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 152)) = rtreeRename // sqlite3.c:201952:3: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 160)) = rtreeSavepoint // sqlite3.c:201953:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 184)) = rtreeShadowName // sqlite3.c:201956:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonEachModule)) + 16)) = jsonEachConnect // sqlite3.c:195676:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonEachModule)) + 24)) = jsonEachBestIndex // sqlite3.c:195677:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonEachModule)) + 32)) = jsonEachDisconnect // sqlite3.c:195678:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonEachModule)) + 48)) = jsonEachOpenEach // sqlite3.c:195680:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonEachModule)) + 56)) = jsonEachClose // sqlite3.c:195681:3: - *(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonEachModule)) + 64)) = jsonEachFilter // sqlite3.c:195682:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonEachModule)) + 72)) = jsonEachNext // sqlite3.c:195683:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonEachModule)) + 80)) = jsonEachEof // sqlite3.c:195684:3: - *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonEachModule)) + 88)) = jsonEachColumn // sqlite3.c:195685:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonEachModule)) + 96)) = jsonEachRowid // sqlite3.c:195686:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonTreeModule)) + 16)) = jsonEachConnect // sqlite3.c:195704:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonTreeModule)) + 24)) = jsonEachBestIndex // sqlite3.c:195705:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonTreeModule)) + 32)) = jsonEachDisconnect // sqlite3.c:195706:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonTreeModule)) + 48)) = jsonEachOpenTree // sqlite3.c:195708:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonTreeModule)) + 56)) = jsonEachClose // sqlite3.c:195709:3: - *(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonTreeModule)) + 64)) = jsonEachFilter // sqlite3.c:195710:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonTreeModule)) + 72)) = jsonEachNext // sqlite3.c:195711:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonTreeModule)) + 80)) = jsonEachEof // sqlite3.c:195712:3: - *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonTreeModule)) + 88)) = jsonEachColumn // sqlite3.c:195713:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonTreeModule)) + 96)) = jsonEachRowid // sqlite3.c:195714:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 8)) = memdbClose // sqlite3.c:49233:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 16)) = memdbRead // sqlite3.c:49234:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 24)) = memdbWrite // sqlite3.c:49235:3: - *(*func(*libc.TLS, uintptr, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 32)) = memdbTruncate // sqlite3.c:49236:3: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 40)) = memdbSync // sqlite3.c:49237:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 48)) = memdbFileSize // sqlite3.c:49238:3: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 56)) = memdbLock // sqlite3.c:49239:3: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 64)) = memdbLock // sqlite3.c:49240:3: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 80)) = memdbFileControl // sqlite3.c:49242:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 96)) = memdbDeviceCharacteristics // sqlite3.c:49244:3: - *(*func(*libc.TLS, uintptr, Sqlite3_int64, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 136)) = memdbFetch // sqlite3.c:49249:3: - *(*func(*libc.TLS, uintptr, Sqlite3_int64, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 144)) = memdbUnfetch // sqlite3.c:49250:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_vfs)) + 40)) = memdbOpen // sqlite3.c:49213:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_vfs)) + 56)) = memdbAccess // sqlite3.c:49215:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_vfs)) + 64)) = memdbFullPathname // sqlite3.c:49216:3: - *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_vfs)) + 72)) = memdbDlOpen // sqlite3.c:49217:3: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_vfs)) + 80)) = memdbDlError // sqlite3.c:49218:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_vfs)) + 88)) = memdbDlSym // sqlite3.c:49219:3: - *(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_vfs)) + 96)) = memdbDlClose // sqlite3.c:49220:3: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_vfs)) + 104)) = memdbRandomness // sqlite3.c:49221:3: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_vfs)) + 112)) = memdbSleep // sqlite3.c:49222:3: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_vfs)) + 128)) = memdbGetLastError // sqlite3.c:49224:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_vfs)) + 136)) = memdbCurrentTimeInt64 // sqlite3.c:49225:3: - *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoFinder)) + 0)) = nolockIoFinderImpl // sqlite3.c:40192:1: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 8)) = nolockClose // sqlite3.c:40192:1: - *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 16)) = unixRead // sqlite3.c:40192:1: - *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 24)) = unixWrite // sqlite3.c:40192:1: - *(*func(*libc.TLS, uintptr, I64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 32)) = unixTruncate // sqlite3.c:40192:1: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 40)) = unixSync // sqlite3.c:40192:1: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 48)) = unixFileSize // sqlite3.c:40192:1: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 56)) = nolockLock // sqlite3.c:40192:1: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 64)) = nolockUnlock // sqlite3.c:40192:1: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 72)) = nolockCheckReservedLock // sqlite3.c:40192:1: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 80)) = unixFileControl // sqlite3.c:40192:1: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 88)) = unixSectorSize // sqlite3.c:40192:1: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 96)) = unixDeviceCharacteristics // sqlite3.c:40192:1: - *(*func(*libc.TLS, uintptr, int32, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 112)) = unixShmLock // sqlite3.c:40192:1: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 120)) = unixShmBarrier // sqlite3.c:40192:1: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 128)) = unixShmUnmap // sqlite3.c:40192:1: - *(*func(*libc.TLS, uintptr, I64, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 136)) = unixFetch // sqlite3.c:40192:1: - *(*func(*libc.TLS, uintptr, I64, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 144)) = unixUnfetch // sqlite3.c:40192:1: - *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoFinder)) + 0)) = posixIoFinderImpl // sqlite3.c:40182:1: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 8)) = unixClose // sqlite3.c:40182:1: - *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 16)) = unixRead // sqlite3.c:40182:1: - *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 24)) = unixWrite // sqlite3.c:40182:1: - *(*func(*libc.TLS, uintptr, I64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 32)) = unixTruncate // sqlite3.c:40182:1: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 40)) = unixSync // sqlite3.c:40182:1: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 48)) = unixFileSize // sqlite3.c:40182:1: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 56)) = unixLock // sqlite3.c:40182:1: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 64)) = unixUnlock // sqlite3.c:40182:1: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 72)) = unixCheckReservedLock // sqlite3.c:40182:1: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 80)) = unixFileControl // sqlite3.c:40182:1: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 88)) = unixSectorSize // sqlite3.c:40182:1: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 96)) = unixDeviceCharacteristics // sqlite3.c:40182:1: - *(*func(*libc.TLS, uintptr, int32, int32, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 104)) = unixShmMap // sqlite3.c:40182:1: - *(*func(*libc.TLS, uintptr, int32, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 112)) = unixShmLock // sqlite3.c:40182:1: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 120)) = unixShmBarrier // sqlite3.c:40182:1: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 128)) = unixShmUnmap // sqlite3.c:40182:1: - *(*func(*libc.TLS, uintptr, I64, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 136)) = unixFetch // sqlite3.c:40182:1: - *(*func(*libc.TLS, uintptr, I64, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 144)) = unixUnfetch // sqlite3.c:40182:1: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&pragmaVtabModule)) + 16)) = pragmaVtabConnect // sqlite3.c:133106:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&pragmaVtabModule)) + 24)) = pragmaVtabBestIndex // sqlite3.c:133107:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&pragmaVtabModule)) + 32)) = pragmaVtabDisconnect // sqlite3.c:133108:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&pragmaVtabModule)) + 48)) = pragmaVtabOpen // sqlite3.c:133110:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&pragmaVtabModule)) + 56)) = pragmaVtabClose // sqlite3.c:133111:3: - *(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&pragmaVtabModule)) + 64)) = pragmaVtabFilter // sqlite3.c:133112:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&pragmaVtabModule)) + 72)) = pragmaVtabNext // sqlite3.c:133113:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&pragmaVtabModule)) + 80)) = pragmaVtabEof // sqlite3.c:133114:3: - *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&pragmaVtabModule)) + 88)) = pragmaVtabColumn // sqlite3.c:133115:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&pragmaVtabModule)) + 96)) = pragmaVtabRowid // sqlite3.c:133116:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 8)) = rbuVfsClose // sqlite3.c:208631:5: - *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 16)) = rbuVfsRead // sqlite3.c:208632:5: - *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 24)) = rbuVfsWrite // sqlite3.c:208633:5: - *(*func(*libc.TLS, uintptr, Sqlite_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 32)) = rbuVfsTruncate // sqlite3.c:208634:5: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 40)) = rbuVfsSync // sqlite3.c:208635:5: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 48)) = rbuVfsFileSize // sqlite3.c:208636:5: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 56)) = rbuVfsLock // sqlite3.c:208637:5: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 64)) = rbuVfsUnlock // sqlite3.c:208638:5: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 72)) = rbuVfsCheckReservedLock // sqlite3.c:208639:5: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 80)) = rbuVfsFileControl // sqlite3.c:208640:5: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 88)) = rbuVfsSectorSize // sqlite3.c:208641:5: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 96)) = rbuVfsDeviceCharacteristics // sqlite3.c:208642:5: - *(*func(*libc.TLS, uintptr, int32, int32, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 104)) = rbuVfsShmMap // sqlite3.c:208643:5: - *(*func(*libc.TLS, uintptr, int32, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 112)) = rbuVfsShmLock // sqlite3.c:208644:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 120)) = rbuVfsShmBarrier // sqlite3.c:208645:5: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 128)) = rbuVfsShmUnmap // sqlite3.c:208646:5: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 8)) = rtreeCreate // sqlite3.c:199272:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 16)) = rtreeConnect // sqlite3.c:199273:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 24)) = rtreeBestIndex // sqlite3.c:199274:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 32)) = rtreeDisconnect // sqlite3.c:199275:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 40)) = rtreeDestroy // sqlite3.c:199276:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 48)) = rtreeOpen // sqlite3.c:199277:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 56)) = rtreeClose // sqlite3.c:199278:3: - *(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 64)) = rtreeFilter // sqlite3.c:199279:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 72)) = rtreeNext // sqlite3.c:199280:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 80)) = rtreeEof // sqlite3.c:199281:3: - *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 88)) = rtreeColumn // sqlite3.c:199282:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 96)) = rtreeRowid // sqlite3.c:199283:3: - *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 104)) = rtreeUpdate // sqlite3.c:199284:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 112)) = rtreeBeginTransaction // sqlite3.c:199285:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 120)) = rtreeEndTransaction // sqlite3.c:199286:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 128)) = rtreeEndTransaction // sqlite3.c:199287:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 136)) = rtreeEndTransaction // sqlite3.c:199288:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 152)) = rtreeRename // sqlite3.c:199290:3: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 160)) = rtreeSavepoint // sqlite3.c:199291:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 184)) = rtreeShadowName // sqlite3.c:199294:3: - *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 8)) = fts5ApiUserData // sqlite3.c:233859:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 16)) = fts5ApiColumnCount // sqlite3.c:233860:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 24)) = fts5ApiRowCount // sqlite3.c:233861:3: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 32)) = fts5ApiColumnTotalSize // sqlite3.c:233862:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 40)) = fts5ApiTokenize // sqlite3.c:233863:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 48)) = fts5ApiPhraseCount // sqlite3.c:233864:3: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 56)) = fts5ApiPhraseSize // sqlite3.c:233865:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 64)) = fts5ApiInstCount // sqlite3.c:233866:3: - *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 72)) = fts5ApiInst // sqlite3.c:233867:3: - *(*func(*libc.TLS, uintptr) Sqlite3_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 80)) = fts5ApiRowid // sqlite3.c:233868:3: - *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 88)) = fts5ApiColumnText // sqlite3.c:233869:3: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 96)) = fts5ApiColumnSize // sqlite3.c:233870:3: - *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 104)) = fts5ApiQueryPhrase // sqlite3.c:233871:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 112)) = fts5ApiSetAuxdata // sqlite3.c:233872:3: - *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 120)) = fts5ApiGetAuxdata // sqlite3.c:233873:3: - *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 128)) = fts5ApiPhraseFirst // sqlite3.c:233874:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 136)) = fts5ApiPhraseNext // sqlite3.c:233875:3: - *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 144)) = fts5ApiPhraseFirstColumn // sqlite3.c:233876:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 152)) = fts5ApiPhraseNextColumn // sqlite3.c:233877:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sMemJournalMethods)) + 8)) = memjrnlClose // sqlite3.c:100023:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sMemJournalMethods)) + 16)) = memjrnlRead // sqlite3.c:100024:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sMemJournalMethods)) + 24)) = memjrnlWrite // sqlite3.c:100025:3: - *(*func(*libc.TLS, uintptr, Sqlite_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sMemJournalMethods)) + 32)) = memjrnlTruncate // sqlite3.c:100026:3: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sMemJournalMethods)) + 40)) = memjrnlSync // sqlite3.c:100027:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sMemJournalMethods)) + 48)) = memjrnlFileSize // sqlite3.c:100028:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods1)) + 16)) = pcache1Init // sqlite3.c:52463:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods1)) + 24)) = pcache1Shutdown // sqlite3.c:52464:5: + *(*func(*libc.TLS, int32, int32, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods1)) + 32)) = pcache1Create // sqlite3.c:52465:5: + *(*func(*libc.TLS, uintptr, int32))(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods1)) + 40)) = pcache1Cachesize // sqlite3.c:52466:5: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods1)) + 48)) = pcache1Pagecount // sqlite3.c:52467:5: + *(*func(*libc.TLS, uintptr, uint32, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods1)) + 56)) = pcache1Fetch // sqlite3.c:52468:5: + *(*func(*libc.TLS, uintptr, uintptr, int32))(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods1)) + 64)) = pcache1Unpin // sqlite3.c:52469:5: + *(*func(*libc.TLS, uintptr, uintptr, uint32, uint32))(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods1)) + 72)) = pcache1Rekey // sqlite3.c:52470:5: + *(*func(*libc.TLS, uintptr, uint32))(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods1)) + 80)) = pcache1Truncate // sqlite3.c:52471:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods1)) + 88)) = pcache1Destroy // sqlite3.c:52472:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods1)) + 96)) = pcache1Shrink // sqlite3.c:52473:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&detach_func)) + 24)) = detachFunc // sqlite3.c:113431:5: + *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoFinder)) + 0)) = dotlockIoFinderImpl // sqlite3.c:40208:1: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 8)) = dotlockClose // sqlite3.c:40208:1: + *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 16)) = unixRead // sqlite3.c:40208:1: + *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 24)) = unixWrite // sqlite3.c:40208:1: + *(*func(*libc.TLS, uintptr, I64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 32)) = unixTruncate // sqlite3.c:40208:1: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 40)) = unixSync // sqlite3.c:40208:1: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 48)) = unixFileSize // sqlite3.c:40208:1: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 56)) = dotlockLock // sqlite3.c:40208:1: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 64)) = dotlockUnlock // sqlite3.c:40208:1: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 72)) = dotlockCheckReservedLock // sqlite3.c:40208:1: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 80)) = unixFileControl // sqlite3.c:40208:1: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 88)) = unixSectorSize // sqlite3.c:40208:1: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 96)) = unixDeviceCharacteristics // sqlite3.c:40208:1: + *(*func(*libc.TLS, uintptr, int32, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 112)) = unixShmLock // sqlite3.c:40208:1: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 120)) = unixShmBarrier // sqlite3.c:40208:1: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 128)) = unixShmUnmap // sqlite3.c:40208:1: + *(*func(*libc.TLS, uintptr, I64, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 136)) = unixFetch // sqlite3.c:40208:1: + *(*func(*libc.TLS, uintptr, I64, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&dotlockIoMethods)) + 144)) = unixUnfetch // sqlite3.c:40208:1: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 8)) = fts5CreateMethod // sqlite3.c:234457:25: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 16)) = fts5ConnectMethod // sqlite3.c:234458:25: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 24)) = fts5BestIndexMethod // sqlite3.c:234459:25: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 32)) = fts5DisconnectMethod // sqlite3.c:234460:25: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 40)) = fts5DestroyMethod // sqlite3.c:234461:25: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 48)) = fts5OpenMethod // sqlite3.c:234462:25: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 56)) = fts5CloseMethod // sqlite3.c:234463:25: + *(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 64)) = fts5FilterMethod // sqlite3.c:234464:25: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 72)) = fts5NextMethod // sqlite3.c:234465:25: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 80)) = fts5EofMethod // sqlite3.c:234466:25: + *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 88)) = fts5ColumnMethod // sqlite3.c:234467:25: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 96)) = fts5RowidMethod // sqlite3.c:234468:25: + *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 104)) = fts5UpdateMethod // sqlite3.c:234469:25: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 112)) = fts5BeginMethod // sqlite3.c:234470:25: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 120)) = fts5SyncMethod // sqlite3.c:234471:25: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 128)) = fts5CommitMethod // sqlite3.c:234472:25: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 136)) = fts5RollbackMethod // sqlite3.c:234473:25: + *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 144)) = fts5FindFunctionMethod // sqlite3.c:234474:25: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 152)) = fts5RenameMethod // sqlite3.c:234475:25: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 160)) = fts5SavepointMethod // sqlite3.c:234476:25: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 168)) = fts5ReleaseMethod // sqlite3.c:234477:25: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 176)) = fts5RollbackToMethod // sqlite3.c:234478:25: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 184)) = fts5ShadowName // sqlite3.c:234479:25: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 8)) = fts5VocabCreateMethod // sqlite3.c:239040:25: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 16)) = fts5VocabConnectMethod // sqlite3.c:239041:25: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 24)) = fts5VocabBestIndexMethod // sqlite3.c:239042:25: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 32)) = fts5VocabDisconnectMethod // sqlite3.c:239043:25: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 40)) = fts5VocabDestroyMethod // sqlite3.c:239044:25: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 48)) = fts5VocabOpenMethod // sqlite3.c:239045:25: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 56)) = fts5VocabCloseMethod // sqlite3.c:239046:25: + *(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 64)) = fts5VocabFilterMethod // sqlite3.c:239047:25: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 72)) = fts5VocabNextMethod // sqlite3.c:239048:25: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 80)) = fts5VocabEofMethod // sqlite3.c:239049:25: + *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 88)) = fts5VocabColumnMethod // sqlite3.c:239050:25: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 96)) = fts5VocabRowidMethod // sqlite3.c:239051:25: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 8)) = geopolyCreate // sqlite3.c:201991:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 16)) = geopolyConnect // sqlite3.c:201992:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 24)) = geopolyBestIndex // sqlite3.c:201993:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 32)) = rtreeDisconnect // sqlite3.c:201994:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 40)) = rtreeDestroy // sqlite3.c:201995:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 48)) = rtreeOpen // sqlite3.c:201996:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 56)) = rtreeClose // sqlite3.c:201997:3: + *(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 64)) = geopolyFilter // sqlite3.c:201998:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 72)) = rtreeNext // sqlite3.c:201999:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 80)) = rtreeEof // sqlite3.c:202000:3: + *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 88)) = geopolyColumn // sqlite3.c:202001:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 96)) = rtreeRowid // sqlite3.c:202002:3: + *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 104)) = geopolyUpdate // sqlite3.c:202003:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 112)) = rtreeBeginTransaction // sqlite3.c:202004:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 120)) = rtreeEndTransaction // sqlite3.c:202005:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 128)) = rtreeEndTransaction // sqlite3.c:202006:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 136)) = rtreeEndTransaction // sqlite3.c:202007:3: + *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 144)) = geopolyFindFunction // sqlite3.c:202008:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 152)) = rtreeRename // sqlite3.c:202009:3: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 160)) = rtreeSavepoint // sqlite3.c:202010:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 184)) = rtreeShadowName // sqlite3.c:202013:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonEachModule)) + 16)) = jsonEachConnect // sqlite3.c:195733:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonEachModule)) + 24)) = jsonEachBestIndex // sqlite3.c:195734:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonEachModule)) + 32)) = jsonEachDisconnect // sqlite3.c:195735:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonEachModule)) + 48)) = jsonEachOpenEach // sqlite3.c:195737:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonEachModule)) + 56)) = jsonEachClose // sqlite3.c:195738:3: + *(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonEachModule)) + 64)) = jsonEachFilter // sqlite3.c:195739:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonEachModule)) + 72)) = jsonEachNext // sqlite3.c:195740:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonEachModule)) + 80)) = jsonEachEof // sqlite3.c:195741:3: + *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonEachModule)) + 88)) = jsonEachColumn // sqlite3.c:195742:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonEachModule)) + 96)) = jsonEachRowid // sqlite3.c:195743:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonTreeModule)) + 16)) = jsonEachConnect // sqlite3.c:195761:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonTreeModule)) + 24)) = jsonEachBestIndex // sqlite3.c:195762:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonTreeModule)) + 32)) = jsonEachDisconnect // sqlite3.c:195763:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonTreeModule)) + 48)) = jsonEachOpenTree // sqlite3.c:195765:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonTreeModule)) + 56)) = jsonEachClose // sqlite3.c:195766:3: + *(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonTreeModule)) + 64)) = jsonEachFilter // sqlite3.c:195767:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonTreeModule)) + 72)) = jsonEachNext // sqlite3.c:195768:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonTreeModule)) + 80)) = jsonEachEof // sqlite3.c:195769:3: + *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonTreeModule)) + 88)) = jsonEachColumn // sqlite3.c:195770:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonTreeModule)) + 96)) = jsonEachRowid // sqlite3.c:195771:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 8)) = memdbClose // sqlite3.c:49243:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 16)) = memdbRead // sqlite3.c:49244:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 24)) = memdbWrite // sqlite3.c:49245:3: + *(*func(*libc.TLS, uintptr, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 32)) = memdbTruncate // sqlite3.c:49246:3: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 40)) = memdbSync // sqlite3.c:49247:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 48)) = memdbFileSize // sqlite3.c:49248:3: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 56)) = memdbLock // sqlite3.c:49249:3: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 64)) = memdbLock // sqlite3.c:49250:3: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 80)) = memdbFileControl // sqlite3.c:49252:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 96)) = memdbDeviceCharacteristics // sqlite3.c:49254:3: + *(*func(*libc.TLS, uintptr, Sqlite3_int64, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 136)) = memdbFetch // sqlite3.c:49259:3: + *(*func(*libc.TLS, uintptr, Sqlite3_int64, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 144)) = memdbUnfetch // sqlite3.c:49260:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_vfs)) + 40)) = memdbOpen // sqlite3.c:49223:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_vfs)) + 56)) = memdbAccess // sqlite3.c:49225:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_vfs)) + 64)) = memdbFullPathname // sqlite3.c:49226:3: + *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_vfs)) + 72)) = memdbDlOpen // sqlite3.c:49227:3: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_vfs)) + 80)) = memdbDlError // sqlite3.c:49228:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_vfs)) + 88)) = memdbDlSym // sqlite3.c:49229:3: + *(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_vfs)) + 96)) = memdbDlClose // sqlite3.c:49230:3: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_vfs)) + 104)) = memdbRandomness // sqlite3.c:49231:3: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_vfs)) + 112)) = memdbSleep // sqlite3.c:49232:3: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_vfs)) + 128)) = memdbGetLastError // sqlite3.c:49234:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_vfs)) + 136)) = memdbCurrentTimeInt64 // sqlite3.c:49235:3: + *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoFinder)) + 0)) = nolockIoFinderImpl // sqlite3.c:40198:1: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 8)) = nolockClose // sqlite3.c:40198:1: + *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 16)) = unixRead // sqlite3.c:40198:1: + *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 24)) = unixWrite // sqlite3.c:40198:1: + *(*func(*libc.TLS, uintptr, I64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 32)) = unixTruncate // sqlite3.c:40198:1: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 40)) = unixSync // sqlite3.c:40198:1: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 48)) = unixFileSize // sqlite3.c:40198:1: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 56)) = nolockLock // sqlite3.c:40198:1: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 64)) = nolockUnlock // sqlite3.c:40198:1: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 72)) = nolockCheckReservedLock // sqlite3.c:40198:1: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 80)) = unixFileControl // sqlite3.c:40198:1: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 88)) = unixSectorSize // sqlite3.c:40198:1: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 96)) = unixDeviceCharacteristics // sqlite3.c:40198:1: + *(*func(*libc.TLS, uintptr, int32, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 112)) = unixShmLock // sqlite3.c:40198:1: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 120)) = unixShmBarrier // sqlite3.c:40198:1: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 128)) = unixShmUnmap // sqlite3.c:40198:1: + *(*func(*libc.TLS, uintptr, I64, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 136)) = unixFetch // sqlite3.c:40198:1: + *(*func(*libc.TLS, uintptr, I64, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&nolockIoMethods)) + 144)) = unixUnfetch // sqlite3.c:40198:1: + *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoFinder)) + 0)) = posixIoFinderImpl // sqlite3.c:40188:1: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 8)) = unixClose // sqlite3.c:40188:1: + *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 16)) = unixRead // sqlite3.c:40188:1: + *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 24)) = unixWrite // sqlite3.c:40188:1: + *(*func(*libc.TLS, uintptr, I64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 32)) = unixTruncate // sqlite3.c:40188:1: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 40)) = unixSync // sqlite3.c:40188:1: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 48)) = unixFileSize // sqlite3.c:40188:1: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 56)) = unixLock // sqlite3.c:40188:1: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 64)) = unixUnlock // sqlite3.c:40188:1: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 72)) = unixCheckReservedLock // sqlite3.c:40188:1: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 80)) = unixFileControl // sqlite3.c:40188:1: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 88)) = unixSectorSize // sqlite3.c:40188:1: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 96)) = unixDeviceCharacteristics // sqlite3.c:40188:1: + *(*func(*libc.TLS, uintptr, int32, int32, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 104)) = unixShmMap // sqlite3.c:40188:1: + *(*func(*libc.TLS, uintptr, int32, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 112)) = unixShmLock // sqlite3.c:40188:1: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 120)) = unixShmBarrier // sqlite3.c:40188:1: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 128)) = unixShmUnmap // sqlite3.c:40188:1: + *(*func(*libc.TLS, uintptr, I64, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 136)) = unixFetch // sqlite3.c:40188:1: + *(*func(*libc.TLS, uintptr, I64, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&posixIoMethods)) + 144)) = unixUnfetch // sqlite3.c:40188:1: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&pragmaVtabModule)) + 16)) = pragmaVtabConnect // sqlite3.c:133119:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&pragmaVtabModule)) + 24)) = pragmaVtabBestIndex // sqlite3.c:133120:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&pragmaVtabModule)) + 32)) = pragmaVtabDisconnect // sqlite3.c:133121:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&pragmaVtabModule)) + 48)) = pragmaVtabOpen // sqlite3.c:133123:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&pragmaVtabModule)) + 56)) = pragmaVtabClose // sqlite3.c:133124:3: + *(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&pragmaVtabModule)) + 64)) = pragmaVtabFilter // sqlite3.c:133125:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&pragmaVtabModule)) + 72)) = pragmaVtabNext // sqlite3.c:133126:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&pragmaVtabModule)) + 80)) = pragmaVtabEof // sqlite3.c:133127:3: + *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&pragmaVtabModule)) + 88)) = pragmaVtabColumn // sqlite3.c:133128:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&pragmaVtabModule)) + 96)) = pragmaVtabRowid // sqlite3.c:133129:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 8)) = rbuVfsClose // sqlite3.c:208688:5: + *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 16)) = rbuVfsRead // sqlite3.c:208689:5: + *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 24)) = rbuVfsWrite // sqlite3.c:208690:5: + *(*func(*libc.TLS, uintptr, Sqlite_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 32)) = rbuVfsTruncate // sqlite3.c:208691:5: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 40)) = rbuVfsSync // sqlite3.c:208692:5: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 48)) = rbuVfsFileSize // sqlite3.c:208693:5: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 56)) = rbuVfsLock // sqlite3.c:208694:5: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 64)) = rbuVfsUnlock // sqlite3.c:208695:5: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 72)) = rbuVfsCheckReservedLock // sqlite3.c:208696:5: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 80)) = rbuVfsFileControl // sqlite3.c:208697:5: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 88)) = rbuVfsSectorSize // sqlite3.c:208698:5: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 96)) = rbuVfsDeviceCharacteristics // sqlite3.c:208699:5: + *(*func(*libc.TLS, uintptr, int32, int32, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 104)) = rbuVfsShmMap // sqlite3.c:208700:5: + *(*func(*libc.TLS, uintptr, int32, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 112)) = rbuVfsShmLock // sqlite3.c:208701:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 120)) = rbuVfsShmBarrier // sqlite3.c:208702:5: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 128)) = rbuVfsShmUnmap // sqlite3.c:208703:5: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 8)) = rtreeCreate // sqlite3.c:199329:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 16)) = rtreeConnect // sqlite3.c:199330:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 24)) = rtreeBestIndex // sqlite3.c:199331:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 32)) = rtreeDisconnect // sqlite3.c:199332:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 40)) = rtreeDestroy // sqlite3.c:199333:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 48)) = rtreeOpen // sqlite3.c:199334:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 56)) = rtreeClose // sqlite3.c:199335:3: + *(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 64)) = rtreeFilter // sqlite3.c:199336:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 72)) = rtreeNext // sqlite3.c:199337:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 80)) = rtreeEof // sqlite3.c:199338:3: + *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 88)) = rtreeColumn // sqlite3.c:199339:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 96)) = rtreeRowid // sqlite3.c:199340:3: + *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 104)) = rtreeUpdate // sqlite3.c:199341:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 112)) = rtreeBeginTransaction // sqlite3.c:199342:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 120)) = rtreeEndTransaction // sqlite3.c:199343:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 128)) = rtreeEndTransaction // sqlite3.c:199344:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 136)) = rtreeEndTransaction // sqlite3.c:199345:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 152)) = rtreeRename // sqlite3.c:199347:3: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 160)) = rtreeSavepoint // sqlite3.c:199348:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 184)) = rtreeShadowName // sqlite3.c:199351:3: + *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 8)) = fts5ApiUserData // sqlite3.c:233916:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 16)) = fts5ApiColumnCount // sqlite3.c:233917:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 24)) = fts5ApiRowCount // sqlite3.c:233918:3: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 32)) = fts5ApiColumnTotalSize // sqlite3.c:233919:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 40)) = fts5ApiTokenize // sqlite3.c:233920:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 48)) = fts5ApiPhraseCount // sqlite3.c:233921:3: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 56)) = fts5ApiPhraseSize // sqlite3.c:233922:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 64)) = fts5ApiInstCount // sqlite3.c:233923:3: + *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 72)) = fts5ApiInst // sqlite3.c:233924:3: + *(*func(*libc.TLS, uintptr) Sqlite3_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 80)) = fts5ApiRowid // sqlite3.c:233925:3: + *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 88)) = fts5ApiColumnText // sqlite3.c:233926:3: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 96)) = fts5ApiColumnSize // sqlite3.c:233927:3: + *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 104)) = fts5ApiQueryPhrase // sqlite3.c:233928:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 112)) = fts5ApiSetAuxdata // sqlite3.c:233929:3: + *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 120)) = fts5ApiGetAuxdata // sqlite3.c:233930:3: + *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 128)) = fts5ApiPhraseFirst // sqlite3.c:233931:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 136)) = fts5ApiPhraseNext // sqlite3.c:233932:3: + *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 144)) = fts5ApiPhraseFirstColumn // sqlite3.c:233933:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 152)) = fts5ApiPhraseNextColumn // sqlite3.c:233934:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sMemJournalMethods)) + 8)) = memjrnlClose // sqlite3.c:100036:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sMemJournalMethods)) + 16)) = memjrnlRead // sqlite3.c:100037:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sMemJournalMethods)) + 24)) = memjrnlWrite // sqlite3.c:100038:3: + *(*func(*libc.TLS, uintptr, Sqlite_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sMemJournalMethods)) + 32)) = memjrnlTruncate // sqlite3.c:100039:3: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sMemJournalMethods)) + 40)) = memjrnlSync // sqlite3.c:100040:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sMemJournalMethods)) + 48)) = memjrnlFileSize // sqlite3.c:100041:3: *(*func(*libc.TLS) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sMutex)) + 0)) = noopMutexInit // sqlite3.c:27532:5: *(*func(*libc.TLS) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sMutex)) + 8)) = noopMutexEnd // sqlite3.c:27533:5: *(*func(*libc.TLS, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sMutex)) + 16)) = noopMutexAlloc // sqlite3.c:27534:5: @@ -193214,288 +193245,288 @@ func init() { *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sMutex)) + 32)) = noopMutexEnter // sqlite3.c:27536:5: *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sMutex)) + 40)) = noopMutexTry // sqlite3.c:27537:5: *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sMutex)) + 48)) = noopMutexLeave // sqlite3.c:27538:5: - *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 0)) = Xsqlite3_aggregate_context // sqlite3.c:129019:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 8)) = Xsqlite3_aggregate_count // sqlite3.c:129021:3: - *(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 16)) = Xsqlite3_bind_blob // sqlite3.c:129025:3: - *(*func(*libc.TLS, uintptr, int32, float64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 24)) = Xsqlite3_bind_double // sqlite3.c:129026:3: - *(*func(*libc.TLS, uintptr, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 32)) = Xsqlite3_bind_int // sqlite3.c:129027:3: - *(*func(*libc.TLS, uintptr, int32, Sqlite_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 40)) = Xsqlite3_bind_int64 // sqlite3.c:129028:3: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 48)) = Xsqlite3_bind_null // sqlite3.c:129029:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 56)) = Xsqlite3_bind_parameter_count // sqlite3.c:129030:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 64)) = Xsqlite3_bind_parameter_index // sqlite3.c:129031:3: - *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 72)) = Xsqlite3_bind_parameter_name // sqlite3.c:129032:3: - *(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 80)) = Xsqlite3_bind_text // sqlite3.c:129033:3: - *(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 88)) = Xsqlite3_bind_text16 // sqlite3.c:129034:3: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 96)) = Xsqlite3_bind_value // sqlite3.c:129035:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 104)) = Xsqlite3_busy_handler // sqlite3.c:129036:3: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 112)) = Xsqlite3_busy_timeout // sqlite3.c:129037:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 120)) = Xsqlite3_changes // sqlite3.c:129038:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 128)) = Xsqlite3_close // sqlite3.c:129039:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 136)) = Xsqlite3_collation_needed // sqlite3.c:129040:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 144)) = Xsqlite3_collation_needed16 // sqlite3.c:129041:3: - *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 152)) = Xsqlite3_column_blob // sqlite3.c:129042:3: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 160)) = Xsqlite3_column_bytes // sqlite3.c:129043:3: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 168)) = Xsqlite3_column_bytes16 // sqlite3.c:129044:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 176)) = Xsqlite3_column_count // sqlite3.c:129045:3: - *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 184)) = Xsqlite3_column_database_name // sqlite3.c:129046:3: - *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 192)) = Xsqlite3_column_database_name16 // sqlite3.c:129047:3: - *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 200)) = Xsqlite3_column_decltype // sqlite3.c:129048:3: - *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 208)) = Xsqlite3_column_decltype16 // sqlite3.c:129049:3: - *(*func(*libc.TLS, uintptr, int32) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 216)) = Xsqlite3_column_double // sqlite3.c:129050:3: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 224)) = Xsqlite3_column_int // sqlite3.c:129051:3: - *(*func(*libc.TLS, uintptr, int32) Sqlite_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 232)) = Xsqlite3_column_int64 // sqlite3.c:129052:3: - *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 240)) = Xsqlite3_column_name // sqlite3.c:129053:3: - *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 248)) = Xsqlite3_column_name16 // sqlite3.c:129054:3: - *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 256)) = Xsqlite3_column_origin_name // sqlite3.c:129055:3: - *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 264)) = Xsqlite3_column_origin_name16 // sqlite3.c:129056:3: - *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 272)) = Xsqlite3_column_table_name // sqlite3.c:129057:3: - *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 280)) = Xsqlite3_column_table_name16 // sqlite3.c:129058:3: - *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 288)) = Xsqlite3_column_text // sqlite3.c:129059:3: - *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 296)) = Xsqlite3_column_text16 // sqlite3.c:129060:3: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 304)) = Xsqlite3_column_type // sqlite3.c:129061:3: - *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 312)) = Xsqlite3_column_value // sqlite3.c:129062:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 320)) = Xsqlite3_commit_hook // sqlite3.c:129063:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 328)) = Xsqlite3_complete // sqlite3.c:129064:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 336)) = Xsqlite3_complete16 // sqlite3.c:129065:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 344)) = Xsqlite3_create_collation // sqlite3.c:129066:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 352)) = Xsqlite3_create_collation16 // sqlite3.c:129067:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, int32, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 360)) = Xsqlite3_create_function // sqlite3.c:129068:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, int32, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 368)) = Xsqlite3_create_function16 // sqlite3.c:129069:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 376)) = Xsqlite3_create_module // sqlite3.c:129070:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 384)) = Xsqlite3_data_count // sqlite3.c:129071:3: - *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 392)) = Xsqlite3_db_handle // sqlite3.c:129072:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 400)) = Xsqlite3_declare_vtab // sqlite3.c:129073:3: - *(*func(*libc.TLS, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 408)) = Xsqlite3_enable_shared_cache // sqlite3.c:129074:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 416)) = Xsqlite3_errcode // sqlite3.c:129075:3: - *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 424)) = Xsqlite3_errmsg // sqlite3.c:129076:3: - *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 432)) = Xsqlite3_errmsg16 // sqlite3.c:129077:3: - *(*func(*libc.TLS, uintptr, uintptr, Sqlite3_callback, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 440)) = Xsqlite3_exec // sqlite3.c:129078:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 448)) = Xsqlite3_expired // sqlite3.c:129080:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 456)) = Xsqlite3_finalize // sqlite3.c:129084:3: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 464)) = Xsqlite3_free // sqlite3.c:129085:3: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 472)) = Xsqlite3_free_table // sqlite3.c:129086:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 480)) = Xsqlite3_get_autocommit // sqlite3.c:129087:3: - *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 488)) = Xsqlite3_get_auxdata // sqlite3.c:129088:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 496)) = Xsqlite3_get_table // sqlite3.c:129089:3: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 512)) = Xsqlite3_interrupt // sqlite3.c:129091:3: - *(*func(*libc.TLS, uintptr) Sqlite3_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 520)) = Xsqlite3_last_insert_rowid // sqlite3.c:129092:3: - *(*func(*libc.TLS) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 528)) = Xsqlite3_libversion // sqlite3.c:129093:3: - *(*func(*libc.TLS) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 536)) = Xsqlite3_libversion_number // sqlite3.c:129094:3: - *(*func(*libc.TLS, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 544)) = Xsqlite3_malloc // sqlite3.c:129095:3: - *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 552)) = Xsqlite3_mprintf // sqlite3.c:129096:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 560)) = Xsqlite3_open // sqlite3.c:129097:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 568)) = Xsqlite3_open16 // sqlite3.c:129098:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 576)) = Xsqlite3_prepare // sqlite3.c:129099:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 584)) = Xsqlite3_prepare16 // sqlite3.c:129100:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 592)) = Xsqlite3_profile // sqlite3.c:129101:3: - *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 600)) = Xsqlite3_progress_handler // sqlite3.c:129102:3: - *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 608)) = Xsqlite3_realloc // sqlite3.c:129103:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 616)) = Xsqlite3_reset // sqlite3.c:129104:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 624)) = Xsqlite3_result_blob // sqlite3.c:129105:3: - *(*func(*libc.TLS, uintptr, float64))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 632)) = Xsqlite3_result_double // sqlite3.c:129106:3: - *(*func(*libc.TLS, uintptr, uintptr, int32))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 640)) = Xsqlite3_result_error // sqlite3.c:129107:3: - *(*func(*libc.TLS, uintptr, uintptr, int32))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 648)) = Xsqlite3_result_error16 // sqlite3.c:129108:3: - *(*func(*libc.TLS, uintptr, int32))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 656)) = Xsqlite3_result_int // sqlite3.c:129109:3: - *(*func(*libc.TLS, uintptr, I64))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 664)) = Xsqlite3_result_int64 // sqlite3.c:129110:3: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 672)) = Xsqlite3_result_null // sqlite3.c:129111:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 680)) = Xsqlite3_result_text // sqlite3.c:129112:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 688)) = Xsqlite3_result_text16 // sqlite3.c:129113:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 696)) = Xsqlite3_result_text16be // sqlite3.c:129114:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 704)) = Xsqlite3_result_text16le // sqlite3.c:129115:3: - *(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 712)) = Xsqlite3_result_value // sqlite3.c:129116:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 720)) = Xsqlite3_rollback_hook // sqlite3.c:129117:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 728)) = Xsqlite3_set_authorizer // sqlite3.c:129118:3: - *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 736)) = Xsqlite3_set_auxdata // sqlite3.c:129119:3: - *(*func(*libc.TLS, int32, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 744)) = Xsqlite3_snprintf // sqlite3.c:129120:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 752)) = Xsqlite3_step // sqlite3.c:129121:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr, uintptr, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 760)) = Xsqlite3_table_column_metadata // sqlite3.c:129122:3: - *(*func(*libc.TLS))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 768)) = Xsqlite3_thread_cleanup // sqlite3.c:129124:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 776)) = Xsqlite3_total_changes // sqlite3.c:129128:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 784)) = Xsqlite3_trace // sqlite3.c:129129:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 792)) = Xsqlite3_transfer_bindings // sqlite3.c:129131:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 800)) = Xsqlite3_update_hook // sqlite3.c:129135:3: - *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 808)) = Xsqlite3_user_data // sqlite3.c:129136:3: - *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 816)) = Xsqlite3_value_blob // sqlite3.c:129137:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 824)) = Xsqlite3_value_bytes // sqlite3.c:129138:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 832)) = Xsqlite3_value_bytes16 // sqlite3.c:129139:3: - *(*func(*libc.TLS, uintptr) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 840)) = Xsqlite3_value_double // sqlite3.c:129140:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 848)) = Xsqlite3_value_int // sqlite3.c:129141:3: - *(*func(*libc.TLS, uintptr) Sqlite_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 856)) = Xsqlite3_value_int64 // sqlite3.c:129142:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 864)) = Xsqlite3_value_numeric_type // sqlite3.c:129143:3: - *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 872)) = Xsqlite3_value_text // sqlite3.c:129144:3: - *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 880)) = Xsqlite3_value_text16 // sqlite3.c:129145:3: - *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 888)) = Xsqlite3_value_text16be // sqlite3.c:129146:3: - *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 896)) = Xsqlite3_value_text16le // sqlite3.c:129147:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 904)) = Xsqlite3_value_type // sqlite3.c:129148:3: - *(*func(*libc.TLS, uintptr, Va_list) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 912)) = Xsqlite3_vmprintf // sqlite3.c:129149:3: - *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 920)) = Xsqlite3_overload_function // sqlite3.c:129158:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 928)) = Xsqlite3_prepare_v2 // sqlite3.c:129163:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 936)) = Xsqlite3_prepare16_v2 // sqlite3.c:129164:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 944)) = Xsqlite3_clear_bindings // sqlite3.c:129165:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 952)) = Xsqlite3_create_module_v2 // sqlite3.c:129170:3: - *(*func(*libc.TLS, uintptr, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 960)) = Xsqlite3_bind_zeroblob // sqlite3.c:129175:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 968)) = Xsqlite3_blob_bytes // sqlite3.c:129176:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 976)) = Xsqlite3_blob_close // sqlite3.c:129177:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr, Sqlite_int64, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 984)) = Xsqlite3_blob_open // sqlite3.c:129178:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 992)) = Xsqlite3_blob_read // sqlite3.c:129179:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1000)) = Xsqlite3_blob_write // sqlite3.c:129180:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1008)) = Xsqlite3_create_collation_v2 // sqlite3.c:129181:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1016)) = Xsqlite3_file_control // sqlite3.c:129182:3: - *(*func(*libc.TLS, int32) Sqlite3_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1024)) = Xsqlite3_memory_highwater // sqlite3.c:129183:3: - *(*func(*libc.TLS) Sqlite3_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1032)) = Xsqlite3_memory_used // sqlite3.c:129184:3: - *(*func(*libc.TLS, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1040)) = Xsqlite3_mutex_alloc // sqlite3.c:129192:3: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1048)) = Xsqlite3_mutex_enter // sqlite3.c:129193:3: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1056)) = Xsqlite3_mutex_free // sqlite3.c:129194:3: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1064)) = Xsqlite3_mutex_leave // sqlite3.c:129195:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1072)) = Xsqlite3_mutex_try // sqlite3.c:129196:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1080)) = Xsqlite3_open_v2 // sqlite3.c:129198:3: - *(*func(*libc.TLS, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1088)) = Xsqlite3_release_memory // sqlite3.c:129199:3: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1096)) = Xsqlite3_result_error_nomem // sqlite3.c:129200:3: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1104)) = Xsqlite3_result_error_toobig // sqlite3.c:129201:3: - *(*func(*libc.TLS, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1112)) = Xsqlite3_sleep // sqlite3.c:129202:3: - *(*func(*libc.TLS, int32))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1120)) = Xsqlite3_soft_heap_limit // sqlite3.c:129203:3: - *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1128)) = Xsqlite3_vfs_find // sqlite3.c:129204:3: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1136)) = Xsqlite3_vfs_register // sqlite3.c:129205:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1144)) = Xsqlite3_vfs_unregister // sqlite3.c:129206:3: - *(*func(*libc.TLS) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1152)) = Xsqlite3_threadsafe // sqlite3.c:129211:3: - *(*func(*libc.TLS, uintptr, int32))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1160)) = Xsqlite3_result_zeroblob // sqlite3.c:129212:3: - *(*func(*libc.TLS, uintptr, int32))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1168)) = Xsqlite3_result_error_code // sqlite3.c:129213:3: - *(*func(*libc.TLS, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1176)) = Xsqlite3_test_control // sqlite3.c:129214:3: - *(*func(*libc.TLS, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1184)) = Xsqlite3_randomness // sqlite3.c:129215:3: - *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1192)) = Xsqlite3_context_db_handle // sqlite3.c:129216:3: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1200)) = Xsqlite3_extended_result_codes // sqlite3.c:129221:3: - *(*func(*libc.TLS, uintptr, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1208)) = Xsqlite3_limit // sqlite3.c:129222:3: - *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1216)) = Xsqlite3_next_stmt // sqlite3.c:129223:3: - *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1224)) = Xsqlite3_sql // sqlite3.c:129224:3: - *(*func(*libc.TLS, int32, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1232)) = Xsqlite3_status // sqlite3.c:129225:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1240)) = Xsqlite3_backup_finish // sqlite3.c:129230:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1248)) = Xsqlite3_backup_init // sqlite3.c:129231:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1256)) = Xsqlite3_backup_pagecount // sqlite3.c:129232:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1264)) = Xsqlite3_backup_remaining // sqlite3.c:129233:3: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1272)) = Xsqlite3_backup_step // sqlite3.c:129234:3: - *(*func(*libc.TLS, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1280)) = Xsqlite3_compileoption_get // sqlite3.c:129236:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1288)) = Xsqlite3_compileoption_used // sqlite3.c:129237:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, int32, uintptr, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1296)) = Xsqlite3_create_function_v2 // sqlite3.c:129242:3: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1304)) = Xsqlite3_db_config // sqlite3.c:129243:3: - *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1312)) = Xsqlite3_db_mutex // sqlite3.c:129244:3: - *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1320)) = Xsqlite3_db_status // sqlite3.c:129245:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1328)) = Xsqlite3_extended_errcode // sqlite3.c:129246:3: - *(*func(*libc.TLS, int32, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1336)) = Xsqlite3_log // sqlite3.c:129247:3: - *(*func(*libc.TLS, Sqlite3_int64) Sqlite3_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1344)) = Xsqlite3_soft_heap_limit64 // sqlite3.c:129248:3: - *(*func(*libc.TLS) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1352)) = Xsqlite3_sourceid // sqlite3.c:129249:3: - *(*func(*libc.TLS, uintptr, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1360)) = Xsqlite3_stmt_status // sqlite3.c:129250:3: - *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1368)) = Xsqlite3_strnicmp // sqlite3.c:129251:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1376)) = Xsqlite3_unlock_notify // sqlite3.c:129253:3: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1384)) = Xsqlite3_wal_autocheckpoint // sqlite3.c:129258:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1392)) = Xsqlite3_wal_checkpoint // sqlite3.c:129259:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1400)) = Xsqlite3_wal_hook // sqlite3.c:129260:3: - *(*func(*libc.TLS, uintptr, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1408)) = Xsqlite3_blob_reopen // sqlite3.c:129266:3: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1416)) = Xsqlite3_vtab_config // sqlite3.c:129267:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1424)) = Xsqlite3_vtab_on_conflict // sqlite3.c:129268:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1432)) = Xsqlite3_close_v2 // sqlite3.c:129269:3: - *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1440)) = Xsqlite3_db_filename // sqlite3.c:129270:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1448)) = Xsqlite3_db_readonly // sqlite3.c:129271:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1456)) = Xsqlite3_db_release_memory // sqlite3.c:129272:3: - *(*func(*libc.TLS, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1464)) = Xsqlite3_errstr // sqlite3.c:129273:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1472)) = Xsqlite3_stmt_busy // sqlite3.c:129274:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1480)) = Xsqlite3_stmt_readonly // sqlite3.c:129275:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1488)) = Xsqlite3_stricmp // sqlite3.c:129276:3: - *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1496)) = Xsqlite3_uri_boolean // sqlite3.c:129277:3: - *(*func(*libc.TLS, uintptr, uintptr, Sqlite3_int64) Sqlite3_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1504)) = Xsqlite3_uri_int64 // sqlite3.c:129278:3: - *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1512)) = Xsqlite3_uri_parameter // sqlite3.c:129279:3: - *(*func(*libc.TLS, int32, uintptr, uintptr, Va_list) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1520)) = Xsqlite3_vsnprintf // sqlite3.c:129280:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1528)) = Xsqlite3_wal_checkpoint_v2 // sqlite3.c:129281:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1536)) = Xsqlite3_auto_extension // sqlite3.c:129283:3: - *(*func(*libc.TLS, uintptr, int32, uintptr, Sqlite3_uint64, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1544)) = Xsqlite3_bind_blob64 // sqlite3.c:129284:3: - *(*func(*libc.TLS, uintptr, int32, uintptr, Sqlite3_uint64, uintptr, uint8) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1552)) = Xsqlite3_bind_text64 // sqlite3.c:129285:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1560)) = Xsqlite3_cancel_auto_extension // sqlite3.c:129286:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1568)) = Xsqlite3_load_extension // sqlite3.c:129287:3: - *(*func(*libc.TLS, Sqlite3_uint64) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1576)) = Xsqlite3_malloc64 // sqlite3.c:129288:3: - *(*func(*libc.TLS, uintptr) Sqlite3_uint64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1584)) = Xsqlite3_msize // sqlite3.c:129289:3: - *(*func(*libc.TLS, uintptr, Sqlite3_uint64) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1592)) = Xsqlite3_realloc64 // sqlite3.c:129290:3: - *(*func(*libc.TLS))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1600)) = Xsqlite3_reset_auto_extension // sqlite3.c:129291:3: - *(*func(*libc.TLS, uintptr, uintptr, Sqlite3_uint64, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1608)) = Xsqlite3_result_blob64 // sqlite3.c:129292:3: - *(*func(*libc.TLS, uintptr, uintptr, Sqlite3_uint64, uintptr, uint8))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1616)) = Xsqlite3_result_text64 // sqlite3.c:129293:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1624)) = Xsqlite3_strglob // sqlite3.c:129294:3: + *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 0)) = Xsqlite3_aggregate_context // sqlite3.c:129032:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 8)) = Xsqlite3_aggregate_count // sqlite3.c:129034:3: + *(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 16)) = Xsqlite3_bind_blob // sqlite3.c:129038:3: + *(*func(*libc.TLS, uintptr, int32, float64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 24)) = Xsqlite3_bind_double // sqlite3.c:129039:3: + *(*func(*libc.TLS, uintptr, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 32)) = Xsqlite3_bind_int // sqlite3.c:129040:3: + *(*func(*libc.TLS, uintptr, int32, Sqlite_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 40)) = Xsqlite3_bind_int64 // sqlite3.c:129041:3: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 48)) = Xsqlite3_bind_null // sqlite3.c:129042:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 56)) = Xsqlite3_bind_parameter_count // sqlite3.c:129043:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 64)) = Xsqlite3_bind_parameter_index // sqlite3.c:129044:3: + *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 72)) = Xsqlite3_bind_parameter_name // sqlite3.c:129045:3: + *(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 80)) = Xsqlite3_bind_text // sqlite3.c:129046:3: + *(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 88)) = Xsqlite3_bind_text16 // sqlite3.c:129047:3: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 96)) = Xsqlite3_bind_value // sqlite3.c:129048:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 104)) = Xsqlite3_busy_handler // sqlite3.c:129049:3: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 112)) = Xsqlite3_busy_timeout // sqlite3.c:129050:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 120)) = Xsqlite3_changes // sqlite3.c:129051:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 128)) = Xsqlite3_close // sqlite3.c:129052:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 136)) = Xsqlite3_collation_needed // sqlite3.c:129053:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 144)) = Xsqlite3_collation_needed16 // sqlite3.c:129054:3: + *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 152)) = Xsqlite3_column_blob // sqlite3.c:129055:3: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 160)) = Xsqlite3_column_bytes // sqlite3.c:129056:3: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 168)) = Xsqlite3_column_bytes16 // sqlite3.c:129057:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 176)) = Xsqlite3_column_count // sqlite3.c:129058:3: + *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 184)) = Xsqlite3_column_database_name // sqlite3.c:129059:3: + *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 192)) = Xsqlite3_column_database_name16 // sqlite3.c:129060:3: + *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 200)) = Xsqlite3_column_decltype // sqlite3.c:129061:3: + *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 208)) = Xsqlite3_column_decltype16 // sqlite3.c:129062:3: + *(*func(*libc.TLS, uintptr, int32) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 216)) = Xsqlite3_column_double // sqlite3.c:129063:3: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 224)) = Xsqlite3_column_int // sqlite3.c:129064:3: + *(*func(*libc.TLS, uintptr, int32) Sqlite_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 232)) = Xsqlite3_column_int64 // sqlite3.c:129065:3: + *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 240)) = Xsqlite3_column_name // sqlite3.c:129066:3: + *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 248)) = Xsqlite3_column_name16 // sqlite3.c:129067:3: + *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 256)) = Xsqlite3_column_origin_name // sqlite3.c:129068:3: + *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 264)) = Xsqlite3_column_origin_name16 // sqlite3.c:129069:3: + *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 272)) = Xsqlite3_column_table_name // sqlite3.c:129070:3: + *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 280)) = Xsqlite3_column_table_name16 // sqlite3.c:129071:3: + *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 288)) = Xsqlite3_column_text // sqlite3.c:129072:3: + *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 296)) = Xsqlite3_column_text16 // sqlite3.c:129073:3: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 304)) = Xsqlite3_column_type // sqlite3.c:129074:3: + *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 312)) = Xsqlite3_column_value // sqlite3.c:129075:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 320)) = Xsqlite3_commit_hook // sqlite3.c:129076:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 328)) = Xsqlite3_complete // sqlite3.c:129077:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 336)) = Xsqlite3_complete16 // sqlite3.c:129078:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 344)) = Xsqlite3_create_collation // sqlite3.c:129079:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 352)) = Xsqlite3_create_collation16 // sqlite3.c:129080:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, int32, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 360)) = Xsqlite3_create_function // sqlite3.c:129081:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, int32, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 368)) = Xsqlite3_create_function16 // sqlite3.c:129082:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 376)) = Xsqlite3_create_module // sqlite3.c:129083:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 384)) = Xsqlite3_data_count // sqlite3.c:129084:3: + *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 392)) = Xsqlite3_db_handle // sqlite3.c:129085:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 400)) = Xsqlite3_declare_vtab // sqlite3.c:129086:3: + *(*func(*libc.TLS, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 408)) = Xsqlite3_enable_shared_cache // sqlite3.c:129087:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 416)) = Xsqlite3_errcode // sqlite3.c:129088:3: + *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 424)) = Xsqlite3_errmsg // sqlite3.c:129089:3: + *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 432)) = Xsqlite3_errmsg16 // sqlite3.c:129090:3: + *(*func(*libc.TLS, uintptr, uintptr, Sqlite3_callback, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 440)) = Xsqlite3_exec // sqlite3.c:129091:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 448)) = Xsqlite3_expired // sqlite3.c:129093:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 456)) = Xsqlite3_finalize // sqlite3.c:129097:3: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 464)) = Xsqlite3_free // sqlite3.c:129098:3: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 472)) = Xsqlite3_free_table // sqlite3.c:129099:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 480)) = Xsqlite3_get_autocommit // sqlite3.c:129100:3: + *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 488)) = Xsqlite3_get_auxdata // sqlite3.c:129101:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 496)) = Xsqlite3_get_table // sqlite3.c:129102:3: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 512)) = Xsqlite3_interrupt // sqlite3.c:129104:3: + *(*func(*libc.TLS, uintptr) Sqlite3_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 520)) = Xsqlite3_last_insert_rowid // sqlite3.c:129105:3: + *(*func(*libc.TLS) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 528)) = Xsqlite3_libversion // sqlite3.c:129106:3: + *(*func(*libc.TLS) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 536)) = Xsqlite3_libversion_number // sqlite3.c:129107:3: + *(*func(*libc.TLS, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 544)) = Xsqlite3_malloc // sqlite3.c:129108:3: + *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 552)) = Xsqlite3_mprintf // sqlite3.c:129109:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 560)) = Xsqlite3_open // sqlite3.c:129110:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 568)) = Xsqlite3_open16 // sqlite3.c:129111:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 576)) = Xsqlite3_prepare // sqlite3.c:129112:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 584)) = Xsqlite3_prepare16 // sqlite3.c:129113:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 592)) = Xsqlite3_profile // sqlite3.c:129114:3: + *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 600)) = Xsqlite3_progress_handler // sqlite3.c:129115:3: + *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 608)) = Xsqlite3_realloc // sqlite3.c:129116:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 616)) = Xsqlite3_reset // sqlite3.c:129117:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 624)) = Xsqlite3_result_blob // sqlite3.c:129118:3: + *(*func(*libc.TLS, uintptr, float64))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 632)) = Xsqlite3_result_double // sqlite3.c:129119:3: + *(*func(*libc.TLS, uintptr, uintptr, int32))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 640)) = Xsqlite3_result_error // sqlite3.c:129120:3: + *(*func(*libc.TLS, uintptr, uintptr, int32))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 648)) = Xsqlite3_result_error16 // sqlite3.c:129121:3: + *(*func(*libc.TLS, uintptr, int32))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 656)) = Xsqlite3_result_int // sqlite3.c:129122:3: + *(*func(*libc.TLS, uintptr, I64))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 664)) = Xsqlite3_result_int64 // sqlite3.c:129123:3: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 672)) = Xsqlite3_result_null // sqlite3.c:129124:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 680)) = Xsqlite3_result_text // sqlite3.c:129125:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 688)) = Xsqlite3_result_text16 // sqlite3.c:129126:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 696)) = Xsqlite3_result_text16be // sqlite3.c:129127:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 704)) = Xsqlite3_result_text16le // sqlite3.c:129128:3: + *(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 712)) = Xsqlite3_result_value // sqlite3.c:129129:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 720)) = Xsqlite3_rollback_hook // sqlite3.c:129130:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 728)) = Xsqlite3_set_authorizer // sqlite3.c:129131:3: + *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 736)) = Xsqlite3_set_auxdata // sqlite3.c:129132:3: + *(*func(*libc.TLS, int32, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 744)) = Xsqlite3_snprintf // sqlite3.c:129133:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 752)) = Xsqlite3_step // sqlite3.c:129134:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr, uintptr, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 760)) = Xsqlite3_table_column_metadata // sqlite3.c:129135:3: + *(*func(*libc.TLS))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 768)) = Xsqlite3_thread_cleanup // sqlite3.c:129137:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 776)) = Xsqlite3_total_changes // sqlite3.c:129141:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 784)) = Xsqlite3_trace // sqlite3.c:129142:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 792)) = Xsqlite3_transfer_bindings // sqlite3.c:129144:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 800)) = Xsqlite3_update_hook // sqlite3.c:129148:3: + *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 808)) = Xsqlite3_user_data // sqlite3.c:129149:3: + *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 816)) = Xsqlite3_value_blob // sqlite3.c:129150:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 824)) = Xsqlite3_value_bytes // sqlite3.c:129151:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 832)) = Xsqlite3_value_bytes16 // sqlite3.c:129152:3: + *(*func(*libc.TLS, uintptr) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 840)) = Xsqlite3_value_double // sqlite3.c:129153:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 848)) = Xsqlite3_value_int // sqlite3.c:129154:3: + *(*func(*libc.TLS, uintptr) Sqlite_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 856)) = Xsqlite3_value_int64 // sqlite3.c:129155:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 864)) = Xsqlite3_value_numeric_type // sqlite3.c:129156:3: + *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 872)) = Xsqlite3_value_text // sqlite3.c:129157:3: + *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 880)) = Xsqlite3_value_text16 // sqlite3.c:129158:3: + *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 888)) = Xsqlite3_value_text16be // sqlite3.c:129159:3: + *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 896)) = Xsqlite3_value_text16le // sqlite3.c:129160:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 904)) = Xsqlite3_value_type // sqlite3.c:129161:3: + *(*func(*libc.TLS, uintptr, Va_list) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 912)) = Xsqlite3_vmprintf // sqlite3.c:129162:3: + *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 920)) = Xsqlite3_overload_function // sqlite3.c:129171:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 928)) = Xsqlite3_prepare_v2 // sqlite3.c:129176:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 936)) = Xsqlite3_prepare16_v2 // sqlite3.c:129177:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 944)) = Xsqlite3_clear_bindings // sqlite3.c:129178:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 952)) = Xsqlite3_create_module_v2 // sqlite3.c:129183:3: + *(*func(*libc.TLS, uintptr, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 960)) = Xsqlite3_bind_zeroblob // sqlite3.c:129188:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 968)) = Xsqlite3_blob_bytes // sqlite3.c:129189:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 976)) = Xsqlite3_blob_close // sqlite3.c:129190:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr, Sqlite_int64, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 984)) = Xsqlite3_blob_open // sqlite3.c:129191:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 992)) = Xsqlite3_blob_read // sqlite3.c:129192:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1000)) = Xsqlite3_blob_write // sqlite3.c:129193:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1008)) = Xsqlite3_create_collation_v2 // sqlite3.c:129194:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1016)) = Xsqlite3_file_control // sqlite3.c:129195:3: + *(*func(*libc.TLS, int32) Sqlite3_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1024)) = Xsqlite3_memory_highwater // sqlite3.c:129196:3: + *(*func(*libc.TLS) Sqlite3_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1032)) = Xsqlite3_memory_used // sqlite3.c:129197:3: + *(*func(*libc.TLS, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1040)) = Xsqlite3_mutex_alloc // sqlite3.c:129205:3: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1048)) = Xsqlite3_mutex_enter // sqlite3.c:129206:3: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1056)) = Xsqlite3_mutex_free // sqlite3.c:129207:3: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1064)) = Xsqlite3_mutex_leave // sqlite3.c:129208:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1072)) = Xsqlite3_mutex_try // sqlite3.c:129209:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1080)) = Xsqlite3_open_v2 // sqlite3.c:129211:3: + *(*func(*libc.TLS, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1088)) = Xsqlite3_release_memory // sqlite3.c:129212:3: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1096)) = Xsqlite3_result_error_nomem // sqlite3.c:129213:3: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1104)) = Xsqlite3_result_error_toobig // sqlite3.c:129214:3: + *(*func(*libc.TLS, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1112)) = Xsqlite3_sleep // sqlite3.c:129215:3: + *(*func(*libc.TLS, int32))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1120)) = Xsqlite3_soft_heap_limit // sqlite3.c:129216:3: + *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1128)) = Xsqlite3_vfs_find // sqlite3.c:129217:3: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1136)) = Xsqlite3_vfs_register // sqlite3.c:129218:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1144)) = Xsqlite3_vfs_unregister // sqlite3.c:129219:3: + *(*func(*libc.TLS) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1152)) = Xsqlite3_threadsafe // sqlite3.c:129224:3: + *(*func(*libc.TLS, uintptr, int32))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1160)) = Xsqlite3_result_zeroblob // sqlite3.c:129225:3: + *(*func(*libc.TLS, uintptr, int32))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1168)) = Xsqlite3_result_error_code // sqlite3.c:129226:3: + *(*func(*libc.TLS, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1176)) = Xsqlite3_test_control // sqlite3.c:129227:3: + *(*func(*libc.TLS, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1184)) = Xsqlite3_randomness // sqlite3.c:129228:3: + *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1192)) = Xsqlite3_context_db_handle // sqlite3.c:129229:3: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1200)) = Xsqlite3_extended_result_codes // sqlite3.c:129234:3: + *(*func(*libc.TLS, uintptr, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1208)) = Xsqlite3_limit // sqlite3.c:129235:3: + *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1216)) = Xsqlite3_next_stmt // sqlite3.c:129236:3: + *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1224)) = Xsqlite3_sql // sqlite3.c:129237:3: + *(*func(*libc.TLS, int32, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1232)) = Xsqlite3_status // sqlite3.c:129238:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1240)) = Xsqlite3_backup_finish // sqlite3.c:129243:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1248)) = Xsqlite3_backup_init // sqlite3.c:129244:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1256)) = Xsqlite3_backup_pagecount // sqlite3.c:129245:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1264)) = Xsqlite3_backup_remaining // sqlite3.c:129246:3: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1272)) = Xsqlite3_backup_step // sqlite3.c:129247:3: + *(*func(*libc.TLS, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1280)) = Xsqlite3_compileoption_get // sqlite3.c:129249:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1288)) = Xsqlite3_compileoption_used // sqlite3.c:129250:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, int32, uintptr, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1296)) = Xsqlite3_create_function_v2 // sqlite3.c:129255:3: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1304)) = Xsqlite3_db_config // sqlite3.c:129256:3: + *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1312)) = Xsqlite3_db_mutex // sqlite3.c:129257:3: + *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1320)) = Xsqlite3_db_status // sqlite3.c:129258:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1328)) = Xsqlite3_extended_errcode // sqlite3.c:129259:3: + *(*func(*libc.TLS, int32, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1336)) = Xsqlite3_log // sqlite3.c:129260:3: + *(*func(*libc.TLS, Sqlite3_int64) Sqlite3_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1344)) = Xsqlite3_soft_heap_limit64 // sqlite3.c:129261:3: + *(*func(*libc.TLS) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1352)) = Xsqlite3_sourceid // sqlite3.c:129262:3: + *(*func(*libc.TLS, uintptr, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1360)) = Xsqlite3_stmt_status // sqlite3.c:129263:3: + *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1368)) = Xsqlite3_strnicmp // sqlite3.c:129264:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1376)) = Xsqlite3_unlock_notify // sqlite3.c:129266:3: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1384)) = Xsqlite3_wal_autocheckpoint // sqlite3.c:129271:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1392)) = Xsqlite3_wal_checkpoint // sqlite3.c:129272:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1400)) = Xsqlite3_wal_hook // sqlite3.c:129273:3: + *(*func(*libc.TLS, uintptr, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1408)) = Xsqlite3_blob_reopen // sqlite3.c:129279:3: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1416)) = Xsqlite3_vtab_config // sqlite3.c:129280:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1424)) = Xsqlite3_vtab_on_conflict // sqlite3.c:129281:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1432)) = Xsqlite3_close_v2 // sqlite3.c:129282:3: + *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1440)) = Xsqlite3_db_filename // sqlite3.c:129283:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1448)) = Xsqlite3_db_readonly // sqlite3.c:129284:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1456)) = Xsqlite3_db_release_memory // sqlite3.c:129285:3: + *(*func(*libc.TLS, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1464)) = Xsqlite3_errstr // sqlite3.c:129286:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1472)) = Xsqlite3_stmt_busy // sqlite3.c:129287:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1480)) = Xsqlite3_stmt_readonly // sqlite3.c:129288:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1488)) = Xsqlite3_stricmp // sqlite3.c:129289:3: + *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1496)) = Xsqlite3_uri_boolean // sqlite3.c:129290:3: + *(*func(*libc.TLS, uintptr, uintptr, Sqlite3_int64) Sqlite3_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1504)) = Xsqlite3_uri_int64 // sqlite3.c:129291:3: + *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1512)) = Xsqlite3_uri_parameter // sqlite3.c:129292:3: + *(*func(*libc.TLS, int32, uintptr, uintptr, Va_list) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1520)) = Xsqlite3_vsnprintf // sqlite3.c:129293:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1528)) = Xsqlite3_wal_checkpoint_v2 // sqlite3.c:129294:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1536)) = Xsqlite3_auto_extension // sqlite3.c:129296:3: + *(*func(*libc.TLS, uintptr, int32, uintptr, Sqlite3_uint64, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1544)) = Xsqlite3_bind_blob64 // sqlite3.c:129297:3: + *(*func(*libc.TLS, uintptr, int32, uintptr, Sqlite3_uint64, uintptr, uint8) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1552)) = Xsqlite3_bind_text64 // sqlite3.c:129298:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1560)) = Xsqlite3_cancel_auto_extension // sqlite3.c:129299:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1568)) = Xsqlite3_load_extension // sqlite3.c:129300:3: + *(*func(*libc.TLS, Sqlite3_uint64) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1576)) = Xsqlite3_malloc64 // sqlite3.c:129301:3: + *(*func(*libc.TLS, uintptr) Sqlite3_uint64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1584)) = Xsqlite3_msize // sqlite3.c:129302:3: + *(*func(*libc.TLS, uintptr, Sqlite3_uint64) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1592)) = Xsqlite3_realloc64 // sqlite3.c:129303:3: + *(*func(*libc.TLS))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1600)) = Xsqlite3_reset_auto_extension // sqlite3.c:129304:3: + *(*func(*libc.TLS, uintptr, uintptr, Sqlite3_uint64, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1608)) = Xsqlite3_result_blob64 // sqlite3.c:129305:3: + *(*func(*libc.TLS, uintptr, uintptr, Sqlite3_uint64, uintptr, uint8))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1616)) = Xsqlite3_result_text64 // sqlite3.c:129306:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1624)) = Xsqlite3_strglob // sqlite3.c:129307:3: *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1632 /* .value_dup */)) = *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr) uintptr - }{Xsqlite3_value_dup})) // sqlite3.c:129296:3: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1640)) = Xsqlite3_value_free // sqlite3.c:129297:3: - *(*func(*libc.TLS, uintptr, U64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1648)) = Xsqlite3_result_zeroblob64 // sqlite3.c:129298:3: - *(*func(*libc.TLS, uintptr, int32, Sqlite3_uint64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1656)) = Xsqlite3_bind_zeroblob64 // sqlite3.c:129299:3: - *(*func(*libc.TLS, uintptr) uint32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1664)) = Xsqlite3_value_subtype // sqlite3.c:129301:3: - *(*func(*libc.TLS, uintptr, uint32))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1672)) = Xsqlite3_result_subtype // sqlite3.c:129302:3: - *(*func(*libc.TLS, int32, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1680)) = Xsqlite3_status64 // sqlite3.c:129304:3: - *(*func(*libc.TLS, uintptr, uintptr, uint32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1688)) = Xsqlite3_strlike // sqlite3.c:129305:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1696)) = Xsqlite3_db_cacheflush // sqlite3.c:129306:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1704)) = Xsqlite3_system_errno // sqlite3.c:129308:3: - *(*func(*libc.TLS, uintptr, uint32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1712)) = Xsqlite3_trace_v2 // sqlite3.c:129310:3: - *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1720)) = Xsqlite3_expanded_sql // sqlite3.c:129311:3: - *(*func(*libc.TLS, uintptr, Sqlite3_int64))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1728)) = Xsqlite3_set_last_insert_rowid // sqlite3.c:129313:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uint32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1736)) = Xsqlite3_prepare_v3 // sqlite3.c:129315:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uint32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1744)) = Xsqlite3_prepare16_v3 // sqlite3.c:129316:3: - *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1752)) = Xsqlite3_bind_pointer // sqlite3.c:129317:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1760)) = Xsqlite3_result_pointer // sqlite3.c:129318:3: - *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1768)) = Xsqlite3_value_pointer // sqlite3.c:129319:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1776)) = Xsqlite3_vtab_nochange // sqlite3.c:129321:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1784)) = Xsqlite3_value_nochange // sqlite3.c:129322:3: - *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1792)) = Xsqlite3_vtab_collation // sqlite3.c:129323:3: - *(*func(*libc.TLS) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1800)) = Xsqlite3_keyword_count // sqlite3.c:129325:3: - *(*func(*libc.TLS, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1808)) = Xsqlite3_keyword_name // sqlite3.c:129326:3: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1816)) = Xsqlite3_keyword_check // sqlite3.c:129327:3: - *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1824)) = Xsqlite3_str_new // sqlite3.c:129328:3: - *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1832)) = Xsqlite3_str_finish // sqlite3.c:129329:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1840)) = Xsqlite3_str_appendf // sqlite3.c:129330:3: - *(*func(*libc.TLS, uintptr, uintptr, Va_list))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1848)) = Xsqlite3_str_vappendf // sqlite3.c:129331:3: - *(*func(*libc.TLS, uintptr, uintptr, int32))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1856)) = Xsqlite3_str_append // sqlite3.c:129332:3: - *(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1864)) = Xsqlite3_str_appendall // sqlite3.c:129333:3: - *(*func(*libc.TLS, uintptr, int32, int8))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1872)) = Xsqlite3_str_appendchar // sqlite3.c:129334:3: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1880)) = Xsqlite3_str_reset // sqlite3.c:129335:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1888)) = Xsqlite3_str_errcode // sqlite3.c:129336:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1896)) = Xsqlite3_str_length // sqlite3.c:129337:3: - *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1904)) = Xsqlite3_str_value // sqlite3.c:129338:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, int32, uintptr, uintptr, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1912)) = Xsqlite3_create_window_function // sqlite3.c:129340:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1928)) = Xsqlite3_stmt_isexplain // sqlite3.c:129348:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1936)) = Xsqlite3_value_frombind // sqlite3.c:129349:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1944)) = Xsqlite3_drop_modules // sqlite3.c:129352:3: - *(*func(*libc.TLS, Sqlite3_int64) Sqlite3_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1952)) = Xsqlite3_hard_heap_limit64 // sqlite3.c:129357:3: - *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1960)) = Xsqlite3_uri_key // sqlite3.c:129358:3: - *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1968)) = Xsqlite3_filename_database // sqlite3.c:129359:3: - *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1976)) = Xsqlite3_filename_journal // sqlite3.c:129360:3: - *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1984)) = Xsqlite3_filename_wal // sqlite3.c:129361:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1992)) = Xsqlite3_create_filename // sqlite3.c:129363:3: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 2000)) = Xsqlite3_free_filename // sqlite3.c:129364:3: - *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 2008)) = Xsqlite3_database_file_object // sqlite3.c:129365:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 2016)) = Xsqlite3_txn_state // sqlite3.c:129367:3: - *(*func(*libc.TLS, uintptr) Sqlite3_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 2024)) = Xsqlite3_changes64 // sqlite3.c:129369:3: - *(*func(*libc.TLS, uintptr) Sqlite3_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 2032)) = Xsqlite3_total_changes64 // sqlite3.c:129370:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 2040)) = Xsqlite3_autovacuum_pages // sqlite3.c:129372:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 2048)) = Xsqlite3_error_offset // sqlite3.c:129374:3: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 2056)) = Xsqlite3_vtab_rhs_value // sqlite3.c:129375:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 2064)) = Xsqlite3_vtab_distinct // sqlite3.c:129376:3: - *(*func(*libc.TLS, uintptr, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 2072)) = Xsqlite3_vtab_in // sqlite3.c:129377:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 2080)) = Xsqlite3_vtab_in_first // sqlite3.c:129378:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 2088)) = Xsqlite3_vtab_in_next // sqlite3.c:129379:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3BuiltinExtensions)) + 0)) = Xsqlite3Fts5Init // sqlite3.c:168488:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3BuiltinExtensions)) + 8)) = Xsqlite3RtreeInit // sqlite3.c:168494:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3BuiltinExtensions)) + 16)) = sqlite3TestExtInit // sqlite3.c:168502:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3BuiltinExtensions)) + 24)) = Xsqlite3JsonTableFunctions // sqlite3.c:168504:3: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&statGetFuncdef)) + 24)) = statGet // sqlite3.c:111993:3: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&statInitFuncdef)) + 24)) = statInit // sqlite3.c:111569:3: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&statPushFuncdef)) + 24)) = statPush // sqlite3.c:111859:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 40)) = rbuVfsOpen // sqlite3.c:208888:5: - *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 48)) = rbuVfsDelete // sqlite3.c:208889:5: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 56)) = rbuVfsAccess // sqlite3.c:208890:5: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 64)) = rbuVfsFullPathname // sqlite3.c:208891:5: - *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 72)) = rbuVfsDlOpen // sqlite3.c:208894:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 80)) = rbuVfsDlError // sqlite3.c:208895:5: - *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 88)) = rbuVfsDlSym // sqlite3.c:208896:5: - *(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 96)) = rbuVfsDlClose // sqlite3.c:208897:5: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 104)) = rbuVfsRandomness // sqlite3.c:208902:5: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 112)) = rbuVfsSleep // sqlite3.c:208903:5: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 120)) = rbuVfsCurrentTime // sqlite3.c:208904:5: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 128)) = rbuVfsGetLastError // sqlite3.c:208905:5: -} - -var ts1 = "3.38.1\x00ATOMIC_INTRINSICS=0\x00COMPILER=clang-11.1.0\x00DEFAULT_AUTOVACUUM\x00DEFAULT_CACHE_SIZE=-2000\x00DEFAULT_FILE_FORMAT=4\x00DEFAULT_JOURNAL_SIZE_LIMIT=-1\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\x00ENABLE_COLUMN_METADATA\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=127\x00MAX_LENGTH=1000000000\x00MAX_LIKE_PATTERN_LENGTH=50000\x00MAX_MMAP_SIZE=0\x00MAX_PAGE_COUNT=1073741823\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\x00BINARY\x00ANY\x00BLOB\x00INT\x00INTEGER\x00REAL\x00TEXT\x0020b:20e\x0020c:20e\x0020e\x0040f-21a-21d\x00now\x00local time unavailable\x00second\x00minute\x00hour\x00\x00\x00day\x00\x00\x00\x00month\x00\x00year\x00\x00\x00auto\x00julianday\x00localtime\x00unixepoch\x00utc\x00weekday \x00start of \x00month\x00year\x00day\x00%02d\x00%06.3f\x00%03d\x00%.16g\x00%lld\x00%04d\x00date\x00time\x00datetime\x00strftime\x00current_time\x00current_timestamp\x00current_date\x00failed to allocate %u bytes of memory\x00failed memory resize %u to %u bytes\x00out of memory\x000123456789ABCDEF0123456789abcdef\x00-x0\x00X0\x00%\x00NaN\x00Inf\x00\x00NULL\x00(NULL)\x00.\x00SUBQUERY %u\x00thstndrd\x00922337203685477580\x00API call with %s database connection pointer\x00unopened\x00invalid\x00Savepoint\x00AutoCommit\x00Transaction\x00SorterNext\x00Prev\x00Next\x00Checkpoint\x00JournalMode\x00Vacuum\x00VFilter\x00VUpdate\x00Goto\x00Gosub\x00InitCoroutine\x00Yield\x00MustBeInt\x00Jump\x00Once\x00If\x00Not\x00IfNot\x00IsNullOrType\x00IfNullRow\x00SeekLT\x00SeekLE\x00SeekGE\x00SeekGT\x00IfNotOpen\x00IfNoHope\x00NoConflict\x00NotFound\x00Found\x00SeekRowid\x00NotExists\x00Last\x00IfSmaller\x00SorterSort\x00Sort\x00Rewind\x00IdxLE\x00IdxGT\x00IdxLT\x00IdxGE\x00Or\x00And\x00RowSetRead\x00RowSetTest\x00Program\x00FkIfZero\x00IfPos\x00IsNull\x00NotNull\x00Ne\x00Eq\x00Gt\x00Le\x00Lt\x00Ge\x00ElseEq\x00IfNotZero\x00DecrJumpZero\x00IncrVacuum\x00VNext\x00Filter\x00Init\x00PureFunc\x00Function\x00Return\x00EndCoroutine\x00HaltIfNull\x00Halt\x00Integer\x00Int64\x00String\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\x00VInitIn\x00VColumn\x00VRename\x00Pagecount\x00MaxPgcnt\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\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\x00SQLite format 3\x00:memory:\x00@ \x00\n\x00invalid page number %d\x002nd reference to page %d\x00Failed to read ptrmap key=%d\x00Bad ptr map entry key=%d expected=(%d,%d) got=(%d,%d)\x00failed to get page %d\x00freelist leaf count too big on page %d\x00%s is %d but should be %d\x00size\x00overflow list length\x00Page %u: \x00unable to get the page. error code=%d\x00btreeInitPage() returns error code %d\x00free space corruption\x00On tree page %u cell %d: \x00On page %u at right child: \x00Offset %d out of range %d..%d\x00Extends off end of page\x00Rowid %lld out of order\x00Child page depth differs\x00Multiple uses for byte %u of page %u\x00Fragmentation of %d bytes reported as %d on page %u\x00Main freelist: \x00max rootpage (%d) disagrees with header (%d)\x00incremental_vacuum enabled with a max rootpage of zero\x00Page %d is never used\x00Pointer map page %d is referenced\x00unknown database %s\x00destination database is in use\x00source and destination must be distinct\x00%!.15g\x00-\x00%s%s\x00k(%d\x00B\x00,%s%s%s\x00N.\x00)\x00%.18s-%s\x00%s(%d)\x00%d\x00(blob)\x00vtab:%p\x00%c%u\x00]\x00program\x00?\x008\x0016LE\x0016BE\x00addr\x00opcode\x00p1\x00p2\x00p3\x00p4\x00p5\x00comment\x00id\x00parent\x00notused\x00detail\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\x00ValueList\x00bind on a busy prepared statement: [%s]\x00-- \x00'%.*q'\x00zeroblob(%d)\x00x'\x00%02x\x00'\x00%s constraint failed\x00%z: %s\x00abort at %d in [%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\x00cannot change %s wal mode from within a transaction\x00into\x00out of\x00database table is locked: %s\x00-- %s\x00statement aborts at %d: [%s] %s\x00NOT NULL\x00UNIQUE\x00CHECK\x00FOREIGN KEY\x00cannot open value of type %s\x00null\x00real\x00integer\x00no such rowid: %lld\x00cannot open virtual table: %s\x00cannot open table without rowid: %s\x00cannot open view: %s\x00no such column: \"%s\"\x00foreign key\x00indexed\x00cannot open %s column for writing\x00main\x00*\x00new\x00old\x00excluded\x00misuse of aliased aggregate %s\x00misuse of aliased window function %s\x00row value misused\x00double-quoted string literal: \"%w\"\x00no such column\x00ambiguous column name\x00%s: %s.%s.%s\x00%s: %s.%s\x00%s: %s\x00partial index WHERE clauses\x00index expressions\x00CHECK constraints\x00generated columns\x00%s prohibited in %s\x00true\x00false\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\x00a GROUP BY clause is required before HAVING\x00GROUP\x00aggregate functions are not allowed in the GROUP BY clause\x00Expression tree is too large (maximum depth %d)\x00IN(...) element has %d term%s - expected %d\x00s\x000\x00too many arguments on function %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\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\x00%sLIST SUBQUERY %d\x00CORRELATED \x00REUSE SUBQUERY %d\x00%sSCALAR SUBQUERY %d\x001\x000x\x00hex literal too big: %s%#T\x00generated column loop on \"%s\"\x00blob\x00text\x00numeric\x00none\x00misuse of aggregate: %#T()\x00unknown function: %#T()\x00RAISE() may only be used within a trigger-program\x00B\x00C\x00D\x00E\x00sqlite_\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') ELSE raise(ABORT,'NOT NULL constraint failed') END FROM pragma_quick_check(%Q,%Q) WHERE quick_check GLOB 'CHECK*' OR quick_check GLOB 'NULL*'\x00virtual tables may not be altered\x00Cannot add a column to a view\x00sqlite_altertab_%s\x00view\x00virtual table\x00cannot %s %s \"%s\"\x00drop column from\x00rename columns of\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')\x00error in %s %s%s%s: %s\x00 \x00CREATE \x00\"%w\" \x00%Q%s\x00%.*s%s\x00cannot drop %s column: \"%s\"\x00PRIMARY KEY\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\x00CREATE TABLE %Q.%s(%s)\x00DELETE FROM %Q.%s WHERE %s=%Q\x00DELETE FROM %Q.%s\x00sqlite_stat1\x00tbl,idx,stat\x00sqlite_stat4\x00tbl,idx,neq,nlt,ndlt,sample\x00sqlite_stat3\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\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\x00sqlite_temp_schema\x00sqlite_schema\x00sqlite_temp_master\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\x00sqlite_returning\x00cannot use RETURNING in a trigger\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'\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\x00unsupported use of NULLS %s\x00FIRST\x00LAST\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\x00CREATE%s INDEX %.*s\x00 UNIQUE\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\x00a JOIN clause is required before %s\x00ON\x00USING\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\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%!.20e\x00%Q\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\x00instr\x00printf\x00format\x00unicode\x00char\x00abs\x00round\x00upper\x00lower\x00hex\x00ifnull\x00random\x00randomblob\x00nullif\x00sqlite_version\x00sqlite_source_id\x00sqlite_log\x00quote\x00last_insert_rowid\x00changes\x00total_changes\x00replace\x00zeroblob\x00substr\x00substring\x00sum\x00total\x00avg\x00count\x00group_concat\x00glob\x00coalesce\x00ceil\x00ceiling\x00floor\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\x00foreign key mismatch - \"%w\" referencing \"%w\"\x00cannot INSERT into generated column \"%s\"\x00table %S has no column named %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\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]\x00so\x00automatic extension loading failed: %s\x00seq\x00from\x00to\x00on_update\x00on_delete\x00match\x00cid\x00name\x00type\x00notnull\x00dflt_value\x00pk\x00hidden\x00schema\x00ncol\x00wr\x00strict\x00seqno\x00desc\x00coll\x00key\x00builtin\x00enc\x00narg\x00flags\x00wdth\x00hght\x00flgs\x00unique\x00origin\x00partial\x00rowid\x00fkid\x00file\x00busy\x00checkpointed\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\x00onoffalseyestruextrafull\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\x00w\x00a\x00sissii\x00utf8\x00utf16le\x00utf16be\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\x00NULL value in %s.%s\x00non-%s value in %s.%s\x00CHECK constraint failed in %s\x00row \x00 missing from index \x00non-unique entry in index \x00wrong # of entries in index \x00ok\x00unsupported encoding: %s\x00restart\x00ANALYZE \"%w\".\"%w\"\x00UTF8\x00UTF-8\x00UTF-16le\x00UTF-16be\x00UTF16le\x00UTF16be\x00UTF-16\x00UTF16\x00CREATE TABLE x\x00%c\"%s\"\x00(\"%s\"\x00,arg HIDDEN\x00,schema HIDDEN\x00PRAGMA \x00%Q.\x00=%Q\x00error in %s %s after %s: %s\x00malformed database schema (%s)\x00%z - %s\x00rename\x00drop column\x00add column\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 or unsupported join type: %T %T%s%T\x00RIGHT and FULL OUTER JOINs are not currently supported\x00naturaleftouterightfullinnercross\x00a NATURAL join may not have an ON or USING clause\x00cannot have both ON and USING clauses in the same join\x00cannot join using column %s - column not present in both tables\x00UNION ALL\x00INTERSECT\x00EXCEPT\x00UNION\x00USE TEMP B-TREE FOR %s\x00column%d\x00%.*z:%u\x00cannot use window functions in recursive queries\x00recursive aggregate queries not supported\x00SETUP\x00RECURSIVE STEP\x00SCAN %d CONSTANT ROW%s\x00S\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\x00subquery_%u\x00too many references to \"%s\": max 65535\x00access to view \"%s\" prohibited\x00unsafe use of virtual table \"%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)\x00SCAN %s%s%s\x00 USING COVERING INDEX \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\x00RIGHT PART OF ORDER BY\x00ORDER 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\x00trigger %T already exists\x00cannot create trigger on system table\x00cannot create %s trigger on view: %S\x00BEFORE\x00AFTER\x00cannot create INSTEAD OF trigger on 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'\x00%s RETURNING is not available on virtual tables\x00DELETE\x00UPDATE\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\x00ATTACH %Q AS vacuum_db\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 vacuum_db.'||quote(name)||' SELECT*FROM\"%w\".'||quote(name)FROM vacuum_db.sqlite_schema WHERE type='table'AND coalesce(rootpage,1)>0\x00INSERT INTO vacuum_db.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\x00\x00 AND \x00(\x00 (\x00%s=?\x00ANY(%s)\x00>\x00<\x00%s %S\x00SEARCH\x00SCAN\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 %d:%s\x00BLOOM FILTER ON %S (\x00rowid=?\x00MULTI-INDEX OR\x00INDEX %d\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\x00second argument to nth_value must be a positive integer\x00argument of ntile must be a positive integer\x00row_number\x00dense_rank\x00rank\x00percent_rank\x00cume_dist\x00ntile\x00last_value\x00nth_value\x00first_value\x00lead\x00lag\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\x00%s clause should come after %s not before\x00LIMIT\x00too many terms in compound SELECT\x00syntax error after column name \"%.*s\"\x00parser stack overflow\x00unknown table option: %.*s\x00set list\x00near \"%T\": syntax error\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\x00unknown error\x00abort due to ROLLBACK\x00another row available\x00no more rows available\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\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\x00mode\x00no such %s mode: %s\x00%s mode not allowed: %s\x00no such vfs: %s\x00shared\x00private\x00ro\x00rw\x00rwc\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\x000123456789abcdef\x00JSON cannot hold BLOB values\x00malformed JSON\x00[0]\x00JSON path error near '%q'\x00json_%s() needs an odd number of arguments\x00$[\x00$.\x00json_object() requires an even number of arguments\x00json_object() labels must be TEXT\x00set\x00insert\x00[]\x00{}\x00CREATE TABLE x(key,value,type,atom,id,parent,fullkey,path,json HIDDEN,root HIDDEN)\x00[%d]\x00.%.*s\x00$\x00json\x00json_array\x00json_array_length\x00json_extract\x00->\x00->>\x00json_insert\x00json_object\x00json_patch\x00json_quote\x00json_remove\x00json_replace\x00json_set\x00json_type\x00json_valid\x00json_group_array\x00json_group_object\x00json_each\x00json_tree\x00%s_node\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\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\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\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\x00CREATE TABLE x(%.*s INT\x00,%.*s\x00);\x00,%.*s REAL\x00,%.*s INT\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\x00Mapping (%lld -> %lld) missing from %s table\x00%_rowid\x00%_parent\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\x00END\x00wrong number of arguments to function rtreecheck()\x00[\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\x00geopoly_area\x00geopoly_blob\x00geopoly_json\x00geopoly_svg\x00geopoly_contains_point\x00geopoly_debug\x00geopoly_bbox\x00geopoly_xform\x00geopoly_regular\x00geopoly_ccw\x00geopoly_group_bbox\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;\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\x00AND rootpage!=0 AND rootpage IS NOT NULL\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\x00table %q %s rbu_rowid column\x00may not have\x00requires\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%z%s\"%w\" %s %sCOLLATE %Q%s\x00 NOT NULL\x00%z, %z\x00CREATE TABLE \"rbu_imp_%w\"(%z)%s\x00 WITHOUT ROWID\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\x00SELECT %s, 0 AS rbu_control FROM '%q' %s %s %s ORDER BY %s%s\x00AND\x00WHERE\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_\x00INSERT INTO \"%s%w\"(%s%s) VALUES(%s)\x00, _rowid_\x00DELETE FROM \"%s%w\" WHERE %s\x00, rbu_rowid\x00CREATE TABLE IF NOT EXISTS %s.'rbu_tmp_%q' AS SELECT *%s FROM '%q' WHERE 0;\x00, 0 AS rbu_rowid\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\x00SELECT %s,%s rbu_control%s FROM '%q'%s %s %s %s\x000 AS \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\x00file:%s-vactmp?rbu_memory=1%s%s\x00&\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, %d), (%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\x00database modified during rbu %s\x00vacuum\x00update\x00BEGIN IMMEDIATE\x00PRAGMA journal_mode=off\x00-vactmp\x00DELETE FROM stat.rbu_state\x00rbu/zipvfs setup error\x00rbu(%s)/%z\x00rbu_memory\x00SELECT 0, 'tbl', '', 0, '', 1 UNION ALL SELECT 1, 'idx', '', 0, '', 2 UNION ALL SELECT 2, 'stat', '', 0, '', 0\x00PRAGMA '%q'.table_info('%q')\x00%z%s\"%w\".\"%w\".\"%w\"=\"%w\".\"%w\".\"%w\"\x00%z%s\"%w\".\"%w\".\"%w\" IS NOT \"%w\".\"%w\".\"%w\"\x00 OR \x00SELECT * FROM \"%w\".\"%w\" WHERE NOT EXISTS ( SELECT 1 FROM \"%w\".\"%w\" WHERE %s)\x00SELECT * FROM \"%w\".\"%w\", \"%w\".\"%w\" WHERE %s AND (%z)\x00table schemas do not match\x00SELECT tbl, ?2, stat FROM %Q.sqlite_stat1 WHERE tbl IS ?1 AND idx IS (CASE WHEN ?2=X'' THEN NULL ELSE ?2 END)\x00SELECT * FROM \x00 WHERE \x00 IS ?\x00SAVEPOINT changeset\x00RELEASE changeset\x00UPDATE main.\x00 SET \x00 = ?\x00idx IS CASE WHEN length(?4)=0 AND typeof(?4)='blob' THEN NULL ELSE ?4 END \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()\x00snippet\x00highlight\x00bm25\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\x00content_rowid\x00multiple content_rowid=... directives\x00columnsize\x00malformed columnsize=... directive\x00columns\x00malformed detail=... directive\x00unrecognized option: \"%.*s\"\x00reserved fts5 column name: %s\x00unindexed\x00unrecognized column option: %s\x00T.%Q\x00, T.%Q\x00, T.c%d\x00reserved fts5 table name: %s\x00parse error in \"%s\"\x00docsize\x00%Q.'%q_%s'\x00CREATE TABLE x(\x00%z%s%Q\x00%z, %Q HIDDEN, %s HIDDEN)\x00pgsz\x00hashsize\x00automerge\x00usermerge\x00crisismerge\x00SELECT k, v FROM %Q.'%q_config'\x00version\x00invalid fts5 file format (found %d, expected %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)\x00fts5: %s queries are not supported (detail!=full)\x00phrase\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=?\x00PRAGMA %Q.data_version\x00SELECT pgno FROM '%q'.'%q_idx' WHERE segid=? AND term<=? ORDER BY term DESC LIMIT 1\x00INSERT INTO '%q'.'%q_idx'(segid,term,pgno) VALUES(?,?,?)\x00%s_data\x00id INTEGER PRIMARY KEY, block BLOB\x00segid, term, pgno, PRIMARY KEY(segid, term)\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\x00SELECT rowid, rank FROM %Q.%Q ORDER BY %s(\"%w\"%s%s) %s\x00DESC\x00ASC\x00reads\x00unknown special query: %.*s\x00SELECT %s\x00no such function: %s\x00parse error in rank function: %s\x00%s: table does not support scanning\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\x00cannot %s contentless fts5 table: %s\x00DELETE from\x00no such cursor: %lld\x00no such tokenizer: %s\x00error in tokenizer constructor\x00fts5_api_ptr\x00fts5: 2022-03-12 13:37:29 38c210fdd258658321c85ec9c01a072fda3ada94540e3239d29b34dc547a8cbc\x00config\x00fts5\x00fts5_source_id\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(?,?)\x00DELETE FROM %Q.'%q_docsize' WHERE id=?\x00SELECT sz FROM %Q.'%q_docsize' WHERE id=?\x00REPLACE INTO %Q.'%q_config' VALUES(?,?)\x00SELECT %s FROM %s AS T\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\x00id INTEGER PRIMARY KEY, sz BLOB\x00k PRIMARY KEY, v\x00DELETE FROM %Q.'%q_data';DELETE FROM %Q.'%q_idx';\x00DELETE FROM %Q.'%q_docsize';\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\x00ascii\x00porter\x00trigram\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\x002022-03-12 13:37:29 38c210fdd258658321c85ec9c01a072fda3ada94540e3239d29b34dc547a8cbc\x00" + }{Xsqlite3_value_dup})) // sqlite3.c:129309:3: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1640)) = Xsqlite3_value_free // sqlite3.c:129310:3: + *(*func(*libc.TLS, uintptr, U64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1648)) = Xsqlite3_result_zeroblob64 // sqlite3.c:129311:3: + *(*func(*libc.TLS, uintptr, int32, Sqlite3_uint64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1656)) = Xsqlite3_bind_zeroblob64 // sqlite3.c:129312:3: + *(*func(*libc.TLS, uintptr) uint32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1664)) = Xsqlite3_value_subtype // sqlite3.c:129314:3: + *(*func(*libc.TLS, uintptr, uint32))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1672)) = Xsqlite3_result_subtype // sqlite3.c:129315:3: + *(*func(*libc.TLS, int32, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1680)) = Xsqlite3_status64 // sqlite3.c:129317:3: + *(*func(*libc.TLS, uintptr, uintptr, uint32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1688)) = Xsqlite3_strlike // sqlite3.c:129318:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1696)) = Xsqlite3_db_cacheflush // sqlite3.c:129319:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1704)) = Xsqlite3_system_errno // sqlite3.c:129321:3: + *(*func(*libc.TLS, uintptr, uint32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1712)) = Xsqlite3_trace_v2 // sqlite3.c:129323:3: + *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1720)) = Xsqlite3_expanded_sql // sqlite3.c:129324:3: + *(*func(*libc.TLS, uintptr, Sqlite3_int64))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1728)) = Xsqlite3_set_last_insert_rowid // sqlite3.c:129326:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uint32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1736)) = Xsqlite3_prepare_v3 // sqlite3.c:129328:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uint32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1744)) = Xsqlite3_prepare16_v3 // sqlite3.c:129329:3: + *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1752)) = Xsqlite3_bind_pointer // sqlite3.c:129330:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1760)) = Xsqlite3_result_pointer // sqlite3.c:129331:3: + *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1768)) = Xsqlite3_value_pointer // sqlite3.c:129332:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1776)) = Xsqlite3_vtab_nochange // sqlite3.c:129334:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1784)) = Xsqlite3_value_nochange // sqlite3.c:129335:3: + *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1792)) = Xsqlite3_vtab_collation // sqlite3.c:129336:3: + *(*func(*libc.TLS) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1800)) = Xsqlite3_keyword_count // sqlite3.c:129338:3: + *(*func(*libc.TLS, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1808)) = Xsqlite3_keyword_name // sqlite3.c:129339:3: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1816)) = Xsqlite3_keyword_check // sqlite3.c:129340:3: + *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1824)) = Xsqlite3_str_new // sqlite3.c:129341:3: + *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1832)) = Xsqlite3_str_finish // sqlite3.c:129342:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1840)) = Xsqlite3_str_appendf // sqlite3.c:129343:3: + *(*func(*libc.TLS, uintptr, uintptr, Va_list))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1848)) = Xsqlite3_str_vappendf // sqlite3.c:129344:3: + *(*func(*libc.TLS, uintptr, uintptr, int32))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1856)) = Xsqlite3_str_append // sqlite3.c:129345:3: + *(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1864)) = Xsqlite3_str_appendall // sqlite3.c:129346:3: + *(*func(*libc.TLS, uintptr, int32, int8))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1872)) = Xsqlite3_str_appendchar // sqlite3.c:129347:3: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1880)) = Xsqlite3_str_reset // sqlite3.c:129348:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1888)) = Xsqlite3_str_errcode // sqlite3.c:129349:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1896)) = Xsqlite3_str_length // sqlite3.c:129350:3: + *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1904)) = Xsqlite3_str_value // sqlite3.c:129351:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, int32, uintptr, uintptr, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1912)) = Xsqlite3_create_window_function // sqlite3.c:129353:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1928)) = Xsqlite3_stmt_isexplain // sqlite3.c:129361:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1936)) = Xsqlite3_value_frombind // sqlite3.c:129362:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1944)) = Xsqlite3_drop_modules // sqlite3.c:129365:3: + *(*func(*libc.TLS, Sqlite3_int64) Sqlite3_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1952)) = Xsqlite3_hard_heap_limit64 // sqlite3.c:129370:3: + *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1960)) = Xsqlite3_uri_key // sqlite3.c:129371:3: + *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1968)) = Xsqlite3_filename_database // sqlite3.c:129372:3: + *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1976)) = Xsqlite3_filename_journal // sqlite3.c:129373:3: + *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1984)) = Xsqlite3_filename_wal // sqlite3.c:129374:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1992)) = Xsqlite3_create_filename // sqlite3.c:129376:3: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 2000)) = Xsqlite3_free_filename // sqlite3.c:129377:3: + *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 2008)) = Xsqlite3_database_file_object // sqlite3.c:129378:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 2016)) = Xsqlite3_txn_state // sqlite3.c:129380:3: + *(*func(*libc.TLS, uintptr) Sqlite3_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 2024)) = Xsqlite3_changes64 // sqlite3.c:129382:3: + *(*func(*libc.TLS, uintptr) Sqlite3_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 2032)) = Xsqlite3_total_changes64 // sqlite3.c:129383:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 2040)) = Xsqlite3_autovacuum_pages // sqlite3.c:129385:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 2048)) = Xsqlite3_error_offset // sqlite3.c:129387:3: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 2056)) = Xsqlite3_vtab_rhs_value // sqlite3.c:129388:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 2064)) = Xsqlite3_vtab_distinct // sqlite3.c:129389:3: + *(*func(*libc.TLS, uintptr, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 2072)) = Xsqlite3_vtab_in // sqlite3.c:129390:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 2080)) = Xsqlite3_vtab_in_first // sqlite3.c:129391:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 2088)) = Xsqlite3_vtab_in_next // sqlite3.c:129392:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3BuiltinExtensions)) + 0)) = Xsqlite3Fts5Init // sqlite3.c:168545:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3BuiltinExtensions)) + 8)) = Xsqlite3RtreeInit // sqlite3.c:168551:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3BuiltinExtensions)) + 16)) = sqlite3TestExtInit // sqlite3.c:168559:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3BuiltinExtensions)) + 24)) = Xsqlite3JsonTableFunctions // sqlite3.c:168561:3: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&statGetFuncdef)) + 24)) = statGet // sqlite3.c:112006:3: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&statInitFuncdef)) + 24)) = statInit // sqlite3.c:111582:3: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&statPushFuncdef)) + 24)) = statPush // sqlite3.c:111872:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 40)) = rbuVfsOpen // sqlite3.c:208945:5: + *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 48)) = rbuVfsDelete // sqlite3.c:208946:5: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 56)) = rbuVfsAccess // sqlite3.c:208947:5: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 64)) = rbuVfsFullPathname // sqlite3.c:208948:5: + *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 72)) = rbuVfsDlOpen // sqlite3.c:208951:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 80)) = rbuVfsDlError // sqlite3.c:208952:5: + *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 88)) = rbuVfsDlSym // sqlite3.c:208953:5: + *(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 96)) = rbuVfsDlClose // sqlite3.c:208954:5: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 104)) = rbuVfsRandomness // sqlite3.c:208959:5: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 112)) = rbuVfsSleep // sqlite3.c:208960:5: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 120)) = rbuVfsCurrentTime // sqlite3.c:208961:5: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 128)) = rbuVfsGetLastError // sqlite3.c:208962:5: +} + +var ts1 = "3.38.2\x00ATOMIC_INTRINSICS=0\x00COMPILER=clang-11.1.0\x00DEFAULT_AUTOVACUUM\x00DEFAULT_CACHE_SIZE=-2000\x00DEFAULT_FILE_FORMAT=4\x00DEFAULT_JOURNAL_SIZE_LIMIT=-1\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\x00ENABLE_COLUMN_METADATA\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=127\x00MAX_LENGTH=1000000000\x00MAX_LIKE_PATTERN_LENGTH=50000\x00MAX_MMAP_SIZE=0\x00MAX_PAGE_COUNT=1073741823\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\x00BINARY\x00ANY\x00BLOB\x00INT\x00INTEGER\x00REAL\x00TEXT\x0020b:20e\x0020c:20e\x0020e\x0040f-21a-21d\x00now\x00local time unavailable\x00second\x00minute\x00hour\x00\x00\x00day\x00\x00\x00\x00month\x00\x00year\x00\x00\x00auto\x00julianday\x00localtime\x00unixepoch\x00utc\x00weekday \x00start of \x00month\x00year\x00day\x00%02d\x00%06.3f\x00%03d\x00%.16g\x00%lld\x00%04d\x00date\x00time\x00datetime\x00strftime\x00current_time\x00current_timestamp\x00current_date\x00failed to allocate %u bytes of memory\x00failed memory resize %u to %u bytes\x00out of memory\x000123456789ABCDEF0123456789abcdef\x00-x0\x00X0\x00%\x00NaN\x00Inf\x00\x00NULL\x00(NULL)\x00.\x00SUBQUERY %u\x00thstndrd\x00922337203685477580\x00API call with %s database connection pointer\x00unopened\x00invalid\x00Savepoint\x00AutoCommit\x00Transaction\x00SorterNext\x00Prev\x00Next\x00Checkpoint\x00JournalMode\x00Vacuum\x00VFilter\x00VUpdate\x00Goto\x00Gosub\x00InitCoroutine\x00Yield\x00MustBeInt\x00Jump\x00Once\x00If\x00Not\x00IfNot\x00IsNullOrType\x00IfNullRow\x00SeekLT\x00SeekLE\x00SeekGE\x00SeekGT\x00IfNotOpen\x00IfNoHope\x00NoConflict\x00NotFound\x00Found\x00SeekRowid\x00NotExists\x00Last\x00IfSmaller\x00SorterSort\x00Sort\x00Rewind\x00IdxLE\x00IdxGT\x00IdxLT\x00IdxGE\x00Or\x00And\x00RowSetRead\x00RowSetTest\x00Program\x00FkIfZero\x00IfPos\x00IsNull\x00NotNull\x00Ne\x00Eq\x00Gt\x00Le\x00Lt\x00Ge\x00ElseEq\x00IfNotZero\x00DecrJumpZero\x00IncrVacuum\x00VNext\x00Filter\x00Init\x00PureFunc\x00Function\x00Return\x00EndCoroutine\x00HaltIfNull\x00Halt\x00Integer\x00Int64\x00String\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\x00VInitIn\x00VColumn\x00VRename\x00Pagecount\x00MaxPgcnt\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\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\x00SQLite format 3\x00:memory:\x00@ \x00\n\x00invalid page number %d\x002nd reference to page %d\x00Failed to read ptrmap key=%d\x00Bad ptr map entry key=%d expected=(%d,%d) got=(%d,%d)\x00failed to get page %d\x00freelist leaf count too big on page %d\x00%s is %d but should be %d\x00size\x00overflow list length\x00Page %u: \x00unable to get the page. error code=%d\x00btreeInitPage() returns error code %d\x00free space corruption\x00On tree page %u cell %d: \x00On page %u at right child: \x00Offset %d out of range %d..%d\x00Extends off end of page\x00Rowid %lld out of order\x00Child page depth differs\x00Multiple uses for byte %u of page %u\x00Fragmentation of %d bytes reported as %d on page %u\x00Main freelist: \x00max rootpage (%d) disagrees with header (%d)\x00incremental_vacuum enabled with a max rootpage of zero\x00Page %d is never used\x00Pointer map page %d is referenced\x00unknown database %s\x00destination database is in use\x00source and destination must be distinct\x00%!.15g\x00-\x00%s%s\x00k(%d\x00B\x00,%s%s%s\x00N.\x00)\x00%.18s-%s\x00%s(%d)\x00%d\x00(blob)\x00vtab:%p\x00%c%u\x00]\x00program\x00?\x008\x0016LE\x0016BE\x00addr\x00opcode\x00p1\x00p2\x00p3\x00p4\x00p5\x00comment\x00id\x00parent\x00notused\x00detail\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\x00ValueList\x00bind on a busy prepared statement: [%s]\x00-- \x00'%.*q'\x00zeroblob(%d)\x00x'\x00%02x\x00'\x00%s constraint failed\x00%z: %s\x00abort at %d in [%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\x00cannot change %s wal mode from within a transaction\x00into\x00out of\x00database table is locked: %s\x00-- %s\x00statement aborts at %d: [%s] %s\x00NOT NULL\x00UNIQUE\x00CHECK\x00FOREIGN KEY\x00cannot open value of type %s\x00null\x00real\x00integer\x00no such rowid: %lld\x00cannot open virtual table: %s\x00cannot open table without rowid: %s\x00cannot open view: %s\x00no such column: \"%s\"\x00foreign key\x00indexed\x00cannot open %s column for writing\x00main\x00*\x00new\x00old\x00excluded\x00misuse of aliased aggregate %s\x00misuse of aliased window function %s\x00row value misused\x00double-quoted string literal: \"%w\"\x00no such column\x00ambiguous column name\x00%s: %s.%s.%s\x00%s: %s.%s\x00%s: %s\x00partial index WHERE clauses\x00index expressions\x00CHECK constraints\x00generated columns\x00%s prohibited in %s\x00true\x00false\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\x00a GROUP BY clause is required before HAVING\x00GROUP\x00aggregate functions are not allowed in the GROUP BY clause\x00Expression tree is too large (maximum depth %d)\x00IN(...) element has %d term%s - expected %d\x00s\x000\x00too many arguments on function %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\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\x00%sLIST SUBQUERY %d\x00CORRELATED \x00REUSE SUBQUERY %d\x00%sSCALAR SUBQUERY %d\x001\x000x\x00hex literal too big: %s%#T\x00generated column loop on \"%s\"\x00blob\x00text\x00numeric\x00none\x00misuse of aggregate: %#T()\x00unknown function: %#T()\x00RAISE() may only be used within a trigger-program\x00B\x00C\x00D\x00E\x00sqlite_\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') ELSE raise(ABORT,'NOT NULL constraint failed') END FROM pragma_quick_check(%Q,%Q) WHERE quick_check GLOB 'CHECK*' OR quick_check GLOB 'NULL*'\x00virtual tables may not be altered\x00Cannot add a column to a view\x00sqlite_altertab_%s\x00view\x00virtual table\x00cannot %s %s \"%s\"\x00drop column from\x00rename columns of\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')\x00error in %s %s%s%s: %s\x00 \x00CREATE \x00\"%w\" \x00%Q%s\x00%.*s%s\x00cannot drop %s column: \"%s\"\x00PRIMARY KEY\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\x00CREATE TABLE %Q.%s(%s)\x00DELETE FROM %Q.%s WHERE %s=%Q\x00DELETE FROM %Q.%s\x00sqlite_stat1\x00tbl,idx,stat\x00sqlite_stat4\x00tbl,idx,neq,nlt,ndlt,sample\x00sqlite_stat3\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\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\x00sqlite_temp_schema\x00sqlite_schema\x00sqlite_temp_master\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\x00sqlite_returning\x00cannot use RETURNING in a trigger\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'\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\x00unsupported use of NULLS %s\x00FIRST\x00LAST\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\x00CREATE%s INDEX %.*s\x00 UNIQUE\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\x00a JOIN clause is required before %s\x00ON\x00USING\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\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%!.20e\x00%Q\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\x00instr\x00printf\x00format\x00unicode\x00char\x00abs\x00round\x00upper\x00lower\x00hex\x00ifnull\x00random\x00randomblob\x00nullif\x00sqlite_version\x00sqlite_source_id\x00sqlite_log\x00quote\x00last_insert_rowid\x00changes\x00total_changes\x00replace\x00zeroblob\x00substr\x00substring\x00sum\x00total\x00avg\x00count\x00group_concat\x00glob\x00coalesce\x00ceil\x00ceiling\x00floor\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\x00foreign key mismatch - \"%w\" referencing \"%w\"\x00cannot INSERT into generated column \"%s\"\x00table %S has no column named %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\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]\x00so\x00automatic extension loading failed: %s\x00seq\x00from\x00to\x00on_update\x00on_delete\x00match\x00cid\x00name\x00type\x00notnull\x00dflt_value\x00pk\x00hidden\x00schema\x00ncol\x00wr\x00strict\x00seqno\x00desc\x00coll\x00key\x00builtin\x00enc\x00narg\x00flags\x00wdth\x00hght\x00flgs\x00unique\x00origin\x00partial\x00rowid\x00fkid\x00file\x00busy\x00checkpointed\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\x00onoffalseyestruextrafull\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\x00w\x00a\x00sissii\x00utf8\x00utf16le\x00utf16be\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\x00NULL value in %s.%s\x00non-%s value in %s.%s\x00CHECK constraint failed in %s\x00row \x00 missing from index \x00non-unique entry in index \x00wrong # of entries in index \x00ok\x00unsupported encoding: %s\x00restart\x00ANALYZE \"%w\".\"%w\"\x00UTF8\x00UTF-8\x00UTF-16le\x00UTF-16be\x00UTF16le\x00UTF16be\x00UTF-16\x00UTF16\x00CREATE TABLE x\x00%c\"%s\"\x00(\"%s\"\x00,arg HIDDEN\x00,schema HIDDEN\x00PRAGMA \x00%Q.\x00=%Q\x00error in %s %s after %s: %s\x00malformed database schema (%s)\x00%z - %s\x00rename\x00drop column\x00add column\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 or unsupported join type: %T %T%s%T\x00RIGHT and FULL OUTER JOINs are not currently supported\x00naturaleftouterightfullinnercross\x00a NATURAL join may not have an ON or USING clause\x00cannot have both ON and USING clauses in the same join\x00cannot join using column %s - column not present in both tables\x00UNION ALL\x00INTERSECT\x00EXCEPT\x00UNION\x00USE TEMP B-TREE FOR %s\x00column%d\x00%.*z:%u\x00cannot use window functions in recursive queries\x00recursive aggregate queries not supported\x00SETUP\x00RECURSIVE STEP\x00SCAN %d CONSTANT ROW%s\x00S\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\x00subquery_%u\x00too many references to \"%s\": max 65535\x00access to view \"%s\" prohibited\x00unsafe use of virtual table \"%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)\x00SCAN %s%s%s\x00 USING COVERING INDEX \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\x00RIGHT PART OF ORDER BY\x00ORDER 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\x00trigger %T already exists\x00cannot create trigger on system table\x00cannot create %s trigger on view: %S\x00BEFORE\x00AFTER\x00cannot create INSTEAD OF trigger on 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'\x00%s RETURNING is not available on virtual tables\x00DELETE\x00UPDATE\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\x00ATTACH %Q AS vacuum_db\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 vacuum_db.'||quote(name)||' SELECT*FROM\"%w\".'||quote(name)FROM vacuum_db.sqlite_schema WHERE type='table'AND coalesce(rootpage,1)>0\x00INSERT INTO vacuum_db.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\x00\x00 AND \x00(\x00 (\x00%s=?\x00ANY(%s)\x00>\x00<\x00%s %S\x00SEARCH\x00SCAN\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 %d:%s\x00BLOOM FILTER ON %S (\x00rowid=?\x00MULTI-INDEX OR\x00INDEX %d\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\x00second argument to nth_value must be a positive integer\x00argument of ntile must be a positive integer\x00row_number\x00dense_rank\x00rank\x00percent_rank\x00cume_dist\x00ntile\x00last_value\x00nth_value\x00first_value\x00lead\x00lag\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\x00%s clause should come after %s not before\x00LIMIT\x00too many terms in compound SELECT\x00syntax error after column name \"%.*s\"\x00parser stack overflow\x00unknown table option: %.*s\x00set list\x00near \"%T\": syntax error\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\x00unknown error\x00abort due to ROLLBACK\x00another row available\x00no more rows available\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\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\x00mode\x00no such %s mode: %s\x00%s mode not allowed: %s\x00no such vfs: %s\x00shared\x00private\x00ro\x00rw\x00rwc\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\x000123456789abcdef\x00JSON cannot hold BLOB values\x00malformed JSON\x00[0]\x00JSON path error near '%q'\x00json_%s() needs an odd number of arguments\x00$[\x00$.\x00json_object() requires an even number of arguments\x00json_object() labels must be TEXT\x00set\x00insert\x00[]\x00{}\x00CREATE TABLE x(key,value,type,atom,id,parent,fullkey,path,json HIDDEN,root HIDDEN)\x00[%d]\x00.%.*s\x00$\x00json\x00json_array\x00json_array_length\x00json_extract\x00->\x00->>\x00json_insert\x00json_object\x00json_patch\x00json_quote\x00json_remove\x00json_replace\x00json_set\x00json_type\x00json_valid\x00json_group_array\x00json_group_object\x00json_each\x00json_tree\x00%s_node\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\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\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\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\x00CREATE TABLE x(%.*s INT\x00,%.*s\x00);\x00,%.*s REAL\x00,%.*s INT\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\x00Mapping (%lld -> %lld) missing from %s table\x00%_rowid\x00%_parent\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\x00END\x00wrong number of arguments to function rtreecheck()\x00[\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\x00geopoly_area\x00geopoly_blob\x00geopoly_json\x00geopoly_svg\x00geopoly_contains_point\x00geopoly_debug\x00geopoly_bbox\x00geopoly_xform\x00geopoly_regular\x00geopoly_ccw\x00geopoly_group_bbox\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;\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\x00AND rootpage!=0 AND rootpage IS NOT NULL\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\x00table %q %s rbu_rowid column\x00may not have\x00requires\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%z%s\"%w\" %s %sCOLLATE %Q%s\x00 NOT NULL\x00%z, %z\x00CREATE TABLE \"rbu_imp_%w\"(%z)%s\x00 WITHOUT ROWID\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\x00SELECT %s, 0 AS rbu_control FROM '%q' %s %s %s ORDER BY %s%s\x00AND\x00WHERE\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_\x00INSERT INTO \"%s%w\"(%s%s) VALUES(%s)\x00, _rowid_\x00DELETE FROM \"%s%w\" WHERE %s\x00, rbu_rowid\x00CREATE TABLE IF NOT EXISTS %s.'rbu_tmp_%q' AS SELECT *%s FROM '%q' WHERE 0;\x00, 0 AS rbu_rowid\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\x00SELECT %s,%s rbu_control%s FROM '%q'%s %s %s %s\x000 AS \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\x00file:%s-vactmp?rbu_memory=1%s%s\x00&\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, %d), (%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\x00database modified during rbu %s\x00vacuum\x00update\x00BEGIN IMMEDIATE\x00PRAGMA journal_mode=off\x00-vactmp\x00DELETE FROM stat.rbu_state\x00rbu/zipvfs setup error\x00rbu(%s)/%z\x00rbu_memory\x00SELECT 0, 'tbl', '', 0, '', 1 UNION ALL SELECT 1, 'idx', '', 0, '', 2 UNION ALL SELECT 2, 'stat', '', 0, '', 0\x00PRAGMA '%q'.table_info('%q')\x00%z%s\"%w\".\"%w\".\"%w\"=\"%w\".\"%w\".\"%w\"\x00%z%s\"%w\".\"%w\".\"%w\" IS NOT \"%w\".\"%w\".\"%w\"\x00 OR \x00SELECT * FROM \"%w\".\"%w\" WHERE NOT EXISTS ( SELECT 1 FROM \"%w\".\"%w\" WHERE %s)\x00SELECT * FROM \"%w\".\"%w\", \"%w\".\"%w\" WHERE %s AND (%z)\x00table schemas do not match\x00SELECT tbl, ?2, stat FROM %Q.sqlite_stat1 WHERE tbl IS ?1 AND idx IS (CASE WHEN ?2=X'' THEN NULL ELSE ?2 END)\x00SELECT * FROM \x00 WHERE \x00 IS ?\x00SAVEPOINT changeset\x00RELEASE changeset\x00UPDATE main.\x00 SET \x00 = ?\x00idx IS CASE WHEN length(?4)=0 AND typeof(?4)='blob' THEN NULL ELSE ?4 END \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()\x00snippet\x00highlight\x00bm25\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\x00content_rowid\x00multiple content_rowid=... directives\x00columnsize\x00malformed columnsize=... directive\x00columns\x00malformed detail=... directive\x00unrecognized option: \"%.*s\"\x00reserved fts5 column name: %s\x00unindexed\x00unrecognized column option: %s\x00T.%Q\x00, T.%Q\x00, T.c%d\x00reserved fts5 table name: %s\x00parse error in \"%s\"\x00docsize\x00%Q.'%q_%s'\x00CREATE TABLE x(\x00%z%s%Q\x00%z, %Q HIDDEN, %s HIDDEN)\x00pgsz\x00hashsize\x00automerge\x00usermerge\x00crisismerge\x00SELECT k, v FROM %Q.'%q_config'\x00version\x00invalid fts5 file format (found %d, expected %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)\x00fts5: %s queries are not supported (detail!=full)\x00phrase\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=?\x00PRAGMA %Q.data_version\x00SELECT pgno FROM '%q'.'%q_idx' WHERE segid=? AND term<=? ORDER BY term DESC LIMIT 1\x00INSERT INTO '%q'.'%q_idx'(segid,term,pgno) VALUES(?,?,?)\x00%s_data\x00id INTEGER PRIMARY KEY, block BLOB\x00segid, term, pgno, PRIMARY KEY(segid, term)\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\x00SELECT rowid, rank FROM %Q.%Q ORDER BY %s(\"%w\"%s%s) %s\x00DESC\x00ASC\x00reads\x00unknown special query: %.*s\x00SELECT %s\x00no such function: %s\x00parse error in rank function: %s\x00%s: table does not support scanning\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\x00cannot %s contentless fts5 table: %s\x00DELETE from\x00no such cursor: %lld\x00no such tokenizer: %s\x00error in tokenizer constructor\x00fts5_api_ptr\x00fts5: 2022-03-26 13:51:10 d33c709cc0af66bc5b6dc6216eba9f1f0b40960b9ae83694c986fbf4c1d6f08f\x00config\x00fts5\x00fts5_source_id\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(?,?)\x00DELETE FROM %Q.'%q_docsize' WHERE id=?\x00SELECT sz FROM %Q.'%q_docsize' WHERE id=?\x00REPLACE INTO %Q.'%q_config' VALUES(?,?)\x00SELECT %s FROM %s AS T\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\x00id INTEGER PRIMARY KEY, sz BLOB\x00k PRIMARY KEY, v\x00DELETE FROM %Q.'%q_data';DELETE FROM %Q.'%q_idx';\x00DELETE FROM %Q.'%q_docsize';\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\x00ascii\x00porter\x00trigram\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\x002022-03-26 13:51:10 d33c709cc0af66bc5b6dc6216eba9f1f0b40960b9ae83694c986fbf4c1d6f08f\x00" var ts = (*reflect.StringHeader)(unsafe.Pointer(&ts1)).Data diff --git a/vendor/modernc.org/sqlite/lib/sqlite_windows_amd64.go b/vendor/modernc.org/sqlite/lib/sqlite_windows_amd64.go index b3d0b772..cdf6390f 100644 --- a/vendor/modernc.org/sqlite/lib/sqlite_windows_amd64.go +++ b/vendor/modernc.org/sqlite/lib/sqlite_windows_amd64.go @@ -1,4 +1,4 @@ -// Code generated by 'ccgo -DSQLITE_PRIVATE= -export-defines "" -export-enums "" -export-externs X -export-fields F -export-typedefs "" -ignore-unsupported-alignment -pkgname sqlite3 -o lib/sqlite_windows_amd64.go -trace-translation-units testdata/sqlite-amalgamation-3380100/sqlite3.c -DNDEBUG -DHAVE_USLEEP -DLONGDOUBLE_TYPE=double -DSQLITE_CORE -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_GEOPOLY -DSQLITE_ENABLE_MATH_FUNCTIONS -DSQLITE_ENABLE_MEMORY_MANAGEMENT -DSQLITE_ENABLE_OFFSET_SQL_FUNC -DSQLITE_ENABLE_PREUPDATE_HOOK -DSQLITE_ENABLE_RBU -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_SESSION -DSQLITE_ENABLE_SNAPSHOT -DSQLITE_ENABLE_STAT4 -DSQLITE_ENABLE_UNLOCK_NOTIFY -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_MUTEX_APPDEF=1 -DSQLITE_MUTEX_NOOP -DSQLITE_SOUNDEX -DSQLITE_THREADSAFE=1 -DSQLITE_OS_WIN=1 -D_MSC_VER=1900', DO NOT EDIT. +// Code generated by 'ccgo -DSQLITE_PRIVATE= -export-defines "" -export-enums "" -export-externs X -export-fields F -export-typedefs "" -ignore-unsupported-alignment -pkgname sqlite3 -o lib/sqlite_windows_amd64.go -trace-translation-units testdata/sqlite-amalgamation-3380200/sqlite3.c -DNDEBUG -DHAVE_USLEEP -DLONGDOUBLE_TYPE=double -DSQLITE_CORE -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_GEOPOLY -DSQLITE_ENABLE_MATH_FUNCTIONS -DSQLITE_ENABLE_MEMORY_MANAGEMENT -DSQLITE_ENABLE_OFFSET_SQL_FUNC -DSQLITE_ENABLE_PREUPDATE_HOOK -DSQLITE_ENABLE_RBU -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_SESSION -DSQLITE_ENABLE_SNAPSHOT -DSQLITE_ENABLE_STAT4 -DSQLITE_ENABLE_UNLOCK_NOTIFY -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_MUTEX_APPDEF=1 -DSQLITE_MUTEX_NOOP -DSQLITE_SOUNDEX -DSQLITE_THREADSAFE=1 -DSQLITE_OS_WIN=1 -D_MSC_VER=1900', DO NOT EDIT. package sqlite3 @@ -15067,7 +15067,7 @@ const ( SQLITE_SHM_UNLOCK = 1 SQLITE_SORTER_PMASZ = 250 SQLITE_SOUNDEX = 1 - SQLITE_SOURCE_ID = "2022-03-12 13:37:29 38c210fdd258658321c85ec9c01a072fda3ada94540e3239d29b34dc547a8cbc" + SQLITE_SOURCE_ID = "2022-03-26 13:51:10 d33c709cc0af66bc5b6dc6216eba9f1f0b40960b9ae83694c986fbf4c1d6f08f" SQLITE_SO_ASC = 0 SQLITE_SO_DESC = 1 SQLITE_SO_UNDEFINED = -1 @@ -15178,8 +15178,8 @@ const ( SQLITE_UTF8 = 1 SQLITE_VDBEINT_H = 0 SQLITE_VDBE_H = 0 - SQLITE_VERSION = "3.38.1" - SQLITE_VERSION_NUMBER = 3038001 + SQLITE_VERSION = "3.38.2" + SQLITE_VERSION_NUMBER = 3038002 SQLITE_VTABRISK_High = 2 SQLITE_VTABRISK_Low = 0 SQLITE_VTABRISK_Normal = 1 @@ -22194,7 +22194,7 @@ type Va_list = X__builtin_va_list /* :50:27 */ // ***************************************************************************** // // This file is an amalgamation of many separate C source files from SQLite -// version 3.38.1. By combining all the individual C code files into this +// version 3.38.2. By combining all the individual C code files into this // single large file, the entire code can be compiled as a single translation // unit. This allows many compilers to do optimizations that would not be // possible if the files were compiled separately. Performance improvements @@ -69499,7 +69499,7 @@ type winShm = struct { FsharedMask U16 FexclMask U16 F__ccgo_pad2 [2]byte -} /* sqlite3.c:43154:9 */ +} /* sqlite3.c:43160:9 */ //************* End of opcodes.c ******************************************** //************* Begin file os_unix.c **************************************** @@ -69625,7 +69625,7 @@ type winShm = struct { // Some Microsoft compilers lack this definition. // Forward references to structures used for WAL -type WinShm = winShm /* sqlite3.c:43154:23 */ // A connection to shared-memory +type WinShm = winShm /* sqlite3.c:43160:23 */ // A connection to shared-memory type winShmNode = struct { Fmutex uintptr FzFilename uintptr @@ -69640,10 +69640,10 @@ type winShmNode = struct { FnRef int32 FpFirst uintptr FpNext uintptr -} /* sqlite3.c:43154:9 */ +} /* sqlite3.c:43160:9 */ // A connection to shared-memory -type WinShmNode = winShmNode /* sqlite3.c:43155:27 */ // A region of shared-memory +type WinShmNode = winShmNode /* sqlite3.c:43161:27 */ // A region of shared-memory // WinCE lacks native support for file locking so we have to fake it // with some code of our own. @@ -69669,7 +69669,7 @@ type winFile = struct { FpMapRegion uintptr FmmapSize Sqlite3_int64 FmmapSizeMax Sqlite3_int64 -} /* sqlite3.c:43154:9 */ +} /* sqlite3.c:43160:9 */ // A region of shared-memory @@ -69678,7 +69678,7 @@ type winFile = struct { // The winFile structure is a subclass of sqlite3_file* specific to the win32 // portability layer. -type WinFile = winFile /* sqlite3.c:43175:24 */ +type WinFile = winFile /* sqlite3.c:43181:24 */ // The winVfsAppData structure is used for the pAppData member for all of the // Win32 VFS variants. @@ -69687,11 +69687,11 @@ type winVfsAppData = struct { FpAppData uintptr FbNoLock WINBOOL F__ccgo_pad1 [4]byte -} /* sqlite3.c:43209:9 */ +} /* sqlite3.c:43215:9 */ // The winVfsAppData structure is used for the pAppData member for all of the // Win32 VFS variants. -type WinVfsAppData = winVfsAppData /* sqlite3.c:43209:30 */ +type WinVfsAppData = winVfsAppData /* sqlite3.c:43215:30 */ // Allowed values for winFile.ctrlFlags @@ -69710,7 +69710,7 @@ type WinVfsAppData = winVfsAppData /* sqlite3.c:43209:30 */ // // In order to facilitate testing on a WinNT system, the test fixture // can manually set this value to 1 to emulate Win98 behavior. -var sqlite3_os_type LONG = 0 /* sqlite3.c:43397:35 */ +var sqlite3_os_type LONG = 0 /* sqlite3.c:43403:35 */ // This function is not available on Windows CE or WinRT. @@ -69722,7 +69722,7 @@ type win_syscall = struct { FzName uintptr FpCurrent Sqlite3_syscall_ptr FpDefault Sqlite3_syscall_ptr -} /* sqlite3.c:43418:8 */ +} /* sqlite3.c:43424:8 */ // This function is not available on Windows CE or WinRT. @@ -69895,7 +69895,7 @@ var aSyscall = [80]win_syscall{ {FzName: ts + 4407}, {FzName: ts + 4428, FpCurrent: 0}, -} /* sqlite3.c:43422:3 */ +} /* sqlite3.c:43428:3 */ // End of the overrideable system calls @@ -69903,7 +69903,7 @@ var aSyscall = [80]win_syscall{ // "win32" VFSes. Return SQLITE_OK opon successfully updating the // system call pointer, or SQLITE_NOTFOUND if there is no configurable // system call named zName. -func winSetSystemCall(tls *libc.TLS, pNotUsed uintptr, zName uintptr, pNewFunc Sqlite3_syscall_ptr) int32 { /* sqlite3.c:44079:12: */ +func winSetSystemCall(tls *libc.TLS, pNotUsed uintptr, zName uintptr, pNewFunc Sqlite3_syscall_ptr) int32 { /* sqlite3.c:44085:12: */ var i uint32 var rc int32 = SQLITE_NOTFOUND @@ -69940,7 +69940,7 @@ func winSetSystemCall(tls *libc.TLS, pNotUsed uintptr, zName uintptr, pNewFunc S // Return the value of a system call. Return NULL if zName is not a // recognized system call name. NULL is also returned if the system call // is currently undefined. -func winGetSystemCall(tls *libc.TLS, pNotUsed uintptr, zName uintptr) Sqlite3_syscall_ptr { /* sqlite3.c:44122:28: */ +func winGetSystemCall(tls *libc.TLS, pNotUsed uintptr, zName uintptr) Sqlite3_syscall_ptr { /* sqlite3.c:44128:28: */ var i uint32 _ = pNotUsed @@ -69956,7 +69956,7 @@ func winGetSystemCall(tls *libc.TLS, pNotUsed uintptr, zName uintptr) Sqlite3_sy // then return the name of the first system call. Return NULL if zName // is the last system call or if zName is not the name of a valid // system call. -func winNextSystemCall(tls *libc.TLS, p uintptr, zName uintptr) uintptr { /* sqlite3.c:44141:19: */ +func winNextSystemCall(tls *libc.TLS, p uintptr, zName uintptr) uintptr { /* sqlite3.c:44147:19: */ var i int32 = -1 _ = p @@ -69978,7 +69978,7 @@ func winNextSystemCall(tls *libc.TLS, p uintptr, zName uintptr) uintptr { /* sql // This function outputs the specified (ANSI) string to the Win32 debugger // (if available). -func Xsqlite3_win32_write_debug(tls *libc.TLS, zBuf uintptr, nBuf int32) { /* sqlite3.c:44249:17: */ +func Xsqlite3_win32_write_debug(tls *libc.TLS, zBuf uintptr, nBuf int32) { /* sqlite3.c:44255:17: */ bp := tls.Alloc(4092) defer tls.Free(4092) @@ -70006,11 +70006,11 @@ func Xsqlite3_win32_write_debug(tls *libc.TLS, zBuf uintptr, nBuf int32) { /* sq // The following routine suspends the current thread for at least ms // milliseconds. This is equivalent to the Win32 Sleep() interface. -func Xsqlite3_win32_sleep(tls *libc.TLS, milliseconds DWORD) { /* sqlite3.c:44295:17: */ +func Xsqlite3_win32_sleep(tls *libc.TLS, milliseconds DWORD) { /* sqlite3.c:44301:17: */ (*(*func(*libc.TLS, DWORD))(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 55*24 + 8)))(tls, milliseconds) } -func Xsqlite3Win32Wait(tls *libc.TLS, hObject HANDLE) DWORD { /* sqlite3.c:44310:22: */ +func Xsqlite3Win32Wait(tls *libc.TLS, hObject HANDLE) DWORD { /* sqlite3.c:44316:22: */ var rc DWORD for libc.AssignUint32(&rc, (*(*func(*libc.TLS, HANDLE, DWORD, WINBOOL) DWORD)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 64*24 + 8)))(tls, hObject, INFINITE, TRUE)) == DWORD(0x000000C0) { @@ -70030,7 +70030,7 @@ func Xsqlite3Win32Wait(tls *libc.TLS, hObject HANDLE) DWORD { /* sqlite3.c:44310 // This function determines if the machine is running a version of Windows // based on the NT kernel. -func Xsqlite3_win32_is_nt(tls *libc.TLS) int32 { /* sqlite3.c:44344:16: */ +func Xsqlite3_win32_is_nt(tls *libc.TLS) int32 { /* sqlite3.c:44350:16: */ bp := tls.Alloc(148) defer tls.Free(148) @@ -70053,7 +70053,7 @@ func Xsqlite3_win32_is_nt(tls *libc.TLS) int32 { /* sqlite3.c:44344:16: */ // Convert a UTF-8 string to Microsoft Unicode. // // Space to hold the returned string is obtained from sqlite3_malloc(). -func winUtf8ToUnicode(tls *libc.TLS, zText uintptr) LPWSTR { /* sqlite3.c:44589:15: */ +func winUtf8ToUnicode(tls *libc.TLS, zText uintptr) LPWSTR { /* sqlite3.c:44595:15: */ var nChar int32 var zWideText LPWSTR @@ -70077,7 +70077,7 @@ func winUtf8ToUnicode(tls *libc.TLS, zText uintptr) LPWSTR { /* sqlite3.c:44589: // Convert a Microsoft Unicode string to UTF-8. // // Space to hold the returned string is obtained from sqlite3_malloc(). -func winUnicodeToUtf8(tls *libc.TLS, zWideText LPCWSTR) uintptr { /* sqlite3.c:44615:13: */ +func winUnicodeToUtf8(tls *libc.TLS, zWideText LPCWSTR) uintptr { /* sqlite3.c:44621:13: */ var nByte int32 var zText uintptr @@ -70102,7 +70102,7 @@ func winUnicodeToUtf8(tls *libc.TLS, zWideText LPCWSTR) uintptr { /* sqlite3.c:4 // code page. // // Space to hold the returned string is obtained from sqlite3_malloc(). -func winMbcsToUnicode(tls *libc.TLS, zText uintptr, useAnsi int32) LPWSTR { /* sqlite3.c:44642:15: */ +func winMbcsToUnicode(tls *libc.TLS, zText uintptr, useAnsi int32) LPWSTR { /* sqlite3.c:44648:15: */ var nByte int32 var zMbcsText LPWSTR var codepage int32 @@ -70134,7 +70134,7 @@ func winMbcsToUnicode(tls *libc.TLS, zText uintptr, useAnsi int32) LPWSTR { /* s // using the ANSI or OEM code page. // // Space to hold the returned string is obtained from sqlite3_malloc(). -func winUnicodeToMbcs(tls *libc.TLS, zWideText LPCWSTR, useAnsi int32) uintptr { /* sqlite3.c:44671:13: */ +func winUnicodeToMbcs(tls *libc.TLS, zWideText LPCWSTR, useAnsi int32) uintptr { /* sqlite3.c:44677:13: */ var nByte int32 var zText uintptr var codepage int32 @@ -70164,7 +70164,7 @@ func winUnicodeToMbcs(tls *libc.TLS, zWideText LPCWSTR, useAnsi int32) uintptr { // Convert a multi-byte character string to UTF-8. // // Space to hold the returned string is obtained from sqlite3_malloc(). -func winMbcsToUtf8(tls *libc.TLS, zText uintptr, useAnsi int32) uintptr { /* sqlite3.c:44698:13: */ +func winMbcsToUtf8(tls *libc.TLS, zText uintptr, useAnsi int32) uintptr { /* sqlite3.c:44704:13: */ var zTextUtf8 uintptr var zTmpWide LPWSTR @@ -70180,7 +70180,7 @@ func winMbcsToUtf8(tls *libc.TLS, zText uintptr, useAnsi int32) uintptr { /* sql // Convert a UTF-8 string to a multi-byte character string. // // Space to hold the returned string is obtained from sqlite3_malloc(). -func winUtf8ToMbcs(tls *libc.TLS, zText uintptr, useAnsi int32) uintptr { /* sqlite3.c:44716:13: */ +func winUtf8ToMbcs(tls *libc.TLS, zText uintptr, useAnsi int32) uintptr { /* sqlite3.c:44722:13: */ var zTextMbcs uintptr var zTmpWide LPWSTR @@ -70194,7 +70194,7 @@ func winUtf8ToMbcs(tls *libc.TLS, zText uintptr, useAnsi int32) uintptr { /* sql } // This is a public wrapper for the winUtf8ToUnicode() function. -func Xsqlite3_win32_utf8_to_unicode(tls *libc.TLS, zText uintptr) LPWSTR { /* sqlite3.c:44732:19: */ +func Xsqlite3_win32_utf8_to_unicode(tls *libc.TLS, zText uintptr) LPWSTR { /* sqlite3.c:44738:19: */ if Xsqlite3_initialize(tls) != 0 { return uintptr(0) } @@ -70202,7 +70202,7 @@ func Xsqlite3_win32_utf8_to_unicode(tls *libc.TLS, zText uintptr) LPWSTR { /* sq } // This is a public wrapper for the winUnicodeToUtf8() function. -func Xsqlite3_win32_unicode_to_utf8(tls *libc.TLS, zWideText LPCWSTR) uintptr { /* sqlite3.c:44748:17: */ +func Xsqlite3_win32_unicode_to_utf8(tls *libc.TLS, zWideText LPCWSTR) uintptr { /* sqlite3.c:44754:17: */ if Xsqlite3_initialize(tls) != 0 { return uintptr(0) } @@ -70210,7 +70210,7 @@ func Xsqlite3_win32_unicode_to_utf8(tls *libc.TLS, zWideText LPCWSTR) uintptr { } // This is a public wrapper for the winMbcsToUtf8() function. -func Xsqlite3_win32_mbcs_to_utf8(tls *libc.TLS, zText uintptr) uintptr { /* sqlite3.c:44764:17: */ +func Xsqlite3_win32_mbcs_to_utf8(tls *libc.TLS, zText uintptr) uintptr { /* sqlite3.c:44770:17: */ if Xsqlite3_initialize(tls) != 0 { return uintptr(0) } @@ -70218,7 +70218,7 @@ func Xsqlite3_win32_mbcs_to_utf8(tls *libc.TLS, zText uintptr) uintptr { /* sqli } // This is a public wrapper for the winMbcsToUtf8() function. -func Xsqlite3_win32_mbcs_to_utf8_v2(tls *libc.TLS, zText uintptr, useAnsi int32) uintptr { /* sqlite3.c:44780:17: */ +func Xsqlite3_win32_mbcs_to_utf8_v2(tls *libc.TLS, zText uintptr, useAnsi int32) uintptr { /* sqlite3.c:44786:17: */ if Xsqlite3_initialize(tls) != 0 { return uintptr(0) } @@ -70226,7 +70226,7 @@ func Xsqlite3_win32_mbcs_to_utf8_v2(tls *libc.TLS, zText uintptr, useAnsi int32) } // This is a public wrapper for the winUtf8ToMbcs() function. -func Xsqlite3_win32_utf8_to_mbcs(tls *libc.TLS, zText uintptr) uintptr { /* sqlite3.c:44796:17: */ +func Xsqlite3_win32_utf8_to_mbcs(tls *libc.TLS, zText uintptr) uintptr { /* sqlite3.c:44802:17: */ if Xsqlite3_initialize(tls) != 0 { return uintptr(0) } @@ -70234,7 +70234,7 @@ func Xsqlite3_win32_utf8_to_mbcs(tls *libc.TLS, zText uintptr) uintptr { /* sqli } // This is a public wrapper for the winUtf8ToMbcs() function. -func Xsqlite3_win32_utf8_to_mbcs_v2(tls *libc.TLS, zText uintptr, useAnsi int32) uintptr { /* sqlite3.c:44812:17: */ +func Xsqlite3_win32_utf8_to_mbcs_v2(tls *libc.TLS, zText uintptr, useAnsi int32) uintptr { /* sqlite3.c:44818:17: */ if Xsqlite3_initialize(tls) != 0 { return uintptr(0) } @@ -70243,7 +70243,7 @@ func Xsqlite3_win32_utf8_to_mbcs_v2(tls *libc.TLS, zText uintptr, useAnsi int32) // This function is the same as sqlite3_win32_set_directory (below); however, // it accepts a UTF-8 string. -func Xsqlite3_win32_set_directory8(tls *libc.TLS, type1 uint32, zValue uintptr) int32 { /* sqlite3.c:44829:16: */ +func Xsqlite3_win32_set_directory8(tls *libc.TLS, type1 uint32, zValue uintptr) int32 { /* sqlite3.c:44835:16: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -70275,7 +70275,7 @@ func Xsqlite3_win32_set_directory8(tls *libc.TLS, type1 uint32, zValue uintptr) // This function is the same as sqlite3_win32_set_directory (below); however, // it accepts a UTF-16 string. -func Xsqlite3_win32_set_directory16(tls *libc.TLS, type1 uint32, zValue uintptr) int32 { /* sqlite3.c:44866:16: */ +func Xsqlite3_win32_set_directory16(tls *libc.TLS, type1 uint32, zValue uintptr) int32 { /* sqlite3.c:44872:16: */ var rc int32 var zUtf8 uintptr = uintptr(0) if zValue != 0 { @@ -70296,14 +70296,14 @@ func Xsqlite3_win32_set_directory16(tls *libc.TLS, type1 uint32, zValue uintptr) // data directory or 2 in order to set the temporary directory. The zValue // argument is the name of the directory to use. The return value will be // SQLITE_OK if successful. -func Xsqlite3_win32_set_directory(tls *libc.TLS, type1 uint32, zValue uintptr) int32 { /* sqlite3.c:44888:16: */ +func Xsqlite3_win32_set_directory(tls *libc.TLS, type1 uint32, zValue uintptr) int32 { /* sqlite3.c:44894:16: */ return Xsqlite3_win32_set_directory16(tls, type1, zValue) } // The return value of winGetLastErrorMsg // is zero if the error message fits in the buffer, or non-zero // otherwise (if the message was truncated). -func winGetLastErrorMsg(tls *libc.TLS, lastErrno DWORD, nBuf int32, zBuf uintptr) int32 { /* sqlite3.c:44900:12: */ +func winGetLastErrorMsg(tls *libc.TLS, lastErrno DWORD, nBuf int32, zBuf uintptr) int32 { /* sqlite3.c:44906:12: */ bp := tls.Alloc(40) defer tls.Free(40) @@ -70372,7 +70372,7 @@ func winGetLastErrorMsg(tls *libc.TLS, lastErrno DWORD, nBuf int32, zBuf uintptr // will be returned to SQLite (e.g. SQLITE_IOERR_DELETE, SQLITE_CANTOPEN). // The two subsequent arguments should be the name of the OS function that // failed and the associated file-system path, if any. -func winLogErrorAtLine(tls *libc.TLS, errcode int32, lastErrno DWORD, zFunc uintptr, zPath uintptr, iLine int32) int32 { /* sqlite3.c:44991:12: */ +func winLogErrorAtLine(tls *libc.TLS, errcode int32, lastErrno DWORD, zFunc uintptr, zPath uintptr, iLine int32) int32 { /* sqlite3.c:44997:12: */ bp := tls.Alloc(540) defer tls.Free(540) @@ -70400,8 +70400,8 @@ func winLogErrorAtLine(tls *libc.TLS, errcode int32, lastErrno DWORD, zFunc uint // will be retried following a locking error - probably caused by // antivirus software. Also the initial delay before the first retry. // The delay increases linearly with each retry. -var winIoerrRetry int32 = SQLITE_WIN32_IOERR_RETRY /* sqlite3.c:45027:12 */ -var winIoerrRetryDelay int32 = SQLITE_WIN32_IOERR_RETRY_DELAY /* sqlite3.c:45028:12 */ +var winIoerrRetry int32 = SQLITE_WIN32_IOERR_RETRY /* sqlite3.c:45033:12 */ +var winIoerrRetryDelay int32 = SQLITE_WIN32_IOERR_RETRY_DELAY /* sqlite3.c:45034:12 */ // The "winIoerrCanRetry1" macro is used to determine if a particular I/O // error code obtained via GetLastError() is eligible to be retried. It @@ -70421,7 +70421,7 @@ var winIoerrRetryDelay int32 = SQLITE_WIN32_IOERR_RETRY_DELAY /* sqlite3.c:45028 // If a ReadFile() or WriteFile() error occurs, invoke this routine // to see if it should be retried. Return TRUE to retry. Return FALSE // to give up with an error. -func winRetryIoerr(tls *libc.TLS, pnRetry uintptr, pError uintptr) int32 { /* sqlite3.c:45061:12: */ +func winRetryIoerr(tls *libc.TLS, pnRetry uintptr, pError uintptr) int32 { /* sqlite3.c:45067:12: */ var e DWORD = (*(*func(*libc.TLS) DWORD)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 26*24 + 8)))(tls) if *(*int32)(unsafe.Pointer(pnRetry)) >= winIoerrRetry { if pError != 0 { @@ -70441,7 +70441,7 @@ func winRetryIoerr(tls *libc.TLS, pnRetry uintptr, pError uintptr) int32 { /* sq } // Log a I/O error retry episode. -func winLogIoerr(tls *libc.TLS, nRetry int32, lineno int32) { /* sqlite3.c:45090:13: */ +func winLogIoerr(tls *libc.TLS, nRetry int32, lineno int32) { /* sqlite3.c:45096:13: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -70456,7 +70456,7 @@ func winLogIoerr(tls *libc.TLS, nRetry int32, lineno int32) { /* sqlite3.c:45090 // corresponding section in "date.c" cannot use it. // Lock a file region. -func winLockFile(tls *libc.TLS, phFile LPHANDLE, flags DWORD, offsetLow DWORD, offsetHigh DWORD, numBytesLow DWORD, numBytesHigh DWORD) WINBOOL { /* sqlite3.c:45420:13: */ +func winLockFile(tls *libc.TLS, phFile LPHANDLE, flags DWORD, offsetLow DWORD, offsetHigh DWORD, numBytesLow DWORD, numBytesHigh DWORD) WINBOOL { /* sqlite3.c:45426:13: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -70475,7 +70475,7 @@ func winLockFile(tls *libc.TLS, phFile LPHANDLE, flags DWORD, offsetLow DWORD, o } // Unlock a file region. -func winUnlockFile(tls *libc.TLS, phFile LPHANDLE, offsetLow DWORD, offsetHigh DWORD, numBytesLow DWORD, numBytesHigh DWORD) WINBOOL { /* sqlite3.c:45452:13: */ +func winUnlockFile(tls *libc.TLS, phFile LPHANDLE, offsetLow DWORD, offsetHigh DWORD, numBytesLow DWORD, numBytesHigh DWORD) WINBOOL { /* sqlite3.c:45458:13: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -70504,7 +70504,7 @@ func winUnlockFile(tls *libc.TLS, phFile LPHANDLE, offsetLow DWORD, offsetHigh D // Move the current position of the file handle passed as the first // argument to offset iOffset within the file. If successful, return 0. // Otherwise, set pFile->lastErrno and return non-zero. -func winSeekFile(tls *libc.TLS, pFile uintptr, iOffset Sqlite3_int64) int32 { /* sqlite3.c:45497:12: */ +func winSeekFile(tls *libc.TLS, pFile uintptr, iOffset Sqlite3_int64) int32 { /* sqlite3.c:45503:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -70528,7 +70528,7 @@ func winSeekFile(tls *libc.TLS, pFile uintptr, iOffset Sqlite3_int64) int32 { /* if dwRet == libc.Uint32(libc.Uint32FromInt32(-1)) && libc.AssignUint32(&lastErrno, (*(*func(*libc.TLS) DWORD)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 26*24 + 8)))(tls)) != DWORD(0) { (*WinFile)(unsafe.Pointer(pFile)).FlastErrno = lastErrno - winLogErrorAtLine(tls, SQLITE_IOERR|int32(22)<<8, (*WinFile)(unsafe.Pointer(pFile)).FlastErrno, ts+4548, (*WinFile)(unsafe.Pointer(pFile)).FzPath, 45521) + winLogErrorAtLine(tls, SQLITE_IOERR|int32(22)<<8, (*WinFile)(unsafe.Pointer(pFile)).FlastErrno, ts+4548, (*WinFile)(unsafe.Pointer(pFile)).FzPath, 45527) return 1 } @@ -70544,7 +70544,7 @@ func winSeekFile(tls *libc.TLS, pFile uintptr, iOffset Sqlite3_int64) int32 { /* // the close fails, we pause for 100 milliseconds and try again. As // many as MX_CLOSE_ATTEMPT attempts to close the handle are made before // giving up and returning an error. -func winClose(tls *libc.TLS, id uintptr) int32 { /* sqlite3.c:45570:12: */ +func winClose(tls *libc.TLS, id uintptr) int32 { /* sqlite3.c:45576:12: */ var rc int32 var cnt int32 = 0 var pFile uintptr = id @@ -70562,13 +70562,13 @@ func winClose(tls *libc.TLS, id uintptr) int32 { /* sqlite3.c:45570:12: */ if rc != 0 { return SQLITE_OK } - return winLogErrorAtLine(tls, SQLITE_IOERR|int32(16)<<8, (*(*func(*libc.TLS) DWORD)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 26*24 + 8)))(tls), ts+4560, (*WinFile)(unsafe.Pointer(pFile)).FzPath, 45617) + return winLogErrorAtLine(tls, SQLITE_IOERR|int32(16)<<8, (*(*func(*libc.TLS) DWORD)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 26*24 + 8)))(tls), ts+4560, (*WinFile)(unsafe.Pointer(pFile)).FzPath, 45623) } // Read data from a file into a buffer. Return SQLITE_OK if all // bytes were read successfully and SQLITE_IOERR if anything goes // wrong. -func winRead(tls *libc.TLS, id uintptr, pBuf uintptr, amt int32, offset Sqlite3_int64) int32 { /* sqlite3.c:45626:12: */ +func winRead(tls *libc.TLS, id uintptr, pBuf uintptr, amt int32, offset Sqlite3_int64) int32 { /* sqlite3.c:45632:12: */ bp := tls.Alloc(44) defer tls.Free(44) @@ -70605,9 +70605,9 @@ func winRead(tls *libc.TLS, id uintptr, pBuf uintptr, amt int32, offset Sqlite3_ } (*WinFile)(unsafe.Pointer(pFile)).FlastErrno = *(*DWORD)(unsafe.Pointer(bp + 40 /* lastErrno */)) - return winLogErrorAtLine(tls, SQLITE_IOERR|int32(1)<<8, (*WinFile)(unsafe.Pointer(pFile)).FlastErrno, ts+4569, (*WinFile)(unsafe.Pointer(pFile)).FzPath, 45685) + return winLogErrorAtLine(tls, SQLITE_IOERR|int32(1)<<8, (*WinFile)(unsafe.Pointer(pFile)).FlastErrno, ts+4569, (*WinFile)(unsafe.Pointer(pFile)).FzPath, 45691) } - winLogIoerr(tls, *(*int32)(unsafe.Pointer(bp + 36 /* nRetry */)), 45688) + winLogIoerr(tls, *(*int32)(unsafe.Pointer(bp + 36 /* nRetry */)), 45694) if *(*DWORD)(unsafe.Pointer(bp + 32)) < DWORD(amt) { // Unread parts of the buffer must be zero-filled libc.Xmemset(tls, pBuf+uintptr(*(*DWORD)(unsafe.Pointer(bp + 32))), 0, uint64(DWORD(amt)-*(*DWORD)(unsafe.Pointer(bp + 32)))) @@ -70620,7 +70620,7 @@ func winRead(tls *libc.TLS, id uintptr, pBuf uintptr, amt int32, offset Sqlite3_ // Write data from a buffer into a file. Return SQLITE_OK on success // or some other error code on failure. -func winWrite(tls *libc.TLS, id uintptr, pBuf uintptr, amt int32, offset Sqlite3_int64) int32 { /* sqlite3.c:45706:12: */ +func winWrite(tls *libc.TLS, id uintptr, pBuf uintptr, amt int32, offset Sqlite3_int64) int32 { /* sqlite3.c:45712:12: */ bp := tls.Alloc(44) defer tls.Free(44) @@ -70670,19 +70670,19 @@ func winWrite(tls *libc.TLS, id uintptr, pBuf uintptr, amt int32, offset Sqlite3 if (*WinFile)(unsafe.Pointer(pFile)).FlastErrno == DWORD(39) || (*WinFile)(unsafe.Pointer(pFile)).FlastErrno == DWORD(112) { - return winLogErrorAtLine(tls, SQLITE_FULL, (*WinFile)(unsafe.Pointer(pFile)).FlastErrno, ts+4577, (*WinFile)(unsafe.Pointer(pFile)).FzPath, 45797) + return winLogErrorAtLine(tls, SQLITE_FULL, (*WinFile)(unsafe.Pointer(pFile)).FlastErrno, ts+4577, (*WinFile)(unsafe.Pointer(pFile)).FzPath, 45803) } - return winLogErrorAtLine(tls, SQLITE_IOERR|int32(3)<<8, (*WinFile)(unsafe.Pointer(pFile)).FlastErrno, ts+4587, (*WinFile)(unsafe.Pointer(pFile)).FzPath, 45802) + return winLogErrorAtLine(tls, SQLITE_IOERR|int32(3)<<8, (*WinFile)(unsafe.Pointer(pFile)).FlastErrno, ts+4587, (*WinFile)(unsafe.Pointer(pFile)).FzPath, 45808) } else { - winLogIoerr(tls, *(*int32)(unsafe.Pointer(bp + 36 /* nRetry */)), 45805) + winLogIoerr(tls, *(*int32)(unsafe.Pointer(bp + 36 /* nRetry */)), 45811) } return SQLITE_OK } // Truncate an open file to a specified size -func winTruncate(tls *libc.TLS, id uintptr, nByte Sqlite3_int64) int32 { /* sqlite3.c:45815:12: */ +func winTruncate(tls *libc.TLS, id uintptr, nByte Sqlite3_int64) int32 { /* sqlite3.c:45821:12: */ var pFile uintptr = id // File handle object var rc int32 = SQLITE_OK // Return code for this function var lastErrno DWORD @@ -70724,10 +70724,10 @@ func winTruncate(tls *libc.TLS, id uintptr, nByte Sqlite3_int64) int32 { /* sqli // SetEndOfFile() returns non-zero when successful, or zero when it fails. if winSeekFile(tls, pFile, nByte) != 0 { - rc = winLogErrorAtLine(tls, SQLITE_IOERR|int32(6)<<8, (*WinFile)(unsafe.Pointer(pFile)).FlastErrno, ts+4597, (*WinFile)(unsafe.Pointer(pFile)).FzPath, 45868) + rc = winLogErrorAtLine(tls, SQLITE_IOERR|int32(6)<<8, (*WinFile)(unsafe.Pointer(pFile)).FlastErrno, ts+4597, (*WinFile)(unsafe.Pointer(pFile)).FzPath, 45874) } else if 0 == (*(*func(*libc.TLS, HANDLE) WINBOOL)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 53*24 + 8)))(tls, (*WinFile)(unsafe.Pointer(pFile)).Fh) && libc.AssignUint32(&lastErrno, (*(*func(*libc.TLS) DWORD)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 26*24 + 8)))(tls)) != DWORD(1224) { (*WinFile)(unsafe.Pointer(pFile)).FlastErrno = lastErrno - rc = winLogErrorAtLine(tls, SQLITE_IOERR|int32(6)<<8, (*WinFile)(unsafe.Pointer(pFile)).FlastErrno, ts+4610, (*WinFile)(unsafe.Pointer(pFile)).FzPath, 45873) + rc = winLogErrorAtLine(tls, SQLITE_IOERR|int32(6)<<8, (*WinFile)(unsafe.Pointer(pFile)).FlastErrno, ts+4610, (*WinFile)(unsafe.Pointer(pFile)).FzPath, 45879) } if rc == SQLITE_OK && oldMmapSize > int64(0) { @@ -70742,7 +70742,7 @@ func winTruncate(tls *libc.TLS, id uintptr, nByte Sqlite3_int64) int32 { /* sqli } // Make sure all writes to a particular file are committed to disk. -func winSync(tls *libc.TLS, id uintptr, flags int32) int32 { /* sqlite3.c:45904:12: */ +func winSync(tls *libc.TLS, id uintptr, flags int32) int32 { /* sqlite3.c:45910:12: */ // Used only when SQLITE_NO_SYNC is not defined. var rc WINBOOL // Used when SQLITE_NO_SYNC is not defined and by the assert() and/or @@ -70764,7 +70764,7 @@ func winSync(tls *libc.TLS, id uintptr, flags int32) int32 { /* sqlite3.c:45904: } else { (*WinFile)(unsafe.Pointer(pFile)).FlastErrno = (*(*func(*libc.TLS) DWORD)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 26*24 + 8)))(tls) - return winLogErrorAtLine(tls, SQLITE_IOERR|int32(24)<<8, (*WinFile)(unsafe.Pointer(pFile)).FlastErrno, ts+4623, (*WinFile)(unsafe.Pointer(pFile)).FzPath, 45965) + return winLogErrorAtLine(tls, SQLITE_IOERR|int32(24)<<8, (*WinFile)(unsafe.Pointer(pFile)).FlastErrno, ts+4623, (*WinFile)(unsafe.Pointer(pFile)).FzPath, 45971) } } rc = (*(*func(*libc.TLS, HANDLE) WINBOOL)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 13*24 + 8)))(tls, (*WinFile)(unsafe.Pointer(pFile)).Fh) @@ -70775,13 +70775,13 @@ func winSync(tls *libc.TLS, id uintptr, flags int32) int32 { /* sqlite3.c:45904: } else { (*WinFile)(unsafe.Pointer(pFile)).FlastErrno = (*(*func(*libc.TLS) DWORD)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 26*24 + 8)))(tls) - return winLogErrorAtLine(tls, SQLITE_IOERR|int32(4)<<8, (*WinFile)(unsafe.Pointer(pFile)).FlastErrno, ts+4632, (*WinFile)(unsafe.Pointer(pFile)).FzPath, 45980) + return winLogErrorAtLine(tls, SQLITE_IOERR|int32(4)<<8, (*WinFile)(unsafe.Pointer(pFile)).FlastErrno, ts+4632, (*WinFile)(unsafe.Pointer(pFile)).FzPath, 45986) } return int32(0) } // Determine the current size of a file in bytes -func winFileSize(tls *libc.TLS, id uintptr, pSize uintptr) int32 { /* sqlite3.c:45989:12: */ +func winFileSize(tls *libc.TLS, id uintptr, pSize uintptr) int32 { /* sqlite3.c:45995:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -70799,7 +70799,7 @@ func winFileSize(tls *libc.TLS, id uintptr, pSize uintptr) int32 { /* sqlite3.c: if lowerBits == 0xffffffff && libc.AssignUint32(&lastErrno, (*(*func(*libc.TLS) DWORD)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 26*24 + 8)))(tls)) != DWORD(0) { (*WinFile)(unsafe.Pointer(pFile)).FlastErrno = lastErrno - rc = winLogErrorAtLine(tls, SQLITE_IOERR|int32(7)<<8, (*WinFile)(unsafe.Pointer(pFile)).FlastErrno, ts+4641, (*WinFile)(unsafe.Pointer(pFile)).FzPath, 46021) + rc = winLogErrorAtLine(tls, SQLITE_IOERR|int32(7)<<8, (*WinFile)(unsafe.Pointer(pFile)).FlastErrno, ts+4641, (*WinFile)(unsafe.Pointer(pFile)).FzPath, 46027) } } @@ -70821,7 +70821,7 @@ func winFileSize(tls *libc.TLS, id uintptr, pSize uintptr) int32 { /* sqlite3.c: // Acquire a reader lock. // Different API routines are called depending on whether or not this // is Win9x or WinNT. -func winGetReadLock(tls *libc.TLS, pFile uintptr) int32 { /* sqlite3.c:46067:12: */ +func winGetReadLock(tls *libc.TLS, pFile uintptr) int32 { /* sqlite3.c:46073:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -70847,7 +70847,7 @@ func winGetReadLock(tls *libc.TLS, pFile uintptr) int32 { /* sqlite3.c:46067:12: } // Undo a readlock -func winUnlockReadLock(tls *libc.TLS, pFile uintptr) int32 { /* sqlite3.c:46102:12: */ +func winUnlockReadLock(tls *libc.TLS, pFile uintptr) int32 { /* sqlite3.c:46108:12: */ var res int32 var lastErrno DWORD @@ -70858,7 +70858,7 @@ func winUnlockReadLock(tls *libc.TLS, pFile uintptr) int32 { /* sqlite3.c:46102: } if res == 0 && libc.AssignUint32(&lastErrno, (*(*func(*libc.TLS) DWORD)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 26*24 + 8)))(tls)) != DWORD(158) { (*WinFile)(unsafe.Pointer(pFile)).FlastErrno = lastErrno - winLogErrorAtLine(tls, SQLITE_IOERR|int32(8)<<8, (*WinFile)(unsafe.Pointer(pFile)).FlastErrno, ts+4653, (*WinFile)(unsafe.Pointer(pFile)).FzPath, 46116) + winLogErrorAtLine(tls, SQLITE_IOERR|int32(8)<<8, (*WinFile)(unsafe.Pointer(pFile)).FlastErrno, ts+4653, (*WinFile)(unsafe.Pointer(pFile)).FzPath, 46122) } return res @@ -70888,7 +70888,7 @@ func winUnlockReadLock(tls *libc.TLS, pFile uintptr) int32 { /* sqlite3.c:46102: // erases all locks at once and returns us immediately to locking level 0. // It is not possible to lower the locking level one step at a time. You // must go straight to locking level 0. -func winLock(tls *libc.TLS, id uintptr, locktype int32) int32 { /* sqlite3.c:46149:12: */ +func winLock(tls *libc.TLS, id uintptr, locktype int32) int32 { /* sqlite3.c:46155:12: */ var rc int32 = SQLITE_OK // Return code from subroutines var res int32 = 1 // Result of a Windows lock call var newLocktype int32 // Set pFile->locktype to this value before exiting @@ -71008,7 +71008,7 @@ func winLock(tls *libc.TLS, id uintptr, locktype int32) int32 { /* sqlite3.c:461 // This routine checks if there is a RESERVED lock held on the specified // file by this or any other process. If such a lock is held, return // non-zero, otherwise zero. -func winCheckReservedLock(tls *libc.TLS, id uintptr, pResOut uintptr) int32 { /* sqlite3.c:46292:12: */ +func winCheckReservedLock(tls *libc.TLS, id uintptr, pResOut uintptr) int32 { /* sqlite3.c:46298:12: */ var res int32 var pFile uintptr = id @@ -71037,7 +71037,7 @@ func winCheckReservedLock(tls *libc.TLS, id uintptr, pResOut uintptr) int32 { /* // It is not possible for this routine to fail if the second argument // is NO_LOCK. If the second argument is SHARED_LOCK then this routine // might return SQLITE_IOERR; -func winUnlock(tls *libc.TLS, id uintptr, locktype int32) int32 { /* sqlite3.c:46328:12: */ +func winUnlock(tls *libc.TLS, id uintptr, locktype int32) int32 { /* sqlite3.c:46334:12: */ var type1 int32 var pFile uintptr = id var rc int32 = SQLITE_OK @@ -71048,7 +71048,7 @@ func winUnlock(tls *libc.TLS, id uintptr, locktype int32) int32 { /* sqlite3.c:4 if locktype == SHARED_LOCK && !(winGetReadLock(tls, pFile) != 0) { // This should never happen. We should always be able to // reacquire the read lock - rc = winLogErrorAtLine(tls, SQLITE_IOERR|int32(8)<<8, (*(*func(*libc.TLS) DWORD)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 26*24 + 8)))(tls), ts+4671, (*WinFile)(unsafe.Pointer(pFile)).FzPath, 46342) + rc = winLogErrorAtLine(tls, SQLITE_IOERR|int32(8)<<8, (*(*func(*libc.TLS) DWORD)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 26*24 + 8)))(tls), ts+4671, (*WinFile)(unsafe.Pointer(pFile)).FzPath, 46348) } } if type1 >= RESERVED_LOCK { @@ -71082,19 +71082,19 @@ func winUnlock(tls *libc.TLS, id uintptr, locktype int32) int32 { /* sqlite3.c:4 // database connections are accessing the same database file at the same // time and one or more of those connections are writing. -func winNolockLock(tls *libc.TLS, id uintptr, locktype int32) int32 { /* sqlite3.c:46378:12: */ +func winNolockLock(tls *libc.TLS, id uintptr, locktype int32) int32 { /* sqlite3.c:46384:12: */ _ = id _ = locktype return SQLITE_OK } -func winNolockCheckReservedLock(tls *libc.TLS, id uintptr, pResOut uintptr) int32 { /* sqlite3.c:46384:12: */ +func winNolockCheckReservedLock(tls *libc.TLS, id uintptr, pResOut uintptr) int32 { /* sqlite3.c:46390:12: */ _ = id _ = pResOut return SQLITE_OK } -func winNolockUnlock(tls *libc.TLS, id uintptr, locktype int32) int32 { /* sqlite3.c:46390:12: */ +func winNolockUnlock(tls *libc.TLS, id uintptr, locktype int32) int32 { /* sqlite3.c:46396:12: */ _ = id _ = locktype return SQLITE_OK @@ -71108,7 +71108,7 @@ func winNolockUnlock(tls *libc.TLS, id uintptr, locktype int32) int32 { /* sqlit // 1 or 0 depending on whether or not bit mask of pFile->ctrlFlags is set. // // If *pArg is 0 or 1, then clear or set the mask bit of pFile->ctrlFlags. -func winModeBit(tls *libc.TLS, pFile uintptr, mask uint8, pArg uintptr) { /* sqlite3.c:46405:13: */ +func winModeBit(tls *libc.TLS, pFile uintptr, mask uint8, pArg uintptr) { /* sqlite3.c:46411:13: */ if *(*int32)(unsafe.Pointer(pArg)) < 0 { *(*int32)(unsafe.Pointer(pArg)) = libc.Bool32(int32((*WinFile)(unsafe.Pointer(pFile)).FctrlFlags)&int32(mask) != 0) } else if *(*int32)(unsafe.Pointer(pArg)) == 0 { @@ -71119,7 +71119,7 @@ func winModeBit(tls *libc.TLS, pFile uintptr, mask uint8, pArg uintptr) { /* sql } // Control and query of the open file handle. -func winFileControl(tls *libc.TLS, id uintptr, op int32, pArg uintptr) int32 { /* sqlite3.c:46424:12: */ +func winFileControl(tls *libc.TLS, id uintptr, op int32, pArg uintptr) int32 { /* sqlite3.c:46430:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -71265,13 +71265,13 @@ func winFileControl(tls *libc.TLS, id uintptr, op int32, pArg uintptr) int32 { / // if two files are created in the same file-system directory (i.e. // a database and its journal file) that the sector size will be the // same for both. -func winSectorSize(tls *libc.TLS, id uintptr) int32 { /* sqlite3.c:46559:12: */ +func winSectorSize(tls *libc.TLS, id uintptr) int32 { /* sqlite3.c:46565:12: */ _ = id return SQLITE_DEFAULT_SECTOR_SIZE } // Return a vector of device characteristics. -func winDeviceCharacteristics(tls *libc.TLS, id uintptr) int32 { /* sqlite3.c:46567:12: */ +func winDeviceCharacteristics(tls *libc.TLS, id uintptr) int32 { /* sqlite3.c:46573:12: */ var p uintptr = id return SQLITE_IOCAP_UNDELETABLE_WHEN_OPEN | func() int32 { if int32((*WinFile)(unsafe.Pointer(p)).FctrlFlags)&WINFILE_PSOW != 0 { @@ -71285,7 +71285,7 @@ func winDeviceCharacteristics(tls *libc.TLS, id uintptr) int32 { /* sqlite3.c:46 // on allocation size granularity boundaries. // During sqlite3_os_init() we do a GetSystemInfo() // to get the granularity size. -var winSysInfo SYSTEM_INFO /* sqlite3.c:46579:20: */ +var winSysInfo SYSTEM_INFO /* sqlite3.c:46585:20: */ // Helper functions to obtain and relinquish the global mutex. The // global mutex is used to protect the winLockInfo objects used by @@ -71298,13 +71298,13 @@ var winSysInfo SYSTEM_INFO /* sqlite3.c:46579:20: */ // winShmEnterMutex() // assert( winShmMutexHeld() ); // winShmLeaveMutex() -var winBigLock uintptr = uintptr(0) /* sqlite3.c:46596:22 */ +var winBigLock uintptr = uintptr(0) /* sqlite3.c:46602:22 */ -func winShmEnterMutex(tls *libc.TLS) { /* sqlite3.c:46597:13: */ +func winShmEnterMutex(tls *libc.TLS) { /* sqlite3.c:46603:13: */ Xsqlite3_mutex_enter(tls, winBigLock) } -func winShmLeaveMutex(tls *libc.TLS) { /* sqlite3.c:46600:13: */ +func winShmLeaveMutex(tls *libc.TLS) { /* sqlite3.c:46606:13: */ Xsqlite3_mutex_leave(tls, winBigLock) } @@ -71332,17 +71332,17 @@ func winShmLeaveMutex(tls *libc.TLS) { /* sqlite3.c:46600:13: */ type ShmRegion = struct { FhMap HANDLE FpMap uintptr -} /* sqlite3.c:43154:9 */ +} /* sqlite3.c:43160:9 */ // A global array of all winShmNode objects. // // The winShmMutexHeld() must be true while reading or writing this list. -var winShmNodeList uintptr = uintptr(0) /* sqlite3.c:46661:19 */ +var winShmNodeList uintptr = uintptr(0) /* sqlite3.c:46667:19 */ // Constants used for locking // Apply advisory locks for all n bytes beginning at ofst. -func winShmSystemLock(tls *libc.TLS, pFile uintptr, lockType int32, ofst int32, nByte int32) int32 { /* sqlite3.c:46699:12: */ +func winShmSystemLock(tls *libc.TLS, pFile uintptr, lockType int32, ofst int32, nByte int32) int32 { /* sqlite3.c:46705:12: */ var rc int32 = 0 // Result code form Lock/UnlockFileEx() // Access to the winShmNode object is serialized by the caller @@ -71373,7 +71373,7 @@ func winShmSystemLock(tls *libc.TLS, pFile uintptr, lockType int32, ofst int32, // // This is not a VFS shared-memory method; it is a utility function called // by VFS shared-memory methods. -func winShmPurge(tls *libc.TLS, pVfs uintptr, deleteFlag int32) { /* sqlite3.c:46747:13: */ +func winShmPurge(tls *libc.TLS, pVfs uintptr, deleteFlag int32) { /* sqlite3.c:46753:13: */ var pp uintptr var p uintptr @@ -71421,7 +71421,7 @@ func winShmPurge(tls *libc.TLS, pVfs uintptr, deleteFlag int32) { /* sqlite3.c:4 // If the DMS cannot be locked because this is a readonly_shm=1 // connection and no other process already holds a lock, return // SQLITE_READONLY_CANTINIT and set pShmNode->isUnlocked=1. -func winLockSharedMemory(tls *libc.TLS, pShmNode uintptr) int32 { /* sqlite3.c:46798:12: */ +func winLockSharedMemory(tls *libc.TLS, pShmNode uintptr) int32 { /* sqlite3.c:46804:12: */ var rc int32 = winShmSystemLock(tls, pShmNode, WINSHM_WRLCK, (22+SQLITE_SHM_NLOCK)*4+SQLITE_SHM_NLOCK, 1) if rc == SQLITE_OK { @@ -71431,7 +71431,7 @@ func winLockSharedMemory(tls *libc.TLS, pShmNode uintptr) int32 { /* sqlite3.c:4 return SQLITE_READONLY | int32(5)<<8 } else if winTruncate(tls, pShmNode+16, int64(0)) != 0 { winShmSystemLock(tls, pShmNode, WINSHM_UNLCK, (22+SQLITE_SHM_NLOCK)*4+SQLITE_SHM_NLOCK, 1) - return winLogErrorAtLine(tls, SQLITE_IOERR|int32(18)<<8, (*(*func(*libc.TLS) DWORD)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 26*24 + 8)))(tls), ts+4681, (*WinShmNode)(unsafe.Pointer(pShmNode)).FzFilename, 46808) + return winLogErrorAtLine(tls, SQLITE_IOERR|int32(18)<<8, (*(*func(*libc.TLS) DWORD)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 26*24 + 8)))(tls), ts+4681, (*WinShmNode)(unsafe.Pointer(pShmNode)).FzFilename, 46814) } } @@ -71447,7 +71447,7 @@ func winLockSharedMemory(tls *libc.TLS, pShmNode uintptr) int32 { /* sqlite3.c:4 // When opening a new shared-memory file, if no other instances of that // file are currently open, in this process or in other processes, then // the file must be truncated to zero length or have its header cleared. -func winOpenSharedMemory(tls *libc.TLS, pDbFd uintptr) int32 { /* sqlite3.c:46827:12: */ +func winOpenSharedMemory(tls *libc.TLS, pDbFd uintptr) int32 { /* sqlite3.c:46833:12: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -71551,7 +71551,7 @@ __12: if !(rc != SQLITE_OK) { goto __13 } - rc = winLogErrorAtLine(tls, rc, (*(*func(*libc.TLS) DWORD)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 26*24 + 8)))(tls), ts+4721, (*WinShmNode)(unsafe.Pointer(pShmNode)).FzFilename, 46890) + rc = winLogErrorAtLine(tls, rc, (*(*func(*libc.TLS) DWORD)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 26*24 + 8)))(tls), ts+4721, (*WinShmNode)(unsafe.Pointer(pShmNode)).FzFilename, 46896) goto shm_open_err __13: ; @@ -71602,7 +71602,7 @@ shm_open_err: // Close a connection to shared-memory. Delete the underlying // storage if deleteFlag is true. -func winShmUnmap(tls *libc.TLS, fd uintptr, deleteFlag int32) int32 { /* sqlite3.c:46936:12: */ +func winShmUnmap(tls *libc.TLS, fd uintptr, deleteFlag int32) int32 { /* sqlite3.c:46942:12: */ var pDbFd uintptr // Database holding shared-memory var p uintptr // The connection to be closed var pShmNode uintptr // The underlying shared-memory file @@ -71641,14 +71641,22 @@ func winShmUnmap(tls *libc.TLS, fd uintptr, deleteFlag int32) int32 { /* sqlite3 } // Change the lock state for a shared-memory segment. -func winShmLock(tls *libc.TLS, fd uintptr, ofst int32, n int32, flags int32) int32 { /* sqlite3.c:46977:12: */ +func winShmLock(tls *libc.TLS, fd uintptr, ofst int32, n int32, flags int32) int32 { /* sqlite3.c:46983:12: */ var pDbFd uintptr = fd // Connection holding shared memory var p uintptr = (*WinFile)(unsafe.Pointer(pDbFd)).FpShm // The shared memory being locked var pX uintptr // For looping over all siblings - var pShmNode uintptr = (*WinShm)(unsafe.Pointer(p)).FpShmNode + var pShmNode uintptr var rc int32 = SQLITE_OK // Result code var mask U16 // Mask of locks to take or release + if p == uintptr(0) { + return SQLITE_IOERR | int32(20)<<8 + } + pShmNode = (*WinShm)(unsafe.Pointer(p)).FpShmNode + if pShmNode == uintptr(0) { + return SQLITE_IOERR | int32(20)<<8 + } + mask = U16(uint32(1)<<(ofst+n) - uint32(1)< 0 { @@ -72211,7 +72219,7 @@ func winMakeEndInDirSep(tls *libc.TLS, nBuf int32, zBuf uintptr) int32 { /* sqli // Create a temporary file name and store the resulting pointer into pzBuf. // The pointer returned in pzBuf must be freed via sqlite3_free(). -func winGetTempname(tls *libc.TLS, pVfs uintptr, pzBuf uintptr) int32 { /* sqlite3.c:47633:12: */ +func winGetTempname(tls *libc.TLS, pVfs uintptr, pzBuf uintptr) int32 { /* sqlite3.c:47643:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -72252,7 +72260,7 @@ func winGetTempname(tls *libc.TLS, pVfs uintptr, pzBuf uintptr) int32 { /* sqlit if nDirLen > nDir { Xsqlite3_free(tls, zBuf) - return winLogErrorAtLine(tls, SQLITE_ERROR, uint32(0), ts+4825, uintptr(0), 47674) + return winLogErrorAtLine(tls, SQLITE_ERROR, uint32(0), ts+4825, uintptr(0), 47684) } Xsqlite3_snprintf(tls, nMax, zBuf, ts+4444, libc.VaList(bp, Xsqlite3_temp_directory)) } @@ -72268,7 +72276,7 @@ func winGetTempname(tls *libc.TLS, pVfs uintptr, pzBuf uintptr) int32 { /* sqlit Xsqlite3_free(tls, zWidePath) Xsqlite3_free(tls, zBuf) - return winLogErrorAtLine(tls, SQLITE_IOERR|int32(25)<<8, (*(*func(*libc.TLS) DWORD)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 26*24 + 8)))(tls), ts+4841, uintptr(0), 47772) + return winLogErrorAtLine(tls, SQLITE_IOERR|int32(25)<<8, (*(*func(*libc.TLS) DWORD)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 26*24 + 8)))(tls), ts+4841, uintptr(0), 47782) } zMulti = winUnicodeToUtf8(tls, zWidePath) if zMulti != 0 { @@ -72292,7 +72300,7 @@ func winGetTempname(tls *libc.TLS, pVfs uintptr, pzBuf uintptr) int32 { /* sqlit if (*(*func(*libc.TLS, DWORD, LPSTR) DWORD)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 31*24 + 8)))(tls, uint32(nMax), zMbcsPath) == DWORD(0) { Xsqlite3_free(tls, zBuf) - return winLogErrorAtLine(tls, SQLITE_IOERR|int32(25)<<8, (*(*func(*libc.TLS) DWORD)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 26*24 + 8)))(tls), ts+4857, uintptr(0), 47799) + return winLogErrorAtLine(tls, SQLITE_IOERR|int32(25)<<8, (*(*func(*libc.TLS) DWORD)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 26*24 + 8)))(tls), ts+4857, uintptr(0), 47809) } zUtf8 = winMbcsToUtf8(tls, zMbcsPath, (*(*func(*libc.TLS) WINBOOL)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 8)))(tls)) if zUtf8 != 0 { @@ -72311,7 +72319,7 @@ func winGetTempname(tls *libc.TLS, pVfs uintptr, pzBuf uintptr) int32 { /* sqlit if !(winMakeEndInDirSep(tls, nDir+1, zBuf) != 0) { Xsqlite3_free(tls, zBuf) - return winLogErrorAtLine(tls, SQLITE_ERROR, uint32(0), ts+4873, uintptr(0), 47823) + return winLogErrorAtLine(tls, SQLITE_ERROR, uint32(0), ts+4873, uintptr(0), 47833) } // Check that the output buffer is large enough for the temporary file @@ -72327,7 +72335,7 @@ func winGetTempname(tls *libc.TLS, pVfs uintptr, pzBuf uintptr) int32 { /* sqlit if nLen+nPre+17 > nBuf { Xsqlite3_free(tls, zBuf) - return winLogErrorAtLine(tls, SQLITE_ERROR, uint32(0), ts+4889, uintptr(0), 47841) + return winLogErrorAtLine(tls, SQLITE_ERROR, uint32(0), ts+4889, uintptr(0), 47851) } Xsqlite3_snprintf(tls, nBuf-16-nLen, zBuf+uintptr(nLen), ts+4817, 0) @@ -72358,12 +72366,12 @@ __3: return SQLITE_OK } -var zChars = *(*[63]int8)(unsafe.Pointer(ts + 4905)) /* sqlite3.c:47634:15 */ +var zChars = *(*[63]int8)(unsafe.Pointer(ts + 4905)) /* sqlite3.c:47644:15 */ // Return TRUE if the named file is really a directory. Return false if // it is something other than a directory, or if there is any kind of memory // allocation failure. -func winIsDir(tls *libc.TLS, zConverted uintptr) int32 { /* sqlite3.c:47864:12: */ +func winIsDir(tls *libc.TLS, zConverted uintptr) int32 { /* sqlite3.c:47874:12: */ bp := tls.Alloc(44) defer tls.Free(44) @@ -72391,7 +72399,7 @@ func winIsDir(tls *libc.TLS, zConverted uintptr) int32 { /* sqlite3.c:47864:12: } // Open a file. -func winOpen(tls *libc.TLS, pVfs uintptr, zName uintptr, id uintptr, flags int32, pOutFlags uintptr) int32 { /* sqlite3.c:47899:12: */ +func winOpen(tls *libc.TLS, pVfs uintptr, zName uintptr, id uintptr, flags int32, pOutFlags uintptr) int32 { /* sqlite3.c:47909:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -72547,7 +72555,7 @@ func winOpen(tls *libc.TLS, pVfs uintptr, zName uintptr, id uintptr, flags int32 } } } - winLogIoerr(tls, *(*int32)(unsafe.Pointer(bp + 8 /* cnt */)), 48130) + winLogIoerr(tls, *(*int32)(unsafe.Pointer(bp + 8 /* cnt */)), 48140) if h == libc.UintptrFromInt64(int64(-1)) { Xsqlite3_free(tls, zConverted) @@ -72558,8 +72566,8 @@ func winOpen(tls *libc.TLS, pVfs uintptr, zName uintptr, id uintptr, flags int32 pOutFlags) } else { (*WinFile)(unsafe.Pointer(pFile)).FlastErrno = *(*DWORD)(unsafe.Pointer(bp + 12 /* lastErrno */)) - winLogErrorAtLine(tls, SQLITE_CANTOPEN, (*WinFile)(unsafe.Pointer(pFile)).FlastErrno, ts+4978, zUtf8Name, 48145) - return Xsqlite3CantopenError(tls, 48146) + winLogErrorAtLine(tls, SQLITE_CANTOPEN, (*WinFile)(unsafe.Pointer(pFile)).FlastErrno, ts+4978, zUtf8Name, 48155) + return Xsqlite3CantopenError(tls, 48156) } } @@ -72614,7 +72622,7 @@ func winOpen(tls *libc.TLS, pVfs uintptr, zName uintptr, id uintptr, flags int32 // problem, we delay 100 milliseconds and try to delete again. Up // to MX_DELETION_ATTEMPTs deletion attempts are run before giving // up and returning an error. -func winDelete(tls *libc.TLS, pVfs uintptr, zFilename uintptr, syncDir int32) int32 { /* sqlite3.c:48222:12: */ +func winDelete(tls *libc.TLS, pVfs uintptr, zFilename uintptr, syncDir int32) int32 { /* sqlite3.c:48232:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -72685,9 +72693,9 @@ func winDelete(tls *libc.TLS, pVfs uintptr, zFilename uintptr, syncDir int32) in } } if rc != 0 && rc != SQLITE_IOERR|int32(23)<<8 { - rc = winLogErrorAtLine(tls, SQLITE_IOERR|int32(10)<<8, *(*DWORD)(unsafe.Pointer(bp + 4 /* lastErrno */)), ts+4991, zFilename, 48318) + rc = winLogErrorAtLine(tls, SQLITE_IOERR|int32(10)<<8, *(*DWORD)(unsafe.Pointer(bp + 4 /* lastErrno */)), ts+4991, zFilename, 48328) } else { - winLogIoerr(tls, *(*int32)(unsafe.Pointer(bp /* cnt */)), 48320) + winLogIoerr(tls, *(*int32)(unsafe.Pointer(bp /* cnt */)), 48330) } Xsqlite3_free(tls, zConverted) @@ -72695,7 +72703,7 @@ func winDelete(tls *libc.TLS, pVfs uintptr, zFilename uintptr, syncDir int32) in } // Check the existence and status of a file. -func winAccess(tls *libc.TLS, pVfs uintptr, zFilename uintptr, flags int32, pResOut uintptr) int32 { /* sqlite3.c:48330:12: */ +func winAccess(tls *libc.TLS, pVfs uintptr, zFilename uintptr, flags int32, pResOut uintptr) int32 { /* sqlite3.c:48340:12: */ bp := tls.Alloc(44) defer tls.Free(44) @@ -72730,10 +72738,10 @@ func winAccess(tls *libc.TLS, pVfs uintptr, zFilename uintptr, flags int32, pRes attr = (*WIN32_FILE_ATTRIBUTE_DATA)(unsafe.Pointer(bp /* &sAttrData */)).FdwFileAttributes } } else { - winLogIoerr(tls, *(*int32)(unsafe.Pointer(bp + 36 /* cnt */)), 48370) + winLogIoerr(tls, *(*int32)(unsafe.Pointer(bp + 36 /* cnt */)), 48380) if *(*DWORD)(unsafe.Pointer(bp + 40)) != DWORD(2) && *(*DWORD)(unsafe.Pointer(bp + 40)) != DWORD(3) { Xsqlite3_free(tls, zConverted) - return winLogErrorAtLine(tls, SQLITE_IOERR|int32(13)<<8, *(*DWORD)(unsafe.Pointer(bp + 40 /* lastErrno */)), ts+5001, zFilename, 48373) + return winLogErrorAtLine(tls, SQLITE_IOERR|int32(13)<<8, *(*DWORD)(unsafe.Pointer(bp + 40 /* lastErrno */)), ts+5001, zFilename, 48383) } else { attr = libc.Uint32(libc.Uint32FromInt32(-1)) } @@ -72761,14 +72769,14 @@ func winAccess(tls *libc.TLS, pVfs uintptr, zFilename uintptr, flags int32, pRes // Returns non-zero if the specified path name starts with the "long path" // prefix. -func winIsLongPathPrefix(tls *libc.TLS, zPathname uintptr) WINBOOL { /* sqlite3.c:48408:13: */ +func winIsLongPathPrefix(tls *libc.TLS, zPathname uintptr) WINBOOL { /* sqlite3.c:48418:13: */ return libc.Bool32(int32(*(*int8)(unsafe.Pointer(zPathname))) == '\\' && int32(*(*int8)(unsafe.Pointer(zPathname + 1))) == '\\' && int32(*(*int8)(unsafe.Pointer(zPathname + 2))) == '?' && int32(*(*int8)(unsafe.Pointer(zPathname + 3))) == '\\') } // Returns non-zero if the specified path name starts with a drive letter // followed by a colon character. -func winIsDriveLetterAndColon(tls *libc.TLS, zPathname uintptr) WINBOOL { /* sqlite3.c:48419:13: */ +func winIsDriveLetterAndColon(tls *libc.TLS, zPathname uintptr) WINBOOL { /* sqlite3.c:48429:13: */ return libc.Bool32(int32(Xsqlite3CtypeMap[uint8(*(*int8)(unsafe.Pointer(zPathname)))])&0x02 != 0 && int32(*(*int8)(unsafe.Pointer(zPathname + 1))) == ':') } @@ -72776,7 +72784,7 @@ func winIsDriveLetterAndColon(tls *libc.TLS, zPathname uintptr) WINBOOL { /* sql // non-zero is returned from this function, the calling function must simply // use the provided path name verbatim -OR- resolve it into a full path name // using the GetFullPathName Win32 API function (if available). -func winIsVerbatimPathname(tls *libc.TLS, zPathname uintptr) WINBOOL { /* sqlite3.c:48431:13: */ +func winIsVerbatimPathname(tls *libc.TLS, zPathname uintptr) WINBOOL { /* sqlite3.c:48441:13: */ // If the path name starts with a forward slash or a backslash, it is either // a legal UNC name, a volume relative path, or an absolute path name in the // "Unix" format on Windows. There is no easy way to differentiate between @@ -72802,7 +72810,7 @@ func winIsVerbatimPathname(tls *libc.TLS, zPathname uintptr) WINBOOL { /* sqlite // Turn a relative pathname into a full pathname. Write the full // pathname into zOut[]. zOut[] will be at least pVfs->mxPathname // bytes in size. -func winFullPathname(tls *libc.TLS, pVfs uintptr, zRelative uintptr, nFull int32, zFull uintptr) int32 { /* sqlite3.c:48467:12: */ +func winFullPathname(tls *libc.TLS, pVfs uintptr, zRelative uintptr, nFull int32, zFull uintptr) int32 { /* sqlite3.c:48477:12: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -72845,7 +72853,7 @@ func winFullPathname(tls *libc.TLS, pVfs uintptr, zRelative uintptr, nFull int32 nByte = (*(*func(*libc.TLS, LPCWSTR, DWORD, LPWSTR, uintptr) DWORD)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 25*24 + 8)))(tls, zConverted, uint32(0), uintptr(0), uintptr(0)) if nByte == DWORD(0) { Xsqlite3_free(tls, zConverted) - return winLogErrorAtLine(tls, SQLITE_CANTOPEN|int32(3)<<8, (*(*func(*libc.TLS) DWORD)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 26*24 + 8)))(tls), ts+5018, zRelative, 48590) + return winLogErrorAtLine(tls, SQLITE_CANTOPEN|int32(3)<<8, (*(*func(*libc.TLS) DWORD)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 26*24 + 8)))(tls), ts+5018, zRelative, 48600) } nByte = nByte + DWORD(3) zTemp = Xsqlite3MallocZero(tls, uint64(nByte)*uint64(unsafe.Sizeof(WCHAR(0)))) @@ -72857,7 +72865,7 @@ func winFullPathname(tls *libc.TLS, pVfs uintptr, zRelative uintptr, nFull int32 if nByte == DWORD(0) { Xsqlite3_free(tls, zConverted) Xsqlite3_free(tls, zTemp) - return winLogErrorAtLine(tls, SQLITE_CANTOPEN|int32(3)<<8, (*(*func(*libc.TLS) DWORD)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 26*24 + 8)))(tls), ts+5035, zRelative, 48603) + return winLogErrorAtLine(tls, SQLITE_CANTOPEN|int32(3)<<8, (*(*func(*libc.TLS) DWORD)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 26*24 + 8)))(tls), ts+5035, zRelative, 48613) } Xsqlite3_free(tls, zConverted) zOut = winUnicodeToUtf8(tls, zTemp) @@ -72867,7 +72875,7 @@ func winFullPathname(tls *libc.TLS, pVfs uintptr, zRelative uintptr, nFull int32 nByte = (*(*func(*libc.TLS, LPCSTR, DWORD, LPSTR, uintptr) DWORD)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 24*24 + 8)))(tls, zConverted, uint32(0), uintptr(0), uintptr(0)) if nByte == DWORD(0) { Xsqlite3_free(tls, zConverted) - return winLogErrorAtLine(tls, SQLITE_CANTOPEN|int32(3)<<8, (*(*func(*libc.TLS) DWORD)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 26*24 + 8)))(tls), ts+5052, zRelative, 48616) + return winLogErrorAtLine(tls, SQLITE_CANTOPEN|int32(3)<<8, (*(*func(*libc.TLS) DWORD)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 26*24 + 8)))(tls), ts+5052, zRelative, 48626) } nByte = nByte + DWORD(3) zTemp = Xsqlite3MallocZero(tls, uint64(nByte)*uint64(unsafe.Sizeof(int8(0)))) @@ -72879,7 +72887,7 @@ func winFullPathname(tls *libc.TLS, pVfs uintptr, zRelative uintptr, nFull int32 if nByte == DWORD(0) { Xsqlite3_free(tls, zConverted) Xsqlite3_free(tls, zTemp) - return winLogErrorAtLine(tls, SQLITE_CANTOPEN|int32(3)<<8, (*(*func(*libc.TLS) DWORD)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 26*24 + 8)))(tls), ts+5069, zRelative, 48629) + return winLogErrorAtLine(tls, SQLITE_CANTOPEN|int32(3)<<8, (*(*func(*libc.TLS) DWORD)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 26*24 + 8)))(tls), ts+5069, zRelative, 48639) } Xsqlite3_free(tls, zConverted) zOut = winMbcsToUtf8(tls, zTemp, (*(*func(*libc.TLS) WINBOOL)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 8)))(tls)) @@ -72902,7 +72910,7 @@ func winFullPathname(tls *libc.TLS, pVfs uintptr, zRelative uintptr, nFull int32 // Interfaces for opening a shared library, finding entry points // within the shared library, and closing the shared library. -func winDlOpen(tls *libc.TLS, pVfs uintptr, zFilename uintptr) uintptr { /* sqlite3.c:48652:13: */ +func winDlOpen(tls *libc.TLS, pVfs uintptr, zFilename uintptr) uintptr { /* sqlite3.c:48662:13: */ var h HANDLE var zConverted uintptr = winConvertFromUtf8Filename(tls, zFilename) _ = pVfs @@ -72920,12 +72928,12 @@ func winDlOpen(tls *libc.TLS, pVfs uintptr, zFilename uintptr) uintptr { /* sqli return h } -func winDlError(tls *libc.TLS, pVfs uintptr, nBuf int32, zBufOut uintptr) { /* sqlite3.c:48693:13: */ +func winDlError(tls *libc.TLS, pVfs uintptr, nBuf int32, zBufOut uintptr) { /* sqlite3.c:48703:13: */ _ = pVfs winGetLastErrorMsg(tls, (*(*func(*libc.TLS) DWORD)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 26*24 + 8)))(tls), nBuf, zBufOut) } -func winDlSym(tls *libc.TLS, pVfs uintptr, pH uintptr, zSym uintptr) uintptr { /* sqlite3.c:48697:13: */ +func winDlSym(tls *libc.TLS, pVfs uintptr, pH uintptr, zSym uintptr) uintptr { /* sqlite3.c:48707:13: */ var proc FARPROC _ = pVfs proc = (*(*func(*libc.TLS, HMODULE, LPCSTR) FARPROC)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 27*24 + 8)))(tls, pH, zSym) @@ -72933,7 +72941,7 @@ func winDlSym(tls *libc.TLS, pVfs uintptr, pH uintptr, zSym uintptr) uintptr { / return proc } -func winDlClose(tls *libc.TLS, pVfs uintptr, pHandle uintptr) { /* sqlite3.c:48705:13: */ +func winDlClose(tls *libc.TLS, pVfs uintptr, pHandle uintptr) { /* sqlite3.c:48715:13: */ _ = pVfs (*(*func(*libc.TLS, HMODULE) WINBOOL)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 16*24 + 8)))(tls, pHandle) @@ -72946,13 +72954,13 @@ type EntropyGatherer1 = struct { Fi int32 FnXor int32 F__ccgo_pad1 [4]byte -} /* sqlite3.c:48718:9 */ +} /* sqlite3.c:48728:9 */ // State information for the randomness gatherer. -type EntropyGatherer = EntropyGatherer1 /* sqlite3.c:48718:32 */ +type EntropyGatherer = EntropyGatherer1 /* sqlite3.c:48728:32 */ // Mix sz bytes of entropy into p. -func xorMemory(tls *libc.TLS, p uintptr, x uintptr, sz int32) { /* sqlite3.c:48728:13: */ +func xorMemory(tls *libc.TLS, p uintptr, x uintptr, sz int32) { /* sqlite3.c:48738:13: */ var j int32 var k int32 j = 0 @@ -72968,7 +72976,7 @@ func xorMemory(tls *libc.TLS, p uintptr, x uintptr, sz int32) { /* sqlite3.c:487 } // Write up to nBuf bytes of randomness into zBuf. -func winRandomness(tls *libc.TLS, pVfs uintptr, nBuf int32, zBuf uintptr) int32 { /* sqlite3.c:48742:12: */ +func winRandomness(tls *libc.TLS, pVfs uintptr, nBuf int32, zBuf uintptr) int32 { /* sqlite3.c:48752:12: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -73011,7 +73019,7 @@ func winRandomness(tls *libc.TLS, pVfs uintptr, nBuf int32, zBuf uintptr) int32 } // Sleep for a little while. Return the amount of time slept. -func winSleep(tls *libc.TLS, pVfs uintptr, microsec int32) int32 { /* sqlite3.c:48799:12: */ +func winSleep(tls *libc.TLS, pVfs uintptr, microsec int32) int32 { /* sqlite3.c:48809:12: */ Xsqlite3_win32_sleep(tls, uint32((microsec+999)/1000)) _ = pVfs return (microsec + 999) / 1000 * 1000 @@ -73029,7 +73037,7 @@ func winSleep(tls *libc.TLS, pVfs uintptr, microsec int32) int32 { /* sqlite3.c: // // On success, return SQLITE_OK. Return SQLITE_ERROR if the time and date // cannot be found. -func winCurrentTimeInt64(tls *libc.TLS, pVfs uintptr, piNow uintptr) int32 { /* sqlite3.c:48824:12: */ +func winCurrentTimeInt64(tls *libc.TLS, pVfs uintptr, piNow uintptr) int32 { /* sqlite3.c:48834:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -73046,13 +73054,13 @@ func winCurrentTimeInt64(tls *libc.TLS, pVfs uintptr, piNow uintptr) int32 { /* return SQLITE_OK } -var winFiletimeEpoch Sqlite3_int64 = int64(23058135) * int64(8640000) /* sqlite3.c:48829:30 */ -var max32BitValue Sqlite3_int64 = int64(2000000000) + int64(2000000000) + int64(294967296) /* sqlite3.c:48834:30 */ +var winFiletimeEpoch Sqlite3_int64 = int64(23058135) * int64(8640000) /* sqlite3.c:48839:30 */ +var max32BitValue Sqlite3_int64 = int64(2000000000) + int64(2000000000) + int64(294967296) /* sqlite3.c:48844:30 */ // Find the current time (in Universal Coordinated Time). Write the // current time and date as a Julian Day number into *prNow and // return 0. Return 1 if the time and date cannot be found. -func winCurrentTime(tls *libc.TLS, pVfs uintptr, prNow uintptr) int32 { /* sqlite3.c:48867:12: */ +func winCurrentTime(tls *libc.TLS, pVfs uintptr, prNow uintptr) int32 { /* sqlite3.c:48877:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -73094,7 +73102,7 @@ func winCurrentTime(tls *libc.TLS, pVfs uintptr, prNow uintptr) int32 { /* sqlit // However if an error message is supplied, it will be incorporated // by sqlite into the error message available to the user using // sqlite3_errmsg(), possibly making IO errors easier to debug. -func winGetLastError(tls *libc.TLS, pVfs uintptr, nBuf int32, zBuf uintptr) int32 { /* sqlite3.c:48907:12: */ +func winGetLastError(tls *libc.TLS, pVfs uintptr, nBuf int32, zBuf uintptr) int32 { /* sqlite3.c:48917:12: */ var e DWORD = (*(*func(*libc.TLS) DWORD)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 26*24 + 8)))(tls) _ = pVfs if nBuf > 0 { @@ -73104,7 +73112,7 @@ func winGetLastError(tls *libc.TLS, pVfs uintptr, nBuf int32, zBuf uintptr) int3 } // Initialize and deinitialize the operating system interface. -func Xsqlite3_os_init(tls *libc.TLS) int32 { /* sqlite3.c:48917:16: */ +func Xsqlite3_os_init(tls *libc.TLS) int32 { /* sqlite3.c:48927:16: */ // Double-check that the aSyscall[] array has been constructed // correctly. See ticket [bb3a86e890c8e96ab] @@ -73148,7 +73156,7 @@ var winVfs = Sqlite3_vfs{ FxSetSystemCall: 0, // xSetSystemCall FxGetSystemCall: 0, // xGetSystemCall FxNextSystemCall: 0, // xNextSystemCall -} /* sqlite3.c:48918:22 */ +} /* sqlite3.c:48928:22 */ var winLongPathVfs = Sqlite3_vfs{ FiVersion: 3, // iVersion FszOsFile: int32(unsafe.Sizeof(WinFile{})), // szOsFile @@ -73171,7 +73179,7 @@ var winLongPathVfs = Sqlite3_vfs{ FxSetSystemCall: 0, // xSetSystemCall FxGetSystemCall: 0, // xGetSystemCall FxNextSystemCall: 0, // xNextSystemCall -} /* sqlite3.c:48943:22 */ +} /* sqlite3.c:48953:22 */ var winNolockVfs = Sqlite3_vfs{ FiVersion: 3, // iVersion FszOsFile: int32(unsafe.Sizeof(WinFile{})), // szOsFile @@ -73194,7 +73202,7 @@ var winNolockVfs = Sqlite3_vfs{ FxSetSystemCall: 0, // xSetSystemCall FxGetSystemCall: 0, // xGetSystemCall FxNextSystemCall: 0, // xNextSystemCall -} /* sqlite3.c:48968:22 */ +} /* sqlite3.c:48978:22 */ var winLongPathNolockVfs = Sqlite3_vfs{ FiVersion: 3, // iVersion FszOsFile: int32(unsafe.Sizeof(WinFile{})), // szOsFile @@ -73217,9 +73225,9 @@ var winLongPathNolockVfs = Sqlite3_vfs{ FxSetSystemCall: 0, // xSetSystemCall FxGetSystemCall: 0, // xGetSystemCall FxNextSystemCall: 0, // xNextSystemCall -} /* sqlite3.c:48993:22 */ +} /* sqlite3.c:49003:22 */ -func Xsqlite3_os_end(tls *libc.TLS) int32 { /* sqlite3.c:49052:16: */ +func Xsqlite3_os_end(tls *libc.TLS) int32 { /* sqlite3.c:49062:16: */ winBigLock = uintptr(0) @@ -73247,15 +73255,15 @@ func Xsqlite3_os_end(tls *libc.TLS) int32 { /* sqlite3.c:49052:16: */ // #include "sqliteInt.h" // Forward declaration of objects used by this utility -type MemVfs = sqlite3_vfs /* sqlite3.c:49095:28 */ +type MemVfs = sqlite3_vfs /* sqlite3.c:49105:28 */ type MemFile1 = struct { Fbase Sqlite3_file FpStore uintptr FeLock int32 F__ccgo_pad1 [4]byte -} /* sqlite3.c:49096:9 */ +} /* sqlite3.c:49106:9 */ -type MemFile = MemFile1 /* sqlite3.c:49096:24 */ +type MemFile = MemFile1 /* sqlite3.c:49106:24 */ type MemStore1 = struct { Fsz Sqlite3_int64 FszAlloc Sqlite3_int64 @@ -73269,9 +73277,9 @@ type MemStore1 = struct { FnRef int32 F__ccgo_pad1 [4]byte FzFName uintptr -} /* sqlite3.c:49096:9 */ +} /* sqlite3.c:49106:9 */ -type MemStore = MemStore1 /* sqlite3.c:49097:25 */ +type MemStore = MemStore1 /* sqlite3.c:49107:25 */ // File-scope variables for holding the memdb files that are accessible // to multiple database connections in separate threads. @@ -73281,13 +73289,13 @@ type MemFS = struct { FnMemStore int32 F__ccgo_pad1 [4]byte FapMemStore uintptr -} /* sqlite3.c:49167:8 */ +} /* sqlite3.c:49177:8 */ // File-scope variables for holding the memdb files that are accessible // to multiple database connections in separate threads. // // Must hold SQLITE_MUTEX_STATIC_VFS1 to access any part of this object. -var memdb_g MemFS /* sqlite3.c:49170:3: */ +var memdb_g MemFS /* sqlite3.c:49180:3: */ var memdb_vfs = Sqlite3_vfs{ FiVersion: 2, // szOsFile (set when registered) @@ -73304,7 +73312,7 @@ var memdb_vfs = Sqlite3_vfs{ FxSleep: 0, /* memdbCurrentTime, */ // xCurrentTime FxGetLastError: 0, // xGetLastError FxCurrentTimeInt64: 0, // xNextSystemCall -} /* sqlite3.c:49206:20 */ +} /* sqlite3.c:49216:20 */ var memdb_io_methods = Sqlite3_io_methods{ FiVersion: 3, // iVersion @@ -73320,21 +73328,21 @@ var memdb_io_methods = Sqlite3_io_methods{ FxDeviceCharacteristics: 0, // xShmUnmap FxFetch: 0, // xFetch FxUnfetch: 0, // xUnfetch -} /* sqlite3.c:49231:33 */ +} /* sqlite3.c:49241:33 */ // Enter/leave the mutex on a MemStore -func memdbEnter(tls *libc.TLS, p uintptr) { /* sqlite3.c:49264:13: */ +func memdbEnter(tls *libc.TLS, p uintptr) { /* sqlite3.c:49274:13: */ Xsqlite3_mutex_enter(tls, (*MemStore)(unsafe.Pointer(p)).FpMutex) } -func memdbLeave(tls *libc.TLS, p uintptr) { /* sqlite3.c:49267:13: */ +func memdbLeave(tls *libc.TLS, p uintptr) { /* sqlite3.c:49277:13: */ Xsqlite3_mutex_leave(tls, (*MemStore)(unsafe.Pointer(p)).FpMutex) } // Close an memdb-file. // Free the underlying MemStore object when its refcount drops to zero // or less. -func memdbClose(tls *libc.TLS, pFile uintptr) int32 { /* sqlite3.c:49279:12: */ +func memdbClose(tls *libc.TLS, pFile uintptr) int32 { /* sqlite3.c:49289:12: */ var p uintptr = (*MemFile)(unsafe.Pointer(pFile)).FpStore if (*MemStore)(unsafe.Pointer(p)).FzFName != 0 { var i int32 @@ -73372,7 +73380,7 @@ func memdbClose(tls *libc.TLS, pFile uintptr) int32 { /* sqlite3.c:49279:12: */ } // Read data from an memdb-file. -func memdbRead(tls *libc.TLS, pFile uintptr, zBuf uintptr, iAmt int32, iOfst Sqlite_int64) int32 { /* sqlite3.c:49321:12: */ +func memdbRead(tls *libc.TLS, pFile uintptr, zBuf uintptr, iAmt int32, iOfst Sqlite_int64) int32 { /* sqlite3.c:49331:12: */ var p uintptr = (*MemFile)(unsafe.Pointer(pFile)).FpStore memdbEnter(tls, p) if iOfst+Sqlite_int64(iAmt) > (*MemStore)(unsafe.Pointer(p)).Fsz { @@ -73389,7 +73397,7 @@ func memdbRead(tls *libc.TLS, pFile uintptr, zBuf uintptr, iAmt int32, iOfst Sql } // Try to enlarge the memory allocation to hold at least sz bytes -func memdbEnlarge(tls *libc.TLS, p uintptr, newSz Sqlite3_int64) int32 { /* sqlite3.c:49343:12: */ +func memdbEnlarge(tls *libc.TLS, p uintptr, newSz Sqlite3_int64) int32 { /* sqlite3.c:49353:12: */ var pNew uintptr if (*MemStore)(unsafe.Pointer(p)).FmFlags&uint32(SQLITE_DESERIALIZE_RESIZEABLE) == uint32(0) || (*MemStore)(unsafe.Pointer(p)).FnMmap > 0 { return SQLITE_FULL @@ -73411,7 +73419,7 @@ func memdbEnlarge(tls *libc.TLS, p uintptr, newSz Sqlite3_int64) int32 { /* sqli } // Write data to an memdb-file. -func memdbWrite(tls *libc.TLS, pFile uintptr, z uintptr, iAmt int32, iOfst Sqlite_int64) int32 { /* sqlite3.c:49363:12: */ +func memdbWrite(tls *libc.TLS, pFile uintptr, z uintptr, iAmt int32, iOfst Sqlite_int64) int32 { /* sqlite3.c:49373:12: */ var p uintptr = (*MemFile)(unsafe.Pointer(pFile)).FpStore memdbEnter(tls, p) if (*MemStore)(unsafe.Pointer(p)).FmFlags&uint32(SQLITE_DESERIALIZE_READONLY) != 0 { @@ -73442,7 +73450,7 @@ func memdbWrite(tls *libc.TLS, pFile uintptr, z uintptr, iAmt int32, iOfst Sqlit // In rollback mode (which is always the case for memdb, as it does not // support WAL mode) the truncate() method is only used to reduce // the size of a file, never to increase the size. -func memdbTruncate(tls *libc.TLS, pFile uintptr, size Sqlite_int64) int32 { /* sqlite3.c:49400:12: */ +func memdbTruncate(tls *libc.TLS, pFile uintptr, size Sqlite_int64) int32 { /* sqlite3.c:49410:12: */ var p uintptr = (*MemFile)(unsafe.Pointer(pFile)).FpStore var rc int32 = SQLITE_OK memdbEnter(tls, p) @@ -73457,14 +73465,14 @@ func memdbTruncate(tls *libc.TLS, pFile uintptr, size Sqlite_int64) int32 { /* s } // Sync an memdb-file. -func memdbSync(tls *libc.TLS, pFile uintptr, flags int32) int32 { /* sqlite3.c:49417:12: */ +func memdbSync(tls *libc.TLS, pFile uintptr, flags int32) int32 { /* sqlite3.c:49427:12: */ _ = pFile _ = flags return SQLITE_OK } // Return the current file-size of an memdb-file. -func memdbFileSize(tls *libc.TLS, pFile uintptr, pSize uintptr) int32 { /* sqlite3.c:49426:12: */ +func memdbFileSize(tls *libc.TLS, pFile uintptr, pSize uintptr) int32 { /* sqlite3.c:49436:12: */ var p uintptr = (*MemFile)(unsafe.Pointer(pFile)).FpStore memdbEnter(tls, p) *(*Sqlite_int64)(unsafe.Pointer(pSize)) = (*MemStore)(unsafe.Pointer(p)).Fsz @@ -73473,7 +73481,7 @@ func memdbFileSize(tls *libc.TLS, pFile uintptr, pSize uintptr) int32 { /* sqlit } // Lock an memdb-file. -func memdbLock(tls *libc.TLS, pFile uintptr, eLock int32) int32 { /* sqlite3.c:49437:12: */ +func memdbLock(tls *libc.TLS, pFile uintptr, eLock int32) int32 { /* sqlite3.c:49447:12: */ var pThis uintptr = pFile var p uintptr = (*MemFile)(unsafe.Pointer(pThis)).FpStore var rc int32 = SQLITE_OK @@ -73517,7 +73525,7 @@ func memdbLock(tls *libc.TLS, pFile uintptr, eLock int32) int32 { /* sqlite3.c:4 } // File control method. For custom operations on an memdb-file. -func memdbFileControl(tls *libc.TLS, pFile uintptr, op int32, pArg uintptr) int32 { /* sqlite3.c:49491:12: */ +func memdbFileControl(tls *libc.TLS, pFile uintptr, op int32, pArg uintptr) int32 { /* sqlite3.c:49501:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -73546,13 +73554,13 @@ func memdbFileControl(tls *libc.TLS, pFile uintptr, op int32, pArg uintptr) int3 } // Return the device characteristic flags supported by an memdb-file. -func memdbDeviceCharacteristics(tls *libc.TLS, pFile uintptr) int32 { /* sqlite3.c:49528:12: */ +func memdbDeviceCharacteristics(tls *libc.TLS, pFile uintptr) int32 { /* sqlite3.c:49538:12: */ _ = pFile return SQLITE_IOCAP_ATOMIC | SQLITE_IOCAP_POWERSAFE_OVERWRITE | SQLITE_IOCAP_SAFE_APPEND | SQLITE_IOCAP_SEQUENTIAL } // Fetch a page of a memory-mapped file -func memdbFetch(tls *libc.TLS, pFile uintptr, iOfst Sqlite3_int64, iAmt int32, pp uintptr) int32 { /* sqlite3.c:49537:12: */ +func memdbFetch(tls *libc.TLS, pFile uintptr, iOfst Sqlite3_int64, iAmt int32, pp uintptr) int32 { /* sqlite3.c:49547:12: */ var p uintptr = (*MemFile)(unsafe.Pointer(pFile)).FpStore memdbEnter(tls, p) if iOfst+Sqlite3_int64(iAmt) > (*MemStore)(unsafe.Pointer(p)).Fsz || (*MemStore)(unsafe.Pointer(p)).FmFlags&uint32(SQLITE_DESERIALIZE_RESIZEABLE) != uint32(0) { @@ -73566,7 +73574,7 @@ func memdbFetch(tls *libc.TLS, pFile uintptr, iOfst Sqlite3_int64, iAmt int32, p } // Release a memory-mapped page -func memdbUnfetch(tls *libc.TLS, pFile uintptr, iOfst Sqlite3_int64, pPage uintptr) int32 { /* sqlite3.c:49556:12: */ +func memdbUnfetch(tls *libc.TLS, pFile uintptr, iOfst Sqlite3_int64, pPage uintptr) int32 { /* sqlite3.c:49566:12: */ var p uintptr = (*MemFile)(unsafe.Pointer(pFile)).FpStore _ = iOfst _ = pPage @@ -73577,7 +73585,7 @@ func memdbUnfetch(tls *libc.TLS, pFile uintptr, iOfst Sqlite3_int64, pPage uintp } // Open an mem file handle. -func memdbOpen(tls *libc.TLS, pVfs uintptr, zName uintptr, pFd uintptr, flags int32, pOutFlags uintptr) int32 { /* sqlite3.c:49569:12: */ +func memdbOpen(tls *libc.TLS, pVfs uintptr, zName uintptr, pFd uintptr, flags int32, pOutFlags uintptr) int32 { /* sqlite3.c:49579:12: */ var pFile uintptr = pFd var p uintptr = uintptr(0) var szName int32 @@ -73652,7 +73660,7 @@ func memdbOpen(tls *libc.TLS, pVfs uintptr, zName uintptr, pFd uintptr, flags in // is available, or false otherwise. // // With memdb, no files ever exist on disk. So always return false. -func memdbAccess(tls *libc.TLS, pVfs uintptr, zPath uintptr, flags int32, pResOut uintptr) int32 { /* sqlite3.c:49666:12: */ +func memdbAccess(tls *libc.TLS, pVfs uintptr, zPath uintptr, flags int32, pResOut uintptr) int32 { /* sqlite3.c:49676:12: */ _ = pVfs _ = zPath _ = flags @@ -73663,7 +73671,7 @@ func memdbAccess(tls *libc.TLS, pVfs uintptr, zPath uintptr, flags int32, pResOu // Populate buffer zOut with the full canonical pathname corresponding // to the pathname in zPath. zOut is guaranteed to point to a buffer // of at least (INST_MAX_PATHNAME+1) bytes. -func memdbFullPathname(tls *libc.TLS, pVfs uintptr, zPath uintptr, nOut int32, zOut uintptr) int32 { /* sqlite3.c:49684:12: */ +func memdbFullPathname(tls *libc.TLS, pVfs uintptr, zPath uintptr, nOut int32, zOut uintptr) int32 { /* sqlite3.c:49694:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -73673,7 +73681,7 @@ func memdbFullPathname(tls *libc.TLS, pVfs uintptr, zPath uintptr, nOut int32, z } // Open the dynamic library located at zPath and return a handle. -func memdbDlOpen(tls *libc.TLS, pVfs uintptr, zPath uintptr) uintptr { /* sqlite3.c:49698:13: */ +func memdbDlOpen(tls *libc.TLS, pVfs uintptr, zPath uintptr) uintptr { /* sqlite3.c:49708:13: */ return (*struct { f func(*libc.TLS, uintptr, uintptr) uintptr })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer((*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData)).FxDlOpen})).f(tls, (*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, zPath) @@ -73682,21 +73690,21 @@ func memdbDlOpen(tls *libc.TLS, pVfs uintptr, zPath uintptr) uintptr { /* sqlite // Populate the buffer zErrMsg (size nByte bytes) with a human readable // utf-8 string describing the most recent error encountered associated // with dynamic libraries. -func memdbDlError(tls *libc.TLS, pVfs uintptr, nByte int32, zErrMsg uintptr) { /* sqlite3.c:49707:13: */ +func memdbDlError(tls *libc.TLS, pVfs uintptr, nByte int32, zErrMsg uintptr) { /* sqlite3.c:49717:13: */ (*struct { f func(*libc.TLS, uintptr, int32, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer((*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData)).FxDlError})).f(tls, (*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, nByte, zErrMsg) } // Return a pointer to the symbol zSymbol in the dynamic library pHandle. -func memdbDlSym(tls *libc.TLS, pVfs uintptr, p uintptr, zSym uintptr) uintptr { /* sqlite3.c:49714:13: */ +func memdbDlSym(tls *libc.TLS, pVfs uintptr, p uintptr, zSym uintptr) uintptr { /* sqlite3.c:49724:13: */ return (*struct { f func(*libc.TLS, uintptr, uintptr, uintptr) uintptr })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer((*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData)).FxDlSym})).f(tls, (*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, p, zSym) } // Close the dynamic library handle pHandle. -func memdbDlClose(tls *libc.TLS, pVfs uintptr, pHandle uintptr) { /* sqlite3.c:49721:13: */ +func memdbDlClose(tls *libc.TLS, pVfs uintptr, pHandle uintptr) { /* sqlite3.c:49731:13: */ (*struct { f func(*libc.TLS, uintptr, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer((*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData)).FxDlClose})).f(tls, (*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, pHandle) @@ -73704,7 +73712,7 @@ func memdbDlClose(tls *libc.TLS, pVfs uintptr, pHandle uintptr) { /* sqlite3.c:4 // Populate the buffer pointed to by zBufOut with nByte bytes of // random data. -func memdbRandomness(tls *libc.TLS, pVfs uintptr, nByte int32, zBufOut uintptr) int32 { /* sqlite3.c:49729:12: */ +func memdbRandomness(tls *libc.TLS, pVfs uintptr, nByte int32, zBufOut uintptr) int32 { /* sqlite3.c:49739:12: */ return (*struct { f func(*libc.TLS, uintptr, int32, uintptr) int32 })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer((*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData)).FxRandomness})).f(tls, (*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, nByte, zBufOut) @@ -73712,19 +73720,19 @@ func memdbRandomness(tls *libc.TLS, pVfs uintptr, nByte int32, zBufOut uintptr) // Sleep for nMicro microseconds. Return the number of microseconds // actually slept. -func memdbSleep(tls *libc.TLS, pVfs uintptr, nMicro int32) int32 { /* sqlite3.c:49737:12: */ +func memdbSleep(tls *libc.TLS, pVfs uintptr, nMicro int32) int32 { /* sqlite3.c:49747:12: */ return (*struct { f func(*libc.TLS, uintptr, int32) int32 })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer((*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData)).FxSleep})).f(tls, (*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, nMicro) } -func memdbGetLastError(tls *libc.TLS, pVfs uintptr, a int32, b uintptr) int32 { /* sqlite3.c:49750:12: */ +func memdbGetLastError(tls *libc.TLS, pVfs uintptr, a int32, b uintptr) int32 { /* sqlite3.c:49760:12: */ return (*struct { f func(*libc.TLS, uintptr, int32, uintptr) int32 })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer((*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData)).FxGetLastError})).f(tls, (*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, a, b) } -func memdbCurrentTimeInt64(tls *libc.TLS, pVfs uintptr, p uintptr) int32 { /* sqlite3.c:49753:12: */ +func memdbCurrentTimeInt64(tls *libc.TLS, pVfs uintptr, p uintptr) int32 { /* sqlite3.c:49763:12: */ return (*struct { f func(*libc.TLS, uintptr, uintptr) int32 })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer((*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData)).FxCurrentTimeInt64})).f(tls, (*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, p) @@ -73732,7 +73740,7 @@ func memdbCurrentTimeInt64(tls *libc.TLS, pVfs uintptr, p uintptr) int32 { /* sq // Translate a database connection pointer and schema name into a // MemFile pointer. -func memdbFromDbSchema(tls *libc.TLS, db uintptr, zSchema uintptr) uintptr { /* sqlite3.c:49761:16: */ +func memdbFromDbSchema(tls *libc.TLS, db uintptr, zSchema uintptr) uintptr { /* sqlite3.c:49771:16: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -73755,7 +73763,7 @@ func memdbFromDbSchema(tls *libc.TLS, db uintptr, zSchema uintptr) uintptr { /* } // Return the serialization of a database -func Xsqlite3_serialize(tls *libc.TLS, db uintptr, zSchema uintptr, piSize uintptr, mFlags uint32) uintptr { /* sqlite3.c:49777:26: */ +func Xsqlite3_serialize(tls *libc.TLS, db uintptr, zSchema uintptr, piSize uintptr, mFlags uint32) uintptr { /* sqlite3.c:49787:26: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -73846,7 +73854,7 @@ func Xsqlite3_serialize(tls *libc.TLS, db uintptr, zSchema uintptr, piSize uintp } // Convert zSchema to a MemDB and initialize its content. -func Xsqlite3_deserialize(tls *libc.TLS, db uintptr, zSchema uintptr, pData uintptr, szDb Sqlite3_int64, szBuf Sqlite3_int64, mFlags uint32) int32 { /* sqlite3.c:49858:16: */ +func Xsqlite3_deserialize(tls *libc.TLS, db uintptr, zSchema uintptr, pData uintptr, szDb Sqlite3_int64, szBuf Sqlite3_int64, mFlags uint32) int32 { /* sqlite3.c:49868:16: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -73941,7 +73949,7 @@ __10: // This routine is called when the extension is loaded. // Register the new VFS. -func Xsqlite3MemdbInit(tls *libc.TLS) int32 { /* sqlite3.c:49934:20: */ +func Xsqlite3MemdbInit(tls *libc.TLS) int32 { /* sqlite3.c:49944:20: */ var pLower uintptr = Xsqlite3_vfs_find(tls, uintptr(0)) var sz uint32 if pLower == uintptr(0) { @@ -73963,7 +73971,7 @@ func Xsqlite3MemdbInit(tls *libc.TLS) int32 { /* sqlite3.c:49934:20: */ // Create a new bitmap object able to handle bits between 0 and iSize, // inclusive. Return a pointer to the new object. Return NULL if // malloc fails. -func Xsqlite3BitvecCreate(tls *libc.TLS, iSize U32) uintptr { /* sqlite3.c:50066:23: */ +func Xsqlite3BitvecCreate(tls *libc.TLS, iSize U32) uintptr { /* sqlite3.c:50076:23: */ var p uintptr p = Xsqlite3MallocZero(tls, uint64(unsafe.Sizeof(Bitvec{}))) @@ -73976,7 +73984,7 @@ func Xsqlite3BitvecCreate(tls *libc.TLS, iSize U32) uintptr { /* sqlite3.c:50066 // Check to see if the i-th bit is set. Return true or false. // If p is NULL (if the bitmap has not been created) or if // i is out of range, then return false. -func Xsqlite3BitvecTestNotNull(tls *libc.TLS, p uintptr, i U32) int32 { /* sqlite3.c:50081:20: */ +func Xsqlite3BitvecTestNotNull(tls *libc.TLS, p uintptr, i U32) int32 { /* sqlite3.c:50091:20: */ i-- if i >= (*Bitvec)(unsafe.Pointer(p)).FiSize { @@ -74005,7 +74013,7 @@ func Xsqlite3BitvecTestNotNull(tls *libc.TLS, p uintptr, i U32) int32 { /* sqlit return int32(0) } -func Xsqlite3BitvecTest(tls *libc.TLS, p uintptr, i U32) int32 { /* sqlite3.c:50104:20: */ +func Xsqlite3BitvecTest(tls *libc.TLS, p uintptr, i U32) int32 { /* sqlite3.c:50114:20: */ return libc.Bool32(p != uintptr(0) && Xsqlite3BitvecTestNotNull(tls, p, i) != 0) } @@ -74019,7 +74027,7 @@ func Xsqlite3BitvecTest(tls *libc.TLS, p uintptr, i U32) int32 { /* sqlite3.c:50 // The calling function must ensure that p is a valid Bitvec object // and that the value for "i" is within range of the Bitvec object. // Otherwise the behavior is undefined. -func Xsqlite3BitvecSet(tls *libc.TLS, p uintptr, i U32) int32 { /* sqlite3.c:50120:20: */ +func Xsqlite3BitvecSet(tls *libc.TLS, p uintptr, i U32) int32 { /* sqlite3.c:50130:20: */ var h U32 var bin U32 var j uint32 @@ -74156,7 +74164,7 @@ bitvec_set_end: // // pBuf must be a pointer to at least BITVEC_SZ bytes of temporary storage // that BitvecClear can use to rebuilt its hash table. -func Xsqlite3BitvecClear(tls *libc.TLS, p uintptr, i U32, pBuf uintptr) { /* sqlite3.c:50191:21: */ +func Xsqlite3BitvecClear(tls *libc.TLS, p uintptr, i U32, pBuf uintptr) { /* sqlite3.c:50201:21: */ if p == uintptr(0) { return } @@ -74195,7 +74203,7 @@ func Xsqlite3BitvecClear(tls *libc.TLS, p uintptr, i U32, pBuf uintptr) { /* sql } // Destroy a bitmap object. Reclaim all memory used. -func Xsqlite3BitvecDestroy(tls *libc.TLS, p uintptr) { /* sqlite3.c:50228:21: */ +func Xsqlite3BitvecDestroy(tls *libc.TLS, p uintptr) { /* sqlite3.c:50238:21: */ if p == uintptr(0) { return } @@ -74210,7 +74218,7 @@ func Xsqlite3BitvecDestroy(tls *libc.TLS, p uintptr) { /* sqlite3.c:50228:21: */ // Return the value of the iSize parameter specified when Bitvec *p // was created. -func Xsqlite3BitvecSize(tls *libc.TLS, p uintptr) U32 { /* sqlite3.c:50243:20: */ +func Xsqlite3BitvecSize(tls *libc.TLS, p uintptr) U32 { /* sqlite3.c:50253:20: */ return (*Bitvec)(unsafe.Pointer(p)).FiSize } @@ -74247,7 +74255,7 @@ func Xsqlite3BitvecSize(tls *libc.TLS, p uintptr) U32 { /* sqlite3.c:50243:20: * // an error is returned. If they are the same, zero is returned. // // If a memory allocation error occurs, return -1. -func Xsqlite3BitvecBuiltinTest(tls *libc.TLS, sz int32, aOp uintptr) int32 { /* sqlite3.c:50288:20: */ +func Xsqlite3BitvecBuiltinTest(tls *libc.TLS, sz int32, aOp uintptr) int32 { /* sqlite3.c:50298:20: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -74410,7 +74418,7 @@ bitvec_end: // argument determines what operation to do. The 0x01 bit means first // remove pPage from the dirty list. The 0x02 means add pPage back to // the dirty list. Doing both moves pPage to the front of the dirty list. -func pcacheManageDirtyList(tls *libc.TLS, pPage uintptr, addRemove U8) { /* sqlite3.c:50523:13: */ +func pcacheManageDirtyList(tls *libc.TLS, pPage uintptr, addRemove U8) { /* sqlite3.c:50533:13: */ var p uintptr = (*PgHdr)(unsafe.Pointer(pPage)).FpCache if int32(addRemove)&PCACHE_DIRTYLIST_REMOVE != 0 { @@ -74472,7 +74480,7 @@ func pcacheManageDirtyList(tls *libc.TLS, pPage uintptr, addRemove U8) { /* sqli // Wrapper around the pluggable caches xUnpin method. If the cache is // being used for an in-memory database, this function is a no-op. -func pcacheUnpin(tls *libc.TLS, p uintptr) { /* sqlite3.c:50593:13: */ +func pcacheUnpin(tls *libc.TLS, p uintptr) { /* sqlite3.c:50603:13: */ if (*PCache)(unsafe.Pointer((*PgHdr)(unsafe.Pointer(p)).FpCache)).FbPurgeable != 0 { (*struct { @@ -74484,7 +74492,7 @@ func pcacheUnpin(tls *libc.TLS, p uintptr) { /* sqlite3.c:50593:13: */ // Compute the number of pages of cache requested. p->szCache is the // cache size requested by the "PRAGMA cache_size" statement. -func numberOfCachePages(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:50605:12: */ +func numberOfCachePages(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:50615:12: */ if (*PCache)(unsafe.Pointer(p)).FszCache >= 0 { // IMPLEMENTATION-OF: R-42059-47211 If the argument N is positive then the // suggested cache size is set to N. @@ -74509,7 +74517,7 @@ func numberOfCachePages(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:50605:12: // // Initialize and shutdown the page cache subsystem. Neither of these // functions are threadsafe. -func Xsqlite3PcacheInitialize(tls *libc.TLS) int32 { /* sqlite3.c:50627:20: */ +func Xsqlite3PcacheInitialize(tls *libc.TLS) int32 { /* sqlite3.c:50637:20: */ if Xsqlite3Config.Fpcache2.FxInit == uintptr(0) { // IMPLEMENTATION-OF: R-26801-64137 If the xInit() method is NULL, then the // built-in default page cache is used instead of the application defined @@ -74522,7 +74530,7 @@ func Xsqlite3PcacheInitialize(tls *libc.TLS) int32 { /* sqlite3.c:50627:20: */ })(unsafe.Pointer(&struct{ uintptr }{Xsqlite3Config.Fpcache2.FxInit})).f(tls, Xsqlite3Config.Fpcache2.FpArg) } -func Xsqlite3PcacheShutdown(tls *libc.TLS) { /* sqlite3.c:50637:21: */ +func Xsqlite3PcacheShutdown(tls *libc.TLS) { /* sqlite3.c:50647:21: */ if Xsqlite3Config.Fpcache2.FxShutdown != 0 { // IMPLEMENTATION-OF: R-26000-56589 The xShutdown() method may be NULL. (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{Xsqlite3Config.Fpcache2.FxShutdown})).f(tls, Xsqlite3Config.Fpcache2.FpArg) @@ -74530,7 +74538,7 @@ func Xsqlite3PcacheShutdown(tls *libc.TLS) { /* sqlite3.c:50637:21: */ } // Return the size in bytes of a PCache object. -func Xsqlite3PcacheSize(tls *libc.TLS) int32 { /* sqlite3.c:50647:20: */ +func Xsqlite3PcacheSize(tls *libc.TLS) int32 { /* sqlite3.c:50657:20: */ return int32(unsafe.Sizeof(PCache{})) } @@ -74544,7 +74552,7 @@ func Xsqlite3PcacheSize(tls *libc.TLS) int32 { /* sqlite3.c:50647:20: */ // but remaining content will be uninitialized. Though it is opaque // to this module, the extra space really ends up being the MemPage // structure in the pager. -func Xsqlite3PcacheOpen(tls *libc.TLS, szPage int32, szExtra int32, bPurgeable int32, xStress uintptr, pStress uintptr, p uintptr) int32 { /* sqlite3.c:50661:20: */ +func Xsqlite3PcacheOpen(tls *libc.TLS, szPage int32, szExtra int32, bPurgeable int32, xStress uintptr, pStress uintptr, p uintptr) int32 { /* sqlite3.c:50671:20: */ libc.Xmemset(tls, p, 0, uint64(unsafe.Sizeof(PCache{}))) (*PCache)(unsafe.Pointer(p)).FszPage = 1 (*PCache)(unsafe.Pointer(p)).FszExtra = szExtra @@ -74561,7 +74569,7 @@ func Xsqlite3PcacheOpen(tls *libc.TLS, szPage int32, szExtra int32, bPurgeable i // Change the page size for PCache object. The caller must ensure that there // are no outstanding page references when this function is called. -func Xsqlite3PcacheSetPageSize(tls *libc.TLS, pCache uintptr, szPage int32) int32 { /* sqlite3.c:50687:20: */ +func Xsqlite3PcacheSetPageSize(tls *libc.TLS, pCache uintptr, szPage int32) int32 { /* sqlite3.c:50697:20: */ if (*PCache)(unsafe.Pointer(pCache)).FszPage != 0 { var pNew uintptr @@ -74608,7 +74616,7 @@ func Xsqlite3PcacheSetPageSize(tls *libc.TLS, pCache uintptr, szPage int32) int3 // they can both (usually) operate without having to push values to // the stack on entry and pop them back off on exit, which saves a // lot of pushing and popping. -func Xsqlite3PcacheFetch(tls *libc.TLS, pCache uintptr, pgno Pgno, createFlag int32) uintptr { /* sqlite3.c:50731:36: */ +func Xsqlite3PcacheFetch(tls *libc.TLS, pCache uintptr, pgno Pgno, createFlag int32) uintptr { /* sqlite3.c:50741:36: */ var eCreate int32 var pRes uintptr @@ -74636,7 +74644,7 @@ func Xsqlite3PcacheFetch(tls *libc.TLS, pCache uintptr, pgno Pgno, createFlag in // an OOM error. // // This routine should be invoked only after sqlite3PcacheFetch() fails. -func Xsqlite3PcacheFetchStress(tls *libc.TLS, pCache uintptr, pgno Pgno, ppPage uintptr) int32 { /* sqlite3.c:50772:20: */ +func Xsqlite3PcacheFetchStress(tls *libc.TLS, pCache uintptr, pgno Pgno, ppPage uintptr) int32 { /* sqlite3.c:50782:20: */ var pPg uintptr if int32((*PCache)(unsafe.Pointer(pCache)).FeCreate) == 2 { return 0 @@ -74687,7 +74695,7 @@ func Xsqlite3PcacheFetchStress(tls *libc.TLS, pCache uintptr, pgno Pgno, ppPage // This routine is broken out into a separate function since it // requires extra stack manipulation that can be avoided in the common // case. -func pcacheFetchFinishWithInit(tls *libc.TLS, pCache uintptr, pgno Pgno, pPage uintptr) uintptr { /* sqlite3.c:50828:30: */ +func pcacheFetchFinishWithInit(tls *libc.TLS, pCache uintptr, pgno Pgno, pPage uintptr) uintptr { /* sqlite3.c:50838:30: */ var pPgHdr uintptr pPgHdr = (*Sqlite3_pcache_page)(unsafe.Pointer(pPage)).FpExtra @@ -74707,7 +74715,7 @@ func pcacheFetchFinishWithInit(tls *libc.TLS, pCache uintptr, pgno Pgno, pPage u // sqlite3PcacheFetch() into an initialized PgHdr object. This routine // must be called after sqlite3PcacheFetch() in order to get a usable // result. -func Xsqlite3PcacheFetchFinish(tls *libc.TLS, pCache uintptr, pgno Pgno, pPage uintptr) uintptr { /* sqlite3.c:50854:22: */ +func Xsqlite3PcacheFetchFinish(tls *libc.TLS, pCache uintptr, pgno Pgno, pPage uintptr) uintptr { /* sqlite3.c:50864:22: */ var pPgHdr uintptr pPgHdr = (*Sqlite3_pcache_page)(unsafe.Pointer(pPage)).FpExtra @@ -74723,7 +74731,7 @@ func Xsqlite3PcacheFetchFinish(tls *libc.TLS, pCache uintptr, pgno Pgno, pPage u // Decrement the reference count on a page. If the page is clean and the // reference count drops to 0, then it is made eligible for recycling. -func Xsqlite3PcacheRelease(tls *libc.TLS, p uintptr) { /* sqlite3.c:50877:37: */ +func Xsqlite3PcacheRelease(tls *libc.TLS, p uintptr) { /* sqlite3.c:50887:37: */ (*PCache)(unsafe.Pointer((*PgHdr)(unsafe.Pointer(p)).FpCache)).FnRefSum-- if int32(libc.PreDecInt16(&(*PgHdr)(unsafe.Pointer(p)).FnRef, 1)) == 0 { @@ -74736,7 +74744,7 @@ func Xsqlite3PcacheRelease(tls *libc.TLS, p uintptr) { /* sqlite3.c:50877:37: */ } // Increase the reference count of a supplied page by 1. -func Xsqlite3PcacheRef(tls *libc.TLS, p uintptr) { /* sqlite3.c:50892:21: */ +func Xsqlite3PcacheRef(tls *libc.TLS, p uintptr) { /* sqlite3.c:50902:21: */ (*PgHdr)(unsafe.Pointer(p)).FnRef++ (*PCache)(unsafe.Pointer((*PgHdr)(unsafe.Pointer(p)).FpCache)).FnRefSum++ @@ -74745,7 +74753,7 @@ func Xsqlite3PcacheRef(tls *libc.TLS, p uintptr) { /* sqlite3.c:50892:21: */ // Drop a page from the cache. There must be exactly one reference to the // page. This function deletes that reference, so after it returns the // page pointed to by p is invalid. -func Xsqlite3PcacheDrop(tls *libc.TLS, p uintptr) { /* sqlite3.c:50904:21: */ +func Xsqlite3PcacheDrop(tls *libc.TLS, p uintptr) { /* sqlite3.c:50914:21: */ if int32((*PgHdr)(unsafe.Pointer(p)).Fflags)&PGHDR_DIRTY != 0 { pcacheManageDirtyList(tls, p, uint8(PCACHE_DIRTYLIST_REMOVE)) @@ -74758,7 +74766,7 @@ func Xsqlite3PcacheDrop(tls *libc.TLS, p uintptr) { /* sqlite3.c:50904:21: */ // Make sure the page is marked as dirty. If it isn't dirty already, // make it so. -func Xsqlite3PcacheMakeDirty(tls *libc.TLS, p uintptr) { /* sqlite3.c:50918:21: */ +func Xsqlite3PcacheMakeDirty(tls *libc.TLS, p uintptr) { /* sqlite3.c:50928:21: */ if int32((*PgHdr)(unsafe.Pointer(p)).Fflags)&(PGHDR_CLEAN|PGHDR_DONT_WRITE) != 0 { //OPTIMIZATION-IF-FALSE *(*U16)(unsafe.Pointer(p + 52)) &= libc.Uint16FromInt32(libc.CplInt32(PGHDR_DONT_WRITE)) @@ -74773,7 +74781,7 @@ func Xsqlite3PcacheMakeDirty(tls *libc.TLS, p uintptr) { /* sqlite3.c:50918:21: // Make sure the page is marked as clean. If it isn't clean already, // make it so. -func Xsqlite3PcacheMakeClean(tls *libc.TLS, p uintptr) { /* sqlite3.c:50938:21: */ +func Xsqlite3PcacheMakeClean(tls *libc.TLS, p uintptr) { /* sqlite3.c:50948:21: */ pcacheManageDirtyList(tls, p, uint8(PCACHE_DIRTYLIST_REMOVE)) *(*U16)(unsafe.Pointer(p + 52)) &= libc.Uint16FromInt32(libc.CplInt32(PGHDR_DIRTY | PGHDR_NEED_SYNC | PGHDR_WRITEABLE)) @@ -74785,7 +74793,7 @@ func Xsqlite3PcacheMakeClean(tls *libc.TLS, p uintptr) { /* sqlite3.c:50938:21: } // Make every page in the cache clean. -func Xsqlite3PcacheCleanAll(tls *libc.TLS, pCache uintptr) { /* sqlite3.c:50955:21: */ +func Xsqlite3PcacheCleanAll(tls *libc.TLS, pCache uintptr) { /* sqlite3.c:50965:21: */ var p uintptr for libc.AssignUintptr(&p, (*PCache)(unsafe.Pointer(pCache)).FpDirty) != uintptr(0) { @@ -74794,7 +74802,7 @@ func Xsqlite3PcacheCleanAll(tls *libc.TLS, pCache uintptr) { /* sqlite3.c:50955: } // Clear the PGHDR_NEED_SYNC and PGHDR_WRITEABLE flag from all dirty pages. -func Xsqlite3PcacheClearWritable(tls *libc.TLS, pCache uintptr) { /* sqlite3.c:50966:21: */ +func Xsqlite3PcacheClearWritable(tls *libc.TLS, pCache uintptr) { /* sqlite3.c:50976:21: */ var p uintptr for p = (*PCache)(unsafe.Pointer(pCache)).FpDirty; p != 0; p = (*PgHdr)(unsafe.Pointer(p)).FpDirtyNext { @@ -74804,7 +74812,7 @@ func Xsqlite3PcacheClearWritable(tls *libc.TLS, pCache uintptr) { /* sqlite3.c:5 } // Clear the PGHDR_NEED_SYNC flag from all dirty pages. -func Xsqlite3PcacheClearSyncFlags(tls *libc.TLS, pCache uintptr) { /* sqlite3.c:50978:21: */ +func Xsqlite3PcacheClearSyncFlags(tls *libc.TLS, pCache uintptr) { /* sqlite3.c:50988:21: */ var p uintptr for p = (*PCache)(unsafe.Pointer(pCache)).FpDirty; p != 0; p = (*PgHdr)(unsafe.Pointer(p)).FpDirtyNext { *(*U16)(unsafe.Pointer(p + 52)) &= libc.Uint16FromInt32(libc.CplInt32(PGHDR_NEED_SYNC)) @@ -74813,7 +74821,7 @@ func Xsqlite3PcacheClearSyncFlags(tls *libc.TLS, pCache uintptr) { /* sqlite3.c: } // Change the page number of page p to newPgno. -func Xsqlite3PcacheMove(tls *libc.TLS, p uintptr, newPgno Pgno) { /* sqlite3.c:50989:21: */ +func Xsqlite3PcacheMove(tls *libc.TLS, p uintptr, newPgno Pgno) { /* sqlite3.c:50999:21: */ var pCache uintptr = (*PgHdr)(unsafe.Pointer(p)).FpCache (*struct { @@ -74832,7 +74840,7 @@ func Xsqlite3PcacheMove(tls *libc.TLS, p uintptr, newPgno Pgno) { /* sqlite3.c:5 // If there is a reference to page 1 and the pgno parameter passed to this // function is 0, then the data area associated with page 1 is zeroed, but // the page object is not dropped. -func Xsqlite3PcacheTruncate(tls *libc.TLS, pCache uintptr, pgno Pgno) { /* sqlite3.c:51011:21: */ +func Xsqlite3PcacheTruncate(tls *libc.TLS, pCache uintptr, pgno Pgno) { /* sqlite3.c:51021:21: */ if (*PCache)(unsafe.Pointer(pCache)).FpCache != 0 { var p uintptr var pNext uintptr @@ -74866,19 +74874,19 @@ func Xsqlite3PcacheTruncate(tls *libc.TLS, pCache uintptr, pgno Pgno) { /* sqlit } // Close a cache. -func Xsqlite3PcacheClose(tls *libc.TLS, pCache uintptr) { /* sqlite3.c:51044:21: */ +func Xsqlite3PcacheClose(tls *libc.TLS, pCache uintptr) { /* sqlite3.c:51054:21: */ (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{Xsqlite3Config.Fpcache2.FxDestroy})).f(tls, (*PCache)(unsafe.Pointer(pCache)).FpCache) } // Discard the contents of the cache. -func Xsqlite3PcacheClear(tls *libc.TLS, pCache uintptr) { /* sqlite3.c:51053:21: */ +func Xsqlite3PcacheClear(tls *libc.TLS, pCache uintptr) { /* sqlite3.c:51063:21: */ Xsqlite3PcacheTruncate(tls, pCache, uint32(0)) } // Merge two lists of pages connected by pDirty and in pgno order. // Do not bother fixing the pDirtyPrev pointers. -func pcacheMergeDirtyList(tls *libc.TLS, pA uintptr, pB uintptr) uintptr { /* sqlite3.c:51061:14: */ +func pcacheMergeDirtyList(tls *libc.TLS, pA uintptr, pB uintptr) uintptr { /* sqlite3.c:51071:14: */ bp := tls.Alloc(72) defer tls.Free(72) @@ -74917,7 +74925,7 @@ func pcacheMergeDirtyList(tls *libc.TLS, pA uintptr, pB uintptr) uintptr { /* sq // there cannot be more than 31 buckets required by the merge sorter. // One extra bucket is added to catch overflow in case something // ever changes to make the previous sentence incorrect. -func pcacheSortDirtyList(tls *libc.TLS, pIn uintptr) uintptr { /* sqlite3.c:51098:14: */ +func pcacheSortDirtyList(tls *libc.TLS, pIn uintptr) uintptr { /* sqlite3.c:51108:14: */ bp := tls.Alloc(256) defer tls.Free(256) @@ -74960,7 +74968,7 @@ func pcacheSortDirtyList(tls *libc.TLS, pIn uintptr) uintptr { /* sqlite3.c:5109 } // Return a list of all dirty pages in the cache, sorted by page number. -func Xsqlite3PcacheDirtyList(tls *libc.TLS, pCache uintptr) uintptr { /* sqlite3.c:51133:22: */ +func Xsqlite3PcacheDirtyList(tls *libc.TLS, pCache uintptr) uintptr { /* sqlite3.c:51143:22: */ var p uintptr for p = (*PCache)(unsafe.Pointer(pCache)).FpDirty; p != 0; p = (*PgHdr)(unsafe.Pointer(p)).FpDirtyNext { (*PgHdr)(unsafe.Pointer(p)).FpDirty = (*PgHdr)(unsafe.Pointer(p)).FpDirtyNext @@ -74972,17 +74980,17 @@ func Xsqlite3PcacheDirtyList(tls *libc.TLS, pCache uintptr) uintptr { /* sqlite3 // // This is not the total number of pages referenced, but the sum of the // reference count for all pages. -func Xsqlite3PcacheRefCount(tls *libc.TLS, pCache uintptr) int32 { /* sqlite3.c:51147:20: */ +func Xsqlite3PcacheRefCount(tls *libc.TLS, pCache uintptr) int32 { /* sqlite3.c:51157:20: */ return (*PCache)(unsafe.Pointer(pCache)).FnRefSum } // Return the number of references to the page supplied as an argument. -func Xsqlite3PcachePageRefcount(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:51154:20: */ +func Xsqlite3PcachePageRefcount(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:51164:20: */ return int32((*PgHdr)(unsafe.Pointer(p)).FnRef) } // Return the total number of pages in the cache. -func Xsqlite3PcachePagecount(tls *libc.TLS, pCache uintptr) int32 { /* sqlite3.c:51161:20: */ +func Xsqlite3PcachePagecount(tls *libc.TLS, pCache uintptr) int32 { /* sqlite3.c:51171:20: */ return (*struct { f func(*libc.TLS, uintptr) int32 @@ -74990,7 +74998,7 @@ func Xsqlite3PcachePagecount(tls *libc.TLS, pCache uintptr) int32 { /* sqlite3.c } // Set the suggested cache-size value. -func Xsqlite3PcacheSetCachesize(tls *libc.TLS, pCache uintptr, mxPage int32) { /* sqlite3.c:51178:21: */ +func Xsqlite3PcacheSetCachesize(tls *libc.TLS, pCache uintptr, mxPage int32) { /* sqlite3.c:51188:21: */ (*PCache)(unsafe.Pointer(pCache)).FszCache = mxPage (*struct { @@ -75002,7 +75010,7 @@ func Xsqlite3PcacheSetCachesize(tls *libc.TLS, pCache uintptr, mxPage int32) { / // Set the suggested cache-spill value. Make no changes if if the // argument is zero. Return the effective cache-spill size, which will // be the larger of the szSpill and szCache. -func Xsqlite3PcacheSetSpillsize(tls *libc.TLS, p uintptr, mxPage int32) int32 { /* sqlite3.c:51190:20: */ +func Xsqlite3PcacheSetSpillsize(tls *libc.TLS, p uintptr, mxPage int32) int32 { /* sqlite3.c:51200:20: */ var res int32 if mxPage != 0 { @@ -75019,20 +75027,20 @@ func Xsqlite3PcacheSetSpillsize(tls *libc.TLS, p uintptr, mxPage int32) int32 { } // Free up as much memory as possible from the page cache. -func Xsqlite3PcacheShrink(tls *libc.TLS, pCache uintptr) { /* sqlite3.c:51207:21: */ +func Xsqlite3PcacheShrink(tls *libc.TLS, pCache uintptr) { /* sqlite3.c:51217:21: */ (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{Xsqlite3Config.Fpcache2.FxShrink})).f(tls, (*PCache)(unsafe.Pointer(pCache)).FpCache) } // Return the size of the header added by this middleware layer // in the page-cache hierarchy. -func Xsqlite3HeaderSizePcache(tls *libc.TLS) int32 { /* sqlite3.c:51216:20: */ +func Xsqlite3HeaderSizePcache(tls *libc.TLS) int32 { /* sqlite3.c:51226:20: */ return int32((uint64(unsafe.Sizeof(PgHdr{})) + uint64(7)) & libc.Uint64FromInt32(libc.CplInt32(7))) } // Return the number of dirty pages currently in the cache, as a percentage // of the configured cache size. -func Xsqlite3PCachePercentDirty(tls *libc.TLS, pCache uintptr) int32 { /* sqlite3.c:51222:20: */ +func Xsqlite3PCachePercentDirty(tls *libc.TLS, pCache uintptr) int32 { /* sqlite3.c:51232:20: */ var pDirty uintptr var nDirty int32 = 0 var nCache int32 = numberOfCachePages(tls, pCache) @@ -75147,7 +75155,7 @@ type PCache11 = struct { FapHash uintptr FpFree uintptr FpBulk uintptr -} /* sqlite3.c:51339:9 */ +} /* sqlite3.c:51349:9 */ //************* End of pcache.c ********************************************* //************* Begin file pcache1.c **************************************** @@ -75233,7 +75241,7 @@ type PCache11 = struct { // common workloads. // #include "sqliteInt.h" -type PCache1 = PCache11 /* sqlite3.c:51339:24 */ +type PCache1 = PCache11 /* sqlite3.c:51349:24 */ type PgHdr11 = struct { Fpage Sqlite3_pcache_page FiKey uint32 @@ -75243,12 +75251,12 @@ type PgHdr11 = struct { FpCache uintptr FpLruNext uintptr FpLruPrev uintptr -} /* sqlite3.c:51339:9 */ +} /* sqlite3.c:51349:9 */ -type PgHdr1 = PgHdr11 /* sqlite3.c:51340:23 */ -type PgFreeslot1 = struct{ FpNext uintptr } /* sqlite3.c:51341:9 */ +type PgHdr1 = PgHdr11 /* sqlite3.c:51350:23 */ +type PgFreeslot1 = struct{ FpNext uintptr } /* sqlite3.c:51351:9 */ -type PgFreeslot = PgFreeslot1 /* sqlite3.c:51341:27 */ +type PgFreeslot = PgFreeslot1 /* sqlite3.c:51351:27 */ type PGroup1 = struct { Fmutex uintptr FnMaxPage uint32 @@ -75256,9 +75264,9 @@ type PGroup1 = struct { FmxPinned uint32 FnPurgeable uint32 Flru PgHdr1 -} /* sqlite3.c:51339:9 */ +} /* sqlite3.c:51349:9 */ -type PGroup = PGroup1 /* sqlite3.c:51342:23 */ +type PGroup = PGroup1 /* sqlite3.c:51352:23 */ // Global data used by this cache. type PCacheGlobal = struct { @@ -75275,10 +75283,10 @@ type PCacheGlobal = struct { FpFree uintptr FnFreeSlot int32 FbUnderPressure int32 -} /* sqlite3.c:51459:19 */ +} /* sqlite3.c:51469:19 */ // Global data used by this cache. -var pcache1_g PCacheGlobal /* sqlite3.c:51483:3: */ +var pcache1_g PCacheGlobal /* sqlite3.c:51493:3: */ // All code in this file should access the global structure above via the // alias "pcache1". This ensures that the WSD emulation is used when @@ -75296,7 +75304,7 @@ var pcache1_g PCacheGlobal /* sqlite3.c:51483:3: */ // // This routine is called from sqlite3_initialize() and so it is guaranteed // to be serialized already. There is no need for further mutexing. -func Xsqlite3PCacheBufferSetup(tls *libc.TLS, pBuf uintptr, sz int32, n int32) { /* sqlite3.c:51518:21: */ +func Xsqlite3PCacheBufferSetup(tls *libc.TLS, pBuf uintptr, sz int32, n int32) { /* sqlite3.c:51528:21: */ if pcache1_g.FisInit != 0 { var p uintptr if pBuf == uintptr(0) { @@ -75329,7 +75337,7 @@ func Xsqlite3PCacheBufferSetup(tls *libc.TLS, pBuf uintptr, sz int32, n int32) { // Try to initialize the pCache->pFree and pCache->pBulk fields. Return // true if pCache->pFree ends up containing one or more free pages. -func pcache1InitBulk(tls *libc.TLS, pCache uintptr) int32 { /* sqlite3.c:51544:12: */ +func pcache1InitBulk(tls *libc.TLS, pCache uintptr) int32 { /* sqlite3.c:51554:12: */ var szBulk I64 var zBulk uintptr if pcache1_g.FnInitPage == 0 { @@ -75374,7 +75382,7 @@ func pcache1InitBulk(tls *libc.TLS, pCache uintptr) int32 { /* sqlite3.c:51544:1 // // Multiple threads can run this routine at the same time. Global variables // in pcache1 need to be protected via mutex. -func pcache1Alloc(tls *libc.TLS, nByte int32) uintptr { /* sqlite3.c:51587:13: */ +func pcache1Alloc(tls *libc.TLS, nByte int32) uintptr { /* sqlite3.c:51597:13: */ var p uintptr = uintptr(0) if nByte <= pcache1_g.FszSlot { @@ -75407,7 +75415,7 @@ func pcache1Alloc(tls *libc.TLS, nByte int32) uintptr { /* sqlite3.c:51587:13: * } // Free an allocated buffer obtained from pcache1Alloc(). -func pcache1Free(tls *libc.TLS, p uintptr) { /* sqlite3.c:51625:13: */ +func pcache1Free(tls *libc.TLS, p uintptr) { /* sqlite3.c:51635:13: */ if p == uintptr(0) { return } @@ -75437,7 +75445,7 @@ func pcache1Free(tls *libc.TLS, p uintptr) { /* sqlite3.c:51625:13: */ } // Return the size of a pcache allocation -func pcache1MemSize(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:51658:12: */ +func pcache1MemSize(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:51668:12: */ if p >= pcache1_g.FpStart && p < pcache1_g.FpEnd { return pcache1_g.FszSlot } else { @@ -75451,7 +75459,7 @@ func pcache1MemSize(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:51658:12: */ } // Allocate a new page object initially associated with cache pCache. -func pcache1AllocPage(tls *libc.TLS, pCache uintptr, benignMalloc int32) uintptr { /* sqlite3.c:51675:15: */ +func pcache1AllocPage(tls *libc.TLS, pCache uintptr, benignMalloc int32) uintptr { /* sqlite3.c:51685:15: */ var p uintptr = uintptr(0) var pPg uintptr @@ -75489,7 +75497,7 @@ func pcache1AllocPage(tls *libc.TLS, pCache uintptr, benignMalloc int32) uintptr } // Free a page object allocated by pcache1AllocPage(). -func pcache1FreePage(tls *libc.TLS, p uintptr) { /* sqlite3.c:51727:13: */ +func pcache1FreePage(tls *libc.TLS, p uintptr) { /* sqlite3.c:51737:13: */ var pCache uintptr pCache = (*PgHdr1)(unsafe.Pointer(p)).FpCache @@ -75506,13 +75514,13 @@ func pcache1FreePage(tls *libc.TLS, p uintptr) { /* sqlite3.c:51727:13: */ // Malloc function used by SQLite to obtain space from the buffer configured // using sqlite3_config(SQLITE_CONFIG_PAGECACHE) option. If no such buffer // exists, this function falls back to sqlite3Malloc(). -func Xsqlite3PageMalloc(tls *libc.TLS, sz int32) uintptr { /* sqlite3.c:51749:21: */ +func Xsqlite3PageMalloc(tls *libc.TLS, sz int32) uintptr { /* sqlite3.c:51759:21: */ // These allocations are never very large return pcache1Alloc(tls, sz) } // Free an allocated buffer obtained from sqlite3PageMalloc(). -func Xsqlite3PageFree(tls *libc.TLS, p uintptr) { /* sqlite3.c:51757:21: */ +func Xsqlite3PageFree(tls *libc.TLS, p uintptr) { /* sqlite3.c:51767:21: */ pcache1Free(tls, p) } @@ -75530,7 +75538,7 @@ func Xsqlite3PageFree(tls *libc.TLS, p uintptr) { /* sqlite3.c:51757:21: */ // under memory pressure, then again it is desirable to avoid // allocating a new page cache entry in order to avoid stressing // the heap even further. -func pcache1UnderMemoryPressure(tls *libc.TLS, pCache uintptr) int32 { /* sqlite3.c:51778:12: */ +func pcache1UnderMemoryPressure(tls *libc.TLS, pCache uintptr) int32 { /* sqlite3.c:51788:12: */ if pcache1_g.FnSlot != 0 && (*PCache1)(unsafe.Pointer(pCache)).FszPage+(*PCache1)(unsafe.Pointer(pCache)).FszExtra <= pcache1_g.FszSlot { return pcache1_g.FbUnderPressure } else { @@ -75546,7 +75554,7 @@ func pcache1UnderMemoryPressure(tls *libc.TLS, pCache uintptr) int32 { /* sqlite // as the first argument. // // The PCache mutex must be held when this function is called. -func pcache1ResizeHash(tls *libc.TLS, p uintptr) { /* sqlite3.c:51795:13: */ +func pcache1ResizeHash(tls *libc.TLS, p uintptr) { /* sqlite3.c:51805:13: */ var apNew uintptr var nNew uint32 var i uint32 @@ -75587,7 +75595,7 @@ func pcache1ResizeHash(tls *libc.TLS, p uintptr) { /* sqlite3.c:51795:13: */ // LRU list, then this function is a no-op. // // The PGroup mutex must be held when this function is called. -func pcache1PinPage(tls *libc.TLS, pPage uintptr) uintptr { /* sqlite3.c:51836:15: */ +func pcache1PinPage(tls *libc.TLS, pPage uintptr) uintptr { /* sqlite3.c:51846:15: */ (*PgHdr1)(unsafe.Pointer((*PgHdr1)(unsafe.Pointer(pPage)).FpLruPrev)).FpLruNext = (*PgHdr1)(unsafe.Pointer(pPage)).FpLruNext (*PgHdr1)(unsafe.Pointer((*PgHdr1)(unsafe.Pointer(pPage)).FpLruNext)).FpLruPrev = (*PgHdr1)(unsafe.Pointer(pPage)).FpLruPrev @@ -75604,7 +75612,7 @@ func pcache1PinPage(tls *libc.TLS, pPage uintptr) uintptr { /* sqlite3.c:51836:1 // Also free the page if freePage is true. // // The PGroup mutex must be held when this function is called. -func pcache1RemoveFromHash(tls *libc.TLS, pPage uintptr, freeFlag int32) { /* sqlite3.c:51861:13: */ +func pcache1RemoveFromHash(tls *libc.TLS, pPage uintptr, freeFlag int32) { /* sqlite3.c:51871:13: */ var h uint32 var pCache uintptr = (*PgHdr1)(unsafe.Pointer(pPage)).FpCache var pp uintptr @@ -75622,7 +75630,7 @@ func pcache1RemoveFromHash(tls *libc.TLS, pPage uintptr, freeFlag int32) { /* sq // If there are currently more than nMaxPage pages allocated, try // to recycle pages to reduce the number allocated to nMaxPage. -func pcache1EnforceMaxPage(tls *libc.TLS, pCache uintptr) { /* sqlite3.c:51879:13: */ +func pcache1EnforceMaxPage(tls *libc.TLS, pCache uintptr) { /* sqlite3.c:51889:13: */ var pGroup uintptr = (*PCache1)(unsafe.Pointer(pCache)).FpGroup var p uintptr @@ -75643,7 +75651,7 @@ func pcache1EnforceMaxPage(tls *libc.TLS, pCache uintptr) { /* sqlite3.c:51879:1 // criteria are unpinned before they are discarded. // // The PCache mutex must be held when this function is called. -func pcache1TruncateUnsafe(tls *libc.TLS, pCache uintptr, iLimit uint32) { /* sqlite3.c:51904:13: */ +func pcache1TruncateUnsafe(tls *libc.TLS, pCache uintptr, iLimit uint32) { /* sqlite3.c:51914:13: */ var h uint32 var iStop uint32 @@ -75691,7 +75699,7 @@ func pcache1TruncateUnsafe(tls *libc.TLS, pCache uintptr, iLimit uint32) { /* sq //******* sqlite3_pcache Methods ********************************************* // Implementation of the sqlite3_pcache.xInit method. -func pcache1Init(tls *libc.TLS, NotUsed uintptr) int32 { /* sqlite3.c:51955:12: */ +func pcache1Init(tls *libc.TLS, NotUsed uintptr) int32 { /* sqlite3.c:51965:12: */ _ = NotUsed libc.Xmemset(tls, uintptr(unsafe.Pointer(&pcache1_g)), 0, uint64(unsafe.Sizeof(pcache1_g))) @@ -75729,7 +75737,7 @@ func pcache1Init(tls *libc.TLS, NotUsed uintptr) int32 { /* sqlite3.c:51955:12: // Implementation of the sqlite3_pcache.xShutdown method. // Note that the static mutex allocated in xInit does // not need to be freed. -func pcache1Shutdown(tls *libc.TLS, NotUsed uintptr) { /* sqlite3.c:52008:13: */ +func pcache1Shutdown(tls *libc.TLS, NotUsed uintptr) { /* sqlite3.c:52018:13: */ _ = NotUsed libc.Xmemset(tls, uintptr(unsafe.Pointer(&pcache1_g)), 0, uint64(unsafe.Sizeof(pcache1_g))) @@ -75738,7 +75746,7 @@ func pcache1Shutdown(tls *libc.TLS, NotUsed uintptr) { /* sqlite3.c:52008:13: */ // Implementation of the sqlite3_pcache.xCreate method. // // Allocate a new cache. -func pcache1Create(tls *libc.TLS, szPage int32, szExtra int32, bPurgeable int32) uintptr { /* sqlite3.c:52022:23: */ +func pcache1Create(tls *libc.TLS, szPage int32, szExtra int32, bPurgeable int32) uintptr { /* sqlite3.c:52032:23: */ var pCache uintptr // The newly created page cache var pGroup uintptr // The group the new page cache will belong to var sz int32 // Bytes of memory required to allocate the new cache @@ -75788,7 +75796,7 @@ func pcache1Create(tls *libc.TLS, szPage int32, szExtra int32, bPurgeable int32) // Implementation of the sqlite3_pcache.xCachesize method. // // Configure the cache_size limit for a cache. -func pcache1Cachesize(tls *libc.TLS, p uintptr, nMax int32) { /* sqlite3.c:52072:13: */ +func pcache1Cachesize(tls *libc.TLS, p uintptr, nMax int32) { /* sqlite3.c:52082:13: */ var pCache uintptr = p var n U32 @@ -75811,7 +75819,7 @@ func pcache1Cachesize(tls *libc.TLS, p uintptr, nMax int32) { /* sqlite3.c:52072 // Implementation of the sqlite3_pcache.xShrink method. // // Free up as much memory as possible. -func pcache1Shrink(tls *libc.TLS, p uintptr) { /* sqlite3.c:52097:13: */ +func pcache1Shrink(tls *libc.TLS, p uintptr) { /* sqlite3.c:52107:13: */ var pCache uintptr = p if (*PCache1)(unsafe.Pointer(pCache)).FbPurgeable != 0 { var pGroup uintptr = (*PCache1)(unsafe.Pointer(pCache)).FpGroup @@ -75826,7 +75834,7 @@ func pcache1Shrink(tls *libc.TLS, p uintptr) { /* sqlite3.c:52097:13: */ } // Implementation of the sqlite3_pcache.xPagecount method. -func pcache1Pagecount(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:52114:12: */ +func pcache1Pagecount(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:52124:12: */ var n int32 var pCache uintptr = p Xsqlite3_mutex_enter(tls, (*PGroup)(unsafe.Pointer((*PCache1)(unsafe.Pointer(pCache)).FpGroup)).Fmutex) @@ -75841,7 +75849,7 @@ func pcache1Pagecount(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:52114:12: * // This steps are broken out into a separate procedure because they are // usually not needed, and by avoiding the stack initialization required // for these steps, the main pcache1Fetch() procedure can run faster. -func pcache1FetchStage2(tls *libc.TLS, pCache uintptr, iKey uint32, createFlag int32) uintptr { /* sqlite3.c:52132:31: */ +func pcache1FetchStage2(tls *libc.TLS, pCache uintptr, iKey uint32, createFlag int32) uintptr { /* sqlite3.c:52142:31: */ var nPinned uint32 var pGroup uintptr = (*PCache1)(unsafe.Pointer(pCache)).FpGroup var pPage uintptr = uintptr(0) @@ -75959,7 +75967,7 @@ func pcache1FetchStage2(tls *libc.TLS, pCache uintptr, iKey uint32, createFlag i // the general case. pcache1FetchNoMutex() is a faster implementation for // the common case where pGroup->mutex is NULL. The pcache1Fetch() wrapper // invokes the appropriate routine. -func pcache1FetchNoMutex(tls *libc.TLS, p uintptr, iKey uint32, createFlag int32) uintptr { /* sqlite3.c:52260:15: */ +func pcache1FetchNoMutex(tls *libc.TLS, p uintptr, iKey uint32, createFlag int32) uintptr { /* sqlite3.c:52270:15: */ var pCache uintptr = p var pPage uintptr = uintptr(0) @@ -75988,7 +75996,7 @@ func pcache1FetchNoMutex(tls *libc.TLS, p uintptr, iKey uint32, createFlag int32 return uintptr(0) } -func pcache1FetchWithMutex(tls *libc.TLS, p uintptr, iKey uint32, createFlag int32) uintptr { /* sqlite3.c:52290:15: */ +func pcache1FetchWithMutex(tls *libc.TLS, p uintptr, iKey uint32, createFlag int32) uintptr { /* sqlite3.c:52300:15: */ var pCache uintptr = p var pPage uintptr @@ -75999,7 +76007,7 @@ func pcache1FetchWithMutex(tls *libc.TLS, p uintptr, iKey uint32, createFlag int return pPage } -func pcache1Fetch(tls *libc.TLS, p uintptr, iKey uint32, createFlag int32) uintptr { /* sqlite3.c:52305:28: */ +func pcache1Fetch(tls *libc.TLS, p uintptr, iKey uint32, createFlag int32) uintptr { /* sqlite3.c:52315:28: */ var pCache uintptr = p if (*PGroup)(unsafe.Pointer((*PCache1)(unsafe.Pointer(pCache)).FpGroup)).Fmutex != 0 { @@ -76013,7 +76021,7 @@ func pcache1Fetch(tls *libc.TLS, p uintptr, iKey uint32, createFlag int32) uintp // Implementation of the sqlite3_pcache.xUnpin method. // // Mark a page as unpinned (eligible for asynchronous recycling). -func pcache1Unpin(tls *libc.TLS, p uintptr, pPg uintptr, reuseUnlikely int32) { /* sqlite3.c:52336:13: */ +func pcache1Unpin(tls *libc.TLS, p uintptr, pPg uintptr, reuseUnlikely int32) { /* sqlite3.c:52346:13: */ var pCache uintptr = p var pPage uintptr = pPg var pGroup uintptr = (*PCache1)(unsafe.Pointer(pCache)).FpGroup @@ -76038,7 +76046,7 @@ func pcache1Unpin(tls *libc.TLS, p uintptr, pPg uintptr, reuseUnlikely int32) { } // Implementation of the sqlite3_pcache.xRekey method. -func pcache1Rekey(tls *libc.TLS, p uintptr, pPg uintptr, iOld uint32, iNew uint32) { /* sqlite3.c:52371:13: */ +func pcache1Rekey(tls *libc.TLS, p uintptr, pPg uintptr, iOld uint32, iNew uint32) { /* sqlite3.c:52381:13: */ var pCache uintptr = p var pPage uintptr = pPg var pp uintptr @@ -76069,7 +76077,7 @@ func pcache1Rekey(tls *libc.TLS, p uintptr, pPg uintptr, iOld uint32, iNew uint3 // Discard all unpinned pages in the cache with a page number equal to // or greater than parameter iLimit. Any pinned pages with a page number // equal to or greater than iLimit are implicitly unpinned. -func pcache1Truncate(tls *libc.TLS, p uintptr, iLimit uint32) { /* sqlite3.c:52411:13: */ +func pcache1Truncate(tls *libc.TLS, p uintptr, iLimit uint32) { /* sqlite3.c:52421:13: */ var pCache uintptr = p Xsqlite3_mutex_enter(tls, (*PGroup)(unsafe.Pointer((*PCache1)(unsafe.Pointer(pCache)).FpGroup)).Fmutex) if iLimit <= (*PCache1)(unsafe.Pointer(pCache)).FiMaxKey { @@ -76082,7 +76090,7 @@ func pcache1Truncate(tls *libc.TLS, p uintptr, iLimit uint32) { /* sqlite3.c:524 // Implementation of the sqlite3_pcache.xDestroy method. // // Destroy a cache allocated using pcache1Create(). -func pcache1Destroy(tls *libc.TLS, p uintptr) { /* sqlite3.c:52426:13: */ +func pcache1Destroy(tls *libc.TLS, p uintptr) { /* sqlite3.c:52436:13: */ var pCache uintptr = p var pGroup uintptr = (*PCache1)(unsafe.Pointer(pCache)).FpGroup @@ -76105,7 +76113,7 @@ func pcache1Destroy(tls *libc.TLS, p uintptr) { /* sqlite3.c:52426:13: */ // This function is called during initialization (sqlite3_initialize()) to // install the default pluggable cache module, assuming the user has not // already provided an alternative. -func Xsqlite3PCacheSetDefault(tls *libc.TLS) { /* sqlite3.c:52449:21: */ +func Xsqlite3PCacheSetDefault(tls *libc.TLS) { /* sqlite3.c:52459:21: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -76125,16 +76133,16 @@ var defaultMethods1 = Sqlite3_pcache_methods2{ FxTruncate: 0, // xTruncate FxDestroy: 0, // xDestroy FxShrink: 0, // xShrink -} /* sqlite3.c:52450:40 */ +} /* sqlite3.c:52460:40 */ // Return the size of the header on each page of this PCACHE implementation. -func Xsqlite3HeaderSizePcache1(tls *libc.TLS) int32 { /* sqlite3.c:52471:20: */ +func Xsqlite3HeaderSizePcache1(tls *libc.TLS) int32 { /* sqlite3.c:52481:20: */ return int32((uint64(unsafe.Sizeof(PgHdr1{})) + uint64(7)) & libc.Uint64FromInt32(libc.CplInt32(7))) } // Return the global mutex used by this PCACHE implementation. The // sqlite3_status() routine needs access to this mutex. -func Xsqlite3Pcache1Mutex(tls *libc.TLS) uintptr { /* sqlite3.c:52477:30: */ +func Xsqlite3Pcache1Mutex(tls *libc.TLS) uintptr { /* sqlite3.c:52487:30: */ return pcache1_g.Fmutex } @@ -76145,7 +76153,7 @@ func Xsqlite3Pcache1Mutex(tls *libc.TLS) uintptr { /* sqlite3.c:52477:30: */ // nReq is the number of bytes of memory required. Once this much has // been released, the function returns. The return value is the total number // of bytes of memory released. -func Xsqlite3PcacheReleaseMemory(tls *libc.TLS, nReq int32) int32 { /* sqlite3.c:52491:20: */ +func Xsqlite3PcacheReleaseMemory(tls *libc.TLS, nReq int32) int32 { /* sqlite3.c:52501:20: */ var nFree int32 = 0 if Xsqlite3Config.FpPage == uintptr(0) { @@ -76262,7 +76270,7 @@ type RowSetChunk = struct { // Allocate a RowSet object. Return NULL if a memory allocation // error occurs. -func Xsqlite3RowSetInit(tls *libc.TLS, db uintptr) uintptr { /* sqlite3.c:52671:23: */ +func Xsqlite3RowSetInit(tls *libc.TLS, db uintptr) uintptr { /* sqlite3.c:52681:23: */ var p uintptr = Xsqlite3DbMallocRawNN(tls, db, uint64(unsafe.Sizeof(RowSet{}))) if p != 0 { var N int32 = Xsqlite3DbMallocSize(tls, db, p) @@ -76282,7 +76290,7 @@ func Xsqlite3RowSetInit(tls *libc.TLS, db uintptr) uintptr { /* sqlite3.c:52671: // Deallocate all chunks from a RowSet. This frees all memory that // the RowSet has allocated over its lifetime. This routine is // the destructor for the RowSet. -func Xsqlite3RowSetClear(tls *libc.TLS, pArg uintptr) { /* sqlite3.c:52693:21: */ +func Xsqlite3RowSetClear(tls *libc.TLS, pArg uintptr) { /* sqlite3.c:52703:21: */ var p uintptr = pArg var pChunk uintptr var pNextChunk uintptr @@ -76301,7 +76309,7 @@ func Xsqlite3RowSetClear(tls *libc.TLS, pArg uintptr) { /* sqlite3.c:52693:21: * // Deallocate all chunks from a RowSet. This frees all memory that // the RowSet has allocated over its lifetime. This routine is // the destructor for the RowSet. -func Xsqlite3RowSetDelete(tls *libc.TLS, pArg uintptr) { /* sqlite3.c:52713:21: */ +func Xsqlite3RowSetDelete(tls *libc.TLS, pArg uintptr) { /* sqlite3.c:52723:21: */ Xsqlite3RowSetClear(tls, pArg) Xsqlite3DbFree(tls, (*RowSet)(unsafe.Pointer(pArg)).Fdb, pArg) } @@ -76312,7 +76320,7 @@ func Xsqlite3RowSetDelete(tls *libc.TLS, pArg uintptr) { /* sqlite3.c:52713:21: // // In an OOM situation, the RowSet.db->mallocFailed flag is set and this // routine returns NULL. -func rowSetEntryAlloc(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:52726:27: */ +func rowSetEntryAlloc(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:52736:27: */ if int32((*RowSet)(unsafe.Pointer(p)).FnFresh) == 0 { //OPTIMIZATION-IF-FALSE // We could allocate a fresh RowSetEntry each time one is needed, but it @@ -76335,7 +76343,7 @@ func rowSetEntryAlloc(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:52726:27: // // The mallocFailed flag of the database connection is set if a // memory allocation fails. -func Xsqlite3RowSetInsert(tls *libc.TLS, p uintptr, rowid I64) { /* sqlite3.c:52751:21: */ +func Xsqlite3RowSetInsert(tls *libc.TLS, p uintptr, rowid I64) { /* sqlite3.c:52761:21: */ var pEntry uintptr // The new entry var pLast uintptr // The last prior entry @@ -76365,7 +76373,7 @@ func Xsqlite3RowSetInsert(tls *libc.TLS, p uintptr, rowid I64) { /* sqlite3.c:52 // // The input lists are connected via pRight pointers and are // assumed to each already be in sorted order. -func rowSetEntryMerge(tls *libc.TLS, pA uintptr, pB uintptr) uintptr { /* sqlite3.c:52782:27: */ +func rowSetEntryMerge(tls *libc.TLS, pA uintptr, pB uintptr) uintptr { /* sqlite3.c:52792:27: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -76400,7 +76408,7 @@ func rowSetEntryMerge(tls *libc.TLS, pA uintptr, pB uintptr) uintptr { /* sqlite // Sort all elements on the list of RowSetEntry objects into order of // increasing v. -func rowSetEntrySort(tls *libc.TLS, pIn uintptr) uintptr { /* sqlite3.c:52817:27: */ +func rowSetEntrySort(tls *libc.TLS, pIn uintptr) uintptr { /* sqlite3.c:52827:27: */ bp := tls.Alloc(320) defer tls.Free(320) @@ -76436,7 +76444,7 @@ func rowSetEntrySort(tls *libc.TLS, pIn uintptr) uintptr { /* sqlite3.c:52817:27 // The input, pIn, is a binary tree (or subtree) of RowSetEntry objects. // Convert this tree into a linked list connected by the pRight pointers // and return pointers to the first and last elements of the new list. -func rowSetTreeToList(tls *libc.TLS, pIn uintptr, ppFirst uintptr, ppLast uintptr) { /* sqlite3.c:52846:13: */ +func rowSetTreeToList(tls *libc.TLS, pIn uintptr, ppFirst uintptr, ppLast uintptr) { /* sqlite3.c:52856:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -76467,7 +76475,7 @@ func rowSetTreeToList(tls *libc.TLS, pIn uintptr, ppFirst uintptr, ppLast uintpt // and leave *ppList set to NULL. // // Return a pointer to the root of the constructed binary tree. -func rowSetNDeepTree(tls *libc.TLS, ppList uintptr, iDepth int32) uintptr { /* sqlite3.c:52881:27: */ +func rowSetNDeepTree(tls *libc.TLS, ppList uintptr, iDepth int32) uintptr { /* sqlite3.c:52891:27: */ var p uintptr // Root of the new tree var pLeft uintptr // Left subtree if *(*uintptr)(unsafe.Pointer(ppList)) == uintptr(0) { //OPTIMIZATION-IF-TRUE @@ -76498,7 +76506,7 @@ func rowSetNDeepTree(tls *libc.TLS, ppList uintptr, iDepth int32) uintptr { /* s // Convert a sorted list of elements into a binary tree. Make the tree // as deep as it needs to be in order to contain the entire list. -func rowSetListToTree(tls *libc.TLS, pList uintptr) uintptr { /* sqlite3.c:52917:27: */ +func rowSetListToTree(tls *libc.TLS, pList uintptr) uintptr { /* sqlite3.c:52927:27: */ bp := tls.Alloc(8) defer tls.Free(8) *(*uintptr)(unsafe.Pointer(bp)) = pList @@ -76531,7 +76539,7 @@ func rowSetListToTree(tls *libc.TLS, pList uintptr) uintptr { /* sqlite3.c:52917 // been used. Older versions of RowSet allowed that, but as the // capability was not used by the code generator, it was removed // for code economy. -func Xsqlite3RowSetNext(tls *libc.TLS, p uintptr, pRowid uintptr) int32 { /* sqlite3.c:52949:20: */ +func Xsqlite3RowSetNext(tls *libc.TLS, p uintptr, pRowid uintptr) int32 { /* sqlite3.c:52959:20: */ // Cannot be used with sqlite3RowSetText() @@ -76564,7 +76572,7 @@ func Xsqlite3RowSetNext(tls *libc.TLS, p uintptr, pRowid uintptr) int32 { /* sql // If this is the first test of a new batch and if there exist entries // on pRowSet->pEntry, then sort those entries into the forest at // pRowSet->pForest so that they can be tested. -func Xsqlite3RowSetTest(tls *libc.TLS, pRowSet uintptr, iBatch int32, iRowid Sqlite3_int64) int32 { /* sqlite3.c:52983:20: */ +func Xsqlite3RowSetTest(tls *libc.TLS, pRowSet uintptr, iBatch int32, iRowid Sqlite3_int64) int32 { /* sqlite3.c:52993:20: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -76749,7 +76757,7 @@ type Wal1 = struct { // Connection to a write-ahead log (WAL) file. // There is one object of this type for each pager. -type Wal = Wal1 /* sqlite3.c:53125:20 */ +type Wal = Wal1 /* sqlite3.c:53135:20 */ //************* End of wal.h ************************************************ //************* Continuing where we left off in pager.c ********************* @@ -77518,7 +77526,7 @@ type PagerSavepoint1 = struct { // immediately following the last journal record written into the main // journal before the journal-header. This is required during savepoint // rollback (see pagerPlaybackSavepoint()). -type PagerSavepoint = PagerSavepoint1 /* sqlite3.c:53636:31 */ +type PagerSavepoint = PagerSavepoint1 /* sqlite3.c:53646:31 */ // Indexes for use with Pager.aStat[]. The Pager.aStat[] array contains // the values accessed by passing SQLITE_DBSTATUS_CACHE_HIT, CACHE_MISS @@ -77551,11 +77559,11 @@ type PagerSavepoint = PagerSavepoint1 /* sqlite3.c:53636:31 */ // is different for every journal, we minimize that risk. var aJournalMagic = [8]uint8{ uint8(0xd9), uint8(0xd5), uint8(0x05), uint8(0xf9), uint8(0x20), uint8(0xa1), uint8(0x63), uint8(0xd7), -} /* sqlite3.c:53958:28 */ +} /* sqlite3.c:53968:28 */ // Set the Pager.xGet method for the appropriate routine used to fetch // content from the pager. -func setGetterMethod(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:54251:13: */ +func setGetterMethod(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:54261:13: */ if (*Pager)(unsafe.Pointer(pPager)).FerrCode != 0 { (*Pager)(unsafe.Pointer(pPager)).FxGet = *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, Pgno, uintptr, int32) int32 @@ -77578,7 +77586,7 @@ func setGetterMethod(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:54251:13: */ // * The page-number is less than or equal to PagerSavepoint.nOrig, and // * The bit corresponding to the page-number is not set in // PagerSavepoint.pInSavepoint. -func subjRequiresPage(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:54272:12: */ +func subjRequiresPage(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:54282:12: */ var pPager uintptr = (*PgHdr)(unsafe.Pointer(pPg)).FpPager var p uintptr var pgno Pgno = (*PgHdr)(unsafe.Pointer(pPg)).Fpgno @@ -77600,7 +77608,7 @@ func subjRequiresPage(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:54272:12: // error code is something goes wrong. // // All values are stored on disk as big-endian. -func read32bits(tls *libc.TLS, fd uintptr, offset I64, pRes uintptr) int32 { /* sqlite3.c:54305:12: */ +func read32bits(tls *libc.TLS, fd uintptr, offset I64, pRes uintptr) int32 { /* sqlite3.c:54315:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -77617,7 +77625,7 @@ func read32bits(tls *libc.TLS, fd uintptr, offset I64, pRes uintptr) int32 { /* // Write a 32-bit integer into the given file descriptor. Return SQLITE_OK // on success or an error code is something goes wrong. -func write32bits(tls *libc.TLS, fd uintptr, offset I64, val U32) int32 { /* sqlite3.c:54324:12: */ +func write32bits(tls *libc.TLS, fd uintptr, offset I64, val U32) int32 { /* sqlite3.c:54334:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -77634,7 +77642,7 @@ func write32bits(tls *libc.TLS, fd uintptr, offset I64, val U32) int32 { /* sqli // Except, if Pager.eLock is set to UNKNOWN_LOCK when this function is // called, do not modify it. See the comment above the #define of // UNKNOWN_LOCK for an explanation of this. -func pagerUnlockDb(tls *libc.TLS, pPager uintptr, eLock int32) int32 { /* sqlite3.c:54339:12: */ +func pagerUnlockDb(tls *libc.TLS, pPager uintptr, eLock int32) int32 { /* sqlite3.c:54349:12: */ var rc int32 = SQLITE_OK if (*Sqlite3_file)(unsafe.Pointer((*Pager)(unsafe.Pointer(pPager)).Ffd)).FpMethods != uintptr(0) { @@ -77661,7 +77669,7 @@ func pagerUnlockDb(tls *libc.TLS, pPager uintptr, eLock int32) int32 { /* sqlite // called, do not modify it unless the new locking state is EXCLUSIVE_LOCK. // See the comment above the #define of UNKNOWN_LOCK for an explanation // of this. -func pagerLockDb(tls *libc.TLS, pPager uintptr, eLock int32) int32 { /* sqlite3.c:54367:12: */ +func pagerLockDb(tls *libc.TLS, pPager uintptr, eLock int32) int32 { /* sqlite3.c:54377:12: */ var rc int32 = SQLITE_OK if int32((*Pager)(unsafe.Pointer(pPager)).FeLock) < eLock || int32((*Pager)(unsafe.Pointer(pPager)).FeLock) == EXCLUSIVE_LOCK+1 { @@ -77695,7 +77703,7 @@ func pagerLockDb(tls *libc.TLS, pPager uintptr, eLock int32) int32 { /* sqlite3. // returned in this case. // // If neither optimization can be used, 0 is returned. -func jrnlBufferSize(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:54400:12: */ +func jrnlBufferSize(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:54410:12: */ _ = pPager @@ -77729,7 +77737,7 @@ func jrnlBufferSize(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:54400:12 // // If an error occurs while reading from the journal file, an SQLite // error code is returned. -func readSuperJournal(tls *libc.TLS, pJrnl uintptr, zSuper uintptr, nSuper U32) int32 { /* sqlite3.c:54505:12: */ +func readSuperJournal(tls *libc.TLS, pJrnl uintptr, zSuper uintptr, nSuper U32) int32 { /* sqlite3.c:54515:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -77788,7 +77796,7 @@ func readSuperJournal(tls *libc.TLS, pJrnl uintptr, zSuper uintptr, nSuper U32) // 100 512 // 2000 2048 // -func journalHdrOffset(tls *libc.TLS, pPager uintptr) I64 { /* sqlite3.c:54561:12: */ +func journalHdrOffset(tls *libc.TLS, pPager uintptr) I64 { /* sqlite3.c:54571:12: */ var offset I64 = int64(0) var c I64 = (*Pager)(unsafe.Pointer(pPager)).FjournalOff if c != 0 { @@ -77817,7 +77825,7 @@ func journalHdrOffset(tls *libc.TLS, pPager uintptr) I64 { /* sqlite3.c:54561:12 // // If an IO error occurs, abandon processing and return the IO error code. // Otherwise, return SQLITE_OK. -func zeroJournalHdr(tls *libc.TLS, pPager uintptr, doTruncate int32) int32 { /* sqlite3.c:54594:12: */ +func zeroJournalHdr(tls *libc.TLS, pPager uintptr, doTruncate int32) int32 { /* sqlite3.c:54604:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -77852,7 +77860,7 @@ func zeroJournalHdr(tls *libc.TLS, pPager uintptr, doTruncate int32) int32 { /* return rc } -var zeroHdr = [28]int8{0: int8(0)} /* sqlite3.c:54605:25 */ +var zeroHdr = [28]int8{0: int8(0)} /* sqlite3.c:54615:25 */ // The journal file must be open when this routine is called. A journal // header (JOURNAL_HDR_SZ bytes) is written into the journal file at the @@ -77867,7 +77875,7 @@ var zeroHdr = [28]int8{0: int8(0)} /* sqlite3.c:54605:25 */ // - 4 bytes: Database page size. // // Followed by (JOURNAL_HDR_SZ - 28) bytes of unused space. -func writeJournalHdr(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:54644:12: */ +func writeJournalHdr(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:54654:12: */ var rc int32 = SQLITE_OK // Return code var zHeader uintptr = (*Pager)(unsafe.Pointer(pPager)).FpTmpSpace // Temporary space used to build header var nHeader U32 = U32((*Pager)(unsafe.Pointer(pPager)).FpageSize) // Size of buffer pointed to by zHeader @@ -77977,7 +77985,7 @@ func writeJournalHdr(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:54644:1 // If the journal header file appears to be corrupted, SQLITE_DONE is // returned and *pNRec and *PDbSize are undefined. If JOURNAL_HDR_SZ bytes // cannot be read from the journal file an error code is returned. -func readJournalHdr(tls *libc.TLS, pPager uintptr, isHot int32, journalSize I64, pNRec uintptr, pDbSize uintptr) int32 { /* sqlite3.c:54762:12: */ +func readJournalHdr(tls *libc.TLS, pPager uintptr, isHot int32, journalSize I64, pNRec uintptr, pDbSize uintptr) int32 { /* sqlite3.c:54772:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -78087,7 +78095,7 @@ func readJournalHdr(tls *libc.TLS, pPager uintptr, isHot int32, journalSize I64, // // If zSuper is a NULL pointer (occurs for a single database transaction), // this call is a no-op. -func writeSuperJournal(tls *libc.TLS, pPager uintptr, zSuper uintptr) int32 { /* sqlite3.c:54887:12: */ +func writeSuperJournal(tls *libc.TLS, pPager uintptr, zSuper uintptr) int32 { /* sqlite3.c:54897:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -78147,21 +78155,21 @@ func writeSuperJournal(tls *libc.TLS, pPager uintptr, zSuper uintptr) int32 { /* } // Discard the entire contents of the in-memory page-cache. -func pager_reset(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:54955:13: */ +func pager_reset(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:54965:13: */ (*Pager)(unsafe.Pointer(pPager)).FiDataVersion++ Xsqlite3BackupRestart(tls, (*Pager)(unsafe.Pointer(pPager)).FpBackup) Xsqlite3PcacheClear(tls, (*Pager)(unsafe.Pointer(pPager)).FpPCache) } // Return the pPager->iDataVersion value -func Xsqlite3PagerDataVersion(tls *libc.TLS, pPager uintptr) U32 { /* sqlite3.c:54964:20: */ +func Xsqlite3PagerDataVersion(tls *libc.TLS, pPager uintptr) U32 { /* sqlite3.c:54974:20: */ return (*Pager)(unsafe.Pointer(pPager)).FiDataVersion } // Free all structures in the Pager.aSavepoint[] array and set both // Pager.aSavepoint and Pager.nSavepoint to zero. Close the sub-journal // if it is open and the pager is not in exclusive mode. -func releaseAllSavepoints(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:54973:13: */ +func releaseAllSavepoints(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:54983:13: */ var ii int32 // Iterator for looping through Pager.aSavepoint for ii = 0; ii < (*Pager)(unsafe.Pointer(pPager)).FnSavepoint; ii++ { Xsqlite3BitvecDestroy(tls, (*PagerSavepoint)(unsafe.Pointer((*Pager)(unsafe.Pointer(pPager)).FaSavepoint+uintptr(ii)*56)).FpInSavepoint) @@ -78178,7 +78186,7 @@ func releaseAllSavepoints(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:54973:13 // Set the bit number pgno in the PagerSavepoint.pInSavepoint // bitvecs of all open savepoints. Return SQLITE_OK if successful // or SQLITE_NOMEM if a malloc failure occurs. -func addToSavepointBitvecs(tls *libc.TLS, pPager uintptr, pgno Pgno) int32 { /* sqlite3.c:54992:12: */ +func addToSavepointBitvecs(tls *libc.TLS, pPager uintptr, pgno Pgno) int32 { /* sqlite3.c:55002:12: */ var ii int32 // Loop counter var rc int32 = SQLITE_OK // Result code @@ -78207,7 +78215,7 @@ func addToSavepointBitvecs(tls *libc.TLS, pPager uintptr, pgno Pgno) int32 { /* // or not, any journal file left in the file-system will be treated // as a hot-journal and rolled back the next time a read-transaction // is opened (by this or by any other connection). -func pager_unlock(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:55024:13: */ +func pager_unlock(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:55034:13: */ Xsqlite3BitvecDestroy(tls, (*Pager)(unsafe.Pointer(pPager)).FpInJournal) (*Pager)(unsafe.Pointer(pPager)).FpInJournal = uintptr(0) @@ -78299,7 +78307,7 @@ func pager_unlock(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:55024:13: */ // the persistent error occurred, then the rollback journal may need // to be replayed to restore the contents of the database file (as if // it were a hot-journal). -func pager_error(tls *libc.TLS, pPager uintptr, rc int32) int32 { /* sqlite3.c:55121:12: */ +func pager_error(tls *libc.TLS, pPager uintptr, rc int32) int32 { /* sqlite3.c:55131:12: */ var rc2 int32 = rc & 0xff if rc2 == SQLITE_FULL || rc2 == SQLITE_IOERR { @@ -78324,7 +78332,7 @@ func pager_error(tls *libc.TLS, pPager uintptr, rc int32) int32 { /* sqlite3.c:5 // file has been created already (via a spill on pagerStress()) and // when the number of dirty pages in memory exceeds 25% of the total // cache size. -func pagerFlushOnCommit(tls *libc.TLS, pPager uintptr, bCommit int32) int32 { /* sqlite3.c:55155:12: */ +func pagerFlushOnCommit(tls *libc.TLS, pPager uintptr, bCommit int32) int32 { /* sqlite3.c:55165:12: */ if int32((*Pager)(unsafe.Pointer(pPager)).FtempFile) == 0 { return 1 } @@ -78388,7 +78396,7 @@ func pagerFlushOnCommit(tls *libc.TLS, pPager uintptr, bCommit int32) int32 { /* // unlock operation fails as well, then the first error code related // to the first error encountered (the journal finalization one) is // returned. -func pager_end_transaction(tls *libc.TLS, pPager uintptr, hasSuper int32, bCommit int32) int32 { /* sqlite3.c:55215:12: */ +func pager_end_transaction(tls *libc.TLS, pPager uintptr, hasSuper int32, bCommit int32) int32 { /* sqlite3.c:55225:12: */ var rc int32 = SQLITE_OK // Error code from journal finalization operation var rc2 int32 = SQLITE_OK // Error code from db file unlock operation @@ -78515,7 +78523,7 @@ func pager_end_transaction(tls *libc.TLS, pPager uintptr, hasSuper int32, bCommi // malloc error occurs during a rollback, then this will itself cause // the pager to enter the ERROR state. Which will be cleared by the // call to pager_unlock(), as described above. -func pagerUnlockAndRollback(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:55362:13: */ +func pagerUnlockAndRollback(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:55372:13: */ if int32((*Pager)(unsafe.Pointer(pPager)).FeState) != PAGER_ERROR && int32((*Pager)(unsafe.Pointer(pPager)).FeState) != PAGER_OPEN { if int32((*Pager)(unsafe.Pointer(pPager)).FeState) >= PAGER_WRITER_LOCKED { @@ -78547,7 +78555,7 @@ func pagerUnlockAndRollback(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:55362: // It is much less likely that the two ends of the journal record will be // correct and the middle be corrupt. Thus, this "checksum" scheme, // though fast and simple, catches the mostly likely kind of corruption. -func pager_cksum(tls *libc.TLS, pPager uintptr, aData uintptr) U32 { /* sqlite3.c:55396:12: */ +func pager_cksum(tls *libc.TLS, pPager uintptr, aData uintptr) U32 { /* sqlite3.c:55406:12: */ var cksum U32 = (*Pager)(unsafe.Pointer(pPager)).FcksumInit // Checksum value to return var i int32 = int32((*Pager)(unsafe.Pointer(pPager)).FpageSize - int64(200)) // Loop counter for i > 0 { @@ -78592,7 +78600,7 @@ func pager_cksum(tls *libc.TLS, pPager uintptr, aData uintptr) U32 { /* sqlite3. // If this is a savepoint rollback, then memory may have to be dynamically // allocated by this function. If this is the case and an allocation fails, // SQLITE_NOMEM is returned. -func pager_playback_one_page(tls *libc.TLS, pPager uintptr, pOffset uintptr, pDone uintptr, isMainJrnl int32, isSavepnt int32) int32 { /* sqlite3.c:55443:12: */ +func pager_playback_one_page(tls *libc.TLS, pPager uintptr, pOffset uintptr, pDone uintptr, isMainJrnl int32, isSavepnt int32) int32 { /* sqlite3.c:55453:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -78826,7 +78834,7 @@ func pager_playback_one_page(tls *libc.TLS, pPager uintptr, pOffset uintptr, pDo // the entire contents of the super-journal file. This could be // a couple of kilobytes or so - potentially larger than the page // size. -func pager_delsuper(tls *libc.TLS, pPager uintptr, zSuper uintptr) int32 { /* sqlite3.c:55690:12: */ +func pager_delsuper(tls *libc.TLS, pPager uintptr, zSuper uintptr) int32 { /* sqlite3.c:55700:12: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -78992,7 +79000,7 @@ __14: // // If successful, return SQLITE_OK. If an IO error occurs while modifying // the database file, return the error code to the caller. -func pager_truncate(tls *libc.TLS, pPager uintptr, nPage Pgno) int32 { /* sqlite3.c:55808:12: */ +func pager_truncate(tls *libc.TLS, pPager uintptr, nPage Pgno) int32 { /* sqlite3.c:55818:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -79027,7 +79035,7 @@ func pager_truncate(tls *libc.TLS, pPager uintptr, nPage Pgno) int32 { /* sqlite // Return a sanitized version of the sector-size of OS file pFile. The // return value is guaranteed to lie between 32 and MAX_SECTOR_SIZE. -func Xsqlite3SectorSize(tls *libc.TLS, pFile uintptr) int32 { /* sqlite3.c:55844:20: */ +func Xsqlite3SectorSize(tls *libc.TLS, pFile uintptr) int32 { /* sqlite3.c:55854:20: */ var iRet int32 = Xsqlite3OsSectorSize(tls, pFile) if iRet < 32 { iRet = 512 @@ -79059,7 +79067,7 @@ func Xsqlite3SectorSize(tls *libc.TLS, pFile uintptr) int32 { /* sqlite3.c:55844 // (that is what POWERSAFE_OVERWRITE means), so we minimize the sector // size. For backwards compatibility of the rollback journal file format, // we cannot reduce the effective sector size below 512. -func setSectorSize(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:55878:13: */ +func setSectorSize(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:55888:13: */ if (*Pager)(unsafe.Pointer(pPager)).FtempFile != 0 || Xsqlite3OsDeviceCharacteristics(tls, (*Pager)(unsafe.Pointer(pPager)).Ffd)&SQLITE_IOCAP_POWERSAFE_OVERWRITE != 0 { @@ -79127,7 +79135,7 @@ func setSectorSize(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:55878:13: */ // If the journal really is hot, reset the pager cache prior rolling // back any content. If the journal is merely persistent, no reset is // needed. -func pager_playback(tls *libc.TLS, pPager uintptr, isHot int32) int32 { /* sqlite3.c:55951:12: */ +func pager_playback(tls *libc.TLS, pPager uintptr, isHot int32) int32 { /* sqlite3.c:55961:12: */ bp := tls.Alloc(40) defer tls.Free(40) @@ -79418,7 +79426,7 @@ __28: // // If an IO error occurs, then the IO error is returned to the caller. // Otherwise, SQLITE_OK is returned. -func readDbPage(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:56171:12: */ +func readDbPage(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:56181:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -79472,7 +79480,7 @@ func readDbPage(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:56171:12: */ // This is an unconditional update. See also the pager_incr_changecounter() // routine which only updates the change-counter if the update is actually // needed, as determined by the pPager->changeCountDone state variable. -func pager_write_changecounter(tls *libc.TLS, pPg uintptr) { /* sqlite3.c:56234:13: */ +func pager_write_changecounter(tls *libc.TLS, pPg uintptr) { /* sqlite3.c:56244:13: */ var change_counter U32 if pPg == uintptr(0) { return @@ -79499,7 +79507,7 @@ func pager_write_changecounter(tls *libc.TLS, pPg uintptr) { /* sqlite3.c:56234: // references, the page content is reloaded from the database. If the // attempt to reload content from the database is required and fails, // return an SQLite error code. Otherwise, SQLITE_OK. -func pagerUndoCallback(tls *libc.TLS, pCtx uintptr, iPg Pgno) int32 { /* sqlite3.c:56262:12: */ +func pagerUndoCallback(tls *libc.TLS, pCtx uintptr, iPg Pgno) int32 { /* sqlite3.c:56272:12: */ var rc int32 = SQLITE_OK var pPager uintptr = pCtx var pPg uintptr @@ -79530,7 +79538,7 @@ func pagerUndoCallback(tls *libc.TLS, pCtx uintptr, iPg Pgno) int32 { /* sqlite3 } // This function is called to rollback a transaction on a WAL database. -func pagerRollbackWal(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:56297:12: */ +func pagerRollbackWal(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:56307:12: */ var rc int32 // Return Code var pList uintptr // List of dirty pages to revert @@ -79561,7 +79569,7 @@ func pagerRollbackWal(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:56297: // // The list of pages passed into this routine is always sorted by page number. // Hence, if page 1 appears anywhere on the list, it will be the first page. -func pagerWalFrames(tls *libc.TLS, pPager uintptr, pList uintptr, nTruncate Pgno, isCommit int32) int32 { /* sqlite3.c:56329:12: */ +func pagerWalFrames(tls *libc.TLS, pPager uintptr, pList uintptr, nTruncate Pgno, isCommit int32) int32 { /* sqlite3.c:56339:12: */ bp := tls.Alloc(8) defer tls.Free(8) *(*uintptr)(unsafe.Pointer(bp)) = pList @@ -79609,7 +79617,7 @@ func pagerWalFrames(tls *libc.TLS, pPager uintptr, pList uintptr, nTruncate Pgno // makes a snapshot of the database at the current point in time and preserves // that snapshot for use by the reader in spite of concurrently changes by // other writers or checkpointers. -func pagerBeginReadTransaction(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:56396:12: */ +func pagerBeginReadTransaction(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:56406:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -79640,7 +79648,7 @@ func pagerBeginReadTransaction(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3 // If no error occurs, SQLITE_OK is returned and the size of the database // in pages is stored in *pnPage. Otherwise, an error code (perhaps // SQLITE_IOERR_FSTAT) is returned and *pnPage is left unmodified. -func pagerPagecount(tls *libc.TLS, pPager uintptr, pnPage uintptr) int32 { /* sqlite3.c:56429:12: */ +func pagerPagecount(tls *libc.TLS, pPager uintptr, pnPage uintptr) int32 { /* sqlite3.c:56439:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -79694,7 +79702,7 @@ func pagerPagecount(tls *libc.TLS, pPager uintptr, pnPage uintptr) int32 { /* sq // a WAL on a none-empty database, this ensures there is no race condition // between the xAccess() below and an xDelete() being executed by some // other connection. -func pagerOpenWalIfPresent(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:56489:12: */ +func pagerOpenWalIfPresent(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:56499:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -79762,7 +79770,7 @@ func pagerOpenWalIfPresent(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:5 // is reset to the value that it held at the start of the savepoint // (or transaction). No page with a page-number greater than this value // is played back. If one is encountered it is simply skipped. -func pagerPlaybackSavepoint(tls *libc.TLS, pPager uintptr, pSavepoint uintptr) int32 { /* sqlite3.c:56556:12: */ +func pagerPlaybackSavepoint(tls *libc.TLS, pPager uintptr, pSavepoint uintptr) int32 { /* sqlite3.c:56566:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -79871,18 +79879,18 @@ func pagerPlaybackSavepoint(tls *libc.TLS, pPager uintptr, pSavepoint uintptr) i // Change the maximum number of in-memory pages that are allowed // before attempting to recycle clean and unused pages. -func Xsqlite3PagerSetCachesize(tls *libc.TLS, pPager uintptr, mxPage int32) { /* sqlite3.c:56668:21: */ +func Xsqlite3PagerSetCachesize(tls *libc.TLS, pPager uintptr, mxPage int32) { /* sqlite3.c:56678:21: */ Xsqlite3PcacheSetCachesize(tls, (*Pager)(unsafe.Pointer(pPager)).FpPCache, mxPage) } // Change the maximum number of in-memory pages that are allowed // before attempting to spill pages to journal. -func Xsqlite3PagerSetSpillsize(tls *libc.TLS, pPager uintptr, mxPage int32) int32 { /* sqlite3.c:56676:20: */ +func Xsqlite3PagerSetSpillsize(tls *libc.TLS, pPager uintptr, mxPage int32) int32 { /* sqlite3.c:56686:20: */ return Xsqlite3PcacheSetSpillsize(tls, (*Pager)(unsafe.Pointer(pPager)).FpPCache, mxPage) } // Invoke SQLITE_FCNTL_MMAP_SIZE based on the current value of szMmap. -func pagerFixMaplimit(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:56683:13: */ +func pagerFixMaplimit(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:56693:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -79898,13 +79906,13 @@ func pagerFixMaplimit(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:56683:13: */ } // Change the maximum size of any memory mapping made of the database file. -func Xsqlite3PagerSetMmapLimit(tls *libc.TLS, pPager uintptr, szMmap Sqlite3_int64) { /* sqlite3.c:56699:21: */ +func Xsqlite3PagerSetMmapLimit(tls *libc.TLS, pPager uintptr, szMmap Sqlite3_int64) { /* sqlite3.c:56709:21: */ (*Pager)(unsafe.Pointer(pPager)).FszMmap = szMmap pagerFixMaplimit(tls, pPager) } // Free as much memory as possible from the pager. -func Xsqlite3PagerShrink(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:56707:21: */ +func Xsqlite3PagerShrink(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:56717:21: */ Xsqlite3PcacheShrink(tls, (*Pager)(unsafe.Pointer(pPager)).FpPCache) } @@ -79957,7 +79965,7 @@ func Xsqlite3PagerShrink(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:56707:21: // // Numeric values associated with these states are OFF==1, NORMAL=2, // and FULL=3. -func Xsqlite3PagerSetFlags(tls *libc.TLS, pPager uintptr, pgFlags uint32) { /* sqlite3.c:56763:21: */ +func Xsqlite3PagerSetFlags(tls *libc.TLS, pPager uintptr, pgFlags uint32) { /* sqlite3.c:56773:21: */ var level uint32 = pgFlags & uint32(PAGER_SYNCHRONOUS_MASK) if (*Pager)(unsafe.Pointer(pPager)).FtempFile != 0 { (*Pager)(unsafe.Pointer(pPager)).FnoSync = U8(1) @@ -80021,7 +80029,7 @@ func Xsqlite3PagerSetFlags(tls *libc.TLS, pPager uintptr, pgFlags uint32) { /* s // SQLITE_OPEN_CREATE // SQLITE_OPEN_EXCLUSIVE // SQLITE_OPEN_DELETEONCLOSE -func pagerOpentemp(tls *libc.TLS, pPager uintptr, pFile uintptr, vfsFlags int32) int32 { /* sqlite3.c:56823:12: */ +func pagerOpentemp(tls *libc.TLS, pPager uintptr, pFile uintptr, vfsFlags int32) int32 { /* sqlite3.c:56833:12: */ var rc int32 // Return code vfsFlags = vfsFlags | (SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE | SQLITE_OPEN_EXCLUSIVE | SQLITE_OPEN_DELETEONCLOSE) @@ -80049,7 +80057,7 @@ func pagerOpentemp(tls *libc.TLS, pPager uintptr, pFile uintptr, vfsFlags int32) // If the busy-handler callback returns non-zero, the lock is // retried. If it returns zero, then the SQLITE_BUSY error is // returned to the caller of the pager API function. -func Xsqlite3PagerSetBusyHandler(tls *libc.TLS, pPager uintptr, xBusyHandler uintptr, pBusyHandlerArg uintptr) { /* sqlite3.c:56862:21: */ +func Xsqlite3PagerSetBusyHandler(tls *libc.TLS, pPager uintptr, xBusyHandler uintptr, pBusyHandlerArg uintptr) { /* sqlite3.c:56872:21: */ var ap uintptr (*Pager)(unsafe.Pointer(pPager)).FxBusyHandler = xBusyHandler (*Pager)(unsafe.Pointer(pPager)).FpBusyHandlerArg = pBusyHandlerArg @@ -80086,7 +80094,7 @@ func Xsqlite3PagerSetBusyHandler(tls *libc.TLS, pPager uintptr, xBusyHandler uin // conditions above is not true, the pager was in error state when this // function was called, or because the memory allocation attempt failed, // then *pPageSize is set to the old, retained page size before returning. -func Xsqlite3PagerSetPagesize(tls *libc.TLS, pPager uintptr, pPageSize uintptr, nReserve int32) int32 { /* sqlite3.c:56906:20: */ +func Xsqlite3PagerSetPagesize(tls *libc.TLS, pPager uintptr, pPageSize uintptr, nReserve int32) int32 { /* sqlite3.c:56916:20: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -80155,7 +80163,7 @@ func Xsqlite3PagerSetPagesize(tls *libc.TLS, pPager uintptr, pPageSize uintptr, // during rollback and will be overwritten whenever a rollback // occurs. But other modules are free to use it too, as long as // no rollbacks are happening. -func Xsqlite3PagerTempSpace(tls *libc.TLS, pPager uintptr) uintptr { /* sqlite3.c:56974:21: */ +func Xsqlite3PagerTempSpace(tls *libc.TLS, pPager uintptr) uintptr { /* sqlite3.c:56984:21: */ return (*Pager)(unsafe.Pointer(pPager)).FpTmpSpace } @@ -80164,7 +80172,7 @@ func Xsqlite3PagerTempSpace(tls *libc.TLS, pPager uintptr) uintptr { /* sqlite3. // maximum page count below the current size of the database. // // Regardless of mxPage, return the current maximum page count. -func Xsqlite3PagerMaxPageCount(tls *libc.TLS, pPager uintptr, mxPage Pgno) Pgno { /* sqlite3.c:56985:21: */ +func Xsqlite3PagerMaxPageCount(tls *libc.TLS, pPager uintptr, mxPage Pgno) Pgno { /* sqlite3.c:56995:21: */ if mxPage > Pgno(0) { (*Pager)(unsafe.Pointer(pPager)).FmxPgno = mxPage } @@ -80195,7 +80203,7 @@ func Xsqlite3PagerMaxPageCount(tls *libc.TLS, pPager uintptr, mxPage Pgno) Pgno // If any IO error apart from SQLITE_IOERR_SHORT_READ is encountered, // the error code is returned to the caller and the contents of the // output buffer undefined. -func Xsqlite3PagerReadFileheader(tls *libc.TLS, pPager uintptr, N int32, pDest uintptr) int32 { /* sqlite3.c:57035:20: */ +func Xsqlite3PagerReadFileheader(tls *libc.TLS, pPager uintptr, N int32, pDest uintptr) int32 { /* sqlite3.c:57045:20: */ var rc int32 = SQLITE_OK libc.Xmemset(tls, pDest, 0, uint64(N)) @@ -80218,7 +80226,7 @@ func Xsqlite3PagerReadFileheader(tls *libc.TLS, pPager uintptr, N int32, pDest u // // However, if the file is between 1 and bytes in size, then // this is considered a 1 page file. -func Xsqlite3PagerPagecount(tls *libc.TLS, pPager uintptr, pnPage uintptr) { /* sqlite3.c:57063:21: */ +func Xsqlite3PagerPagecount(tls *libc.TLS, pPager uintptr, pnPage uintptr) { /* sqlite3.c:57073:21: */ *(*int32)(unsafe.Pointer(pnPage)) = int32((*Pager)(unsafe.Pointer(pPager)).FdbSize) } @@ -80235,7 +80243,7 @@ func Xsqlite3PagerPagecount(tls *libc.TLS, pPager uintptr, pnPage uintptr) { /* // Return SQLITE_OK on success and an error code if we cannot obtain // the lock. If the lock is obtained successfully, set the Pager.state // variable to locktype before returning. -func pager_wait_on_lock(tls *libc.TLS, pPager uintptr, locktype int32) int32 { /* sqlite3.c:57084:12: */ +func pager_wait_on_lock(tls *libc.TLS, pPager uintptr, locktype int32) int32 { /* sqlite3.c:57094:12: */ var rc int32 // Return code // Check that this is either a no-op (because the requested lock is @@ -80280,7 +80288,7 @@ func pager_wait_on_lock(tls *libc.TLS, pPager uintptr, locktype int32) int32 { / // Once this function has been called, the transaction must either be // rolled back or committed. It is not safe to call this function and // then continue writing to the database. -func Xsqlite3PagerTruncateImage(tls *libc.TLS, pPager uintptr, nPage Pgno) { /* sqlite3.c:57155:21: */ +func Xsqlite3PagerTruncateImage(tls *libc.TLS, pPager uintptr, nPage Pgno) { /* sqlite3.c:57165:21: */ (*Pager)(unsafe.Pointer(pPager)).FdbSize = nPage @@ -80307,7 +80315,7 @@ func Xsqlite3PagerTruncateImage(tls *libc.TLS, pPager uintptr, nPage Pgno) { /* // // If everything goes as planned, SQLITE_OK is returned. Otherwise, // an SQLite error code. -func pagerSyncHotJournal(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:57186:12: */ +func pagerSyncHotJournal(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:57196:12: */ var rc int32 = SQLITE_OK if !(int32((*Pager)(unsafe.Pointer(pPager)).FnoSync) != 0) { rc = Xsqlite3OsSync(tls, (*Pager)(unsafe.Pointer(pPager)).Fjfd, SQLITE_SYNC_NORMAL) @@ -80326,7 +80334,7 @@ func pagerSyncHotJournal(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:571 // // Page references obtained by calling this function should be released // by calling pagerReleaseMapPage(). -func pagerAcquireMapPage(tls *libc.TLS, pPager uintptr, pgno Pgno, pData uintptr, ppPage uintptr) int32 { /* sqlite3.c:57208:12: */ +func pagerAcquireMapPage(tls *libc.TLS, pPager uintptr, pgno Pgno, pData uintptr, ppPage uintptr) int32 { /* sqlite3.c:57218:12: */ var p uintptr // Memory mapped page to return if (*Pager)(unsafe.Pointer(pPager)).FpMmapFreelist != 0 { @@ -80356,7 +80364,7 @@ func pagerAcquireMapPage(tls *libc.TLS, pPager uintptr, pgno Pgno, pData uintptr // Release a reference to page pPg. pPg must have been returned by an // earlier call to pagerAcquireMapPage(). -func pagerReleaseMapPage(tls *libc.TLS, pPg uintptr) { /* sqlite3.c:57252:13: */ +func pagerReleaseMapPage(tls *libc.TLS, pPg uintptr) { /* sqlite3.c:57262:13: */ var pPager uintptr = (*PgHdr)(unsafe.Pointer(pPg)).FpPager (*Pager)(unsafe.Pointer(pPager)).FnMmapOut-- (*PgHdr)(unsafe.Pointer(pPg)).FpDirty = (*Pager)(unsafe.Pointer(pPager)).FpMmapFreelist @@ -80366,7 +80374,7 @@ func pagerReleaseMapPage(tls *libc.TLS, pPg uintptr) { /* sqlite3.c:57252:13: */ } // Free all PgHdr objects stored in the Pager.pMmapFreelist list. -func pagerFreeMapHdrs(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:57265:13: */ +func pagerFreeMapHdrs(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:57275:13: */ var p uintptr var pNext uintptr for p = (*Pager)(unsafe.Pointer(pPager)).FpMmapFreelist; p != 0; p = pNext { @@ -80379,7 +80387,7 @@ func pagerFreeMapHdrs(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:57265:13: */ // under the pager. Return SQLITE_OK if the database is still where it ought // to be on disk. Return non-zero (SQLITE_READONLY_DBMOVED or some other error // code from sqlite3OsAccess()) if the database has gone missing. -func databaseIsUnmoved(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:57279:12: */ +func databaseIsUnmoved(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:57289:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -80417,7 +80425,7 @@ func databaseIsUnmoved(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:57279 // is made to roll it back. If an error occurs during the rollback // a hot journal may be left in the filesystem but no error is returned // to the caller. -func Xsqlite3PagerClose(tls *libc.TLS, pPager uintptr, db uintptr) int32 { /* sqlite3.c:57313:20: */ +func Xsqlite3PagerClose(tls *libc.TLS, pPager uintptr, db uintptr) int32 { /* sqlite3.c:57323:20: */ var pTmp uintptr = (*Pager)(unsafe.Pointer(pPager)).FpTmpSpace Xsqlite3BeginBenignMalloc(tls) @@ -80466,7 +80474,7 @@ func Xsqlite3PagerClose(tls *libc.TLS, pPager uintptr, db uintptr) int32 { /* sq } // Increment the reference count for page pPg. -func Xsqlite3PagerRef(tls *libc.TLS, pPg uintptr) { /* sqlite3.c:57382:21: */ +func Xsqlite3PagerRef(tls *libc.TLS, pPg uintptr) { /* sqlite3.c:57392:21: */ Xsqlite3PcacheRef(tls, pPg) } @@ -80503,7 +80511,7 @@ func Xsqlite3PagerRef(tls *libc.TLS, pPg uintptr) { /* sqlite3.c:57382:21: */ // If successful, this routine clears the PGHDR_NEED_SYNC flag of every // page currently held in memory before returning SQLITE_OK. If an IO // error is encountered, then the IO error code is returned to the caller. -func syncJournal(tls *libc.TLS, pPager uintptr, newHdr int32) int32 { /* sqlite3.c:57421:12: */ +func syncJournal(tls *libc.TLS, pPager uintptr, newHdr int32) int32 { /* sqlite3.c:57431:12: */ bp := tls.Alloc(20) defer tls.Free(20) @@ -80617,7 +80625,7 @@ func syncJournal(tls *libc.TLS, pPager uintptr, newHdr int32) int32 { /* sqlite3 return SQLITE_OK } -var zerobyte U8 = U8(0) /* sqlite3.c:57472:27 */ +var zerobyte U8 = U8(0) /* sqlite3.c:57482:27 */ // The argument is the first in a linked list of dirty pages connected // by the PgHdr.pDirty pointer. This function writes each one of the @@ -80649,7 +80657,7 @@ var zerobyte U8 = U8(0) /* sqlite3.c:57472:27 */ // If everything is successful, SQLITE_OK is returned. If an IO error // occurs, an IO error code is returned. Or, if the EXCLUSIVE lock cannot // be obtained, SQLITE_BUSY is returned. -func pager_write_pagelist(tls *libc.TLS, pPager uintptr, pList uintptr) int32 { /* sqlite3.c:57564:12: */ +func pager_write_pagelist(tls *libc.TLS, pPager uintptr, pList uintptr) int32 { /* sqlite3.c:57574:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -80729,7 +80737,7 @@ func pager_write_pagelist(tls *libc.TLS, pPager uintptr, pList uintptr) int32 { // SQLITE_OK is returned if everything goes according to plan. An // SQLITE_IOERR_XXX error code is returned if a call to sqlite3OsOpen() // fails. -func openSubJournal(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:57655:12: */ +func openSubJournal(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:57665:12: */ var rc int32 = SQLITE_OK if !((*Sqlite3_file)(unsafe.Pointer((*Pager)(unsafe.Pointer(pPager)).Fsjfd)).FpMethods != uintptr(0)) { var flags int32 = SQLITE_OPEN_SUBJOURNAL | SQLITE_OPEN_READWRITE | @@ -80753,7 +80761,7 @@ func openSubJournal(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:57655:12 // error code if the attempt to write to the sub-journal fails, or // SQLITE_NOMEM if a malloc fails while setting a bit in a savepoint // bitvec. -func subjournalPage(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:57681:12: */ +func subjournalPage(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:57691:12: */ var rc int32 = SQLITE_OK var pPager uintptr = (*PgHdr)(unsafe.Pointer(pPg)).FpPager if int32((*Pager)(unsafe.Pointer(pPager)).FjournalMode) != PAGER_JOURNALMODE_OFF { @@ -80784,7 +80792,7 @@ func subjournalPage(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:57681:12: * return rc } -func subjournalPageIfRequired(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:57717:12: */ +func subjournalPageIfRequired(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:57727:12: */ if subjRequiresPage(tls, pPg) != 0 { return subjournalPage(tls, pPg) } else { @@ -80810,7 +80818,7 @@ func subjournalPageIfRequired(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:5 // page clean, the IO error code is returned. If the page cannot be // made clean for some other reason, but no error occurs, then SQLITE_OK // is returned by sqlite3PcacheMakeClean() is not called. -func pagerStress(tls *libc.TLS, p uintptr, pPg uintptr) int32 { /* sqlite3.c:57744:12: */ +func pagerStress(tls *libc.TLS, p uintptr, pPg uintptr) int32 { /* sqlite3.c:57754:12: */ var pPager uintptr = p var rc int32 = SQLITE_OK @@ -80872,7 +80880,7 @@ func pagerStress(tls *libc.TLS, p uintptr, pPg uintptr) int32 { /* sqlite3.c:577 } // Flush all unreferenced dirty pages to disk. -func Xsqlite3PagerFlush(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:57821:20: */ +func Xsqlite3PagerFlush(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:57831:20: */ var rc int32 = (*Pager)(unsafe.Pointer(pPager)).FerrCode if !(int32((*Pager)(unsafe.Pointer(pPager)).FmemDb) != 0) { var pList uintptr = Xsqlite3PcacheDirtyList(tls, (*Pager)(unsafe.Pointer(pPager)).FpPCache) @@ -80919,7 +80927,7 @@ func Xsqlite3PagerFlush(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:5782 // and error code returned. This function may return SQLITE_NOMEM // (sqlite3Malloc() is used to allocate memory), SQLITE_CANTOPEN or // various SQLITE_IO_XXX errors. -func Xsqlite3PagerOpen(tls *libc.TLS, pVfs uintptr, ppPager uintptr, zFilename uintptr, nExtra int32, flags int32, vfsFlags int32, xReinit uintptr) int32 { /* sqlite3.c:57870:20: */ +func Xsqlite3PagerOpen(tls *libc.TLS, pVfs uintptr, ppPager uintptr, zFilename uintptr, nExtra int32, flags int32, vfsFlags int32, xReinit uintptr) int32 { /* sqlite3.c:57880:20: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -81045,7 +81053,7 @@ __11: // bytes in length. This means the database cannot be opened, // as it will not be possible to open the journal file or even // check for a hot-journal before reading. - rc = Xsqlite3CantopenError(tls, 57957) + rc = Xsqlite3CantopenError(tls, 57967) __12: ; if !(rc != SQLITE_OK) { @@ -81364,7 +81372,7 @@ __37: // Return the sqlite3_file for the main database given the name // of the corresonding WAL or Journal name as passed into // xOpen. -func Xsqlite3_database_file_object(tls *libc.TLS, zName uintptr) uintptr { /* sqlite3.c:58242:25: */ +func Xsqlite3_database_file_object(tls *libc.TLS, zName uintptr) uintptr { /* sqlite3.c:58252:25: */ var pPager uintptr for int32(*(*int8)(unsafe.Pointer(zName + libc.UintptrFromInt32(-1)))) != 0 || int32(*(*int8)(unsafe.Pointer(zName + libc.UintptrFromInt32(-2)))) != 0 || int32(*(*int8)(unsafe.Pointer(zName + libc.UintptrFromInt32(-3)))) != 0 || int32(*(*int8)(unsafe.Pointer(zName + libc.UintptrFromInt32(-4)))) != 0 { zName-- @@ -81402,7 +81410,7 @@ func Xsqlite3_database_file_object(tls *libc.TLS, zName uintptr) uintptr { /* sq // set to 0 and SQLITE_OK returned. If an IO error occurs while trying // to determine whether or not a hot-journal file exists, the IO error // code is returned and the value of *pExists is undefined. -func hasHotJournal(tls *libc.TLS, pPager uintptr, pExists uintptr) int32 { /* sqlite3.c:58283:12: */ +func hasHotJournal(tls *libc.TLS, pPager uintptr, pExists uintptr) int32 { /* sqlite3.c:58293:12: */ bp := tls.Alloc(17) defer tls.Free(17) @@ -81513,7 +81521,7 @@ func hasHotJournal(tls *libc.TLS, pPager uintptr, pExists uintptr) int32 { /* sq // If everything is successful, SQLITE_OK is returned. If an IO error // occurs while locking the database, checking for a hot-journal file or // rolling back a journal file, the IO error code is returned. -func Xsqlite3PagerSharedLock(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:58403:20: */ +func Xsqlite3PagerSharedLock(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:58413:20: */ bp := tls.Alloc(28) defer tls.Free(28) @@ -81639,7 +81647,7 @@ __7: if !(rc == SQLITE_OK && *(*int32)(unsafe.Pointer(bp + 8))&SQLITE_OPEN_READONLY != 0) { goto __10 } - rc = Xsqlite3CantopenError(tls, 58487) + rc = Xsqlite3CantopenError(tls, 58497) Xsqlite3OsClose(tls, (*Pager)(unsafe.Pointer(pPager)).Fjfd) __10: ; @@ -81788,7 +81796,7 @@ __24: // Except, in locking_mode=EXCLUSIVE when there is nothing to in // the rollback journal, the unlock is not performed and there is // nothing to rollback, so this routine is a no-op. -func pagerUnlockIfUnused(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:58620:13: */ +func pagerUnlockIfUnused(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:58630:13: */ if Xsqlite3PcacheRefCount(tls, (*Pager)(unsafe.Pointer(pPager)).FpPCache) == 0 { // because page1 is never memory mapped pagerUnlockAndRollback(tls, pPager) @@ -81850,7 +81858,7 @@ func pagerUnlockIfUnused(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:58620:13: // has to go to disk, and could also playback an old journal if necessary. // Since Lookup() never goes to disk, it never has to deal with locks // or journal files. -func getPageNormal(tls *libc.TLS, pPager uintptr, pgno Pgno, ppPage uintptr, flags int32) int32 { /* sqlite3.c:58684:12: */ +func getPageNormal(tls *libc.TLS, pPager uintptr, pgno Pgno, ppPage uintptr, flags int32) int32 { /* sqlite3.c:58694:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -81863,7 +81871,7 @@ func getPageNormal(tls *libc.TLS, pPager uintptr, pgno Pgno, ppPage uintptr, fla if !(pgno == Pgno(0)) { goto __1 } - return Xsqlite3CorruptError(tls, 58700) + return Xsqlite3CorruptError(tls, 58710) __1: ; *(*uintptr)(unsafe.Pointer(bp /* pBase */)) = Xsqlite3PcacheFetch(tls, (*Pager)(unsafe.Pointer(pPager)).FpPCache, pgno, 3) @@ -81909,7 +81917,7 @@ __5: if !(pgno == Pgno(I64(Xsqlite3PendingByte)/(*Pager)(unsafe.Pointer(pPager)).FpageSize+int64(1))) { goto __7 } - rc = Xsqlite3CorruptError(tls, 58732) + rc = Xsqlite3CorruptError(tls, 58742) goto pager_acquire_err __7: ; @@ -81981,7 +81989,7 @@ __14: } // The page getter for when memory-mapped I/O is enabled -func getPageMMap(tls *libc.TLS, pPager uintptr, pgno Pgno, ppPage uintptr, flags int32) int32 { /* sqlite3.c:58786:12: */ +func getPageMMap(tls *libc.TLS, pPager uintptr, pgno Pgno, ppPage uintptr, flags int32) int32 { /* sqlite3.c:58796:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -82001,7 +82009,7 @@ func getPageMMap(tls *libc.TLS, pPager uintptr, pgno Pgno, ppPage uintptr, flags // test in the previous statement, and avoid testing pgno==0 in the // common case where pgno is large. if pgno <= Pgno(1) && pgno == Pgno(0) { - return Xsqlite3CorruptError(tls, 58811) + return Xsqlite3CorruptError(tls, 58821) } if bMmapOk != 0 && (*Pager)(unsafe.Pointer(pPager)).FpWal != uintptr(0) { @@ -82039,7 +82047,7 @@ func getPageMMap(tls *libc.TLS, pPager uintptr, pgno Pgno, ppPage uintptr, flags } // The page getter method for when the pager is an error state -func getPageError(tls *libc.TLS, pPager uintptr, pgno Pgno, ppPage uintptr, flags int32) int32 { /* sqlite3.c:58855:12: */ +func getPageError(tls *libc.TLS, pPager uintptr, pgno Pgno, ppPage uintptr, flags int32) int32 { /* sqlite3.c:58865:12: */ _ = pgno _ = flags @@ -82048,7 +82056,7 @@ func getPageError(tls *libc.TLS, pPager uintptr, pgno Pgno, ppPage uintptr, flag } // Dispatch all page fetch requests to the appropriate getter method. -func Xsqlite3PagerGet(tls *libc.TLS, pPager uintptr, pgno Pgno, ppPage uintptr, flags int32) int32 { /* sqlite3.c:58871:20: */ +func Xsqlite3PagerGet(tls *libc.TLS, pPager uintptr, pgno Pgno, ppPage uintptr, flags int32) int32 { /* sqlite3.c:58881:20: */ // printf("PAGE %u\n", pgno); fflush(stdout); return (*struct { f func(*libc.TLS, uintptr, Pgno, uintptr, int32) int32 @@ -82064,7 +82072,7 @@ func Xsqlite3PagerGet(tls *libc.TLS, pPager uintptr, pgno Pgno, ppPage uintptr, // in the page if the page is not already in cache. This routine // returns NULL if the page is not in cache or if a disk I/O error // has ever happened. -func Xsqlite3PagerLookup(tls *libc.TLS, pPager uintptr, pgno Pgno) uintptr { /* sqlite3.c:58892:23: */ +func Xsqlite3PagerLookup(tls *libc.TLS, pPager uintptr, pgno Pgno) uintptr { /* sqlite3.c:58902:23: */ var pPage uintptr pPage = Xsqlite3PcacheFetch(tls, (*Pager)(unsafe.Pointer(pPager)).FpPCache, pgno, 0) @@ -82085,7 +82093,7 @@ func Xsqlite3PagerLookup(tls *libc.TLS, pPager uintptr, pgno Pgno) uintptr { /* // Use sqlite3PagerUnrefPageOne() to release page1. This latter routine // checks the total number of outstanding pages and if the number of // pages reaches zero it drops the database lock. -func Xsqlite3PagerUnrefNotNull(tls *libc.TLS, pPg uintptr) { /* sqlite3.c:58915:21: */ +func Xsqlite3PagerUnrefNotNull(tls *libc.TLS, pPg uintptr) { /* sqlite3.c:58925:21: */ if int32((*DbPage)(unsafe.Pointer(pPg)).Fflags)&PGHDR_MMAP != 0 { // Page1 is never memory mapped @@ -82097,13 +82105,13 @@ func Xsqlite3PagerUnrefNotNull(tls *libc.TLS, pPg uintptr) { /* sqlite3.c:58915: } -func Xsqlite3PagerUnref(tls *libc.TLS, pPg uintptr) { /* sqlite3.c:58927:21: */ +func Xsqlite3PagerUnref(tls *libc.TLS, pPg uintptr) { /* sqlite3.c:58937:21: */ if pPg != 0 { Xsqlite3PagerUnrefNotNull(tls, pPg) } } -func Xsqlite3PagerUnrefPageOne(tls *libc.TLS, pPg uintptr) { /* sqlite3.c:58930:21: */ +func Xsqlite3PagerUnrefPageOne(tls *libc.TLS, pPg uintptr) { /* sqlite3.c:58940:21: */ var pPager uintptr // Page1 is never memory mapped @@ -82132,7 +82140,7 @@ func Xsqlite3PagerUnrefPageOne(tls *libc.TLS, pPg uintptr) { /* sqlite3.c:58930: // Return SQLITE_OK if everything is successful. Otherwise, return // SQLITE_NOMEM if the attempt to allocate Pager.pInJournal fails, or // an IO error code if opening or writing the journal file fails. -func pager_open_journal(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:58962:12: */ +func pager_open_journal(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:58972:12: */ var rc int32 = SQLITE_OK // Return code var pVfs uintptr = (*Pager)(unsafe.Pointer(pPager)).FpVfs // Local cache of vfs pointer @@ -82214,7 +82222,7 @@ func pager_open_journal(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:5896 // sub-journal. If the subjInMemory argument is zero, then any required // sub-journal is implemented in-memory if pPager is an in-memory database, // or using a temporary file otherwise. -func Xsqlite3PagerBegin(tls *libc.TLS, pPager uintptr, exFlag int32, subjInMemory int32) int32 { /* sqlite3.c:59051:20: */ +func Xsqlite3PagerBegin(tls *libc.TLS, pPager uintptr, exFlag int32, subjInMemory int32) int32 { /* sqlite3.c:59061:20: */ var rc int32 = SQLITE_OK if (*Pager)(unsafe.Pointer(pPager)).FerrCode != 0 { @@ -82274,7 +82282,7 @@ func Xsqlite3PagerBegin(tls *libc.TLS, pPager uintptr, exFlag int32, subjInMemor } // Write page pPg onto the end of the rollback journal. -func pagerAddPageToRollbackJournal(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:59120:28: */ +func pagerAddPageToRollbackJournal(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:59130:28: */ var pPager uintptr = (*PgHdr)(unsafe.Pointer(pPg)).FpPager var rc int32 var cksum U32 @@ -82324,7 +82332,7 @@ func pagerAddPageToRollbackJournal(tls *libc.TLS, pPg uintptr) int32 { /* sqlite // one of the journals, the corresponding bit is set in the // Pager.pInJournal bitvec and the PagerSavepoint.pInSavepoint bitvecs // of any open savepoints as appropriate. -func pager_write(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:59177:12: */ +func pager_write(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:59187:12: */ var pPager uintptr = (*PgHdr)(unsafe.Pointer(pPg)).FpPager var rc int32 = SQLITE_OK @@ -82398,7 +82406,7 @@ func pager_write(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:59177:12: */ // Usually, the sector size is less than or equal to the page size, in which // case pages can be individually written. This routine only runs in the // exceptional case where the page size is smaller than the sector size. -func pagerWriteLargeSector(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:59269:28: */ +func pagerWriteLargeSector(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:59279:28: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -82486,7 +82494,7 @@ func pagerWriteLargeSector(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:5926 // // If an error occurs, SQLITE_NOMEM or an IO error code is returned // as appropriate. Otherwise, SQLITE_OK. -func Xsqlite3PagerWrite(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:59363:20: */ +func Xsqlite3PagerWrite(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:59373:20: */ var pPager uintptr = (*PgHdr)(unsafe.Pointer(pPg)).FpPager if int32((*PgHdr)(unsafe.Pointer(pPg)).Fflags)&PGHDR_WRITEABLE != 0 && (*Pager)(unsafe.Pointer(pPager)).FdbSize >= (*PgHdr)(unsafe.Pointer(pPg)).Fpgno { @@ -82527,7 +82535,7 @@ func Xsqlite3PagerWrite(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:59363:2 // memory pressure forces page pPg out of the cache, the data does need // to be written out to disk so that it may be read back in if the // current transaction is rolled back. -func Xsqlite3PagerDontWrite(tls *libc.TLS, pPg uintptr) { /* sqlite3.c:59412:21: */ +func Xsqlite3PagerDontWrite(tls *libc.TLS, pPg uintptr) { /* sqlite3.c:59422:21: */ var pPager uintptr = (*PgHdr)(unsafe.Pointer(pPg)).FpPager if !(int32((*Pager)(unsafe.Pointer(pPager)).FtempFile) != 0) && int32((*PgHdr)(unsafe.Pointer(pPg)).Fflags)&PGHDR_DIRTY != 0 && (*Pager)(unsafe.Pointer(pPager)).FnSavepoint == 0 { @@ -82557,7 +82565,7 @@ func Xsqlite3PagerDontWrite(tls *libc.TLS, pPg uintptr) { /* sqlite3.c:59412:21: // if isDirect is non-zero, then the database file is updated directly // by writing an updated version of page 1 using a call to the // sqlite3OsWrite() function. -func pager_incr_changecounter(tls *libc.TLS, pPager uintptr, isDirectMode int32) int32 { /* sqlite3.c:59446:12: */ +func pager_incr_changecounter(tls *libc.TLS, pPager uintptr, isDirectMode int32) int32 { /* sqlite3.c:59456:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -82627,7 +82635,7 @@ func pager_incr_changecounter(tls *libc.TLS, pPager uintptr, isDirectMode int32) // // If successful, or if called on a pager for which it is a no-op, this // function returns SQLITE_OK. Otherwise, an IO error code is returned. -func Xsqlite3PagerSync(tls *libc.TLS, pPager uintptr, zSuper uintptr) int32 { /* sqlite3.c:59529:20: */ +func Xsqlite3PagerSync(tls *libc.TLS, pPager uintptr, zSuper uintptr) int32 { /* sqlite3.c:59539:20: */ var rc int32 = SQLITE_OK var pArg uintptr = zSuper rc = Xsqlite3OsFileControl(tls, (*Pager)(unsafe.Pointer(pPager)).Ffd, SQLITE_FCNTL_SYNC, pArg) @@ -82650,7 +82658,7 @@ func Xsqlite3PagerSync(tls *libc.TLS, pPager uintptr, zSuper uintptr) int32 { /* // successful, or the connection is in WAL mode, SQLITE_OK is returned. // Otherwise, either SQLITE_BUSY or an SQLITE_IOERR_XXX error code is // returned. -func Xsqlite3PagerExclusiveLock(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:59552:20: */ +func Xsqlite3PagerExclusiveLock(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:59562:20: */ var rc int32 = (*Pager)(unsafe.Pointer(pPager)).FerrCode if rc == SQLITE_OK { @@ -82686,7 +82694,7 @@ func Xsqlite3PagerExclusiveLock(tls *libc.TLS, pPager uintptr) int32 { /* sqlite // is not synced. The caller must call sqlite3PagerSync() directly to // sync the database file before calling CommitPhaseTwo() to delete the // journal file in this case. -func Xsqlite3PagerCommitPhaseOne(tls *libc.TLS, pPager uintptr, zSuper uintptr, noSync int32) int32 { /* sqlite3.c:59594:20: */ +func Xsqlite3PagerCommitPhaseOne(tls *libc.TLS, pPager uintptr, zSuper uintptr, noSync int32) int32 { /* sqlite3.c:59604:20: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -82876,7 +82884,7 @@ __19: // // If an error occurs, an IO error code is returned and the pager // moves into the error state. Otherwise, SQLITE_OK is returned. -func Xsqlite3PagerCommitPhaseTwo(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:59824:20: */ +func Xsqlite3PagerCommitPhaseTwo(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:59834:20: */ var rc int32 = SQLITE_OK // Return code // This routine should not be called if a prior error has occurred. @@ -82933,7 +82941,7 @@ func Xsqlite3PagerCommitPhaseTwo(tls *libc.TLS, pPager uintptr) int32 { /* sqlit // current transaction are either expelled from the cache or reverted to // their pre-transaction state by re-reading data from the database or // WAL files. The WAL transaction is then closed. -func Xsqlite3PagerRollback(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:59890:20: */ +func Xsqlite3PagerRollback(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:59900:20: */ var rc int32 = SQLITE_OK // Return code // PagerRollback() is a no-op if called in READER or OPEN state. If @@ -82977,13 +82985,13 @@ func Xsqlite3PagerRollback(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:5 // Return TRUE if the database file is opened read-only. Return FALSE // if the database is (in theory) writable. -func Xsqlite3PagerIsreadonly(tls *libc.TLS, pPager uintptr) U8 { /* sqlite3.c:59940:19: */ +func Xsqlite3PagerIsreadonly(tls *libc.TLS, pPager uintptr) U8 { /* sqlite3.c:59950:19: */ return (*Pager)(unsafe.Pointer(pPager)).FreadOnly } // Return the approximate number of bytes of memory currently // used by the pager and its associated cache. -func Xsqlite3PagerMemUsed(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:59957:20: */ +func Xsqlite3PagerMemUsed(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:59967:20: */ var perPageSize int32 = int32((*Pager)(unsafe.Pointer(pPager)).FpageSize + I64((*Pager)(unsafe.Pointer(pPager)).FnExtra) + I64(int32(uint64(unsafe.Sizeof(PgHdr{}))+uint64(5)*uint64(unsafe.Sizeof(uintptr(0)))))) return int32(I64(perPageSize*Xsqlite3PcachePagecount(tls, (*Pager)(unsafe.Pointer(pPager)).FpPCache)+ @@ -82992,7 +83000,7 @@ func Xsqlite3PagerMemUsed(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:59 } // Return the number of references to the specified page. -func Xsqlite3PagerPageRefcount(tls *libc.TLS, pPage uintptr) int32 { /* sqlite3.c:59968:20: */ +func Xsqlite3PagerPageRefcount(tls *libc.TLS, pPage uintptr) int32 { /* sqlite3.c:59978:20: */ return Xsqlite3PcachePageRefcount(tls, pPage) } @@ -83005,7 +83013,7 @@ func Xsqlite3PagerPageRefcount(tls *libc.TLS, pPage uintptr) int32 { /* sqlite3. // current cache hit or miss count, according to the value of eStat. If the // reset parameter is non-zero, the cache hit or miss count is zeroed before // returning. -func Xsqlite3PagerCacheStat(tls *libc.TLS, pPager uintptr, eStat int32, reset int32, pnVal uintptr) { /* sqlite3.c:60004:21: */ +func Xsqlite3PagerCacheStat(tls *libc.TLS, pPager uintptr, eStat int32, reset int32, pnVal uintptr) { /* sqlite3.c:60014:21: */ eStat = eStat - SQLITE_DBSTATUS_CACHE_HIT *(*int32)(unsafe.Pointer(pnVal)) += *(*int32)(unsafe.Pointer(pPager + 240 + uintptr(eStat)*4)) @@ -83015,7 +83023,7 @@ func Xsqlite3PagerCacheStat(tls *libc.TLS, pPager uintptr, eStat int32, reset in } // Return true if this is an in-memory or temp-file backed pager. -func Xsqlite3PagerIsMemdb(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:60027:20: */ +func Xsqlite3PagerIsMemdb(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:60037:20: */ return libc.Bool32((*Pager)(unsafe.Pointer(pPager)).FtempFile != 0 || (*Pager)(unsafe.Pointer(pPager)).FmemVfs != 0) } @@ -83027,7 +83035,7 @@ func Xsqlite3PagerIsMemdb(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:60 // If a memory allocation fails, SQLITE_NOMEM is returned. If an error // occurs while opening the sub-journal file, then an IO error code is // returned. Otherwise, SQLITE_OK. -func pagerOpenSavepoint(tls *libc.TLS, pPager uintptr, nSavepoint int32) int32 { /* sqlite3.c:60041:28: */ +func pagerOpenSavepoint(tls *libc.TLS, pPager uintptr, nSavepoint int32) int32 { /* sqlite3.c:60051:28: */ var rc int32 = SQLITE_OK // Return code var nCurrent int32 = (*Pager)(unsafe.Pointer(pPager)).FnSavepoint // Current number of savepoints var ii int32 // Iterator variable @@ -83067,7 +83075,7 @@ func pagerOpenSavepoint(tls *libc.TLS, pPager uintptr, nSavepoint int32) int32 { return rc } -func Xsqlite3PagerOpenSavepoint(tls *libc.TLS, pPager uintptr, nSavepoint int32) int32 { /* sqlite3.c:60087:20: */ +func Xsqlite3PagerOpenSavepoint(tls *libc.TLS, pPager uintptr, nSavepoint int32) int32 { /* sqlite3.c:60097:20: */ if nSavepoint > (*Pager)(unsafe.Pointer(pPager)).FnSavepoint && (*Pager)(unsafe.Pointer(pPager)).FuseJournal != 0 { return pagerOpenSavepoint(tls, pPager, nSavepoint) @@ -83105,7 +83113,7 @@ func Xsqlite3PagerOpenSavepoint(tls *libc.TLS, pPager uintptr, nSavepoint int32) // This function may return SQLITE_NOMEM if a memory allocation fails, // or an IO error code if an IO error occurs while rolling back a // savepoint. If no errors occur, SQLITE_OK is returned. -func Xsqlite3PagerSavepoint(tls *libc.TLS, pPager uintptr, op int32, iSavepoint int32) int32 { /* sqlite3.c:60129:20: */ +func Xsqlite3PagerSavepoint(tls *libc.TLS, pPager uintptr, op int32, iSavepoint int32) int32 { /* sqlite3.c:60139:20: */ var rc int32 = (*Pager)(unsafe.Pointer(pPager)).FerrCode if rc == SQLITE_OK && iSavepoint < (*Pager)(unsafe.Pointer(pPager)).FnSavepoint { @@ -83166,30 +83174,30 @@ func Xsqlite3PagerSavepoint(tls *libc.TLS, pPager uintptr, op int32, iSavepoint // // The return value to this routine is always safe to use with // sqlite3_uri_parameter() and sqlite3_filename_database() and friends. -func Xsqlite3PagerFilename(tls *libc.TLS, pPager uintptr, nullIfMemDb int32) uintptr { /* sqlite3.c:60210:27: */ +func Xsqlite3PagerFilename(tls *libc.TLS, pPager uintptr, nullIfMemDb int32) uintptr { /* sqlite3.c:60220:27: */ if nullIfMemDb != 0 && (*Pager)(unsafe.Pointer(pPager)).FmemDb != 0 { return uintptr(unsafe.Pointer(&zFake)) + 4 } return (*Pager)(unsafe.Pointer(pPager)).FzFilename } -var zFake = [8]int8{int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0)} /* sqlite3.c:60211:21 */ +var zFake = [8]int8{int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0)} /* sqlite3.c:60221:21 */ // Return the VFS structure for the pager. -func Xsqlite3PagerVfs(tls *libc.TLS, pPager uintptr) uintptr { /* sqlite3.c:60218:28: */ +func Xsqlite3PagerVfs(tls *libc.TLS, pPager uintptr) uintptr { /* sqlite3.c:60228:28: */ return (*Pager)(unsafe.Pointer(pPager)).FpVfs } // Return the file handle for the database file associated // with the pager. This might return NULL if the file has // not yet been opened. -func Xsqlite3PagerFile(tls *libc.TLS, pPager uintptr) uintptr { /* sqlite3.c:60227:29: */ +func Xsqlite3PagerFile(tls *libc.TLS, pPager uintptr) uintptr { /* sqlite3.c:60237:29: */ return (*Pager)(unsafe.Pointer(pPager)).Ffd } // Return the file handle for the journal file (if it exists). // This will be either the rollback journal or the WAL file. -func Xsqlite3PagerJrnlFile(tls *libc.TLS, pPager uintptr) uintptr { /* sqlite3.c:60235:29: */ +func Xsqlite3PagerJrnlFile(tls *libc.TLS, pPager uintptr) uintptr { /* sqlite3.c:60245:29: */ if (*Pager)(unsafe.Pointer(pPager)).FpWal != 0 { return Xsqlite3WalFile(tls, (*Pager)(unsafe.Pointer(pPager)).FpWal) } @@ -83197,7 +83205,7 @@ func Xsqlite3PagerJrnlFile(tls *libc.TLS, pPager uintptr) uintptr { /* sqlite3.c } // Return the full pathname of the journal file. -func Xsqlite3PagerJournalname(tls *libc.TLS, pPager uintptr) uintptr { /* sqlite3.c:60246:27: */ +func Xsqlite3PagerJournalname(tls *libc.TLS, pPager uintptr) uintptr { /* sqlite3.c:60256:27: */ return (*Pager)(unsafe.Pointer(pPager)).FzJournal } @@ -83224,7 +83232,7 @@ func Xsqlite3PagerJournalname(tls *libc.TLS, pPager uintptr) uintptr { /* sqlite // // This function may return SQLITE_NOMEM or an IO error code if an error // occurs. Otherwise, it returns SQLITE_OK. -func Xsqlite3PagerMovepage(tls *libc.TLS, pPager uintptr, pPg uintptr, pgno Pgno, isCommit int32) int32 { /* sqlite3.c:60276:20: */ +func Xsqlite3PagerMovepage(tls *libc.TLS, pPager uintptr, pPg uintptr, pgno Pgno, isCommit int32) int32 { /* sqlite3.c:60286:20: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -83286,7 +83294,7 @@ func Xsqlite3PagerMovepage(tls *libc.TLS, pPager uintptr, pPg uintptr, pgno Pgno if pPgOld != 0 { if int32((*PgHdr)(unsafe.Pointer(pPgOld)).FnRef) > 1 { Xsqlite3PagerUnrefNotNull(tls, pPgOld) - return Xsqlite3CorruptError(tls, 60350) + return Xsqlite3CorruptError(tls, 60360) } *(*U16)(unsafe.Pointer(pPg + 52)) |= U16(int32((*PgHdr)(unsafe.Pointer(pPgOld)).Fflags) & PGHDR_NEED_SYNC) if (*Pager)(unsafe.Pointer(pPager)).FtempFile != 0 { @@ -83346,21 +83354,21 @@ func Xsqlite3PagerMovepage(tls *libc.TLS, pPager uintptr, pPg uintptr, pgno Pgno // with a page number other than iNew. This function changes the page's // page number to iNew and sets the value of the PgHdr.flags field to // the value passed as the third parameter. -func Xsqlite3PagerRekey(tls *libc.TLS, pPg uintptr, iNew Pgno, flags U16) { /* sqlite3.c:60414:21: */ +func Xsqlite3PagerRekey(tls *libc.TLS, pPg uintptr, iNew Pgno, flags U16) { /* sqlite3.c:60424:21: */ (*DbPage)(unsafe.Pointer(pPg)).Fflags = flags Xsqlite3PcacheMove(tls, pPg, iNew) } // Return a pointer to the data for the specified page. -func Xsqlite3PagerGetData(tls *libc.TLS, pPg uintptr) uintptr { /* sqlite3.c:60423:21: */ +func Xsqlite3PagerGetData(tls *libc.TLS, pPg uintptr) uintptr { /* sqlite3.c:60433:21: */ return (*DbPage)(unsafe.Pointer(pPg)).FpData } // Return a pointer to the Pager.nExtra bytes of "extra" space // allocated along with the specified page. -func Xsqlite3PagerGetExtra(tls *libc.TLS, pPg uintptr) uintptr { /* sqlite3.c:60432:21: */ +func Xsqlite3PagerGetExtra(tls *libc.TLS, pPg uintptr) uintptr { /* sqlite3.c:60442:21: */ return (*DbPage)(unsafe.Pointer(pPg)).FpExtra } @@ -83372,7 +83380,7 @@ func Xsqlite3PagerGetExtra(tls *libc.TLS, pPg uintptr) uintptr { /* sqlite3.c:60 // The returned value is either PAGER_LOCKINGMODE_NORMAL or // PAGER_LOCKINGMODE_EXCLUSIVE, indicating the current (possibly updated) // locking-mode. -func Xsqlite3PagerLockingMode(tls *libc.TLS, pPager uintptr, eMode int32) int32 { /* sqlite3.c:60446:20: */ +func Xsqlite3PagerLockingMode(tls *libc.TLS, pPager uintptr, eMode int32) int32 { /* sqlite3.c:60456:20: */ if eMode >= 0 && !(int32((*Pager)(unsafe.Pointer(pPager)).FtempFile) != 0) && !(Xsqlite3WalHeapMemory(tls, (*Pager)(unsafe.Pointer(pPager)).FpWal) != 0) { (*Pager)(unsafe.Pointer(pPager)).FexclusiveMode = U8(eMode) @@ -83398,7 +83406,7 @@ func Xsqlite3PagerLockingMode(tls *libc.TLS, pPager uintptr, eMode int32) int32 // * Temporary databases cannot have _WAL journalmode. // // The returned indicate the current (possibly updated) journal-mode. -func Xsqlite3PagerSetJournalMode(tls *libc.TLS, pPager uintptr, eMode int32) int32 { /* sqlite3.c:60479:20: */ +func Xsqlite3PagerSetJournalMode(tls *libc.TLS, pPager uintptr, eMode int32) int32 { /* sqlite3.c:60489:20: */ var eOld U8 = (*Pager)(unsafe.Pointer(pPager)).FjournalMode // Prior journalmode // The eMode parameter is always valid @@ -83468,14 +83476,14 @@ func Xsqlite3PagerSetJournalMode(tls *libc.TLS, pPager uintptr, eMode int32) int } // Return the current journal mode. -func Xsqlite3PagerGetJournalMode(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:60569:20: */ +func Xsqlite3PagerGetJournalMode(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:60579:20: */ return int32((*Pager)(unsafe.Pointer(pPager)).FjournalMode) } // Return TRUE if the pager is in a state where it is OK to change the // journalmode. Journalmode changes can only happen when the database // is unmodified. -func Xsqlite3PagerOkToChangeJournalMode(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:60578:20: */ +func Xsqlite3PagerOkToChangeJournalMode(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:60588:20: */ if int32((*Pager)(unsafe.Pointer(pPager)).FeState) >= PAGER_WRITER_CACHEMOD { return 0 @@ -83490,7 +83498,7 @@ func Xsqlite3PagerOkToChangeJournalMode(tls *libc.TLS, pPager uintptr) int32 { / // // Setting the size limit to -1 means no limit is enforced. // An attempt to set a limit smaller than -1 is a no-op. -func Xsqlite3PagerJournalSizeLimit(tls *libc.TLS, pPager uintptr, iLimit I64) I64 { /* sqlite3.c:60591:20: */ +func Xsqlite3PagerJournalSizeLimit(tls *libc.TLS, pPager uintptr, iLimit I64) I64 { /* sqlite3.c:60601:20: */ if iLimit >= int64(-1) { (*Pager)(unsafe.Pointer(pPager)).FjournalSizeLimit = iLimit Xsqlite3WalLimit(tls, (*Pager)(unsafe.Pointer(pPager)).FpWal, iLimit) @@ -83502,12 +83510,12 @@ func Xsqlite3PagerJournalSizeLimit(tls *libc.TLS, pPager uintptr, iLimit I64) I6 // in backup.c maintains the content of this variable. This module // uses it opaquely as an argument to sqlite3BackupRestart() and // sqlite3BackupUpdate() only. -func Xsqlite3PagerBackupPtr(tls *libc.TLS, pPager uintptr) uintptr { /* sqlite3.c:60605:31: */ +func Xsqlite3PagerBackupPtr(tls *libc.TLS, pPager uintptr) uintptr { /* sqlite3.c:60615:31: */ return pPager + 112 } // Unless this is an in-memory or temporary database, clear the pager cache. -func Xsqlite3PagerClearCache(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:60613:21: */ +func Xsqlite3PagerClearCache(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:60623:21: */ if int32((*Pager)(unsafe.Pointer(pPager)).FtempFile) == 0 { pager_reset(tls, pPager) @@ -83519,7 +83527,7 @@ func Xsqlite3PagerClearCache(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:60613 // or wal_blocking_checkpoint() API functions. // // Parameter eMode is one of SQLITE_CHECKPOINT_PASSIVE, FULL or RESTART. -func Xsqlite3PagerCheckpoint(tls *libc.TLS, pPager uintptr, db uintptr, eMode int32, pnLog uintptr, pnCkpt uintptr) int32 { /* sqlite3.c:60628:20: */ +func Xsqlite3PagerCheckpoint(tls *libc.TLS, pPager uintptr, db uintptr, eMode int32, pnLog uintptr, pnCkpt uintptr) int32 { /* sqlite3.c:60638:20: */ var rc int32 = SQLITE_OK if (*Pager)(unsafe.Pointer(pPager)).FpWal == uintptr(0) && int32((*Pager)(unsafe.Pointer(pPager)).FjournalMode) == PAGER_JOURNALMODE_WAL { // This only happens when a database file is zero bytes in size opened and @@ -83547,13 +83555,13 @@ func Xsqlite3PagerCheckpoint(tls *libc.TLS, pPager uintptr, db uintptr, eMode in return rc } -func Xsqlite3PagerWalCallback(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:60659:20: */ +func Xsqlite3PagerWalCallback(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:60669:20: */ return Xsqlite3WalCallback(tls, (*Pager)(unsafe.Pointer(pPager)).FpWal) } // Return true if the underlying VFS for the given pager supports the // primitives necessary for write-ahead logging. -func Xsqlite3PagerWalSupported(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:60667:20: */ +func Xsqlite3PagerWalSupported(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:60677:20: */ var pMethods uintptr = (*Sqlite3_file)(unsafe.Pointer((*Pager)(unsafe.Pointer(pPager)).Ffd)).FpMethods if (*Pager)(unsafe.Pointer(pPager)).FnoLock != 0 { return 0 @@ -83563,7 +83571,7 @@ func Xsqlite3PagerWalSupported(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3 // Attempt to take an exclusive lock on the database file. If a PENDING lock // is obtained instead, immediately release it. -func pagerExclusiveLock(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:60677:12: */ +func pagerExclusiveLock(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:60687:12: */ var rc int32 // Return code rc = pagerLockDb(tls, pPager, EXCLUSIVE_LOCK) @@ -83580,7 +83588,7 @@ func pagerExclusiveLock(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:6067 // exclusive-locking mode when this function is called, take an EXCLUSIVE // lock on the database file and use heap-memory to store the wal-index // in. Otherwise, use the normal shared-memory. -func pagerOpenWal(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:60697:12: */ +func pagerOpenWal(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:60707:12: */ var rc int32 = SQLITE_OK // If the pager is already in exclusive-mode, the WAL module will use @@ -83616,7 +83624,7 @@ func pagerOpenWal(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:60697:12: // If the pager is open on a temp-file (or in-memory database), or if // the WAL file is already open, set *pbOpen to 1 and return SQLITE_OK // without doing anything. -func Xsqlite3PagerOpenWal(tls *libc.TLS, pPager uintptr, pbOpen uintptr) int32 { /* sqlite3.c:60742:20: */ +func Xsqlite3PagerOpenWal(tls *libc.TLS, pPager uintptr, pbOpen uintptr) int32 { /* sqlite3.c:60752:20: */ var rc int32 = SQLITE_OK // Return code if !(int32((*Pager)(unsafe.Pointer(pPager)).FtempFile) != 0) && !(int32((*Pager)(unsafe.Pointer(pPager)).FpWal) != 0) { @@ -83646,7 +83654,7 @@ func Xsqlite3PagerOpenWal(tls *libc.TLS, pPager uintptr, pbOpen uintptr) int32 { // EXCLUSIVE lock on the database file. If this cannot be obtained, an // error (SQLITE_BUSY) is returned and the log connection is not closed. // If successful, the EXCLUSIVE lock is not released before returning. -func Xsqlite3PagerCloseWal(tls *libc.TLS, pPager uintptr, db uintptr) int32 { /* sqlite3.c:60781:20: */ +func Xsqlite3PagerCloseWal(tls *libc.TLS, pPager uintptr, db uintptr) int32 { /* sqlite3.c:60791:20: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -83686,7 +83694,7 @@ func Xsqlite3PagerCloseWal(tls *libc.TLS, pPager uintptr, db uintptr) int32 { /* // If this is a WAL database, obtain a snapshot handle for the snapshot // currently open. Otherwise, return an error. -func Xsqlite3PagerSnapshotGet(tls *libc.TLS, pPager uintptr, ppSnapshot uintptr) int32 { /* sqlite3.c:60850:20: */ +func Xsqlite3PagerSnapshotGet(tls *libc.TLS, pPager uintptr, ppSnapshot uintptr) int32 { /* sqlite3.c:60860:20: */ var rc int32 = SQLITE_ERROR if (*Pager)(unsafe.Pointer(pPager)).FpWal != 0 { rc = Xsqlite3WalSnapshotGet(tls, (*Pager)(unsafe.Pointer(pPager)).FpWal, ppSnapshot) @@ -83697,7 +83705,7 @@ func Xsqlite3PagerSnapshotGet(tls *libc.TLS, pPager uintptr, ppSnapshot uintptr) // If this is a WAL database, store a pointer to pSnapshot. Next time a // read transaction is opened, attempt to read from the snapshot it // identifies. If this is not a WAL database, return an error. -func Xsqlite3PagerSnapshotOpen(tls *libc.TLS, pPager uintptr, pSnapshot uintptr) int32 { /* sqlite3.c:60863:20: */ +func Xsqlite3PagerSnapshotOpen(tls *libc.TLS, pPager uintptr, pSnapshot uintptr) int32 { /* sqlite3.c:60873:20: */ var rc int32 = SQLITE_OK if (*Pager)(unsafe.Pointer(pPager)).FpWal != 0 { Xsqlite3WalSnapshotOpen(tls, (*Pager)(unsafe.Pointer(pPager)).FpWal, pSnapshot) @@ -83709,7 +83717,7 @@ func Xsqlite3PagerSnapshotOpen(tls *libc.TLS, pPager uintptr, pSnapshot uintptr) // If this is a WAL database, call sqlite3WalSnapshotRecover(). If this // is not a WAL database, return an error. -func Xsqlite3PagerSnapshotRecover(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:60880:20: */ +func Xsqlite3PagerSnapshotRecover(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c:60890:20: */ var rc int32 if (*Pager)(unsafe.Pointer(pPager)).FpWal != 0 { rc = Xsqlite3WalSnapshotRecover(tls, (*Pager)(unsafe.Pointer(pPager)).FpWal) @@ -83729,7 +83737,7 @@ func Xsqlite3PagerSnapshotRecover(tls *libc.TLS, pPager uintptr) int32 { /* sqli // the CHECKPOINTER lock cannot be obtained, SQLITE_BUSY. If any error // occurs (any value other than SQLITE_OK is returned), the CHECKPOINTER // lock is released before returning. -func Xsqlite3PagerSnapshotCheck(tls *libc.TLS, pPager uintptr, pSnapshot uintptr) int32 { /* sqlite3.c:60902:20: */ +func Xsqlite3PagerSnapshotCheck(tls *libc.TLS, pPager uintptr, pSnapshot uintptr) int32 { /* sqlite3.c:60912:20: */ var rc int32 if (*Pager)(unsafe.Pointer(pPager)).FpWal != 0 { rc = Xsqlite3WalSnapshotCheck(tls, (*Pager)(unsafe.Pointer(pPager)).FpWal, pSnapshot) @@ -83741,7 +83749,7 @@ func Xsqlite3PagerSnapshotCheck(tls *libc.TLS, pPager uintptr, pSnapshot uintptr // Release a lock obtained by an earlier successful call to // sqlite3PagerSnapshotCheck(). -func Xsqlite3PagerSnapshotUnlock(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:60916:21: */ +func Xsqlite3PagerSnapshotUnlock(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:60926:21: */ Xsqlite3WalSnapshotUnlock(tls, (*Pager)(unsafe.Pointer(pPager)).FpWal) } @@ -84320,7 +84328,7 @@ type WalIndexHdr1 = struct { // byte. // Object declarations -type WalIndexHdr = WalIndexHdr1 /* sqlite3.c:61244:28 */ +type WalIndexHdr = WalIndexHdr1 /* sqlite3.c:61254:28 */ type WalIterator1 = struct { FiPrior U32 FnSegment int32 @@ -84332,18 +84340,18 @@ type WalIterator1 = struct { FnEntry int32 FiZero int32 } -} /* sqlite3.c:61245:9 */ +} /* sqlite3.c:61255:9 */ -type WalIterator = WalIterator1 /* sqlite3.c:61245:28 */ +type WalIterator = WalIterator1 /* sqlite3.c:61255:28 */ type WalCkptInfo1 = struct { FnBackfill U32 FaReadMark [5]U32 FaLock [8]U8 FnBackfillAttempted U32 FnotUsed0 U32 -} /* sqlite3.c:61246:9 */ +} /* sqlite3.c:61256:9 */ -type WalCkptInfo = WalCkptInfo1 /* sqlite3.c:61246:28 */ +type WalCkptInfo = WalCkptInfo1 /* sqlite3.c:61256:28 */ // Candidate values for Wal.exclusiveMode. @@ -84351,7 +84359,7 @@ type WalCkptInfo = WalCkptInfo1 /* sqlite3.c:61246:28 */ // Each page of the wal-index mapping contains a hash-table made up of // an array of HASHTABLE_NSLOT elements of the following type. -type Ht_slot = U16 /* sqlite3.c:61501:13 */ +type Ht_slot = U16 /* sqlite3.c:61511:13 */ // 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 @@ -84373,7 +84381,7 @@ type WalSegment = struct { FaPgno uintptr FnEntry int32 FiZero int32 -} /* sqlite3.c:61245:9 */ +} /* sqlite3.c:61255:9 */ // Define the parameters of the hash tables in the wal-index file. There // is a hash-table following every HASHTABLE_NPAGE page numbers in the @@ -84404,7 +84412,7 @@ type WalSegment = struct { // (3) rc==SQLITE_OK and *ppPage==NULL // only if iPage==0 // // Scenario (3) can only occur when pWal->writeLock is false and iPage==0 -func walIndexPageRealloc(tls *libc.TLS, pWal uintptr, iPage int32, ppPage uintptr) int32 { /* sqlite3.c:61572:28: */ +func walIndexPageRealloc(tls *libc.TLS, pWal uintptr, iPage int32, ppPage uintptr) int32 { /* sqlite3.c:61582:28: */ var rc int32 = SQLITE_OK // Enlarge the pWal->apWiData[] array if required @@ -84450,7 +84458,7 @@ func walIndexPageRealloc(tls *libc.TLS, pWal uintptr, iPage int32, ppPage uintpt return rc } -func walIndexPage(tls *libc.TLS, pWal uintptr, iPage int32, ppPage uintptr) int32 { /* sqlite3.c:61621:12: */ +func walIndexPage(tls *libc.TLS, pWal uintptr, iPage int32, ppPage uintptr) int32 { /* sqlite3.c:61631:12: */ if (*Wal)(unsafe.Pointer(pWal)).FnWiData <= iPage || libc.AssignPtrUintptr(ppPage, *(*uintptr)(unsafe.Pointer((*Wal)(unsafe.Pointer(pWal)).FapWiData + uintptr(iPage)*8))) == uintptr(0) { return walIndexPageRealloc(tls, pWal, iPage, ppPage) } @@ -84458,13 +84466,13 @@ func walIndexPage(tls *libc.TLS, pWal uintptr, iPage int32, ppPage uintptr) int3 } // Return a pointer to the WalCkptInfo structure in the wal-index. -func walCkptInfo(tls *libc.TLS, pWal uintptr) uintptr { /* sqlite3.c:61635:29: */ +func walCkptInfo(tls *libc.TLS, pWal uintptr) uintptr { /* sqlite3.c:61645:29: */ return *(*uintptr)(unsafe.Pointer((*Wal)(unsafe.Pointer(pWal)).FapWiData)) + 24*4 } // Return a pointer to the WalIndexHdr structure in the wal-index. -func walIndexHdr(tls *libc.TLS, pWal uintptr) uintptr { /* sqlite3.c:61643:29: */ +func walIndexHdr(tls *libc.TLS, pWal uintptr) uintptr { /* sqlite3.c:61653:29: */ return *(*uintptr)(unsafe.Pointer((*Wal)(unsafe.Pointer(pWal)).FapWiData)) } @@ -84482,7 +84490,7 @@ func walIndexHdr(tls *libc.TLS, pWal uintptr) uintptr { /* sqlite3.c:61643:29: * // The checksum is written back into aOut[] before returning. // // nByte must be a positive multiple of 8. -func walChecksumBytes(tls *libc.TLS, nativeCksum int32, a uintptr, nByte int32, aIn uintptr, aOut uintptr) { /* sqlite3.c:61669:13: */ +func walChecksumBytes(tls *libc.TLS, nativeCksum int32, a uintptr, nByte int32, aIn uintptr, aOut uintptr) { /* sqlite3.c:61679:13: */ var s1 U32 var s2 U32 var aData uintptr = a @@ -84514,7 +84522,7 @@ func walChecksumBytes(tls *libc.TLS, nativeCksum int32, a uintptr, nByte int32, // If there is the possibility of concurrent access to the SHM file // from multiple threads and/or processes, then do a memory barrier. -func walShmBarrier(tls *libc.TLS, pWal uintptr) { /* sqlite3.c:61712:13: */ +func walShmBarrier(tls *libc.TLS, pWal uintptr) { /* sqlite3.c:61722:13: */ if int32((*Wal)(unsafe.Pointer(pWal)).FexclusiveMode) != WAL_HEAPMEMORY_MODE { Xsqlite3OsShmBarrier(tls, (*Wal)(unsafe.Pointer(pWal)).FpDbFd) } @@ -84529,7 +84537,7 @@ func walShmBarrier(tls *libc.TLS, pWal uintptr) { /* sqlite3.c:61712:13: */ // Write the header information in pWal->hdr into the wal-index. // // The checksum on pWal->hdr is updated before it is written. -func walIndexWriteHdr(tls *libc.TLS, pWal uintptr) { /* sqlite3.c:61736:28: */ +func walIndexWriteHdr(tls *libc.TLS, pWal uintptr) { /* sqlite3.c:61746:28: */ var aHdr uintptr = walIndexHdr(tls, pWal) var nCksum int32 = int32(uintptr(0) + 40) @@ -84553,7 +84561,7 @@ func walIndexWriteHdr(tls *libc.TLS, pWal uintptr) { /* sqlite3.c:61736:28: */ // 12: Salt-2 (copied from the wal-header) // 16: Checksum-1. // 20: Checksum-2. -func walEncodeFrame(tls *libc.TLS, pWal uintptr, iPage U32, nTruncate U32, aData uintptr, aFrame uintptr) { /* sqlite3.c:61763:13: */ +func walEncodeFrame(tls *libc.TLS, pWal uintptr, iPage U32, nTruncate U32, aData uintptr, aFrame uintptr) { /* sqlite3.c:61773:13: */ var nativeCksum int32 // True for native byte-order checksums var aCksum uintptr = pWal + 72 + 24 @@ -84576,7 +84584,7 @@ func walEncodeFrame(tls *libc.TLS, pWal uintptr, iPage U32, nTruncate U32, aData // Check to see if the frame with header in aFrame[] and content // in aData[] is valid. If it is a valid frame, fill *piPage and // *pnTruncate and return true. Return if the frame is not valid. -func walDecodeFrame(tls *libc.TLS, pWal uintptr, piPage uintptr, pnTruncate uintptr, aData uintptr, aFrame uintptr) int32 { /* sqlite3.c:61794:12: */ +func walDecodeFrame(tls *libc.TLS, pWal uintptr, piPage uintptr, pnTruncate uintptr, aData uintptr, aFrame uintptr) int32 { /* sqlite3.c:61804:12: */ var nativeCksum int32 // True for native byte-order checksums var aCksum uintptr = pWal + 72 + 24 var pgno U32 // Page number of the frame @@ -84618,7 +84626,7 @@ func walDecodeFrame(tls *libc.TLS, pWal uintptr, piPage uintptr, pnTruncate uint // through the unlocked state first. // // In locking_mode=EXCLUSIVE, all of these routines become no-ops. -func walLockShared(tls *libc.TLS, pWal uintptr, lockIdx int32) int32 { /* sqlite3.c:61873:12: */ +func walLockShared(tls *libc.TLS, pWal uintptr, lockIdx int32) int32 { /* sqlite3.c:61883:12: */ var rc int32 if (*Wal)(unsafe.Pointer(pWal)).FexclusiveMode != 0 { return SQLITE_OK @@ -84629,7 +84637,7 @@ func walLockShared(tls *libc.TLS, pWal uintptr, lockIdx int32) int32 { /* sqlite return rc } -func walUnlockShared(tls *libc.TLS, pWal uintptr, lockIdx int32) { /* sqlite3.c:61883:13: */ +func walUnlockShared(tls *libc.TLS, pWal uintptr, lockIdx int32) { /* sqlite3.c:61893:13: */ if (*Wal)(unsafe.Pointer(pWal)).FexclusiveMode != 0 { return } @@ -84638,7 +84646,7 @@ func walUnlockShared(tls *libc.TLS, pWal uintptr, lockIdx int32) { /* sqlite3.c: } -func walLockExclusive(tls *libc.TLS, pWal uintptr, lockIdx int32, n int32) int32 { /* sqlite3.c:61889:12: */ +func walLockExclusive(tls *libc.TLS, pWal uintptr, lockIdx int32, n int32) int32 { /* sqlite3.c:61899:12: */ var rc int32 if (*Wal)(unsafe.Pointer(pWal)).FexclusiveMode != 0 { return SQLITE_OK @@ -84649,7 +84657,7 @@ func walLockExclusive(tls *libc.TLS, pWal uintptr, lockIdx int32, n int32) int32 return rc } -func walUnlockExclusive(tls *libc.TLS, pWal uintptr, lockIdx int32, n int32) { /* sqlite3.c:61899:13: */ +func walUnlockExclusive(tls *libc.TLS, pWal uintptr, lockIdx int32, n int32) { /* sqlite3.c:61909:13: */ if (*Wal)(unsafe.Pointer(pWal)).FexclusiveMode != 0 { return } @@ -84661,12 +84669,12 @@ func walUnlockExclusive(tls *libc.TLS, pWal uintptr, lockIdx int32, n int32) { / // Compute a hash on a page number. The resulting hash value must land // between 0 and (HASHTABLE_NSLOT-1). The walHashNext() function advances // the hash to the next value in the event of a collision. -func walHash(tls *libc.TLS, iPage U32) int32 { /* sqlite3.c:61912:12: */ +func walHash(tls *libc.TLS, iPage U32) int32 { /* sqlite3.c:61922:12: */ return int32(iPage * U32(HASHTABLE_HASH_1) & U32(HASHTABLE_NPAGE*2-1)) } -func walNextHash(tls *libc.TLS, iPriorHash int32) int32 { /* sqlite3.c:61917:12: */ +func walNextHash(tls *libc.TLS, iPriorHash int32) int32 { /* sqlite3.c:61927:12: */ return (iPriorHash + 1) & (HASHTABLE_NPAGE*2 - 1) } @@ -84678,12 +84686,12 @@ type WalHashLoc1 = struct { FaPgno uintptr FiZero U32 F__ccgo_pad1 [4]byte -} /* sqlite3.c:61926:9 */ +} /* sqlite3.c:61936:9 */ // An instance of the WalHashLoc object is used to describe the location // of a page hash table in the wal-index. This becomes the return value // from walHashGet(). -type WalHashLoc = WalHashLoc1 /* sqlite3.c:61926:27 */ +type WalHashLoc = WalHashLoc1 /* sqlite3.c:61936:27 */ // Return pointers to the hash table and page number array stored on // page iHash of the wal-index. The wal-index is broken into 32KB pages @@ -84697,7 +84705,7 @@ type WalHashLoc = WalHashLoc1 /* sqlite3.c:61926:27 */ // // Finally, set pLoc->aPgno so that pLoc->aPgno[0] is the page number of the // first frame indexed by the hash table, frame (pLoc->iZero). -func walHashGet(tls *libc.TLS, pWal uintptr, iHash int32, pLoc uintptr) int32 { /* sqlite3.c:61947:12: */ +func walHashGet(tls *libc.TLS, pWal uintptr, iHash int32, pLoc uintptr) int32 { /* sqlite3.c:61957:12: */ var rc int32 // Return code rc = walIndexPage(tls, pWal, iHash, pLoc+8) @@ -84720,14 +84728,14 @@ func walHashGet(tls *libc.TLS, pWal uintptr, iHash int32, pLoc uintptr) int32 { // and page-number array that contain entries corresponding to WAL frame // iFrame. The wal-index is broken up into 32KB pages. Wal-index pages // are numbered starting from 0. -func walFramePage(tls *libc.TLS, iFrame U32) int32 { /* sqlite3.c:61977:12: */ +func walFramePage(tls *libc.TLS, iFrame U32) int32 { /* sqlite3.c:61987:12: */ var iHash int32 = int32((uint64(iFrame+U32(HASHTABLE_NPAGE)) - (uint64(HASHTABLE_NPAGE) - (uint64(unsafe.Sizeof(WalIndexHdr{}))*uint64(2)+uint64(unsafe.Sizeof(WalCkptInfo{})))/uint64(unsafe.Sizeof(U32(0)))) - uint64(1)) / uint64(HASHTABLE_NPAGE)) return iHash } // Return the page number associated with frame iFrame in this WAL. -func walFramePgno(tls *libc.TLS, pWal uintptr, iFrame U32) U32 { /* sqlite3.c:61992:12: */ +func walFramePgno(tls *libc.TLS, pWal uintptr, iFrame U32) U32 { /* sqlite3.c:62002:12: */ var iHash int32 = walFramePage(tls, iFrame) if iHash == 0 { return *(*U32)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer((*Wal)(unsafe.Pointer(pWal)).FapWiData)) + uintptr((uint64(unsafe.Sizeof(WalIndexHdr{}))*uint64(2)+uint64(unsafe.Sizeof(WalCkptInfo{})))/uint64(unsafe.Sizeof(U32(0)))+uint64(iFrame)-uint64(1))*4)) @@ -84745,7 +84753,7 @@ func walFramePgno(tls *libc.TLS, pWal uintptr, iFrame U32) U32 { /* sqlite3.c:61 // updated. Any later hash tables will be automatically cleared when // pWal->hdr.mxFrame advances to the point where those hash tables are // actually needed. -func walCleanupHash(tls *libc.TLS, pWal uintptr) { /* sqlite3.c:62012:13: */ +func walCleanupHash(tls *libc.TLS, pWal uintptr) { /* sqlite3.c:62022:13: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -84788,7 +84796,7 @@ func walCleanupHash(tls *libc.TLS, pWal uintptr) { /* sqlite3.c:62012:13: */ // Set an entry in the wal-index that will map database page number // pPage into WAL frame iFrame. -func walIndexAppend(tls *libc.TLS, pWal uintptr, iFrame U32, iPage U32) int32 { /* sqlite3.c:62074:12: */ +func walIndexAppend(tls *libc.TLS, pWal uintptr, iFrame U32, iPage U32) int32 { /* sqlite3.c:62084:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -84829,7 +84837,7 @@ func walIndexAppend(tls *libc.TLS, pWal uintptr, iFrame U32, iPage U32) int32 { nCollide = idx for iKey = walHash(tls, iPage); *(*Ht_slot)(unsafe.Pointer((*WalHashLoc)(unsafe.Pointer(bp /* &sLoc */)).FaHash + uintptr(iKey)*2)) != 0; iKey = walNextHash(tls, iKey) { if libc.PostDecInt32(&nCollide, 1) == 0 { - return Xsqlite3CorruptError(tls, 62114) + return Xsqlite3CorruptError(tls, 62124) } } *(*U32)(unsafe.Pointer((*WalHashLoc)(unsafe.Pointer(bp /* &sLoc */)).FaPgno + uintptr(idx-1)*4)) = iPage @@ -84848,7 +84856,7 @@ func walIndexAppend(tls *libc.TLS, pWal uintptr, iFrame U32, iPage U32) int32 { // WAL_RECOVER_LOCK is also held so that other threads will know // that this thread is running recovery. If unable to establish // the necessary locks, this routine returns SQLITE_BUSY. -func walIndexRecover(tls *libc.TLS, pWal uintptr) int32 { /* sqlite3.c:62163:12: */ +func walIndexRecover(tls *libc.TLS, pWal uintptr) int32 { /* sqlite3.c:62173:12: */ bp := tls.Alloc(80) defer tls.Free(80) @@ -84963,7 +84971,7 @@ __6: if !(version != U32(WAL_MAX_VERSION)) { goto __7 } - rc = Xsqlite3CantopenError(tls, 62246) + rc = Xsqlite3CantopenError(tls, 62256) goto finished __7: ; @@ -85167,7 +85175,7 @@ recovery_error: } // Close an open wal-index. -func walIndexClose(tls *libc.TLS, pWal uintptr, isDelete int32) { /* sqlite3.c:62386:13: */ +func walIndexClose(tls *libc.TLS, pWal uintptr, isDelete int32) { /* sqlite3.c:62396:13: */ if int32((*Wal)(unsafe.Pointer(pWal)).FexclusiveMode) == WAL_HEAPMEMORY_MODE || (*Wal)(unsafe.Pointer(pWal)).FbShmUnreliable != 0 { var i int32 for i = 0; i < (*Wal)(unsafe.Pointer(pWal)).FnWiData; i++ { @@ -85193,7 +85201,7 @@ func walIndexClose(tls *libc.TLS, pWal uintptr, isDelete int32) { /* sqlite3.c:6 // If the log file is successfully opened, SQLITE_OK is returned and // *ppWal is set to point to a new WAL handle. If an error occurs, // an SQLite error code is returned and *ppWal is left unmodified. -func Xsqlite3WalOpen(tls *libc.TLS, pVfs uintptr, pDbFd uintptr, zWalName uintptr, bNoShm int32, mxWalSize I64, ppWal uintptr) int32 { /* sqlite3.c:62414:20: */ +func Xsqlite3WalOpen(tls *libc.TLS, pVfs uintptr, pDbFd uintptr, zWalName uintptr, bNoShm int32, mxWalSize I64, ppWal uintptr) int32 { /* sqlite3.c:62424:20: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -85265,7 +85273,7 @@ func Xsqlite3WalOpen(tls *libc.TLS, pVfs uintptr, pDbFd uintptr, zWalName uintpt } // Change the size to which the WAL file is trucated on each reset. -func Xsqlite3WalLimit(tls *libc.TLS, pWal uintptr, iLimit I64) { /* sqlite3.c:62517:21: */ +func Xsqlite3WalLimit(tls *libc.TLS, pWal uintptr, iLimit I64) { /* sqlite3.c:62527:21: */ if pWal != 0 { (*Wal)(unsafe.Pointer(pWal)).FmxWalSize = iLimit } @@ -85279,7 +85287,7 @@ func Xsqlite3WalLimit(tls *libc.TLS, pWal uintptr, iLimit I64) { /* sqlite3.c:62 // // Return 0 on success. If there are no pages in the WAL with a page // number larger than *piPage, then return 1. -func walIteratorNext(tls *libc.TLS, p uintptr, piPage uintptr, piFrame uintptr) int32 { /* sqlite3.c:62531:12: */ +func walIteratorNext(tls *libc.TLS, p uintptr, piPage uintptr, piFrame uintptr) int32 { /* sqlite3.c:62541:12: */ var iMin U32 // Result pgno must be greater than iMin var iRet U32 = 0xFFFFFFFF // 0xffffffff is never a valid page number var i int32 // For looping through segments @@ -85326,7 +85334,7 @@ func walIteratorNext(tls *libc.TLS, p uintptr, piPage uintptr, piFrame uintptr) // aLeft[X]!=aRight[Y] && aContent[aLeft[X]] == aContent[aRight[Y]] // // When that happens, omit the aLeft[X] and use the aRight[Y] index. -func walMerge(tls *libc.TLS, aContent uintptr, aLeft uintptr, nLeft int32, paRight uintptr, pnRight uintptr, aTmp uintptr) { /* sqlite3.c:62584:13: */ +func walMerge(tls *libc.TLS, aContent uintptr, aLeft uintptr, nLeft int32, paRight uintptr, pnRight uintptr, aTmp uintptr) { /* sqlite3.c:62594:13: */ var iLeft int32 = 0 // Current index in aLeft var iRight int32 = 0 // Current index in aRight var iOut int32 = 0 // Current index in output buffer @@ -85372,7 +85380,7 @@ func walMerge(tls *libc.TLS, aContent uintptr, aLeft uintptr, nLeft int32, paRig // // Keep the larger of the two values aList[X] and aList[Y] and discard // the smaller. -func walMergesort(tls *libc.TLS, aContent uintptr, aBuffer uintptr, aList uintptr, pnList uintptr) { /* sqlite3.c:62641:13: */ +func walMergesort(tls *libc.TLS, aContent uintptr, aBuffer uintptr, aList uintptr, pnList uintptr) { /* sqlite3.c:62651:13: */ bp := tls.Alloc(220) defer tls.Free(220) @@ -85418,10 +85426,10 @@ type Sublist = struct { FnList int32 F__ccgo_pad1 [4]byte FaList uintptr -} /* sqlite3.c:62647:3 */ +} /* sqlite3.c:62657:3 */ // Free an iterator allocated by walIteratorInit(). -func walIteratorFree(tls *libc.TLS, p uintptr) { /* sqlite3.c:62704:13: */ +func walIteratorFree(tls *libc.TLS, p uintptr) { /* sqlite3.c:62714:13: */ Xsqlite3_free(tls, p) } @@ -85436,7 +85444,7 @@ func walIteratorFree(tls *libc.TLS, p uintptr) { /* sqlite3.c:62704:13: */ // // The calling routine should invoke walIteratorFree() to destroy the // WalIterator object when it has finished with it. -func walIteratorInit(tls *libc.TLS, pWal uintptr, nBackfill U32, pp uintptr) int32 { /* sqlite3.c:62721:12: */ +func walIteratorInit(tls *libc.TLS, pWal uintptr, nBackfill U32, pp uintptr) int32 { /* sqlite3.c:62731:12: */ bp := tls.Alloc(28) defer tls.Free(28) @@ -85520,7 +85528,7 @@ func walIteratorInit(tls *libc.TLS, pWal uintptr, nBackfill U32, pp uintptr) int // n. If the attempt fails and parameter xBusy is not NULL, then it is a // 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) int32 { /* sqlite3.c:62884:12: */ +func walBusyLock(tls *libc.TLS, pWal uintptr, xBusy uintptr, pBusyArg uintptr, lockIdx int32, n int32) int32 { /* sqlite3.c:62894:12: */ var rc int32 for __ccgo := true; __ccgo; __ccgo = xBusy != 0 && rc == SQLITE_BUSY && (*struct { f func(*libc.TLS, uintptr) int32 @@ -85532,7 +85540,7 @@ func walBusyLock(tls *libc.TLS, pWal uintptr, xBusy uintptr, pBusyArg uintptr, l // The cache of the wal-index header must be valid to call this function. // Return the page-size in bytes used by the database. -func walPagesize(tls *libc.TLS, pWal uintptr) int32 { /* sqlite3.c:62908:12: */ +func walPagesize(tls *libc.TLS, pWal uintptr) int32 { /* sqlite3.c:62918:12: */ return int32((*Wal)(unsafe.Pointer(pWal)).Fhdr.FszPage)&0xfe00 + int32((*Wal)(unsafe.Pointer(pWal)).Fhdr.FszPage)&0x0001<<16 } @@ -85551,7 +85559,7 @@ func walPagesize(tls *libc.TLS, pWal uintptr) int32 { /* sqlite3.c:62908:12: */ // The value of parameter salt1 is used as the aSalt[1] value in the // new wal-index header. It should be passed a pseudo-random value (i.e. // one obtained from sqlite3_randomness()). -func walRestartHdr(tls *libc.TLS, pWal uintptr, salt1 U32) { /* sqlite3.c:62929:13: */ +func walRestartHdr(tls *libc.TLS, pWal uintptr, salt1 U32) { /* sqlite3.c:62939:13: */ bp := tls.Alloc(4) defer tls.Free(4) *(*U32)(unsafe.Pointer(bp)) = salt1 @@ -85602,7 +85610,7 @@ func walRestartHdr(tls *libc.TLS, pWal uintptr, salt1 U32) { /* sqlite3.c:62929: // The caller must be holding sufficient locks to ensure that no other // 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) int32 { /* sqlite3.c:62976:12: */ +func walCheckpoint(tls *libc.TLS, pWal uintptr, db uintptr, eMode int32, xBusy uintptr, pBusyArg uintptr, sync_flags int32, zBuf uintptr) int32 { /* sqlite3.c:62986:12: */ bp := tls.Alloc(36) defer tls.Free(36) @@ -85733,7 +85741,7 @@ __10: // 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 = Xsqlite3CorruptError(tls, 63060) + rc = Xsqlite3CorruptError(tls, 63070) goto __15 __14: Xsqlite3OsFileControlHint(tls, (*Wal)(unsafe.Pointer(pWal)).FpDbFd, SQLITE_FCNTL_SIZE_HINT, bp+16) @@ -85894,7 +85902,7 @@ walcheckpoint_out: // If the WAL file is currently larger than nMax bytes in size, truncate // it to exactly nMax bytes. If an error occurs while doing so, ignore it. -func walLimitSize(tls *libc.TLS, pWal uintptr, nMax I64) { /* sqlite3.c:63162:13: */ +func walLimitSize(tls *libc.TLS, pWal uintptr, nMax I64) { /* sqlite3.c:63172:13: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -85913,7 +85921,7 @@ func walLimitSize(tls *libc.TLS, pWal uintptr, nMax I64) { /* sqlite3.c:63162:13 } // Close a connection to a log file. -func Xsqlite3WalClose(tls *libc.TLS, pWal uintptr, db uintptr, sync_flags int32, nBuf int32, zBuf uintptr) int32 { /* sqlite3.c:63179:20: */ +func Xsqlite3WalClose(tls *libc.TLS, pWal uintptr, db uintptr, sync_flags int32, nBuf int32, zBuf uintptr) int32 { /* sqlite3.c:63189:20: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -85985,7 +85993,7 @@ func Xsqlite3WalClose(tls *libc.TLS, pWal uintptr, db uintptr, sync_flags int32, // // If the checksum cannot be verified return non-zero. If the header // is read successfully and the checksum verified, return zero. -func walIndexTryHdr(tls *libc.TLS, pWal uintptr, pChanged uintptr) int32 { /* sqlite3.c:63260:27: */ +func walIndexTryHdr(tls *libc.TLS, pWal uintptr, pChanged uintptr) int32 { /* sqlite3.c:63270:27: */ bp := tls.Alloc(104) defer tls.Free(104) @@ -86054,7 +86062,7 @@ func walIndexTryHdr(tls *libc.TLS, pWal uintptr, pChanged uintptr) int32 { /* sq // // If the wal-index header is successfully read, return SQLITE_OK. // Otherwise an SQLite error code. -func walIndexReadHdr(tls *libc.TLS, pWal uintptr, pChanged uintptr) int32 { /* sqlite3.c:63330:12: */ +func walIndexReadHdr(tls *libc.TLS, pWal uintptr, pChanged uintptr) int32 { /* sqlite3.c:63340:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -86134,7 +86142,7 @@ func walIndexReadHdr(tls *libc.TLS, pWal uintptr, pChanged uintptr) int32 { /* s // sure the wal-index was not constructed with some future format that // this version of SQLite cannot understand. if badHdr == 0 && (*Wal)(unsafe.Pointer(pWal)).Fhdr.FiVersion != U32(WALINDEX_MAX_VERSION) { - rc = Xsqlite3CantopenError(tls, 63409) + rc = Xsqlite3CantopenError(tls, 63419) } if (*Wal)(unsafe.Pointer(pWal)).FbShmUnreliable != 0 { if rc != SQLITE_OK { @@ -86179,7 +86187,7 @@ func walIndexReadHdr(tls *libc.TLS, pWal uintptr, pChanged uintptr) int32 { /* s // beginning (including attempting to map the *-shm file). // // If an error occurs, an SQLite error code is returned. -func walBeginShmUnreliable(tls *libc.TLS, pWal uintptr, pChanged uintptr) int32 { /* sqlite3.c:63454:12: */ +func walBeginShmUnreliable(tls *libc.TLS, pWal uintptr, pChanged uintptr) int32 { /* sqlite3.c:63464:12: */ bp := tls.Alloc(64) defer tls.Free(64) @@ -86445,7 +86453,7 @@ __15: // update values of the aReadMark[] array in the header, but if it does // so it takes care to hold an exclusive lock on the corresponding // WAL_READ_LOCK() while changing values. -func walTryBeginRead(tls *libc.TLS, pWal uintptr, pChanged uintptr, useWal int32, cnt int32) int32 { /* sqlite3.c:63651:12: */ +func walTryBeginRead(tls *libc.TLS, pWal uintptr, pChanged uintptr, useWal int32, cnt int32) int32 { /* sqlite3.c:63661:12: */ var pInfo uintptr // Checkpoint information in wal-index var mxReadMark U32 // Largest aReadMark[] value var mxI int32 // Index of largest aReadMark[] value @@ -86662,7 +86670,7 @@ func walTryBeginRead(tls *libc.TLS, pWal uintptr, pChanged uintptr, useWal int32 // SQLITE_OK is returned if successful, or an SQLite error code if an // error occurs. It is not an error if nBackfillAttempted cannot be // decreased at all. -func Xsqlite3WalSnapshotRecover(tls *libc.TLS, pWal uintptr) int32 { /* sqlite3.c:63881:20: */ +func Xsqlite3WalSnapshotRecover(tls *libc.TLS, pWal uintptr) int32 { /* sqlite3.c:63891:20: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -86736,7 +86744,7 @@ func Xsqlite3WalSnapshotRecover(tls *libc.TLS, pWal uintptr) int32 { /* sqlite3. // transaction, then *pChanged is set to 1 before returning. The // Pager layer will use this to know that its cache is stale and // needs to be flushed. -func Xsqlite3WalBeginReadTransaction(tls *libc.TLS, pWal uintptr, pChanged uintptr) int32 { /* sqlite3.c:63952:20: */ +func Xsqlite3WalBeginReadTransaction(tls *libc.TLS, pWal uintptr, pChanged uintptr) int32 { /* sqlite3.c:63962:20: */ var rc int32 // Return code var cnt int32 = 0 // Number of TryBeginRead attempts var bChanged int32 = 0 @@ -86824,7 +86832,7 @@ func Xsqlite3WalBeginReadTransaction(tls *libc.TLS, pWal uintptr, pChanged uintp // Finish with a read transaction. All this does is release the // read-lock. -func Xsqlite3WalEndReadTransaction(tls *libc.TLS, pWal uintptr) { /* sqlite3.c:64060:21: */ +func Xsqlite3WalEndReadTransaction(tls *libc.TLS, pWal uintptr) { /* sqlite3.c:64070:21: */ Xsqlite3WalEndWriteTransaction(tls, pWal) if int32((*Wal)(unsafe.Pointer(pWal)).FreadLock) >= 0 { walUnlockShared(tls, pWal, 3+int32((*Wal)(unsafe.Pointer(pWal)).FreadLock)) @@ -86838,7 +86846,7 @@ func Xsqlite3WalEndReadTransaction(tls *libc.TLS, pWal uintptr) { /* sqlite3.c:6 // // Return SQLITE_OK if successful, or an error code if an error occurs. If an // error does occur, the final value of *piRead is undefined. -func Xsqlite3WalFindFrame(tls *libc.TLS, pWal uintptr, pgno Pgno, piRead uintptr) int32 { /* sqlite3.c:64076:20: */ +func Xsqlite3WalFindFrame(tls *libc.TLS, pWal uintptr, pgno Pgno, piRead uintptr) int32 { /* sqlite3.c:64086:20: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -86905,7 +86913,7 @@ func Xsqlite3WalFindFrame(tls *libc.TLS, pWal uintptr, pgno Pgno, piRead uintptr iRead = iFrame } if libc.PostDecInt32(&nCollide, 1) == 0 { - return Xsqlite3CorruptError(tls, 64146) + return Xsqlite3CorruptError(tls, 64156) } iKey = walNextHash(tls, iKey) } @@ -86921,7 +86929,7 @@ func Xsqlite3WalFindFrame(tls *libc.TLS, pWal uintptr, pgno Pgno, piRead uintptr // Read the contents of frame iRead from the wal file into buffer pOut // (which is nOut bytes in size). Return SQLITE_OK if successful, or an // error code otherwise. -func Xsqlite3WalReadFrame(tls *libc.TLS, pWal uintptr, iRead U32, nOut int32, pOut uintptr) int32 { /* sqlite3.c:64180:20: */ +func Xsqlite3WalReadFrame(tls *libc.TLS, pWal uintptr, iRead U32, nOut int32, pOut uintptr) int32 { /* sqlite3.c:64190:20: */ var sz int32 var iOffset I64 sz = int32((*Wal)(unsafe.Pointer(pWal)).Fhdr.FszPage) @@ -86938,7 +86946,7 @@ func Xsqlite3WalReadFrame(tls *libc.TLS, pWal uintptr, iRead U32, nOut int32, pO } // Return the size of the database in pages (or zero, if unknown). -func Xsqlite3WalDbsize(tls *libc.TLS, pWal uintptr) Pgno { /* sqlite3.c:64200:21: */ +func Xsqlite3WalDbsize(tls *libc.TLS, pWal uintptr) Pgno { /* sqlite3.c:64210:21: */ if pWal != 0 && int32((*Wal)(unsafe.Pointer(pWal)).FreadLock) >= 0 { return (*Wal)(unsafe.Pointer(pWal)).Fhdr.FnPage } @@ -86956,7 +86964,7 @@ func Xsqlite3WalDbsize(tls *libc.TLS, pWal uintptr) Pgno { /* sqlite3.c:64200:21 // returns SQLITE_BUSY in that case and no write transaction is started. // // There can only be a single writer active at a time. -func Xsqlite3WalBeginWriteTransaction(tls *libc.TLS, pWal uintptr) int32 { /* sqlite3.c:64221:20: */ +func Xsqlite3WalBeginWriteTransaction(tls *libc.TLS, pWal uintptr) int32 { /* sqlite3.c:64231:20: */ var rc int32 // Cannot start a write transaction without first holding a read @@ -86988,7 +86996,7 @@ func Xsqlite3WalBeginWriteTransaction(tls *libc.TLS, pWal uintptr) int32 { /* sq // End a write transaction. The commit has already been done. This // routine merely releases the lock. -func Xsqlite3WalEndWriteTransaction(tls *libc.TLS, pWal uintptr) int32 { /* sqlite3.c:64269:20: */ +func Xsqlite3WalEndWriteTransaction(tls *libc.TLS, pWal uintptr) int32 { /* sqlite3.c:64279:20: */ if (*Wal)(unsafe.Pointer(pWal)).FwriteLock != 0 { walUnlockExclusive(tls, pWal, WAL_WRITE_LOCK, 1) (*Wal)(unsafe.Pointer(pWal)).FwriteLock = U8(0) @@ -87008,7 +87016,7 @@ func Xsqlite3WalEndWriteTransaction(tls *libc.TLS, pWal uintptr) int32 { /* sqli // // Otherwise, if the callback function does not return an error, this // function returns SQLITE_OK. -func Xsqlite3WalUndo(tls *libc.TLS, pWal uintptr, xUndo uintptr, pUndoCtx uintptr) int32 { /* sqlite3.c:64291:20: */ +func Xsqlite3WalUndo(tls *libc.TLS, pWal uintptr, xUndo uintptr, pUndoCtx uintptr) int32 { /* sqlite3.c:64301:20: */ var rc int32 = SQLITE_OK if (*Wal)(unsafe.Pointer(pWal)).FwriteLock != 0 { var iMax Pgno = (*Wal)(unsafe.Pointer(pWal)).Fhdr.FmxFrame @@ -87045,7 +87053,7 @@ func Xsqlite3WalUndo(tls *libc.TLS, pWal uintptr, xUndo uintptr, pUndoCtx uintpt // values. This function populates the array with values required to // "rollback" the write position of the WAL handle back to the current // point in the event of a savepoint rollback (via WalSavepointUndo()). -func Xsqlite3WalSavepoint(tls *libc.TLS, pWal uintptr, aWalData uintptr) { /* sqlite3.c:64331:21: */ +func Xsqlite3WalSavepoint(tls *libc.TLS, pWal uintptr, aWalData uintptr) { /* sqlite3.c:64341:21: */ *(*U32)(unsafe.Pointer(aWalData)) = (*Wal)(unsafe.Pointer(pWal)).Fhdr.FmxFrame *(*U32)(unsafe.Pointer(aWalData + 1*4)) = *(*U32)(unsafe.Pointer(pWal + 72 + 24)) @@ -87057,7 +87065,7 @@ func Xsqlite3WalSavepoint(tls *libc.TLS, pWal uintptr, aWalData uintptr) { /* sq // the values in the aWalData[] array. aWalData must point to an array // of WAL_SAVEPOINT_NDATA u32 values that has been previously populated // by a call to WalSavepoint(). -func Xsqlite3WalSavepointUndo(tls *libc.TLS, pWal uintptr, aWalData uintptr) int32 { /* sqlite3.c:64345:20: */ +func Xsqlite3WalSavepointUndo(tls *libc.TLS, pWal uintptr, aWalData uintptr) int32 { /* sqlite3.c:64355:20: */ var rc int32 = SQLITE_OK if *(*U32)(unsafe.Pointer(aWalData + 3*4)) != (*Wal)(unsafe.Pointer(pWal)).FnCkpt { @@ -87088,7 +87096,7 @@ func Xsqlite3WalSavepointUndo(tls *libc.TLS, pWal uintptr, aWalData uintptr) int // SQLITE_OK is returned if no error is encountered (regardless of whether // or not pWal->hdr.mxFrame is modified). An SQLite error code is returned // if an error occurs. -func walRestartLog(tls *libc.TLS, pWal uintptr) int32 { /* sqlite3.c:64382:12: */ +func walRestartLog(tls *libc.TLS, pWal uintptr) int32 { /* sqlite3.c:64392:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -87142,12 +87150,12 @@ type WalWriter1 = struct { FiSyncPoint Sqlite3_int64 FsyncFlags int32 FszPage int32 -} /* sqlite3.c:64429:9 */ +} /* sqlite3.c:64439:9 */ // Information about the current state of the WAL file and where // the next fsync should occur - passed from sqlite3WalFrames() into // walWriteToLog(). -type WalWriter = WalWriter1 /* sqlite3.c:64435:3 */ +type WalWriter = WalWriter1 /* sqlite3.c:64445:3 */ // Write iAmt bytes of content into the WAL file beginning at iOffset. // Do a sync when crossing the p->iSyncPoint boundary. @@ -87155,7 +87163,7 @@ type WalWriter = WalWriter1 /* sqlite3.c:64435:3 */ // In other words, if iSyncPoint is in between iOffset and iOffset+iAmt, // first write the part before iSyncPoint, then sync, then write the // rest. -func walWriteToLog(tls *libc.TLS, p uintptr, pContent uintptr, iAmt int32, iOffset Sqlite3_int64) int32 { /* sqlite3.c:64445:12: */ +func walWriteToLog(tls *libc.TLS, p uintptr, pContent uintptr, iAmt int32, iOffset Sqlite3_int64) int32 { /* sqlite3.c:64455:12: */ var rc int32 if iOffset < (*WalWriter)(unsafe.Pointer(p)).FiSyncPoint && iOffset+Sqlite3_int64(iAmt) >= (*WalWriter)(unsafe.Pointer(p)).FiSyncPoint { var iFirstAmt int32 = int32((*WalWriter)(unsafe.Pointer(p)).FiSyncPoint - iOffset) @@ -87177,7 +87185,7 @@ func walWriteToLog(tls *libc.TLS, p uintptr, pContent uintptr, iAmt int32, iOffs } // Write out a single frame of the WAL -func walWriteOneFrame(tls *libc.TLS, p uintptr, pPage uintptr, nTruncate int32, iOffset Sqlite3_int64) int32 { /* sqlite3.c:64470:12: */ +func walWriteOneFrame(tls *libc.TLS, p uintptr, pPage uintptr, nTruncate int32, iOffset Sqlite3_int64) int32 { /* sqlite3.c:64480:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -87202,7 +87210,7 @@ func walWriteOneFrame(tls *libc.TLS, p uintptr, pPage uintptr, nTruncate int32, // with the earliest to have been overwritten. // // SQLITE_OK is returned if successful, or an SQLite error code otherwise. -func walRewriteChecksums(tls *libc.TLS, pWal uintptr, iLast U32) int32 { /* sqlite3.c:64496:12: */ +func walRewriteChecksums(tls *libc.TLS, pWal uintptr, iLast U32) int32 { /* sqlite3.c:64506:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -87256,7 +87264,7 @@ func walRewriteChecksums(tls *libc.TLS, pWal uintptr, iLast U32) int32 { /* sqli // Write a set of frames to the log. The caller must hold the write-lock // on the log file (obtained using sqlite3WalBeginWriteTransaction()). -func Xsqlite3WalFrames(tls *libc.TLS, pWal uintptr, szPage int32, pList uintptr, nTruncate Pgno, isCommit int32, sync_flags int32) int32 { /* sqlite3.c:64545:20: */ +func Xsqlite3WalFrames(tls *libc.TLS, pWal uintptr, szPage int32, pList uintptr, nTruncate Pgno, isCommit int32, sync_flags int32) int32 { /* sqlite3.c:64555:20: */ bp := tls.Alloc(80) defer tls.Free(80) @@ -87489,7 +87497,7 @@ func Xsqlite3WalFrames(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 Xsqlite3WalCheckpoint(tls *libc.TLS, pWal uintptr, db uintptr, eMode int32, xBusy uintptr, pBusyArg uintptr, sync_flags int32, nBuf int32, zBuf uintptr, pnLog uintptr, pnCkpt uintptr) int32 { /* sqlite3.c:64783:20: */ +func Xsqlite3WalCheckpoint(tls *libc.TLS, pWal uintptr, db uintptr, eMode int32, xBusy uintptr, pBusyArg uintptr, sync_flags int32, nBuf int32, zBuf uintptr, pnLog uintptr, pnCkpt uintptr) int32 { /* sqlite3.c:64793:20: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -87554,7 +87562,7 @@ func Xsqlite3WalCheckpoint(tls *libc.TLS, pWal uintptr, db uintptr, eMode int32, if rc == SQLITE_OK { if (*Wal)(unsafe.Pointer(pWal)).Fhdr.FmxFrame != 0 && walPagesize(tls, pWal) != nBuf { - rc = Xsqlite3CorruptError(tls, 64865) + rc = Xsqlite3CorruptError(tls, 64875) } else { rc = walCheckpoint(tls, pWal, db, eMode2, xBusy2, pBusyArg, sync_flags, zBuf) } @@ -87598,7 +87606,7 @@ func Xsqlite3WalCheckpoint(tls *libc.TLS, pWal uintptr, db uintptr, eMode int32, // number of frames in the WAL at the point of the last commit since // sqlite3WalCallback() was called. If no commits have occurred since // the last call, then return 0. -func Xsqlite3WalCallback(tls *libc.TLS, pWal uintptr) int32 { /* sqlite3.c:64908:20: */ +func Xsqlite3WalCallback(tls *libc.TLS, pWal uintptr) int32 { /* sqlite3.c:64918:20: */ var ret U32 = U32(0) if pWal != 0 { ret = (*Wal)(unsafe.Pointer(pWal)).FiCallback @@ -87629,7 +87637,7 @@ func Xsqlite3WalCallback(tls *libc.TLS, pWal uintptr) int32 { /* sqlite3.c:64908 // not actually change anything. The pager uses this to see if it // should acquire the database exclusive lock prior to invoking // the op==1 case. -func Xsqlite3WalExclusiveMode(tls *libc.TLS, pWal uintptr, op int32) int32 { /* sqlite3.c:64941:20: */ +func Xsqlite3WalExclusiveMode(tls *libc.TLS, pWal uintptr, op int32) int32 { /* sqlite3.c:64951:20: */ var rc int32 // pWal->readLock is usually set, but might be -1 if there was a @@ -87663,14 +87671,14 @@ func Xsqlite3WalExclusiveMode(tls *libc.TLS, pWal uintptr, op int32) int32 { /* // Return true if the argument is non-NULL and the WAL module is using // heap-memory for the wal-index. Otherwise, if the argument is NULL or the // WAL module is using shared-memory, return false. -func Xsqlite3WalHeapMemory(tls *libc.TLS, pWal uintptr) int32 { /* sqlite3.c:64983:20: */ +func Xsqlite3WalHeapMemory(tls *libc.TLS, pWal uintptr) int32 { /* sqlite3.c:64993:20: */ return libc.Bool32(pWal != 0 && int32((*Wal)(unsafe.Pointer(pWal)).FexclusiveMode) == WAL_HEAPMEMORY_MODE) } // Create a snapshot object. The content of a snapshot is opaque to // every other subsystem, so the WAL module can put whatever it needs // in the object. -func Xsqlite3WalSnapshotGet(tls *libc.TLS, pWal uintptr, ppSnapshot uintptr) int32 { /* sqlite3.c:64992:20: */ +func Xsqlite3WalSnapshotGet(tls *libc.TLS, pWal uintptr, ppSnapshot uintptr) int32 { /* sqlite3.c:65002:20: */ var rc int32 = SQLITE_OK var pRet uintptr @@ -87689,16 +87697,16 @@ func Xsqlite3WalSnapshotGet(tls *libc.TLS, pWal uintptr, ppSnapshot uintptr) int return rc } -var aZero = [4]U32{U32(0), U32(0), U32(0), U32(0)} /* sqlite3.c:64995:20 */ +var aZero = [4]U32{U32(0), U32(0), U32(0), U32(0)} /* sqlite3.c:65005:20 */ // Try to open on pSnapshot when the next read-transaction starts -func Xsqlite3WalSnapshotOpen(tls *libc.TLS, pWal uintptr, pSnapshot uintptr) { /* sqlite3.c:65016:21: */ +func Xsqlite3WalSnapshotOpen(tls *libc.TLS, pWal uintptr, pSnapshot uintptr) { /* sqlite3.c:65026:21: */ (*Wal)(unsafe.Pointer(pWal)).FpSnapshot = pSnapshot } // Return a +ve value if snapshot p1 is newer than p2. A -ve value if // p1 is older than p2 and zero if p1 and p2 are the same snapshot. -func Xsqlite3_snapshot_cmp(tls *libc.TLS, p1 uintptr, p2 uintptr) int32 { /* sqlite3.c:65027:16: */ +func Xsqlite3_snapshot_cmp(tls *libc.TLS, p1 uintptr, p2 uintptr) int32 { /* sqlite3.c:65037:16: */ var pHdr1 uintptr = p1 var pHdr2 uintptr = p2 @@ -87728,7 +87736,7 @@ func Xsqlite3_snapshot_cmp(tls *libc.TLS, p1 uintptr, p2 uintptr) int32 { /* sql // the CHECKPOINTER lock cannot be obtained, SQLITE_BUSY. If any error // occurs (any value other than SQLITE_OK is returned), the CHECKPOINTER // lock is released before returning. -func Xsqlite3WalSnapshotCheck(tls *libc.TLS, pWal uintptr, pSnapshot uintptr) int32 { /* sqlite3.c:65051:20: */ +func Xsqlite3WalSnapshotCheck(tls *libc.TLS, pWal uintptr, pSnapshot uintptr) int32 { /* sqlite3.c:65061:20: */ var rc int32 rc = walLockShared(tls, pWal, WAL_CKPT_LOCK) if rc == SQLITE_OK { @@ -87744,13 +87752,13 @@ func Xsqlite3WalSnapshotCheck(tls *libc.TLS, pWal uintptr, pSnapshot uintptr) in // Release a lock obtained by an earlier successful call to // sqlite3WalSnapshotCheck(). -func Xsqlite3WalSnapshotUnlock(tls *libc.TLS, pWal uintptr) { /* sqlite3.c:65070:21: */ +func Xsqlite3WalSnapshotUnlock(tls *libc.TLS, pWal uintptr) { /* sqlite3.c:65080:21: */ walUnlockShared(tls, pWal, WAL_CKPT_LOCK) } // Return the sqlite3_file object for the WAL file -func Xsqlite3WalFile(tls *libc.TLS, pWal uintptr) uintptr { /* sqlite3.c:65092:29: */ +func Xsqlite3WalFile(tls *libc.TLS, pWal uintptr) uintptr { /* sqlite3.c:65102:29: */ return (*Wal)(unsafe.Pointer(pWal)).FpWalFd } @@ -88271,7 +88279,7 @@ type MemPage1 = struct { // small cells will be rare, but they are possible. // Forward declarations -type MemPage = MemPage1 /* sqlite3.c:65350:24 */ +type MemPage = MemPage1 /* sqlite3.c:65360:24 */ type BtLock1 = struct { FpBtree uintptr FiTable Pgno @@ -88280,7 +88288,7 @@ type BtLock1 = struct { FpNext uintptr } /* sqlite3.c:578:9 */ -type BtLock = BtLock1 /* sqlite3.c:65351:23 */ +type BtLock = BtLock1 /* sqlite3.c:65361:23 */ type CellInfo1 = struct { FnKey I64 FpPayload uintptr @@ -88289,7 +88297,7 @@ type CellInfo1 = struct { FnSize U16 } /* sqlite3.c:578:9 */ -type CellInfo = CellInfo1 /* sqlite3.c:65352:25 */ +type CellInfo = CellInfo1 /* sqlite3.c:65362:25 */ // Legal values for BtCursor.curFlags @@ -88399,7 +88407,7 @@ type IntegrityCk1 = struct { FerrMsg StrAccum Fheap uintptr Fdb uintptr -} /* sqlite3.c:65811:9 */ +} /* sqlite3.c:65821:9 */ // Legal values for BtCursor.curFlags @@ -88495,7 +88503,7 @@ type IntegrityCk1 = struct { // the database the corresponding bit is set. This allows integrity-check to // detect pages that are used twice and orphaned pages (both of which // indicate corruption). -type IntegrityCk = IntegrityCk1 /* sqlite3.c:65811:28 */ +type IntegrityCk = IntegrityCk1 /* sqlite3.c:65821:28 */ // Routines to read or write a two- and four-byte big-endian integer values. @@ -88509,7 +88517,7 @@ type IntegrityCk = IntegrityCk1 /* sqlite3.c:65811:28 */ // Obtain the BtShared mutex associated with B-Tree handle p. Also, // set BtShared.db to the database handle associated with p and the // p->locked boolean to true. -func lockBtreeMutex(tls *libc.TLS, p uintptr) { /* sqlite3.c:65861:13: */ +func lockBtreeMutex(tls *libc.TLS, p uintptr) { /* sqlite3.c:65871:13: */ Xsqlite3_mutex_enter(tls, (*BtShared)(unsafe.Pointer((*Btree)(unsafe.Pointer(p)).FpBt)).Fmutex) (*BtShared)(unsafe.Pointer((*Btree)(unsafe.Pointer(p)).FpBt)).Fdb = (*Btree)(unsafe.Pointer(p)).Fdb @@ -88518,7 +88526,7 @@ func lockBtreeMutex(tls *libc.TLS, p uintptr) { /* sqlite3.c:65861:13: */ // Release the BtShared mutex associated with B-Tree handle p and // clear the p->locked boolean. -func unlockBtreeMutex(tls *libc.TLS, p uintptr) { /* sqlite3.c:65875:29: */ +func unlockBtreeMutex(tls *libc.TLS, p uintptr) { /* sqlite3.c:65885:29: */ var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt Xsqlite3_mutex_leave(tls, (*BtShared)(unsafe.Pointer(pBt)).Fmutex) @@ -88539,7 +88547,7 @@ func unlockBtreeMutex(tls *libc.TLS, p uintptr) { /* sqlite3.c:65875:29: */ // p, then first unlock all of the others on p->pNext, then wait // for the lock to become available on p, then relock all of the // subsequent Btrees that desire a lock. -func Xsqlite3BtreeEnter(tls *libc.TLS, p uintptr) { /* sqlite3.c:65905:21: */ +func Xsqlite3BtreeEnter(tls *libc.TLS, p uintptr) { /* sqlite3.c:65915:21: */ // Some basic sanity checking on the Btree. The list of Btrees // connected by pNext and pPrev should be in sorted order by // Btree.pBt value. All elements of the list should belong to @@ -88567,7 +88575,7 @@ func Xsqlite3BtreeEnter(tls *libc.TLS, p uintptr) { /* sqlite3.c:65905:21: */ // into this routine, we avoid unnecessary stack pointer changes // and thus help the sqlite3BtreeLock() routine to run much faster // in the common case. -func btreeLockCarefully(tls *libc.TLS, p uintptr) { /* sqlite3.c:65939:29: */ +func btreeLockCarefully(tls *libc.TLS, p uintptr) { /* sqlite3.c:65949:29: */ var pLater uintptr // In most cases, we should be able to acquire the lock we @@ -88598,7 +88606,7 @@ func btreeLockCarefully(tls *libc.TLS, p uintptr) { /* sqlite3.c:65939:29: */ } // Exit the recursive mutex on a Btree. -func Xsqlite3BtreeLeave(tls *libc.TLS, p uintptr) { /* sqlite3.c:65977:21: */ +func Xsqlite3BtreeLeave(tls *libc.TLS, p uintptr) { /* sqlite3.c:65987:21: */ if (*Btree)(unsafe.Pointer(p)).Fsharable != 0 { @@ -88621,7 +88629,7 @@ func Xsqlite3BtreeLeave(tls *libc.TLS, p uintptr) { /* sqlite3.c:65977:21: */ // to avoid the possibility of deadlock when two threads with // two or more btrees in common both try to lock all their btrees // at the same instant. -func btreeEnterAll(tls *libc.TLS, db uintptr) { /* sqlite3.c:66020:29: */ +func btreeEnterAll(tls *libc.TLS, db uintptr) { /* sqlite3.c:66030:29: */ var i int32 var skipOk int32 = 1 var p uintptr @@ -88636,13 +88644,13 @@ func btreeEnterAll(tls *libc.TLS, db uintptr) { /* sqlite3.c:66020:29: */ (*Sqlite3)(unsafe.Pointer(db)).FnoSharedCache = U8(skipOk) } -func Xsqlite3BtreeEnterAll(tls *libc.TLS, db uintptr) { /* sqlite3.c:66034:21: */ +func Xsqlite3BtreeEnterAll(tls *libc.TLS, db uintptr) { /* sqlite3.c:66044:21: */ if int32((*Sqlite3)(unsafe.Pointer(db)).FnoSharedCache) == 0 { btreeEnterAll(tls, db) } } -func btreeLeaveAll(tls *libc.TLS, db uintptr) { /* sqlite3.c:66037:29: */ +func btreeLeaveAll(tls *libc.TLS, db uintptr) { /* sqlite3.c:66047:29: */ var i int32 var p uintptr @@ -88654,7 +88662,7 @@ func btreeLeaveAll(tls *libc.TLS, db uintptr) { /* sqlite3.c:66037:29: */ } } -func Xsqlite3BtreeLeaveAll(tls *libc.TLS, db uintptr) { /* sqlite3.c:66046:21: */ +func Xsqlite3BtreeLeaveAll(tls *libc.TLS, db uintptr) { /* sqlite3.c:66056:21: */ if int32((*Sqlite3)(unsafe.Pointer(db)).FnoSharedCache) == 0 { btreeLeaveAll(tls, db) } @@ -88665,11 +88673,11 @@ func Xsqlite3BtreeLeaveAll(tls *libc.TLS, db uintptr) { /* sqlite3.c:66046:21: * // These entry points are used by incremental I/O only. Enter() is required // any time OMIT_SHARED_CACHE is not defined, regardless of whether or not // the build is threadsafe. Leave() is only required by threadsafe builds. -func Xsqlite3BtreeEnterCursor(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:66132:21: */ +func Xsqlite3BtreeEnterCursor(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:66142:21: */ Xsqlite3BtreeEnter(tls, (*BtCursor)(unsafe.Pointer(pCur)).FpBtree) } -func Xsqlite3BtreeLeaveCursor(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:66136:21: */ +func Xsqlite3BtreeLeaveCursor(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:66146:21: */ Xsqlite3BtreeLeave(tls, (*BtCursor)(unsafe.Pointer(pCur)).FpBtree) } @@ -88692,7 +88700,7 @@ func Xsqlite3BtreeLeaveCursor(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:66136: // The header string that appears at the beginning of every // SQLite database. -var zMagicHeader = *(*[16]int8)(unsafe.Pointer(ts + 5336)) /* sqlite3.c:66167:19 */ +var zMagicHeader = *(*[16]int8)(unsafe.Pointer(ts + 5336)) /* sqlite3.c:66177:19 */ // Set this global variable to 1 to enable tracing using the TRACE // macro. @@ -88718,14 +88726,14 @@ var zMagicHeader = *(*[16]int8)(unsafe.Pointer(ts + 5336)) /* sqlite3.c:66167:19 // test builds. // // Access to this variable is protected by SQLITE_MUTEX_STATIC_MAIN. -var sqlite3SharedCacheList uintptr = uintptr(0) /* sqlite3.c:66222:17 */ +var sqlite3SharedCacheList uintptr = uintptr(0) /* sqlite3.c:66232:17 */ // Enable or disable the shared pager and schema features. // // This routine has no effect on existing database connections. // The shared cache setting effects only future calls to // sqlite3_open(), sqlite3_open16(), or sqlite3_open_v2(). -func Xsqlite3_enable_shared_cache(tls *libc.TLS, enable int32) int32 { /* sqlite3.c:66234:16: */ +func Xsqlite3_enable_shared_cache(tls *libc.TLS, enable int32) int32 { /* sqlite3.c:66244:16: */ Xsqlite3Config.FsharedCacheEnabled = enable return SQLITE_OK } @@ -88742,7 +88750,7 @@ func Xsqlite3_enable_shared_cache(tls *libc.TLS, enable int32) int32 { /* sqlite // (READ_LOCK or WRITE_LOCK) on the table with root-page iTab. Return // SQLITE_OK if the lock may be obtained (by calling // setSharedCacheTableLock()), or SQLITE_LOCKED if not. -func querySharedCacheTableLock(tls *libc.TLS, p uintptr, iTab Pgno, eLock U8) int32 { /* sqlite3.c:66433:12: */ +func querySharedCacheTableLock(tls *libc.TLS, p uintptr, iTab Pgno, eLock U8) int32 { /* sqlite3.c:66443:12: */ var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt var pIter uintptr @@ -88799,7 +88807,7 @@ func querySharedCacheTableLock(tls *libc.TLS, p uintptr, iTab Pgno, eLock U8) in // // SQLITE_OK is returned if the lock is added successfully. SQLITE_NOMEM // is returned if a malloc attempt fails. -func setSharedCacheTableLock(tls *libc.TLS, p uintptr, iTable Pgno, eLock U8) int32 { /* sqlite3.c:66505:12: */ +func setSharedCacheTableLock(tls *libc.TLS, p uintptr, iTable Pgno, eLock U8) int32 { /* sqlite3.c:66515:12: */ var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt var pLock uintptr = uintptr(0) var pIter uintptr @@ -88850,7 +88858,7 @@ func setSharedCacheTableLock(tls *libc.TLS, p uintptr, iTable Pgno, eLock U8) in // This function assumes that Btree p has an open read or write // transaction. If it does not, then the BTS_PENDING flag // may be incorrectly cleared. -func clearAllSharedCacheTableLocks(tls *libc.TLS, p uintptr) { /* sqlite3.c:66569:13: */ +func clearAllSharedCacheTableLocks(tls *libc.TLS, p uintptr) { /* sqlite3.c:66579:13: */ var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt var ppIter uintptr = pBt + 120 @@ -88885,7 +88893,7 @@ func clearAllSharedCacheTableLocks(tls *libc.TLS, p uintptr) { /* sqlite3.c:6656 } // This function changes all write-locks held by Btree p into read-locks. -func downgradeAllSharedCacheTableLocks(tls *libc.TLS, p uintptr) { /* sqlite3.c:66613:13: */ +func downgradeAllSharedCacheTableLocks(tls *libc.TLS, p uintptr) { /* sqlite3.c:66623:13: */ var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt if (*BtShared)(unsafe.Pointer(pBt)).FpWriter == p { var pLock uintptr @@ -88909,7 +88917,7 @@ func downgradeAllSharedCacheTableLocks(tls *libc.TLS, p uintptr) { /* sqlite3.c: // Invalidate the overflow page-list cache for all cursors opened // on the shared btree structure pBt. -func invalidateAllOverflowCache(tls *libc.TLS, pBt uintptr) { /* sqlite3.c:66666:13: */ +func invalidateAllOverflowCache(tls *libc.TLS, pBt uintptr) { /* sqlite3.c:66676:13: */ var p uintptr for p = (*BtShared)(unsafe.Pointer(pBt)).FpCursor; p != 0; p = (*BtCursor)(unsafe.Pointer(p)).FpNext { @@ -88928,7 +88936,7 @@ func invalidateAllOverflowCache(tls *libc.TLS, pBt uintptr) { /* sqlite3.c:66666 // Otherwise, if argument isClearTable is false, then the row with // rowid iRow is being replaced or deleted. In this case invalidate // only those incrblob cursors open on that specific row. -func invalidateIncrblobCursors(tls *libc.TLS, pBtree uintptr, pgnoRoot Pgno, iRow I64, isClearTable int32) { /* sqlite3.c:66688:13: */ +func invalidateIncrblobCursors(tls *libc.TLS, pBtree uintptr, pgnoRoot Pgno, iRow I64, isClearTable int32) { /* sqlite3.c:66698:13: */ var p uintptr (*Btree)(unsafe.Pointer(pBtree)).FhasIncrblobCur = U8(0) @@ -88975,7 +88983,7 @@ func invalidateIncrblobCursors(tls *libc.TLS, pBtree uintptr, pgnoRoot Pgno, iRo // optimization 2 above is omitted if the corresponding bit is already // set in BtShared.pHasContent. The contents of the bitvec are cleared // at the end of every transaction. -func btreeSetHasContent(tls *libc.TLS, pBt uintptr, pgno Pgno) int32 { /* sqlite3.c:66748:12: */ +func btreeSetHasContent(tls *libc.TLS, pBt uintptr, pgno Pgno) int32 { /* sqlite3.c:66758:12: */ var rc int32 = SQLITE_OK if !(int32((*BtShared)(unsafe.Pointer(pBt)).FpHasContent) != 0) { @@ -88995,20 +89003,20 @@ func btreeSetHasContent(tls *libc.TLS, pBt uintptr, pgno Pgno) int32 { /* sqlite // This function is called when a free-list leaf page is removed from the // free-list for reuse. It returns false if it is safe to retrieve the // page from the pager layer with the 'no-content' flag set. True otherwise. -func btreeGetHasContent(tls *libc.TLS, pBt uintptr, pgno Pgno) int32 { /* sqlite3.c:66770:12: */ +func btreeGetHasContent(tls *libc.TLS, pBt uintptr, pgno Pgno) int32 { /* sqlite3.c:66780:12: */ var p uintptr = (*BtShared)(unsafe.Pointer(pBt)).FpHasContent return libc.Bool32(p != 0 && (pgno > Xsqlite3BitvecSize(tls, p) || Xsqlite3BitvecTestNotNull(tls, p, pgno) != 0)) } // Clear (destroy) the BtShared.pHasContent bitvec. This should be // invoked at the conclusion of each write-transaction. -func btreeClearHasContent(tls *libc.TLS, pBt uintptr) { /* sqlite3.c:66779:13: */ +func btreeClearHasContent(tls *libc.TLS, pBt uintptr) { /* sqlite3.c:66789:13: */ Xsqlite3BitvecDestroy(tls, (*BtShared)(unsafe.Pointer(pBt)).FpHasContent) (*BtShared)(unsafe.Pointer(pBt)).FpHasContent = uintptr(0) } // Release all of the apPage[] pages for a cursor. -func btreeReleaseAllCursorPages(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:66787:13: */ +func btreeReleaseAllCursorPages(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:66797:13: */ var i int32 if int32((*BtCursor)(unsafe.Pointer(pCur)).FiPage) >= 0 { for i = 0; i < int32((*BtCursor)(unsafe.Pointer(pCur)).FiPage); i++ { @@ -89030,7 +89038,7 @@ func btreeReleaseAllCursorPages(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:6678 // NULL. If the cursor is open on a non-intkey table, then pCur->pKey is // set to point to a malloced buffer pCur->nKey bytes in size containing // the key. -func saveCursorKey(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:66811:12: */ +func saveCursorKey(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:66821:12: */ var rc int32 = SQLITE_OK if (*BtCursor)(unsafe.Pointer(pCur)).FcurIntKey != 0 { @@ -89067,7 +89075,7 @@ func saveCursorKey(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:66811:12: * // // The caller must ensure that the cursor is valid (has eState==CURSOR_VALID) // prior to calling this routine. -func saveCursorPosition(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:66853:12: */ +func saveCursorPosition(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:66863:12: */ var rc int32 if int32((*BtCursor)(unsafe.Pointer(pCur)).FcurFlags)&BTCF_Pinned != 0 { @@ -89108,7 +89116,7 @@ func saveCursorPosition(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:66853: // Implementation note: This routine merely checks to see if any cursors // need to be saved. It calls out to saveCursorsOnList() in the (unusual) // event that cursors are in need to being saved. -func saveAllCursors(tls *libc.TLS, pBt uintptr, iRoot Pgno, pExcept uintptr) int32 { /* sqlite3.c:66903:12: */ +func saveAllCursors(tls *libc.TLS, pBt uintptr, iRoot Pgno, pExcept uintptr) int32 { /* sqlite3.c:66913:12: */ var p uintptr for p = (*BtShared)(unsafe.Pointer(pBt)).FpCursor; p != 0; p = (*BtCursor)(unsafe.Pointer(p)).FpNext { @@ -89129,7 +89137,7 @@ func saveAllCursors(tls *libc.TLS, pBt uintptr, iRoot Pgno, pExcept uintptr) int // the cursors if and when a cursor is found that actually requires saving. // The common case is that no cursors need to be saved, so this routine is // broken out from its caller to avoid unnecessary stack pointer movement. -func saveCursorsOnList(tls *libc.TLS, p uintptr, iRoot Pgno, pExcept uintptr) int32 { /* sqlite3.c:66920:28: */ +func saveCursorsOnList(tls *libc.TLS, p uintptr, iRoot Pgno, pExcept uintptr) int32 { /* sqlite3.c:66930:28: */ for __ccgo := true; __ccgo; __ccgo = p != 0 { if p != pExcept && (Pgno(0) == iRoot || (*BtCursor)(unsafe.Pointer(p)).FpgnoRoot == iRoot) { if int32((*BtCursor)(unsafe.Pointer(p)).FeState) == CURSOR_VALID || int32((*BtCursor)(unsafe.Pointer(p)).FeState) == CURSOR_SKIPNEXT { @@ -89148,7 +89156,7 @@ func saveCursorsOnList(tls *libc.TLS, p uintptr, iRoot Pgno, pExcept uintptr) in } // Clear the current cursor position. -func Xsqlite3BtreeClearCursor(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:66945:21: */ +func Xsqlite3BtreeClearCursor(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:66955:21: */ Xsqlite3_free(tls, (*BtCursor)(unsafe.Pointer(pCur)).FpKey) (*BtCursor)(unsafe.Pointer(pCur)).FpKey = uintptr(0) @@ -89158,7 +89166,7 @@ func Xsqlite3BtreeClearCursor(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:66945: // In this version of BtreeMoveto, pKey is a packed index record // such as is generated by the OP_MakeRecord opcode. Unpack the // record and then call BtreeMovetoUnpacked() to do the work. -func btreeMoveto(tls *libc.TLS, pCur uintptr, pKey uintptr, nKey I64, bias int32, pRes uintptr) int32 { /* sqlite3.c:66957:12: */ +func btreeMoveto(tls *libc.TLS, pCur uintptr, pKey uintptr, nKey I64, bias int32, pRes uintptr) int32 { /* sqlite3.c:66967:12: */ var rc int32 // Status code var pIdxKey uintptr // Unpacked index key @@ -89171,7 +89179,7 @@ func btreeMoveto(tls *libc.TLS, pCur uintptr, pKey uintptr, nKey I64, bias int32 } Xsqlite3VdbeRecordUnpack(tls, pKeyInfo, int32(nKey), pKey, pIdxKey) if int32((*UnpackedRecord)(unsafe.Pointer(pIdxKey)).FnField) == 0 || int32((*UnpackedRecord)(unsafe.Pointer(pIdxKey)).FnField) > int32((*KeyInfo)(unsafe.Pointer(pKeyInfo)).FnAllField) { - rc = Xsqlite3CorruptError(tls, 66974) + rc = Xsqlite3CorruptError(tls, 66984) } else { rc = Xsqlite3BtreeIndexMoveto(tls, pCur, pIdxKey, pRes) } @@ -89188,7 +89196,7 @@ func btreeMoveto(tls *libc.TLS, pCur uintptr, pKey uintptr, nKey I64, bias int32 // saved position info stored by saveCursorPosition(), so there can be // at most one effective restoreCursorPosition() call after each // saveCursorPosition(). -func btreeRestoreCursorPosition(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:66993:12: */ +func btreeRestoreCursorPosition(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:67003:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -89228,7 +89236,7 @@ func btreeRestoreCursorPosition(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3. // // Use the separate sqlite3BtreeCursorRestore() routine to restore a cursor // back to where it ought to be if this routine returns true. -func Xsqlite3BtreeCursorHasMoved(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:67036:20: */ +func Xsqlite3BtreeCursorHasMoved(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:67046:20: */ return libc.Bool32(CURSOR_VALID != int32(*(*U8)(unsafe.Pointer(pCur)))) } @@ -89236,12 +89244,12 @@ func Xsqlite3BtreeCursorHasMoved(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3 // Return a pointer to a fake BtCursor object that will always answer // false to the sqlite3BtreeCursorHasMoved() routine above. The fake // cursor returned must not be used with any other Btree interface. -func Xsqlite3BtreeFakeValidCursor(tls *libc.TLS) uintptr { /* sqlite3.c:67049:25: */ +func Xsqlite3BtreeFakeValidCursor(tls *libc.TLS) uintptr { /* sqlite3.c:67059:25: */ return uintptr(unsafe.Pointer(&fakeCursor)) } -var fakeCursor U8 = U8(CURSOR_VALID) /* sqlite3.c:67050:13 */ +var fakeCursor U8 = U8(CURSOR_VALID) /* sqlite3.c:67060:13 */ // This routine restores a cursor back to its original position after it // has been moved by some outside activity (such as a btree rebalance or @@ -89254,7 +89262,7 @@ var fakeCursor U8 = U8(CURSOR_VALID) /* sqlite3.c:67050:13 */ // // This routine should only be called for a cursor that just returned // TRUE from sqlite3BtreeCursorHasMoved(). -func Xsqlite3BtreeCursorRestore(tls *libc.TLS, pCur uintptr, pDifferentRow uintptr) int32 { /* sqlite3.c:67068:20: */ +func Xsqlite3BtreeCursorRestore(tls *libc.TLS, pCur uintptr, pDifferentRow uintptr) int32 { /* sqlite3.c:67078:20: */ var rc int32 rc = func() int32 { @@ -89276,7 +89284,7 @@ func Xsqlite3BtreeCursorRestore(tls *libc.TLS, pCur uintptr, pDifferentRow uintp } // Provide flag hints to the cursor. -func Xsqlite3BtreeCursorHintFlags(tls *libc.TLS, pCur uintptr, x uint32) { /* sqlite3.c:67100:21: */ +func Xsqlite3BtreeCursorHintFlags(tls *libc.TLS, pCur uintptr, x uint32) { /* sqlite3.c:67110:21: */ (*BtCursor)(unsafe.Pointer(pCur)).Fhints = U8(x) } @@ -89288,7 +89296,7 @@ func Xsqlite3BtreeCursorHintFlags(tls *libc.TLS, pCur uintptr, x uint32) { /* sq // Return 0 (not a valid page) for pgno==1 since there is // no pointer map associated with page 1. The integrity_check logic // requires that ptrmapPageno(*,1)!=1. -func ptrmapPageno(tls *libc.TLS, pBt uintptr, pgno Pgno) Pgno { /* sqlite3.c:67116:13: */ +func ptrmapPageno(tls *libc.TLS, pBt uintptr, pgno Pgno) Pgno { /* sqlite3.c:67126:13: */ var nPagesPerMapPage int32 var iPtrMap Pgno var ret Pgno @@ -89313,7 +89321,7 @@ func ptrmapPageno(tls *libc.TLS, pBt uintptr, pgno Pgno) Pgno { /* sqlite3.c:671 // If *pRC is initially non-zero (non-SQLITE_OK) then this routine is // a no-op. If an error occurs, the appropriate error code is written // into *pRC. -func ptrmapPut(tls *libc.TLS, pBt uintptr, key Pgno, eType U8, parent Pgno, pRC uintptr) { /* sqlite3.c:67140:13: */ +func ptrmapPut(tls *libc.TLS, pBt uintptr, key Pgno, eType U8, parent Pgno, pRC uintptr) { /* sqlite3.c:67150:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -89336,7 +89344,7 @@ __1: if !(key == Pgno(0)) { goto __2 } - *(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 67155) + *(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 67165) return __2: ; @@ -89355,7 +89363,7 @@ __3: // 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)) = Xsqlite3CorruptError(tls, 67168) + *(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 67178) goto ptrmap_exit __4: ; @@ -89363,7 +89371,7 @@ __4: if !(offset < 0) { goto __5 } - *(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 67173) + *(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 67183) goto ptrmap_exit __5: ; @@ -89394,7 +89402,7 @@ ptrmap_exit: // This routine retrieves the pointer map entry for page 'key', writing // the type and parent page number to *pEType and *pPgno respectively. // An error code is returned if something goes wrong, otherwise SQLITE_OK. -func ptrmapGet(tls *libc.TLS, pBt uintptr, key Pgno, pEType uintptr, pPgno uintptr) int32 { /* sqlite3.c:67199:12: */ +func ptrmapGet(tls *libc.TLS, pBt uintptr, key Pgno, pEType uintptr, pPgno uintptr) int32 { /* sqlite3.c:67209:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -89415,7 +89423,7 @@ func ptrmapGet(tls *libc.TLS, pBt uintptr, key Pgno, pEType uintptr, pPgno uintp offset = int32(Pgno(5) * (key - Pgno(iPtrmap) - Pgno(1))) if offset < 0 { Xsqlite3PagerUnref(tls, *(*uintptr)(unsafe.Pointer(bp /* pDbPage */))) - return Xsqlite3CorruptError(tls, 67218) + return Xsqlite3CorruptError(tls, 67228) } *(*U8)(unsafe.Pointer(pEType)) = *(*U8)(unsafe.Pointer(pPtrmap + uintptr(offset))) @@ -89425,7 +89433,7 @@ func ptrmapGet(tls *libc.TLS, pBt uintptr, key Pgno, pEType uintptr, pPgno uintp Xsqlite3PagerUnref(tls, *(*uintptr)(unsafe.Pointer(bp /* pDbPage */))) if int32(*(*U8)(unsafe.Pointer(pEType))) < 1 || int32(*(*U8)(unsafe.Pointer(pEType))) > 5 { - return Xsqlite3CorruptError(tls, 67226) + return Xsqlite3CorruptError(tls, 67236) } return SQLITE_OK } @@ -89443,7 +89451,7 @@ func ptrmapGet(tls *libc.TLS, pBt uintptr, key Pgno, pEType uintptr, pPgno uintp // btreeParseCellPtrIndex() for the case when the cell does not fit entirely // on a single B-tree page. Make necessary adjustments to the CellInfo // structure. -func btreeParseCellAdjustSizeForOverflow(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintptr) { /* sqlite3.c:67258:29: */ +func btreeParseCellAdjustSizeForOverflow(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintptr) { /* sqlite3.c:67268:29: */ // If the payload will not fit completely on the local page, we have // to decide how much to store locally and how much to spill onto // overflow pages. The strategy is to minimize the amount of unused @@ -89470,7 +89478,7 @@ func btreeParseCellAdjustSizeForOverflow(tls *libc.TLS, pPage uintptr, pCell uin // Given a record with nPayload bytes of payload stored within btree // page pPage, return the number of bytes of payload stored locally. -func btreePayloadToLocal(tls *libc.TLS, pPage uintptr, nPayload I64) int32 { /* sqlite3.c:67293:12: */ +func btreePayloadToLocal(tls *libc.TLS, pPage uintptr, nPayload I64) int32 { /* sqlite3.c:67303:12: */ var maxLocal int32 // Maximum amount of payload held locally maxLocal = int32((*MemPage)(unsafe.Pointer(pPage)).FmaxLocal) if nPayload <= I64(maxLocal) { @@ -89500,7 +89508,7 @@ func btreePayloadToLocal(tls *libc.TLS, pPage uintptr, nPayload I64) int32 { /* // There is also a wrapper function btreeParseCell() that works for // all MemPage types and that references the cell by index rather than // by pointer. -func btreeParseCellPtrNoPayload(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintptr) { /* sqlite3.c:67321:13: */ +func btreeParseCellPtrNoPayload(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintptr) { /* sqlite3.c:67331:13: */ _ = pPage (*CellInfo)(unsafe.Pointer(pInfo)).FnSize = U16(4 + int32(Xsqlite3GetVarint(tls, pCell+4, pInfo))) @@ -89510,7 +89518,7 @@ func btreeParseCellPtrNoPayload(tls *libc.TLS, pPage uintptr, pCell uintptr, pIn return } -func btreeParseCellPtr(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintptr) { /* sqlite3.c:67338:13: */ +func btreeParseCellPtr(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintptr) { /* sqlite3.c:67348:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -89587,7 +89595,7 @@ func btreeParseCellPtr(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintpt } } -func btreeParseCellPtrIndex(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintptr) { /* sqlite3.c:67420:13: */ +func btreeParseCellPtrIndex(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintptr) { /* sqlite3.c:67430:13: */ var pIter uintptr // For scanning through pCell var nPayload U32 // Number of bytes of cell payload @@ -89618,7 +89626,7 @@ func btreeParseCellPtrIndex(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo u } } -func btreeParseCell(tls *libc.TLS, pPage uintptr, iCell int32, pInfo uintptr) { /* sqlite3.c:67457:13: */ +func btreeParseCell(tls *libc.TLS, pPage uintptr, iCell int32, pInfo uintptr) { /* sqlite3.c:67467:13: */ (*struct { f func(*libc.TLS, uintptr, uintptr, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*MemPage)(unsafe.Pointer(pPage)).FxParseCell})).f(tls, pPage, (*MemPage)(unsafe.Pointer(pPage)).FaData+uintptr(int32((*MemPage)(unsafe.Pointer(pPage)).FmaskPage)&int32(libc.X__builtin_bswap16(tls, *(*U16)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPage)).FaCellIdx + uintptr(2*iCell)))))), pInfo) @@ -89634,7 +89642,7 @@ func btreeParseCell(tls *libc.TLS, pPage uintptr, iCell int32, pInfo uintptr) { // // cellSizePtrNoPayload() => table internal nodes // cellSizePtr() => all index nodes & table leaf nodes -func cellSizePtr(tls *libc.TLS, pPage uintptr, pCell uintptr) U16 { /* sqlite3.c:67477:12: */ +func cellSizePtr(tls *libc.TLS, pPage uintptr, pCell uintptr) U16 { /* sqlite3.c:67487:12: */ var pIter uintptr = pCell + uintptr((*MemPage)(unsafe.Pointer(pPage)).FchildPtrSize) // For looping over bytes of pCell var pEnd uintptr // End mark for a varint var nSize U32 // Size value to return @@ -89675,7 +89683,7 @@ func cellSizePtr(tls *libc.TLS, pPage uintptr, pCell uintptr) U16 { /* sqlite3.c return U16(nSize) } -func cellSizePtrNoPayload(tls *libc.TLS, pPage uintptr, pCell uintptr) U16 { /* sqlite3.c:67525:12: */ +func cellSizePtrNoPayload(tls *libc.TLS, pPage uintptr, pCell uintptr) U16 { /* sqlite3.c:67535:12: */ var pIter uintptr = pCell + uintptr(4) // For looping over bytes of pCell var pEnd uintptr // End mark for a varint @@ -89692,7 +89700,7 @@ func cellSizePtrNoPayload(tls *libc.TLS, pPage uintptr, pCell uintptr) U16 { /* // of pPage. (pSrc and pPager are often the same.) If pCell contains a // pointer to an overflow page, insert an entry into the pointer-map for // the overflow page that will be valid after pCell has been moved to pPage. -func ptrmapPutOvflPtr(tls *libc.TLS, pPage uintptr, pSrc uintptr, pCell uintptr, pRC uintptr) { /* sqlite3.c:67563:13: */ +func ptrmapPutOvflPtr(tls *libc.TLS, pPage uintptr, pSrc uintptr, pCell uintptr, pRC uintptr) { /* sqlite3.c:67573:13: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -89709,7 +89717,7 @@ func ptrmapPutOvflPtr(tls *libc.TLS, pPage uintptr, pSrc uintptr, pCell uintptr, var ovfl Pgno if Uptr((*MemPage)(unsafe.Pointer(pSrc)).FaDataEnd) >= Uptr(pCell) && Uptr((*MemPage)(unsafe.Pointer(pSrc)).FaDataEnd) < Uptr(pCell+uintptr((*CellInfo)(unsafe.Pointer(bp)).FnLocal)) { - *(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 67572) + *(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 67582) return } ovfl = Xsqlite3Get4byte(tls, pCell+uintptr(int32((*CellInfo)(unsafe.Pointer(bp)).FnSize)-4)) @@ -89727,7 +89735,7 @@ func ptrmapPutOvflPtr(tls *libc.TLS, pPage uintptr, pSrc uintptr, pCell uintptr, // b-tree page so that there are no freeblocks or fragment bytes, all // unused bytes are contained in the unallocated space region, and all // cells are packed tightly at the end of the page. -func defragmentPage(tls *libc.TLS, pPage uintptr, nMaxFrag int32) int32 { /* sqlite3.c:67594:12: */ +func defragmentPage(tls *libc.TLS, pPage uintptr, nMaxFrag int32) int32 { /* sqlite3.c:67604:12: */ var i int32 // Loop counter var pc int32 // Address of the i-th cell var hdr int32 // Offset to the page header @@ -89772,7 +89780,7 @@ func defragmentPage(tls *libc.TLS, pPage uintptr, nMaxFrag int32) int32 { /* sql if !(iFree > usableSize-4) { goto __2 } - return Xsqlite3CorruptError(tls, 67631) + return Xsqlite3CorruptError(tls, 67641) __2: ; if !(iFree != 0) { @@ -89782,7 +89790,7 @@ __2: if !(iFree2 > usableSize-4) { goto __4 } - return Xsqlite3CorruptError(tls, 67634) + return Xsqlite3CorruptError(tls, 67644) __4: ; if !(0 == iFree2 || int32(*(*uint8)(unsafe.Pointer(data + uintptr(iFree2)))) == 0 && int32(*(*uint8)(unsafe.Pointer(data + uintptr(iFree2+1)))) == 0) { @@ -89795,7 +89803,7 @@ __4: if !(top >= iFree) { goto __6 } - return Xsqlite3CorruptError(tls, 67642) + return Xsqlite3CorruptError(tls, 67652) __6: ; if !(iFree2 != 0) { @@ -89804,14 +89812,14 @@ __6: if !(iFree+sz > iFree2) { goto __9 } - return Xsqlite3CorruptError(tls, 67645) + return Xsqlite3CorruptError(tls, 67655) __9: ; sz2 = int32(*(*uint8)(unsafe.Pointer(data + uintptr(iFree2+2))))<<8 | int32(*(*uint8)(unsafe.Pointer(data + uintptr(iFree2+2) + 1))) if !(iFree2+sz2 > usableSize) { goto __10 } - return Xsqlite3CorruptError(tls, 67647) + return Xsqlite3CorruptError(tls, 67657) __10: ; libc.Xmemmove(tls, data+uintptr(iFree+sz+sz2), data+uintptr(iFree+sz), uint64(iFree2-(iFree+sz))) @@ -89821,7 +89829,7 @@ __7: if !(iFree+sz > usableSize) { goto __11 } - return Xsqlite3CorruptError(tls, 67651) + return Xsqlite3CorruptError(tls, 67661) __11: ; __8: @@ -89883,7 +89891,7 @@ __18: if !(pc < iCellStart || pc > iCellLast) { goto __21 } - return Xsqlite3CorruptError(tls, 67680) + return Xsqlite3CorruptError(tls, 67690) __21: ; @@ -89894,7 +89902,7 @@ __21: if !(cbrk < iCellStart || pc+size > usableSize) { goto __22 } - return Xsqlite3CorruptError(tls, 67686) + return Xsqlite3CorruptError(tls, 67696) __22: ; @@ -89929,7 +89937,7 @@ defragment_out: if !(int32(*(*uint8)(unsafe.Pointer(data + uintptr(hdr+7))))+cbrk-iCellFirst != (*MemPage)(unsafe.Pointer(pPage)).FnFree) { goto __25 } - return Xsqlite3CorruptError(tls, 67705) + return Xsqlite3CorruptError(tls, 67715) __25: ; @@ -89954,7 +89962,7 @@ __25: // Slots on the free list that are between 1 and 3 bytes larger than nByte // will be ignored if adding the extra space to the fragmentation count // causes the fragmentation count to exceed 60. -func pageFindSlot(tls *libc.TLS, pPg uintptr, nByte int32, pRc uintptr) uintptr { /* sqlite3.c:67730:11: */ +func pageFindSlot(tls *libc.TLS, pPg uintptr, nByte int32, pRc uintptr) uintptr { /* sqlite3.c:67740:11: */ var hdr int32 = int32((*MemPage)(unsafe.Pointer(pPg)).FhdrOffset) // Offset to page header var aData uintptr = (*MemPage)(unsafe.Pointer(pPg)).FaData // Page data var iAddr int32 = hdr + 1 // Address of ptr to pc @@ -89983,7 +89991,7 @@ func pageFindSlot(tls *libc.TLS, pPg uintptr, nByte int32, pRc uintptr) uintptr *(*U8)(unsafe.Pointer(aData + uintptr(hdr+7))) += U8(int32(U8(x))) } else if x+pc > maxPC { // This slot extends off the end of the usable part of the page - *(*int32)(unsafe.Pointer(pRc)) = Xsqlite3CorruptError(tls, 67759) + *(*int32)(unsafe.Pointer(pRc)) = Xsqlite3CorruptError(tls, 67769) return uintptr(0) } else { // The slot remains on the free-list. Reduce its size to account @@ -89998,14 +90006,14 @@ func pageFindSlot(tls *libc.TLS, pPg uintptr, nByte int32, pRc uintptr) uintptr if pc <= iAddr+size { if pc != 0 { // The next slot in the chain is not past the end of the current slot - *(*int32)(unsafe.Pointer(pRc)) = Xsqlite3CorruptError(tls, 67773) + *(*int32)(unsafe.Pointer(pRc)) = Xsqlite3CorruptError(tls, 67783) } return uintptr(0) } } if pc > maxPC+nByte-4 { // The free slot chain extends off the end of the page - *(*int32)(unsafe.Pointer(pRc)) = Xsqlite3CorruptError(tls, 67780) + *(*int32)(unsafe.Pointer(pRc)) = Xsqlite3CorruptError(tls, 67790) } return uintptr(0) } @@ -90021,7 +90029,7 @@ func pageFindSlot(tls *libc.TLS, pPg uintptr, nByte int32, pRc uintptr) uintptr // the first two bytes past the cell pointer area since presumably this // allocation is being made in order to insert a new cell, so we will // also end up needing a new cell pointer. -func allocateSpace(tls *libc.TLS, pPage uintptr, nByte int32, pIdx uintptr) int32 { /* sqlite3.c:67798:12: */ +func allocateSpace(tls *libc.TLS, pPage uintptr, nByte int32, pIdx uintptr) int32 { /* sqlite3.c:67808:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -90046,7 +90054,7 @@ func allocateSpace(tls *libc.TLS, pPage uintptr, nByte int32, pIdx uintptr) int3 if top == 0 && (*BtShared)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize == U32(65536) { top = 65536 } else { - return Xsqlite3CorruptError(tls, 67827) + return Xsqlite3CorruptError(tls, 67837) } } @@ -90061,7 +90069,7 @@ func allocateSpace(tls *libc.TLS, pPage uintptr, nByte int32, pIdx uintptr) int3 *(*int32)(unsafe.Pointer(pIdx)) = libc.AssignInt32(&g2, int32((int64(pSpace)-int64(data))/1)) if g2 <= gap { - return Xsqlite3CorruptError(tls, 67845) + return Xsqlite3CorruptError(tls, 67855) } else { return SQLITE_OK } @@ -90112,7 +90120,7 @@ func allocateSpace(tls *libc.TLS, pPage uintptr, nByte int32, pIdx uintptr) int3 // does it detect cells or freeblocks that encrouch into the reserved bytes // at the end of the page. So do additional corruption checks inside this // routine and return SQLITE_CORRUPT if any problems are found. -func freeSpace(tls *libc.TLS, pPage uintptr, iStart U16, iSize U16) int32 { /* sqlite3.c:67894:12: */ +func freeSpace(tls *libc.TLS, pPage uintptr, iStart U16, iSize U16) int32 { /* sqlite3.c:67904:12: */ var iPtr U16 // Address of ptr to next freeblock var iFreeBlk U16 // Address of the next freeblock var hdr U8 // Page header size. 0 or 100 @@ -90136,12 +90144,12 @@ func freeSpace(tls *libc.TLS, pPage uintptr, iStart U16, iSize U16) int32 { /* s if int32(iFreeBlk) == 0 { break } // TH3: corrupt082.100 - return Xsqlite3CorruptError(tls, 67923) + return Xsqlite3CorruptError(tls, 67933) } iPtr = iFreeBlk } if U32(iFreeBlk) > (*BtShared)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize-U32(4) { // TH3: corrupt081.100 - return Xsqlite3CorruptError(tls, 67928) + return Xsqlite3CorruptError(tls, 67938) } // At this point: @@ -90152,11 +90160,11 @@ func freeSpace(tls *libc.TLS, pPage uintptr, iStart U16, iSize U16) int32 { /* s if iFreeBlk != 0 && iEnd+U32(3) >= U32(iFreeBlk) { nFrag = U8(U32(iFreeBlk) - iEnd) if iEnd > U32(iFreeBlk) { - return Xsqlite3CorruptError(tls, 67940) + return Xsqlite3CorruptError(tls, 67950) } iEnd = U32(int32(iFreeBlk) + (int32(*(*uint8)(unsafe.Pointer(data + uintptr(int32(iFreeBlk)+2))))<<8 | int32(*(*uint8)(unsafe.Pointer(data + uintptr(int32(iFreeBlk)+2) + 1))))) if iEnd > (*BtShared)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize { - return Xsqlite3CorruptError(tls, 67943) + return Xsqlite3CorruptError(tls, 67953) } iSize = U16(iEnd - U32(iStart)) iFreeBlk = U16(int32(*(*uint8)(unsafe.Pointer(data + uintptr(iFreeBlk))))<<8 | int32(*(*uint8)(unsafe.Pointer(data + uintptr(iFreeBlk) + 1)))) @@ -90169,7 +90177,7 @@ func freeSpace(tls *libc.TLS, pPage uintptr, iStart U16, iSize U16) int32 { /* s var iPtrEnd int32 = int32(iPtr) + (int32(*(*uint8)(unsafe.Pointer(data + uintptr(int32(iPtr)+2))))<<8 | int32(*(*uint8)(unsafe.Pointer(data + uintptr(int32(iPtr)+2) + 1)))) if iPtrEnd+3 >= int32(iStart) { if iPtrEnd > int32(iStart) { - return Xsqlite3CorruptError(tls, 67956) + return Xsqlite3CorruptError(tls, 67966) } nFrag = U8(int32(nFrag) + (int32(iStart) - iPtrEnd)) iSize = U16(iEnd - U32(iPtr)) @@ -90177,7 +90185,7 @@ func freeSpace(tls *libc.TLS, pPage uintptr, iStart U16, iSize U16) int32 { /* s } } if int32(nFrag) > int32(*(*uint8)(unsafe.Pointer(data + uintptr(int32(hdr)+7)))) { - return Xsqlite3CorruptError(tls, 67962) + return Xsqlite3CorruptError(tls, 67972) } *(*uint8)(unsafe.Pointer(data + uintptr(int32(hdr)+7))) -= uint8(int32(nFrag)) } @@ -90187,10 +90195,10 @@ func freeSpace(tls *libc.TLS, pPage uintptr, iStart U16, iSize U16) int32 { /* s // so just extend the cell content area rather than create another // freelist entry if int32(iStart) < int32(x) { - return Xsqlite3CorruptError(tls, 67970) + return Xsqlite3CorruptError(tls, 67980) } if int32(iPtr) != int32(hdr)+1 { - return Xsqlite3CorruptError(tls, 67971) + return Xsqlite3CorruptError(tls, 67981) } *(*uint8)(unsafe.Pointer(data + uintptr(int32(hdr)+1))) = U8(int32(iFreeBlk) >> 8) *(*uint8)(unsafe.Pointer(data + uintptr(int32(hdr)+1) + 1)) = U8(iFreeBlk) @@ -90224,7 +90232,7 @@ func freeSpace(tls *libc.TLS, pPage uintptr, iStart U16, iSize U16) int32 { /* s // PTF_ZERODATA | PTF_LEAF // PTF_LEAFDATA | PTF_INTKEY // PTF_LEAFDATA | PTF_INTKEY | PTF_LEAF -func decodeFlags(tls *libc.TLS, pPage uintptr, flagByte int32) int32 { /* sqlite3.c:68001:12: */ +func decodeFlags(tls *libc.TLS, pPage uintptr, flagByte int32) int32 { /* sqlite3.c:68011:12: */ var pBt uintptr // A copy of pPage->pBt (*MemPage)(unsafe.Pointer(pPage)).Fleaf = U8(flagByte >> 3) @@ -90275,7 +90283,7 @@ func decodeFlags(tls *libc.TLS, pPage uintptr, flagByte int32) int32 { /* sqlite } else { // EVIDENCE-OF: R-47608-56469 Any other value for the b-tree page type is // an error. - return Xsqlite3CorruptError(tls, 68044) + return Xsqlite3CorruptError(tls, 68054) } (*MemPage)(unsafe.Pointer(pPage)).Fmax1bytePayload = (*BtShared)(unsafe.Pointer(pBt)).Fmax1bytePayload return SQLITE_OK @@ -90283,7 +90291,7 @@ func decodeFlags(tls *libc.TLS, pPage uintptr, flagByte int32) int32 { /* sqlite // Compute the amount of freespace on the page. In other words, fill // in the pPage->nFree field. -func btreeComputeFreeSpace(tls *libc.TLS, pPage uintptr) int32 { /* sqlite3.c:68054:12: */ +func btreeComputeFreeSpace(tls *libc.TLS, pPage uintptr) int32 { /* sqlite3.c:68064:12: */ var pc int32 // Address of a freeblock within pPage->aData[] var hdr U8 // Offset to beginning of page header var data uintptr // Equal to pPage->aData @@ -90315,12 +90323,12 @@ func btreeComputeFreeSpace(tls *libc.TLS, pPage uintptr) int32 { /* sqlite3.c:68 if pc < top { // 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 Xsqlite3CorruptError(tls, 68095) + return Xsqlite3CorruptError(tls, 68105) } for 1 != 0 { if pc > iCellLast { // Freeblock off the end of the page - return Xsqlite3CorruptError(tls, 68100) + return Xsqlite3CorruptError(tls, 68110) } next = U32(int32(*(*U8)(unsafe.Pointer(data + uintptr(pc))))<<8 | int32(*(*U8)(unsafe.Pointer(data + uintptr(pc) + 1)))) size = U32(int32(*(*U8)(unsafe.Pointer(data + uintptr(pc+2))))<<8 | int32(*(*U8)(unsafe.Pointer(data + uintptr(pc+2) + 1)))) @@ -90332,11 +90340,11 @@ func btreeComputeFreeSpace(tls *libc.TLS, pPage uintptr) int32 { /* sqlite3.c:68 } if next > U32(0) { // Freeblock not in ascending order - return Xsqlite3CorruptError(tls, 68110) + return Xsqlite3CorruptError(tls, 68120) } if U32(pc)+size > uint32(usableSize) { // Last freeblock extends past page end - return Xsqlite3CorruptError(tls, 68114) + return Xsqlite3CorruptError(tls, 68124) } } @@ -90347,7 +90355,7 @@ func btreeComputeFreeSpace(tls *libc.TLS, pPage uintptr) int32 { /* sqlite3.c:68 // serves to verify that the offset to the start of the cell-content // area, according to the page header, lies within the page. if nFree > usableSize || nFree < iCellFirst { - return Xsqlite3CorruptError(tls, 68126) + return Xsqlite3CorruptError(tls, 68136) } (*MemPage)(unsafe.Pointer(pPage)).FnFree = int32(U16(nFree - iCellFirst)) return SQLITE_OK @@ -90355,7 +90363,7 @@ func btreeComputeFreeSpace(tls *libc.TLS, pPage uintptr) int32 { /* sqlite3.c:68 // Do additional sanity check after btreeInitPage() if // PRAGMA cell_size_check=ON -func btreeCellSizeCheck(tls *libc.TLS, pPage uintptr) int32 { /* sqlite3.c:68136:28: */ +func btreeCellSizeCheck(tls *libc.TLS, pPage uintptr) int32 { /* sqlite3.c:68146:28: */ var iCellFirst int32 // First allowable cell or freeblock offset var iCellLast int32 // Last possible cell or freeblock offset var i int32 // Index into the cell pointer array @@ -90377,14 +90385,14 @@ func btreeCellSizeCheck(tls *libc.TLS, pPage uintptr) int32 { /* sqlite3.c:68136 pc = int32(libc.X__builtin_bswap16(tls, *(*U16)(unsafe.Pointer(data + uintptr(cellOffset+i*2))))) if pc < iCellFirst || pc > iCellLast { - return Xsqlite3CorruptError(tls, 68157) + return Xsqlite3CorruptError(tls, 68167) } sz = int32((*struct { f func(*libc.TLS, uintptr, uintptr) U16 })(unsafe.Pointer(&struct{ uintptr }{(*MemPage)(unsafe.Pointer(pPage)).FxCellSize})).f(tls, pPage, data+uintptr(pc))) if pc+sz > usableSize { - return Xsqlite3CorruptError(tls, 68162) + return Xsqlite3CorruptError(tls, 68172) } } return SQLITE_OK @@ -90397,7 +90405,7 @@ func btreeCellSizeCheck(tls *libc.TLS, pPage uintptr) int32 { /* sqlite3.c:68136 // SQLITE_CORRUPT. Note that a return of SQLITE_OK does not // guarantee that the page is well-formed. It only shows that // we failed to detect any corruption. -func btreeInitPage(tls *libc.TLS, pPage uintptr) int32 { /* sqlite3.c:68177:12: */ +func btreeInitPage(tls *libc.TLS, pPage uintptr) int32 { /* sqlite3.c:68187:12: */ var data uintptr // Equal to pPage->aData var pBt uintptr // The main btree structure @@ -90406,7 +90414,7 @@ func btreeInitPage(tls *libc.TLS, pPage uintptr) int32 { /* sqlite3.c:68177:12: // EVIDENCE-OF: R-28594-02890 The one-byte flag at offset 0 indicating // the b-tree page type. if decodeFlags(tls, pPage, int32(*(*U8)(unsafe.Pointer(data)))) != 0 { - return Xsqlite3CorruptError(tls, 68194) + return Xsqlite3CorruptError(tls, 68204) } (*MemPage)(unsafe.Pointer(pPage)).FmaskPage = U16((*BtShared)(unsafe.Pointer(pBt)).FpageSize - U32(1)) @@ -90420,7 +90428,7 @@ func btreeInitPage(tls *libc.TLS, pPage uintptr) int32 { /* sqlite3.c:68177:12: (*MemPage)(unsafe.Pointer(pPage)).FnCell = U16(int32(*(*U8)(unsafe.Pointer(data + 3)))<<8 | int32(*(*U8)(unsafe.Pointer(data + 3 + 1)))) if U32((*MemPage)(unsafe.Pointer(pPage)).FnCell) > ((*BtShared)(unsafe.Pointer(pBt)).FpageSize-U32(8))/U32(6) { // To many cells for a single page. The page must be corrupt - return Xsqlite3CorruptError(tls, 68208) + return Xsqlite3CorruptError(tls, 68218) } // EVIDENCE-OF: R-24089-57979 If a page contains no cells (which is only @@ -90438,7 +90446,7 @@ func btreeInitPage(tls *libc.TLS, pPage uintptr) int32 { /* sqlite3.c:68177:12: // Set up a raw page so that it looks like a database page holding // no entries. -func zeroPage(tls *libc.TLS, pPage uintptr, flags int32) { /* sqlite3.c:68230:13: */ +func zeroPage(tls *libc.TLS, pPage uintptr, flags int32) { /* sqlite3.c:68240:13: */ var data uintptr = (*MemPage)(unsafe.Pointer(pPage)).FaData var pBt uintptr = (*MemPage)(unsafe.Pointer(pPage)).FpBt var hdr U8 = (*MemPage)(unsafe.Pointer(pPage)).FhdrOffset @@ -90473,7 +90481,7 @@ func zeroPage(tls *libc.TLS, pPage uintptr, flags int32) { /* sqlite3.c:68230:13 // Convert a DbPage obtained from the pager into a MemPage used by // the btree layer. -func btreePageFromDbPage(tls *libc.TLS, pDbPage uintptr, pgno Pgno, pBt uintptr) uintptr { /* sqlite3.c:68267:16: */ +func btreePageFromDbPage(tls *libc.TLS, pDbPage uintptr, pgno Pgno, pBt uintptr) uintptr { /* sqlite3.c:68277:16: */ var pPage uintptr = Xsqlite3PagerGetExtra(tls, pDbPage) if pgno != (*MemPage)(unsafe.Pointer(pPage)).Fpgno { (*MemPage)(unsafe.Pointer(pPage)).FaData = Xsqlite3PagerGetData(tls, pDbPage) @@ -90500,7 +90508,7 @@ func btreePageFromDbPage(tls *libc.TLS, pDbPage uintptr, pgno Pgno, pBt uintptr) // If in the future we call sqlite3PagerWrite() on this page, that // means we have started to be concerned about content and the disk // read should occur at that point. -func btreeGetPage(tls *libc.TLS, pBt uintptr, pgno Pgno, ppPage uintptr, flags int32) int32 { /* sqlite3.c:68291:12: */ +func btreeGetPage(tls *libc.TLS, pBt uintptr, pgno Pgno, ppPage uintptr, flags int32) int32 { /* sqlite3.c:68301:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -90518,7 +90526,7 @@ func btreeGetPage(tls *libc.TLS, pBt uintptr, pgno Pgno, ppPage uintptr, flags i // Retrieve a page from the pager cache. If the requested page is not // already in the pager cache return NULL. Initialize the MemPage.pBt and // MemPage.aData elements if needed. -func btreePageLookup(tls *libc.TLS, pBt uintptr, pgno Pgno) uintptr { /* sqlite3.c:68313:16: */ +func btreePageLookup(tls *libc.TLS, pBt uintptr, pgno Pgno) uintptr { /* sqlite3.c:68323:16: */ var pDbPage uintptr pDbPage = Xsqlite3PagerLookup(tls, (*BtShared)(unsafe.Pointer(pBt)).FpPager, pgno) @@ -90530,11 +90538,11 @@ func btreePageLookup(tls *libc.TLS, pBt uintptr, pgno Pgno) uintptr { /* sqlite3 // Return the size of the database file in pages. If there is any kind of // error, return ((unsigned int)-1). -func btreePagecount(tls *libc.TLS, pBt uintptr) Pgno { /* sqlite3.c:68327:13: */ +func btreePagecount(tls *libc.TLS, pBt uintptr) Pgno { /* sqlite3.c:68337:13: */ return (*BtShared)(unsafe.Pointer(pBt)).FnPage } -func Xsqlite3BtreeLastPage(tls *libc.TLS, p uintptr) Pgno { /* sqlite3.c:68330:21: */ +func Xsqlite3BtreeLastPage(tls *libc.TLS, p uintptr) Pgno { /* sqlite3.c:68340:21: */ return btreePagecount(tls, (*Btree)(unsafe.Pointer(p)).FpBt) } @@ -90550,7 +90558,7 @@ func Xsqlite3BtreeLastPage(tls *libc.TLS, p uintptr) Pgno { /* sqlite3.c:68330:2 // // If an error occurs, then *ppPage is undefined. It // may remain unchanged, or it may be set to an invalid value. -func getAndInitPage(tls *libc.TLS, pBt uintptr, pgno Pgno, ppPage uintptr, pCur uintptr, bReadOnly int32) int32 { /* sqlite3.c:68348:12: */ +func getAndInitPage(tls *libc.TLS, pBt uintptr, pgno Pgno, ppPage uintptr, pCur uintptr, bReadOnly int32) int32 { /* sqlite3.c:68358:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -90560,7 +90568,7 @@ func getAndInitPage(tls *libc.TLS, pBt uintptr, pgno Pgno, ppPage uintptr, pCur if !(pgno > btreePagecount(tls, pBt)) { goto __1 } - rc = Xsqlite3CorruptError(tls, 68363) + rc = Xsqlite3CorruptError(tls, 68373) goto getAndInitPage_error1 __1: ; @@ -90591,7 +90599,7 @@ __3: if !(pCur != 0 && (int32((*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(ppPage)))).FnCell) < 1 || int32((*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(ppPage)))).FintKey) != int32((*BtCursor)(unsafe.Pointer(pCur)).FcurIntKey))) { goto __5 } - rc = Xsqlite3CorruptError(tls, 68384) + rc = Xsqlite3CorruptError(tls, 68394) goto getAndInitPage_error2 __5: ; @@ -90615,18 +90623,18 @@ __6: // call to btreeGetPage. // // Page1 is a special case and must be released using releasePageOne(). -func releasePageNotNull(tls *libc.TLS, pPage uintptr) { /* sqlite3.c:68407:13: */ +func releasePageNotNull(tls *libc.TLS, pPage uintptr) { /* sqlite3.c:68417:13: */ Xsqlite3PagerUnrefNotNull(tls, (*MemPage)(unsafe.Pointer(pPage)).FpDbPage) } -func releasePage(tls *libc.TLS, pPage uintptr) { /* sqlite3.c:68416:13: */ +func releasePage(tls *libc.TLS, pPage uintptr) { /* sqlite3.c:68426:13: */ if pPage != 0 { releasePageNotNull(tls, pPage) } } -func releasePageOne(tls *libc.TLS, pPage uintptr) { /* sqlite3.c:68419:13: */ +func releasePageOne(tls *libc.TLS, pPage uintptr) { /* sqlite3.c:68429:13: */ Xsqlite3PagerUnrefPageOne(tls, (*MemPage)(unsafe.Pointer(pPage)).FpDbPage) } @@ -90638,13 +90646,13 @@ func releasePageOne(tls *libc.TLS, pPage uintptr) { /* sqlite3.c:68419:13: */ // * If the page is already in use for some other purpose, immediately // release it and return an SQLITE_CURRUPT error. // * Make sure the isInit flag is clear -func btreeGetUnusedPage(tls *libc.TLS, pBt uintptr, pgno Pgno, ppPage uintptr, flags int32) int32 { /* sqlite3.c:68439:12: */ +func btreeGetUnusedPage(tls *libc.TLS, pBt uintptr, pgno Pgno, ppPage uintptr, flags int32) int32 { /* sqlite3.c:68449:12: */ var rc int32 = btreeGetPage(tls, pBt, pgno, ppPage, flags) if rc == SQLITE_OK { if Xsqlite3PagerPageRefcount(tls, (*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(ppPage)))).FpDbPage) > 1 { releasePage(tls, *(*uintptr)(unsafe.Pointer(ppPage))) *(*uintptr)(unsafe.Pointer(ppPage)) = uintptr(0) - return Xsqlite3CorruptError(tls, 68450) + return Xsqlite3CorruptError(tls, 68460) } (*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(ppPage)))).FisInit = U8(0) } else { @@ -90659,7 +90667,7 @@ func btreeGetUnusedPage(tls *libc.TLS, pBt uintptr, pgno Pgno, ppPage uintptr, f // // This routine needs to reset the extra data section at the end of the // page to agree with the restored data. -func pageReinit(tls *libc.TLS, pData uintptr) { /* sqlite3.c:68468:13: */ +func pageReinit(tls *libc.TLS, pData uintptr) { /* sqlite3.c:68478:13: */ var pPage uintptr pPage = Xsqlite3PagerGetExtra(tls, pData) @@ -90679,7 +90687,7 @@ func pageReinit(tls *libc.TLS, pData uintptr) { /* sqlite3.c:68468:13: */ } // Invoke the busy handler for a btree. -func btreeInvokeBusyHandler(tls *libc.TLS, pArg uintptr) int32 { /* sqlite3.c:68490:12: */ +func btreeInvokeBusyHandler(tls *libc.TLS, pArg uintptr) int32 { /* sqlite3.c:68500:12: */ var pBt uintptr = pArg return Xsqlite3InvokeBusyHandler(tls, (*BtShared)(unsafe.Pointer(pBt)).Fdb+664) @@ -90704,7 +90712,7 @@ func btreeInvokeBusyHandler(tls *libc.TLS, pArg uintptr) int32 { /* sqlite3.c:68 // SQLITE_CONSTRAINT error. We cannot allow two or more BtShared // objects in the same database connection since doing so will lead // to problems with locking. -func Xsqlite3BtreeOpen(tls *libc.TLS, pVfs uintptr, zFilename uintptr, db uintptr, ppBtree uintptr, flags int32, vfsFlags int32) int32 { /* sqlite3.c:68518:20: */ +func Xsqlite3BtreeOpen(tls *libc.TLS, pVfs uintptr, zFilename uintptr, db uintptr, ppBtree uintptr, flags int32, vfsFlags int32) int32 { /* sqlite3.c:68528:20: */ bp := tls.Alloc(100) defer tls.Free(100) @@ -91125,7 +91133,7 @@ __49: // remove the BtShared structure from the sharing list. Return // true if the BtShared.nRef counter reaches zero and return // false if it is still positive. -func removeFromSharingList(tls *libc.TLS, pBt uintptr) int32 { /* sqlite3.c:68816:12: */ +func removeFromSharingList(tls *libc.TLS, pBt uintptr) int32 { /* sqlite3.c:68826:12: */ var pMainMtx uintptr var pList uintptr var removed int32 = 0 @@ -91157,7 +91165,7 @@ func removeFromSharingList(tls *libc.TLS, pBt uintptr) int32 { /* sqlite3.c:6881 // Make sure pBt->pTmpSpace points to an allocation of // MX_CELL_SIZE(pBt) bytes with a 4-byte prefix for a left-child // pointer. -func allocateTempSpace(tls *libc.TLS, pBt uintptr) int32 { /* sqlite3.c:68855:28: */ +func allocateTempSpace(tls *libc.TLS, pBt uintptr) int32 { /* sqlite3.c:68865:28: */ // This routine is called only by btreeCursor() when allocating the // first write cursor for the BtShared object @@ -91190,7 +91198,7 @@ func allocateTempSpace(tls *libc.TLS, pBt uintptr) int32 { /* sqlite3.c:68855:28 } // Free the pBt->pTmpSpace allocation -func freeTempSpace(tls *libc.TLS, pBt uintptr) { /* sqlite3.c:68892:13: */ +func freeTempSpace(tls *libc.TLS, pBt uintptr) { /* sqlite3.c:68902:13: */ if (*BtShared)(unsafe.Pointer(pBt)).FpTmpSpace != 0 { *(*uintptr)(unsafe.Pointer(pBt + 136)) -= uintptr(4) Xsqlite3PageFree(tls, (*BtShared)(unsafe.Pointer(pBt)).FpTmpSpace) @@ -91199,7 +91207,7 @@ func freeTempSpace(tls *libc.TLS, pBt uintptr) { /* sqlite3.c:68892:13: */ } // Close an open database and invalidate all cursors. -func Xsqlite3BtreeClose(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:68903:20: */ +func Xsqlite3BtreeClose(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:68913:20: */ var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt // Close all cursors opened via this handle. @@ -91249,7 +91257,7 @@ func Xsqlite3BtreeClose(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:68903:20: // pages in the cache exceeds this soft limit. But the size of the // cache is allowed to grow larger than this limit if it contains // dirty pages or pages still in active use. -func Xsqlite3BtreeSetCacheSize(tls *libc.TLS, p uintptr, mxPage int32) int32 { /* sqlite3.c:68969:20: */ +func Xsqlite3BtreeSetCacheSize(tls *libc.TLS, p uintptr, mxPage int32) int32 { /* sqlite3.c:68979:20: */ var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt Xsqlite3BtreeEnter(tls, p) @@ -91266,7 +91274,7 @@ func Xsqlite3BtreeSetCacheSize(tls *libc.TLS, p uintptr, mxPage int32) int32 { / // The value returned is the current spill size. If zero is passed // as an argument, no changes are made to the spill size setting, so // using mxPage of 0 is a way to query the current spill size. -func Xsqlite3BtreeSetSpillSize(tls *libc.TLS, p uintptr, mxPage int32) int32 { /* sqlite3.c:68988:20: */ +func Xsqlite3BtreeSetSpillSize(tls *libc.TLS, p uintptr, mxPage int32) int32 { /* sqlite3.c:68998:20: */ var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt var res int32 @@ -91278,7 +91286,7 @@ func Xsqlite3BtreeSetSpillSize(tls *libc.TLS, p uintptr, mxPage int32) int32 { / // Change the limit on the amount of the database file that may be // memory mapped. -func Xsqlite3BtreeSetMmapLimit(tls *libc.TLS, p uintptr, szMmap Sqlite3_int64) int32 { /* sqlite3.c:69003:20: */ +func Xsqlite3BtreeSetMmapLimit(tls *libc.TLS, p uintptr, szMmap Sqlite3_int64) int32 { /* sqlite3.c:69013:20: */ var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt Xsqlite3BtreeEnter(tls, p) @@ -91293,7 +91301,7 @@ func Xsqlite3BtreeSetMmapLimit(tls *libc.TLS, p uintptr, szMmap Sqlite3_int64) i // there is a high probability of damage) Level 2 is the default. There // is a very low but non-zero probability of damage. Level 3 reduces the // probability of damage to near zero but with a write performance reduction. -func Xsqlite3BtreeSetPagerFlags(tls *libc.TLS, p uintptr, pgFlags uint32) int32 { /* sqlite3.c:69022:20: */ +func Xsqlite3BtreeSetPagerFlags(tls *libc.TLS, p uintptr, pgFlags uint32) int32 { /* sqlite3.c:69032:20: */ var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt Xsqlite3BtreeEnter(tls, p) @@ -91320,7 +91328,7 @@ func Xsqlite3BtreeSetPagerFlags(tls *libc.TLS, p uintptr, pgFlags uint32) int32 // // If the iFix!=0 then the BTS_PAGESIZE_FIXED flag is set so that the page size // and autovacuum mode can no longer be changed. -func Xsqlite3BtreeSetPageSize(tls *libc.TLS, p uintptr, pageSize int32, nReserve int32, iFix int32) int32 { /* sqlite3.c:69055:20: */ +func Xsqlite3BtreeSetPageSize(tls *libc.TLS, p uintptr, pageSize int32, nReserve int32, iFix int32) int32 { /* sqlite3.c:69065:20: */ var rc int32 = SQLITE_OK var x int32 var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt @@ -91354,7 +91362,7 @@ func Xsqlite3BtreeSetPageSize(tls *libc.TLS, p uintptr, pageSize int32, nReserve } // Return the currently defined page size -func Xsqlite3BtreeGetPageSize(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:69087:20: */ +func Xsqlite3BtreeGetPageSize(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:69097:20: */ return int32((*BtShared)(unsafe.Pointer((*Btree)(unsafe.Pointer(p)).FpBt)).FpageSize) } @@ -91367,7 +91375,7 @@ func Xsqlite3BtreeGetPageSize(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:690 // database handle that owns *p is not. In this case if sqlite3BtreeEnter() // were to be called, it might collide with some other operation on the // database handle that owns *p, causing undefined behavior. -func Xsqlite3BtreeGetReserveNoMutex(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:69102:20: */ +func Xsqlite3BtreeGetReserveNoMutex(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:69112:20: */ var n int32 n = int32((*BtShared)(unsafe.Pointer((*Btree)(unsafe.Pointer(p)).FpBt)).FpageSize - (*BtShared)(unsafe.Pointer((*Btree)(unsafe.Pointer(p)).FpBt)).FusableSize) @@ -91381,7 +91389,7 @@ func Xsqlite3BtreeGetReserveNoMutex(tls *libc.TLS, p uintptr) int32 { /* sqlite3 // The value returned is the larger of the current reserve size and // the latest reserve size requested by SQLITE_FILECTRL_RESERVE_BYTES. // The amount of reserve can only grow - never shrink. -func Xsqlite3BtreeGetRequestedReserve(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:69118:20: */ +func Xsqlite3BtreeGetRequestedReserve(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:69128:20: */ var n1 int32 var n2 int32 Xsqlite3BtreeEnter(tls, p) @@ -91397,7 +91405,7 @@ func Xsqlite3BtreeGetRequestedReserve(tls *libc.TLS, p uintptr) int32 { /* sqlit // Set the maximum page count for a database if mxPage is positive. // No changes are made if mxPage is 0 or negative. // Regardless of the value of mxPage, return the maximum page count. -func Xsqlite3BtreeMaxPageCount(tls *libc.TLS, p uintptr, mxPage Pgno) Pgno { /* sqlite3.c:69133:21: */ +func Xsqlite3BtreeMaxPageCount(tls *libc.TLS, p uintptr, mxPage Pgno) Pgno { /* sqlite3.c:69143:21: */ var n Pgno Xsqlite3BtreeEnter(tls, p) n = Xsqlite3PagerMaxPageCount(tls, (*BtShared)(unsafe.Pointer((*Btree)(unsafe.Pointer(p)).FpBt)).FpPager, mxPage) @@ -91421,7 +91429,7 @@ func Xsqlite3BtreeMaxPageCount(tls *libc.TLS, p uintptr, mxPage Pgno) Pgno { /* // With BTS_SECURE_DELETE, operation is like BTS_OVERWRITE with the addition // that freelist leaf pages are written back into the database, increasing // the amount of disk I/O. -func Xsqlite3BtreeSecureDelete(tls *libc.TLS, p uintptr, newFlag int32) int32 { /* sqlite3.c:69159:20: */ +func Xsqlite3BtreeSecureDelete(tls *libc.TLS, p uintptr, newFlag int32) int32 { /* sqlite3.c:69169:20: */ var b int32 if p == uintptr(0) { return 0 @@ -91441,7 +91449,7 @@ func Xsqlite3BtreeSecureDelete(tls *libc.TLS, p uintptr, newFlag int32) int32 { // parameter is non-zero, then auto-vacuum mode is enabled. If zero, it // is disabled. The default value for the auto-vacuum property is // determined by the SQLITE_DEFAULT_AUTOVACUUM macro. -func Xsqlite3BtreeSetAutoVacuum(tls *libc.TLS, p uintptr, autoVacuum int32) int32 { /* sqlite3.c:69180:20: */ +func Xsqlite3BtreeSetAutoVacuum(tls *libc.TLS, p uintptr, autoVacuum int32) int32 { /* sqlite3.c:69190:20: */ var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt var rc int32 = SQLITE_OK var av U8 = U8(autoVacuum) @@ -91474,7 +91482,7 @@ func Xsqlite3BtreeSetAutoVacuum(tls *libc.TLS, p uintptr, autoVacuum int32) int3 // Return the value of the 'auto-vacuum' property. If auto-vacuum is // enabled 1 is returned. Otherwise 0. -func Xsqlite3BtreeGetAutoVacuum(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:69204:20: */ +func Xsqlite3BtreeGetAutoVacuum(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:69214:20: */ var rc int32 Xsqlite3BtreeEnter(tls, p) rc = func() int32 { @@ -91499,7 +91507,7 @@ func Xsqlite3BtreeGetAutoVacuum(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:6 // well-formed database file, then SQLITE_CORRUPT is returned. // SQLITE_BUSY is returned if the database is locked. SQLITE_NOMEM // is returned if we run out of memory. -func lockBtree(tls *libc.TLS, pBt uintptr) int32 { /* sqlite3.c:69260:12: */ +func lockBtree(tls *libc.TLS, pBt uintptr) int32 { /* sqlite3.c:69270:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -91668,7 +91676,7 @@ __16: if !(Xsqlite3WritableSchema(tls, (*BtShared)(unsafe.Pointer(pBt)).Fdb) == 0) { goto __18 } - rc = Xsqlite3CorruptError(tls, 69385) + rc = Xsqlite3CorruptError(tls, 69395) goto page1_init_failed goto __19 __18: @@ -91745,7 +91753,7 @@ page1_init_failed: // has the effect of releasing the read lock. // // If there is a transaction in progress, this routine is a no-op. -func unlockBtreeIfUnused(tls *libc.TLS, pBt uintptr) { /* sqlite3.c:69470:13: */ +func unlockBtreeIfUnused(tls *libc.TLS, pBt uintptr) { /* sqlite3.c:69480:13: */ if int32((*BtShared)(unsafe.Pointer(pBt)).FinTransaction) == TRANS_NONE && (*BtShared)(unsafe.Pointer(pBt)).FpPage1 != uintptr(0) { var pPage1 uintptr = (*BtShared)(unsafe.Pointer(pBt)).FpPage1 @@ -91758,7 +91766,7 @@ func unlockBtreeIfUnused(tls *libc.TLS, pBt uintptr) { /* sqlite3.c:69470:13: */ // If pBt points to an empty file then convert that empty file // into a new empty database by initializing the first page of // the database. -func newDatabase(tls *libc.TLS, pBt uintptr) int32 { /* sqlite3.c:69487:12: */ +func newDatabase(tls *libc.TLS, pBt uintptr) int32 { /* sqlite3.c:69497:12: */ var pP1 uintptr var data uintptr var rc int32 @@ -91798,7 +91806,7 @@ func newDatabase(tls *libc.TLS, pBt uintptr) int32 { /* sqlite3.c:69487:12: */ // Initialize the first page of the database file (creating a database // consisting of a single page and no schema objects). Return SQLITE_OK // if successful, or an SQLite error code otherwise. -func Xsqlite3BtreeNewDb(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:69531:20: */ +func Xsqlite3BtreeNewDb(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:69541:20: */ var rc int32 Xsqlite3BtreeEnter(tls, p) (*BtShared)(unsafe.Pointer((*Btree)(unsafe.Pointer(p)).FpBt)).FnPage = U32(0) @@ -91840,7 +91848,7 @@ func Xsqlite3BtreeNewDb(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:69531:20: // no progress. By returning SQLITE_BUSY and not invoking the busy callback // when A already has a read lock, we encourage A to give up and let B // proceed. -func Xsqlite3BtreeBeginTrans(tls *libc.TLS, p uintptr, wrflag int32, pSchemaVersion uintptr) int32 { /* sqlite3.c:69575:20: */ +func Xsqlite3BtreeBeginTrans(tls *libc.TLS, p uintptr, wrflag int32, pSchemaVersion uintptr) int32 { /* sqlite3.c:69585:20: */ var pBt uintptr var pPager uintptr var rc int32 @@ -92104,7 +92112,7 @@ __34: // Set the pointer-map entries for all children of page pPage. Also, if // pPage contains cells that point to overflow pages, set the pointer // map entries for the overflow pages as well. -func setChildPtrmaps(tls *libc.TLS, pPage uintptr) int32 { /* sqlite3.c:69755:12: */ +func setChildPtrmaps(tls *libc.TLS, pPage uintptr) int32 { /* sqlite3.c:69765:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -92156,14 +92164,14 @@ func setChildPtrmaps(tls *libc.TLS, pPage uintptr) int32 { /* sqlite3.c:69755:12 // // PTRMAP_OVERFLOW2: pPage is an overflow-page. The pointer points at the next // overflow page in the list. -func modifyPagePointer(tls *libc.TLS, pPage uintptr, iFrom Pgno, iTo Pgno, eType U8) int32 { /* sqlite3.c:69800:12: */ +func modifyPagePointer(tls *libc.TLS, pPage uintptr, iFrom Pgno, iTo Pgno, eType U8) int32 { /* sqlite3.c:69810:12: */ bp := tls.Alloc(24) defer tls.Free(24) if int32(eType) == PTRMAP_OVERFLOW2 { // The pointer is always the first 4 bytes of the page in this case. if Xsqlite3Get4byte(tls, (*MemPage)(unsafe.Pointer(pPage)).FaData) != iFrom { - return Xsqlite3CorruptError(tls, 69806) + return Xsqlite3CorruptError(tls, 69816) } Xsqlite3Put4byte(tls, (*MemPage)(unsafe.Pointer(pPage)).FaData, iTo) } else { @@ -92191,7 +92199,7 @@ func modifyPagePointer(tls *libc.TLS, pPage uintptr, iFrom Pgno, iTo Pgno, eType })(unsafe.Pointer(&struct{ uintptr }{(*MemPage)(unsafe.Pointer(pPage)).FxParseCell})).f(tls, pPage, pCell, bp /* &info */) if U32((*CellInfo)(unsafe.Pointer(bp)).FnLocal) < (*CellInfo)(unsafe.Pointer(bp)).FnPayload { if pCell+uintptr((*CellInfo)(unsafe.Pointer(bp)).FnSize) > (*MemPage)(unsafe.Pointer(pPage)).FaData+uintptr((*BtShared)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize) { - return Xsqlite3CorruptError(tls, 69825) + return Xsqlite3CorruptError(tls, 69835) } if iFrom == Xsqlite3Get4byte(tls, pCell+uintptr((*CellInfo)(unsafe.Pointer(bp)).FnSize)-uintptr(4)) { Xsqlite3Put4byte(tls, pCell+uintptr((*CellInfo)(unsafe.Pointer(bp)).FnSize)-uintptr(4), iTo) @@ -92208,7 +92216,7 @@ func modifyPagePointer(tls *libc.TLS, pPage uintptr, iFrom Pgno, iTo Pgno, eType if i == nCell { if int32(eType) != PTRMAP_BTREE || Xsqlite3Get4byte(tls, (*MemPage)(unsafe.Pointer(pPage)).FaData+uintptr(int32((*MemPage)(unsafe.Pointer(pPage)).FhdrOffset)+8)) != iFrom { - return Xsqlite3CorruptError(tls, 69843) + return Xsqlite3CorruptError(tls, 69853) } Xsqlite3Put4byte(tls, (*MemPage)(unsafe.Pointer(pPage)).FaData+uintptr(int32((*MemPage)(unsafe.Pointer(pPage)).FhdrOffset)+8), iTo) } @@ -92223,7 +92231,7 @@ func modifyPagePointer(tls *libc.TLS, pPage uintptr, iFrom Pgno, iTo Pgno, eType // the journal needs to be sync()ed before database page pDbPage->pgno // can be written to. The caller has already promised not to write to that // page. -func relocatePage(tls *libc.TLS, pBt uintptr, pDbPage uintptr, eType U8, iPtrPage Pgno, iFreePage Pgno, isCommit int32) int32 { /* sqlite3.c:69861:12: */ +func relocatePage(tls *libc.TLS, pBt uintptr, pDbPage uintptr, eType U8, iPtrPage Pgno, iFreePage Pgno, isCommit int32) int32 { /* sqlite3.c:69871:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -92234,7 +92242,7 @@ func relocatePage(tls *libc.TLS, pBt uintptr, pDbPage uintptr, eType U8, iPtrPag // var rc int32 at bp, 4 if iDbPage < Pgno(3) { - return Xsqlite3CorruptError(tls, 69878) + return Xsqlite3CorruptError(tls, 69888) } // Move page iDbPage from its current location to page number iFreePage @@ -92304,7 +92312,7 @@ func relocatePage(tls *libc.TLS, pBt uintptr, pDbPage uintptr, eType U8, iPtrPag // caller will keep calling incrVacuumStep() until it returns SQLITE_DONE // or an error. bCommit is passed true for an auto-vacuum-on-commit // operation, or false for an incremental vacuum. -func incrVacuumStep(tls *libc.TLS, pBt uintptr, nFin Pgno, iLastPg Pgno, bCommit int32) int32 { /* sqlite3.c:69955:12: */ +func incrVacuumStep(tls *libc.TLS, pBt uintptr, nFin Pgno, iLastPg Pgno, bCommit int32) int32 { /* sqlite3.c:69965:12: */ bp := tls.Alloc(44) defer tls.Free(44) @@ -92326,7 +92334,7 @@ func incrVacuumStep(tls *libc.TLS, pBt uintptr, nFin Pgno, iLastPg Pgno, bCommit return rc } if int32(*(*U8)(unsafe.Pointer(bp))) == PTRMAP_ROOTPAGE { - return Xsqlite3CorruptError(tls, 69976) + return Xsqlite3CorruptError(tls, 69986) } if int32(*(*U8)(unsafe.Pointer(bp))) == PTRMAP_FREEPAGE { @@ -92401,7 +92409,7 @@ func incrVacuumStep(tls *libc.TLS, pBt uintptr, nFin Pgno, iLastPg Pgno, bCommit // The database opened by the first argument is an auto-vacuum database // nOrig pages in size containing nFree free pages. Return the expected // size of the database in pages following an auto-vacuum operation. -func finalDbSize(tls *libc.TLS, pBt uintptr, nOrig Pgno, nFree Pgno) Pgno { /* sqlite3.c:70051:13: */ +func finalDbSize(tls *libc.TLS, pBt uintptr, nOrig Pgno, nFree Pgno) Pgno { /* sqlite3.c:70061:13: */ var nEntry int32 // Number of entries on one ptrmap page var nPtrmap Pgno // Number of PtrMap pages to be freed var nFin Pgno // Return value @@ -92425,7 +92433,7 @@ func finalDbSize(tls *libc.TLS, pBt uintptr, nOrig Pgno, nFree Pgno) Pgno { /* s // If the incremental vacuum is finished after this function has run, // SQLITE_DONE is returned. If it is not finished, but no error occurred, // SQLITE_OK is returned. Otherwise an SQLite error code. -func Xsqlite3BtreeIncrVacuum(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:70077:20: */ +func Xsqlite3BtreeIncrVacuum(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:70087:20: */ var rc int32 var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt @@ -92439,7 +92447,7 @@ func Xsqlite3BtreeIncrVacuum(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:7007 var nFin Pgno = finalDbSize(tls, pBt, nOrig, nFree) if nOrig < nFin || nFree >= nOrig { - rc = Xsqlite3CorruptError(tls, 70091) + rc = Xsqlite3CorruptError(tls, 70101) } else if nFree > Pgno(0) { rc = saveAllCursors(tls, pBt, uint32(0), uintptr(0)) if rc == SQLITE_OK { @@ -92460,7 +92468,7 @@ func Xsqlite3BtreeIncrVacuum(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:7007 // This routine is called prior to sqlite3PagerCommit when a transaction // is committed for an auto-vacuum database. -func autoVacuumCommit(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:70114:12: */ +func autoVacuumCommit(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:70124:12: */ var rc int32 = SQLITE_OK var pPager uintptr var pBt uintptr @@ -92483,7 +92491,7 @@ func autoVacuumCommit(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:70114:12: * // It is not possible to create a database for which the final page // is either a pointer-map page or the pending-byte page. If one // is encountered, this indicates corruption. - return Xsqlite3CorruptError(tls, 70142) + return Xsqlite3CorruptError(tls, 70152) } nFree = Xsqlite3Get4byte(tls, (*MemPage)(unsafe.Pointer((*BtShared)(unsafe.Pointer(pBt)).FpPage1)).FaData+36) @@ -92514,7 +92522,7 @@ func autoVacuumCommit(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:70114:12: * } nFin = finalDbSize(tls, pBt, nOrig, nVac) if nFin > nOrig { - return Xsqlite3CorruptError(tls, 70169) + return Xsqlite3CorruptError(tls, 70179) } if nFin < nOrig { rc = saveAllCursors(tls, pBt, uint32(0), uintptr(0)) @@ -92564,7 +92572,7 @@ func autoVacuumCommit(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:70114:12: * // // Once this is routine has returned, the only thing required to commit // the write-transaction for this database file is to delete the journal. -func Xsqlite3BtreeCommitPhaseOne(tls *libc.TLS, p uintptr, zSuperJrnl uintptr) int32 { /* sqlite3.c:70225:20: */ +func Xsqlite3BtreeCommitPhaseOne(tls *libc.TLS, p uintptr, zSuperJrnl uintptr) int32 { /* sqlite3.c:70235:20: */ var rc int32 = SQLITE_OK if int32((*Btree)(unsafe.Pointer(p)).FinTrans) == TRANS_WRITE { var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt @@ -92587,7 +92595,7 @@ func Xsqlite3BtreeCommitPhaseOne(tls *libc.TLS, p uintptr, zSuperJrnl uintptr) i // This function is called from both BtreeCommitPhaseTwo() and BtreeRollback() // at the conclusion of a transaction. -func btreeEndTransaction(tls *libc.TLS, p uintptr) { /* sqlite3.c:70252:13: */ +func btreeEndTransaction(tls *libc.TLS, p uintptr) { /* sqlite3.c:70262:13: */ var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt var db uintptr = (*Btree)(unsafe.Pointer(p)).Fdb @@ -92643,7 +92651,7 @@ func btreeEndTransaction(tls *libc.TLS, p uintptr) { /* sqlite3.c:70252:13: */ // // This will release the write lock on the database file. If there // are no active cursors, it also releases the read lock. -func Xsqlite3BtreeCommitPhaseTwo(tls *libc.TLS, p uintptr, bCleanup int32) int32 { /* sqlite3.c:70314:20: */ +func Xsqlite3BtreeCommitPhaseTwo(tls *libc.TLS, p uintptr, bCleanup int32) int32 { /* sqlite3.c:70324:20: */ if int32((*Btree)(unsafe.Pointer(p)).FinTrans) == TRANS_NONE { return SQLITE_OK @@ -92672,7 +92680,7 @@ func Xsqlite3BtreeCommitPhaseTwo(tls *libc.TLS, p uintptr, bCleanup int32) int32 } // Do both phases of a commit. -func Xsqlite3BtreeCommit(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:70346:20: */ +func Xsqlite3BtreeCommit(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:70356:20: */ var rc int32 Xsqlite3BtreeEnter(tls, p) rc = Xsqlite3BtreeCommitPhaseOne(tls, p, uintptr(0)) @@ -92707,7 +92715,7 @@ func Xsqlite3BtreeCommit(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:70346:20 // // SQLITE_OK is returned if successful, or if an error occurs while // saving a cursor position, an SQLite error code. -func Xsqlite3BtreeTripAllCursors(tls *libc.TLS, pBtree uintptr, errCode int32, writeOnly int32) int32 { /* sqlite3.c:70383:20: */ +func Xsqlite3BtreeTripAllCursors(tls *libc.TLS, pBtree uintptr, errCode int32, writeOnly int32) int32 { /* sqlite3.c:70393:20: */ var p uintptr var rc int32 = SQLITE_OK @@ -92736,7 +92744,7 @@ func Xsqlite3BtreeTripAllCursors(tls *libc.TLS, pBtree uintptr, errCode int32, w // Set the pBt->nPage field correctly, according to the current // state of the database. Assume pBt->pPage1 is valid. -func btreeSetNPage(tls *libc.TLS, pBt uintptr, pPage1 uintptr) { /* sqlite3.c:70415:13: */ +func btreeSetNPage(tls *libc.TLS, pBt uintptr, pPage1 uintptr) { /* sqlite3.c:70425:13: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -92758,7 +92766,7 @@ func btreeSetNPage(tls *libc.TLS, pBt uintptr, pPage1 uintptr) { /* sqlite3.c:70 // // This will release the write lock on the database file. If there // are no active cursors, it also releases the read lock. -func Xsqlite3BtreeRollback(tls *libc.TLS, p uintptr, tripCode int32, writeOnly int32) int32 { /* sqlite3.c:70434:20: */ +func Xsqlite3BtreeRollback(tls *libc.TLS, p uintptr, tripCode int32, writeOnly int32) int32 { /* sqlite3.c:70444:20: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -92824,7 +92832,7 @@ func Xsqlite3BtreeRollback(tls *libc.TLS, p uintptr, tripCode int32, writeOnly i // are no active savepoints and no other statement-transactions open, // iStatement is 1. This anonymous savepoint can be released or rolled back // using the sqlite3BtreeSavepoint() function. -func Xsqlite3BtreeBeginStmt(tls *libc.TLS, p uintptr, iStatement int32) int32 { /* sqlite3.c:70499:20: */ +func Xsqlite3BtreeBeginStmt(tls *libc.TLS, p uintptr, iStatement int32) int32 { /* sqlite3.c:70509:20: */ var rc int32 var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt Xsqlite3BtreeEnter(tls, p) @@ -92848,7 +92856,7 @@ func Xsqlite3BtreeBeginStmt(tls *libc.TLS, p uintptr, iStatement int32) int32 { // contents of the entire transaction are rolled back. This is different // from a normal transaction rollback, as no locks are released and the // transaction remains open. -func Xsqlite3BtreeSavepoint(tls *libc.TLS, p uintptr, op int32, iSavepoint int32) int32 { /* sqlite3.c:70530:20: */ +func Xsqlite3BtreeSavepoint(tls *libc.TLS, p uintptr, op int32, iSavepoint int32) int32 { /* sqlite3.c:70540:20: */ var rc int32 = SQLITE_OK if p != 0 && int32((*Btree)(unsafe.Pointer(p)).FinTrans) == TRANS_WRITE { var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt @@ -92916,7 +92924,7 @@ func Xsqlite3BtreeSavepoint(tls *libc.TLS, p uintptr, op int32, iSavepoint int32 // // It is assumed that the sqlite3BtreeCursorZero() has been called // on pCur to initialize the memory space prior to invoking this routine. -func btreeCursor(tls *libc.TLS, p uintptr, iTable Pgno, wrFlag int32, pKeyInfo uintptr, pCur uintptr) int32 { /* sqlite3.c:70601:12: */ +func btreeCursor(tls *libc.TLS, p uintptr, iTable Pgno, wrFlag int32, pKeyInfo uintptr, pCur uintptr) int32 { /* sqlite3.c:70611:12: */ var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt // Shared b-tree handle var pX uintptr // Looping over other all cursors @@ -92929,7 +92937,7 @@ func btreeCursor(tls *libc.TLS, p uintptr, iTable Pgno, wrFlag int32, pKeyInfo u if iTable <= Pgno(1) { if iTable < Pgno(1) { - return Xsqlite3CorruptError(tls, 70633) + return Xsqlite3CorruptError(tls, 70643) } else if btreePagecount(tls, pBt) == Pgno(0) { iTable = Pgno(0) @@ -92967,7 +92975,7 @@ func btreeCursor(tls *libc.TLS, p uintptr, iTable Pgno, wrFlag int32, pKeyInfo u return SQLITE_OK } -func btreeCursorWithLock(tls *libc.TLS, p uintptr, iTable Pgno, wrFlag int32, pKeyInfo uintptr, pCur uintptr) int32 { /* sqlite3.c:70668:12: */ +func btreeCursorWithLock(tls *libc.TLS, p uintptr, iTable Pgno, wrFlag int32, pKeyInfo uintptr, pCur uintptr) int32 { /* sqlite3.c:70678:12: */ var rc int32 Xsqlite3BtreeEnter(tls, p) rc = btreeCursor(tls, p, iTable, wrFlag, pKeyInfo, pCur) @@ -92975,7 +92983,7 @@ func btreeCursorWithLock(tls *libc.TLS, p uintptr, iTable Pgno, wrFlag int32, pK return rc } -func Xsqlite3BtreeCursor(tls *libc.TLS, p uintptr, iTable Pgno, wrFlag int32, pKeyInfo uintptr, pCur uintptr) int32 { /* sqlite3.c:70681:20: */ +func Xsqlite3BtreeCursor(tls *libc.TLS, p uintptr, iTable Pgno, wrFlag int32, pKeyInfo uintptr, pCur uintptr) int32 { /* sqlite3.c:70691:20: */ if (*Btree)(unsafe.Pointer(p)).Fsharable != 0 { return btreeCursorWithLock(tls, p, iTable, wrFlag, pKeyInfo, pCur) } else { @@ -92990,7 +92998,7 @@ func Xsqlite3BtreeCursor(tls *libc.TLS, p uintptr, iTable Pgno, wrFlag int32, pK // sufficient storage to hold a cursor. The BtCursor object is opaque // to users so they cannot do the sizeof() themselves - they must call // this routine. -func Xsqlite3BtreeCursorSize(tls *libc.TLS) int32 { /* sqlite3.c:70703:20: */ +func Xsqlite3BtreeCursorSize(tls *libc.TLS) int32 { /* sqlite3.c:70713:20: */ return int32((uint64(unsafe.Sizeof(BtCursor{})) + uint64(7)) & libc.Uint64FromInt32(libc.CplInt32(7))) } @@ -93000,13 +93008,13 @@ func Xsqlite3BtreeCursorSize(tls *libc.TLS) int32 { /* sqlite3.c:70703:20: */ // to zero. But it turns out that the apPage[] and aiIdx[] arrays // do not need to be zeroed and they are large, so we can save a lot // of run-time by skipping the initialization of those elements. -func Xsqlite3BtreeCursorZero(tls *libc.TLS, p uintptr) { /* sqlite3.c:70715:21: */ +func Xsqlite3BtreeCursorZero(tls *libc.TLS, p uintptr) { /* sqlite3.c:70725:21: */ libc.Xmemset(tls, p, 0, uint64(uintptr(0)+32)) } // Close a cursor. The read lock on the database file is released // when the last cursor is closed. -func Xsqlite3BtreeCloseCursor(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:70723:20: */ +func Xsqlite3BtreeCloseCursor(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:70733:20: */ var pBtree uintptr = (*BtCursor)(unsafe.Pointer(pCur)).FpBtree if pBtree != 0 { var pBt uintptr = (*BtCursor)(unsafe.Pointer(pCur)).FpBt @@ -93047,7 +93055,7 @@ func Xsqlite3BtreeCloseCursor(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c: // // BtCursor.info is a cache of the information in the current cell. // Using this cache reduces the number of calls to btreeParseCell(). -func getCellInfo(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:70784:29: */ +func getCellInfo(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:70794:29: */ if int32((*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnSize) == 0 { *(*U8)(unsafe.Pointer(pCur + 1)) |= U8(BTCF_ValidNKey) btreeParseCell(tls, (*BtCursor)(unsafe.Pointer(pCur)).FpPage, int32((*BtCursor)(unsafe.Pointer(pCur)).Fix), pCur+48) @@ -93056,7 +93064,7 @@ func getCellInfo(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:70784:29: */ } } -func Xsqlite3BtreeCursorIsValidNN(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:70803:20: */ +func Xsqlite3BtreeCursorIsValidNN(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:70813:20: */ return libc.Bool32(int32((*BtCursor)(unsafe.Pointer(pCur)).FeState) == CURSOR_VALID) } @@ -93065,26 +93073,26 @@ func Xsqlite3BtreeCursorIsValidNN(tls *libc.TLS, pCur uintptr) int32 { /* sqlite // This routine is only valid for a cursor that is pointing into a // ordinary table btree. If the cursor points to an index btree or // is invalid, the result of this routine is undefined. -func Xsqlite3BtreeIntegerKey(tls *libc.TLS, pCur uintptr) I64 { /* sqlite3.c:70814:20: */ +func Xsqlite3BtreeIntegerKey(tls *libc.TLS, pCur uintptr) I64 { /* sqlite3.c:70824:20: */ getCellInfo(tls, pCur) return (*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnKey } // Pin or unpin a cursor. -func Xsqlite3BtreeCursorPin(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:70825:21: */ +func Xsqlite3BtreeCursorPin(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:70835:21: */ *(*U8)(unsafe.Pointer(pCur + 1)) |= U8(BTCF_Pinned) } -func Xsqlite3BtreeCursorUnpin(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:70829:21: */ +func Xsqlite3BtreeCursorUnpin(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:70839:21: */ *(*U8)(unsafe.Pointer(pCur + 1)) &= libc.Uint8FromInt32(libc.CplInt32(BTCF_Pinned)) } // Return the offset into the database file for the start of the // payload to which the cursor is pointing. -func Xsqlite3BtreeOffset(tls *libc.TLS, pCur uintptr) I64 { /* sqlite3.c:70839:20: */ +func Xsqlite3BtreeOffset(tls *libc.TLS, pCur uintptr) I64 { /* sqlite3.c:70849:20: */ getCellInfo(tls, pCur) return I64((*BtShared)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pCur)).FpBt)).FpageSize)*(I64((*MemPage)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pCur)).FpPage)).Fpgno)-int64(1)) + (int64((*BtCursor)(unsafe.Pointer(pCur)).Finfo.FpPayload)-int64((*MemPage)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pCur)).FpPage)).FaData))/1 @@ -93097,7 +93105,7 @@ func Xsqlite3BtreeOffset(tls *libc.TLS, pCur uintptr) I64 { /* sqlite3.c:70839:2 // The caller must guarantee that the cursor is pointing to a non-NULL // valid entry. In other words, the calling procedure must guarantee // that the cursor has Cursor.eState==CURSOR_VALID. -func Xsqlite3BtreePayloadSize(tls *libc.TLS, pCur uintptr) U32 { /* sqlite3.c:70857:20: */ +func Xsqlite3BtreePayloadSize(tls *libc.TLS, pCur uintptr) U32 { /* sqlite3.c:70867:20: */ getCellInfo(tls, pCur) return (*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnPayload @@ -93114,7 +93122,7 @@ func Xsqlite3BtreePayloadSize(tls *libc.TLS, pCur uintptr) U32 { /* sqlite3.c:70 // // The current implementation merely returns the size of the underlying // database file. -func Xsqlite3BtreeMaxRecordSize(tls *libc.TLS, pCur uintptr) Sqlite3_int64 { /* sqlite3.c:70877:30: */ +func Xsqlite3BtreeMaxRecordSize(tls *libc.TLS, pCur uintptr) Sqlite3_int64 { /* sqlite3.c:70887:30: */ return Sqlite3_int64((*BtShared)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pCur)).FpBt)).FpageSize) * Sqlite3_int64((*BtShared)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pCur)).FpBt)).FnPage) } @@ -93136,7 +93144,7 @@ func Xsqlite3BtreeMaxRecordSize(tls *libc.TLS, pCur uintptr) Sqlite3_int64 { /* // on *ppPage to free the reference. In no reference was obtained (because // the pointer-map was used to obtain the value for *pPgnoNext), then // *ppPage is set to zero. -func getOverflowPage(tls *libc.TLS, pBt uintptr, ovfl Pgno, ppPage uintptr, pPgnoNext uintptr) int32 { /* sqlite3.c:70902:12: */ +func getOverflowPage(tls *libc.TLS, pBt uintptr, ovfl Pgno, ppPage uintptr, pPgnoNext uintptr) int32 { /* sqlite3.c:70912:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -93204,7 +93212,7 @@ func getOverflowPage(tls *libc.TLS, pBt uintptr, ovfl Pgno, ppPage uintptr, pPgn // of data are copied from the buffer pBuf to pPayload. // // SQLITE_OK is returned on success, otherwise an error code. -func copyPayload(tls *libc.TLS, pPayload uintptr, pBuf uintptr, nByte int32, eOp int32, pDbPage uintptr) int32 { /* sqlite3.c:70970:12: */ +func copyPayload(tls *libc.TLS, pPayload uintptr, pBuf uintptr, nByte int32, eOp int32, pDbPage uintptr) int32 { /* sqlite3.c:70980:12: */ if eOp != 0 { // Copy data from buffer to page (a write operation) var rc int32 = Xsqlite3PagerWrite(tls, pDbPage) @@ -93246,7 +93254,7 @@ func copyPayload(tls *libc.TLS, pPayload uintptr, pBuf uintptr, nByte int32, eOp // * An incremental vacuum, // * A commit in auto_vacuum="full" mode, // * Creating a table (may require moving an overflow page). -func accessPayload(tls *libc.TLS, pCur uintptr, offset U32, amt U32, pBuf uintptr, eOp int32) int32 { /* sqlite3.c:71020:12: */ +func accessPayload(tls *libc.TLS, pCur uintptr, offset U32, amt U32, pBuf uintptr, eOp int32) int32 { /* sqlite3.c:71030:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -93257,7 +93265,7 @@ func accessPayload(tls *libc.TLS, pCur uintptr, offset U32, amt U32, pBuf uintpt var pBt uintptr = (*BtCursor)(unsafe.Pointer(pCur)).FpBt // Btree this cursor belongs to if int32((*BtCursor)(unsafe.Pointer(pCur)).Fix) >= int32((*MemPage)(unsafe.Pointer(pPage)).FnCell) { - return Xsqlite3CorruptError(tls, 71040) + return Xsqlite3CorruptError(tls, 71050) } getCellInfo(tls, pCur) @@ -93268,7 +93276,7 @@ func accessPayload(tls *libc.TLS, pCur uintptr, offset U32, amt U32, pBuf uintpt // conditional above is really: // &aPayload[pCur->info.nLocal] > &pPage->aData[pBt->usableSize] // but is recast into its current form to avoid integer overflow problems - return Xsqlite3CorruptError(tls, 71055) + return Xsqlite3CorruptError(tls, 71065) } // Check if data must be read/written to/from the btree page itself. @@ -93325,7 +93333,7 @@ func accessPayload(tls *libc.TLS, pCur uintptr, offset U32, amt U32, pBuf uintpt for *(*Pgno)(unsafe.Pointer(bp)) != 0 { // If required, populate the overflow page-list cache. if *(*Pgno)(unsafe.Pointer(bp)) > (*BtShared)(unsafe.Pointer(pBt)).FnPage { - return Xsqlite3CorruptError(tls, 71117) + return Xsqlite3CorruptError(tls, 71127) } *(*Pgno)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pCur)).FaOverflow + uintptr(iIdx)*4)) = *(*Pgno)(unsafe.Pointer(bp /* nextPage */)) @@ -93385,7 +93393,7 @@ func accessPayload(tls *libc.TLS, pCur uintptr, offset U32, amt U32, pBuf uintpt if rc == SQLITE_OK && amt > U32(0) { // Overflow chain ends prematurely - return Xsqlite3CorruptError(tls, 71202) + return Xsqlite3CorruptError(tls, 71212) } return rc } @@ -93405,7 +93413,7 @@ func accessPayload(tls *libc.TLS, pCur uintptr, offset U32, amt U32, pBuf uintpt // Return SQLITE_OK on success or an error code if anything goes // wrong. An error is returned if "offset+amt" is larger than // the available payload. -func Xsqlite3BtreePayload(tls *libc.TLS, pCur uintptr, offset U32, amt U32, pBuf uintptr) int32 { /* sqlite3.c:71224:20: */ +func Xsqlite3BtreePayload(tls *libc.TLS, pCur uintptr, offset U32, amt U32, pBuf uintptr) int32 { /* sqlite3.c:71234:20: */ return accessPayload(tls, pCur, offset, amt, pBuf, 0) } @@ -93413,7 +93421,7 @@ func Xsqlite3BtreePayload(tls *libc.TLS, pCur uintptr, offset U32, amt U32, pBuf // This variant of sqlite3BtreePayload() works even if the cursor has not // in the CURSOR_VALID state. It is only used by the sqlite3_blob_read() // interface. -func accessPayloadChecked(tls *libc.TLS, pCur uintptr, offset U32, amt U32, pBuf uintptr) int32 { /* sqlite3.c:71237:28: */ +func accessPayloadChecked(tls *libc.TLS, pCur uintptr, offset U32, amt U32, pBuf uintptr) int32 { /* sqlite3.c:71247:28: */ var rc int32 if int32((*BtCursor)(unsafe.Pointer(pCur)).FeState) == CURSOR_INVALID { return SQLITE_ABORT @@ -93426,7 +93434,7 @@ func accessPayloadChecked(tls *libc.TLS, pCur uintptr, offset U32, amt U32, pBuf return accessPayload(tls, pCur, offset, amt, pBuf, 0) } -func Xsqlite3BtreePayloadChecked(tls *libc.TLS, pCur uintptr, offset U32, amt U32, pBuf uintptr) int32 { /* sqlite3.c:71251:20: */ +func Xsqlite3BtreePayloadChecked(tls *libc.TLS, pCur uintptr, offset U32, amt U32, pBuf uintptr) int32 { /* sqlite3.c:71261:20: */ if int32((*BtCursor)(unsafe.Pointer(pCur)).FeState) == CURSOR_VALID { return accessPayload(tls, pCur, offset, amt, pBuf, 0) @@ -93453,7 +93461,7 @@ func Xsqlite3BtreePayloadChecked(tls *libc.TLS, pCur uintptr, offset U32, amt U3 // The pointer returned by this routine looks directly into the cached // page of the database. The data might change or move the next time // any btree routine is called. -func fetchPayload(tls *libc.TLS, pCur uintptr, pAmt uintptr) uintptr { /* sqlite3.c:71280:19: */ +func fetchPayload(tls *libc.TLS, pCur uintptr, pAmt uintptr) uintptr { /* sqlite3.c:71290:19: */ var amt int32 amt = int32((*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnLocal) @@ -93484,7 +93492,7 @@ func fetchPayload(tls *libc.TLS, pCur uintptr, pAmt uintptr) uintptr { /* sqlite // // These routines is used to get quick access to key and data // in the common case where no overflow pages are used. -func Xsqlite3BtreePayloadFetch(tls *libc.TLS, pCur uintptr, pAmt uintptr) uintptr { /* sqlite3.c:71319:27: */ +func Xsqlite3BtreePayloadFetch(tls *libc.TLS, pCur uintptr, pAmt uintptr) uintptr { /* sqlite3.c:71329:27: */ return fetchPayload(tls, pCur, pAmt) } @@ -93495,11 +93503,11 @@ func Xsqlite3BtreePayloadFetch(tls *libc.TLS, pCur uintptr, pAmt uintptr) uintpt // the new child page does not match the flags field of the parent (i.e. // if an intkey page appears to be the parent of a non-intkey page, or // vice-versa). -func moveToChild(tls *libc.TLS, pCur uintptr, newPgno U32) int32 { /* sqlite3.c:71333:12: */ +func moveToChild(tls *libc.TLS, pCur uintptr, newPgno U32) int32 { /* sqlite3.c:71343:12: */ var pBt uintptr = (*BtCursor)(unsafe.Pointer(pCur)).FpBt if int32((*BtCursor)(unsafe.Pointer(pCur)).FiPage) >= BTCURSOR_MAX_DEPTH-1 { - return Xsqlite3CorruptError(tls, 71341) + return Xsqlite3CorruptError(tls, 71351) } (*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnSize = U16(0) *(*U8)(unsafe.Pointer(pCur + 1)) &= libc.Uint8FromInt32(libc.CplInt32(BTCF_ValidNKey | BTCF_ValidOvfl)) @@ -93516,7 +93524,7 @@ func moveToChild(tls *libc.TLS, pCur uintptr, newPgno U32) int32 { /* sqlite3.c: // to the page we are coming from. If we are coming from the // right-most child page then pCur->idx is set to one more than // the largest cell index. -func moveToParent(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:71382:13: */ +func moveToParent(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:71392:13: */ var pLeaf uintptr (*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnSize = U16(0) @@ -93546,7 +93554,7 @@ func moveToParent(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:71382:13: */ // indicating a table b-tree, or if the caller did specify a KeyInfo // structure the flags byte is set to 0x02 or 0x0A, indicating an index // b-tree). -func moveToRoot(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:71423:12: */ +func moveToRoot(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:71433:12: */ var pRoot uintptr var rc int32 var subpage Pgno @@ -93625,7 +93633,7 @@ __2: if !(int32((*MemPage)(unsafe.Pointer(pRoot)).FisInit) == 0 || libc.Bool32((*BtCursor)(unsafe.Pointer(pCur)).FpKeyInfo == uintptr(0)) != int32((*MemPage)(unsafe.Pointer(pRoot)).FintKey)) { goto __11 } - return Xsqlite3CorruptError(tls, 71479) + return Xsqlite3CorruptError(tls, 71489) __11: ; @@ -93646,7 +93654,7 @@ __12: if !((*MemPage)(unsafe.Pointer(pRoot)).Fpgno != Pgno(1)) { goto __16 } - return Xsqlite3CorruptError(tls, 71491) + return Xsqlite3CorruptError(tls, 71501) __16: ; subpage = Xsqlite3Get4byte(tls, (*MemPage)(unsafe.Pointer(pRoot)).FaData+uintptr(int32((*MemPage)(unsafe.Pointer(pRoot)).FhdrOffset)+8)) @@ -93668,7 +93676,7 @@ __13: // // The left-most leaf is the one with the smallest key - the first // in ascending order. -func moveToLeftmost(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:71509:12: */ +func moveToLeftmost(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:71519:12: */ var pgno Pgno var rc int32 = SQLITE_OK var pPage uintptr @@ -93689,7 +93697,7 @@ func moveToLeftmost(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:71509:12: // // The right-most entry is the one with the largest key - the last // key in ascending order. -func moveToRightmost(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:71534:12: */ +func moveToRightmost(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:71544:12: */ var pgno Pgno var rc int32 = SQLITE_OK var pPage uintptr = uintptr(0) @@ -93710,7 +93718,7 @@ func moveToRightmost(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:71534:12: // Move the cursor to the first entry in the table. Return SQLITE_OK // on success. Set *pRes to 0 if the cursor actually points to something // or set *pRes to 1 if the table is empty. -func Xsqlite3BtreeFirst(tls *libc.TLS, pCur uintptr, pRes uintptr) int32 { /* sqlite3.c:71557:20: */ +func Xsqlite3BtreeFirst(tls *libc.TLS, pCur uintptr, pRes uintptr) int32 { /* sqlite3.c:71567:20: */ var rc int32 rc = moveToRoot(tls, pCur) @@ -93729,7 +93737,7 @@ func Xsqlite3BtreeFirst(tls *libc.TLS, pCur uintptr, pRes uintptr) int32 { /* sq // Move the cursor to the last entry in the table. Return SQLITE_OK // on success. Set *pRes to 0 if the cursor actually points to something // or set *pRes to 1 if the table is empty. -func Xsqlite3BtreeLast(tls *libc.TLS, pCur uintptr, pRes uintptr) int32 { /* sqlite3.c:71579:20: */ +func Xsqlite3BtreeLast(tls *libc.TLS, pCur uintptr, pRes uintptr) int32 { /* sqlite3.c:71589:20: */ var rc int32 // If the cursor already points to the last entry, this is a no-op. @@ -93778,7 +93786,7 @@ func Xsqlite3BtreeLast(tls *libc.TLS, pCur uintptr, pRes uintptr) int32 { /* sql // // *pRes>0 The cursor is left pointing at an entry that // is larger than intKey. -func Xsqlite3BtreeTableMoveto(tls *libc.TLS, pCur uintptr, intKey I64, biasRight int32, pRes uintptr) int32 { /* sqlite3.c:71644:20: */ +func Xsqlite3BtreeTableMoveto(tls *libc.TLS, pCur uintptr, intKey I64, biasRight int32, pRes uintptr) int32 { /* sqlite3.c:71654:20: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -93893,7 +93901,7 @@ __19: if !(pCell >= (*MemPage)(unsafe.Pointer(pPage)).FaDataEnd) { goto __21 } - return Xsqlite3CorruptError(tls, 71733) + return Xsqlite3CorruptError(tls, 71743) __21: ; goto __19 @@ -94022,7 +94030,7 @@ moveto_table_finish: // // The pIdxKey->eqSeen field is set to 1 if there // exists an entry in the table that exactly matches pIdxKey. -func Xsqlite3BtreeIndexMoveto(tls *libc.TLS, pCur uintptr, pIdxKey uintptr, pRes uintptr) int32 { /* sqlite3.c:71812:20: */ +func Xsqlite3BtreeIndexMoveto(tls *libc.TLS, pCur uintptr, pIdxKey uintptr, pRes uintptr) int32 { /* sqlite3.c:71822:20: */ var rc int32 var xRecordCompare RecordCompare // The record flows over onto one or more overflow pages. In @@ -94126,7 +94134,7 @@ __11: if !(nCell < 2 || U32(nCell)/(*BtShared)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pCur)).FpBt)).FusableSize > (*BtShared)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pCur)).FpBt)).FnPage) { goto __13 } - rc = Xsqlite3CorruptError(tls, 71914) + rc = Xsqlite3CorruptError(tls, 71924) goto moveto_index_finish __13: ; @@ -94175,7 +94183,7 @@ __18: if !((*UnpackedRecord)(unsafe.Pointer(pIdxKey)).FerrCode != 0) { goto __20 } - rc = Xsqlite3CorruptError(tls, 71946) + rc = Xsqlite3CorruptError(tls, 71956) __20: ; goto moveto_index_finish @@ -94242,7 +94250,7 @@ moveto_index_finish: // TRUE will be returned after a call to sqlite3BtreeNext() moves // past the last entry in the table or sqlite3BtreePrev() moves past // the first entry. TRUE is also returned if the table is empty. -func Xsqlite3BtreeEof(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:71985:20: */ +func Xsqlite3BtreeEof(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:71995:20: */ // TODO: What if the cursor is in CURSOR_REQUIRESEEK but all table entries // have been deleted? This API will need to change to return an error code // as well as the boolean result value. @@ -94252,7 +94260,7 @@ func Xsqlite3BtreeEof(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:71985:20 // Return an estimate for the number of rows in the table that pCur is // pointing to. Return a negative number if no estimate is currently // available. -func Xsqlite3BtreeRowCountEst(tls *libc.TLS, pCur uintptr) I64 { /* sqlite3.c:71998:20: */ +func Xsqlite3BtreeRowCountEst(tls *libc.TLS, pCur uintptr) I64 { /* sqlite3.c:72008:20: */ var n I64 var i U8 @@ -94291,7 +94299,7 @@ func Xsqlite3BtreeRowCountEst(tls *libc.TLS, pCur uintptr) I64 { /* sqlite3.c:71 // skipped if the SQL index had been a unique index. The F argument // is a hint to the implement. SQLite btree implementation does not use // this hint, but COMDB2 does. -func btreeNext(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:72038:28: */ +func btreeNext(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:72048:28: */ var rc int32 var idx int32 var pPage uintptr @@ -94328,7 +94336,7 @@ func btreeNext(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:72038:28: */ // has pages in common with the table being queried. See TH3 // module cov1/btree78.test testcase 220 (2018-06-08) for an // example. - return Xsqlite3CorruptError(tls, 72069) + return Xsqlite3CorruptError(tls, 72079) } if idx >= int32((*MemPage)(unsafe.Pointer(pPage)).FnCell) { @@ -94361,7 +94369,7 @@ func btreeNext(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:72038:28: */ return int32(0) } -func Xsqlite3BtreeNext(tls *libc.TLS, pCur uintptr, flags int32) int32 { /* sqlite3.c:72098:20: */ +func Xsqlite3BtreeNext(tls *libc.TLS, pCur uintptr, flags int32) int32 { /* sqlite3.c:72108:20: */ var pPage uintptr _ = flags // Used in COMDB2 but not native SQLite @@ -94401,7 +94409,7 @@ func Xsqlite3BtreeNext(tls *libc.TLS, pCur uintptr, flags int32) int32 { /* sqli // skipped if the SQL index had been a unique index. The F argument is a // hint to the implement. The native SQLite btree implementation does not // use this hint, but COMDB2 does. -func btreePrevious(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:72138:28: */ +func btreePrevious(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:72148:28: */ var rc int32 var pPage uintptr @@ -94455,7 +94463,7 @@ func btreePrevious(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:72138:28: * return rc } -func Xsqlite3BtreePrevious(tls *libc.TLS, pCur uintptr, flags int32) int32 { /* sqlite3.c:72187:20: */ +func Xsqlite3BtreePrevious(tls *libc.TLS, pCur uintptr, flags int32) int32 { /* sqlite3.c:72197:20: */ _ = flags // Used in COMDB2 but not native SQLite *(*U8)(unsafe.Pointer(pCur + 1)) &= libc.Uint8FromInt32(libc.CplInt32(BTCF_AtLast | BTCF_ValidOvfl | BTCF_ValidNKey)) @@ -94489,7 +94497,7 @@ func Xsqlite3BtreePrevious(tls *libc.TLS, pCur uintptr, flags int32) int32 { /* // eMode is BTALLOC_LT then the page returned will be less than or equal // to nearby if any such page exists. If eMode is BTALLOC_ANY then there // are no restrictions on which page is returned. -func allocateBtreePage(tls *libc.TLS, pBt uintptr, ppPage uintptr, pPgno uintptr, nearby Pgno, eMode U8) int32 { /* sqlite3.c:72225:12: */ +func allocateBtreePage(tls *libc.TLS, pBt uintptr, ppPage uintptr, pPgno uintptr, nearby Pgno, eMode U8) int32 { /* sqlite3.c:72235:12: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -94556,7 +94564,7 @@ func allocateBtreePage(tls *libc.TLS, pBt uintptr, ppPage uintptr, pPgno uintptr if !(n >= mxPage) { goto __1 } - return Xsqlite3CorruptError(tls, 72249) + return Xsqlite3CorruptError(tls, 72259) __1: ; if !(n > U32(0)) { @@ -94637,7 +94645,7 @@ __15: if !(iTrunk > mxPage || libc.PostIncUint32(&nSearch, 1) > n) { goto __16 } - rc = Xsqlite3CorruptError(tls, 72305) + rc = Xsqlite3CorruptError(tls, 72315) goto __17 __16: rc = btreeGetUnusedPage(tls, pBt, iTrunk, bp+8, 0) @@ -94679,7 +94687,7 @@ __19: goto __22 } // Value of k is out of range. Database corruption - rc = Xsqlite3CorruptError(tls, 72334) + rc = Xsqlite3CorruptError(tls, 72344) goto end_allocate_page goto __23 __22: @@ -94724,7 +94732,7 @@ __27: if !(iNewTrunk > mxPage) { goto __32 } - rc = Xsqlite3CorruptError(tls, 72368) + rc = Xsqlite3CorruptError(tls, 72378) goto end_allocate_page __32: ; @@ -94838,7 +94846,7 @@ __40: if !(iPage > mxPage || iPage < Pgno(2)) { goto __51 } - rc = Xsqlite3CorruptError(tls, 72433) + rc = Xsqlite3CorruptError(tls, 72443) goto end_allocate_page __51: ; @@ -95013,7 +95021,7 @@ end_allocate_page: // // If a pointer to a MemPage object is passed as the second argument, // its reference count is not altered by this function. -func freePage2(tls *libc.TLS, pBt uintptr, pMemPage uintptr, iPage Pgno) int32 { /* sqlite3.c:72547:12: */ +func freePage2(tls *libc.TLS, pBt uintptr, pMemPage uintptr, iPage Pgno) int32 { /* sqlite3.c:72557:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -95034,7 +95042,7 @@ func freePage2(tls *libc.TLS, pBt uintptr, pMemPage uintptr, iPage Pgno) int32 { if !(iPage < Pgno(2) || iPage > (*BtShared)(unsafe.Pointer(pBt)).FnPage) { goto __1 } - return Xsqlite3CorruptError(tls, 72560) + return Xsqlite3CorruptError(tls, 72570) __1: ; if !(pMemPage != 0) { @@ -95104,7 +95112,7 @@ __7: if !(iTrunk > btreePagecount(tls, pBt)) { goto __10 } - *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) = Xsqlite3CorruptError(tls, 72607) + *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) = Xsqlite3CorruptError(tls, 72617) goto freepage_out __10: ; @@ -95121,7 +95129,7 @@ __11: if !(nLeaf > (*BtShared)(unsafe.Pointer(pBt)).FusableSize/U32(4)-U32(2)) { goto __12 } - *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) = Xsqlite3CorruptError(tls, 72618) + *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) = Xsqlite3CorruptError(tls, 72628) goto freepage_out __12: ; @@ -95202,14 +95210,14 @@ __18: return *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) } -func freePage(tls *libc.TLS, pPage uintptr, pRC uintptr) { /* sqlite3.c:72681:13: */ +func freePage(tls *libc.TLS, pPage uintptr, pRC uintptr) { /* sqlite3.c:72691:13: */ if *(*int32)(unsafe.Pointer(pRC)) == SQLITE_OK { *(*int32)(unsafe.Pointer(pRC)) = freePage2(tls, (*MemPage)(unsafe.Pointer(pPage)).FpBt, pPage, (*MemPage)(unsafe.Pointer(pPage)).Fpgno) } } // Free the overflow pages associated with the given Cell. -func clearCellOverflow(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintptr) int32 { /* sqlite3.c:72690:28: */ +func clearCellOverflow(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintptr) int32 { /* sqlite3.c:72700:28: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -95221,7 +95229,7 @@ func clearCellOverflow(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintpt if pCell+uintptr((*CellInfo)(unsafe.Pointer(pInfo)).FnSize) > (*MemPage)(unsafe.Pointer(pPage)).FaDataEnd { // Cell extends past end of page - return Xsqlite3CorruptError(tls, 72707) + return Xsqlite3CorruptError(tls, 72717) } ovflPgno = Xsqlite3Get4byte(tls, pCell+uintptr((*CellInfo)(unsafe.Pointer(pInfo)).FnSize)-uintptr(4)) pBt = (*MemPage)(unsafe.Pointer(pPage)).FpBt @@ -95236,7 +95244,7 @@ func clearCellOverflow(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintpt // 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 Xsqlite3CorruptError(tls, 72724) + return Xsqlite3CorruptError(tls, 72734) } if nOvfl != 0 { rc = getOverflowPage(tls, pBt, ovflPgno, bp, bp+8) @@ -95256,7 +95264,7 @@ func clearCellOverflow(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintpt // enabled. If this 'overflow' page happens to be a page that the // caller is iterating through or using in some other way, this // can be problematic. - rc = Xsqlite3CorruptError(tls, 72744) + rc = Xsqlite3CorruptError(tls, 72754) } else { rc = freePage2(tls, pBt, *(*uintptr)(unsafe.Pointer(bp /* pOvfl */)), ovflPgno) } @@ -95288,7 +95296,7 @@ func clearCellOverflow(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintpt // area. pCell might point to some temporary storage. The cell will // be constructed in this temporary area then copied into pPage->aData // later. -func fillInCell(tls *libc.TLS, pPage uintptr, pCell uintptr, pX uintptr, pnSize uintptr) int32 { /* sqlite3.c:72785:12: */ +func fillInCell(tls *libc.TLS, pPage uintptr, pCell uintptr, pX uintptr, pnSize uintptr) int32 { /* sqlite3.c:72795:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -95470,7 +95478,7 @@ func fillInCell(tls *libc.TLS, pPage uintptr, pCell uintptr, pX uintptr, pnSize // removes the reference to the cell from pPage. // // "sz" must be the number of bytes in the cell. -func dropCell(tls *libc.TLS, pPage uintptr, idx int32, sz int32, pRC uintptr) { /* sqlite3.c:72975:13: */ +func dropCell(tls *libc.TLS, pPage uintptr, idx int32, sz int32, pRC uintptr) { /* sqlite3.c:72985:13: */ var pc U32 // Offset to cell content of cell being deleted var data uintptr // pPage->aData var ptr uintptr // Used to move bytes around within data[] @@ -95488,7 +95496,7 @@ func dropCell(tls *libc.TLS, pPage uintptr, idx int32, sz int32, pRC uintptr) { hdr = int32((*MemPage)(unsafe.Pointer(pPage)).FhdrOffset) if pc+U32(sz) > (*BtShared)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize { - *(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 73003) + *(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 73013) return } rc = freeSpace(tls, pPage, uint16(pc), uint16(sz)) @@ -95524,7 +95532,7 @@ func dropCell(tls *libc.TLS, pPage uintptr, idx int32, sz int32, pRC uintptr) { // pPage->nOverflow is incremented. // // *pRC must be SQLITE_OK when this routine is called. -func insertCell(tls *libc.TLS, pPage uintptr, i int32, pCell uintptr, sz int32, pTemp uintptr, iChild Pgno, pRC uintptr) { /* sqlite3.c:73039:13: */ +func insertCell(tls *libc.TLS, pPage uintptr, i int32, pCell uintptr, sz int32, pTemp uintptr, iChild Pgno, pRC uintptr) { /* sqlite3.c:73049:13: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -95685,7 +95693,7 @@ type CellArray1 = struct { FszCell uintptr FapEnd [6]uintptr FixNx [6]int32 -} /* sqlite3.c:73214:9 */ +} /* sqlite3.c:73224:9 */ // The following parameters determine how many adjacent pages get involved // in a balancing operation. NN is the number of neighbors on either side @@ -95762,11 +95770,11 @@ type CellArray1 = struct { // cases, ixNx[] entries with higher indexes, and the corresponding apEnd[] // entries, shift down. The end result is that each ixNx[] entry should // be larger than the previous -type CellArray = CellArray1 /* sqlite3.c:73214:26 */ +type CellArray = CellArray1 /* sqlite3.c:73224:26 */ // Make sure the cell sizes at idx, idx+1, ..., idx+N-1 have been // computed. -func populateCellCache(tls *libc.TLS, p uintptr, idx int32, N int32) { /* sqlite3.c:73228:13: */ +func populateCellCache(tls *libc.TLS, p uintptr, idx int32, N int32) { /* sqlite3.c:73238:13: */ for N > 0 { @@ -95783,7 +95791,7 @@ func populateCellCache(tls *libc.TLS, p uintptr, idx int32, N int32) { /* sqlite } // Return the size of the Nth element of the cell array -func computeCellSize(tls *libc.TLS, p uintptr, N int32) U16 { /* sqlite3.c:73246:28: */ +func computeCellSize(tls *libc.TLS, p uintptr, N int32) U16 { /* sqlite3.c:73256:28: */ *(*U16)(unsafe.Pointer((*CellArray)(unsafe.Pointer(p)).FszCell + uintptr(N)*2)) = (*struct { f func(*libc.TLS, uintptr, uintptr) U16 @@ -95791,7 +95799,7 @@ func computeCellSize(tls *libc.TLS, p uintptr, N int32) U16 { /* sqlite3.c:73246 return *(*U16)(unsafe.Pointer((*CellArray)(unsafe.Pointer(p)).FszCell + uintptr(N)*2)) } -func cachedCellSize(tls *libc.TLS, p uintptr, N int32) U16 { /* sqlite3.c:73252:12: */ +func cachedCellSize(tls *libc.TLS, p uintptr, N int32) U16 { /* sqlite3.c:73262:12: */ if *(*U16)(unsafe.Pointer((*CellArray)(unsafe.Pointer(p)).FszCell + uintptr(N)*2)) != 0 { return *(*U16)(unsafe.Pointer((*CellArray)(unsafe.Pointer(p)).FszCell + uintptr(N)*2)) @@ -95810,7 +95818,7 @@ func cachedCellSize(tls *libc.TLS, p uintptr, N int32) U16 { /* sqlite3.c:73252: // // The MemPage.nFree field is invalidated by this function. It is the // responsibility of the caller to set it correctly. -func rebuildPage(tls *libc.TLS, pCArray uintptr, iFirst int32, nCell int32, pPg uintptr) int32 { /* sqlite3.c:73271:12: */ +func rebuildPage(tls *libc.TLS, pCArray uintptr, iFirst int32, nCell int32, pPg uintptr) int32 { /* sqlite3.c:73281:12: */ var hdr int32 = int32((*MemPage)(unsafe.Pointer(pPg)).FhdrOffset) // Offset of header on pPg var aData uintptr = (*MemPage)(unsafe.Pointer(pPg)).FaData // Pointer to data for pPg var usableSize int32 = int32((*BtShared)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPg)).FpBt)).FusableSize) @@ -95841,12 +95849,12 @@ func rebuildPage(tls *libc.TLS, pCArray uintptr, iFirst int32, nCell int32, pPg if Uptr(pCell) >= Uptr(aData+uintptr(j)) && Uptr(pCell) < Uptr(pEnd) { if Uptr(pCell+uintptr(sz)) > Uptr(pEnd) { - return Xsqlite3CorruptError(tls, 73304) + return Xsqlite3CorruptError(tls, 73314) } pCell = pTmp + uintptr((int64(pCell)-int64(aData))/1) } else if Uptr(pCell+uintptr(sz)) > Uptr(pSrcEnd) && Uptr(pCell) < Uptr(pSrcEnd) { - return Xsqlite3CorruptError(tls, 73309) + return Xsqlite3CorruptError(tls, 73319) } pData -= uintptr(sz) @@ -95854,7 +95862,7 @@ func rebuildPage(tls *libc.TLS, pCArray uintptr, iFirst int32, nCell int32, pPg *(*U8)(unsafe.Pointer(pCellptr + 1)) = U8((int64(pData) - int64(aData)) / 1) pCellptr += uintptr(2) if pData < pCellptr { - return Xsqlite3CorruptError(tls, 73315) + return Xsqlite3CorruptError(tls, 73325) } libc.Xmemmove(tls, pData, pCell, uint64(sz)) @@ -95904,7 +95912,7 @@ func rebuildPage(tls *libc.TLS, pCArray uintptr, iFirst int32, nCell int32, pPg // all cells - not just those inserted by the current call). If the content // area must be extended to before this point in order to accomodate all // cells in apCell[], then the cells do not fit and non-zero is returned. -func pageInsertArray(tls *libc.TLS, pPg uintptr, pBegin uintptr, ppData uintptr, pCellptr uintptr, iFirst int32, nCell int32, pCArray uintptr) int32 { /* sqlite3.c:73361:12: */ +func pageInsertArray(tls *libc.TLS, pPg uintptr, pBegin uintptr, ppData uintptr, pCellptr uintptr, iFirst int32, nCell int32, pCArray uintptr) int32 { /* sqlite3.c:73371:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -95942,7 +95950,7 @@ func pageInsertArray(tls *libc.TLS, pPg uintptr, pBegin uintptr, ppData uintptr, if Uptr(*(*uintptr)(unsafe.Pointer((*CellArray)(unsafe.Pointer(pCArray)).FapCell + uintptr(i)*8))+uintptr(sz)) > Uptr(pEnd) && Uptr(*(*uintptr)(unsafe.Pointer((*CellArray)(unsafe.Pointer(pCArray)).FapCell + uintptr(i)*8))) < Uptr(pEnd) { - Xsqlite3CorruptError(tls, 73400) + Xsqlite3CorruptError(tls, 73410) return 1 } libc.Xmemmove(tls, pSlot, *(*uintptr)(unsafe.Pointer((*CellArray)(unsafe.Pointer(pCArray)).FapCell + uintptr(i)*8)), uint64(sz)) @@ -95969,7 +95977,7 @@ func pageInsertArray(tls *libc.TLS, pPg uintptr, pBegin uintptr, ppData uintptr, // The cell-pointers and other fields of the page are not updated. // // This function returns the total number of cells added to the free-list. -func pageFreeArray(tls *libc.TLS, pPg uintptr, iFirst int32, nCell int32, pCArray uintptr) int32 { /* sqlite3.c:73426:12: */ +func pageFreeArray(tls *libc.TLS, pPg uintptr, iFirst int32, nCell int32, pCArray uintptr) int32 { /* sqlite3.c:73436:12: */ var aData uintptr = (*MemPage)(unsafe.Pointer(pPg)).FaData var pEnd uintptr = aData + uintptr((*BtShared)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPg)).FpBt)).FusableSize) var pStart uintptr = aData + uintptr(int32((*MemPage)(unsafe.Pointer(pPg)).FhdrOffset)+8+int32((*MemPage)(unsafe.Pointer(pPg)).FchildPtrSize)) @@ -96021,7 +96029,7 @@ func pageFreeArray(tls *libc.TLS, pPg uintptr, iFirst int32, nCell int32, pCArra // // The pPg->nFree field is invalid when this function returns. It is the // responsibility of the caller to set it correctly. -func editPage(tls *libc.TLS, pPg uintptr, iOld int32, iNew int32, nNew int32, pCArray uintptr) int32 { /* sqlite3.c:73485:12: */ +func editPage(tls *libc.TLS, pPg uintptr, iOld int32, iNew int32, nNew int32, pCArray uintptr) int32 { /* sqlite3.c:73495:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -96055,7 +96063,7 @@ func editPage(tls *libc.TLS, pPg uintptr, iOld int32, iNew int32, nNew int32, pC if !(nShift > nCell) { goto __2 } - return Xsqlite3CorruptError(tls, 73511) + return Xsqlite3CorruptError(tls, 73521) __2: ; libc.Xmemmove(tls, (*MemPage)(unsafe.Pointer(pPg)).FaCellIdx, (*MemPage)(unsafe.Pointer(pPg)).FaCellIdx+uintptr(nShift*2), uint64(nCell*2)) @@ -96195,7 +96203,7 @@ editpage_fail: // byte page number followed by a variable length integer. In other // words, at most 13 bytes. Hence the pSpace buffer must be at // least 13 bytes in size. -func balance_quick(tls *libc.TLS, pParent uintptr, pPage uintptr, pSpace uintptr) int32 { /* sqlite3.c:73614:12: */ +func balance_quick(tls *libc.TLS, pParent uintptr, pPage uintptr, pSpace uintptr) int32 { /* sqlite3.c:73624:12: */ bp := tls.Alloc(140) defer tls.Free(140) @@ -96208,7 +96216,7 @@ func balance_quick(tls *libc.TLS, pParent uintptr, pPage uintptr, pSpace uintptr // Page number of pNew if int32((*MemPage)(unsafe.Pointer(pPage)).FnCell) == 0 { - return Xsqlite3CorruptError(tls, 73624) + return Xsqlite3CorruptError(tls, 73634) } // dbfuzz001.test // Allocate a new page. This page will become the right-sibling of @@ -96306,7 +96314,7 @@ func balance_quick(tls *libc.TLS, pParent uintptr, pPage uintptr, pSpace uintptr // The performance of this function is not critical. It is only used by // the balance_shallower() and balance_deeper() procedures, neither of // which are called often under normal circumstances. -func copyNodeContent(tls *libc.TLS, pFrom uintptr, pTo uintptr, pRC uintptr) { /* sqlite3.c:73769:13: */ +func copyNodeContent(tls *libc.TLS, pFrom uintptr, pTo uintptr, pRC uintptr) { /* sqlite3.c:73779:13: */ if *(*int32)(unsafe.Pointer(pRC)) == SQLITE_OK { var pBt uintptr = (*MemPage)(unsafe.Pointer(pFrom)).FpBt var aFrom uintptr = (*MemPage)(unsafe.Pointer(pFrom)).FaData @@ -96386,7 +96394,7 @@ func copyNodeContent(tls *libc.TLS, pFrom uintptr, pTo uintptr, pRC uintptr) { / // // If aOvflSpace is set to a null pointer, this function returns // SQLITE_NOMEM. -func balance_nonroot(tls *libc.TLS, pParent uintptr, iParentIdx int32, aOvflSpace uintptr, isRoot int32, bBulk int32) int32 { /* sqlite3.c:73851:12: */ +func balance_nonroot(tls *libc.TLS, pParent uintptr, iParentIdx int32, aOvflSpace uintptr, isRoot int32, bBulk int32) int32 { /* sqlite3.c:73861:12: */ bp := tls.Alloc(344) defer tls.Free(344) @@ -96688,7 +96696,7 @@ __22: if !(int32(*(*U8)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pOld)).FaData))) != int32(*(*U8)(unsafe.Pointer((*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 112)))).FaData)))) { goto __25 } - *(*int32)(unsafe.Pointer(bp + 172 /* rc */)) = Xsqlite3CorruptError(tls, 74047) + *(*int32)(unsafe.Pointer(bp + 172 /* rc */)) = Xsqlite3CorruptError(tls, 74057) goto balance_cleanup __25: ; @@ -96716,7 +96724,7 @@ __25: if !(limit < int32(*(*U16)(unsafe.Pointer(pOld + 28)))) { goto __27 } - *(*int32)(unsafe.Pointer(bp + 172 /* rc */)) = Xsqlite3CorruptError(tls, 74071) + *(*int32)(unsafe.Pointer(bp + 172 /* rc */)) = Xsqlite3CorruptError(tls, 74081) goto balance_cleanup __27: ; @@ -96895,7 +96903,7 @@ __52: if !(k > NB+2) { goto __55 } - *(*int32)(unsafe.Pointer(bp + 172 /* rc */)) = Xsqlite3CorruptError(tls, 74172) + *(*int32)(unsafe.Pointer(bp + 172 /* rc */)) = Xsqlite3CorruptError(tls, 74182) goto balance_cleanup __55: ; @@ -96969,7 +96977,7 @@ __65: }()) { goto __67 } - *(*int32)(unsafe.Pointer(bp + 172 /* rc */)) = Xsqlite3CorruptError(tls, 74205) + *(*int32)(unsafe.Pointer(bp + 172 /* rc */)) = Xsqlite3CorruptError(tls, 74215) goto balance_cleanup __67: ; @@ -97042,7 +97050,7 @@ __73: }()) { goto __75 } - *(*int32)(unsafe.Pointer(bp + 172 /* rc */)) = Xsqlite3CorruptError(tls, 74247) + *(*int32)(unsafe.Pointer(bp + 172 /* rc */)) = Xsqlite3CorruptError(tls, 74257) goto balance_cleanup __75: ; @@ -97079,7 +97087,7 @@ __76: *(*int32)(unsafe.Pointer(bp + 172)) == SQLITE_OK) { goto __81 } - *(*int32)(unsafe.Pointer(bp + 172 /* rc */)) = Xsqlite3CorruptError(tls, 74280) + *(*int32)(unsafe.Pointer(bp + 172 /* rc */)) = Xsqlite3CorruptError(tls, 74290) __81: ; if !(*(*int32)(unsafe.Pointer(bp + 172)) != 0) { @@ -97163,7 +97171,7 @@ __89: // cache with two separate objects associated with the same // page number. - *(*int32)(unsafe.Pointer(bp + 172 /* rc */)) = Xsqlite3CorruptError(tls, 74326) + *(*int32)(unsafe.Pointer(bp + 172 /* rc */)) = Xsqlite3CorruptError(tls, 74336) goto balance_cleanup __92: ; @@ -97416,7 +97424,7 @@ __125: if !(Uptr(pSrcEnd) >= Uptr(pCell1) && Uptr(pSrcEnd) < Uptr(pCell1+uintptr(sz2))) { goto __126 } - *(*int32)(unsafe.Pointer(bp + 172 /* rc */)) = Xsqlite3CorruptError(tls, 74483) + *(*int32)(unsafe.Pointer(bp + 172 /* rc */)) = Xsqlite3CorruptError(tls, 74493) goto balance_cleanup __126: ; @@ -97638,7 +97646,7 @@ __150: // page and SQLITE_OK is returned. In this case the caller is required // to call releasePage() on *ppChild exactly once. If an error occurs, // an error code is returned and *ppChild is set to 0. -func balance_deeper(tls *libc.TLS, pRoot uintptr, ppChild uintptr) int32 { /* sqlite3.c:74648:12: */ +func balance_deeper(tls *libc.TLS, pRoot uintptr, ppChild uintptr) int32 { /* sqlite3.c:74658:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -97689,13 +97697,13 @@ func balance_deeper(tls *libc.TLS, pRoot uintptr, ppChild uintptr) int32 { /* sq // table linked to the same b-tree. If the secondary insert causes a // rebalance, that can change content out from under the cursor on the // first SQL table, violating invariants on the first insert. -func anotherValidCursor(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:74706:12: */ +func anotherValidCursor(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:74716:12: */ var pOther uintptr for pOther = (*BtShared)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pCur)).FpBt)).FpCursor; pOther != 0; pOther = (*BtCursor)(unsafe.Pointer(pOther)).FpNext { if pOther != pCur && int32((*BtCursor)(unsafe.Pointer(pOther)).FeState) == CURSOR_VALID && (*BtCursor)(unsafe.Pointer(pOther)).FpPage == (*BtCursor)(unsafe.Pointer(pCur)).FpPage { - return Xsqlite3CorruptError(tls, 74713) + return Xsqlite3CorruptError(tls, 74723) } } return SQLITE_OK @@ -97709,7 +97717,7 @@ func anotherValidCursor(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:74706: // balance_quick() // balance_deeper() // balance_nonroot() -func balance(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:74729:12: */ +func balance(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:74739:12: */ bp := tls.Alloc(13) defer tls.Free(13) @@ -97828,7 +97836,7 @@ func balance(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:74729:12: */ // Overwrite content from pX into pDest. Only do the write if the // content is different from what is already there. -func btreeOverwriteContent(tls *libc.TLS, pPage uintptr, pDest uintptr, pX uintptr, iOffset int32, iAmt int32) int32 { /* sqlite3.c:74855:12: */ +func btreeOverwriteContent(tls *libc.TLS, pPage uintptr, pDest uintptr, pX uintptr, iOffset int32, iAmt int32) int32 { /* sqlite3.c:74865:12: */ var nData int32 = (*BtreePayload)(unsafe.Pointer(pX)).FnData - iOffset if nData <= 0 { // Overwritting with zeros @@ -97870,7 +97878,7 @@ func btreeOverwriteContent(tls *libc.TLS, pPage uintptr, pDest uintptr, pX uintp // Overwrite the cell that cursor pCur is pointing to with fresh content // contained in pX. -func btreeOverwriteCell(tls *libc.TLS, pCur uintptr, pX uintptr) int32 { /* sqlite3.c:74898:12: */ +func btreeOverwriteCell(tls *libc.TLS, pCur uintptr, pX uintptr) int32 { /* sqlite3.c:74908:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -97884,7 +97892,7 @@ func btreeOverwriteCell(tls *libc.TLS, pCur uintptr, pX uintptr) int32 { /* sqli if (*BtCursor)(unsafe.Pointer(pCur)).Finfo.FpPayload+uintptr((*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnLocal) > (*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FaDataEnd || (*BtCursor)(unsafe.Pointer(pCur)).Finfo.FpPayload < (*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FaData+uintptr((*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FcellOffset) { - return Xsqlite3CorruptError(tls, 74910) + return Xsqlite3CorruptError(tls, 74920) } // Overwrite the local portion first rc = btreeOverwriteContent(tls, *(*uintptr)(unsafe.Pointer(bp /* pPage */)), (*BtCursor)(unsafe.Pointer(pCur)).Finfo.FpPayload, pX, @@ -97908,7 +97916,7 @@ func btreeOverwriteCell(tls *libc.TLS, pCur uintptr, pX uintptr) int32 { /* sqli return rc } if Xsqlite3PagerPageRefcount(tls, (*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FpDbPage) != 1 || (*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FisInit != 0 { - rc = Xsqlite3CorruptError(tls, 74929) + rc = Xsqlite3CorruptError(tls, 74939) } else { if U32(iOffset)+ovflPageSize < U32(nTotal) { ovflPgno = Xsqlite3Get4byte(tls, (*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* pPage */)))).FaData) @@ -97955,7 +97963,7 @@ func btreeOverwriteCell(tls *libc.TLS, pCur uintptr, pX uintptr) int32 { /* sqli // if pX->nMem is non-zero, then pX->aMem contains pointers to the unpacked // key values and pX->aMem can be used instead of pX->pKey to avoid having // to decode the key. -func Xsqlite3BtreeInsert(tls *libc.TLS, pCur uintptr, pX uintptr, flags int32, seekResult int32) int32 { /* sqlite3.c:74977:20: */ +func Xsqlite3BtreeInsert(tls *libc.TLS, pCur uintptr, pX uintptr, flags int32, seekResult int32) int32 { /* sqlite3.c:74987:20: */ bp := tls.Alloc(136) defer tls.Free(136) @@ -97985,20 +97993,6 @@ func Xsqlite3BtreeInsert(tls *libc.TLS, pCur uintptr, pX uintptr, flags int32, s pBt = (*Btree)(unsafe.Pointer(p)).FpBt newCell = uintptr(0) - if !(int32((*BtCursor)(unsafe.Pointer(pCur)).FeState) == CURSOR_FAULT) { - goto __1 - } - - return (*BtCursor)(unsafe.Pointer(pCur)).FskipNext -__1: - ; - - // Assert that the caller has been consistent. If this cursor was opened - // expecting an index b-tree, then the caller should be inserting blob - // keys with no associated data. If the cursor was opened expecting an - // intkey table, the caller should be inserting integer keys with a - // blob of associated data. - // Save the positions of any other cursors open on this table. // // In some cases, the call to btreeMoveto() below is a no-op. For @@ -98010,40 +98004,59 @@ __1: // doing any work. To avoid thwarting these optimizations, it is important // not to clear the cursor here. if !(int32((*BtCursor)(unsafe.Pointer(pCur)).FcurFlags)&BTCF_Multiple != 0) { - goto __2 + goto __1 } *(*int32)(unsafe.Pointer(bp + 104 /* rc */)) = saveAllCursors(tls, pBt, (*BtCursor)(unsafe.Pointer(pCur)).FpgnoRoot, pCur) if !(*(*int32)(unsafe.Pointer(bp + 104)) != 0) { - goto __3 + goto __2 } return *(*int32)(unsafe.Pointer(bp + 104 /* rc */)) -__3: +__2: ; if !(*(*int32)(unsafe.Pointer(bp)) != 0 && int32((*BtCursor)(unsafe.Pointer(pCur)).FiPage) < 0) { - goto __4 + goto __3 } // This can only happen if the schema is corrupt such that there is more // than one table or index with the same root page as used by the cursor. // 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 Xsqlite3CorruptError(tls, 75034) -__4: + return Xsqlite3CorruptError(tls, 75026) +__3: ; -__2: +__1: ; - if !((*BtCursor)(unsafe.Pointer(pCur)).FpKeyInfo == uintptr(0)) { + if !(int32((*BtCursor)(unsafe.Pointer(pCur)).FeState) >= CURSOR_REQUIRESEEK) { + goto __4 + } + *(*int32)(unsafe.Pointer(bp + 104 /* rc */)) = moveToRoot(tls, pCur) + if !(*(*int32)(unsafe.Pointer(bp + 104)) != 0 && *(*int32)(unsafe.Pointer(bp + 104)) != SQLITE_EMPTY) { goto __5 } + return *(*int32)(unsafe.Pointer(bp + 104 /* rc */)) +__5: + ; +__4: + ; + + // Assert that the caller has been consistent. If this cursor was opened + // expecting an index b-tree, then the caller should be inserting blob + // keys with no associated data. If the cursor was opened expecting an + // intkey table, the caller should be inserting integer keys with a + // blob of associated data. + + if !((*BtCursor)(unsafe.Pointer(pCur)).FpKeyInfo == uintptr(0)) { + goto __6 + } // If this is an insert into a table b-tree, invalidate any incrblob // cursors open on the row being replaced if !((*Btree)(unsafe.Pointer(p)).FhasIncrblobCur != 0) { - goto __7 + goto __8 } invalidateIncrblobCursors(tls, p, (*BtCursor)(unsafe.Pointer(pCur)).FpgnoRoot, (*BtreePayload)(unsafe.Pointer(pX)).FnKey, 0) -__7: +__8: ; // If BTREE_SAVEPOSITION is set, the cursor must already be pointing @@ -98053,24 +98066,24 @@ __7: // that the cursor is not pointing to a row to be overwritten. // So do a complete check. if !(int32((*BtCursor)(unsafe.Pointer(pCur)).FcurFlags)&BTCF_ValidNKey != 0 && (*BtreePayload)(unsafe.Pointer(pX)).FnKey == (*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnKey) { - goto __8 + goto __9 } // The cursor is pointing to the entry that is to be // overwritten if !(int32((*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnSize) != 0 && (*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnPayload == U32((*BtreePayload)(unsafe.Pointer(pX)).FnData)+U32((*BtreePayload)(unsafe.Pointer(pX)).FnZero)) { - goto __10 + goto __11 } // New entry is the same size as the old. Do an overwrite return btreeOverwriteCell(tls, pCur, pX) -__10: +__11: ; - goto __9 -__8: + goto __10 +__9: if !(*(*int32)(unsafe.Pointer(bp)) == 0) { - goto __11 + goto __12 } // The cursor is *not* pointing to the cell to be overwritten, nor // to an adjacent cell. Move the cursor so that it is pointing either @@ -98078,17 +98091,17 @@ __8: *(*int32)(unsafe.Pointer(bp + 104 /* rc */)) = Xsqlite3BtreeTableMoveto(tls, pCur, (*BtreePayload)(unsafe.Pointer(pX)).FnKey, libc.Bool32(flags&BTREE_APPEND != 0), bp) if !(*(*int32)(unsafe.Pointer(bp + 104)) != 0) { - goto __12 + goto __13 } return *(*int32)(unsafe.Pointer(bp + 104 /* rc */)) -__12: +__13: ; -__11: +__12: ; -__9: +__10: ; - goto __6 -__5: + goto __7 +__6: // This is an index or a WITHOUT ROWID table // If BTREE_SAVEPOSITION is set, the cursor must already be pointing @@ -98100,10 +98113,10 @@ __5: // not pointing to an immediately adjacent cell, then move the cursor // so that it does. if !(*(*int32)(unsafe.Pointer(bp)) == 0 && flags&BTREE_SAVEPOSITION == 0) { - goto __13 + goto __14 } if !((*BtreePayload)(unsafe.Pointer(pX)).FnMem != 0) { - goto __14 + goto __15 } (*UnpackedRecord)(unsafe.Pointer(bp + 8 /* &r */)).FpKeyInfo = (*BtCursor)(unsafe.Pointer(pCur)).FpKeyInfo (*UnpackedRecord)(unsafe.Pointer(bp + 8 /* &r */)).FaMem = (*BtreePayload)(unsafe.Pointer(pX)).FaMem @@ -98111,147 +98124,147 @@ __5: (*UnpackedRecord)(unsafe.Pointer(bp + 8 /* &r */)).Fdefault_rc = int8(0) (*UnpackedRecord)(unsafe.Pointer(bp + 8 /* &r */)).FeqSeen = U8(0) *(*int32)(unsafe.Pointer(bp + 104 /* rc */)) = Xsqlite3BtreeIndexMoveto(tls, pCur, bp+8, bp) - goto __15 -__14: + goto __16 +__15: *(*int32)(unsafe.Pointer(bp + 104 /* rc */)) = btreeMoveto(tls, pCur, (*BtreePayload)(unsafe.Pointer(pX)).FpKey, (*BtreePayload)(unsafe.Pointer(pX)).FnKey, libc.Bool32(flags&BTREE_APPEND != 0), bp) -__15: +__16: ; if !(*(*int32)(unsafe.Pointer(bp + 104)) != 0) { - goto __16 + goto __17 } return *(*int32)(unsafe.Pointer(bp + 104 /* rc */)) -__16: +__17: ; -__13: +__14: ; // If the cursor is currently pointing to an entry to be overwritten // and the new content is the same as as the old, then use the // overwrite optimization. if !(*(*int32)(unsafe.Pointer(bp)) == 0) { - goto __17 + goto __18 } getCellInfo(tls, pCur) if !((*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnKey == (*BtreePayload)(unsafe.Pointer(pX)).FnKey) { - goto __18 + goto __19 } (*BtreePayload)(unsafe.Pointer(bp + 32 /* &x2 */)).FpData = (*BtreePayload)(unsafe.Pointer(pX)).FpKey (*BtreePayload)(unsafe.Pointer(bp + 32 /* &x2 */)).FnData = int32((*BtreePayload)(unsafe.Pointer(pX)).FnKey) (*BtreePayload)(unsafe.Pointer(bp + 32 /* &x2 */)).FnZero = 0 return btreeOverwriteCell(tls, pCur, bp+32) -__18: +__19: ; -__17: +__18: ; -__6: +__7: ; pPage = (*BtCursor)(unsafe.Pointer(pCur)).FpPage if !((*MemPage)(unsafe.Pointer(pPage)).FnFree < 0) { - goto __19 + goto __20 } if !(int32((*BtCursor)(unsafe.Pointer(pCur)).FeState) > CURSOR_INVALID) { - goto __20 + goto __21 } - *(*int32)(unsafe.Pointer(bp + 104 /* rc */)) = Xsqlite3CorruptError(tls, 75134) - goto __21 -__20: - *(*int32)(unsafe.Pointer(bp + 104 /* rc */)) = btreeComputeFreeSpace(tls, pPage) + *(*int32)(unsafe.Pointer(bp + 104 /* rc */)) = Xsqlite3CorruptError(tls, 75143) + goto __22 __21: + *(*int32)(unsafe.Pointer(bp + 104 /* rc */)) = btreeComputeFreeSpace(tls, pPage) +__22: ; if !(*(*int32)(unsafe.Pointer(bp + 104)) != 0) { - goto __22 + goto __23 } return *(*int32)(unsafe.Pointer(bp + 104 /* rc */)) -__22: +__23: ; -__19: +__20: ; newCell = (*BtShared)(unsafe.Pointer(pBt)).FpTmpSpace if !(flags&BTREE_PREFORMAT != 0) { - goto __23 + goto __24 } *(*int32)(unsafe.Pointer(bp + 104 /* rc */)) = SQLITE_OK *(*int32)(unsafe.Pointer(bp + 108 /* szNew */)) = (*BtShared)(unsafe.Pointer(pBt)).FnPreformatSize if !(*(*int32)(unsafe.Pointer(bp + 108)) < 4) { - goto __25 + goto __26 } *(*int32)(unsafe.Pointer(bp + 108 /* szNew */)) = 4 -__25: +__26: ; if !((*BtShared)(unsafe.Pointer(pBt)).FautoVacuum != 0 && *(*int32)(unsafe.Pointer(bp + 108)) > int32((*MemPage)(unsafe.Pointer(pPage)).FmaxLocal)) { - goto __26 + goto __27 } (*struct { f func(*libc.TLS, uintptr, uintptr, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*MemPage)(unsafe.Pointer(pPage)).FxParseCell})).f(tls, pPage, newCell, bp+80 /* &info */) if !((*CellInfo)(unsafe.Pointer(bp+80)).FnPayload != U32((*CellInfo)(unsafe.Pointer(bp+80)).FnLocal)) { - goto __27 + goto __28 } ovfl = Xsqlite3Get4byte(tls, newCell+uintptr(*(*int32)(unsafe.Pointer(bp + 108))-4)) ptrmapPut(tls, pBt, ovfl, uint8(PTRMAP_OVERFLOW1), (*MemPage)(unsafe.Pointer(pPage)).Fpgno, bp+104) -__27: +__28: ; -__26: +__27: ; - goto __24 -__23: - *(*int32)(unsafe.Pointer(bp + 104 /* rc */)) = fillInCell(tls, pPage, newCell, pX, bp+108) + goto __25 __24: + *(*int32)(unsafe.Pointer(bp + 104 /* rc */)) = fillInCell(tls, pPage, newCell, pX, bp+108) +__25: ; if !(*(*int32)(unsafe.Pointer(bp + 104)) != 0) { - goto __28 + goto __29 } goto end_insert -__28: +__29: ; idx = int32((*BtCursor)(unsafe.Pointer(pCur)).Fix) if !(*(*int32)(unsafe.Pointer(bp)) == 0) { - goto __29 + goto __30 } if !(idx >= int32((*MemPage)(unsafe.Pointer(pPage)).FnCell)) { - goto __31 + goto __32 } - return Xsqlite3CorruptError(tls, 75170) -__31: + return Xsqlite3CorruptError(tls, 75179) +__32: ; *(*int32)(unsafe.Pointer(bp + 104 /* rc */)) = Xsqlite3PagerWrite(tls, (*MemPage)(unsafe.Pointer(pPage)).FpDbPage) if !(*(*int32)(unsafe.Pointer(bp + 104)) != 0) { - goto __32 + goto __33 } goto end_insert -__32: +__33: ; oldCell = (*MemPage)(unsafe.Pointer(pPage)).FaData + uintptr(int32((*MemPage)(unsafe.Pointer(pPage)).FmaskPage)&int32(libc.X__builtin_bswap16(tls, *(*U16)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPage)).FaCellIdx + uintptr(2*idx)))))) if !!(int32((*MemPage)(unsafe.Pointer(pPage)).Fleaf) != 0) { - goto __33 + goto __34 } libc.Xmemcpy(tls, newCell, oldCell, uint64(4)) -__33: +__34: ; (*struct { f func(*libc.TLS, uintptr, uintptr, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*MemPage)(unsafe.Pointer(pPage)).FxParseCell})).f(tls, pPage, oldCell, bp+112 /* &info1 */) if !(U32((*CellInfo)(unsafe.Pointer(bp+112 /* &info1 */)).FnLocal) != (*CellInfo)(unsafe.Pointer(bp+112 /* &info1 */)).FnPayload) { - goto __34 + goto __35 } *(*int32)(unsafe.Pointer(bp + 104 /* rc */)) = clearCellOverflow(tls, pPage, oldCell, bp+112 /* &info1 */) - goto __35 -__34: - *(*int32)(unsafe.Pointer(bp + 104 /* rc */)) = SQLITE_OK + goto __36 __35: + *(*int32)(unsafe.Pointer(bp + 104 /* rc */)) = SQLITE_OK +__36: ; *(*U8)(unsafe.Pointer(pCur + 1)) &= libc.Uint8FromInt32(libc.CplInt32(BTCF_ValidOvfl)) if !(int32((*CellInfo)(unsafe.Pointer(bp+112)).FnSize) == *(*int32)(unsafe.Pointer(bp + 108)) && U32((*CellInfo)(unsafe.Pointer(bp+112)).FnLocal) == (*CellInfo)(unsafe.Pointer(bp+112)).FnPayload && (!(int32((*BtShared)(unsafe.Pointer(pBt)).FautoVacuum) != 0) || *(*int32)(unsafe.Pointer(bp + 108)) < int32((*MemPage)(unsafe.Pointer(pPage)).FminLocal))) { - goto __36 + goto __37 } // Overwrite the old cell with the new if they are the same size. // We could also try to do this if the old cell is smaller, then add @@ -98264,42 +98277,42 @@ __35: // necessary to add the PTRMAP_OVERFLOW1 pointer-map entry. // clearCell never fails when nLocal==nPayload if !(oldCell < (*MemPage)(unsafe.Pointer(pPage)).FaData+uintptr((*MemPage)(unsafe.Pointer(pPage)).FhdrOffset)+uintptr(10)) { - goto __37 + goto __38 } - return Xsqlite3CorruptError(tls, 75197) -__37: + return Xsqlite3CorruptError(tls, 75206) +__38: ; if !(oldCell+uintptr(*(*int32)(unsafe.Pointer(bp + 108))) > (*MemPage)(unsafe.Pointer(pPage)).FaDataEnd) { - goto __38 + goto __39 } - return Xsqlite3CorruptError(tls, 75200) -__38: + return Xsqlite3CorruptError(tls, 75209) +__39: ; libc.Xmemcpy(tls, oldCell, newCell, uint64(*(*int32)(unsafe.Pointer(bp + 108 /* szNew */)))) return SQLITE_OK -__36: +__37: ; dropCell(tls, pPage, idx, int32((*CellInfo)(unsafe.Pointer(bp+112 /* &info1 */)).FnSize), bp+104) if !(*(*int32)(unsafe.Pointer(bp + 104)) != 0) { - goto __39 + goto __40 } goto end_insert -__39: +__40: ; - goto __30 -__29: + goto __31 +__30: if !(*(*int32)(unsafe.Pointer(bp)) < 0 && int32((*MemPage)(unsafe.Pointer(pPage)).FnCell) > 0) { - goto __40 + goto __41 } idx = int32(libc.PreIncUint16(&(*BtCursor)(unsafe.Pointer(pCur)).Fix, 1)) *(*U8)(unsafe.Pointer(pCur + 1)) &= libc.Uint8FromInt32(libc.CplInt32(BTCF_ValidNKey)) - goto __41 -__40: - ; + goto __42 __41: ; -__30: +__42: + ; +__31: ; insertCell(tls, pPage, idx, newCell, *(*int32)(unsafe.Pointer(bp + 108 /* szNew */)), uintptr(0), uint32(0), bp+104) @@ -98324,7 +98337,7 @@ __30: // row without seeking the cursor. This can be a big performance boost. (*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnSize = U16(0) if !((*MemPage)(unsafe.Pointer(pPage)).FnOverflow != 0) { - goto __42 + goto __43 } *(*U8)(unsafe.Pointer(pCur + 1)) &= libc.Uint8FromInt32(libc.CplInt32(BTCF_ValidNKey)) @@ -98337,30 +98350,30 @@ __30: (*MemPage)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pCur)).FpPage)).FnOverflow = U8(0) (*BtCursor)(unsafe.Pointer(pCur)).FeState = U8(CURSOR_INVALID) if !(flags&BTREE_SAVEPOSITION != 0 && *(*int32)(unsafe.Pointer(bp + 104)) == SQLITE_OK) { - goto __43 + goto __44 } btreeReleaseAllCursorPages(tls, pCur) if !((*BtCursor)(unsafe.Pointer(pCur)).FpKeyInfo != 0) { - goto __44 + goto __45 } (*BtCursor)(unsafe.Pointer(pCur)).FpKey = Xsqlite3Malloc(tls, uint64((*BtreePayload)(unsafe.Pointer(pX)).FnKey)) if !((*BtCursor)(unsafe.Pointer(pCur)).FpKey == uintptr(0)) { - goto __45 + goto __46 } *(*int32)(unsafe.Pointer(bp + 104 /* rc */)) = SQLITE_NOMEM - goto __46 -__45: - libc.Xmemcpy(tls, (*BtCursor)(unsafe.Pointer(pCur)).FpKey, (*BtreePayload)(unsafe.Pointer(pX)).FpKey, uint64((*BtreePayload)(unsafe.Pointer(pX)).FnKey)) + goto __47 __46: + libc.Xmemcpy(tls, (*BtCursor)(unsafe.Pointer(pCur)).FpKey, (*BtreePayload)(unsafe.Pointer(pX)).FpKey, uint64((*BtreePayload)(unsafe.Pointer(pX)).FnKey)) +__47: ; -__44: +__45: ; (*BtCursor)(unsafe.Pointer(pCur)).FeState = U8(CURSOR_REQUIRESEEK) (*BtCursor)(unsafe.Pointer(pCur)).FnKey = (*BtreePayload)(unsafe.Pointer(pX)).FnKey -__43: +__44: ; -__42: +__43: ; end_insert: @@ -98380,7 +98393,7 @@ end_insert: // calling sqlite3BtreeInsert() with the BTREE_PREFORMAT flag specified. // // SQLITE_OK is returned if successful, or an SQLite error code otherwise. -func Xsqlite3BtreeTransferRow(tls *libc.TLS, pDest uintptr, pSrc uintptr, iKey I64) int32 { /* sqlite3.c:75286:20: */ +func Xsqlite3BtreeTransferRow(tls *libc.TLS, pDest uintptr, pSrc uintptr, iKey I64) int32 { /* sqlite3.c:75295:20: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -98407,7 +98420,7 @@ func Xsqlite3BtreeTransferRow(tls *libc.TLS, pDest uintptr, pSrc uintptr, iKey I nIn = U32((*BtCursor)(unsafe.Pointer(pSrc)).Finfo.FnLocal) aIn = (*BtCursor)(unsafe.Pointer(pSrc)).Finfo.FpPayload if aIn+uintptr(nIn) > (*MemPage)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pSrc)).FpPage)).FaDataEnd { - return Xsqlite3CorruptError(tls, 75300) + return Xsqlite3CorruptError(tls, 75309) } nRem = (*BtCursor)(unsafe.Pointer(pSrc)).Finfo.FnPayload if nIn == nRem && nIn < U32((*MemPage)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pDest)).FpPage)).FmaxLocal) { @@ -98430,7 +98443,7 @@ func Xsqlite3BtreeTransferRow(tls *libc.TLS, pDest uintptr, pSrc uintptr, iKey I if nRem > nIn { if aIn+uintptr(nIn)+uintptr(4) > (*MemPage)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pSrc)).FpPage)).FaDataEnd { - return Xsqlite3CorruptError(tls, 75323) + return Xsqlite3CorruptError(tls, 75332) } ovflIn = Xsqlite3Get4byte(tls, (*BtCursor)(unsafe.Pointer(pSrc)).Finfo.FpPayload+uintptr(nIn)) } @@ -98512,7 +98525,7 @@ func Xsqlite3BtreeTransferRow(tls *libc.TLS, pDest uintptr, pSrc uintptr, iKey I // operation on non-FORDELETE cursors is tagged with the AUXDELETE flag. // The BTREE_AUXDELETE bit is a hint that is not used by this implementation, // but which might be used by alternative storage engines. -func Xsqlite3BtreeDelete(tls *libc.TLS, pCur uintptr, flags U8) int32 { /* sqlite3.c:75396:20: */ +func Xsqlite3BtreeDelete(tls *libc.TLS, pCur uintptr, flags U8) int32 { /* sqlite3.c:75405:20: */ bp := tls.Alloc(28) defer tls.Free(28) @@ -98528,11 +98541,15 @@ func Xsqlite3BtreeDelete(tls *libc.TLS, pCur uintptr, flags U8) int32 { /* sqlit // Size of the cell being deleted var bPreserve U8 // Keep cursor valid. 2 for CURSOR_SKIPNEXT - if int32((*BtCursor)(unsafe.Pointer(pCur)).FeState) == CURSOR_REQUIRESEEK { - *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) = btreeRestoreCursorPosition(tls, pCur) + if int32((*BtCursor)(unsafe.Pointer(pCur)).FeState) != CURSOR_VALID { + if int32((*BtCursor)(unsafe.Pointer(pCur)).FeState) >= CURSOR_REQUIRESEEK { + *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) = btreeRestoreCursorPosition(tls, pCur) - if *(*int32)(unsafe.Pointer(bp + 24)) != 0 || int32((*BtCursor)(unsafe.Pointer(pCur)).FeState) != CURSOR_VALID { - return *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) + if *(*int32)(unsafe.Pointer(bp + 24)) != 0 || int32((*BtCursor)(unsafe.Pointer(pCur)).FeState) != CURSOR_VALID { + return *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) + } + } else { + return Xsqlite3CorruptError(tls, 75429) } } @@ -98540,11 +98557,11 @@ func Xsqlite3BtreeDelete(tls *libc.TLS, pCur uintptr, flags U8) int32 { /* sqlit iCellIdx = int32((*BtCursor)(unsafe.Pointer(pCur)).Fix) pPage = (*BtCursor)(unsafe.Pointer(pCur)).FpPage if int32((*MemPage)(unsafe.Pointer(pPage)).FnCell) <= iCellIdx { - return Xsqlite3CorruptError(tls, 75425) + return Xsqlite3CorruptError(tls, 75438) } pCell = (*MemPage)(unsafe.Pointer(pPage)).FaData + uintptr(int32((*MemPage)(unsafe.Pointer(pPage)).FmaskPage)&int32(libc.X__builtin_bswap16(tls, *(*U16)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPage)).FaCellIdx + uintptr(2*iCellIdx)))))) if (*MemPage)(unsafe.Pointer(pPage)).FnFree < 0 && btreeComputeFreeSpace(tls, pPage) != 0 { - return Xsqlite3CorruptError(tls, 75429) + return Xsqlite3CorruptError(tls, 75442) } // If the BTREE_SAVEPOSITION bit is on, then the cursor position must @@ -98653,7 +98670,7 @@ func Xsqlite3BtreeDelete(tls *libc.TLS, pCur uintptr, flags U8) int32 { /* sqlit } pCell = (*MemPage)(unsafe.Pointer(pLeaf)).FaData + uintptr(int32((*MemPage)(unsafe.Pointer(pLeaf)).FmaskPage)&int32(libc.X__builtin_bswap16(tls, *(*U16)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pLeaf)).FaCellIdx + uintptr(2*(int32((*MemPage)(unsafe.Pointer(pLeaf)).FnCell)-1))))))) if pCell < (*MemPage)(unsafe.Pointer(pLeaf)).FaData+4 { - return Xsqlite3CorruptError(tls, 75519) + return Xsqlite3CorruptError(tls, 75532) } nCell = int32((*struct { f func(*libc.TLS, uintptr, uintptr) U16 @@ -98730,7 +98747,7 @@ func Xsqlite3BtreeDelete(tls *libc.TLS, pCur uintptr, flags U8) int32 { /* sqlit // // BTREE_INTKEY|BTREE_LEAFDATA Used for SQL tables with rowid keys // BTREE_ZERODATA Used for SQL indices -func btreeCreateTable(tls *libc.TLS, p uintptr, piTable uintptr, createTabFlags int32) int32 { /* sqlite3.c:75593:12: */ +func btreeCreateTable(tls *libc.TLS, p uintptr, piTable uintptr, createTabFlags int32) int32 { /* sqlite3.c:75606:12: */ bp := tls.Alloc(44) defer tls.Free(44) @@ -98760,7 +98777,7 @@ func btreeCreateTable(tls *libc.TLS, p uintptr, piTable uintptr, createTabFlags // created so far, so the new root-page is (meta[3]+1). Xsqlite3BtreeGetMeta(tls, p, BTREE_LARGEST_ROOT_PAGE, bp) if *(*Pgno)(unsafe.Pointer(bp)) > btreePagecount(tls, pBt) { - return Xsqlite3CorruptError(tls, 75627) + return Xsqlite3CorruptError(tls, 75640) } *(*Pgno)(unsafe.Pointer(bp /* pgnoRoot */))++ @@ -98803,7 +98820,7 @@ func btreeCreateTable(tls *libc.TLS, p uintptr, piTable uintptr, createTabFlags } *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = ptrmapGet(tls, pBt, *(*Pgno)(unsafe.Pointer(bp /* pgnoRoot */)), bp+32, bp+36) if int32(*(*U8)(unsafe.Pointer(bp + 32))) == PTRMAP_ROOTPAGE || int32(*(*U8)(unsafe.Pointer(bp + 32))) == PTRMAP_FREEPAGE { - *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = Xsqlite3CorruptError(tls, 75675) + *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = Xsqlite3CorruptError(tls, 75688) } if *(*int32)(unsafe.Pointer(bp + 40)) != SQLITE_OK { releasePage(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* pRoot */))) @@ -98866,7 +98883,7 @@ func btreeCreateTable(tls *libc.TLS, p uintptr, piTable uintptr, createTabFlags return SQLITE_OK } -func Xsqlite3BtreeCreateTable(tls *libc.TLS, p uintptr, piTable uintptr, flags int32) int32 { /* sqlite3.c:75738:20: */ +func Xsqlite3BtreeCreateTable(tls *libc.TLS, p uintptr, piTable uintptr, flags int32) int32 { /* sqlite3.c:75751:20: */ var rc int32 Xsqlite3BtreeEnter(tls, p) rc = btreeCreateTable(tls, p, piTable, flags) @@ -98876,7 +98893,7 @@ func Xsqlite3BtreeCreateTable(tls *libc.TLS, p uintptr, piTable uintptr, flags i // Erase the given database page and all its children. Return // the page to the freelist. -func clearDatabasePage(tls *libc.TLS, pBt uintptr, pgno Pgno, freePageFlag int32, pnChange uintptr) int32 { /* sqlite3.c:75750:12: */ +func clearDatabasePage(tls *libc.TLS, pBt uintptr, pgno Pgno, freePageFlag int32, pnChange uintptr) int32 { /* sqlite3.c:75763:12: */ bp := tls.Alloc(36) defer tls.Free(36) @@ -98892,7 +98909,7 @@ func clearDatabasePage(tls *libc.TLS, pBt uintptr, pgno Pgno, freePageFlag int32 if !(pgno > btreePagecount(tls, pBt)) { goto __1 } - return Xsqlite3CorruptError(tls, 75765) + return Xsqlite3CorruptError(tls, 75778) __1: ; *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) = getAndInitPage(tls, pBt, pgno, bp, uintptr(0), 0) @@ -98906,7 +98923,7 @@ __2: Xsqlite3PagerPageRefcount(tls, (*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FpDbPage) != 1+libc.Bool32(pgno == Pgno(1))) { goto __3 } - *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) = Xsqlite3CorruptError(tls, 75772) + *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) = Xsqlite3CorruptError(tls, 75785) goto cleardatabasepage_out __3: ; @@ -99010,7 +99027,7 @@ cleardatabasepage_out: // // If pnChange is not NULL, then the integer value pointed to by pnChange // is incremented by the number of entries in the table. -func Xsqlite3BtreeClearTable(tls *libc.TLS, p uintptr, iTable int32, pnChange uintptr) int32 { /* sqlite3.c:75817:20: */ +func Xsqlite3BtreeClearTable(tls *libc.TLS, p uintptr, iTable int32, pnChange uintptr) int32 { /* sqlite3.c:75830:20: */ var rc int32 var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt Xsqlite3BtreeEnter(tls, p) @@ -99033,7 +99050,7 @@ func Xsqlite3BtreeClearTable(tls *libc.TLS, p uintptr, iTable int32, pnChange ui // Delete all information from the single table that pCur is open on. // // This routine only work for pCur on an ephemeral table. -func Xsqlite3BtreeClearTableOfCursor(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:75843:20: */ +func Xsqlite3BtreeClearTableOfCursor(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:75856:20: */ return Xsqlite3BtreeClearTable(tls, (*BtCursor)(unsafe.Pointer(pCur)).FpBtree, int32((*BtCursor)(unsafe.Pointer(pCur)).FpgnoRoot), uintptr(0)) } @@ -99055,7 +99072,7 @@ func Xsqlite3BtreeClearTableOfCursor(tls *libc.TLS, pCur uintptr) int32 { /* sql // the move. If no page gets moved, *piMoved is set to 0. // The last root page is recorded in meta[3] and the value of // meta[3] is updated by this procedure. -func btreeDropTable(tls *libc.TLS, p uintptr, iTable Pgno, piMoved uintptr) int32 { /* sqlite3.c:75867:12: */ +func btreeDropTable(tls *libc.TLS, p uintptr, iTable Pgno, piMoved uintptr) int32 { /* sqlite3.c:75880:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -99065,7 +99082,7 @@ func btreeDropTable(tls *libc.TLS, p uintptr, iTable Pgno, piMoved uintptr) int3 var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt if iTable > btreePagecount(tls, pBt) { - return Xsqlite3CorruptError(tls, 75876) + return Xsqlite3CorruptError(tls, 75889) } *(*int32)(unsafe.Pointer(bp + 12 /* rc */)) = Xsqlite3BtreeClearTable(tls, p, int32(iTable), uintptr(0)) @@ -99137,7 +99154,7 @@ func btreeDropTable(tls *libc.TLS, p uintptr, iTable Pgno, piMoved uintptr) int3 return *(*int32)(unsafe.Pointer(bp + 12 /* rc */)) } -func Xsqlite3BtreeDropTable(tls *libc.TLS, p uintptr, iTable int32, piMoved uintptr) int32 { /* sqlite3.c:75952:20: */ +func Xsqlite3BtreeDropTable(tls *libc.TLS, p uintptr, iTable int32, piMoved uintptr) int32 { /* sqlite3.c:75965:20: */ var rc int32 Xsqlite3BtreeEnter(tls, p) rc = btreeDropTable(tls, p, uint32(iTable), piMoved) @@ -99163,7 +99180,7 @@ func Xsqlite3BtreeDropTable(tls *libc.TLS, p uintptr, iTable int32, piMoved uint // database file. It is a number computed by the pager. But its access // pattern is the same as header meta values, and so it is convenient to // read it from this routine. -func Xsqlite3BtreeGetMeta(tls *libc.TLS, p uintptr, idx int32, pMeta uintptr) { /* sqlite3.c:75981:21: */ +func Xsqlite3BtreeGetMeta(tls *libc.TLS, p uintptr, idx int32, pMeta uintptr) { /* sqlite3.c:75994:21: */ var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt Xsqlite3BtreeEnter(tls, p) @@ -99182,7 +99199,7 @@ func Xsqlite3BtreeGetMeta(tls *libc.TLS, p uintptr, idx int32, pMeta uintptr) { // Write meta-information back into the database. Meta[0] is // read-only and may not be written. -func Xsqlite3BtreeUpdateMeta(tls *libc.TLS, p uintptr, idx int32, iMeta U32) int32 { /* sqlite3.c:76011:20: */ +func Xsqlite3BtreeUpdateMeta(tls *libc.TLS, p uintptr, idx int32, iMeta U32) int32 { /* sqlite3.c:76024:20: */ var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt var pP1 uintptr var rc int32 @@ -99208,7 +99225,7 @@ func Xsqlite3BtreeUpdateMeta(tls *libc.TLS, p uintptr, idx int32, iMeta U32) int // SQLITE_OK is returned if the operation is successfully executed. // Otherwise, if an error is encountered (i.e. an IO error or database // corruption) an SQLite error code is returned. -func Xsqlite3BtreeCount(tls *libc.TLS, db uintptr, pCur uintptr, pnEntry uintptr) int32 { /* sqlite3.c:76043:20: */ +func Xsqlite3BtreeCount(tls *libc.TLS, db uintptr, pCur uintptr, pnEntry uintptr) int32 { /* sqlite3.c:76056:20: */ var nEntry I64 = int64(0) // Value to return in *pnEntry var rc int32 // Return code @@ -99271,12 +99288,12 @@ func Xsqlite3BtreeCount(tls *libc.TLS, db uintptr, pCur uintptr, pnEntry uintptr // Return the pager associated with a BTree. This routine is used for // testing and debugging only. -func Xsqlite3BtreePager(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:76112:22: */ +func Xsqlite3BtreePager(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:76125:22: */ return (*BtShared)(unsafe.Pointer((*Btree)(unsafe.Pointer(p)).FpBt)).FpPager } // Append a message to the error message string. -func checkAppendMsg(tls *libc.TLS, pCheck uintptr, zFormat uintptr, va uintptr) { /* sqlite3.c:76120:13: */ +func checkAppendMsg(tls *libc.TLS, pCheck uintptr, zFormat uintptr, va uintptr) { /* sqlite3.c:76133:13: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -99303,13 +99320,13 @@ func checkAppendMsg(tls *libc.TLS, pCheck uintptr, zFormat uintptr, va uintptr) // Return non-zero if the bit in the IntegrityCk.aPgRef[] array that // corresponds to page iPg is already set. -func getPageReferenced(tls *libc.TLS, pCheck uintptr, iPg Pgno) int32 { /* sqlite3.c:76150:12: */ +func getPageReferenced(tls *libc.TLS, pCheck uintptr, iPg Pgno) int32 { /* sqlite3.c:76163:12: */ return int32(*(*U8)(unsafe.Pointer((*IntegrityCk)(unsafe.Pointer(pCheck)).FaPgRef + uintptr(iPg/Pgno(8))))) & (int32(1) << (iPg & Pgno(0x07))) } // Set the bit in the IntegrityCk.aPgRef[] array that corresponds to page iPg. -func setPageReferenced(tls *libc.TLS, pCheck uintptr, iPg Pgno) { /* sqlite3.c:76158:13: */ +func setPageReferenced(tls *libc.TLS, pCheck uintptr, iPg Pgno) { /* sqlite3.c:76171:13: */ *(*U8)(unsafe.Pointer((*IntegrityCk)(unsafe.Pointer(pCheck)).FaPgRef + uintptr(iPg/Pgno(8)))) |= U8(int32(1) << (iPg & Pgno(0x07))) } @@ -99320,7 +99337,7 @@ func setPageReferenced(tls *libc.TLS, pCheck uintptr, iPg Pgno) { /* sqlite3.c:7 // if this is the first reference to the page. // // Also check that the page number is in bounds. -func checkRef(tls *libc.TLS, pCheck uintptr, iPage Pgno) int32 { /* sqlite3.c:76172:12: */ +func checkRef(tls *libc.TLS, pCheck uintptr, iPage Pgno) int32 { /* sqlite3.c:76185:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -99342,7 +99359,7 @@ func checkRef(tls *libc.TLS, pCheck uintptr, iPage Pgno) int32 { /* sqlite3.c:76 // Check that the entry in the pointer-map for page iChild maps to // page iParent, pointer type ptrType. If not, append an error message // to pCheck. -func checkPtrmap(tls *libc.TLS, pCheck uintptr, iChild Pgno, eType U8, iParent Pgno) { /* sqlite3.c:76192:13: */ +func checkPtrmap(tls *libc.TLS, pCheck uintptr, iChild Pgno, eType U8, iParent Pgno) { /* sqlite3.c:76205:13: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -99369,7 +99386,7 @@ func checkPtrmap(tls *libc.TLS, pCheck uintptr, iChild Pgno, eType U8, iParent P // Check the integrity of the freelist or of an overflow page list. // Verify that the number of pages on the list is N. -func checkList(tls *libc.TLS, pCheck uintptr, isFreeList int32, iPage Pgno, N U32) { /* sqlite3.c:76221:13: */ +func checkList(tls *libc.TLS, pCheck uintptr, isFreeList int32, iPage Pgno, N U32) { /* sqlite3.c:76234:13: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -99453,7 +99470,7 @@ func checkList(tls *libc.TLS, pCheck uintptr, isFreeList int32, iPage Pgno, N U3 // entry represents the span of a cell or freeblock on a btree page. // The upper 16 bits are the index of the first byte of a range and the // lower 16 bits are the index of the last byte of that range. -func btreeHeapInsert(tls *libc.TLS, aHeap uintptr, x U32) { /* sqlite3.c:76310:13: */ +func btreeHeapInsert(tls *libc.TLS, aHeap uintptr, x U32) { /* sqlite3.c:76323:13: */ var j U32 var i U32 = libc.PreIncUint32(&*(*U32)(unsafe.Pointer(aHeap)), 1) *(*U32)(unsafe.Pointer(aHeap + uintptr(i)*4)) = x @@ -99465,7 +99482,7 @@ func btreeHeapInsert(tls *libc.TLS, aHeap uintptr, x U32) { /* sqlite3.c:76310:1 } } -func btreeHeapPull(tls *libc.TLS, aHeap uintptr, pOut uintptr) int32 { /* sqlite3.c:76320:12: */ +func btreeHeapPull(tls *libc.TLS, aHeap uintptr, pOut uintptr) int32 { /* sqlite3.c:76333:12: */ var j U32 var i U32 var x U32 @@ -99504,7 +99521,7 @@ func btreeHeapPull(tls *libc.TLS, aHeap uintptr, pOut uintptr) int32 { /* sqlite // 3. Check the integrity of overflow pages. // 4. Recursively call checkTreePage on all children. // 5. Verify that the depth of all children is the same. -func checkTreePage(tls *libc.TLS, pCheck uintptr, iPage Pgno, piMinKey uintptr, maxKey I64) int32 { /* sqlite3.c:76354:12: */ +func checkTreePage(tls *libc.TLS, pCheck uintptr, iPage Pgno, piMinKey uintptr, maxKey I64) int32 { /* sqlite3.c:76367:12: */ bp := tls.Alloc(140) defer tls.Free(140) *(*I64)(unsafe.Pointer(bp + 104)) = maxKey @@ -99893,7 +99910,7 @@ __34: // since obviously it is not possible to know which pages are covered by // the unverified btrees. Except, if aRoot[1] is 1, then the freelist // checks are still performed. -func Xsqlite3BtreeIntegrityCheck(tls *libc.TLS, db uintptr, p uintptr, aRoot uintptr, nRoot int32, mxErr int32, pnErr uintptr) uintptr { /* sqlite3.c:76633:21: */ +func Xsqlite3BtreeIntegrityCheck(tls *libc.TLS, db uintptr, p uintptr, aRoot uintptr, nRoot int32, mxErr int32, pnErr uintptr) uintptr { /* sqlite3.c:76646:21: */ bp := tls.Alloc(248) defer tls.Free(248) @@ -100127,7 +100144,7 @@ __29: // // The pager filename is invariant as long as the pager is // open so it is safe to access without the BtShared mutex. -func Xsqlite3BtreeGetFilename(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:76788:27: */ +func Xsqlite3BtreeGetFilename(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:76801:27: */ return Xsqlite3PagerFilename(tls, (*BtShared)(unsafe.Pointer((*Btree)(unsafe.Pointer(p)).FpBt)).FpPager, 1) } @@ -100138,14 +100155,14 @@ func Xsqlite3BtreeGetFilename(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:7 // // The pager journal filename is invariant as long as the pager is // open so it is safe to access without the BtShared mutex. -func Xsqlite3BtreeGetJournalname(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:76801:27: */ +func Xsqlite3BtreeGetJournalname(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:76814:27: */ return Xsqlite3PagerJournalname(tls, (*BtShared)(unsafe.Pointer((*Btree)(unsafe.Pointer(p)).FpBt)).FpPager) } // Return one of SQLITE_TXN_NONE, SQLITE_TXN_READ, or SQLITE_TXN_WRITE // to describe the current transaction state of Btree p. -func Xsqlite3BtreeTxnState(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:76810:20: */ +func Xsqlite3BtreeTxnState(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:76823:20: */ if p != 0 { return int32((*Btree)(unsafe.Pointer(p)).FinTrans) @@ -100159,7 +100176,7 @@ func Xsqlite3BtreeTxnState(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:76810: // transaction on the shared-cache the argument Btree is connected to. // // Parameter eMode is one of SQLITE_CHECKPOINT_PASSIVE, FULL or RESTART. -func Xsqlite3BtreeCheckpoint(tls *libc.TLS, p uintptr, eMode int32, pnLog uintptr, pnCkpt uintptr) int32 { /* sqlite3.c:76824:20: */ +func Xsqlite3BtreeCheckpoint(tls *libc.TLS, p uintptr, eMode int32, pnLog uintptr, pnCkpt uintptr) int32 { /* sqlite3.c:76837:20: */ var rc int32 = SQLITE_OK if p != 0 { var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt @@ -100175,7 +100192,7 @@ func Xsqlite3BtreeCheckpoint(tls *libc.TLS, p uintptr, eMode int32, pnLog uintpt } // Return true if there is currently a backup running on Btree p. -func Xsqlite3BtreeIsInBackup(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:76843:20: */ +func Xsqlite3BtreeIsInBackup(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:76856:20: */ return libc.Bool32((*Btree)(unsafe.Pointer(p)).FnBackup != 0) } @@ -100198,7 +100215,7 @@ func Xsqlite3BtreeIsInBackup(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:7684 // xFree argument when the memory allocation was made is invoked on the // blob of allocated memory. The xFree function should not call sqlite3_free() // on the memory, the btree layer does that. -func Xsqlite3BtreeSchema(tls *libc.TLS, p uintptr, nBytes int32, xFree uintptr) uintptr { /* sqlite3.c:76869:21: */ +func Xsqlite3BtreeSchema(tls *libc.TLS, p uintptr, nBytes int32, xFree uintptr) uintptr { /* sqlite3.c:76882:21: */ var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt Xsqlite3BtreeEnter(tls, p) if !(int32((*BtShared)(unsafe.Pointer(pBt)).FpSchema) != 0) && nBytes != 0 { @@ -100212,7 +100229,7 @@ func Xsqlite3BtreeSchema(tls *libc.TLS, p uintptr, nBytes int32, xFree uintptr) // Return SQLITE_LOCKED_SHAREDCACHE if another user of the same shared // btree as the argument handle holds an exclusive lock on the // sqlite_schema table. Otherwise SQLITE_OK. -func Xsqlite3BtreeSchemaLocked(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:76885:20: */ +func Xsqlite3BtreeSchemaLocked(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:76898:20: */ var rc int32 Xsqlite3BtreeEnter(tls, p) @@ -100225,7 +100242,7 @@ func Xsqlite3BtreeSchemaLocked(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:76 // Obtain a lock on the table whose root page is iTab. The // lock is a write lock if isWritelock is true or a read lock // if it is false. -func Xsqlite3BtreeLockTable(tls *libc.TLS, p uintptr, iTab int32, isWriteLock U8) int32 { /* sqlite3.c:76902:20: */ +func Xsqlite3BtreeLockTable(tls *libc.TLS, p uintptr, iTab int32, isWriteLock U8) int32 { /* sqlite3.c:76915:20: */ var rc int32 = SQLITE_OK if (*Btree)(unsafe.Pointer(p)).Fsharable != 0 { @@ -100249,7 +100266,7 @@ func Xsqlite3BtreeLockTable(tls *libc.TLS, p uintptr, iTab int32, isWriteLock U8 // change the length of the data stored. If this function is called with // parameters that attempt to write past the end of the existing data, // no modifications are made and SQLITE_CORRUPT is returned. -func Xsqlite3BtreePutData(tls *libc.TLS, pCsr uintptr, offset U32, amt U32, z uintptr) int32 { /* sqlite3.c:76932:20: */ +func Xsqlite3BtreePutData(tls *libc.TLS, pCsr uintptr, offset U32, amt U32, z uintptr) int32 { /* sqlite3.c:76945:20: */ var rc int32 rc = func() int32 { @@ -100289,7 +100306,7 @@ func Xsqlite3BtreePutData(tls *libc.TLS, pCsr uintptr, offset U32, amt U32, z ui } // Mark this cursor as an incremental blob cursor. -func Xsqlite3BtreeIncrblobCursor(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:76980:21: */ +func Xsqlite3BtreeIncrblobCursor(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:76993:21: */ *(*U8)(unsafe.Pointer(pCur + 1)) |= U8(BTCF_Incrblob) (*Btree)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pCur)).FpBtree)).FhasIncrblobCur = U8(1) } @@ -100297,7 +100314,7 @@ func Xsqlite3BtreeIncrblobCursor(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:769 // Set both the "read version" (single byte at byte offset 18) and // "write version" (single byte at byte offset 19) fields in the database // header to iVersion. -func Xsqlite3BtreeSetVersion(tls *libc.TLS, pBtree uintptr, iVersion int32) int32 { /* sqlite3.c:76991:20: */ +func Xsqlite3BtreeSetVersion(tls *libc.TLS, pBtree uintptr, iVersion int32) int32 { /* sqlite3.c:77004:20: */ var pBt uintptr = (*Btree)(unsafe.Pointer(pBtree)).FpBt var rc int32 // Return code @@ -100329,29 +100346,29 @@ func Xsqlite3BtreeSetVersion(tls *libc.TLS, pBtree uintptr, iVersion int32) int3 // Return true if the cursor has a hint specified. This routine is // only used from within assert() statements -func Xsqlite3BtreeCursorHasHint(tls *libc.TLS, pCsr uintptr, mask uint32) int32 { /* sqlite3.c:77026:20: */ +func Xsqlite3BtreeCursorHasHint(tls *libc.TLS, pCsr uintptr, mask uint32) int32 { /* sqlite3.c:77039:20: */ return libc.Bool32(uint32((*BtCursor)(unsafe.Pointer(pCsr)).Fhints)&mask != uint32(0)) } // Return true if the given Btree is read-only. -func Xsqlite3BtreeIsReadonly(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:77033:20: */ +func Xsqlite3BtreeIsReadonly(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:77046:20: */ return libc.Bool32(int32((*BtShared)(unsafe.Pointer((*Btree)(unsafe.Pointer(p)).FpBt)).FbtsFlags)&BTS_READ_ONLY != 0) } // Return the size of the header added to each page by this module. -func Xsqlite3HeaderSizeBtree(tls *libc.TLS) int32 { /* sqlite3.c:77040:20: */ +func Xsqlite3HeaderSizeBtree(tls *libc.TLS) int32 { /* sqlite3.c:77053:20: */ return int32((uint64(unsafe.Sizeof(MemPage{})) + uint64(7)) & libc.Uint64FromInt32(libc.CplInt32(7))) } // Return true if the Btree passed as the only argument is sharable. -func Xsqlite3BtreeSharable(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:77046:20: */ +func Xsqlite3BtreeSharable(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:77059:20: */ return int32((*Btree)(unsafe.Pointer(p)).Fsharable) } // Return the number of connections to the BtShared object accessed by // the Btree handle passed as the only argument. For private caches // this is always 1. For shared caches it may be 1 or greater. -func Xsqlite3BtreeConnectionCount(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:77055:20: */ +func Xsqlite3BtreeConnectionCount(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:77068:20: */ return (*BtShared)(unsafe.Pointer((*Btree)(unsafe.Pointer(p)).FpBt)).FnRef } @@ -100391,7 +100408,7 @@ func Xsqlite3BtreeConnectionCount(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c // If the "temp" database is requested, it may need to be opened by this // function. If an error occurs while doing so, return 0 and write an // error message to pErrorDb. -func findBtree(tls *libc.TLS, pErrorDb uintptr, pDb uintptr, zDb uintptr) uintptr { /* sqlite3.c:77144:14: */ +func findBtree(tls *libc.TLS, pErrorDb uintptr, pDb uintptr, zDb uintptr) uintptr { /* sqlite3.c:77157:14: */ bp := tls.Alloc(424) defer tls.Free(424) @@ -100423,7 +100440,7 @@ func findBtree(tls *libc.TLS, pErrorDb uintptr, pDb uintptr, zDb uintptr) uintpt // Attempt to set the page size of the destination to match the page size // of the source. -func setDestPgsz(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:77174:12: */ +func setDestPgsz(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:77187:12: */ var rc int32 rc = Xsqlite3BtreeSetPageSize(tls, (*Sqlite3_backup)(unsafe.Pointer(p)).FpDest, Xsqlite3BtreeGetPageSize(tls, (*Sqlite3_backup)(unsafe.Pointer(p)).FpSrc), 0, 0) return rc @@ -100433,7 +100450,7 @@ func setDestPgsz(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:77174:12: */ // second argument. If there is not, return SQLITE_OK. Otherwise, if there // is an open read-transaction, return SQLITE_ERROR and leave an error // message in database handle db. -func checkReadTransaction(tls *libc.TLS, db uintptr, p uintptr) int32 { /* sqlite3.c:77186:12: */ +func checkReadTransaction(tls *libc.TLS, db uintptr, p uintptr) int32 { /* sqlite3.c:77199:12: */ if Xsqlite3BtreeTxnState(tls, p) != SQLITE_TXN_NONE { Xsqlite3ErrorWithMsg(tls, db, SQLITE_ERROR, ts+6157, 0) return SQLITE_ERROR @@ -100447,7 +100464,7 @@ func checkReadTransaction(tls *libc.TLS, db uintptr, p uintptr) int32 { /* sqlit // // If an error occurs, NULL is returned and an error code and error message // stored in database handle pDestDb. -func Xsqlite3_backup_init(tls *libc.TLS, pDestDb uintptr, zDestDb uintptr, pSrcDb uintptr, zSrcDb uintptr) uintptr { /* sqlite3.c:77202:27: */ +func Xsqlite3_backup_init(tls *libc.TLS, pDestDb uintptr, zDestDb uintptr, pSrcDb uintptr, zSrcDb uintptr) uintptr { /* sqlite3.c:77215:27: */ var p uintptr // Value to return // Lock the source database handle. The destination database @@ -100507,14 +100524,14 @@ func Xsqlite3_backup_init(tls *libc.TLS, pDestDb uintptr, zDestDb uintptr, pSrcD // Argument rc is an SQLite error code. Return true if this error is // considered fatal if encountered during a backup operation. All errors // are considered fatal except for SQLITE_BUSY and SQLITE_LOCKED. -func isFatalError(tls *libc.TLS, rc int32) int32 { /* sqlite3.c:77279:12: */ +func isFatalError(tls *libc.TLS, rc int32) int32 { /* sqlite3.c:77292:12: */ return libc.Bool32(rc != SQLITE_OK && rc != SQLITE_BUSY && rc != SQLITE_LOCKED) } // Parameter zSrcData points to a buffer containing the data for // page iSrcPg from the source database. Copy this data into the // destination database. -func backupOnePage(tls *libc.TLS, p uintptr, iSrcPg Pgno, zSrcData uintptr, bUpdate int32) int32 { /* sqlite3.c:77288:12: */ +func backupOnePage(tls *libc.TLS, p uintptr, iSrcPg Pgno, zSrcData uintptr, bUpdate int32) int32 { /* sqlite3.c:77301:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -100576,7 +100593,7 @@ func backupOnePage(tls *libc.TLS, p uintptr, iSrcPg Pgno, zSrcData uintptr, bUpd // // Return SQLITE_OK if everything is successful, or an SQLite error // code if an error occurs. -func backupTruncateFile(tls *libc.TLS, pFile uintptr, iSize I64) int32 { /* sqlite3.c:77357:12: */ +func backupTruncateFile(tls *libc.TLS, pFile uintptr, iSize I64) int32 { /* sqlite3.c:77370:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -100591,7 +100608,7 @@ func backupTruncateFile(tls *libc.TLS, pFile uintptr, iSize I64) int32 { /* sqli // Register this backup object with the associated source pager for // callbacks when pages are changed or the cache invalidated. -func attachBackupObject(tls *libc.TLS, p uintptr) { /* sqlite3.c:77370:13: */ +func attachBackupObject(tls *libc.TLS, p uintptr) { /* sqlite3.c:77383:13: */ var pp uintptr pp = Xsqlite3PagerBackupPtr(tls, Xsqlite3BtreePager(tls, (*Sqlite3_backup)(unsafe.Pointer(p)).FpSrc)) @@ -100601,7 +100618,7 @@ func attachBackupObject(tls *libc.TLS, p uintptr) { /* sqlite3.c:77370:13: */ } // Copy nPage pages from the source b-tree to the destination. -func Xsqlite3_backup_step(tls *libc.TLS, p uintptr, nPage int32) int32 { /* sqlite3.c:77382:16: */ +func Xsqlite3_backup_step(tls *libc.TLS, p uintptr, nPage int32) int32 { /* sqlite3.c:77395:16: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -100839,7 +100856,7 @@ func Xsqlite3_backup_step(tls *libc.TLS, p uintptr, nPage int32) int32 { /* sqli } // Release all resources associated with an sqlite3_backup* handle. -func Xsqlite3_backup_finish(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:77636:16: */ +func Xsqlite3_backup_finish(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:77649:16: */ var pp uintptr // Ptr to head of pagers backup list var pSrcDb uintptr // Source database connection var rc int32 // Value to return @@ -100897,13 +100914,13 @@ func Xsqlite3_backup_finish(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:77636 // Return the number of pages still to be backed up as of the most recent // call to sqlite3_backup_step(). -func Xsqlite3_backup_remaining(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:77690:16: */ +func Xsqlite3_backup_remaining(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:77703:16: */ return int32((*Sqlite3_backup)(unsafe.Pointer(p)).FnRemaining) } // Return the total number of pages in the source database as of the most // recent call to sqlite3_backup_step(). -func Xsqlite3_backup_pagecount(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:77704:16: */ +func Xsqlite3_backup_pagecount(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:77717:16: */ return int32((*Sqlite3_backup)(unsafe.Pointer(p)).FnPagecount) } @@ -100917,7 +100934,7 @@ func Xsqlite3_backup_pagecount(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:77 // It is assumed that the mutex associated with the BtShared object // corresponding to the source database is held when this function is // called. -func backupUpdate(tls *libc.TLS, p uintptr, iPage Pgno, aData uintptr) { /* sqlite3.c:77726:29: */ +func backupUpdate(tls *libc.TLS, p uintptr, iPage Pgno, aData uintptr) { /* sqlite3.c:77739:29: */ for __ccgo := true; __ccgo; __ccgo = libc.AssignUintptr(&p, (*Sqlite3_backup)(unsafe.Pointer(p)).FpNext) != uintptr(0) { @@ -100938,7 +100955,7 @@ func backupUpdate(tls *libc.TLS, p uintptr, iPage Pgno, aData uintptr) { /* sqli } } -func Xsqlite3BackupUpdate(tls *libc.TLS, pBackup uintptr, iPage Pgno, aData uintptr) { /* sqlite3.c:77751:21: */ +func Xsqlite3BackupUpdate(tls *libc.TLS, pBackup uintptr, iPage Pgno, aData uintptr) { /* sqlite3.c:77764:21: */ if pBackup != 0 { backupUpdate(tls, pBackup, iPage, aData) } @@ -100953,7 +100970,7 @@ func Xsqlite3BackupUpdate(tls *libc.TLS, pBackup uintptr, iPage Pgno, aData uint // It is assumed that the mutex associated with the BtShared object // corresponding to the source database is held when this function is // called. -func Xsqlite3BackupRestart(tls *libc.TLS, pBackup uintptr) { /* sqlite3.c:77766:21: */ +func Xsqlite3BackupRestart(tls *libc.TLS, pBackup uintptr) { /* sqlite3.c:77779:21: */ var p uintptr // Iterator variable for p = pBackup; p != 0; p = (*Sqlite3_backup)(unsafe.Pointer(p)).FpNext { @@ -100967,7 +100984,7 @@ func Xsqlite3BackupRestart(tls *libc.TLS, pBackup uintptr) { /* sqlite3.c:77766: // The size of file pTo may be reduced by this operation. If anything // goes wrong, the transaction on pTo is rolled back. If successful, the // transaction is committed before returning. -func Xsqlite3BtreeCopyFile(tls *libc.TLS, pTo uintptr, pFrom uintptr) int32 { /* sqlite3.c:77783:20: */ +func Xsqlite3BtreeCopyFile(tls *libc.TLS, pTo uintptr, pFrom uintptr) int32 { /* sqlite3.c:77796:20: */ bp := tls.Alloc(80) defer tls.Free(80) @@ -101061,7 +101078,7 @@ copy_finished: // Render a Mem object which is one of MEM_Int, MEM_Real, or MEM_IntReal // into a buffer. -func vdbeMemRenderNum(tls *libc.TLS, sz int32, zBuf uintptr, p uintptr) { /* sqlite3.c:77941:13: */ +func vdbeMemRenderNum(tls *libc.TLS, sz int32, zBuf uintptr, p uintptr) { /* sqlite3.c:77954:13: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -101099,7 +101116,7 @@ func vdbeMemRenderNum(tls *libc.TLS, sz int32, zBuf uintptr, p uintptr) { /* sql // SQLITE_OK is returned if the conversion is successful (or not required). // SQLITE_NOMEM may be returned if a malloc() fails during conversion // between formats. -func Xsqlite3VdbeChangeEncoding(tls *libc.TLS, pMem uintptr, desiredEnc int32) int32 { /* sqlite3.c:78034:20: */ +func Xsqlite3VdbeChangeEncoding(tls *libc.TLS, pMem uintptr, desiredEnc int32) int32 { /* sqlite3.c:78047:20: */ var rc int32 if !(int32((*Mem)(unsafe.Pointer(pMem)).Fflags)&MEM_Str != 0) || int32((*Mem)(unsafe.Pointer(pMem)).Fenc) == desiredEnc { @@ -101119,7 +101136,7 @@ func Xsqlite3VdbeChangeEncoding(tls *libc.TLS, pMem uintptr, desiredEnc int32) i // pMem->z into the new allocation. pMem must be either a string or // blob if bPreserve is true. If bPreserve is false, any prior content // in pMem->z is discarded. -func Xsqlite3VdbeMemGrow(tls *libc.TLS, pMem uintptr, n int32, bPreserve int32) int32 { /* sqlite3.c:78069:36: */ +func Xsqlite3VdbeMemGrow(tls *libc.TLS, pMem uintptr, n int32, bPreserve int32) int32 { /* sqlite3.c:78082:36: */ // If the bPreserve flag is set to true, then the memory cell must already // contain a valid string or blob value. @@ -101175,7 +101192,7 @@ func Xsqlite3VdbeMemGrow(tls *libc.TLS, pMem uintptr, n int32, bPreserve int32) // // Return SQLITE_OK on success or an error code (probably SQLITE_NOMEM) // if unable to complete the resizing. -func Xsqlite3VdbeMemClearAndResize(tls *libc.TLS, pMem uintptr, szNew int32) int32 { /* sqlite3.c:78132:20: */ +func Xsqlite3VdbeMemClearAndResize(tls *libc.TLS, pMem uintptr, szNew int32) int32 { /* sqlite3.c:78145:20: */ if (*Mem)(unsafe.Pointer(pMem)).FszMalloc < szNew { return Xsqlite3VdbeMemGrow(tls, pMem, szNew, 0) @@ -101193,7 +101210,7 @@ func Xsqlite3VdbeMemClearAndResize(tls *libc.TLS, pMem uintptr, szNew int32) int // to be a double-zero byte at an even byte boundary in order to // terminate a UTF16 string, even if the initial size of the buffer // is an odd number of bytes. -func vdbeMemAddTerminator(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c:78153:28: */ +func vdbeMemAddTerminator(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c:78166:28: */ if Xsqlite3VdbeMemGrow(tls, pMem, (*Mem)(unsafe.Pointer(pMem)).Fn+3, 1) != 0 { return SQLITE_NOMEM } @@ -101208,7 +101225,7 @@ func vdbeMemAddTerminator(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c:7815 // MEM.zMalloc, where it can be safely written. // // Return SQLITE_OK on success or SQLITE_NOMEM if malloc fails. -func Xsqlite3VdbeMemMakeWriteable(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c:78170:20: */ +func Xsqlite3VdbeMemMakeWriteable(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c:78183:20: */ if int32((*Mem)(unsafe.Pointer(pMem)).Fflags)&(MEM_Str|MEM_Blob) != 0 { if func() int32 { @@ -101233,7 +101250,7 @@ func Xsqlite3VdbeMemMakeWriteable(tls *libc.TLS, pMem uintptr) int32 { /* sqlite // If the given Mem* has a zero-filled tail, turn it into an ordinary // blob stored in dynamically allocated space. -func Xsqlite3VdbeMemExpandBlob(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c:78194:20: */ +func Xsqlite3VdbeMemExpandBlob(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c:78207:20: */ var nByte int32 // Set nByte to the number of bytes required to store the expanded blob. @@ -101255,7 +101272,7 @@ func Xsqlite3VdbeMemExpandBlob(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c } // Make sure the given Mem is \u0000 terminated. -func Xsqlite3VdbeMemNulTerminate(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c:78225:20: */ +func Xsqlite3VdbeMemNulTerminate(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c:78238:20: */ if int32((*Mem)(unsafe.Pointer(pMem)).Fflags)&(MEM_Term|MEM_Str) != MEM_Str { return SQLITE_OK // Nothing to do @@ -101277,7 +101294,7 @@ func Xsqlite3VdbeMemNulTerminate(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3 // sqlite3_value_text()), or for ensuring that values to be used as btree // keys are strings. In the former case a NULL pointer is returned the // user and the latter is an internal programming error. -func Xsqlite3VdbeMemStringify(tls *libc.TLS, pMem uintptr, enc U8, bForce U8) int32 { /* sqlite3.c:78251:20: */ +func Xsqlite3VdbeMemStringify(tls *libc.TLS, pMem uintptr, enc U8, bForce U8) int32 { /* sqlite3.c:78264:20: */ var nByte int32 = 32 if Xsqlite3VdbeMemClearAndResize(tls, pMem, nByte) != 0 { @@ -101303,7 +101320,7 @@ func Xsqlite3VdbeMemStringify(tls *libc.TLS, pMem uintptr, enc U8, bForce U8) in // // Return SQLITE_ERROR if the finalizer reports an error. SQLITE_OK // otherwise. -func Xsqlite3VdbeMemFinalize(tls *libc.TLS, pMem uintptr, pFunc uintptr) int32 { /* sqlite3.c:78286:20: */ +func Xsqlite3VdbeMemFinalize(tls *libc.TLS, pMem uintptr, pFunc uintptr) int32 { /* sqlite3.c:78299:20: */ bp := tls.Alloc(112) defer tls.Free(112) @@ -101333,7 +101350,7 @@ func Xsqlite3VdbeMemFinalize(tls *libc.TLS, pMem uintptr, pFunc uintptr) int32 { // // SQLITE_ERROR is returned if xValue() reports an error. SQLITE_OK // otherwise. -func Xsqlite3VdbeMemAggValue(tls *libc.TLS, pAccum uintptr, pOut uintptr, pFunc uintptr) int32 { /* sqlite3.c:78317:20: */ +func Xsqlite3VdbeMemAggValue(tls *libc.TLS, pAccum uintptr, pOut uintptr, pFunc uintptr) int32 { /* sqlite3.c:78330:20: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -101355,7 +101372,7 @@ func Xsqlite3VdbeMemAggValue(tls *libc.TLS, pAccum uintptr, pOut uintptr, pFunc // This is a helper routine for sqlite3VdbeMemSetNull() and // for sqlite3VdbeMemRelease(). Use those other routines as the // entry point for releasing Mem resources. -func vdbeMemClearExternAndSetNull(tls *libc.TLS, p uintptr) { /* sqlite3.c:78342:29: */ +func vdbeMemClearExternAndSetNull(tls *libc.TLS, p uintptr) { /* sqlite3.c:78355:29: */ if int32((*Mem)(unsafe.Pointer(p)).Fflags)&MEM_Agg != 0 { Xsqlite3VdbeMemFinalize(tls, p, *(*uintptr)(unsafe.Pointer(p))) @@ -101374,7 +101391,7 @@ func vdbeMemClearExternAndSetNull(tls *libc.TLS, p uintptr) { /* sqlite3.c:78342 // This is a helper routine invoked by sqlite3VdbeMemRelease() in // the unusual case where there really is memory in p that needs // to be freed. -func vdbeMemClear(tls *libc.TLS, p uintptr) { /* sqlite3.c:78365:29: */ +func vdbeMemClear(tls *libc.TLS, p uintptr) { /* sqlite3.c:78378:29: */ if int32((*Mem)(unsafe.Pointer(p)).Fflags)&(MEM_Agg|MEM_Dyn) != 0 { vdbeMemClearExternAndSetNull(tls, p) } @@ -101393,7 +101410,7 @@ func vdbeMemClear(tls *libc.TLS, p uintptr) { /* sqlite3.c:78365:29: */ // // Use sqlite3VdbeMemSetNull() to release just the Mem.xDel space // prior to inserting new content into the Mem. -func Xsqlite3VdbeMemRelease(tls *libc.TLS, p uintptr) { /* sqlite3.c:78386:21: */ +func Xsqlite3VdbeMemRelease(tls *libc.TLS, p uintptr) { /* sqlite3.c:78399:21: */ if int32((*Mem)(unsafe.Pointer(p)).Fflags)&(MEM_Agg|MEM_Dyn) != 0 || (*Mem)(unsafe.Pointer(p)).FszMalloc != 0 { vdbeMemClear(tls, p) @@ -101403,7 +101420,7 @@ func Xsqlite3VdbeMemRelease(tls *libc.TLS, p uintptr) { /* sqlite3.c:78386:21: * // Convert a 64-bit IEEE double into a 64-bit signed integer. // If the double is out of range of a 64-bit signed integer then // return the closest available 64-bit signed integer. -func doubleToInt64(tls *libc.TLS, r float64) I64 { /* sqlite3.c:78398:28: */ +func doubleToInt64(tls *libc.TLS, r float64) I64 { /* sqlite3.c:78411:28: */ if r <= float64(minInt) { return minInt @@ -101415,8 +101432,8 @@ func doubleToInt64(tls *libc.TLS, r float64) I64 { /* sqlite3.c:78398:28: */ return I64(0) } -var maxInt I64 = int64(0xffffffff) | I64(int64(0x7fffffff))<<32 /* sqlite3.c:78410:20 */ -var minInt I64 = int64(-1) - (int64(0xffffffff) | I64(int64(0x7fffffff))<<32) /* sqlite3.c:78411:20 */ +var maxInt I64 = int64(0xffffffff) | I64(int64(0x7fffffff))<<32 /* sqlite3.c:78423:20 */ +var minInt I64 = int64(-1) - (int64(0xffffffff) | I64(int64(0x7fffffff))<<32) /* sqlite3.c:78424:20 */ // Return some kind of integer value which is the best we can do // at representing the value that *pMem describes as an integer. @@ -101427,7 +101444,7 @@ var minInt I64 = int64(-1) - (int64(0xffffffff) | I64(int64(0x7fffffff))<<32) /* // an SQL-NULL value, return 0. // // If pMem represents a string value, its encoding might be changed. -func memIntValue(tls *libc.TLS, pMem uintptr) I64 { /* sqlite3.c:78434:28: */ +func memIntValue(tls *libc.TLS, pMem uintptr) I64 { /* sqlite3.c:78447:28: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -101436,7 +101453,7 @@ func memIntValue(tls *libc.TLS, pMem uintptr) I64 { /* sqlite3.c:78434:28: */ return *(*I64)(unsafe.Pointer(bp /* value */)) } -func Xsqlite3VdbeIntValue(tls *libc.TLS, pMem uintptr) I64 { /* sqlite3.c:78439:20: */ +func Xsqlite3VdbeIntValue(tls *libc.TLS, pMem uintptr) I64 { /* sqlite3.c:78452:20: */ var flags int32 flags = int32((*Mem)(unsafe.Pointer(pMem)).Fflags) @@ -101457,7 +101474,7 @@ func Xsqlite3VdbeIntValue(tls *libc.TLS, pMem uintptr) I64 { /* sqlite3.c:78439: // double. If pMem is already a double or an integer, return its // value. If it is a string or blob, try to convert it to a double. // If it is a NULL, return 0.0. -func memRealValue(tls *libc.TLS, pMem uintptr) float64 { /* sqlite3.c:78463:31: */ +func memRealValue(tls *libc.TLS, pMem uintptr) float64 { /* sqlite3.c:78476:31: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -101467,7 +101484,7 @@ func memRealValue(tls *libc.TLS, pMem uintptr) float64 { /* sqlite3.c:78463:31: return *(*float64)(unsafe.Pointer(bp /* val */)) } -func Xsqlite3VdbeRealValue(tls *libc.TLS, pMem uintptr) float64 { /* sqlite3.c:78469:23: */ +func Xsqlite3VdbeRealValue(tls *libc.TLS, pMem uintptr) float64 { /* sqlite3.c:78482:23: */ if int32((*Mem)(unsafe.Pointer(pMem)).Fflags)&MEM_Real != 0 { return *(*float64)(unsafe.Pointer(pMem)) @@ -101485,7 +101502,7 @@ func Xsqlite3VdbeRealValue(tls *libc.TLS, pMem uintptr) float64 { /* sqlite3.c:7 // Return 1 if pMem represents true, and return 0 if pMem represents false. // Return the value ifNull if pMem is NULL. -func Xsqlite3VdbeBooleanValue(tls *libc.TLS, pMem uintptr, ifNull int32) int32 { /* sqlite3.c:78490:20: */ +func Xsqlite3VdbeBooleanValue(tls *libc.TLS, pMem uintptr, ifNull int32) int32 { /* sqlite3.c:78503:20: */ if int32((*Mem)(unsafe.Pointer(pMem)).Fflags)&(MEM_Int|MEM_IntReal) != 0 { return libc.Bool32(*(*I64)(unsafe.Pointer(pMem)) != int64(0)) @@ -101498,7 +101515,7 @@ func Xsqlite3VdbeBooleanValue(tls *libc.TLS, pMem uintptr, ifNull int32) int32 { // The MEM structure is already a MEM_Real. Try to also make it a // MEM_Int if we can. -func Xsqlite3VdbeIntegerAffinity(tls *libc.TLS, pMem uintptr) { /* sqlite3.c:78501:21: */ +func Xsqlite3VdbeIntegerAffinity(tls *libc.TLS, pMem uintptr) { /* sqlite3.c:78514:21: */ var ix I64 ix = doubleToInt64(tls, *(*float64)(unsafe.Pointer(pMem))) @@ -101519,7 +101536,7 @@ func Xsqlite3VdbeIntegerAffinity(tls *libc.TLS, pMem uintptr) { /* sqlite3.c:785 } // Convert pMem to type integer. Invalidate any prior representations. -func Xsqlite3VdbeMemIntegerify(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c:78530:20: */ +func Xsqlite3VdbeMemIntegerify(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c:78543:20: */ *(*I64)(unsafe.Pointer(pMem)) = Xsqlite3VdbeIntValue(tls, pMem) (*Mem)(unsafe.Pointer(pMem)).Fflags = U16(int32((*Mem)(unsafe.Pointer(pMem)).Fflags)&libc.CplInt32(MEM_TypeMask|MEM_Zero) | MEM_Int) @@ -101528,7 +101545,7 @@ func Xsqlite3VdbeMemIntegerify(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c // Convert pMem so that it is of type MEM_Real. // Invalidate any prior representations. -func Xsqlite3VdbeMemRealify(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c:78545:20: */ +func Xsqlite3VdbeMemRealify(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c:78558:20: */ *(*float64)(unsafe.Pointer(pMem)) = Xsqlite3VdbeRealValue(tls, pMem) (*Mem)(unsafe.Pointer(pMem)).Fflags = U16(int32((*Mem)(unsafe.Pointer(pMem)).Fflags)&libc.CplInt32(MEM_TypeMask|MEM_Zero) | MEM_Real) @@ -101543,7 +101560,7 @@ func Xsqlite3VdbeMemRealify(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c:78 // For some versions of GCC on 32-bit machines, if you do the more obvious // comparison of "r1==(double)i" you sometimes get an answer of false even // though the r1 and (double)i values are bit-for-bit the same. -func Xsqlite3RealSameAsInt(tls *libc.TLS, r1 float64, i Sqlite3_int64) int32 { /* sqlite3.c:78564:20: */ +func Xsqlite3RealSameAsInt(tls *libc.TLS, r1 float64, i Sqlite3_int64) int32 { /* sqlite3.c:78577:20: */ bp := tls.Alloc(16) defer tls.Free(16) *(*float64)(unsafe.Pointer(bp)) = r1 @@ -101560,7 +101577,7 @@ func Xsqlite3RealSameAsInt(tls *libc.TLS, r1 float64, i Sqlite3_int64) int32 { / // Every effort is made to force the conversion, even if the input // is a string that does not look completely like a number. Convert // as much of the string as we can and ignore the rest. -func Xsqlite3VdbeMemNumerify(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c:78579:20: */ +func Xsqlite3VdbeMemNumerify(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c:78592:20: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -101587,7 +101604,7 @@ func Xsqlite3VdbeMemNumerify(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c:7 // is forced. In other words, the value is converted into the desired // affinity even if that results in loss of data. This routine is // used (for example) to implement the SQL "cast()" operator. -func Xsqlite3VdbeMemCast(tls *libc.TLS, pMem uintptr, aff U8, encoding U8) int32 { /* sqlite3.c:78612:20: */ +func Xsqlite3VdbeMemCast(tls *libc.TLS, pMem uintptr, aff U8, encoding U8) int32 { /* sqlite3.c:78625:20: */ if int32((*Mem)(unsafe.Pointer(pMem)).Fflags)&MEM_Null != 0 { return SQLITE_OK } @@ -101641,7 +101658,7 @@ func Xsqlite3VdbeMemCast(tls *libc.TLS, pMem uintptr, aff U8, encoding U8) int32 // Initialize bulk memory to be a consistent Mem object. // // The minimum amount of initialization feasible is performed. -func Xsqlite3VdbeMemInit(tls *libc.TLS, pMem uintptr, db uintptr, flags U16) { /* sqlite3.c:78655:21: */ +func Xsqlite3VdbeMemInit(tls *libc.TLS, pMem uintptr, db uintptr, flags U16) { /* sqlite3.c:78668:21: */ (*Mem)(unsafe.Pointer(pMem)).Fflags = flags (*Mem)(unsafe.Pointer(pMem)).Fdb = db @@ -101658,7 +101675,7 @@ func Xsqlite3VdbeMemInit(tls *libc.TLS, pMem uintptr, db uintptr, flags U16) { / // Use this routine to reset the Mem prior to insert a new value. // // Use sqlite3VdbeMemRelease() to complete erase the Mem prior to abandoning it. -func Xsqlite3VdbeMemSetNull(tls *libc.TLS, pMem uintptr) { /* sqlite3.c:78675:21: */ +func Xsqlite3VdbeMemSetNull(tls *libc.TLS, pMem uintptr) { /* sqlite3.c:78688:21: */ if int32((*Mem)(unsafe.Pointer(pMem)).Fflags)&(MEM_Agg|MEM_Dyn) != 0 { vdbeMemClearExternAndSetNull(tls, pMem) } else { @@ -101666,13 +101683,13 @@ func Xsqlite3VdbeMemSetNull(tls *libc.TLS, pMem uintptr) { /* sqlite3.c:78675:21 } } -func Xsqlite3ValueSetNull(tls *libc.TLS, p uintptr) { /* sqlite3.c:78682:21: */ +func Xsqlite3ValueSetNull(tls *libc.TLS, p uintptr) { /* sqlite3.c:78695:21: */ Xsqlite3VdbeMemSetNull(tls, p) } // Delete any previous value and set the value to be a BLOB of length // n containing all zeros. -func Xsqlite3VdbeMemSetZeroBlob(tls *libc.TLS, pMem uintptr, n int32) { /* sqlite3.c:78691:21: */ +func Xsqlite3VdbeMemSetZeroBlob(tls *libc.TLS, pMem uintptr, n int32) { /* sqlite3.c:78704:21: */ Xsqlite3VdbeMemRelease(tls, pMem) (*Mem)(unsafe.Pointer(pMem)).Fflags = U16(MEM_Blob | MEM_Zero) (*Mem)(unsafe.Pointer(pMem)).Fn = 0 @@ -101687,7 +101704,7 @@ func Xsqlite3VdbeMemSetZeroBlob(tls *libc.TLS, pMem uintptr, n int32) { /* sqlit // The pMem is known to contain content that needs to be destroyed prior // to a value change. So invoke the destructor, then set the value to // a 64-bit integer. -func vdbeReleaseAndSetInt64(tls *libc.TLS, pMem uintptr, val I64) { /* sqlite3.c:78721:29: */ +func vdbeReleaseAndSetInt64(tls *libc.TLS, pMem uintptr, val I64) { /* sqlite3.c:78734:29: */ Xsqlite3VdbeMemSetNull(tls, pMem) *(*I64)(unsafe.Pointer(pMem)) = val (*Mem)(unsafe.Pointer(pMem)).Fflags = U16(MEM_Int) @@ -101695,7 +101712,7 @@ func vdbeReleaseAndSetInt64(tls *libc.TLS, pMem uintptr, val I64) { /* sqlite3.c // Delete any previous value and set the value stored in *pMem to val, // manifest type INTEGER. -func Xsqlite3VdbeMemSetInt64(tls *libc.TLS, pMem uintptr, val I64) { /* sqlite3.c:78731:21: */ +func Xsqlite3VdbeMemSetInt64(tls *libc.TLS, pMem uintptr, val I64) { /* sqlite3.c:78744:21: */ if int32((*Mem)(unsafe.Pointer(pMem)).Fflags)&(MEM_Agg|MEM_Dyn) != 0 { vdbeReleaseAndSetInt64(tls, pMem, val) } else { @@ -101705,13 +101722,13 @@ func Xsqlite3VdbeMemSetInt64(tls *libc.TLS, pMem uintptr, val I64) { /* sqlite3. } // A no-op destructor -func Xsqlite3NoopDestructor(tls *libc.TLS, p uintptr) { /* sqlite3.c:78741:21: */ +func Xsqlite3NoopDestructor(tls *libc.TLS, p uintptr) { /* sqlite3.c:78754:21: */ _ = p } // Set the value stored in *pMem should already be a NULL. // Also store a pointer to go with it. -func Xsqlite3VdbeMemSetPointer(tls *libc.TLS, pMem uintptr, pPtr uintptr, zPType uintptr, xDestructor uintptr) { /* sqlite3.c:78747:21: */ +func Xsqlite3VdbeMemSetPointer(tls *libc.TLS, pMem uintptr, pPtr uintptr, zPType uintptr, xDestructor uintptr) { /* sqlite3.c:78760:21: */ vdbeMemClear(tls, pMem) *(*uintptr)(unsafe.Pointer(pMem)) = func() uintptr { @@ -101733,7 +101750,7 @@ func Xsqlite3VdbeMemSetPointer(tls *libc.TLS, pMem uintptr, pPtr uintptr, zPType // Delete any previous value and set the value stored in *pMem to val, // manifest type REAL. -func Xsqlite3VdbeMemSetDouble(tls *libc.TLS, pMem uintptr, val float64) { /* sqlite3.c:78767:21: */ +func Xsqlite3VdbeMemSetDouble(tls *libc.TLS, pMem uintptr, val float64) { /* sqlite3.c:78780:21: */ Xsqlite3VdbeMemSetNull(tls, pMem) if !(Xsqlite3IsNaN(tls, val) != 0) { *(*float64)(unsafe.Pointer(pMem)) = val @@ -101746,7 +101763,7 @@ func Xsqlite3VdbeMemSetDouble(tls *libc.TLS, pMem uintptr, val float64) { /* sql // // Return SQLITE_OK on success and SQLITE_NOMEM if a memory allocation // error occurs. -func Xsqlite3VdbeMemSetRowSet(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c:78794:20: */ +func Xsqlite3VdbeMemSetRowSet(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c:78807:20: */ var db uintptr = (*Mem)(unsafe.Pointer(pMem)).Fdb var p uintptr @@ -101763,7 +101780,7 @@ func Xsqlite3VdbeMemSetRowSet(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c: // Return true if the Mem object contains a TEXT or BLOB that is // too large - whose size exceeds SQLITE_MAX_LENGTH. -func Xsqlite3VdbeMemTooBig(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:78812:20: */ +func Xsqlite3VdbeMemTooBig(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:78825:20: */ if int32((*Mem)(unsafe.Pointer(p)).Fflags)&(MEM_Str|MEM_Blob) != 0 { var n int32 = (*Mem)(unsafe.Pointer(p)).Fn @@ -101779,13 +101796,13 @@ func Xsqlite3VdbeMemTooBig(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:78812: // pTo are freed. The pFrom->z field is not duplicated. If // pFrom->z is used, then pTo->z points to the same thing as pFrom->z // and flags gets srcType (either MEM_Ephem or MEM_Static). -func vdbeClrCopy(tls *libc.TLS, pTo uintptr, pFrom uintptr, eType int32) { /* sqlite3.c:78868:29: */ +func vdbeClrCopy(tls *libc.TLS, pTo uintptr, pFrom uintptr, eType int32) { /* sqlite3.c:78881:29: */ vdbeMemClearExternAndSetNull(tls, pTo) Xsqlite3VdbeMemShallowCopy(tls, pTo, pFrom, eType) } -func Xsqlite3VdbeMemShallowCopy(tls *libc.TLS, pTo uintptr, pFrom uintptr, srcType int32) { /* sqlite3.c:78873:21: */ +func Xsqlite3VdbeMemShallowCopy(tls *libc.TLS, pTo uintptr, pFrom uintptr, srcType int32) { /* sqlite3.c:78886:21: */ if int32((*Mem)(unsafe.Pointer(pTo)).Fflags)&(MEM_Agg|MEM_Dyn) != 0 { vdbeClrCopy(tls, pTo, pFrom, srcType) @@ -101801,7 +101818,7 @@ func Xsqlite3VdbeMemShallowCopy(tls *libc.TLS, pTo uintptr, pFrom uintptr, srcTy // Make a full copy of pFrom into pTo. Prior contents of pTo are // freed before the copy is made. -func Xsqlite3VdbeMemCopy(tls *libc.TLS, pTo uintptr, pFrom uintptr) int32 { /* sqlite3.c:78889:20: */ +func Xsqlite3VdbeMemCopy(tls *libc.TLS, pTo uintptr, pFrom uintptr) int32 { /* sqlite3.c:78902:20: */ var rc int32 = SQLITE_OK if int32((*Mem)(unsafe.Pointer(pTo)).Fflags)&(MEM_Agg|MEM_Dyn) != 0 { @@ -101823,7 +101840,7 @@ func Xsqlite3VdbeMemCopy(tls *libc.TLS, pTo uintptr, pFrom uintptr) int32 { /* s // freed. If pFrom contains ephemeral data, a copy is made. // // pFrom contains an SQL NULL when this routine returns. -func Xsqlite3VdbeMemMove(tls *libc.TLS, pTo uintptr, pFrom uintptr) { /* sqlite3.c:78912:21: */ +func Xsqlite3VdbeMemMove(tls *libc.TLS, pTo uintptr, pFrom uintptr) { /* sqlite3.c:78925:21: */ Xsqlite3VdbeMemRelease(tls, pTo) libc.Xmemcpy(tls, pTo, pFrom, uint64(unsafe.Sizeof(Mem{}))) @@ -101844,7 +101861,7 @@ func Xsqlite3VdbeMemMove(tls *libc.TLS, pTo uintptr, pFrom uintptr) { /* sqlite3 // stored without allocating memory, then it is. If a memory allocation // is required to store the string, then value of pMem is unchanged. In // either case, SQLITE_TOOBIG is returned. -func Xsqlite3VdbeMemSetStr(tls *libc.TLS, pMem uintptr, z uintptr, n I64, enc U8, xDel uintptr) int32 { /* sqlite3.c:78938:20: */ +func Xsqlite3VdbeMemSetStr(tls *libc.TLS, pMem uintptr, z uintptr, n I64, enc U8, xDel uintptr) int32 { /* sqlite3.c:78951:20: */ var nByte I64 = n // New value for pMem->n var iLimit int32 // Maximum allowed string or blob size var flags U16 = U16(0) // New value for pMem->flags @@ -101957,11 +101974,11 @@ func Xsqlite3VdbeMemSetStr(tls *libc.TLS, pMem uintptr, z uintptr, n I64, enc U8 // // If this routine fails for any reason (malloc returns NULL or unable // to read from the disk) then the pMem is left in an inconsistent state. -func Xsqlite3VdbeMemFromBtree(tls *libc.TLS, pCur uintptr, offset U32, amt U32, pMem uintptr) int32 { /* sqlite3.c:79047:20: */ +func Xsqlite3VdbeMemFromBtree(tls *libc.TLS, pCur uintptr, offset U32, amt U32, pMem uintptr) int32 { /* sqlite3.c:79060:20: */ var rc int32 (*Mem)(unsafe.Pointer(pMem)).Fflags = U16(MEM_Null) if Xsqlite3BtreeMaxRecordSize(tls, pCur) < Sqlite3_int64(offset+amt) { - return Xsqlite3CorruptError(tls, 79056) + return Xsqlite3CorruptError(tls, 79069) } if SQLITE_OK == libc.AssignInt32(&rc, Xsqlite3VdbeMemClearAndResize(tls, pMem, int32(amt+U32(1)))) { rc = Xsqlite3BtreePayload(tls, pCur, offset, amt, (*Mem)(unsafe.Pointer(pMem)).Fz) @@ -101976,7 +101993,7 @@ func Xsqlite3VdbeMemFromBtree(tls *libc.TLS, pCur uintptr, offset U32, amt U32, return rc } -func Xsqlite3VdbeMemFromBtreeZeroOffset(tls *libc.TLS, pCur uintptr, amt U32, pMem uintptr) int32 { /* sqlite3.c:79070:20: */ +func Xsqlite3VdbeMemFromBtreeZeroOffset(tls *libc.TLS, pCur uintptr, amt U32, pMem uintptr) int32 { /* sqlite3.c:79083:20: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -102001,7 +102018,7 @@ func Xsqlite3VdbeMemFromBtreeZeroOffset(tls *libc.TLS, pCur uintptr, amt U32, pM // The pVal argument is known to be a value other than NULL. // Convert it into a string with encoding enc and return a pointer // to a zero-terminated version of that string. -func valueToText(tls *libc.TLS, pVal uintptr, enc U8) uintptr { /* sqlite3.c:79102:35: */ +func valueToText(tls *libc.TLS, pVal uintptr, enc U8) uintptr { /* sqlite3.c:79115:35: */ if int32((*Sqlite3_value)(unsafe.Pointer(pVal)).Fflags)&(MEM_Blob|MEM_Str) != 0 { if func() int32 { @@ -102046,7 +102063,7 @@ func valueToText(tls *libc.TLS, pVal uintptr, enc U8) uintptr { /* sqlite3.c:791 // (2006-02-16:) The enc value can be or-ed with SQLITE_UTF16_ALIGNED. // If that is the case, then the result must be aligned on an even byte // boundary. -func Xsqlite3ValueText(tls *libc.TLS, pVal uintptr, enc U8) uintptr { /* sqlite3.c:79145:27: */ +func Xsqlite3ValueText(tls *libc.TLS, pVal uintptr, enc U8) uintptr { /* sqlite3.c:79158:27: */ if !(pVal != 0) { return uintptr(0) } @@ -102062,7 +102079,7 @@ func Xsqlite3ValueText(tls *libc.TLS, pVal uintptr, enc U8) uintptr { /* sqlite3 } // Create a new sqlite3_value object. -func Xsqlite3ValueNew(tls *libc.TLS, db uintptr) uintptr { /* sqlite3.c:79163:30: */ +func Xsqlite3ValueNew(tls *libc.TLS, db uintptr) uintptr { /* sqlite3.c:79176:30: */ var p uintptr = Xsqlite3DbMallocZero(tls, db, uint64(unsafe.Sizeof(Mem{}))) if p != 0 { (*Mem)(unsafe.Pointer(p)).Fflags = U16(MEM_Null) @@ -102079,7 +102096,7 @@ type ValueNewStat4Ctx = struct { FppRec uintptr FiVal int32 F__ccgo_pad1 [4]byte -} /* sqlite3.c:79176:1 */ +} /* sqlite3.c:79189:1 */ // Allocate and return a pointer to a new sqlite3_value object. If // the second argument to this function is NULL, the object is allocated @@ -102090,7 +102107,7 @@ type ValueNewStat4Ctx = struct { // already been allocated, allocate the UnpackedRecord structure that // that function will return to its caller here. Then return a pointer to // an sqlite3_value within the UnpackedRecord.a[] array. -func valueNew(tls *libc.TLS, db uintptr, p uintptr) uintptr { /* sqlite3.c:79194:22: */ +func valueNew(tls *libc.TLS, db uintptr, p uintptr) uintptr { /* sqlite3.c:79207:22: */ if p != 0 { var pRec uintptr = *(*uintptr)(unsafe.Pointer((*ValueNewStat4Ctx)(unsafe.Pointer(p)).FppRec)) @@ -102146,7 +102163,7 @@ func valueNew(tls *libc.TLS, db uintptr, p uintptr) uintptr { /* sqlite3.c:79194 // If the conditions above are not met, this function returns SQLITE_OK // and sets (*ppVal) to NULL. Or, if an error occurs, (*ppVal) is set to // NULL and an SQLite error code returned. -func valueFromFunction(tls *libc.TLS, db uintptr, p uintptr, enc U8, aff U8, ppVal uintptr, pCtx uintptr) int32 { /* sqlite3.c:79256:12: */ +func valueFromFunction(tls *libc.TLS, db uintptr, p uintptr, enc U8, aff U8, ppVal uintptr, pCtx uintptr) int32 { /* sqlite3.c:79269:12: */ bp := tls.Alloc(64) defer tls.Free(64) @@ -102292,7 +102309,7 @@ __14: // has been allocated, it is freed before returning. Or, if pCtx is not // NULL, it is assumed that the caller will free any allocated object // in all cases. -func valueFromExpr(tls *libc.TLS, db uintptr, pExpr uintptr, enc U8, affinity U8, ppVal uintptr, pCtx uintptr) int32 { /* sqlite3.c:79352:12: */ +func valueFromExpr(tls *libc.TLS, db uintptr, pExpr uintptr, enc U8, affinity U8, ppVal uintptr, pCtx uintptr) int32 { /* sqlite3.c:79365:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -102540,7 +102557,7 @@ __35: // a pointer written to *ppVal. The caller is responsible for deallocating // the value by passing it to sqlite3ValueFree() later on. If the expression // cannot be converted to a value, then *ppVal is set to NULL. -func Xsqlite3ValueFromExpr(tls *libc.TLS, db uintptr, pExpr uintptr, enc U8, affinity U8, ppVal uintptr) int32 { /* sqlite3.c:79507:20: */ +func Xsqlite3ValueFromExpr(tls *libc.TLS, db uintptr, pExpr uintptr, enc U8, affinity U8, ppVal uintptr) int32 { /* sqlite3.c:79520:20: */ if pExpr != 0 { return valueFromExpr(tls, db, pExpr, enc, affinity, ppVal, uintptr(0)) } @@ -102563,7 +102580,7 @@ func Xsqlite3ValueFromExpr(tls *libc.TLS, db uintptr, pExpr uintptr, enc U8, aff // // On success, *ppVal is made to point to the extracted value. The caller // is responsible for ensuring that the value is eventually freed. -func stat4ValueFromExpr(tls *libc.TLS, pParse uintptr, pExpr uintptr, affinity U8, pAlloc uintptr, ppVal uintptr) int32 { /* sqlite3.c:79536:12: */ +func stat4ValueFromExpr(tls *libc.TLS, pParse uintptr, pExpr uintptr, affinity U8, pAlloc uintptr, ppVal uintptr) int32 { /* sqlite3.c:79549:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -102631,7 +102648,7 @@ func stat4ValueFromExpr(tls *libc.TLS, pParse uintptr, pExpr uintptr, affinity U // Unless an error is encountered, SQLITE_OK is returned. It is not an // error if a value cannot be extracted from pExpr. If an error does // occur, an SQLite error code is returned. -func Xsqlite3Stat4ProbeSetValue(tls *libc.TLS, pParse uintptr, pIdx uintptr, ppRec uintptr, pExpr uintptr, nElem int32, iVal int32, pnExtract uintptr) int32 { /* sqlite3.c:79611:20: */ +func Xsqlite3Stat4ProbeSetValue(tls *libc.TLS, pParse uintptr, pIdx uintptr, ppRec uintptr, pExpr uintptr, nElem int32, iVal int32, pnExtract uintptr) int32 { /* sqlite3.c:79624:20: */ bp := tls.Alloc(40) defer tls.Free(40) @@ -102676,7 +102693,7 @@ func Xsqlite3Stat4ProbeSetValue(tls *libc.TLS, pParse uintptr, pIdx uintptr, ppR // (e.g. OOM), return SQLITE_OK and set *ppVal to NULL. Or, if an error // does occur, return an SQLite error code. The final value of *ppVal // is undefined in this case. -func Xsqlite3Stat4ValueFromExpr(tls *libc.TLS, pParse uintptr, pExpr uintptr, affinity U8, ppVal uintptr) int32 { /* sqlite3.c:79656:20: */ +func Xsqlite3Stat4ValueFromExpr(tls *libc.TLS, pParse uintptr, pExpr uintptr, affinity U8, ppVal uintptr) int32 { /* sqlite3.c:79669:20: */ return stat4ValueFromExpr(tls, pParse, pExpr, affinity, uintptr(0), ppVal) } @@ -102686,7 +102703,7 @@ func Xsqlite3Stat4ValueFromExpr(tls *libc.TLS, pParse uintptr, pExpr uintptr, af // // If *ppVal is initially NULL then the caller is responsible for // ensuring that the value written into *ppVal is eventually freed. -func Xsqlite3Stat4Column(tls *libc.TLS, db uintptr, pRec uintptr, nRec int32, iCol int32, ppVal uintptr) int32 { /* sqlite3.c:79673:20: */ +func Xsqlite3Stat4Column(tls *libc.TLS, db uintptr, pRec uintptr, nRec int32, iCol int32, ppVal uintptr) int32 { /* sqlite3.c:79686:20: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -102707,7 +102724,7 @@ func Xsqlite3Stat4Column(tls *libc.TLS, db uintptr, pRec uintptr, nRec int32, iC return Xsqlite3GetVarint32(tls, a, bp) }()) if *(*int32)(unsafe.Pointer(bp)) > nRec || iHdr >= *(*int32)(unsafe.Pointer(bp)) { - return Xsqlite3CorruptError(tls, 79691) + return Xsqlite3CorruptError(tls, 79704) } iField = *(*int32)(unsafe.Pointer(bp /* nHdr */)) for i = 0; i <= iCol; i++ { @@ -102722,14 +102739,14 @@ func Xsqlite3Stat4Column(tls *libc.TLS, db uintptr, pRec uintptr, nRec int32, iC }()) if iHdr > *(*int32)(unsafe.Pointer(bp)) { - return Xsqlite3CorruptError(tls, 79697) + return Xsqlite3CorruptError(tls, 79710) } szField = int32(Xsqlite3VdbeSerialTypeLen(tls, *(*U32)(unsafe.Pointer(bp + 4 /* t */)))) iField = iField + szField } if iField > nRec { - return Xsqlite3CorruptError(tls, 79703) + return Xsqlite3CorruptError(tls, 79716) } if pMem == uintptr(0) { pMem = libc.AssignPtrUintptr(ppVal, Xsqlite3ValueNew(tls, db)) @@ -102745,7 +102762,7 @@ func Xsqlite3Stat4Column(tls *libc.TLS, db uintptr, pRec uintptr, nRec int32, iC // Unless it is NULL, the argument must be an UnpackedRecord object returned // by an earlier call to sqlite3Stat4ProbeSetValue(). This call deletes // the object. -func Xsqlite3Stat4ProbeFree(tls *libc.TLS, pRec uintptr) { /* sqlite3.c:79718:21: */ +func Xsqlite3Stat4ProbeFree(tls *libc.TLS, pRec uintptr) { /* sqlite3.c:79731:21: */ if pRec != 0 { var i int32 var nCol int32 = int32((*KeyInfo)(unsafe.Pointer((*UnpackedRecord)(unsafe.Pointer(pRec)).FpKeyInfo)).FnAllField) @@ -102760,14 +102777,14 @@ func Xsqlite3Stat4ProbeFree(tls *libc.TLS, pRec uintptr) { /* sqlite3.c:79718:21 } // Change the string value of an sqlite3_value object -func Xsqlite3ValueSetStr(tls *libc.TLS, v uintptr, n int32, z uintptr, enc U8, xDel uintptr) { /* sqlite3.c:79736:21: */ +func Xsqlite3ValueSetStr(tls *libc.TLS, v uintptr, n int32, z uintptr, enc U8, xDel uintptr) { /* sqlite3.c:79749:21: */ if v != 0 { Xsqlite3VdbeMemSetStr(tls, v, z, int64(n), enc, xDel) } } // Free an sqlite3_value object -func Xsqlite3ValueFree(tls *libc.TLS, v uintptr) { /* sqlite3.c:79749:21: */ +func Xsqlite3ValueFree(tls *libc.TLS, v uintptr) { /* sqlite3.c:79762:21: */ if !(v != 0) { return } @@ -102778,14 +102795,14 @@ func Xsqlite3ValueFree(tls *libc.TLS, v uintptr) { /* sqlite3.c:79749:21: */ // The sqlite3ValueBytes() routine returns the number of bytes in the // sqlite3_value object assuming that it uses the encoding "enc". // The valueBytes() routine is a helper function. -func valueBytes(tls *libc.TLS, pVal uintptr, enc U8) int32 { /* sqlite3.c:79760:28: */ +func valueBytes(tls *libc.TLS, pVal uintptr, enc U8) int32 { /* sqlite3.c:79773:28: */ if valueToText(tls, pVal, enc) != uintptr(0) { return (*Sqlite3_value)(unsafe.Pointer(pVal)).Fn } return 0 } -func Xsqlite3ValueBytes(tls *libc.TLS, pVal uintptr, enc U8) int32 { /* sqlite3.c:79763:20: */ +func Xsqlite3ValueBytes(tls *libc.TLS, pVal uintptr, enc U8) int32 { /* sqlite3.c:79776:20: */ var p uintptr = pVal if int32((*Mem)(unsafe.Pointer(p)).Fflags)&MEM_Str != 0 && int32((*Sqlite3_value)(unsafe.Pointer(pVal)).Fenc) == int32(enc) { @@ -102805,7 +102822,7 @@ func Xsqlite3ValueBytes(tls *libc.TLS, pVal uintptr, enc U8) int32 { /* sqlite3. } // Create a new virtual database engine. -func Xsqlite3VdbeCreate(tls *libc.TLS, pParse uintptr) uintptr { /* sqlite3.c:79806:21: */ +func Xsqlite3VdbeCreate(tls *libc.TLS, pParse uintptr) uintptr { /* sqlite3.c:79819:21: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb var p uintptr p = Xsqlite3DbMallocRawNN(tls, db, uint64(unsafe.Sizeof(Vdbe{}))) @@ -102829,12 +102846,12 @@ func Xsqlite3VdbeCreate(tls *libc.TLS, pParse uintptr) uintptr { /* sqlite3.c:79 } // Return the Parse object that owns a Vdbe object. -func Xsqlite3VdbeParser(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:79833:22: */ +func Xsqlite3VdbeParser(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:79846:22: */ return (*Vdbe)(unsafe.Pointer(p)).FpParse } // Change the error string stored in Vdbe.zErrMsg -func Xsqlite3VdbeError(tls *libc.TLS, p uintptr, zFormat uintptr, va uintptr) { /* sqlite3.c:79840:21: */ +func Xsqlite3VdbeError(tls *libc.TLS, p uintptr, zFormat uintptr, va uintptr) { /* sqlite3.c:79853:21: */ var ap Va_list _ = ap Xsqlite3DbFree(tls, (*Vdbe)(unsafe.Pointer(p)).Fdb, (*Vdbe)(unsafe.Pointer(p)).FzErrMsg) @@ -102844,7 +102861,7 @@ func Xsqlite3VdbeError(tls *libc.TLS, p uintptr, zFormat uintptr, va uintptr) { } // Remember the SQL string for a prepared statement. -func Xsqlite3VdbeSetSql(tls *libc.TLS, p uintptr, z uintptr, n int32, prepFlags U8) { /* sqlite3.c:79851:21: */ +func Xsqlite3VdbeSetSql(tls *libc.TLS, p uintptr, z uintptr, n int32, prepFlags U8) { /* sqlite3.c:79864:21: */ if p == uintptr(0) { return } @@ -102857,7 +102874,7 @@ func Xsqlite3VdbeSetSql(tls *libc.TLS, p uintptr, z uintptr, n int32, prepFlags } // Swap all content between two VDBE structures. -func Xsqlite3VdbeSwap(tls *libc.TLS, pA uintptr, pB uintptr) { /* sqlite3.c:79901:21: */ +func Xsqlite3VdbeSwap(tls *libc.TLS, pA uintptr, pB uintptr) { /* sqlite3.c:79914:21: */ var tmp Vdbe var pTmp uintptr var zTmp uintptr @@ -102888,7 +102905,7 @@ func Xsqlite3VdbeSwap(tls *libc.TLS, pA uintptr, pB uintptr) { /* sqlite3.c:7990 // SQLITE_NOMEM. In this case Vdbe.aOp and Vdbe.nOpAlloc remain // unchanged (this is so that any opcodes already allocated can be // correctly deallocated along with the rest of the Vdbe). -func growOpArray(tls *libc.TLS, v uintptr, nOp int32) int32 { /* sqlite3.c:79938:12: */ +func growOpArray(tls *libc.TLS, v uintptr, nOp int32) int32 { /* sqlite3.c:79951:12: */ var pNew uintptr var p uintptr = (*Vdbe)(unsafe.Pointer(v)).FpParse @@ -102941,7 +102958,7 @@ func growOpArray(tls *libc.TLS, v uintptr, nOp int32) int32 { /* sqlite3.c:79938 // Use the sqlite3VdbeResolveLabel() function to fix an address and // the sqlite3VdbeChangeP4() function to change the value of the P4 // operand. -func growOp3(tls *libc.TLS, p uintptr, op int32, p1 int32, p2 int32, p3 int32) int32 { /* sqlite3.c:80009:28: */ +func growOp3(tls *libc.TLS, p uintptr, op int32, p1 int32, p2 int32, p3 int32) int32 { /* sqlite3.c:80022:28: */ if growOpArray(tls, p, 1) != 0 { return 1 @@ -102950,7 +102967,7 @@ func growOp3(tls *libc.TLS, p uintptr, op int32, p1 int32, p2 int32, p3 int32) i return Xsqlite3VdbeAddOp3(tls, p, op, p1, p2, p3) } -func Xsqlite3VdbeAddOp3(tls *libc.TLS, p uintptr, op int32, p1 int32, p2 int32, p3 int32) int32 { /* sqlite3.c:80015:20: */ +func Xsqlite3VdbeAddOp3(tls *libc.TLS, p uintptr, op int32, p1 int32, p2 int32, p3 int32) int32 { /* sqlite3.c:80028:20: */ var i int32 var pOp uintptr @@ -102973,26 +102990,26 @@ func Xsqlite3VdbeAddOp3(tls *libc.TLS, p uintptr, op int32, p1 int32, p2 int32, return i } -func Xsqlite3VdbeAddOp0(tls *libc.TLS, p uintptr, op int32) int32 { /* sqlite3.c:80054:20: */ +func Xsqlite3VdbeAddOp0(tls *libc.TLS, p uintptr, op int32) int32 { /* sqlite3.c:80067:20: */ return Xsqlite3VdbeAddOp3(tls, p, op, 0, 0, 0) } -func Xsqlite3VdbeAddOp1(tls *libc.TLS, p uintptr, op int32, p1 int32) int32 { /* sqlite3.c:80057:20: */ +func Xsqlite3VdbeAddOp1(tls *libc.TLS, p uintptr, op int32, p1 int32) int32 { /* sqlite3.c:80070:20: */ return Xsqlite3VdbeAddOp3(tls, p, op, p1, 0, 0) } -func Xsqlite3VdbeAddOp2(tls *libc.TLS, p uintptr, op int32, p1 int32, p2 int32) int32 { /* sqlite3.c:80060:20: */ +func Xsqlite3VdbeAddOp2(tls *libc.TLS, p uintptr, op int32, p1 int32, p2 int32) int32 { /* sqlite3.c:80073:20: */ return Xsqlite3VdbeAddOp3(tls, p, op, p1, p2, 0) } // Generate code for an unconditional jump to instruction iDest -func Xsqlite3VdbeGoto(tls *libc.TLS, p uintptr, iDest int32) int32 { /* sqlite3.c:80066:20: */ +func Xsqlite3VdbeGoto(tls *libc.TLS, p uintptr, iDest int32) int32 { /* sqlite3.c:80079:20: */ return Xsqlite3VdbeAddOp3(tls, p, OP_Goto, 0, iDest, 0) } // Generate code to cause the string zStr to be loaded into // register iDest -func Xsqlite3VdbeLoadString(tls *libc.TLS, p uintptr, iDest int32, zStr uintptr) int32 { /* sqlite3.c:80073:20: */ +func Xsqlite3VdbeLoadString(tls *libc.TLS, p uintptr, iDest int32, zStr uintptr) int32 { /* sqlite3.c:80086:20: */ return Xsqlite3VdbeAddOp4(tls, p, OP_String8, 0, iDest, 0, zStr, 0) } @@ -103005,7 +103022,7 @@ func Xsqlite3VdbeLoadString(tls *libc.TLS, p uintptr, iDest int32, zStr uintptr) // // If the input string does not end with "X" then an OP_ResultRow instruction // is generated for the values inserted. -func Xsqlite3VdbeMultiLoad(tls *libc.TLS, p uintptr, iDest int32, zTypes uintptr, va uintptr) { /* sqlite3.c:80088:21: */ +func Xsqlite3VdbeMultiLoad(tls *libc.TLS, p uintptr, iDest int32, zTypes uintptr, va uintptr) { /* sqlite3.c:80101:21: */ var ap Va_list _ = ap var i int32 @@ -103053,7 +103070,7 @@ skip_op_resultrow: } // Add an opcode that includes the p4 value as a pointer. -func Xsqlite3VdbeAddOp4(tls *libc.TLS, p uintptr, op int32, p1 int32, p2 int32, p3 int32, zP4 uintptr, p4type int32) int32 { /* sqlite3.c:80111:20: */ +func Xsqlite3VdbeAddOp4(tls *libc.TLS, p uintptr, op int32, p1 int32, p2 int32, p3 int32, zP4 uintptr, p4type int32) int32 { /* sqlite3.c:80124:20: */ var addr int32 = Xsqlite3VdbeAddOp3(tls, p, op, p1, p2, p3) Xsqlite3VdbeChangeP4(tls, p, addr, zP4, p4type) return addr @@ -103067,7 +103084,7 @@ func Xsqlite3VdbeAddOp4(tls *libc.TLS, p uintptr, op int32, p1 int32, p2 int32, // NC_IdxExpr means called as part of an index expression. NC_PartIdx // means in the WHERE clause of a partial index. NC_GenCol means called // while computing a generated column value. 0 is the usual case. -func Xsqlite3VdbeAddFunctionCall(tls *libc.TLS, pParse uintptr, p1 int32, p2 int32, p3 int32, nArg int32, pFunc uintptr, eCallCtx int32) int32 { /* sqlite3.c:80135:20: */ +func Xsqlite3VdbeAddFunctionCall(tls *libc.TLS, pParse uintptr, p1 int32, p2 int32, p3 int32, nArg int32, pFunc uintptr, eCallCtx int32) int32 { /* sqlite3.c:80148:20: */ var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe var nByte int32 var addr int32 @@ -103099,7 +103116,7 @@ func Xsqlite3VdbeAddFunctionCall(tls *libc.TLS, pParse uintptr, p1 int32, p2 int // Add an opcode that includes the p4 value with a P4_INT64 or // P4_REAL type. -func Xsqlite3VdbeAddOp4Dup8(tls *libc.TLS, p uintptr, op int32, p1 int32, p2 int32, p3 int32, zP4 uintptr, p4type int32) int32 { /* sqlite3.c:80172:20: */ +func Xsqlite3VdbeAddOp4Dup8(tls *libc.TLS, p uintptr, op int32, p1 int32, p2 int32, p3 int32, zP4 uintptr, p4type int32) int32 { /* sqlite3.c:80185:20: */ var p4copy uintptr = Xsqlite3DbMallocRawNN(tls, Xsqlite3VdbeDb(tls, p), uint64(8)) if p4copy != 0 { libc.Xmemcpy(tls, p4copy, zP4, uint64(8)) @@ -103109,7 +103126,7 @@ func Xsqlite3VdbeAddOp4Dup8(tls *libc.TLS, p uintptr, op int32, p1 int32, p2 int // Return the address of the current EXPLAIN QUERY PLAN baseline. // 0 means "none". -func Xsqlite3VdbeExplainParent(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:80191:20: */ +func Xsqlite3VdbeExplainParent(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:80204:20: */ var pOp uintptr if (*Parse)(unsafe.Pointer(pParse)).FaddrExplain == 0 { return 0 @@ -103125,7 +103142,7 @@ func Xsqlite3VdbeExplainParent(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3 // // If the bPush flag is true, then make this opcode the parent for // subsequent Explains until sqlite3VdbeExplainPop() is called. -func Xsqlite3VdbeExplain(tls *libc.TLS, pParse uintptr, bPush U8, zFmt uintptr, va uintptr) { /* sqlite3.c:80215:21: */ +func Xsqlite3VdbeExplain(tls *libc.TLS, pParse uintptr, bPush U8, zFmt uintptr, va uintptr) { /* sqlite3.c:80228:21: */ // Always include the OP_Explain opcodes if SQLITE_DEBUG is defined. // But omit them (for performance) during production builds if int32((*Parse)(unsafe.Pointer(pParse)).Fexplain) == 2 { @@ -103149,7 +103166,7 @@ func Xsqlite3VdbeExplain(tls *libc.TLS, pParse uintptr, bPush U8, zFmt uintptr, } // Pop the EXPLAIN QUERY PLAN stack one level. -func Xsqlite3VdbeExplainPop(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:80243:21: */ +func Xsqlite3VdbeExplainPop(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:80256:21: */ (*Parse)(unsafe.Pointer(pParse)).FaddrExplain = Xsqlite3VdbeExplainParent(tls, pParse) } @@ -103160,7 +103177,7 @@ func Xsqlite3VdbeExplainPop(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:80243: // // The zWhere string must have been obtained from sqlite3_malloc(). // This routine will take ownership of the allocated memory. -func Xsqlite3VdbeAddParseSchemaOp(tls *libc.TLS, p uintptr, iDb int32, zWhere uintptr, p5 U16) { /* sqlite3.c:80257:21: */ +func Xsqlite3VdbeAddParseSchemaOp(tls *libc.TLS, p uintptr, iDb int32, zWhere uintptr, p5 U16) { /* sqlite3.c:80270:21: */ var j int32 Xsqlite3VdbeAddOp4(tls, p, OP_ParseSchema, iDb, 0, 0, zWhere, -7) Xsqlite3VdbeChangeP5(tls, p, p5) @@ -103171,7 +103188,7 @@ func Xsqlite3VdbeAddParseSchemaOp(tls *libc.TLS, p uintptr, iDb int32, zWhere ui } // Add an opcode that includes the p4 value as an integer. -func Xsqlite3VdbeAddOp4Int(tls *libc.TLS, p uintptr, op int32, p1 int32, p2 int32, p3 int32, p4 int32) int32 { /* sqlite3.c:80268:20: */ +func Xsqlite3VdbeAddOp4Int(tls *libc.TLS, p uintptr, op int32, p1 int32, p2 int32, p3 int32, p4 int32) int32 { /* sqlite3.c:80281:20: */ var addr int32 = Xsqlite3VdbeAddOp3(tls, p, op, p1, p2, p3) if int32((*Sqlite3)(unsafe.Pointer((*Vdbe)(unsafe.Pointer(p)).Fdb)).FmallocFailed) == 0 { var pOp uintptr = (*Vdbe)(unsafe.Pointer(p)).FaOp + uintptr(addr)*24 @@ -103182,7 +103199,7 @@ func Xsqlite3VdbeAddOp4Int(tls *libc.TLS, p uintptr, op int32, p1 int32, p2 int3 } // Insert the end of a co-routine -func Xsqlite3VdbeEndCoroutine(tls *libc.TLS, v uintptr, regYield int32) { /* sqlite3.c:80287:21: */ +func Xsqlite3VdbeEndCoroutine(tls *libc.TLS, v uintptr, regYield int32) { /* sqlite3.c:80300:21: */ Xsqlite3VdbeAddOp1(tls, v, OP_EndCoroutine, regYield) // Clear the temporary register cache, thereby ensuring that each @@ -103217,14 +103234,14 @@ func Xsqlite3VdbeEndCoroutine(tls *libc.TLS, v uintptr, regYield int32) { /* sql // been issued. The negative is stored because // that gives a performance improvement over storing // the equivalent positive value. -func Xsqlite3VdbeMakeLabel(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:80325:20: */ +func Xsqlite3VdbeMakeLabel(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:80338:20: */ return libc.PreDecInt32(&(*Parse)(unsafe.Pointer(pParse)).FnLabel, 1) } // Resolve label "x" to be the address of the next instruction to // be inserted. The parameter "x" must have been obtained from // a prior call to sqlite3VdbeMakeLabel(). -func resizeResolveLabel(tls *libc.TLS, p uintptr, v uintptr, j int32) { /* sqlite3.c:80334:29: */ +func resizeResolveLabel(tls *libc.TLS, p uintptr, v uintptr, j int32) { /* sqlite3.c:80347:29: */ var nNewSize int32 = 10 - (*Parse)(unsafe.Pointer(p)).FnLabel (*Parse)(unsafe.Pointer(p)).FaLabel = Xsqlite3DbReallocOrFree(tls, (*Parse)(unsafe.Pointer(p)).Fdb, (*Parse)(unsafe.Pointer(p)).FaLabel, uint64(nNewSize)*uint64(unsafe.Sizeof(int32(0)))) @@ -103236,7 +103253,7 @@ func resizeResolveLabel(tls *libc.TLS, p uintptr, v uintptr, j int32) { /* sqlit } } -func Xsqlite3VdbeResolveLabel(tls *libc.TLS, v uintptr, x int32) { /* sqlite3.c:80349:21: */ +func Xsqlite3VdbeResolveLabel(tls *libc.TLS, v uintptr, x int32) { /* sqlite3.c:80362:21: */ var p uintptr = (*Vdbe)(unsafe.Pointer(v)).FpParse var j int32 = ^x @@ -103249,12 +103266,12 @@ func Xsqlite3VdbeResolveLabel(tls *libc.TLS, v uintptr, x int32) { /* sqlite3.c: } // Mark the VDBE as one that can only be run one time. -func Xsqlite3VdbeRunOnlyOnce(tls *libc.TLS, p uintptr) { /* sqlite3.c:80371:21: */ +func Xsqlite3VdbeRunOnlyOnce(tls *libc.TLS, p uintptr) { /* sqlite3.c:80384:21: */ libc.SetBitFieldPtr16Uint32(p+208, Bft(1), 5, 0x20) } // Mark the VDBE as one that can only be run multiple times. -func Xsqlite3VdbeReusable(tls *libc.TLS, p uintptr) { /* sqlite3.c:80378:21: */ +func Xsqlite3VdbeReusable(tls *libc.TLS, p uintptr) { /* sqlite3.c:80391:21: */ libc.SetBitFieldPtr16Uint32(p+208, Bft(0), 5, 0x20) } @@ -103277,7 +103294,7 @@ func Xsqlite3VdbeReusable(tls *libc.TLS, p uintptr) { /* sqlite3.c:80378:21: */ // This routine will only function correctly if the mkopcodeh.tcl generator // script numbers the opcodes correctly. Changes to this routine must be // coordinated with changes to mkopcodeh.tcl. -func resolveP2Values(tls *libc.TLS, p uintptr, pMaxFuncArgs uintptr) { /* sqlite3.c:80574:13: */ +func resolveP2Values(tls *libc.TLS, p uintptr, pMaxFuncArgs uintptr) { /* sqlite3.c:80587:13: */ var nMaxArgs int32 = *(*int32)(unsafe.Pointer(pMaxFuncArgs)) var pOp uintptr var pParse uintptr = (*Vdbe)(unsafe.Pointer(p)).FpParse @@ -103406,7 +103423,7 @@ func resolveP2Values(tls *libc.TLS, p uintptr, pMaxFuncArgs uintptr) { /* sqlite } // Return the address of the next instruction to be inserted. -func Xsqlite3VdbeCurrentAddr(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:80676:20: */ +func Xsqlite3VdbeCurrentAddr(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:80689:20: */ return (*Vdbe)(unsafe.Pointer(p)).FnOp } @@ -103437,7 +103454,7 @@ func Xsqlite3VdbeCurrentAddr(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:8067 // array. Also, *pnMaxArg is set to the larger of its current value and // the number of entries in the Vdbe.apArg[] array required to execute the // returned program. -func Xsqlite3VdbeTakeOpArray(tls *libc.TLS, p uintptr, pnOp uintptr, pnMaxArg uintptr) uintptr { /* sqlite3.c:80733:23: */ +func Xsqlite3VdbeTakeOpArray(tls *libc.TLS, p uintptr, pnOp uintptr, pnMaxArg uintptr) uintptr { /* sqlite3.c:80746:23: */ var aOp uintptr = (*Vdbe)(unsafe.Pointer(p)).FaOp // Check that sqlite3VdbeUsesBtree() was not called on this VM @@ -103453,7 +103470,7 @@ func Xsqlite3VdbeTakeOpArray(tls *libc.TLS, p uintptr, pnOp uintptr, pnMaxArg ui // // Non-zero P2 arguments to jump instructions are automatically adjusted // so that the jump target is relative to the first operation inserted. -func Xsqlite3VdbeAddOpList(tls *libc.TLS, p uintptr, nOp int32, aOp uintptr, iLineno int32) uintptr { /* sqlite3.c:80753:23: */ +func Xsqlite3VdbeAddOpList(tls *libc.TLS, p uintptr, nOp int32, aOp uintptr, iLineno int32) uintptr { /* sqlite3.c:80766:23: */ var i int32 var pOut uintptr var pFirst uintptr @@ -103497,23 +103514,23 @@ __3: // Change the value of the opcode, or P1, P2, P3, or P5 operands // for a specific instruction. -func Xsqlite3VdbeChangeOpcode(tls *libc.TLS, p uintptr, addr int32, iNewOpcode U8) { /* sqlite3.c:80829:21: */ +func Xsqlite3VdbeChangeOpcode(tls *libc.TLS, p uintptr, addr int32, iNewOpcode U8) { /* sqlite3.c:80842:21: */ (*VdbeOp)(unsafe.Pointer(Xsqlite3VdbeGetOp(tls, p, addr))).Fopcode = iNewOpcode } -func Xsqlite3VdbeChangeP1(tls *libc.TLS, p uintptr, addr int32, val int32) { /* sqlite3.c:80832:21: */ +func Xsqlite3VdbeChangeP1(tls *libc.TLS, p uintptr, addr int32, val int32) { /* sqlite3.c:80845:21: */ (*VdbeOp)(unsafe.Pointer(Xsqlite3VdbeGetOp(tls, p, addr))).Fp1 = val } -func Xsqlite3VdbeChangeP2(tls *libc.TLS, p uintptr, addr int32, val int32) { /* sqlite3.c:80835:21: */ +func Xsqlite3VdbeChangeP2(tls *libc.TLS, p uintptr, addr int32, val int32) { /* sqlite3.c:80848:21: */ (*VdbeOp)(unsafe.Pointer(Xsqlite3VdbeGetOp(tls, p, addr))).Fp2 = val } -func Xsqlite3VdbeChangeP3(tls *libc.TLS, p uintptr, addr int32, val int32) { /* sqlite3.c:80838:21: */ +func Xsqlite3VdbeChangeP3(tls *libc.TLS, p uintptr, addr int32, val int32) { /* sqlite3.c:80851:21: */ (*VdbeOp)(unsafe.Pointer(Xsqlite3VdbeGetOp(tls, p, addr))).Fp3 = val } -func Xsqlite3VdbeChangeP5(tls *libc.TLS, p uintptr, p5 U16) { /* sqlite3.c:80841:21: */ +func Xsqlite3VdbeChangeP5(tls *libc.TLS, p uintptr, p5 U16) { /* sqlite3.c:80854:21: */ if (*Vdbe)(unsafe.Pointer(p)).FnOp > 0 { (*Op)(unsafe.Pointer((*Vdbe)(unsafe.Pointer(p)).FaOp + uintptr((*Vdbe)(unsafe.Pointer(p)).FnOp-1)*24)).Fp5 = p5 @@ -103522,7 +103539,7 @@ func Xsqlite3VdbeChangeP5(tls *libc.TLS, p uintptr, p5 U16) { /* sqlite3.c:80841 // Change the P2 operand of instruction addr so that it points to // the address of the next instruction to be coded. -func Xsqlite3VdbeJumpHere(tls *libc.TLS, p uintptr, addr int32) { /* sqlite3.c:80850:21: */ +func Xsqlite3VdbeJumpHere(tls *libc.TLS, p uintptr, addr int32) { /* sqlite3.c:80863:21: */ Xsqlite3VdbeChangeP2(tls, p, addr, (*Vdbe)(unsafe.Pointer(p)).FnOp) } @@ -103537,7 +103554,7 @@ func Xsqlite3VdbeJumpHere(tls *libc.TLS, p uintptr, addr int32) { /* sqlite3.c:8 // // 7 Once 0 8 0 // 8 ... -func Xsqlite3VdbeJumpHereOrPopInst(tls *libc.TLS, p uintptr, addr int32) { /* sqlite3.c:80867:21: */ +func Xsqlite3VdbeJumpHereOrPopInst(tls *libc.TLS, p uintptr, addr int32) { /* sqlite3.c:80880:21: */ if addr == (*Vdbe)(unsafe.Pointer(p)).FnOp-1 { (*Vdbe)(unsafe.Pointer(p)).FnOp-- @@ -103548,26 +103565,26 @@ func Xsqlite3VdbeJumpHereOrPopInst(tls *libc.TLS, p uintptr, addr int32) { /* sq // If the input FuncDef structure is ephemeral, then free it. If // the FuncDef is not ephermal, then do nothing. -func freeEphemeralFunction(tls *libc.TLS, db uintptr, pDef uintptr) { /* sqlite3.c:80887:13: */ +func freeEphemeralFunction(tls *libc.TLS, db uintptr, pDef uintptr) { /* sqlite3.c:80900:13: */ if (*FuncDef)(unsafe.Pointer(pDef)).FfuncFlags&U32(SQLITE_FUNC_EPHEM) != U32(0) { Xsqlite3DbFreeNN(tls, db, pDef) } } // Delete a P4 value if necessary. -func freeP4Mem(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:80896:29: */ +func freeP4Mem(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:80909:29: */ if (*Mem)(unsafe.Pointer(p)).FszMalloc != 0 { Xsqlite3DbFree(tls, db, (*Mem)(unsafe.Pointer(p)).FzMalloc) } Xsqlite3DbFreeNN(tls, db, p) } -func freeP4FuncCtx(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:80900:29: */ +func freeP4FuncCtx(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:80913:29: */ freeEphemeralFunction(tls, db, (*Sqlite3_context)(unsafe.Pointer(p)).FpFunc) Xsqlite3DbFreeNN(tls, db, p) } -func freeP4(tls *libc.TLS, db uintptr, p4type int32, p4 uintptr) { /* sqlite3.c:80904:13: */ +func freeP4(tls *libc.TLS, db uintptr, p4type int32, p4 uintptr) { /* sqlite3.c:80917:13: */ switch p4type { case -16: @@ -103628,7 +103645,7 @@ func freeP4(tls *libc.TLS, db uintptr, p4type int32, p4 uintptr) { /* sqlite3.c: // Free the space allocated for aOp and any p4 values allocated for the // opcodes contained within. If aOp is not NULL it is assumed to contain // nOp entries. -func vdbeFreeOpArray(tls *libc.TLS, db uintptr, aOp uintptr, nOp int32) { /* sqlite3.c:80953:13: */ +func vdbeFreeOpArray(tls *libc.TLS, db uintptr, aOp uintptr, nOp int32) { /* sqlite3.c:80966:13: */ if aOp != 0 { var pOp uintptr for pOp = aOp + uintptr(nOp-1)*24; pOp >= aOp; pOp -= 24 { @@ -103643,18 +103660,18 @@ func vdbeFreeOpArray(tls *libc.TLS, db uintptr, aOp uintptr, nOp int32) { /* sql // Link the SubProgram object passed as the second argument into the linked // list at Vdbe.pSubProgram. This list is used to delete all sub-program // objects when the VM is no longer required. -func Xsqlite3VdbeLinkSubProgram(tls *libc.TLS, pVdbe uintptr, p uintptr) { /* sqlite3.c:80971:21: */ +func Xsqlite3VdbeLinkSubProgram(tls *libc.TLS, pVdbe uintptr, p uintptr) { /* sqlite3.c:80984:21: */ (*SubProgram)(unsafe.Pointer(p)).FpNext = (*Vdbe)(unsafe.Pointer(pVdbe)).FpProgram (*Vdbe)(unsafe.Pointer(pVdbe)).FpProgram = p } // Return true if the given Vdbe has any SubPrograms. -func Xsqlite3VdbeHasSubProgram(tls *libc.TLS, pVdbe uintptr) int32 { /* sqlite3.c:80979:20: */ +func Xsqlite3VdbeHasSubProgram(tls *libc.TLS, pVdbe uintptr) int32 { /* sqlite3.c:80992:20: */ return libc.Bool32((*Vdbe)(unsafe.Pointer(pVdbe)).FpProgram != uintptr(0)) } // Change the opcode at addr into OP_Noop -func Xsqlite3VdbeChangeToNoop(tls *libc.TLS, p uintptr, addr int32) int32 { /* sqlite3.c:80986:20: */ +func Xsqlite3VdbeChangeToNoop(tls *libc.TLS, p uintptr, addr int32) int32 { /* sqlite3.c:80999:20: */ var pOp uintptr if (*Sqlite3)(unsafe.Pointer((*Vdbe)(unsafe.Pointer(p)).Fdb)).FmallocFailed != 0 { return 0 @@ -103670,7 +103687,7 @@ func Xsqlite3VdbeChangeToNoop(tls *libc.TLS, p uintptr, addr int32) int32 { /* s // If the last opcode is "op" and it is not a jump destination, // then remove it. Return true if and only if an opcode was removed. -func Xsqlite3VdbeDeletePriorOpcode(tls *libc.TLS, p uintptr, op U8) int32 { /* sqlite3.c:81002:20: */ +func Xsqlite3VdbeDeletePriorOpcode(tls *libc.TLS, p uintptr, op U8) int32 { /* sqlite3.c:81015:20: */ if (*Vdbe)(unsafe.Pointer(p)).FnOp > 0 && int32((*Op)(unsafe.Pointer((*Vdbe)(unsafe.Pointer(p)).FaOp+uintptr((*Vdbe)(unsafe.Pointer(p)).FnOp-1)*24)).Fopcode) == int32(op) { return Xsqlite3VdbeChangeToNoop(tls, p, (*Vdbe)(unsafe.Pointer(p)).FnOp-1) } else { @@ -103694,7 +103711,7 @@ func Xsqlite3VdbeDeletePriorOpcode(tls *libc.TLS, p uintptr, op U8) int32 { /* s // the Vdbe. In these cases we can just copy the pointer. // // If addr<0 then change P4 on the most recently inserted instruction. -func vdbeChangeP4Full(tls *libc.TLS, p uintptr, pOp uintptr, zP4 uintptr, n int32) { /* sqlite3.c:81062:29: */ +func vdbeChangeP4Full(tls *libc.TLS, p uintptr, pOp uintptr, zP4 uintptr, n int32) { /* sqlite3.c:81075:29: */ if (*Op)(unsafe.Pointer(pOp)).Fp4type != 0 { freeP4(tls, (*Vdbe)(unsafe.Pointer(p)).Fdb, int32((*Op)(unsafe.Pointer(pOp)).Fp4type), *(*uintptr)(unsafe.Pointer(pOp + 16))) (*Op)(unsafe.Pointer(pOp)).Fp4type = int8(0) @@ -103711,7 +103728,7 @@ func vdbeChangeP4Full(tls *libc.TLS, p uintptr, pOp uintptr, zP4 uintptr, n int3 } } -func Xsqlite3VdbeChangeP4(tls *libc.TLS, p uintptr, addr int32, zP4 uintptr, n int32) { /* sqlite3.c:81081:21: */ +func Xsqlite3VdbeChangeP4(tls *libc.TLS, p uintptr, addr int32, zP4 uintptr, n int32) { /* sqlite3.c:81094:21: */ bp := tls.Alloc(8) defer tls.Free(8) *(*uintptr)(unsafe.Pointer(bp)) = zP4 @@ -103758,7 +103775,7 @@ func Xsqlite3VdbeChangeP4(tls *libc.TLS, p uintptr, addr int32, zP4 uintptr, n i // The P4 operand must not have been previously defined. And the new // P4 must not be P4_INT32. Use sqlite3VdbeChangeP4() in either of // those cases. -func Xsqlite3VdbeAppendP4(tls *libc.TLS, p uintptr, pP4 uintptr, n int32) { /* sqlite3.c:81124:21: */ +func Xsqlite3VdbeAppendP4(tls *libc.TLS, p uintptr, pP4 uintptr, n int32) { /* sqlite3.c:81137:21: */ var pOp uintptr if (*Sqlite3)(unsafe.Pointer((*Vdbe)(unsafe.Pointer(p)).Fdb)).FmallocFailed != 0 { @@ -103774,7 +103791,7 @@ func Xsqlite3VdbeAppendP4(tls *libc.TLS, p uintptr, pP4 uintptr, n int32) { /* s // Set the P4 on the most recently added opcode to the KeyInfo for the // index given. -func Xsqlite3VdbeSetP4KeyInfo(tls *libc.TLS, pParse uintptr, pIdx uintptr) { /* sqlite3.c:81144:21: */ +func Xsqlite3VdbeSetP4KeyInfo(tls *libc.TLS, pParse uintptr, pIdx uintptr) { /* sqlite3.c:81157:21: */ var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe var pKeyInfo uintptr @@ -103795,7 +103812,7 @@ func Xsqlite3VdbeSetP4KeyInfo(tls *libc.TLS, pParse uintptr, pIdx uintptr) { /* // this routine is a valid pointer. But because the dummy.opcode is 0, // dummy will never be written to. This is verified by code inspection and // by running with Valgrind. -func Xsqlite3VdbeGetOp(tls *libc.TLS, p uintptr, addr int32) uintptr { /* sqlite3.c:81210:23: */ // Ignore the MSVC warning about no initializer +func Xsqlite3VdbeGetOp(tls *libc.TLS, p uintptr, addr int32) uintptr { /* sqlite3.c:81223:23: */ // Ignore the MSVC warning about no initializer if addr < 0 { addr = (*Vdbe)(unsafe.Pointer(p)).FnOp - 1 @@ -103809,11 +103826,11 @@ func Xsqlite3VdbeGetOp(tls *libc.TLS, p uintptr, addr int32) uintptr { /* sqlite return uintptr(0) } -var dummy VdbeOp /* sqlite3.c:81213:17: */ +var dummy VdbeOp /* sqlite3.c:81226:17: */ // Compute a string that describes the P4 parameter for an opcode. // Use zTemp for any required temporary buffer space. -func Xsqlite3VdbeDisplayP4(tls *libc.TLS, db uintptr, pOp uintptr) uintptr { /* sqlite3.c:81414:21: */ +func Xsqlite3VdbeDisplayP4(tls *libc.TLS, db uintptr, pOp uintptr) uintptr { /* sqlite3.c:81427:21: */ bp := tls.Alloc(176) defer tls.Free(176) @@ -103976,7 +103993,7 @@ func Xsqlite3VdbeDisplayP4(tls *libc.TLS, db uintptr, pOp uintptr) uintptr { /* return Xsqlite3StrAccumFinish(tls, bp+144) } -var encnames = [4]uintptr{ts + 6311, ts + 6313, ts + 6315, ts + 6320} /* sqlite3.c:81444:25 */ +var encnames = [4]uintptr{ts + 6311, ts + 6313, ts + 6315, ts + 6320} /* sqlite3.c:81457:25 */ // Declare to the Vdbe that the BTree object at db->aDb[i] is used. // @@ -103984,7 +104001,7 @@ var encnames = [4]uintptr{ts + 6311, ts + 6313, ts + 6315, ts + 6320} /* sqlite3 // attached databases that will be use. A mask of these databases // is maintained in p->btreeMask. The p->lockMask value is the subset of // p->btreeMask of databases that will require a lock. -func Xsqlite3VdbeUsesBtree(tls *libc.TLS, p uintptr, i int32) { /* sqlite3.c:81539:21: */ +func Xsqlite3VdbeUsesBtree(tls *libc.TLS, p uintptr, i int32) { /* sqlite3.c:81552:21: */ *(*YDbMask)(unsafe.Pointer(p + 212)) |= YDbMask(YDbMask(1)) << i if i != 1 && Xsqlite3BtreeSharable(tls, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer((*Vdbe)(unsafe.Pointer(p)).Fdb)).FaDb+uintptr(i)*32)).FpBt) != 0 { @@ -104011,7 +104028,7 @@ func Xsqlite3VdbeUsesBtree(tls *libc.TLS, p uintptr, i int32) { /* sqlite3.c:815 // corresponding to btrees that use shared cache. Then the runtime of // this routine is N*N. But as N is rarely more than 1, this should not // be a problem. -func Xsqlite3VdbeEnter(tls *libc.TLS, p uintptr) { /* sqlite3.c:81570:21: */ +func Xsqlite3VdbeEnter(tls *libc.TLS, p uintptr) { /* sqlite3.c:81583:21: */ var i int32 var db uintptr var aDb uintptr @@ -104030,7 +104047,7 @@ func Xsqlite3VdbeEnter(tls *libc.TLS, p uintptr) { /* sqlite3.c:81570:21: */ } // Unlock all of the btrees previously locked by a call to sqlite3VdbeEnter(). -func vdbeLeave(tls *libc.TLS, p uintptr) { /* sqlite3.c:81591:29: */ +func vdbeLeave(tls *libc.TLS, p uintptr) { /* sqlite3.c:81604:29: */ var i int32 var db uintptr var aDb uintptr @@ -104045,7 +104062,7 @@ func vdbeLeave(tls *libc.TLS, p uintptr) { /* sqlite3.c:81591:29: */ } } -func Xsqlite3VdbeLeave(tls *libc.TLS, p uintptr) { /* sqlite3.c:81605:21: */ +func Xsqlite3VdbeLeave(tls *libc.TLS, p uintptr) { /* sqlite3.c:81618:21: */ if (*Vdbe)(unsafe.Pointer(p)).FlockMask == YDbMask(0) { return } // The common case @@ -104053,7 +104070,7 @@ func Xsqlite3VdbeLeave(tls *libc.TLS, p uintptr) { /* sqlite3.c:81605:21: */ } // Initialize an array of N Mem element. -func initMemArray(tls *libc.TLS, p uintptr, N int32, db uintptr, flags U16) { /* sqlite3.c:81647:13: */ +func initMemArray(tls *libc.TLS, p uintptr, N int32, db uintptr, flags U16) { /* sqlite3.c:81660:13: */ for libc.PostDecInt32(&N, 1) > 0 { (*Mem)(unsafe.Pointer(p)).Fdb = db (*Mem)(unsafe.Pointer(p)).Fflags = flags @@ -104063,7 +104080,7 @@ func initMemArray(tls *libc.TLS, p uintptr, N int32, db uintptr, flags U16) { /* } // Release an array of N Mem elements -func releaseMemArray(tls *libc.TLS, p uintptr, N int32) { /* sqlite3.c:81662:13: */ +func releaseMemArray(tls *libc.TLS, p uintptr, N int32) { /* sqlite3.c:81675:13: */ if p != 0 && N != 0 { var pEnd uintptr = p + uintptr(N)*56 var db uintptr = (*Mem)(unsafe.Pointer(p)).Fdb @@ -104107,7 +104124,7 @@ func releaseMemArray(tls *libc.TLS, p uintptr, N int32) { /* sqlite3.c:81662:13: // // This routine does not delete the Frame right away. It merely adds the // frame to a list of frames to be deleted when the Vdbe halts. -func Xsqlite3VdbeFrameMemDel(tls *libc.TLS, pArg uintptr) { /* sqlite3.c:81724:21: */ +func Xsqlite3VdbeFrameMemDel(tls *libc.TLS, pArg uintptr) { /* sqlite3.c:81737:21: */ var pFrame uintptr = pArg (*VdbeFrame)(unsafe.Pointer(pFrame)).FpParent = (*Vdbe)(unsafe.Pointer((*VdbeFrame)(unsafe.Pointer(pFrame)).Fv)).FpDelFrame @@ -104119,7 +104136,7 @@ func Xsqlite3VdbeFrameMemDel(tls *libc.TLS, pArg uintptr) { /* sqlite3.c:81724:2 // // Return SQLITE_ROW on success. Return SQLITE_DONE if there are no // more opcodes to be displayed. -func Xsqlite3VdbeNextOpcode(tls *libc.TLS, p uintptr, pSub uintptr, eMode int32, piPc uintptr, piAddr uintptr, paOp uintptr) int32 { /* sqlite3.c:81739:20: */ +func Xsqlite3VdbeNextOpcode(tls *libc.TLS, p uintptr, pSub uintptr, eMode int32, piPc uintptr, piAddr uintptr, paOp uintptr) int32 { /* sqlite3.c:81752:20: */ var nRow int32 // Stop when row count reaches this var nSub int32 = 0 // Number of sub-vdbes seen so far var apSub uintptr = uintptr(0) // Array of sub-vdbes @@ -104218,7 +104235,7 @@ func Xsqlite3VdbeNextOpcode(tls *libc.TLS, p uintptr, pSub uintptr, eMode int32, // Delete a VdbeFrame object and its contents. VdbeFrame objects are // allocated by the OP_Program opcode in sqlite3VdbeExec(). -func Xsqlite3VdbeFrameDelete(tls *libc.TLS, p uintptr) { /* sqlite3.c:81851:21: */ +func Xsqlite3VdbeFrameDelete(tls *libc.TLS, p uintptr) { /* sqlite3.c:81864:21: */ var i int32 var aMem uintptr = p + 120 var apCsr uintptr = aMem + uintptr((*VdbeFrame)(unsafe.Pointer(p)).FnChildMem)*56 @@ -104247,7 +104264,7 @@ func Xsqlite3VdbeFrameDelete(tls *libc.TLS, p uintptr) { /* sqlite3.c:81851:21: // // When p->explain==1, first the main program is listed, then each of // the trigger subprograms are listed one by one. -func Xsqlite3VdbeList(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:81883:20: */ +func Xsqlite3VdbeList(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:81896:20: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -104336,7 +104353,7 @@ type ReusableSpace = struct { FpSpace uintptr FnFree Sqlite3_int64 FnNeeded Sqlite3_int64 -} /* sqlite3.c:82028:1 */ +} /* sqlite3.c:82041:1 */ // Try to allocate nByte bytes of 8-byte aligned bulk memory for pBuf // from the ReusableSpace object. Return a pointer to the allocated @@ -104351,7 +104368,7 @@ type ReusableSpace = struct { // This allocator is employed to repurpose unused slots at the end of the // opcode array of prepared state for other memory needs of the prepared // statement. -func allocSpace(tls *libc.TLS, p uintptr, pBuf uintptr, nByte Sqlite3_int64) uintptr { /* sqlite3.c:82048:13: */ +func allocSpace(tls *libc.TLS, p uintptr, pBuf uintptr, nByte Sqlite3_int64) uintptr { /* sqlite3.c:82061:13: */ if pBuf == uintptr(0) { nByte = (nByte + int64(7)) & int64(libc.CplInt32(7)) @@ -104368,7 +104385,7 @@ func allocSpace(tls *libc.TLS, p uintptr, pBuf uintptr, nByte Sqlite3_int64) uin // Rewind the VDBE back to the beginning in preparation for // running it. -func Xsqlite3VdbeRewind(tls *libc.TLS, p uintptr) { /* sqlite3.c:82071:21: */ +func Xsqlite3VdbeRewind(tls *libc.TLS, p uintptr) { /* sqlite3.c:82084:21: */ // There should be at least one opcode. @@ -104401,7 +104418,7 @@ func Xsqlite3VdbeRewind(tls *libc.TLS, p uintptr) { /* sqlite3.c:82071:21: */ // // Use the sqlite3VdbeRewind() procedure to restore a virtual machine back // to its initial state after it has been run. -func Xsqlite3VdbeMakeReady(tls *libc.TLS, p uintptr, pParse uintptr) { /* sqlite3.c:82124:21: */ +func Xsqlite3VdbeMakeReady(tls *libc.TLS, p uintptr, pParse uintptr) { /* sqlite3.c:82137:21: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -104510,11 +104527,11 @@ func Xsqlite3VdbeMakeReady(tls *libc.TLS, p uintptr, pParse uintptr) { /* sqlite var azColName = [12]uintptr{ ts + 6325, ts + 6330, ts + 6337, ts + 6340, ts + 6343, ts + 6346, ts + 6349, ts + 6352, ts + 6360, ts + 6363, ts + 6370, ts + 6378, -} /* sqlite3.c:82172:23 */ +} /* sqlite3.c:82185:23 */ // Close a VDBE cursor and release all the resources that cursor // happens to hold. -func Xsqlite3VdbeFreeCursor(tls *libc.TLS, p uintptr, pCx uintptr) { /* sqlite3.c:82249:21: */ +func Xsqlite3VdbeFreeCursor(tls *libc.TLS, p uintptr, pCx uintptr) { /* sqlite3.c:82262:21: */ if pCx == uintptr(0) { return } @@ -104548,7 +104565,7 @@ func Xsqlite3VdbeFreeCursor(tls *libc.TLS, p uintptr, pCx uintptr) { /* sqlite3. } // Close all cursors in the current frame. -func closeCursorsInFrame(tls *libc.TLS, p uintptr) { /* sqlite3.c:82279:13: */ +func closeCursorsInFrame(tls *libc.TLS, p uintptr) { /* sqlite3.c:82292:13: */ if (*Vdbe)(unsafe.Pointer(p)).FapCsr != 0 { var i int32 for i = 0; i < (*Vdbe)(unsafe.Pointer(p)).FnCursor; i++ { @@ -104564,7 +104581,7 @@ func closeCursorsInFrame(tls *libc.TLS, p uintptr) { /* sqlite3.c:82279:13: */ // Copy the values stored in the VdbeFrame structure to its Vdbe. This // is used, for example, when a trigger sub-program is halted to restore // control to the main program. -func Xsqlite3VdbeFrameRestore(tls *libc.TLS, pFrame uintptr) int32 { /* sqlite3.c:82297:20: */ +func Xsqlite3VdbeFrameRestore(tls *libc.TLS, pFrame uintptr) int32 { /* sqlite3.c:82310:20: */ var v uintptr = (*VdbeFrame)(unsafe.Pointer(pFrame)).Fv closeCursorsInFrame(tls, v) (*Vdbe)(unsafe.Pointer(v)).FaOp = (*VdbeFrame)(unsafe.Pointer(pFrame)).FaOp @@ -104588,7 +104605,7 @@ func Xsqlite3VdbeFrameRestore(tls *libc.TLS, pFrame uintptr) int32 { /* sqlite3. // cell array. This is necessary as the memory cell array may contain // pointers to VdbeFrame objects, which may in turn contain pointers to // open cursors. -func closeAllCursors(tls *libc.TLS, p uintptr) { /* sqlite3.c:82326:13: */ +func closeAllCursors(tls *libc.TLS, p uintptr) { /* sqlite3.c:82339:13: */ if (*Vdbe)(unsafe.Pointer(p)).FpFrame != 0 { var pFrame uintptr for pFrame = (*Vdbe)(unsafe.Pointer(p)).FpFrame; (*VdbeFrame)(unsafe.Pointer(pFrame)).FpParent != 0; pFrame = (*VdbeFrame)(unsafe.Pointer(pFrame)).FpParent { @@ -104619,7 +104636,7 @@ func closeAllCursors(tls *libc.TLS, p uintptr) { /* sqlite3.c:82326:13: */ // statement. This is now set at compile time, rather than during // execution of the vdbe program so that sqlite3_column_count() can // be called on an SQL statement before sqlite3_step(). -func Xsqlite3VdbeSetNumCols(tls *libc.TLS, p uintptr, nResColumn int32) { /* sqlite3.c:82356:21: */ +func Xsqlite3VdbeSetNumCols(tls *libc.TLS, p uintptr, nResColumn int32) { /* sqlite3.c:82369:21: */ var n int32 var db uintptr = (*Vdbe)(unsafe.Pointer(p)).Fdb @@ -104644,7 +104661,7 @@ func Xsqlite3VdbeSetNumCols(tls *libc.TLS, p uintptr, nResColumn int32) { /* sql // The final parameter, xDel, must be one of SQLITE_DYNAMIC, SQLITE_STATIC // 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 Xsqlite3VdbeSetColName(tls *libc.TLS, p uintptr, idx int32, var1 int32, zName uintptr, xDel uintptr) int32 { /* sqlite3.c:82381:20: */ +func Xsqlite3VdbeSetColName(tls *libc.TLS, p uintptr, idx int32, var1 int32, zName uintptr, xDel uintptr) int32 { /* sqlite3.c:82394:20: */ var rc int32 var pColName uintptr @@ -104663,7 +104680,7 @@ func Xsqlite3VdbeSetColName(tls *libc.TLS, p uintptr, idx int32, var1 int32, zNa // db. If a transaction is active, commit it. If there is a // write-transaction spanning more than one database file, this routine // takes care of the super-journal trickery. -func vdbeCommit(tls *libc.TLS, db uintptr, p uintptr) int32 { /* sqlite3.c:82409:12: */ +func vdbeCommit(tls *libc.TLS, db uintptr, p uintptr) int32 { /* sqlite3.c:82422:12: */ bp := tls.Alloc(72) defer tls.Free(72) @@ -104891,7 +104908,7 @@ var aMJNeeded = [6]U8{ /* TRUNCATE */ U8(1), /* MEMORY */ U8(0), /* WAL */ U8(0), -} /* sqlite3.c:82444:23 */ +} /* sqlite3.c:82457:23 */ // This routine checks that the sqlite3.nVdbeActive count variable // matches the number of vdbe's in the list sqlite3.pVdbe that are @@ -104909,7 +104926,7 @@ var aMJNeeded = [6]U8{ // // If an IO error occurs, an SQLITE_IOERR_XXX error code is returned. // Otherwise SQLITE_OK. -func vdbeCloseStatement(tls *libc.TLS, p uintptr, eOp int32) int32 { /* sqlite3.c:82705:28: */ +func vdbeCloseStatement(tls *libc.TLS, p uintptr, eOp int32) int32 { /* sqlite3.c:82718:28: */ var db uintptr = (*Vdbe)(unsafe.Pointer(p)).Fdb var rc int32 = SQLITE_OK var i int32 @@ -104952,7 +104969,7 @@ func vdbeCloseStatement(tls *libc.TLS, p uintptr, eOp int32) int32 { /* sqlite3. return rc } -func Xsqlite3VdbeCloseStatement(tls *libc.TLS, p uintptr, eOp int32) int32 { /* sqlite3.c:82751:20: */ +func Xsqlite3VdbeCloseStatement(tls *libc.TLS, p uintptr, eOp int32) int32 { /* sqlite3.c:82764:20: */ if (*Sqlite3)(unsafe.Pointer((*Vdbe)(unsafe.Pointer(p)).Fdb)).FnStatement != 0 && (*Vdbe)(unsafe.Pointer(p)).FiStatement != 0 { return vdbeCloseStatement(tls, p, eOp) } @@ -104967,7 +104984,7 @@ func Xsqlite3VdbeCloseStatement(tls *libc.TLS, p uintptr, eOp int32) int32 { /* // If there are outstanding FK violations and this function returns // SQLITE_ERROR, set the result of the VM to SQLITE_CONSTRAINT_FOREIGNKEY // and write an error message to it. Then return SQLITE_ERROR. -func Xsqlite3VdbeCheckFk(tls *libc.TLS, p uintptr, deferred int32) int32 { /* sqlite3.c:82770:20: */ +func Xsqlite3VdbeCheckFk(tls *libc.TLS, p uintptr, deferred int32) int32 { /* sqlite3.c:82783:20: */ var db uintptr = (*Vdbe)(unsafe.Pointer(p)).Fdb if deferred != 0 && (*Sqlite3)(unsafe.Pointer(db)).FnDeferredCons+(*Sqlite3)(unsafe.Pointer(db)).FnDeferredImmCons > int64(0) || !(deferred != 0) && (*Vdbe)(unsafe.Pointer(p)).FnFkConstraint > int64(0) { @@ -104990,7 +105007,7 @@ func Xsqlite3VdbeCheckFk(tls *libc.TLS, p uintptr, deferred int32) int32 { /* sq // Return an error code. If the commit could not complete because of // lock contention, return SQLITE_BUSY. If SQLITE_BUSY is returned, it // means the close did not happen and needs to be repeated. -func Xsqlite3VdbeHalt(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:82797:20: */ +func Xsqlite3VdbeHalt(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:82810:20: */ var rc int32 // Used to store transient return codes var db uintptr = (*Vdbe)(unsafe.Pointer(p)).Fdb @@ -105194,7 +105211,7 @@ func Xsqlite3VdbeHalt(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:82797:20: * // Each VDBE holds the result of the most recent sqlite3_step() call // in p->rc. This routine sets that result back to SQLITE_OK. -func Xsqlite3VdbeResetStepResult(tls *libc.TLS, p uintptr) { /* sqlite3.c:83007:21: */ +func Xsqlite3VdbeResetStepResult(tls *libc.TLS, p uintptr) { /* sqlite3.c:83020:21: */ (*Vdbe)(unsafe.Pointer(p)).Frc = SQLITE_OK } @@ -105204,7 +105221,7 @@ func Xsqlite3VdbeResetStepResult(tls *libc.TLS, p uintptr) { /* sqlite3.c:83007: // // This function does not clear the VDBE error code or message, just // copies them to the database handle. -func Xsqlite3VdbeTransferError(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:83019:20: */ +func Xsqlite3VdbeTransferError(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:83032:20: */ var db uintptr = (*Vdbe)(unsafe.Pointer(p)).Fdb var rc int32 = (*Vdbe)(unsafe.Pointer(p)).Frc if (*Vdbe)(unsafe.Pointer(p)).FzErrMsg != 0 { @@ -105233,7 +105250,7 @@ func Xsqlite3VdbeTransferError(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:83 // To look at it another way, this routine resets the state of the // virtual machine from VDBE_MAGIC_RUN or VDBE_MAGIC_HALT back to // VDBE_MAGIC_INIT. -func Xsqlite3VdbeReset(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:83069:20: */ +func Xsqlite3VdbeReset(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:83082:20: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -105285,7 +105302,7 @@ func Xsqlite3VdbeReset(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:83069:20: // Clean up and delete a VDBE after execution. Return an integer which is // the result code. Write any error message text into *pzErrMsg. -func Xsqlite3VdbeFinalize(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:83166:20: */ +func Xsqlite3VdbeFinalize(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:83179:20: */ var rc int32 = SQLITE_OK if (*Vdbe)(unsafe.Pointer(p)).FiVdbeMagic == U32(VDBE_MAGIC_RUN) || (*Vdbe)(unsafe.Pointer(p)).FiVdbeMagic == U32(VDBE_MAGIC_HALT) { rc = Xsqlite3VdbeReset(tls, p) @@ -105309,7 +105326,7 @@ func Xsqlite3VdbeFinalize(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:83166:2 // // * the corresponding bit in argument mask is clear (where the first // function parameter corresponds to bit 0 etc.). -func Xsqlite3VdbeDeleteAuxData(tls *libc.TLS, db uintptr, pp uintptr, iOp int32, mask int32) { /* sqlite3.c:83192:21: */ +func Xsqlite3VdbeDeleteAuxData(tls *libc.TLS, db uintptr, pp uintptr, iOp int32, mask int32) { /* sqlite3.c:83205:21: */ for *(*uintptr)(unsafe.Pointer(pp)) != 0 { var pAux uintptr = *(*uintptr)(unsafe.Pointer(pp)) if iOp < 0 || @@ -105334,7 +105351,7 @@ func Xsqlite3VdbeDeleteAuxData(tls *libc.TLS, db uintptr, pp uintptr, iOp int32, // The difference between this function and sqlite3VdbeDelete() is that // VdbeDelete() also unlinks the Vdbe from the list of VMs associated with // the database connection and frees the object itself. -func Xsqlite3VdbeClearObject(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:83220:21: */ +func Xsqlite3VdbeClearObject(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:83233:21: */ var pSub uintptr var pNext uintptr @@ -105355,7 +105372,7 @@ func Xsqlite3VdbeClearObject(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3. } // Delete an entire VDBE. -func Xsqlite3VdbeDelete(tls *libc.TLS, p uintptr) { /* sqlite3.c:83261:21: */ +func Xsqlite3VdbeDelete(tls *libc.TLS, p uintptr) { /* sqlite3.c:83274:21: */ var db uintptr db = (*Vdbe)(unsafe.Pointer(p)).Fdb @@ -105378,7 +105395,7 @@ func Xsqlite3VdbeDelete(tls *libc.TLS, p uintptr) { /* sqlite3.c:83261:21: */ // The cursor "p" has a pending seek operation that has not yet been // carried out. Seek the cursor now. If an error occurs, return // the appropriate error code. -func Xsqlite3VdbeFinishMoveto(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:83287:36: */ +func Xsqlite3VdbeFinishMoveto(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:83300:36: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -105391,7 +105408,7 @@ func Xsqlite3VdbeFinishMoveto(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:832 return rc } if *(*int32)(unsafe.Pointer(bp)) != 0 { - return Xsqlite3CorruptError(tls, 83297) + return Xsqlite3CorruptError(tls, 83310) } (*VdbeCursor)(unsafe.Pointer(p)).FdeferredMoveto = U8(0) (*VdbeCursor)(unsafe.Pointer(p)).FcacheStatus = U32(CACHE_STALE) @@ -105403,7 +105420,7 @@ func Xsqlite3VdbeFinishMoveto(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:832 // rebalanced. Whatever the cause, try to restore "p" to the place it // is supposed to be pointing. If the row was deleted out from under the // cursor, set the cursor to point to a NULL row. -func handleMovedCursor(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:83313:28: */ +func handleMovedCursor(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:83326:28: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -105421,7 +105438,7 @@ func handleMovedCursor(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:83313:28: // Check to ensure that the cursor is valid. Restore the cursor // if need be. Return any I/O error from the restore operation. -func Xsqlite3VdbeCursorRestore(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:83328:20: */ +func Xsqlite3VdbeCursorRestore(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:83341:20: */ if Xsqlite3BtreeCursorHasMoved(tls, *(*uintptr)(unsafe.Pointer(p + 48))) != 0 { return handleMovedCursor(tls, p) @@ -105440,7 +105457,7 @@ func Xsqlite3VdbeCursorRestore(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:83 // // If the cursor is already pointing to the correct row and that row has // not been deleted out from under the cursor, then this routine is a no-op. -func Xsqlite3VdbeCursorMoveto(tls *libc.TLS, pp uintptr, piCol uintptr) int32 { /* sqlite3.c:83349:20: */ +func Xsqlite3VdbeCursorMoveto(tls *libc.TLS, pp uintptr, piCol uintptr) int32 { /* sqlite3.c:83362:20: */ var p uintptr = *(*uintptr)(unsafe.Pointer(pp)) if (*VdbeCursor)(unsafe.Pointer(p)).FdeferredMoveto != 0 { @@ -105515,10 +105532,10 @@ var sqlite3SmallTypeSizes = [128]U8{ /* 100 */ U8(44), U8(44), U8(45), U8(45), U8(46), U8(46), U8(47), U8(47), U8(48), U8(48), /* 110 */ U8(49), U8(49), U8(50), U8(50), U8(51), U8(51), U8(52), U8(52), U8(53), U8(53), /* 120 */ U8(54), U8(54), U8(55), U8(55), U8(56), U8(56), U8(57), U8(57), -} /* sqlite3.c:83486:17 */ +} /* sqlite3.c:83499:17 */ // Return the length of the data corresponding to the supplied serial-type. -func Xsqlite3VdbeSerialTypeLen(tls *libc.TLS, serial_type U32) U32 { /* sqlite3.c:83506:20: */ +func Xsqlite3VdbeSerialTypeLen(tls *libc.TLS, serial_type U32) U32 { /* sqlite3.c:83519:20: */ if serial_type >= U32(128) { return (serial_type - U32(12)) / U32(2) } else { @@ -105528,7 +105545,7 @@ func Xsqlite3VdbeSerialTypeLen(tls *libc.TLS, serial_type U32) U32 { /* sqlite3. return U32(0) } -func Xsqlite3VdbeOneByteSerialTypeLen(tls *libc.TLS, serial_type U8) U8 { /* sqlite3.c:83515:19: */ +func Xsqlite3VdbeOneByteSerialTypeLen(tls *libc.TLS, serial_type U8) U8 { /* sqlite3.c:83528:19: */ return sqlite3SmallTypeSizes[serial_type] } @@ -105577,7 +105594,7 @@ func Xsqlite3VdbeOneByteSerialTypeLen(tls *libc.TLS, serial_type U8) U8 { /* sql // Return the number of bytes actually written into buf[]. The number // of bytes in the zero-filled tail is included in the return value only // if those bytes were zeroed in buf[]. -func Xsqlite3VdbeSerialPut(tls *libc.TLS, buf uintptr, pMem uintptr, serial_type U32) U32 { /* sqlite3.c:83586:20: */ +func Xsqlite3VdbeSerialPut(tls *libc.TLS, buf uintptr, pMem uintptr, serial_type U32) U32 { /* sqlite3.c:83599:20: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -105628,7 +105645,7 @@ func Xsqlite3VdbeSerialPut(tls *libc.TLS, buf uintptr, pMem uintptr, serial_type // The few cases that require local variables are broken out into a separate // routine so that in most cases the overhead of moving the stack pointer // is avoided. -func serialGet(tls *libc.TLS, buf uintptr, serial_type U32, pMem uintptr) { /* sqlite3.c:83640:13: */ +func serialGet(tls *libc.TLS, buf uintptr, serial_type U32, pMem uintptr) { /* sqlite3.c:83653:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -105655,7 +105672,7 @@ func serialGet(tls *libc.TLS, buf uintptr, serial_type U32, pMem uintptr) { /* s } } -func Xsqlite3VdbeSerialGet(tls *libc.TLS, buf uintptr, serial_type U32, pMem uintptr) { /* sqlite3.c:83675:21: */ +func Xsqlite3VdbeSerialGet(tls *libc.TLS, buf uintptr, serial_type U32, pMem uintptr) { /* sqlite3.c:83688:21: */ switch serial_type { case U32(10): { // Internal use only: NULL with virtual table @@ -105758,7 +105775,7 @@ func Xsqlite3VdbeSerialGet(tls *libc.TLS, buf uintptr, serial_type U32, pMem uin return } -var aFlag = [2]U16{U16(MEM_Blob | MEM_Ephem), U16(MEM_Str | MEM_Ephem)} /* sqlite3.c:83758:24 */ +var aFlag = [2]U16{U16(MEM_Blob | MEM_Ephem), U16(MEM_Str | MEM_Ephem)} /* sqlite3.c:83771:24 */ // This routine is used to allocate sufficient space for an UnpackedRecord // structure large enough to be used with sqlite3VdbeRecordUnpack() if @@ -105772,7 +105789,7 @@ var aFlag = [2]U16{U16(MEM_Blob | MEM_Ephem), U16(MEM_Str | MEM_Ephem)} /* sqlit // before returning. // // If an OOM error occurs, NULL is returned. -func Xsqlite3VdbeAllocUnpackedRecord(tls *libc.TLS, pKeyInfo uintptr) uintptr { /* sqlite3.c:83781:31: */ +func Xsqlite3VdbeAllocUnpackedRecord(tls *libc.TLS, pKeyInfo uintptr) uintptr { /* sqlite3.c:83794:31: */ var p uintptr // Unpacked record to return var nByte int32 // Number of bytes required for *p nByte = int32((uint64(unsafe.Sizeof(UnpackedRecord{}))+uint64(7))&libc.Uint64FromInt32(libc.CplInt32(7)) + uint64(unsafe.Sizeof(Mem{}))*uint64(int32((*KeyInfo)(unsafe.Pointer(pKeyInfo)).FnKeyField)+1)) @@ -105790,7 +105807,7 @@ func Xsqlite3VdbeAllocUnpackedRecord(tls *libc.TLS, pKeyInfo uintptr) uintptr { // Given the nKey-byte encoding of a record in pKey[], populate the // UnpackedRecord structure indicated by the fourth argument with the // contents of the decoded record. -func Xsqlite3VdbeRecordUnpack(tls *libc.TLS, pKeyInfo uintptr, nKey int32, pKey uintptr, p uintptr) { /* sqlite3.c:83801:21: */ +func Xsqlite3VdbeRecordUnpack(tls *libc.TLS, pKeyInfo uintptr, nKey int32, pKey uintptr, p uintptr) { /* sqlite3.c:83814:21: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -105851,7 +105868,7 @@ func Xsqlite3VdbeRecordUnpack(tls *libc.TLS, pKeyInfo uintptr, nKey int32, pKey // using the collation sequence pColl. As usual, return a negative , zero // or positive value if *pMem1 is less than, equal to or greater than // *pMem2, respectively. Similar in spirit to "rc = (*pMem1) - (*pMem2);". -func vdbeCompareMemString(tls *libc.TLS, pMem1 uintptr, pMem2 uintptr, pColl uintptr, prcErr uintptr) int32 { /* sqlite3.c:83998:12: */ +func vdbeCompareMemString(tls *libc.TLS, pMem1 uintptr, pMem2 uintptr, pColl uintptr, prcErr uintptr) int32 { /* sqlite3.c:84011:12: */ bp := tls.Alloc(112) defer tls.Free(112) @@ -105894,7 +105911,7 @@ func vdbeCompareMemString(tls *libc.TLS, pMem1 uintptr, pMem2 uintptr, pColl uin // The input pBlob is guaranteed to be a Blob that is not marked // with MEM_Zero. Return true if it could be a zero-blob. -func isAllZero(tls *libc.TLS, z uintptr, n int32) int32 { /* sqlite3.c:84035:12: */ +func isAllZero(tls *libc.TLS, z uintptr, n int32) int32 { /* sqlite3.c:84048:12: */ var i int32 for i = 0; i < n; i++ { if *(*int8)(unsafe.Pointer(z + uintptr(i))) != 0 { @@ -105907,7 +105924,7 @@ func isAllZero(tls *libc.TLS, z uintptr, n int32) int32 { /* sqlite3.c:84035:12: // Compare two blobs. Return negative, zero, or positive if the first // is less than, equal to, or greater than the second, respectively. // If one blob is a prefix of the other, then the shorter is the lessor. -func Xsqlite3BlobCompare(tls *libc.TLS, pB1 uintptr, pB2 uintptr) int32 { /* sqlite3.c:84048:36: */ +func Xsqlite3BlobCompare(tls *libc.TLS, pB1 uintptr, pB2 uintptr) int32 { /* sqlite3.c:84061:36: */ var c int32 var n1 int32 = (*Mem)(unsafe.Pointer(pB1)).Fn var n2 int32 = (*Mem)(unsafe.Pointer(pB2)).Fn @@ -105947,7 +105964,7 @@ func Xsqlite3BlobCompare(tls *libc.TLS, pB1 uintptr, pB2 uintptr) int32 { /* sql // Do a comparison between a 64-bit signed integer and a 64-bit floating-point // number. Return negative, zero, or positive if the first (i64) is less than, // equal to, or greater than the second (double). -func Xsqlite3IntFloatCompare(tls *libc.TLS, i I64, r float64) int32 { /* sqlite3.c:84081:20: */ +func Xsqlite3IntFloatCompare(tls *libc.TLS, i I64, r float64) int32 { /* sqlite3.c:84094:20: */ if uint64(unsafe.Sizeof(float64(0))) > uint64(8) { var x float64 = float64(i) @@ -105993,7 +106010,7 @@ func Xsqlite3IntFloatCompare(tls *libc.TLS, i I64, r float64) int32 { /* sqlite3 // sequence pColl and finally blob's ordered by memcmp(). // // Two NULL values are considered equal by this function. -func Xsqlite3MemCompare(tls *libc.TLS, pMem1 uintptr, pMem2 uintptr, pColl uintptr) int32 { /* sqlite3.c:84114:20: */ +func Xsqlite3MemCompare(tls *libc.TLS, pMem1 uintptr, pMem2 uintptr, pColl uintptr) int32 { /* sqlite3.c:84127:20: */ var f1 int32 var f2 int32 var combined_flags int32 @@ -106087,7 +106104,7 @@ func Xsqlite3MemCompare(tls *libc.TLS, pMem1 uintptr, pMem2 uintptr, pColl uintp // except 7. The second points to a buffer containing an integer value // serialized according to serial_type. This function deserializes // and returns the value. -func vdbeRecordDecodeInt(tls *libc.TLS, serial_type U32, aKey uintptr) I64 { /* sqlite3.c:84213:12: */ +func vdbeRecordDecodeInt(tls *libc.TLS, serial_type U32, aKey uintptr) I64 { /* sqlite3.c:84226:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -106150,7 +106167,7 @@ func vdbeRecordDecodeInt(tls *libc.TLS, serial_type U32, aKey uintptr) I64 { /* // SQLITE_CORRUPT and return 0. If an OOM error is encountered, // pPKey2->errCode is set to SQLITE_NOMEM and, if it is not NULL, the // malloc-failed flag set on database handle (pPKey2->pKeyInfo->db). -func Xsqlite3VdbeRecordCompareWithSkip(tls *libc.TLS, nKey1 int32, pKey1 uintptr, pPKey2 uintptr, bSkip int32) int32 { /* sqlite3.c:84268:20: */ +func Xsqlite3VdbeRecordCompareWithSkip(tls *libc.TLS, nKey1 int32, pKey1 uintptr, pPKey2 uintptr, bSkip int32) int32 { /* sqlite3.c:84281:20: */ bp := tls.Alloc(68) defer tls.Free(68) @@ -106192,7 +106209,7 @@ func Xsqlite3VdbeRecordCompareWithSkip(tls *libc.TLS, nKey1 int32, pKey1 uintptr i = 0 } if d1 > uint32(nKey1) { - (*UnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = U8(Xsqlite3CorruptError(tls, 84299)) + (*UnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = U8(Xsqlite3CorruptError(tls, 84312)) return 0 // Corruption } @@ -106257,7 +106274,7 @@ func Xsqlite3VdbeRecordCompareWithSkip(tls *libc.TLS, nKey1 int32, pKey1 uintptr if d1+U32((*Mem)(unsafe.Pointer(bp+8)).Fn) > uint32(nKey1) || int32((*KeyInfo)(unsafe.Pointer(libc.AssignUintptr(&pKeyInfo, (*UnpackedRecord)(unsafe.Pointer(pPKey2)).FpKeyInfo))).FnAllField) <= i { - (*UnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = U8(Xsqlite3CorruptError(tls, 84376)) + (*UnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = U8(Xsqlite3CorruptError(tls, 84389)) return 0 // Corruption } else if *(*uintptr)(unsafe.Pointer(pKeyInfo + 32 + uintptr(i)*8)) != 0 { (*Mem)(unsafe.Pointer(bp + 8 /* &mem1 */)).Fenc = (*KeyInfo)(unsafe.Pointer(pKeyInfo)).Fenc @@ -106292,7 +106309,7 @@ func Xsqlite3VdbeRecordCompareWithSkip(tls *libc.TLS, nKey1 int32, pKey1 uintptr var nStr int32 = int32((*(*U32)(unsafe.Pointer(bp + 64)) - U32(12)) / U32(2)) if d1+U32(nStr) > uint32(nKey1) { - (*UnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = U8(Xsqlite3CorruptError(tls, 84406)) + (*UnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = U8(Xsqlite3CorruptError(tls, 84419)) return 0 // Corruption } else if int32((*Mem)(unsafe.Pointer(pRhs)).Fflags)&MEM_Zero != 0 { if !(isAllZero(tls, aKey1+uintptr(d1), nStr) != 0) { @@ -106353,7 +106370,7 @@ func Xsqlite3VdbeRecordCompareWithSkip(tls *libc.TLS, nKey1 int32, pKey1 uintptr return int32((*UnpackedRecord)(unsafe.Pointer(pPKey2)).Fdefault_rc) } -func Xsqlite3VdbeRecordCompare(tls *libc.TLS, nKey1 int32, pKey1 uintptr, pPKey2 uintptr) int32 { /* sqlite3.c:84465:20: */ +func Xsqlite3VdbeRecordCompare(tls *libc.TLS, nKey1 int32, pKey1 uintptr, pPKey2 uintptr) int32 { /* sqlite3.c:84478:20: */ return Xsqlite3VdbeRecordCompareWithSkip(tls, nKey1, pKey1, pPKey2, 0) } @@ -106364,7 +106381,7 @@ func Xsqlite3VdbeRecordCompare(tls *libc.TLS, nKey1 int32, pKey1 uintptr, pPKey2 // // To avoid concerns about buffer overreads, this routine is only used // on schemas where the maximum valid header size is 63 bytes or less. -func vdbeRecordCompareInt(tls *libc.TLS, nKey1 int32, pKey1 uintptr, pPKey2 uintptr) int32 { /* sqlite3.c:84482:12: */ +func vdbeRecordCompareInt(tls *libc.TLS, nKey1 int32, pKey1 uintptr, pPKey2 uintptr) int32 { /* sqlite3.c:84495:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -106469,7 +106486,7 @@ func vdbeRecordCompareInt(tls *libc.TLS, nKey1 int32, pKey1 uintptr, pPKey2 uint // that (a) the first field of pPKey2 is a string, that (b) the first field // uses the collation sequence BINARY and (c) that the size-of-header varint // at the start of (pKey1/nKey1) fits in a single byte. -func vdbeRecordCompareString(tls *libc.TLS, nKey1 int32, pKey1 uintptr, pPKey2 uintptr) int32 { /* sqlite3.c:84576:12: */ +func vdbeRecordCompareString(tls *libc.TLS, nKey1 int32, pKey1 uintptr, pPKey2 uintptr) int32 { /* sqlite3.c:84589:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -106493,7 +106510,7 @@ func vdbeRecordCompareString(tls *libc.TLS, nKey1 int32, pKey1 uintptr, pPKey2 u nStr = (*(*int32)(unsafe.Pointer(bp)) - 12) / 2 if szHdr+nStr > nKey1 { - (*UnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = U8(Xsqlite3CorruptError(tls, 84601)) + (*UnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = U8(Xsqlite3CorruptError(tls, 84614)) return 0 // Corruption } nCmp = func() int32 { @@ -106531,7 +106548,7 @@ func vdbeRecordCompareString(tls *libc.TLS, nKey1 int32, pKey1 uintptr, pPKey2 u // Return a pointer to an sqlite3VdbeRecordCompare() compatible function // suitable for comparing serialized records to the unpacked record passed // as the only argument. -func Xsqlite3VdbeFindCompare(tls *libc.TLS, p uintptr) RecordCompare { /* sqlite3.c:84640:30: */ +func Xsqlite3VdbeFindCompare(tls *libc.TLS, p uintptr) RecordCompare { /* sqlite3.c:84653:30: */ // varintRecordCompareInt() and varintRecordCompareString() both assume // that the size-of-header varint that occurs at the start of each record // fits in a single byte (i.e. is 127 or less). varintRecordCompareInt() @@ -106585,7 +106602,7 @@ func Xsqlite3VdbeFindCompare(tls *libc.TLS, p uintptr) RecordCompare { /* sqlite // // pCur might be pointing to text obtained from a corrupt database file. // So the content cannot be trusted. Do appropriate checks on the content. -func Xsqlite3VdbeIdxRowid(tls *libc.TLS, db uintptr, pCur uintptr, rowid uintptr) int32 { /* sqlite3.c:84691:20: */ +func Xsqlite3VdbeIdxRowid(tls *libc.TLS, db uintptr, pCur uintptr, rowid uintptr) int32 { /* sqlite3.c:84704:20: */ bp := tls.Alloc(120) defer tls.Free(120) @@ -106670,7 +106687,7 @@ __6: idx_rowid_corruption: ; Xsqlite3VdbeMemRelease(tls, bp) - return Xsqlite3CorruptError(tls, 84756) + return Xsqlite3CorruptError(tls, 84769) } // Compare the key of the index entry that cursor pC is pointing to against @@ -106682,7 +106699,7 @@ idx_rowid_corruption: // omits the rowid at the end. The rowid at the end of the index entry // is ignored as well. Hence, this routine only compares the prefixes // of the keys prior to the final rowid, not the entire key. -func Xsqlite3VdbeIdxKeyCompare(tls *libc.TLS, db uintptr, pC uintptr, pUnpacked uintptr, res uintptr) int32 { /* sqlite3.c:84770:20: */ +func Xsqlite3VdbeIdxKeyCompare(tls *libc.TLS, db uintptr, pC uintptr, pUnpacked uintptr, res uintptr) int32 { /* sqlite3.c:84783:20: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -106698,7 +106715,7 @@ func Xsqlite3VdbeIdxKeyCompare(tls *libc.TLS, db uintptr, pC uintptr, pUnpacked // that btreeParseCellPtr() and sqlite3GetVarint32() are implemented if nCellKey <= int64(0) || nCellKey > int64(0x7fffffff) { *(*int32)(unsafe.Pointer(res)) = 0 - return Xsqlite3CorruptError(tls, 84789) + return Xsqlite3CorruptError(tls, 84802) } Xsqlite3VdbeMemInit(tls, bp, db, uint16(0)) rc = Xsqlite3VdbeMemFromBtreeZeroOffset(tls, pCur, U32(nCellKey), bp) @@ -106712,7 +106729,7 @@ func Xsqlite3VdbeIdxKeyCompare(tls *libc.TLS, db uintptr, pC uintptr, pUnpacked // This routine sets the value to be returned by subsequent calls to // sqlite3_changes() on the database handle 'db'. -func Xsqlite3VdbeSetChanges(tls *libc.TLS, db uintptr, nChange I64) { /* sqlite3.c:84805:21: */ +func Xsqlite3VdbeSetChanges(tls *libc.TLS, db uintptr, nChange I64) { /* sqlite3.c:84818:21: */ (*Sqlite3)(unsafe.Pointer(db)).FnChange = nChange *(*I64)(unsafe.Pointer(db + 128)) += nChange @@ -106720,7 +106737,7 @@ func Xsqlite3VdbeSetChanges(tls *libc.TLS, db uintptr, nChange I64) { /* sqlite3 // Set a flag in the vdbe to update the change counter when it is finalised // or reset. -func Xsqlite3VdbeCountChanges(tls *libc.TLS, v uintptr) { /* sqlite3.c:84815:21: */ +func Xsqlite3VdbeCountChanges(tls *libc.TLS, v uintptr) { /* sqlite3.c:84828:21: */ libc.SetBitFieldPtr16Uint32(v+208, Bft(1), 4, 0x10) } @@ -106740,7 +106757,7 @@ func Xsqlite3VdbeCountChanges(tls *libc.TLS, v uintptr) { /* sqlite3.c:84815:21: // Internally, this function just sets the Vdbe.expired flag on all // prepared statements. The flag is set to 1 for an immediate expiration // and set to 2 for an advisory expiration. -func Xsqlite3ExpirePreparedStatements(tls *libc.TLS, db uintptr, iCode int32) { /* sqlite3.c:84837:21: */ +func Xsqlite3ExpirePreparedStatements(tls *libc.TLS, db uintptr, iCode int32) { /* sqlite3.c:84850:21: */ var p uintptr for p = (*Sqlite3)(unsafe.Pointer(db)).FpVdbe; p != 0; p = (*Vdbe)(unsafe.Pointer(p)).FpNext { libc.SetBitFieldPtr16Uint32(p+208, Bft(iCode+1), 0, 0x3) @@ -106748,12 +106765,12 @@ func Xsqlite3ExpirePreparedStatements(tls *libc.TLS, db uintptr, iCode int32) { } // Return the database associated with the Vdbe. -func Xsqlite3VdbeDb(tls *libc.TLS, v uintptr) uintptr { /* sqlite3.c:84847:24: */ +func Xsqlite3VdbeDb(tls *libc.TLS, v uintptr) uintptr { /* sqlite3.c:84860:24: */ return (*Vdbe)(unsafe.Pointer(v)).Fdb } // Return the SQLITE_PREPARE flags for a Vdbe. -func Xsqlite3VdbePrepareFlags(tls *libc.TLS, v uintptr) U8 { /* sqlite3.c:84854:19: */ +func Xsqlite3VdbePrepareFlags(tls *libc.TLS, v uintptr) U8 { /* sqlite3.c:84867:19: */ return (*Vdbe)(unsafe.Pointer(v)).FprepFlags } @@ -106763,7 +106780,7 @@ func Xsqlite3VdbePrepareFlags(tls *libc.TLS, v uintptr) U8 { /* sqlite3.c:84854: // constants) to the value before returning it. // // The returned value must be freed by the caller using sqlite3ValueFree(). -func Xsqlite3VdbeGetBoundValue(tls *libc.TLS, v uintptr, iVar int32, aff U8) uintptr { /* sqlite3.c:84866:30: */ +func Xsqlite3VdbeGetBoundValue(tls *libc.TLS, v uintptr, iVar int32, aff U8) uintptr { /* sqlite3.c:84879:30: */ if v != 0 { var pMem uintptr = (*Vdbe)(unsafe.Pointer(v)).FaVar + uintptr(iVar-1)*56 @@ -106783,7 +106800,7 @@ func Xsqlite3VdbeGetBoundValue(tls *libc.TLS, v uintptr, iVar int32, aff U8) uin // Configure SQL variable iVar so that binding a new value to it signals // to sqlite3_reoptimize() that re-preparing the statement may result // in a better query plan. -func Xsqlite3VdbeSetVarmask(tls *libc.TLS, v uintptr, iVar int32) { /* sqlite3.c:84888:21: */ +func Xsqlite3VdbeSetVarmask(tls *libc.TLS, v uintptr, iVar int32) { /* sqlite3.c:84901:21: */ if iVar >= 32 { *(*U32)(unsafe.Pointer(v + 292)) |= 0x80000000 @@ -106799,7 +106816,7 @@ func Xsqlite3VdbeSetVarmask(tls *libc.TLS, v uintptr, iVar int32) { /* sqlite3.c // throw an error if it is given inputs that would make it non-deterministic. // This routine is invoked by date/time functions that use non-deterministic // features such as 'now'. -func Xsqlite3NotPureFunc(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:84907:20: */ +func Xsqlite3NotPureFunc(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:84920:20: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -106830,7 +106847,7 @@ func Xsqlite3NotPureFunc(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:84907 // Transfer error message text from an sqlite3_vtab.zErrMsg (text stored // in memory obtained from sqlite3_malloc) into a Vdbe.zErrMsg (text stored // in memory obtained from sqlite3DbMalloc). -func Xsqlite3VtabImportErrmsg(tls *libc.TLS, p uintptr, pVtab uintptr) { /* sqlite3.c:84938:21: */ +func Xsqlite3VtabImportErrmsg(tls *libc.TLS, p uintptr, pVtab uintptr) { /* sqlite3.c:84951:21: */ if (*Sqlite3_vtab)(unsafe.Pointer(pVtab)).FzErrMsg != 0 { var db uintptr = (*Vdbe)(unsafe.Pointer(p)).Fdb Xsqlite3DbFree(tls, db, (*Vdbe)(unsafe.Pointer(p)).FzErrMsg) @@ -106846,7 +106863,7 @@ func Xsqlite3VtabImportErrmsg(tls *libc.TLS, p uintptr, pVtab uintptr) { /* sqli // // This function is used to free UnpackedRecord structures allocated by // the vdbeUnpackRecord() function found in vdbeapi.c. -func vdbeFreeUnpacked(tls *libc.TLS, db uintptr, nField int32, p uintptr) { /* sqlite3.c:84959:13: */ +func vdbeFreeUnpacked(tls *libc.TLS, db uintptr, nField int32, p uintptr) { /* sqlite3.c:84972:13: */ if p != 0 { var i int32 for i = 0; i < nField; i++ { @@ -106863,7 +106880,7 @@ func vdbeFreeUnpacked(tls *libc.TLS, db uintptr, nField int32, p uintptr) { /* s // then cursor passed as the second argument should point to the row about // to be update or deleted. If the application calls sqlite3_preupdate_old(), // the required value will be read from the row the cursor points to. -func Xsqlite3VdbePreUpdateHook(tls *libc.TLS, v uintptr, pCsr uintptr, op int32, zDb uintptr, pTab uintptr, iKey1 I64, iReg int32, iBlobWrite int32) { /* sqlite3.c:84978:21: */ +func Xsqlite3VdbePreUpdateHook(tls *libc.TLS, v uintptr, pCsr uintptr, op int32, zDb uintptr, pTab uintptr, iKey1 I64, iReg int32, iBlobWrite int32) { /* sqlite3.c:84991:21: */ bp := tls.Alloc(136) defer tls.Free(136) @@ -106915,7 +106932,7 @@ func Xsqlite3VdbePreUpdateHook(tls *libc.TLS, v uintptr, pCsr uintptr, op int32, } } -var fakeSortOrder U8 = U8(0) /* sqlite3.c:84992:19 */ +var fakeSortOrder U8 = U8(0) /* sqlite3.c:85005:19 */ //************* End of vdbeaux.c ******************************************** //************* Begin file vdbeapi.c **************************************** @@ -106941,7 +106958,7 @@ var fakeSortOrder U8 = U8(0) /* sqlite3.c:84992:19 */ // that sqlite3_prepare() generates. For example, if new functions or // collating sequences are registered or if an authorizer function is // added or changed. -func Xsqlite3_expired(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:85071:16: */ +func Xsqlite3_expired(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:85084:16: */ var p uintptr = pStmt return libc.Bool32(p == uintptr(0) || Bft(int32(*(*uint16)(unsafe.Pointer(p + 208))&0x3>>0)) != 0) } @@ -106949,7 +106966,7 @@ func Xsqlite3_expired(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:85071:1 // Check on a Vdbe to make sure it has not been finalized. Log // an error and return true if it has been finalized (or is otherwise // invalid). Return false if it is ok. -func vdbeSafety(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:85082:12: */ +func vdbeSafety(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:85095:12: */ if (*Vdbe)(unsafe.Pointer(p)).Fdb == uintptr(0) { Xsqlite3_log(tls, SQLITE_MISUSE, ts+6552, 0) return 1 @@ -106959,7 +106976,7 @@ func vdbeSafety(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:85082:12: */ return int32(0) } -func vdbeSafetyNotNull(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:85090:12: */ +func vdbeSafetyNotNull(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:85103:12: */ if p == uintptr(0) { Xsqlite3_log(tls, SQLITE_MISUSE, ts+6597, 0) return 1 @@ -106971,7 +106988,7 @@ func vdbeSafetyNotNull(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:85090:12: // Invoke the profile callback. This routine is only called if we already // know that the profile callback is defined and needs to be invoked. -func invokeProfileCallback(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:85104:29: */ +func invokeProfileCallback(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:85117:29: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -107004,7 +107021,7 @@ func invokeProfileCallback(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c: // // This routine sets the error code and string returned by // sqlite3_errcode(), sqlite3_errmsg() and sqlite3_errmsg16(). -func Xsqlite3_finalize(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:85142:16: */ +func Xsqlite3_finalize(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:85155:16: */ var rc int32 if pStmt == uintptr(0) { // IMPLEMENTATION-OF: R-57228-12904 Invoking sqlite3_finalize() on a NULL @@ -107014,7 +107031,7 @@ func Xsqlite3_finalize(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:85142: var v uintptr = pStmt var db uintptr = (*Vdbe)(unsafe.Pointer(v)).Fdb if vdbeSafety(tls, v) != 0 { - return Xsqlite3MisuseError(tls, 85151) + return Xsqlite3MisuseError(tls, 85164) } Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) if (*Vdbe)(unsafe.Pointer(v)).FstartTime > int64(0) { @@ -107034,7 +107051,7 @@ func Xsqlite3_finalize(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:85142: // // This routine sets the error code and string returned by // sqlite3_errcode(), sqlite3_errmsg() and sqlite3_errmsg16(). -func Xsqlite3_reset(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:85169:16: */ +func Xsqlite3_reset(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:85182:16: */ var rc int32 if pStmt == uintptr(0) { rc = SQLITE_OK @@ -107056,7 +107073,7 @@ func Xsqlite3_reset(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:85169:16: } // Set all the parameters in the compiled SQL statement to NULL. -func Xsqlite3_clear_bindings(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:85190:16: */ +func Xsqlite3_clear_bindings(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:85203:16: */ var i int32 var rc int32 = SQLITE_OK var p uintptr = pStmt @@ -107078,7 +107095,7 @@ func Xsqlite3_clear_bindings(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c: // // The following routines extract information from a Mem or sqlite3_value // structure. -func Xsqlite3_value_blob(tls *libc.TLS, pVal uintptr) uintptr { /* sqlite3.c:85215:23: */ +func Xsqlite3_value_blob(tls *libc.TLS, pVal uintptr) uintptr { /* sqlite3.c:85228:23: */ var p uintptr = pVal if int32((*Mem)(unsafe.Pointer(p)).Fflags)&(MEM_Blob|MEM_Str) != 0 { if func() int32 { @@ -107101,27 +107118,27 @@ func Xsqlite3_value_blob(tls *libc.TLS, pVal uintptr) uintptr { /* sqlite3.c:852 return uintptr(0) } -func Xsqlite3_value_bytes(tls *libc.TLS, pVal uintptr) int32 { /* sqlite3.c:85228:16: */ +func Xsqlite3_value_bytes(tls *libc.TLS, pVal uintptr) int32 { /* sqlite3.c:85241:16: */ return Xsqlite3ValueBytes(tls, pVal, uint8(SQLITE_UTF8)) } -func Xsqlite3_value_bytes16(tls *libc.TLS, pVal uintptr) int32 { /* sqlite3.c:85231:16: */ +func Xsqlite3_value_bytes16(tls *libc.TLS, pVal uintptr) int32 { /* sqlite3.c:85244:16: */ return Xsqlite3ValueBytes(tls, pVal, uint8(SQLITE_UTF16LE)) } -func Xsqlite3_value_double(tls *libc.TLS, pVal uintptr) float64 { /* sqlite3.c:85234:19: */ +func Xsqlite3_value_double(tls *libc.TLS, pVal uintptr) float64 { /* sqlite3.c:85247:19: */ return Xsqlite3VdbeRealValue(tls, pVal) } -func Xsqlite3_value_int(tls *libc.TLS, pVal uintptr) int32 { /* sqlite3.c:85237:16: */ +func Xsqlite3_value_int(tls *libc.TLS, pVal uintptr) int32 { /* sqlite3.c:85250:16: */ return int32(Xsqlite3VdbeIntValue(tls, pVal)) } -func Xsqlite3_value_int64(tls *libc.TLS, pVal uintptr) Sqlite_int64 { /* sqlite3.c:85240:25: */ +func Xsqlite3_value_int64(tls *libc.TLS, pVal uintptr) Sqlite_int64 { /* sqlite3.c:85253:25: */ return Xsqlite3VdbeIntValue(tls, pVal) } -func Xsqlite3_value_subtype(tls *libc.TLS, pVal uintptr) uint32 { /* sqlite3.c:85243:25: */ +func Xsqlite3_value_subtype(tls *libc.TLS, pVal uintptr) uint32 { /* sqlite3.c:85256:25: */ var pMem uintptr = pVal return func() uint32 { if int32((*Mem)(unsafe.Pointer(pMem)).Fflags)&MEM_Subtype != 0 { @@ -107131,7 +107148,7 @@ func Xsqlite3_value_subtype(tls *libc.TLS, pVal uintptr) uint32 { /* sqlite3.c:8 }() } -func Xsqlite3_value_pointer(tls *libc.TLS, pVal uintptr, zPType uintptr) uintptr { /* sqlite3.c:85247:17: */ +func Xsqlite3_value_pointer(tls *libc.TLS, pVal uintptr, zPType uintptr) uintptr { /* sqlite3.c:85260:17: */ var p uintptr = pVal if int32((*Mem)(unsafe.Pointer(p)).Fflags)&(MEM_TypeMask|MEM_Term|MEM_Subtype) == MEM_Null|MEM_Term|MEM_Subtype && zPType != uintptr(0) && @@ -107144,26 +107161,26 @@ func Xsqlite3_value_pointer(tls *libc.TLS, pVal uintptr, zPType uintptr) uintptr return uintptr(0) } -func Xsqlite3_value_text(tls *libc.TLS, pVal uintptr) uintptr { /* sqlite3.c:85260:32: */ +func Xsqlite3_value_text(tls *libc.TLS, pVal uintptr) uintptr { /* sqlite3.c:85273:32: */ return Xsqlite3ValueText(tls, pVal, uint8(SQLITE_UTF8)) } -func Xsqlite3_value_text16(tls *libc.TLS, pVal uintptr) uintptr { /* sqlite3.c:85264:23: */ +func Xsqlite3_value_text16(tls *libc.TLS, pVal uintptr) uintptr { /* sqlite3.c:85277:23: */ return Xsqlite3ValueText(tls, pVal, uint8(SQLITE_UTF16LE)) } -func Xsqlite3_value_text16be(tls *libc.TLS, pVal uintptr) uintptr { /* sqlite3.c:85267:23: */ +func Xsqlite3_value_text16be(tls *libc.TLS, pVal uintptr) uintptr { /* sqlite3.c:85280:23: */ return Xsqlite3ValueText(tls, pVal, uint8(SQLITE_UTF16BE)) } -func Xsqlite3_value_text16le(tls *libc.TLS, pVal uintptr) uintptr { /* sqlite3.c:85270:23: */ +func Xsqlite3_value_text16le(tls *libc.TLS, pVal uintptr) uintptr { /* sqlite3.c:85283:23: */ return Xsqlite3ValueText(tls, pVal, uint8(SQLITE_UTF16LE)) } // EVIDENCE-OF: R-12793-43283 Every value in SQLite has one of five // fundamental datatypes: 64-bit signed integer 64-bit IEEE floating // point number string BLOB NULL -func Xsqlite3_value_type(tls *libc.TLS, pVal uintptr) int32 { /* sqlite3.c:85278:16: */ +func Xsqlite3_value_type(tls *libc.TLS, pVal uintptr) int32 { /* sqlite3.c:85291:16: */ return int32(aType[int32((*Sqlite3_value)(unsafe.Pointer(pVal)).Fflags)&MEM_AffMask]) } @@ -107232,20 +107249,20 @@ var aType = [64]U8{ U8(SQLITE_NULL), // 0x3d (not possible) U8(SQLITE_FLOAT), // 0x3e (not possible) U8(SQLITE_NULL), // 0x3f (not possible) -} /* sqlite3.c:85279:19 */ +} /* sqlite3.c:85292:19 */ // Return true if a parameter to xUpdate represents an unchanged column -func Xsqlite3_value_nochange(tls *libc.TLS, pVal uintptr) int32 { /* sqlite3.c:85364:16: */ +func Xsqlite3_value_nochange(tls *libc.TLS, pVal uintptr) int32 { /* sqlite3.c:85377:16: */ return libc.Bool32(int32((*Sqlite3_value)(unsafe.Pointer(pVal)).Fflags)&(MEM_Null|MEM_Zero) == MEM_Null|MEM_Zero) } // Return true if a parameter value originated from an sqlite3_bind() -func Xsqlite3_value_frombind(tls *libc.TLS, pVal uintptr) int32 { /* sqlite3.c:85369:16: */ +func Xsqlite3_value_frombind(tls *libc.TLS, pVal uintptr) int32 { /* sqlite3.c:85382:16: */ return libc.Bool32(int32((*Sqlite3_value)(unsafe.Pointer(pVal)).Fflags)&MEM_FromBind != 0) } // Make a copy of an sqlite3_value object -func Xsqlite3_value_dup(tls *libc.TLS, pOrig uintptr) uintptr { /* sqlite3.c:85375:26: */ +func Xsqlite3_value_dup(tls *libc.TLS, pOrig uintptr) uintptr { /* sqlite3.c:85388:26: */ var pNew uintptr if pOrig == uintptr(0) { return uintptr(0) @@ -107271,7 +107288,7 @@ func Xsqlite3_value_dup(tls *libc.TLS, pOrig uintptr) uintptr { /* sqlite3.c:853 // Destroy an sqlite3_value object previously obtained from // sqlite3_value_dup(). -func Xsqlite3_value_free(tls *libc.TLS, pOld uintptr) { /* sqlite3.c:85398:17: */ +func Xsqlite3_value_free(tls *libc.TLS, pOld uintptr) { /* sqlite3.c:85411:17: */ Xsqlite3ValueFree(tls, pOld) } @@ -107286,7 +107303,7 @@ func Xsqlite3_value_free(tls *libc.TLS, pOld uintptr) { /* sqlite3.c:85398:17: * // // The invokeValueDestructor(P,X) routine invokes destructor function X() // on value P is not going to be used and need to be destroyed. -func setResultStrOrError(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, enc U8, xDel uintptr) { /* sqlite3.c:85414:13: */ +func setResultStrOrError(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, enc U8, xDel uintptr) { /* sqlite3.c:85427:13: */ var rc int32 = Xsqlite3VdbeMemSetStr(tls, (*Sqlite3_context)(unsafe.Pointer(pCtx)).FpOut, z, int64(n), enc, xDel) if rc != 0 { if rc == SQLITE_TOOBIG { @@ -107300,7 +107317,7 @@ func setResultStrOrError(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, enc U8 } } -func invokeValueDestructor(tls *libc.TLS, p uintptr, xDel uintptr, pCtx uintptr) int32 { /* sqlite3.c:85433:12: */ +func invokeValueDestructor(tls *libc.TLS, p uintptr, xDel uintptr, pCtx uintptr) int32 { /* sqlite3.c:85446:12: */ if xDel == uintptr(0) { // noop @@ -107313,12 +107330,12 @@ func invokeValueDestructor(tls *libc.TLS, p uintptr, xDel uintptr, pCtx uintptr) return SQLITE_TOOBIG } -func Xsqlite3_result_blob(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, xDel uintptr) { /* sqlite3.c:85449:17: */ +func Xsqlite3_result_blob(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, xDel uintptr) { /* sqlite3.c:85462:17: */ setResultStrOrError(tls, pCtx, z, n, uint8(0), xDel) } -func Xsqlite3_result_blob64(tls *libc.TLS, pCtx uintptr, z uintptr, n Sqlite3_uint64, xDel uintptr) { /* sqlite3.c:85459:17: */ +func Xsqlite3_result_blob64(tls *libc.TLS, pCtx uintptr, z uintptr, n Sqlite3_uint64, xDel uintptr) { /* sqlite3.c:85472:17: */ if n > uint64(0x7fffffff) { invokeValueDestructor(tls, z, xDel, pCtx) @@ -107327,39 +107344,39 @@ func Xsqlite3_result_blob64(tls *libc.TLS, pCtx uintptr, z uintptr, n Sqlite3_ui } } -func Xsqlite3_result_double(tls *libc.TLS, pCtx uintptr, rVal float64) { /* sqlite3.c:85473:17: */ +func Xsqlite3_result_double(tls *libc.TLS, pCtx uintptr, rVal float64) { /* sqlite3.c:85486:17: */ Xsqlite3VdbeMemSetDouble(tls, (*Sqlite3_context)(unsafe.Pointer(pCtx)).FpOut, rVal) } -func Xsqlite3_result_error(tls *libc.TLS, pCtx uintptr, z uintptr, n int32) { /* sqlite3.c:85477:17: */ +func Xsqlite3_result_error(tls *libc.TLS, pCtx uintptr, z uintptr, n int32) { /* sqlite3.c:85490:17: */ (*Sqlite3_context)(unsafe.Pointer(pCtx)).FisError = SQLITE_ERROR Xsqlite3VdbeMemSetStr(tls, (*Sqlite3_context)(unsafe.Pointer(pCtx)).FpOut, z, int64(n), uint8(SQLITE_UTF8), libc.UintptrFromInt32(-1)) } -func Xsqlite3_result_error16(tls *libc.TLS, pCtx uintptr, z uintptr, n int32) { /* sqlite3.c:85483:17: */ +func Xsqlite3_result_error16(tls *libc.TLS, pCtx uintptr, z uintptr, n int32) { /* sqlite3.c:85496:17: */ (*Sqlite3_context)(unsafe.Pointer(pCtx)).FisError = SQLITE_ERROR Xsqlite3VdbeMemSetStr(tls, (*Sqlite3_context)(unsafe.Pointer(pCtx)).FpOut, z, int64(n), uint8(SQLITE_UTF16LE), libc.UintptrFromInt32(-1)) } -func Xsqlite3_result_int(tls *libc.TLS, pCtx uintptr, iVal int32) { /* sqlite3.c:85489:17: */ +func Xsqlite3_result_int(tls *libc.TLS, pCtx uintptr, iVal int32) { /* sqlite3.c:85502:17: */ Xsqlite3VdbeMemSetInt64(tls, (*Sqlite3_context)(unsafe.Pointer(pCtx)).FpOut, I64(iVal)) } -func Xsqlite3_result_int64(tls *libc.TLS, pCtx uintptr, iVal I64) { /* sqlite3.c:85493:17: */ +func Xsqlite3_result_int64(tls *libc.TLS, pCtx uintptr, iVal I64) { /* sqlite3.c:85506:17: */ Xsqlite3VdbeMemSetInt64(tls, (*Sqlite3_context)(unsafe.Pointer(pCtx)).FpOut, iVal) } -func Xsqlite3_result_null(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:85497:17: */ +func Xsqlite3_result_null(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:85510:17: */ Xsqlite3VdbeMemSetNull(tls, (*Sqlite3_context)(unsafe.Pointer(pCtx)).FpOut) } -func Xsqlite3_result_pointer(tls *libc.TLS, pCtx uintptr, pPtr uintptr, zPType uintptr, xDestructor uintptr) { /* sqlite3.c:85501:17: */ +func Xsqlite3_result_pointer(tls *libc.TLS, pCtx uintptr, pPtr uintptr, zPType uintptr, xDestructor uintptr) { /* sqlite3.c:85514:17: */ var pOut uintptr = (*Sqlite3_context)(unsafe.Pointer(pCtx)).FpOut Xsqlite3VdbeMemRelease(tls, pOut) @@ -107367,19 +107384,19 @@ func Xsqlite3_result_pointer(tls *libc.TLS, pCtx uintptr, pPtr uintptr, zPType u Xsqlite3VdbeMemSetPointer(tls, pOut, pPtr, zPType, xDestructor) } -func Xsqlite3_result_subtype(tls *libc.TLS, pCtx uintptr, eSubtype uint32) { /* sqlite3.c:85513:17: */ +func Xsqlite3_result_subtype(tls *libc.TLS, pCtx uintptr, eSubtype uint32) { /* sqlite3.c:85526:17: */ var pOut uintptr = (*Sqlite3_context)(unsafe.Pointer(pCtx)).FpOut (*Mem)(unsafe.Pointer(pOut)).FeSubtype = U8(eSubtype & uint32(0xff)) *(*U16)(unsafe.Pointer(pOut + 8)) |= U16(MEM_Subtype) } -func Xsqlite3_result_text(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, xDel uintptr) { /* sqlite3.c:85519:17: */ +func Xsqlite3_result_text(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, xDel uintptr) { /* sqlite3.c:85532:17: */ setResultStrOrError(tls, pCtx, z, n, uint8(SQLITE_UTF8), xDel) } -func Xsqlite3_result_text64(tls *libc.TLS, pCtx uintptr, z uintptr, n Sqlite3_uint64, xDel uintptr, enc uint8) { /* sqlite3.c:85528:17: */ +func Xsqlite3_result_text64(tls *libc.TLS, pCtx uintptr, z uintptr, n Sqlite3_uint64, xDel uintptr, enc uint8) { /* sqlite3.c:85541:17: */ if int32(enc) == SQLITE_UTF16 { enc = uint8(SQLITE_UTF16LE) @@ -107391,32 +107408,32 @@ func Xsqlite3_result_text64(tls *libc.TLS, pCtx uintptr, z uintptr, n Sqlite3_ui } } -func Xsqlite3_result_text16(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, xDel uintptr) { /* sqlite3.c:85545:17: */ +func Xsqlite3_result_text16(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, xDel uintptr) { /* sqlite3.c:85558:17: */ setResultStrOrError(tls, pCtx, z, n, uint8(SQLITE_UTF16LE), xDel) } -func Xsqlite3_result_text16be(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, xDel uintptr) { /* sqlite3.c:85554:17: */ +func Xsqlite3_result_text16be(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, xDel uintptr) { /* sqlite3.c:85567:17: */ setResultStrOrError(tls, pCtx, z, n, uint8(SQLITE_UTF16BE), xDel) } -func Xsqlite3_result_text16le(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, xDel uintptr) { /* sqlite3.c:85563:17: */ +func Xsqlite3_result_text16le(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, xDel uintptr) { /* sqlite3.c:85576:17: */ setResultStrOrError(tls, pCtx, z, n, uint8(SQLITE_UTF16LE), xDel) } -func Xsqlite3_result_value(tls *libc.TLS, pCtx uintptr, pValue uintptr) { /* sqlite3.c:85573:17: */ +func Xsqlite3_result_value(tls *libc.TLS, pCtx uintptr, pValue uintptr) { /* sqlite3.c:85586:17: */ Xsqlite3VdbeMemCopy(tls, (*Sqlite3_context)(unsafe.Pointer(pCtx)).FpOut, pValue) } -func Xsqlite3_result_zeroblob(tls *libc.TLS, pCtx uintptr, n int32) { /* sqlite3.c:85577:17: */ +func Xsqlite3_result_zeroblob(tls *libc.TLS, pCtx uintptr, n int32) { /* sqlite3.c:85590:17: */ Xsqlite3VdbeMemSetZeroBlob(tls, (*Sqlite3_context)(unsafe.Pointer(pCtx)).FpOut, n) } -func Xsqlite3_result_zeroblob64(tls *libc.TLS, pCtx uintptr, n U64) int32 { /* sqlite3.c:85581:16: */ +func Xsqlite3_result_zeroblob64(tls *libc.TLS, pCtx uintptr, n U64) int32 { /* sqlite3.c:85594:16: */ var pOut uintptr = (*Sqlite3_context)(unsafe.Pointer(pCtx)).FpOut if n > U64(*(*int32)(unsafe.Pointer((*Mem)(unsafe.Pointer(pOut)).Fdb + 136))) { @@ -107426,7 +107443,7 @@ func Xsqlite3_result_zeroblob64(tls *libc.TLS, pCtx uintptr, n U64) int32 { /* s return SQLITE_OK } -func Xsqlite3_result_error_code(tls *libc.TLS, pCtx uintptr, errCode int32) { /* sqlite3.c:85594:17: */ +func Xsqlite3_result_error_code(tls *libc.TLS, pCtx uintptr, errCode int32) { /* sqlite3.c:85607:17: */ (*Sqlite3_context)(unsafe.Pointer(pCtx)).FisError = func() int32 { if errCode != 0 { return errCode @@ -107440,7 +107457,7 @@ func Xsqlite3_result_error_code(tls *libc.TLS, pCtx uintptr, errCode int32) { /* } // Force an SQLITE_TOOBIG error. -func Xsqlite3_result_error_toobig(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:85606:17: */ +func Xsqlite3_result_error_toobig(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:85619:17: */ (*Sqlite3_context)(unsafe.Pointer(pCtx)).FisError = SQLITE_TOOBIG Xsqlite3VdbeMemSetStr(tls, (*Sqlite3_context)(unsafe.Pointer(pCtx)).FpOut, ts+6637, int64(-1), @@ -107448,7 +107465,7 @@ func Xsqlite3_result_error_toobig(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:85 } // An SQLITE_NOMEM error. -func Xsqlite3_result_error_nomem(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:85614:17: */ +func Xsqlite3_result_error_nomem(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:85627:17: */ Xsqlite3VdbeMemSetNull(tls, (*Sqlite3_context)(unsafe.Pointer(pCtx)).FpOut) (*Sqlite3_context)(unsafe.Pointer(pCtx)).FisError = SQLITE_NOMEM @@ -107458,7 +107475,7 @@ func Xsqlite3_result_error_nomem(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:856 // Force the INT64 value currently stored as the result to be // a MEM_IntReal value. See the SQLITE_TESTCTRL_RESULT_INTREAL // test-control. -func Xsqlite3ResultIntReal(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:85626:21: */ +func Xsqlite3ResultIntReal(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:85639:21: */ if int32((*Mem)(unsafe.Pointer((*Sqlite3_context)(unsafe.Pointer(pCtx)).FpOut)).Fflags)&MEM_Int != 0 { *(*U16)(unsafe.Pointer((*Sqlite3_context)(unsafe.Pointer(pCtx)).FpOut + 8)) &= libc.Uint16FromInt32(libc.CplInt32(MEM_Int)) @@ -107468,7 +107485,7 @@ func Xsqlite3ResultIntReal(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:85626:21: // This function is called after a transaction has been committed. It // invokes callbacks registered with sqlite3_wal_hook() as required. -func doWalCallbacks(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:85640:12: */ +func doWalCallbacks(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:85653:12: */ var rc int32 = SQLITE_OK var i int32 for i = 0; i < (*Sqlite3)(unsafe.Pointer(db)).FnDb; i++ { @@ -107495,7 +107512,7 @@ func doWalCallbacks(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:85640:12: */ // API. The only thing omitted is the automatic recompile if a // schema change has occurred. That detail is handled by the // outer sqlite3_step() wrapper procedure. -func sqlite3Step(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:85670:12: */ +func sqlite3Step(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:85683:12: */ var db uintptr var rc int32 @@ -107662,14 +107679,14 @@ end_of_step: // This is the top-level implementation of sqlite3_step(). Call // sqlite3Step() to do most of the work. If a schema error occurs, // call sqlite3Reprepare() and try again. -func Xsqlite3_step(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:85804:16: */ +func Xsqlite3_step(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:85817:16: */ var rc int32 = SQLITE_OK // Result from sqlite3Step() var v uintptr = pStmt // the prepared statement var cnt int32 = 0 // Counter to prevent infinite loop of reprepares var db uintptr // The database connection if vdbeSafetyNotNull(tls, v) != 0 { - return Xsqlite3MisuseError(tls, 85811) + return Xsqlite3MisuseError(tls, 85824) } db = (*Vdbe)(unsafe.Pointer(v)).Fdb Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) @@ -107709,7 +107726,7 @@ func Xsqlite3_step(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:85804:16: // Extract the user data from a sqlite3_context structure and return a // pointer to it. -func Xsqlite3_user_data(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:85853:17: */ +func Xsqlite3_user_data(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:85866:17: */ return (*FuncDef)(unsafe.Pointer((*Sqlite3_context)(unsafe.Pointer(p)).FpFunc)).FpUserData } @@ -107722,7 +107739,7 @@ func Xsqlite3_user_data(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:85853:1 // parameter) of the sqlite3_create_function() and // sqlite3_create_function16() routines that originally registered the // application defined function. -func Xsqlite3_context_db_handle(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:85868:20: */ +func Xsqlite3_context_db_handle(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:85881:20: */ return (*Mem)(unsafe.Pointer((*Sqlite3_context)(unsafe.Pointer(p)).FpOut)).Fdb } @@ -107739,14 +107756,14 @@ func Xsqlite3_context_db_handle(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c // Virtual table implements might use this routine to optimize their // performance by substituting a NULL result, or some other light-weight // value, as a signal to the xUpdate routine that the column is unchanged. -func Xsqlite3_vtab_nochange(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:85887:16: */ +func Xsqlite3_vtab_nochange(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:85900:16: */ return Xsqlite3_value_nochange(tls, (*Sqlite3_context)(unsafe.Pointer(p)).FpOut) } // Implementation of sqlite3_vtab_in_first() (if bNext==0) and // sqlite3_vtab_in_next() (if bNext!=0). -func valueFromValueList(tls *libc.TLS, pVal uintptr, ppOut uintptr, bNext int32) int32 { /* sqlite3.c:85896:12: */ +func valueFromValueList(tls *libc.TLS, pVal uintptr, ppOut uintptr, bNext int32) int32 { /* sqlite3.c:85909:12: */ bp := tls.Alloc(68) defer tls.Free(68) @@ -107804,13 +107821,13 @@ func valueFromValueList(tls *libc.TLS, pVal uintptr, ppOut uintptr, bNext int32) // Set the iterator value pVal to point to the first value in the set. // Set (*ppOut) to point to this value before returning. -func Xsqlite3_vtab_in_first(tls *libc.TLS, pVal uintptr, ppOut uintptr) int32 { /* sqlite3.c:85944:16: */ +func Xsqlite3_vtab_in_first(tls *libc.TLS, pVal uintptr, ppOut uintptr) int32 { /* sqlite3.c:85957:16: */ return valueFromValueList(tls, pVal, ppOut, 0) } // Set the iterator value pVal to point to the next value in the set. // Set (*ppOut) to point to this value before returning. -func Xsqlite3_vtab_in_next(tls *libc.TLS, pVal uintptr, ppOut uintptr) int32 { /* sqlite3.c:85952:16: */ +func Xsqlite3_vtab_in_next(tls *libc.TLS, pVal uintptr, ppOut uintptr) int32 { /* sqlite3.c:85965:16: */ return valueFromValueList(tls, pVal, ppOut, 1) } @@ -107819,7 +107836,7 @@ func Xsqlite3_vtab_in_next(tls *libc.TLS, pVal uintptr, ppOut uintptr) int32 { / // statement, the exact same time is returned for each invocation regardless // of the amount of time that elapses between invocations. In other words, // the time returned is always the time of the first call. -func Xsqlite3StmtCurrentTime(tls *libc.TLS, p uintptr) Sqlite3_int64 { /* sqlite3.c:85963:30: */ +func Xsqlite3StmtCurrentTime(tls *libc.TLS, p uintptr) Sqlite3_int64 { /* sqlite3.c:85976:30: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -107842,7 +107859,7 @@ func Xsqlite3StmtCurrentTime(tls *libc.TLS, p uintptr) Sqlite3_int64 { /* sqlite // Create a new aggregate context for p and return a pointer to // its pMem->z element. -func createAggContext(tls *libc.TLS, p uintptr, nByte int32) uintptr { /* sqlite3.c:85983:29: */ +func createAggContext(tls *libc.TLS, p uintptr, nByte int32) uintptr { /* sqlite3.c:85996:29: */ var pMem uintptr = (*Sqlite3_context)(unsafe.Pointer(p)).FpMem if nByte <= 0 { @@ -107862,7 +107879,7 @@ func createAggContext(tls *libc.TLS, p uintptr, nByte int32) uintptr { /* sqlite // Allocate or return the aggregate context for a user function. A new // context is allocated on the first call. Subsequent calls return the // same context that was returned on prior calls. -func Xsqlite3_aggregate_context(tls *libc.TLS, p uintptr, nByte int32) uintptr { /* sqlite3.c:86005:17: */ +func Xsqlite3_aggregate_context(tls *libc.TLS, p uintptr, nByte int32) uintptr { /* sqlite3.c:86018:17: */ if int32((*Mem)(unsafe.Pointer((*Sqlite3_context)(unsafe.Pointer(p)).FpMem)).Fflags)&MEM_Agg == 0 { return createAggContext(tls, p, nByte) @@ -107880,7 +107897,7 @@ func Xsqlite3_aggregate_context(tls *libc.TLS, p uintptr, nByte int32) uintptr { // Undocumented behavior: If iArg is negative then access a cache of // auxiliary data pointers that is available to all functions within a // single prepared statement. The iArg values must match. -func Xsqlite3_get_auxdata(tls *libc.TLS, pCtx uintptr, iArg int32) uintptr { /* sqlite3.c:86026:17: */ +func Xsqlite3_get_auxdata(tls *libc.TLS, pCtx uintptr, iArg int32) uintptr { /* sqlite3.c:86039:17: */ var pAuxData uintptr if (*Sqlite3_context)(unsafe.Pointer(pCtx)).FpVdbe == uintptr(0) { @@ -107903,7 +107920,7 @@ func Xsqlite3_get_auxdata(tls *libc.TLS, pCtx uintptr, iArg int32) uintptr { /* // Undocumented behavior: If iArg is negative then make the data available // 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) { /* sqlite3.c:86054:17: */ +func Xsqlite3_set_auxdata(tls *libc.TLS, pCtx uintptr, iArg int32, pAux uintptr, xDelete uintptr) { /* sqlite3.c:86067:17: */ var pAuxData uintptr var pVdbe uintptr pVdbe = (*Sqlite3_context)(unsafe.Pointer(pCtx)).FpVdbe @@ -107983,13 +108000,13 @@ __11: // provide only to avoid breaking legacy code. New aggregate function // implementations should keep their own counts within their aggregate // context. -func Xsqlite3_aggregate_count(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:86107:16: */ +func Xsqlite3_aggregate_count(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:86120:16: */ return (*Mem)(unsafe.Pointer((*Sqlite3_context)(unsafe.Pointer(p)).FpMem)).Fn } // Return the number of columns in the result set for the statement pStmt. -func Xsqlite3_column_count(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:86116:16: */ +func Xsqlite3_column_count(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:86129:16: */ var pVm uintptr = pStmt if pVm != 0 { return int32((*Vdbe)(unsafe.Pointer(pVm)).FnResColumn) @@ -107999,7 +108016,7 @@ func Xsqlite3_column_count(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:86 // Return the number of values available from the current row of the // currently executing statement pStmt. -func Xsqlite3_data_count(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:86125:16: */ +func Xsqlite3_data_count(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:86138:16: */ var pVm uintptr = pStmt if pVm == uintptr(0) || (*Vdbe)(unsafe.Pointer(pVm)).FpResultSet == uintptr(0) { return 0 @@ -108008,19 +108025,19 @@ func Xsqlite3_data_count(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:8612 } // Return a pointer to static memory containing an SQL NULL value. -func columnNullValue(tls *libc.TLS) uintptr { /* sqlite3.c:86134:18: */ +func columnNullValue(tls *libc.TLS) uintptr { /* sqlite3.c:86147:18: */ return uintptr(unsafe.Pointer(&nullMem)) } var nullMem = Mem{ /* .flags = */ Fflags: U16(MEM_Null), -} /* sqlite3.c:86144:20 */ +} /* sqlite3.c:86157:20 */ // Check to see if column iCol of the given statement is valid. If // it is, return a pointer to the Mem for the value of that column. // If iCol is not valid, return a pointer to a Mem which has a value // of NULL. -func columnMem(tls *libc.TLS, pStmt uintptr, i int32) uintptr { /* sqlite3.c:86174:12: */ +func columnMem(tls *libc.TLS, pStmt uintptr, i int32) uintptr { /* sqlite3.c:86187:12: */ var pVm uintptr var pOut uintptr @@ -108055,7 +108072,7 @@ func columnMem(tls *libc.TLS, pStmt uintptr, i int32) uintptr { /* sqlite3.c:861 // sqlite3_column_bytes() // sqlite3_column_bytes16() // sqiite3_column_blob() -func columnMallocFailure(tls *libc.TLS, pStmt uintptr) { /* sqlite3.c:86209:13: */ +func columnMallocFailure(tls *libc.TLS, pStmt uintptr) { /* sqlite3.c:86222:13: */ // If malloc() failed during an encoding conversion within an // sqlite3_column_XXX API, then set the return code of the statement to // SQLITE_NOMEM. The next call to _step() (if any) will return SQLITE_ERROR @@ -108072,7 +108089,7 @@ func columnMallocFailure(tls *libc.TLS, pStmt uintptr) { /* sqlite3.c:86209:13: // // The following routines are used to access elements of the current row // in the result set. -func Xsqlite3_column_blob(tls *libc.TLS, pStmt uintptr, i int32) uintptr { /* sqlite3.c:86229:23: */ +func Xsqlite3_column_blob(tls *libc.TLS, pStmt uintptr, i int32) uintptr { /* sqlite3.c:86242:23: */ var val uintptr val = Xsqlite3_value_blob(tls, columnMem(tls, pStmt, i)) // Even though there is no encoding conversion, value_blob() might @@ -108082,43 +108099,43 @@ func Xsqlite3_column_blob(tls *libc.TLS, pStmt uintptr, i int32) uintptr { /* sq return val } -func Xsqlite3_column_bytes(tls *libc.TLS, pStmt uintptr, i int32) int32 { /* sqlite3.c:86239:16: */ +func Xsqlite3_column_bytes(tls *libc.TLS, pStmt uintptr, i int32) int32 { /* sqlite3.c:86252:16: */ var val int32 = Xsqlite3_value_bytes(tls, columnMem(tls, pStmt, i)) columnMallocFailure(tls, pStmt) return val } -func Xsqlite3_column_bytes16(tls *libc.TLS, pStmt uintptr, i int32) int32 { /* sqlite3.c:86244:16: */ +func Xsqlite3_column_bytes16(tls *libc.TLS, pStmt uintptr, i int32) int32 { /* sqlite3.c:86257:16: */ var val int32 = Xsqlite3_value_bytes16(tls, columnMem(tls, pStmt, i)) columnMallocFailure(tls, pStmt) return val } -func Xsqlite3_column_double(tls *libc.TLS, pStmt uintptr, i int32) float64 { /* sqlite3.c:86249:19: */ +func Xsqlite3_column_double(tls *libc.TLS, pStmt uintptr, i int32) float64 { /* sqlite3.c:86262:19: */ var val float64 = Xsqlite3_value_double(tls, columnMem(tls, pStmt, i)) columnMallocFailure(tls, pStmt) return val } -func Xsqlite3_column_int(tls *libc.TLS, pStmt uintptr, i int32) int32 { /* sqlite3.c:86254:16: */ +func Xsqlite3_column_int(tls *libc.TLS, pStmt uintptr, i int32) int32 { /* sqlite3.c:86267:16: */ var val int32 = Xsqlite3_value_int(tls, columnMem(tls, pStmt, i)) columnMallocFailure(tls, pStmt) return val } -func Xsqlite3_column_int64(tls *libc.TLS, pStmt uintptr, i int32) Sqlite_int64 { /* sqlite3.c:86259:25: */ +func Xsqlite3_column_int64(tls *libc.TLS, pStmt uintptr, i int32) Sqlite_int64 { /* sqlite3.c:86272:25: */ var val Sqlite_int64 = Xsqlite3_value_int64(tls, columnMem(tls, pStmt, i)) columnMallocFailure(tls, pStmt) return val } -func Xsqlite3_column_text(tls *libc.TLS, pStmt uintptr, i int32) uintptr { /* sqlite3.c:86264:32: */ +func Xsqlite3_column_text(tls *libc.TLS, pStmt uintptr, i int32) uintptr { /* sqlite3.c:86277:32: */ var val uintptr = Xsqlite3_value_text(tls, columnMem(tls, pStmt, i)) columnMallocFailure(tls, pStmt) return val } -func Xsqlite3_column_value(tls *libc.TLS, pStmt uintptr, i int32) uintptr { /* sqlite3.c:86269:26: */ +func Xsqlite3_column_value(tls *libc.TLS, pStmt uintptr, i int32) uintptr { /* sqlite3.c:86282:26: */ var pOut uintptr = columnMem(tls, pStmt, i) if int32((*Mem)(unsafe.Pointer(pOut)).Fflags)&MEM_Static != 0 { *(*U16)(unsafe.Pointer(pOut + 8)) &= libc.Uint16FromInt32(libc.CplInt32(MEM_Static)) @@ -108128,13 +108145,13 @@ func Xsqlite3_column_value(tls *libc.TLS, pStmt uintptr, i int32) uintptr { /* s return pOut } -func Xsqlite3_column_text16(tls *libc.TLS, pStmt uintptr, i int32) uintptr { /* sqlite3.c:86279:23: */ +func Xsqlite3_column_text16(tls *libc.TLS, pStmt uintptr, i int32) uintptr { /* sqlite3.c:86292:23: */ var val uintptr = Xsqlite3_value_text16(tls, columnMem(tls, pStmt, i)) columnMallocFailure(tls, pStmt) return val } -func Xsqlite3_column_type(tls *libc.TLS, pStmt uintptr, i int32) int32 { /* sqlite3.c:86285:16: */ +func Xsqlite3_column_type(tls *libc.TLS, pStmt uintptr, i int32) int32 { /* sqlite3.c:86298:16: */ var iType int32 = Xsqlite3_value_type(tls, columnMem(tls, pStmt, i)) columnMallocFailure(tls, pStmt) return iType @@ -108154,7 +108171,7 @@ func Xsqlite3_column_type(tls *libc.TLS, pStmt uintptr, i int32) int32 { /* sqli // // If the result is not a simple column reference (if it is an expression // or a constant) then useTypes 2, 3, and 4 return NULL. -func columnName(tls *libc.TLS, pStmt uintptr, N int32, useUtf16 int32, useType int32) uintptr { /* sqlite3.c:86307:19: */ +func columnName(tls *libc.TLS, pStmt uintptr, N int32, useUtf16 int32, useType int32) uintptr { /* sqlite3.c:86320:19: */ var ret uintptr var p uintptr var n int32 @@ -108186,11 +108203,11 @@ func columnName(tls *libc.TLS, pStmt uintptr, N int32, useUtf16 int32, useType i // Return the name of the Nth column of the result set returned by SQL // statement pStmt. -func Xsqlite3_column_name(tls *libc.TLS, pStmt uintptr, N int32) uintptr { /* sqlite3.c:86356:23: */ +func Xsqlite3_column_name(tls *libc.TLS, pStmt uintptr, N int32) uintptr { /* sqlite3.c:86369:23: */ return columnName(tls, pStmt, N, 0, COLNAME_NAME) } -func Xsqlite3_column_name16(tls *libc.TLS, pStmt uintptr, N int32) uintptr { /* sqlite3.c:86360:23: */ +func Xsqlite3_column_name16(tls *libc.TLS, pStmt uintptr, N int32) uintptr { /* sqlite3.c:86373:23: */ return columnName(tls, pStmt, N, 1, COLNAME_NAME) } @@ -108199,44 +108216,44 @@ func Xsqlite3_column_name16(tls *libc.TLS, pStmt uintptr, N int32) uintptr { /* // Return the column declaration type (if applicable) of the 'i'th column // of the result set of SQL statement pStmt. -func Xsqlite3_column_decltype(tls *libc.TLS, pStmt uintptr, N int32) uintptr { /* sqlite3.c:86379:23: */ +func Xsqlite3_column_decltype(tls *libc.TLS, pStmt uintptr, N int32) uintptr { /* sqlite3.c:86392:23: */ return columnName(tls, pStmt, N, 0, COLNAME_DECLTYPE) } -func Xsqlite3_column_decltype16(tls *libc.TLS, pStmt uintptr, N int32) uintptr { /* sqlite3.c:86383:23: */ +func Xsqlite3_column_decltype16(tls *libc.TLS, pStmt uintptr, N int32) uintptr { /* sqlite3.c:86396:23: */ return columnName(tls, pStmt, N, 1, COLNAME_DECLTYPE) } // Return the name of the database from which a result column derives. // NULL is returned if the result column is an expression or constant or // anything else which is not an unambiguous reference to a database column. -func Xsqlite3_column_database_name(tls *libc.TLS, pStmt uintptr, N int32) uintptr { /* sqlite3.c:86395:23: */ +func Xsqlite3_column_database_name(tls *libc.TLS, pStmt uintptr, N int32) uintptr { /* sqlite3.c:86408:23: */ return columnName(tls, pStmt, N, 0, COLNAME_DATABASE) } -func Xsqlite3_column_database_name16(tls *libc.TLS, pStmt uintptr, N int32) uintptr { /* sqlite3.c:86399:23: */ +func Xsqlite3_column_database_name16(tls *libc.TLS, pStmt uintptr, N int32) uintptr { /* sqlite3.c:86412:23: */ return columnName(tls, pStmt, N, 1, COLNAME_DATABASE) } // Return the name of the table from which a result column derives. // NULL is returned if the result column is an expression or constant or // anything else which is not an unambiguous reference to a database column. -func Xsqlite3_column_table_name(tls *libc.TLS, pStmt uintptr, N int32) uintptr { /* sqlite3.c:86409:23: */ +func Xsqlite3_column_table_name(tls *libc.TLS, pStmt uintptr, N int32) uintptr { /* sqlite3.c:86422:23: */ return columnName(tls, pStmt, N, 0, COLNAME_TABLE) } -func Xsqlite3_column_table_name16(tls *libc.TLS, pStmt uintptr, N int32) uintptr { /* sqlite3.c:86413:23: */ +func Xsqlite3_column_table_name16(tls *libc.TLS, pStmt uintptr, N int32) uintptr { /* sqlite3.c:86426:23: */ return columnName(tls, pStmt, N, 1, COLNAME_TABLE) } // Return the name of the table column from which a result column derives. // NULL is returned if the result column is an expression or constant or // anything else which is not an unambiguous reference to a database column. -func Xsqlite3_column_origin_name(tls *libc.TLS, pStmt uintptr, N int32) uintptr { /* sqlite3.c:86423:23: */ +func Xsqlite3_column_origin_name(tls *libc.TLS, pStmt uintptr, N int32) uintptr { /* sqlite3.c:86436:23: */ return columnName(tls, pStmt, N, 0, COLNAME_COLUMN) } -func Xsqlite3_column_origin_name16(tls *libc.TLS, pStmt uintptr, N int32) uintptr { /* sqlite3.c:86427:23: */ +func Xsqlite3_column_origin_name16(tls *libc.TLS, pStmt uintptr, N int32) uintptr { /* sqlite3.c:86440:23: */ return columnName(tls, pStmt, N, 1, COLNAME_COLUMN) } @@ -108253,13 +108270,13 @@ func Xsqlite3_column_origin_name16(tls *libc.TLS, pStmt uintptr, N int32) uintpt // // The error code stored in database p->db is overwritten with the return // value in any case. -func vdbeUnbind(tls *libc.TLS, p uintptr, i int32) int32 { /* sqlite3.c:86449:12: */ +func vdbeUnbind(tls *libc.TLS, p uintptr, i int32) int32 { /* sqlite3.c:86462:12: */ bp := tls.Alloc(8) defer tls.Free(8) var pVar uintptr if vdbeSafetyNotNull(tls, p) != 0 { - return Xsqlite3MisuseError(tls, 86452) + return Xsqlite3MisuseError(tls, 86465) } Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer((*Vdbe)(unsafe.Pointer(p)).Fdb)).Fmutex) if (*Vdbe)(unsafe.Pointer(p)).FiVdbeMagic != U32(VDBE_MAGIC_RUN) || (*Vdbe)(unsafe.Pointer(p)).Fpc >= 0 { @@ -108267,7 +108284,7 @@ func vdbeUnbind(tls *libc.TLS, p uintptr, i int32) int32 { /* sqlite3.c:86449:12 Xsqlite3_mutex_leave(tls, (*Sqlite3)(unsafe.Pointer((*Vdbe)(unsafe.Pointer(p)).Fdb)).Fmutex) Xsqlite3_log(tls, SQLITE_MISUSE, ts+6670, libc.VaList(bp, (*Vdbe)(unsafe.Pointer(p)).FzSql)) - return Xsqlite3MisuseError(tls, 86460) + return Xsqlite3MisuseError(tls, 86473) } if i < 1 || i > int32((*Vdbe)(unsafe.Pointer(p)).FnVar) { Xsqlite3Error(tls, (*Vdbe)(unsafe.Pointer(p)).Fdb, SQLITE_RANGE) @@ -108301,7 +108318,7 @@ func vdbeUnbind(tls *libc.TLS, p uintptr, i int32) int32 { /* sqlite3.c:86449:12 } // Bind a text or BLOB value. -func bindText(tls *libc.TLS, pStmt uintptr, i int32, zData uintptr, nData I64, xDel uintptr, encoding U8) int32 { /* sqlite3.c:86492:12: */ +func bindText(tls *libc.TLS, pStmt uintptr, i int32, zData uintptr, nData I64, xDel uintptr, encoding U8) int32 { /* sqlite3.c:86505:12: */ var p uintptr = pStmt var pVar uintptr var rc int32 @@ -108327,16 +108344,16 @@ func bindText(tls *libc.TLS, pStmt uintptr, i int32, zData uintptr, nData I64, x } // 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) int32 { /* sqlite3.c:86528:16: */ +func Xsqlite3_bind_blob(tls *libc.TLS, pStmt uintptr, i int32, zData uintptr, nData int32, xDel uintptr) int32 { /* sqlite3.c:86541:16: */ return bindText(tls, pStmt, i, zData, int64(nData), xDel, uint8(0)) } -func Xsqlite3_bind_blob64(tls *libc.TLS, pStmt uintptr, i int32, zData uintptr, nData Sqlite3_uint64, xDel uintptr) int32 { /* sqlite3.c:86540:16: */ +func Xsqlite3_bind_blob64(tls *libc.TLS, pStmt uintptr, i int32, zData uintptr, nData Sqlite3_uint64, xDel uintptr) int32 { /* sqlite3.c:86553:16: */ return bindText(tls, pStmt, i, zData, int64(nData), xDel, uint8(0)) } -func Xsqlite3_bind_double(tls *libc.TLS, pStmt uintptr, i int32, rValue float64) int32 { /* sqlite3.c:86550:16: */ +func Xsqlite3_bind_double(tls *libc.TLS, pStmt uintptr, i int32, rValue float64) int32 { /* sqlite3.c:86563:16: */ var rc int32 var p uintptr = pStmt rc = vdbeUnbind(tls, p, i) @@ -108347,11 +108364,11 @@ func Xsqlite3_bind_double(tls *libc.TLS, pStmt uintptr, i int32, rValue float64) return rc } -func Xsqlite3_bind_int(tls *libc.TLS, p uintptr, i int32, iValue int32) int32 { /* sqlite3.c:86560:16: */ +func Xsqlite3_bind_int(tls *libc.TLS, p uintptr, i int32, iValue int32) int32 { /* sqlite3.c:86573:16: */ return Xsqlite3_bind_int64(tls, p, i, I64(iValue)) } -func Xsqlite3_bind_int64(tls *libc.TLS, pStmt uintptr, i int32, iValue Sqlite_int64) int32 { /* sqlite3.c:86563:16: */ +func Xsqlite3_bind_int64(tls *libc.TLS, pStmt uintptr, i int32, iValue Sqlite_int64) int32 { /* sqlite3.c:86576:16: */ var rc int32 var p uintptr = pStmt rc = vdbeUnbind(tls, p, i) @@ -108362,7 +108379,7 @@ func Xsqlite3_bind_int64(tls *libc.TLS, pStmt uintptr, i int32, iValue Sqlite_in return rc } -func Xsqlite3_bind_null(tls *libc.TLS, pStmt uintptr, i int32) int32 { /* sqlite3.c:86573:16: */ +func Xsqlite3_bind_null(tls *libc.TLS, pStmt uintptr, i int32) int32 { /* sqlite3.c:86586:16: */ var rc int32 var p uintptr = pStmt rc = vdbeUnbind(tls, p, i) @@ -108372,7 +108389,7 @@ func Xsqlite3_bind_null(tls *libc.TLS, pStmt uintptr, i int32) int32 { /* sqlite return rc } -func Xsqlite3_bind_pointer(tls *libc.TLS, pStmt uintptr, i int32, pPtr uintptr, zPTtype uintptr, xDestructor uintptr) int32 { /* sqlite3.c:86582:16: */ +func Xsqlite3_bind_pointer(tls *libc.TLS, pStmt uintptr, i int32, pPtr uintptr, zPTtype uintptr, xDestructor uintptr) int32 { /* sqlite3.c:86595:16: */ var rc int32 var p uintptr = pStmt rc = vdbeUnbind(tls, p, i) @@ -108385,11 +108402,11 @@ func Xsqlite3_bind_pointer(tls *libc.TLS, pStmt uintptr, i int32, pPtr uintptr, return rc } -func Xsqlite3_bind_text(tls *libc.TLS, pStmt uintptr, i int32, zData uintptr, nData int32, xDel uintptr) int32 { /* sqlite3.c:86600:16: */ +func Xsqlite3_bind_text(tls *libc.TLS, pStmt uintptr, i int32, zData uintptr, nData int32, xDel uintptr) int32 { /* sqlite3.c:86613:16: */ return bindText(tls, pStmt, i, zData, int64(nData), xDel, uint8(SQLITE_UTF8)) } -func Xsqlite3_bind_text64(tls *libc.TLS, pStmt uintptr, i int32, zData uintptr, nData Sqlite3_uint64, xDel uintptr, enc uint8) int32 { /* sqlite3.c:86609:16: */ +func Xsqlite3_bind_text64(tls *libc.TLS, pStmt uintptr, i int32, zData uintptr, nData Sqlite3_uint64, xDel uintptr, enc uint8) int32 { /* sqlite3.c:86622:16: */ if int32(enc) == SQLITE_UTF16 { enc = uint8(SQLITE_UTF16LE) @@ -108397,11 +108414,11 @@ func Xsqlite3_bind_text64(tls *libc.TLS, pStmt uintptr, i int32, zData uintptr, return bindText(tls, pStmt, i, zData, int64(nData), xDel, enc) } -func Xsqlite3_bind_text16(tls *libc.TLS, pStmt uintptr, i int32, zData uintptr, nData int32, xDel uintptr) int32 { /* sqlite3.c:86622:16: */ +func Xsqlite3_bind_text16(tls *libc.TLS, pStmt uintptr, i int32, zData uintptr, nData int32, xDel uintptr) int32 { /* sqlite3.c:86635:16: */ return bindText(tls, pStmt, i, zData, int64(nData), xDel, uint8(SQLITE_UTF16LE)) } -func Xsqlite3_bind_value(tls *libc.TLS, pStmt uintptr, i int32, pValue uintptr) int32 { /* sqlite3.c:86632:16: */ +func Xsqlite3_bind_value(tls *libc.TLS, pStmt uintptr, i int32, pValue uintptr) int32 { /* sqlite3.c:86645:16: */ var rc int32 switch Xsqlite3_value_type(tls, pValue) { case SQLITE_INTEGER: @@ -108450,7 +108467,7 @@ func Xsqlite3_bind_value(tls *libc.TLS, pStmt uintptr, i int32, pValue uintptr) return rc } -func Xsqlite3_bind_zeroblob(tls *libc.TLS, pStmt uintptr, i int32, n int32) int32 { /* sqlite3.c:86666:16: */ +func Xsqlite3_bind_zeroblob(tls *libc.TLS, pStmt uintptr, i int32, n int32) int32 { /* sqlite3.c:86679:16: */ var rc int32 var p uintptr = pStmt rc = vdbeUnbind(tls, p, i) @@ -108461,7 +108478,7 @@ func Xsqlite3_bind_zeroblob(tls *libc.TLS, pStmt uintptr, i int32, n int32) int3 return rc } -func Xsqlite3_bind_zeroblob64(tls *libc.TLS, pStmt uintptr, i int32, n Sqlite3_uint64) int32 { /* sqlite3.c:86680:16: */ +func Xsqlite3_bind_zeroblob64(tls *libc.TLS, pStmt uintptr, i int32, n Sqlite3_uint64) int32 { /* sqlite3.c:86693:16: */ var rc int32 var p uintptr = pStmt Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer((*Vdbe)(unsafe.Pointer(p)).Fdb)).Fmutex) @@ -108478,7 +108495,7 @@ func Xsqlite3_bind_zeroblob64(tls *libc.TLS, pStmt uintptr, i int32, n Sqlite3_u // Return the number of wildcards that can be potentially bound to. // This routine is added to support DBD::SQLite. -func Xsqlite3_bind_parameter_count(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:86699:16: */ +func Xsqlite3_bind_parameter_count(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:86712:16: */ var p uintptr = pStmt if p != 0 { return int32((*Vdbe)(unsafe.Pointer(p)).FnVar) @@ -108490,7 +108507,7 @@ func Xsqlite3_bind_parameter_count(tls *libc.TLS, pStmt uintptr) int32 { /* sqli // is out of range or if the wildcard is unnamed. // // The result is always UTF-8. -func Xsqlite3_bind_parameter_name(tls *libc.TLS, pStmt uintptr, i int32) uintptr { /* sqlite3.c:86710:23: */ +func Xsqlite3_bind_parameter_name(tls *libc.TLS, pStmt uintptr, i int32) uintptr { /* sqlite3.c:86723:23: */ var p uintptr = pStmt if p == uintptr(0) { return uintptr(0) @@ -108501,19 +108518,19 @@ func Xsqlite3_bind_parameter_name(tls *libc.TLS, pStmt uintptr, i int32) uintptr // Given a wildcard parameter name, return the index of the variable // with that name. If there is no variable with the given name, // return 0. -func Xsqlite3VdbeParameterIndex(tls *libc.TLS, p uintptr, zName uintptr, nName int32) int32 { /* sqlite3.c:86721:20: */ +func Xsqlite3VdbeParameterIndex(tls *libc.TLS, p uintptr, zName uintptr, nName int32) int32 { /* sqlite3.c:86734:20: */ if p == uintptr(0) || zName == uintptr(0) { return 0 } return Xsqlite3VListNameToNum(tls, (*Vdbe)(unsafe.Pointer(p)).FpVList, zName, nName) } -func Xsqlite3_bind_parameter_index(tls *libc.TLS, pStmt uintptr, zName uintptr) int32 { /* sqlite3.c:86725:16: */ +func Xsqlite3_bind_parameter_index(tls *libc.TLS, pStmt uintptr, zName uintptr) int32 { /* sqlite3.c:86738:16: */ return Xsqlite3VdbeParameterIndex(tls, pStmt, zName, Xsqlite3Strlen30(tls, zName)) } // Transfer all bindings from the first statement over to the second. -func Xsqlite3TransferBindings(tls *libc.TLS, pFromStmt uintptr, pToStmt uintptr) int32 { /* sqlite3.c:86732:20: */ +func Xsqlite3TransferBindings(tls *libc.TLS, pFromStmt uintptr, pToStmt uintptr) int32 { /* sqlite3.c:86745:20: */ var pFrom uintptr = pFromStmt var pTo uintptr = pToStmt var i int32 @@ -108536,7 +108553,7 @@ func Xsqlite3TransferBindings(tls *libc.TLS, pFromStmt uintptr, pToStmt uintptr) // If the two statements contain a different number of bindings, then // an SQLITE_ERROR is returned. Nothing else can go wrong, so otherwise // SQLITE_OK is returned. -func Xsqlite3_transfer_bindings(tls *libc.TLS, pFromStmt uintptr, pToStmt uintptr) int32 { /* sqlite3.c:86759:16: */ +func Xsqlite3_transfer_bindings(tls *libc.TLS, pFromStmt uintptr, pToStmt uintptr) int32 { /* sqlite3.c:86772:16: */ var pFrom uintptr = pFromStmt var pTo uintptr = pToStmt if int32((*Vdbe)(unsafe.Pointer(pFrom)).FnVar) != int32((*Vdbe)(unsafe.Pointer(pTo)).FnVar) { @@ -108557,7 +108574,7 @@ func Xsqlite3_transfer_bindings(tls *libc.TLS, pFromStmt uintptr, pToStmt uintpt // in the argument belongs. This is the same database handle that was // the first argument to the sqlite3_prepare() that was used to create // the statement in the first place. -func Xsqlite3_db_handle(tls *libc.TLS, pStmt uintptr) uintptr { /* sqlite3.c:86783:20: */ +func Xsqlite3_db_handle(tls *libc.TLS, pStmt uintptr) uintptr { /* sqlite3.c:86796:20: */ if pStmt != 0 { return (*Vdbe)(unsafe.Pointer(pStmt)).Fdb } @@ -108566,7 +108583,7 @@ func Xsqlite3_db_handle(tls *libc.TLS, pStmt uintptr) uintptr { /* sqlite3.c:867 // Return true if the prepared statement is guaranteed to not modify the // database. -func Xsqlite3_stmt_readonly(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:86791:16: */ +func Xsqlite3_stmt_readonly(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:86804:16: */ if pStmt != 0 { return int32(*(*uint16)(unsafe.Pointer(pStmt + 208)) & 0x80 >> 7) } @@ -108575,7 +108592,7 @@ func Xsqlite3_stmt_readonly(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:8 // Return 1 if the statement is an EXPLAIN and return 2 if the // statement is an EXPLAIN QUERY PLAN -func Xsqlite3_stmt_isexplain(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:86799:16: */ +func Xsqlite3_stmt_isexplain(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:86812:16: */ if pStmt != 0 { return int32(*(*uint16)(unsafe.Pointer(pStmt + 208)) & 0xc >> 2) } @@ -108583,7 +108600,7 @@ func Xsqlite3_stmt_isexplain(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c: } // Return true if the prepared statement is in need of being reset. -func Xsqlite3_stmt_busy(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:86806:16: */ +func Xsqlite3_stmt_busy(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:86819:16: */ var v uintptr = pStmt return libc.Bool32(v != uintptr(0) && (*Vdbe)(unsafe.Pointer(v)).FiVdbeMagic == U32(VDBE_MAGIC_RUN) && (*Vdbe)(unsafe.Pointer(v)).Fpc >= 0) } @@ -108592,7 +108609,7 @@ func Xsqlite3_stmt_busy(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:86806 // with database connection pDb. If pStmt is NULL, return the first // prepared statement for the database connection. Return NULL if there // are no more. -func Xsqlite3_next_stmt(tls *libc.TLS, pDb uintptr, pStmt uintptr) uintptr { /* sqlite3.c:86817:25: */ +func Xsqlite3_next_stmt(tls *libc.TLS, pDb uintptr, pStmt uintptr) uintptr { /* sqlite3.c:86830:25: */ var pNext uintptr Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(pDb)).Fmutex) if pStmt == uintptr(0) { @@ -108605,7 +108622,7 @@ func Xsqlite3_next_stmt(tls *libc.TLS, pDb uintptr, pStmt uintptr) uintptr { /* } // Return the value of a status counter for a prepared statement -func Xsqlite3_stmt_status(tls *libc.TLS, pStmt uintptr, op int32, resetFlag int32) int32 { /* sqlite3.c:86838:16: */ +func Xsqlite3_stmt_status(tls *libc.TLS, pStmt uintptr, op int32, resetFlag int32) int32 { /* sqlite3.c:86851:16: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -108631,7 +108648,7 @@ func Xsqlite3_stmt_status(tls *libc.TLS, pStmt uintptr, op int32, resetFlag int3 } // Return the SQL associated with a prepared statement -func Xsqlite3_sql(tls *libc.TLS, pStmt uintptr) uintptr { /* sqlite3.c:86868:23: */ +func Xsqlite3_sql(tls *libc.TLS, pStmt uintptr) uintptr { /* sqlite3.c:86881:23: */ var p uintptr = pStmt if p != 0 { return (*Vdbe)(unsafe.Pointer(p)).FzSql @@ -108646,7 +108663,7 @@ func Xsqlite3_sql(tls *libc.TLS, pStmt uintptr) uintptr { /* sqlite3.c:86868:23: // // The SQLITE_TRACE_SIZE_LIMIT puts an upper bound on the size of // expanded bound parameters. -func Xsqlite3_expanded_sql(tls *libc.TLS, pStmt uintptr) uintptr { /* sqlite3.c:86882:17: */ +func Xsqlite3_expanded_sql(tls *libc.TLS, pStmt uintptr) uintptr { /* sqlite3.c:86895:17: */ var z uintptr = uintptr(0) var zSql uintptr = Xsqlite3_sql(tls, pStmt) if zSql != 0 { @@ -108661,7 +108678,7 @@ func Xsqlite3_expanded_sql(tls *libc.TLS, pStmt uintptr) uintptr { /* sqlite3.c: // Allocate and populate an UnpackedRecord structure based on the serialized // record in nKey/pKey. Return a pointer to the new UnpackedRecord structure // if successful, or a NULL pointer if an OOM error is encountered. -func vdbeUnpackRecord(tls *libc.TLS, pKeyInfo uintptr, nKey int32, pKey uintptr) uintptr { /* sqlite3.c:86920:23: */ +func vdbeUnpackRecord(tls *libc.TLS, pKeyInfo uintptr, nKey int32, pKey uintptr) uintptr { /* sqlite3.c:86933:23: */ var pRet uintptr // Return value pRet = Xsqlite3VdbeAllocUnpackedRecord(tls, pKeyInfo) @@ -108674,7 +108691,7 @@ func vdbeUnpackRecord(tls *libc.TLS, pKeyInfo uintptr, nKey int32, pKey uintptr) // This function is called from within a pre-update callback to retrieve // a field of the row currently being updated or deleted. -func Xsqlite3_preupdate_old(tls *libc.TLS, db uintptr, iIdx int32, ppValue uintptr) int32 { /* sqlite3.c:86939:16: */ +func Xsqlite3_preupdate_old(tls *libc.TLS, db uintptr, iIdx int32, ppValue uintptr) int32 { /* sqlite3.c:86952:16: */ var p uintptr var pMem uintptr var rc int32 @@ -108688,7 +108705,7 @@ func Xsqlite3_preupdate_old(tls *libc.TLS, db uintptr, iIdx int32, ppValue uintp if !(!(p != 0) || (*PreUpdate)(unsafe.Pointer(p)).Fop == SQLITE_INSERT) { goto __1 } - rc = Xsqlite3MisuseError(tls, 86947) + rc = Xsqlite3MisuseError(tls, 86960) goto preupdate_old_out __1: ; @@ -108780,7 +108797,7 @@ preupdate_old_out: // This function is called from within a pre-update callback to retrieve // the number of columns in the row being updated, deleted or inserted. -func Xsqlite3_preupdate_count(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:87003:16: */ +func Xsqlite3_preupdate_count(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:87016:16: */ var p uintptr = (*Sqlite3)(unsafe.Pointer(db)).FpPreUpdate return func() int32 { if p != 0 { @@ -108799,7 +108816,7 @@ func Xsqlite3_preupdate_count(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:87 // // For the purposes of the previous paragraph, a foreign key CASCADE, SET NULL // or SET DEFAULT action is considered a trigger. -func Xsqlite3_preupdate_depth(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:87021:16: */ +func Xsqlite3_preupdate_depth(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:87034:16: */ var p uintptr = (*Sqlite3)(unsafe.Pointer(db)).FpPreUpdate return func() int32 { if p != 0 { @@ -108811,7 +108828,7 @@ func Xsqlite3_preupdate_depth(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:87 // This function is designed to be called from within a pre-update callback // only. -func Xsqlite3_preupdate_blobwrite(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:87032:16: */ +func Xsqlite3_preupdate_blobwrite(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:87045:16: */ var p uintptr = (*Sqlite3)(unsafe.Pointer(db)).FpPreUpdate return func() int32 { if p != 0 { @@ -108823,7 +108840,7 @@ func Xsqlite3_preupdate_blobwrite(tls *libc.TLS, db uintptr) int32 { /* sqlite3. // This function is called from within a pre-update callback to retrieve // a field of the row currently being updated or inserted. -func Xsqlite3_preupdate_new(tls *libc.TLS, db uintptr, iIdx int32, ppValue uintptr) int32 { /* sqlite3.c:87043:16: */ +func Xsqlite3_preupdate_new(tls *libc.TLS, db uintptr, iIdx int32, ppValue uintptr) int32 { /* sqlite3.c:87056:16: */ var p uintptr var rc int32 var pMem uintptr @@ -108837,7 +108854,7 @@ func Xsqlite3_preupdate_new(tls *libc.TLS, db uintptr, iIdx int32, ppValue uintp if !(!(p != 0) || (*PreUpdate)(unsafe.Pointer(p)).Fop == SQLITE_DELETE) { goto __1 } - rc = Xsqlite3MisuseError(tls, 87049) + rc = Xsqlite3MisuseError(tls, 87062) goto preupdate_new_out __1: ; @@ -108978,7 +108995,7 @@ preupdate_new_out: // bytes in this text up to but excluding the first character in // a host parameter. If the text contains no host parameters, return // the total number of bytes in the text. -func findNextHostParameter(tls *libc.TLS, zSql uintptr, pnToken uintptr) int32 { /* sqlite3.c:87213:12: */ +func findNextHostParameter(tls *libc.TLS, zSql uintptr, pnToken uintptr) int32 { /* sqlite3.c:87226:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -109023,7 +109040,7 @@ func findNextHostParameter(tls *libc.TLS, zSql uintptr, pnToken uintptr) int32 { // statement for the corresponding OP_Variable opcode. Once the host // parameter index is known, locate the value in p->aVar[]. Then render // the value as a literal in place of the host parameter name. -func Xsqlite3VdbeExpandSql(tls *libc.TLS, p uintptr, zRawSql uintptr) uintptr { /* sqlite3.c:87256:21: */ +func Xsqlite3VdbeExpandSql(tls *libc.TLS, p uintptr, zRawSql uintptr) uintptr { /* sqlite3.c:87269:21: */ bp := tls.Alloc(144) defer tls.Free(144) @@ -109246,7 +109263,7 @@ func Xsqlite3VdbeExpandSql(tls *libc.TLS, p uintptr, zRawSql uintptr) uintptr { // Allocate VdbeCursor number iCur. Return a pointer to it. Return NULL // if we run out of memory. -func allocateCursor(tls *libc.TLS, p uintptr, iCur int32, nField int32, eCurType U8) uintptr { /* sqlite3.c:87619:19: */ +func allocateCursor(tls *libc.TLS, p uintptr, iCur int32, nField int32, eCurType U8) uintptr { /* sqlite3.c:87632:19: */ // Find the memory cell that will be used to store the blob of memory // required for this VdbeCursor structure. It is convenient to use a // vdbe memory cell to manage the memory allocation required for a @@ -109317,7 +109334,7 @@ func allocateCursor(tls *libc.TLS, p uintptr, iCur int32, nField int32, eCurType // floating point value of rValue. Return true and set *piValue to the // integer value if the string is in range to be an integer. Otherwise, // return false. -func alsoAnInt(tls *libc.TLS, pRec uintptr, rValue float64, piValue uintptr) int32 { /* sqlite3.c:87695:12: */ +func alsoAnInt(tls *libc.TLS, pRec uintptr, rValue float64, piValue uintptr) int32 { /* sqlite3.c:87708:12: */ var iValue I64 = I64(rValue) if Xsqlite3RealSameAsInt(tls, rValue, iValue) != 0 { *(*I64)(unsafe.Pointer(piValue)) = iValue @@ -109339,7 +109356,7 @@ func alsoAnInt(tls *libc.TLS, pRec uintptr, rValue float64, piValue uintptr) int // If bTryForInt is false, then if the input string contains a decimal // point or exponential notation, the result is only MEM_Real, even // if there is an exact integer representation of the quantity. -func applyNumericAffinity(tls *libc.TLS, pRec uintptr, bTryForInt int32) { /* sqlite3.c:87719:13: */ +func applyNumericAffinity(tls *libc.TLS, pRec uintptr, bTryForInt int32) { /* sqlite3.c:87732:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -109385,7 +109402,7 @@ func applyNumericAffinity(tls *libc.TLS, pRec uintptr, bTryForInt int32) { /* sq // SQLITE_AFF_BLOB: // SQLITE_AFF_NONE: // No-op. pRec is unchanged. -func applyAffinity(tls *libc.TLS, pRec uintptr, affinity int8, enc U8) { /* sqlite3.c:87759:13: */ +func applyAffinity(tls *libc.TLS, pRec uintptr, affinity int8, enc U8) { /* sqlite3.c:87772:13: */ if int32(affinity) >= SQLITE_AFF_NUMERIC { if int32((*Mem)(unsafe.Pointer(pRec)).Fflags)&MEM_Int == 0 { //OPTIMIZATION-IF-FALSE @@ -109417,7 +109434,7 @@ func applyAffinity(tls *libc.TLS, pRec uintptr, affinity int8, enc U8) { /* sqli // into a numeric representation. Use either INTEGER or REAL whichever // is appropriate. But only do the conversion if it is possible without // loss of information and return the revised type of the argument. -func Xsqlite3_value_numeric_type(tls *libc.TLS, pVal uintptr) int32 { /* sqlite3.c:87798:16: */ +func Xsqlite3_value_numeric_type(tls *libc.TLS, pVal uintptr) int32 { /* sqlite3.c:87811:16: */ var eType int32 = Xsqlite3_value_type(tls, pVal) if eType == SQLITE_TEXT { var pMem uintptr = pVal @@ -109429,7 +109446,7 @@ func Xsqlite3_value_numeric_type(tls *libc.TLS, pVal uintptr) int32 { /* sqlite3 // Exported version of applyAffinity(). This one works on sqlite3_value*, // not the internal Mem* type. -func Xsqlite3ValueApplyAffinity(tls *libc.TLS, pVal uintptr, affinity U8, enc U8) { /* sqlite3.c:87812:21: */ +func Xsqlite3ValueApplyAffinity(tls *libc.TLS, pVal uintptr, affinity U8, enc U8) { /* sqlite3.c:87825:21: */ applyAffinity(tls, pVal, int8(affinity), enc) } @@ -109437,7 +109454,7 @@ func Xsqlite3ValueApplyAffinity(tls *libc.TLS, pVal uintptr, affinity U8, enc U8 // interpret as a string if we want to). Compute its corresponding // numeric type, if has one. Set the pMem->u.r and pMem->u.i fields // accordingly. -func computeNumericType(tls *libc.TLS, pMem uintptr) U16 { /* sqlite3.c:87826:28: */ +func computeNumericType(tls *libc.TLS, pMem uintptr) U16 { /* sqlite3.c:87839:28: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -109473,7 +109490,7 @@ func computeNumericType(tls *libc.TLS, pMem uintptr) U16 { /* sqlite3.c:87826:28 // // Unlike applyNumericAffinity(), this routine does not modify pMem->flags. // But it does set pMem->u.r and pMem->u.i appropriately. -func numericType(tls *libc.TLS, pMem uintptr) U16 { /* sqlite3.c:87857:12: */ +func numericType(tls *libc.TLS, pMem uintptr) U16 { /* sqlite3.c:87870:12: */ if int32((*Mem)(unsafe.Pointer(pMem)).Fflags)&(MEM_Int|MEM_Real|MEM_IntReal) != 0 { return U16(int32((*Mem)(unsafe.Pointer(pMem)).Fflags) & (MEM_Int | MEM_Real | MEM_IntReal)) @@ -109487,13 +109504,13 @@ func numericType(tls *libc.TLS, pMem uintptr) U16 { /* sqlite3.c:87857:12: */ // Return the register of pOp->p2 after first preparing it to be // overwritten with an integer value. -func out2PrereleaseWithClear(tls *libc.TLS, pOut uintptr) uintptr { /* sqlite3.c:88032:28: */ +func out2PrereleaseWithClear(tls *libc.TLS, pOut uintptr) uintptr { /* sqlite3.c:88045:28: */ Xsqlite3VdbeMemSetNull(tls, pOut) (*Mem)(unsafe.Pointer(pOut)).Fflags = U16(MEM_Int) return pOut } -func out2Prerelease(tls *libc.TLS, p uintptr, pOp uintptr) uintptr { /* sqlite3.c:88037:12: */ +func out2Prerelease(tls *libc.TLS, p uintptr, pOp uintptr) uintptr { /* sqlite3.c:88050:12: */ var pOut uintptr pOut = (*Vdbe)(unsafe.Pointer(p)).FaMem + uintptr((*VdbeOp)(unsafe.Pointer(pOp)).Fp2)*56 @@ -109509,7 +109526,7 @@ func out2Prerelease(tls *libc.TLS, p uintptr, pOp uintptr) uintptr { /* sqlite3. // Compute a bloom filter hash using pOp->p4.i registers from aMem[] beginning // with pOp->p3. Return the hash. -func filterHash(tls *libc.TLS, aMem uintptr, pOp uintptr) U64 { /* sqlite3.c:88055:12: */ +func filterHash(tls *libc.TLS, aMem uintptr, pOp uintptr) U64 { /* sqlite3.c:88068:12: */ var i int32 var mx int32 var h U64 = uint64(0) @@ -109533,7 +109550,7 @@ func filterHash(tls *libc.TLS, aMem uintptr, pOp uintptr) U64 { /* sqlite3.c:880 } // Return the symbolic name for the data type of a pMem -func vdbeMemTypeName(tls *libc.TLS, pMem uintptr) uintptr { /* sqlite3.c:88077:19: */ +func vdbeMemTypeName(tls *libc.TLS, pMem uintptr) uintptr { /* sqlite3.c:88090:19: */ return azTypes[Xsqlite3_value_type(tls, pMem)-1] } @@ -109543,11 +109560,11 @@ var azTypes = [5]uintptr{ ts + 1102, ts + 1080, ts + 1525, -} /* sqlite3.c:88078:21 */ +} /* sqlite3.c:88091:21 */ // Execute as much of a VDBE program as we can. // This is the core of sqlite3_step(). -func Xsqlite3VdbeExec(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:88092:20: */ +func Xsqlite3VdbeExec(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:88105:20: */ bp := tls.Alloc(976) defer tls.Free(976) @@ -115064,7 +115081,7 @@ op_column_corrupt: goto __8 goto __400 __399: - rc = Xsqlite3CorruptError(tls, 90310) + rc = Xsqlite3CorruptError(tls, 90323) goto abort_due_to_error __400: ; @@ -117559,7 +117576,7 @@ notExistsWithKey: if !((*Op)(unsafe.Pointer(pOp)).Fp2 == 0) { goto __642 } - rc = Xsqlite3CorruptError(tls, 92457) + rc = Xsqlite3CorruptError(tls, 92470) goto __643 __642: goto jump_to_p2 @@ -118721,7 +118738,7 @@ __724: if !((*Op)(unsafe.Pointer(pOp)).Fp5 != 0 && !(Xsqlite3WritableSchema(tls, db) != 0)) { goto __727 } - rc = Xsqlite3ReportError(tls, SQLITE_CORRUPT|int32(3)<<8, 93513, ts+7179) + rc = Xsqlite3ReportError(tls, SQLITE_CORRUPT|int32(3)<<8, 93526, ts+7179) goto abort_due_to_error __727: ; @@ -118913,7 +118930,7 @@ __737: if !(nCellKey <= int64(0) || nCellKey > int64(0x7fffffff)) { goto __738 } - rc = Xsqlite3CorruptError(tls, 93717) + rc = Xsqlite3CorruptError(tls, 93730) goto abort_due_to_error __738: ; @@ -119189,7 +119206,7 @@ __759: // 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 = Xsqlite3CorruptError(tls, 93969) + rc = Xsqlite3CorruptError(tls, 93982) __760: ; Xsqlite3DbFreeNN(tls, db, zSql) @@ -121200,7 +121217,7 @@ __916: if !(rc == SQLITE_IOERR|int32(33)<<8) { goto __918 } - rc = Xsqlite3CorruptError(tls, 95906) + rc = Xsqlite3CorruptError(tls, 95919) __918: ; __917: @@ -121289,11 +121306,11 @@ abort_due_to_interrupt: } var azType = [4]uintptr{ts + 7421, ts + 7430, ts + 7437, - ts + 7443} /* sqlite3.c:88537:25 */ -var and_logic = [9]uint8{uint8(0), uint8(0), uint8(0), uint8(0), uint8(1), uint8(2), uint8(0), uint8(2), uint8(2)} /* sqlite3.c:89761:32 */ -var or_logic = [9]uint8{uint8(0), uint8(1), uint8(2), uint8(1), uint8(1), uint8(1), uint8(2), uint8(1), uint8(2)} /* sqlite3.c:89764:32 */ -var aFlag1 = [2]U16{U16(MEM_Blob), U16(MEM_Str | MEM_Term)} /* sqlite3.c:90257:24 */ -var vfsFlags int32 = SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE | SQLITE_OPEN_EXCLUSIVE | SQLITE_OPEN_DELETEONCLOSE | SQLITE_OPEN_TRANSIENT_DB /* sqlite3.c:91512:20 */ + ts + 7443} /* sqlite3.c:88550:25 */ +var and_logic = [9]uint8{uint8(0), uint8(0), uint8(0), uint8(0), uint8(1), uint8(2), uint8(0), uint8(2), uint8(2)} /* sqlite3.c:89774:32 */ +var or_logic = [9]uint8{uint8(0), uint8(1), uint8(2), uint8(1), uint8(1), uint8(1), uint8(2), uint8(1), uint8(2)} /* sqlite3.c:89777:32 */ +var aFlag1 = [2]U16{U16(MEM_Blob), U16(MEM_Str | MEM_Term)} /* sqlite3.c:90270:24 */ +var vfsFlags int32 = SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE | SQLITE_OPEN_EXCLUSIVE | SQLITE_OPEN_DELETEONCLOSE | SQLITE_OPEN_TRANSIENT_DB /* sqlite3.c:91525:20 */ //************* End of vdbe.c *********************************************** //************* Begin file vdbeblob.c *************************************** @@ -121324,7 +121341,7 @@ type Incrblob1 = struct { Fdb uintptr FzDb uintptr FpTab uintptr -} /* sqlite3.c:96011:9 */ +} /* sqlite3.c:96024:9 */ //************* End of vdbe.c *********************************************** //************* Begin file vdbeblob.c *************************************** @@ -121345,7 +121362,7 @@ type Incrblob1 = struct { // #include "vdbeInt.h" // Valid sqlite3_blob* handles point to Incrblob structures. -type Incrblob = Incrblob1 /* sqlite3.c:96011:25 */ +type Incrblob = Incrblob1 /* sqlite3.c:96024:25 */ // This function is used by both blob_open() and blob_reopen(). It seeks // the b-tree cursor associated with blob handle p to point to row iRow. @@ -121362,7 +121379,7 @@ type Incrblob = Incrblob1 /* sqlite3.c:96011:25 */ // If an error does occur, then the b-tree cursor is closed. All subsequent // calls to sqlite3_blob_read(), blob_write() or blob_reopen() will // immediately return SQLITE_ABORT. -func blobSeekToRow(tls *libc.TLS, p uintptr, iRow Sqlite3_int64, pzErr uintptr) int32 { /* sqlite3.c:96041:12: */ +func blobSeekToRow(tls *libc.TLS, p uintptr, iRow Sqlite3_int64, pzErr uintptr) int32 { /* sqlite3.c:96054:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -121438,7 +121455,7 @@ func blobSeekToRow(tls *libc.TLS, p uintptr, iRow Sqlite3_int64, pzErr uintptr) } // Open a blob handle. -func Xsqlite3_blob_open(tls *libc.TLS, db uintptr, zDb uintptr, zTable uintptr, zColumn uintptr, iRow Sqlite_int64, wrFlag int32, ppBlob uintptr) int32 { /* sqlite3.c:96109:16: */ +func Xsqlite3_blob_open(tls *libc.TLS, db uintptr, zDb uintptr, zTable uintptr, zColumn uintptr, iRow Sqlite_int64, wrFlag int32, ppBlob uintptr) int32 { /* sqlite3.c:96122:16: */ bp := tls.Alloc(464) defer tls.Free(464) @@ -121759,7 +121776,7 @@ __38: return rc } -var iLn int32 = 0 /* sqlite3.c:96252:24 */ +var iLn int32 = 0 /* sqlite3.c:96265:24 */ var openBlob = [6]VdbeOpList{ {Fopcode: U8(OP_TableLock)}, // 0: Acquire a read or write lock {Fopcode: U8(OP_OpenRead)}, // 1: Open a cursor @@ -121768,11 +121785,11 @@ var openBlob = [6]VdbeOpList{ {Fopcode: U8(OP_Column), Fp3: int8(1)}, // 3 {Fopcode: U8(OP_ResultRow), Fp1: int8(1)}, // 4 {Fopcode: U8(OP_Halt)}, // 5 -} /* sqlite3.c:96253:31 */ +} /* sqlite3.c:96266:31 */ // Close a blob handle that was previously created using // sqlite3_blob_open(). -func Xsqlite3_blob_close(tls *libc.TLS, pBlob uintptr) int32 { /* sqlite3.c:96344:16: */ +func Xsqlite3_blob_close(tls *libc.TLS, pBlob uintptr) int32 { /* sqlite3.c:96357:16: */ var p uintptr = pBlob var rc int32 var db uintptr @@ -121791,14 +121808,14 @@ func Xsqlite3_blob_close(tls *libc.TLS, pBlob uintptr) int32 { /* sqlite3.c:9634 } // Perform a read or write operation on a blob -func blobReadWrite(tls *libc.TLS, pBlob uintptr, z uintptr, n int32, iOffset int32, xCall uintptr) int32 { /* sqlite3.c:96365:12: */ +func blobReadWrite(tls *libc.TLS, pBlob uintptr, z uintptr, n int32, iOffset int32, xCall uintptr) int32 { /* sqlite3.c:96378:12: */ var rc int32 var p uintptr = pBlob var v uintptr var db uintptr if p == uintptr(0) { - return Xsqlite3MisuseError(tls, 96377) + return Xsqlite3MisuseError(tls, 96390) } db = (*Incrblob)(unsafe.Pointer(p)).Fdb Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) @@ -121857,14 +121874,14 @@ func blobReadWrite(tls *libc.TLS, pBlob uintptr, z uintptr, n int32, iOffset int } // Read data from a blob handle. -func Xsqlite3_blob_read(tls *libc.TLS, pBlob uintptr, z uintptr, n int32, iOffset int32) int32 { /* sqlite3.c:96440:16: */ +func Xsqlite3_blob_read(tls *libc.TLS, pBlob uintptr, z uintptr, n int32, iOffset int32) int32 { /* sqlite3.c:96453:16: */ return blobReadWrite(tls, pBlob, z, n, iOffset, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, U32, U32, uintptr) int32 }{Xsqlite3BtreePayloadChecked}))) } // Write data to a blob handle. -func Xsqlite3_blob_write(tls *libc.TLS, pBlob uintptr, z uintptr, n int32, iOffset int32) int32 { /* sqlite3.c:96447:16: */ +func Xsqlite3_blob_write(tls *libc.TLS, pBlob uintptr, z uintptr, n int32, iOffset int32) int32 { /* sqlite3.c:96460:16: */ return blobReadWrite(tls, pBlob, z, n, iOffset, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, U32, U32, uintptr) int32 }{Xsqlite3BtreePutData}))) @@ -121874,7 +121891,7 @@ func Xsqlite3_blob_write(tls *libc.TLS, pBlob uintptr, z uintptr, n int32, iOffs // // The Incrblob.nByte field is fixed for the lifetime of the Incrblob // so no mutex is required for access. -func Xsqlite3_blob_bytes(tls *libc.TLS, pBlob uintptr) int32 { /* sqlite3.c:96457:16: */ +func Xsqlite3_blob_bytes(tls *libc.TLS, pBlob uintptr) int32 { /* sqlite3.c:96470:16: */ var p uintptr = pBlob if p != 0 && (*Incrblob)(unsafe.Pointer(p)).FpStmt != 0 { return (*Incrblob)(unsafe.Pointer(p)).FnByte @@ -121890,7 +121907,7 @@ func Xsqlite3_blob_bytes(tls *libc.TLS, pBlob uintptr) int32 { /* sqlite3.c:9645 // database handle error code and message set. If this happens, then all // subsequent calls to sqlite3_blob_xxx() functions (except blob_close()) // immediately return SQLITE_ABORT. -func Xsqlite3_blob_reopen(tls *libc.TLS, pBlob uintptr, iRow Sqlite3_int64) int32 { /* sqlite3.c:96472:16: */ +func Xsqlite3_blob_reopen(tls *libc.TLS, pBlob uintptr, iRow Sqlite3_int64) int32 { /* sqlite3.c:96485:16: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -121899,7 +121916,7 @@ func Xsqlite3_blob_reopen(tls *libc.TLS, pBlob uintptr, iRow Sqlite3_int64) int3 var db uintptr if p == uintptr(0) { - return Xsqlite3MisuseError(tls, 96477) + return Xsqlite3MisuseError(tls, 96490) } db = (*Incrblob)(unsafe.Pointer(p)).Fdb Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) @@ -122237,7 +122254,7 @@ type MergeEngine1 = struct { // overflows. 512MiB. // Private objects used by the sorter -type MergeEngine = MergeEngine1 /* sqlite3.c:96666:28 */ // Merge PMAs together +type MergeEngine = MergeEngine1 /* sqlite3.c:96679:28 */ // Merge PMAs together type PmaReader1 = struct { FiReadOff I64 FiEof I64 @@ -122254,7 +122271,7 @@ type PmaReader1 = struct { } /* sqlite3.c:22082:9 */ // Merge PMAs together -type PmaReader = PmaReader1 /* sqlite3.c:96667:26 */ // Incrementally read one PMA +type PmaReader = PmaReader1 /* sqlite3.c:96680:26 */ // Incrementally read one PMA type PmaWriter1 = struct { FeFWErr int32 F__ccgo_pad1 [4]byte @@ -122265,10 +122282,10 @@ type PmaWriter1 = struct { F__ccgo_pad2 [4]byte FiWriteOff I64 FpFd uintptr -} /* sqlite3.c:96668:9 */ +} /* sqlite3.c:96681:9 */ // Incrementally read one PMA -type PmaWriter = PmaWriter1 /* sqlite3.c:96668:26 */ // Incrementally write one PMA +type PmaWriter = PmaWriter1 /* sqlite3.c:96681:26 */ // Incrementally write one PMA type SorterRecord1 = struct { FnVal int32 F__ccgo_pad1 [4]byte @@ -122276,7 +122293,7 @@ type SorterRecord1 = struct { } /* sqlite3.c:22082:9 */ // Incrementally write one PMA -type SorterRecord = SorterRecord1 /* sqlite3.c:96669:29 */ // A record being sorted +type SorterRecord = SorterRecord1 /* sqlite3.c:96682:29 */ // A record being sorted type SortSubtask1 = struct { FpThread uintptr FbDone int32 @@ -122292,14 +122309,14 @@ type SortSubtask1 = struct { } /* sqlite3.c:22082:9 */ // A record being sorted -type SortSubtask = SortSubtask1 /* sqlite3.c:96670:28 */ // A sub-task in the sort process +type SortSubtask = SortSubtask1 /* sqlite3.c:96683:28 */ // A sub-task in the sort process type SorterFile1 = struct { FpFd uintptr FiEof I64 } /* sqlite3.c:22082:9 */ // A sub-task in the sort process -type SorterFile = SorterFile1 /* sqlite3.c:96671:27 */ // Temporary file object wrapper +type SorterFile = SorterFile1 /* sqlite3.c:96684:27 */ // Temporary file object wrapper type SorterList1 = struct { FpList uintptr FaMemory uintptr @@ -122308,7 +122325,7 @@ type SorterList1 = struct { } /* sqlite3.c:22082:9 */ // Temporary file object wrapper -type SorterList = SorterList1 /* sqlite3.c:96672:27 */ // In-memory list of records +type SorterList = SorterList1 /* sqlite3.c:96685:27 */ // In-memory list of records type IncrMerger1 = struct { FpTask uintptr FpMerger uintptr @@ -122321,7 +122338,7 @@ type IncrMerger1 = struct { } /* sqlite3.c:22082:9 */ // In-memory list of records -type IncrMerger = IncrMerger1 /* sqlite3.c:96673:27 */ +type IncrMerger = IncrMerger1 /* sqlite3.c:96686:27 */ // This object represents a single thread of control in a sort operation. // Exactly VdbeSorter.nTask instances of this object are allocated @@ -122352,11 +122369,11 @@ type IncrMerger = IncrMerger1 /* sqlite3.c:96673:27 */ // In both cases, the effects of the main thread seeing (bDone==0) even // after the thread has finished are not dire. So we don't worry about // memory barriers and such here. -type SorterCompare = uintptr /* sqlite3.c:96800:13 */ +type SorterCompare = uintptr /* sqlite3.c:96813:13 */ // Free all memory belonging to the PmaReader object passed as the // argument. All structure fields are set to zero before returning. -func vdbePmaReaderClear(tls *libc.TLS, pReadr uintptr) { /* sqlite3.c:96975:13: */ +func vdbePmaReaderClear(tls *libc.TLS, pReadr uintptr) { /* sqlite3.c:96988:13: */ Xsqlite3_free(tls, (*PmaReader)(unsafe.Pointer(pReadr)).FaAlloc) Xsqlite3_free(tls, (*PmaReader)(unsafe.Pointer(pReadr)).FaBuffer) if (*PmaReader)(unsafe.Pointer(pReadr)).FaMap != 0 { @@ -122373,7 +122390,7 @@ func vdbePmaReaderClear(tls *libc.TLS, pReadr uintptr) { /* sqlite3.c:96975:13: // // The buffer returned in *ppOut is only valid until the // next call to this function. -func vdbePmaReadBlob(tls *libc.TLS, p uintptr, nByte int32, ppOut uintptr) int32 { /* sqlite3.c:96992:12: */ +func vdbePmaReadBlob(tls *libc.TLS, p uintptr, nByte int32, ppOut uintptr) int32 { /* sqlite3.c:97005:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -122477,7 +122494,7 @@ func vdbePmaReadBlob(tls *libc.TLS, p uintptr, nByte int32, ppOut uintptr) int32 // Read a varint from the stream of data accessed by p. Set *pnOut to // the value read. -func vdbePmaReadVarint(tls *libc.TLS, p uintptr, pnOut uintptr) int32 { /* sqlite3.c:97086:12: */ +func vdbePmaReadVarint(tls *libc.TLS, p uintptr, pnOut uintptr) int32 { /* sqlite3.c:97099:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -122517,7 +122534,7 @@ func vdbePmaReadVarint(tls *libc.TLS, p uintptr, pnOut uintptr) int32 { /* sqlit // // Or, if an error occurs, return an SQLite error code. The final value of // *pp is undefined in this case. -func vdbeSorterMapFile(tls *libc.TLS, pTask uintptr, pFile uintptr, pp uintptr) int32 { /* sqlite3.c:97119:12: */ +func vdbeSorterMapFile(tls *libc.TLS, pTask uintptr, pFile uintptr, pp uintptr) int32 { /* sqlite3.c:97132:12: */ var rc int32 = SQLITE_OK if (*SorterFile)(unsafe.Pointer(pFile)).FiEof <= I64((*Sqlite3)(unsafe.Pointer((*VdbeSorter)(unsafe.Pointer((*SortSubtask)(unsafe.Pointer(pTask)).FpSorter)).Fdb)).FnMaxSorterMmap) { var pFd uintptr = (*SorterFile)(unsafe.Pointer(pFile)).FpFd @@ -122532,7 +122549,7 @@ func vdbeSorterMapFile(tls *libc.TLS, pTask uintptr, pFile uintptr, pp uintptr) // Attach PmaReader pReadr to file pFile (if it is not already attached to // that file) and seek it to offset iOff within the file. Return SQLITE_OK // if successful, or an SQLite error code if an error occurs. -func vdbePmaReaderSeek(tls *libc.TLS, pTask uintptr, pReadr uintptr, pFile uintptr, iOff I64) int32 { /* sqlite3.c:97136:12: */ +func vdbePmaReaderSeek(tls *libc.TLS, pTask uintptr, pReadr uintptr, pFile uintptr, iOff I64) int32 { /* sqlite3.c:97149:12: */ var rc int32 = SQLITE_OK if Xsqlite3FaultSim(tls, 201) != 0 { @@ -122573,7 +122590,7 @@ func vdbePmaReaderSeek(tls *libc.TLS, pTask uintptr, pReadr uintptr, pFile uintp // Advance PmaReader pReadr to the next key in its PMA. Return SQLITE_OK if // no error occurs, or an SQLite error code if one does. -func vdbePmaReaderNext(tls *libc.TLS, pReadr uintptr) int32 { /* sqlite3.c:97183:12: */ +func vdbePmaReaderNext(tls *libc.TLS, pReadr uintptr) int32 { /* sqlite3.c:97196:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -122619,7 +122636,7 @@ func vdbePmaReaderNext(tls *libc.TLS, pReadr uintptr) int32 { /* sqlite3.c:97183 // // If the pnByte parameter is NULL, then it is assumed that the file // contains a single PMA, and that that PMA omits the initial length varint. -func vdbePmaReaderInit(tls *libc.TLS, pTask uintptr, pFile uintptr, iStart I64, pReadr uintptr, pnByte uintptr) int32 { /* sqlite3.c:97230:12: */ +func vdbePmaReaderInit(tls *libc.TLS, pTask uintptr, pFile uintptr, iStart I64, pReadr uintptr, pnByte uintptr) int32 { /* sqlite3.c:97243:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -122642,7 +122659,7 @@ func vdbePmaReaderInit(tls *libc.TLS, pTask uintptr, pFile uintptr, iStart I64, // A version of vdbeSorterCompare() that assumes that it has already been // determined that the first field of key1 is equal to the first field of // key2. -func vdbeSorterCompareTail(tls *libc.TLS, pTask uintptr, pbKey2Cached uintptr, pKey1 uintptr, nKey1 int32, pKey2 uintptr, nKey2 int32) int32 { /* sqlite3.c:97263:12: */ +func vdbeSorterCompareTail(tls *libc.TLS, pTask uintptr, pbKey2Cached uintptr, pKey1 uintptr, nKey1 int32, pKey2 uintptr, nKey2 int32) int32 { /* sqlite3.c:97276:12: */ var r2 uintptr = (*SortSubtask)(unsafe.Pointer(pTask)).FpUnpacked if *(*int32)(unsafe.Pointer(pbKey2Cached)) == 0 { Xsqlite3VdbeRecordUnpack(tls, (*VdbeSorter)(unsafe.Pointer((*SortSubtask)(unsafe.Pointer(pTask)).FpSorter)).FpKeyInfo, nKey2, pKey2, r2) @@ -122662,7 +122679,7 @@ func vdbeSorterCompareTail(tls *libc.TLS, pTask uintptr, pbKey2Cached uintptr, p // // If an OOM error is encountered, (pTask->pUnpacked->error_rc) is set // to SQLITE_NOMEM. -func vdbeSorterCompare(tls *libc.TLS, pTask uintptr, pbKey2Cached uintptr, pKey1 uintptr, nKey1 int32, pKey2 uintptr, nKey2 int32) int32 { /* sqlite3.c:97290:12: */ +func vdbeSorterCompare(tls *libc.TLS, pTask uintptr, pbKey2Cached uintptr, pKey1 uintptr, nKey1 int32, pKey2 uintptr, nKey2 int32) int32 { /* sqlite3.c:97303:12: */ var r2 uintptr = (*SortSubtask)(unsafe.Pointer(pTask)).FpUnpacked if !(*(*int32)(unsafe.Pointer(pbKey2Cached)) != 0) { Xsqlite3VdbeRecordUnpack(tls, (*VdbeSorter)(unsafe.Pointer((*SortSubtask)(unsafe.Pointer(pTask)).FpSorter)).FpKeyInfo, nKey2, pKey2, r2) @@ -122674,7 +122691,7 @@ func vdbeSorterCompare(tls *libc.TLS, pTask uintptr, pbKey2Cached uintptr, pKey1 // A specially optimized version of vdbeSorterCompare() that assumes that // the first field of each key is a TEXT value and that the collation // sequence to compare them with is BINARY. -func vdbeSorterCompareText(tls *libc.TLS, pTask uintptr, pbKey2Cached uintptr, pKey1 uintptr, nKey1 int32, pKey2 uintptr, nKey2 int32) int32 { /* sqlite3.c:97309:12: */ +func vdbeSorterCompareText(tls *libc.TLS, pTask uintptr, pbKey2Cached uintptr, pKey1 uintptr, nKey1 int32, pKey2 uintptr, nKey2 int32) int32 { /* sqlite3.c:97322:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -122724,7 +122741,7 @@ func vdbeSorterCompareText(tls *libc.TLS, pTask uintptr, pbKey2Cached uintptr, p // A specially optimized version of vdbeSorterCompare() that assumes that // the first field of each key is an INTEGER value. -func vdbeSorterCompareInt(tls *libc.TLS, pTask uintptr, pbKey2Cached uintptr, pKey1 uintptr, nKey1 int32, pKey2 uintptr, nKey2 int32) int32 { /* sqlite3.c:97351:12: */ +func vdbeSorterCompareInt(tls *libc.TLS, pTask uintptr, pbKey2Cached uintptr, pKey1 uintptr, nKey1 int32, pKey2 uintptr, nKey2 int32) int32 { /* sqlite3.c:97364:12: */ var p1 uintptr = pKey1 var p2 uintptr = pKey2 var s1 int32 = int32(*(*U8)(unsafe.Pointer(p1 + 1))) // Left hand serial type @@ -122784,7 +122801,7 @@ func vdbeSorterCompareInt(tls *libc.TLS, pTask uintptr, pbKey2Cached uintptr, pK return res } -var aLen = [10]U8{U8(0), U8(1), U8(2), U8(3), U8(4), U8(6), U8(8), U8(0), U8(0), U8(0)} /* sqlite3.c:97370:21 */ +var aLen = [10]U8{U8(0), U8(1), U8(2), U8(3), U8(4), U8(6), U8(8), U8(0), U8(0), U8(0)} /* sqlite3.c:97383:21 */ // Initialize the temporary index cursor just opened as a sorter cursor. // @@ -122803,7 +122820,7 @@ var aLen = [10]U8{U8(0), U8(1), U8(2), U8(3), U8(4), U8(6), U8(8), U8(0), U8(0), // mode, but not in multi-threaded mode. // // SQLITE_OK is returned if successful, or an SQLite error code otherwise. -func Xsqlite3VdbeSorterInit(tls *libc.TLS, db uintptr, nField int32, pCsr uintptr) int32 { /* sqlite3.c:97434:20: */ +func Xsqlite3VdbeSorterInit(tls *libc.TLS, db uintptr, nField int32, pCsr uintptr) int32 { /* sqlite3.c:97447:20: */ var pgsz int32 // Page size of main database var i int32 // Used to iterate through aTask[] var pSorter uintptr // The new sorter @@ -122899,7 +122916,7 @@ func Xsqlite3VdbeSorterInit(tls *libc.TLS, db uintptr, nField int32, pCsr uintpt } // Free the list of sorted records starting at pRecord. -func vdbeSorterRecordFree(tls *libc.TLS, db uintptr, pRecord uintptr) { /* sqlite3.c:97540:13: */ +func vdbeSorterRecordFree(tls *libc.TLS, db uintptr, pRecord uintptr) { /* sqlite3.c:97553:13: */ var p uintptr var pNext uintptr for p = pRecord; p != 0; p = pNext { @@ -122910,7 +122927,7 @@ func vdbeSorterRecordFree(tls *libc.TLS, db uintptr, pRecord uintptr) { /* sqlit // Free all resources owned by the object indicated by argument pTask. All // fields of *pTask are zeroed before returning. -func vdbeSortSubtaskCleanup(tls *libc.TLS, db uintptr, pTask uintptr) { /* sqlite3.c:97553:13: */ +func vdbeSortSubtaskCleanup(tls *libc.TLS, db uintptr, pTask uintptr) { /* sqlite3.c:97566:13: */ Xsqlite3DbFree(tls, db, (*SortSubtask)(unsafe.Pointer(pTask)).FpUnpacked) // pTask->list.aMemory can only be non-zero if it was handed memory // from the main thread. That only occurs SQLITE_MAX_WORKER_THREADS>0 @@ -122930,7 +122947,7 @@ func vdbeSortSubtaskCleanup(tls *libc.TLS, db uintptr, pTask uintptr) { /* sqlit } // Join thread pTask->thread. -func vdbeSorterJoinThread(tls *libc.TLS, pTask uintptr) int32 { /* sqlite3.c:97619:12: */ +func vdbeSorterJoinThread(tls *libc.TLS, pTask uintptr) int32 { /* sqlite3.c:97632:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -122949,14 +122966,14 @@ func vdbeSorterJoinThread(tls *libc.TLS, pTask uintptr) int32 { /* sqlite3.c:976 } // Launch a background thread to run xTask(pIn). -func vdbeSorterCreateThread(tls *libc.TLS, pTask uintptr, xTask uintptr, pIn uintptr) int32 { /* sqlite3.c:97640:12: */ +func vdbeSorterCreateThread(tls *libc.TLS, pTask uintptr, xTask uintptr, pIn uintptr) int32 { /* sqlite3.c:97653:12: */ return Xsqlite3ThreadCreate(tls, pTask, xTask, pIn) } // Join all outstanding threads launched by SorterWrite() to create // level-0 PMAs. -func vdbeSorterJoinAll(tls *libc.TLS, pSorter uintptr, rcin int32) int32 { /* sqlite3.c:97653:12: */ +func vdbeSorterJoinAll(tls *libc.TLS, pSorter uintptr, rcin int32) int32 { /* sqlite3.c:97666:12: */ var rc int32 = rcin var i int32 @@ -122982,7 +122999,7 @@ func vdbeSorterJoinAll(tls *libc.TLS, pSorter uintptr, rcin int32) int32 { /* sq // // nReader is automatically rounded up to the next power of two. // nReader may not exceed SORTER_MAX_MERGE_COUNT even after rounding up. -func vdbeMergeEngineNew(tls *libc.TLS, nReader int32) uintptr { /* sqlite3.c:97683:20: */ +func vdbeMergeEngineNew(tls *libc.TLS, nReader int32) uintptr { /* sqlite3.c:97696:20: */ var N int32 = 2 // Smallest power of two >= nReader var nByte int32 // Total bytes of space to allocate var pNew uintptr // Pointer to allocated object to return @@ -123007,7 +123024,7 @@ func vdbeMergeEngineNew(tls *libc.TLS, nReader int32) uintptr { /* sqlite3.c:976 } // Free the MergeEngine object passed as the only argument. -func vdbeMergeEngineFree(tls *libc.TLS, pMerger uintptr) { /* sqlite3.c:97706:13: */ +func vdbeMergeEngineFree(tls *libc.TLS, pMerger uintptr) { /* sqlite3.c:97719:13: */ var i int32 if pMerger != 0 { for i = 0; i < (*MergeEngine)(unsafe.Pointer(pMerger)).FnTree; i++ { @@ -123019,7 +123036,7 @@ func vdbeMergeEngineFree(tls *libc.TLS, pMerger uintptr) { /* sqlite3.c:97706:13 // Free all resources associated with the IncrMerger object indicated by // the first argument. -func vdbeIncrFree(tls *libc.TLS, pIncr uintptr) { /* sqlite3.c:97720:13: */ +func vdbeIncrFree(tls *libc.TLS, pIncr uintptr) { /* sqlite3.c:97733:13: */ if pIncr != 0 { if (*IncrMerger)(unsafe.Pointer(pIncr)).FbUseThread != 0 { vdbeSorterJoinThread(tls, (*IncrMerger)(unsafe.Pointer(pIncr)).FpTask) @@ -123036,7 +123053,7 @@ func vdbeIncrFree(tls *libc.TLS, pIncr uintptr) { /* sqlite3.c:97720:13: */ } // Reset a sorting cursor back to its original empty state. -func Xsqlite3VdbeSorterReset(tls *libc.TLS, db uintptr, pSorter uintptr) { /* sqlite3.c:97737:21: */ +func Xsqlite3VdbeSorterReset(tls *libc.TLS, db uintptr, pSorter uintptr) { /* sqlite3.c:97750:21: */ var i int32 vdbeSorterJoinAll(tls, pSorter, SQLITE_OK) @@ -123065,7 +123082,7 @@ func Xsqlite3VdbeSorterReset(tls *libc.TLS, db uintptr, pSorter uintptr) { /* sq } // Free any cursor components allocated by sqlite3VdbeSorterXXX routines. -func Xsqlite3VdbeSorterClose(tls *libc.TLS, db uintptr, pCsr uintptr) { /* sqlite3.c:97770:21: */ +func Xsqlite3VdbeSorterClose(tls *libc.TLS, db uintptr, pCsr uintptr) { /* sqlite3.c:97783:21: */ var pSorter uintptr pSorter = *(*uintptr)(unsafe.Pointer(pCsr + 48)) @@ -123084,7 +123101,7 @@ func Xsqlite3VdbeSorterClose(tls *libc.TLS, db uintptr, pCsr uintptr) { /* sqlit // // Whether or not the file does end up memory mapped of course depends on // the specific VFS implementation. -func vdbeSorterExtendFile(tls *libc.TLS, db uintptr, pFd uintptr, nByte I64) { /* sqlite3.c:97792:13: */ +func vdbeSorterExtendFile(tls *libc.TLS, db uintptr, pFd uintptr, nByte I64) { /* sqlite3.c:97805:13: */ bp := tls.Alloc(24) defer tls.Free(24) *(*I64)(unsafe.Pointer(bp + 8)) = nByte @@ -123104,7 +123121,7 @@ func vdbeSorterExtendFile(tls *libc.TLS, db uintptr, pFd uintptr, nByte I64) { / // Allocate space for a file-handle and open a temporary file. If successful, // set *ppFd to point to the malloc'd file-handle and return SQLITE_OK. // Otherwise, set *ppFd to 0 and return an SQLite error code. -func vdbeSorterOpenTempFile(tls *libc.TLS, db uintptr, nExtend I64, ppFd uintptr) int32 { /* sqlite3.c:97811:12: */ +func vdbeSorterOpenTempFile(tls *libc.TLS, db uintptr, nExtend I64, ppFd uintptr) int32 { /* sqlite3.c:97824:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -123128,7 +123145,7 @@ func vdbeSorterOpenTempFile(tls *libc.TLS, db uintptr, nExtend I64, ppFd uintptr // If it has not already been allocated, allocate the UnpackedRecord // structure at pTask->pUnpacked. Return SQLITE_OK if successful (or // if no allocation was required), or SQLITE_NOMEM otherwise. -func vdbeSortAllocUnpacked(tls *libc.TLS, pTask uintptr) int32 { /* sqlite3.c:97838:12: */ +func vdbeSortAllocUnpacked(tls *libc.TLS, pTask uintptr) int32 { /* sqlite3.c:97851:12: */ if (*SortSubtask)(unsafe.Pointer(pTask)).FpUnpacked == uintptr(0) { (*SortSubtask)(unsafe.Pointer(pTask)).FpUnpacked = Xsqlite3VdbeAllocUnpackedRecord(tls, (*VdbeSorter)(unsafe.Pointer((*SortSubtask)(unsafe.Pointer(pTask)).FpSorter)).FpKeyInfo) if (*SortSubtask)(unsafe.Pointer(pTask)).FpUnpacked == uintptr(0) { @@ -123141,7 +123158,7 @@ func vdbeSortAllocUnpacked(tls *libc.TLS, pTask uintptr) int32 { /* sqlite3.c:97 } // Merge the two sorted lists p1 and p2 into a single list. -func vdbeSorterMerge(tls *libc.TLS, pTask uintptr, p1 uintptr, p2 uintptr) uintptr { /* sqlite3.c:97852:21: */ +func vdbeSorterMerge(tls *libc.TLS, pTask uintptr, p1 uintptr, p2 uintptr) uintptr { /* sqlite3.c:97865:21: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -123180,7 +123197,7 @@ func vdbeSorterMerge(tls *libc.TLS, pTask uintptr, p1 uintptr, p2 uintptr) uintp // Return the SorterCompare function to compare values collected by the // sorter object passed as the only argument. -func vdbeSorterGetCompare(tls *libc.TLS, p uintptr) SorterCompare { /* sqlite3.c:97894:22: */ +func vdbeSorterGetCompare(tls *libc.TLS, p uintptr) SorterCompare { /* sqlite3.c:97907:22: */ if int32((*VdbeSorter)(unsafe.Pointer(p)).FtypeMask) == SORTER_TYPE_INTEGER { return *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr, int32) int32 @@ -123198,7 +123215,7 @@ func vdbeSorterGetCompare(tls *libc.TLS, p uintptr) SorterCompare { /* sqlite3.c // Sort the linked list of records headed at pTask->pList. Return // SQLITE_OK if successful, or an SQLite error code (i.e. SQLITE_NOMEM) if // an error occurs. -func vdbeSorterSort(tls *libc.TLS, pTask uintptr, pList uintptr) int32 { /* sqlite3.c:97908:12: */ +func vdbeSorterSort(tls *libc.TLS, pTask uintptr, pList uintptr) int32 { /* sqlite3.c:97921:12: */ bp := tls.Alloc(512) defer tls.Free(512) @@ -123255,7 +123272,7 @@ func vdbeSorterSort(tls *libc.TLS, pTask uintptr, pList uintptr) int32 { /* sqli } // Initialize a PMA-writer object. -func vdbePmaWriterInit(tls *libc.TLS, pFd uintptr, p uintptr, nBuf int32, iStart I64) { /* sqlite3.c:97959:13: */ +func vdbePmaWriterInit(tls *libc.TLS, pFd uintptr, p uintptr, nBuf int32, iStart I64) { /* sqlite3.c:97972:13: */ libc.Xmemset(tls, p, 0, uint64(unsafe.Sizeof(PmaWriter{}))) (*PmaWriter)(unsafe.Pointer(p)).FaBuffer = Xsqlite3Malloc(tls, uint64(nBuf)) if !(int32((*PmaWriter)(unsafe.Pointer(p)).FaBuffer) != 0) { @@ -123270,7 +123287,7 @@ func vdbePmaWriterInit(tls *libc.TLS, pFd uintptr, p uintptr, nBuf int32, iStart // Write nData bytes of data to the PMA. Return SQLITE_OK // if successful, or an SQLite error code if an error occurs. -func vdbePmaWriteBlob(tls *libc.TLS, p uintptr, pData uintptr, nData int32) { /* sqlite3.c:97981:13: */ +func vdbePmaWriteBlob(tls *libc.TLS, p uintptr, pData uintptr, nData int32) { /* sqlite3.c:97994:13: */ var nRem int32 = nData for nRem > 0 && (*PmaWriter)(unsafe.Pointer(p)).FeFWErr == 0 { var nCopy int32 = nRem @@ -123299,7 +123316,7 @@ func vdbePmaWriteBlob(tls *libc.TLS, p uintptr, pData uintptr, nData int32) { /* // // Before returning, set *piEof to the offset immediately following the // last byte written to the file. -func vdbePmaWriterFinish(tls *libc.TLS, p uintptr, piEof uintptr) int32 { /* sqlite3.c:98014:12: */ +func vdbePmaWriterFinish(tls *libc.TLS, p uintptr, piEof uintptr) int32 { /* sqlite3.c:98027:12: */ var rc int32 if (*PmaWriter)(unsafe.Pointer(p)).FeFWErr == 0 && (*PmaWriter)(unsafe.Pointer(p)).FaBuffer != 0 && (*PmaWriter)(unsafe.Pointer(p)).FiBufEnd > (*PmaWriter)(unsafe.Pointer(p)).FiBufStart { (*PmaWriter)(unsafe.Pointer(p)).FeFWErr = Xsqlite3OsWrite(tls, (*PmaWriter)(unsafe.Pointer(p)).FpFd, @@ -123315,7 +123332,7 @@ func vdbePmaWriterFinish(tls *libc.TLS, p uintptr, piEof uintptr) int32 { /* sql // Write value iVal encoded as a varint to the PMA. Return // SQLITE_OK if successful, or an SQLite error code if an error occurs. -func vdbePmaWriteVarint(tls *libc.TLS, p uintptr, iVal U64) { /* sqlite3.c:98033:13: */ +func vdbePmaWriteVarint(tls *libc.TLS, p uintptr, iVal U64) { /* sqlite3.c:98046:13: */ bp := tls.Alloc(10) defer tls.Free(10) @@ -123338,7 +123355,7 @@ func vdbePmaWriteVarint(tls *libc.TLS, p uintptr, iVal U64) { /* sqlite3.c:98033 // * One or more records packed end-to-end in order of ascending keys. // Each record consists of a varint followed by a blob of data (the // key). The varint is the number of bytes in the blob of data. -func vdbeSorterListToPMA(tls *libc.TLS, pTask uintptr, pList uintptr) int32 { /* sqlite3.c:98054:12: */ +func vdbeSorterListToPMA(tls *libc.TLS, pTask uintptr, pList uintptr) int32 { /* sqlite3.c:98067:12: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -123393,7 +123410,7 @@ func vdbeSorterListToPMA(tls *libc.TLS, pTask uintptr, pList uintptr) int32 { /* // the MergeEngine has reached the end of all its inputs. // // Return SQLITE_OK if successful or an error code if an error occurs. -func vdbeMergeEngineStep(tls *libc.TLS, pMerger uintptr, pbEof uintptr) int32 { /* sqlite3.c:98118:12: */ +func vdbeMergeEngineStep(tls *libc.TLS, pMerger uintptr, pbEof uintptr) int32 { /* sqlite3.c:98131:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -123469,7 +123486,7 @@ func vdbeMergeEngineStep(tls *libc.TLS, pMerger uintptr, pbEof uintptr) int32 { } // The main routine for background threads that write level-0 PMAs. -func vdbeSorterFlushThread(tls *libc.TLS, pCtx uintptr) uintptr { /* sqlite3.c:98189:13: */ +func vdbeSorterFlushThread(tls *libc.TLS, pCtx uintptr) uintptr { /* sqlite3.c:98202:13: */ var pTask uintptr = pCtx var rc int32 // Return code @@ -123480,7 +123497,7 @@ func vdbeSorterFlushThread(tls *libc.TLS, pCtx uintptr) uintptr { /* sqlite3.c:9 // Flush the current contents of VdbeSorter.list to a new PMA, possibly // using a background thread. -func vdbeSorterFlushPMA(tls *libc.TLS, pSorter uintptr) int32 { /* sqlite3.c:98203:12: */ +func vdbeSorterFlushPMA(tls *libc.TLS, pSorter uintptr) int32 { /* sqlite3.c:98216:12: */ var rc int32 = SQLITE_OK var i int32 var pTask uintptr = uintptr(0) // Thread context used to create new PMA @@ -123544,7 +123561,7 @@ func vdbeSorterFlushPMA(tls *libc.TLS, pSorter uintptr) int32 { /* sqlite3.c:982 } // Add a record to the sorter. -func Xsqlite3VdbeSorterWrite(tls *libc.TLS, pCsr uintptr, pVal uintptr) int32 { /* sqlite3.c:98273:20: */ +func Xsqlite3VdbeSorterWrite(tls *libc.TLS, pCsr uintptr, pVal uintptr) int32 { /* sqlite3.c:98286:20: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -123660,7 +123677,7 @@ func Xsqlite3VdbeSorterWrite(tls *libc.TLS, pCsr uintptr, pVal uintptr) int32 { // Read keys from pIncr->pMerger and populate pIncr->aFile[1]. The format // of the data stored in aFile[1] is the same as that used by regular PMAs, // except that the number-of-bytes varint is omitted from the start. -func vdbeIncrPopulate(tls *libc.TLS, pIncr uintptr) int32 { /* sqlite3.c:98385:12: */ +func vdbeIncrPopulate(tls *libc.TLS, pIncr uintptr) int32 { /* sqlite3.c:98398:12: */ bp := tls.Alloc(52) defer tls.Free(52) @@ -123706,7 +123723,7 @@ func vdbeIncrPopulate(tls *libc.TLS, pIncr uintptr) int32 { /* sqlite3.c:98385:1 // The main routine for background threads that populate aFile[1] of // multi-threaded IncrMerger objects. -func vdbeIncrPopulateThread(tls *libc.TLS, pCtx uintptr) uintptr { /* sqlite3.c:98427:13: */ +func vdbeIncrPopulateThread(tls *libc.TLS, pCtx uintptr) uintptr { /* sqlite3.c:98440:13: */ var pIncr uintptr = pCtx var pRet uintptr = uintptr(int64(vdbeIncrPopulate(tls, pIncr))) (*SortSubtask)(unsafe.Pointer((*IncrMerger)(unsafe.Pointer(pIncr)).FpTask)).FbDone = 1 @@ -123714,7 +123731,7 @@ func vdbeIncrPopulateThread(tls *libc.TLS, pCtx uintptr) uintptr { /* sqlite3.c: } // Launch a background thread to populate aFile[1] of pIncr. -func vdbeIncrBgPopulate(tls *libc.TLS, pIncr uintptr) int32 { /* sqlite3.c:98437:12: */ +func vdbeIncrBgPopulate(tls *libc.TLS, pIncr uintptr) int32 { /* sqlite3.c:98450:12: */ var p uintptr = pIncr return vdbeSorterCreateThread(tls, (*IncrMerger)(unsafe.Pointer(pIncr)).FpTask, *(*uintptr)(unsafe.Pointer(&struct { @@ -123737,7 +123754,7 @@ func vdbeIncrBgPopulate(tls *libc.TLS, pIncr uintptr) int32 { /* sqlite3.c:98437 // to populate the new aFile[1]. // // SQLITE_OK is returned on success, or an SQLite error code otherwise. -func vdbeIncrSwap(tls *libc.TLS, pIncr uintptr) int32 { /* sqlite3.c:98461:12: */ +func vdbeIncrSwap(tls *libc.TLS, pIncr uintptr) int32 { /* sqlite3.c:98474:12: */ var rc int32 = SQLITE_OK if (*IncrMerger)(unsafe.Pointer(pIncr)).FbUseThread != 0 { @@ -123771,7 +123788,7 @@ func vdbeIncrSwap(tls *libc.TLS, pIncr uintptr) int32 { /* sqlite3.c:98461:12: * // // If an OOM condition is encountered, return NULL. In this case free the // pMerger argument before returning. -func vdbeIncrMergerNew(tls *libc.TLS, pTask uintptr, pMerger uintptr, ppOut uintptr) int32 { /* sqlite3.c:98500:12: */ +func vdbeIncrMergerNew(tls *libc.TLS, pTask uintptr, pMerger uintptr, ppOut uintptr) int32 { /* sqlite3.c:98513:12: */ var rc int32 = SQLITE_OK var pIncr uintptr = libc.AssignPtrUintptr(ppOut, func() uintptr { if Xsqlite3FaultSim(tls, 100) != 0 { @@ -123798,7 +123815,7 @@ func vdbeIncrMergerNew(tls *libc.TLS, pTask uintptr, pMerger uintptr, ppOut uint } // Set the "use-threads" flag on object pIncr. -func vdbeIncrMergerSetThreads(tls *libc.TLS, pIncr uintptr) { /* sqlite3.c:98525:13: */ +func vdbeIncrMergerSetThreads(tls *libc.TLS, pIncr uintptr) { /* sqlite3.c:98538:13: */ (*IncrMerger)(unsafe.Pointer(pIncr)).FbUseThread = 1 *(*I64)(unsafe.Pointer((*IncrMerger)(unsafe.Pointer(pIncr)).FpTask + 88 + 8)) -= I64((*IncrMerger)(unsafe.Pointer(pIncr)).FmxSz) } @@ -123806,7 +123823,7 @@ func vdbeIncrMergerSetThreads(tls *libc.TLS, pIncr uintptr) { /* sqlite3.c:98525 // Recompute pMerger->aTree[iOut] by comparing the next keys on the // two PmaReaders that feed that entry. Neither of the PmaReaders // are advanced. This routine merely does the comparison. -func vdbeMergeEngineCompare(tls *libc.TLS, pMerger uintptr, iOut int32) { /* sqlite3.c:98538:13: */ +func vdbeMergeEngineCompare(tls *libc.TLS, pMerger uintptr, iOut int32) { /* sqlite3.c:98551:13: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -123866,7 +123883,7 @@ func vdbeMergeEngineCompare(tls *libc.TLS, pMerger uintptr, iOut int32) { /* sql // to pMerger. // // SQLITE_OK is returned if successful, or an SQLite error code otherwise. -func vdbeMergeEngineInit(tls *libc.TLS, pTask uintptr, pMerger uintptr, eMode int32) int32 { /* sqlite3.c:98620:12: */ +func vdbeMergeEngineInit(tls *libc.TLS, pTask uintptr, pMerger uintptr, eMode int32) int32 { /* sqlite3.c:98633:12: */ var rc int32 = SQLITE_OK // Return code var i int32 // For looping over PmaReader objects var nTree int32 // Number of subtrees to merge @@ -123936,7 +123953,7 @@ func vdbeMergeEngineInit(tls *libc.TLS, pTask uintptr, pMerger uintptr, eMode in // the current PmaReader set to point to the first key in its range. // // SQLITE_OK is returned if successful, or an SQLite error code otherwise. -func vdbePmaReaderIncrMergeInit(tls *libc.TLS, pReadr uintptr, eMode int32) int32 { /* sqlite3.c:98696:12: */ +func vdbePmaReaderIncrMergeInit(tls *libc.TLS, pReadr uintptr, eMode int32) int32 { /* sqlite3.c:98709:12: */ var rc int32 = SQLITE_OK var pIncr uintptr = (*PmaReader)(unsafe.Pointer(pReadr)).FpIncr var pTask uintptr = (*IncrMerger)(unsafe.Pointer(pIncr)).FpTask @@ -123993,7 +124010,7 @@ func vdbePmaReaderIncrMergeInit(tls *libc.TLS, pReadr uintptr, eMode int32) int3 // The main routine for vdbePmaReaderIncrMergeInit() operations run in // background threads. -func vdbePmaReaderBgIncrInit(tls *libc.TLS, pCtx uintptr) uintptr { /* sqlite3.c:98763:13: */ +func vdbePmaReaderBgIncrInit(tls *libc.TLS, pCtx uintptr) uintptr { /* sqlite3.c:98776:13: */ var pReader uintptr = pCtx var pRet uintptr = uintptr(int64(vdbePmaReaderIncrMergeInit(tls, pReader, INCRINIT_TASK))) (*SortSubtask)(unsafe.Pointer((*IncrMerger)(unsafe.Pointer((*PmaReader)(unsafe.Pointer(pReader)).FpIncr)).FpTask)).FbDone = 1 @@ -124009,7 +124026,7 @@ func vdbePmaReaderBgIncrInit(tls *libc.TLS, pCtx uintptr) uintptr { /* sqlite3.c // then a background thread is launched to call vdbePmaReaderIncrMergeInit(). // Or, if the IncrMerger is single threaded, the same function is called // using the current thread. -func vdbePmaReaderIncrInit(tls *libc.TLS, pReadr uintptr, eMode int32) int32 { /* sqlite3.c:98784:12: */ +func vdbePmaReaderIncrInit(tls *libc.TLS, pReadr uintptr, eMode int32) int32 { /* sqlite3.c:98797:12: */ var pIncr uintptr = (*PmaReader)(unsafe.Pointer(pReadr)).FpIncr // Incremental merger var rc int32 = SQLITE_OK // Return code if pIncr != 0 { @@ -124036,7 +124053,7 @@ func vdbePmaReaderIncrInit(tls *libc.TLS, pReadr uintptr, eMode int32) int32 { / // set to the offset immediately following the last byte of the last // PMA before returning. If an error does occur, then the final value of // *piOffset is undefined. -func vdbeMergeEngineLevel0(tls *libc.TLS, pTask uintptr, nPMA int32, piOffset uintptr, ppOut uintptr) int32 { /* sqlite3.c:98814:12: */ +func vdbeMergeEngineLevel0(tls *libc.TLS, pTask uintptr, nPMA int32, piOffset uintptr, ppOut uintptr) int32 { /* sqlite3.c:98827:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -124073,7 +124090,7 @@ func vdbeMergeEngineLevel0(tls *libc.TLS, pTask uintptr, nPMA int32, piOffset ui // nPMA<=16 -> TreeDepth() == 0 // nPMA<=256 -> TreeDepth() == 1 // nPMA<=65536 -> TreeDepth() == 2 -func vdbeSorterTreeDepth(tls *libc.TLS, nPMA int32) int32 { /* sqlite3.c:98853:12: */ +func vdbeSorterTreeDepth(tls *libc.TLS, nPMA int32) int32 { /* sqlite3.c:98866:12: */ var nDepth int32 = 0 var nDiv I64 = int64(SORTER_MAX_MERGE_COUNT) for nDiv < I64(nPMA) { @@ -124089,7 +124106,7 @@ func vdbeSorterTreeDepth(tls *libc.TLS, nPMA int32) int32 { /* sqlite3.c:98853:1 // // If successful, SQLITE_OK is returned. If an error occurs, an SQLite error // code is returned and pLeaf is freed. -func vdbeSorterAddToTree(tls *libc.TLS, pTask uintptr, nDepth int32, iSeq int32, pRoot uintptr, pLeaf uintptr) int32 { /* sqlite3.c:98871:12: */ +func vdbeSorterAddToTree(tls *libc.TLS, pTask uintptr, nDepth int32, iSeq int32, pRoot uintptr, pLeaf uintptr) int32 { /* sqlite3.c:98884:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -124140,7 +124157,7 @@ func vdbeSorterAddToTree(tls *libc.TLS, pTask uintptr, nDepth int32, iSeq int32, // MergeEngine object at the root of the tree before returning. Or, if an // error occurs, an SQLite error code is returned and the final value // of *ppOut is undefined. -func vdbeSorterMergeTreeBuild(tls *libc.TLS, pSorter uintptr, ppOut uintptr) int32 { /* sqlite3.c:98927:12: */ +func vdbeSorterMergeTreeBuild(tls *libc.TLS, pSorter uintptr, ppOut uintptr) int32 { /* sqlite3.c:98940:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -124221,7 +124238,7 @@ func vdbeSorterMergeTreeBuild(tls *libc.TLS, pSorter uintptr, ppOut uintptr) int // all records stored in the sorter. // // SQLITE_OK is returned if successful, or an SQLite error code otherwise. -func vdbeSorterSetupMerge(tls *libc.TLS, pSorter uintptr) int32 { /* sqlite3.c:99006:12: */ +func vdbeSorterSetupMerge(tls *libc.TLS, pSorter uintptr) int32 { /* sqlite3.c:99019:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -124296,7 +124313,7 @@ func vdbeSorterSetupMerge(tls *libc.TLS, pSorter uintptr) int32 { /* sqlite3.c:9 // Once the sorter has been populated by calls to sqlite3VdbeSorterWrite, // this function is called to prepare for iterating through the records // in sorted order. -func Xsqlite3VdbeSorterRewind(tls *libc.TLS, pCsr uintptr, pbEof uintptr) int32 { /* sqlite3.c:99088:20: */ +func Xsqlite3VdbeSorterRewind(tls *libc.TLS, pCsr uintptr, pbEof uintptr) int32 { /* sqlite3.c:99101:20: */ var pSorter uintptr var rc int32 = SQLITE_OK // Return code @@ -124341,7 +124358,7 @@ func Xsqlite3VdbeSorterRewind(tls *libc.TLS, pCsr uintptr, pbEof uintptr) int32 // SQLITE_OK success // SQLITE_DONE end of data // otherwise some kind of error. -func Xsqlite3VdbeSorterNext(tls *libc.TLS, db uintptr, pCsr uintptr) int32 { /* sqlite3.c:99140:20: */ +func Xsqlite3VdbeSorterNext(tls *libc.TLS, db uintptr, pCsr uintptr) int32 { /* sqlite3.c:99153:20: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -124383,7 +124400,7 @@ func Xsqlite3VdbeSorterNext(tls *libc.TLS, db uintptr, pCsr uintptr) int32 { /* // Return a pointer to a buffer owned by the sorter that contains the // current key. -func vdbeSorterRowkey(tls *libc.TLS, pSorter uintptr, pnKey uintptr) uintptr { /* sqlite3.c:99178:13: */ +func vdbeSorterRowkey(tls *libc.TLS, pSorter uintptr, pnKey uintptr) uintptr { /* sqlite3.c:99191:13: */ var pKey uintptr if (*VdbeSorter)(unsafe.Pointer(pSorter)).FbUsePMA != 0 { var pReader uintptr @@ -124402,7 +124419,7 @@ func vdbeSorterRowkey(tls *libc.TLS, pSorter uintptr, pnKey uintptr) uintptr { / } // Copy the current sorter key into the memory cell pOut. -func Xsqlite3VdbeSorterRowkey(tls *libc.TLS, pCsr uintptr, pOut uintptr) int32 { /* sqlite3.c:99205:20: */ +func Xsqlite3VdbeSorterRowkey(tls *libc.TLS, pCsr uintptr, pOut uintptr) int32 { /* sqlite3.c:99218:20: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -124437,7 +124454,7 @@ func Xsqlite3VdbeSorterRowkey(tls *libc.TLS, pCsr uintptr, pOut uintptr) int32 { // // This routine forms the core of the OP_SorterCompare opcode, which in // turn is used to verify uniqueness when constructing a UNIQUE INDEX. -func Xsqlite3VdbeSorterCompare(tls *libc.TLS, pCsr uintptr, pVal uintptr, nKeyCol int32, pRes uintptr) int32 { /* sqlite3.c:99238:20: */ +func Xsqlite3VdbeSorterCompare(tls *libc.TLS, pCsr uintptr, pVal uintptr, nKeyCol int32, pRes uintptr) int32 { /* sqlite3.c:99251:20: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -124529,7 +124546,7 @@ type MemJournal1 = struct { F__ccgo_pad1 [4]byte FpVfs uintptr FzJournal uintptr -} /* sqlite3.c:99731:9 */ +} /* sqlite3.c:99744:9 */ //************* End of vdbesort.c ******************************************* //************* Begin file vdbevtab.c *************************************** @@ -124576,23 +124593,23 @@ type MemJournal1 = struct { // #include "sqliteInt.h" // Forward references to internal structures -type MemJournal = MemJournal1 /* sqlite3.c:99731:27 */ +type MemJournal = MemJournal1 /* sqlite3.c:99744:27 */ type FilePoint1 = struct { FiOffset Sqlite3_int64 FpChunk uintptr -} /* sqlite3.c:99731:9 */ +} /* sqlite3.c:99744:9 */ -type FilePoint = FilePoint1 /* sqlite3.c:99732:26 */ +type FilePoint = FilePoint1 /* sqlite3.c:99745:26 */ type FileChunk1 = struct { FpNext uintptr FzChunk [8]U8 -} /* sqlite3.c:99731:9 */ +} /* sqlite3.c:99744:9 */ -type FileChunk = FileChunk1 /* sqlite3.c:99733:26 */ +type FileChunk = FileChunk1 /* sqlite3.c:99746:26 */ // Read data from the in-memory journal file. This is the implementation // of the sqlite3_vfs.xRead method. -func memjrnlRead(tls *libc.TLS, pJfd uintptr, zBuf uintptr, iAmt int32, iOfst Sqlite_int64) int32 { /* sqlite3.c:99788:12: */ +func memjrnlRead(tls *libc.TLS, pJfd uintptr, zBuf uintptr, iAmt int32, iOfst Sqlite_int64) int32 { /* sqlite3.c:99801:12: */ var p uintptr = pJfd var zOut uintptr = zBuf var nRead int32 = iAmt @@ -124639,7 +124656,7 @@ func memjrnlRead(tls *libc.TLS, pJfd uintptr, zBuf uintptr, iAmt int32, iOfst Sq } // Free the list of FileChunk structures headed at MemJournal.pFirst. -func memjrnlFreeChunks(tls *libc.TLS, pFirst uintptr) { /* sqlite3.c:99835:13: */ +func memjrnlFreeChunks(tls *libc.TLS, pFirst uintptr) { /* sqlite3.c:99848:13: */ var pIter uintptr var pNext uintptr for pIter = pFirst; pIter != 0; pIter = pNext { @@ -124649,7 +124666,7 @@ func memjrnlFreeChunks(tls *libc.TLS, pFirst uintptr) { /* sqlite3.c:99835:13: * } // Flush the contents of memory to a real file on disk. -func memjrnlCreateFile(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:99847:12: */ +func memjrnlCreateFile(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:99860:12: */ var rc int32 var pReal uintptr = p var copy = *(*MemJournal)(unsafe.Pointer(p)) @@ -124687,7 +124704,7 @@ func memjrnlCreateFile(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:99847:12: } // Write data to the file. -func memjrnlWrite(tls *libc.TLS, pJfd uintptr, zBuf uintptr, iAmt int32, iOfst Sqlite_int64) int32 { /* sqlite3.c:99889:12: */ +func memjrnlWrite(tls *libc.TLS, pJfd uintptr, zBuf uintptr, iAmt int32, iOfst Sqlite_int64) int32 { /* sqlite3.c:99902:12: */ var p uintptr = pJfd var nWrite int32 = iAmt var zWrite uintptr = zBuf @@ -124753,7 +124770,7 @@ func memjrnlWrite(tls *libc.TLS, pJfd uintptr, zBuf uintptr, iAmt int32, iOfst S } // Truncate the in-memory file. -func memjrnlTruncate(tls *libc.TLS, pJfd uintptr, size Sqlite_int64) int32 { /* sqlite3.c:99962:12: */ +func memjrnlTruncate(tls *libc.TLS, pJfd uintptr, size Sqlite_int64) int32 { /* sqlite3.c:99975:12: */ var p uintptr = pJfd if size < (*MemJournal)(unsafe.Pointer(p)).Fendpoint.FiOffset { @@ -124781,7 +124798,7 @@ func memjrnlTruncate(tls *libc.TLS, pJfd uintptr, size Sqlite_int64) int32 { /* } // Close the file. -func memjrnlClose(tls *libc.TLS, pJfd uintptr) int32 { /* sqlite3.c:99992:12: */ +func memjrnlClose(tls *libc.TLS, pJfd uintptr) int32 { /* sqlite3.c:100005:12: */ var p uintptr = pJfd memjrnlFreeChunks(tls, (*MemJournal)(unsafe.Pointer(p)).FpFirst) return SQLITE_OK @@ -124791,14 +124808,14 @@ func memjrnlClose(tls *libc.TLS, pJfd uintptr) int32 { /* sqlite3.c:99992:12: */ // // If the real file has been created, call its xSync method. Otherwise, // syncing an in-memory journal is a no-op. -func memjrnlSync(tls *libc.TLS, pJfd uintptr, flags int32) int32 { /* sqlite3.c:100004:12: */ +func memjrnlSync(tls *libc.TLS, pJfd uintptr, flags int32) int32 { /* sqlite3.c:100017:12: */ _ = pJfd _ = flags return SQLITE_OK } // Query the size of the file in bytes. -func memjrnlFileSize(tls *libc.TLS, pJfd uintptr, pSize uintptr) int32 { /* sqlite3.c:100012:12: */ +func memjrnlFileSize(tls *libc.TLS, pJfd uintptr, pSize uintptr) int32 { /* sqlite3.c:100025:12: */ var p uintptr = pJfd *(*Sqlite_int64)(unsafe.Pointer(pSize)) = (*MemJournal)(unsafe.Pointer(p)).Fendpoint.FiOffset return SQLITE_OK @@ -124813,7 +124830,7 @@ var sMemJournalMethods = sqlite3_io_methods{ FxTruncate: 0, // xTruncate FxSync: 0, // xSync FxFileSize: 0, // xUnfetch -} /* sqlite3.c:100021:40 */ +} /* sqlite3.c:100034:40 */ // Open a journal file. // @@ -124825,7 +124842,7 @@ var sMemJournalMethods = sqlite3_io_methods{ // but may be flushed to disk later on. In this case the journal file is // flushed to disk either when it grows larger than nSpill bytes in size, // or when sqlite3JournalCreate() is called. -func Xsqlite3JournalOpen(tls *libc.TLS, pVfs uintptr, zName uintptr, pJfd uintptr, flags int32, nSpill int32) int32 { /* sqlite3.c:100055:20: */ +func Xsqlite3JournalOpen(tls *libc.TLS, pVfs uintptr, zName uintptr, pJfd uintptr, flags int32, nSpill int32) int32 { /* sqlite3.c:100068:20: */ var p uintptr = pJfd // Zero the file-handle object. If nSpill was passed zero, initialize @@ -124853,20 +124870,20 @@ func Xsqlite3JournalOpen(tls *libc.TLS, pVfs uintptr, zName uintptr, pJfd uintpt } // Open an in-memory journal file. -func Xsqlite3MemJournalOpen(tls *libc.TLS, pJfd uintptr) { /* sqlite3.c:100091:21: */ +func Xsqlite3MemJournalOpen(tls *libc.TLS, pJfd uintptr) { /* sqlite3.c:100104:21: */ Xsqlite3JournalOpen(tls, uintptr(0), uintptr(0), pJfd, 0, -1) } // The file-handle passed as the only argument is open on a journal file. // Return true if this "journal file" is currently stored in heap memory, // or false otherwise. -func Xsqlite3JournalIsInMemory(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:100130:20: */ +func Xsqlite3JournalIsInMemory(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:100143:20: */ return libc.Bool32((*Sqlite3_file)(unsafe.Pointer(p)).FpMethods == uintptr(unsafe.Pointer(&sMemJournalMethods))) } // Return the number of bytes required to store a JournalFile that uses vfs // pVfs to create the underlying on-disk files. -func Xsqlite3JournalSize(tls *libc.TLS, pVfs uintptr) int32 { /* sqlite3.c:100138:20: */ +func Xsqlite3JournalSize(tls *libc.TLS, pVfs uintptr) int32 { /* sqlite3.c:100151:20: */ return func() int32 { if (*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FszOsFile > int32(unsafe.Sizeof(MemJournal{})) { return (*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FszOsFile @@ -124895,7 +124912,7 @@ func Xsqlite3JournalSize(tls *libc.TLS, pVfs uintptr) int32 { /* sqlite3.c:10013 // Walk all expressions linked into the list of Window objects passed // as the second argument. -func walkWindowList(tls *libc.TLS, pWalker uintptr, pList uintptr, bOneOnly int32) int32 { /* sqlite3.c:100168:12: */ +func walkWindowList(tls *libc.TLS, pWalker uintptr, pList uintptr, bOneOnly int32) int32 { /* sqlite3.c:100181:12: */ var pWin uintptr for pWin = pList; pWin != 0; pWin = (*Window)(unsafe.Pointer(pWin)).FpNextWin { var rc int32 @@ -124943,7 +124960,7 @@ func walkWindowList(tls *libc.TLS, pWalker uintptr, pList uintptr, bOneOnly int3 // // The return value from this routine is WRC_Abort to abandon the tree walk // and WRC_Continue to continue. -func walkExpr(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:100207:28: */ +func walkExpr(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:100220:28: */ var rc int32 for 1 != 0 { @@ -124985,7 +125002,7 @@ func walkExpr(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3. return WRC_Continue } -func Xsqlite3WalkExpr(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:100239:20: */ +func Xsqlite3WalkExpr(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:100252:20: */ if pExpr != 0 { return walkExpr(tls, pWalker, pExpr) } @@ -124994,7 +125011,7 @@ func Xsqlite3WalkExpr(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* // Call sqlite3WalkExpr() for every expression in list p or until // an abort request is seen. -func Xsqlite3WalkExprList(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sqlite3.c:100247:20: */ +func Xsqlite3WalkExprList(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sqlite3.c:100260:20: */ var i int32 var pItem uintptr if p != 0 { @@ -125023,7 +125040,7 @@ func Xsqlite3WalkExprList(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* // This is a no-op callback for Walker->xSelectCallback2. If this // callback is set, then the Select->pWinDefn list is traversed. -func Xsqlite3WalkWinDefnDummyCallback(tls *libc.TLS, pWalker uintptr, p uintptr) { /* sqlite3.c:100262:21: */ +func Xsqlite3WalkWinDefnDummyCallback(tls *libc.TLS, pWalker uintptr, p uintptr) { /* sqlite3.c:100275:21: */ _ = pWalker _ = p // No-op @@ -125033,7 +125050,7 @@ func Xsqlite3WalkWinDefnDummyCallback(tls *libc.TLS, pWalker uintptr, p uintptr) // not invoke the SELECT callback on p, but do (of course) invoke // any expr callbacks and SELECT callbacks that come from subqueries. // Return WRC_Abort or WRC_Continue. -func Xsqlite3WalkSelectExpr(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sqlite3.c:100274:20: */ +func Xsqlite3WalkSelectExpr(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sqlite3.c:100287:20: */ if Xsqlite3WalkExprList(tls, pWalker, (*Select)(unsafe.Pointer(p)).FpEList) != 0 { return WRC_Abort } @@ -125075,7 +125092,7 @@ func Xsqlite3WalkSelectExpr(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { / // callback on p, but do invoke it on each FROM clause subquery // and on any subqueries further down in the tree. Return // WRC_Abort or WRC_Continue; -func Xsqlite3WalkSelectFrom(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sqlite3.c:100307:20: */ +func Xsqlite3WalkSelectFrom(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sqlite3.c:100320:20: */ var pSrc uintptr var i int32 var pItem uintptr @@ -125124,7 +125141,7 @@ func Xsqlite3WalkSelectFrom(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { / // // If the Walker does not have an xSelectCallback() then this routine // is a no-op returning WRC_Continue. -func Xsqlite3WalkSelect(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sqlite3.c:100345:20: */ +func Xsqlite3WalkSelect(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sqlite3.c:100358:20: */ var rc int32 if p == uintptr(0) { return WRC_Continue @@ -125155,13 +125172,13 @@ func Xsqlite3WalkSelect(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sq // Increase the walkerDepth when entering a subquery, and // descrease when leaving the subquery. -func Xsqlite3WalkerDepthIncrease(tls *libc.TLS, pWalker uintptr, pSelect uintptr) int32 { /* sqlite3.c:100368:20: */ +func Xsqlite3WalkerDepthIncrease(tls *libc.TLS, pWalker uintptr, pSelect uintptr) int32 { /* sqlite3.c:100381:20: */ _ = pSelect (*Walker)(unsafe.Pointer(pWalker)).FwalkerDepth++ return WRC_Continue } -func Xsqlite3WalkerDepthDecrease(tls *libc.TLS, pWalker uintptr, pSelect uintptr) { /* sqlite3.c:100373:21: */ +func Xsqlite3WalkerDepthDecrease(tls *libc.TLS, pWalker uintptr, pSelect uintptr) { /* sqlite3.c:100386:21: */ _ = pSelect (*Walker)(unsafe.Pointer(pWalker)).FwalkerDepth-- } @@ -125173,7 +125190,7 @@ func Xsqlite3WalkerDepthDecrease(tls *libc.TLS, pWalker uintptr, pSelect uintptr // when this routine is used for Walker.xExprCallback then // Walker.xSelectCallback is set to do something useful for every // subquery in the parser tree. -func Xsqlite3ExprWalkNoop(tls *libc.TLS, NotUsed uintptr, NotUsed2 uintptr) int32 { /* sqlite3.c:100388:20: */ +func Xsqlite3ExprWalkNoop(tls *libc.TLS, NotUsed uintptr, NotUsed2 uintptr) int32 { /* sqlite3.c:100401:20: */ _ = NotUsed _ = NotUsed2 return WRC_Continue @@ -125181,7 +125198,7 @@ func Xsqlite3ExprWalkNoop(tls *libc.TLS, NotUsed uintptr, NotUsed2 uintptr) int3 // No-op routine for the parse-tree walker for SELECT statements. // subquery in the parser tree. -func Xsqlite3SelectWalkNoop(tls *libc.TLS, NotUsed uintptr, NotUsed2 uintptr) int32 { /* sqlite3.c:100397:20: */ +func Xsqlite3SelectWalkNoop(tls *libc.TLS, NotUsed uintptr, NotUsed2 uintptr) int32 { /* sqlite3.c:100410:20: */ _ = NotUsed _ = NotUsed2 return WRC_Continue @@ -125216,14 +125233,14 @@ func Xsqlite3SelectWalkNoop(tls *libc.TLS, NotUsed uintptr, NotUsed2 uintptr) in // is a helper function - a callback for the tree walker. // // See also the sqlite3WindowExtraAggFuncDepth() routine in window.c -func incrAggDepth(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:100438:12: */ +func incrAggDepth(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:100451:12: */ if int32((*Expr)(unsafe.Pointer(pExpr)).Fop) == TK_AGG_FUNCTION { *(*U8)(unsafe.Pointer(pExpr + 2)) += U8(*(*int32)(unsafe.Pointer(pWalker + 40))) } return WRC_Continue } -func incrAggFunctionDepth(tls *libc.TLS, pExpr uintptr, N int32) { /* sqlite3.c:100442:13: */ +func incrAggFunctionDepth(tls *libc.TLS, pExpr uintptr, N int32) { /* sqlite3.c:100455:13: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -125256,7 +125273,7 @@ func incrAggFunctionDepth(tls *libc.TLS, pExpr uintptr, N int32) { /* sqlite3.c: // zero but it might be more if the alias is contained within a subquery // of the original expression. The Expr.op2 field of TK_AGG_FUNCTION // structures must be increased by the nSubquery amount. -func resolveAlias(tls *libc.TLS, pParse uintptr, pEList uintptr, iCol int32, pExpr uintptr, nSubquery int32) { /* sqlite3.c:100471:13: */ +func resolveAlias(tls *libc.TLS, pParse uintptr, pEList uintptr, iCol int32, pExpr uintptr, nSubquery int32) { /* sqlite3.c:100484:13: */ var pOrig uintptr // The iCol-th column of the result set var pDup uintptr // Copy of pOrig var db uintptr // The database connection @@ -125302,7 +125319,7 @@ func resolveAlias(tls *libc.TLS, pParse uintptr, pEList uintptr, iCol int32, pEx // // Return FALSE if the USING clause is NULL or if it does not contain // zCol. -func nameInUsingClause(tls *libc.TLS, pUsing uintptr, zCol uintptr) int32 { /* sqlite3.c:100528:12: */ +func nameInUsingClause(tls *libc.TLS, pUsing uintptr, zCol uintptr) int32 { /* sqlite3.c:100541:12: */ if pUsing != 0 { var k int32 for k = 0; k < (*IdList)(unsafe.Pointer(pUsing)).FnId; k++ { @@ -125319,7 +125336,7 @@ func nameInUsingClause(tls *libc.TLS, pUsing uintptr, zCol uintptr) int32 { /* s // Check to see if the zSpan given to this routine matches the zDb, zTab, // and zCol. If any of zDb, zTab, and zCol are NULL then those fields will // match anything. -func Xsqlite3MatchEName(tls *libc.TLS, pItem uintptr, zCol uintptr, zTab uintptr, zDb uintptr) int32 { /* sqlite3.c:100545:20: */ +func Xsqlite3MatchEName(tls *libc.TLS, pItem uintptr, zCol uintptr, zTab uintptr, zDb uintptr) int32 { /* sqlite3.c:100558:20: */ var n int32 var zSpan uintptr if int32(*(*uint8)(unsafe.Pointer(pItem + 20))&0x3>>0) != ENAME_TAB { @@ -125345,7 +125362,7 @@ func Xsqlite3MatchEName(tls *libc.TLS, pItem uintptr, zCol uintptr, zTab uintptr } // Return TRUE if the double-quoted string mis-feature should be supported. -func areDoubleQuotedStringsEnabled(tls *libc.TLS, db uintptr, pTopNC uintptr) int32 { /* sqlite3.c:100574:12: */ +func areDoubleQuotedStringsEnabled(tls *libc.TLS, db uintptr, pTopNC uintptr) int32 { /* sqlite3.c:100587:12: */ if (*Sqlite3)(unsafe.Pointer(db)).Finit.Fbusy != 0 { return 1 } // Always support for legacy schemas @@ -125364,7 +125381,7 @@ func areDoubleQuotedStringsEnabled(tls *libc.TLS, db uintptr, pTopNC uintptr) in // The argument is guaranteed to be a non-NULL Expr node of type TK_COLUMN. // return the appropriate colUsed mask. -func Xsqlite3ExprColUsed(tls *libc.TLS, pExpr uintptr) Bitmask { /* sqlite3.c:100592:24: */ +func Xsqlite3ExprColUsed(tls *libc.TLS, pExpr uintptr) Bitmask { /* sqlite3.c:100605:24: */ var n int32 var pExTab uintptr @@ -125414,7 +125431,7 @@ func Xsqlite3ExprColUsed(tls *libc.TLS, pExpr uintptr) Bitmask { /* sqlite3.c:10 // // If the name cannot be resolved unambiguously, leave an error message // in pParse and return WRC_Abort. Return WRC_Prune on success. -func lookupName(tls *libc.TLS, pParse uintptr, zDb uintptr, zTab uintptr, zCol uintptr, pNC uintptr, pExpr uintptr) int32 { /* sqlite3.c:100641:12: */ +func lookupName(tls *libc.TLS, pParse uintptr, zDb uintptr, zTab uintptr, zCol uintptr, pNC uintptr, pExpr uintptr) int32 { /* sqlite3.c:100654:12: */ bp := tls.Alloc(96) defer tls.Free(96) @@ -126129,7 +126146,7 @@ __88: // Allocate and return a pointer to an expression to load the column iCol // from datasource iSrc in SrcList pSrc. -func Xsqlite3CreateColumnExpr(tls *libc.TLS, db uintptr, pSrc uintptr, iSrc int32, iCol int32) uintptr { /* sqlite3.c:101087:21: */ +func Xsqlite3CreateColumnExpr(tls *libc.TLS, db uintptr, pSrc uintptr, iSrc int32, iCol int32) uintptr { /* sqlite3.c:101100:21: */ var p uintptr = Xsqlite3ExprAlloc(tls, db, TK_COLUMN, uintptr(0), 0) if p != 0 { var pItem uintptr = pSrc + 8 + uintptr(iSrc)*112 @@ -126178,7 +126195,7 @@ func Xsqlite3CreateColumnExpr(tls *libc.TLS, db uintptr, pSrc uintptr, iSrc int3 // As an optimization, since the conditional is almost always false // (because errors are rare), the conditional is moved outside of the // function call using a macro. -func notValidImpl(tls *libc.TLS, pParse uintptr, pNC uintptr, zMsg uintptr, pExpr uintptr, pError uintptr) { /* sqlite3.c:101131:13: */ +func notValidImpl(tls *libc.TLS, pParse uintptr, pNC uintptr, zMsg uintptr, pExpr uintptr, pError uintptr) { /* sqlite3.c:101144:13: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -126200,7 +126217,7 @@ func notValidImpl(tls *libc.TLS, pParse uintptr, pNC uintptr, zMsg uintptr, pExp // Expression p should encode a floating point value between 1.0 and 0.0. // Return 1024 times this value. Or return -1 if p is not a floating point // value between 1.0 and 0.0. -func exprProbability(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:101159:12: */ +func exprProbability(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:101172:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -126226,7 +126243,7 @@ func exprProbability(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:101159:12: * // This routine also does error checking and name resolution for // function names. The operator for aggregate functions is changed // to TK_AGG_FUNCTION. -func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:101180:12: */ +func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:101193:12: */ bp := tls.Alloc(96) defer tls.Free(96) @@ -126707,7 +126724,7 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* s // return 0. // // pEList has been resolved. pE has not. -func resolveAsName(tls *libc.TLS, pParse uintptr, pEList uintptr, pE uintptr) int32 { /* sqlite3.c:101638:12: */ +func resolveAsName(tls *libc.TLS, pParse uintptr, pEList uintptr, pE uintptr) int32 { /* sqlite3.c:101651:12: */ var i int32 // Loop counter _ = pParse @@ -126742,7 +126759,7 @@ func resolveAsName(tls *libc.TLS, pParse uintptr, pEList uintptr, pE uintptr) in // the column. // // If there is no match, return 0. Return -1 if an error occurs. -func resolveOrderByTermToExprList(tls *libc.TLS, pParse uintptr, pSelect uintptr, pE uintptr) int32 { /* sqlite3.c:101680:12: */ +func resolveOrderByTermToExprList(tls *libc.TLS, pParse uintptr, pSelect uintptr, pE uintptr) int32 { /* sqlite3.c:101693:12: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -126786,7 +126803,7 @@ func resolveOrderByTermToExprList(tls *libc.TLS, pParse uintptr, pSelect uintptr } // Generate an ORDER BY or GROUP BY term out-of-range error. -func resolveOutOfRangeError(tls *libc.TLS, pParse uintptr, zType uintptr, i int32, mx int32, pError uintptr) { /* sqlite3.c:101727:13: */ +func resolveOutOfRangeError(tls *libc.TLS, pParse uintptr, zType uintptr, i int32, mx int32, pError uintptr) { /* sqlite3.c:101740:13: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -126809,7 +126826,7 @@ func resolveOutOfRangeError(tls *libc.TLS, pParse uintptr, zType uintptr, i int3 // the integer column number. // // Return the number of errors seen. -func resolveCompoundOrderBy(tls *libc.TLS, pParse uintptr, pSelect uintptr) int32 { /* sqlite3.c:101755:12: */ +func resolveCompoundOrderBy(tls *libc.TLS, pParse uintptr, pSelect uintptr) int32 { /* sqlite3.c:101768:12: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -126946,7 +126963,7 @@ func resolveCompoundOrderBy(tls *libc.TLS, pParse uintptr, pSelect uintptr) int3 // // If any errors are detected, add an error message to pParse and // return non-zero. Return zero if no errors are seen. -func Xsqlite3ResolveOrderGroupBy(tls *libc.TLS, pParse uintptr, pSelect uintptr, pOrderBy uintptr, zType uintptr) int32 { /* sqlite3.c:101868:20: */ +func Xsqlite3ResolveOrderGroupBy(tls *libc.TLS, pParse uintptr, pSelect uintptr, pOrderBy uintptr, zType uintptr) int32 { /* sqlite3.c:101881:20: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -126992,7 +127009,7 @@ __3: } // Walker callback for windowRemoveExprFromSelect(). -func resolveRemoveWindowsCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:101902:12: */ +func resolveRemoveWindowsCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:101915:12: */ _ = pWalker if (*Expr)(unsafe.Pointer(pExpr)).Fflags&U32(EP_WinFunc) != U32(0) { var pWin uintptr = *(*uintptr)(unsafe.Pointer(pExpr + 64)) @@ -127003,7 +127020,7 @@ func resolveRemoveWindowsCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 // Remove any Window objects owned by the expression pExpr from the // Select.pWin list of Select object pSelect. -func windowRemoveExprFromSelect(tls *libc.TLS, pSelect uintptr, pExpr uintptr) { /* sqlite3.c:101915:13: */ +func windowRemoveExprFromSelect(tls *libc.TLS, pSelect uintptr, pExpr uintptr) { /* sqlite3.c:101928:13: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -127035,7 +127052,7 @@ func windowRemoveExprFromSelect(tls *libc.TLS, pSelect uintptr, pExpr uintptr) { // This routine returns the number of errors. If errors occur, then // an appropriate error message might be left in pParse. (OOM errors // excepted.) -func resolveOrderGroupBy(tls *libc.TLS, pNC uintptr, pSelect uintptr, pOrderBy uintptr, zType uintptr) int32 { /* sqlite3.c:101946:12: */ +func resolveOrderGroupBy(tls *libc.TLS, pNC uintptr, pSelect uintptr, pOrderBy uintptr, zType uintptr) int32 { /* sqlite3.c:101959:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -127112,7 +127129,7 @@ __3: } // Resolve names in the SELECT statement p and all of its descendants. -func resolveSelectStep(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sqlite3.c:102009:12: */ +func resolveSelectStep(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sqlite3.c:102022:12: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -127411,7 +127428,7 @@ func resolveSelectStep(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sql // // An error message is left in pParse if anything is amiss. The number // if errors is returned. -func Xsqlite3ResolveExprNames(tls *libc.TLS, pNC uintptr, pExpr uintptr) int32 { /* sqlite3.c:102297:20: */ +func Xsqlite3ResolveExprNames(tls *libc.TLS, pNC uintptr, pExpr uintptr) int32 { /* sqlite3.c:102310:20: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -127452,7 +127469,7 @@ func Xsqlite3ResolveExprNames(tls *libc.TLS, pNC uintptr, pExpr uintptr) int32 { // Resolve all names for all expression in an expression list. This is // just like sqlite3ResolveExprNames() except that it works for an expression // list rather than a single expression. -func Xsqlite3ResolveExprListNames(tls *libc.TLS, pNC uintptr, pList uintptr) int32 { /* sqlite3.c:102336:20: */ +func Xsqlite3ResolveExprListNames(tls *libc.TLS, pNC uintptr, pList uintptr) int32 { /* sqlite3.c:102349:20: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -127509,7 +127526,7 @@ func Xsqlite3ResolveExprListNames(tls *libc.TLS, pNC uintptr, pList uintptr) int // // All SELECT statements should have been expanded using // sqlite3SelectExpand() prior to invoking this routine. -func Xsqlite3ResolveSelectNames(tls *libc.TLS, pParse uintptr, p uintptr, pOuterNC uintptr) { /* sqlite3.c:102392:21: */ +func Xsqlite3ResolveSelectNames(tls *libc.TLS, pParse uintptr, p uintptr, pOuterNC uintptr) { /* sqlite3.c:102405:21: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -127543,7 +127560,7 @@ func Xsqlite3ResolveSelectNames(tls *libc.TLS, pParse uintptr, p uintptr, pOuter // set to the column number. In case (4), TK_COLUMN nodes cause an error. // // Any errors cause an error message to be set in pParse. -func Xsqlite3ResolveSelfReference(tls *libc.TLS, pParse uintptr, pTab uintptr, type1 int32, pExpr uintptr, pList uintptr) int32 { /* sqlite3.c:102426:20: */ +func Xsqlite3ResolveSelfReference(tls *libc.TLS, pParse uintptr, pTab uintptr, type1 int32, pExpr uintptr, pList uintptr) int32 { /* sqlite3.c:102439:20: */ bp := tls.Alloc(176) defer tls.Free(176) @@ -127579,7 +127596,7 @@ func Xsqlite3ResolveSelfReference(tls *libc.TLS, pParse uintptr, pTab uintptr, t } // Return the affinity character for a single column of a table. -func Xsqlite3TableColumnAffinity(tls *libc.TLS, pTab uintptr, iCol int32) int8 { /* sqlite3.c:102486:21: */ +func Xsqlite3TableColumnAffinity(tls *libc.TLS, pTab uintptr, iCol int32) int8 { /* sqlite3.c:102499:21: */ if iCol < 0 || iCol >= int32((*Table)(unsafe.Pointer(pTab)).FnCol) { return int8(SQLITE_AFF_INTEGER) } @@ -127600,7 +127617,7 @@ func Xsqlite3TableColumnAffinity(tls *libc.TLS, pTab uintptr, iCol int32) int8 { // SELECT * FROM t1 WHERE a; // SELECT a AS b FROM t1 WHERE b; // SELECT * FROM t1 WHERE (select a from t1); -func Xsqlite3ExprAffinity(tls *libc.TLS, pExpr uintptr) int8 { /* sqlite3.c:102507:21: */ +func Xsqlite3ExprAffinity(tls *libc.TLS, pExpr uintptr) int8 { /* sqlite3.c:102520:21: */ var op int32 for (*Expr)(unsafe.Pointer(pExpr)).Fflags&U32(EP_Skip|EP_IfNullRow) != U32(0) { @@ -127643,7 +127660,7 @@ func Xsqlite3ExprAffinity(tls *libc.TLS, pExpr uintptr) int8 { /* sqlite3.c:1025 // // If a memory allocation error occurs, that fact is recorded in pParse->db // and the pExpr parameter is returned unchanged. -func Xsqlite3ExprAddCollateToken(tls *libc.TLS, pParse uintptr, pExpr uintptr, pCollName uintptr, dequote int32) uintptr { /* sqlite3.c:102560:21: */ +func Xsqlite3ExprAddCollateToken(tls *libc.TLS, pParse uintptr, pExpr uintptr, pCollName uintptr, dequote int32) uintptr { /* sqlite3.c:102573:21: */ if (*Token)(unsafe.Pointer(pCollName)).Fn > uint32(0) { var pNew uintptr = Xsqlite3ExprAlloc(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, TK_COLLATE, pCollName, dequote) if pNew != 0 { @@ -127655,7 +127672,7 @@ func Xsqlite3ExprAddCollateToken(tls *libc.TLS, pParse uintptr, pExpr uintptr, p return pExpr } -func Xsqlite3ExprAddCollateString(tls *libc.TLS, pParse uintptr, pExpr uintptr, zC uintptr) uintptr { /* sqlite3.c:102576:21: */ +func Xsqlite3ExprAddCollateString(tls *libc.TLS, pParse uintptr, pExpr uintptr, zC uintptr) uintptr { /* sqlite3.c:102589:21: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -127666,7 +127683,7 @@ func Xsqlite3ExprAddCollateString(tls *libc.TLS, pParse uintptr, pExpr uintptr, } // Skip over any TK_COLLATE operators. -func Xsqlite3ExprSkipCollate(tls *libc.TLS, pExpr uintptr) uintptr { /* sqlite3.c:102590:21: */ +func Xsqlite3ExprSkipCollate(tls *libc.TLS, pExpr uintptr) uintptr { /* sqlite3.c:102603:21: */ for pExpr != 0 && (*Expr)(unsafe.Pointer(pExpr)).Fflags&U32(EP_Skip) != U32(0) { pExpr = (*Expr)(unsafe.Pointer(pExpr)).FpLeft @@ -127677,7 +127694,7 @@ func Xsqlite3ExprSkipCollate(tls *libc.TLS, pExpr uintptr) uintptr { /* sqlite3. // Skip over any TK_COLLATE operators and/or any unlikely() // or likelihood() or likely() functions at the root of an // expression. -func Xsqlite3ExprSkipCollateAndLikely(tls *libc.TLS, pExpr uintptr) uintptr { /* sqlite3.c:102603:21: */ +func Xsqlite3ExprSkipCollateAndLikely(tls *libc.TLS, pExpr uintptr) uintptr { /* sqlite3.c:102616:21: */ for pExpr != 0 && (*Expr)(unsafe.Pointer(pExpr)).Fflags&U32(EP_Skip|EP_Unlikely) != U32(0) { if (*Expr)(unsafe.Pointer(pExpr)).Fflags&U32(EP_Unlikely) != U32(0) { @@ -127702,7 +127719,7 @@ func Xsqlite3ExprSkipCollateAndLikely(tls *libc.TLS, pExpr uintptr) uintptr { /* // or by the presence of a column with a defined collating sequence. // COLLATE operators take first precedence. Left operands take // precedence over right operands. -func Xsqlite3ExprCollSeq(tls *libc.TLS, pParse uintptr, pExpr uintptr) uintptr { /* sqlite3.c:102632:24: */ +func Xsqlite3ExprCollSeq(tls *libc.TLS, pParse uintptr, pExpr uintptr) uintptr { /* sqlite3.c:102645:24: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb var pColl uintptr = uintptr(0) var p uintptr = pExpr @@ -127774,7 +127791,7 @@ func Xsqlite3ExprCollSeq(tls *libc.TLS, pParse uintptr, pExpr uintptr) uintptr { // // The sqlite3ExprCollSeq() routine works the same except that it // returns NULL if there is no defined collation. -func Xsqlite3ExprNNCollSeq(tls *libc.TLS, pParse uintptr, pExpr uintptr) uintptr { /* sqlite3.c:102705:24: */ +func Xsqlite3ExprNNCollSeq(tls *libc.TLS, pParse uintptr, pExpr uintptr) uintptr { /* sqlite3.c:102718:24: */ var p uintptr = Xsqlite3ExprCollSeq(tls, pParse, pExpr) if p == uintptr(0) { p = (*Sqlite3)(unsafe.Pointer((*Parse)(unsafe.Pointer(pParse)).Fdb)).FpDfltColl @@ -127784,7 +127801,7 @@ func Xsqlite3ExprNNCollSeq(tls *libc.TLS, pParse uintptr, pExpr uintptr) uintptr } // Return TRUE if the two expressions have equivalent collating sequences. -func Xsqlite3ExprCollSeqMatch(tls *libc.TLS, pParse uintptr, pE1 uintptr, pE2 uintptr) int32 { /* sqlite3.c:102715:20: */ +func Xsqlite3ExprCollSeqMatch(tls *libc.TLS, pParse uintptr, pE1 uintptr, pE2 uintptr) int32 { /* sqlite3.c:102728:20: */ var pColl1 uintptr = Xsqlite3ExprNNCollSeq(tls, pParse, pE1) var pColl2 uintptr = Xsqlite3ExprNNCollSeq(tls, pParse, pE2) return libc.Bool32(Xsqlite3StrICmp(tls, (*CollSeq)(unsafe.Pointer(pColl1)).FzName, (*CollSeq)(unsafe.Pointer(pColl2)).FzName) == 0) @@ -127793,7 +127810,7 @@ func Xsqlite3ExprCollSeqMatch(tls *libc.TLS, pParse uintptr, pE1 uintptr, pE2 ui // pExpr is an operand of a comparison operator. aff2 is the // type affinity of the other operand. This routine returns the // type affinity that should be used for the comparison operator. -func Xsqlite3CompareAffinity(tls *libc.TLS, pExpr uintptr, aff2 int8) int8 { /* sqlite3.c:102726:21: */ +func Xsqlite3CompareAffinity(tls *libc.TLS, pExpr uintptr, aff2 int8) int8 { /* sqlite3.c:102739:21: */ var aff1 int8 = Xsqlite3ExprAffinity(tls, pExpr) if int32(aff1) > SQLITE_AFF_NONE && int32(aff2) > SQLITE_AFF_NONE { // Both sides of the comparison are columns. If one has numeric @@ -127818,7 +127835,7 @@ func Xsqlite3CompareAffinity(tls *libc.TLS, pExpr uintptr, aff2 int8) int8 { /* // pExpr is a comparison operator. Return the type affinity that should // be applied to both operands prior to doing the comparison. -func comparisonAffinity(tls *libc.TLS, pExpr uintptr) int8 { /* sqlite3.c:102748:13: */ +func comparisonAffinity(tls *libc.TLS, pExpr uintptr) int8 { /* sqlite3.c:102761:13: */ var aff int8 aff = Xsqlite3ExprAffinity(tls, (*Expr)(unsafe.Pointer(pExpr)).FpLeft) @@ -127836,7 +127853,7 @@ func comparisonAffinity(tls *libc.TLS, pExpr uintptr) int8 { /* sqlite3.c:102748 // idx_affinity is the affinity of an indexed column. Return true // if the index with affinity idx_affinity may be used to implement // the comparison in pExpr. -func Xsqlite3IndexAffinityOk(tls *libc.TLS, pExpr uintptr, idx_affinity int8) int32 { /* sqlite3.c:102771:20: */ +func Xsqlite3IndexAffinityOk(tls *libc.TLS, pExpr uintptr, idx_affinity int8) int32 { /* sqlite3.c:102784:20: */ var aff int8 = comparisonAffinity(tls, pExpr) if int32(aff) < SQLITE_AFF_TEXT { return 1 @@ -127849,7 +127866,7 @@ func Xsqlite3IndexAffinityOk(tls *libc.TLS, pExpr uintptr, idx_affinity int8) in // Return the P5 value that should be used for a binary comparison // opcode (OP_Eq, OP_Ge etc.) used to compare pExpr1 and pExpr2. -func binaryCompareP5(tls *libc.TLS, pExpr1 uintptr, pExpr2 uintptr, jumpIfNull int32) U8 { /* sqlite3.c:102786:11: */ +func binaryCompareP5(tls *libc.TLS, pExpr1 uintptr, pExpr2 uintptr, jumpIfNull int32) U8 { /* sqlite3.c:102799:11: */ var aff U8 = U8(Xsqlite3ExprAffinity(tls, pExpr2)) aff = U8(int32(U8(Xsqlite3CompareAffinity(tls, pExpr1, int8(aff)))) | int32(U8(jumpIfNull))) return aff @@ -127865,7 +127882,7 @@ func binaryCompareP5(tls *libc.TLS, pExpr1 uintptr, pExpr2 uintptr, jumpIfNull i // // Argument pRight (but not pLeft) may be a null pointer. In this case, // it is not considered. -func Xsqlite3BinaryCompareCollSeq(tls *libc.TLS, pParse uintptr, pLeft uintptr, pRight uintptr) uintptr { /* sqlite3.c:102808:24: */ +func Xsqlite3BinaryCompareCollSeq(tls *libc.TLS, pParse uintptr, pLeft uintptr, pRight uintptr) uintptr { /* sqlite3.c:102821:24: */ var pColl uintptr if (*Expr)(unsafe.Pointer(pLeft)).Fflags&U32(EP_Collate) != 0 { @@ -127888,7 +127905,7 @@ func Xsqlite3BinaryCompareCollSeq(tls *libc.TLS, pParse uintptr, pLeft uintptr, // However, if the OP_Commuted flag is set, then the order of the operands // is reversed in the sqlite3BinaryCompareCollSeq() call so that the // correct collating sequence is found. -func Xsqlite3ExprCompareCollSeq(tls *libc.TLS, pParse uintptr, p uintptr) uintptr { /* sqlite3.c:102836:24: */ +func Xsqlite3ExprCompareCollSeq(tls *libc.TLS, pParse uintptr, p uintptr) uintptr { /* sqlite3.c:102849:24: */ if (*Expr)(unsafe.Pointer(p)).Fflags&U32(EP_Commuted) != U32(0) { return Xsqlite3BinaryCompareCollSeq(tls, pParse, (*Expr)(unsafe.Pointer(p)).FpRight, (*Expr)(unsafe.Pointer(p)).FpLeft) } else { @@ -127898,7 +127915,7 @@ func Xsqlite3ExprCompareCollSeq(tls *libc.TLS, pParse uintptr, p uintptr) uintpt } // Generate code for a comparison operator. -func codeCompare(tls *libc.TLS, pParse uintptr, pLeft uintptr, pRight uintptr, opcode int32, in1 int32, in2 int32, dest int32, jumpIfNull int32, isCommuted int32) int32 { /* sqlite3.c:102847:12: */ +func codeCompare(tls *libc.TLS, pParse uintptr, pLeft uintptr, pRight uintptr, opcode int32, in1 int32, in2 int32, dest int32, jumpIfNull int32, isCommuted int32) int32 { /* sqlite3.c:102860:12: */ var p5 int32 var addr int32 var p4 uintptr @@ -127925,7 +127942,7 @@ func codeCompare(tls *libc.TLS, pParse uintptr, pLeft uintptr, pRight uintptr, o // parser will not generate a TK_VECTOR with fewer than two entries. // But a TK_SELECT might be either a vector or a scalar. It is only // considered a vector if it has two or more result columns. -func Xsqlite3ExprIsVector(tls *libc.TLS, pExpr uintptr) int32 { /* sqlite3.c:102883:20: */ +func Xsqlite3ExprIsVector(tls *libc.TLS, pExpr uintptr) int32 { /* sqlite3.c:102896:20: */ return libc.Bool32(Xsqlite3ExprVectorSize(tls, pExpr) > 1) } @@ -127933,7 +127950,7 @@ func Xsqlite3ExprIsVector(tls *libc.TLS, pExpr uintptr) int32 { /* sqlite3.c:102 // return the number of expressions in the vector. Or, if the expression // is a sub-select, return the number of columns in the sub-select. For // any other type of expression, return 1. -func Xsqlite3ExprVectorSize(tls *libc.TLS, pExpr uintptr) int32 { /* sqlite3.c:102893:20: */ +func Xsqlite3ExprVectorSize(tls *libc.TLS, pExpr uintptr) int32 { /* sqlite3.c:102906:20: */ var op U8 = (*Expr)(unsafe.Pointer(pExpr)).Fop if int32(op) == TK_REGISTER { op = (*Expr)(unsafe.Pointer(pExpr)).Fop2 @@ -127963,7 +127980,7 @@ func Xsqlite3ExprVectorSize(tls *libc.TLS, pExpr uintptr) int32 { /* sqlite3.c:1 // just the expression for the i-th term of the result set, and may // not be ready for evaluation because the table cursor has not yet // been positioned. -func Xsqlite3VectorFieldSubexpr(tls *libc.TLS, pVector uintptr, i int32) uintptr { /* sqlite3.c:102922:21: */ +func Xsqlite3VectorFieldSubexpr(tls *libc.TLS, pVector uintptr, i int32) uintptr { /* sqlite3.c:102935:21: */ if Xsqlite3ExprIsVector(tls, pVector) != 0 { @@ -127997,7 +128014,7 @@ func Xsqlite3VectorFieldSubexpr(tls *libc.TLS, pVector uintptr, i int32) uintptr // A trick to cause a TK_SELECT pVector to be deleted together with // the returned Expr object is to attach the pVector to the pRight field // of the returned TK_SELECT_COLUMN Expr object. -func Xsqlite3ExprForVectorField(tls *libc.TLS, pParse uintptr, pVector uintptr, iField int32, nField int32) uintptr { /* sqlite3.c:102958:21: */ +func Xsqlite3ExprForVectorField(tls *libc.TLS, pParse uintptr, pVector uintptr, iField int32, nField int32) uintptr { /* sqlite3.c:102971:21: */ var pRet uintptr if int32((*Expr)(unsafe.Pointer(pVector)).Fop) == TK_SELECT { @@ -128045,7 +128062,7 @@ func Xsqlite3ExprForVectorField(tls *libc.TLS, pParse uintptr, pVector uintptr, // of registers in which the result is stored). // // If pExpr is not a TK_SELECT expression, return 0. -func exprCodeSubselect(tls *libc.TLS, pParse uintptr, pExpr uintptr) int32 { /* sqlite3.c:103014:12: */ +func exprCodeSubselect(tls *libc.TLS, pParse uintptr, pExpr uintptr) int32 { /* sqlite3.c:103027:12: */ var reg int32 = 0 if int32((*Expr)(unsafe.Pointer(pExpr)).Fop) == TK_SELECT { reg = Xsqlite3CodeSubselect(tls, pParse, pExpr) @@ -128069,7 +128086,7 @@ func exprCodeSubselect(tls *libc.TLS, pParse uintptr, pExpr uintptr) int32 { /* // // Before returning, output parameter (*ppExpr) is set to point to the // Expr object corresponding to element iElem of the vector. -func exprVectorRegister(tls *libc.TLS, pParse uintptr, pVector uintptr, iField int32, regSelect int32, ppExpr uintptr, pRegFree uintptr) int32 { /* sqlite3.c:103042:12: */ +func exprVectorRegister(tls *libc.TLS, pParse uintptr, pVector uintptr, iField int32, regSelect int32, ppExpr uintptr, pRegFree uintptr) int32 { /* sqlite3.c:103055:12: */ var op U8 = (*Expr)(unsafe.Pointer(pVector)).Fop if int32(op) == TK_REGISTER { @@ -128098,7 +128115,7 @@ func exprVectorRegister(tls *libc.TLS, pParse uintptr, pVector uintptr, iField i // if pExpr->op==TK_IS: op==TK_EQ and p5==SQLITE_NULLEQ // if pExpr->op==TK_ISNOT: op==TK_NE and p5==SQLITE_NULLEQ // otherwise: op==pExpr->op and p5==0 -func codeVectorCompare(tls *libc.TLS, pParse uintptr, pExpr uintptr, dest int32, op U8, p5 U8) { /* sqlite3.c:103080:13: */ +func codeVectorCompare(tls *libc.TLS, pParse uintptr, pExpr uintptr, dest int32, op U8, p5 U8) { /* sqlite3.c:103093:13: */ bp := tls.Alloc(28) defer tls.Free(28) @@ -128186,7 +128203,7 @@ func codeVectorCompare(tls *libc.TLS, pParse uintptr, pExpr uintptr, dest int32, // Check that argument nHeight is less than or equal to the maximum // expression depth allowed. If it is not, leave an error message in // pParse. -func Xsqlite3ExprCheckHeight(tls *libc.TLS, pParse uintptr, nHeight int32) int32 { /* sqlite3.c:103175:20: */ +func Xsqlite3ExprCheckHeight(tls *libc.TLS, pParse uintptr, nHeight int32) int32 { /* sqlite3.c:103188:20: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -128208,7 +128225,7 @@ func Xsqlite3ExprCheckHeight(tls *libc.TLS, pParse uintptr, nHeight int32) int32 // If this maximum height is greater than the current value pointed // to by pnHeight, the second parameter, then set *pnHeight to that // value. -func heightOfExpr(tls *libc.TLS, p uintptr, pnHeight uintptr) { /* sqlite3.c:103196:13: */ +func heightOfExpr(tls *libc.TLS, p uintptr, pnHeight uintptr) { /* sqlite3.c:103209:13: */ if p != 0 { if (*Expr)(unsafe.Pointer(p)).FnHeight > *(*int32)(unsafe.Pointer(pnHeight)) { *(*int32)(unsafe.Pointer(pnHeight)) = (*Expr)(unsafe.Pointer(p)).FnHeight @@ -128216,7 +128233,7 @@ func heightOfExpr(tls *libc.TLS, p uintptr, pnHeight uintptr) { /* sqlite3.c:103 } } -func heightOfExprList(tls *libc.TLS, p uintptr, pnHeight uintptr) { /* sqlite3.c:103203:13: */ +func heightOfExprList(tls *libc.TLS, p uintptr, pnHeight uintptr) { /* sqlite3.c:103216:13: */ if p != 0 { var i int32 for i = 0; i < (*ExprList)(unsafe.Pointer(p)).FnExpr; i++ { @@ -128225,7 +128242,7 @@ func heightOfExprList(tls *libc.TLS, p uintptr, pnHeight uintptr) { /* sqlite3.c } } -func heightOfSelect(tls *libc.TLS, pSelect uintptr, pnHeight uintptr) { /* sqlite3.c:103211:13: */ +func heightOfSelect(tls *libc.TLS, pSelect uintptr, pnHeight uintptr) { /* sqlite3.c:103224:13: */ var p uintptr for p = pSelect; p != 0; p = (*Select)(unsafe.Pointer(p)).FpPrior { heightOfExpr(tls, (*Select)(unsafe.Pointer(p)).FpWhere, pnHeight) @@ -128245,7 +128262,7 @@ func heightOfSelect(tls *libc.TLS, pSelect uintptr, pnHeight uintptr) { /* sqlit // // Also propagate EP_Propagate flags up from Expr.x.pList to Expr.flags, // if appropriate. -func exprSetHeight(tls *libc.TLS, p uintptr) { /* sqlite3.c:103233:13: */ +func exprSetHeight(tls *libc.TLS, p uintptr) { /* sqlite3.c:103246:13: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -128272,7 +128289,7 @@ func exprSetHeight(tls *libc.TLS, p uintptr) { /* sqlite3.c:103233:13: */ // // Also propagate all EP_Propagate flags from the Expr.x.pList into // Expr.flags. -func Xsqlite3ExprSetHeightAndFlags(tls *libc.TLS, pParse uintptr, p uintptr) { /* sqlite3.c:103253:21: */ +func Xsqlite3ExprSetHeightAndFlags(tls *libc.TLS, pParse uintptr, p uintptr) { /* sqlite3.c:103266:21: */ if (*Parse)(unsafe.Pointer(pParse)).FnErr != 0 { return } @@ -128282,7 +128299,7 @@ func Xsqlite3ExprSetHeightAndFlags(tls *libc.TLS, pParse uintptr, p uintptr) { / // Return the maximum height of any expression tree referenced // by the select statement passed as an argument. -func Xsqlite3SelectExprHeight(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:103263:20: */ +func Xsqlite3SelectExprHeight(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:103276:20: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -128309,7 +128326,7 @@ func Xsqlite3SelectExprHeight(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:103 // stored in u.zToken. Instead, the integer values is written // into u.iValue and the EP_IntValue flag is set. No extra storage // is allocated to hold the integer text and the dequote flag is ignored. -func Xsqlite3ExprAlloc(tls *libc.TLS, db uintptr, op int32, pToken uintptr, dequote int32) uintptr { /* sqlite3.c:103302:21: */ +func Xsqlite3ExprAlloc(tls *libc.TLS, db uintptr, op int32, pToken uintptr, dequote int32) uintptr { /* sqlite3.c:103315:21: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -128357,7 +128374,7 @@ func Xsqlite3ExprAlloc(tls *libc.TLS, db uintptr, op int32, pToken uintptr, dequ // Allocate a new expression node from a zero-terminated token that has // already been dequoted. -func Xsqlite3Expr(tls *libc.TLS, db uintptr, op int32, zToken uintptr) uintptr { /* sqlite3.c:103350:21: */ +func Xsqlite3Expr(tls *libc.TLS, db uintptr, op int32, zToken uintptr) uintptr { /* sqlite3.c:103363:21: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -128372,7 +128389,7 @@ func Xsqlite3Expr(tls *libc.TLS, db uintptr, op int32, zToken uintptr) uintptr { // // If pRoot==NULL that means that a memory allocation error has occurred. // In that case, delete the subtrees pLeft and pRight. -func Xsqlite3ExprAttachSubtrees(tls *libc.TLS, db uintptr, pRoot uintptr, pLeft uintptr, pRight uintptr) { /* sqlite3.c:103367:21: */ +func Xsqlite3ExprAttachSubtrees(tls *libc.TLS, db uintptr, pRoot uintptr, pLeft uintptr, pRight uintptr) { /* sqlite3.c:103380:21: */ if pRoot == uintptr(0) { Xsqlite3ExprDelete(tls, db, pLeft) @@ -128395,7 +128412,7 @@ func Xsqlite3ExprAttachSubtrees(tls *libc.TLS, db uintptr, pRoot uintptr, pLeft // One or both of the subtrees can be NULL. Return a pointer to the new // Expr node. Or, if an OOM error occurs, set pParse->db->mallocFailed, // free the subtrees and return NULL. -func Xsqlite3PExpr(tls *libc.TLS, pParse uintptr, op int32, pLeft uintptr, pRight uintptr) uintptr { /* sqlite3.c:103397:21: */ +func Xsqlite3PExpr(tls *libc.TLS, pParse uintptr, op int32, pLeft uintptr, pRight uintptr) uintptr { /* sqlite3.c:103410:21: */ var p uintptr p = Xsqlite3DbMallocRawNN(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, uint64(unsafe.Sizeof(Expr{}))) if p != 0 { @@ -128413,7 +128430,7 @@ func Xsqlite3PExpr(tls *libc.TLS, pParse uintptr, op int32, pLeft uintptr, pRigh // Add pSelect to the Expr.x.pSelect field. Or, if pExpr is NULL (due // do a memory allocation failure) then delete the pSelect object. -func Xsqlite3PExprAddSelect(tls *libc.TLS, pParse uintptr, pExpr uintptr, pSelect uintptr) { /* sqlite3.c:103422:21: */ +func Xsqlite3PExprAddSelect(tls *libc.TLS, pParse uintptr, pExpr uintptr, pSelect uintptr) { /* sqlite3.c:103435:21: */ if pExpr != 0 { *(*uintptr)(unsafe.Pointer(pExpr + 32)) = pSelect *(*U32)(unsafe.Pointer(pExpr + 4)) |= U32(EP_xIsSelect | EP_Subquery) @@ -128441,7 +128458,7 @@ func Xsqlite3PExprAddSelect(tls *libc.TLS, pParse uintptr, pExpr uintptr, pSelec // // This is used as part of processing IN(...) expressions with a list // of vectors on the RHS. e.g. "... IN ((1,2), (3,4), (5,6))". -func Xsqlite3ExprListToValues(tls *libc.TLS, pParse uintptr, nElem int32, pEList uintptr) uintptr { /* sqlite3.c:103452:23: */ +func Xsqlite3ExprListToValues(tls *libc.TLS, pParse uintptr, nElem int32, pEList uintptr) uintptr { /* sqlite3.c:103465:23: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -128493,7 +128510,7 @@ func Xsqlite3ExprListToValues(tls *libc.TLS, pParse uintptr, nElem int32, pEList // If one side or the other of the AND is known to be false, then instead // of returning an AND expression, just return a constant expression with // a value of false. -func Xsqlite3ExprAnd(tls *libc.TLS, pParse uintptr, pLeft uintptr, pRight uintptr) uintptr { /* sqlite3.c:103499:21: */ +func Xsqlite3ExprAnd(tls *libc.TLS, pParse uintptr, pLeft uintptr, pRight uintptr) uintptr { /* sqlite3.c:103512:21: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb if pLeft == uintptr(0) { return pRight @@ -128512,7 +128529,7 @@ func Xsqlite3ExprAnd(tls *libc.TLS, pParse uintptr, pLeft uintptr, pRight uintpt // Construct a new expression node for a function with multiple // arguments. -func Xsqlite3ExprFunction(tls *libc.TLS, pParse uintptr, pList uintptr, pToken uintptr, eDistinct int32) uintptr { /* sqlite3.c:103520:21: */ +func Xsqlite3ExprFunction(tls *libc.TLS, pParse uintptr, pList uintptr, pToken uintptr, eDistinct int32) uintptr { /* sqlite3.c:103533:21: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -128549,7 +128566,7 @@ func Xsqlite3ExprFunction(tls *libc.TLS, pParse uintptr, pList uintptr, pToken u // top-level SQL // // If the function is not usable, create an error. -func Xsqlite3ExprFunctionUsable(tls *libc.TLS, pParse uintptr, pExpr uintptr, pDef uintptr) { /* sqlite3.c:103560:21: */ +func Xsqlite3ExprFunctionUsable(tls *libc.TLS, pParse uintptr, pExpr uintptr, pDef uintptr) { /* sqlite3.c:103573:21: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -128581,7 +128598,7 @@ func Xsqlite3ExprFunctionUsable(tls *libc.TLS, pParse uintptr, pExpr uintptr, pD // as the previous instance of the same wildcard. Or if this is the first // instance of the wildcard, the next sequential variable number is // assigned. -func Xsqlite3ExprAssignVarNumber(tls *libc.TLS, pParse uintptr, pExpr uintptr, n U32) { /* sqlite3.c:103599:21: */ +func Xsqlite3ExprAssignVarNumber(tls *libc.TLS, pParse uintptr, pExpr uintptr, n U32) { /* sqlite3.c:103612:21: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -128649,7 +128666,7 @@ func Xsqlite3ExprAssignVarNumber(tls *libc.TLS, pParse uintptr, pExpr uintptr, n } // Recursively delete an expression tree. -func sqlite3ExprDeleteNN(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:103669:29: */ +func sqlite3ExprDeleteNN(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:103682:29: */ if !((*Expr)(unsafe.Pointer(p)).Fflags&U32(EP_TokenOnly|EP_Leaf) != U32(0)) { // The Expr.x union is never used at the same time as Expr.pRight @@ -128679,7 +128696,7 @@ func sqlite3ExprDeleteNN(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:10 } } -func Xsqlite3ExprDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:103710:21: */ +func Xsqlite3ExprDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:103723:21: */ if p != 0 { sqlite3ExprDeleteNN(tls, db, p) } @@ -128693,13 +128710,13 @@ func Xsqlite3ExprDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:103 // // The deferred delete is (currently) implemented by adding the // pExpr to the pParse->pConstExpr list with a register number of 0. -func Xsqlite3ExprDeferredDelete(tls *libc.TLS, pParse uintptr, pExpr uintptr) { /* sqlite3.c:103725:21: */ +func Xsqlite3ExprDeferredDelete(tls *libc.TLS, pParse uintptr, pExpr uintptr) { /* sqlite3.c:103738:21: */ (*Parse)(unsafe.Pointer(pParse)).FpConstExpr = Xsqlite3ExprListAppend(tls, pParse, (*Parse)(unsafe.Pointer(pParse)).FpConstExpr, pExpr) } // Invoke sqlite3RenameExprUnmap() and sqlite3ExprDelete() on the // expression. -func Xsqlite3ExprUnmapAndDelete(tls *libc.TLS, pParse uintptr, p uintptr) { /* sqlite3.c:103733:21: */ +func Xsqlite3ExprUnmapAndDelete(tls *libc.TLS, pParse uintptr, p uintptr) { /* sqlite3.c:103746:21: */ if p != 0 { if int32((*Parse)(unsafe.Pointer(pParse)).FeParseMode) >= PARSE_MODE_RENAME { Xsqlite3RenameExprUnmap(tls, pParse, p) @@ -128711,7 +128728,7 @@ func Xsqlite3ExprUnmapAndDelete(tls *libc.TLS, pParse uintptr, p uintptr) { /* s // Return the number of bytes allocated for the expression structure // passed as the first argument. This is always one of EXPR_FULLSIZE, // EXPR_REDUCEDSIZE or EXPR_TOKENONLYSIZE. -func exprStructSize(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:103747:12: */ +func exprStructSize(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:103760:12: */ if (*Expr)(unsafe.Pointer(p)).Fflags&U32(EP_TokenOnly) != U32(0) { return int32(uintptr(0) + 16) } @@ -128753,7 +128770,7 @@ func exprStructSize(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:103747:12: */ // to reduce a pristine expression tree from the parser. The implementation // of dupedExprStructSize() contain multiple assert() statements that attempt // to enforce this constraint. -func dupedExprStructSize(tls *libc.TLS, p uintptr, flags int32) int32 { /* sqlite3.c:103787:12: */ +func dupedExprStructSize(tls *libc.TLS, p uintptr, flags int32) int32 { /* sqlite3.c:103800:12: */ var nSize int32 // Only one flag value allowed @@ -128775,7 +128792,7 @@ func dupedExprStructSize(tls *libc.TLS, p uintptr, flags int32) int32 { /* sqlit // This function returns the space in bytes required to store the copy // of the Expr structure and a copy of the Expr.u.zToken string (if that // string is defined.) -func dupedExprNodeSize(tls *libc.TLS, p uintptr, flags int32) int32 { /* sqlite3.c:103818:12: */ +func dupedExprNodeSize(tls *libc.TLS, p uintptr, flags int32) int32 { /* sqlite3.c:103831:12: */ var nByte int32 = dupedExprStructSize(tls, p, flags) & 0xfff if !((*Expr)(unsafe.Pointer(p)).Fflags&U32(EP_IntValue) != U32(0)) && *(*uintptr)(unsafe.Pointer(p + 8)) != 0 { nByte = int32(Size_t(nByte) + (libc.Xstrlen(tls, *(*uintptr)(unsafe.Pointer(p + 8)))&uint64(0x3fffffff) + uint64(1))) @@ -128794,7 +128811,7 @@ func dupedExprNodeSize(tls *libc.TLS, p uintptr, flags int32) int32 { /* sqlite3 // space to duplicate all Expr nodes in the tree formed by Expr.pLeft // and Expr.pRight variables (but not for any structures pointed to or // descended from the Expr.x.pList or Expr.x.pSelect variables). -func dupedExprSize(tls *libc.TLS, p uintptr, flags int32) int32 { /* sqlite3.c:103839:12: */ +func dupedExprSize(tls *libc.TLS, p uintptr, flags int32) int32 { /* sqlite3.c:103852:12: */ var nByte int32 = 0 if p != 0 { nByte = dupedExprNodeSize(tls, p, flags) @@ -128811,7 +128828,7 @@ func dupedExprSize(tls *libc.TLS, p uintptr, flags int32) int32 { /* sqlite3.c:1 // (if applicable), and the copies of the p->pLeft and p->pRight expressions, // if any. Before returning, *pzBuffer is set to the first byte past the // portion of the buffer copied into by this function. -func exprDup(tls *libc.TLS, db uintptr, p uintptr, dupFlags int32, pzBuffer uintptr) uintptr { /* sqlite3.c:103858:13: */ +func exprDup(tls *libc.TLS, db uintptr, p uintptr, dupFlags int32, pzBuffer uintptr) uintptr { /* sqlite3.c:103871:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -128921,7 +128938,7 @@ func exprDup(tls *libc.TLS, db uintptr, p uintptr, dupFlags int32, pzBuffer uint // Create and return a deep copy of the object passed as the second // argument. If an OOM condition is encountered, NULL is returned // and the db->mallocFailed flag set. -func Xsqlite3WithDup(tls *libc.TLS, db uintptr, p uintptr) uintptr { /* sqlite3.c:103968:21: */ +func Xsqlite3WithDup(tls *libc.TLS, db uintptr, p uintptr) uintptr { /* sqlite3.c:103981:21: */ var pRet uintptr = uintptr(0) if p != 0 { var nByte Sqlite3_int64 = Sqlite3_int64(uint64(unsafe.Sizeof(With{})) + uint64(unsafe.Sizeof(Cte{}))*uint64((*With)(unsafe.Pointer(p)).FnCte-1)) @@ -128943,7 +128960,7 @@ func Xsqlite3WithDup(tls *libc.TLS, db uintptr, p uintptr) uintptr { /* sqlite3. // gatherSelectWindowsCallback() are used to scan all the expressions // an a newly duplicated SELECT statement and gather all of the Window // objects found there, assembling them onto the linked list at Select->pWin. -func gatherSelectWindowsCallback(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:103996:12: */ +func gatherSelectWindowsCallback(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:104009:12: */ if int32((*Expr)(unsafe.Pointer(pExpr)).Fop) == TK_FUNCTION && (*Expr)(unsafe.Pointer(pExpr)).Fflags&U32(EP_WinFunc) != U32(0) { var pSelect uintptr = *(*uintptr)(unsafe.Pointer(pWalker + 40)) var pWin uintptr = *(*uintptr)(unsafe.Pointer(pExpr + 64)) @@ -128953,14 +128970,14 @@ func gatherSelectWindowsCallback(tls *libc.TLS, pWalker uintptr, pExpr uintptr) return WRC_Continue } -func gatherSelectWindowsSelectCallback(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sqlite3.c:104007:12: */ +func gatherSelectWindowsSelectCallback(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sqlite3.c:104020:12: */ if p == *(*uintptr)(unsafe.Pointer(pWalker + 40)) { return WRC_Continue } return WRC_Prune } -func gatherSelectWindows(tls *libc.TLS, p uintptr) { /* sqlite3.c:104010:13: */ +func gatherSelectWindows(tls *libc.TLS, p uintptr) { /* sqlite3.c:104023:13: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -128993,7 +129010,7 @@ func gatherSelectWindows(tls *libc.TLS, p uintptr) { /* sqlite3.c:104010:13: */ // If the EXPRDUP_REDUCE flag is set, then the structure returned is a // truncated version of the usual Expr structure that will be stored as // part of the in-memory representation of the database schema. -func Xsqlite3ExprDup(tls *libc.TLS, db uintptr, p uintptr, flags int32) uintptr { /* sqlite3.c:104039:21: */ +func Xsqlite3ExprDup(tls *libc.TLS, db uintptr, p uintptr, flags int32) uintptr { /* sqlite3.c:104052:21: */ if p != 0 { return exprDup(tls, db, p, flags, uintptr(0)) @@ -129001,7 +129018,7 @@ func Xsqlite3ExprDup(tls *libc.TLS, db uintptr, p uintptr, flags int32) uintptr return uintptr(0) } -func Xsqlite3ExprListDup(tls *libc.TLS, db uintptr, p uintptr, flags int32) uintptr { /* sqlite3.c:104043:25: */ +func Xsqlite3ExprListDup(tls *libc.TLS, db uintptr, p uintptr, flags int32) uintptr { /* sqlite3.c:104056:25: */ var pNew uintptr var pItem uintptr var pOldItem uintptr @@ -129070,7 +129087,7 @@ __3: // the build, then none of the following routines, except for // sqlite3SelectDup(), can be called. sqlite3SelectDup() is sometimes // called with a NULL argument. -func Xsqlite3SrcListDup(tls *libc.TLS, db uintptr, p uintptr, flags int32) uintptr { /* sqlite3.c:104098:24: */ +func Xsqlite3SrcListDup(tls *libc.TLS, db uintptr, p uintptr, flags int32) uintptr { /* sqlite3.c:104111:24: */ var pNew uintptr var i int32 var nByte int32 @@ -129123,7 +129140,7 @@ func Xsqlite3SrcListDup(tls *libc.TLS, db uintptr, p uintptr, flags int32) uintp return pNew } -func Xsqlite3IdListDup(tls *libc.TLS, db uintptr, p uintptr) uintptr { /* sqlite3.c:104142:23: */ +func Xsqlite3IdListDup(tls *libc.TLS, db uintptr, p uintptr) uintptr { /* sqlite3.c:104155:23: */ var pNew uintptr var i int32 @@ -129152,7 +129169,7 @@ func Xsqlite3IdListDup(tls *libc.TLS, db uintptr, p uintptr) uintptr { /* sqlite return pNew } -func Xsqlite3SelectDup(tls *libc.TLS, db uintptr, pDup uintptr, flags int32) uintptr { /* sqlite3.c:104166:23: */ +func Xsqlite3SelectDup(tls *libc.TLS, db uintptr, pDup uintptr, flags int32) uintptr { /* sqlite3.c:104179:23: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -129218,9 +129235,9 @@ func Xsqlite3SelectDup(tls *libc.TLS, db uintptr, pDup uintptr, flags int32) uin // If a memory allocation error occurs, the entire list is freed and // NULL is returned. If non-NULL is returned, then it is guaranteed // that the new entry was successfully appended. -var zeroItem = ExprList_item{} /* sqlite3.c:104237:35 */ +var zeroItem = ExprList_item{} /* sqlite3.c:104250:35 */ -func Xsqlite3ExprListAppendNew(tls *libc.TLS, db uintptr, pExpr uintptr) uintptr { /* sqlite3.c:104238:41: */ +func Xsqlite3ExprListAppendNew(tls *libc.TLS, db uintptr, pExpr uintptr) uintptr { /* sqlite3.c:104251:41: */ var pItem uintptr var pList uintptr @@ -129237,7 +129254,7 @@ func Xsqlite3ExprListAppendNew(tls *libc.TLS, db uintptr, pExpr uintptr) uintptr return pList } -func Xsqlite3ExprListAppendGrow(tls *libc.TLS, db uintptr, pList uintptr, pExpr uintptr) uintptr { /* sqlite3.c:104257:41: */ +func Xsqlite3ExprListAppendGrow(tls *libc.TLS, db uintptr, pList uintptr, pExpr uintptr) uintptr { /* sqlite3.c:104270:41: */ var pItem uintptr var pNew uintptr *(*int32)(unsafe.Pointer(pList + 4)) *= 2 @@ -129256,7 +129273,7 @@ func Xsqlite3ExprListAppendGrow(tls *libc.TLS, db uintptr, pList uintptr, pExpr return pList } -func Xsqlite3ExprListAppend(tls *libc.TLS, pParse uintptr, pList uintptr, pExpr uintptr) uintptr { /* sqlite3.c:104279:25: */ +func Xsqlite3ExprListAppend(tls *libc.TLS, pParse uintptr, pList uintptr, pExpr uintptr) uintptr { /* sqlite3.c:104292:25: */ var pItem uintptr if pList == uintptr(0) { return Xsqlite3ExprListAppendNew(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, pExpr) @@ -129279,7 +129296,7 @@ func Xsqlite3ExprListAppend(tls *libc.TLS, pParse uintptr, pList uintptr, pExpr // For each term of the vector assignment, append new entries to the // expression list pList. In the case of a subquery on the RHS, append // TK_SELECT_COLUMN expressions. -func Xsqlite3ExprListAppendVector(tls *libc.TLS, pParse uintptr, pList uintptr, pColumns uintptr, pExpr uintptr) uintptr { /* sqlite3.c:104308:25: */ +func Xsqlite3ExprListAppendVector(tls *libc.TLS, pParse uintptr, pList uintptr, pColumns uintptr, pExpr uintptr) uintptr { /* sqlite3.c:104321:25: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -129376,7 +129393,7 @@ vector_append_error: } // Set the sort order for the last element on the given ExprList. -func Xsqlite3ExprListSetSortOrder(tls *libc.TLS, p uintptr, iSortOrder int32, eNulls int32) { /* sqlite3.c:104370:21: */ +func Xsqlite3ExprListSetSortOrder(tls *libc.TLS, p uintptr, iSortOrder int32, eNulls int32) { /* sqlite3.c:104383:21: */ var pItem uintptr if p == uintptr(0) { return @@ -129403,7 +129420,7 @@ func Xsqlite3ExprListSetSortOrder(tls *libc.TLS, p uintptr, iSortOrder int32, eN // pList might be NULL following an OOM error. But pName should never be // NULL. If a memory allocation fails, the pParse->db->mallocFailed flag // is set. -func Xsqlite3ExprListSetName(tls *libc.TLS, pParse uintptr, pList uintptr, pName uintptr, dequote int32) { /* sqlite3.c:104408:21: */ +func Xsqlite3ExprListSetName(tls *libc.TLS, pParse uintptr, pList uintptr, pName uintptr, dequote int32) { /* sqlite3.c:104421:21: */ if pList != 0 { var pItem uintptr @@ -129429,7 +129446,7 @@ func Xsqlite3ExprListSetName(tls *libc.TLS, pParse uintptr, pList uintptr, pName // pList might be NULL following an OOM error. But pSpan should never be // NULL. If a memory allocation fails, the pParse->db->mallocFailed flag // is set. -func Xsqlite3ExprListSetSpan(tls *libc.TLS, pParse uintptr, pList uintptr, zStart uintptr, zEnd uintptr) { /* sqlite3.c:104443:21: */ +func Xsqlite3ExprListSetSpan(tls *libc.TLS, pParse uintptr, pList uintptr, zStart uintptr, zEnd uintptr) { /* sqlite3.c:104456:21: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb if pList != 0 { @@ -129444,7 +129461,7 @@ func Xsqlite3ExprListSetSpan(tls *libc.TLS, pParse uintptr, pList uintptr, zStar // If the expression list pEList contains more than iLimit elements, // leave an error message in pParse. -func Xsqlite3ExprListCheckLength(tls *libc.TLS, pParse uintptr, pEList uintptr, zObject uintptr) { /* sqlite3.c:104465:21: */ +func Xsqlite3ExprListCheckLength(tls *libc.TLS, pParse uintptr, pEList uintptr, zObject uintptr) { /* sqlite3.c:104478:21: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -129456,7 +129473,7 @@ func Xsqlite3ExprListCheckLength(tls *libc.TLS, pParse uintptr, pEList uintptr, } // Delete an entire expression list. -func exprListDeleteNN(tls *libc.TLS, db uintptr, pList uintptr) { /* sqlite3.c:104481:29: */ +func exprListDeleteNN(tls *libc.TLS, db uintptr, pList uintptr) { /* sqlite3.c:104494:29: */ var i int32 = (*ExprList)(unsafe.Pointer(pList)).FnExpr var pItem uintptr = pList + 8 /* &.a */ @@ -129468,7 +129485,7 @@ func exprListDeleteNN(tls *libc.TLS, db uintptr, pList uintptr) { /* sqlite3.c:1 Xsqlite3DbFreeNN(tls, db, pList) } -func Xsqlite3ExprListDelete(tls *libc.TLS, db uintptr, pList uintptr) { /* sqlite3.c:104492:21: */ +func Xsqlite3ExprListDelete(tls *libc.TLS, db uintptr, pList uintptr) { /* sqlite3.c:104505:21: */ if pList != 0 { exprListDeleteNN(tls, db, pList) } @@ -129476,7 +129493,7 @@ func Xsqlite3ExprListDelete(tls *libc.TLS, db uintptr, pList uintptr) { /* sqlit // Return the bitwise-OR of all Expr.flags fields in the given // ExprList. -func Xsqlite3ExprListFlags(tls *libc.TLS, pList uintptr) U32 { /* sqlite3.c:104500:20: */ +func Xsqlite3ExprListFlags(tls *libc.TLS, pList uintptr) U32 { /* sqlite3.c:104513:20: */ var i int32 var m U32 = U32(0) @@ -129493,7 +129510,7 @@ func Xsqlite3ExprListFlags(tls *libc.TLS, pList uintptr) U32 { /* sqlite3.c:1045 // pWalker->eCode to zero and abort. // // This callback is used by multiple expression walkers. -func Xsqlite3SelectWalkFail(tls *libc.TLS, pWalker uintptr, NotUsed uintptr) int32 { /* sqlite3.c:104519:20: */ +func Xsqlite3SelectWalkFail(tls *libc.TLS, pWalker uintptr, NotUsed uintptr) int32 { /* sqlite3.c:104532:20: */ _ = NotUsed (*Walker)(unsafe.Pointer(pWalker)).FeCode = U16(0) return WRC_Abort @@ -129505,7 +129522,7 @@ func Xsqlite3SelectWalkFail(tls *libc.TLS, pWalker uintptr, NotUsed uintptr) int // "true" EP_IsTrue // "false" EP_IsFalse // anything else 0 -func Xsqlite3IsTrueOrFalse(tls *libc.TLS, zIn uintptr) U32 { /* sqlite3.c:104533:20: */ +func Xsqlite3IsTrueOrFalse(tls *libc.TLS, zIn uintptr) U32 { /* sqlite3.c:104546:20: */ if Xsqlite3StrICmp(tls, zIn, ts+7998) == 0 { return U32(EP_IsTrue) } @@ -129518,7 +129535,7 @@ func Xsqlite3IsTrueOrFalse(tls *libc.TLS, zIn uintptr) U32 { /* sqlite3.c:104533 // If the input expression is an ID with the name "true" or "false" // then convert it into an TK_TRUEFALSE term. Return non-zero if // the conversion happened, and zero if the expression is unaltered. -func Xsqlite3ExprIdToTrueFalse(tls *libc.TLS, pExpr uintptr) int32 { /* sqlite3.c:104545:20: */ +func Xsqlite3ExprIdToTrueFalse(tls *libc.TLS, pExpr uintptr) int32 { /* sqlite3.c:104558:20: */ var v U32 if !((*Expr)(unsafe.Pointer(pExpr)).Fflags&U32(EP_Quoted|EP_IntValue) != U32(0)) && @@ -129532,7 +129549,7 @@ func Xsqlite3ExprIdToTrueFalse(tls *libc.TLS, pExpr uintptr) int32 { /* sqlite3. // The argument must be a TK_TRUEFALSE Expr node. Return 1 if it is TRUE // and 0 if it is FALSE. -func Xsqlite3ExprTruthValue(tls *libc.TLS, pExpr uintptr) int32 { /* sqlite3.c:104562:20: */ +func Xsqlite3ExprTruthValue(tls *libc.TLS, pExpr uintptr) int32 { /* sqlite3.c:104575:20: */ pExpr = Xsqlite3ExprSkipCollate(tls, pExpr) return libc.Bool32(int32(*(*int8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pExpr + 8)) + 4))) == 0) @@ -129549,7 +129566,7 @@ func Xsqlite3ExprTruthValue(tls *libc.TLS, pExpr uintptr) int32 { /* sqlite3.c:1 // (x<10) AND (y=22 OR false) => (x<10) AND (y=22) // (x<10) AND (y=22 OR true) => (x<10) // (y=22) OR true => true -func Xsqlite3ExprSimplifiedAndOr(tls *libc.TLS, pExpr uintptr) uintptr { /* sqlite3.c:104584:21: */ +func Xsqlite3ExprSimplifiedAndOr(tls *libc.TLS, pExpr uintptr) uintptr { /* sqlite3.c:104597:21: */ if int32((*Expr)(unsafe.Pointer(pExpr)).Fop) == TK_AND || int32((*Expr)(unsafe.Pointer(pExpr)).Fop) == TK_OR { var pRight uintptr = Xsqlite3ExprSimplifiedAndOr(tls, (*Expr)(unsafe.Pointer(pExpr)).FpRight) @@ -129595,7 +129612,7 @@ func Xsqlite3ExprSimplifiedAndOr(tls *libc.TLS, pExpr uintptr) uintptr { /* sqli // contain a bound parameter because they were generated by older versions // of SQLite to be parsed by newer versions of SQLite without raising a // malformed schema error. -func exprNodeIsConstant(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:104625:12: */ +func exprNodeIsConstant(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:104638:12: */ // If pWalker->eCode is 2 then any term of the expression that comes from // the ON or USING clauses of a left join disqualifies the expression @@ -129670,7 +129687,7 @@ func exprNodeIsConstant(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { / return int32(0) } -func exprIsConst(tls *libc.TLS, p uintptr, initFlag int32, iCur int32) int32 { /* sqlite3.c:104697:12: */ +func exprIsConst(tls *libc.TLS, p uintptr, initFlag int32, iCur int32) int32 { /* sqlite3.c:104710:12: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -129694,7 +129711,7 @@ func exprIsConst(tls *libc.TLS, p uintptr, initFlag int32, iCur int32) int32 { / // For the purposes of this function, a double-quoted string (ex: "abc") // is considered a variable but a single-quoted string (ex: 'abc') is // a constant. -func Xsqlite3ExprIsConstant(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:104718:20: */ +func Xsqlite3ExprIsConstant(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:104731:20: */ return exprIsConst(tls, p, 1, 0) } @@ -129709,7 +129726,7 @@ func Xsqlite3ExprIsConstant(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:10471 // When this routine returns true, it indicates that the expression // can be added to the pParse->pConstExpr list and evaluated once when // the prepared statement starts up. See sqlite3ExprCodeRunJustOnce(). -func Xsqlite3ExprIsConstantNotJoin(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:104735:20: */ +func Xsqlite3ExprIsConstantNotJoin(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:104748:20: */ return exprIsConst(tls, p, 2, 0) } @@ -129717,12 +129734,12 @@ func Xsqlite3ExprIsConstantNotJoin(tls *libc.TLS, p uintptr) int32 { /* sqlite3. // for any single row of the table with cursor iCur. In other words, the // expression must not refer to any non-deterministic function nor any // table other than iCur. -func Xsqlite3ExprIsTableConstant(tls *libc.TLS, p uintptr, iCur int32) int32 { /* sqlite3.c:104745:20: */ +func Xsqlite3ExprIsTableConstant(tls *libc.TLS, p uintptr, iCur int32) int32 { /* sqlite3.c:104758:20: */ return exprIsConst(tls, p, 3, iCur) } // sqlite3WalkExpr() callback used by sqlite3ExprIsConstantOrGroupBy(). -func exprNodeIsConstantOrGroupBy(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:104753:12: */ +func exprNodeIsConstantOrGroupBy(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:104766:12: */ var pGroupBy uintptr = *(*uintptr)(unsafe.Pointer(pWalker + 40)) var i int32 @@ -129764,7 +129781,7 @@ func exprNodeIsConstantOrGroupBy(tls *libc.TLS, pWalker uintptr, pExpr uintptr) // alternative collating sequences are uncommon, and this is only an // optimization, so we take the easy way out and simply require the // GROUP BY to use the BINARY collating sequence. -func Xsqlite3ExprIsConstantOrGroupBy(tls *libc.TLS, pParse uintptr, p uintptr, pGroupBy uintptr) int32 { /* sqlite3.c:104797:20: */ +func Xsqlite3ExprIsConstantOrGroupBy(tls *libc.TLS, pParse uintptr, p uintptr, pGroupBy uintptr) int32 { /* sqlite3.c:104810:20: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -129800,7 +129817,7 @@ func Xsqlite3ExprIsConstantOrGroupBy(tls *libc.TLS, pParse uintptr, p uintptr, p // For the purposes of this function, a double-quoted string (ex: "abc") // is considered a variable but a single-quoted string (ex: 'abc') is // a constant. -func Xsqlite3ExprIsConstantOrFunction(tls *libc.TLS, p uintptr, isInit U8) int32 { /* sqlite3.c:104829:20: */ +func Xsqlite3ExprIsConstantOrFunction(tls *libc.TLS, p uintptr, isInit U8) int32 { /* sqlite3.c:104842:20: */ return exprIsConst(tls, p, 4+int32(isInit), 0) } @@ -129809,7 +129826,7 @@ func Xsqlite3ExprIsConstantOrFunction(tls *libc.TLS, p uintptr, isInit U8) int32 // to fit in a 32-bit integer, return 1 and put the value of the integer // in *pValue. If the expression is not an integer or if it is too big // to fit in a signed 32-bit integer, return 0 and leave *pValue unchanged. -func Xsqlite3ExprIsInteger(tls *libc.TLS, p uintptr, pValue uintptr) int32 { /* sqlite3.c:104858:20: */ +func Xsqlite3ExprIsInteger(tls *libc.TLS, p uintptr, pValue uintptr) int32 { /* sqlite3.c:104871:20: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -129861,7 +129878,7 @@ func Xsqlite3ExprIsInteger(tls *libc.TLS, p uintptr, pValue uintptr) int32 { /* // hand, a false negative (returning FALSE when the result could be NULL) // will likely result in an incorrect answer. So when in doubt, return // TRUE. -func Xsqlite3ExprCanBeNull(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:104904:20: */ +func Xsqlite3ExprCanBeNull(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:104917:20: */ var op U8 for int32((*Expr)(unsafe.Pointer(p)).Fop) == TK_UPLUS || int32((*Expr)(unsafe.Pointer(p)).Fop) == TK_UMINUS { @@ -129900,7 +129917,7 @@ func Xsqlite3ExprCanBeNull(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:104904 // can be omitted. When in doubt return FALSE. A false negative // is harmless. A false positive, however, can result in the wrong // answer. -func Xsqlite3ExprNeedsNoAffinityChange(tls *libc.TLS, p uintptr, aff int8) int32 { /* sqlite3.c:104941:20: */ +func Xsqlite3ExprNeedsNoAffinityChange(tls *libc.TLS, p uintptr, aff int8) int32 { /* sqlite3.c:104954:20: */ var op U8 var unaryMinus int32 = 0 if int32(aff) == SQLITE_AFF_BLOB { @@ -129953,7 +129970,7 @@ func Xsqlite3ExprNeedsNoAffinityChange(tls *libc.TLS, p uintptr, aff int8) int32 } // Return TRUE if the given string is a row-id column name. -func Xsqlite3IsRowid(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:104977:20: */ +func Xsqlite3IsRowid(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:104990:20: */ if Xsqlite3StrICmp(tls, z, ts+8944) == 0 { return 1 } @@ -129971,7 +129988,7 @@ func Xsqlite3IsRowid(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:104977:20: * // a pointer to the SELECT statement. If pX is not a SELECT statement, // or if the SELECT statement needs to be manifested into a transient // table, then return NULL. -func isCandidateForInOpt(tls *libc.TLS, pX uintptr) uintptr { /* sqlite3.c:104992:15: */ +func isCandidateForInOpt(tls *libc.TLS, pX uintptr) uintptr { /* sqlite3.c:105005:15: */ var p uintptr var pSrc uintptr var pEList uintptr @@ -130029,7 +130046,7 @@ func isCandidateForInOpt(tls *libc.TLS, pX uintptr) uintptr { /* sqlite3.c:10499 // it contains any NULL entries. Cause the register at regHasNull to be set // to a non-NULL value if iCur contains no NULLs. Cause register regHasNull // to be set to NULL if iCur contains one or more NULL values. -func sqlite3SetHasNullFlag(tls *libc.TLS, v uintptr, iCur int32, regHasNull int32) { /* sqlite3.c:105037:13: */ +func sqlite3SetHasNullFlag(tls *libc.TLS, v uintptr, iCur int32, regHasNull int32) { /* sqlite3.c:105050:13: */ var addr1 int32 Xsqlite3VdbeAddOp2(tls, v, OP_Integer, 0, regHasNull) addr1 = Xsqlite3VdbeAddOp1(tls, v, OP_Rewind, iCur) @@ -130041,7 +130058,7 @@ func sqlite3SetHasNullFlag(tls *libc.TLS, v uintptr, iCur int32, regHasNull int3 // The argument is an IN operator with a list (not a subquery) on the // right-hand side. Return TRUE if that list is constant. -func sqlite3InRhsIsConstant(tls *libc.TLS, pIn uintptr) int32 { /* sqlite3.c:105054:12: */ +func sqlite3InRhsIsConstant(tls *libc.TLS, pIn uintptr) int32 { /* sqlite3.c:105067:12: */ var pLHS uintptr var res int32 @@ -130130,7 +130147,7 @@ func sqlite3InRhsIsConstant(tls *libc.TLS, pIn uintptr) int32 { /* sqlite3.c:105 // CREATE INDEX i1 ON t1(b, c, a); // // then aiMap[] is populated with {2, 0, 1}. -func Xsqlite3FindInIndex(tls *libc.TLS, pParse uintptr, pX uintptr, inFlags U32, prRhsHasNull uintptr, aiMap uintptr, piTab uintptr) int32 { /* sqlite3.c:105147:20: */ +func Xsqlite3FindInIndex(tls *libc.TLS, pParse uintptr, pX uintptr, inFlags U32, prRhsHasNull uintptr, aiMap uintptr, piTab uintptr) int32 { /* sqlite3.c:105160:20: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -130348,7 +130365,7 @@ func Xsqlite3FindInIndex(tls *libc.TLS, pParse uintptr, pX uintptr, inFlags U32, // // It is the responsibility of the caller to ensure that the returned // string is eventually freed using sqlite3DbFree(). -func exprINAffinity(tls *libc.TLS, pParse uintptr, pExpr uintptr) uintptr { /* sqlite3.c:105370:13: */ +func exprINAffinity(tls *libc.TLS, pParse uintptr, pExpr uintptr) uintptr { /* sqlite3.c:105383:13: */ var pLeft uintptr = (*Expr)(unsafe.Pointer(pExpr)).FpLeft var nVal int32 = Xsqlite3ExprVectorSize(tls, pLeft) var pSelect uintptr @@ -130380,7 +130397,7 @@ func exprINAffinity(tls *libc.TLS, pParse uintptr, pExpr uintptr) uintptr { /* s // message of the form: // // "sub-select returns N columns - expected M" -func Xsqlite3SubselectError(tls *libc.TLS, pParse uintptr, nActual int32, nExpect int32) { /* sqlite3.c:105402:21: */ +func Xsqlite3SubselectError(tls *libc.TLS, pParse uintptr, nActual int32, nExpect int32) { /* sqlite3.c:105415:21: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -130399,7 +130416,7 @@ func Xsqlite3SubselectError(tls *libc.TLS, pParse uintptr, nActual int32, nExpec // Or, if it is a regular scalar vector: // // "row value misused" -func Xsqlite3VectorErrorMsg(tls *libc.TLS, pParse uintptr, pExpr uintptr) { /* sqlite3.c:105421:21: */ +func Xsqlite3VectorErrorMsg(tls *libc.TLS, pParse uintptr, pExpr uintptr) { /* sqlite3.c:105434:21: */ if (*Expr)(unsafe.Pointer(pExpr)).Fflags&U32(EP_xIsSelect) != U32(0) { Xsqlite3SubselectError(tls, pParse, (*ExprList)(unsafe.Pointer((*Select)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pExpr + 32)))).FpEList)).FnExpr, 1) } else { @@ -130427,7 +130444,7 @@ func Xsqlite3VectorErrorMsg(tls *libc.TLS, pParse uintptr, pExpr uintptr) { /* s // if either column has NUMERIC or INTEGER affinity. If neither // 'x' nor the SELECT... statement are columns, then numeric affinity // is used. -func Xsqlite3CodeRhsOfIN(tls *libc.TLS, pParse uintptr, pExpr uintptr, iTab int32) { /* sqlite3.c:105455:21: */ +func Xsqlite3CodeRhsOfIN(tls *libc.TLS, pParse uintptr, pExpr uintptr, iTab int32) { /* sqlite3.c:105468:21: */ bp := tls.Alloc(65) defer tls.Free(65) @@ -130622,7 +130639,7 @@ func Xsqlite3CodeRhsOfIN(tls *libc.TLS, pParse uintptr, pExpr uintptr, iTab int3 // the result is stored in a contiguous array of registers and the // return value is the register of the left-most result column. // Return 0 if an error occurs. -func Xsqlite3CodeSubselect(tls *libc.TLS, pParse uintptr, pExpr uintptr) int32 { /* sqlite3.c:105650:20: */ +func Xsqlite3CodeSubselect(tls *libc.TLS, pParse uintptr, pExpr uintptr) int32 { /* sqlite3.c:105663:20: */ bp := tls.Alloc(64) defer tls.Free(64) @@ -130745,7 +130762,7 @@ func Xsqlite3CodeSubselect(tls *libc.TLS, pParse uintptr, pExpr uintptr) int32 { // sub-select on the RHS of the IN() operator has the same number of // columns as the vector on the LHS. Or, if the RHS of the IN() is not // a sub-query, that the LHS is a vector of size 1. -func Xsqlite3ExprCheckIN(tls *libc.TLS, pParse uintptr, pIn uintptr) int32 { /* sqlite3.c:105772:20: */ +func Xsqlite3ExprCheckIN(tls *libc.TLS, pParse uintptr, pIn uintptr) int32 { /* sqlite3.c:105785:20: */ var nVector int32 = Xsqlite3ExprVectorSize(tls, (*Expr)(unsafe.Pointer(pIn)).FpLeft) if (*Expr)(unsafe.Pointer(pIn)).Fflags&U32(EP_xIsSelect) != U32(0) && !(int32((*Sqlite3)(unsafe.Pointer((*Parse)(unsafe.Pointer(pParse)).Fdb)).FmallocFailed) != 0) { if nVector != (*ExprList)(unsafe.Pointer((*Select)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pIn + 32)))).FpEList)).FnExpr { @@ -130782,7 +130799,7 @@ func Xsqlite3ExprCheckIN(tls *libc.TLS, pParse uintptr, pIn uintptr) int32 { /* // // See the separate in-operator.md documentation file in the canonical // SQLite source tree for additional information. -func sqlite3ExprCodeIN(tls *libc.TLS, pParse uintptr, pExpr uintptr, destIfFalse int32, destIfNull int32) { /* sqlite3.c:105813:13: */ +func sqlite3ExprCodeIN(tls *libc.TLS, pParse uintptr, pExpr uintptr, destIfFalse int32, destIfNull int32) { /* sqlite3.c:105826:13: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -131163,7 +131180,7 @@ sqlite3ExprCodeIN_oom_error: // The z[] string will probably not be zero-terminated. But the // z[n] character is guaranteed to be something that does not look // like the continuation of the number. -func codeReal(tls *libc.TLS, v uintptr, z uintptr, negateFlag int32, iMem int32) { /* sqlite3.c:106071:13: */ +func codeReal(tls *libc.TLS, v uintptr, z uintptr, negateFlag int32, iMem int32) { /* sqlite3.c:106084:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -131183,7 +131200,7 @@ func codeReal(tls *libc.TLS, v uintptr, z uintptr, negateFlag int32, iMem int32) // text z[0..n-1] into register iMem. // // Expr.u.zToken is always UTF8 and zero-terminated. -func codeInteger(tls *libc.TLS, pParse uintptr, pExpr uintptr, negFlag int32, iMem int32) { /* sqlite3.c:106089:13: */ +func codeInteger(tls *libc.TLS, pParse uintptr, pExpr uintptr, negFlag int32, iMem int32) { /* sqlite3.c:106102:13: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -131229,7 +131246,7 @@ func codeInteger(tls *libc.TLS, pParse uintptr, pExpr uintptr, negFlag int32, iM // Generate code that will load into register regOut a value that is // appropriate for the iIdxCol-th column of index pIdx. -func Xsqlite3ExprCodeLoadIndexColumn(tls *libc.TLS, pParse uintptr, pIdx uintptr, iTabCur int32, iIdxCol int32, regOut int32) { /* sqlite3.c:106127:21: */ +func Xsqlite3ExprCodeLoadIndexColumn(tls *libc.TLS, pParse uintptr, pIdx uintptr, iTabCur int32, iIdxCol int32, regOut int32) { /* sqlite3.c:106140:21: */ var iTabCol I16 = *(*I16)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FaiColumn + uintptr(iIdxCol)*2)) if int32(iTabCol) == -2 { @@ -131244,7 +131261,7 @@ func Xsqlite3ExprCodeLoadIndexColumn(tls *libc.TLS, pParse uintptr, pIdx uintptr // Generate code that will compute the value of generated column pCol // and store the result in register regOut -func Xsqlite3ExprCodeGeneratedColumn(tls *libc.TLS, pParse uintptr, pTab uintptr, pCol uintptr, regOut int32) { /* sqlite3.c:106152:21: */ +func Xsqlite3ExprCodeGeneratedColumn(tls *libc.TLS, pParse uintptr, pTab uintptr, pCol uintptr, regOut int32) { /* sqlite3.c:106165:21: */ var iAddr int32 var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe @@ -131263,7 +131280,7 @@ func Xsqlite3ExprCodeGeneratedColumn(tls *libc.TLS, pParse uintptr, pTab uintptr } // Generate code to extract the value of the iCol-th column of a table. -func Xsqlite3ExprCodeGetColumnOfTable(tls *libc.TLS, v uintptr, pTab uintptr, iTabCur int32, iCol int32, regOut int32) { /* sqlite3.c:106178:21: */ +func Xsqlite3ExprCodeGetColumnOfTable(tls *libc.TLS, v uintptr, pTab uintptr, iTabCur int32, iCol int32, regOut int32) { /* sqlite3.c:106191:21: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -131314,7 +131331,7 @@ func Xsqlite3ExprCodeGetColumnOfTable(tls *libc.TLS, v uintptr, pTab uintptr, iT // // There must be an open cursor to pTab in iTable when this routine // is called. If iColumn<0 then code is generated that extracts the rowid. -func Xsqlite3ExprCodeGetColumn(tls *libc.TLS, pParse uintptr, pTab uintptr, iColumn int32, iTable int32, iReg int32, p5 U8) int32 { /* sqlite3.c:106236:20: */ +func Xsqlite3ExprCodeGetColumn(tls *libc.TLS, pParse uintptr, pTab uintptr, iColumn int32, iTable int32, iReg int32, p5 U8) int32 { /* sqlite3.c:106249:20: */ Xsqlite3ExprCodeGetColumnOfTable(tls, (*Parse)(unsafe.Pointer(pParse)).FpVdbe, pTab, iTable, iColumn, iReg) if p5 != 0 { @@ -131328,14 +131345,14 @@ func Xsqlite3ExprCodeGetColumn(tls *libc.TLS, pParse uintptr, pTab uintptr, iCol // Generate code to move content from registers iFrom...iFrom+nReg-1 // over to iTo..iTo+nReg-1. -func Xsqlite3ExprCodeMove(tls *libc.TLS, pParse uintptr, iFrom int32, iTo int32, nReg int32) { /* sqlite3.c:106257:21: */ +func Xsqlite3ExprCodeMove(tls *libc.TLS, pParse uintptr, iFrom int32, iTo int32, nReg int32) { /* sqlite3.c:106270:21: */ Xsqlite3VdbeAddOp3(tls, (*Parse)(unsafe.Pointer(pParse)).FpVdbe, OP_Move, iFrom, iTo, nReg) } // Convert a scalar expression node to a TK_REGISTER referencing // register iReg. The caller must ensure that iReg already contains // the correct value for the expression. -func exprToRegister(tls *libc.TLS, pExpr uintptr, iReg int32) { /* sqlite3.c:106266:13: */ +func exprToRegister(tls *libc.TLS, pExpr uintptr, iReg int32) { /* sqlite3.c:106279:13: */ var p uintptr = Xsqlite3ExprSkipCollateAndLikely(tls, pExpr) if p == uintptr(0) { return @@ -131354,7 +131371,7 @@ func exprToRegister(tls *libc.TLS, pExpr uintptr, iReg int32) { /* sqlite3.c:106 // that register number into *piFreeable. If the returned result register // is not a temporary or if the expression is a vector set *piFreeable // to 0. -func exprCodeVector(tls *libc.TLS, pParse uintptr, p uintptr, piFreeable uintptr) int32 { /* sqlite3.c:106285:12: */ +func exprCodeVector(tls *libc.TLS, pParse uintptr, p uintptr, piFreeable uintptr) int32 { /* sqlite3.c:106298:12: */ var iResult int32 var nResult int32 = Xsqlite3ExprVectorSize(tls, p) if nResult == 1 { @@ -131378,7 +131395,7 @@ func exprCodeVector(tls *libc.TLS, pParse uintptr, p uintptr, piFreeable uintptr // If the last opcode is a OP_Copy, then set the do-not-merge flag (p5) // so that a subsequent copy will not be merged into this one. -func setDoNotMergeFlagOnCopy(tls *libc.TLS, v uintptr) { /* sqlite3.c:106315:13: */ +func setDoNotMergeFlagOnCopy(tls *libc.TLS, v uintptr) { /* sqlite3.c:106328:13: */ if int32((*VdbeOp)(unsafe.Pointer(Xsqlite3VdbeGetOp(tls, v, -1))).Fopcode) == OP_Copy { Xsqlite3VdbeChangeP5(tls, v, uint16(1)) // Tag trailing OP_Copy as not mergable } @@ -131386,7 +131403,7 @@ func setDoNotMergeFlagOnCopy(tls *libc.TLS, v uintptr) { /* sqlite3.c:106315:13: // Generate code to implement special SQL functions that are implemented // in-line rather than by using the usual callbacks. -func exprCodeInlineFunction(tls *libc.TLS, pParse uintptr, pFarg uintptr, iFuncId int32, target int32) int32 { /* sqlite3.c:106325:12: */ +func exprCodeInlineFunction(tls *libc.TLS, pParse uintptr, pFarg uintptr, iFuncId int32, target int32) int32 { /* sqlite3.c:106338:12: */ bp := tls.Alloc(112) defer tls.Free(112) @@ -131511,7 +131528,7 @@ func exprCodeInlineFunction(tls *libc.TLS, pParse uintptr, pFarg uintptr, iFuncI // register if it is convenient to do so. The calling function // must check the return code and move the results to the desired // register. -func Xsqlite3ExprCodeTarget(tls *libc.TLS, pParse uintptr, pExpr uintptr, target int32) int32 { /* sqlite3.c:106441:20: */ +func Xsqlite3ExprCodeTarget(tls *libc.TLS, pParse uintptr, pExpr uintptr, target int32) int32 { /* sqlite3.c:106454:20: */ bp := tls.Alloc(192) defer tls.Free(192) @@ -132580,7 +132597,7 @@ __3: return inReg } -var zAff = *(*[8]int8)(unsafe.Pointer(ts + 9363)) /* sqlite3.c:106508:29 */ +var zAff = *(*[8]int8)(unsafe.Pointer(ts + 9363)) /* sqlite3.c:106521:29 */ // Generate code that will evaluate expression pExpr just one time // per prepared statement execution. @@ -132597,7 +132614,7 @@ var zAff = *(*[8]int8)(unsafe.Pointer(ts + 9363)) /* sqlite3.c:106508:29 */ // code to the same register, if they do not contain function calls and hence // are factored out into the initialization section at the end of the // prepared statement. -func Xsqlite3ExprCodeRunJustOnce(tls *libc.TLS, pParse uintptr, pExpr uintptr, regDest int32) int32 { /* sqlite3.c:107215:20: */ +func Xsqlite3ExprCodeRunJustOnce(tls *libc.TLS, pParse uintptr, pExpr uintptr, regDest int32) int32 { /* sqlite3.c:107228:20: */ var p uintptr p = (*Parse)(unsafe.Pointer(pParse)).FpConstExpr @@ -132666,7 +132683,7 @@ func Xsqlite3ExprCodeRunJustOnce(tls *libc.TLS, pParse uintptr, pExpr uintptr, r // If pExpr is a constant, then this routine might generate this // code to fill the register in the initialization section of the // VDBE program, in order to factor it out of the evaluation loop. -func Xsqlite3ExprCodeTemp(tls *libc.TLS, pParse uintptr, pExpr uintptr, pReg uintptr) int32 { /* sqlite3.c:107272:20: */ +func Xsqlite3ExprCodeTemp(tls *libc.TLS, pParse uintptr, pExpr uintptr, pReg uintptr) int32 { /* sqlite3.c:107285:20: */ var r2 int32 pExpr = Xsqlite3ExprSkipCollateAndLikely(tls, pExpr) if (*Parse)(unsafe.Pointer(pParse)).FokConstFactor != 0 && @@ -132691,7 +132708,7 @@ func Xsqlite3ExprCodeTemp(tls *libc.TLS, pParse uintptr, pExpr uintptr, pReg uin // Generate code that will evaluate expression pExpr and store the // results in register target. The results are guaranteed to appear // in register target. -func Xsqlite3ExprCode(tls *libc.TLS, pParse uintptr, pExpr uintptr, target int32) { /* sqlite3.c:107300:21: */ +func Xsqlite3ExprCode(tls *libc.TLS, pParse uintptr, pExpr uintptr, target int32) { /* sqlite3.c:107313:21: */ var inReg int32 if (*Parse)(unsafe.Pointer(pParse)).FpVdbe == uintptr(0) { @@ -132712,7 +132729,7 @@ func Xsqlite3ExprCode(tls *libc.TLS, pParse uintptr, pExpr uintptr, target int32 // Make a transient copy of expression pExpr and then code it using // sqlite3ExprCode(). This routine works just like sqlite3ExprCode() // except that the input expression is guaranteed to be unchanged. -func Xsqlite3ExprCodeCopy(tls *libc.TLS, pParse uintptr, pExpr uintptr, target int32) { /* sqlite3.c:107324:21: */ +func Xsqlite3ExprCodeCopy(tls *libc.TLS, pParse uintptr, pExpr uintptr, target int32) { /* sqlite3.c:107337:21: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb pExpr = Xsqlite3ExprDup(tls, db, pExpr, 0) if !(int32((*Sqlite3)(unsafe.Pointer(db)).FmallocFailed) != 0) { @@ -132725,7 +132742,7 @@ func Xsqlite3ExprCodeCopy(tls *libc.TLS, pParse uintptr, pExpr uintptr, target i // results in register target. The results are guaranteed to appear // in register target. If the expression is constant, then this routine // might choose to code the expression at initialization time. -func Xsqlite3ExprCodeFactorable(tls *libc.TLS, pParse uintptr, pExpr uintptr, target int32) { /* sqlite3.c:107337:21: */ +func Xsqlite3ExprCodeFactorable(tls *libc.TLS, pParse uintptr, pExpr uintptr, target int32) { /* sqlite3.c:107350:21: */ if (*Parse)(unsafe.Pointer(pParse)).FokConstFactor != 0 && Xsqlite3ExprIsConstantNotJoin(tls, pExpr) != 0 { Xsqlite3ExprCodeRunJustOnce(tls, pParse, pExpr, target) } else { @@ -132751,7 +132768,7 @@ func Xsqlite3ExprCodeFactorable(tls *libc.TLS, pParse uintptr, pExpr uintptr, ta // in registers at srcReg, and so the value can be copied from there. // If SQLITE_ECEL_OMITREF is also set, then the values with u.x.iOrderByCol>0 // are simply omitted rather than being copied from srcReg. -func Xsqlite3ExprCodeExprList(tls *libc.TLS, pParse uintptr, pList uintptr, target int32, srcReg int32, flags U8) int32 { /* sqlite3.c:107365:20: */ +func Xsqlite3ExprCodeExprList(tls *libc.TLS, pParse uintptr, pList uintptr, target int32, srcReg int32, flags U8) int32 { /* sqlite3.c:107378:20: */ var pItem uintptr var i int32 var j int32 @@ -132833,7 +132850,7 @@ __3: // sqlite3ExprIfFalse: Jump to dest if false // // The jumpIfNull parameter is ignored if xJumpIf is NULL. -func exprCodeBetween(tls *libc.TLS, pParse uintptr, pExpr uintptr, dest int32, xJump uintptr, jumpIfNull int32) { /* sqlite3.c:107440:13: */ +func exprCodeBetween(tls *libc.TLS, pParse uintptr, pExpr uintptr, dest int32, xJump uintptr, jumpIfNull int32) { /* sqlite3.c:107453:13: */ bp := tls.Alloc(220) defer tls.Free(220) @@ -132896,7 +132913,7 @@ func exprCodeBetween(tls *libc.TLS, pParse uintptr, pExpr uintptr, dest int32, x // operation. Special comments in vdbe.c and the mkopcodeh.awk script in // the make process cause these values to align. Assert()s in the code // below verify that the numbers are aligned correctly. -func Xsqlite3ExprIfTrue(tls *libc.TLS, pParse uintptr, pExpr uintptr, dest int32, jumpIfNull int32) { /* sqlite3.c:107512:21: */ +func Xsqlite3ExprIfTrue(tls *libc.TLS, pParse uintptr, pExpr uintptr, dest int32, jumpIfNull int32) { /* sqlite3.c:107525:21: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -133126,7 +133143,7 @@ __3: // If the expression evaluates to NULL (neither true nor false) then // jump if jumpIfNull is SQLITE_JUMPIFNULL or fall through if jumpIfNull // is 0. -func Xsqlite3ExprIfFalse(tls *libc.TLS, pParse uintptr, pExpr uintptr, dest int32, jumpIfNull int32) { /* sqlite3.c:107654:21: */ +func Xsqlite3ExprIfFalse(tls *libc.TLS, pParse uintptr, pExpr uintptr, dest int32, jumpIfNull int32) { /* sqlite3.c:107667:21: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -133374,7 +133391,7 @@ __3: // Like sqlite3ExprIfFalse() except that a copy is made of pExpr before // code generation, and that copy is deleted after code generation. This // ensures that the original pExpr is unchanged. -func Xsqlite3ExprIfFalseDup(tls *libc.TLS, pParse uintptr, pExpr uintptr, dest int32, jumpIfNull int32) { /* sqlite3.c:107826:21: */ +func Xsqlite3ExprIfFalseDup(tls *libc.TLS, pParse uintptr, pExpr uintptr, dest int32, jumpIfNull int32) { /* sqlite3.c:107839:21: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb var pCopy uintptr = Xsqlite3ExprDup(tls, db, pExpr, 0) if int32((*Sqlite3)(unsafe.Pointer(db)).FmallocFailed) == 0 { @@ -133394,7 +133411,7 @@ func Xsqlite3ExprIfFalseDup(tls *libc.TLS, pParse uintptr, pExpr uintptr, dest i // same as that currently bound to variable pVar, non-zero is returned. // Otherwise, if the values are not the same or if pExpr is not a simple // SQL value, zero is returned. -func exprCompareVariable(tls *libc.TLS, pParse uintptr, pVar uintptr, pExpr uintptr) int32 { /* sqlite3.c:107848:12: */ +func exprCompareVariable(tls *libc.TLS, pParse uintptr, pVar uintptr, pExpr uintptr) int32 { /* sqlite3.c:107861:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -133448,7 +133465,7 @@ func exprCompareVariable(tls *libc.TLS, pParse uintptr, pVar uintptr, pExpr uint // If pParse is NULL (the normal case) then any TK_VARIABLE term in // Argument pParse should normally be NULL. If it is not NULL and pA or // pB causes a return value of 2. -func Xsqlite3ExprCompare(tls *libc.TLS, pParse uintptr, pA uintptr, pB uintptr, iTab int32) int32 { /* sqlite3.c:107904:20: */ +func Xsqlite3ExprCompare(tls *libc.TLS, pParse uintptr, pA uintptr, pB uintptr, iTab int32) int32 { /* sqlite3.c:107917:20: */ var combinedFlags U32 if pA == uintptr(0) || pB == uintptr(0) { if pB == pA { @@ -133552,7 +133569,7 @@ func Xsqlite3ExprCompare(tls *libc.TLS, pParse uintptr, pA uintptr, pB uintptr, // // Two NULL pointers are considered to be the same. But a NULL pointer // always differs from a non-NULL pointer. -func Xsqlite3ExprListCompare(tls *libc.TLS, pA uintptr, pB uintptr, iTab int32) int32 { /* sqlite3.c:108000:20: */ +func Xsqlite3ExprListCompare(tls *libc.TLS, pA uintptr, pB uintptr, iTab int32) int32 { /* sqlite3.c:108013:20: */ var i int32 if pA == uintptr(0) && pB == uintptr(0) { return 0 @@ -133579,7 +133596,7 @@ func Xsqlite3ExprListCompare(tls *libc.TLS, pA uintptr, pB uintptr, iTab int32) // Like sqlite3ExprCompare() except COLLATE operators at the top-level // are ignored. -func Xsqlite3ExprCompareSkip(tls *libc.TLS, pA uintptr, pB uintptr, iTab int32) int32 { /* sqlite3.c:108019:20: */ +func Xsqlite3ExprCompareSkip(tls *libc.TLS, pA uintptr, pB uintptr, iTab int32) int32 { /* sqlite3.c:108032:20: */ return Xsqlite3ExprCompare(tls, uintptr(0), Xsqlite3ExprSkipCollateAndLikely(tls, pA), Xsqlite3ExprSkipCollateAndLikely(tls, pB), @@ -133590,7 +133607,7 @@ func Xsqlite3ExprCompareSkip(tls *libc.TLS, pA uintptr, pB uintptr, iTab int32) // // Or if seenNot is true, return non-zero if Expr p can only be // non-NULL if pNN is not NULL -func exprImpliesNotNull(tls *libc.TLS, pParse uintptr, p uintptr, pNN uintptr, iTab int32, seenNot int32) int32 { /* sqlite3.c:108032:12: */ +func exprImpliesNotNull(tls *libc.TLS, pParse uintptr, p uintptr, pNN uintptr, iTab int32, seenNot int32) int32 { /* sqlite3.c:108045:12: */ if Xsqlite3ExprCompare(tls, pParse, p, pNN, iTab) == 0 { return libc.Bool32(int32((*Expr)(unsafe.Pointer(pNN)).Fop) != TK_NULL) @@ -133716,7 +133733,7 @@ func exprImpliesNotNull(tls *libc.TLS, pParse uintptr, p uintptr, pNN uintptr, i // When in doubt, return false. Returning true might give a performance // improvement. Returning false might cause a performance reduction, but // it will always give the correct answer and is hence always safe. -func Xsqlite3ExprImpliesExpr(tls *libc.TLS, pParse uintptr, pE1 uintptr, pE2 uintptr, iTab int32) int32 { /* sqlite3.c:108129:20: */ +func Xsqlite3ExprImpliesExpr(tls *libc.TLS, pParse uintptr, pE1 uintptr, pE2 uintptr, iTab int32) int32 { /* sqlite3.c:108142:20: */ if Xsqlite3ExprCompare(tls, pParse, pE1, pE2, iTab) == 0 { return 1 } @@ -133739,7 +133756,7 @@ func Xsqlite3ExprImpliesExpr(tls *libc.TLS, pParse uintptr, pE1 uintptr, pE2 uin // This routine controls an optimization. False positives (setting // pWalker->eCode to 1 when it should not be) are deadly, but false-negatives // (never setting pWalker->eCode) is a harmless missed optimization. -func impliesNotNullRow(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:108161:12: */ +func impliesNotNullRow(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:108174:12: */ if (*Expr)(unsafe.Pointer(pExpr)).Fflags&U32(EP_FromJoin) != U32(0) { return WRC_Prune @@ -133848,7 +133865,7 @@ func impliesNotNullRow(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* // clause requires that some column of the right table of the LEFT JOIN // be non-NULL, then the LEFT JOIN can be safely converted into an // ordinary join. -func Xsqlite3ExprImpliesNonNullRow(tls *libc.TLS, p uintptr, iTab int32) int32 { /* sqlite3.c:108270:20: */ +func Xsqlite3ExprImpliesNonNullRow(tls *libc.TLS, p uintptr, iTab int32) int32 { /* sqlite3.c:108283:20: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -133882,7 +133899,7 @@ func Xsqlite3ExprImpliesNonNullRow(tls *libc.TLS, p uintptr, iTab int32) int32 { // Check to see if there are references to columns in table // pWalker->u.pIdxCover->iCur can be satisfied using the index // pWalker->u.pIdxCover->pIdx. -func exprIdxCover(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:108308:12: */ +func exprIdxCover(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:108321:12: */ if int32((*Expr)(unsafe.Pointer(pExpr)).Fop) == TK_COLUMN && (*Expr)(unsafe.Pointer(pExpr)).FiTable == (*IdxCover)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pWalker + 40)))).FiCur && int32(Xsqlite3TableColumnToIndex(tls, (*IdxCover)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pWalker + 40)))).FpIdx, (*Expr)(unsafe.Pointer(pExpr)).FiColumn)) < 0 { @@ -133900,7 +133917,7 @@ func exprIdxCover(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqli // An index covering an expression means that the expression can be // evaluated using only the index and without having to lookup the // corresponding table entry. -func Xsqlite3ExprCoveredByIndex(tls *libc.TLS, pExpr uintptr, iCur int32, pIdx uintptr) int32 { /* sqlite3.c:108329:20: */ +func Xsqlite3ExprCoveredByIndex(tls *libc.TLS, pExpr uintptr, iCur int32, pIdx uintptr) int32 { /* sqlite3.c:108342:20: */ bp := tls.Alloc(64) defer tls.Free(64) @@ -133925,7 +133942,7 @@ func Xsqlite3ExprCoveredByIndex(tls *libc.TLS, pExpr uintptr, iCur int32, pIdx u // entries for that subquery to the exclude list. // // When leaving the subquery, remove those entries from the exclude list. -func selectRefEnter(tls *libc.TLS, pWalker uintptr, pSelect uintptr) int32 { /* sqlite3.c:108364:12: */ +func selectRefEnter(tls *libc.TLS, pWalker uintptr, pSelect uintptr) int32 { /* sqlite3.c:108377:12: */ var p uintptr = *(*uintptr)(unsafe.Pointer(pWalker + 40)) var pSrc uintptr = (*Select)(unsafe.Pointer(pSelect)).FpSrc var i I64 @@ -133963,7 +133980,7 @@ __3: return WRC_Continue } -func selectRefLeave(tls *libc.TLS, pWalker uintptr, pSelect uintptr) { /* sqlite3.c:108384:13: */ +func selectRefLeave(tls *libc.TLS, pWalker uintptr, pSelect uintptr) { /* sqlite3.c:108397:13: */ var p uintptr = *(*uintptr)(unsafe.Pointer(pWalker + 40)) var pSrc uintptr = (*Select)(unsafe.Pointer(pSelect)).FpSrc if (*RefSrcList)(unsafe.Pointer(p)).FnExclude != 0 { @@ -133979,7 +133996,7 @@ func selectRefLeave(tls *libc.TLS, pWalker uintptr, pSelect uintptr) { /* sqlite // // Set the 0x02 bit of pWalker->eCode if there is a reference to a // table is in neither RefSrcList.pRef nor RefSrcList.aiExclude. -func exprRefToSrcList(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:108401:12: */ +func exprRefToSrcList(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:108414:12: */ if int32((*Expr)(unsafe.Pointer(pExpr)).Fop) == TK_COLUMN || int32((*Expr)(unsafe.Pointer(pExpr)).Fop) == TK_AGG_COLUMN { var i int32 @@ -134019,7 +134036,7 @@ func exprRefToSrcList(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* // // As currently used, pExpr is always an aggregate function call. That // fact is exploited for efficiency. -func Xsqlite3ReferencesSrcList(tls *libc.TLS, pParse uintptr, pExpr uintptr, pSrcList uintptr) int32 { /* sqlite3.c:108438:20: */ +func Xsqlite3ReferencesSrcList(tls *libc.TLS, pParse uintptr, pExpr uintptr, pSrcList uintptr) int32 { /* sqlite3.c:108451:20: */ bp := tls.Alloc(80) defer tls.Free(80) @@ -134068,7 +134085,7 @@ func Xsqlite3ReferencesSrcList(tls *libc.TLS, pParse uintptr, pExpr uintptr, pSr // This will cause the expression to be deleted automatically when the // Parse object is destroyed, but the zero register number means that it // will not generate any code in the preamble. -func agginfoPersistExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:108480:12: */ +func agginfoPersistExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:108493:12: */ if !((*Expr)(unsafe.Pointer(pExpr)).Fflags&U32(EP_TokenOnly|EP_Reduced) != U32(0)) && (*Expr)(unsafe.Pointer(pExpr)).FpAggInfo != uintptr(0) { var pAggInfo uintptr = (*Expr)(unsafe.Pointer(pExpr)).FpAggInfo @@ -134101,7 +134118,7 @@ func agginfoPersistExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { // Initialize a Walker object so that will persist AggInfo entries referenced // by the tree that is walked. -func Xsqlite3AggInfoPersistWalkerInit(tls *libc.TLS, pWalker uintptr, pParse uintptr) { /* sqlite3.c:108516:21: */ +func Xsqlite3AggInfoPersistWalkerInit(tls *libc.TLS, pWalker uintptr, pParse uintptr) { /* sqlite3.c:108529:21: */ libc.Xmemset(tls, pWalker, 0, uint64(unsafe.Sizeof(Walker{}))) (*Walker)(unsafe.Pointer(pWalker)).FpParse = pParse (*Walker)(unsafe.Pointer(pWalker)).FxExprCallback = *(*uintptr)(unsafe.Pointer(&struct { @@ -134114,7 +134131,7 @@ func Xsqlite3AggInfoPersistWalkerInit(tls *libc.TLS, pWalker uintptr, pParse uin // Add a new element to the pAggInfo->aCol[] array. Return the index of // the new element. Return a negative number if malloc fails. -func addAggInfoColumn(tls *libc.TLS, db uintptr, pInfo uintptr) int32 { /* sqlite3.c:108527:12: */ +func addAggInfoColumn(tls *libc.TLS, db uintptr, pInfo uintptr) int32 { /* sqlite3.c:108540:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -134131,7 +134148,7 @@ func addAggInfoColumn(tls *libc.TLS, db uintptr, pInfo uintptr) int32 { /* sqlit // Add a new element to the pAggInfo->aFunc[] array. Return the index of // the new element. Return a negative number if malloc fails. -func addAggInfoFunc(tls *libc.TLS, db uintptr, pInfo uintptr) int32 { /* sqlite3.c:108543:12: */ +func addAggInfoFunc(tls *libc.TLS, db uintptr, pInfo uintptr) int32 { /* sqlite3.c:108556:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -134149,7 +134166,7 @@ func addAggInfoFunc(tls *libc.TLS, db uintptr, pInfo uintptr) int32 { /* sqlite3 // This is the xExprCallback for a tree walker. It is used to // implement sqlite3ExprAnalyzeAggregates(). See sqlite3ExprAnalyzeAggregates // for additional information. -func analyzeAggregate(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:108560:12: */ +func analyzeAggregate(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:108573:12: */ var i int32 var pNC uintptr = *(*uintptr)(unsafe.Pointer(pWalker + 40)) var pParse uintptr = (*NameContext)(unsafe.Pointer(pNC)).FpParse @@ -134340,7 +134357,7 @@ func analyzeAggregate(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* // // This routine should only be called after the expression has been // analyzed by sqlite3ResolveExprNames(). -func Xsqlite3ExprAnalyzeAggregates(tls *libc.TLS, pNC uintptr, pExpr uintptr) { /* sqlite3.c:108698:21: */ +func Xsqlite3ExprAnalyzeAggregates(tls *libc.TLS, pNC uintptr, pExpr uintptr) { /* sqlite3.c:108711:21: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -134366,7 +134383,7 @@ func Xsqlite3ExprAnalyzeAggregates(tls *libc.TLS, pNC uintptr, pExpr uintptr) { // expression list. Return the number of errors. // // If an error is found, the analysis is cut short. -func Xsqlite3ExprAnalyzeAggList(tls *libc.TLS, pNC uintptr, pList uintptr) { /* sqlite3.c:108716:21: */ +func Xsqlite3ExprAnalyzeAggList(tls *libc.TLS, pNC uintptr, pList uintptr) { /* sqlite3.c:108729:21: */ var pItem uintptr var i int32 if pList != 0 { @@ -134391,7 +134408,7 @@ func Xsqlite3ExprAnalyzeAggList(tls *libc.TLS, pNC uintptr, pList uintptr) { /* } // Allocate a single new register for use to hold some intermediate result. -func Xsqlite3GetTempReg(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:108729:20: */ +func Xsqlite3GetTempReg(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:108742:20: */ if int32((*Parse)(unsafe.Pointer(pParse)).FnTempReg) == 0 { return libc.PreIncInt32(&(*Parse)(unsafe.Pointer(pParse)).FnMem, 1) } @@ -134400,7 +134417,7 @@ func Xsqlite3GetTempReg(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:1087 // Deallocate a register, making available for reuse for some other // purpose. -func Xsqlite3ReleaseTempReg(tls *libc.TLS, pParse uintptr, iReg int32) { /* sqlite3.c:108740:21: */ +func Xsqlite3ReleaseTempReg(tls *libc.TLS, pParse uintptr, iReg int32) { /* sqlite3.c:108753:21: */ if iReg != 0 { if int32((*Parse)(unsafe.Pointer(pParse)).FnTempReg) < int32(uint64(unsafe.Sizeof([8]int32{}))/uint64(unsafe.Sizeof(int32(0)))) { @@ -134410,7 +134427,7 @@ func Xsqlite3ReleaseTempReg(tls *libc.TLS, pParse uintptr, iReg int32) { /* sqli } // Allocate or deallocate a block of nReg consecutive registers. -func Xsqlite3GetTempRange(tls *libc.TLS, pParse uintptr, nReg int32) int32 { /* sqlite3.c:108752:20: */ +func Xsqlite3GetTempRange(tls *libc.TLS, pParse uintptr, nReg int32) int32 { /* sqlite3.c:108765:20: */ var i int32 var n int32 if nReg == 1 { @@ -134428,7 +134445,7 @@ func Xsqlite3GetTempRange(tls *libc.TLS, pParse uintptr, nReg int32) int32 { /* return i } -func Xsqlite3ReleaseTempRange(tls *libc.TLS, pParse uintptr, iReg int32, nReg int32) { /* sqlite3.c:108766:21: */ +func Xsqlite3ReleaseTempRange(tls *libc.TLS, pParse uintptr, iReg int32, nReg int32) { /* sqlite3.c:108779:21: */ if nReg == 1 { Xsqlite3ReleaseTempReg(tls, pParse, iReg) return @@ -134446,7 +134463,7 @@ func Xsqlite3ReleaseTempRange(tls *libc.TLS, pParse uintptr, iReg int32, nReg in // that might be invoked from other parts of the code, to ensure that // the sub/co-routine does not use registers in common with the code that // invokes the sub/co-routine. -func Xsqlite3ClearTempRegCache(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:108786:21: */ +func Xsqlite3ClearTempRegCache(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:108799:21: */ (*Parse)(unsafe.Pointer(pParse)).FnTempReg = U8(0) (*Parse)(unsafe.Pointer(pParse)).FnRangeReg = 0 } @@ -134480,7 +134497,7 @@ func Xsqlite3ClearTempRegCache(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:108 // in pParse->zErr (system tables may not be altered) and returns non-zero. // // Or, if zName is not a system table, zero is returned. -func isAlterableTable(tls *libc.TLS, pParse uintptr, pTab uintptr) int32 { /* sqlite3.c:108846:12: */ +func isAlterableTable(tls *libc.TLS, pParse uintptr, pTab uintptr) int32 { /* sqlite3.c:108859:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -134499,7 +134516,7 @@ func isAlterableTable(tls *libc.TLS, pParse uintptr, pTab uintptr) int32 { /* sq // called at the end of the generation of an ALTER TABLE ... RENAME ... // statement to ensure that the operation has not rendered any schema // objects unusable. -func renameTestSchema(tls *libc.TLS, pParse uintptr, zDb uintptr, bTemp int32, zWhen uintptr, bNoDQS int32) { /* sqlite3.c:108868:13: */ +func renameTestSchema(tls *libc.TLS, pParse uintptr, zDb uintptr, bTemp int32, zWhen uintptr, bNoDQS int32) { /* sqlite3.c:108881:13: */ bp := tls.Alloc(64) defer tls.Free(64) @@ -134523,7 +134540,7 @@ func renameTestSchema(tls *libc.TLS, pParse uintptr, zDb uintptr, bTemp int32, z // database zDb with their single-quoted equivalents. If argument bTemp is // not true, similarly update all SQL statements in the sqlite_schema table // of the temp db. -func renameFixQuotes(tls *libc.TLS, pParse uintptr, zDb uintptr, bTemp int32) { /* sqlite3.c:108905:13: */ +func renameFixQuotes(tls *libc.TLS, pParse uintptr, zDb uintptr, bTemp int32) { /* sqlite3.c:108918:13: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -134539,7 +134556,7 @@ func renameFixQuotes(tls *libc.TLS, pParse uintptr, zDb uintptr, bTemp int32) { // Generate code to reload the schema for database iDb. And, if iDb!=1, for // the temp database as well. -func renameReloadSchema(tls *libc.TLS, pParse uintptr, iDb int32, p5 U16) { /* sqlite3.c:108926:13: */ +func renameReloadSchema(tls *libc.TLS, pParse uintptr, iDb int32, p5 U16) { /* sqlite3.c:108939:13: */ var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe if v != 0 { Xsqlite3ChangeCookie(tls, pParse, iDb) @@ -134552,7 +134569,7 @@ func renameReloadSchema(tls *libc.TLS, pParse uintptr, iDb int32, p5 U16) { /* s // Generate code to implement the "ALTER TABLE xxx RENAME TO yyy" // command. -func Xsqlite3AlterRenameTable(tls *libc.TLS, pParse uintptr, pSrc uintptr, pName uintptr) { /* sqlite3.c:108939:21: */ +func Xsqlite3AlterRenameTable(tls *libc.TLS, pParse uintptr, pSrc uintptr, pName uintptr) { /* sqlite3.c:108952:21: */ bp := tls.Alloc(184) defer tls.Free(184) @@ -134737,7 +134754,7 @@ exit_rename_table: // Write code that will raise an error if the table described by // zDb and zTab is not empty. -func sqlite3ErrorIfNotEmpty(tls *libc.TLS, pParse uintptr, zDb uintptr, zTab uintptr, zErr uintptr) { /* sqlite3.c:109108:13: */ +func sqlite3ErrorIfNotEmpty(tls *libc.TLS, pParse uintptr, zDb uintptr, zTab uintptr, zErr uintptr) { /* sqlite3.c:109121:13: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -134752,7 +134769,7 @@ func sqlite3ErrorIfNotEmpty(tls *libc.TLS, pParse uintptr, zDb uintptr, zTab uin // // The Table structure pParse->pNewTable was extended to include // the new column during parsing. -func Xsqlite3AlterFinishAddColumn(tls *libc.TLS, pParse uintptr, pColDef uintptr) { /* sqlite3.c:109128:21: */ +func Xsqlite3AlterFinishAddColumn(tls *libc.TLS, pParse uintptr, pColDef uintptr) { /* sqlite3.c:109141:21: */ bp := tls.Alloc(64) defer tls.Free(64) @@ -134898,7 +134915,7 @@ func Xsqlite3AlterFinishAddColumn(tls *libc.TLS, pParse uintptr, pColDef uintptr // // Routine sqlite3AlterFinishAddColumn() will be called to complete // coding the "ALTER TABLE ... ADD" statement. -func Xsqlite3AlterBeginAddColumn(tls *libc.TLS, pParse uintptr, pSrc uintptr) { /* sqlite3.c:109293:21: */ +func Xsqlite3AlterBeginAddColumn(tls *libc.TLS, pParse uintptr, pSrc uintptr) { /* sqlite3.c:109306:21: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -135015,7 +135032,7 @@ exit_begin_add_column: // it loads an error message into pParse and returns non-zero. // // Or, if pTab is not a view or virtual table, zero is returned. -func isRealTable(tls *libc.TLS, pParse uintptr, pTab uintptr, bDrop int32) int32 { /* sqlite3.c:109376:12: */ +func isRealTable(tls *libc.TLS, pParse uintptr, pTab uintptr, bDrop int32) int32 { /* sqlite3.c:109389:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -135043,7 +135060,7 @@ func isRealTable(tls *libc.TLS, pParse uintptr, pTab uintptr, bDrop int32) int32 // Handles the following parser reduction: // // cmd ::= ALTER TABLE pSrc RENAME COLUMN pOld TO pNew -func Xsqlite3AlterRenameColumn(tls *libc.TLS, pParse uintptr, pSrc uintptr, pOld uintptr, pNew uintptr) { /* sqlite3.c:109406:21: */ +func Xsqlite3AlterRenameColumn(tls *libc.TLS, pParse uintptr, pSrc uintptr, pOld uintptr, pNew uintptr) { /* sqlite3.c:109419:21: */ bp := tls.Alloc(112) defer tls.Free(112) @@ -135172,7 +135189,7 @@ exit_rename_column: // The context of an ALTER TABLE RENAME COLUMN operation that gets passed // down into the Walker. -type RenameCtx = RenameCtx1 /* sqlite3.c:109521:26 */ +type RenameCtx = RenameCtx1 /* sqlite3.c:109534:26 */ // Remember that the parser tree element pPtr was created using // the token pToken. @@ -135184,7 +135201,7 @@ type RenameCtx = RenameCtx1 /* sqlite3.c:109521:26 */ // The pPtr argument is returned so that this routine can be used // with tail recursion in tokenExpr() routine, for a small performance // improvement. -func Xsqlite3RenameTokenMap(tls *libc.TLS, pParse uintptr, pPtr uintptr, pToken uintptr) uintptr { /* sqlite3.c:109584:27: */ +func Xsqlite3RenameTokenMap(tls *libc.TLS, pParse uintptr, pPtr uintptr, pToken uintptr) uintptr { /* sqlite3.c:109597:27: */ var pNew uintptr if int32((*Parse)(unsafe.Pointer(pParse)).FeParseMode) != PARSE_MODE_UNMAP { @@ -135203,7 +135220,7 @@ func Xsqlite3RenameTokenMap(tls *libc.TLS, pParse uintptr, pPtr uintptr, pToken // It is assumed that there is already a RenameToken object associated // with parse tree element pFrom. This function remaps the associated token // to parse tree element pTo. -func Xsqlite3RenameTokenRemap(tls *libc.TLS, pParse uintptr, pTo uintptr, pFrom uintptr) { /* sqlite3.c:109610:21: */ +func Xsqlite3RenameTokenRemap(tls *libc.TLS, pParse uintptr, pTo uintptr, pFrom uintptr) { /* sqlite3.c:109623:21: */ var p uintptr for p = (*Parse)(unsafe.Pointer(pParse)).FpRename; p != 0; p = (*RenameToken)(unsafe.Pointer(p)).FpNext { @@ -135215,7 +135232,7 @@ func Xsqlite3RenameTokenRemap(tls *libc.TLS, pParse uintptr, pTo uintptr, pFrom } // Walker callback used by sqlite3RenameExprUnmap(). -func renameUnmapExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:109624:12: */ +func renameUnmapExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:109637:12: */ var pParse uintptr = (*Walker)(unsafe.Pointer(pWalker)).FpParse Xsqlite3RenameTokenRemap(tls, pParse, uintptr(0), pExpr) if (*Expr)(unsafe.Pointer(pExpr)).Fflags&U32(EP_WinFunc|EP_Subrtn) == U32(0) { @@ -135226,7 +135243,7 @@ func renameUnmapExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* // Iterate through the Select objects that are part of WITH clauses attached // to select statement pSelect. -func renameWalkWith(tls *libc.TLS, pWalker uintptr, pSelect uintptr) { /* sqlite3.c:109637:13: */ +func renameWalkWith(tls *libc.TLS, pWalker uintptr, pSelect uintptr) { /* sqlite3.c:109650:13: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -135267,7 +135284,7 @@ func renameWalkWith(tls *libc.TLS, pWalker uintptr, pSelect uintptr) { /* sqlite } // Unmap all tokens in the IdList object passed as the second argument. -func unmapColumnIdlistNames(tls *libc.TLS, pParse uintptr, pIdList uintptr) { /* sqlite3.c:109672:13: */ +func unmapColumnIdlistNames(tls *libc.TLS, pParse uintptr, pIdList uintptr) { /* sqlite3.c:109685:13: */ if pIdList != 0 { var ii int32 for ii = 0; ii < (*IdList)(unsafe.Pointer(pIdList)).FnId; ii++ { @@ -135277,7 +135294,7 @@ func unmapColumnIdlistNames(tls *libc.TLS, pParse uintptr, pIdList uintptr) { /* } // Walker callback used by sqlite3RenameExprUnmap(). -func renameUnmapSelectCb(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sqlite3.c:109687:12: */ +func renameUnmapSelectCb(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sqlite3.c:109700:12: */ var pParse uintptr = (*Walker)(unsafe.Pointer(pWalker)).FpParse var i int32 if (*Parse)(unsafe.Pointer(pParse)).FnErr != 0 { @@ -135309,7 +135326,7 @@ func renameUnmapSelectCb(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* s } // Remove all nodes that are part of expression pExpr from the rename list. -func Xsqlite3RenameExprUnmap(tls *libc.TLS, pParse uintptr, pExpr uintptr) { /* sqlite3.c:109720:21: */ +func Xsqlite3RenameExprUnmap(tls *libc.TLS, pParse uintptr, pExpr uintptr) { /* sqlite3.c:109733:21: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -135331,7 +135348,7 @@ func Xsqlite3RenameExprUnmap(tls *libc.TLS, pParse uintptr, pExpr uintptr) { /* // Remove all nodes that are part of expression-list pEList from the // rename list. -func Xsqlite3RenameExprlistUnmap(tls *libc.TLS, pParse uintptr, pEList uintptr) { /* sqlite3.c:109736:21: */ +func Xsqlite3RenameExprlistUnmap(tls *libc.TLS, pParse uintptr, pEList uintptr) { /* sqlite3.c:109749:21: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -135354,7 +135371,7 @@ func Xsqlite3RenameExprlistUnmap(tls *libc.TLS, pParse uintptr, pEList uintptr) } // Free the list of RenameToken objects given in the second argument -func renameTokenFree(tls *libc.TLS, db uintptr, pToken uintptr) { /* sqlite3.c:109755:13: */ +func renameTokenFree(tls *libc.TLS, db uintptr, pToken uintptr) { /* sqlite3.c:109768:13: */ var pNext uintptr var p uintptr for p = pToken; p != 0; p = pNext { @@ -135370,7 +135387,7 @@ func renameTokenFree(tls *libc.TLS, db uintptr, pToken uintptr) { /* sqlite3.c:1 // If the second argument passed to this function is not NULL and a matching // RenameToken object is found, remove it from the Parse object and add it to // the list maintained by the RenameCtx object. -func renameTokenFind(tls *libc.TLS, pParse uintptr, pCtx uintptr, pPtr uintptr) uintptr { /* sqlite3.c:109773:20: */ +func renameTokenFind(tls *libc.TLS, pParse uintptr, pCtx uintptr, pPtr uintptr) uintptr { /* sqlite3.c:109786:20: */ var pp uintptr if pPtr == uintptr(0) { return uintptr(0) @@ -135393,7 +135410,7 @@ func renameTokenFind(tls *libc.TLS, pParse uintptr, pCtx uintptr, pPtr uintptr) // This is a Walker select callback. It does nothing. It is only required // because without a dummy callback, sqlite3WalkExpr() and similar do not // descend into sub-select statements. -func renameColumnSelectCb(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sqlite3.c:109802:12: */ +func renameColumnSelectCb(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sqlite3.c:109815:12: */ if (*Select)(unsafe.Pointer(p)).FselFlags&U32(SF_View|SF_CopyCte) != 0 { return WRC_Prune @@ -135409,7 +135426,7 @@ func renameColumnSelectCb(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* // ALTER TABLE statement. If it is, then attach its associated // RenameToken object to the list of RenameToken objects being // constructed in RenameCtx object at pWalker->u.pRename. -func renameColumnExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:109821:12: */ +func renameColumnExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:109834:12: */ var p uintptr = *(*uintptr)(unsafe.Pointer(pWalker + 40)) if int32((*Expr)(unsafe.Pointer(pExpr)).Fop) == TK_TRIGGER && int32((*Expr)(unsafe.Pointer(pExpr)).FiColumn) == (*RenameCtx)(unsafe.Pointer(p)).FiCol && @@ -135431,7 +135448,7 @@ func renameColumnExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { / // the input SQL is parsed from left to right. Repeated calls to this routine // return all column name tokens in the order that they are encountered // in the SQL statement. -func renameColumnTokenNext(tls *libc.TLS, pCtx uintptr) uintptr { /* sqlite3.c:109847:20: */ +func renameColumnTokenNext(tls *libc.TLS, pCtx uintptr) uintptr { /* sqlite3.c:109860:20: */ var pBest uintptr = (*RenameCtx)(unsafe.Pointer(pCtx)).FpList var pToken uintptr var pp uintptr @@ -135453,7 +135470,7 @@ func renameColumnTokenNext(tls *libc.TLS, pCtx uintptr) uintptr { /* sqlite3.c:1 // ALTER TABLE RENAME COLUMN program. The error message emitted by the // sub-routine is currently stored in pParse->zErrMsg. This function // adds context to the error message and then stores it in pCtx. -func renameColumnParseError(tls *libc.TLS, pCtx uintptr, zWhen uintptr, pType uintptr, pObject uintptr, pParse uintptr) { /* sqlite3.c:109868:13: */ +func renameColumnParseError(tls *libc.TLS, pCtx uintptr, zWhen uintptr, pType uintptr, pObject uintptr, pParse uintptr) { /* sqlite3.c:109881:13: */ bp := tls.Alloc(40) defer tls.Free(40) @@ -135477,7 +135494,7 @@ func renameColumnParseError(tls *libc.TLS, pCtx uintptr, zWhen uintptr, pType ui // pEList->a[i].zName) that matches the string in zOld, extract the // corresponding rename-token from Parse object pParse and add it // to the RenameCtx pCtx. -func renameColumnElistNames(tls *libc.TLS, pParse uintptr, pCtx uintptr, pEList uintptr, zOld uintptr) { /* sqlite3.c:109893:13: */ +func renameColumnElistNames(tls *libc.TLS, pParse uintptr, pCtx uintptr, pEList uintptr, zOld uintptr) { /* sqlite3.c:109906:13: */ if pEList != 0 { var i int32 for i = 0; i < (*ExprList)(unsafe.Pointer(pEList)).FnExpr; i++ { @@ -135494,7 +135511,7 @@ func renameColumnElistNames(tls *libc.TLS, pParse uintptr, pCtx uintptr, pEList // For each name in the the id-list pIdList (i.e. each pIdList->a[i].zName) // that matches the string in zOld, extract the corresponding rename-token // from Parse object pParse and add it to the RenameCtx pCtx. -func renameColumnIdlistNames(tls *libc.TLS, pParse uintptr, pCtx uintptr, pIdList uintptr, zOld uintptr) { /* sqlite3.c:109918:13: */ +func renameColumnIdlistNames(tls *libc.TLS, pParse uintptr, pCtx uintptr, pIdList uintptr, zOld uintptr) { /* sqlite3.c:109931:13: */ if pIdList != 0 { var i int32 for i = 0; i < (*IdList)(unsafe.Pointer(pIdList)).FnId; i++ { @@ -135508,7 +135525,7 @@ func renameColumnIdlistNames(tls *libc.TLS, pParse uintptr, pCtx uintptr, pIdLis // Parse the SQL statement zSql using Parse object (*p). The Parse object // is initialized by this function before it is used. -func renameParseSql(tls *libc.TLS, p uintptr, zDb uintptr, db uintptr, zSql uintptr, bTemp int32) int32 { /* sqlite3.c:109940:12: */ +func renameParseSql(tls *libc.TLS, p uintptr, zDb uintptr, db uintptr, zSql uintptr, bTemp int32) int32 { /* sqlite3.c:109953:12: */ var rc int32 Xsqlite3ParseObjectInit(tls, p, db) @@ -135516,7 +135533,7 @@ func renameParseSql(tls *libc.TLS, p uintptr, zDb uintptr, db uintptr, zSql uint return SQLITE_NOMEM } if Xsqlite3_strnicmp(tls, zSql, ts+12159, 7) != 0 { - return Xsqlite3CorruptError(tls, 109954) + return Xsqlite3CorruptError(tls, 109967) } (*Sqlite3)(unsafe.Pointer(db)).Finit.FiDb = func() uint8 { if bTemp != 0 { @@ -135533,7 +135550,7 @@ func renameParseSql(tls *libc.TLS, p uintptr, zDb uintptr, db uintptr, zSql uint } if rc == SQLITE_OK && ((*Parse)(unsafe.Pointer(p)).FpNewTable == uintptr(0) && (*Parse)(unsafe.Pointer(p)).FpNewIndex == uintptr(0) && (*Parse)(unsafe.Pointer(p)).FpNewTrigger == uintptr(0)) { - rc = Xsqlite3CorruptError(tls, 109965) + rc = Xsqlite3CorruptError(tls, 109978) } (*Sqlite3)(unsafe.Pointer(db)).Finit.FiDb = U8(0) @@ -135547,7 +135564,7 @@ func renameParseSql(tls *libc.TLS, p uintptr, zDb uintptr, db uintptr, zSql uint // // Or, if an error occurs (i.e. an OOM condition), an error is left in // pCtx and an SQLite error code returned. -func renameEditSql(tls *libc.TLS, pCtx uintptr, pRename uintptr, zSql uintptr, zNew uintptr, bQuote int32) int32 { /* sqlite3.c:109993:12: */ +func renameEditSql(tls *libc.TLS, pCtx uintptr, pRename uintptr, zSql uintptr, zNew uintptr, bQuote int32) int32 { /* sqlite3.c:110006:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -135653,7 +135670,7 @@ func renameEditSql(tls *libc.TLS, pCtx uintptr, pRename uintptr, zSql uintptr, z // it was read from the schema of database zDb. Return SQLITE_OK if // successful. Otherwise, return an SQLite error code and leave an error // message in the Parse object. -func renameResolveTrigger(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:110100:12: */ +func renameResolveTrigger(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:110113:12: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -135751,7 +135768,7 @@ func renameResolveTrigger(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:11 // Invoke sqlite3WalkExpr() or sqlite3WalkSelect() on all Select or Expr // objects that are part of the trigger passed as the second argument. -func renameWalkTrigger(tls *libc.TLS, pWalker uintptr, pTrigger uintptr) { /* sqlite3.c:110196:13: */ +func renameWalkTrigger(tls *libc.TLS, pWalker uintptr, pTrigger uintptr) { /* sqlite3.c:110209:13: */ var pStep uintptr // Find tokens to edit in WHEN clause @@ -135780,7 +135797,7 @@ func renameWalkTrigger(tls *libc.TLS, pWalker uintptr, pTrigger uintptr) { /* sq // Free the contents of Parse object (*pParse). Do not free the memory // occupied by the Parse object itself. -func renameParseCleanup(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:110227:13: */ +func renameParseCleanup(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:110240:13: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb var pIdx uintptr if (*Parse)(unsafe.Pointer(pParse)).FpVdbe != 0 { @@ -135819,7 +135836,7 @@ func renameParseCleanup(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:110227:13: // It is only accessible to SQL created using sqlite3NestedParse(). It is // not reachable from ordinary SQL passed into sqlite3_prepare() unless the // SQLITE_TESTCTRL_INTERNAL_FUNCTIONS test setting is enabled. -func renameColumnFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { /* sqlite3.c:110268:13: */ +func renameColumnFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { /* sqlite3.c:110281:13: */ bp := tls.Alloc(488) defer tls.Free(488) @@ -136162,7 +136179,7 @@ __44: } // Walker expression callback used by "RENAME TABLE". -func renameTableExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:110435:12: */ +func renameTableExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:110448:12: */ var p uintptr = *(*uintptr)(unsafe.Pointer(pWalker + 40)) if int32((*Expr)(unsafe.Pointer(pExpr)).Fop) == TK_COLUMN && (*Expr)(unsafe.Pointer(pExpr)).Fflags&U32(EP_WinFunc|EP_Subrtn) == U32(0) && @@ -136173,7 +136190,7 @@ func renameTableExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* } // Walker select callback used by "RENAME TABLE". -func renameTableSelectCb(tls *libc.TLS, pWalker uintptr, pSelect uintptr) int32 { /* sqlite3.c:110449:12: */ +func renameTableSelectCb(tls *libc.TLS, pWalker uintptr, pSelect uintptr) int32 { /* sqlite3.c:110462:12: */ var i int32 var p uintptr = *(*uintptr)(unsafe.Pointer(pWalker + 40)) var pSrc uintptr = (*Select)(unsafe.Pointer(pSelect)).FpSrc @@ -136213,7 +136230,7 @@ func renameTableSelectCb(tls *libc.TLS, pWalker uintptr, pSelect uintptr) int32 // // sqlite_rename_table('main', 'CREATE TABLE t1(a REFERENCES t2)','t2','t3',0) // -> 'CREATE TABLE t1(a REFERENCES t3)' -func renameTableFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { /* sqlite3.c:110493:13: */ +func renameTableFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { /* sqlite3.c:110506:13: */ bp := tls.Alloc(544) defer tls.Free(544) @@ -136347,7 +136364,7 @@ func renameTableFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr return } -func renameQuotefixExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:110636:12: */ +func renameQuotefixExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:110649:12: */ if int32((*Expr)(unsafe.Pointer(pExpr)).Fop) == TK_STRING && (*Expr)(unsafe.Pointer(pExpr)).Fflags&U32(EP_DblQuoted) != 0 { renameTokenFind(tls, (*Walker)(unsafe.Pointer(pWalker)).FpParse, *(*uintptr)(unsafe.Pointer(pWalker + 40)), pExpr) } @@ -136380,7 +136397,7 @@ func renameQuotefixExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { // If there is a error in the input SQL, then raise an error, except // if PRAGMA writable_schema=ON, then just return the input string // unmodified following an error. -func renameQuotefixFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { /* sqlite3.c:110670:13: */ +func renameQuotefixFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { /* sqlite3.c:110683:13: */ bp := tls.Alloc(488) defer tls.Free(488) @@ -136494,7 +136511,7 @@ func renameQuotefixFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uint // B. Else if a trigger is created and the the table that the trigger is // attached to is in database zDb, then return 1. // C. Otherwise return NULL. -func renameTableTest(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { /* sqlite3.c:110783:13: */ +func renameTableTest(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { /* sqlite3.c:110796:13: */ bp := tls.Alloc(464) defer tls.Free(464) @@ -136566,7 +136583,7 @@ func renameTableTest(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr // // The value returned is a string containing the CREATE TABLE statement // with column argv[2] removed. -func dropColumnFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { /* sqlite3.c:110858:13: */ +func dropColumnFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { /* sqlite3.c:110871:13: */ bp := tls.Alloc(432) defer tls.Free(432) @@ -136606,7 +136623,7 @@ __1: goto __2 } // This can happen if the sqlite_schema table is corrupt - rc = Xsqlite3CorruptError(tls, 110886) + rc = Xsqlite3CorruptError(tls, 110899) goto drop_column_done __2: ; @@ -136652,7 +136669,7 @@ __7: // // statement. Argument pSrc contains the possibly qualified name of the // table being edited, and token pName the name of the column to drop. -func Xsqlite3AlterDropColumn(tls *libc.TLS, pParse uintptr, pSrc uintptr, pName uintptr) { /* sqlite3.c:110923:21: */ +func Xsqlite3AlterDropColumn(tls *libc.TLS, pParse uintptr, pSrc uintptr, pName uintptr) { /* sqlite3.c:110936:21: */ bp := tls.Alloc(64) defer tls.Free(64) @@ -136885,7 +136902,7 @@ exit_drop_column: } // Register built-in functions used to help implement ALTER TABLE -func Xsqlite3AlterFunctions(tls *libc.TLS) { /* sqlite3.c:111065:21: */ +func Xsqlite3AlterFunctions(tls *libc.TLS) { /* sqlite3.c:111078:21: */ Xsqlite3InsertBuiltinFuncs(tls, uintptr(unsafe.Pointer(&aAlterTableFuncs)), int32(uint64(unsafe.Sizeof(aAlterTableFuncs))/uint64(unsafe.Sizeof(FuncDef{})))) } @@ -136894,7 +136911,7 @@ var aAlterTableFuncs = [5]FuncDef{ {FnArg: int8(7), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_FUNC_INTERNAL | SQLITE_UTF8 | SQLITE_FUNC_CONSTANT), FxSFunc: 0, FzName: ts + 12433}, {FnArg: int8(7), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_FUNC_INTERNAL | SQLITE_UTF8 | SQLITE_FUNC_CONSTANT), FxSFunc: 0, FzName: ts + 12453}, {FnArg: int8(3), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_FUNC_INTERNAL | SQLITE_UTF8 | SQLITE_FUNC_CONSTANT), FxSFunc: 0, FzName: ts + 12472}, - {FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_FUNC_INTERNAL | SQLITE_UTF8 | SQLITE_FUNC_CONSTANT), FxSFunc: 0, FzName: ts + 12491}} /* sqlite3.c:111066:18 */ + {FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_FUNC_INTERNAL | SQLITE_UTF8 | SQLITE_FUNC_CONSTANT), FxSFunc: 0, FzName: ts + 12491}} /* sqlite3.c:111079:18 */ //************* End of alter.c ********************************************** //************* Begin file analyze.c **************************************** @@ -137050,7 +137067,7 @@ var aAlterTableFuncs = [5]FuncDef{ // or it may be a NULL pointer. If it is not NULL, then all entries in // the sqlite_statN tables associated with the named table are deleted. // If zWhere==0, then code is generated to delete all stat table entries. -func openStatTable(tls *libc.TLS, pParse uintptr, iDb int32, iStatCur int32, zWhere uintptr, zWhereType uintptr) { /* sqlite3.c:111244:13: */ +func openStatTable(tls *libc.TLS, pParse uintptr, iDb int32, iStatCur int32, zWhere uintptr, zWhereType uintptr) { /* sqlite3.c:111257:13: */ bp := tls.Alloc(88) defer tls.Free(88) @@ -137130,7 +137147,7 @@ var aTable = [3]struct { {FzName: ts + 12585 /* "sqlite_stat1" */, FzCols: ts + 12598 /* "tbl,idx,stat" */}, {FzName: ts + 12611 /* "sqlite_stat4" */, FzCols: ts + 12624 /* "tbl,idx,neq,nlt,..." */}, {FzName: ts + 12652 /* "sqlite_stat3" */}, -} /* sqlite3.c:111254:5 */ +} /* sqlite3.c:111267:5 */ // Recommended number of samples for sqlite_stat4 @@ -137157,14 +137174,14 @@ type StatAccum1 = struct { FnMaxEqZero int32 FiGet int32 Fa uintptr -} /* sqlite3.c:111342:9 */ +} /* sqlite3.c:111355:9 */ // Recommended number of samples for sqlite_stat4 // Three SQL functions - stat_init(), stat_push(), and stat_get() - // share an instance of the following structure to hold their state // information. -type StatAccum = StatAccum1 /* sqlite3.c:111342:26 */ +type StatAccum = StatAccum1 /* sqlite3.c:111355:26 */ type StatSample1 = struct { FanEq uintptr FanDLt uintptr @@ -137175,12 +137192,12 @@ type StatSample1 = struct { F__ccgo_pad1 [3]byte FiCol int32 FiHash U32 -} /* sqlite3.c:111342:9 */ +} /* sqlite3.c:111355:9 */ -type StatSample = StatSample1 /* sqlite3.c:111343:27 */ +type StatSample = StatSample1 /* sqlite3.c:111356:27 */ // Reclaim memory used by a StatSample -func sampleClear(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:111384:13: */ +func sampleClear(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:111397:13: */ if (*StatSample)(unsafe.Pointer(p)).FnRowid != 0 { Xsqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(p + 24))) @@ -137189,7 +137206,7 @@ func sampleClear(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:111384:13: } // Initialize the BLOB value of a ROWID -func sampleSetRowid(tls *libc.TLS, db uintptr, p uintptr, n int32, pData uintptr) { /* sqlite3.c:111396:13: */ +func sampleSetRowid(tls *libc.TLS, db uintptr, p uintptr, n int32, pData uintptr) { /* sqlite3.c:111409:13: */ if (*StatSample)(unsafe.Pointer(p)).FnRowid != 0 { Xsqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(p + 24))) @@ -137204,7 +137221,7 @@ func sampleSetRowid(tls *libc.TLS, db uintptr, p uintptr, n int32, pData uintptr } // Initialize the INTEGER value of a ROWID. -func sampleSetRowidInt64(tls *libc.TLS, db uintptr, p uintptr, iRowid I64) { /* sqlite3.c:111412:13: */ +func sampleSetRowidInt64(tls *libc.TLS, db uintptr, p uintptr, iRowid I64) { /* sqlite3.c:111425:13: */ if (*StatSample)(unsafe.Pointer(p)).FnRowid != 0 { Xsqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(p + 24))) @@ -137214,7 +137231,7 @@ func sampleSetRowidInt64(tls *libc.TLS, db uintptr, p uintptr, iRowid I64) { /* } // Copy the contents of object (*pFrom) into (*pTo). -func sampleCopy(tls *libc.TLS, p uintptr, pTo uintptr, pFrom uintptr) { /* sqlite3.c:111425:13: */ +func sampleCopy(tls *libc.TLS, p uintptr, pTo uintptr, pFrom uintptr) { /* sqlite3.c:111438:13: */ (*StatSample)(unsafe.Pointer(pTo)).FisPSample = (*StatSample)(unsafe.Pointer(pFrom)).FisPSample (*StatSample)(unsafe.Pointer(pTo)).FiCol = (*StatSample)(unsafe.Pointer(pFrom)).FiCol (*StatSample)(unsafe.Pointer(pTo)).FiHash = (*StatSample)(unsafe.Pointer(pFrom)).FiHash @@ -137229,7 +137246,7 @@ func sampleCopy(tls *libc.TLS, p uintptr, pTo uintptr, pFrom uintptr) { /* sqlit } // Reclaim all memory of a StatAccum structure. -func statAccumDestructor(tls *libc.TLS, pOld uintptr) { /* sqlite3.c:111443:13: */ +func statAccumDestructor(tls *libc.TLS, pOld uintptr) { /* sqlite3.c:111456:13: */ var p uintptr = pOld if (*StatAccum)(unsafe.Pointer(p)).FmxSample != 0 { var i int32 @@ -137264,7 +137281,7 @@ func statAccumDestructor(tls *libc.TLS, pOld uintptr) { /* sqlite3.c:111443:13: // value is a pointer to the StatAccum object. The datatype of the // return value is BLOB, but it is really just a pointer to the StatAccum // object. -func statInit(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:111478:13: */ +func statInit(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:111491:13: */ var p uintptr var nCol int32 // Number of columns in index being sampled var nKeyCol int32 // Number of key columns @@ -137359,7 +137376,7 @@ var statInitFuncdef = FuncDef{ FnArg: int8(4), // nArg FfuncFlags: U32(SQLITE_UTF8), // pNext FxSFunc: 0, // xValue, xInverse - FzName: ts + 12665} /* sqlite3.c:111564:22 */ + FzName: ts + 12665} /* sqlite3.c:111577:22 */ // pNew and pOld are both candidate non-periodic samples selected for // the same column (pNew->iCol==pOld->iCol). Ignoring this column and @@ -137370,7 +137387,7 @@ var statInitFuncdef = FuncDef{ // // This function assumes that for each argument sample, the contents of // the anEq[] array from pSample->anEq[pSample->iCol+1] onwards are valid. -func sampleIsBetterPost(tls *libc.TLS, pAccum uintptr, pNew uintptr, pOld uintptr) int32 { /* sqlite3.c:111588:12: */ +func sampleIsBetterPost(tls *libc.TLS, pAccum uintptr, pNew uintptr, pOld uintptr) int32 { /* sqlite3.c:111601:12: */ var nCol int32 = (*StatAccum)(unsafe.Pointer(pAccum)).FnCol var i int32 @@ -137392,7 +137409,7 @@ func sampleIsBetterPost(tls *libc.TLS, pAccum uintptr, pNew uintptr, pOld uintpt // // This function assumes that for each argument sample, the contents of // the anEq[] array from pSample->anEq[pSample->iCol] onwards are valid. -func sampleIsBetter(tls *libc.TLS, pAccum uintptr, pNew uintptr, pOld uintptr) int32 { /* sqlite3.c:111612:12: */ +func sampleIsBetter(tls *libc.TLS, pAccum uintptr, pNew uintptr, pOld uintptr) int32 { /* sqlite3.c:111625:12: */ var nEqNew TRowcnt = *(*TRowcnt)(unsafe.Pointer((*StatSample)(unsafe.Pointer(pNew)).FanEq + uintptr((*StatSample)(unsafe.Pointer(pNew)).FiCol)*4)) var nEqOld TRowcnt = *(*TRowcnt)(unsafe.Pointer((*StatSample)(unsafe.Pointer(pOld)).FanEq + uintptr((*StatSample)(unsafe.Pointer(pOld)).FiCol)*4)) @@ -137410,7 +137427,7 @@ func sampleIsBetter(tls *libc.TLS, pAccum uintptr, pNew uintptr, pOld uintptr) i // Copy the contents of sample *pNew into the p->a[] array. If necessary, // remove the least desirable sample from p->a[] to make room. -func sampleInsert(tls *libc.TLS, p uintptr, pNew uintptr, nEqZero int32) { /* sqlite3.c:111635:13: */ +func sampleInsert(tls *libc.TLS, p uintptr, pNew uintptr, nEqZero int32) { /* sqlite3.c:111648:13: */ var pSample uintptr var i int32 var pOld uintptr @@ -137553,7 +137570,7 @@ __11: // p->current contains a sample that reflects the previous row of the // index. The value of anEq[iChng] and subsequent anEq[] elements are // correct at this point. -func samplePushPrevious(tls *libc.TLS, p uintptr, iChng int32) { /* sqlite3.c:111727:13: */ +func samplePushPrevious(tls *libc.TLS, p uintptr, iChng int32) { /* sqlite3.c:111740:13: */ var i int32 // Check if any samples from the aBest[] array should be pushed @@ -137605,7 +137622,7 @@ func samplePushPrevious(tls *libc.TLS, p uintptr, iChng int32) { /* sqlite3.c:11 // if it wants the byte-code to do special processing. // // The R parameter is only used for STAT4 -func statPush(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:111779:13: */ +func statPush(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:111792:13: */ var i int32 // The three function arguments @@ -137677,7 +137694,7 @@ var statPushFuncdef = FuncDef{ FnArg: int8(2 + IsStat4), FfuncFlags: U32(SQLITE_UTF8), // pNext FxSFunc: 0, // xValue, xInverse - FzName: ts + 12675} /* sqlite3.c:111854:22 */ + FzName: ts + 12675} /* sqlite3.c:111867:22 */ // Implementation of the stat_get(P,J) SQL function. This routine is // used to query statistical information that has been gathered into @@ -137696,7 +137713,7 @@ var statPushFuncdef = FuncDef{ // STAT_GET_STAT1 and is hence omitted and this routine becomes // a one-parameter function, stat_get(P), that always returns the // stat1 table entry information. -func statGet(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:111891:13: */ +func statGet(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:111904:13: */ bp := tls.Alloc(88) defer tls.Free(88) @@ -137797,9 +137814,9 @@ var statGetFuncdef = FuncDef{ FnArg: int8(1 + IsStat4), FfuncFlags: U32(SQLITE_UTF8), // pNext FxSFunc: 0, // xValue, xInverse - FzName: ts + 12702} /* sqlite3.c:111988:22 */ + FzName: ts + 12702} /* sqlite3.c:112001:22 */ -func callStatGet(tls *libc.TLS, pParse uintptr, regStat int32, iParam int32, regOut int32) { /* sqlite3.c:112000:13: */ +func callStatGet(tls *libc.TLS, pParse uintptr, regStat int32, iParam int32, regOut int32) { /* sqlite3.c:112013:13: */ Xsqlite3VdbeAddOp2(tls, (*Parse)(unsafe.Pointer(pParse)).FpVdbe, OP_Integer, iParam, regStat+1) Xsqlite3VdbeAddFunctionCall(tls, pParse, 0, regStat, regOut, 1+IsStat4, @@ -137808,7 +137825,7 @@ func callStatGet(tls *libc.TLS, pParse uintptr, regStat int32, iParam int32, reg // Generate code to do an analysis of all indices associated with // a single table. -func analyzeOneTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uintptr, iStatCur int32, iMem int32, iTab int32) { /* sqlite3.c:112041:13: */ +func analyzeOneTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uintptr, iStatCur int32, iMem int32, iTab int32) { /* sqlite3.c:112054:13: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb // Database handle var pIdx uintptr // An index to being analyzed var iIdxCur int32 // Cursor open on index being analyzed @@ -138168,7 +138185,7 @@ func analyzeOneTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uintp // Generate code that will cause the most recent index analysis to // be loaded into internal hash tables where is can be used. -func loadAnalysis(tls *libc.TLS, pParse uintptr, iDb int32) { /* sqlite3.c:112403:13: */ +func loadAnalysis(tls *libc.TLS, pParse uintptr, iDb int32) { /* sqlite3.c:112416:13: */ var v uintptr = Xsqlite3GetVdbe(tls, pParse) if v != 0 { Xsqlite3VdbeAddOp1(tls, v, OP_LoadAnalysis, iDb) @@ -138176,7 +138193,7 @@ func loadAnalysis(tls *libc.TLS, pParse uintptr, iDb int32) { /* sqlite3.c:11240 } // Generate code that will do an analysis of an entire database -func analyzeDatabase(tls *libc.TLS, pParse uintptr, iDb int32) { /* sqlite3.c:112413:13: */ +func analyzeDatabase(tls *libc.TLS, pParse uintptr, iDb int32) { /* sqlite3.c:112426:13: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb var pSchema uintptr = (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32)).FpSchema // Schema of database iDb var k uintptr @@ -138201,7 +138218,7 @@ func analyzeDatabase(tls *libc.TLS, pParse uintptr, iDb int32) { /* sqlite3.c:11 // Generate code that will do an analysis of a single table in // a database. If pOnlyIdx is not NULL then it is a single index // in pTab that should be analyzed. -func analyzeTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uintptr) { /* sqlite3.c:112440:13: */ +func analyzeTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uintptr) { /* sqlite3.c:112453:13: */ var iDb int32 var iStatCur int32 @@ -138228,7 +138245,7 @@ func analyzeTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uintptr) // Form 1 causes all indices in all attached databases to be analyzed. // Form 2 analyzes all indices the single database named. // Form 3 analyzes all indices associated with the named table. -func Xsqlite3Analyze(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 uintptr) { /* sqlite3.c:112471:21: */ +func Xsqlite3Analyze(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 uintptr) { /* sqlite3.c:112484:21: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -138291,16 +138308,16 @@ func Xsqlite3Analyze(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 uintp type analysisInfo = struct { Fdb uintptr FzDatabase uintptr -} /* sqlite3.c:112523:9 */ +} /* sqlite3.c:112536:9 */ // Used to pass information from the analyzer reader through to the // callback routine. -type AnalysisInfo = analysisInfo /* sqlite3.c:112523:29 */ +type AnalysisInfo = analysisInfo /* sqlite3.c:112536:29 */ // The first argument points to a nul-terminated string containing a // list of space separated integers. Read the first nOut of these into // the array aOut[]. -func decodeIntArray(tls *libc.TLS, zIntArray uintptr, nOut int32, aOut uintptr, aLog uintptr, pIndex uintptr) { /* sqlite3.c:112534:13: */ +func decodeIntArray(tls *libc.TLS, zIntArray uintptr, nOut int32, aOut uintptr, aLog uintptr, pIndex uintptr) { /* sqlite3.c:112547:13: */ var z uintptr = zIntArray var c int32 var i int32 @@ -138359,7 +138376,7 @@ func decodeIntArray(tls *libc.TLS, zIntArray uintptr, nOut int32, aOut uintptr, // // Entries for which argv[1]==NULL simply record the number of rows in // the table. -func analysisLoader(tls *libc.TLS, pData uintptr, argc int32, argv uintptr, NotUsed uintptr) int32 { /* sqlite3.c:112607:12: */ +func analysisLoader(tls *libc.TLS, pData uintptr, argc int32, argv uintptr, NotUsed uintptr) int32 { /* sqlite3.c:112620:12: */ bp := tls.Alloc(152) defer tls.Free(152) @@ -138421,7 +138438,7 @@ func analysisLoader(tls *libc.TLS, pData uintptr, argc int32, argv uintptr, NotU // If the Index.aSample variable is not NULL, delete the aSample[] array // and its contents. -func Xsqlite3DeleteIndexSamples(tls *libc.TLS, db uintptr, pIdx uintptr) { /* sqlite3.c:112670:21: */ +func Xsqlite3DeleteIndexSamples(tls *libc.TLS, db uintptr, pIdx uintptr) { /* sqlite3.c:112683:21: */ if (*Index)(unsafe.Pointer(pIdx)).FaSample != 0 { var j int32 for j = 0; j < (*Index)(unsafe.Pointer(pIdx)).FnSample; j++ { @@ -138438,7 +138455,7 @@ func Xsqlite3DeleteIndexSamples(tls *libc.TLS, db uintptr, pIdx uintptr) { /* sq // Populate the pIdx->aAvgEq[] array based on the samples currently // stored in pIdx->aSample[]. -func initAvgEq(tls *libc.TLS, pIdx uintptr) { /* sqlite3.c:112695:13: */ +func initAvgEq(tls *libc.TLS, pIdx uintptr) { /* sqlite3.c:112708:13: */ if pIdx != 0 { var aSample uintptr = (*Index)(unsafe.Pointer(pIdx)).FaSample var pFinal uintptr = aSample + uintptr((*Index)(unsafe.Pointer(pIdx)).FnSample-1)*40 @@ -138496,7 +138513,7 @@ func initAvgEq(tls *libc.TLS, pIdx uintptr) { /* sqlite3.c:112695:13: */ // Look up an index by name. Or, if the name of a WITHOUT ROWID table // is supplied instead, find the PRIMARY KEY index for that table. -func findIndexOrPrimaryKey(tls *libc.TLS, db uintptr, zName uintptr, zDb uintptr) uintptr { /* sqlite3.c:112754:14: */ +func findIndexOrPrimaryKey(tls *libc.TLS, db uintptr, zName uintptr, zDb uintptr) uintptr { /* sqlite3.c:112767:14: */ var pIdx uintptr = Xsqlite3FindIndex(tls, db, zName, zDb) if pIdx == uintptr(0) { var pTab uintptr = Xsqlite3FindTable(tls, db, zName, zDb) @@ -138517,7 +138534,7 @@ func findIndexOrPrimaryKey(tls *libc.TLS, db uintptr, zName uintptr, zDb uintptr // zSql2: SELECT idx,neq,nlt,ndlt,sample FROM %Q.sqlite_stat4 // // where %Q is replaced with the database name before the SQL is executed. -func loadStatTbl(tls *libc.TLS, db uintptr, zSql1 uintptr, zSql2 uintptr, zDb uintptr) int32 { /* sqlite3.c:112779:12: */ +func loadStatTbl(tls *libc.TLS, db uintptr, zSql1 uintptr, zSql2 uintptr, zDb uintptr) int32 { /* sqlite3.c:112792:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -138653,7 +138670,7 @@ func loadStatTbl(tls *libc.TLS, db uintptr, zSql1 uintptr, zSql2 uintptr, zDb ui // Load content from the sqlite_stat4 table into // the Index.aSample[] arrays of all indices. -func loadStat4(tls *libc.TLS, db uintptr, zDb uintptr) int32 { /* sqlite3.c:112900:12: */ +func loadStat4(tls *libc.TLS, db uintptr, zDb uintptr) int32 { /* sqlite3.c:112913:12: */ var rc int32 = SQLITE_OK // Result codes from subroutines var pStat4 uintptr @@ -138685,7 +138702,7 @@ func loadStat4(tls *libc.TLS, db uintptr, zDb uintptr) int32 { /* sqlite3.c:1129 // If an OOM error occurs, this function always sets db->mallocFailed. // This means if the caller does not care about other errors, the return // code may be ignored. -func Xsqlite3AnalysisLoad(tls *libc.TLS, db uintptr, iDb int32) int32 { /* sqlite3.c:112938:20: */ +func Xsqlite3AnalysisLoad(tls *libc.TLS, db uintptr, iDb int32) int32 { /* sqlite3.c:112951:20: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -138792,7 +138809,7 @@ func Xsqlite3AnalysisLoad(tls *libc.TLS, db uintptr, iDb int32) int32 { /* sqlit // ATTACH DATABASE abc||def AS 'db2' // // will fail because neither abc or def can be resolved. -func resolveAttachExpr(tls *libc.TLS, pName uintptr, pExpr uintptr) int32 { /* sqlite3.c:113046:12: */ +func resolveAttachExpr(tls *libc.TLS, pName uintptr, pExpr uintptr) int32 { /* sqlite3.c:113059:12: */ var rc int32 = SQLITE_OK if pExpr != 0 { if int32((*Expr)(unsafe.Pointer(pExpr)).Fop) != TK_ID { @@ -138806,7 +138823,7 @@ func resolveAttachExpr(tls *libc.TLS, pName uintptr, pExpr uintptr) int32 { /* s // Return true if zName points to a name that may be used to refer to // database iDb attached to handle db. -func Xsqlite3DbIsNamed(tls *libc.TLS, db uintptr, iDb int32, zName uintptr) int32 { /* sqlite3.c:113063:20: */ +func Xsqlite3DbIsNamed(tls *libc.TLS, db uintptr, iDb int32, zName uintptr) int32 { /* sqlite3.c:113076:20: */ return libc.Bool32(Xsqlite3StrICmp(tls, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(iDb)*32)).FzDbSName, zName) == 0 || iDb == 0 && Xsqlite3StrICmp(tls, ts+7684, zName) == 0) } @@ -138824,7 +138841,7 @@ func Xsqlite3DbIsNamed(tls *libc.TLS, db uintptr, iDb int32, zName uintptr) int3 // If the db->init.reopenMemdb flags is set, then instead of attaching a // new database, close the database on db->init.iDb and reopen it as an // empty MemDB. -func attachFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { /* sqlite3.c:113085:13: */ +func attachFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { /* sqlite3.c:113098:13: */ bp := tls.Alloc(64) defer tls.Free(64) @@ -139117,7 +139134,7 @@ __34: // DETACH DATABASE x // // SELECT sqlite_detach(x) -func detachFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { /* sqlite3.c:113278:13: */ +func detachFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { /* sqlite3.c:113291:13: */ bp := tls.Alloc(152) defer tls.Free(152) @@ -139222,7 +139239,7 @@ detach_error: // This procedure generates VDBE code for a single invocation of either the // sqlite_detach() or sqlite_attach() SQL user functions. -func codeAttach(tls *libc.TLS, pParse uintptr, type1 int32, pFunc uintptr, pAuthArg uintptr, pFilename uintptr, pDbname uintptr, pKey uintptr) { /* sqlite3.c:113340:13: */ +func codeAttach(tls *libc.TLS, pParse uintptr, type1 int32, pFunc uintptr, pAuthArg uintptr, pFilename uintptr, pDbname uintptr, pKey uintptr) { /* sqlite3.c:113353:13: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -139301,7 +139318,7 @@ attach_end: // Called by the parser to compile a DETACH statement. // // DETACH pDbname -func Xsqlite3Detach(tls *libc.TLS, pParse uintptr, pDbname uintptr) { /* sqlite3.c:113412:21: */ +func Xsqlite3Detach(tls *libc.TLS, pParse uintptr, pDbname uintptr) { /* sqlite3.c:113425:21: */ codeAttach(tls, pParse, SQLITE_DETACH, uintptr(unsafe.Pointer(&detach_func)), pDbname, uintptr(0), uintptr(0), pDbname) } @@ -139309,12 +139326,12 @@ var detach_func = FuncDef{ FnArg: int8(1), // nArg FfuncFlags: U32(SQLITE_UTF8), // pNext FxSFunc: 0, // xValue, xInverse - FzName: ts + 13177} /* sqlite3.c:113413:24 */ + FzName: ts + 13177} /* sqlite3.c:113426:24 */ // Called by the parser to compile an ATTACH statement. // // ATTACH p AS pDbname KEY pKey -func Xsqlite3Attach(tls *libc.TLS, pParse uintptr, p uintptr, pDbname uintptr, pKey uintptr) { /* sqlite3.c:113432:21: */ +func Xsqlite3Attach(tls *libc.TLS, pParse uintptr, p uintptr, pDbname uintptr, pKey uintptr) { /* sqlite3.c:113445:21: */ codeAttach(tls, pParse, SQLITE_ATTACH, uintptr(unsafe.Pointer(&attach_func)), p, p, pDbname, pKey) } @@ -139322,10 +139339,10 @@ var attach_func = FuncDef{ FnArg: int8(3), // nArg FfuncFlags: U32(SQLITE_UTF8), // pNext FxSFunc: 0, // xValue, xInverse - FzName: ts + 13191} /* sqlite3.c:113433:24 */ + FzName: ts + 13191} /* sqlite3.c:113446:24 */ // Expression callback used by sqlite3FixAAAA() routines. -func fixExprCb(tls *libc.TLS, p uintptr, pExpr uintptr) int32 { /* sqlite3.c:113451:12: */ +func fixExprCb(tls *libc.TLS, p uintptr, pExpr uintptr) int32 { /* sqlite3.c:113464:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -139345,7 +139362,7 @@ func fixExprCb(tls *libc.TLS, p uintptr, pExpr uintptr) int32 { /* sqlite3.c:113 } // Select callback used by sqlite3FixAAAA() routines. -func fixSelectCb(tls *libc.TLS, p uintptr, pSelect uintptr) int32 { /* sqlite3.c:113468:12: */ +func fixSelectCb(tls *libc.TLS, p uintptr, pSelect uintptr) int32 { /* sqlite3.c:113481:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -139406,7 +139423,7 @@ __3: // Initialize a DbFixer structure. This routine must be called prior // to passing the structure to one of the sqliteFixAAAA() routines below. -func Xsqlite3FixInit(tls *libc.TLS, pFix uintptr, pParse uintptr, iDb int32, zType uintptr, pName uintptr) { /* sqlite3.c:113511:21: */ +func Xsqlite3FixInit(tls *libc.TLS, pFix uintptr, pParse uintptr, iDb int32, zType uintptr, pName uintptr) { /* sqlite3.c:113524:21: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb (*DbFixer)(unsafe.Pointer(pFix)).FpParse = pParse @@ -139442,7 +139459,7 @@ func Xsqlite3FixInit(tls *libc.TLS, pFix uintptr, pParse uintptr, iDb int32, zTy // to an object in a different database, an error message is added to // pParse->zErrMsg and these routines return non-zero. If everything // checks out, these routines return 0. -func Xsqlite3FixSrcList(tls *libc.TLS, pFix uintptr, pList uintptr) int32 { /* sqlite3.c:113549:20: */ +func Xsqlite3FixSrcList(tls *libc.TLS, pFix uintptr, pList uintptr) int32 { /* sqlite3.c:113562:20: */ bp := tls.Alloc(128) defer tls.Free(128) @@ -139457,15 +139474,15 @@ func Xsqlite3FixSrcList(tls *libc.TLS, pFix uintptr, pList uintptr) int32 { /* s return res } -func Xsqlite3FixSelect(tls *libc.TLS, pFix uintptr, pSelect uintptr) int32 { /* sqlite3.c:113563:20: */ +func Xsqlite3FixSelect(tls *libc.TLS, pFix uintptr, pSelect uintptr) int32 { /* sqlite3.c:113576:20: */ return Xsqlite3WalkSelect(tls, pFix+8, pSelect) } -func Xsqlite3FixExpr(tls *libc.TLS, pFix uintptr, pExpr uintptr) int32 { /* sqlite3.c:113569:20: */ +func Xsqlite3FixExpr(tls *libc.TLS, pFix uintptr, pExpr uintptr) int32 { /* sqlite3.c:113582:20: */ return Xsqlite3WalkExpr(tls, pFix+8, pExpr) } -func Xsqlite3FixTriggerStep(tls *libc.TLS, pFix uintptr, pStep uintptr) int32 { /* sqlite3.c:113578:20: */ +func Xsqlite3FixTriggerStep(tls *libc.TLS, pFix uintptr, pStep uintptr) int32 { /* sqlite3.c:113591:20: */ for pStep != 0 { if Xsqlite3WalkSelect(tls, pFix+8, (*TriggerStep)(unsafe.Pointer(pStep)).FpSelect) != 0 || Xsqlite3WalkExpr(tls, pFix+8, (*TriggerStep)(unsafe.Pointer(pStep)).FpWhere) != 0 || @@ -139555,7 +139572,7 @@ func Xsqlite3FixTriggerStep(tls *libc.TLS, pFix uintptr, pStep uintptr) 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) int32 { /* sqlite3.c:113682:16: */ +func Xsqlite3_set_authorizer(tls *libc.TLS, db uintptr, xAuth uintptr, pArg uintptr) int32 { /* sqlite3.c:113695:16: */ Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) (*Sqlite3)(unsafe.Pointer(db)).FxAuth = xAuth (*Sqlite3)(unsafe.Pointer(db)).FpAuthArg = pArg @@ -139568,7 +139585,7 @@ func Xsqlite3_set_authorizer(tls *libc.TLS, db uintptr, xAuth uintptr, pArg uint // Write an error message into pParse->zErrMsg that explains that the // user-supplied authorization function returned an illegal value. -func sqliteAuthBadReturnCode(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:113702:13: */ +func sqliteAuthBadReturnCode(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:113715:13: */ Xsqlite3ErrorMsg(tls, pParse, ts+13275, 0) (*Parse)(unsafe.Pointer(pParse)).Frc = SQLITE_ERROR } @@ -139580,7 +139597,7 @@ func sqliteAuthBadReturnCode(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:11370 // If SQLITE_IGNORE is returned and pExpr is not NULL, then pExpr is changed // to an SQL NULL expression. Otherwise, if pExpr is NULL, then SQLITE_IGNORE // is treated as SQLITE_DENY. In this case an error is left in pParse. -func Xsqlite3AuthReadCol(tls *libc.TLS, pParse uintptr, zTab uintptr, zCol uintptr, iDb int32) int32 { /* sqlite3.c:113716:20: */ +func Xsqlite3AuthReadCol(tls *libc.TLS, pParse uintptr, zTab uintptr, zCol uintptr, iDb int32) int32 { /* sqlite3.c:113729:20: */ bp := tls.Alloc(40) defer tls.Free(40) @@ -139614,7 +139631,7 @@ func Xsqlite3AuthReadCol(tls *libc.TLS, pParse uintptr, zTab uintptr, zCol uintp // If the auth function returns SQLITE_IGNORE, change the TK_COLUMN // instruction into a TK_NULL. If the auth function returns SQLITE_DENY, // then generate an error. -func Xsqlite3AuthRead(tls *libc.TLS, pParse uintptr, pExpr uintptr, pSchema uintptr, pTabList uintptr) { /* sqlite3.c:113752:21: */ +func Xsqlite3AuthRead(tls *libc.TLS, pParse uintptr, pExpr uintptr, pSchema uintptr, pTabList uintptr) { /* sqlite3.c:113765:21: */ var pTab uintptr = uintptr(0) // The table being read var zCol uintptr // Name of the column of the table var iSrc int32 // Index in pTabList->a[] of table being read @@ -139663,7 +139680,7 @@ func Xsqlite3AuthRead(tls *libc.TLS, pParse uintptr, pExpr uintptr, pSchema uint // either SQLITE_OK (zero) or SQLITE_IGNORE or SQLITE_DENY. If SQLITE_DENY // is returned, then the error count and error message in pParse are // modified appropriately. -func Xsqlite3AuthCheck(tls *libc.TLS, pParse uintptr, code int32, zArg1 uintptr, zArg2 uintptr, zArg3 uintptr) int32 { /* sqlite3.c:113809:20: */ +func Xsqlite3AuthCheck(tls *libc.TLS, pParse uintptr, code int32, zArg1 uintptr, zArg2 uintptr, zArg3 uintptr) int32 { /* sqlite3.c:113822:20: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb var rc int32 @@ -139697,7 +139714,7 @@ func Xsqlite3AuthCheck(tls *libc.TLS, pParse uintptr, code int32, zArg1 uintptr, // Push an authorization context. After this routine is called, the // zArg3 argument to authorization callbacks will be zContext until // popped. Or if pParse==0, this routine is a no-op. -func Xsqlite3AuthContextPush(tls *libc.TLS, pParse uintptr, pContext uintptr, zContext uintptr) { /* sqlite3.c:113858:21: */ +func Xsqlite3AuthContextPush(tls *libc.TLS, pParse uintptr, pContext uintptr, zContext uintptr) { /* sqlite3.c:113871:21: */ (*AuthContext)(unsafe.Pointer(pContext)).FpParse = pParse (*AuthContext)(unsafe.Pointer(pContext)).FzAuthContext = (*Parse)(unsafe.Pointer(pParse)).FzAuthContext @@ -139706,7 +139723,7 @@ func Xsqlite3AuthContextPush(tls *libc.TLS, pParse uintptr, pContext uintptr, zC // Pop an authorization context that was previously pushed // by sqlite3AuthContextPush -func Xsqlite3AuthContextPop(tls *libc.TLS, pContext uintptr) { /* sqlite3.c:113873:21: */ +func Xsqlite3AuthContextPop(tls *libc.TLS, pContext uintptr) { /* sqlite3.c:113886:21: */ if (*AuthContext)(unsafe.Pointer(pContext)).FpParse != 0 { (*Parse)(unsafe.Pointer((*AuthContext)(unsafe.Pointer(pContext)).FpParse)).FzAuthContext = (*AuthContext)(unsafe.Pointer(pContext)).FzAuthContext (*AuthContext)(unsafe.Pointer(pContext)).FpParse = uintptr(0) @@ -139721,7 +139738,7 @@ func Xsqlite3AuthContextPop(tls *libc.TLS, pContext uintptr) { /* sqlite3.c:1138 // This routine just records the fact that the lock is desired. The // code to make the lock occur is generated by a later call to // codeTableLocks() which occurs during sqlite3FinishCoding(). -func lockTable(tls *libc.TLS, pParse uintptr, iDb int32, iTab Pgno, isWriteLock U8, zName uintptr) { /* sqlite3.c:113932:29: */ +func lockTable(tls *libc.TLS, pParse uintptr, iDb int32, iTab Pgno, isWriteLock U8, zName uintptr) { /* sqlite3.c:113945:29: */ var pToplevel uintptr var i int32 var nBytes int32 @@ -139755,7 +139772,7 @@ func lockTable(tls *libc.TLS, pParse uintptr, iDb int32, iTab Pgno, isWriteLock } } -func Xsqlite3TableLock(tls *libc.TLS, pParse uintptr, iDb int32, iTab Pgno, isWriteLock U8, zName uintptr) { /* sqlite3.c:113968:21: */ +func Xsqlite3TableLock(tls *libc.TLS, pParse uintptr, iDb int32, iTab Pgno, isWriteLock U8, zName uintptr) { /* sqlite3.c:113981:21: */ if iDb == 1 { return } @@ -139767,7 +139784,7 @@ func Xsqlite3TableLock(tls *libc.TLS, pParse uintptr, iDb int32, iTab Pgno, isWr // Code an OP_TableLock instruction for each table locked by the // statement (configured by calls to sqlite3TableLock()). -func codeTableLocks(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:113984:13: */ +func codeTableLocks(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:113997:13: */ var i int32 var pVdbe uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe @@ -139791,7 +139808,7 @@ func codeTableLocks(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:113984:13: */ // // Note that if an error occurred, it might be the case that // no VDBE code was generated. -func Xsqlite3FinishCoding(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:114023:21: */ +func Xsqlite3FinishCoding(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:114036:21: */ var db uintptr var v uintptr @@ -139944,7 +139961,7 @@ func Xsqlite3FinishCoding(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:114023:2 // * Built-in SQL functions always take precedence over application-defined // SQL functions. In other words, it is not possible to override a // built-in function. -func Xsqlite3NestedParse(tls *libc.TLS, pParse uintptr, zFormat uintptr, va uintptr) { /* sqlite3.c:114194:21: */ +func Xsqlite3NestedParse(tls *libc.TLS, pParse uintptr, zFormat uintptr, va uintptr) { /* sqlite3.c:114207:21: */ bp := tls.Alloc(136) defer tls.Free(136) @@ -139995,7 +140012,7 @@ func Xsqlite3NestedParse(tls *libc.TLS, pParse uintptr, zFormat uintptr, va uint // auxiliary databases added using the ATTACH command. // // See also sqlite3LocateTable(). -func Xsqlite3FindTable(tls *libc.TLS, db uintptr, zName uintptr, zDatabase uintptr) uintptr { /* sqlite3.c:114249:22: */ +func Xsqlite3FindTable(tls *libc.TLS, db uintptr, zName uintptr, zDatabase uintptr) uintptr { /* sqlite3.c:114262:22: */ var p uintptr = uintptr(0) var i int32 @@ -140071,7 +140088,7 @@ func Xsqlite3FindTable(tls *libc.TLS, db uintptr, zName uintptr, zDatabase uintp // The difference between this routine and sqlite3FindTable() is that this // routine leaves an error message in pParse->zErrMsg where // sqlite3FindTable() does not. -func Xsqlite3LocateTable(tls *libc.TLS, pParse uintptr, flags U32, zName uintptr, zDbase uintptr) uintptr { /* sqlite3.c:114327:22: */ +func Xsqlite3LocateTable(tls *libc.TLS, pParse uintptr, flags U32, zName uintptr, zDbase uintptr) uintptr { /* sqlite3.c:114340:22: */ bp := tls.Alloc(40) defer tls.Free(40) @@ -140134,7 +140151,7 @@ func Xsqlite3LocateTable(tls *libc.TLS, pParse uintptr, flags U32, zName uintptr // the search to schema (p->pSchema) if it is not NULL. p->pSchema may be // non-NULL if it is part of a view or trigger program definition. See // sqlite3FixSrcList() for details. -func Xsqlite3LocateTableItem(tls *libc.TLS, pParse uintptr, flags U32, p uintptr) uintptr { /* sqlite3.c:114390:22: */ +func Xsqlite3LocateTableItem(tls *libc.TLS, pParse uintptr, flags U32, p uintptr) uintptr { /* sqlite3.c:114403:22: */ var zDb uintptr if (*SrcItem)(unsafe.Pointer(p)).FpSchema != 0 { @@ -140148,7 +140165,7 @@ func Xsqlite3LocateTableItem(tls *libc.TLS, pParse uintptr, flags U32, p uintptr // Return the preferred table name for system tables. Translate legacy // names into the new preferred names, as appropriate. -func Xsqlite3PreferredTableName(tls *libc.TLS, zName uintptr) uintptr { /* sqlite3.c:114410:27: */ +func Xsqlite3PreferredTableName(tls *libc.TLS, zName uintptr) uintptr { /* sqlite3.c:114423:27: */ if Xsqlite3_strnicmp(tls, zName, ts+9371, 7) == 0 { if Xsqlite3StrICmp(tls, zName+uintptr(7), ts+7196+7) == 0 { return ts + 13371 /* "sqlite_schema" */ @@ -140170,7 +140187,7 @@ func Xsqlite3PreferredTableName(tls *libc.TLS, zName uintptr) uintptr { /* sqlit // for duplicate index names is done.) The search order is // TEMP first, then MAIN, then any auxiliary databases added // using the ATTACH command. -func Xsqlite3FindIndex(tls *libc.TLS, db uintptr, zName uintptr, zDb uintptr) uintptr { /* sqlite3.c:114434:22: */ +func Xsqlite3FindIndex(tls *libc.TLS, db uintptr, zName uintptr, zDb uintptr) uintptr { /* sqlite3.c:114447:22: */ var p uintptr = uintptr(0) var i int32 // All mutexes are required for schema access. Make sure we hold them. @@ -140197,7 +140214,7 @@ func Xsqlite3FindIndex(tls *libc.TLS, db uintptr, zName uintptr, zDb uintptr) ui } // Reclaim the memory used by an index -func Xsqlite3FreeIndex(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:114454:21: */ +func Xsqlite3FreeIndex(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:114467:21: */ Xsqlite3DeleteIndexSamples(tls, db, p) Xsqlite3ExprDelete(tls, db, (*Index)(unsafe.Pointer(p)).FpPartIdxWhere) Xsqlite3ExprListDelete(tls, db, (*Index)(unsafe.Pointer(p)).FaColExpr) @@ -140213,7 +140230,7 @@ func Xsqlite3FreeIndex(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:1144 // unlike that index from its Table then remove the index from // the index hash table and free all memory structures associated // with the index. -func Xsqlite3UnlinkAndDeleteIndex(tls *libc.TLS, db uintptr, iDb int32, zIdxName uintptr) { /* sqlite3.c:114474:21: */ +func Xsqlite3UnlinkAndDeleteIndex(tls *libc.TLS, db uintptr, iDb int32, zIdxName uintptr) { /* sqlite3.c:114487:21: */ var pIndex uintptr var pHash uintptr @@ -140245,7 +140262,7 @@ func Xsqlite3UnlinkAndDeleteIndex(tls *libc.TLS, db uintptr, iDb int32, zIdxName // // Entry 0 (the "main" database) and entry 1 (the "temp" database) // are never candidates for being collapsed. -func Xsqlite3CollapseDatabaseArray(tls *libc.TLS, db uintptr) { /* sqlite3.c:114507:21: */ +func Xsqlite3CollapseDatabaseArray(tls *libc.TLS, db uintptr) { /* sqlite3.c:114520:21: */ var i int32 var j int32 for i = libc.AssignInt32(&j, 2); i < (*Sqlite3)(unsafe.Pointer(db)).FnDb; i++ { @@ -140271,7 +140288,7 @@ func Xsqlite3CollapseDatabaseArray(tls *libc.TLS, db uintptr) { /* sqlite3.c:114 // Reset the schema for the database at index iDb. Also reset the // TEMP schema. The reset is deferred if db->nSchemaLock is not zero. // Deferred resets may be run by calling with iDb<0. -func Xsqlite3ResetOneSchema(tls *libc.TLS, db uintptr, iDb int32) { /* sqlite3.c:114534:21: */ +func Xsqlite3ResetOneSchema(tls *libc.TLS, db uintptr, iDb int32) { /* sqlite3.c:114547:21: */ var i int32 if iDb >= 0 { @@ -140292,7 +140309,7 @@ func Xsqlite3ResetOneSchema(tls *libc.TLS, db uintptr, iDb int32) { /* sqlite3.c // Erase all schema information from all attached databases (including // "main" and "temp") for a single database connection. -func Xsqlite3ResetAllSchemasOfConnection(tls *libc.TLS, db uintptr) { /* sqlite3.c:114558:21: */ +func Xsqlite3ResetAllSchemasOfConnection(tls *libc.TLS, db uintptr) { /* sqlite3.c:114571:21: */ var i int32 Xsqlite3BtreeEnterAll(tls, db) for i = 0; i < (*Sqlite3)(unsafe.Pointer(db)).FnDb; i++ { @@ -140314,14 +140331,14 @@ func Xsqlite3ResetAllSchemasOfConnection(tls *libc.TLS, db uintptr) { /* sqlite3 } // This routine is called when a commit occurs. -func Xsqlite3CommitInternalChanges(tls *libc.TLS, db uintptr) { /* sqlite3.c:114582:21: */ +func Xsqlite3CommitInternalChanges(tls *libc.TLS, db uintptr) { /* sqlite3.c:114595:21: */ *(*U32)(unsafe.Pointer(db + 44)) &= libc.Uint32FromInt32(libc.CplInt32(DBFLAG_SchemaChange)) } // Set the expression associated with a column. This is usually // the DEFAULT value, but might also be the expression that computes // the value for a generated column. -func Xsqlite3ColumnSetExpr(tls *libc.TLS, pParse uintptr, pTab uintptr, pCol uintptr, pExpr uintptr) { /* sqlite3.c:114591:21: */ +func Xsqlite3ColumnSetExpr(tls *libc.TLS, pParse uintptr, pTab uintptr, pCol uintptr, pExpr uintptr) { /* sqlite3.c:114604:21: */ var pList uintptr pList = *(*uintptr)(unsafe.Pointer(pTab + 64 + 16 /* &.pDfltList */)) @@ -140344,7 +140361,7 @@ func Xsqlite3ColumnSetExpr(tls *libc.TLS, pParse uintptr, pTab uintptr, pCol uin // Return the expression associated with a column. The expression might be // the DEFAULT clause or the AS clause of a generated column. // Return NULL if the column has no associated expression. -func Xsqlite3ColumnExpr(tls *libc.TLS, pTab uintptr, pCol uintptr) uintptr { /* sqlite3.c:114617:21: */ +func Xsqlite3ColumnExpr(tls *libc.TLS, pTab uintptr, pCol uintptr) uintptr { /* sqlite3.c:114630:21: */ if int32((*Column)(unsafe.Pointer(pCol)).FiDflt) == 0 { return uintptr(0) } @@ -140361,7 +140378,7 @@ func Xsqlite3ColumnExpr(tls *libc.TLS, pTab uintptr, pCol uintptr) uintptr { /* } // Set the collating sequence name for a column. -func Xsqlite3ColumnSetColl(tls *libc.TLS, db uintptr, pCol uintptr, zColl uintptr) { /* sqlite3.c:114628:21: */ +func Xsqlite3ColumnSetColl(tls *libc.TLS, db uintptr, pCol uintptr, zColl uintptr) { /* sqlite3.c:114641:21: */ var nColl I64 var n I64 var zNew uintptr @@ -140380,7 +140397,7 @@ func Xsqlite3ColumnSetColl(tls *libc.TLS, db uintptr, pCol uintptr, zColl uintpt } // Return the collating squence name for a column -func Xsqlite3ColumnColl(tls *libc.TLS, pCol uintptr) uintptr { /* sqlite3.c:114653:27: */ +func Xsqlite3ColumnColl(tls *libc.TLS, pCol uintptr) uintptr { /* sqlite3.c:114666:27: */ var z uintptr if int32((*Column)(unsafe.Pointer(pCol)).FcolFlags)&COLFLAG_HASCOLL == 0 { return uintptr(0) @@ -140399,7 +140416,7 @@ func Xsqlite3ColumnColl(tls *libc.TLS, pCol uintptr) uintptr { /* sqlite3.c:1146 // Delete memory allocated for the column names of a table or view (the // Table.aCol[] array). -func Xsqlite3DeleteColumnNames(tls *libc.TLS, db uintptr, pTable uintptr) { /* sqlite3.c:114668:21: */ +func Xsqlite3DeleteColumnNames(tls *libc.TLS, db uintptr, pTable uintptr) { /* sqlite3.c:114681:21: */ var i int32 var pCol uintptr @@ -140449,7 +140466,7 @@ func Xsqlite3DeleteColumnNames(tls *libc.TLS, db uintptr, pTable uintptr) { /* s // lookaside memory, but some ephemeral Table objects do.) Or the // db parameter can be used with db->pnBytesFreed to measure the memory // used by the Table object. -func deleteTable(tls *libc.TLS, db uintptr, pTable uintptr) { /* sqlite3.c:114706:29: */ +func deleteTable(tls *libc.TLS, db uintptr, pTable uintptr) { /* sqlite3.c:114719:29: */ var pIndex uintptr var pNext uintptr @@ -140486,7 +140503,7 @@ func deleteTable(tls *libc.TLS, db uintptr, pTable uintptr) { /* sqlite3.c:11470 } -func Xsqlite3DeleteTable(tls *libc.TLS, db uintptr, pTable uintptr) { /* sqlite3.c:114763:21: */ +func Xsqlite3DeleteTable(tls *libc.TLS, db uintptr, pTable uintptr) { /* sqlite3.c:114776:21: */ // Do not delete the table until the reference count reaches zero. if !(pTable != 0) { return @@ -140499,7 +140516,7 @@ func Xsqlite3DeleteTable(tls *libc.TLS, db uintptr, pTable uintptr) { /* sqlite3 // Unlink the given table from the hash tables and the delete the // table structure with all its indices and foreign keys. -func Xsqlite3UnlinkAndDeleteTable(tls *libc.TLS, db uintptr, iDb int32, zTabName uintptr) { /* sqlite3.c:114775:21: */ +func Xsqlite3UnlinkAndDeleteTable(tls *libc.TLS, db uintptr, iDb int32, zTabName uintptr) { /* sqlite3.c:114788:21: */ var p uintptr var pDb uintptr @@ -140521,7 +140538,7 @@ func Xsqlite3UnlinkAndDeleteTable(tls *libc.TLS, db uintptr, iDb int32, zTabName // Tokens are often just pointers into the original SQL text and so // are not \000 terminated and are not persistent. The returned string // is \000 terminated and is persistent. -func Xsqlite3NameFromToken(tls *libc.TLS, db uintptr, pName uintptr) uintptr { /* sqlite3.c:114803:21: */ +func Xsqlite3NameFromToken(tls *libc.TLS, db uintptr, pName uintptr) uintptr { /* sqlite3.c:114816:21: */ var zName uintptr if pName != 0 { zName = Xsqlite3DbStrNDup(tls, db, (*Token)(unsafe.Pointer(pName)).Fz, uint64((*Token)(unsafe.Pointer(pName)).Fn)) @@ -140534,7 +140551,7 @@ func Xsqlite3NameFromToken(tls *libc.TLS, db uintptr, pName uintptr) uintptr { / // Open the sqlite_schema table stored in database number iDb for // writing. The table is opened using cursor 0. -func Xsqlite3OpenSchemaTable(tls *libc.TLS, p uintptr, iDb int32) { /* sqlite3.c:114818:21: */ +func Xsqlite3OpenSchemaTable(tls *libc.TLS, p uintptr, iDb int32) { /* sqlite3.c:114831:21: */ var v uintptr = Xsqlite3GetVdbe(tls, p) Xsqlite3TableLock(tls, p, iDb, uint32(SCHEMA_ROOT), uint8(1), ts+7196) Xsqlite3VdbeAddOp4Int(tls, v, OP_OpenWrite, 0, SCHEMA_ROOT, iDb, 5) @@ -140547,7 +140564,7 @@ func Xsqlite3OpenSchemaTable(tls *libc.TLS, p uintptr, iDb int32) { /* sqlite3.c // of a database ("main", "temp" or the name of an attached db). This // function returns the index of the named database in db->aDb[], or // -1 if the named db cannot be found. -func Xsqlite3FindDbName(tls *libc.TLS, db uintptr, zName uintptr) int32 { /* sqlite3.c:114833:20: */ +func Xsqlite3FindDbName(tls *libc.TLS, db uintptr, zName uintptr) int32 { /* sqlite3.c:114846:20: */ var i int32 = -1 // Database number if zName != 0 { var pDb uintptr @@ -140583,7 +140600,7 @@ func Xsqlite3FindDbName(tls *libc.TLS, db uintptr, zName uintptr) int32 { /* sql // "temp" or the name of an attached db). This routine returns the // index of the named database in db->aDb[], or -1 if the named db // does not exist. -func Xsqlite3FindDb(tls *libc.TLS, db uintptr, pName uintptr) int32 { /* sqlite3.c:114853:20: */ +func Xsqlite3FindDb(tls *libc.TLS, db uintptr, pName uintptr) int32 { /* sqlite3.c:114866:20: */ var i int32 // Database number var zName uintptr // Name we are searching for zName = Xsqlite3NameFromToken(tls, db, pName) @@ -140607,7 +140624,7 @@ func Xsqlite3FindDb(tls *libc.TLS, db uintptr, pName uintptr) int32 { /* sqlite3 // This routine sets the *ppUnqual pointer to point at the token (pName1 or // pName2) that stores the unqualified table name. The index of the // database "xxx" is returned. -func Xsqlite3TwoPartName(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 uintptr, pUnqual uintptr) int32 { /* sqlite3.c:114878:20: */ +func Xsqlite3TwoPartName(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 uintptr, pUnqual uintptr) int32 { /* sqlite3.c:114891:20: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -140634,7 +140651,7 @@ func Xsqlite3TwoPartName(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 u } // True if PRAGMA writable_schema is ON -func Xsqlite3WritableSchema(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:114911:20: */ +func Xsqlite3WritableSchema(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:114924:20: */ return libc.Bool32((*Sqlite3)(unsafe.Pointer(db)).Fflags&uint64(SQLITE_WriteSchema|SQLITE_Defensive) == uint64(SQLITE_WriteSchema)) } @@ -140648,7 +140665,7 @@ func Xsqlite3WritableSchema(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:1149 // When parsing the sqlite_schema table, this routine also checks to // make sure the "type", "name", and "tbl_name" columns are consistent // with the SQL. -func Xsqlite3CheckObjectName(tls *libc.TLS, pParse uintptr, zName uintptr, zType uintptr, zTblName uintptr) int32 { /* sqlite3.c:114933:20: */ +func Xsqlite3CheckObjectName(tls *libc.TLS, pParse uintptr, zName uintptr, zType uintptr, zTblName uintptr) int32 { /* sqlite3.c:114946:20: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -140679,7 +140696,7 @@ func Xsqlite3CheckObjectName(tls *libc.TLS, pParse uintptr, zName uintptr, zType } // Return the PRIMARY KEY index of a table -func Xsqlite3PrimaryKeyIndex(tls *libc.TLS, pTab uintptr) uintptr { /* sqlite3.c:114971:22: */ +func Xsqlite3PrimaryKeyIndex(tls *libc.TLS, pTab uintptr) uintptr { /* sqlite3.c:114984:22: */ var p uintptr for p = (*Table)(unsafe.Pointer(pTab)).FpIndex; p != 0 && !(int32(*(*uint16)(unsafe.Pointer(p + 100 /* &.idxType */))&0x3>>0) == SQLITE_IDXTYPE_PRIMARYKEY); p = (*Index)(unsafe.Pointer(p)).FpNext { } @@ -140690,7 +140707,7 @@ func Xsqlite3PrimaryKeyIndex(tls *libc.TLS, pTab uintptr) uintptr { /* sqlite3.c // for the column iCol in the table (as defined by the CREATE TABLE statement) // find the (first) offset of that column in index pIdx. Or return -1 // if column iCol is not used in index pIdx. -func Xsqlite3TableColumnToIndex(tls *libc.TLS, pIdx uintptr, iCol I16) I16 { /* sqlite3.c:114983:20: */ +func Xsqlite3TableColumnToIndex(tls *libc.TLS, pIdx uintptr, iCol I16) I16 { /* sqlite3.c:114996:20: */ var i int32 for i = 0; i < int32((*Index)(unsafe.Pointer(pIdx)).FnColumn); i++ { if int32(iCol) == int32(*(*I16)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FaiColumn + uintptr(i)*2))) { @@ -140710,7 +140727,7 @@ func Xsqlite3TableColumnToIndex(tls *libc.TLS, pIdx uintptr, iCol I16) I16 { /* // and only there are VIRTUAL columns to the left. // // If SQLITE_OMIT_GENERATED_COLUMNS, this routine is a no-op macro. -func Xsqlite3StorageColumnToTable(tls *libc.TLS, pTab uintptr, iCol I16) I16 { /* sqlite3.c:115003:20: */ +func Xsqlite3StorageColumnToTable(tls *libc.TLS, pTab uintptr, iCol I16) I16 { /* sqlite3.c:115016:20: */ if (*Table)(unsafe.Pointer(pTab)).FtabFlags&U32(TF_HasVirtual) != 0 { var i int32 for i = 0; i <= int32(iCol); i++ { @@ -140757,7 +140774,7 @@ func Xsqlite3StorageColumnToTable(tls *libc.TLS, pTab uintptr, iCol I16) I16 { / // this routine is a no-op macro. If the pTab does not have any virtual // columns, then this routine is no-op that always return iCol. If iCol // is negative (indicating the ROWID column) then this routine return iCol. -func Xsqlite3TableColumnToStorage(tls *libc.TLS, pTab uintptr, iCol I16) I16 { /* sqlite3.c:115051:20: */ +func Xsqlite3TableColumnToStorage(tls *libc.TLS, pTab uintptr, iCol I16) I16 { /* sqlite3.c:115064:20: */ var i int32 var n I16 @@ -140787,7 +140804,7 @@ func Xsqlite3TableColumnToStorage(tls *libc.TLS, pTab uintptr, iCol I16) I16 { / // exists, so that the prepared statement for CREATE TABLE IF NOT EXISTS // will return false for sqlite3_stmt_readonly() even if that statement // is a read-only no-op. -func sqlite3ForceNotReadOnly(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:115077:13: */ +func sqlite3ForceNotReadOnly(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:115090:13: */ var iReg int32 = libc.PreIncInt32(&(*Parse)(unsafe.Pointer(pParse)).FnMem, 1) var v uintptr = Xsqlite3GetVdbe(tls, pParse) if v != 0 { @@ -140810,7 +140827,7 @@ func sqlite3ForceNotReadOnly(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:11507 // routines will be called to add more information to this record. // At the end of the CREATE TABLE statement, the sqlite3EndTable() routine // is called to complete the construction of the new table record. -func Xsqlite3StartTable(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 uintptr, isTemp int32, isView int32, isVirtual int32, noErr int32) { /* sqlite3.c:115102:21: */ +func Xsqlite3StartTable(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 uintptr, isTemp int32, isView int32, isVirtual int32, noErr int32) { /* sqlite3.c:115115:21: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -141068,8 +141085,8 @@ var aCode = [4]U8{ U8(SQLITE_CREATE_TEMP_TABLE), U8(SQLITE_CREATE_VIEW), U8(SQLITE_CREATE_TEMP_VIEW), -} /* sqlite3.c:115149:21 */ -var nullRow = [6]int8{int8(6), int8(0), int8(0), int8(0), int8(0), int8(0)} /* sqlite3.c:115228:23 */ +} /* sqlite3.c:115162:21 */ +var nullRow = [6]int8{int8(6), int8(0), int8(0), int8(0), int8(0), int8(0)} /* sqlite3.c:115241:23 */ // Set properties of a table column based on the (magical) // name of the column. @@ -141079,7 +141096,7 @@ var nullRow = [6]int8{int8(6), int8(0), int8(0), int8(0), int8(0), int8(0)} /* s // with any application-generated triggers. // Clean up the data structures associated with the RETURNING clause. -func sqlite3DeleteReturning(tls *libc.TLS, db uintptr, pRet uintptr) { /* sqlite3.c:115313:13: */ +func sqlite3DeleteReturning(tls *libc.TLS, db uintptr, pRet uintptr) { /* sqlite3.c:115326:13: */ var pHash uintptr pHash = (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+1*32)).FpSchema + 56 Xsqlite3HashInsert(tls, pHash, ts+13615, uintptr(0)) @@ -141101,7 +141118,7 @@ func sqlite3DeleteReturning(tls *libc.TLS, db uintptr, pRet uintptr) { /* sqlite // is attached to a DELETE, INSERT, or UPDATE, so construct it as a // RETURNING trigger instead. It will then be converted into the appropriate // type on the first call to sqlite3TriggersExist(). -func Xsqlite3AddReturning(tls *libc.TLS, pParse uintptr, pList uintptr) { /* sqlite3.c:115337:21: */ +func Xsqlite3AddReturning(tls *libc.TLS, pParse uintptr, pList uintptr) { /* sqlite3.c:115350:21: */ var pRet uintptr var pHash uintptr var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb @@ -141151,7 +141168,7 @@ func Xsqlite3AddReturning(tls *libc.TLS, pParse uintptr, pList uintptr) { /* sql // in a CREATE TABLE statement. sqlite3StartTable() gets called // first to get things going. Then this routine is called for each // column. -func Xsqlite3AddColumn(tls *libc.TLS, pParse uintptr, sName Token, sType Token) { /* sqlite3.c:115385:21: */ +func Xsqlite3AddColumn(tls *libc.TLS, pParse uintptr, sName Token, sType Token) { /* sqlite3.c:115398:21: */ bp := tls.Alloc(48) defer tls.Free(48) *(*Token)(unsafe.Pointer(bp + 16)) = sName @@ -141270,7 +141287,7 @@ func Xsqlite3AddColumn(tls *libc.TLS, pParse uintptr, sName Token, sType Token) // parsing a CREATE TABLE statement. A "NOT NULL" constraint has // been seen on a column. This routine sets the notNull flag on // the column currently under construction. -func Xsqlite3AddNotNull(tls *libc.TLS, pParse uintptr, onError int32) { /* sqlite3.c:115498:21: */ +func Xsqlite3AddNotNull(tls *libc.TLS, pParse uintptr, onError int32) { /* sqlite3.c:115511:21: */ var p uintptr var pCol uintptr p = (*Parse)(unsafe.Pointer(pParse)).FpNewTable @@ -141317,7 +141334,7 @@ func Xsqlite3AddNotNull(tls *libc.TLS, pParse uintptr, onError int32) { /* sqlit // // If none of the substrings in the above table are found, // SQLITE_AFF_NUMERIC is returned. -func Xsqlite3AffinityType(tls *libc.TLS, zIn uintptr, pCol uintptr) int8 { /* sqlite3.c:115545:21: */ +func Xsqlite3AffinityType(tls *libc.TLS, zIn uintptr, pCol uintptr) int8 { /* sqlite3.c:115558:21: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -141391,7 +141408,7 @@ func Xsqlite3AffinityType(tls *libc.TLS, zIn uintptr, pCol uintptr) int8 { /* sq // // This routine is called by the parser while in the middle of // parsing a CREATE TABLE statement. -func Xsqlite3AddDefaultValue(tls *libc.TLS, pParse uintptr, pExpr uintptr, zStart uintptr, zEnd uintptr) { /* sqlite3.c:115622:21: */ +func Xsqlite3AddDefaultValue(tls *libc.TLS, pParse uintptr, pExpr uintptr, zStart uintptr, zEnd uintptr) { /* sqlite3.c:115635:21: */ bp := tls.Alloc(80) defer tls.Free(80) @@ -141444,7 +141461,7 @@ func Xsqlite3AddDefaultValue(tls *libc.TLS, pParse uintptr, pExpr uintptr, zStar // if the expression is just a TK_STRING with an optional COLLATE clause. // If the expression is anything other than TK_STRING, the expression is // unchanged. -func sqlite3StringToId(tls *libc.TLS, p uintptr) { /* sqlite3.c:115681:13: */ +func sqlite3StringToId(tls *libc.TLS, p uintptr) { /* sqlite3.c:115694:13: */ if int32((*Expr)(unsafe.Pointer(p)).Fop) == TK_STRING { (*Expr)(unsafe.Pointer(p)).Fop = U8(TK_ID) } else if int32((*Expr)(unsafe.Pointer(p)).Fop) == TK_COLLATE && int32((*Expr)(unsafe.Pointer((*Expr)(unsafe.Pointer(p)).FpLeft)).Fop) == TK_STRING { @@ -141453,7 +141470,7 @@ func sqlite3StringToId(tls *libc.TLS, p uintptr) { /* sqlite3.c:115681:13: */ } // Tag the given column as being part of the PRIMARY KEY -func makeColumnPartOfPrimaryKey(tls *libc.TLS, pParse uintptr, pCol uintptr) { /* sqlite3.c:115692:13: */ +func makeColumnPartOfPrimaryKey(tls *libc.TLS, pParse uintptr, pCol uintptr) { /* sqlite3.c:115705:13: */ *(*U16)(unsafe.Pointer(pCol + 16)) |= U16(COLFLAG_PRIMKEY) if int32((*Column)(unsafe.Pointer(pCol)).FcolFlags)&COLFLAG_GENERATED != 0 { @@ -141478,7 +141495,7 @@ func makeColumnPartOfPrimaryKey(tls *libc.TLS, pParse uintptr, pCol uintptr) { / // // If the key is not an INTEGER PRIMARY KEY, then create a unique // index for the key. No index is created for INTEGER PRIMARY KEYs. -func Xsqlite3AddPrimaryKey(tls *libc.TLS, pParse uintptr, pList uintptr, onError int32, autoInc int32, sortOrder int32) { /* sqlite3.c:115722:21: */ +func Xsqlite3AddPrimaryKey(tls *libc.TLS, pParse uintptr, pList uintptr, onError int32, autoInc int32, sortOrder int32) { /* sqlite3.c:115735:21: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -141609,7 +141626,7 @@ primary_key_exit: } // Add a new CHECK constraint to the table currently under construction. -func Xsqlite3AddCheckConstraint(tls *libc.TLS, pParse uintptr, pCheckExpr uintptr, zStart uintptr, zEnd uintptr) { /* sqlite3.c:115799:21: */ +func Xsqlite3AddCheckConstraint(tls *libc.TLS, pParse uintptr, pCheckExpr uintptr, zStart uintptr, zEnd uintptr) { /* sqlite3.c:115812:21: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -141639,7 +141656,7 @@ func Xsqlite3AddCheckConstraint(tls *libc.TLS, pParse uintptr, pCheckExpr uintpt // Set the collation function of the most recently parsed table column // to the CollSeq given. -func Xsqlite3AddCollateType(tls *libc.TLS, pParse uintptr, pToken uintptr) { /* sqlite3.c:115833:21: */ +func Xsqlite3AddCollateType(tls *libc.TLS, pParse uintptr, pToken uintptr) { /* sqlite3.c:115846:21: */ var p uintptr var i int32 var zColl uintptr // Dequoted name of collation sequence @@ -141674,7 +141691,7 @@ func Xsqlite3AddCollateType(tls *libc.TLS, pParse uintptr, pToken uintptr) { /* // Change the most recently parsed column to be a GENERATED ALWAYS AS // column. -func Xsqlite3AddGenerated(tls *libc.TLS, pParse uintptr, pExpr uintptr, pType uintptr) { /* sqlite3.c:115866:21: */ +func Xsqlite3AddGenerated(tls *libc.TLS, pParse uintptr, pExpr uintptr, pType uintptr) { /* sqlite3.c:115879:21: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -141769,7 +141786,7 @@ generated_done: // // IMPLEMENTATION-OF: R-34230-56049 SQLite automatically increments // the schema-version whenever the schema changes. -func Xsqlite3ChangeCookie(tls *libc.TLS, pParse uintptr, iDb int32) { /* sqlite3.c:115934:21: */ +func Xsqlite3ChangeCookie(tls *libc.TLS, pParse uintptr, iDb int32) { /* sqlite3.c:115947:21: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe @@ -141783,7 +141800,7 @@ func Xsqlite3ChangeCookie(tls *libc.TLS, pParse uintptr, iDb int32) { /* sqlite3 // // The estimate is conservative. It might be larger that what is // really needed. -func identLength(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:115950:12: */ +func identLength(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:115963:12: */ var n int32 n = 0 __1: @@ -141818,7 +141835,7 @@ __3: // characters, does not begin with a digit and is not an SQL keyword, // then it is copied to the output buffer exactly as it is. Otherwise, // it is quoted using double-quotes. -func identPut(tls *libc.TLS, z uintptr, pIdx uintptr, zSignedIdent uintptr) { /* sqlite3.c:115971:13: */ +func identPut(tls *libc.TLS, z uintptr, pIdx uintptr, zSignedIdent uintptr) { /* sqlite3.c:115984:13: */ var zIdent uintptr = zSignedIdent var i int32 var j int32 @@ -141854,7 +141871,7 @@ func identPut(tls *libc.TLS, z uintptr, pIdx uintptr, zSignedIdent uintptr) { /* // Generate a CREATE TABLE statement appropriate for the given // table. Memory to hold the text of the statement is obtained // from sqliteMalloc() and must be freed by the calling function. -func createTableStmt(tls *libc.TLS, db uintptr, p uintptr) uintptr { /* sqlite3.c:115999:13: */ +func createTableStmt(tls *libc.TLS, db uintptr, p uintptr) uintptr { /* sqlite3.c:116012:13: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -141946,11 +141963,11 @@ var azType1 = [5]uintptr{ ts + 14090, ts + 14095, ts + 14100, -} /* sqlite3.c:116029:23 */ +} /* sqlite3.c:116042:23 */ // Resize an Index object to hold N columns total. Return SQLITE_OK // on success and SQLITE_NOMEM on an OOM error. -func resizeIndexObject(tls *libc.TLS, db uintptr, pIdx uintptr, N int32) int32 { /* sqlite3.c:116067:12: */ +func resizeIndexObject(tls *libc.TLS, db uintptr, pIdx uintptr, N int32) int32 { /* sqlite3.c:116080:12: */ var zExtra uintptr var nByte int32 if int32((*Index)(unsafe.Pointer(pIdx)).FnColumn) >= N { @@ -141979,7 +141996,7 @@ func resizeIndexObject(tls *libc.TLS, db uintptr, pIdx uintptr, N int32) int32 { } // Estimate the total row width for a table. -func estimateTableWidth(tls *libc.TLS, pTab uintptr) { /* sqlite3.c:116094:13: */ +func estimateTableWidth(tls *libc.TLS, pTab uintptr) { /* sqlite3.c:116107:13: */ var wTable uint32 = uint32(0) var pTabCol uintptr var i int32 @@ -142008,7 +142025,7 @@ __3: } // Estimate the average size of a row for an index. -func estimateIndexWidth(tls *libc.TLS, pIdx uintptr) { /* sqlite3.c:116108:13: */ +func estimateIndexWidth(tls *libc.TLS, pIdx uintptr) { /* sqlite3.c:116121:13: */ var wIndex uint32 = uint32(0) var i int32 var aCol uintptr = (*Table)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FpTable)).FaCol @@ -142028,7 +142045,7 @@ func estimateIndexWidth(tls *libc.TLS, pIdx uintptr) { /* sqlite3.c:116108:13: * // Return true if column number x is any of the first nCol entries of aiCol[]. // This is used to determine if the column number x appears in any of the // first nCol entries of an index. -func hasColumn(tls *libc.TLS, aiCol uintptr, nCol int32, x int32) int32 { /* sqlite3.c:116124:12: */ +func hasColumn(tls *libc.TLS, aiCol uintptr, nCol int32, x int32) int32 { /* sqlite3.c:116137:12: */ for libc.PostDecInt32(&nCol, 1) > 0 { if x == int32(*(*I16)(unsafe.Pointer(libc.PostIncUintptr(&aiCol, 2)))) { return 1 @@ -142048,7 +142065,7 @@ func hasColumn(tls *libc.TLS, aiCol uintptr, nCol int32, x int32) int32 { /* sql // This routine differs from hasColumn() in that both the column and the // collating sequence must match for this routine, but for hasColumn() only // the column name must match. -func isDupColumn(tls *libc.TLS, pIdx uintptr, nKey int32, pPk uintptr, iCol int32) int32 { /* sqlite3.c:116146:12: */ +func isDupColumn(tls *libc.TLS, pIdx uintptr, nKey int32, pPk uintptr, iCol int32) int32 { /* sqlite3.c:116159:12: */ var i int32 var j int32 @@ -142081,7 +142098,7 @@ func isDupColumn(tls *libc.TLS, pIdx uintptr, nKey int32, pPk uintptr, iCol int3 // // The colNotIdxed mask is AND-ed with the SrcList.a[].colUsed mask // to determine if the index is covering index. -func recomputeColumnsNotIndexed(tls *libc.TLS, pIdx uintptr) { /* sqlite3.c:116185:13: */ +func recomputeColumnsNotIndexed(tls *libc.TLS, pIdx uintptr) { /* sqlite3.c:116198:13: */ var m Bitmask = uint64(0) var j int32 var pTab uintptr = (*Index)(unsafe.Pointer(pIdx)).FpTable @@ -142120,7 +142137,7 @@ func recomputeColumnsNotIndexed(tls *libc.TLS, pIdx uintptr) { /* sqlite3.c:1161 // indices with the PRIMARY KEY columns. // // For virtual tables, only (1) is performed. -func convertToWithoutRowidTable(tls *libc.TLS, pParse uintptr, pTab uintptr) { /* sqlite3.c:116225:13: */ +func convertToWithoutRowidTable(tls *libc.TLS, pParse uintptr, pTab uintptr) { /* sqlite3.c:116238:13: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -142283,7 +142300,7 @@ func convertToWithoutRowidTable(tls *libc.TLS, pParse uintptr, pTab uintptr) { / // Return true if pTab is a virtual table and zName is a shadow table name // for that virtual table. -func Xsqlite3IsShadowTableOf(tls *libc.TLS, db uintptr, pTab uintptr, zName uintptr) int32 { /* sqlite3.c:116385:20: */ +func Xsqlite3IsShadowTableOf(tls *libc.TLS, db uintptr, pTab uintptr, zName uintptr) int32 { /* sqlite3.c:116398:20: */ var nName int32 // Length of zName var pMod uintptr // Module for the virtual table @@ -142316,7 +142333,7 @@ func Xsqlite3IsShadowTableOf(tls *libc.TLS, db uintptr, pTab uintptr, zName uint // exists and has an xShadowName method, then loop over all other ordinary // tables within the same schema looking for shadow tables of pTab, and mark // any shadow tables seen using the TF_Shadow flag. -func Xsqlite3MarkAllShadowTablesOf(tls *libc.TLS, db uintptr, pTab uintptr) { /* sqlite3.c:116408:21: */ +func Xsqlite3MarkAllShadowTablesOf(tls *libc.TLS, db uintptr, pTab uintptr) { /* sqlite3.c:116421:21: */ var nName int32 // Length of pTab->zName var pMod uintptr // Module for the virtual table var k uintptr // For looping through the symbol table @@ -142360,7 +142377,7 @@ func Xsqlite3MarkAllShadowTablesOf(tls *libc.TLS, db uintptr, pTab uintptr) { /* // // zName is temporarily modified while this routine is running, but is // restored to its original value prior to this routine returning. -func Xsqlite3ShadowTableName(tls *libc.TLS, db uintptr, zName uintptr) int32 { /* sqlite3.c:116444:20: */ +func Xsqlite3ShadowTableName(tls *libc.TLS, db uintptr, zName uintptr) int32 { /* sqlite3.c:116457:20: */ var zTail uintptr // Pointer to the last "_" in zName var pTab uintptr // Table that zName is a shadow of zTail = libc.Xstrrchr(tls, zName, '_') @@ -142397,7 +142414,7 @@ func Xsqlite3ShadowTableName(tls *libc.TLS, db uintptr, zName uintptr) int32 { / // was called to create a table generated from a // "CREATE TABLE ... AS SELECT ..." statement. The column names of // the new table will match the result set of the SELECT. -func Xsqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr, tabOpts U32, pSelect uintptr) { /* sqlite3.c:116505:21: */ +func Xsqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr, tabOpts U32, pSelect uintptr) { /* sqlite3.c:116518:21: */ bp := tls.Alloc(184) defer tls.Free(184) @@ -142718,7 +142735,7 @@ func Xsqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr } // The parser calls this routine in order to create a new VIEW -func Xsqlite3CreateView(tls *libc.TLS, pParse uintptr, pBegin uintptr, pName1 uintptr, pName2 uintptr, pCNames uintptr, pSelect uintptr, isTemp int32, noErr int32) { /* sqlite3.c:116847:21: */ +func Xsqlite3CreateView(tls *libc.TLS, pParse uintptr, pBegin uintptr, pName1 uintptr, pName2 uintptr, pCNames uintptr, pSelect uintptr, isTemp int32, noErr int32) { /* sqlite3.c:116860:21: */ bp := tls.Alloc(120) defer tls.Free(120) @@ -142836,7 +142853,7 @@ __10: // The Table structure pTable is really a VIEW. Fill in the names of // the columns of the view in the pTable structure. Return the number // of errors. If an error is seen leave an error message in pParse->zErrMsg. -func Xsqlite3ViewGetColumnNames(tls *libc.TLS, pParse uintptr, pTable uintptr) int32 { /* sqlite3.c:116939:20: */ +func Xsqlite3ViewGetColumnNames(tls *libc.TLS, pParse uintptr, pTable uintptr) int32 { /* sqlite3.c:116952:20: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -142951,7 +142968,7 @@ func Xsqlite3ViewGetColumnNames(tls *libc.TLS, pParse uintptr, pTable uintptr) i } // Clear the column names from every VIEW in database idx. -func sqliteViewResetAll(tls *libc.TLS, db uintptr, idx int32) { /* sqlite3.c:117067:13: */ +func sqliteViewResetAll(tls *libc.TLS, db uintptr, idx int32) { /* sqlite3.c:117080:13: */ var i uintptr if !(int32((*Schema)(unsafe.Pointer((*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(idx)*32)).FpSchema)).FschemaFlags)&DB_UnresetViews == DB_UnresetViews) { @@ -142981,7 +142998,7 @@ func sqliteViewResetAll(tls *libc.TLS, db uintptr, idx int32) { /* sqlite3.c:117 // We must continue looping until all tables and indices with // rootpage==iFrom have been converted to have a rootpage of iTo // in order to be certain that we got the right one. -func Xsqlite3RootPageMoved(tls *libc.TLS, db uintptr, iDb int32, iFrom Pgno, iTo Pgno) { /* sqlite3.c:117101:21: */ +func Xsqlite3RootPageMoved(tls *libc.TLS, db uintptr, iDb int32, iFrom Pgno, iTo Pgno) { /* sqlite3.c:117114:21: */ var pElem uintptr var pHash uintptr var pDb uintptr @@ -143007,7 +143024,7 @@ func Xsqlite3RootPageMoved(tls *libc.TLS, db uintptr, iDb int32, iFrom Pgno, iTo // Also write code to modify the sqlite_schema table and internal schema // if a root-page of another table is moved by the btree-layer whilst // erasing iTable (this can happen with an auto-vacuum database). -func destroyRootPage(tls *libc.TLS, pParse uintptr, iTable int32, iDb int32) { /* sqlite3.c:117131:13: */ +func destroyRootPage(tls *libc.TLS, pParse uintptr, iTable int32, iDb int32) { /* sqlite3.c:117144:13: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -143037,7 +143054,7 @@ func destroyRootPage(tls *libc.TLS, pParse uintptr, iTable int32, iDb int32) { / // Code to update the sqlite_schema tables and internal schema definitions // in case a root-page belonging to another table is moved by the btree layer // is also added (this can happen with an auto-vacuum database). -func destroyTable(tls *libc.TLS, pParse uintptr, pTab uintptr) { /* sqlite3.c:117161:13: */ +func destroyTable(tls *libc.TLS, pParse uintptr, pTab uintptr) { /* sqlite3.c:117174:13: */ // If the database may be auto-vacuum capable (if SQLITE_OMIT_AUTOVACUUM // is not defined), then it is important to call OP_Destroy on the // table and index root-pages in order, starting with the numerically @@ -143083,7 +143100,7 @@ func destroyTable(tls *libc.TLS, pParse uintptr, pTab uintptr) { /* sqlite3.c:11 // Remove entries from the sqlite_statN tables (for N in (1,2,3)) // after a DROP INDEX or DROP TABLE command. -func sqlite3ClearStatTables(tls *libc.TLS, pParse uintptr, iDb int32, zType uintptr, zName uintptr) { /* sqlite3.c:117210:13: */ +func sqlite3ClearStatTables(tls *libc.TLS, pParse uintptr, iDb int32, zType uintptr, zName uintptr) { /* sqlite3.c:117223:13: */ bp := tls.Alloc(64) defer tls.Free(64) @@ -143102,7 +143119,7 @@ func sqlite3ClearStatTables(tls *libc.TLS, pParse uintptr, iDb int32, zType uint } // Generate code to drop a table. -func Xsqlite3CodeDropTable(tls *libc.TLS, pParse uintptr, pTab uintptr, iDb int32, isView int32) { /* sqlite3.c:117233:21: */ +func Xsqlite3CodeDropTable(tls *libc.TLS, pParse uintptr, pTab uintptr, iDb int32, isView int32) { /* sqlite3.c:117246:21: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -143166,7 +143183,7 @@ func Xsqlite3CodeDropTable(tls *libc.TLS, pParse uintptr, pTab uintptr, iDb int3 // Return TRUE if shadow tables should be read-only in the current // context. -func Xsqlite3ReadOnlyShadowTables(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:117306:20: */ +func Xsqlite3ReadOnlyShadowTables(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:117319:20: */ if (*Sqlite3)(unsafe.Pointer(db)).Fflags&uint64(SQLITE_Defensive) != uint64(0) && (*Sqlite3)(unsafe.Pointer(db)).FpVtabCtx == uintptr(0) && (*Sqlite3)(unsafe.Pointer(db)).FnVdbeExec == 0 && @@ -143177,7 +143194,7 @@ func Xsqlite3ReadOnlyShadowTables(tls *libc.TLS, db uintptr) int32 { /* sqlite3. } // Return true if it is not allowed to drop the given table -func tableMayNotBeDropped(tls *libc.TLS, db uintptr, pTab uintptr) int32 { /* sqlite3.c:117322:12: */ +func tableMayNotBeDropped(tls *libc.TLS, db uintptr, pTab uintptr) int32 { /* sqlite3.c:117335:12: */ if Xsqlite3_strnicmp(tls, (*Table)(unsafe.Pointer(pTab)).FzName, ts+9371, 7) == 0 { if Xsqlite3_strnicmp(tls, (*Table)(unsafe.Pointer(pTab)).FzName+uintptr(7), ts+14766, 4) == 0 { return 0 @@ -143198,7 +143215,7 @@ func tableMayNotBeDropped(tls *libc.TLS, db uintptr, pTab uintptr) int32 { /* sq // This routine is called to do the work of a DROP TABLE statement. // pName is the name of the table to be dropped. -func Xsqlite3DropTable(tls *libc.TLS, pParse uintptr, pName uintptr, isView int32, noErr int32) { /* sqlite3.c:117341:21: */ +func Xsqlite3DropTable(tls *libc.TLS, pParse uintptr, pName uintptr, isView int32, noErr int32) { /* sqlite3.c:117354:21: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -143386,7 +143403,7 @@ exit_drop_table: // // The foreign key is set for IMMEDIATE processing. A subsequent call // to sqlite3DeferForeignKey() might change this to DEFERRED. -func Xsqlite3CreateForeignKey(tls *libc.TLS, pParse uintptr, pFromCol uintptr, pTo uintptr, pToCol uintptr, flags int32) { /* sqlite3.c:117461:21: */ +func Xsqlite3CreateForeignKey(tls *libc.TLS, pParse uintptr, pFromCol uintptr, pTo uintptr, pToCol uintptr, flags int32) { /* sqlite3.c:117474:21: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -143609,7 +143626,7 @@ fk_end: // parameter is 1 for INITIALLY DEFERRED and 0 for INITIALLY IMMEDIATE. // The behavior of the most recently created foreign key is adjusted // accordingly. -func Xsqlite3DeferForeignKey(tls *libc.TLS, pParse uintptr, isDeferred int32) { /* sqlite3.c:117593:21: */ +func Xsqlite3DeferForeignKey(tls *libc.TLS, pParse uintptr, isDeferred int32) { /* sqlite3.c:117606:21: */ var pTab uintptr var pFKey uintptr if libc.AssignUintptr(&pTab, (*Parse)(unsafe.Pointer(pParse)).FpNewTable) == uintptr(0) { @@ -143634,7 +143651,7 @@ func Xsqlite3DeferForeignKey(tls *libc.TLS, pParse uintptr, isDeferred int32) { // root page number of the index. If memRootPage is negative, then // the index already exists and must be cleared before being refilled and // the root page number of the index is taken from pIndex->tnum. -func sqlite3RefillIndex(tls *libc.TLS, pParse uintptr, pIndex uintptr, memRootPage int32) { /* sqlite3.c:117616:13: */ +func sqlite3RefillIndex(tls *libc.TLS, pParse uintptr, pIndex uintptr, memRootPage int32) { /* sqlite3.c:117629:13: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -143746,7 +143763,7 @@ func sqlite3RefillIndex(tls *libc.TLS, pParse uintptr, pIndex uintptr, memRootPa // Increase the allocation size to provide an extra nExtra bytes // of 8-byte aligned space after the Index object and return a // pointer to this extra space in *ppExtra. -func Xsqlite3AllocateIndexObject(tls *libc.TLS, db uintptr, nCol I16, nExtra int32, ppExtra uintptr) uintptr { /* sqlite3.c:117722:22: */ +func Xsqlite3AllocateIndexObject(tls *libc.TLS, db uintptr, nCol I16, nExtra int32, ppExtra uintptr) uintptr { /* sqlite3.c:117735:22: */ var p uintptr // Allocated index object var nByte int32 // Bytes of space for Index object + arrays @@ -143771,7 +143788,7 @@ func Xsqlite3AllocateIndexObject(tls *libc.TLS, db uintptr, nCol I16, nExtra int // If expression list pList contains an expression that was parsed with // an explicit "NULLS FIRST" or "NULLS LAST" clause, leave an error in // pParse and return non-zero. Otherwise, return zero. -func Xsqlite3HasExplicitNulls(tls *libc.TLS, pParse uintptr, pList uintptr) int32 { /* sqlite3.c:117755:20: */ +func Xsqlite3HasExplicitNulls(tls *libc.TLS, pParse uintptr, pList uintptr) int32 { /* sqlite3.c:117768:20: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -143804,7 +143821,7 @@ func Xsqlite3HasExplicitNulls(tls *libc.TLS, pParse uintptr, pList uintptr) int3 // pList is a list of columns to be indexed. pList will be NULL if this // is a primary key or unique-constraint on the most recent column added // to the table currently under construction. -func Xsqlite3CreateIndex(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 uintptr, pTblName uintptr, pList uintptr, onError int32, pStart uintptr, pPIWhere uintptr, sortOrder int32, ifNotExist int32, idxType U8) { /* sqlite3.c:117783:21: */ +func Xsqlite3CreateIndex(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 uintptr, pTblName uintptr, pList uintptr, onError int32, pStart uintptr, pPIWhere uintptr, sortOrder int32, ifNotExist int32, idxType U8) { /* sqlite3.c:117796:21: */ bp := tls.Alloc(256) defer tls.Free(256) @@ -144574,7 +144591,7 @@ __81: goto __101 } Xsqlite3ErrorMsg(tls, pParse, ts+15434, 0) - (*Parse)(unsafe.Pointer(pParse)).Frc = Xsqlite3CorruptError(tls, 118239) + (*Parse)(unsafe.Pointer(pParse)).Frc = Xsqlite3CorruptError(tls, 118252) goto exit_create_index __101: ; @@ -144760,7 +144777,7 @@ __113: // Apart from that, we have little to go on besides intuition as to // how aiRowEst[] should be initialized. The numbers generated here // are based on typical values found in actual indices. -func Xsqlite3DefaultRowEst(tls *libc.TLS, pIdx uintptr) { /* sqlite3.c:118394:21: */ +func Xsqlite3DefaultRowEst(tls *libc.TLS, pIdx uintptr) { /* sqlite3.c:118407:21: */ var a uintptr = (*Index)(unsafe.Pointer(pIdx)).FaiRowLogEst var x LogEst var nCopy int32 = func() int32 { @@ -144804,11 +144821,11 @@ func Xsqlite3DefaultRowEst(tls *libc.TLS, pIdx uintptr) { /* sqlite3.c:118394:21 } } -var aVal = [5]LogEst{int16(33), int16(32), int16(30), int16(28), int16(26)} /* sqlite3.c:118396:23 */ +var aVal = [5]LogEst{int16(33), int16(32), int16(30), int16(28), int16(26)} /* sqlite3.c:118409:23 */ // This routine will drop an existing named index. This routine // implements the DROP INDEX statement. -func Xsqlite3DropIndex(tls *libc.TLS, pParse uintptr, pName uintptr, ifExists int32) { /* sqlite3.c:118438:21: */ +func Xsqlite3DropIndex(tls *libc.TLS, pParse uintptr, pName uintptr, ifExists int32) { /* sqlite3.c:118451:21: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -144927,7 +144944,7 @@ exit_drop_index: // // Otherwise, if the realloc() fails, *pIdx is set to -1, *pnEntry remains // unchanged and a copy of pArray returned. -func Xsqlite3ArrayAllocate(tls *libc.TLS, db uintptr, pArray uintptr, szEntry int32, pnEntry uintptr, pIdx uintptr) uintptr { /* sqlite3.c:118520:21: */ +func Xsqlite3ArrayAllocate(tls *libc.TLS, db uintptr, pArray uintptr, szEntry int32, pnEntry uintptr, pIdx uintptr) uintptr { /* sqlite3.c:118533:21: */ var z uintptr var n Sqlite3_int64 = Sqlite3_int64(libc.AssignPtrInt32(pIdx, *(*int32)(unsafe.Pointer(pnEntry)))) if n&(n-int64(1)) == int64(0) { @@ -144954,7 +144971,7 @@ func Xsqlite3ArrayAllocate(tls *libc.TLS, db uintptr, pArray uintptr, szEntry in // need be. // // A new IdList is returned, or NULL if malloc() fails. -func Xsqlite3IdListAppend(tls *libc.TLS, pParse uintptr, pList uintptr, pToken uintptr) uintptr { /* sqlite3.c:118550:23: */ +func Xsqlite3IdListAppend(tls *libc.TLS, pParse uintptr, pList uintptr, pToken uintptr) uintptr { /* sqlite3.c:118563:23: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -144985,7 +145002,7 @@ func Xsqlite3IdListAppend(tls *libc.TLS, pParse uintptr, pList uintptr, pToken u } // Delete an IdList. -func Xsqlite3IdListDelete(tls *libc.TLS, db uintptr, pList uintptr) { /* sqlite3.c:118578:21: */ +func Xsqlite3IdListDelete(tls *libc.TLS, db uintptr, pList uintptr) { /* sqlite3.c:118591:21: */ var i int32 if pList == uintptr(0) { return @@ -144999,7 +145016,7 @@ func Xsqlite3IdListDelete(tls *libc.TLS, db uintptr, pList uintptr) { /* sqlite3 // Return the index in pList of the identifier named zId. Return -1 // if not found. -func Xsqlite3IdListIndex(tls *libc.TLS, pList uintptr, zName uintptr) int32 { /* sqlite3.c:118592:20: */ +func Xsqlite3IdListIndex(tls *libc.TLS, pList uintptr, zName uintptr) int32 { /* sqlite3.c:118605:20: */ var i int32 if pList == uintptr(0) { return -1 @@ -145037,7 +145054,7 @@ func Xsqlite3IdListIndex(tls *libc.TLS, pList uintptr, zName uintptr) int32 { /* // If a memory allocation fails or the SrcList becomes too large, leave // the original SrcList unchanged, return NULL, and leave an error message // in pParse. -func Xsqlite3SrcListEnlarge(tls *libc.TLS, pParse uintptr, pSrc uintptr, nExtra int32, iStart int32) uintptr { /* sqlite3.c:118633:24: */ +func Xsqlite3SrcListEnlarge(tls *libc.TLS, pParse uintptr, pSrc uintptr, nExtra int32, iStart int32) uintptr { /* sqlite3.c:118646:24: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -145119,7 +145136,7 @@ func Xsqlite3SrcListEnlarge(tls *libc.TLS, pParse uintptr, pSrc uintptr, nExtra // // Both pTable and pDatabase are assumed to be quoted. They are dequoted // before being added to the SrcList. -func Xsqlite3SrcListAppend(tls *libc.TLS, pParse uintptr, pList uintptr, pTable uintptr, pDatabase uintptr) uintptr { /* sqlite3.c:118722:24: */ +func Xsqlite3SrcListAppend(tls *libc.TLS, pParse uintptr, pList uintptr, pTable uintptr, pDatabase uintptr) uintptr { /* sqlite3.c:118735:24: */ var pItem uintptr var db uintptr // Cannot have C without B @@ -145158,7 +145175,7 @@ func Xsqlite3SrcListAppend(tls *libc.TLS, pParse uintptr, pList uintptr, pTable } // Assign VdbeCursor index numbers to all tables in a SrcList -func Xsqlite3SrcListAssignCursors(tls *libc.TLS, pParse uintptr, pList uintptr) { /* sqlite3.c:118767:21: */ +func Xsqlite3SrcListAssignCursors(tls *libc.TLS, pParse uintptr, pList uintptr) { /* sqlite3.c:118780:21: */ var i int32 var pItem uintptr @@ -145190,7 +145207,7 @@ func Xsqlite3SrcListAssignCursors(tls *libc.TLS, pParse uintptr, pList uintptr) } // Delete an entire SrcList including all its substructure. -func Xsqlite3SrcListDelete(tls *libc.TLS, db uintptr, pList uintptr) { /* sqlite3.c:118785:21: */ +func Xsqlite3SrcListDelete(tls *libc.TLS, db uintptr, pList uintptr) { /* sqlite3.c:118798:21: */ var i int32 var pItem uintptr if pList == uintptr(0) { @@ -145253,7 +145270,7 @@ __3: // // Return a new SrcList which encodes is the FROM with the new // term added. -func Xsqlite3SrcListAppendFromTerm(tls *libc.TLS, pParse uintptr, p uintptr, pTable uintptr, pDatabase uintptr, pAlias uintptr, pSubquery uintptr, pOn uintptr, pUsing uintptr) uintptr { /* sqlite3.c:118819:24: */ +func Xsqlite3SrcListAppendFromTerm(tls *libc.TLS, pParse uintptr, p uintptr, pTable uintptr, pDatabase uintptr, pAlias uintptr, pSubquery uintptr, pOn uintptr, pUsing uintptr) uintptr { /* sqlite3.c:118832:24: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -145317,7 +145334,7 @@ append_from_error: // Add an INDEXED BY or NOT INDEXED clause to the most recently added // element of the source-list passed as the second argument. -func Xsqlite3SrcListIndexedBy(tls *libc.TLS, pParse uintptr, p uintptr, pIndexedBy uintptr) { /* sqlite3.c:118870:21: */ +func Xsqlite3SrcListIndexedBy(tls *libc.TLS, pParse uintptr, p uintptr, pIndexedBy uintptr) { /* sqlite3.c:118883:21: */ if p != 0 && (*Token)(unsafe.Pointer(pIndexedBy)).Fn > uint32(0) { var pItem uintptr @@ -145339,7 +145356,7 @@ func Xsqlite3SrcListIndexedBy(tls *libc.TLS, pParse uintptr, p uintptr, pIndexed // Append the contents of SrcList p2 to SrcList p1 and return the resulting // SrcList. Or, if an error occurs, return NULL. In all cases, p1 and p2 // are deleted by this function. -func Xsqlite3SrcListAppendList(tls *libc.TLS, pParse uintptr, p1 uintptr, p2 uintptr) uintptr { /* sqlite3.c:118896:24: */ +func Xsqlite3SrcListAppendList(tls *libc.TLS, pParse uintptr, p1 uintptr, p2 uintptr) uintptr { /* sqlite3.c:118909:24: */ if p2 != 0 { var pNew uintptr = Xsqlite3SrcListEnlarge(tls, pParse, p1, (*SrcList)(unsafe.Pointer(p2)).FnSrc, 1) @@ -145356,7 +145373,7 @@ func Xsqlite3SrcListAppendList(tls *libc.TLS, pParse uintptr, p1 uintptr, p2 uin // Add the list of function arguments to the SrcList entry for a // table-valued-function. -func Xsqlite3SrcListFuncArgs(tls *libc.TLS, pParse uintptr, p uintptr, pList uintptr) { /* sqlite3.c:118915:21: */ +func Xsqlite3SrcListFuncArgs(tls *libc.TLS, pParse uintptr, p uintptr, pList uintptr) { /* sqlite3.c:118928:21: */ if p != 0 { var pItem uintptr = p + 8 + uintptr((*SrcList)(unsafe.Pointer(p)).FnSrc-1)*112 @@ -145380,7 +145397,7 @@ func Xsqlite3SrcListFuncArgs(tls *libc.TLS, pParse uintptr, p uintptr, pList uin // The operator is "natural cross join". The A and B operands are stored // in p->a[0] and p->a[1], respectively. The parser initially stores the // operator with A. This routine shifts that operator over to B. -func Xsqlite3SrcListShiftJoinType(tls *libc.TLS, p uintptr) { /* sqlite3.c:118943:21: */ +func Xsqlite3SrcListShiftJoinType(tls *libc.TLS, p uintptr) { /* sqlite3.c:118956:21: */ if p != 0 { var i int32 for i = (*SrcList)(unsafe.Pointer(p)).FnSrc - 1; i > 0; i-- { @@ -145391,7 +145408,7 @@ func Xsqlite3SrcListShiftJoinType(tls *libc.TLS, p uintptr) { /* sqlite3.c:11894 } // Generate VDBE code for a BEGIN statement. -func Xsqlite3BeginTransaction(tls *libc.TLS, pParse uintptr, type1 int32) { /* sqlite3.c:118956:21: */ +func Xsqlite3BeginTransaction(tls *libc.TLS, pParse uintptr, type1 int32) { /* sqlite3.c:118969:21: */ var db uintptr var v uintptr var i int32 @@ -145426,7 +145443,7 @@ func Xsqlite3BeginTransaction(tls *libc.TLS, pParse uintptr, type1 int32) { /* s // Generate VDBE code for a COMMIT or ROLLBACK statement. // Code for ROLLBACK is generated if eType==TK_ROLLBACK. Otherwise // code is generated for a COMMIT. -func Xsqlite3EndTransaction(tls *libc.TLS, pParse uintptr, eType int32) { /* sqlite3.c:118992:21: */ +func Xsqlite3EndTransaction(tls *libc.TLS, pParse uintptr, eType int32) { /* sqlite3.c:119005:21: */ var v uintptr var isRollback int32 @@ -145448,7 +145465,7 @@ func Xsqlite3EndTransaction(tls *libc.TLS, pParse uintptr, eType int32) { /* sql // This function is called by the parser when it parses a command to create, // release or rollback an SQL savepoint. -func Xsqlite3Savepoint(tls *libc.TLS, pParse uintptr, op int32, pName uintptr) { /* sqlite3.c:119014:21: */ +func Xsqlite3Savepoint(tls *libc.TLS, pParse uintptr, op int32, pName uintptr) { /* sqlite3.c:119027:21: */ var zName uintptr = Xsqlite3NameFromToken(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, pName) if zName != 0 { var v uintptr = Xsqlite3GetVdbe(tls, pParse) @@ -145461,11 +145478,11 @@ func Xsqlite3Savepoint(tls *libc.TLS, pParse uintptr, op int32, pName uintptr) { } } -var az = [3]uintptr{ts + 15797, ts + 15819, ts + 15803} /* sqlite3.c:119019:23 */ +var az = [3]uintptr{ts + 15797, ts + 15819, ts + 15803} /* sqlite3.c:119032:23 */ // Make sure the TEMP database is open and available for use. Return // the number of errors. Leave any error messages in the pParse structure. -func Xsqlite3OpenTempDatabase(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:119034:20: */ +func Xsqlite3OpenTempDatabase(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:119047:20: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -145491,13 +145508,13 @@ func Xsqlite3OpenTempDatabase(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3. return 0 } -var flags int32 = SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE | SQLITE_OPEN_EXCLUSIVE | SQLITE_OPEN_DELETEONCLOSE | SQLITE_OPEN_TEMP_DB /* sqlite3.c:119039:22 */ +var flags int32 = SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE | SQLITE_OPEN_EXCLUSIVE | SQLITE_OPEN_DELETEONCLOSE | SQLITE_OPEN_TEMP_DB /* sqlite3.c:119052:22 */ // Record the fact that the schema cookie will need to be verified // for database iDb. The code to actually verify the schema cookie // will occur at the end of the top-level VDBE and will be generated // later, by sqlite3FinishCoding(). -func sqlite3CodeVerifySchemaAtToplevel(tls *libc.TLS, pToplevel uintptr, iDb int32) { /* sqlite3.c:119069:13: */ +func sqlite3CodeVerifySchemaAtToplevel(tls *libc.TLS, pToplevel uintptr, iDb int32) { /* sqlite3.c:119082:13: */ if libc.Bool32((*Parse)(unsafe.Pointer(pToplevel)).FcookieMask&(YDbMask(YDbMask(1))< UTF-16 conversion if // possible. -func synthCollSeq(tls *libc.TLS, db uintptr, pColl uintptr) int32 { /* sqlite3.c:119579:12: */ +func synthCollSeq(tls *libc.TLS, db uintptr, pColl uintptr) int32 { /* sqlite3.c:119592:12: */ var pColl2 uintptr var z uintptr = (*CollSeq)(unsafe.Pointer(pColl)).FzName var i int32 @@ -146010,7 +146027,7 @@ func synthCollSeq(tls *libc.TLS, db uintptr, pColl uintptr) int32 { /* sqlite3.c return SQLITE_ERROR } -var aEnc = [3]U8{U8(SQLITE_UTF16BE), U8(SQLITE_UTF16LE), U8(SQLITE_UTF8)} /* sqlite3.c:119583:19 */ +var aEnc = [3]U8{U8(SQLITE_UTF16BE), U8(SQLITE_UTF16LE), U8(SQLITE_UTF8)} /* sqlite3.c:119596:19 */ // This routine is called on a collation sequence before it is used to // check that it is defined. An undefined collation sequence exists when @@ -146021,7 +146038,7 @@ var aEnc = [3]U8{U8(SQLITE_UTF16BE), U8(SQLITE_UTF16LE), U8(SQLITE_UTF8)} /* sql // request a definition of the collating sequence. If this doesn't work, // an equivalent collating sequence that uses a text encoding different // from the main database is substituted, if one is available. -func Xsqlite3CheckCollSeq(tls *libc.TLS, pParse uintptr, pColl uintptr) int32 { /* sqlite3.c:119606:20: */ +func Xsqlite3CheckCollSeq(tls *libc.TLS, pParse uintptr, pColl uintptr) int32 { /* sqlite3.c:119619:20: */ if pColl != 0 && (*CollSeq)(unsafe.Pointer(pColl)).FxCmp == uintptr(0) { var zName uintptr = (*CollSeq)(unsafe.Pointer(pColl)).FzName var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb @@ -146045,7 +146062,7 @@ func Xsqlite3CheckCollSeq(tls *libc.TLS, pParse uintptr, pColl uintptr) int32 { // Stored immediately after the three collation sequences is a copy of // the collation sequence name. A pointer to this string is stored in // each collation sequence structure. -func findCollSeqEntry(tls *libc.TLS, db uintptr, zName uintptr, create int32) uintptr { /* sqlite3.c:119634:16: */ +func findCollSeqEntry(tls *libc.TLS, db uintptr, zName uintptr, create int32) uintptr { /* sqlite3.c:119647:16: */ var pColl uintptr pColl = Xsqlite3HashFind(tls, db+640, zName) @@ -146090,7 +146107,7 @@ func findCollSeqEntry(tls *libc.TLS, db uintptr, zName uintptr, create int32) ui // cannot be found. // // See also: sqlite3LocateCollSeq(), sqlite3GetCollSeq() -func Xsqlite3FindCollSeq(tls *libc.TLS, db uintptr, enc U8, zName uintptr, create int32) uintptr { /* sqlite3.c:119686:24: */ +func Xsqlite3FindCollSeq(tls *libc.TLS, db uintptr, enc U8, zName uintptr, create int32) uintptr { /* sqlite3.c:119699:24: */ var pColl uintptr if zName != 0 { @@ -146106,7 +146123,7 @@ func Xsqlite3FindCollSeq(tls *libc.TLS, db uintptr, enc U8, zName uintptr, creat // Change the text encoding for a database connection. This means that // the pDfltColl must change as well. -func Xsqlite3SetTextEncoding(tls *libc.TLS, db uintptr, enc U8) { /* sqlite3.c:119708:21: */ +func Xsqlite3SetTextEncoding(tls *libc.TLS, db uintptr, enc U8) { /* sqlite3.c:119721:21: */ (*Sqlite3)(unsafe.Pointer(db)).Fenc = enc // EVIDENCE-OF: R-08308-17224 The default collating function for all @@ -146126,7 +146143,7 @@ func Xsqlite3SetTextEncoding(tls *libc.TLS, db uintptr, enc U8) { /* sqlite3.c:1 // sequence can be found. If no collation is found, leave an error message. // // See also: sqlite3LocateCollSeq(), sqlite3FindCollSeq() -func Xsqlite3GetCollSeq(tls *libc.TLS, pParse uintptr, enc U8, pColl uintptr, zName uintptr) uintptr { /* sqlite3.c:119731:24: */ +func Xsqlite3GetCollSeq(tls *libc.TLS, pParse uintptr, enc U8, pColl uintptr, zName uintptr) uintptr { /* sqlite3.c:119744:24: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -146172,7 +146189,7 @@ func Xsqlite3GetCollSeq(tls *libc.TLS, pParse uintptr, enc U8, pColl uintptr, zN // and generates an error message. // // See also: sqlite3FindCollSeq(), sqlite3GetCollSeq() -func Xsqlite3LocateCollSeq(tls *libc.TLS, pParse uintptr, zName uintptr) uintptr { /* sqlite3.c:119782:24: */ +func Xsqlite3LocateCollSeq(tls *libc.TLS, pParse uintptr, zName uintptr) uintptr { /* sqlite3.c:119795:24: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb var enc U8 = (*Sqlite3)(unsafe.Pointer(db)).Fenc var initbusy U8 = (*Sqlite3)(unsafe.Pointer(db)).Finit.Fbusy @@ -146213,7 +146230,7 @@ func Xsqlite3LocateCollSeq(tls *libc.TLS, pParse uintptr, zName uintptr) uintptr // If nArg==(-2) then any function with a non-null xSFunc is // a perfect match and any function with xSFunc NULL is // a non-match. -func matchQuality(tls *libc.TLS, p uintptr, nArg int32, enc U8) int32 { /* sqlite3.c:119825:12: */ +func matchQuality(tls *libc.TLS, p uintptr, nArg int32, enc U8) int32 { /* sqlite3.c:119838:12: */ var match int32 // Wrong number of arguments means "no match" @@ -146249,7 +146266,7 @@ func matchQuality(tls *libc.TLS, p uintptr, nArg int32, enc U8) int32 { /* sqlit // Search a FuncDefHash for a function with the given name. Return // a pointer to the matching FuncDef if found, or 0 if there is no match. -func Xsqlite3FunctionSearch(tls *libc.TLS, h int32, zFunc uintptr) uintptr { /* sqlite3.c:119861:24: */ +func Xsqlite3FunctionSearch(tls *libc.TLS, h int32, zFunc uintptr) uintptr { /* sqlite3.c:119874:24: */ var p uintptr for p = *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&Xsqlite3BuiltinFunctions)) + uintptr(h)*8)); p != 0; p = *(*uintptr)(unsafe.Pointer(p + 64)) { @@ -146261,7 +146278,7 @@ func Xsqlite3FunctionSearch(tls *libc.TLS, h int32, zFunc uintptr) uintptr { /* } // Insert a new FuncDef into a FuncDefHash hash table. -func Xsqlite3InsertBuiltinFuncs(tls *libc.TLS, aDef uintptr, nDef int32) { /* sqlite3.c:119878:21: */ +func Xsqlite3InsertBuiltinFuncs(tls *libc.TLS, aDef uintptr, nDef int32) { /* sqlite3.c:119891:21: */ var i int32 for i = 0; i < nDef; i++ { var pOther uintptr @@ -146299,7 +146316,7 @@ func Xsqlite3InsertBuiltinFuncs(tls *libc.TLS, aDef uintptr, nDef int32) { /* sq // If createFlag is false, then a function with the required name and // number of arguments may be returned even if the eTextRep flag does not // match that requested. -func Xsqlite3FindFunction(tls *libc.TLS, db uintptr, zName uintptr, nArg int32, enc U8, createFlag U8) uintptr { /* sqlite3.c:119923:24: */ +func Xsqlite3FindFunction(tls *libc.TLS, db uintptr, zName uintptr, nArg int32, enc U8, createFlag U8) uintptr { /* sqlite3.c:119936:24: */ var p uintptr // Iterator variable var pBest uintptr = uintptr(0) // Best match found so far var bestScore int32 = 0 // Score of best match @@ -146379,7 +146396,7 @@ func Xsqlite3FindFunction(tls *libc.TLS, db uintptr, zName uintptr, nArg int32, // of the schema hash tables). // // The Schema.cache_size variable is not cleared. -func Xsqlite3SchemaClear(tls *libc.TLS, p uintptr) { /* sqlite3.c:120015:21: */ +func Xsqlite3SchemaClear(tls *libc.TLS, p uintptr) { /* sqlite3.c:120028:21: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -146414,7 +146431,7 @@ func Xsqlite3SchemaClear(tls *libc.TLS, p uintptr) { /* sqlite3.c:120015:21: */ // Find and return the schema associated with a BTree. Create // a new one if necessary. -func Xsqlite3SchemaGet(tls *libc.TLS, db uintptr, pBt uintptr) uintptr { /* sqlite3.c:120047:23: */ +func Xsqlite3SchemaGet(tls *libc.TLS, db uintptr, pBt uintptr) uintptr { /* sqlite3.c:120060:23: */ var p uintptr if pBt != 0 { p = Xsqlite3BtreeSchema(tls, pBt, int32(unsafe.Sizeof(Schema{})), *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{Xsqlite3SchemaClear}))) @@ -146461,7 +146478,7 @@ func Xsqlite3SchemaGet(tls *libc.TLS, db uintptr, pBt uintptr) uintptr { /* sqli // pSrc->a[0].pTab Pointer to the Table object // pSrc->a[0].pIndex Pointer to the INDEXED BY index, if there is one // -func Xsqlite3SrcListLookup(tls *libc.TLS, pParse uintptr, pSrc uintptr) uintptr { /* sqlite3.c:120098:22: */ +func Xsqlite3SrcListLookup(tls *libc.TLS, pParse uintptr, pSrc uintptr) uintptr { /* sqlite3.c:120111:22: */ var pItem uintptr = pSrc + 8 /* &.a */ var pTab uintptr @@ -146479,7 +146496,7 @@ func Xsqlite3SrcListLookup(tls *libc.TLS, pParse uintptr, pSrc uintptr) uintptr // Generate byte-code that will report the number of rows modified // by a DELETE, INSERT, or UPDATE statement. -func Xsqlite3CodeChangeCount(tls *libc.TLS, v uintptr, regCounter int32, zColName uintptr) { /* sqlite3.c:120117:21: */ +func Xsqlite3CodeChangeCount(tls *libc.TLS, v uintptr, regCounter int32, zColName uintptr) { /* sqlite3.c:120130:21: */ Xsqlite3VdbeAddOp0(tls, v, OP_FkCheck) Xsqlite3VdbeAddOp2(tls, v, OP_ResultRow, regCounter, 1) Xsqlite3VdbeSetNumCols(tls, v, 1) @@ -146500,7 +146517,7 @@ func Xsqlite3CodeChangeCount(tls *libc.TLS, v uintptr, regCounter int32, zColNam // 3) The table is a shadow table, the database connection is in // defensive mode, and the current sqlite3_prepare() // is for a top-level SQL statement. -func tabIsReadOnly(tls *libc.TLS, pParse uintptr, pTab uintptr) int32 { /* sqlite3.c:120139:12: */ +func tabIsReadOnly(tls *libc.TLS, pParse uintptr, pTab uintptr) int32 { /* sqlite3.c:120152:12: */ var db uintptr if int32((*Table)(unsafe.Pointer(pTab)).FeTabType) == TABTYP_VTAB { return libc.Bool32((*Sqlite3_module)(unsafe.Pointer((*Module)(unsafe.Pointer((*VTable)(unsafe.Pointer(Xsqlite3GetVTable(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, pTab))).FpMod)).FpModule)).FxUpdate == uintptr(0)) @@ -146519,7 +146536,7 @@ func tabIsReadOnly(tls *libc.TLS, pParse uintptr, pTab uintptr) int32 { /* sqlit // Check to make sure the given table is writable. If it is not // writable, generate an error message and return 1. If it is // writable return 0; -func Xsqlite3IsReadOnly(tls *libc.TLS, pParse uintptr, pTab uintptr, viewOk int32) int32 { /* sqlite3.c:120158:20: */ +func Xsqlite3IsReadOnly(tls *libc.TLS, pParse uintptr, pTab uintptr, viewOk int32) int32 { /* sqlite3.c:120171:20: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -146537,7 +146554,7 @@ func Xsqlite3IsReadOnly(tls *libc.TLS, pParse uintptr, pTab uintptr, viewOk int3 // Evaluate a view and store its result in an ephemeral table. The // pWhere argument is an optional WHERE clause that restricts the // set of rows in the view that are to be added to the ephemeral table. -func Xsqlite3MaterializeView(tls *libc.TLS, pParse uintptr, pView uintptr, pWhere uintptr, pOrderBy uintptr, pLimit uintptr, iCur int32) { /* sqlite3.c:120179:21: */ +func Xsqlite3MaterializeView(tls *libc.TLS, pParse uintptr, pView uintptr, pWhere uintptr, pOrderBy uintptr, pLimit uintptr, iCur int32) { /* sqlite3.c:120192:21: */ bp := tls.Alloc(40) defer tls.Free(40) @@ -146569,7 +146586,7 @@ func Xsqlite3MaterializeView(tls *libc.TLS, pParse uintptr, pView uintptr, pWher // DELETE FROM table_wxyz WHERE a<5 AND b NOT NULL; // \________/ \________________/ // pTabList pWhere -func Xsqlite3DeleteFrom(tls *libc.TLS, pParse uintptr, pTabList uintptr, pWhere uintptr, pOrderBy uintptr, pLimit uintptr) { /* sqlite3.c:120318:21: */ +func Xsqlite3DeleteFrom(tls *libc.TLS, pParse uintptr, pTabList uintptr, pWhere uintptr, pOrderBy uintptr, pLimit uintptr) { /* sqlite3.c:120331:21: */ bp := tls.Alloc(88) defer tls.Free(88) @@ -147175,7 +147192,7 @@ delete_from_cleanup: // starting at iIdxCur) that already points to the index entry to be deleted. // Except, this optimization is disabled if there are BEFORE triggers since // the trigger body might have moved the cursor. -func Xsqlite3GenerateRowDelete(tls *libc.TLS, pParse uintptr, pTab uintptr, pTrigger uintptr, iDataCur int32, iIdxCur int32, iPk int32, nPk I16, count U8, onconf U8, eMode U8, iIdxNoSeek int32) { /* sqlite3.c:120766:21: */ +func Xsqlite3GenerateRowDelete(tls *libc.TLS, pParse uintptr, pTab uintptr, pTrigger uintptr, iDataCur int32, iIdxCur int32, iPk int32, nPk I16, count U8, onconf U8, eMode U8, iIdxNoSeek int32) { /* sqlite3.c:120779:21: */ var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe // Vdbe var iOld int32 = 0 // First register in OLD.* array var iLabel int32 // Label resolved to end of generated code @@ -147312,7 +147329,7 @@ func Xsqlite3GenerateRowDelete(tls *libc.TLS, pParse uintptr, pTab uintptr, pTri // // 3. The "iDataCur" cursor must be already be positioned on the row // that is to be deleted. -func Xsqlite3GenerateRowIndexDelete(tls *libc.TLS, pParse uintptr, pTab uintptr, iDataCur int32, iIdxCur int32, aRegIdx uintptr, iIdxNoSeek int32) { /* sqlite3.c:120918:21: */ +func Xsqlite3GenerateRowIndexDelete(tls *libc.TLS, pParse uintptr, pTab uintptr, iDataCur int32, iIdxCur int32, aRegIdx uintptr, iIdxNoSeek int32) { /* sqlite3.c:120931:21: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -147401,7 +147418,7 @@ __3: // This optimization is helpful when doing a DELETE or an INTEGRITY_CHECK // on a table with multiple indices, and especially with the ROWID or // PRIMARY KEY columns of the index. -func Xsqlite3GenerateIndexKey(tls *libc.TLS, pParse uintptr, pIdx uintptr, iDataCur int32, regOut int32, prefixOnly int32, piPartIdxLabel uintptr, pPrior uintptr, regPrior int32) int32 { /* sqlite3.c:120983:20: */ +func Xsqlite3GenerateIndexKey(tls *libc.TLS, pParse uintptr, pIdx uintptr, iDataCur int32, regOut int32, prefixOnly int32, piPartIdxLabel uintptr, pPrior uintptr, regPrior int32) int32 { /* sqlite3.c:120996:20: */ var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe var j int32 var regBase int32 @@ -147457,7 +147474,7 @@ func Xsqlite3GenerateIndexKey(tls *libc.TLS, pParse uintptr, pIdx uintptr, iData // If a prior call to sqlite3GenerateIndexKey() generated a jump-over label // because it was a partial index, then this routine should be called to // resolve that label. -func Xsqlite3ResolvePartIdxLabel(tls *libc.TLS, pParse uintptr, iLabel int32) { /* sqlite3.c:121045:21: */ +func Xsqlite3ResolvePartIdxLabel(tls *libc.TLS, pParse uintptr, iLabel int32) { /* sqlite3.c:121058:21: */ if iLabel != 0 { Xsqlite3VdbeResolveLabel(tls, (*Parse)(unsafe.Pointer(pParse)).FpVdbe, iLabel) } @@ -147485,7 +147502,7 @@ func Xsqlite3ResolvePartIdxLabel(tls *libc.TLS, pParse uintptr, iLabel int32) { // #include "vdbeInt.h" // Return the collating function associated with a function. -func sqlite3GetFuncCollSeq(tls *libc.TLS, context uintptr) uintptr { /* sqlite3.c:121079:16: */ +func sqlite3GetFuncCollSeq(tls *libc.TLS, context uintptr) uintptr { /* sqlite3.c:121092:16: */ var pOp uintptr pOp = (*Vdbe)(unsafe.Pointer((*Sqlite3_context)(unsafe.Pointer(context)).FpVdbe)).FaOp + uintptr((*Sqlite3_context)(unsafe.Pointer(context)).FiOp-1)*24 @@ -147495,14 +147512,14 @@ func sqlite3GetFuncCollSeq(tls *libc.TLS, context uintptr) uintptr { /* sqlite3. // Indicate that the accumulator load should be skipped on this // iteration of the aggregate loop. -func sqlite3SkipAccumulatorLoad(tls *libc.TLS, context uintptr) { /* sqlite3.c:121092:13: */ +func sqlite3SkipAccumulatorLoad(tls *libc.TLS, context uintptr) { /* sqlite3.c:121105:13: */ (*Sqlite3_context)(unsafe.Pointer(context)).FisError = -1 (*Sqlite3_context)(unsafe.Pointer(context)).FskipFlag = U8(1) } // Implementation of the non-aggregate min() and max() functions -func minmaxFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121101:13: */ +func minmaxFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121114:13: */ var i int32 var mask int32 // 0 for min() or 0xffffffff for max() var iBest int32 @@ -147532,7 +147549,7 @@ func minmaxFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* s } // Return the type of the argument. -func typeofFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { /* sqlite3.c:121131:13: */ +func typeofFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { /* sqlite3.c:121144:13: */ var i int32 = Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(argv))) - 1 _ = NotUsed @@ -147543,18 +147560,18 @@ func typeofFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { / Xsqlite3_result_text(tls, context, azType2[i], -1, uintptr(0)) } -var azType2 = [5]uintptr{ts + 7494, ts + 7489, ts + 9244, ts + 9239, ts + 7484} /* sqlite3.c:121136:21 */ +var azType2 = [5]uintptr{ts + 7494, ts + 7489, ts + 9244, ts + 9239, ts + 7484} /* sqlite3.c:121149:21 */ // subtype(X) // // Return the subtype of X -func subtypeFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121156:13: */ +func subtypeFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121169:13: */ _ = argc Xsqlite3_result_int(tls, context, int32(Xsqlite3_value_subtype(tls, *(*uintptr)(unsafe.Pointer(argv))))) } // Implementation of the length() function -func lengthFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121168:13: */ +func lengthFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121181:13: */ _ = argc switch Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(argv))) { @@ -147603,7 +147620,7 @@ func lengthFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* s // // IMP: R-23979-26855 The abs(X) function returns the absolute value of // the numeric argument X. -func absFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121210:13: */ +func absFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121223:13: */ _ = argc switch Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(argv))) { @@ -147657,7 +147674,7 @@ func absFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqli // If both haystack and needle are BLOBs, then the result is one more than // the number of bytes in haystack prior to the first occurrence of needle, // or 0 if needle never occurs in haystack. -func instrFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121259:13: */ +func instrFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121272:13: */ var zHaystack uintptr var zNeedle uintptr var nHaystack int32 @@ -147772,7 +147789,7 @@ endInstrOOM: } // Implementation of the printf() (a.k.a. format()) SQL function. -func printfFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121327:13: */ +func printfFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121340:13: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -147809,7 +147826,7 @@ func printfFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* s // If p1 is negative, then we begin abs(p1) from the end of x[]. // // If p2 is negative, return the p2 characters preceding p1. -func substrFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121363:13: */ +func substrFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121376:13: */ var z uintptr var z2 uintptr var len int32 @@ -147917,7 +147934,7 @@ func substrFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* s } // Implementation of the round() function -func roundFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121458:13: */ +func roundFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121471:13: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -147971,7 +147988,7 @@ func roundFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sq // the database handle that malloc() has failed and return NULL. // If nByte is larger than the maximum string or blob length, then // raise an SQLITE_TOOBIG exception and return NULL. -func contextMalloc(tls *libc.TLS, context uintptr, nByte I64) uintptr { /* sqlite3.c:121499:13: */ +func contextMalloc(tls *libc.TLS, context uintptr, nByte I64) uintptr { /* sqlite3.c:121512:13: */ var z uintptr var db uintptr = Xsqlite3_context_db_handle(tls, context) @@ -147988,7 +148005,7 @@ func contextMalloc(tls *libc.TLS, context uintptr, nByte I64) uintptr { /* sqlit } // Implementation of the upper() and lower() SQL functions. -func upperFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121520:13: */ +func upperFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121533:13: */ var z1 uintptr var z2 uintptr var i int32 @@ -148009,7 +148026,7 @@ func upperFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sq } } -func lowerFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121539:13: */ +func lowerFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121552:13: */ var z1 uintptr var z2 uintptr var i int32 @@ -148038,7 +148055,7 @@ func lowerFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sq // is. We might as well use the "version()" function as a substitute. // Implementation of random(). Return a random integer. -func randomFunc(tls *libc.TLS, context uintptr, NotUsed int32, NotUsed2 uintptr) { /* sqlite3.c:121572:13: */ +func randomFunc(tls *libc.TLS, context uintptr, NotUsed int32, NotUsed2 uintptr) { /* sqlite3.c:121585:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -148062,7 +148079,7 @@ func randomFunc(tls *libc.TLS, context uintptr, NotUsed int32, NotUsed2 uintptr) // Implementation of randomblob(N). Return a random blob // that is N bytes long. -func randomBlob(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121598:13: */ +func randomBlob(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121611:13: */ var n Sqlite3_int64 var p uintptr @@ -148080,7 +148097,7 @@ func randomBlob(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* s // Implementation of the last_insert_rowid() SQL function. The return // value is the same as the sqlite3_last_insert_rowid() API function. -func last_insert_rowid(tls *libc.TLS, context uintptr, NotUsed int32, NotUsed2 uintptr) { /* sqlite3.c:121622:13: */ +func last_insert_rowid(tls *libc.TLS, context uintptr, NotUsed int32, NotUsed2 uintptr) { /* sqlite3.c:121635:13: */ var db uintptr = Xsqlite3_context_db_handle(tls, context) _ = NotUsed _ = NotUsed2 @@ -148095,7 +148112,7 @@ func last_insert_rowid(tls *libc.TLS, context uintptr, NotUsed int32, NotUsed2 u // IMP: R-32760-32347 The changes() SQL function is a wrapper // around the sqlite3_changes64() C/C++ function and hence follows the // same rules for counting changes. -func changes(tls *libc.TLS, context uintptr, NotUsed int32, NotUsed2 uintptr) { /* sqlite3.c:121642:13: */ +func changes(tls *libc.TLS, context uintptr, NotUsed int32, NotUsed2 uintptr) { /* sqlite3.c:121655:13: */ var db uintptr = Xsqlite3_context_db_handle(tls, context) _ = NotUsed _ = NotUsed2 @@ -148104,7 +148121,7 @@ func changes(tls *libc.TLS, context uintptr, NotUsed int32, NotUsed2 uintptr) { // Implementation of the total_changes() SQL function. The return value is // the same as the sqlite3_total_changes64() API function. -func total_changes(tls *libc.TLS, context uintptr, NotUsed int32, NotUsed2 uintptr) { /* sqlite3.c:121656:13: */ +func total_changes(tls *libc.TLS, context uintptr, NotUsed int32, NotUsed2 uintptr) { /* sqlite3.c:121669:13: */ var db uintptr = Xsqlite3_context_db_handle(tls, context) _ = NotUsed _ = NotUsed2 @@ -148119,20 +148136,20 @@ type compareInfo = struct { FmatchOne U8 FmatchSet U8 FnoCase U8 -} /* sqlite3.c:121671:1 */ +} /* sqlite3.c:121684:1 */ // For LIKE and GLOB matching on EBCDIC machines, assume that every // character is exactly one byte in size. Also, provde the Utf8Read() // macro for fast reading of the next character in the common case where // the next character is ASCII. -var globInfo = compareInfo{FmatchAll: U8('*'), FmatchOne: U8('?'), FmatchSet: U8('[')} /* sqlite3.c:121691:33 */ +var globInfo = compareInfo{FmatchAll: U8('*'), FmatchOne: U8('?'), FmatchSet: U8('[')} /* sqlite3.c:121704:33 */ // The correct SQL-92 behavior is for the LIKE operator to ignore // case. Thus 'a' LIKE 'A' would be true. -var likeInfoNorm = compareInfo{FmatchAll: U8('%'), FmatchOne: U8('_'), FnoCase: U8(1)} /* sqlite3.c:121694:33 */ +var likeInfoNorm = compareInfo{FmatchAll: U8('%'), FmatchOne: U8('_'), FnoCase: U8(1)} /* sqlite3.c:121707:33 */ // If SQLITE_CASE_SENSITIVE_LIKE is defined, then the LIKE operator // is case sensitive causing 'a' LIKE 'A' to be false -var likeInfoAlt = compareInfo{FmatchAll: U8('%'), FmatchOne: U8('_')} /* sqlite3.c:121697:33 */ +var likeInfoAlt = compareInfo{FmatchAll: U8('%'), FmatchOne: U8('_')} /* sqlite3.c:121710:33 */ // Possible error returns from patternMatch() @@ -148172,7 +148189,7 @@ var likeInfoAlt = compareInfo{FmatchAll: U8('%'), FmatchOne: U8('_')} /* sqlite3 // The comments within this routine usually assume glob matching. // // This routine is usually quick, but can be N**2 in the worst case. -func patternCompare(tls *libc.TLS, zPattern uintptr, zString uintptr, pInfo uintptr, matchOther U32) int32 { /* sqlite3.c:121744:12: */ +func patternCompare(tls *libc.TLS, zPattern uintptr, zString uintptr, pInfo uintptr, matchOther U32) int32 { /* sqlite3.c:121757:12: */ bp := tls.Alloc(19) defer tls.Free(19) *(*uintptr)(unsafe.Pointer(bp)) = zPattern @@ -148358,13 +148375,13 @@ func patternCompare(tls *libc.TLS, zPattern uintptr, zString uintptr, pInfo uint // The sqlite3_strglob() interface. Return 0 on a match (like strcmp()) and // non-zero if there is no match. -func Xsqlite3_strglob(tls *libc.TLS, zGlobPattern uintptr, zString uintptr) int32 { /* sqlite3.c:121877:16: */ +func Xsqlite3_strglob(tls *libc.TLS, zGlobPattern uintptr, zString uintptr) int32 { /* sqlite3.c:121890:16: */ return patternCompare(tls, zGlobPattern, zString, uintptr(unsafe.Pointer(&globInfo)), uint32('[')) } // The sqlite3_strlike() interface. Return 0 on a match and non-zero for // a miss - like strcmp(). -func Xsqlite3_strlike(tls *libc.TLS, zPattern uintptr, zStr uintptr, esc uint32) int32 { /* sqlite3.c:121885:16: */ +func Xsqlite3_strlike(tls *libc.TLS, zPattern uintptr, zStr uintptr, esc uint32) int32 { /* sqlite3.c:121898:16: */ return patternCompare(tls, zPattern, zStr, uintptr(unsafe.Pointer(&likeInfoNorm)), esc) } @@ -148382,7 +148399,7 @@ func Xsqlite3_strlike(tls *libc.TLS, zPattern uintptr, zStr uintptr, esc uint32) // // This same function (with a different compareInfo structure) computes // the GLOB operator. -func likeFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121911:13: */ +func likeFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:121924:13: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -148445,7 +148462,7 @@ func likeFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sql // Implementation of the NULLIF(x,y) function. The result is the first // argument if the arguments are different. The result is NULL if the // arguments are equal to each other. -func nullifFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { /* sqlite3.c:121982:13: */ +func nullifFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { /* sqlite3.c:121995:13: */ var pColl uintptr = sqlite3GetFuncCollSeq(tls, context) _ = NotUsed if Xsqlite3MemCompare(tls, *(*uintptr)(unsafe.Pointer(argv)), *(*uintptr)(unsafe.Pointer(argv + 1*8)), pColl) != 0 { @@ -148455,7 +148472,7 @@ func nullifFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { / // Implementation of the sqlite_version() function. The result is the version // of the SQLite library that is running. -func versionFunc(tls *libc.TLS, context uintptr, NotUsed int32, NotUsed2 uintptr) { /* sqlite3.c:121998:13: */ +func versionFunc(tls *libc.TLS, context uintptr, NotUsed int32, NotUsed2 uintptr) { /* sqlite3.c:122011:13: */ _ = NotUsed _ = NotUsed2 // IMP: R-48699-48617 This function is an SQL wrapper around the @@ -148466,7 +148483,7 @@ func versionFunc(tls *libc.TLS, context uintptr, NotUsed int32, NotUsed2 uintptr // Implementation of the sqlite_source_id() function. The result is a string // that identifies the particular version of the source code used to build // SQLite. -func sourceidFunc(tls *libc.TLS, context uintptr, NotUsed int32, NotUsed2 uintptr) { /* sqlite3.c:122014:13: */ +func sourceidFunc(tls *libc.TLS, context uintptr, NotUsed int32, NotUsed2 uintptr) { /* sqlite3.c:122027:13: */ _ = NotUsed _ = NotUsed2 // IMP: R-24470-31136 This function is an SQL wrapper around the @@ -148477,7 +148494,7 @@ func sourceidFunc(tls *libc.TLS, context uintptr, NotUsed int32, NotUsed2 uintpt // Implementation of the sqlite_log() function. This is a wrapper around // sqlite3_log(). The return value is NULL. The function exists purely for // its side-effects. -func errlogFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122030:13: */ +func errlogFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122043:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -148489,7 +148506,7 @@ func errlogFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* s // Implementation of the sqlite_compileoption_used() function. // The result is an integer that identifies if the compiler option // was used to build SQLite. -func compileoptionusedFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122046:13: */ +func compileoptionusedFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122059:13: */ var zOptName uintptr _ = argc @@ -148504,7 +148521,7 @@ func compileoptionusedFunc(tls *libc.TLS, context uintptr, argc int32, argv uint // Implementation of the sqlite_compileoption_get() function. // The result is a string that identifies the compiler options // used to build SQLite. -func compileoptiongetFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122070:13: */ +func compileoptiongetFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122083:13: */ var n int32 _ = argc @@ -148519,11 +148536,11 @@ func compileoptiongetFunc(tls *libc.TLS, context uintptr, argc int32, argv uintp var hexdigits = [16]int8{ int8('0'), int8('1'), int8('2'), int8('3'), int8('4'), int8('5'), int8('6'), int8('7'), int8('8'), int8('9'), int8('A'), int8('B'), int8('C'), int8('D'), int8('E'), int8('F'), -} /* sqlite3.c:122088:19 */ +} /* sqlite3.c:122101:19 */ // Append to pStr text that is the SQL literal representation of the // value contained in pValue. -func Xsqlite3QuoteValue(tls *libc.TLS, pStr uintptr, pValue uintptr) { /* sqlite3.c:122097:21: */ +func Xsqlite3QuoteValue(tls *libc.TLS, pStr uintptr, pValue uintptr) { /* sqlite3.c:122110:21: */ bp := tls.Alloc(40) defer tls.Free(40) @@ -148604,7 +148621,7 @@ func Xsqlite3QuoteValue(tls *libc.TLS, pStr uintptr, pValue uintptr) { /* sqlite // as needed. BLOBs are encoded as hexadecimal literals. Strings with // embedded NUL characters cannot be represented as string literals in SQL // and hence the returned string literal is truncated prior to the first NUL. -func quoteFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122166:13: */ +func quoteFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122179:13: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -148627,7 +148644,7 @@ func quoteFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sq // The unicode() function. Return the integer unicode code-point value // for the first character of the input string. -func unicodeFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122185:13: */ +func unicodeFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122198:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -148641,7 +148658,7 @@ func unicodeFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* // The char() function takes zero or more arguments, each of which is // an integer. It constructs a string where each character of the string // is the unicode character for the corresponding integer argument. -func charFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122200:13: */ +func charFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122213:13: */ var z uintptr var zOut uintptr var i int32 @@ -148679,7 +148696,7 @@ func charFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sql // The hex() function. Interpret the argument as a blob. Return // a hexadecimal rendering as text. -func hexFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122241:13: */ +func hexFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122254:13: */ var i int32 var n int32 var pBlob uintptr @@ -148717,7 +148734,7 @@ func hexFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqli } // The zeroblob(N) function returns a zero-filled blob of size N bytes. -func zeroblobFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122269:13: */ +func zeroblobFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122282:13: */ var n I64 var rc int32 @@ -148736,7 +148753,7 @@ func zeroblobFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* // them A, B, and C. The result is also a string which is derived // from A by replacing every occurrence of B with C. The match // must be exact. Collating sequences are not used. -func replaceFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122292:13: */ +func replaceFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122305:13: */ var zStr uintptr // The input string A var zPattern uintptr // The pattern string B var zRep uintptr // The replacement string C @@ -148825,7 +148842,7 @@ func replaceFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* // Implementation of the TRIM(), LTRIM(), and RTRIM() functions. // The userdata is 0x1 for left trim, 0x2 for right trim, 0x3 for both. -func trimFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122385:13: */ +func trimFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122398:13: */ var zIn uintptr // Input string var zCharSet uintptr // Set of characters to trim var nIn uint32 // Number of bytes in input @@ -148928,8 +148945,8 @@ func trimFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sql Xsqlite3_result_text(tls, context, zIn, int32(nIn), libc.UintptrFromInt32(-1)) } -var lenOne = [1]uint32{uint32(1)} /* sqlite3.c:122407:27 */ -var azOne = [1]uintptr{uintptr(ts + 12157 /* " " */)} /* sqlite3.c:122408:26 */ +var lenOne = [1]uint32{uint32(1)} /* sqlite3.c:122420:27 */ +var azOne = [1]uintptr{uintptr(ts + 12157 /* " " */)} /* sqlite3.c:122421:26 */ // IMP: R-25361-16150 This function is omitted from SQLite by default. It // is only available if the SQLITE_SOUNDEX compile-time option is used @@ -148938,7 +148955,7 @@ var azOne = [1]uintptr{uintptr(ts + 12157 /* " " */)} /* sqlite3.c:122408:26 */ // // IMP: R-59782-00072 The soundex(X) function returns a string that is the // soundex encoding of the string X. -func soundexFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122498:13: */ +func soundexFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122511:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -148989,10 +149006,10 @@ var iCode = [128]uint8{ uint8(1), uint8(2), uint8(6), uint8(2), uint8(3), uint8(0), uint8(1), uint8(0), uint8(2), uint8(0), uint8(2), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(1), uint8(2), uint8(3), uint8(0), uint8(1), uint8(2), uint8(0), uint8(0), uint8(2), uint8(2), uint8(4), uint8(5), uint8(5), uint8(0), uint8(1), uint8(2), uint8(6), uint8(2), uint8(3), uint8(0), uint8(1), uint8(0), uint8(2), uint8(0), uint8(2), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), -} /* sqlite3.c:122506:30 */ +} /* sqlite3.c:122519:30 */ // A function that loads a shared-library extension then returns NULL. -func loadExt(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122551:13: */ +func loadExt(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122564:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -149028,11 +149045,11 @@ type SumCtx1 = struct { Foverflow U8 Fapprox U8 F__ccgo_pad1 [6]byte -} /* sqlite3.c:122582:9 */ +} /* sqlite3.c:122595:9 */ // An instance of the following structure holds the context of a // sum() or avg() aggregate computation. -type SumCtx = SumCtx1 /* sqlite3.c:122582:23 */ +type SumCtx = SumCtx1 /* sqlite3.c:122595:23 */ // Routines used to compute the sum, average, and total. // @@ -149042,7 +149059,7 @@ type SumCtx = SumCtx1 /* sqlite3.c:122582:23 */ // SUM might return an integer if it never encounters a floating point // value. TOTAL never fails, but SUM might through an exception if // it overflows an integer. -func sumStep(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122601:13: */ +func sumStep(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122614:13: */ var p uintptr var type1 int32 @@ -149064,7 +149081,7 @@ func sumStep(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqli } } -func sumInverse(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122623:13: */ +func sumInverse(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122636:13: */ var p uintptr var type1 int32 @@ -149087,7 +149104,7 @@ func sumInverse(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* s } } -func sumFinalize(tls *libc.TLS, context uintptr) { /* sqlite3.c:122648:13: */ +func sumFinalize(tls *libc.TLS, context uintptr) { /* sqlite3.c:122661:13: */ var p uintptr p = Xsqlite3_aggregate_context(tls, context, 0) if p != 0 && (*SumCtx)(unsafe.Pointer(p)).Fcnt > int64(0) { @@ -149101,7 +149118,7 @@ func sumFinalize(tls *libc.TLS, context uintptr) { /* sqlite3.c:122648:13: */ } } -func avgFinalize(tls *libc.TLS, context uintptr) { /* sqlite3.c:122661:13: */ +func avgFinalize(tls *libc.TLS, context uintptr) { /* sqlite3.c:122674:13: */ var p uintptr p = Xsqlite3_aggregate_context(tls, context, 0) if p != 0 && (*SumCtx)(unsafe.Pointer(p)).Fcnt > int64(0) { @@ -149109,7 +149126,7 @@ func avgFinalize(tls *libc.TLS, context uintptr) { /* sqlite3.c:122661:13: */ } } -func totalFinalize(tls *libc.TLS, context uintptr) { /* sqlite3.c:122668:13: */ +func totalFinalize(tls *libc.TLS, context uintptr) { /* sqlite3.c:122681:13: */ var p uintptr p = Xsqlite3_aggregate_context(tls, context, 0) // (double)0 In case of SQLITE_OMIT_FLOATING_POINT... @@ -149123,14 +149140,14 @@ func totalFinalize(tls *libc.TLS, context uintptr) { /* sqlite3.c:122668:13: */ // The following structure keeps track of state information for the // count() aggregate function. -type CountCtx1 = struct{ Fn I64 } /* sqlite3.c:122679:9 */ +type CountCtx1 = struct{ Fn I64 } /* sqlite3.c:122692:9 */ // The following structure keeps track of state information for the // count() aggregate function. -type CountCtx = CountCtx1 /* sqlite3.c:122679:25 */ +type CountCtx = CountCtx1 /* sqlite3.c:122692:25 */ // Routines to implement the count() aggregate function. -func countStep(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122690:13: */ +func countStep(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122703:13: */ var p uintptr p = Xsqlite3_aggregate_context(tls, context, int32(unsafe.Sizeof(CountCtx{}))) if (argc == 0 || SQLITE_NULL != Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(argv)))) && p != 0 { @@ -149144,7 +149161,7 @@ func countStep(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sq } -func countFinalize(tls *libc.TLS, context uintptr) { /* sqlite3.c:122706:13: */ +func countFinalize(tls *libc.TLS, context uintptr) { /* sqlite3.c:122719:13: */ var p uintptr p = Xsqlite3_aggregate_context(tls, context, 0) Xsqlite3_result_int64(tls, context, func() int64 { @@ -149155,7 +149172,7 @@ func countFinalize(tls *libc.TLS, context uintptr) { /* sqlite3.c:122706:13: */ }()) } -func countInverse(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:122712:13: */ +func countInverse(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:122725:13: */ var p uintptr p = Xsqlite3_aggregate_context(tls, ctx, int32(unsafe.Sizeof(CountCtx{}))) // p is always non-NULL since countStep() will have been called first @@ -149165,7 +149182,7 @@ func countInverse(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sql } // Routines to implement min() and max() aggregate functions. -func minmaxStep(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { /* sqlite3.c:122730:13: */ +func minmaxStep(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { /* sqlite3.c:122743:13: */ var pArg uintptr = *(*uintptr)(unsafe.Pointer(argv)) var pBest uintptr _ = NotUsed @@ -149203,7 +149220,7 @@ func minmaxStep(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { / } } -func minMaxValueFinalize(tls *libc.TLS, context uintptr, bValue int32) { /* sqlite3.c:122768:13: */ +func minMaxValueFinalize(tls *libc.TLS, context uintptr, bValue int32) { /* sqlite3.c:122781:13: */ var pRes uintptr pRes = Xsqlite3_aggregate_context(tls, context, 0) if pRes != 0 { @@ -149216,11 +149233,11 @@ func minMaxValueFinalize(tls *libc.TLS, context uintptr, bValue int32) { /* sqli } } -func minMaxValue(tls *libc.TLS, context uintptr) { /* sqlite3.c:122779:13: */ +func minMaxValue(tls *libc.TLS, context uintptr) { /* sqlite3.c:122792:13: */ minMaxValueFinalize(tls, context, 1) } -func minMaxFinalize(tls *libc.TLS, context uintptr) { /* sqlite3.c:122785:13: */ +func minMaxFinalize(tls *libc.TLS, context uintptr) { /* sqlite3.c:122798:13: */ minMaxValueFinalize(tls, context, 0) } @@ -149236,9 +149253,9 @@ type GroupConcatCtx = struct { FnAccum int32 FnFirstSepLength int32 FpnSepLengths uintptr -} /* sqlite3.c:122810:3 */ +} /* sqlite3.c:122823:3 */ -func groupConcatStep(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122812:13: */ +func groupConcatStep(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122825:13: */ var zVal uintptr var pGCC uintptr var zSep uintptr @@ -149303,7 +149320,7 @@ func groupConcatStep(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { } } -func groupConcatInverse(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122883:13: */ +func groupConcatInverse(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:122896:13: */ var pGCC uintptr _ = argc // Suppress unused parameter warning @@ -149345,7 +149362,7 @@ func groupConcatInverse(tls *libc.TLS, context uintptr, argc int32, argv uintptr } } -func groupConcatFinalize(tls *libc.TLS, context uintptr) { /* sqlite3.c:122929:13: */ +func groupConcatFinalize(tls *libc.TLS, context uintptr) { /* sqlite3.c:122942:13: */ var pGCC uintptr = Xsqlite3_aggregate_context(tls, context, 0) if pGCC != 0 { Xsqlite3ResultStrAccum(tls, context, pGCC) @@ -149353,7 +149370,7 @@ func groupConcatFinalize(tls *libc.TLS, context uintptr) { /* sqlite3.c:122929:1 } } -func groupConcatValue(tls *libc.TLS, context uintptr) { /* sqlite3.c:122940:13: */ +func groupConcatValue(tls *libc.TLS, context uintptr) { /* sqlite3.c:122953:13: */ var pGCC uintptr = Xsqlite3_aggregate_context(tls, context, 0) if pGCC != 0 { var pAccum uintptr = pGCC @@ -149371,7 +149388,7 @@ func groupConcatValue(tls *libc.TLS, context uintptr) { /* sqlite3.c:122940:13: // This routine does per-connection function registration. Most // of the built-in functions above are part of the global function set. // This routine only deals with those that are not global. -func Xsqlite3RegisterPerConnectionBuiltinFunctions(tls *libc.TLS, db uintptr) { /* sqlite3.c:122964:21: */ +func Xsqlite3RegisterPerConnectionBuiltinFunctions(tls *libc.TLS, db uintptr) { /* sqlite3.c:122977:21: */ var rc int32 = Xsqlite3_overload_function(tls, db, ts+16222, 2) if rc == SQLITE_NOMEM { @@ -149382,7 +149399,7 @@ func Xsqlite3RegisterPerConnectionBuiltinFunctions(tls *libc.TLS, db uintptr) { // Re-register the built-in LIKE functions. The caseSensitive // parameter determines whether or not the LIKE operator is case // sensitive. -func Xsqlite3RegisterLikeFunctions(tls *libc.TLS, db uintptr, caseSensitive int32) { /* sqlite3.c:122977:21: */ +func Xsqlite3RegisterLikeFunctions(tls *libc.TLS, db uintptr, caseSensitive int32) { /* sqlite3.c:122990:21: */ var pInfo uintptr var flags int32 if caseSensitive != 0 { @@ -149417,7 +149434,7 @@ func Xsqlite3RegisterLikeFunctions(tls *libc.TLS, db uintptr, caseSensitive int3 // the function (default for LIKE). If the function makes the distinction // between uppercase and lowercase (as does GLOB) then *pIsNocase is set to // false. -func Xsqlite3IsLikeFunction(tls *libc.TLS, db uintptr, pExpr uintptr, pIsNocase uintptr, aWc uintptr) int32 { /* sqlite3.c:123010:20: */ +func Xsqlite3IsLikeFunction(tls *libc.TLS, db uintptr, pExpr uintptr, pIsNocase uintptr, aWc uintptr) int32 { /* sqlite3.c:123023:20: */ var pDef uintptr var nExpr int32 @@ -149473,7 +149490,7 @@ func Xsqlite3IsLikeFunction(tls *libc.TLS, db uintptr, pExpr uintptr, pIsNocase // // The sqlite3_user_data() pointer is a pointer to the libm implementation // of the underlying C function. -func ceilingFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:123081:13: */ +func ceilingFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:123094:13: */ switch Xsqlite3_value_numeric_type(tls, *(*uintptr)(unsafe.Pointer(argv))) { case SQLITE_INTEGER: @@ -149502,11 +149519,11 @@ func ceilingFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* // On some systems, ceil() and floor() are intrinsic function. You are // unable to take a pointer to these functions. Hence, we here wrap them // in our own actual functions. -func xCeil(tls *libc.TLS, x float64) float64 { /* sqlite3.c:123108:15: */ +func xCeil(tls *libc.TLS, x float64) float64 { /* sqlite3.c:123121:15: */ return libc.Xceil(tls, x) } -func xFloor(tls *libc.TLS, x float64) float64 { /* sqlite3.c:123109:15: */ +func xFloor(tls *libc.TLS, x float64) float64 { /* sqlite3.c:123122:15: */ return libc.Xfloor(tls, x) } @@ -149516,7 +149533,7 @@ func xFloor(tls *libc.TLS, x float64) float64 { /* sqlite3.c:123109:15: */ // log(X) - log X base 10 // log10(X) - log X base 10 // log(B,X) - log X base B -func logFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:123119:13: */ +func logFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:123132:13: */ var x float64 var b float64 var ans float64 @@ -149573,18 +149590,18 @@ func logFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqli } // Functions to converts degrees to radians and radians to degrees. -func degToRad(tls *libc.TLS, x float64) float64 { /* sqlite3.c:123169:15: */ +func degToRad(tls *libc.TLS, x float64) float64 { /* sqlite3.c:123182:15: */ return x * (float64(3.14159265358979323846) / 180.0) } -func radToDeg(tls *libc.TLS, x float64) float64 { /* sqlite3.c:123170:15: */ +func radToDeg(tls *libc.TLS, x float64) float64 { /* sqlite3.c:123183:15: */ return x * (float64(180.0) / 3.14159265358979323846) } // Implementation of 1-argument SQL math functions: // // exp(X) - Compute e to the X-th power -func math1Func(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:123177:13: */ +func math1Func(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:123190:13: */ var type0 int32 var v0 float64 var ans float64 @@ -149605,7 +149622,7 @@ func math1Func(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sq // Implementation of 2-argument SQL math functions: // // power(X,Y) - Compute X to the Y-th power -func math2Func(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:123199:13: */ +func math2Func(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:123212:13: */ var type0 int32 var type1 int32 var v0 float64 @@ -149631,13 +149648,13 @@ func math2Func(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sq } // Implementation of 0-argument pi() function. -func piFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:123222:13: */ +func piFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:123235:13: */ Xsqlite3_result_double(tls, context, 3.14159265358979323846) } // Implementation of sign(X) function. -func signFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:123236:13: */ +func signFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:123249:13: */ var type0 int32 var x float64 _ = argc @@ -149665,7 +149682,7 @@ func signFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sql // a consequence of calling sqlite3_initialize()). // // After this routine runs -func Xsqlite3RegisterBuiltinFunctions(tls *libc.TLS) { /* sqlite3.c:123258:21: */ +func Xsqlite3RegisterBuiltinFunctions(tls *libc.TLS) { /* sqlite3.c:123271:21: */ Xsqlite3AlterFunctions(tls) Xsqlite3WindowFunctions(tls) Xsqlite3RegisterDateTimeFunctions(tls) @@ -149778,7 +149795,7 @@ var aBuiltinFunc = [101]FuncDef{ {FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_FUNC_CONSTANT | SQLITE_UTF8 | 0*SQLITE_FUNC_NEEDCOLL), FxSFunc: 0, FzName: ts + 16864}, {FnArg: int8(1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_FUNC_CONSTANT | SQLITE_UTF8 | 0*SQLITE_FUNC_NEEDCOLL), FxSFunc: 0, FzName: ts + 16867}, {FnArg: int8(-1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_UTF8 | SQLITE_FUNC_INLINE | SQLITE_FUNC_CONSTANT | 0), FxSFunc: 0, FzName: ts + 16707}, - {FnArg: int8(3), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_UTF8 | SQLITE_FUNC_INLINE | SQLITE_FUNC_CONSTANT | 0), FpUserData: uintptr(int64(INLINEFUNC_iif)), FxSFunc: 0, FzName: ts + 16872}} /* sqlite3.c:123269:18 */ + {FnArg: int8(3), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_UTF8 | SQLITE_FUNC_INLINE | SQLITE_FUNC_CONSTANT | 0), FpUserData: uintptr(int64(INLINEFUNC_iif)), FxSFunc: 0, FzName: ts + 16872}} /* sqlite3.c:123282:18 */ //************* End of func.c *********************************************** //************* Begin file fkey.c ******************************************* @@ -149953,7 +149970,7 @@ var aBuiltinFunc = [101]FuncDef{ // then non-zero is returned, and a "foreign key mismatch" error loaded // into pParse. If an OOM error occurs, non-zero is returned and the // pParse->db->mallocFailed flag is set. -func Xsqlite3FkLocateIndex(tls *libc.TLS, pParse uintptr, pParent uintptr, pFKey uintptr, ppIdx uintptr, paiCol uintptr) int32 { /* sqlite3.c:123622:20: */ +func Xsqlite3FkLocateIndex(tls *libc.TLS, pParse uintptr, pParent uintptr, pFKey uintptr, ppIdx uintptr, paiCol uintptr) int32 { /* sqlite3.c:123635:20: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -150099,7 +150116,7 @@ func Xsqlite3FkLocateIndex(tls *libc.TLS, pParse uintptr, pParent uintptr, pFKey // // These operations are identified in the comment at the top of this file // (fkey.c) as "I.1" and "D.1". -func fkLookupParent(tls *libc.TLS, pParse uintptr, iDb int32, pTab uintptr, pIdx uintptr, pFKey uintptr, aiCol uintptr, regData int32, nIncr int32, isIgnore int32) { /* sqlite3.c:123759:13: */ +func fkLookupParent(tls *libc.TLS, pParse uintptr, iDb int32, pTab uintptr, pIdx uintptr, pFKey uintptr, aiCol uintptr, regData int32, nIncr int32, isIgnore int32) { /* sqlite3.c:123772:13: */ var i int32 // Iterator variable var v uintptr = Xsqlite3GetVdbe(tls, pParse) // Vdbe to add code to var iCur int32 = (*Parse)(unsafe.Pointer(pParse)).FnTab - 1 // Cursor number to use @@ -150229,7 +150246,7 @@ func fkLookupParent(tls *libc.TLS, pParse uintptr, iDb int32, pTab uintptr, pIdx // regBase is the first of an array of register that contains the data // for pTab. regBase itself holds the rowid. regBase+1 holds the first // column. regBase+2 holds the second column, and so forth. -func exprTableRegister(tls *libc.TLS, pParse uintptr, pTab uintptr, regBase int32, iCol I16) uintptr { /* sqlite3.c:123912:13: */ +func exprTableRegister(tls *libc.TLS, pParse uintptr, pTab uintptr, regBase int32, iCol I16) uintptr { /* sqlite3.c:123925:13: */ var pExpr uintptr var pCol uintptr var zColl uintptr @@ -150256,7 +150273,7 @@ func exprTableRegister(tls *libc.TLS, pParse uintptr, pTab uintptr, regBase int3 // Return an Expr object that refers to column iCol of table pTab which // has cursor iCur. -func exprTableColumn(tls *libc.TLS, db uintptr, pTab uintptr, iCursor int32, iCol I16) uintptr { /* sqlite3.c:123944:13: */ +func exprTableColumn(tls *libc.TLS, db uintptr, pTab uintptr, iCursor int32, iCol I16) uintptr { /* sqlite3.c:123957:13: */ var pExpr uintptr = Xsqlite3Expr(tls, db, TK_COLUMN, uintptr(0)) if pExpr != 0 { @@ -150297,7 +150314,7 @@ func exprTableColumn(tls *libc.TLS, db uintptr, pTab uintptr, iCursor int32, iCo // // These operations are identified in the comment at the top of this file // (fkey.c) as "I.2" and "D.2". -func fkScanChildren(tls *libc.TLS, pParse uintptr, pSrc uintptr, pTab uintptr, pIdx uintptr, pFKey uintptr, aiCol uintptr, regData int32, nIncr int32) { /* sqlite3.c:123992:13: */ +func fkScanChildren(tls *libc.TLS, pParse uintptr, pSrc uintptr, pTab uintptr, pIdx uintptr, pFKey uintptr, aiCol uintptr, regData int32, nIncr int32) { /* sqlite3.c:124005:13: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -150421,7 +150438,7 @@ func fkScanChildren(tls *libc.TLS, pParse uintptr, pSrc uintptr, pTab uintptr, p // "t2". Calling this function with "t2" as the argument would return a // NULL pointer (as there are no FK constraints for which t2 is the parent // table). -func Xsqlite3FkReferences(tls *libc.TLS, pTab uintptr) uintptr { /* sqlite3.c:124121:21: */ +func Xsqlite3FkReferences(tls *libc.TLS, pTab uintptr) uintptr { /* sqlite3.c:124134:21: */ return Xsqlite3HashFind(tls, (*Table)(unsafe.Pointer(pTab)).FpSchema+80, (*Table)(unsafe.Pointer(pTab)).FzName) } @@ -150431,7 +150448,7 @@ func Xsqlite3FkReferences(tls *libc.TLS, pTab uintptr) uintptr { /* sqlite3.c:12 // // The Trigger structure or any of its sub-components may be allocated from // the lookaside buffer belonging to database handle dbMem. -func fkTriggerDelete(tls *libc.TLS, dbMem uintptr, p uintptr) { /* sqlite3.c:124133:13: */ +func fkTriggerDelete(tls *libc.TLS, dbMem uintptr, p uintptr) { /* sqlite3.c:124146:13: */ if p != 0 { var pStep uintptr = (*Trigger)(unsafe.Pointer(p)).Fstep_list Xsqlite3ExprDelete(tls, dbMem, (*TriggerStep)(unsafe.Pointer(pStep)).FpWhere) @@ -150445,7 +150462,7 @@ func fkTriggerDelete(tls *libc.TLS, dbMem uintptr, p uintptr) { /* sqlite3.c:124 // Clear the apTrigger[] cache of CASCADE triggers for all foreign keys // in a particular database. This needs to happen when the schema // changes. -func Xsqlite3FkClearTriggerCache(tls *libc.TLS, db uintptr, iDb int32) { /* sqlite3.c:124149:21: */ +func Xsqlite3FkClearTriggerCache(tls *libc.TLS, db uintptr, iDb int32) { /* sqlite3.c:124162:21: */ var k uintptr var pHash uintptr = (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(iDb)*32)).FpSchema + 8 for k = (*Hash)(unsafe.Pointer(pHash)).Ffirst; k != 0; k = (*HashElem)(unsafe.Pointer(k)).Fnext { @@ -150478,7 +150495,7 @@ func Xsqlite3FkClearTriggerCache(tls *libc.TLS, db uintptr, iDb int32) { /* sqli // then the equivalent of "DELETE FROM " is executed before dropping // the table from the database. Triggers are disabled while running this // DELETE, but foreign key actions are not. -func Xsqlite3FkDropTable(tls *libc.TLS, pParse uintptr, pName uintptr, pTab uintptr) { /* sqlite3.c:124180:21: */ +func Xsqlite3FkDropTable(tls *libc.TLS, pParse uintptr, pName uintptr, pTab uintptr) { /* sqlite3.c:124193:21: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb if (*Sqlite3)(unsafe.Pointer(db)).Fflags&uint64(SQLITE_ForeignKeys) != 0 && int32((*Table)(unsafe.Pointer(pTab)).FeTabType) == TABTYP_NORM { var iSkip int32 = 0 @@ -150541,7 +150558,7 @@ func Xsqlite3FkDropTable(tls *libc.TLS, pParse uintptr, pName uintptr, pTab uint // // This function returns true if any of the columns that are part of the // child key for FK constraint *p are modified. -func fkChildIsModified(tls *libc.TLS, pTab uintptr, p uintptr, aChange uintptr, bChngRowid int32) int32 { /* sqlite3.c:124243:12: */ +func fkChildIsModified(tls *libc.TLS, pTab uintptr, p uintptr, aChange uintptr, bChngRowid int32) int32 { /* sqlite3.c:124256:12: */ var i int32 for i = 0; i < (*FKey)(unsafe.Pointer(p)).FnCol; i++ { var iChildKey int32 = (*sColMap)(unsafe.Pointer(p + 64 + uintptr(i)*16)).FiFrom @@ -150565,7 +150582,7 @@ func fkChildIsModified(tls *libc.TLS, pTab uintptr, p uintptr, aChange uintptr, // // This function returns true if any of the columns that are part of the // parent key for FK constraint *p are modified. -func fkParentIsModified(tls *libc.TLS, pTab uintptr, p uintptr, aChange uintptr, bChngRowid int32) int32 { /* sqlite3.c:124270:12: */ +func fkParentIsModified(tls *libc.TLS, pTab uintptr, p uintptr, aChange uintptr, bChngRowid int32) int32 { /* sqlite3.c:124283:12: */ var i int32 for i = 0; i < (*FKey)(unsafe.Pointer(p)).FnCol; i++ { var zKey uintptr = (*sColMap)(unsafe.Pointer(p + 64 + uintptr(i)*16)).FzCol @@ -150589,7 +150606,7 @@ func fkParentIsModified(tls *libc.TLS, pTab uintptr, p uintptr, aChange uintptr, // Return true if the parser passed as the first argument is being // used to code a trigger that is really a "SET NULL" action belonging // to trigger pFKey. -func isSetNullAction(tls *libc.TLS, pParse uintptr, pFKey uintptr) int32 { /* sqlite3.c:124299:12: */ +func isSetNullAction(tls *libc.TLS, pParse uintptr, pFKey uintptr) int32 { /* sqlite3.c:124312:12: */ var pTop uintptr = func() uintptr { if (*Parse)(unsafe.Pointer(pParse)).FpToplevel != 0 { return (*Parse)(unsafe.Pointer(pParse)).FpToplevel @@ -150624,7 +150641,7 @@ func isSetNullAction(tls *libc.TLS, pParse uintptr, pFKey uintptr) int32 { /* sq // the original record is deleted from the table using the calling convention // described for DELETE. Then again after the original record is deleted // but before the new record is inserted using the INSERT convention. -func Xsqlite3FkCheck(tls *libc.TLS, pParse uintptr, pTab uintptr, regOld int32, regNew int32, aChange uintptr, bChngRowid int32) { /* sqlite3.c:124332:21: */ +func Xsqlite3FkCheck(tls *libc.TLS, pParse uintptr, pTab uintptr, regOld int32, regNew int32, aChange uintptr, bChngRowid int32) { /* sqlite3.c:124345:21: */ bp := tls.Alloc(40) defer tls.Free(40) @@ -150826,7 +150843,7 @@ func Xsqlite3FkCheck(tls *libc.TLS, pParse uintptr, pTab uintptr, regOld int32, // This function is called before generating code to update or delete a // row contained in table pTab. -func Xsqlite3FkOldmask(tls *libc.TLS, pParse uintptr, pTab uintptr) U32 { /* sqlite3.c:124535:20: */ +func Xsqlite3FkOldmask(tls *libc.TLS, pParse uintptr, pTab uintptr) U32 { /* sqlite3.c:124548:20: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -150885,7 +150902,7 @@ func Xsqlite3FkOldmask(tls *libc.TLS, pParse uintptr, pTab uintptr) U32 { /* sql // not "NO ACTION" (i.e. is CASCADE, SET DEFAULT or SET NULL). // // Or, assuming some other foreign key processing is required, 1. -func Xsqlite3FkRequired(tls *libc.TLS, pParse uintptr, pTab uintptr, aChange uintptr, chngRowid int32) int32 { /* sqlite3.c:124585:20: */ +func Xsqlite3FkRequired(tls *libc.TLS, pParse uintptr, pTab uintptr, aChange uintptr, chngRowid int32) int32 { /* sqlite3.c:124598:20: */ var eRet int32 = 1 // Value to return if bHaveFK is true var bHaveFK int32 = 0 // If FK processing is required if (*Sqlite3)(unsafe.Pointer((*Parse)(unsafe.Pointer(pParse)).Fdb)).Fflags&uint64(SQLITE_ForeignKeys) != 0 && int32((*Table)(unsafe.Pointer(pTab)).FeTabType) == TABTYP_NORM { @@ -150953,7 +150970,7 @@ func Xsqlite3FkRequired(tls *libc.TLS, pParse uintptr, pTab uintptr, aChange uin // The returned pointer is cached as part of the foreign key object. It // is eventually freed along with the rest of the foreign key object by // sqlite3FkDelete(). -func fkActionTrigger(tls *libc.TLS, pParse uintptr, pTab uintptr, pFKey uintptr, pChanges uintptr) uintptr { /* sqlite3.c:124653:16: */ +func fkActionTrigger(tls *libc.TLS, pParse uintptr, pTab uintptr, pFKey uintptr, pChanges uintptr) uintptr { /* sqlite3.c:124666:16: */ bp := tls.Alloc(96) defer tls.Free(96) @@ -151155,7 +151172,7 @@ func fkActionTrigger(tls *libc.TLS, pParse uintptr, pTab uintptr, pFKey uintptr, // This function is called when deleting or updating a row to implement // any required CASCADE, SET NULL or SET DEFAULT actions. -func Xsqlite3FkActions(tls *libc.TLS, pParse uintptr, pTab uintptr, pChanges uintptr, regOld int32, aChange uintptr, bChngRowid int32) { /* sqlite3.c:124845:21: */ +func Xsqlite3FkActions(tls *libc.TLS, pParse uintptr, pTab uintptr, pChanges uintptr, regOld int32, aChange uintptr, bChngRowid int32) { /* sqlite3.c:124858:21: */ // If foreign-key support is enabled, iterate through all FKs that // refer to table pTab. If there is an action associated with the FK // for this operation (either update or delete), invoke the associated @@ -151176,7 +151193,7 @@ func Xsqlite3FkActions(tls *libc.TLS, pParse uintptr, pTab uintptr, pChanges uin // Free all memory associated with foreign key definitions attached to // table pTab. Remove the deleted foreign keys from the Schema.fkeyHash // hash table. -func Xsqlite3FkDelete(tls *libc.TLS, db uintptr, pTab uintptr) { /* sqlite3.c:124877:21: */ +func Xsqlite3FkDelete(tls *libc.TLS, db uintptr, pTab uintptr) { /* sqlite3.c:124890:21: */ var pFKey uintptr // Iterator variable var pNext uintptr // Copy of pFKey->pNextFrom @@ -151236,7 +151253,7 @@ func Xsqlite3FkDelete(tls *libc.TLS, db uintptr, pTab uintptr) { /* sqlite3.c:12 // // If pTab is a WITHOUT ROWID table, then it is the PRIMARY KEY index // for that table that is actually opened. -func Xsqlite3OpenTable(tls *libc.TLS, pParse uintptr, iCur int32, iDb int32, pTab uintptr, opcode int32) { /* sqlite3.c:124943:21: */ +func Xsqlite3OpenTable(tls *libc.TLS, pParse uintptr, iCur int32, iDb int32, pTab uintptr, opcode int32) { /* sqlite3.c:124956:21: */ var v uintptr v = (*Parse)(unsafe.Pointer(pParse)).FpVdbe @@ -151278,7 +151295,7 @@ func Xsqlite3OpenTable(tls *libc.TLS, pParse uintptr, iCur int32, iDb int32, pTa // Memory for the buffer containing the column index affinity string // is managed along with the rest of the Index structure. It will be // released when sqlite3DeleteIndex() is called. -func Xsqlite3IndexAffinityStr(tls *libc.TLS, db uintptr, pIdx uintptr) uintptr { /* sqlite3.c:124990:27: */ +func Xsqlite3IndexAffinityStr(tls *libc.TLS, db uintptr, pIdx uintptr) uintptr { /* sqlite3.c:125003:27: */ if !(int32((*Index)(unsafe.Pointer(pIdx)).FzColAff) != 0) { // The first time a column affinity string for a particular index is // required, it is allocated and populated here. It is then stored as @@ -151357,7 +151374,7 @@ func Xsqlite3IndexAffinityStr(tls *libc.TLS, db uintptr, pIdx uintptr) uintptr { // register set as the OP_MakeRecord. If iReg>0 then register iReg is // the first of a series of registers that will form the new record. // Apply the type checking to that array of registers. -func Xsqlite3TableAffinity(tls *libc.TLS, v uintptr, pTab uintptr, iReg int32) { /* sqlite3.c:125069:21: */ +func Xsqlite3TableAffinity(tls *libc.TLS, v uintptr, pTab uintptr, iReg int32) { /* sqlite3.c:125082:21: */ var i int32 var j int32 var zColAff uintptr @@ -151415,7 +151432,7 @@ func Xsqlite3TableAffinity(tls *libc.TLS, v uintptr, pTab uintptr, iReg int32) { // have been opened at any point in the VDBE program. This is used to see if // a statement of the form "INSERT INTO SELECT ..." can // run without using a temporary table for the results of the SELECT. -func readsTable(tls *libc.TLS, p uintptr, iDb int32, pTab uintptr) int32 { /* sqlite3.c:125130:12: */ +func readsTable(tls *libc.TLS, p uintptr, iDb int32, pTab uintptr) int32 { /* sqlite3.c:125143:12: */ var v uintptr = Xsqlite3GetVdbe(tls, p) var i int32 var iEnd int32 = Xsqlite3VdbeCurrentAddr(tls, v) @@ -151451,7 +151468,7 @@ func readsTable(tls *libc.TLS, p uintptr, iDb int32, pTab uintptr) int32 { /* sq // This walker callback will compute the union of colFlags flags for all // referenced columns in a CHECK constraint or generated column expression. -func exprColumnFlagUnion(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:125167:12: */ +func exprColumnFlagUnion(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:125180:12: */ if int32((*Expr)(unsafe.Pointer(pExpr)).Fop) == TK_COLUMN && int32((*Expr)(unsafe.Pointer(pExpr)).FiColumn) >= 0 { *(*U16)(unsafe.Pointer(pWalker + 36)) |= U16(int32((*Column)(unsafe.Pointer((*Table1)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pWalker + 40)))).FaCol + uintptr((*Expr)(unsafe.Pointer(pExpr)).FiColumn)*24)).FcolFlags)) @@ -151464,7 +151481,7 @@ func exprColumnFlagUnion(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { // or VIRTUAL columns have not yet been initialized. This routine goes // back and computes the values for those columns based on the previously // computed normal columns. -func Xsqlite3ComputeGeneratedColumns(tls *libc.TLS, pParse uintptr, iRegStore int32, pTab uintptr) { /* sqlite3.c:125183:21: */ +func Xsqlite3ComputeGeneratedColumns(tls *libc.TLS, pParse uintptr, iRegStore int32, pTab uintptr) { /* sqlite3.c:125196:21: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -151577,7 +151594,7 @@ func Xsqlite3ComputeGeneratedColumns(tls *libc.TLS, pParse uintptr, iRegStore in // // The 2nd register is the one that is returned. That is all the // insert routine needs to know about. -func autoIncBegin(tls *libc.TLS, pParse uintptr, iDb int32, pTab uintptr) int32 { /* sqlite3.c:125307:12: */ +func autoIncBegin(tls *libc.TLS, pParse uintptr, iDb int32, pTab uintptr) int32 { /* sqlite3.c:125320:12: */ var memId int32 = 0 // Register holding maximum rowid if (*Table)(unsafe.Pointer(pTab)).FtabFlags&U32(TF_Autoincrement) != U32(0) && @@ -151631,7 +151648,7 @@ func autoIncBegin(tls *libc.TLS, pParse uintptr, iDb int32, pTab uintptr) int32 // This routine generates code that will initialize all of the // register used by the autoincrement tracker. -func Xsqlite3AutoincrementBegin(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:125358:21: */ +func Xsqlite3AutoincrementBegin(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:125371:21: */ var p uintptr // Information about an AUTOINCREMENT var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb // The database connection var pDb uintptr // Database only autoinc table @@ -151671,7 +151688,7 @@ func Xsqlite3AutoincrementBegin(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:12 } } -var iLn1 int32 = 0 /* sqlite3.c:125372:22 */ +var iLn1 int32 = 0 /* sqlite3.c:125385:22 */ var autoInc = [12]VdbeOpList{ /* 0 */ {Fopcode: U8(OP_Null)}, /* 1 */ {Fopcode: U8(OP_Rewind), Fp2: int8(10)}, @@ -151685,7 +151702,7 @@ var autoInc = [12]VdbeOpList{ /* 9 */ {Fopcode: U8(OP_Next), Fp2: int8(2)}, /* 10 */ {Fopcode: U8(OP_Integer)}, /* 11 */ {Fopcode: U8(OP_Close)}, -} /* sqlite3.c:125373:29 */ +} /* sqlite3.c:125386:29 */ // Update the maximum rowid for an autoincrement calculation. // @@ -151693,7 +151710,7 @@ var autoInc = [12]VdbeOpList{ // new rowid that is about to be inserted. If that new rowid is // larger than the maximum rowid in the memId memory cell, then the // memory cell is updated. -func autoIncStep(tls *libc.TLS, pParse uintptr, memId int32, regRowid int32) { /* sqlite3.c:125419:13: */ +func autoIncStep(tls *libc.TLS, pParse uintptr, memId int32, regRowid int32) { /* sqlite3.c:125432:13: */ if memId > 0 { Xsqlite3VdbeAddOp2(tls, (*Parse)(unsafe.Pointer(pParse)).FpVdbe, OP_MemMax, memId, regRowid) } @@ -151704,7 +151721,7 @@ func autoIncStep(tls *libc.TLS, pParse uintptr, memId int32, regRowid int32) { / // Every statement that might do an INSERT into an autoincrement // table (either directly or through triggers) needs to call this // routine just before the "exit" code. -func autoIncrementEnd(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:125432:29: */ +func autoIncrementEnd(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:125445:29: */ var p uintptr var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb @@ -151735,16 +151752,16 @@ func autoIncrementEnd(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:125432:29: * } } -var iLn2 int32 = 0 /* sqlite3.c:125439:22 */ +var iLn2 int32 = 0 /* sqlite3.c:125452:22 */ var autoIncEnd = [5]VdbeOpList{ /* 0 */ {Fopcode: U8(OP_NotNull), Fp2: int8(2)}, /* 1 */ {Fopcode: U8(OP_NewRowid)}, /* 2 */ {Fopcode: U8(OP_MakeRecord), Fp2: int8(2)}, /* 3 */ {Fopcode: U8(OP_Insert)}, /* 4 */ {Fopcode: U8(OP_Close)}, -} /* sqlite3.c:125440:29 */ +} /* sqlite3.c:125453:29 */ -func Xsqlite3AutoincrementEnd(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:125469:21: */ +func Xsqlite3AutoincrementEnd(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:125482:21: */ if (*Parse)(unsafe.Pointer(pParse)).FpAinc != 0 { autoIncrementEnd(tls, pParse) } @@ -151845,7 +151862,7 @@ func Xsqlite3AutoincrementEnd(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:1254 // transfer values form intermediate table into
// end loop // D: cleanup -func Xsqlite3Insert(tls *libc.TLS, pParse uintptr, pTabList uintptr, pSelect uintptr, pColumn uintptr, onError int32, pUpsert uintptr) { /* sqlite3.c:125588:21: */ +func Xsqlite3Insert(tls *libc.TLS, pParse uintptr, pTabList uintptr, pSelect uintptr, pColumn uintptr, onError int32, pUpsert uintptr) { /* sqlite3.c:125601:21: */ bp := tls.Alloc(188) defer tls.Free(188) @@ -152899,7 +152916,7 @@ insert_cleanup: // Set bit 0x01 of pWalker->eCode if pWalker->eCode to 0 and if this // expression node references any of the // columns that are being modifed by an UPDATE statement. -func checkConstraintExprNode(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:126347:12: */ +func checkConstraintExprNode(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:126360:12: */ if int32((*Expr)(unsafe.Pointer(pExpr)).Fop) == TK_COLUMN { if int32((*Expr)(unsafe.Pointer(pExpr)).FiColumn) >= 0 { @@ -152926,7 +152943,7 @@ func checkConstraintExprNode(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int3 // The operation of this routine is the same - return true if an only if // the expression uses one or more of columns identified by the second and // third arguments. -func Xsqlite3ExprReferencesUpdatedColumn(tls *libc.TLS, pExpr uintptr, aiChng uintptr, chngRowid int32) int32 { /* sqlite3.c:126376:20: */ +func Xsqlite3ExprReferencesUpdatedColumn(tls *libc.TLS, pExpr uintptr, aiChng uintptr, chngRowid int32) int32 { /* sqlite3.c:126389:20: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -152960,7 +152977,7 @@ type IndexListTerm1 = struct { Fp uintptr Fix int32 F__ccgo_pad1 [4]byte -} /* sqlite3.c:126409:9 */ +} /* sqlite3.c:126422:9 */ // The sqlite3GenerateConstraintChecks() routine usually wants to visit // the indexes of a table in the order provided in the Table->pIndex list. @@ -152971,7 +152988,7 @@ type IndexListTerm1 = struct { // The IndexIterator object is used to walk through all of the indexes // of a table in either Index.pNext order, or in some other order established // by an array of IndexListTerm objects. -type IndexListTerm = IndexListTerm1 /* sqlite3.c:126409:30 */ +type IndexListTerm = IndexListTerm1 /* sqlite3.c:126422:30 */ type IndexIterator1 = struct { FeType int32 Fi int32 @@ -152979,12 +152996,12 @@ type IndexIterator1 = struct { Flx struct{ FpIdx uintptr } F__ccgo_pad1 [8]byte } -} /* sqlite3.c:126410:9 */ +} /* sqlite3.c:126423:9 */ -type IndexIterator = IndexIterator1 /* sqlite3.c:126410:30 */ +type IndexIterator = IndexIterator1 /* sqlite3.c:126423:30 */ // Return the first index on the list -func indexIteratorFirst(tls *libc.TLS, pIter uintptr, pIx uintptr) uintptr { /* sqlite3.c:126434:14: */ +func indexIteratorFirst(tls *libc.TLS, pIter uintptr, pIx uintptr) uintptr { /* sqlite3.c:126447:14: */ if (*IndexIterator)(unsafe.Pointer(pIter)).FeType != 0 { *(*int32)(unsafe.Pointer(pIx)) = (*IndexListTerm)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pIter + 8 + 8 /* &.aIdx */)))).Fix @@ -152997,7 +153014,7 @@ func indexIteratorFirst(tls *libc.TLS, pIter uintptr, pIx uintptr) uintptr { /* } // Return the next index from the list. Return NULL when out of indexes -func indexIteratorNext(tls *libc.TLS, pIter uintptr, pIx uintptr) uintptr { /* sqlite3.c:126446:14: */ +func indexIteratorNext(tls *libc.TLS, pIter uintptr, pIx uintptr) uintptr { /* sqlite3.c:126459:14: */ if (*IndexIterator)(unsafe.Pointer(pIter)).FeType != 0 { var i int32 = libc.PreIncInt32(&(*IndexIterator)(unsafe.Pointer(pIter)).Fi, 1) if i >= *(*int32)(unsafe.Pointer(pIter + 8)) { @@ -153103,7 +153120,7 @@ func indexIteratorNext(tls *libc.TLS, pIter uintptr, pIx uintptr) uintptr { /* s // Or if overrideError==OE_Default, then the pParse->onError parameter // is used. Or if pParse->onError==OE_Default then the onError value // for the constraint is used. -func Xsqlite3GenerateConstraintChecks(tls *libc.TLS, pParse uintptr, pTab uintptr, aRegIdx uintptr, iDataCur int32, iIdxCur int32, regNewData int32, regOldData int32, pkChng U8, overrideError U8, ignoreDest int32, pbMayReplace uintptr, aiChng uintptr, pUpsert uintptr) { /* sqlite3.c:126553:21: */ +func Xsqlite3GenerateConstraintChecks(tls *libc.TLS, pParse uintptr, pTab uintptr, aRegIdx uintptr, iDataCur int32, iIdxCur int32, regNewData int32, regOldData int32, pkChng U8, overrideError U8, ignoreDest int32, pbMayReplace uintptr, aiChng uintptr, pUpsert uintptr) { /* sqlite3.c:126566:21: */ bp := tls.Alloc(72) defer tls.Free(72) @@ -153961,7 +153978,7 @@ func Xsqlite3GenerateConstraintChecks(tls *libc.TLS, pParse uintptr, pTab uintpt // number is iCur, and register regData contains the new record for the // PK index. This function adds code to invoke the pre-update hook, // if one is registered. -func codeWithoutRowidPreupdate(tls *libc.TLS, pParse uintptr, pTab uintptr, iCur int32, regData int32) { /* sqlite3.c:127411:13: */ +func codeWithoutRowidPreupdate(tls *libc.TLS, pParse uintptr, pTab uintptr, iCur int32, regData int32) { /* sqlite3.c:127424:13: */ var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe var r int32 = Xsqlite3GetTempReg(tls, pParse) @@ -153978,7 +153995,7 @@ func codeWithoutRowidPreupdate(tls *libc.TLS, pParse uintptr, pTab uintptr, iCur // // The arguments to this routine should be the same as the first six // arguments to sqlite3GenerateConstraintChecks. -func Xsqlite3CompleteInsertion(tls *libc.TLS, pParse uintptr, pTab uintptr, iDataCur int32, iIdxCur int32, regNewData int32, aRegIdx uintptr, update_flags int32, appendBias int32, useSeekResult int32) { /* sqlite3.c:127439:21: */ +func Xsqlite3CompleteInsertion(tls *libc.TLS, pParse uintptr, pTab uintptr, iDataCur int32, iIdxCur int32, regNewData int32, aRegIdx uintptr, update_flags int32, appendBias int32, useSeekResult int32) { /* sqlite3.c:127452:21: */ var v uintptr // Prepared statements under construction var pIdx uintptr // An index being inserted or updated var pik_flags U8 // flag values passed to the btree insert @@ -154081,7 +154098,7 @@ __3: // // If pTab is a virtual table, then this routine is a no-op and the // *piDataCur and *piIdxCur values are left uninitialized. -func Xsqlite3OpenTableAndIndices(tls *libc.TLS, pParse uintptr, pTab uintptr, op int32, p5 U8, iBase int32, aToOpen uintptr, piDataCur uintptr, piIdxCur uintptr) int32 { /* sqlite3.c:127527:20: */ +func Xsqlite3OpenTableAndIndices(tls *libc.TLS, pParse uintptr, pTab uintptr, op int32, p5 U8, iBase int32, aToOpen uintptr, piDataCur uintptr, piIdxCur uintptr) int32 { /* sqlite3.c:127540:20: */ var i int32 var iDb int32 var iDataCur int32 @@ -154159,7 +154176,7 @@ __3: // * The same onError processing (OE_Abort, OE_Ignore, etc) // * The same collating sequence on each column // * The index has the exact same WHERE clause -func xferCompatibleIndex(tls *libc.TLS, pDest uintptr, pSrc uintptr) int32 { /* sqlite3.c:127606:12: */ +func xferCompatibleIndex(tls *libc.TLS, pDest uintptr, pSrc uintptr) int32 { /* sqlite3.c:127619:12: */ var i int32 if int32((*Index)(unsafe.Pointer(pDest)).FnKeyCol) != int32((*Index)(unsafe.Pointer(pSrc)).FnKeyCol) || int32((*Index)(unsafe.Pointer(pDest)).FnColumn) != int32((*Index)(unsafe.Pointer(pSrc)).FnColumn) { @@ -154217,7 +154234,7 @@ func xferCompatibleIndex(tls *libc.TLS, pDest uintptr, pSrc uintptr) int32 { /* // is no chance that the xfer optimization can be applied. // // This optimization is particularly useful at making VACUUM run faster. -func xferOptimization(tls *libc.TLS, pParse uintptr, pDest uintptr, pSelect uintptr, onError int32, iDbDest int32) int32 { /* sqlite3.c:127667:12: */ +func xferOptimization(tls *libc.TLS, pParse uintptr, pDest uintptr, pSelect uintptr, onError int32, iDbDest int32) int32 { /* sqlite3.c:127680:12: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb var pEList uintptr // The result set of the SELECT var pSrc uintptr // The table in the FROM clause of SELECT @@ -154597,7 +154614,7 @@ func xferOptimization(tls *libc.TLS, pParse uintptr, pDest uintptr, pSelect uint // the xCallback() function is called. pArg becomes the first // 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 Sqlite3_callback, pArg uintptr, pzErrMsg uintptr) int32 { /* sqlite3.c:128078:16: */ +func Xsqlite3_exec(tls *libc.TLS, db uintptr, zSql uintptr, xCallback Sqlite3_callback, pArg uintptr, pzErrMsg uintptr) int32 { /* sqlite3.c:128091:16: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -154618,7 +154635,7 @@ func Xsqlite3_exec(tls *libc.TLS, db uintptr, zSql uintptr, xCallback Sqlite3_ca if !!(Xsqlite3SafetyCheckOk(tls, db) != 0) { goto __1 } - return Xsqlite3MisuseError(tls, 128091) + return Xsqlite3MisuseError(tls, 128104) __1: ; if !(zSql == uintptr(0)) { @@ -154807,7 +154824,7 @@ __26: // This is the function signature used for all extension entry points. It // is also defined in the file "loadext.c". -type Sqlite3_loadext_entry = uintptr /* sqlite3.c:128572:13 */ +type Sqlite3_loadext_entry = uintptr /* sqlite3.c:128585:13 */ // The following macros redefine the API routines so that they are // redirected through the global sqlite3_api structure. @@ -155141,7 +155158,7 @@ var sqlite3Apis = Sqlite3_api_routines{ Fvtab_in: 0, Fvtab_in_first: 0, Fvtab_in_next: 0, -} /* sqlite3.c:129018:35 */ +} /* sqlite3.c:129031:35 */ // True if x is the directory separator character @@ -155155,7 +155172,7 @@ var sqlite3Apis = Sqlite3_api_routines{ // If an error occurs and pzErrMsg is not 0, then fill *pzErrMsg with // error message text. The calling function should free this memory // by calling sqlite3DbFree(db, ). -func sqlite3LoadExtension(tls *libc.TLS, db uintptr, zFile uintptr, zProc uintptr, pzErrMsg uintptr) int32 { /* sqlite3.c:129402:12: */ +func sqlite3LoadExtension(tls *libc.TLS, db uintptr, zFile uintptr, zProc uintptr, pzErrMsg uintptr) int32 { /* sqlite3.c:129415:12: */ bp := tls.Alloc(64) defer tls.Free(64) @@ -155409,9 +155426,9 @@ __28: var azEndings = [1]uintptr{ ts + 17306, -} /* sqlite3.c:129420:21 */ +} /* sqlite3.c:129433:21 */ -func Xsqlite3_load_extension(tls *libc.TLS, db uintptr, zFile uintptr, zProc uintptr, pzErrMsg uintptr) int32 { /* sqlite3.c:129553:16: */ +func Xsqlite3_load_extension(tls *libc.TLS, db uintptr, zFile uintptr, zProc uintptr, pzErrMsg uintptr) int32 { /* sqlite3.c:129566:16: */ var rc int32 Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) rc = sqlite3LoadExtension(tls, db, zFile, zProc, pzErrMsg) @@ -155422,7 +155439,7 @@ func Xsqlite3_load_extension(tls *libc.TLS, db uintptr, zFile uintptr, zProc uin // Call this routine when the database connection is closing in order // to clean up loaded extensions -func Xsqlite3CloseExtensions(tls *libc.TLS, db uintptr) { /* sqlite3.c:129571:21: */ +func Xsqlite3CloseExtensions(tls *libc.TLS, db uintptr) { /* sqlite3.c:129584:21: */ var i int32 for i = 0; i < (*Sqlite3)(unsafe.Pointer(db)).FnExtension; i++ { @@ -155433,7 +155450,7 @@ func Xsqlite3CloseExtensions(tls *libc.TLS, db uintptr) { /* sqlite3.c:129571:21 // Enable or disable extension loading. Extension loading is disabled by // default so as not to open security holes in older applications. -func Xsqlite3_enable_load_extension(tls *libc.TLS, db uintptr, onoff int32) int32 { /* sqlite3.c:129584:16: */ +func Xsqlite3_enable_load_extension(tls *libc.TLS, db uintptr, onoff int32) int32 { /* sqlite3.c:129597:16: */ Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) if onoff != 0 { *(*U64)(unsafe.Pointer(db + 48)) |= uint64(SQLITE_LoadExtension | SQLITE_LoadExtFunc) @@ -155453,15 +155470,15 @@ type sqlite3AutoExtList = struct { FnExt U32 F__ccgo_pad1 [4]byte FaExt uintptr -} /* sqlite3.c:129604:9 */ +} /* sqlite3.c:129617:9 */ // The following object holds the list of automatically loaded // extensions. // // This list is shared across threads. The SQLITE_MUTEX_STATIC_MAIN // mutex must be held while accessing this list. -type Sqlite3AutoExtList = sqlite3AutoExtList /* sqlite3.c:129604:35 */ -var sqlite3Autoext = sqlite3AutoExtList{} /* sqlite3.c:129608:3 */ +type Sqlite3AutoExtList = sqlite3AutoExtList /* sqlite3.c:129617:35 */ +var sqlite3Autoext = sqlite3AutoExtList{} /* sqlite3.c:129621:3 */ // The "wsdAutoext" macro will resolve to the autoextension // state vector. If writable static data is unsupported on the target, @@ -155471,7 +155488,7 @@ var sqlite3Autoext = sqlite3AutoExtList{} /* sqlite3.c:129608:3 */ // Register a statically linked extension that is automatically // loaded by every new database connection. -func Xsqlite3_auto_extension(tls *libc.TLS, xInit uintptr) int32 { /* sqlite3.c:129630:16: */ +func Xsqlite3_auto_extension(tls *libc.TLS, xInit uintptr) int32 { /* sqlite3.c:129643:16: */ var rc int32 = SQLITE_OK rc = Xsqlite3_initialize(tls) if rc != 0 { @@ -155512,7 +155529,7 @@ func Xsqlite3_auto_extension(tls *libc.TLS, xInit uintptr) int32 { /* sqlite3.c: // // 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) int32 { /* sqlite3.c:129677:16: */ +func Xsqlite3_cancel_auto_extension(tls *libc.TLS, xInit uintptr) int32 { /* sqlite3.c:129690:16: */ var mutex uintptr = Xsqlite3MutexAlloc(tls, SQLITE_MUTEX_STATIC_MAIN) var i int32 var n int32 = 0 @@ -155531,7 +155548,7 @@ func Xsqlite3_cancel_auto_extension(tls *libc.TLS, xInit uintptr) int32 { /* sql } // Reset the automatic extension loading mechanism. -func Xsqlite3_reset_auto_extension(tls *libc.TLS) { /* sqlite3.c:129702:17: */ +func Xsqlite3_reset_auto_extension(tls *libc.TLS) { /* sqlite3.c:129715:17: */ if Xsqlite3_initialize(tls) == SQLITE_OK { var mutex uintptr = Xsqlite3MutexAlloc(tls, SQLITE_MUTEX_STATIC_MAIN) @@ -155546,7 +155563,7 @@ func Xsqlite3_reset_auto_extension(tls *libc.TLS) { /* sqlite3.c:129702:17: */ // Load all automatic extensions. // // If anything goes wrong, set an error in the database connection. -func Xsqlite3AutoLoadExtensions(tls *libc.TLS, db uintptr) { /* sqlite3.c:129724:21: */ +func Xsqlite3AutoLoadExtensions(tls *libc.TLS, db uintptr) { /* sqlite3.c:129737:21: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -155683,7 +155700,7 @@ var pragCName = [57]uintptr{ ts + 17582, ts + 17593, -} /* sqlite3.c:129865:19 */ +} /* sqlite3.c:129878:19 */ // Definitions of all built-in pragmas type PragmaName1 = struct { @@ -155694,10 +155711,10 @@ type PragmaName1 = struct { FnPragCName U8 F__ccgo_pad1 [4]byte FiArg U64 -} /* sqlite3.c:129930:9 */ +} /* sqlite3.c:129943:9 */ // Definitions of all built-in pragmas -type PragmaName = PragmaName1 /* sqlite3.c:129937:3 */ +type PragmaName = PragmaName1 /* sqlite3.c:129950:3 */ var aPragmaName = [67]PragmaName{ { /* zName: */ FzName: ts + 17601, /* ePragTyp: */ FePragTyp: U8(PragTyp_ANALYSIS_LIMIT), @@ -155937,7 +155954,7 @@ var aPragmaName = [67]PragmaName{ /* ePragTyp: */ FePragTyp: U8(PragTyp_FLAG), /* ePragFlg: */ FmPragFlg: U8(PragFlg_Result0 | PragFlg_NoColumns1), /* iArg: */ FiArg: uint64(SQLITE_WriteSchema | SQLITE_NoSchemaError)}, -} /* sqlite3.c:129938:25 */ +} /* sqlite3.c:129951:25 */ // Number of pragmas: 68 on by default, 78 total. @@ -155953,7 +155970,7 @@ var aPragmaName = [67]PragmaName{ // should be passed into sqlite3BtreeSetSafetyLevel(). The is done // to support legacy SQL code. The safety level used to be boolean // and older scripts may have used numbers 0 for OFF and 1 for ON. -func getSafetyLevel(tls *libc.TLS, z uintptr, omitFull int32, dflt U8) U8 { /* sqlite3.c:130472:11: */ +func getSafetyLevel(tls *libc.TLS, z uintptr, omitFull int32, dflt U8) U8 { /* sqlite3.c:130485:11: */ // on no off false yes true extra full var i int32 var n int32 @@ -155970,13 +155987,13 @@ func getSafetyLevel(tls *libc.TLS, z uintptr, omitFull int32, dflt U8) U8 { /* s return dflt } -var zText = *(*[25]int8)(unsafe.Pointer(ts + 18589)) /* sqlite3.c:130474:21 */ -var iOffset = [8]U8{U8(0), U8(1), U8(2), U8(4), U8(9), U8(12), U8(15), U8(20)} /* sqlite3.c:130475:19 */ -var iLength = [8]U8{U8(2), U8(2), U8(3), U8(5), U8(3), U8(4), U8(5), U8(4)} /* sqlite3.c:130476:19 */ -var iValue = [8]U8{U8(1), U8(0), U8(0), U8(0), U8(1), U8(1), U8(3), U8(2)} /* sqlite3.c:130477:19 */ +var zText = *(*[25]int8)(unsafe.Pointer(ts + 18589)) /* sqlite3.c:130487:21 */ +var iOffset = [8]U8{U8(0), U8(1), U8(2), U8(4), U8(9), U8(12), U8(15), U8(20)} /* sqlite3.c:130488:19 */ +var iLength = [8]U8{U8(2), U8(2), U8(3), U8(5), U8(3), U8(4), U8(5), U8(4)} /* sqlite3.c:130489:19 */ +var iValue = [8]U8{U8(1), U8(0), U8(0), U8(0), U8(1), U8(1), U8(3), U8(2)} /* sqlite3.c:130490:19 */ // Interpret the given string as a boolean value. -func Xsqlite3GetBoolean(tls *libc.TLS, z uintptr, dflt U8) U8 { /* sqlite3.c:130497:19: */ +func Xsqlite3GetBoolean(tls *libc.TLS, z uintptr, dflt U8) U8 { /* sqlite3.c:130510:19: */ return U8(libc.Bool32(int32(getSafetyLevel(tls, z, 1, dflt)) != 0)) } @@ -155985,7 +156002,7 @@ func Xsqlite3GetBoolean(tls *libc.TLS, z uintptr, dflt U8) U8 { /* sqlite3.c:130 // the rest of the file if PRAGMAs are omitted from the build. // Interpret the given string as a locking mode value. -func getLockingMode(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:130510:12: */ +func getLockingMode(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:130523:12: */ if z != 0 { if 0 == Xsqlite3StrICmp(tls, z, ts+4968) { return PAGER_LOCKINGMODE_EXCLUSIVE @@ -156001,7 +156018,7 @@ func getLockingMode(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:130510:12: */ // // The following strings, "none", "full" and "incremental" are // acceptable, as are their numeric equivalents: 0, 1 and 2 respectively. -func getAutoVacuum(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:130525:12: */ +func getAutoVacuum(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:130538:12: */ var i int32 if 0 == Xsqlite3StrICmp(tls, z, ts+9257) { return BTREE_AUTOVACUUM_NONE @@ -156024,7 +156041,7 @@ func getAutoVacuum(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:130525:12: */ // Interpret the given string as a temp db location. Return 1 for file // backed temporary databases, 2 for the Red-Black tree in memory database // and 0 to use the compile-time default. -func getTempStore(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:130541:12: */ +func getTempStore(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:130554:12: */ if int32(*(*int8)(unsafe.Pointer(z))) >= '0' && int32(*(*int8)(unsafe.Pointer(z))) <= '2' { return int32(*(*int8)(unsafe.Pointer(z))) - '0' } else if Xsqlite3StrICmp(tls, z, ts+17543) == 0 { @@ -156039,7 +156056,7 @@ func getTempStore(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:130541:12: */ // Invalidate temp storage, either when the temp storage is changed // from default, or when 'file' and the temp_store_directory has changed -func invalidateTempStorage(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:130559:12: */ +func invalidateTempStorage(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:130572:12: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb if (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+1*32)).FpBt != uintptr(0) { if !(int32((*Sqlite3)(unsafe.Pointer(db)).FautoCommit) != 0) || @@ -156058,7 +156075,7 @@ func invalidateTempStorage(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:1 // If the TEMP database is open, close it and mark the database schema // as needing reloading. This must be done when using the SQLITE_TEMP_STORE // or DEFAULT_TEMP_STORE pragmas. -func changeTempStorage(tls *libc.TLS, pParse uintptr, zStorageType uintptr) int32 { /* sqlite3.c:130583:12: */ +func changeTempStorage(tls *libc.TLS, pParse uintptr, zStorageType uintptr) int32 { /* sqlite3.c:130596:12: */ var ts int32 = getTempStore(tls, zStorageType) var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb if int32((*Sqlite3)(unsafe.Pointer(db)).Ftemp_store) == ts { @@ -156072,7 +156089,7 @@ func changeTempStorage(tls *libc.TLS, pParse uintptr, zStorageType uintptr) int3 } // Set result column names for a pragma. -func setPragmaResultColumnNames(tls *libc.TLS, v uintptr, pPragma uintptr) { /* sqlite3.c:130598:13: */ +func setPragmaResultColumnNames(tls *libc.TLS, v uintptr, pPragma uintptr) { /* sqlite3.c:130611:13: */ var n U8 = (*PragmaName)(unsafe.Pointer(pPragma)).FnPragCName Xsqlite3VdbeSetNumCols(tls, v, func() int32 { if int32(n) == 0 { @@ -156106,7 +156123,7 @@ func setPragmaResultColumnNames(tls *libc.TLS, v uintptr, pPragma uintptr) { /* } // Generate code to return a single integer value. -func returnSingleInt(tls *libc.TLS, v uintptr, value I64) { /* sqlite3.c:130617:13: */ +func returnSingleInt(tls *libc.TLS, v uintptr, value I64) { /* sqlite3.c:130630:13: */ bp := tls.Alloc(8) defer tls.Free(8) *(*I64)(unsafe.Pointer(bp)) = value @@ -156116,7 +156133,7 @@ func returnSingleInt(tls *libc.TLS, v uintptr, value I64) { /* sqlite3.c:130617: } // Generate code to return a single text value. -func returnSingleText(tls *libc.TLS, v uintptr, zValue uintptr) { /* sqlite3.c:130625:13: */ +func returnSingleText(tls *libc.TLS, v uintptr, zValue uintptr) { /* sqlite3.c:130638:13: */ if zValue != 0 { Xsqlite3VdbeLoadString(tls, v, 1, zValue) Xsqlite3VdbeAddOp2(tls, v, OP_ResultRow, 1, 1) @@ -156125,7 +156142,7 @@ func returnSingleText(tls *libc.TLS, v uintptr, zValue uintptr) { /* sqlite3.c:1 // Set the safety_level and pager flags for pager iDb. Or if iDb<0 // set these values for all pagers. -func setAllPagerFlags(tls *libc.TLS, db uintptr) { /* sqlite3.c:130641:13: */ +func setAllPagerFlags(tls *libc.TLS, db uintptr) { /* sqlite3.c:130654:13: */ if (*Sqlite3)(unsafe.Pointer(db)).FautoCommit != 0 { var pDb uintptr = (*Sqlite3)(unsafe.Pointer(db)).FaDb var n int32 = (*Sqlite3)(unsafe.Pointer(db)).FnDb @@ -156141,7 +156158,7 @@ func setAllPagerFlags(tls *libc.TLS, db uintptr) { /* sqlite3.c:130641:13: */ } // Return a human-readable name for a constraint resolution action. -func actionName(tls *libc.TLS, action U8) uintptr { /* sqlite3.c:130669:19: */ +func actionName(tls *libc.TLS, action U8) uintptr { /* sqlite3.c:130682:19: */ var zName uintptr switch int32(action) { case OE_SetNull: @@ -156166,7 +156183,7 @@ func actionName(tls *libc.TLS, action U8) uintptr { /* sqlite3.c:130669:19: */ // Parameter eMode must be one of the PAGER_JOURNALMODE_XXX constants // defined in pager.h. This function returns the associated lowercase // journal-mode name. -func Xsqlite3JournalModename(tls *libc.TLS, eMode int32) uintptr { /* sqlite3.c:130689:27: */ +func Xsqlite3JournalModename(tls *libc.TLS, eMode int32) uintptr { /* sqlite3.c:130702:27: */ if eMode == int32(uint64(unsafe.Sizeof(azModeName))/uint64(unsafe.Sizeof(uintptr(0)))) { return uintptr(0) @@ -156176,10 +156193,10 @@ func Xsqlite3JournalModename(tls *libc.TLS, eMode int32) uintptr { /* sqlite3.c: var azModeName = [6]uintptr{ ts + 18755, ts + 18762, ts + 18770, ts + 18774, ts + 18638, ts + 18783, -} /* sqlite3.c:130690:15 */ +} /* sqlite3.c:130703:15 */ // Locate a pragma in the aPragmaName[] array. -func pragmaLocate(tls *libc.TLS, zName uintptr) uintptr { /* sqlite3.c:130711:25: */ +func pragmaLocate(tls *libc.TLS, zName uintptr) uintptr { /* sqlite3.c:130724:25: */ var upr int32 var lwr int32 var mid int32 = 0 @@ -156206,7 +156223,7 @@ func pragmaLocate(tls *libc.TLS, zName uintptr) uintptr { /* sqlite3.c:130711:25 // Create zero or more entries in the output for the SQL functions // defined by FuncDef p. -func pragmaFunclistLine(tls *libc.TLS, v uintptr, p uintptr, isBuiltin int32, showInternFuncs int32) { /* sqlite3.c:130732:13: */ +func pragmaFunclistLine(tls *libc.TLS, v uintptr, p uintptr, isBuiltin int32, showInternFuncs int32) { /* sqlite3.c:130745:13: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -156235,15 +156252,15 @@ func pragmaFunclistLine(tls *libc.TLS, v uintptr, p uintptr, isBuiltin int32, sh } } -var mask U32 = U32(SQLITE_DETERMINISTIC | SQLITE_DIRECTONLY | SQLITE_SUBTYPE | SQLITE_INNOCUOUS | SQLITE_FUNC_INTERNAL) /* sqlite3.c:130740:22 */ -var azEnc = [4]uintptr{uintptr(0), ts + 18798, ts + 18803, ts + 18811 /* "utf16be" */} /* sqlite3.c:130747:23 */ +var mask U32 = U32(SQLITE_DETERMINISTIC | SQLITE_DIRECTONLY | SQLITE_SUBTYPE | SQLITE_INNOCUOUS | SQLITE_FUNC_INTERNAL) /* sqlite3.c:130753:22 */ +var azEnc = [4]uintptr{uintptr(0), ts + 18798, ts + 18803, ts + 18811 /* "utf16be" */} /* sqlite3.c:130760:23 */ // Helper subroutine for PRAGMA integrity_check: // // Generate code to output a single-column result row with a value of the // string held in register 3. Decrement the result count in register 1 // and halt if the maximum number of result rows have been issued. -func integrityCheckResultRow(tls *libc.TLS, v uintptr) int32 { /* sqlite3.c:130784:12: */ +func integrityCheckResultRow(tls *libc.TLS, v uintptr) int32 { /* sqlite3.c:130797:12: */ var addr int32 Xsqlite3VdbeAddOp2(tls, v, OP_ResultRow, 3, 1) addr = Xsqlite3VdbeAddOp3(tls, v, OP_IfPos, 1, Xsqlite3VdbeCurrentAddr(tls, v)+2, 1) @@ -156265,7 +156282,7 @@ func integrityCheckResultRow(tls *libc.TLS, v uintptr) int32 { /* sqlite3.c:1307 // If the left side is "database.id" then pId1 is the database name // and pId2 is the id. If the left side is just "id" then pId1 is the // id and pId2 is any empty string. -func Xsqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, pValue uintptr, minusFlag int32) { /* sqlite3.c:130808:21: */ +func Xsqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, pValue uintptr, minusFlag int32) { /* sqlite3.c:130821:21: */ bp := tls.Alloc(624) defer tls.Free(624) @@ -159709,9 +159726,9 @@ type EncName = struct { FzName uintptr Fenc U8 F__ccgo_pad1 [7]byte -} /* sqlite3.c:132383:18 */ +} /* sqlite3.c:132396:18 */ -var iLn3 int32 = 0 /* sqlite3.c:130937:22 */ +var iLn3 int32 = 0 /* sqlite3.c:130950:22 */ var getCacheSize = [9]VdbeOpList{ {Fopcode: U8(OP_Transaction)}, // 0 {Fopcode: U8(OP_ReadCookie), Fp2: int8(1), Fp3: int8(BTREE_DEFAULT_CACHE_SIZE)}, // 1 @@ -159722,16 +159739,16 @@ var getCacheSize = [9]VdbeOpList{ {Fopcode: U8(OP_Integer), Fp2: int8(1)}, // 6 {Fopcode: U8(OP_Noop)}, {Fopcode: U8(OP_ResultRow), Fp1: int8(1), Fp2: int8(1)}, -} /* sqlite3.c:130938:29 */ -var iLn4 int32 = 0 /* sqlite3.c:131206:26 */ +} /* sqlite3.c:130951:29 */ +var iLn4 int32 = 0 /* sqlite3.c:131219:26 */ var setMeta6 = [5]VdbeOpList{ {Fopcode: U8(OP_Transaction), Fp2: int8(1)}, // 0 {Fopcode: U8(OP_ReadCookie), Fp2: int8(1), Fp3: int8(BTREE_LARGEST_ROOT_PAGE)}, {Fopcode: U8(OP_If), Fp1: int8(1)}, // 2 {Fopcode: U8(OP_Halt), Fp2: int8(OE_Abort)}, // 3 {Fopcode: U8(OP_SetCookie), Fp2: int8(BTREE_INCR_VACUUM)}, // 4 -} /* sqlite3.c:131207:33 */ -var iLn5 int32 = 0 /* sqlite3.c:132333:24 */ +} /* sqlite3.c:131220:33 */ +var iLn5 int32 = 0 /* sqlite3.c:132346:24 */ var endCode = [7]VdbeOpList{ {Fopcode: U8(OP_AddImm), Fp1: int8(1)}, // 0 {Fopcode: U8(OP_IfNotZero), Fp1: int8(1), Fp2: int8(4)}, // 1 @@ -159740,7 +159757,7 @@ var endCode = [7]VdbeOpList{ {Fopcode: U8(OP_Halt)}, // 4 {Fopcode: U8(OP_String8), Fp2: int8(3)}, // 5 {Fopcode: U8(OP_Goto), Fp2: int8(3)}, // 6 -} /* sqlite3.c:132334:31 */ +} /* sqlite3.c:132347:31 */ var encnames1 = [9]EncName{ {FzName: ts + 19234, Fenc: U8(SQLITE_UTF8)}, {FzName: ts + 19239, Fenc: U8(SQLITE_UTF8)}, // Must be element [1] @@ -159751,16 +159768,16 @@ var encnames1 = [9]EncName{ {FzName: ts + 19279}, {FzName: ts + 19286}, {}, -} /* sqlite3.c:132386:7 */ +} /* sqlite3.c:132399:7 */ var setCookie = [2]VdbeOpList{ {Fopcode: U8(OP_Transaction), Fp2: int8(1)}, // 0 {Fopcode: U8(OP_SetCookie)}, // 1 -} /* sqlite3.c:132466:31 */ +} /* sqlite3.c:132479:31 */ var readCookie = [3]VdbeOpList{ {Fopcode: U8(OP_Transaction)}, // 0 {Fopcode: U8(OP_ReadCookie), Fp2: int8(1)}, // 1 {Fopcode: U8(OP_ResultRow), Fp1: int8(1), Fp2: int8(1)}, -} /* sqlite3.c:132481:31 */ +} /* sqlite3.c:132494:31 */ // **************************************************************************** // // Implementation of an eponymous virtual table that runs a pragma. @@ -159772,24 +159789,24 @@ type PragmaVtab1 = struct { FnHidden U8 FiHidden U8 F__ccgo_pad1 [6]byte -} /* sqlite3.c:132841:9 */ +} /* sqlite3.c:132854:9 */ // **************************************************************************** // // Implementation of an eponymous virtual table that runs a pragma. // -type PragmaVtab = PragmaVtab1 /* sqlite3.c:132841:27 */ +type PragmaVtab = PragmaVtab1 /* sqlite3.c:132854:27 */ type PragmaVtabCursor1 = struct { Fbase Sqlite3_vtab_cursor FpPragma uintptr FiRowid Sqlite_int64 FazArg [2]uintptr -} /* sqlite3.c:132842:9 */ +} /* sqlite3.c:132855:9 */ -type PragmaVtabCursor = PragmaVtabCursor1 /* sqlite3.c:132842:33 */ +type PragmaVtabCursor = PragmaVtabCursor1 /* sqlite3.c:132855:33 */ // Pragma virtual table module xConnect method. -func pragmaVtabConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 { /* sqlite3.c:132860:12: */ +func pragmaVtabConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 { /* sqlite3.c:132873:12: */ bp := tls.Alloc(264) defer tls.Free(264) @@ -159863,7 +159880,7 @@ __3: } // Pragma virtual table module xDisconnect method. -func pragmaVtabDisconnect(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:132922:12: */ +func pragmaVtabDisconnect(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:132935:12: */ var pTab uintptr = pVtab Xsqlite3_free(tls, pTab) return SQLITE_OK @@ -159875,7 +159892,7 @@ func pragmaVtabDisconnect(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:132 // query planner to give == constraints on as many hidden parameters as // possible, and especially on the first hidden parameter. So return a // high cost if hidden parameters are unconstrained. -func pragmaVtabBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 { /* sqlite3.c:132935:12: */ +func pragmaVtabBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 { /* sqlite3.c:132948:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -159940,7 +159957,7 @@ __3: } // Create a new cursor for the pragma virtual table -func pragmaVtabOpen(tls *libc.TLS, pVtab uintptr, ppCursor uintptr) int32 { /* sqlite3.c:132972:12: */ +func pragmaVtabOpen(tls *libc.TLS, pVtab uintptr, ppCursor uintptr) int32 { /* sqlite3.c:132985:12: */ var pCsr uintptr pCsr = Xsqlite3_malloc(tls, int32(unsafe.Sizeof(PragmaVtabCursor{}))) if pCsr == uintptr(0) { @@ -159953,7 +159970,7 @@ func pragmaVtabOpen(tls *libc.TLS, pVtab uintptr, ppCursor uintptr) int32 { /* s } // Clear all content from pragma virtual table cursor. -func pragmaVtabCursorClear(tls *libc.TLS, pCsr uintptr) { /* sqlite3.c:132983:13: */ +func pragmaVtabCursorClear(tls *libc.TLS, pCsr uintptr) { /* sqlite3.c:132996:13: */ var i int32 Xsqlite3_finalize(tls, (*PragmaVtabCursor)(unsafe.Pointer(pCsr)).FpPragma) (*PragmaVtabCursor)(unsafe.Pointer(pCsr)).FpPragma = uintptr(0) @@ -159964,7 +159981,7 @@ func pragmaVtabCursorClear(tls *libc.TLS, pCsr uintptr) { /* sqlite3.c:132983:13 } // Close a pragma virtual table cursor -func pragmaVtabClose(tls *libc.TLS, cur uintptr) int32 { /* sqlite3.c:132994:12: */ +func pragmaVtabClose(tls *libc.TLS, cur uintptr) int32 { /* sqlite3.c:133007:12: */ var pCsr uintptr = cur pragmaVtabCursorClear(tls, pCsr) Xsqlite3_free(tls, pCsr) @@ -159972,7 +159989,7 @@ func pragmaVtabClose(tls *libc.TLS, cur uintptr) int32 { /* sqlite3.c:132994:12: } // Advance the pragma virtual table cursor to the next row -func pragmaVtabNext(tls *libc.TLS, pVtabCursor uintptr) int32 { /* sqlite3.c:133002:12: */ +func pragmaVtabNext(tls *libc.TLS, pVtabCursor uintptr) int32 { /* sqlite3.c:133015:12: */ var pCsr uintptr = pVtabCursor var rc int32 = SQLITE_OK @@ -159988,7 +160005,7 @@ func pragmaVtabNext(tls *libc.TLS, pVtabCursor uintptr) int32 { /* sqlite3.c:133 } // Pragma virtual table module xFilter method. -func pragmaVtabFilter(tls *libc.TLS, pVtabCursor uintptr, idxNum int32, idxStr uintptr, argc int32, argv uintptr) int32 { /* sqlite3.c:133020:12: */ +func pragmaVtabFilter(tls *libc.TLS, pVtabCursor uintptr, idxNum int32, idxStr uintptr, argc int32, argv uintptr) int32 { /* sqlite3.c:133033:12: */ bp := tls.Alloc(64) defer tls.Free(64) @@ -160056,14 +160073,14 @@ __3: } // Pragma virtual table module xEof method. -func pragmaVtabEof(tls *libc.TLS, pVtabCursor uintptr) int32 { /* sqlite3.c:133070:12: */ +func pragmaVtabEof(tls *libc.TLS, pVtabCursor uintptr) int32 { /* sqlite3.c:133083:12: */ var pCsr uintptr = pVtabCursor return libc.Bool32((*PragmaVtabCursor)(unsafe.Pointer(pCsr)).FpPragma == uintptr(0)) } // The xColumn method simply returns the corresponding column from // the PRAGMA. -func pragmaVtabColumn(tls *libc.TLS, pVtabCursor uintptr, ctx uintptr, i int32) int32 { /* sqlite3.c:133078:12: */ +func pragmaVtabColumn(tls *libc.TLS, pVtabCursor uintptr, ctx uintptr, i int32) int32 { /* sqlite3.c:133091:12: */ var pCsr uintptr = pVtabCursor var pTab uintptr = (*Sqlite3_vtab_cursor)(unsafe.Pointer(pVtabCursor)).FpVtab if i < int32((*PragmaVtab)(unsafe.Pointer(pTab)).FiHidden) { @@ -160075,7 +160092,7 @@ func pragmaVtabColumn(tls *libc.TLS, pVtabCursor uintptr, ctx uintptr, i int32) } // Pragma virtual table module xRowid method. -func pragmaVtabRowid(tls *libc.TLS, pVtabCursor uintptr, p uintptr) int32 { /* sqlite3.c:133096:12: */ +func pragmaVtabRowid(tls *libc.TLS, pVtabCursor uintptr, p uintptr) int32 { /* sqlite3.c:133109:12: */ var pCsr uintptr = pVtabCursor *(*Sqlite_int64)(unsafe.Pointer(p)) = (*PragmaVtabCursor)(unsafe.Pointer(pCsr)).FiRowid return SQLITE_OK @@ -160093,12 +160110,12 @@ var pragmaVtabModule = Sqlite3_module{ // xCreate - create a table FxEof: 0, // xEof FxColumn: 0, // xColumn - read data FxRowid: 0, // xShadowName -} /* sqlite3.c:133103:29 */ +} /* sqlite3.c:133116:29 */ // Check to see if zTabName is really the name of a pragma. If it is, // then register an eponymous virtual table for that pragma and return // a pointer to the Module object for the new virtual table. -func Xsqlite3PragmaVtabRegister(tls *libc.TLS, db uintptr, zName uintptr) uintptr { /* sqlite3.c:133135:23: */ +func Xsqlite3PragmaVtabRegister(tls *libc.TLS, db uintptr, zName uintptr) uintptr { /* sqlite3.c:133148:23: */ var pName uintptr pName = pragmaLocate(tls, zName+uintptr(7)) @@ -160131,7 +160148,7 @@ func Xsqlite3PragmaVtabRegister(tls *libc.TLS, db uintptr, zName uintptr) uintpt // Fill the InitData structure with an error message that indicates // that the database is corrupt. -func corruptSchema(tls *libc.TLS, pData uintptr, azObj uintptr, zExtra uintptr) { /* sqlite3.c:133172:13: */ +func corruptSchema(tls *libc.TLS, pData uintptr, azObj uintptr, zExtra uintptr) { /* sqlite3.c:133185:13: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -160147,7 +160164,7 @@ func corruptSchema(tls *libc.TLS, pData uintptr, azObj uintptr, zExtra uintptr) zExtra)) (*InitData)(unsafe.Pointer(pData)).Frc = SQLITE_ERROR } else if (*Sqlite3)(unsafe.Pointer(db)).Fflags&uint64(SQLITE_WriteSchema) != 0 { - (*InitData)(unsafe.Pointer(pData)).Frc = Xsqlite3CorruptError(tls, 133195) + (*InitData)(unsafe.Pointer(pData)).Frc = Xsqlite3CorruptError(tls, 133208) } else { var z uintptr var zObj uintptr @@ -160161,7 +160178,7 @@ func corruptSchema(tls *libc.TLS, pData uintptr, azObj uintptr, zExtra uintptr) z = Xsqlite3MPrintf(tls, db, ts+19422, libc.VaList(bp+40, z, zExtra)) } *(*uintptr)(unsafe.Pointer((*InitData)(unsafe.Pointer(pData)).FpzErrMsg)) = z - (*InitData)(unsafe.Pointer(pData)).Frc = Xsqlite3CorruptError(tls, 133202) + (*InitData)(unsafe.Pointer(pData)).Frc = Xsqlite3CorruptError(tls, 133215) } } @@ -160169,12 +160186,12 @@ var azAlterType = [3]uintptr{ ts + 19430, ts + 19437, ts + 19449, -} /* sqlite3.c:133183:23 */ +} /* sqlite3.c:133196:23 */ // Check to see if any sibling index (another index on the same table) // of pIndex has the same root page number, and if it does, return true. // This would indicate a corrupt schema. -func Xsqlite3IndexHasDuplicateRootPage(tls *libc.TLS, pIndex uintptr) int32 { /* sqlite3.c:133211:20: */ +func Xsqlite3IndexHasDuplicateRootPage(tls *libc.TLS, pIndex uintptr) int32 { /* sqlite3.c:133224:20: */ var p uintptr for p = (*Table)(unsafe.Pointer((*Index)(unsafe.Pointer(pIndex)).FpTable)).FpIndex; p != 0; p = (*Index)(unsafe.Pointer(p)).FpNext { if (*Index)(unsafe.Pointer(p)).Ftnum == (*Index)(unsafe.Pointer(pIndex)).Ftnum && p != pIndex { @@ -160196,7 +160213,7 @@ func Xsqlite3IndexHasDuplicateRootPage(tls *libc.TLS, pIndex uintptr) int32 { /* // argv[3] = root page number for table or index. 0 for trigger or view. // argv[4] = SQL text for the CREATE statement. // -func Xsqlite3InitCallback(tls *libc.TLS, pInit uintptr, argc int32, argv uintptr, NotUsed uintptr) int32 { /* sqlite3.c:133245:20: */ +func Xsqlite3InitCallback(tls *libc.TLS, pInit uintptr, argc int32, argv uintptr, NotUsed uintptr) int32 { /* sqlite3.c:133258:20: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -160298,7 +160315,7 @@ func Xsqlite3InitCallback(tls *libc.TLS, pInit uintptr, argc int32, argv uintptr // database. iDb==1 should never be used. iDb>=2 is used for // auxiliary databases. Return one of the SQLITE_ error codes to // indicate success or failure. -func Xsqlite3InitOne(tls *libc.TLS, db uintptr, iDb int32, pzErrMsg uintptr, mFlags U32) int32 { /* sqlite3.c:133348:20: */ +func Xsqlite3InitOne(tls *libc.TLS, db uintptr, iDb int32, pzErrMsg uintptr, mFlags U32) int32 { /* sqlite3.c:133361:20: */ bp := tls.Alloc(124) defer tls.Free(124) @@ -160544,7 +160561,7 @@ __20: pDb = (*Sqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32 goto __22 __21: - if !(rc == SQLITE_OK || (*Sqlite3)(unsafe.Pointer(db)).Fflags&uint64(SQLITE_NoSchemaError) != 0) { + if !(rc == SQLITE_OK || (*Sqlite3)(unsafe.Pointer(db)).Fflags&uint64(SQLITE_NoSchemaError) != 0 && rc != SQLITE_NOMEM) { goto __23 } // Hack: If the SQLITE_NoSchemaError flag is set, then consider @@ -160599,7 +160616,7 @@ __25: // // After a database is initialized, the DB_SchemaLoaded bit is set // bit is set in the flags field of the Db structure. -func Xsqlite3Init(tls *libc.TLS, db uintptr, pzErrMsg uintptr) int32 { /* sqlite3.c:133587:20: */ +func Xsqlite3Init(tls *libc.TLS, db uintptr, pzErrMsg uintptr) int32 { /* sqlite3.c:133600:20: */ var i int32 var rc int32 var commit_internal int32 = libc.BoolInt32(!((*Sqlite3)(unsafe.Pointer(db)).FmDbFlags&U32(DBFLAG_SchemaChange) != 0)) @@ -160631,7 +160648,7 @@ func Xsqlite3Init(tls *libc.TLS, db uintptr, pzErrMsg uintptr) int32 { /* sqlite // This routine is a no-op if the database schema is already initialized. // Otherwise, the schema is loaded. An error code is returned. -func Xsqlite3ReadSchema(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:133619:20: */ +func Xsqlite3ReadSchema(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:133632:20: */ var rc int32 = SQLITE_OK var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb @@ -160650,7 +160667,7 @@ func Xsqlite3ReadSchema(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:1336 // Check schema cookies in all databases. If any cookie is out // of date set pParse->rc to SQLITE_SCHEMA. If all schema cookies // make no changes to pParse->rc. -func schemaIsValid(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:133641:13: */ +func schemaIsValid(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:133654:13: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -160703,7 +160720,7 @@ func schemaIsValid(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:133641:13: */ // // If the same database is attached more than once, the first // attached database is returned. -func Xsqlite3SchemaToIndex(tls *libc.TLS, db uintptr, pSchema uintptr) int32 { /* sqlite3.c:133691:20: */ +func Xsqlite3SchemaToIndex(tls *libc.TLS, db uintptr, pSchema uintptr) int32 { /* sqlite3.c:133704:20: */ var i int32 = -32768 // If pSchema is NULL, then return -32768. This happens when code in @@ -160730,7 +160747,7 @@ func Xsqlite3SchemaToIndex(tls *libc.TLS, db uintptr, pSchema uintptr) int32 { / } // Free all memory allocations in the pParse object -func Xsqlite3ParseObjectReset(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:133721:21: */ +func Xsqlite3ParseObjectReset(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:133734:21: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb Xsqlite3DbFree(tls, db, (*Parse)(unsafe.Pointer(pParse)).FaTableLock) @@ -160786,7 +160803,7 @@ func Xsqlite3ParseObjectReset(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:1337 // return value thereafter. Something like this: // // pObj = sqlite3ParserAddCleanup(pParse, destructor, pObj); -func Xsqlite3ParserAddCleanup(tls *libc.TLS, pParse uintptr, xCleanup uintptr, pPtr uintptr) uintptr { /* sqlite3.c:133776:21: */ +func Xsqlite3ParserAddCleanup(tls *libc.TLS, pParse uintptr, xCleanup uintptr, pPtr uintptr) uintptr { /* sqlite3.c:133789:21: */ var pCleanup uintptr = Xsqlite3DbMallocRaw(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, uint64(unsafe.Sizeof(ParseCleanup{}))) if pCleanup != 0 { (*ParseCleanup)(unsafe.Pointer(pCleanup)).FpNext = (*Parse)(unsafe.Pointer(pParse)).FpCleanup @@ -160809,7 +160826,7 @@ func Xsqlite3ParserAddCleanup(tls *libc.TLS, pParse uintptr, xCleanup uintptr, p // // Caution: Do not confuse this routine with sqlite3ParseObjectInit() which // is generated by Lemon. -func Xsqlite3ParseObjectInit(tls *libc.TLS, pParse uintptr, db uintptr) { /* sqlite3.c:133806:21: */ +func Xsqlite3ParseObjectInit(tls *libc.TLS, pParse uintptr, db uintptr) { /* sqlite3.c:133819:21: */ libc.Xmemset(tls, pParse+uintptr(uint64(uintptr(0)+8)), 0, uint64(uintptr(0)+216)-uint64(uintptr(0)+8)) libc.Xmemset(tls, pParse+uintptr(uint64(uintptr(0)+272)), 0, uint64(unsafe.Sizeof(Parse{}))-uint64(uintptr(0)+272)) @@ -160822,7 +160839,7 @@ func Xsqlite3ParseObjectInit(tls *libc.TLS, pParse uintptr, db uintptr) { /* sql } // Compile the UTF-8 encoded SQL statement zSql into a statement handle. -func sqlite3Prepare(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, prepFlags U32, pReprepare uintptr, ppStmt uintptr, pzTail uintptr) int32 { /* sqlite3.c:133819:12: */ +func sqlite3Prepare(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, prepFlags U32, pReprepare uintptr, ppStmt uintptr, pzTail uintptr) int32 { /* sqlite3.c:133832:12: */ bp := tls.Alloc(424) defer tls.Free(424) @@ -161028,13 +161045,13 @@ end_prepare: return rc } -func sqlite3LockAndPrepare(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, prepFlags U32, pOld uintptr, ppStmt uintptr, pzTail uintptr) int32 { /* sqlite3.c:133962:12: */ +func sqlite3LockAndPrepare(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, prepFlags U32, pOld uintptr, ppStmt uintptr, pzTail uintptr) int32 { /* sqlite3.c:133975:12: */ var rc int32 var cnt int32 = 0 *(*uintptr)(unsafe.Pointer(ppStmt)) = uintptr(0) if !(Xsqlite3SafetyCheckOk(tls, db) != 0) || zSql == uintptr(0) { - return Xsqlite3MisuseError(tls, 133979) + return Xsqlite3MisuseError(tls, 133992) } Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) Xsqlite3BtreeEnterAll(tls, db) @@ -161063,7 +161080,7 @@ func sqlite3LockAndPrepare(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32 // if the statement cannot be recompiled because another connection has // locked the sqlite3_schema table, return SQLITE_LOCKED. If any other error // occurs, return SQLITE_SCHEMA. -func Xsqlite3Reprepare(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:134009:20: */ +func Xsqlite3Reprepare(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:134022:20: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -161102,14 +161119,14 @@ func Xsqlite3Reprepare(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:134009:20: // sqlite3_step(). In the new version, the original SQL text is retained // and the statement is automatically recompiled if an schema change // occurs. -func Xsqlite3_prepare(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, ppStmt uintptr, pzTail uintptr) int32 { /* sqlite3.c:134048:16: */ +func Xsqlite3_prepare(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, ppStmt uintptr, pzTail uintptr) int32 { /* sqlite3.c:134061:16: */ var rc int32 rc = sqlite3LockAndPrepare(tls, db, zSql, nBytes, uint32(0), uintptr(0), ppStmt, pzTail) // VERIFY: F13021 return rc } -func Xsqlite3_prepare_v2(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, ppStmt uintptr, pzTail uintptr) int32 { /* sqlite3.c:134060:16: */ +func Xsqlite3_prepare_v2(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, ppStmt uintptr, pzTail uintptr) int32 { /* sqlite3.c:134073:16: */ var rc int32 // EVIDENCE-OF: R-37923-12173 The sqlite3_prepare_v2() interface works // exactly the same as sqlite3_prepare_v3() with a zero prepFlags @@ -161122,7 +161139,7 @@ func Xsqlite3_prepare_v2(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, return rc } -func Xsqlite3_prepare_v3(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, prepFlags uint32, ppStmt uintptr, pzTail uintptr) int32 { /* sqlite3.c:134078:16: */ +func Xsqlite3_prepare_v3(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, prepFlags uint32, ppStmt uintptr, pzTail uintptr) int32 { /* sqlite3.c:134091:16: */ var rc int32 // EVIDENCE-OF: R-56861-42673 sqlite3_prepare_v3() differs from // sqlite3_prepare_v2() only in having the extra prepFlags parameter, @@ -161139,7 +161156,7 @@ func Xsqlite3_prepare_v3(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, } // Compile the UTF-16 encoded SQL statement zSql into a statement handle. -func sqlite3Prepare16(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, prepFlags U32, ppStmt uintptr, pzTail uintptr) int32 { /* sqlite3.c:134106:12: */ +func sqlite3Prepare16(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, prepFlags U32, ppStmt uintptr, pzTail uintptr) int32 { /* sqlite3.c:134119:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -161152,7 +161169,7 @@ func sqlite3Prepare16(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, pre *(*uintptr)(unsafe.Pointer(ppStmt)) = uintptr(0) if !(Xsqlite3SafetyCheckOk(tls, db) != 0) || zSql == uintptr(0) { - return Xsqlite3MisuseError(tls, 134127) + return Xsqlite3MisuseError(tls, 134140) } if nBytes >= 0 { var sz int32 @@ -161187,21 +161204,21 @@ func sqlite3Prepare16(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, pre // sqlite3_step(). In the new version, the original SQL text is retained // and the statement is automatically recompiled if an schema change // occurs. -func Xsqlite3_prepare16(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, ppStmt uintptr, pzTail uintptr) int32 { /* sqlite3.c:134164:16: */ +func Xsqlite3_prepare16(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, ppStmt uintptr, pzTail uintptr) int32 { /* sqlite3.c:134177:16: */ var rc int32 rc = sqlite3Prepare16(tls, db, zSql, nBytes, uint32(0), ppStmt, pzTail) // VERIFY: F13021 return rc } -func Xsqlite3_prepare16_v2(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, ppStmt uintptr, pzTail uintptr) int32 { /* sqlite3.c:134176:16: */ +func Xsqlite3_prepare16_v2(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, ppStmt uintptr, pzTail uintptr) int32 { /* sqlite3.c:134189:16: */ var rc int32 rc = sqlite3Prepare16(tls, db, zSql, nBytes, uint32(SQLITE_PREPARE_SAVESQL), ppStmt, pzTail) // VERIFY: F13021 return rc } -func Xsqlite3_prepare16_v3(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, prepFlags uint32, ppStmt uintptr, pzTail uintptr) int32 { /* sqlite3.c:134188:16: */ +func Xsqlite3_prepare16_v3(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, prepFlags uint32, ppStmt uintptr, pzTail uintptr) int32 { /* sqlite3.c:134201:16: */ var rc int32 rc = sqlite3Prepare16(tls, db, zSql, nBytes, uint32(SQLITE_PREPARE_SAVESQL)|prepFlags&uint32(SQLITE_PREPARE_MASK), @@ -161235,7 +161252,7 @@ type DistinctCtx1 = struct { F__ccgo_pad1 [2]byte FtabTnct int32 FaddrTnct int32 -} /* sqlite3.c:134229:9 */ +} /* sqlite3.c:134242:9 */ //************* End of prepare.c ******************************************** //************* Begin file select.c ***************************************** @@ -161256,7 +161273,7 @@ type DistinctCtx1 = struct { // An instance of the following object is used to record information about // how to process the DISTINCT keyword, to simplify passing that information // into the selectInnerLoop() routine. -type DistinctCtx = DistinctCtx1 /* sqlite3.c:134229:28 */ +type DistinctCtx = DistinctCtx1 /* sqlite3.c:134242:28 */ // An instance of the following object is used to record information about // the ORDER BY (or GROUP BY) clause of query is being coded. @@ -161286,7 +161303,7 @@ type SortCtx1 = struct { FsortFlags U8 F__ccgo_pad1 [3]byte FpDeferredRowLoad uintptr -} /* sqlite3.c:134255:9 */ +} /* sqlite3.c:134268:9 */ // An instance of the following object is used to record information about // the ORDER BY (or GROUP BY) clause of query is being coded. @@ -161304,19 +161321,19 @@ type SortCtx1 = struct { // When the sorter-reference optimization is used, there is one entry in the // aDefer[] array for each database table that may be read as values are // extracted from the sorter. -type SortCtx = SortCtx1 /* sqlite3.c:134255:24 */ +type SortCtx = SortCtx1 /* sqlite3.c:134268:24 */ type RowLoadInfo1 = struct { FregResult int32 FecelFlags U8 F__ccgo_pad1 [3]byte -} /* sqlite3.c:134255:9 */ +} /* sqlite3.c:134268:9 */ // Delete all the content of a Select structure. Deallocate the structure // itself depending on the value of bFree // // If bFree==1, call sqlite3DbFree() on the p object. // If bFree==0, Leave the first Select object unfreed -func clearSelect(tls *libc.TLS, db uintptr, p uintptr, bFree int32) { /* sqlite3.c:134285:13: */ +func clearSelect(tls *libc.TLS, db uintptr, p uintptr, bFree int32) { /* sqlite3.c:134298:13: */ for p != 0 { var pPrior uintptr = (*Select)(unsafe.Pointer(p)).FpPrior Xsqlite3ExprListDelete(tls, db, (*Select)(unsafe.Pointer(p)).FpEList) @@ -161345,7 +161362,7 @@ func clearSelect(tls *libc.TLS, db uintptr, p uintptr, bFree int32) { /* sqlite3 } // Initialize a SelectDest structure. -func Xsqlite3SelectDestInit(tls *libc.TLS, pDest uintptr, eDest int32, iParm int32) { /* sqlite3.c:134314:21: */ +func Xsqlite3SelectDestInit(tls *libc.TLS, pDest uintptr, eDest int32, iParm int32) { /* sqlite3.c:134327:21: */ (*SelectDest)(unsafe.Pointer(pDest)).FeDest = U8(eDest) (*SelectDest)(unsafe.Pointer(pDest)).FiSDParm = iParm (*SelectDest)(unsafe.Pointer(pDest)).FiSDParm2 = 0 @@ -161356,7 +161373,7 @@ func Xsqlite3SelectDestInit(tls *libc.TLS, pDest uintptr, eDest int32, iParm int // Allocate a new Select structure and return a pointer to that // structure. -func Xsqlite3SelectNew(tls *libc.TLS, pParse uintptr, pEList uintptr, pSrc uintptr, pWhere uintptr, pGroupBy uintptr, pHaving uintptr, pOrderBy uintptr, selFlags U32, pLimit uintptr) uintptr { /* sqlite3.c:134328:23: */ +func Xsqlite3SelectNew(tls *libc.TLS, pParse uintptr, pEList uintptr, pSrc uintptr, pWhere uintptr, pGroupBy uintptr, pHaving uintptr, pOrderBy uintptr, selFlags U32, pLimit uintptr) uintptr { /* sqlite3.c:134341:23: */ bp := tls.Alloc(128) defer tls.Free(128) @@ -161406,14 +161423,14 @@ func Xsqlite3SelectNew(tls *libc.TLS, pParse uintptr, pEList uintptr, pSrc uintp } // Delete the given Select structure and all of its substructures. -func Xsqlite3SelectDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:134386:21: */ +func Xsqlite3SelectDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:134399:21: */ if p != 0 { clearSelect(tls, db, p, 1) } } // Return a pointer to the right-most SELECT statement in a compound. -func findRightmost(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:134393:15: */ +func findRightmost(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:134406:15: */ for (*Select)(unsafe.Pointer(p)).FpNext != 0 { p = (*Select)(unsafe.Pointer(p)).FpNext } @@ -161435,7 +161452,7 @@ func findRightmost(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:134393:15: * // // If an illegal or unsupported join type is seen, then still return // a join type, but put an error in the pParse structure. -func Xsqlite3JoinType(tls *libc.TLS, pParse uintptr, pA uintptr, pB uintptr, pC uintptr) int32 { /* sqlite3.c:134415:20: */ +func Xsqlite3JoinType(tls *libc.TLS, pParse uintptr, pA uintptr, pB uintptr, pC uintptr) int32 { /* sqlite3.c:134428:20: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -161489,7 +161506,7 @@ func Xsqlite3JoinType(tls *libc.TLS, pParse uintptr, pA uintptr, pB uintptr, pC return jointype } -var zKeyText = *(*[34]int8)(unsafe.Pointer(ts + 19751)) /* sqlite3.c:134420:21 */ +var zKeyText = *(*[34]int8)(unsafe.Pointer(ts + 19751)) /* sqlite3.c:134433:21 */ var aKeyword = [7]struct { Fi U8 FnChar U8 @@ -161502,11 +161519,11 @@ var aKeyword = [7]struct { /* full */ {Fi: U8(19), FnChar: U8(4), Fcode: U8(JT_LEFT | JT_RIGHT | JT_OUTER)}, /* inner */ {Fi: U8(23), FnChar: U8(5), Fcode: U8(JT_INNER)}, /* cross */ {Fi: U8(28), FnChar: U8(5), Fcode: U8(JT_INNER | JT_CROSS)}, -} /* sqlite3.c:134425:5 */ +} /* sqlite3.c:134438:5 */ // Return the index of a column in a table. Return -1 if the column // is not contained in the table. -func Xsqlite3ColumnIndex(tls *libc.TLS, pTab uintptr, zCol uintptr) int32 { /* sqlite3.c:134476:20: */ +func Xsqlite3ColumnIndex(tls *libc.TLS, pTab uintptr, zCol uintptr) int32 { /* sqlite3.c:134489:20: */ var i int32 var h U8 = Xsqlite3StrIHash(tls, zCol) var pCol uintptr @@ -161540,7 +161557,7 @@ __3: // of the matching column and return TRUE. // // If not found, return FALSE. -func tableAndColumnIndex(tls *libc.TLS, pSrc uintptr, N int32, zCol uintptr, piTab uintptr, piCol uintptr, bIgnoreHidden int32) int32 { /* sqlite3.c:134495:12: */ +func tableAndColumnIndex(tls *libc.TLS, pSrc uintptr, N int32, zCol uintptr, piTab uintptr, piCol uintptr, bIgnoreHidden int32) int32 { /* sqlite3.c:134508:12: */ var i int32 // For looping over tables in pSrc var iCol int32 // Index of column matching zCol @@ -161568,7 +161585,7 @@ func tableAndColumnIndex(tls *libc.TLS, pSrc uintptr, N int32, zCol uintptr, piT // where tab1 is the iSrc'th table in SrcList pSrc and tab2 is the // (iSrc+1)'th. Column col1 is column iColLeft of tab1, and col2 is // column iColRight of tab2. -func addWhereTerm(tls *libc.TLS, pParse uintptr, pSrc uintptr, iLeft int32, iColLeft int32, iRight int32, iColRight int32, isOuterJoin int32, ppWhere uintptr) { /* sqlite3.c:134533:13: */ +func addWhereTerm(tls *libc.TLS, pParse uintptr, pSrc uintptr, iLeft int32, iColLeft int32, iRight int32, iColRight int32, isOuterJoin int32, ppWhere uintptr) { /* sqlite3.c:134546:13: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb var pE1 uintptr var pE2 uintptr @@ -161613,7 +161630,7 @@ func addWhereTerm(tls *libc.TLS, pParse uintptr, pSrc uintptr, iLeft int32, iCol // defer the handling of t1.x=5, it will be processed immediately // after the t1 loop and rows with t1.x!=5 will never appear in // the output, which is incorrect. -func Xsqlite3SetJoinExpr(tls *libc.TLS, p uintptr, iTable int32) { /* sqlite3.c:134595:21: */ +func Xsqlite3SetJoinExpr(tls *libc.TLS, p uintptr, iTable int32) { /* sqlite3.c:134608:21: */ for p != 0 { *(*U32)(unsafe.Pointer(p + 4)) |= U32(EP_FromJoin) @@ -161637,7 +161654,7 @@ func Xsqlite3SetJoinExpr(tls *libc.TLS, p uintptr, iTable int32) { /* sqlite3.c: // an ordinary term that omits the EP_FromJoin mark. // // This happens when a LEFT JOIN is simplified into an ordinary JOIN. -func unsetJoinExpr(tls *libc.TLS, p uintptr, iTable int32) { /* sqlite3.c:134621:13: */ +func unsetJoinExpr(tls *libc.TLS, p uintptr, iTable int32) { /* sqlite3.c:134634:13: */ for p != 0 { if (*Expr)(unsafe.Pointer(p)).Fflags&U32(EP_FromJoin) != U32(0) && (iTable < 0 || *(*int32)(unsafe.Pointer(p + 52)) == iTable) { @@ -161672,7 +161689,7 @@ func unsetJoinExpr(tls *libc.TLS, p uintptr, iTable int32) { /* sqlite3.c:134621 // also attached to the left entry. // // This routine returns the number of errors encountered. -func sqliteProcessJoin(tls *libc.TLS, pParse uintptr, p uintptr) int32 { /* sqlite3.c:134658:12: */ +func sqliteProcessJoin(tls *libc.TLS, pParse uintptr, p uintptr) int32 { /* sqlite3.c:134671:12: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -161786,11 +161803,11 @@ __3: // An instance of this object holds information (beyond pParse and pSelect) // needed to load the next result row that is to be added to the sorter. -type RowLoadInfo = RowLoadInfo1 /* sqlite3.c:134750:28 */ +type RowLoadInfo = RowLoadInfo1 /* sqlite3.c:134763:28 */ // This routine does the work of loading query data into an array of // registers so that it can be added to the sorter. -func innerLoopLoadRow(tls *libc.TLS, pParse uintptr, pSelect uintptr, pInfo uintptr) { /* sqlite3.c:134764:13: */ +func innerLoopLoadRow(tls *libc.TLS, pParse uintptr, pSelect uintptr, pInfo uintptr) { /* sqlite3.c:134777:13: */ Xsqlite3ExprCodeExprList(tls, pParse, (*Select)(unsafe.Pointer(pSelect)).FpEList, (*RowLoadInfo)(unsafe.Pointer(pInfo)).FregResult, 0, (*RowLoadInfo)(unsafe.Pointer(pInfo)).FecelFlags) } @@ -161799,7 +161816,7 @@ func innerLoopLoadRow(tls *libc.TLS, pParse uintptr, pSelect uintptr, pInfo uint // added into the sorter. // // Return the register in which the result is stored. -func makeSorterRecord(tls *libc.TLS, pParse uintptr, pSort uintptr, pSelect uintptr, regBase int32, nBase int32) int32 { /* sqlite3.c:134785:12: */ +func makeSorterRecord(tls *libc.TLS, pParse uintptr, pSort uintptr, pSelect uintptr, regBase int32, nBase int32) int32 { /* sqlite3.c:134798:12: */ var nOBSat int32 = (*SortCtx)(unsafe.Pointer(pSort)).FnOBSat var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe var regOut int32 = libc.PreIncInt32(&(*Parse)(unsafe.Pointer(pParse)).FnMem, 1) @@ -161812,7 +161829,7 @@ func makeSorterRecord(tls *libc.TLS, pParse uintptr, pSort uintptr, pSelect uint // Generate code that will push the record in registers regData // through regData+nData-1 onto the sorter. -func pushOntoSorter(tls *libc.TLS, pParse uintptr, pSort uintptr, pSelect uintptr, regData int32, regOrigData int32, nData int32, nPrefixReg int32) { /* sqlite3.c:134806:13: */ +func pushOntoSorter(tls *libc.TLS, pParse uintptr, pSort uintptr, pSelect uintptr, regData int32, regOrigData int32, nData int32, nPrefixReg int32) { /* sqlite3.c:134819:13: */ var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe // Stmt under construction var bSeq int32 = libc.Bool32(int32((*SortCtx)(unsafe.Pointer(pSort)).FsortFlags)&SORTFLAG_UseSorter == 0) var nExpr int32 = (*ExprList)(unsafe.Pointer((*SortCtx)(unsafe.Pointer(pSort)).FpOrderBy)).FnExpr // No. of ORDER BY terms @@ -161955,7 +161972,7 @@ func pushOntoSorter(tls *libc.TLS, pParse uintptr, pSort uintptr, pSelect uintpt } // Add code to implement the OFFSET -func codeOffset(tls *libc.TLS, v uintptr, iOffset int32, iContinue int32) { /* sqlite3.c:134948:13: */ +func codeOffset(tls *libc.TLS, v uintptr, iOffset int32, iContinue int32) { /* sqlite3.c:134961:13: */ if iOffset > 0 { Xsqlite3VdbeAddOp3(tls, v, OP_IfPos, iOffset, iContinue, 1) @@ -162003,7 +162020,7 @@ func codeOffset(tls *libc.TLS, v uintptr, iOffset int32, iContinue int32) { /* s // how many elements there are in the array of registers and (b) the // collation sequences that should be used for the comparisons if // eTnctType is WHERE_DISTINCT_ORDERED. -func codeDistinct(tls *libc.TLS, pParse uintptr, eTnctType int32, iTab int32, addrRepeat int32, pEList uintptr, regElem int32) int32 { /* sqlite3.c:135002:12: */ +func codeDistinct(tls *libc.TLS, pParse uintptr, eTnctType int32, iTab int32, addrRepeat int32, pEList uintptr, regElem int32) int32 { /* sqlite3.c:135015:12: */ var iRet int32 = 0 var nResultCol int32 = (*ExprList)(unsafe.Pointer(pEList)).FnExpr var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe @@ -162084,7 +162101,7 @@ func codeDistinct(tls *libc.TLS, pParse uintptr, eTnctType int32, iTab int32, ad // The ephemeral table is not needed. But we do need register // iVal to be initialized to NULL. So change the OP_OpenEphemeral // into an OP_Null on the iVal register. -func fixDistinctOpenEph(tls *libc.TLS, pParse uintptr, eTnctType int32, iVal int32, iOpenEphAddr int32) { /* sqlite3.c:135086:13: */ +func fixDistinctOpenEph(tls *libc.TLS, pParse uintptr, eTnctType int32, iVal int32, iOpenEphAddr int32) { /* sqlite3.c:135099:13: */ if (*Parse)(unsafe.Pointer(pParse)).FnErr == 0 && (eTnctType == WHERE_DISTINCT_UNIQUE || eTnctType == WHERE_DISTINCT_ORDERED) { var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe @@ -162112,7 +162129,7 @@ func fixDistinctOpenEph(tls *libc.TLS, pParse uintptr, eTnctType int32, iVal int // are evaluated in order to get the data for this row. If srcTab is // zero or more, then data is pulled from srcTab and p->pEList is used only // to get the number of columns and the collation sequence for each column. -func selectInnerLoop(tls *libc.TLS, pParse uintptr, p uintptr, srcTab int32, pSort uintptr, pDistinct uintptr, pDest uintptr, iContinue int32, iBreak int32) { /* sqlite3.c:135208:13: */ +func selectInnerLoop(tls *libc.TLS, pParse uintptr, p uintptr, srcTab int32, pSort uintptr, pDistinct uintptr, pDest uintptr, iContinue int32, iBreak int32) { /* sqlite3.c:135221:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -162468,7 +162485,7 @@ func selectInnerLoop(tls *libc.TLS, pParse uintptr, p uintptr, srcTab int32, pSo // Allocate a KeyInfo object sufficient for an index of N key columns and // X extra columns. -func Xsqlite3KeyInfoAlloc(tls *libc.TLS, db uintptr, N int32, X int32) uintptr { /* sqlite3.c:135602:24: */ +func Xsqlite3KeyInfoAlloc(tls *libc.TLS, db uintptr, N int32, X int32) uintptr { /* sqlite3.c:135615:24: */ var nExtra int32 = int32(uint64(N+X)*(uint64(unsafe.Sizeof(uintptr(0)))+uint64(1)) - uint64(unsafe.Sizeof(uintptr(0)))) var p uintptr = Xsqlite3DbMallocRawNN(tls, db, uint64(unsafe.Sizeof(KeyInfo{}))+uint64(nExtra)) if p != 0 { @@ -162486,7 +162503,7 @@ func Xsqlite3KeyInfoAlloc(tls *libc.TLS, db uintptr, N int32, X int32) uintptr { } // Deallocate a KeyInfo object -func Xsqlite3KeyInfoUnref(tls *libc.TLS, p uintptr) { /* sqlite3.c:135622:21: */ +func Xsqlite3KeyInfoUnref(tls *libc.TLS, p uintptr) { /* sqlite3.c:135635:21: */ if p != 0 { (*KeyInfo)(unsafe.Pointer(p)).FnRef-- @@ -162497,7 +162514,7 @@ func Xsqlite3KeyInfoUnref(tls *libc.TLS, p uintptr) { /* sqlite3.c:135622:21: */ } // Make a new pointer to a KeyInfo object -func Xsqlite3KeyInfoRef(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:135633:24: */ +func Xsqlite3KeyInfoRef(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:135646:24: */ if p != 0 { (*KeyInfo)(unsafe.Pointer(p)).FnRef++ @@ -162517,7 +162534,7 @@ func Xsqlite3KeyInfoRef(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:135633: // Space to hold the KeyInfo structure is obtained from malloc. The calling // function is responsible for seeing that this structure is eventually // freed. -func Xsqlite3KeyInfoFromExprList(tls *libc.TLS, pParse uintptr, pList uintptr, iStart int32, nExtra int32) uintptr { /* sqlite3.c:135665:24: */ +func Xsqlite3KeyInfoFromExprList(tls *libc.TLS, pParse uintptr, pList uintptr, iStart int32, nExtra int32) uintptr { /* sqlite3.c:135678:24: */ var nExpr int32 var pInfo uintptr var pItem uintptr @@ -162551,7 +162568,7 @@ func Xsqlite3KeyInfoFromExprList(tls *libc.TLS, pParse uintptr, pList uintptr, i } // Name of the connection operator, used for error messages. -func Xsqlite3SelectOpName(tls *libc.TLS, id int32) uintptr { /* sqlite3.c:135692:27: */ +func Xsqlite3SelectOpName(tls *libc.TLS, id int32) uintptr { /* sqlite3.c:135705:27: */ var z uintptr switch id { case TK_ALL: @@ -162578,7 +162595,7 @@ func Xsqlite3SelectOpName(tls *libc.TLS, id int32) uintptr { /* sqlite3.c:135692 // // where xxx is one of "DISTINCT", "ORDER BY" or "GROUP BY". Exactly which // is determined by the zUsage argument. -func explainTempTable(tls *libc.TLS, pParse uintptr, zUsage uintptr) { /* sqlite3.c:135714:13: */ +func explainTempTable(tls *libc.TLS, pParse uintptr, zUsage uintptr) { /* sqlite3.c:135727:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -162595,7 +162612,7 @@ func explainTempTable(tls *libc.TLS, pParse uintptr, zUsage uintptr) { /* sqlite // then the results were placed in a sorter. After the loop is terminated // we need to run the sorter and output the results. The following // routine generates the code needed to do that. -func generateSortTail(tls *libc.TLS, pParse uintptr, p uintptr, pSort uintptr, nColumn int32, pDest uintptr) { /* sqlite3.c:135740:13: */ +func generateSortTail(tls *libc.TLS, pParse uintptr, p uintptr, pSort uintptr, nColumn int32, pDest uintptr) { /* sqlite3.c:135753:13: */ var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe // The prepared statement var addrBreak int32 = (*SortCtx)(unsafe.Pointer(pSort)).FlabelDone // Jump here to exit loop var addrContinue int32 = Xsqlite3VdbeMakeLabel(tls, pParse) // Jump here for next cycle @@ -162774,7 +162791,7 @@ func generateSortTail(tls *libc.TLS, pParse uintptr, p uintptr, pSort uintptr, n // // This routine has either 3 or 6 parameters depending on whether or not // the SQLITE_ENABLE_COLUMN_METADATA compile-time option is used. -func columnTypeImpl(tls *libc.TLS, pNC uintptr, pExpr uintptr, pzOrigDb uintptr, pzOrigTab uintptr, pzOrigCol uintptr) uintptr { /* sqlite3.c:135968:19: */ +func columnTypeImpl(tls *libc.TLS, pNC uintptr, pExpr uintptr, pzOrigDb uintptr, pzOrigTab uintptr, pzOrigCol uintptr) uintptr { /* sqlite3.c:135981:19: */ bp := tls.Alloc(136) defer tls.Free(136) @@ -162898,7 +162915,7 @@ func columnTypeImpl(tls *libc.TLS, pNC uintptr, pExpr uintptr, pzOrigDb uintptr, // Generate code that will tell the VDBE the declaration types of columns // in the result set. -func generateColumnTypes(tls *libc.TLS, pParse uintptr, pTabList uintptr, pEList uintptr) { /* sqlite3.c:136119:13: */ +func generateColumnTypes(tls *libc.TLS, pParse uintptr, pTabList uintptr, pEList uintptr) { /* sqlite3.c:136132:13: */ bp := tls.Alloc(80) defer tls.Free(80) @@ -162955,7 +162972,7 @@ func generateColumnTypes(tls *libc.TLS, pParse uintptr, pTabList uintptr, pEList // full=ON, short=ANY: If the result refers directly to a table column, // then the result column name with the table name // prefix, ex: TABLE.COLUMN. Otherwise use zSpan. -func Xsqlite3GenerateColumnNames(tls *libc.TLS, pParse uintptr, pSelect uintptr) { /* sqlite3.c:136186:21: */ +func Xsqlite3GenerateColumnNames(tls *libc.TLS, pParse uintptr, pSelect uintptr) { /* sqlite3.c:136199:21: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -163055,7 +163072,7 @@ func Xsqlite3GenerateColumnNames(tls *libc.TLS, pParse uintptr, pSelect uintptr) // when modifying this routine to avoid breaking legacy. // // See Also: sqlite3GenerateColumnNames() -func Xsqlite3ColumnsFromExprList(tls *libc.TLS, pParse uintptr, pEList uintptr, pnCol uintptr, paCol uintptr) int32 { /* sqlite3.c:136279:20: */ +func Xsqlite3ColumnsFromExprList(tls *libc.TLS, pParse uintptr, pEList uintptr, pnCol uintptr, paCol uintptr) int32 { /* sqlite3.c:136292:20: */ bp := tls.Alloc(60) defer tls.Free(60) @@ -163187,7 +163204,7 @@ __3: // // This routine requires that all identifiers in the SELECT // statement be resolved. -func Xsqlite3SelectAddColumnTypeAndCollation(tls *libc.TLS, pParse uintptr, pTab uintptr, pSelect uintptr, aff int8) { /* sqlite3.c:136386:21: */ +func Xsqlite3SelectAddColumnTypeAndCollation(tls *libc.TLS, pParse uintptr, pTab uintptr, pSelect uintptr, aff int8) { /* sqlite3.c:136399:21: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -163256,7 +163273,7 @@ __3: // Given a SELECT statement, generate a Table structure that describes // the result set of that SELECT. -func Xsqlite3ResultSetOfSelect(tls *libc.TLS, pParse uintptr, pSelect uintptr, aff int8) uintptr { /* sqlite3.c:136441:22: */ +func Xsqlite3ResultSetOfSelect(tls *libc.TLS, pParse uintptr, pSelect uintptr, aff int8) uintptr { /* sqlite3.c:136454:22: */ var pTab uintptr var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb var savedFlags U64 @@ -163291,7 +163308,7 @@ func Xsqlite3ResultSetOfSelect(tls *libc.TLS, pParse uintptr, pSelect uintptr, a // Get a VDBE for the given parser context. Create a new one if necessary. // If an error occurs, return NULL and leave a message in pParse. -func Xsqlite3GetVdbe(tls *libc.TLS, pParse uintptr) uintptr { /* sqlite3.c:136474:21: */ +func Xsqlite3GetVdbe(tls *libc.TLS, pParse uintptr) uintptr { /* sqlite3.c:136487:21: */ if (*Parse)(unsafe.Pointer(pParse)).FpVdbe != 0 { return (*Parse)(unsafe.Pointer(pParse)).FpVdbe } @@ -163323,7 +163340,7 @@ func Xsqlite3GetVdbe(tls *libc.TLS, pParse uintptr) uintptr { /* sqlite3.c:13647 // redefined. The UNION ALL operator uses this property to force // the reuse of the same limit and offset registers across multiple // SELECT statements. -func computeLimitRegisters(tls *libc.TLS, pParse uintptr, p uintptr, iBreak int32) { /* sqlite3.c:136510:13: */ +func computeLimitRegisters(tls *libc.TLS, pParse uintptr, p uintptr, iBreak int32) { /* sqlite3.c:136523:13: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -163380,7 +163397,7 @@ func computeLimitRegisters(tls *libc.TLS, pParse uintptr, p uintptr, iBreak int3 // // The collating sequence for the compound select is taken from the // left-most term of the select that has a collating sequence. -func multiSelectCollSeq(tls *libc.TLS, pParse uintptr, p uintptr, iCol int32) uintptr { /* sqlite3.c:136567:16: */ +func multiSelectCollSeq(tls *libc.TLS, pParse uintptr, p uintptr, iCol int32) uintptr { /* sqlite3.c:136580:16: */ var pRet uintptr if (*Select)(unsafe.Pointer(p)).FpPrior != 0 { pRet = multiSelectCollSeq(tls, pParse, (*Select)(unsafe.Pointer(p)).FpPrior, iCol) @@ -163404,7 +163421,7 @@ func multiSelectCollSeq(tls *libc.TLS, pParse uintptr, p uintptr, iCol int32) ui // Space to hold the KeyInfo structure is obtained from malloc. The calling // function is responsible for ensuring that this structure is eventually // freed. -func multiSelectOrderByKeyInfo(tls *libc.TLS, pParse uintptr, p uintptr, nExtra int32) uintptr { /* sqlite3.c:136593:16: */ +func multiSelectOrderByKeyInfo(tls *libc.TLS, pParse uintptr, p uintptr, nExtra int32) uintptr { /* sqlite3.c:136606:16: */ var pOrderBy uintptr = (*Select)(unsafe.Pointer(p)).FpOrderBy var nOrderBy int32 if pOrderBy != uintptr(0) { @@ -163473,7 +163490,7 @@ func multiSelectOrderByKeyInfo(tls *libc.TLS, pParse uintptr, p uintptr, nExtra // with a positive value, then the first OFFSET outputs are discarded rather // than being sent to pDest. The LIMIT count does not begin until after OFFSET // rows have been skipped. -func generateWithRecursiveQuery(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) { /* sqlite3.c:136659:13: */ +func generateWithRecursiveQuery(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) { /* sqlite3.c:136672:13: */ bp := tls.Alloc(40) defer tls.Free(40) @@ -163714,7 +163731,7 @@ end_of_recursive_query: // clause occurs within scalar expression (ex: "SELECT (VALUES(1),(2),(3))"). // The sqlite3CodeSubselect will have added the LIMIT 1 clause in tht case. // Since the limit is exactly 1, we only need to evalutes the left-most VALUES. -func multiSelectValues(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) int32 { /* sqlite3.c:136835:12: */ +func multiSelectValues(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) int32 { /* sqlite3.c:136848:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -163754,7 +163771,7 @@ func multiSelectValues(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) // Return true if the SELECT statement which is known to be the recursive // part of a recursive CTE still has its anchor terms attached. If the // anchor terms have already been removed, then return false. -func hasAnchor(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:136872:12: */ +func hasAnchor(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:136885:12: */ for p != 0 && (*Select)(unsafe.Pointer(p)).FselFlags&U32(SF_Recursive) != U32(0) { p = (*Select)(unsafe.Pointer(p)).FpPrior } @@ -163790,7 +163807,7 @@ func hasAnchor(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:136872:12: */ // // Notice that because of the way SQLite parses compound SELECTs, the // individual selects always group from left to right. -func multiSelect(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) int32 { /* sqlite3.c:136908:12: */ +func multiSelect(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) int32 { /* sqlite3.c:136921:12: */ bp := tls.Alloc(144) defer tls.Free(144) @@ -164253,7 +164270,7 @@ __44: // Error message for when two or more terms of a compound select have different // size result sets. -func Xsqlite3SelectWrongNumTermsError(tls *libc.TLS, pParse uintptr, p uintptr) { /* sqlite3.c:137264:21: */ +func Xsqlite3SelectWrongNumTermsError(tls *libc.TLS, pParse uintptr, p uintptr) { /* sqlite3.c:137277:21: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -164284,7 +164301,7 @@ func Xsqlite3SelectWrongNumTermsError(tls *libc.TLS, pParse uintptr, p uintptr) // // If the LIMIT found in p->iLimit is reached, jump immediately to // iBreak. -func generateOutputSubroutine(tls *libc.TLS, pParse uintptr, p uintptr, pIn uintptr, pDest uintptr, regReturn int32, regPrev int32, pKeyInfo uintptr, iBreak int32) int32 { /* sqlite3.c:137294:12: */ +func generateOutputSubroutine(tls *libc.TLS, pParse uintptr, p uintptr, pIn uintptr, pDest uintptr, regReturn int32, regPrev int32, pKeyInfo uintptr, iBreak int32) int32 { /* sqlite3.c:137307:12: */ var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe var iContinue int32 var addr int32 @@ -164480,7 +164497,7 @@ func generateOutputSubroutine(tls *libc.TLS, pParse uintptr, p uintptr, pIn uint // actually called using Gosub and they do not Return. EofA and EofB loop // until all data is exhausted then jump to the "end" labe. AltB, AeqB, // and AgtB jump to either L2 or to one of EofA or EofB. -func multiSelectOrderBy(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) int32 { /* sqlite3.c:137502:12: */ +func multiSelectOrderBy(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) int32 { /* sqlite3.c:137515:12: */ bp := tls.Alloc(88) defer tls.Free(88) @@ -164830,14 +164847,14 @@ type SubstContext1 = struct { FisLeftJoin int32 F__ccgo_pad1 [4]byte FpEList uintptr -} /* sqlite3.c:137827:9 */ +} /* sqlite3.c:137840:9 */ // An instance of the SubstContext object describes an substitution edit // to be performed on a parse tree. // // All references to columns in table iTable are to be replaced by corresponding // expressions in pEList. -type SubstContext = SubstContext1 /* sqlite3.c:137833:3 */ +type SubstContext = SubstContext1 /* sqlite3.c:137846:3 */ // Scan through the expression pExpr. Replace every reference to // a column in table number iTable with a copy of the iColumn-th @@ -164850,7 +164867,7 @@ type SubstContext = SubstContext1 /* sqlite3.c:137833:3 */ // FORM clause entry is iTable. This routine makes the necessary // changes to pExpr so that it refers directly to the source table // of the subquery rather the result set of the subquery. -func substExpr(tls *libc.TLS, pSubst uintptr, pExpr uintptr) uintptr { /* sqlite3.c:137852:13: */ +func substExpr(tls *libc.TLS, pSubst uintptr, pExpr uintptr) uintptr { /* sqlite3.c:137865:13: */ bp := tls.Alloc(72) defer tls.Free(72) @@ -164933,7 +164950,7 @@ func substExpr(tls *libc.TLS, pSubst uintptr, pExpr uintptr) uintptr { /* sqlite return pExpr } -func substExprList(tls *libc.TLS, pSubst uintptr, pList uintptr) { /* sqlite3.c:137937:13: */ +func substExprList(tls *libc.TLS, pSubst uintptr, pList uintptr) { /* sqlite3.c:137950:13: */ var i int32 if pList == uintptr(0) { return @@ -164943,7 +164960,7 @@ func substExprList(tls *libc.TLS, pSubst uintptr, pList uintptr) { /* sqlite3.c: } } -func substSelect(tls *libc.TLS, pSubst uintptr, p uintptr, doPrior int32) { /* sqlite3.c:137947:13: */ +func substSelect(tls *libc.TLS, pSubst uintptr, p uintptr, doPrior int32) { /* sqlite3.c:137960:13: */ var pSrc uintptr var pItem uintptr var i int32 @@ -164986,7 +165003,7 @@ func substSelect(tls *libc.TLS, pSubst uintptr, p uintptr, doPrior int32) { /* s // // This routine scans the entire SELECT statement and recomputes the // pSrcItem->colUsed mask. -func recomputeColumnsUsedExpr(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:137982:12: */ +func recomputeColumnsUsedExpr(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:137995:12: */ var pItem uintptr if int32((*Expr)(unsafe.Pointer(pExpr)).Fop) != TK_COLUMN { return WRC_Continue @@ -165002,7 +165019,7 @@ func recomputeColumnsUsedExpr(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int return WRC_Continue } -func recomputeColumnsUsed(tls *libc.TLS, pSelect uintptr, pSrcItem uintptr) { /* sqlite3.c:137991:13: */ +func recomputeColumnsUsed(tls *libc.TLS, pSelect uintptr, pSrcItem uintptr) { /* sqlite3.c:138004:13: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -165034,7 +165051,7 @@ func recomputeColumnsUsed(tls *libc.TLS, pSelect uintptr, pSrcItem uintptr) { /* // // If pSrc contains any sub-selects, call this routine recursively // on the FROM clause of each such sub-select, with iExcept set to -1. -func srclistRenumberCursors(tls *libc.TLS, pParse uintptr, aCsrMap uintptr, pSrc uintptr, iExcept int32) { /* sqlite3.c:138020:13: */ +func srclistRenumberCursors(tls *libc.TLS, pParse uintptr, aCsrMap uintptr, pSrc uintptr, iExcept int32) { /* sqlite3.c:138033:13: */ var i int32 var pItem uintptr i = 0 @@ -165067,7 +165084,7 @@ __3: } // *piCursor is a cursor number. Change it if it needs to be mapped. -func renumberCursorDoMapping(tls *libc.TLS, pWalker uintptr, piCursor uintptr) { /* sqlite3.c:138046:13: */ +func renumberCursorDoMapping(tls *libc.TLS, pWalker uintptr, piCursor uintptr) { /* sqlite3.c:138059:13: */ var aCsrMap uintptr = *(*uintptr)(unsafe.Pointer(pWalker + 40)) var iCsr int32 = *(*int32)(unsafe.Pointer(piCursor)) if iCsr < *(*int32)(unsafe.Pointer(aCsrMap)) && *(*int32)(unsafe.Pointer(aCsrMap + uintptr(iCsr+1)*4)) > 0 { @@ -165077,7 +165094,7 @@ func renumberCursorDoMapping(tls *libc.TLS, pWalker uintptr, piCursor uintptr) { // Expression walker callback used by renumberCursors() to update // Expr objects to match newly assigned cursor numbers. -func renumberCursorsCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:138058:12: */ +func renumberCursorsCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:138071:12: */ var op int32 = int32((*Expr)(unsafe.Pointer(pExpr)).Fop) if op == TK_COLUMN || op == TK_IF_NULL_ROW { renumberCursorDoMapping(tls, pWalker, pExpr+44) @@ -165104,7 +165121,7 @@ func renumberCursorsCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* // * the array entries for all cursor numbers that do *not* appear in // FROM clauses of the select statement as described above are // initialized to zero. -func renumberCursors(tls *libc.TLS, pParse uintptr, p uintptr, iExcept int32, aCsrMap uintptr) { /* sqlite3.c:138087:13: */ +func renumberCursors(tls *libc.TLS, pParse uintptr, p uintptr, iExcept int32, aCsrMap uintptr) { /* sqlite3.c:138100:13: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -165274,7 +165291,7 @@ func renumberCursors(tls *libc.TLS, pParse uintptr, p uintptr, iExcept int32, aC // // All of the expression analysis must occur on both the outer query and // the subquery before this routine runs. -func flattenSubquery(tls *libc.TLS, pParse uintptr, p uintptr, iFrom int32, isAgg int32) int32 { /* sqlite3.c:138258:12: */ +func flattenSubquery(tls *libc.TLS, pParse uintptr, p uintptr, iFrom int32, isAgg int32) int32 { /* sqlite3.c:138271:12: */ bp := tls.Alloc(80) defer tls.Free(80) @@ -165699,7 +165716,7 @@ __3: // A structure to keep track of all of the column values that are fixed to // a known value due to WHERE clause constraints of the form COLUMN=VALUE. -type WhereConst = WhereConst1 /* sqlite3.c:138682:27 */ +type WhereConst = WhereConst1 /* sqlite3.c:138695:27 */ // Add a new entry to the pConst object. Except, do not add duplicate // pColumn entires. Also, do not add if doing so would not be appropriate. @@ -165707,7 +165724,7 @@ type WhereConst = WhereConst1 /* sqlite3.c:138682:27 */ // The caller guarantees the pColumn is a column and pValue is a constant. // This routine has to do some additional checks before completing the // insert. -func constInsert(tls *libc.TLS, pConst uintptr, pColumn uintptr, pValue uintptr, pExpr uintptr) { /* sqlite3.c:138700:13: */ +func constInsert(tls *libc.TLS, pConst uintptr, pColumn uintptr, pValue uintptr, pExpr uintptr) { /* sqlite3.c:138713:13: */ var i int32 if (*Expr)(unsafe.Pointer(pColumn)).Fflags&U32(EP_FixedCol) != U32(0) { @@ -165749,7 +165766,7 @@ func constInsert(tls *libc.TLS, pConst uintptr, pColumn uintptr, pValue uintptr, // is a constant expression and where the term must be true because it // is part of the AND-connected terms of the expression. For each term // found, add it to the pConst structure. -func findConstInWhere(tls *libc.TLS, pConst uintptr, pExpr uintptr) { /* sqlite3.c:138748:13: */ +func findConstInWhere(tls *libc.TLS, pConst uintptr, pExpr uintptr) { /* sqlite3.c:138761:13: */ var pRight uintptr var pLeft uintptr if pExpr == uintptr(0) { @@ -165784,7 +165801,7 @@ func findConstInWhere(tls *libc.TLS, pConst uintptr, pExpr uintptr) { /* sqlite3 // then overwrite it with the corresponding value. Except, do not do so // if argument bIgnoreAffBlob is non-zero and the affinity of pExpr // is SQLITE_AFF_BLOB. -func propagateConstantExprRewriteOne(tls *libc.TLS, pConst uintptr, pExpr uintptr, bIgnoreAffBlob int32) int32 { /* sqlite3.c:138779:12: */ +func propagateConstantExprRewriteOne(tls *libc.TLS, pConst uintptr, pExpr uintptr, bIgnoreAffBlob int32) int32 { /* sqlite3.c:138792:12: */ var i int32 if *(*U8)(unsafe.Pointer((*WhereConst)(unsafe.Pointer(pConst)).FpOomFault)) != 0 { return WRC_Prune @@ -165838,7 +165855,7 @@ func propagateConstantExprRewriteOne(tls *libc.TLS, pConst uintptr, pExpr uintpt // uses an affinity other than TEXT and one of its immediate // children is a column that matches one of the columns in // pWalker->u.pConst. -func propagateConstantExprRewrite(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:138828:12: */ +func propagateConstantExprRewrite(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:138841:12: */ var pConst uintptr = *(*uintptr)(unsafe.Pointer(pWalker + 40)) if (*WhereConst)(unsafe.Pointer(pConst)).FbHasAffBlob != 0 { @@ -165905,7 +165922,7 @@ func propagateConstantExprRewrite(tls *libc.TLS, pWalker uintptr, pExpr uintptr) // operators ==, <=, <, >=, >, or IS in a way that will cause the correct // type conversions to occur. See logic associated with the bHasAffBlob flag // for details. -func propagateConstants(tls *libc.TLS, pParse uintptr, p uintptr) int32 { /* sqlite3.c:138899:12: */ +func propagateConstants(tls *libc.TLS, pParse uintptr, p uintptr) int32 { /* sqlite3.c:138912:12: */ bp := tls.Alloc(88) defer tls.Free(88) @@ -165958,7 +165975,7 @@ func propagateConstants(tls *libc.TLS, pParse uintptr, p uintptr) int32 { /* sql // // * the sub-query uses only one distinct window frame, and // * that the window frame has a PARTITION BY clase. -func pushDownWindowCheck(tls *libc.TLS, pParse uintptr, pSubq uintptr, pExpr uintptr) int32 { /* sqlite3.c:138950:12: */ +func pushDownWindowCheck(tls *libc.TLS, pParse uintptr, pSubq uintptr, pExpr uintptr) int32 { /* sqlite3.c:138963:12: */ return Xsqlite3ExprIsConstantOrGroupBy(tls, pParse, pExpr, (*Window)(unsafe.Pointer((*Select)(unsafe.Pointer(pSubq)).FpWin)).FpPartition) } @@ -166029,7 +166046,7 @@ func pushDownWindowCheck(tls *libc.TLS, pParse uintptr, pSubq uintptr, pExpr uin // // Return 0 if no changes are made and non-zero if one or more WHERE clause // terms are duplicated into the subquery. -func pushDownWhereTerms(tls *libc.TLS, pParse uintptr, pSubq uintptr, pWhere uintptr, iCursor int32, isLeftJoin int32) int32 { /* sqlite3.c:139028:12: */ +func pushDownWhereTerms(tls *libc.TLS, pParse uintptr, pSubq uintptr, pWhere uintptr, iCursor int32, isLeftJoin int32) int32 { /* sqlite3.c:139041:12: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -166117,7 +166134,7 @@ func pushDownWhereTerms(tls *libc.TLS, pParse uintptr, pSubq uintptr, pWhere uin // This routine must be called after aggregate functions have been // located but before their arguments have been subjected to aggregate // analysis. -func minMaxQuery(tls *libc.TLS, db uintptr, pFunc uintptr, ppMinMax uintptr) U8 { /* sqlite3.c:139132:11: */ +func minMaxQuery(tls *libc.TLS, db uintptr, pFunc uintptr, ppMinMax uintptr) U8 { /* sqlite3.c:139145:11: */ var eRet int32 = WHERE_ORDERBY_NORMAL // Return value var pEList uintptr // Arguments to agg function var zFunc uintptr // Name of aggregate function pFunc @@ -166167,7 +166184,7 @@ func minMaxQuery(tls *libc.TLS, db uintptr, pFunc uintptr, ppMinMax uintptr) U8 // this routine returns NULL when it could have returned a table pointer. // But returning the pointer when NULL should have been returned can // result in incorrect answers and/or crashes. So, when in doubt, return NULL. -func isSimpleCount(tls *libc.TLS, p uintptr, pAggInfo uintptr) uintptr { /* sqlite3.c:139187:14: */ +func isSimpleCount(tls *libc.TLS, p uintptr, pAggInfo uintptr) uintptr { /* sqlite3.c:139200:14: */ var pTab uintptr var pExpr uintptr @@ -166207,7 +166224,7 @@ func isSimpleCount(tls *libc.TLS, p uintptr, pAggInfo uintptr) uintptr { /* sqli // was such a clause and the named index cannot be found, return // SQLITE_ERROR and leave an error in pParse. Otherwise, populate // pFrom->pIndex and return SQLITE_OK. -func Xsqlite3IndexedByLookup(tls *libc.TLS, pParse uintptr, pFrom uintptr) int32 { /* sqlite3.c:139225:20: */ +func Xsqlite3IndexedByLookup(tls *libc.TLS, pParse uintptr, pFrom uintptr) int32 { /* sqlite3.c:139238:20: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -166246,7 +166263,7 @@ func Xsqlite3IndexedByLookup(tls *libc.TLS, pParse uintptr, pFrom uintptr) int32 // This transformation is only needed for EXCEPT, INTERSECT, and UNION. // The UNION ALL operator works fine with multiSelectOrderBy() even when // there are COLLATE terms in the ORDER BY. -func convertCompoundSelectToSubquery(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sqlite3.c:139267:12: */ +func convertCompoundSelectToSubquery(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sqlite3.c:139280:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -166325,7 +166342,7 @@ func convertCompoundSelectToSubquery(tls *libc.TLS, pWalker uintptr, p uintptr) // Check to see if the FROM clause term pFrom has table-valued function // arguments. If it does, leave an error message in pParse and return // non-zero, since pFrom is not allowed to be a table-valued function. -func cannotBeFunction(tls *libc.TLS, pParse uintptr, pFrom uintptr) int32 { /* sqlite3.c:139332:12: */ +func cannotBeFunction(tls *libc.TLS, pParse uintptr, pFrom uintptr) int32 { /* sqlite3.c:139345:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -166344,7 +166361,7 @@ func cannotBeFunction(tls *libc.TLS, pParse uintptr, pFrom uintptr) int32 { /* s // // If a non-NULL value is returned, set *ppContext to point to the With // object that the returned CTE belongs to. -func searchWith(tls *libc.TLS, pWith uintptr, pItem uintptr, ppContext uintptr) uintptr { /* sqlite3.c:139351:19: */ +func searchWith(tls *libc.TLS, pWith uintptr, pItem uintptr, ppContext uintptr) uintptr { /* sqlite3.c:139364:19: */ var zName uintptr = (*SrcItem)(unsafe.Pointer(pItem)).FzName var p uintptr @@ -166379,7 +166396,7 @@ func searchWith(tls *libc.TLS, pWith uintptr, pItem uintptr, ppContext uintptr) // // If bFree is true, do not continue to use the pWith pointer after // calling this routine, Instead, use only the return value. -func Xsqlite3WithPush(tls *libc.TLS, pParse uintptr, pWith uintptr, bFree U8) uintptr { /* sqlite3.c:139390:21: */ +func Xsqlite3WithPush(tls *libc.TLS, pParse uintptr, pWith uintptr, bFree U8) uintptr { /* sqlite3.c:139403:21: */ if pWith != 0 { if bFree != 0 { pWith = Xsqlite3ParserAddCleanup(tls, pParse, @@ -166412,7 +166429,7 @@ func Xsqlite3WithPush(tls *libc.TLS, pParse uintptr, pWith uintptr, bFree U8) ui // Return 0 if no match is found. // Return 1 if a match is found. // Return 2 if an error condition is detected. -func resolveFromTermToCte(tls *libc.TLS, pParse uintptr, pWalker uintptr, pFrom uintptr) int32 { /* sqlite3.c:139421:12: */ +func resolveFromTermToCte(tls *libc.TLS, pParse uintptr, pWalker uintptr, pFrom uintptr) int32 { /* sqlite3.c:139434:12: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -166594,7 +166611,7 @@ func resolveFromTermToCte(tls *libc.TLS, pParse uintptr, pWalker uintptr, pFrom // This function is used as the xSelectCallback2() callback by // sqlite3SelectExpand() when walking a SELECT tree to resolve table // names and other FROM clause elements. -func Xsqlite3SelectPopWith(tls *libc.TLS, pWalker uintptr, p uintptr) { /* sqlite3.c:139605:21: */ +func Xsqlite3SelectPopWith(tls *libc.TLS, pWalker uintptr, p uintptr) { /* sqlite3.c:139618:21: */ var pParse uintptr = (*Walker)(unsafe.Pointer(pWalker)).FpParse if (*Parse)(unsafe.Pointer(pParse)).FpWith != 0 && (*Select)(unsafe.Pointer(p)).FpPrior == uintptr(0) { var pWith uintptr = (*Select)(unsafe.Pointer(findRightmost(tls, p))).FpWith @@ -166610,7 +166627,7 @@ func Xsqlite3SelectPopWith(tls *libc.TLS, pWalker uintptr, p uintptr) { /* sqlit // allocates and populates the SrcList_item.pTab object. If successful, // SQLITE_OK is returned. Otherwise, if an OOM error is encountered, // SQLITE_NOMEM. -func Xsqlite3ExpandSubquery(tls *libc.TLS, pParse uintptr, pFrom uintptr) int32 { /* sqlite3.c:139624:20: */ +func Xsqlite3ExpandSubquery(tls *libc.TLS, pParse uintptr, pFrom uintptr) int32 { /* sqlite3.c:139637:20: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -166664,7 +166681,7 @@ func Xsqlite3ExpandSubquery(tls *libc.TLS, pParse uintptr, pFrom uintptr) int32 // If found, expand each "*" to be every column in every table // and TABLE.* to be every column in TABLE. // -func selectExpander(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sqlite3.c:139676:12: */ +func selectExpander(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sqlite3.c:139689:12: */ bp := tls.Alloc(88) defer tls.Free(88) @@ -167013,7 +167030,7 @@ __3: // If anything goes wrong, an error message is written into pParse. // The calling function can detect the problem by looking at pParse->nErr // and/or pParse->db->mallocFailed. -func sqlite3SelectExpand(tls *libc.TLS, pParse uintptr, pSelect uintptr) { /* sqlite3.c:140003:13: */ +func sqlite3SelectExpand(tls *libc.TLS, pParse uintptr, pSelect uintptr) { /* sqlite3.c:140016:13: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -167051,7 +167068,7 @@ func sqlite3SelectExpand(tls *libc.TLS, pParse uintptr, pSelect uintptr) { /* sq // by selectExpander() but the type and collation information was omitted // at that point because identifiers had not yet been resolved. This // routine is called after identifier resolution. -func selectAddSubqueryTypeInfo(tls *libc.TLS, pWalker uintptr, p uintptr) { /* sqlite3.c:140033:13: */ +func selectAddSubqueryTypeInfo(tls *libc.TLS, pWalker uintptr, p uintptr) { /* sqlite3.c:140046:13: */ var pParse uintptr var i int32 var pTabList uintptr @@ -167099,7 +167116,7 @@ __3: // SELECT statement. // // Use this routine after name resolution. -func sqlite3SelectAddTypeInfo(tls *libc.TLS, pParse uintptr, pSelect uintptr) { /* sqlite3.c:140068:13: */ +func sqlite3SelectAddTypeInfo(tls *libc.TLS, pParse uintptr, pSelect uintptr) { /* sqlite3.c:140081:13: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -167128,7 +167145,7 @@ func sqlite3SelectAddTypeInfo(tls *libc.TLS, pParse uintptr, pSelect uintptr) { // * Identifiers in expression are matched to tables. // // This routine acts recursively on all subqueries within the SELECT. -func Xsqlite3SelectPrep(tls *libc.TLS, pParse uintptr, p uintptr, pOuterNC uintptr) { /* sqlite3.c:140092:21: */ +func Xsqlite3SelectPrep(tls *libc.TLS, pParse uintptr, p uintptr, pOuterNC uintptr) { /* sqlite3.c:140105:21: */ if (*Sqlite3)(unsafe.Pointer((*Parse)(unsafe.Pointer(pParse)).Fdb)).FmallocFailed != 0 { return @@ -167153,7 +167170,7 @@ func Xsqlite3SelectPrep(tls *libc.TLS, pParse uintptr, p uintptr, pOuterNC uintp // intermediate results while calculating an aggregate. This // routine generates code that stores NULLs in all of those memory // cells. -func resetAccumulator(tls *libc.TLS, pParse uintptr, pAggInfo uintptr) { /* sqlite3.c:140116:13: */ +func resetAccumulator(tls *libc.TLS, pParse uintptr, pAggInfo uintptr) { /* sqlite3.c:140129:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -167203,7 +167220,7 @@ __3: // Invoke the OP_AggFinalize opcode for every aggregate function // in the AggInfo structure. -func finalizeAggFunctions(tls *libc.TLS, pParse uintptr, pAggInfo uintptr) { /* sqlite3.c:140162:13: */ +func finalizeAggFunctions(tls *libc.TLS, pParse uintptr, pAggInfo uintptr) { /* sqlite3.c:140175:13: */ var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe var i int32 var pF uintptr @@ -167242,7 +167259,7 @@ __3: // in pAggInfo, then only populate the pAggInfo->nAccumulator accumulator // registers if register regAcc contains 0. The caller will take care // of setting and clearing regAcc. -func updateAccumulator(tls *libc.TLS, pParse uintptr, regAcc int32, pAggInfo uintptr, eDistinctType int32) { /* sqlite3.c:140185:13: */ +func updateAccumulator(tls *libc.TLS, pParse uintptr, regAcc int32, pAggInfo uintptr, eDistinctType int32) { /* sqlite3.c:140198:13: */ var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe var i int32 var regHit int32 = 0 @@ -167383,7 +167400,7 @@ __9: // Add a single OP_Explain instruction to the VDBE to explain a simple // count(*) query ("SELECT count(*) FROM pTab"). -func explainSimpleCount(tls *libc.TLS, pParse uintptr, pTab uintptr, pIdx uintptr) { /* sqlite3.c:140287:13: */ +func explainSimpleCount(tls *libc.TLS, pParse uintptr, pTab uintptr, pIdx uintptr) { /* sqlite3.c:140300:13: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -167415,7 +167432,7 @@ func explainSimpleCount(tls *libc.TLS, pParse uintptr, pTab uintptr, pIdx uintpt // sub-expression matches the criteria for being moved to the WHERE // clause. If so, add it to the WHERE clause and replace the sub-expression // within the HAVING expression with a constant "1". -func havingToWhereExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:140316:12: */ +func havingToWhereExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:140329:12: */ if int32((*Expr)(unsafe.Pointer(pExpr)).Fop) != TK_AND { var pS uintptr = *(*uintptr)(unsafe.Pointer(pWalker + 40)) // This routine is called before the HAVING clause of the current @@ -167461,7 +167478,7 @@ func havingToWhereExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { // A term of the HAVING expression is eligible for transfer if it consists // entirely of constants and expressions that are also GROUP BY terms that // use the "BINARY" collation sequence. -func havingToWhere(tls *libc.TLS, pParse uintptr, p uintptr) { /* sqlite3.c:140360:13: */ +func havingToWhere(tls *libc.TLS, pParse uintptr, p uintptr) { /* sqlite3.c:140373:13: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -167479,7 +167496,7 @@ func havingToWhere(tls *libc.TLS, pParse uintptr, p uintptr) { /* sqlite3.c:1403 // Check to see if the pThis entry of pTabList is a self-join of a prior view. // If it is, then return the SrcList_item for the prior view. If it is not, // then return 0. -func isSelfJoinView(tls *libc.TLS, pTabList uintptr, pThis uintptr) uintptr { /* sqlite3.c:140380:16: */ +func isSelfJoinView(tls *libc.TLS, pTabList uintptr, pThis uintptr) uintptr { /* sqlite3.c:140393:16: */ var pItem uintptr if (*Select)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pThis)).FpSelect)).FselFlags&U32(SF_PushDown) != 0 { @@ -167520,7 +167537,7 @@ func isSelfJoinView(tls *libc.TLS, pTabList uintptr, pThis uintptr) uintptr { /* } // Deallocate a single AggInfo object -func agginfoFree(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:140415:13: */ +func agginfoFree(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:140428:13: */ Xsqlite3DbFree(tls, db, (*AggInfo)(unsafe.Pointer(p)).FaCol) Xsqlite3DbFree(tls, db, (*AggInfo)(unsafe.Pointer(p)).FaFunc) Xsqlite3DbFreeNN(tls, db, p) @@ -167537,7 +167554,7 @@ func agginfoFree(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:140415:13: // // This routine does NOT free the Select structure passed in. The // calling function needs to do that. -func Xsqlite3Select(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) int32 { /* sqlite3.c:140523:20: */ +func Xsqlite3Select(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) int32 { /* sqlite3.c:140536:20: */ bp := tls.Alloc(216) defer tls.Free(216) @@ -169134,7 +169151,7 @@ type TabResult1 = struct { FnData U32 Frc int32 F__ccgo_pad1 [4]byte -} /* sqlite3.c:141786:9 */ +} /* sqlite3.c:141799:9 */ //************* End of select.c ********************************************* //************* Begin file table.c ****************************************** @@ -169158,12 +169175,12 @@ type TabResult1 = struct { // This structure is used to pass data from sqlite3_get_table() through // to the callback function is uses to build the result. -type TabResult = TabResult1 /* sqlite3.c:141794:3 */ +type TabResult = TabResult1 /* sqlite3.c:141807:3 */ // This routine is called once for each row in the result table. Its job // is to fill in the TabResult structure appropriately, allocating new // memory as necessary. -func sqlite3_get_table_cb(tls *libc.TLS, pArg uintptr, nCol int32, argv uintptr, colv uintptr) int32 { /* sqlite3.c:141801:12: */ +func sqlite3_get_table_cb(tls *libc.TLS, pArg uintptr, nCol int32, argv uintptr, colv uintptr) int32 { /* sqlite3.c:141814:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -169294,7 +169311,7 @@ malloc_failed: // from malloc(). But the caller cannot free this memory directly. // Instead, the entire table should be passed to sqlite3_free_table() when // the calling procedure is finished using it. -func Xsqlite3_get_table(tls *libc.TLS, db uintptr, zSql uintptr, pazResult uintptr, pnRow uintptr, pnColumn uintptr, pzErrMsg uintptr) int32 { /* sqlite3.c:141875:16: */ +func Xsqlite3_get_table(tls *libc.TLS, db uintptr, zSql uintptr, pazResult uintptr, pnRow uintptr, pnColumn uintptr, pzErrMsg uintptr) int32 { /* sqlite3.c:141888:16: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -169366,7 +169383,7 @@ func Xsqlite3_get_table(tls *libc.TLS, db uintptr, zSql uintptr, pazResult uintp } // This routine frees the space the sqlite3_get_table() malloced. -func Xsqlite3_free_table(tls *libc.TLS, azResult uintptr) { /* sqlite3.c:141944:17: */ +func Xsqlite3_free_table(tls *libc.TLS, azResult uintptr) { /* sqlite3.c:141957:17: */ if azResult != 0 { var i int32 var n int32 @@ -169397,7 +169414,7 @@ func Xsqlite3_free_table(tls *libc.TLS, azResult uintptr) { /* sqlite3.c:141944: // #include "sqliteInt.h" // Delete a linked list of TriggerStep structures. -func Xsqlite3DeleteTriggerStep(tls *libc.TLS, db uintptr, pTriggerStep uintptr) { /* sqlite3.c:141979:21: */ +func Xsqlite3DeleteTriggerStep(tls *libc.TLS, db uintptr, pTriggerStep uintptr) { /* sqlite3.c:141992:21: */ for pTriggerStep != 0 { var pTmp uintptr = pTriggerStep pTriggerStep = (*TriggerStep)(unsafe.Pointer(pTriggerStep)).FpNext @@ -169426,7 +169443,7 @@ func Xsqlite3DeleteTriggerStep(tls *libc.TLS, db uintptr, pTriggerStep uintptr) // To state it another way: This routine returns a list of all triggers // that fire off of pTab. The list will include any TEMP triggers on // pTab as well as the triggers lised in pTab->pTrigger. -func Xsqlite3TriggerList(tls *libc.TLS, pParse uintptr, pTab uintptr) uintptr { /* sqlite3.c:142010:24: */ +func Xsqlite3TriggerList(tls *libc.TLS, pParse uintptr, pTab uintptr) uintptr { /* sqlite3.c:142023:24: */ var pTmpSchema uintptr // Schema of the pTab table var pList uintptr // List of triggers to return var p uintptr // Loop variable for TEMP triggers @@ -169464,7 +169481,7 @@ func Xsqlite3TriggerList(tls *libc.TLS, pParse uintptr, pTab uintptr) uintptr { // in pParse->pNewTrigger. After the trigger actions have been parsed, the // sqlite3FinishTrigger() function is called to complete the trigger // construction process. -func Xsqlite3BeginTrigger(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 uintptr, tr_tm int32, op int32, pColumns uintptr, pTableName uintptr, pWhen uintptr, isTemp int32, noErr int32) { /* sqlite3.c:142066:21: */ +func Xsqlite3BeginTrigger(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 uintptr, tr_tm int32, op int32, pColumns uintptr, pTableName uintptr, pWhen uintptr, isTemp int32, noErr int32) { /* sqlite3.c:142079:21: */ bp := tls.Alloc(136) defer tls.Free(136) @@ -169771,7 +169788,7 @@ __31: // This routine is called after all of the trigger actions have been parsed // in order to complete the process of building the trigger. -func Xsqlite3FinishTrigger(tls *libc.TLS, pParse uintptr, pStepList uintptr, pAll uintptr) { /* sqlite3.c:142273:21: */ +func Xsqlite3FinishTrigger(tls *libc.TLS, pParse uintptr, pStepList uintptr, pAll uintptr) { /* sqlite3.c:142286:21: */ bp := tls.Alloc(152) defer tls.Free(152) @@ -169895,7 +169912,7 @@ triggerfinish_cleanup: // Duplicate a range of text from an SQL statement, then convert all // whitespace characters into ordinary space characters. -func triggerSpanDup(tls *libc.TLS, db uintptr, zStart uintptr, zEnd uintptr) uintptr { /* sqlite3.c:142361:13: */ +func triggerSpanDup(tls *libc.TLS, db uintptr, zStart uintptr, zEnd uintptr) uintptr { /* sqlite3.c:142374:13: */ var z uintptr = Xsqlite3DbSpanDup(tls, db, zStart, zEnd) var i int32 if z != 0 { @@ -169913,7 +169930,7 @@ func triggerSpanDup(tls *libc.TLS, db uintptr, zStart uintptr, zEnd uintptr) uin // // The parser calls this routine when it finds a SELECT statement in // body of a TRIGGER. -func Xsqlite3TriggerSelectStep(tls *libc.TLS, db uintptr, pSelect uintptr, zStart uintptr, zEnd uintptr) uintptr { /* sqlite3.c:142375:28: */ +func Xsqlite3TriggerSelectStep(tls *libc.TLS, db uintptr, pSelect uintptr, zStart uintptr, zEnd uintptr) uintptr { /* sqlite3.c:142388:28: */ var pTriggerStep uintptr = Xsqlite3DbMallocZero(tls, db, uint64(unsafe.Sizeof(TriggerStep{}))) if pTriggerStep == uintptr(0) { Xsqlite3SelectDelete(tls, db, pSelect) @@ -169930,7 +169947,7 @@ func Xsqlite3TriggerSelectStep(tls *libc.TLS, db uintptr, pSelect uintptr, zStar // holds both the TriggerStep object and the TriggerStep.target.z string. // // If an OOM error occurs, NULL is returned and db->mallocFailed is set. -func triggerStepAllocate(tls *libc.TLS, pParse uintptr, op U8, pName uintptr, zStart uintptr, zEnd uintptr) uintptr { /* sqlite3.c:142399:20: */ +func triggerStepAllocate(tls *libc.TLS, pParse uintptr, op U8, pName uintptr, zStart uintptr, zEnd uintptr) uintptr { /* sqlite3.c:142412:20: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb var pTriggerStep uintptr @@ -169957,7 +169974,7 @@ func triggerStepAllocate(tls *libc.TLS, pParse uintptr, op U8, pName uintptr, zS // // The parser calls this routine when it sees an INSERT inside the // body of a trigger. -func Xsqlite3TriggerInsertStep(tls *libc.TLS, pParse uintptr, pTableName uintptr, pColumn uintptr, pSelect uintptr, orconf U8, pUpsert uintptr, zStart uintptr, zEnd uintptr) uintptr { /* sqlite3.c:142432:28: */ +func Xsqlite3TriggerInsertStep(tls *libc.TLS, pParse uintptr, pTableName uintptr, pColumn uintptr, pSelect uintptr, orconf U8, pUpsert uintptr, zStart uintptr, zEnd uintptr) uintptr { /* sqlite3.c:142445:28: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb var pTriggerStep uintptr @@ -169989,7 +170006,7 @@ func Xsqlite3TriggerInsertStep(tls *libc.TLS, pParse uintptr, pTableName uintptr // Construct a trigger step that implements an UPDATE statement and return // a pointer to that trigger step. The parser calls this routine when it // sees an UPDATE statement inside the body of a CREATE TRIGGER. -func Xsqlite3TriggerUpdateStep(tls *libc.TLS, pParse uintptr, pTableName uintptr, pFrom uintptr, pEList uintptr, pWhere uintptr, orconf U8, zStart uintptr, zEnd uintptr) uintptr { /* sqlite3.c:142477:28: */ +func Xsqlite3TriggerUpdateStep(tls *libc.TLS, pParse uintptr, pTableName uintptr, pFrom uintptr, pEList uintptr, pWhere uintptr, orconf U8, zStart uintptr, zEnd uintptr) uintptr { /* sqlite3.c:142490:28: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb var pTriggerStep uintptr @@ -170018,7 +170035,7 @@ func Xsqlite3TriggerUpdateStep(tls *libc.TLS, pParse uintptr, pTableName uintptr // Construct a trigger step that implements a DELETE statement and return // a pointer to that trigger step. The parser calls this routine when it // sees a DELETE statement inside the body of a CREATE TRIGGER. -func Xsqlite3TriggerDeleteStep(tls *libc.TLS, pParse uintptr, pTableName uintptr, pWhere uintptr, zStart uintptr, zEnd uintptr) uintptr { /* sqlite3.c:142517:28: */ +func Xsqlite3TriggerDeleteStep(tls *libc.TLS, pParse uintptr, pTableName uintptr, pWhere uintptr, zStart uintptr, zEnd uintptr) uintptr { /* sqlite3.c:142530:28: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb var pTriggerStep uintptr @@ -170037,7 +170054,7 @@ func Xsqlite3TriggerDeleteStep(tls *libc.TLS, pParse uintptr, pTableName uintptr } // Recursively delete a Trigger structure -func Xsqlite3DeleteTrigger(tls *libc.TLS, db uintptr, pTrigger uintptr) { /* sqlite3.c:142544:21: */ +func Xsqlite3DeleteTrigger(tls *libc.TLS, db uintptr, pTrigger uintptr) { /* sqlite3.c:142557:21: */ if pTrigger == uintptr(0) || (*Trigger)(unsafe.Pointer(pTrigger)).FbReturning != 0 { return } @@ -170057,7 +170074,7 @@ func Xsqlite3DeleteTrigger(tls *libc.TLS, db uintptr, pTrigger uintptr) { /* sql // same job as this routine except it takes a pointer to the trigger // instead of the trigger name. // -func Xsqlite3DropTrigger(tls *libc.TLS, pParse uintptr, pName uintptr, noErr int32) { /* sqlite3.c:142562:21: */ +func Xsqlite3DropTrigger(tls *libc.TLS, pParse uintptr, pName uintptr, noErr int32) { /* sqlite3.c:142575:21: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -170141,12 +170158,12 @@ drop_trigger_cleanup: // Return a pointer to the Table structure for the table that a trigger // is set on. -func tableOfTrigger(tls *libc.TLS, pTrigger uintptr) uintptr { /* sqlite3.c:142604:14: */ +func tableOfTrigger(tls *libc.TLS, pTrigger uintptr) uintptr { /* sqlite3.c:142617:14: */ return Xsqlite3HashFind(tls, (*Trigger)(unsafe.Pointer(pTrigger)).FpTabSchema+8, (*Trigger)(unsafe.Pointer(pTrigger)).Ftable) } // Drop a trigger given a pointer to that trigger. -func Xsqlite3DropTriggerPtr(tls *libc.TLS, pParse uintptr, pTrigger uintptr) { /* sqlite3.c:142612:21: */ +func Xsqlite3DropTriggerPtr(tls *libc.TLS, pParse uintptr, pTrigger uintptr) { /* sqlite3.c:142625:21: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -170187,7 +170204,7 @@ func Xsqlite3DropTriggerPtr(tls *libc.TLS, pParse uintptr, pTrigger uintptr) { / } // Remove a trigger from the hash tables of the sqlite* pointer. -func Xsqlite3UnlinkAndDeleteTrigger(tls *libc.TLS, db uintptr, iDb int32, zName uintptr) { /* sqlite3.c:142650:21: */ +func Xsqlite3UnlinkAndDeleteTrigger(tls *libc.TLS, db uintptr, iDb int32, zName uintptr) { /* sqlite3.c:142663:21: */ var pTrigger uintptr var pHash uintptr @@ -170218,7 +170235,7 @@ func Xsqlite3UnlinkAndDeleteTrigger(tls *libc.TLS, db uintptr, iDb int32, zName // wildcard that matches anything. Likewise if pEList==NULL then // it matches anything so always return true. Return false only // if there is no match. -func checkColumnOverlap(tls *libc.TLS, pIdList uintptr, pEList uintptr) int32 { /* sqlite3.c:142684:12: */ +func checkColumnOverlap(tls *libc.TLS, pIdList uintptr, pEList uintptr) int32 { /* sqlite3.c:142697:12: */ var e int32 if pIdList == uintptr(0) || pEList == uintptr(0) { return 1 @@ -170235,7 +170252,7 @@ func checkColumnOverlap(tls *libc.TLS, pIdList uintptr, pEList uintptr) int32 { // one trigger that must be fired when an operation of type 'op' is // performed on the table, and, if that operation is an UPDATE, if at // least one of the columns in pChanges is being modified. -func Xsqlite3TriggersExist(tls *libc.TLS, pParse uintptr, pTab uintptr, op int32, pChanges uintptr, pMask uintptr) uintptr { /* sqlite3.c:142699:24: */ +func Xsqlite3TriggersExist(tls *libc.TLS, pParse uintptr, pTab uintptr, op int32, pChanges uintptr, pMask uintptr) uintptr { /* sqlite3.c:142712:24: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -170362,7 +170379,7 @@ __17: // referring to a target in another database. An exception is when the // trigger is in TEMP in which case it can refer to any other database it // wants. -func Xsqlite3TriggerStepSrc(tls *libc.TLS, pParse uintptr, pStep uintptr) uintptr { /* sqlite3.c:142773:24: */ +func Xsqlite3TriggerStepSrc(tls *libc.TLS, pParse uintptr, pStep uintptr) uintptr { /* sqlite3.c:142786:24: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb var pSrc uintptr // SrcList to be returned var zName uintptr = Xsqlite3DbStrDup(tls, db, (*TriggerStep)(unsafe.Pointer(pStep)).FzTarget) @@ -170387,7 +170404,7 @@ func Xsqlite3TriggerStepSrc(tls *libc.TLS, pParse uintptr, pStep uintptr) uintpt // Return true if the pExpr term from the RETURNING clause argument // list is of the form "*". Raise an error if the terms if of the // form "table.*". -func isAsteriskTerm(tls *libc.TLS, pParse uintptr, pTerm uintptr) int32 { /* sqlite3.c:142804:12: */ +func isAsteriskTerm(tls *libc.TLS, pParse uintptr, pTerm uintptr) int32 { /* sqlite3.c:142817:12: */ if int32((*Expr)(unsafe.Pointer(pTerm)).Fop) == TK_ASTERISK { return 1 @@ -170408,7 +170425,7 @@ func isAsteriskTerm(tls *libc.TLS, pParse uintptr, pTerm uintptr) int32 { /* sql // // This routine makes a copy of the pList, and at the same time expands // any "*" wildcards to be the complete set of columns from pTab. -func sqlite3ExpandReturning(tls *libc.TLS, pParse uintptr, pList uintptr, pTab uintptr) uintptr { /* sqlite3.c:142824:17: */ +func sqlite3ExpandReturning(tls *libc.TLS, pParse uintptr, pList uintptr, pTab uintptr) uintptr { /* sqlite3.c:142837:17: */ var pNew uintptr = uintptr(0) var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb var i int32 @@ -170449,7 +170466,7 @@ func sqlite3ExpandReturning(tls *libc.TLS, pParse uintptr, pList uintptr, pTab u // Generate code for the RETURNING trigger. Unlike other triggers // that invoke a subprogram in the bytecode, the code for RETURNING // is generated in-line. -func codeReturningTrigger(tls *libc.TLS, pParse uintptr, pTrigger uintptr, pTab uintptr, regIn int32) { /* sqlite3.c:142867:13: */ +func codeReturningTrigger(tls *libc.TLS, pParse uintptr, pTrigger uintptr, pTab uintptr, regIn int32) { /* sqlite3.c:142880:13: */ bp := tls.Alloc(304) defer tls.Free(304) @@ -170517,7 +170534,7 @@ func codeReturningTrigger(tls *libc.TLS, pParse uintptr, pTrigger uintptr, pTab // Generate VDBE code for the statements inside the body of a single // trigger. -func codeTriggerProgram(tls *libc.TLS, pParse uintptr, pStepList uintptr, orconf int32) int32 { /* sqlite3.c:142943:12: */ +func codeTriggerProgram(tls *libc.TLS, pParse uintptr, pStepList uintptr, orconf int32) int32 { /* sqlite3.c:142956:12: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -170604,7 +170621,7 @@ func codeTriggerProgram(tls *libc.TLS, pParse uintptr, pStepList uintptr, orconf // Parse context structure pFrom has just been used to create a sub-vdbe // (trigger program). If an error has occurred, transfer error information // from pFrom to pTo. -func transferParseError(tls *libc.TLS, pTo uintptr, pFrom uintptr) { /* sqlite3.c:143047:13: */ +func transferParseError(tls *libc.TLS, pTo uintptr, pFrom uintptr) { /* sqlite3.c:143060:13: */ if (*Parse)(unsafe.Pointer(pTo)).FnErr == 0 { (*Parse)(unsafe.Pointer(pTo)).FzErrMsg = (*Parse)(unsafe.Pointer(pFrom)).FzErrMsg @@ -170617,7 +170634,7 @@ func transferParseError(tls *libc.TLS, pTo uintptr, pFrom uintptr) { /* sqlite3. // Create and populate a new TriggerPrg object with a sub-program // implementing trigger pTrigger with ON CONFLICT policy orconf. -func codeRowTrigger(tls *libc.TLS, pParse uintptr, pTrigger uintptr, pTab uintptr, orconf int32) uintptr { /* sqlite3.c:143063:19: */ +func codeRowTrigger(tls *libc.TLS, pParse uintptr, pTrigger uintptr, pTab uintptr, orconf int32) uintptr { /* sqlite3.c:143076:19: */ bp := tls.Alloc(472) defer tls.Free(472) @@ -170723,7 +170740,7 @@ func codeRowTrigger(tls *libc.TLS, pParse uintptr, pTrigger uintptr, pTab uintpt // trigger pTrigger with default ON CONFLICT algorithm orconf. If no such // TriggerPrg object exists, a new object is allocated and populated before // being returned. -func getRowTrigger(tls *libc.TLS, pParse uintptr, pTrigger uintptr, pTab uintptr, orconf int32) uintptr { /* sqlite3.c:143177:19: */ +func getRowTrigger(tls *libc.TLS, pParse uintptr, pTrigger uintptr, pTab uintptr, orconf int32) uintptr { /* sqlite3.c:143190:19: */ var pRoot uintptr = func() uintptr { if (*Parse)(unsafe.Pointer(pParse)).FpToplevel != 0 { return (*Parse)(unsafe.Pointer(pParse)).FpToplevel @@ -170752,7 +170769,7 @@ func getRowTrigger(tls *libc.TLS, pParse uintptr, pTrigger uintptr, pTab uintptr // table pTab. The reg, orconf and ignoreJump parameters passed to this // function are the same as those described in the header function for // sqlite3CodeRowTrigger() -func Xsqlite3CodeRowTriggerDirect(tls *libc.TLS, pParse uintptr, p uintptr, pTab uintptr, reg int32, orconf int32, ignoreJump int32) { /* sqlite3.c:143212:21: */ +func Xsqlite3CodeRowTriggerDirect(tls *libc.TLS, pParse uintptr, p uintptr, pTab uintptr, reg int32, orconf int32, ignoreJump int32) { /* sqlite3.c:143225:21: */ var v uintptr = Xsqlite3GetVdbe(tls, pParse) // Main VM var pPrg uintptr pPrg = getRowTrigger(tls, pParse, p, pTab, orconf) @@ -170812,7 +170829,7 @@ func Xsqlite3CodeRowTriggerDirect(tls *libc.TLS, pParse uintptr, p uintptr, pTab // trigger program to use (REPLACE, IGNORE etc.). Parameter ignoreJump // is the instruction that control should jump to if a trigger program // raises an IGNORE exception. -func Xsqlite3CodeRowTrigger(tls *libc.TLS, pParse uintptr, pTrigger uintptr, op int32, pChanges uintptr, tr_tm int32, pTab uintptr, reg int32, orconf int32, ignoreJump int32) { /* sqlite3.c:143284:21: */ +func Xsqlite3CodeRowTrigger(tls *libc.TLS, pParse uintptr, pTrigger uintptr, op int32, pChanges uintptr, tr_tm int32, pTab uintptr, reg int32, orconf int32, ignoreJump int32) { /* sqlite3.c:143297:21: */ var p uintptr // Used to iterate through pTrigger list for p = pTrigger; p != 0; p = (*Trigger)(unsafe.Pointer(p)).FpNext { @@ -170860,7 +170877,7 @@ func Xsqlite3CodeRowTrigger(tls *libc.TLS, pParse uintptr, pTrigger uintptr, op // included in the returned mask if the TRIGGER_BEFORE bit is set in the // tr_tm parameter. Similarly, values accessed by AFTER triggers are only // included in the returned mask if the TRIGGER_AFTER bit is set in tr_tm. -func Xsqlite3TriggerColmask(tls *libc.TLS, pParse uintptr, pTrigger uintptr, pChanges uintptr, isNew int32, tr_tm int32, pTab uintptr, orconf int32) U32 { /* sqlite3.c:143354:20: */ +func Xsqlite3TriggerColmask(tls *libc.TLS, pParse uintptr, pTrigger uintptr, pChanges uintptr, isNew int32, tr_tm int32, pTab uintptr, orconf int32) U32 { /* sqlite3.c:143367:20: */ var op int32 if pChanges != 0 { op = TK_UPDATE @@ -170917,7 +170934,7 @@ func Xsqlite3TriggerColmask(tls *libc.TLS, pParse uintptr, pTrigger uintptr, pCh // (not a virtual table) then the value might have been stored as an // integer. In that case, add an OP_RealAffinity opcode to make sure // it has been converted into REAL. -func Xsqlite3ColumnDefault(tls *libc.TLS, v uintptr, pTab uintptr, i int32, iReg int32) { /* sqlite3.c:143452:21: */ +func Xsqlite3ColumnDefault(tls *libc.TLS, v uintptr, pTab uintptr, i int32, iReg int32) { /* sqlite3.c:143465:21: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -170947,7 +170964,7 @@ func Xsqlite3ColumnDefault(tls *libc.TLS, v uintptr, pTab uintptr, i int32, iReg // aXRef[j] will be non-negative if column j of the original table is // being updated. chngRowid will be true if the rowid of the table is // being updated. -func indexColumnIsBeingUpdated(tls *libc.TLS, pIdx uintptr, iCol int32, aXRef uintptr, chngRowid int32) int32 { /* sqlite3.c:143485:12: */ +func indexColumnIsBeingUpdated(tls *libc.TLS, pIdx uintptr, iCol int32, aXRef uintptr, chngRowid int32) int32 { /* sqlite3.c:143498:12: */ var iIdxCol I16 = *(*I16)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FaiColumn + uintptr(iCol)*2)) // Cannot index rowid if int32(iIdxCol) >= 0 { @@ -170968,7 +170985,7 @@ func indexColumnIsBeingUpdated(tls *libc.TLS, pIdx uintptr, iCol int32, aXRef ui // aXRef[j] will be non-negative if column j of the original table is // being updated. chngRowid will be true if the rowid of the table is // being updated. -func indexWhereClauseMightChange(tls *libc.TLS, pIdx uintptr, aXRef uintptr, chngRowid int32) int32 { /* sqlite3.c:143515:12: */ +func indexWhereClauseMightChange(tls *libc.TLS, pIdx uintptr, aXRef uintptr, chngRowid int32) int32 { /* sqlite3.c:143528:12: */ if (*Index)(unsafe.Pointer(pIdx)).FpPartIdxWhere == uintptr(0) { return 0 } @@ -170980,7 +170997,7 @@ func indexWhereClauseMightChange(tls *libc.TLS, pIdx uintptr, aXRef uintptr, chn // Expr.iColumn set to value (iCol+1). The resolver will modify the // expression to be a TK_COLUMN reading column iCol of the first // table in the source-list (pSrc->a[0]). -func exprRowColumn(tls *libc.TLS, pParse uintptr, iCol int32) uintptr { /* sqlite3.c:143531:13: */ +func exprRowColumn(tls *libc.TLS, pParse uintptr, iCol int32) uintptr { /* sqlite3.c:143544:13: */ var pRet uintptr = Xsqlite3PExpr(tls, pParse, TK_ROW, uintptr(0), uintptr(0)) if pRet != 0 { (*Expr)(unsafe.Pointer(pRet)).FiColumn = YnVar(iCol + 1) @@ -171024,7 +171041,7 @@ func exprRowColumn(tls *libc.TLS, pParse uintptr, iCol int32) uintptr { /* sqlit // records with automatically assigned integer keys For intkey tables, the // rowid value in is used as the integer key, and the // remaining fields make up the table record. -func updateFromSelect(tls *libc.TLS, pParse uintptr, iEph int32, pPk uintptr, pChanges uintptr, pTabList uintptr, pWhere uintptr, pOrderBy uintptr, pLimit uintptr) { /* sqlite3.c:143575:13: */ +func updateFromSelect(tls *libc.TLS, pParse uintptr, iEph int32, pPk uintptr, pChanges uintptr, pTabList uintptr, pWhere uintptr, pOrderBy uintptr, pLimit uintptr) { /* sqlite3.c:143588:13: */ bp := tls.Alloc(40) defer tls.Free(40) @@ -171107,7 +171124,7 @@ func updateFromSelect(tls *libc.TLS, pParse uintptr, iEph int32, pPk uintptr, pC // onError | pChanges | pWhere // \_______________________/ // pTabList -func Xsqlite3Update(tls *libc.TLS, pParse uintptr, pTabList uintptr, pChanges uintptr, pWhere uintptr, onError int32, pOrderBy uintptr, pLimit uintptr, pUpsert uintptr) { /* sqlite3.c:143672:21: */ +func Xsqlite3Update(tls *libc.TLS, pParse uintptr, pTabList uintptr, pChanges uintptr, pWhere uintptr, onError int32, pOrderBy uintptr, pLimit uintptr, pUpsert uintptr) { /* sqlite3.c:143685:21: */ bp := tls.Alloc(108) defer tls.Free(108) @@ -172497,7 +172514,7 @@ update_cleanup: // The "onepass" strategy does not use an ephemeral table. Instead, it // stores the same values (A, B and C above) in a register array and // makes a single invocation of VUpdate. -func updateVirtualTable(tls *libc.TLS, pParse uintptr, pSrc uintptr, pTab uintptr, pChanges uintptr, pRowid uintptr, aXRef uintptr, pWhere uintptr, onError int32) { /* sqlite3.c:144564:13: */ +func updateVirtualTable(tls *libc.TLS, pParse uintptr, pSrc uintptr, pTab uintptr, pChanges uintptr, pRowid uintptr, aXRef uintptr, pWhere uintptr, onError int32) { /* sqlite3.c:144577:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -172670,7 +172687,7 @@ func updateVirtualTable(tls *libc.TLS, pParse uintptr, pSrc uintptr, pTab uintpt // #include "sqliteInt.h" // Free a list of Upsert objects -func upsertDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:144752:29: */ +func upsertDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:144765:29: */ for __ccgo := true; __ccgo; __ccgo = p != 0 { var pNext uintptr = (*Upsert)(unsafe.Pointer(p)).FpNextUpsert Xsqlite3ExprListDelete(tls, db, (*Upsert)(unsafe.Pointer(p)).FpUpsertTarget) @@ -172683,14 +172700,14 @@ func upsertDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:144752:29 } } -func Xsqlite3UpsertDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:144764:21: */ +func Xsqlite3UpsertDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:144777:21: */ if p != 0 { upsertDelete(tls, db, p) } } // Duplicate an Upsert object. -func Xsqlite3UpsertDup(tls *libc.TLS, db uintptr, p uintptr) uintptr { /* sqlite3.c:144772:23: */ +func Xsqlite3UpsertDup(tls *libc.TLS, db uintptr, p uintptr) uintptr { /* sqlite3.c:144785:23: */ if p == uintptr(0) { return uintptr(0) } @@ -172703,7 +172720,7 @@ func Xsqlite3UpsertDup(tls *libc.TLS, db uintptr, p uintptr) uintptr { /* sqlite } // Create a new Upsert object. -func Xsqlite3UpsertNew(tls *libc.TLS, db uintptr, pTarget uintptr, pTargetWhere uintptr, pSet uintptr, pWhere uintptr, pNext uintptr) uintptr { /* sqlite3.c:144786:23: */ +func Xsqlite3UpsertNew(tls *libc.TLS, db uintptr, pTarget uintptr, pTargetWhere uintptr, pSet uintptr, pWhere uintptr, pNext uintptr) uintptr { /* sqlite3.c:144799:23: */ var pNew uintptr pNew = Xsqlite3DbMallocZero(tls, db, uint64(unsafe.Sizeof(Upsert{}))) if pNew == uintptr(0) { @@ -172729,7 +172746,7 @@ func Xsqlite3UpsertNew(tls *libc.TLS, db uintptr, pTarget uintptr, pTargetWhere // // Return SQLITE_OK if everything works, or an error code is something // is wrong. -func Xsqlite3UpsertAnalyzeTarget(tls *libc.TLS, pParse uintptr, pTabList uintptr, pUpsert uintptr) int32 { /* sqlite3.c:144821:20: */ +func Xsqlite3UpsertAnalyzeTarget(tls *libc.TLS, pParse uintptr, pTabList uintptr, pUpsert uintptr) int32 { /* sqlite3.c:144834:20: */ bp := tls.Alloc(232) defer tls.Free(232) @@ -172871,7 +172888,7 @@ __3: // Return true if pUpsert is the last ON CONFLICT clause with a // conflict target, or if pUpsert is followed by another ON CONFLICT // clause that targets the INTEGER PRIMARY KEY. -func Xsqlite3UpsertNextIsIPK(tls *libc.TLS, pUpsert uintptr) int32 { /* sqlite3.c:144948:20: */ +func Xsqlite3UpsertNextIsIPK(tls *libc.TLS, pUpsert uintptr) int32 { /* sqlite3.c:144961:20: */ var pNext uintptr if pUpsert == uintptr(0) { return 0 @@ -172893,7 +172910,7 @@ func Xsqlite3UpsertNextIsIPK(tls *libc.TLS, pUpsert uintptr) int32 { /* sqlite3. // a particular index pIdx, return a pointer to the particular ON CONFLICT // clause that applies to the index. Or, if the index is not subject to // any ON CONFLICT clause, return NULL. -func Xsqlite3UpsertOfIndex(tls *libc.TLS, pUpsert uintptr, pIdx uintptr) uintptr { /* sqlite3.c:144964:23: */ +func Xsqlite3UpsertOfIndex(tls *libc.TLS, pUpsert uintptr, pIdx uintptr) uintptr { /* sqlite3.c:144977:23: */ for pUpsert != 0 && (*Upsert)(unsafe.Pointer(pUpsert)).FpUpsertTarget != uintptr(0) && (*Upsert)(unsafe.Pointer(pUpsert)).FpUpsertIdx != pIdx { @@ -172909,7 +172926,7 @@ func Xsqlite3UpsertOfIndex(tls *libc.TLS, pUpsert uintptr, pIdx uintptr) uintptr // currently points to the conflicting table row. Otherwise, if pIdx // is not NULL, then pIdx is the constraint that failed and iCur is a // cursor points to the conflicting row. -func Xsqlite3UpsertDoUpdate(tls *libc.TLS, pParse uintptr, pUpsert uintptr, pTab uintptr, pIdx uintptr, iCur int32) { /* sqlite3.c:144984:21: */ +func Xsqlite3UpsertDoUpdate(tls *libc.TLS, pParse uintptr, pUpsert uintptr, pTab uintptr, pIdx uintptr, iCur int32) { /* sqlite3.c:144997:21: */ var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb var pSrc uintptr // FROM clause for the UPDATE @@ -172989,7 +173006,7 @@ func Xsqlite3UpsertDoUpdate(tls *libc.TLS, pParse uintptr, pUpsert uintptr, pTab // // The execSqlF() routine does the same thing, except it accepts // a format string as its third argument -func execSql(tls *libc.TLS, db uintptr, pzErrMsg uintptr, zSql uintptr) int32 { /* sqlite3.c:145081:12: */ +func execSql(tls *libc.TLS, db uintptr, pzErrMsg uintptr, zSql uintptr) int32 { /* sqlite3.c:145094:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -173029,7 +173046,7 @@ func execSql(tls *libc.TLS, db uintptr, pzErrMsg uintptr, zSql uintptr) int32 { return rc } -func execSqlF(tls *libc.TLS, db uintptr, pzErrMsg uintptr, zSql uintptr, va uintptr) int32 { /* sqlite3.c:145111:12: */ +func execSqlF(tls *libc.TLS, db uintptr, pzErrMsg uintptr, zSql uintptr, va uintptr) int32 { /* sqlite3.c:145124:12: */ var z uintptr var ap Va_list _ = ap @@ -173073,7 +173090,7 @@ func execSqlF(tls *libc.TLS, db uintptr, pzErrMsg uintptr, zSql uintptr, va uint // And a power loss in between deleting the original and renaming the // transient would cause the database file to appear to be deleted // following reboot. -func Xsqlite3Vacuum(tls *libc.TLS, pParse uintptr, pNm uintptr, pInto uintptr) { /* sqlite3.c:145154:21: */ +func Xsqlite3Vacuum(tls *libc.TLS, pParse uintptr, pNm uintptr, pInto uintptr) { /* sqlite3.c:145167:21: */ bp := tls.Alloc(8) defer tls.Free(8) *(*uintptr)(unsafe.Pointer(bp)) = pNm @@ -173130,7 +173147,7 @@ build_vacuum_end: } // This routine implements the OP_Vacuum opcode of the VDBE. -func Xsqlite3RunVacuum(tls *libc.TLS, pzErrMsg uintptr, db uintptr, iDb int32, pOut uintptr) int32 { /* sqlite3.c:145192:36: */ +func Xsqlite3RunVacuum(tls *libc.TLS, pzErrMsg uintptr, db uintptr, iDb int32, pOut uintptr) int32 { /* sqlite3.c:145205:36: */ bp := tls.Alloc(52) defer tls.Free(52) @@ -173468,7 +173485,7 @@ var aCopy = [10]uint8{ uint8(BTREE_TEXT_ENCODING), uint8(0), // Preserve the text encoding uint8(BTREE_USER_VERSION), uint8(0), // Preserve the user version uint8(BTREE_APPLICATION_ID), uint8(0), // Preserve the application id -} /* sqlite3.c:145385:32 */ +} /* sqlite3.c:145398:32 */ // Construct and install a Module object for a virtual table. When this // routine is called, it is guaranteed that all appropriate locks are held @@ -173476,7 +173493,7 @@ var aCopy = [10]uint8{ // // 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 Xsqlite3VtabCreateModule(tls *libc.TLS, db uintptr, zName uintptr, pModule uintptr, pAux uintptr, xDestroy uintptr) uintptr { /* sqlite3.c:145497:23: */ +func Xsqlite3VtabCreateModule(tls *libc.TLS, db uintptr, zName uintptr, pModule uintptr, pAux uintptr, xDestroy uintptr) uintptr { /* sqlite3.c:145510:23: */ var pMod uintptr var pDel uintptr var zCopy uintptr @@ -173516,7 +173533,7 @@ func Xsqlite3VtabCreateModule(tls *libc.TLS, db uintptr, zName uintptr, pModule // The actual function that does the work of creating a new module. // 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) int32 { /* sqlite3.c:145545:12: */ +func createModule(tls *libc.TLS, db uintptr, zName uintptr, pModule uintptr, pAux uintptr, xDestroy uintptr) int32 { /* sqlite3.c:145558:12: */ var rc int32 = SQLITE_OK Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) @@ -173530,18 +173547,18 @@ func createModule(tls *libc.TLS, db uintptr, zName uintptr, pModule uintptr, pAu } // External API function used to create a new virtual-table module. -func Xsqlite3_create_module(tls *libc.TLS, db uintptr, zName uintptr, pModule uintptr, pAux uintptr) int32 { /* sqlite3.c:145566:16: */ +func Xsqlite3_create_module(tls *libc.TLS, db uintptr, zName uintptr, pModule uintptr, pAux uintptr) int32 { /* sqlite3.c:145579:16: */ return createModule(tls, db, zName, pModule, pAux, uintptr(0)) } // 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) int32 { /* sqlite3.c:145581:16: */ +func Xsqlite3_create_module_v2(tls *libc.TLS, db uintptr, zName uintptr, pModule uintptr, pAux uintptr, xDestroy uintptr) int32 { /* sqlite3.c:145594:16: */ return createModule(tls, db, zName, pModule, pAux, xDestroy) } // External API to drop all virtual-table modules, except those named // on the azNames list. -func Xsqlite3_drop_modules(tls *libc.TLS, db uintptr, azNames uintptr) int32 { /* sqlite3.c:145598:16: */ +func Xsqlite3_drop_modules(tls *libc.TLS, db uintptr, azNames uintptr) int32 { /* sqlite3.c:145611:16: */ var pThis uintptr var pNext uintptr for pThis = (*Hash)(unsafe.Pointer(db + 568)).Ffirst; pThis != 0; pThis = pNext { @@ -173562,7 +173579,7 @@ func Xsqlite3_drop_modules(tls *libc.TLS, db uintptr, azNames uintptr) int32 { / // Decrement the reference count on a Module object. Destroy the // module when the reference count reaches zero. -func Xsqlite3VtabModuleUnref(tls *libc.TLS, db uintptr, pMod uintptr) { /* sqlite3.c:145620:21: */ +func Xsqlite3VtabModuleUnref(tls *libc.TLS, db uintptr, pMod uintptr) { /* sqlite3.c:145633:21: */ (*Module)(unsafe.Pointer(pMod)).FnRefModule-- if (*Module)(unsafe.Pointer(pMod)).FnRefModule == 0 { @@ -173580,14 +173597,14 @@ func Xsqlite3VtabModuleUnref(tls *libc.TLS, db uintptr, pMod uintptr) { /* sqlit // // If a disconnect is attempted while a virtual table is locked, // the disconnect is deferred until all locks have been removed. -func Xsqlite3VtabLock(tls *libc.TLS, pVTab uintptr) { /* sqlite3.c:145640:21: */ +func Xsqlite3VtabLock(tls *libc.TLS, pVTab uintptr) { /* sqlite3.c:145653:21: */ (*VTable)(unsafe.Pointer(pVTab)).FnRef++ } // pTab is a pointer to a Table structure representing a virtual-table. // Return a pointer to the VTable object used by connection db to access // this virtual-table, if one has been created, or NULL otherwise. -func Xsqlite3GetVTable(tls *libc.TLS, db uintptr, pTab uintptr) uintptr { /* sqlite3.c:145650:23: */ +func Xsqlite3GetVTable(tls *libc.TLS, db uintptr, pTab uintptr) uintptr { /* sqlite3.c:145663:23: */ var pVtab uintptr for pVtab = *(*uintptr)(unsafe.Pointer(pTab + 64 + 16 /* &.p */)); pVtab != 0 && (*VTable)(unsafe.Pointer(pVtab)).Fdb != db; pVtab = (*VTable)(unsafe.Pointer(pVtab)).FpNext { @@ -173597,7 +173614,7 @@ func Xsqlite3GetVTable(tls *libc.TLS, db uintptr, pTab uintptr) uintptr { /* sql // Decrement the ref-count on a virtual table object. When the ref-count // reaches zero, call the xDisconnect() method to delete the object. -func Xsqlite3VtabUnlock(tls *libc.TLS, pVTab uintptr) { /* sqlite3.c:145661:21: */ +func Xsqlite3VtabUnlock(tls *libc.TLS, pVTab uintptr) { /* sqlite3.c:145674:21: */ var db uintptr = (*VTable)(unsafe.Pointer(pVTab)).Fdb (*VTable)(unsafe.Pointer(pVTab)).FnRef-- @@ -173618,7 +173635,7 @@ func Xsqlite3VtabUnlock(tls *libc.TLS, pVTab uintptr) { /* sqlite3.c:145661:21: // database connections to be disconnected at the next opportunity. // Except, if argument db is not NULL, then the entry associated with // connection db is left in the p->u.vtab.p list. -func vtabDisconnectAll(tls *libc.TLS, db uintptr, p uintptr) uintptr { /* sqlite3.c:145687:15: */ +func vtabDisconnectAll(tls *libc.TLS, db uintptr, p uintptr) uintptr { /* sqlite3.c:145700:15: */ var pRet uintptr = uintptr(0) var pVTable uintptr @@ -173655,7 +173672,7 @@ func vtabDisconnectAll(tls *libc.TLS, db uintptr, p uintptr) uintptr { /* sqlite // used when closing database connection db to free all of its VTable // objects without disturbing the rest of the Schema object (which may // be being used by other shared-cache connections). -func Xsqlite3VtabDisconnect(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:145730:21: */ +func Xsqlite3VtabDisconnect(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:145743:21: */ var ppVTab uintptr for ppVTab = p + 64 + 16; *(*uintptr)(unsafe.Pointer(ppVTab)) != 0; ppVTab = *(*uintptr)(unsafe.Pointer(ppVTab)) + 40 { @@ -173686,7 +173703,7 @@ func Xsqlite3VtabDisconnect(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c // // As a result, a sqlite3.pDisconnect cannot be accessed simultaneously // by multiple threads. It is thread-safe. -func Xsqlite3VtabUnlockList(tls *libc.TLS, db uintptr) { /* sqlite3.c:145768:21: */ +func Xsqlite3VtabUnlockList(tls *libc.TLS, db uintptr) { /* sqlite3.c:145781:21: */ var p uintptr = (*Sqlite3)(unsafe.Pointer(db)).FpDisconnect if p != 0 { @@ -173712,7 +173729,7 @@ func Xsqlite3VtabUnlockList(tls *libc.TLS, db uintptr) { /* sqlite3.c:145768:21: // structure being xDisconnected and free). Any other VTable structures // in the list are moved to the sqlite3.pDisconnect list of the associated // database connection. -func Xsqlite3VtabClear(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:145799:21: */ +func Xsqlite3VtabClear(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:145812:21: */ if !(db != 0) || (*Sqlite3)(unsafe.Pointer(db)).FpnBytesFreed == uintptr(0) { vtabDisconnectAll(tls, uintptr(0), p) @@ -173732,7 +173749,7 @@ func Xsqlite3VtabClear(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:1457 // The string is not copied - the pointer is stored. The // string will be freed automatically when the table is // deleted. -func addModuleArgument(tls *libc.TLS, pParse uintptr, pTable uintptr, zArg uintptr) { /* sqlite3.c:145817:13: */ +func addModuleArgument(tls *libc.TLS, pParse uintptr, pTable uintptr, zArg uintptr) { /* sqlite3.c:145830:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -173758,7 +173775,7 @@ func addModuleArgument(tls *libc.TLS, pParse uintptr, pTable uintptr, zArg uintp // The parser calls this routine when it first sees a CREATE VIRTUAL TABLE // statement. The module name has been parsed, but the optional list // of parameters that follow the module name are still pending. -func Xsqlite3VtabBeginParse(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 uintptr, pModuleName uintptr, ifNotExists int32) { /* sqlite3.c:145843:21: */ +func Xsqlite3VtabBeginParse(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 uintptr, pModuleName uintptr, ifNotExists int32) { /* sqlite3.c:145856:21: */ var pTable uintptr // The new virtual table var db uintptr // Database connection @@ -173793,7 +173810,7 @@ func Xsqlite3VtabBeginParse(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName // This routine takes the module argument that has been accumulating // in pParse->zArg[] and appends it to the list of arguments on the // virtual table currently under construction in pParse->pTable. -func addArgumentToVtab(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:145892:13: */ +func addArgumentToVtab(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:145905:13: */ if (*Parse)(unsafe.Pointer(pParse)).FsArg.Fz != 0 && (*Parse)(unsafe.Pointer(pParse)).FpNewTable != 0 { var z uintptr = (*Parse)(unsafe.Pointer(pParse)).FsArg.Fz var n int32 = int32((*Parse)(unsafe.Pointer(pParse)).FsArg.Fn) @@ -173804,7 +173821,7 @@ func addArgumentToVtab(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:145892:13: // The parser calls this routine after the CREATE VIRTUAL TABLE statement // has been completely parsed. -func Xsqlite3VtabFinishParse(tls *libc.TLS, pParse uintptr, pEnd uintptr) { /* sqlite3.c:145905:21: */ +func Xsqlite3VtabFinishParse(tls *libc.TLS, pParse uintptr, pEnd uintptr) { /* sqlite3.c:145918:21: */ bp := tls.Alloc(64) defer tls.Free(64) @@ -173888,7 +173905,7 @@ func Xsqlite3VtabFinishParse(tls *libc.TLS, pParse uintptr, pEnd uintptr) { /* s // The parser calls this routine when it sees the first token // of an argument to the module name in a CREATE VIRTUAL TABLE statement. -func Xsqlite3VtabArgInit(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:145988:21: */ +func Xsqlite3VtabArgInit(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:146001:21: */ addArgumentToVtab(tls, pParse) (*Parse)(unsafe.Pointer(pParse)).FsArg.Fz = uintptr(0) (*Parse)(unsafe.Pointer(pParse)).FsArg.Fn = uint32(0) @@ -173896,7 +173913,7 @@ func Xsqlite3VtabArgInit(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:145988:21 // The parser calls this routine for each token after the first token // in an argument to the module name in a CREATE VIRTUAL TABLE statement. -func Xsqlite3VtabArgExtend(tls *libc.TLS, pParse uintptr, p uintptr) { /* sqlite3.c:145998:21: */ +func Xsqlite3VtabArgExtend(tls *libc.TLS, pParse uintptr, p uintptr) { /* sqlite3.c:146011:21: */ var pArg uintptr = pParse + 368 if (*Token)(unsafe.Pointer(pArg)).Fz == uintptr(0) { (*Token)(unsafe.Pointer(pArg)).Fz = (*Token)(unsafe.Pointer(p)).Fz @@ -173910,7 +173927,7 @@ func Xsqlite3VtabArgExtend(tls *libc.TLS, pParse uintptr, p uintptr) { /* sqlite // Invoke a virtual table constructor (either xCreate or xConnect). The // 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) int32 { /* sqlite3.c:146014:12: */ +func vtabCallConstructor(tls *libc.TLS, db uintptr, pTab uintptr, pMod uintptr, xConstruct uintptr, pzErr uintptr) int32 { /* sqlite3.c:146027:12: */ bp := tls.Alloc(72) defer tls.Free(72) @@ -174046,7 +174063,7 @@ func vtabCallConstructor(tls *libc.TLS, db uintptr, pTab uintptr, pMod uintptr, // and an error left in pParse. // // This call is a no-op if table pTab is not a virtual table. -func Xsqlite3VtabCallConnect(tls *libc.TLS, pParse uintptr, pTab uintptr) int32 { /* sqlite3.c:146150:20: */ +func Xsqlite3VtabCallConnect(tls *libc.TLS, pParse uintptr, pTab uintptr) int32 { /* sqlite3.c:146163:20: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -174082,7 +174099,7 @@ func Xsqlite3VtabCallConnect(tls *libc.TLS, pParse uintptr, pTab uintptr) int32 // Grow the db->aVTrans[] array so that there is room for at least one // more v-table. Return SQLITE_NOMEM if a malloc fails, or SQLITE_OK otherwise. -func growVTrans(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:146186:12: */ +func growVTrans(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:146199:12: */ var ARRAY_INCR int32 = 5 // Grow the sqlite3.aVTrans array if required @@ -174102,7 +174119,7 @@ func growVTrans(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:146186:12: */ // Add the virtual table pVTab to the array sqlite3.aVTrans[]. Space should // have already been reserved using growVTrans(). -func addToVTrans(tls *libc.TLS, db uintptr, pVTab uintptr) { /* sqlite3.c:146209:13: */ +func addToVTrans(tls *libc.TLS, db uintptr, pVTab uintptr) { /* sqlite3.c:146222:13: */ // Add pVtab to the end of sqlite3.aVTrans *(*uintptr)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaVTrans + uintptr(libc.PostIncInt32(&(*Sqlite3)(unsafe.Pointer(db)).FnVTrans, 1))*8)) = pVTab Xsqlite3VtabLock(tls, pVTab) @@ -174114,7 +174131,7 @@ func addToVTrans(tls *libc.TLS, db uintptr, pVTab uintptr) { /* sqlite3.c:146209 // If an error occurs, *pzErr is set to point to an English language // description of the error and an SQLITE_XXX error code is returned. // In this case the caller must call sqlite3DbFree(db, ) on *pzErr. -func Xsqlite3VtabCallCreate(tls *libc.TLS, db uintptr, iDb int32, zTab uintptr, pzErr uintptr) int32 { /* sqlite3.c:146223:20: */ +func Xsqlite3VtabCallCreate(tls *libc.TLS, db uintptr, iDb int32, zTab uintptr, pzErr uintptr) int32 { /* sqlite3.c:146236:20: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -174154,7 +174171,7 @@ func Xsqlite3VtabCallCreate(tls *libc.TLS, db uintptr, iDb int32, zTab uintptr, // This function is used to set the schema of a virtual table. It is only // valid to call this function from within the xCreate() or xConnect() of a // virtual table module. -func Xsqlite3_declare_vtab(tls *libc.TLS, db uintptr, zCreateTable uintptr) int32 { /* sqlite3.c:146264:16: */ +func Xsqlite3_declare_vtab(tls *libc.TLS, db uintptr, zCreateTable uintptr) int32 { /* sqlite3.c:146277:16: */ bp := tls.Alloc(416) defer tls.Free(416) @@ -174170,12 +174187,13 @@ func Xsqlite3_declare_vtab(tls *libc.TLS, db uintptr, zCreateTable uintptr) int3 if !(pCtx != 0) || (*VtabCtx)(unsafe.Pointer(pCtx)).FbDeclared != 0 { Xsqlite3Error(tls, db, SQLITE_MISUSE) Xsqlite3_mutex_leave(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) - return Xsqlite3MisuseError(tls, 146281) + return Xsqlite3MisuseError(tls, 146294) } pTab = (*VtabCtx)(unsafe.Pointer(pCtx)).FpTab Xsqlite3ParseObjectInit(tls, bp+8, db) (*Parse)(unsafe.Pointer(bp + 8 /* &sParse */)).FeParseMode = U8(PARSE_MODE_DECLARE_VTAB) + (*Parse)(unsafe.Pointer(bp + 8 /* &sParse */)).FdisableTriggers = U8(1) // We should never be able to reach this point while loading the // schema. Nevertheless, defend against that (turn off db->init.busy) // in case a bug arises. @@ -174244,7 +174262,7 @@ func Xsqlite3_declare_vtab(tls *libc.TLS, db uintptr, zCreateTable uintptr) int3 // when a DROP TABLE is mentioned. // // This call is a no-op if zTab is not a virtual table. -func Xsqlite3VtabCallDestroy(tls *libc.TLS, db uintptr, iDb int32, zTab uintptr) int32 { /* sqlite3.c:146357:20: */ +func Xsqlite3VtabCallDestroy(tls *libc.TLS, db uintptr, iDb int32, zTab uintptr) int32 { /* sqlite3.c:146371:20: */ var rc int32 = SQLITE_OK var pTab uintptr @@ -174289,7 +174307,7 @@ func Xsqlite3VtabCallDestroy(tls *libc.TLS, db uintptr, iDb int32, zTab uintptr) // the offset of the method to call in the sqlite3_module structure. // // The array is cleared after invoking the callbacks. -func callFinaliser(tls *libc.TLS, db uintptr, offset int32) { /* sqlite3.c:146401:13: */ +func callFinaliser(tls *libc.TLS, db uintptr, offset int32) { /* sqlite3.c:146415:13: */ var i int32 if (*Sqlite3)(unsafe.Pointer(db)).FaVTrans != 0 { var aVTrans uintptr = (*Sqlite3)(unsafe.Pointer(db)).FaVTrans @@ -174319,7 +174337,7 @@ func callFinaliser(tls *libc.TLS, db uintptr, offset int32) { /* sqlite3.c:14640 // SQLITE_OK if all xSync operations are successful. // // If an error message is available, leave it in p->zErrMsg. -func Xsqlite3VtabSync(tls *libc.TLS, db uintptr, p uintptr) int32 { /* sqlite3.c:146429:20: */ +func Xsqlite3VtabSync(tls *libc.TLS, db uintptr, p uintptr) int32 { /* sqlite3.c:146443:20: */ var i int32 var rc int32 = SQLITE_OK var aVTrans uintptr = (*Sqlite3)(unsafe.Pointer(db)).FaVTrans @@ -174341,14 +174359,14 @@ func Xsqlite3VtabSync(tls *libc.TLS, db uintptr, p uintptr) int32 { /* sqlite3.c // Invoke the xRollback method of all virtual tables in the // sqlite3.aVTrans array. Then clear the array itself. -func Xsqlite3VtabRollback(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:146451:20: */ +func Xsqlite3VtabRollback(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:146465:20: */ callFinaliser(tls, db, int32(uintptr(0)+136)) return SQLITE_OK } // Invoke the xCommit method of all virtual tables in the // sqlite3.aVTrans array. Then clear the array itself. -func Xsqlite3VtabCommit(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:146460:20: */ +func Xsqlite3VtabCommit(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:146474:20: */ callFinaliser(tls, db, int32(uintptr(0)+128)) return SQLITE_OK } @@ -174359,7 +174377,7 @@ func Xsqlite3VtabCommit(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:146460:2 // // If the xBegin call is successful, place the sqlite3_vtab pointer // in the sqlite3.aVTrans array. -func Xsqlite3VtabBegin(tls *libc.TLS, db uintptr, pVTab uintptr) int32 { /* sqlite3.c:146473:20: */ +func Xsqlite3VtabBegin(tls *libc.TLS, db uintptr, pVTab uintptr) int32 { /* sqlite3.c:146487:20: */ var rc int32 = SQLITE_OK var pModule uintptr @@ -174420,7 +174438,7 @@ func Xsqlite3VtabBegin(tls *libc.TLS, db uintptr, pVTab uintptr) int32 { /* sqli // processing is abandoned and the error returned to the caller of this // function immediately. If all calls to virtual table methods are successful, // SQLITE_OK is returned. -func Xsqlite3VtabSavepoint(tls *libc.TLS, db uintptr, op int32, iSavepoint int32) int32 { /* sqlite3.c:146533:20: */ +func Xsqlite3VtabSavepoint(tls *libc.TLS, db uintptr, op int32, iSavepoint int32) int32 { /* sqlite3.c:146547:20: */ var rc int32 = SQLITE_OK if (*Sqlite3)(unsafe.Pointer(db)).FaVTrans != 0 { @@ -174468,7 +174486,7 @@ func Xsqlite3VtabSavepoint(tls *libc.TLS, db uintptr, op int32, iSavepoint int32 // Return either the pDef argument (indicating no change) or a // new FuncDef structure that is marked as ephemeral using the // SQLITE_FUNC_EPHEM flag. -func Xsqlite3VtabOverloadFunction(tls *libc.TLS, db uintptr, pDef uintptr, nArg int32, pExpr uintptr) uintptr { /* sqlite3.c:146581:24: */ +func Xsqlite3VtabOverloadFunction(tls *libc.TLS, db uintptr, pDef uintptr, nArg int32, pExpr uintptr) uintptr { /* sqlite3.c:146595:24: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -174535,7 +174553,7 @@ func Xsqlite3VtabOverloadFunction(tls *libc.TLS, db uintptr, pDef uintptr, nArg // array so that an OP_VBegin will get generated for it. Add pTab to the // array if it is missing. If pTab is already in the array, this routine // is a no-op. -func Xsqlite3VtabMakeWritable(tls *libc.TLS, pParse uintptr, pTab uintptr) { /* sqlite3.c:146651:21: */ +func Xsqlite3VtabMakeWritable(tls *libc.TLS, pParse uintptr, pTab uintptr) { /* sqlite3.c:146665:21: */ var pToplevel uintptr = func() uintptr { if (*Parse)(unsafe.Pointer(pParse)).FpToplevel != 0 { return (*Parse)(unsafe.Pointer(pParse)).FpToplevel @@ -174574,7 +174592,7 @@ func Xsqlite3VtabMakeWritable(tls *libc.TLS, pParse uintptr, pTab uintptr) { /* // // Any virtual table module for which xConnect and xCreate are the same // method can have an eponymous virtual table instance. -func Xsqlite3VtabEponymousTableInit(tls *libc.TLS, pParse uintptr, pMod uintptr) int32 { /* sqlite3.c:146685:20: */ +func Xsqlite3VtabEponymousTableInit(tls *libc.TLS, pParse uintptr, pMod uintptr) int32 { /* sqlite3.c:146699:20: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -174619,7 +174637,7 @@ func Xsqlite3VtabEponymousTableInit(tls *libc.TLS, pParse uintptr, pMod uintptr) // Erase the eponymous virtual table instance associated with // virtual table module pMod, if it exists. -func Xsqlite3VtabEponymousTableClear(tls *libc.TLS, db uintptr, pMod uintptr) { /* sqlite3.c:146723:21: */ +func Xsqlite3VtabEponymousTableClear(tls *libc.TLS, db uintptr, pMod uintptr) { /* sqlite3.c:146737:21: */ var pTab uintptr = (*Module)(unsafe.Pointer(pMod)).FpEpoTab if pTab != uintptr(0) { // Mark the table as Ephemeral prior to deleting it, so that the @@ -174636,19 +174654,19 @@ func Xsqlite3VtabEponymousTableClear(tls *libc.TLS, db uintptr, pMod uintptr) { // // The results of this routine are undefined unless it is called from // within an xUpdate method. -func Xsqlite3_vtab_on_conflict(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:146742:16: */ +func Xsqlite3_vtab_on_conflict(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:146756:16: */ return int32(aMap[int32((*Sqlite3)(unsafe.Pointer(db)).FvtabOnConflict)-1]) } var aMap = [5]uint8{ uint8(SQLITE_ROLLBACK), uint8(SQLITE_ABORT), uint8(SQLITE_FAIL), uint8(SQLITE_IGNORE), uint8(SQLITE_REPLACE), -} /* sqlite3.c:146743:30 */ +} /* sqlite3.c:146757:30 */ // Call from within the xCreate() or xConnect() methods to provide // the SQLite core with additional information about the behavior // of the virtual table being implemented. -func Xsqlite3_vtab_config(tls *libc.TLS, db uintptr, op int32, va uintptr) int32 { /* sqlite3.c:146760:16: */ +func Xsqlite3_vtab_config(tls *libc.TLS, db uintptr, op int32, va uintptr) int32 { /* sqlite3.c:146774:16: */ var ap Va_list _ = ap var rc int32 = SQLITE_OK @@ -174657,7 +174675,7 @@ func Xsqlite3_vtab_config(tls *libc.TLS, db uintptr, op int32, va uintptr) int32 Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) p = (*Sqlite3)(unsafe.Pointer(db)).FpVtabCtx if !(p != 0) { - rc = Xsqlite3MisuseError(tls, 146771) + rc = Xsqlite3MisuseError(tls, 146785) } else { ap = va @@ -174685,7 +174703,7 @@ func Xsqlite3_vtab_config(tls *libc.TLS, db uintptr, op int32, va uintptr) int32 fallthrough default: { - rc = Xsqlite3MisuseError(tls, 146789) + rc = Xsqlite3MisuseError(tls, 146803) break } @@ -174789,23 +174807,23 @@ type WhereClause1 = struct { // a separate source file for easier editing. // Forward references -type WhereClause = WhereClause1 /* sqlite3.c:146849:28 */ +type WhereClause = WhereClause1 /* sqlite3.c:146863:28 */ type WhereMaskSet1 = struct { FbVarSelect int32 Fn int32 Fix [64]int32 } /* sqlite3.c:14626:9 */ -type WhereMaskSet = WhereMaskSet1 /* sqlite3.c:146850:29 */ +type WhereMaskSet = WhereMaskSet1 /* sqlite3.c:146864:29 */ type WhereOrInfo1 = struct { Fwc WhereClause Findexable Bitmask -} /* sqlite3.c:146851:9 */ +} /* sqlite3.c:146865:9 */ -type WhereOrInfo = WhereOrInfo1 /* sqlite3.c:146851:28 */ -type WhereAndInfo1 = struct{ Fwc WhereClause } /* sqlite3.c:146852:9 */ +type WhereOrInfo = WhereOrInfo1 /* sqlite3.c:146865:28 */ +type WhereAndInfo1 = struct{ Fwc WhereClause } /* sqlite3.c:146866:9 */ -type WhereAndInfo = WhereAndInfo1 /* sqlite3.c:146852:29 */ +type WhereAndInfo = WhereAndInfo1 /* sqlite3.c:146866:29 */ type WhereLevel1 = struct { FiLeftJoin int32 FiTabCur int32 @@ -174837,7 +174855,7 @@ type WhereLevel1 = struct { FnotReady Bitmask } /* sqlite3.c:14626:9 */ -type WhereLevel = WhereLevel1 /* sqlite3.c:146853:27 */ +type WhereLevel = WhereLevel1 /* sqlite3.c:146867:27 */ type WhereLoop1 = struct { Fprereq Bitmask FmaskSelf Bitmask @@ -174866,7 +174884,7 @@ type WhereLoop1 = struct { FaLTermSpace [3]uintptr } /* sqlite3.c:14626:9 */ -type WhereLoop = WhereLoop1 /* sqlite3.c:146854:26 */ +type WhereLoop = WhereLoop1 /* sqlite3.c:146868:26 */ type WherePath1 = struct { FmaskLoop Bitmask FrevLoop Bitmask @@ -174876,9 +174894,9 @@ type WherePath1 = struct { FisOrdered I8 F__ccgo_pad1 [1]byte FaLoop uintptr -} /* sqlite3.c:146855:9 */ +} /* sqlite3.c:146869:9 */ -type WherePath = WherePath1 /* sqlite3.c:146855:26 */ +type WherePath = WherePath1 /* sqlite3.c:146869:26 */ type WhereTerm1 = struct { FpExpr uintptr FpWC uintptr @@ -174900,7 +174918,7 @@ type WhereTerm1 = struct { FprereqAll Bitmask } /* sqlite3.c:14626:9 */ -type WhereTerm = WhereTerm1 /* sqlite3.c:146856:26 */ +type WhereTerm = WhereTerm1 /* sqlite3.c:146870:26 */ type WhereLoopBuilder1 = struct { FpWInfo uintptr FpWC uintptr @@ -174913,9 +174931,9 @@ type WhereLoopBuilder1 = struct { F__ccgo_pad1 [2]byte FiPlanLimit uint32 F__ccgo_pad2 [4]byte -} /* sqlite3.c:146857:9 */ +} /* sqlite3.c:146871:9 */ -type WhereLoopBuilder = WhereLoopBuilder1 /* sqlite3.c:146857:33 */ +type WhereLoopBuilder = WhereLoopBuilder1 /* sqlite3.c:146871:33 */ type WhereScan1 = struct { FpOrigWC uintptr FpWC uintptr @@ -174930,24 +174948,24 @@ type WhereScan1 = struct { FaiCur [11]int32 FaiColumn [11]I16 F__ccgo_pad2 [2]byte -} /* sqlite3.c:146858:9 */ +} /* sqlite3.c:146872:9 */ -type WhereScan = WhereScan1 /* sqlite3.c:146858:26 */ +type WhereScan = WhereScan1 /* sqlite3.c:146872:26 */ type WhereOrCost1 = struct { Fprereq Bitmask FrRun LogEst FnOut LogEst F__ccgo_pad1 [4]byte -} /* sqlite3.c:146857:9 */ +} /* sqlite3.c:146871:9 */ -type WhereOrCost = WhereOrCost1 /* sqlite3.c:146859:28 */ +type WhereOrCost = WhereOrCost1 /* sqlite3.c:146873:28 */ type WhereOrSet1 = struct { Fn U16 F__ccgo_pad1 [6]byte Fa [3]WhereOrCost -} /* sqlite3.c:146857:9 */ +} /* sqlite3.c:146871:9 */ -type WhereOrSet = WhereOrSet1 /* sqlite3.c:146860:27 */ +type WhereOrSet = WhereOrSet1 /* sqlite3.c:146874:27 */ // This object contains information needed to implement a single nested // loop in WHERE clause. @@ -174969,7 +174987,7 @@ type InLoop = struct { FnPrefix int32 FeEndLoopOp U8 F__ccgo_pad1 [3]byte -} /* sqlite3.c:146900:7 */ +} /* sqlite3.c:146914:7 */ // Allowed values for WhereLoopBuider.bldFlags @@ -175017,7 +175035,7 @@ type WhereExprMod1 = struct { // of an index rather than an expression or a virtual column. All // such transformations need to be undone at the end of WHERE clause // processing. -type WhereExprMod = WhereExprMod1 /* sqlite3.c:147262:29 */ +type WhereExprMod = WhereExprMod1 /* sqlite3.c:147276:29 */ // Bitmasks for the operators on WhereTerm objects. These are all // operators that are of interest to the query planner. An @@ -175039,7 +175057,7 @@ type WhereExprMod = WhereExprMod1 /* sqlite3.c:147262:29 */ //************* Continuing where we left off in wherecode.c ***************** // Return the name of the i-th column of the pIdx index. -func explainIndexColumnName(tls *libc.TLS, pIdx uintptr, i int32) uintptr { /* sqlite3.c:147456:19: */ +func explainIndexColumnName(tls *libc.TLS, pIdx uintptr, i int32) uintptr { /* sqlite3.c:147470:19: */ i = int32(*(*I16)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FaiColumn + uintptr(i)*2))) if i == -2 { return ts + 22743 /* "" */ @@ -175056,7 +175074,7 @@ func explainIndexColumnName(tls *libc.TLS, pIdx uintptr, i int32) uintptr { /* s // at a time. This routine adds a new term to the end of the expression. // Terms are separated by AND so add the "AND" text for second and subsequent // terms only. -func explainAppendTerm(tls *libc.TLS, pStr uintptr, pIdx uintptr, nTerm int32, iTerm int32, bAnd int32, zOp uintptr) { /* sqlite3.c:147471:13: */ +func explainAppendTerm(tls *libc.TLS, pStr uintptr, pIdx uintptr, nTerm int32, iTerm int32, bAnd int32, zOp uintptr) { /* sqlite3.c:147485:13: */ var i int32 if bAnd != 0 { @@ -175104,7 +175122,7 @@ func explainAppendTerm(tls *libc.TLS, pStr uintptr, pIdx uintptr, nTerm int32, i // string similar to: // // "a=? AND b>?" -func explainIndexRange(tls *libc.TLS, pStr uintptr, pLoop uintptr) { /* sqlite3.c:147515:13: */ +func explainIndexRange(tls *libc.TLS, pStr uintptr, pLoop uintptr) { /* sqlite3.c:147529:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -175149,7 +175167,7 @@ func explainIndexRange(tls *libc.TLS, pStr uintptr, pLoop uintptr) { /* sqlite3. // // If an OP_Explain opcode is added to the VM, its address is returned. // Otherwise, if no OP_Explain is coded, zero is returned. -func Xsqlite3WhereExplainOneScan(tls *libc.TLS, pParse uintptr, pTabList uintptr, pLevel uintptr, wctrlFlags U16) int32 { /* sqlite3.c:147549:20: */ +func Xsqlite3WhereExplainOneScan(tls *libc.TLS, pParse uintptr, pTabList uintptr, pLevel uintptr, wctrlFlags U16) int32 { /* sqlite3.c:147563:20: */ bp := tls.Alloc(196) defer tls.Free(196) @@ -175250,7 +175268,7 @@ func Xsqlite3WhereExplainOneScan(tls *libc.TLS, pParse uintptr, pTabList uintptr // // If an OP_Explain opcode is added to the VM, its address is returned. // Otherwise, if no OP_Explain is coded, zero is returned. -func Xsqlite3WhereExplainBloomFilter(tls *libc.TLS, pParse uintptr, pWInfo uintptr, pLevel uintptr) int32 { /* sqlite3.c:147661:20: */ +func Xsqlite3WhereExplainBloomFilter(tls *libc.TLS, pParse uintptr, pWInfo uintptr, pLevel uintptr) int32 { /* sqlite3.c:147675:20: */ bp := tls.Alloc(156) defer tls.Free(156) @@ -175333,7 +175351,7 @@ func Xsqlite3WhereExplainBloomFilter(tls *libc.TLS, pParse uintptr, pWInfo uintp // The TERM_LIKECOND marking indicates that the term should be coded inside // a conditional such that is only evaluated on the second pass of a // LIKE-optimization loop, when scanning BLOBs instead of strings. -func disableTerm(tls *libc.TLS, pLevel uintptr, pTerm uintptr) { /* sqlite3.c:147774:13: */ +func disableTerm(tls *libc.TLS, pLevel uintptr, pTerm uintptr) { /* sqlite3.c:147788:13: */ var nLoop int32 = 0 for int32((*WhereTerm)(unsafe.Pointer(pTerm)).FwtFlags)&TERM_CODED == 0 && @@ -175366,7 +175384,7 @@ func disableTerm(tls *libc.TLS, pLevel uintptr, pTerm uintptr) { /* sqlite3.c:14 // // This routine makes its own copy of zAff so that the caller is free // to modify zAff after this routine returns. -func codeApplyAffinity(tls *libc.TLS, pParse uintptr, base int32, n int32, zAff uintptr) { /* sqlite3.c:147812:13: */ +func codeApplyAffinity(tls *libc.TLS, pParse uintptr, base int32, n int32, zAff uintptr) { /* sqlite3.c:147826:13: */ var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe if zAff == uintptr(0) { @@ -175399,7 +175417,7 @@ func codeApplyAffinity(tls *libc.TLS, pParse uintptr, base int32, n int32, zAff // // * the comparison will be performed with no affinity, or // * the affinity change in zAff is guaranteed not to change the value. -func updateRangeAffinityStr(tls *libc.TLS, pRight uintptr, n int32, zAff uintptr) { /* sqlite3.c:147849:13: */ +func updateRangeAffinityStr(tls *libc.TLS, pRight uintptr, n int32, zAff uintptr) { /* sqlite3.c:147863:13: */ var i int32 for i = 0; i < n; i++ { var p uintptr = Xsqlite3VectorFieldSubexpr(tls, pRight, i) @@ -175437,7 +175455,7 @@ func updateRangeAffinityStr(tls *libc.TLS, pRight uintptr, n int32, zAff uintptr // The reduced pX is different from the original (obviously) and thus is // only used for indexing, to improve performance. The original unaltered // IN expression must also be run on each output row for correctness. -func removeUnindexableInClauseTerms(tls *libc.TLS, pParse uintptr, iEq int32, pLoop uintptr, pX uintptr) uintptr { /* sqlite3.c:147895:13: */ +func removeUnindexableInClauseTerms(tls *libc.TLS, pParse uintptr, iEq int32, pLoop uintptr, pX uintptr) uintptr { /* sqlite3.c:147909:13: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb var pNew uintptr pNew = Xsqlite3ExprDup(tls, db, pX, 0) @@ -175512,7 +175530,7 @@ func removeUnindexableInClauseTerms(tls *libc.TLS, pParse uintptr, iEq int32, pL // For a constraint of the form X=expr, the expression is evaluated in // straight-line code. For constraints of the form X IN (...) // this routine sets up a loop that will iterate over all values of X. -func codeEqualityTerm(tls *libc.TLS, pParse uintptr, pTerm uintptr, pLevel uintptr, iEq int32, bRev int32, iTarget int32) int32 { /* sqlite3.c:147984:12: */ +func codeEqualityTerm(tls *libc.TLS, pParse uintptr, pTerm uintptr, pLevel uintptr, iEq int32, bRev int32, iTarget int32) int32 { /* sqlite3.c:147998:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -175705,7 +175723,7 @@ func codeEqualityTerm(tls *libc.TLS, pParse uintptr, pTerm uintptr, pLevel uintp // no conversion should be attempted before using a t2.b value as part of // a key to search the index. Hence the first byte in the returned affinity // string in this example would be set to SQLITE_AFF_BLOB. -func codeAllEqualityTerms(tls *libc.TLS, pParse uintptr, pLevel uintptr, bRev int32, nExtraReg int32, pzAff uintptr) int32 { /* sqlite3.c:148180:12: */ +func codeAllEqualityTerms(tls *libc.TLS, pParse uintptr, pLevel uintptr, bRev int32, nExtraReg int32, pzAff uintptr) int32 { /* sqlite3.c:148194:12: */ var nEq U16 // The number of == or IN constraints to code var nSkip U16 // Number of left-most columns to skip var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe // The vm under construction @@ -175826,7 +175844,7 @@ func codeAllEqualityTerms(tls *libc.TLS, pParse uintptr, pLevel uintptr, bRev in // on. For each table column, if the column is the i'th column of the // index, then the corresponding array entry is set to (i+1). If the column // does not appear in the index at all, the array entry is set to 0. -func codeDeferredSeek(tls *libc.TLS, pWInfo uintptr, pIdx uintptr, iCur int32, iIdxCur int32) { /* sqlite3.c:148558:13: */ +func codeDeferredSeek(tls *libc.TLS, pWInfo uintptr, pIdx uintptr, iCur int32, iIdxCur int32) { /* sqlite3.c:148572:13: */ var pParse uintptr = (*WhereInfo)(unsafe.Pointer(pWInfo)).FpParse // Parse context var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe // Vdbe to generate code within @@ -175867,7 +175885,7 @@ func codeDeferredSeek(tls *libc.TLS, pWInfo uintptr, pIdx uintptr, iCur int32, i // If the expression is not a vector, then nReg must be passed 1. In // this case, generate code to evaluate the expression and leave the // result in register iReg. -func codeExprOrVector(tls *libc.TLS, pParse uintptr, p uintptr, iReg int32, nReg int32) { /* sqlite3.c:148602:13: */ +func codeExprOrVector(tls *libc.TLS, pParse uintptr, p uintptr, iReg int32, nReg int32) { /* sqlite3.c:148616:13: */ if p != 0 && Xsqlite3ExprIsVector(tls, p) != 0 { if (*Expr)(unsafe.Pointer(p)).Fflags&U32(EP_xIsSelect) != U32(0) { @@ -175895,10 +175913,10 @@ func codeExprOrVector(tls *libc.TLS, pParse uintptr, p uintptr, iReg int32, nReg // An instance of the IdxExprTrans object carries information about a // mapping from an expression on table columns into a column in an index // down through the Walker. -type IdxExprTrans = IdxExprTrans1 /* sqlite3.c:148642:3 */ +type IdxExprTrans = IdxExprTrans1 /* sqlite3.c:148656:3 */ // Preserve pExpr on the WhereETrans list of the WhereInfo. -func preserveExpr(tls *libc.TLS, pTrans uintptr, pExpr uintptr) { /* sqlite3.c:148647:13: */ +func preserveExpr(tls *libc.TLS, pTrans uintptr, pExpr uintptr) { /* sqlite3.c:148661:13: */ var pNew uintptr pNew = Xsqlite3DbMallocRaw(tls, (*IdxExprTrans)(unsafe.Pointer(pTrans)).Fdb, uint64(unsafe.Sizeof(WhereExprMod{}))) if pNew == uintptr(0) { @@ -175915,7 +175933,7 @@ func preserveExpr(tls *libc.TLS, pTrans uintptr, pExpr uintptr) { /* sqlite3.c:1 // // If pExpr matches, then transform it into a reference to the index column // that contains the value of pExpr. -func whereIndexExprTransNode(tls *libc.TLS, p uintptr, pExpr uintptr) int32 { /* sqlite3.c:148663:12: */ +func whereIndexExprTransNode(tls *libc.TLS, p uintptr, pExpr uintptr) int32 { /* sqlite3.c:148677:12: */ var pX uintptr = *(*uintptr)(unsafe.Pointer(p + 40)) if Xsqlite3ExprCompare(tls, uintptr(0), pExpr, (*IdxExprTrans)(unsafe.Pointer(pX)).FpIdxExpr, (*IdxExprTrans)(unsafe.Pointer(pX)).FiTabCur) == 0 { preserveExpr(tls, pX, pExpr) @@ -175935,7 +175953,7 @@ func whereIndexExprTransNode(tls *libc.TLS, p uintptr, pExpr uintptr) int32 { /* // A walker node callback that translates a column reference to a table // into a corresponding column reference of an index. -func whereIndexExprTransColumn(tls *libc.TLS, p uintptr, pExpr uintptr) int32 { /* sqlite3.c:148685:12: */ +func whereIndexExprTransColumn(tls *libc.TLS, p uintptr, pExpr uintptr) int32 { /* sqlite3.c:148699:12: */ if int32((*Expr)(unsafe.Pointer(pExpr)).Fop) == TK_COLUMN { var pX uintptr = *(*uintptr)(unsafe.Pointer(p + 40)) if (*Expr)(unsafe.Pointer(pExpr)).FiTable == (*IdxExprTrans)(unsafe.Pointer(pX)).FiTabCur && int32((*Expr)(unsafe.Pointer(pExpr)).FiColumn) == (*IdxExprTrans)(unsafe.Pointer(pX)).FiTabCol { @@ -175957,7 +175975,7 @@ func whereIndexExprTransColumn(tls *libc.TLS, p uintptr, pExpr uintptr) int32 { // 2019-10-24: Updated to also translate references to a VIRTUAL column in // the table into references to the corresponding (stored) column of the // index. -func whereIndexExprTrans(tls *libc.TLS, pIdx uintptr, iTabCur int32, iIdxCur int32, pWInfo uintptr) { /* sqlite3.c:148710:13: */ +func whereIndexExprTrans(tls *libc.TLS, pIdx uintptr, iTabCur int32, iIdxCur int32, pWInfo uintptr) { /* sqlite3.c:148724:13: */ bp := tls.Alloc(88) defer tls.Free(88) @@ -176022,7 +176040,7 @@ func whereIndexExprTrans(tls *libc.TLS, pIdx uintptr, iTabCur int32, iIdxCur int // WHERE clause terms on the query, and if any of those terms must be // true because pTruth is true, then mark those WHERE clause terms as // coded. -func whereApplyPartialIndexConstraints(tls *libc.TLS, pTruth uintptr, iTabCur int32, pWC uintptr) { /* sqlite3.c:148774:13: */ +func whereApplyPartialIndexConstraints(tls *libc.TLS, pTruth uintptr, iTabCur int32, pWC uintptr) { /* sqlite3.c:148788:13: */ var i int32 var pTerm uintptr for int32((*Expr)(unsafe.Pointer(pTruth)).Fop) == TK_AND { @@ -176068,7 +176086,7 @@ __3: // WhereLevel.regFilter set. If an inner-loop Bloom filter is checked, // then clear the WhereLevel.regFilter value to prevent the Bloom filter // from being checked a second time when the inner loop is evaluated. -func filterPullDown(tls *libc.TLS, pParse uintptr, pWInfo uintptr, iLevel int32, addrNxt int32, notReady Bitmask) { /* sqlite3.c:148810:29: */ +func filterPullDown(tls *libc.TLS, pParse uintptr, pWInfo uintptr, iLevel int32, addrNxt int32, notReady Bitmask) { /* sqlite3.c:148824:29: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -176113,7 +176131,7 @@ func filterPullDown(tls *libc.TLS, pParse uintptr, pWInfo uintptr, iLevel int32, // Generate code for the start of the iLevel-th loop in the WHERE clause // implementation described by pWInfo. -func Xsqlite3WhereCodeOneLoopStart(tls *libc.TLS, pParse uintptr, v uintptr, pWInfo uintptr, iLevel int32, pLevel uintptr, notReady Bitmask) Bitmask { /* sqlite3.c:148858:24: */ +func Xsqlite3WhereCodeOneLoopStart(tls *libc.TLS, pParse uintptr, v uintptr, pWInfo uintptr, iLevel int32, pLevel uintptr, notReady Bitmask) Bitmask { /* sqlite3.c:148872:24: */ bp := tls.Alloc(96) defer tls.Free(96) @@ -177343,24 +177361,24 @@ var aStartOp = [8]U8{ U8(OP_SeekLT), // 5: (start_constraints && !startEq && bRev) U8(OP_SeekGE), // 6: (start_constraints && startEq && !bRev) U8(OP_SeekLE), // 7: (start_constraints && startEq && bRev) -} /* sqlite3.c:149238:21 */ +} /* sqlite3.c:149252:21 */ var aEndOp = [4]U8{ U8(OP_IdxGE), // 0: (end_constraints && !bRev && !endEq) U8(OP_IdxGT), // 1: (end_constraints && !bRev && endEq) U8(OP_IdxLE), // 2: (end_constraints && bRev && !endEq) U8(OP_IdxLT), // 3: (end_constraints && bRev && endEq) -} /* sqlite3.c:149248:21 */ -var aStep = [2]U8{U8(OP_Next), U8(OP_Prev)} /* sqlite3.c:149966:21 */ -var aStart = [2]U8{U8(OP_Rewind), U8(OP_Last)} /* sqlite3.c:149967:21 */ +} /* sqlite3.c:149262:21 */ +var aStep = [2]U8{U8(OP_Next), U8(OP_Prev)} /* sqlite3.c:149980:21 */ +var aStart = [2]U8{U8(OP_Rewind), U8(OP_Last)} /* sqlite3.c:149981:21 */ // Deallocate all memory associated with a WhereOrInfo object. -func whereOrInfoDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:150176:13: */ +func whereOrInfoDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:150190:13: */ Xsqlite3WhereClauseClear(tls, p) Xsqlite3DbFree(tls, db, p) } // Deallocate all memory associated with a WhereAndInfo object. -func whereAndInfoDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:150184:13: */ +func whereAndInfoDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:150198:13: */ Xsqlite3WhereClauseClear(tls, p) Xsqlite3DbFree(tls, db, p) } @@ -177382,7 +177400,7 @@ func whereAndInfoDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:150 // WhereTerms. All pointers to WhereTerms should be invalidated after // calling this routine. Such pointers may be reinitialized by referencing // the pWC->a[] array. -func whereClauseInsert(tls *libc.TLS, pWC uintptr, p uintptr, wtFlags U16) int32 { /* sqlite3.c:150208:12: */ +func whereClauseInsert(tls *libc.TLS, pWC uintptr, p uintptr, wtFlags U16) int32 { /* sqlite3.c:150222:12: */ var pTerm uintptr var idx int32 @@ -177424,14 +177442,14 @@ func whereClauseInsert(tls *libc.TLS, pWC uintptr, p uintptr, wtFlags U16) int32 // Return TRUE if the given operator is one of the operators that is // allowed for an indexable WHERE clause term. The allowed operators are // "=", "<", ">", "<=", ">=", "IN", "IS", and "IS NULL" -func allowedOp(tls *libc.TLS, op int32) int32 { /* sqlite3.c:150250:12: */ +func allowedOp(tls *libc.TLS, op int32) int32 { /* sqlite3.c:150264:12: */ return libc.Bool32(op == TK_IN || op >= TK_EQ && op <= TK_GE || op == TK_ISNULL || op == TK_IS) } // Commute a comparison operator. Expressions of the form "X op Y" // are converted into "Y op X". -func exprCommute(tls *libc.TLS, pParse uintptr, pExpr uintptr) U16 { /* sqlite3.c:150262:12: */ +func exprCommute(tls *libc.TLS, pParse uintptr, pExpr uintptr) U16 { /* sqlite3.c:150276:12: */ if int32((*Expr)(unsafe.Pointer((*Expr)(unsafe.Pointer(pExpr)).FpLeft)).Fop) == TK_VECTOR || int32((*Expr)(unsafe.Pointer((*Expr)(unsafe.Pointer(pExpr)).FpRight)).Fop) == TK_VECTOR || Xsqlite3BinaryCompareCollSeq(tls, pParse, (*Expr)(unsafe.Pointer(pExpr)).FpLeft, (*Expr)(unsafe.Pointer(pExpr)).FpRight) != Xsqlite3BinaryCompareCollSeq(tls, pParse, (*Expr)(unsafe.Pointer(pExpr)).FpRight, (*Expr)(unsafe.Pointer(pExpr)).FpLeft) { @@ -177451,7 +177469,7 @@ func exprCommute(tls *libc.TLS, pParse uintptr, pExpr uintptr) U16 { /* sqlite3. } // Translate from TK_xx operator to WO_xx bitmask. -func operatorMask(tls *libc.TLS, op int32) U16 { /* sqlite3.c:150285:12: */ +func operatorMask(tls *libc.TLS, op int32) U16 { /* sqlite3.c:150299:12: */ var c U16 if op == TK_IN { @@ -177478,7 +177496,7 @@ func operatorMask(tls *libc.TLS, op int32) U16 { /* sqlite3.c:150285:12: */ // that virtual tables cannot participate in the LIKE optimization.) The // collating sequence for the column on the LHS must be appropriate for // the operator. -func isLikeOrGlob(tls *libc.TLS, pParse uintptr, pExpr uintptr, ppPrefix uintptr, pisComplete uintptr, pnoCase uintptr) int32 { /* sqlite3.c:150323:12: */ +func isLikeOrGlob(tls *libc.TLS, pParse uintptr, pExpr uintptr, ppPrefix uintptr, pisComplete uintptr, pnoCase uintptr) int32 { /* sqlite3.c:150337:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -177650,7 +177668,7 @@ func isLikeOrGlob(tls *libc.TLS, pParse uintptr, pExpr uintptr, ppPrefix uintptr // of virtual table in forms (5) or (7) then return 2. // // If the expression matches none of the patterns above, return 0. -func isAuxiliaryVtabOperator(tls *libc.TLS, db uintptr, pExpr uintptr, peOp2 uintptr, ppLeft uintptr, ppRight uintptr) int32 { /* sqlite3.c:150502:12: */ +func isAuxiliaryVtabOperator(tls *libc.TLS, db uintptr, pExpr uintptr, peOp2 uintptr, ppLeft uintptr, ppRight uintptr) int32 { /* sqlite3.c:150516:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -177755,18 +177773,18 @@ type Op2 = struct { FzOp uintptr FeOp2 uint8 F__ccgo_pad1 [7]byte -} /* sqlite3.c:150510:18 */ +} /* sqlite3.c:150524:18 */ var aOp = [4]Op2{ {FzOp: ts + 17381, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_MATCH)}, {FzOp: ts + 16702, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_GLOB)}, {FzOp: ts + 16228, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_LIKE)}, {FzOp: ts + 23015, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_REGEXP)}, -} /* sqlite3.c:150513:7 */ +} /* sqlite3.c:150527:7 */ // If the pBase expression originated in the ON or USING clause of // a join, then transfer the appropriate markings over to derived. -func transferJoinMarkings(tls *libc.TLS, pDerived uintptr, pBase uintptr) { /* sqlite3.c:150614:13: */ +func transferJoinMarkings(tls *libc.TLS, pDerived uintptr, pBase uintptr) { /* sqlite3.c:150628:13: */ if pDerived != 0 { *(*U32)(unsafe.Pointer(pDerived + 4)) |= (*Expr)(unsafe.Pointer(pBase)).Fflags & U32(EP_FromJoin) *(*int32)(unsafe.Pointer(pDerived + 52)) = *(*int32)(unsafe.Pointer(pBase + 52)) @@ -177774,7 +177792,7 @@ func transferJoinMarkings(tls *libc.TLS, pDerived uintptr, pBase uintptr) { /* s } // Mark term iChild as being a child of term iParent -func markTermAsChild(tls *libc.TLS, pWC uintptr, iChild int32, iParent int32) { /* sqlite3.c:150624:13: */ +func markTermAsChild(tls *libc.TLS, pWC uintptr, iChild int32, iParent int32) { /* sqlite3.c:150638:13: */ (*WhereTerm)(unsafe.Pointer((*WhereClause)(unsafe.Pointer(pWC)).Fa + uintptr(iChild)*56)).FiParent = iParent (*WhereTerm)(unsafe.Pointer((*WhereClause)(unsafe.Pointer(pWC)).Fa + uintptr(iChild)*56)).FtruthProb = (*WhereTerm)(unsafe.Pointer((*WhereClause)(unsafe.Pointer(pWC)).Fa + uintptr(iParent)*56)).FtruthProb (*WhereTerm)(unsafe.Pointer((*WhereClause)(unsafe.Pointer(pWC)).Fa+uintptr(iParent)*56)).FnChild++ @@ -177783,7 +177801,7 @@ func markTermAsChild(tls *libc.TLS, pWC uintptr, iChild int32, iParent int32) { // Return the N-th AND-connected subterm of pTerm. Or if pTerm is not // a conjunction, then return just pTerm when N==0. If N is exceeds // the number of available subterms, return NULL. -func whereNthSubterm(tls *libc.TLS, pTerm uintptr, N int32) uintptr { /* sqlite3.c:150635:18: */ +func whereNthSubterm(tls *libc.TLS, pTerm uintptr, N int32) uintptr { /* sqlite3.c:150649:18: */ if int32((*WhereTerm)(unsafe.Pointer(pTerm)).FeOperator) != WO_AND { if N == 0 { return pTerm @@ -177814,7 +177832,7 @@ func whereNthSubterm(tls *libc.TLS, pTerm uintptr, N int32) uintptr { /* sqlite3 // The following is NOT generated: // // xy --> x!=y -func whereCombineDisjuncts(tls *libc.TLS, pSrc uintptr, pWC uintptr, pOne uintptr, pTwo uintptr) { /* sqlite3.c:150665:13: */ +func whereCombineDisjuncts(tls *libc.TLS, pSrc uintptr, pWC uintptr, pOne uintptr, pTwo uintptr) { /* sqlite3.c:150679:13: */ var eOp U16 = U16(int32((*WhereTerm)(unsafe.Pointer(pOne)).FeOperator) | int32((*WhereTerm)(unsafe.Pointer(pTwo)).FeOperator)) var db uintptr // Database connection (for malloc) var pNew uintptr // New virtual expression @@ -177947,7 +177965,7 @@ func whereCombineDisjuncts(tls *libc.TLS, pSrc uintptr, pWC uintptr, pOne uintpt // // If none of cases 1, 2, or 3 apply, then leave the eOperator set to // zero. This term is not useful for search. -func exprAnalyzeOrTerm(tls *libc.TLS, pSrc uintptr, pWC uintptr, idxTerm int32) { /* sqlite3.c:150792:13: */ +func exprAnalyzeOrTerm(tls *libc.TLS, pSrc uintptr, pWC uintptr, idxTerm int32) { /* sqlite3.c:150806:13: */ var pWInfo uintptr = (*WhereClause)(unsafe.Pointer(pWC)).FpWInfo // WHERE clause processing context var pParse uintptr = (*WhereInfo)(unsafe.Pointer(pWInfo)).FpParse // Parser context var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb // Database connection @@ -178266,7 +178284,7 @@ __3: // for the LHS anyplace else in the WHERE clause where the LHS column occurs. // This is an optimization. No harm comes from returning 0. But if 1 is // returned when it should not be, then incorrect answers might result. -func termIsEquivalence(tls *libc.TLS, pParse uintptr, pExpr uintptr) int32 { /* sqlite3.c:151066:12: */ +func termIsEquivalence(tls *libc.TLS, pParse uintptr, pExpr uintptr) int32 { /* sqlite3.c:151080:12: */ var aff1 int8 var aff2 int8 var pColl uintptr @@ -178295,7 +178313,7 @@ func termIsEquivalence(tls *libc.TLS, pParse uintptr, pExpr uintptr) int32 { /* // Recursively walk the expressions of a SELECT statement and generate // a bitmask indicating which tables are used in that expression // tree. -func exprSelectUsage(tls *libc.TLS, pMaskSet uintptr, pS uintptr) Bitmask { /* sqlite3.c:151089:16: */ +func exprSelectUsage(tls *libc.TLS, pMaskSet uintptr, pS uintptr) Bitmask { /* sqlite3.c:151103:16: */ var mask Bitmask = uint64(0) for pS != 0 { var pSrc uintptr = (*Select)(unsafe.Pointer(pS)).FpSrc @@ -178330,7 +178348,7 @@ func exprSelectUsage(tls *libc.TLS, pMaskSet uintptr, pS uintptr) Bitmask { /* s // If pExpr is a TK_COLUMN column reference, then this routine always returns // true even if that particular column is not indexed, because the column // might be added to an automatic index later. -func exprMightBeIndexed2(tls *libc.TLS, pFrom uintptr, mPrereq Bitmask, aiCurCol uintptr, pExpr uintptr) int32 { /* sqlite3.c:151126:28: */ +func exprMightBeIndexed2(tls *libc.TLS, pFrom uintptr, mPrereq Bitmask, aiCurCol uintptr, pExpr uintptr) int32 { /* sqlite3.c:151140:28: */ var pIdx uintptr var i int32 var iCur int32 @@ -178368,7 +178386,7 @@ __3: return 0 } -func exprMightBeIndexed(tls *libc.TLS, pFrom uintptr, mPrereq Bitmask, aiCurCol uintptr, pExpr uintptr, op int32) int32 { /* sqlite3.c:151150:12: */ +func exprMightBeIndexed(tls *libc.TLS, pFrom uintptr, mPrereq Bitmask, aiCurCol uintptr, pExpr uintptr, op int32) int32 { /* sqlite3.c:151164:12: */ // If this expression is a vector to the left or right of a // inequality constraint (>, <, >= or <=), perform the processing // on the first element of the vector. @@ -178409,7 +178427,7 @@ func exprMightBeIndexed(tls *libc.TLS, pFrom uintptr, mPrereq Bitmask, aiCurCol // needs to be freed with the WhereClause) and TERM_VIRTUAL (because it // is a commuted copy of a prior term.) The original term has nChild=1 // and the copy has idxParent set to the index of the original term. -func exprAnalyze(tls *libc.TLS, pSrc uintptr, pWC uintptr, idxTerm int32) { /* sqlite3.c:151198:13: */ +func exprAnalyze(tls *libc.TLS, pSrc uintptr, pWC uintptr, idxTerm int32) { /* sqlite3.c:151212:13: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -178777,7 +178795,7 @@ func exprAnalyze(tls *libc.TLS, pSrc uintptr, pWC uintptr, idxTerm int32) { /* s *(*Bitmask)(unsafe.Pointer(pTerm + 40)) |= extraRight } -var ops = [2]U8{U8(TK_GE), U8(TK_LE)} /* sqlite3.c:151367:21 */ +var ops = [2]U8{U8(TK_GE), U8(TK_LE)} /* sqlite3.c:151381:21 */ // ************************************************************************** // @@ -178800,7 +178818,7 @@ var ops = [2]U8{U8(TK_GE), U8(TK_LE)} /* sqlite3.c:151367:21 */ // In the previous sentence and in the diagram, "slot[]" refers to // the WhereClause.a[] array. The slot[] array grows as needed to contain // all terms of the WHERE clause. -func Xsqlite3WhereSplit(tls *libc.TLS, pWC uintptr, pExpr uintptr, op U8) { /* sqlite3.c:151663:21: */ +func Xsqlite3WhereSplit(tls *libc.TLS, pWC uintptr, pExpr uintptr, op U8) { /* sqlite3.c:151677:21: */ var pE2 uintptr = Xsqlite3ExprSkipCollateAndLikely(tls, pExpr) (*WhereClause)(unsafe.Pointer(pWC)).Fop = op @@ -178824,7 +178842,7 @@ func Xsqlite3WhereSplit(tls *libc.TLS, pWC uintptr, pExpr uintptr, op U8) { /* s // (example: "LIMIT 5 OFFSET 10") then the expression codes as a // TK_INTEGER so that it will be available to sqlite3_vtab_rhs_value(). // If not, then it codes as a TK_REGISTER expression. -func whereAddLimitExpr(tls *libc.TLS, pWC uintptr, iReg int32, pExpr uintptr, iCsr int32, eMatchOp int32) { /* sqlite3.c:151687:13: */ +func whereAddLimitExpr(tls *libc.TLS, pWC uintptr, iReg int32, pExpr uintptr, iCsr int32, eMatchOp int32) { /* sqlite3.c:151701:13: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -178876,7 +178894,7 @@ func whereAddLimitExpr(tls *libc.TLS, pWC uintptr, iReg int32, pExpr uintptr, iC // LIMIT and OFFSET terms are ignored by most of the planner code. They // exist only so that they may be passed to the xBestIndex method of the // single virtual table in the FROM clause of the SELECT. -func Xsqlite3WhereAddLimit(tls *libc.TLS, pWC uintptr, p uintptr) { /* sqlite3.c:151740:21: */ +func Xsqlite3WhereAddLimit(tls *libc.TLS, pWC uintptr, p uintptr) { /* sqlite3.c:151754:21: */ if p != 0 && (*Select)(unsafe.Pointer(p)).FpLimit != 0 && (*Select)(unsafe.Pointer(p)).FselFlags&U32(SF_Distinct|SF_Aggregate) == U32(0) && @@ -178926,7 +178944,7 @@ func Xsqlite3WhereAddLimit(tls *libc.TLS, pWC uintptr, p uintptr) { /* sqlite3.c } // Initialize a preallocated WhereClause structure. -func Xsqlite3WhereClauseInit(tls *libc.TLS, pWC uintptr, pWInfo uintptr) { /* sqlite3.c:151786:21: */ +func Xsqlite3WhereClauseInit(tls *libc.TLS, pWC uintptr, pWInfo uintptr) { /* sqlite3.c:151800:21: */ (*WhereClause)(unsafe.Pointer(pWC)).FpWInfo = pWInfo (*WhereClause)(unsafe.Pointer(pWC)).FhasOr = U8(0) (*WhereClause)(unsafe.Pointer(pWC)).FpOuter = uintptr(0) @@ -178939,7 +178957,7 @@ func Xsqlite3WhereClauseInit(tls *libc.TLS, pWC uintptr, pWInfo uintptr) { /* sq // Deallocate a WhereClause structure. The WhereClause structure // itself is not freed. This routine is the inverse of // sqlite3WhereClauseInit(). -func Xsqlite3WhereClauseClear(tls *libc.TLS, pWC uintptr) { /* sqlite3.c:151804:21: */ +func Xsqlite3WhereClauseClear(tls *libc.TLS, pWC uintptr) { /* sqlite3.c:151818:21: */ var db uintptr = (*Parse)(unsafe.Pointer((*WhereInfo)(unsafe.Pointer((*WhereClause)(unsafe.Pointer(pWC)).FpWInfo)).FpParse)).Fdb if (*WhereClause)(unsafe.Pointer(pWC)).FnTerm > 0 { @@ -178999,7 +179017,7 @@ func Xsqlite3WhereClauseClear(tls *libc.TLS, pWC uintptr) { /* sqlite3.c:151804: // computations done by this routine are broken out into a separate // "no-inline" function to avoid the stack push overhead in the // common case where it is not needed. -func sqlite3WhereExprUsageFull(tls *libc.TLS, pMaskSet uintptr, p uintptr) Bitmask { /* sqlite3.c:151872:32: */ +func sqlite3WhereExprUsageFull(tls *libc.TLS, pMaskSet uintptr, p uintptr) Bitmask { /* sqlite3.c:151886:32: */ var mask Bitmask if int32((*Expr)(unsafe.Pointer(p)).Fop) == TK_IF_NULL_ROW { mask = Xsqlite3WhereGetMask(tls, pMaskSet, (*Expr)(unsafe.Pointer(p)).FiTable) @@ -179029,7 +179047,7 @@ func sqlite3WhereExprUsageFull(tls *libc.TLS, pMaskSet uintptr, p uintptr) Bitma return mask } -func Xsqlite3WhereExprUsageNN(tls *libc.TLS, pMaskSet uintptr, p uintptr) Bitmask { /* sqlite3.c:151898:24: */ +func Xsqlite3WhereExprUsageNN(tls *libc.TLS, pMaskSet uintptr, p uintptr) Bitmask { /* sqlite3.c:151912:24: */ if int32((*Expr)(unsafe.Pointer(p)).Fop) == TK_COLUMN && !((*Expr)(unsafe.Pointer(p)).Fflags&U32(EP_FixedCol) != U32(0)) { return Xsqlite3WhereGetMask(tls, pMaskSet, (*Expr)(unsafe.Pointer(p)).FiTable) } else if (*Expr)(unsafe.Pointer(p)).Fflags&U32(EP_TokenOnly|EP_Leaf) != U32(0) { @@ -179039,14 +179057,14 @@ func Xsqlite3WhereExprUsageNN(tls *libc.TLS, pMaskSet uintptr, p uintptr) Bitmas return sqlite3WhereExprUsageFull(tls, pMaskSet, p) } -func Xsqlite3WhereExprUsage(tls *libc.TLS, pMaskSet uintptr, p uintptr) Bitmask { /* sqlite3.c:151907:24: */ +func Xsqlite3WhereExprUsage(tls *libc.TLS, pMaskSet uintptr, p uintptr) Bitmask { /* sqlite3.c:151921:24: */ if p != 0 { return Xsqlite3WhereExprUsageNN(tls, pMaskSet, p) } return uint64(0) } -func Xsqlite3WhereExprListUsage(tls *libc.TLS, pMaskSet uintptr, pList uintptr) Bitmask { /* sqlite3.c:151910:24: */ +func Xsqlite3WhereExprListUsage(tls *libc.TLS, pMaskSet uintptr, pList uintptr) Bitmask { /* sqlite3.c:151924:24: */ var i int32 var mask Bitmask = uint64(0) if pList != 0 { @@ -179063,7 +179081,7 @@ func Xsqlite3WhereExprListUsage(tls *libc.TLS, pMaskSet uintptr, pList uintptr) // end of the WHERE clause. We do not want to analyze these new // virtual terms, so start analyzing at the end and work forward // so that the added virtual terms are never processed. -func Xsqlite3WhereExprAnalyze(tls *libc.TLS, pTabList uintptr, pWC uintptr) { /* sqlite3.c:151930:21: */ +func Xsqlite3WhereExprAnalyze(tls *libc.TLS, pTabList uintptr, pWC uintptr) { /* sqlite3.c:151944:21: */ var i int32 for i = (*WhereClause)(unsafe.Pointer(pWC)).FnTerm - 1; i >= 0; i-- { exprAnalyze(tls, pTabList, pWC, i) @@ -179075,7 +179093,7 @@ func Xsqlite3WhereExprAnalyze(tls *libc.TLS, pTabList uintptr, pWC uintptr) { /* // // Each function argument translates into an equality constraint against // a HIDDEN column in the table. -func Xsqlite3WhereTabFuncArgs(tls *libc.TLS, pParse uintptr, pItem uintptr, pWC uintptr) { /* sqlite3.c:151947:21: */ +func Xsqlite3WhereTabFuncArgs(tls *libc.TLS, pParse uintptr, pItem uintptr, pWC uintptr) { /* sqlite3.c:151961:21: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -179159,7 +179177,7 @@ type HiddenIndexInfo1 = struct { FmHandleIn U32 F__ccgo_pad1 [4]byte FaRhs [1]uintptr -} /* sqlite3.c:152019:9 */ +} /* sqlite3.c:152033:9 */ //************* End of whereexpr.c ****************************************** //************* Begin file where.c ****************************************** @@ -179189,16 +179207,16 @@ type HiddenIndexInfo1 = struct { // This object is not an API and can be changed from one release to the // next. As long as allocateIndexInfo() and sqlite3_vtab_collation() // agree on the structure, all will be well. -type HiddenIndexInfo = HiddenIndexInfo1 /* sqlite3.c:152019:32 */ +type HiddenIndexInfo = HiddenIndexInfo1 /* sqlite3.c:152033:32 */ // Return the estimated number of output rows from a WHERE clause -func Xsqlite3WhereOutputRowCount(tls *libc.TLS, pWInfo uintptr) LogEst { /* sqlite3.c:152037:23: */ +func Xsqlite3WhereOutputRowCount(tls *libc.TLS, pWInfo uintptr) LogEst { /* sqlite3.c:152051:23: */ return (*WhereInfo)(unsafe.Pointer(pWInfo)).FnRowOut } // Return one of the WHERE_DISTINCT_xxxxx values to indicate how this // WHERE clause returns outputs for DISTINCT processing. -func Xsqlite3WhereIsDistinct(tls *libc.TLS, pWInfo uintptr) int32 { /* sqlite3.c:152045:20: */ +func Xsqlite3WhereIsDistinct(tls *libc.TLS, pWInfo uintptr) int32 { /* sqlite3.c:152059:20: */ return int32((*WhereInfo)(unsafe.Pointer(pWInfo)).FeDistinct) } @@ -179208,7 +179226,7 @@ func Xsqlite3WhereIsDistinct(tls *libc.TLS, pWInfo uintptr) int32 { /* sqlite3.c // terms means that no sorting is needed at all. A return that // is positive but less than the number of ORDER BY terms means that // block sorting is required. -func Xsqlite3WhereIsOrdered(tls *libc.TLS, pWInfo uintptr) int32 { /* sqlite3.c:152057:20: */ +func Xsqlite3WhereIsOrdered(tls *libc.TLS, pWInfo uintptr) int32 { /* sqlite3.c:152071:20: */ return int32((*WhereInfo)(unsafe.Pointer(pWInfo)).FnOBSat) } @@ -179233,7 +179251,7 @@ func Xsqlite3WhereIsOrdered(tls *libc.TLS, pWInfo uintptr) int32 { /* sqlite3.c: // Returning the continuation the second inner loop is an optimization // that might make the code run a little faster, but should not change // the final answer. -func Xsqlite3WhereOrderByLimitOptLabel(tls *libc.TLS, pWInfo uintptr) int32 { /* sqlite3.c:152084:20: */ +func Xsqlite3WhereOrderByLimitOptLabel(tls *libc.TLS, pWInfo uintptr) int32 { /* sqlite3.c:152098:20: */ var pInner uintptr if !(int32(*(*uint8)(unsafe.Pointer(pWInfo + 76))&0x4>>2) != 0) { // The ORDER BY LIMIT optimization does not apply. Jump to the @@ -179254,7 +179272,7 @@ func Xsqlite3WhereOrderByLimitOptLabel(tls *libc.TLS, pWInfo uintptr) int32 { /* // Any extra OP_Goto that is coded here is an optimization. The // correct answer should be obtained regardless. This OP_Goto just // makes the answer appear faster. -func Xsqlite3WhereMinMaxOptEarlyOut(tls *libc.TLS, v uintptr, pWInfo uintptr) { /* sqlite3.c:152107:21: */ +func Xsqlite3WhereMinMaxOptEarlyOut(tls *libc.TLS, v uintptr, pWInfo uintptr) { /* sqlite3.c:152121:21: */ var pInner uintptr var i int32 if !(int32(*(*uint8)(unsafe.Pointer(pWInfo + 76))&0x4>>2) != 0) { @@ -179275,14 +179293,14 @@ func Xsqlite3WhereMinMaxOptEarlyOut(tls *libc.TLS, v uintptr, pWInfo uintptr) { // Return the VDBE address or label to jump to in order to continue // immediately with the next row of a WHERE clause. -func Xsqlite3WhereContinueLabel(tls *libc.TLS, pWInfo uintptr) int32 { /* sqlite3.c:152126:20: */ +func Xsqlite3WhereContinueLabel(tls *libc.TLS, pWInfo uintptr) int32 { /* sqlite3.c:152140:20: */ return (*WhereInfo)(unsafe.Pointer(pWInfo)).FiContinue } // Return the VDBE address or label to jump to in order to break // out of a WHERE loop. -func Xsqlite3WhereBreakLabel(tls *libc.TLS, pWInfo uintptr) int32 { /* sqlite3.c:152135:20: */ +func Xsqlite3WhereBreakLabel(tls *libc.TLS, pWInfo uintptr) int32 { /* sqlite3.c:152149:20: */ return (*WhereInfo)(unsafe.Pointer(pWInfo)).FiBreak } @@ -179301,19 +179319,19 @@ func Xsqlite3WhereBreakLabel(tls *libc.TLS, pWInfo uintptr) int32 { /* sqlite3.c // // aiCur[0] and aiCur[1] both get -1 if the where-clause logic is // unable to use the ONEPASS optimization. -func Xsqlite3WhereOkOnePass(tls *libc.TLS, pWInfo uintptr, aiCur uintptr) int32 { /* sqlite3.c:152156:20: */ +func Xsqlite3WhereOkOnePass(tls *libc.TLS, pWInfo uintptr, aiCur uintptr) int32 { /* sqlite3.c:152170:20: */ libc.Xmemcpy(tls, aiCur, pWInfo+48, uint64(unsafe.Sizeof(int32(0)))*uint64(2)) return int32((*WhereInfo)(unsafe.Pointer(pWInfo)).FeOnePass) } // Return TRUE if the WHERE loop uses the OP_DeferredSeek opcode to move // the data cursor to the row selected by the index cursor. -func Xsqlite3WhereUsesDeferredSeek(tls *libc.TLS, pWInfo uintptr) int32 { /* sqlite3.c:152172:20: */ +func Xsqlite3WhereUsesDeferredSeek(tls *libc.TLS, pWInfo uintptr) int32 { /* sqlite3.c:152186:20: */ return int32(*(*uint8)(unsafe.Pointer(pWInfo + 76)) & 0x1 >> 0) } // Move the content of pSrc into pDest -func whereOrMove(tls *libc.TLS, pDest uintptr, pSrc uintptr) { /* sqlite3.c:152179:13: */ +func whereOrMove(tls *libc.TLS, pDest uintptr, pSrc uintptr) { /* sqlite3.c:152193:13: */ (*WhereOrSet)(unsafe.Pointer(pDest)).Fn = (*WhereOrSet)(unsafe.Pointer(pSrc)).Fn libc.Xmemcpy(tls, pDest+8, pSrc+8, uint64((*WhereOrSet)(unsafe.Pointer(pDest)).Fn)*uint64(unsafe.Sizeof(WhereOrCost{}))) } @@ -179323,7 +179341,7 @@ func whereOrMove(tls *libc.TLS, pDest uintptr, pSrc uintptr) { /* sqlite3.c:1521 // The new entry might overwrite an existing entry, or it might be // appended, or it might be discarded. Do whatever is the right thing // so that pSet keeps the N_OR_COST best entries seen so far. -func whereOrInsert(tls *libc.TLS, pSet uintptr, prereq Bitmask, rRun LogEst, nOut LogEst) int32 { /* sqlite3.c:152191:12: */ +func whereOrInsert(tls *libc.TLS, pSet uintptr, prereq Bitmask, rRun LogEst, nOut LogEst) int32 { /* sqlite3.c:152205:12: */ var i U16 var p uintptr i = (*WhereOrSet)(unsafe.Pointer(pSet)).Fn @@ -179400,7 +179418,7 @@ __13: // Return the bitmask for the given cursor number. Return 0 if // iCursor is not in the set. -func Xsqlite3WhereGetMask(tls *libc.TLS, pMaskSet uintptr, iCursor int32) Bitmask { /* sqlite3.c:152228:24: */ +func Xsqlite3WhereGetMask(tls *libc.TLS, pMaskSet uintptr, iCursor int32) Bitmask { /* sqlite3.c:152242:24: */ var i int32 if *(*int32)(unsafe.Pointer(pMaskSet + 8)) == iCursor { @@ -179420,14 +179438,14 @@ func Xsqlite3WhereGetMask(tls *libc.TLS, pMaskSet uintptr, iCursor int32) Bitmas // tables in the FROM clause is limited by a test early in the // sqlite3WhereBegin() routine. So we know that the pMaskSet->ix[] // array will never overflow. -func createMask(tls *libc.TLS, pMaskSet uintptr, iCursor int32) { /* sqlite3.c:152252:13: */ +func createMask(tls *libc.TLS, pMaskSet uintptr, iCursor int32) { /* sqlite3.c:152266:13: */ *(*int32)(unsafe.Pointer(pMaskSet + 8 + uintptr(libc.PostIncInt32(&(*WhereMaskSet)(unsafe.Pointer(pMaskSet)).Fn, 1))*4)) = iCursor } // If the right-hand branch of the expression is a TK_COLUMN, then return // a pointer to the right-hand branch. Otherwise, return NULL. -func whereRightSubexprIsColumn(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:152261:13: */ +func whereRightSubexprIsColumn(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:152275:13: */ p = Xsqlite3ExprSkipCollateAndLikely(tls, (*Expr)(unsafe.Pointer(p)).FpRight) if p != uintptr(0) && int32((*Expr)(unsafe.Pointer(p)).Fop) == TK_COLUMN && !((*Expr)(unsafe.Pointer(p)).Fflags&U32(EP_FixedCol) != U32(0)) { return p @@ -179438,7 +179456,7 @@ func whereRightSubexprIsColumn(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c: // Advance to the next WhereTerm that matches according to the criteria // established when the pScan object was initialized by whereScanInit(). // Return NULL if there are no more matching WhereTerms. -func whereScanNext(tls *libc.TLS, pScan uintptr) uintptr { /* sqlite3.c:152274:18: */ +func whereScanNext(tls *libc.TLS, pScan uintptr) uintptr { /* sqlite3.c:152288:18: */ var iCur int32 // The cursor on the LHS of the term var iColumn I16 // The column on the LHS of the term. -1 for IPK var pX uintptr // An expression being tested @@ -179542,7 +179560,7 @@ func whereScanNext(tls *libc.TLS, pScan uintptr) uintptr { /* sqlite3.c:152274:1 // It is factored out into a separate tail-recursion subroutine so that // the normal whereScanInit() routine, which is a high-runner, does not // need to push registers onto the stack as part of its prologue. -func whereScanInitIndexExpr(tls *libc.TLS, pScan uintptr) uintptr { /* sqlite3.c:152376:34: */ +func whereScanInitIndexExpr(tls *libc.TLS, pScan uintptr) uintptr { /* sqlite3.c:152390:34: */ (*WhereScan)(unsafe.Pointer(pScan)).Fidxaff = Xsqlite3ExprAffinity(tls, (*WhereScan)(unsafe.Pointer(pScan)).FpIdxExpr) return whereScanNext(tls, pScan) } @@ -179564,7 +179582,7 @@ func whereScanInitIndexExpr(tls *libc.TLS, pScan uintptr) uintptr { /* sqlite3.c // // If X is not the INTEGER PRIMARY KEY then X must be compatible with // index pIdx. -func whereScanInit(tls *libc.TLS, pScan uintptr, pWC uintptr, iCur int32, iColumn int32, opMask U32, pIdx uintptr) uintptr { /* sqlite3.c:152400:18: */ +func whereScanInit(tls *libc.TLS, pScan uintptr, pWC uintptr, iCur int32, iColumn int32, opMask U32, pIdx uintptr) uintptr { /* sqlite3.c:152414:18: */ (*WhereScan)(unsafe.Pointer(pScan)).FpOrigWC = pWC (*WhereScan)(unsafe.Pointer(pScan)).FpWC = pWC (*WhereScan)(unsafe.Pointer(pScan)).FpIdxExpr = uintptr(0) @@ -179619,7 +179637,7 @@ func whereScanInit(tls *libc.TLS, pScan uintptr, pWC uintptr, iCur int32, iColum // the form "X Y" where Y is a column in another table if no terms of // the form "X " exist. If no terms with a constant RHS // exist, try to return a term that does not use WO_EQUIV. -func Xsqlite3WhereFindTerm(tls *libc.TLS, pWC uintptr, iCur int32, iColumn int32, notReady Bitmask, op U32, pIdx uintptr) uintptr { /* sqlite3.c:152464:26: */ +func Xsqlite3WhereFindTerm(tls *libc.TLS, pWC uintptr, iCur int32, iColumn int32, notReady Bitmask, op U32, pIdx uintptr) uintptr { /* sqlite3.c:152478:26: */ bp := tls.Alloc(112) defer tls.Free(112) @@ -179649,7 +179667,7 @@ func Xsqlite3WhereFindTerm(tls *libc.TLS, pWC uintptr, iCur int32, iColumn int32 // // If such an expression is found, its index in pList->a[] is returned. If // no expression is found, -1 is returned. -func findIndexCol(tls *libc.TLS, pParse uintptr, pList uintptr, iBase int32, pIdx uintptr, iCol int32) int32 { /* sqlite3.c:152498:12: */ +func findIndexCol(tls *libc.TLS, pParse uintptr, pList uintptr, iBase int32, pIdx uintptr, iCol int32) int32 { /* sqlite3.c:152512:12: */ var i int32 var zColl uintptr = *(*uintptr)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FazColl + uintptr(iCol)*8)) @@ -179670,7 +179688,7 @@ func findIndexCol(tls *libc.TLS, pParse uintptr, pList uintptr, iBase int32, pId } // Return TRUE if the iCol-th column of index pIdx is NOT NULL -func indexColumnNotNull(tls *libc.TLS, pIdx uintptr, iCol int32) int32 { /* sqlite3.c:152528:12: */ +func indexColumnNotNull(tls *libc.TLS, pIdx uintptr, iCol int32) int32 { /* sqlite3.c:152542:12: */ var j int32 j = int32(*(*I16)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FaiColumn + uintptr(iCol)*2))) @@ -179691,7 +179709,7 @@ func indexColumnNotNull(tls *libc.TLS, pIdx uintptr, iCol int32) int32 { /* sqli // // A DISTINCT list is redundant if any subset of the columns in the // DISTINCT list are collectively unique and individually non-null. -func isDistinctRedundant(tls *libc.TLS, pParse uintptr, pTabList uintptr, pWC uintptr, pDistinct uintptr) int32 { /* sqlite3.c:152551:12: */ +func isDistinctRedundant(tls *libc.TLS, pParse uintptr, pTabList uintptr, pWC uintptr, pDistinct uintptr) int32 { /* sqlite3.c:152565:12: */ var pTab uintptr var pIdx uintptr var i int32 @@ -179761,7 +179779,7 @@ func isDistinctRedundant(tls *libc.TLS, pParse uintptr, pTabList uintptr, pWC ui } // Estimate the logarithm of the input value to base 2. -func estLog(tls *libc.TLS, N LogEst) LogEst { /* sqlite3.c:152615:15: */ +func estLog(tls *libc.TLS, N LogEst) LogEst { /* sqlite3.c:152629:15: */ if int32(N) <= 10 { return int16(0) } @@ -179778,7 +179796,7 @@ func estLog(tls *libc.TLS, N LogEst) LogEst { /* sqlite3.c:152615:15: */ // cursor iTabCur are transformed into OP_Sequence opcode for the // iAutoidxCur cursor, in order to generate unique rowids for the // automatic index being generated. -func translateColumnToCopy(tls *libc.TLS, pParse uintptr, iStart int32, iTabCur int32, iRegister int32, iAutoidxCur int32) { /* sqlite3.c:152631:13: */ +func translateColumnToCopy(tls *libc.TLS, pParse uintptr, iStart int32, iTabCur int32, iRegister int32, iAutoidxCur int32) { /* sqlite3.c:152645:13: */ var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe var pOp uintptr = Xsqlite3VdbeGetOp(tls, v, iStart) var iEnd int32 = Xsqlite3VdbeCurrentAddr(tls, v) @@ -179821,7 +179839,7 @@ __3: // Return TRUE if the WHERE clause term pTerm is of a form where it // could be used with an index to access pSrc, assuming an appropriate // index existed. -func termCanDriveIndex(tls *libc.TLS, pTerm uintptr, pSrc uintptr, notReady Bitmask) int32 { /* sqlite3.c:152715:12: */ +func termCanDriveIndex(tls *libc.TLS, pTerm uintptr, pSrc uintptr, notReady Bitmask) int32 { /* sqlite3.c:152729:12: */ var aff int8 if (*WhereTerm)(unsafe.Pointer(pTerm)).FleftCursor != (*SrcItem)(unsafe.Pointer(pSrc)).FiCursor { return 0 @@ -179855,7 +179873,7 @@ func termCanDriveIndex(tls *libc.TLS, pTerm uintptr, pSrc uintptr, notReady Bitm // Generate code to construct the Index object for an automatic index // and to set up the WhereLevel object pLevel so that the code generator // makes use of the automatic index. -func constructAutomaticIndex(tls *libc.TLS, pParse uintptr, pWC uintptr, pSrc uintptr, notReady Bitmask, pLevel uintptr) { /* sqlite3.c:152749:29: */ +func constructAutomaticIndex(tls *libc.TLS, pParse uintptr, pWC uintptr, pSrc uintptr, notReady Bitmask, pLevel uintptr) { /* sqlite3.c:152763:29: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -180213,7 +180231,7 @@ end_auto_index_create: // This routine may only be called if it has previously been determined that // the loop would benefit from a Bloom filter, and the WHERE_BLOOMFILTER bit // is set. -func sqlite3ConstructBloomFilter(tls *libc.TLS, pWInfo uintptr, iLevel int32, pLevel uintptr, notReady Bitmask) { /* sqlite3.c:152984:29: */ +func sqlite3ConstructBloomFilter(tls *libc.TLS, pWInfo uintptr, iLevel int32, pLevel uintptr, notReady Bitmask) { /* sqlite3.c:152998:29: */ var addrOnce int32 // Address of opening OP_Once var addrTop int32 // Address of OP_Rewind var addrCont int32 // Jump here to skip a row @@ -180318,7 +180336,7 @@ func sqlite3ConstructBloomFilter(tls *libc.TLS, pWInfo uintptr, iLevel int32, pL // Allocate and populate an sqlite3_index_info structure. It is the // responsibility of the caller to eventually release the structure // by passing the pointer returned by this function to freeIndexInfo(). -func allocateIndexInfo(tls *libc.TLS, pWInfo uintptr, pWC uintptr, mUnusable Bitmask, pSrc uintptr, pmNoOmit uintptr) uintptr { /* sqlite3.c:153097:27: */ +func allocateIndexInfo(tls *libc.TLS, pWInfo uintptr, pWC uintptr, mUnusable Bitmask, pSrc uintptr, pmNoOmit uintptr) uintptr { /* sqlite3.c:153111:27: */ var i int32 var j int32 var nTerm int32 @@ -180544,7 +180562,7 @@ __6: // Free an sqlite3_index_info structure allocated by allocateIndexInfo() // and possibly modified by xBestIndex methods. -func freeIndexInfo(tls *libc.TLS, db uintptr, pIdxInfo uintptr) { /* sqlite3.c:153296:13: */ +func freeIndexInfo(tls *libc.TLS, db uintptr, pIdxInfo uintptr) { /* sqlite3.c:153310:13: */ var pHidden uintptr var i int32 @@ -180571,7 +180589,7 @@ func freeIndexInfo(tls *libc.TLS, db uintptr, pIdxInfo uintptr) { /* sqlite3.c:1 // Whether or not an error is returned, it is the responsibility of the // caller to eventually free p->idxStr if p->needToFreeIdxStr indicates // that this is required. -func vtabBestIndex(tls *libc.TLS, pParse uintptr, pTab uintptr, p uintptr) int32 { /* sqlite3.c:153326:12: */ +func vtabBestIndex(tls *libc.TLS, pParse uintptr, pTab uintptr, p uintptr) int32 { /* sqlite3.c:153340:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -180609,7 +180627,7 @@ func vtabBestIndex(tls *libc.TLS, pParse uintptr, pTab uintptr, p uintptr) int32 // into the aSample[] array - it is an index into a virtual set of samples // based on the contents of aSample[] and the number of fields in record // pRec. -func whereKeyStats(tls *libc.TLS, pParse uintptr, pIdx uintptr, pRec uintptr, roundUp int32, aStat uintptr) int32 { /* sqlite3.c:153365:12: */ +func whereKeyStats(tls *libc.TLS, pParse uintptr, pIdx uintptr, pRec uintptr, roundUp int32, aStat uintptr) int32 { /* sqlite3.c:153379:12: */ var aSample uintptr = (*Index)(unsafe.Pointer(pIdx)).FaSample var iCol int32 // Index of required stats in anEq[] etc. var i int32 // Index of first sample >= pRec @@ -180748,7 +180766,7 @@ func whereKeyStats(tls *libc.TLS, pParse uintptr, pIdx uintptr, pRec uintptr, ro // then the return value is the likelihood multiplied by the number of // input rows. Otherwise, this function assumes that an "IS NOT NULL" term // has a likelihood of 0.50, and any other term a likelihood of 0.25. -func whereRangeAdjust(tls *libc.TLS, pTerm uintptr, nNew LogEst) LogEst { /* sqlite3.c:153557:15: */ +func whereRangeAdjust(tls *libc.TLS, pTerm uintptr, nNew LogEst) LogEst { /* sqlite3.c:153571:15: */ var nRet LogEst = nNew if pTerm != 0 { if int32((*WhereTerm)(unsafe.Pointer(pTerm)).FtruthProb) <= 0 { @@ -180761,7 +180779,7 @@ func whereRangeAdjust(tls *libc.TLS, pTerm uintptr, nNew LogEst) LogEst { /* sql } // Return the affinity for a single column of an index. -func Xsqlite3IndexColumnAffinity(tls *libc.TLS, db uintptr, pIdx uintptr, iCol int32) int8 { /* sqlite3.c:153574:21: */ +func Xsqlite3IndexColumnAffinity(tls *libc.TLS, db uintptr, pIdx uintptr, iCol int32) int8 { /* sqlite3.c:153588:21: */ if !(int32((*Index)(unsafe.Pointer(pIdx)).FzColAff) != 0) { if Xsqlite3IndexAffinityStr(tls, db, pIdx) == uintptr(0) { @@ -180805,7 +180823,7 @@ func Xsqlite3IndexColumnAffinity(tls *libc.TLS, db uintptr, pIdx uintptr, iCol i // // If an error occurs, an SQLite error code is returned. Otherwise, // SQLITE_OK. -func whereRangeSkipScanEst(tls *libc.TLS, pParse uintptr, pLower uintptr, pUpper uintptr, pLoop uintptr, pbDone uintptr) int32 { /* sqlite3.c:153621:12: */ +func whereRangeSkipScanEst(tls *libc.TLS, pParse uintptr, pLower uintptr, pUpper uintptr, pLoop uintptr, pbDone uintptr) int32 { /* sqlite3.c:153635:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -180920,7 +180938,7 @@ func whereRangeSkipScanEst(tls *libc.TLS, pParse uintptr, pLower uintptr, pUpper // used, a single range inequality reduces the search space by a factor of 4. // and a pair of constraints (x>? AND x>0)) != 0 { Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(p + 24 + 16 /* &.idxStr */))) @@ -181228,7 +181246,7 @@ func whereLoopClearUnion(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:15 } // Deallocate internal memory used by a WhereLoop object -func whereLoopClear(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:154152:13: */ +func whereLoopClear(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:154166:13: */ if (*WhereLoop)(unsafe.Pointer(p)).FaLTerm != p+88 { Xsqlite3DbFreeNN(tls, db, (*WhereLoop)(unsafe.Pointer(p)).FaLTerm) } @@ -181237,7 +181255,7 @@ func whereLoopClear(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:154152: } // Increase the memory allocation for pLoop->aLTerm[] to be at least n. -func whereLoopResize(tls *libc.TLS, db uintptr, p uintptr, n int32) int32 { /* sqlite3.c:154161:12: */ +func whereLoopResize(tls *libc.TLS, db uintptr, p uintptr, n int32) int32 { /* sqlite3.c:154175:12: */ var paNew uintptr if int32((*WhereLoop)(unsafe.Pointer(p)).FnLSlot) >= n { return SQLITE_OK @@ -181257,7 +181275,7 @@ func whereLoopResize(tls *libc.TLS, db uintptr, p uintptr, n int32) int32 { /* s } // Transfer content from the second pLoop into the first. -func whereLoopXfer(tls *libc.TLS, db uintptr, pTo uintptr, pFrom uintptr) int32 { /* sqlite3.c:154177:12: */ +func whereLoopXfer(tls *libc.TLS, db uintptr, pTo uintptr, pFrom uintptr) int32 { /* sqlite3.c:154191:12: */ whereLoopClearUnion(tls, db, pTo) if whereLoopResize(tls, db, pTo, int32((*WhereLoop)(unsafe.Pointer(pFrom)).FnLTerm)) != 0 { libc.Xmemset(tls, pTo, 0, uint64(uintptr(0)+64)) @@ -181274,13 +181292,13 @@ func whereLoopXfer(tls *libc.TLS, db uintptr, pTo uintptr, pFrom uintptr) int32 } // Delete a WhereLoop object -func whereLoopDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:154196:13: */ +func whereLoopDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:154210:13: */ whereLoopClear(tls, db, p) Xsqlite3DbFreeNN(tls, db, p) } // Free a WhereInfo structure -func whereInfoFree(tls *libc.TLS, db uintptr, pWInfo uintptr) { /* sqlite3.c:154204:13: */ +func whereInfoFree(tls *libc.TLS, db uintptr, pWInfo uintptr) { /* sqlite3.c:154218:13: */ var i int32 for i = 0; i < int32((*WhereInfo)(unsafe.Pointer(pWInfo)).FnLevel); i++ { @@ -181301,7 +181319,7 @@ func whereInfoFree(tls *libc.TLS, db uintptr, pWInfo uintptr) { /* sqlite3.c:154 } // Undo all Expr node modifications -func whereUndoExprMods(tls *libc.TLS, pWInfo uintptr) { /* sqlite3.c:154226:13: */ +func whereUndoExprMods(tls *libc.TLS, pWInfo uintptr) { /* sqlite3.c:154240:13: */ for (*WhereInfo)(unsafe.Pointer(pWInfo)).FpExprMods != 0 { var p uintptr = (*WhereInfo)(unsafe.Pointer(pWInfo)).FpExprMods (*WhereInfo)(unsafe.Pointer(pWInfo)).FpExprMods = (*WhereExprMod)(unsafe.Pointer(p)).FpNext @@ -181327,7 +181345,7 @@ func whereUndoExprMods(tls *libc.TLS, pWInfo uintptr) { /* sqlite3.c:154226:13: // deserve a lower cost even if it is a proper subset of Y. Constraint (5) // was added because a covering index probably deserves to have a lower cost // than a non-covering index even if it is a proper subset. -func whereLoopCheaperProperSubset(tls *libc.TLS, pX uintptr, pY uintptr) int32 { /* sqlite3.c:154254:12: */ +func whereLoopCheaperProperSubset(tls *libc.TLS, pX uintptr, pY uintptr) int32 { /* sqlite3.c:154268:12: */ var i int32 var j int32 if int32((*WhereLoop)(unsafe.Pointer(pX)).FnLTerm)-int32((*WhereLoop)(unsafe.Pointer(pX)).FnSkip) >= int32((*WhereLoop)(unsafe.Pointer(pY)).FnLTerm)-int32((*WhereLoop)(unsafe.Pointer(pY)).FnSkip) { @@ -181371,7 +181389,7 @@ func whereLoopCheaperProperSubset(tls *libc.TLS, pX uintptr, pY uintptr) int32 { // To say "WhereLoop X is a proper subset of Y" means that X uses fewer // WHERE clause terms than Y and that every WHERE clause term used by X is // also used by Y. -func whereLoopAdjustCost(tls *libc.TLS, p uintptr, pTemplate uintptr) { /* sqlite3.c:154292:13: */ +func whereLoopAdjustCost(tls *libc.TLS, p uintptr, pTemplate uintptr) { /* sqlite3.c:154306:13: */ if (*WhereLoop)(unsafe.Pointer(pTemplate)).FwsFlags&U32(WHERE_INDEXED) == U32(0) { return } @@ -181430,7 +181448,7 @@ func whereLoopAdjustCost(tls *libc.TLS, p uintptr, pTemplate uintptr) { /* sqlit // If pTemplate cannot replace any existing element of the list but needs // to be added to the list as a new entry, then return a pointer to the // tail of the list. -func whereLoopFindLesser(tls *libc.TLS, ppPrev uintptr, pTemplate uintptr) uintptr { /* sqlite3.c:154333:18: */ +func whereLoopFindLesser(tls *libc.TLS, ppPrev uintptr, pTemplate uintptr) uintptr { /* sqlite3.c:154347:18: */ var p uintptr p = *(*uintptr)(unsafe.Pointer(ppPrev)) __1: @@ -181519,7 +181537,7 @@ __3: // (2) They have the same iSortIdx. // (3) The template has same or fewer dependencies than the current loop // (4) The template has the same or lower cost than the current loop -func whereLoopInsert(tls *libc.TLS, pBuilder uintptr, pTemplate uintptr) int32 { /* sqlite3.c:154421:12: */ +func whereLoopInsert(tls *libc.TLS, pBuilder uintptr, pTemplate uintptr) int32 { /* sqlite3.c:154435:12: */ var ppPrev uintptr var p uintptr var pWInfo uintptr = (*WhereLoopBuilder)(unsafe.Pointer(pBuilder)).FpWInfo @@ -181626,7 +181644,7 @@ func whereLoopInsert(tls *libc.TLS, pBuilder uintptr, pTemplate uintptr) int32 { // "x" column is boolean or else -1 or 0 or 1 is a common default value // on the "x" column and so in that case only cap the output row estimate // at 1/2 instead of 1/4. -func whereLoopOutputAdjust(tls *libc.TLS, pWC uintptr, pLoop uintptr, nRow LogEst) { /* sqlite3.c:154558:13: */ +func whereLoopOutputAdjust(tls *libc.TLS, pWC uintptr, pLoop uintptr, nRow LogEst) { /* sqlite3.c:154572:13: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -181672,7 +181690,14 @@ __1: // that depend only on the table being scanned, and that will tend to // cause many rows to be omitted, then mark that table as // "self-culling". - *(*U32)(unsafe.Pointer(pLoop + 56)) |= U32(WHERE_SELFCULL) + // + // 2022-03-24: Self-culling only applies if either the extra terms + // are straight comparison operators that are non-true with NULL + // operand, or if the loop is not a LEFT JOIN. + if int32((*WhereTerm)(unsafe.Pointer(pTerm)).FeOperator)&0x3f != 0 || + int32((*SrcItem)(unsafe.Pointer((*WhereInfo)(unsafe.Pointer((*WhereClause)(unsafe.Pointer(pWC)).FpWInfo)).FpTabList+8+uintptr((*WhereLoop)(unsafe.Pointer(pLoop)).FiTab)*112)).Ffg.Fjointype)&JT_LEFT == 0 { + *(*U32)(unsafe.Pointer(pLoop + 56)) |= U32(WHERE_SELFCULL) + } } if int32((*WhereTerm)(unsafe.Pointer(pTerm)).FtruthProb) <= 0 { // If a truth probability is specified using the likelihood() hints, @@ -181729,7 +181754,7 @@ __3: // // then this function would be invoked with nEq=1. The value returned in // this case is 3. -func whereRangeVectorLen(tls *libc.TLS, pParse uintptr, iCur int32, pIdx uintptr, nEq int32, pTerm uintptr) int32 { /* sqlite3.c:154637:12: */ +func whereRangeVectorLen(tls *libc.TLS, pParse uintptr, iCur int32, pIdx uintptr, nEq int32, pTerm uintptr) int32 { /* sqlite3.c:154660:12: */ var nCmp int32 = Xsqlite3ExprVectorSize(tls, (*Expr)(unsafe.Pointer((*WhereTerm)(unsafe.Pointer(pTerm)).FpExpr)).FpLeft) var i int32 @@ -181797,7 +181822,7 @@ func whereRangeVectorLen(tls *libc.TLS, pParse uintptr, iCur int32, pIdx uintptr // // If pProbe->idxType==SQLITE_IDXTYPE_IPK, that means pIndex is // a fake index used for the INTEGER PRIMARY KEY. -func whereLoopAddBtreeIndex(tls *libc.TLS, pBuilder uintptr, pSrc uintptr, pProbe uintptr, nInMul LogEst) int32 { /* sqlite3.c:154711:12: */ +func whereLoopAddBtreeIndex(tls *libc.TLS, pBuilder uintptr, pSrc uintptr, pProbe uintptr, nInMul LogEst) int32 { /* sqlite3.c:154734:12: */ bp := tls.Alloc(116) defer tls.Free(116) @@ -182157,7 +182182,7 @@ func whereLoopAddBtreeIndex(tls *libc.TLS, pBuilder uintptr, pSrc uintptr, pProb // Return False if pBuilder does not contain an ORDER BY clause or // if there is no way for pIndex to be useful in implementing that // ORDER BY clause. -func indexMightHelpWithOrderBy(tls *libc.TLS, pBuilder uintptr, pIndex uintptr, iCursor int32) int32 { /* sqlite3.c:155111:12: */ +func indexMightHelpWithOrderBy(tls *libc.TLS, pBuilder uintptr, pIndex uintptr, iCursor int32) int32 { /* sqlite3.c:155134:12: */ var pOB uintptr var aColExpr uintptr var ii int32 @@ -182199,7 +182224,7 @@ func indexMightHelpWithOrderBy(tls *libc.TLS, pBuilder uintptr, pIndex uintptr, // Check to see if a partial index with pPartIndexWhere can be used // in the current query. Return true if it can be and false if not. -func whereUsablePartialIndex(tls *libc.TLS, iTab int32, isLeft int32, pWC uintptr, pWhere uintptr) int32 { /* sqlite3.c:155145:12: */ +func whereUsablePartialIndex(tls *libc.TLS, iTab int32, isLeft int32, pWC uintptr, pWhere uintptr) int32 { /* sqlite3.c:155168:12: */ var i int32 var pTerm uintptr var pParse uintptr = (*WhereInfo)(unsafe.Pointer((*WhereClause)(unsafe.Pointer(pWC)).FpWInfo)).FpParse @@ -182274,7 +182299,7 @@ __3: // bias the scoring in favor of using an index, since the worst-case // performance of using an index is far better than the worst-case performance // of a full table scan. -func whereLoopAddBtree(tls *libc.TLS, pBuilder uintptr, mPrereq Bitmask) int32 { /* sqlite3.c:155209:12: */ +func whereLoopAddBtree(tls *libc.TLS, pBuilder uintptr, mPrereq Bitmask) int32 { /* sqlite3.c:155232:12: */ bp := tls.Alloc(158) defer tls.Free(158) @@ -182559,7 +182584,7 @@ __3: } // Return true if pTerm is a virtual table LIMIT or OFFSET term. -func isLimitTerm(tls *libc.TLS, pTerm uintptr) int32 { /* sqlite3.c:155467:12: */ +func isLimitTerm(tls *libc.TLS, pTerm uintptr) int32 { /* sqlite3.c:155490:12: */ return libc.Bool32(int32((*WhereTerm)(unsafe.Pointer(pTerm)).FeMatchOp) >= SQLITE_INDEX_CONSTRAINT_LIMIT && int32((*WhereTerm)(unsafe.Pointer(pTerm)).FeMatchOp) <= SQLITE_INDEX_CONSTRAINT_OFFSET) @@ -182583,7 +182608,7 @@ func isLimitTerm(tls *libc.TLS, pTerm uintptr) int32 { /* sqlite3.c:155467:12: * // // Output parameter *pbIn is set to true if the plan added to pBuilder // uses one or more WO_IN terms, or false otherwise. -func whereLoopAddVirtualOne(tls *libc.TLS, pBuilder uintptr, mPrereq Bitmask, mUsable Bitmask, mExclude U16, pIdxInfo uintptr, mNoOmit U16, pbIn uintptr, pbRetryLimit uintptr) int32 { /* sqlite3.c:155493:12: */ +func whereLoopAddVirtualOne(tls *libc.TLS, pBuilder uintptr, mPrereq Bitmask, mUsable Bitmask, mExclude U16, pIdxInfo uintptr, mNoOmit U16, pbIn uintptr, pbRetryLimit uintptr) int32 { /* sqlite3.c:155516:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -182807,7 +182832,7 @@ __6: // 2. Else, if the column has an alternative collation, return that. // // 3. Otherwise, return "BINARY". -func Xsqlite3_vtab_collation(tls *libc.TLS, pIdxInfo uintptr, iCons int32) uintptr { /* sqlite3.c:155685:23: */ +func Xsqlite3_vtab_collation(tls *libc.TLS, pIdxInfo uintptr, iCons int32) uintptr { /* sqlite3.c:155708:23: */ var pHidden uintptr = pIdxInfo + 1*96 var zRet uintptr = uintptr(0) if iCons >= 0 && iCons < (*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FnConstraint { @@ -182830,7 +182855,7 @@ func Xsqlite3_vtab_collation(tls *libc.TLS, pIdxInfo uintptr, iCons int32) uintp // Return true if constraint iCons is really an IN(...) constraint, or // false otherwise. If iCons is an IN(...) constraint, set (if bHandle!=0) // or clear (if bHandle==0) the flag to handle it using an iterator. -func Xsqlite3_vtab_in(tls *libc.TLS, pIdxInfo uintptr, iCons int32, bHandle int32) int32 { /* sqlite3.c:155705:16: */ +func Xsqlite3_vtab_in(tls *libc.TLS, pIdxInfo uintptr, iCons int32, bHandle int32) int32 { /* sqlite3.c:155728:16: */ var pHidden uintptr = pIdxInfo + 1*96 var m U32 = func() uint32 { if iCons <= 31 { @@ -182853,7 +182878,7 @@ func Xsqlite3_vtab_in(tls *libc.TLS, pIdxInfo uintptr, iCons int32, bHandle int3 // // If possible, set (*ppVal) to point to an object containing the value // on the right-hand-side of constraint iCons. -func Xsqlite3_vtab_rhs_value(tls *libc.TLS, pIdxInfo uintptr, iCons int32, ppVal uintptr) int32 { /* sqlite3.c:155725:16: */ +func Xsqlite3_vtab_rhs_value(tls *libc.TLS, pIdxInfo uintptr, iCons int32, ppVal uintptr) int32 { /* sqlite3.c:155748:16: */ var pH uintptr = pIdxInfo + 1*96 var pVal uintptr = uintptr(0) var rc int32 = SQLITE_OK @@ -182879,7 +182904,7 @@ func Xsqlite3_vtab_rhs_value(tls *libc.TLS, pIdxInfo uintptr, iCons int32, ppVal } // Return true if ORDER BY clause may be handled as DISTINCT. -func Xsqlite3_vtab_distinct(tls *libc.TLS, pIdxInfo uintptr) int32 { /* sqlite3.c:155758:16: */ +func Xsqlite3_vtab_distinct(tls *libc.TLS, pIdxInfo uintptr) int32 { /* sqlite3.c:155781:16: */ var pHidden uintptr = pIdxInfo + 1*96 return (*HiddenIndexInfo)(unsafe.Pointer(pHidden)).FeDistinct @@ -182908,7 +182933,7 @@ func Xsqlite3_vtab_distinct(tls *libc.TLS, pIdxInfo uintptr) int32 { /* sqlite3. // Conversely, all tables in mUnusable must be scanned after the current // virtual table, so any terms for which the prerequisites overlap with // mUnusable should always be configured as "not-usable" for xBestIndex. -func whereLoopAddVirtual(tls *libc.TLS, pBuilder uintptr, mPrereq Bitmask, mUnusable Bitmask) int32 { /* sqlite3.c:155807:12: */ +func whereLoopAddVirtual(tls *libc.TLS, pBuilder uintptr, mPrereq Bitmask, mUnusable Bitmask) int32 { /* sqlite3.c:155830:12: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -183044,7 +183069,7 @@ func whereLoopAddVirtual(tls *libc.TLS, pBuilder uintptr, mPrereq Bitmask, mUnus // Add WhereLoop entries to handle OR terms. This works for either // btrees or virtual tables. -func whereLoopAddOr(tls *libc.TLS, pBuilder uintptr, mPrereq Bitmask, mUnusable Bitmask) int32 { /* sqlite3.c:155938:12: */ +func whereLoopAddOr(tls *libc.TLS, pBuilder uintptr, mPrereq Bitmask, mUnusable Bitmask) int32 { /* sqlite3.c:155961:12: */ bp := tls.Alloc(712) defer tls.Free(712) @@ -183169,7 +183194,7 @@ func whereLoopAddOr(tls *libc.TLS, pBuilder uintptr, mPrereq Bitmask, mUnusable } // Add all WhereLoop objects for all tables -func whereLoopAddAll(tls *libc.TLS, pBuilder uintptr) int32 { /* sqlite3.c:156064:12: */ +func whereLoopAddAll(tls *libc.TLS, pBuilder uintptr) int32 { /* sqlite3.c:156087:12: */ var pWInfo uintptr = (*WhereLoopBuilder)(unsafe.Pointer(pBuilder)).FpWInfo var mPrereq Bitmask = uint64(0) var mPrior Bitmask = uint64(0) @@ -183257,7 +183282,7 @@ __3: // as equivalent rows are grouped together. Thus for GROUP BY and DISTINCT // the pOrderBy terms can be matched in any order. With ORDER BY, the // pOrderBy terms must be matched in strict left-to-right order. -func wherePathSatisfiesOrderBy(tls *libc.TLS, pWInfo uintptr, pOrderBy uintptr, pPath uintptr, wctrlFlags U16, nLoop U16, pLast uintptr, pRevMask uintptr) I8 { /* sqlite3.c:156142:11: */ +func wherePathSatisfiesOrderBy(tls *libc.TLS, pWInfo uintptr, pOrderBy uintptr, pPath uintptr, wctrlFlags U16, nLoop U16, pLast uintptr, pRevMask uintptr) I8 { /* sqlite3.c:156165:11: */ var revSet U8 // True if rev is known var rev U8 // Composite sort order var revIdx U8 // Index sort order @@ -183625,7 +183650,7 @@ func wherePathSatisfiesOrderBy(tls *libc.TLS, pWInfo uintptr, pOrderBy uintptr, // // SELECT * FROM t1 GROUP BY x,y ORDER BY x,y; -- IsSorted()==1 // SELECT * FROM t1 GROUP BY y,x ORDER BY y,x; -- IsSorted()==0 -func Xsqlite3WhereIsSorted(tls *libc.TLS, pWInfo uintptr) int32 { /* sqlite3.c:156487:20: */ +func Xsqlite3WhereIsSorted(tls *libc.TLS, pWInfo uintptr) int32 { /* sqlite3.c:156510:20: */ return int32(*(*uint8)(unsafe.Pointer(pWInfo + 76)) & 0x8 >> 3) } @@ -183633,7 +183658,7 @@ func Xsqlite3WhereIsSorted(tls *libc.TLS, pWInfo uintptr) int32 { /* sqlite3.c:1 // Return the cost of sorting nRow rows, assuming that the keys have // nOrderby columns and that the first nSorted columns are already in // order. -func whereSortingCost(tls *libc.TLS, pWInfo uintptr, nRow LogEst, nOrderBy int32, nSorted int32) LogEst { /* sqlite3.c:156510:15: */ +func whereSortingCost(tls *libc.TLS, pWInfo uintptr, nRow LogEst, nOrderBy int32, nSorted int32) LogEst { /* sqlite3.c:156533:15: */ // TUNING: Estimated cost of a full external sort, where N is // the number of rows to sort is: // @@ -183680,7 +183705,7 @@ func whereSortingCost(tls *libc.TLS, pWInfo uintptr, nRow LogEst, nOrderBy int32 // // Return SQLITE_OK on success or SQLITE_NOMEM of a memory allocation // error occurs. -func wherePathSolver(tls *libc.TLS, pWInfo uintptr, nRowEst LogEst) int32 { /* sqlite3.c:156563:12: */ +func wherePathSolver(tls *libc.TLS, pWInfo uintptr, nRowEst LogEst) int32 { /* sqlite3.c:156586:12: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -184087,7 +184112,7 @@ __3: // Return non-zero on success, if this query can be handled by this // no-frills query planner. Return zero if this query needs the // general-purpose query planner. -func whereShortCut(tls *libc.TLS, pBuilder uintptr) int32 { /* sqlite3.c:156955:12: */ +func whereShortCut(tls *libc.TLS, pBuilder uintptr) int32 { /* sqlite3.c:156978:12: */ bp := tls.Alloc(112) defer tls.Free(112) @@ -184194,7 +184219,7 @@ func whereShortCut(tls *libc.TLS, pBuilder uintptr) int32 { /* sqlite3.c:156955: } // Helper function for exprIsDeterministic(). -func exprNodeIsDeterministic(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:157046:12: */ +func exprNodeIsDeterministic(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:157069:12: */ if int32((*Expr)(unsafe.Pointer(pExpr)).Fop) == TK_FUNCTION && libc.Bool32((*Expr)(unsafe.Pointer(pExpr)).Fflags&U32(EP_ConstFunc) != U32(0)) == 0 { (*Walker)(unsafe.Pointer(pWalker)).FeCode = U16(0) return WRC_Abort @@ -184205,7 +184230,7 @@ func exprNodeIsDeterministic(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int3 // Return true if the expression contains no non-deterministic SQL // functions. Do not consider non-deterministic SQL functions that are // part of sub-select statements. -func exprIsDeterministic(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:157059:12: */ +func exprIsDeterministic(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:157082:12: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -184251,7 +184276,7 @@ func exprIsDeterministic(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:157059:1 // SELECT DISTINCT v1, v3 FROM t1 // LEFT JOIN t2 // LEFT JOIN t3 ON (t1.ipk=t3.ipk) -func whereOmitNoopJoin(tls *libc.TLS, pWInfo uintptr, notReady Bitmask) Bitmask { /* sqlite3.c:157120:32: */ +func whereOmitNoopJoin(tls *libc.TLS, pWInfo uintptr, notReady Bitmask) Bitmask { /* sqlite3.c:157143:32: */ var i int32 var tabUsed Bitmask @@ -184326,7 +184351,7 @@ func whereOmitNoopJoin(tls *libc.TLS, pWInfo uintptr, notReady Bitmask) Bitmask // appropriate, and if so sets the WHERE_BLOOMFILTER flag on the // WhereLoop. The implementation of the Bloom filter comes further // down where the code for each WhereLoop is generated. -func whereCheckIfBloomFilterIsUseful(tls *libc.TLS, pWInfo uintptr) { /* sqlite3.c:157199:29: */ +func whereCheckIfBloomFilterIsUseful(tls *libc.TLS, pWInfo uintptr) { /* sqlite3.c:157222:29: */ var i int32 var nSearch LogEst @@ -184438,7 +184463,7 @@ func whereCheckIfBloomFilterIsUseful(tls *libc.TLS, pWInfo uintptr) { /* sqlite3 // the first cursor in an array of cursors for all indices. iIdxCur should // be used to compute the appropriate cursor depending on which index is // used. -func Xsqlite3WhereBegin(tls *libc.TLS, pParse uintptr, pTabList uintptr, pWhere uintptr, pOrderBy uintptr, pResultSet uintptr, pLimit uintptr, wctrlFlags U16, iAuxArg int32) uintptr { /* sqlite3.c:157323:26: */ +func Xsqlite3WhereBegin(tls *libc.TLS, pParse uintptr, pTabList uintptr, pWhere uintptr, pOrderBy uintptr, pResultSet uintptr, pLimit uintptr, wctrlFlags U16, iAuxArg int32) uintptr { /* sqlite3.c:157346:26: */ bp := tls.Alloc(64) defer tls.Free(64) @@ -185123,7 +185148,7 @@ __78: // Generate the end of the WHERE loop. See comments on // sqlite3WhereBegin() for additional information. -func Xsqlite3WhereEnd(tls *libc.TLS, pWInfo uintptr) { /* sqlite3.c:157889:21: */ +func Xsqlite3WhereEnd(tls *libc.TLS, pWInfo uintptr) { /* sqlite3.c:157932:21: */ var pParse uintptr = (*WhereInfo)(unsafe.Pointer(pWInfo)).FpParse var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe var i int32 @@ -185336,12 +185361,12 @@ __4: int32((*VdbeOp)(unsafe.Pointer(pOp)).Fopcode) == OP_Offset { var x int32 = (*VdbeOp)(unsafe.Pointer(pOp)).Fp2 - if !((*Table)(unsafe.Pointer(pTab)).FtabFlags&U32(TF_WithoutRowid) == U32(0)) { + if int32((*VdbeOp)(unsafe.Pointer(pOp)).Fopcode) == OP_Offset { + // Do not need to translate the column number + } else if !((*Table)(unsafe.Pointer(pTab)).FtabFlags&U32(TF_WithoutRowid) == U32(0)) { var pPk uintptr = Xsqlite3PrimaryKeyIndex(tls, pTab) x = int32(*(*I16)(unsafe.Pointer((*Index)(unsafe.Pointer(pPk)).FaiColumn + uintptr(x)*2))) - } else if int32((*VdbeOp)(unsafe.Pointer(pOp)).Fopcode) == OP_Offset { - // Do not need to translate the column number } else { x = int32(Xsqlite3StorageColumnToTable(tls, pTab, int16(x))) @@ -185351,8 +185376,12 @@ __4: (*VdbeOp)(unsafe.Pointer(pOp)).Fp2 = x (*VdbeOp)(unsafe.Pointer(pOp)).Fp1 = (*WhereLevel)(unsafe.Pointer(pLevel)).FiIdxCur - } + } else { + // Unable to translate the table reference into an index + // reference. Verify that this is harmless - that the + // table being referenced really is open. + } } else if int32((*VdbeOp)(unsafe.Pointer(pOp)).Fopcode) == OP_Rowid { (*VdbeOp)(unsafe.Pointer(pOp)).Fp1 = (*WhereLevel)(unsafe.Pointer(pLevel)).FiIdxCur (*VdbeOp)(unsafe.Pointer(pOp)).Fopcode = U8(OP_IdxRowid) @@ -185523,7 +185552,7 @@ __6: // window frame has been coerced to: // // ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW -func row_numberStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158331:13: */ +func row_numberStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158388:13: */ var p uintptr = Xsqlite3_aggregate_context(tls, pCtx, int32(unsafe.Sizeof(I64(0)))) if p != 0 { *(*I64)(unsafe.Pointer(p))++ @@ -185532,7 +185561,7 @@ func row_numberStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) _ = apArg } -func row_numberValueFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158341:13: */ +func row_numberValueFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158398:13: */ var p uintptr = Xsqlite3_aggregate_context(tls, pCtx, int32(unsafe.Sizeof(I64(0)))) Xsqlite3_result_int64(tls, pCtx, func() int64 { if p != 0 { @@ -185548,13 +185577,13 @@ type CallCount = struct { FnValue I64 FnStep I64 FnTotal I64 -} /* sqlite3.c:158350:1 */ +} /* sqlite3.c:158407:1 */ // Implementation of built-in window function dense_rank(). Assumes that // the window frame has been set to: // // RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW -func dense_rankStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158362:13: */ +func dense_rankStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158419:13: */ var p uintptr p = Xsqlite3_aggregate_context(tls, pCtx, int32(unsafe.Sizeof(CallCount{}))) if p != 0 { @@ -185564,7 +185593,7 @@ func dense_rankStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) _ = apArg } -func dense_rankValueFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158373:13: */ +func dense_rankValueFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158430:13: */ var p uintptr p = Xsqlite3_aggregate_context(tls, pCtx, int32(unsafe.Sizeof(CallCount{}))) if p != 0 { @@ -185582,9 +185611,9 @@ func dense_rankValueFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158373:13: type NthValueCtx = struct { FnStep I64 FpValue uintptr -} /* sqlite3.c:158390:1 */ +} /* sqlite3.c:158447:1 */ -func nth_valueStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158394:13: */ +func nth_valueStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158451:13: */ var p uintptr var fVal float64 var iVal I64 @@ -185650,7 +185679,7 @@ error_out: pCtx, ts+23268, -1) } -func nth_valueFinalizeFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158435:13: */ +func nth_valueFinalizeFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158492:13: */ var p uintptr p = Xsqlite3_aggregate_context(tls, pCtx, 0) if p != 0 && (*NthValueCtx)(unsafe.Pointer(p)).FpValue != 0 { @@ -185660,7 +185689,7 @@ func nth_valueFinalizeFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158435:13 } } -func first_valueStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158447:13: */ +func first_valueStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158504:13: */ var p uintptr p = Xsqlite3_aggregate_context(tls, pCtx, int32(unsafe.Sizeof(NthValueCtx{}))) if p != 0 && (*NthValueCtx)(unsafe.Pointer(p)).FpValue == uintptr(0) { @@ -185673,7 +185702,7 @@ func first_valueStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) _ = apArg } -func first_valueFinalizeFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158463:13: */ +func first_valueFinalizeFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158520:13: */ var p uintptr p = Xsqlite3_aggregate_context(tls, pCtx, int32(unsafe.Sizeof(NthValueCtx{}))) if p != 0 && (*NthValueCtx)(unsafe.Pointer(p)).FpValue != 0 { @@ -185687,7 +185716,7 @@ func first_valueFinalizeFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158463: // the window frame has been set to: // // RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW -func rankStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158481:13: */ +func rankStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158538:13: */ var p uintptr p = Xsqlite3_aggregate_context(tls, pCtx, int32(unsafe.Sizeof(CallCount{}))) if p != 0 { @@ -185700,7 +185729,7 @@ func rankStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* s _ = apArg } -func rankValueFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158497:13: */ +func rankValueFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158554:13: */ var p uintptr p = Xsqlite3_aggregate_context(tls, pCtx, int32(unsafe.Sizeof(CallCount{}))) if p != 0 { @@ -185713,7 +185742,7 @@ func rankValueFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158497:13: */ // the window frame has been set to: // // GROUPS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING -func percent_rankStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158512:13: */ +func percent_rankStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158569:13: */ var p uintptr _ = nArg _ = apArg @@ -185723,7 +185752,7 @@ func percent_rankStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr } } -func percent_rankInvFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158525:13: */ +func percent_rankInvFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158582:13: */ var p uintptr _ = nArg _ = apArg @@ -185731,7 +185760,7 @@ func percent_rankInvFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) (*CallCount)(unsafe.Pointer(p)).FnStep++ } -func percent_rankValueFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158536:13: */ +func percent_rankValueFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158593:13: */ var p uintptr p = Xsqlite3_aggregate_context(tls, pCtx, int32(unsafe.Sizeof(CallCount{}))) if p != 0 { @@ -185749,7 +185778,7 @@ func percent_rankValueFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158536:13 // the window frame has been set to: // // GROUPS BETWEEN 1 FOLLOWING AND UNBOUNDED FOLLOWING -func cume_distStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158557:13: */ +func cume_distStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158614:13: */ var p uintptr _ = nArg _ = apArg @@ -185759,7 +185788,7 @@ func cume_distStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { } } -func cume_distInvFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158570:13: */ +func cume_distInvFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158627:13: */ var p uintptr _ = nArg _ = apArg @@ -185767,7 +185796,7 @@ func cume_distInvFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { (*CallCount)(unsafe.Pointer(p)).FnStep++ } -func cume_distValueFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158581:13: */ +func cume_distValueFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158638:13: */ var p uintptr p = Xsqlite3_aggregate_context(tls, pCtx, 0) if p != 0 { @@ -185781,13 +185810,13 @@ type NtileCtx = struct { FnTotal I64 FnParam I64 FiRow I64 -} /* sqlite3.c:158594:1 */ +} /* sqlite3.c:158651:1 */ // Implementation of ntile(). This assumes that the window frame has // been coerced to: // // ROWS CURRENT ROW AND UNBOUNDED FOLLOWING -func ntileStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158606:13: */ +func ntileStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158663:13: */ var p uintptr _ = nArg p = Xsqlite3_aggregate_context(tls, pCtx, int32(unsafe.Sizeof(NtileCtx{}))) @@ -185803,7 +185832,7 @@ func ntileStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* } } -func ntileInvFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158626:13: */ +func ntileInvFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158683:13: */ var p uintptr _ = nArg _ = apArg @@ -185811,7 +185840,7 @@ func ntileInvFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* s (*NtileCtx)(unsafe.Pointer(p)).FiRow++ } -func ntileValueFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158637:13: */ +func ntileValueFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158694:13: */ var p uintptr p = Xsqlite3_aggregate_context(tls, pCtx, int32(unsafe.Sizeof(NtileCtx{}))) if p != 0 && (*NtileCtx)(unsafe.Pointer(p)).FnParam > int64(0) { @@ -185837,10 +185866,10 @@ type LastValueCtx = struct { FpVal uintptr FnVal int32 F__ccgo_pad1 [4]byte -} /* sqlite3.c:158664:1 */ +} /* sqlite3.c:158721:1 */ // Implementation of last_value(). -func last_valueStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158672:13: */ +func last_valueStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158729:13: */ var p uintptr _ = nArg p = Xsqlite3_aggregate_context(tls, pCtx, int32(unsafe.Sizeof(LastValueCtx{}))) @@ -185855,7 +185884,7 @@ func last_valueStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) } } -func last_valueInvFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158690:13: */ +func last_valueInvFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:158747:13: */ var p uintptr _ = nArg _ = apArg @@ -185869,7 +185898,7 @@ func last_valueInvFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { } } -func last_valueValueFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158707:13: */ +func last_valueValueFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158764:13: */ var p uintptr p = Xsqlite3_aggregate_context(tls, pCtx, 0) if p != 0 && (*LastValueCtx)(unsafe.Pointer(p)).FpVal != 0 { @@ -185877,7 +185906,7 @@ func last_valueValueFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158707:13: } } -func last_valueFinalizeFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158714:13: */ +func last_valueFinalizeFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158771:13: */ var p uintptr p = Xsqlite3_aggregate_context(tls, pCtx, int32(unsafe.Sizeof(LastValueCtx{}))) if p != 0 && (*LastValueCtx)(unsafe.Pointer(p)).FpVal != 0 { @@ -185893,17 +185922,17 @@ func last_valueFinalizeFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:158714:1 // comparison of the zName pointer. Example: // // if( pFuncDef->zName==row_valueName ){ ... } -var row_numberName = *(*[11]int8)(unsafe.Pointer(ts + 23369)) /* sqlite3.c:158732:19 */ -var dense_rankName = *(*[11]int8)(unsafe.Pointer(ts + 23380)) /* sqlite3.c:158733:19 */ -var rankName = *(*[5]int8)(unsafe.Pointer(ts + 23391)) /* sqlite3.c:158734:19 */ -var percent_rankName = *(*[13]int8)(unsafe.Pointer(ts + 23396)) /* sqlite3.c:158735:19 */ -var cume_distName = *(*[10]int8)(unsafe.Pointer(ts + 23409)) /* sqlite3.c:158736:19 */ -var ntileName = *(*[6]int8)(unsafe.Pointer(ts + 23419)) /* sqlite3.c:158737:19 */ -var last_valueName = *(*[11]int8)(unsafe.Pointer(ts + 23425)) /* sqlite3.c:158738:19 */ -var nth_valueName = *(*[10]int8)(unsafe.Pointer(ts + 23436)) /* sqlite3.c:158739:19 */ -var first_valueName = *(*[12]int8)(unsafe.Pointer(ts + 23446)) /* sqlite3.c:158740:19 */ -var leadName = *(*[5]int8)(unsafe.Pointer(ts + 23458)) /* sqlite3.c:158741:19 */ -var lagName = *(*[4]int8)(unsafe.Pointer(ts + 23463 /* "lag" */)) /* sqlite3.c:158742:19 */ +var row_numberName = *(*[11]int8)(unsafe.Pointer(ts + 23369)) /* sqlite3.c:158789:19 */ +var dense_rankName = *(*[11]int8)(unsafe.Pointer(ts + 23380)) /* sqlite3.c:158790:19 */ +var rankName = *(*[5]int8)(unsafe.Pointer(ts + 23391)) /* sqlite3.c:158791:19 */ +var percent_rankName = *(*[13]int8)(unsafe.Pointer(ts + 23396)) /* sqlite3.c:158792:19 */ +var cume_distName = *(*[10]int8)(unsafe.Pointer(ts + 23409)) /* sqlite3.c:158793:19 */ +var ntileName = *(*[6]int8)(unsafe.Pointer(ts + 23419)) /* sqlite3.c:158794:19 */ +var last_valueName = *(*[11]int8)(unsafe.Pointer(ts + 23425)) /* sqlite3.c:158795:19 */ +var nth_valueName = *(*[10]int8)(unsafe.Pointer(ts + 23436)) /* sqlite3.c:158796:19 */ +var first_valueName = *(*[12]int8)(unsafe.Pointer(ts + 23446)) /* sqlite3.c:158797:19 */ +var leadName = *(*[5]int8)(unsafe.Pointer(ts + 23458)) /* sqlite3.c:158798:19 */ +var lagName = *(*[4]int8)(unsafe.Pointer(ts + 23463 /* "lag" */)) /* sqlite3.c:158799:19 */ // No-op implementations of xStep() and xFinalize(). Used as place-holders // for built-in window functions that never call those interfaces. @@ -185912,7 +185941,7 @@ var lagName = *(*[4]int8)(unsafe.Pointer(ts + 23463 /* "lag" */)) /* sqlite3.c:1 // noopStepFunc() is never called, and so it is marked with NO_TEST to // let the test coverage routine know not to expect this function to be // invoked. -func noopStepFunc(tls *libc.TLS, p uintptr, n int32, a uintptr) { /* sqlite3.c:158753:13: */ //NO_TEST +func noopStepFunc(tls *libc.TLS, p uintptr, n int32, a uintptr) { /* sqlite3.c:158810:13: */ //NO_TEST _ = p //NO_TEST _ = n //NO_TEST _ = a //NO_TEST @@ -185920,7 +185949,7 @@ func noopStepFunc(tls *libc.TLS, p uintptr, n int32, a uintptr) { /* sqlite3.c:1 } //NO_TEST -func noopValueFunc(tls *libc.TLS, p uintptr) { /* sqlite3.c:158763:13: */ +func noopValueFunc(tls *libc.TLS, p uintptr) { /* sqlite3.c:158820:13: */ _ = p /*no-op*/ } @@ -185935,7 +185964,7 @@ func noopValueFunc(tls *libc.TLS, p uintptr) { /* sqlite3.c:158763:13: */ // xInverse. // Register those built-in window functions that are not also aggregates. -func Xsqlite3WindowFunctions(tls *libc.TLS) { /* sqlite3.c:158794:21: */ +func Xsqlite3WindowFunctions(tls *libc.TLS) { /* sqlite3.c:158851:21: */ Xsqlite3InsertBuiltinFuncs(tls, uintptr(unsafe.Pointer(&aWindowFuncs)), int32(uint64(unsafe.Sizeof(aWindowFuncs))/uint64(unsafe.Sizeof(FuncDef{})))) } @@ -185954,9 +185983,9 @@ var aWindowFuncs = [15]FuncDef{ {FnArg: int8(3), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_UTF8 | SQLITE_FUNC_WINDOW | 0), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: 0}, {FnArg: int8(1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_UTF8 | SQLITE_FUNC_WINDOW | 0), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: 0}, {FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_UTF8 | SQLITE_FUNC_WINDOW | 0), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: 0}, - {FnArg: int8(3), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_UTF8 | SQLITE_FUNC_WINDOW | 0), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: 0}} /* sqlite3.c:158795:18 */ + {FnArg: int8(3), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_UTF8 | SQLITE_FUNC_WINDOW | 0), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: 0}} /* sqlite3.c:158852:18 */ -func windowFind(tls *libc.TLS, pParse uintptr, pList uintptr, zName uintptr) uintptr { /* sqlite3.c:158815:15: */ +func windowFind(tls *libc.TLS, pParse uintptr, pList uintptr, zName uintptr) uintptr { /* sqlite3.c:158872:15: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -185987,7 +186016,7 @@ func windowFind(tls *libc.TLS, pParse uintptr, pList uintptr, zName uintptr) uin // * If the function is a built-in window function that requires the // window to be coerced (see "BUILT-IN WINDOW FUNCTIONS" at the top // of this file), pWin is updated here. -func Xsqlite3WindowUpdate(tls *libc.TLS, pParse uintptr, pList uintptr, pWin uintptr, pFunc uintptr) { /* sqlite3.c:158843:21: */ +func Xsqlite3WindowUpdate(tls *libc.TLS, pParse uintptr, pList uintptr, pWin uintptr, pFunc uintptr) { /* sqlite3.c:158900:21: */ bp := tls.Alloc(192) defer tls.Free(192) @@ -186055,16 +186084,16 @@ type WindowUpdate = struct { FeStart int32 FeEnd int32 F__ccgo_pad1 [4]byte -} /* sqlite3.c:158878:7 */ +} /* sqlite3.c:158935:7 */ // Context object passed through sqlite3WalkExprList() to // selectWindowRewriteExprCb() by selectWindowRewriteEList(). -type WindowRewrite = WindowRewrite1 /* sqlite3.c:158918:30 */ +type WindowRewrite = WindowRewrite1 /* sqlite3.c:158975:30 */ // Callback function used by selectWindowRewriteEList(). If necessary, // this function appends to the output expression-list and updates // expression (*ppExpr) in place. -func selectWindowRewriteExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:158932:12: */ +func selectWindowRewriteExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:158989:12: */ var p uintptr = *(*uintptr)(unsafe.Pointer(pWalker + 40)) var pParse uintptr = (*Walker)(unsafe.Pointer(pWalker)).FpParse @@ -186163,7 +186192,7 @@ func selectWindowRewriteExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) in return WRC_Continue } -func selectWindowRewriteSelectCb(tls *libc.TLS, pWalker uintptr, pSelect uintptr) int32 { /* sqlite3.c:159014:12: */ +func selectWindowRewriteSelectCb(tls *libc.TLS, pWalker uintptr, pSelect uintptr) int32 { /* sqlite3.c:159071:12: */ var p uintptr = *(*uintptr)(unsafe.Pointer(pWalker + 40)) var pSave uintptr = (*WindowRewrite1)(unsafe.Pointer(p)).FpSubSelect if pSave == pSelect { @@ -186187,7 +186216,7 @@ func selectWindowRewriteSelectCb(tls *libc.TLS, pWalker uintptr, pSelect uintptr // with a TK_COLUMN that reads the (N-1)th element of table // pWin->iEphCsr, where N is the number of elements in (*ppSub) after // appending the new one. -func selectWindowRewriteEList(tls *libc.TLS, pParse uintptr, pWin uintptr, pSrc uintptr, pEList uintptr, pTab uintptr, ppSub uintptr) { /* sqlite3.c:159041:13: */ +func selectWindowRewriteEList(tls *libc.TLS, pParse uintptr, pWin uintptr, pSrc uintptr, pEList uintptr, pTab uintptr, ppSub uintptr) { /* sqlite3.c:159098:13: */ bp := tls.Alloc(88) defer tls.Free(88) @@ -186219,7 +186248,7 @@ func selectWindowRewriteEList(tls *libc.TLS, pParse uintptr, pWin uintptr, pSrc // Append a copy of each expression in expression-list pAppend to // expression list pList. Return a pointer to the result list. -func exprListAppendList(tls *libc.TLS, pParse uintptr, pList uintptr, pAppend uintptr, bIntToNull int32) uintptr { /* sqlite3.c:159075:17: */ +func exprListAppendList(tls *libc.TLS, pParse uintptr, pList uintptr, pAppend uintptr, bIntToNull int32) uintptr { /* sqlite3.c:159132:17: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -186265,7 +186294,7 @@ func exprListAppendList(tls *libc.TLS, pParse uintptr, pList uintptr, pAppend ui // due to the extra subquery layer that was added. // // See also the incrAggDepth() routine in resolve.c -func sqlite3WindowExtraAggFuncDepth(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:159117:12: */ +func sqlite3WindowExtraAggFuncDepth(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:159174:12: */ if int32((*Expr)(unsafe.Pointer(pExpr)).Fop) == TK_AGG_FUNCTION && int32((*Expr)(unsafe.Pointer(pExpr)).Fop2) >= (*Walker)(unsafe.Pointer(pWalker)).FwalkerDepth { (*Expr)(unsafe.Pointer(pExpr)).Fop2++ @@ -186273,7 +186302,7 @@ func sqlite3WindowExtraAggFuncDepth(tls *libc.TLS, pWalker uintptr, pExpr uintpt return WRC_Continue } -func disallowAggregatesInOrderByCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:159126:12: */ +func disallowAggregatesInOrderByCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:159183:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -186290,7 +186319,7 @@ func disallowAggregatesInOrderByCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr // rewrites the SELECT statement so that window function xStep functions // are invoked in the correct order as described under "SELECT REWRITING" // at the top of this file. -func Xsqlite3WindowRewrite(tls *libc.TLS, pParse uintptr, p uintptr) int32 { /* sqlite3.c:159142:20: */ +func Xsqlite3WindowRewrite(tls *libc.TLS, pParse uintptr, p uintptr) int32 { /* sqlite3.c:159199:20: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -186474,7 +186503,7 @@ func Xsqlite3WindowRewrite(tls *libc.TLS, pParse uintptr, p uintptr) int32 { /* // Unlink the Window object from the Select to which it is attached, // if it is attached. -func Xsqlite3WindowUnlinkFromSelect(tls *libc.TLS, p uintptr) { /* sqlite3.c:159306:21: */ +func Xsqlite3WindowUnlinkFromSelect(tls *libc.TLS, p uintptr) { /* sqlite3.c:159363:21: */ if (*Window)(unsafe.Pointer(p)).FppThis != 0 { *(*uintptr)(unsafe.Pointer((*Window)(unsafe.Pointer(p)).FppThis)) = (*Window)(unsafe.Pointer(p)).FpNextWin if (*Window)(unsafe.Pointer(p)).FpNextWin != 0 { @@ -186485,7 +186514,7 @@ func Xsqlite3WindowUnlinkFromSelect(tls *libc.TLS, p uintptr) { /* sqlite3.c:159 } // Free the Window object passed as the second argument. -func Xsqlite3WindowDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:159317:21: */ +func Xsqlite3WindowDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:159374:21: */ if p != 0 { Xsqlite3WindowUnlinkFromSelect(tls, p) Xsqlite3ExprDelete(tls, db, (*Window)(unsafe.Pointer(p)).FpFilter) @@ -186500,7 +186529,7 @@ func Xsqlite3WindowDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:1 } // Free the linked list of Window objects starting at the second argument. -func Xsqlite3WindowListDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:159334:21: */ +func Xsqlite3WindowListDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:159391:21: */ for p != 0 { var pNext uintptr = (*Window)(unsafe.Pointer(p)).FpNextWin Xsqlite3WindowDelete(tls, db, p) @@ -186513,7 +186542,7 @@ func Xsqlite3WindowListDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3 // constant, change it to NULL. The fact that it is then a non-negative // integer will be caught later. But it is important not to leave // variable values in the expression tree. -func sqlite3WindowOffsetExpr(tls *libc.TLS, pParse uintptr, pExpr uintptr) uintptr { /* sqlite3.c:159349:13: */ +func sqlite3WindowOffsetExpr(tls *libc.TLS, pParse uintptr, pExpr uintptr) uintptr { /* sqlite3.c:159406:13: */ if 0 == Xsqlite3ExprIsConstant(tls, pExpr) { if int32((*Parse)(unsafe.Pointer(pParse)).FeParseMode) >= PARSE_MODE_RENAME { Xsqlite3RenameExprUnmap(tls, pParse, pExpr) @@ -186525,7 +186554,7 @@ func sqlite3WindowOffsetExpr(tls *libc.TLS, pParse uintptr, pExpr uintptr) uintp } // Allocate and return a new Window object describing a Window Definition. -func Xsqlite3WindowAlloc(tls *libc.TLS, pParse uintptr, eType int32, eStart int32, pStart uintptr, eEnd int32, pEnd uintptr, eExclude U8) uintptr { /* sqlite3.c:159361:23: */ +func Xsqlite3WindowAlloc(tls *libc.TLS, pParse uintptr, eType int32, eStart int32, pStart uintptr, eEnd int32, pEnd uintptr, eExclude U8) uintptr { /* sqlite3.c:159418:23: */ var pWin uintptr var bImplicitFrame int32 pWin = uintptr(0) @@ -186594,7 +186623,7 @@ windowAllocErr: // Attach PARTITION and ORDER BY clauses pPartition and pOrderBy to window // pWin. Also, if parameter pBase is not NULL, set pWin->zBase to the // equivalent nul-terminated string. -func Xsqlite3WindowAssemble(tls *libc.TLS, pParse uintptr, pWin uintptr, pPartition uintptr, pOrderBy uintptr, pBase uintptr) uintptr { /* sqlite3.c:159433:23: */ +func Xsqlite3WindowAssemble(tls *libc.TLS, pParse uintptr, pWin uintptr, pPartition uintptr, pOrderBy uintptr, pBase uintptr) uintptr { /* sqlite3.c:159490:23: */ if pWin != 0 { (*Window)(unsafe.Pointer(pWin)).FpPartition = pPartition (*Window)(unsafe.Pointer(pWin)).FpOrderBy = pOrderBy @@ -186613,7 +186642,7 @@ func Xsqlite3WindowAssemble(tls *libc.TLS, pParse uintptr, pWin uintptr, pPartit // stored in the linked list starting at pWin->pNextWin. This function // either updates *pWin according to the base specification, or else // leaves an error in pParse. -func Xsqlite3WindowChain(tls *libc.TLS, pParse uintptr, pWin uintptr, pList uintptr) { /* sqlite3.c:159460:21: */ +func Xsqlite3WindowChain(tls *libc.TLS, pParse uintptr, pWin uintptr, pList uintptr) { /* sqlite3.c:159517:21: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -186647,7 +186676,7 @@ func Xsqlite3WindowChain(tls *libc.TLS, pParse uintptr, pWin uintptr, pList uint } // Attach window object pWin to expression p. -func Xsqlite3WindowAttach(tls *libc.TLS, pParse uintptr, p uintptr, pWin uintptr) { /* sqlite3.c:159494:21: */ +func Xsqlite3WindowAttach(tls *libc.TLS, pParse uintptr, p uintptr, pWin uintptr) { /* sqlite3.c:159551:21: */ if p != 0 { *(*uintptr)(unsafe.Pointer(p + 64)) = pWin @@ -186666,7 +186695,7 @@ func Xsqlite3WindowAttach(tls *libc.TLS, pParse uintptr, p uintptr, pWin uintptr // to be processed as part of SELECT statement pSel). The window is linked // in if either (a) there are no other windows already linked to this // SELECT, or (b) the windows already linked use a compatible window frame. -func Xsqlite3WindowLink(tls *libc.TLS, pSel uintptr, pWin uintptr) { /* sqlite3.c:159517:21: */ +func Xsqlite3WindowLink(tls *libc.TLS, pSel uintptr, pWin uintptr) { /* sqlite3.c:159574:21: */ if pSel != 0 { if uintptr(0) == (*Select)(unsafe.Pointer(pSel)).FpWin || 0 == Xsqlite3WindowCompare(tls, uintptr(0), (*Select)(unsafe.Pointer(pSel)).FpWin, pWin, 0) { (*Window)(unsafe.Pointer(pWin)).FpNextWin = (*Select)(unsafe.Pointer(pSel)).FpWin @@ -186686,7 +186715,7 @@ func Xsqlite3WindowLink(tls *libc.TLS, pSel uintptr, pWin uintptr) { /* sqlite3. // Return 0 if the two window objects are identical, 1 if they are // different, or 2 if it cannot be determined if the objects are identical // or not. Identical window objects can be processed in a single scan. -func Xsqlite3WindowCompare(tls *libc.TLS, pParse uintptr, p1 uintptr, p2 uintptr, bFilter int32) int32 { /* sqlite3.c:159539:20: */ +func Xsqlite3WindowCompare(tls *libc.TLS, pParse uintptr, p1 uintptr, p2 uintptr, bFilter int32) int32 { /* sqlite3.c:159596:20: */ var res int32 if p1 == uintptr(0) || p2 == uintptr(0) { return 1 @@ -186726,7 +186755,7 @@ func Xsqlite3WindowCompare(tls *libc.TLS, pParse uintptr, p1 uintptr, p2 uintptr // This is called by code in select.c before it calls sqlite3WhereBegin() // to begin iterating through the sub-query results. It is used to allocate // and initialize registers and cursors used by sqlite3WindowCodeStep(). -func Xsqlite3WindowCodeInit(tls *libc.TLS, pParse uintptr, pSelect uintptr) { /* sqlite3.c:159573:21: */ +func Xsqlite3WindowCodeInit(tls *libc.TLS, pParse uintptr, pSelect uintptr) { /* sqlite3.c:159630:21: */ var nEphExpr int32 = (*ExprList)(unsafe.Pointer((*Select)(unsafe.Pointer((*SrcItem)(unsafe.Pointer((*Select)(unsafe.Pointer(pSelect)).FpSrc + 8)).FpSelect)).FpEList)).FnExpr var pMWin uintptr = (*Select)(unsafe.Pointer(pSelect)).FpWin var pWin uintptr @@ -186802,7 +186831,7 @@ func Xsqlite3WindowCodeInit(tls *libc.TLS, pParse uintptr, pSelect uintptr) { /* // evaluated and the result left in register reg. This function generates VM // code to check that the value is a non-negative integer and throws an // exception if it is not. -func windowCheckValue(tls *libc.TLS, pParse uintptr, reg int32, eCond int32) { /* sqlite3.c:159660:13: */ +func windowCheckValue(tls *libc.TLS, pParse uintptr, reg int32, eCond int32) { /* sqlite3.c:159717:13: */ var v uintptr = Xsqlite3GetVdbe(tls, pParse) var regZero int32 = Xsqlite3GetTempReg(tls, pParse) @@ -186836,12 +186865,12 @@ var azErr = [5]uintptr{ ts + 23268, ts + 23915, ts + 23967, -} /* sqlite3.c:159661:21 */ -var aOp1 = [5]int32{OP_Ge, OP_Ge, OP_Gt, OP_Ge, OP_Ge} /* sqlite3.c:159668:14 */ +} /* sqlite3.c:159718:21 */ +var aOp1 = [5]int32{OP_Ge, OP_Ge, OP_Gt, OP_Ge, OP_Ge} /* sqlite3.c:159725:14 */ // Return the number of arguments passed to the window-function associated // with the object passed as the only argument to this function. -func windowArgCount(tls *libc.TLS, pWin uintptr) int32 { /* sqlite3.c:159707:12: */ +func windowArgCount(tls *libc.TLS, pWin uintptr) int32 { /* sqlite3.c:159764:12: */ var pList uintptr pList = *(*uintptr)(unsafe.Pointer((*Window)(unsafe.Pointer(pWin)).FpOwner + 32)) @@ -186866,19 +186895,19 @@ type WindowCodeArg1 = struct { Fcurrent WindowCsrAndReg Fend WindowCsrAndReg F__ccgo_pad1 [4]byte -} /* sqlite3.c:159714:9 */ +} /* sqlite3.c:159771:9 */ -type WindowCodeArg = WindowCodeArg1 /* sqlite3.c:159714:30 */ +type WindowCodeArg = WindowCodeArg1 /* sqlite3.c:159771:30 */ type WindowCsrAndReg1 = struct { Fcsr int32 Freg int32 -} /* sqlite3.c:159714:9 */ +} /* sqlite3.c:159771:9 */ -type WindowCsrAndReg = WindowCsrAndReg1 /* sqlite3.c:159715:32 */ +type WindowCsrAndReg = WindowCsrAndReg1 /* sqlite3.c:159772:32 */ // Generate VM code to read the window frames peer values from cursor csr into // an array of registers starting at reg. -func windowReadPeerValues(tls *libc.TLS, p uintptr, csr int32, reg int32) { /* sqlite3.c:159799:13: */ +func windowReadPeerValues(tls *libc.TLS, p uintptr, csr int32, reg int32) { /* sqlite3.c:159856:13: */ var pMWin uintptr = (*WindowCodeArg)(unsafe.Pointer(p)).FpMWin var pOrderBy uintptr = (*Window)(unsafe.Pointer(pMWin)).FpOrderBy if pOrderBy != 0 { @@ -186914,7 +186943,7 @@ func windowReadPeerValues(tls *libc.TLS, p uintptr, csr int32, reg int32) { /* s // // If argument regPartSize is non-zero, then it is a register containing the // number of rows in the current partition. -func windowAggStep(tls *libc.TLS, p uintptr, pMWin uintptr, csr int32, bInverse int32, reg int32) { /* sqlite3.c:159836:13: */ +func windowAggStep(tls *libc.TLS, p uintptr, pMWin uintptr, csr int32, bInverse int32, reg int32) { /* sqlite3.c:159893:13: */ var pParse uintptr = (*WindowCodeArg)(unsafe.Pointer(p)).FpParse var v uintptr = Xsqlite3GetVdbe(tls, pParse) var pWin uintptr @@ -187021,7 +187050,7 @@ func windowAggStep(tls *libc.TLS, p uintptr, pMWin uintptr, csr int32, bInverse // (bFin==1) for each window function in the linked list starting at // pMWin. Or, for built-in window-functions that do not use the standard // API, generate the equivalent VM code. -func windowAggFinal(tls *libc.TLS, p uintptr, bFin int32) { /* sqlite3.c:159953:13: */ +func windowAggFinal(tls *libc.TLS, p uintptr, bFin int32) { /* sqlite3.c:160010:13: */ var pParse uintptr = (*WindowCodeArg)(unsafe.Pointer(p)).FpParse var pMWin uintptr = (*WindowCodeArg)(unsafe.Pointer(p)).FpMWin var v uintptr = Xsqlite3GetVdbe(tls, pParse) @@ -187057,7 +187086,7 @@ func windowAggFinal(tls *libc.TLS, p uintptr, bFin int32) { /* sqlite3.c:159953: // p->pMWin list by doing a full scan of the current window frame. Store the // results in the Window.regResult registers, ready to return the upper // layer. -func windowFullScan(tls *libc.TLS, p uintptr) { /* sqlite3.c:159992:13: */ +func windowFullScan(tls *libc.TLS, p uintptr) { /* sqlite3.c:160049:13: */ var pWin uintptr var pParse uintptr = (*WindowCodeArg)(unsafe.Pointer(p)).FpParse var pMWin uintptr = (*WindowCodeArg)(unsafe.Pointer(p)).FpMWin @@ -187164,7 +187193,7 @@ func windowFullScan(tls *libc.TLS, p uintptr) { /* sqlite3.c:159992:13: */ // first_value() // lag() // lead() -func windowReturnOneRow(tls *libc.TLS, p uintptr) { /* sqlite3.c:160098:13: */ +func windowReturnOneRow(tls *libc.TLS, p uintptr) { /* sqlite3.c:160155:13: */ var pMWin uintptr = (*WindowCodeArg)(unsafe.Pointer(p)).FpMWin var v uintptr = (*WindowCodeArg)(unsafe.Pointer(p)).FpVdbe @@ -187247,7 +187276,7 @@ func windowReturnOneRow(tls *libc.TLS, p uintptr) { /* sqlite3.c:160098:13: */ // in the linked list passed as the second argument to NULL. And perform // any equivalent initialization required by any built-in window functions // in the list. -func windowInitAccum(tls *libc.TLS, pParse uintptr, pMWin uintptr) int32 { /* sqlite3.c:160175:12: */ +func windowInitAccum(tls *libc.TLS, pParse uintptr, pMWin uintptr) int32 { /* sqlite3.c:160232:12: */ var v uintptr = Xsqlite3GetVdbe(tls, pParse) var regArg int32 var nArg int32 = 0 @@ -187282,7 +187311,7 @@ func windowInitAccum(tls *libc.TLS, pParse uintptr, pMWin uintptr) int32 { /* sq // Return true if the current frame should be cached in the ephemeral table, // even if there are no xInverse() calls required. -func windowCacheFrame(tls *libc.TLS, pMWin uintptr) int32 { /* sqlite3.c:160207:12: */ +func windowCacheFrame(tls *libc.TLS, pMWin uintptr) int32 { /* sqlite3.c:160264:12: */ var pWin uintptr if (*Window)(unsafe.Pointer(pMWin)).FregStartRowid != 0 { return 1 @@ -187307,7 +187336,7 @@ func windowCacheFrame(tls *libc.TLS, pMWin uintptr) int32 { /* sqlite3.c:160207: // If the two arrays are not equal, the contents of regNew is copied to // regOld and control falls through. Otherwise, if the contents of the arrays // are equal, an OP_Goto is executed. The address of the OP_Goto is returned. -func windowIfNewPeer(tls *libc.TLS, pParse uintptr, pOrderBy uintptr, regNew int32, regOld int32, addr int32) { /* sqlite3.c:160233:13: */ +func windowIfNewPeer(tls *libc.TLS, pParse uintptr, pOrderBy uintptr, regNew int32, regOld int32, addr int32) { /* sqlite3.c:160290:13: */ var v uintptr = Xsqlite3GetVdbe(tls, pParse) if pOrderBy != 0 { var nVal int32 = (*ExprList)(unsafe.Pointer(pOrderBy)).FnExpr @@ -187344,7 +187373,7 @@ func windowIfNewPeer(tls *libc.TLS, pParse uintptr, pOrderBy uintptr, regNew int // A special type of arithmetic is used such that if csr1.peerVal is not // a numeric type (real or integer), then the result of the addition // or subtraction is a a copy of csr1.peerVal. -func windowCodeRangeTest(tls *libc.TLS, p uintptr, op int32, csr1 int32, regVal int32, csr2 int32, lbl int32) { /* sqlite3.c:160279:13: */ +func windowCodeRangeTest(tls *libc.TLS, p uintptr, op int32, csr1 int32, regVal int32, csr2 int32, lbl int32) { /* sqlite3.c:160336:13: */ var pParse uintptr = (*WindowCodeArg)(unsafe.Pointer(p)).FpParse var v uintptr = Xsqlite3GetVdbe(tls, pParse) var pOrderBy uintptr = (*Window)(unsafe.Pointer((*WindowCodeArg)(unsafe.Pointer(p)).FpMWin)).FpOrderBy // ORDER BY clause for window @@ -187467,7 +187496,7 @@ func windowCodeRangeTest(tls *libc.TLS, p uintptr, op int32, csr1 int32, regVal // generates VM code for a single RETURN_ROW, AGGSTEP or AGGINVERSE // operation. Refer to the header comment for sqlite3WindowCodeStep() for // details. -func windowCodeOp(tls *libc.TLS, p uintptr, op int32, regCountdown int32, jumpOnEof int32) int32 { /* sqlite3.c:160412:12: */ +func windowCodeOp(tls *libc.TLS, p uintptr, op int32, regCountdown int32, jumpOnEof int32) int32 { /* sqlite3.c:160469:12: */ var csr int32 var reg int32 var pParse uintptr = (*WindowCodeArg)(unsafe.Pointer(p)).FpParse @@ -187615,7 +187644,7 @@ func windowCodeOp(tls *libc.TLS, p uintptr, op int32, regCountdown int32, jumpOn // Allocate and return a duplicate of the Window object indicated by the // third argument. Set the Window.pOwner field of the new object to // pOwner. -func Xsqlite3WindowDup(tls *libc.TLS, db uintptr, pOwner uintptr, p uintptr) uintptr { /* sqlite3.c:160561:23: */ +func Xsqlite3WindowDup(tls *libc.TLS, db uintptr, pOwner uintptr, p uintptr) uintptr { /* sqlite3.c:160618:23: */ var pNew uintptr = uintptr(0) if p != 0 { pNew = Xsqlite3DbMallocZero(tls, db, uint64(unsafe.Sizeof(Window{}))) @@ -187646,7 +187675,7 @@ func Xsqlite3WindowDup(tls *libc.TLS, db uintptr, pOwner uintptr, p uintptr) uin // Return a copy of the linked list of Window objects passed as the // second argument. -func Xsqlite3WindowListDup(tls *libc.TLS, db uintptr, p uintptr) uintptr { /* sqlite3.c:160594:23: */ +func Xsqlite3WindowListDup(tls *libc.TLS, db uintptr, p uintptr) uintptr { /* sqlite3.c:160651:23: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -187671,7 +187700,7 @@ func Xsqlite3WindowListDup(tls *libc.TLS, db uintptr, p uintptr) uintptr { /* sq // // If an OOM error occurs, this function sets the Parse.db.mallocFailed // flag and returns zero. -func windowExprGtZero(tls *libc.TLS, pParse uintptr, pExpr uintptr) int32 { /* sqlite3.c:160616:12: */ +func windowExprGtZero(tls *libc.TLS, pParse uintptr, pExpr uintptr) int32 { /* sqlite3.c:160673:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -188019,7 +188048,7 @@ func windowExprGtZero(tls *libc.TLS, pParse uintptr, pExpr uintptr) int32 { /* s // // The text above leaves out many details. Refer to the code and comments // below for a more complete picture. -func Xsqlite3WindowCodeStep(tls *libc.TLS, pParse uintptr, p uintptr, pWInfo uintptr, regGosub int32, addrGosub int32) { /* sqlite3.c:160963:21: */ +func Xsqlite3WindowCodeStep(tls *libc.TLS, pParse uintptr, p uintptr, pWInfo uintptr, regGosub int32, addrGosub int32) { /* sqlite3.c:161020:21: */ bp := tls.Alloc(72) defer tls.Free(72) @@ -188416,17 +188445,17 @@ type TrigEvent = struct { Fa int32 F__ccgo_pad1 [4]byte Fb uintptr -} /* sqlite3.c:161363:1 */ +} /* sqlite3.c:161420:1 */ type FrameBound = struct { FeType int32 F__ccgo_pad1 [4]byte FpExpr uintptr -} /* sqlite3.c:161365:1 */ +} /* sqlite3.c:161422:1 */ // Disable lookaside memory allocation for objects that might be // shared across database connections. -func disableLookaside(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:161371:13: */ +func disableLookaside(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:161428:13: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb (*Parse)(unsafe.Pointer(pParse)).FdisableLookaside++ (*Sqlite3)(unsafe.Pointer(db)).Flookaside.FbDisable++ @@ -188436,7 +188465,7 @@ func disableLookaside(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:161371:13: * // For a compound SELECT statement, make sure p->pPrior->pNext==p for // all elements in the list. And make sure list length does not exceed // SQLITE_LIMIT_COMPOUND_SELECT. -func parserDoubleLinkSelect(tls *libc.TLS, pParse uintptr, p uintptr) { /* sqlite3.c:161404:15: */ +func parserDoubleLinkSelect(tls *libc.TLS, pParse uintptr, p uintptr) { /* sqlite3.c:161461:15: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -188475,7 +188504,7 @@ func parserDoubleLinkSelect(tls *libc.TLS, pParse uintptr, p uintptr) { /* sqlit // Attach a With object describing the WITH clause to a Select // object describing the query for which the WITH clause is a prefix. -func attachWithToSelect(tls *libc.TLS, pParse uintptr, pSelect uintptr, pWith uintptr) uintptr { /* sqlite3.c:161435:17: */ +func attachWithToSelect(tls *libc.TLS, pParse uintptr, pSelect uintptr, pWith uintptr) uintptr { /* sqlite3.c:161492:17: */ if pSelect != 0 { (*Select)(unsafe.Pointer(pSelect)).FpWith = pWith parserDoubleLinkSelect(tls, pParse, pSelect) @@ -188487,7 +188516,7 @@ func attachWithToSelect(tls *libc.TLS, pParse uintptr, pSelect uintptr, pWith ui } // Construct a new Expr object from a single token -func tokenExpr(tls *libc.TLS, pParse uintptr, op int32, t Token) uintptr { /* sqlite3.c:161447:15: */ +func tokenExpr(tls *libc.TLS, pParse uintptr, op int32, t Token) uintptr { /* sqlite3.c:161504:15: */ bp := tls.Alloc(16) defer tls.Free(16) *(*Token)(unsafe.Pointer(bp)) = t @@ -188525,7 +188554,7 @@ func tokenExpr(tls *libc.TLS, pParse uintptr, op int32, t Token) uintptr { /* sq // A routine to convert a binary TK_IS or TK_ISNOT expression into a // unary TK_ISNULL or TK_NOTNULL expression. -func binaryToUnaryIfNull(tls *libc.TLS, pParse uintptr, pY uintptr, pA uintptr, op int32) { /* sqlite3.c:161483:15: */ +func binaryToUnaryIfNull(tls *libc.TLS, pParse uintptr, pY uintptr, pA uintptr, op int32) { /* sqlite3.c:161540:15: */ var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb if pA != 0 && pY != 0 && int32((*Expr)(unsafe.Pointer(pY)).Fop) == TK_NULL && !(int32((*Parse)(unsafe.Pointer(pParse)).FeParseMode) >= PARSE_MODE_RENAME) { (*Expr)(unsafe.Pointer(pA)).Fop = U8(op) @@ -188539,7 +188568,7 @@ func binaryToUnaryIfNull(tls *libc.TLS, pParse uintptr, pY uintptr, pA uintptr, // list of identifiers. Report an error if the ID list contains // a COLLATE clause or an ASC or DESC keyword, except ignore the // error while parsing a legacy schema. -func parserAddExprIdListTerm(tls *libc.TLS, pParse uintptr, pPrior uintptr, pIdToken uintptr, hasCollate int32, sortOrder int32) uintptr { /* sqlite3.c:161497:19: */ +func parserAddExprIdListTerm(tls *libc.TLS, pParse uintptr, pPrior uintptr, pIdToken uintptr, hasCollate int32, sortOrder int32) uintptr { /* sqlite3.c:161554:19: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -188614,7 +188643,7 @@ type YYMINORTYPE = struct { F__ccgo_pad1 [0]uint64 Fyyinit int32 F__ccgo_pad2 [12]byte -} /* sqlite3.c:161789:3 */ +} /* sqlite3.c:161846:3 */ //************ End control #defines ****************************************** // Define the yytestcase() macro to be a no-op if is not already defined @@ -188883,7 +188912,7 @@ var yy_action = [2070]uint16{ /* 2040 */ uint16(29), uint16(921), uint16(390), uint16(1176), uint16(172), uint16(139), uint16(1175), uint16(1235), uint16(261), uint16(1235), /* 2050 */ uint16(1235), uint16(1235), uint16(1235), uint16(1235), uint16(1235), uint16(1235), uint16(1235), uint16(262), uint16(1235), uint16(1235), /* 2060 */ uint16(1235), uint16(1235), uint16(1235), uint16(1235), uint16(1235), uint16(1235), uint16(1235), uint16(1235), uint16(1593), uint16(1592), -} /* sqlite3.c:161883:27 */ +} /* sqlite3.c:161940:27 */ var yy_lookahead = [2255]uint16{ /* 0 */ uint16(193), uint16(223), uint16(193), uint16(225), uint16(193), uint16(193), uint16(193), uint16(274), uint16(275), uint16(276), /* 10 */ uint16(193), uint16(233), uint16(219), uint16(193), uint16(274), uint16(275), uint16(276), uint16(206), uint16(206), uint16(19), @@ -189111,7 +189140,7 @@ var yy_lookahead = [2255]uint16{ /* 2230 */ uint16(319), uint16(319), uint16(319), uint16(319), uint16(319), uint16(319), uint16(319), uint16(319), uint16(319), uint16(319), /* 2240 */ uint16(319), uint16(319), uint16(319), uint16(319), uint16(319), uint16(319), uint16(319), uint16(319), uint16(319), uint16(319), /* 2250 */ uint16(319), uint16(319), uint16(319), uint16(319), uint16(319), -} /* sqlite3.c:162092:25 */ +} /* sqlite3.c:162149:25 */ var yy_shift_ofst = [574]uint16{ /* 0 */ uint16(1648), uint16(1477), uint16(1272), uint16(322), uint16(322), uint16(262), uint16(1319), uint16(1478), uint16(1491), uint16(1662), /* 10 */ uint16(1662), uint16(1662), uint16(317), uint16(0), uint16(0), uint16(214), uint16(1093), uint16(1662), uint16(1662), uint16(1662), @@ -189171,7 +189200,7 @@ var yy_shift_ofst = [574]uint16{ /* 550 */ uint16(2005), uint16(2006), uint16(2007), uint16(2008), uint16(2009), uint16(2001), uint16(2020), uint16(2012), uint16(2013), uint16(2014), /* 560 */ uint16(2015), uint16(2017), uint16(2018), uint16(2011), uint16(1906), uint16(1907), uint16(1916), uint16(1927), uint16(1928), uint16(2019), /* 570 */ uint16(2022), uint16(2027), uint16(2042), uint16(2045), -} /* sqlite3.c:162323:33 */ +} /* sqlite3.c:162380:33 */ var yy_reduce_ofst = [409]int16{ /* 0 */ int16(-125), int16(733), int16(789), int16(241), int16(293), int16(-123), int16(-193), int16(-191), int16(-183), int16(-187), /* 10 */ int16(-180), int16(83), int16(133), int16(-207), int16(-198), int16(-267), int16(-175), int16(-6), int16(166), int16(313), @@ -189214,7 +189243,7 @@ var yy_reduce_ofst = [409]int16{ /* 380 */ int16(1641), int16(1602), int16(1676), int16(1642), int16(1646), int16(1644), int16(1650), int16(1654), int16(1683), int16(1694), /* 390 */ int16(1707), int16(1711), int16(1712), int16(1714), int16(1643), int16(1647), int16(1652), int16(1698), int16(1695), int16(1696), /* 400 */ int16(1697), int16(1699), int16(1700), int16(1689), int16(1691), int16(1701), int16(1702), int16(1704), int16(1715), -} /* sqlite3.c:162386:20 */ +} /* sqlite3.c:162443:20 */ var yy_default = [574]uint16{ /* 0 */ uint16(1637), uint16(1637), uint16(1637), uint16(1466), uint16(1233), uint16(1344), uint16(1233), uint16(1233), uint16(1233), uint16(1466), /* 10 */ uint16(1466), uint16(1466), uint16(1233), uint16(1374), uint16(1374), uint16(1519), uint16(1266), uint16(1233), uint16(1233), uint16(1233), @@ -189274,7 +189303,7 @@ var yy_default = [574]uint16{ /* 550 */ uint16(1233), uint16(1233), uint16(1233), uint16(1233), uint16(1233), uint16(1233), uint16(1233), uint16(1233), uint16(1233), uint16(1233), /* 560 */ uint16(1233), uint16(1233), uint16(1233), uint16(1610), uint16(1325), uint16(1416), uint16(1233), uint16(1415), uint16(1419), uint16(1255), /* 570 */ uint16(1233), uint16(1245), uint16(1233), uint16(1233), -} /* sqlite3.c:162429:27 */ +} /* sqlite3.c:162486:27 */ //********* End of lemon-generated parsing tables **************************** // The next table maps tokens (terminal symbols) into fallback tokens. @@ -189476,7 +189505,7 @@ var yyFallback = [185]uint16{ uint16(0), // ERROR => nothing uint16(0), // SPACE => nothing uint16(0), // ILLEGAL => nothing -} /* sqlite3.c:162506:25 */ +} /* sqlite3.c:162563:25 */ // The following structure represents a single element of the // parser's stack. Information stored includes: @@ -189498,9 +189527,9 @@ type yyStackEntry = struct { Fmajor uint16 F__ccgo_pad1 [4]byte Fminor YYMINORTYPE -} /* sqlite3.c:162711:1 */ +} /* sqlite3.c:162768:1 */ -type YyStackEntry = yyStackEntry /* sqlite3.c:162718:29 */ +type YyStackEntry = yyStackEntry /* sqlite3.c:162775:29 */ // The state of the parser is completely contained in an instance of // the following structure @@ -189509,9 +189538,9 @@ type yyParser = struct { FpParse uintptr Fyystack [100]YyStackEntry FyystackEnd uintptr -} /* sqlite3.c:162722:1 */ +} /* sqlite3.c:162779:1 */ -type YyParser = yyParser /* sqlite3.c:162741:25 */ +type YyParser = yyParser /* sqlite3.c:162798:25 */ // #include @@ -189521,7 +189550,7 @@ type YyParser = yyParser /* sqlite3.c:162741:25 */ // grammar. // Initialize a new parser that has already been allocated. -func Xsqlite3ParserInit(tls *libc.TLS, yypRawParser uintptr, pParse uintptr) { /* sqlite3.c:163556:21: */ +func Xsqlite3ParserInit(tls *libc.TLS, yypRawParser uintptr, pParse uintptr) { /* sqlite3.c:163613:21: */ var yypParser uintptr = yypRawParser (*YyParser)(unsafe.Pointer(yypParser)).FpParse = pParse (*YyParser)(unsafe.Pointer(yypParser)).Fyytos = yypParser + 16 /* &.yystack */ @@ -189536,7 +189565,7 @@ func Xsqlite3ParserInit(tls *libc.TLS, yypRawParser uintptr, pParse uintptr) { / // a pointer to the value to be deleted. The code used to do the // deletions is derived from the %destructor and/or %token_destructor // directives of the input grammar. -func yy_destructor(tls *libc.TLS, yypParser uintptr, yymajor uint16, yypminor uintptr) { /* sqlite3.c:163614:13: */ +func yy_destructor(tls *libc.TLS, yypParser uintptr, yymajor uint16, yypminor uintptr) { /* sqlite3.c:163671:13: */ var pParse uintptr = (*YyParser)(unsafe.Pointer(yypParser)).FpParse switch int32(yymajor) { @@ -189695,7 +189724,7 @@ func yy_destructor(tls *libc.TLS, yypParser uintptr, yymajor uint16, yypminor ui // // If there is a destructor routine associated with the token which // is popped from the stack, then call it. -func yy_pop_parser_stack(tls *libc.TLS, pParser uintptr) { /* sqlite3.c:163739:13: */ +func yy_pop_parser_stack(tls *libc.TLS, pParser uintptr) { /* sqlite3.c:163796:13: */ var yytos uintptr yytos = libc.PostDecUintptr(&(*YyParser)(unsafe.Pointer(pParser)).Fyytos, 24) @@ -189703,7 +189732,7 @@ func yy_pop_parser_stack(tls *libc.TLS, pParser uintptr) { /* sqlite3.c:163739:1 } // Clear all secondary memory allocations from the parser -func Xsqlite3ParserFinalize(tls *libc.TLS, p uintptr) { /* sqlite3.c:163757:21: */ +func Xsqlite3ParserFinalize(tls *libc.TLS, p uintptr) { /* sqlite3.c:163814:21: */ var pParser uintptr = p for (*YyParser)(unsafe.Pointer(pParser)).Fyytos > pParser+16 { yy_pop_parser_stack(tls, pParser) @@ -189726,7 +189755,7 @@ func Xsqlite3ParserFinalize(tls *libc.TLS, p uintptr) { /* sqlite3.c:163757:21: // Find the appropriate action for a parser given the terminal // look-ahead token iLookAhead. -func yy_find_shift_action(tls *libc.TLS, iLookAhead uint16, stateno uint16) uint16 { /* sqlite3.c:163837:21: */ +func yy_find_shift_action(tls *libc.TLS, iLookAhead uint16, stateno uint16) uint16 { /* sqlite3.c:163894:21: */ var i int32 if int32(stateno) > YY_MAX_SHIFT { @@ -189766,7 +189795,7 @@ func yy_find_shift_action(tls *libc.TLS, iLookAhead uint16, stateno uint16) uint // Find the appropriate action for a parser given the non-terminal // look-ahead token iLookAhead. -func yy_find_reduce_action(tls *libc.TLS, stateno uint16, iLookAhead uint16) uint16 { /* sqlite3.c:163902:21: */ +func yy_find_reduce_action(tls *libc.TLS, stateno uint16, iLookAhead uint16) uint16 { /* sqlite3.c:163959:21: */ var i int32 i = int32(yy_reduce_ofst[stateno]) @@ -189777,7 +189806,7 @@ func yy_find_reduce_action(tls *libc.TLS, stateno uint16, iLookAhead uint16) uin } // The following routine is called if the stack overflows. -func yyStackOverflow(tls *libc.TLS, yypParser uintptr) { /* sqlite3.c:163931:13: */ +func yyStackOverflow(tls *libc.TLS, yypParser uintptr) { /* sqlite3.c:163988:13: */ var pParse uintptr = (*YyParser)(unsafe.Pointer(yypParser)).FpParse for (*YyParser)(unsafe.Pointer(yypParser)).Fyytos > yypParser+16 { @@ -189796,7 +189825,7 @@ func yyStackOverflow(tls *libc.TLS, yypParser uintptr) { /* sqlite3.c:163931:13: // Print tracing information for a SHIFT action // Perform a shift action. -func yy_shift(tls *libc.TLS, yypParser uintptr, yyNewState uint16, yyMajor uint16, yyMinor Token) { /* sqlite3.c:163974:13: */ +func yy_shift(tls *libc.TLS, yypParser uintptr, yyNewState uint16, yyMajor uint16, yyMinor Token) { /* sqlite3.c:164031:13: */ var yytos uintptr (*YyParser)(unsafe.Pointer(yypParser)).Fyytos += 24 if (*YyParser)(unsafe.Pointer(yypParser)).Fyytos > (*YyParser)(unsafe.Pointer(yypParser)).FyystackEnd { @@ -190219,7 +190248,7 @@ var yyRuleInfoLhs = [402]uint16{ uint16(303), // (399) anylist ::= anylist LP anylist RP uint16(303), // (400) anylist ::= anylist ANY uint16(266), // (401) with ::= -} /* sqlite3.c:164015:25 */ +} /* sqlite3.c:164072:25 */ // For rule J, yyRuleInfoNRhs[J] contains the negative of the number // of symbols on the right-hand side of that rule. @@ -190626,7 +190655,7 @@ var yyRuleInfoNRhs = [402]int8{ int8(-4), // (399) anylist ::= anylist LP anylist RP int8(-2), // (400) anylist ::= anylist ANY int8(0), // (401) with ::= -} /* sqlite3.c:164422:26 */ +} /* sqlite3.c:164479:26 */ // Forward Declaration @@ -190638,7 +190667,7 @@ var yyRuleInfoNRhs = [402]int8{ // if the lookahead token has already been consumed. As this procedure is // only called from one place, optimizing compilers will in-line it, which // means that the extra parameters have no performance impact. -func yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead int32, yyLookaheadToken Token, pParse uintptr) uint16 { /* sqlite3.c:164839:21: */ +func yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead int32, yyLookaheadToken Token, pParse uintptr) uint16 { /* sqlite3.c:164896:21: */ bp := tls.Alloc(144) defer tls.Free(144) @@ -192633,7 +192662,7 @@ func yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead in // The following code executes when the parse fails // The following code executes when a syntax error first occurs. -func yy_syntax_error(tls *libc.TLS, yypParser uintptr, yymajor int32, yyminor Token) { /* sqlite3.c:166395:13: */ +func yy_syntax_error(tls *libc.TLS, yypParser uintptr, yymajor int32, yyminor Token) { /* sqlite3.c:166452:13: */ bp := tls.Alloc(24) defer tls.Free(24) *(*Token)(unsafe.Pointer(bp + 8)) = yyminor @@ -192653,7 +192682,7 @@ func yy_syntax_error(tls *libc.TLS, yypParser uintptr, yymajor int32, yyminor To } // The following is executed when the parser accepts -func yy_accept(tls *libc.TLS, yypParser uintptr) { /* sqlite3.c:166419:13: */ +func yy_accept(tls *libc.TLS, yypParser uintptr) { /* sqlite3.c:166476:13: */ var pParse uintptr = (*YyParser)(unsafe.Pointer(yypParser)).FpParse @@ -192683,7 +192712,7 @@ func yy_accept(tls *libc.TLS, yypParser uintptr) { /* sqlite3.c:166419:13: */ // // Outputs: // None. -func Xsqlite3Parser(tls *libc.TLS, yyp uintptr, yymajor int32, yyminor Token) { /* sqlite3.c:166460:21: */ +func Xsqlite3Parser(tls *libc.TLS, yyp uintptr, yymajor int32, yyminor Token) { /* sqlite3.c:166517:21: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -192737,7 +192766,7 @@ func Xsqlite3Parser(tls *libc.TLS, yyp uintptr, yymajor int32, yyminor Token) { // Return the fallback token corresponding to canonical token iToken, or // 0 if iToken has no fallback. -func Xsqlite3ParserFallback(tls *libc.TLS, iToken int32) int32 { /* sqlite3.c:166677:20: */ +func Xsqlite3ParserFallback(tls *libc.TLS, iToken int32) int32 { /* sqlite3.c:166734:20: */ return int32(yyFallback[iToken]) } @@ -192788,7 +192817,7 @@ var aiClass = [256]uint8{ /* Dx */ uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), /* Ex */ uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(30), /* Fx */ uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), -} /* sqlite3.c:166749:28 */ +} /* sqlite3.c:166806:28 */ // The charMap() macro maps alphabetic characters (only) into their // lower-case ASCII equivalent. On ASCII machines, this is just @@ -192874,7 +192903,7 @@ var zKWText = [666]int8{ int8('W'), int8('S'), int8('U'), int8('N'), int8('B'), int8('O'), int8('U'), int8('N'), int8('D'), int8('E'), int8('D'), int8('U'), int8('N'), int8('I'), int8('O'), int8('N'), int8('U'), int8('S'), int8('I'), int8('N'), int8('G'), int8('V'), int8('A'), int8('C'), int8('U'), int8('U'), int8('M'), int8('V'), int8('I'), int8('E'), int8('W'), int8('I'), int8('N'), int8('D'), int8('O'), int8('W'), int8('B'), int8('Y'), int8('I'), int8('N'), int8('I'), int8('T'), int8('I'), int8('A'), int8('L'), int8('L'), int8('Y'), int8('P'), int8('R'), int8('I'), int8('M'), int8('A'), int8('R'), int8('Y'), -} /* sqlite3.c:166865:19 */ +} /* sqlite3.c:166922:19 */ // aKWHash[i] is the hash value for the i-th keyword var aKWHash = [127]uint8{ uint8(84), uint8(92), uint8(134), uint8(82), uint8(105), uint8(29), uint8(0), uint8(0), uint8(94), uint8(0), uint8(85), uint8(72), uint8(0), @@ -192887,7 +192916,7 @@ var aKWHash = [127]uint8{ uint8(50), uint8(124), uint8(0), uint8(100), uint8(0), uint8(18), uint8(121), uint8(144), uint8(56), uint8(130), uint8(139), uint8(88), uint8(83), uint8(37), uint8(30), uint8(126), uint8(0), uint8(0), uint8(108), uint8(51), uint8(131), uint8(128), uint8(0), uint8(34), uint8(0), uint8(0), uint8(132), uint8(0), uint8(98), uint8(38), uint8(39), uint8(0), uint8(20), uint8(45), uint8(117), uint8(93), -} /* sqlite3.c:166905:28 */ +} /* sqlite3.c:166962:28 */ // aKWNext[] forms the hash collision chain. If aKWHash[i]==0 // then the i-th keyword has no more hash collisions. Otherwise, // the next keyword with the same hash is aKWHash[i]-1. @@ -192904,7 +192933,7 @@ var aKWNext = [147]uint8{ uint8(112), uint8(21), uint8(7), uint8(67), uint8(0), uint8(79), uint8(96), uint8(118), uint8(0), uint8(0), uint8(68), uint8(0), uint8(0), uint8(99), uint8(44), uint8(0), uint8(55), uint8(0), uint8(76), uint8(0), uint8(95), uint8(32), uint8(33), uint8(57), uint8(25), uint8(0), uint8(102), uint8(0), uint8(0), uint8(87), -} /* sqlite3.c:166920:28 */ +} /* sqlite3.c:166977:28 */ // aKWLen[i] is the length (in bytes) of the i-th keyword var aKWLen = [147]uint8{ uint8(7), uint8(7), uint8(5), uint8(4), uint8(6), uint8(4), uint8(5), uint8(3), uint8(6), uint8(7), uint8(3), uint8(6), uint8(6), @@ -192919,7 +192948,7 @@ var aKWLen = [147]uint8{ uint8(4), uint8(4), uint8(6), uint8(7), uint8(5), uint8(9), uint8(4), uint8(4), uint8(5), uint8(2), uint8(5), uint8(8), uint8(6), uint8(4), uint8(9), uint8(5), uint8(8), uint8(4), uint8(3), uint8(9), uint8(5), uint8(5), uint8(6), uint8(4), uint8(6), uint8(2), uint8(2), uint8(9), uint8(3), uint8(7), -} /* sqlite3.c:166935:28 */ +} /* sqlite3.c:166992:28 */ // aKWOffset[i] is the index into zKWText[] of the start of // the text for the i-th keyword. var aKWOffset = [147]uint16{ @@ -192935,7 +192964,7 @@ var aKWOffset = [147]uint16{ uint16(520), uint16(523), uint16(527), uint16(532), uint16(539), uint16(544), uint16(553), uint16(557), uint16(560), uint16(565), uint16(567), uint16(571), uint16(579), uint16(585), uint16(588), uint16(597), uint16(602), uint16(610), uint16(610), uint16(614), uint16(623), uint16(628), uint16(633), uint16(639), uint16(642), uint16(645), uint16(648), uint16(650), uint16(655), uint16(659), -} /* sqlite3.c:166951:33 */ +} /* sqlite3.c:167008:33 */ // aKWCode[i] is the parser symbol code for the i-th keyword var aKWCode = [147]uint8{ uint8(TK_REINDEX), uint8(TK_INDEXED), uint8(TK_INDEX), uint8(TK_DESC), uint8(TK_ESCAPE), @@ -192968,7 +192997,7 @@ var aKWCode = [147]uint8{ uint8(TK_ROW), uint8(TK_UNBOUNDED), uint8(TK_UNION), uint8(TK_USING), uint8(TK_VACUUM), uint8(TK_VIEW), uint8(TK_WINDOW), uint8(TK_DO), uint8(TK_BY), uint8(TK_INITIALLY), uint8(TK_ALL), uint8(TK_PRIMARY), -} /* sqlite3.c:166966:28 */ +} /* sqlite3.c:167023:28 */ // Hash table decoded: // 0: INSERT @@ -193101,7 +193130,7 @@ var aKWCode = [147]uint8{ // Check to see if z[0..n-1] is a keyword. If it is, write the // parser symbol code for that keyword into *pType. Always // return the integer n (the length of the token). -func keywordCode(tls *libc.TLS, z uintptr, n int32, pType uintptr) int32 { /* sqlite3.c:167130:12: */ +func keywordCode(tls *libc.TLS, z uintptr, n int32, pType uintptr) int32 { /* sqlite3.c:167187:12: */ var i int32 var j int32 var zKW uintptr @@ -193279,7 +193308,7 @@ func keywordCode(tls *libc.TLS, z uintptr, n int32, pType uintptr) int32 { /* sq return n } -func Xsqlite3KeywordCode(tls *libc.TLS, z uintptr, n int32) int32 { /* sqlite3.c:167304:20: */ +func Xsqlite3KeywordCode(tls *libc.TLS, z uintptr, n int32) int32 { /* sqlite3.c:167361:20: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -193288,7 +193317,7 @@ func Xsqlite3KeywordCode(tls *libc.TLS, z uintptr, n int32) int32 { /* sqlite3.c return *(*int32)(unsafe.Pointer(bp /* id */)) } -func Xsqlite3_keyword_name(tls *libc.TLS, i int32, pzName uintptr, pnName uintptr) int32 { /* sqlite3.c:167310:16: */ +func Xsqlite3_keyword_name(tls *libc.TLS, i int32, pzName uintptr, pnName uintptr) int32 { /* sqlite3.c:167367:16: */ if i < 0 || i >= SQLITE_N_KEYWORD { return SQLITE_ERROR } @@ -193297,11 +193326,11 @@ func Xsqlite3_keyword_name(tls *libc.TLS, i int32, pzName uintptr, pnName uintpt return SQLITE_OK } -func Xsqlite3_keyword_count(tls *libc.TLS) int32 { /* sqlite3.c:167316:16: */ +func Xsqlite3_keyword_count(tls *libc.TLS) int32 { /* sqlite3.c:167373:16: */ return SQLITE_N_KEYWORD } -func Xsqlite3_keyword_check(tls *libc.TLS, zName uintptr, nName int32) int32 { /* sqlite3.c:167317:16: */ +func Xsqlite3_keyword_check(tls *libc.TLS, zName uintptr, nName int32) int32 { /* sqlite3.c:167374:16: */ return libc.Bool32(TK_ID != Xsqlite3KeywordCode(tls, zName, nName)) } @@ -193324,13 +193353,13 @@ func Xsqlite3_keyword_check(tls *libc.TLS, zName uintptr, nName int32) int32 { / // But the feature is undocumented. // Make the IdChar function accessible from ctime.c and alter.c -func Xsqlite3IsIdChar(tls *libc.TLS, c U8) int32 { /* sqlite3.c:167364:20: */ +func Xsqlite3IsIdChar(tls *libc.TLS, c U8) int32 { /* sqlite3.c:167421:20: */ return libc.Bool32(int32(Xsqlite3CtypeMap[c])&0x46 != 0) } // Return the id of the next token in string (*pz). Before returning, set // (*pz) to point to the byte following the parsed token. -func getToken(tls *libc.TLS, pz uintptr) int32 { /* sqlite3.c:167371:12: */ +func getToken(tls *libc.TLS, pz uintptr) int32 { /* sqlite3.c:167428:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -193380,7 +193409,7 @@ func getToken(tls *libc.TLS, pz uintptr) int32 { /* sqlite3.c:167371:12: */ // // * the previous token was TK_RP, and // * the next token is TK_LP. -func analyzeWindowKeyword(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:167420:12: */ +func analyzeWindowKeyword(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:167477:12: */ bp := tls.Alloc(8) defer tls.Free(8) *(*uintptr)(unsafe.Pointer(bp)) = z @@ -193397,7 +193426,7 @@ func analyzeWindowKeyword(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:167420: return TK_WINDOW } -func analyzeOverKeyword(tls *libc.TLS, z uintptr, lastToken int32) int32 { /* sqlite3.c:167428:12: */ +func analyzeOverKeyword(tls *libc.TLS, z uintptr, lastToken int32) int32 { /* sqlite3.c:167485:12: */ bp := tls.Alloc(8) defer tls.Free(8) *(*uintptr)(unsafe.Pointer(bp)) = z @@ -193411,7 +193440,7 @@ func analyzeOverKeyword(tls *libc.TLS, z uintptr, lastToken int32) int32 { /* sq return TK_ID } -func analyzeFilterKeyword(tls *libc.TLS, z uintptr, lastToken int32) int32 { /* sqlite3.c:167435:12: */ +func analyzeFilterKeyword(tls *libc.TLS, z uintptr, lastToken int32) int32 { /* sqlite3.c:167492:12: */ bp := tls.Alloc(8) defer tls.Free(8) *(*uintptr)(unsafe.Pointer(bp)) = z @@ -193424,7 +193453,7 @@ func analyzeFilterKeyword(tls *libc.TLS, z uintptr, lastToken int32) int32 { /* // Return the length (in bytes) of the token that begins at z[0]. // Store the token type in *tokenType before returning. -func Xsqlite3GetToken(tls *libc.TLS, z uintptr, tokenType uintptr) int32 { /* sqlite3.c:167447:20: */ +func Xsqlite3GetToken(tls *libc.TLS, z uintptr, tokenType uintptr) int32 { /* sqlite3.c:167504:20: */ var i int32 var c int32 switch int32(aiClass[*(*uint8)(unsafe.Pointer(z))]) { // Switch on the character-class of the first byte @@ -193786,7 +193815,7 @@ func Xsqlite3GetToken(tls *libc.TLS, z uintptr, tokenType uintptr) int32 { /* sq } // Run the parser on the given SQL string. -func Xsqlite3RunParser(tls *libc.TLS, pParse uintptr, zSql uintptr) int32 { /* sqlite3.c:167741:20: */ +func Xsqlite3RunParser(tls *libc.TLS, pParse uintptr, zSql uintptr) int32 { /* sqlite3.c:167798:20: */ bp := tls.Alloc(2480) defer tls.Free(2480) @@ -193976,7 +194005,7 @@ func Xsqlite3RunParser(tls *libc.TLS, pParse uintptr, zSql uintptr) int32 { /* s // If we compile with SQLITE_OMIT_TRIGGER, all of the computation needed // to recognize the end of a trigger can be omitted. All we have to do // is look for a semicolon that is not part of an string or comment. -func Xsqlite3_complete(tls *libc.TLS, zSql uintptr) int32 { /* sqlite3.c:168133:16: */ +func Xsqlite3_complete(tls *libc.TLS, zSql uintptr) int32 { /* sqlite3.c:168190:16: */ var state U8 = U8(0) // Current state, using numbers defined in header comment var token U8 @@ -194153,12 +194182,12 @@ var trans = [8][8]U8{ /* 5 TRIGGER: */ {U8(6), U8(5), U8(5), U8(5), U8(5), U8(5), U8(5), U8(5)}, /* 6 SEMI: */ {U8(6), U8(6), U8(5), U8(5), U8(5), U8(5), U8(5), U8(7)}, /* 7 END: */ {U8(1), U8(7), U8(5), U8(5), U8(5), U8(5), U8(5), U8(5)}, -} /* sqlite3.c:168141:19 */ +} /* sqlite3.c:168198:19 */ // This routine is the same as the sqlite3_complete() routine described // above, except that the parameter is required to be UTF-16 encoded, not // UTF-8. -func Xsqlite3_complete16(tls *libc.TLS, zSql uintptr) int32 { /* sqlite3.c:168298:16: */ +func Xsqlite3_complete16(tls *libc.TLS, zSql uintptr) int32 { /* sqlite3.c:168355:16: */ var pVal uintptr var zSql8 uintptr var rc int32 @@ -194185,7 +194214,7 @@ func Xsqlite3_complete16(tls *libc.TLS, zSql uintptr) int32 { /* sqlite3.c:16829 // This is an extension initializer that is a no-op and always // succeeds, except that it fails if the fault-simulation is set // to 500. -func sqlite3TestExtInit(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:168450:12: */ +func sqlite3TestExtInit(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:168507:12: */ _ = db return Xsqlite3FaultSim(tls, 500) } @@ -194197,11 +194226,11 @@ var sqlite3BuiltinExtensions = [4]uintptr{ 0, 0, 0, -} /* sqlite3.c:168477:12 */ +} /* sqlite3.c:168534:12 */ // IMPLEMENTATION-OF: R-53536-42575 The sqlite3_libversion() function returns // a pointer to the to the sqlite3_version[] string constant. -func Xsqlite3_libversion(tls *libc.TLS) uintptr { /* sqlite3.c:168524:23: */ +func Xsqlite3_libversion(tls *libc.TLS) uintptr { /* sqlite3.c:168581:23: */ return uintptr(unsafe.Pointer(&Xsqlite3_version)) } @@ -194214,14 +194243,14 @@ func Xsqlite3_libversion(tls *libc.TLS) uintptr { /* sqlite3.c:168524:23: */ // IMPLEMENTATION-OF: R-35210-63508 The sqlite3_libversion_number() function // returns an integer equal to SQLITE_VERSION_NUMBER. -func Xsqlite3_libversion_number(tls *libc.TLS) int32 { /* sqlite3.c:168537:16: */ +func Xsqlite3_libversion_number(tls *libc.TLS) int32 { /* sqlite3.c:168594:16: */ return SQLITE_VERSION_NUMBER } // IMPLEMENTATION-OF: R-20790-14025 The sqlite3_threadsafe() function returns // zero if and only if SQLite was compiled with mutexing code omitted due to // the SQLITE_THREADSAFE compile-time option being set to 0. -func Xsqlite3_threadsafe(tls *libc.TLS) int32 { /* sqlite3.c:168543:16: */ +func Xsqlite3_threadsafe(tls *libc.TLS) int32 { /* sqlite3.c:168600:16: */ return SQLITE_THREADSAFE } @@ -194234,14 +194263,14 @@ func Xsqlite3_threadsafe(tls *libc.TLS) int32 { /* sqlite3.c:168543:16: */ // temporary files. // // See also the "PRAGMA temp_store_directory" SQL command. -var Xsqlite3_temp_directory uintptr = uintptr(0) /* sqlite3.c:168574:17 */ +var Xsqlite3_temp_directory uintptr = uintptr(0) /* sqlite3.c:168631:17 */ // If the following global variable points to a string which is the // name of a directory, then that directory will be used to store // all database files specified with a relative pathname. // // See also the "PRAGMA data_store_directory" SQL command. -var Xsqlite3_data_directory uintptr = uintptr(0) /* sqlite3.c:168583:17 */ +var Xsqlite3_data_directory uintptr = uintptr(0) /* sqlite3.c:168640:17 */ // Initialize SQLite. // @@ -194272,7 +194301,7 @@ var Xsqlite3_data_directory uintptr = uintptr(0) /* sqlite3.c:168583:17 */ // // * Recursive calls to this routine from thread X return immediately // without blocking. -func Xsqlite3_initialize(tls *libc.TLS) int32 { /* sqlite3.c:168616:16: */ +func Xsqlite3_initialize(tls *libc.TLS) int32 { /* sqlite3.c:168673:16: */ var pMainMtx uintptr // The main static mutex var rc int32 // Result code @@ -194398,7 +194427,7 @@ func Xsqlite3_initialize(tls *libc.TLS) int32 { /* sqlite3.c:168616:16: */ // routine is not threadsafe. But it is safe to invoke this routine // on when SQLite is already shut down. If SQLite is already shut down // when this routine is invoked, then this routine is a harmless no-op. -func Xsqlite3_shutdown(tls *libc.TLS) int32 { /* sqlite3.c:168791:16: */ +func Xsqlite3_shutdown(tls *libc.TLS) int32 { /* sqlite3.c:168848:16: */ if Xsqlite3Config.FisInit != 0 { Xsqlite3_os_end(tls) @@ -194437,7 +194466,7 @@ func Xsqlite3_shutdown(tls *libc.TLS) int32 { /* sqlite3.c:168791:16: */ // database connections or memory allocations. This routine is not // threadsafe. Failure to heed these warnings can lead to unpredictable // behavior. -func Xsqlite3_config(tls *libc.TLS, op int32, va uintptr) int32 { /* sqlite3.c:168845:16: */ +func Xsqlite3_config(tls *libc.TLS, op int32, va uintptr) int32 { /* sqlite3.c:168902:16: */ var ap Va_list _ = ap var rc int32 = SQLITE_OK @@ -194445,7 +194474,7 @@ func Xsqlite3_config(tls *libc.TLS, op int32, va uintptr) int32 { /* sqlite3.c:1 // sqlite3_config() shall return SQLITE_MISUSE if it is invoked while // the SQLite library is in use. if Xsqlite3Config.FisInit != 0 { - return Xsqlite3MisuseError(tls, 168851) + return Xsqlite3MisuseError(tls, 168908) } ap = va @@ -194715,7 +194744,7 @@ func Xsqlite3_config(tls *libc.TLS, op int32, va uintptr) int32 { /* sqlite3.c:1 // space for the lookaside memory is obtained from sqlite3_malloc(). // If pStart is not NULL then it is sz*cnt bytes of memory to use for // the lookaside memory. -func setupLookaside(tls *libc.TLS, db uintptr, pBuf uintptr, sz int32, cnt int32) int32 { /* sqlite3.c:169163:12: */ +func setupLookaside(tls *libc.TLS, db uintptr, pBuf uintptr, sz int32, cnt int32) int32 { /* sqlite3.c:169220:12: */ var pStart uintptr var szAlloc Sqlite3_int64 = Sqlite3_int64(sz) * Sqlite3_int64(cnt) var nBig int32 // Number of full-size slots @@ -194813,13 +194842,13 @@ func setupLookaside(tls *libc.TLS, db uintptr, pBuf uintptr, sz int32, cnt int32 } // Return the mutex associated with a database connection. -func Xsqlite3_db_mutex(tls *libc.TLS, db uintptr) uintptr { /* sqlite3.c:169263:26: */ +func Xsqlite3_db_mutex(tls *libc.TLS, db uintptr) uintptr { /* sqlite3.c:169320:26: */ return (*Sqlite3)(unsafe.Pointer(db)).Fmutex } // Free up as much memory as we can from the given database // connection. -func Xsqlite3_db_release_memory(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:169277:16: */ +func Xsqlite3_db_release_memory(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:169334:16: */ var i int32 Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) @@ -194838,7 +194867,7 @@ func Xsqlite3_db_release_memory(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c: // Flush any dirty pages in the pager-cache for any attached database // to disk. -func Xsqlite3_db_cacheflush(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:169301:16: */ +func Xsqlite3_db_cacheflush(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:169358:16: */ var i int32 var rc int32 = SQLITE_OK var bSeenBusy int32 = 0 @@ -194867,7 +194896,7 @@ func Xsqlite3_db_cacheflush(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:1693 } // Configuration settings for an individual database connection -func Xsqlite3_db_config(tls *libc.TLS, db uintptr, op int32, va uintptr) int32 { /* sqlite3.c:169330:16: */ +func Xsqlite3_db_config(tls *libc.TLS, db uintptr, op int32, va uintptr) int32 { /* sqlite3.c:169387:16: */ var ap Va_list _ = ap var rc int32 @@ -194946,11 +194975,11 @@ var aFlagOp = [16]struct { {Fop: SQLITE_DBCONFIG_DQS_DML, Fmask: U32(SQLITE_DqsDML)}, {Fop: SQLITE_DBCONFIG_LEGACY_FILE_FORMAT, Fmask: U32(SQLITE_LegacyFileFmt)}, {Fop: SQLITE_DBCONFIG_TRUSTED_SCHEMA, Fmask: U32(SQLITE_TrustedSchema)}, -} /* sqlite3.c:169353:9 */ +} /* sqlite3.c:169410:9 */ // This is the default collating function named "BINARY" which is always // available. -func binCollFunc(tls *libc.TLS, NotUsed uintptr, nKey1 int32, pKey1 uintptr, nKey2 int32, pKey2 uintptr) int32 { /* sqlite3.c:169405:12: */ +func binCollFunc(tls *libc.TLS, NotUsed uintptr, nKey1 int32, pKey1 uintptr, nKey2 int32, pKey2 uintptr) int32 { /* sqlite3.c:169462:12: */ var rc int32 var n int32 _ = NotUsed @@ -194972,7 +195001,7 @@ func binCollFunc(tls *libc.TLS, NotUsed uintptr, nKey1 int32, pKey1 uintptr, nKe // This is the collating function named "RTRIM" which is always // available. Ignore trailing spaces. -func rtrimCollFunc(tls *libc.TLS, pUser uintptr, nKey1 int32, pKey1 uintptr, nKey2 int32, pKey2 uintptr) int32 { /* sqlite3.c:169428:12: */ +func rtrimCollFunc(tls *libc.TLS, pUser uintptr, nKey1 int32, pKey1 uintptr, nKey2 int32, pKey2 uintptr) int32 { /* sqlite3.c:169485:12: */ var pK1 uintptr = pKey1 var pK2 uintptr = pKey2 for nKey1 != 0 && int32(*(*U8)(unsafe.Pointer(pK1 + uintptr(nKey1-1)))) == ' ' { @@ -194985,7 +195014,7 @@ func rtrimCollFunc(tls *libc.TLS, pUser uintptr, nKey1 int32, pKey1 uintptr, nKe } // Return true if CollSeq is the default built-in BINARY. -func Xsqlite3IsBinary(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:169443:20: */ +func Xsqlite3IsBinary(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:169500:20: */ return libc.Bool32(p == uintptr(0) || (*CollSeq)(unsafe.Pointer(p)).FxCmp == *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32 @@ -194999,7 +195028,7 @@ func Xsqlite3IsBinary(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:169443:20: // extends only to the 26 characters used in the English language. // // At the moment there is only a UTF-8 implementation. -func nocaseCollatingFunc(tls *libc.TLS, NotUsed uintptr, nKey1 int32, pKey1 uintptr, nKey2 int32, pKey2 uintptr) int32 { /* sqlite3.c:169457:12: */ +func nocaseCollatingFunc(tls *libc.TLS, NotUsed uintptr, nKey1 int32, pKey1 uintptr, nKey2 int32, pKey2 uintptr) int32 { /* sqlite3.c:169514:12: */ var r int32 = Xsqlite3_strnicmp(tls, pKey1, pKey2, func() int32 { if nKey1 < nKey2 { @@ -195015,39 +195044,39 @@ func nocaseCollatingFunc(tls *libc.TLS, NotUsed uintptr, nKey1 int32, pKey1 uint } // Return the ROWID of the most recent insert -func Xsqlite3_last_insert_rowid(tls *libc.TLS, db uintptr) Sqlite_int64 { /* sqlite3.c:169474:25: */ +func Xsqlite3_last_insert_rowid(tls *libc.TLS, db uintptr) Sqlite_int64 { /* sqlite3.c:169531:25: */ return (*Sqlite3)(unsafe.Pointer(db)).FlastRowid } // Set the value returned by the sqlite3_last_insert_rowid() API function. -func Xsqlite3_set_last_insert_rowid(tls *libc.TLS, db uintptr, iRowid Sqlite3_int64) { /* sqlite3.c:169487:17: */ +func Xsqlite3_set_last_insert_rowid(tls *libc.TLS, db uintptr, iRowid Sqlite3_int64) { /* sqlite3.c:169544:17: */ Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) (*Sqlite3)(unsafe.Pointer(db)).FlastRowid = iRowid Xsqlite3_mutex_leave(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) } // Return the number of changes in the most recent call to sqlite3_exec(). -func Xsqlite3_changes64(tls *libc.TLS, db uintptr) Sqlite3_int64 { /* sqlite3.c:169502:26: */ +func Xsqlite3_changes64(tls *libc.TLS, db uintptr) Sqlite3_int64 { /* sqlite3.c:169559:26: */ return (*Sqlite3)(unsafe.Pointer(db)).FnChange } -func Xsqlite3_changes(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:169511:16: */ +func Xsqlite3_changes(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:169568:16: */ return int32(Xsqlite3_changes64(tls, db)) } // Return the number of changes since the database handle was opened. -func Xsqlite3_total_changes64(tls *libc.TLS, db uintptr) Sqlite3_int64 { /* sqlite3.c:169518:26: */ +func Xsqlite3_total_changes64(tls *libc.TLS, db uintptr) Sqlite3_int64 { /* sqlite3.c:169575:26: */ return (*Sqlite3)(unsafe.Pointer(db)).FnTotalChange } -func Xsqlite3_total_changes(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:169527:16: */ +func Xsqlite3_total_changes(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:169584:16: */ return int32(Xsqlite3_total_changes64(tls, db)) } // Close all open savepoints. This function only manipulates fields of the // database handle object, it does not close any savepoints that may be open // at the b-tree/pager level. -func Xsqlite3CloseSavepoints(tls *libc.TLS, db uintptr) { /* sqlite3.c:169536:21: */ +func Xsqlite3CloseSavepoints(tls *libc.TLS, db uintptr) { /* sqlite3.c:169593:21: */ for (*Sqlite3)(unsafe.Pointer(db)).FpSavepoint != 0 { var pTmp uintptr = (*Sqlite3)(unsafe.Pointer(db)).FpSavepoint (*Sqlite3)(unsafe.Pointer(db)).FpSavepoint = (*Savepoint)(unsafe.Pointer(pTmp)).FpNext @@ -195062,7 +195091,7 @@ func Xsqlite3CloseSavepoints(tls *libc.TLS, db uintptr) { /* sqlite3.c:169536:21 // if this is not the last copy of the function, do not invoke it. Multiple // copies of a single function are created when create_function() is called // with SQLITE_ANY as the encoding. -func functionDestroy(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:169553:13: */ +func functionDestroy(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:169610:13: */ var pDestructor uintptr pDestructor = *(*uintptr)(unsafe.Pointer(p + 64)) @@ -195077,7 +195106,7 @@ func functionDestroy(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:169553 // Disconnect all sqlite3_vtab objects that belong to database connection // db. This is called when db is being closed. -func disconnectAllVtab(tls *libc.TLS, db uintptr) { /* sqlite3.c:169570:13: */ +func disconnectAllVtab(tls *libc.TLS, db uintptr) { /* sqlite3.c:169627:13: */ var i int32 var p uintptr Xsqlite3BtreeEnterAll(tls, db) @@ -195104,7 +195133,7 @@ func disconnectAllVtab(tls *libc.TLS, db uintptr) { /* sqlite3.c:169570:13: */ // Return TRUE if database connection db has unfinalized prepared // statements or unfinished sqlite3_backup objects. -func connectionIsBusy(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:169601:12: */ +func connectionIsBusy(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:169658:12: */ var j int32 if (*Sqlite3)(unsafe.Pointer(db)).FpVdbe != 0 { @@ -195120,14 +195149,14 @@ func connectionIsBusy(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:169601:12: } // Close an existing SQLite database -func sqlite3Close(tls *libc.TLS, db uintptr, forceZombie int32) int32 { /* sqlite3.c:169615:12: */ +func sqlite3Close(tls *libc.TLS, db uintptr, forceZombie int32) int32 { /* sqlite3.c:169672:12: */ if !(db != 0) { // EVIDENCE-OF: R-63257-11740 Calling sqlite3_close() or // sqlite3_close_v2() with a NULL pointer argument is a harmless no-op. return SQLITE_OK } if !(Xsqlite3SafetyCheckSickOrOk(tls, db) != 0) { - return Xsqlite3MisuseError(tls, 169622) + return Xsqlite3MisuseError(tls, 169679) } Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) if int32((*Sqlite3)(unsafe.Pointer(db)).FmTrace)&SQLITE_TRACE_CLOSE != 0 { @@ -195164,7 +195193,7 @@ func sqlite3Close(tls *libc.TLS, db uintptr, forceZombie int32) int32 { /* sqlit // Return the transaction state for a single databse, or the maximum // transaction state over all attached databases if zSchema is null. -func Xsqlite3_txn_state(tls *libc.TLS, db uintptr, zSchema uintptr) int32 { /* sqlite3.c:169669:16: */ +func Xsqlite3_txn_state(tls *libc.TLS, db uintptr, zSchema uintptr) int32 { /* sqlite3.c:169726:16: */ var iDb int32 var nDb int32 var iTxn int32 = -1 @@ -195201,11 +195230,11 @@ func Xsqlite3_txn_state(tls *libc.TLS, db uintptr, zSchema uintptr) int32 { /* s // version forces the connection to become a zombie if there are // unclosed resources, and arranges for deallocation when the last // prepare statement or sqlite3_backup closes. -func Xsqlite3_close(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:169704:16: */ +func Xsqlite3_close(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:169761:16: */ return sqlite3Close(tls, db, 0) } -func Xsqlite3_close_v2(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:169705:16: */ +func Xsqlite3_close_v2(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:169762:16: */ return sqlite3Close(tls, db, 1) } @@ -195215,7 +195244,7 @@ func Xsqlite3_close_v2(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:169705:16 // has been a prior call to sqlite3_close(db) or sqlite3_close_v2(db)) and // every sqlite3_stmt has now been finalized and every sqlite3_backup has // finished, then free all resources. -func Xsqlite3LeaveMutexAndCloseZombie(tls *libc.TLS, db uintptr) { /* sqlite3.c:169716:21: */ +func Xsqlite3LeaveMutexAndCloseZombie(tls *libc.TLS, db uintptr) { /* sqlite3.c:169773:21: */ var i uintptr // Hash table iterator var j int32 @@ -195325,7 +195354,7 @@ func Xsqlite3LeaveMutexAndCloseZombie(tls *libc.TLS, db uintptr) { /* sqlite3.c: // breaker") and made to return tripCode if there are any further // attempts to use that cursor. Read cursors remain open and valid // but are "saved" in case the table pages are moved around. -func Xsqlite3RollbackAll(tls *libc.TLS, db uintptr, tripCode int32) { /* sqlite3.c:169839:21: */ +func Xsqlite3RollbackAll(tls *libc.TLS, db uintptr, tripCode int32) { /* sqlite3.c:169896:21: */ var i int32 var inTrans int32 = 0 var schemaChange int32 @@ -195375,7 +195404,7 @@ func Xsqlite3RollbackAll(tls *libc.TLS, db uintptr, tripCode int32) { /* sqlite3 // Return a static string that describes the kind of error specified in the // argument. -func Xsqlite3ErrStr(tls *libc.TLS, rc int32) uintptr { /* sqlite3.c:170000:27: */ +func Xsqlite3ErrStr(tls *libc.TLS, rc int32) uintptr { /* sqlite3.c:170057:27: */ var zErr uintptr = ts + 24638 /* "unknown error" */ switch rc { case SQLITE_ABORT | int32(2)<<8: @@ -195439,7 +195468,7 @@ var aMsg = [29]uintptr{ ts + 25134, ts + 25157, ts + 25178, -} /* sqlite3.c:170001:20 */ +} /* sqlite3.c:170058:20 */ // This routine implements a busy callback that sleeps and tries // again until a timeout value is reached. The timeout value is @@ -195448,7 +195477,7 @@ var aMsg = [29]uintptr{ // // Return non-zero to retry the lock. Return zero to stop trying // and cause SQLite to return SQLITE_BUSY. -func sqliteDefaultBusyCallback(tls *libc.TLS, ptr uintptr, count int32) int32 { /* sqlite3.c:170070:12: */ +func sqliteDefaultBusyCallback(tls *libc.TLS, ptr uintptr, count int32) int32 { /* sqlite3.c:170127:12: */ var db uintptr = ptr var tmout int32 = (*Sqlite3)(unsafe.Pointer(db)).FbusyTimeout var delay int32 @@ -195471,8 +195500,8 @@ func sqliteDefaultBusyCallback(tls *libc.TLS, ptr uintptr, count int32) int32 { return 1 } -var delays = [12]U8{U8(1), U8(2), U8(5), U8(10), U8(15), U8(20), U8(25), U8(25), U8(25), U8(50), U8(50), U8(100)} /* sqlite3.c:170077:19 */ -var totals = [12]U8{U8(0), U8(1), U8(3), U8(8), U8(18), U8(33), U8(53), U8(78), U8(103), U8(128), U8(178), U8(228)} /* sqlite3.c:170079:19 */ +var delays = [12]U8{U8(1), U8(2), U8(5), U8(10), U8(15), U8(20), U8(25), U8(25), U8(25), U8(50), U8(50), U8(100)} /* sqlite3.c:170134:19 */ +var totals = [12]U8{U8(0), U8(1), U8(3), U8(8), U8(18), U8(33), U8(53), U8(78), U8(103), U8(128), U8(178), U8(228)} /* sqlite3.c:170136:19 */ // Invoke the given busy handler. // @@ -195481,7 +195510,7 @@ var totals = [12]U8{U8(0), U8(1), U8(3), U8(8), U8(18), U8(33), U8(53), U8(78), // // If this routine returns non-zero, the lock is retried. If it // returns 0, the operation aborts with an SQLITE_BUSY error. -func Xsqlite3InvokeBusyHandler(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:170122:20: */ +func Xsqlite3InvokeBusyHandler(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:170179:20: */ var rc int32 if (*BusyHandler)(unsafe.Pointer(p)).FxBusyHandler == uintptr(0) || (*BusyHandler)(unsafe.Pointer(p)).FnBusy < 0 { return 0 @@ -195499,7 +195528,7 @@ func Xsqlite3InvokeBusyHandler(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:17 // This routine sets the busy callback for an Sqlite database to the // given callback function with the given argument. -func Xsqlite3_busy_handler(tls *libc.TLS, db uintptr, xBusy uintptr, pArg uintptr) int32 { /* sqlite3.c:170138:16: */ +func Xsqlite3_busy_handler(tls *libc.TLS, db uintptr, xBusy uintptr, pArg uintptr) int32 { /* sqlite3.c:170195:16: */ Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) (*Sqlite3)(unsafe.Pointer(db)).FbusyHandler.FxBusyHandler = xBusy (*Sqlite3)(unsafe.Pointer(db)).FbusyHandler.FpBusyArg = pArg @@ -195512,7 +195541,7 @@ func Xsqlite3_busy_handler(tls *libc.TLS, db uintptr, xBusy uintptr, pArg uintpt // This routine sets the progress callback for an Sqlite database to the // given callback function with the given argument. The progress callback will // be invoked every nOps opcodes. -func Xsqlite3_progress_handler(tls *libc.TLS, db uintptr, nOps int32, xProgress uintptr, pArg uintptr) { /* sqlite3.c:170161:17: */ +func Xsqlite3_progress_handler(tls *libc.TLS, db uintptr, nOps int32, xProgress uintptr, pArg uintptr) { /* sqlite3.c:170218:17: */ Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) if nOps > 0 { (*Sqlite3)(unsafe.Pointer(db)).FxProgress = xProgress @@ -195528,7 +195557,7 @@ func Xsqlite3_progress_handler(tls *libc.TLS, db uintptr, nOps int32, xProgress // This routine installs a default busy handler that waits for the // specified number of milliseconds before returning 0. -func Xsqlite3_busy_timeout(tls *libc.TLS, db uintptr, ms int32) int32 { /* sqlite3.c:170192:16: */ +func Xsqlite3_busy_timeout(tls *libc.TLS, db uintptr, ms int32) int32 { /* sqlite3.c:170249:16: */ if ms > 0 { Xsqlite3_busy_handler(tls, db, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32) int32 @@ -195542,7 +195571,7 @@ func Xsqlite3_busy_timeout(tls *libc.TLS, db uintptr, ms int32) int32 { /* sqlit } // Cause any pending operation to stop at its earliest opportunity. -func Xsqlite3_interrupt(tls *libc.TLS, db uintptr) { /* sqlite3.c:170209:17: */ +func Xsqlite3_interrupt(tls *libc.TLS, db uintptr) { /* sqlite3.c:170266:17: */ libc.AtomicStoreNInt32(db+432, int32(1), 0) } @@ -195550,7 +195579,7 @@ func Xsqlite3_interrupt(tls *libc.TLS, db uintptr) { /* sqlite3.c:170209:17: */ // that it is designed to be called by internal code. The difference is // that if a malloc() fails in sqlite3_create_function(), an error code // is returned and the mallocFailed flag cleared. -func Xsqlite3CreateFunc(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) int32 { /* sqlite3.c:170226:20: */ +func Xsqlite3CreateFunc(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) int32 { /* sqlite3.c:170283:20: */ var p uintptr var extraFlags int32 @@ -195560,7 +195589,7 @@ func Xsqlite3CreateFunc(tls *libc.TLS, db uintptr, zFunctionName uintptr, nArg i libc.Bool32(xValue == uintptr(0)) != libc.Bool32(xInverse == uintptr(0)) || (nArg < -1 || nArg > SQLITE_MAX_FUNCTION_ARG) || 255 < Xsqlite3Strlen30(tls, zFunctionName) { - return Xsqlite3MisuseError(tls, 170251) + return Xsqlite3MisuseError(tls, 170308) } extraFlags = enc & (SQLITE_DETERMINISTIC | SQLITE_DIRECTONLY | SQLITE_SUBTYPE | SQLITE_INNOCUOUS) @@ -195665,7 +195694,7 @@ func Xsqlite3CreateFunc(tls *libc.TLS, db uintptr, zFunctionName uintptr, nArg i // sqlite3_create_function() // 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) int32 { /* sqlite3.c:170360:12: */ +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) int32 { /* sqlite3.c:170417:12: */ var rc int32 var pArg uintptr rc = SQLITE_ERROR @@ -195707,22 +195736,22 @@ out: } // 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) int32 { /* sqlite3.c:170411:16: */ +func Xsqlite3_create_function(tls *libc.TLS, db uintptr, zFunc uintptr, nArg int32, enc int32, p uintptr, xSFunc uintptr, xStep uintptr, xFinal uintptr) int32 { /* sqlite3.c:170468:16: */ return createFunctionApi(tls, db, zFunc, nArg, enc, p, xSFunc, xStep, 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) int32 { /* sqlite3.c:170424:16: */ +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) int32 { /* sqlite3.c:170481:16: */ return createFunctionApi(tls, db, zFunc, nArg, enc, p, xSFunc, xStep, xFinal, uintptr(0), uintptr(0), 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) int32 { /* sqlite3.c:170438:16: */ +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) int32 { /* sqlite3.c:170495:16: */ return createFunctionApi(tls, db, zFunc, nArg, enc, p, uintptr(0), xStep, xFinal, xValue, xInverse, xDestroy) } -func Xsqlite3_create_function16(tls *libc.TLS, db uintptr, zFunctionName uintptr, nArg int32, eTextRep int32, p uintptr, xSFunc uintptr, xStep uintptr, xFinal uintptr) int32 { /* sqlite3.c:170455:16: */ +func Xsqlite3_create_function16(tls *libc.TLS, db uintptr, zFunctionName uintptr, nArg int32, eTextRep int32, p uintptr, xSFunc uintptr, xStep uintptr, xFinal uintptr) int32 { /* sqlite3.c:170512:16: */ var rc int32 var zFunc8 uintptr @@ -195742,7 +195771,7 @@ func Xsqlite3_create_function16(tls *libc.TLS, db uintptr, zFunctionName uintptr // SQL function that use this routine so that the functions will exist // for name resolution but are actually overloaded by the xFindFunction // method of virtual tables. -func sqlite3InvalidFunction(tls *libc.TLS, context uintptr, NotUsed int32, NotUsed2 uintptr) { /* sqlite3.c:170491:13: */ +func sqlite3InvalidFunction(tls *libc.TLS, context uintptr, NotUsed int32, NotUsed2 uintptr) { /* sqlite3.c:170548:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -195766,7 +195795,7 @@ func sqlite3InvalidFunction(tls *libc.TLS, context uintptr, NotUsed int32, NotUs // should call this routine to make sure the global function exists. // A global function must exist in order for name resolution to work // properly. -func Xsqlite3_overload_function(tls *libc.TLS, db uintptr, zName uintptr, nArg int32) int32 { /* sqlite3.c:170517:16: */ +func Xsqlite3_overload_function(tls *libc.TLS, db uintptr, zName uintptr, nArg int32) int32 { /* sqlite3.c:170574:16: */ var rc int32 var zCopy uintptr @@ -195792,7 +195821,7 @@ func Xsqlite3_overload_function(tls *libc.TLS, db uintptr, zName uintptr, nArg i // A NULL trace function means that no tracing is executes. A non-NULL // 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) uintptr { /* sqlite3.c:170550:17: */ +func Xsqlite3_trace(tls *libc.TLS, db uintptr, xTrace uintptr, pArg uintptr) uintptr { /* sqlite3.c:170607:17: */ var pOld uintptr Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) @@ -195810,7 +195839,7 @@ func Xsqlite3_trace(tls *libc.TLS, db uintptr, xTrace uintptr, pArg uintptr) uin } // Register a trace callback using the version-2 interface. -func Xsqlite3_trace_v2(tls *libc.TLS, db uintptr, mTrace uint32, xTrace uintptr, pArg uintptr) int32 { /* sqlite3.c:170571:16: */ +func Xsqlite3_trace_v2(tls *libc.TLS, db uintptr, mTrace uint32, xTrace uintptr, pArg uintptr) int32 { /* sqlite3.c:170628:16: */ Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) if mTrace == uint32(0) { xTrace = uintptr(0) @@ -195831,7 +195860,7 @@ func Xsqlite3_trace_v2(tls *libc.TLS, db uintptr, mTrace uint32, xTrace uintptr, // A NULL profile function means that no profiling is executes. A non-NULL // 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) uintptr { /* sqlite3.c:170601:17: */ +func Xsqlite3_profile(tls *libc.TLS, db uintptr, xProfile uintptr, pArg uintptr) uintptr { /* sqlite3.c:170658:17: */ var pOld uintptr Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) @@ -195849,7 +195878,7 @@ func Xsqlite3_profile(tls *libc.TLS, db uintptr, xProfile uintptr, pArg uintptr) // Register a function to be invoked when a transaction commits. // 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) uintptr { /* sqlite3.c:170631:17: */ +func Xsqlite3_commit_hook(tls *libc.TLS, db uintptr, xCallback uintptr, pArg uintptr) uintptr { /* sqlite3.c:170688:17: */ var pOld uintptr Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) @@ -195862,7 +195891,7 @@ func Xsqlite3_commit_hook(tls *libc.TLS, db uintptr, xCallback uintptr, pArg uin // 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) uintptr { /* sqlite3.c:170656:17: */ +func Xsqlite3_update_hook(tls *libc.TLS, db uintptr, xCallback uintptr, pArg uintptr) uintptr { /* sqlite3.c:170713:17: */ var pRet uintptr Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) @@ -195875,7 +195904,7 @@ func Xsqlite3_update_hook(tls *libc.TLS, db uintptr, xCallback uintptr, pArg uin // 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) uintptr { /* sqlite3.c:170681:17: */ +func Xsqlite3_rollback_hook(tls *libc.TLS, db uintptr, xCallback uintptr, pArg uintptr) uintptr { /* sqlite3.c:170738:17: */ var pRet uintptr Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) @@ -195888,7 +195917,7 @@ func Xsqlite3_rollback_hook(tls *libc.TLS, db uintptr, xCallback uintptr, pArg u // 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) uintptr { /* sqlite3.c:170707:17: */ +func Xsqlite3_preupdate_hook(tls *libc.TLS, db uintptr, xCallback uintptr, pArg uintptr) uintptr { /* sqlite3.c:170764:17: */ var pRet uintptr Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) pRet = (*Sqlite3)(unsafe.Pointer(db)).FpPreUpdateArg @@ -195900,7 +195929,7 @@ func Xsqlite3_preupdate_hook(tls *libc.TLS, db uintptr, xCallback uintptr, pArg // 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) int32 { /* sqlite3.c:170727:16: */ +func Xsqlite3_autovacuum_pages(tls *libc.TLS, db uintptr, xCallback uintptr, pArg uintptr, xDestructor uintptr) int32 { /* sqlite3.c:170784:16: */ Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) if (*Sqlite3)(unsafe.Pointer(db)).FxAutovacDestr != 0 { (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3)(unsafe.Pointer(db)).FxAutovacDestr})).f(tls, (*Sqlite3)(unsafe.Pointer(db)).FpAutovacPagesArg) @@ -195916,7 +195945,7 @@ func Xsqlite3_autovacuum_pages(tls *libc.TLS, db uintptr, xCallback uintptr, pAr // Invoke sqlite3_wal_checkpoint if the number of frames in the log file // is greater than sqlite3.pWalArg cast to an integer (the value configured by // wal_autocheckpoint()). -func Xsqlite3WalDefaultHook(tls *libc.TLS, pClientData uintptr, db uintptr, zDb uintptr, nFrame int32) int32 { /* sqlite3.c:170758:20: */ +func Xsqlite3WalDefaultHook(tls *libc.TLS, pClientData uintptr, db uintptr, zDb uintptr, nFrame int32) int32 { /* sqlite3.c:170815:20: */ if nFrame >= int32(pClientData) { Xsqlite3BeginBenignMalloc(tls) Xsqlite3_wal_checkpoint(tls, db, zDb) @@ -195934,7 +195963,7 @@ func Xsqlite3WalDefaultHook(tls *libc.TLS, pClientData uintptr, db uintptr, zDb // registered using sqlite3_wal_hook(). Likewise, registering a callback // using sqlite3_wal_hook() disables the automatic checkpoint mechanism // configured by this function. -func Xsqlite3_wal_autocheckpoint(tls *libc.TLS, db uintptr, nFrame int32) int32 { /* sqlite3.c:170784:16: */ +func Xsqlite3_wal_autocheckpoint(tls *libc.TLS, db uintptr, nFrame int32) int32 { /* sqlite3.c:170841:16: */ if nFrame > 0 { Xsqlite3_wal_hook(tls, db, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, uintptr, int32) int32 @@ -195947,7 +195976,7 @@ func Xsqlite3_wal_autocheckpoint(tls *libc.TLS, db uintptr, nFrame int32) int32 // 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) uintptr { /* sqlite3.c:170805:17: */ +func Xsqlite3_wal_hook(tls *libc.TLS, db uintptr, xCallback uintptr, pArg uintptr) uintptr { /* sqlite3.c:170862:17: */ var pRet uintptr Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) pRet = (*Sqlite3)(unsafe.Pointer(db)).FpWalArg @@ -195958,7 +195987,7 @@ func Xsqlite3_wal_hook(tls *libc.TLS, db uintptr, xCallback uintptr, pArg uintpt } // Checkpoint database zDb. -func Xsqlite3_wal_checkpoint_v2(tls *libc.TLS, db uintptr, zDb uintptr, eMode int32, pnLog uintptr, pnCkpt uintptr) int32 { /* sqlite3.c:170832:16: */ +func Xsqlite3_wal_checkpoint_v2(tls *libc.TLS, db uintptr, zDb uintptr, eMode int32, pnLog uintptr, pnCkpt uintptr) int32 { /* sqlite3.c:170889:16: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -196008,7 +196037,7 @@ func Xsqlite3_wal_checkpoint_v2(tls *libc.TLS, db uintptr, zDb uintptr, eMode in // Checkpoint database zDb. If zDb is NULL, or if the buffer zDb points // to contains a zero-length string, all attached databases are // checkpointed. -func Xsqlite3_wal_checkpoint(tls *libc.TLS, db uintptr, zDb uintptr) int32 { /* sqlite3.c:170896:16: */ +func Xsqlite3_wal_checkpoint(tls *libc.TLS, db uintptr, zDb uintptr) int32 { /* sqlite3.c:170953:16: */ // EVIDENCE-OF: R-41613-20553 The sqlite3_wal_checkpoint(D,X) is equivalent to // sqlite3_wal_checkpoint_v2(D,X,SQLITE_CHECKPOINT_PASSIVE,0,0). return Xsqlite3_wal_checkpoint_v2(tls, db, zDb, SQLITE_CHECKPOINT_PASSIVE, uintptr(0), uintptr(0)) @@ -196032,7 +196061,7 @@ func Xsqlite3_wal_checkpoint(tls *libc.TLS, db uintptr, zDb uintptr) int32 { /* // // Parameter eMode is one of SQLITE_CHECKPOINT_PASSIVE, FULL, RESTART // or TRUNCATE. -func Xsqlite3Checkpoint(tls *libc.TLS, db uintptr, iDb int32, eMode int32, pnLog uintptr, pnCkpt uintptr) int32 { /* sqlite3.c:170923:20: */ +func Xsqlite3Checkpoint(tls *libc.TLS, db uintptr, iDb int32, eMode int32, pnLog uintptr, pnCkpt uintptr) int32 { /* sqlite3.c:170980:20: */ var rc int32 = SQLITE_OK // Return code var i int32 // Used to iterate through attached dbs var bBusy int32 = 0 // True if SQLITE_BUSY has been encountered @@ -196074,19 +196103,19 @@ func Xsqlite3Checkpoint(tls *libc.TLS, db uintptr, iDb int32, eMode int32, pnLog // 2 2 memory (return 1) // 2 0 memory (return 1) // 3 any memory (return 1) -func Xsqlite3TempInMemory(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:170969:20: */ +func Xsqlite3TempInMemory(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:171026:20: */ return libc.Bool32(int32((*Sqlite3)(unsafe.Pointer(db)).Ftemp_store) == 2) } // Return UTF-8 encoded English language explanation of the most recent // error. -func Xsqlite3_errmsg(tls *libc.TLS, db uintptr) uintptr { /* sqlite3.c:170990:23: */ +func Xsqlite3_errmsg(tls *libc.TLS, db uintptr) uintptr { /* sqlite3.c:171047:23: */ var z uintptr if !(db != 0) { return Xsqlite3ErrStr(tls, SQLITE_NOMEM) } if !(Xsqlite3SafetyCheckSickOrOk(tls, db) != 0) { - return Xsqlite3ErrStr(tls, Xsqlite3MisuseError(tls, 170996)) + return Xsqlite3ErrStr(tls, Xsqlite3MisuseError(tls, 171053)) } Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) if (*Sqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 { @@ -196108,7 +196137,7 @@ func Xsqlite3_errmsg(tls *libc.TLS, db uintptr) uintptr { /* sqlite3.c:170990:23 } // Return the byte offset of the most recent error -func Xsqlite3_error_offset(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:171016:16: */ +func Xsqlite3_error_offset(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:171073:16: */ var iOffset int32 = -1 if db != 0 && Xsqlite3SafetyCheckSickOrOk(tls, db) != 0 && (*Sqlite3)(unsafe.Pointer(db)).FerrCode != 0 { Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) @@ -196120,7 +196149,7 @@ func Xsqlite3_error_offset(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:17101 // Return UTF-16 encoded English language explanation of the most recent // error. -func Xsqlite3_errmsg16(tls *libc.TLS, db uintptr) uintptr { /* sqlite3.c:171031:23: */ +func Xsqlite3_errmsg16(tls *libc.TLS, db uintptr) uintptr { /* sqlite3.c:171088:23: */ var z uintptr if !(db != 0) { return uintptr(uintptr(unsafe.Pointer(&outOfMem))) @@ -196149,18 +196178,18 @@ func Xsqlite3_errmsg16(tls *libc.TLS, db uintptr) uintptr { /* sqlite3.c:171031: var outOfMem = [14]U16{ U16('o'), U16('u'), U16('t'), U16(' '), U16('o'), U16('f'), U16(' '), U16('m'), U16('e'), U16('m'), U16('o'), U16('r'), U16('y'), U16(0), -} /* sqlite3.c:171032:20 */ +} /* sqlite3.c:171089:20 */ var misuse = [34]U16{ U16('b'), U16('a'), U16('d'), U16(' '), U16('p'), U16('a'), U16('r'), U16('a'), U16('m'), U16('e'), U16('t'), U16('e'), U16('r'), U16(' '), U16('o'), U16('r'), U16(' '), U16('o'), U16('t'), U16('h'), U16('e'), U16('r'), U16(' '), U16('A'), U16('P'), U16('I'), U16(' '), U16('m'), U16('i'), U16('s'), U16('u'), U16('s'), U16('e'), U16(0), -} /* sqlite3.c:171035:20 */ +} /* sqlite3.c:171092:20 */ // Return the most recent error code generated by an SQLite routine. If NULL is // passed to this function, we assume a malloc() failed during sqlite3_open(). -func Xsqlite3_errcode(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:171073:16: */ +func Xsqlite3_errcode(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:171130:16: */ if db != 0 && !(Xsqlite3SafetyCheckSickOrOk(tls, db) != 0) { - return Xsqlite3MisuseError(tls, 171075) + return Xsqlite3MisuseError(tls, 171132) } if !(db != 0) || (*Sqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 { return SQLITE_NOMEM @@ -196168,9 +196197,9 @@ func Xsqlite3_errcode(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:171073:16: return (*Sqlite3)(unsafe.Pointer(db)).FerrCode & (*Sqlite3)(unsafe.Pointer(db)).FerrMask } -func Xsqlite3_extended_errcode(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:171082:16: */ +func Xsqlite3_extended_errcode(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:171139:16: */ if db != 0 && !(Xsqlite3SafetyCheckSickOrOk(tls, db) != 0) { - return Xsqlite3MisuseError(tls, 171084) + return Xsqlite3MisuseError(tls, 171141) } if !(db != 0) || (*Sqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 { return SQLITE_NOMEM @@ -196178,7 +196207,7 @@ func Xsqlite3_extended_errcode(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:1 return (*Sqlite3)(unsafe.Pointer(db)).FerrCode } -func Xsqlite3_system_errno(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:171091:16: */ +func Xsqlite3_system_errno(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:171148:16: */ if db != 0 { return (*Sqlite3)(unsafe.Pointer(db)).FiSysErrno } @@ -196188,13 +196217,13 @@ func Xsqlite3_system_errno(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:17109 // Return a string that describes the kind of error specified in the // argument. For now, this simply calls the internal sqlite3ErrStr() // function. -func Xsqlite3_errstr(tls *libc.TLS, rc int32) uintptr { /* sqlite3.c:171100:23: */ +func Xsqlite3_errstr(tls *libc.TLS, rc int32) uintptr { /* sqlite3.c:171157:23: */ return Xsqlite3ErrStr(tls, rc) } // 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 U8, pCtx uintptr, xCompare uintptr, xDel uintptr) int32 { /* sqlite3.c:171108:12: */ +func createCollation(tls *libc.TLS, db uintptr, zName uintptr, enc U8, pCtx uintptr, xCompare uintptr, xDel uintptr) int32 { /* sqlite3.c:171165:12: */ var pColl uintptr var enc2 int32 @@ -196207,7 +196236,7 @@ func createCollation(tls *libc.TLS, db uintptr, zName uintptr, enc U8, pCtx uint enc2 = SQLITE_UTF16LE } if enc2 < SQLITE_UTF8 || enc2 > SQLITE_UTF16BE { - return Xsqlite3MisuseError(tls, 171132) + return Xsqlite3MisuseError(tls, 171189) } // Check if this call is removing or replacing an existing collation @@ -196270,7 +196299,7 @@ var aHardLimit = [12]int32{ SQLITE_MAX_VARIABLE_NUMBER, // IMP: R-38091-32352 SQLITE_MAX_TRIGGER_DEPTH, SQLITE_MAX_WORKER_THREADS, -} /* sqlite3.c:171185:18 */ +} /* sqlite3.c:171242:18 */ // Make sure the hard limits are set to reasonable values @@ -196282,7 +196311,7 @@ var aHardLimit = [12]int32{ // A new lower limit does not shrink existing constructs. // It merely prevents new constructs that exceed the limit // from forming. -func Xsqlite3_limit(tls *libc.TLS, db uintptr, limitId int32, newLimit int32) int32 { /* sqlite3.c:171248:16: */ +func Xsqlite3_limit(tls *libc.TLS, db uintptr, limitId int32, newLimit int32) int32 { /* sqlite3.c:171305:16: */ var oldLimit int32 // EVIDENCE-OF: R-30189-54097 For each limit category SQLITE_LIMIT_NAME @@ -196329,7 +196358,7 @@ func Xsqlite3_limit(tls *libc.TLS, db uintptr, limitId int32, newLimit int32) in // may be set to point to a buffer containing an English language error // message. It is the responsibility of the caller to eventually release // this buffer by calling sqlite3_free(). -func Xsqlite3ParseUri(tls *libc.TLS, zDefaultVfs uintptr, zUri uintptr, pFlags uintptr, ppVfs uintptr, pzFile uintptr, pzErrMsg uintptr) int32 { /* sqlite3.c:171320:20: */ +func Xsqlite3ParseUri(tls *libc.TLS, zDefaultVfs uintptr, zUri uintptr, pFlags uintptr, ppVfs uintptr, pzFile uintptr, pzErrMsg uintptr) int32 { /* sqlite3.c:171377:20: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -196667,24 +196696,24 @@ type OpenMode = struct { Fz uintptr Fmode int32 F__ccgo_pad1 [4]byte -} /* sqlite3.c:171462:9 */ +} /* sqlite3.c:171519:9 */ var aCacheMode = [3]OpenMode{ {Fz: ts + 25523, Fmode: SQLITE_OPEN_SHAREDCACHE}, {Fz: ts + 25530, Fmode: SQLITE_OPEN_PRIVATECACHE}, {}, -} /* sqlite3.c:171471:34 */ +} /* sqlite3.c:171528:34 */ var aOpenMode = [5]OpenMode{ {Fz: ts + 25538, Fmode: SQLITE_OPEN_READONLY}, {Fz: ts + 25541, Fmode: SQLITE_OPEN_READWRITE}, {Fz: ts + 25544, Fmode: SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE}, {Fz: ts + 18638, Fmode: SQLITE_OPEN_MEMORY}, {}, -} /* sqlite3.c:171483:34 */ +} /* sqlite3.c:171540:34 */ // This routine does the core work of extracting URI parameters from a // database filename for the sqlite3_uri_parameter() interface. -func uriParameter(tls *libc.TLS, zFilename uintptr, zParam uintptr) uintptr { /* sqlite3.c:171557:19: */ +func uriParameter(tls *libc.TLS, zFilename uintptr, zParam uintptr) uintptr { /* sqlite3.c:171614:19: */ zFilename += uintptr(Xsqlite3Strlen30(tls, zFilename) + 1) for zFilename != uintptr(0) && *(*int8)(unsafe.Pointer(zFilename)) != 0 { var x int32 = libc.Xstrcmp(tls, zFilename, zParam) @@ -196700,7 +196729,7 @@ func uriParameter(tls *libc.TLS, zFilename uintptr, zParam uintptr) uintptr { /* // This routine does the work of opening a database on behalf of // sqlite3_open() and sqlite3_open16(). The database filename "zFilename" // is UTF-8 encoded. -func openDatabase(tls *libc.TLS, zFilename uintptr, ppDb uintptr, flags uint32, zVfs uintptr) int32 { /* sqlite3.c:171575:12: */ +func openDatabase(tls *libc.TLS, zFilename uintptr, ppDb uintptr, flags uint32, zVfs uintptr) int32 { /* sqlite3.c:171632:12: */ bp := tls.Alloc(32) defer tls.Free(32) *(*uint32)(unsafe.Pointer(bp + 8)) = flags @@ -196884,7 +196913,7 @@ __15: if !(int32(1)<<(*(*uint32)(unsafe.Pointer(bp + 8))&uint32(7))&0x46 == 0) { goto __16 } - rc = Xsqlite3MisuseError(tls, 171788) // IMP: R-18321-05872 + rc = Xsqlite3MisuseError(tls, 171845) // IMP: R-18321-05872 goto __17 __16: rc = Xsqlite3ParseUri(tls, zVfs, zFilename, bp+8, db, bp+16, bp+24) @@ -197040,17 +197069,17 @@ __32: } // Open a new database handle. -func Xsqlite3_open(tls *libc.TLS, zFilename uintptr, ppDb uintptr) int32 { /* sqlite3.c:171910:16: */ +func Xsqlite3_open(tls *libc.TLS, zFilename uintptr, ppDb uintptr) int32 { /* sqlite3.c:171967:16: */ return openDatabase(tls, zFilename, ppDb, uint32(SQLITE_OPEN_READWRITE|SQLITE_OPEN_CREATE), uintptr(0)) } -func Xsqlite3_open_v2(tls *libc.TLS, filename uintptr, ppDb uintptr, flags int32, zVfs uintptr) int32 { /* sqlite3.c:171917:16: */ +func Xsqlite3_open_v2(tls *libc.TLS, filename uintptr, ppDb uintptr, flags int32, zVfs uintptr) int32 { /* sqlite3.c:171974:16: */ return openDatabase(tls, filename, ppDb, uint32(flags), zVfs) } // Open a new database handle. -func Xsqlite3_open16(tls *libc.TLS, zFilename uintptr, ppDb uintptr) int32 { /* sqlite3.c:171930:16: */ +func Xsqlite3_open16(tls *libc.TLS, zFilename uintptr, ppDb uintptr) int32 { /* sqlite3.c:171987:16: */ var zFilename8 uintptr // zFilename encoded in UTF-8 instead of UTF-16 var pVal uintptr var rc int32 @@ -197082,12 +197111,12 @@ func Xsqlite3_open16(tls *libc.TLS, zFilename uintptr, ppDb uintptr) int32 { /* } // 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) int32 { /* sqlite3.c:171969:16: */ +func Xsqlite3_create_collation(tls *libc.TLS, db uintptr, zName uintptr, enc int32, pCtx uintptr, xCompare uintptr) int32 { /* sqlite3.c:172026:16: */ return Xsqlite3_create_collation_v2(tls, db, zName, enc, pCtx, xCompare, uintptr(0)) } // 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) int32 { /* sqlite3.c:171982:16: */ +func Xsqlite3_create_collation_v2(tls *libc.TLS, db uintptr, zName uintptr, enc int32, pCtx uintptr, xCompare uintptr, xDel uintptr) int32 { /* sqlite3.c:172039:16: */ var rc int32 Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) @@ -197099,7 +197128,7 @@ func Xsqlite3_create_collation_v2(tls *libc.TLS, db uintptr, zName uintptr, enc } // 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) int32 { /* sqlite3.c:172007:16: */ +func Xsqlite3_create_collation16(tls *libc.TLS, db uintptr, zName uintptr, enc int32, pCtx uintptr, xCompare uintptr) int32 { /* sqlite3.c:172064:16: */ var rc int32 = SQLITE_OK var zName8 uintptr @@ -197117,7 +197146,7 @@ func Xsqlite3_create_collation16(tls *libc.TLS, db uintptr, zName uintptr, enc i // 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) int32 { /* sqlite3.c:172037:16: */ +func Xsqlite3_collation_needed(tls *libc.TLS, db uintptr, pCollNeededArg uintptr, xCollNeeded uintptr) int32 { /* sqlite3.c:172094:16: */ Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) (*Sqlite3)(unsafe.Pointer(db)).FxCollNeeded = xCollNeeded (*Sqlite3)(unsafe.Pointer(db)).FxCollNeeded16 = uintptr(0) @@ -197128,7 +197157,7 @@ func Xsqlite3_collation_needed(tls *libc.TLS, db uintptr, pCollNeededArg uintptr // 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) int32 { /* sqlite3.c:172058:16: */ +func Xsqlite3_collation_needed16(tls *libc.TLS, db uintptr, pCollNeededArg uintptr, xCollNeeded16 uintptr) int32 { /* sqlite3.c:172115:16: */ Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) (*Sqlite3)(unsafe.Pointer(db)).FxCollNeeded = uintptr(0) (*Sqlite3)(unsafe.Pointer(db)).FxCollNeeded16 = xCollNeeded16 @@ -197139,7 +197168,7 @@ func Xsqlite3_collation_needed16(tls *libc.TLS, db uintptr, pCollNeededArg uintp // This function is now an anachronism. It used to be used to recover from a // malloc() failure, but SQLite now does this automatically. -func Xsqlite3_global_recover(tls *libc.TLS) int32 { /* sqlite3.c:172080:16: */ +func Xsqlite3_global_recover(tls *libc.TLS) int32 { /* sqlite3.c:172137:16: */ return SQLITE_OK } @@ -197147,7 +197176,7 @@ func Xsqlite3_global_recover(tls *libc.TLS) int32 { /* sqlite3.c:172080:16: */ // mode. Return TRUE if it is and FALSE if not. Autocommit mode is on // by default. Autocommit is disabled by a BEGIN statement and reenabled // by the next COMMIT or ROLLBACK. -func Xsqlite3_get_autocommit(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:172091:16: */ +func Xsqlite3_get_autocommit(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:172148:16: */ return int32((*Sqlite3)(unsafe.Pointer(db)).FautoCommit) } @@ -197160,7 +197189,7 @@ func Xsqlite3_get_autocommit(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:172 // // 2. Invoke sqlite3_log() to provide the source code location where // a low-level error is first detected. -func Xsqlite3ReportError(tls *libc.TLS, iErr int32, lineno int32, zType uintptr) int32 { /* sqlite3.c:172112:20: */ +func Xsqlite3ReportError(tls *libc.TLS, iErr int32, lineno int32, zType uintptr) int32 { /* sqlite3.c:172169:20: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -197169,17 +197198,17 @@ func Xsqlite3ReportError(tls *libc.TLS, iErr int32, lineno int32, zType uintptr) return iErr } -func Xsqlite3CorruptError(tls *libc.TLS, lineno int32) int32 { /* sqlite3.c:172117:20: */ +func Xsqlite3CorruptError(tls *libc.TLS, lineno int32) int32 { /* sqlite3.c:172174:20: */ return Xsqlite3ReportError(tls, SQLITE_CORRUPT, lineno, ts+25582) } -func Xsqlite3MisuseError(tls *libc.TLS, lineno int32) int32 { /* sqlite3.c:172121:20: */ +func Xsqlite3MisuseError(tls *libc.TLS, lineno int32) int32 { /* sqlite3.c:172178:20: */ return Xsqlite3ReportError(tls, SQLITE_MISUSE, lineno, ts+25602) } -func Xsqlite3CantopenError(tls *libc.TLS, lineno int32) int32 { /* sqlite3.c:172125:20: */ +func Xsqlite3CantopenError(tls *libc.TLS, lineno int32) int32 { /* sqlite3.c:172182:20: */ return Xsqlite3ReportError(tls, SQLITE_CANTOPEN, lineno, ts+25609) } @@ -197189,12 +197218,12 @@ func Xsqlite3CantopenError(tls *libc.TLS, lineno int32) int32 { /* sqlite3.c:172 // // SQLite no longer uses thread-specific data so this routine is now a // no-op. It is retained for historical compatibility. -func Xsqlite3_thread_cleanup(tls *libc.TLS) { /* sqlite3.c:172156:17: */ +func Xsqlite3_thread_cleanup(tls *libc.TLS) { /* sqlite3.c:172213:17: */ } // Return meta information about a specific column of a database table. // See comment in sqlite3.h (sqlite.h.in) for details. -func Xsqlite3_table_column_metadata(tls *libc.TLS, db uintptr, zDbName uintptr, zTableName uintptr, zColumnName uintptr, pzDataType uintptr, pzCollSeq uintptr, pNotNull uintptr, pPrimaryKey uintptr, pAutoinc uintptr) int32 { /* sqlite3.c:172164:16: */ +func Xsqlite3_table_column_metadata(tls *libc.TLS, db uintptr, zDbName uintptr, zTableName uintptr, zColumnName uintptr, pzDataType uintptr, pzCollSeq uintptr, pNotNull uintptr, pPrimaryKey uintptr, pAutoinc uintptr) int32 { /* sqlite3.c:172221:16: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -197378,7 +197407,7 @@ __20: } // Sleep for a little while. Return the amount of time slept. -func Xsqlite3_sleep(tls *libc.TLS, ms int32) int32 { /* sqlite3.c:172282:16: */ +func Xsqlite3_sleep(tls *libc.TLS, ms int32) int32 { /* sqlite3.c:172339:16: */ var pVfs uintptr var rc int32 pVfs = Xsqlite3_vfs_find(tls, uintptr(0)) @@ -197393,7 +197422,7 @@ func Xsqlite3_sleep(tls *libc.TLS, ms int32) int32 { /* sqlite3.c:172282:16: */ } // Enable or disable the extended result codes. -func Xsqlite3_extended_result_codes(tls *libc.TLS, db uintptr, onoff int32) int32 { /* sqlite3.c:172298:16: */ +func Xsqlite3_extended_result_codes(tls *libc.TLS, db uintptr, onoff int32) int32 { /* sqlite3.c:172355:16: */ Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) (*Sqlite3)(unsafe.Pointer(db)).FerrMask = func() int32 { if onoff != 0 { @@ -197406,7 +197435,7 @@ func Xsqlite3_extended_result_codes(tls *libc.TLS, db uintptr, onoff int32) int3 } // Invoke the xFileControl method on a particular database. -func Xsqlite3_file_control(tls *libc.TLS, db uintptr, zDbName uintptr, op int32, pArg uintptr) int32 { /* sqlite3.c:172311:16: */ +func Xsqlite3_file_control(tls *libc.TLS, db uintptr, zDbName uintptr, op int32, pArg uintptr) int32 { /* sqlite3.c:172368:16: */ var rc int32 = SQLITE_ERROR var pBtree uintptr @@ -197451,7 +197480,7 @@ func Xsqlite3_file_control(tls *libc.TLS, db uintptr, zDbName uintptr, op int32, } // Interface to the testing logic. -func Xsqlite3_test_control(tls *libc.TLS, op int32, va uintptr) int32 { /* sqlite3.c:172361:16: */ +func Xsqlite3_test_control(tls *libc.TLS, op int32, va uintptr) int32 { /* sqlite3.c:172418:16: */ var rc int32 = 0 var ap Va_list _ = ap @@ -197910,7 +197939,7 @@ func Xsqlite3_test_control(tls *libc.TLS, op int32, va uintptr) int32 { /* sqlit // backwards for the first byte following four consecutive zero bytes. // // This only works if the filename passed in was obtained from the Pager. -func databaseName(tls *libc.TLS, zName uintptr) uintptr { /* sqlite3.c:172857:19: */ +func databaseName(tls *libc.TLS, zName uintptr) uintptr { /* sqlite3.c:172914:19: */ for int32(*(*int8)(unsafe.Pointer(zName + libc.UintptrFromInt32(-1)))) != 0 || int32(*(*int8)(unsafe.Pointer(zName + libc.UintptrFromInt32(-2)))) != 0 || int32(*(*int8)(unsafe.Pointer(zName + libc.UintptrFromInt32(-3)))) != 0 || int32(*(*int8)(unsafe.Pointer(zName + libc.UintptrFromInt32(-4)))) != 0 { zName-- } @@ -197919,7 +197948,7 @@ func databaseName(tls *libc.TLS, zName uintptr) uintptr { /* sqlite3.c:172857:19 // Append text z[] to the end of p[]. Return a pointer to the first // character after then zero terminator on the new text in p[]. -func appendText(tls *libc.TLS, p uintptr, z uintptr) uintptr { /* sqlite3.c:172868:13: */ +func appendText(tls *libc.TLS, p uintptr, z uintptr) uintptr { /* sqlite3.c:172925:13: */ var n Size_t = libc.Xstrlen(tls, z) libc.Xmemcpy(tls, p, z, n+uint64(1)) return p + uintptr(n) + uintptr(1) @@ -197932,7 +197961,7 @@ func appendText(tls *libc.TLS, p uintptr, z uintptr) uintptr { /* sqlite3.c:1728 // // Memory layout must be compatible with that generated by the pager // and expected by sqlite3_uri_parameter() and databaseName(). -func Xsqlite3_create_filename(tls *libc.TLS, zDatabase uintptr, zJournal uintptr, zWal uintptr, nParam int32, azParam uintptr) uintptr { /* sqlite3.c:172883:17: */ +func Xsqlite3_create_filename(tls *libc.TLS, zDatabase uintptr, zJournal uintptr, zWal uintptr, nParam int32, azParam uintptr) uintptr { /* sqlite3.c:172940:17: */ var nByte Sqlite3_int64 var i int32 var pResult uintptr @@ -197963,7 +197992,7 @@ func Xsqlite3_create_filename(tls *libc.TLS, zDatabase uintptr, zJournal uintptr // Free memory obtained from sqlite3_create_filename(). It is a severe // error to call this routine with any parameter other than a pointer // previously obtained from sqlite3_create_filename() or a NULL pointer. -func Xsqlite3_free_filename(tls *libc.TLS, p uintptr) { /* sqlite3.c:172919:17: */ +func Xsqlite3_free_filename(tls *libc.TLS, p uintptr) { /* sqlite3.c:172976:17: */ if p == uintptr(0) { return } @@ -197980,7 +198009,7 @@ func Xsqlite3_free_filename(tls *libc.TLS, p uintptr) { /* sqlite3.c:172919:17: // query parameter we seek. This routine returns the value of the zParam // parameter if it exists. If the parameter does not exist, this routine // returns a NULL pointer. -func Xsqlite3_uri_parameter(tls *libc.TLS, zFilename uintptr, zParam uintptr) uintptr { /* sqlite3.c:172937:23: */ +func Xsqlite3_uri_parameter(tls *libc.TLS, zFilename uintptr, zParam uintptr) uintptr { /* sqlite3.c:172994:23: */ if zFilename == uintptr(0) || zParam == uintptr(0) { return uintptr(0) } @@ -197989,7 +198018,7 @@ func Xsqlite3_uri_parameter(tls *libc.TLS, zFilename uintptr, zParam uintptr) ui } // Return a pointer to the name of Nth query parameter of the filename. -func Xsqlite3_uri_key(tls *libc.TLS, zFilename uintptr, N int32) uintptr { /* sqlite3.c:172946:23: */ +func Xsqlite3_uri_key(tls *libc.TLS, zFilename uintptr, N int32) uintptr { /* sqlite3.c:173003:23: */ if zFilename == uintptr(0) || N < 0 { return uintptr(0) } @@ -198006,7 +198035,7 @@ func Xsqlite3_uri_key(tls *libc.TLS, zFilename uintptr, N int32) uintptr { /* sq } // Return a boolean value for a query parameter. -func Xsqlite3_uri_boolean(tls *libc.TLS, zFilename uintptr, zParam uintptr, bDflt int32) int32 { /* sqlite3.c:172960:16: */ +func Xsqlite3_uri_boolean(tls *libc.TLS, zFilename uintptr, zParam uintptr, bDflt int32) int32 { /* sqlite3.c:173017:16: */ var z uintptr = Xsqlite3_uri_parameter(tls, zFilename, zParam) bDflt = libc.Bool32(bDflt != 0) if z != 0 { @@ -198016,7 +198045,7 @@ func Xsqlite3_uri_boolean(tls *libc.TLS, zFilename uintptr, zParam uintptr, bDfl } // Return a 64-bit integer value for a query parameter. -func Xsqlite3_uri_int64(tls *libc.TLS, zFilename uintptr, zParam uintptr, bDflt Sqlite3_int64) Sqlite3_int64 { /* sqlite3.c:172969:26: */ +func Xsqlite3_uri_int64(tls *libc.TLS, zFilename uintptr, zParam uintptr, bDflt Sqlite3_int64) Sqlite3_int64 { /* sqlite3.c:173026:26: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -198037,14 +198066,14 @@ func Xsqlite3_uri_int64(tls *libc.TLS, zFilename uintptr, zParam uintptr, bDflt // passing free() a pointer that was not obtained from malloc() - it is // an error that we cannot easily detect but that will likely cause memory // corruption. -func Xsqlite3_filename_database(tls *libc.TLS, zFilename uintptr) uintptr { /* sqlite3.c:172992:23: */ +func Xsqlite3_filename_database(tls *libc.TLS, zFilename uintptr) uintptr { /* sqlite3.c:173049:23: */ if zFilename == uintptr(0) { return uintptr(0) } return databaseName(tls, zFilename) } -func Xsqlite3_filename_journal(tls *libc.TLS, zFilename uintptr) uintptr { /* sqlite3.c:172996:23: */ +func Xsqlite3_filename_journal(tls *libc.TLS, zFilename uintptr) uintptr { /* sqlite3.c:173053:23: */ if zFilename == uintptr(0) { return uintptr(0) } @@ -198057,7 +198086,7 @@ func Xsqlite3_filename_journal(tls *libc.TLS, zFilename uintptr) uintptr { /* sq return zFilename + uintptr(1) } -func Xsqlite3_filename_wal(tls *libc.TLS, zFilename uintptr) uintptr { /* sqlite3.c:173006:23: */ +func Xsqlite3_filename_wal(tls *libc.TLS, zFilename uintptr) uintptr { /* sqlite3.c:173063:23: */ zFilename = Xsqlite3_filename_journal(tls, zFilename) if zFilename != 0 { zFilename += uintptr(Xsqlite3Strlen30(tls, zFilename) + 1) @@ -198066,7 +198095,7 @@ func Xsqlite3_filename_wal(tls *libc.TLS, zFilename uintptr) uintptr { /* sqlite } // Return the Btree pointer identified by zDbName. Return NULL if not found. -func Xsqlite3DbNameToBtree(tls *libc.TLS, db uintptr, zDbName uintptr) uintptr { /* sqlite3.c:173019:22: */ +func Xsqlite3DbNameToBtree(tls *libc.TLS, db uintptr, zDbName uintptr) uintptr { /* sqlite3.c:173076:22: */ var iDb int32 if zDbName != 0 { iDb = Xsqlite3FindDbName(tls, db, zDbName) @@ -198081,7 +198110,7 @@ func Xsqlite3DbNameToBtree(tls *libc.TLS, db uintptr, zDbName uintptr) uintptr { // Return the filename of the database associated with a database // connection. -func Xsqlite3_db_filename(tls *libc.TLS, db uintptr, zDbName uintptr) uintptr { /* sqlite3.c:173028:23: */ +func Xsqlite3_db_filename(tls *libc.TLS, db uintptr, zDbName uintptr) uintptr { /* sqlite3.c:173085:23: */ var pBt uintptr pBt = Xsqlite3DbNameToBtree(tls, db, zDbName) if pBt != 0 { @@ -198092,7 +198121,7 @@ func Xsqlite3_db_filename(tls *libc.TLS, db uintptr, zDbName uintptr) uintptr { // Return 1 if database is read-only or 0 if read/write. Return -1 if // no such database exists. -func Xsqlite3_db_readonly(tls *libc.TLS, db uintptr, zDbName uintptr) int32 { /* sqlite3.c:173044:16: */ +func Xsqlite3_db_readonly(tls *libc.TLS, db uintptr, zDbName uintptr) int32 { /* sqlite3.c:173101:16: */ var pBt uintptr pBt = Xsqlite3DbNameToBtree(tls, db, zDbName) if pBt != 0 { @@ -198103,7 +198132,7 @@ func Xsqlite3_db_readonly(tls *libc.TLS, db uintptr, zDbName uintptr) int32 { /* // Obtain a snapshot handle for the snapshot of database zDb currently // being read by handle db. -func Xsqlite3_snapshot_get(tls *libc.TLS, db uintptr, zDb uintptr, ppSnapshot uintptr) int32 { /* sqlite3.c:173061:16: */ +func Xsqlite3_snapshot_get(tls *libc.TLS, db uintptr, zDb uintptr, ppSnapshot uintptr) int32 { /* sqlite3.c:173118:16: */ var rc int32 = SQLITE_ERROR Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) @@ -198126,7 +198155,7 @@ func Xsqlite3_snapshot_get(tls *libc.TLS, db uintptr, zDb uintptr, ppSnapshot ui } // Open a read-transaction on the snapshot idendified by pSnapshot. -func Xsqlite3_snapshot_open(tls *libc.TLS, db uintptr, zDb uintptr, pSnapshot uintptr) int32 { /* sqlite3.c:173097:16: */ +func Xsqlite3_snapshot_open(tls *libc.TLS, db uintptr, zDb uintptr, pSnapshot uintptr) int32 { /* sqlite3.c:173154:16: */ var rc int32 = SQLITE_ERROR Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) @@ -198169,7 +198198,7 @@ func Xsqlite3_snapshot_open(tls *libc.TLS, db uintptr, zDb uintptr, pSnapshot ui // Recover as many snapshots as possible from the wal file associated with // schema zDb of database db. -func Xsqlite3_snapshot_recover(tls *libc.TLS, db uintptr, zDb uintptr) int32 { /* sqlite3.c:173153:16: */ +func Xsqlite3_snapshot_recover(tls *libc.TLS, db uintptr, zDb uintptr) int32 { /* sqlite3.c:173210:16: */ var rc int32 = SQLITE_ERROR var iDb int32 @@ -198190,7 +198219,7 @@ func Xsqlite3_snapshot_recover(tls *libc.TLS, db uintptr, zDb uintptr) int32 { / } // Free a snapshot handle obtained from sqlite3_snapshot_get(). -func Xsqlite3_snapshot_free(tls *libc.TLS, pSnapshot uintptr) { /* sqlite3.c:173184:17: */ +func Xsqlite3_snapshot_free(tls *libc.TLS, pSnapshot uintptr) { /* sqlite3.c:173241:17: */ Xsqlite3_free(tls, pSnapshot) } @@ -198199,7 +198228,7 @@ func Xsqlite3_snapshot_free(tls *libc.TLS, pSnapshot uintptr) { /* sqlite3.c:173 // // The name can optionally begin with "SQLITE_" but the "SQLITE_" prefix // is not required for a match. -func Xsqlite3_compileoption_used(tls *libc.TLS, zOptName uintptr) int32 { /* sqlite3.c:173197:16: */ +func Xsqlite3_compileoption_used(tls *libc.TLS, zOptName uintptr) int32 { /* sqlite3.c:173254:16: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -198229,7 +198258,7 @@ func Xsqlite3_compileoption_used(tls *libc.TLS, zOptName uintptr) int32 { /* sql // Return the N-th compile-time option string. If N is out of range, // return a NULL pointer. -func Xsqlite3_compileoption_get(tls *libc.TLS, N int32) uintptr { /* sqlite3.c:173230:23: */ +func Xsqlite3_compileoption_get(tls *libc.TLS, N int32) uintptr { /* sqlite3.c:173287:23: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -198274,11 +198303,11 @@ func Xsqlite3_compileoption_get(tls *libc.TLS, N int32) uintptr { /* sqlite3.c:1 // for which either sqlite3.pBlockingConnection or sqlite3.pUnlockConnection // is not NULL. This variable may only accessed while the STATIC_MAIN // mutex is held. -var sqlite3BlockedList uintptr = uintptr(0) /* sqlite3.c:173282:16 */ +var sqlite3BlockedList uintptr = uintptr(0) /* sqlite3.c:173339:16 */ // Remove connection db from the blocked connections list. If connection // db is not currently a part of the list, this function is a no-op. -func removeFromBlockedList(tls *libc.TLS, db uintptr) { /* sqlite3.c:173325:13: */ +func removeFromBlockedList(tls *libc.TLS, db uintptr) { /* sqlite3.c:173382:13: */ var pp uintptr for pp = uintptr(unsafe.Pointer(&sqlite3BlockedList)); *(*uintptr)(unsafe.Pointer(pp)) != 0; pp = *(*uintptr)(unsafe.Pointer(pp)) + 832 { @@ -198291,7 +198320,7 @@ func removeFromBlockedList(tls *libc.TLS, db uintptr) { /* sqlite3.c:173325:13: // Add connection db to the blocked connections list. It is assumed // that it is not already a part of the list. -func addToBlockedList(tls *libc.TLS, db uintptr) { /* sqlite3.c:173340:13: */ +func addToBlockedList(tls *libc.TLS, db uintptr) { /* sqlite3.c:173397:13: */ var pp uintptr for pp = uintptr(unsafe.Pointer(&sqlite3BlockedList)); *(*uintptr)(unsafe.Pointer(pp)) != 0 && (*Sqlite3)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pp)))).FxUnlockNotify != (*Sqlite3)(unsafe.Pointer(db)).FxUnlockNotify; pp = *(*uintptr)(unsafe.Pointer(pp)) + 832 { @@ -198301,13 +198330,13 @@ func addToBlockedList(tls *libc.TLS, db uintptr) { /* sqlite3.c:173340:13: */ } // Obtain the STATIC_MAIN mutex. -func enterMutex(tls *libc.TLS) { /* sqlite3.c:173355:13: */ +func enterMutex(tls *libc.TLS) { /* sqlite3.c:173412:13: */ Xsqlite3_mutex_enter(tls, Xsqlite3MutexAlloc(tls, SQLITE_MUTEX_STATIC_MAIN)) } // Release the STATIC_MAIN mutex. -func leaveMutex(tls *libc.TLS) { /* sqlite3.c:173363:13: */ +func leaveMutex(tls *libc.TLS) { /* sqlite3.c:173420:13: */ Xsqlite3_mutex_leave(tls, Xsqlite3MutexAlloc(tls, SQLITE_MUTEX_STATIC_MAIN)) } @@ -198331,7 +198360,7 @@ func leaveMutex(tls *libc.TLS) { /* sqlite3.c:173363:13: */ // Each call to this routine overrides any prior callbacks registered // 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) int32 { /* sqlite3.c:173390:16: */ +func Xsqlite3_unlock_notify(tls *libc.TLS, db uintptr, xNotify uintptr, pArg uintptr) int32 { /* sqlite3.c:173447:16: */ bp := tls.Alloc(8) defer tls.Free(8) *(*uintptr)(unsafe.Pointer(bp)) = pArg @@ -198386,7 +198415,7 @@ func Xsqlite3_unlock_notify(tls *libc.TLS, db uintptr, xNotify uintptr, pArg uin // associated with connection db. The operation will return SQLITE_LOCKED // to the user because it requires a lock that will not be available // until connection pBlocker concludes its current transaction. -func Xsqlite3ConnectionBlocked(tls *libc.TLS, db uintptr, pBlocker uintptr) { /* sqlite3.c:173440:21: */ +func Xsqlite3ConnectionBlocked(tls *libc.TLS, db uintptr, pBlocker uintptr) { /* sqlite3.c:173497:21: */ enterMutex(tls) if (*Sqlite3)(unsafe.Pointer(db)).FpBlockingConnection == uintptr(0) && (*Sqlite3)(unsafe.Pointer(db)).FpUnlockConnection == uintptr(0) { addToBlockedList(tls, db) @@ -198412,7 +198441,7 @@ func Xsqlite3ConnectionBlocked(tls *libc.TLS, db uintptr, pBlocker uintptr) { /* // 3) If the two steps above mean that pBlockingConnection==0 and // pUnlockConnection==0, remove the entry from the blocked connections // list. -func Xsqlite3ConnectionUnlocked(tls *libc.TLS, db uintptr) { /* sqlite3.c:173468:21: */ +func Xsqlite3ConnectionUnlocked(tls *libc.TLS, db uintptr) { /* sqlite3.c:173525:21: */ bp := tls.Alloc(128) defer tls.Free(128) @@ -198516,7 +198545,7 @@ func Xsqlite3ConnectionUnlocked(tls *libc.TLS, db uintptr) { /* sqlite3.c:173468 // This is called when the database connection passed as an argument is // being closed. The connection is removed from the blocked list. -func Xsqlite3ConnectionClosed(tls *libc.TLS, db uintptr) { /* sqlite3.c:173567:21: */ +func Xsqlite3ConnectionClosed(tls *libc.TLS, db uintptr) { /* sqlite3.c:173624:21: */ Xsqlite3ConnectionUnlocked(tls, db) enterMutex(tls) removeFromBlockedList(tls, db) @@ -199121,7 +199150,7 @@ var jsonIsSpace = [256]int8{ int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), -} /* sqlite3.c:193144:19 */ +} /* sqlite3.c:193201:19 */ // Objects type JsonString1 = struct { @@ -199133,10 +199162,10 @@ type JsonString1 = struct { FbErr U8 FzSpace [100]int8 F__ccgo_pad1 [2]byte -} /* sqlite3.c:193171:9 */ +} /* sqlite3.c:193228:9 */ // Objects -type JsonString = JsonString1 /* sqlite3.c:193171:27 */ +type JsonString = JsonString1 /* sqlite3.c:193228:27 */ type JsonNode1 = struct { FeType U8 FjnFlags U8 @@ -199144,9 +199173,9 @@ type JsonNode1 = struct { F__ccgo_pad1 [1]byte Fn U32 Fu struct{ FzJContent uintptr } -} /* sqlite3.c:193172:9 */ +} /* sqlite3.c:193229:9 */ -type JsonNode = JsonNode1 /* sqlite3.c:193172:25 */ +type JsonNode = JsonNode1 /* sqlite3.c:193229:25 */ type JsonParse1 = struct { FnNode U32 FnAlloc U32 @@ -199159,9 +199188,9 @@ type JsonParse1 = struct { FnJson int32 FiHold U32 F__ccgo_pad1 [4]byte -} /* sqlite3.c:193173:9 */ +} /* sqlite3.c:193230:9 */ -type JsonParse = JsonParse1 /* sqlite3.c:193173:26 */ +type JsonParse = JsonParse1 /* sqlite3.c:193230:26 */ // JSON type values @@ -199170,7 +199199,7 @@ type JsonParse = JsonParse1 /* sqlite3.c:193173:26 */ // Names of the various JSON types: var jsonType = [8]uintptr{ ts + 7484, ts + 7998, ts + 8003, ts + 7494, ts + 7489, ts + 9244, ts + 25685, ts + 25691, -} /* sqlite3.c:193206:19 */ +} /* sqlite3.c:193263:19 */ // Maximum nesting depth of JSON for this implementation. // @@ -199184,7 +199213,7 @@ var jsonType = [8]uintptr{ // // Set the JsonString object to an empty string -func jsonZero(tls *libc.TLS, p uintptr) { /* sqlite3.c:193267:13: */ +func jsonZero(tls *libc.TLS, p uintptr) { /* sqlite3.c:193324:13: */ (*JsonString)(unsafe.Pointer(p)).FzBuf = p + 34 /* &.zSpace */ (*JsonString)(unsafe.Pointer(p)).FnAlloc = U64(unsafe.Sizeof([100]int8{})) (*JsonString)(unsafe.Pointer(p)).FnUsed = uint64(0) @@ -199192,7 +199221,7 @@ func jsonZero(tls *libc.TLS, p uintptr) { /* sqlite3.c:193267:13: */ } // Initialize the JsonString object -func jsonInit(tls *libc.TLS, p uintptr, pCtx uintptr) { /* sqlite3.c:193276:13: */ +func jsonInit(tls *libc.TLS, p uintptr, pCtx uintptr) { /* sqlite3.c:193333:13: */ (*JsonString)(unsafe.Pointer(p)).FpCtx = pCtx (*JsonString)(unsafe.Pointer(p)).FbErr = U8(0) jsonZero(tls, p) @@ -199200,7 +199229,7 @@ func jsonInit(tls *libc.TLS, p uintptr, pCtx uintptr) { /* sqlite3.c:193276:13: // Free all allocated memory and reset the JsonString object back to its // initial state. -func jsonReset(tls *libc.TLS, p uintptr) { /* sqlite3.c:193286:13: */ +func jsonReset(tls *libc.TLS, p uintptr) { /* sqlite3.c:193343:13: */ if !(int32((*JsonString)(unsafe.Pointer(p)).FbStatic) != 0) { Xsqlite3_free(tls, (*JsonString)(unsafe.Pointer(p)).FzBuf) } @@ -199208,7 +199237,7 @@ func jsonReset(tls *libc.TLS, p uintptr) { /* sqlite3.c:193286:13: */ } // Report an out-of-memory (OOM) condition -func jsonOom(tls *libc.TLS, p uintptr) { /* sqlite3.c:193294:13: */ +func jsonOom(tls *libc.TLS, p uintptr) { /* sqlite3.c:193351:13: */ (*JsonString)(unsafe.Pointer(p)).FbErr = U8(1) Xsqlite3_result_error_nomem(tls, (*JsonString)(unsafe.Pointer(p)).FpCtx) jsonReset(tls, p) @@ -199216,7 +199245,7 @@ func jsonOom(tls *libc.TLS, p uintptr) { /* sqlite3.c:193294:13: */ // Enlarge pJson->zBuf so that it can hold at least N more bytes. // Return zero on success. Return non-zero on an OOM error -func jsonGrow(tls *libc.TLS, p uintptr, N U32) int32 { /* sqlite3.c:193303:12: */ +func jsonGrow(tls *libc.TLS, p uintptr, N U32) int32 { /* sqlite3.c:193360:12: */ var nTotal U64 if U64(N) < (*JsonString)(unsafe.Pointer(p)).FnAlloc { nTotal = (*JsonString)(unsafe.Pointer(p)).FnAlloc * uint64(2) @@ -199249,7 +199278,7 @@ func jsonGrow(tls *libc.TLS, p uintptr, N U32) int32 { /* sqlite3.c:193303:12: * } // Append N bytes from zIn onto the end of the JsonString string. -func jsonAppendRaw(tls *libc.TLS, p uintptr, zIn uintptr, N U32) { /* sqlite3.c:193330:13: */ +func jsonAppendRaw(tls *libc.TLS, p uintptr, zIn uintptr, N U32) { /* sqlite3.c:193387:13: */ if N == U32(0) { return } @@ -199261,7 +199290,7 @@ func jsonAppendRaw(tls *libc.TLS, p uintptr, zIn uintptr, N U32) { /* sqlite3.c: } // Append formatted text (not to exceed N bytes) to the JsonString. -func jsonPrintf(tls *libc.TLS, N int32, p uintptr, zFormat uintptr, va uintptr) { /* sqlite3.c:193339:13: */ +func jsonPrintf(tls *libc.TLS, N int32, p uintptr, zFormat uintptr, va uintptr) { /* sqlite3.c:193396:13: */ var ap Va_list _ = ap if (*JsonString)(unsafe.Pointer(p)).FnUsed+U64(N) >= (*JsonString)(unsafe.Pointer(p)).FnAlloc && jsonGrow(tls, p, uint32(N)) != 0 { @@ -199274,7 +199303,7 @@ func jsonPrintf(tls *libc.TLS, N int32, p uintptr, zFormat uintptr, va uintptr) } // Append a single character -func jsonAppendChar(tls *libc.TLS, p uintptr, c int8) { /* sqlite3.c:193350:13: */ +func jsonAppendChar(tls *libc.TLS, p uintptr, c int8) { /* sqlite3.c:193407:13: */ if (*JsonString)(unsafe.Pointer(p)).FnUsed >= (*JsonString)(unsafe.Pointer(p)).FnAlloc && jsonGrow(tls, p, uint32(1)) != 0 { return } @@ -199283,7 +199312,7 @@ func jsonAppendChar(tls *libc.TLS, p uintptr, c int8) { /* sqlite3.c:193350:13: // Append a comma separator to the output buffer, if the previous // character is not '[' or '{'. -func jsonAppendSeparator(tls *libc.TLS, p uintptr) { /* sqlite3.c:193358:13: */ +func jsonAppendSeparator(tls *libc.TLS, p uintptr) { /* sqlite3.c:193415:13: */ var c int8 if (*JsonString)(unsafe.Pointer(p)).FnUsed == uint64(0) { return @@ -199298,7 +199327,7 @@ func jsonAppendSeparator(tls *libc.TLS, p uintptr) { /* sqlite3.c:193358:13: */ // under construction. Enclose the string in "..." and escape // any double-quotes or backslash characters contained within the // string. -func jsonAppendString(tls *libc.TLS, p uintptr, zIn uintptr, N U32) { /* sqlite3.c:193370:13: */ +func jsonAppendString(tls *libc.TLS, p uintptr, zIn uintptr, N U32) { /* sqlite3.c:193427:13: */ var i U32 var c uint8 if !(zIn == uintptr(0) || U64(N)+(*JsonString)(unsafe.Pointer(p)).FnUsed+uint64(2) >= (*JsonString)(unsafe.Pointer(p)).FnAlloc && jsonGrow(tls, p, N+U32(2)) != 0) { @@ -199369,11 +199398,11 @@ __4: var aSpecial = [32]int8{ int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8('b'), int8('t'), int8('n'), int8(0), int8('f'), int8('r'), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), -} /* sqlite3.c:193381:25 */ +} /* sqlite3.c:193438:25 */ // Append a function parameter value to the JSON string under // construction. -func jsonAppendValue(tls *libc.TLS, p uintptr, pValue uintptr) { /* sqlite3.c:193413:13: */ +func jsonAppendValue(tls *libc.TLS, p uintptr, pValue uintptr) { /* sqlite3.c:193470:13: */ switch Xsqlite3_value_type(tls, pValue) { case SQLITE_NULL: { @@ -199417,7 +199446,7 @@ func jsonAppendValue(tls *libc.TLS, p uintptr, pValue uintptr) { /* sqlite3.c:19 } // Make the JSON in p the result of the SQL function. -func jsonResult(tls *libc.TLS, p uintptr) { /* sqlite3.c:193453:13: */ +func jsonResult(tls *libc.TLS, p uintptr) { /* sqlite3.c:193510:13: */ if int32((*JsonString)(unsafe.Pointer(p)).FbErr) == 0 { Xsqlite3_result_text64(tls, (*JsonString)(unsafe.Pointer(p)).FpCtx, (*JsonString)(unsafe.Pointer(p)).FzBuf, (*JsonString)(unsafe.Pointer(p)).FnUsed, func() uintptr { @@ -199444,7 +199473,7 @@ func jsonResult(tls *libc.TLS, p uintptr) { /* sqlite3.c:193453:13: */ // Appended elements are not counted. The value returned is the number // by which the JsonNode counter should increment in order to go to the // next peer value. -func jsonNodeSize(tls *libc.TLS, pNode uintptr) U32 { /* sqlite3.c:193476:12: */ +func jsonNodeSize(tls *libc.TLS, pNode uintptr) U32 { /* sqlite3.c:193533:12: */ if int32((*JsonNode)(unsafe.Pointer(pNode)).FeType) >= JSON_ARRAY { return (*JsonNode)(unsafe.Pointer(pNode)).Fn + U32(1) } @@ -199453,7 +199482,7 @@ func jsonNodeSize(tls *libc.TLS, pNode uintptr) U32 { /* sqlite3.c:193476:12: */ // Reclaim all memory allocated by a JsonParse object. But do not // delete the JsonParse object itself. -func jsonParseReset(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:193484:13: */ +func jsonParseReset(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:193541:13: */ Xsqlite3_free(tls, (*JsonParse)(unsafe.Pointer(pParse)).FaNode) (*JsonParse)(unsafe.Pointer(pParse)).FaNode = uintptr(0) (*JsonParse)(unsafe.Pointer(pParse)).FnNode = U32(0) @@ -199463,7 +199492,7 @@ func jsonParseReset(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:193484:13: */ } // Free a JsonParse object that was obtained from sqlite3_malloc(). -func jsonParseFree(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:193496:13: */ +func jsonParseFree(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:193553:13: */ jsonParseReset(tls, pParse) Xsqlite3_free(tls, pParse) } @@ -199471,7 +199500,7 @@ func jsonParseFree(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:193496:13: */ // Convert the JsonNode pNode into a pure JSON string and // append to pOut. Subsubstructure is also included. Return // the number of JsonNode objects that are encoded. -func jsonRenderNode(tls *libc.TLS, pNode uintptr, pOut uintptr, aReplace uintptr) { /* sqlite3.c:193506:13: */ +func jsonRenderNode(tls *libc.TLS, pNode uintptr, pOut uintptr, aReplace uintptr) { /* sqlite3.c:193563:13: */ if int32((*JsonNode)(unsafe.Pointer(pNode)).FjnFlags)&(JNODE_REPLACE|JNODE_PATCH) != 0 { if int32((*JsonNode)(unsafe.Pointer(pNode)).FjnFlags)&JNODE_REPLACE != 0 && aReplace != uintptr(0) { @@ -199573,7 +199602,7 @@ func jsonRenderNode(tls *libc.TLS, pNode uintptr, pOut uintptr, aReplace uintptr } // Return a JsonNode and all its descendents as a JSON string. -func jsonReturnJson(tls *libc.TLS, pNode uintptr, pCtx uintptr, aReplace uintptr) { /* sqlite3.c:193595:13: */ +func jsonReturnJson(tls *libc.TLS, pNode uintptr, pCtx uintptr, aReplace uintptr) { /* sqlite3.c:193652:13: */ bp := tls.Alloc(136) defer tls.Free(136) @@ -199588,14 +199617,14 @@ func jsonReturnJson(tls *libc.TLS, pNode uintptr, pCtx uintptr, aReplace uintptr // Translate a single byte of Hex into an integer. // This routine only works if h really is a valid hexadecimal // character: 0..9a..fA..F -func jsonHexToInt(tls *libc.TLS, h int32) U8 { /* sqlite3.c:193612:11: */ +func jsonHexToInt(tls *libc.TLS, h int32) U8 { /* sqlite3.c:193669:11: */ h = h + 9*(1&(h>>6)) return U8(h & 0xf) } // Convert a 4-byte hex string into an integer -func jsonHexToInt4(tls *libc.TLS, z uintptr) U32 { /* sqlite3.c:193625:12: */ +func jsonHexToInt4(tls *libc.TLS, z uintptr) U32 { /* sqlite3.c:193682:12: */ var v U32 v = U32(int32(jsonHexToInt(tls, int32(*(*int8)(unsafe.Pointer(z)))))<<12 + @@ -199606,7 +199635,7 @@ func jsonHexToInt4(tls *libc.TLS, z uintptr) U32 { /* sqlite3.c:193625:12: */ } // Make the JsonNode the return value of the function. -func jsonReturn(tls *libc.TLS, pNode uintptr, pCtx uintptr, aReplace uintptr) { /* sqlite3.c:193641:13: */ +func jsonReturn(tls *libc.TLS, pNode uintptr, pCtx uintptr, aReplace uintptr) { /* sqlite3.c:193698:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -199887,7 +199916,7 @@ __1: // A macro to hint to the compiler that a function should not be // inlined. -func jsonParseAddNodeExpand(tls *libc.TLS, pParse uintptr, eType U32, n U32, zContent uintptr) int32 { /* sqlite3.c:193814:26: */ +func jsonParseAddNodeExpand(tls *libc.TLS, pParse uintptr, eType U32, n U32, zContent uintptr) int32 { /* sqlite3.c:193871:26: */ var nNew U32 var pNew uintptr @@ -199909,7 +199938,7 @@ func jsonParseAddNodeExpand(tls *libc.TLS, pParse uintptr, eType U32, n U32, zCo // Create a new JsonNode instance based on the arguments and append that // instance to the JsonParse. Return the index in pParse->aNode[] of the // new node, or -1 if a memory allocation fails. -func jsonParseAddNode(tls *libc.TLS, pParse uintptr, eType U32, n U32, zContent uintptr) int32 { /* sqlite3.c:193841:12: */ +func jsonParseAddNode(tls *libc.TLS, pParse uintptr, eType U32, n U32, zContent uintptr) int32 { /* sqlite3.c:193898:12: */ var p uintptr if (*JsonParse)(unsafe.Pointer(pParse)).FaNode == uintptr(0) || (*JsonParse)(unsafe.Pointer(pParse)).FnNode >= (*JsonParse)(unsafe.Pointer(pParse)).FnAlloc { return jsonParseAddNodeExpand(tls, pParse, eType, n, zContent) @@ -199924,7 +199953,7 @@ func jsonParseAddNode(tls *libc.TLS, pParse uintptr, eType U32, n U32, zContent } // Return true if z[] begins with 4 (or more) hexadecimal digits -func jsonIs4Hex(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:193863:12: */ +func jsonIs4Hex(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:193920:12: */ var i int32 for i = 0; i < 4; i++ { if !(int32(Xsqlite3CtypeMap[uint8(*(*int8)(unsafe.Pointer(z + uintptr(i))))])&0x08 != 0) { @@ -199940,7 +199969,7 @@ func jsonIs4Hex(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:193863:12: */ // Return negative for a syntax error. Special cases: return -2 if the // first non-whitespace character is '}' and return -3 if the first // non-whitespace character is ']'. -func jsonParseValue(tls *libc.TLS, pParse uintptr, i U32) int32 { /* sqlite3.c:193877:12: */ +func jsonParseValue(tls *libc.TLS, pParse uintptr, i U32) int32 { /* sqlite3.c:193934:12: */ var c int8 var j U32 var iThis int32 @@ -200167,7 +200196,7 @@ func jsonParseValue(tls *libc.TLS, pParse uintptr, i U32) int32 { /* sqlite3.c:1 // pParse. // // pParse is uninitialized when this routine is called. -func jsonParse(tls *libc.TLS, pParse uintptr, pCtx uintptr, zJson uintptr) int32 { /* sqlite3.c:194038:12: */ +func jsonParse(tls *libc.TLS, pParse uintptr, pCtx uintptr, zJson uintptr) int32 { /* sqlite3.c:194095:12: */ var i int32 libc.Xmemset(tls, pParse, 0, uint64(unsafe.Sizeof(JsonParse{}))) if zJson == uintptr(0) { @@ -200203,7 +200232,7 @@ func jsonParse(tls *libc.TLS, pParse uintptr, pCtx uintptr, zJson uintptr) int32 // Mark node i of pParse as being a child of iParent. Call recursively // to fill in all the descendants of node i. -func jsonParseFillInParentage(tls *libc.TLS, pParse uintptr, i U32, iParent U32) { /* sqlite3.c:194071:13: */ +func jsonParseFillInParentage(tls *libc.TLS, pParse uintptr, i U32, iParent U32) { /* sqlite3.c:194128:13: */ var pNode uintptr = (*JsonParse)(unsafe.Pointer(pParse)).FaNode + uintptr(i)*16 var j U32 *(*U32)(unsafe.Pointer((*JsonParse)(unsafe.Pointer(pParse)).FaUp + uintptr(i)*4)) = iParent @@ -200234,7 +200263,7 @@ func jsonParseFillInParentage(tls *libc.TLS, pParse uintptr, i U32, iParent U32) } // Compute the parentage of all nodes in a completed parse. -func jsonParseFindParents(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:194098:12: */ +func jsonParseFindParents(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:194155:12: */ var aUp uintptr aUp = libc.AssignPtrUintptr(pParse+24, Xsqlite3_malloc64(tls, uint64(unsafe.Sizeof(U32(0)))*uint64((*JsonParse)(unsafe.Pointer(pParse)).FnNode))) @@ -200254,7 +200283,7 @@ func jsonParseFindParents(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:19 // is no longer valid, parse the JSON again and return the new parse, // and also register the new parse so that it will be available for // future sqlite3_get_auxdata() calls. -func jsonParseCached(tls *libc.TLS, pCtx uintptr, argv uintptr, pErrCtx uintptr) uintptr { /* sqlite3.c:194124:18: */ +func jsonParseCached(tls *libc.TLS, pCtx uintptr, argv uintptr, pErrCtx uintptr) uintptr { /* sqlite3.c:194181:18: */ var zJson uintptr = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv))) var nJson int32 = Xsqlite3_value_bytes(tls, *(*uintptr)(unsafe.Pointer(argv))) var p uintptr @@ -200311,7 +200340,7 @@ func jsonParseCached(tls *libc.TLS, pCtx uintptr, argv uintptr, pErrCtx uintptr) // Compare the OBJECT label at pNode against zKey,nKey. Return true on // a match. -func jsonLabelCompare(tls *libc.TLS, pNode uintptr, zKey uintptr, nKey U32) int32 { /* sqlite3.c:194186:12: */ +func jsonLabelCompare(tls *libc.TLS, pNode uintptr, zKey uintptr, nKey U32) int32 { /* sqlite3.c:194243:12: */ if int32((*JsonNode)(unsafe.Pointer(pNode)).FjnFlags)&JNODE_RAW != 0 { if (*JsonNode)(unsafe.Pointer(pNode)).Fn != nKey { @@ -200334,7 +200363,7 @@ func jsonLabelCompare(tls *libc.TLS, pNode uintptr, zKey uintptr, nKey U32) int3 // If pApnd!=0, then try to append new nodes to complete zPath if it is // possible to do so and if no existing node corresponds to zPath. If // new nodes are appended *pApnd is set to 1. -func jsonLookupStep(tls *libc.TLS, pParse uintptr, iRoot U32, zPath uintptr, pApnd uintptr, pzErr uintptr) uintptr { /* sqlite3.c:194209:17: */ +func jsonLookupStep(tls *libc.TLS, pParse uintptr, iRoot U32, zPath uintptr, pApnd uintptr, pzErr uintptr) uintptr { /* sqlite3.c:194266:17: */ var i U32 var j U32 var nKey U32 @@ -200509,7 +200538,7 @@ func jsonLookupStep(tls *libc.TLS, pParse uintptr, iRoot U32, zPath uintptr, pAp // Append content to pParse that will complete zPath. Return a pointer // to the inserted node, or return NULL if the append fails. -func jsonLookupAppend(tls *libc.TLS, pParse uintptr, zPath uintptr, pApnd uintptr, pzErr uintptr) uintptr { /* sqlite3.c:194361:17: */ +func jsonLookupAppend(tls *libc.TLS, pParse uintptr, zPath uintptr, pApnd uintptr, pzErr uintptr) uintptr { /* sqlite3.c:194418:17: */ *(*int32)(unsafe.Pointer(pApnd)) = 1 if int32(*(*int8)(unsafe.Pointer(zPath))) == 0 { jsonParseAddNode(tls, pParse, uint32(JSON_NULL), uint32(0), uintptr(0)) @@ -200533,7 +200562,7 @@ func jsonLookupAppend(tls *libc.TLS, pParse uintptr, zPath uintptr, pApnd uintpt // Return the text of a syntax error message on a JSON path. Space is // obtained from sqlite3_malloc(). -func jsonPathSyntaxError(tls *libc.TLS, zErr uintptr) uintptr { /* sqlite3.c:194387:13: */ +func jsonPathSyntaxError(tls *libc.TLS, zErr uintptr) uintptr { /* sqlite3.c:194444:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -200548,7 +200577,7 @@ func jsonPathSyntaxError(tls *libc.TLS, zErr uintptr) uintptr { /* sqlite3.c:194 // // If pApnd!=NULL then try to append missing nodes and set *pApnd = 1 if // nodes are appended. -func jsonLookup(tls *libc.TLS, pParse uintptr, zPath uintptr, pApnd uintptr, pCtx uintptr) uintptr { /* sqlite3.c:194401:17: */ +func jsonLookup(tls *libc.TLS, pParse uintptr, zPath uintptr, pApnd uintptr, pCtx uintptr) uintptr { /* sqlite3.c:194458:17: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -200600,7 +200629,7 @@ __5: // Report the wrong number of arguments for json_insert(), json_replace() // or json_set(). -func jsonWrongNumArgs(tls *libc.TLS, pCtx uintptr, zFuncName uintptr) { /* sqlite3.c:194438:13: */ +func jsonWrongNumArgs(tls *libc.TLS, pCtx uintptr, zFuncName uintptr) { /* sqlite3.c:194495:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -200611,7 +200640,7 @@ func jsonWrongNumArgs(tls *libc.TLS, pCtx uintptr, zFuncName uintptr) { /* sqlit } // Mark all NULL entries in the Object passed in as JNODE_REMOVE. -func jsonRemoveAllNulls(tls *libc.TLS, pNode uintptr) { /* sqlite3.c:194451:13: */ +func jsonRemoveAllNulls(tls *libc.TLS, pNode uintptr) { /* sqlite3.c:194508:13: */ var i int32 var n int32 @@ -200642,7 +200671,7 @@ func jsonRemoveAllNulls(tls *libc.TLS, pNode uintptr) { /* sqlite3.c:194451:13: // corresponding to the SQL value input. Mostly this means putting // double-quotes around strings and returning the unquoted string "null" // when given a NULL input. -func jsonQuoteFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:194540:13: */ +func jsonQuoteFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:194597:13: */ bp := tls.Alloc(136) defer tls.Free(136) @@ -200659,7 +200688,7 @@ func jsonQuoteFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sq // Implementation of the json_array(VALUE,...) function. Return a JSON // array that contains all values given in arguments. Or if any argument // is a BLOB, throw an error. -func jsonArrayFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:194559:13: */ +func jsonArrayFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:194616:13: */ bp := tls.Alloc(136) defer tls.Free(136) @@ -200682,7 +200711,7 @@ func jsonArrayFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sq // // Return the number of elements in the top-level JSON array. // Return 0 if the input is not a well-formed JSON array. -func jsonArrayLengthFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:194586:13: */ +func jsonArrayLengthFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:194643:13: */ var p uintptr // The parse var n Sqlite3_int64 = int64(0) var i U32 @@ -200732,7 +200761,7 @@ func jsonArrayLengthFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { // // Abbreviated JSON path expressions are allows if JSON_ABPATH, for // compatibility with PG. -func jsonExtractFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:194646:13: */ +func jsonExtractFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:194703:13: */ bp := tls.Alloc(136) defer tls.Free(136) @@ -200826,7 +200855,7 @@ func jsonExtractFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* } // This is the RFC 7396 MergePatch algorithm. -func jsonMergePatch(tls *libc.TLS, pParse uintptr, iTarget U32, pPatch uintptr) uintptr { /* sqlite3.c:194729:17: */ +func jsonMergePatch(tls *libc.TLS, pParse uintptr, iTarget U32, pPatch uintptr) uintptr { /* sqlite3.c:194786:17: */ var i U32 var j U32 var iRoot U32 @@ -200899,7 +200928,7 @@ func jsonMergePatch(tls *libc.TLS, pParse uintptr, iTarget U32, pPatch uintptr) // Implementation of the json_mergepatch(JSON1,JSON2) function. Return a JSON // object that is the result of running the RFC 7396 MergePatch() algorithm // on the two arguments. -func jsonPatchFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:194811:13: */ +func jsonPatchFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:194868:13: */ bp := tls.Alloc(96) defer tls.Free(96) @@ -200931,7 +200960,7 @@ func jsonPatchFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sq // Implementation of the json_object(NAME,VALUE,...) function. Return a JSON // object that contains all name/value given in arguments. Or if any name // is not a string or if any value is a BLOB, throw an error. -func jsonObjectFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:194843:13: */ +func jsonObjectFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:194900:13: */ bp := tls.Alloc(136) defer tls.Free(136) @@ -200970,7 +200999,7 @@ func jsonObjectFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* s // // Remove the named elements from JSON and return the result. malformed // JSON or PATH arguments result in an error. -func jsonRemoveFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:194885:13: */ +func jsonRemoveFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:194942:13: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -201039,7 +201068,7 @@ remove_done: // // Replace the value at PATH with VALUE. If PATH does not already exist, // this routine is a no-op. If JSON or PATH is malformed, throw an error. -func jsonReplaceFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:194918:13: */ +func jsonReplaceFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:194975:13: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -201122,7 +201151,7 @@ replace_err: // // Create PATH and initialize it to VALUE. If PATH already exists, this // routine is a no-op. If JSON or PATH is malformed, throw an error. -func jsonSetFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:194970:13: */ +func jsonSetFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:195027:13: */ bp := tls.Alloc(52) defer tls.Free(52) @@ -201220,7 +201249,7 @@ jsonSetDone: // // Return the top-level "type" of a JSON string. json_type() raises an // error if either the JSON or PATH inputs are not well-formed. -func jsonTypeFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:195023:13: */ +func jsonTypeFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:195080:13: */ var p uintptr // The parse var zPath uintptr var pNode uintptr @@ -201244,7 +201273,7 @@ func jsonTypeFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sql // // Return 1 if JSON is a well-formed JSON string according to RFC-7159. // Return 0 otherwise. -func jsonValidFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:195051:13: */ +func jsonValidFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:195108:13: */ var p uintptr // The parse _ = argc p = jsonParseCached(tls, ctx, argv, uintptr(0)) @@ -201258,7 +201287,7 @@ func jsonValidFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sq // json_group_array(VALUE) // // Return a JSON array composed of all values in the aggregate. -func jsonArrayStep(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:195071:13: */ +func jsonArrayStep(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:195128:13: */ var pStr uintptr _ = argc pStr = Xsqlite3_aggregate_context(tls, ctx, int32(unsafe.Sizeof(JsonString{}))) @@ -201274,7 +201303,7 @@ func jsonArrayStep(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sq } } -func jsonArrayCompute(tls *libc.TLS, ctx uintptr, isFinal int32) { /* sqlite3.c:195090:13: */ +func jsonArrayCompute(tls *libc.TLS, ctx uintptr, isFinal int32) { /* sqlite3.c:195147:13: */ var pStr uintptr pStr = Xsqlite3_aggregate_context(tls, ctx, 0) if pStr != 0 { @@ -201304,11 +201333,11 @@ func jsonArrayCompute(tls *libc.TLS, ctx uintptr, isFinal int32) { /* sqlite3.c: Xsqlite3_result_subtype(tls, ctx, uint32(JSON_SUBTYPE)) } -func jsonArrayValue(tls *libc.TLS, ctx uintptr) { /* sqlite3.c:195112:13: */ +func jsonArrayValue(tls *libc.TLS, ctx uintptr) { /* sqlite3.c:195169:13: */ jsonArrayCompute(tls, ctx, 0) } -func jsonArrayFinal(tls *libc.TLS, ctx uintptr) { /* sqlite3.c:195115:13: */ +func jsonArrayFinal(tls *libc.TLS, ctx uintptr) { /* sqlite3.c:195172:13: */ jsonArrayCompute(tls, ctx, 1) } @@ -201316,7 +201345,7 @@ func jsonArrayFinal(tls *libc.TLS, ctx uintptr) { /* sqlite3.c:195115:13: */ // It works by removing the first element of the group by searching forward // to the first comma (",") that is not within a string and deleting all // text through that comma. -func jsonGroupInverse(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:195126:13: */ +func jsonGroupInverse(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:195183:13: */ var i uint32 var inStr int32 = 0 var nNest int32 = 0 @@ -201358,7 +201387,7 @@ func jsonGroupInverse(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* // json_group_obj(NAME,VALUE) // // Return a JSON object composed of all names and values in the aggregate. -func jsonObjectStep(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:195174:13: */ +func jsonObjectStep(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:195231:13: */ var pStr uintptr var z uintptr var n U32 @@ -201380,7 +201409,7 @@ func jsonObjectStep(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* s } } -func jsonObjectCompute(tls *libc.TLS, ctx uintptr, isFinal int32) { /* sqlite3.c:195199:13: */ +func jsonObjectCompute(tls *libc.TLS, ctx uintptr, isFinal int32) { /* sqlite3.c:195256:13: */ var pStr uintptr pStr = Xsqlite3_aggregate_context(tls, ctx, 0) if pStr != 0 { @@ -201409,11 +201438,11 @@ func jsonObjectCompute(tls *libc.TLS, ctx uintptr, isFinal int32) { /* sqlite3.c Xsqlite3_result_subtype(tls, ctx, uint32(JSON_SUBTYPE)) } -func jsonObjectValue(tls *libc.TLS, ctx uintptr) { /* sqlite3.c:195220:13: */ +func jsonObjectValue(tls *libc.TLS, ctx uintptr) { /* sqlite3.c:195277:13: */ jsonObjectCompute(tls, ctx, 0) } -func jsonObjectFinal(tls *libc.TLS, ctx uintptr) { /* sqlite3.c:195223:13: */ +func jsonObjectFinal(tls *libc.TLS, ctx uintptr) { /* sqlite3.c:195280:13: */ jsonObjectCompute(tls, ctx, 1) } @@ -201433,16 +201462,16 @@ type JsonEachCursor1 = struct { FzJson uintptr FzRoot uintptr FsParse JsonParse -} /* sqlite3.c:195233:9 */ +} /* sqlite3.c:195290:9 */ // *************************************************************************** // // The json_each virtual table // -type JsonEachCursor = JsonEachCursor1 /* sqlite3.c:195233:31 */ +type JsonEachCursor = JsonEachCursor1 /* sqlite3.c:195290:31 */ // Constructor for the json_each virtual table -func jsonEachConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 { /* sqlite3.c:195248:12: */ +func jsonEachConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 { /* sqlite3.c:195305:12: */ var pNew uintptr var rc int32 @@ -201470,13 +201499,13 @@ func jsonEachConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv u } // destructor for json_each virtual table -func jsonEachDisconnect(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:195290:12: */ +func jsonEachDisconnect(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:195347:12: */ Xsqlite3_free(tls, pVtab) return SQLITE_OK } // constructor for a JsonEachCursor object for json_each(). -func jsonEachOpenEach(tls *libc.TLS, p uintptr, ppCursor uintptr) int32 { /* sqlite3.c:195296:12: */ +func jsonEachOpenEach(tls *libc.TLS, p uintptr, ppCursor uintptr) int32 { /* sqlite3.c:195353:12: */ var pCur uintptr _ = p @@ -201490,7 +201519,7 @@ func jsonEachOpenEach(tls *libc.TLS, p uintptr, ppCursor uintptr) int32 { /* sql } // constructor for a JsonEachCursor object for json_tree(). -func jsonEachOpenTree(tls *libc.TLS, p uintptr, ppCursor uintptr) int32 { /* sqlite3.c:195308:12: */ +func jsonEachOpenTree(tls *libc.TLS, p uintptr, ppCursor uintptr) int32 { /* sqlite3.c:195365:12: */ var rc int32 = jsonEachOpenEach(tls, p, ppCursor) if rc == SQLITE_OK { var pCur uintptr = *(*uintptr)(unsafe.Pointer(ppCursor)) @@ -201501,7 +201530,7 @@ func jsonEachOpenTree(tls *libc.TLS, p uintptr, ppCursor uintptr) int32 { /* sql // Reset a JsonEachCursor back to its original state. Free any memory // held. -func jsonEachCursorReset(tls *libc.TLS, p uintptr) { /* sqlite3.c:195319:13: */ +func jsonEachCursorReset(tls *libc.TLS, p uintptr) { /* sqlite3.c:195376:13: */ Xsqlite3_free(tls, (*JsonEachCursor)(unsafe.Pointer(p)).FzJson) Xsqlite3_free(tls, (*JsonEachCursor)(unsafe.Pointer(p)).FzRoot) jsonParseReset(tls, p+48) @@ -201514,7 +201543,7 @@ func jsonEachCursorReset(tls *libc.TLS, p uintptr) { /* sqlite3.c:195319:13: */ } // Destructor for a jsonEachCursor object -func jsonEachClose(tls *libc.TLS, cur uintptr) int32 { /* sqlite3.c:195332:12: */ +func jsonEachClose(tls *libc.TLS, cur uintptr) int32 { /* sqlite3.c:195389:12: */ var p uintptr = cur jsonEachCursorReset(tls, p) Xsqlite3_free(tls, cur) @@ -201523,13 +201552,13 @@ func jsonEachClose(tls *libc.TLS, cur uintptr) int32 { /* sqlite3.c:195332:12: * // Return TRUE if the jsonEachCursor object has been advanced off the end // of the JSON object -func jsonEachEof(tls *libc.TLS, cur uintptr) int32 { /* sqlite3.c:195341:12: */ +func jsonEachEof(tls *libc.TLS, cur uintptr) int32 { /* sqlite3.c:195398:12: */ var p uintptr = cur return libc.Bool32((*JsonEachCursor)(unsafe.Pointer(p)).Fi >= (*JsonEachCursor)(unsafe.Pointer(p)).FiEnd) } // Advance the cursor to the next element for json_tree() -func jsonEachNext(tls *libc.TLS, cur uintptr) int32 { /* sqlite3.c:195347:12: */ +func jsonEachNext(tls *libc.TLS, cur uintptr) int32 { /* sqlite3.c:195404:12: */ var p uintptr = cur if (*JsonEachCursor)(unsafe.Pointer(p)).FbRecursive != 0 { if int32((*JsonNode)(unsafe.Pointer((*JsonEachCursor)(unsafe.Pointer(p)).FsParse.FaNode+uintptr((*JsonEachCursor)(unsafe.Pointer(p)).Fi)*16)).FjnFlags)&JNODE_LABEL != 0 { @@ -201580,7 +201609,7 @@ func jsonEachNext(tls *libc.TLS, cur uintptr) int32 { /* sqlite3.c:195347:12: */ } // Append the name of the path for element i to pStr -func jsonEachComputePath(tls *libc.TLS, p uintptr, pStr uintptr, i U32) { /* sqlite3.c:195391:13: */ +func jsonEachComputePath(tls *libc.TLS, p uintptr, pStr uintptr, i U32) { /* sqlite3.c:195448:13: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -201609,7 +201638,7 @@ func jsonEachComputePath(tls *libc.TLS, p uintptr, pStr uintptr, i U32) { /* sql } // Return the value of a column -func jsonEachColumn(tls *libc.TLS, cur uintptr, ctx uintptr, i int32) int32 { /* sqlite3.c:195421:12: */ +func jsonEachColumn(tls *libc.TLS, cur uintptr, ctx uintptr, i int32) int32 { /* sqlite3.c:195478:12: */ bp := tls.Alloc(296) defer tls.Free(296) @@ -201743,7 +201772,7 @@ func jsonEachColumn(tls *libc.TLS, cur uintptr, ctx uintptr, i int32) int32 { /* } // Return the current rowid value -func jsonEachRowid(tls *libc.TLS, cur uintptr, pRowid uintptr) int32 { /* sqlite3.c:195522:12: */ +func jsonEachRowid(tls *libc.TLS, cur uintptr, pRowid uintptr) int32 { /* sqlite3.c:195579:12: */ var p uintptr = cur *(*Sqlite_int64)(unsafe.Pointer(pRowid)) = Sqlite_int64((*JsonEachCursor)(unsafe.Pointer(p)).FiRowid) return SQLITE_OK @@ -201753,7 +201782,7 @@ func jsonEachRowid(tls *libc.TLS, cur uintptr, pRowid uintptr) int32 { /* sqlite // column. Without such a constraint, the table cannot operate. idxNum is // 1 if the constraint is found, 3 if the constraint and zRoot are found, // and 0 otherwise. -func jsonEachBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 { /* sqlite3.c:195533:12: */ +func jsonEachBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 { /* sqlite3.c:195590:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -201828,7 +201857,7 @@ __3: } // Start a search on a new JSON string -func jsonEachFilter(tls *libc.TLS, cur uintptr, idxNum int32, idxStr uintptr, argc int32, argv uintptr) int32 { /* sqlite3.c:195592:12: */ +func jsonEachFilter(tls *libc.TLS, cur uintptr, idxNum int32, idxStr uintptr, argc int32, argv uintptr) int32 { /* sqlite3.c:195649:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -201933,7 +201962,7 @@ var jsonEachModule = Sqlite3_module{ // xCreate FxEof: 0, // xEof - check for end of scan FxColumn: 0, // xColumn - read data FxRowid: 0, // xShadowName -} /* sqlite3.c:195673:23 */ +} /* sqlite3.c:195730:23 */ // The methods of the json_tree virtual table. var jsonTreeModule = Sqlite3_module{ // xCreate @@ -201947,10 +201976,10 @@ var jsonTreeModule = Sqlite3_module{ // xCreate FxEof: 0, // xEof - check for end of scan FxColumn: 0, // xColumn - read data FxRowid: 0, // xShadowName -} /* sqlite3.c:195701:23 */ +} /* sqlite3.c:195758:23 */ // Register JSON functions. -func Xsqlite3RegisterJsonFunctions(tls *libc.TLS) { /* sqlite3.c:195733:21: */ +func Xsqlite3RegisterJsonFunctions(tls *libc.TLS) { /* sqlite3.c:195790:21: */ Xsqlite3InsertBuiltinFuncs(tls, uintptr(unsafe.Pointer(&aJsonFunc)), int32(uint64(unsafe.Sizeof(aJsonFunc))/uint64(unsafe.Sizeof(FuncDef{})))) } @@ -201973,10 +202002,10 @@ var aJsonFunc = [19]FuncDef{ {FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_INNOCUOUS | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 26170}, {FnArg: int8(1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_INNOCUOUS | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 26180}, {FnArg: int8(1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_UTF8 | 0*SQLITE_FUNC_NEEDCOLL | SQLITE_SUBTYPE | SQLITE_UTF8 | SQLITE_DETERMINISTIC | SQLITE_INNOCUOUS), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 26191}, - {FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_UTF8 | 0*SQLITE_FUNC_NEEDCOLL | SQLITE_SUBTYPE | SQLITE_UTF8 | SQLITE_DETERMINISTIC | SQLITE_INNOCUOUS), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 26208}} /* sqlite3.c:195735:18 */ + {FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_UTF8 | 0*SQLITE_FUNC_NEEDCOLL | SQLITE_SUBTYPE | SQLITE_UTF8 | SQLITE_DETERMINISTIC | SQLITE_INNOCUOUS), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 26208}} /* sqlite3.c:195792:18 */ // Register the JSON table-valued functions -func Xsqlite3JsonTableFunctions(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:195772:20: */ +func Xsqlite3JsonTableFunctions(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:195829:20: */ var rc int32 = SQLITE_OK var i uint32 for i = uint32(0); uint64(i) < uint64(unsafe.Sizeof(aMod))/uint64(unsafe.Sizeof(struct { @@ -201994,7 +202023,7 @@ var aMod = [2]struct { }{ {FzName: ts + 26226 /* "json_each" */, FpModule: 0}, {FzName: ts + 26236 /* "json_tree" */, FpModule: 0}, -} /* sqlite3.c:195777:5 */ // In the SQLite core +} /* sqlite3.c:195834:5 */ // In the SQLite core // If building separately, we will need some setup that is normally // found in sqliteInt.h @@ -202041,7 +202070,7 @@ type Rtree1 = struct { FpDeleteParent uintptr FpWriteAux uintptr FaHash [97]uintptr -} /* sqlite3.c:195900:9 */ +} /* sqlite3.c:195957:9 */ // In the SQLite core @@ -202055,7 +202084,7 @@ type Rtree1 = struct { // The following macro is used to suppress compiler warnings. -type Rtree = Rtree1 /* sqlite3.c:195900:22 */ +type Rtree = Rtree1 /* sqlite3.c:195957:22 */ type RtreeCursor1 = struct { Fbase Sqlite3_vtab_cursor FatEOF U8 @@ -202076,9 +202105,9 @@ type RtreeCursor1 = struct { FaNode [5]uintptr FanQueue [41]U32 F__ccgo_pad4 [4]byte -} /* sqlite3.c:195901:9 */ +} /* sqlite3.c:195958:9 */ -type RtreeCursor = RtreeCursor1 /* sqlite3.c:195901:28 */ +type RtreeCursor = RtreeCursor1 /* sqlite3.c:195958:28 */ type RtreeNode1 = struct { FpParent uintptr FiNode I64 @@ -202086,23 +202115,23 @@ type RtreeNode1 = struct { FisDirty int32 FzData uintptr FpNext uintptr -} /* sqlite3.c:195900:9 */ +} /* sqlite3.c:195957:9 */ -type RtreeNode = RtreeNode1 /* sqlite3.c:195902:26 */ +type RtreeNode = RtreeNode1 /* sqlite3.c:195959:26 */ type RtreeCell1 = struct { FiRowid I64 FaCoord [10]RtreeCoord -} /* sqlite3.c:195903:9 */ +} /* sqlite3.c:195960:9 */ -type RtreeCell = RtreeCell1 /* sqlite3.c:195903:26 */ +type RtreeCell = RtreeCell1 /* sqlite3.c:195960:26 */ type RtreeConstraint1 = struct { FiCoord int32 Fop int32 Fu struct{ FrValue RtreeDValue } FpInfo uintptr -} /* sqlite3.c:195901:9 */ +} /* sqlite3.c:195958:9 */ -type RtreeConstraint = RtreeConstraint1 /* sqlite3.c:195904:32 */ +type RtreeConstraint = RtreeConstraint1 /* sqlite3.c:195961:32 */ type RtreeMatchArg1 = struct { FiSize U32 F__ccgo_pad1 [4]byte @@ -202111,20 +202140,20 @@ type RtreeMatchArg1 = struct { F__ccgo_pad2 [4]byte FapSqlParam uintptr FaParam [1]RtreeDValue -} /* sqlite3.c:195905:9 */ +} /* sqlite3.c:195962:9 */ -type RtreeMatchArg = RtreeMatchArg1 /* sqlite3.c:195905:30 */ +type RtreeMatchArg = RtreeMatchArg1 /* sqlite3.c:195962:30 */ type RtreeGeomCallback1 = struct { FxGeom uintptr FxQueryFunc uintptr FxDestructor uintptr FpContext uintptr -} /* sqlite3.c:195905:9 */ +} /* sqlite3.c:195962:9 */ -type RtreeGeomCallback = RtreeGeomCallback1 /* sqlite3.c:195906:34 */ -type RtreeCoord1 = struct{ Ff RtreeValue } /* sqlite3.c:195903:9 */ +type RtreeGeomCallback = RtreeGeomCallback1 /* sqlite3.c:195963:34 */ +type RtreeCoord1 = struct{ Ff RtreeValue } /* sqlite3.c:195960:9 */ -type RtreeCoord = RtreeCoord1 /* sqlite3.c:195907:26 */ +type RtreeCoord = RtreeCoord1 /* sqlite3.c:195964:26 */ type RtreeSearchPoint1 = struct { FrScore RtreeDValue Fid Sqlite3_int64 @@ -202132,17 +202161,17 @@ type RtreeSearchPoint1 = struct { FeWithin U8 FiCell U8 F__ccgo_pad1 [5]byte -} /* sqlite3.c:195901:9 */ +} /* sqlite3.c:195958:9 */ -type RtreeSearchPoint = RtreeSearchPoint1 /* sqlite3.c:195908:33 */ +type RtreeSearchPoint = RtreeSearchPoint1 /* sqlite3.c:195965:33 */ // Possible values for Rtree.eCoordType: // 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 RtreeDValue = float64 /* sqlite3.c:196005:18 */ // High accuracy coordinate -type RtreeValue = float32 /* sqlite3.c:196006:17 */ +type RtreeDValue = float64 /* sqlite3.c:196062:18 */ // High accuracy coordinate +type RtreeValue = float32 /* sqlite3.c:196063:17 */ // What version of GCC is being used. 0 means GCC is not being used . // Note that the GCC_VERSION macro will also be set correctly when using @@ -202169,16 +202198,16 @@ type RtreeValue = float32 /* sqlite3.c:196006:17 */ // Functions to deserialize a 16 bit integer, 32 bit real number and // 64 bit integer. The deserialized value is returned. -func readInt16(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:196290:12: */ +func readInt16(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:196347:12: */ return int32(*(*U8)(unsafe.Pointer(p)))<<8 + int32(*(*U8)(unsafe.Pointer(p + 1))) } -func readCoord(tls *libc.TLS, p uintptr, pCoord uintptr) { /* sqlite3.c:196293:13: */ +func readCoord(tls *libc.TLS, p uintptr, pCoord uintptr) { /* sqlite3.c:196350:13: */ // p is always 4-byte aligned *(*U32)(unsafe.Pointer(pCoord)) = U32(libc.X_byteswap_ulong(tls, uint32(*(*U32)(unsafe.Pointer(p))))) } -func readInt64(tls *libc.TLS, p uintptr) I64 { /* sqlite3.c:196310:12: */ +func readInt64(tls *libc.TLS, p uintptr) I64 { /* sqlite3.c:196367:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -202191,12 +202220,12 @@ func readInt64(tls *libc.TLS, p uintptr) I64 { /* sqlite3.c:196310:12: */ // Functions to serialize a 16 bit integer, 32 bit real number and // 64 bit integer. The value returned is the number of bytes written // to the argument buffer (always 2, 4 and 8 respectively). -func writeInt16(tls *libc.TLS, p uintptr, i int32) { /* sqlite3.c:196342:13: */ +func writeInt16(tls *libc.TLS, p uintptr, i int32) { /* sqlite3.c:196399:13: */ *(*U8)(unsafe.Pointer(p)) = U8(i >> 8 & 0xFF) *(*U8)(unsafe.Pointer(p + 1)) = U8(i >> 0 & 0xFF) } -func writeCoord(tls *libc.TLS, p uintptr, pCoord uintptr) int32 { /* sqlite3.c:196346:12: */ +func writeCoord(tls *libc.TLS, p uintptr, pCoord uintptr) int32 { /* sqlite3.c:196403:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -202209,7 +202238,7 @@ func writeCoord(tls *libc.TLS, p uintptr, pCoord uintptr) int32 { /* sqlite3.c:1 return 4 } -func writeInt64(tls *libc.TLS, p uintptr, i I64) int32 { /* sqlite3.c:196369:12: */ +func writeInt64(tls *libc.TLS, p uintptr, i I64) int32 { /* sqlite3.c:196426:12: */ bp := tls.Alloc(8) defer tls.Free(8) *(*I64)(unsafe.Pointer(bp)) = i @@ -202220,7 +202249,7 @@ func writeInt64(tls *libc.TLS, p uintptr, i I64) int32 { /* sqlite3.c:196369:12: } // Increment the reference count of node p. -func nodeReference(tls *libc.TLS, p uintptr) { /* sqlite3.c:196394:13: */ +func nodeReference(tls *libc.TLS, p uintptr) { /* sqlite3.c:196451:13: */ if p != 0 { (*RtreeNode)(unsafe.Pointer(p)).FnRef++ @@ -202228,20 +202257,20 @@ func nodeReference(tls *libc.TLS, p uintptr) { /* sqlite3.c:196394:13: */ } // Clear the content of node p (set all bytes to 0x00). -func nodeZero(tls *libc.TLS, pRtree uintptr, p uintptr) { /* sqlite3.c:196404:13: */ +func nodeZero(tls *libc.TLS, pRtree uintptr, p uintptr) { /* sqlite3.c:196461:13: */ libc.Xmemset(tls, (*RtreeNode)(unsafe.Pointer(p)).FzData+2, 0, uint64((*Rtree)(unsafe.Pointer(pRtree)).FiNodeSize-2)) (*RtreeNode)(unsafe.Pointer(p)).FisDirty = 1 } // Given a node number iNode, return the corresponding key to use // in the Rtree.aHash table. -func nodeHash(tls *libc.TLS, iNode I64) uint32 { /* sqlite3.c:196413:21: */ +func nodeHash(tls *libc.TLS, iNode I64) uint32 { /* sqlite3.c:196470:21: */ return uint32(iNode) % uint32(HASHSIZE) } // Search the node hash table for node iNode. If found, return a pointer // to it. Otherwise, return 0. -func nodeHashLookup(tls *libc.TLS, pRtree uintptr, iNode I64) uintptr { /* sqlite3.c:196421:18: */ +func nodeHashLookup(tls *libc.TLS, pRtree uintptr, iNode I64) uintptr { /* sqlite3.c:196478:18: */ var p uintptr for p = *(*uintptr)(unsafe.Pointer(pRtree + 192 + uintptr(nodeHash(tls, iNode))*8)); p != 0 && (*RtreeNode)(unsafe.Pointer(p)).FiNode != iNode; p = (*RtreeNode)(unsafe.Pointer(p)).FpNext { } @@ -202249,7 +202278,7 @@ func nodeHashLookup(tls *libc.TLS, pRtree uintptr, iNode I64) uintptr { /* sqlit } // Add node pNode to the node hash table. -func nodeHashInsert(tls *libc.TLS, pRtree uintptr, pNode uintptr) { /* sqlite3.c:196430:13: */ +func nodeHashInsert(tls *libc.TLS, pRtree uintptr, pNode uintptr) { /* sqlite3.c:196487:13: */ var iHash int32 iHash = int32(nodeHash(tls, (*RtreeNode)(unsafe.Pointer(pNode)).FiNode)) @@ -202258,7 +202287,7 @@ func nodeHashInsert(tls *libc.TLS, pRtree uintptr, pNode uintptr) { /* sqlite3.c } // Remove node pNode from the node hash table. -func nodeHashDelete(tls *libc.TLS, pRtree uintptr, pNode uintptr) { /* sqlite3.c:196441:13: */ +func nodeHashDelete(tls *libc.TLS, pRtree uintptr, pNode uintptr) { /* sqlite3.c:196498:13: */ var pp uintptr if (*RtreeNode)(unsafe.Pointer(pNode)).FiNode != int64(0) { pp = pRtree + 192 + uintptr(nodeHash(tls, (*RtreeNode)(unsafe.Pointer(pNode)).FiNode))*8 @@ -202273,7 +202302,7 @@ func nodeHashDelete(tls *libc.TLS, pRtree uintptr, pNode uintptr) { /* sqlite3.c // indicating that node has not yet been assigned a node number. It is // assigned a node number when nodeWrite() is called to write the // node contents out to the database. -func nodeNew(tls *libc.TLS, pRtree uintptr, pParent uintptr) uintptr { /* sqlite3.c:196457:18: */ +func nodeNew(tls *libc.TLS, pRtree uintptr, pParent uintptr) uintptr { /* sqlite3.c:196514:18: */ var pNode uintptr pNode = Xsqlite3_malloc64(tls, uint64(unsafe.Sizeof(RtreeNode{}))+uint64((*Rtree)(unsafe.Pointer(pRtree)).FiNodeSize)) if pNode != 0 { @@ -202289,7 +202318,7 @@ func nodeNew(tls *libc.TLS, pRtree uintptr, pParent uintptr) uintptr { /* sqlite } // Clear the Rtree.pNodeBlob object -func nodeBlobReset(tls *libc.TLS, pRtree uintptr) { /* sqlite3.c:196475:13: */ +func nodeBlobReset(tls *libc.TLS, pRtree uintptr) { /* sqlite3.c:196532:13: */ if (*Rtree)(unsafe.Pointer(pRtree)).FpNodeBlob != 0 && int32((*Rtree)(unsafe.Pointer(pRtree)).FinWrTrans) == 0 && (*Rtree)(unsafe.Pointer(pRtree)).FnCursor == U32(0) { var pBlob uintptr = (*Rtree)(unsafe.Pointer(pRtree)).FpNodeBlob (*Rtree)(unsafe.Pointer(pRtree)).FpNodeBlob = uintptr(0) @@ -202298,7 +202327,7 @@ func nodeBlobReset(tls *libc.TLS, pRtree uintptr) { /* sqlite3.c:196475:13: */ } // Obtain a reference to an r-tree node. -func nodeAcquire(tls *libc.TLS, pRtree uintptr, iNode I64, pParent uintptr, ppNode uintptr) int32 { /* sqlite3.c:196486:12: */ +func nodeAcquire(tls *libc.TLS, pRtree uintptr, iNode I64, pParent uintptr, ppNode uintptr) int32 { /* sqlite3.c:196543:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -202408,7 +202437,7 @@ func nodeAcquire(tls *libc.TLS, pRtree uintptr, iNode I64, pParent uintptr, ppNo } // Overwrite cell iCell of node pNode with the contents of pCell. -func nodeOverwriteCell(tls *libc.TLS, pRtree uintptr, pNode uintptr, pCell uintptr, iCell int32) { /* sqlite3.c:196599:13: */ +func nodeOverwriteCell(tls *libc.TLS, pRtree uintptr, pNode uintptr, pCell uintptr, iCell int32) { /* sqlite3.c:196656:13: */ var ii int32 var p uintptr = (*RtreeNode)(unsafe.Pointer(pNode)).FzData + uintptr(4+int32((*Rtree)(unsafe.Pointer(pRtree)).FnBytesPerCell)*iCell) p += uintptr(writeInt64(tls, p, (*RtreeCell)(unsafe.Pointer(pCell)).FiRowid)) @@ -202419,7 +202448,7 @@ func nodeOverwriteCell(tls *libc.TLS, pRtree uintptr, pNode uintptr, pCell uintp } // Remove the cell with index iCell from node pNode. -func nodeDeleteCell(tls *libc.TLS, pRtree uintptr, pNode uintptr, iCell int32) { /* sqlite3.c:196617:13: */ +func nodeDeleteCell(tls *libc.TLS, pRtree uintptr, pNode uintptr, iCell int32) { /* sqlite3.c:196674:13: */ var pDst uintptr = (*RtreeNode)(unsafe.Pointer(pNode)).FzData + uintptr(4+int32((*Rtree)(unsafe.Pointer(pRtree)).FnBytesPerCell)*iCell) var pSrc uintptr = pDst + uintptr((*Rtree)(unsafe.Pointer(pRtree)).FnBytesPerCell) var nByte int32 = (readInt16(tls, (*RtreeNode)(unsafe.Pointer(pNode)).FzData+2) - iCell - 1) * int32((*Rtree)(unsafe.Pointer(pRtree)).FnBytesPerCell) @@ -202432,7 +202461,7 @@ func nodeDeleteCell(tls *libc.TLS, pRtree uintptr, pNode uintptr, iCell int32) { // is successful, return SQLITE_OK. // // If there is not enough free space in pNode, return SQLITE_FULL. -func nodeInsertCell(tls *libc.TLS, pRtree uintptr, pNode uintptr, pCell uintptr) int32 { /* sqlite3.c:196632:12: */ +func nodeInsertCell(tls *libc.TLS, pRtree uintptr, pNode uintptr, pCell uintptr) int32 { /* sqlite3.c:196689:12: */ var nCell int32 // Current number of cells in pNode var nMaxCell int32 // Maximum number of cells for pNode @@ -202449,7 +202478,7 @@ func nodeInsertCell(tls *libc.TLS, pRtree uintptr, pNode uintptr, pCell uintptr) } // If the node is dirty, write it out to the database. -func nodeWrite(tls *libc.TLS, pRtree uintptr, pNode uintptr) int32 { /* sqlite3.c:196656:12: */ +func nodeWrite(tls *libc.TLS, pRtree uintptr, pNode uintptr) int32 { /* sqlite3.c:196713:12: */ var rc int32 = SQLITE_OK if (*RtreeNode)(unsafe.Pointer(pNode)).FisDirty != 0 { var p uintptr = (*Rtree)(unsafe.Pointer(pRtree)).FpWriteNode @@ -202473,7 +202502,7 @@ func nodeWrite(tls *libc.TLS, pRtree uintptr, pNode uintptr) int32 { /* sqlite3. // Release a reference to a node. If the node is dirty and the reference // count drops to zero, the node data is written to the database. -func nodeRelease(tls *libc.TLS, pRtree uintptr, pNode uintptr) int32 { /* sqlite3.c:196682:12: */ +func nodeRelease(tls *libc.TLS, pRtree uintptr, pNode uintptr) int32 { /* sqlite3.c:196739:12: */ var rc int32 = SQLITE_OK if pNode != 0 { @@ -202499,19 +202528,19 @@ func nodeRelease(tls *libc.TLS, pRtree uintptr, pNode uintptr) int32 { /* sqlite // Return the 64-bit integer value associated with cell iCell of // node pNode. If pNode is a leaf node, this is a rowid. If it is // an internal node, then the 64-bit integer is a child page number. -func nodeGetRowid(tls *libc.TLS, pRtree uintptr, pNode uintptr, iCell int32) I64 { /* sqlite3.c:196711:12: */ +func nodeGetRowid(tls *libc.TLS, pRtree uintptr, pNode uintptr, iCell int32) I64 { /* sqlite3.c:196768:12: */ return readInt64(tls, (*RtreeNode)(unsafe.Pointer(pNode)).FzData+uintptr(4+int32((*Rtree)(unsafe.Pointer(pRtree)).FnBytesPerCell)*iCell)) } // Return coordinate iCoord from cell iCell in node pNode. -func nodeGetCoord(tls *libc.TLS, pRtree uintptr, pNode uintptr, iCell int32, iCoord int32, pCoord uintptr) { /* sqlite3.c:196723:13: */ +func nodeGetCoord(tls *libc.TLS, pRtree uintptr, pNode uintptr, iCell int32, iCoord int32, pCoord uintptr) { /* sqlite3.c:196780:13: */ readCoord(tls, (*RtreeNode)(unsafe.Pointer(pNode)).FzData+uintptr(12+int32((*Rtree)(unsafe.Pointer(pRtree)).FnBytesPerCell)*iCell+4*iCoord), pCoord) } // Deserialize cell iCell of node pNode. Populate the structure pointed // to by pCell with the results. -func nodeGetCell(tls *libc.TLS, pRtree uintptr, pNode uintptr, iCell int32, pCell uintptr) { /* sqlite3.c:196737:13: */ +func nodeGetCell(tls *libc.TLS, pRtree uintptr, pNode uintptr, iCell int32, pCell uintptr) { /* sqlite3.c:196794:13: */ var pData uintptr var pCoord uintptr var ii int32 = 0 @@ -202527,23 +202556,23 @@ func nodeGetCell(tls *libc.TLS, pRtree uintptr, pNode uintptr, iCell int32, pCel } // Rtree virtual table module xCreate method. -func rtreeCreate(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 { /* sqlite3.c:196768:12: */ +func rtreeCreate(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 { /* sqlite3.c:196825:12: */ return rtreeInit(tls, db, pAux, argc, argv, ppVtab, pzErr, 1) } // Rtree virtual table module xConnect method. -func rtreeConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 { /* sqlite3.c:196781:12: */ +func rtreeConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 { /* sqlite3.c:196838:12: */ return rtreeInit(tls, db, pAux, argc, argv, ppVtab, pzErr, 0) } // Increment the r-tree reference count. -func rtreeReference(tls *libc.TLS, pRtree uintptr) { /* sqlite3.c:196794:13: */ +func rtreeReference(tls *libc.TLS, pRtree uintptr) { /* sqlite3.c:196851:13: */ (*Rtree)(unsafe.Pointer(pRtree)).FnBusy++ } // Decrement the r-tree reference count. When the reference count reaches // zero the structure is deleted. -func rtreeRelease(tls *libc.TLS, pRtree uintptr) { /* sqlite3.c:196802:13: */ +func rtreeRelease(tls *libc.TLS, pRtree uintptr) { /* sqlite3.c:196859:13: */ (*Rtree)(unsafe.Pointer(pRtree)).FnBusy-- if (*Rtree)(unsafe.Pointer(pRtree)).FnBusy == U32(0) { (*Rtree)(unsafe.Pointer(pRtree)).FinWrTrans = U8(0) @@ -202565,13 +202594,13 @@ func rtreeRelease(tls *libc.TLS, pRtree uintptr) { /* sqlite3.c:196802:13: */ } // Rtree virtual table module xDisconnect method. -func rtreeDisconnect(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:196826:12: */ +func rtreeDisconnect(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:196883:12: */ rtreeRelease(tls, pVtab) return SQLITE_OK } // Rtree virtual table module xDestroy method. -func rtreeDestroy(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:196834:12: */ +func rtreeDestroy(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:196891:12: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -202598,7 +202627,7 @@ func rtreeDestroy(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:196834:12: } // Rtree virtual table module xOpen method. -func rtreeOpen(tls *libc.TLS, pVTab uintptr, ppCursor uintptr) int32 { /* sqlite3.c:196862:12: */ +func rtreeOpen(tls *libc.TLS, pVTab uintptr, ppCursor uintptr) int32 { /* sqlite3.c:196919:12: */ var rc int32 = SQLITE_NOMEM var pRtree uintptr = pVTab var pCsr uintptr @@ -202616,7 +202645,7 @@ func rtreeOpen(tls *libc.TLS, pVTab uintptr, ppCursor uintptr) int32 { /* sqlite } // Reset a cursor back to its initial state. -func resetCursor(tls *libc.TLS, pCsr uintptr) { /* sqlite3.c:196883:13: */ +func resetCursor(tls *libc.TLS, pCsr uintptr) { /* sqlite3.c:196940:13: */ var pRtree uintptr = (*RtreeCursor)(unsafe.Pointer(pCsr)).Fbase.FpVtab var ii int32 var pStmt uintptr @@ -202646,7 +202675,7 @@ func resetCursor(tls *libc.TLS, pCsr uintptr) { /* sqlite3.c:196883:13: */ } // Rtree virtual table module xClose method. -func rtreeClose(tls *libc.TLS, cur uintptr) int32 { /* sqlite3.c:196911:12: */ +func rtreeClose(tls *libc.TLS, cur uintptr) int32 { /* sqlite3.c:196968:12: */ var pRtree uintptr = (*Sqlite3_vtab_cursor)(unsafe.Pointer(cur)).FpVtab var pCsr uintptr = cur @@ -202662,7 +202691,7 @@ func rtreeClose(tls *libc.TLS, cur uintptr) int32 { /* sqlite3.c:196911:12: */ // // Return non-zero if the cursor does not currently point to a valid // record (i.e if the scan has finished), or zero otherwise. -func rtreeEof(tls *libc.TLS, cur uintptr) int32 { /* sqlite3.c:196929:12: */ +func rtreeEof(tls *libc.TLS, cur uintptr) int32 { /* sqlite3.c:196986:12: */ var pCsr uintptr = cur return int32((*RtreeCursor)(unsafe.Pointer(pCsr)).FatEOF) } @@ -202679,7 +202708,7 @@ func rtreeEof(tls *libc.TLS, cur uintptr) int32 { /* sqlite3.c:196929:12: */ // Check the RTree node or entry given by pCellData and p against the MATCH // constraint pConstraint. -func rtreeCallbackConstraint(tls *libc.TLS, pConstraint uintptr, eInt int32, pCellData uintptr, pSearch uintptr, prScore uintptr, peWithin uintptr) int32 { /* sqlite3.c:196984:12: */ +func rtreeCallbackConstraint(tls *libc.TLS, pConstraint uintptr, eInt int32, pCellData uintptr, pSearch uintptr, prScore uintptr, peWithin uintptr) int32 { /* sqlite3.c:197041:12: */ bp := tls.Alloc(92) defer tls.Free(92) @@ -202791,7 +202820,7 @@ func rtreeCallbackConstraint(tls *libc.TLS, pConstraint uintptr, eInt int32, pCe // Check the internal RTree node given by pCellData against constraint p. // If this constraint cannot be satisfied by any child within the node, // set *peWithin to NOT_WITHIN. -func rtreeNonleafConstraint(tls *libc.TLS, p uintptr, eInt int32, pCellData uintptr, peWithin uintptr) { /* sqlite3.c:197060:13: */ +func rtreeNonleafConstraint(tls *libc.TLS, p uintptr, eInt int32, pCellData uintptr, peWithin uintptr) { /* sqlite3.c:197117:13: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -202889,7 +202918,7 @@ func rtreeNonleafConstraint(tls *libc.TLS, p uintptr, eInt int32, pCellData uint // // The op is given by p->op. The xN is p->iCoord-th coordinate in // pCellData. $val is given by p->u.rValue. -func rtreeLeafConstraint(tls *libc.TLS, p uintptr, eInt int32, pCellData uintptr, peWithin uintptr) { /* sqlite3.c:197117:13: */ +func rtreeLeafConstraint(tls *libc.TLS, p uintptr, eInt int32, pCellData uintptr, peWithin uintptr) { /* sqlite3.c:197174:13: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -202944,7 +202973,7 @@ func rtreeLeafConstraint(tls *libc.TLS, p uintptr, eInt int32, pCellData uintptr // One of the cells in node pNode is guaranteed to have a 64-bit // integer value equal to iRowid. Return the index of this cell. -func nodeRowidIndex(tls *libc.TLS, pRtree uintptr, pNode uintptr, iRowid I64, piIndex uintptr) int32 { /* sqlite3.c:197147:12: */ +func nodeRowidIndex(tls *libc.TLS, pRtree uintptr, pNode uintptr, iRowid I64, piIndex uintptr) int32 { /* sqlite3.c:197204:12: */ var ii int32 var nCell int32 = readInt16(tls, (*RtreeNode)(unsafe.Pointer(pNode)).FzData+2) @@ -202960,7 +202989,7 @@ func nodeRowidIndex(tls *libc.TLS, pRtree uintptr, pNode uintptr, iRowid I64, pi // Return the index of the cell containing a pointer to node pNode // in its parent. If pNode is the root node, return -1. -func nodeParentIndex(tls *libc.TLS, pRtree uintptr, pNode uintptr, piIndex uintptr) int32 { /* sqlite3.c:197170:12: */ +func nodeParentIndex(tls *libc.TLS, pRtree uintptr, pNode uintptr, piIndex uintptr) int32 { /* sqlite3.c:197227:12: */ var pParent uintptr = (*RtreeNode)(unsafe.Pointer(pNode)).FpParent if pParent != 0 { return nodeRowidIndex(tls, pRtree, pParent, (*RtreeNode)(unsafe.Pointer(pNode)).FiNode, piIndex) @@ -202979,7 +203008,7 @@ func nodeParentIndex(tls *libc.TLS, pRtree uintptr, pNode uintptr, piIndex uintp // iLevel values coming first. In this way, if rScore is the same for all // SearchPoints, then iLevel becomes the deciding factor and the result // is a depth-first search, which is the desired default behavior. -func rtreeSearchPointCompare(tls *libc.TLS, pA uintptr, pB uintptr) int32 { /* sqlite3.c:197190:12: */ +func rtreeSearchPointCompare(tls *libc.TLS, pA uintptr, pB uintptr) int32 { /* sqlite3.c:197247:12: */ if (*RtreeSearchPoint)(unsafe.Pointer(pA)).FrScore < (*RtreeSearchPoint)(unsafe.Pointer(pB)).FrScore { return -1 } @@ -202996,7 +203025,7 @@ func rtreeSearchPointCompare(tls *libc.TLS, pA uintptr, pB uintptr) int32 { /* s } // Interchange two search points in a cursor. -func rtreeSearchPointSwap(tls *libc.TLS, p uintptr, i int32, j int32) { /* sqlite3.c:197204:13: */ +func rtreeSearchPointSwap(tls *libc.TLS, p uintptr, i int32, j int32) { /* sqlite3.c:197261:13: */ var t = *(*RtreeSearchPoint)(unsafe.Pointer((*RtreeCursor)(unsafe.Pointer(p)).FaPoint + uintptr(i)*24)) *(*RtreeSearchPoint)(unsafe.Pointer((*RtreeCursor)(unsafe.Pointer(p)).FaPoint + uintptr(i)*24)) = *(*RtreeSearchPoint)(unsafe.Pointer((*RtreeCursor)(unsafe.Pointer(p)).FaPoint + uintptr(j)*24)) @@ -203016,7 +203045,7 @@ func rtreeSearchPointSwap(tls *libc.TLS, p uintptr, i int32, j int32) { /* sqlit } // Return the search point with the lowest current score. -func rtreeSearchPointFirst(tls *libc.TLS, pCur uintptr) uintptr { /* sqlite3.c:197225:25: */ +func rtreeSearchPointFirst(tls *libc.TLS, pCur uintptr) uintptr { /* sqlite3.c:197282:25: */ if (*RtreeCursor)(unsafe.Pointer(pCur)).FbPoint != 0 { return pCur + 64 } @@ -203027,7 +203056,7 @@ func rtreeSearchPointFirst(tls *libc.TLS, pCur uintptr) uintptr { /* sqlite3.c:1 } // Get the RtreeNode for the search point with the lowest score. -func rtreeNodeOfFirstSearchPoint(tls *libc.TLS, pCur uintptr, pRC uintptr) uintptr { /* sqlite3.c:197232:18: */ +func rtreeNodeOfFirstSearchPoint(tls *libc.TLS, pCur uintptr, pRC uintptr) uintptr { /* sqlite3.c:197289:18: */ var id Sqlite3_int64 var ii int32 = 1 - int32((*RtreeCursor)(unsafe.Pointer(pCur)).FbPoint) @@ -203044,7 +203073,7 @@ func rtreeNodeOfFirstSearchPoint(tls *libc.TLS, pCur uintptr, pRC uintptr) uintp } // Push a new element onto the priority queue -func rtreeEnqueue(tls *libc.TLS, pCur uintptr, rScore RtreeDValue, iLevel U8) uintptr { /* sqlite3.c:197248:25: */ +func rtreeEnqueue(tls *libc.TLS, pCur uintptr, rScore RtreeDValue, iLevel U8) uintptr { /* sqlite3.c:197305:25: */ var i int32 var j int32 var pNew uintptr @@ -203078,7 +203107,7 @@ func rtreeEnqueue(tls *libc.TLS, pCur uintptr, rScore RtreeDValue, iLevel U8) ui // Allocate a new RtreeSearchPoint and return a pointer to it. Return // NULL if malloc fails. -func rtreeSearchPointNew(tls *libc.TLS, pCur uintptr, rScore RtreeDValue, iLevel U8) uintptr { /* sqlite3.c:197283:25: */ +func rtreeSearchPointNew(tls *libc.TLS, pCur uintptr, rScore RtreeDValue, iLevel U8) uintptr { /* sqlite3.c:197340:25: */ var pNew uintptr var pFirst uintptr pFirst = rtreeSearchPointFirst(tls, pCur) @@ -203114,7 +203143,7 @@ func rtreeSearchPointNew(tls *libc.TLS, pCur uintptr, rScore RtreeDValue, iLevel } // Remove the search point with the lowest current score. -func rtreeSearchPointPop(tls *libc.TLS, p uintptr) { /* sqlite3.c:197351:13: */ +func rtreeSearchPointPop(tls *libc.TLS, p uintptr) { /* sqlite3.c:197408:13: */ var i int32 var j int32 var k int32 @@ -203162,7 +203191,7 @@ func rtreeSearchPointPop(tls *libc.TLS, p uintptr) { /* sqlite3.c:197351:13: */ // contains an entry suitable for returning as a result-set row, // or until the RtreeSearchPoint queue is empty, indicating that the // query has completed. -func rtreeStepToLeaf(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:197399:12: */ +func rtreeStepToLeaf(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:197456:12: */ bp := tls.Alloc(20) defer tls.Free(20) @@ -203255,7 +203284,7 @@ func rtreeStepToLeaf(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:197399:12 } // Rtree virtual table module xNext method. -func rtreeNext(tls *libc.TLS, pVtabCursor uintptr) int32 { /* sqlite3.c:197480:12: */ +func rtreeNext(tls *libc.TLS, pVtabCursor uintptr) int32 { /* sqlite3.c:197537:12: */ var pCsr uintptr = pVtabCursor var rc int32 = SQLITE_OK @@ -203271,7 +203300,7 @@ func rtreeNext(tls *libc.TLS, pVtabCursor uintptr) int32 { /* sqlite3.c:197480:1 } // Rtree virtual table module xRowid method. -func rtreeRowid(tls *libc.TLS, pVtabCursor uintptr, pRowid uintptr) int32 { /* sqlite3.c:197498:12: */ +func rtreeRowid(tls *libc.TLS, pVtabCursor uintptr, pRowid uintptr) int32 { /* sqlite3.c:197555:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -203286,7 +203315,7 @@ func rtreeRowid(tls *libc.TLS, pVtabCursor uintptr, pRowid uintptr) int32 { /* s } // Rtree virtual table module xColumn method. -func rtreeColumn(tls *libc.TLS, cur uintptr, ctx uintptr, i int32) int32 { /* sqlite3.c:197512:12: */ +func rtreeColumn(tls *libc.TLS, cur uintptr, ctx uintptr, i int32) int32 { /* sqlite3.c:197569:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -203347,7 +203376,7 @@ func rtreeColumn(tls *libc.TLS, cur uintptr, ctx uintptr, i int32) int32 { /* sq // return SQLITE_OK. If there is no such record in the table, set // *ppLeaf to 0 and return SQLITE_OK. If an error occurs, set *ppLeaf // to zero and return an SQLite error code. -func findLeafNode(tls *libc.TLS, pRtree uintptr, iRowid I64, ppLeaf uintptr, piNode uintptr) int32 { /* sqlite3.c:197566:12: */ +func findLeafNode(tls *libc.TLS, pRtree uintptr, iRowid I64, ppLeaf uintptr, piNode uintptr) int32 { /* sqlite3.c:197623:12: */ var rc int32 *(*uintptr)(unsafe.Pointer(ppLeaf)) = uintptr(0) Xsqlite3_bind_int64(tls, (*Rtree)(unsafe.Pointer(pRtree)).FpReadRowid, 1, iRowid) @@ -203368,7 +203397,7 @@ func findLeafNode(tls *libc.TLS, pRtree uintptr, iRowid I64, ppLeaf uintptr, piN // as the second argument for a MATCH constraint. The value passed as the // first argument to this function is the right-hand operand to the MATCH // operator. -func deserializeGeometry(tls *libc.TLS, pValue uintptr, pCons uintptr) int32 { /* sqlite3.c:197592:12: */ +func deserializeGeometry(tls *libc.TLS, pValue uintptr, pCons uintptr) int32 { /* sqlite3.c:197649:12: */ var pBlob uintptr var pSrc uintptr // BLOB returned by geometry function var pInfo uintptr // Callback information @@ -203400,7 +203429,7 @@ func deserializeGeometry(tls *libc.TLS, pValue uintptr, pCons uintptr) int32 { / } // Rtree virtual table module xFilter method. -func rtreeFilter(tls *libc.TLS, pVtabCursor uintptr, idxNum int32, idxStr uintptr, argc int32, argv uintptr) int32 { /* sqlite3.c:197622:12: */ +func rtreeFilter(tls *libc.TLS, pVtabCursor uintptr, idxNum int32, idxStr uintptr, argc int32, argv uintptr) int32 { /* sqlite3.c:197679:12: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -203543,7 +203572,7 @@ func rtreeFilter(tls *libc.TLS, pVtabCursor uintptr, idxNum int32, idxStr uintpt // The second of each pair of bytes identifies the coordinate column // to which the constraint applies. The leftmost coordinate column // is 'a', the second from the left 'b' etc. -func rtreeBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 { /* sqlite3.c:197775:12: */ +func rtreeBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 { /* sqlite3.c:197832:12: */ bp := tls.Alloc(49) defer tls.Free(49) @@ -203650,7 +203679,7 @@ func rtreeBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 { /* sql } // Return the N-dimensional volumn of the cell stored in *p. -func cellArea(tls *libc.TLS, pRtree uintptr, p uintptr) RtreeDValue { /* sqlite3.c:197864:20: */ +func cellArea(tls *libc.TLS, pRtree uintptr, p uintptr) RtreeDValue { /* sqlite3.c:197921:20: */ var area RtreeDValue = RtreeDValue(1) if int32((*Rtree)(unsafe.Pointer(pRtree)).FeCoordType) == RTREE_COORD_REAL32 { @@ -203693,7 +203722,7 @@ func cellArea(tls *libc.TLS, pRtree uintptr, p uintptr) RtreeDValue { /* sqlite3 // Return the margin length of cell p. The margin length is the sum // of the objects size in each dimension. -func cellMargin(tls *libc.TLS, pRtree uintptr, p uintptr) RtreeDValue { /* sqlite3.c:197894:20: */ +func cellMargin(tls *libc.TLS, pRtree uintptr, p uintptr) RtreeDValue { /* sqlite3.c:197951:20: */ var margin RtreeDValue = RtreeDValue(0) var ii int32 = int32((*Rtree)(unsafe.Pointer(pRtree)).FnDim2) - 2 for __ccgo := true; __ccgo; __ccgo = ii >= 0 { @@ -203714,7 +203743,7 @@ func cellMargin(tls *libc.TLS, pRtree uintptr, p uintptr) RtreeDValue { /* sqlit } // Store the union of cells p1 and p2 in p1. -func cellUnion(tls *libc.TLS, pRtree uintptr, p1 uintptr, p2 uintptr) { /* sqlite3.c:197907:13: */ +func cellUnion(tls *libc.TLS, pRtree uintptr, p1 uintptr, p2 uintptr) { /* sqlite3.c:197964:13: */ var ii int32 = 0 if int32((*Rtree)(unsafe.Pointer(pRtree)).FeCoordType) == RTREE_COORD_REAL32 { for __ccgo := true; __ccgo; __ccgo = ii < int32((*Rtree)(unsafe.Pointer(pRtree)).FnDim2) { @@ -203753,7 +203782,7 @@ func cellUnion(tls *libc.TLS, pRtree uintptr, p1 uintptr, p2 uintptr) { /* sqlit // Return true if the area covered by p2 is a subset of the area covered // by p1. False otherwise. -func cellContains(tls *libc.TLS, pRtree uintptr, p1 uintptr, p2 uintptr) int32 { /* sqlite3.c:197928:12: */ +func cellContains(tls *libc.TLS, pRtree uintptr, p1 uintptr, p2 uintptr) int32 { /* sqlite3.c:197985:12: */ var ii int32 var isInt int32 = libc.Bool32(int32((*Rtree)(unsafe.Pointer(pRtree)).FeCoordType) == RTREE_COORD_INT32) for ii = 0; ii < int32((*Rtree)(unsafe.Pointer(pRtree)).FnDim2); ii = ii + 2 { @@ -203768,7 +203797,7 @@ func cellContains(tls *libc.TLS, pRtree uintptr, p1 uintptr, p2 uintptr) int32 { } // Return the amount cell p would grow by if it were unioned with pCell. -func cellGrowth(tls *libc.TLS, pRtree uintptr, p uintptr, pCell uintptr) RtreeDValue { /* sqlite3.c:197946:20: */ +func cellGrowth(tls *libc.TLS, pRtree uintptr, p uintptr, pCell uintptr) RtreeDValue { /* sqlite3.c:198003:20: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -203781,7 +203810,7 @@ func cellGrowth(tls *libc.TLS, pRtree uintptr, p uintptr, pCell uintptr) RtreeDV return cellArea(tls, pRtree, bp) - area } -func cellOverlap(tls *libc.TLS, pRtree uintptr, p uintptr, aCell uintptr, nCell int32) RtreeDValue { /* sqlite3.c:197955:20: */ +func cellOverlap(tls *libc.TLS, pRtree uintptr, p uintptr, aCell uintptr, nCell int32) RtreeDValue { /* sqlite3.c:198012:20: */ var ii int32 var overlap RtreeDValue = 0.0 for ii = 0; ii < nCell; ii++ { @@ -203856,7 +203885,7 @@ func cellOverlap(tls *libc.TLS, pRtree uintptr, p uintptr, aCell uintptr, nCell // This function implements the ChooseLeaf algorithm from Gutman[84]. // ChooseSubTree in r*tree terminology. -func sChooseLeaf(tls *libc.TLS, pRtree uintptr, pCell uintptr, iHeight int32, ppLeaf uintptr) int32 { /* sqlite3.c:197987:12: */ +func sChooseLeaf(tls *libc.TLS, pRtree uintptr, pCell uintptr, iHeight int32, ppLeaf uintptr) int32 { /* sqlite3.c:198044:12: */ bp := tls.Alloc(64) defer tls.Free(64) @@ -203912,7 +203941,7 @@ func sChooseLeaf(tls *libc.TLS, pRtree uintptr, pCell uintptr, iHeight int32, pp // A cell with the same content as pCell has just been inserted into // the node pNode. This function updates the bounding box cells in // all ancestor elements. -func sAdjustTree(tls *libc.TLS, pRtree uintptr, pNode uintptr, pCell uintptr) int32 { /* sqlite3.c:198047:12: */ +func sAdjustTree(tls *libc.TLS, pRtree uintptr, pNode uintptr, pCell uintptr) int32 { /* sqlite3.c:198104:12: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -203948,7 +203977,7 @@ func sAdjustTree(tls *libc.TLS, pRtree uintptr, pNode uintptr, pCell uintptr) in } // Write mapping (iRowid->iNode) to the _rowid table. -func rowidWrite(tls *libc.TLS, pRtree uintptr, iRowid Sqlite3_int64, iNode Sqlite3_int64) int32 { /* sqlite3.c:198085:12: */ +func rowidWrite(tls *libc.TLS, pRtree uintptr, iRowid Sqlite3_int64, iNode Sqlite3_int64) int32 { /* sqlite3.c:198142:12: */ Xsqlite3_bind_int64(tls, (*Rtree)(unsafe.Pointer(pRtree)).FpWriteRowid, 1, iRowid) Xsqlite3_bind_int64(tls, (*Rtree)(unsafe.Pointer(pRtree)).FpWriteRowid, 2, iNode) Xsqlite3_step(tls, (*Rtree)(unsafe.Pointer(pRtree)).FpWriteRowid) @@ -203956,7 +203985,7 @@ func rowidWrite(tls *libc.TLS, pRtree uintptr, iRowid Sqlite3_int64, iNode Sqlit } // Write mapping (iNode->iPar) to the _parent table. -func parentWrite(tls *libc.TLS, pRtree uintptr, iNode Sqlite3_int64, iPar Sqlite3_int64) int32 { /* sqlite3.c:198095:12: */ +func parentWrite(tls *libc.TLS, pRtree uintptr, iNode Sqlite3_int64, iPar Sqlite3_int64) int32 { /* sqlite3.c:198152:12: */ Xsqlite3_bind_int64(tls, (*Rtree)(unsafe.Pointer(pRtree)).FpWriteParent, 1, iNode) Xsqlite3_bind_int64(tls, (*Rtree)(unsafe.Pointer(pRtree)).FpWriteParent, 2, iPar) Xsqlite3_step(tls, (*Rtree)(unsafe.Pointer(pRtree)).FpWriteParent) @@ -203978,7 +204007,7 @@ func parentWrite(tls *libc.TLS, pRtree uintptr, iNode Sqlite3_int64, iPar Sqlite // // The aSpare array is used as temporary working space by the // sorting algorithm. -func sSortByDistance(tls *libc.TLS, aIdx uintptr, nIdx int32, aDistance uintptr, aSpare uintptr) { /* sqlite3.c:198122:13: */ +func sSortByDistance(tls *libc.TLS, aIdx uintptr, nIdx int32, aDistance uintptr, aSpare uintptr) { /* sqlite3.c:198179:13: */ if nIdx > 1 { var iLeft int32 = 0 var iRight int32 = 0 @@ -204026,7 +204055,7 @@ func sSortByDistance(tls *libc.TLS, aIdx uintptr, nIdx int32, aDistance uintptr, // // The aSpare array is used as temporary working space by the // sorting algorithm. -func sSortByDimension(tls *libc.TLS, pRtree uintptr, aIdx uintptr, nIdx int32, iDim int32, aCell uintptr, aSpare uintptr) { /* sqlite3.c:198188:13: */ +func sSortByDimension(tls *libc.TLS, pRtree uintptr, aIdx uintptr, nIdx int32, iDim int32, aCell uintptr, aSpare uintptr) { /* sqlite3.c:198245:13: */ if nIdx > 1 { var iLeft int32 = 0 @@ -204082,7 +204111,7 @@ func sSortByDimension(tls *libc.TLS, pRtree uintptr, aIdx uintptr, nIdx int32, i } // Implementation of the R*-tree variant of SplitNode from Beckman[1990]. -func splitNodeStartree(tls *libc.TLS, pRtree uintptr, aCell uintptr, nCell int32, pLeft uintptr, pRight uintptr, pBboxLeft uintptr, pBboxRight uintptr) int32 { /* sqlite3.c:198247:12: */ +func splitNodeStartree(tls *libc.TLS, pRtree uintptr, aCell uintptr, nCell int32, pLeft uintptr, pRight uintptr, pBboxLeft uintptr, pBboxRight uintptr) int32 { /* sqlite3.c:198304:12: */ bp := tls.Alloc(96) defer tls.Free(96) @@ -204181,7 +204210,7 @@ func splitNodeStartree(tls *libc.TLS, pRtree uintptr, aCell uintptr, nCell int32 return SQLITE_OK } -func updateMapping(tls *libc.TLS, pRtree uintptr, iRowid I64, pNode uintptr, iHeight int32) int32 { /* sqlite3.c:198345:12: */ +func updateMapping(tls *libc.TLS, pRtree uintptr, iRowid I64, pNode uintptr, iHeight int32) int32 { /* sqlite3.c:198402:12: */ var xSetMapping uintptr xSetMapping = func() uintptr { if iHeight == 0 { @@ -204215,7 +204244,7 @@ func updateMapping(tls *libc.TLS, pRtree uintptr, iRowid I64, pNode uintptr, iHe })(unsafe.Pointer(&struct{ uintptr }{xSetMapping})).f(tls, pRtree, iRowid, (*RtreeNode)(unsafe.Pointer(pNode)).FiNode) } -func sSplitNode(tls *libc.TLS, pRtree uintptr, pNode uintptr, pCell uintptr, iHeight int32) int32 { /* sqlite3.c:198369:12: */ +func sSplitNode(tls *libc.TLS, pRtree uintptr, pNode uintptr, pCell uintptr, iHeight int32) int32 { /* sqlite3.c:198426:12: */ bp := tls.Alloc(100) defer tls.Free(100) @@ -204450,7 +204479,7 @@ splitnode_out: // rowid of the row to delete, which can be used to find the leaf on which // the entry resides (argument pLeaf). Once the leaf is located, this // function is called to determine its ancestry. -func fixLeafParent(tls *libc.TLS, pRtree uintptr, pLeaf uintptr) int32 { /* sqlite3.c:198517:12: */ +func fixLeafParent(tls *libc.TLS, pRtree uintptr, pLeaf uintptr) int32 { /* sqlite3.c:198574:12: */ var rc int32 = SQLITE_OK var pChild uintptr = pLeaf for rc == SQLITE_OK && (*RtreeNode)(unsafe.Pointer(pChild)).FiNode != int64(1) && (*RtreeNode)(unsafe.Pointer(pChild)).FpParent == uintptr(0) { @@ -204485,7 +204514,7 @@ func fixLeafParent(tls *libc.TLS, pRtree uintptr, pLeaf uintptr) int32 { /* sqli return rc } -func removeNode(tls *libc.TLS, pRtree uintptr, pNode uintptr, iHeight int32) int32 { /* sqlite3.c:198552:12: */ +func removeNode(tls *libc.TLS, pRtree uintptr, pNode uintptr, iHeight int32) int32 { /* sqlite3.c:198609:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -204535,7 +204564,7 @@ func removeNode(tls *libc.TLS, pRtree uintptr, pNode uintptr, iHeight int32) int return SQLITE_OK } -func fixBoundingBox(tls *libc.TLS, pRtree uintptr, pNode uintptr) int32 { /* sqlite3.c:198602:12: */ +func fixBoundingBox(tls *libc.TLS, pRtree uintptr, pNode uintptr) int32 { /* sqlite3.c:198659:12: */ bp := tls.Alloc(100) defer tls.Free(100) @@ -204566,7 +204595,7 @@ func fixBoundingBox(tls *libc.TLS, pRtree uintptr, pNode uintptr) int32 { /* sql // Delete the cell at index iCell of node pNode. After removing the // cell, adjust the r-tree data structure if required. -func deleteCell(tls *libc.TLS, pRtree uintptr, pNode uintptr, iCell int32, iHeight int32) int32 { /* sqlite3.c:198629:12: */ +func deleteCell(tls *libc.TLS, pRtree uintptr, pNode uintptr, iCell int32, iHeight int32) int32 { /* sqlite3.c:198686:12: */ var pParent uintptr var rc int32 @@ -204595,7 +204624,7 @@ func deleteCell(tls *libc.TLS, pRtree uintptr, pNode uintptr, iCell int32, iHeig return rc } -func sReinsert(tls *libc.TLS, pRtree uintptr, pNode uintptr, pCell uintptr, iHeight int32) int32 { /* sqlite3.c:198660:12: */ +func sReinsert(tls *libc.TLS, pRtree uintptr, pNode uintptr, pCell uintptr, iHeight int32) int32 { /* sqlite3.c:198717:12: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -204710,7 +204739,7 @@ func sReinsert(tls *libc.TLS, pRtree uintptr, pNode uintptr, pCell uintptr, iHei // Insert cell pCell into node pNode. Node pNode is the head of a // subtree iHeight high (leaf nodes have iHeight==0). -func rtreeInsertCell(tls *libc.TLS, pRtree uintptr, pNode uintptr, pCell uintptr, iHeight int32) int32 { /* sqlite3.c:198765:12: */ +func rtreeInsertCell(tls *libc.TLS, pRtree uintptr, pNode uintptr, pCell uintptr, iHeight int32) int32 { /* sqlite3.c:198822:12: */ var rc int32 = SQLITE_OK if iHeight > 0 { var pChild uintptr = nodeHashLookup(tls, pRtree, (*RtreeCell)(unsafe.Pointer(pCell)).FiRowid) @@ -204740,7 +204769,7 @@ func rtreeInsertCell(tls *libc.TLS, pRtree uintptr, pNode uintptr, pCell uintptr return rc } -func reinsertNodeContent(tls *libc.TLS, pRtree uintptr, pNode uintptr) int32 { /* sqlite3.c:198800:12: */ +func reinsertNodeContent(tls *libc.TLS, pRtree uintptr, pNode uintptr) int32 { /* sqlite3.c:198857:12: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -204771,7 +204800,7 @@ func reinsertNodeContent(tls *libc.TLS, pRtree uintptr, pNode uintptr) int32 { / } // Select a currently unused rowid for a new r-tree record. -func rtreeNewRowid(tls *libc.TLS, pRtree uintptr, piRowid uintptr) int32 { /* sqlite3.c:198829:12: */ +func rtreeNewRowid(tls *libc.TLS, pRtree uintptr, piRowid uintptr) int32 { /* sqlite3.c:198886:12: */ var rc int32 Xsqlite3_bind_null(tls, (*Rtree)(unsafe.Pointer(pRtree)).FpWriteRowid, 1) Xsqlite3_bind_null(tls, (*Rtree)(unsafe.Pointer(pRtree)).FpWriteRowid, 2) @@ -204782,7 +204811,7 @@ func rtreeNewRowid(tls *libc.TLS, pRtree uintptr, piRowid uintptr) int32 { /* sq } // Remove the entry with rowid=iDelete from the r-tree structure. -func rtreeDeleteRowid(tls *libc.TLS, pRtree uintptr, iDelete Sqlite3_int64) int32 { /* sqlite3.c:198842:12: */ +func rtreeDeleteRowid(tls *libc.TLS, pRtree uintptr, iDelete Sqlite3_int64) int32 { /* sqlite3.c:198899:12: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -204871,7 +204900,7 @@ func rtreeDeleteRowid(tls *libc.TLS, pRtree uintptr, iDelete Sqlite3_int64) int3 // Convert an sqlite3_value into an RtreeValue (presumably a float) // while taking care to round toward negative or positive, respectively. -func rtreeValueDown(tls *libc.TLS, v uintptr) RtreeValue { /* sqlite3.c:198939:19: */ +func rtreeValueDown(tls *libc.TLS, v uintptr) RtreeValue { /* sqlite3.c:198996:19: */ var d float64 = Xsqlite3_value_double(tls, v) var f float32 = float32(d) if float64(f) > d { @@ -204885,7 +204914,7 @@ func rtreeValueDown(tls *libc.TLS, v uintptr) RtreeValue { /* sqlite3.c:198939:1 return f } -func rtreeValueUp(tls *libc.TLS, v uintptr) RtreeValue { /* sqlite3.c:198947:19: */ +func rtreeValueUp(tls *libc.TLS, v uintptr) RtreeValue { /* sqlite3.c:199004:19: */ var d float64 = Xsqlite3_value_double(tls, v) var f float32 = float32(d) if float64(f) < d { @@ -204910,7 +204939,7 @@ func rtreeValueUp(tls *libc.TLS, v uintptr) RtreeValue { /* sqlite3.c:198947:19: // (c1<=c2) constraint on columns iCol and iCol+1 that has failed. // // If an OOM occurs, SQLITE_NOMEM is returned instead of SQLITE_CONSTRAINT. -func rtreeConstraintError(tls *libc.TLS, pRtree uintptr, iCol int32) int32 { /* sqlite3.c:198970:12: */ +func rtreeConstraintError(tls *libc.TLS, pRtree uintptr, iCol int32) int32 { /* sqlite3.c:199027:12: */ bp := tls.Alloc(64) defer tls.Free(64) @@ -204949,7 +204978,7 @@ func rtreeConstraintError(tls *libc.TLS, pRtree uintptr, iCol int32) int32 { /* } // The xUpdate method for rtree module virtual tables. -func rtreeUpdate(tls *libc.TLS, pVtab uintptr, nData int32, aData uintptr, pRowid uintptr) int32 { /* sqlite3.c:199008:12: */ +func rtreeUpdate(tls *libc.TLS, pVtab uintptr, nData int32, aData uintptr, pRowid uintptr) int32 { /* sqlite3.c:199065:12: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -205178,7 +205207,7 @@ constraint: } // Called when a transaction starts. -func rtreeBeginTransaction(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:199156:12: */ +func rtreeBeginTransaction(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:199213:12: */ var pRtree uintptr = pVtab (*Rtree)(unsafe.Pointer(pRtree)).FinWrTrans++ @@ -205187,7 +205216,7 @@ func rtreeBeginTransaction(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:19 // Called when a transaction completes (either by COMMIT or ROLLBACK). // The sqlite3_blob object should be released at this point. -func rtreeEndTransaction(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:199167:12: */ +func rtreeEndTransaction(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:199224:12: */ var pRtree uintptr = pVtab (*Rtree)(unsafe.Pointer(pRtree)).FinWrTrans = U8(0) nodeBlobReset(tls, pRtree) @@ -205195,7 +205224,7 @@ func rtreeEndTransaction(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:1991 } // The xRename method for rtree module virtual tables. -func rtreeRename(tls *libc.TLS, pVtab uintptr, zNewName uintptr) int32 { /* sqlite3.c:199177:12: */ +func rtreeRename(tls *libc.TLS, pVtab uintptr, zNewName uintptr) int32 { /* sqlite3.c:199234:12: */ bp := tls.Alloc(72) defer tls.Free(72) @@ -205224,7 +205253,7 @@ func rtreeRename(tls *libc.TLS, pVtab uintptr, zNewName uintptr) int32 { /* sqli // INSERT INTO rtree... // DROP TABLE ; -- Would fail with SQLITE_LOCKED // COMMIT; -func rtreeSavepoint(tls *libc.TLS, pVtab uintptr, iSavepoint int32) int32 { /* sqlite3.c:199210:12: */ +func rtreeSavepoint(tls *libc.TLS, pVtab uintptr, iSavepoint int32) int32 { /* sqlite3.c:199267:12: */ var pRtree uintptr = pVtab var iwt U8 = (*Rtree)(unsafe.Pointer(pRtree)).FinWrTrans _ = iSavepoint @@ -205237,7 +205266,7 @@ func rtreeSavepoint(tls *libc.TLS, pVtab uintptr, iSavepoint int32) int32 { /* s // This function populates the pRtree->nRowEst variable with an estimate // of the number of rows in the virtual table. If possible, this is based // on sqlite_stat1 data. Otherwise, use RTREE_DEFAULT_ROWEST. -func rtreeQueryStat1(tls *libc.TLS, db uintptr, pRtree uintptr) int32 { /* sqlite3.c:199225:12: */ +func rtreeQueryStat1(tls *libc.TLS, db uintptr, pRtree uintptr) int32 { /* sqlite3.c:199282:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -205281,7 +205310,7 @@ func rtreeQueryStat1(tls *libc.TLS, db uintptr, pRtree uintptr) int32 { /* sqlit // Return true if zName is the extension on one of the shadow tables used // by this module. -func rtreeShadowName(tls *libc.TLS, zName uintptr) int32 { /* sqlite3.c:199259:12: */ +func rtreeShadowName(tls *libc.TLS, zName uintptr) int32 { /* sqlite3.c:199316:12: */ var i uint32 for i = uint32(0); uint64(i) < uint64(unsafe.Sizeof(azName1))/uint64(unsafe.Sizeof(uintptr(0))); i++ { if Xsqlite3_stricmp(tls, zName, azName1[i]) == 0 { @@ -205293,7 +205322,7 @@ func rtreeShadowName(tls *libc.TLS, zName uintptr) int32 { /* sqlite3.c:199259:1 var azName1 = [3]uintptr{ ts + 26645, ts + 6363, ts + 17532, -} /* sqlite3.c:199260:21 */ +} /* sqlite3.c:199317:21 */ var rtreeModule = Sqlite3_module{ FiVersion: 3, // iVersion @@ -205317,9 +205346,9 @@ var rtreeModule = Sqlite3_module{ FxRename: 0, // xRename - rename the table FxSavepoint: 0, // xRollbackTo FxShadowName: 0, // xShadowName -} /* sqlite3.c:199270:23 */ +} /* sqlite3.c:199327:23 */ -func rtreeSqlInit(tls *libc.TLS, pRtree uintptr, db uintptr, zDb uintptr, zPrefix uintptr, isCreate int32) int32 { /* sqlite3.c:199297:12: */ +func rtreeSqlInit(tls *libc.TLS, pRtree uintptr, db uintptr, zDb uintptr, zPrefix uintptr, isCreate int32) int32 { /* sqlite3.c:199354:12: */ bp := tls.Alloc(232) defer tls.Free(232) @@ -205436,14 +205465,14 @@ var azSql = [8]uintptr{ ts + 27375, ts + 27433, ts + 27488, -} /* sqlite3.c:199307:21 */ +} /* sqlite3.c:199364:21 */ // The second argument to this function contains the text of an SQL statement // that returns a single integer value. The statement is compiled and executed // using database connection db. If successful, the integer value returned // is written to *piVal and SQLITE_OK returned. Otherwise, an SQLite error // code is returned and the value of *piVal after returning is not defined. -func getIntFromStmt(tls *libc.TLS, db uintptr, zSql uintptr, piVal uintptr) int32 { /* sqlite3.c:199430:12: */ +func getIntFromStmt(tls *libc.TLS, db uintptr, zSql uintptr, piVal uintptr) int32 { /* sqlite3.c:199487:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -205474,7 +205503,7 @@ func getIntFromStmt(tls *libc.TLS, db uintptr, zSql uintptr, piVal uintptr) int3 // This ensures that each node is stored on a single database page. If the // database page-size is so large that more than RTREE_MAXCELLS entries // would fit in a single node, use a smaller node-size. -func getNodeSize(tls *libc.TLS, db uintptr, pRtree uintptr, isCreate int32, pzErr uintptr) int32 { /* sqlite3.c:199460:12: */ +func getNodeSize(tls *libc.TLS, db uintptr, pRtree uintptr, isCreate int32, pzErr uintptr) int32 { /* sqlite3.c:199517:12: */ bp := tls.Alloc(52) defer tls.Free(52) @@ -205512,7 +205541,7 @@ func getNodeSize(tls *libc.TLS, db uintptr, pRtree uintptr, isCreate int32, pzEr } // Return the length of a token -func rtreeTokenLength(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:199503:12: */ +func rtreeTokenLength(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:199560:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -205527,7 +205556,7 @@ func rtreeTokenLength(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:199503:12: // argv[1] -> database name // argv[2] -> table name // argv[...] -> column names... -func rtreeInit(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr, isCreate int32) int32 { /* sqlite3.c:199517:12: */ +func rtreeInit(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr, isCreate int32) int32 { /* sqlite3.c:199574:12: */ bp := tls.Alloc(136) defer tls.Free(136) @@ -205727,7 +205756,7 @@ __25: return rc } -var azFormat = [2]uintptr{ts + 27831, ts + 27842} /* sqlite3.c:199583:25 */ +var azFormat = [2]uintptr{ts + 27831, ts + 27842} /* sqlite3.c:199640:25 */ // Implementation of a scalar function that decodes r-tree nodes to // human readable strings. This can be used for debugging and analysis. @@ -205743,7 +205772,7 @@ var azFormat = [2]uintptr{ts + 27831, ts + 27842} /* sqlite3.c:199583:25 */ // entry for each cell in the r-tree node. Each entry is itself a // list, containing the 8-byte rowid/pageno followed by the // *2 coordinates. -func rtreenode(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:199654:13: */ +func rtreenode(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:199711:13: */ bp := tls.Alloc(1072) defer tls.Free(1072) @@ -205806,7 +205835,7 @@ func rtreenode(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) { /* sqlit // The depth value is 0 for all nodes other than the root node, and the root // node always has nodeno=1, so the example above is the primary use for this // routine. This routine is intended for testing and analysis only. -func rtreedepth(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:199706:13: */ +func rtreedepth(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:199763:13: */ _ = nArg if Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(apArg))) != SQLITE_BLOB || Xsqlite3_value_bytes(tls, *(*uintptr)(unsafe.Pointer(apArg))) < 2 { @@ -205838,15 +205867,15 @@ type RtreeCheck1 = struct { FzReport uintptr FnErr int32 F__ccgo_pad2 [4]byte -} /* sqlite3.c:199727:9 */ +} /* sqlite3.c:199784:9 */ // Context object passed between the various routines that make up the // implementation of integrity-check function rtreecheck(). -type RtreeCheck = RtreeCheck1 /* sqlite3.c:199727:27 */ +type RtreeCheck = RtreeCheck1 /* sqlite3.c:199784:27 */ // Reset SQL statement pStmt. If the sqlite3_reset() call returns an error, // and RtreeCheck.rc==SQLITE_OK, set RtreeCheck.rc to the error code. -func rtreeCheckReset(tls *libc.TLS, pCheck uintptr, pStmt uintptr) { /* sqlite3.c:199749:13: */ +func rtreeCheckReset(tls *libc.TLS, pCheck uintptr, pStmt uintptr) { /* sqlite3.c:199806:13: */ var rc int32 = Xsqlite3_reset(tls, pStmt) if (*RtreeCheck)(unsafe.Pointer(pCheck)).Frc == SQLITE_OK { (*RtreeCheck)(unsafe.Pointer(pCheck)).Frc = rc @@ -205859,7 +205888,7 @@ func rtreeCheckReset(tls *libc.TLS, pCheck uintptr, pStmt uintptr) { /* sqlite3. // // If successful, a pointer to the new SQL statement is returned. Otherwise, // NULL is returned and an error code left in RtreeCheck.rc. -func rtreeCheckPrepare(tls *libc.TLS, pCheck uintptr, zFmt uintptr, va uintptr) uintptr { /* sqlite3.c:199762:21: */ +func rtreeCheckPrepare(tls *libc.TLS, pCheck uintptr, zFmt uintptr, va uintptr) uintptr { /* sqlite3.c:199819:21: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -205887,7 +205916,7 @@ func rtreeCheckPrepare(tls *libc.TLS, pCheck uintptr, zFmt uintptr, va uintptr) // The second and subsequent arguments to this function are a printf() // style format string and arguments. This function formats the string and // appends it to the report being accumuated in pCheck. -func rtreeCheckAppendMsg(tls *libc.TLS, pCheck uintptr, zFmt uintptr, va uintptr) { /* sqlite3.c:199791:13: */ +func rtreeCheckAppendMsg(tls *libc.TLS, pCheck uintptr, zFmt uintptr, va uintptr) { /* sqlite3.c:199848:13: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -205927,7 +205956,7 @@ func rtreeCheckAppendMsg(tls *libc.TLS, pCheck uintptr, zFmt uintptr, va uintptr // Or, if an error does occur, NULL is returned and an error code left // in the RtreeCheck object. The final value of *pnNode is undefined in // this case. -func rtreeCheckGetNode(tls *libc.TLS, pCheck uintptr, iNode I64, pnNode uintptr) uintptr { /* sqlite3.c:199825:11: */ +func rtreeCheckGetNode(tls *libc.TLS, pCheck uintptr, iNode I64, pnNode uintptr) uintptr { /* sqlite3.c:199882:11: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -205971,7 +206000,7 @@ func rtreeCheckGetNode(tls *libc.TLS, pCheck uintptr, iNode I64, pnNode uintptr) // In both cases, this function checks that there exists an entry with // IPK value iKey and the second column set to iVal. // -func rtreeCheckMapping(tls *libc.TLS, pCheck uintptr, bLeaf int32, iKey I64, iVal I64) { /* sqlite3.c:199869:13: */ +func rtreeCheckMapping(tls *libc.TLS, pCheck uintptr, bLeaf int32, iKey I64, iVal I64) { /* sqlite3.c:199926:13: */ bp := tls.Alloc(96) defer tls.Free(96) @@ -206027,7 +206056,7 @@ func rtreeCheckMapping(tls *libc.TLS, pCheck uintptr, bLeaf int32, iKey I64, iVa // containing pCell. In this case it is also verified that the two // sets of coordinates are mutually consistent and an error message added // to the RtreeCheck object if they are not. -func rtreeCheckCellCoord(tls *libc.TLS, pCheck uintptr, iNode I64, iCell int32, pCell uintptr, pParent uintptr) { /* sqlite3.c:199921:13: */ +func rtreeCheckCellCoord(tls *libc.TLS, pCheck uintptr, iNode I64, iCell int32, pCell uintptr, pParent uintptr) { /* sqlite3.c:199978:13: */ bp := tls.Alloc(64) defer tls.Free(64) @@ -206085,7 +206114,7 @@ func rtreeCheckCellCoord(tls *libc.TLS, pCheck uintptr, iNode I64, iCell int32, // // If any problems are discovered, an error message is appended to the // report accumulated in the RtreeCheck object. -func rtreeCheckNode(tls *libc.TLS, pCheck uintptr, iDepth int32, aParent uintptr, iNode I64) { /* sqlite3.c:199967:13: */ +func rtreeCheckNode(tls *libc.TLS, pCheck uintptr, iDepth int32, aParent uintptr, iNode I64) { /* sqlite3.c:200024:13: */ bp := tls.Alloc(52) defer tls.Free(52) @@ -206139,7 +206168,7 @@ func rtreeCheckNode(tls *libc.TLS, pCheck uintptr, iDepth int32, aParent uintptr // %_rowid or %_parent table is exactly nExpect. If not, it adds // an error message to the report in the RtreeCheck object indicated // by the first argument. -func rtreeCheckCount(tls *libc.TLS, pCheck uintptr, zTbl uintptr, nExpect I64) { /* sqlite3.c:200030:13: */ +func rtreeCheckCount(tls *libc.TLS, pCheck uintptr, zTbl uintptr, nExpect I64) { /* sqlite3.c:200087:13: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -206162,7 +206191,7 @@ func rtreeCheckCount(tls *libc.TLS, pCheck uintptr, zTbl uintptr, nExpect I64) { // This function does the bulk of the work for the rtree integrity-check. // It is called by rtreecheck(), which is the SQL function implementation. -func rtreeCheckTable(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, pzReport uintptr) int32 { /* sqlite3.c:200054:12: */ +func rtreeCheckTable(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, pzReport uintptr) int32 { /* sqlite3.c:200111:12: */ bp := tls.Alloc(120) defer tls.Free(120) @@ -206269,7 +206298,7 @@ func rtreeCheckTable(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, pzRep // as there are non-leaf cells in the r-tree structure, and that // there is a non-leaf cell that corresponds to each entry in the // %_parent table. -func rtreecheck(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:200161:13: */ +func rtreecheck(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:200218:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -206332,7 +206361,7 @@ func rtreecheck(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) { /* sqli // Compiler and version // Datatype for coordinates -type GeoCoord = float32 /* sqlite3.c:200282:15 */ +type GeoCoord = float32 /* sqlite3.c:200339:15 */ // Internal representation of a polygon. // @@ -206358,7 +206387,7 @@ type GeoPoly1 = struct { FnVertex int32 Fhdr [4]uint8 Fa [8]GeoCoord -} /* sqlite3.c:200306:9 */ +} /* sqlite3.c:200363:9 */ // Internal representation of a polygon. // @@ -206380,7 +206409,7 @@ type GeoPoly1 = struct { // warnings coming from some compiler (notably, clang). In reality, the size // of each GeoPoly memory allocate is adjusted as necessary so that the // GeoPoly.a[] array at the end is the appropriate size. -type GeoPoly = GeoPoly1 /* sqlite3.c:200306:24 */ +type GeoPoly = GeoPoly1 /* sqlite3.c:200363:24 */ // The size of a memory allocation needed for a GeoPoly object sufficient // to hold N coordinate pairs. @@ -206397,7 +206426,7 @@ type GeoParse1 = struct { FnErr int32 F__ccgo_pad1 [4]byte Fa uintptr -} /* sqlite3.c:200329:9 */ +} /* sqlite3.c:200386:9 */ // The size of a memory allocation needed for a GeoPoly object sufficient // to hold N coordinate pairs. @@ -206407,10 +206436,10 @@ type GeoParse1 = struct { // to silence (incorrect) UBSAN warnings if the array index is too large. // State of a parse of a GeoJSON input. -type GeoParse = GeoParse1 /* sqlite3.c:200329:25 */ +type GeoParse = GeoParse1 /* sqlite3.c:200386:25 */ // Do a 4-byte byte swap -func geopolySwab32(tls *libc.TLS, a uintptr) { /* sqlite3.c:200339:13: */ +func geopolySwab32(tls *libc.TLS, a uintptr) { /* sqlite3.c:200396:13: */ var t uint8 = *(*uint8)(unsafe.Pointer(a)) *(*uint8)(unsafe.Pointer(a)) = *(*uint8)(unsafe.Pointer(a + 3)) *(*uint8)(unsafe.Pointer(a + 3)) = t @@ -206420,7 +206449,7 @@ func geopolySwab32(tls *libc.TLS, a uintptr) { /* sqlite3.c:200339:13: */ } // Skip whitespace. Return the next non-whitespace character. -func geopolySkipSpace(tls *libc.TLS, p uintptr) int8 { /* sqlite3.c:200349:13: */ +func geopolySkipSpace(tls *libc.TLS, p uintptr) int8 { /* sqlite3.c:200406:13: */ for jsonIsSpace[*(*uint8)(unsafe.Pointer((*GeoParse)(unsafe.Pointer(p)).Fz))] != 0 { (*GeoParse)(unsafe.Pointer(p)).Fz++ } @@ -206429,7 +206458,7 @@ func geopolySkipSpace(tls *libc.TLS, p uintptr) int8 { /* sqlite3.c:200349:13: * // Parse out a number. Write the value into *pVal if pVal!=0. // return non-zero on success and zero if the next token is not a number. -func geopolyParseNumber(tls *libc.TLS, p uintptr, pVal uintptr) int32 { /* sqlite3.c:200357:12: */ +func geopolyParseNumber(tls *libc.TLS, p uintptr, pVal uintptr) int32 { /* sqlite3.c:200414:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -206501,7 +206530,7 @@ func geopolyParseNumber(tls *libc.TLS, p uintptr, pVal uintptr) int32 { /* sqlit // that object. // // If any error occurs, return NULL. -func geopolyParseJson(tls *libc.TLS, z uintptr, pRc uintptr) uintptr { /* sqlite3.c:200415:16: */ +func geopolyParseJson(tls *libc.TLS, z uintptr, pRc uintptr) uintptr { /* sqlite3.c:200472:16: */ bp := tls.Alloc(36) defer tls.Free(36) @@ -206643,7 +206672,7 @@ __16: // in the binary format or JSON text. Compute a GeoPoly object and // return a pointer to that object. Or if the input is not a well-formed // polygon, put an error message in sqlite3_context and return NULL. -func geopolyFuncParam(tls *libc.TLS, pCtx uintptr, pVal uintptr, pRc uintptr) uintptr { /* sqlite3.c:200492:16: */ +func geopolyFuncParam(tls *libc.TLS, pCtx uintptr, pVal uintptr, pRc uintptr) uintptr { /* sqlite3.c:200549:16: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -206712,7 +206741,7 @@ func geopolyFuncParam(tls *libc.TLS, pCtx uintptr, pVal uintptr, pRc uintptr) ui // If the input is a well-formed Geopoly BLOB or JSON string // then return the BLOB representation of the polygon. Otherwise // return NULL. -func geopolyBlobFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:200553:13: */ +func geopolyBlobFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:200610:13: */ var p uintptr = geopolyFuncParam(tls, context, *(*uintptr)(unsafe.Pointer(argv)), uintptr(0)) if p != 0 { Xsqlite3_result_blob(tls, context, p+4, @@ -206725,7 +206754,7 @@ func geopolyBlobFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { // // Interpret X as a polygon and render it as a JSON array // of coordinates. Or, if X is not a valid polygon, return NULL. -func geopolyJsonFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:200572:13: */ +func geopolyJsonFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:200629:13: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -206748,7 +206777,7 @@ func geopolyJsonFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { // // Interpret X as a polygon and render it as a SVG . // Additional arguments are added as attributes to the . -func geopolySvgFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:200598:13: */ +func geopolySvgFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:200655:13: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -206794,7 +206823,7 @@ func geopolySvgFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { // Rotate by R around the point (0,0): // // geopoly_xform(poly, cos(R), sin(R), -sin(R), cos(R), 0, 0) -func geopolyXformFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:200645:13: */ +func geopolyXformFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:200702:13: */ var p uintptr = geopolyFuncParam(tls, context, *(*uintptr)(unsafe.Pointer(argv)), uintptr(0)) var A float64 = Xsqlite3_value_double(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))) var B float64 = Xsqlite3_value_double(tls, *(*uintptr)(unsafe.Pointer(argv + 2*8))) @@ -206827,7 +206856,7 @@ func geopolyXformFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) // This routine can also be used to detect polygons that rotate in // the wrong direction. Polygons are suppose to be counter-clockwise (CCW). // This routine returns a negative value for clockwise (CW) polygons. -func geopolyArea(tls *libc.TLS, p uintptr) float64 { /* sqlite3.c:200681:15: */ +func geopolyArea(tls *libc.TLS, p uintptr) float64 { /* sqlite3.c:200738:15: */ var rArea float64 = 0.0 var ii int32 for ii = 0; ii < (*GeoPoly)(unsafe.Pointer(p)).FnVertex-1; ii++ { @@ -206847,7 +206876,7 @@ func geopolyArea(tls *libc.TLS, p uintptr) float64 { /* sqlite3.c:200681:15: */ // enclosed by the polygon. If the polygon circulates clockwise instead // of counterclockwise (as it should) then return the negative of the // enclosed area. Otherwise return NULL. -func geopolyAreaFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:200703:13: */ +func geopolyAreaFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:200760:13: */ var p uintptr = geopolyFuncParam(tls, context, *(*uintptr)(unsafe.Pointer(argv)), uintptr(0)) if p != 0 { Xsqlite3_result_double(tls, context, geopolyArea(tls, p)) @@ -206866,7 +206895,7 @@ func geopolyAreaFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { // // Use this routine to sanitize historical inputs that that sometimes // contain polygons that wind in the wrong direction. -func geopolyCcwFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:200728:13: */ +func geopolyCcwFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:200785:13: */ var p uintptr = geopolyFuncParam(tls, context, *(*uintptr)(unsafe.Pointer(argv)), uintptr(0)) if p != 0 { if geopolyArea(tls, p) < 0.0 { @@ -206902,7 +206931,7 @@ func geopolyCcwFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { } // Fast approximation for sine(X) for X between -0.5*pi and 2*pi -func geopolySine(tls *libc.TLS, r float64) float64 { /* sqlite3.c:200756:15: */ +func geopolySine(tls *libc.TLS, r float64) float64 { /* sqlite3.c:200813:15: */ if r >= float64(1.5)*3.1415926535897932385 { r = r - float64(2.0)*3.1415926535897932385 @@ -206922,7 +206951,7 @@ func geopolySine(tls *libc.TLS, r float64) float64 { /* sqlite3.c:200756:15: */ // // Construct a simple, convex, regular polygon centered at X, Y // with circumradius R and with N sides. -func geopolyRegularFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:200777:13: */ +func geopolyRegularFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:200834:13: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -206967,7 +206996,7 @@ func geopolyRegularFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr // // If pPoly is NULL but aCoord is not NULL, then compute a new GeoPoly from // the bounding box in aCoord and return a pointer to that GeoPoly. -func geopolyBBox(tls *libc.TLS, context uintptr, pPoly uintptr, aCoord uintptr, pRc uintptr) uintptr { /* sqlite3.c:200820:16: */ +func geopolyBBox(tls *libc.TLS, context uintptr, pPoly uintptr, aCoord uintptr, pRc uintptr) uintptr { /* sqlite3.c:200877:16: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -207108,7 +207137,7 @@ __4: } // Implementation of the geopoly_bbox(X) SQL function. -func geopolyBBoxFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:200891:13: */ +func geopolyBBoxFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:200948:13: */ var p uintptr = geopolyBBox(tls, context, *(*uintptr)(unsafe.Pointer(argv)), uintptr(0), uintptr(0)) if p != 0 { Xsqlite3_result_blob(tls, context, p+4, @@ -207121,13 +207150,13 @@ func geopolyBBoxFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { type GeoBBox1 = struct { FisInit int32 Fa [4]RtreeCoord -} /* sqlite3.c:200907:9 */ +} /* sqlite3.c:200964:9 */ // State vector for the geopoly_group_bbox() aggregate function. -type GeoBBox = GeoBBox1 /* sqlite3.c:200907:24 */ +type GeoBBox = GeoBBox1 /* sqlite3.c:200964:24 */ // Implementation of the geopoly_group_bbox(X) aggregate SQL function. -func geopolyBBoxStep(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:200917:13: */ +func geopolyBBoxStep(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:200974:13: */ bp := tls.Alloc(20) defer tls.Free(20) @@ -207161,7 +207190,7 @@ func geopolyBBoxStep(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { } } -func geopolyBBoxFinal(tls *libc.TLS, context uintptr) { /* sqlite3.c:200940:13: */ +func geopolyBBoxFinal(tls *libc.TLS, context uintptr) { /* sqlite3.c:200997:13: */ var p uintptr var pBBox uintptr pBBox = Xsqlite3_aggregate_context(tls, context, 0) @@ -207188,7 +207217,7 @@ func geopolyBBoxFinal(tls *libc.TLS, context uintptr) { /* sqlite3.c:200940:13: // // The left-most coordinate min(x1,x2) is not considered to be part of // the line segment for the purposes of this analysis. -func pointBeneathLine(tls *libc.TLS, x0 float64, y0 float64, x1 float64, y1 float64, x2 float64, y2 float64) int32 { /* sqlite3.c:200970:12: */ +func pointBeneathLine(tls *libc.TLS, x0 float64, y0 float64, x1 float64, y1 float64, x2 float64, y2 float64) int32 { /* sqlite3.c:201027:12: */ var y float64 if x0 == x1 && y0 == y1 { return 2 @@ -207229,7 +207258,7 @@ func pointBeneathLine(tls *libc.TLS, x0 float64, y0 float64, x1 float64, y1 floa // Return +2 if point X,Y is within polygon P. // Return +1 if point X,Y is on the polygon boundary. // Return 0 if point X,Y is outside the polygon -func geopolyContainsPointFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:201001:13: */ +func geopolyContainsPointFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:201058:13: */ var p1 uintptr = geopolyFuncParam(tls, context, *(*uintptr)(unsafe.Pointer(argv)), uintptr(0)) var x0 float64 = Xsqlite3_value_double(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))) var y0 float64 = Xsqlite3_value_double(tls, *(*uintptr)(unsafe.Pointer(argv + 2*8))) @@ -207267,7 +207296,7 @@ func geopolyContainsPointFunc(tls *libc.TLS, context uintptr, argc int32, argv u // Return +1 if P2 is contained within P1 // Return 0 if any part of P2 is on the outside of P1 // -func geopolyWithinFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:201044:13: */ +func geopolyWithinFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:201101:13: */ var p1 uintptr = geopolyFuncParam(tls, context, *(*uintptr)(unsafe.Pointer(argv)), uintptr(0)) var p2 uintptr = geopolyFuncParam(tls, context, *(*uintptr)(unsafe.Pointer(argv + 1*8)), uintptr(0)) if p1 != 0 && p2 != 0 { @@ -207299,10 +207328,10 @@ type GeoEvent1 = struct { F__ccgo_pad1 [4]byte FpSeg uintptr FpNext uintptr -} /* sqlite3.c:201064:9 */ +} /* sqlite3.c:201121:9 */ // Objects used by the overlap algorihm. -type GeoEvent = GeoEvent1 /* sqlite3.c:201064:25 */ +type GeoEvent = GeoEvent1 /* sqlite3.c:201121:25 */ type GeoSegment1 = struct { FC float64 FB float64 @@ -207313,20 +207342,20 @@ type GeoSegment1 = struct { Fidx uint32 F__ccgo_pad2 [4]byte FpNext uintptr -} /* sqlite3.c:201064:9 */ +} /* sqlite3.c:201121:9 */ -type GeoSegment = GeoSegment1 /* sqlite3.c:201065:27 */ +type GeoSegment = GeoSegment1 /* sqlite3.c:201122:27 */ type GeoOverlap1 = struct { FaEvent uintptr FaSegment uintptr FnEvent int32 FnSegment int32 -} /* sqlite3.c:201066:9 */ +} /* sqlite3.c:201123:9 */ -type GeoOverlap = GeoOverlap1 /* sqlite3.c:201066:27 */ +type GeoOverlap = GeoOverlap1 /* sqlite3.c:201123:27 */ // Add a single segment and its associated events. -func geopolyAddOneSegment(tls *libc.TLS, p uintptr, x0 GeoCoord, y0 GeoCoord, x1 GeoCoord, y1 GeoCoord, side uint8, idx uint32) { /* sqlite3.c:201091:13: */ +func geopolyAddOneSegment(tls *libc.TLS, p uintptr, x0 GeoCoord, y0 GeoCoord, x1 GeoCoord, y1 GeoCoord, side uint8, idx uint32) { /* sqlite3.c:201148:13: */ var pSeg uintptr var pEvent uintptr if x0 == x1 { @@ -207360,7 +207389,7 @@ func geopolyAddOneSegment(tls *libc.TLS, p uintptr, x0 GeoCoord, y0 GeoCoord, x1 } // Insert all segments and events for polygon pPoly. -func geopolyAddSegments(tls *libc.TLS, p uintptr, pPoly uintptr, side uint8) { /* sqlite3.c:201135:13: */ +func geopolyAddSegments(tls *libc.TLS, p uintptr, pPoly uintptr, side uint8) { /* sqlite3.c:201192:13: */ var i uint32 var x uintptr for i = uint32(0); i < uint32((*GeoPoly)(unsafe.Pointer(pPoly)).FnVertex)-uint32(1); i++ { @@ -207372,7 +207401,7 @@ func geopolyAddSegments(tls *libc.TLS, p uintptr, pPoly uintptr, side uint8) { / } // Merge two lists of sorted events by X coordinate -func geopolyEventMerge(tls *libc.TLS, pLeft uintptr, pRight uintptr) uintptr { /* sqlite3.c:201153:17: */ +func geopolyEventMerge(tls *libc.TLS, pLeft uintptr, pRight uintptr) uintptr { /* sqlite3.c:201210:17: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -207402,7 +207431,7 @@ func geopolyEventMerge(tls *libc.TLS, pLeft uintptr, pRight uintptr) uintptr { / } // Sort an array of nEvent event objects into a list. -func geopolySortEventsByX(tls *libc.TLS, aEvent uintptr, nEvent int32) uintptr { /* sqlite3.c:201175:17: */ +func geopolySortEventsByX(tls *libc.TLS, aEvent uintptr, nEvent int32) uintptr { /* sqlite3.c:201232:17: */ bp := tls.Alloc(400) defer tls.Free(400) @@ -207432,7 +207461,7 @@ func geopolySortEventsByX(tls *libc.TLS, aEvent uintptr, nEvent int32) uintptr { } // Merge two lists of sorted segments by Y, and then by C. -func geopolySegmentMerge(tls *libc.TLS, pLeft uintptr, pRight uintptr) uintptr { /* sqlite3.c:201200:19: */ +func geopolySegmentMerge(tls *libc.TLS, pLeft uintptr, pRight uintptr) uintptr { /* sqlite3.c:201257:19: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -207467,7 +207496,7 @@ func geopolySegmentMerge(tls *libc.TLS, pLeft uintptr, pRight uintptr) uintptr { // Sort a list of GeoSegments in order of increasing Y and in the event of // a tie, increasing C (slope). -func geopolySortSegmentsByYAndC(tls *libc.TLS, pList uintptr) uintptr { /* sqlite3.c:201225:19: */ +func geopolySortSegmentsByYAndC(tls *libc.TLS, pList uintptr) uintptr { /* sqlite3.c:201282:19: */ bp := tls.Alloc(400) defer tls.Free(400) @@ -207497,7 +207526,7 @@ func geopolySortSegmentsByYAndC(tls *libc.TLS, pList uintptr) uintptr { /* sqlit } // Determine the overlap between two polygons -func geopolyOverlap(tls *libc.TLS, p1 uintptr, p2 uintptr) int32 { /* sqlite3.c:201251:12: */ +func geopolyOverlap(tls *libc.TLS, p1 uintptr, p2 uintptr) int32 { /* sqlite3.c:201308:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -207733,7 +207762,7 @@ geopolyOverlapDone: // 3 P2 is completely contained within P1 // 4 P1 and P2 are the same polygon // NULL Either P1 or P2 or both are not valid polygons -func geopolyOverlapFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:201374:13: */ +func geopolyOverlapFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:201431:13: */ var p1 uintptr = geopolyFuncParam(tls, context, *(*uintptr)(unsafe.Pointer(argv)), uintptr(0)) var p2 uintptr = geopolyFuncParam(tls, context, *(*uintptr)(unsafe.Pointer(argv + 1*8)), uintptr(0)) if p1 != 0 && p2 != 0 { @@ -207749,7 +207778,7 @@ func geopolyOverlapFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr } // Enable or disable debugging output -func geopolyDebugFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:201396:13: */ +func geopolyDebugFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:201453:13: */ } // This function is the implementation of both the xConnect and xCreate @@ -207759,7 +207788,7 @@ func geopolyDebugFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) // argv[1] -> database name // argv[2] -> table name // argv[...] -> column names... -func geopolyInit(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr, isCreate int32) int32 { /* sqlite3.c:201415:12: */ +func geopolyInit(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr, isCreate int32) int32 { /* sqlite3.c:201472:12: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -207874,12 +207903,12 @@ __11: } // GEOPOLY virtual table module xCreate method. -func geopolyCreate(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 { /* sqlite3.c:201499:12: */ +func geopolyCreate(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 { /* sqlite3.c:201556:12: */ return geopolyInit(tls, db, pAux, argc, argv, ppVtab, pzErr, 1) } // GEOPOLY virtual table module xConnect method. -func geopolyConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 { /* sqlite3.c:201512:12: */ +func geopolyConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 { /* sqlite3.c:201569:12: */ return geopolyInit(tls, db, pAux, argc, argv, ppVtab, pzErr, 0) } @@ -207893,7 +207922,7 @@ func geopolyConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv ui // 3 search for objects overlapping the same bounding box // that contains polygon argv[0] // 4 full table scan -func geopolyFilter(tls *libc.TLS, pVtabCursor uintptr, idxNum int32, idxStr uintptr, argc int32, argv uintptr) int32 { /* sqlite3.c:201535:12: */ +func geopolyFilter(tls *libc.TLS, pVtabCursor uintptr, idxNum int32, idxStr uintptr, argc int32, argv uintptr) int32 { /* sqlite3.c:201592:12: */ bp := tls.Alloc(52) defer tls.Free(52) @@ -208060,7 +208089,7 @@ geopoly_filter_end: // 3 "rtree" R-tree within query using geopoly_within() // 4 "fullscan" full-table scan. // ------------------------------------------------ -func geopolyBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 { /* sqlite3.c:201667:12: */ +func geopolyBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 { /* sqlite3.c:201724:12: */ var ii int32 var iRowidTerm int32 = -1 var iFuncTerm int32 = -1 @@ -208111,7 +208140,7 @@ func geopolyBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 { /* s } // GEOPOLY virtual table module xColumn method. -func geopolyColumn(tls *libc.TLS, cur uintptr, ctx uintptr, i int32) int32 { /* sqlite3.c:201719:12: */ +func geopolyColumn(tls *libc.TLS, cur uintptr, ctx uintptr, i int32) int32 { /* sqlite3.c:201776:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -208176,7 +208205,7 @@ func geopolyColumn(tls *libc.TLS, cur uintptr, ctx uintptr, i int32) int32 { /* // argv[1] = rowid after the change. Never NULL // argv[2] = new value for _shape // argv[3] = new value for first application-defined column.... -func geopolyUpdate(tls *libc.TLS, pVtab uintptr, nData int32, aData uintptr, pRowid uintptr) int32 { /* sqlite3.c:201774:12: */ +func geopolyUpdate(tls *libc.TLS, pVtab uintptr, nData int32, aData uintptr, pRowid uintptr) int32 { /* sqlite3.c:201831:12: */ bp := tls.Alloc(64) defer tls.Free(64) @@ -208387,7 +208416,7 @@ 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) int32 { /* sqlite3.c:201911:12: */ +func geopolyFindFunction(tls *libc.TLS, pVtab uintptr, nArg int32, zName uintptr, pxFunc uintptr, ppArg uintptr) int32 { /* sqlite3.c:201968:12: */ if Xsqlite3_stricmp(tls, zName, ts+28820) == 0 { *(*uintptr)(unsafe.Pointer(pxFunc)) = *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) @@ -208428,9 +208457,9 @@ var geopolyModule = Sqlite3_module{ FxRename: 0, // xRename - rename the table FxSavepoint: 0, // xRollbackTo FxShadowName: 0, // xShadowName -} /* sqlite3.c:201932:23 */ +} /* sqlite3.c:201989:23 */ -func sqlite3_geopoly_init(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:201959:12: */ +func sqlite3_geopoly_init(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:202016:12: */ var rc int32 = SQLITE_OK var i int32 for i = 0; uint64(i) < uint64(unsafe.Sizeof(aFunc))/uint64(unsafe.Sizeof(struct { @@ -208484,14 +208513,14 @@ var aFunc = [12]struct { {FxFunc: 0, FnArg: int8(7), FbPure: uint8(1), FzName: ts + 28960 /* "geopoly_xform" */}, {FxFunc: 0, FnArg: int8(4), FbPure: uint8(1), FzName: ts + 28974 /* "geopoly_regular" */}, {FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 28990 /* "geopoly_ccw" */}, -} /* sqlite3.c:201966:5 */ +} /* sqlite3.c:202023:5 */ var aAgg = [1]struct { FxStep uintptr FxFinal uintptr FzName uintptr }{ {FxStep: 0, FxFinal: 0, FzName: ts + 29002 /* "geopoly_group_bb..." */}, -} /* sqlite3.c:201984:5 */ +} /* sqlite3.c:202041:5 */ //************* End of geopoly.c ******************************************** //************* Continuing where we left off in rtree.c ********************* @@ -208499,7 +208528,7 @@ var aAgg = [1]struct { // Register the r-tree module with database handle db. This creates the // virtual table module "rtree" and the debugging/analysis scalar // function "rtreenode". -func Xsqlite3RtreeInit(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:202019:20: */ +func Xsqlite3RtreeInit(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:202076:20: */ var utf8 int32 = SQLITE_UTF8 var rc int32 @@ -208536,7 +208565,7 @@ func Xsqlite3RtreeInit(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:202019:20 // or sqlite3_rtree_query_callback(). In other words, this routine is the // destructor for an RtreeGeomCallback objecct. This routine is called when // the corresponding SQL function is deleted. -func rtreeFreeCallback(tls *libc.TLS, p uintptr) { /* sqlite3.c:202058:13: */ +func rtreeFreeCallback(tls *libc.TLS, p uintptr) { /* sqlite3.c:202115:13: */ var pInfo uintptr = p if (*RtreeGeomCallback)(unsafe.Pointer(pInfo)).FxDestructor != 0 { (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*RtreeGeomCallback)(unsafe.Pointer(pInfo)).FxDestructor})).f(tls, (*RtreeGeomCallback)(unsafe.Pointer(pInfo)).FpContext) @@ -208545,7 +208574,7 @@ func rtreeFreeCallback(tls *libc.TLS, p uintptr) { /* sqlite3.c:202058:13: */ } // This routine frees the BLOB that is returned by geomCallback(). -func rtreeMatchArgFree(tls *libc.TLS, pArg uintptr) { /* sqlite3.c:202067:13: */ +func rtreeMatchArgFree(tls *libc.TLS, pArg uintptr) { /* sqlite3.c:202124:13: */ var i int32 var p uintptr = pArg for i = 0; i < (*RtreeMatchArg)(unsafe.Pointer(p)).FnParam; i++ { @@ -208566,7 +208595,7 @@ func rtreeMatchArgFree(tls *libc.TLS, pArg uintptr) { /* sqlite3.c:202067:13: */ // The R-Tree MATCH operator will read the returned BLOB, deserialize // the RtreeMatchArg object, and use the RtreeMatchArg object to figure // out which elements of the R-Tree should be returned by the query. -func geomCallback(tls *libc.TLS, ctx uintptr, nArg int32, aArg uintptr) { /* sqlite3.c:202090:13: */ +func geomCallback(tls *libc.TLS, ctx uintptr, nArg int32, aArg uintptr) { /* sqlite3.c:202147:13: */ var pGeomCtx uintptr = Xsqlite3_user_data(tls, ctx) var pBlob uintptr var nBlob Sqlite3_int64 @@ -208600,7 +208629,7 @@ func geomCallback(tls *libc.TLS, ctx uintptr, nArg int32, aArg uintptr) { /* sql } // 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) int32 { /* sqlite3.c:202128:16: */ +func Xsqlite3_rtree_geometry_callback(tls *libc.TLS, db uintptr, zGeom uintptr, xGeom uintptr, pContext uintptr) int32 { /* sqlite3.c:202185:16: */ var pGeomCtx uintptr // Context object for new user-function // Allocate and populate the context object. @@ -208620,7 +208649,7 @@ func Xsqlite3_rtree_geometry_callback(tls *libc.TLS, db uintptr, zGeom uintptr, // 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) int32 { /* sqlite3.c:202152:16: */ +func Xsqlite3_rtree_query_callback(tls *libc.TLS, db uintptr, zQueryFunc uintptr, xQueryFunc uintptr, pContext uintptr, xDestructor uintptr) int32 { /* sqlite3.c:202209:16: */ var pGeomCtx uintptr // Context object for new user-function // Allocate and populate the context object. @@ -209076,7 +209105,7 @@ type sqlite3rbu = struct { FnRbu int32 F__ccgo_pad6 [4]byte FpRbuFd uintptr -} /* sqlite3.c:203382:9 */ +} /* sqlite3.c:203439:9 */ //************* End of rtree.c ********************************************** //************* Begin file icu.c ******************************************** @@ -209477,7 +209506,7 @@ type sqlite3rbu = struct { // #include "sqlite3.h" ** Required for error code definitions ** -type Sqlite3rbu = sqlite3rbu /* sqlite3.c:203382:27 */ +type Sqlite3rbu = sqlite3rbu /* sqlite3.c:203439:27 */ //************* End of sqlite3rbu.h ***************************************** //************* Continuing where we left off in sqlite3rbu.c **************** @@ -209542,7 +209571,7 @@ type Sqlite3rbu = sqlite3rbu /* sqlite3.c:203382:27 */ type RbuFrame1 = struct { FiDbPage U32 FiWalFrame U32 -} /* sqlite3.c:203382:9 */ +} /* sqlite3.c:203439:9 */ //************* End of sqlite3rbu.h ***************************************** //************* Continuing where we left off in sqlite3rbu.c **************** @@ -209604,7 +209633,7 @@ type RbuFrame1 = struct { // Only valid if STAGE==1. The RBU database name of the table // currently being read. -type RbuFrame = RbuFrame1 /* sqlite3.c:203813:25 */ +type RbuFrame = RbuFrame1 /* sqlite3.c:203870:25 */ type RbuObjIter1 = struct { FpTblIter uintptr FpIdxIter uintptr @@ -209636,9 +209665,9 @@ type RbuObjIter1 = struct { FaIdxCol uintptr FzIdxSql uintptr FpRbuUpdate uintptr -} /* sqlite3.c:203382:9 */ +} /* sqlite3.c:203439:9 */ -type RbuObjIter = RbuObjIter1 /* sqlite3.c:203814:27 */ +type RbuObjIter = RbuObjIter1 /* sqlite3.c:203871:27 */ type RbuState1 = struct { FeStage int32 F__ccgo_pad1 [4]byte @@ -209653,16 +209682,16 @@ type RbuState1 = struct { F__ccgo_pad3 [4]byte FiOalSz I64 FnPhaseOneStep I64 -} /* sqlite3.c:203815:9 */ +} /* sqlite3.c:203872:9 */ -type RbuState = RbuState1 /* sqlite3.c:203815:25 */ +type RbuState = RbuState1 /* sqlite3.c:203872:25 */ type RbuSpan1 = struct { FzSpan uintptr FnSpan int32 F__ccgo_pad1 [4]byte -} /* sqlite3.c:203382:9 */ +} /* sqlite3.c:203439:9 */ -type RbuSpan = RbuSpan1 /* sqlite3.c:203816:24 */ +type RbuSpan = RbuSpan1 /* sqlite3.c:203873:24 */ type rbu_vfs = struct { Fbase Sqlite3_vfs FpRealVfs uintptr @@ -209670,9 +209699,9 @@ type rbu_vfs = struct { FpRbu uintptr FpMain uintptr FpMainRbu uintptr -} /* sqlite3.c:203382:9 */ +} /* sqlite3.c:203439:9 */ -type Rbu_vfs = rbu_vfs /* sqlite3.c:203817:24 */ +type Rbu_vfs = rbu_vfs /* sqlite3.c:203874:24 */ type rbu_file = struct { Fbase Sqlite3_file FpReal uintptr @@ -209691,16 +209720,16 @@ type rbu_file = struct { FpWalFd uintptr FpMainNext uintptr FpMainRbuNext uintptr -} /* sqlite3.c:203382:9 */ +} /* sqlite3.c:203439:9 */ -type Rbu_file = rbu_file /* sqlite3.c:203818:25 */ +type Rbu_file = rbu_file /* sqlite3.c:203875:25 */ type RbuUpdateStmt1 = struct { FzMask uintptr FpUpdate uintptr FpNext uintptr -} /* sqlite3.c:203382:9 */ +} /* sqlite3.c:203439:9 */ -type RbuUpdateStmt = RbuUpdateStmt1 /* sqlite3.c:203819:30 */ +type RbuUpdateStmt = RbuUpdateStmt1 /* sqlite3.c:203876:30 */ // True for an RBU vacuum handle, or false otherwise. @@ -209719,7 +209748,7 @@ type RbuUpdateStmt = RbuUpdateStmt1 /* sqlite3.c:203819:30 */ // finished, leave *pz pointing to the first character past the end of // the integer. The *pLen parameter holds the length of the string // in *pz and is decremented once for each character in the integer. -func rbuDeltaGetInt(tls *libc.TLS, pz uintptr, pLen uintptr) uint32 { /* sqlite3.c:204109:21: */ +func rbuDeltaGetInt(tls *libc.TLS, pz uintptr, pLen uintptr) uint32 { /* sqlite3.c:204166:21: */ var v uint32 = uint32(0) var c int32 var z uintptr = *(*uintptr)(unsafe.Pointer(pz)) @@ -209742,7 +209771,7 @@ var zValue = [128]int8{ int8(25), int8(26), int8(27), int8(28), int8(29), int8(30), int8(31), int8(32), int8(33), int8(34), int8(35), int8(-1), int8(-1), int8(-1), int8(-1), int8(36), int8(-1), int8(37), int8(38), int8(39), int8(40), int8(41), int8(42), int8(43), int8(44), int8(45), int8(46), int8(47), int8(48), int8(49), int8(50), int8(51), int8(52), int8(53), int8(54), int8(55), int8(56), int8(57), int8(58), int8(59), int8(60), int8(61), int8(62), int8(-1), int8(-1), int8(-1), int8(63), int8(-1), -} /* sqlite3.c:204110:28 */ +} /* sqlite3.c:204167:28 */ // Apply a delta. // @@ -209762,7 +209791,7 @@ var zValue = [128]int8{ // // Refer to the delta_create() documentation above for a description // of the delta file format. -func rbuDeltaApply(tls *libc.TLS, zSrc uintptr, lenSrc int32, zDelta uintptr, lenDelta int32, zOut uintptr) int32 { /* sqlite3.c:204190:12: */ +func rbuDeltaApply(tls *libc.TLS, zSrc uintptr, lenSrc int32, zDelta uintptr, lenDelta int32, zOut uintptr) int32 { /* sqlite3.c:204247:12: */ bp := tls.Alloc(12) defer tls.Free(12) *(*uintptr)(unsafe.Pointer(bp)) = zDelta @@ -209852,7 +209881,7 @@ func rbuDeltaApply(tls *libc.TLS, zSrc uintptr, lenSrc int32, zDelta uintptr, le return -1 } -func rbuDeltaOutputSize(tls *libc.TLS, zDelta uintptr, lenDelta int32) int32 { /* sqlite3.c:204276:12: */ +func rbuDeltaOutputSize(tls *libc.TLS, zDelta uintptr, lenDelta int32) int32 { /* sqlite3.c:204333:12: */ bp := tls.Alloc(12) defer tls.Free(12) *(*uintptr)(unsafe.Pointer(bp)) = zDelta @@ -209877,7 +209906,7 @@ func rbuDeltaOutputSize(tls *libc.TLS, zDelta uintptr, lenDelta int32) int32 { / // arguments must be passed to this function. The first is the blob to // patch and the second the patch to apply. If no error occurs, this // function returns the patched blob. -func rbuFossilDeltaFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:204298:13: */ +func rbuFossilDeltaFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:204355:13: */ var aDelta uintptr var nDelta int32 var aOrig uintptr @@ -209920,7 +209949,7 @@ func rbuFossilDeltaFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr // an SQLite error code. Additionally, set output variable *pzErrmsg to // point to a buffer containing an error message. It is the responsibility // of the caller to (eventually) free this buffer using sqlite3_free(). -func prepareAndCollectError(tls *libc.TLS, db uintptr, ppStmt uintptr, pzErrmsg uintptr, zSql uintptr) int32 { /* sqlite3.c:204351:12: */ +func prepareAndCollectError(tls *libc.TLS, db uintptr, ppStmt uintptr, pzErrmsg uintptr, zSql uintptr) int32 { /* sqlite3.c:204408:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -209938,7 +209967,7 @@ func prepareAndCollectError(tls *libc.TLS, db uintptr, ppStmt uintptr, pzErrmsg // If an error has occurred, then set *pzErrmsg to point to a buffer // containing an error message. It is the responsibility of the caller // to eventually free this buffer using sqlite3_free(). -func resetAndCollectError(tls *libc.TLS, pStmt uintptr, pzErrmsg uintptr) int32 { /* sqlite3.c:204373:12: */ +func resetAndCollectError(tls *libc.TLS, pStmt uintptr, pzErrmsg uintptr) int32 { /* sqlite3.c:204430:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -209962,7 +209991,7 @@ func resetAndCollectError(tls *libc.TLS, pStmt uintptr, pzErrmsg uintptr) int32 // // If argument zSql is NULL, this function assumes that an OOM has occurred. // In this case SQLITE_NOMEM is returned and *ppStmt set to NULL. -func prepareFreeAndCollectError(tls *libc.TLS, db uintptr, ppStmt uintptr, pzErrmsg uintptr, zSql uintptr) int32 { /* sqlite3.c:204396:12: */ +func prepareFreeAndCollectError(tls *libc.TLS, db uintptr, ppStmt uintptr, pzErrmsg uintptr, zSql uintptr) int32 { /* sqlite3.c:204453:12: */ var rc int32 if zSql == uintptr(0) { @@ -209977,7 +210006,7 @@ func prepareFreeAndCollectError(tls *libc.TLS, db uintptr, ppStmt uintptr, pzErr // Free the RbuObjIter.azTblCol[] and RbuObjIter.abTblPk[] arrays allocated // by an earlier call to rbuObjIterCacheTableInfo(). -func rbuObjIterFreeCols(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:204418:13: */ +func rbuObjIterFreeCols(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:204475:13: */ var i int32 for i = 0; i < (*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol; i++ { Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8))) @@ -209995,7 +210024,7 @@ func rbuObjIterFreeCols(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:204418:13: // Finalize all statements and free all allocations that are specific to // the current object (table/index pair). -func rbuObjIterClearStatements(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:204438:13: */ +func rbuObjIterClearStatements(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:204495:13: */ var pUp uintptr Xsqlite3_finalize(tls, (*RbuObjIter)(unsafe.Pointer(pIter)).FpSelect) @@ -210025,7 +210054,7 @@ func rbuObjIterClearStatements(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:2044 // Clean up any resources allocated as part of the iterator object passed // as the only argument. -func rbuObjIterFinalize(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:204470:13: */ +func rbuObjIterFinalize(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:204527:13: */ rbuObjIterClearStatements(tls, pIter) Xsqlite3_finalize(tls, (*RbuObjIter)(unsafe.Pointer(pIter)).FpTblIter) Xsqlite3_finalize(tls, (*RbuObjIter)(unsafe.Pointer(pIter)).FpIdxIter) @@ -210039,7 +210068,7 @@ func rbuObjIterFinalize(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:204470:13: // pointing to the next entry. Otherwise, an error code and message is // left in the RBU handle passed as the first argument. A copy of the // error code is returned. -func rbuObjIterNext(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlite3.c:204486:12: */ +func rbuObjIterNext(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlite3.c:204543:12: */ var rc int32 = (*Sqlite3rbu)(unsafe.Pointer(p)).Frc if rc == SQLITE_OK { @@ -210120,7 +210149,7 @@ func rbuObjIterNext(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlite3. // // For an rbu vacuum handle, a copy of the first argument is returned if // the second argument is either missing or 0 (not a view). -func rbuTargetNameFunc(tls *libc.TLS, pCtx uintptr, argc int32, argv uintptr) { /* sqlite3.c:204566:13: */ +func rbuTargetNameFunc(tls *libc.TLS, pCtx uintptr, argc int32, argv uintptr) { /* sqlite3.c:204623:13: */ var p uintptr = Xsqlite3_user_data(tls, pCtx) var zIn uintptr @@ -210150,7 +210179,7 @@ func rbuTargetNameFunc(tls *libc.TLS, pCtx uintptr, argc int32, argv uintptr) { // pointing to the first entry. Otherwise, an error code and message is // left in the RBU handle passed as the first argument. A copy of the // error code is returned. -func rbuObjIterFirst(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlite3.c:204602:12: */ +func rbuObjIterFirst(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlite3.c:204659:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -210185,7 +210214,7 @@ func rbuObjIterFirst(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlite3 // than SQLITE_OK), then this function returns NULL without modifying the // stored error code. In this case it still calls sqlite3_free() on any // printf() parameters associated with %z conversions. -func rbuMPrintf(tls *libc.TLS, p uintptr, zFmt uintptr, va uintptr) uintptr { /* sqlite3.c:204637:13: */ +func rbuMPrintf(tls *libc.TLS, p uintptr, zFmt uintptr, va uintptr) uintptr { /* sqlite3.c:204694:13: */ var zSql uintptr = uintptr(0) var ap Va_list _ = ap @@ -210211,7 +210240,7 @@ func rbuMPrintf(tls *libc.TLS, p uintptr, zFmt uintptr, va uintptr) uintptr { /* // If an error occurs, an error code and error message is stored in the // RBU handle. If an error has already occurred when this function is // called, it is a no-op. -func rbuMPrintfExec(tls *libc.TLS, p uintptr, db uintptr, zFmt uintptr, va uintptr) int32 { /* sqlite3.c:204662:12: */ +func rbuMPrintfExec(tls *libc.TLS, p uintptr, db uintptr, zFmt uintptr, va uintptr) int32 { /* sqlite3.c:204719:12: */ var ap Va_list _ = ap var zSql uintptr @@ -210237,7 +210266,7 @@ func rbuMPrintfExec(tls *libc.TLS, p uintptr, db uintptr, zFmt uintptr, va uintp // error has already occurred when this function is called, return NULL // immediately without attempting the allocation or modifying the stored // error code. -func rbuMalloc(tls *libc.TLS, p uintptr, nByte Sqlite3_int64) uintptr { /* sqlite3.c:204689:13: */ +func rbuMalloc(tls *libc.TLS, p uintptr, nByte Sqlite3_int64) uintptr { /* sqlite3.c:204746:13: */ var pRet uintptr = uintptr(0) if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { @@ -210254,7 +210283,7 @@ func rbuMalloc(tls *libc.TLS, p uintptr, nByte Sqlite3_int64) uintptr { /* sqlit // Allocate and zero the pIter->azTblCol[] and abTblPk[] arrays so that // there is room for at least nCol elements. If an OOM occurs, store an // error code in the RBU handle passed as the first argument. -func rbuAllocateIterArrays(tls *libc.TLS, p uintptr, pIter uintptr, nCol int32) { /* sqlite3.c:204709:13: */ +func rbuAllocateIterArrays(tls *libc.TLS, p uintptr, pIter uintptr, nCol int32) { /* sqlite3.c:204766:13: */ var nByte Sqlite3_int64 = Sqlite3_int64((uint64(2)*uint64(unsafe.Sizeof(uintptr(0))) + uint64(unsafe.Sizeof(int32(0))) + uint64(3)*uint64(unsafe.Sizeof(U8(0)))) * uint64(nCol)) var azNew uintptr @@ -210277,7 +210306,7 @@ func rbuAllocateIterArrays(tls *libc.TLS, p uintptr, pIter uintptr, nCol int32) // If an OOM condition is encountered when attempting to allocate memory, // output variable (*pRc) is set to SQLITE_NOMEM before returning. Otherwise, // if the allocation succeeds, (*pRc) is left unchanged. -func rbuStrndup(tls *libc.TLS, zStr uintptr, pRc uintptr) uintptr { /* sqlite3.c:204734:13: */ +func rbuStrndup(tls *libc.TLS, zStr uintptr, pRc uintptr) uintptr { /* sqlite3.c:204791:13: */ var zRet uintptr = uintptr(0) if *(*int32)(unsafe.Pointer(pRc)) == SQLITE_OK { @@ -210300,7 +210329,7 @@ func rbuStrndup(tls *libc.TLS, zStr uintptr, pRc uintptr) uintptr { /* sqlite3.c // If the sqlite3_finalize() call indicates that an error occurs, and the // rbu handle error code is not already set, set the error code and error // message accordingly. -func rbuFinalize(tls *libc.TLS, p uintptr, pStmt uintptr) { /* sqlite3.c:204759:13: */ +func rbuFinalize(tls *libc.TLS, p uintptr, pStmt uintptr) { /* sqlite3.c:204816:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -210350,7 +210379,7 @@ func rbuFinalize(tls *libc.TLS, p uintptr, pStmt uintptr) { /* sqlite3.c:204759: // }else{ // return RBU_PK_NONE // } -func rbuTableType(tls *libc.TLS, p uintptr, zTab uintptr, peType uintptr, piTnum uintptr, piPk uintptr) { /* sqlite3.c:204807:13: */ +func rbuTableType(tls *libc.TLS, p uintptr, zTab uintptr, peType uintptr, piTnum uintptr, piPk uintptr) { /* sqlite3.c:204864:13: */ bp := tls.Alloc(64) defer tls.Free(64) @@ -210470,7 +210499,7 @@ __16: // This is a helper function for rbuObjIterCacheTableInfo(). It populates // the pIter->abIndexed[] array. -func rbuObjIterCacheIndexedCols(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:204893:13: */ +func rbuObjIterCacheIndexedCols(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:204950:13: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -210528,7 +210557,7 @@ func rbuObjIterCacheIndexedCols(tls *libc.TLS, p uintptr, pIter uintptr) { /* sq // Return SQLITE_OK if successful, or an SQLite error code otherwise. If // an error does occur, an error code and error message are also left in // the RBU handle. -func rbuObjIterCacheTableInfo(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlite3.c:204947:12: */ +func rbuObjIterCacheTableInfo(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlite3.c:205004:12: */ bp := tls.Alloc(72) defer tls.Free(72) @@ -210650,7 +210679,7 @@ func rbuObjIterCacheTableInfo(tls *libc.TLS, p uintptr, pIter uintptr) int32 { / // This function constructs and returns a pointer to a nul-terminated // string containing some SQL clause or list based on one or more of the // column names currently stored in the pIter->azTblCol[] array. -func rbuObjIterGetCollist(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { /* sqlite3.c:205057:13: */ +func rbuObjIterGetCollist(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { /* sqlite3.c:205114:13: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -210669,7 +210698,7 @@ func rbuObjIterGetCollist(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { /* // in order, for the current table. Before each column name, add the text // zPre. After each column name, add the zPost text. Use zSeparator as // the separator text (usually ", "). -func rbuObjIterGetPkList(tls *libc.TLS, p uintptr, pIter uintptr, zPre uintptr, zSeparator uintptr, zPost uintptr) uintptr { /* sqlite3.c:205078:13: */ +func rbuObjIterGetPkList(tls *libc.TLS, p uintptr, pIter uintptr, zPre uintptr, zSeparator uintptr, zPost uintptr) uintptr { /* sqlite3.c:205135:13: */ bp := tls.Alloc(40) defer tls.Free(40) @@ -210711,7 +210740,7 @@ func rbuObjIterGetPkList(tls *libc.TLS, p uintptr, pIter uintptr, zPre uintptr, // // Instead of "?" placeholders, the actual WHERE clauses created by // this function contain literal SQL values. -func rbuVacuumTableStart(tls *libc.TLS, p uintptr, pIter uintptr, bRowid int32, zWrite uintptr) uintptr { /* sqlite3.c:205123:13: */ +func rbuVacuumTableStart(tls *libc.TLS, p uintptr, pIter uintptr, bRowid int32, zWrite uintptr) uintptr { /* sqlite3.c:205180:13: */ bp := tls.Alloc(80) defer tls.Free(80) @@ -210770,7 +210799,7 @@ func rbuVacuumTableStart(tls *libc.TLS, p uintptr, pIter uintptr, bRowid int32, // If the expression cannot be created, NULL is returned. In this case, // the caller has to use an OFFSET clause to extract only the required // rows from the sourct table, just as it does for an RBU update operation. -func rbuVacuumIndexStart(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { /* sqlite3.c:205190:13: */ +func rbuVacuumIndexStart(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { /* sqlite3.c:205247:13: */ bp := tls.Alloc(192) defer tls.Free(192) @@ -210951,7 +210980,7 @@ index_start_out: // pzImposterCols: ... // pzImposterPk: ... // pzWhere: ... -func rbuObjIterGetIndexCols(tls *libc.TLS, p uintptr, pIter uintptr, pzImposterCols uintptr, pzImposterPk uintptr, pzWhere uintptr, pnBind uintptr) uintptr { /* sqlite3.c:205305:13: */ +func rbuObjIterGetIndexCols(tls *libc.TLS, p uintptr, pIter uintptr, pzImposterCols uintptr, pzImposterPk uintptr, pzWhere uintptr, pnBind uintptr) uintptr { /* sqlite3.c:205362:13: */ bp := tls.Alloc(208) defer tls.Free(208) @@ -211062,7 +211091,7 @@ func rbuObjIterGetIndexCols(tls *libc.TLS, p uintptr, pIter uintptr, pzImposterC // // For tables with implicit rowids - RBU_PK_EXTERNAL and RBU_PK_NONE, append // the text ", old._rowid_" to the returned value. -func rbuObjIterGetOldlist(tls *libc.TLS, p uintptr, pIter uintptr, zObj uintptr) uintptr { /* sqlite3.c:205417:13: */ +func rbuObjIterGetOldlist(tls *libc.TLS, p uintptr, pIter uintptr, zObj uintptr) uintptr { /* sqlite3.c:205474:13: */ bp := tls.Alloc(64) defer tls.Free(64) @@ -211100,7 +211129,7 @@ func rbuObjIterGetOldlist(tls *libc.TLS, p uintptr, pIter uintptr, zObj uintptr) // Return the string: // // "b = ?1 AND c = ?2" -func rbuObjIterGetWhere(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { /* sqlite3.c:205458:13: */ +func rbuObjIterGetWhere(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { /* sqlite3.c:205515:13: */ bp := tls.Alloc(80) defer tls.Free(80) @@ -211138,7 +211167,7 @@ func rbuObjIterGetWhere(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { /* sq // is something wrong with the rbu_control value in the rbu_control value // stored in the (p->nCol+1)'th column. Set the error code and error message // of the RBU handle to something reflecting this. -func rbuBadControlError(tls *libc.TLS, p uintptr) { /* sqlite3.c:205499:13: */ +func rbuBadControlError(tls *libc.TLS, p uintptr) { /* sqlite3.c:205556:13: */ (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_ERROR (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+30538, 0) } @@ -211158,7 +211187,7 @@ func rbuBadControlError(tls *libc.TLS, p uintptr) { /* sqlite3.c:205499:13: */ // argument and NULL is returned. Or, if an error has already occurred // when this function is called, NULL is returned immediately, without // attempting the allocation or modifying the stored error code. -func rbuObjIterGetSetlist(tls *libc.TLS, p uintptr, pIter uintptr, zMask uintptr) uintptr { /* sqlite3.c:205522:13: */ +func rbuObjIterGetSetlist(tls *libc.TLS, p uintptr, pIter uintptr, zMask uintptr) uintptr { /* sqlite3.c:205579:13: */ bp := tls.Alloc(112) defer tls.Free(112) @@ -211204,7 +211233,7 @@ func rbuObjIterGetSetlist(tls *libc.TLS, p uintptr, pIter uintptr, zMask uintptr // argument and NULL is returned. Or, if an error has already occurred // when this function is called, NULL is returned immediately, without // attempting the allocation or modifying the stored error code. -func rbuObjIterGetBindlist(tls *libc.TLS, p uintptr, nBind int32) uintptr { /* sqlite3.c:205576:13: */ +func rbuObjIterGetBindlist(tls *libc.TLS, p uintptr, nBind int32) uintptr { /* sqlite3.c:205633:13: */ var zRet uintptr = uintptr(0) var nByte Sqlite3_int64 = int64(2)*Sqlite3_int64(nBind) + int64(1) @@ -211234,7 +211263,7 @@ func rbuObjIterGetBindlist(tls *libc.TLS, p uintptr, nBind int32) uintptr { /* s // this function returns: // // PRIMARY KEY("b", "a" DESC) -func rbuWithoutRowidPK(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { /* sqlite3.c:205603:13: */ +func rbuWithoutRowidPK(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { /* sqlite3.c:205660:13: */ bp := tls.Alloc(72) defer tls.Free(72) @@ -211297,7 +211326,7 @@ func rbuWithoutRowidPK(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { /* sql // // CREATE TABLE rbu_imposter2(c1 TEXT, c2 REAL, id INTEGER) WITHOUT ROWID; // -func rbuCreateImposterTable2(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:205662:13: */ +func rbuCreateImposterTable2(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:205719:13: */ bp := tls.Alloc(184) defer tls.Free(184) @@ -211373,7 +211402,7 @@ func rbuCreateImposterTable2(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlit // More precisely, the "same schema" means the same columns, types, // collation sequences. For tables that do not have an external PRIMARY // KEY, it also means the same PRIMARY KEY declaration. -func rbuCreateImposterTable(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:205736:13: */ +func rbuCreateImposterTable(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:205793:13: */ bp := tls.Alloc(200) defer tls.Free(200) @@ -211437,7 +211466,7 @@ func rbuCreateImposterTable(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite // the target table, plus one (for the rbu_control column), plus one more // (for the rbu_rowid column) if the target table is an implicit IPK or // virtual table. -func rbuObjIterPrepareTmpInsert(tls *libc.TLS, p uintptr, pIter uintptr, zCollist uintptr, zRbuRowid uintptr) { /* sqlite3.c:205792:13: */ +func rbuObjIterPrepareTmpInsert(tls *libc.TLS, p uintptr, pIter uintptr, zCollist uintptr, zRbuRowid uintptr) { /* sqlite3.c:205849:13: */ bp := tls.Alloc(40) defer tls.Free(40) @@ -211452,7 +211481,7 @@ func rbuObjIterPrepareTmpInsert(tls *libc.TLS, p uintptr, pIter uintptr, zCollis } } -func rbuTmpInsertFunc(tls *libc.TLS, pCtx uintptr, nVal int32, apVal uintptr) { /* sqlite3.c:205810:13: */ +func rbuTmpInsertFunc(tls *libc.TLS, pCtx uintptr, nVal int32, apVal uintptr) { /* sqlite3.c:205867:13: */ var p uintptr = Xsqlite3_user_data(tls, pCtx) var rc int32 = SQLITE_OK var i int32 @@ -211474,7 +211503,7 @@ func rbuTmpInsertFunc(tls *libc.TLS, pCtx uintptr, nVal int32, apVal uintptr) { } } -func rbuObjIterGetIndexWhere(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { /* sqlite3.c:205840:13: */ +func rbuObjIterGetIndexWhere(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { /* sqlite3.c:205897:13: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -211582,7 +211611,7 @@ func rbuObjIterGetIndexWhere(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { // Ensure that the SQLite statement handles required to update the // target database object currently indicated by the iterator passed // as the second argument are available. -func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32) int32 { /* sqlite3.c:205940:12: */ +func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32) int32 { /* sqlite3.c:205997:12: */ bp := tls.Alloc(628) defer tls.Free(628) @@ -211857,7 +211886,7 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32 // // If the zMask string does not specify any columns to update, then this // is not an error. Output variable *ppStmt is set to NULL in this case. -func rbuGetUpdateStmt(tls *libc.TLS, p uintptr, pIter uintptr, zMask uintptr, ppStmt uintptr) int32 { /* sqlite3.c:206207:12: */ +func rbuGetUpdateStmt(tls *libc.TLS, p uintptr, pIter uintptr, zMask uintptr, ppStmt uintptr) int32 { /* sqlite3.c:206264:12: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -211923,7 +211952,7 @@ func rbuGetUpdateStmt(tls *libc.TLS, p uintptr, pIter uintptr, zMask uintptr, pp return (*Sqlite3rbu)(unsafe.Pointer(p)).Frc } -func rbuOpenDbhandle(tls *libc.TLS, p uintptr, zName uintptr, bUseVfs int32) uintptr { /* sqlite3.c:206275:16: */ +func rbuOpenDbhandle(tls *libc.TLS, p uintptr, zName uintptr, bUseVfs int32) uintptr { /* sqlite3.c:206332:16: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -211946,7 +211975,7 @@ func rbuOpenDbhandle(tls *libc.TLS, p uintptr, zName uintptr, bUseVfs int32) uin } // Free an RbuState object allocated by rbuLoadState(). -func rbuFreeState(tls *libc.TLS, p uintptr) { /* sqlite3.c:206296:13: */ +func rbuFreeState(tls *libc.TLS, p uintptr) { /* sqlite3.c:206353:13: */ if p != 0 { Xsqlite3_free(tls, (*RbuState)(unsafe.Pointer(p)).FzTbl) Xsqlite3_free(tls, (*RbuState)(unsafe.Pointer(p)).FzDataTbl) @@ -211962,7 +211991,7 @@ func rbuFreeState(tls *libc.TLS, p uintptr) { /* sqlite3.c:206296:13: */ // // If an error occurs, leave an error code and message in the rbu handle // and return NULL. -func rbuLoadState(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:206314:17: */ +func rbuLoadState(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:206371:17: */ bp := tls.Alloc(20) defer tls.Free(20) @@ -212046,7 +212075,7 @@ func rbuLoadState(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:206314:17: */ // If argument dbMain is not NULL, then it is a database handle already // open on the target database. Use this handle instead of opening a new // one. -func rbuOpenDatabase(tls *libc.TLS, p uintptr, dbMain uintptr, pbRetry uintptr) { /* sqlite3.c:206395:13: */ +func rbuOpenDatabase(tls *libc.TLS, p uintptr, dbMain uintptr, pbRetry uintptr) { /* sqlite3.c:206452:13: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -212208,7 +212237,7 @@ func rbuOpenDatabase(tls *libc.TLS, p uintptr, dbMain uintptr, pbRetry uintptr) // test.db-wal => test.wal // test.db-shm => test.shm // test.db-mj7f3319fa => test.9fa -func rbuFileSuffix3(tls *libc.TLS, zBase uintptr, z uintptr) { /* sqlite3.c:206576:13: */ +func rbuFileSuffix3(tls *libc.TLS, zBase uintptr, z uintptr) { /* sqlite3.c:206633:13: */ } // Return the current wal-index header checksum for the target database @@ -212216,7 +212245,7 @@ func rbuFileSuffix3(tls *libc.TLS, zBase uintptr, z uintptr) { /* sqlite3.c:2065 // // The checksum is store in the first page of xShmMap memory as an 8-byte // blob starting at byte offset 40. -func rbuShmChecksum(tls *libc.TLS, p uintptr) I64 { /* sqlite3.c:206597:12: */ +func rbuShmChecksum(tls *libc.TLS, p uintptr) I64 { /* sqlite3.c:206654:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -212249,7 +212278,7 @@ func rbuShmChecksum(tls *libc.TLS, p uintptr) I64 { /* sqlite3.c:206597:12: */ // object, then the rbu handle is set to DONE state. This occurs if some // other client appends a transaction to the wal file in the middle of // an incremental checkpoint. -func rbuSetupCheckpoint(tls *libc.TLS, p uintptr, pState uintptr) { /* sqlite3.c:206626:13: */ +func rbuSetupCheckpoint(tls *libc.TLS, p uintptr, pState uintptr) { /* sqlite3.c:206683:13: */ // If pState is NULL, then the wal file may not have been opened and // recovered. Running a read-statement here to ensure that doing so @@ -212341,7 +212370,7 @@ func rbuSetupCheckpoint(tls *libc.TLS, p uintptr, pState uintptr) { /* sqlite3.c // Called when iAmt bytes are read from offset iOff of the wal file while // the rbu object is in capture mode. Record the frame number of the frame // being read in the aFrame[] array. -func rbuCaptureWalRead(tls *libc.TLS, pRbu uintptr, iOff I64, iAmt int32) int32 { /* sqlite3.c:206710:12: */ +func rbuCaptureWalRead(tls *libc.TLS, pRbu uintptr, iOff I64, iAmt int32) int32 { /* sqlite3.c:206767:12: */ var mReq U32 = U32(int32(1)<dbMain to one more than the schema cookie of the main // db opened by p->dbRbu. -func rbuIncrSchemaCookie(tls *libc.TLS, p uintptr) { /* sqlite3.c:207135:13: */ +func rbuIncrSchemaCookie(tls *libc.TLS, p uintptr) { /* sqlite3.c:207192:13: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -212748,7 +212777,7 @@ func rbuIncrSchemaCookie(tls *libc.TLS, p uintptr) { /* sqlite3.c:207135:13: */ // Update the contents of the rbu_state table within the rbu database. The // value stored in the RBU_STATE_STAGE column is eStage. All other values // are determined by inspecting the rbu handle passed as the first argument. -func rbuSaveState(tls *libc.TLS, p uintptr, eStage int32) { /* sqlite3.c:207166:13: */ +func rbuSaveState(tls *libc.TLS, p uintptr, eStage int32) { /* sqlite3.c:207223:13: */ bp := tls.Alloc(176) defer tls.Free(176) @@ -212803,7 +212832,7 @@ func rbuSaveState(tls *libc.TLS, p uintptr, eStage int32) { /* sqlite3.c:207166: // // In short, it copies the value of the specified PRAGMA setting from // dbRbu to dbMain. -func rbuCopyPragma(tls *libc.TLS, p uintptr, zPragma uintptr) { /* sqlite3.c:207227:13: */ +func rbuCopyPragma(tls *libc.TLS, p uintptr, zPragma uintptr) { /* sqlite3.c:207284:13: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -212822,7 +212851,7 @@ func rbuCopyPragma(tls *libc.TLS, p uintptr, zPragma uintptr) { /* sqlite3.c:207 // The RBU handle passed as the only argument has just been opened and // the state database is empty. If this RBU handle was opened for an // RBU vacuum operation, create the schema in the target db. -func rbuCreateTargetSchema(tls *libc.TLS, p uintptr) { /* sqlite3.c:207247:13: */ +func rbuCreateTargetSchema(tls *libc.TLS, p uintptr) { /* sqlite3.c:207304:13: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -212872,7 +212901,7 @@ func rbuCreateTargetSchema(tls *libc.TLS, p uintptr) { /* sqlite3.c:207247:13: * } // Step the RBU object. -func Xsqlite3rbu_step(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:207299:16: */ +func Xsqlite3rbu_step(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:207356:16: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -213015,7 +213044,7 @@ func Xsqlite3rbu_step(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:207299:16: // Compare strings z1 and z2, returning 0 if they are identical, or non-zero // otherwise. Either or both argument may be NULL. Two NULL values are // considered equal, and NULL is considered distinct from all other values. -func rbuStrCompare(tls *libc.TLS, z1 uintptr, z2 uintptr) int32 { /* sqlite3.c:207428:12: */ +func rbuStrCompare(tls *libc.TLS, z1 uintptr, z2 uintptr) int32 { /* sqlite3.c:207485:12: */ if z1 == uintptr(0) && z2 == uintptr(0) { return 0 } @@ -213033,7 +213062,7 @@ func rbuStrCompare(tls *libc.TLS, z1 uintptr, z2 uintptr) int32 { /* sqlite3.c:2 // // If an error occurs, an error code and error message are left in the // rbu handle passed as the first argument. -func rbuSetupOal(tls *libc.TLS, p uintptr, pState uintptr) { /* sqlite3.c:207444:13: */ +func rbuSetupOal(tls *libc.TLS, p uintptr, pState uintptr) { /* sqlite3.c:207501:13: */ if (*RbuState)(unsafe.Pointer(pState)).FzTbl != 0 { var pIter uintptr = p + 80 @@ -213063,7 +213092,7 @@ func rbuSetupOal(tls *libc.TLS, p uintptr, pState uintptr) { /* sqlite3.c:207444 // If there is a "*-oal" file in the file-system corresponding to the // target database in the file-system, delete it. If an error occurs, // leave an error code and error message in the rbu handle. -func rbuDeleteOalFile(tls *libc.TLS, p uintptr) { /* sqlite3.c:207477:13: */ +func rbuDeleteOalFile(tls *libc.TLS, p uintptr) { /* sqlite3.c:207534:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -213082,7 +213111,7 @@ func rbuDeleteOalFile(tls *libc.TLS, p uintptr) { /* sqlite3.c:207477:13: */ // argument. This VFS will be used unless the call to sqlite3rbu_open() // specified a URI with a vfs=? option in place of a target database // file name. -func rbuCreateVfs(tls *libc.TLS, p uintptr) { /* sqlite3.c:207493:13: */ +func rbuCreateVfs(tls *libc.TLS, p uintptr) { /* sqlite3.c:207550:13: */ bp := tls.Alloc(76) defer tls.Free(76) @@ -213103,7 +213132,7 @@ func rbuCreateVfs(tls *libc.TLS, p uintptr) { /* sqlite3.c:207493:13: */ // Destroy the private VFS created for the rbu handle passed as the only // argument by an earlier call to rbuCreateVfs(). -func rbuDeleteVfs(tls *libc.TLS, p uintptr) { /* sqlite3.c:207513:13: */ +func rbuDeleteVfs(tls *libc.TLS, p uintptr) { /* sqlite3.c:207570:13: */ if (*Sqlite3rbu)(unsafe.Pointer(p)).FzVfsName != 0 { Xsqlite3rbu_destroy_vfs(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FzVfsName) (*Sqlite3rbu)(unsafe.Pointer(p)).FzVfsName = uintptr(0) @@ -213113,7 +213142,7 @@ func rbuDeleteVfs(tls *libc.TLS, p uintptr) { /* sqlite3.c:207513:13: */ // This user-defined SQL function is invoked with a single argument - the // name of a table expected to appear in the target database. It returns // the number of auxilliary indexes on the table. -func rbuIndexCntFunc(tls *libc.TLS, pCtx uintptr, nVal int32, apVal uintptr) { /* sqlite3.c:207525:13: */ +func rbuIndexCntFunc(tls *libc.TLS, pCtx uintptr, nVal int32, apVal uintptr) { /* sqlite3.c:207582:13: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -213162,7 +213191,7 @@ func rbuIndexCntFunc(tls *libc.TLS, pCtx uintptr, nVal int32, apVal uintptr) { / // sqlite3rbu.nPhaseOneStep is initialized to the sum of (1 + nIndex) * cnt // for all rows in the rbu_count table, where nIndex is the number of // indexes on the corresponding target database table. -func rbuInitPhaseOneSteps(tls *libc.TLS, p uintptr) { /* sqlite3.c:207575:13: */ +func rbuInitPhaseOneSteps(tls *libc.TLS, p uintptr) { /* sqlite3.c:207632:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -213204,7 +213233,7 @@ func rbuInitPhaseOneSteps(tls *libc.TLS, p uintptr) { /* sqlite3.c:207575:13: */ } } -func openRbuHandle(tls *libc.TLS, zTarget uintptr, zRbu uintptr, zState uintptr) uintptr { /* sqlite3.c:207616:19: */ +func openRbuHandle(tls *libc.TLS, zTarget uintptr, zRbu uintptr, zState uintptr) uintptr { /* sqlite3.c:207673:19: */ bp := tls.Alloc(20) defer tls.Free(20) @@ -213377,7 +213406,7 @@ func openRbuHandle(tls *libc.TLS, zTarget uintptr, zRbu uintptr, zState uintptr) // Allocate and return an RBU handle with all fields zeroed except for the // error code, which is set to SQLITE_MISUSE. -func rbuMisuseError(tls *libc.TLS) uintptr { /* sqlite3.c:207780:19: */ +func rbuMisuseError(tls *libc.TLS) uintptr { /* sqlite3.c:207837:19: */ var pRet uintptr pRet = Xsqlite3_malloc64(tls, uint64(unsafe.Sizeof(Sqlite3rbu{}))) if pRet != 0 { @@ -213388,7 +213417,7 @@ func rbuMisuseError(tls *libc.TLS) uintptr { /* sqlite3.c:207780:19: */ } // Open and return a new RBU handle. -func Xsqlite3rbu_open(tls *libc.TLS, zTarget uintptr, zRbu uintptr, zState uintptr) uintptr { /* sqlite3.c:207793:23: */ +func Xsqlite3rbu_open(tls *libc.TLS, zTarget uintptr, zRbu uintptr, zState uintptr) uintptr { /* sqlite3.c:207850:23: */ if zTarget == uintptr(0) || zRbu == uintptr(0) { return rbuMisuseError(tls) } @@ -213396,7 +213425,7 @@ func Xsqlite3rbu_open(tls *libc.TLS, zTarget uintptr, zRbu uintptr, zState uintp } // Open a handle to begin or resume an RBU VACUUM operation. -func Xsqlite3rbu_vacuum(tls *libc.TLS, zTarget uintptr, zState uintptr) uintptr { /* sqlite3.c:207805:23: */ +func Xsqlite3rbu_vacuum(tls *libc.TLS, zTarget uintptr, zState uintptr) uintptr { /* sqlite3.c:207862:23: */ if zTarget == uintptr(0) { return rbuMisuseError(tls) } @@ -213411,7 +213440,7 @@ func Xsqlite3rbu_vacuum(tls *libc.TLS, zTarget uintptr, zState uintptr) uintptr } // Return the database handle used by pRbu. -func Xsqlite3rbu_db(tls *libc.TLS, pRbu uintptr, bRbu int32) uintptr { /* sqlite3.c:207823:20: */ +func Xsqlite3rbu_db(tls *libc.TLS, pRbu uintptr, bRbu int32) uintptr { /* sqlite3.c:207880:20: */ var db uintptr = uintptr(0) if pRbu != 0 { db = func() uintptr { @@ -213427,7 +213456,7 @@ func Xsqlite3rbu_db(tls *libc.TLS, pRbu uintptr, bRbu int32) uintptr { /* sqlite // If the error code currently stored in the RBU handle is SQLITE_CONSTRAINT, // then edit any error message string so as to remove all occurrences of // the pattern "rbu_imp_[0-9]*". -func rbuEditErrmsg(tls *libc.TLS, p uintptr) { /* sqlite3.c:207837:13: */ +func rbuEditErrmsg(tls *libc.TLS, p uintptr) { /* sqlite3.c:207894:13: */ if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_CONSTRAINT && (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg != 0 { var i uint32 var nErrmsg Size_t = libc.Xstrlen(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg) @@ -213445,7 +213474,7 @@ func rbuEditErrmsg(tls *libc.TLS, p uintptr) { /* sqlite3.c:207837:13: */ } // Close the RBU handle. -func Xsqlite3rbu_close(tls *libc.TLS, p uintptr, pzErrmsg uintptr) int32 { /* sqlite3.c:207855:16: */ +func Xsqlite3rbu_close(tls *libc.TLS, p uintptr, pzErrmsg uintptr) int32 { /* sqlite3.c:207912:16: */ var rc int32 if p != 0 { @@ -213510,13 +213539,13 @@ func Xsqlite3rbu_close(tls *libc.TLS, p uintptr, pzErrmsg uintptr) int32 { /* sq // Return the total number of key-value operations (inserts, deletes or // updates) that have been performed on the target database since the // current RBU update was started. -func Xsqlite3rbu_progress(tls *libc.TLS, pRbu uintptr) Sqlite3_int64 { /* sqlite3.c:207918:26: */ +func Xsqlite3rbu_progress(tls *libc.TLS, pRbu uintptr) Sqlite3_int64 { /* sqlite3.c:207975:26: */ return Sqlite3_int64((*Sqlite3rbu)(unsafe.Pointer(pRbu)).FnProgress) } // Return permyriadage progress indications for the two main stages of // an RBU update. -func Xsqlite3rbu_bp_progress(tls *libc.TLS, p uintptr, pnOne uintptr, pnTwo uintptr) { /* sqlite3.c:207926:17: */ +func Xsqlite3rbu_bp_progress(tls *libc.TLS, p uintptr, pnOne uintptr, pnTwo uintptr) { /* sqlite3.c:207983:17: */ var MAX_PROGRESS int32 = 10000 switch (*Sqlite3rbu)(unsafe.Pointer(p)).FeStage { case RBU_STAGE_OAL: @@ -213549,7 +213578,7 @@ func Xsqlite3rbu_bp_progress(tls *libc.TLS, p uintptr, pnOne uintptr, pnTwo uint } // Return the current state of the RBU vacuum or update operation. -func Xsqlite3rbu_state(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:207961:16: */ +func Xsqlite3rbu_state(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:208018:16: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -213567,7 +213596,7 @@ func Xsqlite3rbu_state(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:207961:16: return int32(0) } -func Xsqlite3rbu_savestate(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:207989:16: */ +func Xsqlite3rbu_savestate(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:208046:16: */ var rc int32 = (*Sqlite3rbu)(unsafe.Pointer(p)).Frc if rc == SQLITE_DONE { return SQLITE_OK @@ -213674,7 +213703,7 @@ func Xsqlite3rbu_savestate(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:207989 // relinquished). Finally, calls to xSync() on the target database // file fail with SQLITE_INTERNAL errors. -func rbuUnlockShm(tls *libc.TLS, p uintptr) { /* sqlite3.c:208082:13: */ +func rbuUnlockShm(tls *libc.TLS, p uintptr) { /* sqlite3.c:208139:13: */ if (*Rbu_file)(unsafe.Pointer(p)).FpRbu != 0 { var xShmLock uintptr = (*sqlite3_io_methods)(unsafe.Pointer((*Sqlite3_file)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer(p)).FpReal)).FpMethods)).FxShmLock @@ -213691,7 +213720,7 @@ func rbuUnlockShm(tls *libc.TLS, p uintptr) { /* sqlite3.c:208082:13: */ } // -func rbuUpdateTempSize(tls *libc.TLS, pFd uintptr, nNew Sqlite3_int64) int32 { /* sqlite3.c:208098:12: */ +func rbuUpdateTempSize(tls *libc.TLS, pFd uintptr, nNew Sqlite3_int64) int32 { /* sqlite3.c:208155:12: */ var pRbu uintptr = (*Rbu_file)(unsafe.Pointer(pFd)).FpRbu var nDiff I64 = nNew - (*Rbu_file)(unsafe.Pointer(pFd)).Fsz *(*I64)(unsafe.Pointer(pRbu + 360)) += nDiff @@ -213709,7 +213738,7 @@ func rbuUpdateTempSize(tls *libc.TLS, pFd uintptr, nNew Sqlite3_int64) int32 { / // for all file descriptors with rbu_file.pDb!=0. If the argument has // rbu_file.pDb!=0, then it is assumed to already be present on the // main list and is only added to the pDb!=0 list. -func rbuMainlistAdd(tls *libc.TLS, p uintptr) { /* sqlite3.c:208116:13: */ +func rbuMainlistAdd(tls *libc.TLS, p uintptr) { /* sqlite3.c:208173:13: */ var pRbuVfs uintptr = (*Rbu_file)(unsafe.Pointer(p)).FpRbuVfs var pIter uintptr @@ -213731,7 +213760,7 @@ func rbuMainlistAdd(tls *libc.TLS, p uintptr) { /* sqlite3.c:208116:13: */ } // Remove an item from the main-db lists. -func rbuMainlistRemove(tls *libc.TLS, p uintptr) { /* sqlite3.c:208138:13: */ +func rbuMainlistRemove(tls *libc.TLS, p uintptr) { /* sqlite3.c:208195:13: */ var pp uintptr Xsqlite3_mutex_enter(tls, (*Rbu_vfs)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer(p)).FpRbuVfs)).Fmutex) for pp = (*Rbu_file)(unsafe.Pointer(p)).FpRbuVfs + 192; *(*uintptr)(unsafe.Pointer(pp)) != 0 && *(*uintptr)(unsafe.Pointer(pp)) != p; pp = *(*uintptr)(unsafe.Pointer(pp)) + 88 { @@ -213756,7 +213785,7 @@ func rbuMainlistRemove(tls *libc.TLS, p uintptr) { /* sqlite3.c:208138:13: */ // // If parameter bRbu is true, only search for file-descriptors with // rbu_file.pDb!=0. -func rbuFindMaindb(tls *libc.TLS, pRbuVfs uintptr, zWal uintptr, bRbu int32) uintptr { /* sqlite3.c:208159:17: */ +func rbuFindMaindb(tls *libc.TLS, pRbuVfs uintptr, zWal uintptr, bRbu int32) uintptr { /* sqlite3.c:208216:17: */ var pDb uintptr Xsqlite3_mutex_enter(tls, (*Rbu_vfs)(unsafe.Pointer(pRbuVfs)).Fmutex) if bRbu != 0 { @@ -213771,7 +213800,7 @@ func rbuFindMaindb(tls *libc.TLS, pRbuVfs uintptr, zWal uintptr, bRbu int32) uin } // Close an rbu file. -func rbuVfsClose(tls *libc.TLS, pFile uintptr) int32 { /* sqlite3.c:208174:12: */ +func rbuVfsClose(tls *libc.TLS, pFile uintptr) int32 { /* sqlite3.c:208231:12: */ var p uintptr = pFile var rc int32 var i int32 @@ -213803,7 +213832,7 @@ func rbuVfsClose(tls *libc.TLS, pFile uintptr) int32 { /* sqlite3.c:208174:12: * // Read and return an unsigned 32-bit big-endian integer from the buffer // passed as the only argument. -func rbuGetU32(tls *libc.TLS, aBuf uintptr) U32 { /* sqlite3.c:208207:12: */ +func rbuGetU32(tls *libc.TLS, aBuf uintptr) U32 { /* sqlite3.c:208264:12: */ return U32(*(*U8)(unsafe.Pointer(aBuf)))<<24 + U32(*(*U8)(unsafe.Pointer(aBuf + 1)))<<16 + U32(*(*U8)(unsafe.Pointer(aBuf + 2)))<<8 + @@ -213812,20 +213841,20 @@ func rbuGetU32(tls *libc.TLS, aBuf uintptr) U32 { /* sqlite3.c:208207:12: */ // Write an unsigned 32-bit value in big-endian format to the supplied // buffer. -func rbuPutU32(tls *libc.TLS, aBuf uintptr, iVal U32) { /* sqlite3.c:208218:13: */ +func rbuPutU32(tls *libc.TLS, aBuf uintptr, iVal U32) { /* sqlite3.c:208275:13: */ *(*U8)(unsafe.Pointer(aBuf)) = U8(iVal >> 24 & U32(0xFF)) *(*U8)(unsafe.Pointer(aBuf + 1)) = U8(iVal >> 16 & U32(0xFF)) *(*U8)(unsafe.Pointer(aBuf + 2)) = U8(iVal >> 8 & U32(0xFF)) *(*U8)(unsafe.Pointer(aBuf + 3)) = U8(iVal >> 0 & U32(0xFF)) } -func rbuPutU16(tls *libc.TLS, aBuf uintptr, iVal U16) { /* sqlite3.c:208225:13: */ +func rbuPutU16(tls *libc.TLS, aBuf uintptr, iVal U16) { /* sqlite3.c:208282:13: */ *(*U8)(unsafe.Pointer(aBuf)) = U8(int32(iVal) >> 8 & 0xFF) *(*U8)(unsafe.Pointer(aBuf + 1)) = U8(int32(iVal) >> 0 & 0xFF) } // Read data from an rbuVfs-file. -func rbuVfsRead(tls *libc.TLS, pFile uintptr, zBuf uintptr, iAmt int32, iOfst Sqlite_int64) int32 { /* sqlite3.c:208233:12: */ +func rbuVfsRead(tls *libc.TLS, pFile uintptr, zBuf uintptr, iAmt int32, iOfst Sqlite_int64) int32 { /* sqlite3.c:208290:12: */ var p uintptr = pFile var pRbu uintptr = (*Rbu_file)(unsafe.Pointer(p)).FpRbu var rc int32 @@ -213889,7 +213918,7 @@ func rbuVfsRead(tls *libc.TLS, pFile uintptr, zBuf uintptr, iAmt int32, iOfst Sq } // Write data to an rbuVfs-file. -func rbuVfsWrite(tls *libc.TLS, pFile uintptr, zBuf uintptr, iAmt int32, iOfst Sqlite_int64) int32 { /* sqlite3.c:208299:12: */ +func rbuVfsWrite(tls *libc.TLS, pFile uintptr, zBuf uintptr, iAmt int32, iOfst Sqlite_int64) int32 { /* sqlite3.c:208356:12: */ var p uintptr = pFile var pRbu uintptr = (*Rbu_file)(unsafe.Pointer(p)).FpRbu var rc int32 @@ -213928,7 +213957,7 @@ func rbuVfsWrite(tls *libc.TLS, pFile uintptr, zBuf uintptr, iAmt int32, iOfst S } // Truncate an rbuVfs-file. -func rbuVfsTruncate(tls *libc.TLS, pFile uintptr, size Sqlite_int64) int32 { /* sqlite3.c:208342:12: */ +func rbuVfsTruncate(tls *libc.TLS, pFile uintptr, size Sqlite_int64) int32 { /* sqlite3.c:208399:12: */ var p uintptr = pFile if (*Rbu_file)(unsafe.Pointer(p)).FopenFlags&SQLITE_OPEN_DELETEONCLOSE != 0 && (*Rbu_file)(unsafe.Pointer(p)).FpRbu != 0 { var rc int32 = rbuUpdateTempSize(tls, p, size) @@ -213942,7 +213971,7 @@ func rbuVfsTruncate(tls *libc.TLS, pFile uintptr, size Sqlite_int64) int32 { /* } // Sync an rbuVfs-file. -func rbuVfsSync(tls *libc.TLS, pFile uintptr, flags int32) int32 { /* sqlite3.c:208354:12: */ +func rbuVfsSync(tls *libc.TLS, pFile uintptr, flags int32) int32 { /* sqlite3.c:208411:12: */ var p uintptr = pFile if (*Rbu_file)(unsafe.Pointer(p)).FpRbu != 0 && (*Sqlite3rbu)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer(p)).FpRbu)).FeStage == RBU_STAGE_CAPTURE { if (*Rbu_file)(unsafe.Pointer(p)).FopenFlags&SQLITE_OPEN_MAIN_DB != 0 { @@ -213956,7 +213985,7 @@ func rbuVfsSync(tls *libc.TLS, pFile uintptr, flags int32) int32 { /* sqlite3.c: } // Return the current file-size of an rbuVfs-file. -func rbuVfsFileSize(tls *libc.TLS, pFile uintptr, pSize uintptr) int32 { /* sqlite3.c:208368:12: */ +func rbuVfsFileSize(tls *libc.TLS, pFile uintptr, pSize uintptr) int32 { /* sqlite3.c:208425:12: */ var p uintptr = pFile var rc int32 rc = (*struct { @@ -213976,7 +214005,7 @@ func rbuVfsFileSize(tls *libc.TLS, pFile uintptr, pSize uintptr) int32 { /* sqli } // Lock an rbuVfs-file. -func rbuVfsLock(tls *libc.TLS, pFile uintptr, eLock int32) int32 { /* sqlite3.c:208389:12: */ +func rbuVfsLock(tls *libc.TLS, pFile uintptr, eLock int32) int32 { /* sqlite3.c:208446:12: */ var p uintptr = pFile var pRbu uintptr = (*Rbu_file)(unsafe.Pointer(p)).FpRbu var rc int32 = SQLITE_OK @@ -213996,7 +214025,7 @@ func rbuVfsLock(tls *libc.TLS, pFile uintptr, eLock int32) int32 { /* sqlite3.c: } // Unlock an rbuVfs-file. -func rbuVfsUnlock(tls *libc.TLS, pFile uintptr, eLock int32) int32 { /* sqlite3.c:208411:12: */ +func rbuVfsUnlock(tls *libc.TLS, pFile uintptr, eLock int32) int32 { /* sqlite3.c:208468:12: */ var p uintptr = pFile return (*struct { f func(*libc.TLS, uintptr, int32) int32 @@ -214004,7 +214033,7 @@ func rbuVfsUnlock(tls *libc.TLS, pFile uintptr, eLock int32) int32 { /* sqlite3. } // Check if another file-handle holds a RESERVED lock on an rbuVfs-file. -func rbuVfsCheckReservedLock(tls *libc.TLS, pFile uintptr, pResOut uintptr) int32 { /* sqlite3.c:208419:12: */ +func rbuVfsCheckReservedLock(tls *libc.TLS, pFile uintptr, pResOut uintptr) int32 { /* sqlite3.c:208476:12: */ var p uintptr = pFile return (*struct { f func(*libc.TLS, uintptr, uintptr) int32 @@ -214012,7 +214041,7 @@ func rbuVfsCheckReservedLock(tls *libc.TLS, pFile uintptr, pResOut uintptr) int3 } // File control method. For custom operations on an rbuVfs-file. -func rbuVfsFileControl(tls *libc.TLS, pFile uintptr, op int32, pArg uintptr) int32 { /* sqlite3.c:208427:12: */ +func rbuVfsFileControl(tls *libc.TLS, pFile uintptr, op int32, pArg uintptr) int32 { /* sqlite3.c:208484:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -214075,7 +214104,7 @@ func rbuVfsFileControl(tls *libc.TLS, pFile uintptr, op int32, pArg uintptr) int } // Return the sector-size in bytes for an rbuVfs-file. -func rbuVfsSectorSize(tls *libc.TLS, pFile uintptr) int32 { /* sqlite3.c:208483:12: */ +func rbuVfsSectorSize(tls *libc.TLS, pFile uintptr) int32 { /* sqlite3.c:208540:12: */ var p uintptr = pFile return (*struct { f func(*libc.TLS, uintptr) int32 @@ -214083,7 +214112,7 @@ func rbuVfsSectorSize(tls *libc.TLS, pFile uintptr) int32 { /* sqlite3.c:208483: } // Return the device characteristic flags supported by an rbuVfs-file. -func rbuVfsDeviceCharacteristics(tls *libc.TLS, pFile uintptr) int32 { /* sqlite3.c:208491:12: */ +func rbuVfsDeviceCharacteristics(tls *libc.TLS, pFile uintptr) int32 { /* sqlite3.c:208548:12: */ var p uintptr = pFile return (*struct { f func(*libc.TLS, uintptr) int32 @@ -214091,7 +214120,7 @@ func rbuVfsDeviceCharacteristics(tls *libc.TLS, pFile uintptr) int32 { /* sqlite } // Take or release a shared-memory lock. -func rbuVfsShmLock(tls *libc.TLS, pFile uintptr, ofst int32, n int32, flags int32) int32 { /* sqlite3.c:208499:12: */ +func rbuVfsShmLock(tls *libc.TLS, pFile uintptr, ofst int32, n int32, flags int32) int32 { /* sqlite3.c:208556:12: */ var p uintptr = pFile var pRbu uintptr = (*Rbu_file)(unsafe.Pointer(p)).FpRbu var rc int32 = SQLITE_OK @@ -214124,7 +214153,7 @@ func rbuVfsShmLock(tls *libc.TLS, pFile uintptr, ofst int32, n int32, flags int3 } // Obtain a pointer to a mapping of a single 32KiB page of the *-shm file. -func rbuVfsShmMap(tls *libc.TLS, pFile uintptr, iRegion int32, szRegion int32, isWrite int32, pp uintptr) int32 { /* sqlite3.c:208537:12: */ +func rbuVfsShmMap(tls *libc.TLS, pFile uintptr, iRegion int32, szRegion int32, isWrite int32, pp uintptr) int32 { /* sqlite3.c:208594:12: */ var p uintptr = pFile var rc int32 = SQLITE_OK var eStage int32 = func() int32 { @@ -214181,13 +214210,13 @@ func rbuVfsShmMap(tls *libc.TLS, pFile uintptr, iRegion int32, szRegion int32, i } // Memory barrier. -func rbuVfsShmBarrier(tls *libc.TLS, pFile uintptr) { /* sqlite3.c:208595:13: */ +func rbuVfsShmBarrier(tls *libc.TLS, pFile uintptr) { /* sqlite3.c:208652:13: */ var p uintptr = pFile (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods)(unsafe.Pointer((*Sqlite3_file)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer(p)).FpReal)).FpMethods)).FxShmBarrier})).f(tls, (*Rbu_file)(unsafe.Pointer(p)).FpReal) } // The xShmUnmap method. -func rbuVfsShmUnmap(tls *libc.TLS, pFile uintptr, delFlag int32) int32 { /* sqlite3.c:208603:12: */ +func rbuVfsShmUnmap(tls *libc.TLS, pFile uintptr, delFlag int32) int32 { /* sqlite3.c:208660:12: */ var p uintptr = pFile var rc int32 = SQLITE_OK var eStage int32 = func() int32 { @@ -214210,7 +214239,7 @@ func rbuVfsShmUnmap(tls *libc.TLS, pFile uintptr, delFlag int32) int32 { /* sqli } // Open an rbu file handle. -func rbuVfsOpen(tls *libc.TLS, pVfs uintptr, zName uintptr, pFile uintptr, flags int32, pOutFlags uintptr) int32 { /* sqlite3.c:208622:12: */ +func rbuVfsOpen(tls *libc.TLS, pVfs uintptr, zName uintptr, pFile uintptr, flags int32, pOutFlags uintptr) int32 { /* sqlite3.c:208679:12: */ var pRbuVfs uintptr = pVfs var pRealVfs uintptr = (*Rbu_vfs)(unsafe.Pointer(pRbuVfs)).FpRealVfs var pFd uintptr = pFile @@ -214296,10 +214325,10 @@ var rbuvfs_io_methods = Sqlite3_io_methods{ FxShmLock: 0, // xShmLock FxShmBarrier: 0, // xShmBarrier FxShmUnmap: 0, // xFetch, xUnfetch -} /* sqlite3.c:208629:29 */ +} /* sqlite3.c:208686:29 */ // Delete the file located at zPath. -func rbuVfsDelete(tls *libc.TLS, pVfs uintptr, zPath uintptr, dirSync int32) int32 { /* sqlite3.c:208720:12: */ +func rbuVfsDelete(tls *libc.TLS, pVfs uintptr, zPath uintptr, dirSync int32) int32 { /* sqlite3.c:208777:12: */ var pRealVfs uintptr = (*Rbu_vfs)(unsafe.Pointer(pVfs)).FpRealVfs return (*struct { f func(*libc.TLS, uintptr, uintptr, int32) int32 @@ -214308,7 +214337,7 @@ func rbuVfsDelete(tls *libc.TLS, pVfs uintptr, zPath uintptr, dirSync int32) int // Test for access permissions. Return true if the requested permission // is available, or false otherwise. -func rbuVfsAccess(tls *libc.TLS, pVfs uintptr, zPath uintptr, flags int32, pResOut uintptr) int32 { /* sqlite3.c:208729:12: */ +func rbuVfsAccess(tls *libc.TLS, pVfs uintptr, zPath uintptr, flags int32, pResOut uintptr) int32 { /* sqlite3.c:208786:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -214353,7 +214382,7 @@ func rbuVfsAccess(tls *libc.TLS, pVfs uintptr, zPath uintptr, flags int32, pResO // Populate buffer zOut with the full canonical pathname corresponding // to the pathname in zPath. zOut is guaranteed to point to a buffer // of at least (DEVSYM_MAX_PATHNAME+1) bytes. -func rbuVfsFullPathname(tls *libc.TLS, pVfs uintptr, zPath uintptr, nOut int32, zOut uintptr) int32 { /* sqlite3.c:208777:12: */ +func rbuVfsFullPathname(tls *libc.TLS, pVfs uintptr, zPath uintptr, nOut int32, zOut uintptr) int32 { /* sqlite3.c:208834:12: */ var pRealVfs uintptr = (*Rbu_vfs)(unsafe.Pointer(pVfs)).FpRealVfs return (*struct { f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 @@ -214361,7 +214390,7 @@ func rbuVfsFullPathname(tls *libc.TLS, pVfs uintptr, zPath uintptr, nOut int32, } // Open the dynamic library located at zPath and return a handle. -func rbuVfsDlOpen(tls *libc.TLS, pVfs uintptr, zPath uintptr) uintptr { /* sqlite3.c:208791:13: */ +func rbuVfsDlOpen(tls *libc.TLS, pVfs uintptr, zPath uintptr) uintptr { /* sqlite3.c:208848:13: */ var pRealVfs uintptr = (*Rbu_vfs)(unsafe.Pointer(pVfs)).FpRealVfs return (*struct { f func(*libc.TLS, uintptr, uintptr) uintptr @@ -214371,7 +214400,7 @@ func rbuVfsDlOpen(tls *libc.TLS, pVfs uintptr, zPath uintptr) uintptr { /* sqlit // Populate the buffer zErrMsg (size nByte bytes) with a human readable // utf-8 string describing the most recent error encountered associated // with dynamic libraries. -func rbuVfsDlError(tls *libc.TLS, pVfs uintptr, nByte int32, zErrMsg uintptr) { /* sqlite3.c:208801:13: */ +func rbuVfsDlError(tls *libc.TLS, pVfs uintptr, nByte int32, zErrMsg uintptr) { /* sqlite3.c:208858:13: */ var pRealVfs uintptr = (*Rbu_vfs)(unsafe.Pointer(pVfs)).FpRealVfs (*struct { f func(*libc.TLS, uintptr, int32, uintptr) @@ -214379,7 +214408,7 @@ func rbuVfsDlError(tls *libc.TLS, pVfs uintptr, nByte int32, zErrMsg uintptr) { } // Return a pointer to the symbol zSymbol in the dynamic library pHandle. -func rbuVfsDlSym(tls *libc.TLS, pVfs uintptr, pArg uintptr, zSym uintptr) uintptr { /* sqlite3.c:208809:13: */ +func rbuVfsDlSym(tls *libc.TLS, pVfs uintptr, pArg uintptr, zSym uintptr) uintptr { /* sqlite3.c:208866:13: */ var pRealVfs uintptr = (*Rbu_vfs)(unsafe.Pointer(pVfs)).FpRealVfs return (*struct { f func(*libc.TLS, uintptr, uintptr, uintptr) uintptr @@ -214387,7 +214416,7 @@ func rbuVfsDlSym(tls *libc.TLS, pVfs uintptr, pArg uintptr, zSym uintptr) uintpt } // Close the dynamic library handle pHandle. -func rbuVfsDlClose(tls *libc.TLS, pVfs uintptr, pHandle uintptr) { /* sqlite3.c:208821:13: */ +func rbuVfsDlClose(tls *libc.TLS, pVfs uintptr, pHandle uintptr) { /* sqlite3.c:208878:13: */ var pRealVfs uintptr = (*Rbu_vfs)(unsafe.Pointer(pVfs)).FpRealVfs (*struct { f func(*libc.TLS, uintptr, uintptr) @@ -214396,7 +214425,7 @@ func rbuVfsDlClose(tls *libc.TLS, pVfs uintptr, pHandle uintptr) { /* sqlite3.c: // Populate the buffer pointed to by zBufOut with nByte bytes of // random data. -func rbuVfsRandomness(tls *libc.TLS, pVfs uintptr, nByte int32, zBufOut uintptr) int32 { /* sqlite3.c:208831:12: */ +func rbuVfsRandomness(tls *libc.TLS, pVfs uintptr, nByte int32, zBufOut uintptr) int32 { /* sqlite3.c:208888:12: */ var pRealVfs uintptr = (*Rbu_vfs)(unsafe.Pointer(pVfs)).FpRealVfs return (*struct { f func(*libc.TLS, uintptr, int32, uintptr) int32 @@ -214405,7 +214434,7 @@ func rbuVfsRandomness(tls *libc.TLS, pVfs uintptr, nByte int32, zBufOut uintptr) // Sleep for nMicro microseconds. Return the number of microseconds // actually slept. -func rbuVfsSleep(tls *libc.TLS, pVfs uintptr, nMicro int32) int32 { /* sqlite3.c:208840:12: */ +func rbuVfsSleep(tls *libc.TLS, pVfs uintptr, nMicro int32) int32 { /* sqlite3.c:208897:12: */ var pRealVfs uintptr = (*Rbu_vfs)(unsafe.Pointer(pVfs)).FpRealVfs return (*struct { f func(*libc.TLS, uintptr, int32) int32 @@ -214413,7 +214442,7 @@ func rbuVfsSleep(tls *libc.TLS, pVfs uintptr, nMicro int32) int32 { /* sqlite3.c } // Return the current time as a Julian Day number in *pTimeOut. -func rbuVfsCurrentTime(tls *libc.TLS, pVfs uintptr, pTimeOut uintptr) int32 { /* sqlite3.c:208848:12: */ +func rbuVfsCurrentTime(tls *libc.TLS, pVfs uintptr, pTimeOut uintptr) int32 { /* sqlite3.c:208905:12: */ var pRealVfs uintptr = (*Rbu_vfs)(unsafe.Pointer(pVfs)).FpRealVfs return (*struct { f func(*libc.TLS, uintptr, uintptr) int32 @@ -214421,13 +214450,13 @@ func rbuVfsCurrentTime(tls *libc.TLS, pVfs uintptr, pTimeOut uintptr) int32 { /* } // No-op. -func rbuVfsGetLastError(tls *libc.TLS, pVfs uintptr, a int32, b uintptr) int32 { /* sqlite3.c:208856:12: */ +func rbuVfsGetLastError(tls *libc.TLS, pVfs uintptr, a int32, b uintptr) int32 { /* sqlite3.c:208913:12: */ return 0 } // Deregister and destroy an RBU vfs created by an earlier call to // sqlite3rbu_create_vfs(). -func Xsqlite3rbu_destroy_vfs(tls *libc.TLS, zName uintptr) { /* sqlite3.c:208864:17: */ +func Xsqlite3rbu_destroy_vfs(tls *libc.TLS, zName uintptr) { /* sqlite3.c:208921:17: */ var pVfs uintptr = Xsqlite3_vfs_find(tls, zName) if pVfs != 0 && (*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FxOpen == *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32 @@ -214441,7 +214470,7 @@ func Xsqlite3rbu_destroy_vfs(tls *libc.TLS, zName uintptr) { /* sqlite3.c:208864 // Create an RBU VFS named zName that accesses the underlying file-system // via existing VFS zParent. The new object is registered as a non-default // VFS with SQLite before returning. -func Xsqlite3rbu_create_vfs(tls *libc.TLS, zName uintptr, zParent uintptr) int32 { /* sqlite3.c:208878:16: */ +func Xsqlite3rbu_create_vfs(tls *libc.TLS, zName uintptr, zParent uintptr) int32 { /* sqlite3.c:208935:16: */ var pNew uintptr = uintptr(0) // Newly allocated VFS var rc int32 = SQLITE_OK @@ -214502,17 +214531,17 @@ var vfs_template = Sqlite3_vfs{ FxSleep: 0, // xSleep FxCurrentTime: 0, // xCurrentTime FxGetLastError: 0, // Unimplemented version 3 methods -} /* sqlite3.c:208881:22 */ +} /* sqlite3.c:208938:22 */ // Configure the aggregate temp file size limit for this RBU handle. -func Xsqlite3rbu_temp_size_limit(tls *libc.TLS, pRbu uintptr, n Sqlite3_int64) Sqlite3_int64 { /* sqlite3.c:208956:26: */ +func Xsqlite3rbu_temp_size_limit(tls *libc.TLS, pRbu uintptr, n Sqlite3_int64) Sqlite3_int64 { /* sqlite3.c:209013:26: */ if n >= int64(0) { (*Sqlite3rbu)(unsafe.Pointer(pRbu)).FszTempLimit = n } return (*Sqlite3rbu)(unsafe.Pointer(pRbu)).FszTempLimit } -func Xsqlite3rbu_temp_size(tls *libc.TLS, pRbu uintptr) Sqlite3_int64 { /* sqlite3.c:208963:26: */ +func Xsqlite3rbu_temp_size(tls *libc.TLS, pRbu uintptr) Sqlite3_int64 { /* sqlite3.c:209020:26: */ return (*Sqlite3rbu)(unsafe.Pointer(pRbu)).FszTemp } @@ -214666,7 +214695,7 @@ type SessionTable1 = struct { // #include // #include -type SessionTable = SessionTable1 /* sqlite3.c:210308:29 */ +type SessionTable = SessionTable1 /* sqlite3.c:210365:29 */ type SessionChange1 = struct { Fop U8 FbIndirect U8 @@ -214678,14 +214707,14 @@ type SessionChange1 = struct { FpNext uintptr } /* sqlite3.c:10832:9 */ -type SessionChange = SessionChange1 /* sqlite3.c:210309:30 */ +type SessionChange = SessionChange1 /* sqlite3.c:210366:30 */ type SessionBuffer1 = struct { FaBuf uintptr FnBuf int32 FnAlloc int32 } /* sqlite3.c:10840:9 */ -type SessionBuffer = SessionBuffer1 /* sqlite3.c:210310:30 */ +type SessionBuffer = SessionBuffer1 /* sqlite3.c:210367:30 */ type SessionInput1 = struct { FbNoDiscard int32 FiCurrent int32 @@ -214701,11 +214730,11 @@ type SessionInput1 = struct { F__ccgo_pad3 [4]byte } /* sqlite3.c:10840:9 */ -type SessionInput = SessionInput1 /* sqlite3.c:210311:29 */ +type SessionInput = SessionInput1 /* sqlite3.c:210368:29 */ // Minimum chunk size used by streaming versions of functions. -var sessions_strm_chunk_size int32 = SESSIONS_STRM_CHUNK_SIZE /* sqlite3.c:210324:12 */ +var sessions_strm_chunk_size int32 = SESSIONS_STRM_CHUNK_SIZE /* sqlite3.c:210381:12 */ type SessionHook1 = struct { FpCtx uintptr @@ -214715,11 +214744,11 @@ type SessionHook1 = struct { FxDepth uintptr } /* sqlite3.c:10832:9 */ -type SessionHook = SessionHook1 /* sqlite3.c:210326:28 */ +type SessionHook = SessionHook1 /* sqlite3.c:210383:28 */ // Write a varint with value iVal into the buffer at aBuf. Return the // number of bytes written. -func sessionVarintPut(tls *libc.TLS, aBuf uintptr, iVal int32) int32 { /* sqlite3.c:210604:12: */ +func sessionVarintPut(tls *libc.TLS, aBuf uintptr, iVal int32) int32 { /* sqlite3.c:210661:12: */ return int32(func() uint8 { if U32(iVal) < U32(0x80) { return uint8(func() int32 { *(*U8)(unsafe.Pointer(aBuf)) = uint8(iVal); return 1 }()) @@ -214729,13 +214758,13 @@ func sessionVarintPut(tls *libc.TLS, aBuf uintptr, iVal int32) int32 { /* sqlite } // Return the number of bytes required to store value iVal as a varint. -func sessionVarintLen(tls *libc.TLS, iVal int32) int32 { /* sqlite3.c:210611:12: */ +func sessionVarintLen(tls *libc.TLS, iVal int32) int32 { /* sqlite3.c:210668:12: */ return Xsqlite3VarintLen(tls, uint64(iVal)) } // Read a varint value from aBuf[] into *piVal. Return the number of // bytes read. -func sessionVarintGet(tls *libc.TLS, aBuf uintptr, piVal uintptr) int32 { /* sqlite3.c:210619:12: */ +func sessionVarintGet(tls *libc.TLS, aBuf uintptr, piVal uintptr) int32 { /* sqlite3.c:210676:12: */ return int32(func() uint8 { if int32(*(*U8)(unsafe.Pointer(aBuf))) < int32(U8(0x80)) { return uint8(func() int32 { *(*int32)(unsafe.Pointer(piVal)) = int32(U32(*(*U8)(unsafe.Pointer(aBuf)))); return 1 }()) @@ -214748,7 +214777,7 @@ func sessionVarintGet(tls *libc.TLS, aBuf uintptr, piVal uintptr) int32 { /* sql // Read a 64-bit big-endian integer value from buffer aRec[]. Return // the value read. -func sessionGetI64(tls *libc.TLS, aRec uintptr) Sqlite3_int64 { /* sqlite3.c:210630:22: */ +func sessionGetI64(tls *libc.TLS, aRec uintptr) Sqlite3_int64 { /* sqlite3.c:210687:22: */ var x U64 = U64(U32(*(*U8)(unsafe.Pointer(aRec)))<<24 | U32(int32(*(*U8)(unsafe.Pointer(aRec + 1)))<<16) | U32(int32(*(*U8)(unsafe.Pointer(aRec + 2)))<<8) | U32(*(*U8)(unsafe.Pointer(aRec + 3)))) var y U32 = U32(*(*U8)(unsafe.Pointer(aRec + uintptr(4))))<<24 | U32(int32(*(*U8)(unsafe.Pointer(aRec + uintptr(4) + 1)))<<16) | U32(int32(*(*U8)(unsafe.Pointer(aRec + uintptr(4) + 2)))<<8) | U32(*(*U8)(unsafe.Pointer(aRec + uintptr(4) + 3))) x = x<<32 + U64(y) @@ -214756,7 +214785,7 @@ func sessionGetI64(tls *libc.TLS, aRec uintptr) Sqlite3_int64 { /* sqlite3.c:210 } // Write a 64-bit big-endian integer value to the buffer aBuf[]. -func sessionPutI64(tls *libc.TLS, aBuf uintptr, i Sqlite3_int64) { /* sqlite3.c:210640:13: */ +func sessionPutI64(tls *libc.TLS, aBuf uintptr, i Sqlite3_int64) { /* sqlite3.c:210697:13: */ *(*U8)(unsafe.Pointer(aBuf)) = U8(i >> 56 & int64(0xFF)) *(*U8)(unsafe.Pointer(aBuf + 1)) = U8(i >> 48 & int64(0xFF)) *(*U8)(unsafe.Pointer(aBuf + 2)) = U8(i >> 40 & int64(0xFF)) @@ -214778,7 +214807,7 @@ func sessionPutI64(tls *libc.TLS, aBuf uintptr, i Sqlite3_int64) { /* sqlite3.c: // If no error occurs, SQLITE_OK is returned. Or, if an OOM error occurs // within a call to sqlite3_value_text() (may fail if the db is utf-16)) // SQLITE_NOMEM is returned. -func sessionSerializeValue(tls *libc.TLS, aBuf uintptr, pValue uintptr, pnWrite uintptr) int32 { /* sqlite3.c:210664:12: */ +func sessionSerializeValue(tls *libc.TLS, aBuf uintptr, pValue uintptr, pnWrite uintptr) int32 { /* sqlite3.c:210721:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -214866,7 +214895,7 @@ func sessionSerializeValue(tls *libc.TLS, aBuf uintptr, pValue uintptr, pnWrite // Allocate and return a pointer to a buffer nByte bytes in size. If // pSession is not NULL, increase the sqlite3_session.nMalloc variable // by the number of bytes allocated. -func sessionMalloc64(tls *libc.TLS, pSession uintptr, nByte I64) uintptr { /* sqlite3.c:210740:13: */ +func sessionMalloc64(tls *libc.TLS, pSession uintptr, nByte I64) uintptr { /* sqlite3.c:210797:13: */ var pRet uintptr = Xsqlite3_malloc64(tls, uint64(nByte)) if pSession != 0 { *(*I64)(unsafe.Pointer(pSession + 56)) += I64(Xsqlite3_msize(tls, pRet)) @@ -214877,7 +214906,7 @@ func sessionMalloc64(tls *libc.TLS, pSession uintptr, nByte I64) uintptr { /* sq // Free buffer pFree, which must have been allocated by an earlier // call to sessionMalloc64(). If pSession is not NULL, decrease the // sqlite3_session.nMalloc counter by the number of bytes freed. -func sessionFree(tls *libc.TLS, pSession uintptr, pFree uintptr) { /* sqlite3.c:210751:13: */ +func sessionFree(tls *libc.TLS, pSession uintptr, pFree uintptr) { /* sqlite3.c:210808:13: */ if pSession != 0 { *(*I64)(unsafe.Pointer(pSession + 56)) -= I64(Xsqlite3_msize(tls, pFree)) } @@ -214900,14 +214929,14 @@ func sessionFree(tls *libc.TLS, pSession uintptr, pFree uintptr) { /* sqlite3.c: // Append the hash of the 64-bit integer passed as the second argument to the // hash-key value passed as the first. Return the new hash-key value. -func sessionHashAppendI64(tls *libc.TLS, h uint32, i I64) uint32 { /* sqlite3.c:210777:21: */ +func sessionHashAppendI64(tls *libc.TLS, h uint32, i I64) uint32 { /* sqlite3.c:210834:21: */ h = h<<3 ^ h ^ uint32(i&int64(0xFFFFFFFF)) return h<<3 ^ h ^ uint32(i>>32&int64(0xFFFFFFFF)) } // Append the hash of the blob passed via the second and third arguments to // the hash-key value passed as the first. Return the new hash-key value. -func sessionHashAppendBlob(tls *libc.TLS, h uint32, n int32, z uintptr) uint32 { /* sqlite3.c:210786:21: */ +func sessionHashAppendBlob(tls *libc.TLS, h uint32, n int32, z uintptr) uint32 { /* sqlite3.c:210843:21: */ var i int32 for i = 0; i < n; i++ { h = h<<3 ^ h ^ uint32(*(*U8)(unsafe.Pointer(z + uintptr(i)))) @@ -214917,7 +214946,7 @@ func sessionHashAppendBlob(tls *libc.TLS, h uint32, n int32, z uintptr) uint32 { // Append the hash of the data type passed as the second argument to the // hash-key value passed as the first. Return the new hash-key value. -func sessionHashAppendType(tls *libc.TLS, h uint32, eType int32) uint32 { /* sqlite3.c:210796:21: */ +func sessionHashAppendType(tls *libc.TLS, h uint32, eType int32) uint32 { /* sqlite3.c:210853:21: */ return h<<3 ^ h ^ uint32(eType) } @@ -214930,7 +214959,7 @@ func sessionHashAppendType(tls *libc.TLS, h uint32, eType int32) uint32 { /* sql // If an error occurs, an SQLite error code is returned and the final values // of *piHash asn *pbNullPK are undefined. Otherwise, SQLITE_OK is returned // and the output variables are set as described above. -func sessionPreupdateHash(tls *libc.TLS, pSession uintptr, pTab uintptr, bNew int32, piHash uintptr, pbNullPK uintptr) int32 { /* sqlite3.c:210811:12: */ +func sessionPreupdateHash(tls *libc.TLS, pSession uintptr, pTab uintptr, bNew int32, piHash uintptr, pbNullPK uintptr) int32 { /* sqlite3.c:210868:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -214996,7 +215025,7 @@ func sessionPreupdateHash(tls *libc.TLS, pSession uintptr, pTab uintptr, bNew in // The buffer that the argument points to contains a serialized SQL value. // Return the number of bytes of space occupied by the value (including // the type byte). -func sessionSerialLen(tls *libc.TLS, a uintptr) int32 { /* sqlite3.c:210876:12: */ +func sessionSerialLen(tls *libc.TLS, a uintptr) int32 { /* sqlite3.c:210933:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -215022,7 +215051,7 @@ func sessionSerialLen(tls *libc.TLS, a uintptr) int32 { /* sqlite3.c:210876:12: // // The bPkOnly argument is non-zero if the record at aRecord[] is from // a patchset DELETE. In this case the non-PK fields are omitted entirely. -func sessionChangeHash(tls *libc.TLS, pTab uintptr, bPkOnly int32, aRecord uintptr, nBucket int32) uint32 { /* sqlite3.c:210894:21: */ +func sessionChangeHash(tls *libc.TLS, pTab uintptr, bPkOnly int32, aRecord uintptr, nBucket int32) uint32 { /* sqlite3.c:210951:21: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -215065,7 +215094,7 @@ func sessionChangeHash(tls *libc.TLS, pTab uintptr, bPkOnly int32, aRecord uintp // This function returns true if the two records apply to the same row (i.e. // have the same values stored in the primary key columns), or false // otherwise. -func sessionChangeEqual(tls *libc.TLS, pTab uintptr, bLeftPkOnly int32, aLeft uintptr, bRightPkOnly int32, aRight uintptr) int32 { /* sqlite3.c:210943:12: */ +func sessionChangeEqual(tls *libc.TLS, pTab uintptr, bLeftPkOnly int32, aLeft uintptr, bRightPkOnly int32, aRight uintptr) int32 { /* sqlite3.c:211000:12: */ var a1 uintptr = aLeft // Cursor to iterate through aLeft var a2 uintptr = aRight // Cursor to iterate through aRight var iCol int32 // Used to iterate through table columns @@ -215104,7 +215133,7 @@ func sessionChangeEqual(tls *libc.TLS, pTab uintptr, bLeftPkOnly int32, aLeft ui // their. Otherwise, if aLeft contains a value, copy it. If neither // record contains a value for a given column, then neither does the // output record. -func sessionMergeRecord(tls *libc.TLS, paOut uintptr, nCol int32, aLeft uintptr, aRight uintptr) { /* sqlite3.c:210986:13: */ +func sessionMergeRecord(tls *libc.TLS, paOut uintptr, nCol int32, aLeft uintptr, aRight uintptr) { /* sqlite3.c:211043:13: */ var a1 uintptr = aLeft // Cursor used to iterate through aLeft var a2 uintptr = aRight // Cursor used to iterate through aRight var aOut uintptr = *(*uintptr)(unsafe.Pointer(paOut)) // Output cursor @@ -215143,7 +215172,7 @@ func sessionMergeRecord(tls *libc.TLS, paOut uintptr, nCol int32, aLeft uintptr, // if( *paTwo is valid ) return *paTwo; // return *paOne; // -func sessionMergeValue(tls *libc.TLS, paOne uintptr, paTwo uintptr, pnVal uintptr) uintptr { /* sqlite3.c:211032:11: */ +func sessionMergeValue(tls *libc.TLS, paOne uintptr, paTwo uintptr, pnVal uintptr) uintptr { /* sqlite3.c:211089:11: */ var a1 uintptr = *(*uintptr)(unsafe.Pointer(paOne)) var a2 uintptr = *(*uintptr)(unsafe.Pointer(paTwo)) var pRet uintptr = uintptr(0) @@ -215170,7 +215199,7 @@ func sessionMergeValue(tls *libc.TLS, paOne uintptr, paTwo uintptr, pnVal uintpt // This function is used by changeset_concat() to merge two UPDATE changes // on the same row. -func sessionMergeUpdate(tls *libc.TLS, paOut uintptr, pTab uintptr, bPatchset int32, aOldRecord1 uintptr, aOldRecord2 uintptr, aNewRecord1 uintptr, aNewRecord2 uintptr) int32 { /* sqlite3.c:211066:12: */ +func sessionMergeUpdate(tls *libc.TLS, paOut uintptr, pTab uintptr, bPatchset int32, aOldRecord1 uintptr, aOldRecord2 uintptr, aNewRecord1 uintptr, aNewRecord2 uintptr) int32 { /* sqlite3.c:211123:12: */ bp := tls.Alloc(52) defer tls.Free(52) @@ -215245,7 +215274,7 @@ func sessionMergeUpdate(tls *libc.TLS, paOut uintptr, pTab uintptr, bPatchset in // as the change stored in argument pChange. If so, it returns true. Otherwise // if the pre-update-hook does not affect the same row as pChange, it returns // false. -func sessionPreupdateEqual(tls *libc.TLS, pSession uintptr, pTab uintptr, pChange uintptr, op int32) int32 { /* sqlite3.c:211143:12: */ +func sessionPreupdateEqual(tls *libc.TLS, pSession uintptr, pTab uintptr, pChange uintptr, op int32) int32 { /* sqlite3.c:211200:12: */ bp := tls.Alloc(28) defer tls.Free(28) @@ -215333,7 +215362,7 @@ func sessionPreupdateEqual(tls *libc.TLS, pSession uintptr, pTab uintptr, pChang // that case the hash-table does not grow, but SQLITE_OK is returned anyway. // Growing the hash table in this case is a performance optimization only, // it is not required for correct operation. -func sessionGrowHash(tls *libc.TLS, pSession uintptr, bPatchset int32, pTab uintptr) int32 { /* sqlite3.c:211222:12: */ +func sessionGrowHash(tls *libc.TLS, pSession uintptr, bPatchset int32, pTab uintptr) int32 { /* sqlite3.c:211279:12: */ if (*SessionTable)(unsafe.Pointer(pTab)).FnChange == 0 || (*SessionTable)(unsafe.Pointer(pTab)).FnEntry >= (*SessionTable)(unsafe.Pointer(pTab)).FnChange/2 { var i int32 var apNew uintptr @@ -215397,7 +215426,7 @@ func sessionGrowHash(tls *libc.TLS, pSession uintptr, bPatchset int32, pTab uint // // All returned buffers are part of the same single allocation, which must // be freed using sqlite3_free() by the caller -func sessionTableInfo(tls *libc.TLS, pSession uintptr, db uintptr, zDb uintptr, zThis uintptr, pnCol uintptr, pzTab uintptr, pazCol uintptr, pabPK uintptr) int32 { /* sqlite3.c:211288:12: */ +func sessionTableInfo(tls *libc.TLS, pSession uintptr, db uintptr, zDb uintptr, zThis uintptr, pnCol uintptr, pzTab uintptr, pazCol uintptr, pabPK uintptr) int32 { /* sqlite3.c:211345:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -215528,7 +215557,7 @@ func sessionTableInfo(tls *libc.TLS, pSession uintptr, db uintptr, zDb uintptr, // key, sqlite3_session.rc is left set to SQLITE_OK and non-zero returned to // indicate that updates on this table should be ignored. SessionTable.abPK // is set to NULL in this case. -func sessionInitTable(tls *libc.TLS, pSession uintptr, pTab uintptr) int32 { /* sqlite3.c:211421:12: */ +func sessionInitTable(tls *libc.TLS, pSession uintptr, pTab uintptr) int32 { /* sqlite3.c:211478:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -215564,15 +215593,15 @@ func sessionInitTable(tls *libc.TLS, pSession uintptr, pTab uintptr) int32 { /* type SessionStat1Ctx1 = struct { Fhook SessionHook FpSession uintptr -} /* sqlite3.c:211456:9 */ +} /* sqlite3.c:211513:9 */ // Versions of the four methods in object SessionHook for use with the // sqlite_stat1 table. The purpose of this is to substitute a zero-length // blob each time a NULL value is read from the "idx" column of the // sqlite_stat1 table. -type SessionStat1Ctx = SessionStat1Ctx1 /* sqlite3.c:211456:32 */ +type SessionStat1Ctx = SessionStat1Ctx1 /* sqlite3.c:211513:32 */ -func sessionStat1Old(tls *libc.TLS, pCtx uintptr, iCol int32, ppVal uintptr) int32 { /* sqlite3.c:211461:12: */ +func sessionStat1Old(tls *libc.TLS, pCtx uintptr, iCol int32, ppVal uintptr) int32 { /* sqlite3.c:211518:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -215588,7 +215617,7 @@ func sessionStat1Old(tls *libc.TLS, pCtx uintptr, iCol int32, ppVal uintptr) int return rc } -func sessionStat1New(tls *libc.TLS, pCtx uintptr, iCol int32, ppVal uintptr) int32 { /* sqlite3.c:211471:12: */ +func sessionStat1New(tls *libc.TLS, pCtx uintptr, iCol int32, ppVal uintptr) int32 { /* sqlite3.c:211528:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -215604,21 +215633,21 @@ func sessionStat1New(tls *libc.TLS, pCtx uintptr, iCol int32, ppVal uintptr) int return rc } -func sessionStat1Count(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:211481:12: */ +func sessionStat1Count(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:211538:12: */ var p uintptr = pCtx return (*struct { f func(*libc.TLS, uintptr) int32 })(unsafe.Pointer(&struct{ uintptr }{(*SessionStat1Ctx)(unsafe.Pointer(p)).Fhook.FxCount})).f(tls, (*SessionStat1Ctx)(unsafe.Pointer(p)).Fhook.FpCtx) } -func sessionStat1Depth(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:211485:12: */ +func sessionStat1Depth(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:211542:12: */ var p uintptr = pCtx return (*struct { f func(*libc.TLS, uintptr) int32 })(unsafe.Pointer(&struct{ uintptr }{(*SessionStat1Ctx)(unsafe.Pointer(p)).Fhook.FxDepth})).f(tls, (*SessionStat1Ctx)(unsafe.Pointer(p)).Fhook.FpCtx) } -func sessionUpdateMaxSize(tls *libc.TLS, op int32, pSession uintptr, pTab uintptr, pC uintptr) int32 { /* sqlite3.c:211490:12: */ +func sessionUpdateMaxSize(tls *libc.TLS, op int32, pSession uintptr, pTab uintptr, pC uintptr) int32 { /* sqlite3.c:211547:12: */ bp := tls.Alloc(44) defer tls.Free(44) @@ -215732,7 +215761,7 @@ func sessionUpdateMaxSize(tls *libc.TLS, op int32, pSession uintptr, pTab uintpt // // Unless one is already present or an error occurs, an entry is added // to the changed-rows hash table associated with table pTab. -func sessionPreupdateOneChange(tls *libc.TLS, op int32, pSession uintptr, pTab uintptr) { /* sqlite3.c:211596:13: */ +func sessionPreupdateOneChange(tls *libc.TLS, op int32, pSession uintptr, pTab uintptr) { /* sqlite3.c:211653:13: */ bp := tls.Alloc(80) defer tls.Free(80) @@ -216028,7 +216057,7 @@ __35: __36: } -func sessionFindTable(tls *libc.TLS, pSession uintptr, zName uintptr, ppTab uintptr) int32 { /* sqlite3.c:211745:12: */ +func sessionFindTable(tls *libc.TLS, pSession uintptr, zName uintptr, ppTab uintptr) int32 { /* sqlite3.c:211802:12: */ var rc int32 = SQLITE_OK var nName int32 = Xsqlite3Strlen30(tls, zName) var pRet uintptr @@ -216063,7 +216092,7 @@ func sessionFindTable(tls *libc.TLS, pSession uintptr, zName uintptr, ppTab uint } // The 'pre-update' hook registered by this module with SQLite databases. -func xPreUpdate(tls *libc.TLS, pCtx uintptr, db uintptr, op int32, zDb uintptr, zName uintptr, iKey1 Sqlite3_int64, iKey2 Sqlite3_int64) { /* sqlite3.c:211785:13: */ +func xPreUpdate(tls *libc.TLS, pCtx uintptr, db uintptr, op int32, zDb uintptr, zName uintptr, iKey1 Sqlite3_int64, iKey2 Sqlite3_int64) { /* sqlite3.c:211842:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -216098,25 +216127,25 @@ func xPreUpdate(tls *libc.TLS, pCtx uintptr, db uintptr, op int32, zDb uintptr, } // The pre-update hook implementations. -func sessionPreupdateOld(tls *libc.TLS, pCtx uintptr, iVal int32, ppVal uintptr) int32 { /* sqlite3.c:211823:12: */ +func sessionPreupdateOld(tls *libc.TLS, pCtx uintptr, iVal int32, ppVal uintptr) int32 { /* sqlite3.c:211880:12: */ return Xsqlite3_preupdate_old(tls, pCtx, iVal, ppVal) } -func sessionPreupdateNew(tls *libc.TLS, pCtx uintptr, iVal int32, ppVal uintptr) int32 { /* sqlite3.c:211826:12: */ +func sessionPreupdateNew(tls *libc.TLS, pCtx uintptr, iVal int32, ppVal uintptr) int32 { /* sqlite3.c:211883:12: */ return Xsqlite3_preupdate_new(tls, pCtx, iVal, ppVal) } -func sessionPreupdateCount(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:211829:12: */ +func sessionPreupdateCount(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:211886:12: */ return Xsqlite3_preupdate_count(tls, pCtx) } -func sessionPreupdateDepth(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:211832:12: */ +func sessionPreupdateDepth(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:211889:12: */ return Xsqlite3_preupdate_depth(tls, pCtx) } // Install the pre-update hooks on the session object passed as the only // argument. -func sessionPreupdateHooks(tls *libc.TLS, pSession uintptr) { /* sqlite3.c:211840:13: */ +func sessionPreupdateHooks(tls *libc.TLS, pSession uintptr) { /* sqlite3.c:211897:13: */ (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx = (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FxOld = *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) int32 @@ -216136,24 +216165,24 @@ type SessionDiffCtx1 = struct { FpStmt uintptr FnOldOff int32 F__ccgo_pad1 [4]byte -} /* sqlite3.c:211850:9 */ +} /* sqlite3.c:211907:9 */ -type SessionDiffCtx = SessionDiffCtx1 /* sqlite3.c:211850:31 */ +type SessionDiffCtx = SessionDiffCtx1 /* sqlite3.c:211907:31 */ // The diff hook implementations. -func sessionDiffOld(tls *libc.TLS, pCtx uintptr, iVal int32, ppVal uintptr) int32 { /* sqlite3.c:211859:12: */ +func sessionDiffOld(tls *libc.TLS, pCtx uintptr, iVal int32, ppVal uintptr) int32 { /* sqlite3.c:211916:12: */ var p uintptr = pCtx *(*uintptr)(unsafe.Pointer(ppVal)) = Xsqlite3_column_value(tls, (*SessionDiffCtx)(unsafe.Pointer(p)).FpStmt, iVal+(*SessionDiffCtx)(unsafe.Pointer(p)).FnOldOff) return SQLITE_OK } -func sessionDiffNew(tls *libc.TLS, pCtx uintptr, iVal int32, ppVal uintptr) int32 { /* sqlite3.c:211864:12: */ +func sessionDiffNew(tls *libc.TLS, pCtx uintptr, iVal int32, ppVal uintptr) int32 { /* sqlite3.c:211921:12: */ var p uintptr = pCtx *(*uintptr)(unsafe.Pointer(ppVal)) = Xsqlite3_column_value(tls, (*SessionDiffCtx)(unsafe.Pointer(p)).FpStmt, iVal) return SQLITE_OK } -func sessionDiffCount(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:211869:12: */ +func sessionDiffCount(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:211926:12: */ var p uintptr = pCtx if (*SessionDiffCtx)(unsafe.Pointer(p)).FnOldOff != 0 { return (*SessionDiffCtx)(unsafe.Pointer(p)).FnOldOff @@ -216161,13 +216190,13 @@ func sessionDiffCount(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:211869:1 return Xsqlite3_column_count(tls, (*SessionDiffCtx)(unsafe.Pointer(p)).FpStmt) } -func sessionDiffDepth(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:211873:12: */ +func sessionDiffDepth(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:211930:12: */ return 0 } // Install the diff hooks on the session object passed as the only // argument. -func sessionDiffHooks(tls *libc.TLS, pSession uintptr, pDiffCtx uintptr) { /* sqlite3.c:211881:13: */ +func sessionDiffHooks(tls *libc.TLS, pSession uintptr, pDiffCtx uintptr) { /* sqlite3.c:211938:13: */ (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx = pDiffCtx (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FxOld = *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) int32 @@ -216183,7 +216212,7 @@ func sessionDiffHooks(tls *libc.TLS, pSession uintptr, pDiffCtx uintptr) { /* sq }{sessionDiffDepth})) } -func sessionExprComparePK(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uintptr, zTab uintptr, azCol uintptr, abPK uintptr) uintptr { /* sqlite3.c:211892:13: */ +func sessionExprComparePK(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uintptr, zTab uintptr, azCol uintptr, abPK uintptr) uintptr { /* sqlite3.c:211949:13: */ bp := tls.Alloc(64) defer tls.Free(64) @@ -216205,7 +216234,7 @@ func sessionExprComparePK(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uintptr, return zRet } -func sessionExprCompareOther(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uintptr, zTab uintptr, azCol uintptr, abPK uintptr) uintptr { /* sqlite3.c:211915:13: */ +func sessionExprCompareOther(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uintptr, zTab uintptr, azCol uintptr, abPK uintptr) uintptr { /* sqlite3.c:211972:13: */ bp := tls.Alloc(64) defer tls.Free(64) @@ -216235,7 +216264,7 @@ func sessionExprCompareOther(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uintp return zRet } -func sessionSelectFindNew(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uintptr, zTbl uintptr, zExpr uintptr) uintptr { /* sqlite3.c:211946:13: */ +func sessionSelectFindNew(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uintptr, zTbl uintptr, zExpr uintptr) uintptr { /* sqlite3.c:212003:13: */ bp := tls.Alloc(40) defer tls.Free(40) @@ -216246,7 +216275,7 @@ func sessionSelectFindNew(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uintptr, return zRet } -func sessionDiffFindNew(tls *libc.TLS, op int32, pSession uintptr, pTab uintptr, zDb1 uintptr, zDb2 uintptr, zExpr uintptr) int32 { /* sqlite3.c:211962:12: */ +func sessionDiffFindNew(tls *libc.TLS, op int32, pSession uintptr, pTab uintptr, zDb1 uintptr, zDb2 uintptr, zExpr uintptr) int32 { /* sqlite3.c:212019:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -216274,7 +216303,7 @@ func sessionDiffFindNew(tls *libc.TLS, op int32, pSession uintptr, pTab uintptr, return rc } -func sessionDiffFindModified(tls *libc.TLS, pSession uintptr, pTab uintptr, zFrom uintptr, zExpr uintptr) int32 { /* sqlite3.c:211993:12: */ +func sessionDiffFindModified(tls *libc.TLS, pSession uintptr, pTab uintptr, zFrom uintptr, zExpr uintptr) int32 { /* sqlite3.c:212050:12: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -216311,7 +216340,7 @@ func sessionDiffFindModified(tls *libc.TLS, pSession uintptr, pTab uintptr, zFro return rc } -func Xsqlite3session_diff(tls *libc.TLS, pSession uintptr, zFrom uintptr, zTbl uintptr, pzErrMsg uintptr) int32 { /* sqlite3.c:212033:16: */ +func Xsqlite3session_diff(tls *libc.TLS, pSession uintptr, zFrom uintptr, zTbl uintptr, pzErrMsg uintptr) int32 { /* sqlite3.c:212090:16: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -216484,7 +216513,7 @@ diff_out: // Create a session object. This session object will record changes to // database zDb attached to connection db. -func Xsqlite3session_create(tls *libc.TLS, db uintptr, zDb uintptr, ppSession uintptr) int32 { /* sqlite3.c:212128:16: */ +func Xsqlite3session_create(tls *libc.TLS, db uintptr, zDb uintptr, ppSession uintptr) int32 { /* sqlite3.c:212185:16: */ var pNew uintptr // Newly allocated session object var pOld uintptr // Session object already attached to db var nDb int32 = Xsqlite3Strlen30(tls, zDb) // Length of zDb in bytes @@ -216520,7 +216549,7 @@ func Xsqlite3session_create(tls *libc.TLS, db uintptr, zDb uintptr, ppSession ui // Free the list of table objects passed as the first argument. The contents // of the changed-rows hash tables are also deleted. -func sessionDeleteTable(tls *libc.TLS, pSession uintptr, pList uintptr) { /* sqlite3.c:212166:13: */ +func sessionDeleteTable(tls *libc.TLS, pSession uintptr, pList uintptr) { /* sqlite3.c:212223:13: */ var pNext uintptr var pTab uintptr @@ -216542,7 +216571,7 @@ func sessionDeleteTable(tls *libc.TLS, pSession uintptr, pList uintptr) { /* sql } // Delete a session object previously allocated using sqlite3session_create(). -func Xsqlite3session_delete(tls *libc.TLS, pSession uintptr) { /* sqlite3.c:212190:17: */ +func Xsqlite3session_delete(tls *libc.TLS, pSession uintptr) { /* sqlite3.c:212247:17: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -216580,7 +216609,7 @@ func Xsqlite3session_delete(tls *libc.TLS, pSession uintptr) { /* sqlite3.c:2121 } // Set a table filter on a Session Object. -func Xsqlite3session_table_filter(tls *libc.TLS, pSession uintptr, xFilter uintptr, pCtx uintptr) { /* sqlite3.c:212222:17: */ +func Xsqlite3session_table_filter(tls *libc.TLS, pSession uintptr, xFilter uintptr, pCtx uintptr) { /* sqlite3.c:212279:17: */ (*Sqlite3_session)(unsafe.Pointer(pSession)).FbAutoAttach = 1 (*Sqlite3_session)(unsafe.Pointer(pSession)).FpFilterCtx = pCtx (*Sqlite3_session)(unsafe.Pointer(pSession)).FxTableFilter = xFilter @@ -216592,7 +216621,7 @@ func Xsqlite3session_table_filter(tls *libc.TLS, pSession uintptr, xFilter uintp // Only tables that have a PRIMARY KEY defined may be attached. It does // not matter if the PRIMARY KEY is an "INTEGER PRIMARY KEY" (rowid alias) // or not. -func Xsqlite3session_attach(tls *libc.TLS, pSession uintptr, zName uintptr) int32 { /* sqlite3.c:212240:16: */ +func Xsqlite3session_attach(tls *libc.TLS, pSession uintptr, zName uintptr) int32 { /* sqlite3.c:212297:16: */ var rc int32 = SQLITE_OK Xsqlite3_mutex_enter(tls, Xsqlite3_db_mutex(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb)) @@ -216643,7 +216672,7 @@ func Xsqlite3session_attach(tls *libc.TLS, pSession uintptr, zName uintptr) int3 // // If successful, return zero. Otherwise, if an OOM condition is encountered, // set *pRc to SQLITE_NOMEM and return non-zero. -func sessionBufferGrow(tls *libc.TLS, p uintptr, nByte I64, pRc uintptr) int32 { /* sqlite3.c:212293:12: */ +func sessionBufferGrow(tls *libc.TLS, p uintptr, nByte I64, pRc uintptr) int32 { /* sqlite3.c:212350:12: */ var nReq I64 = I64((*SessionBuffer)(unsafe.Pointer(p)).FnBuf) + nByte if *(*int32)(unsafe.Pointer(pRc)) == SQLITE_OK && nReq > I64((*SessionBuffer)(unsafe.Pointer(p)).FnAlloc) { var aNew uintptr @@ -216688,7 +216717,7 @@ func sessionBufferGrow(tls *libc.TLS, p uintptr, nByte I64, pRc uintptr) int32 { // This function is a no-op if *pRc is non-zero when it is called. // Otherwise, if an error occurs, *pRc is set to an SQLite error code // before returning. -func sessionAppendValue(tls *libc.TLS, p uintptr, pVal uintptr, pRc uintptr) { /* sqlite3.c:212336:13: */ +func sessionAppendValue(tls *libc.TLS, p uintptr, pVal uintptr, pRc uintptr) { /* sqlite3.c:212393:13: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -216711,7 +216740,7 @@ func sessionAppendValue(tls *libc.TLS, p uintptr, pVal uintptr, pRc uintptr) { / // // If an OOM condition is encountered, set *pRc to SQLITE_NOMEM before // returning. -func sessionAppendByte(tls *libc.TLS, p uintptr, v U8, pRc uintptr) { /* sqlite3.c:212358:13: */ +func sessionAppendByte(tls *libc.TLS, p uintptr, v U8, pRc uintptr) { /* sqlite3.c:212415:13: */ if 0 == sessionBufferGrow(tls, p, int64(1), pRc) { *(*U8)(unsafe.Pointer((*SessionBuffer)(unsafe.Pointer(p)).FaBuf + uintptr(libc.PostIncInt32(&(*SessionBuffer)(unsafe.Pointer(p)).FnBuf, 1)))) = v } @@ -216722,7 +216751,7 @@ func sessionAppendByte(tls *libc.TLS, p uintptr, v U8, pRc uintptr) { /* sqlite3 // // If an OOM condition is encountered, set *pRc to SQLITE_NOMEM before // returning. -func sessionAppendVarint(tls *libc.TLS, p uintptr, v int32, pRc uintptr) { /* sqlite3.c:212371:13: */ +func sessionAppendVarint(tls *libc.TLS, p uintptr, v int32, pRc uintptr) { /* sqlite3.c:212428:13: */ if 0 == sessionBufferGrow(tls, p, int64(9), pRc) { *(*int32)(unsafe.Pointer(p + 8)) += sessionVarintPut(tls, (*SessionBuffer)(unsafe.Pointer(p)).FaBuf+uintptr((*SessionBuffer)(unsafe.Pointer(p)).FnBuf), v) } @@ -216733,7 +216762,7 @@ func sessionAppendVarint(tls *libc.TLS, p uintptr, v int32, pRc uintptr) { /* sq // // If an OOM condition is encountered, set *pRc to SQLITE_NOMEM before // returning. -func sessionAppendBlob(tls *libc.TLS, p uintptr, aBlob uintptr, nBlob int32, pRc uintptr) { /* sqlite3.c:212384:13: */ +func sessionAppendBlob(tls *libc.TLS, p uintptr, aBlob uintptr, nBlob int32, pRc uintptr) { /* sqlite3.c:212441:13: */ if nBlob > 0 && 0 == sessionBufferGrow(tls, p, int64(nBlob), pRc) { libc.Xmemcpy(tls, (*SessionBuffer)(unsafe.Pointer(p)).FaBuf+uintptr((*SessionBuffer)(unsafe.Pointer(p)).FnBuf), aBlob, uint64(nBlob)) *(*int32)(unsafe.Pointer(p + 8)) += nBlob @@ -216746,7 +216775,7 @@ func sessionAppendBlob(tls *libc.TLS, p uintptr, aBlob uintptr, nBlob int32, pRc // // If an OOM condition is encountered, set *pRc to SQLITE_NOMEM before // returning. -func sessionAppendStr(tls *libc.TLS, p uintptr, zStr uintptr, pRc uintptr) { /* sqlite3.c:212404:13: */ +func sessionAppendStr(tls *libc.TLS, p uintptr, zStr uintptr, pRc uintptr) { /* sqlite3.c:212461:13: */ var nStr int32 = Xsqlite3Strlen30(tls, zStr) if 0 == sessionBufferGrow(tls, p, int64(nStr), pRc) { libc.Xmemcpy(tls, (*SessionBuffer)(unsafe.Pointer(p)).FaBuf+uintptr((*SessionBuffer)(unsafe.Pointer(p)).FnBuf), zStr, uint64(nStr)) @@ -216760,7 +216789,7 @@ func sessionAppendStr(tls *libc.TLS, p uintptr, zStr uintptr, pRc uintptr) { /* // // If an OOM condition is encountered, set *pRc to SQLITE_NOMEM before // returning. -func sessionAppendInteger(tls *libc.TLS, p uintptr, iVal int32, pRc uintptr) { /* sqlite3.c:212424:13: */ +func sessionAppendInteger(tls *libc.TLS, p uintptr, iVal int32, pRc uintptr) { /* sqlite3.c:212481:13: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -216777,7 +216806,7 @@ func sessionAppendInteger(tls *libc.TLS, p uintptr, iVal int32, pRc uintptr) { / // // If an OOM condition is encountered, set *pRc to SQLITE_NOMEM before // returning. -func sessionAppendIdent(tls *libc.TLS, p uintptr, zStr uintptr, pRc uintptr) { /* sqlite3.c:212443:13: */ +func sessionAppendIdent(tls *libc.TLS, p uintptr, zStr uintptr, pRc uintptr) { /* sqlite3.c:212500:13: */ var nStr int32 = Xsqlite3Strlen30(tls, zStr)*2 + 2 + 1 if 0 == sessionBufferGrow(tls, p, int64(nStr), pRc) { var zOut uintptr = (*SessionBuffer)(unsafe.Pointer(p)).FaBuf + uintptr((*SessionBuffer)(unsafe.Pointer(p)).FnBuf) @@ -216798,7 +216827,7 @@ func sessionAppendIdent(tls *libc.TLS, p uintptr, zStr uintptr, pRc uintptr) { / // called. Otherwse, it appends the serialized version of the value stored // in column iCol of the row that SQL statement pStmt currently points // to to the buffer. -func sessionAppendCol(tls *libc.TLS, p uintptr, pStmt uintptr, iCol int32, pRc uintptr) { /* sqlite3.c:212468:13: */ +func sessionAppendCol(tls *libc.TLS, p uintptr, pStmt uintptr, iCol int32, pRc uintptr) { /* sqlite3.c:212525:13: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -216858,7 +216887,7 @@ func sessionAppendCol(tls *libc.TLS, p uintptr, pStmt uintptr, iCol int32, pRc u // Otherwise, the old.* record contains all primary key values and the // original values of any fields that have been modified. The new.* record // contains the new values of only those fields that have been modified. -func sessionAppendUpdate(tls *libc.TLS, pBuf uintptr, bPatchset int32, pStmt uintptr, p uintptr, abPK uintptr) int32 { /* sqlite3.c:212530:12: */ +func sessionAppendUpdate(tls *libc.TLS, pBuf uintptr, bPatchset int32, pStmt uintptr, p uintptr, abPK uintptr) int32 { /* sqlite3.c:212587:12: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -216964,7 +216993,7 @@ func sessionAppendUpdate(tls *libc.TLS, pBuf uintptr, bPatchset int32, pStmt uin // Append a DELETE change to the buffer passed as the first argument. Use // the changeset format if argument bPatchset is zero, or the patchset // format otherwise. -func sessionAppendDelete(tls *libc.TLS, pBuf uintptr, bPatchset int32, p uintptr, nCol int32, abPK uintptr) int32 { /* sqlite3.c:212630:12: */ +func sessionAppendDelete(tls *libc.TLS, pBuf uintptr, bPatchset int32, p uintptr, nCol int32, abPK uintptr) int32 { /* sqlite3.c:212687:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -217021,7 +217050,7 @@ func sessionAppendDelete(tls *libc.TLS, pBuf uintptr, bPatchset int32, p uintptr // zTab in database zDb based on its primary key. i.e. // // SELECT * FROM zDb.zTab WHERE pk1 = ? AND pk2 = ? AND ... -func sessionSelectStmt(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, nCol int32, azCol uintptr, abPK uintptr, ppStmt uintptr) int32 { /* sqlite3.c:212685:12: */ +func sessionSelectStmt(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, nCol int32, azCol uintptr, abPK uintptr, ppStmt uintptr) int32 { /* sqlite3.c:212742:12: */ bp := tls.Alloc(28) defer tls.Free(28) @@ -217072,7 +217101,7 @@ func sessionSelectStmt(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, nCo // // Return SQLITE_OK if all PK values are successfully bound, or an SQLite // error code (e.g. SQLITE_NOMEM) otherwise. -func sessionSelectBind(tls *libc.TLS, pSelect uintptr, nCol int32, abPK uintptr, pChange uintptr) int32 { /* sqlite3.c:212742:12: */ +func sessionSelectBind(tls *libc.TLS, pSelect uintptr, nCol int32, abPK uintptr, pChange uintptr) int32 { /* sqlite3.c:212799:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -217150,7 +217179,7 @@ func sessionSelectBind(tls *libc.TLS, pSelect uintptr, nCol int32, abPK uintptr, // is called. Otherwise, append a serialized table header (part of the binary // changeset format) to buffer *pBuf. If an error occurs, set *pRc to an // SQLite error code before returning. -func sessionAppendTableHdr(tls *libc.TLS, pBuf uintptr, bPatchset int32, pTab uintptr, pRc uintptr) { /* sqlite3.c:212813:13: */ +func sessionAppendTableHdr(tls *libc.TLS, pBuf uintptr, bPatchset int32, pTab uintptr, pRc uintptr) { /* sqlite3.c:212870:13: */ // Write a table header sessionAppendByte(tls, pBuf, func() uint8 { if bPatchset != 0 { @@ -217171,7 +217200,7 @@ func sessionAppendTableHdr(tls *libc.TLS, pBuf uintptr, bPatchset int32, pTab ui // stored in output variables *pnChangeset and *ppChangeset. Or, if an error // 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) int32 { /* sqlite3.c:212836:12: */ +func sessionGenerateChangeset(tls *libc.TLS, pSession uintptr, bPatchset int32, xOutput uintptr, pOut uintptr, pnChangeset uintptr, ppChangeset uintptr) int32 { /* sqlite3.c:212893:12: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -217301,7 +217330,7 @@ func sessionGenerateChangeset(tls *libc.TLS, pSession uintptr, bPatchset int32, // // It is the responsibility of the caller to eventually free the buffer // using sqlite3_free(). -func Xsqlite3session_changeset(tls *libc.TLS, pSession uintptr, pnChangeset uintptr, ppChangeset uintptr) int32 { /* sqlite3.c:212965:16: */ +func Xsqlite3session_changeset(tls *libc.TLS, pSession uintptr, pnChangeset uintptr, ppChangeset uintptr) int32 { /* sqlite3.c:213022:16: */ var rc int32 if pnChangeset == uintptr(0) || ppChangeset == uintptr(0) { @@ -217313,7 +217342,7 @@ func Xsqlite3session_changeset(tls *libc.TLS, pSession uintptr, pnChangeset uint } // Streaming version of sqlite3session_changeset(). -func Xsqlite3session_changeset_strm(tls *libc.TLS, pSession uintptr, xOutput uintptr, pOut uintptr) int32 { /* sqlite3.c:212983:16: */ +func Xsqlite3session_changeset_strm(tls *libc.TLS, pSession uintptr, xOutput uintptr, pOut uintptr) int32 { /* sqlite3.c:213040:16: */ if xOutput == uintptr(0) { return SQLITE_MISUSE } @@ -217321,7 +217350,7 @@ func Xsqlite3session_changeset_strm(tls *libc.TLS, pSession uintptr, xOutput uin } // Streaming version of sqlite3session_patchset(). -func Xsqlite3session_patchset_strm(tls *libc.TLS, pSession uintptr, xOutput uintptr, pOut uintptr) int32 { /* sqlite3.c:212995:16: */ +func Xsqlite3session_patchset_strm(tls *libc.TLS, pSession uintptr, xOutput uintptr, pOut uintptr) int32 { /* sqlite3.c:213052:16: */ if xOutput == uintptr(0) { return SQLITE_MISUSE } @@ -217333,7 +217362,7 @@ func Xsqlite3session_patchset_strm(tls *libc.TLS, pSession uintptr, xOutput uint // // It is the responsibility of the caller to eventually free the buffer // using sqlite3_free(). -func Xsqlite3session_patchset(tls *libc.TLS, pSession uintptr, pnPatchset uintptr, ppPatchset uintptr) int32 { /* sqlite3.c:213011:16: */ +func Xsqlite3session_patchset(tls *libc.TLS, pSession uintptr, pnPatchset uintptr, ppPatchset uintptr) int32 { /* sqlite3.c:213068:16: */ if pnPatchset == uintptr(0) || ppPatchset == uintptr(0) { return SQLITE_MISUSE } @@ -217341,7 +217370,7 @@ func Xsqlite3session_patchset(tls *libc.TLS, pSession uintptr, pnPatchset uintpt } // Enable or disable the session object passed as the first argument. -func Xsqlite3session_enable(tls *libc.TLS, pSession uintptr, bEnable int32) int32 { /* sqlite3.c:213023:16: */ +func Xsqlite3session_enable(tls *libc.TLS, pSession uintptr, bEnable int32) int32 { /* sqlite3.c:213080:16: */ var ret int32 Xsqlite3_mutex_enter(tls, Xsqlite3_db_mutex(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb)) if bEnable >= 0 { @@ -217353,7 +217382,7 @@ func Xsqlite3session_enable(tls *libc.TLS, pSession uintptr, bEnable int32) int3 } // Enable or disable the session object passed as the first argument. -func Xsqlite3session_indirect(tls *libc.TLS, pSession uintptr, bIndirect int32) int32 { /* sqlite3.c:213037:16: */ +func Xsqlite3session_indirect(tls *libc.TLS, pSession uintptr, bIndirect int32) int32 { /* sqlite3.c:213094:16: */ var ret int32 Xsqlite3_mutex_enter(tls, Xsqlite3_db_mutex(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb)) if bIndirect >= 0 { @@ -217366,7 +217395,7 @@ func Xsqlite3session_indirect(tls *libc.TLS, pSession uintptr, bIndirect int32) // Return true if there have been no changes to monitored tables recorded // by the session object passed as the only argument. -func Xsqlite3session_isempty(tls *libc.TLS, pSession uintptr) int32 { /* sqlite3.c:213052:16: */ +func Xsqlite3session_isempty(tls *libc.TLS, pSession uintptr) int32 { /* sqlite3.c:213109:16: */ var ret int32 = 0 var pTab uintptr @@ -217380,12 +217409,12 @@ func Xsqlite3session_isempty(tls *libc.TLS, pSession uintptr) int32 { /* sqlite3 } // Return the amount of heap memory in use. -func Xsqlite3session_memory_used(tls *libc.TLS, pSession uintptr) Sqlite3_int64 { /* sqlite3.c:213068:26: */ +func Xsqlite3session_memory_used(tls *libc.TLS, pSession uintptr) Sqlite3_int64 { /* sqlite3.c:213125:26: */ return (*Sqlite3_session)(unsafe.Pointer(pSession)).FnMalloc } // Configure the session object passed as the first argument. -func Xsqlite3session_object_config(tls *libc.TLS, pSession uintptr, op int32, pArg uintptr) int32 { /* sqlite3.c:213075:16: */ +func Xsqlite3session_object_config(tls *libc.TLS, pSession uintptr, op int32, pArg uintptr) int32 { /* sqlite3.c:213132:16: */ var rc int32 = SQLITE_OK switch op { case SQLITE_SESSION_OBJCONFIG_SIZE: @@ -217411,12 +217440,12 @@ func Xsqlite3session_object_config(tls *libc.TLS, pSession uintptr, op int32, pA } // Return the maximum size of sqlite3session_changeset() output. -func Xsqlite3session_changeset_size(tls *libc.TLS, pSession uintptr) Sqlite3_int64 { /* sqlite3.c:213101:26: */ +func Xsqlite3session_changeset_size(tls *libc.TLS, pSession uintptr) Sqlite3_int64 { /* sqlite3.c:213158:26: */ return (*Sqlite3_session)(unsafe.Pointer(pSession)).FnMaxChangesetSize } // 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) int32 { /* sqlite3.c:213108:12: */ +func sessionChangesetStart(tls *libc.TLS, pp uintptr, xInput uintptr, pIn uintptr, nChangeset int32, pChangeset uintptr, bInvert int32, bSkipEmpty int32) int32 { /* sqlite3.c:213165:12: */ var pRet uintptr // Iterator to return var nByte int32 // Number of bytes to allocate for iterator @@ -217449,28 +217478,28 @@ func sessionChangesetStart(tls *libc.TLS, pp uintptr, xInput uintptr, pIn uintpt } // Create an iterator used to iterate through the contents of a changeset. -func Xsqlite3changeset_start(tls *libc.TLS, pp uintptr, nChangeset int32, pChangeset uintptr) int32 { /* sqlite3.c:213146:16: */ +func Xsqlite3changeset_start(tls *libc.TLS, pp uintptr, nChangeset int32, pChangeset uintptr) int32 { /* sqlite3.c:213203:16: */ return sessionChangesetStart(tls, pp, uintptr(0), uintptr(0), nChangeset, pChangeset, 0, 0) } -func Xsqlite3changeset_start_v2(tls *libc.TLS, pp uintptr, nChangeset int32, pChangeset uintptr, flags int32) int32 { /* sqlite3.c:213153:16: */ +func Xsqlite3changeset_start_v2(tls *libc.TLS, pp uintptr, nChangeset int32, pChangeset uintptr, flags int32) int32 { /* sqlite3.c:213210:16: */ var bInvert int32 = libc.BoolInt32(!!(flags&SQLITE_CHANGESETSTART_INVERT != 0)) return sessionChangesetStart(tls, pp, uintptr(0), uintptr(0), nChangeset, pChangeset, bInvert, 0) } // Streaming version of sqlite3changeset_start(). -func Xsqlite3changeset_start_strm(tls *libc.TLS, pp uintptr, xInput uintptr, pIn uintptr) int32 { /* sqlite3.c:213166:16: */ +func Xsqlite3changeset_start_strm(tls *libc.TLS, pp uintptr, xInput uintptr, pIn uintptr) int32 { /* sqlite3.c:213223:16: */ return sessionChangesetStart(tls, pp, xInput, pIn, 0, uintptr(0), 0, 0) } -func Xsqlite3changeset_start_v2_strm(tls *libc.TLS, pp uintptr, xInput uintptr, pIn uintptr, flags int32) int32 { /* sqlite3.c:213173:16: */ +func Xsqlite3changeset_start_v2_strm(tls *libc.TLS, pp uintptr, xInput uintptr, pIn uintptr, flags int32) int32 { /* sqlite3.c:213230:16: */ var bInvert int32 = libc.BoolInt32(!!(flags&SQLITE_CHANGESETSTART_INVERT != 0)) return sessionChangesetStart(tls, pp, xInput, pIn, 0, uintptr(0), bInvert, 0) } // If the SessionInput object passed as the only argument is a streaming // object and the buffer is full, discard some data to free up space. -func sessionDiscardData(tls *libc.TLS, pIn uintptr) { /* sqlite3.c:213187:13: */ +func sessionDiscardData(tls *libc.TLS, pIn uintptr) { /* sqlite3.c:213244:13: */ if (*SessionInput)(unsafe.Pointer(pIn)).FxInput != 0 && (*SessionInput)(unsafe.Pointer(pIn)).FiNext >= sessions_strm_chunk_size { var nMove int32 = (*SessionInput)(unsafe.Pointer(pIn)).Fbuf.FnBuf - (*SessionInput)(unsafe.Pointer(pIn)).FiNext @@ -217488,7 +217517,7 @@ func sessionDiscardData(tls *libc.TLS, pIn uintptr) { /* sqlite3.c:213187:13: */ // data is in the buffer. // // Return an SQLite error code if an error occurs, or SQLITE_OK otherwise. -func sessionInputBuffer(tls *libc.TLS, pIn uintptr, nByte int32) int32 { /* sqlite3.c:213207:12: */ +func sessionInputBuffer(tls *libc.TLS, pIn uintptr, nByte int32) int32 { /* sqlite3.c:213264:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -217521,7 +217550,7 @@ func sessionInputBuffer(tls *libc.TLS, pIn uintptr, nByte int32) int32 { /* sqli // When this function is called, *ppRec points to the start of a record // that contains nCol values. This function advances the pointer *ppRec // until it points to the byte immediately following that record. -func sessionSkipRecord(tls *libc.TLS, ppRec uintptr, nCol int32) { /* sqlite3.c:213235:13: */ +func sessionSkipRecord(tls *libc.TLS, ppRec uintptr, nCol int32) { /* sqlite3.c:213292:13: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -217546,7 +217575,7 @@ func sessionSkipRecord(tls *libc.TLS, ppRec uintptr, nCol int32) { /* sqlite3.c: // first argument to a copy of the string or blob held in the aData[] // buffer. SQLITE_OK is returned if successful, or SQLITE_NOMEM if an OOM // error occurs. -func sessionValueSetStr(tls *libc.TLS, pVal uintptr, aData uintptr, nData int32, enc U8) int32 { /* sqlite3.c:213261:12: */ +func sessionValueSetStr(tls *libc.TLS, pVal uintptr, aData uintptr, nData int32, enc U8) int32 { /* sqlite3.c:213318:12: */ // In theory this code could just pass SQLITE_TRANSIENT as the final // argument to sqlite3ValueSetStr() and have the copy created // automatically. But doing so makes it difficult to detect any OOM @@ -217582,7 +217611,7 @@ func sessionValueSetStr(tls *libc.TLS, pVal uintptr, aData uintptr, nData int32, // // If an error occurs, an SQLite error code (e.g. SQLITE_NOMEM) is returned. // The apOut[] array may have been partially populated in this case. -func sessionReadRecord(tls *libc.TLS, pIn uintptr, nCol int32, abPK uintptr, apOut uintptr, pbEmpty uintptr) int32 { /* sqlite3.c:213302:12: */ +func sessionReadRecord(tls *libc.TLS, pIn uintptr, nCol int32, abPK uintptr, apOut uintptr, pbEmpty uintptr) int32 { /* sqlite3.c:213359:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -217600,7 +217629,7 @@ func sessionReadRecord(tls *libc.TLS, pIn uintptr, nCol int32, abPK uintptr, apO rc = sessionInputBuffer(tls, pIn, 9) if rc == SQLITE_OK { if (*SessionInput)(unsafe.Pointer(pIn)).FiNext >= (*SessionInput)(unsafe.Pointer(pIn)).FnData { - rc = Xsqlite3CorruptError(tls, 213320) + rc = Xsqlite3CorruptError(tls, 213377) } else { eType = int32(*(*U8)(unsafe.Pointer((*SessionInput)(unsafe.Pointer(pIn)).FaData + uintptr(libc.PostIncInt32(&(*SessionInput)(unsafe.Pointer(pIn)).FiNext, 1))))) @@ -217625,7 +217654,7 @@ func sessionReadRecord(tls *libc.TLS, pIn uintptr, nCol int32, abPK uintptr, apO rc = sessionInputBuffer(tls, pIn, *(*int32)(unsafe.Pointer(bp /* nByte */))) if rc == SQLITE_OK { if *(*int32)(unsafe.Pointer(bp)) < 0 || *(*int32)(unsafe.Pointer(bp)) > (*SessionInput)(unsafe.Pointer(pIn)).FnData-(*SessionInput)(unsafe.Pointer(pIn)).FiNext { - rc = Xsqlite3CorruptError(tls, 213340) + rc = Xsqlite3CorruptError(tls, 213397) } else { var enc U8 = func() uint8 { if eType == SQLITE_TEXT { @@ -217667,7 +217696,7 @@ func sessionReadRecord(tls *libc.TLS, pIn uintptr, nCol int32, abPK uintptr, apO // buffer (i.e. that it can be accessed without any calls to xInput()). // If successful, SQLITE_OK is returned. Otherwise, an SQLite error code. // The input pointer is not moved. -func sessionChangesetBufferTblhdr(tls *libc.TLS, pIn uintptr, pnByte uintptr) int32 { /* sqlite3.c:213378:12: */ +func sessionChangesetBufferTblhdr(tls *libc.TLS, pIn uintptr, pnByte uintptr) int32 { /* sqlite3.c:213435:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -217686,7 +217715,7 @@ func sessionChangesetBufferTblhdr(tls *libc.TLS, pIn uintptr, pnByte uintptr) in // 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)) > 65536 { - rc = Xsqlite3CorruptError(tls, 213394) + rc = Xsqlite3CorruptError(tls, 213451) } else { rc = sessionInputBuffer(tls, pIn, nRead+*(*int32)(unsafe.Pointer(bp))+100) nRead = nRead + *(*int32)(unsafe.Pointer(bp)) @@ -217713,7 +217742,7 @@ func sessionChangesetBufferTblhdr(tls *libc.TLS, pIn uintptr, pnByte uintptr) in // If successful, SQLITE_OK is returned and *pnByte is set to the size of // the record in bytes. Otherwise, an SQLite error code is returned. The // final value of *pnByte is undefined in this case. -func sessionChangesetBufferRecord(tls *libc.TLS, pIn uintptr, nCol int32, pnByte uintptr) int32 { /* sqlite3.c:213421:12: */ +func sessionChangesetBufferRecord(tls *libc.TLS, pIn uintptr, nCol int32, pnByte uintptr) int32 { /* sqlite3.c:213478:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -217755,7 +217784,7 @@ func sessionChangesetBufferRecord(tls *libc.TLS, pIn uintptr, nCol int32, pnByte // If successful, SQLITE_OK is returned. Otherwise, an SQLite error code // is returned and the final values of the various fields enumerated above // are undefined. -func sessionChangesetReadTblhdr(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:213465:12: */ +func sessionChangesetReadTblhdr(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:213522:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -217775,7 +217804,7 @@ func sessionChangesetReadTblhdr(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:2 (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Ftblhdr.FnBuf = 0 sessionBufferGrow(tls, p+72, int64(nByte), bp+4) } else { - *(*int32)(unsafe.Pointer(bp + 4 /* rc */)) = Xsqlite3CorruptError(tls, 213482) + *(*int32)(unsafe.Pointer(bp + 4 /* rc */)) = Xsqlite3CorruptError(tls, 213539) } } @@ -217810,7 +217839,7 @@ func sessionChangesetReadTblhdr(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:2 // // * If the iterator is configured to skip no-op UPDATEs, // sessionChangesetNext() does that. This function does not. -func sessionChangesetNextOne(tls *libc.TLS, p uintptr, paRec uintptr, pnRec uintptr, pbNew uintptr, pbEmpty uintptr) int32 { /* sqlite3.c:213514:12: */ +func sessionChangesetNextOne(tls *libc.TLS, p uintptr, paRec uintptr, pnRec uintptr, pbNew uintptr, pbEmpty uintptr) int32 { /* sqlite3.c:213571:12: */ var i int32 var op U8 @@ -217867,13 +217896,13 @@ func sessionChangesetNextOne(tls *libc.TLS, p uintptr, paRec uintptr, pnRec uint // The first record in the changeset is not a table header. Must be a // corrupt changeset. - return libc.AssignPtrInt32(p+100, Xsqlite3CorruptError(tls, 213568)) + return libc.AssignPtrInt32(p+100, Xsqlite3CorruptError(tls, 213625)) } (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fop = int32(op) (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FbIndirect = int32(*(*U8)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FaData + uintptr(libc.PostIncInt32(&(*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FiNext, 1))))) if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fop != SQLITE_UPDATE && (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fop != SQLITE_DELETE && (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fop != SQLITE_INSERT { - return libc.AssignPtrInt32(p+100, Xsqlite3CorruptError(tls, 213574)) + return libc.AssignPtrInt32(p+100, Xsqlite3CorruptError(tls, 213631)) } if paRec != 0 { @@ -217943,7 +217972,7 @@ func sessionChangesetNextOne(tls *libc.TLS, p uintptr, paRec uintptr, pnRec uint *(*uintptr)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue + uintptr(i)*8)) = *(*uintptr)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue + uintptr(i+(*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol)*8)) if *(*uintptr)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue + uintptr(i)*8)) == uintptr(0) { - return libc.AssignPtrInt32(p+100, Xsqlite3CorruptError(tls, 213618)) + return libc.AssignPtrInt32(p+100, Xsqlite3CorruptError(tls, 213675)) } *(*uintptr)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue + uintptr(i+(*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol)*8)) = uintptr(0) } @@ -217974,7 +218003,7 @@ func sessionChangesetNextOne(tls *libc.TLS, p uintptr, paRec uintptr, pnRec uint // successfully advanced to the next change in the changeset, an SQLite // error code if an error occurs, or SQLITE_DONE if there are no further // changes in the changeset. -func sessionChangesetNext(tls *libc.TLS, p uintptr, paRec uintptr, pnRec uintptr, pbNew uintptr) int32 { /* sqlite3.c:213647:12: */ +func sessionChangesetNext(tls *libc.TLS, p uintptr, paRec uintptr, pnRec uintptr, pbNew uintptr) int32 { /* sqlite3.c:213704:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -217994,14 +218023,14 @@ func sessionChangesetNext(tls *libc.TLS, p uintptr, paRec uintptr, pnRec uintptr // // This function may not be called on iterators passed to a conflict handler // callback by changeset_apply(). -func Xsqlite3changeset_next(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:213670:16: */ +func Xsqlite3changeset_next(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:213727:16: */ return sessionChangesetNext(tls, p, uintptr(0), uintptr(0), uintptr(0)) } // The following function extracts information on the current change // from a changeset iterator. It may only be called after changeset_next() // has returned SQLITE_ROW. -func Xsqlite3changeset_op(tls *libc.TLS, pIter uintptr, pzTab uintptr, pnCol uintptr, pOp uintptr, pbIndirect uintptr) int32 { /* sqlite3.c:213679:16: */ +func Xsqlite3changeset_op(tls *libc.TLS, pIter uintptr, pzTab uintptr, pnCol uintptr, pOp uintptr, pbIndirect uintptr) int32 { /* sqlite3.c:213736:16: */ *(*int32)(unsafe.Pointer(pOp)) = (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fop *(*int32)(unsafe.Pointer(pnCol)) = (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol *(*uintptr)(unsafe.Pointer(pzTab)) = (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FzTab @@ -218015,7 +218044,7 @@ func Xsqlite3changeset_op(tls *libc.TLS, pIter uintptr, pzTab uintptr, pnCol uin // the database table affected by the change that pIter currently points // to. This function may only be called after changeset_next() returns // SQLITE_ROW. -func Xsqlite3changeset_pk(tls *libc.TLS, pIter uintptr, pabPK uintptr, pnCol uintptr) int32 { /* sqlite3.c:213699:16: */ +func Xsqlite3changeset_pk(tls *libc.TLS, pIter uintptr, pabPK uintptr, pnCol uintptr) int32 { /* sqlite3.c:213756:16: */ *(*uintptr)(unsafe.Pointer(pabPK)) = (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FabPK if pnCol != 0 { *(*int32)(unsafe.Pointer(pnCol)) = (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol @@ -218034,7 +218063,7 @@ func Xsqlite3changeset_pk(tls *libc.TLS, pIter uintptr, pabPK uintptr, pnCol uin // // If value iVal is out-of-range, SQLITE_RANGE is returned and *ppValue is // not modified. Otherwise, SQLITE_OK. -func Xsqlite3changeset_old(tls *libc.TLS, pIter uintptr, iVal int32, ppValue uintptr) int32 { /* sqlite3.c:213722:16: */ +func Xsqlite3changeset_old(tls *libc.TLS, pIter uintptr, iVal int32, ppValue uintptr) int32 { /* sqlite3.c:213779:16: */ if (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fop != SQLITE_UPDATE && (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fop != SQLITE_DELETE { return SQLITE_MISUSE } @@ -218056,7 +218085,7 @@ func Xsqlite3changeset_old(tls *libc.TLS, pIter uintptr, iVal int32, ppValue uin // // If value iVal is out-of-range, SQLITE_RANGE is returned and *ppValue is // not modified. Otherwise, SQLITE_OK. -func Xsqlite3changeset_new(tls *libc.TLS, pIter uintptr, iVal int32, ppValue uintptr) int32 { /* sqlite3.c:213750:16: */ +func Xsqlite3changeset_new(tls *libc.TLS, pIter uintptr, iVal int32, ppValue uintptr) int32 { /* sqlite3.c:213807:16: */ if (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fop != SQLITE_UPDATE && (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fop != SQLITE_INSERT { return SQLITE_MISUSE } @@ -218080,7 +218109,7 @@ func Xsqlite3changeset_new(tls *libc.TLS, pIter uintptr, iVal int32, ppValue uin // // If value iVal is out-of-range or some other error occurs, an SQLite error // code is returned. Otherwise, SQLITE_OK. -func Xsqlite3changeset_conflict(tls *libc.TLS, pIter uintptr, iVal int32, ppValue uintptr) int32 { /* sqlite3.c:213784:16: */ +func Xsqlite3changeset_conflict(tls *libc.TLS, pIter uintptr, iVal int32, ppValue uintptr) int32 { /* sqlite3.c:213841:16: */ if !(int32((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FpConflict) != 0) { return SQLITE_MISUSE } @@ -218097,7 +218126,7 @@ func Xsqlite3changeset_conflict(tls *libc.TLS, pIter uintptr, iVal int32, ppValu // violations in the destination database and returns SQLITE_OK. // // In all other cases this function returns SQLITE_MISUSE. -func Xsqlite3changeset_fk_conflicts(tls *libc.TLS, pIter uintptr, pnOut uintptr) int32 { /* sqlite3.c:213807:16: */ +func Xsqlite3changeset_fk_conflicts(tls *libc.TLS, pIter uintptr, pnOut uintptr) int32 { /* sqlite3.c:213864:16: */ if (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FpConflict != 0 || (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FapValue != 0 { return SQLITE_MISUSE } @@ -218109,7 +218138,7 @@ func Xsqlite3changeset_fk_conflicts(tls *libc.TLS, pIter uintptr, pnOut uintptr) // // This function may not be called on iterators passed to a conflict handler // callback by changeset_apply(). -func Xsqlite3changeset_finalize(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:213825:16: */ +func Xsqlite3changeset_finalize(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:213882:16: */ var rc int32 = SQLITE_OK if p != 0 { var i int32 // Used to iterate through p->apValue[] @@ -218126,7 +218155,7 @@ func Xsqlite3changeset_finalize(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:2 return rc } -func sessionChangesetInvert(tls *libc.TLS, pInput uintptr, xOutput uintptr, pOut uintptr, pnInverted uintptr, ppInverted uintptr) int32 { /* sqlite3.c:213840:12: */ +func sessionChangesetInvert(tls *libc.TLS, pInput uintptr, xOutput uintptr, pOut uintptr, pnInverted uintptr, ppInverted uintptr) int32 { /* sqlite3.c:213897:12: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -218362,7 +218391,7 @@ __27: goto __6 __11: - *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = Xsqlite3CorruptError(tls, 213967) + *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = Xsqlite3CorruptError(tls, 214024) goto finished_invert __6: ; @@ -218413,7 +218442,7 @@ finished_invert: } // Invert a changeset object. -func Xsqlite3changeset_invert(tls *libc.TLS, nChangeset int32, pChangeset uintptr, pnInverted uintptr, ppInverted uintptr) int32 { /* sqlite3.c:213999:16: */ +func Xsqlite3changeset_invert(tls *libc.TLS, nChangeset int32, pChangeset uintptr, pnInverted uintptr, ppInverted uintptr) int32 { /* sqlite3.c:214056:16: */ bp := tls.Alloc(72) defer tls.Free(72) @@ -218428,7 +218457,7 @@ func Xsqlite3changeset_invert(tls *libc.TLS, nChangeset int32, pChangeset uintpt } // Streaming version of sqlite3changeset_invert(). -func Xsqlite3changeset_invert_strm(tls *libc.TLS, xInput uintptr, pIn uintptr, xOutput uintptr, pOut uintptr) int32 { /* sqlite3.c:214018:16: */ +func Xsqlite3changeset_invert_strm(tls *libc.TLS, xInput uintptr, pIn uintptr, xOutput uintptr, pOut uintptr) int32 { /* sqlite3.c:214075:16: */ bp := tls.Alloc(72) defer tls.Free(72) @@ -218450,9 +218479,9 @@ type SessionUpdate1 = struct { FpStmt uintptr FaMask uintptr FpNext uintptr -} /* sqlite3.c:214038:9 */ +} /* sqlite3.c:214095:9 */ -type SessionUpdate = SessionUpdate1 /* sqlite3.c:214038:30 */ +type SessionUpdate = SessionUpdate1 /* sqlite3.c:214095:30 */ type SessionApplyCtx1 = struct { Fdb uintptr @@ -218474,9 +218503,9 @@ type SessionApplyCtx1 = struct { FbRebaseStarted U8 FbRebase U8 F__ccgo_pad3 [6]byte -} /* sqlite3.c:214045:9 */ +} /* sqlite3.c:214102:9 */ -type SessionApplyCtx = SessionApplyCtx1 /* sqlite3.c:214045:32 */ +type SessionApplyCtx = SessionApplyCtx1 /* sqlite3.c:214102:32 */ // Number of prepared UPDATE statements to cache. @@ -218484,7 +218513,7 @@ type SessionApplyCtx = SessionApplyCtx1 /* sqlite3.c:214045:32 */ // being visited by the iterator. The UPDATE is of the form: // // UPDATE tbl SET col = ?, col2 = ? WHERE pk1 IS ? AND pk2 IS ? -func sessionUpdateFind(tls *libc.TLS, pIter uintptr, p uintptr, bPatchset int32, ppStmt uintptr) int32 { /* sqlite3.c:214074:12: */ +func sessionUpdateFind(tls *libc.TLS, pIter uintptr, p uintptr, bPatchset int32, ppStmt uintptr) int32 { /* sqlite3.c:214131:12: */ bp := tls.Alloc(20) defer tls.Free(20) @@ -218618,7 +218647,7 @@ func sessionUpdateFind(tls *libc.TLS, pIter uintptr, p uintptr, bPatchset int32, } // Free all cached UPDATE statements. -func sessionUpdateFree(tls *libc.TLS, p uintptr) { /* sqlite3.c:214213:13: */ +func sessionUpdateFree(tls *libc.TLS, p uintptr) { /* sqlite3.c:214270:13: */ var pUp uintptr var pNext uintptr for pUp = (*SessionApplyCtx)(unsafe.Pointer(p)).FpUp; pUp != 0; pUp = pNext { @@ -218646,7 +218675,7 @@ func sessionUpdateFree(tls *libc.TLS, p uintptr) { /* sqlite3.c:214213:13: */ // // If successful, SQLITE_OK is returned and SessionApplyCtx.pDelete is left // pointing to the prepared version of the SQL statement. -func sessionDeleteRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) int32 { /* sqlite3.c:214243:12: */ +func sessionDeleteRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) int32 { /* sqlite3.c:214300:12: */ bp := tls.Alloc(20) defer tls.Free(20) @@ -218708,7 +218737,7 @@ func sessionDeleteRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) int32 // // If successful, SQLITE_OK is returned and SessionApplyCtx.pSelect is left // pointing to the prepared version of the SQL statement. -func sessionSelectRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) int32 { /* sqlite3.c:214308:12: */ +func sessionSelectRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) int32 { /* sqlite3.c:214365:12: */ return sessionSelectStmt(tls, db, ts+7684, zTab, (*SessionApplyCtx)(unsafe.Pointer(p)).FnCol, (*SessionApplyCtx)(unsafe.Pointer(p)).FazCol, (*SessionApplyCtx)(unsafe.Pointer(p)).FabPK, p+24) } @@ -218720,7 +218749,7 @@ func sessionSelectRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) int32 // // If successful, SQLITE_OK is returned and SessionApplyCtx.pInsert is left // pointing to the prepared version of the SQL statement. -func sessionInsertRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) int32 { /* sqlite3.c:214326:12: */ +func sessionInsertRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) int32 { /* sqlite3.c:214383:12: */ bp := tls.Alloc(20) defer tls.Free(20) @@ -218751,7 +218780,7 @@ func sessionInsertRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) int32 return *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) } -func sessionPrepare(tls *libc.TLS, db uintptr, pp uintptr, zSql uintptr) int32 { /* sqlite3.c:214356:12: */ +func sessionPrepare(tls *libc.TLS, db uintptr, pp uintptr, zSql uintptr) int32 { /* sqlite3.c:214413:12: */ return Xsqlite3_prepare_v2(tls, db, zSql, -1, pp, uintptr(0)) } @@ -218759,7 +218788,7 @@ func sessionPrepare(tls *libc.TLS, db uintptr, pp uintptr, zSql uintptr) int32 { // These are similar to those created by sessionSelectRow(), // sessionInsertRow(), sessionUpdateRow() and sessionDeleteRow() for // other tables. -func sessionStat1Sql(tls *libc.TLS, db uintptr, p uintptr) int32 { /* sqlite3.c:214366:12: */ +func sessionStat1Sql(tls *libc.TLS, db uintptr, p uintptr) int32 { /* sqlite3.c:214423:12: */ var rc int32 = sessionSelectRow(tls, db, ts+12585, p) if rc == SQLITE_OK { rc = sessionPrepare(tls, db, p+16, @@ -218776,7 +218805,7 @@ func sessionStat1Sql(tls *libc.TLS, db uintptr, p uintptr) int32 { /* sqlite3.c: // A wrapper around sqlite3_bind_value() that detects an extra problem. // See comments in the body of this function for details. -func sessionBindValue(tls *libc.TLS, pStmt uintptr, i int32, pVal uintptr) int32 { /* sqlite3.c:214389:12: */ +func sessionBindValue(tls *libc.TLS, pStmt uintptr, i int32, pVal uintptr) int32 { /* sqlite3.c:214446:12: */ var eType int32 = Xsqlite3_value_type(tls, pVal) // COVERAGE: The (pVal->z==0) branch is never true using current versions // of SQLite. If a malloc fails in an sqlite3_value_xxx() function, either @@ -218803,7 +218832,7 @@ func sessionBindValue(tls *libc.TLS, pStmt uintptr, i int32, pVal uintptr) int32 // statement. // // 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) int32 { /* sqlite3.c:214422:12: */ +func sessionBindRow(tls *libc.TLS, pIter uintptr, xValue uintptr, nCol int32, abPK uintptr, pStmt uintptr) int32 { /* sqlite3.c:214479:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -218824,7 +218853,7 @@ func sessionBindRow(tls *libc.TLS, pIter uintptr, xValue uintptr, nCol int32, ab if *(*uintptr)(unsafe.Pointer(bp)) == uintptr(0) { // The value in the changeset was "undefined". This indicates a // corrupt changeset blob. - rc = Xsqlite3CorruptError(tls, 214445) + rc = Xsqlite3CorruptError(tls, 214502) } else { rc = sessionBindValue(tls, pStmt, i+1, *(*uintptr)(unsafe.Pointer(bp /* pVal */))) } @@ -218848,7 +218877,7 @@ func sessionBindRow(tls *libc.TLS, pIter uintptr, xValue uintptr, nCol int32, ab // If the iterator currently points to an INSERT record, bind values from the // new.* record to the SELECT statement. Or, if it points to a DELETE or // UPDATE, bind values from the old.* record. -func sessionSeekToRow(tls *libc.TLS, db uintptr, pIter uintptr, abPK uintptr, pSelect uintptr) int32 { /* sqlite3.c:214471:12: */ +func sessionSeekToRow(tls *libc.TLS, db uintptr, pIter uintptr, abPK uintptr, pSelect uintptr) int32 { /* sqlite3.c:214528:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -218892,7 +218921,7 @@ func sessionSeekToRow(tls *libc.TLS, db uintptr, pIter uintptr, abPK uintptr, pS // of apply_v2() as the "rebase" buffer. // // Return SQLITE_OK if successful, or an SQLite error code otherwise. -func sessionRebaseAdd(tls *libc.TLS, p uintptr, eType int32, pIter uintptr) int32 { /* sqlite3.c:214506:12: */ +func sessionRebaseAdd(tls *libc.TLS, p uintptr, eType int32, pIter uintptr) int32 { /* sqlite3.c:214563:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -218964,7 +218993,7 @@ func sessionRebaseAdd(tls *libc.TLS, p uintptr, eType int32, pIter uintptr) int3 // returned. Or, if the conflict handler returns an invalid value, // 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) int32 { /* sqlite3.c:214580:12: */ +func sessionConflictHandler(tls *libc.TLS, eType int32, p uintptr, pIter uintptr, xConflict uintptr, pCtx uintptr, pbReplace uintptr) int32 { /* sqlite3.c:214637:12: */ bp := tls.Alloc(20) defer tls.Free(20) @@ -219064,7 +219093,7 @@ func sessionConflictHandler(tls *libc.TLS, eType int32, p uintptr, pIter uintptr // If any conflict handler returns SQLITE_CHANGESET_ABORT, this function // 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) int32 { /* sqlite3.c:214678:12: */ +func sessionApplyOneOp(tls *libc.TLS, pIter uintptr, p uintptr, xConflict uintptr, pCtx uintptr, pbReplace uintptr, pbRetry uintptr) int32 { /* sqlite3.c:214735:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -219199,7 +219228,7 @@ func sessionApplyOneOp(tls *libc.TLS, pIter uintptr, p uintptr, xConflict uintpt // function handles the case where the conflict-handler is invoked and // 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) int32 { /* sqlite3.c:214811:12: */ +func sessionApplyOneWithRetry(tls *libc.TLS, db uintptr, pIter uintptr, pApply uintptr, xConflict uintptr, pCtx uintptr) int32 { /* sqlite3.c:214868:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -219246,7 +219275,7 @@ func sessionApplyOneWithRetry(tls *libc.TLS, db uintptr, pIter uintptr, pApply u } // 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) int32 { /* sqlite3.c:214868:12: */ +func sessionRetryConstraints(tls *libc.TLS, db uintptr, bPatchset int32, zTab uintptr, pApply uintptr, xConflict uintptr, pCtx uintptr) int32 { /* sqlite3.c:214925:12: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -219300,7 +219329,7 @@ func sessionRetryConstraints(tls *libc.TLS, db uintptr, bPatchset int32, zTab ui // changeset to the main database attached to handle "db". The supplied // 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) int32 { /* sqlite3.c:214924:12: */ +func sessionChangesetApply(tls *libc.TLS, db uintptr, pIter uintptr, xFilter uintptr, xConflict uintptr, pCtx uintptr, ppRebase uintptr, pnRebase uintptr, flags int32) int32 { /* sqlite3.c:214981:12: */ bp := tls.Alloc(368) defer tls.Free(368) @@ -219491,7 +219520,7 @@ func sessionChangesetApply(tls *libc.TLS, db uintptr, pIter uintptr, xFilter uin // 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) int32 { /* sqlite3.c:215122:16: */ +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) int32 { /* sqlite3.c:215179:16: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -219509,7 +219538,7 @@ func Xsqlite3changeset_apply_v2(tls *libc.TLS, db uintptr, nChangeset int32, pCh // Apply the changeset passed via pChangeset/nChangeset to the main database // 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) int32 { /* sqlite3.c:215155:16: */ +func Xsqlite3changeset_apply(tls *libc.TLS, db uintptr, nChangeset int32, pChangeset uintptr, xFilter uintptr, xConflict uintptr, pCtx uintptr) int32 { /* sqlite3.c:215212:16: */ return Xsqlite3changeset_apply_v2(tls, db, nChangeset, pChangeset, xFilter, xConflict, pCtx, uintptr(0), uintptr(0), 0) } @@ -219517,7 +219546,7 @@ func Xsqlite3changeset_apply(tls *libc.TLS, db uintptr, nChangeset int32, pChang // Apply the changeset passed via xInput/pIn to the main database // 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) int32 { /* sqlite3.c:215180:16: */ +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) int32 { /* sqlite3.c:215237:16: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -219532,7 +219561,7 @@ func Xsqlite3changeset_apply_v2_strm(tls *libc.TLS, db uintptr, xInput uintptr, return rc } -func Xsqlite3changeset_apply_strm(tls *libc.TLS, db uintptr, xInput uintptr, pIn uintptr, xFilter uintptr, xConflict uintptr, pCtx uintptr) int32 { /* sqlite3.c:215207:16: */ +func Xsqlite3changeset_apply_strm(tls *libc.TLS, db uintptr, xInput uintptr, pIn uintptr, xFilter uintptr, xConflict uintptr, pCtx uintptr) int32 { /* sqlite3.c:215264:16: */ return Xsqlite3changeset_apply_v2_strm(tls, db, xInput, pIn, xFilter, xConflict, pCtx, uintptr(0), uintptr(0), 0) } @@ -219540,7 +219569,7 @@ func Xsqlite3changeset_apply_strm(tls *libc.TLS, db uintptr, xInput uintptr, pIn // This function is called to merge two changes to the same row together as // part of an sqlite3changeset_concat() operation. A new change object is // allocated and a pointer to it stored in *ppNew. -func sessionChangeMerge(tls *libc.TLS, pTab uintptr, bRebase int32, bPatchset int32, pExist uintptr, op2 int32, bIndirect int32, aRec uintptr, nRec int32, ppNew uintptr) int32 { /* sqlite3.c:215241:12: */ +func sessionChangeMerge(tls *libc.TLS, pTab uintptr, bRebase int32, bPatchset int32, pExist uintptr, op2 int32, bIndirect int32, aRec uintptr, nRec int32, ppNew uintptr) int32 { /* sqlite3.c:215298:12: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -219712,7 +219741,7 @@ func sessionChangeMerge(tls *libc.TLS, pTab uintptr, bRebase int32, bPatchset in // Add all changes in the changeset traversed by the iterator passed as // the first argument to the changegroup hash tables. -func sessionChangesetToHash(tls *libc.TLS, pIter uintptr, pGrp uintptr, bRebase int32) int32 { /* sqlite3.c:215423:12: */ +func sessionChangesetToHash(tls *libc.TLS, pIter uintptr, pGrp uintptr, bRebase int32) int32 { /* sqlite3.c:215480:12: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -219843,7 +219872,7 @@ func sessionChangesetToHash(tls *libc.TLS, pIter uintptr, pGrp uintptr, bRebase // If successful, SQLITE_OK is returned. Or, if an error occurs, an SQLite // 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) int32 { /* sqlite3.c:215546:12: */ +func sessionChangegroupOutput(tls *libc.TLS, pGrp uintptr, xOutput uintptr, pOut uintptr, pnOut uintptr, ppOut uintptr) int32 { /* sqlite3.c:215603:12: */ bp := tls.Alloc(20) defer tls.Free(20) @@ -219897,7 +219926,7 @@ func sessionChangegroupOutput(tls *libc.TLS, pGrp uintptr, xOutput uintptr, pOut } // Allocate a new, empty, sqlite3_changegroup. -func Xsqlite3changegroup_new(tls *libc.TLS, pp uintptr) int32 { /* sqlite3.c:215597:16: */ +func Xsqlite3changegroup_new(tls *libc.TLS, pp uintptr) int32 { /* sqlite3.c:215654:16: */ var rc int32 = SQLITE_OK // Return code var p uintptr // New object p = Xsqlite3_malloc(tls, int32(unsafe.Sizeof(Sqlite3_changegroup{}))) @@ -219912,7 +219941,7 @@ func Xsqlite3changegroup_new(tls *libc.TLS, pp uintptr) int32 { /* sqlite3.c:215 // Add the changeset currently stored in buffer pData, size nData bytes, // to changeset-group p. -func Xsqlite3changegroup_add(tls *libc.TLS, pGrp uintptr, nData int32, pData uintptr) int32 { /* sqlite3.c:215614:16: */ +func Xsqlite3changegroup_add(tls *libc.TLS, pGrp uintptr, nData int32, pData uintptr) int32 { /* sqlite3.c:215671:16: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -219930,12 +219959,12 @@ func Xsqlite3changegroup_add(tls *libc.TLS, pGrp uintptr, nData int32, pData uin // Obtain a buffer containing a changeset representing the concatenation // of all changesets added to the group so far. -func Xsqlite3changegroup_output(tls *libc.TLS, pGrp uintptr, pnData uintptr, ppData uintptr) int32 { /* sqlite3.c:215630:16: */ +func Xsqlite3changegroup_output(tls *libc.TLS, pGrp uintptr, pnData uintptr, ppData uintptr) int32 { /* sqlite3.c:215687:16: */ return sessionChangegroupOutput(tls, pGrp, uintptr(0), uintptr(0), pnData, ppData) } // Streaming versions of changegroup_add(). -func Xsqlite3changegroup_add_strm(tls *libc.TLS, pGrp uintptr, xInput uintptr, pIn uintptr) int32 { /* sqlite3.c:215641:16: */ +func Xsqlite3changegroup_add_strm(tls *libc.TLS, pGrp uintptr, xInput uintptr, pIn uintptr) int32 { /* sqlite3.c:215698:16: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -219952,12 +219981,12 @@ func Xsqlite3changegroup_add_strm(tls *libc.TLS, pGrp uintptr, xInput uintptr, p } // Streaming versions of changegroup_output(). -func Xsqlite3changegroup_output_strm(tls *libc.TLS, pGrp uintptr, xOutput uintptr, pOut uintptr) int32 { /* sqlite3.c:215660:16: */ +func Xsqlite3changegroup_output_strm(tls *libc.TLS, pGrp uintptr, xOutput uintptr, pOut uintptr) int32 { /* sqlite3.c:215717:16: */ return sessionChangegroupOutput(tls, pGrp, xOutput, pOut, uintptr(0), uintptr(0)) } // Delete a changegroup object. -func Xsqlite3changegroup_delete(tls *libc.TLS, pGrp uintptr) { /* sqlite3.c:215671:17: */ +func Xsqlite3changegroup_delete(tls *libc.TLS, pGrp uintptr) { /* sqlite3.c:215728:17: */ if pGrp != 0 { sessionDeleteTable(tls, uintptr(0), (*Sqlite3_changegroup)(unsafe.Pointer(pGrp)).FpList) Xsqlite3_free(tls, pGrp) @@ -219965,7 +219994,7 @@ func Xsqlite3changegroup_delete(tls *libc.TLS, pGrp uintptr) { /* sqlite3.c:2156 } // Combine two changesets together. -func Xsqlite3changeset_concat(tls *libc.TLS, nLeft int32, pLeft uintptr, nRight int32, pRight uintptr, pnOut uintptr, ppOut uintptr) int32 { /* sqlite3.c:215681:16: */ +func Xsqlite3changeset_concat(tls *libc.TLS, nLeft int32, pLeft uintptr, nRight int32, pRight uintptr, pnOut uintptr, ppOut uintptr) int32 { /* sqlite3.c:215738:16: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -219989,7 +220018,7 @@ func Xsqlite3changeset_concat(tls *libc.TLS, nLeft int32, pLeft uintptr, nRight } // Streaming version of sqlite3changeset_concat(). -func Xsqlite3changeset_concat_strm(tls *libc.TLS, xInputA uintptr, pInA uintptr, xInputB uintptr, pInB uintptr, xOutput uintptr, pOut uintptr) int32 { /* sqlite3.c:215710:16: */ +func Xsqlite3changeset_concat_strm(tls *libc.TLS, xInputA uintptr, pInA uintptr, xInputB uintptr, pInB uintptr, xOutput uintptr, pOut uintptr) int32 { /* sqlite3.c:215767:16: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -220016,7 +220045,7 @@ func Xsqlite3changeset_concat_strm(tls *libc.TLS, xInputA uintptr, pInA uintptr, // fields in size. This function appends an nCol sessions module // record to buffer pBuf that is a copy of a1, except that for // each field that is undefined in a1[], swap in the field from a2[]. -func sessionAppendRecordMerge(tls *libc.TLS, pBuf uintptr, nCol int32, a1 uintptr, n1 int32, a2 uintptr, n2 int32, pRc uintptr) { /* sqlite3.c:215749:13: */ +func sessionAppendRecordMerge(tls *libc.TLS, pBuf uintptr, nCol int32, a1 uintptr, n1 int32, a2 uintptr, n2 int32, pRc uintptr) { /* sqlite3.c:215806:13: */ sessionBufferGrow(tls, pBuf, int64(n1+n2), pRc) if *(*int32)(unsafe.Pointer(pRc)) == SQLITE_OK { var i int32 @@ -220057,7 +220086,7 @@ func sessionAppendRecordMerge(tls *libc.TLS, pBuf uintptr, nCol int32, a1 uintpt // corresponding field in the rebase buffer is not "undefined" (0x00) // or "replaced" (0xFF), the old.* value is replaced by the value // in the rebase buffer. -func sessionAppendPartialUpdate(tls *libc.TLS, pBuf uintptr, pIter uintptr, aRec uintptr, nRec int32, aChange uintptr, nChange int32, pRc uintptr) { /* sqlite3.c:215798:13: */ +func sessionAppendPartialUpdate(tls *libc.TLS, pBuf uintptr, pIter uintptr, aRec uintptr, nRec int32, aChange uintptr, nChange int32, pRc uintptr) { /* sqlite3.c:215855:13: */ sessionBufferGrow(tls, pBuf, int64(2+nRec+nChange), pRc) if *(*int32)(unsafe.Pointer(pRc)) == SQLITE_OK { var bData int32 = 0 @@ -220119,7 +220148,7 @@ func sessionAppendPartialUpdate(tls *libc.TLS, pBuf uintptr, pIter uintptr, aRec // If an error occurs, an SQLite error code is returned. If ppOut and // 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) int32 { /* sqlite3.c:215866:12: */ +func sessionRebase(tls *libc.TLS, p uintptr, pIter uintptr, xOutput uintptr, pOut uintptr, pnOut uintptr, ppOut uintptr) int32 { /* sqlite3.c:215923:12: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -220257,7 +220286,7 @@ func sessionRebase(tls *libc.TLS, p uintptr, pIter uintptr, xOutput uintptr, pOu } // Create a new rebaser object. -func Xsqlite3rebaser_create(tls *libc.TLS, ppNew uintptr) int32 { /* sqlite3.c:215998:16: */ +func Xsqlite3rebaser_create(tls *libc.TLS, ppNew uintptr) int32 { /* sqlite3.c:216055:16: */ var rc int32 = SQLITE_OK var pNew uintptr @@ -220272,7 +220301,7 @@ func Xsqlite3rebaser_create(tls *libc.TLS, ppNew uintptr) int32 { /* sqlite3.c:2 } // Call this one or more times to configure a rebaser. -func Xsqlite3rebaser_configure(tls *libc.TLS, p uintptr, nRebase int32, pRebase uintptr) int32 { /* sqlite3.c:216015:16: */ +func Xsqlite3rebaser_configure(tls *libc.TLS, p uintptr, nRebase int32, pRebase uintptr) int32 { /* sqlite3.c:216072:16: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -220287,7 +220316,7 @@ func Xsqlite3rebaser_configure(tls *libc.TLS, p uintptr, nRebase int32, pRebase } // Rebase a changeset according to current rebaser configuration -func Xsqlite3rebaser_rebase(tls *libc.TLS, p uintptr, nIn int32, pIn uintptr, pnOut uintptr, ppOut uintptr) int32 { /* sqlite3.c:216032:16: */ +func Xsqlite3rebaser_rebase(tls *libc.TLS, p uintptr, nIn int32, pIn uintptr, pnOut uintptr, ppOut uintptr) int32 { /* sqlite3.c:216089:16: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -220303,7 +220332,7 @@ func Xsqlite3rebaser_rebase(tls *libc.TLS, p uintptr, nIn int32, pIn uintptr, pn } // 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) int32 { /* sqlite3.c:216051:16: */ +func Xsqlite3rebaser_rebase_strm(tls *libc.TLS, p uintptr, xInput uintptr, pIn uintptr, xOutput uintptr, pOut uintptr) int32 { /* sqlite3.c:216108:16: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -220319,7 +220348,7 @@ func Xsqlite3rebaser_rebase_strm(tls *libc.TLS, p uintptr, xInput uintptr, pIn u } // Destroy a rebaser object -func Xsqlite3rebaser_delete(tls *libc.TLS, p uintptr) { /* sqlite3.c:216072:17: */ +func Xsqlite3rebaser_delete(tls *libc.TLS, p uintptr) { /* sqlite3.c:216129:17: */ if p != 0 { sessionDeleteTable(tls, uintptr(0), (*Sqlite3_rebaser)(unsafe.Pointer(p)).Fgrp.FpList) Xsqlite3_free(tls, p) @@ -220327,7 +220356,7 @@ func Xsqlite3rebaser_delete(tls *libc.TLS, p uintptr) { /* sqlite3.c:216072:17: } // Global configuration -func Xsqlite3session_config(tls *libc.TLS, op int32, pArg uintptr) int32 { /* sqlite3.c:216082:16: */ +func Xsqlite3session_config(tls *libc.TLS, op int32, pArg uintptr) int32 { /* sqlite3.c:216139:16: */ var rc int32 = SQLITE_OK switch op { case SQLITE_SESSION_CONFIG_STRMSIZE: @@ -220415,7 +220444,7 @@ type Fts5Global1 = struct { FpTok uintptr FpDfltTok uintptr FpCsr uintptr -} /* sqlite3.c:216813:9 */ +} /* sqlite3.c:216870:9 */ //************* End of sqlite3session.c ************************************* //************* Begin file fts5.c ******************************************* @@ -220477,13 +220506,13 @@ type Fts5Global1 = struct { // Mark a function parameter as unused, to suppress nuisance compiler // warnings. -type Fts5Global = Fts5Global1 /* sqlite3.c:216813:27 */ +type Fts5Global = Fts5Global1 /* sqlite3.c:216870:27 */ type Fts5Colset1 = struct { FnCol int32 FaiCol [1]int32 -} /* sqlite3.c:216813:9 */ +} /* sqlite3.c:216870:9 */ -type Fts5Colset = Fts5Colset1 /* sqlite3.c:216814:27 */ +type Fts5Colset = Fts5Colset1 /* sqlite3.c:216871:27 */ // ************************************************************************* // @@ -220521,14 +220550,14 @@ type Fts5Config1 = struct { FzRank uintptr FzRankArgs uintptr FpzErrmsg uintptr -} /* sqlite3.c:216813:9 */ +} /* sqlite3.c:216870:9 */ // ************************************************************************* // // Interface to code in fts5_config.c. fts5_config.c contains contains code // to parse the arguments passed to the CREATE VIRTUAL TABLE statement. -type Fts5Config = Fts5Config1 /* sqlite3.c:216834:27 */ +type Fts5Config = Fts5Config1 /* sqlite3.c:216891:27 */ // // End of interface to code in fts5_config.c. @@ -220543,7 +220572,7 @@ type Fts5Buffer1 = struct { Fp uintptr Fn int32 FnSpace int32 -} /* sqlite3.c:216813:9 */ +} /* sqlite3.c:216870:9 */ // // End of interface to code in fts5_config.c. @@ -220554,7 +220583,7 @@ type Fts5Buffer1 = struct { // Interface to code in fts5_buffer.c. // Buffer object for the incremental building of string data. -type Fts5Buffer = Fts5Buffer1 /* sqlite3.c:216960:27 */ +type Fts5Buffer = Fts5Buffer1 /* sqlite3.c:217017:27 */ type Fts5PoslistReader1 = struct { Fa uintptr @@ -220564,19 +220593,19 @@ type Fts5PoslistReader1 = struct { FbEof U8 F__ccgo_pad1 [6]byte FiPos I64 -} /* sqlite3.c:216813:9 */ +} /* sqlite3.c:216870:9 */ -type Fts5PoslistReader = Fts5PoslistReader1 /* sqlite3.c:216996:34 */ +type Fts5PoslistReader = Fts5PoslistReader1 /* sqlite3.c:217053:34 */ -type Fts5PoslistWriter1 = struct{ FiPrev I64 } /* sqlite3.c:217015:9 */ +type Fts5PoslistWriter1 = struct{ FiPrev I64 } /* sqlite3.c:217072:9 */ -type Fts5PoslistWriter = Fts5PoslistWriter1 /* sqlite3.c:217015:34 */ +type Fts5PoslistWriter = Fts5PoslistWriter1 /* sqlite3.c:217072:34 */ // Bucket of terms object used by the integrity-check in offsets=0 mode. -type Fts5Termset1 = struct{ FapHash [512]uintptr } /* sqlite3.c:217037:9 */ +type Fts5Termset1 = struct{ FapHash [512]uintptr } /* sqlite3.c:217094:9 */ // Bucket of terms object used by the integrity-check in offsets=0 mode. -type Fts5Termset = Fts5Termset1 /* sqlite3.c:217037:28 */ +type Fts5Termset = Fts5Termset1 /* sqlite3.c:217094:28 */ // // End of interface to code in fts5_buffer.c. @@ -220609,7 +220638,7 @@ type Fts5Index1 = struct { FpDataVersion uintptr FiStructVersion I64 FpStruct uintptr -} /* sqlite3.c:216813:9 */ +} /* sqlite3.c:216870:9 */ // // End of interface to code in fts5_buffer.c. @@ -220620,16 +220649,16 @@ type Fts5Index1 = struct { // Interface to code in fts5_index.c. fts5_index.c contains contains code // to access the data stored in the %_data table. -type Fts5Index = Fts5Index1 /* sqlite3.c:217051:26 */ +type Fts5Index = Fts5Index1 /* sqlite3.c:217108:26 */ type Fts5IndexIter1 = struct { FiRowid I64 FpData uintptr FnData int32 FbEof U8 F__ccgo_pad1 [3]byte -} /* sqlite3.c:216813:9 */ +} /* sqlite3.c:216870:9 */ -type Fts5IndexIter = Fts5IndexIter1 /* sqlite3.c:217052:30 */ +type Fts5IndexIter = Fts5IndexIter1 /* sqlite3.c:217109:30 */ // // End of interface to code in fts5_varint.c. @@ -220644,7 +220673,7 @@ type Fts5Table1 = struct { Fbase Sqlite3_vtab FpConfig uintptr FpIndex uintptr -} /* sqlite3.c:217254:9 */ +} /* sqlite3.c:217311:9 */ // // End of interface to code in fts5_varint.c. @@ -220655,7 +220684,7 @@ type Fts5Table1 = struct { // Interface to code in fts5_main.c. // Virtual-table object. -type Fts5Table = Fts5Table1 /* sqlite3.c:217254:26 */ +type Fts5Table = Fts5Table1 /* sqlite3.c:217311:26 */ // // End of interface to code in fts5.c. @@ -220672,7 +220701,7 @@ type Fts5Hash1 = struct { FnSlot int32 FpScan uintptr FaSlot uintptr -} /* sqlite3.c:216813:9 */ +} /* sqlite3.c:216870:9 */ // // End of interface to code in fts5.c. @@ -220681,7 +220710,7 @@ type Fts5Hash1 = struct { // ************************************************************************* // // Interface to code in fts5_hash.c. -type Fts5Hash = Fts5Hash1 /* sqlite3.c:217280:25 */ +type Fts5Hash = Fts5Hash1 /* sqlite3.c:217337:25 */ // // End of interface to code in fts5_hash.c. @@ -220700,7 +220729,7 @@ type Fts5Storage1 = struct { FnTotalRow I64 FaTotalSize uintptr FaStmt [11]uintptr -} /* sqlite3.c:217336:9 */ +} /* sqlite3.c:217393:9 */ // // End of interface to code in fts5_hash.c. @@ -220711,7 +220740,7 @@ type Fts5Storage1 = struct { // Interface to code in fts5_storage.c. fts5_storage.c contains contains // code to access the data stored in the %_content and %_docsize tables. -type Fts5Storage = Fts5Storage1 /* sqlite3.c:217336:28 */ +type Fts5Storage = Fts5Storage1 /* sqlite3.c:217393:28 */ // // End of interface to code in fts5_storage.c. @@ -220727,7 +220756,7 @@ type Fts5Expr1 = struct { FbDesc int32 FnPhrase int32 FapExprPhrase uintptr -} /* sqlite3.c:216813:9 */ +} /* sqlite3.c:216870:9 */ // // End of interface to code in fts5_storage.c. @@ -220736,7 +220765,7 @@ type Fts5Expr1 = struct { // ************************************************************************* // // Interface to code in fts5_expr.c. -type Fts5Expr = Fts5Expr1 /* sqlite3.c:217379:25 */ +type Fts5Expr = Fts5Expr1 /* sqlite3.c:217436:25 */ type Fts5ExprNode1 = struct { FeType int32 FbEof int32 @@ -220748,9 +220777,9 @@ type Fts5ExprNode1 = struct { FnChild int32 F__ccgo_pad2 [4]byte FapChild [1]uintptr -} /* sqlite3.c:216813:9 */ +} /* sqlite3.c:216870:9 */ -type Fts5ExprNode = Fts5ExprNode1 /* sqlite3.c:217380:29 */ +type Fts5ExprNode = Fts5ExprNode1 /* sqlite3.c:217437:29 */ type Fts5Parse1 = struct { FpConfig uintptr FzErr uintptr @@ -220760,25 +220789,25 @@ type Fts5Parse1 = struct { FpExpr uintptr FbPhraseToAnd int32 F__ccgo_pad1 [4]byte -} /* sqlite3.c:217381:9 */ +} /* sqlite3.c:217438:9 */ -type Fts5Parse = Fts5Parse1 /* sqlite3.c:217381:26 */ +type Fts5Parse = Fts5Parse1 /* sqlite3.c:217438:26 */ type Fts5Token1 = struct { Fp uintptr Fn int32 F__ccgo_pad1 [4]byte -} /* sqlite3.c:217382:9 */ +} /* sqlite3.c:217439:9 */ -type Fts5Token = Fts5Token1 /* sqlite3.c:217382:26 */ +type Fts5Token = Fts5Token1 /* sqlite3.c:217439:26 */ type Fts5ExprPhrase1 = struct { FpNode uintptr Fposlist Fts5Buffer FnTerm int32 F__ccgo_pad1 [4]byte FaTerm [1]Fts5ExprTerm -} /* sqlite3.c:216813:9 */ +} /* sqlite3.c:216870:9 */ -type Fts5ExprPhrase = Fts5ExprPhrase1 /* sqlite3.c:217383:31 */ +type Fts5ExprPhrase = Fts5ExprPhrase1 /* sqlite3.c:217440:31 */ type Fts5ExprNearset1 = struct { FnNear int32 F__ccgo_pad1 [4]byte @@ -220786,17 +220815,17 @@ type Fts5ExprNearset1 = struct { FnPhrase int32 F__ccgo_pad2 [4]byte FapPhrase [1]uintptr -} /* sqlite3.c:216813:9 */ +} /* sqlite3.c:216870:9 */ -type Fts5ExprNearset = Fts5ExprNearset1 /* sqlite3.c:217384:32 */ +type Fts5ExprNearset = Fts5ExprNearset1 /* sqlite3.c:217441:32 */ type Fts5PoslistPopulator1 = struct { Fwriter Fts5PoslistWriter FbOk int32 FbMiss int32 -} /* sqlite3.c:217432:9 */ +} /* sqlite3.c:217489:9 */ -type Fts5PoslistPopulator = Fts5PoslistPopulator1 /* sqlite3.c:217432:37 */ +type Fts5PoslistPopulator = Fts5PoslistPopulator1 /* sqlite3.c:217489:37 */ // // End of interface to code in fts5_unicode2.c. // @@ -220901,7 +220930,7 @@ type Fts5YYMINORTYPE = struct { F__ccgo_pad1 [0]uint64 Ffts5yyinit int32 F__ccgo_pad2 [12]byte -} /* sqlite3.c:217708:3 */ +} /* sqlite3.c:217765:3 */ //************ End control #defines ****************************************** // Define the fts5yytestcase() macro to be a no-op if is not already defined @@ -220974,7 +221003,7 @@ var fts5yy_action = [105]uint8{ /* 80 */ uint8(5), uint8(3), uint8(63), uint8(5), uint8(3), uint8(62), uint8(12), uint8(2), uint8(86), uint8(13), /* 90 */ uint8(9), uint8(30), uint8(10), uint8(10), uint8(54), uint8(57), uint8(75), uint8(78), uint8(78), uint8(53), /* 100 */ uint8(57), uint8(15), uint8(82), uint8(82), uint8(71), -} /* sqlite3.c:217801:31 */ +} /* sqlite3.c:217858:31 */ var fts5yy_lookahead = [121]uint8{ /* 0 */ uint8(16), uint8(17), uint8(18), uint8(19), uint8(20), uint8(22), uint8(22), uint8(24), uint8(24), uint8(17), /* 10 */ uint8(18), uint8(19), uint8(20), uint8(7), uint8(22), uint8(9), uint8(24), uint8(17), uint8(18), uint8(19), @@ -220989,23 +221018,23 @@ var fts5yy_lookahead = [121]uint8{ /* 100 */ uint8(9), uint8(9), uint8(27), uint8(27), uint8(11), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), /* 110 */ uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), /* 120 */ uint8(27), -} /* sqlite3.c:217814:29 */ +} /* sqlite3.c:217871:29 */ var fts5yy_shift_ofst = [35]uint8{ /* 0 */ uint8(44), uint8(44), uint8(44), uint8(44), uint8(44), uint8(44), uint8(51), uint8(77), uint8(43), uint8(12), /* 10 */ uint8(14), uint8(83), uint8(82), uint8(14), uint8(23), uint8(23), uint8(31), uint8(31), uint8(71), uint8(74), /* 20 */ uint8(78), uint8(81), uint8(86), uint8(91), uint8(6), uint8(53), uint8(53), uint8(60), uint8(64), uint8(68), /* 30 */ uint8(53), uint8(87), uint8(92), uint8(53), uint8(93), -} /* sqlite3.c:217832:28 */ +} /* sqlite3.c:217889:28 */ var fts5yy_reduce_ofst = [18]int8{ /* 0 */ int8(-16), int8(-8), int8(0), int8(9), int8(17), int8(25), int8(46), int8(-17), int8(-17), int8(37), /* 10 */ int8(67), int8(4), int8(4), int8(8), int8(4), int8(20), int8(27), int8(38), -} /* sqlite3.c:217841:26 */ +} /* sqlite3.c:217898:26 */ var fts5yy_default = [35]uint8{ /* 0 */ uint8(80), uint8(80), uint8(80), uint8(80), uint8(80), uint8(80), uint8(95), uint8(80), uint8(80), uint8(105), /* 10 */ uint8(80), uint8(110), uint8(110), uint8(80), uint8(110), uint8(110), uint8(80), uint8(80), uint8(80), uint8(80), /* 20 */ uint8(80), uint8(91), uint8(80), uint8(80), uint8(80), uint8(101), uint8(100), uint8(80), uint8(80), uint8(90), /* 30 */ uint8(103), uint8(80), uint8(80), uint8(104), uint8(80), -} /* sqlite3.c:217845:31 */ +} /* sqlite3.c:217902:31 */ //********* End of lemon-generated parsing tables **************************** // The next table maps tokens (terminal symbols) into fallback tokens. @@ -221042,9 +221071,9 @@ type fts5yyStackEntry = struct { Fmajor uint8 F__ccgo_pad1 [6]byte Fminor Fts5YYMINORTYPE -} /* sqlite3.c:217888:1 */ +} /* sqlite3.c:217945:1 */ -type Fts5yyStackEntry = fts5yyStackEntry /* sqlite3.c:217895:33 */ +type Fts5yyStackEntry = fts5yyStackEntry /* sqlite3.c:217952:33 */ // The state of the parser is completely contained in an instance of // the following structure @@ -221053,9 +221082,9 @@ type fts5yyParser = struct { FpParse uintptr Ffts5yystack [100]Fts5yyStackEntry Ffts5yystackEnd uintptr -} /* sqlite3.c:217899:1 */ +} /* sqlite3.c:217956:1 */ -type Fts5yyParser = fts5yyParser /* sqlite3.c:217918:29 */ +type Fts5yyParser = fts5yyParser /* sqlite3.c:217975:29 */ // #include @@ -221065,7 +221094,7 @@ type Fts5yyParser = fts5yyParser /* sqlite3.c:217918:29 */ // grammar. // Initialize a new parser that has already been allocated. -func sqlite3Fts5ParserInit(tls *libc.TLS, fts5yypRawParser uintptr) { /* sqlite3.c:218067:13: */ +func sqlite3Fts5ParserInit(tls *libc.TLS, fts5yypRawParser uintptr) { /* sqlite3.c:218124:13: */ var fts5yypParser uintptr = fts5yypRawParser (*Fts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yytos = fts5yypParser + 16 /* &.fts5yystack */ @@ -221084,7 +221113,7 @@ func sqlite3Fts5ParserInit(tls *libc.TLS, fts5yypRawParser uintptr) { /* sqlite3 // Outputs: // A pointer to a parser. This pointer is used in subsequent calls // to sqlite3Fts5Parser and sqlite3Fts5ParserFree. -func sqlite3Fts5ParserAlloc(tls *libc.TLS, mallocProc uintptr) uintptr { /* sqlite3.c:218106:13: */ +func sqlite3Fts5ParserAlloc(tls *libc.TLS, mallocProc uintptr) uintptr { /* sqlite3.c:218163:13: */ var fts5yypParser uintptr fts5yypParser = (*struct{ f func(*libc.TLS, U64) uintptr })(unsafe.Pointer(&struct{ uintptr }{mallocProc})).f(tls, U64(unsafe.Sizeof(Fts5yyParser{}))) if fts5yypParser != 0 { @@ -221100,7 +221129,7 @@ func sqlite3Fts5ParserAlloc(tls *libc.TLS, mallocProc uintptr) uintptr { /* sqli // a pointer to the value to be deleted. The code used to do the // deletions is derived from the %destructor and/or %token_destructor // directives of the input grammar. -func fts5yy_destructor(tls *libc.TLS, fts5yypParser uintptr, fts5yymajor uint8, fts5yypminor uintptr) { /* sqlite3.c:218125:13: */ +func fts5yy_destructor(tls *libc.TLS, fts5yypParser uintptr, fts5yymajor uint8, fts5yypminor uintptr) { /* sqlite3.c:218182:13: */ var pParse uintptr = (*Fts5yyParser)(unsafe.Pointer(fts5yypParser)).FpParse _ = pParse @@ -221158,7 +221187,7 @@ func fts5yy_destructor(tls *libc.TLS, fts5yypParser uintptr, fts5yymajor uint8, // // If there is a destructor routine associated with the token which // is popped from the stack, then call it. -func fts5yy_pop_parser_stack(tls *libc.TLS, pParser uintptr) { /* sqlite3.c:218184:13: */ +func fts5yy_pop_parser_stack(tls *libc.TLS, pParser uintptr) { /* sqlite3.c:218241:13: */ var fts5yytos uintptr fts5yytos = libc.PostDecUintptr(&(*Fts5yyParser)(unsafe.Pointer(pParser)).Ffts5yytos, 24) @@ -221166,7 +221195,7 @@ func fts5yy_pop_parser_stack(tls *libc.TLS, pParser uintptr) { /* sqlite3.c:2181 } // Clear all secondary memory allocations from the parser -func sqlite3Fts5ParserFinalize(tls *libc.TLS, p uintptr) { /* sqlite3.c:218202:13: */ +func sqlite3Fts5ParserFinalize(tls *libc.TLS, p uintptr) { /* sqlite3.c:218259:13: */ var pParser uintptr = p for (*Fts5yyParser)(unsafe.Pointer(pParser)).Ffts5yytos > pParser+16 { fts5yy_pop_parser_stack(tls, pParser) @@ -221179,7 +221208,7 @@ func sqlite3Fts5ParserFinalize(tls *libc.TLS, p uintptr) { /* sqlite3.c:218202:1 // If the fts5YYPARSEFREENEVERNULL macro exists (for example because it // 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) { /* sqlite3.c:218219:13: */ +func sqlite3Fts5ParserFree(tls *libc.TLS, p uintptr, freeProc uintptr) { /* sqlite3.c:218276:13: */ if p == uintptr(0) { return } @@ -221203,7 +221232,7 @@ func sqlite3Fts5ParserFree(tls *libc.TLS, p uintptr, freeProc uintptr) { /* sqli // Find the appropriate action for a parser given the terminal // look-ahead token iLookAhead. -func fts5yy_find_shift_action(tls *libc.TLS, iLookAhead uint8, stateno uint8) uint8 { /* sqlite3.c:218282:25: */ +func fts5yy_find_shift_action(tls *libc.TLS, iLookAhead uint8, stateno uint8) uint8 { /* sqlite3.c:218339:25: */ var i int32 if int32(stateno) > Fts5YY_MAX_SHIFT { @@ -221227,7 +221256,7 @@ func fts5yy_find_shift_action(tls *libc.TLS, iLookAhead uint8, stateno uint8) ui // Find the appropriate action for a parser given the non-terminal // look-ahead token iLookAhead. -func fts5yy_find_reduce_action(tls *libc.TLS, stateno uint8, iLookAhead uint8) uint8 { /* sqlite3.c:218347:25: */ +func fts5yy_find_reduce_action(tls *libc.TLS, stateno uint8, iLookAhead uint8) uint8 { /* sqlite3.c:218404:25: */ var i int32 i = int32(fts5yy_reduce_ofst[stateno]) @@ -221238,7 +221267,7 @@ func fts5yy_find_reduce_action(tls *libc.TLS, stateno uint8, iLookAhead uint8) u } // The following routine is called if the stack overflows. -func fts5yyStackOverflow(tls *libc.TLS, fts5yypParser uintptr) { /* sqlite3.c:218376:13: */ +func fts5yyStackOverflow(tls *libc.TLS, fts5yypParser uintptr) { /* sqlite3.c:218433:13: */ var pParse uintptr = (*Fts5yyParser)(unsafe.Pointer(fts5yypParser)).FpParse for (*Fts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yytos > fts5yypParser+16 { @@ -221257,7 +221286,7 @@ func fts5yyStackOverflow(tls *libc.TLS, fts5yypParser uintptr) { /* sqlite3.c:21 // Print tracing information for a SHIFT action // Perform a shift action. -func fts5yy_shift(tls *libc.TLS, fts5yypParser uintptr, fts5yyNewState uint8, fts5yyMajor uint8, fts5yyMinor Fts5Token) { /* sqlite3.c:218419:13: */ +func fts5yy_shift(tls *libc.TLS, fts5yypParser uintptr, fts5yyNewState uint8, fts5yyMajor uint8, fts5yyMinor Fts5Token) { /* sqlite3.c:218476:13: */ var fts5yytos uintptr (*Fts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yytos += 24 if (*Fts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yytos > (*Fts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yystackEnd { @@ -221306,7 +221335,7 @@ var fts5yyRuleInfoLhs = [28]uint8{ uint8(24), // (25) phrase ::= STRING star_opt uint8(26), // (26) star_opt ::= STAR uint8(26), // (27) star_opt ::= -} /* sqlite3.c:218460:29 */ +} /* sqlite3.c:218517:29 */ // For rule J, fts5yyRuleInfoNRhs[J] contains the negative of the number // of symbols on the right-hand side of that rule. @@ -221339,7 +221368,7 @@ var fts5yyRuleInfoNRhs = [28]int8{ int8(-2), // (25) phrase ::= STRING star_opt int8(-1), // (26) star_opt ::= STAR int8(0), // (27) star_opt ::= -} /* sqlite3.c:218493:26 */ +} /* sqlite3.c:218550:26 */ // Forward Declaration @@ -221351,7 +221380,7 @@ var fts5yyRuleInfoNRhs = [28]int8{ // if the lookahead token has already been consumed. As this procedure is // only called from one place, optimizing compilers will in-line it, which // means that the extra parameters have no performance impact. -func fts5yy_reduce(tls *libc.TLS, fts5yypParser uintptr, fts5yyruleno uint32, fts5yyLookahead int32, fts5yyLookaheadToken Fts5Token) uint8 { /* sqlite3.c:218536:25: */ +func fts5yy_reduce(tls *libc.TLS, fts5yypParser uintptr, fts5yyruleno uint32, fts5yyLookahead int32, fts5yyLookaheadToken Fts5Token) uint8 { /* sqlite3.c:218593:25: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -221561,7 +221590,7 @@ func fts5yy_reduce(tls *libc.TLS, fts5yypParser uintptr, fts5yyruleno uint32, ft // The following code executes when the parse fails // The following code executes when a syntax error first occurs. -func fts5yy_syntax_error(tls *libc.TLS, fts5yypParser uintptr, fts5yymajor int32, fts5yyminor Fts5Token) { /* sqlite3.c:218754:13: */ +func fts5yy_syntax_error(tls *libc.TLS, fts5yypParser uintptr, fts5yymajor int32, fts5yyminor Fts5Token) { /* sqlite3.c:218811:13: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -221578,7 +221607,7 @@ func fts5yy_syntax_error(tls *libc.TLS, fts5yypParser uintptr, fts5yymajor int32 } // The following is executed when the parser accepts -func fts5yy_accept(tls *libc.TLS, fts5yypParser uintptr) { /* sqlite3.c:218776:13: */ +func fts5yy_accept(tls *libc.TLS, fts5yypParser uintptr) { /* sqlite3.c:218833:13: */ var pParse uintptr = (*Fts5yyParser)(unsafe.Pointer(fts5yypParser)).FpParse // Here code is inserted which will be executed whenever the @@ -221607,7 +221636,7 @@ func fts5yy_accept(tls *libc.TLS, fts5yypParser uintptr) { /* sqlite3.c:218776:1 // // Outputs: // None. -func sqlite3Fts5Parser(tls *libc.TLS, fts5yyp uintptr, fts5yymajor int32, fts5yyminor Fts5Token, pParse uintptr) { /* sqlite3.c:218817:13: */ +func sqlite3Fts5Parser(tls *libc.TLS, fts5yyp uintptr, fts5yymajor int32, fts5yyminor Fts5Token, pParse uintptr) { /* sqlite3.c:218874:13: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -221662,7 +221691,7 @@ func sqlite3Fts5Parser(tls *libc.TLS, fts5yyp uintptr, fts5yymajor int32, fts5yy // Return the fallback token corresponding to canonical token iToken, or // 0 if iToken has no fallback. -func sqlite3Fts5ParserFallback(tls *libc.TLS, iToken int32) int32 { /* sqlite3.c:219034:12: */ +func sqlite3Fts5ParserFallback(tls *libc.TLS, iToken int32) int32 { /* sqlite3.c:219091:12: */ _ = iToken return 0 } @@ -221710,7 +221739,7 @@ type CInstIter1 = struct { FiStart int32 FiEnd int32 F__ccgo_pad1 [4]byte -} /* sqlite3.c:219080:9 */ +} /* sqlite3.c:219137:9 */ // 2014 May 31 // @@ -221746,11 +221775,11 @@ type CInstIter1 = struct { // printf("instance starts at %d, ends at %d\n", iter.iStart, iter.iEnd); // } // -type CInstIter = CInstIter1 /* sqlite3.c:219080:26 */ +type CInstIter = CInstIter1 /* sqlite3.c:219137:26 */ // Advance the iterator to the next coalesced phrase instance. Return // an SQLite error code if an error occurs, or SQLITE_OK otherwise. -func fts5CInstIterNext(tls *libc.TLS, pIter uintptr) int32 { /* sqlite3.c:219097:12: */ +func fts5CInstIterNext(tls *libc.TLS, pIter uintptr) int32 { /* sqlite3.c:219154:12: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -221793,7 +221822,7 @@ func fts5CInstIterNext(tls *libc.TLS, pIter uintptr) int32 { /* sqlite3.c:219097 // Initialize the iterator object indicated by the final parameter to // iterate through coalesced phrase instances in column iCol. -func fts5CInstIterInit(tls *libc.TLS, pApi uintptr, pFts uintptr, iCol int32, pIter uintptr) int32 { /* sqlite3.c:219128:12: */ +func fts5CInstIterInit(tls *libc.TLS, pApi uintptr, pFts uintptr, iCol int32, pIter uintptr) int32 { /* sqlite3.c:219185:12: */ var rc int32 libc.Xmemset(tls, pIter, 0, uint64(unsafe.Sizeof(CInstIter{}))) @@ -221826,12 +221855,12 @@ type HighlightContext1 = struct { FnIn int32 FiOff int32 FzOut uintptr -} /* sqlite3.c:219154:9 */ +} /* sqlite3.c:219211:9 */ // ************************************************************************ // // Start of highlight() implementation. -type HighlightContext = HighlightContext1 /* sqlite3.c:219154:33 */ +type HighlightContext = HighlightContext1 /* sqlite3.c:219211:33 */ // Append text to the HighlightContext output string - p->zOut. Argument // z points to a buffer containing n bytes of text to append. If n is @@ -221840,7 +221869,7 @@ type HighlightContext = HighlightContext1 /* sqlite3.c:219154:33 */ // If *pRc is set to any value other than SQLITE_OK when this function is // called, it is a no-op. If an error (i.e. an OOM condition) is encountered, // *pRc is set to an error code before returning. -func fts5HighlightAppend(tls *libc.TLS, pRc uintptr, p uintptr, z uintptr, n int32) { /* sqlite3.c:219177:13: */ +func fts5HighlightAppend(tls *libc.TLS, pRc uintptr, p uintptr, z uintptr, n int32) { /* sqlite3.c:219234:13: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -221856,7 +221885,7 @@ func fts5HighlightAppend(tls *libc.TLS, pRc uintptr, p uintptr, z uintptr, n int } // Tokenizer callback used by implementation of highlight() function. -func fts5HighlightCb(tls *libc.TLS, pContext uintptr, tflags int32, pToken uintptr, nToken int32, iStartOff int32, iEndOff int32) int32 { /* sqlite3.c:219192:12: */ +func fts5HighlightCb(tls *libc.TLS, pContext uintptr, tflags int32, pToken uintptr, nToken int32, iStartOff int32, iEndOff int32) int32 { /* sqlite3.c:219249:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -221911,7 +221940,7 @@ func fts5HighlightCb(tls *libc.TLS, pContext uintptr, tflags int32, pToken uintp } // Implementation of highlight() function. -func fts5HighlightFunction(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uintptr, nVal int32, apVal uintptr) { /* sqlite3.c:219246:13: */ +func fts5HighlightFunction(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uintptr, nVal int32, apVal uintptr) { /* sqlite3.c:219303:13: */ bp := tls.Alloc(100) defer tls.Free(100) @@ -221971,19 +222000,19 @@ type Fts5SFinder1 = struct { F__ccgo_pad1 [4]byte FaFirst uintptr FzDoc uintptr -} /* sqlite3.c:219295:9 */ +} /* sqlite3.c:219352:9 */ // // End of highlight() implementation. // // Context object passed to the fts5SentenceFinderCb() function. -type Fts5SFinder = Fts5SFinder1 /* sqlite3.c:219295:28 */ +type Fts5SFinder = Fts5SFinder1 /* sqlite3.c:219352:28 */ // Add an entry to the Fts5SFinder.aFirst[] array. Grow the array if // necessary. Return SQLITE_OK if successful, or SQLITE_NOMEM if an // error occurs. -func fts5SentenceFinderAdd(tls *libc.TLS, p uintptr, iAdd int32) int32 { /* sqlite3.c:219309:12: */ +func fts5SentenceFinderAdd(tls *libc.TLS, p uintptr, iAdd int32) int32 { /* sqlite3.c:219366:12: */ if (*Fts5SFinder)(unsafe.Pointer(p)).FnFirstAlloc == (*Fts5SFinder)(unsafe.Pointer(p)).FnFirst { var nNew int32 if (*Fts5SFinder)(unsafe.Pointer(p)).FnFirstAlloc != 0 { @@ -222007,7 +222036,7 @@ func fts5SentenceFinderAdd(tls *libc.TLS, p uintptr, iAdd int32) int32 { /* sqli // This function is an xTokenize() callback used by the auxiliary snippet() // function. Its job is to identify tokens that are the first in a sentence. // For each such token, an entry is added to the SFinder.aFirst[] array. -func fts5SentenceFinderCb(tls *libc.TLS, pContext uintptr, tflags int32, pToken uintptr, nToken int32, iStartOff int32, iEndOff int32) int32 { /* sqlite3.c:219328:12: */ +func fts5SentenceFinderCb(tls *libc.TLS, pContext uintptr, tflags int32, pToken uintptr, nToken int32, iStartOff int32, iEndOff int32) int32 { /* sqlite3.c:219385:12: */ var rc int32 = SQLITE_OK _ = pToken @@ -222036,7 +222065,7 @@ func fts5SentenceFinderCb(tls *libc.TLS, pContext uintptr, tflags int32, pToken return rc } -func fts5SnippetScore(tls *libc.TLS, pApi uintptr, pFts uintptr, nDocsize int32, aSeen uintptr, iCol int32, iPos int32, nToken int32, pnScore uintptr, piPos uintptr) int32 { /* sqlite3.c:219361:12: */ +func fts5SnippetScore(tls *libc.TLS, pApi uintptr, pFts uintptr, nDocsize int32, aSeen uintptr, iCol int32, iPos int32, nToken int32, pnScore uintptr, piPos uintptr) int32 { /* sqlite3.c:219418:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -222094,7 +222123,7 @@ func fts5SnippetScore(tls *libc.TLS, pApi uintptr, pFts uintptr, nDocsize int32, // Return the value in pVal interpreted as utf-8 text. Except, if pVal // contains a NULL value, return a pointer to a static string zero // bytes in length instead of a NULL pointer. -func fts5ValueToText(tls *libc.TLS, pVal uintptr) uintptr { /* sqlite3.c:219410:19: */ +func fts5ValueToText(tls *libc.TLS, pVal uintptr) uintptr { /* sqlite3.c:219467:19: */ var zRet uintptr = Xsqlite3_value_text(tls, pVal) if zRet != 0 { return zRet @@ -222103,7 +222132,7 @@ func fts5ValueToText(tls *libc.TLS, pVal uintptr) uintptr { /* sqlite3.c:219410: } // Implementation of snippet() function. -func fts5SnippetFunction(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uintptr, nVal int32, apVal uintptr) { /* sqlite3.c:219418:13: */ +func fts5SnippetFunction(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uintptr, nVal int32, apVal uintptr) { /* sqlite3.c:219475:13: */ bp := tls.Alloc(172) defer tls.Free(172) @@ -222318,17 +222347,17 @@ type Fts5Bm25Data1 = struct { Favgdl float64 FaIDF uintptr FaFreq uintptr -} /* sqlite3.c:219576:9 */ +} /* sqlite3.c:219633:9 */ //********************************************************************** // The first time the bm25() function is called for a query, an instance // of the following structure is allocated and populated. -type Fts5Bm25Data = Fts5Bm25Data1 /* sqlite3.c:219576:29 */ +type Fts5Bm25Data = Fts5Bm25Data1 /* sqlite3.c:219633:29 */ // Callback used by fts5Bm25GetData() to count the number of rows in the // table matched by each individual phrase within the query. -func fts5CountCb(tls *libc.TLS, pApi uintptr, pFts uintptr, pUserData uintptr) int32 { /* sqlite3.c:219588:12: */ +func fts5CountCb(tls *libc.TLS, pApi uintptr, pFts uintptr, pUserData uintptr) int32 { /* sqlite3.c:219645:12: */ var pn uintptr = pUserData _ = pApi _ = pFts @@ -222339,7 +222368,7 @@ func fts5CountCb(tls *libc.TLS, pApi uintptr, pFts uintptr, pUserData uintptr) i // Set *ppData to point to the Fts5Bm25Data object for the current query. // If the object has not already been allocated, allocate and populate it // now. -func fts5Bm25GetData(tls *libc.TLS, pApi uintptr, pFts uintptr, ppData uintptr) int32 { /* sqlite3.c:219604:12: */ +func fts5Bm25GetData(tls *libc.TLS, pApi uintptr, pFts uintptr, ppData uintptr) int32 { /* sqlite3.c:219661:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -222433,7 +222462,7 @@ func fts5Bm25GetData(tls *libc.TLS, pApi uintptr, pFts uintptr, ppData uintptr) } // Implementation of bm25() function. -func fts5Bm25Function(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uintptr, nVal int32, apVal uintptr) { /* sqlite3.c:219677:13: */ +func fts5Bm25Function(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uintptr, nVal int32, apVal uintptr) { /* sqlite3.c:219734:13: */ bp := tls.Alloc(28) defer tls.Free(28) @@ -222501,7 +222530,7 @@ func fts5Bm25Function(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uintptr, n } } -func sqlite3Fts5AuxInit(tls *libc.TLS, pApi uintptr) int32 { /* sqlite3.c:219733:12: */ +func sqlite3Fts5AuxInit(tls *libc.TLS, pApi uintptr) int32 { /* sqlite3.c:219790:12: */ bp := tls.Alloc(96) defer tls.Free(96) @@ -222537,7 +222566,7 @@ type Builtin = struct { FpUserData uintptr FxFunc Fts5_extension_function FxDestroy uintptr -} /* sqlite3.c:219734:3 */ +} /* sqlite3.c:219791:3 */ // 2014 May 31 // @@ -222552,7 +222581,7 @@ type Builtin = struct { // #include "fts5Int.h" -func sqlite3Fts5BufferSize(tls *libc.TLS, pRc uintptr, pBuf uintptr, nByte U32) int32 { /* sqlite3.c:219776:12: */ +func sqlite3Fts5BufferSize(tls *libc.TLS, pRc uintptr, pBuf uintptr, nByte U32) int32 { /* sqlite3.c:219833:12: */ if U32((*Fts5Buffer)(unsafe.Pointer(pBuf)).FnSpace) < nByte { var nNew U64 if (*Fts5Buffer)(unsafe.Pointer(pBuf)).FnSpace != 0 { @@ -222578,7 +222607,7 @@ func sqlite3Fts5BufferSize(tls *libc.TLS, pRc uintptr, pBuf uintptr, nByte U32) // Encode value iVal as an SQLite varint and append it to the buffer object // pBuf. If an OOM error occurs, set the error code in p. -func sqlite3Fts5BufferAppendVarint(tls *libc.TLS, pRc uintptr, pBuf uintptr, iVal I64) { /* sqlite3.c:219800:13: */ +func sqlite3Fts5BufferAppendVarint(tls *libc.TLS, pRc uintptr, pBuf uintptr, iVal I64) { /* sqlite3.c:219857:13: */ if func() int32 { if U32((*Fts5Buffer)(unsafe.Pointer(pBuf)).Fn)+U32(9) <= U32((*Fts5Buffer)(unsafe.Pointer(pBuf)).FnSpace) { return 0 @@ -222590,21 +222619,21 @@ func sqlite3Fts5BufferAppendVarint(tls *libc.TLS, pRc uintptr, pBuf uintptr, iVa *(*int32)(unsafe.Pointer(pBuf + 8)) += sqlite3Fts5PutVarint(tls, (*Fts5Buffer)(unsafe.Pointer(pBuf)).Fp+uintptr((*Fts5Buffer)(unsafe.Pointer(pBuf)).Fn), uint64(iVal)) } -func sqlite3Fts5Put32(tls *libc.TLS, aBuf uintptr, iVal int32) { /* sqlite3.c:219805:13: */ +func sqlite3Fts5Put32(tls *libc.TLS, aBuf uintptr, iVal int32) { /* sqlite3.c:219862:13: */ *(*U8)(unsafe.Pointer(aBuf)) = U8(iVal >> 24 & 0x00FF) *(*U8)(unsafe.Pointer(aBuf + 1)) = U8(iVal >> 16 & 0x00FF) *(*U8)(unsafe.Pointer(aBuf + 2)) = U8(iVal >> 8 & 0x00FF) *(*U8)(unsafe.Pointer(aBuf + 3)) = U8(iVal >> 0 & 0x00FF) } -func sqlite3Fts5Get32(tls *libc.TLS, aBuf uintptr) int32 { /* sqlite3.c:219812:12: */ +func sqlite3Fts5Get32(tls *libc.TLS, aBuf uintptr) int32 { /* sqlite3.c:219869:12: */ return int32(U32(*(*U8)(unsafe.Pointer(aBuf)))<<24 + U32(int32(*(*U8)(unsafe.Pointer(aBuf + 1)))<<16) + U32(int32(*(*U8)(unsafe.Pointer(aBuf + 2)))<<8) + U32(*(*U8)(unsafe.Pointer(aBuf + 3)))) } // Append buffer nData/pData to buffer pBuf. If an OOM error occurs, set // the error code in p. If an error has already occurred when this function // is called, it is a no-op. -func sqlite3Fts5BufferAppendBlob(tls *libc.TLS, pRc uintptr, pBuf uintptr, nData U32, pData uintptr) { /* sqlite3.c:219821:13: */ +func sqlite3Fts5BufferAppendBlob(tls *libc.TLS, pRc uintptr, pBuf uintptr, nData U32, pData uintptr) { /* sqlite3.c:219878:13: */ if nData != 0 { if func() int32 { if U32((*Fts5Buffer)(unsafe.Pointer(pBuf)).Fn)+nData <= U32((*Fts5Buffer)(unsafe.Pointer(pBuf)).FnSpace) { @@ -222622,7 +222651,7 @@ func sqlite3Fts5BufferAppendBlob(tls *libc.TLS, pRc uintptr, pBuf uintptr, nData // Append the nul-terminated string zStr to the buffer pBuf. This function // ensures that the byte following the buffer data is set to 0x00, even // though this byte is not included in the pBuf->n count. -func sqlite3Fts5BufferAppendString(tls *libc.TLS, pRc uintptr, pBuf uintptr, zStr uintptr) { /* sqlite3.c:219839:13: */ +func sqlite3Fts5BufferAppendString(tls *libc.TLS, pRc uintptr, pBuf uintptr, zStr uintptr) { /* sqlite3.c:219896:13: */ var nStr int32 = int32(libc.Xstrlen(tls, zStr)) sqlite3Fts5BufferAppendBlob(tls, pRc, pBuf, uint32(nStr+1), zStr) (*Fts5Buffer)(unsafe.Pointer(pBuf)).Fn-- @@ -222634,7 +222663,7 @@ func sqlite3Fts5BufferAppendString(tls *libc.TLS, pRc uintptr, pBuf uintptr, zSt // Like sqlite3Fts5BufferAppendString(), this function ensures that the byte // following the buffer data is set to 0x00, even though this byte is not // included in the pBuf->n count. -func sqlite3Fts5BufferAppendPrintf(tls *libc.TLS, pRc uintptr, pBuf uintptr, zFmt uintptr, va uintptr) { /* sqlite3.c:219857:13: */ +func sqlite3Fts5BufferAppendPrintf(tls *libc.TLS, pRc uintptr, pBuf uintptr, zFmt uintptr, va uintptr) { /* sqlite3.c:219914:13: */ if *(*int32)(unsafe.Pointer(pRc)) == SQLITE_OK { var zTmp uintptr var ap Va_list @@ -222652,7 +222681,7 @@ func sqlite3Fts5BufferAppendPrintf(tls *libc.TLS, pRc uintptr, pBuf uintptr, zFm } } -func sqlite3Fts5Mprintf(tls *libc.TLS, pRc uintptr, zFmt uintptr, va uintptr) uintptr { /* sqlite3.c:219878:13: */ +func sqlite3Fts5Mprintf(tls *libc.TLS, pRc uintptr, zFmt uintptr, va uintptr) uintptr { /* sqlite3.c:219935:13: */ var zRet uintptr = uintptr(0) if *(*int32)(unsafe.Pointer(pRc)) == SQLITE_OK { var ap Va_list @@ -222668,26 +222697,26 @@ func sqlite3Fts5Mprintf(tls *libc.TLS, pRc uintptr, zFmt uintptr, va uintptr) ui } // Free any buffer allocated by pBuf. Zero the structure before returning. -func sqlite3Fts5BufferFree(tls *libc.TLS, pBuf uintptr) { /* sqlite3.c:219896:13: */ +func sqlite3Fts5BufferFree(tls *libc.TLS, pBuf uintptr) { /* sqlite3.c:219953:13: */ Xsqlite3_free(tls, (*Fts5Buffer)(unsafe.Pointer(pBuf)).Fp) libc.Xmemset(tls, pBuf, 0, uint64(unsafe.Sizeof(Fts5Buffer{}))) } // Zero the contents of the buffer object. But do not free the associated // memory allocation. -func sqlite3Fts5BufferZero(tls *libc.TLS, pBuf uintptr) { /* sqlite3.c:219905:13: */ +func sqlite3Fts5BufferZero(tls *libc.TLS, pBuf uintptr) { /* sqlite3.c:219962:13: */ (*Fts5Buffer)(unsafe.Pointer(pBuf)).Fn = 0 } // Set the buffer to contain nData/pData. If an OOM error occurs, leave an // the error code in p. If an error has already occurred when this function // is called, it is a no-op. -func sqlite3Fts5BufferSet(tls *libc.TLS, pRc uintptr, pBuf uintptr, nData int32, pData uintptr) { /* sqlite3.c:219914:13: */ +func sqlite3Fts5BufferSet(tls *libc.TLS, pRc uintptr, pBuf uintptr, nData int32, pData uintptr) { /* sqlite3.c:219971:13: */ (*Fts5Buffer)(unsafe.Pointer(pBuf)).Fn = 0 sqlite3Fts5BufferAppendBlob(tls, pRc, pBuf, uint32(nData), pData) } -func sqlite3Fts5PoslistNext64(tls *libc.TLS, a uintptr, n int32, pi uintptr, piOff uintptr) int32 { /* sqlite3.c:219924:12: */ +func sqlite3Fts5PoslistNext64(tls *libc.TLS, a uintptr, n int32, pi uintptr, piOff uintptr) int32 { /* sqlite3.c:219981:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -222749,14 +222778,14 @@ func sqlite3Fts5PoslistNext64(tls *libc.TLS, a uintptr, n int32, pi uintptr, piO // Advance the iterator object passed as the only argument. Return true // if the iterator reaches EOF, or false otherwise. -func sqlite3Fts5PoslistReaderNext(tls *libc.TLS, pIter uintptr) int32 { /* sqlite3.c:219967:12: */ +func sqlite3Fts5PoslistReaderNext(tls *libc.TLS, pIter uintptr) int32 { /* sqlite3.c:220024:12: */ if sqlite3Fts5PoslistNext64(tls, (*Fts5PoslistReader)(unsafe.Pointer(pIter)).Fa, (*Fts5PoslistReader)(unsafe.Pointer(pIter)).Fn, pIter+12, pIter+24) != 0 { (*Fts5PoslistReader)(unsafe.Pointer(pIter)).FbEof = U8(1) } return int32((*Fts5PoslistReader)(unsafe.Pointer(pIter)).FbEof) } -func sqlite3Fts5PoslistReaderInit(tls *libc.TLS, a uintptr, n int32, pIter uintptr) int32 { /* sqlite3.c:219974:12: */ +func sqlite3Fts5PoslistReaderInit(tls *libc.TLS, a uintptr, n int32, pIter uintptr) int32 { /* sqlite3.c:220031:12: */ libc.Xmemset(tls, pIter, 0, uint64(unsafe.Sizeof(Fts5PoslistReader{}))) (*Fts5PoslistReader)(unsafe.Pointer(pIter)).Fa = a (*Fts5PoslistReader)(unsafe.Pointer(pIter)).Fn = n @@ -222768,7 +222797,7 @@ func sqlite3Fts5PoslistReaderInit(tls *libc.TLS, a uintptr, n int32, pIter uintp // pBuf, which must be already be large enough to hold the new data. // The previous position written to this list is *piPrev. *piPrev is set // to iPos before returning. -func sqlite3Fts5PoslistSafeAppend(tls *libc.TLS, pBuf uintptr, piPrev uintptr, iPos I64) { /* sqlite3.c:219991:13: */ +func sqlite3Fts5PoslistSafeAppend(tls *libc.TLS, pBuf uintptr, piPrev uintptr, iPos I64) { /* sqlite3.c:220048:13: */ if iPos >= *(*I64)(unsafe.Pointer(piPrev)) { if iPos&colmask != *(*I64)(unsafe.Pointer(piPrev))&colmask { *(*U8)(unsafe.Pointer((*Fts5Buffer)(unsafe.Pointer(pBuf)).Fp + uintptr(libc.PostIncInt32(&(*Fts5Buffer)(unsafe.Pointer(pBuf)).Fn, 1)))) = U8(1) @@ -222780,9 +222809,9 @@ func sqlite3Fts5PoslistSafeAppend(tls *libc.TLS, pBuf uintptr, piPrev uintptr, i } } -var colmask I64 = I64(int64(0x7FFFFFFF)) << 32 /* sqlite3.c:219997:22 */ +var colmask I64 = I64(int64(0x7FFFFFFF)) << 32 /* sqlite3.c:220054:22 */ -func sqlite3Fts5PoslistWriterAppend(tls *libc.TLS, pBuf uintptr, pWriter uintptr, iPos I64) int32 { /* sqlite3.c:220008:12: */ +func sqlite3Fts5PoslistWriterAppend(tls *libc.TLS, pBuf uintptr, pWriter uintptr, iPos I64) int32 { /* sqlite3.c:220065:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -222799,7 +222828,7 @@ func sqlite3Fts5PoslistWriterAppend(tls *libc.TLS, pBuf uintptr, pWriter uintptr return SQLITE_OK } -func sqlite3Fts5MallocZero(tls *libc.TLS, pRc uintptr, nByte Sqlite3_int64) uintptr { /* sqlite3.c:220019:13: */ +func sqlite3Fts5MallocZero(tls *libc.TLS, pRc uintptr, nByte Sqlite3_int64) uintptr { /* sqlite3.c:220076:13: */ var pRet uintptr = uintptr(0) if *(*int32)(unsafe.Pointer(pRc)) == SQLITE_OK { pRet = Xsqlite3_malloc64(tls, uint64(nByte)) @@ -222820,7 +222849,7 @@ func sqlite3Fts5MallocZero(tls *libc.TLS, pRc uintptr, nByte Sqlite3_int64) uint // // It is the responsibility of the caller to eventually free the returned // buffer using sqlite3_free(). If an OOM error occurs, NULL is returned. -func sqlite3Fts5Strndup(tls *libc.TLS, pRc uintptr, pIn uintptr, nIn int32) uintptr { /* sqlite3.c:220040:13: */ +func sqlite3Fts5Strndup(tls *libc.TLS, pRc uintptr, pIn uintptr, nIn int32) uintptr { /* sqlite3.c:220097:13: */ var zRet uintptr = uintptr(0) if *(*int32)(unsafe.Pointer(pRc)) == SQLITE_OK { if nIn < 0 { @@ -222845,7 +222874,7 @@ func sqlite3Fts5Strndup(tls *libc.TLS, pRc uintptr, pIn uintptr, nIn int32) uint // * The 10 integer ASCII characters. // * The underscore character "_" (0x5F). // * The unicode "subsitute" character (0x1A). -func sqlite3Fts5IsBareword(tls *libc.TLS, t int8) int32 { /* sqlite3.c:220068:12: */ +func sqlite3Fts5IsBareword(tls *libc.TLS, t int8) int32 { /* sqlite3.c:220125:12: */ bp := tls.Alloc(128) defer tls.Free(128) @@ -222870,13 +222899,13 @@ type Fts5TermsetEntry1 = struct { FnTerm int32 FiIdx int32 FpNext uintptr -} /* sqlite3.c:217037:9 */ +} /* sqlite3.c:217094:9 */ // ************************************************************************ // -type Fts5TermsetEntry = Fts5TermsetEntry1 /* sqlite3.c:220086:33 */ +type Fts5TermsetEntry = Fts5TermsetEntry1 /* sqlite3.c:220143:33 */ -func sqlite3Fts5TermsetNew(tls *libc.TLS, pp uintptr) int32 { /* sqlite3.c:220098:12: */ +func sqlite3Fts5TermsetNew(tls *libc.TLS, pp uintptr) int32 { /* sqlite3.c:220155:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -222885,7 +222914,7 @@ func sqlite3Fts5TermsetNew(tls *libc.TLS, pp uintptr) int32 { /* sqlite3.c:22009 return *(*int32)(unsafe.Pointer(bp /* rc */)) } -func sqlite3Fts5TermsetAdd(tls *libc.TLS, p uintptr, iIdx int32, pTerm uintptr, nTerm int32, pbPresent uintptr) int32 { /* sqlite3.c:220104:12: */ +func sqlite3Fts5TermsetAdd(tls *libc.TLS, p uintptr, iIdx int32, pTerm uintptr, nTerm int32, pbPresent uintptr) int32 { /* sqlite3.c:220161:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -222931,7 +222960,7 @@ func sqlite3Fts5TermsetAdd(tls *libc.TLS, p uintptr, iIdx int32, pTerm uintptr, return *(*int32)(unsafe.Pointer(bp /* rc */)) } -func sqlite3Fts5TermsetFree(tls *libc.TLS, p uintptr) { /* sqlite3.c:220153:13: */ +func sqlite3Fts5TermsetFree(tls *libc.TLS, p uintptr) { /* sqlite3.c:220210:13: */ if p != 0 { var i U32 for i = U32(0); i < U32(int32(uint64(unsafe.Sizeof([512]uintptr{}))/uint64(unsafe.Sizeof(uintptr(0))))); i++ { @@ -222963,18 +222992,18 @@ func sqlite3Fts5TermsetFree(tls *libc.TLS, p uintptr) { /* sqlite3.c:220153:13: // Maximum allowed page size -func fts5_iswhitespace(tls *libc.TLS, x int8) int32 { /* sqlite3.c:220195:12: */ +func fts5_iswhitespace(tls *libc.TLS, x int8) int32 { /* sqlite3.c:220252:12: */ return libc.Bool32(int32(x) == ' ') } -func fts5_isopenquote(tls *libc.TLS, x int8) int32 { /* sqlite3.c:220199:12: */ +func fts5_isopenquote(tls *libc.TLS, x int8) int32 { /* sqlite3.c:220256:12: */ return libc.Bool32(int32(x) == '"' || int32(x) == '\'' || int32(x) == '[' || int32(x) == '`') } // Argument pIn points to a character that is part of a nul-terminated // string. Return a pointer to the first character following *pIn in // the string that is not a white-space character. -func fts5ConfigSkipWhitespace(tls *libc.TLS, pIn uintptr) uintptr { /* sqlite3.c:220208:19: */ +func fts5ConfigSkipWhitespace(tls *libc.TLS, pIn uintptr) uintptr { /* sqlite3.c:220265:19: */ var p uintptr = pIn if p != 0 { for fts5_iswhitespace(tls, *(*int8)(unsafe.Pointer(p))) != 0 { @@ -222987,7 +223016,7 @@ func fts5ConfigSkipWhitespace(tls *libc.TLS, pIn uintptr) uintptr { /* sqlite3.c // Argument pIn points to a character that is part of a nul-terminated // string. Return a pointer to the first character following *pIn in // the string that is not a "bareword" character. -func fts5ConfigSkipBareword(tls *libc.TLS, pIn uintptr) uintptr { /* sqlite3.c:220221:19: */ +func fts5ConfigSkipBareword(tls *libc.TLS, pIn uintptr) uintptr { /* sqlite3.c:220278:19: */ var p uintptr = pIn for sqlite3Fts5IsBareword(tls, *(*int8)(unsafe.Pointer(p))) != 0 { p++ @@ -222998,11 +223027,11 @@ func fts5ConfigSkipBareword(tls *libc.TLS, pIn uintptr) uintptr { /* sqlite3.c:2 return p } -func fts5_isdigit(tls *libc.TLS, a int8) int32 { /* sqlite3.c:220228:12: */ +func fts5_isdigit(tls *libc.TLS, a int8) int32 { /* sqlite3.c:220285:12: */ return libc.Bool32(int32(a) >= '0' && int32(a) <= '9') } -func fts5ConfigSkipLiteral(tls *libc.TLS, pIn uintptr) uintptr { /* sqlite3.c:220234:19: */ +func fts5ConfigSkipLiteral(tls *libc.TLS, pIn uintptr) uintptr { /* sqlite3.c:220291:19: */ var p uintptr = pIn switch int32(*(*int8)(unsafe.Pointer(p))) { case 'n': @@ -223091,7 +223120,7 @@ func fts5ConfigSkipLiteral(tls *libc.TLS, pIn uintptr) uintptr { /* sqlite3.c:22 // the character immediately following it. Or, if the close-quote is not // found, -1 is returned. If -1 is returned, the buffer is left in an // undefined state. -func fts5Dequote(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:220310:12: */ +func fts5Dequote(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:220367:12: */ var q int8 var iIn int32 = 1 var iOut int32 = 0 @@ -223136,7 +223165,7 @@ func fts5Dequote(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:220310:12: */ // 'xyz' becomes xyz // [pqr] becomes pqr // `mno` becomes mno -func sqlite3Fts5Dequote(tls *libc.TLS, z uintptr) { /* sqlite3.c:220355:13: */ +func sqlite3Fts5Dequote(tls *libc.TLS, z uintptr) { /* sqlite3.c:220412:13: */ var quote int8 // Quote character (if any ) quote = *(*int8)(unsafe.Pointer(z)) @@ -223149,11 +223178,11 @@ type Fts5Enum1 = struct { FzName uintptr FeVal int32 F__ccgo_pad1 [4]byte -} /* sqlite3.c:220366:1 */ +} /* sqlite3.c:220423:1 */ -type Fts5Enum = Fts5Enum1 /* sqlite3.c:220370:25 */ +type Fts5Enum = Fts5Enum1 /* sqlite3.c:220427:25 */ -func fts5ConfigSetEnum(tls *libc.TLS, aEnum uintptr, zEnum uintptr, peVal uintptr) int32 { /* sqlite3.c:220372:12: */ +func fts5ConfigSetEnum(tls *libc.TLS, aEnum uintptr, zEnum uintptr, peVal uintptr) int32 { /* sqlite3.c:220429:12: */ var nEnum int32 = int32(libc.Xstrlen(tls, zEnum)) var i int32 var iVal int32 = -1 @@ -223181,7 +223210,7 @@ func fts5ConfigSetEnum(tls *libc.TLS, aEnum uintptr, zEnum uintptr, peVal uintpt // an error occurs, an SQLite error code is returned and an error message // may be left in *pzErr. It is the responsibility of the caller to // eventually free any such error message using sqlite3_free(). -func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCmd uintptr, zArg uintptr, pzErr uintptr) int32 { /* sqlite3.c:220401:12: */ +func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCmd uintptr, zArg uintptr, pzErr uintptr) int32 { /* sqlite3.c:220458:12: */ bp := tls.Alloc(112) defer tls.Free(112) @@ -223344,7 +223373,7 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm // Allocate an instance of the default tokenizer ("simple") at // Fts5Config.pTokenizer. Return SQLITE_OK if successful, or an SQLite error // code if an error occurs. -func fts5ConfigDefaultTokenizer(tls *libc.TLS, pGlobal uintptr, pConfig uintptr) int32 { /* sqlite3.c:220565:12: */ +func fts5ConfigDefaultTokenizer(tls *libc.TLS, pGlobal uintptr, pConfig uintptr) int32 { /* sqlite3.c:220622:12: */ return sqlite3Fts5GetTokenizer(tls, pGlobal, uintptr(0), 0, pConfig, uintptr(0)) } @@ -223362,7 +223391,7 @@ func fts5ConfigDefaultTokenizer(tls *libc.TLS, pGlobal uintptr, pConfig uintptr) // a no-op (NULL is returned). Otherwise, if an OOM occurs within this // function, *pRc is set to SQLITE_NOMEM before returning. *pRc is *not* // set if a parse error (failed to find close quote) occurs. -func fts5ConfigGobbleWord(tls *libc.TLS, pRc uintptr, zIn uintptr, pzOut uintptr, pbQuoted uintptr) uintptr { /* sqlite3.c:220585:19: */ +func fts5ConfigGobbleWord(tls *libc.TLS, pRc uintptr, zIn uintptr, pzOut uintptr, pbQuoted uintptr) uintptr { /* sqlite3.c:220642:19: */ var zRet uintptr = uintptr(0) var nIn Sqlite3_int64 = Sqlite3_int64(libc.Xstrlen(tls, zIn)) @@ -223396,7 +223425,7 @@ func fts5ConfigGobbleWord(tls *libc.TLS, pRc uintptr, zIn uintptr, pzOut uintptr return zRet } -func fts5ConfigParseColumn(tls *libc.TLS, p uintptr, zCol uintptr, zArg uintptr, pzErr uintptr) int32 { /* sqlite3.c:220625:12: */ +func fts5ConfigParseColumn(tls *libc.TLS, p uintptr, zCol uintptr, zArg uintptr, pzErr uintptr) int32 { /* sqlite3.c:220682:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -223419,7 +223448,7 @@ func fts5ConfigParseColumn(tls *libc.TLS, p uintptr, zCol uintptr, zArg uintptr, } // Populate the Fts5Config.zContentExprlist string. -func fts5ConfigMakeExprlist(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:220653:12: */ +func fts5ConfigMakeExprlist(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:220710:12: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -223452,7 +223481,7 @@ func fts5ConfigMakeExprlist(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:22065 // returned, *ppOut is set to NULL and an error message may be left in // *pzErr. It is the responsibility of the caller to eventually free any // such error message using sqlite3_free(). -func sqlite3Fts5ConfigParse(tls *libc.TLS, pGlobal uintptr, db uintptr, nArg int32, azArg uintptr, ppOut uintptr, pzErr uintptr) int32 { /* sqlite3.c:220686:12: */ +func sqlite3Fts5ConfigParse(tls *libc.TLS, pGlobal uintptr, db uintptr, nArg int32, azArg uintptr, ppOut uintptr, pzErr uintptr) int32 { /* sqlite3.c:220743:12: */ bp := tls.Alloc(76) defer tls.Free(76) @@ -223585,7 +223614,7 @@ func sqlite3Fts5ConfigParse(tls *libc.TLS, pGlobal uintptr, db uintptr, nArg int } // Free the configuration object passed as the only argument. -func sqlite3Fts5ConfigFree(tls *libc.TLS, pConfig uintptr) { /* sqlite3.c:220810:13: */ +func sqlite3Fts5ConfigFree(tls *libc.TLS, pConfig uintptr) { /* sqlite3.c:220867:13: */ if pConfig != 0 { var i int32 if (*Fts5Config)(unsafe.Pointer(pConfig)).FpTok != 0 { @@ -223610,7 +223639,7 @@ func sqlite3Fts5ConfigFree(tls *libc.TLS, pConfig uintptr) { /* sqlite3.c:220810 // Call sqlite3_declare_vtab() based on the contents of the configuration // object passed as the only argument. Return SQLITE_OK if successful, or // an SQLite error code if an error occurs. -func sqlite3Fts5ConfigDeclareVtab(tls *libc.TLS, pConfig uintptr) int32 { /* sqlite3.c:220837:12: */ +func sqlite3Fts5ConfigDeclareVtab(tls *libc.TLS, pConfig uintptr) int32 { /* sqlite3.c:220894:12: */ bp := tls.Alloc(52) defer tls.Free(52) @@ -223660,7 +223689,7 @@ func sqlite3Fts5ConfigDeclareVtab(tls *libc.TLS, pConfig uintptr) int32 { /* sql // still returns SQLITE_OK. Or, if the tokenization was abandoned early // 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) int32 { /* sqlite3.c:220883:12: */ +func sqlite3Fts5Tokenize(tls *libc.TLS, pConfig uintptr, flags int32, pText uintptr, nText int32, pCtx uintptr, xToken uintptr) int32 { /* sqlite3.c:220940:12: */ if pText == uintptr(0) { return SQLITE_OK } @@ -223674,7 +223703,7 @@ func sqlite3Fts5Tokenize(tls *libc.TLS, pConfig uintptr, flags int32, pText uint // a comma-separated list of SQL literals followed by a ')' character. // If it actually is this, return a pointer to the ')'. Otherwise, return // NULL to indicate a parse error. -func fts5ConfigSkipArgs(tls *libc.TLS, pIn uintptr) uintptr { /* sqlite3.c:220902:19: */ +func fts5ConfigSkipArgs(tls *libc.TLS, pIn uintptr) uintptr { /* sqlite3.c:220959:19: */ var p uintptr = pIn for 1 != 0 { @@ -223701,7 +223730,7 @@ func fts5ConfigSkipArgs(tls *libc.TLS, pIn uintptr) uintptr { /* sqlite3.c:22090 // + Open parenthesis - "(" // + Zero or more SQL literals in a comma separated list // + Close parenthesis - ")" -func sqlite3Fts5ConfigParseRank(tls *libc.TLS, zIn uintptr, pzRank uintptr, pzRankArgs uintptr) int32 { /* sqlite3.c:220929:12: */ +func sqlite3Fts5ConfigParseRank(tls *libc.TLS, zIn uintptr, pzRank uintptr, pzRankArgs uintptr) int32 { /* sqlite3.c:220986:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -223765,7 +223794,7 @@ func sqlite3Fts5ConfigParseRank(tls *libc.TLS, zIn uintptr, pzRank uintptr, pzRa return *(*int32)(unsafe.Pointer(bp /* rc */)) } -func sqlite3Fts5ConfigSetValue(tls *libc.TLS, pConfig uintptr, zKey uintptr, pVal uintptr, pbBadkey uintptr) int32 { /* sqlite3.c:220988:12: */ +func sqlite3Fts5ConfigSetValue(tls *libc.TLS, pConfig uintptr, zKey uintptr, pVal uintptr, pbBadkey uintptr) int32 { /* sqlite3.c:221045:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -223853,7 +223882,7 @@ func sqlite3Fts5ConfigSetValue(tls *libc.TLS, pConfig uintptr, zKey uintptr, pVa } // Load the contents of the %_config table into memory. -func sqlite3Fts5ConfigLoad(tls *libc.TLS, pConfig uintptr, iCookie int32) int32 { /* sqlite3.c:221082:12: */ +func sqlite3Fts5ConfigLoad(tls *libc.TLS, pConfig uintptr, iCookie int32) int32 { /* sqlite3.c:221139:12: */ bp := tls.Alloc(52) defer tls.Free(52) @@ -223930,7 +223959,7 @@ type Fts5ExprTerm1 = struct { FzTerm uintptr FpIter uintptr FpSynonym uintptr -} /* sqlite3.c:216813:9 */ +} /* sqlite3.c:216870:9 */ // 2014 May 31 // @@ -223949,9 +223978,9 @@ type Fts5ExprTerm1 = struct { // All token types in the generated fts5parse.h file are greater than 0. -type Fts5ExprTerm = Fts5ExprTerm1 /* sqlite3.c:221160:29 */ +type Fts5ExprTerm = Fts5ExprTerm1 /* sqlite3.c:221217:29 */ -func sqlite3Fts5ParseError(tls *libc.TLS, pParse uintptr, zFmt uintptr, va uintptr) { /* sqlite3.c:221267:13: */ +func sqlite3Fts5ParseError(tls *libc.TLS, pParse uintptr, zFmt uintptr, va uintptr) { /* sqlite3.c:221324:13: */ var ap Va_list _ = ap ap = va @@ -223963,12 +223992,12 @@ func sqlite3Fts5ParseError(tls *libc.TLS, pParse uintptr, zFmt uintptr, va uintp _ = ap } -func fts5ExprIsspace(tls *libc.TLS, t int8) int32 { /* sqlite3.c:221278:12: */ +func fts5ExprIsspace(tls *libc.TLS, t int8) int32 { /* sqlite3.c:221335:12: */ return libc.Bool32(int32(t) == ' ' || int32(t) == '\t' || int32(t) == '\n' || int32(t) == '\r') } // Read the first token from the nul-terminated string at *pz. -func fts5ExprGetToken(tls *libc.TLS, pParse uintptr, pz uintptr, pToken uintptr) int32 { /* sqlite3.c:221285:12: */ +func fts5ExprGetToken(tls *libc.TLS, pParse uintptr, pz uintptr, pToken uintptr) int32 { /* sqlite3.c:221342:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -224068,15 +224097,15 @@ func fts5ExprGetToken(tls *libc.TLS, pParse uintptr, pz uintptr, pToken uintptr) return tok } -func fts5ParseAlloc(tls *libc.TLS, t U64) uintptr { /* sqlite3.c:221349:13: */ +func fts5ParseAlloc(tls *libc.TLS, t U64) uintptr { /* sqlite3.c:221406:13: */ return Xsqlite3_malloc64(tls, uint64(Sqlite3_int64(t))) } -func fts5ParseFree(tls *libc.TLS, p uintptr) { /* sqlite3.c:221350:13: */ +func fts5ParseFree(tls *libc.TLS, p uintptr) { /* sqlite3.c:221407:13: */ Xsqlite3_free(tls, p) } -func sqlite3Fts5ExprNew(tls *libc.TLS, pConfig uintptr, bPhraseToAnd int32, iCol int32, zExpr uintptr, ppNew uintptr, pzErr uintptr) int32 { /* sqlite3.c:221352:12: */ +func sqlite3Fts5ExprNew(tls *libc.TLS, pConfig uintptr, bPhraseToAnd int32, iCol int32, zExpr uintptr, ppNew uintptr, pzErr uintptr) int32 { /* sqlite3.c:221409:12: */ bp := tls.Alloc(72) defer tls.Free(72) @@ -224154,7 +224183,7 @@ func sqlite3Fts5ExprNew(tls *libc.TLS, pConfig uintptr, bPhraseToAnd int32, iCol // expression that will match a superset of the rows matched by the LIKE or // GLOB. If successful, SQLITE_OK is returned. Otherwise, an SQLite error // code. -func sqlite3Fts5ExprPattern(tls *libc.TLS, pConfig uintptr, bGlob int32, iCol int32, zText uintptr, pp uintptr) int32 { /* sqlite3.c:221433:12: */ +func sqlite3Fts5ExprPattern(tls *libc.TLS, pConfig uintptr, bGlob int32, iCol int32, zText uintptr, pp uintptr) int32 { /* sqlite3.c:221490:12: */ bp := tls.Alloc(3) defer tls.Free(3) @@ -224229,7 +224258,7 @@ func sqlite3Fts5ExprPattern(tls *libc.TLS, pConfig uintptr, bGlob int32, iCol in } // Free the expression node object passed as the only argument. -func sqlite3Fts5ParseNodeFree(tls *libc.TLS, p uintptr) { /* sqlite3.c:221503:13: */ +func sqlite3Fts5ParseNodeFree(tls *libc.TLS, p uintptr) { /* sqlite3.c:221560:13: */ if p != 0 { var i int32 for i = 0; i < (*Fts5ExprNode)(unsafe.Pointer(p)).FnChild; i++ { @@ -224241,7 +224270,7 @@ func sqlite3Fts5ParseNodeFree(tls *libc.TLS, p uintptr) { /* sqlite3.c:221503:13 } // Free the expression object passed as the only argument. -func sqlite3Fts5ExprFree(tls *libc.TLS, p uintptr) { /* sqlite3.c:221517:13: */ +func sqlite3Fts5ExprFree(tls *libc.TLS, p uintptr) { /* sqlite3.c:221574:13: */ if p != 0 { sqlite3Fts5ParseNodeFree(tls, (*Fts5Expr)(unsafe.Pointer(p)).FpRoot) Xsqlite3_free(tls, (*Fts5Expr)(unsafe.Pointer(p)).FapExprPhrase) @@ -224249,7 +224278,7 @@ func sqlite3Fts5ExprFree(tls *libc.TLS, p uintptr) { /* sqlite3.c:221517:13: */ } } -func sqlite3Fts5ExprAnd(tls *libc.TLS, pp1 uintptr, p2 uintptr) int32 { /* sqlite3.c:221525:12: */ +func sqlite3Fts5ExprAnd(tls *libc.TLS, pp1 uintptr, p2 uintptr) int32 { /* sqlite3.c:221582:12: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -224290,7 +224319,7 @@ func sqlite3Fts5ExprAnd(tls *libc.TLS, pp1 uintptr, p2 uintptr) int32 { /* sqlit // Argument pTerm must be a synonym iterator. Return the current rowid // that it points to. -func fts5ExprSynonymRowid(tls *libc.TLS, pTerm uintptr, bDesc int32, pbEof uintptr) I64 { /* sqlite3.c:221565:12: */ +func fts5ExprSynonymRowid(tls *libc.TLS, pTerm uintptr, bDesc int32, pbEof uintptr) I64 { /* sqlite3.c:221622:12: */ var iRet I64 = int64(0) var bRetValid int32 = 0 var p uintptr @@ -224312,7 +224341,7 @@ func fts5ExprSynonymRowid(tls *libc.TLS, pTerm uintptr, bDesc int32, pbEof uintp } // Argument pTerm must be a synonym iterator. -func fts5ExprSynonymList(tls *libc.TLS, pTerm uintptr, iRowid I64, pBuf uintptr, pa uintptr, pn uintptr) int32 { /* sqlite3.c:221590:12: */ +func fts5ExprSynonymList(tls *libc.TLS, pTerm uintptr, iRowid I64, pBuf uintptr, pa uintptr, pn uintptr) int32 { /* sqlite3.c:221647:12: */ bp := tls.Alloc(136) defer tls.Free(136) @@ -224476,7 +224505,7 @@ __22: // SQLITE_OK is returned if an error occurs, or an SQLite error code // otherwise. It is not considered an error code if the current rowid is // not a match. -func fts5ExprPhraseIsMatch(tls *libc.TLS, pNode uintptr, pPhrase uintptr, pbMatch uintptr) int32 { /* sqlite3.c:221673:12: */ +func fts5ExprPhraseIsMatch(tls *libc.TLS, pNode uintptr, pPhrase uintptr, pbMatch uintptr) int32 { /* sqlite3.c:221730:12: */ bp := tls.Alloc(168) defer tls.Free(168) @@ -224701,11 +224730,11 @@ type Fts5LookaheadReader1 = struct { Fi int32 FiPos I64 FiLookahead I64 -} /* sqlite3.c:221757:9 */ +} /* sqlite3.c:221814:9 */ -type Fts5LookaheadReader = Fts5LookaheadReader1 /* sqlite3.c:221757:36 */ +type Fts5LookaheadReader = Fts5LookaheadReader1 /* sqlite3.c:221814:36 */ -func fts5LookaheadReaderNext(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:221768:12: */ +func fts5LookaheadReaderNext(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:221825:12: */ (*Fts5LookaheadReader)(unsafe.Pointer(p)).FiPos = (*Fts5LookaheadReader)(unsafe.Pointer(p)).FiLookahead if sqlite3Fts5PoslistNext64(tls, (*Fts5LookaheadReader)(unsafe.Pointer(p)).Fa, (*Fts5LookaheadReader)(unsafe.Pointer(p)).Fn, p+12, p+24) != 0 { (*Fts5LookaheadReader)(unsafe.Pointer(p)).FiLookahead = I64(int64(1)) << 62 @@ -224713,7 +224742,7 @@ func fts5LookaheadReaderNext(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:2217 return libc.Bool32((*Fts5LookaheadReader)(unsafe.Pointer(p)).FiPos == I64(int64(1))<<62) } -func fts5LookaheadReaderInit(tls *libc.TLS, a uintptr, n int32, p uintptr) int32 { /* sqlite3.c:221776:12: */ +func fts5LookaheadReaderInit(tls *libc.TLS, a uintptr, n int32, p uintptr) int32 { /* sqlite3.c:221833:12: */ libc.Xmemset(tls, p, 0, uint64(unsafe.Sizeof(Fts5LookaheadReader{}))) (*Fts5LookaheadReader)(unsafe.Pointer(p)).Fa = a (*Fts5LookaheadReader)(unsafe.Pointer(p)).Fn = n @@ -224725,9 +224754,9 @@ type Fts5NearTrimmer1 = struct { Freader Fts5LookaheadReader Fwriter Fts5PoslistWriter FpOut uintptr -} /* sqlite3.c:221787:9 */ +} /* sqlite3.c:221844:9 */ -type Fts5NearTrimmer = Fts5NearTrimmer1 /* sqlite3.c:221787:32 */ +type Fts5NearTrimmer = Fts5NearTrimmer1 /* sqlite3.c:221844:32 */ // The near-set object passed as the first argument contains more than // one phrase. All phrases currently point to the same row. The @@ -224744,7 +224773,7 @@ type Fts5NearTrimmer = Fts5NearTrimmer1 /* sqlite3.c:221787:32 */ // If no error occurs and non-zero (a match) is returned, the position-list // of each phrase object is edited to contain only those entries that // meet the constraint before returning. -func fts5ExprNearIsMatch(tls *libc.TLS, pRc uintptr, pNear uintptr) int32 { /* sqlite3.c:221811:12: */ +func fts5ExprNearIsMatch(tls *libc.TLS, pRc uintptr, pNear uintptr) int32 { /* sqlite3.c:221868:12: */ bp := tls.Alloc(196) defer tls.Free(196) @@ -224946,7 +224975,7 @@ __29: // If the iterator reaches EOF, set *pbEof to true before returning. If // an error occurs, set *pRc to an error code. If either *pbEof or *pRc // are set, return a non-zero value. Otherwise, return zero. -func fts5ExprAdvanceto(tls *libc.TLS, pIter uintptr, bDesc int32, piLast uintptr, pRc uintptr, pbEof uintptr) int32 { /* sqlite3.c:221910:12: */ +func fts5ExprAdvanceto(tls *libc.TLS, pIter uintptr, bDesc int32, piLast uintptr, pRc uintptr, pbEof uintptr) int32 { /* sqlite3.c:221967:12: */ var iLast I64 = *(*I64)(unsafe.Pointer(piLast)) var iRowid I64 @@ -224966,7 +224995,7 @@ func fts5ExprAdvanceto(tls *libc.TLS, pIter uintptr, bDesc int32, piLast uintptr return 0 } -func fts5ExprSynonymAdvanceto(tls *libc.TLS, pTerm uintptr, bDesc int32, piLast uintptr, pRc uintptr) int32 { /* sqlite3.c:221936:12: */ +func fts5ExprSynonymAdvanceto(tls *libc.TLS, pTerm uintptr, bDesc int32, piLast uintptr, pRc uintptr) int32 { /* sqlite3.c:221993:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -224993,7 +225022,7 @@ func fts5ExprSynonymAdvanceto(tls *libc.TLS, pTerm uintptr, bDesc int32, piLast return *(*int32)(unsafe.Pointer(bp /* bEof */)) } -func fts5ExprNearTest(tls *libc.TLS, pRc uintptr, pExpr uintptr, pNode uintptr) int32 { /* sqlite3.c:221966:12: */ +func fts5ExprNearTest(tls *libc.TLS, pRc uintptr, pExpr uintptr, pNode uintptr) int32 { /* sqlite3.c:222023:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -225050,7 +225079,7 @@ func fts5ExprNearTest(tls *libc.TLS, pRc uintptr, pExpr uintptr, pNode uintptr) // If an error occurs, return an SQLite error code. Otherwise, return // SQLITE_OK. It is not considered an error if some term matches zero // documents. -func fts5ExprNearInitAll(tls *libc.TLS, pExpr uintptr, pNode uintptr) int32 { /* sqlite3.c:222025:12: */ +func fts5ExprNearInitAll(tls *libc.TLS, pExpr uintptr, pNode uintptr) int32 { /* sqlite3.c:222082:12: */ var pNear uintptr = (*Fts5ExprNode)(unsafe.Pointer(pNode)).FpNear var i int32 @@ -225116,7 +225145,7 @@ func fts5ExprNearInitAll(tls *libc.TLS, pExpr uintptr, pNode uintptr) int32 { /* // Otherwise, if this is a DESC iterator, the opposite is returned: // // (iRhs - iLhs) -func fts5RowidCmp(tls *libc.TLS, pExpr uintptr, iLhs I64, iRhs I64) int32 { /* sqlite3.c:222087:12: */ +func fts5RowidCmp(tls *libc.TLS, pExpr uintptr, iLhs I64, iRhs I64) int32 { /* sqlite3.c:222144:12: */ if (*Fts5Expr)(unsafe.Pointer(pExpr)).FbDesc == 0 { if iLhs < iRhs { @@ -225132,7 +225161,7 @@ func fts5RowidCmp(tls *libc.TLS, pExpr uintptr, iLhs I64, iRhs I64) int32 { /* s return int32(0) } -func fts5ExprSetEof(tls *libc.TLS, pNode uintptr) { /* sqlite3.c:222102:13: */ +func fts5ExprSetEof(tls *libc.TLS, pNode uintptr) { /* sqlite3.c:222159:13: */ var i int32 (*Fts5ExprNode)(unsafe.Pointer(pNode)).FbEof = 1 (*Fts5ExprNode)(unsafe.Pointer(pNode)).FbNomatch = 0 @@ -225141,7 +225170,7 @@ func fts5ExprSetEof(tls *libc.TLS, pNode uintptr) { /* sqlite3.c:222102:13: */ } } -func fts5ExprNodeZeroPoslist(tls *libc.TLS, pNode uintptr) { /* sqlite3.c:222111:13: */ +func fts5ExprNodeZeroPoslist(tls *libc.TLS, pNode uintptr) { /* sqlite3.c:222168:13: */ if (*Fts5ExprNode)(unsafe.Pointer(pNode)).FeType == FTS5_STRING || (*Fts5ExprNode)(unsafe.Pointer(pNode)).FeType == FTS5_TERM { var pNear uintptr = (*Fts5ExprNode)(unsafe.Pointer(pNode)).FpNear var i int32 @@ -225167,7 +225196,7 @@ func fts5ExprNodeZeroPoslist(tls *libc.TLS, pNode uintptr) { /* sqlite3.c:222111 // This means that if the iteration order is ASC, then numerically larger // rowids are considered larger. Or if it is the default DESC, numerically // smaller rowids are larger. -func fts5NodeCompare(tls *libc.TLS, pExpr uintptr, p1 uintptr, p2 uintptr) int32 { /* sqlite3.c:222141:12: */ +func fts5NodeCompare(tls *libc.TLS, pExpr uintptr, p1 uintptr, p2 uintptr) int32 { /* sqlite3.c:222198:12: */ if (*Fts5ExprNode)(unsafe.Pointer(p2)).FbEof != 0 { return -1 } @@ -225186,7 +225215,7 @@ func fts5NodeCompare(tls *libc.TLS, pExpr uintptr, p1 uintptr, p2 uintptr) int32 // SQLITE_OK is returned if an error occurs, or an SQLite error code // otherwise. It is not considered an error code if an iterator reaches // EOF. -func fts5ExprNodeTest_STRING(tls *libc.TLS, pExpr uintptr, pNode uintptr) int32 { /* sqlite3.c:222162:12: */ +func fts5ExprNodeTest_STRING(tls *libc.TLS, pExpr uintptr, pNode uintptr) int32 { /* sqlite3.c:222219:12: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -225254,7 +225283,7 @@ func fts5ExprNodeTest_STRING(tls *libc.TLS, pExpr uintptr, pNode uintptr) int32 // // Return SQLITE_OK if successful, or an SQLite error code if an error // occurs. -func fts5ExprNodeNext_STRING(tls *libc.TLS, pExpr uintptr, pNode uintptr, bFromValid int32, iFrom I64) int32 { /* sqlite3.c:222232:12: */ +func fts5ExprNodeNext_STRING(tls *libc.TLS, pExpr uintptr, pNode uintptr, bFromValid int32, iFrom I64) int32 { /* sqlite3.c:222289:12: */ var pTerm uintptr = *(*uintptr)(unsafe.Pointer((*Fts5ExprNode)(unsafe.Pointer(pNode)).FpNear + 24)) + 32 var rc int32 = SQLITE_OK @@ -225313,7 +225342,7 @@ func fts5ExprNodeNext_STRING(tls *libc.TLS, pExpr uintptr, pNode uintptr, bFromV return rc } -func fts5ExprNodeTest_TERM(tls *libc.TLS, pExpr uintptr, pNode uintptr) int32 { /* sqlite3.c:222297:12: */ +func fts5ExprNodeTest_TERM(tls *libc.TLS, pExpr uintptr, pNode uintptr) int32 { /* sqlite3.c:222354:12: */ // As this "NEAR" object is actually a single phrase that consists // of a single term only, grab pointers into the poslist managed by the // fts5_index.c iterator object. This is much faster than synthesizing @@ -225332,7 +225361,7 @@ func fts5ExprNodeTest_TERM(tls *libc.TLS, pExpr uintptr, pNode uintptr) int32 { } // xNext() method for a node of type FTS5_TERM. -func fts5ExprNodeNext_TERM(tls *libc.TLS, pExpr uintptr, pNode uintptr, bFromValid int32, iFrom I64) int32 { /* sqlite3.c:222325:12: */ +func fts5ExprNodeNext_TERM(tls *libc.TLS, pExpr uintptr, pNode uintptr, bFromValid int32, iFrom I64) int32 { /* sqlite3.c:222382:12: */ var rc int32 var pIter uintptr = (*Fts5ExprTerm)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer((*Fts5ExprNode)(unsafe.Pointer(pNode)).FpNear + 24)) + 32)).FpIter @@ -225350,7 +225379,7 @@ func fts5ExprNodeNext_TERM(tls *libc.TLS, pExpr uintptr, pNode uintptr, bFromVal return rc } -func fts5ExprNodeTest_OR(tls *libc.TLS, pExpr uintptr, pNode uintptr) { /* sqlite3.c:222349:13: */ +func fts5ExprNodeTest_OR(tls *libc.TLS, pExpr uintptr, pNode uintptr) { /* sqlite3.c:222406:13: */ var pNext uintptr = *(*uintptr)(unsafe.Pointer(pNode + 48)) var i int32 @@ -225366,7 +225395,7 @@ func fts5ExprNodeTest_OR(tls *libc.TLS, pExpr uintptr, pNode uintptr) { /* sqlit (*Fts5ExprNode)(unsafe.Pointer(pNode)).FbNomatch = (*Fts5ExprNode)(unsafe.Pointer(pNext)).FbNomatch } -func fts5ExprNodeNext_OR(tls *libc.TLS, pExpr uintptr, pNode uintptr, bFromValid int32, iFrom I64) int32 { /* sqlite3.c:222368:12: */ +func fts5ExprNodeNext_OR(tls *libc.TLS, pExpr uintptr, pNode uintptr, bFromValid int32, iFrom I64) int32 { /* sqlite3.c:222425:12: */ var i int32 var iLast I64 = (*Fts5ExprNode)(unsafe.Pointer(pNode)).FiRowid @@ -225392,7 +225421,7 @@ func fts5ExprNodeNext_OR(tls *libc.TLS, pExpr uintptr, pNode uintptr, bFromValid } // Argument pNode is an FTS5_AND node. -func fts5ExprNodeTest_AND(tls *libc.TLS, pExpr uintptr, pAnd uintptr) int32 { /* sqlite3.c:222400:12: */ +func fts5ExprNodeTest_AND(tls *libc.TLS, pExpr uintptr, pAnd uintptr) int32 { /* sqlite3.c:222457:12: */ var iChild int32 var iLast I64 = (*Fts5ExprNode)(unsafe.Pointer(pAnd)).FiRowid var rc int32 = SQLITE_OK @@ -225442,7 +225471,7 @@ func fts5ExprNodeTest_AND(tls *libc.TLS, pExpr uintptr, pAnd uintptr) int32 { /* return SQLITE_OK } -func fts5ExprNodeNext_AND(tls *libc.TLS, pExpr uintptr, pNode uintptr, bFromValid int32, iFrom I64) int32 { /* sqlite3.c:222452:12: */ +func fts5ExprNodeNext_AND(tls *libc.TLS, pExpr uintptr, pNode uintptr, bFromValid int32, iFrom I64) int32 { /* sqlite3.c:222509:12: */ var rc int32 = (*struct { f func(*libc.TLS, uintptr, uintptr, int32, I64) int32 })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExprNode)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pNode + 48 /* &.apChild */)))).FxNext})).f(tls, pExpr, *(*uintptr)(unsafe.Pointer(pNode + 48 /* &.apChild */)), bFromValid, iFrom) @@ -225454,7 +225483,7 @@ func fts5ExprNodeNext_AND(tls *libc.TLS, pExpr uintptr, pNode uintptr, bFromVali return rc } -func fts5ExprNodeTest_NOT(tls *libc.TLS, pExpr uintptr, pNode uintptr) int32 { /* sqlite3.c:222467:12: */ +func fts5ExprNodeTest_NOT(tls *libc.TLS, pExpr uintptr, pNode uintptr) int32 { /* sqlite3.c:222524:12: */ var rc int32 = SQLITE_OK var p1 uintptr = *(*uintptr)(unsafe.Pointer(pNode + 48)) var p2 uintptr = *(*uintptr)(unsafe.Pointer(pNode + 48 + 1*8)) @@ -225484,7 +225513,7 @@ func fts5ExprNodeTest_NOT(tls *libc.TLS, pExpr uintptr, pNode uintptr) int32 { / return rc } -func fts5ExprNodeNext_NOT(tls *libc.TLS, pExpr uintptr, pNode uintptr, bFromValid int32, iFrom I64) int32 { /* sqlite3.c:222495:12: */ +func fts5ExprNodeNext_NOT(tls *libc.TLS, pExpr uintptr, pNode uintptr, bFromValid int32, iFrom I64) int32 { /* sqlite3.c:222552:12: */ var rc int32 = (*struct { f func(*libc.TLS, uintptr, uintptr, int32, I64) int32 })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExprNode)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pNode + 48 /* &.apChild */)))).FxNext})).f(tls, pExpr, *(*uintptr)(unsafe.Pointer(pNode + 48 /* &.apChild */)), bFromValid, iFrom) @@ -225500,7 +225529,7 @@ func fts5ExprNodeNext_NOT(tls *libc.TLS, pExpr uintptr, pNode uintptr, bFromVali // If pNode currently points to a match, this function returns SQLITE_OK // without modifying it. Otherwise, pNode is advanced until it does point // to a match or EOF is reached. -func fts5ExprNodeTest(tls *libc.TLS, pExpr uintptr, pNode uintptr) int32 { /* sqlite3.c:222516:12: */ +func fts5ExprNodeTest(tls *libc.TLS, pExpr uintptr, pNode uintptr) int32 { /* sqlite3.c:222573:12: */ var rc int32 = SQLITE_OK if (*Fts5ExprNode)(unsafe.Pointer(pNode)).FbEof == 0 { switch (*Fts5ExprNode)(unsafe.Pointer(pNode)).FeType { @@ -225553,7 +225582,7 @@ func fts5ExprNodeTest(tls *libc.TLS, pExpr uintptr, pNode uintptr) int32 { /* sq // // Return an SQLite error code if an error occurs, or SQLITE_OK otherwise. // It is not an error if there are no matches. -func fts5ExprNodeFirst(tls *libc.TLS, pExpr uintptr, pNode uintptr) int32 { /* sqlite3.c:222561:12: */ +func fts5ExprNodeFirst(tls *libc.TLS, pExpr uintptr, pNode uintptr) int32 { /* sqlite3.c:222618:12: */ var rc int32 = SQLITE_OK (*Fts5ExprNode)(unsafe.Pointer(pNode)).FbEof = 0 (*Fts5ExprNode)(unsafe.Pointer(pNode)).FbNomatch = 0 @@ -225615,7 +225644,7 @@ func fts5ExprNodeFirst(tls *libc.TLS, pExpr uintptr, pNode uintptr) int32 { /* s // // Return SQLITE_OK if successful, or an SQLite error code otherwise. It // is not considered an error if the query does not match any documents. -func sqlite3Fts5ExprFirst(tls *libc.TLS, p uintptr, pIdx uintptr, iFirst I64, bDesc int32) int32 { /* sqlite3.c:222620:12: */ +func sqlite3Fts5ExprFirst(tls *libc.TLS, p uintptr, pIdx uintptr, iFirst I64, bDesc int32) int32 { /* sqlite3.c:222677:12: */ var pRoot uintptr = (*Fts5Expr)(unsafe.Pointer(p)).FpRoot var rc int32 // Return code @@ -225647,7 +225676,7 @@ func sqlite3Fts5ExprFirst(tls *libc.TLS, p uintptr, pIdx uintptr, iFirst I64, bD // // Return SQLITE_OK if successful, or an SQLite error code otherwise. It // is not considered an error if the query does not match any documents. -func sqlite3Fts5ExprNext(tls *libc.TLS, p uintptr, iLast I64) int32 { /* sqlite3.c:222651:12: */ +func sqlite3Fts5ExprNext(tls *libc.TLS, p uintptr, iLast I64) int32 { /* sqlite3.c:222708:12: */ var rc int32 var pRoot uintptr = (*Fts5Expr)(unsafe.Pointer(p)).FpRoot @@ -225663,15 +225692,15 @@ func sqlite3Fts5ExprNext(tls *libc.TLS, p uintptr, iLast I64) int32 { /* sqlite3 return rc } -func sqlite3Fts5ExprEof(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:222665:12: */ +func sqlite3Fts5ExprEof(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:222722:12: */ return (*Fts5ExprNode)(unsafe.Pointer((*Fts5Expr)(unsafe.Pointer(p)).FpRoot)).FbEof } -func sqlite3Fts5ExprRowid(tls *libc.TLS, p uintptr) I64 { /* sqlite3.c:222669:12: */ +func sqlite3Fts5ExprRowid(tls *libc.TLS, p uintptr) I64 { /* sqlite3.c:222726:12: */ return (*Fts5ExprNode)(unsafe.Pointer((*Fts5Expr)(unsafe.Pointer(p)).FpRoot)).FiRowid } -func fts5ParseStringFromToken(tls *libc.TLS, pToken uintptr, pz uintptr) int32 { /* sqlite3.c:222673:12: */ +func fts5ParseStringFromToken(tls *libc.TLS, pToken uintptr, pz uintptr) int32 { /* sqlite3.c:222730:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -225681,7 +225710,7 @@ func fts5ParseStringFromToken(tls *libc.TLS, pToken uintptr, pz uintptr) int32 { } // Free the phrase object passed as the only argument. -func fts5ExprPhraseFree(tls *libc.TLS, pPhrase uintptr) { /* sqlite3.c:222682:13: */ +func fts5ExprPhraseFree(tls *libc.TLS, pPhrase uintptr) { /* sqlite3.c:222739:13: */ if pPhrase != 0 { var i int32 for i = 0; i < (*Fts5ExprPhrase)(unsafe.Pointer(pPhrase)).FnTerm; i++ { @@ -225706,7 +225735,7 @@ func fts5ExprPhraseFree(tls *libc.TLS, pPhrase uintptr) { /* sqlite3.c:222682:13 // Set the "bFirst" flag on the first token of the phrase passed as the // only argument. -func sqlite3Fts5ParseSetCaret(tls *libc.TLS, pPhrase uintptr) { /* sqlite3.c:222707:13: */ +func sqlite3Fts5ParseSetCaret(tls *libc.TLS, pPhrase uintptr) { /* sqlite3.c:222764:13: */ if pPhrase != 0 && (*Fts5ExprPhrase)(unsafe.Pointer(pPhrase)).FnTerm != 0 { (*Fts5ExprTerm)(unsafe.Pointer(pPhrase + 32)).FbFirst = U8(1) } @@ -225718,7 +225747,7 @@ func sqlite3Fts5ParseSetCaret(tls *libc.TLS, pPhrase uintptr) { /* sqlite3.c:222 // // If an OOM error occurs, both the pNear and pPhrase objects are freed and // NULL returned. -func sqlite3Fts5ParseNearset(tls *libc.TLS, pParse uintptr, pNear uintptr, pPhrase uintptr) uintptr { /* sqlite3.c:222721:24: */ +func sqlite3Fts5ParseNearset(tls *libc.TLS, pParse uintptr, pNear uintptr, pPhrase uintptr) uintptr { /* sqlite3.c:222778:24: */ var SZALLOC int32 = 8 var pRet uintptr = uintptr(0) @@ -225778,12 +225807,12 @@ type TokenCtx1 = struct { FpPhrase uintptr Frc int32 F__ccgo_pad1 [4]byte -} /* sqlite3.c:222781:9 */ +} /* sqlite3.c:222838:9 */ -type TokenCtx = TokenCtx1 /* sqlite3.c:222781:25 */ +type TokenCtx = TokenCtx1 /* sqlite3.c:222838:25 */ // Callback for tokenizing terms used by ParseTerm(). -func fts5ParseTokenize(tls *libc.TLS, pContext uintptr, tflags int32, pToken uintptr, nToken int32, iUnused1 int32, iUnused2 int32) int32 { /* sqlite3.c:222790:12: */ +func fts5ParseTokenize(tls *libc.TLS, pContext uintptr, tflags int32, pToken uintptr, nToken int32, iUnused1 int32, iUnused2 int32) int32 { /* sqlite3.c:222847:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -225852,12 +225881,12 @@ func fts5ParseTokenize(tls *libc.TLS, pContext uintptr, tflags int32, pToken uin } // Free the phrase object passed as the only argument. -func sqlite3Fts5ParsePhraseFree(tls *libc.TLS, pPhrase uintptr) { /* sqlite3.c:222855:13: */ +func sqlite3Fts5ParsePhraseFree(tls *libc.TLS, pPhrase uintptr) { /* sqlite3.c:222912:13: */ fts5ExprPhraseFree(tls, pPhrase) } // Free the phrase object passed as the second argument. -func sqlite3Fts5ParseNearsetFree(tls *libc.TLS, pNear uintptr) { /* sqlite3.c:222862:13: */ +func sqlite3Fts5ParseNearsetFree(tls *libc.TLS, pNear uintptr) { /* sqlite3.c:222919:13: */ if pNear != 0 { var i int32 for i = 0; i < (*Fts5ExprNearset)(unsafe.Pointer(pNear)).FnPhrase; i++ { @@ -225868,12 +225897,12 @@ func sqlite3Fts5ParseNearsetFree(tls *libc.TLS, pNear uintptr) { /* sqlite3.c:22 } } -func sqlite3Fts5ParseFinished(tls *libc.TLS, pParse uintptr, p uintptr) { /* sqlite3.c:222873:13: */ +func sqlite3Fts5ParseFinished(tls *libc.TLS, pParse uintptr, p uintptr) { /* sqlite3.c:222930:13: */ (*Fts5Parse)(unsafe.Pointer(pParse)).FpExpr = p } -func parseGrowPhraseArray(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:222878:12: */ +func parseGrowPhraseArray(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:222935:12: */ if (*Fts5Parse)(unsafe.Pointer(pParse)).FnPhrase%8 == 0 { var nByte Sqlite3_int64 = Sqlite3_int64(uint64(unsafe.Sizeof(uintptr(0))) * uint64((*Fts5Parse)(unsafe.Pointer(pParse)).FnPhrase+8)) var apNew uintptr @@ -225890,7 +225919,7 @@ func parseGrowPhraseArray(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:22 // This function is called by the parser to process a string token. The // string may or may not be quoted. In any case it is tokenized and a // phrase object consisting of all tokens returned. -func sqlite3Fts5ParseTerm(tls *libc.TLS, pParse uintptr, pAppend uintptr, pToken uintptr, bPrefix int32) uintptr { /* sqlite3.c:222897:23: */ +func sqlite3Fts5ParseTerm(tls *libc.TLS, pParse uintptr, pAppend uintptr, pToken uintptr, bPrefix int32) uintptr { /* sqlite3.c:222954:23: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -225948,7 +225977,7 @@ func sqlite3Fts5ParseTerm(tls *libc.TLS, pParse uintptr, pAppend uintptr, pToken // Create a new FTS5 expression by cloning phrase iPhrase of the // expression passed as the second argument. -func sqlite3Fts5ExprClonePhrase(tls *libc.TLS, pExpr uintptr, iPhrase int32, ppNew uintptr) int32 { /* sqlite3.c:222951:12: */ +func sqlite3Fts5ExprClonePhrase(tls *libc.TLS, pExpr uintptr, iPhrase int32, ppNew uintptr) int32 { /* sqlite3.c:223008:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -226043,7 +226072,7 @@ func sqlite3Fts5ExprClonePhrase(tls *libc.TLS, pExpr uintptr, iPhrase int32, ppN // Token pTok has appeared in a MATCH expression where the NEAR operator // is expected. If token pTok does not contain "NEAR", store an error // in the pParse object. -func sqlite3Fts5ParseNear(tls *libc.TLS, pParse uintptr, pTok uintptr) { /* sqlite3.c:223047:13: */ +func sqlite3Fts5ParseNear(tls *libc.TLS, pParse uintptr, pTok uintptr) { /* sqlite3.c:223104:13: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -226053,7 +226082,7 @@ func sqlite3Fts5ParseNear(tls *libc.TLS, pParse uintptr, pTok uintptr) { /* sqli } } -func sqlite3Fts5ParseSetDistance(tls *libc.TLS, pParse uintptr, pNear uintptr, p uintptr) { /* sqlite3.c:223055:13: */ +func sqlite3Fts5ParseSetDistance(tls *libc.TLS, pParse uintptr, pNear uintptr, p uintptr) { /* sqlite3.c:223112:13: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -226084,7 +226113,7 @@ func sqlite3Fts5ParseSetDistance(tls *libc.TLS, pParse uintptr, pNear uintptr, p // // If an OOM error occurs, store an error code in pParse and return NULL. // The old colset object (if any) is not freed in this case. -func fts5ParseColset(tls *libc.TLS, pParse uintptr, p uintptr, iCol int32) uintptr { /* sqlite3.c:223090:19: */ +func fts5ParseColset(tls *libc.TLS, pParse uintptr, p uintptr, iCol int32) uintptr { /* sqlite3.c:223147:19: */ var nCol int32 if p != 0 { nCol = (*Fts5Colset)(unsafe.Pointer(p)).FnCol @@ -226122,7 +226151,7 @@ func fts5ParseColset(tls *libc.TLS, pParse uintptr, p uintptr, iCol int32) uintp // Allocate and return an Fts5Colset object specifying the inverse of // the colset passed as the second argument. Free the colset passed // as the second argument before returning. -func sqlite3Fts5ParseColsetInvert(tls *libc.TLS, pParse uintptr, p uintptr) uintptr { /* sqlite3.c:223131:19: */ +func sqlite3Fts5ParseColsetInvert(tls *libc.TLS, pParse uintptr, p uintptr) uintptr { /* sqlite3.c:223188:19: */ var pRet uintptr var nCol int32 = (*Fts5Config)(unsafe.Pointer((*Fts5Parse)(unsafe.Pointer(pParse)).FpConfig)).FnCol @@ -226144,7 +226173,7 @@ func sqlite3Fts5ParseColsetInvert(tls *libc.TLS, pParse uintptr, p uintptr) uint return pRet } -func sqlite3Fts5ParseColset(tls *libc.TLS, pParse uintptr, pColset uintptr, p uintptr) uintptr { /* sqlite3.c:223154:19: */ +func sqlite3Fts5ParseColset(tls *libc.TLS, pParse uintptr, pColset uintptr, p uintptr) uintptr { /* sqlite3.c:223211:19: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -226183,7 +226212,7 @@ func sqlite3Fts5ParseColset(tls *libc.TLS, pParse uintptr, pColset uintptr, p ui // Otherwise, a copy of (*pOrig) is made into memory obtained from // sqlite3Fts5MallocZero() and a pointer to it returned. If the allocation // fails, (*pRc) is set to SQLITE_NOMEM and NULL is returned. -func fts5CloneColset(tls *libc.TLS, pRc uintptr, pOrig uintptr) uintptr { /* sqlite3.c:223194:19: */ +func fts5CloneColset(tls *libc.TLS, pRc uintptr, pOrig uintptr) uintptr { /* sqlite3.c:223251:19: */ var pRet uintptr if pOrig != 0 { var nByte Sqlite3_int64 = Sqlite3_int64(uint64(unsafe.Sizeof(Fts5Colset{})) + uint64((*Fts5Colset)(unsafe.Pointer(pOrig)).FnCol-1)*uint64(unsafe.Sizeof(int32(0)))) @@ -226198,7 +226227,7 @@ func fts5CloneColset(tls *libc.TLS, pRc uintptr, pOrig uintptr) uintptr { /* sql } // Remove from colset pColset any columns that are not also in colset pMerge. -func fts5MergeColset(tls *libc.TLS, pColset uintptr, pMerge uintptr) { /* sqlite3.c:223211:13: */ +func fts5MergeColset(tls *libc.TLS, pColset uintptr, pMerge uintptr) { /* sqlite3.c:223268:13: */ var iIn int32 = 0 // Next input in pColset var iMerge int32 = 0 // Next input in pMerge var iOut int32 = 0 // Next output slot in pColset @@ -226222,7 +226251,7 @@ func fts5MergeColset(tls *libc.TLS, pColset uintptr, pMerge uintptr) { /* sqlite // its decendents. If (*ppFree) is not NULL, it contains a spare copy // of pColset. This function may use the spare copy and set (*ppFree) to // zero, or it may create copies of pColset using fts5CloneColset(). -func fts5ParseSetColset(tls *libc.TLS, pParse uintptr, pNode uintptr, pColset uintptr, ppFree uintptr) { /* sqlite3.c:223237:13: */ +func fts5ParseSetColset(tls *libc.TLS, pParse uintptr, pNode uintptr, pColset uintptr, ppFree uintptr) { /* sqlite3.c:223294:13: */ if (*Fts5Parse)(unsafe.Pointer(pParse)).Frc == SQLITE_OK { if (*Fts5ExprNode)(unsafe.Pointer(pNode)).FeType == FTS5_STRING || (*Fts5ExprNode)(unsafe.Pointer(pNode)).FeType == FTS5_TERM { @@ -226250,7 +226279,7 @@ func fts5ParseSetColset(tls *libc.TLS, pParse uintptr, pNode uintptr, pColset ui } // Apply colset pColset to expression node pExpr and all of its descendents. -func sqlite3Fts5ParseSetColset(tls *libc.TLS, pParse uintptr, pExpr uintptr, pColset uintptr) { /* sqlite3.c:223275:13: */ +func sqlite3Fts5ParseSetColset(tls *libc.TLS, pParse uintptr, pExpr uintptr, pColset uintptr) { /* sqlite3.c:223332:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -226264,7 +226293,7 @@ func sqlite3Fts5ParseSetColset(tls *libc.TLS, pParse uintptr, pExpr uintptr, pCo Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp /* pFree */))) } -func fts5ExprAssignXNext(tls *libc.TLS, pNode uintptr) { /* sqlite3.c:223291:13: */ +func fts5ExprAssignXNext(tls *libc.TLS, pNode uintptr) { /* sqlite3.c:223348:13: */ switch (*Fts5ExprNode)(unsafe.Pointer(pNode)).FeType { case FTS5_STRING: { @@ -226315,7 +226344,7 @@ func fts5ExprAssignXNext(tls *libc.TLS, pNode uintptr) { /* sqlite3.c:223291:13: } } -func fts5ExprAddChildren(tls *libc.TLS, p uintptr, pSub uintptr) { /* sqlite3.c:223324:13: */ +func fts5ExprAddChildren(tls *libc.TLS, p uintptr, pSub uintptr) { /* sqlite3.c:223381:13: */ if (*Fts5ExprNode)(unsafe.Pointer(p)).FeType != FTS5_NOT && (*Fts5ExprNode)(unsafe.Pointer(pSub)).FeType == (*Fts5ExprNode)(unsafe.Pointer(p)).FeType { var nByte int32 = int32(uint64(unsafe.Sizeof(uintptr(0))) * uint64((*Fts5ExprNode)(unsafe.Pointer(pSub)).FnChild)) libc.Xmemcpy(tls, p+48+uintptr((*Fts5ExprNode)(unsafe.Pointer(p)).FnChild)*8, pSub+48, uint64(nByte)) @@ -226335,7 +226364,7 @@ func fts5ExprAddChildren(tls *libc.TLS, p uintptr, pSub uintptr) { /* sqlite3.c: // into an AND tree: // // abc AND def AND ghi -func fts5ParsePhraseToAnd(tls *libc.TLS, pParse uintptr, pNear uintptr) uintptr { /* sqlite3.c:223346:21: */ +func fts5ParsePhraseToAnd(tls *libc.TLS, pParse uintptr, pNear uintptr) uintptr { /* sqlite3.c:223403:21: */ var nTerm int32 = (*Fts5ExprPhrase)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pNear + 24)))).FnTerm var ii int32 var nByte int32 @@ -226378,7 +226407,7 @@ func fts5ParsePhraseToAnd(tls *libc.TLS, pParse uintptr, pNear uintptr) uintptr // Allocate and return a new expression object. If anything goes wrong (i.e. // OOM error), leave an error code in pParse and return NULL. -func sqlite3Fts5ParseNode(tls *libc.TLS, pParse uintptr, eType int32, pLeft uintptr, pRight uintptr, pNear uintptr) uintptr { /* sqlite3.c:223400:21: */ +func sqlite3Fts5ParseNode(tls *libc.TLS, pParse uintptr, eType int32, pLeft uintptr, pRight uintptr, pNear uintptr) uintptr { /* sqlite3.c:223457:21: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -226466,7 +226495,7 @@ func sqlite3Fts5ParseNode(tls *libc.TLS, pParse uintptr, eType int32, pLeft uint return pRet } -func sqlite3Fts5ParseImplicitAnd(tls *libc.TLS, pParse uintptr, pLeft uintptr, pRight uintptr) uintptr { /* sqlite3.c:223482:21: */ +func sqlite3Fts5ParseImplicitAnd(tls *libc.TLS, pParse uintptr, pLeft uintptr, pRight uintptr) uintptr { /* sqlite3.c:223539:21: */ var pRet uintptr = uintptr(0) var pPrev uintptr @@ -226512,7 +226541,7 @@ func sqlite3Fts5ParseImplicitAnd(tls *libc.TLS, pParse uintptr, pLeft uintptr, p // This is called during initialization to register the fts5_expr() scalar // UDF with the SQLite handle passed as the only argument. -func sqlite3Fts5ExprInit(tls *libc.TLS, pGlobal uintptr, db uintptr) int32 { /* sqlite3.c:223919:12: */ +func sqlite3Fts5ExprInit(tls *libc.TLS, pGlobal uintptr, db uintptr) int32 { /* sqlite3.c:223976:12: */ var rc int32 = SQLITE_OK _ = pGlobal _ = db @@ -226525,7 +226554,7 @@ func sqlite3Fts5ExprInit(tls *libc.TLS, pGlobal uintptr, db uintptr) int32 { /* } // Return the number of phrases in expression pExpr. -func sqlite3Fts5ExprPhraseCount(tls *libc.TLS, pExpr uintptr) int32 { /* sqlite3.c:223956:12: */ +func sqlite3Fts5ExprPhraseCount(tls *libc.TLS, pExpr uintptr) int32 { /* sqlite3.c:224013:12: */ return func() int32 { if pExpr != 0 { return (*Fts5Expr)(unsafe.Pointer(pExpr)).FnPhrase @@ -226535,7 +226564,7 @@ func sqlite3Fts5ExprPhraseCount(tls *libc.TLS, pExpr uintptr) int32 { /* sqlite3 } // Return the number of terms in the iPhrase'th phrase in pExpr. -func sqlite3Fts5ExprPhraseSize(tls *libc.TLS, pExpr uintptr, iPhrase int32) int32 { /* sqlite3.c:223963:12: */ +func sqlite3Fts5ExprPhraseSize(tls *libc.TLS, pExpr uintptr, iPhrase int32) int32 { /* sqlite3.c:224020:12: */ if iPhrase < 0 || iPhrase >= (*Fts5Expr)(unsafe.Pointer(pExpr)).FnPhrase { return 0 } @@ -226544,7 +226573,7 @@ func sqlite3Fts5ExprPhraseSize(tls *libc.TLS, pExpr uintptr, iPhrase int32) int3 // This function is used to access the current position list for phrase // iPhrase. -func sqlite3Fts5ExprPoslist(tls *libc.TLS, pExpr uintptr, iPhrase int32, pa uintptr) int32 { /* sqlite3.c:223972:12: */ +func sqlite3Fts5ExprPoslist(tls *libc.TLS, pExpr uintptr, iPhrase int32, pa uintptr) int32 { /* sqlite3.c:224029:12: */ var nRet int32 var pPhrase uintptr = *(*uintptr)(unsafe.Pointer((*Fts5Expr)(unsafe.Pointer(pExpr)).FapExprPhrase + uintptr(iPhrase)*8)) var pNode uintptr = (*Fts5ExprPhrase)(unsafe.Pointer(pPhrase)).FpNode @@ -226565,7 +226594,7 @@ func sqlite3Fts5ExprPoslist(tls *libc.TLS, pExpr uintptr, iPhrase int32, pa uint // At present this function is only used for detail=col and detail=none // fts5 tables. This implies that all phrases must be at most 1 token // in size, as phrase matches are not supported without detail=full. -func sqlite3Fts5ExprClearPoslists(tls *libc.TLS, pExpr uintptr, bLive int32) uintptr { /* sqlite3.c:224001:29: */ +func sqlite3Fts5ExprClearPoslists(tls *libc.TLS, pExpr uintptr, bLive int32) uintptr { /* sqlite3.c:224058:29: */ var pRet uintptr pRet = Xsqlite3_malloc64(tls, uint64(unsafe.Sizeof(Fts5PoslistPopulator{}))*uint64((*Fts5Expr)(unsafe.Pointer(pExpr)).FnPhrase)) if pRet != 0 { @@ -226589,12 +226618,12 @@ type Fts5ExprCtx1 = struct { FpExpr uintptr FaPopulator uintptr FiOff I64 -} /* sqlite3.c:224023:1 */ +} /* sqlite3.c:224080:1 */ -type Fts5ExprCtx = Fts5ExprCtx1 /* sqlite3.c:224028:28 */ +type Fts5ExprCtx = Fts5ExprCtx1 /* sqlite3.c:224085:28 */ // TODO: Make this more efficient! -func fts5ExprColsetTest(tls *libc.TLS, pColset uintptr, iCol int32) int32 { /* sqlite3.c:224033:12: */ +func fts5ExprColsetTest(tls *libc.TLS, pColset uintptr, iCol int32) int32 { /* sqlite3.c:224090:12: */ var i int32 for i = 0; i < (*Fts5Colset)(unsafe.Pointer(pColset)).FnCol; i++ { if *(*int32)(unsafe.Pointer(pColset + 4 + uintptr(i)*4)) == iCol { @@ -226604,7 +226633,7 @@ func fts5ExprColsetTest(tls *libc.TLS, pColset uintptr, iCol int32) int32 { /* s return 0 } -func fts5ExprPopulatePoslistsCb(tls *libc.TLS, pCtx uintptr, tflags int32, pToken uintptr, nToken int32, iUnused1 int32, iUnused2 int32) int32 { /* sqlite3.c:224041:12: */ +func fts5ExprPopulatePoslistsCb(tls *libc.TLS, pCtx uintptr, tflags int32, pToken uintptr, nToken int32, iUnused1 int32, iUnused2 int32) int32 { /* sqlite3.c:224098:12: */ var p uintptr = pCtx var pExpr uintptr = (*Fts5ExprCtx)(unsafe.Pointer(p)).FpExpr var i int32 @@ -226639,7 +226668,7 @@ func fts5ExprPopulatePoslistsCb(tls *libc.TLS, pCtx uintptr, tflags int32, pToke return SQLITE_OK } -func sqlite3Fts5ExprPopulatePoslists(tls *libc.TLS, pConfig uintptr, pExpr uintptr, aPopulator uintptr, iCol int32, z uintptr, n int32) int32 { /* sqlite3.c:224076:12: */ +func sqlite3Fts5ExprPopulatePoslists(tls *libc.TLS, pConfig uintptr, pExpr uintptr, aPopulator uintptr, iCol int32, z uintptr, n int32) int32 { /* sqlite3.c:224133:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -226667,7 +226696,7 @@ func sqlite3Fts5ExprPopulatePoslists(tls *libc.TLS, pConfig uintptr, pExpr uintp }{fts5ExprPopulatePoslistsCb}))) } -func fts5ExprClearPoslists(tls *libc.TLS, pNode uintptr) { /* sqlite3.c:224106:13: */ +func fts5ExprClearPoslists(tls *libc.TLS, pNode uintptr) { /* sqlite3.c:224163:13: */ if (*Fts5ExprNode)(unsafe.Pointer(pNode)).FeType == FTS5_TERM || (*Fts5ExprNode)(unsafe.Pointer(pNode)).FeType == FTS5_STRING { (*Fts5ExprPhrase)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer((*Fts5ExprNode)(unsafe.Pointer(pNode)).FpNear + 24)))).Fposlist.Fn = 0 } else { @@ -226678,7 +226707,7 @@ func fts5ExprClearPoslists(tls *libc.TLS, pNode uintptr) { /* sqlite3.c:224106:1 } } -func fts5ExprCheckPoslists(tls *libc.TLS, pNode uintptr, iRowid I64) int32 { /* sqlite3.c:224117:12: */ +func fts5ExprCheckPoslists(tls *libc.TLS, pNode uintptr, iRowid I64) int32 { /* sqlite3.c:224174:12: */ (*Fts5ExprNode)(unsafe.Pointer(pNode)).FiRowid = iRowid (*Fts5ExprNode)(unsafe.Pointer(pNode)).FbEof = 0 switch (*Fts5ExprNode)(unsafe.Pointer(pNode)).FeType { @@ -226728,12 +226757,12 @@ func fts5ExprCheckPoslists(tls *libc.TLS, pNode uintptr, iRowid I64) int32 { /* return 1 } -func sqlite3Fts5ExprCheckPoslists(tls *libc.TLS, pExpr uintptr, iRowid I64) { /* sqlite3.c:224161:13: */ +func sqlite3Fts5ExprCheckPoslists(tls *libc.TLS, pExpr uintptr, iRowid I64) { /* sqlite3.c:224218:13: */ fts5ExprCheckPoslists(tls, (*Fts5Expr)(unsafe.Pointer(pExpr)).FpRoot, iRowid) } // This function is only called for detail=columns tables. -func sqlite3Fts5ExprPhraseCollist(tls *libc.TLS, pExpr uintptr, iPhrase int32, ppCollist uintptr, pnCollist uintptr) int32 { /* sqlite3.c:224168:12: */ +func sqlite3Fts5ExprPhraseCollist(tls *libc.TLS, pExpr uintptr, iPhrase int32, ppCollist uintptr, pnCollist uintptr) int32 { /* sqlite3.c:224225:12: */ var pPhrase uintptr = *(*uintptr)(unsafe.Pointer((*Fts5Expr)(unsafe.Pointer(pExpr)).FapExprPhrase + uintptr(iPhrase)*8)) var pNode uintptr = (*Fts5ExprPhrase)(unsafe.Pointer(pPhrase)).FpNode var rc int32 = SQLITE_OK @@ -226784,7 +226813,7 @@ type Fts5HashEntry1 = struct { FiCol I16 FiPos int32 FiRowid I64 -} /* sqlite3.c:216813:9 */ +} /* sqlite3.c:216870:9 */ // 2014 August 11 // @@ -226800,14 +226829,14 @@ type Fts5HashEntry1 = struct { // #include "fts5Int.h" -type Fts5HashEntry = Fts5HashEntry1 /* sqlite3.c:224221:30 */ +type Fts5HashEntry = Fts5HashEntry1 /* sqlite3.c:224278:30 */ // Eqivalent to: // // char *fts5EntryKey(Fts5HashEntry *pEntry){ return zKey; } // Allocate a new hash table. -func sqlite3Fts5HashNew(tls *libc.TLS, pConfig uintptr, ppNew uintptr, pnByte uintptr) int32 { /* sqlite3.c:224287:12: */ +func sqlite3Fts5HashNew(tls *libc.TLS, pConfig uintptr, ppNew uintptr, pnByte uintptr) int32 { /* sqlite3.c:224344:12: */ var rc int32 = SQLITE_OK var pNew uintptr @@ -226835,7 +226864,7 @@ func sqlite3Fts5HashNew(tls *libc.TLS, pConfig uintptr, ppNew uintptr, pnByte ui } // Free a hash table object. -func sqlite3Fts5HashFree(tls *libc.TLS, pHash uintptr) { /* sqlite3.c:224317:13: */ +func sqlite3Fts5HashFree(tls *libc.TLS, pHash uintptr) { /* sqlite3.c:224374:13: */ if pHash != 0 { sqlite3Fts5HashClear(tls, pHash) Xsqlite3_free(tls, (*Fts5Hash)(unsafe.Pointer(pHash)).FaSlot) @@ -226844,7 +226873,7 @@ func sqlite3Fts5HashFree(tls *libc.TLS, pHash uintptr) { /* sqlite3.c:224317:13: } // Empty (but do not delete) a hash table. -func sqlite3Fts5HashClear(tls *libc.TLS, pHash uintptr) { /* sqlite3.c:224328:13: */ +func sqlite3Fts5HashClear(tls *libc.TLS, pHash uintptr) { /* sqlite3.c:224385:13: */ var i int32 for i = 0; i < (*Fts5Hash)(unsafe.Pointer(pHash)).FnSlot; i++ { var pNext uintptr @@ -226858,7 +226887,7 @@ func sqlite3Fts5HashClear(tls *libc.TLS, pHash uintptr) { /* sqlite3.c:224328:13 (*Fts5Hash)(unsafe.Pointer(pHash)).FnEntry = 0 } -func fts5HashKey(tls *libc.TLS, nSlot int32, p uintptr, n int32) uint32 { /* sqlite3.c:224342:21: */ +func fts5HashKey(tls *libc.TLS, nSlot int32, p uintptr, n int32) uint32 { /* sqlite3.c:224399:21: */ var i int32 var h uint32 = uint32(13) for i = n - 1; i >= 0; i-- { @@ -226867,7 +226896,7 @@ func fts5HashKey(tls *libc.TLS, nSlot int32, p uintptr, n int32) uint32 { /* sql return h % uint32(nSlot) } -func fts5HashKey2(tls *libc.TLS, nSlot int32, b U8, p uintptr, n int32) uint32 { /* sqlite3.c:224351:21: */ +func fts5HashKey2(tls *libc.TLS, nSlot int32, b U8, p uintptr, n int32) uint32 { /* sqlite3.c:224408:21: */ var i int32 var h uint32 = uint32(13) for i = n - 1; i >= 0; i-- { @@ -226878,7 +226907,7 @@ func fts5HashKey2(tls *libc.TLS, nSlot int32, b U8, p uintptr, n int32) uint32 { } // Resize the hash table by doubling the number of slots. -func fts5HashResize(tls *libc.TLS, pHash uintptr) int32 { /* sqlite3.c:224364:12: */ +func fts5HashResize(tls *libc.TLS, pHash uintptr) int32 { /* sqlite3.c:224421:12: */ var nNew int32 = (*Fts5Hash)(unsafe.Pointer(pHash)).FnSlot * 2 var i int32 var apNew uintptr @@ -226908,7 +226937,7 @@ func fts5HashResize(tls *libc.TLS, pHash uintptr) int32 { /* sqlite3.c:224364:12 return SQLITE_OK } -func fts5HashAddPoslistSize(tls *libc.TLS, pHash uintptr, p uintptr, p2 uintptr) int32 { /* sqlite3.c:224392:12: */ +func fts5HashAddPoslistSize(tls *libc.TLS, pHash uintptr, p uintptr, p2 uintptr) int32 { /* sqlite3.c:224449:12: */ var nRet int32 = 0 if (*Fts5HashEntry)(unsafe.Pointer(p)).FiSzPoslist != 0 { var pPtr uintptr @@ -226957,7 +226986,7 @@ func fts5HashAddPoslistSize(tls *libc.TLS, pHash uintptr, p uintptr, p2 uintptr) // (bByte || pToken) -> (iRowid,iCol,iPos) // // Or, if iCol is negative, then the value is a delete marker. -func sqlite3Fts5HashWrite(tls *libc.TLS, pHash uintptr, iRowid I64, iCol int32, iPos int32, bByte int8, pToken uintptr, nToken int32) int32 { /* sqlite3.c:224443:12: */ +func sqlite3Fts5HashWrite(tls *libc.TLS, pHash uintptr, iRowid I64, iCol int32, iPos int32, bByte int8, pToken uintptr, nToken int32) int32 { /* sqlite3.c:224500:12: */ var iHash uint32 var p uintptr var pPtr uintptr @@ -227116,7 +227145,7 @@ func sqlite3Fts5HashWrite(tls *libc.TLS, pHash uintptr, iRowid I64, iCol int32, // Arguments pLeft and pRight point to linked-lists of hash-entry objects, // each sorted in key order. This function merges the two lists into a // single list and returns a pointer to its first element. -func fts5HashEntryMerge(tls *libc.TLS, pLeft uintptr, pRight uintptr) uintptr { /* sqlite3.c:224596:22: */ +func fts5HashEntryMerge(tls *libc.TLS, pLeft uintptr, pRight uintptr) uintptr { /* sqlite3.c:224653:22: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -227162,7 +227191,7 @@ func fts5HashEntryMerge(tls *libc.TLS, pLeft uintptr, pRight uintptr) uintptr { // in sorted order. The hash table is cleared before returning. It is // the responsibility of the caller to free the elements of the returned // list. -func fts5HashEntrySort(tls *libc.TLS, pHash uintptr, pTerm uintptr, nTerm int32, ppSorted uintptr) int32 { /* sqlite3.c:224642:12: */ +func fts5HashEntrySort(tls *libc.TLS, pHash uintptr, pTerm uintptr, nTerm int32, ppSorted uintptr) int32 { /* sqlite3.c:224699:12: */ var nMergeSlot int32 = 32 var ap uintptr var pList uintptr @@ -227204,7 +227233,7 @@ func fts5HashEntrySort(tls *libc.TLS, pHash uintptr, pTerm uintptr, nTerm int32, } // Query the hash table for a doclist associated with term pTerm/nTerm. -func sqlite3Fts5HashQuery(tls *libc.TLS, pHash uintptr, nPre int32, pTerm uintptr, nTerm int32, ppOut uintptr, pnDoclist uintptr) int32 { /* sqlite3.c:224689:12: */ +func sqlite3Fts5HashQuery(tls *libc.TLS, pHash uintptr, nPre int32, pTerm uintptr, nTerm int32, ppOut uintptr, pnDoclist uintptr) int32 { /* sqlite3.c:224746:12: */ var iHash uint32 = fts5HashKey(tls, (*Fts5Hash)(unsafe.Pointer(pHash)).FnSlot, pTerm, nTerm) var zKey uintptr = uintptr(0) var p uintptr @@ -227238,20 +227267,20 @@ func sqlite3Fts5HashQuery(tls *libc.TLS, pHash uintptr, nPre int32, pTerm uintpt return SQLITE_OK } -func sqlite3Fts5HashScanInit(tls *libc.TLS, p uintptr, pTerm uintptr, nTerm int32) int32 { /* sqlite3.c:224727:12: */ +func sqlite3Fts5HashScanInit(tls *libc.TLS, p uintptr, pTerm uintptr, nTerm int32) int32 { /* sqlite3.c:224784:12: */ return fts5HashEntrySort(tls, p, pTerm, nTerm, p+24) } -func sqlite3Fts5HashScanNext(tls *libc.TLS, p uintptr) { /* sqlite3.c:224734:13: */ +func sqlite3Fts5HashScanNext(tls *libc.TLS, p uintptr) { /* sqlite3.c:224791:13: */ (*Fts5Hash)(unsafe.Pointer(p)).FpScan = (*Fts5HashEntry)(unsafe.Pointer((*Fts5Hash)(unsafe.Pointer(p)).FpScan)).FpScanNext } -func sqlite3Fts5HashScanEof(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:224739:12: */ +func sqlite3Fts5HashScanEof(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:224796:12: */ return libc.Bool32((*Fts5Hash)(unsafe.Pointer(p)).FpScan == uintptr(0)) } -func sqlite3Fts5HashScanEntry(tls *libc.TLS, pHash uintptr, pzTerm uintptr, ppDoclist uintptr, pnDoclist uintptr) { /* sqlite3.c:224743:13: */ +func sqlite3Fts5HashScanEntry(tls *libc.TLS, pHash uintptr, pzTerm uintptr, ppDoclist uintptr, pnDoclist uintptr) { /* sqlite3.c:224800:13: */ var p uintptr if libc.AssignUintptr(&p, (*Fts5Hash)(unsafe.Pointer(pHash)).FpScan) != 0 { var zKey uintptr = p + 1*48 @@ -227477,7 +227506,7 @@ type Fts5Data1 = struct { Fp uintptr Fnn int32 FszLeaf int32 -} /* sqlite3.c:225018:9 */ +} /* sqlite3.c:225075:9 */ // 2014 May 31 // @@ -227685,14 +227714,14 @@ type Fts5Data1 = struct { // many zero bytes. This makes it easier to decode the various record formats // without overreading if the records are corrupt. -type Fts5Data = Fts5Data1 /* sqlite3.c:225018:25 */ +type Fts5Data = Fts5Data1 /* sqlite3.c:225075:25 */ type Fts5DlidxIter1 = struct { FnLvl int32 FiSegid int32 FaLvl [1]Fts5DlidxLvl -} /* sqlite3.c:225019:9 */ +} /* sqlite3.c:225076:9 */ -type Fts5DlidxIter = Fts5DlidxIter1 /* sqlite3.c:225019:30 */ +type Fts5DlidxIter = Fts5DlidxIter1 /* sqlite3.c:225076:30 */ type Fts5DlidxLvl1 = struct { FpData uintptr FiOff int32 @@ -227700,17 +227729,17 @@ type Fts5DlidxLvl1 = struct { FiFirstOff int32 FiLeafPgno int32 FiRowid I64 -} /* sqlite3.c:225019:9 */ +} /* sqlite3.c:225076:9 */ -type Fts5DlidxLvl = Fts5DlidxLvl1 /* sqlite3.c:225020:29 */ +type Fts5DlidxLvl = Fts5DlidxLvl1 /* sqlite3.c:225077:29 */ type Fts5DlidxWriter1 = struct { Fpgno int32 FbPrevValid int32 FiPrev I64 Fbuf Fts5Buffer -} /* sqlite3.c:225021:9 */ +} /* sqlite3.c:225078:9 */ -type Fts5DlidxWriter = Fts5DlidxWriter1 /* sqlite3.c:225021:32 */ +type Fts5DlidxWriter = Fts5DlidxWriter1 /* sqlite3.c:225078:32 */ type Fts5Iter1 = struct { Fbase Fts5IndexIter FpIndex uintptr @@ -227724,18 +227753,18 @@ type Fts5Iter1 = struct { FiSwitchRowid I64 FaFirst uintptr FaSeg [1]Fts5SegIter -} /* sqlite3.c:225022:9 */ +} /* sqlite3.c:225079:9 */ -type Fts5Iter = Fts5Iter1 /* sqlite3.c:225022:25 */ +type Fts5Iter = Fts5Iter1 /* sqlite3.c:225079:25 */ type Fts5PageWriter1 = struct { Fpgno int32 FiPrevPgidx int32 Fbuf Fts5Buffer Fpgidx Fts5Buffer Fterm Fts5Buffer -} /* sqlite3.c:225023:9 */ +} /* sqlite3.c:225080:9 */ -type Fts5PageWriter = Fts5PageWriter1 /* sqlite3.c:225023:31 */ +type Fts5PageWriter = Fts5PageWriter1 /* sqlite3.c:225080:31 */ type Fts5SegIter1 = struct { FpSeg uintptr Fflags int32 @@ -227757,18 +227786,18 @@ type Fts5SegIter1 = struct { FnPos int32 FbDel U8 F__ccgo_pad1 [3]byte -} /* sqlite3.c:225022:9 */ +} /* sqlite3.c:225079:9 */ -type Fts5SegIter = Fts5SegIter1 /* sqlite3.c:225024:28 */ +type Fts5SegIter = Fts5SegIter1 /* sqlite3.c:225081:28 */ type Fts5DoclistIter1 = struct { FaEof uintptr FiRowid I64 FaPoslist uintptr FnPoslist int32 FnSize int32 -} /* sqlite3.c:225025:9 */ +} /* sqlite3.c:225082:9 */ -type Fts5DoclistIter = Fts5DoclistIter1 /* sqlite3.c:225025:32 */ +type Fts5DoclistIter = Fts5DoclistIter1 /* sqlite3.c:225082:32 */ type Fts5SegWriter1 = struct { FiSegid int32 F__ccgo_pad1 [4]byte @@ -227785,9 +227814,9 @@ type Fts5SegWriter1 = struct { Fbtterm Fts5Buffer FiBtPage int32 F__ccgo_pad3 [4]byte -} /* sqlite3.c:225026:9 */ +} /* sqlite3.c:225083:9 */ -type Fts5SegWriter = Fts5SegWriter1 /* sqlite3.c:225026:30 */ +type Fts5SegWriter = Fts5SegWriter1 /* sqlite3.c:225083:30 */ type Fts5Structure1 = struct { FnRef int32 F__ccgo_pad1 [4]byte @@ -227795,38 +227824,38 @@ type Fts5Structure1 = struct { FnSegment int32 FnLevel int32 FaLevel [1]Fts5StructureLevel -} /* sqlite3.c:216813:9 */ +} /* sqlite3.c:216870:9 */ -type Fts5Structure = Fts5Structure1 /* sqlite3.c:225027:30 */ +type Fts5Structure = Fts5Structure1 /* sqlite3.c:225084:30 */ type Fts5StructureLevel1 = struct { FnMerge int32 FnSeg int32 FaSeg uintptr -} /* sqlite3.c:216813:9 */ +} /* sqlite3.c:216870:9 */ -type Fts5StructureLevel = Fts5StructureLevel1 /* sqlite3.c:225028:35 */ +type Fts5StructureLevel = Fts5StructureLevel1 /* sqlite3.c:225085:35 */ type Fts5StructureSegment1 = struct { FiSegid int32 FpgnoFirst int32 FpgnoLast int32 -} /* sqlite3.c:216813:9 */ +} /* sqlite3.c:216870:9 */ -type Fts5StructureSegment = Fts5StructureSegment1 /* sqlite3.c:225029:37 */ +type Fts5StructureSegment = Fts5StructureSegment1 /* sqlite3.c:225086:37 */ type Fts5CResult1 = struct { FiFirst U16 FbTermEq U8 F__ccgo_pad1 [1]byte -} /* sqlite3.c:225022:9 */ +} /* sqlite3.c:225079:9 */ -type Fts5CResult = Fts5CResult1 /* sqlite3.c:225139:28 */ +type Fts5CResult = Fts5CResult1 /* sqlite3.c:225196:28 */ -func fts5PutU16(tls *libc.TLS, aOut uintptr, iVal U16) { /* sqlite3.c:225318:13: */ +func fts5PutU16(tls *libc.TLS, aOut uintptr, iVal U16) { /* sqlite3.c:225375:13: */ *(*U8)(unsafe.Pointer(aOut)) = U8(int32(iVal) >> 8) *(*U8)(unsafe.Pointer(aOut + 1)) = U8(int32(iVal) & 0xFF) } -func fts5GetU16(tls *libc.TLS, aIn uintptr) U16 { /* sqlite3.c:225323:12: */ +func fts5GetU16(tls *libc.TLS, aIn uintptr) U16 { /* sqlite3.c:225380:12: */ return U16(int32(U16(*(*U8)(unsafe.Pointer(aIn))))<<8 + int32(*(*U8)(unsafe.Pointer(aIn + 1)))) } @@ -227834,7 +227863,7 @@ func fts5GetU16(tls *libc.TLS, aIn uintptr) U16 { /* sqlite3.c:225323:12: */ // // If an OOM error is encountered, return NULL and set the error code in // the Fts5Index handle passed as the first argument. -func fts5IdxMalloc(tls *libc.TLS, p uintptr, nByte Sqlite3_int64) uintptr { /* sqlite3.c:225333:13: */ +func fts5IdxMalloc(tls *libc.TLS, p uintptr, nByte Sqlite3_int64) uintptr { /* sqlite3.c:225390:13: */ return sqlite3Fts5MallocZero(tls, p+52, nByte) } @@ -227852,7 +227881,7 @@ func fts5IdxMalloc(tls *libc.TLS, p uintptr, nByte Sqlite3_int64) uintptr { /* s // +ve if pRight is smaller than pLeft. In other words: // // res = *pLeft - *pRight -func fts5BufferCompare(tls *libc.TLS, pLeft uintptr, pRight uintptr) int32 { /* sqlite3.c:225365:12: */ +func fts5BufferCompare(tls *libc.TLS, pLeft uintptr, pRight uintptr) int32 { /* sqlite3.c:225422:12: */ var nCmp int32 var res int32 nCmp = func() int32 { @@ -227876,7 +227905,7 @@ func fts5BufferCompare(tls *libc.TLS, pLeft uintptr, pRight uintptr) int32 { /* }() } -func fts5LeafFirstTermOff(tls *libc.TLS, pLeaf uintptr) int32 { /* sqlite3.c:225374:12: */ +func fts5LeafFirstTermOff(tls *libc.TLS, pLeaf uintptr) int32 { /* sqlite3.c:225431:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -227887,7 +227916,7 @@ func fts5LeafFirstTermOff(tls *libc.TLS, pLeaf uintptr) int32 { /* sqlite3.c:225 } // Close the read-only blob handle, if it is open. -func sqlite3Fts5IndexCloseReader(tls *libc.TLS, p uintptr) { /* sqlite3.c:225383:13: */ +func sqlite3Fts5IndexCloseReader(tls *libc.TLS, p uintptr) { /* sqlite3.c:225440:13: */ if (*Fts5Index)(unsafe.Pointer(p)).FpReader != 0 { var pReader uintptr = (*Fts5Index)(unsafe.Pointer(p)).FpReader (*Fts5Index)(unsafe.Pointer(p)).FpReader = uintptr(0) @@ -227899,7 +227928,7 @@ func sqlite3Fts5IndexCloseReader(tls *libc.TLS, p uintptr) { /* sqlite3.c:225383 // // If an error occurs, NULL is returned and an error left in the // Fts5Index object. -func fts5DataRead(tls *libc.TLS, p uintptr, iRowid I64) uintptr { /* sqlite3.c:225397:17: */ +func fts5DataRead(tls *libc.TLS, p uintptr, iRowid I64) uintptr { /* sqlite3.c:225454:17: */ var pRet uintptr = uintptr(0) if (*Fts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK { var rc int32 = SQLITE_OK @@ -227972,11 +228001,11 @@ func fts5DataRead(tls *libc.TLS, p uintptr, iRowid I64) uintptr { /* sqlite3.c:2 // Release a reference to data record returned by an earlier call to // fts5DataRead(). -func fts5DataRelease(tls *libc.TLS, pData uintptr) { /* sqlite3.c:225471:13: */ +func fts5DataRelease(tls *libc.TLS, pData uintptr) { /* sqlite3.c:225528:13: */ Xsqlite3_free(tls, pData) } -func fts5LeafRead(tls *libc.TLS, p uintptr, iRowid I64) uintptr { /* sqlite3.c:225475:17: */ +func fts5LeafRead(tls *libc.TLS, p uintptr, iRowid I64) uintptr { /* sqlite3.c:225532:17: */ var pRet uintptr = fts5DataRead(tls, p, iRowid) if pRet != 0 { if (*Fts5Data)(unsafe.Pointer(pRet)).Fnn < 4 || (*Fts5Data)(unsafe.Pointer(pRet)).FszLeaf > (*Fts5Data)(unsafe.Pointer(pRet)).Fnn { @@ -227988,7 +228017,7 @@ func fts5LeafRead(tls *libc.TLS, p uintptr, iRowid I64) uintptr { /* sqlite3.c:2 return pRet } -func fts5IndexPrepareStmt(tls *libc.TLS, p uintptr, ppStmt uintptr, zSql uintptr) int32 { /* sqlite3.c:225487:12: */ +func fts5IndexPrepareStmt(tls *libc.TLS, p uintptr, ppStmt uintptr, zSql uintptr) int32 { /* sqlite3.c:225544:12: */ if (*Fts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK { if zSql != 0 { (*Fts5Index)(unsafe.Pointer(p)).Frc = Xsqlite3_prepare_v3(tls, (*Fts5Config)(unsafe.Pointer((*Fts5Index)(unsafe.Pointer(p)).FpConfig)).Fdb, zSql, -1, @@ -228003,7 +228032,7 @@ func fts5IndexPrepareStmt(tls *libc.TLS, p uintptr, ppStmt uintptr, zSql uintptr } // INSERT OR REPLACE a record into the %_data table. -func fts5DataWrite(tls *libc.TLS, p uintptr, iRowid I64, pData uintptr, nData int32) { /* sqlite3.c:225509:13: */ +func fts5DataWrite(tls *libc.TLS, p uintptr, iRowid I64, pData uintptr, nData int32) { /* sqlite3.c:225566:13: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -228031,7 +228060,7 @@ func fts5DataWrite(tls *libc.TLS, p uintptr, iRowid I64, pData uintptr, nData in // Execute the following SQL: // // DELETE FROM %_data WHERE id BETWEEN $iFirst AND $iLast -func fts5DataDelete(tls *libc.TLS, p uintptr, iFirst I64, iLast I64) { /* sqlite3.c:225533:13: */ +func fts5DataDelete(tls *libc.TLS, p uintptr, iFirst I64, iLast I64) { /* sqlite3.c:225590:13: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -228056,7 +228085,7 @@ func fts5DataDelete(tls *libc.TLS, p uintptr, iFirst I64, iLast I64) { /* sqlite } // Remove all records associated with segment iSegid. -func fts5DataRemoveSegment(tls *libc.TLS, p uintptr, iSegid int32) { /* sqlite3.c:225554:13: */ +func fts5DataRemoveSegment(tls *libc.TLS, p uintptr, iSegid int32) { /* sqlite3.c:225611:13: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -228078,7 +228107,7 @@ func fts5DataRemoveSegment(tls *libc.TLS, p uintptr, iSegid int32) { /* sqlite3. // Release a reference to an Fts5Structure object returned by an earlier // call to fts5StructureRead() or fts5StructureDecode(). -func fts5StructureRelease(tls *libc.TLS, pStruct uintptr) { /* sqlite3.c:225576:13: */ +func fts5StructureRelease(tls *libc.TLS, pStruct uintptr) { /* sqlite3.c:225633:13: */ if pStruct != 0 && 0 >= libc.PreDecInt32(&(*Fts5Structure)(unsafe.Pointer(pStruct)).FnRef, 1) { var i int32 @@ -228089,22 +228118,22 @@ func fts5StructureRelease(tls *libc.TLS, pStruct uintptr) { /* sqlite3.c:225576: } } -func fts5StructureRef(tls *libc.TLS, pStruct uintptr) { /* sqlite3.c:225587:13: */ +func fts5StructureRef(tls *libc.TLS, pStruct uintptr) { /* sqlite3.c:225644:13: */ (*Fts5Structure)(unsafe.Pointer(pStruct)).FnRef++ } -func sqlite3Fts5StructureRef(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:225591:13: */ +func sqlite3Fts5StructureRef(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:225648:13: */ fts5StructureRef(tls, (*Fts5Index)(unsafe.Pointer(p)).FpStruct) return (*Fts5Index)(unsafe.Pointer(p)).FpStruct } -func sqlite3Fts5StructureRelease(tls *libc.TLS, p uintptr) { /* sqlite3.c:225595:13: */ +func sqlite3Fts5StructureRelease(tls *libc.TLS, p uintptr) { /* sqlite3.c:225652:13: */ if p != 0 { fts5StructureRelease(tls, p) } } -func sqlite3Fts5StructureTest(tls *libc.TLS, p uintptr, pStruct uintptr) int32 { /* sqlite3.c:225600:12: */ +func sqlite3Fts5StructureTest(tls *libc.TLS, p uintptr, pStruct uintptr) int32 { /* sqlite3.c:225657:12: */ if (*Fts5Index)(unsafe.Pointer(p)).FpStruct != pStruct { return SQLITE_ABORT } @@ -228115,7 +228144,7 @@ func sqlite3Fts5StructureTest(tls *libc.TLS, p uintptr, pStruct uintptr) int32 { // // This function is a no-op if (*pRc) is not SQLITE_OK when it is called. If // an error occurs, (*pRc) is set to an SQLite error code before returning. -func fts5StructureMakeWritable(tls *libc.TLS, pRc uintptr, pp uintptr) { /* sqlite3.c:225613:13: */ +func fts5StructureMakeWritable(tls *libc.TLS, pRc uintptr, pp uintptr) { /* sqlite3.c:225670:13: */ var p uintptr = *(*uintptr)(unsafe.Pointer(pp)) if *(*int32)(unsafe.Pointer(pRc)) == SQLITE_OK && (*Fts5Structure)(unsafe.Pointer(p)).FnRef > 1 { var nByte I64 = I64(uint64(unsafe.Sizeof(Fts5Structure{})) + uint64((*Fts5Structure)(unsafe.Pointer(p)).FnLevel-1)*uint64(unsafe.Sizeof(Fts5StructureLevel{}))) @@ -228157,7 +228186,7 @@ func fts5StructureMakeWritable(tls *libc.TLS, pRc uintptr, pp uintptr) { /* sqli // If an error occurs, *ppOut is set to NULL and an SQLite error code // returned. Otherwise, *ppOut is set to point to the new object and // SQLITE_OK returned. -func fts5StructureDecode(tls *libc.TLS, pData uintptr, nData int32, piCookie uintptr, ppOut uintptr) int32 { /* sqlite3.c:225655:12: */ +func fts5StructureDecode(tls *libc.TLS, pData uintptr, nData int32, piCookie uintptr, ppOut uintptr) int32 { /* sqlite3.c:225712:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -228250,7 +228279,7 @@ func fts5StructureDecode(tls *libc.TLS, pData uintptr, nData int32, piCookie uin // Add a level to the Fts5Structure.aLevel[] array of structure object // (*ppStruct). -func fts5StructureAddLevel(tls *libc.TLS, pRc uintptr, ppStruct uintptr) { /* sqlite3.c:225747:13: */ +func fts5StructureAddLevel(tls *libc.TLS, pRc uintptr, ppStruct uintptr) { /* sqlite3.c:225804:13: */ fts5StructureMakeWritable(tls, pRc, ppStruct) if *(*int32)(unsafe.Pointer(pRc)) == SQLITE_OK { var pStruct uintptr = *(*uintptr)(unsafe.Pointer(ppStruct)) @@ -228270,7 +228299,7 @@ func fts5StructureAddLevel(tls *libc.TLS, pRc uintptr, ppStruct uintptr) { /* sq // Extend level iLvl so that there is room for at least nExtra more // segments. -func fts5StructureExtendLevel(tls *libc.TLS, pRc uintptr, pStruct uintptr, iLvl int32, nExtra int32, bInsert int32) { /* sqlite3.c:225772:13: */ +func fts5StructureExtendLevel(tls *libc.TLS, pRc uintptr, pStruct uintptr, iLvl int32, nExtra int32, bInsert int32) { /* sqlite3.c:225829:13: */ if *(*int32)(unsafe.Pointer(pRc)) == SQLITE_OK { var pLvl uintptr = pStruct + 24 + uintptr(iLvl)*16 var aNew uintptr @@ -228293,7 +228322,7 @@ func fts5StructureExtendLevel(tls *libc.TLS, pRc uintptr, pStruct uintptr, iLvl } } -func fts5StructureReadUncached(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:225801:22: */ +func fts5StructureReadUncached(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:225858:22: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -228321,7 +228350,7 @@ func fts5StructureReadUncached(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c: return *(*uintptr)(unsafe.Pointer(bp + 8 /* pRet */)) } -func fts5IndexDataVersion(tls *libc.TLS, p uintptr) I64 { /* sqlite3.c:225825:12: */ +func fts5IndexDataVersion(tls *libc.TLS, p uintptr) I64 { /* sqlite3.c:225882:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -228354,7 +228383,7 @@ func fts5IndexDataVersion(tls *libc.TLS, p uintptr) I64 { /* sqlite3.c:225825:12 // If an error occurs, NULL is returned and an error code left in the // Fts5Index handle. If an error has already occurred when this function // is called, it is a no-op. -func fts5StructureRead(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:225856:22: */ +func fts5StructureRead(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:225913:22: */ if (*Fts5Index)(unsafe.Pointer(p)).FpStruct == uintptr(0) { (*Fts5Index)(unsafe.Pointer(p)).FiStructVersion = fts5IndexDataVersion(tls, p) @@ -228371,7 +228400,7 @@ func fts5StructureRead(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:225856:2 return (*Fts5Index)(unsafe.Pointer(p)).FpStruct } -func fts5StructureInvalidate(tls *libc.TLS, p uintptr) { /* sqlite3.c:225895:13: */ +func fts5StructureInvalidate(tls *libc.TLS, p uintptr) { /* sqlite3.c:225952:13: */ if (*Fts5Index)(unsafe.Pointer(p)).FpStruct != 0 { fts5StructureRelease(tls, (*Fts5Index)(unsafe.Pointer(p)).FpStruct) (*Fts5Index)(unsafe.Pointer(p)).FpStruct = uintptr(0) @@ -228385,7 +228414,7 @@ func fts5StructureInvalidate(tls *libc.TLS, p uintptr) { /* sqlite3.c:225895:13: // // If an error occurs, leave an error code in the Fts5Index object. If an // error has already occurred, this function is a no-op. -func fts5StructureWrite(tls *libc.TLS, p uintptr, pStruct uintptr) { /* sqlite3.c:225938:13: */ +func fts5StructureWrite(tls *libc.TLS, p uintptr, pStruct uintptr) { /* sqlite3.c:225995:13: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -228438,14 +228467,14 @@ func fts5StructureWrite(tls *libc.TLS, p uintptr, pStruct uintptr) { /* sqlite3. } } -func fts5SegmentSize(tls *libc.TLS, pSeg uintptr) int32 { /* sqlite3.c:225993:12: */ +func fts5SegmentSize(tls *libc.TLS, pSeg uintptr) int32 { /* sqlite3.c:226050:12: */ return 1 + (*Fts5StructureSegment)(unsafe.Pointer(pSeg)).FpgnoLast - (*Fts5StructureSegment)(unsafe.Pointer(pSeg)).FpgnoFirst } // Return a copy of index structure pStruct. Except, promote as many // segments as possible to level iPromote. If an OOM occurs, NULL is // returned. -func fts5StructurePromoteTo(tls *libc.TLS, p uintptr, iPromote int32, szPromote int32, pStruct uintptr) { /* sqlite3.c:226002:13: */ +func fts5StructurePromoteTo(tls *libc.TLS, p uintptr, iPromote int32, szPromote int32, pStruct uintptr) { /* sqlite3.c:226059:13: */ var il int32 var is int32 var pOut uintptr = pStruct + 24 + uintptr(iPromote)*16 @@ -228488,7 +228517,7 @@ func fts5StructurePromoteTo(tls *libc.TLS, p uintptr, iPromote int32, szPromote // // If one or more segments are promoted, the structure object is updated // to reflect this. -func fts5StructurePromote(tls *libc.TLS, p uintptr, iLvl int32, pStruct uintptr) { /* sqlite3.c:226045:13: */ +func fts5StructurePromote(tls *libc.TLS, p uintptr, iLvl int32, pStruct uintptr) { /* sqlite3.c:226102:13: */ if (*Fts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK { var iTst int32 var iPromote int32 = -1 @@ -228537,7 +228566,7 @@ func fts5StructurePromote(tls *libc.TLS, p uintptr, iLvl int32, pStruct uintptr) // Advance the iterator passed as the only argument. If the end of the // doclist-index page is reached, return non-zero. -func fts5DlidxLvlNext(tls *libc.TLS, pLvl uintptr) int32 { /* sqlite3.c:226096:12: */ +func fts5DlidxLvlNext(tls *libc.TLS, pLvl uintptr) int32 { /* sqlite3.c:226153:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -228573,7 +228602,7 @@ func fts5DlidxLvlNext(tls *libc.TLS, pLvl uintptr) int32 { /* sqlite3.c:226096:1 } // Advance the iterator passed as the only argument. -func fts5DlidxIterNextR(tls *libc.TLS, p uintptr, pIter uintptr, iLvl int32) int32 { /* sqlite3.c:226128:12: */ +func fts5DlidxIterNextR(tls *libc.TLS, p uintptr, pIter uintptr, iLvl int32) int32 { /* sqlite3.c:226185:12: */ var pLvl uintptr = pIter + 8 + uintptr(iLvl)*32 if fts5DlidxLvlNext(tls, pLvl) != 0 { @@ -228594,7 +228623,7 @@ func fts5DlidxIterNextR(tls *libc.TLS, p uintptr, pIter uintptr, iLvl int32) int return (*Fts5DlidxLvl)(unsafe.Pointer(pIter + 8)).FbEof } -func fts5DlidxIterNext(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlite3.c:226148:12: */ +func fts5DlidxIterNext(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlite3.c:226205:12: */ return fts5DlidxIterNextR(tls, p, pIter, 0) } @@ -228607,7 +228636,7 @@ func fts5DlidxIterNext(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlit // // When this function is called pIter->iLeafPgno is the page number the // doclist is associated with (the one featuring the term). -func fts5DlidxIterFirst(tls *libc.TLS, pIter uintptr) int32 { /* sqlite3.c:226163:12: */ +func fts5DlidxIterFirst(tls *libc.TLS, pIter uintptr) int32 { /* sqlite3.c:226220:12: */ var i int32 for i = 0; i < (*Fts5DlidxIter)(unsafe.Pointer(pIter)).FnLvl; i++ { fts5DlidxLvlNext(tls, pIter+8+uintptr(i)*32) @@ -228615,11 +228644,11 @@ func fts5DlidxIterFirst(tls *libc.TLS, pIter uintptr) int32 { /* sqlite3.c:22616 return (*Fts5DlidxLvl)(unsafe.Pointer(pIter + 8)).FbEof } -func fts5DlidxIterEof(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlite3.c:226172:12: */ +func fts5DlidxIterEof(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlite3.c:226229:12: */ return libc.Bool32((*Fts5Index)(unsafe.Pointer(p)).Frc != SQLITE_OK || (*Fts5DlidxLvl)(unsafe.Pointer(pIter+8)).FbEof != 0) } -func fts5DlidxIterLast(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:226176:13: */ +func fts5DlidxIterLast(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:226233:13: */ var i int32 // Advance each level to the last entry on the last page @@ -228640,7 +228669,7 @@ func fts5DlidxIterLast(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:2 } // Move the iterator passed as the only argument to the previous entry. -func fts5DlidxLvlPrev(tls *libc.TLS, pLvl uintptr) int32 { /* sqlite3.c:226199:12: */ +func fts5DlidxLvlPrev(tls *libc.TLS, pLvl uintptr) int32 { /* sqlite3.c:226256:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -228702,7 +228731,7 @@ func fts5DlidxLvlPrev(tls *libc.TLS, pLvl uintptr) int32 { /* sqlite3.c:226199:1 return (*Fts5DlidxLvl)(unsafe.Pointer(pLvl)).FbEof } -func fts5DlidxIterPrevR(tls *libc.TLS, p uintptr, pIter uintptr, iLvl int32) int32 { /* sqlite3.c:226248:12: */ +func fts5DlidxIterPrevR(tls *libc.TLS, p uintptr, pIter uintptr, iLvl int32) int32 { /* sqlite3.c:226305:12: */ var pLvl uintptr = pIter + 8 + uintptr(iLvl)*32 if fts5DlidxLvlPrev(tls, pLvl) != 0 { @@ -228725,12 +228754,12 @@ func fts5DlidxIterPrevR(tls *libc.TLS, p uintptr, pIter uintptr, iLvl int32) int return (*Fts5DlidxLvl)(unsafe.Pointer(pIter + 8)).FbEof } -func fts5DlidxIterPrev(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlite3.c:226271:12: */ +func fts5DlidxIterPrev(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlite3.c:226328:12: */ return fts5DlidxIterPrevR(tls, p, pIter, 0) } // Free a doclist-index iterator object allocated by fts5DlidxIterInit(). -func fts5DlidxIterFree(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:226278:13: */ +func fts5DlidxIterFree(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:226335:13: */ if pIter != 0 { var i int32 for i = 0; i < (*Fts5DlidxIter)(unsafe.Pointer(pIter)).FnLvl; i++ { @@ -228740,7 +228769,7 @@ func fts5DlidxIterFree(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:226278:13: * } } -func fts5DlidxIterInit(tls *libc.TLS, p uintptr, bRev int32, iSegid int32, iLeafPg int32) uintptr { /* sqlite3.c:226288:22: */ +func fts5DlidxIterInit(tls *libc.TLS, p uintptr, bRev int32, iSegid int32, iLeafPg int32) uintptr { /* sqlite3.c:226345:22: */ var pIter uintptr = uintptr(0) var i int32 var bDone int32 = 0 @@ -228782,16 +228811,16 @@ func fts5DlidxIterInit(tls *libc.TLS, p uintptr, bRev int32, iSegid int32, iLeaf return pIter } -func fts5DlidxIterRowid(tls *libc.TLS, pIter uintptr) I64 { /* sqlite3.c:226335:12: */ +func fts5DlidxIterRowid(tls *libc.TLS, pIter uintptr) I64 { /* sqlite3.c:226392:12: */ return (*Fts5DlidxLvl)(unsafe.Pointer(pIter + 8)).FiRowid } -func fts5DlidxIterPgno(tls *libc.TLS, pIter uintptr) int32 { /* sqlite3.c:226338:12: */ +func fts5DlidxIterPgno(tls *libc.TLS, pIter uintptr) int32 { /* sqlite3.c:226395:12: */ return (*Fts5DlidxLvl)(unsafe.Pointer(pIter + 8)).FiLeafPgno } // Load the next leaf page into the segment iterator. -func fts5SegIterNextPage(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:226345:13: */ +func fts5SegIterNextPage(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:226402:13: */ var pLeaf uintptr var pSeg uintptr = (*Fts5SegIter)(unsafe.Pointer(pIter)).FpSeg fts5DataRelease(tls, (*Fts5SegIter)(unsafe.Pointer(pIter)).FpLeaf) @@ -228821,7 +228850,7 @@ func fts5SegIterNextPage(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c // position list size field. Read the varint and return the number of bytes // read. Before returning, set *pnSz to the number of bytes in the position // list, and *pbDel to true if the delete flag is set, or false otherwise. -func fts5GetPoslistSize(tls *libc.TLS, p uintptr, pnSz uintptr, pbDel uintptr) int32 { /* sqlite3.c:226383:12: */ +func fts5GetPoslistSize(tls *libc.TLS, p uintptr, pnSz uintptr, pbDel uintptr) int32 { /* sqlite3.c:226440:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -228850,7 +228879,7 @@ func fts5GetPoslistSize(tls *libc.TLS, p uintptr, pnSz uintptr, pbDel uintptr) i // // Leave Fts5SegIter.iLeafOffset pointing to the first byte of the // position list content (if any). -func fts5SegIterLoadNPos(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:226404:13: */ +func fts5SegIterLoadNPos(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:226461:13: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -228895,7 +228924,7 @@ func fts5SegIterLoadNPos(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c } } -func fts5SegIterLoadRowid(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:226433:13: */ +func fts5SegIterLoadRowid(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:226490:13: */ var a uintptr = (*Fts5Data)(unsafe.Pointer((*Fts5SegIter)(unsafe.Pointer(pIter)).FpLeaf)).Fp // Buffer to read data from var iOff I64 = (*Fts5SegIter)(unsafe.Pointer(pIter)).FiLeafOffset @@ -228927,7 +228956,7 @@ func fts5SegIterLoadRowid(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3. // accordingly and leaves (Fts5SegIter.iLeafOffset) set to the content of // the first position list. The position list belonging to document // (Fts5SegIter.iRowid). -func fts5SegIterLoadTerm(tls *libc.TLS, p uintptr, pIter uintptr, nKeep int32) { /* sqlite3.c:226466:13: */ +func fts5SegIterLoadTerm(tls *libc.TLS, p uintptr, pIter uintptr, nKeep int32) { /* sqlite3.c:226523:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -228961,7 +228990,7 @@ func fts5SegIterLoadTerm(tls *libc.TLS, p uintptr, pIter uintptr, nKeep int32) { fts5SegIterLoadRowid(tls, p, pIter) } -func fts5SegIterSetNext(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:226499:13: */ +func fts5SegIterSetNext(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:226556:13: */ if (*Fts5SegIter)(unsafe.Pointer(pIter)).Fflags&FTS5_SEGITER_REVERSE != 0 { (*Fts5SegIter)(unsafe.Pointer(pIter)).FxNext = *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, uintptr) @@ -228983,7 +229012,7 @@ func fts5SegIterSetNext(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c: // // If an error occurs, Fts5Index.rc is set to an appropriate error code. If // an error has already occurred when this function is called, it is a no-op. -func fts5SegIterInit(tls *libc.TLS, p uintptr, pSeg uintptr, pIter uintptr) { /* sqlite3.c:226517:13: */ +func fts5SegIterInit(tls *libc.TLS, p uintptr, pSeg uintptr, pIter uintptr) { /* sqlite3.c:226574:13: */ if (*Fts5StructureSegment)(unsafe.Pointer(pSeg)).FpgnoFirst == 0 { // This happens if the segment is being used as an input to an incremental // merge and all data has already been "trimmed". See function @@ -229024,7 +229053,7 @@ func fts5SegIterInit(tls *libc.TLS, p uintptr, pSeg uintptr, pIter uintptr) { /* // aRowidOffset[] and iRowidOffset variables. At this point the iterator // is in its regular state - Fts5SegIter.iLeafOffset points to the first // byte of the position list content associated with said rowid. -func fts5SegIterReverseInitPage(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:226566:13: */ +func fts5SegIterReverseInitPage(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:226623:13: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -229083,7 +229112,7 @@ func fts5SegIterReverseInitPage(tls *libc.TLS, p uintptr, pIter uintptr) { /* sq } // -func fts5SegIterReverseNewPage(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:226619:13: */ +func fts5SegIterReverseNewPage(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:226676:13: */ fts5DataRelease(tls, (*Fts5SegIter)(unsafe.Pointer(pIter)).FpLeaf) (*Fts5SegIter)(unsafe.Pointer(pIter)).FpLeaf = uintptr(0) @@ -229133,7 +229162,7 @@ func fts5SegIterReverseNewPage(tls *libc.TLS, p uintptr, pIter uintptr) { /* sql // Return true if the iterator passed as the second argument currently // points to a delete marker. A delete marker is an entry with a 0 byte // position-list. -func fts5MultiIterIsEmpty(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlite3.c:226675:12: */ +func fts5MultiIterIsEmpty(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlite3.c:226732:12: */ var pSeg uintptr = pIter + 96 + uintptr((*Fts5CResult)(unsafe.Pointer((*Fts5Iter)(unsafe.Pointer(pIter)).FaFirst+1*4)).FiFirst)*120 return libc.Bool32((*Fts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK && (*Fts5SegIter)(unsafe.Pointer(pSeg)).FpLeaf != 0 && (*Fts5SegIter)(unsafe.Pointer(pSeg)).FnPos == 0) } @@ -229141,7 +229170,7 @@ func fts5MultiIterIsEmpty(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sq // Advance iterator pIter to the next entry. // // This version of fts5SegIterNext() is only used by reverse iterators. -func fts5SegIterNext_Reverse(tls *libc.TLS, p uintptr, pIter uintptr, pbUnused uintptr) { /* sqlite3.c:226685:13: */ +func fts5SegIterNext_Reverse(tls *libc.TLS, p uintptr, pIter uintptr, pbUnused uintptr) { /* sqlite3.c:226742:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -229170,7 +229199,7 @@ func fts5SegIterNext_Reverse(tls *libc.TLS, p uintptr, pIter uintptr, pbUnused u // // This version of fts5SegIterNext() is only used if detail=none and the // iterator is not a reverse direction iterator. -func fts5SegIterNext_None(tls *libc.TLS, p uintptr, pIter uintptr, pbNewTerm uintptr) { /* sqlite3.c:226719:13: */ +func fts5SegIterNext_None(tls *libc.TLS, p uintptr, pIter uintptr, pbNewTerm uintptr) { /* sqlite3.c:226776:13: */ bp := tls.Alloc(36) defer tls.Free(36) @@ -229275,7 +229304,7 @@ next_none_eof: // If an error occurs, Fts5Index.rc is set to an appropriate error code. It // is not considered an error if the iterator reaches EOF. If an error has // already occurred when this function is called, it is a no-op. -func fts5SegIterNext(tls *libc.TLS, p uintptr, pIter uintptr, pbNewTerm uintptr) { /* sqlite3.c:226791:13: */ +func fts5SegIterNext(tls *libc.TLS, p uintptr, pIter uintptr, pbNewTerm uintptr) { /* sqlite3.c:226848:13: */ bp := tls.Alloc(44) defer tls.Free(44) @@ -229400,7 +229429,7 @@ func fts5SegIterNext(tls *libc.TLS, p uintptr, pIter uintptr, pbNewTerm uintptr) // Iterator pIter currently points to the first rowid in a doclist. This // function sets the iterator up so that iterates in reverse order through // the doclist. -func fts5SegIterReverse(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:226922:13: */ +func fts5SegIterReverse(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:226979:13: */ var pDlidx uintptr = (*Fts5SegIter)(unsafe.Pointer(pIter)).FpDlidx var pLast uintptr = uintptr(0) var pgnoLast int32 = 0 @@ -229500,7 +229529,7 @@ func fts5SegIterReverse(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c: // There is a doclist-index associated with the final term on the current // page. If the current term is the last term on the page, load the // doclist-index from disk and initialize an iterator at (pIter->pDlidx). -func fts5SegIterLoadDlidx(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:227011:13: */ +func fts5SegIterLoadDlidx(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:227068:13: */ var iSeg int32 = (*Fts5StructureSegment)(unsafe.Pointer((*Fts5SegIter)(unsafe.Pointer(pIter)).FpSeg)).FiSegid var bRev int32 = (*Fts5SegIter)(unsafe.Pointer(pIter)).Fflags & FTS5_SEGITER_REVERSE var pLeaf uintptr = (*Fts5SegIter)(unsafe.Pointer(pIter)).FpLeaf // Current leaf data @@ -229528,7 +229557,7 @@ func fts5SegIterLoadDlidx(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3. // iterator is left pointing to the smallest term in the segment that // is larger than the specified term, even if this term is not on the // current page. -func fts5LeafSeek(tls *libc.TLS, p uintptr, bGe int32, pIter uintptr, pTerm uintptr, nTerm int32) { /* sqlite3.c:227045:13: */ +func fts5LeafSeek(tls *libc.TLS, p uintptr, bGe int32, pIter uintptr, pTerm uintptr, nTerm int32) { /* sqlite3.c:227102:13: */ bp := tls.Alloc(20) defer tls.Free(20) @@ -229762,7 +229791,7 @@ __31: fts5SegIterLoadNPos(tls, p, pIter) } -func fts5IdxSelectStmt(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:227171:21: */ +func fts5IdxSelectStmt(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:227228:21: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -229781,7 +229810,7 @@ func fts5IdxSelectStmt(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:227171:2 // // If an error occurs, Fts5Index.rc is set to an appropriate error code. If // an error has already occurred when this function is called, it is a no-op. -func fts5SegIterSeekInit(tls *libc.TLS, p uintptr, pTerm uintptr, nTerm int32, flags int32, pSeg uintptr, pIter uintptr) { /* sqlite3.c:227190:13: */ +func fts5SegIterSeekInit(tls *libc.TLS, p uintptr, pTerm uintptr, nTerm int32, flags int32, pSeg uintptr, pIter uintptr) { /* sqlite3.c:227247:13: */ var iPg int32 = 1 var bGe int32 = flags & FTS5INDEX_QUERY_SCAN var bDlidx int32 = 0 // True if there is a doclist-index @@ -229851,7 +229880,7 @@ func fts5SegIterSeekInit(tls *libc.TLS, p uintptr, pTerm uintptr, nTerm int32, f // // If an error occurs, Fts5Index.rc is set to an appropriate error code. If // an error has already occurred when this function is called, it is a no-op. -func fts5SegIterHashInit(tls *libc.TLS, p uintptr, pTerm uintptr, nTerm int32, flags int32, pIter uintptr) { /* sqlite3.c:227273:13: */ +func fts5SegIterHashInit(tls *libc.TLS, p uintptr, pTerm uintptr, nTerm int32, flags int32, pIter uintptr) { /* sqlite3.c:227330:13: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -229907,7 +229936,7 @@ func fts5SegIterHashInit(tls *libc.TLS, p uintptr, pTerm uintptr, nTerm int32, f } // Zero the iterator passed as the only argument. -func fts5SegIterClear(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:227332:13: */ +func fts5SegIterClear(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:227389:13: */ sqlite3Fts5BufferFree(tls, pIter+88) fts5DataRelease(tls, (*Fts5SegIter)(unsafe.Pointer(pIter)).FpLeaf) fts5DataRelease(tls, (*Fts5SegIter)(unsafe.Pointer(pIter)).FpNextLeaf) @@ -229922,7 +229951,7 @@ func fts5SegIterClear(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:227332:13: */ // in the pIter->aSeg[] array that is (a) not at EOF, and (b) pointing // to a key that is a duplicate of another, higher priority, // segment-iterator in the pSeg->aSeg[] array. -func fts5MultiIterDoCompare(tls *libc.TLS, pIter uintptr, iOut int32) int32 { /* sqlite3.c:227436:12: */ +func fts5MultiIterDoCompare(tls *libc.TLS, pIter uintptr, iOut int32) int32 { /* sqlite3.c:227493:12: */ var i1 int32 // Index of left-hand Fts5SegIter var i2 int32 // Index of right-hand Fts5SegIter var iRes int32 @@ -229974,7 +230003,7 @@ func fts5MultiIterDoCompare(tls *libc.TLS, pIter uintptr, iOut int32) int32 { /* // Move the seg-iter so that it points to the first rowid on page iLeafPgno. // It is an error if leaf iLeafPgno does not exist or contains no rowids. -func fts5SegIterGotoPage(tls *libc.TLS, p uintptr, pIter uintptr, iLeafPgno int32) { /* sqlite3.c:227490:13: */ +func fts5SegIterGotoPage(tls *libc.TLS, p uintptr, pIter uintptr, iLeafPgno int32) { /* sqlite3.c:227547:13: */ if iLeafPgno > (*Fts5StructureSegment)(unsafe.Pointer((*Fts5SegIter)(unsafe.Pointer(pIter)).FpSeg)).FpgnoLast { (*Fts5Index)(unsafe.Pointer(p)).Frc = SQLITE_CORRUPT | int32(1)<<8 @@ -230004,7 +230033,7 @@ func fts5SegIterGotoPage(tls *libc.TLS, p uintptr, pIter uintptr, iLeafPgno int3 // Advance the iterator passed as the second argument until it is at or // past rowid iFrom. Regardless of the value of iFrom, the iterator is // always advanced at least once. -func fts5SegIterNextFrom(tls *libc.TLS, p uintptr, pIter uintptr, iMatch I64) { /* sqlite3.c:227528:13: */ +func fts5SegIterNextFrom(tls *libc.TLS, p uintptr, pIter uintptr, iMatch I64) { /* sqlite3.c:227585:13: */ var bRev int32 = (*Fts5SegIter)(unsafe.Pointer(pIter)).Fflags & FTS5_SEGITER_REVERSE var pDlidx uintptr = (*Fts5SegIter)(unsafe.Pointer(pIter)).FpDlidx var iLeafPgno int32 = (*Fts5SegIter)(unsafe.Pointer(pIter)).FiLeafPgno @@ -230054,7 +230083,7 @@ func fts5SegIterNextFrom(tls *libc.TLS, p uintptr, pIter uintptr, iMatch I64) { } // Free the iterator object passed as the second argument. -func fts5MultiIterFree(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:227582:13: */ +func fts5MultiIterFree(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:227639:13: */ if pIter != 0 { var i int32 for i = 0; i < (*Fts5Iter)(unsafe.Pointer(pIter)).FnSeg; i++ { @@ -230065,7 +230094,7 @@ func fts5MultiIterFree(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:227582:13: * } } -func fts5MultiIterAdvanced(tls *libc.TLS, p uintptr, pIter uintptr, iChanged int32, iMinset int32) { /* sqlite3.c:227593:13: */ +func fts5MultiIterAdvanced(tls *libc.TLS, p uintptr, pIter uintptr, iChanged int32, iMinset int32) { /* sqlite3.c:227650:13: */ var i int32 for i = ((*Fts5Iter)(unsafe.Pointer(pIter)).FnSeg + iChanged) / 2; i >= iMinset && (*Fts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK; i = i / 2 { var iEq int32 @@ -230088,7 +230117,7 @@ func fts5MultiIterAdvanced(tls *libc.TLS, p uintptr, pIter uintptr, iChanged int // If non-zero is returned, the caller should call fts5MultiIterAdvanced() // on the iterator instead. That function does the same as this one, except // that it deals with more complicated cases as well. -func fts5MultiIterAdvanceRowid(tls *libc.TLS, pIter uintptr, iChanged int32, ppFirst uintptr) int32 { /* sqlite3.c:227621:12: */ +func fts5MultiIterAdvanceRowid(tls *libc.TLS, pIter uintptr, iChanged int32, ppFirst uintptr) int32 { /* sqlite3.c:227678:12: */ var pNew uintptr = pIter + 96 + uintptr(iChanged)*120 if (*Fts5SegIter)(unsafe.Pointer(pNew)).FiRowid == (*Fts5Iter)(unsafe.Pointer(pIter)).FiSwitchRowid || @@ -230128,7 +230157,7 @@ func fts5MultiIterAdvanceRowid(tls *libc.TLS, pIter uintptr, iChanged int32, ppF } // Set the pIter->bEof variable based on the state of the sub-iterators. -func fts5MultiIterSetEof(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:227664:13: */ +func fts5MultiIterSetEof(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:227721:13: */ var pSeg uintptr = pIter + 96 + uintptr((*Fts5CResult)(unsafe.Pointer((*Fts5Iter)(unsafe.Pointer(pIter)).FaFirst+1*4)).FiFirst)*120 (*Fts5Iter)(unsafe.Pointer(pIter)).Fbase.FbEof = U8(libc.Bool32((*Fts5SegIter)(unsafe.Pointer(pSeg)).FpLeaf == uintptr(0))) (*Fts5Iter)(unsafe.Pointer(pIter)).FiSwitchRowid = (*Fts5SegIter)(unsafe.Pointer(pSeg)).FiRowid @@ -230139,7 +230168,7 @@ func fts5MultiIterSetEof(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:227664:13: // If an error occurs, an error code is left in Fts5Index.rc. It is not // considered an error if the iterator reaches EOF, or if it is already at // EOF when this function is called. -func fts5MultiIterNext(tls *libc.TLS, p uintptr, pIter uintptr, bFrom int32, iFrom I64) { /* sqlite3.c:227677:13: */ +func fts5MultiIterNext(tls *libc.TLS, p uintptr, pIter uintptr, bFrom int32, iFrom I64) { /* sqlite3.c:227734:13: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -230178,7 +230207,7 @@ func fts5MultiIterNext(tls *libc.TLS, p uintptr, pIter uintptr, bFrom int32, iFr } } -func fts5MultiIterNext2(tls *libc.TLS, p uintptr, pIter uintptr, pbNewTerm uintptr) { /* sqlite3.c:227715:13: */ +func fts5MultiIterNext2(tls *libc.TLS, p uintptr, pIter uintptr, pbNewTerm uintptr) { /* sqlite3.c:227772:13: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -230203,12 +230232,12 @@ func fts5MultiIterNext2(tls *libc.TLS, p uintptr, pIter uintptr, pbNewTerm uintp } } -func fts5IterSetOutputs_Noop(tls *libc.TLS, pUnused1 uintptr, pUnused2 uintptr) { /* sqlite3.c:227743:13: */ +func fts5IterSetOutputs_Noop(tls *libc.TLS, pUnused1 uintptr, pUnused2 uintptr) { /* sqlite3.c:227800:13: */ _ = pUnused1 _ = pUnused2 } -func fts5MultiIterAlloc(tls *libc.TLS, p uintptr, nSeg int32) uintptr { /* sqlite3.c:227747:17: */ +func fts5MultiIterAlloc(tls *libc.TLS, p uintptr, nSeg int32) uintptr { /* sqlite3.c:227804:17: */ var pNew uintptr var nSlot int32 // Power of two >= nSeg @@ -230227,7 +230256,7 @@ func fts5MultiIterAlloc(tls *libc.TLS, p uintptr, nSeg int32) uintptr { /* sqlit return pNew } -func fts5PoslistCallback(tls *libc.TLS, pUnused uintptr, pContext uintptr, pChunk uintptr, nChunk int32) { /* sqlite3.c:227769:13: */ +func fts5PoslistCallback(tls *libc.TLS, pUnused uintptr, pContext uintptr, pChunk uintptr, nChunk int32) { /* sqlite3.c:227826:13: */ _ = pUnused if nChunk > 0 { @@ -230244,21 +230273,21 @@ type PoslistCallbackCtx1 = struct { FpColset uintptr FeState int32 F__ccgo_pad1 [4]byte -} /* sqlite3.c:227781:9 */ +} /* sqlite3.c:227838:9 */ -type PoslistCallbackCtx = PoslistCallbackCtx1 /* sqlite3.c:227781:35 */ +type PoslistCallbackCtx = PoslistCallbackCtx1 /* sqlite3.c:227838:35 */ type PoslistOffsetsCtx1 = struct { FpBuf uintptr FpColset uintptr FiRead int32 FiWrite int32 -} /* sqlite3.c:227788:9 */ +} /* sqlite3.c:227845:9 */ -type PoslistOffsetsCtx = PoslistOffsetsCtx1 /* sqlite3.c:227788:34 */ +type PoslistOffsetsCtx = PoslistOffsetsCtx1 /* sqlite3.c:227845:34 */ // TODO: Make this more efficient! -func fts5IndexColsetTest(tls *libc.TLS, pColset uintptr, iCol int32) int32 { /* sqlite3.c:227799:12: */ +func fts5IndexColsetTest(tls *libc.TLS, pColset uintptr, iCol int32) int32 { /* sqlite3.c:227856:12: */ var i int32 for i = 0; i < (*Fts5Colset)(unsafe.Pointer(pColset)).FnCol; i++ { if *(*int32)(unsafe.Pointer(pColset + 4 + uintptr(i)*4)) == iCol { @@ -230268,7 +230297,7 @@ func fts5IndexColsetTest(tls *libc.TLS, pColset uintptr, iCol int32) int32 { /* return 0 } -func fts5PoslistOffsetsCallback(tls *libc.TLS, pUnused uintptr, pContext uintptr, pChunk uintptr, nChunk int32) { /* sqlite3.c:227807:13: */ +func fts5PoslistOffsetsCallback(tls *libc.TLS, pUnused uintptr, pContext uintptr, pChunk uintptr, nChunk int32) { /* sqlite3.c:227864:13: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -230294,7 +230323,7 @@ func fts5PoslistOffsetsCallback(tls *libc.TLS, pUnused uintptr, pContext uintptr } } -func fts5PoslistFilterCallback(tls *libc.TLS, pUnused uintptr, pContext uintptr, pChunk uintptr, nChunk int32) { /* sqlite3.c:227830:13: */ +func fts5PoslistFilterCallback(tls *libc.TLS, pUnused uintptr, pContext uintptr, pChunk uintptr, nChunk int32) { /* sqlite3.c:227887:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -230374,7 +230403,7 @@ func fts5PoslistFilterCallback(tls *libc.TLS, pUnused uintptr, pContext uintptr, } } -func fts5ChunkIterate(tls *libc.TLS, p uintptr, pSeg uintptr, pCtx uintptr, xChunk uintptr) { /* sqlite3.c:227882:13: */ +func fts5ChunkIterate(tls *libc.TLS, p uintptr, pSeg uintptr, pCtx uintptr, xChunk uintptr) { /* sqlite3.c:227939:13: */ var nRem int32 = (*Fts5SegIter)(unsafe.Pointer(pSeg)).FnPos // Number of bytes still to come var pData uintptr = uintptr(0) var pChunk uintptr = (*Fts5Data)(unsafe.Pointer((*Fts5SegIter)(unsafe.Pointer(pSeg)).FpLeaf)).Fp + uintptr((*Fts5SegIter)(unsafe.Pointer(pSeg)).FiLeafOffset) @@ -230430,7 +230459,7 @@ func fts5ChunkIterate(tls *libc.TLS, p uintptr, pSeg uintptr, pCtx uintptr, xChu // function appends the position list data for the current entry to // buffer pBuf. It does not make a copy of the position-list size // field. -func fts5SegiterPoslist(tls *libc.TLS, p uintptr, pSeg uintptr, pColset uintptr, pBuf uintptr) { /* sqlite3.c:227932:13: */ +func fts5SegiterPoslist(tls *libc.TLS, p uintptr, pSeg uintptr, pColset uintptr, pBuf uintptr) { /* sqlite3.c:227989:13: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -230481,7 +230510,7 @@ func fts5SegiterPoslist(tls *libc.TLS, p uintptr, pSeg uintptr, pColset uintptr, // This function is a no-op if *pRc is other than SQLITE_OK when it is // called. If an OOM error is encountered, *pRc is set to SQLITE_NOMEM // before returning. -func fts5IndexExtractColset(tls *libc.TLS, pRc uintptr, pColset uintptr, pPos uintptr, nPos int32, pIter uintptr) { /* sqlite3.c:227977:13: */ +func fts5IndexExtractColset(tls *libc.TLS, pRc uintptr, pColset uintptr, pPos uintptr, nPos int32, pIter uintptr) { /* sqlite3.c:228034:13: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -230542,7 +230571,7 @@ func fts5IndexExtractColset(tls *libc.TLS, pRc uintptr, pColset uintptr, pPos ui } // xSetOutputs callback used by detail=none tables. -func fts5IterSetOutputs_None(tls *libc.TLS, pIter uintptr, pSeg uintptr) { /* sqlite3.c:228037:13: */ +func fts5IterSetOutputs_None(tls *libc.TLS, pIter uintptr, pSeg uintptr) { /* sqlite3.c:228094:13: */ (*Fts5Iter)(unsafe.Pointer(pIter)).Fbase.FiRowid = (*Fts5SegIter)(unsafe.Pointer(pSeg)).FiRowid (*Fts5Iter)(unsafe.Pointer(pIter)).Fbase.FnData = (*Fts5SegIter)(unsafe.Pointer(pSeg)).FnPos @@ -230550,7 +230579,7 @@ func fts5IterSetOutputs_None(tls *libc.TLS, pIter uintptr, pSeg uintptr) { /* sq // xSetOutputs callback used by detail=full and detail=col tables when no // column filters are specified. -func fts5IterSetOutputs_Nocolset(tls *libc.TLS, pIter uintptr, pSeg uintptr) { /* sqlite3.c:228047:13: */ +func fts5IterSetOutputs_Nocolset(tls *libc.TLS, pIter uintptr, pSeg uintptr) { /* sqlite3.c:228104:13: */ (*Fts5Iter)(unsafe.Pointer(pIter)).Fbase.FiRowid = (*Fts5SegIter)(unsafe.Pointer(pSeg)).FiRowid (*Fts5Iter)(unsafe.Pointer(pIter)).Fbase.FnData = (*Fts5SegIter)(unsafe.Pointer(pSeg)).FnPos @@ -230570,7 +230599,7 @@ func fts5IterSetOutputs_Nocolset(tls *libc.TLS, pIter uintptr, pSeg uintptr) { / // xSetOutputs callback used when the Fts5Colset object has nCol==0 (match // against no columns at all). -func fts5IterSetOutputs_ZeroColset(tls *libc.TLS, pIter uintptr, pSeg uintptr) { /* sqlite3.c:228072:13: */ +func fts5IterSetOutputs_ZeroColset(tls *libc.TLS, pIter uintptr, pSeg uintptr) { /* sqlite3.c:228129:13: */ _ = pSeg (*Fts5Iter)(unsafe.Pointer(pIter)).Fbase.FnData = 0 } @@ -230578,7 +230607,7 @@ func fts5IterSetOutputs_ZeroColset(tls *libc.TLS, pIter uintptr, pSeg uintptr) { // xSetOutputs callback used by detail=col when there is a column filter // and there are 100 or more columns. Also called as a fallback from // fts5IterSetOutputs_Col100 if the column-list spans more than one page. -func fts5IterSetOutputs_Col(tls *libc.TLS, pIter uintptr, pSeg uintptr) { /* sqlite3.c:228082:13: */ +func fts5IterSetOutputs_Col(tls *libc.TLS, pIter uintptr, pSeg uintptr) { /* sqlite3.c:228139:13: */ sqlite3Fts5BufferZero(tls, pIter+32) fts5SegiterPoslist(tls, (*Fts5Iter)(unsafe.Pointer(pIter)).FpIndex, pSeg, (*Fts5Iter)(unsafe.Pointer(pIter)).FpColset, pIter+32) (*Fts5Iter)(unsafe.Pointer(pIter)).Fbase.FiRowid = (*Fts5SegIter)(unsafe.Pointer(pSeg)).FiRowid @@ -230594,7 +230623,7 @@ func fts5IterSetOutputs_Col(tls *libc.TLS, pIter uintptr, pSeg uintptr) { /* sql // // The last point is to ensure all column numbers are stored as // single-byte varints. -func fts5IterSetOutputs_Col100(tls *libc.TLS, pIter uintptr, pSeg uintptr) { /* sqlite3.c:228100:13: */ +func fts5IterSetOutputs_Col100(tls *libc.TLS, pIter uintptr, pSeg uintptr) { /* sqlite3.c:228157:13: */ var a uintptr var pEnd uintptr var iPrev int32 @@ -230656,7 +230685,7 @@ __2: } // xSetOutputs callback used by detail=full when there is a column filter. -func fts5IterSetOutputs_Full(tls *libc.TLS, pIter uintptr, pSeg uintptr) { /* sqlite3.c:228140:13: */ +func fts5IterSetOutputs_Full(tls *libc.TLS, pIter uintptr, pSeg uintptr) { /* sqlite3.c:228197:13: */ var pColset uintptr = (*Fts5Iter)(unsafe.Pointer(pIter)).FpColset (*Fts5Iter)(unsafe.Pointer(pIter)).Fbase.FiRowid = (*Fts5SegIter)(unsafe.Pointer(pSeg)).FiRowid @@ -230678,7 +230707,7 @@ func fts5IterSetOutputs_Full(tls *libc.TLS, pIter uintptr, pSeg uintptr) { /* sq } } -func fts5IterSetOutputCb(tls *libc.TLS, pRc uintptr, pIter uintptr) { /* sqlite3.c:228165:13: */ +func fts5IterSetOutputCb(tls *libc.TLS, pRc uintptr, pIter uintptr) { /* sqlite3.c:228222:13: */ if *(*int32)(unsafe.Pointer(pRc)) == SQLITE_OK { var pConfig uintptr = (*Fts5Index)(unsafe.Pointer((*Fts5Iter)(unsafe.Pointer(pIter)).FpIndex)).FpConfig @@ -230723,7 +230752,7 @@ func fts5IterSetOutputCb(tls *libc.TLS, pRc uintptr, pIter uintptr) { /* sqlite3 // // The iterator initially points to the first term/rowid entry in the // iterated data. -func fts5MultiIterNew(tls *libc.TLS, p uintptr, pStruct uintptr, flags int32, pColset uintptr, pTerm uintptr, nTerm int32, iLevel int32, nSegment int32, ppOut uintptr) { /* sqlite3.c:228209:13: */ +func fts5MultiIterNew(tls *libc.TLS, p uintptr, pStruct uintptr, flags int32, pColset uintptr, pTerm uintptr, nTerm int32, iLevel int32, nSegment int32, ppOut uintptr) { /* sqlite3.c:228266:13: */ var nSeg int32 // Number of segment-iters in use var iIter int32 // var iSeg int32 // Used to iterate through segments @@ -230926,7 +230955,7 @@ fts5MultiIterNew_post_check: // Create an Fts5Iter that iterates through the doclist provided // as the second argument. -func fts5MultiIterNew2(tls *libc.TLS, p uintptr, pData uintptr, bDesc int32, ppOut uintptr) { /* sqlite3.c:228315:13: */ +func fts5MultiIterNew2(tls *libc.TLS, p uintptr, pData uintptr, bDesc int32, ppOut uintptr) { /* sqlite3.c:228372:13: */ var pNew uintptr pNew = fts5MultiIterAlloc(tls, p, 2) if pNew != 0 { @@ -230959,7 +230988,7 @@ func fts5MultiIterNew2(tls *libc.TLS, p uintptr, pData uintptr, bDesc int32, ppO // Return true if the iterator is at EOF or if an error has occurred. // False otherwise. -func fts5MultiIterEof(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlite3.c:228355:12: */ +func fts5MultiIterEof(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlite3.c:228412:12: */ return libc.Bool32((*Fts5Index)(unsafe.Pointer(p)).Frc != 0 || (*Fts5Iter)(unsafe.Pointer(pIter)).Fbase.FbEof != 0) } @@ -230967,13 +230996,13 @@ func fts5MultiIterEof(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlite // Return the rowid of the entry that the iterator currently points // to. If the iterator points to EOF when this function is called the // results are undefined. -func fts5MultiIterRowid(tls *libc.TLS, pIter uintptr) I64 { /* sqlite3.c:228368:12: */ +func fts5MultiIterRowid(tls *libc.TLS, pIter uintptr) I64 { /* sqlite3.c:228425:12: */ return (*Fts5SegIter)(unsafe.Pointer(pIter + 96 + uintptr((*Fts5CResult)(unsafe.Pointer((*Fts5Iter)(unsafe.Pointer(pIter)).FaFirst+1*4)).FiFirst)*120)).FiRowid } // Move the iterator to the next entry at or following iMatch. -func fts5MultiIterNextFrom(tls *libc.TLS, p uintptr, pIter uintptr, iMatch I64) { /* sqlite3.c:228376:13: */ +func fts5MultiIterNextFrom(tls *libc.TLS, p uintptr, pIter uintptr, iMatch I64) { /* sqlite3.c:228433:13: */ for 1 != 0 { var iRowid I64 fts5MultiIterNext(tls, p, pIter, 1, iMatch) @@ -230992,7 +231021,7 @@ func fts5MultiIterNextFrom(tls *libc.TLS, p uintptr, pIter uintptr, iMatch I64) // Return a pointer to a buffer containing the term associated with the // entry that the iterator currently points to. -func fts5MultiIterTerm(tls *libc.TLS, pIter uintptr, pn uintptr) uintptr { /* sqlite3.c:228395:17: */ +func fts5MultiIterTerm(tls *libc.TLS, pIter uintptr, pn uintptr) uintptr { /* sqlite3.c:228452:17: */ var p uintptr = pIter + 96 + uintptr((*Fts5CResult)(unsafe.Pointer((*Fts5Iter)(unsafe.Pointer(pIter)).FaFirst+1*4)).FiFirst)*120 *(*int32)(unsafe.Pointer(pn)) = (*Fts5SegIter)(unsafe.Pointer(p)).Fterm.Fn return (*Fts5SegIter)(unsafe.Pointer(p)).Fterm.Fp @@ -231005,7 +231034,7 @@ func fts5MultiIterTerm(tls *libc.TLS, pIter uintptr, pn uintptr) uintptr { /* sq // // If an error has already occurred, this function is a no-op. 0 is // returned in this case. -func fts5AllocateSegid(tls *libc.TLS, p uintptr, pStruct uintptr) int32 { /* sqlite3.c:228410:12: */ +func fts5AllocateSegid(tls *libc.TLS, p uintptr, pStruct uintptr) int32 { /* sqlite3.c:228467:12: */ bp := tls.Alloc(252) defer tls.Free(252) @@ -231047,7 +231076,7 @@ func fts5AllocateSegid(tls *libc.TLS, p uintptr, pStruct uintptr) int32 { /* sql } // Discard all data currently cached in the hash-tables. -func fts5IndexDiscardData(tls *libc.TLS, p uintptr) { /* sqlite3.c:228467:13: */ +func fts5IndexDiscardData(tls *libc.TLS, p uintptr) { /* sqlite3.c:228524:13: */ if (*Fts5Index)(unsafe.Pointer(p)).FpHash != 0 { sqlite3Fts5HashClear(tls, (*Fts5Index)(unsafe.Pointer(p)).FpHash) @@ -231060,7 +231089,7 @@ func fts5IndexDiscardData(tls *libc.TLS, p uintptr) { /* sqlite3.c:228467:13: */ // // Buffer (pNew/) is guaranteed to be greater // than buffer (pOld/nOld). -func fts5PrefixCompress(tls *libc.TLS, nOld int32, pOld uintptr, pNew uintptr) int32 { /* sqlite3.c:228482:12: */ +func fts5PrefixCompress(tls *libc.TLS, nOld int32, pOld uintptr, pNew uintptr) int32 { /* sqlite3.c:228539:12: */ var i int32 for i = 0; i < nOld; i++ { if int32(*(*U8)(unsafe.Pointer(pOld + uintptr(i)))) != int32(*(*U8)(unsafe.Pointer(pNew + uintptr(i)))) { @@ -231070,7 +231099,7 @@ func fts5PrefixCompress(tls *libc.TLS, nOld int32, pOld uintptr, pNew uintptr) i return i } -func fts5WriteDlidxClear(tls *libc.TLS, p uintptr, pWriter uintptr, bFlush int32) { /* sqlite3.c:228490:13: */ +func fts5WriteDlidxClear(tls *libc.TLS, p uintptr, pWriter uintptr, bFlush int32) { /* sqlite3.c:228547:13: */ var i int32 for i = 0; i < (*Fts5SegWriter)(unsafe.Pointer(pWriter)).FnDlidx; i++ { @@ -231091,7 +231120,7 @@ func fts5WriteDlidxClear(tls *libc.TLS, p uintptr, pWriter uintptr, bFlush int32 // Grow the pWriter->aDlidx[] array to at least nLvl elements in size. // Any new array elements are zeroed before returning. -func fts5WriteDlidxGrow(tls *libc.TLS, p uintptr, pWriter uintptr, nLvl int32) int32 { /* sqlite3.c:228516:12: */ +func fts5WriteDlidxGrow(tls *libc.TLS, p uintptr, pWriter uintptr, nLvl int32) int32 { /* sqlite3.c:228573:12: */ if (*Fts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK && nLvl >= (*Fts5SegWriter)(unsafe.Pointer(pWriter)).FnDlidx { var aDlidx uintptr = Xsqlite3_realloc64(tls, (*Fts5SegWriter)(unsafe.Pointer(pWriter)).FaDlidx, uint64(unsafe.Sizeof(Fts5DlidxWriter{}))*uint64(nLvl)) @@ -231110,7 +231139,7 @@ func fts5WriteDlidxGrow(tls *libc.TLS, p uintptr, pWriter uintptr, nLvl int32) i // If the current doclist-index accumulating in pWriter->aDlidx[] is large // enough, flush it to disk and return 1. Otherwise discard it and return // zero. -func fts5WriteFlushDlidx(tls *libc.TLS, p uintptr, pWriter uintptr) int32 { /* sqlite3.c:228542:12: */ +func fts5WriteFlushDlidx(tls *libc.TLS, p uintptr, pWriter uintptr) int32 { /* sqlite3.c:228599:12: */ var bFlag int32 = 0 // If there were FTS5_MIN_DLIDX_SIZE or more empty leaf pages written @@ -231132,7 +231161,7 @@ func fts5WriteFlushDlidx(tls *libc.TLS, p uintptr, pWriter uintptr) int32 { /* s // it. // // Fts5SegWriter.btterm currently contains the first term on page iBtPage. -func fts5WriteFlushBtree(tls *libc.TLS, p uintptr, pWriter uintptr) { /* sqlite3.c:228566:13: */ +func fts5WriteFlushBtree(tls *libc.TLS, p uintptr, pWriter uintptr) { /* sqlite3.c:228623:13: */ var bFlag int32 if (*Fts5SegWriter)(unsafe.Pointer(pWriter)).FiBtPage == 0 { @@ -231165,7 +231194,7 @@ func fts5WriteFlushBtree(tls *libc.TLS, p uintptr, pWriter uintptr) { /* sqlite3 // // If an error occurs, an error code is left in Fts5Index.rc. If an error // has already occurred when this function is called, it is a no-op. -func fts5WriteBtreeTerm(tls *libc.TLS, p uintptr, pWriter uintptr, nTerm int32, pTerm uintptr) { /* sqlite3.c:228595:13: */ +func fts5WriteBtreeTerm(tls *libc.TLS, p uintptr, pWriter uintptr, nTerm int32, pTerm uintptr) { /* sqlite3.c:228652:13: */ fts5WriteFlushBtree(tls, p, pWriter) if (*Fts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK { sqlite3Fts5BufferSet(tls, p+52, pWriter+96, nTerm, pTerm) @@ -231175,7 +231204,7 @@ func fts5WriteBtreeTerm(tls *libc.TLS, p uintptr, pWriter uintptr, nTerm int32, // This function is called when flushing a leaf page that contains no // terms at all to disk. -func fts5WriteBtreeNoTerm(tls *libc.TLS, p uintptr, pWriter uintptr) { /* sqlite3.c:228611:13: */ +func fts5WriteBtreeNoTerm(tls *libc.TLS, p uintptr, pWriter uintptr) { /* sqlite3.c:228668:13: */ // If there were no rowids on the leaf page either and the doclist-index // has already been started, append an 0x00 byte to it. if (*Fts5SegWriter)(unsafe.Pointer(pWriter)).FbFirstRowidInPage != 0 && (*Fts5DlidxWriter)(unsafe.Pointer((*Fts5SegWriter)(unsafe.Pointer(pWriter)).FaDlidx)).Fbuf.Fn > 0 { @@ -231188,7 +231217,7 @@ func fts5WriteBtreeNoTerm(tls *libc.TLS, p uintptr, pWriter uintptr) { /* sqlite (*Fts5SegWriter)(unsafe.Pointer(pWriter)).FnEmpty++ } -func fts5DlidxExtractFirstRowid(tls *libc.TLS, pBuf uintptr) I64 { /* sqlite3.c:228627:12: */ +func fts5DlidxExtractFirstRowid(tls *libc.TLS, pBuf uintptr) I64 { /* sqlite3.c:228684:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -231204,7 +231233,7 @@ func fts5DlidxExtractFirstRowid(tls *libc.TLS, pBuf uintptr) I64 { /* sqlite3.c: // Rowid iRowid has just been appended to the current leaf page. It is the // first on the page. This function appends an appropriate entry to the current // doclist-index. -func fts5WriteDlidxAppend(tls *libc.TLS, p uintptr, pWriter uintptr, iRowid I64) { /* sqlite3.c:228641:13: */ +func fts5WriteDlidxAppend(tls *libc.TLS, p uintptr, pWriter uintptr, iRowid I64) { /* sqlite3.c:228698:13: */ var i int32 var bDone int32 = 0 @@ -231264,7 +231293,7 @@ func fts5WriteDlidxAppend(tls *libc.TLS, p uintptr, pWriter uintptr, iRowid I64) } } -func fts5WriteFlushLeaf(tls *libc.TLS, p uintptr, pWriter uintptr) { /* sqlite3.c:228701:13: */ +func fts5WriteFlushLeaf(tls *libc.TLS, p uintptr, pWriter uintptr) { /* sqlite3.c:228758:13: */ var pPage uintptr = pWriter + 8 var iRowid I64 @@ -231300,14 +231329,14 @@ func fts5WriteFlushLeaf(tls *libc.TLS, p uintptr, pWriter uintptr) { /* sqlite3. (*Fts5SegWriter)(unsafe.Pointer(pWriter)).FbFirstRowidInPage = U8(1) } -var zero = [4]U8{U8(0x00), U8(0x00), U8(0x00), U8(0x00)} /* sqlite3.c:228702:19 */ +var zero = [4]U8{U8(0x00), U8(0x00), U8(0x00), U8(0x00)} /* sqlite3.c:228759:19 */ // Append term pTerm/nTerm to the segment being written by the writer passed // as the second argument. // // If an error occurs, set the Fts5Index.rc error code. If an error has // already occurred, this function is a no-op. -func fts5WriteAppendTerm(tls *libc.TLS, p uintptr, pWriter uintptr, nTerm int32, pTerm uintptr) { /* sqlite3.c:228747:13: */ +func fts5WriteAppendTerm(tls *libc.TLS, p uintptr, pWriter uintptr, nTerm int32, pTerm uintptr) { /* sqlite3.c:228804:13: */ var nPrefix int32 // Bytes of prefix compression for term var pPage uintptr = pWriter + 8 var pPgidx uintptr = pWriter + 8 + 24 @@ -231383,7 +231412,7 @@ func fts5WriteAppendTerm(tls *libc.TLS, p uintptr, pWriter uintptr, nTerm int32, } // Append a rowid and position-list size field to the writers output. -func fts5WriteAppendRowid(tls *libc.TLS, p uintptr, pWriter uintptr, iRowid I64) { /* sqlite3.c:228828:13: */ +func fts5WriteAppendRowid(tls *libc.TLS, p uintptr, pWriter uintptr, iRowid I64) { /* sqlite3.c:228885:13: */ if (*Fts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK { var pPage uintptr = pWriter + 8 @@ -231412,7 +231441,7 @@ func fts5WriteAppendRowid(tls *libc.TLS, p uintptr, pWriter uintptr, iRowid I64) } } -func fts5WriteAppendPoslistData(tls *libc.TLS, p uintptr, pWriter uintptr, aData uintptr, nData int32) { /* sqlite3.c:228861:13: */ +func fts5WriteAppendPoslistData(tls *libc.TLS, p uintptr, pWriter uintptr, aData uintptr, nData int32) { /* sqlite3.c:228918:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -231441,7 +231470,7 @@ func fts5WriteAppendPoslistData(tls *libc.TLS, p uintptr, pWriter uintptr, aData // Flush any data cached by the writer object to the database. Free any // allocations associated with the writer. -func fts5WriteFinish(tls *libc.TLS, p uintptr, pWriter uintptr, pnLeaf uintptr) { /* sqlite3.c:228895:13: */ +func fts5WriteFinish(tls *libc.TLS, p uintptr, pWriter uintptr, pnLeaf uintptr) { /* sqlite3.c:228952:13: */ var i int32 var pLeaf uintptr = pWriter + 8 if (*Fts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK { @@ -231465,7 +231494,7 @@ func fts5WriteFinish(tls *libc.TLS, p uintptr, pWriter uintptr, pnLeaf uintptr) Xsqlite3_free(tls, (*Fts5SegWriter)(unsafe.Pointer(pWriter)).FaDlidx) } -func fts5WriteInit(tls *libc.TLS, p uintptr, pWriter uintptr, iSegid int32) { /* sqlite3.c:228923:13: */ +func fts5WriteInit(tls *libc.TLS, p uintptr, pWriter uintptr, iSegid int32) { /* sqlite3.c:228980:13: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -231505,7 +231534,7 @@ func fts5WriteInit(tls *libc.TLS, p uintptr, pWriter uintptr, iSegid int32) { /* // Iterator pIter was used to iterate through the input segments of on an // incremental merge operation. This function is called if the incremental // merge step has finished but the input has not been completely exhausted. -func fts5TrimSegments(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:228970:13: */ +func fts5TrimSegments(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:229027:13: */ bp := tls.Alloc(20) defer tls.Free(20) @@ -231574,13 +231603,13 @@ func fts5TrimSegments(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:22 sqlite3Fts5BufferFree(tls, bp) } -func fts5MergeChunkCallback(tls *libc.TLS, p uintptr, pCtx uintptr, pChunk uintptr, nChunk int32) { /* sqlite3.c:229036:13: */ +func fts5MergeChunkCallback(tls *libc.TLS, p uintptr, pCtx uintptr, pChunk uintptr, nChunk int32) { /* sqlite3.c:229093:13: */ var pWriter uintptr = pCtx fts5WriteAppendPoslistData(tls, p, pWriter, pChunk, nChunk) } // -func fts5IndexMergeLevel(tls *libc.TLS, p uintptr, ppStruct uintptr, iLvl int32, pnRem uintptr) { /* sqlite3.c:229048:13: */ +func fts5IndexMergeLevel(tls *libc.TLS, p uintptr, ppStruct uintptr, iLvl int32, pnRem uintptr) { /* sqlite3.c:229105:13: */ bp := tls.Alloc(148) defer tls.Free(148) @@ -231739,7 +231768,7 @@ func fts5IndexMergeLevel(tls *libc.TLS, p uintptr, ppStruct uintptr, iLvl int32, // Do up to nPg pages of automerge work on the index. // // Return true if any changes were actually made, or false otherwise. -func fts5IndexMerge(tls *libc.TLS, p uintptr, ppStruct uintptr, nPg int32, nMin int32) int32 { /* sqlite3.c:229198:12: */ +func fts5IndexMerge(tls *libc.TLS, p uintptr, ppStruct uintptr, nPg int32, nMin int32) int32 { /* sqlite3.c:229255:12: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -231789,7 +231818,7 @@ func fts5IndexMerge(tls *libc.TLS, p uintptr, ppStruct uintptr, nPg int32, nMin // // If an error occurs, set the Fts5Index.rc error code. If an error has // already occurred, this function is a no-op. -func fts5IndexAutomerge(tls *libc.TLS, p uintptr, ppStruct uintptr, nLeaf int32) { /* sqlite3.c:229257:13: */ +func fts5IndexAutomerge(tls *libc.TLS, p uintptr, ppStruct uintptr, nLeaf int32) { /* sqlite3.c:229314:13: */ if (*Fts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK && (*Fts5Config)(unsafe.Pointer((*Fts5Index)(unsafe.Pointer(p)).FpConfig)).FnAutomerge > 0 && *(*uintptr)(unsafe.Pointer(ppStruct)) != uintptr(0) { var pStruct uintptr = *(*uintptr)(unsafe.Pointer(ppStruct)) var nWrite U64 // Initial value of write-counter @@ -231806,7 +231835,7 @@ func fts5IndexAutomerge(tls *libc.TLS, p uintptr, ppStruct uintptr, nLeaf int32) } } -func fts5IndexCrisismerge(tls *libc.TLS, p uintptr, ppStruct uintptr) { /* sqlite3.c:229278:13: */ +func fts5IndexCrisismerge(tls *libc.TLS, p uintptr, ppStruct uintptr) { /* sqlite3.c:229335:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -231823,7 +231852,7 @@ func fts5IndexCrisismerge(tls *libc.TLS, p uintptr, ppStruct uintptr) { /* sqlit *(*uintptr)(unsafe.Pointer(ppStruct)) = *(*uintptr)(unsafe.Pointer(bp /* pStruct */)) } -func fts5IndexReturn(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:229296:12: */ +func fts5IndexReturn(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:229353:12: */ var rc int32 = (*Fts5Index)(unsafe.Pointer(p)).Frc (*Fts5Index)(unsafe.Pointer(p)).Frc = SQLITE_OK return rc @@ -231832,14 +231861,14 @@ func fts5IndexReturn(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:229296:12: * type Fts5FlushCtx1 = struct { FpIdx uintptr Fwriter Fts5SegWriter -} /* sqlite3.c:229302:9 */ +} /* sqlite3.c:229359:9 */ -type Fts5FlushCtx = Fts5FlushCtx1 /* sqlite3.c:229302:29 */ +type Fts5FlushCtx = Fts5FlushCtx1 /* sqlite3.c:229359:29 */ // Buffer aBuf[] contains a list of varints, all small enough to fit // in a 32-bit integer. Return the size of the largest prefix of this // list nMax bytes or less in size. -func fts5PoslistPrefix(tls *libc.TLS, aBuf uintptr, nMax int32) int32 { /* sqlite3.c:229313:12: */ +func fts5PoslistPrefix(tls *libc.TLS, aBuf uintptr, nMax int32) int32 { /* sqlite3.c:229370:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -231864,7 +231893,7 @@ func fts5PoslistPrefix(tls *libc.TLS, aBuf uintptr, nMax int32) int32 { /* sqlit // // If an error occurs, set the Fts5Index.rc error code. If an error has // already occurred, this function is a no-op. -func fts5FlushOneHash(tls *libc.TLS, p uintptr) { /* sqlite3.c:229334:13: */ +func fts5FlushOneHash(tls *libc.TLS, p uintptr) { /* sqlite3.c:229391:13: */ bp := tls.Alloc(176) defer tls.Free(176) @@ -232042,7 +232071,7 @@ func fts5FlushOneHash(tls *libc.TLS, p uintptr) { /* sqlite3.c:229334:13: */ } // Flush any data stored in the in-memory hash tables to the database. -func fts5IndexFlush(tls *libc.TLS, p uintptr) { /* sqlite3.c:229488:13: */ +func fts5IndexFlush(tls *libc.TLS, p uintptr) { /* sqlite3.c:229545:13: */ // Unless it is empty, flush the hash table to disk if (*Fts5Index)(unsafe.Pointer(p)).FnPendingData != 0 { @@ -232051,7 +232080,7 @@ func fts5IndexFlush(tls *libc.TLS, p uintptr) { /* sqlite3.c:229488:13: */ } } -func fts5IndexOptimizeStruct(tls *libc.TLS, p uintptr, pStruct uintptr) uintptr { /* sqlite3.c:229497:22: */ +func fts5IndexOptimizeStruct(tls *libc.TLS, p uintptr, pStruct uintptr) uintptr { /* sqlite3.c:229554:22: */ var pNew uintptr = uintptr(0) var nByte Sqlite3_int64 = Sqlite3_int64(unsafe.Sizeof(Fts5Structure{})) var nSeg int32 = (*Fts5Structure)(unsafe.Pointer(pStruct)).FnSegment @@ -232112,7 +232141,7 @@ func fts5IndexOptimizeStruct(tls *libc.TLS, p uintptr, pStruct uintptr) uintptr return pNew } -func sqlite3Fts5IndexOptimize(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:229559:12: */ +func sqlite3Fts5IndexOptimize(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:229616:12: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -232146,7 +232175,7 @@ func sqlite3Fts5IndexOptimize(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:229 // This is called to implement the special "VALUES('merge', $nMerge)" // INSERT command. -func sqlite3Fts5IndexMerge(tls *libc.TLS, p uintptr, nMerge int32) int32 { /* sqlite3.c:229593:12: */ +func sqlite3Fts5IndexMerge(tls *libc.TLS, p uintptr, nMerge int32) int32 { /* sqlite3.c:229650:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -232171,12 +232200,12 @@ func sqlite3Fts5IndexMerge(tls *libc.TLS, p uintptr, nMerge int32) int32 { /* sq return fts5IndexReturn(tls, p) } -func fts5AppendRowid(tls *libc.TLS, p uintptr, iDelta I64, pUnused uintptr, pBuf uintptr) { /* sqlite3.c:229615:13: */ +func fts5AppendRowid(tls *libc.TLS, p uintptr, iDelta I64, pUnused uintptr, pBuf uintptr) { /* sqlite3.c:229672:13: */ _ = pUnused sqlite3Fts5BufferAppendVarint(tls, p+52, pBuf, iDelta) } -func fts5AppendPoslist(tls *libc.TLS, p uintptr, iDelta I64, pMulti uintptr, pBuf uintptr) { /* sqlite3.c:229625:13: */ +func fts5AppendPoslist(tls *libc.TLS, p uintptr, iDelta I64, pMulti uintptr, pBuf uintptr) { /* sqlite3.c:229682:13: */ var nData int32 = (*Fts5Iter)(unsafe.Pointer(pMulti)).Fbase.FnData var nByte int32 = nData + 9 + 9 + FTS5_DATA_ZERO_PADDING @@ -232203,7 +232232,7 @@ func fts5AppendPoslist(tls *libc.TLS, p uintptr, iDelta I64, pMulti uintptr, pBu } } -func fts5DoclistIterNext(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:229643:13: */ +func fts5DoclistIterNext(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:229700:13: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -232235,7 +232264,7 @@ func fts5DoclistIterNext(tls *libc.TLS, pIter uintptr) { /* sqlite3.c:229643:13: } } -func fts5DoclistIterInit(tls *libc.TLS, pBuf uintptr, pIter uintptr) { /* sqlite3.c:229672:13: */ +func fts5DoclistIterInit(tls *libc.TLS, pBuf uintptr, pIter uintptr) { /* sqlite3.c:229729:13: */ libc.Xmemset(tls, pIter, 0, uint64(unsafe.Sizeof(Fts5DoclistIter{}))) if (*Fts5Buffer)(unsafe.Pointer(pBuf)).Fn > 0 { (*Fts5DoclistIter)(unsafe.Pointer(pIter)).FaPoslist = (*Fts5Buffer)(unsafe.Pointer(pBuf)).Fp @@ -232245,13 +232274,13 @@ func fts5DoclistIterInit(tls *libc.TLS, pBuf uintptr, pIter uintptr) { /* sqlite } // Swap the contents of buffer *p1 with that of *p2. -func fts5BufferSwap(tls *libc.TLS, p1 uintptr, p2 uintptr) { /* sqlite3.c:229711:13: */ +func fts5BufferSwap(tls *libc.TLS, p1 uintptr, p2 uintptr) { /* sqlite3.c:229768:13: */ var tmp = *(*Fts5Buffer)(unsafe.Pointer(p1)) *(*Fts5Buffer)(unsafe.Pointer(p1)) = *(*Fts5Buffer)(unsafe.Pointer(p2)) *(*Fts5Buffer)(unsafe.Pointer(p2)) = tmp } -func fts5NextRowid(tls *libc.TLS, pBuf uintptr, piOff uintptr, piRowid uintptr) { /* sqlite3.c:229717:13: */ +func fts5NextRowid(tls *libc.TLS, pBuf uintptr, piOff uintptr, piRowid uintptr) { /* sqlite3.c:229774:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -232268,7 +232297,7 @@ func fts5NextRowid(tls *libc.TLS, pBuf uintptr, piOff uintptr, piRowid uintptr) // This is the equivalent of fts5MergePrefixLists() for detail=none mode. // In this case the buffers consist of a delta-encoded list of rowids only. -func fts5MergeRowidLists(tls *libc.TLS, p uintptr, p1 uintptr, nBuf int32, aBuf uintptr) { /* sqlite3.c:229732:13: */ +func fts5MergeRowidLists(tls *libc.TLS, p uintptr, p1 uintptr, nBuf int32, aBuf uintptr) { /* sqlite3.c:229789:13: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -232324,11 +232353,11 @@ type PrefixMerger1 = struct { F__ccgo_pad1 [4]byte FaPos uintptr FpNext uintptr -} /* sqlite3.c:229775:9 */ +} /* sqlite3.c:229832:9 */ -type PrefixMerger = PrefixMerger1 /* sqlite3.c:229775:29 */ +type PrefixMerger = PrefixMerger1 /* sqlite3.c:229832:29 */ -func fts5PrefixMergerInsertByRowid(tls *libc.TLS, ppHead uintptr, p uintptr) { /* sqlite3.c:229784:13: */ +func fts5PrefixMergerInsertByRowid(tls *libc.TLS, ppHead uintptr, p uintptr) { /* sqlite3.c:229841:13: */ if (*PrefixMerger)(unsafe.Pointer(p)).Fiter.FaPoslist != 0 { var pp uintptr = ppHead for *(*uintptr)(unsafe.Pointer(pp)) != 0 && (*PrefixMerger)(unsafe.Pointer(p)).Fiter.FiRowid > (*PrefixMerger)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pp)))).Fiter.FiRowid { @@ -232339,7 +232368,7 @@ func fts5PrefixMergerInsertByRowid(tls *libc.TLS, ppHead uintptr, p uintptr) { / } } -func fts5PrefixMergerInsertByPosition(tls *libc.TLS, ppHead uintptr, p uintptr) { /* sqlite3.c:229798:13: */ +func fts5PrefixMergerInsertByPosition(tls *libc.TLS, ppHead uintptr, p uintptr) { /* sqlite3.c:229855:13: */ if (*PrefixMerger)(unsafe.Pointer(p)).FiPos >= int64(0) { var pp uintptr = ppHead for *(*uintptr)(unsafe.Pointer(pp)) != 0 && (*PrefixMerger)(unsafe.Pointer(p)).FiPos > (*PrefixMerger)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pp)))).FiPos { @@ -232352,7 +232381,7 @@ func fts5PrefixMergerInsertByPosition(tls *libc.TLS, ppHead uintptr, p uintptr) // Array aBuf[] contains nBuf doclists. These are all merged in with the // doclist in buffer p1. -func fts5MergePrefixLists(tls *libc.TLS, p uintptr, p1 uintptr, nBuf int32, aBuf uintptr) { /* sqlite3.c:229817:13: */ +func fts5MergePrefixLists(tls *libc.TLS, p uintptr, p1 uintptr, nBuf int32, aBuf uintptr) { /* sqlite3.c:229874:13: */ bp := tls.Alloc(1072) defer tls.Free(1072) @@ -232517,7 +232546,7 @@ func fts5MergePrefixLists(tls *libc.TLS, p uintptr, p1 uintptr, nBuf int32, aBuf *(*Fts5Buffer)(unsafe.Pointer(p1)) = *(*Fts5Buffer)(unsafe.Pointer(bp + 1032 /* out */)) } -func fts5SetupPrefixIter(tls *libc.TLS, p uintptr, bDesc int32, iIdx int32, pToken uintptr, nToken int32, pColset uintptr, ppIter uintptr) { /* sqlite3.c:229961:13: */ +func fts5SetupPrefixIter(tls *libc.TLS, p uintptr, bDesc int32, iIdx int32, pToken uintptr, nToken int32, pColset uintptr, ppIter uintptr) { /* sqlite3.c:230018:13: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -232664,7 +232693,7 @@ func fts5SetupPrefixIter(tls *libc.TLS, p uintptr, bDesc int32, iIdx int32, pTok // Indicate that all subsequent calls to sqlite3Fts5IndexWrite() pertain // to the document with rowid iRowid. -func sqlite3Fts5IndexBeginWrite(tls *libc.TLS, p uintptr, bDelete int32, iRowid I64) int32 { /* sqlite3.c:230098:12: */ +func sqlite3Fts5IndexBeginWrite(tls *libc.TLS, p uintptr, bDelete int32, iRowid I64) int32 { /* sqlite3.c:230155:12: */ // Allocate the hash table if it has not already been allocated if (*Fts5Index)(unsafe.Pointer(p)).FpHash == uintptr(0) { @@ -232684,7 +232713,7 @@ func sqlite3Fts5IndexBeginWrite(tls *libc.TLS, p uintptr, bDelete int32, iRowid } // Commit data to disk. -func sqlite3Fts5IndexSync(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:230122:12: */ +func sqlite3Fts5IndexSync(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:230179:12: */ fts5IndexFlush(tls, p) sqlite3Fts5IndexCloseReader(tls, p) @@ -232695,7 +232724,7 @@ func sqlite3Fts5IndexSync(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:230122: // to the database. Additionally, assume that the contents of the %_data // table may have changed on disk. So any in-memory caches of %_data // records must be invalidated. -func sqlite3Fts5IndexRollback(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:230135:12: */ +func sqlite3Fts5IndexRollback(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:230192:12: */ sqlite3Fts5IndexCloseReader(tls, p) fts5IndexDiscardData(tls, p) fts5StructureInvalidate(tls, p) @@ -232706,7 +232735,7 @@ func sqlite3Fts5IndexRollback(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:230 // The %_data table is completely empty when this function is called. This // function populates it with the initial structure objects for each index, // and the initial version of the "averages" record (a zero-byte blob). -func sqlite3Fts5IndexReinit(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:230148:12: */ +func sqlite3Fts5IndexReinit(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:230205:12: */ bp := tls.Alloc(40) defer tls.Free(40) @@ -232725,7 +232754,7 @@ func sqlite3Fts5IndexReinit(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:23014 // // If successful, set *pp to point to the new object and return SQLITE_OK. // Otherwise, set *pp to NULL and return an SQLite error code. -func sqlite3Fts5IndexOpen(tls *libc.TLS, pConfig uintptr, bCreate int32, pp uintptr, pzErr uintptr) int32 { /* sqlite3.c:230165:12: */ +func sqlite3Fts5IndexOpen(tls *libc.TLS, pConfig uintptr, bCreate int32, pp uintptr, pzErr uintptr) int32 { /* sqlite3.c:230222:12: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -232759,7 +232788,7 @@ func sqlite3Fts5IndexOpen(tls *libc.TLS, pConfig uintptr, bCreate int32, pp uint } // Close a handle opened by an earlier call to sqlite3Fts5IndexOpen(). -func sqlite3Fts5IndexClose(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:230206:12: */ +func sqlite3Fts5IndexClose(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:230263:12: */ var rc int32 = SQLITE_OK if p != 0 { @@ -232780,7 +232809,7 @@ func sqlite3Fts5IndexClose(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:230206 // Argument p points to a buffer containing utf-8 text that is n bytes in // size. Return the number of bytes in the nChar character prefix of the // buffer, or 0 if there are less than nChar characters in total. -func sqlite3Fts5IndexCharlenToBytelen(tls *libc.TLS, p uintptr, nByte int32, nChar int32) int32 { /* sqlite3.c:230229:12: */ +func sqlite3Fts5IndexCharlenToBytelen(tls *libc.TLS, p uintptr, nByte int32, nChar int32) int32 { /* sqlite3.c:230286:12: */ var n int32 = 0 var i int32 for i = 0; i < nChar; i++ { @@ -232807,7 +232836,7 @@ func sqlite3Fts5IndexCharlenToBytelen(tls *libc.TLS, p uintptr, nByte int32, nCh // pIn is a UTF-8 encoded string, nIn bytes in size. Return the number of // unicode characters in the string. -func fts5IndexCharlen(tls *libc.TLS, pIn uintptr, nIn int32) int32 { /* sqlite3.c:230256:12: */ +func fts5IndexCharlen(tls *libc.TLS, pIn uintptr, nIn int32) int32 { /* sqlite3.c:230313:12: */ var nChar int32 = 0 var i int32 = 0 for i < nIn { @@ -232829,7 +232858,7 @@ func fts5IndexCharlen(tls *libc.TLS, pIn uintptr, nIn int32) int32 { /* sqlite3. // If the operation is a delete, it must be called (at least) once for each // unique token in the document with an iCol value less than zero. The iPos // argument is ignored for a delete. -func sqlite3Fts5IndexWrite(tls *libc.TLS, p uintptr, iCol int32, iPos int32, pToken uintptr, nToken int32) int32 { /* sqlite3.c:230278:12: */ +func sqlite3Fts5IndexWrite(tls *libc.TLS, p uintptr, iCol int32, iPos int32, pToken uintptr, nToken int32) int32 { /* sqlite3.c:230335:12: */ var i int32 // Used to iterate through indexes var rc int32 = SQLITE_OK // Return code var pConfig uintptr = (*Fts5Index)(unsafe.Pointer(p)).FpConfig @@ -232853,7 +232882,7 @@ func sqlite3Fts5IndexWrite(tls *libc.TLS, p uintptr, iCol int32, iPos int32, pTo // Open a new iterator to iterate though all rowid that match the // specified token or token prefix. -func sqlite3Fts5IndexQuery(tls *libc.TLS, p uintptr, pToken uintptr, nToken int32, flags int32, pColset uintptr, ppIter uintptr) int32 { /* sqlite3.c:230314:12: */ +func sqlite3Fts5IndexQuery(tls *libc.TLS, p uintptr, pToken uintptr, nToken int32, flags int32, pColset uintptr, ppIter uintptr) int32 { /* sqlite3.c:230371:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -232936,7 +232965,7 @@ func sqlite3Fts5IndexQuery(tls *libc.TLS, p uintptr, pToken uintptr, nToken int3 // Return true if the iterator passed as the only argument is at EOF. // Move to the next matching rowid. -func sqlite3Fts5IterNext(tls *libc.TLS, pIndexIter uintptr) int32 { /* sqlite3.c:230402:12: */ +func sqlite3Fts5IterNext(tls *libc.TLS, pIndexIter uintptr) int32 { /* sqlite3.c:230459:12: */ var pIter uintptr = pIndexIter fts5MultiIterNext(tls, (*Fts5Iter)(unsafe.Pointer(pIter)).FpIndex, pIter, 0, int64(0)) @@ -232944,7 +232973,7 @@ func sqlite3Fts5IterNext(tls *libc.TLS, pIndexIter uintptr) int32 { /* sqlite3.c } // Move to the next matching term/rowid. Used by the fts5vocab module. -func sqlite3Fts5IterNextScan(tls *libc.TLS, pIndexIter uintptr) int32 { /* sqlite3.c:230412:12: */ +func sqlite3Fts5IterNextScan(tls *libc.TLS, pIndexIter uintptr) int32 { /* sqlite3.c:230469:12: */ var pIter uintptr = pIndexIter var p uintptr = (*Fts5Iter)(unsafe.Pointer(pIter)).FpIndex @@ -232964,14 +232993,14 @@ func sqlite3Fts5IterNextScan(tls *libc.TLS, pIndexIter uintptr) int32 { /* sqlit // Move to the next matching rowid that occurs at or after iMatch. The // definition of "at or after" depends on whether this iterator iterates // in ascending or descending rowid order. -func sqlite3Fts5IterNextFrom(tls *libc.TLS, pIndexIter uintptr, iMatch I64) int32 { /* sqlite3.c:230436:12: */ +func sqlite3Fts5IterNextFrom(tls *libc.TLS, pIndexIter uintptr, iMatch I64) int32 { /* sqlite3.c:230493:12: */ var pIter uintptr = pIndexIter fts5MultiIterNextFrom(tls, (*Fts5Iter)(unsafe.Pointer(pIter)).FpIndex, pIter, iMatch) return fts5IndexReturn(tls, (*Fts5Iter)(unsafe.Pointer(pIter)).FpIndex) } // Return the current term. -func sqlite3Fts5IterTerm(tls *libc.TLS, pIndexIter uintptr, pn uintptr) uintptr { /* sqlite3.c:230445:19: */ +func sqlite3Fts5IterTerm(tls *libc.TLS, pIndexIter uintptr, pn uintptr) uintptr { /* sqlite3.c:230502:19: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -232989,7 +233018,7 @@ func sqlite3Fts5IterTerm(tls *libc.TLS, pIndexIter uintptr, pn uintptr) uintptr } // Close an iterator opened by an earlier call to sqlite3Fts5IndexQuery(). -func sqlite3Fts5IterClose(tls *libc.TLS, pIndexIter uintptr) { /* sqlite3.c:230456:13: */ +func sqlite3Fts5IterClose(tls *libc.TLS, pIndexIter uintptr) { /* sqlite3.c:230513:13: */ if pIndexIter != 0 { var pIter uintptr = pIndexIter var pIndex uintptr = (*Fts5Iter)(unsafe.Pointer(pIter)).FpIndex @@ -233002,7 +233031,7 @@ func sqlite3Fts5IterClose(tls *libc.TLS, pIndexIter uintptr) { /* sqlite3.c:2304 // // Parameter anSize must point to an array of size nCol, where nCol is // the number of user defined columns in the FTS table. -func sqlite3Fts5IndexGetAverages(tls *libc.TLS, p uintptr, pnRow uintptr, anSize uintptr) int32 { /* sqlite3.c:230471:12: */ +func sqlite3Fts5IndexGetAverages(tls *libc.TLS, p uintptr, pnRow uintptr, anSize uintptr) int32 { /* sqlite3.c:230528:12: */ var nCol int32 = (*Fts5Config)(unsafe.Pointer((*Fts5Index)(unsafe.Pointer(p)).FpConfig)).FnCol var pData uintptr @@ -233024,7 +233053,7 @@ func sqlite3Fts5IndexGetAverages(tls *libc.TLS, p uintptr, pnRow uintptr, anSize // Replace the current "averages" record with the contents of the buffer // supplied as the second argument. -func sqlite3Fts5IndexSetAverages(tls *libc.TLS, p uintptr, pData uintptr, nData int32) int32 { /* sqlite3.c:230495:12: */ +func sqlite3Fts5IndexSetAverages(tls *libc.TLS, p uintptr, pData uintptr, nData int32) int32 { /* sqlite3.c:230552:12: */ fts5DataWrite(tls, p, int64(FTS5_AVERAGES_ROWID), pData, nData) return fts5IndexReturn(tls, p) @@ -233032,7 +233061,7 @@ func sqlite3Fts5IndexSetAverages(tls *libc.TLS, p uintptr, pData uintptr, nData // Return the total number of blocks this module has read from the %_data // table since it was created. -func sqlite3Fts5IndexReads(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:230505:12: */ +func sqlite3Fts5IndexReads(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:230562:12: */ return (*Fts5Index)(unsafe.Pointer(p)).FnRead } @@ -233041,7 +233070,7 @@ func sqlite3Fts5IndexReads(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:230505 // // Return SQLITE_OK if successful, or an SQLite error code if an error // occurs. -func sqlite3Fts5IndexSetCookie(tls *libc.TLS, p uintptr, iNew int32) int32 { /* sqlite3.c:230516:12: */ +func sqlite3Fts5IndexSetCookie(tls *libc.TLS, p uintptr, iNew int32) int32 { /* sqlite3.c:230573:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -233063,7 +233092,7 @@ func sqlite3Fts5IndexSetCookie(tls *libc.TLS, p uintptr, iNew int32) int32 { /* return rc } -func sqlite3Fts5IndexLoadConfig(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:230536:12: */ +func sqlite3Fts5IndexLoadConfig(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:230593:12: */ var pStruct uintptr pStruct = fts5StructureRead(tls, p) fts5StructureRelease(tls, pStruct) @@ -233077,7 +233106,7 @@ func sqlite3Fts5IndexLoadConfig(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:2 // functionality. // Return a simple checksum value based on the arguments. -func sqlite3Fts5IndexEntryCksum(tls *libc.TLS, iRowid I64, iCol int32, iPos int32, iIdx int32, pTerm uintptr, nTerm int32) U64 { /* sqlite3.c:230553:12: */ +func sqlite3Fts5IndexEntryCksum(tls *libc.TLS, iRowid I64, iCol int32, iPos int32, iIdx int32, pTerm uintptr, nTerm int32) U64 { /* sqlite3.c:230610:12: */ var i int32 var ret U64 = U64(iRowid) ret = ret + (ret<<3 + U64(iCol)) @@ -233097,7 +233126,7 @@ func sqlite3Fts5IndexEntryCksum(tls *libc.TLS, iRowid I64, iCol int32, iPos int3 // contain zero terms. // 2) All leaves of pSeg between iNoRowid and iLast (inclusive) exist and // contain zero rowids. -func fts5IndexIntegrityCheckEmpty(tls *libc.TLS, p uintptr, pSeg uintptr, iFirst int32, iNoRowid int32, iLast int32) { /* sqlite3.c:230771:13: */ +func fts5IndexIntegrityCheckEmpty(tls *libc.TLS, p uintptr, pSeg uintptr, iFirst int32, iNoRowid int32, iLast int32) { /* sqlite3.c:230828:13: */ var i int32 // Now check that the iter.nEmpty leaves following the current leaf @@ -233116,7 +233145,7 @@ func fts5IndexIntegrityCheckEmpty(tls *libc.TLS, p uintptr, pSeg uintptr, iFirst } } -func fts5IntegrityCheckPgidx(tls *libc.TLS, p uintptr, pLeaf uintptr) { /* sqlite3.c:230792:13: */ +func fts5IntegrityCheckPgidx(tls *libc.TLS, p uintptr, pLeaf uintptr) { /* sqlite3.c:230849:13: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -233175,7 +233204,7 @@ func fts5IntegrityCheckPgidx(tls *libc.TLS, p uintptr, pLeaf uintptr) { /* sqlit sqlite3Fts5BufferFree(tls, bp+32) } -func fts5IndexIntegrityCheckSegment(tls *libc.TLS, p uintptr, pSeg uintptr) { /* sqlite3.c:230842:13: */ +func fts5IndexIntegrityCheckSegment(tls *libc.TLS, p uintptr, pSeg uintptr) { /* sqlite3.c:230899:13: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -233344,7 +233373,7 @@ func fts5IndexIntegrityCheckSegment(tls *libc.TLS, p uintptr, pSeg uintptr) { /* // checksum does not match. Return SQLITE_OK if all checks pass without // error, or some other SQLite error code if another error (e.g. OOM) // occurs. -func sqlite3Fts5IndexIntegrityCheck(tls *libc.TLS, p uintptr, cksum U64, bUseCksum int32) int32 { /* sqlite3.c:230987:12: */ +func sqlite3Fts5IndexIntegrityCheck(tls *libc.TLS, p uintptr, cksum U64, bUseCksum int32) int32 { /* sqlite3.c:231044:12: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -233434,13 +233463,13 @@ func sqlite3Fts5IndexIntegrityCheck(tls *libc.TLS, p uintptr, cksum U64, bUseCks // // If successful, SQLITE_OK is returned. If an error occurs, some other // SQLite error code is returned instead. -func sqlite3Fts5IndexInit(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:231550:12: */ +func sqlite3Fts5IndexInit(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:231607:12: */ return SQLITE_OK _ = db return int32(0) } -func sqlite3Fts5IndexReset(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:231576:12: */ +func sqlite3Fts5IndexReset(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:231633:12: */ if fts5IndexDataVersion(tls, p) != (*Fts5Index)(unsafe.Pointer(p)).FiStructVersion { fts5StructureInvalidate(tls, p) @@ -233473,7 +233502,7 @@ type Fts5Auxdata1 = struct { FpPtr uintptr FxDelete uintptr FpNext uintptr -} /* sqlite3.c:216813:9 */ +} /* sqlite3.c:216870:9 */ // 2014 Jun 09 // @@ -233495,7 +233524,7 @@ type Fts5Auxdata1 = struct { // assert() conditions in the fts5 code are activated - conditions that are // only true if it is guaranteed that the fts5 database is not corrupt. -type Fts5Auxdata = Fts5Auxdata1 /* sqlite3.c:231613:28 */ +type Fts5Auxdata = Fts5Auxdata1 /* sqlite3.c:231670:28 */ type Fts5Auxiliary1 = struct { FpGlobal uintptr FzFunc uintptr @@ -233503,9 +233532,9 @@ type Fts5Auxiliary1 = struct { FxFunc Fts5_extension_function FxDestroy uintptr FpNext uintptr -} /* sqlite3.c:216813:9 */ +} /* sqlite3.c:216870:9 */ -type Fts5Auxiliary = Fts5Auxiliary1 /* sqlite3.c:231614:30 */ +type Fts5Auxiliary = Fts5Auxiliary1 /* sqlite3.c:231671:30 */ type Fts5Cursor1 = struct { Fbase Sqlite3_vtab_cursor FpNext uintptr @@ -233534,35 +233563,35 @@ type Fts5Cursor1 = struct { FnInstAlloc int32 FnInstCount int32 FaInst uintptr -} /* sqlite3.c:216813:9 */ +} /* sqlite3.c:216870:9 */ -type Fts5Cursor = Fts5Cursor1 /* sqlite3.c:231615:27 */ +type Fts5Cursor = Fts5Cursor1 /* sqlite3.c:231672:27 */ type Fts5FullTable1 = struct { Fp Fts5Table FpStorage uintptr FpGlobal uintptr FpSortCsr uintptr -} /* sqlite3.c:231616:9 */ +} /* sqlite3.c:231673:9 */ -type Fts5FullTable = Fts5FullTable1 /* sqlite3.c:231616:30 */ +type Fts5FullTable = Fts5FullTable1 /* sqlite3.c:231673:30 */ type Fts5Sorter1 = struct { FpStmt uintptr FiRowid I64 FaPoslist uintptr FnIdx int32 FaIdx [1]int32 -} /* sqlite3.c:216813:9 */ +} /* sqlite3.c:216870:9 */ -type Fts5Sorter = Fts5Sorter1 /* sqlite3.c:231617:27 */ +type Fts5Sorter = Fts5Sorter1 /* sqlite3.c:231674:27 */ type Fts5TokenizerModule1 = struct { FzName uintptr FpUserData uintptr Fx Fts5_tokenizer FxDestroy uintptr FpNext uintptr -} /* sqlite3.c:216813:9 */ +} /* sqlite3.c:216870:9 */ -type Fts5TokenizerModule = Fts5TokenizerModule1 /* sqlite3.c:231618:36 */ +type Fts5TokenizerModule = Fts5TokenizerModule1 /* sqlite3.c:231675:36 */ // NOTES ON TRANSACTIONS: // @@ -233596,21 +233625,21 @@ type Fts5TokenizerModule = Fts5TokenizerModule1 /* sqlite3.c:231618:36 */ type Fts5TransactionState = struct { FeState int32 FiSavepoint int32 -} /* sqlite3.c:231651:1 */ +} /* sqlite3.c:231708:1 */ type Fts5MatchPhrase = struct { FpPoslist uintptr FnTerm int32 F__ccgo_pad1 [4]byte -} /* sqlite3.c:231708:1 */ +} /* sqlite3.c:231765:1 */ // Return true if pTab is a contentless table. -func fts5IsContentless(tls *libc.TLS, pTab uintptr) int32 { /* sqlite3.c:231892:12: */ +func fts5IsContentless(tls *libc.TLS, pTab uintptr) int32 { /* sqlite3.c:231949:12: */ return libc.Bool32((*Fts5Config)(unsafe.Pointer((*Fts5FullTable)(unsafe.Pointer(pTab)).Fp.FpConfig)).FeContent == FTS5_CONTENT_NONE) } // Delete a virtual table handle allocated by fts5InitVtab(). -func fts5FreeVtab(tls *libc.TLS, pTab uintptr) { /* sqlite3.c:231899:13: */ +func fts5FreeVtab(tls *libc.TLS, pTab uintptr) { /* sqlite3.c:231956:13: */ if pTab != 0 { sqlite3Fts5IndexClose(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).Fp.FpIndex) sqlite3Fts5StorageClose(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).FpStorage) @@ -233620,13 +233649,13 @@ func fts5FreeVtab(tls *libc.TLS, pTab uintptr) { /* sqlite3.c:231899:13: */ } // The xDisconnect() virtual table method. -func fts5DisconnectMethod(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:231911:12: */ +func fts5DisconnectMethod(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:231968:12: */ fts5FreeVtab(tls, pVtab) return SQLITE_OK } // The xDestroy() virtual table method. -func fts5DestroyMethod(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:231919:12: */ +func fts5DestroyMethod(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:231976:12: */ var pTab uintptr = pVtab var rc int32 = sqlite3Fts5DropAll(tls, (*Fts5Table)(unsafe.Pointer(pTab)).FpConfig) if rc == SQLITE_OK { @@ -233644,7 +233673,7 @@ func fts5DestroyMethod(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:231919 // argv[1] -> database name // argv[2] -> table name // argv[...] -> "column name" and other module argument fields. -func fts5InitVtab(tls *libc.TLS, bCreate int32, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVTab uintptr, pzErr uintptr) int32 { /* sqlite3.c:231939:12: */ +func fts5InitVtab(tls *libc.TLS, bCreate int32, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVTab uintptr, pzErr uintptr) int32 { /* sqlite3.c:231996:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -233702,11 +233731,11 @@ func fts5InitVtab(tls *libc.TLS, bCreate int32, db uintptr, pAux uintptr, argc i // The xConnect() and xCreate() methods for the virtual table. All the // work is done in function fts5InitVtab(). -func fts5ConnectMethod(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 { /* sqlite3.c:232005:12: */ +func fts5ConnectMethod(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 { /* sqlite3.c:232062:12: */ return fts5InitVtab(tls, 0, db, pAux, argc, argv, ppVtab, pzErr) } -func fts5CreateMethod(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 { /* sqlite3.c:232015:12: */ +func fts5CreateMethod(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 { /* sqlite3.c:232072:12: */ return fts5InitVtab(tls, 1, db, pAux, argc, argv, ppVtab, pzErr) } @@ -233715,14 +233744,14 @@ func fts5CreateMethod(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv // Set the SQLITE_INDEX_SCAN_UNIQUE flag in pIdxInfo->flags. Unless this // extension is currently being used by a version of SQLite too old to // support index-info flags. In that case this function is a no-op. -func fts5SetUniqueFlag(tls *libc.TLS, pIdxInfo uintptr) { /* sqlite3.c:232041:13: */ +func fts5SetUniqueFlag(tls *libc.TLS, pIdxInfo uintptr) { /* sqlite3.c:232098:13: */ { *(*int32)(unsafe.Pointer(pIdxInfo + 80)) |= SQLITE_INDEX_SCAN_UNIQUE } } -func fts5UsePatternMatch(tls *libc.TLS, pConfig uintptr, p uintptr) int32 { /* sqlite3.c:232052:12: */ +func fts5UsePatternMatch(tls *libc.TLS, pConfig uintptr, p uintptr) int32 { /* sqlite3.c:232109:12: */ if (*Fts5Config)(unsafe.Pointer(pConfig)).FePattern == FTS5_PATTERN_GLOB && int32((*sqlite3_index_constraint)(unsafe.Pointer(p)).Fop) == FTS5_PATTERN_GLOB { return 1 @@ -233793,7 +233822,7 @@ func fts5UsePatternMatch(tls *libc.TLS, pConfig uintptr, p uintptr) int32 { /* s // * An == rowid constraint: cost=10.0 // // Costs are not modified by the ORDER BY clause. -func fts5BestIndexMethod(tls *libc.TLS, pVTab uintptr, pInfo uintptr) int32 { /* sqlite3.c:232130:12: */ +func fts5BestIndexMethod(tls *libc.TLS, pVTab uintptr, pInfo uintptr) int32 { /* sqlite3.c:232187:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -233955,7 +233984,7 @@ func fts5BestIndexMethod(tls *libc.TLS, pVTab uintptr, pInfo uintptr) int32 { /* return SQLITE_OK } -func fts5NewTransaction(tls *libc.TLS, pTab uintptr) int32 { /* sqlite3.c:232265:12: */ +func fts5NewTransaction(tls *libc.TLS, pTab uintptr) int32 { /* sqlite3.c:232322:12: */ var pCsr uintptr for pCsr = (*Fts5Global)(unsafe.Pointer((*Fts5FullTable)(unsafe.Pointer(pTab)).FpGlobal)).FpCsr; pCsr != 0; pCsr = (*Fts5Cursor)(unsafe.Pointer(pCsr)).FpNext { if (*Fts5Cursor)(unsafe.Pointer(pCsr)).Fbase.FpVtab == pTab { @@ -233966,7 +233995,7 @@ func fts5NewTransaction(tls *libc.TLS, pTab uintptr) int32 { /* sqlite3.c:232265 } // Implementation of xOpen method. -func fts5OpenMethod(tls *libc.TLS, pVTab uintptr, ppCsr uintptr) int32 { /* sqlite3.c:232276:12: */ +func fts5OpenMethod(tls *libc.TLS, pVTab uintptr, ppCsr uintptr) int32 { /* sqlite3.c:232333:12: */ var pTab uintptr = pVTab var pConfig uintptr = (*Fts5FullTable)(unsafe.Pointer(pTab)).Fp.FpConfig var pCsr uintptr = uintptr(0) // New cursor object @@ -233992,7 +234021,7 @@ func fts5OpenMethod(tls *libc.TLS, pVTab uintptr, ppCsr uintptr) int32 { /* sqli return rc } -func fts5StmtType(tls *libc.TLS, pCsr uintptr) int32 { /* sqlite3.c:232302:12: */ +func fts5StmtType(tls *libc.TLS, pCsr uintptr) int32 { /* sqlite3.c:232359:12: */ if (*Fts5Cursor)(unsafe.Pointer(pCsr)).FePlan == FTS5_PLAN_SCAN { if (*Fts5Cursor)(unsafe.Pointer(pCsr)).FbDesc != 0 { return FTS5_STMT_SCAN_DESC @@ -234005,11 +234034,11 @@ func fts5StmtType(tls *libc.TLS, pCsr uintptr) int32 { /* sqlite3.c:232302:12: * // This function is called after the cursor passed as the only argument // is moved to point at a different row. It clears all cached data // specific to the previous row stored by the cursor object. -func fts5CsrNewrow(tls *libc.TLS, pCsr uintptr) { /* sqlite3.c:232314:13: */ +func fts5CsrNewrow(tls *libc.TLS, pCsr uintptr) { /* sqlite3.c:232371:13: */ *(*int32)(unsafe.Pointer(pCsr + 80)) |= FTS5CSR_REQUIRE_CONTENT | FTS5CSR_REQUIRE_DOCSIZE | FTS5CSR_REQUIRE_INST | FTS5CSR_REQUIRE_POSLIST } -func fts5FreeCursorComponents(tls *libc.TLS, pCsr uintptr) { /* sqlite3.c:232323:13: */ +func fts5FreeCursorComponents(tls *libc.TLS, pCsr uintptr) { /* sqlite3.c:232380:13: */ var pTab uintptr = (*Fts5Cursor)(unsafe.Pointer(pCsr)).Fbase.FpVtab var pData uintptr var pNext uintptr @@ -234052,7 +234081,7 @@ func fts5FreeCursorComponents(tls *libc.TLS, pCsr uintptr) { /* sqlite3.c:232323 // Close the cursor. For additional information see the documentation // on the xClose method of the virtual table interface. -func fts5CloseMethod(tls *libc.TLS, pCursor uintptr) int32 { /* sqlite3.c:232367:12: */ +func fts5CloseMethod(tls *libc.TLS, pCursor uintptr) int32 { /* sqlite3.c:232424:12: */ if pCursor != 0 { var pTab uintptr = (*Sqlite3_vtab_cursor)(unsafe.Pointer(pCursor)).FpVtab var pCsr uintptr = pCursor @@ -234069,7 +234098,7 @@ func fts5CloseMethod(tls *libc.TLS, pCursor uintptr) int32 { /* sqlite3.c:232367 return SQLITE_OK } -func fts5SorterNext(tls *libc.TLS, pCsr uintptr) int32 { /* sqlite3.c:232383:12: */ +func fts5SorterNext(tls *libc.TLS, pCsr uintptr) int32 { /* sqlite3.c:232440:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -234113,7 +234142,7 @@ func fts5SorterNext(tls *libc.TLS, pCsr uintptr) int32 { /* sqlite3.c:232383:12: // Set the FTS5CSR_REQUIRE_RESEEK flag on all FTS5_PLAN_MATCH cursors // open on table pTab. -func fts5TripCursors(tls *libc.TLS, pTab uintptr) { /* sqlite3.c:232426:13: */ +func fts5TripCursors(tls *libc.TLS, pTab uintptr) { /* sqlite3.c:232483:13: */ var pCsr uintptr for pCsr = (*Fts5Global)(unsafe.Pointer((*Fts5FullTable)(unsafe.Pointer(pTab)).FpGlobal)).FpCsr; pCsr != 0; pCsr = (*Fts5Cursor)(unsafe.Pointer(pCsr)).FpNext { if (*Fts5Cursor)(unsafe.Pointer(pCsr)).FePlan == FTS5_PLAN_MATCH && @@ -234133,7 +234162,7 @@ func fts5TripCursors(tls *libc.TLS, pTab uintptr) { /* sqlite3.c:232426:13: */ // // Return SQLITE_OK if successful or if no reseek was required, or an // error code if an error occurred. -func fts5CursorReseek(tls *libc.TLS, pCsr uintptr, pbSkip uintptr) int32 { /* sqlite3.c:232449:12: */ +func fts5CursorReseek(tls *libc.TLS, pCsr uintptr, pbSkip uintptr) int32 { /* sqlite3.c:232506:12: */ var rc int32 = SQLITE_OK if (*Fts5Cursor)(unsafe.Pointer(pCsr)).Fcsrflags&FTS5CSR_REQUIRE_RESEEK != 0 { @@ -234162,7 +234191,7 @@ func fts5CursorReseek(tls *libc.TLS, pCsr uintptr, pbSkip uintptr) int32 { /* sq // Return SQLITE_OK if nothing goes wrong. SQLITE_OK is returned // even if we reach end-of-file. The fts5EofMethod() will be called // subsequently to determine whether or not an EOF was hit. -func fts5NextMethod(tls *libc.TLS, pCursor uintptr) int32 { /* sqlite3.c:232481:12: */ +func fts5NextMethod(tls *libc.TLS, pCursor uintptr) int32 { /* sqlite3.c:232538:12: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -234221,7 +234250,7 @@ func fts5NextMethod(tls *libc.TLS, pCursor uintptr) int32 { /* sqlite3.c:232481: return rc } -func fts5PrepareStatement(tls *libc.TLS, ppStmt uintptr, pConfig uintptr, zFmt uintptr, va uintptr) int32 { /* sqlite3.c:232534:12: */ +func fts5PrepareStatement(tls *libc.TLS, ppStmt uintptr, pConfig uintptr, zFmt uintptr, va uintptr) int32 { /* sqlite3.c:232591:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -234249,7 +234278,7 @@ func fts5PrepareStatement(tls *libc.TLS, ppStmt uintptr, pConfig uintptr, zFmt u return rc } -func fts5CursorFirstSorted(tls *libc.TLS, pTab uintptr, pCsr uintptr, bDesc int32) int32 { /* sqlite3.c:232563:12: */ +func fts5CursorFirstSorted(tls *libc.TLS, pTab uintptr, pCsr uintptr, bDesc int32) int32 { /* sqlite3.c:232620:12: */ bp := tls.Alloc(56) defer tls.Free(56) @@ -234316,7 +234345,7 @@ func fts5CursorFirstSorted(tls *libc.TLS, pTab uintptr, pCsr uintptr, bDesc int3 return rc } -func fts5CursorFirst(tls *libc.TLS, pTab uintptr, pCsr uintptr, bDesc int32) int32 { /* sqlite3.c:232615:12: */ +func fts5CursorFirst(tls *libc.TLS, pTab uintptr, pCsr uintptr, bDesc int32) int32 { /* sqlite3.c:232672:12: */ var rc int32 var pExpr uintptr = (*Fts5Cursor)(unsafe.Pointer(pCsr)).FpExpr rc = sqlite3Fts5ExprFirst(tls, pExpr, (*Fts5FullTable)(unsafe.Pointer(pTab)).Fp.FpIndex, (*Fts5Cursor)(unsafe.Pointer(pCsr)).FiFirstRowid, bDesc) @@ -234331,7 +234360,7 @@ func fts5CursorFirst(tls *libc.TLS, pTab uintptr, pCsr uintptr, bDesc int32) int // MATCH expression that begins with a '*' character. The remainder of // the text passed to the MATCH operator are used as the special query // parameters. -func fts5SpecialMatch(tls *libc.TLS, pTab uintptr, pCsr uintptr, zQuery uintptr) int32 { /* sqlite3.c:232632:12: */ +func fts5SpecialMatch(tls *libc.TLS, pTab uintptr, pCsr uintptr, zQuery uintptr) int32 { /* sqlite3.c:232689:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -234363,7 +234392,7 @@ func fts5SpecialMatch(tls *libc.TLS, pTab uintptr, pCsr uintptr, zQuery uintptr) // Search for an auxiliary function named zName that can be used with table // pTab. If one is found, return a pointer to the corresponding Fts5Auxiliary // structure. Otherwise, if no such function exists, return NULL. -func fts5FindAuxiliary(tls *libc.TLS, pTab uintptr, zName uintptr) uintptr { /* sqlite3.c:232667:22: */ +func fts5FindAuxiliary(tls *libc.TLS, pTab uintptr, zName uintptr) uintptr { /* sqlite3.c:232724:22: */ var pAux uintptr for pAux = (*Fts5Global)(unsafe.Pointer((*Fts5FullTable)(unsafe.Pointer(pTab)).FpGlobal)).FpAux; pAux != 0; pAux = (*Fts5Auxiliary)(unsafe.Pointer(pAux)).FpNext { @@ -234376,7 +234405,7 @@ func fts5FindAuxiliary(tls *libc.TLS, pTab uintptr, zName uintptr) uintptr { /* return uintptr(0) } -func fts5FindRankFunction(tls *libc.TLS, pCsr uintptr) int32 { /* sqlite3.c:232679:12: */ +func fts5FindRankFunction(tls *libc.TLS, pCsr uintptr) int32 { /* sqlite3.c:232736:12: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -234429,7 +234458,7 @@ func fts5FindRankFunction(tls *libc.TLS, pCsr uintptr) int32 { /* sqlite3.c:2326 return *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) } -func fts5CursorParseRank(tls *libc.TLS, pConfig uintptr, pCsr uintptr, pRank uintptr) int32 { /* sqlite3.c:232730:12: */ +func fts5CursorParseRank(tls *libc.TLS, pConfig uintptr, pCsr uintptr, pRank uintptr) int32 { /* sqlite3.c:232787:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -234466,7 +234495,7 @@ func fts5CursorParseRank(tls *libc.TLS, pConfig uintptr, pCsr uintptr, pRank uin return rc } -func fts5GetRowidLimit(tls *libc.TLS, pVal uintptr, iDefault I64) I64 { /* sqlite3.c:232767:12: */ +func fts5GetRowidLimit(tls *libc.TLS, pVal uintptr, iDefault I64) I64 { /* sqlite3.c:232824:12: */ if pVal != 0 { var eType int32 = Xsqlite3_value_numeric_type(tls, pVal) if eType == SQLITE_INTEGER { @@ -234485,7 +234514,7 @@ func fts5GetRowidLimit(tls *libc.TLS, pVal uintptr, iDefault I64) I64 { /* sqlit // 1. Full-text search using a MATCH operator. // 2. A by-rowid lookup. // 3. A full-table scan. -func fts5FilterMethod(tls *libc.TLS, pCursor uintptr, idxNum int32, idxStr uintptr, nVal int32, apVal uintptr) int32 { /* sqlite3.c:232788:12: */ +func fts5FilterMethod(tls *libc.TLS, pCursor uintptr, idxNum int32, idxStr uintptr, nVal int32, apVal uintptr) int32 { /* sqlite3.c:232845:12: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -234806,7 +234835,7 @@ filter_out: // This is the xEof method of the virtual table. SQLite calls this // routine to find out if it has reached the end of a result set. -func fts5EofMethod(tls *libc.TLS, pCursor uintptr) int32 { /* sqlite3.c:232981:12: */ +func fts5EofMethod(tls *libc.TLS, pCursor uintptr) int32 { /* sqlite3.c:233038:12: */ var pCsr uintptr = pCursor return func() int32 { if (*Fts5Cursor)(unsafe.Pointer(pCsr)).Fcsrflags&FTS5CSR_EOF != 0 { @@ -234817,7 +234846,7 @@ func fts5EofMethod(tls *libc.TLS, pCursor uintptr) int32 { /* sqlite3.c:232981:1 } // Return the rowid that the cursor currently points to. -func fts5CursorRowid(tls *libc.TLS, pCsr uintptr) I64 { /* sqlite3.c:232989:12: */ +func fts5CursorRowid(tls *libc.TLS, pCsr uintptr) I64 { /* sqlite3.c:233046:12: */ if (*Fts5Cursor)(unsafe.Pointer(pCsr)).FpSorter != 0 { return (*Fts5Sorter)(unsafe.Pointer((*Fts5Cursor)(unsafe.Pointer(pCsr)).FpSorter)).FiRowid @@ -234831,7 +234860,7 @@ func fts5CursorRowid(tls *libc.TLS, pCsr uintptr) I64 { /* sqlite3.c:232989:12: // retrieve the rowid for the current row of the result set. fts5 // exposes %_content.rowid as the rowid for the virtual table. The // rowid should be written to *pRowid. -func fts5RowidMethod(tls *libc.TLS, pCursor uintptr, pRowid uintptr) int32 { /* sqlite3.c:233007:12: */ +func fts5RowidMethod(tls *libc.TLS, pCursor uintptr, pRowid uintptr) int32 { /* sqlite3.c:233064:12: */ var pCsr uintptr = pCursor var ePlan int32 = (*Fts5Cursor)(unsafe.Pointer(pCsr)).FePlan @@ -234861,7 +234890,7 @@ func fts5RowidMethod(tls *libc.TLS, pCursor uintptr, pRowid uintptr) int32 { /* // // If argument bErrormsg is true and an error occurs, an error message may // be left in sqlite3_vtab.zErrMsg. -func fts5SeekCursor(tls *libc.TLS, pCsr uintptr, bErrormsg int32) int32 { /* sqlite3.c:233038:12: */ +func fts5SeekCursor(tls *libc.TLS, pCsr uintptr, bErrormsg int32) int32 { /* sqlite3.c:233095:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -234905,7 +234934,7 @@ func fts5SeekCursor(tls *libc.TLS, pCsr uintptr, bErrormsg int32) int32 { /* sql return rc } -func fts5SetVtabError(tls *libc.TLS, p uintptr, zFormat uintptr, va uintptr) { /* sqlite3.c:233077:13: */ +func fts5SetVtabError(tls *libc.TLS, p uintptr, zFormat uintptr, va uintptr) { /* sqlite3.c:233134:13: */ var ap Va_list _ = ap // ... printf arguments ap = va @@ -234927,7 +234956,7 @@ func fts5SetVtabError(tls *libc.TLS, p uintptr, zFormat uintptr, va uintptr) { / // The commands implemented by this function are documented in the "Special // INSERT Directives" section of the documentation. It should be updated if // more commands are added to this function. -func fts5SpecialInsert(tls *libc.TLS, pTab uintptr, zCmd uintptr, pVal uintptr) int32 { /* sqlite3.c:233100:12: */ +func fts5SpecialInsert(tls *libc.TLS, pTab uintptr, zCmd uintptr, pVal uintptr) int32 { /* sqlite3.c:233157:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -234976,7 +235005,7 @@ func fts5SpecialInsert(tls *libc.TLS, pTab uintptr, zCmd uintptr, pVal uintptr) return rc } -func fts5SpecialDelete(tls *libc.TLS, pTab uintptr, apVal uintptr) int32 { /* sqlite3.c:233156:12: */ +func fts5SpecialDelete(tls *libc.TLS, pTab uintptr, apVal uintptr) int32 { /* sqlite3.c:233213:12: */ var rc int32 = SQLITE_OK var eType1 int32 = Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(apVal + 1*8))) if eType1 == SQLITE_INTEGER { @@ -234986,7 +235015,7 @@ func fts5SpecialDelete(tls *libc.TLS, pTab uintptr, apVal uintptr) int32 { /* sq return rc } -func fts5StorageInsert(tls *libc.TLS, pRc uintptr, pTab uintptr, apVal uintptr, piRowid uintptr) { /* sqlite3.c:233169:13: */ +func fts5StorageInsert(tls *libc.TLS, pRc uintptr, pTab uintptr, apVal uintptr, piRowid uintptr) { /* sqlite3.c:233226:13: */ var rc int32 = *(*int32)(unsafe.Pointer(pRc)) if rc == SQLITE_OK { rc = sqlite3Fts5StorageContentInsert(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).FpStorage, apVal, piRowid) @@ -235009,7 +235038,7 @@ func fts5StorageInsert(tls *libc.TLS, pRc uintptr, pTab uintptr, apVal uintptr, // 2. The "new" rowid. // 3. Values for each of the nCol matchable columns. // 4. Values for the two hidden columns ( and "rank"). -func fts5UpdateMethod(tls *libc.TLS, pVtab uintptr, nArg int32, apVal uintptr, pRowid uintptr) int32 { /* sqlite3.c:233199:12: */ +func fts5UpdateMethod(tls *libc.TLS, pVtab uintptr, nArg int32, apVal uintptr, pRowid uintptr) int32 { /* sqlite3.c:233256:12: */ bp := tls.Alloc(20) defer tls.Free(20) @@ -235111,7 +235140,7 @@ func fts5UpdateMethod(tls *libc.TLS, pVtab uintptr, nArg int32, apVal uintptr, p } // Implementation of xSync() method. -func fts5SyncMethod(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:233325:12: */ +func fts5SyncMethod(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:233382:12: */ var rc int32 var pTab uintptr = pVtab @@ -235123,7 +235152,7 @@ func fts5SyncMethod(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:233325:12 } // Implementation of xBegin() method. -func fts5BeginMethod(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:233339:12: */ +func fts5BeginMethod(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:233396:12: */ fts5NewTransaction(tls, pVtab) return SQLITE_OK @@ -235132,7 +235161,7 @@ func fts5BeginMethod(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:233339:1 // Implementation of xCommit() method. This is a no-op. The contents of // the pending-terms hash-table have already been flushed into the database // by fts5SyncMethod(). -func fts5CommitMethod(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:233350:12: */ +func fts5CommitMethod(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:233407:12: */ _ = pVtab // Call below is a no-op for NDEBUG builds return SQLITE_OK @@ -235140,7 +235169,7 @@ func fts5CommitMethod(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:233350: // Implementation of xRollback(). Discard the contents of the pending-terms // hash-table. Any changes made to the database are reverted by SQLite. -func fts5RollbackMethod(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:233360:12: */ +func fts5RollbackMethod(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:233417:12: */ var rc int32 var pTab uintptr = pVtab @@ -235148,46 +235177,46 @@ func fts5RollbackMethod(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:23336 return rc } -func fts5ApiUserData(tls *libc.TLS, pCtx uintptr) uintptr { /* sqlite3.c:233370:13: */ +func fts5ApiUserData(tls *libc.TLS, pCtx uintptr) uintptr { /* sqlite3.c:233427:13: */ var pCsr uintptr = pCtx return (*Fts5Auxiliary)(unsafe.Pointer((*Fts5Cursor)(unsafe.Pointer(pCsr)).FpAux)).FpUserData } -func fts5ApiColumnCount(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:233375:12: */ +func fts5ApiColumnCount(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:233432:12: */ var pCsr uintptr = pCtx return (*Fts5Config)(unsafe.Pointer((*Fts5Table)(unsafe.Pointer((*Fts5Cursor)(unsafe.Pointer(pCsr)).Fbase.FpVtab)).FpConfig)).FnCol } -func fts5ApiColumnTotalSize(tls *libc.TLS, pCtx uintptr, iCol int32, pnToken uintptr) int32 { /* sqlite3.c:233380:12: */ +func fts5ApiColumnTotalSize(tls *libc.TLS, pCtx uintptr, iCol int32, pnToken uintptr) int32 { /* sqlite3.c:233437:12: */ var pCsr uintptr = pCtx var pTab uintptr = (*Fts5Cursor)(unsafe.Pointer(pCsr)).Fbase.FpVtab return sqlite3Fts5StorageSize(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).FpStorage, iCol, pnToken) } -func fts5ApiRowCount(tls *libc.TLS, pCtx uintptr, pnRow uintptr) int32 { /* sqlite3.c:233390:12: */ +func fts5ApiRowCount(tls *libc.TLS, pCtx uintptr, pnRow uintptr) int32 { /* sqlite3.c:233447:12: */ var pCsr uintptr = pCtx var pTab uintptr = (*Fts5Cursor)(unsafe.Pointer(pCsr)).Fbase.FpVtab return sqlite3Fts5StorageRowCount(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).FpStorage, pnRow) } -func fts5ApiTokenize(tls *libc.TLS, pCtx uintptr, pText uintptr, nText int32, pUserData uintptr, xToken uintptr) int32 { /* sqlite3.c:233396:12: */ +func fts5ApiTokenize(tls *libc.TLS, pCtx uintptr, pText uintptr, nText int32, pUserData uintptr, xToken uintptr) int32 { /* sqlite3.c:233453:12: */ var pCsr uintptr = pCtx var pTab uintptr = (*Fts5Cursor)(unsafe.Pointer(pCsr)).Fbase.FpVtab return sqlite3Fts5Tokenize(tls, (*Fts5Table)(unsafe.Pointer(pTab)).FpConfig, FTS5_TOKENIZE_AUX, pText, nText, pUserData, xToken) } -func fts5ApiPhraseCount(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:233409:12: */ +func fts5ApiPhraseCount(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:233466:12: */ var pCsr uintptr = pCtx return sqlite3Fts5ExprPhraseCount(tls, (*Fts5Cursor)(unsafe.Pointer(pCsr)).FpExpr) } -func fts5ApiPhraseSize(tls *libc.TLS, pCtx uintptr, iPhrase int32) int32 { /* sqlite3.c:233414:12: */ +func fts5ApiPhraseSize(tls *libc.TLS, pCtx uintptr, iPhrase int32) int32 { /* sqlite3.c:233471:12: */ var pCsr uintptr = pCtx return sqlite3Fts5ExprPhraseSize(tls, (*Fts5Cursor)(unsafe.Pointer(pCsr)).FpExpr, iPhrase) } -func fts5ApiColumnText(tls *libc.TLS, pCtx uintptr, iCol int32, pz uintptr, pn uintptr) int32 { /* sqlite3.c:233419:12: */ +func fts5ApiColumnText(tls *libc.TLS, pCtx uintptr, iCol int32, pz uintptr, pn uintptr) int32 { /* sqlite3.c:233476:12: */ var rc int32 = SQLITE_OK var pCsr uintptr = pCtx if fts5IsContentless(tls, (*Fts5Cursor)(unsafe.Pointer(pCsr)).Fbase.FpVtab) != 0 || @@ -235204,7 +235233,7 @@ func fts5ApiColumnText(tls *libc.TLS, pCtx uintptr, iCol int32, pz uintptr, pn u return rc } -func fts5CsrPoslist(tls *libc.TLS, pCsr uintptr, iPhrase int32, pa uintptr, pn uintptr) int32 { /* sqlite3.c:233442:12: */ +func fts5CsrPoslist(tls *libc.TLS, pCsr uintptr, iPhrase int32, pa uintptr, pn uintptr) int32 { /* sqlite3.c:233499:12: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -235261,7 +235290,7 @@ func fts5CsrPoslist(tls *libc.TLS, pCsr uintptr, iPhrase int32, pa uintptr, pn u // Ensure that the Fts5Cursor.nInstCount and aInst[] variables are populated // correctly for the current view. Return SQLITE_OK if successful, or an // SQLite error code otherwise. -func fts5CacheInstArray(tls *libc.TLS, pCsr uintptr) int32 { /* sqlite3.c:233494:12: */ +func fts5CacheInstArray(tls *libc.TLS, pCsr uintptr) int32 { /* sqlite3.c:233551:12: */ bp := tls.Alloc(20) defer tls.Free(20) @@ -235345,7 +235374,7 @@ func fts5CacheInstArray(tls *libc.TLS, pCsr uintptr) int32 { /* sqlite3.c:233494 return *(*int32)(unsafe.Pointer(bp /* rc */)) } -func fts5ApiInstCount(tls *libc.TLS, pCtx uintptr, pnInst uintptr) int32 { /* sqlite3.c:233568:12: */ +func fts5ApiInstCount(tls *libc.TLS, pCtx uintptr, pnInst uintptr) int32 { /* sqlite3.c:233625:12: */ var pCsr uintptr = pCtx var rc int32 = SQLITE_OK if (*Fts5Cursor)(unsafe.Pointer(pCsr)).Fcsrflags&FTS5CSR_REQUIRE_INST == 0 || @@ -235355,7 +235384,7 @@ func fts5ApiInstCount(tls *libc.TLS, pCtx uintptr, pnInst uintptr) int32 { /* sq return rc } -func fts5ApiInst(tls *libc.TLS, pCtx uintptr, iIdx int32, piPhrase uintptr, piCol uintptr, piOff uintptr) int32 { /* sqlite3.c:233578:12: */ +func fts5ApiInst(tls *libc.TLS, pCtx uintptr, iIdx int32, piPhrase uintptr, piCol uintptr, piOff uintptr) int32 { /* sqlite3.c:233635:12: */ var pCsr uintptr = pCtx var rc int32 = SQLITE_OK if (*Fts5Cursor)(unsafe.Pointer(pCsr)).Fcsrflags&FTS5CSR_REQUIRE_INST == 0 || @@ -235371,11 +235400,11 @@ func fts5ApiInst(tls *libc.TLS, pCtx uintptr, iIdx int32, piPhrase uintptr, piCo return rc } -func fts5ApiRowid(tls *libc.TLS, pCtx uintptr) Sqlite3_int64 { /* sqlite3.c:233607:22: */ +func fts5ApiRowid(tls *libc.TLS, pCtx uintptr) Sqlite3_int64 { /* sqlite3.c:233664:22: */ return fts5CursorRowid(tls, pCtx) } -func fts5ColumnSizeCb(tls *libc.TLS, pContext uintptr, tflags int32, pUnused uintptr, nUnused int32, iUnused1 int32, iUnused2 int32) int32 { /* sqlite3.c:233611:12: */ +func fts5ColumnSizeCb(tls *libc.TLS, pContext uintptr, tflags int32, pUnused uintptr, nUnused int32, iUnused1 int32, iUnused2 int32) int32 { /* sqlite3.c:233668:12: */ var pCnt uintptr = pContext _ = pUnused _ = nUnused @@ -235387,7 +235416,7 @@ func fts5ColumnSizeCb(tls *libc.TLS, pContext uintptr, tflags int32, pUnused uin return SQLITE_OK } -func fts5ApiColumnSize(tls *libc.TLS, pCtx uintptr, iCol int32, pnToken uintptr) int32 { /* sqlite3.c:233628:12: */ +func fts5ApiColumnSize(tls *libc.TLS, pCtx uintptr, iCol int32, pnToken uintptr) int32 { /* sqlite3.c:233685:12: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -235445,7 +235474,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) int32 { /* sqlite3.c:233681:12: */ +func fts5ApiSetAuxdata(tls *libc.TLS, pCtx uintptr, pPtr uintptr, xDelete uintptr) int32 { /* sqlite3.c:233738:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -235483,7 +235512,7 @@ func fts5ApiSetAuxdata(tls *libc.TLS, pCtx uintptr, pPtr uintptr, xDelete uintpt return SQLITE_OK } -func fts5ApiGetAuxdata(tls *libc.TLS, pCtx uintptr, bClear int32) uintptr { /* sqlite3.c:233716:13: */ +func fts5ApiGetAuxdata(tls *libc.TLS, pCtx uintptr, bClear int32) uintptr { /* sqlite3.c:233773:13: */ var pCsr uintptr = pCtx var pData uintptr var pRet uintptr = uintptr(0) @@ -235505,7 +235534,7 @@ func fts5ApiGetAuxdata(tls *libc.TLS, pCtx uintptr, bClear int32) uintptr { /* s return pRet } -func fts5ApiPhraseNext(tls *libc.TLS, pUnused uintptr, pIter uintptr, piCol uintptr, piOff uintptr) { /* sqlite3.c:233736:13: */ +func fts5ApiPhraseNext(tls *libc.TLS, pUnused uintptr, pIter uintptr, piCol uintptr, piOff uintptr) { /* sqlite3.c:233793:13: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -235527,7 +235556,7 @@ func fts5ApiPhraseNext(tls *libc.TLS, pUnused uintptr, pIter uintptr, piCol uint } } -func fts5ApiPhraseFirst(tls *libc.TLS, pCtx uintptr, iPhrase int32, pIter uintptr, piCol uintptr, piOff uintptr) int32 { /* sqlite3.c:233758:12: */ +func fts5ApiPhraseFirst(tls *libc.TLS, pCtx uintptr, iPhrase int32, pIter uintptr, piCol uintptr, piOff uintptr) int32 { /* sqlite3.c:233815:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -235550,7 +235579,7 @@ func fts5ApiPhraseFirst(tls *libc.TLS, pCtx uintptr, iPhrase int32, pIter uintpt return rc } -func fts5ApiPhraseNextColumn(tls *libc.TLS, pCtx uintptr, pIter uintptr, piCol uintptr) { /* sqlite3.c:233777:13: */ +func fts5ApiPhraseNextColumn(tls *libc.TLS, pCtx uintptr, pIter uintptr, piCol uintptr) { /* sqlite3.c:233834:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -235583,7 +235612,7 @@ func fts5ApiPhraseNextColumn(tls *libc.TLS, pCtx uintptr, pIter uintptr, piCol u } } -func fts5ApiPhraseFirstColumn(tls *libc.TLS, pCtx uintptr, iPhrase int32, pIter uintptr, piCol uintptr) int32 { /* sqlite3.c:233807:12: */ +func fts5ApiPhraseFirstColumn(tls *libc.TLS, pCtx uintptr, iPhrase int32, pIter uintptr, piCol uintptr) int32 { /* sqlite3.c:233864:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -235664,10 +235693,10 @@ var sFts5Api = Fts5ExtensionApi{ FxPhraseNext: 0, FxPhraseFirstColumn: 0, FxPhraseNextColumn: 0, -} /* sqlite3.c:233857:31 */ +} /* sqlite3.c:233914:31 */ // Implementation of API function xQueryPhrase(). -func fts5ApiQueryPhrase(tls *libc.TLS, pCtx uintptr, iPhrase int32, pUserData uintptr, xCallback uintptr) int32 { /* sqlite3.c:233883:12: */ +func fts5ApiQueryPhrase(tls *libc.TLS, pCtx uintptr, iPhrase int32, pUserData uintptr, xCallback uintptr) int32 { /* sqlite3.c:233940:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -235703,7 +235732,7 @@ func fts5ApiQueryPhrase(tls *libc.TLS, pCtx uintptr, iPhrase int32, pUserData ui return rc } -func fts5ApiInvoke(tls *libc.TLS, pAux uintptr, pCsr uintptr, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:233920:13: */ +func fts5ApiInvoke(tls *libc.TLS, pAux uintptr, pCsr uintptr, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:233977:13: */ (*Fts5Cursor)(unsafe.Pointer(pCsr)).FpAux = pAux (*struct { @@ -235712,7 +235741,7 @@ func fts5ApiInvoke(tls *libc.TLS, pAux uintptr, pCsr uintptr, context uintptr, a (*Fts5Cursor)(unsafe.Pointer(pCsr)).FpAux = uintptr(0) } -func fts5CursorFromCsrid(tls *libc.TLS, pGlobal uintptr, iCsrId I64) uintptr { /* sqlite3.c:233933:19: */ +func fts5CursorFromCsrid(tls *libc.TLS, pGlobal uintptr, iCsrId I64) uintptr { /* sqlite3.c:233990:19: */ var pCsr uintptr for pCsr = (*Fts5Global)(unsafe.Pointer(pGlobal)).FpCsr; pCsr != 0; pCsr = (*Fts5Cursor)(unsafe.Pointer(pCsr)).FpNext { if (*Fts5Cursor)(unsafe.Pointer(pCsr)).FiCsrId == iCsrId { @@ -235722,7 +235751,7 @@ func fts5CursorFromCsrid(tls *libc.TLS, pGlobal uintptr, iCsrId I64) uintptr { / return pCsr } -func fts5ApiCallback(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:233941:13: */ +func fts5ApiCallback(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:233998:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -235745,7 +235774,7 @@ func fts5ApiCallback(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { // Given cursor id iId, return a pointer to the corresponding Fts5Table // object. Or NULL If the cursor id does not exist. -func sqlite3Fts5TableFromCsrid(tls *libc.TLS, pGlobal uintptr, iCsrId I64) uintptr { /* sqlite3.c:233970:18: */ +func sqlite3Fts5TableFromCsrid(tls *libc.TLS, pGlobal uintptr, iCsrId I64) uintptr { /* sqlite3.c:234027:18: */ var pCsr uintptr pCsr = fts5CursorFromCsrid(tls, pGlobal, iCsrId) if pCsr != 0 { @@ -235767,7 +235796,7 @@ func sqlite3Fts5TableFromCsrid(tls *libc.TLS, pGlobal uintptr, iCsrId I64) uintp // for phrase 0. The second (same disclaimer) contains the size of position // list 1. And so on. There is no size field for the final position list, // as it can be derived from the total size of the blob. -func fts5PoslistBlob(tls *libc.TLS, pCtx uintptr, pCsr uintptr) int32 { /* sqlite3.c:233997:12: */ +func fts5PoslistBlob(tls *libc.TLS, pCtx uintptr, pCsr uintptr) int32 { /* sqlite3.c:234054:12: */ bp := tls.Alloc(68) defer tls.Free(68) @@ -235831,7 +235860,7 @@ func fts5PoslistBlob(tls *libc.TLS, pCtx uintptr, pCsr uintptr) int32 { /* sqlit // This is the xColumn method, called by SQLite to request a value from // the row that the supplied cursor currently points to. -func fts5ColumnMethod(tls *libc.TLS, pCursor uintptr, pCtx uintptr, iCol int32) int32 { /* sqlite3.c:234054:12: */ +func fts5ColumnMethod(tls *libc.TLS, pCursor uintptr, pCtx uintptr, iCol int32) int32 { /* sqlite3.c:234111:12: */ var pTab uintptr = (*Sqlite3_vtab_cursor)(unsafe.Pointer(pCursor)).FpVtab var pConfig uintptr = (*Fts5FullTable)(unsafe.Pointer(pTab)).Fp.FpConfig var pCsr uintptr = pCursor @@ -235871,7 +235900,7 @@ 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) int32 { /* sqlite3.c:234107:12: */ +func fts5FindFunctionMethod(tls *libc.TLS, pVtab uintptr, nUnused int32, zName uintptr, pxFunc uintptr, ppArg uintptr) int32 { /* sqlite3.c:234164:12: */ var pTab uintptr = pVtab var pAux uintptr @@ -235890,12 +235919,12 @@ func fts5FindFunctionMethod(tls *libc.TLS, pVtab uintptr, nUnused int32, zName u } // Implementation of FTS5 xRename method. Rename an fts5 table. -func fts5RenameMethod(tls *libc.TLS, pVtab uintptr, zName uintptr) int32 { /* sqlite3.c:234132:12: */ +func fts5RenameMethod(tls *libc.TLS, pVtab uintptr, zName uintptr) int32 { /* sqlite3.c:234189:12: */ var pTab uintptr = pVtab return sqlite3Fts5StorageRename(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).FpStorage, zName) } -func sqlite3Fts5FlushToDisk(tls *libc.TLS, pTab uintptr) int32 { /* sqlite3.c:234140:12: */ +func sqlite3Fts5FlushToDisk(tls *libc.TLS, pTab uintptr) int32 { /* sqlite3.c:234197:12: */ fts5TripCursors(tls, pTab) return sqlite3Fts5StorageSync(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).FpStorage) } @@ -235903,7 +235932,7 @@ func sqlite3Fts5FlushToDisk(tls *libc.TLS, pTab uintptr) int32 { /* sqlite3.c:23 // The xSavepoint() method. // // Flush the contents of the pending-terms table to disk. -func fts5SavepointMethod(tls *libc.TLS, pVtab uintptr, iSavepoint int32) int32 { /* sqlite3.c:234150:12: */ +func fts5SavepointMethod(tls *libc.TLS, pVtab uintptr, iSavepoint int32) int32 { /* sqlite3.c:234207:12: */ _ = iSavepoint // Call below is a no-op for NDEBUG builds return sqlite3Fts5FlushToDisk(tls, pVtab) @@ -235912,7 +235941,7 @@ func fts5SavepointMethod(tls *libc.TLS, pVtab uintptr, iSavepoint int32) int32 { // The xRelease() method. // // This is a no-op. -func fts5ReleaseMethod(tls *libc.TLS, pVtab uintptr, iSavepoint int32) int32 { /* sqlite3.c:234161:12: */ +func fts5ReleaseMethod(tls *libc.TLS, pVtab uintptr, iSavepoint int32) int32 { /* sqlite3.c:234218:12: */ _ = iSavepoint // Call below is a no-op for NDEBUG builds return sqlite3Fts5FlushToDisk(tls, pVtab) @@ -235921,7 +235950,7 @@ func fts5ReleaseMethod(tls *libc.TLS, pVtab uintptr, iSavepoint int32) int32 { / // The xRollbackTo() method. // // Discard the contents of the pending terms table. -func fts5RollbackToMethod(tls *libc.TLS, pVtab uintptr, iSavepoint int32) int32 { /* sqlite3.c:234172:12: */ +func fts5RollbackToMethod(tls *libc.TLS, pVtab uintptr, iSavepoint int32) int32 { /* sqlite3.c:234229:12: */ var pTab uintptr = pVtab _ = iSavepoint // Call below is a no-op for NDEBUG builds @@ -235930,7 +235959,7 @@ func fts5RollbackToMethod(tls *libc.TLS, pVtab uintptr, iSavepoint int32) int32 } // Register a new auxiliary function with global context pGlobal. -func fts5CreateAux(tls *libc.TLS, pApi uintptr, zName uintptr, pUserData uintptr, xFunc Fts5_extension_function, xDestroy uintptr) int32 { /* sqlite3.c:234183:12: */ +func fts5CreateAux(tls *libc.TLS, pApi uintptr, zName uintptr, pUserData uintptr, xFunc Fts5_extension_function, xDestroy uintptr) int32 { /* sqlite3.c:234240:12: */ var pGlobal uintptr = pApi var rc int32 = Xsqlite3_overload_function(tls, (*Fts5Global)(unsafe.Pointer(pGlobal)).Fdb, zName, -1) if rc == SQLITE_OK { @@ -235961,7 +235990,7 @@ func fts5CreateAux(tls *libc.TLS, pApi uintptr, zName uintptr, pUserData uintptr // Register a new tokenizer. This is the implementation of the // fts5_api.xCreateTokenizer() method. -func fts5CreateTokenizer(tls *libc.TLS, pApi uintptr, zName uintptr, pUserData uintptr, pTokenizer uintptr, xDestroy uintptr) int32 { /* sqlite3.c:234222:12: */ +func fts5CreateTokenizer(tls *libc.TLS, pApi uintptr, zName uintptr, pUserData uintptr, pTokenizer uintptr, xDestroy uintptr) int32 { /* sqlite3.c:234279:12: */ var pGlobal uintptr = pApi var pNew uintptr var nName Sqlite3_int64 // Size of zName and its \0 terminator @@ -235990,7 +236019,7 @@ func fts5CreateTokenizer(tls *libc.TLS, pApi uintptr, zName uintptr, pUserData u return rc } -func fts5LocateTokenizer(tls *libc.TLS, pGlobal uintptr, zName uintptr) uintptr { /* sqlite3.c:234257:28: */ +func fts5LocateTokenizer(tls *libc.TLS, pGlobal uintptr, zName uintptr) uintptr { /* sqlite3.c:234314:28: */ var pMod uintptr = uintptr(0) if zName == uintptr(0) { @@ -236008,7 +236037,7 @@ func fts5LocateTokenizer(tls *libc.TLS, pGlobal uintptr, zName uintptr) uintptr // Find a tokenizer. This is the implementation of the // fts5_api.xFindTokenizer() method. -func fts5FindTokenizer(tls *libc.TLS, pApi uintptr, zName uintptr, ppUserData uintptr, pTokenizer uintptr) int32 { /* sqlite3.c:234278:12: */ +func fts5FindTokenizer(tls *libc.TLS, pApi uintptr, zName uintptr, ppUserData uintptr, pTokenizer uintptr) int32 { /* sqlite3.c:234335:12: */ var rc int32 = SQLITE_OK var pMod uintptr @@ -236024,7 +236053,7 @@ func fts5FindTokenizer(tls *libc.TLS, pApi uintptr, zName uintptr, ppUserData ui return rc } -func sqlite3Fts5GetTokenizer(tls *libc.TLS, pGlobal uintptr, azArg uintptr, nArg int32, pConfig uintptr, pzErr uintptr) int32 { /* sqlite3.c:234299:12: */ +func sqlite3Fts5GetTokenizer(tls *libc.TLS, pGlobal uintptr, azArg uintptr, nArg int32, pConfig uintptr, pzErr uintptr) int32 { /* sqlite3.c:234356:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -236075,7 +236104,7 @@ func sqlite3Fts5GetTokenizer(tls *libc.TLS, pGlobal uintptr, azArg uintptr, nArg return rc } -func fts5ModuleDestroy(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:234336:13: */ +func fts5ModuleDestroy(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:234393:13: */ var pTok uintptr var pNextTok uintptr var pAux uintptr @@ -236101,7 +236130,7 @@ func fts5ModuleDestroy(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:234336:13: */ Xsqlite3_free(tls, pGlobal) } -func fts5Fts5Func(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:234356:13: */ +func fts5Fts5Func(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:234413:13: */ var pGlobal uintptr = Xsqlite3_user_data(tls, pCtx) var ppApi uintptr _ = nArg @@ -236113,7 +236142,7 @@ func fts5Fts5Func(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* s } // Implementation of fts5_source_id() function. -func fts5SourceIdFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apUnused uintptr) { /* sqlite3.c:234372:13: */ +func fts5SourceIdFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apUnused uintptr) { /* sqlite3.c:234429:13: */ _ = nArg _ = apUnused @@ -236122,7 +236151,7 @@ func fts5SourceIdFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apUnused uintptr) // Return true if zName is the extension on one of the shadow tables used // by this module. -func fts5ShadowName(tls *libc.TLS, zName uintptr) int32 { /* sqlite3.c:234386:12: */ +func fts5ShadowName(tls *libc.TLS, zName uintptr) int32 { /* sqlite3.c:234443:12: */ var i uint32 for i = uint32(0); uint64(i) < uint64(unsafe.Sizeof(azName2))/uint64(unsafe.Sizeof(uintptr(0))); i++ { if Xsqlite3_stricmp(tls, zName, azName2[i]) == 0 { @@ -236134,9 +236163,9 @@ func fts5ShadowName(tls *libc.TLS, zName uintptr) int32 { /* sqlite3.c:234386:12 var azName2 = [5]uintptr{ ts + 37155, ts + 35254, ts + 26254, ts + 35605, ts + 12725, -} /* sqlite3.c:234387:21 */ +} /* sqlite3.c:234444:21 */ -func fts5Init(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:234397:12: */ +func fts5Init(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:234454:12: */ var rc int32 var pGlobal uintptr = uintptr(0) @@ -236219,7 +236248,7 @@ var fts5Mod = Sqlite3_module{ /* xRelease */ FxRelease: 0, /* xRollbackTo */ FxRollbackTo: 0, /* xShadowName */ FxShadowName: 0, -} /* sqlite3.c:234398:31 */ +} /* sqlite3.c:234455:31 */ // The following functions are used to register the module with SQLite. If // this module is being built as part of the SQLite core (SQLITE_CORE is @@ -236228,7 +236257,7 @@ var fts5Mod = Sqlite3_module{ // Or, if this module is being built as a loadable extension, // sqlite3Fts5Init() is omitted and the two standard entry points // sqlite3_fts_init() and sqlite3_fts5_init() defined instead. -func Xsqlite3Fts5Init(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:234506:20: */ +func Xsqlite3Fts5Init(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:234563:20: */ return fts5Init(tls, db) } @@ -236236,7 +236265,7 @@ func Xsqlite3Fts5Init(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:234506:20: // Fts5Storage.pInsertDocsize - if they have not already been prepared. // Return SQLITE_OK if successful, or an SQLite error code if an error // occurs. -func fts5StorageGetStmt(tls *libc.TLS, p uintptr, eStmt int32, ppStmt uintptr, pzErrMsg uintptr) int32 { /* sqlite3.c:234564:12: */ +func fts5StorageGetStmt(tls *libc.TLS, p uintptr, eStmt int32, ppStmt uintptr, pzErrMsg uintptr) int32 { /* sqlite3.c:234621:12: */ bp := tls.Alloc(216) defer tls.Free(216) @@ -236337,7 +236366,7 @@ func fts5StorageGetStmt(tls *libc.TLS, p uintptr, eStmt int32, ppStmt uintptr, p return rc } -func fts5ExecPrintf(tls *libc.TLS, db uintptr, pzErr uintptr, zFormat uintptr, va uintptr) int32 { /* sqlite3.c:234667:12: */ +func fts5ExecPrintf(tls *libc.TLS, db uintptr, pzErr uintptr, zFormat uintptr, va uintptr) int32 { /* sqlite3.c:234724:12: */ var rc int32 var ap Va_list _ = ap // ... printf arguments @@ -236359,7 +236388,7 @@ func fts5ExecPrintf(tls *libc.TLS, db uintptr, pzErr uintptr, zFormat uintptr, v // Drop all shadow tables. Return SQLITE_OK if successful or an SQLite error // code otherwise. -func sqlite3Fts5DropAll(tls *libc.TLS, pConfig uintptr) int32 { /* sqlite3.c:234695:12: */ +func sqlite3Fts5DropAll(tls *libc.TLS, pConfig uintptr) int32 { /* sqlite3.c:234752:12: */ bp := tls.Alloc(80) defer tls.Free(80) @@ -236382,7 +236411,7 @@ func sqlite3Fts5DropAll(tls *libc.TLS, pConfig uintptr) int32 { /* sqlite3.c:234 return rc } -func fts5StorageRenameOne(tls *libc.TLS, pConfig uintptr, pRc uintptr, zTail uintptr, zName uintptr) { /* sqlite3.c:234719:13: */ +func fts5StorageRenameOne(tls *libc.TLS, pConfig uintptr, pRc uintptr, zTail uintptr, zName uintptr) { /* sqlite3.c:234776:13: */ bp := tls.Alloc(40) defer tls.Free(40) @@ -236393,7 +236422,7 @@ func fts5StorageRenameOne(tls *libc.TLS, pConfig uintptr, pRc uintptr, zTail uin } } -func sqlite3Fts5StorageRename(tls *libc.TLS, pStorage uintptr, zName uintptr) int32 { /* sqlite3.c:234733:12: */ +func sqlite3Fts5StorageRename(tls *libc.TLS, pStorage uintptr, zName uintptr) int32 { /* sqlite3.c:234790:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -236414,7 +236443,7 @@ func sqlite3Fts5StorageRename(tls *libc.TLS, pStorage uintptr, zName uintptr) in // Create the shadow table named zPost, with definition zDefn. Return // SQLITE_OK if successful, or an SQLite error code otherwise. -func sqlite3Fts5CreateTable(tls *libc.TLS, pConfig uintptr, zPost uintptr, zDefn uintptr, bWithout int32, pzErr uintptr) int32 { /* sqlite3.c:234753:12: */ +func sqlite3Fts5CreateTable(tls *libc.TLS, pConfig uintptr, zPost uintptr, zDefn uintptr, bWithout int32, pzErr uintptr) int32 { /* sqlite3.c:234810:12: */ bp := tls.Alloc(72) defer tls.Free(72) @@ -236444,7 +236473,7 @@ func sqlite3Fts5CreateTable(tls *libc.TLS, pConfig uintptr, zPost uintptr, zDefn // // If successful, set *pp to point to the new object and return SQLITE_OK. // Otherwise, set *pp to NULL and return an SQLite error code. -func sqlite3Fts5StorageOpen(tls *libc.TLS, pConfig uintptr, pIndex uintptr, bCreate int32, pp uintptr, pzErr uintptr) int32 { /* sqlite3.c:234788:12: */ +func sqlite3Fts5StorageOpen(tls *libc.TLS, pConfig uintptr, pIndex uintptr, bCreate int32, pp uintptr, pzErr uintptr) int32 { /* sqlite3.c:234845:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -236505,7 +236534,7 @@ func sqlite3Fts5StorageOpen(tls *libc.TLS, pConfig uintptr, pIndex uintptr, bCre } // Close a handle opened by an earlier call to sqlite3Fts5StorageOpen(). -func sqlite3Fts5StorageClose(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:234854:12: */ +func sqlite3Fts5StorageClose(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:234911:12: */ var rc int32 = SQLITE_OK if p != 0 { var i int32 @@ -236524,12 +236553,12 @@ type Fts5InsertCtx1 = struct { FpStorage uintptr FiCol int32 FszCol int32 -} /* sqlite3.c:234869:9 */ +} /* sqlite3.c:234926:9 */ -type Fts5InsertCtx = Fts5InsertCtx1 /* sqlite3.c:234869:30 */ +type Fts5InsertCtx = Fts5InsertCtx1 /* sqlite3.c:234926:30 */ // Tokenization callback used when inserting tokens into the FTS index. -func fts5StorageInsertCallback(tls *libc.TLS, pContext uintptr, tflags int32, pToken uintptr, nToken int32, iUnused1 int32, iUnused2 int32) int32 { /* sqlite3.c:234879:12: */ +func fts5StorageInsertCallback(tls *libc.TLS, pContext uintptr, tflags int32, pToken uintptr, nToken int32, iUnused1 int32, iUnused2 int32) int32 { /* sqlite3.c:234936:12: */ var pCtx uintptr = pContext var pIdx uintptr = (*Fts5Storage)(unsafe.Pointer((*Fts5InsertCtx)(unsafe.Pointer(pCtx)).FpStorage)).FpIndex _ = iUnused1 @@ -236546,7 +236575,7 @@ func fts5StorageInsertCallback(tls *libc.TLS, pContext uintptr, tflags int32, pT // If a row with rowid iDel is present in the %_content table, add the // delete-markers to the FTS index necessary to delete it. Do not actually // remove the %_content row at this time though. -func fts5StorageDeleteFromIndex(tls *libc.TLS, p uintptr, iDel I64, apVal uintptr) int32 { /* sqlite3.c:234902:12: */ +func fts5StorageDeleteFromIndex(tls *libc.TLS, p uintptr, iDel I64, apVal uintptr) int32 { /* sqlite3.c:234959:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -236615,7 +236644,7 @@ func fts5StorageDeleteFromIndex(tls *libc.TLS, p uintptr, iDel I64, apVal uintpt // // If there is no %_docsize table (as happens if the columnsize=0 option // is specified when the FTS5 table is created), this function is a no-op. -func fts5StorageInsertDocsize(tls *libc.TLS, p uintptr, iRowid I64, pBuf uintptr) int32 { /* sqlite3.c:234971:12: */ +func fts5StorageInsertDocsize(tls *libc.TLS, p uintptr, iRowid I64, pBuf uintptr) int32 { /* sqlite3.c:235028:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -236642,7 +236671,7 @@ func fts5StorageInsertDocsize(tls *libc.TLS, p uintptr, iRowid I64, pBuf uintptr // // Return SQLITE_OK if successful, or an SQLite error code if an error // occurs. -func fts5StorageLoadTotals(tls *libc.TLS, p uintptr, bCache int32) int32 { /* sqlite3.c:235001:12: */ +func fts5StorageLoadTotals(tls *libc.TLS, p uintptr, bCache int32) int32 { /* sqlite3.c:235058:12: */ var rc int32 = SQLITE_OK if (*Fts5Storage)(unsafe.Pointer(p)).FbTotalsValid == 0 { rc = sqlite3Fts5IndexGetAverages(tls, (*Fts5Storage)(unsafe.Pointer(p)).FpIndex, p+24, (*Fts5Storage)(unsafe.Pointer(p)).FaTotalSize) @@ -236656,7 +236685,7 @@ func fts5StorageLoadTotals(tls *libc.TLS, p uintptr, bCache int32) int32 { /* sq // // Return SQLITE_OK if successful, or an SQLite error code if an error // occurs. -func fts5StorageSaveTotals(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:235017:12: */ +func fts5StorageSaveTotals(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:235074:12: */ bp := tls.Alloc(20) defer tls.Free(20) @@ -236680,7 +236709,7 @@ func fts5StorageSaveTotals(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:235017 } // Remove a row from the FTS table. -func sqlite3Fts5StorageDelete(tls *libc.TLS, p uintptr, iDel I64, apVal uintptr) int32 { /* sqlite3.c:235039:12: */ +func sqlite3Fts5StorageDelete(tls *libc.TLS, p uintptr, iDel I64, apVal uintptr) int32 { /* sqlite3.c:235096:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -236721,7 +236750,7 @@ func sqlite3Fts5StorageDelete(tls *libc.TLS, p uintptr, iDel I64, apVal uintptr) } // Delete all entries in the FTS5 index. -func sqlite3Fts5StorageDeleteAll(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:235080:12: */ +func sqlite3Fts5StorageDeleteAll(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:235137:12: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -236753,7 +236782,7 @@ func sqlite3Fts5StorageDeleteAll(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c: return rc } -func sqlite3Fts5StorageRebuild(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:235111:12: */ +func sqlite3Fts5StorageRebuild(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:235168:12: */ bp := tls.Alloc(44) defer tls.Free(44) @@ -236817,15 +236846,15 @@ func sqlite3Fts5StorageRebuild(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:23 return *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) } -func sqlite3Fts5StorageOptimize(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:235166:12: */ +func sqlite3Fts5StorageOptimize(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:235223:12: */ return sqlite3Fts5IndexOptimize(tls, (*Fts5Storage)(unsafe.Pointer(p)).FpIndex) } -func sqlite3Fts5StorageMerge(tls *libc.TLS, p uintptr, nMerge int32) int32 { /* sqlite3.c:235170:12: */ +func sqlite3Fts5StorageMerge(tls *libc.TLS, p uintptr, nMerge int32) int32 { /* sqlite3.c:235227:12: */ return sqlite3Fts5IndexMerge(tls, (*Fts5Storage)(unsafe.Pointer(p)).FpIndex, nMerge) } -func sqlite3Fts5StorageReset(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:235174:12: */ +func sqlite3Fts5StorageReset(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:235231:12: */ return sqlite3Fts5IndexReset(tls, (*Fts5Storage)(unsafe.Pointer(p)).FpIndex) } @@ -236836,7 +236865,7 @@ func sqlite3Fts5StorageReset(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:2351 // // If the %_docsize table does not exist, SQLITE_MISMATCH is returned. In // this case the user is required to provide a rowid explicitly. -func fts5StorageNewRowid(tls *libc.TLS, p uintptr, piRowid uintptr) int32 { /* sqlite3.c:235187:12: */ +func fts5StorageNewRowid(tls *libc.TLS, p uintptr, piRowid uintptr) int32 { /* sqlite3.c:235244:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -236858,7 +236887,7 @@ func fts5StorageNewRowid(tls *libc.TLS, p uintptr, piRowid uintptr) int32 { /* s } // Insert a new row into the FTS content table. -func sqlite3Fts5StorageContentInsert(tls *libc.TLS, p uintptr, apVal uintptr, piRowid uintptr) int32 { /* sqlite3.c:235208:12: */ +func sqlite3Fts5StorageContentInsert(tls *libc.TLS, p uintptr, apVal uintptr, piRowid uintptr) int32 { /* sqlite3.c:235265:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -236890,7 +236919,7 @@ func sqlite3Fts5StorageContentInsert(tls *libc.TLS, p uintptr, apVal uintptr, pi } // Insert new entries into the FTS index and %_docsize table. -func sqlite3Fts5StorageIndexInsert(tls *libc.TLS, p uintptr, apVal uintptr, iRowid I64) int32 { /* sqlite3.c:235243:12: */ +func sqlite3Fts5StorageIndexInsert(tls *libc.TLS, p uintptr, apVal uintptr, iRowid I64) int32 { /* sqlite3.c:235300:12: */ bp := tls.Alloc(36) defer tls.Free(36) @@ -236935,7 +236964,7 @@ func sqlite3Fts5StorageIndexInsert(tls *libc.TLS, p uintptr, apVal uintptr, iRow return *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) } -func fts5StorageCount(tls *libc.TLS, p uintptr, zSuffix uintptr, pnRow uintptr) int32 { /* sqlite3.c:235286:12: */ +func fts5StorageCount(tls *libc.TLS, p uintptr, zSuffix uintptr, pnRow uintptr) int32 { /* sqlite3.c:235343:12: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -236970,13 +236999,13 @@ type Fts5IntegrityCtx1 = struct { Fcksum U64 FpTermset uintptr FpConfig uintptr -} /* sqlite3.c:235314:9 */ +} /* sqlite3.c:235371:9 */ // Context object used by sqlite3Fts5StorageIntegrity(). -type Fts5IntegrityCtx = Fts5IntegrityCtx1 /* sqlite3.c:235314:33 */ +type Fts5IntegrityCtx = Fts5IntegrityCtx1 /* sqlite3.c:235371:33 */ // Tokenization callback used by integrity check. -func fts5StorageIntegrityCallback(tls *libc.TLS, pContext uintptr, tflags int32, pToken uintptr, nToken int32, iUnused1 int32, iUnused2 int32) int32 { /* sqlite3.c:235328:12: */ +func fts5StorageIntegrityCallback(tls *libc.TLS, pContext uintptr, tflags int32, pToken uintptr, nToken int32, iUnused1 int32, iUnused2 int32) int32 { /* sqlite3.c:235385:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -237042,7 +237071,7 @@ func fts5StorageIntegrityCallback(tls *libc.TLS, pContext uintptr, tflags int32, // table. Return SQLITE_OK if they do, or SQLITE_CORRUPT if not. Return // some other SQLite error code if an error occurs while attempting to // determine this. -func sqlite3Fts5StorageIntegrity(tls *libc.TLS, p uintptr, iArg int32) int32 { /* sqlite3.c:235398:12: */ +func sqlite3Fts5StorageIntegrity(tls *libc.TLS, p uintptr, iArg int32) int32 { /* sqlite3.c:235455:12: */ bp := tls.Alloc(64) defer tls.Free(64) @@ -237167,7 +237196,7 @@ func sqlite3Fts5StorageIntegrity(tls *libc.TLS, p uintptr, iArg int32) int32 { / // Obtain an SQLite statement handle that may be used to read data from the // %_content table. -func sqlite3Fts5StorageStmt(tls *libc.TLS, p uintptr, eStmt int32, pp uintptr, pzErrMsg uintptr) int32 { /* sqlite3.c:235506:12: */ +func sqlite3Fts5StorageStmt(tls *libc.TLS, p uintptr, eStmt int32, pp uintptr, pzErrMsg uintptr) int32 { /* sqlite3.c:235563:12: */ var rc int32 rc = fts5StorageGetStmt(tls, p, eStmt, pp, pzErrMsg) @@ -237181,7 +237210,7 @@ func sqlite3Fts5StorageStmt(tls *libc.TLS, p uintptr, eStmt int32, pp uintptr, p // Release an SQLite statement handle obtained via an earlier call to // sqlite3Fts5StorageStmt(). The eStmt parameter passed to this function // must match that passed to the sqlite3Fts5StorageStmt() call. -func sqlite3Fts5StorageStmtRelease(tls *libc.TLS, p uintptr, eStmt int32, pStmt uintptr) { /* sqlite3.c:235530:13: */ +func sqlite3Fts5StorageStmtRelease(tls *libc.TLS, p uintptr, eStmt int32, pStmt uintptr) { /* sqlite3.c:235587:13: */ if *(*uintptr)(unsafe.Pointer(p + 40 + uintptr(eStmt)*8)) == uintptr(0) { Xsqlite3_reset(tls, pStmt) @@ -237191,7 +237220,7 @@ func sqlite3Fts5StorageStmtRelease(tls *libc.TLS, p uintptr, eStmt int32, pStmt } } -func fts5StorageDecodeSizeArray(tls *libc.TLS, aCol uintptr, nCol int32, aBlob uintptr, nBlob int32) int32 { /* sqlite3.c:235547:12: */ +func fts5StorageDecodeSizeArray(tls *libc.TLS, aCol uintptr, nCol int32, aBlob uintptr, nBlob int32) int32 { /* sqlite3.c:235604:12: */ var i int32 var iOff int32 = 0 for i = 0; i < nCol; i++ { @@ -237209,7 +237238,7 @@ func fts5StorageDecodeSizeArray(tls *libc.TLS, aCol uintptr, nCol int32, aBlob u // // An SQLite error code is returned if an error occurs, or SQLITE_OK // otherwise. -func sqlite3Fts5StorageDocsize(tls *libc.TLS, p uintptr, iRowid I64, aCol uintptr) int32 { /* sqlite3.c:235568:12: */ +func sqlite3Fts5StorageDocsize(tls *libc.TLS, p uintptr, iRowid I64, aCol uintptr) int32 { /* sqlite3.c:235625:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -237240,7 +237269,7 @@ func sqlite3Fts5StorageDocsize(tls *libc.TLS, p uintptr, iRowid I64, aCol uintpt return rc } -func sqlite3Fts5StorageSize(tls *libc.TLS, p uintptr, iCol int32, pnToken uintptr) int32 { /* sqlite3.c:235597:12: */ +func sqlite3Fts5StorageSize(tls *libc.TLS, p uintptr, iCol int32, pnToken uintptr) int32 { /* sqlite3.c:235654:12: */ var rc int32 = fts5StorageLoadTotals(tls, p, 0) if rc == SQLITE_OK { *(*I64)(unsafe.Pointer(pnToken)) = int64(0) @@ -237258,7 +237287,7 @@ func sqlite3Fts5StorageSize(tls *libc.TLS, p uintptr, iCol int32, pnToken uintpt return rc } -func sqlite3Fts5StorageRowCount(tls *libc.TLS, p uintptr, pnRow uintptr) int32 { /* sqlite3.c:235615:12: */ +func sqlite3Fts5StorageRowCount(tls *libc.TLS, p uintptr, pnRow uintptr) int32 { /* sqlite3.c:235672:12: */ var rc int32 = fts5StorageLoadTotals(tls, p, 0) if rc == SQLITE_OK { // nTotalRow being zero does not necessarily indicate a corrupt @@ -237275,7 +237304,7 @@ func sqlite3Fts5StorageRowCount(tls *libc.TLS, p uintptr, pnRow uintptr) int32 { } // Flush any data currently held in-memory to disk. -func sqlite3Fts5StorageSync(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:235632:12: */ +func sqlite3Fts5StorageSync(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:235689:12: */ var rc int32 = SQLITE_OK var iLastRowid I64 = Xsqlite3_last_insert_rowid(tls, (*Fts5Config)(unsafe.Pointer((*Fts5Storage)(unsafe.Pointer(p)).FpConfig)).Fdb) if (*Fts5Storage)(unsafe.Pointer(p)).FbTotalsValid != 0 { @@ -237289,12 +237318,12 @@ func sqlite3Fts5StorageSync(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:23563 return rc } -func sqlite3Fts5StorageRollback(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:235646:12: */ +func sqlite3Fts5StorageRollback(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:235703:12: */ (*Fts5Storage)(unsafe.Pointer(p)).FbTotalsValid = 0 return sqlite3Fts5IndexRollback(tls, (*Fts5Storage)(unsafe.Pointer(p)).FpIndex) } -func sqlite3Fts5StorageConfigValue(tls *libc.TLS, p uintptr, z uintptr, pVal uintptr, iVal int32) int32 { /* sqlite3.c:235651:12: */ +func sqlite3Fts5StorageConfigValue(tls *libc.TLS, p uintptr, z uintptr, pVal uintptr, iVal int32) int32 { /* sqlite3.c:235708:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -237349,13 +237378,13 @@ var aAsciiTokenChar = [128]uint8{ uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), // 0x50..0x5F uint8(0), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), // 0x60..0x6F uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), // 0x70..0x7F -} /* sqlite3.c:235704:22 */ +} /* sqlite3.c:235761:22 */ -type AsciiTokenizer1 = struct{ FaTokenChar [128]uint8 } /* sqlite3.c:235715:9 */ +type AsciiTokenizer1 = struct{ FaTokenChar [128]uint8 } /* sqlite3.c:235772:9 */ -type AsciiTokenizer = AsciiTokenizer1 /* sqlite3.c:235715:31 */ +type AsciiTokenizer = AsciiTokenizer1 /* sqlite3.c:235772:31 */ -func fts5AsciiAddExceptions(tls *libc.TLS, p uintptr, zArg uintptr, bTokenChars int32) { /* sqlite3.c:235720:13: */ +func fts5AsciiAddExceptions(tls *libc.TLS, p uintptr, zArg uintptr, bTokenChars int32) { /* sqlite3.c:235777:13: */ var i int32 for i = 0; *(*int8)(unsafe.Pointer(zArg + uintptr(i))) != 0; i++ { if int32(*(*int8)(unsafe.Pointer(zArg + uintptr(i))))&0x80 == 0 { @@ -237365,12 +237394,12 @@ func fts5AsciiAddExceptions(tls *libc.TLS, p uintptr, zArg uintptr, bTokenChars } // Delete a "ascii" tokenizer. -func fts5AsciiDelete(tls *libc.TLS, p uintptr) { /* sqlite3.c:235736:13: */ +func fts5AsciiDelete(tls *libc.TLS, p uintptr) { /* sqlite3.c:235793:13: */ Xsqlite3_free(tls, p) } // Create an "ascii" tokenizer. -func fts5AsciiCreate(tls *libc.TLS, pUnused uintptr, azArg uintptr, nArg int32, ppOut uintptr) int32 { /* sqlite3.c:235743:12: */ +func fts5AsciiCreate(tls *libc.TLS, pUnused uintptr, azArg uintptr, nArg int32, ppOut uintptr) int32 { /* sqlite3.c:235800:12: */ var rc int32 = SQLITE_OK var p uintptr = uintptr(0) _ = pUnused @@ -237405,7 +237434,7 @@ func fts5AsciiCreate(tls *libc.TLS, pUnused uintptr, azArg uintptr, nArg int32, return rc } -func asciiFold(tls *libc.TLS, aOut uintptr, aIn uintptr, nByte int32) { /* sqlite3.c:235784:13: */ +func asciiFold(tls *libc.TLS, aOut uintptr, aIn uintptr, nByte int32) { /* sqlite3.c:235841:13: */ var i int32 for i = 0; i < nByte; i++ { var c int8 = *(*int8)(unsafe.Pointer(aIn + uintptr(i))) @@ -237417,7 +237446,7 @@ func asciiFold(tls *libc.TLS, aOut uintptr, aIn uintptr, nByte int32) { /* sqlit } // Tokenize some text using the ascii tokenizer. -func fts5AsciiTokenize(tls *libc.TLS, pTokenizer uintptr, pCtx uintptr, iUnused int32, pText uintptr, nText int32, xToken uintptr) int32 { /* sqlite3.c:235796:12: */ +func fts5AsciiTokenize(tls *libc.TLS, pTokenizer uintptr, pCtx uintptr, iUnused int32, pText uintptr, nText int32, xToken uintptr) int32 { /* sqlite3.c:235853:12: */ bp := tls.Alloc(64) defer tls.Free(64) @@ -237498,7 +237527,7 @@ type Unicode61Tokenizer1 = struct { F__ccgo_pad1 [4]byte FaiException uintptr FaCategory [32]uint8 -} /* sqlite3.c:235911:9 */ +} /* sqlite3.c:235968:9 */ // ************************************************************************* // @@ -237508,11 +237537,11 @@ type Unicode61Tokenizer1 = struct { // from the sqlite3 source file utf.c. If this file is compiled as part // of the amalgamation, they are not required. -type Unicode61Tokenizer = Unicode61Tokenizer1 /* sqlite3.c:235911:35 */ +type Unicode61Tokenizer = Unicode61Tokenizer1 /* sqlite3.c:235968:35 */ // Values for eRemoveDiacritic (must match internals of fts5_unicode2.c) -func fts5UnicodeAddExceptions(tls *libc.TLS, p uintptr, z uintptr, bTokenChars int32) int32 { /* sqlite3.c:235928:12: */ +func fts5UnicodeAddExceptions(tls *libc.TLS, p uintptr, z uintptr, bTokenChars int32) int32 { /* sqlite3.c:235985:12: */ var rc int32 = SQLITE_OK var n int32 = int32(libc.Xstrlen(tls, z)) var aNew uintptr @@ -237567,7 +237596,7 @@ func fts5UnicodeAddExceptions(tls *libc.TLS, p uintptr, z uintptr, bTokenChars i } // Return true if the p->aiException[] array contains the value iCode. -func fts5UnicodeIsException(tls *libc.TLS, p uintptr, iCode int32) int32 { /* sqlite3.c:235978:12: */ +func fts5UnicodeIsException(tls *libc.TLS, p uintptr, iCode int32) int32 { /* sqlite3.c:236035:12: */ if (*Unicode61Tokenizer)(unsafe.Pointer(p)).FnException > 0 { var a uintptr = (*Unicode61Tokenizer)(unsafe.Pointer(p)).FaiException var iLo int32 = 0 @@ -237589,7 +237618,7 @@ func fts5UnicodeIsException(tls *libc.TLS, p uintptr, iCode int32) int32 { /* sq } // Delete a "unicode61" tokenizer. -func fts5UnicodeDelete(tls *libc.TLS, pTok uintptr) { /* sqlite3.c:236002:13: */ +func fts5UnicodeDelete(tls *libc.TLS, pTok uintptr) { /* sqlite3.c:236059:13: */ if pTok != 0 { var p uintptr = pTok Xsqlite3_free(tls, (*Unicode61Tokenizer)(unsafe.Pointer(p)).FaiException) @@ -237599,7 +237628,7 @@ func fts5UnicodeDelete(tls *libc.TLS, pTok uintptr) { /* sqlite3.c:236002:13: */ return } -func unicodeSetCategories(tls *libc.TLS, p uintptr, zCat uintptr) int32 { /* sqlite3.c:236012:12: */ +func unicodeSetCategories(tls *libc.TLS, p uintptr, zCat uintptr) int32 { /* sqlite3.c:236069:12: */ var z uintptr = zCat for *(*int8)(unsafe.Pointer(z)) != 0 { @@ -237619,7 +237648,7 @@ func unicodeSetCategories(tls *libc.TLS, p uintptr, zCat uintptr) int32 { /* sql } // Create a "unicode61" tokenizer. -func fts5UnicodeCreate(tls *libc.TLS, pUnused uintptr, azArg uintptr, nArg int32, ppOut uintptr) int32 { /* sqlite3.c:236030:12: */ +func fts5UnicodeCreate(tls *libc.TLS, pUnused uintptr, azArg uintptr, nArg int32, ppOut uintptr) int32 { /* sqlite3.c:236087:12: */ var rc int32 = SQLITE_OK // Return code var p uintptr = uintptr(0) // New tokenizer object @@ -237687,12 +237716,12 @@ func fts5UnicodeCreate(tls *libc.TLS, pUnused uintptr, azArg uintptr, nArg int32 // Return true if, for the purposes of tokenizing with the tokenizer // passed as the first argument, codepoint iCode is considered a token // character (not a separator). -func fts5UnicodeIsAlnum(tls *libc.TLS, p uintptr, iCode int32) int32 { /* sqlite3.c:236110:12: */ +func fts5UnicodeIsAlnum(tls *libc.TLS, p uintptr, iCode int32) int32 { /* sqlite3.c:236167:12: */ return int32(*(*uint8)(unsafe.Pointer(p + 160 + uintptr(sqlite3Fts5UnicodeCategory(tls, U32(iCode)))))) ^ fts5UnicodeIsException(tls, p, iCode) } -func fts5UnicodeTokenize(tls *libc.TLS, pTokenizer uintptr, pCtx uintptr, iUnused int32, pText uintptr, nText int32, xToken uintptr) int32 { /* sqlite3.c:236117:12: */ +func fts5UnicodeTokenize(tls *libc.TLS, pTokenizer uintptr, pCtx uintptr, iUnused int32, pText uintptr, nText int32, xToken uintptr) int32 { /* sqlite3.c:236174:12: */ var p uintptr var rc int32 var a uintptr @@ -237948,7 +237977,7 @@ type PorterTokenizer1 = struct { Ftokenizer Fts5_tokenizer FpTokenizer uintptr FaBuf [128]int8 -} /* sqlite3.c:236229:9 */ +} /* sqlite3.c:236286:9 */ // ************************************************************************* // @@ -237957,10 +237986,10 @@ type PorterTokenizer1 = struct { // Any tokens larger than this (in bytes) are passed through without // stemming. -type PorterTokenizer = PorterTokenizer1 /* sqlite3.c:236229:32 */ +type PorterTokenizer = PorterTokenizer1 /* sqlite3.c:236286:32 */ // Delete a "porter" tokenizer. -func fts5PorterDelete(tls *libc.TLS, pTok uintptr) { /* sqlite3.c:236239:13: */ +func fts5PorterDelete(tls *libc.TLS, pTok uintptr) { /* sqlite3.c:236296:13: */ if pTok != 0 { var p uintptr = pTok if (*PorterTokenizer)(unsafe.Pointer(p)).FpTokenizer != 0 { @@ -237971,7 +238000,7 @@ func fts5PorterDelete(tls *libc.TLS, pTok uintptr) { /* sqlite3.c:236239:13: */ } // Create a "porter" tokenizer. -func fts5PorterCreate(tls *libc.TLS, pCtx uintptr, azArg uintptr, nArg int32, ppOut uintptr) int32 { /* sqlite3.c:236252:12: */ +func fts5PorterCreate(tls *libc.TLS, pCtx uintptr, azArg uintptr, nArg int32, ppOut uintptr) int32 { /* sqlite3.c:236309:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -238024,9 +238053,9 @@ type PorterContext1 = struct { FpCtx uintptr FxToken uintptr FaBuf uintptr -} /* sqlite3.c:236288:9 */ +} /* sqlite3.c:236345:9 */ -type PorterContext = PorterContext1 /* sqlite3.c:236288:30 */ +type PorterContext = PorterContext1 /* sqlite3.c:236345:30 */ type PorterRule1 = struct { FzSuffix uintptr @@ -238036,15 +238065,15 @@ type PorterRule1 = struct { FzOutput uintptr FnOutput int32 F__ccgo_pad2 [4]byte -} /* sqlite3.c:236295:9 */ +} /* sqlite3.c:236352:9 */ -type PorterRule = PorterRule1 /* sqlite3.c:236295:27 */ +type PorterRule = PorterRule1 /* sqlite3.c:236352:27 */ -func fts5PorterIsVowel(tls *libc.TLS, c int8, bYIsVowel int32) int32 { /* sqlite3.c:236330:12: */ +func fts5PorterIsVowel(tls *libc.TLS, c int8, bYIsVowel int32) int32 { /* sqlite3.c:236387:12: */ return libc.Bool32(int32(c) == 'a' || int32(c) == 'e' || int32(c) == 'i' || int32(c) == 'o' || int32(c) == 'u' || bYIsVowel != 0 && int32(c) == 'y') } -func fts5PorterGobbleVC(tls *libc.TLS, zStem uintptr, nStem int32, bPrevCons int32) int32 { /* sqlite3.c:236336:12: */ +func fts5PorterGobbleVC(tls *libc.TLS, zStem uintptr, nStem int32, bPrevCons int32) int32 { /* sqlite3.c:236393:12: */ var i int32 var bCons int32 = bPrevCons @@ -238065,12 +238094,12 @@ func fts5PorterGobbleVC(tls *libc.TLS, zStem uintptr, nStem int32, bPrevCons int } // porter rule condition: (m > 0) -func fts5Porter_MGt0(tls *libc.TLS, zStem uintptr, nStem int32) int32 { /* sqlite3.c:236353:12: */ +func fts5Porter_MGt0(tls *libc.TLS, zStem uintptr, nStem int32) int32 { /* sqlite3.c:236410:12: */ return libc.BoolInt32(!!(fts5PorterGobbleVC(tls, zStem, nStem, 0) != 0)) } // porter rule condition: (m > 1) -func fts5Porter_MGt1(tls *libc.TLS, zStem uintptr, nStem int32) int32 { /* sqlite3.c:236358:12: */ +func fts5Porter_MGt1(tls *libc.TLS, zStem uintptr, nStem int32) int32 { /* sqlite3.c:236415:12: */ var n int32 n = fts5PorterGobbleVC(tls, zStem, nStem, 0) if n != 0 && fts5PorterGobbleVC(tls, zStem+uintptr(n), nStem-n, 1) != 0 { @@ -238080,7 +238109,7 @@ func fts5Porter_MGt1(tls *libc.TLS, zStem uintptr, nStem int32) int32 { /* sqlit } // porter rule condition: (m = 1) -func fts5Porter_MEq1(tls *libc.TLS, zStem uintptr, nStem int32) int32 { /* sqlite3.c:236368:12: */ +func fts5Porter_MEq1(tls *libc.TLS, zStem uintptr, nStem int32) int32 { /* sqlite3.c:236425:12: */ var n int32 n = fts5PorterGobbleVC(tls, zStem, nStem, 0) if n != 0 && 0 == fts5PorterGobbleVC(tls, zStem+uintptr(n), nStem-n, 1) { @@ -238090,7 +238119,7 @@ func fts5Porter_MEq1(tls *libc.TLS, zStem uintptr, nStem int32) int32 { /* sqlit } // porter rule condition: (*o) -func fts5Porter_Ostar(tls *libc.TLS, zStem uintptr, nStem int32) int32 { /* sqlite3.c:236378:12: */ +func fts5Porter_Ostar(tls *libc.TLS, zStem uintptr, nStem int32) int32 { /* sqlite3.c:236435:12: */ if int32(*(*int8)(unsafe.Pointer(zStem + uintptr(nStem-1)))) == 'w' || int32(*(*int8)(unsafe.Pointer(zStem + uintptr(nStem-1)))) == 'x' || int32(*(*int8)(unsafe.Pointer(zStem + uintptr(nStem-1)))) == 'y' { return 0 } else { @@ -238108,14 +238137,14 @@ func fts5Porter_Ostar(tls *libc.TLS, zStem uintptr, nStem int32) int32 { /* sqli } // porter rule condition: (m > 1 and (*S or *T)) -func fts5Porter_MGt1_and_S_or_T(tls *libc.TLS, zStem uintptr, nStem int32) int32 { /* sqlite3.c:236395:12: */ +func fts5Porter_MGt1_and_S_or_T(tls *libc.TLS, zStem uintptr, nStem int32) int32 { /* sqlite3.c:236452:12: */ return libc.Bool32((int32(*(*int8)(unsafe.Pointer(zStem + uintptr(nStem-1)))) == 's' || int32(*(*int8)(unsafe.Pointer(zStem + uintptr(nStem-1)))) == 't') && fts5Porter_MGt1(tls, zStem, nStem) != 0) } // porter rule condition: (*v*) -func fts5Porter_Vowel(tls *libc.TLS, zStem uintptr, nStem int32) int32 { /* sqlite3.c:236402:12: */ +func fts5Porter_Vowel(tls *libc.TLS, zStem uintptr, nStem int32) int32 { /* sqlite3.c:236459:12: */ var i int32 for i = 0; i < nStem; i++ { if fts5PorterIsVowel(tls, *(*int8)(unsafe.Pointer(zStem + uintptr(i))), libc.Bool32(i > 0)) != 0 { @@ -238130,7 +238159,7 @@ func fts5Porter_Vowel(tls *libc.TLS, zStem uintptr, nStem int32) int32 { /* sqli // // GENERATED CODE STARTS HERE (mkportersteps.tcl) -func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqlite3.c:236418:12: */ +func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqlite3.c:236475:12: */ var ret int32 = 0 var nBuf int32 = *(*int32)(unsafe.Pointer(pnBuf)) switch int32(*(*int8)(unsafe.Pointer(aBuf + uintptr(nBuf-2)))) { @@ -238263,7 +238292,7 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli return ret } -func fts5PorterStep1B2(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqlite3.c:236552:12: */ +func fts5PorterStep1B2(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqlite3.c:236609:12: */ var ret int32 = 0 var nBuf int32 = *(*int32)(unsafe.Pointer(pnBuf)) switch int32(*(*int8)(unsafe.Pointer(aBuf + uintptr(nBuf-2)))) { @@ -238296,7 +238325,7 @@ func fts5PorterStep1B2(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sq return ret } -func fts5PorterStep2(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqlite3.c:236586:12: */ +func fts5PorterStep2(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqlite3.c:236643:12: */ var ret int32 = 0 var nBuf int32 = *(*int32)(unsafe.Pointer(pnBuf)) switch int32(*(*int8)(unsafe.Pointer(aBuf + uintptr(nBuf-2)))) { @@ -238442,7 +238471,7 @@ func fts5PorterStep2(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli return ret } -func fts5PorterStep3(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqlite3.c:236733:12: */ +func fts5PorterStep3(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqlite3.c:236790:12: */ var ret int32 = 0 var nBuf int32 = *(*int32)(unsafe.Pointer(pnBuf)) switch int32(*(*int8)(unsafe.Pointer(aBuf + uintptr(nBuf-2)))) { @@ -238507,7 +238536,7 @@ func fts5PorterStep3(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli return ret } -func fts5PorterStep1B(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqlite3.c:236799:12: */ +func fts5PorterStep1B(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqlite3.c:236856:12: */ var ret int32 = 0 var nBuf int32 = *(*int32)(unsafe.Pointer(pnBuf)) switch int32(*(*int8)(unsafe.Pointer(aBuf + uintptr(nBuf-2)))) { @@ -238544,7 +238573,7 @@ func fts5PorterStep1B(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sql // // -func fts5PorterStep1A(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) { /* sqlite3.c:236836:13: */ +func fts5PorterStep1A(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) { /* sqlite3.c:236893:13: */ var nBuf int32 = *(*int32)(unsafe.Pointer(pnBuf)) if int32(*(*int8)(unsafe.Pointer(aBuf + uintptr(nBuf-1)))) == 's' { if int32(*(*int8)(unsafe.Pointer(aBuf + uintptr(nBuf-2)))) == 'e' { @@ -238560,7 +238589,7 @@ func fts5PorterStep1A(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) { /* sqlite3.c } } -func fts5PorterCb(tls *libc.TLS, pCtx uintptr, tflags int32, pToken uintptr, nToken int32, iStart int32, iEnd int32) int32 { /* sqlite3.c:236854:12: */ +func fts5PorterCb(tls *libc.TLS, pCtx uintptr, tflags int32, pToken uintptr, nToken int32, iStart int32, iEnd int32) int32 { /* sqlite3.c:236911:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -238658,7 +238687,7 @@ pass_through: } // Tokenize using the porter tokenizer. -func fts5PorterTokenize(tls *libc.TLS, pTokenizer uintptr, pCtx uintptr, flags int32, pText uintptr, nText int32, xToken uintptr) int32 { /* sqlite3.c:236923:12: */ +func fts5PorterTokenize(tls *libc.TLS, pTokenizer uintptr, pCtx uintptr, flags int32, pText uintptr, nText int32, xToken uintptr) int32 { /* sqlite3.c:236980:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -238679,20 +238708,20 @@ func fts5PorterTokenize(tls *libc.TLS, pTokenizer uintptr, pCtx uintptr, flags i // ************************************************************************* // // Start of trigram implementation. -type TrigramTokenizer1 = struct{ FbFold int32 } /* sqlite3.c:236943:9 */ +type TrigramTokenizer1 = struct{ FbFold int32 } /* sqlite3.c:237000:9 */ // ************************************************************************* // // Start of trigram implementation. -type TrigramTokenizer = TrigramTokenizer1 /* sqlite3.c:236943:33 */ +type TrigramTokenizer = TrigramTokenizer1 /* sqlite3.c:237000:33 */ // Free a trigram tokenizer. -func fts5TriDelete(tls *libc.TLS, p uintptr) { /* sqlite3.c:236951:13: */ +func fts5TriDelete(tls *libc.TLS, p uintptr) { /* sqlite3.c:237008:13: */ Xsqlite3_free(tls, p) } // Allocate a trigram tokenizer. -func fts5TriCreate(tls *libc.TLS, pUnused uintptr, azArg uintptr, nArg int32, ppOut uintptr) int32 { /* sqlite3.c:236958:12: */ +func fts5TriCreate(tls *libc.TLS, pUnused uintptr, azArg uintptr, nArg int32, ppOut uintptr) int32 { /* sqlite3.c:237015:12: */ var rc int32 = SQLITE_OK var pNew uintptr = Xsqlite3_malloc(tls, int32(unsafe.Sizeof(TrigramTokenizer{}))) _ = pUnused @@ -238723,7 +238752,7 @@ func fts5TriCreate(tls *libc.TLS, pUnused uintptr, azArg uintptr, nArg int32, pp } // Trigram tokenizer tokenize routine. -func fts5TriTokenize(tls *libc.TLS, pTok uintptr, pCtx uintptr, unusedFlags int32, pText uintptr, nText int32, xToken uintptr) int32 { /* sqlite3.c:236996:12: */ +func fts5TriTokenize(tls *libc.TLS, pTok uintptr, pCtx uintptr, unusedFlags int32, pText uintptr, nText int32, xToken uintptr) int32 { /* sqlite3.c:237053:12: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -238876,7 +238905,7 @@ func fts5TriTokenize(tls *libc.TLS, pTok uintptr, pCtx uintptr, unusedFlags int3 // "trigram" tokenizer, case_sensitive=1 - FTS5_PATTERN_GLOB // "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) int32 { /* sqlite3.c:237056:12: */ +func sqlite3Fts5TokenizerPattern(tls *libc.TLS, xCreate uintptr, pTok uintptr) int32 { /* sqlite3.c:237113:12: */ if xCreate == *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 }{fts5TriCreate})) { @@ -238890,7 +238919,7 @@ func sqlite3Fts5TokenizerPattern(tls *libc.TLS, xCreate uintptr, pTok uintptr) i } // Register all built-in tokenizers with FTS5. -func sqlite3Fts5TokenizerInit(tls *libc.TLS, pApi uintptr) int32 { /* sqlite3.c:237070:12: */ +func sqlite3Fts5TokenizerInit(tls *libc.TLS, pApi uintptr) int32 { /* sqlite3.c:237127:12: */ bp := tls.Alloc(128) defer tls.Free(128) @@ -238936,7 +238965,7 @@ func sqlite3Fts5TokenizerInit(tls *libc.TLS, pApi uintptr) int32 { /* sqlite3.c: type BuiltinTokenizer = struct { FzName uintptr Fx Fts5_tokenizer -} /* sqlite3.c:237071:3 */ +} /* sqlite3.c:237128:3 */ // 2012-05-25 // @@ -238959,7 +238988,7 @@ type BuiltinTokenizer = struct { // SMALL LETTER E WITH DIAERESIS" - return 65 ("LATIN SMALL LETTER // E"). The resuls of passing a codepoint that corresponds to an // uppercase letter are undefined. -func fts5_remove_diacritic(tls *libc.TLS, c int32, bComplex int32) int32 { /* sqlite3.c:237126:12: */ +func fts5_remove_diacritic(tls *libc.TLS, c int32, bComplex int32) int32 { /* sqlite3.c:237183:12: */ bp := tls.Alloc(378) defer tls.Free(378) @@ -239030,7 +239059,7 @@ func fts5_remove_diacritic(tls *libc.TLS, c int32, bComplex int32) int32 { /* sq // Return true if the argument interpreted as a unicode codepoint // is a diacritical modifier character. -func sqlite3Fts5UnicodeIsdiacritic(tls *libc.TLS, c int32) int32 { /* sqlite3.c:237193:12: */ +func sqlite3Fts5UnicodeIsdiacritic(tls *libc.TLS, c int32) int32 { /* sqlite3.c:237250:12: */ var mask0 uint32 = uint32(0x08029FDF) var mask1 uint32 = uint32(0x000361F8) if c < 768 || c > 817 { @@ -239049,7 +239078,7 @@ func sqlite3Fts5UnicodeIsdiacritic(tls *libc.TLS, c int32) int32 { /* sqlite3.c: // // The results are undefined if the value passed to this function // is less than zero. -func sqlite3Fts5UnicodeFold(tls *libc.TLS, c int32, eRemoveDiacritic int32) int32 { /* sqlite3.c:237212:12: */ +func sqlite3Fts5UnicodeFold(tls *libc.TLS, c int32, eRemoveDiacritic int32) int32 { /* sqlite3.c:237269:12: */ var ret int32 = c @@ -239110,7 +239139,7 @@ type TableEntry = struct { FiCode uint16 Fflags uint8 FnRange uint8 -} /* sqlite3.c:237230:16 */ +} /* sqlite3.c:237287:16 */ var aEntry = [163]TableEntry{ {FiCode: uint16(65), Fflags: uint8(14), FnRange: uint8(26)}, {FiCode: uint16(181), Fflags: uint8(64), FnRange: uint8(1)}, {FiCode: uint16(192), Fflags: uint8(14), FnRange: uint8(23)}, @@ -239168,7 +239197,7 @@ var aEntry = [163]TableEntry{ {FiCode: uint16(42878), Fflags: uint8(1), FnRange: uint8(10)}, {FiCode: uint16(42891), FnRange: uint8(1)}, {FiCode: uint16(42893), Fflags: uint8(74), FnRange: uint8(1)}, {FiCode: uint16(42896), Fflags: uint8(1), FnRange: uint8(4)}, {FiCode: uint16(42912), Fflags: uint8(1), FnRange: uint8(10)}, {FiCode: uint16(42922), Fflags: uint8(72), FnRange: uint8(1)}, {FiCode: uint16(65313), Fflags: uint8(14), FnRange: uint8(26)}, -} /* sqlite3.c:237234:5 */ +} /* sqlite3.c:237291:5 */ var aiOff = [77]uint16{ uint16(1), uint16(2), uint16(8), uint16(15), uint16(16), uint16(26), uint16(28), uint16(32), uint16(37), uint16(38), uint16(40), uint16(48), uint16(63), uint16(64), uint16(69), uint16(71), @@ -239180,9 +239209,9 @@ var aiOff = [77]uint16{ uint16(65408), uint16(65410), uint16(65415), uint16(65424), uint16(65436), uint16(65439), uint16(65450), uint16(65462), uint16(65472), uint16(65476), uint16(65478), uint16(65480), uint16(65482), uint16(65488), uint16(65506), uint16(65511), uint16(65514), uint16(65521), uint16(65527), uint16(65528), uint16(65529), -} /* sqlite3.c:237291:31 */ +} /* sqlite3.c:237348:31 */ -func sqlite3Fts5UnicodeCatParse(tls *libc.TLS, zCat uintptr, aArray uintptr) int32 { /* sqlite3.c:237348:12: */ +func sqlite3Fts5UnicodeCatParse(tls *libc.TLS, zCat uintptr, aArray uintptr) int32 { /* sqlite3.c:237405:12: */ *(*U8)(unsafe.Pointer(aArray)) = U8(1) switch int32(*(*int8)(unsafe.Pointer(zCat))) { case 'C': @@ -239379,7 +239408,7 @@ func sqlite3Fts5UnicodeCatParse(tls *libc.TLS, zCat uintptr, aArray uintptr) int var aFts5UnicodeBlock = [17]U16{ U16(0), U16(1471), U16(1753), U16(1760), U16(1760), U16(1760), U16(1760), U16(1760), U16(1760), U16(1760), U16(1760), U16(1760), U16(1760), U16(1760), U16(1760), U16(1763), U16(1765), -} /* sqlite3.c:237466:12 */ +} /* sqlite3.c:237523:12 */ var aFts5UnicodeMap = [1765]U16{ U16(0), U16(32), U16(33), U16(36), U16(37), U16(40), U16(41), U16(42), U16(43), U16(44), U16(45), U16(46), U16(48), U16(58), U16(60), U16(63), U16(65), U16(91), U16(92), U16(93), @@ -239558,7 +239587,7 @@ var aFts5UnicodeMap = [1765]U16{ U16(62406), U16(62432), U16(62464), U16(62528), U16(62530), U16(62713), U16(62720), U16(62784), U16(62800), U16(62971), U16(63045), U16(63104), U16(63232), U16(0), U16(42710), U16(42752), U16(46900), U16(46912), U16(47133), U16(63488), U16(1), U16(32), U16(256), U16(0), U16(65533), -} /* sqlite3.c:237470:12 */ +} /* sqlite3.c:237527:12 */ var aFts5UnicodeData = [1765]U16{ U16(1025), U16(61), U16(117), U16(55), U16(117), U16(54), U16(50), U16(53), U16(57), U16(53), U16(49), U16(85), U16(333), U16(85), U16(121), U16(85), U16(841), U16(54), U16(53), U16(50), @@ -239737,9 +239766,9 @@ var aFts5UnicodeData = [1765]U16{ U16(186), U16(570), U16(2042), U16(58), U16(5850), U16(154), U16(2010), U16(154), U16(794), U16(2266), U16(378), U16(2266), U16(3738), U16(39), U16(39), U16(39), U16(39), U16(39), U16(39), U16(17351), U16(34), U16(3074), U16(7692), U16(63), U16(63), -} /* sqlite3.c:237649:12 */ +} /* sqlite3.c:237706:12 */ -func sqlite3Fts5UnicodeCategory(tls *libc.TLS, iCode U32) int32 { /* sqlite3.c:237829:12: */ +func sqlite3Fts5UnicodeCategory(tls *libc.TLS, iCode U32) int32 { /* sqlite3.c:237886:12: */ var iRes int32 = -1 var iHi int32 var iLo int32 @@ -239779,7 +239808,7 @@ func sqlite3Fts5UnicodeCategory(tls *libc.TLS, iCode U32) int32 { /* sqlite3.c:2 return 9 } -func sqlite3Fts5UnicodeAscii(tls *libc.TLS, aArray uintptr, aAscii uintptr) { /* sqlite3.c:237860:13: */ +func sqlite3Fts5UnicodeAscii(tls *libc.TLS, aArray uintptr, aAscii uintptr) { /* sqlite3.c:237917:13: */ var i int32 = 0 var iTbl int32 = 0 for i < 128 { @@ -239811,7 +239840,7 @@ func sqlite3Fts5UnicodeAscii(tls *libc.TLS, aArray uintptr, aAscii uintptr) { /* // This is a copy of the sqlite3GetVarint32() routine from the SQLite core. // Except, this version does handle the single byte case that the core // version depends on being handled before its function is called. -func sqlite3Fts5GetVarint32(tls *libc.TLS, p uintptr, v uintptr) int32 { /* sqlite3.c:237898:12: */ +func sqlite3Fts5GetVarint32(tls *libc.TLS, p uintptr, v uintptr) int32 { /* sqlite3.c:237955:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -239886,7 +239915,7 @@ func sqlite3Fts5GetVarint32(tls *libc.TLS, p uintptr, v uintptr) int32 { /* sqli // Read a 64-bit variable-length integer from memory starting at p[0]. // Return the number of bytes read. The value is stored in *v. -func sqlite3Fts5GetVarint(tls *libc.TLS, p uintptr, v uintptr) U8 { /* sqlite3.c:237976:11: */ +func sqlite3Fts5GetVarint(tls *libc.TLS, p uintptr, v uintptr) U8 { /* sqlite3.c:238033:11: */ var a U32 var b U32 var s U32 @@ -240062,7 +240091,7 @@ func sqlite3Fts5GetVarint(tls *libc.TLS, p uintptr, v uintptr) U8 { /* sqlite3.c // for all bytes that have the 8th bit set and one byte with the 8th // bit clear. Except, if we get to the 9th byte, it stores the full // 8 bits and is the last byte. -func fts5PutVarint64(tls *libc.TLS, p uintptr, v U64) int32 { /* sqlite3.c:238170:26: */ +func fts5PutVarint64(tls *libc.TLS, p uintptr, v U64) int32 { /* sqlite3.c:238227:26: */ bp := tls.Alloc(10) defer tls.Free(10) @@ -240108,7 +240137,7 @@ __3: return n } -func sqlite3Fts5PutVarint(tls *libc.TLS, p uintptr, v U64) int32 { /* sqlite3.c:238195:12: */ +func sqlite3Fts5PutVarint(tls *libc.TLS, p uintptr, v U64) int32 { /* sqlite3.c:238252:12: */ if v <= uint64(0x7f) { *(*uint8)(unsafe.Pointer(p)) = uint8(v & uint64(0x7f)) return 1 @@ -240121,7 +240150,7 @@ func sqlite3Fts5PutVarint(tls *libc.TLS, p uintptr, v U64) int32 { /* sqlite3.c: return fts5PutVarint64(tls, p, v) } -func sqlite3Fts5GetVarintLen(tls *libc.TLS, iVal U32) int32 { /* sqlite3.c:238209:12: */ +func sqlite3Fts5GetVarintLen(tls *libc.TLS, iVal U32) int32 { /* sqlite3.c:238266:12: */ if iVal < U32(int32(1)<<14) { return 2 @@ -240181,7 +240210,7 @@ type Fts5VocabTable1 = struct { FpGlobal uintptr FeType int32 FbBusy uint32 -} /* sqlite3.c:238262:9 */ +} /* sqlite3.c:238319:9 */ // 2015 May 08 // @@ -240221,7 +240250,7 @@ type Fts5VocabTable1 = struct { // #include "fts5Int.h" -type Fts5VocabTable = Fts5VocabTable1 /* sqlite3.c:238262:31 */ +type Fts5VocabTable = Fts5VocabTable1 /* sqlite3.c:238319:31 */ type Fts5VocabCursor1 = struct { Fbase Sqlite3_vtab_cursor FpStmt uintptr @@ -240242,9 +240271,9 @@ type Fts5VocabCursor1 = struct { FiInstPos I64 FiInstOff int32 F__ccgo_pad4 [4]byte -} /* sqlite3.c:238263:9 */ +} /* sqlite3.c:238320:9 */ -type Fts5VocabCursor = Fts5VocabCursor1 /* sqlite3.c:238263:32 */ +type Fts5VocabCursor = Fts5VocabCursor1 /* sqlite3.c:238320:32 */ // Bits for the mask used as the idxNum value by xBestIndex/xFilter. @@ -240252,7 +240281,7 @@ type Fts5VocabCursor = Fts5VocabCursor1 /* sqlite3.c:238263:32 */ // FTS5_VOCAB_XXX constant. If successful, set *peType to the output // value and return SQLITE_OK. Otherwise, set *pzErr to an error message // and return SQLITE_ERROR. -func fts5VocabTableType(tls *libc.TLS, zType uintptr, pzErr uintptr, peType uintptr) int32 { /* sqlite3.c:238323:12: */ +func fts5VocabTableType(tls *libc.TLS, zType uintptr, pzErr uintptr, peType uintptr) int32 { /* sqlite3.c:238380:12: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -240277,14 +240306,14 @@ func fts5VocabTableType(tls *libc.TLS, zType uintptr, pzErr uintptr, peType uint } // The xDisconnect() virtual table method. -func fts5VocabDisconnectMethod(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:238352:12: */ +func fts5VocabDisconnectMethod(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:238409:12: */ var pTab uintptr = pVtab Xsqlite3_free(tls, pTab) return SQLITE_OK } // The xDestroy() virtual table method. -func fts5VocabDestroyMethod(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:238361:12: */ +func fts5VocabDestroyMethod(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:238418:12: */ var pTab uintptr = pVtab Xsqlite3_free(tls, pTab) return SQLITE_OK @@ -240309,7 +240338,7 @@ func fts5VocabDestroyMethod(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:2 // argv[3] -> name of fts5 tables database // argv[4] -> name of fts5 table // argv[5] -> type of fts5vocab table -func fts5VocabInitVtab(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVTab uintptr, pzErr uintptr) int32 { /* sqlite3.c:238388:12: */ +func fts5VocabInitVtab(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVTab uintptr, pzErr uintptr) int32 { /* sqlite3.c:238445:12: */ bp := tls.Alloc(36) defer tls.Free(36) @@ -240379,11 +240408,11 @@ func fts5VocabInitVtab(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv // The xConnect() and xCreate() methods for the virtual table. All the // work is done in function fts5VocabInitVtab(). -func fts5VocabConnectMethod(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 { /* sqlite3.c:238450:12: */ +func fts5VocabConnectMethod(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 { /* sqlite3.c:238507:12: */ return fts5VocabInitVtab(tls, db, pAux, argc, argv, ppVtab, pzErr) } -func fts5VocabCreateMethod(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 { /* sqlite3.c:238460:12: */ +func fts5VocabCreateMethod(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 { /* sqlite3.c:238517:12: */ return fts5VocabInitVtab(tls, db, pAux, argc, argv, ppVtab, pzErr) } @@ -240397,7 +240426,7 @@ func fts5VocabCreateMethod(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, // // are interpreted. Less-than and less-than-or-equal are treated // identically, as are greater-than and greater-than-or-equal. -func fts5VocabBestIndexMethod(tls *libc.TLS, pUnused uintptr, pInfo uintptr) int32 { /* sqlite3.c:238483:12: */ +func fts5VocabBestIndexMethod(tls *libc.TLS, pUnused uintptr, pInfo uintptr) int32 { /* sqlite3.c:238540:12: */ var i int32 var iTermEq int32 = -1 var iTermGe int32 = -1 @@ -240465,7 +240494,7 @@ func fts5VocabBestIndexMethod(tls *libc.TLS, pUnused uintptr, pInfo uintptr) int } // Implementation of xOpen method. -func fts5VocabOpenMethod(tls *libc.TLS, pVTab uintptr, ppCsr uintptr) int32 { /* sqlite3.c:238545:12: */ +func fts5VocabOpenMethod(tls *libc.TLS, pVTab uintptr, ppCsr uintptr) int32 { /* sqlite3.c:238602:12: */ bp := tls.Alloc(80) defer tls.Free(80) @@ -240532,7 +240561,7 @@ func fts5VocabOpenMethod(tls *libc.TLS, pVTab uintptr, ppCsr uintptr) int32 { /* return *(*int32)(unsafe.Pointer(bp + 64 /* rc */)) } -func fts5VocabResetCursor(tls *libc.TLS, pCsr uintptr) { /* sqlite3.c:238613:13: */ +func fts5VocabResetCursor(tls *libc.TLS, pCsr uintptr) { /* sqlite3.c:238670:13: */ (*Fts5VocabCursor)(unsafe.Pointer(pCsr)).Frowid = int64(0) sqlite3Fts5IterClose(tls, (*Fts5VocabCursor)(unsafe.Pointer(pCsr)).FpIter) sqlite3Fts5StructureRelease(tls, (*Fts5VocabCursor)(unsafe.Pointer(pCsr)).FpStruct) @@ -240546,7 +240575,7 @@ func fts5VocabResetCursor(tls *libc.TLS, pCsr uintptr) { /* sqlite3.c:238613:13: // Close the cursor. For additional information see the documentation // on the xClose method of the virtual table interface. -func fts5VocabCloseMethod(tls *libc.TLS, pCursor uintptr) int32 { /* sqlite3.c:238629:12: */ +func fts5VocabCloseMethod(tls *libc.TLS, pCursor uintptr) int32 { /* sqlite3.c:238686:12: */ var pCsr uintptr = pCursor fts5VocabResetCursor(tls, pCsr) sqlite3Fts5BufferFree(tls, pCsr+96) @@ -240555,7 +240584,7 @@ func fts5VocabCloseMethod(tls *libc.TLS, pCursor uintptr) int32 { /* sqlite3.c:2 return SQLITE_OK } -func fts5VocabInstanceNewTerm(tls *libc.TLS, pCsr uintptr) int32 { /* sqlite3.c:238638:12: */ +func fts5VocabInstanceNewTerm(tls *libc.TLS, pCsr uintptr) int32 { /* sqlite3.c:238695:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -240586,7 +240615,7 @@ func fts5VocabInstanceNewTerm(tls *libc.TLS, pCsr uintptr) int32 { /* sqlite3.c: return *(*int32)(unsafe.Pointer(bp + 4 /* rc */)) } -func fts5VocabInstanceNext(tls *libc.TLS, pCsr uintptr) int32 { /* sqlite3.c:238660:12: */ +func fts5VocabInstanceNext(tls *libc.TLS, pCsr uintptr) int32 { /* sqlite3.c:238717:12: */ var eDetail int32 = (*Fts5Config)(unsafe.Pointer((*Fts5Table)(unsafe.Pointer((*Fts5VocabCursor)(unsafe.Pointer(pCsr)).FpFts5)).FpConfig)).FeDetail var rc int32 = SQLITE_OK var pIter uintptr = (*Fts5VocabCursor)(unsafe.Pointer(pCsr)).FpIter @@ -240615,7 +240644,7 @@ func fts5VocabInstanceNext(tls *libc.TLS, pCsr uintptr) int32 { /* sqlite3.c:238 } // Advance the cursor to the next row in the table. -func fts5VocabNextMethod(tls *libc.TLS, pCursor uintptr) int32 { /* sqlite3.c:238692:12: */ +func fts5VocabNextMethod(tls *libc.TLS, pCursor uintptr) int32 { /* sqlite3.c:238749:12: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -240759,7 +240788,7 @@ func fts5VocabNextMethod(tls *libc.TLS, pCursor uintptr) int32 { /* sqlite3.c:23 } // This is the xFilter implementation for the virtual table. -func fts5VocabFilterMethod(tls *libc.TLS, pCursor uintptr, idxNum int32, zUnused uintptr, nUnused int32, apVal uintptr) int32 { /* sqlite3.c:238820:12: */ +func fts5VocabFilterMethod(tls *libc.TLS, pCursor uintptr, idxNum int32, zUnused uintptr, nUnused int32, apVal uintptr) int32 { /* sqlite3.c:238877:12: */ var pTab uintptr = (*Sqlite3_vtab_cursor)(unsafe.Pointer(pCursor)).FpVtab var pCsr uintptr = pCursor var eType int32 = (*Fts5VocabTable)(unsafe.Pointer(pTab)).FeType @@ -240833,12 +240862,12 @@ func fts5VocabFilterMethod(tls *libc.TLS, pCursor uintptr, idxNum int32, zUnused // This is the xEof method of the virtual table. SQLite calls this // routine to find out if it has reached the end of a result set. -func fts5VocabEofMethod(tls *libc.TLS, pCursor uintptr) int32 { /* sqlite3.c:238894:12: */ +func fts5VocabEofMethod(tls *libc.TLS, pCursor uintptr) int32 { /* sqlite3.c:238951:12: */ var pCsr uintptr = pCursor return (*Fts5VocabCursor)(unsafe.Pointer(pCsr)).FbEof } -func fts5VocabColumnMethod(tls *libc.TLS, pCursor uintptr, pCtx uintptr, iCol int32) int32 { /* sqlite3.c:238899:12: */ +func fts5VocabColumnMethod(tls *libc.TLS, pCursor uintptr, pCtx uintptr, iCol int32) int32 { /* sqlite3.c:238956:12: */ var pCsr uintptr = pCursor var eDetail int32 = (*Fts5Config)(unsafe.Pointer((*Fts5Table)(unsafe.Pointer((*Fts5VocabCursor)(unsafe.Pointer(pCsr)).FpFts5)).FpConfig)).FeDetail var eType int32 = (*Fts5VocabTable)(unsafe.Pointer((*Sqlite3_vtab_cursor)(unsafe.Pointer(pCursor)).FpVtab)).FeType @@ -240911,13 +240940,13 @@ func fts5VocabColumnMethod(tls *libc.TLS, pCursor uintptr, pCtx uintptr, iCol in // This is the xRowid method. The SQLite core calls this routine to // retrieve the rowid for the current row of the result set. The // rowid should be written to *pRowid. -func fts5VocabRowidMethod(tls *libc.TLS, pCursor uintptr, pRowid uintptr) int32 { /* sqlite3.c:238971:12: */ +func fts5VocabRowidMethod(tls *libc.TLS, pCursor uintptr, pRowid uintptr) int32 { /* sqlite3.c:239028:12: */ var pCsr uintptr = pCursor *(*Sqlite_int64)(unsafe.Pointer(pRowid)) = (*Fts5VocabCursor)(unsafe.Pointer(pCsr)).Frowid return SQLITE_OK } -func sqlite3Fts5VocabInit(tls *libc.TLS, pGlobal uintptr, db uintptr) int32 { /* sqlite3.c:238980:12: */ +func sqlite3Fts5VocabInit(tls *libc.TLS, pGlobal uintptr, db uintptr) int32 { /* sqlite3.c:239037:12: */ var p uintptr = pGlobal return Xsqlite3_create_module_v2(tls, db, ts+38835, uintptr(unsafe.Pointer(&fts5Vocab)), p, uintptr(0)) @@ -240937,7 +240966,7 @@ var fts5Vocab = Sqlite3_module{ /* xEof */ FxEof: 0, /* xColumn */ FxColumn: 0, /* xRowid */ FxRowid: 0, -} /* sqlite3.c:238981:31 */ +} /* sqlite3.c:239038:31 */ //************* End of fts5.c *********************************************** //************* Begin file stmt.c ******************************************* @@ -240964,8 +240993,8 @@ var fts5Vocab = Sqlite3_module{ //************* End of stmt.c *********************************************** // Return the source-id for this library -func Xsqlite3_sourceid(tls *libc.TLS) uintptr { /* sqlite3.c:239321:23: */ - return ts + 38845 /* "2022-03-12 13:37..." */ +func Xsqlite3_sourceid(tls *libc.TLS) uintptr { /* sqlite3.c:239378:23: */ + return ts + 38845 /* "2022-03-26 13:51..." */ } //************************* End of sqlite3.c ***************************** @@ -240974,162 +241003,162 @@ func init() { *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&Xsqlite3aEQb)) + 0)) = uintptr(unsafe.Pointer(&Xsqlite3UpperToLower)) + 210 // sqlite3.c:21690:51: *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&Xsqlite3aGTb)) + 0)) = uintptr(unsafe.Pointer(&Xsqlite3UpperToLower)) + 216 // sqlite3.c:21691:51: *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&Xsqlite3aLTb)) + 0)) = uintptr(unsafe.Pointer(&Xsqlite3UpperToLower)) + 204 // sqlite3.c:21689:51: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aAgg)) + 0)) = geopolyBBoxStep // sqlite3.c:201985:8: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aAgg)) + 8)) = geopolyBBoxFinal // sqlite3.c:201985:25: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aAlterTableFuncs)) + 24)) = renameColumnFunc // sqlite3.c:111067:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aAlterTableFuncs)) + 96)) = renameTableFunc // sqlite3.c:111068:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aAlterTableFuncs)) + 168)) = renameTableTest // sqlite3.c:111069:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aAlterTableFuncs)) + 240)) = dropColumnFunc // sqlite3.c:111070:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aAlterTableFuncs)) + 312)) = renameQuotefixFunc // sqlite3.c:111071:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 24)) = versionFunc // sqlite3.c:123272:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 96)) = versionFunc // sqlite3.c:123273:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 168)) = versionFunc // sqlite3.c:123274:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 240)) = versionFunc // sqlite3.c:123275:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 312)) = soundexFunc // sqlite3.c:123279:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 384)) = loadExt // sqlite3.c:123282:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 456)) = loadExt // sqlite3.c:123283:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 528)) = compileoptionusedFunc // sqlite3.c:123289:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 600)) = compileoptiongetFunc // sqlite3.c:123290:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 672)) = versionFunc // sqlite3.c:123292:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 744)) = versionFunc // sqlite3.c:123293:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 816)) = versionFunc // sqlite3.c:123294:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 888)) = versionFunc // sqlite3.c:123297:12: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 960)) = trimFunc // sqlite3.c:123299:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1032)) = trimFunc // sqlite3.c:123300:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1104)) = trimFunc // sqlite3.c:123301:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1176)) = trimFunc // sqlite3.c:123302:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1248)) = trimFunc // sqlite3.c:123303:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1320)) = trimFunc // sqlite3.c:123304:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1392)) = minmaxFunc // sqlite3.c:123305:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1536)) = minmaxStep // sqlite3.c:123307:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1544)) = minMaxFinalize // sqlite3.c:123307:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1552)) = minMaxValue // sqlite3.c:123307:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1608)) = minmaxFunc // sqlite3.c:123309:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1752)) = minmaxStep // sqlite3.c:123311:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1760)) = minMaxFinalize // sqlite3.c:123311:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1768)) = minMaxValue // sqlite3.c:123311:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1824)) = typeofFunc // sqlite3.c:123313:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1896)) = subtypeFunc // sqlite3.c:123314:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1968)) = lengthFunc // sqlite3.c:123315:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2040)) = instrFunc // sqlite3.c:123316:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2112)) = printfFunc // sqlite3.c:123317:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2184)) = printfFunc // sqlite3.c:123318:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2256)) = unicodeFunc // sqlite3.c:123319:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2328)) = charFunc // sqlite3.c:123320:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2400)) = absFunc // sqlite3.c:123321:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2472)) = roundFunc // sqlite3.c:123323:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2544)) = roundFunc // sqlite3.c:123324:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2616)) = upperFunc // sqlite3.c:123326:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2688)) = lowerFunc // sqlite3.c:123327:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2760)) = hexFunc // sqlite3.c:123328:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2832)) = versionFunc // sqlite3.c:123329:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2904)) = randomFunc // sqlite3.c:123330:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2976)) = randomBlob // sqlite3.c:123331:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3048)) = nullifFunc // sqlite3.c:123332:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3120)) = versionFunc // sqlite3.c:123333:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3192)) = sourceidFunc // sqlite3.c:123334:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3264)) = errlogFunc // sqlite3.c:123335:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3336)) = quoteFunc // sqlite3.c:123336:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3408)) = last_insert_rowid // sqlite3.c:123337:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3480)) = changes // sqlite3.c:123338:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3552)) = total_changes // sqlite3.c:123339:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3624)) = replaceFunc // sqlite3.c:123340:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3696)) = zeroblobFunc // sqlite3.c:123341:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3768)) = substrFunc // sqlite3.c:123342:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3840)) = substrFunc // sqlite3.c:123343:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3912)) = substrFunc // sqlite3.c:123344:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3984)) = substrFunc // sqlite3.c:123345:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4056)) = sumStep // sqlite3.c:123346:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4064)) = sumFinalize // sqlite3.c:123346:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4072)) = sumFinalize // sqlite3.c:123346:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4080)) = sumInverse // sqlite3.c:123346:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4128)) = sumStep // sqlite3.c:123347:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4136)) = totalFinalize // sqlite3.c:123347:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4144)) = totalFinalize // sqlite3.c:123347:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4152)) = sumInverse // sqlite3.c:123347:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4200)) = sumStep // sqlite3.c:123348:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4208)) = avgFinalize // sqlite3.c:123348:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4216)) = avgFinalize // sqlite3.c:123348:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4224)) = sumInverse // sqlite3.c:123348:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4272)) = countStep // sqlite3.c:123349:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4280)) = countFinalize // sqlite3.c:123349:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4288)) = countFinalize // sqlite3.c:123349:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4296)) = countInverse // sqlite3.c:123349:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4344)) = countStep // sqlite3.c:123352:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4352)) = countFinalize // sqlite3.c:123352:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4360)) = countFinalize // sqlite3.c:123352:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4368)) = countInverse // sqlite3.c:123352:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4416)) = groupConcatStep // sqlite3.c:123354:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4424)) = groupConcatFinalize // sqlite3.c:123354:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4432)) = groupConcatValue // sqlite3.c:123354:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4440)) = groupConcatInverse // sqlite3.c:123354:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4488)) = groupConcatStep // sqlite3.c:123356:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4496)) = groupConcatFinalize // sqlite3.c:123356:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4504)) = groupConcatValue // sqlite3.c:123356:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4512)) = groupConcatInverse // sqlite3.c:123356:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4544 /* .pUserData */)) = uintptr(unsafe.Pointer(&globInfo)) // sqlite3.c:123359:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4560)) = likeFunc // sqlite3.c:123359:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4616 /* .pUserData */)) = uintptr(unsafe.Pointer(&likeInfoNorm)) // sqlite3.c:123364:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4632)) = likeFunc // sqlite3.c:123364:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4688 /* .pUserData */)) = uintptr(unsafe.Pointer(&likeInfoNorm)) // sqlite3.c:123365:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4704)) = likeFunc // sqlite3.c:123365:5: - *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4904)) = xCeil // sqlite3.c:123373:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4920)) = ceilingFunc // sqlite3.c:123373:5: - *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4976)) = xCeil // sqlite3.c:123374:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4992)) = ceilingFunc // sqlite3.c:123374:5: - *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5048)) = xFloor // sqlite3.c:123375:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5064)) = ceilingFunc // sqlite3.c:123375:5: - *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5120)) = libc.Xtrunc // sqlite3.c:123377:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5136)) = ceilingFunc // sqlite3.c:123377:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5208)) = logFunc // sqlite3.c:123379:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5280)) = logFunc // sqlite3.c:123380:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5352)) = logFunc // sqlite3.c:123381:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5424)) = logFunc // sqlite3.c:123382:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5496)) = logFunc // sqlite3.c:123383:5: - *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5552)) = libc.Xexp // sqlite3.c:123384:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5568)) = math1Func // sqlite3.c:123384:5: - *(*func(*libc.TLS, float64, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5624)) = libc.Xpow // sqlite3.c:123385:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5640)) = math2Func // sqlite3.c:123385:5: - *(*func(*libc.TLS, float64, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5696)) = libc.Xpow // sqlite3.c:123386:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5712)) = math2Func // sqlite3.c:123386:5: - *(*func(*libc.TLS, float64, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5768)) = libc.Xfmod // sqlite3.c:123387:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5784)) = math2Func // sqlite3.c:123387:5: - *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5840)) = libc.Xacos // sqlite3.c:123388:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5856)) = math1Func // sqlite3.c:123388:5: - *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5912)) = libc.Xasin // sqlite3.c:123389:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5928)) = math1Func // sqlite3.c:123389:5: - *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5984)) = libc.Xatan // sqlite3.c:123390:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6000)) = math1Func // sqlite3.c:123390:5: - *(*func(*libc.TLS, float64, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6056)) = libc.Xatan2 // sqlite3.c:123391:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6072)) = math2Func // sqlite3.c:123391:5: - *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6128)) = libc.Xcos // sqlite3.c:123392:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6144)) = math1Func // sqlite3.c:123392:5: - *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6200)) = libc.Xsin // sqlite3.c:123393:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6216)) = math1Func // sqlite3.c:123393:5: - *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6272)) = libc.Xtan // sqlite3.c:123394:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6288)) = math1Func // sqlite3.c:123394:5: - *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6344)) = libc.Xcosh // sqlite3.c:123395:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6360)) = math1Func // sqlite3.c:123395:5: - *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6416)) = libc.Xsinh // sqlite3.c:123396:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6432)) = math1Func // sqlite3.c:123396:5: - *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6488)) = libc.Xtanh // sqlite3.c:123397:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6504)) = math1Func // sqlite3.c:123397:5: - *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6560)) = libc.Xacosh // sqlite3.c:123399:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6576)) = math1Func // sqlite3.c:123399:5: - *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6632)) = libc.Xasinh // sqlite3.c:123400:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6648)) = math1Func // sqlite3.c:123400:5: - *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6704)) = libc.Xatanh // sqlite3.c:123401:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6720)) = math1Func // sqlite3.c:123401:5: - *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6776)) = libc.Xsqrt // sqlite3.c:123403:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6792)) = math1Func // sqlite3.c:123403:5: - *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6848)) = degToRad // sqlite3.c:123404:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6864)) = math1Func // sqlite3.c:123404:5: - *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6920)) = radToDeg // sqlite3.c:123405:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6936)) = math1Func // sqlite3.c:123405:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 7008)) = piFunc // sqlite3.c:123406:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 7080)) = signFunc // sqlite3.c:123408:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 7152)) = versionFunc // sqlite3.c:123409:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 7224)) = versionFunc // sqlite3.c:123410:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aAgg)) + 0)) = geopolyBBoxStep // sqlite3.c:202042:8: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aAgg)) + 8)) = geopolyBBoxFinal // sqlite3.c:202042:25: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aAlterTableFuncs)) + 24)) = renameColumnFunc // sqlite3.c:111080:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aAlterTableFuncs)) + 96)) = renameTableFunc // sqlite3.c:111081:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aAlterTableFuncs)) + 168)) = renameTableTest // sqlite3.c:111082:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aAlterTableFuncs)) + 240)) = dropColumnFunc // sqlite3.c:111083:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aAlterTableFuncs)) + 312)) = renameQuotefixFunc // sqlite3.c:111084:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 24)) = versionFunc // sqlite3.c:123285:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 96)) = versionFunc // sqlite3.c:123286:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 168)) = versionFunc // sqlite3.c:123287:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 240)) = versionFunc // sqlite3.c:123288:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 312)) = soundexFunc // sqlite3.c:123292:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 384)) = loadExt // sqlite3.c:123295:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 456)) = loadExt // sqlite3.c:123296:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 528)) = compileoptionusedFunc // sqlite3.c:123302:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 600)) = compileoptiongetFunc // sqlite3.c:123303:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 672)) = versionFunc // sqlite3.c:123305:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 744)) = versionFunc // sqlite3.c:123306:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 816)) = versionFunc // sqlite3.c:123307:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 888)) = versionFunc // sqlite3.c:123310:12: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 960)) = trimFunc // sqlite3.c:123312:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1032)) = trimFunc // sqlite3.c:123313:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1104)) = trimFunc // sqlite3.c:123314:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1176)) = trimFunc // sqlite3.c:123315:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1248)) = trimFunc // sqlite3.c:123316:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1320)) = trimFunc // sqlite3.c:123317:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1392)) = minmaxFunc // sqlite3.c:123318:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1536)) = minmaxStep // sqlite3.c:123320:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1544)) = minMaxFinalize // sqlite3.c:123320:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1552)) = minMaxValue // sqlite3.c:123320:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1608)) = minmaxFunc // sqlite3.c:123322:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1752)) = minmaxStep // sqlite3.c:123324:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1760)) = minMaxFinalize // sqlite3.c:123324:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1768)) = minMaxValue // sqlite3.c:123324:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1824)) = typeofFunc // sqlite3.c:123326:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1896)) = subtypeFunc // sqlite3.c:123327:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 1968)) = lengthFunc // sqlite3.c:123328:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2040)) = instrFunc // sqlite3.c:123329:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2112)) = printfFunc // sqlite3.c:123330:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2184)) = printfFunc // sqlite3.c:123331:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2256)) = unicodeFunc // sqlite3.c:123332:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2328)) = charFunc // sqlite3.c:123333:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2400)) = absFunc // sqlite3.c:123334:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2472)) = roundFunc // sqlite3.c:123336:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2544)) = roundFunc // sqlite3.c:123337:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2616)) = upperFunc // sqlite3.c:123339:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2688)) = lowerFunc // sqlite3.c:123340:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2760)) = hexFunc // sqlite3.c:123341:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2832)) = versionFunc // sqlite3.c:123342:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2904)) = randomFunc // sqlite3.c:123343:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 2976)) = randomBlob // sqlite3.c:123344:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3048)) = nullifFunc // sqlite3.c:123345:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3120)) = versionFunc // sqlite3.c:123346:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3192)) = sourceidFunc // sqlite3.c:123347:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3264)) = errlogFunc // sqlite3.c:123348:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3336)) = quoteFunc // sqlite3.c:123349:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3408)) = last_insert_rowid // sqlite3.c:123350:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3480)) = changes // sqlite3.c:123351:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3552)) = total_changes // sqlite3.c:123352:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3624)) = replaceFunc // sqlite3.c:123353:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3696)) = zeroblobFunc // sqlite3.c:123354:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3768)) = substrFunc // sqlite3.c:123355:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3840)) = substrFunc // sqlite3.c:123356:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3912)) = substrFunc // sqlite3.c:123357:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 3984)) = substrFunc // sqlite3.c:123358:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4056)) = sumStep // sqlite3.c:123359:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4064)) = sumFinalize // sqlite3.c:123359:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4072)) = sumFinalize // sqlite3.c:123359:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4080)) = sumInverse // sqlite3.c:123359:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4128)) = sumStep // sqlite3.c:123360:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4136)) = totalFinalize // sqlite3.c:123360:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4144)) = totalFinalize // sqlite3.c:123360:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4152)) = sumInverse // sqlite3.c:123360:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4200)) = sumStep // sqlite3.c:123361:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4208)) = avgFinalize // sqlite3.c:123361:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4216)) = avgFinalize // sqlite3.c:123361:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4224)) = sumInverse // sqlite3.c:123361:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4272)) = countStep // sqlite3.c:123362:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4280)) = countFinalize // sqlite3.c:123362:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4288)) = countFinalize // sqlite3.c:123362:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4296)) = countInverse // sqlite3.c:123362:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4344)) = countStep // sqlite3.c:123365:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4352)) = countFinalize // sqlite3.c:123365:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4360)) = countFinalize // sqlite3.c:123365:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4368)) = countInverse // sqlite3.c:123365:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4416)) = groupConcatStep // sqlite3.c:123367:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4424)) = groupConcatFinalize // sqlite3.c:123367:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4432)) = groupConcatValue // sqlite3.c:123367:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4440)) = groupConcatInverse // sqlite3.c:123367:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4488)) = groupConcatStep // sqlite3.c:123369:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4496)) = groupConcatFinalize // sqlite3.c:123369:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4504)) = groupConcatValue // sqlite3.c:123369:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4512)) = groupConcatInverse // sqlite3.c:123369:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4544 /* .pUserData */)) = uintptr(unsafe.Pointer(&globInfo)) // sqlite3.c:123372:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4560)) = likeFunc // sqlite3.c:123372:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4616 /* .pUserData */)) = uintptr(unsafe.Pointer(&likeInfoNorm)) // sqlite3.c:123377:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4632)) = likeFunc // sqlite3.c:123377:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4688 /* .pUserData */)) = uintptr(unsafe.Pointer(&likeInfoNorm)) // sqlite3.c:123378:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4704)) = likeFunc // sqlite3.c:123378:5: + *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4904)) = xCeil // sqlite3.c:123386:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4920)) = ceilingFunc // sqlite3.c:123386:5: + *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4976)) = xCeil // sqlite3.c:123387:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 4992)) = ceilingFunc // sqlite3.c:123387:5: + *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5048)) = xFloor // sqlite3.c:123388:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5064)) = ceilingFunc // sqlite3.c:123388:5: + *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5120)) = libc.Xtrunc // sqlite3.c:123390:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5136)) = ceilingFunc // sqlite3.c:123390:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5208)) = logFunc // sqlite3.c:123392:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5280)) = logFunc // sqlite3.c:123393:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5352)) = logFunc // sqlite3.c:123394:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5424)) = logFunc // sqlite3.c:123395:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5496)) = logFunc // sqlite3.c:123396:5: + *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5552)) = libc.Xexp // sqlite3.c:123397:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5568)) = math1Func // sqlite3.c:123397:5: + *(*func(*libc.TLS, float64, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5624)) = libc.Xpow // sqlite3.c:123398:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5640)) = math2Func // sqlite3.c:123398:5: + *(*func(*libc.TLS, float64, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5696)) = libc.Xpow // sqlite3.c:123399:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5712)) = math2Func // sqlite3.c:123399:5: + *(*func(*libc.TLS, float64, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5768)) = libc.Xfmod // sqlite3.c:123400:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5784)) = math2Func // sqlite3.c:123400:5: + *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5840)) = libc.Xacos // sqlite3.c:123401:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5856)) = math1Func // sqlite3.c:123401:5: + *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5912)) = libc.Xasin // sqlite3.c:123402:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5928)) = math1Func // sqlite3.c:123402:5: + *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 5984)) = libc.Xatan // sqlite3.c:123403:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6000)) = math1Func // sqlite3.c:123403:5: + *(*func(*libc.TLS, float64, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6056)) = libc.Xatan2 // sqlite3.c:123404:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6072)) = math2Func // sqlite3.c:123404:5: + *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6128)) = libc.Xcos // sqlite3.c:123405:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6144)) = math1Func // sqlite3.c:123405:5: + *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6200)) = libc.Xsin // sqlite3.c:123406:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6216)) = math1Func // sqlite3.c:123406:5: + *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6272)) = libc.Xtan // sqlite3.c:123407:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6288)) = math1Func // sqlite3.c:123407:5: + *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6344)) = libc.Xcosh // sqlite3.c:123408:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6360)) = math1Func // sqlite3.c:123408:5: + *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6416)) = libc.Xsinh // sqlite3.c:123409:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6432)) = math1Func // sqlite3.c:123409:5: + *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6488)) = libc.Xtanh // sqlite3.c:123410:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6504)) = math1Func // sqlite3.c:123410:5: + *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6560)) = libc.Xacosh // sqlite3.c:123412:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6576)) = math1Func // sqlite3.c:123412:5: + *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6632)) = libc.Xasinh // sqlite3.c:123413:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6648)) = math1Func // sqlite3.c:123413:5: + *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6704)) = libc.Xatanh // sqlite3.c:123414:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6720)) = math1Func // sqlite3.c:123414:5: + *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6776)) = libc.Xsqrt // sqlite3.c:123416:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6792)) = math1Func // sqlite3.c:123416:5: + *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6848)) = degToRad // sqlite3.c:123417:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6864)) = math1Func // sqlite3.c:123417:5: + *(*func(*libc.TLS, float64) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6920)) = radToDeg // sqlite3.c:123418:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 6936)) = math1Func // sqlite3.c:123418:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 7008)) = piFunc // sqlite3.c:123419:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 7080)) = signFunc // sqlite3.c:123421:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 7152)) = versionFunc // sqlite3.c:123422:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aBuiltinFunc)) + 7224)) = versionFunc // sqlite3.c:123423:5: *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aDateTimeFuncs)) + 8 /* .pUserData */)) = uintptr(unsafe.Pointer(&Xsqlite3Config)) // sqlite3.c:24402:5: *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aDateTimeFuncs)) + 24)) = juliandayFunc // sqlite3.c:24402:5: *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aDateTimeFuncs)) + 80 /* .pUserData */)) = uintptr(unsafe.Pointer(&Xsqlite3Config)) // sqlite3.c:24403:5: @@ -241145,291 +241174,291 @@ func init() { *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aDateTimeFuncs)) + 456)) = ctimeFunc // sqlite3.c:24408:5: *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aDateTimeFuncs)) + 528)) = ctimestampFunc // sqlite3.c:24409:5: *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aDateTimeFuncs)) + 600)) = cdateFunc // sqlite3.c:24410:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 0)) = geopolyAreaFunc // sqlite3.c:201967:8: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 24)) = geopolyBlobFunc // sqlite3.c:201968:8: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 48)) = geopolyJsonFunc // sqlite3.c:201969:8: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 72)) = geopolySvgFunc // sqlite3.c:201970:8: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 96)) = geopolyWithinFunc // sqlite3.c:201971:8: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 120)) = geopolyContainsPointFunc // sqlite3.c:201972:8: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 144)) = geopolyOverlapFunc // sqlite3.c:201973:8: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 168)) = geopolyDebugFunc // sqlite3.c:201974:8: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 192)) = geopolyBBoxFunc // sqlite3.c:201975:8: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 216)) = geopolyXformFunc // sqlite3.c:201976:8: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 240)) = geopolyRegularFunc // sqlite3.c:201977:8: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 264)) = geopolyCcwFunc // sqlite3.c:201978:8: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 24)) = jsonRemoveFunc // sqlite3.c:195736:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 96)) = jsonArrayFunc // sqlite3.c:195737:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 168)) = jsonArrayLengthFunc // sqlite3.c:195738:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 240)) = jsonArrayLengthFunc // sqlite3.c:195739:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 312)) = jsonExtractFunc // sqlite3.c:195740:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 384)) = jsonExtractFunc // sqlite3.c:195741:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 456)) = jsonExtractFunc // sqlite3.c:195742:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 528)) = jsonSetFunc // sqlite3.c:195743:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 600)) = jsonObjectFunc // sqlite3.c:195744:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 672)) = jsonPatchFunc // sqlite3.c:195745:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 744)) = jsonQuoteFunc // sqlite3.c:195746:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 816)) = jsonRemoveFunc // sqlite3.c:195747:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 888)) = jsonReplaceFunc // sqlite3.c:195748:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 960)) = jsonSetFunc // sqlite3.c:195749:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 1032)) = jsonTypeFunc // sqlite3.c:195750:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 1104)) = jsonTypeFunc // sqlite3.c:195751:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 1176)) = jsonValidFunc // sqlite3.c:195752:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 1248)) = jsonArrayStep // sqlite3.c:195757:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 1256)) = jsonArrayFinal // sqlite3.c:195757:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 1264)) = jsonArrayValue // sqlite3.c:195757:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 1272)) = jsonGroupInverse // sqlite3.c:195757:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 1320)) = jsonObjectStep // sqlite3.c:195760:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 1328)) = jsonObjectFinal // sqlite3.c:195760:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 1336)) = jsonObjectValue // sqlite3.c:195760:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 1344)) = jsonGroupInverse // sqlite3.c:195760:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aMod)) + 8 /* .pModule */)) = uintptr(unsafe.Pointer(&jsonEachModule)) // sqlite3.c:195778:31: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aMod)) + 24 /* .pModule */)) = uintptr(unsafe.Pointer(&jsonTreeModule)) // sqlite3.c:195779:31: - *(*Sqlite3_syscall_ptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 8 /* .pCurrent */)) = *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS) WINBOOL }{libc.XAreFileApisANSI})) // sqlite3.c:43424:32: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 0)) = geopolyAreaFunc // sqlite3.c:202024:8: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 24)) = geopolyBlobFunc // sqlite3.c:202025:8: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 48)) = geopolyJsonFunc // sqlite3.c:202026:8: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 72)) = geopolySvgFunc // sqlite3.c:202027:8: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 96)) = geopolyWithinFunc // sqlite3.c:202028:8: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 120)) = geopolyContainsPointFunc // sqlite3.c:202029:8: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 144)) = geopolyOverlapFunc // sqlite3.c:202030:8: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 168)) = geopolyDebugFunc // sqlite3.c:202031:8: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 192)) = geopolyBBoxFunc // sqlite3.c:202032:8: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 216)) = geopolyXformFunc // sqlite3.c:202033:8: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 240)) = geopolyRegularFunc // sqlite3.c:202034:8: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 264)) = geopolyCcwFunc // sqlite3.c:202035:8: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 24)) = jsonRemoveFunc // sqlite3.c:195793:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 96)) = jsonArrayFunc // sqlite3.c:195794:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 168)) = jsonArrayLengthFunc // sqlite3.c:195795:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 240)) = jsonArrayLengthFunc // sqlite3.c:195796:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 312)) = jsonExtractFunc // sqlite3.c:195797:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 384)) = jsonExtractFunc // sqlite3.c:195798:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 456)) = jsonExtractFunc // sqlite3.c:195799:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 528)) = jsonSetFunc // sqlite3.c:195800:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 600)) = jsonObjectFunc // sqlite3.c:195801:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 672)) = jsonPatchFunc // sqlite3.c:195802:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 744)) = jsonQuoteFunc // sqlite3.c:195803:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 816)) = jsonRemoveFunc // sqlite3.c:195804:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 888)) = jsonReplaceFunc // sqlite3.c:195805:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 960)) = jsonSetFunc // sqlite3.c:195806:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 1032)) = jsonTypeFunc // sqlite3.c:195807:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 1104)) = jsonTypeFunc // sqlite3.c:195808:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 1176)) = jsonValidFunc // sqlite3.c:195809:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 1248)) = jsonArrayStep // sqlite3.c:195814:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 1256)) = jsonArrayFinal // sqlite3.c:195814:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 1264)) = jsonArrayValue // sqlite3.c:195814:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 1272)) = jsonGroupInverse // sqlite3.c:195814:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 1320)) = jsonObjectStep // sqlite3.c:195817:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 1328)) = jsonObjectFinal // sqlite3.c:195817:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 1336)) = jsonObjectValue // sqlite3.c:195817:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aJsonFunc)) + 1344)) = jsonGroupInverse // sqlite3.c:195817:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aMod)) + 8 /* .pModule */)) = uintptr(unsafe.Pointer(&jsonEachModule)) // sqlite3.c:195835:31: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aMod)) + 24 /* .pModule */)) = uintptr(unsafe.Pointer(&jsonTreeModule)) // sqlite3.c:195836:31: + *(*Sqlite3_syscall_ptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 8 /* .pCurrent */)) = *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS) WINBOOL }{libc.XAreFileApisANSI})) // sqlite3.c:43430:32: *(*Sqlite3_syscall_ptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 80 /* .pCurrent */)) = *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, HANDLE) WINBOOL - }{libc.XCloseHandle})) // sqlite3.c:43449:32: + }{libc.XCloseHandle})) // sqlite3.c:43455:32: *(*Sqlite3_syscall_ptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 104 /* .pCurrent */)) = *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, LPCSTR, DWORD, DWORD, LPSECURITY_ATTRIBUTES, DWORD, DWORD, HANDLE) HANDLE - }{libc.XCreateFileA})) // sqlite3.c:43454:32: + }{libc.XCreateFileA})) // sqlite3.c:43460:32: *(*Sqlite3_syscall_ptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 128 /* .pCurrent */)) = *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, LPCWSTR, DWORD, DWORD, LPSECURITY_ATTRIBUTES, DWORD, DWORD, HANDLE) HANDLE - }{libc.XCreateFileW})) // sqlite3.c:43463:32: + }{libc.XCreateFileW})) // sqlite3.c:43469:32: *(*Sqlite3_syscall_ptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 152 /* .pCurrent */)) = *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, HANDLE, LPSECURITY_ATTRIBUTES, DWORD, DWORD, DWORD, LPCSTR) HANDLE - }{libc.XCreateFileMappingA})) // sqlite3.c:43474:32: + }{libc.XCreateFileMappingA})) // sqlite3.c:43480:32: *(*Sqlite3_syscall_ptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 176 /* .pCurrent */)) = *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, HANDLE, LPSECURITY_ATTRIBUTES, DWORD, DWORD, DWORD, LPCWSTR) HANDLE - }{libc.XCreateFileMappingW})) // sqlite3.c:43484:32: + }{libc.XCreateFileMappingW})) // sqlite3.c:43490:32: *(*Sqlite3_syscall_ptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 200 /* .pCurrent */)) = *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, LPSECURITY_ATTRIBUTES, WINBOOL, LPCWSTR) HANDLE - }{libc.XCreateMutexW})) // sqlite3.c:43493:32: + }{libc.XCreateMutexW})) // sqlite3.c:43499:32: *(*Sqlite3_syscall_ptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 224 /* .pCurrent */)) = *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, LPCSTR) WINBOOL - }{libc.XDeleteFileA})) // sqlite3.c:43502:32: + }{libc.XDeleteFileA})) // sqlite3.c:43508:32: *(*Sqlite3_syscall_ptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 248 /* .pCurrent */)) = *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, LPCWSTR) WINBOOL - }{libc.XDeleteFileW})) // sqlite3.c:43510:32: + }{libc.XDeleteFileW})) // sqlite3.c:43516:32: *(*Sqlite3_syscall_ptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 320 /* .pCurrent */)) = *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, HANDLE) WINBOOL - }{libc.XFlushFileBuffers})) // sqlite3.c:43535:32: + }{libc.XFlushFileBuffers})) // sqlite3.c:43541:32: *(*Sqlite3_syscall_ptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 344 /* .pCurrent */)) = *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, DWORD, LPCVOID, DWORD, DWORD, LPSTR, DWORD, uintptr) DWORD - }{libc.XFormatMessageA})) // sqlite3.c:43540:32: + }{libc.XFormatMessageA})) // sqlite3.c:43546:32: *(*Sqlite3_syscall_ptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 368 /* .pCurrent */)) = *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, DWORD, LPCVOID, DWORD, DWORD, LPWSTR, DWORD, uintptr) DWORD - }{libc.XFormatMessageW})) // sqlite3.c:43549:32: + }{libc.XFormatMessageW})) // sqlite3.c:43555:32: *(*Sqlite3_syscall_ptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 392 /* .pCurrent */)) = *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, HMODULE) WINBOOL - }{libc.XFreeLibrary})) // sqlite3.c:43558:32: - *(*Sqlite3_syscall_ptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 416 /* .pCurrent */)) = *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS) DWORD }{libc.XGetCurrentProcessId})) // sqlite3.c:43565:32: + }{libc.XFreeLibrary})) // sqlite3.c:43564:32: + *(*Sqlite3_syscall_ptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 416 /* .pCurrent */)) = *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS) DWORD }{libc.XGetCurrentProcessId})) // sqlite3.c:43571:32: *(*Sqlite3_syscall_ptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 440 /* .pCurrent */)) = *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, LPCSTR, LPDWORD, LPDWORD, LPDWORD, LPDWORD) WINBOOL - }{libc.XGetDiskFreeSpaceA})) // sqlite3.c:43570:32: + }{libc.XGetDiskFreeSpaceA})) // sqlite3.c:43576:32: *(*Sqlite3_syscall_ptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 464 /* .pCurrent */)) = *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, LPCWSTR, LPDWORD, LPDWORD, LPDWORD, LPDWORD) WINBOOL - }{libc.XGetDiskFreeSpaceW})) // sqlite3.c:43579:32: - *(*Sqlite3_syscall_ptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 488 /* .pCurrent */)) = *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, LPCSTR) DWORD }{libc.XGetFileAttributesA})) // sqlite3.c:43588:32: + }{libc.XGetDiskFreeSpaceW})) // sqlite3.c:43585:32: + *(*Sqlite3_syscall_ptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 488 /* .pCurrent */)) = *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, LPCSTR) DWORD }{libc.XGetFileAttributesA})) // sqlite3.c:43594:32: *(*Sqlite3_syscall_ptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 512 /* .pCurrent */)) = *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, LPCWSTR) DWORD - }{libc.XGetFileAttributesW})) // sqlite3.c:43596:32: + }{libc.XGetFileAttributesW})) // sqlite3.c:43602:32: *(*Sqlite3_syscall_ptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 536 /* .pCurrent */)) = *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, LPCWSTR, GET_FILEEX_INFO_LEVELS, LPVOID) WINBOOL - }{libc.XGetFileAttributesExW})) // sqlite3.c:43604:32: + }{libc.XGetFileAttributesExW})) // sqlite3.c:43610:32: *(*Sqlite3_syscall_ptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 560 /* .pCurrent */)) = *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, HANDLE, LPDWORD) DWORD - }{libc.XGetFileSize})) // sqlite3.c:43613:32: + }{libc.XGetFileSize})) // sqlite3.c:43619:32: *(*Sqlite3_syscall_ptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 584 /* .pCurrent */)) = *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, LPCSTR, DWORD, LPSTR, uintptr) DWORD - }{libc.XGetFullPathNameA})) // sqlite3.c:43621:32: + }{libc.XGetFullPathNameA})) // sqlite3.c:43627:32: *(*Sqlite3_syscall_ptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 608 /* .pCurrent */)) = *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, LPCWSTR, DWORD, LPWSTR, uintptr) DWORD - }{libc.XGetFullPathNameW})) // sqlite3.c:43630:32: - *(*Sqlite3_syscall_ptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 632 /* .pCurrent */)) = *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS) DWORD }{libc.XGetLastError})) // sqlite3.c:43638:32: + }{libc.XGetFullPathNameW})) // sqlite3.c:43636:32: + *(*Sqlite3_syscall_ptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 632 /* .pCurrent */)) = *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS) DWORD }{libc.XGetLastError})) // sqlite3.c:43644:32: *(*Sqlite3_syscall_ptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 656 /* .pCurrent */)) = *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, HMODULE, LPCSTR) FARPROC - }{libc.XGetProcAddress})) // sqlite3.c:43649:32: + }{libc.XGetProcAddress})) // sqlite3.c:43655:32: *(*Sqlite3_syscall_ptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 680 /* .pCurrent */)) = *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, LPSYSTEM_INFO) - }{libc.XGetSystemInfo})) // sqlite3.c:43659:32: - *(*Sqlite3_syscall_ptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 704 /* .pCurrent */)) = *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, LPSYSTEMTIME) }{libc.XGetSystemTime})) // sqlite3.c:43666:32: - *(*Sqlite3_syscall_ptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 728 /* .pCurrent */)) = *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, LPFILETIME) }{libc.XGetSystemTimeAsFileTime})) // sqlite3.c:43671:32: + }{libc.XGetSystemInfo})) // sqlite3.c:43665:32: + *(*Sqlite3_syscall_ptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 704 /* .pCurrent */)) = *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, LPSYSTEMTIME) }{libc.XGetSystemTime})) // sqlite3.c:43672:32: + *(*Sqlite3_syscall_ptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 728 /* .pCurrent */)) = *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, LPFILETIME) }{libc.XGetSystemTimeAsFileTime})) // sqlite3.c:43677:32: *(*Sqlite3_syscall_ptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 752 /* .pCurrent */)) = *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, DWORD, LPSTR) DWORD - }{libc.XGetTempPathA})) // sqlite3.c:43680:32: + }{libc.XGetTempPathA})) // sqlite3.c:43686:32: *(*Sqlite3_syscall_ptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 776 /* .pCurrent */)) = *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, DWORD, LPWSTR) DWORD - }{libc.XGetTempPathW})) // sqlite3.c:43688:32: - *(*Sqlite3_syscall_ptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 800 /* .pCurrent */)) = *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS) DWORD }{libc.XGetTickCount})) // sqlite3.c:43696:32: + }{libc.XGetTempPathW})) // sqlite3.c:43694:32: + *(*Sqlite3_syscall_ptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 800 /* .pCurrent */)) = *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS) DWORD }{libc.XGetTickCount})) // sqlite3.c:43702:32: *(*Sqlite3_syscall_ptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 824 /* .pCurrent */)) = *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, LPOSVERSIONINFOA) WINBOOL - }{libc.XGetVersionExA})) // sqlite3.c:43704:32: + }{libc.XGetVersionExA})) // sqlite3.c:43710:32: *(*Sqlite3_syscall_ptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 848 /* .pCurrent */)) = *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, LPOSVERSIONINFOW) WINBOOL - }{libc.XGetVersionExW})) // sqlite3.c:43714:32: + }{libc.XGetVersionExW})) // sqlite3.c:43720:32: *(*Sqlite3_syscall_ptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 872 /* .pCurrent */)) = *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, HANDLE, DWORD, SIZE_T) LPVOID - }{libc.XHeapAlloc})) // sqlite3.c:43722:32: + }{libc.XHeapAlloc})) // sqlite3.c:43728:32: *(*Sqlite3_syscall_ptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 896 /* .pCurrent */)) = *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, DWORD, SIZE_T, SIZE_T) HANDLE - }{libc.XHeapCreate})) // sqlite3.c:43728:32: + }{libc.XHeapCreate})) // sqlite3.c:43734:32: *(*Sqlite3_syscall_ptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 920 /* .pCurrent */)) = *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, HANDLE) WINBOOL - }{libc.XHeapDestroy})) // sqlite3.c:43737:32: + }{libc.XHeapDestroy})) // sqlite3.c:43743:32: *(*Sqlite3_syscall_ptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 944 /* .pCurrent */)) = *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, HANDLE, DWORD, LPVOID) WINBOOL - }{libc.XHeapFree})) // sqlite3.c:43744:32: + }{libc.XHeapFree})) // sqlite3.c:43750:32: *(*Sqlite3_syscall_ptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 968 /* .pCurrent */)) = *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, HANDLE, DWORD, LPVOID, SIZE_T) LPVOID - }{libc.XHeapReAlloc})) // sqlite3.c:43748:32: + }{libc.XHeapReAlloc})) // sqlite3.c:43754:32: *(*Sqlite3_syscall_ptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 992 /* .pCurrent */)) = *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, HANDLE, DWORD, LPCVOID) SIZE_T - }{libc.XHeapSize})) // sqlite3.c:43753:32: + }{libc.XHeapSize})) // sqlite3.c:43759:32: *(*Sqlite3_syscall_ptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 1016 /* .pCurrent */)) = *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, HANDLE, DWORD, LPCVOID) WINBOOL - }{libc.XHeapValidate})) // sqlite3.c:43759:32: + }{libc.XHeapValidate})) // sqlite3.c:43765:32: *(*Sqlite3_syscall_ptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 1040 /* .pCurrent */)) = *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, HANDLE, DWORD) SIZE_T - }{libc.XHeapCompact})) // sqlite3.c:43768:32: + }{libc.XHeapCompact})) // sqlite3.c:43774:32: *(*Sqlite3_syscall_ptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 1064 /* .pCurrent */)) = *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, LPCSTR) HMODULE - }{libc.XLoadLibraryA})) // sqlite3.c:43776:32: + }{libc.XLoadLibraryA})) // sqlite3.c:43782:32: *(*Sqlite3_syscall_ptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 1088 /* .pCurrent */)) = *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, LPCWSTR) HMODULE - }{libc.XLoadLibraryW})) // sqlite3.c:43785:32: + }{libc.XLoadLibraryW})) // sqlite3.c:43791:32: *(*Sqlite3_syscall_ptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 1112 /* .pCurrent */)) = *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, HLOCAL) HLOCAL - }{libc.XLocalFree})) // sqlite3.c:43793:32: + }{libc.XLocalFree})) // sqlite3.c:43799:32: *(*Sqlite3_syscall_ptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 1136 /* .pCurrent */)) = *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, HANDLE, DWORD, DWORD, DWORD, DWORD) WINBOOL - }{libc.XLockFile})) // sqlite3.c:43801:32: + }{libc.XLockFile})) // sqlite3.c:43807:32: *(*Sqlite3_syscall_ptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 1160 /* .pCurrent */)) = *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, HANDLE, DWORD, DWORD, DWORD, DWORD, LPOVERLAPPED) WINBOOL - }{libc.XLockFileEx})) // sqlite3.c:43812:32: + }{libc.XLockFileEx})) // sqlite3.c:43818:32: *(*Sqlite3_syscall_ptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 1184 /* .pCurrent */)) = *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, HANDLE, DWORD, DWORD, DWORD, SIZE_T) LPVOID - }{libc.XMapViewOfFile})) // sqlite3.c:43824:32: + }{libc.XMapViewOfFile})) // sqlite3.c:43830:32: *(*Sqlite3_syscall_ptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 1208 /* .pCurrent */)) = *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, UINT, DWORD, LPCCH, int32, LPWSTR, int32) int32 - }{libc.XMultiByteToWideChar})) // sqlite3.c:43832:32: + }{libc.XMultiByteToWideChar})) // sqlite3.c:43838:32: *(*Sqlite3_syscall_ptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 1232 /* .pCurrent */)) = *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr) WINBOOL - }{libc.XQueryPerformanceCounter})) // sqlite3.c:43837:32: + }{libc.XQueryPerformanceCounter})) // sqlite3.c:43843:32: *(*Sqlite3_syscall_ptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 1256 /* .pCurrent */)) = *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, HANDLE, LPVOID, DWORD, LPDWORD, LPOVERLAPPED) WINBOOL - }{libc.XReadFile})) // sqlite3.c:43842:32: + }{libc.XReadFile})) // sqlite3.c:43848:32: *(*Sqlite3_syscall_ptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 1280 /* .pCurrent */)) = *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, HANDLE) WINBOOL - }{libc.XSetEndOfFile})) // sqlite3.c:43847:32: + }{libc.XSetEndOfFile})) // sqlite3.c:43853:32: *(*Sqlite3_syscall_ptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 1304 /* .pCurrent */)) = *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, HANDLE, LONG, PLONG, DWORD) DWORD - }{libc.XSetFilePointer})) // sqlite3.c:43852:32: - *(*Sqlite3_syscall_ptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 1328 /* .pCurrent */)) = *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, DWORD) }{libc.XSleep})) // sqlite3.c:43861:32: + }{libc.XSetFilePointer})) // sqlite3.c:43858:32: + *(*Sqlite3_syscall_ptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 1328 /* .pCurrent */)) = *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, DWORD) }{libc.XSleep})) // sqlite3.c:43867:32: *(*Sqlite3_syscall_ptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 1352 /* .pCurrent */)) = *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, LPFILETIME) WINBOOL - }{libc.XSystemTimeToFileTime})) // sqlite3.c:43868:32: + }{libc.XSystemTimeToFileTime})) // sqlite3.c:43874:32: *(*Sqlite3_syscall_ptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 1376 /* .pCurrent */)) = *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, HANDLE, DWORD, DWORD, DWORD, DWORD) WINBOOL - }{libc.XUnlockFile})) // sqlite3.c:43874:32: + }{libc.XUnlockFile})) // sqlite3.c:43880:32: *(*Sqlite3_syscall_ptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 1400 /* .pCurrent */)) = *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, HANDLE, DWORD, DWORD, DWORD, LPOVERLAPPED) WINBOOL - }{libc.XUnlockFileEx})) // sqlite3.c:43885:32: + }{libc.XUnlockFileEx})) // sqlite3.c:43891:32: *(*Sqlite3_syscall_ptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 1424 /* .pCurrent */)) = *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, LPCVOID) WINBOOL - }{libc.XUnmapViewOfFile})) // sqlite3.c:43894:32: + }{libc.XUnmapViewOfFile})) // sqlite3.c:43900:32: *(*Sqlite3_syscall_ptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 1448 /* .pCurrent */)) = *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, UINT, DWORD, LPCWCH, int32, LPSTR, int32, LPCCH, LPBOOL) int32 - }{libc.XWideCharToMultiByte})) // sqlite3.c:43901:32: + }{libc.XWideCharToMultiByte})) // sqlite3.c:43907:32: *(*Sqlite3_syscall_ptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 1472 /* .pCurrent */)) = *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, HANDLE, LPCVOID, DWORD, LPDWORD, LPOVERLAPPED) WINBOOL - }{libc.XWriteFile})) // sqlite3.c:43906:32: + }{libc.XWriteFile})) // sqlite3.c:43912:32: *(*Sqlite3_syscall_ptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 1520 /* .pCurrent */)) = *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, HANDLE, DWORD) DWORD - }{libc.XWaitForSingleObject})) // sqlite3.c:43921:32: + }{libc.XWaitForSingleObject})) // sqlite3.c:43927:32: *(*Sqlite3_syscall_ptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 1544 /* .pCurrent */)) = *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, HANDLE, DWORD, WINBOOL) DWORD - }{libc.XWaitForSingleObjectEx})) // sqlite3.c:43930:32: - *(*Sqlite3_syscall_ptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 1736 /* .pCurrent */)) = *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, LPCSTR) }{libc.XOutputDebugStringA})) // sqlite3.c:44001:32: - *(*Sqlite3_syscall_ptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 1760 /* .pCurrent */)) = *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, LPCWSTR) }{libc.XOutputDebugStringW})) // sqlite3.c:44009:32: - *(*Sqlite3_syscall_ptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 1784 /* .pCurrent */)) = *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS) HANDLE }{libc.XGetProcessHeap})) // sqlite3.c:44016:32: + }{libc.XWaitForSingleObjectEx})) // sqlite3.c:43936:32: + *(*Sqlite3_syscall_ptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 1736 /* .pCurrent */)) = *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, LPCSTR) }{libc.XOutputDebugStringA})) // sqlite3.c:44007:32: + *(*Sqlite3_syscall_ptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 1760 /* .pCurrent */)) = *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, LPCWSTR) }{libc.XOutputDebugStringW})) // sqlite3.c:44015:32: + *(*Sqlite3_syscall_ptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 1784 /* .pCurrent */)) = *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS) HANDLE }{libc.XGetProcessHeap})) // sqlite3.c:44022:32: *(*Sqlite3_syscall_ptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 1904 /* .pCurrent */)) = *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, LPCVOID, SIZE_T) WINBOOL - }{libc.XFlushViewOfFile})) // sqlite3.c:44063:33: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 24)) = row_numberStepFunc // sqlite3.c:158796:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 32)) = row_numberValueFunc // sqlite3.c:158796:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 40)) = row_numberValueFunc // sqlite3.c:158796:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 48)) = noopStepFunc // sqlite3.c:158796:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 56 /* .zName */)) = uintptr(unsafe.Pointer(&row_numberName)) // sqlite3.c:158796:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 96)) = dense_rankStepFunc // sqlite3.c:158797:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 104)) = dense_rankValueFunc // sqlite3.c:158797:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 112)) = dense_rankValueFunc // sqlite3.c:158797:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 120)) = noopStepFunc // sqlite3.c:158797:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 128 /* .zName */)) = uintptr(unsafe.Pointer(&dense_rankName)) // sqlite3.c:158797:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 168)) = rankStepFunc // sqlite3.c:158798:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 176)) = rankValueFunc // sqlite3.c:158798:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 184)) = rankValueFunc // sqlite3.c:158798:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 192)) = noopStepFunc // sqlite3.c:158798:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 200 /* .zName */)) = uintptr(unsafe.Pointer(&rankName)) // sqlite3.c:158798:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 240)) = percent_rankStepFunc // sqlite3.c:158799:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 248)) = percent_rankValueFunc // sqlite3.c:158799:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 256)) = percent_rankValueFunc // sqlite3.c:158799:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 264)) = percent_rankInvFunc // sqlite3.c:158799:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 272 /* .zName */)) = uintptr(unsafe.Pointer(&percent_rankName)) // sqlite3.c:158799:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 312)) = cume_distStepFunc // sqlite3.c:158800:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 320)) = cume_distValueFunc // sqlite3.c:158800:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 328)) = cume_distValueFunc // sqlite3.c:158800:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 336)) = cume_distInvFunc // sqlite3.c:158800:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 344 /* .zName */)) = uintptr(unsafe.Pointer(&cume_distName)) // sqlite3.c:158800:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 384)) = ntileStepFunc // sqlite3.c:158801:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 392)) = ntileValueFunc // sqlite3.c:158801:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 400)) = ntileValueFunc // sqlite3.c:158801:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 408)) = ntileInvFunc // sqlite3.c:158801:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 416 /* .zName */)) = uintptr(unsafe.Pointer(&ntileName)) // sqlite3.c:158801:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 456)) = last_valueStepFunc // sqlite3.c:158802:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 464)) = last_valueFinalizeFunc // sqlite3.c:158802:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 472)) = last_valueValueFunc // sqlite3.c:158802:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 480)) = last_valueInvFunc // sqlite3.c:158802:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 488 /* .zName */)) = uintptr(unsafe.Pointer(&last_valueName)) // sqlite3.c:158802:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 528)) = nth_valueStepFunc // sqlite3.c:158803:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 536)) = nth_valueFinalizeFunc // sqlite3.c:158803:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 544)) = noopValueFunc // sqlite3.c:158803:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 552)) = noopStepFunc // sqlite3.c:158803:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 560 /* .zName */)) = uintptr(unsafe.Pointer(&nth_valueName)) // sqlite3.c:158803:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 600)) = first_valueStepFunc // sqlite3.c:158804:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 608)) = first_valueFinalizeFunc // sqlite3.c:158804:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 616)) = noopValueFunc // sqlite3.c:158804:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 624)) = noopStepFunc // sqlite3.c:158804:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 632 /* .zName */)) = uintptr(unsafe.Pointer(&first_valueName)) // sqlite3.c:158804:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 672)) = noopStepFunc // sqlite3.c:158805:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 680)) = noopValueFunc // sqlite3.c:158805:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 688)) = noopValueFunc // sqlite3.c:158805:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 696)) = noopStepFunc // sqlite3.c:158805:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 704 /* .zName */)) = uintptr(unsafe.Pointer(&leadName)) // sqlite3.c:158805:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 744)) = noopStepFunc // sqlite3.c:158806:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 752)) = noopValueFunc // sqlite3.c:158806:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 760)) = noopValueFunc // sqlite3.c:158806:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 768)) = noopStepFunc // sqlite3.c:158806:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 776 /* .zName */)) = uintptr(unsafe.Pointer(&leadName)) // sqlite3.c:158806:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 816)) = noopStepFunc // sqlite3.c:158807:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 824)) = noopValueFunc // sqlite3.c:158807:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 832)) = noopValueFunc // sqlite3.c:158807:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 840)) = noopStepFunc // sqlite3.c:158807:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 848 /* .zName */)) = uintptr(unsafe.Pointer(&leadName)) // sqlite3.c:158807:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 888)) = noopStepFunc // sqlite3.c:158808:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 896)) = noopValueFunc // sqlite3.c:158808:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 904)) = noopValueFunc // sqlite3.c:158808:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 912)) = noopStepFunc // sqlite3.c:158808:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 920 /* .zName */)) = uintptr(unsafe.Pointer(&lagName)) // sqlite3.c:158808:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 960)) = noopStepFunc // sqlite3.c:158809:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 968)) = noopValueFunc // sqlite3.c:158809:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 976)) = noopValueFunc // sqlite3.c:158809:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 984)) = noopStepFunc // sqlite3.c:158809:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 992 /* .zName */)) = uintptr(unsafe.Pointer(&lagName)) // sqlite3.c:158809:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 1032)) = noopStepFunc // sqlite3.c:158810:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 1040)) = noopValueFunc // sqlite3.c:158810:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 1048)) = noopValueFunc // sqlite3.c:158810:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 1056)) = noopStepFunc // sqlite3.c:158810:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 1064 /* .zName */)) = uintptr(unsafe.Pointer(&lagName)) // sqlite3.c:158810:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&attach_func)) + 24)) = attachFunc // sqlite3.c:113438:5: + }{libc.XFlushViewOfFile})) // sqlite3.c:44069:33: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 24)) = row_numberStepFunc // sqlite3.c:158853:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 32)) = row_numberValueFunc // sqlite3.c:158853:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 40)) = row_numberValueFunc // sqlite3.c:158853:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 48)) = noopStepFunc // sqlite3.c:158853:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 56 /* .zName */)) = uintptr(unsafe.Pointer(&row_numberName)) // sqlite3.c:158853:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 96)) = dense_rankStepFunc // sqlite3.c:158854:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 104)) = dense_rankValueFunc // sqlite3.c:158854:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 112)) = dense_rankValueFunc // sqlite3.c:158854:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 120)) = noopStepFunc // sqlite3.c:158854:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 128 /* .zName */)) = uintptr(unsafe.Pointer(&dense_rankName)) // sqlite3.c:158854:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 168)) = rankStepFunc // sqlite3.c:158855:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 176)) = rankValueFunc // sqlite3.c:158855:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 184)) = rankValueFunc // sqlite3.c:158855:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 192)) = noopStepFunc // sqlite3.c:158855:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 200 /* .zName */)) = uintptr(unsafe.Pointer(&rankName)) // sqlite3.c:158855:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 240)) = percent_rankStepFunc // sqlite3.c:158856:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 248)) = percent_rankValueFunc // sqlite3.c:158856:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 256)) = percent_rankValueFunc // sqlite3.c:158856:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 264)) = percent_rankInvFunc // sqlite3.c:158856:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 272 /* .zName */)) = uintptr(unsafe.Pointer(&percent_rankName)) // sqlite3.c:158856:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 312)) = cume_distStepFunc // sqlite3.c:158857:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 320)) = cume_distValueFunc // sqlite3.c:158857:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 328)) = cume_distValueFunc // sqlite3.c:158857:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 336)) = cume_distInvFunc // sqlite3.c:158857:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 344 /* .zName */)) = uintptr(unsafe.Pointer(&cume_distName)) // sqlite3.c:158857:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 384)) = ntileStepFunc // sqlite3.c:158858:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 392)) = ntileValueFunc // sqlite3.c:158858:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 400)) = ntileValueFunc // sqlite3.c:158858:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 408)) = ntileInvFunc // sqlite3.c:158858:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 416 /* .zName */)) = uintptr(unsafe.Pointer(&ntileName)) // sqlite3.c:158858:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 456)) = last_valueStepFunc // sqlite3.c:158859:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 464)) = last_valueFinalizeFunc // sqlite3.c:158859:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 472)) = last_valueValueFunc // sqlite3.c:158859:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 480)) = last_valueInvFunc // sqlite3.c:158859:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 488 /* .zName */)) = uintptr(unsafe.Pointer(&last_valueName)) // sqlite3.c:158859:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 528)) = nth_valueStepFunc // sqlite3.c:158860:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 536)) = nth_valueFinalizeFunc // sqlite3.c:158860:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 544)) = noopValueFunc // sqlite3.c:158860:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 552)) = noopStepFunc // sqlite3.c:158860:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 560 /* .zName */)) = uintptr(unsafe.Pointer(&nth_valueName)) // sqlite3.c:158860:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 600)) = first_valueStepFunc // sqlite3.c:158861:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 608)) = first_valueFinalizeFunc // sqlite3.c:158861:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 616)) = noopValueFunc // sqlite3.c:158861:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 624)) = noopStepFunc // sqlite3.c:158861:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 632 /* .zName */)) = uintptr(unsafe.Pointer(&first_valueName)) // sqlite3.c:158861:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 672)) = noopStepFunc // sqlite3.c:158862:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 680)) = noopValueFunc // sqlite3.c:158862:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 688)) = noopValueFunc // sqlite3.c:158862:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 696)) = noopStepFunc // sqlite3.c:158862:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 704 /* .zName */)) = uintptr(unsafe.Pointer(&leadName)) // sqlite3.c:158862:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 744)) = noopStepFunc // sqlite3.c:158863:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 752)) = noopValueFunc // sqlite3.c:158863:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 760)) = noopValueFunc // sqlite3.c:158863:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 768)) = noopStepFunc // sqlite3.c:158863:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 776 /* .zName */)) = uintptr(unsafe.Pointer(&leadName)) // sqlite3.c:158863:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 816)) = noopStepFunc // sqlite3.c:158864:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 824)) = noopValueFunc // sqlite3.c:158864:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 832)) = noopValueFunc // sqlite3.c:158864:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 840)) = noopStepFunc // sqlite3.c:158864:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 848 /* .zName */)) = uintptr(unsafe.Pointer(&leadName)) // sqlite3.c:158864:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 888)) = noopStepFunc // sqlite3.c:158865:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 896)) = noopValueFunc // sqlite3.c:158865:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 904)) = noopValueFunc // sqlite3.c:158865:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 912)) = noopStepFunc // sqlite3.c:158865:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 920 /* .zName */)) = uintptr(unsafe.Pointer(&lagName)) // sqlite3.c:158865:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 960)) = noopStepFunc // sqlite3.c:158866:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 968)) = noopValueFunc // sqlite3.c:158866:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 976)) = noopValueFunc // sqlite3.c:158866:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 984)) = noopStepFunc // sqlite3.c:158866:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 992 /* .zName */)) = uintptr(unsafe.Pointer(&lagName)) // sqlite3.c:158866:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 1032)) = noopStepFunc // sqlite3.c:158867:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 1040)) = noopValueFunc // sqlite3.c:158867:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 1048)) = noopValueFunc // sqlite3.c:158867:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 1056)) = noopStepFunc // sqlite3.c:158867:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aWindowFuncs)) + 1064 /* .zName */)) = uintptr(unsafe.Pointer(&lagName)) // sqlite3.c:158867:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&attach_func)) + 24)) = attachFunc // sqlite3.c:113451:5: *(*func(*libc.TLS, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods)) + 0)) = sqlite3MemMalloc // sqlite3.c:25299:6: *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods)) + 8)) = sqlite3MemFree // sqlite3.c:25300:6: *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods)) + 16)) = sqlite3MemRealloc // sqlite3.c:25301:6: @@ -241437,188 +241466,188 @@ func init() { *(*func(*libc.TLS, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods)) + 32)) = sqlite3MemRoundup // sqlite3.c:25303:6: *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods)) + 40)) = sqlite3MemInit // sqlite3.c:25304:6: *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods)) + 48)) = sqlite3MemShutdown // sqlite3.c:25305:6: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods1)) + 16)) = pcache1Init // sqlite3.c:52453:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods1)) + 24)) = pcache1Shutdown // sqlite3.c:52454:5: - *(*func(*libc.TLS, int32, int32, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods1)) + 32)) = pcache1Create // sqlite3.c:52455:5: - *(*func(*libc.TLS, uintptr, int32))(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods1)) + 40)) = pcache1Cachesize // sqlite3.c:52456:5: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods1)) + 48)) = pcache1Pagecount // sqlite3.c:52457:5: - *(*func(*libc.TLS, uintptr, uint32, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods1)) + 56)) = pcache1Fetch // sqlite3.c:52458:5: - *(*func(*libc.TLS, uintptr, uintptr, int32))(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods1)) + 64)) = pcache1Unpin // sqlite3.c:52459:5: - *(*func(*libc.TLS, uintptr, uintptr, uint32, uint32))(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods1)) + 72)) = pcache1Rekey // sqlite3.c:52460:5: - *(*func(*libc.TLS, uintptr, uint32))(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods1)) + 80)) = pcache1Truncate // sqlite3.c:52461:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods1)) + 88)) = pcache1Destroy // sqlite3.c:52462:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods1)) + 96)) = pcache1Shrink // sqlite3.c:52463:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&detach_func)) + 24)) = detachFunc // sqlite3.c:113418:5: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 8)) = fts5CreateMethod // sqlite3.c:234400:25: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 16)) = fts5ConnectMethod // sqlite3.c:234401:25: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 24)) = fts5BestIndexMethod // sqlite3.c:234402:25: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 32)) = fts5DisconnectMethod // sqlite3.c:234403:25: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 40)) = fts5DestroyMethod // sqlite3.c:234404:25: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 48)) = fts5OpenMethod // sqlite3.c:234405:25: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 56)) = fts5CloseMethod // sqlite3.c:234406:25: - *(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 64)) = fts5FilterMethod // sqlite3.c:234407:25: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 72)) = fts5NextMethod // sqlite3.c:234408:25: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 80)) = fts5EofMethod // sqlite3.c:234409:25: - *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 88)) = fts5ColumnMethod // sqlite3.c:234410:25: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 96)) = fts5RowidMethod // sqlite3.c:234411:25: - *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 104)) = fts5UpdateMethod // sqlite3.c:234412:25: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 112)) = fts5BeginMethod // sqlite3.c:234413:25: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 120)) = fts5SyncMethod // sqlite3.c:234414:25: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 128)) = fts5CommitMethod // sqlite3.c:234415:25: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 136)) = fts5RollbackMethod // sqlite3.c:234416:25: - *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 144)) = fts5FindFunctionMethod // sqlite3.c:234417:25: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 152)) = fts5RenameMethod // sqlite3.c:234418:25: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 160)) = fts5SavepointMethod // sqlite3.c:234419:25: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 168)) = fts5ReleaseMethod // sqlite3.c:234420:25: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 176)) = fts5RollbackToMethod // sqlite3.c:234421:25: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 184)) = fts5ShadowName // sqlite3.c:234422:25: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 8)) = fts5VocabCreateMethod // sqlite3.c:238983:25: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 16)) = fts5VocabConnectMethod // sqlite3.c:238984:25: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 24)) = fts5VocabBestIndexMethod // sqlite3.c:238985:25: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 32)) = fts5VocabDisconnectMethod // sqlite3.c:238986:25: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 40)) = fts5VocabDestroyMethod // sqlite3.c:238987:25: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 48)) = fts5VocabOpenMethod // sqlite3.c:238988:25: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 56)) = fts5VocabCloseMethod // sqlite3.c:238989:25: - *(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 64)) = fts5VocabFilterMethod // sqlite3.c:238990:25: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 72)) = fts5VocabNextMethod // sqlite3.c:238991:25: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 80)) = fts5VocabEofMethod // sqlite3.c:238992:25: - *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 88)) = fts5VocabColumnMethod // sqlite3.c:238993:25: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 96)) = fts5VocabRowidMethod // sqlite3.c:238994:25: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 8)) = geopolyCreate // sqlite3.c:201934:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 16)) = geopolyConnect // sqlite3.c:201935:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 24)) = geopolyBestIndex // sqlite3.c:201936:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 32)) = rtreeDisconnect // sqlite3.c:201937:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 40)) = rtreeDestroy // sqlite3.c:201938:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 48)) = rtreeOpen // sqlite3.c:201939:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 56)) = rtreeClose // sqlite3.c:201940:3: - *(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 64)) = geopolyFilter // sqlite3.c:201941:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 72)) = rtreeNext // sqlite3.c:201942:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 80)) = rtreeEof // sqlite3.c:201943:3: - *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 88)) = geopolyColumn // sqlite3.c:201944:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 96)) = rtreeRowid // sqlite3.c:201945:3: - *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 104)) = geopolyUpdate // sqlite3.c:201946:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 112)) = rtreeBeginTransaction // sqlite3.c:201947:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 120)) = rtreeEndTransaction // sqlite3.c:201948:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 128)) = rtreeEndTransaction // sqlite3.c:201949:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 136)) = rtreeEndTransaction // sqlite3.c:201950:3: - *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 144)) = geopolyFindFunction // sqlite3.c:201951:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 152)) = rtreeRename // sqlite3.c:201952:3: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 160)) = rtreeSavepoint // sqlite3.c:201953:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 184)) = rtreeShadowName // sqlite3.c:201956:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonEachModule)) + 16)) = jsonEachConnect // sqlite3.c:195676:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonEachModule)) + 24)) = jsonEachBestIndex // sqlite3.c:195677:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonEachModule)) + 32)) = jsonEachDisconnect // sqlite3.c:195678:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonEachModule)) + 48)) = jsonEachOpenEach // sqlite3.c:195680:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonEachModule)) + 56)) = jsonEachClose // sqlite3.c:195681:3: - *(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonEachModule)) + 64)) = jsonEachFilter // sqlite3.c:195682:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonEachModule)) + 72)) = jsonEachNext // sqlite3.c:195683:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonEachModule)) + 80)) = jsonEachEof // sqlite3.c:195684:3: - *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonEachModule)) + 88)) = jsonEachColumn // sqlite3.c:195685:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonEachModule)) + 96)) = jsonEachRowid // sqlite3.c:195686:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonTreeModule)) + 16)) = jsonEachConnect // sqlite3.c:195704:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonTreeModule)) + 24)) = jsonEachBestIndex // sqlite3.c:195705:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonTreeModule)) + 32)) = jsonEachDisconnect // sqlite3.c:195706:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonTreeModule)) + 48)) = jsonEachOpenTree // sqlite3.c:195708:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonTreeModule)) + 56)) = jsonEachClose // sqlite3.c:195709:3: - *(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonTreeModule)) + 64)) = jsonEachFilter // sqlite3.c:195710:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonTreeModule)) + 72)) = jsonEachNext // sqlite3.c:195711:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonTreeModule)) + 80)) = jsonEachEof // sqlite3.c:195712:3: - *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonTreeModule)) + 88)) = jsonEachColumn // sqlite3.c:195713:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonTreeModule)) + 96)) = jsonEachRowid // sqlite3.c:195714:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 8)) = memdbClose // sqlite3.c:49233:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 16)) = memdbRead // sqlite3.c:49234:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 24)) = memdbWrite // sqlite3.c:49235:3: - *(*func(*libc.TLS, uintptr, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 32)) = memdbTruncate // sqlite3.c:49236:3: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 40)) = memdbSync // sqlite3.c:49237:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 48)) = memdbFileSize // sqlite3.c:49238:3: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 56)) = memdbLock // sqlite3.c:49239:3: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 64)) = memdbLock // sqlite3.c:49240:3: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 80)) = memdbFileControl // sqlite3.c:49242:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 96)) = memdbDeviceCharacteristics // sqlite3.c:49244:3: - *(*func(*libc.TLS, uintptr, Sqlite3_int64, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 136)) = memdbFetch // sqlite3.c:49249:3: - *(*func(*libc.TLS, uintptr, Sqlite3_int64, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 144)) = memdbUnfetch // sqlite3.c:49250:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_vfs)) + 40)) = memdbOpen // sqlite3.c:49213:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_vfs)) + 56)) = memdbAccess // sqlite3.c:49215:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_vfs)) + 64)) = memdbFullPathname // sqlite3.c:49216:3: - *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_vfs)) + 72)) = memdbDlOpen // sqlite3.c:49217:3: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_vfs)) + 80)) = memdbDlError // sqlite3.c:49218:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_vfs)) + 88)) = memdbDlSym // sqlite3.c:49219:3: - *(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_vfs)) + 96)) = memdbDlClose // sqlite3.c:49220:3: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_vfs)) + 104)) = memdbRandomness // sqlite3.c:49221:3: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_vfs)) + 112)) = memdbSleep // sqlite3.c:49222:3: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_vfs)) + 128)) = memdbGetLastError // sqlite3.c:49224:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_vfs)) + 136)) = memdbCurrentTimeInt64 // sqlite3.c:49225:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&pragmaVtabModule)) + 16)) = pragmaVtabConnect // sqlite3.c:133106:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&pragmaVtabModule)) + 24)) = pragmaVtabBestIndex // sqlite3.c:133107:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&pragmaVtabModule)) + 32)) = pragmaVtabDisconnect // sqlite3.c:133108:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&pragmaVtabModule)) + 48)) = pragmaVtabOpen // sqlite3.c:133110:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&pragmaVtabModule)) + 56)) = pragmaVtabClose // sqlite3.c:133111:3: - *(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&pragmaVtabModule)) + 64)) = pragmaVtabFilter // sqlite3.c:133112:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&pragmaVtabModule)) + 72)) = pragmaVtabNext // sqlite3.c:133113:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&pragmaVtabModule)) + 80)) = pragmaVtabEof // sqlite3.c:133114:3: - *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&pragmaVtabModule)) + 88)) = pragmaVtabColumn // sqlite3.c:133115:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&pragmaVtabModule)) + 96)) = pragmaVtabRowid // sqlite3.c:133116:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 8)) = rbuVfsClose // sqlite3.c:208631:5: - *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 16)) = rbuVfsRead // sqlite3.c:208632:5: - *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 24)) = rbuVfsWrite // sqlite3.c:208633:5: - *(*func(*libc.TLS, uintptr, Sqlite_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 32)) = rbuVfsTruncate // sqlite3.c:208634:5: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 40)) = rbuVfsSync // sqlite3.c:208635:5: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 48)) = rbuVfsFileSize // sqlite3.c:208636:5: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 56)) = rbuVfsLock // sqlite3.c:208637:5: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 64)) = rbuVfsUnlock // sqlite3.c:208638:5: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 72)) = rbuVfsCheckReservedLock // sqlite3.c:208639:5: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 80)) = rbuVfsFileControl // sqlite3.c:208640:5: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 88)) = rbuVfsSectorSize // sqlite3.c:208641:5: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 96)) = rbuVfsDeviceCharacteristics // sqlite3.c:208642:5: - *(*func(*libc.TLS, uintptr, int32, int32, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 104)) = rbuVfsShmMap // sqlite3.c:208643:5: - *(*func(*libc.TLS, uintptr, int32, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 112)) = rbuVfsShmLock // sqlite3.c:208644:5: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 120)) = rbuVfsShmBarrier // sqlite3.c:208645:5: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 128)) = rbuVfsShmUnmap // sqlite3.c:208646:5: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 8)) = rtreeCreate // sqlite3.c:199272:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 16)) = rtreeConnect // sqlite3.c:199273:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 24)) = rtreeBestIndex // sqlite3.c:199274:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 32)) = rtreeDisconnect // sqlite3.c:199275:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 40)) = rtreeDestroy // sqlite3.c:199276:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 48)) = rtreeOpen // sqlite3.c:199277:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 56)) = rtreeClose // sqlite3.c:199278:3: - *(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 64)) = rtreeFilter // sqlite3.c:199279:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 72)) = rtreeNext // sqlite3.c:199280:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 80)) = rtreeEof // sqlite3.c:199281:3: - *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 88)) = rtreeColumn // sqlite3.c:199282:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 96)) = rtreeRowid // sqlite3.c:199283:3: - *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 104)) = rtreeUpdate // sqlite3.c:199284:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 112)) = rtreeBeginTransaction // sqlite3.c:199285:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 120)) = rtreeEndTransaction // sqlite3.c:199286:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 128)) = rtreeEndTransaction // sqlite3.c:199287:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 136)) = rtreeEndTransaction // sqlite3.c:199288:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 152)) = rtreeRename // sqlite3.c:199290:3: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 160)) = rtreeSavepoint // sqlite3.c:199291:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 184)) = rtreeShadowName // sqlite3.c:199294:3: - *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 8)) = fts5ApiUserData // sqlite3.c:233859:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 16)) = fts5ApiColumnCount // sqlite3.c:233860:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 24)) = fts5ApiRowCount // sqlite3.c:233861:3: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 32)) = fts5ApiColumnTotalSize // sqlite3.c:233862:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 40)) = fts5ApiTokenize // sqlite3.c:233863:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 48)) = fts5ApiPhraseCount // sqlite3.c:233864:3: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 56)) = fts5ApiPhraseSize // sqlite3.c:233865:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 64)) = fts5ApiInstCount // sqlite3.c:233866:3: - *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 72)) = fts5ApiInst // sqlite3.c:233867:3: - *(*func(*libc.TLS, uintptr) Sqlite3_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 80)) = fts5ApiRowid // sqlite3.c:233868:3: - *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 88)) = fts5ApiColumnText // sqlite3.c:233869:3: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 96)) = fts5ApiColumnSize // sqlite3.c:233870:3: - *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 104)) = fts5ApiQueryPhrase // sqlite3.c:233871:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 112)) = fts5ApiSetAuxdata // sqlite3.c:233872:3: - *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 120)) = fts5ApiGetAuxdata // sqlite3.c:233873:3: - *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 128)) = fts5ApiPhraseFirst // sqlite3.c:233874:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 136)) = fts5ApiPhraseNext // sqlite3.c:233875:3: - *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 144)) = fts5ApiPhraseFirstColumn // sqlite3.c:233876:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 152)) = fts5ApiPhraseNextColumn // sqlite3.c:233877:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sMemJournalMethods)) + 8)) = memjrnlClose // sqlite3.c:100023:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sMemJournalMethods)) + 16)) = memjrnlRead // sqlite3.c:100024:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sMemJournalMethods)) + 24)) = memjrnlWrite // sqlite3.c:100025:3: - *(*func(*libc.TLS, uintptr, Sqlite_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sMemJournalMethods)) + 32)) = memjrnlTruncate // sqlite3.c:100026:3: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sMemJournalMethods)) + 40)) = memjrnlSync // sqlite3.c:100027:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sMemJournalMethods)) + 48)) = memjrnlFileSize // sqlite3.c:100028:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods1)) + 16)) = pcache1Init // sqlite3.c:52463:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods1)) + 24)) = pcache1Shutdown // sqlite3.c:52464:5: + *(*func(*libc.TLS, int32, int32, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods1)) + 32)) = pcache1Create // sqlite3.c:52465:5: + *(*func(*libc.TLS, uintptr, int32))(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods1)) + 40)) = pcache1Cachesize // sqlite3.c:52466:5: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods1)) + 48)) = pcache1Pagecount // sqlite3.c:52467:5: + *(*func(*libc.TLS, uintptr, uint32, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods1)) + 56)) = pcache1Fetch // sqlite3.c:52468:5: + *(*func(*libc.TLS, uintptr, uintptr, int32))(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods1)) + 64)) = pcache1Unpin // sqlite3.c:52469:5: + *(*func(*libc.TLS, uintptr, uintptr, uint32, uint32))(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods1)) + 72)) = pcache1Rekey // sqlite3.c:52470:5: + *(*func(*libc.TLS, uintptr, uint32))(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods1)) + 80)) = pcache1Truncate // sqlite3.c:52471:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods1)) + 88)) = pcache1Destroy // sqlite3.c:52472:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&defaultMethods1)) + 96)) = pcache1Shrink // sqlite3.c:52473:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&detach_func)) + 24)) = detachFunc // sqlite3.c:113431:5: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 8)) = fts5CreateMethod // sqlite3.c:234457:25: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 16)) = fts5ConnectMethod // sqlite3.c:234458:25: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 24)) = fts5BestIndexMethod // sqlite3.c:234459:25: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 32)) = fts5DisconnectMethod // sqlite3.c:234460:25: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 40)) = fts5DestroyMethod // sqlite3.c:234461:25: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 48)) = fts5OpenMethod // sqlite3.c:234462:25: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 56)) = fts5CloseMethod // sqlite3.c:234463:25: + *(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 64)) = fts5FilterMethod // sqlite3.c:234464:25: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 72)) = fts5NextMethod // sqlite3.c:234465:25: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 80)) = fts5EofMethod // sqlite3.c:234466:25: + *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 88)) = fts5ColumnMethod // sqlite3.c:234467:25: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 96)) = fts5RowidMethod // sqlite3.c:234468:25: + *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 104)) = fts5UpdateMethod // sqlite3.c:234469:25: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 112)) = fts5BeginMethod // sqlite3.c:234470:25: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 120)) = fts5SyncMethod // sqlite3.c:234471:25: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 128)) = fts5CommitMethod // sqlite3.c:234472:25: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 136)) = fts5RollbackMethod // sqlite3.c:234473:25: + *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 144)) = fts5FindFunctionMethod // sqlite3.c:234474:25: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 152)) = fts5RenameMethod // sqlite3.c:234475:25: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 160)) = fts5SavepointMethod // sqlite3.c:234476:25: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 168)) = fts5ReleaseMethod // sqlite3.c:234477:25: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 176)) = fts5RollbackToMethod // sqlite3.c:234478:25: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Mod)) + 184)) = fts5ShadowName // sqlite3.c:234479:25: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 8)) = fts5VocabCreateMethod // sqlite3.c:239040:25: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 16)) = fts5VocabConnectMethod // sqlite3.c:239041:25: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 24)) = fts5VocabBestIndexMethod // sqlite3.c:239042:25: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 32)) = fts5VocabDisconnectMethod // sqlite3.c:239043:25: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 40)) = fts5VocabDestroyMethod // sqlite3.c:239044:25: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 48)) = fts5VocabOpenMethod // sqlite3.c:239045:25: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 56)) = fts5VocabCloseMethod // sqlite3.c:239046:25: + *(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 64)) = fts5VocabFilterMethod // sqlite3.c:239047:25: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 72)) = fts5VocabNextMethod // sqlite3.c:239048:25: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 80)) = fts5VocabEofMethod // sqlite3.c:239049:25: + *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 88)) = fts5VocabColumnMethod // sqlite3.c:239050:25: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5Vocab)) + 96)) = fts5VocabRowidMethod // sqlite3.c:239051:25: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 8)) = geopolyCreate // sqlite3.c:201991:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 16)) = geopolyConnect // sqlite3.c:201992:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 24)) = geopolyBestIndex // sqlite3.c:201993:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 32)) = rtreeDisconnect // sqlite3.c:201994:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 40)) = rtreeDestroy // sqlite3.c:201995:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 48)) = rtreeOpen // sqlite3.c:201996:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 56)) = rtreeClose // sqlite3.c:201997:3: + *(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 64)) = geopolyFilter // sqlite3.c:201998:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 72)) = rtreeNext // sqlite3.c:201999:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 80)) = rtreeEof // sqlite3.c:202000:3: + *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 88)) = geopolyColumn // sqlite3.c:202001:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 96)) = rtreeRowid // sqlite3.c:202002:3: + *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 104)) = geopolyUpdate // sqlite3.c:202003:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 112)) = rtreeBeginTransaction // sqlite3.c:202004:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 120)) = rtreeEndTransaction // sqlite3.c:202005:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 128)) = rtreeEndTransaction // sqlite3.c:202006:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 136)) = rtreeEndTransaction // sqlite3.c:202007:3: + *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 144)) = geopolyFindFunction // sqlite3.c:202008:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 152)) = rtreeRename // sqlite3.c:202009:3: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 160)) = rtreeSavepoint // sqlite3.c:202010:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&geopolyModule)) + 184)) = rtreeShadowName // sqlite3.c:202013:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonEachModule)) + 16)) = jsonEachConnect // sqlite3.c:195733:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonEachModule)) + 24)) = jsonEachBestIndex // sqlite3.c:195734:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonEachModule)) + 32)) = jsonEachDisconnect // sqlite3.c:195735:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonEachModule)) + 48)) = jsonEachOpenEach // sqlite3.c:195737:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonEachModule)) + 56)) = jsonEachClose // sqlite3.c:195738:3: + *(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonEachModule)) + 64)) = jsonEachFilter // sqlite3.c:195739:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonEachModule)) + 72)) = jsonEachNext // sqlite3.c:195740:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonEachModule)) + 80)) = jsonEachEof // sqlite3.c:195741:3: + *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonEachModule)) + 88)) = jsonEachColumn // sqlite3.c:195742:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonEachModule)) + 96)) = jsonEachRowid // sqlite3.c:195743:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonTreeModule)) + 16)) = jsonEachConnect // sqlite3.c:195761:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonTreeModule)) + 24)) = jsonEachBestIndex // sqlite3.c:195762:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonTreeModule)) + 32)) = jsonEachDisconnect // sqlite3.c:195763:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonTreeModule)) + 48)) = jsonEachOpenTree // sqlite3.c:195765:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonTreeModule)) + 56)) = jsonEachClose // sqlite3.c:195766:3: + *(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonTreeModule)) + 64)) = jsonEachFilter // sqlite3.c:195767:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonTreeModule)) + 72)) = jsonEachNext // sqlite3.c:195768:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonTreeModule)) + 80)) = jsonEachEof // sqlite3.c:195769:3: + *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonTreeModule)) + 88)) = jsonEachColumn // sqlite3.c:195770:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jsonTreeModule)) + 96)) = jsonEachRowid // sqlite3.c:195771:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 8)) = memdbClose // sqlite3.c:49243:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 16)) = memdbRead // sqlite3.c:49244:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 24)) = memdbWrite // sqlite3.c:49245:3: + *(*func(*libc.TLS, uintptr, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 32)) = memdbTruncate // sqlite3.c:49246:3: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 40)) = memdbSync // sqlite3.c:49247:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 48)) = memdbFileSize // sqlite3.c:49248:3: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 56)) = memdbLock // sqlite3.c:49249:3: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 64)) = memdbLock // sqlite3.c:49250:3: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 80)) = memdbFileControl // sqlite3.c:49252:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 96)) = memdbDeviceCharacteristics // sqlite3.c:49254:3: + *(*func(*libc.TLS, uintptr, Sqlite3_int64, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 136)) = memdbFetch // sqlite3.c:49259:3: + *(*func(*libc.TLS, uintptr, Sqlite3_int64, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_io_methods)) + 144)) = memdbUnfetch // sqlite3.c:49260:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_vfs)) + 40)) = memdbOpen // sqlite3.c:49223:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_vfs)) + 56)) = memdbAccess // sqlite3.c:49225:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_vfs)) + 64)) = memdbFullPathname // sqlite3.c:49226:3: + *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_vfs)) + 72)) = memdbDlOpen // sqlite3.c:49227:3: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_vfs)) + 80)) = memdbDlError // sqlite3.c:49228:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_vfs)) + 88)) = memdbDlSym // sqlite3.c:49229:3: + *(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_vfs)) + 96)) = memdbDlClose // sqlite3.c:49230:3: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_vfs)) + 104)) = memdbRandomness // sqlite3.c:49231:3: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_vfs)) + 112)) = memdbSleep // sqlite3.c:49232:3: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_vfs)) + 128)) = memdbGetLastError // sqlite3.c:49234:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&memdb_vfs)) + 136)) = memdbCurrentTimeInt64 // sqlite3.c:49235:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&pragmaVtabModule)) + 16)) = pragmaVtabConnect // sqlite3.c:133119:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&pragmaVtabModule)) + 24)) = pragmaVtabBestIndex // sqlite3.c:133120:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&pragmaVtabModule)) + 32)) = pragmaVtabDisconnect // sqlite3.c:133121:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&pragmaVtabModule)) + 48)) = pragmaVtabOpen // sqlite3.c:133123:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&pragmaVtabModule)) + 56)) = pragmaVtabClose // sqlite3.c:133124:3: + *(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&pragmaVtabModule)) + 64)) = pragmaVtabFilter // sqlite3.c:133125:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&pragmaVtabModule)) + 72)) = pragmaVtabNext // sqlite3.c:133126:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&pragmaVtabModule)) + 80)) = pragmaVtabEof // sqlite3.c:133127:3: + *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&pragmaVtabModule)) + 88)) = pragmaVtabColumn // sqlite3.c:133128:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&pragmaVtabModule)) + 96)) = pragmaVtabRowid // sqlite3.c:133129:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 8)) = rbuVfsClose // sqlite3.c:208688:5: + *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 16)) = rbuVfsRead // sqlite3.c:208689:5: + *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 24)) = rbuVfsWrite // sqlite3.c:208690:5: + *(*func(*libc.TLS, uintptr, Sqlite_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 32)) = rbuVfsTruncate // sqlite3.c:208691:5: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 40)) = rbuVfsSync // sqlite3.c:208692:5: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 48)) = rbuVfsFileSize // sqlite3.c:208693:5: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 56)) = rbuVfsLock // sqlite3.c:208694:5: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 64)) = rbuVfsUnlock // sqlite3.c:208695:5: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 72)) = rbuVfsCheckReservedLock // sqlite3.c:208696:5: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 80)) = rbuVfsFileControl // sqlite3.c:208697:5: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 88)) = rbuVfsSectorSize // sqlite3.c:208698:5: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 96)) = rbuVfsDeviceCharacteristics // sqlite3.c:208699:5: + *(*func(*libc.TLS, uintptr, int32, int32, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 104)) = rbuVfsShmMap // sqlite3.c:208700:5: + *(*func(*libc.TLS, uintptr, int32, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 112)) = rbuVfsShmLock // sqlite3.c:208701:5: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 120)) = rbuVfsShmBarrier // sqlite3.c:208702:5: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rbuvfs_io_methods)) + 128)) = rbuVfsShmUnmap // sqlite3.c:208703:5: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 8)) = rtreeCreate // sqlite3.c:199329:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 16)) = rtreeConnect // sqlite3.c:199330:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 24)) = rtreeBestIndex // sqlite3.c:199331:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 32)) = rtreeDisconnect // sqlite3.c:199332:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 40)) = rtreeDestroy // sqlite3.c:199333:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 48)) = rtreeOpen // sqlite3.c:199334:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 56)) = rtreeClose // sqlite3.c:199335:3: + *(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 64)) = rtreeFilter // sqlite3.c:199336:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 72)) = rtreeNext // sqlite3.c:199337:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 80)) = rtreeEof // sqlite3.c:199338:3: + *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 88)) = rtreeColumn // sqlite3.c:199339:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 96)) = rtreeRowid // sqlite3.c:199340:3: + *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 104)) = rtreeUpdate // sqlite3.c:199341:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 112)) = rtreeBeginTransaction // sqlite3.c:199342:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 120)) = rtreeEndTransaction // sqlite3.c:199343:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 128)) = rtreeEndTransaction // sqlite3.c:199344:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 136)) = rtreeEndTransaction // sqlite3.c:199345:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 152)) = rtreeRename // sqlite3.c:199347:3: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 160)) = rtreeSavepoint // sqlite3.c:199348:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&rtreeModule)) + 184)) = rtreeShadowName // sqlite3.c:199351:3: + *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 8)) = fts5ApiUserData // sqlite3.c:233916:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 16)) = fts5ApiColumnCount // sqlite3.c:233917:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 24)) = fts5ApiRowCount // sqlite3.c:233918:3: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 32)) = fts5ApiColumnTotalSize // sqlite3.c:233919:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 40)) = fts5ApiTokenize // sqlite3.c:233920:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 48)) = fts5ApiPhraseCount // sqlite3.c:233921:3: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 56)) = fts5ApiPhraseSize // sqlite3.c:233922:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 64)) = fts5ApiInstCount // sqlite3.c:233923:3: + *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 72)) = fts5ApiInst // sqlite3.c:233924:3: + *(*func(*libc.TLS, uintptr) Sqlite3_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 80)) = fts5ApiRowid // sqlite3.c:233925:3: + *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 88)) = fts5ApiColumnText // sqlite3.c:233926:3: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 96)) = fts5ApiColumnSize // sqlite3.c:233927:3: + *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 104)) = fts5ApiQueryPhrase // sqlite3.c:233928:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 112)) = fts5ApiSetAuxdata // sqlite3.c:233929:3: + *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 120)) = fts5ApiGetAuxdata // sqlite3.c:233930:3: + *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 128)) = fts5ApiPhraseFirst // sqlite3.c:233931:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 136)) = fts5ApiPhraseNext // sqlite3.c:233932:3: + *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 144)) = fts5ApiPhraseFirstColumn // sqlite3.c:233933:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sFts5Api)) + 152)) = fts5ApiPhraseNextColumn // sqlite3.c:233934:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sMemJournalMethods)) + 8)) = memjrnlClose // sqlite3.c:100036:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sMemJournalMethods)) + 16)) = memjrnlRead // sqlite3.c:100037:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sMemJournalMethods)) + 24)) = memjrnlWrite // sqlite3.c:100038:3: + *(*func(*libc.TLS, uintptr, Sqlite_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sMemJournalMethods)) + 32)) = memjrnlTruncate // sqlite3.c:100039:3: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sMemJournalMethods)) + 40)) = memjrnlSync // sqlite3.c:100040:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sMemJournalMethods)) + 48)) = memjrnlFileSize // sqlite3.c:100041:3: *(*func(*libc.TLS) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sMutex)) + 0)) = noopMutexInit // sqlite3.c:27532:5: *(*func(*libc.TLS) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sMutex)) + 8)) = noopMutexEnd // sqlite3.c:27533:5: *(*func(*libc.TLS, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sMutex)) + 16)) = noopMutexAlloc // sqlite3.c:27534:5: @@ -241626,394 +241655,394 @@ func init() { *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sMutex)) + 32)) = noopMutexEnter // sqlite3.c:27536:5: *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sMutex)) + 40)) = noopMutexTry // sqlite3.c:27537:5: *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sMutex)) + 48)) = noopMutexLeave // sqlite3.c:27538:5: - *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 0)) = Xsqlite3_aggregate_context // sqlite3.c:129019:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 8)) = Xsqlite3_aggregate_count // sqlite3.c:129021:3: - *(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 16)) = Xsqlite3_bind_blob // sqlite3.c:129025:3: - *(*func(*libc.TLS, uintptr, int32, float64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 24)) = Xsqlite3_bind_double // sqlite3.c:129026:3: - *(*func(*libc.TLS, uintptr, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 32)) = Xsqlite3_bind_int // sqlite3.c:129027:3: - *(*func(*libc.TLS, uintptr, int32, Sqlite_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 40)) = Xsqlite3_bind_int64 // sqlite3.c:129028:3: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 48)) = Xsqlite3_bind_null // sqlite3.c:129029:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 56)) = Xsqlite3_bind_parameter_count // sqlite3.c:129030:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 64)) = Xsqlite3_bind_parameter_index // sqlite3.c:129031:3: - *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 72)) = Xsqlite3_bind_parameter_name // sqlite3.c:129032:3: - *(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 80)) = Xsqlite3_bind_text // sqlite3.c:129033:3: - *(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 88)) = Xsqlite3_bind_text16 // sqlite3.c:129034:3: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 96)) = Xsqlite3_bind_value // sqlite3.c:129035:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 104)) = Xsqlite3_busy_handler // sqlite3.c:129036:3: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 112)) = Xsqlite3_busy_timeout // sqlite3.c:129037:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 120)) = Xsqlite3_changes // sqlite3.c:129038:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 128)) = Xsqlite3_close // sqlite3.c:129039:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 136)) = Xsqlite3_collation_needed // sqlite3.c:129040:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 144)) = Xsqlite3_collation_needed16 // sqlite3.c:129041:3: - *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 152)) = Xsqlite3_column_blob // sqlite3.c:129042:3: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 160)) = Xsqlite3_column_bytes // sqlite3.c:129043:3: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 168)) = Xsqlite3_column_bytes16 // sqlite3.c:129044:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 176)) = Xsqlite3_column_count // sqlite3.c:129045:3: - *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 184)) = Xsqlite3_column_database_name // sqlite3.c:129046:3: - *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 192)) = Xsqlite3_column_database_name16 // sqlite3.c:129047:3: - *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 200)) = Xsqlite3_column_decltype // sqlite3.c:129048:3: - *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 208)) = Xsqlite3_column_decltype16 // sqlite3.c:129049:3: - *(*func(*libc.TLS, uintptr, int32) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 216)) = Xsqlite3_column_double // sqlite3.c:129050:3: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 224)) = Xsqlite3_column_int // sqlite3.c:129051:3: - *(*func(*libc.TLS, uintptr, int32) Sqlite_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 232)) = Xsqlite3_column_int64 // sqlite3.c:129052:3: - *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 240)) = Xsqlite3_column_name // sqlite3.c:129053:3: - *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 248)) = Xsqlite3_column_name16 // sqlite3.c:129054:3: - *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 256)) = Xsqlite3_column_origin_name // sqlite3.c:129055:3: - *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 264)) = Xsqlite3_column_origin_name16 // sqlite3.c:129056:3: - *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 272)) = Xsqlite3_column_table_name // sqlite3.c:129057:3: - *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 280)) = Xsqlite3_column_table_name16 // sqlite3.c:129058:3: - *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 288)) = Xsqlite3_column_text // sqlite3.c:129059:3: - *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 296)) = Xsqlite3_column_text16 // sqlite3.c:129060:3: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 304)) = Xsqlite3_column_type // sqlite3.c:129061:3: - *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 312)) = Xsqlite3_column_value // sqlite3.c:129062:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 320)) = Xsqlite3_commit_hook // sqlite3.c:129063:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 328)) = Xsqlite3_complete // sqlite3.c:129064:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 336)) = Xsqlite3_complete16 // sqlite3.c:129065:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 344)) = Xsqlite3_create_collation // sqlite3.c:129066:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 352)) = Xsqlite3_create_collation16 // sqlite3.c:129067:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, int32, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 360)) = Xsqlite3_create_function // sqlite3.c:129068:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, int32, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 368)) = Xsqlite3_create_function16 // sqlite3.c:129069:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 376)) = Xsqlite3_create_module // sqlite3.c:129070:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 384)) = Xsqlite3_data_count // sqlite3.c:129071:3: - *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 392)) = Xsqlite3_db_handle // sqlite3.c:129072:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 400)) = Xsqlite3_declare_vtab // sqlite3.c:129073:3: - *(*func(*libc.TLS, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 408)) = Xsqlite3_enable_shared_cache // sqlite3.c:129074:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 416)) = Xsqlite3_errcode // sqlite3.c:129075:3: - *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 424)) = Xsqlite3_errmsg // sqlite3.c:129076:3: - *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 432)) = Xsqlite3_errmsg16 // sqlite3.c:129077:3: - *(*func(*libc.TLS, uintptr, uintptr, Sqlite3_callback, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 440)) = Xsqlite3_exec // sqlite3.c:129078:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 448)) = Xsqlite3_expired // sqlite3.c:129080:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 456)) = Xsqlite3_finalize // sqlite3.c:129084:3: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 464)) = Xsqlite3_free // sqlite3.c:129085:3: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 472)) = Xsqlite3_free_table // sqlite3.c:129086:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 480)) = Xsqlite3_get_autocommit // sqlite3.c:129087:3: - *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 488)) = Xsqlite3_get_auxdata // sqlite3.c:129088:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 496)) = Xsqlite3_get_table // sqlite3.c:129089:3: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 512)) = Xsqlite3_interrupt // sqlite3.c:129091:3: - *(*func(*libc.TLS, uintptr) Sqlite3_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 520)) = Xsqlite3_last_insert_rowid // sqlite3.c:129092:3: - *(*func(*libc.TLS) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 528)) = Xsqlite3_libversion // sqlite3.c:129093:3: - *(*func(*libc.TLS) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 536)) = Xsqlite3_libversion_number // sqlite3.c:129094:3: - *(*func(*libc.TLS, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 544)) = Xsqlite3_malloc // sqlite3.c:129095:3: - *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 552)) = Xsqlite3_mprintf // sqlite3.c:129096:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 560)) = Xsqlite3_open // sqlite3.c:129097:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 568)) = Xsqlite3_open16 // sqlite3.c:129098:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 576)) = Xsqlite3_prepare // sqlite3.c:129099:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 584)) = Xsqlite3_prepare16 // sqlite3.c:129100:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 592)) = Xsqlite3_profile // sqlite3.c:129101:3: - *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 600)) = Xsqlite3_progress_handler // sqlite3.c:129102:3: - *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 608)) = Xsqlite3_realloc // sqlite3.c:129103:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 616)) = Xsqlite3_reset // sqlite3.c:129104:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 624)) = Xsqlite3_result_blob // sqlite3.c:129105:3: - *(*func(*libc.TLS, uintptr, float64))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 632)) = Xsqlite3_result_double // sqlite3.c:129106:3: - *(*func(*libc.TLS, uintptr, uintptr, int32))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 640)) = Xsqlite3_result_error // sqlite3.c:129107:3: - *(*func(*libc.TLS, uintptr, uintptr, int32))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 648)) = Xsqlite3_result_error16 // sqlite3.c:129108:3: - *(*func(*libc.TLS, uintptr, int32))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 656)) = Xsqlite3_result_int // sqlite3.c:129109:3: - *(*func(*libc.TLS, uintptr, I64))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 664)) = Xsqlite3_result_int64 // sqlite3.c:129110:3: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 672)) = Xsqlite3_result_null // sqlite3.c:129111:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 680)) = Xsqlite3_result_text // sqlite3.c:129112:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 688)) = Xsqlite3_result_text16 // sqlite3.c:129113:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 696)) = Xsqlite3_result_text16be // sqlite3.c:129114:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 704)) = Xsqlite3_result_text16le // sqlite3.c:129115:3: - *(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 712)) = Xsqlite3_result_value // sqlite3.c:129116:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 720)) = Xsqlite3_rollback_hook // sqlite3.c:129117:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 728)) = Xsqlite3_set_authorizer // sqlite3.c:129118:3: - *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 736)) = Xsqlite3_set_auxdata // sqlite3.c:129119:3: - *(*func(*libc.TLS, int32, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 744)) = Xsqlite3_snprintf // sqlite3.c:129120:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 752)) = Xsqlite3_step // sqlite3.c:129121:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr, uintptr, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 760)) = Xsqlite3_table_column_metadata // sqlite3.c:129122:3: - *(*func(*libc.TLS))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 768)) = Xsqlite3_thread_cleanup // sqlite3.c:129124:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 776)) = Xsqlite3_total_changes // sqlite3.c:129128:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 784)) = Xsqlite3_trace // sqlite3.c:129129:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 792)) = Xsqlite3_transfer_bindings // sqlite3.c:129131:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 800)) = Xsqlite3_update_hook // sqlite3.c:129135:3: - *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 808)) = Xsqlite3_user_data // sqlite3.c:129136:3: - *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 816)) = Xsqlite3_value_blob // sqlite3.c:129137:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 824)) = Xsqlite3_value_bytes // sqlite3.c:129138:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 832)) = Xsqlite3_value_bytes16 // sqlite3.c:129139:3: - *(*func(*libc.TLS, uintptr) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 840)) = Xsqlite3_value_double // sqlite3.c:129140:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 848)) = Xsqlite3_value_int // sqlite3.c:129141:3: - *(*func(*libc.TLS, uintptr) Sqlite_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 856)) = Xsqlite3_value_int64 // sqlite3.c:129142:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 864)) = Xsqlite3_value_numeric_type // sqlite3.c:129143:3: - *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 872)) = Xsqlite3_value_text // sqlite3.c:129144:3: - *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 880)) = Xsqlite3_value_text16 // sqlite3.c:129145:3: - *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 888)) = Xsqlite3_value_text16be // sqlite3.c:129146:3: - *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 896)) = Xsqlite3_value_text16le // sqlite3.c:129147:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 904)) = Xsqlite3_value_type // sqlite3.c:129148:3: - *(*func(*libc.TLS, uintptr, Va_list) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 912)) = Xsqlite3_vmprintf // sqlite3.c:129149:3: - *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 920)) = Xsqlite3_overload_function // sqlite3.c:129158:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 928)) = Xsqlite3_prepare_v2 // sqlite3.c:129163:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 936)) = Xsqlite3_prepare16_v2 // sqlite3.c:129164:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 944)) = Xsqlite3_clear_bindings // sqlite3.c:129165:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 952)) = Xsqlite3_create_module_v2 // sqlite3.c:129170:3: - *(*func(*libc.TLS, uintptr, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 960)) = Xsqlite3_bind_zeroblob // sqlite3.c:129175:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 968)) = Xsqlite3_blob_bytes // sqlite3.c:129176:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 976)) = Xsqlite3_blob_close // sqlite3.c:129177:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr, Sqlite_int64, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 984)) = Xsqlite3_blob_open // sqlite3.c:129178:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 992)) = Xsqlite3_blob_read // sqlite3.c:129179:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1000)) = Xsqlite3_blob_write // sqlite3.c:129180:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1008)) = Xsqlite3_create_collation_v2 // sqlite3.c:129181:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1016)) = Xsqlite3_file_control // sqlite3.c:129182:3: - *(*func(*libc.TLS, int32) Sqlite3_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1024)) = Xsqlite3_memory_highwater // sqlite3.c:129183:3: - *(*func(*libc.TLS) Sqlite3_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1032)) = Xsqlite3_memory_used // sqlite3.c:129184:3: - *(*func(*libc.TLS, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1040)) = Xsqlite3_mutex_alloc // sqlite3.c:129192:3: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1048)) = Xsqlite3_mutex_enter // sqlite3.c:129193:3: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1056)) = Xsqlite3_mutex_free // sqlite3.c:129194:3: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1064)) = Xsqlite3_mutex_leave // sqlite3.c:129195:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1072)) = Xsqlite3_mutex_try // sqlite3.c:129196:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1080)) = Xsqlite3_open_v2 // sqlite3.c:129198:3: - *(*func(*libc.TLS, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1088)) = Xsqlite3_release_memory // sqlite3.c:129199:3: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1096)) = Xsqlite3_result_error_nomem // sqlite3.c:129200:3: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1104)) = Xsqlite3_result_error_toobig // sqlite3.c:129201:3: - *(*func(*libc.TLS, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1112)) = Xsqlite3_sleep // sqlite3.c:129202:3: - *(*func(*libc.TLS, int32))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1120)) = Xsqlite3_soft_heap_limit // sqlite3.c:129203:3: - *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1128)) = Xsqlite3_vfs_find // sqlite3.c:129204:3: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1136)) = Xsqlite3_vfs_register // sqlite3.c:129205:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1144)) = Xsqlite3_vfs_unregister // sqlite3.c:129206:3: - *(*func(*libc.TLS) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1152)) = Xsqlite3_threadsafe // sqlite3.c:129211:3: - *(*func(*libc.TLS, uintptr, int32))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1160)) = Xsqlite3_result_zeroblob // sqlite3.c:129212:3: - *(*func(*libc.TLS, uintptr, int32))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1168)) = Xsqlite3_result_error_code // sqlite3.c:129213:3: - *(*func(*libc.TLS, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1176)) = Xsqlite3_test_control // sqlite3.c:129214:3: - *(*func(*libc.TLS, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1184)) = Xsqlite3_randomness // sqlite3.c:129215:3: - *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1192)) = Xsqlite3_context_db_handle // sqlite3.c:129216:3: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1200)) = Xsqlite3_extended_result_codes // sqlite3.c:129221:3: - *(*func(*libc.TLS, uintptr, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1208)) = Xsqlite3_limit // sqlite3.c:129222:3: - *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1216)) = Xsqlite3_next_stmt // sqlite3.c:129223:3: - *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1224)) = Xsqlite3_sql // sqlite3.c:129224:3: - *(*func(*libc.TLS, int32, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1232)) = Xsqlite3_status // sqlite3.c:129225:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1240)) = Xsqlite3_backup_finish // sqlite3.c:129230:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1248)) = Xsqlite3_backup_init // sqlite3.c:129231:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1256)) = Xsqlite3_backup_pagecount // sqlite3.c:129232:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1264)) = Xsqlite3_backup_remaining // sqlite3.c:129233:3: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1272)) = Xsqlite3_backup_step // sqlite3.c:129234:3: - *(*func(*libc.TLS, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1280)) = Xsqlite3_compileoption_get // sqlite3.c:129236:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1288)) = Xsqlite3_compileoption_used // sqlite3.c:129237:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, int32, uintptr, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1296)) = Xsqlite3_create_function_v2 // sqlite3.c:129242:3: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1304)) = Xsqlite3_db_config // sqlite3.c:129243:3: - *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1312)) = Xsqlite3_db_mutex // sqlite3.c:129244:3: - *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1320)) = Xsqlite3_db_status // sqlite3.c:129245:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1328)) = Xsqlite3_extended_errcode // sqlite3.c:129246:3: - *(*func(*libc.TLS, int32, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1336)) = Xsqlite3_log // sqlite3.c:129247:3: - *(*func(*libc.TLS, Sqlite3_int64) Sqlite3_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1344)) = Xsqlite3_soft_heap_limit64 // sqlite3.c:129248:3: - *(*func(*libc.TLS) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1352)) = Xsqlite3_sourceid // sqlite3.c:129249:3: - *(*func(*libc.TLS, uintptr, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1360)) = Xsqlite3_stmt_status // sqlite3.c:129250:3: - *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1368)) = Xsqlite3_strnicmp // sqlite3.c:129251:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1376)) = Xsqlite3_unlock_notify // sqlite3.c:129253:3: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1384)) = Xsqlite3_wal_autocheckpoint // sqlite3.c:129258:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1392)) = Xsqlite3_wal_checkpoint // sqlite3.c:129259:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1400)) = Xsqlite3_wal_hook // sqlite3.c:129260:3: - *(*func(*libc.TLS, uintptr, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1408)) = Xsqlite3_blob_reopen // sqlite3.c:129266:3: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1416)) = Xsqlite3_vtab_config // sqlite3.c:129267:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1424)) = Xsqlite3_vtab_on_conflict // sqlite3.c:129268:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1432)) = Xsqlite3_close_v2 // sqlite3.c:129269:3: - *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1440)) = Xsqlite3_db_filename // sqlite3.c:129270:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1448)) = Xsqlite3_db_readonly // sqlite3.c:129271:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1456)) = Xsqlite3_db_release_memory // sqlite3.c:129272:3: - *(*func(*libc.TLS, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1464)) = Xsqlite3_errstr // sqlite3.c:129273:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1472)) = Xsqlite3_stmt_busy // sqlite3.c:129274:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1480)) = Xsqlite3_stmt_readonly // sqlite3.c:129275:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1488)) = Xsqlite3_stricmp // sqlite3.c:129276:3: - *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1496)) = Xsqlite3_uri_boolean // sqlite3.c:129277:3: - *(*func(*libc.TLS, uintptr, uintptr, Sqlite3_int64) Sqlite3_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1504)) = Xsqlite3_uri_int64 // sqlite3.c:129278:3: - *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1512)) = Xsqlite3_uri_parameter // sqlite3.c:129279:3: - *(*func(*libc.TLS, int32, uintptr, uintptr, Va_list) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1520)) = Xsqlite3_vsnprintf // sqlite3.c:129280:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1528)) = Xsqlite3_wal_checkpoint_v2 // sqlite3.c:129281:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1536)) = Xsqlite3_auto_extension // sqlite3.c:129283:3: - *(*func(*libc.TLS, uintptr, int32, uintptr, Sqlite3_uint64, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1544)) = Xsqlite3_bind_blob64 // sqlite3.c:129284:3: - *(*func(*libc.TLS, uintptr, int32, uintptr, Sqlite3_uint64, uintptr, uint8) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1552)) = Xsqlite3_bind_text64 // sqlite3.c:129285:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1560)) = Xsqlite3_cancel_auto_extension // sqlite3.c:129286:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1568)) = Xsqlite3_load_extension // sqlite3.c:129287:3: - *(*func(*libc.TLS, Sqlite3_uint64) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1576)) = Xsqlite3_malloc64 // sqlite3.c:129288:3: - *(*func(*libc.TLS, uintptr) Sqlite3_uint64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1584)) = Xsqlite3_msize // sqlite3.c:129289:3: - *(*func(*libc.TLS, uintptr, Sqlite3_uint64) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1592)) = Xsqlite3_realloc64 // sqlite3.c:129290:3: - *(*func(*libc.TLS))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1600)) = Xsqlite3_reset_auto_extension // sqlite3.c:129291:3: - *(*func(*libc.TLS, uintptr, uintptr, Sqlite3_uint64, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1608)) = Xsqlite3_result_blob64 // sqlite3.c:129292:3: - *(*func(*libc.TLS, uintptr, uintptr, Sqlite3_uint64, uintptr, uint8))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1616)) = Xsqlite3_result_text64 // sqlite3.c:129293:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1624)) = Xsqlite3_strglob // sqlite3.c:129294:3: + *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 0)) = Xsqlite3_aggregate_context // sqlite3.c:129032:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 8)) = Xsqlite3_aggregate_count // sqlite3.c:129034:3: + *(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 16)) = Xsqlite3_bind_blob // sqlite3.c:129038:3: + *(*func(*libc.TLS, uintptr, int32, float64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 24)) = Xsqlite3_bind_double // sqlite3.c:129039:3: + *(*func(*libc.TLS, uintptr, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 32)) = Xsqlite3_bind_int // sqlite3.c:129040:3: + *(*func(*libc.TLS, uintptr, int32, Sqlite_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 40)) = Xsqlite3_bind_int64 // sqlite3.c:129041:3: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 48)) = Xsqlite3_bind_null // sqlite3.c:129042:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 56)) = Xsqlite3_bind_parameter_count // sqlite3.c:129043:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 64)) = Xsqlite3_bind_parameter_index // sqlite3.c:129044:3: + *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 72)) = Xsqlite3_bind_parameter_name // sqlite3.c:129045:3: + *(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 80)) = Xsqlite3_bind_text // sqlite3.c:129046:3: + *(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 88)) = Xsqlite3_bind_text16 // sqlite3.c:129047:3: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 96)) = Xsqlite3_bind_value // sqlite3.c:129048:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 104)) = Xsqlite3_busy_handler // sqlite3.c:129049:3: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 112)) = Xsqlite3_busy_timeout // sqlite3.c:129050:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 120)) = Xsqlite3_changes // sqlite3.c:129051:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 128)) = Xsqlite3_close // sqlite3.c:129052:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 136)) = Xsqlite3_collation_needed // sqlite3.c:129053:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 144)) = Xsqlite3_collation_needed16 // sqlite3.c:129054:3: + *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 152)) = Xsqlite3_column_blob // sqlite3.c:129055:3: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 160)) = Xsqlite3_column_bytes // sqlite3.c:129056:3: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 168)) = Xsqlite3_column_bytes16 // sqlite3.c:129057:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 176)) = Xsqlite3_column_count // sqlite3.c:129058:3: + *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 184)) = Xsqlite3_column_database_name // sqlite3.c:129059:3: + *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 192)) = Xsqlite3_column_database_name16 // sqlite3.c:129060:3: + *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 200)) = Xsqlite3_column_decltype // sqlite3.c:129061:3: + *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 208)) = Xsqlite3_column_decltype16 // sqlite3.c:129062:3: + *(*func(*libc.TLS, uintptr, int32) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 216)) = Xsqlite3_column_double // sqlite3.c:129063:3: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 224)) = Xsqlite3_column_int // sqlite3.c:129064:3: + *(*func(*libc.TLS, uintptr, int32) Sqlite_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 232)) = Xsqlite3_column_int64 // sqlite3.c:129065:3: + *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 240)) = Xsqlite3_column_name // sqlite3.c:129066:3: + *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 248)) = Xsqlite3_column_name16 // sqlite3.c:129067:3: + *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 256)) = Xsqlite3_column_origin_name // sqlite3.c:129068:3: + *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 264)) = Xsqlite3_column_origin_name16 // sqlite3.c:129069:3: + *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 272)) = Xsqlite3_column_table_name // sqlite3.c:129070:3: + *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 280)) = Xsqlite3_column_table_name16 // sqlite3.c:129071:3: + *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 288)) = Xsqlite3_column_text // sqlite3.c:129072:3: + *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 296)) = Xsqlite3_column_text16 // sqlite3.c:129073:3: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 304)) = Xsqlite3_column_type // sqlite3.c:129074:3: + *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 312)) = Xsqlite3_column_value // sqlite3.c:129075:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 320)) = Xsqlite3_commit_hook // sqlite3.c:129076:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 328)) = Xsqlite3_complete // sqlite3.c:129077:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 336)) = Xsqlite3_complete16 // sqlite3.c:129078:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 344)) = Xsqlite3_create_collation // sqlite3.c:129079:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 352)) = Xsqlite3_create_collation16 // sqlite3.c:129080:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, int32, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 360)) = Xsqlite3_create_function // sqlite3.c:129081:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, int32, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 368)) = Xsqlite3_create_function16 // sqlite3.c:129082:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 376)) = Xsqlite3_create_module // sqlite3.c:129083:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 384)) = Xsqlite3_data_count // sqlite3.c:129084:3: + *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 392)) = Xsqlite3_db_handle // sqlite3.c:129085:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 400)) = Xsqlite3_declare_vtab // sqlite3.c:129086:3: + *(*func(*libc.TLS, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 408)) = Xsqlite3_enable_shared_cache // sqlite3.c:129087:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 416)) = Xsqlite3_errcode // sqlite3.c:129088:3: + *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 424)) = Xsqlite3_errmsg // sqlite3.c:129089:3: + *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 432)) = Xsqlite3_errmsg16 // sqlite3.c:129090:3: + *(*func(*libc.TLS, uintptr, uintptr, Sqlite3_callback, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 440)) = Xsqlite3_exec // sqlite3.c:129091:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 448)) = Xsqlite3_expired // sqlite3.c:129093:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 456)) = Xsqlite3_finalize // sqlite3.c:129097:3: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 464)) = Xsqlite3_free // sqlite3.c:129098:3: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 472)) = Xsqlite3_free_table // sqlite3.c:129099:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 480)) = Xsqlite3_get_autocommit // sqlite3.c:129100:3: + *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 488)) = Xsqlite3_get_auxdata // sqlite3.c:129101:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 496)) = Xsqlite3_get_table // sqlite3.c:129102:3: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 512)) = Xsqlite3_interrupt // sqlite3.c:129104:3: + *(*func(*libc.TLS, uintptr) Sqlite3_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 520)) = Xsqlite3_last_insert_rowid // sqlite3.c:129105:3: + *(*func(*libc.TLS) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 528)) = Xsqlite3_libversion // sqlite3.c:129106:3: + *(*func(*libc.TLS) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 536)) = Xsqlite3_libversion_number // sqlite3.c:129107:3: + *(*func(*libc.TLS, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 544)) = Xsqlite3_malloc // sqlite3.c:129108:3: + *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 552)) = Xsqlite3_mprintf // sqlite3.c:129109:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 560)) = Xsqlite3_open // sqlite3.c:129110:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 568)) = Xsqlite3_open16 // sqlite3.c:129111:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 576)) = Xsqlite3_prepare // sqlite3.c:129112:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 584)) = Xsqlite3_prepare16 // sqlite3.c:129113:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 592)) = Xsqlite3_profile // sqlite3.c:129114:3: + *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 600)) = Xsqlite3_progress_handler // sqlite3.c:129115:3: + *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 608)) = Xsqlite3_realloc // sqlite3.c:129116:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 616)) = Xsqlite3_reset // sqlite3.c:129117:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 624)) = Xsqlite3_result_blob // sqlite3.c:129118:3: + *(*func(*libc.TLS, uintptr, float64))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 632)) = Xsqlite3_result_double // sqlite3.c:129119:3: + *(*func(*libc.TLS, uintptr, uintptr, int32))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 640)) = Xsqlite3_result_error // sqlite3.c:129120:3: + *(*func(*libc.TLS, uintptr, uintptr, int32))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 648)) = Xsqlite3_result_error16 // sqlite3.c:129121:3: + *(*func(*libc.TLS, uintptr, int32))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 656)) = Xsqlite3_result_int // sqlite3.c:129122:3: + *(*func(*libc.TLS, uintptr, I64))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 664)) = Xsqlite3_result_int64 // sqlite3.c:129123:3: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 672)) = Xsqlite3_result_null // sqlite3.c:129124:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 680)) = Xsqlite3_result_text // sqlite3.c:129125:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 688)) = Xsqlite3_result_text16 // sqlite3.c:129126:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 696)) = Xsqlite3_result_text16be // sqlite3.c:129127:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 704)) = Xsqlite3_result_text16le // sqlite3.c:129128:3: + *(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 712)) = Xsqlite3_result_value // sqlite3.c:129129:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 720)) = Xsqlite3_rollback_hook // sqlite3.c:129130:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 728)) = Xsqlite3_set_authorizer // sqlite3.c:129131:3: + *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 736)) = Xsqlite3_set_auxdata // sqlite3.c:129132:3: + *(*func(*libc.TLS, int32, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 744)) = Xsqlite3_snprintf // sqlite3.c:129133:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 752)) = Xsqlite3_step // sqlite3.c:129134:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr, uintptr, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 760)) = Xsqlite3_table_column_metadata // sqlite3.c:129135:3: + *(*func(*libc.TLS))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 768)) = Xsqlite3_thread_cleanup // sqlite3.c:129137:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 776)) = Xsqlite3_total_changes // sqlite3.c:129141:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 784)) = Xsqlite3_trace // sqlite3.c:129142:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 792)) = Xsqlite3_transfer_bindings // sqlite3.c:129144:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 800)) = Xsqlite3_update_hook // sqlite3.c:129148:3: + *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 808)) = Xsqlite3_user_data // sqlite3.c:129149:3: + *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 816)) = Xsqlite3_value_blob // sqlite3.c:129150:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 824)) = Xsqlite3_value_bytes // sqlite3.c:129151:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 832)) = Xsqlite3_value_bytes16 // sqlite3.c:129152:3: + *(*func(*libc.TLS, uintptr) float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 840)) = Xsqlite3_value_double // sqlite3.c:129153:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 848)) = Xsqlite3_value_int // sqlite3.c:129154:3: + *(*func(*libc.TLS, uintptr) Sqlite_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 856)) = Xsqlite3_value_int64 // sqlite3.c:129155:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 864)) = Xsqlite3_value_numeric_type // sqlite3.c:129156:3: + *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 872)) = Xsqlite3_value_text // sqlite3.c:129157:3: + *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 880)) = Xsqlite3_value_text16 // sqlite3.c:129158:3: + *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 888)) = Xsqlite3_value_text16be // sqlite3.c:129159:3: + *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 896)) = Xsqlite3_value_text16le // sqlite3.c:129160:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 904)) = Xsqlite3_value_type // sqlite3.c:129161:3: + *(*func(*libc.TLS, uintptr, Va_list) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 912)) = Xsqlite3_vmprintf // sqlite3.c:129162:3: + *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 920)) = Xsqlite3_overload_function // sqlite3.c:129171:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 928)) = Xsqlite3_prepare_v2 // sqlite3.c:129176:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 936)) = Xsqlite3_prepare16_v2 // sqlite3.c:129177:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 944)) = Xsqlite3_clear_bindings // sqlite3.c:129178:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 952)) = Xsqlite3_create_module_v2 // sqlite3.c:129183:3: + *(*func(*libc.TLS, uintptr, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 960)) = Xsqlite3_bind_zeroblob // sqlite3.c:129188:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 968)) = Xsqlite3_blob_bytes // sqlite3.c:129189:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 976)) = Xsqlite3_blob_close // sqlite3.c:129190:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr, Sqlite_int64, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 984)) = Xsqlite3_blob_open // sqlite3.c:129191:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 992)) = Xsqlite3_blob_read // sqlite3.c:129192:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1000)) = Xsqlite3_blob_write // sqlite3.c:129193:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1008)) = Xsqlite3_create_collation_v2 // sqlite3.c:129194:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1016)) = Xsqlite3_file_control // sqlite3.c:129195:3: + *(*func(*libc.TLS, int32) Sqlite3_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1024)) = Xsqlite3_memory_highwater // sqlite3.c:129196:3: + *(*func(*libc.TLS) Sqlite3_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1032)) = Xsqlite3_memory_used // sqlite3.c:129197:3: + *(*func(*libc.TLS, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1040)) = Xsqlite3_mutex_alloc // sqlite3.c:129205:3: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1048)) = Xsqlite3_mutex_enter // sqlite3.c:129206:3: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1056)) = Xsqlite3_mutex_free // sqlite3.c:129207:3: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1064)) = Xsqlite3_mutex_leave // sqlite3.c:129208:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1072)) = Xsqlite3_mutex_try // sqlite3.c:129209:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1080)) = Xsqlite3_open_v2 // sqlite3.c:129211:3: + *(*func(*libc.TLS, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1088)) = Xsqlite3_release_memory // sqlite3.c:129212:3: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1096)) = Xsqlite3_result_error_nomem // sqlite3.c:129213:3: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1104)) = Xsqlite3_result_error_toobig // sqlite3.c:129214:3: + *(*func(*libc.TLS, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1112)) = Xsqlite3_sleep // sqlite3.c:129215:3: + *(*func(*libc.TLS, int32))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1120)) = Xsqlite3_soft_heap_limit // sqlite3.c:129216:3: + *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1128)) = Xsqlite3_vfs_find // sqlite3.c:129217:3: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1136)) = Xsqlite3_vfs_register // sqlite3.c:129218:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1144)) = Xsqlite3_vfs_unregister // sqlite3.c:129219:3: + *(*func(*libc.TLS) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1152)) = Xsqlite3_threadsafe // sqlite3.c:129224:3: + *(*func(*libc.TLS, uintptr, int32))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1160)) = Xsqlite3_result_zeroblob // sqlite3.c:129225:3: + *(*func(*libc.TLS, uintptr, int32))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1168)) = Xsqlite3_result_error_code // sqlite3.c:129226:3: + *(*func(*libc.TLS, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1176)) = Xsqlite3_test_control // sqlite3.c:129227:3: + *(*func(*libc.TLS, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1184)) = Xsqlite3_randomness // sqlite3.c:129228:3: + *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1192)) = Xsqlite3_context_db_handle // sqlite3.c:129229:3: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1200)) = Xsqlite3_extended_result_codes // sqlite3.c:129234:3: + *(*func(*libc.TLS, uintptr, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1208)) = Xsqlite3_limit // sqlite3.c:129235:3: + *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1216)) = Xsqlite3_next_stmt // sqlite3.c:129236:3: + *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1224)) = Xsqlite3_sql // sqlite3.c:129237:3: + *(*func(*libc.TLS, int32, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1232)) = Xsqlite3_status // sqlite3.c:129238:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1240)) = Xsqlite3_backup_finish // sqlite3.c:129243:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1248)) = Xsqlite3_backup_init // sqlite3.c:129244:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1256)) = Xsqlite3_backup_pagecount // sqlite3.c:129245:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1264)) = Xsqlite3_backup_remaining // sqlite3.c:129246:3: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1272)) = Xsqlite3_backup_step // sqlite3.c:129247:3: + *(*func(*libc.TLS, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1280)) = Xsqlite3_compileoption_get // sqlite3.c:129249:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1288)) = Xsqlite3_compileoption_used // sqlite3.c:129250:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, int32, uintptr, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1296)) = Xsqlite3_create_function_v2 // sqlite3.c:129255:3: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1304)) = Xsqlite3_db_config // sqlite3.c:129256:3: + *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1312)) = Xsqlite3_db_mutex // sqlite3.c:129257:3: + *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1320)) = Xsqlite3_db_status // sqlite3.c:129258:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1328)) = Xsqlite3_extended_errcode // sqlite3.c:129259:3: + *(*func(*libc.TLS, int32, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1336)) = Xsqlite3_log // sqlite3.c:129260:3: + *(*func(*libc.TLS, Sqlite3_int64) Sqlite3_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1344)) = Xsqlite3_soft_heap_limit64 // sqlite3.c:129261:3: + *(*func(*libc.TLS) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1352)) = Xsqlite3_sourceid // sqlite3.c:129262:3: + *(*func(*libc.TLS, uintptr, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1360)) = Xsqlite3_stmt_status // sqlite3.c:129263:3: + *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1368)) = Xsqlite3_strnicmp // sqlite3.c:129264:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1376)) = Xsqlite3_unlock_notify // sqlite3.c:129266:3: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1384)) = Xsqlite3_wal_autocheckpoint // sqlite3.c:129271:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1392)) = Xsqlite3_wal_checkpoint // sqlite3.c:129272:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1400)) = Xsqlite3_wal_hook // sqlite3.c:129273:3: + *(*func(*libc.TLS, uintptr, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1408)) = Xsqlite3_blob_reopen // sqlite3.c:129279:3: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1416)) = Xsqlite3_vtab_config // sqlite3.c:129280:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1424)) = Xsqlite3_vtab_on_conflict // sqlite3.c:129281:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1432)) = Xsqlite3_close_v2 // sqlite3.c:129282:3: + *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1440)) = Xsqlite3_db_filename // sqlite3.c:129283:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1448)) = Xsqlite3_db_readonly // sqlite3.c:129284:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1456)) = Xsqlite3_db_release_memory // sqlite3.c:129285:3: + *(*func(*libc.TLS, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1464)) = Xsqlite3_errstr // sqlite3.c:129286:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1472)) = Xsqlite3_stmt_busy // sqlite3.c:129287:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1480)) = Xsqlite3_stmt_readonly // sqlite3.c:129288:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1488)) = Xsqlite3_stricmp // sqlite3.c:129289:3: + *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1496)) = Xsqlite3_uri_boolean // sqlite3.c:129290:3: + *(*func(*libc.TLS, uintptr, uintptr, Sqlite3_int64) Sqlite3_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1504)) = Xsqlite3_uri_int64 // sqlite3.c:129291:3: + *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1512)) = Xsqlite3_uri_parameter // sqlite3.c:129292:3: + *(*func(*libc.TLS, int32, uintptr, uintptr, Va_list) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1520)) = Xsqlite3_vsnprintf // sqlite3.c:129293:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1528)) = Xsqlite3_wal_checkpoint_v2 // sqlite3.c:129294:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1536)) = Xsqlite3_auto_extension // sqlite3.c:129296:3: + *(*func(*libc.TLS, uintptr, int32, uintptr, Sqlite3_uint64, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1544)) = Xsqlite3_bind_blob64 // sqlite3.c:129297:3: + *(*func(*libc.TLS, uintptr, int32, uintptr, Sqlite3_uint64, uintptr, uint8) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1552)) = Xsqlite3_bind_text64 // sqlite3.c:129298:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1560)) = Xsqlite3_cancel_auto_extension // sqlite3.c:129299:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1568)) = Xsqlite3_load_extension // sqlite3.c:129300:3: + *(*func(*libc.TLS, Sqlite3_uint64) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1576)) = Xsqlite3_malloc64 // sqlite3.c:129301:3: + *(*func(*libc.TLS, uintptr) Sqlite3_uint64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1584)) = Xsqlite3_msize // sqlite3.c:129302:3: + *(*func(*libc.TLS, uintptr, Sqlite3_uint64) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1592)) = Xsqlite3_realloc64 // sqlite3.c:129303:3: + *(*func(*libc.TLS))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1600)) = Xsqlite3_reset_auto_extension // sqlite3.c:129304:3: + *(*func(*libc.TLS, uintptr, uintptr, Sqlite3_uint64, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1608)) = Xsqlite3_result_blob64 // sqlite3.c:129305:3: + *(*func(*libc.TLS, uintptr, uintptr, Sqlite3_uint64, uintptr, uint8))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1616)) = Xsqlite3_result_text64 // sqlite3.c:129306:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1624)) = Xsqlite3_strglob // sqlite3.c:129307:3: *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1632 /* .value_dup */)) = *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr) uintptr - }{Xsqlite3_value_dup})) // sqlite3.c:129296:3: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1640)) = Xsqlite3_value_free // sqlite3.c:129297:3: - *(*func(*libc.TLS, uintptr, U64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1648)) = Xsqlite3_result_zeroblob64 // sqlite3.c:129298:3: - *(*func(*libc.TLS, uintptr, int32, Sqlite3_uint64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1656)) = Xsqlite3_bind_zeroblob64 // sqlite3.c:129299:3: - *(*func(*libc.TLS, uintptr) uint32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1664)) = Xsqlite3_value_subtype // sqlite3.c:129301:3: - *(*func(*libc.TLS, uintptr, uint32))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1672)) = Xsqlite3_result_subtype // sqlite3.c:129302:3: - *(*func(*libc.TLS, int32, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1680)) = Xsqlite3_status64 // sqlite3.c:129304:3: - *(*func(*libc.TLS, uintptr, uintptr, uint32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1688)) = Xsqlite3_strlike // sqlite3.c:129305:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1696)) = Xsqlite3_db_cacheflush // sqlite3.c:129306:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1704)) = Xsqlite3_system_errno // sqlite3.c:129308:3: - *(*func(*libc.TLS, uintptr, uint32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1712)) = Xsqlite3_trace_v2 // sqlite3.c:129310:3: - *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1720)) = Xsqlite3_expanded_sql // sqlite3.c:129311:3: - *(*func(*libc.TLS, uintptr, Sqlite3_int64))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1728)) = Xsqlite3_set_last_insert_rowid // sqlite3.c:129313:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uint32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1736)) = Xsqlite3_prepare_v3 // sqlite3.c:129315:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, uint32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1744)) = Xsqlite3_prepare16_v3 // sqlite3.c:129316:3: - *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1752)) = Xsqlite3_bind_pointer // sqlite3.c:129317:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1760)) = Xsqlite3_result_pointer // sqlite3.c:129318:3: - *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1768)) = Xsqlite3_value_pointer // sqlite3.c:129319:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1776)) = Xsqlite3_vtab_nochange // sqlite3.c:129321:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1784)) = Xsqlite3_value_nochange // sqlite3.c:129322:3: - *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1792)) = Xsqlite3_vtab_collation // sqlite3.c:129323:3: - *(*func(*libc.TLS) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1800)) = Xsqlite3_keyword_count // sqlite3.c:129325:3: - *(*func(*libc.TLS, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1808)) = Xsqlite3_keyword_name // sqlite3.c:129326:3: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1816)) = Xsqlite3_keyword_check // sqlite3.c:129327:3: - *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1824)) = Xsqlite3_str_new // sqlite3.c:129328:3: - *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1832)) = Xsqlite3_str_finish // sqlite3.c:129329:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1840)) = Xsqlite3_str_appendf // sqlite3.c:129330:3: - *(*func(*libc.TLS, uintptr, uintptr, Va_list))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1848)) = Xsqlite3_str_vappendf // sqlite3.c:129331:3: - *(*func(*libc.TLS, uintptr, uintptr, int32))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1856)) = Xsqlite3_str_append // sqlite3.c:129332:3: - *(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1864)) = Xsqlite3_str_appendall // sqlite3.c:129333:3: - *(*func(*libc.TLS, uintptr, int32, int8))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1872)) = Xsqlite3_str_appendchar // sqlite3.c:129334:3: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1880)) = Xsqlite3_str_reset // sqlite3.c:129335:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1888)) = Xsqlite3_str_errcode // sqlite3.c:129336:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1896)) = Xsqlite3_str_length // sqlite3.c:129337:3: - *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1904)) = Xsqlite3_str_value // sqlite3.c:129338:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, int32, uintptr, uintptr, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1912)) = Xsqlite3_create_window_function // sqlite3.c:129340:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1928)) = Xsqlite3_stmt_isexplain // sqlite3.c:129348:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1936)) = Xsqlite3_value_frombind // sqlite3.c:129349:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1944)) = Xsqlite3_drop_modules // sqlite3.c:129352:3: - *(*func(*libc.TLS, Sqlite3_int64) Sqlite3_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1952)) = Xsqlite3_hard_heap_limit64 // sqlite3.c:129357:3: - *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1960)) = Xsqlite3_uri_key // sqlite3.c:129358:3: - *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1968)) = Xsqlite3_filename_database // sqlite3.c:129359:3: - *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1976)) = Xsqlite3_filename_journal // sqlite3.c:129360:3: - *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1984)) = Xsqlite3_filename_wal // sqlite3.c:129361:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1992)) = Xsqlite3_create_filename // sqlite3.c:129363:3: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 2000)) = Xsqlite3_free_filename // sqlite3.c:129364:3: - *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 2008)) = Xsqlite3_database_file_object // sqlite3.c:129365:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 2016)) = Xsqlite3_txn_state // sqlite3.c:129367:3: - *(*func(*libc.TLS, uintptr) Sqlite3_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 2024)) = Xsqlite3_changes64 // sqlite3.c:129369:3: - *(*func(*libc.TLS, uintptr) Sqlite3_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 2032)) = Xsqlite3_total_changes64 // sqlite3.c:129370:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 2040)) = Xsqlite3_autovacuum_pages // sqlite3.c:129372:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 2048)) = Xsqlite3_error_offset // sqlite3.c:129374:3: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 2056)) = Xsqlite3_vtab_rhs_value // sqlite3.c:129375:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 2064)) = Xsqlite3_vtab_distinct // sqlite3.c:129376:3: - *(*func(*libc.TLS, uintptr, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 2072)) = Xsqlite3_vtab_in // sqlite3.c:129377:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 2080)) = Xsqlite3_vtab_in_first // sqlite3.c:129378:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 2088)) = Xsqlite3_vtab_in_next // sqlite3.c:129379:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3BuiltinExtensions)) + 0)) = Xsqlite3Fts5Init // sqlite3.c:168488:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3BuiltinExtensions)) + 8)) = Xsqlite3RtreeInit // sqlite3.c:168494:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3BuiltinExtensions)) + 16)) = sqlite3TestExtInit // sqlite3.c:168502:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3BuiltinExtensions)) + 24)) = Xsqlite3JsonTableFunctions // sqlite3.c:168504:3: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&statGetFuncdef)) + 24)) = statGet // sqlite3.c:111993:3: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&statInitFuncdef)) + 24)) = statInit // sqlite3.c:111569:3: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&statPushFuncdef)) + 24)) = statPush // sqlite3.c:111859:3: - *(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 40)) = rbuVfsOpen // sqlite3.c:208888:5: - *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 48)) = rbuVfsDelete // sqlite3.c:208889:5: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 56)) = rbuVfsAccess // sqlite3.c:208890:5: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 64)) = rbuVfsFullPathname // sqlite3.c:208891:5: - *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 72)) = rbuVfsDlOpen // sqlite3.c:208894:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 80)) = rbuVfsDlError // sqlite3.c:208895:5: - *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 88)) = rbuVfsDlSym // sqlite3.c:208896:5: - *(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 96)) = rbuVfsDlClose // sqlite3.c:208897:5: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 104)) = rbuVfsRandomness // sqlite3.c:208902:5: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 112)) = rbuVfsSleep // sqlite3.c:208903:5: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 120)) = rbuVfsCurrentTime // sqlite3.c:208904:5: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 128)) = rbuVfsGetLastError // sqlite3.c:208905:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&winAppData)) + 0 /* .pMethod */)) = uintptr(unsafe.Pointer(&winIoMethod)) // sqlite3.c:47549:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&winIoMethod)) + 8)) = winClose // sqlite3.c:47502:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&winIoMethod)) + 16)) = winRead // sqlite3.c:47503:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&winIoMethod)) + 24)) = winWrite // sqlite3.c:47504:3: - *(*func(*libc.TLS, uintptr, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&winIoMethod)) + 32)) = winTruncate // sqlite3.c:47505:3: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&winIoMethod)) + 40)) = winSync // sqlite3.c:47506:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&winIoMethod)) + 48)) = winFileSize // sqlite3.c:47507:3: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&winIoMethod)) + 56)) = winLock // sqlite3.c:47508:3: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&winIoMethod)) + 64)) = winUnlock // sqlite3.c:47509:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&winIoMethod)) + 72)) = winCheckReservedLock // sqlite3.c:47510:3: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&winIoMethod)) + 80)) = winFileControl // sqlite3.c:47511:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&winIoMethod)) + 88)) = winSectorSize // sqlite3.c:47512:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&winIoMethod)) + 96)) = winDeviceCharacteristics // sqlite3.c:47513:3: - *(*func(*libc.TLS, uintptr, int32, int32, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&winIoMethod)) + 104)) = winShmMap // sqlite3.c:47514:3: - *(*func(*libc.TLS, uintptr, int32, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&winIoMethod)) + 112)) = winShmLock // sqlite3.c:47515:3: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&winIoMethod)) + 120)) = winShmBarrier // sqlite3.c:47516:3: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&winIoMethod)) + 128)) = winShmUnmap // sqlite3.c:47517:3: - *(*func(*libc.TLS, uintptr, I64, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&winIoMethod)) + 136)) = winFetch // sqlite3.c:47518:3: - *(*func(*libc.TLS, uintptr, I64, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&winIoMethod)) + 144)) = winUnfetch // sqlite3.c:47519:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&winIoNolockMethod)) + 8)) = winClose // sqlite3.c:47528:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&winIoNolockMethod)) + 16)) = winRead // sqlite3.c:47529:3: - *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&winIoNolockMethod)) + 24)) = winWrite // sqlite3.c:47530:3: - *(*func(*libc.TLS, uintptr, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&winIoNolockMethod)) + 32)) = winTruncate // sqlite3.c:47531:3: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&winIoNolockMethod)) + 40)) = winSync // sqlite3.c:47532:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&winIoNolockMethod)) + 48)) = winFileSize // sqlite3.c:47533:3: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&winIoNolockMethod)) + 56)) = winNolockLock // sqlite3.c:47534:3: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&winIoNolockMethod)) + 64)) = winNolockUnlock // sqlite3.c:47535:3: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&winIoNolockMethod)) + 72)) = winNolockCheckReservedLock // sqlite3.c:47536:3: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&winIoNolockMethod)) + 80)) = winFileControl // sqlite3.c:47537:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&winIoNolockMethod)) + 88)) = winSectorSize // sqlite3.c:47538:3: - *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&winIoNolockMethod)) + 96)) = winDeviceCharacteristics // sqlite3.c:47539:3: - *(*func(*libc.TLS, uintptr, int32, int32, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&winIoNolockMethod)) + 104)) = winShmMap // sqlite3.c:47540:3: - *(*func(*libc.TLS, uintptr, int32, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&winIoNolockMethod)) + 112)) = winShmLock // sqlite3.c:47541:3: - *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&winIoNolockMethod)) + 120)) = winShmBarrier // sqlite3.c:47542:3: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&winIoNolockMethod)) + 128)) = winShmUnmap // sqlite3.c:47543:3: - *(*func(*libc.TLS, uintptr, I64, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&winIoNolockMethod)) + 136)) = winFetch // sqlite3.c:47544:3: - *(*func(*libc.TLS, uintptr, I64, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&winIoNolockMethod)) + 144)) = winUnfetch // sqlite3.c:47545:3: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&winLongPathNolockVfs)) + 32 /* .pAppData */)) = uintptr(unsafe.Pointer(&winNolockAppData)) // sqlite3.c:48999:5: - *(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&winLongPathNolockVfs)) + 40)) = winOpen // sqlite3.c:49000:5: - *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&winLongPathNolockVfs)) + 48)) = winDelete // sqlite3.c:49001:5: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&winLongPathNolockVfs)) + 56)) = winAccess // sqlite3.c:49002:5: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&winLongPathNolockVfs)) + 64)) = winFullPathname // sqlite3.c:49003:5: - *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&winLongPathNolockVfs)) + 72)) = winDlOpen // sqlite3.c:49004:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&winLongPathNolockVfs)) + 80)) = winDlError // sqlite3.c:49005:5: - *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&winLongPathNolockVfs)) + 88)) = winDlSym // sqlite3.c:49006:5: - *(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&winLongPathNolockVfs)) + 96)) = winDlClose // sqlite3.c:49007:5: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&winLongPathNolockVfs)) + 104)) = winRandomness // sqlite3.c:49008:5: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&winLongPathNolockVfs)) + 112)) = winSleep // sqlite3.c:49009:5: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&winLongPathNolockVfs)) + 120)) = winCurrentTime // sqlite3.c:49010:5: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&winLongPathNolockVfs)) + 128)) = winGetLastError // sqlite3.c:49011:5: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&winLongPathNolockVfs)) + 136)) = winCurrentTimeInt64 // sqlite3.c:49012:5: - *(*func(*libc.TLS, uintptr, uintptr, Sqlite3_syscall_ptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&winLongPathNolockVfs)) + 144)) = winSetSystemCall // sqlite3.c:49013:5: - *(*func(*libc.TLS, uintptr, uintptr) Sqlite3_syscall_ptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&winLongPathNolockVfs)) + 152)) = winGetSystemCall // sqlite3.c:49014:5: - *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&winLongPathNolockVfs)) + 160)) = winNextSystemCall // sqlite3.c:49015:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&winLongPathVfs)) + 32 /* .pAppData */)) = uintptr(unsafe.Pointer(&winAppData)) // sqlite3.c:48949:5: - *(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&winLongPathVfs)) + 40)) = winOpen // sqlite3.c:48950:5: - *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&winLongPathVfs)) + 48)) = winDelete // sqlite3.c:48951:5: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&winLongPathVfs)) + 56)) = winAccess // sqlite3.c:48952:5: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&winLongPathVfs)) + 64)) = winFullPathname // sqlite3.c:48953:5: - *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&winLongPathVfs)) + 72)) = winDlOpen // sqlite3.c:48954:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&winLongPathVfs)) + 80)) = winDlError // sqlite3.c:48955:5: - *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&winLongPathVfs)) + 88)) = winDlSym // sqlite3.c:48956:5: - *(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&winLongPathVfs)) + 96)) = winDlClose // sqlite3.c:48957:5: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&winLongPathVfs)) + 104)) = winRandomness // sqlite3.c:48958:5: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&winLongPathVfs)) + 112)) = winSleep // sqlite3.c:48959:5: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&winLongPathVfs)) + 120)) = winCurrentTime // sqlite3.c:48960:5: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&winLongPathVfs)) + 128)) = winGetLastError // sqlite3.c:48961:5: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&winLongPathVfs)) + 136)) = winCurrentTimeInt64 // sqlite3.c:48962:5: - *(*func(*libc.TLS, uintptr, uintptr, Sqlite3_syscall_ptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&winLongPathVfs)) + 144)) = winSetSystemCall // sqlite3.c:48963:5: - *(*func(*libc.TLS, uintptr, uintptr) Sqlite3_syscall_ptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&winLongPathVfs)) + 152)) = winGetSystemCall // sqlite3.c:48964:5: - *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&winLongPathVfs)) + 160)) = winNextSystemCall // sqlite3.c:48965:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&winNolockAppData)) + 0 /* .pMethod */)) = uintptr(unsafe.Pointer(&winIoNolockMethod)) // sqlite3.c:47555:3: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&winNolockVfs)) + 32 /* .pAppData */)) = uintptr(unsafe.Pointer(&winNolockAppData)) // sqlite3.c:48974:5: - *(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&winNolockVfs)) + 40)) = winOpen // sqlite3.c:48975:5: - *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&winNolockVfs)) + 48)) = winDelete // sqlite3.c:48976:5: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&winNolockVfs)) + 56)) = winAccess // sqlite3.c:48977:5: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&winNolockVfs)) + 64)) = winFullPathname // sqlite3.c:48978:5: - *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&winNolockVfs)) + 72)) = winDlOpen // sqlite3.c:48979:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&winNolockVfs)) + 80)) = winDlError // sqlite3.c:48980:5: - *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&winNolockVfs)) + 88)) = winDlSym // sqlite3.c:48981:5: - *(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&winNolockVfs)) + 96)) = winDlClose // sqlite3.c:48982:5: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&winNolockVfs)) + 104)) = winRandomness // sqlite3.c:48983:5: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&winNolockVfs)) + 112)) = winSleep // sqlite3.c:48984:5: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&winNolockVfs)) + 120)) = winCurrentTime // sqlite3.c:48985:5: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&winNolockVfs)) + 128)) = winGetLastError // sqlite3.c:48986:5: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&winNolockVfs)) + 136)) = winCurrentTimeInt64 // sqlite3.c:48987:5: - *(*func(*libc.TLS, uintptr, uintptr, Sqlite3_syscall_ptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&winNolockVfs)) + 144)) = winSetSystemCall // sqlite3.c:48988:5: - *(*func(*libc.TLS, uintptr, uintptr) Sqlite3_syscall_ptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&winNolockVfs)) + 152)) = winGetSystemCall // sqlite3.c:48989:5: - *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&winNolockVfs)) + 160)) = winNextSystemCall // sqlite3.c:48990:5: - *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&winVfs)) + 32 /* .pAppData */)) = uintptr(unsafe.Pointer(&winAppData)) // sqlite3.c:48924:5: - *(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&winVfs)) + 40)) = winOpen // sqlite3.c:48925:5: - *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&winVfs)) + 48)) = winDelete // sqlite3.c:48926:5: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&winVfs)) + 56)) = winAccess // sqlite3.c:48927:5: - *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&winVfs)) + 64)) = winFullPathname // sqlite3.c:48928:5: - *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&winVfs)) + 72)) = winDlOpen // sqlite3.c:48929:5: - *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&winVfs)) + 80)) = winDlError // sqlite3.c:48930:5: - *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&winVfs)) + 88)) = winDlSym // sqlite3.c:48931:5: - *(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&winVfs)) + 96)) = winDlClose // sqlite3.c:48932:5: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&winVfs)) + 104)) = winRandomness // sqlite3.c:48933:5: - *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&winVfs)) + 112)) = winSleep // sqlite3.c:48934:5: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&winVfs)) + 120)) = winCurrentTime // sqlite3.c:48935:5: - *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&winVfs)) + 128)) = winGetLastError // sqlite3.c:48936:5: - *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&winVfs)) + 136)) = winCurrentTimeInt64 // sqlite3.c:48937:5: - *(*func(*libc.TLS, uintptr, uintptr, Sqlite3_syscall_ptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&winVfs)) + 144)) = winSetSystemCall // sqlite3.c:48938:5: - *(*func(*libc.TLS, uintptr, uintptr) Sqlite3_syscall_ptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&winVfs)) + 152)) = winGetSystemCall // sqlite3.c:48939:5: - *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&winVfs)) + 160)) = winNextSystemCall // sqlite3.c:48940:5: -} - -var ts1 = "3.38.1\x00ATOMIC_INTRINSICS=1\x00COMPILER=msvc-1900\x00DEFAULT_AUTOVACUUM\x00DEFAULT_CACHE_SIZE=-2000\x00DEFAULT_FILE_FORMAT=4\x00DEFAULT_JOURNAL_SIZE_LIMIT=-1\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\x00ENABLE_COLUMN_METADATA\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=127\x00MAX_LENGTH=1000000000\x00MAX_LIKE_PATTERN_LENGTH=50000\x00MAX_MMAP_SIZE=0x7fff0000\x00MAX_PAGE_COUNT=1073741823\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\x00BINARY\x00ANY\x00BLOB\x00INT\x00INTEGER\x00REAL\x00TEXT\x0020b:20e\x0020c:20e\x0020e\x0040f-21a-21d\x00now\x00local time unavailable\x00second\x00minute\x00hour\x00\x00\x00day\x00\x00\x00\x00month\x00\x00year\x00\x00\x00auto\x00julianday\x00localtime\x00unixepoch\x00utc\x00weekday \x00start of \x00month\x00year\x00day\x00%02d\x00%06.3f\x00%03d\x00%.16g\x00%lld\x00%04d\x00date\x00time\x00datetime\x00strftime\x00current_time\x00current_timestamp\x00current_date\x00failed to allocate %u bytes of memory\x00failed memory resize %u to %u bytes\x00out of memory\x000123456789ABCDEF0123456789abcdef\x00-x0\x00X0\x00%\x00NaN\x00Inf\x00\x00NULL\x00(NULL)\x00.\x00SUBQUERY %u\x00thstndrd\x00922337203685477580\x00API call with %s database connection pointer\x00unopened\x00invalid\x00Savepoint\x00AutoCommit\x00Transaction\x00SorterNext\x00Prev\x00Next\x00Checkpoint\x00JournalMode\x00Vacuum\x00VFilter\x00VUpdate\x00Goto\x00Gosub\x00InitCoroutine\x00Yield\x00MustBeInt\x00Jump\x00Once\x00If\x00Not\x00IfNot\x00IsNullOrType\x00IfNullRow\x00SeekLT\x00SeekLE\x00SeekGE\x00SeekGT\x00IfNotOpen\x00IfNoHope\x00NoConflict\x00NotFound\x00Found\x00SeekRowid\x00NotExists\x00Last\x00IfSmaller\x00SorterSort\x00Sort\x00Rewind\x00IdxLE\x00IdxGT\x00IdxLT\x00IdxGE\x00Or\x00And\x00RowSetRead\x00RowSetTest\x00Program\x00FkIfZero\x00IfPos\x00IsNull\x00NotNull\x00Ne\x00Eq\x00Gt\x00Le\x00Lt\x00Ge\x00ElseEq\x00IfNotZero\x00DecrJumpZero\x00IncrVacuum\x00VNext\x00Filter\x00Init\x00PureFunc\x00Function\x00Return\x00EndCoroutine\x00HaltIfNull\x00Halt\x00Integer\x00Int64\x00String\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\x00VInitIn\x00VColumn\x00VRename\x00Pagecount\x00MaxPgcnt\x00FilterAdd\x00Trace\x00CursorHint\x00ReleaseReg\x00Noop\x00Explain\x00Abortable\x00AreFileApisANSI\x00CharLowerW\x00CharUpperW\x00CloseHandle\x00CreateFileA\x00CreateFileW\x00CreateFileMappingA\x00CreateFileMappingW\x00CreateMutexW\x00DeleteFileA\x00DeleteFileW\x00FileTimeToLocalFileTime\x00FileTimeToSystemTime\x00FlushFileBuffers\x00FormatMessageA\x00FormatMessageW\x00FreeLibrary\x00GetCurrentProcessId\x00GetDiskFreeSpaceA\x00GetDiskFreeSpaceW\x00GetFileAttributesA\x00GetFileAttributesW\x00GetFileAttributesExW\x00GetFileSize\x00GetFullPathNameA\x00GetFullPathNameW\x00GetLastError\x00GetProcAddressA\x00GetSystemInfo\x00GetSystemTime\x00GetSystemTimeAsFileTime\x00GetTempPathA\x00GetTempPathW\x00GetTickCount\x00GetVersionExA\x00GetVersionExW\x00HeapAlloc\x00HeapCreate\x00HeapDestroy\x00HeapFree\x00HeapReAlloc\x00HeapSize\x00HeapValidate\x00HeapCompact\x00LoadLibraryA\x00LoadLibraryW\x00LocalFree\x00LockFile\x00LockFileEx\x00MapViewOfFile\x00MultiByteToWideChar\x00QueryPerformanceCounter\x00ReadFile\x00SetEndOfFile\x00SetFilePointer\x00Sleep\x00SystemTimeToFileTime\x00UnlockFile\x00UnlockFileEx\x00UnmapViewOfFile\x00WideCharToMultiByte\x00WriteFile\x00CreateEventExW\x00WaitForSingleObject\x00WaitForSingleObjectEx\x00SetFilePointerEx\x00GetFileInformationByHandleEx\x00MapViewOfFileFromApp\x00CreateFile2\x00LoadPackagedLibrary\x00GetTickCount64\x00GetNativeSystemInfo\x00OutputDebugStringA\x00OutputDebugStringW\x00GetProcessHeap\x00CreateFileMappingFromApp\x00InterlockedCompareExchange\x00UuidCreate\x00UuidCreateSequential\x00FlushViewOfFile\x00%s\x00OsError 0x%lx (%lu)\x00os_win.c:%d: (%lu) %s(%s) - %s\x00delayed %dms for lock/sharing conflict at line %d\x00winSeekFile\x00winClose\x00winRead\x00winWrite1\x00winWrite2\x00winTruncate1\x00winTruncate2\x00winSync1\x00winSync2\x00winFileSize\x00winUnlockReadLock\x00winUnlock\x00winLockSharedMemory\x00%s-shm\x00readonly_shm\x00winOpenShm\x00winShmMap1\x00winShmMap2\x00winShmMap3\x00winUnmapfile1\x00winUnmapfile2\x00winMapfile1\x00winMapfile2\x00etilqs_\x00winGetTempname1\x00winGetTempname2\x00winGetTempname3\x00winGetTempname4\x00winGetTempname5\x00abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789\x00exclusive\x00winOpen\x00psow\x00winDelete\x00winAccess\x00%s%c%s\x00winFullPathname1\x00winFullPathname2\x00winFullPathname3\x00winFullPathname4\x00win32\x00win32-longpath\x00win32-none\x00win32-longpath-none\x00memdb\x00memdb(%p,%lld)\x00PRAGMA \"%w\".page_count\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\x00SQLite format 3\x00:memory:\x00@ \x00\n\x00invalid page number %d\x002nd reference to page %d\x00Failed to read ptrmap key=%d\x00Bad ptr map entry key=%d expected=(%d,%d) got=(%d,%d)\x00failed to get page %d\x00freelist leaf count too big on page %d\x00%s is %d but should be %d\x00size\x00overflow list length\x00Page %u: \x00unable to get the page. error code=%d\x00btreeInitPage() returns error code %d\x00free space corruption\x00On tree page %u cell %d: \x00On page %u at right child: \x00Offset %d out of range %d..%d\x00Extends off end of page\x00Rowid %lld out of order\x00Child page depth differs\x00Multiple uses for byte %u of page %u\x00Fragmentation of %d bytes reported as %d on page %u\x00Main freelist: \x00max rootpage (%d) disagrees with header (%d)\x00incremental_vacuum enabled with a max rootpage of zero\x00Page %d is never used\x00Pointer map page %d is referenced\x00unknown database %s\x00destination database is in use\x00source and destination must be distinct\x00%!.15g\x00-\x00%s%s\x00k(%d\x00B\x00,%s%s%s\x00N.\x00)\x00%.18s-%s\x00%s(%d)\x00%d\x00(blob)\x00vtab:%p\x00%c%u\x00]\x00program\x00?\x008\x0016LE\x0016BE\x00addr\x00opcode\x00p1\x00p2\x00p3\x00p4\x00p5\x00comment\x00id\x00parent\x00notused\x00detail\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\x00ValueList\x00bind on a busy prepared statement: [%s]\x00-- \x00'%.*q'\x00zeroblob(%d)\x00x'\x00%02x\x00'\x00%s constraint failed\x00%z: %s\x00abort at %d in [%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\x00cannot change %s wal mode from within a transaction\x00into\x00out of\x00database table is locked: %s\x00-- %s\x00statement aborts at %d: [%s] %s\x00NOT NULL\x00UNIQUE\x00CHECK\x00FOREIGN KEY\x00cannot open value of type %s\x00null\x00real\x00integer\x00no such rowid: %lld\x00cannot open virtual table: %s\x00cannot open table without rowid: %s\x00cannot open view: %s\x00no such column: \"%s\"\x00foreign key\x00indexed\x00cannot open %s column for writing\x00main\x00*\x00new\x00old\x00excluded\x00misuse of aliased aggregate %s\x00misuse of aliased window function %s\x00row value misused\x00double-quoted string literal: \"%w\"\x00no such column\x00ambiguous column name\x00%s: %s.%s.%s\x00%s: %s.%s\x00%s: %s\x00partial index WHERE clauses\x00index expressions\x00CHECK constraints\x00generated columns\x00%s prohibited in %s\x00true\x00false\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\x00a GROUP BY clause is required before HAVING\x00GROUP\x00aggregate functions are not allowed in the GROUP BY clause\x00Expression tree is too large (maximum depth %d)\x00IN(...) element has %d term%s - expected %d\x00s\x000\x00too many arguments on function %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\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\x00%sLIST SUBQUERY %d\x00CORRELATED \x00REUSE SUBQUERY %d\x00%sSCALAR SUBQUERY %d\x001\x000x\x00hex literal too big: %s%#T\x00generated column loop on \"%s\"\x00blob\x00text\x00numeric\x00none\x00misuse of aggregate: %#T()\x00unknown function: %#T()\x00RAISE() may only be used within a trigger-program\x00B\x00C\x00D\x00E\x00sqlite_\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') ELSE raise(ABORT,'NOT NULL constraint failed') END FROM pragma_quick_check(%Q,%Q) WHERE quick_check GLOB 'CHECK*' OR quick_check GLOB 'NULL*'\x00virtual tables may not be altered\x00Cannot add a column to a view\x00sqlite_altertab_%s\x00view\x00virtual table\x00cannot %s %s \"%s\"\x00drop column from\x00rename columns of\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')\x00error in %s %s%s%s: %s\x00 \x00CREATE \x00\"%w\" \x00%Q%s\x00%.*s%s\x00cannot drop %s column: \"%s\"\x00PRIMARY KEY\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\x00CREATE TABLE %Q.%s(%s)\x00DELETE FROM %Q.%s WHERE %s=%Q\x00DELETE FROM %Q.%s\x00sqlite_stat1\x00tbl,idx,stat\x00sqlite_stat4\x00tbl,idx,neq,nlt,ndlt,sample\x00sqlite_stat3\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\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\x00sqlite_temp_schema\x00sqlite_schema\x00sqlite_temp_master\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\x00sqlite_returning\x00cannot use RETURNING in a trigger\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'\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'\x00stat\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\x00unsupported use of NULLS %s\x00FIRST\x00LAST\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\x00CREATE%s INDEX %.*s\x00 UNIQUE\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\x00a JOIN clause is required before %s\x00ON\x00USING\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\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%!.20e\x00%Q\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\x00instr\x00printf\x00format\x00unicode\x00char\x00abs\x00round\x00upper\x00lower\x00hex\x00ifnull\x00random\x00randomblob\x00nullif\x00sqlite_version\x00sqlite_source_id\x00sqlite_log\x00quote\x00last_insert_rowid\x00changes\x00total_changes\x00replace\x00zeroblob\x00substr\x00substring\x00sum\x00total\x00avg\x00count\x00group_concat\x00glob\x00coalesce\x00ceil\x00ceiling\x00floor\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\x00foreign key mismatch - \"%w\" referencing \"%w\"\x00cannot INSERT into generated column \"%s\"\x00table %S has no column named %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\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]\x00dll\x00automatic extension loading failed: %s\x00seq\x00from\x00to\x00on_update\x00on_delete\x00match\x00cid\x00name\x00type\x00notnull\x00dflt_value\x00pk\x00hidden\x00schema\x00ncol\x00wr\x00strict\x00seqno\x00desc\x00coll\x00key\x00builtin\x00enc\x00narg\x00flags\x00wdth\x00hght\x00flgs\x00unique\x00origin\x00partial\x00rowid\x00fkid\x00file\x00busy\x00checkpointed\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_store_directory\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\x00onoffalseyestruextrafull\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\x00w\x00a\x00sissii\x00utf8\x00utf16le\x00utf16be\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\x00NULL value in %s.%s\x00non-%s value in %s.%s\x00CHECK constraint failed in %s\x00row \x00 missing from index \x00non-unique entry in index \x00wrong # of entries in index \x00ok\x00unsupported encoding: %s\x00restart\x00ANALYZE \"%w\".\"%w\"\x00UTF8\x00UTF-8\x00UTF-16le\x00UTF-16be\x00UTF16le\x00UTF16be\x00UTF-16\x00UTF16\x00CREATE TABLE x\x00%c\"%s\"\x00(\"%s\"\x00,arg HIDDEN\x00,schema HIDDEN\x00PRAGMA \x00%Q.\x00=%Q\x00error in %s %s after %s: %s\x00malformed database schema (%s)\x00%z - %s\x00rename\x00drop column\x00add column\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 or unsupported join type: %T %T%s%T\x00RIGHT and FULL OUTER JOINs are not currently supported\x00naturaleftouterightfullinnercross\x00a NATURAL join may not have an ON or USING clause\x00cannot have both ON and USING clauses in the same join\x00cannot join using column %s - column not present in both tables\x00UNION ALL\x00INTERSECT\x00EXCEPT\x00UNION\x00USE TEMP B-TREE FOR %s\x00column%d\x00%.*z:%u\x00cannot use window functions in recursive queries\x00recursive aggregate queries not supported\x00SETUP\x00RECURSIVE STEP\x00SCAN %d CONSTANT ROW%s\x00S\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\x00subquery_%u\x00too many references to \"%s\": max 65535\x00access to view \"%s\" prohibited\x00unsafe use of virtual table \"%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)\x00SCAN %s%s%s\x00 USING COVERING INDEX \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\x00RIGHT PART OF ORDER BY\x00ORDER 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\x00trigger %T already exists\x00cannot create trigger on system table\x00cannot create %s trigger on view: %S\x00BEFORE\x00AFTER\x00cannot create INSTEAD OF trigger on 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'\x00%s RETURNING is not available on virtual tables\x00DELETE\x00UPDATE\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\x00ATTACH %Q AS vacuum_db\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 vacuum_db.'||quote(name)||' SELECT*FROM\"%w\".'||quote(name)FROM vacuum_db.sqlite_schema WHERE type='table'AND coalesce(rootpage,1)>0\x00INSERT INTO vacuum_db.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\x00\x00 AND \x00(\x00 (\x00%s=?\x00ANY(%s)\x00>\x00<\x00%s %S\x00SEARCH\x00SCAN\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 %d:%s\x00BLOOM FILTER ON %S (\x00rowid=?\x00MULTI-INDEX OR\x00INDEX %d\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\x00second argument to nth_value must be a positive integer\x00argument of ntile must be a positive integer\x00row_number\x00dense_rank\x00rank\x00percent_rank\x00cume_dist\x00ntile\x00last_value\x00nth_value\x00first_value\x00lead\x00lag\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\x00%s clause should come after %s not before\x00LIMIT\x00too many terms in compound SELECT\x00syntax error after column name \"%.*s\"\x00parser stack overflow\x00unknown table option: %.*s\x00set list\x00near \"%T\": syntax error\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\x00unknown error\x00abort due to ROLLBACK\x00another row available\x00no more rows available\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\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\x00mode\x00access\x00no such %s mode: %s\x00%s mode not allowed: %s\x00no such vfs: %s\x00shared\x00private\x00ro\x00rw\x00rwc\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\x000123456789abcdef\x00JSON cannot hold BLOB values\x00malformed JSON\x00[0]\x00JSON path error near '%q'\x00json_%s() needs an odd number of arguments\x00$[\x00$.\x00json_object() requires an even number of arguments\x00json_object() labels must be TEXT\x00set\x00insert\x00[]\x00{}\x00CREATE TABLE x(key,value,type,atom,id,parent,fullkey,path,json HIDDEN,root HIDDEN)\x00[%d]\x00.%.*s\x00$\x00json\x00json_array\x00json_array_length\x00json_extract\x00->\x00->>\x00json_insert\x00json_object\x00json_patch\x00json_quote\x00json_remove\x00json_replace\x00json_set\x00json_type\x00json_valid\x00json_group_array\x00json_group_object\x00json_each\x00json_tree\x00%s_node\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\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\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\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\x00CREATE TABLE x(%.*s INT\x00,%.*s\x00);\x00,%.*s REAL\x00,%.*s INT\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\x00Mapping (%lld -> %lld) missing from %s table\x00%_rowid\x00%_parent\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\x00END\x00wrong number of arguments to function rtreecheck()\x00[\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\x00geopoly_area\x00geopoly_blob\x00geopoly_json\x00geopoly_svg\x00geopoly_contains_point\x00geopoly_debug\x00geopoly_bbox\x00geopoly_xform\x00geopoly_regular\x00geopoly_ccw\x00geopoly_group_bbox\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;\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\x00AND rootpage!=0 AND rootpage IS NOT NULL\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\x00table %q %s rbu_rowid column\x00may not have\x00requires\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%z%s\"%w\" %s %sCOLLATE %Q%s\x00 NOT NULL\x00%z, %z\x00CREATE TABLE \"rbu_imp_%w\"(%z)%s\x00 WITHOUT ROWID\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\x00SELECT %s, 0 AS rbu_control FROM '%q' %s %s %s ORDER BY %s%s\x00AND\x00WHERE\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_\x00INSERT INTO \"%s%w\"(%s%s) VALUES(%s)\x00, _rowid_\x00DELETE FROM \"%s%w\" WHERE %s\x00, rbu_rowid\x00CREATE TABLE IF NOT EXISTS %s.'rbu_tmp_%q' AS SELECT *%s FROM '%q' WHERE 0;\x00, 0 AS rbu_rowid\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\x00SELECT %s,%s rbu_control%s FROM '%q'%s %s %s %s\x000 AS \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\x00file:%s-vactmp?rbu_memory=1%s%s\x00&\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, %d), (%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\x00database modified during rbu %s\x00vacuum\x00update\x00BEGIN IMMEDIATE\x00PRAGMA journal_mode=off\x00-vactmp\x00DELETE FROM stat.rbu_state\x00rbu/zipvfs setup error\x00rbu(%s)/%z\x00rbu_memory\x00SELECT 0, 'tbl', '', 0, '', 1 UNION ALL SELECT 1, 'idx', '', 0, '', 2 UNION ALL SELECT 2, 'stat', '', 0, '', 0\x00PRAGMA '%q'.table_info('%q')\x00%z%s\"%w\".\"%w\".\"%w\"=\"%w\".\"%w\".\"%w\"\x00%z%s\"%w\".\"%w\".\"%w\" IS NOT \"%w\".\"%w\".\"%w\"\x00 OR \x00SELECT * FROM \"%w\".\"%w\" WHERE NOT EXISTS ( SELECT 1 FROM \"%w\".\"%w\" WHERE %s)\x00SELECT * FROM \"%w\".\"%w\", \"%w\".\"%w\" WHERE %s AND (%z)\x00table schemas do not match\x00SELECT tbl, ?2, stat FROM %Q.sqlite_stat1 WHERE tbl IS ?1 AND idx IS (CASE WHEN ?2=X'' THEN NULL ELSE ?2 END)\x00SELECT * FROM \x00 WHERE \x00 IS ?\x00SAVEPOINT changeset\x00RELEASE changeset\x00UPDATE main.\x00 SET \x00 = ?\x00idx IS CASE WHEN length(?4)=0 AND typeof(?4)='blob' THEN NULL ELSE ?4 END \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()\x00snippet\x00highlight\x00bm25\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\x00content_rowid\x00multiple content_rowid=... directives\x00columnsize\x00malformed columnsize=... directive\x00columns\x00malformed detail=... directive\x00unrecognized option: \"%.*s\"\x00reserved fts5 column name: %s\x00unindexed\x00unrecognized column option: %s\x00T.%Q\x00, T.%Q\x00, T.c%d\x00reserved fts5 table name: %s\x00parse error in \"%s\"\x00docsize\x00%Q.'%q_%s'\x00CREATE TABLE x(\x00%z%s%Q\x00%z, %Q HIDDEN, %s HIDDEN)\x00pgsz\x00hashsize\x00automerge\x00usermerge\x00crisismerge\x00SELECT k, v FROM %Q.'%q_config'\x00version\x00invalid fts5 file format (found %d, expected %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)\x00fts5: %s queries are not supported (detail!=full)\x00phrase\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=?\x00PRAGMA %Q.data_version\x00SELECT pgno FROM '%q'.'%q_idx' WHERE segid=? AND term<=? ORDER BY term DESC LIMIT 1\x00INSERT INTO '%q'.'%q_idx'(segid,term,pgno) VALUES(?,?,?)\x00%s_data\x00id INTEGER PRIMARY KEY, block BLOB\x00segid, term, pgno, PRIMARY KEY(segid, term)\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\x00SELECT rowid, rank FROM %Q.%Q ORDER BY %s(\"%w\"%s%s) %s\x00DESC\x00ASC\x00reads\x00unknown special query: %.*s\x00SELECT %s\x00no such function: %s\x00parse error in rank function: %s\x00%s: table does not support scanning\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\x00cannot %s contentless fts5 table: %s\x00DELETE from\x00no such cursor: %lld\x00no such tokenizer: %s\x00error in tokenizer constructor\x00fts5_api_ptr\x00fts5: 2022-03-12 13:37:29 38c210fdd258658321c85ec9c01a072fda3ada94540e3239d29b34dc547a8cbc\x00config\x00fts5\x00fts5_source_id\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(?,?)\x00DELETE FROM %Q.'%q_docsize' WHERE id=?\x00SELECT sz FROM %Q.'%q_docsize' WHERE id=?\x00REPLACE INTO %Q.'%q_config' VALUES(?,?)\x00SELECT %s FROM %s AS T\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\x00id INTEGER PRIMARY KEY, sz BLOB\x00k PRIMARY KEY, v\x00DELETE FROM %Q.'%q_data';DELETE FROM %Q.'%q_idx';\x00DELETE FROM %Q.'%q_docsize';\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\x00ascii\x00porter\x00trigram\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\x002022-03-12 13:37:29 38c210fdd258658321c85ec9c01a072fda3ada94540e3239d29b34dc547a8cbc\x00" + }{Xsqlite3_value_dup})) // sqlite3.c:129309:3: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1640)) = Xsqlite3_value_free // sqlite3.c:129310:3: + *(*func(*libc.TLS, uintptr, U64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1648)) = Xsqlite3_result_zeroblob64 // sqlite3.c:129311:3: + *(*func(*libc.TLS, uintptr, int32, Sqlite3_uint64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1656)) = Xsqlite3_bind_zeroblob64 // sqlite3.c:129312:3: + *(*func(*libc.TLS, uintptr) uint32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1664)) = Xsqlite3_value_subtype // sqlite3.c:129314:3: + *(*func(*libc.TLS, uintptr, uint32))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1672)) = Xsqlite3_result_subtype // sqlite3.c:129315:3: + *(*func(*libc.TLS, int32, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1680)) = Xsqlite3_status64 // sqlite3.c:129317:3: + *(*func(*libc.TLS, uintptr, uintptr, uint32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1688)) = Xsqlite3_strlike // sqlite3.c:129318:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1696)) = Xsqlite3_db_cacheflush // sqlite3.c:129319:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1704)) = Xsqlite3_system_errno // sqlite3.c:129321:3: + *(*func(*libc.TLS, uintptr, uint32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1712)) = Xsqlite3_trace_v2 // sqlite3.c:129323:3: + *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1720)) = Xsqlite3_expanded_sql // sqlite3.c:129324:3: + *(*func(*libc.TLS, uintptr, Sqlite3_int64))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1728)) = Xsqlite3_set_last_insert_rowid // sqlite3.c:129326:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uint32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1736)) = Xsqlite3_prepare_v3 // sqlite3.c:129328:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, uint32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1744)) = Xsqlite3_prepare16_v3 // sqlite3.c:129329:3: + *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1752)) = Xsqlite3_bind_pointer // sqlite3.c:129330:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1760)) = Xsqlite3_result_pointer // sqlite3.c:129331:3: + *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1768)) = Xsqlite3_value_pointer // sqlite3.c:129332:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1776)) = Xsqlite3_vtab_nochange // sqlite3.c:129334:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1784)) = Xsqlite3_value_nochange // sqlite3.c:129335:3: + *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1792)) = Xsqlite3_vtab_collation // sqlite3.c:129336:3: + *(*func(*libc.TLS) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1800)) = Xsqlite3_keyword_count // sqlite3.c:129338:3: + *(*func(*libc.TLS, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1808)) = Xsqlite3_keyword_name // sqlite3.c:129339:3: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1816)) = Xsqlite3_keyword_check // sqlite3.c:129340:3: + *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1824)) = Xsqlite3_str_new // sqlite3.c:129341:3: + *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1832)) = Xsqlite3_str_finish // sqlite3.c:129342:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1840)) = Xsqlite3_str_appendf // sqlite3.c:129343:3: + *(*func(*libc.TLS, uintptr, uintptr, Va_list))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1848)) = Xsqlite3_str_vappendf // sqlite3.c:129344:3: + *(*func(*libc.TLS, uintptr, uintptr, int32))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1856)) = Xsqlite3_str_append // sqlite3.c:129345:3: + *(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1864)) = Xsqlite3_str_appendall // sqlite3.c:129346:3: + *(*func(*libc.TLS, uintptr, int32, int8))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1872)) = Xsqlite3_str_appendchar // sqlite3.c:129347:3: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1880)) = Xsqlite3_str_reset // sqlite3.c:129348:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1888)) = Xsqlite3_str_errcode // sqlite3.c:129349:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1896)) = Xsqlite3_str_length // sqlite3.c:129350:3: + *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1904)) = Xsqlite3_str_value // sqlite3.c:129351:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, int32, uintptr, uintptr, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1912)) = Xsqlite3_create_window_function // sqlite3.c:129353:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1928)) = Xsqlite3_stmt_isexplain // sqlite3.c:129361:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1936)) = Xsqlite3_value_frombind // sqlite3.c:129362:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1944)) = Xsqlite3_drop_modules // sqlite3.c:129365:3: + *(*func(*libc.TLS, Sqlite3_int64) Sqlite3_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1952)) = Xsqlite3_hard_heap_limit64 // sqlite3.c:129370:3: + *(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1960)) = Xsqlite3_uri_key // sqlite3.c:129371:3: + *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1968)) = Xsqlite3_filename_database // sqlite3.c:129372:3: + *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1976)) = Xsqlite3_filename_journal // sqlite3.c:129373:3: + *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1984)) = Xsqlite3_filename_wal // sqlite3.c:129374:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 1992)) = Xsqlite3_create_filename // sqlite3.c:129376:3: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 2000)) = Xsqlite3_free_filename // sqlite3.c:129377:3: + *(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 2008)) = Xsqlite3_database_file_object // sqlite3.c:129378:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 2016)) = Xsqlite3_txn_state // sqlite3.c:129380:3: + *(*func(*libc.TLS, uintptr) Sqlite3_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 2024)) = Xsqlite3_changes64 // sqlite3.c:129382:3: + *(*func(*libc.TLS, uintptr) Sqlite3_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 2032)) = Xsqlite3_total_changes64 // sqlite3.c:129383:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 2040)) = Xsqlite3_autovacuum_pages // sqlite3.c:129385:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 2048)) = Xsqlite3_error_offset // sqlite3.c:129387:3: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 2056)) = Xsqlite3_vtab_rhs_value // sqlite3.c:129388:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 2064)) = Xsqlite3_vtab_distinct // sqlite3.c:129389:3: + *(*func(*libc.TLS, uintptr, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 2072)) = Xsqlite3_vtab_in // sqlite3.c:129390:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 2080)) = Xsqlite3_vtab_in_first // sqlite3.c:129391:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 2088)) = Xsqlite3_vtab_in_next // sqlite3.c:129392:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3BuiltinExtensions)) + 0)) = Xsqlite3Fts5Init // sqlite3.c:168545:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3BuiltinExtensions)) + 8)) = Xsqlite3RtreeInit // sqlite3.c:168551:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3BuiltinExtensions)) + 16)) = sqlite3TestExtInit // sqlite3.c:168559:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3BuiltinExtensions)) + 24)) = Xsqlite3JsonTableFunctions // sqlite3.c:168561:3: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&statGetFuncdef)) + 24)) = statGet // sqlite3.c:112006:3: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&statInitFuncdef)) + 24)) = statInit // sqlite3.c:111582:3: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&statPushFuncdef)) + 24)) = statPush // sqlite3.c:111872:3: + *(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 40)) = rbuVfsOpen // sqlite3.c:208945:5: + *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 48)) = rbuVfsDelete // sqlite3.c:208946:5: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 56)) = rbuVfsAccess // sqlite3.c:208947:5: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 64)) = rbuVfsFullPathname // sqlite3.c:208948:5: + *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 72)) = rbuVfsDlOpen // sqlite3.c:208951:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 80)) = rbuVfsDlError // sqlite3.c:208952:5: + *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 88)) = rbuVfsDlSym // sqlite3.c:208953:5: + *(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 96)) = rbuVfsDlClose // sqlite3.c:208954:5: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 104)) = rbuVfsRandomness // sqlite3.c:208959:5: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 112)) = rbuVfsSleep // sqlite3.c:208960:5: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 120)) = rbuVfsCurrentTime // sqlite3.c:208961:5: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 128)) = rbuVfsGetLastError // sqlite3.c:208962:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&winAppData)) + 0 /* .pMethod */)) = uintptr(unsafe.Pointer(&winIoMethod)) // sqlite3.c:47559:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&winIoMethod)) + 8)) = winClose // sqlite3.c:47512:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&winIoMethod)) + 16)) = winRead // sqlite3.c:47513:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&winIoMethod)) + 24)) = winWrite // sqlite3.c:47514:3: + *(*func(*libc.TLS, uintptr, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&winIoMethod)) + 32)) = winTruncate // sqlite3.c:47515:3: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&winIoMethod)) + 40)) = winSync // sqlite3.c:47516:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&winIoMethod)) + 48)) = winFileSize // sqlite3.c:47517:3: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&winIoMethod)) + 56)) = winLock // sqlite3.c:47518:3: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&winIoMethod)) + 64)) = winUnlock // sqlite3.c:47519:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&winIoMethod)) + 72)) = winCheckReservedLock // sqlite3.c:47520:3: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&winIoMethod)) + 80)) = winFileControl // sqlite3.c:47521:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&winIoMethod)) + 88)) = winSectorSize // sqlite3.c:47522:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&winIoMethod)) + 96)) = winDeviceCharacteristics // sqlite3.c:47523:3: + *(*func(*libc.TLS, uintptr, int32, int32, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&winIoMethod)) + 104)) = winShmMap // sqlite3.c:47524:3: + *(*func(*libc.TLS, uintptr, int32, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&winIoMethod)) + 112)) = winShmLock // sqlite3.c:47525:3: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&winIoMethod)) + 120)) = winShmBarrier // sqlite3.c:47526:3: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&winIoMethod)) + 128)) = winShmUnmap // sqlite3.c:47527:3: + *(*func(*libc.TLS, uintptr, I64, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&winIoMethod)) + 136)) = winFetch // sqlite3.c:47528:3: + *(*func(*libc.TLS, uintptr, I64, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&winIoMethod)) + 144)) = winUnfetch // sqlite3.c:47529:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&winIoNolockMethod)) + 8)) = winClose // sqlite3.c:47538:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&winIoNolockMethod)) + 16)) = winRead // sqlite3.c:47539:3: + *(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&winIoNolockMethod)) + 24)) = winWrite // sqlite3.c:47540:3: + *(*func(*libc.TLS, uintptr, Sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&winIoNolockMethod)) + 32)) = winTruncate // sqlite3.c:47541:3: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&winIoNolockMethod)) + 40)) = winSync // sqlite3.c:47542:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&winIoNolockMethod)) + 48)) = winFileSize // sqlite3.c:47543:3: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&winIoNolockMethod)) + 56)) = winNolockLock // sqlite3.c:47544:3: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&winIoNolockMethod)) + 64)) = winNolockUnlock // sqlite3.c:47545:3: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&winIoNolockMethod)) + 72)) = winNolockCheckReservedLock // sqlite3.c:47546:3: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&winIoNolockMethod)) + 80)) = winFileControl // sqlite3.c:47547:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&winIoNolockMethod)) + 88)) = winSectorSize // sqlite3.c:47548:3: + *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&winIoNolockMethod)) + 96)) = winDeviceCharacteristics // sqlite3.c:47549:3: + *(*func(*libc.TLS, uintptr, int32, int32, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&winIoNolockMethod)) + 104)) = winShmMap // sqlite3.c:47550:3: + *(*func(*libc.TLS, uintptr, int32, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&winIoNolockMethod)) + 112)) = winShmLock // sqlite3.c:47551:3: + *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&winIoNolockMethod)) + 120)) = winShmBarrier // sqlite3.c:47552:3: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&winIoNolockMethod)) + 128)) = winShmUnmap // sqlite3.c:47553:3: + *(*func(*libc.TLS, uintptr, I64, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&winIoNolockMethod)) + 136)) = winFetch // sqlite3.c:47554:3: + *(*func(*libc.TLS, uintptr, I64, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&winIoNolockMethod)) + 144)) = winUnfetch // sqlite3.c:47555:3: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&winLongPathNolockVfs)) + 32 /* .pAppData */)) = uintptr(unsafe.Pointer(&winNolockAppData)) // sqlite3.c:49009:5: + *(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&winLongPathNolockVfs)) + 40)) = winOpen // sqlite3.c:49010:5: + *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&winLongPathNolockVfs)) + 48)) = winDelete // sqlite3.c:49011:5: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&winLongPathNolockVfs)) + 56)) = winAccess // sqlite3.c:49012:5: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&winLongPathNolockVfs)) + 64)) = winFullPathname // sqlite3.c:49013:5: + *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&winLongPathNolockVfs)) + 72)) = winDlOpen // sqlite3.c:49014:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&winLongPathNolockVfs)) + 80)) = winDlError // sqlite3.c:49015:5: + *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&winLongPathNolockVfs)) + 88)) = winDlSym // sqlite3.c:49016:5: + *(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&winLongPathNolockVfs)) + 96)) = winDlClose // sqlite3.c:49017:5: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&winLongPathNolockVfs)) + 104)) = winRandomness // sqlite3.c:49018:5: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&winLongPathNolockVfs)) + 112)) = winSleep // sqlite3.c:49019:5: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&winLongPathNolockVfs)) + 120)) = winCurrentTime // sqlite3.c:49020:5: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&winLongPathNolockVfs)) + 128)) = winGetLastError // sqlite3.c:49021:5: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&winLongPathNolockVfs)) + 136)) = winCurrentTimeInt64 // sqlite3.c:49022:5: + *(*func(*libc.TLS, uintptr, uintptr, Sqlite3_syscall_ptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&winLongPathNolockVfs)) + 144)) = winSetSystemCall // sqlite3.c:49023:5: + *(*func(*libc.TLS, uintptr, uintptr) Sqlite3_syscall_ptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&winLongPathNolockVfs)) + 152)) = winGetSystemCall // sqlite3.c:49024:5: + *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&winLongPathNolockVfs)) + 160)) = winNextSystemCall // sqlite3.c:49025:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&winLongPathVfs)) + 32 /* .pAppData */)) = uintptr(unsafe.Pointer(&winAppData)) // sqlite3.c:48959:5: + *(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&winLongPathVfs)) + 40)) = winOpen // sqlite3.c:48960:5: + *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&winLongPathVfs)) + 48)) = winDelete // sqlite3.c:48961:5: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&winLongPathVfs)) + 56)) = winAccess // sqlite3.c:48962:5: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&winLongPathVfs)) + 64)) = winFullPathname // sqlite3.c:48963:5: + *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&winLongPathVfs)) + 72)) = winDlOpen // sqlite3.c:48964:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&winLongPathVfs)) + 80)) = winDlError // sqlite3.c:48965:5: + *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&winLongPathVfs)) + 88)) = winDlSym // sqlite3.c:48966:5: + *(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&winLongPathVfs)) + 96)) = winDlClose // sqlite3.c:48967:5: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&winLongPathVfs)) + 104)) = winRandomness // sqlite3.c:48968:5: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&winLongPathVfs)) + 112)) = winSleep // sqlite3.c:48969:5: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&winLongPathVfs)) + 120)) = winCurrentTime // sqlite3.c:48970:5: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&winLongPathVfs)) + 128)) = winGetLastError // sqlite3.c:48971:5: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&winLongPathVfs)) + 136)) = winCurrentTimeInt64 // sqlite3.c:48972:5: + *(*func(*libc.TLS, uintptr, uintptr, Sqlite3_syscall_ptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&winLongPathVfs)) + 144)) = winSetSystemCall // sqlite3.c:48973:5: + *(*func(*libc.TLS, uintptr, uintptr) Sqlite3_syscall_ptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&winLongPathVfs)) + 152)) = winGetSystemCall // sqlite3.c:48974:5: + *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&winLongPathVfs)) + 160)) = winNextSystemCall // sqlite3.c:48975:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&winNolockAppData)) + 0 /* .pMethod */)) = uintptr(unsafe.Pointer(&winIoNolockMethod)) // sqlite3.c:47565:3: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&winNolockVfs)) + 32 /* .pAppData */)) = uintptr(unsafe.Pointer(&winNolockAppData)) // sqlite3.c:48984:5: + *(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&winNolockVfs)) + 40)) = winOpen // sqlite3.c:48985:5: + *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&winNolockVfs)) + 48)) = winDelete // sqlite3.c:48986:5: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&winNolockVfs)) + 56)) = winAccess // sqlite3.c:48987:5: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&winNolockVfs)) + 64)) = winFullPathname // sqlite3.c:48988:5: + *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&winNolockVfs)) + 72)) = winDlOpen // sqlite3.c:48989:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&winNolockVfs)) + 80)) = winDlError // sqlite3.c:48990:5: + *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&winNolockVfs)) + 88)) = winDlSym // sqlite3.c:48991:5: + *(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&winNolockVfs)) + 96)) = winDlClose // sqlite3.c:48992:5: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&winNolockVfs)) + 104)) = winRandomness // sqlite3.c:48993:5: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&winNolockVfs)) + 112)) = winSleep // sqlite3.c:48994:5: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&winNolockVfs)) + 120)) = winCurrentTime // sqlite3.c:48995:5: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&winNolockVfs)) + 128)) = winGetLastError // sqlite3.c:48996:5: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&winNolockVfs)) + 136)) = winCurrentTimeInt64 // sqlite3.c:48997:5: + *(*func(*libc.TLS, uintptr, uintptr, Sqlite3_syscall_ptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&winNolockVfs)) + 144)) = winSetSystemCall // sqlite3.c:48998:5: + *(*func(*libc.TLS, uintptr, uintptr) Sqlite3_syscall_ptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&winNolockVfs)) + 152)) = winGetSystemCall // sqlite3.c:48999:5: + *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&winNolockVfs)) + 160)) = winNextSystemCall // sqlite3.c:49000:5: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&winVfs)) + 32 /* .pAppData */)) = uintptr(unsafe.Pointer(&winAppData)) // sqlite3.c:48934:5: + *(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&winVfs)) + 40)) = winOpen // sqlite3.c:48935:5: + *(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&winVfs)) + 48)) = winDelete // sqlite3.c:48936:5: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&winVfs)) + 56)) = winAccess // sqlite3.c:48937:5: + *(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&winVfs)) + 64)) = winFullPathname // sqlite3.c:48938:5: + *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&winVfs)) + 72)) = winDlOpen // sqlite3.c:48939:5: + *(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&winVfs)) + 80)) = winDlError // sqlite3.c:48940:5: + *(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&winVfs)) + 88)) = winDlSym // sqlite3.c:48941:5: + *(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&winVfs)) + 96)) = winDlClose // sqlite3.c:48942:5: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&winVfs)) + 104)) = winRandomness // sqlite3.c:48943:5: + *(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&winVfs)) + 112)) = winSleep // sqlite3.c:48944:5: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&winVfs)) + 120)) = winCurrentTime // sqlite3.c:48945:5: + *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&winVfs)) + 128)) = winGetLastError // sqlite3.c:48946:5: + *(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&winVfs)) + 136)) = winCurrentTimeInt64 // sqlite3.c:48947:5: + *(*func(*libc.TLS, uintptr, uintptr, Sqlite3_syscall_ptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&winVfs)) + 144)) = winSetSystemCall // sqlite3.c:48948:5: + *(*func(*libc.TLS, uintptr, uintptr) Sqlite3_syscall_ptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&winVfs)) + 152)) = winGetSystemCall // sqlite3.c:48949:5: + *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&winVfs)) + 160)) = winNextSystemCall // sqlite3.c:48950:5: +} + +var ts1 = "3.38.2\x00ATOMIC_INTRINSICS=1\x00COMPILER=msvc-1900\x00DEFAULT_AUTOVACUUM\x00DEFAULT_CACHE_SIZE=-2000\x00DEFAULT_FILE_FORMAT=4\x00DEFAULT_JOURNAL_SIZE_LIMIT=-1\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\x00ENABLE_COLUMN_METADATA\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=127\x00MAX_LENGTH=1000000000\x00MAX_LIKE_PATTERN_LENGTH=50000\x00MAX_MMAP_SIZE=0x7fff0000\x00MAX_PAGE_COUNT=1073741823\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\x00BINARY\x00ANY\x00BLOB\x00INT\x00INTEGER\x00REAL\x00TEXT\x0020b:20e\x0020c:20e\x0020e\x0040f-21a-21d\x00now\x00local time unavailable\x00second\x00minute\x00hour\x00\x00\x00day\x00\x00\x00\x00month\x00\x00year\x00\x00\x00auto\x00julianday\x00localtime\x00unixepoch\x00utc\x00weekday \x00start of \x00month\x00year\x00day\x00%02d\x00%06.3f\x00%03d\x00%.16g\x00%lld\x00%04d\x00date\x00time\x00datetime\x00strftime\x00current_time\x00current_timestamp\x00current_date\x00failed to allocate %u bytes of memory\x00failed memory resize %u to %u bytes\x00out of memory\x000123456789ABCDEF0123456789abcdef\x00-x0\x00X0\x00%\x00NaN\x00Inf\x00\x00NULL\x00(NULL)\x00.\x00SUBQUERY %u\x00thstndrd\x00922337203685477580\x00API call with %s database connection pointer\x00unopened\x00invalid\x00Savepoint\x00AutoCommit\x00Transaction\x00SorterNext\x00Prev\x00Next\x00Checkpoint\x00JournalMode\x00Vacuum\x00VFilter\x00VUpdate\x00Goto\x00Gosub\x00InitCoroutine\x00Yield\x00MustBeInt\x00Jump\x00Once\x00If\x00Not\x00IfNot\x00IsNullOrType\x00IfNullRow\x00SeekLT\x00SeekLE\x00SeekGE\x00SeekGT\x00IfNotOpen\x00IfNoHope\x00NoConflict\x00NotFound\x00Found\x00SeekRowid\x00NotExists\x00Last\x00IfSmaller\x00SorterSort\x00Sort\x00Rewind\x00IdxLE\x00IdxGT\x00IdxLT\x00IdxGE\x00Or\x00And\x00RowSetRead\x00RowSetTest\x00Program\x00FkIfZero\x00IfPos\x00IsNull\x00NotNull\x00Ne\x00Eq\x00Gt\x00Le\x00Lt\x00Ge\x00ElseEq\x00IfNotZero\x00DecrJumpZero\x00IncrVacuum\x00VNext\x00Filter\x00Init\x00PureFunc\x00Function\x00Return\x00EndCoroutine\x00HaltIfNull\x00Halt\x00Integer\x00Int64\x00String\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\x00VInitIn\x00VColumn\x00VRename\x00Pagecount\x00MaxPgcnt\x00FilterAdd\x00Trace\x00CursorHint\x00ReleaseReg\x00Noop\x00Explain\x00Abortable\x00AreFileApisANSI\x00CharLowerW\x00CharUpperW\x00CloseHandle\x00CreateFileA\x00CreateFileW\x00CreateFileMappingA\x00CreateFileMappingW\x00CreateMutexW\x00DeleteFileA\x00DeleteFileW\x00FileTimeToLocalFileTime\x00FileTimeToSystemTime\x00FlushFileBuffers\x00FormatMessageA\x00FormatMessageW\x00FreeLibrary\x00GetCurrentProcessId\x00GetDiskFreeSpaceA\x00GetDiskFreeSpaceW\x00GetFileAttributesA\x00GetFileAttributesW\x00GetFileAttributesExW\x00GetFileSize\x00GetFullPathNameA\x00GetFullPathNameW\x00GetLastError\x00GetProcAddressA\x00GetSystemInfo\x00GetSystemTime\x00GetSystemTimeAsFileTime\x00GetTempPathA\x00GetTempPathW\x00GetTickCount\x00GetVersionExA\x00GetVersionExW\x00HeapAlloc\x00HeapCreate\x00HeapDestroy\x00HeapFree\x00HeapReAlloc\x00HeapSize\x00HeapValidate\x00HeapCompact\x00LoadLibraryA\x00LoadLibraryW\x00LocalFree\x00LockFile\x00LockFileEx\x00MapViewOfFile\x00MultiByteToWideChar\x00QueryPerformanceCounter\x00ReadFile\x00SetEndOfFile\x00SetFilePointer\x00Sleep\x00SystemTimeToFileTime\x00UnlockFile\x00UnlockFileEx\x00UnmapViewOfFile\x00WideCharToMultiByte\x00WriteFile\x00CreateEventExW\x00WaitForSingleObject\x00WaitForSingleObjectEx\x00SetFilePointerEx\x00GetFileInformationByHandleEx\x00MapViewOfFileFromApp\x00CreateFile2\x00LoadPackagedLibrary\x00GetTickCount64\x00GetNativeSystemInfo\x00OutputDebugStringA\x00OutputDebugStringW\x00GetProcessHeap\x00CreateFileMappingFromApp\x00InterlockedCompareExchange\x00UuidCreate\x00UuidCreateSequential\x00FlushViewOfFile\x00%s\x00OsError 0x%lx (%lu)\x00os_win.c:%d: (%lu) %s(%s) - %s\x00delayed %dms for lock/sharing conflict at line %d\x00winSeekFile\x00winClose\x00winRead\x00winWrite1\x00winWrite2\x00winTruncate1\x00winTruncate2\x00winSync1\x00winSync2\x00winFileSize\x00winUnlockReadLock\x00winUnlock\x00winLockSharedMemory\x00%s-shm\x00readonly_shm\x00winOpenShm\x00winShmMap1\x00winShmMap2\x00winShmMap3\x00winUnmapfile1\x00winUnmapfile2\x00winMapfile1\x00winMapfile2\x00etilqs_\x00winGetTempname1\x00winGetTempname2\x00winGetTempname3\x00winGetTempname4\x00winGetTempname5\x00abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789\x00exclusive\x00winOpen\x00psow\x00winDelete\x00winAccess\x00%s%c%s\x00winFullPathname1\x00winFullPathname2\x00winFullPathname3\x00winFullPathname4\x00win32\x00win32-longpath\x00win32-none\x00win32-longpath-none\x00memdb\x00memdb(%p,%lld)\x00PRAGMA \"%w\".page_count\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\x00SQLite format 3\x00:memory:\x00@ \x00\n\x00invalid page number %d\x002nd reference to page %d\x00Failed to read ptrmap key=%d\x00Bad ptr map entry key=%d expected=(%d,%d) got=(%d,%d)\x00failed to get page %d\x00freelist leaf count too big on page %d\x00%s is %d but should be %d\x00size\x00overflow list length\x00Page %u: \x00unable to get the page. error code=%d\x00btreeInitPage() returns error code %d\x00free space corruption\x00On tree page %u cell %d: \x00On page %u at right child: \x00Offset %d out of range %d..%d\x00Extends off end of page\x00Rowid %lld out of order\x00Child page depth differs\x00Multiple uses for byte %u of page %u\x00Fragmentation of %d bytes reported as %d on page %u\x00Main freelist: \x00max rootpage (%d) disagrees with header (%d)\x00incremental_vacuum enabled with a max rootpage of zero\x00Page %d is never used\x00Pointer map page %d is referenced\x00unknown database %s\x00destination database is in use\x00source and destination must be distinct\x00%!.15g\x00-\x00%s%s\x00k(%d\x00B\x00,%s%s%s\x00N.\x00)\x00%.18s-%s\x00%s(%d)\x00%d\x00(blob)\x00vtab:%p\x00%c%u\x00]\x00program\x00?\x008\x0016LE\x0016BE\x00addr\x00opcode\x00p1\x00p2\x00p3\x00p4\x00p5\x00comment\x00id\x00parent\x00notused\x00detail\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\x00ValueList\x00bind on a busy prepared statement: [%s]\x00-- \x00'%.*q'\x00zeroblob(%d)\x00x'\x00%02x\x00'\x00%s constraint failed\x00%z: %s\x00abort at %d in [%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\x00cannot change %s wal mode from within a transaction\x00into\x00out of\x00database table is locked: %s\x00-- %s\x00statement aborts at %d: [%s] %s\x00NOT NULL\x00UNIQUE\x00CHECK\x00FOREIGN KEY\x00cannot open value of type %s\x00null\x00real\x00integer\x00no such rowid: %lld\x00cannot open virtual table: %s\x00cannot open table without rowid: %s\x00cannot open view: %s\x00no such column: \"%s\"\x00foreign key\x00indexed\x00cannot open %s column for writing\x00main\x00*\x00new\x00old\x00excluded\x00misuse of aliased aggregate %s\x00misuse of aliased window function %s\x00row value misused\x00double-quoted string literal: \"%w\"\x00no such column\x00ambiguous column name\x00%s: %s.%s.%s\x00%s: %s.%s\x00%s: %s\x00partial index WHERE clauses\x00index expressions\x00CHECK constraints\x00generated columns\x00%s prohibited in %s\x00true\x00false\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\x00a GROUP BY clause is required before HAVING\x00GROUP\x00aggregate functions are not allowed in the GROUP BY clause\x00Expression tree is too large (maximum depth %d)\x00IN(...) element has %d term%s - expected %d\x00s\x000\x00too many arguments on function %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\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\x00%sLIST SUBQUERY %d\x00CORRELATED \x00REUSE SUBQUERY %d\x00%sSCALAR SUBQUERY %d\x001\x000x\x00hex literal too big: %s%#T\x00generated column loop on \"%s\"\x00blob\x00text\x00numeric\x00none\x00misuse of aggregate: %#T()\x00unknown function: %#T()\x00RAISE() may only be used within a trigger-program\x00B\x00C\x00D\x00E\x00sqlite_\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') ELSE raise(ABORT,'NOT NULL constraint failed') END FROM pragma_quick_check(%Q,%Q) WHERE quick_check GLOB 'CHECK*' OR quick_check GLOB 'NULL*'\x00virtual tables may not be altered\x00Cannot add a column to a view\x00sqlite_altertab_%s\x00view\x00virtual table\x00cannot %s %s \"%s\"\x00drop column from\x00rename columns of\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')\x00error in %s %s%s%s: %s\x00 \x00CREATE \x00\"%w\" \x00%Q%s\x00%.*s%s\x00cannot drop %s column: \"%s\"\x00PRIMARY KEY\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\x00CREATE TABLE %Q.%s(%s)\x00DELETE FROM %Q.%s WHERE %s=%Q\x00DELETE FROM %Q.%s\x00sqlite_stat1\x00tbl,idx,stat\x00sqlite_stat4\x00tbl,idx,neq,nlt,ndlt,sample\x00sqlite_stat3\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\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\x00sqlite_temp_schema\x00sqlite_schema\x00sqlite_temp_master\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\x00sqlite_returning\x00cannot use RETURNING in a trigger\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'\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'\x00stat\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\x00unsupported use of NULLS %s\x00FIRST\x00LAST\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\x00CREATE%s INDEX %.*s\x00 UNIQUE\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\x00a JOIN clause is required before %s\x00ON\x00USING\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\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%!.20e\x00%Q\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\x00instr\x00printf\x00format\x00unicode\x00char\x00abs\x00round\x00upper\x00lower\x00hex\x00ifnull\x00random\x00randomblob\x00nullif\x00sqlite_version\x00sqlite_source_id\x00sqlite_log\x00quote\x00last_insert_rowid\x00changes\x00total_changes\x00replace\x00zeroblob\x00substr\x00substring\x00sum\x00total\x00avg\x00count\x00group_concat\x00glob\x00coalesce\x00ceil\x00ceiling\x00floor\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\x00foreign key mismatch - \"%w\" referencing \"%w\"\x00cannot INSERT into generated column \"%s\"\x00table %S has no column named %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\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]\x00dll\x00automatic extension loading failed: %s\x00seq\x00from\x00to\x00on_update\x00on_delete\x00match\x00cid\x00name\x00type\x00notnull\x00dflt_value\x00pk\x00hidden\x00schema\x00ncol\x00wr\x00strict\x00seqno\x00desc\x00coll\x00key\x00builtin\x00enc\x00narg\x00flags\x00wdth\x00hght\x00flgs\x00unique\x00origin\x00partial\x00rowid\x00fkid\x00file\x00busy\x00checkpointed\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_store_directory\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\x00onoffalseyestruextrafull\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\x00w\x00a\x00sissii\x00utf8\x00utf16le\x00utf16be\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\x00NULL value in %s.%s\x00non-%s value in %s.%s\x00CHECK constraint failed in %s\x00row \x00 missing from index \x00non-unique entry in index \x00wrong # of entries in index \x00ok\x00unsupported encoding: %s\x00restart\x00ANALYZE \"%w\".\"%w\"\x00UTF8\x00UTF-8\x00UTF-16le\x00UTF-16be\x00UTF16le\x00UTF16be\x00UTF-16\x00UTF16\x00CREATE TABLE x\x00%c\"%s\"\x00(\"%s\"\x00,arg HIDDEN\x00,schema HIDDEN\x00PRAGMA \x00%Q.\x00=%Q\x00error in %s %s after %s: %s\x00malformed database schema (%s)\x00%z - %s\x00rename\x00drop column\x00add column\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 or unsupported join type: %T %T%s%T\x00RIGHT and FULL OUTER JOINs are not currently supported\x00naturaleftouterightfullinnercross\x00a NATURAL join may not have an ON or USING clause\x00cannot have both ON and USING clauses in the same join\x00cannot join using column %s - column not present in both tables\x00UNION ALL\x00INTERSECT\x00EXCEPT\x00UNION\x00USE TEMP B-TREE FOR %s\x00column%d\x00%.*z:%u\x00cannot use window functions in recursive queries\x00recursive aggregate queries not supported\x00SETUP\x00RECURSIVE STEP\x00SCAN %d CONSTANT ROW%s\x00S\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\x00subquery_%u\x00too many references to \"%s\": max 65535\x00access to view \"%s\" prohibited\x00unsafe use of virtual table \"%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)\x00SCAN %s%s%s\x00 USING COVERING INDEX \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\x00RIGHT PART OF ORDER BY\x00ORDER 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\x00trigger %T already exists\x00cannot create trigger on system table\x00cannot create %s trigger on view: %S\x00BEFORE\x00AFTER\x00cannot create INSTEAD OF trigger on 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'\x00%s RETURNING is not available on virtual tables\x00DELETE\x00UPDATE\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\x00ATTACH %Q AS vacuum_db\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 vacuum_db.'||quote(name)||' SELECT*FROM\"%w\".'||quote(name)FROM vacuum_db.sqlite_schema WHERE type='table'AND coalesce(rootpage,1)>0\x00INSERT INTO vacuum_db.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\x00\x00 AND \x00(\x00 (\x00%s=?\x00ANY(%s)\x00>\x00<\x00%s %S\x00SEARCH\x00SCAN\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 %d:%s\x00BLOOM FILTER ON %S (\x00rowid=?\x00MULTI-INDEX OR\x00INDEX %d\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\x00second argument to nth_value must be a positive integer\x00argument of ntile must be a positive integer\x00row_number\x00dense_rank\x00rank\x00percent_rank\x00cume_dist\x00ntile\x00last_value\x00nth_value\x00first_value\x00lead\x00lag\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\x00%s clause should come after %s not before\x00LIMIT\x00too many terms in compound SELECT\x00syntax error after column name \"%.*s\"\x00parser stack overflow\x00unknown table option: %.*s\x00set list\x00near \"%T\": syntax error\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\x00unknown error\x00abort due to ROLLBACK\x00another row available\x00no more rows available\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\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\x00mode\x00access\x00no such %s mode: %s\x00%s mode not allowed: %s\x00no such vfs: %s\x00shared\x00private\x00ro\x00rw\x00rwc\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\x000123456789abcdef\x00JSON cannot hold BLOB values\x00malformed JSON\x00[0]\x00JSON path error near '%q'\x00json_%s() needs an odd number of arguments\x00$[\x00$.\x00json_object() requires an even number of arguments\x00json_object() labels must be TEXT\x00set\x00insert\x00[]\x00{}\x00CREATE TABLE x(key,value,type,atom,id,parent,fullkey,path,json HIDDEN,root HIDDEN)\x00[%d]\x00.%.*s\x00$\x00json\x00json_array\x00json_array_length\x00json_extract\x00->\x00->>\x00json_insert\x00json_object\x00json_patch\x00json_quote\x00json_remove\x00json_replace\x00json_set\x00json_type\x00json_valid\x00json_group_array\x00json_group_object\x00json_each\x00json_tree\x00%s_node\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\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\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\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\x00CREATE TABLE x(%.*s INT\x00,%.*s\x00);\x00,%.*s REAL\x00,%.*s INT\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\x00Mapping (%lld -> %lld) missing from %s table\x00%_rowid\x00%_parent\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\x00END\x00wrong number of arguments to function rtreecheck()\x00[\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\x00geopoly_area\x00geopoly_blob\x00geopoly_json\x00geopoly_svg\x00geopoly_contains_point\x00geopoly_debug\x00geopoly_bbox\x00geopoly_xform\x00geopoly_regular\x00geopoly_ccw\x00geopoly_group_bbox\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;\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\x00AND rootpage!=0 AND rootpage IS NOT NULL\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\x00table %q %s rbu_rowid column\x00may not have\x00requires\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%z%s\"%w\" %s %sCOLLATE %Q%s\x00 NOT NULL\x00%z, %z\x00CREATE TABLE \"rbu_imp_%w\"(%z)%s\x00 WITHOUT ROWID\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\x00SELECT %s, 0 AS rbu_control FROM '%q' %s %s %s ORDER BY %s%s\x00AND\x00WHERE\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_\x00INSERT INTO \"%s%w\"(%s%s) VALUES(%s)\x00, _rowid_\x00DELETE FROM \"%s%w\" WHERE %s\x00, rbu_rowid\x00CREATE TABLE IF NOT EXISTS %s.'rbu_tmp_%q' AS SELECT *%s FROM '%q' WHERE 0;\x00, 0 AS rbu_rowid\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\x00SELECT %s,%s rbu_control%s FROM '%q'%s %s %s %s\x000 AS \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\x00file:%s-vactmp?rbu_memory=1%s%s\x00&\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, %d), (%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\x00database modified during rbu %s\x00vacuum\x00update\x00BEGIN IMMEDIATE\x00PRAGMA journal_mode=off\x00-vactmp\x00DELETE FROM stat.rbu_state\x00rbu/zipvfs setup error\x00rbu(%s)/%z\x00rbu_memory\x00SELECT 0, 'tbl', '', 0, '', 1 UNION ALL SELECT 1, 'idx', '', 0, '', 2 UNION ALL SELECT 2, 'stat', '', 0, '', 0\x00PRAGMA '%q'.table_info('%q')\x00%z%s\"%w\".\"%w\".\"%w\"=\"%w\".\"%w\".\"%w\"\x00%z%s\"%w\".\"%w\".\"%w\" IS NOT \"%w\".\"%w\".\"%w\"\x00 OR \x00SELECT * FROM \"%w\".\"%w\" WHERE NOT EXISTS ( SELECT 1 FROM \"%w\".\"%w\" WHERE %s)\x00SELECT * FROM \"%w\".\"%w\", \"%w\".\"%w\" WHERE %s AND (%z)\x00table schemas do not match\x00SELECT tbl, ?2, stat FROM %Q.sqlite_stat1 WHERE tbl IS ?1 AND idx IS (CASE WHEN ?2=X'' THEN NULL ELSE ?2 END)\x00SELECT * FROM \x00 WHERE \x00 IS ?\x00SAVEPOINT changeset\x00RELEASE changeset\x00UPDATE main.\x00 SET \x00 = ?\x00idx IS CASE WHEN length(?4)=0 AND typeof(?4)='blob' THEN NULL ELSE ?4 END \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()\x00snippet\x00highlight\x00bm25\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\x00content_rowid\x00multiple content_rowid=... directives\x00columnsize\x00malformed columnsize=... directive\x00columns\x00malformed detail=... directive\x00unrecognized option: \"%.*s\"\x00reserved fts5 column name: %s\x00unindexed\x00unrecognized column option: %s\x00T.%Q\x00, T.%Q\x00, T.c%d\x00reserved fts5 table name: %s\x00parse error in \"%s\"\x00docsize\x00%Q.'%q_%s'\x00CREATE TABLE x(\x00%z%s%Q\x00%z, %Q HIDDEN, %s HIDDEN)\x00pgsz\x00hashsize\x00automerge\x00usermerge\x00crisismerge\x00SELECT k, v FROM %Q.'%q_config'\x00version\x00invalid fts5 file format (found %d, expected %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)\x00fts5: %s queries are not supported (detail!=full)\x00phrase\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=?\x00PRAGMA %Q.data_version\x00SELECT pgno FROM '%q'.'%q_idx' WHERE segid=? AND term<=? ORDER BY term DESC LIMIT 1\x00INSERT INTO '%q'.'%q_idx'(segid,term,pgno) VALUES(?,?,?)\x00%s_data\x00id INTEGER PRIMARY KEY, block BLOB\x00segid, term, pgno, PRIMARY KEY(segid, term)\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\x00SELECT rowid, rank FROM %Q.%Q ORDER BY %s(\"%w\"%s%s) %s\x00DESC\x00ASC\x00reads\x00unknown special query: %.*s\x00SELECT %s\x00no such function: %s\x00parse error in rank function: %s\x00%s: table does not support scanning\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\x00cannot %s contentless fts5 table: %s\x00DELETE from\x00no such cursor: %lld\x00no such tokenizer: %s\x00error in tokenizer constructor\x00fts5_api_ptr\x00fts5: 2022-03-26 13:51:10 d33c709cc0af66bc5b6dc6216eba9f1f0b40960b9ae83694c986fbf4c1d6f08f\x00config\x00fts5\x00fts5_source_id\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(?,?)\x00DELETE FROM %Q.'%q_docsize' WHERE id=?\x00SELECT sz FROM %Q.'%q_docsize' WHERE id=?\x00REPLACE INTO %Q.'%q_config' VALUES(?,?)\x00SELECT %s FROM %s AS T\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\x00id INTEGER PRIMARY KEY, sz BLOB\x00k PRIMARY KEY, v\x00DELETE FROM %Q.'%q_data';DELETE FROM %Q.'%q_idx';\x00DELETE FROM %Q.'%q_docsize';\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\x00ascii\x00porter\x00trigram\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\x002022-03-26 13:51:10 d33c709cc0af66bc5b6dc6216eba9f1f0b40960b9ae83694c986fbf4c1d6f08f\x00" var ts = (*reflect.StringHeader)(unsafe.Pointer(&ts1)).Data diff --git a/vendor/modules.txt b/vendor/modules.txt index cdd524b2..1dacd946 100644 --- a/vendor/modules.txt +++ b/vendor/modules.txt @@ -116,6 +116,23 @@ github.com/gorilla/schema # github.com/gorilla/websocket v1.5.0 ## explicit; go 1.12 github.com/gorilla/websocket +# github.com/graph-gophers/graphql-go v1.3.0 +## explicit; go 1.13 +github.com/graph-gophers/graphql-go +github.com/graph-gophers/graphql-go/decode +github.com/graph-gophers/graphql-go/errors +github.com/graph-gophers/graphql-go/internal/common +github.com/graph-gophers/graphql-go/internal/exec +github.com/graph-gophers/graphql-go/internal/exec/packer +github.com/graph-gophers/graphql-go/internal/exec/resolvable +github.com/graph-gophers/graphql-go/internal/exec/selected +github.com/graph-gophers/graphql-go/internal/query +github.com/graph-gophers/graphql-go/internal/schema +github.com/graph-gophers/graphql-go/internal/validation +github.com/graph-gophers/graphql-go/introspection +github.com/graph-gophers/graphql-go/log +github.com/graph-gophers/graphql-go/trace +github.com/graph-gophers/graphql-go/types # github.com/harmony-development/shibshib v0.0.0-20220101224523-c98059d09cfa ## explicit; go 1.15 github.com/harmony-development/shibshib @@ -174,13 +191,13 @@ github.com/klauspost/compress/internal/snapref github.com/klauspost/compress/s2 github.com/klauspost/compress/zstd github.com/klauspost/compress/zstd/internal/xxhash -# github.com/klauspost/cpuid/v2 v2.0.9 -## explicit; go 1.13 +# github.com/klauspost/cpuid/v2 v2.0.11 +## explicit; go 1.15 github.com/klauspost/cpuid/v2 # github.com/kyokomi/emoji/v2 v2.2.9 ## explicit; go 1.14 github.com/kyokomi/emoji/v2 -# github.com/labstack/echo/v4 v4.7.0 +# github.com/labstack/echo/v4 v4.7.2 ## explicit; go 1.17 github.com/labstack/echo/v4 github.com/labstack/echo/v4/middleware @@ -245,7 +262,7 @@ github.com/mattermost/mattermost-server/v5/shared/i18n github.com/mattermost/mattermost-server/v5/shared/markdown github.com/mattermost/mattermost-server/v5/shared/mlog github.com/mattermost/mattermost-server/v5/utils/jsonutils -# github.com/mattermost/mattermost-server/v6 v6.4.2 +# github.com/mattermost/mattermost-server/v6 v6.5.0 ## explicit; go 1.16 github.com/mattermost/mattermost-server/v6/model github.com/mattermost/mattermost-server/v6/services/timezones @@ -275,8 +292,8 @@ github.com/mgutz/ansi # github.com/minio/md5-simd v1.1.2 ## explicit; go 1.14 github.com/minio/md5-simd -# github.com/minio/minio-go/v7 v7.0.16 -## explicit; go 1.15 +# github.com/minio/minio-go/v7 v7.0.21 +## explicit; go 1.17 github.com/minio/minio-go/v7 github.com/minio/minio-go/v7/pkg/credentials github.com/minio/minio-go/v7/pkg/encrypt @@ -315,6 +332,11 @@ github.com/mrexodia/wray # github.com/nelsonken/gomf v0.0.0-20180504123937-a9dd2f9deae9 ## explicit github.com/nelsonken/gomf +# github.com/opentracing/opentracing-go v1.2.0 +## explicit; go 1.14 +github.com/opentracing/opentracing-go +github.com/opentracing/opentracing-go/ext +github.com/opentracing/opentracing-go/log # github.com/paulrosania/go-charset v0.0.0-20190326053356-55c9d7a5834c ## explicit github.com/paulrosania/go-charset/charset @@ -482,7 +504,7 @@ go.mau.fi/libsignal/util/errorhelper go.mau.fi/libsignal/util/keyhelper go.mau.fi/libsignal/util/medium go.mau.fi/libsignal/util/optional -# go.mau.fi/whatsmeow v0.0.0-20220319105109-ee347f8c0a14 +# go.mau.fi/whatsmeow v0.0.0-20220329131721-9f73bc00d158 ## explicit; go 1.17 go.mau.fi/whatsmeow go.mau.fi/whatsmeow/appstate @@ -563,7 +585,7 @@ golang.org/x/oauth2 golang.org/x/oauth2/clientcredentials golang.org/x/oauth2/internal golang.org/x/oauth2/microsoft -# golang.org/x/sys v0.0.0-20211216021012-1d35b9e2eb4e +# golang.org/x/sys v0.0.0-20220207234003-57398862261d ## explicit; go 1.17 golang.org/x/sys/cpu golang.org/x/sys/execabs @@ -599,7 +621,7 @@ golang.org/x/text/width # golang.org/x/time v0.0.0-20201208040808-7e3f01d25324 ## explicit golang.org/x/time/rate -# golang.org/x/tools v0.1.7 +# golang.org/x/tools v0.1.9 ## explicit; go 1.17 golang.org/x/tools/go/gcexportdata golang.org/x/tools/go/internal/gcimporter @@ -661,7 +683,7 @@ google.golang.org/protobuf/reflect/protoregistry google.golang.org/protobuf/runtime/protoiface google.golang.org/protobuf/runtime/protoimpl google.golang.org/protobuf/types/descriptorpb -# gopkg.in/ini.v1 v1.66.2 +# gopkg.in/ini.v1 v1.66.3 ## explicit gopkg.in/ini.v1 # gopkg.in/natefinch/lumberjack.v2 v2.0.0 @@ -688,10 +710,10 @@ lukechampine.com/uint128 # modernc.org/cc/v3 v3.35.24 ## explicit; go 1.15 modernc.org/cc/v3 -# modernc.org/ccgo/v3 v3.15.17 +# modernc.org/ccgo/v3 v3.15.18 ## explicit; go 1.16 modernc.org/ccgo/v3/lib -# modernc.org/libc v1.14.11 +# modernc.org/libc v1.14.12 ## explicit; go 1.16 modernc.org/libc modernc.org/libc/errno @@ -722,13 +744,13 @@ modernc.org/libc/wctype # modernc.org/mathutil v1.4.1 ## explicit; go 1.13 modernc.org/mathutil -# modernc.org/memory v1.0.6 +# modernc.org/memory v1.0.7 ## explicit; go 1.16 modernc.org/memory # modernc.org/opt v0.1.1 ## explicit; go 1.13 modernc.org/opt -# modernc.org/sqlite v1.15.2 +# modernc.org/sqlite v1.15.4 ## explicit; go 1.16 modernc.org/sqlite modernc.org/sqlite/lib -- cgit v1.2.3